ZGlmZiAtLWdpdCBhLy5naXRpZ25vcmUgYi8uZ2l0aWdub3JlCmluZGV4IGJhOWVlODUuLmZiM2RkNWIgMTAwNjQ0Ci0tLSBhLy5naXRpZ25vcmUKKysrIGIvLmdpdGlnbm9yZQpAQCAtOSwxMSArOSw4IEBACiAqfgogLmdkYl9oaXN0b3J5CiBEb2MvYnVpbGQvCi1Eb2MvdG9vbHMvZG9jdXRpbHMvCi1Eb2MvdG9vbHMvamluamEvCi1Eb2MvdG9vbHMvamluamEyLwotRG9jL3Rvb2xzL3B5Z21lbnRzLwotRG9jL3Rvb2xzL3NwaGlueC8KK0RvYy92ZW52LworTGliL2Rpc3R1dGlscy9jb21tYW5kLyoucGRiCiBMaWIvbGliMnRvMy8qLnBpY2tsZQogTGliL3Rlc3QvZGF0YS8qCiBMaWIvX3N5c2NvbmZpZ2RhdGEucHkKQEAgLTI3LDE4ICsyNCwzMCBAQAogTW9kdWxlcy9TZXR1cC5sb2NhbAogTW9kdWxlcy9jb25maWcuYwogTW9kdWxlcy9sZF9zb19haXgKLU1vZHVsZXMvX2ZyZWV6ZV9pbXBvcnRsaWIKLU1vZHVsZXMvX3Rlc3RlbWJlZAotUENidWlsZC8qLmJzYwotUENidWlsZC8qLmRsbAotUENidWlsZC8qLmV4ZQotUENidWlsZC8qLmV4cAotUENidWlsZC8qLmxpYgotUENidWlsZC8qLm5jYgotUENidWlsZC8qLm8KLVBDYnVpbGQvKi5wZGIKLVBDYnVpbGQvV2luMzItdGVtcC0qCitQcm9ncmFtcy9fZnJlZXplX2ltcG9ydGxpYgorUHJvZ3JhbXMvX3Rlc3RlbWJlZAorUEMvcHl0aG9uX250Ki5oCitQQy9weXRob25udF9yYyouaAorUEMvKi8qLmV4ZQorUEMvKi8qLmV4cAorUEMvKi8qLmxpYgorUEMvKi8qLmJzYworUEMvKi8qLmRsbAorUEMvKi8qLnBkYgorUEMvKi8qLnVzZXIKK1BDLyovKi5uY2IKK1BDLyovKi5zdW8KK1BDLyovV2luMzItdGVtcC0qCitQQy8qL3g2NC10ZW1wLSoKK1BDLyovYW1kNjQKK1BDYnVpbGQvKi51c2VyCitQQ2J1aWxkLyouc3VvCitQQ2J1aWxkLyouKnNkZgorUENidWlsZC8qLXBnaQorUENidWlsZC8qLXBnbwogUENidWlsZC9hbWQ2NC8KK1BDYnVpbGQvb2JqCitQQ0J1aWxkL3dpbjMyCiAucHVyaWZ5CiBQYXJzZXIvcGdlbgogX19weWNhY2hlX18KQEAgLTYxLDYgKzcwLDcgQEAKIHB5dGhvbgogcHl0aG9uLWNvbmZpZwogcHl0aG9uLWNvbmZpZy5weQorcHl0aG9uLmJhdAogcHl0aG9uLmV4ZQogcHl0aG9uLWdkYi5weQogcHl0aG9uLmV4ZS1nZGIucHkKQEAgLTcyLDMgKzgyLDYgQEAKIGNvdmVyYWdlLwogZXh0ZXJuYWxzLwogaHRtbGNvdi8KK1Rvb2xzL21zaS9vYmoKK1Rvb2xzL3NzbC9hbWQ2NAorVG9vbHMvc3NsL3dpbjMyCmRpZmYgLS1naXQgYS8uaGdpZ25vcmUgYi8uaGdpZ25vcmUKaW5kZXggOWU1YTU4My4uN2E1MjYwNiAxMDA2NDQKLS0tIGEvLmhnaWdub3JlCisrKyBiLy5oZ2lnbm9yZQpAQCAtOSw2ICs5LDcgQEAKIGF1dG9tNHRlLmNhY2hlJAogXmJ1aWxkLwogXkRvYy9idWlsZC8KK15Eb2MvdmVudi8KIGJ1aWxkbm8kCiBjb25maWcuY2FjaGUKIGNvbmZpZy5sb2cKQEAgLTE4LDYgKzE5LDcgQEAKIHBsYXRmb3JtJAogcHljb25maWcuaCQKIHB5dGhvbiQKK3B5dGhvbi5iYXQkCiBweXRob24uZXhlJAogcHl0aG9uLWNvbmZpZyQKIHB5dGhvbi1jb25maWcucHkkCkBAIC00OCwxMyArNTAsMTIgQEAKICoucHlkCiAqLmNvdmVyCiAqfgorTGliL2Rpc3R1dGlscy9jb21tYW5kLyoucGRiCiBMaWIvbGliMnRvMy8qLnBpY2tsZQogTGliL3Rlc3QvZGF0YS8qCiBNaXNjLyoud3B1CiBQQy9weXRob25fbnQqLmgKIFBDL3B5dGhvbm50X3JjKi5oCi1QQy8qLm9iagotUEMvKi5leGUKIFBDLyovKi5leGUKIFBDLyovKi5leHAKIFBDLyovKi5saWIKQEAgLTY3LDI5ICs2OCwyMCBAQAogUEMvKi9XaW4zMi10ZW1wLSoKIFBDLyoveDY0LXRlbXAtKgogUEMvKi9hbWQ2NAotUENidWlsZC8qLmV4ZQotUENidWlsZC8qLmRsbAotUENidWlsZC8qLnBkYgotUENidWlsZC8qLmxpYgotUENidWlsZC8qLmV4cAotUENidWlsZC8qLm8KLVBDYnVpbGQvKi5uY2IKLVBDYnVpbGQvKi5ic2MKIFBDYnVpbGQvKi51c2VyCiBQQ2J1aWxkLyouc3VvCiBQQ2J1aWxkLyouKnNkZgotUENidWlsZC9XaW4zMi10ZW1wLSoKLVBDYnVpbGQveDY0LXRlbXAtKgogUENidWlsZC8qLXBnaQogUENidWlsZC8qLXBnbwogUENidWlsZC9hbWQ2NAotUENidWlsZC9pcGNoCitQQ2J1aWxkL29iagorUENidWlsZC93aW4zMgogVG9vbHMvdW5pY29kZS9idWlsZC8KIFRvb2xzL3VuaWNvZGUvTUFQUElOR1MvCiBCdWlsZExvZy5odG0KIF9fcHljYWNoZV9fCi1Nb2R1bGVzL19mcmVlemVfaW1wb3J0bGliCi1Nb2R1bGVzL190ZXN0ZW1iZWQKK1Byb2dyYW1zL19mcmVlemVfaW1wb3J0bGliCitQcm9ncmFtcy9fdGVzdGVtYmVkCiAuY292ZXJhZ2UKIGNvdmVyYWdlLwogZXh0ZXJuYWxzLwpAQCAtOTgsMyArOTAsNiBAQAogKi5nY25vCiAqLmdjb3YKIGNvdmVyYWdlLmluZm8KK1Rvb2xzL21zaS9vYmoKK1Rvb2xzL3NzbC9hbWQ2NAorVG9vbHMvc3NsL3dpbjMyCmRpZmYgLS1naXQgYS8uaGd0YWdzIGIvLmhndGFncwppbmRleCBiMWU4ZWVlLi5hMmNhZjc3IDEwMDY0NAotLS0gYS8uaGd0YWdzCisrKyBiLy5oZ3RhZ3MKQEAgLTEsMTQ1ICsxLDE0NiBAQAotNjRjYzU0MzllMTBhNmZkZjk4NGVmZmFmMDE0MWU5NGZhNGNjMTAwNCB2MC45LjgKLTc4YTdlZDY5NTMwMjVlN2VjZGRlOTU4NTA5OWIwMWE2YWU0MGI3NmEgdjAuOS45Ci1iMTViOGNjOWI4ZDEwZTAzNTJhMGI4YjdlOGQ1MWZhMzA5ZGI2ZGYzIHYxLjAuMQotMDMyNmI1ZDYxNDQ1ZWUzYThkM2RlMjgxMTlmOTY1MmNiNzJkMmUzZiB2MS4wLjIKLTgzMjYxNWVjMDc2NDZlMzEwYzg1MzE2YjhiYTZiYzliMTdhZDM1NDcgdjEuMQotOTg5NTQ3NWQxOGM3YjVmMzJhZGFmNzhmNzE4ODZhZTA0MWU0ZDEwYyB2MS4xLjEKLTE2ZWI0YzUxZWU5NzE2OTA0NjM0MDk5OGU4NTBhNjNjNjUyMjViMGEgdjEuMmIxCi1iNDVjNjg4NzU2ZDA0ZmI4NGQ0YTBkNTE4ZmMzZDdlM2NiMjVmYThkIHYxLjJiMgotOWU4MmRhZjc2MDViYWQ3OTc2YTlhYmM5OTdjYjVlMGFiZTQzNDA3OCB2MS4yYjMKLTA2NWUzMWNmNTg2MmUyNzUyMWNmNTcyNWIwMDNhZWQyMTFmMDkxYjIgdjEuMmI0Ci1lNzIyNTdlNjU1NDU0ZDU2OTQ2OGRhOGIxMTg5ZTBlYzMzNmYzNTM2IHYxLjIKLWU2M2Q4M2Y4Mjc1ODUzYWFhYTNkMTk3MmNiODY1NjQ1MDVlNjU1ODMgdjEuM2IxCi03ZDc0M2M4NjVhOWFhNmJkZThiNjAzZTMyZTA1NDIwMzFiYmEzYzMzIHYxLjMKLTRmYzg1YzgyY2MyMjI1NTRhZTZiOWMwYjg3Nzc2ZWQ1ZjJiNzBjNmUgdjEuNGIxCi0xMjlmMTI5OWQ0ZTk3ZTg4NGJiYmJkZDAwYmFmMTAxZDE3ODk3M2U2IHYxLjRiMgotNDRhODJhYzY1NGE0MTc1NTY5ZGVlZDhlOGE5NGIwY2M4ZWRlZTA4ZCB2MS40YjMKLWRiNDk0OTRjOTNkYzczZGUwNmQ1NzIxYzc0ZWFiNTMzYTk0N2E5MmMgdjEuNAotMDYyYWVkOGE0Y2UyYzkxYzgxYjgwZTI5ZjAyZmFmZjFjZjVhNzYxYiB2MS41YTEKLWM5NDk4YWM5ODgzNzI1NzVjZjcwMjhiODYzOTViOTAwYzliMGE4NDAgdjEuNWEyCi1kYzVjOTY4ZWM5OTJhYWIzZDQwYTcxODlkZjBjNDQzZDFjN2ExYTY4IHYxLjVhMwotNzQ2NjU0YTBhZjY4MGM3ZDliODE0YjIxMGEwMjZlYjkxYmVjOTUzMyB2MS41YTQKLThmZjU4YjU3MzBmMDZiZTA4ZmJiZGMyYmY1OTIyMjZmN2E3MzYyMDEgdjEuNWIxCi1lYjc4NjU4ZDgxOWZiMGFmMDlhOGU2ZjliZWRjYjY3MDgwNWVkNWY2IHYxLjViMgotODQ0NjEwMTFhMWEwYWI0MDJlMzUyZjA2NzQ4ZjI5ZmI1YjU1NTllNSB2MS41Ci00NGFiYTRkMjZiMDFmYmFlMDQwM2VmZTY1NGY5ZmQwMzQ3NjA2NzMyIHYxLjUuMQotZmVkNjNjY2JlNmRjM2FjNjYzYmZlOTdhMmY3MDA2YjFiMjg1NjhmOSB2MS41LjJhMQotMjFkNzFmMmUyNzI0OGEwZjRlMzkzZDBmYzMyMWVjZjliODkzMjFkMiB2MS41LjJhMgotZjA4YzdhMmE1NmY4MDc0MWY1ZjE5MmZkMGViZTBiMDk2N2EyMDNjZiB2MS41LjJiMQotOGZlN2VjNGI0ZmMxNTE4ZmNhYzg5ZTZiZjY3NGZiYmNlMTYxNTBhOSB2MS41LjJiMgotMzlmYjBkY2M4M2RjMzc1YzE1NjViYTY1ZGJjZTBlZDU5YjEzNTljOSB2MS41LjJjMQotNjFjOTFjN2YxMDFiYWIzMTQ5YWRmY2Q1NjQ2YWU0MGUwNDhkZTcxMiB2MS41LjIKLTYwNWViOTMyNmZmZTFmZDFlNDNmNDBlMjMzOGQ2NjUyYWI0NDlmZGYgdjEuNmExCi0wMTFiZWU4ZmQ5ZjdmNGRhNDU3ZWM3MTU5NjQ4NGZiMDg4MmMwNjE0IHYxLjZhMgotMzVjNGZjMTQxNGE1OTg4ODYxNGI5YmU3ODRhMjVmMjMzYmE2Nzk4NCB2Mi4wYjEKLTU1YmJhMTk3ZDQ4NzBjZGFlNjJhZWNhMDBlMjAyNDBhNzU2Yjg0ZjggdjIuMGIyCi1lMjc2MzI5Y2NlMDM2YTVmOWU5ZDM0NTEyNTZkY2E1OTg0ZTU0M2RjIHYyLjBjMQotMmZhNGUzNTA4M2UwMjM0MmNhMDE0YmY1YmZiYTQ2YWVjYjgxNmMzMSB2Mi4wCi1iNjA4MzFlZWFiNWEwNmRkM2M1ZTgyOTdhOTllMzkyOTdhYTg3OTRiIHYyLjFhMQotYjM4MmYxZjA3ZWM2YjJjOTU1NTE2NThiMzBjNjEzOWVlYjMyMDc3YSB2Mi4xYTIKLWQwYzgzMGRiNWU2OGVkZDRhYWEzNDAxMjE2ZTYxMGM5ZmYxNDU4MjYgdjIuMWIxCi1iNTlhNTM2YWUxZWYzNzc0ZmQ4NWMxN2Y2MjNlODkyNmI3YjZjMDk1IHYyLjFiMgotZDYxMTI3NmU5YWQ1M2I1ZDMyZDFlODA2NWUxZDgxMWMzMmY3ZDk2ZiB2Mi4xYzEKLWZmMDY1ZTY3NGFmNmM5YWI4OTViZDllZmY3ZDllOTAzOWEzNzZjN2QgdjIuMWMyCi0wMjBlOTVkODE4MGQ3OTQzZmU1NDcwMWUxZGIwYTdkN2Q4N2UyYjFlIHYyLjEKLTA4Nzk2YTEzN2YxYWRhMjQ2MmY3YTMxNzczMDZkZjVmNjdhNzY3ZTEgdjIuMmEzCi1kMDU0YzI5NjQ3ZjkwYmNjYjgzNDViZDc3OWJjYTFlZWNmMmRkN2YyIHYyLjNjMQotZmNlNWM5ZTlhYmM3MjIzOTRjYjJlOTA5YjdlMmEzOTA4MGQ0NDQ4ZSB2Mi4zYzIKLTkyY2E2NThmZDQyMDA5NWI2Mjg0YzljZTZlOTA4MmE4MDI4NWVjOWMgdjIuNGExCi0wNTVmYzY5NTVmM2M2NTIyYmZlYjdlZDRjNjcxYzk3ZDViYWFhYWMyIHYyLjRhMgotMTg2YjcyNTUwZTUzNTMzZWY2MTc1ZjY0MTFmOTMyYzEyOTgxOTNkNyB2Mi40YTMKLTUzY2ZmMDQyODM4NTVhZGY4OGVkMGMwZmQzNjk4ODI3Y2E4NDM2MzcgdjIuNGIxCi03ZTM4N2E5ZGNjNzk5NTRhNzc2OTVhZGVmOGI1OTNkYTM1YmUxMjE0IHYyLjRiMgotZmY4MGQ4YmJlZjZlMTM0MjZjOGE4NWQ3ZjlkODM3YjhmOGY4OTgzNCB2Mi40YzEKLWYzMWUxOGQzMTNjN2E0ZmM2NjkxNGIyZDI3ZTEzMGEwZjcyYzBiNjkgdjIuNAotY2QzZjc4M2NkMDhhMTY3ODFlMjM2YzBiOWNiNTcxN2QxZDk5NWZhOSB2My4wYTEKLTY1ZTgyMTQwZTI4MWJmMjZmMmUyMmVkYTA1YTdmOTk1NmM0MjBmOGIgdjMuMGEyCi1kZjE1ODI3ZjM0ODgxYjlhZjA5MzYzNTA4MTNjZWQ1YzEyM2M4MjMwIHYzLjBhMwotMTVmNzczZjczMDBlMzcyYzU2YTIxZDU5ZmU0OWNhMjY5NTVhNjQ3NyB2My4wYTQKLWUzNTkzNTQ3NTE1MzM3N2Q2NzI3ZDY0ZTZjNTJmNzJjM2I4NDAxNWIgdjMuMGE1Ci1hMzM1YzRkNjQzYjFjZmUxNDE5N2E5ZWYxOTVjOWIyODA0ZjYwOGZjIHYzLjBiMQotMTZlYzRiYjE0YTY4ZWE0MjhhY2YwOWViZjBjOTI5ODFkYTI2NDZmMyB2My4wYjIKLTUwOWUzMGE3OTY4ZTAxYmUzMjllYzEyMTU0MGIzZTc1NWZjNGU1NjYgdjMuMGIzCi01MDdlZGU5YzdmN2Y0NzVkZmFmYmQ0YTUyYzIyZDc2N2QxMGEyYmMwIHYzLjByYzEKLThmYWU0NjVhMzk2MjdiNTkwMzg1NDYyZTYwOTVlYjYzYWY0NTI0MGEgdjMuMHJjMgotZTgzYTYwYzY5ZDUzZjU1NTFhMzA2ZTc3YTZkMzhlOWIxMTQ4NTQ5NiB2My4wcmMzCi1iYzFjZTM2ODk4NmU0NWIxZmFmOTZmOTM5OTVkZjQ2YmNkNzVlN2I4IHYzLjFhMQotZWU0MzBlNTA3NWRiMmFkZjgxMjRlNmI5NDkxNmE4OWNhNDFkMzE3MSB2My4xYTIKLWI2MzAyMDc5N2Y5Njc4YWRhZjRkMmMzZTI2NTc0YTllZWYyZWYwMjggdjMuMWIxCi00MzUzZmQwODQzY2IzMWIzNTZhZGM1MGY5M2QyMjBlMmU3MjU1ZWYyIHYzLjFyYzEKLTBiODdlNDM4ZTFiNTNlM2Y4MTJjYWQ5NjNhN2ZkYjY1ZDE5OGJhMmYgdjMuMXJjMgotYTY5YTAzMWFjMTQwMmRlZGU4YjFlZjgwMDk2NDM2YmNhNmQzNzFmMyB2My4xCi0zNWVmYjEwNTRlYzZjZWNhNzIwMTdhNTg3MjYzY2I2YTkyNTczNDBiIHYzLjEuMXJjMQotOGI5YzBmNTczYWIyOWM0MWM2YzVmZGNjYTgyYTFmZTBmZjUzNTVhZiB2My4xLjEKLTE0OWI4Yjg3NTE0ZDEwNDE2YjU5ODg4NGRiNWY3NDY1MWY2MjViMzggdjMuMS4ycmMxCi05NjBlZmEzMjdjNWQ5YzE4ZGY5OTU0MzdiMGFjNTUwY2I4OWM5Zjg1IHYzLjEuMgotZDE4ZTlkNzFmMzY5ZDgyMTFmNmFjODcyNTJjNmQzMjExZjliZDA5ZiB2My4xLjNyYzEKLWE0Zjc1NzczYzAwNjBjZWUzOGIwYmI2NTFhN2FiYTZmNTZiMGU5OTYgdjMuMS4zCi0zMmZjYjllOTQ5ODVjYjE5Y2UzN2JhOTU0M2YwOTFjMGRiZTlkN2RkIHYzLjEuNHJjMQotYzkxOGVjOWYzYTc2ZDZhZmVkZmJiNWQ0NTUwMDRkZTg4MDQ0M2EzZCB2My4xLjQKLWVlMjZhY2EzMjE5Y2Y0YmIwYjkzMzUyZTgzZWRjYzljYjI4Yzc4MDIgdjMuMS41cmMxCi03NWRiMmJjNjlmYzlhM2U0ODAxZTk0ZTNlMTk4MDFjYjA5NjIwOGQ4IHYzLjEuNXJjMgotNzM5NTMzMGU0OTVlYzMzMTY4NjJjYTFmNmNlMGFhZjdiZGY2Nzg1YiB2My4xLjUKLWIzN2I3ODM0NzU3NDkyZDAwOWI5OWNmMGNhNGQ0MmQyMTUzZDdmYWMgdjMuMmExCi01NmQ0MzczY2VjYjczYzhiNDUxMjZiYTdiMDQ1YjNjN2IzZjk0YjBiIHYzLjJhMgotZGEwMTJkOWEyYzIzZDE0NGUzOTlkMmUwMWE1NWI4YTgzYWQ5NDU3MyB2My4yYTMKLWQ5MmE1Yjg1MGY1ZTU2ODA4YmVkYzAxNzIzOTA2ZWQ2NGM1ZTZlMmUgdjMuMmE0Ci1iNjM1Y2VhOTQxOTU3ODBjODcxNmUyMzY0NzlhZjMxOWJjYzI2MjUzIHYzLjJiMQotZTNhZjVmM2E3OTA0YzBkNTM0M2VjOTYzM2VhNjZlN2FjZmQyM2E2NiB2My4yYjIKLTg2NWQ1YjI0YmYyOGNhNDFiNTM2YmVmYzMyNjQwN2MwM2U3NGE0ZDUgdjMuMnJjMQotYWNmM2UyNGRkMGQwZGZkMWUyMGM5MDdkNjk2ZDNkYTk2NWE4ZjU2ZiB2My4ycmMyCi0xOGMxZjUyODk2NTAxYzdlZTEzYjAzODQ1NGEzOWFjYjQ1YTg3OTc5IHYzLjJyYzMKLWEyMjJhMDE1ZTI4ZDhhZTlhZjM4OTkyNThkYzZjMTVjM2Q0MGFkZDAgdjMuMgotOGZmYWMyMzM3YTMzMjMzMjNkMDIxNTNhYzkxOWZkMTQ4MzE3NjY1MiB2My4yLjFiMQotY2ZhOTM2NDk5N2M3ZjJlNjdiOWNiYjQ1YzNhNWZhM2JiYTRlNDk5OSB2My4yLjFyYzEKLTVkZjU0OTcxOGZiNDg0MWZmNTIxZmUwNTFmNmI1NGYyOTBmYWQ1ZDggdjMuMi4xcmMyCi1hYzFmN2U1YzA1MTA0ZDU1N2Q1YWNkOTIyZTk1NjI1YmE1ZDFmZTEwIHYzLjIuMQotYzg2MGZlYWEzNDhkNjYzZTU5ODk4Njg5NGVlNDY4MDQ4MDU3N2UxNSB2My4yLjJyYzEKLTEzN2U0NWYxNWMwYmQyNjJjOWFkNGMwMzJkOTc0MjViYzA1ODk0NTYgdjMuMi4yCi03MDg1NDAzZGFmNDM5YWRiM2Y5ZTcwZWYxM2Y2YmVkYjFjNDQ3Mzc2IHYzLjIuM3JjMQotNDI4ZjA1Y2I3Mjc3ZTFkNDJiYjlkZDhkMWFmNmI2MjcwZWJjNjExMiB2My4yLjNyYzIKLTNkMDY4NmQ5MGY1NWE3OGY5NmQ5NDAzZGEyYzUyZGMyNDExNDE5ZDAgdjMuMi4zCi1iMmNiN2JjMWVkYjg0OTNjMGE3OGY5MzMxZWFlM2U4ZmJhNmE4ODFkIHYzLjIuNHJjMQotMWUxMGJkZWFiZTNkZTAyZjAzOGE2M2MwMDE5MTE1NjFhYzFkMTNhNyB2My4yLjQKLWNlZjc0NTc3NWI2NTgzNDQ2NTcyY2ZmYWQ3MDQxMDA5ODNkYjJiZWEgdjMuMi41Ci01MTM4MmE1NTk4ZWM5NjExOWNiODQ1OTQ1NzI5MDFjOWM5NjRkYzNjIHYzLjIuNnJjMQotMGJkNWY0ZjE0ZGU5NjVjYThlNDRjNmUzOTY1ZmVlMTA2MTc2Y2ZjNCB2My4yLjYKLWYxYTlhNjUwNTczMTcxNGYwZTE1NzQ1M2ZmODUwZTNiNzE2MTVjNDUgdjMuMy4wYTEKLTJmNjlkYjUyZDZkZTMwNmNkYWVmMGEwY2MwMGNjODIzZmIzNTBiMDEgdjMuMy4wYTIKLTBiNTNiNzBhNDBhMDAwMTM1MDVlYjM1ZTM2NjAwNTdiNjJiZTc3YmUgdjMuMy4wYTMKLTdjNTEzODhhM2FhN2NlNzZhODU0MWJiYmRmYzA1ZDJkMjU5YTE2MmMgdjMuMy4wYTQKLWUxNWM1NTRjZDQzZWIyM2JjMGE1MjhhNGU4NzQxZGE5YmJlYzk2MDcgdjMuMy4wYjEKLTQ5NzJhOGYxYjJhYTNkN2NkZDY0ZGM5NmFhN2ZhMTEyZmUxZWEzNDMgdjMuMy4wYjIKLThiYjVjN2JjNDZiYTQzODA0NDgwZjNlMzI4ZTFmYTk1NjY3MmM4ODUgdjMuMy4wcmMxCi04OGEwNzkyZThiYTNlNDkxNmIyNGM3ZTdhNTIyYzI3N2QzMjZkNjZlIHYzLjMuMHJjMgotYzE5MWQyMWNlZmFmYjM4MzJjNDU1NzBlODQ4NTRlMzA5YWE2MmVhYSB2My4zLjByYzMKLWJkOGFmYjkwZWJmMjhiYTRlZGM5MDFkNGEyMzVmNzVlN2JiYzc5ZmQgdjMuMy4wCi05MmMyY2ZiOTI0MDU1Y2U2OGM0Zjc4ZjgzNmRjZmU2ODg0MzdjZWI4IHYzLjMuMXJjMQotZDk4OTNkMTNjNjI4OWFhMDNkMzM1NTllYzY3Zjk3ZGNiZjVjOWUzYyB2My4zLjEKLWQwNDc5MjhhZTNmNjMxNGExM2I2MTM3MDUxMzE1NDUzZDBhZTg5YjYgdjMuMy4yCi1mZDUzYzUwMGY4YjgwZjU0ZjNlY2VkZWM5ZGEyZThjN2U1MmE2ODg4IHYzLjMuM3JjMQotZDMyNDQyYzBlNjBkZmJkNzEyMzRlODA3ZDNkMWRlZGQyMjc0OTVhOSB2My4zLjNyYzIKLWMzODk2Mjc1YzBmNjFiMjUxMGE2YzdlNmM0NThhNzUwMzU5YTkxYjggdjMuMy4zCi1mYTkyZjVmOTQwYzZjMGQ4MzlkN2YwNjExZTRiNzE3NjA2NTA0YTNjIHYzLjMuNHJjMQotN2ZmNjI0MTVlNDI2M2M0MzJjOGFjZjZlNDI0MjI0MjA5MjExZWFkYiB2My4zLjQKLTllYzgxMWRmNTQ4ZWQxNTRhOWJmOTgxNTM4M2E5MTZkNmRmMzFiOTggdjMuMy41cmMxCi1jYTU2MzVlZmUwOTBmNzg4MDYxODhhYzI3NThmOTk0ODU5NmFhOGIyIHYzLjMuNXJjMgotNjJjZjRlNzdmNzg1NjQ3MTRlN2VhM2Q0YmYxNDc5Y2ExZmJkMDc1OCB2My4zLjUKLTUxMzE3Yzk3ODZmNTQyNjc5NzVhYmYyZTljNTAyZTZhYWFhNGEyNDkgdjMuMy42cmMxCi05NzFmZWMzMGRhMWZjNWJmMmI5ZmIyOGUwOTgxMmE1MTI3MDE0MjExIHYzLjMuNgotNDY1MzVmNjVlN2YzYmNkY2YxNzZmMzZkMzRiYzFmZWQ3MTlmZmQyYiB2My40LjBhMQotOTI2NWEyMTY4ZTJjYjJhODQ3ODVkODcxNzc5MmFjYzY2MWU2YjY5MiB2My40LjBhMgotZGQ5Y2RmOTBhNTA3MzUxMDg3N2U5ZGQ1MTEyZjhlNmNmMjBkNWU4OSB2My40LjBhMwotZTI0NWIwZDcyMDliYjZkMGUxOTMxNmUxZTJhZjFhYTljMjEzOTEwNCB2My40LjBhNAotMzQwNWRjOWE2YWZhYTBhMDZkZDFmNmYxODJlYzVjOTk4ZGNlNmY1ZiB2My40LjBiMQotYmEzMjkxM2ViMTNlYzU0NWE0NmRkMGNlMTgwMzViNmM0MTZmMGQ3OCB2My40LjBiMgotYTk3Y2UzZWNjOTZhZjc5YmQyZTFhYzY2Y2U0OGQ5MTM4ZTBjYTc0OSB2My40LjBiMwotNWUwODhjZWE4NjYwNjc3OTY5MTEzNzQxYzEzMTNkNTcwZDk3N2UwMiB2My40LjByYzEKLWEzMDA3MTJlZDM4YzlhMjQyYjczNmM0NGU4MDZjYWVhMjVhNmRjMDUgdjMuNC4wcmMyCi04YTgxY2RhYjNlOWQ1MjFkYWFlZjk4OWZhZGU5NGIxNjQ1NWZjM2I4IHYzLjQuMHJjMwotMDRmNzE0NzY1YzEzODI0YzNiYzI4MzVkN2IwMDg5MDg4NjJlMDgzYSB2My40LjAKLWM2N2ExOWUxMWE3MTkxYmFmMzBmMzEzYmY1NWUyZTBiNmM2ZjU3NGUgdjMuNC4xcmMxCi1jMGUzMTFlMDEwZmNiNWJhZThkODdjYTIyMDUxY2QwODQ1ZWEwY2EwIHYzLjQuMQotODcxMWEwOTUxMzg0OGNmYzQ4YzY4OWQ5ODM0OTVlZTY0ZjQ2NjhjYSB2My40LjJyYzEKLWFiMmMwMjNhOTQzMmYxNjY1MmU4OWM0MDRiYmM4NGFhOTFiZjU1YWYgdjMuNC4yCi02OWRkNTI4Y2E2MjU1YTY2YzM3Y2M1Y2Y2ODBlODM1N2QxMDhiMDM2IHYzLjQuM3JjMQorNjRjYzU0MzllMTBhNmZkZjk4NGVmZmFmMDE0MWU5NGZhNGNjMTAwNCB2MC45LjgNCis3OGE3ZWQ2OTUzMDI1ZTdlY2RkZTk1ODUwOTliMDFhNmFlNDBiNzZhIHYwLjkuOQ0KK2IxNWI4Y2M5YjhkMTBlMDM1MmEwYjhiN2U4ZDUxZmEzMDlkYjZkZjMgdjEuMC4xDQorMDMyNmI1ZDYxNDQ1ZWUzYThkM2RlMjgxMTlmOTY1MmNiNzJkMmUzZiB2MS4wLjINCis4MzI2MTVlYzA3NjQ2ZTMxMGM4NTMxNmI4YmE2YmM5YjE3YWQzNTQ3IHYxLjENCis5ODk1NDc1ZDE4YzdiNWYzMmFkYWY3OGY3MTg4NmFlMDQxZTRkMTBjIHYxLjEuMQ0KKzE2ZWI0YzUxZWU5NzE2OTA0NjM0MDk5OGU4NTBhNjNjNjUyMjViMGEgdjEuMmIxDQorYjQ1YzY4ODc1NmQwNGZiODRkNGEwZDUxOGZjM2Q3ZTNjYjI1ZmE4ZCB2MS4yYjINCis5ZTgyZGFmNzYwNWJhZDc5NzZhOWFiYzk5N2NiNWUwYWJlNDM0MDc4IHYxLjJiMw0KKzA2NWUzMWNmNTg2MmUyNzUyMWNmNTcyNWIwMDNhZWQyMTFmMDkxYjIgdjEuMmI0DQorZTcyMjU3ZTY1NTQ1NGQ1Njk0NjhkYThiMTE4OWUwZWMzMzZmMzUzNiB2MS4yDQorZTYzZDgzZjgyNzU4NTNhYWFhM2QxOTcyY2I4NjU2NDUwNWU2NTU4MyB2MS4zYjENCis3ZDc0M2M4NjVhOWFhNmJkZThiNjAzZTMyZTA1NDIwMzFiYmEzYzMzIHYxLjMNCis0ZmM4NWM4MmNjMjIyNTU0YWU2YjljMGI4Nzc3NmVkNWYyYjcwYzZlIHYxLjRiMQ0KKzEyOWYxMjk5ZDRlOTdlODg0YmJiYmRkMDBiYWYxMDFkMTc4OTczZTYgdjEuNGIyDQorNDRhODJhYzY1NGE0MTc1NTY5ZGVlZDhlOGE5NGIwY2M4ZWRlZTA4ZCB2MS40YjMNCitkYjQ5NDk0YzkzZGM3M2RlMDZkNTcyMWM3NGVhYjUzM2E5NDdhOTJjIHYxLjQNCiswNjJhZWQ4YTRjZTJjOTFjODFiODBlMjlmMDJmYWZmMWNmNWE3NjFiIHYxLjVhMQ0KK2M5NDk4YWM5ODgzNzI1NzVjZjcwMjhiODYzOTViOTAwYzliMGE4NDAgdjEuNWEyDQorZGM1Yzk2OGVjOTkyYWFiM2Q0MGE3MTg5ZGYwYzQ0M2QxYzdhMWE2OCB2MS41YTMNCis3NDY2NTRhMGFmNjgwYzdkOWI4MTRiMjEwYTAyNmViOTFiZWM5NTMzIHYxLjVhNA0KKzhmZjU4YjU3MzBmMDZiZTA4ZmJiZGMyYmY1OTIyMjZmN2E3MzYyMDEgdjEuNWIxDQorZWI3ODY1OGQ4MTlmYjBhZjA5YThlNmY5YmVkY2I2NzA4MDVlZDVmNiB2MS41YjINCis4NDQ2MTAxMWExYTBhYjQwMmUzNTJmMDY3NDhmMjlmYjViNTU1OWU1IHYxLjUNCis0NGFiYTRkMjZiMDFmYmFlMDQwM2VmZTY1NGY5ZmQwMzQ3NjA2NzMyIHYxLjUuMQ0KK2ZlZDYzY2NiZTZkYzNhYzY2M2JmZTk3YTJmNzAwNmIxYjI4NTY4ZjkgdjEuNS4yYTENCisyMWQ3MWYyZTI3MjQ4YTBmNGUzOTNkMGZjMzIxZWNmOWI4OTMyMWQyIHYxLjUuMmEyDQorZjA4YzdhMmE1NmY4MDc0MWY1ZjE5MmZkMGViZTBiMDk2N2EyMDNjZiB2MS41LjJiMQ0KKzhmZTdlYzRiNGZjMTUxOGZjYWM4OWU2YmY2NzRmYmJjZTE2MTUwYTkgdjEuNS4yYjINCiszOWZiMGRjYzgzZGMzNzVjMTU2NWJhNjVkYmNlMGVkNTliMTM1OWM5IHYxLjUuMmMxDQorNjFjOTFjN2YxMDFiYWIzMTQ5YWRmY2Q1NjQ2YWU0MGUwNDhkZTcxMiB2MS41LjINCis2MDVlYjkzMjZmZmUxZmQxZTQzZjQwZTIzMzhkNjY1MmFiNDQ5ZmRmIHYxLjZhMQ0KKzAxMWJlZThmZDlmN2Y0ZGE0NTdlYzcxNTk2NDg0ZmIwODgyYzA2MTQgdjEuNmEyDQorMzVjNGZjMTQxNGE1OTg4ODYxNGI5YmU3ODRhMjVmMjMzYmE2Nzk4NCB2Mi4wYjENCis1NWJiYTE5N2Q0ODcwY2RhZTYyYWVjYTAwZTIwMjQwYTc1NmI4NGY4IHYyLjBiMg0KK2UyNzYzMjljY2UwMzZhNWY5ZTlkMzQ1MTI1NmRjYTU5ODRlNTQzZGMgdjIuMGMxDQorMmZhNGUzNTA4M2UwMjM0MmNhMDE0YmY1YmZiYTQ2YWVjYjgxNmMzMSB2Mi4wDQorYjYwODMxZWVhYjVhMDZkZDNjNWU4Mjk3YTk5ZTM5Mjk3YWE4Nzk0YiB2Mi4xYTENCitiMzgyZjFmMDdlYzZiMmM5NTU1MTY1OGIzMGM2MTM5ZWViMzIwNzdhIHYyLjFhMg0KK2QwYzgzMGRiNWU2OGVkZDRhYWEzNDAxMjE2ZTYxMGM5ZmYxNDU4MjYgdjIuMWIxDQorYjU5YTUzNmFlMWVmMzc3NGZkODVjMTdmNjIzZTg5MjZiN2I2YzA5NSB2Mi4xYjINCitkNjExMjc2ZTlhZDUzYjVkMzJkMWU4MDY1ZTFkODExYzMyZjdkOTZmIHYyLjFjMQ0KK2ZmMDY1ZTY3NGFmNmM5YWI4OTViZDllZmY3ZDllOTAzOWEzNzZjN2QgdjIuMWMyDQorMDIwZTk1ZDgxODBkNzk0M2ZlNTQ3MDFlMWRiMGE3ZDdkODdlMmIxZSB2Mi4xDQorMDg3OTZhMTM3ZjFhZGEyNDYyZjdhMzE3NzMwNmRmNWY2N2E3NjdlMSB2Mi4yYTMNCitkMDU0YzI5NjQ3ZjkwYmNjYjgzNDViZDc3OWJjYTFlZWNmMmRkN2YyIHYyLjNjMQ0KK2ZjZTVjOWU5YWJjNzIyMzk0Y2IyZTkwOWI3ZTJhMzkwODBkNDQ0OGUgdjIuM2MyDQorOTJjYTY1OGZkNDIwMDk1YjYyODRjOWNlNmU5MDgyYTgwMjg1ZWM5YyB2Mi40YTENCiswNTVmYzY5NTVmM2M2NTIyYmZlYjdlZDRjNjcxYzk3ZDViYWFhYWMyIHYyLjRhMg0KKzE4NmI3MjU1MGU1MzUzM2VmNjE3NWY2NDExZjkzMmMxMjk4MTkzZDcgdjIuNGEzDQorNTNjZmYwNDI4Mzg1NWFkZjg4ZWQwYzBmZDM2OTg4MjdjYTg0MzYzNyB2Mi40YjENCis3ZTM4N2E5ZGNjNzk5NTRhNzc2OTVhZGVmOGI1OTNkYTM1YmUxMjE0IHYyLjRiMg0KK2ZmODBkOGJiZWY2ZTEzNDI2YzhhODVkN2Y5ZDgzN2I4ZjhmODk4MzQgdjIuNGMxDQorZjMxZTE4ZDMxM2M3YTRmYzY2OTE0YjJkMjdlMTMwYTBmNzJjMGI2OSB2Mi40DQorY2QzZjc4M2NkMDhhMTY3ODFlMjM2YzBiOWNiNTcxN2QxZDk5NWZhOSB2My4wYTENCis2NWU4MjE0MGUyODFiZjI2ZjJlMjJlZGEwNWE3Zjk5NTZjNDIwZjhiIHYzLjBhMg0KK2RmMTU4MjdmMzQ4ODFiOWFmMDkzNjM1MDgxM2NlZDVjMTIzYzgyMzAgdjMuMGEzDQorMTVmNzczZjczMDBlMzcyYzU2YTIxZDU5ZmU0OWNhMjY5NTVhNjQ3NyB2My4wYTQNCitlMzU5MzU0NzUxNTMzNzdkNjcyN2Q2NGU2YzUyZjcyYzNiODQwMTViIHYzLjBhNQ0KK2EzMzVjNGQ2NDNiMWNmZTE0MTk3YTllZjE5NWM5YjI4MDRmNjA4ZmMgdjMuMGIxDQorMTZlYzRiYjE0YTY4ZWE0MjhhY2YwOWViZjBjOTI5ODFkYTI2NDZmMyB2My4wYjINCis1MDllMzBhNzk2OGUwMWJlMzI5ZWMxMjE1NDBiM2U3NTVmYzRlNTY2IHYzLjBiMw0KKzUwN2VkZTljN2Y3ZjQ3NWRmYWZiZDRhNTJjMjJkNzY3ZDEwYTJiYzAgdjMuMHJjMQ0KKzhmYWU0NjVhMzk2MjdiNTkwMzg1NDYyZTYwOTVlYjYzYWY0NTI0MGEgdjMuMHJjMg0KK2U4M2E2MGM2OWQ1M2Y1NTUxYTMwNmU3N2E2ZDM4ZTliMTE0ODU0OTYgdjMuMHJjMw0KK2JjMWNlMzY4OTg2ZTQ1YjFmYWY5NmY5Mzk5NWRmNDZiY2Q3NWU3YjggdjMuMWExDQorZWU0MzBlNTA3NWRiMmFkZjgxMjRlNmI5NDkxNmE4OWNhNDFkMzE3MSB2My4xYTINCitiNjMwMjA3OTdmOTY3OGFkYWY0ZDJjM2UyNjU3NGE5ZWVmMmVmMDI4IHYzLjFiMQ0KKzQzNTNmZDA4NDNjYjMxYjM1NmFkYzUwZjkzZDIyMGUyZTcyNTVlZjIgdjMuMXJjMQ0KKzBiODdlNDM4ZTFiNTNlM2Y4MTJjYWQ5NjNhN2ZkYjY1ZDE5OGJhMmYgdjMuMXJjMg0KK2E2OWEwMzFhYzE0MDJkZWRlOGIxZWY4MDA5NjQzNmJjYTZkMzcxZjMgdjMuMQ0KKzM1ZWZiMTA1NGVjNmNlY2E3MjAxN2E1ODcyNjNjYjZhOTI1NzM0MGIgdjMuMS4xcmMxDQorOGI5YzBmNTczYWIyOWM0MWM2YzVmZGNjYTgyYTFmZTBmZjUzNTVhZiB2My4xLjENCisxNDliOGI4NzUxNGQxMDQxNmI1OTg4ODRkYjVmNzQ2NTFmNjI1YjM4IHYzLjEuMnJjMQ0KKzk2MGVmYTMyN2M1ZDljMThkZjk5NTQzN2IwYWM1NTBjYjg5YzlmODUgdjMuMS4yDQorZDE4ZTlkNzFmMzY5ZDgyMTFmNmFjODcyNTJjNmQzMjExZjliZDA5ZiB2My4xLjNyYzENCithNGY3NTc3M2MwMDYwY2VlMzhiMGJiNjUxYTdhYmE2ZjU2YjBlOTk2IHYzLjEuMw0KKzMyZmNiOWU5NDk4NWNiMTljZTM3YmE5NTQzZjA5MWMwZGJlOWQ3ZGQgdjMuMS40cmMxDQorYzkxOGVjOWYzYTc2ZDZhZmVkZmJiNWQ0NTUwMDRkZTg4MDQ0M2EzZCB2My4xLjQNCitlZTI2YWNhMzIxOWNmNGJiMGI5MzM1MmU4M2VkY2M5Y2IyOGM3ODAyIHYzLjEuNXJjMQ0KKzc1ZGIyYmM2OWZjOWEzZTQ4MDFlOTRlM2UxOTgwMWNiMDk2MjA4ZDggdjMuMS41cmMyDQorNzM5NTMzMGU0OTVlYzMzMTY4NjJjYTFmNmNlMGFhZjdiZGY2Nzg1YiB2My4xLjUNCitiMzdiNzgzNDc1NzQ5MmQwMDliOTljZjBjYTRkNDJkMjE1M2Q3ZmFjIHYzLjJhMQ0KKzU2ZDQzNzNjZWNiNzNjOGI0NTEyNmJhN2IwNDViM2M3YjNmOTRiMGIgdjMuMmEyDQorZGEwMTJkOWEyYzIzZDE0NGUzOTlkMmUwMWE1NWI4YTgzYWQ5NDU3MyB2My4yYTMNCitkOTJhNWI4NTBmNWU1NjgwOGJlZGMwMTcyMzkwNmVkNjRjNWU2ZTJlIHYzLjJhNA0KK2I2MzVjZWE5NDE5NTc4MGM4NzE2ZTIzNjQ3OWFmMzE5YmNjMjYyNTMgdjMuMmIxDQorZTNhZjVmM2E3OTA0YzBkNTM0M2VjOTYzM2VhNjZlN2FjZmQyM2E2NiB2My4yYjINCis4NjVkNWIyNGJmMjhjYTQxYjUzNmJlZmMzMjY0MDdjMDNlNzRhNGQ1IHYzLjJyYzENCithY2YzZTI0ZGQwZDBkZmQxZTIwYzkwN2Q2OTZkM2RhOTY1YThmNTZmIHYzLjJyYzINCisxOGMxZjUyODk2NTAxYzdlZTEzYjAzODQ1NGEzOWFjYjQ1YTg3OTc5IHYzLjJyYzMNCithMjIyYTAxNWUyOGQ4YWU5YWYzODk5MjU4ZGM2YzE1YzNkNDBhZGQwIHYzLjINCis4ZmZhYzIzMzdhMzMyMzMyM2QwMjE1M2FjOTE5ZmQxNDgzMTc2NjUyIHYzLjIuMWIxDQorY2ZhOTM2NDk5N2M3ZjJlNjdiOWNiYjQ1YzNhNWZhM2JiYTRlNDk5OSB2My4yLjFyYzENCis1ZGY1NDk3MThmYjQ4NDFmZjUyMWZlMDUxZjZiNTRmMjkwZmFkNWQ4IHYzLjIuMXJjMg0KK2FjMWY3ZTVjMDUxMDRkNTU3ZDVhY2Q5MjJlOTU2MjViYTVkMWZlMTAgdjMuMi4xDQorYzg2MGZlYWEzNDhkNjYzZTU5ODk4Njg5NGVlNDY4MDQ4MDU3N2UxNSB2My4yLjJyYzENCisxMzdlNDVmMTVjMGJkMjYyYzlhZDRjMDMyZDk3NDI1YmMwNTg5NDU2IHYzLjIuMg0KKzcwODU0MDNkYWY0MzlhZGIzZjllNzBlZjEzZjZiZWRiMWM0NDczNzYgdjMuMi4zcmMxDQorNDI4ZjA1Y2I3Mjc3ZTFkNDJiYjlkZDhkMWFmNmI2MjcwZWJjNjExMiB2My4yLjNyYzINCiszZDA2ODZkOTBmNTVhNzhmOTZkOTQwM2RhMmM1MmRjMjQxMTQxOWQwIHYzLjIuMw0KK2IyY2I3YmMxZWRiODQ5M2MwYTc4ZjkzMzFlYWUzZThmYmE2YTg4MWQgdjMuMi40cmMxDQorMWUxMGJkZWFiZTNkZTAyZjAzOGE2M2MwMDE5MTE1NjFhYzFkMTNhNyB2My4yLjQNCitjZWY3NDU3NzViNjU4MzQ0NjU3MmNmZmFkNzA0MTAwOTgzZGIyYmVhIHYzLjIuNQ0KKzUxMzgyYTU1OThlYzk2MTE5Y2I4NDU5NDU3MjkwMWM5Yzk2NGRjM2MgdjMuMi42cmMxDQorMGJkNWY0ZjE0ZGU5NjVjYThlNDRjNmUzOTY1ZmVlMTA2MTc2Y2ZjNCB2My4yLjYNCitmMWE5YTY1MDU3MzE3MTRmMGUxNTc0NTNmZjg1MGUzYjcxNjE1YzQ1IHYzLjMuMGExDQorMmY2OWRiNTJkNmRlMzA2Y2RhZWYwYTBjYzAwY2M4MjNmYjM1MGIwMSB2My4zLjBhMg0KKzBiNTNiNzBhNDBhMDAwMTM1MDVlYjM1ZTM2NjAwNTdiNjJiZTc3YmUgdjMuMy4wYTMNCis3YzUxMzg4YTNhYTdjZTc2YTg1NDFiYmJkZmMwNWQyZDI1OWExNjJjIHYzLjMuMGE0DQorZTE1YzU1NGNkNDNlYjIzYmMwYTUyOGE0ZTg3NDFkYTliYmVjOTYwNyB2My4zLjBiMQ0KKzQ5NzJhOGYxYjJhYTNkN2NkZDY0ZGM5NmFhN2ZhMTEyZmUxZWEzNDMgdjMuMy4wYjINCis4YmI1YzdiYzQ2YmE0MzgwNDQ4MGYzZTMyOGUxZmE5NTY2NzJjODg1IHYzLjMuMHJjMQ0KKzg4YTA3OTJlOGJhM2U0OTE2YjI0YzdlN2E1MjJjMjc3ZDMyNmQ2NmUgdjMuMy4wcmMyDQorYzE5MWQyMWNlZmFmYjM4MzJjNDU1NzBlODQ4NTRlMzA5YWE2MmVhYSB2My4zLjByYzMNCitiZDhhZmI5MGViZjI4YmE0ZWRjOTAxZDRhMjM1Zjc1ZTdiYmM3OWZkIHYzLjMuMA0KKzkyYzJjZmI5MjQwNTVjZTY4YzRmNzhmODM2ZGNmZTY4ODQzN2NlYjggdjMuMy4xcmMxDQorZDk4OTNkMTNjNjI4OWFhMDNkMzM1NTllYzY3Zjk3ZGNiZjVjOWUzYyB2My4zLjENCitkMDQ3OTI4YWUzZjYzMTRhMTNiNjEzNzA1MTMxNTQ1M2QwYWU4OWI2IHYzLjMuMg0KK2ZkNTNjNTAwZjhiODBmNTRmM2VjZWRlYzlkYTJlOGM3ZTUyYTY4ODggdjMuMy4zcmMxDQorZDMyNDQyYzBlNjBkZmJkNzEyMzRlODA3ZDNkMWRlZGQyMjc0OTVhOSB2My4zLjNyYzINCitjMzg5NjI3NWMwZjYxYjI1MTBhNmM3ZTZjNDU4YTc1MDM1OWE5MWI4IHYzLjMuMw0KK2ZhOTJmNWY5NDBjNmMwZDgzOWQ3ZjA2MTFlNGI3MTc2MDY1MDRhM2MgdjMuMy40cmMxDQorN2ZmNjI0MTVlNDI2M2M0MzJjOGFjZjZlNDI0MjI0MjA5MjExZWFkYiB2My4zLjQNCis5ZWM4MTFkZjU0OGVkMTU0YTliZjk4MTUzODNhOTE2ZDZkZjMxYjk4IHYzLjMuNXJjMQ0KK2NhNTYzNWVmZTA5MGY3ODgwNjE4OGFjMjc1OGY5OTQ4NTk2YWE4YjIgdjMuMy41cmMyDQorNjJjZjRlNzdmNzg1NjQ3MTRlN2VhM2Q0YmYxNDc5Y2ExZmJkMDc1OCB2My4zLjUNCis1MTMxN2M5Nzg2ZjU0MjY3OTc1YWJmMmU5YzUwMmU2YWFhYTRhMjQ5IHYzLjMuNnJjMQ0KKzk3MWZlYzMwZGExZmM1YmYyYjlmYjI4ZTA5ODEyYTUxMjcwMTQyMTEgdjMuMy42DQorNDY1MzVmNjVlN2YzYmNkY2YxNzZmMzZkMzRiYzFmZWQ3MTlmZmQyYiB2My40LjBhMQ0KKzkyNjVhMjE2OGUyY2IyYTg0Nzg1ZDg3MTc3OTJhY2M2NjFlNmI2OTIgdjMuNC4wYTINCitkZDljZGY5MGE1MDczNTEwODc3ZTlkZDUxMTJmOGU2Y2YyMGQ1ZTg5IHYzLjQuMGEzDQorZTI0NWIwZDcyMDliYjZkMGUxOTMxNmUxZTJhZjFhYTljMjEzOTEwNCB2My40LjBhNA0KKzM0MDVkYzlhNmFmYWEwYTA2ZGQxZjZmMTgyZWM1Yzk5OGRjZTZmNWYgdjMuNC4wYjENCitiYTMyOTEzZWIxM2VjNTQ1YTQ2ZGQwY2UxODAzNWI2YzQxNmYwZDc4IHYzLjQuMGIyDQorYTk3Y2UzZWNjOTZhZjc5YmQyZTFhYzY2Y2U0OGQ5MTM4ZTBjYTc0OSB2My40LjBiMw0KKzVlMDg4Y2VhODY2MDY3Nzk2OTExMzc0MWMxMzEzZDU3MGQ5NzdlMDIgdjMuNC4wcmMxDQorYTMwMDcxMmVkMzhjOWEyNDJiNzM2YzQ0ZTgwNmNhZWEyNWE2ZGMwNSB2My40LjByYzINCis4YTgxY2RhYjNlOWQ1MjFkYWFlZjk4OWZhZGU5NGIxNjQ1NWZjM2I4IHYzLjQuMHJjMw0KKzA0ZjcxNDc2NWMxMzgyNGMzYmMyODM1ZDdiMDA4OTA4ODYyZTA4M2EgdjMuNC4wDQorYzY3YTE5ZTExYTcxOTFiYWYzMGYzMTNiZjU1ZTJlMGI2YzZmNTc0ZSB2My40LjFyYzENCitjMGUzMTFlMDEwZmNiNWJhZThkODdjYTIyMDUxY2QwODQ1ZWEwY2EwIHYzLjQuMQ0KKzg3MTFhMDk1MTM4NDhjZmM0OGM2ODlkOTgzNDk1ZWU2NGY0NjY4Y2EgdjMuNC4ycmMxDQorYWIyYzAyM2E5NDMyZjE2NjUyZTg5YzQwNGJiYzg0YWE5MWJmNTVhZiB2My40LjINCis2OWRkNTI4Y2E2MjU1YTY2YzM3Y2M1Y2Y2ODBlODM1N2QxMDhiMDM2IHYzLjQuM3JjMQ0KKzVkNGI2YTU3ZDVmZDc1NjRiZjczZjNkYjBlNDZmZTVlZWIwMGJjZDggdjMuNS4wYTENCmRpZmYgLS1naXQgYS8uaGd0b3VjaCBiLy5oZ3RvdWNoCmluZGV4IDdlM2E1ZTcuLmI5YmUwZjEgMTAwNjQ0Ci0tLSBhLy5oZ3RvdWNoCisrKyBiLy5oZ3RvdWNoCkBAIC0yLDcgKzIsOSBAQAogIyBEZWZpbmUgZGVwZW5kZW5jaWVzIG9mIGdlbmVyYXRlZCBmaWxlcyB0aGF0IGFyZSBjaGVja2VkIGludG8gaGcuCiAjIFRoZSBzeW50YXggb2YgdGhpcyBmaWxlIHVzZXMgbWFrZSBydWxlIGRlcGVuZGVuY2llcywgd2l0aG91dCBhY3Rpb25zCiAKLVB5dGhvbi9pbXBvcnRsaWIuaDogTGliL2ltcG9ydGxpYi9fYm9vdHN0cmFwLnB5IE1vZHVsZXMvX2ZyZWV6ZV9pbXBvcnRsaWIuYworUHl0aG9uL2ltcG9ydGxpYi5oOiBMaWIvaW1wb3J0bGliL19ib290c3RyYXAucHkgUHJvZ3JhbXMvX2ZyZWV6ZV9pbXBvcnRsaWIuYworCitJbmNsdWRlL29wY29kZS5oOiAgTGliL29wY29kZS5weSBUb29scy9zY3JpcHRzL2dlbmVyYXRlX29wY29kZV9oLnB5CiAKIEluY2x1ZGUvUHl0aG9uLWFzdC5oOiBQYXJzZXIvUHl0aG9uLmFzZGwgUGFyc2VyL2FzZGwucHkgUGFyc2VyL2FzZGxfYy5weQogUHl0aG9uL1B5dGhvbi1hc3QuYzogSW5jbHVkZS9QeXRob24tYXN0LmgKZGlmZiAtLWdpdCBhL0RvYy9NYWtlZmlsZSBiL0RvYy9NYWtlZmlsZQppbmRleCBlYTMwMjMxLi4yMDBhOWY3IDEwMDY0NAotLS0gYS9Eb2MvTWFrZWZpbGUKKysrIGIvRG9jL01ha2VmaWxlCkBAIC0xNSwxMSArMTUsMTIgQEAKIAogLlBIT05ZOiBoZWxwIGJ1aWxkIGh0bWwgaHRtbGhlbHAgbGF0ZXggdGV4dCBjaGFuZ2VzIGxpbmtjaGVjayBcCiAJc3VzcGljaW91cyBjb3ZlcmFnZSBkb2N0ZXN0IHB5ZG9jLXRvcGljcyBodG1sdmlldyBjbGVhbiBkaXN0IGNoZWNrIHNlcnZlIFwKLQlhdXRvYnVpbGQtZGV2IGF1dG9idWlsZC1zdGFibGUKKwlhdXRvYnVpbGQtZGV2IGF1dG9idWlsZC1zdGFibGUgdmVudgogCiBoZWxwOgogCUBlY2hvICJQbGVhc2UgdXNlIFxgbWFrZSA8dGFyZ2V0Picgd2hlcmUgPHRhcmdldD4gaXMgb25lIG9mIgogCUBlY2hvICIgIGNsZWFuICAgICAgdG8gcmVtb3ZlIGJ1aWxkIGZpbGVzIgorCUBlY2hvICIgIHZlbnYgICAgICAgdG8gY3JlYXRlIGEgdmVudiB3aXRoIG5lY2Vzc2FyeSB0b29scyIKIAlAZWNobyAiICBodG1sICAgICAgIHRvIG1ha2Ugc3RhbmRhbG9uZSBIVE1MIGZpbGVzIgogCUBlY2hvICIgIGh0bWx2aWV3ICAgdG8gb3BlbiB0aGUgaW5kZXggcGFnZSBidWlsdCBieSB0aGUgaHRtbCB0YXJnZXQgaW4geW91ciBicm93c2VyIgogCUBlY2hvICIgIGh0bWxoZWxwICAgdG8gbWFrZSBIVE1MIGZpbGVzIGFuZCBhIEhUTUwgaGVscCBwcm9qZWN0IgpAQCAtMTAyLDcgKzEwMywxMSBAQAogCSAkKFBZVEhPTikgLWMgImltcG9ydCB3ZWJicm93c2VyOyB3ZWJicm93c2VyLm9wZW4oJ2J1aWxkL2h0bWwvaW5kZXguaHRtbCcpIgogCiBjbGVhbjoKLQktcm0gLXJmIGJ1aWxkLyoKKwktcm0gLXJmIGJ1aWxkLyogdmVudi8qCisKK3ZlbnY6CisJJChQWVRIT04pIC1tIHZlbnYgdmVudgorCS4vdmVudi9iaW4vcHl0aG9uMyAtbSBwaXAgaW5zdGFsbCAtVSBTcGhpbngKIAogZGlzdDoKIAlybSAtcmYgZGlzdApAQCAtMTcyLDQgKzE3NywzIEBACiAJCWV4aXQgMTs7IFwKIAllc2FjCiAJQG1ha2UgYXV0b2J1aWxkLWRldgotCmRpZmYgLS1naXQgYS9Eb2MvUkVBRE1FLnR4dCBiL0RvYy9SRUFETUUudHh0CmluZGV4IDU4YmRhNjIuLjU4MGQxMDIgMTAwNjQ0Ci0tLSBhL0RvYy9SRUFETUUudHh0CisrKyBiL0RvYy9SRUFETUUudHh0CkBAIC0zLDcgKzMsNyBAQAogCiBUaGlzIGRpcmVjdG9yeSBjb250YWlucyB0aGUgcmVTdHJ1Y3R1cmVkVGV4dCAocmVTVCkgc291cmNlcyB0byB0aGUgUHl0aG9uCiBkb2N1bWVudGF0aW9uLiAgWW91IGRvbid0IG5lZWQgdG8gYnVpbGQgdGhlbSB5b3Vyc2VsZiwgcHJlYnVpbHQgdmVyc2lvbnMgYXJlCi1hdmFpbGFibGUgYXQgPGh0dHBzOi8vZG9jcy5weXRob24ub3JnLzMuNC9kb3dubG9hZC5odG1sPi4KK2F2YWlsYWJsZSBhdCA8aHR0cHM6Ly9kb2NzLnB5dGhvbi5vcmcvZGV2L2Rvd25sb2FkLmh0bWw+LgogCiBEb2N1bWVudGF0aW9uIG9uIGF1dGhvcmluZyBQeXRob24gZG9jdW1lbnRhdGlvbiwgaW5jbHVkaW5nIGluZm9ybWF0aW9uIGFib3V0CiBib3RoIHN0eWxlIGFuZCBtYXJrdXAsIGlzIGF2YWlsYWJsZSBpbiB0aGUgIkRvY3VtZW50aW5nIFB5dGhvbiIgY2hhcHRlciBvZiB0aGUKZGlmZiAtLWdpdCBhL0RvYy9jLWFwaS9jb2RlYy5yc3QgYi9Eb2MvYy1hcGkvY29kZWMucnN0CmluZGV4IDgzMjUyYWYuLmRmZTNkNDMgMTAwNjQ0Ci0tLSBhL0RvYy9jLWFwaS9jb2RlYy5yc3QKKysrIGIvRG9jL2MtYXBpL2NvZGVjLnJzdApAQCAtMTE2LDMgKzExNiw4IEBACiAgICBSZXBsYWNlIHRoZSB1bmljb2RlIGVuY29kZSBlcnJvciB3aXRoIGJhY2tzbGFzaCBlc2NhcGVzIChgYFx4YGAsIGBgXHVgYCBhbmQKICAgIGBgXFVgYCkuCiAKKy4uIGM6ZnVuY3Rpb246OiBQeU9iamVjdCogUHlDb2RlY19OYW1lUmVwbGFjZUVycm9ycyhQeU9iamVjdCAqZXhjKQorCisgICBSZXBsYWNlIHRoZSB1bmljb2RlIGVuY29kZSBlcnJvciB3aXRoIGBgXE57Li4ufWBgIGVzY2FwZXMuCisKKyAgIC4uIHZlcnNpb25hZGRlZDo6IDMuNQpkaWZmIC0tZ2l0IGEvRG9jL2MtYXBpL2V4Y2VwdGlvbnMucnN0IGIvRG9jL2MtYXBpL2V4Y2VwdGlvbnMucnN0CmluZGV4IDY2Yjc3NTIuLjgxNDMxN2IgMTAwNjQ0Ci0tLSBhL0RvYy9jLWFwaS9leGNlcHRpb25zLnJzdAorKysgYi9Eb2MvYy1hcGkvZXhjZXB0aW9ucy5yc3QKQEAgLTksMTMgKzksMTkgQEAKIAogVGhlIGZ1bmN0aW9ucyBkZXNjcmliZWQgaW4gdGhpcyBjaGFwdGVyIHdpbGwgbGV0IHlvdSBoYW5kbGUgYW5kIHJhaXNlIFB5dGhvbgogZXhjZXB0aW9ucy4gIEl0IGlzIGltcG9ydGFudCB0byB1bmRlcnN0YW5kIHNvbWUgb2YgdGhlIGJhc2ljcyBvZiBQeXRob24KLWV4Y2VwdGlvbiBoYW5kbGluZy4gIEl0IHdvcmtzIHNvbWV3aGF0IGxpa2UgdGhlIFVuaXggOmM6ZGF0YTpgZXJybm9gIHZhcmlhYmxlOgorZXhjZXB0aW9uIGhhbmRsaW5nLiAgSXQgd29ya3Mgc29tZXdoYXQgbGlrZSB0aGUgUE9TSVggOmM6ZGF0YTpgZXJybm9gIHZhcmlhYmxlOgogdGhlcmUgaXMgYSBnbG9iYWwgaW5kaWNhdG9yIChwZXIgdGhyZWFkKSBvZiB0aGUgbGFzdCBlcnJvciB0aGF0IG9jY3VycmVkLiAgTW9zdAotZnVuY3Rpb25zIGRvbid0IGNsZWFyIHRoaXMgb24gc3VjY2VzcywgYnV0IHdpbGwgc2V0IGl0IHRvIGluZGljYXRlIHRoZSBjYXVzZSBvZgotdGhlIGVycm9yIG9uIGZhaWx1cmUuICBNb3N0IGZ1bmN0aW9ucyBhbHNvIHJldHVybiBhbiBlcnJvciBpbmRpY2F0b3IsIHVzdWFsbHkKLSpOVUxMKiBpZiB0aGV5IGFyZSBzdXBwb3NlZCB0byByZXR1cm4gYSBwb2ludGVyLCBvciBgYC0xYGAgaWYgdGhleSByZXR1cm4gYW4KLWludGVnZXIgKGV4Y2VwdGlvbjogdGhlIDpjOmZ1bmM6YFB5QXJnX1wqYCBmdW5jdGlvbnMgcmV0dXJuIGBgMWBgIGZvciBzdWNjZXNzIGFuZAotYGAwYGAgZm9yIGZhaWx1cmUpLgorQyBBUEkgZnVuY3Rpb25zIGRvbid0IGNsZWFyIHRoaXMgb24gc3VjY2VzcywgYnV0IHdpbGwgc2V0IGl0IHRvIGluZGljYXRlIHRoZQorY2F1c2Ugb2YgdGhlIGVycm9yIG9uIGZhaWx1cmUuICBNb3N0IEMgQVBJIGZ1bmN0aW9ucyBhbHNvIHJldHVybiBhbiBlcnJvcgoraW5kaWNhdG9yLCB1c3VhbGx5ICpOVUxMKiBpZiB0aGV5IGFyZSBzdXBwb3NlZCB0byByZXR1cm4gYSBwb2ludGVyLCBvciBgYC0xYGAKK2lmIHRoZXkgcmV0dXJuIGFuIGludGVnZXIgKGV4Y2VwdGlvbjogdGhlIDpjOmZ1bmM6YFB5QXJnX1wqYCBmdW5jdGlvbnMKK3JldHVybiBgYDFgYCBmb3Igc3VjY2VzcyBhbmQgYGAwYGAgZm9yIGZhaWx1cmUpLgorCitDb25jcmV0ZWx5LCB0aGUgZXJyb3IgaW5kaWNhdG9yIGNvbnNpc3RzIG9mIHRocmVlIG9iamVjdCBwb2ludGVyczogdGhlCitleGNlcHRpb24ncyB0eXBlLCB0aGUgZXhjZXB0aW9uJ3MgdmFsdWUsIGFuZCB0aGUgdHJhY2ViYWNrIG9iamVjdC4gIEFueQorb2YgdGhvc2UgcG9pbnRlcnMgY2FuIGJlIE5VTEwgaWYgbm9uLXNldCAoYWx0aG91Z2ggc29tZSBjb21iaW5hdGlvbnMgYXJlCitmb3JiaWRkZW4sIGZvciBleGFtcGxlIHlvdSBjYW4ndCBoYXZlIGEgbm9uLU5VTEwgdHJhY2ViYWNrIGlmIHRoZSBleGNlcHRpb24KK3R5cGUgaXMgTlVMTCkuCiAKIFdoZW4gYSBmdW5jdGlvbiBtdXN0IGZhaWwgYmVjYXVzZSBzb21lIGZ1bmN0aW9uIGl0IGNhbGxlZCBmYWlsZWQsIGl0IGdlbmVyYWxseQogZG9lc24ndCBzZXQgdGhlIGVycm9yIGluZGljYXRvcjsgdGhlIGZ1bmN0aW9uIGl0IGNhbGxlZCBhbHJlYWR5IHNldCBpdC4gIEl0IGlzCkBAIC0yNywxMiArMzMsMjEgQEAKIHByb3BhZ2F0ZWQsIGFkZGl0aW9uYWwgY2FsbHMgaW50byB0aGUgUHl0aG9uL0MgQVBJIG1heSBub3QgYmVoYXZlIGFzIGludGVuZGVkCiBhbmQgbWF5IGZhaWwgaW4gbXlzdGVyaW91cyB3YXlzLgogCi1UaGUgZXJyb3IgaW5kaWNhdG9yIGNvbnNpc3RzIG9mIHRocmVlIFB5dGhvbiBvYmplY3RzIGNvcnJlc3BvbmRpbmcgdG8gdGhlIHJlc3VsdAotb2YgYGBzeXMuZXhjX2luZm8oKWBgLiAgQVBJIGZ1bmN0aW9ucyBleGlzdCB0byBpbnRlcmFjdCB3aXRoIHRoZSBlcnJvciBpbmRpY2F0b3IKLWluIHZhcmlvdXMgd2F5cy4gIFRoZXJlIGlzIGEgc2VwYXJhdGUgZXJyb3IgaW5kaWNhdG9yIGZvciBlYWNoIHRocmVhZC4KKy4uIG5vdGU6OgorICAgVGhlIGVycm9yIGluZGljYXRvciBpcyAqKm5vdCoqIHRoZSByZXN1bHQgb2YgOmZ1bmM6YHN5cy5leGNfaW5mbygpYC4KKyAgIFRoZSBmb3JtZXIgY29ycmVzcG9uZHMgdG8gYW4gZXhjZXB0aW9uIHRoYXQgaXMgbm90IHlldCBjYXVnaHQgKGFuZCBpcworICAgdGhlcmVmb3JlIHN0aWxsIHByb3BhZ2F0aW5nKSwgd2hpbGUgdGhlIGxhdHRlciByZXR1cm5zIGFuIGV4Y2VwdGlvbiBhZnRlcgorICAgaXQgaXMgY2F1Z2h0IChhbmQgaGFzIHRoZXJlZm9yZSBzdG9wcGVkIHByb3BhZ2F0aW5nKS4KIAotLi4gWFhYIE9yZGVyIG9mIHRoZXNlIHNob3VsZCBiZSBtb3JlIHRob3VnaHRmdWwuCi0gICBFaXRoZXIgYWxwaGFiZXRpY2FsIG9yIHNvbWUga2luZCBvZiBzdHJ1Y3R1cmUuCisKK1ByaW50aW5nIGFuZCBjbGVhcmluZworPT09PT09PT09PT09PT09PT09PT09CisKKworLi4gYzpmdW5jdGlvbjo6IHZvaWQgUHlFcnJfQ2xlYXIoKQorCisgICBDbGVhciB0aGUgZXJyb3IgaW5kaWNhdG9yLiAgSWYgdGhlIGVycm9yIGluZGljYXRvciBpcyBub3Qgc2V0LCB0aGVyZSBpcyBubworICAgZWZmZWN0LgogCiAKIC4uIGM6ZnVuY3Rpb246OiB2b2lkIFB5RXJyX1ByaW50RXgoaW50IHNldF9zeXNfbGFzdF92YXJzKQpAQCAtNTEsMTI3ICs2NiwyNCBAQAogICAgQWxpYXMgZm9yIGBgUHlFcnJfUHJpbnRFeCgxKWBgLgogCiAKLS4uIGM6ZnVuY3Rpb246OiBQeU9iamVjdCogUHlFcnJfT2NjdXJyZWQoKQorLi4gYzpmdW5jdGlvbjo6IHZvaWQgUHlFcnJfV3JpdGVVbnJhaXNhYmxlKFB5T2JqZWN0ICpvYmopCiAKLSAgIFRlc3Qgd2hldGhlciB0aGUgZXJyb3IgaW5kaWNhdG9yIGlzIHNldC4gIElmIHNldCwgcmV0dXJuIHRoZSBleGNlcHRpb24gKnR5cGUqCi0gICAodGhlIGZpcnN0IGFyZ3VtZW50IHRvIHRoZSBsYXN0IGNhbGwgdG8gb25lIG9mIHRoZSA6YzpmdW5jOmBQeUVycl9TZXRcKmAKLSAgIGZ1bmN0aW9ucyBvciB0byA6YzpmdW5jOmBQeUVycl9SZXN0b3JlYCkuICBJZiBub3Qgc2V0LCByZXR1cm4gKk5VTEwqLiAgWW91IGRvIG5vdAotICAgb3duIGEgcmVmZXJlbmNlIHRvIHRoZSByZXR1cm4gdmFsdWUsIHNvIHlvdSBkbyBub3QgbmVlZCB0byA6YzpmdW5jOmBQeV9ERUNSRUZgCi0gICBpdC4KKyAgIFRoaXMgdXRpbGl0eSBmdW5jdGlvbiBwcmludHMgYSB3YXJuaW5nIG1lc3NhZ2UgdG8gYGBzeXMuc3RkZXJyYGAgd2hlbiBhbgorICAgZXhjZXB0aW9uIGhhcyBiZWVuIHNldCBidXQgaXQgaXMgaW1wb3NzaWJsZSBmb3IgdGhlIGludGVycHJldGVyIHRvIGFjdHVhbGx5CisgICByYWlzZSB0aGUgZXhjZXB0aW9uLiAgSXQgaXMgdXNlZCwgZm9yIGV4YW1wbGUsIHdoZW4gYW4gZXhjZXB0aW9uIG9jY3VycyBpbiBhbgorICAgOm1ldGg6YF9fZGVsX19gIG1ldGhvZC4KIAotICAgLi4gbm90ZTo6Ci0KLSAgICAgIERvIG5vdCBjb21wYXJlIHRoZSByZXR1cm4gdmFsdWUgdG8gYSBzcGVjaWZpYyBleGNlcHRpb247IHVzZQotICAgICAgOmM6ZnVuYzpgUHlFcnJfRXhjZXB0aW9uTWF0Y2hlc2AgaW5zdGVhZCwgc2hvd24gYmVsb3cuICAoVGhlIGNvbXBhcmlzb24gY291bGQKLSAgICAgIGVhc2lseSBmYWlsIHNpbmNlIHRoZSBleGNlcHRpb24gbWF5IGJlIGFuIGluc3RhbmNlIGluc3RlYWQgb2YgYSBjbGFzcywgaW4gdGhlCi0gICAgICBjYXNlIG9mIGEgY2xhc3MgZXhjZXB0aW9uLCBvciBpdCBtYXkgYmUgYSBzdWJjbGFzcyBvZiB0aGUgZXhwZWN0ZWQgZXhjZXB0aW9uLikKKyAgIFRoZSBmdW5jdGlvbiBpcyBjYWxsZWQgd2l0aCBhIHNpbmdsZSBhcmd1bWVudCAqb2JqKiB0aGF0IGlkZW50aWZpZXMgdGhlIGNvbnRleHQKKyAgIGluIHdoaWNoIHRoZSB1bnJhaXNhYmxlIGV4Y2VwdGlvbiBvY2N1cnJlZC4gVGhlIHJlcHIgb2YgKm9iaiogd2lsbCBiZSBwcmludGVkIGluCisgICB0aGUgd2FybmluZyBtZXNzYWdlLgogCiAKLS4uIGM6ZnVuY3Rpb246OiBpbnQgUHlFcnJfRXhjZXB0aW9uTWF0Y2hlcyhQeU9iamVjdCAqZXhjKQorUmFpc2luZyBleGNlcHRpb25zCis9PT09PT09PT09PT09PT09PT0KIAotICAgRXF1aXZhbGVudCB0byBgYFB5RXJyX0dpdmVuRXhjZXB0aW9uTWF0Y2hlcyhQeUVycl9PY2N1cnJlZCgpLCBleGMpYGAuICBUaGlzCi0gICBzaG91bGQgb25seSBiZSBjYWxsZWQgd2hlbiBhbiBleGNlcHRpb24gaXMgYWN0dWFsbHkgc2V0OyBhIG1lbW9yeSBhY2Nlc3MKLSAgIHZpb2xhdGlvbiB3aWxsIG9jY3VyIGlmIG5vIGV4Y2VwdGlvbiBoYXMgYmVlbiByYWlzZWQuCi0KLQotLi4gYzpmdW5jdGlvbjo6IGludCBQeUVycl9HaXZlbkV4Y2VwdGlvbk1hdGNoZXMoUHlPYmplY3QgKmdpdmVuLCBQeU9iamVjdCAqZXhjKQotCi0gICBSZXR1cm4gdHJ1ZSBpZiB0aGUgKmdpdmVuKiBleGNlcHRpb24gbWF0Y2hlcyB0aGUgZXhjZXB0aW9uIGluICpleGMqLiAgSWYKLSAgICpleGMqIGlzIGEgY2xhc3Mgb2JqZWN0LCB0aGlzIGFsc28gcmV0dXJucyB0cnVlIHdoZW4gKmdpdmVuKiBpcyBhbiBpbnN0YW5jZQotICAgb2YgYSBzdWJjbGFzcy4gIElmICpleGMqIGlzIGEgdHVwbGUsIGFsbCBleGNlcHRpb25zIGluIHRoZSB0dXBsZSAoYW5kCi0gICByZWN1cnNpdmVseSBpbiBzdWJ0dXBsZXMpIGFyZSBzZWFyY2hlZCBmb3IgYSBtYXRjaC4KLQotCi0uLiBjOmZ1bmN0aW9uOjogdm9pZCBQeUVycl9Ob3JtYWxpemVFeGNlcHRpb24oUHlPYmplY3QqKmV4YywgUHlPYmplY3QqKnZhbCwgUHlPYmplY3QqKnRiKQotCi0gICBVbmRlciBjZXJ0YWluIGNpcmN1bXN0YW5jZXMsIHRoZSB2YWx1ZXMgcmV0dXJuZWQgYnkgOmM6ZnVuYzpgUHlFcnJfRmV0Y2hgIGJlbG93Ci0gICBjYW4gYmUgInVubm9ybWFsaXplZCIsIG1lYW5pbmcgdGhhdCBgYCpleGNgYCBpcyBhIGNsYXNzIG9iamVjdCBidXQgYGAqdmFsYGAgaXMKLSAgIG5vdCBhbiBpbnN0YW5jZSBvZiB0aGUgIHNhbWUgY2xhc3MuICBUaGlzIGZ1bmN0aW9uIGNhbiBiZSB1c2VkIHRvIGluc3RhbnRpYXRlCi0gICB0aGUgY2xhc3MgaW4gdGhhdCBjYXNlLiAgSWYgdGhlIHZhbHVlcyBhcmUgYWxyZWFkeSBub3JtYWxpemVkLCBub3RoaW5nIGhhcHBlbnMuCi0gICBUaGUgZGVsYXllZCBub3JtYWxpemF0aW9uIGlzIGltcGxlbWVudGVkIHRvIGltcHJvdmUgcGVyZm9ybWFuY2UuCi0KLSAgIC4uIG5vdGU6OgotCi0gICAgICBUaGlzIGZ1bmN0aW9uICpkb2VzIG5vdCogaW1wbGljaXRseSBzZXQgdGhlIGBgX190cmFjZWJhY2tfX2BgCi0gICAgICBhdHRyaWJ1dGUgb24gdGhlIGV4Y2VwdGlvbiB2YWx1ZS4gSWYgc2V0dGluZyB0aGUgdHJhY2ViYWNrCi0gICAgICBhcHByb3ByaWF0ZWx5IGlzIGRlc2lyZWQsIHRoZSBmb2xsb3dpbmcgYWRkaXRpb25hbCBzbmlwcGV0IGlzIG5lZWRlZDo6Ci0KLSAgICAgICAgIGlmICh0YiAhPSBOVUxMKSB7Ci0gICAgICAgICAgIFB5RXhjZXB0aW9uX1NldFRyYWNlYmFjayh2YWwsIHRiKTsKLSAgICAgICAgIH0KLQotCi0uLiBjOmZ1bmN0aW9uOjogdm9pZCBQeUVycl9DbGVhcigpCi0KLSAgIENsZWFyIHRoZSBlcnJvciBpbmRpY2F0b3IuICBJZiB0aGUgZXJyb3IgaW5kaWNhdG9yIGlzIG5vdCBzZXQsIHRoZXJlIGlzIG5vCi0gICBlZmZlY3QuCi0KLQotLi4gYzpmdW5jdGlvbjo6IHZvaWQgUHlFcnJfRmV0Y2goUHlPYmplY3QgKipwdHlwZSwgUHlPYmplY3QgKipwdmFsdWUsIFB5T2JqZWN0ICoqcHRyYWNlYmFjaykKLQotICAgUmV0cmlldmUgdGhlIGVycm9yIGluZGljYXRvciBpbnRvIHRocmVlIHZhcmlhYmxlcyB3aG9zZSBhZGRyZXNzZXMgYXJlIHBhc3NlZC4KLSAgIElmIHRoZSBlcnJvciBpbmRpY2F0b3IgaXMgbm90IHNldCwgc2V0IGFsbCB0aHJlZSB2YXJpYWJsZXMgdG8gKk5VTEwqLiAgSWYgaXQgaXMKLSAgIHNldCwgaXQgd2lsbCBiZSBjbGVhcmVkIGFuZCB5b3Ugb3duIGEgcmVmZXJlbmNlIHRvIGVhY2ggb2JqZWN0IHJldHJpZXZlZC4gIFRoZQotICAgdmFsdWUgYW5kIHRyYWNlYmFjayBvYmplY3QgbWF5IGJlICpOVUxMKiBldmVuIHdoZW4gdGhlIHR5cGUgb2JqZWN0IGlzIG5vdC4KLQotICAgLi4gbm90ZTo6Ci0KLSAgICAgIFRoaXMgZnVuY3Rpb24gaXMgbm9ybWFsbHkgb25seSB1c2VkIGJ5IGNvZGUgdGhhdCBuZWVkcyB0byBoYW5kbGUgZXhjZXB0aW9ucyBvcgotICAgICAgYnkgY29kZSB0aGF0IG5lZWRzIHRvIHNhdmUgYW5kIHJlc3RvcmUgdGhlIGVycm9yIGluZGljYXRvciB0ZW1wb3JhcmlseS4KLQotCi0uLiBjOmZ1bmN0aW9uOjogdm9pZCBQeUVycl9SZXN0b3JlKFB5T2JqZWN0ICp0eXBlLCBQeU9iamVjdCAqdmFsdWUsIFB5T2JqZWN0ICp0cmFjZWJhY2spCi0KLSAgIFNldCAgdGhlIGVycm9yIGluZGljYXRvciBmcm9tIHRoZSB0aHJlZSBvYmplY3RzLiAgSWYgdGhlIGVycm9yIGluZGljYXRvciBpcwotICAgYWxyZWFkeSBzZXQsIGl0IGlzIGNsZWFyZWQgZmlyc3QuICBJZiB0aGUgb2JqZWN0cyBhcmUgKk5VTEwqLCB0aGUgZXJyb3IKLSAgIGluZGljYXRvciBpcyBjbGVhcmVkLiAgRG8gbm90IHBhc3MgYSAqTlVMTCogdHlwZSBhbmQgbm9uLSpOVUxMKiB2YWx1ZSBvcgotICAgdHJhY2ViYWNrLiAgVGhlIGV4Y2VwdGlvbiB0eXBlIHNob3VsZCBiZSBhIGNsYXNzLiAgRG8gbm90IHBhc3MgYW4gaW52YWxpZAotICAgZXhjZXB0aW9uIHR5cGUgb3IgdmFsdWUuIChWaW9sYXRpbmcgdGhlc2UgcnVsZXMgd2lsbCBjYXVzZSBzdWJ0bGUgcHJvYmxlbXMKLSAgIGxhdGVyLikgIFRoaXMgY2FsbCB0YWtlcyBhd2F5IGEgcmVmZXJlbmNlIHRvIGVhY2ggb2JqZWN0OiB5b3UgbXVzdCBvd24gYQotICAgcmVmZXJlbmNlIHRvIGVhY2ggb2JqZWN0IGJlZm9yZSB0aGUgY2FsbCBhbmQgYWZ0ZXIgdGhlIGNhbGwgeW91IG5vIGxvbmdlciBvd24KLSAgIHRoZXNlIHJlZmVyZW5jZXMuICAoSWYgeW91IGRvbid0IHVuZGVyc3RhbmQgdGhpcywgZG9uJ3QgdXNlIHRoaXMgZnVuY3Rpb24uICBJCi0gICB3YXJuZWQgeW91LikKLQotICAgLi4gbm90ZTo6Ci0KLSAgICAgIFRoaXMgZnVuY3Rpb24gaXMgbm9ybWFsbHkgb25seSB1c2VkIGJ5IGNvZGUgdGhhdCBuZWVkcyB0byBzYXZlIGFuZCByZXN0b3JlIHRoZQotICAgICAgZXJyb3IgaW5kaWNhdG9yIHRlbXBvcmFyaWx5OyB1c2UgOmM6ZnVuYzpgUHlFcnJfRmV0Y2hgIHRvIHNhdmUgdGhlIGN1cnJlbnQKLSAgICAgIGV4Y2VwdGlvbiBzdGF0ZS4KLQotCi0uLiBjOmZ1bmN0aW9uOjogdm9pZCBQeUVycl9HZXRFeGNJbmZvKFB5T2JqZWN0ICoqcHR5cGUsIFB5T2JqZWN0ICoqcHZhbHVlLCBQeU9iamVjdCAqKnB0cmFjZWJhY2spCi0KLSAgIFJldHJpZXZlIHRoZSBleGNlcHRpb24gaW5mbywgYXMga25vd24gZnJvbSBgYHN5cy5leGNfaW5mbygpYGAuICBUaGlzIHJlZmVycwotICAgdG8gYW4gZXhjZXB0aW9uIHRoYXQgd2FzIGFscmVhZHkgY2F1Z2h0LCBub3QgdG8gYW4gZXhjZXB0aW9uIHRoYXQgd2FzCi0gICBmcmVzaGx5IHJhaXNlZC4gIFJldHVybnMgbmV3IHJlZmVyZW5jZXMgZm9yIHRoZSB0aHJlZSBvYmplY3RzLCBhbnkgb2Ygd2hpY2gKLSAgIG1heSBiZSAqTlVMTCouICBEb2VzIG5vdCBtb2RpZnkgdGhlIGV4Y2VwdGlvbiBpbmZvIHN0YXRlLgotCi0gICAuLiBub3RlOjoKLQotICAgICAgVGhpcyBmdW5jdGlvbiBpcyBub3Qgbm9ybWFsbHkgdXNlZCBieSBjb2RlIHRoYXQgd2FudHMgdG8gaGFuZGxlIGV4Y2VwdGlvbnMuCi0gICAgICBSYXRoZXIsIGl0IGNhbiBiZSB1c2VkIHdoZW4gY29kZSBuZWVkcyB0byBzYXZlIGFuZCByZXN0b3JlIHRoZSBleGNlcHRpb24KLSAgICAgIHN0YXRlIHRlbXBvcmFyaWx5LiAgVXNlIDpjOmZ1bmM6YFB5RXJyX1NldEV4Y0luZm9gIHRvIHJlc3RvcmUgb3IgY2xlYXIgdGhlCi0gICAgICBleGNlcHRpb24gc3RhdGUuCi0KLSAgIC4uIHZlcnNpb25hZGRlZDo6IDMuMwotCi0KLS4uIGM6ZnVuY3Rpb246OiB2b2lkIFB5RXJyX1NldEV4Y0luZm8oUHlPYmplY3QgKnR5cGUsIFB5T2JqZWN0ICp2YWx1ZSwgUHlPYmplY3QgKnRyYWNlYmFjaykKLQotICAgU2V0IHRoZSBleGNlcHRpb24gaW5mbywgYXMga25vd24gZnJvbSBgYHN5cy5leGNfaW5mbygpYGAuICBUaGlzIHJlZmVycwotICAgdG8gYW4gZXhjZXB0aW9uIHRoYXQgd2FzIGFscmVhZHkgY2F1Z2h0LCBub3QgdG8gYW4gZXhjZXB0aW9uIHRoYXQgd2FzCi0gICBmcmVzaGx5IHJhaXNlZC4gIFRoaXMgZnVuY3Rpb24gc3RlYWxzIHRoZSByZWZlcmVuY2VzIG9mIHRoZSBhcmd1bWVudHMuCi0gICBUbyBjbGVhciB0aGUgZXhjZXB0aW9uIHN0YXRlLCBwYXNzICpOVUxMKiBmb3IgYWxsIHRocmVlIGFyZ3VtZW50cy4KLSAgIEZvciBnZW5lcmFsIHJ1bGVzIGFib3V0IHRoZSB0aHJlZSBhcmd1bWVudHMsIHNlZSA6YzpmdW5jOmBQeUVycl9SZXN0b3JlYC4KLQotICAgLi4gbm90ZTo6Ci0KLSAgICAgIFRoaXMgZnVuY3Rpb24gaXMgbm90IG5vcm1hbGx5IHVzZWQgYnkgY29kZSB0aGF0IHdhbnRzIHRvIGhhbmRsZSBleGNlcHRpb25zLgotICAgICAgUmF0aGVyLCBpdCBjYW4gYmUgdXNlZCB3aGVuIGNvZGUgbmVlZHMgdG8gc2F2ZSBhbmQgcmVzdG9yZSB0aGUgZXhjZXB0aW9uCi0gICAgICBzdGF0ZSB0ZW1wb3JhcmlseS4gIFVzZSA6YzpmdW5jOmBQeUVycl9HZXRFeGNJbmZvYCB0byByZWFkIHRoZSBleGNlcHRpb24KLSAgICAgIHN0YXRlLgotCi0gICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjMKK1RoZXNlIGZ1bmN0aW9ucyBoZWxwIHlvdSBzZXQgdGhlIGN1cnJlbnQgdGhyZWFkJ3MgZXJyb3IgaW5kaWNhdG9yLgorRm9yIGNvbnZlbmllbmNlLCBzb21lIG9mIHRoZXNlIGZ1bmN0aW9ucyB3aWxsIGFsd2F5cyByZXR1cm4gYQorTlVMTCBwb2ludGVyIGZvciB1c2UgaW4gYSBgYHJldHVybmBgIHN0YXRlbWVudC4KIAogCiAuLiBjOmZ1bmN0aW9uOjogdm9pZCBQeUVycl9TZXRTdHJpbmcoUHlPYmplY3QgKnR5cGUsIGNvbnN0IGNoYXIgKm1lc3NhZ2UpCkBAIC0xOTcsNiArMTA5LDE0IEBACiAgICBzdHJpbmcuCiAKIAorLi4gYzpmdW5jdGlvbjo6IFB5T2JqZWN0KiBQeUVycl9Gb3JtYXRWKFB5T2JqZWN0ICpleGNlcHRpb24sIGNvbnN0IGNoYXIgKmZvcm1hdCwgdmFfbGlzdCB2YXJncykKKworICAgU2FtZSBhcyA6YzpmdW5jOmBQeUVycl9Gb3JtYXRgLCBidXQgdGFraW5nIGEgOmM6dHlwZTpgdmFfbGlzdGAgYXJndW1lbnQgcmF0aGVyCisgICB0aGFuIGEgdmFyaWFibGUgbnVtYmVyIG9mIGFyZ3VtZW50cy4KKworICAgLi4gdmVyc2lvbmFkZGVkOjogMy41CisKKwogLi4gYzpmdW5jdGlvbjo6IHZvaWQgUHlFcnJfU2V0Tm9uZShQeU9iamVjdCAqdHlwZSkKIAogICAgVGhpcyBpcyBhIHNob3J0aGFuZCBmb3IgYGBQeUVycl9TZXRPYmplY3QodHlwZSwgUHlfTm9uZSlgYC4KQEAgLTM0Niw2ICsyNjYsMjIgQEAKICAgIHVzZS4KIAogCitJc3N1aW5nIHdhcm5pbmdzCis9PT09PT09PT09PT09PT09CisKK1VzZSB0aGVzZSBmdW5jdGlvbnMgdG8gaXNzdWUgd2FybmluZ3MgZnJvbSBDIGNvZGUuICBUaGV5IG1pcnJvciBzaW1pbGFyCitmdW5jdGlvbnMgZXhwb3J0ZWQgYnkgdGhlIFB5dGhvbiA6bW9kOmB3YXJuaW5nc2AgbW9kdWxlLiAgVGhleSBub3JtYWxseQorcHJpbnQgYSB3YXJuaW5nIG1lc3NhZ2UgdG8gKnN5cy5zdGRlcnIqOyBob3dldmVyLCBpdCBpcworYWxzbyBwb3NzaWJsZSB0aGF0IHRoZSB1c2VyIGhhcyBzcGVjaWZpZWQgdGhhdCB3YXJuaW5ncyBhcmUgdG8gYmUgdHVybmVkIGludG8KK2Vycm9ycywgYW5kIGluIHRoYXQgY2FzZSB0aGV5IHdpbGwgcmFpc2UgYW4gZXhjZXB0aW9uLiAgSXQgaXMgYWxzbyBwb3NzaWJsZSB0aGF0Cit0aGUgZnVuY3Rpb25zIHJhaXNlIGFuIGV4Y2VwdGlvbiBiZWNhdXNlIG9mIGEgcHJvYmxlbSB3aXRoIHRoZSB3YXJuaW5nIG1hY2hpbmVyeS4KK1RoZSByZXR1cm4gdmFsdWUgaXMgYGAwYGAgaWYgbm8gZXhjZXB0aW9uIGlzIHJhaXNlZCwgb3IgYGAtMWBgIGlmIGFuIGV4Y2VwdGlvbgoraXMgcmFpc2VkLiAgKEl0IGlzIG5vdCBwb3NzaWJsZSB0byBkZXRlcm1pbmUgd2hldGhlciBhIHdhcm5pbmcgbWVzc2FnZSBpcworYWN0dWFsbHkgcHJpbnRlZCwgbm9yIHdoYXQgdGhlIHJlYXNvbiBpcyBmb3IgdGhlIGV4Y2VwdGlvbjsgdGhpcyBpcworaW50ZW50aW9uYWwuKSAgSWYgYW4gZXhjZXB0aW9uIGlzIHJhaXNlZCwgdGhlIGNhbGxlciBzaG91bGQgZG8gaXRzIG5vcm1hbAorZXhjZXB0aW9uIGhhbmRsaW5nIChmb3IgZXhhbXBsZSwgOmM6ZnVuYzpgUHlfREVDUkVGYCBvd25lZCByZWZlcmVuY2VzIGFuZCByZXR1cm4KK2FuIGVycm9yIHZhbHVlKS4KKwogLi4gYzpmdW5jdGlvbjo6IGludCBQeUVycl9XYXJuRXgoUHlPYmplY3QgKmNhdGVnb3J5LCBjb25zdCBjaGFyICptZXNzYWdlLCBQeV9zc2l6ZV90IHN0YWNrX2xldmVsKQogCiAgICBJc3N1ZSBhIHdhcm5pbmcgbWVzc2FnZS4gIFRoZSAqY2F0ZWdvcnkqIGFyZ3VtZW50IGlzIGEgd2FybmluZyBjYXRlZ29yeSAoc2VlCkBAIC0zNTUsMTggKzI5MSw2IEBACiAgICBpcyB0aGUgZnVuY3Rpb24gY2FsbGluZyA6YzpmdW5jOmBQeUVycl9XYXJuRXhgLCAyIGlzICB0aGUgZnVuY3Rpb24gYWJvdmUgdGhhdCwKICAgIGFuZCBzbyBmb3J0aC4KIAotICAgVGhpcyBmdW5jdGlvbiBub3JtYWxseSBwcmludHMgYSB3YXJuaW5nIG1lc3NhZ2UgdG8gKnN5cy5zdGRlcnIqOyBob3dldmVyLCBpdCBpcwotICAgYWxzbyBwb3NzaWJsZSB0aGF0IHRoZSB1c2VyIGhhcyBzcGVjaWZpZWQgdGhhdCB3YXJuaW5ncyBhcmUgdG8gYmUgdHVybmVkIGludG8KLSAgIGVycm9ycywgYW5kIGluIHRoYXQgY2FzZSB0aGlzIHdpbGwgcmFpc2UgYW4gZXhjZXB0aW9uLiAgSXQgaXMgYWxzbyBwb3NzaWJsZSB0aGF0Ci0gICB0aGUgZnVuY3Rpb24gcmFpc2VzIGFuIGV4Y2VwdGlvbiBiZWNhdXNlIG9mIGEgcHJvYmxlbSB3aXRoIHRoZSB3YXJuaW5nIG1hY2hpbmVyeQotICAgKHRoZSBpbXBsZW1lbnRhdGlvbiBpbXBvcnRzIHRoZSA6bW9kOmB3YXJuaW5nc2AgbW9kdWxlIHRvIGRvIHRoZSBoZWF2eSBsaWZ0aW5nKS4KLSAgIFRoZSByZXR1cm4gdmFsdWUgaXMgYGAwYGAgaWYgbm8gZXhjZXB0aW9uIGlzIHJhaXNlZCwgb3IgYGAtMWBgIGlmIGFuIGV4Y2VwdGlvbgotICAgaXMgcmFpc2VkLiAgKEl0IGlzIG5vdCBwb3NzaWJsZSB0byBkZXRlcm1pbmUgd2hldGhlciBhIHdhcm5pbmcgbWVzc2FnZSBpcwotICAgYWN0dWFsbHkgcHJpbnRlZCwgbm9yIHdoYXQgdGhlIHJlYXNvbiBpcyBmb3IgdGhlIGV4Y2VwdGlvbjsgdGhpcyBpcwotICAgaW50ZW50aW9uYWwuKSAgSWYgYW4gZXhjZXB0aW9uIGlzIHJhaXNlZCwgdGhlIGNhbGxlciBzaG91bGQgZG8gaXRzIG5vcm1hbAotICAgZXhjZXB0aW9uIGhhbmRsaW5nIChmb3IgZXhhbXBsZSwgOmM6ZnVuYzpgUHlfREVDUkVGYCBvd25lZCByZWZlcmVuY2VzIGFuZCByZXR1cm4KLSAgIGFuIGVycm9yIHZhbHVlKS4KLQogICAgV2FybmluZyBjYXRlZ29yaWVzIG11c3QgYmUgc3ViY2xhc3NlcyBvZiA6YzpkYXRhOmBXYXJuaW5nYDsgdGhlIGRlZmF1bHQgd2FybmluZwogICAgY2F0ZWdvcnkgaXMgOmM6ZGF0YTpgUnVudGltZVdhcm5pbmdgLiAgVGhlIHN0YW5kYXJkIFB5dGhvbiB3YXJuaW5nIGNhdGVnb3JpZXMgYXJlCiAgICBhdmFpbGFibGUgYXMgZ2xvYmFsIHZhcmlhYmxlcyB3aG9zZSBuYW1lcyBhcmUgYGBQeUV4Y19gYCBmb2xsb3dlZCBieSB0aGUgUHl0aG9uCkBAIC00MTAsNiArMzM0LDEzOSBAQAogICAgLi4gdmVyc2lvbmFkZGVkOjogMy4yCiAKIAorUXVlcnlpbmcgdGhlIGVycm9yIGluZGljYXRvcgorPT09PT09PT09PT09PT09PT09PT09PT09PT09PQorCisuLiBjOmZ1bmN0aW9uOjogUHlPYmplY3QqIFB5RXJyX09jY3VycmVkKCkKKworICAgVGVzdCB3aGV0aGVyIHRoZSBlcnJvciBpbmRpY2F0b3IgaXMgc2V0LiAgSWYgc2V0LCByZXR1cm4gdGhlIGV4Y2VwdGlvbiAqdHlwZSoKKyAgICh0aGUgZmlyc3QgYXJndW1lbnQgdG8gdGhlIGxhc3QgY2FsbCB0byBvbmUgb2YgdGhlIDpjOmZ1bmM6YFB5RXJyX1NldFwqYAorICAgZnVuY3Rpb25zIG9yIHRvIDpjOmZ1bmM6YFB5RXJyX1Jlc3RvcmVgKS4gIElmIG5vdCBzZXQsIHJldHVybiAqTlVMTCouICBZb3UgZG8gbm90CisgICBvd24gYSByZWZlcmVuY2UgdG8gdGhlIHJldHVybiB2YWx1ZSwgc28geW91IGRvIG5vdCBuZWVkIHRvIDpjOmZ1bmM6YFB5X0RFQ1JFRmAKKyAgIGl0LgorCisgICAuLiBub3RlOjoKKworICAgICAgRG8gbm90IGNvbXBhcmUgdGhlIHJldHVybiB2YWx1ZSB0byBhIHNwZWNpZmljIGV4Y2VwdGlvbjsgdXNlCisgICAgICA6YzpmdW5jOmBQeUVycl9FeGNlcHRpb25NYXRjaGVzYCBpbnN0ZWFkLCBzaG93biBiZWxvdy4gIChUaGUgY29tcGFyaXNvbiBjb3VsZAorICAgICAgZWFzaWx5IGZhaWwgc2luY2UgdGhlIGV4Y2VwdGlvbiBtYXkgYmUgYW4gaW5zdGFuY2UgaW5zdGVhZCBvZiBhIGNsYXNzLCBpbiB0aGUKKyAgICAgIGNhc2Ugb2YgYSBjbGFzcyBleGNlcHRpb24sIG9yIGl0IG1heSBiZSBhIHN1YmNsYXNzIG9mIHRoZSBleHBlY3RlZCBleGNlcHRpb24uKQorCisKKy4uIGM6ZnVuY3Rpb246OiBpbnQgUHlFcnJfRXhjZXB0aW9uTWF0Y2hlcyhQeU9iamVjdCAqZXhjKQorCisgICBFcXVpdmFsZW50IHRvIGBgUHlFcnJfR2l2ZW5FeGNlcHRpb25NYXRjaGVzKFB5RXJyX09jY3VycmVkKCksIGV4YylgYC4gIFRoaXMKKyAgIHNob3VsZCBvbmx5IGJlIGNhbGxlZCB3aGVuIGFuIGV4Y2VwdGlvbiBpcyBhY3R1YWxseSBzZXQ7IGEgbWVtb3J5IGFjY2VzcworICAgdmlvbGF0aW9uIHdpbGwgb2NjdXIgaWYgbm8gZXhjZXB0aW9uIGhhcyBiZWVuIHJhaXNlZC4KKworCisuLiBjOmZ1bmN0aW9uOjogaW50IFB5RXJyX0dpdmVuRXhjZXB0aW9uTWF0Y2hlcyhQeU9iamVjdCAqZ2l2ZW4sIFB5T2JqZWN0ICpleGMpCisKKyAgIFJldHVybiB0cnVlIGlmIHRoZSAqZ2l2ZW4qIGV4Y2VwdGlvbiBtYXRjaGVzIHRoZSBleGNlcHRpb24gdHlwZSBpbiAqZXhjKi4gIElmCisgICAqZXhjKiBpcyBhIGNsYXNzIG9iamVjdCwgdGhpcyBhbHNvIHJldHVybnMgdHJ1ZSB3aGVuICpnaXZlbiogaXMgYW4gaW5zdGFuY2UKKyAgIG9mIGEgc3ViY2xhc3MuICBJZiAqZXhjKiBpcyBhIHR1cGxlLCBhbGwgZXhjZXB0aW9uIHR5cGVzIGluIHRoZSB0dXBsZSAoYW5kCisgICByZWN1cnNpdmVseSBpbiBzdWJ0dXBsZXMpIGFyZSBzZWFyY2hlZCBmb3IgYSBtYXRjaC4KKworCisuLiBjOmZ1bmN0aW9uOjogdm9pZCBQeUVycl9GZXRjaChQeU9iamVjdCAqKnB0eXBlLCBQeU9iamVjdCAqKnB2YWx1ZSwgUHlPYmplY3QgKipwdHJhY2ViYWNrKQorCisgICBSZXRyaWV2ZSB0aGUgZXJyb3IgaW5kaWNhdG9yIGludG8gdGhyZWUgdmFyaWFibGVzIHdob3NlIGFkZHJlc3NlcyBhcmUgcGFzc2VkLgorICAgSWYgdGhlIGVycm9yIGluZGljYXRvciBpcyBub3Qgc2V0LCBzZXQgYWxsIHRocmVlIHZhcmlhYmxlcyB0byAqTlVMTCouICBJZiBpdCBpcworICAgc2V0LCBpdCB3aWxsIGJlIGNsZWFyZWQgYW5kIHlvdSBvd24gYSByZWZlcmVuY2UgdG8gZWFjaCBvYmplY3QgcmV0cmlldmVkLiAgVGhlCisgICB2YWx1ZSBhbmQgdHJhY2ViYWNrIG9iamVjdCBtYXkgYmUgKk5VTEwqIGV2ZW4gd2hlbiB0aGUgdHlwZSBvYmplY3QgaXMgbm90LgorCisgICAuLiBub3RlOjoKKworICAgICAgVGhpcyBmdW5jdGlvbiBpcyBub3JtYWxseSBvbmx5IHVzZWQgYnkgY29kZSB0aGF0IG5lZWRzIHRvIGNhdGNoIGV4Y2VwdGlvbnMgb3IKKyAgICAgIGJ5IGNvZGUgdGhhdCBuZWVkcyB0byBzYXZlIGFuZCByZXN0b3JlIHRoZSBlcnJvciBpbmRpY2F0b3IgdGVtcG9yYXJpbHksIGUuZy46OgorCisgICAgICAgICB7CisgICAgICAgICAgICBQeU9iamVjdCAqKnR5cGUsICoqdmFsdWUsICoqdHJhY2ViYWNrOworICAgICAgICAgICAgUHlFcnJfRmV0Y2goJnR5cGUsICZ2YWx1ZSwgJnRyYWNlYmFjayk7CisKKyAgICAgICAgICAgIC8qIC4uLiBjb2RlIHRoYXQgbWlnaHQgcHJvZHVjZSBvdGhlciBlcnJvcnMgLi4uICovCisKKyAgICAgICAgICAgIFB5RXJyX1Jlc3RvcmUodHlwZSwgdmFsdWUsIHRyYWNlYmFjayk7CisgICAgICAgICB9CisKKworLi4gYzpmdW5jdGlvbjo6IHZvaWQgUHlFcnJfUmVzdG9yZShQeU9iamVjdCAqdHlwZSwgUHlPYmplY3QgKnZhbHVlLCBQeU9iamVjdCAqdHJhY2ViYWNrKQorCisgICBTZXQgIHRoZSBlcnJvciBpbmRpY2F0b3IgZnJvbSB0aGUgdGhyZWUgb2JqZWN0cy4gIElmIHRoZSBlcnJvciBpbmRpY2F0b3IgaXMKKyAgIGFscmVhZHkgc2V0LCBpdCBpcyBjbGVhcmVkIGZpcnN0LiAgSWYgdGhlIG9iamVjdHMgYXJlICpOVUxMKiwgdGhlIGVycm9yCisgICBpbmRpY2F0b3IgaXMgY2xlYXJlZC4gIERvIG5vdCBwYXNzIGEgKk5VTEwqIHR5cGUgYW5kIG5vbi0qTlVMTCogdmFsdWUgb3IKKyAgIHRyYWNlYmFjay4gIFRoZSBleGNlcHRpb24gdHlwZSBzaG91bGQgYmUgYSBjbGFzcy4gIERvIG5vdCBwYXNzIGFuIGludmFsaWQKKyAgIGV4Y2VwdGlvbiB0eXBlIG9yIHZhbHVlLiAoVmlvbGF0aW5nIHRoZXNlIHJ1bGVzIHdpbGwgY2F1c2Ugc3VidGxlIHByb2JsZW1zCisgICBsYXRlci4pICBUaGlzIGNhbGwgdGFrZXMgYXdheSBhIHJlZmVyZW5jZSB0byBlYWNoIG9iamVjdDogeW91IG11c3Qgb3duIGEKKyAgIHJlZmVyZW5jZSB0byBlYWNoIG9iamVjdCBiZWZvcmUgdGhlIGNhbGwgYW5kIGFmdGVyIHRoZSBjYWxsIHlvdSBubyBsb25nZXIgb3duCisgICB0aGVzZSByZWZlcmVuY2VzLiAgKElmIHlvdSBkb24ndCB1bmRlcnN0YW5kIHRoaXMsIGRvbid0IHVzZSB0aGlzIGZ1bmN0aW9uLiAgSQorICAgd2FybmVkIHlvdS4pCisKKyAgIC4uIG5vdGU6OgorCisgICAgICBUaGlzIGZ1bmN0aW9uIGlzIG5vcm1hbGx5IG9ubHkgdXNlZCBieSBjb2RlIHRoYXQgbmVlZHMgdG8gc2F2ZSBhbmQgcmVzdG9yZSB0aGUKKyAgICAgIGVycm9yIGluZGljYXRvciB0ZW1wb3JhcmlseS4gIFVzZSA6YzpmdW5jOmBQeUVycl9GZXRjaGAgdG8gc2F2ZSB0aGUgY3VycmVudAorICAgICAgZXJyb3IgaW5kaWNhdG9yLgorCisKKy4uIGM6ZnVuY3Rpb246OiB2b2lkIFB5RXJyX05vcm1hbGl6ZUV4Y2VwdGlvbihQeU9iamVjdCoqZXhjLCBQeU9iamVjdCoqdmFsLCBQeU9iamVjdCoqdGIpCisKKyAgIFVuZGVyIGNlcnRhaW4gY2lyY3Vtc3RhbmNlcywgdGhlIHZhbHVlcyByZXR1cm5lZCBieSA6YzpmdW5jOmBQeUVycl9GZXRjaGAgYmVsb3cKKyAgIGNhbiBiZSAidW5ub3JtYWxpemVkIiwgbWVhbmluZyB0aGF0IGBgKmV4Y2BgIGlzIGEgY2xhc3Mgb2JqZWN0IGJ1dCBgYCp2YWxgYCBpcworICAgbm90IGFuIGluc3RhbmNlIG9mIHRoZSAgc2FtZSBjbGFzcy4gIFRoaXMgZnVuY3Rpb24gY2FuIGJlIHVzZWQgdG8gaW5zdGFudGlhdGUKKyAgIHRoZSBjbGFzcyBpbiB0aGF0IGNhc2UuICBJZiB0aGUgdmFsdWVzIGFyZSBhbHJlYWR5IG5vcm1hbGl6ZWQsIG5vdGhpbmcgaGFwcGVucy4KKyAgIFRoZSBkZWxheWVkIG5vcm1hbGl6YXRpb24gaXMgaW1wbGVtZW50ZWQgdG8gaW1wcm92ZSBwZXJmb3JtYW5jZS4KKworICAgLi4gbm90ZTo6CisKKyAgICAgIFRoaXMgZnVuY3Rpb24gKmRvZXMgbm90KiBpbXBsaWNpdGx5IHNldCB0aGUgYGBfX3RyYWNlYmFja19fYGAKKyAgICAgIGF0dHJpYnV0ZSBvbiB0aGUgZXhjZXB0aW9uIHZhbHVlLiBJZiBzZXR0aW5nIHRoZSB0cmFjZWJhY2sKKyAgICAgIGFwcHJvcHJpYXRlbHkgaXMgZGVzaXJlZCwgdGhlIGZvbGxvd2luZyBhZGRpdGlvbmFsIHNuaXBwZXQgaXMgbmVlZGVkOjoKKworICAgICAgICAgaWYgKHRiICE9IE5VTEwpIHsKKyAgICAgICAgICAgUHlFeGNlcHRpb25fU2V0VHJhY2ViYWNrKHZhbCwgdGIpOworICAgICAgICAgfQorCisKKy4uIGM6ZnVuY3Rpb246OiB2b2lkIFB5RXJyX0dldEV4Y0luZm8oUHlPYmplY3QgKipwdHlwZSwgUHlPYmplY3QgKipwdmFsdWUsIFB5T2JqZWN0ICoqcHRyYWNlYmFjaykKKworICAgUmV0cmlldmUgdGhlIGV4Y2VwdGlvbiBpbmZvLCBhcyBrbm93biBmcm9tIGBgc3lzLmV4Y19pbmZvKClgYC4gIFRoaXMgcmVmZXJzCisgICB0byBhbiBleGNlcHRpb24gdGhhdCB3YXMgKmFscmVhZHkgY2F1Z2h0Kiwgbm90IHRvIGFuIGV4Y2VwdGlvbiB0aGF0IHdhcworICAgZnJlc2hseSByYWlzZWQuICBSZXR1cm5zIG5ldyByZWZlcmVuY2VzIGZvciB0aGUgdGhyZWUgb2JqZWN0cywgYW55IG9mIHdoaWNoCisgICBtYXkgYmUgKk5VTEwqLiAgRG9lcyBub3QgbW9kaWZ5IHRoZSBleGNlcHRpb24gaW5mbyBzdGF0ZS4KKworICAgLi4gbm90ZTo6CisKKyAgICAgIFRoaXMgZnVuY3Rpb24gaXMgbm90IG5vcm1hbGx5IHVzZWQgYnkgY29kZSB0aGF0IHdhbnRzIHRvIGhhbmRsZSBleGNlcHRpb25zLgorICAgICAgUmF0aGVyLCBpdCBjYW4gYmUgdXNlZCB3aGVuIGNvZGUgbmVlZHMgdG8gc2F2ZSBhbmQgcmVzdG9yZSB0aGUgZXhjZXB0aW9uCisgICAgICBzdGF0ZSB0ZW1wb3JhcmlseS4gIFVzZSA6YzpmdW5jOmBQeUVycl9TZXRFeGNJbmZvYCB0byByZXN0b3JlIG9yIGNsZWFyIHRoZQorICAgICAgZXhjZXB0aW9uIHN0YXRlLgorCisgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjMKKworCisuLiBjOmZ1bmN0aW9uOjogdm9pZCBQeUVycl9TZXRFeGNJbmZvKFB5T2JqZWN0ICp0eXBlLCBQeU9iamVjdCAqdmFsdWUsIFB5T2JqZWN0ICp0cmFjZWJhY2spCisKKyAgIFNldCB0aGUgZXhjZXB0aW9uIGluZm8sIGFzIGtub3duIGZyb20gYGBzeXMuZXhjX2luZm8oKWBgLiAgVGhpcyByZWZlcnMKKyAgIHRvIGFuIGV4Y2VwdGlvbiB0aGF0IHdhcyAqYWxyZWFkeSBjYXVnaHQqLCBub3QgdG8gYW4gZXhjZXB0aW9uIHRoYXQgd2FzCisgICBmcmVzaGx5IHJhaXNlZC4gIFRoaXMgZnVuY3Rpb24gc3RlYWxzIHRoZSByZWZlcmVuY2VzIG9mIHRoZSBhcmd1bWVudHMuCisgICBUbyBjbGVhciB0aGUgZXhjZXB0aW9uIHN0YXRlLCBwYXNzICpOVUxMKiBmb3IgYWxsIHRocmVlIGFyZ3VtZW50cy4KKyAgIEZvciBnZW5lcmFsIHJ1bGVzIGFib3V0IHRoZSB0aHJlZSBhcmd1bWVudHMsIHNlZSA6YzpmdW5jOmBQeUVycl9SZXN0b3JlYC4KKworICAgLi4gbm90ZTo6CisKKyAgICAgIFRoaXMgZnVuY3Rpb24gaXMgbm90IG5vcm1hbGx5IHVzZWQgYnkgY29kZSB0aGF0IHdhbnRzIHRvIGhhbmRsZSBleGNlcHRpb25zLgorICAgICAgUmF0aGVyLCBpdCBjYW4gYmUgdXNlZCB3aGVuIGNvZGUgbmVlZHMgdG8gc2F2ZSBhbmQgcmVzdG9yZSB0aGUgZXhjZXB0aW9uCisgICAgICBzdGF0ZSB0ZW1wb3JhcmlseS4gIFVzZSA6YzpmdW5jOmBQeUVycl9HZXRFeGNJbmZvYCB0byByZWFkIHRoZSBleGNlcHRpb24KKyAgICAgIHN0YXRlLgorCisgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjMKKworCitTaWduYWwgSGFuZGxpbmcKKz09PT09PT09PT09PT09PQorCisKIC4uIGM6ZnVuY3Rpb246OiBpbnQgUHlFcnJfQ2hlY2tTaWduYWxzKCkKIAogICAgLi4gaW5kZXg6OgpAQCAtNDQzLDEzICs1MDAsMjEgQEAKIAogLi4gYzpmdW5jdGlvbjo6IGludCBQeVNpZ25hbF9TZXRXYWtldXBGZChpbnQgZmQpCiAKLSAgIFRoaXMgdXRpbGl0eSBmdW5jdGlvbiBzcGVjaWZpZXMgYSBmaWxlIGRlc2NyaXB0b3IgdG8gd2hpY2ggYSBgYCdcMCdgYCBieXRlIHdpbGwKLSAgIGJlIHdyaXR0ZW4gd2hlbmV2ZXIgYSBzaWduYWwgaXMgcmVjZWl2ZWQuICBJdCByZXR1cm5zIHRoZSBwcmV2aW91cyBzdWNoIGZpbGUKLSAgIGRlc2NyaXB0b3IuICBUaGUgdmFsdWUgYGAtMWBgIGRpc2FibGVzIHRoZSBmZWF0dXJlOyB0aGlzIGlzIHRoZSBpbml0aWFsIHN0YXRlLgorICAgVGhpcyB1dGlsaXR5IGZ1bmN0aW9uIHNwZWNpZmllcyBhIGZpbGUgZGVzY3JpcHRvciB0byB3aGljaCB0aGUgc2lnbmFsIG51bWJlcgorICAgaXMgd3JpdHRlbiBhcyBhIHNpbmdsZSBieXRlIHdoZW5ldmVyIGEgc2lnbmFsIGlzIHJlY2VpdmVkLiAqZmQqIG11c3QgYmUKKyAgIG5vbi1ibG9ja2luZy4gSXQgcmV0dXJucyB0aGUgcHJldmlvdXMgc3VjaCBmaWxlIGRlc2NyaXB0b3IuCisKKyAgIFRoZSB2YWx1ZSBgYC0xYGAgZGlzYWJsZXMgdGhlIGZlYXR1cmU7IHRoaXMgaXMgdGhlIGluaXRpYWwgc3RhdGUuCiAgICBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gOmZ1bmM6YHNpZ25hbC5zZXRfd2FrZXVwX2ZkYCBpbiBQeXRob24sIGJ1dCB3aXRob3V0IGFueQogICAgZXJyb3IgY2hlY2tpbmcuICAqZmQqIHNob3VsZCBiZSBhIHZhbGlkIGZpbGUgZGVzY3JpcHRvci4gIFRoZSBmdW5jdGlvbiBzaG91bGQKICAgIG9ubHkgYmUgY2FsbGVkIGZyb20gdGhlIG1haW4gdGhyZWFkLgogCisgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuNQorICAgICAgT24gV2luZG93cywgdGhlIGZ1bmN0aW9uIG5vdyBhbHNvIHN1cHBvcnRzIHNvY2tldCBoYW5kbGVzLgorCisKK0V4Y2VwdGlvbiBDbGFzc2VzCis9PT09PT09PT09PT09PT09PQogCiAuLiBjOmZ1bmN0aW9uOjogUHlPYmplY3QqIFB5RXJyX05ld0V4Y2VwdGlvbihjaGFyICpuYW1lLCBQeU9iamVjdCAqYmFzZSwgUHlPYmplY3QgKmRpY3QpCiAKQEAgLTQ3NSwxOCArNTQwLDYgQEAKICAgIC4uIHZlcnNpb25hZGRlZDo6IDMuMgogCiAKLS4uIGM6ZnVuY3Rpb246OiB2b2lkIFB5RXJyX1dyaXRlVW5yYWlzYWJsZShQeU9iamVjdCAqb2JqKQotCi0gICBUaGlzIHV0aWxpdHkgZnVuY3Rpb24gcHJpbnRzIGEgd2FybmluZyBtZXNzYWdlIHRvIGBgc3lzLnN0ZGVycmBgIHdoZW4gYW4KLSAgIGV4Y2VwdGlvbiBoYXMgYmVlbiBzZXQgYnV0IGl0IGlzIGltcG9zc2libGUgZm9yIHRoZSBpbnRlcnByZXRlciB0byBhY3R1YWxseQotICAgcmFpc2UgdGhlIGV4Y2VwdGlvbi4gIEl0IGlzIHVzZWQsIGZvciBleGFtcGxlLCB3aGVuIGFuIGV4Y2VwdGlvbiBvY2N1cnMgaW4gYW4KLSAgIDptZXRoOmBfX2RlbF9fYCBtZXRob2QuCi0KLSAgIFRoZSBmdW5jdGlvbiBpcyBjYWxsZWQgd2l0aCBhIHNpbmdsZSBhcmd1bWVudCAqb2JqKiB0aGF0IGlkZW50aWZpZXMgdGhlIGNvbnRleHQKLSAgIGluIHdoaWNoIHRoZSB1bnJhaXNhYmxlIGV4Y2VwdGlvbiBvY2N1cnJlZC4gVGhlIHJlcHIgb2YgKm9iaiogd2lsbCBiZSBwcmludGVkIGluCi0gICB0aGUgd2FybmluZyBtZXNzYWdlLgotCi0KIEV4Y2VwdGlvbiBPYmplY3RzCiA9PT09PT09PT09PT09PT09PQogCmRpZmYgLS1naXQgYS9Eb2MvYy1hcGkvaW5pdC5yc3QgYi9Eb2MvYy1hcGkvaW5pdC5yc3QKaW5kZXggNGQzNThjYS4uZmFjOWI0NyAxMDA2NDQKLS0tIGEvRG9jL2MtYXBpL2luaXQucnN0CisrKyBiL0RvYy9jLWFwaS9pbml0LnJzdApAQCAtMTM0LDYgKzEzNCw5IEBACiAgICBjaGFuZ2UgZm9yIHRoZSBkdXJhdGlvbiBvZiB0aGUgcHJvZ3JhbSdzIGV4ZWN1dGlvbi4gIE5vIGNvZGUgaW4gdGhlIFB5dGhvbgogICAgaW50ZXJwcmV0ZXIgd2lsbCBjaGFuZ2UgdGhlIGNvbnRlbnRzIG9mIHRoaXMgc3RvcmFnZS4KIAorICAgVXNlIDpjOmZ1bmM6YFB5X0RlY29kZUxvY2FsZWAgdG8gZGVjb2RlIGEgYnl0ZXMgc3RyaW5nIHRvIGdldCBhCisgICA6Yzp0eXBlOmB3Y2hhcl8qYCBzdHJpbmcuCisKIAogLi4gYzpmdW5jdGlvbjo6IHdjaGFyKiBQeV9HZXRQcm9ncmFtTmFtZSgpCiAKQEAgLTI0NSw2ICsyNDgsOSBAQAogICAgOmRhdGE6YHN5cy5leGVjX3ByZWZpeGAgdG8gYmUgZW1wdHkuICBJdCBpcyB1cCB0byB0aGUgY2FsbGVyIHRvIG1vZGlmeSB0aGVzZQogICAgaWYgcmVxdWlyZWQgYWZ0ZXIgY2FsbGluZyA6YzpmdW5jOmBQeV9Jbml0aWFsaXplYC4KIAorICAgVXNlIDpjOmZ1bmM6YFB5X0RlY29kZUxvY2FsZWAgdG8gZGVjb2RlIGEgYnl0ZXMgc3RyaW5nIHRvIGdldCBhCisgICA6Yzp0eXBlOmB3Y2hhcl8qYCBzdHJpbmcuCisKICAgIFRoZSBwYXRoIGFyZ3VtZW50IGlzIGNvcGllZCBpbnRlcm5hbGx5LCBzbyB0aGUgY2FsbGVyIG1heSBmcmVlIGl0IGFmdGVyIHRoZQogICAgY2FsbCBjb21wbGV0ZXMuCiAKQEAgLTM0NCw2ICszNTAsOSBAQAogICAgICA6ZGF0YTpgc3lzLnBhdGhgLCB3aGljaCBpcyB0aGUgc2FtZSBhcyBwcmVwZW5kaW5nIHRoZSBjdXJyZW50IHdvcmtpbmcKICAgICAgZGlyZWN0b3J5IChgYCIuImBgKS4KIAorICAgVXNlIDpjOmZ1bmM6YFB5X0RlY29kZUxvY2FsZWAgdG8gZGVjb2RlIGEgYnl0ZXMgc3RyaW5nIHRvIGdldCBhCisgICA6Yzp0eXBlOmB3Y2hhcl8qYCBzdHJpbmcuCisKICAgIC4uIG5vdGU6OgogICAgICAgSXQgaXMgcmVjb21tZW5kZWQgdGhhdCBhcHBsaWNhdGlvbnMgZW1iZWRkaW5nIHRoZSBQeXRob24gaW50ZXJwcmV0ZXIKICAgICAgIGZvciBwdXJwb3NlcyBvdGhlciB0aGFuIGV4ZWN1dGluZyBhIHNpbmdsZSBzY3JpcHQgcGFzcyAwIGFzICp1cGRhdGVwYXRoKiwKQEAgLTM2OCw2ICszNzcsOSBAQAogICAgdG8gMSB1bmxlc3MgdGhlIDpwcm9ncmFtOmBweXRob25gIGludGVycHJldGVyIHdhcyBzdGFydGVkIHdpdGggdGhlCiAgICA6b3B0aW9uOmAtSWAuCiAKKyAgIFVzZSA6YzpmdW5jOmBQeV9EZWNvZGVMb2NhbGVgIHRvIGRlY29kZSBhIGJ5dGVzIHN0cmluZyB0byBnZXQgYQorICAgOmM6dHlwZTpgd2NoYXJfKmAgc3RyaW5nLgorCiAgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuNCBUaGUgKnVwZGF0ZXBhdGgqIHZhbHVlIGRlcGVuZHMgb24gOm9wdGlvbjpgLUlgLgogCiAKQEAgLTM4Miw2ICszOTQsOSBAQAogICAgZXhlY3V0aW9uLiAgTm8gY29kZSBpbiB0aGUgUHl0aG9uIGludGVycHJldGVyIHdpbGwgY2hhbmdlIHRoZSBjb250ZW50cyBvZgogICAgdGhpcyBzdG9yYWdlLgogCisgICBVc2UgOmM6ZnVuYzpgUHlfRGVjb2RlTG9jYWxlYCB0byBkZWNvZGUgYSBieXRlcyBzdHJpbmcgdG8gZ2V0IGEKKyAgIDpjOnR5cGU6YHdjaGFyXypgIHN0cmluZy4KKwogCiAuLiBjOmZ1bmN0aW9uOjogd19jaGFyKiBQeV9HZXRQeXRob25Ib21lKCkKIApkaWZmIC0tZ2l0IGEvRG9jL2MtYXBpL21lbW9yeS5yc3QgYi9Eb2MvYy1hcGkvbWVtb3J5LnJzdAppbmRleCBhODJlMWMyLi41ZDc4ZjM4IDEwMDY0NAotLS0gYS9Eb2MvYy1hcGkvbWVtb3J5LnJzdAorKysgYi9Eb2MvYy1hcGkvbWVtb3J5LnJzdApAQCAtOTIsOCArOTIsOCBAQAogbmVlZCB0byBiZSBoZWxkLgogCiBUaGUgZGVmYXVsdCByYXcgbWVtb3J5IGJsb2NrIGFsbG9jYXRvciB1c2VzIHRoZSBmb2xsb3dpbmcgZnVuY3Rpb25zOgotOmM6ZnVuYzpgbWFsbG9jYCwgOmM6ZnVuYzpgcmVhbGxvY2AgYW5kIDpjOmZ1bmM6YGZyZWVgOyBjYWxsIGBgbWFsbG9jKDEpYGAgd2hlbgotcmVxdWVzdGluZyB6ZXJvIGJ5dGVzLgorOmM6ZnVuYzpgbWFsbG9jYCwgOmM6ZnVuYzpgY2FsbG9jYCwgOmM6ZnVuYzpgcmVhbGxvY2AgYW5kIDpjOmZ1bmM6YGZyZWVgOyBjYWxsCitgYG1hbGxvYygxKWBgIChvciBgYGNhbGxvYygxLCAxKWBgKSB3aGVuIHJlcXVlc3RpbmcgemVybyBieXRlcy4KIAogLi4gdmVyc2lvbmFkZGVkOjogMy40CiAKQEAgLTEwNiw2ICsxMDYsMTcgQEAKICAgIGJlZW4gaW5pdGlhbGl6ZWQgaW4gYW55IHdheS4KIAogCisuLiBjOmZ1bmN0aW9uOjogdm9pZCogUHlNZW1fUmF3Q2FsbG9jKHNpemVfdCBuZWxlbSwgc2l6ZV90IGVsc2l6ZSkKKworICAgQWxsb2NhdGVzICpuZWxlbSogZWxlbWVudHMgZWFjaCB3aG9zZSBzaXplIGluIGJ5dGVzIGlzICplbHNpemUqIGFuZCByZXR1cm5zCisgICBhIHBvaW50ZXIgb2YgdHlwZSA6Yzp0eXBlOmB2b2lkXCpgIHRvIHRoZSBhbGxvY2F0ZWQgbWVtb3J5LCBvciAqTlVMTCogaWYgdGhlCisgICByZXF1ZXN0IGZhaWxzLiBUaGUgbWVtb3J5IGlzIGluaXRpYWxpemVkIHRvIHplcm9zLiBSZXF1ZXN0aW5nIHplcm8gZWxlbWVudHMKKyAgIG9yIGVsZW1lbnRzIG9mIHNpemUgemVybyBieXRlcyByZXR1cm5zIGEgZGlzdGluY3Qgbm9uLSpOVUxMKiBwb2ludGVyIGlmCisgICBwb3NzaWJsZSwgYXMgaWYgYGBQeU1lbV9SYXdDYWxsb2MoMSwgMSlgYCBoYWQgYmVlbiBjYWxsZWQgaW5zdGVhZC4KKworICAgLi4gdmVyc2lvbmFkZGVkOjogMy41CisKKwogLi4gYzpmdW5jdGlvbjo6IHZvaWQqIFB5TWVtX1Jhd1JlYWxsb2Modm9pZCAqcCwgc2l6ZV90IG4pCiAKICAgIFJlc2l6ZXMgdGhlIG1lbW9yeSBibG9jayBwb2ludGVkIHRvIGJ5ICpwKiB0byAqbiogYnl0ZXMuIFRoZSBjb250ZW50cyB3aWxsCkBAIC0xMzYsOCArMTQ3LDggQEAKIG1lbW9yeSBmcm9tIHRoZSBQeXRob24gaGVhcC4KIAogVGhlIGRlZmF1bHQgbWVtb3J5IGJsb2NrIGFsbG9jYXRvciB1c2VzIHRoZSBmb2xsb3dpbmcgZnVuY3Rpb25zOgotOmM6ZnVuYzpgbWFsbG9jYCwgOmM6ZnVuYzpgcmVhbGxvY2AgYW5kIDpjOmZ1bmM6YGZyZWVgOyBjYWxsIGBgbWFsbG9jKDEpYGAgd2hlbgotcmVxdWVzdGluZyB6ZXJvIGJ5dGVzLgorOmM6ZnVuYzpgbWFsbG9jYCwgOmM6ZnVuYzpgY2FsbG9jYCwgOmM6ZnVuYzpgcmVhbGxvY2AgYW5kIDpjOmZ1bmM6YGZyZWVgOyBjYWxsCitgYG1hbGxvYygxKWBgIChvciBgYGNhbGxvYygxLCAxKWBgKSB3aGVuIHJlcXVlc3RpbmcgemVybyBieXRlcy4KIAogLi4gd2FybmluZzo6CiAKQEAgLTE1Miw2ICsxNjMsMTcgQEAKICAgIGJlZW4gY2FsbGVkIGluc3RlYWQuIFRoZSBtZW1vcnkgd2lsbCBub3QgaGF2ZSBiZWVuIGluaXRpYWxpemVkIGluIGFueSB3YXkuCiAKIAorLi4gYzpmdW5jdGlvbjo6IHZvaWQqIFB5TWVtX0NhbGxvYyhzaXplX3QgbmVsZW0sIHNpemVfdCBlbHNpemUpCisKKyAgIEFsbG9jYXRlcyAqbmVsZW0qIGVsZW1lbnRzIGVhY2ggd2hvc2Ugc2l6ZSBpbiBieXRlcyBpcyAqZWxzaXplKiBhbmQgcmV0dXJucworICAgYSBwb2ludGVyIG9mIHR5cGUgOmM6dHlwZTpgdm9pZFwqYCB0byB0aGUgYWxsb2NhdGVkIG1lbW9yeSwgb3IgKk5VTEwqIGlmIHRoZQorICAgcmVxdWVzdCBmYWlscy4gVGhlIG1lbW9yeSBpcyBpbml0aWFsaXplZCB0byB6ZXJvcy4gUmVxdWVzdGluZyB6ZXJvIGVsZW1lbnRzCisgICBvciBlbGVtZW50cyBvZiBzaXplIHplcm8gYnl0ZXMgcmV0dXJucyBhIGRpc3RpbmN0IG5vbi0qTlVMTCogcG9pbnRlciBpZgorICAgcG9zc2libGUsIGFzIGlmIGBgUHlNZW1fQ2FsbG9jKDEsIDEpYGAgaGFkIGJlZW4gY2FsbGVkIGluc3RlYWQuCisKKyAgIC4uIHZlcnNpb25hZGRlZDo6IDMuNQorCisKIC4uIGM6ZnVuY3Rpb246OiB2b2lkKiBQeU1lbV9SZWFsbG9jKHZvaWQgKnAsIHNpemVfdCBuKQogCiAgICBSZXNpemVzIHRoZSBtZW1vcnkgYmxvY2sgcG9pbnRlZCB0byBieSAqcCogdG8gKm4qIGJ5dGVzLiBUaGUgY29udGVudHMgd2lsbCBiZQpAQCAtMjEwLDcgKzIzMiw3IEBACiAKIC4uIHZlcnNpb25hZGRlZDo6IDMuNAogCi0uLiBjOnR5cGU6OiBQeU1lbUFsbG9jYXRvcgorLi4gYzp0eXBlOjogUHlNZW1BbGxvY2F0b3JFeAogCiAgICBTdHJ1Y3R1cmUgdXNlZCB0byBkZXNjcmliZSBhIG1lbW9yeSBibG9jayBhbGxvY2F0b3IuIFRoZSBzdHJ1Y3R1cmUgaGFzCiAgICBmb3VyIGZpZWxkczoKQEAgLTIyMiwxMSArMjQ0LDE5IEBACiAgICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCiAgICB8IGBgdm9pZCogbWFsbG9jKHZvaWQgKmN0eCwgc2l6ZV90IHNpemUpYGAgICAgICAgICAgICAgICAgIHwgYWxsb2NhdGUgYSBtZW1vcnkgYmxvY2sgICAgICAgICAgICAgICB8CiAgICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCisgICB8IGBgdm9pZCogY2FsbG9jKHZvaWQgKmN0eCwgc2l6ZV90IG5lbGVtLCBzaXplX3QgZWxzaXplKWBgIHwgYWxsb2NhdGUgYSBtZW1vcnkgYmxvY2sgaW5pdGlhbGl6ZWQgICB8CisgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgd2l0aCB6ZXJvcyAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CisgICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCiAgICB8IGBgdm9pZCogcmVhbGxvYyh2b2lkICpjdHgsIHZvaWQgKnB0ciwgc2l6ZV90IG5ld19zaXplKWBgIHwgYWxsb2NhdGUgb3IgcmVzaXplIGEgbWVtb3J5IGJsb2NrICAgICB8CiAgICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCiAgICB8IGBgdm9pZCBmcmVlKHZvaWQgKmN0eCwgdm9pZCAqcHRyKWBgICAgICAgICAgICAgICAgICAgICAgIHwgZnJlZSBhIG1lbW9yeSBibG9jayAgICAgICAgICAgICAgICAgICB8CiAgICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCiAKKyAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy41CisgICAgICBUaGUgOmM6dHlwZTpgUHlNZW1BbGxvY2F0b3JgIHN0cnVjdHVyZSB3YXMgcmVuYW1lZCB0bworICAgICAgOmM6dHlwZTpgUHlNZW1BbGxvY2F0b3JFeGAgYW5kIGEgbmV3IGBgY2FsbG9jYGAgZmllbGQgd2FzIGFkZGVkLgorCisKIC4uIGM6dHlwZTo6IFB5TWVtQWxsb2NhdG9yRG9tYWluCiAKICAgIEVudW0gdXNlZCB0byBpZGVudGlmeSBhbiBhbGxvY2F0b3IgZG9tYWluLiBEb21haW5zOgpAQCAtMjM5LDEyICsyNjksMTIgQEAKICAgICAgOmM6ZnVuYzpgUHlPYmplY3RfUmVhbGxvY2AgYW5kIDpjOmZ1bmM6YFB5T2JqZWN0X0ZyZWVgCiAKIAotLi4gYzpmdW5jdGlvbjo6IHZvaWQgUHlNZW1fR2V0QWxsb2NhdG9yKFB5TWVtQWxsb2NhdG9yRG9tYWluIGRvbWFpbiwgUHlNZW1BbGxvY2F0b3IgKmFsbG9jYXRvcikKKy4uIGM6ZnVuY3Rpb246OiB2b2lkIFB5TWVtX0dldEFsbG9jYXRvcihQeU1lbUFsbG9jYXRvckRvbWFpbiBkb21haW4sIFB5TWVtQWxsb2NhdG9yRXggKmFsbG9jYXRvcikKIAogICAgR2V0IHRoZSBtZW1vcnkgYmxvY2sgYWxsb2NhdG9yIG9mIHRoZSBzcGVjaWZpZWQgZG9tYWluLgogCiAKLS4uIGM6ZnVuY3Rpb246OiB2b2lkIFB5TWVtX1NldEFsbG9jYXRvcihQeU1lbUFsbG9jYXRvckRvbWFpbiBkb21haW4sIFB5TWVtQWxsb2NhdG9yICphbGxvY2F0b3IpCisuLiBjOmZ1bmN0aW9uOjogdm9pZCBQeU1lbV9TZXRBbGxvY2F0b3IoUHlNZW1BbGxvY2F0b3JEb21haW4gZG9tYWluLCBQeU1lbUFsbG9jYXRvckV4ICphbGxvY2F0b3IpCiAKICAgIFNldCB0aGUgbWVtb3J5IGJsb2NrIGFsbG9jYXRvciBvZiB0aGUgc3BlY2lmaWVkIGRvbWFpbi4KIApkaWZmIC0tZ2l0IGEvRG9jL2MtYXBpL251bWJlci5yc3QgYi9Eb2MvYy1hcGkvbnVtYmVyLnJzdAppbmRleCAyMTk1MWMzLi45YmNiNjQ5IDEwMDY0NAotLS0gYS9Eb2MvYy1hcGkvbnVtYmVyLnJzdAorKysgYi9Eb2MvYy1hcGkvbnVtYmVyLnJzdApAQCAtMzAsNiArMzAsMTQgQEAKICAgIHRoZSBlcXVpdmFsZW50IG9mIHRoZSBQeXRob24gZXhwcmVzc2lvbiBgYG8xICogbzJgYC4KIAogCisuLiBjOmZ1bmN0aW9uOjogUHlPYmplY3QqIFB5TnVtYmVyX01hdHJpeE11bHRpcGx5KFB5T2JqZWN0ICpvMSwgUHlPYmplY3QgKm8yKQorCisgICBSZXR1cm5zIHRoZSByZXN1bHQgb2YgbWF0cml4IG11bHRpcGxpY2F0aW9uIG9uICpvMSogYW5kICpvMiosIG9yICpOVUxMKiBvbgorICAgZmFpbHVyZS4gIFRoaXMgaXMgdGhlIGVxdWl2YWxlbnQgb2YgdGhlIFB5dGhvbiBleHByZXNzaW9uIGBgbzEgQCBvMmBgLgorCisgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjUKKworCiAuLiBjOmZ1bmN0aW9uOjogUHlPYmplY3QqIFB5TnVtYmVyX0Zsb29yRGl2aWRlKFB5T2JqZWN0ICpvMSwgUHlPYmplY3QgKm8yKQogCiAgICBSZXR1cm4gdGhlIGZsb29yIG9mICpvMSogZGl2aWRlZCBieSAqbzIqLCBvciAqTlVMTCogb24gZmFpbHVyZS4gIFRoaXMgaXMKQEAgLTE0Niw2ICsxNTQsMTUgQEAKICAgIHRoZSBQeXRob24gc3RhdGVtZW50IGBgbzEgKj0gbzJgYC4KIAogCisuLiBjOmZ1bmN0aW9uOjogUHlPYmplY3QqIFB5TnVtYmVyX0luUGxhY2VNYXRyaXhNdWx0aXBseShQeU9iamVjdCAqbzEsIFB5T2JqZWN0ICpvMikKKworICAgUmV0dXJucyB0aGUgcmVzdWx0IG9mIG1hdHJpeCBtdWx0aXBsaWNhdGlvbiBvbiAqbzEqIGFuZCAqbzIqLCBvciAqTlVMTCogb24KKyAgIGZhaWx1cmUuICBUaGUgb3BlcmF0aW9uIGlzIGRvbmUgKmluLXBsYWNlKiB3aGVuICpvMSogc3VwcG9ydHMgaXQuICBUaGlzIGlzCisgICB0aGUgZXF1aXZhbGVudCBvZiB0aGUgUHl0aG9uIHN0YXRlbWVudCBgYG8xIEA9IG8yYGAuCisKKyAgIC4uIHZlcnNpb25hZGRlZDo6IDMuNQorCisKIC4uIGM6ZnVuY3Rpb246OiBQeU9iamVjdCogUHlOdW1iZXJfSW5QbGFjZUZsb29yRGl2aWRlKFB5T2JqZWN0ICpvMSwgUHlPYmplY3QgKm8yKQogCiAgICBSZXR1cm5zIHRoZSBtYXRoZW1hdGljYWwgZmxvb3Igb2YgZGl2aWRpbmcgKm8xKiBieSAqbzIqLCBvciAqTlVMTCogb24gZmFpbHVyZS4KZGlmZiAtLWdpdCBhL0RvYy9jLWFwaS9zeXMucnN0IGIvRG9jL2MtYXBpL3N5cy5yc3QKaW5kZXggOTc2MGRjYS4uYTZhOTM5YyAxMDA2NDQKLS0tIGEvRG9jL2MtYXBpL3N5cy5yc3QKKysrIGIvRG9jL2MtYXBpL3N5cy5yc3QKQEAgLTQ3LDYgKzQ3LDYwIEBACiAgICBub3QgY2FsbCB0aG9zZSBmdW5jdGlvbnMgZGlyZWN0bHkhICA6Yzp0eXBlOmBQeU9TX3NpZ2hhbmRsZXJfdGAgaXMgYSB0eXBlZGVmCiAgICBhbGlhcyBmb3IgOmM6dHlwZTpgdm9pZCAoXCopKGludClgLgogCisuLiBjOmZ1bmN0aW9uOjogd2NoYXJfdCogUHlfRGVjb2RlTG9jYWxlKGNvbnN0IGNoYXIqIGFyZywgc2l6ZV90ICpzaXplKQorCisgICBEZWNvZGUgYSBieXRlIHN0cmluZyBmcm9tIHRoZSBsb2NhbGUgZW5jb2Rpbmcgd2l0aCB0aGUgOnJlZjpgc3Vycm9nYXRlZXNjYXBlCisgICBlcnJvciBoYW5kbGVyIDxzdXJyb2dhdGVlc2NhcGU+YDogdW5kZWNvZGFibGUgYnl0ZXMgYXJlIGRlY29kZWQgYXMKKyAgIGNoYXJhY3RlcnMgaW4gcmFuZ2UgVStEQzgwLi5VK0RDRkYuIElmIGEgYnl0ZSBzZXF1ZW5jZSBjYW4gYmUgZGVjb2RlZCBhcyBhCisgICBzdXJyb2dhdGUgY2hhcmFjdGVyLCBlc2NhcGUgdGhlIGJ5dGVzIHVzaW5nIHRoZSBzdXJyb2dhdGVlc2NhcGUgZXJyb3IKKyAgIGhhbmRsZXIgaW5zdGVhZCBvZiBkZWNvZGluZyB0aGVtLgorCisgICBSZXR1cm4gYSBwb2ludGVyIHRvIGEgbmV3bHkgYWxsb2NhdGVkIHdpZGUgY2hhcmFjdGVyIHN0cmluZywgdXNlCisgICA6YzpmdW5jOmBQeU1lbV9SYXdGcmVlYCB0byBmcmVlIHRoZSBtZW1vcnkuIElmIHNpemUgaXMgbm90IGBgTlVMTGBgLCB3cml0ZQorICAgdGhlIG51bWJlciBvZiB3aWRlIGNoYXJhY3RlcnMgZXhjbHVkaW5nIHRoZSBudWxsIGNoYXJhY3RlciBpbnRvIGBgKnNpemVgYAorCisgICBSZXR1cm4gYGBOVUxMYGAgb24gZGVjb2RpbmcgZXJyb3Igb3IgbWVtb3J5IGFsbG9jYXRpb24gZXJyb3IuIElmICpzaXplKiBpcworICAgbm90IGBgTlVMTGBgLCBgYCpzaXplYGAgaXMgc2V0IHRvIGBgKHNpemVfdCktMWBgIG9uIG1lbW9yeSBlcnJvciBvciBzZXQgdG8KKyAgIGBgKHNpemVfdCktMmBgIG9uIGRlY29kaW5nIGVycm9yLgorCisgICBEZWNvZGluZyBlcnJvcnMgc2hvdWxkIG5ldmVyIGhhcHBlbiwgdW5sZXNzIHRoZXJlIGlzIGEgYnVnIGluIHRoZSBDCisgICBsaWJyYXJ5LgorCisgICBVc2UgdGhlIDpjOmZ1bmM6YFB5X0VuY29kZUxvY2FsZWAgZnVuY3Rpb24gdG8gZW5jb2RlIHRoZSBjaGFyYWN0ZXIgc3RyaW5nCisgICBiYWNrIHRvIGEgYnl0ZSBzdHJpbmcuCisKKyAgIC4uIHNlZWFsc286OgorCisgICAgICBUaGUgOmM6ZnVuYzpgUHlVbmljb2RlX0RlY29kZUZTRGVmYXVsdEFuZFNpemVgIGFuZAorICAgICAgOmM6ZnVuYzpgUHlVbmljb2RlX0RlY29kZUxvY2FsZUFuZFNpemVgIGZ1bmN0aW9ucy4KKworICAgLi4gdmVyc2lvbmFkZGVkOjogMy41CisKKworLi4gYzpmdW5jdGlvbjo6IGNoYXIqIFB5X0VuY29kZUxvY2FsZShjb25zdCB3Y2hhcl90ICp0ZXh0LCBzaXplX3QgKmVycm9yX3BvcykKKworICAgRW5jb2RlIGEgd2lkZSBjaGFyYWN0ZXIgc3RyaW5nIHRvIHRoZSBsb2NhbGUgZW5jb2Rpbmcgd2l0aCB0aGUKKyAgIDpyZWY6YHN1cnJvZ2F0ZWVzY2FwZSBlcnJvciBoYW5kbGVyIDxzdXJyb2dhdGVlc2NhcGU+YDogc3Vycm9nYXRlIGNoYXJhY3RlcnMKKyAgIGluIHRoZSByYW5nZSBVK0RDODAuLlUrRENGRiBhcmUgY29udmVydGVkIHRvIGJ5dGVzIDB4ODAuLjB4RkYuCisKKyAgIFJldHVybiBhIHBvaW50ZXIgdG8gYSBuZXdseSBhbGxvY2F0ZWQgYnl0ZSBzdHJpbmcsIHVzZSA6YzpmdW5jOmBQeU1lbV9GcmVlYAorICAgdG8gZnJlZSB0aGUgbWVtb3J5LiBSZXR1cm4gYGBOVUxMYGAgb24gZW5jb2RpbmcgZXJyb3Igb3IgbWVtb3J5IGFsbG9jYXRpb24KKyAgIGVycm9yCisKKyAgIElmIGVycm9yX3BvcyBpcyBub3QgYGBOVUxMYGAsIGBgKmVycm9yX3Bvc2BgIGlzIHNldCB0byB0aGUgaW5kZXggb2YgdGhlCisgICBpbnZhbGlkIGNoYXJhY3RlciBvbiBlbmNvZGluZyBlcnJvciwgb3Igc2V0IHRvIGBgKHNpemVfdCktMWBgIG90aGVyd2lzZS4KKworICAgVXNlIHRoZSA6YzpmdW5jOmBQeV9EZWNvZGVMb2NhbGVgIGZ1bmN0aW9uIHRvIGRlY29kZSB0aGUgYnl0ZXMgc3RyaW5nIGJhY2sKKyAgIHRvIGEgd2lkZSBjaGFyYWN0ZXIgc3RyaW5nLgorCisgICAuLiBzZWVhbHNvOjoKKworICAgICAgVGhlIDpjOmZ1bmM6YFB5VW5pY29kZV9FbmNvZGVGU0RlZmF1bHRgIGFuZAorICAgICAgOmM6ZnVuYzpgUHlVbmljb2RlX0VuY29kZUxvY2FsZWAgZnVuY3Rpb25zLgorCisgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjUKKworCiAuLiBfc3lzdGVtZnVuY3Rpb25zOgogCiBTeXN0ZW0gRnVuY3Rpb25zCmRpZmYgLS1naXQgYS9Eb2MvYy1hcGkvdHlwZW9iai5yc3QgYi9Eb2MvYy1hcGkvdHlwZW9iai5yc3QKaW5kZXggYjQzNjIyYS4uZWI2MzcwNSAxMDA2NDQKLS0tIGEvRG9jL2MtYXBpL3R5cGVvYmoucnN0CisrKyBiL0RvYy9jLWFwaS90eXBlb2JqLnJzdApAQCAtMTExOCw2ICsxMTE4LDkgQEAKICAgICAgICAgICAgIGJpbmFyeWZ1bmMgbmJfaW5wbGFjZV90cnVlX2RpdmlkZTsKIAogICAgICAgICAgICAgdW5hcnlmdW5jIG5iX2luZGV4OworCisgICAgICAgICAgICBiaW5hcnlmdW5jIG5iX21hdHJpeF9tdWx0aXBseTsKKyAgICAgICAgICAgIGJpbmFyeWZ1bmMgbmJfaW5wbGFjZV9tYXRyaXhfbXVsdGlwbHk7CiAgICAgICAgfSBQeU51bWJlck1ldGhvZHM7CiAKICAgIC4uIG5vdGU6OgpkaWZmIC0tZ2l0IGEvRG9jL2MtYXBpL3VuaWNvZGUucnN0IGIvRG9jL2MtYXBpL3VuaWNvZGUucnN0CmluZGV4IDAzYzI4NGEuLjAwMDYzZDAgMTAwNjQ0Ci0tLSBhL0RvYy9jLWFwaS91bmljb2RlLnJzdAorKysgYi9Eb2MvYy1hcGkvdW5pY29kZS5yc3QKQEAgLTc1OSwxMSArNzU5LDEzIEBACiAgICAqZXJyb3JzKiBpcyBgYE5VTExgYC4gICpzdHIqIG11c3QgZW5kIHdpdGggYSBudWxsIGNoYXJhY3RlciBidXQKICAgIGNhbm5vdCBjb250YWluIGVtYmVkZGVkIG51bGwgY2hhcmFjdGVycy4KIAorICAgVXNlIDpjOmZ1bmM6YFB5VW5pY29kZV9EZWNvZGVGU0RlZmF1bHRBbmRTaXplYCB0byBkZWNvZGUgYSBzdHJpbmcgZnJvbQorICAgOmM6ZGF0YTpgUHlfRmlsZVN5c3RlbURlZmF1bHRFbmNvZGluZ2AgKHRoZSBsb2NhbGUgZW5jb2RpbmcgcmVhZCBhdAorICAgUHl0aG9uIHN0YXJ0dXApLgorCiAgICAuLiBzZWVhbHNvOjoKIAotICAgICAgVXNlIDpjOmZ1bmM6YFB5VW5pY29kZV9EZWNvZGVGU0RlZmF1bHRBbmRTaXplYCB0byBkZWNvZGUgYSBzdHJpbmcgZnJvbQotICAgICAgOmM6ZGF0YTpgUHlfRmlsZVN5c3RlbURlZmF1bHRFbmNvZGluZ2AgKHRoZSBsb2NhbGUgZW5jb2RpbmcgcmVhZCBhdAotICAgICAgUHl0aG9uIHN0YXJ0dXApLgorICAgICAgVGhlIDpjOmZ1bmM6YFB5X0RlY29kZUxvY2FsZWAgZnVuY3Rpb24uCiAKICAgIC4uIHZlcnNpb25hZGRlZDo6IDMuMwogCkBAIC03ODQsMTEgKzc4NiwxMyBAQAogICAgKmVycm9ycyogaXMgYGBOVUxMYGAuIFJldHVybiBhIDpjbGFzczpgYnl0ZXNgIG9iamVjdC4gKnN0ciogY2Fubm90CiAgICBjb250YWluIGVtYmVkZGVkIG51bGwgY2hhcmFjdGVycy4KIAorICAgVXNlIDpjOmZ1bmM6YFB5VW5pY29kZV9FbmNvZGVGU0RlZmF1bHRgIHRvIGVuY29kZSBhIHN0cmluZyB0bworICAgOmM6ZGF0YTpgUHlfRmlsZVN5c3RlbURlZmF1bHRFbmNvZGluZ2AgKHRoZSBsb2NhbGUgZW5jb2RpbmcgcmVhZCBhdAorICAgUHl0aG9uIHN0YXJ0dXApLgorCiAgICAuLiBzZWVhbHNvOjoKIAotICAgICAgVXNlIDpjOmZ1bmM6YFB5VW5pY29kZV9FbmNvZGVGU0RlZmF1bHRgIHRvIGVuY29kZSBhIHN0cmluZyB0bwotICAgICAgOmM6ZGF0YTpgUHlfRmlsZVN5c3RlbURlZmF1bHRFbmNvZGluZ2AgKHRoZSBsb2NhbGUgZW5jb2RpbmcgcmVhZCBhdAotICAgICAgUHl0aG9uIHN0YXJ0dXApLgorICAgICAgVGhlIDpjOmZ1bmM6YFB5X0VuY29kZUxvY2FsZWAgZnVuY3Rpb24uCiAKICAgIC4uIHZlcnNpb25hZGRlZDo6IDMuMwogCkBAIC04MzMsMTIgKzgzNywxNCBAQAogICAgSWYgOmM6ZGF0YTpgUHlfRmlsZVN5c3RlbURlZmF1bHRFbmNvZGluZ2AgaXMgbm90IHNldCwgZmFsbCBiYWNrIHRvIHRoZQogICAgbG9jYWxlIGVuY29kaW5nLgogCisgICA6YzpkYXRhOmBQeV9GaWxlU3lzdGVtRGVmYXVsdEVuY29kaW5nYCBpcyBpbml0aWFsaXplZCBhdCBzdGFydHVwIGZyb20gdGhlCisgICBsb2NhbGUgZW5jb2RpbmcgYW5kIGNhbm5vdCBiZSBtb2RpZmllZCBsYXRlci4gSWYgeW91IG5lZWQgdG8gZGVjb2RlIGEgc3RyaW5nCisgICBmcm9tIHRoZSBjdXJyZW50IGxvY2FsZSBlbmNvZGluZywgdXNlCisgICA6YzpmdW5jOmBQeVVuaWNvZGVfRGVjb2RlTG9jYWxlQW5kU2l6ZWAuCisKICAgIC4uIHNlZWFsc286OgogCi0gICAgICA6YzpkYXRhOmBQeV9GaWxlU3lzdGVtRGVmYXVsdEVuY29kaW5nYCBpcyBpbml0aWFsaXplZCBhdCBzdGFydHVwIGZyb20gdGhlCi0gICAgICBsb2NhbGUgZW5jb2RpbmcgYW5kIGNhbm5vdCBiZSBtb2RpZmllZCBsYXRlci4gSWYgeW91IG5lZWQgdG8gZGVjb2RlIGEKLSAgICAgIHN0cmluZyBmcm9tIHRoZSBjdXJyZW50IGxvY2FsZSBlbmNvZGluZywgdXNlCi0gICAgICA6YzpmdW5jOmBQeVVuaWNvZGVfRGVjb2RlTG9jYWxlQW5kU2l6ZWAuCisgICAgICBUaGUgOmM6ZnVuYzpgUHlfRGVjb2RlTG9jYWxlYCBmdW5jdGlvbi4KIAogICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjIKICAgICAgIFVzZSBgYCJzdHJpY3QiYGAgZXJyb3IgaGFuZGxlciBvbiBXaW5kb3dzLgpAQCAtODY4LDEyICs4NzQsMTMgQEAKICAgIElmIDpjOmRhdGE6YFB5X0ZpbGVTeXN0ZW1EZWZhdWx0RW5jb2RpbmdgIGlzIG5vdCBzZXQsIGZhbGwgYmFjayB0byB0aGUKICAgIGxvY2FsZSBlbmNvZGluZy4KIAorICAgOmM6ZGF0YTpgUHlfRmlsZVN5c3RlbURlZmF1bHRFbmNvZGluZ2AgaXMgaW5pdGlhbGl6ZWQgYXQgc3RhcnR1cCBmcm9tIHRoZQorICAgbG9jYWxlIGVuY29kaW5nIGFuZCBjYW5ub3QgYmUgbW9kaWZpZWQgbGF0ZXIuIElmIHlvdSBuZWVkIHRvIGVuY29kZSBhIHN0cmluZworICAgdG8gdGhlIGN1cnJlbnQgbG9jYWxlIGVuY29kaW5nLCB1c2UgOmM6ZnVuYzpgUHlVbmljb2RlX0VuY29kZUxvY2FsZWAuCisKICAgIC4uIHNlZWFsc286OgogCi0gICAgICA6YzpkYXRhOmBQeV9GaWxlU3lzdGVtRGVmYXVsdEVuY29kaW5nYCBpcyBpbml0aWFsaXplZCBhdCBzdGFydHVwIGZyb20gdGhlCi0gICAgICBsb2NhbGUgZW5jb2RpbmcgYW5kIGNhbm5vdCBiZSBtb2RpZmllZCBsYXRlci4gSWYgeW91IG5lZWQgdG8gZW5jb2RlIGEKLSAgICAgIHN0cmluZyB0byB0aGUgY3VycmVudCBsb2NhbGUgZW5jb2RpbmcsIHVzZQotICAgICAgOmM6ZnVuYzpgUHlVbmljb2RlX0VuY29kZUxvY2FsZWAuCisgICAgICBUaGUgOmM6ZnVuYzpgUHlfRW5jb2RlTG9jYWxlYCBmdW5jdGlvbi4KIAogICAgLi4gdmVyc2lvbmFkZGVkOjogMy4yCiAKZGlmZiAtLWdpdCBhL0RvYy9kYXRhL3JlZmNvdW50cy5kYXQgYi9Eb2MvZGF0YS9yZWZjb3VudHMuZGF0CmluZGV4IDYwMjU2MTcuLmQxYzI0ZTUgMTAwNjQ0Ci0tLSBhL0RvYy9kYXRhL3JlZmNvdW50cy5kYXQKKysrIGIvRG9jL2RhdGEvcmVmY291bnRzLmRhdApAQCAtMzQ5LDYgKzM0OSwxMSBAQAogUHlFcnJfRm9ybWF0OmNvbnN0IGNoYXIqOmZvcm1hdDo6CiBQeUVycl9Gb3JtYXQ6Oi4uLjo6CiAKK1B5RXJyX0Zvcm1hdFY6UHlPYmplY3QqOjpudWxsOgorUHlFcnJfRm9ybWF0VjpQeU9iamVjdCo6ZXhjZXB0aW9uOisxOgorUHlFcnJfRm9ybWF0Vjpjb25zdCBjaGFyKjpmb3JtYXQ6OgorUHlFcnJfRm9ybWF0Vjp2YV9saXN0OnZhcmdzOjoKKwogUHlFcnJfV2FybkV4OmludDo6OgogUHlFcnJfV2FybkV4OlB5T2JqZWN0KjpjYXRlZ29yeTowOgogUHlFcnJfV2FybkV4OmNvbnN0IGNoYXIqOm1lc3NhZ2U6OgpkaWZmIC0tZ2l0IGEvRG9jL2Rpc3R1dGlscy9hcGlyZWYucnN0IGIvRG9jL2Rpc3R1dGlscy9hcGlyZWYucnN0CmluZGV4IDgyYmVkMjQuLjUzZDc1MjcgMTAwNjQ0Ci0tLSBhL0RvYy9kaXN0dXRpbHMvYXBpcmVmLnJzdAorKysgYi9Eb2MvZGlzdHV0aWxzL2FwaXJlZi5yc3QKQEAgLTEwOTksMTMgKzEwOTksMTMgQEAKICAgIGR1cmluZyB0aGUgYnVpbGQgb2YgUHl0aG9uKSwgbm90IHRoZSBPUyB2ZXJzaW9uIG9mIHRoZSBjdXJyZW50IHN5c3RlbS4KIAogICAgRm9yIHVuaXZlcnNhbCBiaW5hcnkgYnVpbGRzIG9uIE1hYyBPUyBYIHRoZSBhcmNoaXRlY3R1cmUgdmFsdWUgcmVmbGVjdHMKLSAgIHRoZSB1bml2ZXJhbCBiaW5hcnkgc3RhdHVzIGluc3RlYWQgb2YgdGhlIGFyY2hpdGVjdHVyZSBvZiB0aGUgY3VycmVudAorICAgdGhlIHVuaXZlcnNhbCBiaW5hcnkgc3RhdHVzIGluc3RlYWQgb2YgdGhlIGFyY2hpdGVjdHVyZSBvZiB0aGUgY3VycmVudAogICAgcHJvY2Vzc29yLiBGb3IgMzItYml0IHVuaXZlcnNhbCBiaW5hcmllcyB0aGUgYXJjaGl0ZWN0dXJlIGlzIGBgZmF0YGAsCiAgICBmb3IgNjQtYml0IHVuaXZlcnNhbCBiaW5hcmllcyB0aGUgYXJjaGl0ZWN0dXJlIGlzIGBgZmF0NjRgYCwgYW5kCiAgICBmb3IgNC13YXkgdW5pdmVyc2FsIGJpbmFyaWVzIHRoZSBhcmNoaXRlY3R1cmUgaXMgYGB1bml2ZXJzYWxgYC4gU3RhcnRpbmcKICAgIGZyb20gUHl0aG9uIDIuNyBhbmQgUHl0aG9uIDMuMiB0aGUgYXJjaGl0ZWN0dXJlIGBgZmF0M2BgIGlzIHVzZWQgZm9yCiAgICBhIDMtd2F5IHVuaXZlcnNhbCBidWlsZCAocHBjLCBpMzg2LCB4ODZfNjQpIGFuZCBgYGludGVsYGAgaXMgdXNlZCBmb3IKLSAgIGEgdW5pdmVyYWwgYnVpbGQgd2l0aCB0aGUgaTM4NiBhbmQgeDg2XzY0IGFyY2hpdGVjdHVyZXMKKyAgIGEgdW5pdmVyc2FsIGJ1aWxkIHdpdGggdGhlIGkzODYgYW5kIHg4Nl82NCBhcmNoaXRlY3R1cmVzCiAKICAgIEV4YW1wbGVzIG9mIHJldHVybmVkIHZhbHVlcyBvbiBNYWMgT1MgWDoKIApkaWZmIC0tZ2l0IGEvRG9jL2Rpc3R1dGlscy9idWlsdGRpc3QucnN0IGIvRG9jL2Rpc3R1dGlscy9idWlsdGRpc3QucnN0CmluZGV4IGFjOTZjNDAuLmM1ODI3YjYgMTAwNjQ0Ci0tLSBhL0RvYy9kaXN0dXRpbHMvYnVpbHRkaXN0LnJzdAorKysgYi9Eb2MvZGlzdHV0aWxzL2J1aWx0ZGlzdC5yc3QKQEAgLTM1NSw3ICszNTUsNyBAQAogd291bGQgY3JlYXRlIGEgNjRiaXQgaW5zdGFsbGF0aW9uIGV4ZWN1dGFibGUgb24geW91ciAzMmJpdCB2ZXJzaW9uIG9mIFdpbmRvd3MuCiAKIFRvIGNyb3NzLWNvbXBpbGUsIHlvdSBtdXN0IGRvd25sb2FkIHRoZSBQeXRob24gc291cmNlIGNvZGUgYW5kIGNyb3NzLWNvbXBpbGUKLVB5dGhvbiBpdHNlbGYgZm9yIHRoZSBwbGF0Zm9ybSB5b3UgYXJlIHRhcmdldHRpbmcgLSBpdCBpcyBub3QgcG9zc2libGUgZnJvbSBhCitQeXRob24gaXRzZWxmIGZvciB0aGUgcGxhdGZvcm0geW91IGFyZSB0YXJnZXRpbmcgLSBpdCBpcyBub3QgcG9zc2libGUgZnJvbSBhCiBiaW5hcnkgaW5zdGFsbGF0aW9uIG9mIFB5dGhvbiAoYXMgdGhlIC5saWIgZXRjIGZpbGUgZm9yIG90aGVyIHBsYXRmb3JtcyBhcmUKIG5vdCBpbmNsdWRlZC4pICBJbiBwcmFjdGljZSwgdGhpcyBtZWFucyB0aGUgdXNlciBvZiBhIDMyIGJpdCBvcGVyYXRpbmcKIHN5c3RlbSB3aWxsIG5lZWQgdG8gdXNlIFZpc3VhbCBTdHVkaW8gMjAwOCB0byBvcGVuIHRoZQpkaWZmIC0tZ2l0IGEvRG9jL2V4dGVuZGluZy9lbWJlZGRpbmcucnN0IGIvRG9jL2V4dGVuZGluZy9lbWJlZGRpbmcucnN0CmluZGV4IDZjYjY4NmEuLmFjZDYwYWUgMTAwNjQ0Ci0tLSBhL0RvYy9leHRlbmRpbmcvZW1iZWRkaW5nLnJzdAorKysgYi9Eb2MvZXh0ZW5kaW5nL2VtYmVkZGluZy5yc3QKQEAgLTU4LDEyICs1OCwxOCBAQAogICAgaW50CiAgICBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCiAgICB7Ci0gICAgIFB5X1NldFByb2dyYW1OYW1lKGFyZ3ZbMF0pOyAgLyogb3B0aW9uYWwgYnV0IHJlY29tbWVuZGVkICovCi0gICAgIFB5X0luaXRpYWxpemUoKTsKLSAgICAgUHlSdW5fU2ltcGxlU3RyaW5nKCJmcm9tIHRpbWUgaW1wb3J0IHRpbWUsY3RpbWVcbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICJwcmludCgnVG9kYXkgaXMnLCBjdGltZSh0aW1lKCkpKVxuIik7Ci0gICAgIFB5X0ZpbmFsaXplKCk7Ci0gICAgIHJldHVybiAwOworICAgICAgIHdjaGFyX3QgKnByb2dyYW0gPSBQeV9EZWNvZGVMb2NhbGUoYXJndlswXSwgTlVMTCk7CisgICAgICAgaWYgKHByb2dyYW0gPT0gTlVMTCkgeworICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIkZhdGFsIGVycm9yOiBjYW5ub3QgZGVjb2RlIGFyZ3ZbMF1cbiIpOworICAgICAgICAgICBleGl0KDEpOworICAgICAgIH0KKyAgICAgICBQeV9TZXRQcm9ncmFtTmFtZShwcm9ncmFtKTsgIC8qIG9wdGlvbmFsIGJ1dCByZWNvbW1lbmRlZCAqLworICAgICAgIFB5X0luaXRpYWxpemUoKTsKKyAgICAgICBQeVJ1bl9TaW1wbGVTdHJpbmcoImZyb20gdGltZSBpbXBvcnQgdGltZSxjdGltZVxuIgorICAgICAgICAgICAgICAgICAgICAgICAgICAicHJpbnQoJ1RvZGF5IGlzJywgY3RpbWUodGltZSgpKSlcbiIpOworICAgICAgIFB5X0ZpbmFsaXplKCk7CisgICAgICAgUHlNZW1fUmF3RnJlZShwcm9ncmFtKTsKKyAgICAgICByZXR1cm4gMDsKICAgIH0KIAogVGhlIDpjOmZ1bmM6YFB5X1NldFByb2dyYW1OYW1lYCBmdW5jdGlvbiBzaG91bGQgYmUgY2FsbGVkIGJlZm9yZQpAQCAtMTYwLDcgKzE2Niw3IEBACiBpbnRlcmVzdGluZyBwYXJ0IHdpdGggcmVzcGVjdCB0byBlbWJlZGRpbmcgUHl0aG9uIHN0YXJ0cyB3aXRoIDo6CiAKICAgIFB5X0luaXRpYWxpemUoKTsKLSAgIHBOYW1lID0gUHlVbmljb2RlX0Zyb21TdHJpbmcoYXJndlsxXSk7CisgICBwTmFtZSA9IFB5VW5pY29kZV9EZWNvZGVGU0RlZmF1bHQoYXJndlsxXSk7CiAgICAvKiBFcnJvciBjaGVja2luZyBvZiBwTmFtZSBsZWZ0IG91dCAqLwogICAgcE1vZHVsZSA9IFB5SW1wb3J0X0ltcG9ydChwTmFtZSk7CiAKZGlmZiAtLWdpdCBhL0RvYy9leHRlbmRpbmcvZXh0ZW5kaW5nLnJzdCBiL0RvYy9leHRlbmRpbmcvZXh0ZW5kaW5nLnJzdAppbmRleCBjMTBlZmE5Li4xN2NmZGViIDEwMDY0NAotLS0gYS9Eb2MvZXh0ZW5kaW5nL2V4dGVuZGluZy5yc3QKKysrIGIvRG9jL2V4dGVuZGluZy9leHRlbmRpbmcucnN0CkBAIC0zNzUsMTEgKzM3NSwxNyBAQAogICAgaW50CiAgICBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCiAgICB7CisgICAgICAgd2NoYXJfdCAqcHJvZ3JhbSA9IFB5X0RlY29kZUxvY2FsZShhcmd2WzBdLCBOVUxMKTsKKyAgICAgICBpZiAocHJvZ3JhbSA9PSBOVUxMKSB7CisgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAiRmF0YWwgZXJyb3I6IGNhbm5vdCBkZWNvZGUgYXJndlswXVxuIik7CisgICAgICAgICAgIGV4aXQoMSk7CisgICAgICAgfQorCiAgICAgICAgLyogQWRkIGEgYnVpbHQtaW4gbW9kdWxlLCBiZWZvcmUgUHlfSW5pdGlhbGl6ZSAqLwogICAgICAgIFB5SW1wb3J0X0FwcGVuZEluaXR0YWIoInNwYW0iLCBQeUluaXRfc3BhbSk7CiAKICAgICAgICAvKiBQYXNzIGFyZ3ZbMF0gdG8gdGhlIFB5dGhvbiBpbnRlcnByZXRlciAqLwotICAgICAgIFB5X1NldFByb2dyYW1OYW1lKGFyZ3ZbMF0pOworICAgICAgIFB5X1NldFByb2dyYW1OYW1lKHByb2dyYW0pOwogCiAgICAgICAgLyogSW5pdGlhbGl6ZSB0aGUgUHl0aG9uIGludGVycHJldGVyLiAgUmVxdWlyZWQuICovCiAgICAgICAgUHlfSW5pdGlhbGl6ZSgpOwpAQCAtMzkxLDYgKzM5NywxMCBAQAogCiAgICAgICAgLi4uCiAKKyAgICAgICBQeU1lbV9SYXdGcmVlKHByb2dyYW0pOworICAgICAgIHJldHVybiAwOworICAgfQorCiAuLiBub3RlOjoKIAogICAgUmVtb3ZpbmcgZW50cmllcyBmcm9tIGBgc3lzLm1vZHVsZXNgYCBvciBpbXBvcnRpbmcgY29tcGlsZWQgbW9kdWxlcyBpbnRvCmRpZmYgLS1naXQgYS9Eb2MvZ2xvc3NhcnkucnN0IGIvRG9jL2dsb3NzYXJ5LnJzdAppbmRleCAxZGU4NmVmLi41NzhmZDExIDEwMDY0NAotLS0gYS9Eb2MvZ2xvc3NhcnkucnN0CisrKyBiL0RvYy9nbG9zc2FyeS5yc3QKQEAgLTQwMiw2ICs0MDIsMTkgQEAKICAgICAgIHRoYW4gY29tcGlsZWQgb25lcywgdGhvdWdoIHRoZWlyIHByb2dyYW1zIGdlbmVyYWxseSBhbHNvIHJ1biBtb3JlCiAgICAgICBzbG93bHkuICBTZWUgYWxzbyA6dGVybTpgaW50ZXJhY3RpdmVgLgogCisgICBpbnRlcnByZXRlciBzaHV0ZG93bgorICAgICAgV2hlbiBhc2tlZCB0byBzaHV0IGRvd24sIHRoZSBQeXRob24gaW50ZXJwcmV0ZXIgZW50ZXJzIGEgc3BlY2lhbCBwaGFzZQorICAgICAgd2hlcmUgaXQgZ3JhZHVhbGx5IHJlbGVhc2VzIGFsbCBhbGxvY2F0ZWQgcmVzb3VyY2VzLCBzdWNoIGFzIG1vZHVsZXMKKyAgICAgIGFuZCB2YXJpb3VzIGNyaXRpY2FsIGludGVybmFsIHN0cnVjdHVyZXMuICBJdCBhbHNvIG1ha2VzIHNldmVyYWwgY2FsbHMKKyAgICAgIHRvIHRoZSA6dGVybTpgZ2FyYmFnZSBjb2xsZWN0b3IgPGdhcmJhZ2UgY29sbGVjdGlvbj5gLiBUaGlzIGNhbiB0cmlnZ2VyCisgICAgICB0aGUgZXhlY3V0aW9uIG9mIGNvZGUgaW4gdXNlci1kZWZpbmVkIGRlc3RydWN0b3JzIG9yIHdlYWtyZWYgY2FsbGJhY2tzLgorICAgICAgQ29kZSBleGVjdXRlZCBkdXJpbmcgdGhlIHNodXRkb3duIHBoYXNlIGNhbiBlbmNvdW50ZXIgdmFyaW91cworICAgICAgZXhjZXB0aW9ucyBhcyB0aGUgcmVzb3VyY2VzIGl0IHJlbGllcyBvbiBtYXkgbm90IGZ1bmN0aW9uIGFueW1vcmUKKyAgICAgIChjb21tb24gZXhhbXBsZXMgYXJlIGxpYnJhcnkgbW9kdWxlcyBvciB0aGUgd2FybmluZ3MgbWFjaGluZXJ5KS4KKworICAgICAgVGhlIG1haW4gcmVhc29uIGZvciBpbnRlcnByZXRlciBzaHV0ZG93biBpcyB0aGF0IHRoZSBgYF9fbWFpbl9fYGAgbW9kdWxlCisgICAgICBvciB0aGUgc2NyaXB0IGJlaW5nIHJ1biBoYXMgZmluaXNoZWQgZXhlY3V0aW5nLgorCiAgICBpdGVyYWJsZQogICAgICAgQW4gb2JqZWN0IGNhcGFibGUgb2YgcmV0dXJuaW5nIGl0cyBtZW1iZXJzIG9uZSBhdCBhIHRpbWUuIEV4YW1wbGVzIG9mCiAgICAgICBpdGVyYWJsZXMgaW5jbHVkZSBhbGwgc2VxdWVuY2UgdHlwZXMgKHN1Y2ggYXMgOmNsYXNzOmBsaXN0YCwgOmNsYXNzOmBzdHJgLApAQCAtNDQ0LDEyICs0NTcsMTMgQEAKIAogICAgICAgQSBudW1iZXIgb2YgdG9vbHMgaW4gUHl0aG9uIGFjY2VwdCBrZXkgZnVuY3Rpb25zIHRvIGNvbnRyb2wgaG93IGVsZW1lbnRzCiAgICAgICBhcmUgb3JkZXJlZCBvciBncm91cGVkLiAgVGhleSBpbmNsdWRlIDpmdW5jOmBtaW5gLCA6ZnVuYzpgbWF4YCwKLSAgICAgIDpmdW5jOmBzb3J0ZWRgLCA6bWV0aDpgbGlzdC5zb3J0YCwgOmZ1bmM6YGhlYXBxLm5zbWFsbGVzdGAsCi0gICAgICA6ZnVuYzpgaGVhcHEubmxhcmdlc3RgLCBhbmQgOmZ1bmM6YGl0ZXJ0b29scy5ncm91cGJ5YC4KKyAgICAgIDpmdW5jOmBzb3J0ZWRgLCA6bWV0aDpgbGlzdC5zb3J0YCwgOmZ1bmM6YGhlYXBxLm1lcmdlYCwKKyAgICAgIDpmdW5jOmBoZWFwcS5uc21hbGxlc3RgLCA6ZnVuYzpgaGVhcHEubmxhcmdlc3RgLCBhbmQKKyAgICAgIDpmdW5jOmBpdGVydG9vbHMuZ3JvdXBieWAuCiAKICAgICAgIFRoZXJlIGFyZSBzZXZlcmFsIHdheXMgdG8gY3JlYXRlIGEga2V5IGZ1bmN0aW9uLiAgRm9yIGV4YW1wbGUuIHRoZQogICAgICAgOm1ldGg6YHN0ci5sb3dlcmAgbWV0aG9kIGNhbiBzZXJ2ZSBhcyBhIGtleSBmdW5jdGlvbiBmb3IgY2FzZSBpbnNlbnNpdGl2ZQotICAgICAgc29ydHMuICBBbHRlcm5hdGl2ZWx5LCBhbiBhZC1ob2Mga2V5IGZ1bmN0aW9uIGNhbiBiZSBidWlsdCBmcm9tIGEKKyAgICAgIHNvcnRzLiAgQWx0ZXJuYXRpdmVseSwgYSBrZXkgZnVuY3Rpb24gY2FuIGJlIGJ1aWx0IGZyb20gYQogICAgICAgOmtleXdvcmQ6YGxhbWJkYWAgZXhwcmVzc2lvbiBzdWNoIGFzIGBgbGFtYmRhIHI6IChyWzBdLCByWzJdKWBgLiAgQWxzbywKICAgICAgIHRoZSA6bW9kOmBvcGVyYXRvcmAgbW9kdWxlIHByb3ZpZGVzIHRocmVlIGtleSBmdW5jdGlvbiBjb25zdHJ1Y3RvcnM6CiAgICAgICA6ZnVuYzpgfm9wZXJhdG9yLmF0dHJnZXR0ZXJgLCA6ZnVuYzpgfm9wZXJhdG9yLml0ZW1nZXR0ZXJgLCBhbmQKZGlmZiAtLWdpdCBhL0RvYy9ob3d0by9jbGluaWMucnN0IGIvRG9jL2hvd3RvL2NsaW5pYy5yc3QKaW5kZXggNzUwZGRiZS4uY2E4ZTFjYiAxMDA2NDQKLS0tIGEvRG9jL2hvd3RvL2NsaW5pYy5yc3QKKysrIGIvRG9jL2hvd3RvL2NsaW5pYy5yc3QKQEAgLTg4Niw3ICs4ODYsNyBAQAogQWR2YW5jZWQgY29udmVydGVycwogLS0tLS0tLS0tLS0tLS0tLS0tLQogCi1SZW1lYmVyIHRob3NlIGZvcm1hdCB1bml0cyB5b3Ugc2tpcHBlZCBmb3IgeW91ciBmaXJzdAorUmVtZW1iZXIgdGhvc2UgZm9ybWF0IHVuaXRzIHlvdSBza2lwcGVkIGZvciB5b3VyIGZpcnN0CiB0aW1lIGJlY2F1c2UgdGhleSB3ZXJlIGFkdmFuY2VkPyAgSGVyZSdzIGhvdyB0byBoYW5kbGUgdGhvc2UgdG9vLgogCiBUaGUgdHJpY2sgaXMsIGFsbCB0aG9zZSBmb3JtYXQgdW5pdHMgdGFrZSBhcmd1bWVudHMtLWVpdGhlcgpAQCAtMTAyMCwxMiArMTAyMCwxMiBAQAogdGhlIGBgImFzImBgIHNob3VsZCBjb21lIGJlZm9yZSB0aGUgcmV0dXJuIGNvbnZlcnRlci4pCiAKIFRoZXJlJ3Mgb25lIGFkZGl0aW9uYWwgY29tcGxpY2F0aW9uIHdoZW4gdXNpbmcgcmV0dXJuIGNvbnZlcnRlcnM6IGhvdyBkbyB5b3UKLWluZGljYXRlIGFuIGVycm9yIGhhcyBvY2N1cmVkPyAgTm9ybWFsbHksIGEgZnVuY3Rpb24gcmV0dXJucyBhIHZhbGlkIChub24tYGBOVUxMYGApCitpbmRpY2F0ZSBhbiBlcnJvciBoYXMgb2NjdXJyZWQ/ICBOb3JtYWxseSwgYSBmdW5jdGlvbiByZXR1cm5zIGEgdmFsaWQgKG5vbi1gYE5VTExgYCkKIHBvaW50ZXIgZm9yIHN1Y2Nlc3MsIGFuZCBgYE5VTExgYCBmb3IgZmFpbHVyZS4gIEJ1dCBpZiB5b3UgdXNlIGFuIGludGVnZXIgcmV0dXJuIGNvbnZlcnRlciwKIGFsbCBpbnRlZ2VycyBhcmUgdmFsaWQuICBIb3cgY2FuIEFyZ3VtZW50IENsaW5pYyBkZXRlY3QgYW4gZXJyb3I/ICBJdHMgc29sdXRpb246IGVhY2ggcmV0dXJuCiBjb252ZXJ0ZXIgaW1wbGljaXRseSBsb29rcyBmb3IgYSBzcGVjaWFsIHZhbHVlIHRoYXQgaW5kaWNhdGVzIGFuIGVycm9yLiAgSWYgeW91IHJldHVybgogdGhhdCB2YWx1ZSwgYW5kIGFuIGVycm9yIGhhcyBiZWVuIHNldCAoYGBQeUVycl9PY2N1cnJlZCgpYGAgcmV0dXJucyBhIHRydWUKLXZhbHVlKSwgdGhlbiB0aGUgZ2VuZXJhdGVkIGNvZGUgd2lsbCBwcm9wb2dhdGUgdGhlIGVycm9yLiAgT3RoZXJ3aXNlIGl0IHdpbGwKK3ZhbHVlKSwgdGhlbiB0aGUgZ2VuZXJhdGVkIGNvZGUgd2lsbCBwcm9wYWdhdGUgdGhlIGVycm9yLiAgT3RoZXJ3aXNlIGl0IHdpbGwKIGVuY29kZSB0aGUgdmFsdWUgeW91IHJldHVybiBsaWtlIG5vcm1hbC4KIAogQ3VycmVudGx5IEFyZ3VtZW50IENsaW5pYyBzdXBwb3J0cyBvbmx5IGEgZmV3IHJldHVybiBjb252ZXJ0ZXJzOjoKQEAgLTE1NzMsNyArMTU3Myw3IEBACiBgYGxpbmVfcHJlZml4YGAgaXMgYSBzdHJpbmcgdGhhdCB3aWxsIGJlIHByZXBlbmRlZCB0byBldmVyeSBsaW5lIG9mIENsaW5pYydzIG91dHB1dDsKIGBgbGluZV9zdWZmaXhgYCBpcyBhIHN0cmluZyB0aGF0IHdpbGwgYmUgYXBwZW5kZWQgdG8gZXZlcnkgbGluZSBvZiBDbGluaWMncyBvdXRwdXQuCiAKLUJvdGggb2YgdGhlc2Ugc3Vwb3J0IHR3byBmb3JtYXQgc3RyaW5nczoKK0JvdGggb2YgdGhlc2Ugc3VwcG9ydCB0d28gZm9ybWF0IHN0cmluZ3M6CiAKICAgYGB7YmxvY2sgY29tbWVudCBzdGFydH1gYAogICAgIFR1cm5zIGludG8gdGhlIHN0cmluZyBgYC8qYGAsIHRoZSBzdGFydC1jb21tZW50IHRleHQgc2VxdWVuY2UgZm9yIEMgZmlsZXMuCmRpZmYgLS1naXQgYS9Eb2MvaG93dG8vbG9nZ2luZy1jb29rYm9vay5yc3QgYi9Eb2MvaG93dG8vbG9nZ2luZy1jb29rYm9vay5yc3QKaW5kZXggMTE0ZWMwOS4uZTMxYjZjMiAxMDA2NDQKLS0tIGEvRG9jL2hvd3RvL2xvZ2dpbmctY29va2Jvb2sucnN0CisrKyBiL0RvYy9ob3d0by9sb2dnaW5nLWNvb2tib29rLnJzdApAQCAtMzI1LDYgKzMyNSwxNSBAQAogCiAgICAgTWFpblRocmVhZDogTG9vayBvdXQhCiAKKy4uIHZlcnNpb25jaGFuZ2VkOjogMy41CisgICBQcmlvciB0byBQeXRob24gMy41LCB0aGUgOmNsYXNzOmBRdWV1ZUxpc3RlbmVyYCBhbHdheXMgcGFzc2VkIGV2ZXJ5IG1lc3NhZ2UKKyAgIHJlY2VpdmVkIGZyb20gdGhlIHF1ZXVlIHRvIGV2ZXJ5IGhhbmRsZXIgaXQgd2FzIGluaXRpYWxpemVkIHdpdGguIChUaGlzIHdhcworICAgYmVjYXVzZSBpdCB3YXMgYXNzdW1lZCB0aGF0IGxldmVsIGZpbHRlcmluZyB3YXMgYWxsIGRvbmUgb24gdGhlIG90aGVyIHNpZGUsCisgICB3aGVyZSB0aGUgcXVldWUgaXMgZmlsbGVkLikgRnJvbSAzLjUgb253YXJkcywgdGhpcyBiZWhhdmlvdXIgY2FuIGJlIGNoYW5nZWQKKyAgIGJ5IHBhc3NpbmcgYSBrZXl3b3JkIGFyZ3VtZW50IGBgcmVzcGVjdF9oYW5kbGVyX2xldmVsPVRydWVgYCB0byB0aGUKKyAgIGxpc3RlbmVyJ3MgY29uc3RydWN0b3IuIFdoZW4gdGhpcyBpcyBkb25lLCB0aGUgbGlzdGVuZXIgY29tcGFyZXMgdGhlIGxldmVsCisgICBvZiBlYWNoIG1lc3NhZ2Ugd2l0aCB0aGUgaGFuZGxlcidzIGxldmVsLCBhbmQgb25seSBwYXNzZXMgYSBtZXNzYWdlIHRvIGEKKyAgIGhhbmRsZXIgaWYgaXQncyBhcHByb3ByaWF0ZSB0byBkbyBzby4KIAogLi4gX25ldHdvcmstbG9nZ2luZzoKIApAQCAtMTY4MCw3ICsxNjg5LDcgQEAKIAogICAgIGRlZiBtYWluKCk6CiAgICAgICAgIGxvZ2dpbmcuYmFzaWNDb25maWcobGV2ZWw9bG9nZ2luZy5JTkZPLCBmb3JtYXQ9JyUobWVzc2FnZSlzJykKLSAgICAgICAgbG9nZ2luZy5pbmZvKF8oJ21lc3NhZ2UgMScsIHNldF92YWx1ZT1zZXQoWzEsIDIsIDNdKSwgc25vd21hbj0nXHUyNjAzJykpCisgICAgICAgIGxvZ2dpbmcuaW5mbyhfKCdtZXNzYWdlIDEnLCBzZXRfdmFsdWU9ezEsIDIsIDN9LCBzbm93bWFuPSdcdTI2MDMnKSkKIAogICAgIGlmIF9fbmFtZV9fID09ICdfX21haW5fXyc6CiAgICAgICAgIG1haW4oKQpkaWZmIC0tZ2l0IGEvRG9jL2hvd3RvL3JlZ2V4LnJzdCBiL0RvYy9ob3d0by9yZWdleC5yc3QKaW5kZXggZmJlNzYzYi4uOWFlMDRkNyAxMDA2NDQKLS0tIGEvRG9jL2hvd3RvL3JlZ2V4LnJzdAorKysgYi9Eb2MvaG93dG8vcmVnZXgucnN0CkBAIC04NTIsNyArODUyLDcgQEAKIHByb2JsZW0uICBCb3RoIG9mIHRoZW0gdXNlIGEgY29tbW9uIHN5bnRheCBmb3IgcmVndWxhciBleHByZXNzaW9uIGV4dGVuc2lvbnMsIHNvCiB3ZSdsbCBsb29rIGF0IHRoYXQgZmlyc3QuCiAKLVBlcmwgNSBpcyB3ZWxsLWtub3duIGZvciBpdHMgcG93ZXJmdWwgYWRkaXRpb25zIHRvIHN0YW5kYXJkIHJlZ3VsYXIgZXhwcmVzc2lvbnMuCitQZXJsIDUgaXMgd2VsbCBrbm93biBmb3IgaXRzIHBvd2VyZnVsIGFkZGl0aW9ucyB0byBzdGFuZGFyZCByZWd1bGFyIGV4cHJlc3Npb25zLgogRm9yIHRoZXNlIG5ldyBmZWF0dXJlcyB0aGUgUGVybCBkZXZlbG9wZXJzIGNvdWxkbid0IGNob29zZSBuZXcgc2luZ2xlLWtleXN0cm9rZSBtZXRhY2hhcmFjdGVycwogb3IgbmV3IHNwZWNpYWwgc2VxdWVuY2VzIGJlZ2lubmluZyB3aXRoIGBgXGBgIHdpdGhvdXQgbWFraW5nIFBlcmwncyByZWd1bGFyCiBleHByZXNzaW9ucyBjb25mdXNpbmdseSBkaWZmZXJlbnQgZnJvbSBzdGFuZGFyZCBSRXMuICBJZiB0aGV5IGNob3NlIGBgJmBgIGFzIGEKZGlmZiAtLWdpdCBhL0RvYy9ob3d0by9zb2NrZXRzLnJzdCBiL0RvYy9ob3d0by9zb2NrZXRzLnJzdAppbmRleCBkNWFmZjkwLi4wNDM5NGQ0IDEwMDY0NAotLS0gYS9Eb2MvaG93dG8vc29ja2V0cy5yc3QKKysrIGIvRG9jL2hvd3RvL3NvY2tldHMucnN0CkBAIC0yMzQsNyArMjM0LDcgQEAKIGZvbGxvd2luZyBtZXNzYWdlLiBZb3UnbGwgbmVlZCB0byBwdXQgdGhhdCBhc2lkZSBhbmQgaG9sZCBvbnRvIGl0LCB1bnRpbCBpdCdzCiBuZWVkZWQuCiAKLVByZWZpeGluZyB0aGUgbWVzc2FnZSB3aXRoIGl0J3MgbGVuZ3RoIChzYXksIGFzIDUgbnVtZXJpYyBjaGFyYWN0ZXJzKSBnZXRzIG1vcmUKK1ByZWZpeGluZyB0aGUgbWVzc2FnZSB3aXRoIGl0cyBsZW5ndGggKHNheSwgYXMgNSBudW1lcmljIGNoYXJhY3RlcnMpIGdldHMgbW9yZQogY29tcGxleCwgYmVjYXVzZSAoYmVsaWV2ZSBpdCBvciBub3QpLCB5b3UgbWF5IG5vdCBnZXQgYWxsIDUgY2hhcmFjdGVycyBpbiBvbmUKIGBgcmVjdmBgLiBJbiBwbGF5aW5nIGFyb3VuZCwgeW91J2xsIGdldCBhd2F5IHdpdGggaXQ7IGJ1dCBpbiBoaWdoIG5ldHdvcmsgbG9hZHMsCiB5b3VyIGNvZGUgd2lsbCB2ZXJ5IHF1aWNrbHkgYnJlYWsgdW5sZXNzIHlvdSB1c2UgdHdvIGBgcmVjdmBgIGxvb3BzIC0gdGhlIGZpcnN0CmRpZmYgLS1naXQgYS9Eb2MvaG93dG8vdW5pY29kZS5yc3QgYi9Eb2MvaG93dG8vdW5pY29kZS5yc3QKaW5kZXggYjQ5YWMzOS4uZWUzMWE5YyAxMDA2NDQKLS0tIGEvRG9jL2hvd3RvL3VuaWNvZGUucnN0CisrKyBiL0RvYy9ob3d0by91bmljb2RlLnJzdApAQCAtMjgwLDggKzI4MCw5IEBACiBUaGUgKmVycm9ycyogYXJndW1lbnQgc3BlY2lmaWVzIHRoZSByZXNwb25zZSB3aGVuIHRoZSBpbnB1dCBzdHJpbmcgY2FuJ3QgYmUKIGNvbnZlcnRlZCBhY2NvcmRpbmcgdG8gdGhlIGVuY29kaW5nJ3MgcnVsZXMuICBMZWdhbCB2YWx1ZXMgZm9yIHRoaXMgYXJndW1lbnQgYXJlCiBgYCdzdHJpY3QnYGAgKHJhaXNlIGEgOmV4YzpgVW5pY29kZURlY29kZUVycm9yYCBleGNlcHRpb24pLCBgYCdyZXBsYWNlJ2BgICh1c2UKLWBgVStGRkZEYGAsIGBgUkVQTEFDRU1FTlQgQ0hBUkFDVEVSYGApLCBvciBgYCdpZ25vcmUnYGAgKGp1c3QgbGVhdmUgdGhlCi1jaGFyYWN0ZXIgb3V0IG9mIHRoZSBVbmljb2RlIHJlc3VsdCkuCitgYFUrRkZGRGBgLCBgYFJFUExBQ0VNRU5UIENIQVJBQ1RFUmBgKSwgYGAnaWdub3JlJ2BgIChqdXN0IGxlYXZlIHRoZQorY2hhcmFjdGVyIG91dCBvZiB0aGUgVW5pY29kZSByZXN1bHQpLCBvciBgYCdiYWNrc2xhc2hyZXBsYWNlJ2BgIChpbnNlcnRzIGEKK2BgXHhOTmBgIGVzY2FwZSBzZXF1ZW5jZSkuCiBUaGUgZm9sbG93aW5nIGV4YW1wbGVzIHNob3cgdGhlIGRpZmZlcmVuY2VzOjoKIAogICAgID4+PiBiJ1x4ODBhYmMnLmRlY29kZSgidXRmLTgiLCAic3RyaWN0IikgICNkb2N0ZXN0OiArTk9STUFMSVpFX1dISVRFU1BBQ0UKQEAgLTI5MSw2ICsyOTIsOCBAQAogICAgICAgaW52YWxpZCBzdGFydCBieXRlCiAgICAgPj4+IGInXHg4MGFiYycuZGVjb2RlKCJ1dGYtOCIsICJyZXBsYWNlIikKICAgICAnXHVmZmZkYWJjJworICAgID4+PiBiJ1x4ODBhYmMnLmRlY29kZSgidXRmLTgiLCAiYmFja3NsYXNocmVwbGFjZSIpCisgICAgJ1xceDgwYWJjJwogICAgID4+PiBiJ1x4ODBhYmMnLmRlY29kZSgidXRmLTgiLCAiaWdub3JlIikKICAgICAnYWJjJwogCkBAIC0zMjUsOCArMzI4LDkgQEAKIDptZXRoOmB+Ynl0ZXMuZGVjb2RlYCBtZXRob2QgYnV0IHN1cHBvcnRzIGEgZmV3IG1vcmUgcG9zc2libGUgaGFuZGxlcnMuIEFzIHdlbGwgYXMKIGBgJ3N0cmljdCdgYCwgYGAnaWdub3JlJ2BgLCBhbmQgYGAncmVwbGFjZSdgYCAod2hpY2ggaW4gdGhpcyBjYXNlCiBpbnNlcnRzIGEgcXVlc3Rpb24gbWFyayBpbnN0ZWFkIG9mIHRoZSB1bmVuY29kYWJsZSBjaGFyYWN0ZXIpLCB0aGVyZSBpcwotYWxzbyBgYCd4bWxjaGFycmVmcmVwbGFjZSdgYCAoaW5zZXJ0cyBhbiBYTUwgY2hhcmFjdGVyIHJlZmVyZW5jZSkgYW5kCi1gYGJhY2tzbGFzaHJlcGxhY2VgYCAoaW5zZXJ0cyBhIGBgXHVOTk5OYGAgZXNjYXBlIHNlcXVlbmNlKS4KK2Fsc28gYGAneG1sY2hhcnJlZnJlcGxhY2UnYGAgKGluc2VydHMgYW4gWE1MIGNoYXJhY3RlciByZWZlcmVuY2UpLAorYGBiYWNrc2xhc2hyZXBsYWNlYGAgKGluc2VydHMgYSBgYFx1Tk5OTmBgIGVzY2FwZSBzZXF1ZW5jZSkgYW5kCitgYG5hbWVyZXBsYWNlYGAgKGluc2VydHMgYSBgYFxOey4uLn1gYCBlc2NhcGUgc2VxdWVuY2UpLgogCiBUaGUgZm9sbG93aW5nIGV4YW1wbGUgc2hvd3MgdGhlIGRpZmZlcmVudCByZXN1bHRzOjoKIApAQCAtMzQ2LDYgKzM1MCw4IEBACiAgICAgYicmIzQwOTYwO2FiY2QmIzE5NzI7JwogICAgID4+PiB1LmVuY29kZSgnYXNjaWknLCAnYmFja3NsYXNocmVwbGFjZScpCiAgICAgYidcXHVhMDAwYWJjZFxcdTA3YjQnCisgICAgPj4+IHUuZW5jb2RlKCdhc2NpaScsICduYW1lcmVwbGFjZScpCisgICAgYidcXE57WUkgU1lMTEFCTEUgSVR9YWJjZFxcdTA3YjQnCiAKIFRoZSBsb3ctbGV2ZWwgcm91dGluZXMgZm9yIHJlZ2lzdGVyaW5nIGFuZCBhY2Nlc3NpbmcgdGhlIGF2YWlsYWJsZQogZW5jb2RpbmdzIGFyZSBmb3VuZCBpbiB0aGUgOm1vZDpgY29kZWNzYCBtb2R1bGUuICBJbXBsZW1lbnRpbmcgbmV3CmRpZmYgLS1naXQgYS9Eb2MvaW5jbHVkZXMvcnVuLWZ1bmMuYyBiL0RvYy9pbmNsdWRlcy9ydW4tZnVuYy5jCmluZGV4IDFjOTg2MGQuLjk4NmQ2NzAgMTAwNjQ0Ci0tLSBhL0RvYy9pbmNsdWRlcy9ydW4tZnVuYy5jCisrKyBiL0RvYy9pbmNsdWRlcy9ydW4tZnVuYy5jCkBAIC0xMyw3ICsxMyw3IEBACiAgICAgfQogCiAgICAgUHlfSW5pdGlhbGl6ZSgpOwotICAgIHBOYW1lID0gUHlVbmljb2RlX0Zyb21TdHJpbmcoYXJndlsxXSk7CisgICAgcE5hbWUgPSBQeVVuaWNvZGVfRGVjb2RlRlNEZWZhdWx0KGFyZ3ZbMV0pOwogICAgIC8qIEVycm9yIGNoZWNraW5nIG9mIHBOYW1lIGxlZnQgb3V0ICovCiAKICAgICBwTW9kdWxlID0gUHlJbXBvcnRfSW1wb3J0KHBOYW1lKTsKZGlmZiAtLWdpdCBhL0RvYy9pbnN0YWxsL2luZGV4LnJzdCBiL0RvYy9pbnN0YWxsL2luZGV4LnJzdAppbmRleCA4ZjNhZDcyLi44NzZmMzUwIDEwMDY0NAotLS0gYS9Eb2MvaW5zdGFsbC9pbmRleC5yc3QKKysrIGIvRG9jL2luc3RhbGwvaW5kZXgucnN0CkBAIC0zNjEsNyArMzYxLDcgQEAKIFR5cGUgb2YgZmlsZSAgICBJbnN0YWxsYXRpb24gZGlyZWN0b3J5CiA9PT09PT09PT09PT09PT0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIG1vZHVsZXMgICAgICAgICA6ZmlsZTpge3VzZXJiYXNlfVxcUHl0aG9ue1hZfVxcc2l0ZS1wYWNrYWdlc2AKLXNjcmlwdHMgICAgICAgICA6ZmlsZTpge3VzZXJiYXNlfVxcU2NyaXB0c2AKK3NjcmlwdHMgICAgICAgICA6ZmlsZTpge3VzZXJiYXNlfVxcUHl0aG9ue1hZfVxcU2NyaXB0c2AKIGRhdGEgICAgICAgICAgICA6ZmlsZTpge3VzZXJiYXNlfWAKIEMgaGVhZGVycyAgICAgICA6ZmlsZTpge3VzZXJiYXNlfVxcUHl0aG9ue1hZfVxcSW5jbHVkZVxce2Rpc3RuYW1lfWAKID09PT09PT09PT09PT09PSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvYXJncGFyc2UucnN0IGIvRG9jL2xpYnJhcnkvYXJncGFyc2UucnN0CmluZGV4IDczZjk0ODAuLjFmNzVjZDkgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L2FyZ3BhcnNlLnJzdAorKysgYi9Eb2MvbGlicmFyeS9hcmdwYXJzZS5yc3QKQEAgLTEzNSw3ICsxMzUsNyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtYXR0ZXJfY2xhc3M9YXJncGFyc2UuSGVscEZvcm1hdHRlciwgXAogICAgICAgICAgICAgICAgICAgICAgICAgICBwcmVmaXhfY2hhcnM9Jy0nLCBmcm9tZmlsZV9wcmVmaXhfY2hhcnM9Tm9uZSwgXAogICAgICAgICAgICAgICAgICAgICAgICAgICBhcmd1bWVudF9kZWZhdWx0PU5vbmUsIGNvbmZsaWN0X2hhbmRsZXI9J2Vycm9yJywgXAotICAgICAgICAgICAgICAgICAgICAgICAgICBhZGRfaGVscD1UcnVlKQorICAgICAgICAgICAgICAgICAgICAgICAgICBhZGRfaGVscD1UcnVlLCBhbGxvd19hYmJyZXY9VHJ1ZSkKIAogICAgQ3JlYXRlIGEgbmV3IDpjbGFzczpgQXJndW1lbnRQYXJzZXJgIG9iamVjdC4gQWxsIHBhcmFtZXRlcnMgc2hvdWxkIGJlIHBhc3NlZAogICAgYXMga2V5d29yZCBhcmd1bWVudHMuIEVhY2ggcGFyYW1ldGVyIGhhcyBpdHMgb3duIG1vcmUgZGV0YWlsZWQgZGVzY3JpcHRpb24KQEAgLTE2OSw2ICsxNjksMTIgQEAKIAogICAgKiBhZGRfaGVscF8gLSBBZGQgYSAtaC8tLWhlbHAgb3B0aW9uIHRvIHRoZSBwYXJzZXIgKGRlZmF1bHQ6IGBgVHJ1ZWBgKQogCisgICAqIGFsbG93X2FiYnJldl8gLSBBbGxvd3MgbG9uZyBvcHRpb25zIHRvIGJlIGFiYnJldmlhdGVkIGlmIHRoZQorICAgICBhYmJyZXZpYXRpb24gaXMgdW5hbWJpZ3VvdXMuIChkZWZhdWx0OiBgYFRydWVgYCkKKworICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjUKKyAgICAgICphbGxvd19hYmJyZXYqIHBhcmFtZXRlciB3YXMgYWRkZWQuCisKIFRoZSBmb2xsb3dpbmcgc2VjdGlvbnMgZGVzY3JpYmUgaG93IGVhY2ggb2YgdGhlc2UgYXJlIHVzZWQuCiAKIApAQCAtNTE4LDYgKzUyNCwyNiBAQAogICAgPj4+IHBhcnNlci5wYXJzZV9hcmdzKFtdKQogICAgTmFtZXNwYWNlKCkKIAorLi4gX2FsbG93X2FiYnJldjoKKworYWxsb3dfYWJicmV2CiteXl5eXl5eXl5eXl4KKworTm9ybWFsbHksIHdoZW4geW91IHBhc3MgYW4gYXJndW1lbnQgbGlzdCB0byB0aGUKKzptZXRoOmB+QXJndW1lbnRQYXJzZXIucGFyc2VfYXJnc2AgbWV0aG9kIG9mIGEgOmNsYXNzOmBBcmd1bWVudFBhcnNlcmAsCitpdCA6cmVmOmByZWNvZ25pemVzIGFiYnJldmlhdGlvbnMgPHByZWZpeC1tYXRjaGluZz5gIG9mIGxvbmcgb3B0aW9ucy4KKworVGhpcyBmZWF0dXJlIGNhbiBiZSBkaXNhYmxlZCBieSBzZXR0aW5nIGBgYWxsb3dfYWJicmV2YGAgdG8gYGBGYWxzZWBgOjoKKworICAgPj4+IHBhcnNlciA9IGFyZ3BhcnNlLkFyZ3VtZW50UGFyc2VyKHByb2c9J1BST0cnLCBhbGxvd19hYmJyZXY9RmFsc2UpCisgICA+Pj4gcGFyc2VyLmFkZF9hcmd1bWVudCgnLS1mb29iYXInLCBhY3Rpb249J3N0b3JlX3RydWUnKQorICAgPj4+IHBhcnNlci5hZGRfYXJndW1lbnQoJy0tZm9vbmxleScsIGFjdGlvbj0nc3RvcmVfZmFsc2UnKQorICAgPj4+IHBhcnNlci5wYXJzZV9hcmdzKFstLWZvb25dKQorICAgdXNhZ2U6IFBST0cgWy1oXSBbLS1mb29iYXJdIFstLWZvb25sZXldCisgICBQUk9HOiBlcnJvcjogdW5yZWNvZ25pemVkIGFyZ3VtZW50czogLS1mb29uCisKKy4uIHZlcnNpb25hZGRlZDo6IDMuNQorCiAKIGNvbmZsaWN0X2hhbmRsZXIKIF5eXl5eXl5eXl5eXl5eXl4KQEAgLTE0MTAsOSArMTQzNiw5IEBACiBBcmd1bWVudCBhYmJyZXZpYXRpb25zIChwcmVmaXggbWF0Y2hpbmcpCiBeXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eCiAKLVRoZSA6bWV0aDpgfkFyZ3VtZW50UGFyc2VyLnBhcnNlX2FyZ3NgIG1ldGhvZCBhbGxvd3MgbG9uZyBvcHRpb25zIHRvIGJlCi1hYmJyZXZpYXRlZCB0byBhIHByZWZpeCwgaWYgdGhlIGFiYnJldmlhdGlvbiBpcyB1bmFtYmlndW91cyAodGhlIHByZWZpeCBtYXRjaGVzCi1hIHVuaXF1ZSBvcHRpb24pOjoKK1RoZSA6bWV0aDpgfkFyZ3VtZW50UGFyc2VyLnBhcnNlX2FyZ3NgIG1ldGhvZCA6cmVmOmBieSBkZWZhdWx0IDxhbGxvd19hYmJyZXY+YAorYWxsb3dzIGxvbmcgb3B0aW9ucyB0byBiZSBhYmJyZXZpYXRlZCB0byBhIHByZWZpeCwgaWYgdGhlIGFiYnJldmlhdGlvbiBpcwordW5hbWJpZ3VvdXMgKHRoZSBwcmVmaXggbWF0Y2hlcyBhIHVuaXF1ZSBvcHRpb24pOjoKIAogICAgPj4+IHBhcnNlciA9IGFyZ3BhcnNlLkFyZ3VtZW50UGFyc2VyKHByb2c9J1BST0cnKQogICAgPj4+IHBhcnNlci5hZGRfYXJndW1lbnQoJy1iYWNvbicpCkBAIC0xNDI2LDYgKzE0NTIsNyBAQAogICAgUFJPRzogZXJyb3I6IGFtYmlndW91cyBvcHRpb246IC1iYSBjb3VsZCBtYXRjaCAtYmFkZ2VyLCAtYmFjb24KIAogQW4gZXJyb3IgaXMgcHJvZHVjZWQgZm9yIGFyZ3VtZW50cyB0aGF0IGNvdWxkIHByb2R1Y2UgbW9yZSB0aGFuIG9uZSBvcHRpb25zLgorVGhpcyBmZWF0dXJlIGNhbiBiZSBkaXNhYmxlZCBieSBzZXR0aW5nIDpyZWY6YGFsbG93X2FiYnJldmAgdG8gYGBGYWxzZWBgLgogCiAKIEJleW9uZCBgYHN5cy5hcmd2YGAKQEAgLTE5MTAsNyArMTkzNyw3IEBACiAKICAgIEFyZ3VtZW50cyB0aGF0IGFyZSByZWFkIGZyb20gYSBmaWxlIChzZWUgdGhlICpmcm9tZmlsZV9wcmVmaXhfY2hhcnMqCiAgICBrZXl3b3JkIGFyZ3VtZW50IHRvIHRoZSA6Y2xhc3M6YEFyZ3VtZW50UGFyc2VyYCBjb25zdHJ1Y3RvcikgYXJlIHJlYWQgb25lCi0gICBhcmd1bWVudCBwZXIgbGluZS4gOm1ldGg6YGNvbnZlcnRfYXJnX2xpbmVfdG9fYXJnc2AgY2FuIGJlIG92ZXJyaWRlbiBmb3IKKyAgIGFyZ3VtZW50IHBlciBsaW5lLiA6bWV0aDpgY29udmVydF9hcmdfbGluZV90b19hcmdzYCBjYW4gYmUgb3ZlcnJpZGRlbiBmb3IKICAgIGZhbmNpZXIgcmVhZGluZy4KIAogICAgVGhpcyBtZXRob2QgdGFrZXMgYSBzaW5nbGUgYXJndW1lbnQgKmFyZ19saW5lKiB3aGljaCBpcyBhIHN0cmluZyByZWFkIGZyb20KZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L2FzeW5jaGF0LnJzdCBiL0RvYy9saWJyYXJ5L2FzeW5jaGF0LnJzdAppbmRleCBjNmZhMDYxLi43OTRkYThjIDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS9hc3luY2hhdC5yc3QKKysrIGIvRG9jL2xpYnJhcnkvYXN5bmNoYXQucnN0CkBAIC0xNDcsNDAgKzE0Nyw2IEBACiAgICBieSB0aGUgY2hhbm5lbCBhZnRlciA6bWV0aDpgZm91bmRfdGVybWluYXRvcmAgaXMgY2FsbGVkLgogCiAKLWFzeW5jaGF0IC0gQXV4aWxpYXJ5IENsYXNzZXMKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotCi0uLiBjbGFzczo6IGZpZm8obGlzdD1Ob25lKQotCi0gICBBIDpjbGFzczpgZmlmb2AgaG9sZGluZyBkYXRhIHdoaWNoIGhhcyBiZWVuIHB1c2hlZCBieSB0aGUgYXBwbGljYXRpb24gYnV0Ci0gICBub3QgeWV0IHBvcHBlZCBmb3Igd3JpdGluZyB0byB0aGUgY2hhbm5lbC4gIEEgOmNsYXNzOmBmaWZvYCBpcyBhIGxpc3QgdXNlZAotICAgdG8gaG9sZCBkYXRhIGFuZC9vciBwcm9kdWNlcnMgdW50aWwgdGhleSBhcmUgcmVxdWlyZWQuICBJZiB0aGUgKmxpc3QqCi0gICBhcmd1bWVudCBpcyBwcm92aWRlZCB0aGVuIGl0IHNob3VsZCBjb250YWluIHByb2R1Y2VycyBvciBkYXRhIGl0ZW1zIHRvIGJlCi0gICB3cml0dGVuIHRvIHRoZSBjaGFubmVsLgotCi0KLSAgIC4uIG1ldGhvZDo6IGlzX2VtcHR5KCkKLQotICAgICAgUmV0dXJucyBgYFRydWVgYCBpZiBhbmQgb25seSBpZiB0aGUgZmlmbyBpcyBlbXB0eS4KLQotCi0gICAuLiBtZXRob2Q6OiBmaXJzdCgpCi0KLSAgICAgIFJldHVybnMgdGhlIGxlYXN0LXJlY2VudGx5IDptZXRoOmBwdXNoYFwgZWQgaXRlbSBmcm9tIHRoZSBmaWZvLgotCi0KLSAgIC4uIG1ldGhvZDo6IHB1c2goZGF0YSkKLQotICAgICAgQWRkcyB0aGUgZ2l2ZW4gZGF0YSAod2hpY2ggbWF5IGJlIGEgc3RyaW5nIG9yIGEgcHJvZHVjZXIgb2JqZWN0KSB0byB0aGUKLSAgICAgIHByb2R1Y2VyIGZpZm8uCi0KLQotICAgLi4gbWV0aG9kOjogcG9wKCkKLQotICAgICAgSWYgdGhlIGZpZm8gaXMgbm90IGVtcHR5LCByZXR1cm5zIGBgVHJ1ZSwgZmlyc3QoKWBgLCBkZWxldGluZyB0aGUgcG9wcGVkCi0gICAgICBpdGVtLiAgUmV0dXJucyBgYEZhbHNlLCBOb25lYGAgZm9yIGFuIGVtcHR5IGZpZm8uCi0KLQogLi4gX2FzeW5jaGF0LWV4YW1wbGU6CiAKIGFzeW5jaGF0IEV4YW1wbGUKZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L2FzeW5jaW8tZXZlbnRsb29wcy5yc3QgYi9Eb2MvbGlicmFyeS9hc3luY2lvLWV2ZW50bG9vcHMucnN0CmluZGV4IGFmYjhiOWYuLmFlM2JmOTAgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L2FzeW5jaW8tZXZlbnRsb29wcy5yc3QKKysrIGIvRG9jL2xpYnJhcnkvYXN5bmNpby1ldmVudGxvb3BzLnJzdApAQCAtMTAwLDggKzEwMCw2IEBACiAKIDpjbGFzczpgUHJvYWN0b3JFdmVudExvb3BgIHNwZWNpZmljIGxpbWl0czoKIAotLSBTU0wgaXMgbm90IHN1cHBvcnRlZDogOm1ldGg6YH5CYXNlRXZlbnRMb29wLmNyZWF0ZV9jb25uZWN0aW9uYCBhbmQKLSAgOm1ldGg6YH5CYXNlRXZlbnRMb29wLmNyZWF0ZV9zZXJ2ZXJgIGNhbm5vdCBiZSB1c2VkIHdpdGggU1NMIGZvciBleGFtcGxlCiAtIDptZXRoOmB+QmFzZUV2ZW50TG9vcC5jcmVhdGVfZGF0YWdyYW1fZW5kcG9pbnRgIChVRFApIGlzIG5vdCBzdXBwb3J0ZWQKIC0gOm1ldGg6YH5CYXNlRXZlbnRMb29wLmFkZF9yZWFkZXJgIGFuZCA6bWV0aDpgfkJhc2VFdmVudExvb3AuYWRkX3dyaXRlcmAgYXJlCiAgIG5vdCBzdXBwb3J0ZWQKQEAgLTExMiw2ICsxMTAsMTAgQEAKIDxodHRwOi8vZnIud2lraXBlZGlhLm9yZy93aWtpL0hpZ2hfUHJlY2lzaW9uX0V2ZW50X1RpbWVyPmBfKSBhbmQgb24gdGhlIFdpbmRvd3MKIGNvbmZpZ3VyYXRpb24uIFNlZSA6cmVmOmBhc3luY2lvIGRlbGF5ZWQgY2FsbHMgPGFzeW5jaW8tZGVsYXllZC1jYWxscz5gLgogCisuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuNQorCisgICA6Y2xhc3M6YFByb2FjdG9yRXZlbnRMb29wYCBub3cgc3VwcG9ydHMgU1NMLgorCiAKIE1hYyBPUyBYCiBeXl5eXl5eXgpkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvY2dpLnJzdCBiL0RvYy9saWJyYXJ5L2NnaS5yc3QKaW5kZXggZmExMzE0NS4uMGE5ZTg4NCAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvY2dpLnJzdAorKysgYi9Eb2MvbGlicmFyeS9jZ2kucnN0CkBAIC0xNTcsNiArMTU3LDkgQEAKICAgICAgICAgICAgaWYgbm90IGxpbmU6IGJyZWFrCiAgICAgICAgICAgIGxpbmVjb3VudCA9IGxpbmVjb3VudCArIDEKIAorOmNsYXNzOmBGaWVsZFN0b3JhZ2VgIG9iamVjdHMgYWxzbyBzdXBwb3J0IGJlaW5nIHVzZWQgaW4gYSA6a2V5d29yZDpgd2l0aGAKK3N0YXRlbWVudCwgd2hpY2ggd2lsbCBhdXRvbWF0aWNhbGx5IGNsb3NlIHRoZW0gd2hlbiBkb25lLgorCiBJZiBhbiBlcnJvciBpcyBlbmNvdW50ZXJlZCB3aGVuIG9idGFpbmluZyB0aGUgY29udGVudHMgb2YgYW4gdXBsb2FkZWQgZmlsZQogKGZvciBleGFtcGxlLCB3aGVuIHRoZSB1c2VyIGludGVycnVwdHMgdGhlIGZvcm0gc3VibWlzc2lvbiBieSBjbGlja2luZyBvbgogYSBCYWNrIG9yIENhbmNlbCBidXR0b24pIHRoZSA6YXR0cjpgfkZpZWxkU3RvcmFnZS5kb25lYCBhdHRyaWJ1dGUgb2YgdGhlCkBAIC0xODIsNiArMTg1LDEwIEBACiAgICBUaGUgOmF0dHI6YH5GaWVsZFN0b3JhZ2UuZmlsZWAgYXR0cmlidXRlIGlzIGF1dG9tYXRpY2FsbHkgY2xvc2VkIHVwb24gdGhlCiAgICBnYXJiYWdlIGNvbGxlY3Rpb24gb2YgdGhlIGNyZWF0aW5nIDpjbGFzczpgRmllbGRTdG9yYWdlYCBpbnN0YW5jZS4KIAorLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjUKKyAgIEFkZGVkIHN1cHBvcnQgZm9yIHRoZSBjb250ZXh0IG1hbmFnZW1lbnQgcHJvdG9jb2wgdG8gdGhlCisgICA6Y2xhc3M6YEZpZWxkU3RvcmFnZWAgY2xhc3MuCisKIAogSGlnaGVyIExldmVsIEludGVyZmFjZQogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvY21kLnJzdCBiL0RvYy9saWJyYXJ5L2NtZC5yc3QKaW5kZXggODBkMmE1ZC4uMWFiMmQ3NCAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvY21kLnJzdAorKysgYi9Eb2MvbGlicmFyeS9jbWQucnN0CkBAIC0yNTksNyArMjU5LDcgQEAKICAgICAgICAgICAgICdNb3ZlIHR1cnRsZSB0byBhbiBhYnNvbHV0ZSBwb3NpdGlvbiB3aXRoIGNoYW5naW5nIG9yaWVudGF0aW9uLiAgR09UTyAxMDAgMjAwJwogICAgICAgICAgICAgZ290bygqcGFyc2UoYXJnKSkKICAgICAgICAgZGVmIGRvX2hvbWUoc2VsZiwgYXJnKToKLSAgICAgICAgICAgICdSZXR1cm4gdHVydGxlIHRvIHRoZSBob21lIHBvc3Rpb246ICBIT01FJworICAgICAgICAgICAgJ1JldHVybiB0dXJ0bGUgdG8gdGhlIGhvbWUgcG9zaXRpb246ICBIT01FJwogICAgICAgICAgICAgaG9tZSgpCiAgICAgICAgIGRlZiBkb19jaXJjbGUoc2VsZiwgYXJnKToKICAgICAgICAgICAgICdEcmF3IGNpcmNsZSB3aXRoIGdpdmVuIHJhZGl1cyBhbiBvcHRpb25zIGV4dGVudCBhbmQgc3RlcHM6ICBDSVJDTEUgNTAnCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS9jb2RlLnJzdCBiL0RvYy9saWJyYXJ5L2NvZGUucnN0CmluZGV4IDViNWQ3Y2MuLjI3NTIwMWMgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L2NvZGUucnN0CisrKyBiL0RvYy9saWJyYXJ5L2NvZGUucnN0CkBAIC00LDYgKzQsNyBAQAogLi4gbW9kdWxlOjogY29kZQogICAgOnN5bm9wc2lzOiBGYWNpbGl0aWVzIHRvIGltcGxlbWVudCByZWFkLWV2YWwtcHJpbnQgbG9vcHMuCiAKKyoqU291cmNlIGNvZGU6KiogOnNvdXJjZTpgTGliL2NvZGUucHlgCiAKIFRoZSBgYGNvZGVgYCBtb2R1bGUgcHJvdmlkZXMgZmFjaWxpdGllcyB0byBpbXBsZW1lbnQgcmVhZC1ldmFsLXByaW50IGxvb3BzIGluCiBQeXRob24uICBUd28gY2xhc3NlcyBhbmQgY29udmVuaWVuY2UgZnVuY3Rpb25zIGFyZSBpbmNsdWRlZCB3aGljaCBjYW4gYmUgdXNlZCB0bwpAQCAtMTEzLDYgKzExNCw5IEBACiAgICBiZWNhdXNlIGl0IGlzIHdpdGhpbiB0aGUgaW50ZXJwcmV0ZXIgb2JqZWN0IGltcGxlbWVudGF0aW9uLiBUaGUgb3V0cHV0IGlzCiAgICB3cml0dGVuIGJ5IHRoZSA6bWV0aDpgd3JpdGVgIG1ldGhvZC4KIAorICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjUgVGhlIGZ1bGwgY2hhaW5lZCB0cmFjZWJhY2sgaXMgZGlzcGxheWVkIGluc3RlYWQKKyAgICAgIG9mIGp1c3QgdGhlIHByaW1hcnkgdHJhY2ViYWNrLgorCiAKIC4uIG1ldGhvZDo6IEludGVyYWN0aXZlSW50ZXJwcmV0ZXIud3JpdGUoZGF0YSkKIApAQCAtMTY1LDQgKzE2OSwzIEBACiAgICBuZXdsaW5lLiAgV2hlbiB0aGUgdXNlciBlbnRlcnMgdGhlIEVPRiBrZXkgc2VxdWVuY2UsIDpleGM6YEVPRkVycm9yYCBpcyByYWlzZWQuCiAgICBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiByZWFkcyBmcm9tIGBgc3lzLnN0ZGluYGA7IGEgc3ViY2xhc3MgbWF5IHJlcGxhY2UgdGhpcwogICAgd2l0aCBhIGRpZmZlcmVudCBpbXBsZW1lbnRhdGlvbi4KLQpkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvY29kZWNzLnJzdCBiL0RvYy9saWJyYXJ5L2NvZGVjcy5yc3QKaW5kZXggZGQ0NGNiMi4uMDQ4ZjBlOSAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvY29kZWNzLnJzdAorKysgYi9Eb2MvbGlicmFyeS9jb2RlY3MucnN0CkBAIC03LDYgKzcsNyBAQAogLi4gc2VjdGlvbmF1dGhvcjo6IE1hcmMtQW5kcsOpIExlbWJ1cmcgPG1hbEBsZW1idXJnLmNvbT4KIC4uIHNlY3Rpb25hdXRob3I6OiBNYXJ0aW4gdi4gTMO2d2lzIDxtYXJ0aW5Adi5sb2V3aXMuZGU+CiAKKyoqU291cmNlIGNvZGU6KiogOnNvdXJjZTpgTGliL2NvZGVjcy5weWAKIAogLi4gaW5kZXg6OgogICAgc2luZ2xlOiBVbmljb2RlCkBAIC0yOSwxMCArMzAsOSBAQAogVGhlIG1vZHVsZSBkZWZpbmVzIHRoZSBmb2xsb3dpbmcgZnVuY3Rpb25zIGZvciBlbmNvZGluZyBhbmQgZGVjb2Rpbmcgd2l0aAogYW55IGNvZGVjOgogCi0uLiBmdW5jdGlvbjo6IGVuY29kZShvYmosIFtlbmNvZGluZ1ssIGVycm9yc11dKQorLi4gZnVuY3Rpb246OiBlbmNvZGUob2JqLCBlbmNvZGluZz0ndXRmLTgnLCBlcnJvcnM9J3N0cmljdCcpCiAKLSAgIEVuY29kZXMgKm9iaiogdXNpbmcgdGhlIGNvZGVjIHJlZ2lzdGVyZWQgZm9yICplbmNvZGluZyouIFRoZSBkZWZhdWx0Ci0gICBlbmNvZGluZyBpcyBgYHV0Zi04YGAuCisgICBFbmNvZGVzICpvYmoqIHVzaW5nIHRoZSBjb2RlYyByZWdpc3RlcmVkIGZvciAqZW5jb2RpbmcqLgogCiAgICAqRXJyb3JzKiBtYXkgYmUgZ2l2ZW4gdG8gc2V0IHRoZSBkZXNpcmVkIGVycm9yIGhhbmRsaW5nIHNjaGVtZS4gVGhlCiAgICBkZWZhdWx0IGVycm9yIGhhbmRsZXIgaXMgYGAnc3RyaWN0J2BgIG1lYW5pbmcgdGhhdCBlbmNvZGluZyBlcnJvcnMgcmFpc2UKQEAgLTQwLDEwICs0MCw5IEBACiAgICA6ZXhjOmBVbmljb2RlRW5jb2RlRXJyb3JgKS4gUmVmZXIgdG8gOnJlZjpgY29kZWMtYmFzZS1jbGFzc2VzYCBmb3IgbW9yZQogICAgaW5mb3JtYXRpb24gb24gY29kZWMgZXJyb3IgaGFuZGxpbmcuCiAKLS4uIGZ1bmN0aW9uOjogZGVjb2RlKG9iaiwgW2VuY29kaW5nWywgZXJyb3JzXV0pCisuLiBmdW5jdGlvbjo6IGRlY29kZShvYmosIGVuY29kaW5nPSd1dGYtOCcsIGVycm9ycz0nc3RyaWN0JykKIAotICAgRGVjb2RlcyAqb2JqKiB1c2luZyB0aGUgY29kZWMgcmVnaXN0ZXJlZCBmb3IgKmVuY29kaW5nKi4gVGhlIGRlZmF1bHQKLSAgIGVuY29kaW5nIGlzIGBgdXRmLThgYC4KKyAgIERlY29kZXMgKm9iaiogdXNpbmcgdGhlIGNvZGVjIHJlZ2lzdGVyZWQgZm9yICplbmNvZGluZyouCiAKICAgICpFcnJvcnMqIG1heSBiZSBnaXZlbiB0byBzZXQgdGhlIGRlc2lyZWQgZXJyb3IgaGFuZGxpbmcgc2NoZW1lLiBUaGUKICAgIGRlZmF1bHQgZXJyb3IgaGFuZGxlciBpcyBgYCdzdHJpY3QnYGAgbWVhbmluZyB0aGF0IGRlY29kaW5nIGVycm9ycyByYWlzZQpAQCAtMTA0LDcgKzEwMyw2IEBACiBUbyBzaW1wbGlmeSBhY2Nlc3MgdG8gdGhlIHZhcmlvdXMgY29kZWMgY29tcG9uZW50cywgdGhlIG1vZHVsZSBwcm92aWRlcwogdGhlc2UgYWRkaXRpb25hbCBmdW5jdGlvbnMgd2hpY2ggdXNlIDpmdW5jOmBsb29rdXBgIGZvciB0aGUgY29kZWMgbG9va3VwOgogCi0KIC4uIGZ1bmN0aW9uOjogZ2V0ZW5jb2RlcihlbmNvZGluZykKIAogICAgTG9vayB1cCB0aGUgY29kZWMgZm9yIHRoZSBnaXZlbiBlbmNvZGluZyBhbmQgcmV0dXJuIGl0cyBlbmNvZGVyIGZ1bmN0aW9uLgpAQCAtMjc0LDYgKzI3Miw3IEBACiBjb2RlYyB3aWxsIGhhbmRsZSBlbmNvZGluZyBhbmQgZGVjb2RpbmcgZXJyb3JzLgogCiAKKy4uIF9zdXJyb2dhdGVlc2NhcGU6CiAuLiBfZXJyb3ItaGFuZGxlcnM6CiAKIEVycm9yIEhhbmRsZXJzCkBAIC0zMTUsMTAgKzMxNCwxNCBAQAogfCAgICAgICAgICAgICAgICAgICAgICAgICB8IHJlZmVyZW5jZSAob25seSBmb3IgZW5jb2RpbmcpLiAgSW1wbGVtZW50ZWQgICB8CiB8ICAgICAgICAgICAgICAgICAgICAgICAgIHwgaW4gOmZ1bmM6YHhtbGNoYXJyZWZyZXBsYWNlX2Vycm9yc2AuICAgICAgICAgIHwKICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwotfCBgYCdiYWNrc2xhc2hyZXBsYWNlJ2BgICB8IFJlcGxhY2Ugd2l0aCBiYWNrc2xhc2hlZCBlc2NhcGUgc2VxdWVuY2VzICAgICB8Ci18ICAgICAgICAgICAgICAgICAgICAgICAgIHwgKG9ubHkgZm9yIGVuY29kaW5nKS4gIEltcGxlbWVudGVkIGluICAgICAgICAgIHwKK3wgYGAnYmFja3NsYXNocmVwbGFjZSdgYCAgfCBSZXBsYWNlIHdpdGggYmFja3NsYXNoZWQgZXNjYXBlIHNlcXVlbmNlcy4gICAgfAorfCAgICAgICAgICAgICAgICAgICAgICAgICB8IEltcGxlbWVudGVkIGluICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CiB8ICAgICAgICAgICAgICAgICAgICAgICAgIHwgOmZ1bmM6YGJhY2tzbGFzaHJlcGxhY2VfZXJyb3JzYC4gICAgICAgICAgICAgIHwKICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworfCBgYCduYW1lcmVwbGFjZSdgYCAgICAgICB8IFJlcGxhY2Ugd2l0aCBgYFxOey4uLn1gYCBlc2NhcGUgc2VxdWVuY2VzICAgICB8Cit8ICAgICAgICAgICAgICAgICAgICAgICAgIHwgKG9ubHkgZm9yIGVuY29kaW5nKS4gIEltcGxlbWVudGVkIGluICAgICAgICAgIHwKK3wgICAgICAgICAgICAgICAgICAgICAgICAgfCA6ZnVuYzpgbmFtZXJlcGxhY2VfZXJyb3JzYC4gICAgICAgICAgICAgICAgICAgfAorKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCiB8IGBgJ3N1cnJvZ2F0ZWVzY2FwZSdgYCAgIHwgT24gZGVjb2RpbmcsIHJlcGxhY2UgYnl0ZSB3aXRoIGluZGl2aWR1YWwgICAgIHwKIHwgICAgICAgICAgICAgICAgICAgICAgICAgfCBzdXJyb2dhdGUgY29kZSByYW5naW5nIGZyb20gYGBVK0RDODBgYCB0byAgICAgfAogfCAgICAgICAgICAgICAgICAgICAgICAgICB8IGBgVStEQ0ZGYGAuICBUaGlzIGNvZGUgd2lsbCB0aGVuIGJlIHR1cm5lZCAgICB8CkBAIC0zNDQsNiArMzQ3LDEzIEBACiAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuNAogICAgVGhlIGBgJ3N1cnJvZ2F0ZXBhc3MnYGAgZXJyb3IgaGFuZGxlcnMgbm93IHdvcmtzIHdpdGggdXRmLTE2XCogYW5kIHV0Zi0zMlwqIGNvZGVjcy4KIAorLi4gdmVyc2lvbmFkZGVkOjogMy41CisgICBUaGUgYGAnbmFtZXJlcGxhY2UnYGAgZXJyb3IgaGFuZGxlci4KKworLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjUKKyAgIFRoZSBgYCdiYWNrc2xhc2hyZXBsYWNlJ2BgIGVycm9yIGhhbmRsZXJzIG5vdyB3b3JrcyB3aXRoIGRlY29kaW5nIGFuZAorICAgdHJhbnNsYXRpbmcuCisKIFRoZSBzZXQgb2YgYWxsb3dlZCB2YWx1ZXMgY2FuIGJlIGV4dGVuZGVkIGJ5IHJlZ2lzdGVyaW5nIGEgbmV3IG5hbWVkIGVycm9yCiBoYW5kbGVyOgogCkBAIC00MTEsOSArNDIxLDE3IEBACiAKIC4uIGZ1bmN0aW9uOjogYmFja3NsYXNocmVwbGFjZV9lcnJvcnMoZXhjZXB0aW9uKQogCi0gICBJbXBsZW1lbnRzIHRoZSBgYCdiYWNrc2xhc2hyZXBsYWNlJ2BgIGVycm9yIGhhbmRsaW5nIChmb3IgZW5jb2Rpbmcgd2l0aAorICAgSW1wbGVtZW50cyB0aGUgYGAnYmFja3NsYXNocmVwbGFjZSdgYCBlcnJvciBoYW5kbGluZyAoZm9yCisgICA6dGVybTpgdGV4dCBlbmNvZGluZ3MgPHRleHQgZW5jb2Rpbmc+YCBvbmx5KTogbWFsZm9ybWVkIGRhdGEgaXMKKyAgIHJlcGxhY2VkIGJ5IGEgYmFja3NsYXNoZWQgZXNjYXBlIHNlcXVlbmNlLgorCisuLiBmdW5jdGlvbjo6IG5hbWVyZXBsYWNlX2Vycm9ycyhleGNlcHRpb24pCisKKyAgIEltcGxlbWVudHMgdGhlIGBgJ25hbWVyZXBsYWNlJ2BgIGVycm9yIGhhbmRsaW5nIChmb3IgZW5jb2Rpbmcgd2l0aAogICAgOnRlcm06YHRleHQgZW5jb2RpbmdzIDx0ZXh0IGVuY29kaW5nPmAgb25seSk6IHRoZQotICAgdW5lbmNvZGFibGUgY2hhcmFjdGVyIGlzIHJlcGxhY2VkIGJ5IGEgYmFja3NsYXNoZWQgZXNjYXBlIHNlcXVlbmNlLgorICAgdW5lbmNvZGFibGUgY2hhcmFjdGVyIGlzIHJlcGxhY2VkIGJ5IGEgYGBcTnsuLi59YGAgZXNjYXBlIHNlcXVlbmNlLgorCisgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjUKIAogCiAuLiBfY29kZWMtb2JqZWN0czoKQEAgLTE0NDQsNCArMTQ2MiwzIEBACiBCT00gd2lsbCBiZSBwcmVwZW5kZWQgdG8gdGhlIFVURi04IGVuY29kZWQgYnl0ZXMuIEZvciB0aGUgc3RhdGVmdWwgZW5jb2RlciB0aGlzCiBpcyBvbmx5IGRvbmUgb25jZSAob24gdGhlIGZpcnN0IHdyaXRlIHRvIHRoZSBieXRlIHN0cmVhbSkuICBGb3IgZGVjb2RpbmcgYW4KIG9wdGlvbmFsIFVURi04IGVuY29kZWQgQk9NIGF0IHRoZSBzdGFydCBvZiB0aGUgZGF0YSB3aWxsIGJlIHNraXBwZWQuCi0KZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L2NvbGxlY3Rpb25zLmFiYy5yc3QgYi9Eb2MvbGlicmFyeS9jb2xsZWN0aW9ucy5hYmMucnN0CmluZGV4IDU5OWU5ZmEuLjk5YzQzMTEgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L2NvbGxlY3Rpb25zLmFiYy5yc3QKKysrIGIvRG9jL2xpYnJhcnkvY29sbGVjdGlvbnMuYWJjLnJzdApAQCAtMTc5LDcgKzE3OSw3IEBACiAoMykKICAgIFRoZSA6Y2xhc3M6YFNldGAgbWl4aW4gcHJvdmlkZXMgYSA6bWV0aDpgX2hhc2hgIG1ldGhvZCB0byBjb21wdXRlIGEgaGFzaCB2YWx1ZQogICAgZm9yIHRoZSBzZXQ7IGhvd2V2ZXIsIDptZXRoOmBfX2hhc2hfX2AgaXMgbm90IGRlZmluZWQgYmVjYXVzZSBub3QgYWxsIHNldHMKLSAgIGFyZSBoYXNoYWJsZSBvciBpbW11dGFibGUuICBUbyBhZGQgc2V0IGhhc2hhYmlsdHkgdXNpbmcgbWl4aW5zLAorICAgYXJlIGhhc2hhYmxlIG9yIGltbXV0YWJsZS4gIFRvIGFkZCBzZXQgaGFzaGFiaWxpdHkgdXNpbmcgbWl4aW5zLAogICAgaW5oZXJpdCBmcm9tIGJvdGggOm1ldGg6YFNldGAgYW5kIDptZXRoOmBIYXNoYWJsZWAsIHRoZW4gZGVmaW5lCiAgICBgYF9faGFzaF9fID0gU2V0Ll9oYXNoYGAuCiAKZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L2NvbGxlY3Rpb25zLnJzdCBiL0RvYy9saWJyYXJ5L2NvbGxlY3Rpb25zLnJzdAppbmRleCAwYWNkZTEyLi5jMjFmNDU2IDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS9jb2xsZWN0aW9ucy5yc3QKKysrIGIvRG9jL2xpYnJhcnkvY29sbGVjdGlvbnMucnN0CkBAIC05ODIsMTIgKzk4MiwxNSBAQAoga2V5d29yZCBhcmd1bWVudHMsIGJ1dCB0aGVpciBvcmRlciBpcyBsb3N0IGJlY2F1c2UgUHl0aG9uJ3MgZnVuY3Rpb24gY2FsbAogc2VtYW50aWNzIHBhc3MtaW4ga2V5d29yZCBhcmd1bWVudHMgdXNpbmcgYSByZWd1bGFyIHVub3JkZXJlZCBkaWN0aW9uYXJ5LgogCisuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuNQorICAgVGhlIGl0ZW1zLCBrZXlzLCBhbmQgdmFsdWVzIDp0ZXJtOmB2aWV3cyA8dmlldz5gIG9mIDpjbGFzczpgT3JkZXJlZERpY3RgIG5vdworICAgc3VwcG9ydCByZXZlcnNlIGl0ZXJhdGlvbiB1c2luZyA6ZnVuYzpgcmV2ZXJzZWRgLgogCiA6Y2xhc3M6YE9yZGVyZWREaWN0YCBFeGFtcGxlcyBhbmQgUmVjaXBlcwogXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl4KIAogU2luY2UgYW4gb3JkZXJlZCBkaWN0aW9uYXJ5IHJlbWVtYmVycyBpdHMgaW5zZXJ0aW9uIG9yZGVyLCBpdCBjYW4gYmUgdXNlZAotaW4gY29uanVjdGlvbiB3aXRoIHNvcnRpbmcgdG8gbWFrZSBhIHNvcnRlZCBkaWN0aW9uYXJ5OjoKK2luIGNvbmp1bmN0aW9uIHdpdGggc29ydGluZyB0byBtYWtlIGEgc29ydGVkIGRpY3Rpb25hcnk6OgogCiAgICAgPj4+ICMgcmVndWxhciB1bnNvcnRlZCBkaWN0aW9uYXJ5CiAgICAgPj4+IGQgPSB7J2JhbmFuYSc6IDMsICdhcHBsZSc6NCwgJ3BlYXInOiAxLCAnb3JhbmdlJzogMn0KZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L2NvbXBpbGVhbGwucnN0IGIvRG9jL2xpYnJhcnkvY29tcGlsZWFsbC5yc3QKaW5kZXggOTcxMmRlMi4uNDMwMzYyZSAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvY29tcGlsZWFsbC5yc3QKKysrIGIvRG9jL2xpYnJhcnkvY29tcGlsZWFsbC5yc3QKQEAgLTQyLDcgKzQyLDggQEAKIAogLi4gY21kb3B0aW9uOjogLXEKIAotICAgRG8gbm90IHByaW50IHRoZSBsaXN0IG9mIGZpbGVzIGNvbXBpbGVkLCBwcmludCBvbmx5IGVycm9yIG1lc3NhZ2VzLgorICAgRG8gbm90IHByaW50IHRoZSBsaXN0IG9mIGZpbGVzIGNvbXBpbGVkLiBJZiBwYXNzZWQgb25jZSwgZXJyb3IgbWVzc2FnZXMgd2lsbAorICAgc3RpbGwgYmUgcHJpbnRlZC4gSWYgcGFzc2VkIHR3aWNlIChgYC1xcWBgKSwgYWxsIG91dHB1dCBpcyBzdXBwcmVzc2VkLgogCiAuLiBjbWRvcHRpb246OiAtZCBkZXN0ZGlyCiAKQEAgLTcwLDkgKzcxLDI5IEBACiAgICBpcyB0byB3cml0ZSBmaWxlcyB0byB0aGVpciA6cGVwOmAzMTQ3YCBsb2NhdGlvbnMgYW5kIG5hbWVzLCB3aGljaCBhbGxvd3MKICAgIGJ5dGUtY29kZSBmaWxlcyBmcm9tIG11bHRpcGxlIHZlcnNpb25zIG9mIFB5dGhvbiB0byBjb2V4aXN0LgogCisuLiBjbWRvcHRpb246OiAtcgorCisgICBDb250cm9sIHRoZSBtYXhpbXVtIHJlY3Vyc2lvbiBsZXZlbCBmb3Igc3ViZGlyZWN0b3JpZXMuCisgICBJZiB0aGlzIGlzIGdpdmVuLCB0aGVuIGBgLWxgYCBvcHRpb24gd2lsbCBub3QgYmUgdGFrZW4gaW50byBhY2NvdW50LgorICAgOnByb2dyYW06YHB5dGhvbiAtbSBjb21waWxlYWxsIDxkaXJlY3Rvcnk+IC1yIDBgIGlzIGVxdWl2YWxlbnQgdG8KKyAgIDpwcm9ncmFtOmBweXRob24gLW0gY29tcGlsZWFsbCA8ZGlyZWN0b3J5PiAtbGAuCisKKy4uIGNtZG9wdGlvbjo6IC1qIE4KKworICAgVXNlICpOKiB3b3JrZXJzIHRvIGNvbXBpbGUgdGhlIGZpbGVzIHdpdGhpbiB0aGUgZ2l2ZW4gZGlyZWN0b3J5LgorICAgSWYgYGAwYGAgaXMgdXNlZCwgdGhlbiB0aGUgcmVzdWx0IG9mIDpmdW5jOmBvcy5jcHVfY291bnQoKWAKKyAgIHdpbGwgYmUgdXNlZC4KKwogLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjIKICAgIEFkZGVkIHRoZSBgYC1pYGAsIGBgLWJgYCBhbmQgYGAtaGBgIG9wdGlvbnMuCiAKKy4uIHZlcnNpb25jaGFuZ2VkOjogMy41CisgICBBZGRlZCB0aGUgIGBgLWpgYCBhbmQgYGAtcmBgIG9wdGlvbnMuCisKKy4uIHZlcnNpb25jaGFuZ2VkOjogMy41CisgICBgYC1xYGAgb3B0aW9uIHdhcyBjaGFuZ2VkIHRvIGEgbXVsdGlsZXZlbCB2YWx1ZS4KKworCiBUaGVyZSBpcyBubyBjb21tYW5kLWxpbmUgb3B0aW9uIHRvIGNvbnRyb2wgdGhlIG9wdGltaXphdGlvbiBsZXZlbCB1c2VkIGJ5IHRoZQogOmZ1bmM6YGNvbXBpbGVgIGZ1bmN0aW9uLCBiZWNhdXNlIHRoZSBQeXRob24gaW50ZXJwcmV0ZXIgaXRzZWxmIGFscmVhZHkKIHByb3ZpZGVzIHRoZSBvcHRpb246IDpwcm9ncmFtOmBweXRob24gLU8gLW0gY29tcGlsZWFsbGAuCkBAIC04MCw3ICsxMDEsNyBAQAogUHVibGljIGZ1bmN0aW9ucwogLS0tLS0tLS0tLS0tLS0tLQogCi0uLiBmdW5jdGlvbjo6IGNvbXBpbGVfZGlyKGRpciwgbWF4bGV2ZWxzPTEwLCBkZGlyPU5vbmUsIGZvcmNlPUZhbHNlLCByeD1Ob25lLCBxdWlldD1GYWxzZSwgbGVnYWN5PUZhbHNlLCBvcHRpbWl6ZT0tMSkKKy4uIGZ1bmN0aW9uOjogY29tcGlsZV9kaXIoZGlyLCBtYXhsZXZlbHM9MTAsIGRkaXI9Tm9uZSwgZm9yY2U9RmFsc2UsIHJ4PU5vbmUsIHF1aWV0PTAsIGxlZ2FjeT1GYWxzZSwgb3B0aW1pemU9LTEsIHdvcmtlcnM9MSkKIAogICAgUmVjdXJzaXZlbHkgZGVzY2VuZCB0aGUgZGlyZWN0b3J5IHRyZWUgbmFtZWQgYnkgKmRpciosIGNvbXBpbGluZyBhbGwgOmZpbGU6YC5weWAKICAgIGZpbGVzIGFsb25nIHRoZSB3YXkuCkBAIC0xMDEsOCArMTIyLDkgQEAKICAgIGZpbGUgY29uc2lkZXJlZCBmb3IgY29tcGlsYXRpb24sIGFuZCBpZiBpdCByZXR1cm5zIGEgdHJ1ZSB2YWx1ZSwgdGhlIGZpbGUKICAgIGlzIHNraXBwZWQuCiAKLSAgIElmICpxdWlldCogaXMgdHJ1ZSwgbm90aGluZyBpcyBwcmludGVkIHRvIHRoZSBzdGFuZGFyZCBvdXRwdXQgdW5sZXNzIGVycm9ycwotICAgb2NjdXIuCisgICBJZiAqcXVpZXQqIGlzIGBgRmFsc2VgYCBvciBgYDBgYCAodGhlIGRlZmF1bHQpLCB0aGUgZmlsZW5hbWVzIGFuZCBvdGhlcgorICAgaW5mb3JtYXRpb24gYXJlIHByaW50ZWQgdG8gc3RhbmRhcmQgb3V0LiBTZXQgdG8gYGAxYGAsIG9ubHkgZXJyb3JzIGFyZQorICAgcHJpbnRlZC4gU2V0IHRvIGBgMmBgLCBhbGwgb3V0cHV0IGlzIHN1cHByZXNzZWQuCiAKICAgIElmICpsZWdhY3kqIGlzIHRydWUsIGJ5dGUtY29kZSBmaWxlcyBhcmUgd3JpdHRlbiB0byB0aGVpciBsZWdhY3kgbG9jYXRpb25zCiAgICBhbmQgbmFtZXMsIHdoaWNoIG1heSBvdmVyd3JpdGUgYnl0ZS1jb2RlIGZpbGVzIGNyZWF0ZWQgYnkgYW5vdGhlciB2ZXJzaW9uIG9mCkBAIC0xMTMsMTEgKzEzNSwyMiBAQAogICAgKm9wdGltaXplKiBzcGVjaWZpZXMgdGhlIG9wdGltaXphdGlvbiBsZXZlbCBmb3IgdGhlIGNvbXBpbGVyLiAgSXQgaXMgcGFzc2VkIHRvCiAgICB0aGUgYnVpbHQtaW4gOmZ1bmM6YGNvbXBpbGVgIGZ1bmN0aW9uLgogCisgICBUaGUgYXJndW1lbnQgKndvcmtlcnMqIHNwZWNpZmllcyBob3cgbWFueSB3b3JrZXJzIGFyZSB1c2VkIHRvCisgICBjb21waWxlIGZpbGVzIGluIHBhcmFsbGVsLiBUaGUgZGVmYXVsdCBpcyB0byBub3QgdXNlIG11bHRpcGxlIHdvcmtlcnMuCisgICBJZiB0aGUgcGxhdGZvcm0gY2FuJ3QgdXNlIG11bHRpcGxlIHdvcmtlcnMgYW5kICp3b3JrZXJzKiBhcmd1bWVudCBpcyBnaXZlbiwKKyAgIHRoZW4gYSA6ZXhjOmBOb3RJbXBsZW1lbnRlZEVycm9yYCB3aWxsIGJlIHJhaXNlZC4KKyAgIElmICp3b3JrZXJzKiBpcyBsb3dlciB0aGFuIGBgMGBgLCBhIDpleGM6YFZhbHVlRXJyb3JgIHdpbGwgYmUgcmFpc2VkLgorCiAgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuMgogICAgICAgQWRkZWQgdGhlICpsZWdhY3kqIGFuZCAqb3B0aW1pemUqIHBhcmFtZXRlci4KIAorICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjUKKyAgICAgIEFkZGVkIHRoZSAqd29ya2VycyogcGFyYW1ldGVyLgogCi0uLiBmdW5jdGlvbjo6IGNvbXBpbGVfZmlsZShmdWxsbmFtZSwgZGRpcj1Ob25lLCBmb3JjZT1GYWxzZSwgcng9Tm9uZSwgcXVpZXQ9RmFsc2UsIGxlZ2FjeT1GYWxzZSwgb3B0aW1pemU9LTEpCisgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuNQorICAgICAgKnF1aWV0KiBwYXJhbWV0ZXIgd2FzIGNoYW5nZWQgdG8gYSBtdWx0aWxldmVsIHZhbHVlLgorCisuLiBmdW5jdGlvbjo6IGNvbXBpbGVfZmlsZShmdWxsbmFtZSwgZGRpcj1Ob25lLCBmb3JjZT1GYWxzZSwgcng9Tm9uZSwgcXVpZXQ9MCwgbGVnYWN5PUZhbHNlLCBvcHRpbWl6ZT0tMSkKIAogICAgQ29tcGlsZSB0aGUgZmlsZSB3aXRoIHBhdGggKmZ1bGxuYW1lKi4KIApAQCAtMTMxLDggKzE2NCw5IEBACiAgICBmaWxlIGJlaW5nIGNvbXBpbGVkLCBhbmQgaWYgaXQgcmV0dXJucyBhIHRydWUgdmFsdWUsIHRoZSBmaWxlIGlzIG5vdAogICAgY29tcGlsZWQgYW5kIGBgVHJ1ZWBgIGlzIHJldHVybmVkLgogCi0gICBJZiAqcXVpZXQqIGlzIHRydWUsIG5vdGhpbmcgaXMgcHJpbnRlZCB0byB0aGUgc3RhbmRhcmQgb3V0cHV0IHVubGVzcyBlcnJvcnMKLSAgIG9jY3VyLgorICAgSWYgKnF1aWV0KiBpcyBgYEZhbHNlYGAgb3IgYGAwYGAgKHRoZSBkZWZhdWx0KSwgdGhlIGZpbGVuYW1lcyBhbmQgb3RoZXIKKyAgIGluZm9ybWF0aW9uIGFyZSBwcmludGVkIHRvIHN0YW5kYXJkIG91dC4gU2V0IHRvIGBgMWBgLCBvbmx5IGVycm9ycyBhcmUKKyAgIHByaW50ZWQuIFNldCB0byBgYDJgYCwgYWxsIG91dHB1dCBpcyBzdXBwcmVzc2VkLgogCiAgICBJZiAqbGVnYWN5KiBpcyB0cnVlLCBieXRlLWNvZGUgZmlsZXMgYXJlIHdyaXR0ZW4gdG8gdGhlaXIgbGVnYWN5IGxvY2F0aW9ucwogICAgYW5kIG5hbWVzLCB3aGljaCBtYXkgb3ZlcndyaXRlIGJ5dGUtY29kZSBmaWxlcyBjcmVhdGVkIGJ5IGFub3RoZXIgdmVyc2lvbiBvZgpAQCAtMTQ1LDggKzE3OSwxMCBAQAogCiAgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjIKIAorICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjUKKyAgICAgICpxdWlldCogcGFyYW1ldGVyIHdhcyBjaGFuZ2VkIHRvIGEgbXVsdGlsZXZlbCB2YWx1ZS4KIAotLi4gZnVuY3Rpb246OiBjb21waWxlX3BhdGgoc2tpcF9jdXJkaXI9VHJ1ZSwgbWF4bGV2ZWxzPTAsIGZvcmNlPUZhbHNlLCBsZWdhY3k9RmFsc2UsIG9wdGltaXplPS0xKQorLi4gZnVuY3Rpb246OiBjb21waWxlX3BhdGgoc2tpcF9jdXJkaXI9VHJ1ZSwgbWF4bGV2ZWxzPTAsIGZvcmNlPUZhbHNlLCBxdWlldD0wLCBsZWdhY3k9RmFsc2UsIG9wdGltaXplPS0xKQogCiAgICBCeXRlLWNvbXBpbGUgYWxsIHRoZSA6ZmlsZTpgLnB5YCBmaWxlcyBmb3VuZCBhbG9uZyBgYHN5cy5wYXRoYGAuIElmCiAgICAqc2tpcF9jdXJkaXIqIGlzIHRydWUgKHRoZSBkZWZhdWx0KSwgdGhlIGN1cnJlbnQgZGlyZWN0b3J5IGlzIG5vdCBpbmNsdWRlZApAQCAtMTU3LDYgKzE5Myw4IEBACiAgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuMgogICAgICAgQWRkZWQgdGhlICpsZWdhY3kqIGFuZCAqb3B0aW1pemUqIHBhcmFtZXRlci4KIAorICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjUKKyAgICAgICpxdWlldCogcGFyYW1ldGVyIHdhcyBjaGFuZ2VkIHRvIGEgbXVsdGlsZXZlbCB2YWx1ZS4KIAogVG8gZm9yY2UgYSByZWNvbXBpbGUgb2YgYWxsIHRoZSA6ZmlsZTpgLnB5YCBmaWxlcyBpbiB0aGUgOmZpbGU6YExpYi9gCiBzdWJkaXJlY3RvcnkgYW5kIGFsbCBpdHMgc3ViZGlyZWN0b3JpZXM6OgpkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvY29uY3VycmVudC5mdXR1cmVzLnJzdCBiL0RvYy9saWJyYXJ5L2NvbmN1cnJlbnQuZnV0dXJlcy5yc3QKaW5kZXggYmQ1NjY5Ni4uYzE3NzM0MCAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvY29uY3VycmVudC5mdXR1cmVzLnJzdAorKysgYi9Eb2MvbGlicmFyeS9jb25jdXJyZW50LmZ1dHVyZXMucnN0CkBAIC0zOCw3ICszOCw3IEBACiAgICAgICAgICAgICAgIGZ1dHVyZSA9IGV4ZWN1dG9yLnN1Ym1pdChwb3csIDMyMywgMTIzNSkKICAgICAgICAgICAgICAgcHJpbnQoZnV0dXJlLnJlc3VsdCgpKQogCi0gICAgLi4gbWV0aG9kOjogbWFwKGZ1bmMsICppdGVyYWJsZXMsIHRpbWVvdXQ9Tm9uZSkKKyAgICAuLiBtZXRob2Q6OiBtYXAoZnVuYywgKml0ZXJhYmxlcywgdGltZW91dD1Ob25lLCBjaHVua3NpemU9MSkKIAogICAgICAgIEVxdWl2YWxlbnQgdG8gOmZ1bmM6YG1hcChmdW5jLCAqaXRlcmFibGVzKSA8bWFwPmAgZXhjZXB0ICpmdW5jKiBpcyBleGVjdXRlZAogICAgICAgIGFzeW5jaHJvbm91c2x5IGFuZCBzZXZlcmFsIGNhbGxzIHRvICpmdW5jKiBtYXkgYmUgbWFkZSBjb25jdXJyZW50bHkuICBUaGUKQEAgLTQ4LDcgKzQ4LDE2IEBACiAgICAgICAgKnRpbWVvdXQqIGNhbiBiZSBhbiBpbnQgb3IgYSBmbG9hdC4gIElmICp0aW1lb3V0KiBpcyBub3Qgc3BlY2lmaWVkIG9yCiAgICAgICAgYGBOb25lYGAsIHRoZXJlIGlzIG5vIGxpbWl0IHRvIHRoZSB3YWl0IHRpbWUuICBJZiBhIGNhbGwgcmFpc2VzIGFuCiAgICAgICAgZXhjZXB0aW9uLCB0aGVuIHRoYXQgZXhjZXB0aW9uIHdpbGwgYmUgcmFpc2VkIHdoZW4gaXRzIHZhbHVlIGlzCi0gICAgICAgcmV0cmlldmVkIGZyb20gdGhlIGl0ZXJhdG9yLgorICAgICAgIHJldHJpZXZlZCBmcm9tIHRoZSBpdGVyYXRvci4gV2hlbiB1c2luZyA6Y2xhc3M6YFByb2Nlc3NQb29sRXhlY3V0b3JgLCB0aGlzCisgICAgICAgbWV0aG9kIGNob3BzICppdGVyYWJsZXMqIGludG8gYSBudW1iZXIgb2YgY2h1bmtzIHdoaWNoIGl0IHN1Ym1pdHMgdG8gdGhlCisgICAgICAgcG9vbCBhcyBzZXBhcmF0ZSB0YXNrcy4gVGhlIChhcHByb3hpbWF0ZSkgc2l6ZSBvZiB0aGVzZSBjaHVua3MgY2FuIGJlCisgICAgICAgc3BlY2lmaWVkIGJ5IHNldHRpbmcgKmNodW5rc2l6ZSogdG8gYSBwb3NpdGl2ZSBpbnRlZ2VyLiBGb3IgdmVyeSBsb25nCisgICAgICAgaXRlcmFibGVzLCB1c2luZyBhIGxhcmdlIHZhbHVlIGZvciAqY2h1bmtzaXplKiBjYW4gc2lnbmlmaWNhbnRseSBpbXByb3ZlCisgICAgICAgcGVyZm9ybWFuY2UgY29tcGFyZWQgdG8gdGhlIGRlZmF1bHQgc2l6ZSBvZiAxLiBXaXRoIDpjbGFzczpgVGhyZWFkUG9vbEV4ZWN1dG9yYCwKKyAgICAgICAqY2h1bmtzaXplKiBoYXMgbm8gZWZmZWN0LgorCisgICAgICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjUKKyAgICAgICAgICBBZGRlZCB0aGUgKmNodW5rc2l6ZSogYXJndW1lbnQuCiAKICAgICAuLiBtZXRob2Q6OiBzaHV0ZG93bih3YWl0PVRydWUpCiAKQEAgLTExNSwxMSArMTI0LDE5IEBACiAgICBleGVjdXRvci5zdWJtaXQod2FpdF9vbl9mdXR1cmUpCiAKIAotLi4gY2xhc3M6OiBUaHJlYWRQb29sRXhlY3V0b3IobWF4X3dvcmtlcnMpCisuLiBjbGFzczo6IFRocmVhZFBvb2xFeGVjdXRvcihtYXhfd29ya2Vycz1Ob25lKQogCiAgICBBbiA6Y2xhc3M6YEV4ZWN1dG9yYCBzdWJjbGFzcyB0aGF0IHVzZXMgYSBwb29sIG9mIGF0IG1vc3QgKm1heF93b3JrZXJzKgogICAgdGhyZWFkcyB0byBleGVjdXRlIGNhbGxzIGFzeW5jaHJvbm91c2x5LgogCisgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuNQorICAgICAgSWYgKm1heF93b3JrZXJzKiBpcyBgYE5vbmVgYCBvcgorICAgICAgbm90IGdpdmVuLCBpdCB3aWxsIGRlZmF1bHQgdG8gdGhlIG51bWJlciBvZiBwcm9jZXNzb3JzIG9uIHRoZSBtYWNoaW5lLAorICAgICAgbXVsdGlwbGllZCBieSBgYDVgYCwgYXNzdW1pbmcgdGhhdCA6Y2xhc3M6YFRocmVhZFBvb2xFeGVjdXRvcmAgaXMgb2Z0ZW4KKyAgICAgIHVzZWQgdG8gb3ZlcmxhcCBJL08gaW5zdGVhZCBvZiBDUFUgd29yayBhbmQgdGhlIG51bWJlciBvZiB3b3JrZXJzCisgICAgICBzaG91bGQgYmUgaGlnaGVyIHRoYW4gdGhlIG51bWJlciBvZiB3b3JrZXJzCisgICAgICBmb3IgOmNsYXNzOmBQcm9jZXNzUG9vbEV4ZWN1dG9yYC4KKwogCiAuLiBfdGhyZWFkcG9vbGV4ZWN1dG9yLWV4YW1wbGU6CiAKQEAgLTE3NSw2ICsxOTIsOCBAQAogICAgQW4gOmNsYXNzOmBFeGVjdXRvcmAgc3ViY2xhc3MgdGhhdCBleGVjdXRlcyBjYWxscyBhc3luY2hyb25vdXNseSB1c2luZyBhIHBvb2wKICAgIG9mIGF0IG1vc3QgKm1heF93b3JrZXJzKiBwcm9jZXNzZXMuICBJZiAqbWF4X3dvcmtlcnMqIGlzIGBgTm9uZWBgIG9yIG5vdAogICAgZ2l2ZW4sIGl0IHdpbGwgZGVmYXVsdCB0byB0aGUgbnVtYmVyIG9mIHByb2Nlc3NvcnMgb24gdGhlIG1hY2hpbmUuCisgICBJZiAqbWF4X3dvcmtlcnMqIGlzIGxvd2VyIG9yIGVxdWFsIHRvIGBgMGBgLCB0aGVuIGEgOmV4YzpgVmFsdWVFcnJvcmAKKyAgIHdpbGwgYmUgcmFpc2VkLgogCiAgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuMwogICAgICAgV2hlbiBvbmUgb2YgdGhlIHdvcmtlciBwcm9jZXNzZXMgdGVybWluYXRlcyBhYnJ1cHRseSwgYQpkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvY29uZmlncGFyc2VyLnJzdCBiL0RvYy9saWJyYXJ5L2NvbmZpZ3BhcnNlci5yc3QKaW5kZXggMDI0ZDI3Yy4uYzkxODdhMyAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvY29uZmlncGFyc2VyLnJzdAorKysgYi9Eb2MvbGlicmFyeS9jb25maWdwYXJzZXIucnN0CkBAIC0xMSw2ICsxMSw4IEBACiAuLiBzZWN0aW9uYXV0aG9yOjogQ2hyaXN0b3BoZXIgRy4gUGV0cmlsbGkgPHBldHJpbGxpQGFtYmVyLm9yZz4KIC4uIHNlY3Rpb25hdXRob3I6OiDFgXVrYXN6IExhbmdhIDxsdWthc3pAbGFuZ2EucGw+CiAKKyoqU291cmNlIGNvZGU6KiogOnNvdXJjZTpgTGliL2NvbmZpZ3BhcnNlci5weWAKKwogLi4gaW5kZXg6OgogICAgcGFpcjogLmluaTsgZmlsZQogICAgcGFpcjogY29uZmlndXJhdGlvbjsgZmlsZQpAQCAtMTQyLDEyICsxNDQsMTMgQEAKICAgID4+PiBmbG9hdCh0b3BzZWNyZXRbJ0NvbXByZXNzaW9uTGV2ZWwnXSkKICAgIDkuMAogCi1FeHRyYWN0aW5nIEJvb2xlYW4gdmFsdWVzIGlzIG5vdCB0aGF0IHNpbXBsZSwgdGhvdWdoLiAgUGFzc2luZyB0aGUgdmFsdWUKLXRvIGBgYm9vbCgpYGAgd291bGQgZG8gbm8gZ29vZCBzaW5jZSBgYGJvb2woJ0ZhbHNlJylgYCBpcyBzdGlsbAotYGBUcnVlYGAuICBUaGlzIGlzIHdoeSBjb25maWcgcGFyc2VycyBhbHNvIHByb3ZpZGUgOm1ldGg6YGdldGJvb2xlYW5gLgotVGhpcyBtZXRob2QgaXMgY2FzZS1pbnNlbnNpdGl2ZSBhbmQgcmVjb2duaXplcyBCb29sZWFuIHZhbHVlcyBmcm9tCi1gYCd5ZXMnYGAvYGAnbm8nYGAsIGBgJ29uJ2BgL2BgJ29mZidgYCBhbmQgYGAnMSdgYC9gYCcwJ2BgIFsxXV8uCi1Gb3IgZXhhbXBsZToKK1NpbmNlIHRoaXMgdGFzayBpcyBzbyBjb21tb24sIGNvbmZpZyBwYXJzZXJzIHByb3ZpZGUgYSByYW5nZSBvZiBoYW5keSBnZXR0ZXIKK21ldGhvZHMgdG8gaGFuZGxlIGludGVnZXJzLCBmbG9hdHMgYW5kIGJvb2xlYW5zLiAgVGhlIGxhc3Qgb25lIGlzIHRoZSBtb3N0CitpbnRlcmVzdGluZyBiZWNhdXNlIHNpbXBseSBwYXNzaW5nIHRoZSB2YWx1ZSB0byBgYGJvb2woKWBgIHdvdWxkIGRvIG5vIGdvb2QKK3NpbmNlIGBgYm9vbCgnRmFsc2UnKWBgIGlzIHN0aWxsIGBgVHJ1ZWBgLiAgVGhpcyBpcyB3aHkgY29uZmlnIHBhcnNlcnMgYWxzbworcHJvdmlkZSA6bWV0aDpgZ2V0Ym9vbGVhbmAuICBUaGlzIG1ldGhvZCBpcyBjYXNlLWluc2Vuc2l0aXZlIGFuZCByZWNvZ25pemVzCitCb29sZWFuIHZhbHVlcyBmcm9tIGBgJ3llcydgYC9gYCdubydgYCwgYGAnb24nYGAvYGAnb2ZmJ2BgLAorYGAndHJ1ZSdgYC9gYCdmYWxzZSdgYCBhbmQgYGAnMSdgYC9gYCcwJ2BgIFsxXV8uICBGb3IgZXhhbXBsZToKIAogLi4gZG9jdGVzdDo6CiAKQEAgLTE1OSwxMCArMTYyLDggQEAKICAgIFRydWUKIAogQXBhcnQgZnJvbSA6bWV0aDpgZ2V0Ym9vbGVhbmAsIGNvbmZpZyBwYXJzZXJzIGFsc28gcHJvdmlkZSBlcXVpdmFsZW50Ci06bWV0aDpgZ2V0aW50YCBhbmQgOm1ldGg6YGdldGZsb2F0YCBtZXRob2RzLCBidXQgdGhlc2UgYXJlIGZhciBsZXNzCi11c2VmdWwgc2luY2UgY29udmVyc2lvbiB1c2luZyA6ZnVuYzpgaW50YCBhbmQgOmZ1bmM6YGZsb2F0YCBpcwotc3VmZmljaWVudCBmb3IgdGhlc2UgdHlwZXMuCi0KKzptZXRoOmBnZXRpbnRgIGFuZCA6bWV0aDpgZ2V0ZmxvYXRgIG1ldGhvZHMuICBZb3UgY2FuIHJlZ2lzdGVyIHlvdXIgb3duCitjb252ZXJ0ZXJzIGFuZCBjdXN0b21pemUgdGhlIHByb3ZpZGVkIG9uZXMuIFsxXV8KIAogRmFsbGJhY2sgVmFsdWVzCiAtLS0tLS0tLS0tLS0tLS0KQEAgLTMxNywxMSArMzE4LDExIEBACiAuLiBjbGFzczo6IEV4dGVuZGVkSW50ZXJwb2xhdGlvbigpCiAKICAgIEFuIGFsdGVybmF0aXZlIGhhbmRsZXIgZm9yIGludGVycG9sYXRpb24gd2hpY2ggaW1wbGVtZW50cyBhIG1vcmUgYWR2YW5jZWQKLSAgIHN5bnRheCwgdXNlZCBmb3IgaW5zdGFuY2UgaW4gYGB6Yy5idWlsZG91dGBgLiBFeHRlbmRlZCBpbnRlcnBvbGF0aW9uIGlzCisgICBzeW50YXgsIHVzZWQgZm9yIGluc3RhbmNlIGluIGBgemMuYnVpbGRvdXRgYC4gIEV4dGVuZGVkIGludGVycG9sYXRpb24gaXMKICAgIHVzaW5nIGBgJHtzZWN0aW9uOm9wdGlvbn1gYCB0byBkZW5vdGUgYSB2YWx1ZSBmcm9tIGEgZm9yZWlnbiBzZWN0aW9uLgotICAgSW50ZXJwb2xhdGlvbiBjYW4gc3BhbiBtdWx0aXBsZSBsZXZlbHMuIEZvciBjb252ZW5pZW5jZSwgaWYgdGhlIGBgc2VjdGlvbjpgYAotICAgcGFydCBpcyBvbWl0dGVkLCBpbnRlcnBvbGF0aW9uIGRlZmF1bHRzIHRvIHRoZSBjdXJyZW50IHNlY3Rpb24gKGFuZCBwb3NzaWJseQotICAgdGhlIGRlZmF1bHQgdmFsdWVzIGZyb20gdGhlIHNwZWNpYWwgc2VjdGlvbikuCisgICBJbnRlcnBvbGF0aW9uIGNhbiBzcGFuIG11bHRpcGxlIGxldmVscy4gIEZvciBjb252ZW5pZW5jZSwgaWYgdGhlCisgICBgYHNlY3Rpb246YGAgcGFydCBpcyBvbWl0dGVkLCBpbnRlcnBvbGF0aW9uIGRlZmF1bHRzIHRvIHRoZSBjdXJyZW50IHNlY3Rpb24KKyAgIChhbmQgcG9zc2libHkgdGhlIGRlZmF1bHQgdmFsdWVzIGZyb20gdGhlIHNwZWNpYWwgc2VjdGlvbikuCiAKICAgIEZvciBleGFtcGxlLCB0aGUgY29uZmlndXJhdGlvbiBzcGVjaWZpZWQgYWJvdmUgd2l0aCBiYXNpYyBpbnRlcnBvbGF0aW9uLAogICAgd291bGQgbG9vayBsaWtlIHRoaXMgd2l0aCBleHRlbmRlZCBpbnRlcnBvbGF0aW9uOgpAQCAtMzg2LDcgKzM4Nyw3IEBACiAqIEFsbCBzZWN0aW9ucyBpbmNsdWRlIGBgREVGQVVMVFNFQ1RgYCB2YWx1ZXMgYXMgd2VsbCB3aGljaCBtZWFucyB0aGF0CiAgIGBgLmNsZWFyKClgYCBvbiBhIHNlY3Rpb24gbWF5IG5vdCBsZWF2ZSB0aGUgc2VjdGlvbiB2aXNpYmx5IGVtcHR5LiAgVGhpcyBpcwogICBiZWNhdXNlIGRlZmF1bHQgdmFsdWVzIGNhbm5vdCBiZSBkZWxldGVkIGZyb20gdGhlIHNlY3Rpb24gKGJlY2F1c2UgdGVjaG5pY2FsbHkKLSAgdGhleSBhcmUgbm90IHRoZXJlKS4gIElmIHRoZXkgYXJlIG92ZXJyaWRlbiBpbiB0aGUgc2VjdGlvbiwgZGVsZXRpbmcgY2F1c2VzCisgIHRoZXkgYXJlIG5vdCB0aGVyZSkuICBJZiB0aGV5IGFyZSBvdmVycmlkZGVuIGluIHRoZSBzZWN0aW9uLCBkZWxldGluZyBjYXVzZXMKICAgdGhlIGRlZmF1bHQgdmFsdWUgdG8gYmUgdmlzaWJsZSBhZ2Fpbi4gIFRyeWluZyB0byBkZWxldGUgYSBkZWZhdWx0IHZhbHVlCiAgIGNhdXNlcyBhIGBgS2V5RXJyb3JgYC4KIApAQCAtMzk5LDEzICs0MDAsMTMgQEAKICAgKiBgYHBhcnNlci5wb3BpdGVtKClgYCBuZXZlciByZXR1cm5zIGl0LgogCiAqIGBgcGFyc2VyLmdldChzZWN0aW9uLCBvcHRpb24sICoqa3dhcmdzKWBgIC0gdGhlIHNlY29uZCBhcmd1bWVudCBpcyAqKm5vdCoqCi0gIGEgZmFsbGJhY2sgdmFsdWUuIE5vdGUgaG93ZXZlciB0aGF0IHRoZSBzZWN0aW9uLWxldmVsIGBgZ2V0KClgYCBtZXRob2RzIGFyZQorICBhIGZhbGxiYWNrIHZhbHVlLiAgTm90ZSBob3dldmVyIHRoYXQgdGhlIHNlY3Rpb24tbGV2ZWwgYGBnZXQoKWBgIG1ldGhvZHMgYXJlCiAgIGNvbXBhdGlibGUgYm90aCB3aXRoIHRoZSBtYXBwaW5nIHByb3RvY29sIGFuZCB0aGUgY2xhc3NpYyBjb25maWdwYXJzZXIgQVBJLgogCiAqIGBgcGFyc2VyLml0ZW1zKClgYCBpcyBjb21wYXRpYmxlIHdpdGggdGhlIG1hcHBpbmcgcHJvdG9jb2wgKHJldHVybnMgYSBsaXN0IG9mCiAgICpzZWN0aW9uX25hbWUqLCAqc2VjdGlvbl9wcm94eSogcGFpcnMgaW5jbHVkaW5nIHRoZSBERUZBVUxUU0VDVCkuICBIb3dldmVyLAogICB0aGlzIG1ldGhvZCBjYW4gYWxzbyBiZSBpbnZva2VkIHdpdGggYXJndW1lbnRzOiBgYHBhcnNlci5pdGVtcyhzZWN0aW9uLCByYXcsCi0gIHZhcnMpYGAuIFRoZSBsYXR0ZXIgY2FsbCByZXR1cm5zIGEgbGlzdCBvZiAqb3B0aW9uKiwgKnZhbHVlKiBwYWlycyBmb3IKKyAgdmFycylgYC4gIFRoZSBsYXR0ZXIgY2FsbCByZXR1cm5zIGEgbGlzdCBvZiAqb3B0aW9uKiwgKnZhbHVlKiBwYWlycyBmb3IKICAgYSBzcGVjaWZpZWQgYGBzZWN0aW9uYGAsIHdpdGggYWxsIGludGVycG9sYXRpb25zIGV4cGFuZGVkICh1bmxlc3MKICAgYGByYXc9VHJ1ZWBgIGlzIHByb3ZpZGVkKS4KIApAQCAtNTM5LDkgKzU0MCw5IEBACiAKICogKmRlbGltaXRlcnMqLCBkZWZhdWx0IHZhbHVlOiBgYCgnPScsICc6JylgYAogCi0gIERlbGltaXRlcnMgYXJlIHN1YnN0cmluZ3MgdGhhdCBkZWxpbWl0IGtleXMgZnJvbSB2YWx1ZXMgd2l0aGluIGEgc2VjdGlvbi4gVGhlCi0gIGZpcnN0IG9jY3VycmVuY2Ugb2YgYSBkZWxpbWl0aW5nIHN1YnN0cmluZyBvbiBhIGxpbmUgaXMgY29uc2lkZXJlZCBhIGRlbGltaXRlci4KLSAgVGhpcyBtZWFucyB2YWx1ZXMgKGJ1dCBub3Qga2V5cykgY2FuIGNvbnRhaW4gdGhlIGRlbGltaXRlcnMuCisgIERlbGltaXRlcnMgYXJlIHN1YnN0cmluZ3MgdGhhdCBkZWxpbWl0IGtleXMgZnJvbSB2YWx1ZXMgd2l0aGluIGEgc2VjdGlvbi4KKyAgVGhlIGZpcnN0IG9jY3VycmVuY2Ugb2YgYSBkZWxpbWl0aW5nIHN1YnN0cmluZyBvbiBhIGxpbmUgaXMgY29uc2lkZXJlZAorICBhIGRlbGltaXRlci4gIFRoaXMgbWVhbnMgdmFsdWVzIChidXQgbm90IGtleXMpIGNhbiBjb250YWluIHRoZSBkZWxpbWl0ZXJzLgogCiAgIFNlZSBhbHNvIHRoZSAqc3BhY2VfYXJvdW5kX2RlbGltaXRlcnMqIGFyZ3VtZW50IHRvCiAgIDptZXRoOmBDb25maWdQYXJzZXIud3JpdGVgLgpAQCAtNTUzLDcgKzU1NCw3IEBACiAgIENvbW1lbnQgcHJlZml4ZXMgYXJlIHN0cmluZ3MgdGhhdCBpbmRpY2F0ZSB0aGUgc3RhcnQgb2YgYSB2YWxpZCBjb21tZW50IHdpdGhpbgogICBhIGNvbmZpZyBmaWxlLiAqY29tbWVudF9wcmVmaXhlcyogYXJlIHVzZWQgb25seSBvbiBvdGhlcndpc2UgZW1wdHkgbGluZXMKICAgKG9wdGlvbmFsbHkgaW5kZW50ZWQpIHdoZXJlYXMgKmlubGluZV9jb21tZW50X3ByZWZpeGVzKiBjYW4gYmUgdXNlZCBhZnRlcgotICBldmVyeSB2YWxpZCB2YWx1ZSAoZS5nLiAgc2VjdGlvbiBuYW1lcywgb3B0aW9ucyBhbmQgZW1wdHkgbGluZXMgYXMgd2VsbCkuIEJ5CisgIGV2ZXJ5IHZhbGlkIHZhbHVlIChlLmcuIHNlY3Rpb24gbmFtZXMsIG9wdGlvbnMgYW5kIGVtcHR5IGxpbmVzIGFzIHdlbGwpLiAgQnkKICAgZGVmYXVsdCBpbmxpbmUgY29tbWVudHMgYXJlIGRpc2FibGVkIGFuZCBgYCcjJ2BgIGFuZCBgYCc7J2BgIGFyZSB1c2VkIGFzCiAgIHByZWZpeGVzIGZvciB3aG9sZSBsaW5lIGNvbW1lbnRzLgogCkBAIC01NjMsMTAgKzU2NCwxMCBAQAogCiAgIFBsZWFzZSBub3RlIHRoYXQgY29uZmlnIHBhcnNlcnMgZG9uJ3Qgc3VwcG9ydCBlc2NhcGluZyBvZiBjb21tZW50IHByZWZpeGVzIHNvCiAgIHVzaW5nICppbmxpbmVfY29tbWVudF9wcmVmaXhlcyogbWF5IHByZXZlbnQgdXNlcnMgZnJvbSBzcGVjaWZ5aW5nIG9wdGlvbgotICB2YWx1ZXMgd2l0aCBjaGFyYWN0ZXJzIHVzZWQgYXMgY29tbWVudCBwcmVmaXhlcy4gV2hlbiBpbiBkb3VidCwgYXZvaWQgc2V0dGluZwotICAqaW5saW5lX2NvbW1lbnRfcHJlZml4ZXMqLiBJbiBhbnkgY2lyY3Vtc3RhbmNlcywgdGhlIG9ubHkgd2F5IG9mIHN0b3JpbmcKLSAgY29tbWVudCBwcmVmaXggY2hhcmFjdGVycyBhdCB0aGUgYmVnaW5uaW5nIG9mIGEgbGluZSBpbiBtdWx0aWxpbmUgdmFsdWVzIGlzIHRvCi0gIGludGVycG9sYXRlIHRoZSBwcmVmaXgsIGZvciBleGFtcGxlOjoKKyAgdmFsdWVzIHdpdGggY2hhcmFjdGVycyB1c2VkIGFzIGNvbW1lbnQgcHJlZml4ZXMuICBXaGVuIGluIGRvdWJ0LCBhdm9pZAorICBzZXR0aW5nICppbmxpbmVfY29tbWVudF9wcmVmaXhlcyouICBJbiBhbnkgY2lyY3Vtc3RhbmNlcywgdGhlIG9ubHkgd2F5IG9mCisgIHN0b3JpbmcgY29tbWVudCBwcmVmaXggY2hhcmFjdGVycyBhdCB0aGUgYmVnaW5uaW5nIG9mIGEgbGluZSBpbiBtdWx0aWxpbmUKKyAgdmFsdWVzIGlzIHRvIGludGVycG9sYXRlIHRoZSBwcmVmaXgsIGZvciBleGFtcGxlOjoKIAogICAgID4+PiBmcm9tIGNvbmZpZ3BhcnNlciBpbXBvcnQgQ29uZmlnUGFyc2VyLCBFeHRlbmRlZEludGVycG9sYXRpb24KICAgICA+Pj4gcGFyc2VyID0gQ29uZmlnUGFyc2VyKGludGVycG9sYXRpb249RXh0ZW5kZWRJbnRlcnBvbGF0aW9uKCkpCkBAIC02MTEsNyArNjEyLDcgQEAKIAogICBXaGVuIHNldCB0byBgYFRydWVgYCwgdGhlIHBhcnNlciB3aWxsIG5vdCBhbGxvdyBmb3IgYW55IHNlY3Rpb24gb3Igb3B0aW9uCiAgIGR1cGxpY2F0ZXMgd2hpbGUgcmVhZGluZyBmcm9tIGEgc2luZ2xlIHNvdXJjZSAodXNpbmcgOm1ldGg6YHJlYWRfZmlsZWAsCi0gIDptZXRoOmByZWFkX3N0cmluZ2Agb3IgOm1ldGg6YHJlYWRfZGljdGApLiBJdCBpcyByZWNvbW1lbmRlZCB0byB1c2Ugc3RyaWN0CisgIDptZXRoOmByZWFkX3N0cmluZ2Agb3IgOm1ldGg6YHJlYWRfZGljdGApLiAgSXQgaXMgcmVjb21tZW5kZWQgdG8gdXNlIHN0cmljdAogICBwYXJzZXJzIGluIG5ldyBhcHBsaWNhdGlvbnMuCiAKICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjIKQEAgLTY0NiwxMiArNjQ3LDEyIEBACiAKICAgVGhlIGNvbnZlbnRpb24gb2YgYWxsb3dpbmcgYSBzcGVjaWFsIHNlY3Rpb24gb2YgZGVmYXVsdCB2YWx1ZXMgZm9yIG90aGVyCiAgIHNlY3Rpb25zIG9yIGludGVycG9sYXRpb24gcHVycG9zZXMgaXMgYSBwb3dlcmZ1bCBjb25jZXB0IG9mIHRoaXMgbGlicmFyeSwKLSAgbGV0dGluZyB1c2VycyBjcmVhdGUgY29tcGxleCBkZWNsYXJhdGl2ZSBjb25maWd1cmF0aW9ucy4gVGhpcyBzZWN0aW9uIGlzCisgIGxldHRpbmcgdXNlcnMgY3JlYXRlIGNvbXBsZXggZGVjbGFyYXRpdmUgY29uZmlndXJhdGlvbnMuICBUaGlzIHNlY3Rpb24gaXMKICAgbm9ybWFsbHkgY2FsbGVkIGBgIkRFRkFVTFQiYGAgYnV0IHRoaXMgY2FuIGJlIGN1c3RvbWl6ZWQgdG8gcG9pbnQgdG8gYW55Ci0gIG90aGVyIHZhbGlkIHNlY3Rpb24gbmFtZS4gU29tZSB0eXBpY2FsIHZhbHVlcyBpbmNsdWRlOiBgYCJnZW5lcmFsImBgIG9yCi0gIGBgImNvbW1vbiJgYC4gVGhlIG5hbWUgcHJvdmlkZWQgaXMgdXNlZCBmb3IgcmVjb2duaXppbmcgZGVmYXVsdCBzZWN0aW9ucyB3aGVuCi0gIHJlYWRpbmcgZnJvbSBhbnkgc291cmNlIGFuZCBpcyB1c2VkIHdoZW4gd3JpdGluZyBjb25maWd1cmF0aW9uIGJhY2sgdG8KLSAgYSBmaWxlLiBJdHMgY3VycmVudCB2YWx1ZSBjYW4gYmUgcmV0cmlldmVkIHVzaW5nIHRoZQorICBvdGhlciB2YWxpZCBzZWN0aW9uIG5hbWUuICBTb21lIHR5cGljYWwgdmFsdWVzIGluY2x1ZGU6IGBgImdlbmVyYWwiYGAgb3IKKyAgYGAiY29tbW9uImBgLiAgVGhlIG5hbWUgcHJvdmlkZWQgaXMgdXNlZCBmb3IgcmVjb2duaXppbmcgZGVmYXVsdCBzZWN0aW9ucworICB3aGVuIHJlYWRpbmcgZnJvbSBhbnkgc291cmNlIGFuZCBpcyB1c2VkIHdoZW4gd3JpdGluZyBjb25maWd1cmF0aW9uIGJhY2sgdG8KKyAgYSBmaWxlLiAgSXRzIGN1cnJlbnQgdmFsdWUgY2FuIGJlIHJldHJpZXZlZCB1c2luZyB0aGUKICAgYGBwYXJzZXJfaW5zdGFuY2UuZGVmYXVsdF9zZWN0aW9uYGAgYXR0cmlidXRlIGFuZCBtYXkgYmUgbW9kaWZpZWQgYXQgcnVudGltZQogICAoaS5lLiB0byBjb252ZXJ0IGZpbGVzIGZyb20gb25lIGZvcm1hdCB0byBhbm90aGVyKS4KIApAQCAtNjYwLDE0ICs2NjEsMzAgQEAKICAgSW50ZXJwb2xhdGlvbiBiZWhhdmlvdXIgbWF5IGJlIGN1c3RvbWl6ZWQgYnkgcHJvdmlkaW5nIGEgY3VzdG9tIGhhbmRsZXIKICAgdGhyb3VnaCB0aGUgKmludGVycG9sYXRpb24qIGFyZ3VtZW50LiBgYE5vbmVgYCBjYW4gYmUgdXNlZCB0byB0dXJuIG9mZgogICBpbnRlcnBvbGF0aW9uIGNvbXBsZXRlbHksIGBgRXh0ZW5kZWRJbnRlcnBvbGF0aW9uKClgYCBwcm92aWRlcyBhIG1vcmUKLSAgYWR2YW5jZWQgdmFyaWFudCBpbnNwaXJlZCBieSBgYHpjLmJ1aWxkb3V0YGAuIE1vcmUgb24gdGhlIHN1YmplY3QgaW4gdGhlCisgIGFkdmFuY2VkIHZhcmlhbnQgaW5zcGlyZWQgYnkgYGB6Yy5idWlsZG91dGBgLiAgTW9yZSBvbiB0aGUgc3ViamVjdCBpbiB0aGUKICAgYGRlZGljYXRlZCBkb2N1bWVudGF0aW9uIHNlY3Rpb24gPCNpbnRlcnBvbGF0aW9uLW9mLXZhbHVlcz5gXy4KICAgOmNsYXNzOmBSYXdDb25maWdQYXJzZXJgIGhhcyBhIGRlZmF1bHQgdmFsdWUgb2YgYGBOb25lYGAuCiAKKyogKmNvbnZlcnRlcnMqLCBkZWZhdWx0IHZhbHVlOiBub3Qgc2V0CisKKyAgQ29uZmlnIHBhcnNlcnMgcHJvdmlkZSBvcHRpb24gdmFsdWUgZ2V0dGVycyB0aGF0IHBlcmZvcm0gdHlwZSBjb252ZXJzaW9uLiAgQnkKKyAgZGVmYXVsdCA6bWV0aDpgZ2V0aW50YCwgOm1ldGg6YGdldGZsb2F0YCwgYW5kIDptZXRoOmBnZXRib29sZWFuYCBhcmUKKyAgaW1wbGVtZW50ZWQuICBTaG91bGQgb3RoZXIgZ2V0dGVycyBiZSBkZXNpcmFibGUsIHVzZXJzIG1heSBkZWZpbmUgdGhlbSBpbgorICBhIHN1YmNsYXNzIG9yIHBhc3MgYSBkaWN0aW9uYXJ5IHdoZXJlIGVhY2gga2V5IGlzIGEgbmFtZSBvZiB0aGUgY29udmVydGVyIGFuZAorICBlYWNoIHZhbHVlIGlzIGEgY2FsbGFibGUgaW1wbGVtZW50aW5nIHNhaWQgY29udmVyc2lvbi4gIEZvciBpbnN0YW5jZSwgcGFzc2luZworICBgYHsnZGVjaW1hbCc6IGRlY2ltYWwuRGVjaW1hbH1gYCB3b3VsZCBhZGQgOm1ldGg6YGdldGRlY2ltYWxgIG9uIGJvdGggdGhlCisgIHBhcnNlciBvYmplY3QgYW5kIGFsbCBzZWN0aW9uIHByb3hpZXMuICBJbiBvdGhlciB3b3JkcywgaXQgd2lsbCBiZSBwb3NzaWJsZQorICB0byB3cml0ZSBib3RoIGBgcGFyc2VyX2luc3RhbmNlLmdldGRlY2ltYWwoJ3NlY3Rpb24nLCAna2V5JywgZmFsbGJhY2s9MClgYAorICBhbmQgYGBwYXJzZXJfaW5zdGFuY2VbJ3NlY3Rpb24nXS5nZXRkZWNpbWFsKCdrZXknLCAwKWBgLgorCisgIElmIHRoZSBjb252ZXJ0ZXIgbmVlZHMgdG8gYWNjZXNzIHRoZSBzdGF0ZSBvZiB0aGUgcGFyc2VyLCBpdCBjYW4gYmUKKyAgaW1wbGVtZW50ZWQgYXMgYSBtZXRob2Qgb24gYSBjb25maWcgcGFyc2VyIHN1YmNsYXNzLiAgSWYgdGhlIG5hbWUgb2YgdGhpcworICBtZXRob2Qgc3RhcnRzIHdpdGggYGBnZXRgYCwgaXQgd2lsbCBiZSBhdmFpbGFibGUgb24gYWxsIHNlY3Rpb24gcHJveGllcywgaW4KKyAgdGhlIGRpY3QtY29tcGF0aWJsZSBmb3JtIChzZWUgdGhlIGBgZ2V0ZGVjaW1hbCgpYGAgZXhhbXBsZSBhYm92ZSkuCiAKIE1vcmUgYWR2YW5jZWQgY3VzdG9taXphdGlvbiBtYXkgYmUgYWNoaWV2ZWQgYnkgb3ZlcnJpZGluZyBkZWZhdWx0IHZhbHVlcyBvZgotdGhlc2UgcGFyc2VyIGF0dHJpYnV0ZXMuICBUaGUgZGVmYXVsdHMgYXJlIGRlZmluZWQgb24gdGhlIGNsYXNzZXMsIHNvIHRoZXkKLW1heSBiZSBvdmVycmlkZW4gYnkgc3ViY2xhc3NlcyBvciBieSBhdHRyaWJ1dGUgYXNzaWdubWVudC4KK3RoZXNlIHBhcnNlciBhdHRyaWJ1dGVzLiAgVGhlIGRlZmF1bHRzIGFyZSBkZWZpbmVkIG9uIHRoZSBjbGFzc2VzLCBzbyB0aGV5IG1heQorYmUgb3ZlcnJpZGRlbiBieSBzdWJjbGFzc2VzIG9yIGJ5IGF0dHJpYnV0ZSBhc3NpZ25tZW50LgogCiAuLiBhdHRyaWJ1dGU6OiBCT09MRUFOX1NUQVRFUwogCkBAIC03MjUsMTAgKzc0MiwxMSBAQAogCiAuLiBhdHRyaWJ1dGU6OiBTRUNUQ1JFCiAKLSAgQSBjb21waWxlZCByZWd1bGFyIGV4cHJlc3Npb24gdXNlZCB0byBwYXJzZSBzZWN0aW9uIGhlYWRlcnMuIFRoZSBkZWZhdWx0Ci0gIG1hdGNoZXMgYGBbc2VjdGlvbl1gYCB0byB0aGUgbmFtZSBgYCJzZWN0aW9uImBgLiBXaGl0ZXNwYWNlIGlzIGNvbnNpZGVyZWQgcGFydAotICBvZiB0aGUgc2VjdGlvbiBuYW1lLCB0aHVzIGBgWyAgbGFyY2ggIF1gYCB3aWxsIGJlIHJlYWQgYXMgYSBzZWN0aW9uIG9mIG5hbWUKLSAgYGAiICBsYXJjaCAgImBgLiBPdmVycmlkZSB0aGlzIGF0dHJpYnV0ZSBpZiB0aGF0J3MgdW5zdWl0YWJsZS4gIEZvciBleGFtcGxlOgorICBBIGNvbXBpbGVkIHJlZ3VsYXIgZXhwcmVzc2lvbiB1c2VkIHRvIHBhcnNlIHNlY3Rpb24gaGVhZGVycy4gIFRoZSBkZWZhdWx0CisgIG1hdGNoZXMgYGBbc2VjdGlvbl1gYCB0byB0aGUgbmFtZSBgYCJzZWN0aW9uImBgLiAgV2hpdGVzcGFjZSBpcyBjb25zaWRlcmVkCisgIHBhcnQgb2YgdGhlIHNlY3Rpb24gbmFtZSwgdGh1cyBgYFsgIGxhcmNoICBdYGAgd2lsbCBiZSByZWFkIGFzIGEgc2VjdGlvbiBvZgorICBuYW1lIGBgIiAgbGFyY2ggICJgYC4gIE92ZXJyaWRlIHRoaXMgYXR0cmlidXRlIGlmIHRoYXQncyB1bnN1aXRhYmxlLiAgRm9yCisgIGV4YW1wbGU6CiAKICAgLi4gZG9jdGVzdDo6CiAKQEAgLTg1OSw3ICs4NzcsNyBAQAogQ29uZmlnUGFyc2VyIE9iamVjdHMKIC0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKLS4uIGNsYXNzOjogQ29uZmlnUGFyc2VyKGRlZmF1bHRzPU5vbmUsIGRpY3RfdHlwZT1jb2xsZWN0aW9ucy5PcmRlcmVkRGljdCwgYWxsb3dfbm9fdmFsdWU9RmFsc2UsIGRlbGltaXRlcnM9KCc9JywgJzonKSwgY29tbWVudF9wcmVmaXhlcz0oJyMnLCAnOycpLCBpbmxpbmVfY29tbWVudF9wcmVmaXhlcz1Ob25lLCBzdHJpY3Q9VHJ1ZSwgZW1wdHlfbGluZXNfaW5fdmFsdWVzPVRydWUsIGRlZmF1bHRfc2VjdGlvbj1jb25maWdwYXJzZXIuREVGQVVMVFNFQ1QsIGludGVycG9sYXRpb249QmFzaWNJbnRlcnBvbGF0aW9uKCkpCisuLiBjbGFzczo6IENvbmZpZ1BhcnNlcihkZWZhdWx0cz1Ob25lLCBkaWN0X3R5cGU9Y29sbGVjdGlvbnMuT3JkZXJlZERpY3QsIGFsbG93X25vX3ZhbHVlPUZhbHNlLCBkZWxpbWl0ZXJzPSgnPScsICc6JyksIGNvbW1lbnRfcHJlZml4ZXM9KCcjJywgJzsnKSwgaW5saW5lX2NvbW1lbnRfcHJlZml4ZXM9Tm9uZSwgc3RyaWN0PVRydWUsIGVtcHR5X2xpbmVzX2luX3ZhbHVlcz1UcnVlLCBkZWZhdWx0X3NlY3Rpb249Y29uZmlncGFyc2VyLkRFRkFVTFRTRUNULCBpbnRlcnBvbGF0aW9uPUJhc2ljSW50ZXJwb2xhdGlvbigpLCBjb252ZXJ0ZXJzPXt9KQogCiAgICBUaGUgbWFpbiBjb25maWd1cmF0aW9uIHBhcnNlci4gIFdoZW4gKmRlZmF1bHRzKiBpcyBnaXZlbiwgaXQgaXMgaW5pdGlhbGl6ZWQKICAgIGludG8gdGhlIGRpY3Rpb25hcnkgb2YgaW50cmluc2ljIGRlZmF1bHRzLiAgV2hlbiAqZGljdF90eXBlKiBpcyBnaXZlbiwgaXQKQEAgLTg2OSw4ICs4ODcsOCBAQAogICAgV2hlbiAqZGVsaW1pdGVycyogaXMgZ2l2ZW4sIGl0IGlzIHVzZWQgYXMgdGhlIHNldCBvZiBzdWJzdHJpbmdzIHRoYXQKICAgIGRpdmlkZSBrZXlzIGZyb20gdmFsdWVzLiAgV2hlbiAqY29tbWVudF9wcmVmaXhlcyogaXMgZ2l2ZW4sIGl0IHdpbGwgYmUgdXNlZAogICAgYXMgdGhlIHNldCBvZiBzdWJzdHJpbmdzIHRoYXQgcHJlZml4IGNvbW1lbnRzIGluIG90aGVyd2lzZSBlbXB0eSBsaW5lcy4KLSAgIENvbW1lbnRzIGNhbiBiZSBpbmRlbnRlZC4gV2hlbiAqaW5saW5lX2NvbW1lbnRfcHJlZml4ZXMqIGlzIGdpdmVuLCBpdCB3aWxsIGJlCi0gICB1c2VkIGFzIHRoZSBzZXQgb2Ygc3Vic3RyaW5ncyB0aGF0IHByZWZpeCBjb21tZW50cyBpbiBub24tZW1wdHkgbGluZXMuCisgICBDb21tZW50cyBjYW4gYmUgaW5kZW50ZWQuICBXaGVuICppbmxpbmVfY29tbWVudF9wcmVmaXhlcyogaXMgZ2l2ZW4sIGl0IHdpbGwKKyAgIGJlIHVzZWQgYXMgdGhlIHNldCBvZiBzdWJzdHJpbmdzIHRoYXQgcHJlZml4IGNvbW1lbnRzIGluIG5vbi1lbXB0eSBsaW5lcy4KIAogICAgV2hlbiAqc3RyaWN0KiBpcyBgYFRydWVgYCAodGhlIGRlZmF1bHQpLCB0aGUgcGFyc2VyIHdvbid0IGFsbG93IGZvcgogICAgYW55IHNlY3Rpb24gb3Igb3B0aW9uIGR1cGxpY2F0ZXMgd2hpbGUgcmVhZGluZyBmcm9tIGEgc2luZ2xlIHNvdXJjZSAoZmlsZSwKQEAgLTg4NCwxMyArOTAyLDEzIEBACiAKICAgIFdoZW4gKmRlZmF1bHRfc2VjdGlvbiogaXMgZ2l2ZW4sIGl0IHNwZWNpZmllcyB0aGUgbmFtZSBmb3IgdGhlIHNwZWNpYWwKICAgIHNlY3Rpb24gaG9sZGluZyBkZWZhdWx0IHZhbHVlcyBmb3Igb3RoZXIgc2VjdGlvbnMgYW5kIGludGVycG9sYXRpb24gcHVycG9zZXMKLSAgIChub3JtYWxseSBuYW1lZCBgYCJERUZBVUxUImBgKS4gVGhpcyB2YWx1ZSBjYW4gYmUgcmV0cmlldmVkIGFuZCBjaGFuZ2VkIG9uCisgICAobm9ybWFsbHkgbmFtZWQgYGAiREVGQVVMVCJgYCkuICBUaGlzIHZhbHVlIGNhbiBiZSByZXRyaWV2ZWQgYW5kIGNoYW5nZWQgb24KICAgIHJ1bnRpbWUgdXNpbmcgdGhlIGBgZGVmYXVsdF9zZWN0aW9uYGAgaW5zdGFuY2UgYXR0cmlidXRlLgogCiAgICBJbnRlcnBvbGF0aW9uIGJlaGF2aW91ciBtYXkgYmUgY3VzdG9taXplZCBieSBwcm92aWRpbmcgYSBjdXN0b20gaGFuZGxlcgogICAgdGhyb3VnaCB0aGUgKmludGVycG9sYXRpb24qIGFyZ3VtZW50LiBgYE5vbmVgYCBjYW4gYmUgdXNlZCB0byB0dXJuIG9mZgogICAgaW50ZXJwb2xhdGlvbiBjb21wbGV0ZWx5LCBgYEV4dGVuZGVkSW50ZXJwb2xhdGlvbigpYGAgcHJvdmlkZXMgYSBtb3JlCi0gICBhZHZhbmNlZCB2YXJpYW50IGluc3BpcmVkIGJ5IGBgemMuYnVpbGRvdXRgYC4gTW9yZSBvbiB0aGUgc3ViamVjdCBpbiB0aGUKKyAgIGFkdmFuY2VkIHZhcmlhbnQgaW5zcGlyZWQgYnkgYGB6Yy5idWlsZG91dGBgLiAgTW9yZSBvbiB0aGUgc3ViamVjdCBpbiB0aGUKICAgIGBkZWRpY2F0ZWQgZG9jdW1lbnRhdGlvbiBzZWN0aW9uIDwjaW50ZXJwb2xhdGlvbi1vZi12YWx1ZXM+YF8uCiAKICAgIEFsbCBvcHRpb24gbmFtZXMgdXNlZCBpbiBpbnRlcnBvbGF0aW9uIHdpbGwgYmUgcGFzc2VkIHRocm91Z2ggdGhlCkBAIC04OTksNiArOTE3LDEyIEBACiAgICBjb252ZXJ0cyBvcHRpb24gbmFtZXMgdG8gbG93ZXIgY2FzZSksIHRoZSB2YWx1ZXMgYGBmb28gJShiYXIpc2BgIGFuZCBgYGZvbwogICAgJShCQVIpc2BgIGFyZSBlcXVpdmFsZW50LgogCisgICBXaGVuICpjb252ZXJ0ZXJzKiBpcyBnaXZlbiwgaXQgc2hvdWxkIGJlIGEgZGljdGlvbmFyeSB3aGVyZSBlYWNoIGtleQorICAgcmVwcmVzZW50cyB0aGUgbmFtZSBvZiBhIHR5cGUgY29udmVydGVyIGFuZCBlYWNoIHZhbHVlIGlzIGEgY2FsbGFibGUKKyAgIGltcGxlbWVudGluZyB0aGUgY29udmVyc2lvbiBmcm9tIHN0cmluZyB0byB0aGUgZGVzaXJlZCBkYXRhdHlwZS4gIEV2ZXJ5CisgICBjb252ZXJ0ZXIgZ2V0cyBpdHMgb3duIGNvcnJlc3BvbmRpbmcgOm1ldGg6YGdldCooKWAgbWV0aG9kIG9uIHRoZSBwYXJzZXIKKyAgIG9iamVjdCBhbmQgc2VjdGlvbiBwcm94aWVzLgorCiAgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuMQogICAgICAgVGhlIGRlZmF1bHQgKmRpY3RfdHlwZSogaXMgOmNsYXNzOmBjb2xsZWN0aW9ucy5PcmRlcmVkRGljdGAuCiAKQEAgLTkwNyw2ICs5MzEsOSBAQAogICAgICAgKmVtcHR5X2xpbmVzX2luX3ZhbHVlcyosICpkZWZhdWx0X3NlY3Rpb24qIGFuZCAqaW50ZXJwb2xhdGlvbiogd2VyZQogICAgICAgYWRkZWQuCiAKKyAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy41CisgICAgICBUaGUgKmNvbnZlcnRlcnMqIGFyZ3VtZW50IHdhcyBhZGRlZC4KKwogCiAgICAuLiBtZXRob2Q6OiBkZWZhdWx0cygpCiAKQEAgLTk0NCw3ICs5NzEsNyBAQAogICAgLi4gbWV0aG9kOjogaGFzX29wdGlvbihzZWN0aW9uLCBvcHRpb24pCiAKICAgICAgIElmIHRoZSBnaXZlbiAqc2VjdGlvbiogZXhpc3RzLCBhbmQgY29udGFpbnMgdGhlIGdpdmVuICpvcHRpb24qLCByZXR1cm4KLSAgICAgIDpjb25zdDpgVHJ1ZWA7IG90aGVyd2lzZSByZXR1cm4gOmNvbnN0OmBGYWxzZWAuIElmIHRoZSBzcGVjaWZpZWQKKyAgICAgIDpjb25zdDpgVHJ1ZWA7IG90aGVyd2lzZSByZXR1cm4gOmNvbnN0OmBGYWxzZWAuICBJZiB0aGUgc3BlY2lmaWVkCiAgICAgICAqc2VjdGlvbiogaXMgOmNvbnN0OmBOb25lYCBvciBhbiBlbXB0eSBzdHJpbmcsIERFRkFVTFQgaXMgYXNzdW1lZC4KIAogCkBAIC0xMDY5LDcgKzEwOTYsNyBAQAogICAgICAgOm1ldGg6YGdldGAgbWV0aG9kLgogCiAgICAgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuMgotICAgICAgICAgSXRlbXMgcHJlc2VudCBpbiAqdmFycyogbm8gbG9uZ2VyIGFwcGVhciBpbiB0aGUgcmVzdWx0LiBUaGUgcHJldmlvdXMKKyAgICAgICAgIEl0ZW1zIHByZXNlbnQgaW4gKnZhcnMqIG5vIGxvbmdlciBhcHBlYXIgaW4gdGhlIHJlc3VsdC4gIFRoZSBwcmV2aW91cwogICAgICAgICAgYmVoYXZpb3VyIG1peGVkIGFjdHVhbCBwYXJzZXIgb3B0aW9ucyB3aXRoIHZhcmlhYmxlcyBwcm92aWRlZCBmb3IKICAgICAgICAgIGludGVycG9sYXRpb24uCiAKQEAgLTExNzAsNyArMTE5Nyw3IEBACiAKICAgIC4uIG5vdGU6OgogICAgICAgQ29uc2lkZXIgdXNpbmcgOmNsYXNzOmBDb25maWdQYXJzZXJgIGluc3RlYWQgd2hpY2ggY2hlY2tzIHR5cGVzIG9mCi0gICAgICB0aGUgdmFsdWVzIHRvIGJlIHN0b3JlZCBpbnRlcm5hbGx5LiBJZiB5b3UgZG9uJ3Qgd2FudCBpbnRlcnBvbGF0aW9uLCB5b3UKKyAgICAgIHRoZSB2YWx1ZXMgdG8gYmUgc3RvcmVkIGludGVybmFsbHkuICBJZiB5b3UgZG9uJ3Qgd2FudCBpbnRlcnBvbGF0aW9uLCB5b3UKICAgICAgIGNhbiB1c2UgYGBDb25maWdQYXJzZXIoaW50ZXJwb2xhdGlvbj1Ob25lKWBgLgogCiAKQEAgLTExODEsNyArMTIwOCw3IEBACiAgICAgICAqZGVmYXVsdCBzZWN0aW9uKiBuYW1lIGlzIHBhc3NlZCwgOmV4YzpgVmFsdWVFcnJvcmAgaXMgcmFpc2VkLgogCiAgICAgICBUeXBlIG9mICpzZWN0aW9uKiBpcyBub3QgY2hlY2tlZCB3aGljaCBsZXRzIHVzZXJzIGNyZWF0ZSBub24tc3RyaW5nIG5hbWVkCi0gICAgICBzZWN0aW9ucy4gVGhpcyBiZWhhdmlvdXIgaXMgdW5zdXBwb3J0ZWQgYW5kIG1heSBjYXVzZSBpbnRlcm5hbCBlcnJvcnMuCisgICAgICBzZWN0aW9ucy4gIFRoaXMgYmVoYXZpb3VyIGlzIHVuc3VwcG9ydGVkIGFuZCBtYXkgY2F1c2UgaW50ZXJuYWwgZXJyb3JzLgogCiAKICAgIC4uIG1ldGhvZDo6IHNldChzZWN0aW9uLCBvcHRpb24sIHZhbHVlKQpAQCAtMTI4MiwzICsxMzA5LDQgQEAKIC4uIFsxXSBDb25maWcgcGFyc2VycyBhbGxvdyBmb3IgaGVhdnkgY3VzdG9taXphdGlvbi4gIElmIHlvdSBhcmUgaW50ZXJlc3RlZCBpbgogICAgICAgIGNoYW5naW5nIHRoZSBiZWhhdmlvdXIgb3V0bGluZWQgYnkgdGhlIGZvb3Rub3RlIHJlZmVyZW5jZSwgY29uc3VsdCB0aGUKICAgICAgICBgQ3VzdG9taXppbmcgUGFyc2VyIEJlaGF2aW91cmBfIHNlY3Rpb24uCisKZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L2NvbnN0YW50cy5yc3QgYi9Eb2MvbGlicmFyeS9jb25zdGFudHMucnN0CmluZGV4IDQyYjVhZjIuLmQ1YTBmMDkgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L2NvbnN0YW50cy5yc3QKKysrIGIvRG9jL2xpYnJhcnkvY29uc3RhbnRzLnJzdApAQCAtNDUsNyArNDUsNiBAQAogICAgZm9yIG1vcmUgZGV0YWlscy4KIAogCi0KIC4uIGRhdGE6OiBFbGxpcHNpcwogCiAgICBUaGUgc2FtZSBhcyBgYC4uLmBgLiAgU3BlY2lhbCB2YWx1ZSB1c2VkIG1vc3RseSBpbiBjb25qdW5jdGlvbiB3aXRoIGV4dGVuZGVkCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS9jb250ZXh0bGliLnJzdCBiL0RvYy9saWJyYXJ5L2NvbnRleHRsaWIucnN0CmluZGV4IDZmMzY4NjQuLjU1MGIzNDcgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L2NvbnRleHRsaWIucnN0CisrKyBiL0RvYy9saWJyYXJ5L2NvbnRleHRsaWIucnN0CkBAIC0xNzIsNiArMTcyLDE2IEBACiAgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjQKIAogCisuLiBmdW5jdGlvbjo6IHJlZGlyZWN0X3N0ZGVycihuZXdfdGFyZ2V0KQorCisgICBTaW1pbGFyIHRvIDpmdW5jOmB+Y29udGV4dGxpYi5yZWRpcmVjdF9zdGRvdXRgIGJ1dCByZWRpcmVjdGluZworICAgOmRhdGE6YHN5cy5zdGRlcnJgIHRvIGFub3RoZXIgZmlsZSBvciBmaWxlLWxpa2Ugb2JqZWN0LgorCisgICBUaGlzIGNvbnRleHQgbWFuYWdlciBpcyA6cmVmOmByZWVudHJhbnQgPHJlZW50cmFudC1jbXM+YC4KKworICAgLi4gdmVyc2lvbmFkZGVkOjogMy41CisKKwogLi4gY2xhc3M6OiBDb250ZXh0RGVjb3JhdG9yKCkKIAogICAgQSBiYXNlIGNsYXNzIHRoYXQgZW5hYmxlcyBhIGNvbnRleHQgbWFuYWdlciB0byBhbHNvIGJlIHVzZWQgYXMgYSBkZWNvcmF0b3IuCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS9jc3YucnN0IGIvRG9jL2xpYnJhcnkvY3N2LnJzdAppbmRleCA5ZjdiNThhLi5lNzUxNmI2IDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS9jc3YucnN0CisrKyBiL0RvYy9saWJyYXJ5L2Nzdi5yc3QKQEAgLTUsNiArNSw3IEBACiAgICA6c3lub3BzaXM6IFdyaXRlIGFuZCByZWFkIHRhYnVsYXIgZGF0YSB0byBhbmQgZnJvbSBkZWxpbWl0ZWQgZmlsZXMuCiAuLiBzZWN0aW9uYXV0aG9yOjogU2tpcCBNb250YW5hcm8gPHNraXBAcG9ib3guY29tPgogCisqKlNvdXJjZSBjb2RlOioqIDpzb3VyY2U6YExpYi9jc3YucHlgCiAKIC4uIGluZGV4OjoKICAgIHNpbmdsZTogY3N2CmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS9kYXRldGltZS5yc3QgYi9Eb2MvbGlicmFyeS9kYXRldGltZS5yc3QKaW5kZXggN2RkODYxMy4uN2E5ZjkzYyAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvZGF0ZXRpbWUucnN0CisrKyBiL0RvYy9saWJyYXJ5L2RhdGV0aW1lLnJzdApAQCAtNyw2ICs3LDggQEAKIC4uIHNlY3Rpb25hdXRob3I6OiBUaW0gUGV0ZXJzIDx0aW1Aem9wZS5jb20+CiAuLiBzZWN0aW9uYXV0aG9yOjogQS5NLiBLdWNobGluZyA8YW1rQGFtay5jYT4KIAorKipTb3VyY2UgY29kZToqKiA6c291cmNlOmBMaWIvZGF0ZXRpbWUucHlgCisKIC4uIFhYWCB3aGF0IG9yZGVyIHNob3VsZCB0aGUgdHlwZXMgYmUgZGlzY3Vzc2VkIGluPwogCiBUaGUgOm1vZDpgZGF0ZXRpbWVgIG1vZHVsZSBzdXBwbGllcyBjbGFzc2VzIGZvciBtYW5pcHVsYXRpbmcgZGF0ZXMgYW5kIHRpbWVzIGluCkBAIC0xMzc2LDEwICsxMzc4LDEzIEBACiAKICogZWZmaWNpZW50IHBpY2tsaW5nCiAKLSogaW4gQm9vbGVhbiBjb250ZXh0cywgYSA6Y2xhc3M6YC50aW1lYCBvYmplY3QgaXMgY29uc2lkZXJlZCB0byBiZSB0cnVlIGlmIGFuZAotICBvbmx5IGlmLCBhZnRlciBjb252ZXJ0aW5nIGl0IHRvIG1pbnV0ZXMgYW5kIHN1YnRyYWN0aW5nIDptZXRoOmB1dGNvZmZzZXRgIChvcgotICBgYDBgYCBpZiB0aGF0J3MgYGBOb25lYGApLCB0aGUgcmVzdWx0IGlzIG5vbi16ZXJvLgorSW4gYm9vbGVhbiBjb250ZXh0cywgYSA6Y2xhc3M6YC50aW1lYCBvYmplY3QgaXMgYWx3YXlzIGNvbnNpZGVyZWQgdG8gYmUgdHJ1ZS4KIAorLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjUKKyAgIEJlZm9yZSBQeXRob24gMy41LCBhIDpjbGFzczpgLnRpbWVgIG9iamVjdCB3YXMgY29uc2lkZXJlZCB0byBiZSBmYWxzZSBpZiBpdAorICAgcmVwcmVzZW50ZWQgbWlkbmlnaHQgaW4gVVRDLiAgVGhpcyBiZWhhdmlvciB3YXMgY29uc2lkZXJlZCBvYnNjdXJlIGFuZAorICAgZXJyb3ItcHJvbmUgYW5kIGhhcyBiZWVuIHJlbW92ZWQgaW4gUHl0aG9uIDMuNS4gIFNlZSA6aXNzdWU6YDEzOTM2YCBmb3IgZnVsbAorICAgZGV0YWlscy4KIAogSW5zdGFuY2UgbWV0aG9kczoKIApkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvZGJtLnJzdCBiL0RvYy9saWJyYXJ5L2RibS5yc3QKaW5kZXggZTZhODJkNi4uM2YzYzQzZCAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvZGJtLnJzdAorKysgYi9Eb2MvbGlicmFyeS9kYm0ucnN0CkBAIC0zMjUsMTMgKzMyNSwxOCBAQAogICAgZHVtYmRibSBkYXRhYmFzZSBpcyBjcmVhdGVkLCBmaWxlcyB3aXRoIDpmaWxlOmAuZGF0YCBhbmQgOmZpbGU6YC5kaXJgIGV4dGVuc2lvbnMKICAgIGFyZSBjcmVhdGVkLgogCi0gICBUaGUgb3B0aW9uYWwgKmZsYWcqIGFyZ3VtZW50IGlzIGN1cnJlbnRseSBpZ25vcmVkOyB0aGUgZGF0YWJhc2UgaXMgYWx3YXlzIG9wZW5lZAotICAgZm9yIHVwZGF0ZSwgYW5kIHdpbGwgYmUgY3JlYXRlZCBpZiBpdCBkb2VzIG5vdCBleGlzdC4KKyAgIFRoZSBvcHRpb25hbCAqZmxhZyogYXJndW1lbnQgc3VwcG9ydHMgb25seSB0aGUgc2VtYW50aWNzIG9mIGBgJ2MnYGAKKyAgIGFuZCBgYCduJ2BgIHZhbHVlcy4gIE90aGVyIHZhbHVlcyB3aWxsIGRlZmF1bHQgdG8gZGF0YWJhc2UgYmVpbmcgYWx3YXlzCisgICBvcGVuZWQgZm9yIHVwZGF0ZSwgYW5kIHdpbGwgYmUgY3JlYXRlZCBpZiBpdCBkb2VzIG5vdCBleGlzdC4KIAogICAgVGhlIG9wdGlvbmFsICptb2RlKiBhcmd1bWVudCBpcyB0aGUgVW5peCBtb2RlIG9mIHRoZSBmaWxlLCB1c2VkIG9ubHkgd2hlbiB0aGUKICAgIGRhdGFiYXNlIGhhcyB0byBiZSBjcmVhdGVkLiAgSXQgZGVmYXVsdHMgdG8gb2N0YWwgYGAwbzY2NmBgIChhbmQgd2lsbCBiZSBtb2RpZmllZAogICAgYnkgdGhlIHByZXZhaWxpbmcgdW1hc2spLgogCisgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuNQorICAgICAgOmZ1bmM6YC5vcGVuYCBhbHdheXMgY3JlYXRlcyBhIG5ldyBkYXRhYmFzZSB3aGVuIHRoZSBmbGFnIGhhcyB0aGUgdmFsdWUKKyAgICAgIGBgJ24nYGAuCisKICAgIEluIGFkZGl0aW9uIHRvIHRoZSBtZXRob2RzIHByb3ZpZGVkIGJ5IHRoZQogICAgOmNsYXNzOmBjb2xsZWN0aW9ucy5hYmMuTXV0YWJsZU1hcHBpbmdgIGNsYXNzLCA6Y2xhc3M6YGR1bWJkYm1gIG9iamVjdHMKICAgIHByb3ZpZGUgdGhlIGZvbGxvd2luZyBtZXRob2RzOgpkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvZGVjaW1hbC5yc3QgYi9Eb2MvbGlicmFyeS9kZWNpbWFsLnJzdAppbmRleCAwNTlhZTdjLi43MDUyOTg1IDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS9kZWNpbWFsLnJzdAorKysgYi9Eb2MvbGlicmFyeS9kZWNpbWFsLnJzdApAQCAtMTIsNiArMTIsOCBAQAogLi4gbW9kdWxlYXV0aG9yOjogU3RlZmFuIEtyYWggPHNrcmFoIGF0IGJ5dGVyZWVmLm9yZz4KIC4uIHNlY3Rpb25hdXRob3I6OiBSYXltb25kIEQuIEhldHRpbmdlciA8cHl0aG9uIGF0IHJjbi5jb20+CiAKKyoqU291cmNlIGNvZGU6KiogOnNvdXJjZTpgTGliL2RlY2ltYWwucHlgCisKIC4uIGltcG9ydCBtb2R1bGVzIGZvciB0ZXN0aW5nIGlubGluZSBkb2N0ZXN0cyB3aXRoIHRoZSBTcGhpbnggZG9jdGVzdCBidWlsZGVyCiAuLiB0ZXN0c2V0dXA6OiAqCiAKQEAgLTc0Miw3ICs3NDQsNyBAQAogICAgICAgKiBgYCJOYU4iYGAsIGluZGljYXRpbmcgdGhhdCB0aGUgb3BlcmFuZCBpcyBhIHF1aWV0IE5hTiAoTm90IGEgTnVtYmVyKS4KICAgICAgICogYGAic05hTiJgYCwgaW5kaWNhdGluZyB0aGF0IHRoZSBvcGVyYW5kIGlzIGEgc2lnbmFsaW5nIE5hTi4KIAotICAgLi4gbWV0aG9kOjogcXVhbnRpemUoZXhwLCByb3VuZGluZz1Ob25lLCBjb250ZXh0PU5vbmUsIHdhdGNoZXhwPVRydWUpCisgICAuLiBtZXRob2Q6OiBxdWFudGl6ZShleHAsIHJvdW5kaW5nPU5vbmUsIGNvbnRleHQ9Tm9uZSkKIAogICAgICAgUmV0dXJuIGEgdmFsdWUgZXF1YWwgdG8gdGhlIGZpcnN0IG9wZXJhbmQgYWZ0ZXIgcm91bmRpbmcgYW5kIGhhdmluZyB0aGUKICAgICAgIGV4cG9uZW50IG9mIHRoZSBzZWNvbmQgb3BlcmFuZC4KQEAgLTc2NSwxNCArNzY3LDggQEAKICAgICAgIGBgY29udGV4dGBgIGFyZ3VtZW50OyBpZiBuZWl0aGVyIGFyZ3VtZW50IGlzIGdpdmVuIHRoZSByb3VuZGluZyBtb2RlIG9mCiAgICAgICB0aGUgY3VycmVudCB0aHJlYWQncyBjb250ZXh0IGlzIHVzZWQuCiAKLSAgICAgIElmICp3YXRjaGV4cCogaXMgc2V0IChkZWZhdWx0KSwgdGhlbiBhbiBlcnJvciBpcyByZXR1cm5lZCB3aGVuZXZlciB0aGUKLSAgICAgIHJlc3VsdGluZyBleHBvbmVudCBpcyBncmVhdGVyIHRoYW4gOmF0dHI6YEVtYXhgIG9yIGxlc3MgdGhhbgotICAgICAgOmF0dHI6YEV0aW55YC4KLQotICAgICAgLi4gZGVwcmVjYXRlZDo6IDMuMwotICAgICAgICAgKndhdGNoZXhwKiBpcyBhbiBpbXBsZW1lbnRhdGlvbiBkZXRhaWwgZnJvbSB0aGUgcHVyZSBQeXRob24gdmVyc2lvbgotICAgICAgICAgYW5kIGlzIG5vdCBwcmVzZW50IGluIHRoZSBDIHZlcnNpb24uIEl0IHdpbGwgYmUgcmVtb3ZlZCBpbiB2ZXJzaW9uCi0gICAgICAgICAzLjQsIHdoZXJlIGl0IGRlZmF1bHRzIHRvIGBgVHJ1ZWBgLgorICAgICAgQW4gZXJyb3IgaXMgcmV0dXJuZWQgd2hlbmV2ZXIgdGhlIHJlc3VsdGluZyBleHBvbmVudCBpcyBncmVhdGVyIHRoYW4KKyAgICAgIDphdHRyOmBFbWF4YCBvciBsZXNzIHRoYW4gOmF0dHI6YEV0aW55YC4KIAogICAgLi4gbWV0aG9kOjogcmFkaXgoKQogCkBAIC0yMDkyLDQgKzIwODgsMyBAQAogCiAgICA+Pj4gQ29udGV4dChwcmVjPTUsIHJvdW5kaW5nPVJPVU5EX0RPV04pLmNyZWF0ZV9kZWNpbWFsKCcxLjIzNDU2NzgnKQogICAgRGVjaW1hbCgnMS4yMzQ1JykKLQpkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvZGlmZmxpYi5yc3QgYi9Eb2MvbGlicmFyeS9kaWZmbGliLnJzdAppbmRleCA1ZjcyZWE2Li4zMjliZGUwIDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS9kaWZmbGliLnJzdAorKysgYi9Eb2MvbGlicmFyeS9kaWZmbGliLnJzdApAQCAtNyw2ICs3LDggQEAKIC4uIHNlY3Rpb25hdXRob3I6OiBUaW0gUGV0ZXJzIDx0aW1fb25lQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KIC4uIE1hcmt1cCBieSBGcmVkIEwuIERyYWtlLCBKci4gPGZkcmFrZUBhY20ub3JnPgogCisqKlNvdXJjZSBjb2RlOioqIDpzb3VyY2U6YExpYi9kaWZmbGliLnB5YAorCiAuLiB0ZXN0c2V0dXA6OgogCiAgICBpbXBvcnQgc3lzCkBAIC0yNSw3ICsyNyw5IEBACiAgICBsaXR0bGUgZmFuY2llciB0aGFuLCBhbiBhbGdvcml0aG0gcHVibGlzaGVkIGluIHRoZSBsYXRlIDE5ODAncyBieSBSYXRjbGlmZiBhbmQKICAgIE9iZXJzaGVscCB1bmRlciB0aGUgaHlwZXJib2xpYyBuYW1lICJnZXN0YWx0IHBhdHRlcm4gbWF0Y2hpbmcuIiAgVGhlIGlkZWEgaXMgdG8KICAgIGZpbmQgdGhlIGxvbmdlc3QgY29udGlndW91cyBtYXRjaGluZyBzdWJzZXF1ZW5jZSB0aGF0IGNvbnRhaW5zIG5vICJqdW5rIgotICAgZWxlbWVudHMgKHRoZSBSYXRjbGlmZiBhbmQgT2JlcnNoZWxwIGFsZ29yaXRobSBkb2Vzbid0IGFkZHJlc3MganVuaykuICBUaGUgc2FtZQorICAgZWxlbWVudHM7IHRoZXNlICJqdW5rIiBlbGVtZW50cyBhcmUgb25lcyB0aGF0IGFyZSB1bmludGVyZXN0aW5nIGluIHNvbWUKKyAgIHNlbnNlLCBzdWNoIGFzIGJsYW5rIGxpbmVzIG9yIHdoaXRlc3BhY2UuICAoSGFuZGxpbmcganVuayBpcyBhbgorICAgZXh0ZW5zaW9uIHRvIHRoZSBSYXRjbGlmZiBhbmQgT2JlcnNoZWxwIGFsZ29yaXRobS4pIFRoZSBzYW1lCiAgICBpZGVhIGlzIHRoZW4gYXBwbGllZCByZWN1cnNpdmVseSB0byB0aGUgcGllY2VzIG9mIHRoZSBzZXF1ZW5jZXMgdG8gdGhlIGxlZnQgYW5kCiAgICB0byB0aGUgcmlnaHQgb2YgdGhlIG1hdGNoaW5nIHN1YnNlcXVlbmNlLiAgVGhpcyBkb2VzIG5vdCB5aWVsZCBtaW5pbWFsIGVkaXQKICAgIHNlcXVlbmNlcywgYnV0IGRvZXMgdGVuZCB0byB5aWVsZCBtYXRjaGVzIHRoYXQgImxvb2sgcmlnaHQiIHRvIHBlb3BsZS4KQEAgLTIwOCw3ICsyMTIsNyBAQAogICAgQ29tcGFyZSAqYSogYW5kICpiKiAobGlzdHMgb2Ygc3RyaW5ncyk7IHJldHVybiBhIDpjbGFzczpgRGlmZmVyYFwgLXN0eWxlCiAgICBkZWx0YSAoYSA6dGVybTpgZ2VuZXJhdG9yYCBnZW5lcmF0aW5nIHRoZSBkZWx0YSBsaW5lcykuCiAKLSAgIE9wdGlvbmFsIGtleXdvcmQgcGFyYW1ldGVycyAqbGluZWp1bmsqIGFuZCAqY2hhcmp1bmsqIGFyZSBmb3IgZmlsdGVyIGZ1bmN0aW9ucworICAgT3B0aW9uYWwga2V5d29yZCBwYXJhbWV0ZXJzICpsaW5lanVuayogYW5kICpjaGFyanVuayogYXJlIGZpbHRlcmluZyBmdW5jdGlvbnMKICAgIChvciBgYE5vbmVgYCk6CiAKICAgICpsaW5lanVuayo6IEEgZnVuY3Rpb24gdGhhdCBhY2NlcHRzIGEgc2luZ2xlIHN0cmluZyBhcmd1bWVudCwgYW5kIHJldHVybnMKQEAgLTIyMiw3ICsyMjYsNyBAQAogICAgKmNoYXJqdW5rKjogQSBmdW5jdGlvbiB0aGF0IGFjY2VwdHMgYSBjaGFyYWN0ZXIgKGEgc3RyaW5nIG9mIGxlbmd0aCAxKSwgYW5kCiAgICByZXR1cm5zIGlmIHRoZSBjaGFyYWN0ZXIgaXMganVuaywgb3IgZmFsc2UgaWYgbm90LiBUaGUgZGVmYXVsdCBpcyBtb2R1bGUtbGV2ZWwKICAgIGZ1bmN0aW9uIDpmdW5jOmBJU19DSEFSQUNURVJfSlVOS2AsIHdoaWNoIGZpbHRlcnMgb3V0IHdoaXRlc3BhY2UgY2hhcmFjdGVycyAoYQotICAgYmxhbmsgb3IgdGFiOyBub3RlOiBiYWQgaWRlYSB0byBpbmNsdWRlIG5ld2xpbmUgaW4gdGhpcyEpLgorICAgYmxhbmsgb3IgdGFiOyBpdCdzIGEgYmFkIGlkZWEgdG8gaW5jbHVkZSBuZXdsaW5lIGluIHRoaXMhKS4KIAogICAgOmZpbGU6YFRvb2xzL3NjcmlwdHMvbmRpZmYucHlgIGlzIGEgY29tbWFuZC1saW5lIGZyb250LWVuZCB0byB0aGlzIGZ1bmN0aW9uLgogCkBAIC02MjIsNiArNjI2LDEyIEBACiAgICBsZW5ndGggMSksIGFuZCByZXR1cm5zIHRydWUgaWYgdGhlIGNoYXJhY3RlciBpcyBqdW5rLiBUaGUgZGVmYXVsdCBpcyBgYE5vbmVgYCwKICAgIG1lYW5pbmcgdGhhdCBubyBjaGFyYWN0ZXIgaXMgY29uc2lkZXJlZCBqdW5rLgogCisgICBUaGVzZSBqdW5rLWZpbHRlcmluZyBmdW5jdGlvbnMgc3BlZWQgdXAgbWF0Y2hpbmcgdG8gZmluZAorICAgZGlmZmVyZW5jZXMgYW5kIGRvIG5vdCBjYXVzZSBhbnkgZGlmZmVyaW5nIGxpbmVzIG9yIGNoYXJhY3RlcnMgdG8KKyAgIGJlIGlnbm9yZWQuICBSZWFkIHRoZSBkZXNjcmlwdGlvbiBvZiB0aGUKKyAgIDptZXRoOmB+U2VxdWVuY2VNYXRjaGVyLmZpbmRfbG9uZ2VzdF9tYXRjaGAgbWV0aG9kJ3MgKmlzanVuayoKKyAgIHBhcmFtZXRlciBmb3IgYW4gZXhwbGFuYXRpb24uCisKICAgIDpjbGFzczpgRGlmZmVyYCBvYmplY3RzIGFyZSB1c2VkIChkZWx0YXMgZ2VuZXJhdGVkKSB2aWEgYSBzaW5nbGUgbWV0aG9kOgogCiAKZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L2Rpcy5yc3QgYi9Eb2MvbGlicmFyeS9kaXMucnN0CmluZGV4IDFiN2NmZTEuLjNiNDE5ZTYgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L2Rpcy5yc3QKKysrIGIvRG9jL2xpYnJhcnkvZGlzLnJzdApAQCAtNDgsOCArNDgsOCBAQAogCiAuLiBjbGFzczo6IEJ5dGVjb2RlKHgsICosIGZpcnN0X2xpbmU9Tm9uZSwgY3VycmVudF9vZmZzZXQ9Tm9uZSkKIAotICAgQW5hbHlzZSB0aGUgYnl0ZWNvZGUgY29ycmVzcG9uZGluZyB0byBhIGZ1bmN0aW9uLCBtZXRob2QsIHN0cmluZyBvZgotICAgc291cmNlIGNvZGUsIG9yIGEgY29kZSBvYmplY3QgKGFzIHJldHVybmVkIGJ5IDpmdW5jOmBjb21waWxlYCkuCisgICBBbmFseXNlIHRoZSBieXRlY29kZSBjb3JyZXNwb25kaW5nIHRvIGEgZnVuY3Rpb24sIGdlbmVyYXRvciwgbWV0aG9kLAorICAgc3RyaW5nIG9mIHNvdXJjZSBjb2RlLCBvciBhIGNvZGUgb2JqZWN0IChhcyByZXR1cm5lZCBieSA6ZnVuYzpgY29tcGlsZWApLgogCiAgICBUaGlzIGlzIGEgY29udmVuaWVuY2Ugd3JhcHBlciBhcm91bmQgbWFueSBvZiB0aGUgZnVuY3Rpb25zIGxpc3RlZCBiZWxvdywKICAgIG1vc3Qgbm90YWJseSA6ZnVuYzpgZ2V0X2luc3RydWN0aW9uc2AsIGFzIGl0ZXJhdGluZyBvdmVyIGEKQEAgLTExMiw3ICsxMTIsNyBAQAogLi4gZnVuY3Rpb246OiBjb2RlX2luZm8oeCkKIAogICAgUmV0dXJuIGEgZm9ybWF0dGVkIG11bHRpLWxpbmUgc3RyaW5nIHdpdGggZGV0YWlsZWQgY29kZSBvYmplY3QgaW5mb3JtYXRpb24KLSAgIGZvciB0aGUgc3VwcGxpZWQgZnVuY3Rpb24sIG1ldGhvZCwgc291cmNlIGNvZGUgc3RyaW5nIG9yIGNvZGUgb2JqZWN0LgorICAgZm9yIHRoZSBzdXBwbGllZCBmdW5jdGlvbiwgZ2VuZXJhdG9yLCBtZXRob2QsIHNvdXJjZSBjb2RlIHN0cmluZyBvciBjb2RlIG9iamVjdC4KIAogICAgTm90ZSB0aGF0IHRoZSBleGFjdCBjb250ZW50cyBvZiBjb2RlIGluZm8gc3RyaW5ncyBhcmUgaGlnaGx5IGltcGxlbWVudGF0aW9uCiAgICBkZXBlbmRlbnQgYW5kIHRoZXkgbWF5IGNoYW5nZSBhcmJpdHJhcmlseSBhY3Jvc3MgUHl0aG9uIFZNcyBvciBQeXRob24KQEAgLTEzOSwxMSArMTM5LDExIEBACiAuLiBmdW5jdGlvbjo6IGRpcyh4PU5vbmUsICosIGZpbGU9Tm9uZSkKIAogICAgRGlzYXNzZW1ibGUgdGhlICp4KiBvYmplY3QuICAqeCogY2FuIGRlbm90ZSBlaXRoZXIgYSBtb2R1bGUsIGEgY2xhc3MsIGEKLSAgIG1ldGhvZCwgYSBmdW5jdGlvbiwgYSBjb2RlIG9iamVjdCwgYSBzdHJpbmcgb2Ygc291cmNlIGNvZGUgb3IgYSBieXRlIHNlcXVlbmNlCi0gICBvZiByYXcgYnl0ZWNvZGUuICBGb3IgYSBtb2R1bGUsIGl0IGRpc2Fzc2VtYmxlcyBhbGwgZnVuY3Rpb25zLiAgRm9yIGEgY2xhc3MsCi0gICBpdCBkaXNhc3NlbWJsZXMgYWxsIG1ldGhvZHMuICBGb3IgYSBjb2RlIG9iamVjdCBvciBzZXF1ZW5jZSBvZiByYXcgYnl0ZWNvZGUsCi0gICBpdCBwcmludHMgb25lIGxpbmUgcGVyIGJ5dGVjb2RlIGluc3RydWN0aW9uLiAgU3RyaW5ncyBhcmUgZmlyc3QgY29tcGlsZWQgdG8KLSAgIGNvZGUgb2JqZWN0cyB3aXRoIHRoZSA6ZnVuYzpgY29tcGlsZWAgYnVpbHQtaW4gZnVuY3Rpb24gYmVmb3JlIGJlaW5nCisgICBtZXRob2QsIGEgZnVuY3Rpb24sIGEgZ2VuZXJhdG9yLCBhIGNvZGUgb2JqZWN0LCBhIHN0cmluZyBvZiBzb3VyY2UgY29kZSBvcgorICAgYSBieXRlIHNlcXVlbmNlIG9mIHJhdyBieXRlY29kZS4gIEZvciBhIG1vZHVsZSwgaXQgZGlzYXNzZW1ibGVzIGFsbCBmdW5jdGlvbnMuCisgICBGb3IgYSBjbGFzcywgaXQgZGlzYXNzZW1ibGVzIGFsbCBtZXRob2RzLiAgRm9yIGEgY29kZSBvYmplY3Qgb3Igc2VxdWVuY2Ugb2YKKyAgIHJhdyBieXRlY29kZSwgaXQgcHJpbnRzIG9uZSBsaW5lIHBlciBieXRlY29kZSBpbnN0cnVjdGlvbi4gIFN0cmluZ3MgYXJlIGZpcnN0CisgICBjb21waWxlZCB0byBjb2RlIG9iamVjdHMgd2l0aCB0aGUgOmZ1bmM6YGNvbXBpbGVgIGJ1aWx0LWluIGZ1bmN0aW9uIGJlZm9yZSBiZWluZwogICAgZGlzYXNzZW1ibGVkLiAgSWYgbm8gb2JqZWN0IGlzIHByb3ZpZGVkLCB0aGlzIGZ1bmN0aW9uIGRpc2Fzc2VtYmxlcyB0aGUgbGFzdAogICAgdHJhY2ViYWNrLgogCkBAIC0zNjQsNiArMzY0LDExIEBACiAgICBJbXBsZW1lbnRzIGBgVE9TID0gVE9TMSAqIFRPU2BgLgogCiAKKy4uIG9wY29kZTo6IEJJTkFSWV9NQVRSSVhfTVVMVElQTFkKKworICAgSW1wbGVtZW50cyBgYFRPUyA9IFRPUzEgQCBUT1NgYC4KKworCiAuLiBvcGNvZGU6OiBCSU5BUllfRkxPT1JfRElWSURFCiAKICAgIEltcGxlbWVudHMgYGBUT1MgPSBUT1MxIC8vIFRPU2BgLgpAQCAtNDM2LDYgKzQ0MSwxMSBAQAogICAgSW1wbGVtZW50cyBpbi1wbGFjZSBgYFRPUyA9IFRPUzEgKiBUT1NgYC4KIAogCisuLiBvcGNvZGU6OiBJTlBMQUNFX01BVFJJWF9NVUxUSVBMWQorCisgICBJbXBsZW1lbnRzIGluLXBsYWNlIGBgVE9TID0gVE9TMSBAIFRPU2BgLgorCisKIC4uIG9wY29kZTo6IElOUExBQ0VfRkxPT1JfRElWSURFCiAKICAgIEltcGxlbWVudHMgaW4tcGxhY2UgYGBUT1MgPSBUT1MxIC8vIFRPU2BgLgpkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvZG9jdGVzdC5yc3QgYi9Eb2MvbGlicmFyeS9kb2N0ZXN0LnJzdAppbmRleCAyZTM3MmRlLi45YWE5ZWE2IDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS9kb2N0ZXN0LnJzdAorKysgYi9Eb2MvbGlicmFyeS9kb2N0ZXN0LnJzdApAQCAtMTA1OCwxNSArMTA1OCw5IEBACiAKICAgIFRoaXMgZnVuY3Rpb24gdXNlcyB0aGUgc2FtZSBzZWFyY2ggdGVjaG5pcXVlIGFzIDpmdW5jOmB0ZXN0bW9kYC4KIAotICAgLi4gbm90ZTo6Ci0gICAgICBVbmxpa2UgOmZ1bmM6YHRlc3Rtb2RgIGFuZCA6Y2xhc3M6YERvY1Rlc3RGaW5kZXJgLCB0aGlzIGZ1bmN0aW9uIHJhaXNlcwotICAgICAgYSA6ZXhjOmBWYWx1ZUVycm9yYCBpZiAqbW9kdWxlKiBjb250YWlucyBubyBkb2NzdHJpbmdzLiAgWW91IGNhbiBwcmV2ZW50Ci0gICAgICB0aGlzIGVycm9yIGJ5IHBhc3NpbmcgYSA6Y2xhc3M6YERvY1Rlc3RGaW5kZXJgIGluc3RhbmNlIGFzIHRoZQotICAgICAgKnRlc3RfZmluZGVyKiBhcmd1bWVudCB3aXRoIGl0cyAqZXhjbHVkZV9lbXB0eSoga2V5d29yZCBhcmd1bWVudCBzZXQKLSAgICAgIHRvIGBgRmFsc2VgYDo6Ci0KLSAgICAgICAgID4+PiBmaW5kZXIgPSBkb2N0ZXN0LkRvY1Rlc3RGaW5kZXIoZXhjbHVkZV9lbXB0eT1GYWxzZSkKLSAgICAgICAgID4+PiBzdWl0ZSA9IGRvY3Rlc3QuRG9jVGVzdFN1aXRlKHRlc3RfZmluZGVyPWZpbmRlcikKKyAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy41CisgICAgICA6ZnVuYzpgRG9jVGVzdFN1aXRlYCByZXR1cm5zIGFuIGVtcHR5IDpjbGFzczpgdW5pdHRlc3QuVGVzdFN1aXRlYCBpZiAqbW9kdWxlKgorICAgICAgY29udGFpbnMgbm8gZG9jc3RyaW5ncyBpbnN0ZWFkIG9mIHJhaXNpbmcgOmV4YzpgVmFsdWVFcnJvcmAuCiAKIAogVW5kZXIgdGhlIGNvdmVycywgOmZ1bmM6YERvY1Rlc3RTdWl0ZWAgY3JlYXRlcyBhIDpjbGFzczpgdW5pdHRlc3QuVGVzdFN1aXRlYCBvdXQKZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L2VtYWlsLm1pbWUucnN0IGIvRG9jL2xpYnJhcnkvZW1haWwubWltZS5yc3QKaW5kZXggMWQ3MDIyNS4uNjdkMGE2NyAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvZW1haWwubWltZS5yc3QKKysrIGIvRG9jL2xpYnJhcnkvZW1haWwubWltZS5yc3QKQEAgLTE5NSw3ICsxOTUsOCBAQAogICAgc2V0IG9mIHRoZSB0ZXh0IGFuZCBpcyBwYXNzZWQgYXMgYW4gYXJndW1lbnQgdG8gdGhlCiAgICA6Y2xhc3M6YH5lbWFpbC5taW1lLm5vbm11bHRpcGFydC5NSU1FTm9uTXVsdGlwYXJ0YCBjb25zdHJ1Y3RvcjsgaXQgZGVmYXVsdHMKICAgIHRvIGBgdXMtYXNjaWlgYCBpZiB0aGUgc3RyaW5nIGNvbnRhaW5zIG9ubHkgYGBhc2NpaWBgIGNvZGUgcG9pbnRzLCBhbmQKLSAgIGBgdXRmLThgYCBvdGhlcndpc2UuCisgICBgYHV0Zi04YGAgb3RoZXJ3aXNlLiAgVGhlICpfY2hhcnNldCogcGFyYW1ldGVyIGFjY2VwdHMgZWl0aGVyIGEgc3RyaW5nIG9yIGEKKyAgIDpjbGFzczpgfmVtYWlsLmNoYXJzZXQuQ2hhcnNldGAgaW5zdGFuY2UuCiAKICAgIFVubGVzcyB0aGUgKl9jaGFyc2V0KiBhcmd1bWVudCBpcyBleHBsaWNpdGx5IHNldCB0byBgYE5vbmVgYCwgdGhlCiAgICBNSU1FVGV4dCBvYmplY3QgY3JlYXRlZCB3aWxsIGhhdmUgYm90aCBhIDptYWlsaGVhZGVyOmBDb250ZW50LVR5cGVgIGhlYWRlcgpAQCAtMjA2LDMgKzIwNyw2IEBACiAgICBgYENvbnRlbnQtVHJhbnNmZXItRW5jb2RpbmdgYCBoZWFkZXIsIGFmdGVyIHdoaWNoIGEgYGBzZXRfcGF5bG9hZGBgIGNhbGwKICAgIHdpbGwgYXV0b21hdGljYWxseSBlbmNvZGUgdGhlIG5ldyBwYXlsb2FkIChhbmQgYWRkIGEgbmV3CiAgICA6bWFpbGhlYWRlcjpgQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZ2AgaGVhZGVyKS4KKworICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjUKKyAgICAgICpfY2hhcnNldCogYWxzbyBhY2NlcHRzIDpjbGFzczpgfmVtYWlsLmNoYXJzZXQuQ2hhcnNldGAgaW5zdGFuY2VzLgpkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvZW51bS5yc3QgYi9Eb2MvbGlicmFyeS9lbnVtLnJzdAppbmRleCBjZjA5NTU5Li5kM2I4MzhjIDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS9lbnVtLnJzdAorKysgYi9Eb2MvbGlicmFyeS9lbnVtLnJzdApAQCAtMzE0LDExICszMTQsMTEgQEAKICAgICA+Pj4gc3RyKE1vb2QuZnVua3kpCiAgICAgJ215IGN1c3RvbSBzdHIhIDEnCiAKLVRoZSBydWxlcyBmb3Igd2hhdCBpcyBhbGxvd2VkIGFyZSBhcyBmb2xsb3dzOiBfc3VuZGVyXyBuYW1lcyAoc3RhcnRpbmcgYW5kCi1lbmRpbmcgd2l0aCBhIHNpbmdsZSB1bmRlcnNjb3JlKSBhcmUgcmVzZXJ2ZWQgYnkgZW51bSBhbmQgY2Fubm90IGJlIHVzZWQ7Ci1hbGwgb3RoZXIgYXR0cmlidXRlcyBkZWZpbmVkIHdpdGhpbiBhbiBlbnVtZXJhdGlvbiB3aWxsIGJlY29tZSBtZW1iZXJzIG9mIHRoaXMKLWVudW1lcmF0aW9uLCB3aXRoIHRoZSBleGNlcHRpb24gb2YgKl9fZHVuZGVyX18qIG5hbWVzIGFuZCBkZXNjcmlwdG9ycyAobWV0aG9kcwotYXJlIGFsc28gZGVzY3JpcHRvcnMpLgorVGhlIHJ1bGVzIGZvciB3aGF0IGlzIGFsbG93ZWQgYXJlIGFzIGZvbGxvd3M6IG5hbWVzIHRoYXQgc3RhcnQgYW5kIGVuZCB3aXRoIGEKK3dpdGggYSBzaW5nbGUgdW5kZXJzY29yZSBhcmUgcmVzZXJ2ZWQgYnkgZW51bSBhbmQgY2Fubm90IGJlIHVzZWQ7IGFsbCBvdGhlcgorYXR0cmlidXRlcyBkZWZpbmVkIHdpdGhpbiBhbiBlbnVtZXJhdGlvbiB3aWxsIGJlY29tZSBtZW1iZXJzIG9mIHRoaXMKK2VudW1lcmF0aW9uLCB3aXRoIHRoZSBleGNlcHRpb24gb2Ygc3BlY2lhbCBtZXRob2RzICg6bWV0aDpgX19zdHJfX2AsCis6bWV0aDpgX19hZGRfX2AsIGV0Yy4pIGFuZCBkZXNjcmlwdG9ycyAobWV0aG9kcyBhcmUgYWxzbyBkZXNjcmlwdG9ycykuCiAKIE5vdGU6ICBpZiB5b3VyIGVudW1lcmF0aW9uIGRlZmluZXMgOm1ldGg6YF9fbmV3X19gIGFuZC9vciA6bWV0aDpgX19pbml0X19gIHRoZW4KIHdoYXRldmVyIHZhbHVlKHMpIHdlcmUgZ2l2ZW4gdG8gdGhlIGVudW0gbWVtYmVyIHdpbGwgYmUgcGFzc2VkIGludG8gdGhvc2UKQEAgLTQwMCw3ICs0MDAsOCBAQAogd2hpdGVzcGFjZS1zZXBhcmF0ZWQgc3RyaW5nIG9mIG5hbWVzLCBhIHNlcXVlbmNlIG9mIG5hbWVzLCBhIHNlcXVlbmNlIG9mCiAyLXR1cGxlcyB3aXRoIGtleS92YWx1ZSBwYWlycywgb3IgYSBtYXBwaW5nIChlLmcuIGRpY3Rpb25hcnkpIG9mIG5hbWVzIHRvCiB2YWx1ZXMuICBUaGUgbGFzdCB0d28gb3B0aW9ucyBlbmFibGUgYXNzaWduaW5nIGFyYml0cmFyeSB2YWx1ZXMgdG8KLWVudW1lcmF0aW9uczsgdGhlIG90aGVycyBhdXRvLWFzc2lnbiBpbmNyZWFzaW5nIGludGVnZXJzIHN0YXJ0aW5nIHdpdGggMS4gIEEKK2VudW1lcmF0aW9uczsgdGhlIG90aGVycyBhdXRvLWFzc2lnbiBpbmNyZWFzaW5nIGludGVnZXJzIHN0YXJ0aW5nIHdpdGggMSAodXNlCit0aGUgYGBzdGFydGBgIHBhcmFtZXRlciB0byBzcGVjaWZ5IGEgZGlmZmVyZW50IHN0YXJ0aW5nIHZhbHVlKS4gIEEKIG5ldyBjbGFzcyBkZXJpdmVkIGZyb20gOmNsYXNzOmBFbnVtYCBpcyByZXR1cm5lZC4gIEluIG90aGVyIHdvcmRzLCB0aGUgYWJvdmUKIGFzc2lnbm1lbnQgdG8gOmNsYXNzOmBBbmltYWxgIGlzIGVxdWl2YWxlbnQgdG86OgogCkBAIC00MzgsMTIgKzQzOSwxMiBAQAogCiBUaGUgY29tcGxldGUgc2lnbmF0dXJlIGlzOjoKIAotICAgIEVudW0odmFsdWU9J05ld0VudW1OYW1lJywgbmFtZXM9PC4uLj4sICosIG1vZHVsZT0nLi4uJywgcXVhbG5hbWU9Jy4uLicsIHR5cGU9PG1peGVkLWluIGNsYXNzPikKKyAgICBFbnVtKHZhbHVlPSdOZXdFbnVtTmFtZScsIG5hbWVzPTwuLi4+LCAqLCBtb2R1bGU9Jy4uLicsIHF1YWxuYW1lPScuLi4nLCB0eXBlPTxtaXhlZC1pbiBjbGFzcz4sIHN0YXJ0PTEpCiAKIDp2YWx1ZTogV2hhdCB0aGUgbmV3IEVudW0gY2xhc3Mgd2lsbCByZWNvcmQgYXMgaXRzIG5hbWUuCiAKIDpuYW1lczogVGhlIEVudW0gbWVtYmVycy4gIFRoaXMgY2FuIGJlIGEgd2hpdGVzcGFjZSBvciBjb21tYSBzZXBhcmF0ZWQgc3RyaW5nCi0gICh2YWx1ZXMgd2lsbCBzdGFydCBhdCAxKTo6CisgICh2YWx1ZXMgd2lsbCBzdGFydCBhdCAxIHVubGVzcyBvdGhlcndpc2Ugc3BlY2lmaWVkKTo6CiAKICAgICAncmVkIGdyZWVuIGJsdWUnIHwgJ3JlZCxncmVlbixibHVlJyB8ICdyZWQsIGdyZWVuLCBibHVlJwogCkBAIC00NjUsNiArNDY2LDExIEBACiAKIDp0eXBlOiB0eXBlIHRvIG1peCBpbiB0byBuZXcgRW51bSBjbGFzcy4KIAorOnN0YXJ0OiBudW1iZXIgdG8gc3RhcnQgY291bnRpbmcgYXQgaWYgb25seSBuYW1lcyBhcmUgcGFzc2VkIGluCisKKy4uIHZlcnNpb25jaGFuZ2VkOjogMy41CisgICBUaGUgKnN0YXJ0KiBwYXJhbWV0ZXIgd2FzIGFkZGVkLgorCiAKIERlcml2ZWQgRW51bWVyYXRpb25zCiAtLS0tLS0tLS0tLS0tLS0tLS0tLQpkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvZm9ybWF0dGVyLnJzdCBiL0RvYy9saWJyYXJ5L2Zvcm1hdHRlci5yc3QKaW5kZXggMTg0N2E4MC4uYTUxNWY3NCAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvZm9ybWF0dGVyLnJzdAorKysgYi9Eb2MvbGlicmFyeS9mb3JtYXR0ZXIucnN0CkBAIC01LDcgKzUsNyBAQAogICAgOnN5bm9wc2lzOiBHZW5lcmljIG91dHB1dCBmb3JtYXR0ZXIgYW5kIGRldmljZSBpbnRlcmZhY2UuCiAgICA6ZGVwcmVjYXRlZDoKIAotLi4gZGVwcmVjYXRlZDo6IDMuNAorLi4gZGVwcmVjYXRlZC1yZW1vdmVkOjogMy40IDMuNgogICAgRHVlIHRvIGxhY2sgb2YgdXNhZ2UsIHRoZSBmb3JtYXR0ZXIgbW9kdWxlIGhhcyBiZWVuIGRlcHJlY2F0ZWQgYW5kIGlzIHNsYXRlZAogICAgZm9yIHJlbW92YWwgaW4gUHl0aG9uIDMuNi4KIApkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvZnVuY3Rpb25zLnJzdCBiL0RvYy9saWJyYXJ5L2Z1bmN0aW9ucy5yc3QKaW5kZXggZDllNWNmYi4uZWIyODUxMyAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvZnVuY3Rpb25zLnJzdAorKysgYi9Eb2MvbGlicmFyeS9mdW5jdGlvbnMucnN0CkBAIC0xNTYsMTEgKzE1NiwxMiBAQAogCiAuLiBmdW5jdGlvbjo6IGNocihpKQogCi0gICBSZXR1cm4gdGhlIHN0cmluZyByZXByZXNlbnRpbmcgYSBjaGFyYWN0ZXIgd2hvc2UgVW5pY29kZSBjb2RlIHBvaW50IGlzIHRoZSBpbnRlZ2VyCi0gICAqaSouICBGb3IgZXhhbXBsZSwgYGBjaHIoOTcpYGAgcmV0dXJucyB0aGUgc3RyaW5nIGBgJ2EnYGAuIFRoaXMgaXMgdGhlCi0gICBpbnZlcnNlIG9mIDpmdW5jOmBvcmRgLiAgVGhlIHZhbGlkIHJhbmdlIGZvciB0aGUgYXJndW1lbnQgaXMgZnJvbSAwIHRocm91Z2gKLSAgIDEsMTE0LDExMSAoMHgxMEZGRkYgaW4gYmFzZSAxNikuICA6ZXhjOmBWYWx1ZUVycm9yYCB3aWxsIGJlIHJhaXNlZCBpZiAqaSogaXMKLSAgIG91dHNpZGUgdGhhdCByYW5nZS4KKyAgIFJldHVybiB0aGUgc3RyaW5nIHJlcHJlc2VudGluZyBhIGNoYXJhY3RlciB3aG9zZSBVbmljb2RlIGNvZGUgcG9pbnQgaXMgdGhlCisgICBpbnRlZ2VyICppKi4gIEZvciBleGFtcGxlLCBgYGNocig5NylgYCByZXR1cm5zIHRoZSBzdHJpbmcgYGAnYSdgYCwgd2hpbGUKKyAgIGBgY2hyKDkzMSlgYCByZXR1cm5zIHRoZSBzdHJpbmcgYGAnzqMnYGAuIFRoaXMgaXMgdGhlIGludmVyc2Ugb2YgOmZ1bmM6YG9yZGAuCisKKyAgIFRoZSB2YWxpZCByYW5nZSBmb3IgdGhlIGFyZ3VtZW50IGlzIGZyb20gMCB0aHJvdWdoIDEsMTE0LDExMSAoMHgxMEZGRkYgaW4KKyAgIGJhc2UgMTYpLiAgOmV4YzpgVmFsdWVFcnJvcmAgd2lsbCBiZSByYWlzZWQgaWYgKmkqIGlzIG91dHNpZGUgdGhhdCByYW5nZS4KIAogCiAuLiBmdW5jdGlvbjo6IGNsYXNzbWV0aG9kKGZ1bmN0aW9uKQpAQCAtOTcyLDkgKzk3MywxMSBAQAogICAgICBDaGFyYWN0ZXJzIG5vdCBzdXBwb3J0ZWQgYnkgdGhlIGVuY29kaW5nIGFyZSByZXBsYWNlZCB3aXRoIHRoZQogICAgICBhcHByb3ByaWF0ZSBYTUwgY2hhcmFjdGVyIHJlZmVyZW5jZSBgYCYjbm5uO2BgLgogCi0gICAqIGBgJ2JhY2tzbGFzaHJlcGxhY2UnYGAgKGFsc28gb25seSBzdXBwb3J0ZWQgd2hlbiB3cml0aW5nKQotICAgICByZXBsYWNlcyB1bnN1cHBvcnRlZCBjaGFyYWN0ZXJzIHdpdGggUHl0aG9uJ3MgYmFja3NsYXNoZWQgZXNjYXBlCi0gICAgIHNlcXVlbmNlcy4KKyAgICogYGAnYmFja3NsYXNocmVwbGFjZSdgYCByZXBsYWNlcyBtYWxmb3JtZWQgZGF0YSBieSBQeXRob24ncyBiYWNrc2xhc2hlZAorICAgICBlc2NhcGUgc2VxdWVuY2VzLgorCisgICAqIGBgJ25hbWVyZXBsYWNlJ2BgIChhbHNvIG9ubHkgc3VwcG9ydGVkIHdoZW4gd3JpdGluZykKKyAgICAgcmVwbGFjZXMgdW5zdXBwb3J0ZWQgY2hhcmFjdGVycyB3aXRoIGBgXE57Li4ufWBgIGVzY2FwZSBzZXF1ZW5jZXMuCiAKICAgIC4uIGluZGV4OjoKICAgICAgIHNpbmdsZTogdW5pdmVyc2FsIG5ld2xpbmVzOyBvcGVuKCkgYnVpbHQtaW4gZnVuY3Rpb24KQEAgLTk5OSw4ICsxMDAyLDggQEAKIAogICAgSWYgKmNsb3NlZmQqIGlzIGBgRmFsc2VgYCBhbmQgYSBmaWxlIGRlc2NyaXB0b3IgcmF0aGVyIHRoYW4gYSBmaWxlbmFtZSB3YXMKICAgIGdpdmVuLCB0aGUgdW5kZXJseWluZyBmaWxlIGRlc2NyaXB0b3Igd2lsbCBiZSBrZXB0IG9wZW4gd2hlbiB0aGUgZmlsZSBpcwotICAgY2xvc2VkLiAgSWYgYSBmaWxlbmFtZSBpcyBnaXZlbiAqY2xvc2VmZCogaGFzIG5vIGVmZmVjdCBhbmQgbXVzdCBiZSBgYFRydWVgYAotICAgKHRoZSBkZWZhdWx0KS4KKyAgIGNsb3NlZC4gIElmIGEgZmlsZW5hbWUgaXMgZ2l2ZW4gKmNsb3NlZmQqIG11c3QgYmUgYGBUcnVlYGAgKHRoZSBkZWZhdWx0KQorICAgb3RoZXJ3aXNlIGFuIGVycm9yIHdpbGwgYmUgcmFpc2VkLgogCiAgICBBIGN1c3RvbSBvcGVuZXIgY2FuIGJlIHVzZWQgYnkgcGFzc2luZyBhIGNhbGxhYmxlIGFzICpvcGVuZXIqLiBUaGUgdW5kZXJseWluZwogICAgZmlsZSBkZXNjcmlwdG9yIGZvciB0aGUgZmlsZSBvYmplY3QgaXMgdGhlbiBvYnRhaW5lZCBieSBjYWxsaW5nICpvcGVuZXIqIHdpdGgKQEAgLTEwNjMsMTMgKzEwNjYsMTIgQEAKICAgICAgIFRoZSBgYCdVJ2BgIG1vZGUuCiAKIAotLi4gWFhYIHdvcmtzIGZvciBieXRlcyB0b28sIGJ1dCBzaG91bGQgaXQ/CiAuLiBmdW5jdGlvbjo6IG9yZChjKQogCiAgICBHaXZlbiBhIHN0cmluZyByZXByZXNlbnRpbmcgb25lIFVuaWNvZGUgY2hhcmFjdGVyLCByZXR1cm4gYW4gaW50ZWdlcgotICAgcmVwcmVzZW50aW5nIHRoZSBVbmljb2RlIGNvZGUKLSAgIHBvaW50IG9mIHRoYXQgY2hhcmFjdGVyLiAgRm9yIGV4YW1wbGUsIGBgb3JkKCdhJylgYCByZXR1cm5zIHRoZSBpbnRlZ2VyIGBgOTdgYAotICAgYW5kIGBgb3JkKCdcdTIwMjAnKWBgIHJldHVybnMgYGA4MjI0YGAuICBUaGlzIGlzIHRoZSBpbnZlcnNlIG9mIDpmdW5jOmBjaHJgLgorICAgcmVwcmVzZW50aW5nIHRoZSBVbmljb2RlIGNvZGUgcG9pbnQgb2YgdGhhdCBjaGFyYWN0ZXIuICBGb3IgZXhhbXBsZSwKKyAgIGBgb3JkKCdhJylgYCByZXR1cm5zIHRoZSBpbnRlZ2VyIGBgOTdgYCBhbmQgYGBvcmQoJ86jJylgYCByZXR1cm5zIGBgOTMxYGAuCisgICBUaGlzIGlzIHRoZSBpbnZlcnNlIG9mIDpmdW5jOmBjaHJgLgogCiAKIC4uIGZ1bmN0aW9uOjogcG93KHgsIHlbLCB6XSkKZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L2djLnJzdCBiL0RvYy9saWJyYXJ5L2djLnJzdAppbmRleCA4MTM1NTQyLi5kMTFjMmUxIDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS9nYy5yc3QKKysrIGIvRG9jL2xpYnJhcnkvZ2MucnN0CkBAIC0xODYsNyArMTg2LDcgQEAKICAgIGFkZGVkIHRvIHRoaXMgbGlzdCByYXRoZXIgdGhhbiBmcmVlZC4KIAogICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjIKLSAgICAgIElmIHRoaXMgbGlzdCBpcyBub24tZW1wdHkgYXQgaW50ZXJwcmV0ZXIgc2h1dGRvd24sIGEKKyAgICAgIElmIHRoaXMgbGlzdCBpcyBub24tZW1wdHkgYXQgOnRlcm06YGludGVycHJldGVyIHNodXRkb3duYCwgYQogICAgICAgOmV4YzpgUmVzb3VyY2VXYXJuaW5nYCBpcyBlbWl0dGVkLCB3aGljaCBpcyBzaWxlbnQgYnkgZGVmYXVsdC4gIElmCiAgICAgICA6Y29uc3Q6YERFQlVHX1VOQ09MTEVDVEFCTEVgIGlzIHNldCwgaW4gYWRkaXRpb24gYWxsIHVuY29sbGVjdGFibGUgb2JqZWN0cwogICAgICAgYXJlIHByaW50ZWQuCkBAIC0yNTIsOCArMjUyLDggQEAKICAgIHRvIHRoZSBgYGdhcmJhZ2VgYCBsaXN0LgogCiAgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuMgotICAgICAgQWxzbyBwcmludCB0aGUgY29udGVudHMgb2YgdGhlIDpkYXRhOmBnYXJiYWdlYCBsaXN0IGF0IGludGVycHJldGVyCi0gICAgICBzaHV0ZG93biwgaWYgaXQgaXNuJ3QgZW1wdHkuCisgICAgICBBbHNvIHByaW50IHRoZSBjb250ZW50cyBvZiB0aGUgOmRhdGE6YGdhcmJhZ2VgIGxpc3QgYXQKKyAgICAgIDp0ZXJtOmBpbnRlcnByZXRlciBzaHV0ZG93bmAsIGlmIGl0IGlzbid0IGVtcHR5LgogCiAuLiBkYXRhOjogREVCVUdfU0FWRUFMTAogCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS9nZXR0ZXh0LnJzdCBiL0RvYy9saWJyYXJ5L2dldHRleHQucnN0CmluZGV4IGZmMjNiNTkuLjUxNGNjNWEgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L2dldHRleHQucnN0CisrKyBiL0RvYy9saWJyYXJ5L2dldHRleHQucnN0CkBAIC0zNDQsOSArMzQ0LDkgQEAKIFRoZSBlbnRpcmUgc2V0IG9mIGtleS92YWx1ZSBwYWlycyBhcmUgcGxhY2VkIGludG8gYSBkaWN0aW9uYXJ5IGFuZCBzZXQgYXMgdGhlCiAicHJvdGVjdGVkIiA6YXR0cjpgX2luZm9gIGluc3RhbmNlIHZhcmlhYmxlLgogCi1JZiB0aGUgOmZpbGU6YC5tb2AgZmlsZSdzIG1hZ2ljIG51bWJlciBpcyBpbnZhbGlkLCBvciBpZiBvdGhlciBwcm9ibGVtcyBvY2N1cgotd2hpbGUgcmVhZGluZyB0aGUgZmlsZSwgaW5zdGFudGlhdGluZyBhIDpjbGFzczpgR05VVHJhbnNsYXRpb25zYCBjbGFzcyBjYW4gcmFpc2UKLTpleGM6YE9TRXJyb3JgLgorSWYgdGhlIDpmaWxlOmAubW9gIGZpbGUncyBtYWdpYyBudW1iZXIgaXMgaW52YWxpZCwgdGhlIG1ham9yIHZlcnNpb24gbnVtYmVyIGlzCit1bmV4cGVjdGVkLCBvciBpZiBvdGhlciBwcm9ibGVtcyBvY2N1ciB3aGlsZSByZWFkaW5nIHRoZSBmaWxlLCBpbnN0YW50aWF0aW5nIGEKKzpjbGFzczpgR05VVHJhbnNsYXRpb25zYCBjbGFzcyBjYW4gcmFpc2UgOmV4YzpgT1NFcnJvcmAuCiAKIFRoZSBmb2xsb3dpbmcgbWV0aG9kcyBhcmUgb3ZlcnJpZGRlbiBmcm9tIHRoZSBiYXNlIGNsYXNzIGltcGxlbWVudGF0aW9uOgogCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS9nbG9iLnJzdCBiL0RvYy9saWJyYXJ5L2dsb2IucnN0CmluZGV4IGFiY2JmMzguLjUwZjM4YTQgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L2dsb2IucnN0CisrKyBiL0RvYy9saWJyYXJ5L2dsb2IucnN0CkBAIC0yOSw3ICsyOSw3IEBACiAgICBUaGUgOm1vZDpgcGF0aGxpYmAgbW9kdWxlIG9mZmVycyBoaWdoLWxldmVsIHBhdGggb2JqZWN0cy4KIAogCi0uLiBmdW5jdGlvbjo6IGdsb2IocGF0aG5hbWUpCisuLiBmdW5jdGlvbjo6IGdsb2IocGF0aG5hbWUsICosIHJlY3Vyc2l2ZT1GYWxzZSkKIAogICAgUmV0dXJuIGEgcG9zc2libHktZW1wdHkgbGlzdCBvZiBwYXRoIG5hbWVzIHRoYXQgbWF0Y2ggKnBhdGhuYW1lKiwgd2hpY2ggbXVzdCBiZQogICAgYSBzdHJpbmcgY29udGFpbmluZyBhIHBhdGggc3BlY2lmaWNhdGlvbi4gKnBhdGhuYW1lKiBjYW4gYmUgZWl0aGVyIGFic29sdXRlCkBAIC0zNyw4ICszNywxOSBAQAogICAgOmZpbGU6YC4uLy4uL1Rvb2xzL1wqL1wqLmdpZmApLCBhbmQgY2FuIGNvbnRhaW4gc2hlbGwtc3R5bGUgd2lsZGNhcmRzLiBCcm9rZW4KICAgIHN5bWxpbmtzIGFyZSBpbmNsdWRlZCBpbiB0aGUgcmVzdWx0cyAoYXMgaW4gdGhlIHNoZWxsKS4KIAorICAgSWYgKnJlY3Vyc2l2ZSogaXMgdHJ1ZSwgdGhlIHBhdHRlcm4gImBgKipgYCIgd2lsbCBtYXRjaCBhbnkgZmlsZXMgYW5kIHplcm8gb3IKKyAgIG1vcmUgZGlyZWN0b3JpZXMgYW5kIHN1YmRpcmVjdG9yaWVzLiAgSWYgdGhlIHBhdHRlcm4gaXMgZm9sbG93ZWQgYnkgYQorICAgYGBvcy5zZXBgYCwgb25seSBkaXJlY3RvcmllcyBhbmQgc3ViZGlyZWN0b3JpZXMgbWF0Y2guCiAKLS4uIGZ1bmN0aW9uOjogaWdsb2IocGF0aG5hbWUpCisgICAuLiBub3RlOjoKKyAgICAgIFVzaW5nIHRoZSAiYGAqKmBgIiBwYXR0ZXJuIGluIGxhcmdlIGRpcmVjdG9yeSB0cmVlcyBtYXkgY29uc3VtZQorICAgICAgYW4gaW5vcmRpbmF0ZSBhbW91bnQgb2YgdGltZS4KKworICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjUKKyAgICAgIFN1cHBvcnQgZm9yIHJlY3Vyc2l2ZSBnbG9icyB1c2luZyAiYGAqKmBgIi4KKworCisuLiBmdW5jdGlvbjo6IGlnbG9iKHBhdGhuYW1lLCByZWN1cnNpdmU9RmFsc2UpCiAKICAgIFJldHVybiBhbiA6dGVybTpgaXRlcmF0b3JgIHdoaWNoIHlpZWxkcyB0aGUgc2FtZSB2YWx1ZXMgYXMgOmZ1bmM6YGdsb2JgCiAgICB3aXRob3V0IGFjdHVhbGx5IHN0b3JpbmcgdGhlbSBhbGwgc2ltdWx0YW5lb3VzbHkuCkBAIC01NSw4ICs2Niw5IEBACiAgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjQKIAogCi1Gb3IgZXhhbXBsZSwgY29uc2lkZXIgYSBkaXJlY3RvcnkgY29udGFpbmluZyBvbmx5IHRoZSBmb2xsb3dpbmcgZmlsZXM6Ci06ZmlsZTpgMS5naWZgLCA6ZmlsZTpgMi50eHRgLCBhbmQgOmZpbGU6YGNhcmQuZ2lmYC4gIDpmdW5jOmBnbG9iYCB3aWxsIHByb2R1Y2UKK0ZvciBleGFtcGxlLCBjb25zaWRlciBhIGRpcmVjdG9yeSBjb250YWluaW5nIHRoZSBmb2xsb3dpbmcgZmlsZXM6Cis6ZmlsZTpgMS5naWZgLCA6ZmlsZTpgMi50eHRgLCA6ZmlsZTpgY2FyZC5naWZgIGFuZCBhIHN1YmRpcmVjdG9yeSA6ZmlsZTpgc3ViYAord2hpY2ggY29udGFpbnMgb25seSB0aGUgZmlsZSA6ZmlsZTpgMy50eHRgLiAgOmZ1bmM6YGdsb2JgIHdpbGwgcHJvZHVjZQogdGhlIGZvbGxvd2luZyByZXN1bHRzLiAgTm90aWNlIGhvdyBhbnkgbGVhZGluZyBjb21wb25lbnRzIG9mIHRoZSBwYXRoIGFyZQogcHJlc2VydmVkLiA6OgogCkBAIC02Nyw2ICs3OSwxMCBAQAogICAgWycxLmdpZicsICdjYXJkLmdpZiddCiAgICA+Pj4gZ2xvYi5nbG9iKCc/LmdpZicpCiAgICBbJzEuZ2lmJ10KKyAgID4+PiBnbG9iLmdsb2IoJyoqLyoudHh0JywgcmVjdXJzaXZlPVRydWUpCisgICBbJzIudHh0JywgJ3N1Yi8zLnR4dCddCisgICA+Pj4gZ2xvYi5nbG9iKCcuLyoqLycsIHJlY3Vyc2l2ZT1UcnVlKQorICAgWycuLycsICcuL3N1Yi8nXQogCiBJZiB0aGUgZGlyZWN0b3J5IGNvbnRhaW5zIGZpbGVzIHN0YXJ0aW5nIHdpdGggYGAuYGAgdGhleSB3b24ndCBiZSBtYXRjaGVkIGJ5CiBkZWZhdWx0LiBGb3IgZXhhbXBsZSwgY29uc2lkZXIgYSBkaXJlY3RvcnkgY29udGFpbmluZyA6ZmlsZTpgY2FyZC5naWZgIGFuZApkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvaGVhcHEucnN0IGIvRG9jL2xpYnJhcnkvaGVhcHEucnN0CmluZGV4IDQzMDg4YWQuLjk2ODJiNTkgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L2hlYXBxLnJzdAorKysgYi9Eb2MvbGlicmFyeS9oZWFwcS5yc3QKQEAgLTgxLDcgKzgxLDcgQEAKIFRoZSBtb2R1bGUgYWxzbyBvZmZlcnMgdGhyZWUgZ2VuZXJhbCBwdXJwb3NlIGZ1bmN0aW9ucyBiYXNlZCBvbiBoZWFwcy4KIAogCi0uLiBmdW5jdGlvbjo6IG1lcmdlKCppdGVyYWJsZXMpCisuLiBmdW5jdGlvbjo6IG1lcmdlKCppdGVyYWJsZXMsIGtleT1Ob25lLCByZXZlcnNlPUZhbHNlKQogCiAgICBNZXJnZSBtdWx0aXBsZSBzb3J0ZWQgaW5wdXRzIGludG8gYSBzaW5nbGUgc29ydGVkIG91dHB1dCAoZm9yIGV4YW1wbGUsIG1lcmdlCiAgICB0aW1lc3RhbXBlZCBlbnRyaWVzIGZyb20gbXVsdGlwbGUgbG9nIGZpbGVzKS4gIFJldHVybnMgYW4gOnRlcm06YGl0ZXJhdG9yYApAQCAtOTEsNiArOTEsMTggQEAKICAgIG5vdCBwdWxsIHRoZSBkYXRhIGludG8gbWVtb3J5IGFsbCBhdCBvbmNlLCBhbmQgYXNzdW1lcyB0aGF0IGVhY2ggb2YgdGhlIGlucHV0CiAgICBzdHJlYW1zIGlzIGFscmVhZHkgc29ydGVkIChzbWFsbGVzdCB0byBsYXJnZXN0KS4KIAorICAgSGFzIHR3byBvcHRpb25hbCBhcmd1bWVudHMgd2hpY2ggbXVzdCBiZSBzcGVjaWZpZWQgYXMga2V5d29yZCBhcmd1bWVudHMuCisKKyAgICprZXkqIHNwZWNpZmllcyBhIDp0ZXJtOmBrZXkgZnVuY3Rpb25gIG9mIG9uZSBhcmd1bWVudCB0aGF0IGlzIHVzZWQgdG8KKyAgIGV4dHJhY3QgYSBjb21wYXJpc29uIGtleSBmcm9tIGVhY2ggaW5wdXQgZWxlbWVudC4gIFRoZSBkZWZhdWx0IHZhbHVlIGlzCisgICBgYE5vbmVgYCAoY29tcGFyZSB0aGUgZWxlbWVudHMgZGlyZWN0bHkpLgorCisgICAqcmV2ZXJzZSogaXMgYSBib29sZWFuIHZhbHVlLiAgSWYgc2V0IHRvIGBgVHJ1ZWBgLCB0aGVuIHRoZSBpbnB1dCBlbGVtZW50cworICAgYXJlIG1lcmdlZCBhcyBpZiBlYWNoIGNvbXBhcmlzb24gd2VyZSByZXZlcnNlZC4KKworICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjUKKyAgICAgIEFkZGVkIHRoZSBvcHRpb25hbCAqa2V5KiBhbmQgKnJldmVyc2UqIHBhcmFtZXRlcnMuCisKIAogLi4gZnVuY3Rpb246OiBubGFyZ2VzdChuLCBpdGVyYWJsZSwga2V5PU5vbmUpCiAKZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L2h0bWwucGFyc2VyLnJzdCBiL0RvYy9saWJyYXJ5L2h0bWwucGFyc2VyLnJzdAppbmRleCA0NGI3ZDZlLi5iODRjNjBiIDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS9odG1sLnBhcnNlci5yc3QKKysrIGIvRG9jL2xpYnJhcnkvaHRtbC5wYXJzZXIucnN0CkBAIC0xNiwyMSArMTYsMTMgQEAKIFRoaXMgbW9kdWxlIGRlZmluZXMgYSBjbGFzcyA6Y2xhc3M6YEhUTUxQYXJzZXJgIHdoaWNoIHNlcnZlcyBhcyB0aGUgYmFzaXMgZm9yCiBwYXJzaW5nIHRleHQgZmlsZXMgZm9ybWF0dGVkIGluIEhUTUwgKEh5cGVyVGV4dCBNYXJrLXVwIExhbmd1YWdlKSBhbmQgWEhUTUwuCiAKLS4uIGNsYXNzOjogSFRNTFBhcnNlcihzdHJpY3Q9RmFsc2UsICosIGNvbnZlcnRfY2hhcnJlZnM9RmFsc2UpCisuLiBjbGFzczo6IEhUTUxQYXJzZXIoKiwgY29udmVydF9jaGFycmVmcz1UcnVlKQogCi0gICBDcmVhdGUgYSBwYXJzZXIgaW5zdGFuY2UuCisgICBDcmVhdGUgYSBwYXJzZXIgaW5zdGFuY2UgYWJsZSB0byBwYXJzZSBpbnZhbGlkIG1hcmt1cC4KIAotICAgSWYgKmNvbnZlcnRfY2hhcnJlZnMqIGlzIGBgVHJ1ZWBgIChkZWZhdWx0OiBgYEZhbHNlYGApLCBhbGwgY2hhcmFjdGVyCisgICBJZiAqY29udmVydF9jaGFycmVmcyogaXMgYGBUcnVlYGAgKHRoZSBkZWZhdWx0KSwgYWxsIGNoYXJhY3RlcgogICAgcmVmZXJlbmNlcyAoZXhjZXB0IHRoZSBvbmVzIGluIGBgc2NyaXB0YGAvYGBzdHlsZWBgIGVsZW1lbnRzKSBhcmUKICAgIGF1dG9tYXRpY2FsbHkgY29udmVydGVkIHRvIHRoZSBjb3JyZXNwb25kaW5nIFVuaWNvZGUgY2hhcmFjdGVycy4KLSAgIFRoZSB1c2Ugb2YgYGBjb252ZXJ0X2NoYXJyZWZzPVRydWVgYCBpcyBlbmNvdXJhZ2VkIGFuZCB3aWxsIGJlY29tZQotICAgdGhlIGRlZmF1bHQgaW4gUHl0aG9uIDMuNS4KLQotICAgSWYgKnN0cmljdCogaXMgYGBGYWxzZWBgICh0aGUgZGVmYXVsdCksIHRoZSBwYXJzZXIgd2lsbCBhY2NlcHQgYW5kIHBhcnNlCi0gICBpbnZhbGlkIG1hcmt1cC4gIElmICpzdHJpY3QqIGlzIGBgVHJ1ZWBgIHRoZSBwYXJzZXIgd2lsbCByYWlzZSBhbgotICAgOmV4Yzpgfmh0bWwucGFyc2VyLkhUTUxQYXJzZUVycm9yYCBleGNlcHRpb24gaW5zdGVhZCBbI11fIHdoZW4gaXQncyBub3QKLSAgIGFibGUgdG8gcGFyc2UgdGhlIG1hcmt1cC4gIFRoZSB1c2Ugb2YgYGBzdHJpY3Q9VHJ1ZWBgIGlzIGRpc2NvdXJhZ2VkIGFuZAotICAgdGhlICpzdHJpY3QqIGFyZ3VtZW50IGlzIGRlcHJlY2F0ZWQuCiAKICAgIEFuIDpjbGFzczpgLkhUTUxQYXJzZXJgIGluc3RhbmNlIGlzIGZlZCBIVE1MIGRhdGEgYW5kIGNhbGxzIGhhbmRsZXIgbWV0aG9kcwogICAgd2hlbiBzdGFydCB0YWdzLCBlbmQgdGFncywgdGV4dCwgY29tbWVudHMsIGFuZCBvdGhlciBtYXJrdXAgZWxlbWVudHMgYXJlCkBAIC00MCwzMSArMzIsMTEgQEAKICAgIFRoaXMgcGFyc2VyIGRvZXMgbm90IGNoZWNrIHRoYXQgZW5kIHRhZ3MgbWF0Y2ggc3RhcnQgdGFncyBvciBjYWxsIHRoZSBlbmQtdGFnCiAgICBoYW5kbGVyIGZvciBlbGVtZW50cyB3aGljaCBhcmUgY2xvc2VkIGltcGxpY2l0bHkgYnkgY2xvc2luZyBhbiBvdXRlciBlbGVtZW50LgogCi0gICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuMgotICAgICAgKnN0cmljdCogYXJndW1lbnQgYWRkZWQuCi0KLSAgIC4uIGRlcHJlY2F0ZWQtcmVtb3ZlZDo6IDMuMyAzLjUKLSAgICAgIFRoZSAqc3RyaWN0KiBhcmd1bWVudCBhbmQgdGhlIHN0cmljdCBtb2RlIGhhdmUgYmVlbiBkZXByZWNhdGVkLgotICAgICAgVGhlIHBhcnNlciBpcyBub3cgYWJsZSB0byBhY2NlcHQgYW5kIHBhcnNlIGludmFsaWQgbWFya3VwIHRvby4KLQogICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjQKICAgICAgICpjb252ZXJ0X2NoYXJyZWZzKiBrZXl3b3JkIGFyZ3VtZW50IGFkZGVkLgogCi1BbiBleGNlcHRpb24gaXMgZGVmaW5lZCBhcyB3ZWxsOgotCi0KLS4uIGV4Y2VwdGlvbjo6IEhUTUxQYXJzZUVycm9yCi0KLSAgIEV4Y2VwdGlvbiByYWlzZWQgYnkgdGhlIDpjbGFzczpgSFRNTFBhcnNlcmAgY2xhc3Mgd2hlbiBpdCBlbmNvdW50ZXJzIGFuIGVycm9yCi0gICB3aGlsZSBwYXJzaW5nIGFuZCAqc3RyaWN0KiBpcyBgYFRydWVgYC4gIFRoaXMgZXhjZXB0aW9uIHByb3ZpZGVzIHRocmVlCi0gICBhdHRyaWJ1dGVzOiA6YXR0cjpgbXNnYCBpcyBhIGJyaWVmIG1lc3NhZ2UgZXhwbGFpbmluZyB0aGUgZXJyb3IsCi0gICA6YXR0cjpgbGluZW5vYCBpcyB0aGUgbnVtYmVyIG9mIHRoZSBsaW5lIG9uIHdoaWNoIHRoZSBicm9rZW4gY29uc3RydWN0IHdhcwotICAgZGV0ZWN0ZWQsIGFuZCA6YXR0cjpgb2Zmc2V0YCBpcyB0aGUgbnVtYmVyIG9mIGNoYXJhY3RlcnMgaW50byB0aGUgbGluZSBhdAotICAgd2hpY2ggdGhlIGNvbnN0cnVjdCBzdGFydHMuCi0KLSAgIC4uIGRlcHJlY2F0ZWQtcmVtb3ZlZDo6IDMuMyAzLjUKLSAgICAgIFRoaXMgZXhjZXB0aW9uIGhhcyBiZWVuIGRlcHJlY2F0ZWQgYmVjYXVzZSBpdCdzIG5ldmVyIHJhaXNlZCBieSB0aGUgcGFyc2VyCi0gICAgICAod2hlbiB0aGUgZGVmYXVsdCBub24tc3RyaWN0IG1vZGUgaXMgdXNlZCkuCisgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuNQorICAgICAgVGhlIGRlZmF1bHQgdmFsdWUgZm9yIGFyZ3VtZW50ICpjb252ZXJ0X2NoYXJyZWZzKiBpcyBub3cgYGBUcnVlYGAuCiAKIAogRXhhbXBsZSBIVE1MIFBhcnNlciBBcHBsaWNhdGlvbgpAQCAtMjQ2LDggKzIxOCw3IEBACiAKICAgIFRoZSAqZGF0YSogcGFyYW1ldGVyIHdpbGwgYmUgdGhlIGVudGlyZSBjb250ZW50cyBvZiB0aGUgZGVjbGFyYXRpb24gaW5zaWRlCiAgICB0aGUgYGA8IVsuLi5dPmBgIG1hcmt1cC4gIEl0IGlzIHNvbWV0aW1lcyB1c2VmdWwgdG8gYmUgb3ZlcnJpZGRlbiBieSBhCi0gICBkZXJpdmVkIGNsYXNzLiAgVGhlIGJhc2UgY2xhc3MgaW1wbGVtZW50YXRpb24gcmFpc2VzIGFuIDpleGM6YEhUTUxQYXJzZUVycm9yYAotICAgd2hlbiAqc3RyaWN0KiBpcyBgYFRydWVgYC4KKyAgIGRlcml2ZWQgY2xhc3MuICBUaGUgYmFzZSBjbGFzcyBpbXBsZW1lbnRhdGlvbiBkb2VzIG5vdGhpbmcuCiAKIAogLi4gX2h0bWxwYXJzZXItZXhhbXBsZXM6CkBAIC0zNTgsOSArMzI5LDMgQEAKICAgIERhdGEgICAgIDogdGFnIHNvdXAKICAgIEVuZCB0YWcgIDogcAogICAgRW5kIHRhZyAgOiBhCi0KLS4uIHJ1YnJpYzo6IEZvb3Rub3RlcwotCi0uLiBbI10gRm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgcmVhc29ucyAqc3RyaWN0KiBtb2RlIGRvZXMgbm90IHJhaXNlCi0gICAgICAgZXhjZXB0aW9ucyBmb3IgYWxsIG5vbi1jb21wbGlhbnQgSFRNTC4gIFRoYXQgaXMsIHNvbWUgaW52YWxpZCBIVE1MCi0gICAgICAgaXMgdG9sZXJhdGVkIGV2ZW4gaW4gKnN0cmljdCogbW9kZS4KZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L2h0dHAuY2xpZW50LnJzdCBiL0RvYy9saWJyYXJ5L2h0dHAuY2xpZW50LnJzdAppbmRleCBiNmU3OGI1Li41ZTI3YTM2IDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS9odHRwLmNsaWVudC5yc3QKKysrIGIvRG9jL2xpYnJhcnkvaHR0cC5jbGllbnQucnN0CkBAIC0xODYsMjIxICsxODYsMTUgQEAKIAogICAgVGhlIGRlZmF1bHQgcG9ydCBmb3IgdGhlIEhUVFBTIHByb3RvY29sIChhbHdheXMgYGA0NDNgYCkuCiAKLWFuZCBhbHNvIHRoZSBmb2xsb3dpbmcgY29uc3RhbnRzIGZvciBpbnRlZ2VyIHN0YXR1cyBjb2RlczoKLQotKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCi18IENvbnN0YW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBWYWx1ZSAgIHwgRGVmaW5pdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKLSs9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0rPT09PT09PT09Kz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09KwotfCA6Y29uc3Q6YENPTlRJTlVFYCAgICAgICAgICAgICAgICAgICAgICAgIHwgYGAxMDBgYCB8IEhUVFAvMS4xLCBgUkZDIDI2MTYsIFNlY3Rpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci18ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgIHwgMTAuMS4xICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKLXwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgfCA8aHR0cDovL3d3dy53My5vcmcvUHJvdG9jb2xzL3JmYzI2MTYvcmZjMjYxNi1zZWMxMC5odG1sI3NlYzEwLjEuMT5gXyAgfAotKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCi18IDpjb25zdDpgU1dJVENISU5HX1BST1RPQ09MU2AgICAgICAgICAgICAgfCBgYDEwMWBgIHwgSFRUUC8xLjEsIGBSRkMgMjYxNiwgU2VjdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKLXwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgfCAxMC4xLjIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAotfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICB8IDxodHRwOi8vd3d3LnczLm9yZy9Qcm90b2NvbHMvcmZjMjYxNi9yZmMyNjE2LXNlYzEwLmh0bWwjc2VjMTAuMS4yPmBfICB8Ci0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKLXwgOmNvbnN0OmBQUk9DRVNTSU5HYCAgICAgICAgICAgICAgICAgICAgICB8IGBgMTAyYGAgfCBXRUJEQVYsIGBSRkMgMjUxOCwgU2VjdGlvbiAxMC4xICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAotfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICB8IDxodHRwOi8vd3d3LndlYmRhdi5vcmcvc3BlY3MvcmZjMjUxOC5odG1sI1NUQVRVU18xMDI+YF8gICAgICAgICAgICAgICB8Ci0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKLXwgOmNvbnN0OmBPS2AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGBgMjAwYGAgfCBIVFRQLzEuMSwgYFJGQyAyNjE2LCBTZWN0aW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAotfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICB8IDEwLjIuMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci18ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgIHwgPGh0dHA6Ly93d3cudzMub3JnL1Byb3RvY29scy9yZmMyNjE2L3JmYzI2MTYtc2VjMTAuaHRtbCNzZWMxMC4yLjE+YF8gIHwKLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwotfCA6Y29uc3Q6YENSRUFURURgICAgICAgICAgICAgICAgICAgICAgICAgIHwgYGAyMDFgYCB8IEhUVFAvMS4xLCBgUkZDIDI2MTYsIFNlY3Rpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci18ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgIHwgMTAuMi4yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKLXwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgfCA8aHR0cDovL3d3dy53My5vcmcvUHJvdG9jb2xzL3JmYzI2MTYvcmZjMjYxNi1zZWMxMC5odG1sI3NlYzEwLjIuMj5gXyAgfAotKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCi18IDpjb25zdDpgQUNDRVBURURgICAgICAgICAgICAgICAgICAgICAgICAgfCBgYDIwMmBgIHwgSFRUUC8xLjEsIGBSRkMgMjYxNiwgU2VjdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKLXwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgfCAxMC4yLjMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAotfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICB8IDxodHRwOi8vd3d3LnczLm9yZy9Qcm90b2NvbHMvcmZjMjYxNi9yZmMyNjE2LXNlYzEwLmh0bWwjc2VjMTAuMi4zPmBfICB8Ci0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKLXwgOmNvbnN0OmBOT05fQVVUSE9SSVRBVElWRV9JTkZPUk1BVElPTmAgICB8IGBgMjAzYGAgfCBIVFRQLzEuMSwgYFJGQyAyNjE2LCBTZWN0aW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAotfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICB8IDEwLjIuNCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci18ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgIHwgPGh0dHA6Ly93d3cudzMub3JnL1Byb3RvY29scy9yZmMyNjE2L3JmYzI2MTYtc2VjMTAuaHRtbCNzZWMxMC4yLjQ+YF8gIHwKLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwotfCA6Y29uc3Q6YE5PX0NPTlRFTlRgICAgICAgICAgICAgICAgICAgICAgIHwgYGAyMDRgYCB8IEhUVFAvMS4xLCBgUkZDIDI2MTYsIFNlY3Rpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci18ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgIHwgMTAuMi41ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKLXwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgfCA8aHR0cDovL3d3dy53My5vcmcvUHJvdG9jb2xzL3JmYzI2MTYvcmZjMjYxNi1zZWMxMC5odG1sI3NlYzEwLjIuNT5gXyAgfAotKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCi18IDpjb25zdDpgUkVTRVRfQ09OVEVOVGAgICAgICAgICAgICAgICAgICAgfCBgYDIwNWBgIHwgSFRUUC8xLjEsIGBSRkMgMjYxNiwgU2VjdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKLXwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgfCAxMC4yLjYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAotfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICB8IDxodHRwOi8vd3d3LnczLm9yZy9Qcm90b2NvbHMvcmZjMjYxNi9yZmMyNjE2LXNlYzEwLmh0bWwjc2VjMTAuMi42PmBfICB8Ci0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKLXwgOmNvbnN0OmBQQVJUSUFMX0NPTlRFTlRgICAgICAgICAgICAgICAgICB8IGBgMjA2YGAgfCBIVFRQLzEuMSwgYFJGQyAyNjE2LCBTZWN0aW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAotfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICB8IDEwLjIuNyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci18ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgIHwgPGh0dHA6Ly93d3cudzMub3JnL1Byb3RvY29scy9yZmMyNjE2L3JmYzI2MTYtc2VjMTAuaHRtbCNzZWMxMC4yLjc+YF8gIHwKLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwotfCA6Y29uc3Q6YE1VTFRJX1NUQVRVU2AgICAgICAgICAgICAgICAgICAgIHwgYGAyMDdgYCB8IFdFQkRBViBgUkZDIDI1MTgsIFNlY3Rpb24gMTAuMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci18ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgIHwgPGh0dHA6Ly93d3cud2ViZGF2Lm9yZy9zcGVjcy9yZmMyNTE4Lmh0bWwjU1RBVFVTXzIwNz5gXyAgICAgICAgICAgICAgIHwKLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwotfCA6Y29uc3Q6YElNX1VTRURgICAgICAgICAgICAgICAgICAgICAgICAgIHwgYGAyMjZgYCB8IERlbHRhIGVuY29kaW5nIGluIEhUVFAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci18ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgIHwgOnJmYzpgMzIyOWAsIFNlY3Rpb24gMTAuNC4xICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwotfCA6Y29uc3Q6YE1VTFRJUExFX0NIT0lDRVNgICAgICAgICAgICAgICAgIHwgYGAzMDBgYCB8IEhUVFAvMS4xLCBgUkZDIDI2MTYsIFNlY3Rpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci18ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgIHwgMTAuMy4xICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKLXwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgfCA8aHR0cDovL3d3dy53My5vcmcvUHJvdG9jb2xzL3JmYzI2MTYvcmZjMjYxNi1zZWMxMC5odG1sI3NlYzEwLjMuMT5gXyAgfAotKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCi18IDpjb25zdDpgTU9WRURfUEVSTUFORU5UTFlgICAgICAgICAgICAgICAgfCBgYDMwMWBgIHwgSFRUUC8xLjEsIGBSRkMgMjYxNiwgU2VjdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKLXwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgfCAxMC4zLjIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAotfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICB8IDxodHRwOi8vd3d3LnczLm9yZy9Qcm90b2NvbHMvcmZjMjYxNi9yZmMyNjE2LXNlYzEwLmh0bWwjc2VjMTAuMy4yPmBfICB8Ci0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKLXwgOmNvbnN0OmBGT1VORGAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGBgMzAyYGAgfCBIVFRQLzEuMSwgYFJGQyAyNjE2LCBTZWN0aW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAotfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICB8IDEwLjMuMyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci18ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgIHwgPGh0dHA6Ly93d3cudzMub3JnL1Byb3RvY29scy9yZmMyNjE2L3JmYzI2MTYtc2VjMTAuaHRtbCNzZWMxMC4zLjM+YF8gIHwKLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwotfCA6Y29uc3Q6YFNFRV9PVEhFUmAgICAgICAgICAgICAgICAgICAgICAgIHwgYGAzMDNgYCB8IEhUVFAvMS4xLCBgUkZDIDI2MTYsIFNlY3Rpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci18ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgIHwgMTAuMy40ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKLXwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgfCA8aHR0cDovL3d3dy53My5vcmcvUHJvdG9jb2xzL3JmYzI2MTYvcmZjMjYxNi1zZWMxMC5odG1sI3NlYzEwLjMuND5gXyAgfAotKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCi18IDpjb25zdDpgTk9UX01PRElGSUVEYCAgICAgICAgICAgICAgICAgICAgfCBgYDMwNGBgIHwgSFRUUC8xLjEsIGBSRkMgMjYxNiwgU2VjdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKLXwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgfCAxMC4zLjUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAotfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICB8IDxodHRwOi8vd3d3LnczLm9yZy9Qcm90b2NvbHMvcmZjMjYxNi9yZmMyNjE2LXNlYzEwLmh0bWwjc2VjMTAuMy41PmBfICB8Ci0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKLXwgOmNvbnN0OmBVU0VfUFJPWFlgICAgICAgICAgICAgICAgICAgICAgICB8IGBgMzA1YGAgfCBIVFRQLzEuMSwgYFJGQyAyNjE2LCBTZWN0aW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAotfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICB8IDEwLjMuNiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci18ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgIHwgPGh0dHA6Ly93d3cudzMub3JnL1Byb3RvY29scy9yZmMyNjE2L3JmYzI2MTYtc2VjMTAuaHRtbCNzZWMxMC4zLjY+YF8gIHwKLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwotfCA6Y29uc3Q6YFRFTVBPUkFSWV9SRURJUkVDVGAgICAgICAgICAgICAgIHwgYGAzMDdgYCB8IEhUVFAvMS4xLCBgUkZDIDI2MTYsIFNlY3Rpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci18ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgIHwgMTAuMy44ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKLXwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgfCA8aHR0cDovL3d3dy53My5vcmcvUHJvdG9jb2xzL3JmYzI2MTYvcmZjMjYxNi1zZWMxMC5odG1sI3NlYzEwLjMuOD5gXyAgfAotKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCi18IDpjb25zdDpgQkFEX1JFUVVFU1RgICAgICAgICAgICAgICAgICAgICAgfCBgYDQwMGBgIHwgSFRUUC8xLjEsIGBSRkMgMjYxNiwgU2VjdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKLXwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgfCAxMC40LjEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAotfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICB8IDxodHRwOi8vd3d3LnczLm9yZy9Qcm90b2NvbHMvcmZjMjYxNi9yZmMyNjE2LXNlYzEwLmh0bWwjc2VjMTAuNC4xPmBfICB8Ci0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKLXwgOmNvbnN0OmBVTkFVVEhPUklaRURgICAgICAgICAgICAgICAgICAgICB8IGBgNDAxYGAgfCBIVFRQLzEuMSwgYFJGQyAyNjE2LCBTZWN0aW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAotfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICB8IDEwLjQuMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci18ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgIHwgPGh0dHA6Ly93d3cudzMub3JnL1Byb3RvY29scy9yZmMyNjE2L3JmYzI2MTYtc2VjMTAuaHRtbCNzZWMxMC40LjI+YF8gIHwKLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwotfCA6Y29uc3Q6YFBBWU1FTlRfUkVRVUlSRURgICAgICAgICAgICAgICAgIHwgYGA0MDJgYCB8IEhUVFAvMS4xLCBgUkZDIDI2MTYsIFNlY3Rpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci18ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgIHwgMTAuNC4zICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKLXwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgfCA8aHR0cDovL3d3dy53My5vcmcvUHJvdG9jb2xzL3JmYzI2MTYvcmZjMjYxNi1zZWMxMC5odG1sI3NlYzEwLjQuMz5gXyAgfAotKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCi18IDpjb25zdDpgRk9SQklEREVOYCAgICAgICAgICAgICAgICAgICAgICAgfCBgYDQwM2BgIHwgSFRUUC8xLjEsIGBSRkMgMjYxNiwgU2VjdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKLXwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgfCAxMC40LjQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAotfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICB8IDxodHRwOi8vd3d3LnczLm9yZy9Qcm90b2NvbHMvcmZjMjYxNi9yZmMyNjE2LXNlYzEwLmh0bWwjc2VjMTAuNC40PmBfICB8Ci0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKLXwgOmNvbnN0OmBOT1RfRk9VTkRgICAgICAgICAgICAgICAgICAgICAgICB8IGBgNDA0YGAgfCBIVFRQLzEuMSwgYFJGQyAyNjE2LCBTZWN0aW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAotfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICB8IDEwLjQuNSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci18ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgIHwgPGh0dHA6Ly93d3cudzMub3JnL1Byb3RvY29scy9yZmMyNjE2L3JmYzI2MTYtc2VjMTAuaHRtbCNzZWMxMC40LjU+YF8gIHwKLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwotfCA6Y29uc3Q6YE1FVEhPRF9OT1RfQUxMT1dFRGAgICAgICAgICAgICAgIHwgYGA0MDVgYCB8IEhUVFAvMS4xLCBgUkZDIDI2MTYsIFNlY3Rpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci18ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgIHwgMTAuNC42ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKLXwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgfCA8aHR0cDovL3d3dy53My5vcmcvUHJvdG9jb2xzL3JmYzI2MTYvcmZjMjYxNi1zZWMxMC5odG1sI3NlYzEwLjQuNj5gXyAgfAotKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCi18IDpjb25zdDpgTk9UX0FDQ0VQVEFCTEVgICAgICAgICAgICAgICAgICAgfCBgYDQwNmBgIHwgSFRUUC8xLjEsIGBSRkMgMjYxNiwgU2VjdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKLXwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgfCAxMC40LjcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAotfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICB8IDxodHRwOi8vd3d3LnczLm9yZy9Qcm90b2NvbHMvcmZjMjYxNi9yZmMyNjE2LXNlYzEwLmh0bWwjc2VjMTAuNC43PmBfICB8Ci0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKLXwgOmNvbnN0OmBQUk9YWV9BVVRIRU5USUNBVElPTl9SRVFVSVJFRGAgICB8IGBgNDA3YGAgfCBIVFRQLzEuMSwgYFJGQyAyNjE2LCBTZWN0aW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAotfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICB8IDEwLjQuOCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci18ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgIHwgPGh0dHA6Ly93d3cudzMub3JnL1Byb3RvY29scy9yZmMyNjE2L3JmYzI2MTYtc2VjMTAuaHRtbCNzZWMxMC40Ljg+YF8gIHwKLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwotfCA6Y29uc3Q6YFJFUVVFU1RfVElNRU9VVGAgICAgICAgICAgICAgICAgIHwgYGA0MDhgYCB8IEhUVFAvMS4xLCBgUkZDIDI2MTYsIFNlY3Rpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci18ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgIHwgMTAuNC45ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKLXwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgfCA8aHR0cDovL3d3dy53My5vcmcvUHJvdG9jb2xzL3JmYzI2MTYvcmZjMjYxNi1zZWMxMC5odG1sI3NlYzEwLjQuOT5gXyAgfAotKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCi18IDpjb25zdDpgQ09ORkxJQ1RgICAgICAgICAgICAgICAgICAgICAgICAgfCBgYDQwOWBgIHwgSFRUUC8xLjEsIGBSRkMgMjYxNiwgU2VjdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKLXwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgfCAxMC40LjEwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAotfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICB8IDxodHRwOi8vd3d3LnczLm9yZy9Qcm90b2NvbHMvcmZjMjYxNi9yZmMyNjE2LXNlYzEwLmh0bWwjc2VjMTAuNC4xMD5gXyB8Ci0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKLXwgOmNvbnN0OmBHT05FYCAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGBgNDEwYGAgfCBIVFRQLzEuMSwgYFJGQyAyNjE2LCBTZWN0aW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAotfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICB8IDEwLjQuMTEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci18ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgIHwgPGh0dHA6Ly93d3cudzMub3JnL1Byb3RvY29scy9yZmMyNjE2L3JmYzI2MTYtc2VjMTAuaHRtbCNzZWMxMC40LjExPmBfIHwKLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwotfCA6Y29uc3Q6YExFTkdUSF9SRVFVSVJFRGAgICAgICAgICAgICAgICAgIHwgYGA0MTFgYCB8IEhUVFAvMS4xLCBgUkZDIDI2MTYsIFNlY3Rpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci18ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgIHwgMTAuNC4xMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKLXwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgfCA8aHR0cDovL3d3dy53My5vcmcvUHJvdG9jb2xzL3JmYzI2MTYvcmZjMjYxNi1zZWMxMC5odG1sI3NlYzEwLjQuMTI+YF8gfAotKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCi18IDpjb25zdDpgUFJFQ09ORElUSU9OX0ZBSUxFRGAgICAgICAgICAgICAgfCBgYDQxMmBgIHwgSFRUUC8xLjEsIGBSRkMgMjYxNiwgU2VjdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKLXwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgfCAxMC40LjEzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAotfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICB8IDxodHRwOi8vd3d3LnczLm9yZy9Qcm90b2NvbHMvcmZjMjYxNi9yZmMyNjE2LXNlYzEwLmh0bWwjc2VjMTAuNC4xMz5gXyB8Ci0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKLXwgOmNvbnN0OmBSRVFVRVNUX0VOVElUWV9UT09fTEFSR0VgICAgICAgICB8IGBgNDEzYGAgfCBIVFRQLzEuMSwgYFJGQyAyNjE2LCBTZWN0aW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAotfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICB8IDEwLjQuMTQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci18ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgIHwgPGh0dHA6Ly93d3cudzMub3JnL1Byb3RvY29scy9yZmMyNjE2L3JmYzI2MTYtc2VjMTAuaHRtbCNzZWMxMC40LjE0PmBfIHwKLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwotfCA6Y29uc3Q6YFJFUVVFU1RfVVJJX1RPT19MT05HYCAgICAgICAgICAgIHwgYGA0MTRgYCB8IEhUVFAvMS4xLCBgUkZDIDI2MTYsIFNlY3Rpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci18ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgIHwgMTAuNC4xNSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKLXwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgfCA8aHR0cDovL3d3dy53My5vcmcvUHJvdG9jb2xzL3JmYzI2MTYvcmZjMjYxNi1zZWMxMC5odG1sI3NlYzEwLjQuMTU+YF8gfAotKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCi18IDpjb25zdDpgVU5TVVBQT1JURURfTUVESUFfVFlQRWAgICAgICAgICAgfCBgYDQxNWBgIHwgSFRUUC8xLjEsIGBSRkMgMjYxNiwgU2VjdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKLXwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgfCAxMC40LjE2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAotfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICB8IDxodHRwOi8vd3d3LnczLm9yZy9Qcm90b2NvbHMvcmZjMjYxNi9yZmMyNjE2LXNlYzEwLmh0bWwjc2VjMTAuNC4xNj5gXyB8Ci0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKLXwgOmNvbnN0OmBSRVFVRVNURURfUkFOR0VfTk9UX1NBVElTRklBQkxFYCB8IGBgNDE2YGAgfCBIVFRQLzEuMSwgYFJGQyAyNjE2LCBTZWN0aW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAotfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICB8IDEwLjQuMTcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci18ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgIHwgPGh0dHA6Ly93d3cudzMub3JnL1Byb3RvY29scy9yZmMyNjE2L3JmYzI2MTYtc2VjMTAuaHRtbCNzZWMxMC40LjE3PmBfIHwKLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwotfCA6Y29uc3Q6YEVYUEVDVEFUSU9OX0ZBSUxFRGAgICAgICAgICAgICAgIHwgYGA0MTdgYCB8IEhUVFAvMS4xLCBgUkZDIDI2MTYsIFNlY3Rpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci18ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgIHwgMTAuNC4xOCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKLXwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgfCA8aHR0cDovL3d3dy53My5vcmcvUHJvdG9jb2xzL3JmYzI2MTYvcmZjMjYxNi1zZWMxMC5odG1sI3NlYzEwLjQuMTg+YF8gfAotKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCi18IDpjb25zdDpgVU5QUk9DRVNTQUJMRV9FTlRJVFlgICAgICAgICAgICAgfCBgYDQyMmBgIHwgV0VCREFWLCBgUkZDIDI1MTgsIFNlY3Rpb24gMTAuMyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKLXwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgfCA8aHR0cDovL3d3dy53ZWJkYXYub3JnL3NwZWNzL3JmYzI1MTguaHRtbCNTVEFUVVNfNDIyPmBfICAgICAgICAgICAgICAgfAotKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCi18IDpjb25zdDpgTE9DS0VEYCAgICAgICAgICAgICAgICAgICAgICAgICAgfCBgYDQyM2BgIHwgV0VCREFWIGBSRkMgMjUxOCwgU2VjdGlvbiAxMC40ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKLXwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgfCA8aHR0cDovL3d3dy53ZWJkYXYub3JnL3NwZWNzL3JmYzI1MTguaHRtbCNTVEFUVVNfNDIzPmBfICAgICAgICAgICAgICAgfAotKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCi18IDpjb25zdDpgRkFJTEVEX0RFUEVOREVOQ1lgICAgICAgICAgICAgICAgfCBgYDQyNGBgIHwgV0VCREFWLCBgUkZDIDI1MTgsIFNlY3Rpb24gMTAuNSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKLXwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgfCA8aHR0cDovL3d3dy53ZWJkYXYub3JnL3NwZWNzL3JmYzI1MTguaHRtbCNTVEFUVVNfNDI0PmBfICAgICAgICAgICAgICAgfAotKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCi18IDpjb25zdDpgVVBHUkFERV9SRVFVSVJFRGAgICAgICAgICAgICAgICAgfCBgYDQyNmBgIHwgSFRUUCBVcGdyYWRlIHRvIFRMUywgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKLXwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgfCA6cmZjOmAyODE3YCwgU2VjdGlvbiA2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAotKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCi18IDpjb25zdDpgUFJFQ09ORElUSU9OX1JFUVVJUkVEYCAgICAgICAgICAgfCBgYDQyOGBgIHwgQWRkaXRpb25hbCBIVFRQIFN0YXR1cyBDb2RlcywgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKLXwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgfCA6cmZjOmA2NTg1YCwgU2VjdGlvbiAzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAotKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCi18IDpjb25zdDpgVE9PX01BTllfUkVRVUVTVFNgICAgICAgICAgICAgICAgfCBgYDQyOWBgIHwgQWRkaXRpb25hbCBIVFRQIFN0YXR1cyBDb2RlcywgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKLXwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgfCA6cmZjOmA2NTg1YCwgU2VjdGlvbiA0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAotKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCi18IDpjb25zdDpgUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRWAgfCBgYDQzMWBgIHwgQWRkaXRpb25hbCBIVFRQIFN0YXR1cyBDb2RlcywgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKLXwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgfCA6cmZjOmA2NTg1YCwgU2VjdGlvbiA1ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAotKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCi18IDpjb25zdDpgSU5URVJOQUxfU0VSVkVSX0VSUk9SYCAgICAgICAgICAgfCBgYDUwMGBgIHwgSFRUUC8xLjEsIGBSRkMgMjYxNiwgU2VjdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKLXwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgfCAxMC41LjEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAotfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICB8IDxodHRwOi8vd3d3LnczLm9yZy9Qcm90b2NvbHMvcmZjMjYxNi9yZmMyNjE2LXNlYzEwLmh0bWwjc2VjMTAuNS4xPmBfICB8Ci0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKLXwgOmNvbnN0OmBOT1RfSU1QTEVNRU5URURgICAgICAgICAgICAgICAgICB8IGBgNTAxYGAgfCBIVFRQLzEuMSwgYFJGQyAyNjE2LCBTZWN0aW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAotfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICB8IDEwLjUuMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci18ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgIHwgPGh0dHA6Ly93d3cudzMub3JnL1Byb3RvY29scy9yZmMyNjE2L3JmYzI2MTYtc2VjMTAuaHRtbCNzZWMxMC41LjI+YF8gIHwKLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwotfCA6Y29uc3Q6YEJBRF9HQVRFV0FZYCAgICAgICAgICAgICAgICAgICAgIHwgYGA1MDJgYCB8IEhUVFAvMS4xIGBSRkMgMjYxNiwgU2VjdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci18ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgIHwgMTAuNS4zICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKLXwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgfCA8aHR0cDovL3d3dy53My5vcmcvUHJvdG9jb2xzL3JmYzI2MTYvcmZjMjYxNi1zZWMxMC5odG1sI3NlYzEwLjUuMz5gXyAgfAotKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCi18IDpjb25zdDpgU0VSVklDRV9VTkFWQUlMQUJMRWAgICAgICAgICAgICAgfCBgYDUwM2BgIHwgSFRUUC8xLjEsIGBSRkMgMjYxNiwgU2VjdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKLXwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgfCAxMC41LjQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAotfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICB8IDxodHRwOi8vd3d3LnczLm9yZy9Qcm90b2NvbHMvcmZjMjYxNi9yZmMyNjE2LXNlYzEwLmh0bWwjc2VjMTAuNS40PmBfICB8Ci0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKLXwgOmNvbnN0OmBHQVRFV0FZX1RJTUVPVVRgICAgICAgICAgICAgICAgICB8IGBgNTA0YGAgfCBIVFRQLzEuMSBgUkZDIDI2MTYsIFNlY3Rpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAotfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICB8IDEwLjUuNSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci18ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgIHwgPGh0dHA6Ly93d3cudzMub3JnL1Byb3RvY29scy9yZmMyNjE2L3JmYzI2MTYtc2VjMTAuaHRtbCNzZWMxMC41LjU+YF8gIHwKLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwotfCA6Y29uc3Q6YEhUVFBfVkVSU0lPTl9OT1RfU1VQUE9SVEVEYCAgICAgIHwgYGA1MDVgYCB8IEhUVFAvMS4xLCBgUkZDIDI2MTYsIFNlY3Rpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci18ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgIHwgMTAuNS42ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKLXwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgfCA8aHR0cDovL3d3dy53My5vcmcvUHJvdG9jb2xzL3JmYzI2MTYvcmZjMjYxNi1zZWMxMC5odG1sI3NlYzEwLjUuNj5gXyAgfAotKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCi18IDpjb25zdDpgSU5TVUZGSUNJRU5UX1NUT1JBR0VgICAgICAgICAgICAgfCBgYDUwN2BgIHwgV0VCREFWLCBgUkZDIDI1MTgsIFNlY3Rpb24gMTAuNiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKLXwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgfCA8aHR0cDovL3d3dy53ZWJkYXYub3JnL3NwZWNzL3JmYzI1MTguaHRtbCNTVEFUVVNfNTA3PmBfICAgICAgICAgICAgICAgfAotKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCi18IDpjb25zdDpgTk9UX0VYVEVOREVEYCAgICAgICAgICAgICAgICAgICAgfCBgYDUxMGBgIHwgQW4gSFRUUCBFeHRlbnNpb24gRnJhbWV3b3JrLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKLXwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgfCA6cmZjOmAyNzc0YCwgU2VjdGlvbiA3ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAotKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCi18IDpjb25zdDpgTkVUV09SS19BVVRIRU5USUNBVElPTl9SRVFVSVJFRGAgfCBgYDUxMWBgIHwgQWRkaXRpb25hbCBIVFRQIFN0YXR1cyBDb2RlcywgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKLXwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgfCA6cmZjOmA2NTg1YCwgU2VjdGlvbiA2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAotKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCi0KLS4uIHZlcnNpb25jaGFuZ2VkOjogMy4zCi0gICBBZGRlZCBjb2RlcyBgYDQyOGBgLCBgYDQyOWBgLCBgYDQzMWBgIGFuZCBgYDUxMWBgIGZyb20gOnJmYzpgNjU4NWAuCi0KLQogLi4gZGF0YTo6IHJlc3BvbnNlcwogCiAgICBUaGlzIGRpY3Rpb25hcnkgbWFwcyB0aGUgSFRUUCAxLjEgc3RhdHVzIGNvZGVzIHRvIHRoZSBXM0MgbmFtZXMuCiAKICAgIEV4YW1wbGU6IGBgaHR0cC5jbGllbnQucmVzcG9uc2VzW2h0dHAuY2xpZW50Lk5PVF9GT1VORF1gYCBpcyBgYCdOb3QgRm91bmQnYGAuCiAKK1NlZSA6cmVmOmBodHRwLXN0YXR1cy1jb2Rlc2AgZm9yIGEgbGlzdCBvZiBIVFRQIHN0YXR1cyBjb2RlcyB0aGF0IGFyZQorYXZhaWxhYmxlIGluIHRoaXMgbW9kdWxlIGFzIGNvbnN0YW50cy4KKwogCiAuLiBfaHR0cGNvbm5lY3Rpb24tb2JqZWN0czoKIApkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvaHR0cC5yc3QgYi9Eb2MvbGlicmFyeS9odHRwLnJzdAppbmRleCBhMzg3YTM3Li5iNmYyYzU4IDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS9odHRwLnJzdAorKysgYi9Eb2MvbGlicmFyeS9odHRwLnJzdApAQCAtMSw3ICsxLDE2IEBACiA6bW9kOmBodHRwYCAtLS0gSFRUUCBtb2R1bGVzCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAKLWBgaHR0cGBgIGlzIGEgcGFja2FnZSB0aGF0IGNvbGxlY3RzIHNldmVyYWwgbW9kdWxlcyBmb3Igd29ya2luZyB3aXRoIHRoZQorLi4gbW9kdWxlOjogaHR0cAorICAgOnN5bm9wc2lzOiBIVFRQIHN0YXR1cyBjb2RlcyBhbmQgbWVzc2FnZXMKKworLi4gaW5kZXg6OgorICAgcGFpcjogSFRUUDsgcHJvdG9jb2wKKyAgIHNpbmdsZTogSFRUUDsgaHR0cCAoc3RhbmRhcmQgbW9kdWxlKQorCisqKlNvdXJjZSBjb2RlOioqIDpzb3VyY2U6YExpYi9odHRwL19faW5pdF9fLnB5YAorCis6bW9kOmBodHRwYCBpcyBhIHBhY2thZ2UgdGhhdCBjb2xsZWN0cyBzZXZlcmFsIG1vZHVsZXMgZm9yIHdvcmtpbmcgd2l0aCB0aGUKIEh5cGVyVGV4dCBUcmFuc2ZlciBQcm90b2NvbDoKIAogKiA6bW9kOmBodHRwLmNsaWVudGAgaXMgYSBsb3ctbGV2ZWwgSFRUUCBwcm90b2NvbCBjbGllbnQ7IGZvciBoaWdoLWxldmVsIFVSTApAQCAtOSwzICsxOCwxMDUgQEAKICogOm1vZDpgaHR0cC5zZXJ2ZXJgIGNvbnRhaW5zIGJhc2ljIEhUVFAgc2VydmVyIGNsYXNzZXMgYmFzZWQgb24gOm1vZDpgc29ja2V0c2VydmVyYAogKiA6bW9kOmBodHRwLmNvb2tpZXNgIGhhcyB1dGlsaXRpZXMgZm9yIGltcGxlbWVudGluZyBzdGF0ZSBtYW5hZ2VtZW50IHdpdGggY29va2llcwogKiA6bW9kOmBodHRwLmNvb2tpZWphcmAgcHJvdmlkZXMgcGVyc2lzdGVuY2Ugb2YgY29va2llcworCis6bW9kOmBodHRwYCBpcyBhbHNvIGEgbW9kdWxlIHRoYXQgZGVmaW5lcyBhIG51bWJlciBvZiBIVFRQIHN0YXR1cyBjb2RlcyBhbmQKK2Fzc29jaWF0ZWQgbWVzc2FnZXMgdGhyb3VnaCB0aGUgOmNsYXNzOmBodHRwLkhUVFBTdGF0dXNgIGVudW06CisKKy4uIGNsYXNzOjogSFRUUFN0YXR1cworCisgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjUKKworICAgQSBzdWJjbGFzcyBvZiA6Y2xhc3M6YGVudW0uSW50RW51bWAgdGhhdCBkZWZpbmVzIGEgc2V0IG9mIEhUVFAgc3RhdHVzIGNvZGVzLAorICAgcmVhc29uIHBocmFzZXMgYW5kIGxvbmcgZGVzY3JpcHRpb25zIHdyaXR0ZW4gaW4gRW5nbGlzaC4KKworICAgVXNhZ2U6OgorCisgICAgICA+Pj4gZnJvbSBodHRwIGltcG9ydCBIVFRQU3RhdHVzCisgICAgICA+Pj4gSFRUUFN0YXR1cy5PSworICAgICAgPEhUVFBTdGF0dXMuT0s6IDIwMD4KKyAgICAgID4+PiBIVFRQU3RhdHVzLk9LID09IDIwMAorICAgICAgVHJ1ZQorICAgICAgPj4+IGh0dHAuSFRUUFN0YXR1cy5PSy52YWx1ZQorICAgICAgMjAwCisgICAgICA+Pj4gSFRUUFN0YXR1cy5PSy5waHJhc2UKKyAgICAgICdPSycKKyAgICAgID4+PiBIVFRQU3RhdHVzLk9LLmRlc2NyaXB0aW9uCisgICAgICAnUmVxdWVzdCBmdWxmaWxsZWQsIGRvY3VtZW50IGZvbGxvd3MnCisgICAgICA+Pj4gbGlzdChIVFRQU3RhdHVzKQorICAgICAgWzxIVFRQU3RhdHVzLkNPTlRJTlVFOiAxMDA+LCA8SFRUUFN0YXR1cy5TV0lUQ0hJTkdfUFJPVE9DT0xTOiAxMDE+LCAuLi5dCisKKy4uIF9odHRwLXN0YXR1cy1jb2RlczoKKworSFRUUCBzdGF0dXMgY29kZXMKKy0tLS0tLS0tLS0tLS0tLS0tCisKK1N1cHBvcnRlZCwKK2BJQU5BLXJlZ2lzdGVyZWQgPGh0dHA6Ly93d3cuaWFuYS5vcmcvYXNzaWdubWVudHMvaHR0cC1zdGF0dXMtY29kZXMvaHR0cC1zdGF0dXMtY29kZXMueGh0bWw+YF8KK3N0YXR1cyBjb2RlcyBhdmFpbGFibGUgaW4gOmNsYXNzOmBodHRwLkhUVFBTdGF0dXNgIGFyZToKKworPT09PT09PSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KK0NvZGUgICAgRW51bSBOYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgRGV0YWlscworPT09PT09PSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KK2BgMTAwYGAgYGBDT05USU5VRWBgICAgICAgICAgICAgICAgICAgICAgICAgSFRUUC8xLjEgOnJmYzpgNzIzMWAsIFNlY3Rpb24gNi4yLjEKK2BgMTAxYGAgYGBTV0lUQ0hJTkdfUFJPVE9DT0xTYGAgICAgICAgICAgICAgSFRUUC8xLjEgOnJmYzpgNzIzMWAsIFNlY3Rpb24gNi4yLjIKK2BgMTAyYGAgYGBQUk9DRVNTSU5HYGAgICAgICAgICAgICAgICAgICAgICAgV2ViREFWIDpyZmM6YDI1MThgLCBTZWN0aW9uIDEwLjEKK2BgMjAwYGAgYGBPS2BgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSFRUUC8xLjEgOnJmYzpgNzIzMWAsIFNlY3Rpb24gNi4zLjEKK2BgMjAxYGAgYGBDUkVBVEVEYGAgICAgICAgICAgICAgICAgICAgICAgICAgSFRUUC8xLjEgOnJmYzpgNzIzMWAsIFNlY3Rpb24gNi4zLjIKK2BgMjAyYGAgYGBBQ0NFUFRFRGBgICAgICAgICAgICAgICAgICAgICAgICAgSFRUUC8xLjEgOnJmYzpgNzIzMWAsIFNlY3Rpb24gNi4zLjMKK2BgMjAzYGAgYGBOT05fQVVUSE9SSVRBVElWRV9JTkZPUk1BVElPTmBgICAgSFRUUC8xLjEgOnJmYzpgNzIzMWAsIFNlY3Rpb24gNi4zLjQKK2BgMjA0YGAgYGBOT19DT05URU5UYGAgICAgICAgICAgICAgICAgICAgICAgSFRUUC8xLjEgOnJmYzpgNzIzMWAsIFNlY3Rpb24gNi4zLjUKK2BgMjA1YGAgYGBSRVNFVF9DT05URU5UYGAgICAgICAgICAgICAgICAgICAgSFRUUC8xLjEgOnJmYzpgNzIzMWAsIFNlY3Rpb24gNi4zLjYKK2BgMjA2YGAgYGBQQVJUSUFMX0NPTlRFTlRgYCAgICAgICAgICAgICAgICAgSFRUUC8xLjEgOnJmYzpgNzIzM2AsIFNlY3Rpb24gNC4xCitgYDIwN2BgIGBgTVVMVElfU1RBVFVTYGAgICAgICAgICAgICAgICAgICAgIFdlYkRBViA6cmZjOmA0OTE4YCwgU2VjdGlvbiAxMS4xCitgYDIwOGBgIGBgQUxSRUFEWV9SRVBPUlRFRGBgICAgICAgICAgICAgICAgIFdlYkRBViBCaW5kaW5nIEV4dGVuc2lvbnMgOnJmYzpgNTg0MmAsIFNlY3Rpb24gNy4xIChFeHBlcmltZW50YWwpCitgYDIyNmBgIGBgSU1fVVNFRGBgICAgICAgICAgICAgICAgICAgICAgICAgIERlbHRhIEVuY29kaW5nIGluIEhUVFAgOnJmYzpgMzIyOWAsIFNlY3Rpb24gMTAuNC4xCitgYDMwMGBgIGBgTVVMVElQTEVfQ0hPSUNFU2BgICAgICAgICAgICAgICAgIEhUVFAvMS4xIDpyZmM6YDcyMzFgLCBTZWN0aW9uIDYuNC4xCitgYDMwMWBgIGBgTU9WRURfUEVSTUFORU5UTFlgYCAgICAgICAgICAgICAgIEhUVFAvMS4xIDpyZmM6YDcyMzFgLCBTZWN0aW9uIDYuNC4yCitgYDMwMmBgIGBgRk9VTkRgYCAgICAgICAgICAgICAgICAgICAgICAgICAgIEhUVFAvMS4xIDpyZmM6YDcyMzFgLCBTZWN0aW9uIDYuNC4zCitgYDMwM2BgIGBgU0VFX09USEVSYGAgICAgICAgICAgICAgICAgICAgICAgIEhUVFAvMS4xIDpyZmM6YDcyMzFgLCBTZWN0aW9uIDYuNC40CitgYDMwNGBgIGBgTk9UX01PRElGSUVEYGAgICAgICAgICAgICAgICAgICAgIEhUVFAvMS4xIDpyZmM6YDcyMzJgLCBTZWN0aW9uIDQuMQorYGAzMDVgYCBgYFVTRV9QUk9YWWBgICAgICAgICAgICAgICAgICAgICAgICBIVFRQLzEuMSA6cmZjOmA3MjMxYCwgU2VjdGlvbiA2LjQuNQorYGAzMDdgYCBgYFRFTVBPUkFSWV9SRURJUkVDVGBgICAgICAgICAgICAgICBIVFRQLzEuMSA6cmZjOmA3MjMxYCwgU2VjdGlvbiA2LjQuNworYGAzMDhgYCBgYFBFUk1BTkVOVF9SRURJUkVDVGBgICAgICAgICAgICAgICBQZXJtYW5lbnQgUmVkaXJlY3QgOnJmYzpgNzIzOGAsIFNlY3Rpb24gMyAoRXhwZXJpbWVudGFsKQorYGA0MDBgYCBgYEJBRF9SRVFVRVNUYGAgICAgICAgICAgICAgICAgICAgICBIVFRQLzEuMSA6cmZjOmA3MjMxYCwgU2VjdGlvbiA2LjUuMQorYGA0MDFgYCBgYFVOQVVUSE9SSVpFRGBgICAgICAgICAgICAgICAgICAgICBIVFRQLzEuMSBBdXRoZW50aWNhdGlvbiA6cmZjOmA3MjM1YCwgU2VjdGlvbiAzLjEKK2BgNDAyYGAgYGBQQVlNRU5UX1JFUVVJUkVEYGAgICAgICAgICAgICAgICAgSFRUUC8xLjEgOnJmYzpgNzIzMWAsIFNlY3Rpb24gNi41LjIKK2BgNDAzYGAgYGBGT1JCSURERU5gYCAgICAgICAgICAgICAgICAgICAgICAgSFRUUC8xLjEgOnJmYzpgNzIzMWAsIFNlY3Rpb24gNi41LjMKK2BgNDA0YGAgYGBOT1RfRk9VTkRgYCAgICAgICAgICAgICAgICAgICAgICAgSFRUUC8xLjEgOnJmYzpgNzIzMWAsIFNlY3Rpb24gNi41LjQKK2BgNDA1YGAgYGBNRVRIT0RfTk9UX0FMTE9XRURgYCAgICAgICAgICAgICAgSFRUUC8xLjEgOnJmYzpgNzIzMWAsIFNlY3Rpb24gNi41LjUKK2BgNDA2YGAgYGBOT1RfQUNDRVBUQUJMRWBgICAgICAgICAgICAgICAgICAgSFRUUC8xLjEgOnJmYzpgNzIzMWAsIFNlY3Rpb24gNi41LjYKK2BgNDA3YGAgYGBQUk9YWV9BVVRIRU5USUNBVElPTl9SRVFVSVJFRGBgICAgSFRUUC8xLjEgQXV0aGVudGljYXRpb24gOnJmYzpgNzIzNWAsIFNlY3Rpb24gMy4yCitgYDQwOGBgIGBgUkVRVUVTVF9USU1FT1VUYGAgICAgICAgICAgICAgICAgIEhUVFAvMS4xIDpyZmM6YDcyMzFgLCBTZWN0aW9uIDYuNS43CitgYDQwOWBgIGBgQ09ORkxJQ1RgYCAgICAgICAgICAgICAgICAgICAgICAgIEhUVFAvMS4xIDpyZmM6YDcyMzFgLCBTZWN0aW9uIDYuNS44CitgYDQxMGBgIGBgR09ORWBgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhUVFAvMS4xIDpyZmM6YDcyMzFgLCBTZWN0aW9uIDYuNS45CitgYDQxMWBgIGBgTEVOR1RIX1JFUVVJUkVEYGAgICAgICAgICAgICAgICAgIEhUVFAvMS4xIDpyZmM6YDcyMzFgLCBTZWN0aW9uIDYuNS4xMAorYGA0MTJgYCBgYFBSRUNPTkRJVElPTl9GQUlMRURgYCAgICAgICAgICAgICBIVFRQLzEuMSA6cmZjOmA3MjMyYCwgU2VjdGlvbiA0LjIKK2BgNDEzYGAgYGBSRVFVRVNUX0VOVElUWV9UT09fTEFSR0VgYCAgICAgICAgSFRUUC8xLjEgOnJmYzpgNzIzMWAsIFNlY3Rpb24gNi41LjExCitgYDQxNGBgIGBgUkVRVUVTVF9VUklfVE9PX0xPTkdgYCAgICAgICAgICAgIEhUVFAvMS4xIDpyZmM6YDcyMzFgLCBTZWN0aW9uIDYuNS4xMgorYGA0MTVgYCBgYFVOU1VQUE9SVEVEX01FRElBX1RZUEVgYCAgICAgICAgICBIVFRQLzEuMSA6cmZjOmA3MjMxYCwgU2VjdGlvbiA2LjUuMTMKK2BgNDE2YGAgYGBSRVFVRVNUX1JBTkdFX05PVF9TQVRJU0ZJQUJMRWBgICAgSFRUUC8xLjEgUmFuZ2UgUmVxdWVzdHMgOnJmYzpgNzIzM2AsIFNlY3Rpb24gNC40CitgYDQxN2BgIGBgRVhQRUNUQVRJT05fRkFJTEVEYGAgICAgICAgICAgICAgIEhUVFAvMS4xIDpyZmM6YDcyMzFgLCBTZWN0aW9uIDYuNS4xNAorYGA0MjJgYCBgYFVOUFJPQ0VTU0FCTEVfRU5USVRZYGAgICAgICAgICAgICBXZWJEQVYgOnJmYzpgNDkxOGAsIFNlY3Rpb24gMTEuMgorYGA0MjNgYCBgYExPQ0tFRGBgICAgICAgICAgICAgICAgICAgICAgICAgICBXZWJEQVYgOnJmYzpgNDkxOGAsIFNlY3Rpb24gMTEuMworYGA0MjRgYCBgYEZBSUxFRF9ERVBFTkRFTkNZYGAgICAgICAgICAgICAgICBXZWJEQVYgOnJmYzpgNDkxOGAsIFNlY3Rpb24gMTEuNAorYGA0MjZgYCBgYFVQR1JBREVfUkVRVUlSRURgYCAgICAgICAgICAgICAgICBIVFRQLzEuMSA6cmZjOmA3MjMxYCwgU2VjdGlvbiA2LjUuMTUKK2BgNDI4YGAgYGBQUkVDT05ESVRJT05fUkVRVUlSRURgYCAgICAgICAgICAgQWRkaXRpb25hbCBIVFRQIFN0YXR1cyBDb2RlcyA6cmZjOmA2NTg1YAorYGA0MjlgYCBgYFRPT19NQU5ZX1JFUVVFU1RTYGAgICAgICAgICAgICAgICBBZGRpdGlvbmFsIEhUVFAgU3RhdHVzIENvZGVzIDpyZmM6YDY1ODVgCitgYDQzMWBgIGBgUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRWBgIEFkZGl0aW9uYWwgSFRUUCBTdGF0dXMgQ29kZXMgOnJmYzpgNjU4NWAKK2BgNTAwYGAgYGBJTlRFUk5BTF9TRVJWRVJfRVJST1JgYCAgICAgICAgICAgSFRUUC8xLjEgOnJmYzpgNzIzMWAsIFNlY3Rpb24gNi42LjEKK2BgNTAxYGAgYGBOT1RfSU1QTEVNRU5URURgYCAgICAgICAgICAgICAgICAgSFRUUC8xLjEgOnJmYzpgNzIzMWAsIFNlY3Rpb24gNi42LjIKK2BgNTAyYGAgYGBCQURfR0FURVdBWWBgICAgICAgICAgICAgICAgICAgICAgSFRUUC8xLjEgOnJmYzpgNzIzMWAsIFNlY3Rpb24gNi42LjMKK2BgNTAzYGAgYGBTRVJWSUNFX1VOQVZBSUxBQkxFYGAgICAgICAgICAgICAgSFRUUC8xLjEgOnJmYzpgNzIzMWAsIFNlY3Rpb24gNi42LjQKK2BgNTA0YGAgYGBHQVRFV0FZX1RJTUVPVVRgYCAgICAgICAgICAgICAgICAgSFRUUC8xLjEgOnJmYzpgNzIzMWAsIFNlY3Rpb24gNi42LjUKK2BgNTA1YGAgYGBIVFRQX1ZFUlNJT05fTk9UX1NVUFBPUlRFRGBgICAgICAgSFRUUC8xLjEgOnJmYzpgNzIzMWAsIFNlY3Rpb24gNi42LjYKK2BgNTA2YGAgYGBWQVJJQU5UX0FMU09fTkVHT1RJQVRFU2BgICAgICAgICAgVHJhbnNwYXJlbnQgQ29udGVudCBOZWdvdGlhdGlvbiBpbiBIVFRQIDpyZmM6YDIyOTVgLCBTZWN0aW9uIDguMSAoRXhwZXJpbWVudGFsKQorYGA1MDdgYCBgYElOU1VGRklDSUVOVF9TVE9SQUdFYGAgICAgICAgICAgICBXZWJEQVYgOnJmYzpgNDkxOGAsIFNlY3Rpb24gMTEuNQorYGA1MDhgYCBgYExPT1BfREVURUNURURgYCAgICAgICAgICAgICAgICAgICBXZWJEQVYgQmluZGluZyBFeHRlbnNpb25zIDpyZmM6YDU4NDJgLCBTZWN0aW9uIDcuMiAoRXhwZXJpbWVudGFsKQorYGA1MTBgYCBgYE5PVF9FWFRFTkRFRGBgICAgICAgICAgICAgICAgICAgICBBbiBIVFRQIEV4dGVuc2lvbiBGcmFtZXdvcmsgOnJmYzpgMjc3NGAsIFNlY3Rpb24gNyAoRXhwZXJpbWVudGFsKQorYGA1MTFgYCBgYE5FVFdPUktfQVVUSEVOVElDQVRJT05fUkVRVUlSRURgYCBBZGRpdGlvbmFsIEhUVFAgU3RhdHVzIENvZGVzIDpyZmM6YDY1ODVgLCBTZWN0aW9uIDYKKz09PT09PT0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisKK0luIG9yZGVyIHRvIHByZXNlcnZlIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5LCBlbnVtIHZhbHVlcyBhcmUgYWxzbyBwcmVzZW50CitpbiB0aGUgOm1vZDpgaHR0cC5jbGllbnRgIG1vZHVsZSBpbiB0aGUgZm9ybSBvZiBjb25zdGFudHMuIFRoZSBlbnVtIG5hbWUgaXMKK2VxdWFsIHRvIHRoZSBjb25zdGFudCBuYW1lIChpLmUuIGBgaHR0cC5IVFRQU3RhdHVzLk9LYGAgaXMgYWxzbyBhdmFpbGFibGUgYXMKK2BgaHR0cC5jbGllbnQuT0tgYCkuCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS9odHRwLnNlcnZlci5yc3QgYi9Eb2MvbGlicmFyeS9odHRwLnNlcnZlci5yc3QKaW5kZXggYTc1MDE1NS4uMWMzZTIwMiAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvaHR0cC5zZXJ2ZXIucnN0CisrKyBiL0RvYy9saWJyYXJ5L2h0dHAuc2VydmVyLnJzdApAQCAtMjMyLDcgKzIzMiw3IEBACiAKICAgIC4uIG1ldGhvZDo6IHNlbmRfcmVzcG9uc2Vfb25seShjb2RlLCBtZXNzYWdlPU5vbmUpCiAKLSAgICAgIFNlbmRzIHRoZSByZXBvbnNlIGhlYWRlciBvbmx5LCB1c2VkIGZvciB0aGUgcHVycG9zZXMgd2hlbiBgYDEwMAorICAgICAgU2VuZHMgdGhlIHJlc3BvbnNlIGhlYWRlciBvbmx5LCB1c2VkIGZvciB0aGUgcHVycG9zZXMgd2hlbiBgYDEwMAogICAgICAgQ29udGludWVgYCByZXNwb25zZSBpcyBzZW50IGJ5IHRoZSBzZXJ2ZXIgdG8gdGhlIGNsaWVudC4gVGhlIGhlYWRlcnMgbm90CiAgICAgICBidWZmZXJlZCBhbmQgc2VudCBkaXJlY3RseSB0aGUgb3V0cHV0IHN0cmVhbS5JZiB0aGUgKm1lc3NhZ2UqIGlzIG5vdAogICAgICAgc3BlY2lmaWVkLCB0aGUgSFRUUCBtZXNzYWdlIGNvcnJlc3BvbmRpbmcgdGhlIHJlc3BvbnNlICpjb2RlKiAgaXMgc2VudC4KZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L2ltYXBsaWIucnN0IGIvRG9jL2xpYnJhcnkvaW1hcGxpYi5yc3QKaW5kZXggZmE3MzZmZS4uZjI2M2JhYiAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvaW1hcGxpYi5yc3QKKysrIGIvRG9jL2xpYnJhcnkvaW1hcGxpYi5yc3QKQEAgLTM3LDYgKzM3LDE5IEBACiAgICBpbml0aWFsaXplZC4gSWYgKmhvc3QqIGlzIG5vdCBzcGVjaWZpZWQsIGBgJydgYCAodGhlIGxvY2FsIGhvc3QpIGlzIHVzZWQuIElmCiAgICAqcG9ydCogaXMgb21pdHRlZCwgdGhlIHN0YW5kYXJkIElNQVA0IHBvcnQgKDE0MykgaXMgdXNlZC4KIAorICAgVGhlIDpjbGFzczpgSU1BUDRgIGNsYXNzIHN1cHBvcnRzIHRoZSA6a2V5d29yZDpgd2l0aGAgc3RhdGVtZW50LiAgV2hlbiB1c2VkCisgICBsaWtlIHRoaXMsIHRoZSBJTUFQNCBgYExPR09VVGBgIGNvbW1hbmQgaXMgaXNzdWVkIGF1dG9tYXRpY2FsbHkgd2hlbiB0aGUKKyAgIDprZXl3b3JkOmB3aXRoYCBzdGF0ZW1lbnQgZXhpdHMuICBFLmcuOjoKKworICAgID4+PiBmcm9tIGltYXBsaWIgaW1wb3J0IElNQVA0CisgICAgPj4+IHdpdGggSU1BUDQoImRvbWFpbi5vcmciKSBhcyBNOgorICAgIC4uLiAgICAgTS5ub29wKCkKKyAgICAuLi4KKyAgICAoJ09LJywgW2InTm90aGluZyBBY2NvbXBsaXNoZWQuIGQyNWlmNjVoeTkwM3dlby44NyddKQorCisgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuNQorICAgICAgU3VwcG9ydCBmb3IgdGhlIDprZXl3b3JkOmB3aXRoYCBzdGF0ZW1lbnQgd2FzIGFkZGVkLgorCiBUaHJlZSBleGNlcHRpb25zIGFyZSBkZWZpbmVkIGFzIGF0dHJpYnV0ZXMgb2YgdGhlIDpjbGFzczpgSU1BUDRgIGNsYXNzOgogCiAKZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L2ltZ2hkci5yc3QgYi9Eb2MvbGlicmFyeS9pbWdoZHIucnN0CmluZGV4IDllODk1MjMuLmM2MGRmMjQgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L2ltZ2hkci5yc3QKKysrIGIvRG9jL2xpYnJhcnkvaW1naGRyLnJzdApAQCAtNDgsNiArNDgsMTYgQEAKICstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCiB8IGBgJ3BuZydgYCAgfCBQb3J0YWJsZSBOZXR3b3JrIEdyYXBoaWNzICAgICAgICAgfAogKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKK3wgYGAnd2VicCdgYCB8IFdlYlAgZmlsZXMgICAgICAgICAgICAgICAgICAgICAgICB8CisrLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworfCBgYCdleHInYGAgIHwgT3BlbkVYUiBGaWxlcyAgICAgICAgICAgICAgICAgICAgIHwKKystLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCisKKy4uIHZlcnNpb25hZGRlZDo6IDMuNQorICAgVGhlICpleHIqIGZvcm1hdCB3YXMgYWRkZWQuCisKKy4uIHZlcnNpb25jaGFuZ2VkOjogMy41CisgICBUaGUgKndlYnAqIHR5cGUgd2FzIGFkZGVkLgogCiBZb3UgY2FuIGV4dGVuZCB0aGUgbGlzdCBvZiBmaWxlIHR5cGVzIDptb2Q6YGltZ2hkcmAgY2FuIHJlY29nbml6ZSBieSBhcHBlbmRpbmcKIHRvIHRoaXMgdmFyaWFibGU6CmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS9pbXBvcnRsaWIucnN0IGIvRG9jL2xpYnJhcnkvaW1wb3J0bGliLnJzdAppbmRleCA5MTMyOGFmLi5lNjFhYzM1IDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS9pbXBvcnRsaWIucnN0CisrKyBiL0RvYy9saWJyYXJ5L2ltcG9ydGxpYi5yc3QKQEAgLTY5LDYgKzY5LDEwIEBACiAKICAgICBBbiBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgYnVpbHQtaW4gOmZ1bmM6YF9faW1wb3J0X19gIGZ1bmN0aW9uLgogCisgICAgLi4gbm90ZTo6CisgICAgICAgUHJvZ3JhbW1hdGljIGltcG9ydGluZyBvZiBtb2R1bGVzIHNob3VsZCB1c2UgOmZ1bmM6YGltcG9ydF9tb2R1bGVgCisgICAgICAgaW5zdGVhZCBvZiB0aGlzIGZ1bmN0aW9uLgorCiAuLiBmdW5jdGlvbjo6IGltcG9ydF9tb2R1bGUobmFtZSwgcGFja2FnZT1Ob25lKQogCiAgICAgSW1wb3J0IGEgbW9kdWxlLiBUaGUgKm5hbWUqIGFyZ3VtZW50IHNwZWNpZmllcyB3aGF0IG1vZHVsZSB0bwpAQCAtODEsMTIgKzg1LDE1IEBACiAKICAgICBUaGUgOmZ1bmM6YGltcG9ydF9tb2R1bGVgIGZ1bmN0aW9uIGFjdHMgYXMgYSBzaW1wbGlmeWluZyB3cmFwcGVyIGFyb3VuZAogICAgIDpmdW5jOmBpbXBvcnRsaWIuX19pbXBvcnRfX2AuIFRoaXMgbWVhbnMgYWxsIHNlbWFudGljcyBvZiB0aGUgZnVuY3Rpb24gYXJlCi0gICAgZGVyaXZlZCBmcm9tIDpmdW5jOmBpbXBvcnRsaWIuX19pbXBvcnRfX2AsIGluY2x1ZGluZyByZXF1aXJpbmcgdGhlIHBhY2thZ2UKLSAgICBmcm9tIHdoaWNoIGFuIGltcG9ydCBpcyBvY2N1cnJpbmcgdG8gaGF2ZSBiZWVuIHByZXZpb3VzbHkgaW1wb3J0ZWQKLSAgICAoaS5lLiwgKnBhY2thZ2UqIG11c3QgYWxyZWFkeSBiZSBpbXBvcnRlZCkuIFRoZSBtb3N0IGltcG9ydGFudCBkaWZmZXJlbmNlCi0gICAgaXMgdGhhdCA6ZnVuYzpgaW1wb3J0X21vZHVsZWAgcmV0dXJucyB0aGUgc3BlY2lmaWVkIHBhY2thZ2Ugb3IgbW9kdWxlCi0gICAgKGUuZy4gYGBwa2cubW9kYGApLCB3aGlsZSA6ZnVuYzpgX19pbXBvcnRfX2AgcmV0dXJucyB0aGUKLSAgICB0b3AtbGV2ZWwgcGFja2FnZSBvciBtb2R1bGUgKGUuZy4gYGBwa2dgYCkuCisgICAgZGVyaXZlZCBmcm9tIDpmdW5jOmBpbXBvcnRsaWIuX19pbXBvcnRfX2AuIFRoZSBtb3N0IGltcG9ydGFudCBkaWZmZXJlbmNlCisgICAgYmV0d2VlbiB0aGVzZSB0d28gZnVuY3Rpb25zIGlzIHRoYXQgOmZ1bmM6YGltcG9ydF9tb2R1bGVgIHJldHVybnMgdGhlCisgICAgc3BlY2lmaWVkIHBhY2thZ2Ugb3IgbW9kdWxlIChlLmcuIGBgcGtnLm1vZGBgKSwgd2hpbGUgOmZ1bmM6YF9faW1wb3J0X19gCisgICAgcmV0dXJucyB0aGUgdG9wLWxldmVsIHBhY2thZ2Ugb3IgbW9kdWxlIChlLmcuIGBgcGtnYGApLgorCisgICAgSWYgeW91IGFyZSBkeW5hbWljYWxseSBpbXBvcnRpbmcgYSBtb2R1bGUgdGhhdCB3YXMgY3JlYXRlZCBzaW5jZSB0aGUKKyAgICBpbnRlcnByZXRlciBiZWdhbiBleGVjdXRpb24gKGUuZy4sIGNyZWF0ZWQgYSBQeXRob24gc291cmNlIGZpbGUpLCB5b3UgbWF5CisgICAgbmVlZCB0byBjYWxsIDpmdW5jOmBpbnZhbGlkYXRlX2NhY2hlc2AgaW4gb3JkZXIgZm9yIHRoZSBuZXcgbW9kdWxlIHRvIGJlCisgICAgbm90aWNlZCBieSB0aGUgaW1wb3J0IHN5c3RlbS4KIAogICAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy4zCiAgICAgICAgUGFyZW50IHBhY2thZ2VzIGFyZSBhdXRvbWF0aWNhbGx5IGltcG9ydGVkLgpAQCAtMzQ3LDEzICszNTQsMTYgQEAKIAogICAgIC4uIG1ldGhvZDo6IGNyZWF0ZV9tb2R1bGUoc3BlYykKIAotICAgICAgIEFuIG9wdGlvbmFsIG1ldGhvZCB0aGF0IHJldHVybnMgdGhlIG1vZHVsZSBvYmplY3QgdG8gdXNlIHdoZW4KLSAgICAgICBpbXBvcnRpbmcgYSBtb2R1bGUuICBjcmVhdGVfbW9kdWxlKCkgbWF5IGFsc28gcmV0dXJuIGBgTm9uZWBgLAotICAgICAgIGluZGljYXRpbmcgdGhhdCB0aGUgZGVmYXVsdCBtb2R1bGUgY3JlYXRpb24gc2hvdWxkIHRha2UgcGxhY2UKLSAgICAgICBpbnN0ZWFkLgorICAgICAgIEEgbWV0aG9kIHRoYXQgcmV0dXJucyB0aGUgbW9kdWxlIG9iamVjdCB0byB1c2Ugd2hlbgorICAgICAgIGltcG9ydGluZyBhIG1vZHVsZS4gIFRoaXMgbWV0aG9kIG1heSByZXR1cm4gYGBOb25lYGAsCisgICAgICAgaW5kaWNhdGluZyB0aGF0IGRlZmF1bHQgbW9kdWxlIGNyZWF0aW9uIHNlbWFudGljcyBzaG91bGQgdGFrZSBwbGFjZS4KIAogICAgICAgIC4uIHZlcnNpb25hZGRlZDo6IDMuNAogCisgICAgICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjUKKyAgICAgICAgICBTdGFydGluZyBpbiBQeXRob24gMy42LCB0aGlzIG1ldGhvZCB3aWxsIG5vdCBiZSBvcHRpb25hbCB3aGVuCisgICAgICAgICAgOm1ldGg6YGV4ZWNfbW9kdWxlYCBpcyBkZWZpbmVkLgorCiAgICAgLi4gbWV0aG9kOjogZXhlY19tb2R1bGUobW9kdWxlKQogCiAgICAgICAgQW4gYWJzdHJhY3QgbWV0aG9kIHRoYXQgZXhlY3V0ZXMgdGhlIG1vZHVsZSBpbiBpdHMgb3duIG5hbWVzcGFjZQpAQCAtNDE3LDcgKzQyNyw3IEBACiAKICAgICAgICAgLi4gZGVwcmVjYXRlZDo6IDMuNAogICAgICAgICAgICBUaGUgcmVjb21tZW5kZWQgQVBJIGZvciBsb2FkaW5nIGEgbW9kdWxlIGlzIDptZXRoOmBleGVjX21vZHVsZWAKLSAgICAgICAgICAgKGFuZCBvcHRpb25hbGx5IDptZXRoOmBjcmVhdGVfbW9kdWxlYCkuICBMb2FkZXJzIHNob3VsZCBpbXBsZW1lbnQKKyAgICAgICAgICAgKGFuZCA6bWV0aDpgY3JlYXRlX21vZHVsZWApLiAgTG9hZGVycyBzaG91bGQgaW1wbGVtZW50CiAgICAgICAgICAgIGl0IGluc3RlYWQgb2YgbG9hZF9tb2R1bGUoKS4gIFRoZSBpbXBvcnQgbWFjaGluZXJ5IHRha2VzIGNhcmUgb2YKICAgICAgICAgICAgYWxsIHRoZSBvdGhlciByZXNwb25zaWJpbGl0aWVzIG9mIGxvYWRfbW9kdWxlKCkgd2hlbiBleGVjX21vZHVsZSgpCiAgICAgICAgICAgIGlzIGltcGxlbWVudGVkLgpAQCAtNDk5LDcgKzUwOSw3IEBACiAgICAgICAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy40CiAgICAgICAgICAgIFJhaXNlcyA6ZXhjOmBJbXBvcnRFcnJvcmAgaW5zdGVhZCBvZiA6ZXhjOmBOb3RJbXBsZW1lbnRlZEVycm9yYC4KIAotICAgIC4uIG1ldGhvZDo6IHNvdXJjZV90b19jb2RlKGRhdGEsIHBhdGg9JzxzdHJpbmc+JykKKyAgICAuLiBzdGF0aWNtZXRob2Q6OiBzb3VyY2VfdG9fY29kZShkYXRhLCBwYXRoPSc8c3RyaW5nPicpCiAKICAgICAgICAgQ3JlYXRlIGEgY29kZSBvYmplY3QgZnJvbSBQeXRob24gc291cmNlLgogCkBAIC01MDgsOCArNTE4LDE0IEBACiAgICAgICAgIHRoZSAicGF0aCIgdG8gd2hlcmUgdGhlIHNvdXJjZSBjb2RlIG9yaWdpbmF0ZWQgZnJvbSwgd2hpY2ggY2FuIGJlIGFuCiAgICAgICAgIGFic3RyYWN0IGNvbmNlcHQgKGUuZy4gbG9jYXRpb24gaW4gYSB6aXAgZmlsZSkuCiAKKyAgICAgICAgV2l0aCB0aGUgc3Vic2VxdWVudCBjb2RlIG9iamVjdCBvbmUgY2FuIGV4ZWN1dGUgaXQgaW4gYSBtb2R1bGUgYnkKKyAgICAgICAgcnVubmluZyBgYGV4ZWMoY29kZSwgbW9kdWxlLl9fZGljdF9fKWBgLgorCiAgICAgICAgIC4uIHZlcnNpb25hZGRlZDo6IDMuNAogCisgICAgICAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy41CisgICAgICAgICAgIE1hZGUgdGhlIG1ldGhvZCBzdGF0aWMuCisKICAgICAuLiBtZXRob2Q6OiBleGVjX21vZHVsZShtb2R1bGUpCiAKICAgICAgICBJbXBsZW1lbnRhdGlvbiBvZiA6bWV0aDpgTG9hZGVyLmV4ZWNfbW9kdWxlYC4KQEAgLTc4OCw2ICs4MDQsMTEgQEAKIAogICAgICAgLi4gdmVyc2lvbmFkZGVkOjogMy40CiAKKyAgICAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy41CisgICAgICAgICBJZiB0aGUgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeSAtLSByZXByZXNlbnRlZCBieSBhbiBlbXB0eSBzdHJpbmcgLS0KKyAgICAgICAgIGlzIG5vIGxvbmdlciB2YWxpZCB0aGVuIGBgTm9uZWBgIGlzIHJldHVybmVkIGJ1dCBubyB2YWx1ZSBpcyBjYWNoZWQKKyAgICAgICAgIGluIDpkYXRhOmBzeXMucGF0aF9pbXBvcnRlcl9jYWNoZWAuCisKICAgIC4uIGNsYXNzbWV0aG9kOjogZmluZF9tb2R1bGUoZnVsbG5hbWUsIHBhdGg9Tm9uZSkKIAogICAgICAgQSBsZWdhY3kgd3JhcHBlciBhcm91bmQgOm1ldGg6YGZpbmRfc3BlY2AuCkBAIC0xMTIzLDYgKzExNDQsMjEgQEAKIAogICAgLi4gdmVyc2lvbmFkZGVkOjogMy40CiAKKy4uIGZ1bmN0aW9uOjogbW9kdWxlX2Zyb21fc3BlYyhzcGVjKQorCisgICBDcmVhdGUgYSBuZXcgbW9kdWxlIGJhc2VkIG9uICoqc3BlYyoqIGFuZCBgYHNwZWMubG9hZGVyLmNyZWF0ZV9tb2R1bGUoKWBgLgorCisgICBJZiBgYHNwZWMubG9hZGVyLmNyZWF0ZV9tb2R1bGUoKWBgIGRvZXMgbm90IHJldHVybiBgYE5vbmVgYCwgdGhlbiBhbnkKKyAgIHByZS1leGlzdGluZyBhdHRyaWJ1dGVzIHdpbGwgbm90IGJlIHJlc2V0LiBBbHNvLCBubyA6ZXhjOmBBdHRyaWJ1dGVFcnJvcmAKKyAgIHdpbGwgYmUgcmFpc2VkIGlmIHRyaWdnZXJlZCB3aGlsZSBhY2Nlc3NpbmcgKipzcGVjKiogb3Igc2V0dGluZyBhbiBhdHRyaWJ1dGUKKyAgIG9uIHRoZSBtb2R1bGUuCisKKyAgIFRoaXMgZnVuY3Rpb24gaXMgcHJlZmVycmVkIG92ZXIgdXNpbmcgOmNsYXNzOmB0eXBlcy5Nb2R1bGVUeXBlYCB0byBjcmVhdGUgYQorICAgbmV3IG1vZHVsZSBhcyAqKnNwZWMqKiBpcyB1c2VkIHRvIHNldCBhcyBtYW55IGltcG9ydC1jb250cm9sbGVkIGF0dHJpYnV0ZXMgb24KKyAgIHRoZSBtb2R1bGUgYXMgcG9zc2libGUuCisKKyAgIC4uIHZlcnNpb25hZGRlZDo6IDMuNQorCiAuLiBkZWNvcmF0b3I6OiBtb2R1bGVfZm9yX2xvYWRlcgogCiAgICAgQSA6dGVybTpgZGVjb3JhdG9yYCBmb3IgOm1ldGg6YGltcG9ydGxpYi5hYmMuTG9hZGVyLmxvYWRfbW9kdWxlYApAQCAtMTIwMSwzICsxMjM3LDM5IEBACiAgICBtb2R1bGUgd2lsbCBiZSBmaWxlLWJhc2VkLgogCiAgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjQKKworLi4gY2xhc3M6OiBMYXp5TG9hZGVyKGxvYWRlcikKKworICAgQSBjbGFzcyB3aGljaCBwb3N0cG9uZXMgdGhlIGV4ZWN1dGlvbiBvZiB0aGUgbG9hZGVyIG9mIGEgbW9kdWxlIHVudGlsIHRoZQorICAgbW9kdWxlIGhhcyBhbiBhdHRyaWJ1dGUgYWNjZXNzZWQuCisKKyAgIFRoaXMgY2xhc3MgKipvbmx5Kiogd29ya3Mgd2l0aCBsb2FkZXJzIHRoYXQgZGVmaW5lCisgICA6bWV0aDpgfmltcG9ydGxpYi5hYmMuTG9hZGVyLmV4ZWNfbW9kdWxlYCBhcyBjb250cm9sIG92ZXIgd2hhdCBtb2R1bGUgdHlwZQorICAgaXMgdXNlZCBmb3IgdGhlIG1vZHVsZSBpcyByZXF1aXJlZC4gRm9yIHRob3NlIHNhbWUgcmVhc29ucywgdGhlIGxvYWRlcidzCisgICA6bWV0aDpgfmltcG9ydGxpYi5hYmMuTG9hZGVyLmNyZWF0ZV9tb2R1bGVgIG1ldGhvZCB3aWxsIGJlIGlnbm9yZWQgKGkuZS4sIHRoZQorICAgbG9hZGVyJ3MgbWV0aG9kIHNob3VsZCBvbmx5IHJldHVybiBgYE5vbmVgYCkuIEZpbmFsbHksCisgICBtb2R1bGVzIHdoaWNoIHN1YnN0aXR1dGUgdGhlIG9iamVjdCBwbGFjZWQgaW50byA6YXR0cjpgc3lzLm1vZHVsZXNgIHdpbGwKKyAgIG5vdCB3b3JrIGFzIHRoZXJlIGlzIG5vIHdheSB0byBwcm9wZXJseSByZXBsYWNlIHRoZSBtb2R1bGUgcmVmZXJlbmNlcworICAgdGhyb3VnaG91dCB0aGUgaW50ZXJwcmV0ZXIgc2FmZWx5OyA6ZXhjOmBWYWx1ZUVycm9yYCBpcyByYWlzZWQgaWYgc3VjaCBhCisgICBzdWJzdGl0dXRpb24gaXMgZGV0ZWN0ZWQuCisKKyAgIC4uIG5vdGU6OgorICAgICAgRm9yIHByb2plY3RzIHdoZXJlIHN0YXJ0dXAgdGltZSBpcyBjcml0aWNhbCwgdGhpcyBjbGFzcyBhbGxvd3MgZm9yCisgICAgICBwb3RlbnRpYWxseSBtaW5pbWl6aW5nIHRoZSBjb3N0IG9mIGxvYWRpbmcgYSBtb2R1bGUgaWYgaXQgaXMgbmV2ZXIgdXNlZC4KKyAgICAgIEZvciBwcm9qZWN0cyB3aGVyZSBzdGFydHVwIHRpbWUgaXMgbm90IGVzc2VudGlhbCB0aGVuIHVzZSBvZiB0aGlzIGNsYXNzIGlzCisgICAgICAqKmhlYXZpbHkqKiBkaXNjb3VyYWdlZCBkdWUgdG8gZXJyb3IgbWVzc2FnZXMgY3JlYXRlZCBkdXJpbmcgbG9hZGluZyBiZWluZworICAgICAgcG9zdHBvbmVkIGFuZCB0aHVzIG9jY3VycmluZyBvdXQgb2YgY29udGV4dC4KKworICAgLi4gdmVyc2lvbmFkZGVkOjogMy41CisKKyAgIC4uIGNsYXNzbWV0aG9kOjogZmFjdG9yeShsb2FkZXIpCisKKyAgICAgIEEgc3RhdGljIG1ldGhvZCB3aGljaCByZXR1cm5zIGEgY2FsbGFibGUgdGhhdCBjcmVhdGVzIGEgbGF6eSBsb2FkZXIuIFRoaXMKKyAgICAgIGlzIG1lYW50IHRvIGJlIHVzZWQgaW4gc2l0dWF0aW9ucyB3aGVyZSB0aGUgbG9hZGVyIGlzIHBhc3NlZCBieSBjbGFzcworICAgICAgaW5zdGVhZCBvZiBieSBpbnN0YW5jZS4KKyAgICAgIDo6CisKKyAgICAgICAgc3VmZml4ZXMgPSBpbXBvcnRsaWIubWFjaGluZXJ5LlNPVVJDRV9TVUZGSVhFUworICAgICAgICBsb2FkZXIgPSBpbXBvcnRsaWIubWFjaGluZXJ5LlNvdXJjZUZpbGVMb2FkZXIKKyAgICAgICAgbGF6eV9sb2FkZXIgPSBpbXBvcnRsaWIudXRpbC5MYXp5TG9hZGVyLmZhY3RvcnkobG9hZGVyKQorICAgICAgICBmaW5kZXIgPSBpbXBvcnRsaWIubWFjaGluZXJ5LkZpbGVGaW5kZXIocGF0aCwgWyhsYXp5X2xvYWRlciwgc3VmZml4ZXMpXSkKZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L2luc3BlY3QucnN0IGIvRG9jL2xpYnJhcnkvaW5zcGVjdC5yc3QKaW5kZXggYzU0MGIxMS4uM2QyMTMyZiAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvaW5zcGVjdC5yc3QKKysrIGIvRG9jL2xpYnJhcnkvaW5zcGVjdC5yc3QKQEAgLTE1OSw2ICsxNTksMTYgQEAKIHwgICAgICAgICAgIHwgICAgICAgICAgICAgICAgIHwgYXJndW1lbnRzIGFuZCBsb2NhbCAgICAgICB8CiB8ICAgICAgICAgICB8ICAgICAgICAgICAgICAgICB8IHZhcmlhYmxlcyAgICAgICAgICAgICAgICAgfAogKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKK3wgZ2VuZXJhdG9yIHwgX19uYW1lX18gICAgICAgIHwgbmFtZSAgICAgICAgICAgICAgICAgICAgICB8CisrLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworfCAgICAgICAgICAgfCBfX3F1YWxuYW1lX18gICAgfCBxdWFsaWZpZWQgbmFtZSAgICAgICAgICAgIHwKKystLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCit8ICAgICAgICAgICB8IGdpX2ZyYW1lICAgICAgICB8IGZyYW1lICAgICAgICAgICAgICAgICAgICAgfAorKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKK3wgICAgICAgICAgIHwgZ2lfcnVubmluZyAgICAgIHwgaXMgdGhlIGdlbmVyYXRvciBydW5uaW5nPyB8CisrLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworfCAgICAgICAgICAgfCBnaV9jb2RlICAgICAgICAgfCBjb2RlICAgICAgICAgICAgICAgICAgICAgIHwKKystLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCiB8IGJ1aWx0aW4gICB8IF9fZG9jX18gICAgICAgICB8IGRvY3VtZW50YXRpb24gc3RyaW5nICAgICAgfAogKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKIHwgICAgICAgICAgIHwgX19uYW1lX18gICAgICAgIHwgb3JpZ2luYWwgbmFtZSBvZiB0aGlzICAgICB8CkBAIC0xNjksNiArMTc5LDEyIEBACiB8ICAgICAgICAgICB8ICAgICAgICAgICAgICAgICB8IGBgTm9uZWBgICAgICAgICAgICAgICAgICAgfAogKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKIAorLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjUKKworICAgQWRkIGBgX19xdWFsbmFtZV9fYGAgYXR0cmlidXRlIHRvIGdlbmVyYXRvcnMuIFRoZSBgYF9fbmFtZV9fYGAgYXR0cmlidXRlIG9mCisgICBnZW5lcmF0b3JzIGlzIG5vdyBzZXQgZnJvbSB0aGUgZnVuY3Rpb24gbmFtZSwgaW5zdGVhZCBvZiB0aGUgY29kZSBuYW1lLCBhbmQKKyAgIGl0IGNhbiBub3cgYmUgbW9kaWZpZWQuCisKIAogLi4gZnVuY3Rpb246OiBnZXRtZW1iZXJzKG9iamVjdFssIHByZWRpY2F0ZV0pCiAKQEAgLTQ2Miw2ICs0NzgsOSBAQAogICAgU2lnbmF0dXJlIG9iamVjdHMgYXJlICppbW11dGFibGUqLiAgVXNlIDptZXRoOmBTaWduYXR1cmUucmVwbGFjZWAgdG8gbWFrZSBhCiAgICBtb2RpZmllZCBjb3B5LgogCisgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuNQorICAgICAgU2lnbmF0dXJlIG9iamVjdHMgYXJlIHBpY2tsYWJsZSBhbmQgaGFzaGFibGUuCisKICAgIC4uIGF0dHJpYnV0ZTo6IFNpZ25hdHVyZS5lbXB0eQogCiAgICAgICBBIHNwZWNpYWwgY2xhc3MtbGV2ZWwgbWFya2VyIHRvIHNwZWNpZnkgYWJzZW5jZSBvZiBhIHJldHVybiBhbm5vdGF0aW9uLgpAQCAtNTA2LDEyICs1MjUsMjkgQEAKICAgICAgICAgID4+PiBzdHIobmV3X3NpZykKICAgICAgICAgICIoYSwgYikgLT4gJ25ldyByZXR1cm4gYW5ubyciCiAKKyAgIC4uIGNsYXNzbWV0aG9kOjogU2lnbmF0dXJlLmZyb21fY2FsbGFibGUob2JqKQorCisgICAgICAgUmV0dXJuIGEgOmNsYXNzOmBTaWduYXR1cmVgIChvciBpdHMgc3ViY2xhc3MpIG9iamVjdCBmb3IgYSBnaXZlbiBjYWxsYWJsZQorICAgICAgIGBgb2JqYGAuIFRoaXMgbWV0aG9kIHNpbXBsaWZpZXMgc3ViY2xhc3Npbmcgb2YgOmNsYXNzOmBTaWduYXR1cmVgOgorCisgICAgICAgOjoKKworICAgICAgICAgY2xhc3MgTXlTaWduYXR1cmUoU2lnbmF0dXJlKToKKyAgICAgICAgICAgICBwYXNzCisgICAgICAgICBzaWcgPSBNeVNpZ25hdHVyZS5mcm9tX2NhbGxhYmxlKG1pbikKKyAgICAgICAgIGFzc2VydCBpc2luc3RhbmNlKHNpZywgTXlTaWduYXR1cmUpCisKKyAgICAgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjUKKwogCiAuLiBjbGFzczo6IFBhcmFtZXRlcihuYW1lLCBraW5kLCBcKiwgZGVmYXVsdD1QYXJhbWV0ZXIuZW1wdHksIGFubm90YXRpb249UGFyYW1ldGVyLmVtcHR5KQogCiAgICBQYXJhbWV0ZXIgb2JqZWN0cyBhcmUgKmltbXV0YWJsZSouICBJbnN0ZWFkIG9mIG1vZGlmeWluZyBhIFBhcmFtZXRlciBvYmplY3QsCiAgICB5b3UgY2FuIHVzZSA6bWV0aDpgUGFyYW1ldGVyLnJlcGxhY2VgIHRvIGNyZWF0ZSBhIG1vZGlmaWVkIGNvcHkuCiAKKyAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy41CisgICAgICBQYXJhbWV0ZXIgb2JqZWN0cyBhcmUgcGlja2xhYmxlIGFuZCBoYXNoYWJsZS4KKwogICAgLi4gYXR0cmlidXRlOjogUGFyYW1ldGVyLmVtcHR5CiAKICAgICAgIEEgc3BlY2lhbCBjbGFzcy1sZXZlbCBtYXJrZXIgdG8gc3BlY2lmeSBhYnNlbmNlIG9mIGRlZmF1bHQgdmFsdWVzIGFuZApAQCAtODQ5LDExICs4ODUsMTcgQEAKIFRoZSBpbnRlcnByZXRlciBzdGFjawogLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKLVdoZW4gdGhlIGZvbGxvd2luZyBmdW5jdGlvbnMgcmV0dXJuICJmcmFtZSByZWNvcmRzLCIgZWFjaCByZWNvcmQgaXMgYSB0dXBsZSBvZgotc2l4IGl0ZW1zOiB0aGUgZnJhbWUgb2JqZWN0LCB0aGUgZmlsZW5hbWUsIHRoZSBsaW5lIG51bWJlciBvZiB0aGUgY3VycmVudCBsaW5lLAorV2hlbiB0aGUgZm9sbG93aW5nIGZ1bmN0aW9ucyByZXR1cm4gImZyYW1lIHJlY29yZHMsIiBlYWNoIHJlY29yZCBpcyBhCis6dGVybTpgbmFtZWQgdHVwbGVgCitgYEZyYW1lSW5mbyhmcmFtZSwgZmlsZW5hbWUsIGxpbmVubywgZnVuY3Rpb24sIGNvZGVfY29udGV4dCwgaW5kZXgpYGAuCitUaGUgdHVwbGUgY29udGFpbnMgdGhlIGZyYW1lIG9iamVjdCwgdGhlIGZpbGVuYW1lLCB0aGUgbGluZSBudW1iZXIgb2YgdGhlCitjdXJyZW50IGxpbmUsCiB0aGUgZnVuY3Rpb24gbmFtZSwgYSBsaXN0IG9mIGxpbmVzIG9mIGNvbnRleHQgZnJvbSB0aGUgc291cmNlIGNvZGUsIGFuZCB0aGUKIGluZGV4IG9mIHRoZSBjdXJyZW50IGxpbmUgd2l0aGluIHRoYXQgbGlzdC4KIAorLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjUKKyAgIFJldHVybiBhIG5hbWVkIHR1cGxlIGluc3RlYWQgb2YgYSB0dXBsZS4KKwogLi4gbm90ZTo6CiAKICAgIEtlZXBpbmcgcmVmZXJlbmNlcyB0byBmcmFtZSBvYmplY3RzLCBhcyBmb3VuZCBpbiB0aGUgZmlyc3QgZWxlbWVudCBvZiB0aGUgZnJhbWUKZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L2lvLnJzdCBiL0RvYy9saWJyYXJ5L2lvLnJzdAppbmRleCAzYWRmNmU5Li42MzRiZjU4IDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS9pby5yc3QKKysrIGIvRG9jL2xpYnJhcnkvaW8ucnN0CkBAIC0zOTEsOCArMzkxLDggQEAKICAgIC4uIG1ldGhvZDo6IHJlYWRpbnRvKGIpCiAKICAgICAgIFJlYWQgdXAgdG8gYGBsZW4oYilgYCBieXRlcyBpbnRvIDpjbGFzczpgYnl0ZWFycmF5YCAqYiogYW5kIHJldHVybiB0aGUKLSAgICAgIG51bWJlciBvZiBieXRlcyByZWFkLiAgSWYgdGhlIG9iamVjdCBpcyBpbiBub24tYmxvY2tpbmcgbW9kZSBhbmQgbm8KLSAgICAgIGJ5dGVzIGFyZSBhdmFpbGFibGUsIGBgTm9uZWBgIGlzIHJldHVybmVkLgorICAgICAgbnVtYmVyIG9mIGJ5dGVzIHJlYWQuICBJZiB0aGUgb2JqZWN0IGlzIGluIG5vbi1ibG9ja2luZyBtb2RlIGFuZCBubyBieXRlcworICAgICAgYXJlIGF2YWlsYWJsZSwgYGBOb25lYGAgaXMgcmV0dXJuZWQuCiAKICAgIC4uIG1ldGhvZDo6IHdyaXRlKGIpCiAKQEAgLTQ2NSw5ICs0NjUsMTAgQEAKIAogICAgLi4gbWV0aG9kOjogcmVhZDEoc2l6ZT0tMSkKIAotICAgICAgUmVhZCBhbmQgcmV0dXJuIHVwIHRvICpzaXplKiBieXRlcywgd2l0aCBhdCBtb3N0IG9uZSBjYWxsIHRvIHRoZSB1bmRlcmx5aW5nCi0gICAgICByYXcgc3RyZWFtJ3MgOm1ldGg6YH5SYXdJT0Jhc2UucmVhZGAgbWV0aG9kLiAgVGhpcyBjYW4gYmUgdXNlZnVsIGlmIHlvdQotICAgICAgYXJlIGltcGxlbWVudGluZyB5b3VyIG93biBidWZmZXJpbmcgb24gdG9wIG9mIGEgOmNsYXNzOmBCdWZmZXJlZElPQmFzZWAKKyAgICAgIFJlYWQgYW5kIHJldHVybiB1cCB0byAqc2l6ZSogYnl0ZXMsIHdpdGggYXQgbW9zdCBvbmUgY2FsbCB0byB0aGUKKyAgICAgIHVuZGVybHlpbmcgcmF3IHN0cmVhbSdzIDptZXRoOmB+UmF3SU9CYXNlLnJlYWRgIChvcgorICAgICAgOm1ldGg6YH5SYXdJT0Jhc2UucmVhZGludG9gKSBtZXRob2QuICBUaGlzIGNhbiBiZSB1c2VmdWwgaWYgeW91IGFyZQorICAgICAgaW1wbGVtZW50aW5nIHlvdXIgb3duIGJ1ZmZlcmluZyBvbiB0b3Agb2YgYSA6Y2xhc3M6YEJ1ZmZlcmVkSU9CYXNlYAogICAgICAgb2JqZWN0LgogCiAgICAuLiBtZXRob2Q6OiByZWFkaW50byhiKQpAQCAtNDc4LDggKzQ3OSwxOSBAQAogICAgICAgTGlrZSA6bWV0aDpgcmVhZGAsIG11bHRpcGxlIHJlYWRzIG1heSBiZSBpc3N1ZWQgdG8gdGhlIHVuZGVybHlpbmcgcmF3CiAgICAgICBzdHJlYW0sIHVubGVzcyB0aGUgbGF0dGVyIGlzIGludGVyYWN0aXZlLgogCi0gICAgICBBIDpleGM6YEJsb2NraW5nSU9FcnJvcmAgaXMgcmFpc2VkIGlmIHRoZSB1bmRlcmx5aW5nIHJhdyBzdHJlYW0gaXMgaW4KLSAgICAgIG5vbiBibG9ja2luZy1tb2RlLCBhbmQgaGFzIG5vIGRhdGEgYXZhaWxhYmxlIGF0IHRoZSBtb21lbnQuCisgICAgICBBIDpleGM6YEJsb2NraW5nSU9FcnJvcmAgaXMgcmFpc2VkIGlmIHRoZSB1bmRlcmx5aW5nIHJhdyBzdHJlYW0gaXMgaW4gbm9uCisgICAgICBibG9ja2luZy1tb2RlLCBhbmQgaGFzIG5vIGRhdGEgYXZhaWxhYmxlIGF0IHRoZSBtb21lbnQuCisKKyAgIC4uIG1ldGhvZDo6IHJlYWRpbnRvMShiKQorCisgICAgICBSZWFkIHVwIHRvIGBgbGVuKGIpYGAgYnl0ZXMgaW50byBieXRlYXJyYXkgKmIqLCAsdXNpbmcgYXQgbW9zdCBvbmUgY2FsbCB0bworICAgICAgdGhlIHVuZGVybHlpbmcgcmF3IHN0cmVhbSdzIDptZXRoOmB+UmF3SU9CYXNlLnJlYWRgIChvcgorICAgICAgOm1ldGg6YH5SYXdJT0Jhc2UucmVhZGludG9gKSBtZXRob2QuIFJldHVybiB0aGUgbnVtYmVyIG9mIGJ5dGVzIHJlYWQuCisKKyAgICAgIEEgOmV4YzpgQmxvY2tpbmdJT0Vycm9yYCBpcyByYWlzZWQgaWYgdGhlIHVuZGVybHlpbmcgcmF3IHN0cmVhbSBpcyBpbiBub24KKyAgICAgIGJsb2NraW5nLW1vZGUsIGFuZCBoYXMgbm8gZGF0YSBhdmFpbGFibGUgYXQgdGhlIG1vbWVudC4KKworICAgICAgLi4gdmVyc2lvbmFkZGVkOjogMy41CiAKICAgIC4uIG1ldGhvZDo6IHdyaXRlKGIpCiAKQEAgLTUwNyw5ICs1MTksMTIgQEAKICAgIFRoZSAqbmFtZSogY2FuIGJlIG9uZSBvZiB0d28gdGhpbmdzOgogCiAgICAqIGEgY2hhcmFjdGVyIHN0cmluZyBvciA6Y2xhc3M6YGJ5dGVzYCBvYmplY3QgcmVwcmVzZW50aW5nIHRoZSBwYXRoIHRvIHRoZQotICAgICBmaWxlIHdoaWNoIHdpbGwgYmUgb3BlbmVkOworICAgICBmaWxlIHdoaWNoIHdpbGwgYmUgb3BlbmVkLiBJbiB0aGlzIGNhc2UgY2xvc2VmZCBtdXN0IGJlIFRydWUgKHRoZSBkZWZhdWx0KQorICAgICBvdGhlcndpc2UgYW4gZXJyb3Igd2lsbCBiZSByYWlzZWQuCiAgICAqIGFuIGludGVnZXIgcmVwcmVzZW50aW5nIHRoZSBudW1iZXIgb2YgYW4gZXhpc3RpbmcgT1MtbGV2ZWwgZmlsZSBkZXNjcmlwdG9yCi0gICAgIHRvIHdoaWNoIHRoZSByZXN1bHRpbmcgOmNsYXNzOmBGaWxlSU9gIG9iamVjdCB3aWxsIGdpdmUgYWNjZXNzLgorICAgICB0byB3aGljaCB0aGUgcmVzdWx0aW5nIDpjbGFzczpgRmlsZUlPYCBvYmplY3Qgd2lsbCBnaXZlIGFjY2Vzcy4gV2hlbiB0aGUKKyAgICAgRmlsZUlPIG9iamVjdCBpcyBjbG9zZWQgdGhpcyBmZCB3aWxsIGJlIGNsb3NlZCBhcyB3ZWxsLCB1bmxlc3MgKmNsb3NlZmQqCisgICAgIGlzIHNldCB0byBgYEZhbHNlYGAuCiAKICAgIFRoZSAqbW9kZSogY2FuIGJlIGBgJ3InYGAsIGBgJ3cnYGAsIGBgJ3gnYGAgb3IgYGAnYSdgYCBmb3IgcmVhZGluZwogICAgKGRlZmF1bHQpLCB3cml0aW5nLCBleGNsdXNpdmUgY3JlYXRpb24gb3IgYXBwZW5kaW5nLiBUaGUgZmlsZSB3aWxsIGJlCkBAIC01OTgsNiArNjEzLDExIEBACiAKICAgICAgIEluIDpjbGFzczpgQnl0ZXNJT2AsIHRoaXMgaXMgdGhlIHNhbWUgYXMgOm1ldGg6YHJlYWRgLgogCisgICAuLiBtZXRob2Q6OiByZWFkaW50bzEoKQorCisgICAgICBJbiA6Y2xhc3M6YEJ5dGVzSU9gLCB0aGlzIGlzIHRoZSBzYW1lIGFzIDptZXRoOmByZWFkaW50b2AuCisKKyAgICAgIC4uIHZlcnNpb25hZGRlZDo6IDMuNQogCiAuLiBjbGFzczo6IEJ1ZmZlcmVkUmVhZGVyKHJhdywgYnVmZmVyX3NpemU9REVGQVVMVF9CVUZGRVJfU0laRSkKIApAQCAtODA3LDExICs4MjcsMTMgQEAKICAgIGV4Y2VwdGlvbiBpZiB0aGVyZSBpcyBhbiBlbmNvZGluZyBlcnJvciAodGhlIGRlZmF1bHQgb2YgYGBOb25lYGAgaGFzIHRoZSBzYW1lCiAgICBlZmZlY3QpLCBvciBwYXNzIGBgJ2lnbm9yZSdgYCB0byBpZ25vcmUgZXJyb3JzLiAgKE5vdGUgdGhhdCBpZ25vcmluZyBlbmNvZGluZwogICAgZXJyb3JzIGNhbiBsZWFkIHRvIGRhdGEgbG9zcy4pICBgYCdyZXBsYWNlJ2BgIGNhdXNlcyBhIHJlcGxhY2VtZW50IG1hcmtlcgotICAgKHN1Y2ggYXMgYGAnPydgYCkgdG8gYmUgaW5zZXJ0ZWQgd2hlcmUgdGhlcmUgaXMgbWFsZm9ybWVkIGRhdGEuICBXaGVuCi0gICB3cml0aW5nLCBgYCd4bWxjaGFycmVmcmVwbGFjZSdgYCAocmVwbGFjZSB3aXRoIHRoZSBhcHByb3ByaWF0ZSBYTUwgY2hhcmFjdGVyCi0gICByZWZlcmVuY2UpIG9yIGBgJ2JhY2tzbGFzaHJlcGxhY2UnYGAgKHJlcGxhY2Ugd2l0aCBiYWNrc2xhc2hlZCBlc2NhcGUKLSAgIHNlcXVlbmNlcykgY2FuIGJlIHVzZWQuICBBbnkgb3RoZXIgZXJyb3IgaGFuZGxpbmcgbmFtZSB0aGF0IGhhcyBiZWVuCi0gICByZWdpc3RlcmVkIHdpdGggOmZ1bmM6YGNvZGVjcy5yZWdpc3Rlcl9lcnJvcmAgaXMgYWxzbyB2YWxpZC4KKyAgIChzdWNoIGFzIGBgJz8nYGApIHRvIGJlIGluc2VydGVkIHdoZXJlIHRoZXJlIGlzIG1hbGZvcm1lZCBkYXRhLgorICAgYGAnYmFja3NsYXNocmVwbGFjZSdgYCBjYXVzZXMgbWFsZm9ybWVkIGRhdGEgdG8gYmUgcmVwbGFjZWQgYnkgYQorICAgYmFja3NsYXNoZWQgZXNjYXBlIHNlcXVlbmNlLiAgV2hlbiB3cml0aW5nLCBgYCd4bWxjaGFycmVmcmVwbGFjZSdgYAorICAgKHJlcGxhY2Ugd2l0aCB0aGUgYXBwcm9wcmlhdGUgWE1MIGNoYXJhY3RlciByZWZlcmVuY2UpICBvciBgYCduYW1lcmVwbGFjZSdgYAorICAgKHJlcGxhY2Ugd2l0aCBgYFxOey4uLn1gYCBlc2NhcGUgc2VxdWVuY2VzKSBjYW4gYmUgdXNlZC4gIEFueSBvdGhlciBlcnJvcgorICAgaGFuZGxpbmcgbmFtZSB0aGF0IGhhcyBiZWVuIHJlZ2lzdGVyZWQgd2l0aAorICAgOmZ1bmM6YGNvZGVjcy5yZWdpc3Rlcl9lcnJvcmAgaXMgYWxzbyB2YWxpZC4KIAogICAgLi4gaW5kZXg6OgogICAgICAgc2luZ2xlOiB1bml2ZXJzYWwgbmV3bGluZXM7IGlvLlRleHRJT1dyYXBwZXIgY2xhc3MKZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L2lwYWRkcmVzcy5yc3QgYi9Eb2MvbGlicmFyeS9pcGFkZHJlc3MucnN0CmluZGV4IGNhODc5ODAuLjdiNTk0NDAgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L2lwYWRkcmVzcy5yc3QKKysrIGIvRG9jL2xpYnJhcnkvaXBhZGRyZXNzLnJzdApAQCAtMTAzLDcgKzEwMyw3IEBACiAgICAxLiBBIHN0cmluZyBpbiBkZWNpbWFsLWRvdCBub3RhdGlvbiwgY29uc2lzdGluZyBvZiBmb3VyIGRlY2ltYWwgaW50ZWdlcnMgaW4KICAgICAgIHRoZSBpbmNsdXNpdmUgcmFuZ2UgMC0yNTUsIHNlcGFyYXRlZCBieSBkb3RzIChlLmcuIGBgMTkyLjE2OC4wLjFgYCkuIEVhY2gKICAgICAgIGludGVnZXIgcmVwcmVzZW50cyBhbiBvY3RldCAoYnl0ZSkgaW4gdGhlIGFkZHJlc3MuIExlYWRpbmcgemVyb2VzIGFyZQotICAgICAgdG9sZXJhdGVkIG9ubHkgZm9yIHZhbHVlcyBsZXNzIHRoZW4gOCAoYXMgdGhlcmUgaXMgbm8gYW1iaWd1aXR5CisgICAgICB0b2xlcmF0ZWQgb25seSBmb3IgdmFsdWVzIGxlc3MgdGhhbiA4IChhcyB0aGVyZSBpcyBubyBhbWJpZ3VpdHkKICAgICAgIGJldHdlZW4gdGhlIGRlY2ltYWwgYW5kIG9jdGFsIGludGVycHJldGF0aW9ucyBvZiBzdWNoIHN0cmluZ3MpLgogICAgMi4gQW4gaW50ZWdlciB0aGF0IGZpdHMgaW50byAzMiBiaXRzLgogICAgMy4gQW4gaW50ZWdlciBwYWNrZWQgaW50byBhIDpjbGFzczpgYnl0ZXNgIG9iamVjdCBvZiBsZW5ndGggNCAobW9zdApAQCAtMTQ2LDYgKzE0NiwyMCBAQAogICAgICAgdGhlIGFwcHJvcHJpYXRlIGxlbmd0aCAobW9zdCBzaWduaWZpY2FudCBvY3RldCBmaXJzdCkuIFRoaXMgaXMgNCBieXRlcwogICAgICAgZm9yIElQdjQgYW5kIDE2IGJ5dGVzIGZvciBJUHY2LgogCisgICAuLiBhdHRyaWJ1dGU6OiByZXZlcnNlX3BvaW50ZXIKKworICAgICAgVGhlIG5hbWUgb2YgdGhlIHJldmVyc2UgRE5TIFBUUiByZWNvcmQgZm9yIHRoZSBJUCBhZGRyZXNzLCBlLmcuOjoKKworICAgICAgICAgID4+PiBpcGFkZHJlc3MuaXBfYWRkcmVzcygiMTI3LjAuMC4xIikucmV2ZXJzZV9wb2ludGVyCisgICAgICAgICAgJzEuMC4wLjEyNy5pbi1hZGRyLmFycGEnCisgICAgICAgICAgPj4+IGlwYWRkcmVzcy5pcF9hZGRyZXNzKCIyMDAxOmRiODo6MSIpLnJldmVyc2VfcG9pbnRlcgorICAgICAgICAgICcxLjAuMC4wLjAuMC4wLjAuMC4wLjAuMC4wLjAuMC4wLjAuMC4wLjAuMC4wLjAuMC44LmIuZC4wLjEuMC4wLjIuaXA2LmFycGEnCisKKyAgICAgIFRoaXMgaXMgdGhlIG5hbWUgdGhhdCBjb3VsZCBiZSB1c2VkIGZvciBwZXJmb3JtaW5nIGEgUFRSIGxvb2t1cCwgbm90IHRoZQorICAgICAgcmVzb2x2ZWQgaG9zdG5hbWUgaXRzZWxmLgorCisgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjUKKwogICAgLi4gYXR0cmlidXRlOjogaXNfbXVsdGljYXN0CiAKICAgICAgIGBgVHJ1ZWBgIGlmIHRoZSBhZGRyZXNzIGlzIHJlc2VydmVkIGZvciBtdWx0aWNhc3QgdXNlLiAgU2VlCkBAIC0yMjYsNiArMjQwLDcgQEAKICAgIDpjbGFzczpgSVB2NEFkZHJlc3NgIGNsYXNzOgogCiAgICAuLiBhdHRyaWJ1dGU6OiBwYWNrZWQKKyAgIC4uIGF0dHJpYnV0ZTo6IHJldmVyc2VfcG9pbnRlcgogICAgLi4gYXR0cmlidXRlOjogdmVyc2lvbgogICAgLi4gYXR0cmlidXRlOjogbWF4X3ByZWZpeGxlbgogICAgLi4gYXR0cmlidXRlOjogaXNfbXVsdGljYXN0CkBAIC0zNzcsNiArMzkyLDEyIEBACiAgICAzLiBBbiBpbnRlZ2VyIHBhY2tlZCBpbnRvIGEgOmNsYXNzOmBieXRlc2Agb2JqZWN0IG9mIGxlbmd0aCA0LCBiaWctZW5kaWFuLgogICAgICAgVGhlIGludGVycHJldGF0aW9uIGlzIHNpbWlsYXIgdG8gYW4gaW50ZWdlciAqYWRkcmVzcyouCiAKKyAgIDQuIEEgdHdvLXR1cGxlIG9mIGFuIGFkZHJlc3MgZGVzY3JpcHRpb24gYW5kIGEgbmV0bWFzaywgd2hlcmUgdGhlIGFkZHJlc3MKKyAgICAgIGRlc2NyaXB0aW9uIGlzIGVpdGhlciBhIHN0cmluZywgYSAzMi1iaXRzIGludGVnZXIsIGEgNC1ieXRlcyBwYWNrZWQKKyAgICAgIGludGVnZXIsIG9yIGFuIGV4aXN0aW5nIElQdjRBZGRyZXNzIG9iamVjdDsgYW5kIHRoZSBuZXRtYXNrIGlzIGVpdGhlcgorICAgICAgYW4gaW50ZWdlciByZXByZXNlbnRpbmcgdGhlIHByZWZpeCBsZW5ndGggKGUuZy4gYGAyNGBgKSBvciBhIHN0cmluZworICAgICAgcmVwcmVzZW50aW5nIHRoZSBwcmVmaXggbWFzayAoZS5nLiBgYDI1NS4yNTUuMjU1LjBgYCkuCisKICAgIEFuIDpleGM6YEFkZHJlc3NWYWx1ZUVycm9yYCBpcyByYWlzZWQgaWYgKmFkZHJlc3MqIGlzIG5vdCBhIHZhbGlkIElQdjQKICAgIGFkZHJlc3MuICBBIDpleGM6YE5ldG1hc2tWYWx1ZUVycm9yYCBpcyByYWlzZWQgaWYgdGhlIG1hc2sgaXMgbm90IHZhbGlkIGZvcgogICAgYW4gSVB2NCBhZGRyZXNzLgpAQCAtMzg5LDYgKzQxMCwxMCBAQAogICAgb2JqZWN0cyB3aWxsIHJhaXNlIDpleGM6YFR5cGVFcnJvcmAgaWYgdGhlIGFyZ3VtZW50J3MgSVAgdmVyc2lvbiBpcwogICAgaW5jb21wYXRpYmxlIHRvIGBgc2VsZmBgCiAKKyAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy41CisKKyAgICAgIEFkZGVkIHRoZSB0d28tdHVwbGUgZm9ybSBmb3IgdGhlICphZGRyZXNzKiBjb25zdHJ1Y3RvciBwYXJhbWV0ZXIuCisKICAgIC4uIGF0dHJpYnV0ZTo6IHZlcnNpb24KICAgIC4uIGF0dHJpYnV0ZTo6IG1heF9wcmVmaXhsZW4KIApAQCAtNTUzLDYgKzU3OCwxMSBAQAogICAgMy4gQW4gaW50ZWdlciBwYWNrZWQgaW50byBhIDpjbGFzczpgYnl0ZXNgIG9iamVjdCBvZiBsZW5ndGggMTYsIGJpdC1lbmRpYW4uCiAgICAgICBUaGUgaW50ZXJwcmV0YXRpb24gaXMgc2ltaWxhciB0byBhbiBpbnRlZ2VyICphZGRyZXNzKi4KIAorICAgNC4gQSB0d28tdHVwbGUgb2YgYW4gYWRkcmVzcyBkZXNjcmlwdGlvbiBhbmQgYSBuZXRtYXNrLCB3aGVyZSB0aGUgYWRkcmVzcworICAgICAgZGVzY3JpcHRpb24gaXMgZWl0aGVyIGEgc3RyaW5nLCBhIDEyOC1iaXRzIGludGVnZXIsIGEgMTYtYnl0ZXMgcGFja2VkCisgICAgICBpbnRlZ2VyLCBvciBhbiBleGlzdGluZyBJUHY0QWRkcmVzcyBvYmplY3Q7IGFuZCB0aGUgbmV0bWFzayBpcyBhbgorICAgICAgaW50ZWdlciByZXByZXNlbnRpbmcgdGhlIHByZWZpeCBsZW5ndGguCisKICAgIEFuIDpleGM6YEFkZHJlc3NWYWx1ZUVycm9yYCBpcyByYWlzZWQgaWYgKmFkZHJlc3MqIGlzIG5vdCBhIHZhbGlkIElQdjYKICAgIGFkZHJlc3MuICBBIDpleGM6YE5ldG1hc2tWYWx1ZUVycm9yYCBpcyByYWlzZWQgaWYgdGhlIG1hc2sgaXMgbm90IHZhbGlkIGZvcgogICAgYW4gSVB2NiBhZGRyZXNzLgpAQCAtNTYxLDYgKzU5MSwxMCBAQAogICAgdGhlbiA6ZXhjOmBWYWx1ZUVycm9yYCBpcyByYWlzZWQuICBPdGhlcndpc2UsIHRoZSBob3N0IGJpdHMgYXJlIG1hc2tlZCBvdXQKICAgIHRvIGRldGVybWluZSB0aGUgYXBwcm9wcmlhdGUgbmV0d29yayBhZGRyZXNzLgogCisgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuNQorCisgICAgICBBZGRlZCB0aGUgdHdvLXR1cGxlIGZvcm0gZm9yIHRoZSAqYWRkcmVzcyogY29uc3RydWN0b3IgcGFyYW1ldGVyLgorCiAgICAuLiBhdHRyaWJ1dGU6OiB2ZXJzaW9uCiAgICAuLiBhdHRyaWJ1dGU6OiBtYXhfcHJlZml4bGVuCiAgICAuLiBhdHRyaWJ1dGU6OiBpc19tdWx0aWNhc3QKZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L2l0ZXJ0b29scy5yc3QgYi9Eb2MvbGlicmFyeS9pdGVydG9vbHMucnN0CmluZGV4IGY0ODk1MzUuLjhjNzU5MmQgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L2l0ZXJ0b29scy5yc3QKKysrIGIvRG9jL2xpYnJhcnkvaXRlcnRvb2xzLnJzdApAQCAtODcsMTAgKzg3LDE1IEBACiAKIC4uIGZ1bmN0aW9uOjogYWNjdW11bGF0ZShpdGVyYWJsZVssIGZ1bmNdKQogCi0gICAgTWFrZSBhbiBpdGVyYXRvciB0aGF0IHJldHVybnMgYWNjdW11bGF0ZWQgc3Vtcy4gRWxlbWVudHMgbWF5IGJlIGFueSBhZGRhYmxlCi0gICAgdHlwZSBpbmNsdWRpbmcgOmNsYXNzOmB+ZGVjaW1hbC5EZWNpbWFsYCBvciA6Y2xhc3M6YH5mcmFjdGlvbnMuRnJhY3Rpb25gLgotICAgIElmIHRoZSBvcHRpb25hbCAqZnVuYyogYXJndW1lbnQgaXMgc3VwcGxpZWQsIGl0IHNob3VsZCBiZSBhIGZ1bmN0aW9uIG9mIHR3bwotICAgIGFyZ3VtZW50cyBhbmQgaXQgd2lsbCBiZSB1c2VkIGluc3RlYWQgb2YgYWRkaXRpb24uCisgICAgTWFrZSBhbiBpdGVyYXRvciB0aGF0IHJldHVybnMgYWNjdW11bGF0ZWQgc3Vtcywgb3IgYWNjdW11bGF0ZWQKKyAgICByZXN1bHRzIG9mIG90aGVyIGJpbmFyeSBmdW5jdGlvbnMgKHNwZWNpZmllZCB2aWEgdGhlIG9wdGlvbmFsCisgICAgKmZ1bmMqIGFyZ3VtZW50KS4gIElmICpmdW5jKiBpcyBzdXBwbGllZCwgaXQgc2hvdWxkIGJlIGEgZnVuY3Rpb24KKyAgICBvZiB0d28gYXJndW1lbnRzLiBFbGVtZW50cyBvZiB0aGUgaW5wdXQgKml0ZXJhYmxlKiBtYXkgYmUgYW55IHR5cGUKKyAgICB0aGF0IGNhbiBiZSBhY2NlcHRlZCBhcyBhcmd1bWVudHMgdG8gKmZ1bmMqLiAoRm9yIGV4YW1wbGUsIHdpdGgKKyAgICB0aGUgZGVmYXVsdCBvcGVyYXRpb24gb2YgYWRkaXRpb24sIGVsZW1lbnRzIG1heSBiZSBhbnkgYWRkYWJsZQorICAgIHR5cGUgaW5jbHVkaW5nIDpjbGFzczpgfmRlY2ltYWwuRGVjaW1hbGAgb3IKKyAgICA6Y2xhc3M6YH5mcmFjdGlvbnMuRnJhY3Rpb25gLikgSWYgdGhlIGlucHV0IGl0ZXJhYmxlIGlzIGVtcHR5LCB0aGUKKyAgICBvdXRwdXQgaXRlcmFibGUgd2lsbCBhbHNvIGJlIGVtcHR5LgogCiAgICAgRXF1aXZhbGVudCB0bzo6CiAKQEAgLTk5LDcgKzEwNCwxMCBAQAogICAgICAgICAgICAgIyBhY2N1bXVsYXRlKFsxLDIsMyw0LDVdKSAtLT4gMSAzIDYgMTAgMTUKICAgICAgICAgICAgICMgYWNjdW11bGF0ZShbMSwyLDMsNCw1XSwgb3BlcmF0b3IubXVsKSAtLT4gMSAyIDYgMjQgMTIwCiAgICAgICAgICAgICBpdCA9IGl0ZXIoaXRlcmFibGUpCi0gICAgICAgICAgICB0b3RhbCA9IG5leHQoaXQpCisgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgdG90YWwgPSBuZXh0KGl0KQorICAgICAgICAgICAgZXhjZXB0IFN0b3BJdGVyYXRpb246CisgICAgICAgICAgICAgICAgcmV0dXJuCiAgICAgICAgICAgICB5aWVsZCB0b3RhbAogICAgICAgICAgICAgZm9yIGVsZW1lbnQgaW4gaXQ6CiAgICAgICAgICAgICAgICAgdG90YWwgPSBmdW5jKHRvdGFsLCBlbGVtZW50KQpAQCAtNDAwLDcgKzQwOCwxMCBAQAogICAgICAgICAgIGRlZiBfZ3JvdXBlcihzZWxmLCB0Z3RrZXkpOgogICAgICAgICAgICAgICB3aGlsZSBzZWxmLmN1cnJrZXkgPT0gdGd0a2V5OgogICAgICAgICAgICAgICAgICAgeWllbGQgc2VsZi5jdXJydmFsdWUKLSAgICAgICAgICAgICAgICAgIHNlbGYuY3VycnZhbHVlID0gbmV4dChzZWxmLml0KSAgICAjIEV4aXQgb24gU3RvcEl0ZXJhdGlvbgorICAgICAgICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgICAgICAgIHNlbGYuY3VycnZhbHVlID0gbmV4dChzZWxmLml0KQorICAgICAgICAgICAgICAgICAgZXhjZXB0IFN0b3BJdGVyYXRpb246CisgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuCiAgICAgICAgICAgICAgICAgICBzZWxmLmN1cnJrZXkgPSBzZWxmLmtleWZ1bmMoc2VsZi5jdXJydmFsdWUpCiAKIApAQCAtNDI0LDcgKzQzNSwxMCBAQAogICAgICAgICAgICMgaXNsaWNlKCdBQkNERUZHJywgMCwgTm9uZSwgMikgLS0+IEEgQyBFIEcKICAgICAgICAgICBzID0gc2xpY2UoKmFyZ3MpCiAgICAgICAgICAgaXQgPSBpdGVyKHJhbmdlKHMuc3RhcnQgb3IgMCwgcy5zdG9wIG9yIHN5cy5tYXhzaXplLCBzLnN0ZXAgb3IgMSkpCi0gICAgICAgICAgbmV4dGkgPSBuZXh0KGl0KQorICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgbmV4dGkgPSBuZXh0KGl0KQorICAgICAgICAgIGV4Y2VwdCBTdG9wSXRlcmF0aW9uOgorICAgICAgICAgICAgICByZXR1cm4KICAgICAgICAgICBmb3IgaSwgZWxlbWVudCBpbiBlbnVtZXJhdGUoaXRlcmFibGUpOgogICAgICAgICAgICAgICBpZiBpID09IG5leHRpOgogICAgICAgICAgICAgICAgICAgeWllbGQgZWxlbWVudApAQCAtNTgyLDcgKzU5NiwxMCBAQAogICAgICAgICAgICAgZGVmIGdlbihteWRlcXVlKToKICAgICAgICAgICAgICAgICB3aGlsZSBUcnVlOgogICAgICAgICAgICAgICAgICAgICBpZiBub3QgbXlkZXF1ZTogICAgICAgICAgICAgIyB3aGVuIHRoZSBsb2NhbCBkZXF1ZSBpcyBlbXB0eQotICAgICAgICAgICAgICAgICAgICAgICAgbmV3dmFsID0gbmV4dChpdCkgICAgICAgIyBmZXRjaCBhIG5ldyB2YWx1ZSBhbmQKKyAgICAgICAgICAgICAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXd2YWwgPSBuZXh0KGl0KSAgICMgZmV0Y2ggYSBuZXcgdmFsdWUgYW5kCisgICAgICAgICAgICAgICAgICAgICAgICBleGNlcHQgU3RvcEl0ZXJhdGlvbjoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4KICAgICAgICAgICAgICAgICAgICAgICAgIGZvciBkIGluIGRlcXVlczogICAgICAgICMgbG9hZCBpdCB0byBhbGwgdGhlIGRlcXVlcwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQuYXBwZW5kKG5ld3ZhbCkKICAgICAgICAgICAgICAgICAgICAgeWllbGQgbXlkZXF1ZS5wb3BsZWZ0KCkKQEAgLTY1Nyw2ICs2NzQsMTEgQEAKICAgICAgICAiUmV0dXJuIGZ1bmN0aW9uKDApLCBmdW5jdGlvbigxKSwgLi4uIgogICAgICAgIHJldHVybiBtYXAoZnVuY3Rpb24sIGNvdW50KHN0YXJ0KSkKIAorICAgZGVmIHRhaWwobiwgaXRlcmFibGUpOgorICAgICAgICJSZXR1cm4gYW4gaXRlcmF0b3Igb3ZlciB0aGUgbGFzdCBuIGl0ZW1zIgorICAgICAgICMgdGFpbCgzLCAnQUJDREVGRycpIC0tPiBFIEYgRworICAgICAgIHJldHVybiBpdGVyKGNvbGxlY3Rpb25zLmRlcXVlKGl0ZXJhYmxlLCBtYXhsZW49bikpCisKICAgIGRlZiBjb25zdW1lKGl0ZXJhdG9yLCBuKToKICAgICAgICAiQWR2YW5jZSB0aGUgaXRlcmF0b3Igbi1zdGVwcyBhaGVhZC4gSWYgbiBpcyBub25lLCBjb25zdW1lIGVudGlyZWx5LiIKICAgICAgICAjIFVzZSBmdW5jdGlvbnMgdGhhdCBjb25zdW1lIGl0ZXJhdG9ycyBhdCBDIHNwZWVkLgpkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvanNvbi5yc3QgYi9Eb2MvbGlicmFyeS9qc29uLnJzdAppbmRleCA2ZjVmOGIxLi40OWJiMDkwIDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS9qc29uLnJzdAorKysgYi9Eb2MvbGlicmFyeS9qc29uLnJzdApAQCAtMTA2LDYgKzEwNiw4IEBACiAgICAgJCBlY2hvICd7MS4yOjMuNH0nIHwgcHl0aG9uIC1tIGpzb24udG9vbAogICAgIEV4cGVjdGluZyBwcm9wZXJ0eSBuYW1lIGVuY2xvc2VkIGluIGRvdWJsZSBxdW90ZXM6IGxpbmUgMSBjb2x1bW4gMiAoY2hhciAxKQogCitTZWUgOnJlZjpganNvbi1jb21tYW5kbGluZWAgZm9yIGRldGFpbGVkIGRvY3VtZW50YXRpb24uCisKIC4uIGhpZ2hsaWdodDo6IHB5dGhvbjMKIAogLi4gbm90ZTo6CkBAIC0yNDgsNyArMjUwLDcgQEAKICAgIHdpbGwgYmUgcGFzc2VkIHRvIHRoZSBjb25zdHJ1Y3RvciBvZiB0aGUgY2xhc3MuCiAKICAgIElmIHRoZSBkYXRhIGJlaW5nIGRlc2VyaWFsaXplZCBpcyBub3QgYSB2YWxpZCBKU09OIGRvY3VtZW50LCBhCi0gICA6ZXhjOmBWYWx1ZUVycm9yYCB3aWxsIGJlIHJhaXNlZC4KKyAgIDpleGM6YEpTT05EZWNvZGVFcnJvcmAgd2lsbCBiZSByYWlzZWQuCiAKIC4uIGZ1bmN0aW9uOjogbG9hZHMocywgZW5jb2Rpbmc9Tm9uZSwgY2xzPU5vbmUsIG9iamVjdF9ob29rPU5vbmUsIHBhcnNlX2Zsb2F0PU5vbmUsIHBhcnNlX2ludD1Ob25lLCBwYXJzZV9jb25zdGFudD1Ob25lLCBvYmplY3RfcGFpcnNfaG9vaz1Ob25lLCAqKmt3KQogCkBAIC0yNTksNyArMjYxLDcgQEAKICAgICplbmNvZGluZyogd2hpY2ggaXMgaWdub3JlZCBhbmQgZGVwcmVjYXRlZC4KIAogICAgSWYgdGhlIGRhdGEgYmVpbmcgZGVzZXJpYWxpemVkIGlzIG5vdCBhIHZhbGlkIEpTT04gZG9jdW1lbnQsIGEKLSAgIDpleGM6YFZhbHVlRXJyb3JgIHdpbGwgYmUgcmFpc2VkLgorICAgOmV4YzpgSlNPTkRlY29kZUVycm9yYCB3aWxsIGJlIHJhaXNlZC4KIAogRW5jb2RlcnMgYW5kIERlY29kZXJzCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0KQEAgLTMzMiwxMyArMzM0LDE2IEBACiAgICBgYCdcbidgYCwgYGAnXHInYGAgYW5kIGBgJ1wwJ2BgLgogCiAgICBJZiB0aGUgZGF0YSBiZWluZyBkZXNlcmlhbGl6ZWQgaXMgbm90IGEgdmFsaWQgSlNPTiBkb2N1bWVudCwgYQotICAgOmV4YzpgVmFsdWVFcnJvcmAgd2lsbCBiZSByYWlzZWQuCisgICA6ZXhjOmBKU09ORGVjb2RlRXJyb3JgIHdpbGwgYmUgcmFpc2VkLgogCiAgICAuLiBtZXRob2Q6OiBkZWNvZGUocykKIAogICAgICAgUmV0dXJuIHRoZSBQeXRob24gcmVwcmVzZW50YXRpb24gb2YgKnMqIChhIDpjbGFzczpgc3RyYCBpbnN0YW5jZQogICAgICAgY29udGFpbmluZyBhIEpTT04gZG9jdW1lbnQpCiAKKyAgICAgIDpleGM6YEpTT05EZWNvZGVFcnJvcmAgd2lsbCBiZSByYWlzZWQgaWYgdGhlIGdpdmVuIEpTT04gZG9jdW1lbnQgaXMgbm90CisgICAgICB2YWxpZC4KKwogICAgLi4gbWV0aG9kOjogcmF3X2RlY29kZShzKQogCiAgICAgICBEZWNvZGUgYSBKU09OIGRvY3VtZW50IGZyb20gKnMqIChhIDpjbGFzczpgc3RyYCBiZWdpbm5pbmcgd2l0aCBhCkBAIC00NjcsNiArNDcyLDM2IEBACiAgICAgICAgICAgICAgICAgbXlzb2NrZXQud3JpdGUoY2h1bmspCiAKIAorRXhjZXB0aW9ucworLS0tLS0tLS0tLQorCisuLiBleGNlcHRpb246OiBKU09ORGVjb2RlRXJyb3IobXNnLCBkb2MsIHBvcywgZW5kPU5vbmUpCisKKyAgICBTdWJjbGFzcyBvZiA6ZXhjOmBWYWx1ZUVycm9yYCB3aXRoIHRoZSBmb2xsb3dpbmcgYWRkaXRpb25hbCBhdHRyaWJ1dGVzOgorCisgICAgLi4gYXR0cmlidXRlOjogbXNnCisKKyAgICAgICAgVGhlIHVuZm9ybWF0dGVkIGVycm9yIG1lc3NhZ2UuCisKKyAgICAuLiBhdHRyaWJ1dGU6OiBkb2MKKworICAgICAgICBUaGUgSlNPTiBkb2N1bWVudCBiZWluZyBwYXJzZWQuCisKKyAgICAuLiBhdHRyaWJ1dGU6OiBwb3MKKworICAgICAgICBUaGUgc3RhcnQgaW5kZXggb2YgKmRvYyogd2hlcmUgcGFyc2luZyBmYWlsZWQuCisKKyAgICAuLiBhdHRyaWJ1dGU6OiBsaW5lbm8KKworICAgICAgICBUaGUgbGluZSBjb3JyZXNwb25kaW5nIHRvICpwb3MqLgorCisgICAgLi4gYXR0cmlidXRlOjogY29sbm8KKworICAgICAgICBUaGUgY29sdW1uIGNvcnJlc3BvbmRpbmcgdG8gKnBvcyouCisKKyAgIC4uIHZlcnNpb25hZGRlZDo6IDMuNQorCisKIFN0YW5kYXJkIENvbXBsaWFuY2UgYW5kIEludGVyb3BlcmFiaWxpdHkKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIApAQCAtNTg4LDYgKzYyMyw2OCBAQAogd2hlbiBzZXJpYWxpemluZyBpbnN0YW5jZXMgb2YgImV4b3RpYyIgbnVtZXJpY2FsIHR5cGVzIHN1Y2ggYXMKIDpjbGFzczpgZGVjaW1hbC5EZWNpbWFsYC4KIAorLi4gaGlnaGxpZ2h0OjogYmFzaAorLi4gbW9kdWxlOjoganNvbi50b29sCisKKy4uIF9qc29uLWNvbW1hbmRsaW5lOgorCitDb21tYW5kIExpbmUgSW50ZXJmYWNlCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK1RoZSA6bW9kOmBqc29uLnRvb2xgIG1vZHVsZSBwcm92aWRlcyBhIHNpbXBsZSBjb21tYW5kIGxpbmUgaW50ZXJmYWNlIHRvIHZhbGlkYXRlCithbmQgcHJldHR5LXByaW50IEpTT04gb2JqZWN0cy4KKworSWYgdGhlIG9wdGlvbmFsIGBgaW5maWxlYGAgYW5kIGBgb3V0ZmlsZWBgIGFyZ3VtZW50cyBhcmUgbm90CitzcGVjaWZpZWQsIDphdHRyOmBzeXMuc3RkaW5gIGFuZCA6YXR0cjpgc3lzLnN0ZG91dGAgd2lsbCBiZSB1c2VkIHJlc3BlY3RpdmVseTo6CisKKyAgICAkIGVjaG8gJ3sianNvbiI6ICJvYmoifScgfCBweXRob24gLW0ganNvbi50b29sCisgICAgeworICAgICAgICAianNvbiI6ICJvYmoiCisgICAgfQorICAgICQgZWNobyAnezEuMjozLjR9JyB8IHB5dGhvbiAtbSBqc29uLnRvb2wKKyAgICBFeHBlY3RpbmcgcHJvcGVydHkgbmFtZSBlbmNsb3NlZCBpbiBkb3VibGUgcXVvdGVzOiBsaW5lIDEgY29sdW1uIDIgKGNoYXIgMSkKKworLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjUKKyAgIFRoZSBvdXRwdXQgaXMgbm93IGluIHRoZSBzYW1lIG9yZGVyIGFzIHRoZSBpbnB1dC4gVXNlIHRoZQorICAgOm9wdGlvbjpgLS1zb3J0LWtleXNgIG9wdGlvbiB0byBzb3J0IHRoZSBvdXRwdXQgb2YgZGljdGlvbmFyaWVzCisgICBhbHBoYWJldGljYWxseSBieSBrZXkuCisKK0NvbW1hbmQgbGluZSBvcHRpb25zCiteXl5eXl5eXl5eXl5eXl5eXl5eXgorCisuLiBjbWRvcHRpb246OiBpbmZpbGUKKworICAgVGhlIEpTT04gZmlsZSB0byBiZSB2YWxpZGF0ZWQgb3IgcHJldHR5LXByaW50ZWQ6OgorCisgICAgICAkIHB5dGhvbiAtbSBqc29uLnRvb2wgbXBfZmlsbXMuanNvbgorICAgICAgWworICAgICAgICAgIHsKKyAgICAgICAgICAgICAgInRpdGxlIjogIkFuZCBOb3cgZm9yIFNvbWV0aGluZyBDb21wbGV0ZWx5IERpZmZlcmVudCIsCisgICAgICAgICAgICAgICJ5ZWFyIjogMTk3MQorICAgICAgICAgIH0sCisgICAgICAgICAgeworICAgICAgICAgICAgICAidGl0bGUiOiAiTW9udHkgUHl0aG9uIGFuZCB0aGUgSG9seSBHcmFpbCIsCisgICAgICAgICAgICAgICJ5ZWFyIjogMTk3NQorICAgICAgICAgIH0KKyAgICAgIF0KKworICAgSWYgKmluZmlsZSogaXMgbm90IHNwZWNpZmllZCwgcmVhZCBmcm9tIDphdHRyOmBzeXMuc3RkaW5gLgorCisuLiBjbWRvcHRpb246OiBvdXRmaWxlCisKKyAgIFdyaXRlIHRoZSBvdXRwdXQgb2YgdGhlICppbmZpbGUqIHRvIHRoZSBnaXZlbiAqb3V0ZmlsZSouIE90aGVyd2lzZSwgd3JpdGUgaXQKKyAgIHRvIDphdHRyOmBzeXMuc3Rkb3V0YC4KKworLi4gY21kb3B0aW9uOjogLS1zb3J0LWtleXMKKworICAgU29ydCB0aGUgb3V0cHV0IG9mIGRpY3Rpb25hcmllcyBhbHBoYWJldGljYWxseSBieSBrZXkuCisKKyAgIC4uIHZlcnNpb25hZGRlZDo6IDMuNQorCisuLiBjbWRvcHRpb246OiAtaCwgLS1oZWxwCisKKyAgIFNob3cgdGhlIGhlbHAgbWVzc2FnZS4KKwogCiAuLiBydWJyaWM6OiBGb290bm90ZXMKIApkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvbG9jYWxlLnJzdCBiL0RvYy9saWJyYXJ5L2xvY2FsZS5yc3QKaW5kZXggOTYwMDE5My4uYmM3ZjVmOSAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvbG9jYWxlLnJzdAorKysgYi9Eb2MvbGlicmFyeS9sb2NhbGUucnN0CkBAIC0zODcsNiArMzg3LDE0IEBACiAgICBgYHN0cihmbG9hdClgYCwgYnV0IHRha2VzIHRoZSBkZWNpbWFsIHBvaW50IGludG8gYWNjb3VudC4KIAogCisuLiBmdW5jdGlvbjo6IGRlbG9jYWxpemUoc3RyaW5nKQorCisgICAgQ29udmVydHMgYSBzdHJpbmcgaW50byBhIG5vcm1hbGl6ZWQgbnVtYmVyIHN0cmluZywgZm9sbG93aW5nIHRoZQorICAgIDpjb25zdDpgTENfTlVNRVJJQ2Agc2V0dGluZ3MuCisKKyAgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjUKKworCiAuLiBmdW5jdGlvbjo6IGF0b2Yoc3RyaW5nKQogCiAgICBDb252ZXJ0cyBhIHN0cmluZyB0byBhIGZsb2F0aW5nIHBvaW50IG51bWJlciwgZm9sbG93aW5nIHRoZSA6Y29uc3Q6YExDX05VTUVSSUNgCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS9sb2dnaW5nLmhhbmRsZXJzLnJzdCBiL0RvYy9saWJyYXJ5L2xvZ2dpbmcuaGFuZGxlcnMucnN0CmluZGV4IDYzYWJhMWUuLjY3NDAzYTkgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L2xvZ2dpbmcuaGFuZGxlcnMucnN0CisrKyBiL0RvYy9saWJyYXJ5L2xvZ2dpbmcuaGFuZGxlcnMucnN0CkBAIC00MzYsNyArNDM2LDcgQEAKICAgIC4uIG1ldGhvZDo6IGNyZWF0ZVNvY2tldCgpCiAKICAgICAgIFRyaWVzIHRvIGNyZWF0ZSBhIHNvY2tldDsgb24gZmFpbHVyZSwgdXNlcyBhbiBleHBvbmVudGlhbCBiYWNrLW9mZgotICAgICAgYWxnb3JpdGhtLiAgT24gaW50aWFsIGZhaWx1cmUsIHRoZSBoYW5kbGVyIHdpbGwgZHJvcCB0aGUgbWVzc2FnZSBpdCB3YXMKKyAgICAgIGFsZ29yaXRobS4gIE9uIGluaXRpYWwgZmFpbHVyZSwgdGhlIGhhbmRsZXIgd2lsbCBkcm9wIHRoZSBtZXNzYWdlIGl0IHdhcwogICAgICAgdHJ5aW5nIHRvIHNlbmQuICBXaGVuIHN1YnNlcXVlbnQgbWVzc2FnZXMgYXJlIGhhbmRsZWQgYnkgdGhlIHNhbWUKICAgICAgIGluc3RhbmNlLCBpdCB3aWxsIG5vdCB0cnkgY29ubmVjdGluZyB1bnRpbCBzb21lIHRpbWUgaGFzIHBhc3NlZC4gIFRoZQogICAgICAgZGVmYXVsdCBwYXJhbWV0ZXJzIGFyZSBzdWNoIHRoYXQgdGhlIGluaXRpYWwgZGVsYXkgaXMgb25lIHNlY29uZCwgYW5kIGlmCkBAIC04NTMsNyArODUzLDcgQEAKICAgIGNyZWRlbnRpYWxzLCB5b3Ugc2hvdWxkIGFsc28gc3BlY2lmeSBzZWN1cmU9VHJ1ZSBzbyB0aGF0IHlvdXIgdXNlcmlkIGFuZAogICAgcGFzc3dvcmQgYXJlIG5vdCBwYXNzZWQgaW4gY2xlYXJ0ZXh0IGFjcm9zcyB0aGUgd2lyZS4KIAotICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjQuMworICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjUKICAgICAgIFRoZSAqY29udGV4dCogcGFyYW1ldGVyIHdhcyBhZGRlZC4KIAogICAgLi4gbWV0aG9kOjogbWFwTG9nUmVjb3JkKHJlY29yZCkKQEAgLTk1MywxMyArOTUzLDIwIEBACiBwb3NzaWJsZSwgd2hpbGUgYW55IHBvdGVudGlhbGx5IHNsb3cgb3BlcmF0aW9ucyAoc3VjaCBhcyBzZW5kaW5nIGFuIGVtYWlsIHZpYQogOmNsYXNzOmBTTVRQSGFuZGxlcmApIGFyZSBkb25lIG9uIGEgc2VwYXJhdGUgdGhyZWFkLgogCi0uLiBjbGFzczo6IFF1ZXVlTGlzdGVuZXIocXVldWUsICpoYW5kbGVycykKKy4uIGNsYXNzOjogUXVldWVMaXN0ZW5lcihxdWV1ZSwgKmhhbmRsZXJzLCByZXNwZWN0X2hhbmRsZXJfbGV2ZWw9RmFsc2UpCiAKICAgIFJldHVybnMgYSBuZXcgaW5zdGFuY2Ugb2YgdGhlIDpjbGFzczpgUXVldWVMaXN0ZW5lcmAgY2xhc3MuIFRoZSBpbnN0YW5jZSBpcwogICAgaW5pdGlhbGl6ZWQgd2l0aCB0aGUgcXVldWUgdG8gc2VuZCBtZXNzYWdlcyB0byBhbmQgYSBsaXN0IG9mIGhhbmRsZXJzIHdoaWNoCiAgICB3aWxsIGhhbmRsZSBlbnRyaWVzIHBsYWNlZCBvbiB0aGUgcXVldWUuIFRoZSBxdWV1ZSBjYW4gYmUgYW55IHF1ZXVlLQogICAgbGlrZSBvYmplY3Q7IGl0J3MgcGFzc2VkIGFzLWlzIHRvIHRoZSA6bWV0aDpgZGVxdWV1ZWAgbWV0aG9kLCB3aGljaCBuZWVkcwotICAgdG8ga25vdyBob3cgdG8gZ2V0IG1lc3NhZ2VzIGZyb20gaXQuCisgICB0byBrbm93IGhvdyB0byBnZXQgbWVzc2FnZXMgZnJvbSBpdC4gSWYgYGByZXNwZWN0X2hhbmRsZXJfbGV2ZWxgYCBpcyBgYFRydWVgYCwKKyAgIGEgaGFuZGxlcidzIGxldmVsIGlzIHJlc3BlY3RlZCAoY29tcGFyZWQgd2l0aCB0aGUgbGV2ZWwgZm9yIHRoZSBtZXNzYWdlKSB3aGVuCisgICBkZWNpZGluZyB3aGV0aGVyIHRvIHBhc3MgbWVzc2FnZXMgdG8gdGhhdCBoYW5kbGVyOyBvdGhlcndpc2UsIHRoZSBiZWhhdmlvdXIKKyAgIGlzIGFzIGluIHByZXZpb3VzIFB5dGhvbiB2ZXJzaW9ucyAtIHRvIGFsd2F5cyBwYXNzIGVhY2ggbWVzc2FnZSB0byBlYWNoCisgICBoYW5kbGVyLgorCisgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuNQorICAgICAgVGhlIGBgcmVzcGVjdF9oYW5kbGVyX2xldmVsc2BgIGFyZ3VtZW50IHdhcyBhZGRlZC4KIAogICAgLi4gbWV0aG9kOjogZGVxdWV1ZShibG9jaykKIApkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvbG9nZ2luZy5yc3QgYi9Eb2MvbGlicmFyeS9sb2dnaW5nLnJzdAppbmRleCA5Njg2MWE3Li43OTE1YzI3IDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS9sb2dnaW5nLnJzdAorKysgYi9Eb2MvbGlicmFyeS9sb2dnaW5nLnJzdApAQCAtMTU5LDExICsxNTksMTMgQEAKICAgICptc2cqIHVzaW5nIHRoZSBzdHJpbmcgZm9ybWF0dGluZyBvcGVyYXRvci4gKE5vdGUgdGhhdCB0aGlzIG1lYW5zIHRoYXQgeW91IGNhbgogICAgdXNlIGtleXdvcmRzIGluIHRoZSBmb3JtYXQgc3RyaW5nLCB0b2dldGhlciB3aXRoIGEgc2luZ2xlIGRpY3Rpb25hcnkgYXJndW1lbnQuKQogCi0gICBUaGVyZSBhcmUgdGhyZWUga2V5d29yZCBhcmd1bWVudHMgaW4gKmt3YXJncyogd2hpY2ggYXJlIGluc3BlY3RlZDogKmV4Y19pbmZvKgotICAgd2hpY2gsIGlmIGl0IGRvZXMgbm90IGV2YWx1YXRlIGFzIGZhbHNlLCBjYXVzZXMgZXhjZXB0aW9uIGluZm9ybWF0aW9uIHRvIGJlCisgICBUaGVyZSBhcmUgdGhyZWUga2V5d29yZCBhcmd1bWVudHMgaW4gKmt3YXJncyogd2hpY2ggYXJlIGluc3BlY3RlZDoKKyAgICpleGNfaW5mbyosICpzdGFja19pbmZvKiwgYW5kICpleHRyYSouCisKKyAgIElmICpleGNfaW5mbyogZG9lcyBub3QgZXZhbHVhdGUgYXMgZmFsc2UsIGl0IGNhdXNlcyBleGNlcHRpb24gaW5mb3JtYXRpb24gdG8gYmUKICAgIGFkZGVkIHRvIHRoZSBsb2dnaW5nIG1lc3NhZ2UuIElmIGFuIGV4Y2VwdGlvbiB0dXBsZSAoaW4gdGhlIGZvcm1hdCByZXR1cm5lZCBieQotICAgOmZ1bmM6YHN5cy5leGNfaW5mb2ApIGlzIHByb3ZpZGVkLCBpdCBpcyB1c2VkOyBvdGhlcndpc2UsIDpmdW5jOmBzeXMuZXhjX2luZm9gCi0gICBpcyBjYWxsZWQgdG8gZ2V0IHRoZSBleGNlcHRpb24gaW5mb3JtYXRpb24uCisgICA6ZnVuYzpgc3lzLmV4Y19pbmZvYCkgb3IgYW4gZXhjZXB0aW9uIGluc3RhbmNlIGlzIHByb3ZpZGVkLCBpdCBpcyB1c2VkOworICAgb3RoZXJ3aXNlLCA6ZnVuYzpgc3lzLmV4Y19pbmZvYCBpcyBjYWxsZWQgdG8gZ2V0IHRoZSBleGNlcHRpb24gaW5mb3JtYXRpb24uCiAKICAgIFRoZSBzZWNvbmQgb3B0aW9uYWwga2V5d29yZCBhcmd1bWVudCBpcyAqc3RhY2tfaW5mbyosIHdoaWNoIGRlZmF1bHRzIHRvCiAgICBgYEZhbHNlYGAuIElmIHRydWUsIHN0YWNrIGluZm9ybWF0aW9uIGlzIGFkZGVkIHRvIHRoZSBsb2dnaW5nCkBAIC0yMjAsNiArMjIyLDkgQEAKICAgIC4uIHZlcnNpb25hZGRlZDo6IDMuMgogICAgICAgVGhlICpzdGFja19pbmZvKiBwYXJhbWV0ZXIgd2FzIGFkZGVkLgogCisgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuNQorICAgICAgVGhlICpleGNfaW5mbyogcGFyYW1ldGVyIGNhbiBub3cgYWNjZXB0IGV4Y2VwdGlvbiBpbnN0YW5jZXMuCisKIAogLi4gbWV0aG9kOjogTG9nZ2VyLmluZm8obXNnLCAqYXJncywgKiprd2FyZ3MpCiAKZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L2x6bWEucnN0IGIvRG9jL2xpYnJhcnkvbHptYS5yc3QKaW5kZXggYjcxMDUxZC4uOTlmMDdkYyAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvbHptYS5yc3QKKysrIGIvRG9jL2xpYnJhcnkvbHptYS5yc3QKQEAgLTIyMSwxMyArMjIxLDMyIEBACiAgICAgICBkZWNvbXByZXNzIGEgbXVsdGktc3RyZWFtIGlucHV0IHdpdGggOmNsYXNzOmBMWk1BRGVjb21wcmVzc29yYCwgeW91IG11c3QKICAgICAgIGNyZWF0ZSBhIG5ldyBkZWNvbXByZXNzb3IgZm9yIGVhY2ggc3RyZWFtLgogCi0gICAuLiBtZXRob2Q6OiBkZWNvbXByZXNzKGRhdGEpCisgICAuLiBtZXRob2Q6OiBkZWNvbXByZXNzKGRhdGEsIG1heF9sZW5ndGg9LTEpCiAKLSAgICAgIERlY29tcHJlc3MgKmRhdGEqIChhIDpjbGFzczpgYnl0ZXNgIG9iamVjdCksIHJldHVybmluZyBhIDpjbGFzczpgYnl0ZXNgCi0gICAgICBvYmplY3QgY29udGFpbmluZyB0aGUgZGVjb21wcmVzc2VkIGRhdGEgZm9yIGF0IGxlYXN0IHBhcnQgb2YgdGhlIGlucHV0LgotICAgICAgU29tZSBvZiAqZGF0YSogbWF5IGJlIGJ1ZmZlcmVkIGludGVybmFsbHksIGZvciB1c2UgaW4gbGF0ZXIgY2FsbHMgdG8KLSAgICAgIDptZXRoOmBkZWNvbXByZXNzYC4gVGhlIHJldHVybmVkIGRhdGEgc2hvdWxkIGJlIGNvbmNhdGVuYXRlZCB3aXRoIHRoZQotICAgICAgb3V0cHV0IG9mIGFueSBwcmV2aW91cyBjYWxscyB0byA6bWV0aDpgZGVjb21wcmVzc2AuCisgICAgICBEZWNvbXByZXNzICpkYXRhKiAoYSA6dGVybTpgYnl0ZXMtbGlrZSBvYmplY3RgKSwgcmV0dXJuaW5nCisgICAgICB1bmNvbXByZXNzZWQgZGF0YSBhcyBieXRlcy4gU29tZSBvZiAqZGF0YSogbWF5IGJlIGJ1ZmZlcmVkCisgICAgICBpbnRlcm5hbGx5LCBmb3IgdXNlIGluIGxhdGVyIGNhbGxzIHRvIDptZXRoOmBkZWNvbXByZXNzYC4gVGhlCisgICAgICByZXR1cm5lZCBkYXRhIHNob3VsZCBiZSBjb25jYXRlbmF0ZWQgd2l0aCB0aGUgb3V0cHV0IG9mIGFueQorICAgICAgcHJldmlvdXMgY2FsbHMgdG8gOm1ldGg6YGRlY29tcHJlc3NgLgorCisgICAgICBJZiAqbWF4X2xlbmd0aCogaXMgbm9ubmVnYXRpdmUsIHJldHVybnMgYXQgbW9zdCAqbWF4X2xlbmd0aCoKKyAgICAgIGJ5dGVzIG9mIGRlY29tcHJlc3NlZCBkYXRhLiBJZiB0aGlzIGxpbWl0IGlzIHJlYWNoZWQgYW5kIGZ1cnRoZXIKKyAgICAgIG91dHB1dCBjYW4gYmUgcHJvZHVjZWQsIHRoZSA6YXR0cjpgfi5uZWVkc19pbnB1dGAgYXR0cmlidXRlIHdpbGwKKyAgICAgIGJlIHNldCB0byBgYEZhbHNlYGAuIEluIHRoaXMgY2FzZSwgdGhlIG5leHQgY2FsbCB0bworICAgICAgOm1ldGg6YH4uZGVjb21wcmVzc2AgbWF5IHByb3ZpZGUgKmRhdGEqIGFzIGBgYicnYGAgdG8gb2J0YWluCisgICAgICBtb3JlIG9mIHRoZSBvdXRwdXQuCisKKyAgICAgIElmIGFsbCBvZiB0aGUgaW5wdXQgZGF0YSB3YXMgZGVjb21wcmVzc2VkIGFuZCByZXR1cm5lZCAoZWl0aGVyCisgICAgICBiZWNhdXNlIHRoaXMgd2FzIGxlc3MgdGhhbiAqbWF4X2xlbmd0aCogYnl0ZXMsIG9yIGJlY2F1c2UKKyAgICAgICptYXhfbGVuZ3RoKiB3YXMgbmVnYXRpdmUpLCB0aGUgOmF0dHI6YH4ubmVlZHNfaW5wdXRgIGF0dHJpYnV0ZQorICAgICAgd2lsbCBiZSBzZXQgdG8gYGBUcnVlYGAuCisKKyAgICAgIEF0dGVtcHRpbmcgdG8gZGVjb21wcmVzcyBkYXRhIGFmdGVyIHRoZSBlbmQgb2Ygc3RyZWFtIGlzIHJlYWNoZWQKKyAgICAgIHJhaXNlcyBhbiBgRU9GRXJyb3JgLiAgQW55IGRhdGEgZm91bmQgYWZ0ZXIgdGhlIGVuZCBvZiB0aGUKKyAgICAgIHN0cmVhbSBpcyBpZ25vcmVkIGFuZCBzYXZlZCBpbiB0aGUgOmF0dHI6YH4udW51c2VkX2RhdGFgIGF0dHJpYnV0ZS4KKworICAgICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjUKKyAgICAgICAgIEFkZGVkIHRoZSAqbWF4X2xlbmd0aCogcGFyYW1ldGVyLgogCiAgICAuLiBhdHRyaWJ1dGU6OiBjaGVjawogCkBAIC0yNDUsNiArMjY0LDEyIEBACiAKICAgICAgIEJlZm9yZSB0aGUgZW5kIG9mIHRoZSBzdHJlYW0gaXMgcmVhY2hlZCwgdGhpcyB3aWxsIGJlIGBgYiIiYGAuCiAKKyAgIC4uIGF0dHJpYnV0ZTo6IG5lZWRzX2lucHV0CisKKyAgICAgIGBgRmFsc2VgYCBpZiB0aGUgOm1ldGg6YC5kZWNvbXByZXNzYCBtZXRob2QgY2FuIHByb3ZpZGUgbW9yZQorICAgICAgZGVjb21wcmVzc2VkIGRhdGEgYmVmb3JlIHJlcXVpcmluZyBuZXcgdW5jb21wcmVzc2VkIGlucHV0LgorCisgICAgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjUKIAogLi4gZnVuY3Rpb246OiBjb21wcmVzcyhkYXRhLCBmb3JtYXQ9Rk9STUFUX1haLCBjaGVjaz0tMSwgcHJlc2V0PU5vbmUsIGZpbHRlcnM9Tm9uZSkKIApkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvbWF0aC5yc3QgYi9Eb2MvbGlicmFyeS9tYXRoLnJzdAppbmRleCAzYzQxNjcyLi5lZGEwMDU2IDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS9tYXRoLnJzdAorKysgYi9Eb2MvbGlicmFyeS9tYXRoLnJzdApAQCAtMzgzLDYgKzM4MywyMiBAQAogICAgVGhlIG1hdGhlbWF0aWNhbCBjb25zdGFudCBlID0gMi43MTgyODEuLi4sIHRvIGF2YWlsYWJsZSBwcmVjaXNpb24uCiAKIAorLi4gZGF0YTo6IGluZgorCisgICBBIGZsb2F0aW5nLXBvaW50IHBvc2l0aXZlIGluZmluaXR5LiAgKEZvciBuZWdhdGl2ZSBpbmZpbml0eSwgdXNlCisgICBgYC1tYXRoLmluZmBgLikgIEVxdWl2YWxlbnQgdG8gdGhlIG91dHB1dCBvZiBgYGZsb2F0KCdpbmYnKWBgLgorCisgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjUKKworCisuLiBkYXRhOjogbmFuCisKKyAgIEEgZmxvYXRpbmctcG9pbnQgIm5vdCBhIG51bWJlciIgKE5hTikgdmFsdWUuICBFcXVpdmFsZW50IHRvIHRoZSBvdXRwdXQgb2YKKyAgIGBgZmxvYXQoJ25hbicpYGAuCisKKyAgIC4uIHZlcnNpb25hZGRlZDo6IDMuNQorCisKIC4uIGltcGwtZGV0YWlsOjoKIAogICAgVGhlIDptb2Q6YG1hdGhgIG1vZHVsZSBjb25zaXN0cyBtb3N0bHkgb2YgdGhpbiB3cmFwcGVycyBhcm91bmQgdGhlIHBsYXRmb3JtIEMKZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L211bHRpcHJvY2Vzc2luZy5yc3QgYi9Eb2MvbGlicmFyeS9tdWx0aXByb2Nlc3NpbmcucnN0CmluZGV4IGVjYWM1YjAuLjRiODI5YWYgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L211bHRpcHJvY2Vzc2luZy5yc3QKKysrIGIvRG9jL2xpYnJhcnkvbXVsdGlwcm9jZXNzaW5nLnJzdApAQCAtMTM0NCw2ICsxMzQ0LDkgQEAKICAgIE5vdGUgdGhhdCBhY2Nlc3NpbmcgdGhlIGN0eXBlcyBvYmplY3QgdGhyb3VnaCB0aGUgd3JhcHBlciBjYW4gYmUgYSBsb3Qgc2xvd2VyCiAgICB0aGFuIGFjY2Vzc2luZyB0aGUgcmF3IGN0eXBlcyBvYmplY3QuCiAKKyAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy41CisgICAgICBTeW5jaHJvbml6ZWQgb2JqZWN0cyBzdXBwb3J0IHRoZSA6dGVybTpgY29udGV4dCBtYW5hZ2VyYCBwcm90b2NvbC4KKwogCiBUaGUgdGFibGUgYmVsb3cgY29tcGFyZXMgdGhlIHN5bnRheCBmb3IgY3JlYXRpbmcgc2hhcmVkIGN0eXBlcyBvYmplY3RzIGZyb20KIHNoYXJlZCBtZW1vcnkgd2l0aCB0aGUgbm9ybWFsIGN0eXBlcyBzeW50YXguICAoSW4gdGhlIHRhYmxlIGBgTXlTdHJ1Y3RgYCBpcyBzb21lCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS9vcGVyYXRvci5yc3QgYi9Eb2MvbGlicmFyeS9vcGVyYXRvci5yc3QKaW5kZXggZjllMmEzZC4uYzAxZTYzYiAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvb3BlcmF0b3IucnN0CisrKyBiL0RvYy9saWJyYXJ5L29wZXJhdG9yLnJzdApAQCAtMTM4LDYgKzEzOCwxNCBAQAogICAgUmV0dXJuIGBgYSAqIGJgYCwgZm9yICphKiBhbmQgKmIqIG51bWJlcnMuCiAKIAorLi4gZnVuY3Rpb246OiBtYXRtdWwoYSwgYikKKyAgICAgICAgICAgICAgX19tYXRtdWxfXyhhLCBiKQorCisgICBSZXR1cm4gYGBhIEAgYmBgLgorCisgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjUKKworCiAuLiBmdW5jdGlvbjo6IG5lZyhvYmopCiAgICAgICAgICAgICAgIF9fbmVnX18ob2JqKQogCkBAIC0zOTEsNiArMzk5LDggQEAKICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKIHwgTXVsdGlwbGljYXRpb24gICAgICAgIHwgYGBhICogYmBgICAgICAgICAgICAgICAgfCBgYG11bChhLCBiKWBgICAgICAgICAgICAgICAgICAgICAgICAgIHwKICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKK3wgTWF0cml4IE11bHRpcGxpY2F0aW9uIHwgYGBhIEAgYmBgICAgICAgICAgICAgICAgfCBgYG1hdG11bChhLCBiKWBgICAgICAgICAgICAgICAgICAgICAgIHwKKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKIHwgTmVnYXRpb24gKEFyaXRobWV0aWMpIHwgYGAtIGFgYCAgICAgICAgICAgICAgICAgfCBgYG5lZyhhKWBgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKIHwgTmVnYXRpb24gKExvZ2ljYWwpICAgIHwgYGBub3QgYWBgICAgICAgICAgICAgICAgfCBgYG5vdF8oYSlgYCAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKQEAgLTQ5OSw2ICs1MDksMTQgQEAKICAgIGBgYSA9IGltdWwoYSwgYilgYCBpcyBlcXVpdmFsZW50IHRvIGBgYSAqPSBiYGAuCiAKIAorLi4gZnVuY3Rpb246OiBpbWF0bXVsKGEsIGIpCisgICAgICAgICAgICAgIF9faW1hdG11bF9fKGEsIGIpCisKKyAgIGBgYSA9IGltYXRtdWwoYSwgYilgYCBpcyBlcXVpdmFsZW50IHRvIGBgYSBAPSBiYGAuCisKKyAgIC4uIHZlcnNpb25hZGRlZDo6IDMuNQorCisKIC4uIGZ1bmN0aW9uOjogaW9yKGEsIGIpCiAgICAgICAgICAgICAgIF9faW9yX18oYSwgYikKIApkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvb3MucnN0IGIvRG9jL2xpYnJhcnkvb3MucnN0CmluZGV4IDk4ZWU4NDIuLjI0NjdjNjAgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L29zLnJzdAorKysgYi9Eb2MvbGlicmFyeS9vcy5yc3QKQEAgLTc4LDkgKzc4LDEwIEBACiAKIC4uIHZlcnNpb25jaGFuZ2VkOjogMy4xCiAgICBPbiBzb21lIHN5c3RlbXMsIGNvbnZlcnNpb24gdXNpbmcgdGhlIGZpbGUgc3lzdGVtIGVuY29kaW5nIG1heSBmYWlsLiBJbiB0aGlzCi0gICBjYXNlLCBQeXRob24gdXNlcyB0aGUgYGBzdXJyb2dhdGVlc2NhcGVgYCBlbmNvZGluZyBlcnJvciBoYW5kbGVyLCB3aGljaCBtZWFucwotICAgdGhhdCB1bmRlY29kYWJsZSBieXRlcyBhcmUgcmVwbGFjZWQgYnkgYSBVbmljb2RlIGNoYXJhY3RlciBVK0RDeHggb24KLSAgIGRlY29kaW5nLCBhbmQgdGhlc2UgYXJlIGFnYWluIHRyYW5zbGF0ZWQgdG8gdGhlIG9yaWdpbmFsIGJ5dGUgb24gZW5jb2RpbmcuCisgICBjYXNlLCBQeXRob24gdXNlcyB0aGUgOnJlZjpgc3Vycm9nYXRlZXNjYXBlIGVuY29kaW5nIGVycm9yIGhhbmRsZXIKKyAgIDxzdXJyb2dhdGVlc2NhcGU+YCwgd2hpY2ggbWVhbnMgdGhhdCB1bmRlY29kYWJsZSBieXRlcyBhcmUgcmVwbGFjZWQgYnkgYQorICAgVW5pY29kZSBjaGFyYWN0ZXIgVStEQ3h4IG9uIGRlY29kaW5nLCBhbmQgdGhlc2UgYXJlIGFnYWluIHRyYW5zbGF0ZWQgdG8gdGhlCisgICBvcmlnaW5hbCBieXRlIG9uIGVuY29kaW5nLgogCiAKIFRoZSBmaWxlIHN5c3RlbSBlbmNvZGluZyBtdXN0IGd1YXJhbnRlZSB0byBzdWNjZXNzZnVsbHkgZGVjb2RlIGFsbCBieXRlcwpAQCAtODA3LDYgKzgwOCwxNyBAQAogICAgQXZhaWxhYmlsaXR5OiBVbml4LgogCiAKKy4uIGZ1bmN0aW9uOjogZ2V0X2Jsb2NraW5nKGZkKQorCisgICBHZXQgdGhlIGJsb2NraW5nIG1vZGUgb2YgdGhlIGZpbGUgZGVzY3JpcHRvcjogYGBGYWxzZWBgIGlmIHRoZQorICAgOmRhdGE6YE9fTk9OQkxPQ0tgIGZsYWcgaXMgc2V0LCBgYFRydWVgYCBpZiB0aGUgZmxhZyBpcyBjbGVhcmVkLgorCisgICBTZWUgYWxzbyA6ZnVuYzpgc2V0X2Jsb2NraW5nYCBhbmQgOm1ldGg6YHNvY2tldC5zb2NrZXQuc2V0YmxvY2tpbmdgLgorCisgICBBdmFpbGFiaWxpdHk6IFVuaXguCisKKyAgIC4uIHZlcnNpb25hZGRlZDo6IDMuNQorCiAuLiBmdW5jdGlvbjo6IGlzYXR0eShmZCkKIAogICAgUmV0dXJuIGBgVHJ1ZWBgIGlmIHRoZSBmaWxlIGRlc2NyaXB0b3IgKmZkKiBpcyBvcGVuIGFuZCBjb25uZWN0ZWQgdG8gYQpAQCAtMTEwNyw2ICsxMTE5LDE4IEBACiAgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjMKIAogCisuLiBmdW5jdGlvbjo6IHNldF9ibG9ja2luZyhmZCwgYmxvY2tpbmcpCisKKyAgIFNldCB0aGUgYmxvY2tpbmcgbW9kZSBvZiB0aGUgc3BlY2lmaWVkIGZpbGUgZGVzY3JpcHRvci4gU2V0IHRoZQorICAgOmRhdGE6YE9fTk9OQkxPQ0tgIGZsYWcgaWYgYmxvY2tpbmcgaXMgYGBGYWxzZWBgLCBjbGVhciB0aGUgZmxhZyBvdGhlcndpc2UuCisKKyAgIFNlZSBhbHNvIDpmdW5jOmBnZXRfYmxvY2tpbmdgIGFuZCA6bWV0aDpgc29ja2V0LnNvY2tldC5zZXRibG9ja2luZ2AuCisKKyAgIEF2YWlsYWJpbGl0eTogVW5peC4KKworICAgLi4gdmVyc2lvbmFkZGVkOjogMy41CisKKwogLi4gZGF0YTo6IFNGX05PRElTS0lPCiAgICAgICAgICAgU0ZfTU5PV0FJVAogICAgICAgICAgIFNGX1NZTkMKQEAgLTIwNDQsNiArMjA2OCwxNSBAQAogCiAgICAgICBGaWxlIHR5cGUuCiAKKyAgIE9uIFdpbmRvd3Mgc3lzdGVtcywgdGhlIGZvbGxvd2luZyBhdHRyaWJ1dGUgaXMgYWxzbyBhdmFpbGFibGU6CisKKyAgIC4uIGF0dHJpYnV0ZTo6IHN0X2ZpbGVfYXR0cmlidXRlcworCisgICAgICBXaW5kb3dzIGZpbGUgYXR0cmlidXRlczogYGBkd0ZpbGVBdHRyaWJ1dGVzYGAgbWVtYmVyIG9mIHRoZQorICAgICAgYGBCWV9IQU5ETEVfRklMRV9JTkZPUk1BVElPTmBgIHN0cnVjdHVyZSByZXR1cm5lZCBieQorICAgICAgOmM6ZnVuYzpgR2V0RmlsZUluZm9ybWF0aW9uQnlIYW5kbGVgLiBTZWUgdGhlIGBgRklMRV9BVFRSSUJVVEVfKmBgCisgICAgICBjb25zdGFudHMgaW4gdGhlIDptb2Q6YHN0YXRgIG1vZHVsZS4KKwogICAgVGhlIHN0YW5kYXJkIG1vZHVsZSA6bW9kOmBzdGF0YCBkZWZpbmVzIGZ1bmN0aW9ucyBhbmQgY29uc3RhbnRzIHRoYXQgYXJlCiAgICB1c2VmdWwgZm9yIGV4dHJhY3RpbmcgaW5mb3JtYXRpb24gZnJvbSBhIDpjOnR5cGU6YHN0YXRgIHN0cnVjdHVyZS4gKE9uCiAgICBXaW5kb3dzLCBzb21lIGl0ZW1zIGFyZSBmaWxsZWQgd2l0aCBkdW1teSB2YWx1ZXMuKQpAQCAtMjA2MSw2ICsyMDk0LDkgQEAKICAgICAgIEFkZGVkIHRoZSA6YXR0cjpgc3RfYXRpbWVfbnNgLCA6YXR0cjpgc3RfbXRpbWVfbnNgLCBhbmQKICAgICAgIDphdHRyOmBzdF9jdGltZV9uc2AgbWVtYmVycy4KIAorICAgLi4gdmVyc2lvbmFkZGVkOjogMy41CisgICAgICBBZGRlZCB0aGUgOmF0dHI6YHN0X2ZpbGVfYXR0cmlidXRlc2AgbWVtYmVyIG9uIFdpbmRvd3MuCisKIAogLi4gZnVuY3Rpb246OiBzdGF0X2Zsb2F0X3RpbWVzKFtuZXd2YWx1ZV0pCiAKQEAgLTI5ODksNiArMzAyNSwxMCBAQAogICAgZG9lc24ndCB3b3JrIGlmIGl0IGlzLiAgVXNlIHRoZSA6ZnVuYzpgb3MucGF0aC5ub3JtcGF0aGAgZnVuY3Rpb24gdG8gZW5zdXJlIHRoYXQKICAgIHRoZSBwYXRoIGlzIHByb3Blcmx5IGVuY29kZWQgZm9yIFdpbjMyLgogCisgICBUbyByZWR1Y2UgaW50ZXJwcmV0ZXIgc3RhcnR1cCBvdmVyaGVhZCwgdGhlIFdpbjMyIDpjOmZ1bmM6YFNoZWxsRXhlY3V0ZWAKKyAgIGZ1bmN0aW9uIGlzIG5vdCByZXNvbHZlZCB1bnRpbCB0aGlzIGZ1bmN0aW9uIGlzIGZpcnN0IGNhbGxlZC4gIElmIHRoZSBmdW5jdGlvbgorICAgY2Fubm90IGJlIHJlc29sdmVkLCA6ZXhjOmBOb3RJbXBsZW1lbnRlZEVycm9yYCB3aWxsIGJlIHJhaXNlZC4KKwogICAgQXZhaWxhYmlsaXR5OiBXaW5kb3dzLgogCiAKZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L3BhdGhsaWIucnN0IGIvRG9jL2xpYnJhcnkvcGF0aGxpYi5yc3QKaW5kZXggZWMxZGM0Zi4uMDIyNmNlNCAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvcGF0aGxpYi5yc3QKKysrIGIvRG9jL2xpYnJhcnkvcGF0aGxpYi5yc3QKQEAgLTYyOCw2ICs2MjgsMTcgQEAKICAgICAgIFBvc2l4UGF0aCgnL2hvbWUvYW50b2luZS9wYXRobGliJykKIAogCisuLiBjbGFzc21ldGhvZDo6IFBhdGguaG9tZSgpCisKKyAgIFJldHVybiBhIG5ldyBwYXRoIG9iamVjdCByZXByZXNlbnRpbmcgdGhlIHVzZXIncyBob21lIGRpcmVjdG9yeSAoYXMKKyAgIHJldHVybmVkIGJ5IDpmdW5jOmBvcy5wYXRoLmV4cGFuZHVzZXJgIHdpdGggYGB+YGAgY29uc3RydWN0KTo6CisKKyAgICAgID4+PiBQYXRoLmhvbWUoKQorICAgICAgUG9zaXhQYXRoKCcvaG9tZS9hbnRvaW5lJykKKworICAgLi4gdmVyc2lvbmFkZGVkOjogMy41CisKKwogLi4gbWV0aG9kOjogUGF0aC5zdGF0KCkKIAogICAgUmV0dXJuIGluZm9ybWF0aW9uIGFib3V0IHRoaXMgcGF0aCAoc2ltaWxhcmx5IHRvIDpmdW5jOmBvcy5zdGF0YCkuCkBAIC02NzAsNiArNjgxLDE4IEBACiAgICAgICBzeW1saW5rICpwb2ludHMgdG8qIGFuIGV4aXN0aW5nIGZpbGUgb3IgZGlyZWN0b3J5LgogCiAKKy4uIG1ldGhvZDo6IFBhdGguZXhwYW5kdXNlcigpCisKKyAgIFJldHVybiBhIG5ldyBwYXRoIHdpdGggZXhwYW5kZWQgYGB+YGAgYW5kIGBgfnVzZXJgYCBjb25zdHJ1Y3RzLAorICAgYXMgcmV0dXJuZWQgYnkgOm1ldGg6YG9zLnBhdGguZXhwYW5kdXNlcmA6OgorCisgICAgICA+Pj4gcCA9IFBvc2l4UGF0aCgnfi9maWxtcy9Nb250eSBQeXRob24nKQorICAgICAgPj4+IHAuZXhwYW5kdXNlcigpCisgICAgICBQb3NpeFBhdGgoJy9ob21lL2VyaWMvZmlsbXMvTW9udHkgUHl0aG9uJykKKworICAgLi4gdmVyc2lvbmFkZGVkOjogMy41CisKKwogLi4gbWV0aG9kOjogUGF0aC5nbG9iKHBhdHRlcm4pCiAKICAgIEdsb2IgdGhlIGdpdmVuICpwYXR0ZXJuKiBpbiB0aGUgZGlyZWN0b3J5IHJlcHJlc2VudGVkIGJ5IHRoaXMgcGF0aCwKQEAgLTc5MSw3ICs4MTQsNyBAQAogICAgdGhlIHN5bWJvbGljIGxpbmsncyBpbmZvcm1hdGlvbiByYXRoZXIgdGhhbiBpdHMgdGFyZ2V0J3MuCiAKIAotLi4gbWV0aG9kOjogUGF0aC5ta2Rpcihtb2RlPTBvNzc3LCBwYXJlbnRzPUZhbHNlKQorLi4gbWV0aG9kOjogUGF0aC5ta2Rpcihtb2RlPTBvNzc3LCBwYXJlbnRzPUZhbHNlLCBleGlzdF9vaz1GYWxzZSkKIAogICAgQ3JlYXRlIGEgbmV3IGRpcmVjdG9yeSBhdCB0aGlzIGdpdmVuIHBhdGguICBJZiAqbW9kZSogaXMgZ2l2ZW4sIGl0IGlzCiAgICBjb21iaW5lZCB3aXRoIHRoZSBwcm9jZXNzJyBgYHVtYXNrYGAgdmFsdWUgdG8gZGV0ZXJtaW5lIHRoZSBmaWxlIG1vZGUKQEAgLTgwNSw2ICs4MjgsMTYgQEAKICAgIElmICpwYXJlbnRzKiBpcyBmYWxzZSAodGhlIGRlZmF1bHQpLCBhIG1pc3NpbmcgcGFyZW50IHJhaXNlcwogICAgOmV4YzpgRmlsZU5vdEZvdW5kRXJyb3JgLgogCisgICBJZiAqZXhpc3Rfb2sqIGlzIGZhbHNlICh0aGUgZGVmYXVsdCksIGFuIDpleGM6YEZpbGVFeGlzdHNFcnJvcmAgaXMKKyAgIHJhaXNlZCBpZiB0aGUgdGFyZ2V0IGRpcmVjdG9yeSBhbHJlYWR5IGV4aXN0cy4KKworICAgSWYgKmV4aXN0X29rKiBpcyB0cnVlLCA6ZXhjOmBGaWxlRXhpc3RzRXJyb3JgIGV4Y2VwdGlvbnMgd2lsbCBiZQorICAgaWdub3JlZCAoc2FtZSBiZWhhdmlvciBhcyB0aGUgUE9TSVggYGBta2RpciAtcGBgIGNvbW1hbmQpLCBidXQgb25seSBpZiB0aGUKKyAgIGxhc3QgcGF0aCBjb21wb25lbnQgaXMgbm90IGFuIGV4aXN0aW5nIG5vbi1kaXJlY3RvcnkgZmlsZS4KKworICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjUKKyAgICAgIFRoZSAqZXhpc3Rfb2sqIHBhcmFtZXRlciB3YXMgYWRkZWQuCisKIAogLi4gbWV0aG9kOjogUGF0aC5vcGVuKG1vZGU9J3InLCBidWZmZXJpbmc9LTEsIGVuY29kaW5nPU5vbmUsIGVycm9ycz1Ob25lLCBuZXdsaW5lPU5vbmUpCiAKQEAgLTgyNCw2ICs4NTcsMzQgQEAKICAgIGlmIHRoZSBmaWxlJ3MgdWlkIGlzbid0IGZvdW5kIGluIHRoZSBzeXN0ZW0gZGF0YWJhc2UuCiAKIAorLi4gbWV0aG9kOjogUGF0aC5yZWFkX2J5dGVzKCkKKworICAgUmV0dXJuIHRoZSBiaW5hcnkgY29udGVudHMgb2YgdGhlIHBvaW50ZWQtdG8gZmlsZSBhcyBhIGJ5dGVzIG9iamVjdDo6CisKKyAgICAgID4+PiBwID0gUGF0aCgnbXlfYmluYXJ5X2ZpbGUnKQorICAgICAgPj4+IHAud3JpdGVfYnl0ZXMoYidCaW5hcnkgZmlsZSBjb250ZW50cycpCisgICAgICAyMAorICAgICAgPj4+IHAucmVhZF9ieXRlcygpCisgICAgICBiJ0JpbmFyeSBmaWxlIGNvbnRlbnRzJworCisgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjUKKworCisuLiBtZXRob2Q6OiBQYXRoLnJlYWRfdGV4dChlbmNvZGluZz1Ob25lLCBlcnJvcnM9Tm9uZSkKKworICAgUmV0dXJuIHRoZSBkZWNvZGVkIGNvbnRlbnRzIG9mIHRoZSBwb2ludGVkLXRvIGZpbGUgYXMgYSBzdHJpbmc6OgorCisgICAgICA+Pj4gcCA9IFBhdGgoJ215X3RleHRfZmlsZScpCisgICAgICA+Pj4gcC53cml0ZV90ZXh0KCdUZXh0IGZpbGUgY29udGVudHMnKQorICAgICAgMTgKKyAgICAgID4+PiBwLnJlYWRfdGV4dCgpCisgICAgICAnVGV4dCBmaWxlIGNvbnRlbnRzJworCisgICBUaGUgb3B0aW9uYWwgcGFyYW1ldGVycyBoYXZlIHRoZSBzYW1lIG1lYW5pbmcgYXMgaW4gOmZ1bmM6YG9wZW5gLgorCisgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjUKKworCiAuLiBtZXRob2Q6OiBQYXRoLnJlbmFtZSh0YXJnZXQpCiAKICAgIFJlbmFtZSB0aGlzIGZpbGUgb3IgZGlyZWN0b3J5IHRvIHRoZSBnaXZlbiAqdGFyZ2V0Ki4gICp0YXJnZXQqIGNhbiBiZQpAQCAtODg0LDYgKzk0NSwyNSBAQAogICAgUmVtb3ZlIHRoaXMgZGlyZWN0b3J5LiAgVGhlIGRpcmVjdG9yeSBtdXN0IGJlIGVtcHR5LgogCiAKKy4uIG1ldGhvZDo6IFBhdGguc2FtZWZpbGUob3RoZXJfcGF0aCkKKworICAgUmV0dXJuIHdoZXRoZXIgdGhpcyBwYXRoIHBvaW50cyB0byB0aGUgc2FtZSBmaWxlIGFzICpvdGhlcl9wYXRoKiwgd2hpY2gKKyAgIGNhbiBiZSBlaXRoZXIgYSBQYXRoIG9iamVjdCwgb3IgYSBzdHJpbmcuICBUaGUgc2VtYW50aWNzIGFyZSBzaW1pbGFyCisgICB0byA6ZnVuYzpgb3MucGF0aC5zYW1lZmlsZWAgYW5kIDpmdW5jOmBvcy5wYXRoLnNhbWVzdGF0YC4KKworICAgQW4gOmV4YzpgT1NFcnJvcmAgY2FuIGJlIHJhaXNlZCBpZiBlaXRoZXIgZmlsZSBjYW5ub3QgYmUgYWNjZXNzZWQgZm9yIHNvbWUKKyAgIHJlYXNvbi4KKworICAgICAgPj4+IHAgPSBQYXRoKCdzcGFtJykKKyAgICAgID4+PiBxID0gUGF0aCgnZWdncycpCisgICAgICA+Pj4gcC5zYW1lZmlsZShxKQorICAgICAgRmFsc2UKKyAgICAgID4+PiBwLnNhbWVmaWxlKCdzcGFtJykKKyAgICAgIFRydWUKKworICAgLi4gdmVyc2lvbmFkZGVkOjogMy41CisKKwogLi4gbWV0aG9kOjogUGF0aC5zeW1saW5rX3RvKHRhcmdldCwgdGFyZ2V0X2lzX2RpcmVjdG9yeT1GYWxzZSkKIAogICAgTWFrZSB0aGlzIHBhdGggYSBzeW1ib2xpYyBsaW5rIHRvICp0YXJnZXQqLiAgVW5kZXIgV2luZG93cywKQEAgLTkxNywzICs5OTcsMzMgQEAKIAogICAgUmVtb3ZlIHRoaXMgZmlsZSBvciBzeW1ib2xpYyBsaW5rLiAgSWYgdGhlIHBhdGggcG9pbnRzIHRvIGEgZGlyZWN0b3J5LAogICAgdXNlIDpmdW5jOmBQYXRoLnJtZGlyYCBpbnN0ZWFkLgorCisKKy4uIG1ldGhvZDo6IFBhdGgud3JpdGVfYnl0ZXMoZGF0YSkKKworICAgT3BlbiB0aGUgZmlsZSBwb2ludGVkIHRvIGluIGJ5dGVzIG1vZGUsIHdyaXRlICpkYXRhKiB0byBpdCwgYW5kIGNsb3NlIHRoZQorICAgZmlsZTo6CisKKyAgICAgID4+PiBwID0gUGF0aCgnbXlfYmluYXJ5X2ZpbGUnKQorICAgICAgPj4+IHAud3JpdGVfYnl0ZXMoYidCaW5hcnkgZmlsZSBjb250ZW50cycpCisgICAgICAyMAorICAgICAgPj4+IHAucmVhZF9ieXRlcygpCisgICAgICBiJ0JpbmFyeSBmaWxlIGNvbnRlbnRzJworCisgICBBbiBleGlzdGluZyBmaWxlIG9mIHRoZSBzYW1lIG5hbWUgaXMgb3ZlcndyaXR0ZW4uCisKKyAgIC4uIHZlcnNpb25hZGRlZDo6IDMuNQorCisKKy4uIG1ldGhvZDo6IFBhdGgud3JpdGVfdGV4dChkYXRhLCBlbmNvZGluZz1Ob25lLCBlcnJvcnM9Tm9uZSkKKworICAgT3BlbiB0aGUgZmlsZSBwb2ludGVkIHRvIGluIHRleHQgbW9kZSwgd3JpdGUgKmRhdGEqIHRvIGl0LCBhbmQgY2xvc2UgdGhlCisgICBmaWxlOjoKKworICAgICAgPj4+IHAgPSBQYXRoKCdteV90ZXh0X2ZpbGUnKQorICAgICAgPj4+IHAud3JpdGVfdGV4dCgnVGV4dCBmaWxlIGNvbnRlbnRzJykKKyAgICAgIDE4CisgICAgICA+Pj4gcC5yZWFkX3RleHQoKQorICAgICAgJ1RleHQgZmlsZSBjb250ZW50cycKKworICAgLi4gdmVyc2lvbmFkZGVkOjogMy41CmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS9waWNrbGUucnN0IGIvRG9jL2xpYnJhcnkvcGlja2xlLnJzdAppbmRleCA0NzM1NmY5Li40Y2U0ZDM0IDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS9waWNrbGUucnN0CisrKyBiL0RvYy9saWJyYXJ5L3BpY2tsZS5yc3QKQEAgLTg1OSw3ICs4NTksNyBAQAogICAgZGF0YSA9IHsKICAgICAgICAnYSc6IFsxLCAyLjAsIDMsIDQrNmpdLAogICAgICAgICdiJzogKCJjaGFyYWN0ZXIgc3RyaW5nIiwgYiJieXRlIHN0cmluZyIpLAotICAgICAgICdjJzogc2V0KFtOb25lLCBUcnVlLCBGYWxzZV0pCisgICAgICAgJ2MnOiB7Tm9uZSwgVHJ1ZSwgRmFsc2V9CiAgICB9CiAKICAgIHdpdGggb3BlbignZGF0YS5waWNrbGUnLCAnd2InKSBhcyBmOgpkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvcGtndXRpbC5yc3QgYi9Eb2MvbGlicmFyeS9wa2d1dGlsLnJzdAppbmRleCAxM2VhN2I5Li41ZDMyOTVkIDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS9wa2d1dGlsLnJzdAorKysgYi9Eb2MvbGlicmFyeS9wa2d1dGlsLnJzdApAQCAtNTgsNyArNTgsNyBAQAogCiAgICAuLiBkZXByZWNhdGVkOjogMy4zCiAgICAgICBUaGlzIGVtdWxhdGlvbiBpcyBubyBsb25nZXIgbmVlZGVkLCBhcyB0aGUgc3RhbmRhcmQgaW1wb3J0IG1lY2hhbmlzbQotICAgICAgaXMgbm93IGZ1bGx5IFBFUCAzMDIgY29tcGxpYW50IGFuZCBhdmFpbGFibGUgaW4gOm1vZDpgaW1wb3J0bGliYAorICAgICAgaXMgbm93IGZ1bGx5IFBFUCAzMDIgY29tcGxpYW50IGFuZCBhdmFpbGFibGUgaW4gOm1vZDpgaW1wb3J0bGliYC4KIAogCiAuLiBjbGFzczo6IEltcExvYWRlcihmdWxsbmFtZSwgZmlsZSwgZmlsZW5hbWUsIGV0YykKQEAgLTY3LDcgKzY3LDcgQEAKIAogICAgLi4gZGVwcmVjYXRlZDo6IDMuMwogICAgICAgVGhpcyBlbXVsYXRpb24gaXMgbm8gbG9uZ2VyIG5lZWRlZCwgYXMgdGhlIHN0YW5kYXJkIGltcG9ydCBtZWNoYW5pc20KLSAgICAgIGlzIG5vdyBmdWxseSBQRVAgMzAyIGNvbXBsaWFudCBhbmQgYXZhaWxhYmxlIGluIDptb2Q6YGltcG9ydGxpYmAKKyAgICAgIGlzIG5vdyBmdWxseSBQRVAgMzAyIGNvbXBsaWFudCBhbmQgYXZhaWxhYmxlIGluIDptb2Q6YGltcG9ydGxpYmAuCiAKIAogLi4gZnVuY3Rpb246OiBmaW5kX2xvYWRlcihmdWxsbmFtZSkKZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L3BsaXN0bGliLnJzdCBiL0RvYy9saWJyYXJ5L3BsaXN0bGliLnJzdAppbmRleCAyYmVmMTIwLi40MTY1NTkxIDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS9wbGlzdGxpYi5yc3QKKysrIGIvRG9jL2xpYnJhcnkvcGxpc3RsaWIucnN0CkBAIC0xMjksNyArMTI5LDcgQEAKICAgIGFuZCBiaW5hcnkpIGZpbGUgb2JqZWN0LiBSZXR1cm5zIHRoZSB1bnBhY2tlZCByb290IG9iamVjdCAod2hpY2ggdXN1YWxseQogICAgaXMgYSBkaWN0aW9uYXJ5KS4KIAotICAgVGhpcyBmdW5jdGlvbiBjYWxscyA6ZnVuYzpgbG9hZGAgdG8gZG8gdGhlIGFjdHVhbCB3b3JrLCB0aGUgdGhlIGRvY3VtZW50YXRpb24KKyAgIFRoaXMgZnVuY3Rpb24gY2FsbHMgOmZ1bmM6YGxvYWRgIHRvIGRvIHRoZSBhY3R1YWwgd29yaywgc2VlIHRoZSBkb2N1bWVudGF0aW9uCiAgICBvZiA6ZnVuYzpgdGhhdCBmdW5jdGlvbiA8bG9hZD5gIGZvciBhbiBleHBsYW5hdGlvbiBvZiB0aGUga2V5d29yZCBhcmd1bWVudHMuCiAKICAgIC4uIG5vdGU6OgpkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvcmFuZG9tLnJzdCBiL0RvYy9saWJyYXJ5L3JhbmRvbS5yc3QKaW5kZXggMTFkZDM2Ny4uZjhiNzcyNyAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvcmFuZG9tLnJzdAorKysgYi9Eb2MvbGlicmFyeS9yYW5kb20ucnN0CkBAIC00Niw4ICs0Niw3IEBACiAuLiB3YXJuaW5nOjoKIAogICAgVGhlIHBzZXVkby1yYW5kb20gZ2VuZXJhdG9ycyBvZiB0aGlzIG1vZHVsZSBzaG91bGQgbm90IGJlIHVzZWQgZm9yCi0gICBzZWN1cml0eSBwdXJwb3Nlcy4gIFVzZSA6ZnVuYzpgb3MudXJhbmRvbWAgb3IgOmNsYXNzOmBTeXN0ZW1SYW5kb21gIGlmCi0gICB5b3UgcmVxdWlyZSBhIGNyeXB0b2dyYXBoaWNhbGx5IHNlY3VyZSBwc2V1ZG8tcmFuZG9tIG51bWJlciBnZW5lcmF0b3IuCisgICBzZWN1cml0eSBwdXJwb3Nlcy4KIAogCiBCb29ra2VlcGluZyBmdW5jdGlvbnM6CmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS9yZS5yc3QgYi9Eb2MvbGlicmFyeS9yZS5yc3QKaW5kZXggYzNjOGI2NS4uMGQzMDVkNSAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvcmUucnN0CisrKyBiL0RvYy9saWJyYXJ5L3JlLnJzdApAQCAtMjgxLDkgKzI4MSw3IEBACiAgICBhc3NlcnRpb25gLiBgYCg/PD1hYmMpZGVmYGAgd2lsbCBmaW5kIGEgbWF0Y2ggaW4gYGBhYmNkZWZgYCwgc2luY2UgdGhlCiAgICBsb29rYmVoaW5kIHdpbGwgYmFjayB1cCAzIGNoYXJhY3RlcnMgYW5kIGNoZWNrIGlmIHRoZSBjb250YWluZWQgcGF0dGVybiBtYXRjaGVzLgogICAgVGhlIGNvbnRhaW5lZCBwYXR0ZXJuIG11c3Qgb25seSBtYXRjaCBzdHJpbmdzIG9mIHNvbWUgZml4ZWQgbGVuZ3RoLCBtZWFuaW5nIHRoYXQKLSAgIGBgYWJjYGAgb3IgYGBhfGJgYCBhcmUgYWxsb3dlZCwgYnV0IGBgYSpgYCBhbmQgYGBhezMsNH1gYCBhcmUgbm90LiAgR3JvdXAKLSAgIHJlZmVyZW5jZXMgYXJlIG5vdCBzdXBwb3J0ZWQgZXZlbiBpZiB0aGV5IG1hdGNoIHN0cmluZ3Mgb2Ygc29tZSBmaXhlZCBsZW5ndGguCi0gICBOb3RlIHRoYXQKKyAgIGBgYWJjYGAgb3IgYGBhfGJgYCBhcmUgYWxsb3dlZCwgYnV0IGBgYSpgYCBhbmQgYGBhezMsNH1gYCBhcmUgbm90LiAgTm90ZSB0aGF0CiAgICBwYXR0ZXJucyB3aGljaCBzdGFydCB3aXRoIHBvc2l0aXZlIGxvb2tiZWhpbmQgYXNzZXJ0aW9ucyB3aWxsIG5vdCBtYXRjaCBhdCB0aGUKICAgIGJlZ2lubmluZyBvZiB0aGUgc3RyaW5nIGJlaW5nIHNlYXJjaGVkOyB5b3Ugd2lsbCBtb3N0IGxpa2VseSB3YW50IHRvIHVzZSB0aGUKICAgIDpmdW5jOmBzZWFyY2hgIGZ1bmN0aW9uIHJhdGhlciB0aGFuIHRoZSA6ZnVuYzpgbWF0Y2hgIGZ1bmN0aW9uOgpAQCAtMjk5LDEyICsyOTcsMTQgQEAKICAgICAgID4+PiBtLmdyb3VwKDApCiAgICAgICAnZWdnJwogCisgICAuLiB2ZXJzaW9uY2hhbmdlZDogMy41CisgICAgICBBZGRlZCBzdXBwb3J0IGZvciBncm91cCByZWZlcmVuY2VzIG9mIGZpeGVkIGxlbmd0aC4KKwogYGAoPzwhLi4uKWBgCiAgICBNYXRjaGVzIGlmIHRoZSBjdXJyZW50IHBvc2l0aW9uIGluIHRoZSBzdHJpbmcgaXMgbm90IHByZWNlZGVkIGJ5IGEgbWF0Y2ggZm9yCiAgICBgYC4uLmBgLiAgVGhpcyBpcyBjYWxsZWQgYSA6ZGZuOmBuZWdhdGl2ZSBsb29rYmVoaW5kIGFzc2VydGlvbmAuICBTaW1pbGFyIHRvCiAgICBwb3NpdGl2ZSBsb29rYmVoaW5kIGFzc2VydGlvbnMsIHRoZSBjb250YWluZWQgcGF0dGVybiBtdXN0IG9ubHkgbWF0Y2ggc3RyaW5ncyBvZgotICAgc29tZSBmaXhlZCBsZW5ndGggYW5kIHNob3VsZG4ndCBjb250YWluIGdyb3VwIHJlZmVyZW5jZXMuCi0gICBQYXR0ZXJucyB3aGljaCBzdGFydCB3aXRoIG5lZ2F0aXZlIGxvb2tiZWhpbmQgYXNzZXJ0aW9ucyBtYXkKKyAgIHNvbWUgZml4ZWQgbGVuZ3RoLiAgUGF0dGVybnMgd2hpY2ggc3RhcnQgd2l0aCBuZWdhdGl2ZSBsb29rYmVoaW5kIGFzc2VydGlvbnMgbWF5CiAgICBtYXRjaCBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBzdHJpbmcgYmVpbmcgc2VhcmNoZWQuCiAKIGBgKD8oaWQvbmFtZSl5ZXMtcGF0dGVybnxuby1wYXR0ZXJuKWBgCkBAIC01MjQsNyArNTI0LDExIEBACiAgICBjdXJyZW50IGxvY2FsZS4gVGhlIHVzZSBvZiB0aGlzIGZsYWcgaXMgZGlzY291cmFnZWQgYXMgdGhlIGxvY2FsZSBtZWNoYW5pc20KICAgIGlzIHZlcnkgdW5yZWxpYWJsZSwgYW5kIGl0IG9ubHkgaGFuZGxlcyBvbmUgImN1bHR1cmUiIGF0IGEgdGltZSBhbnl3YXk7CiAgICB5b3Ugc2hvdWxkIHVzZSBVbmljb2RlIG1hdGNoaW5nIGluc3RlYWQsIHdoaWNoIGlzIHRoZSBkZWZhdWx0IGluIFB5dGhvbiAzCi0gICBmb3IgVW5pY29kZSAoc3RyKSBwYXR0ZXJucy4KKyAgIGZvciBVbmljb2RlIChzdHIpIHBhdHRlcm5zLiBUaGlzIGZsYWcgbWFrZXMgc2Vuc2Ugb25seSB3aXRoIGJ5dGVzIHBhdHRlcm5zLgorCisgICAuLiBkZXByZWNhdGVkLXJlbW92ZWQ6OiAzLjUgMy42CisgICAgICBEZXByZWNhdGVkIHRoZSB1c2Ugb2YgIDpjb25zdDpgcmUuTE9DQUxFYCB3aXRoIHN0cmluZyBwYXR0ZXJucyBvcgorICAgICAgOmNvbnN0OmByZS5BU0NJSWAuCiAKIAogLi4gZGF0YTo6IE0KQEAgLTYyNSwxNyArNjI5LDM3IEBACiAgICBUaGF0IHdheSwgc2VwYXJhdG9yIGNvbXBvbmVudHMgYXJlIGFsd2F5cyBmb3VuZCBhdCB0aGUgc2FtZSByZWxhdGl2ZQogICAgaW5kaWNlcyB3aXRoaW4gdGhlIHJlc3VsdCBsaXN0LgogCi0gICBOb3RlIHRoYXQgKnNwbGl0KiB3aWxsIG5ldmVyIHNwbGl0IGEgc3RyaW5nIG9uIGFuIGVtcHR5IHBhdHRlcm4gbWF0Y2guCi0gICBGb3IgZXhhbXBsZToKKyAgIC4uIG5vdGU6OgogCi0gICAgICA+Pj4gcmUuc3BsaXQoJ3gqJywgJ2ZvbycpCi0gICAgICBbJ2ZvbyddCi0gICAgICA+Pj4gcmUuc3BsaXQoIig/bSleJCIsICJmb29cblxuYmFyXG4iKQotICAgICAgWydmb29cblxuYmFyXG4nXQorICAgICAgOmZ1bmM6YHNwbGl0YCBkb2Vzbid0IGN1cnJlbnRseSBzcGxpdCBhIHN0cmluZyBvbiBhbiBlbXB0eSBwYXR0ZXJuIG1hdGNoLgorICAgICAgRm9yIGV4YW1wbGU6CisKKyAgICAgICAgID4+PiByZS5zcGxpdCgneConLCAnYXhiYycpCisgICAgICAgICBbJ2EnLCAnYmMnXQorCisgICAgICBFdmVuIHRob3VnaCBgYCd4KidgYCBhbHNvIG1hdGNoZXMgMCAneCcgYmVmb3JlICdhJywgYmV0d2VlbiAnYicgYW5kICdjJywKKyAgICAgIGFuZCBhZnRlciAnYycsIGN1cnJlbnRseSB0aGVzZSBtYXRjaGVzIGFyZSBpZ25vcmVkLiAgVGhlIGNvcnJlY3QgYmVoYXZpb3IKKyAgICAgIChpLmUuIHNwbGl0dGluZyBvbiBlbXB0eSBtYXRjaGVzIHRvbyBhbmQgcmV0dXJuaW5nIGBgWycnLCAnYScsICdiJywgJ2MnLAorICAgICAgJyddYGApIHdpbGwgYmUgaW1wbGVtZW50ZWQgaW4gZnV0dXJlIHZlcnNpb25zIG9mIFB5dGhvbiwgYnV0IHNpbmNlIHRoaXMKKyAgICAgIGlzIGEgYmFja3dhcmQgaW5jb21wYXRpYmxlIGNoYW5nZSwgYSA6ZXhjOmBGdXR1cmVXYXJuaW5nYCB3aWxsIGJlIHJhaXNlZAorICAgICAgaW4gdGhlIG1lYW53aGlsZS4KKworICAgICAgUGF0dGVybnMgdGhhdCBjYW4gb25seSBtYXRjaCBlbXB0eSBzdHJpbmdzIGN1cnJlbnRseSBuZXZlciBzcGxpdCB0aGUKKyAgICAgIHN0cmluZy4gIFNpbmNlIHRoaXMgZG9lc24ndCBtYXRjaCB0aGUgZXhwZWN0ZWQgYmVoYXZpb3IsIGEKKyAgICAgIDpleGM6YFZhbHVlRXJyb3JgIHdpbGwgYmUgcmFpc2VkIHN0YXJ0aW5nIGZyb20gUHl0aG9uIDMuNTo6CisKKyAgICAgICAgID4+PiByZS5zcGxpdCgiXiQiLCAiZm9vXG5cbmJhclxuIiwgZmxhZ3M9cmUuTSkKKyAgICAgICAgIFRyYWNlYmFjayAobW9zdCByZWNlbnQgY2FsbCBsYXN0KToKKyAgICAgICAgICAgRmlsZSAiPHN0ZGluPiIsIGxpbmUgMSwgaW4gPG1vZHVsZT4KKyAgICAgICAgICAgLi4uCisgICAgICAgICBWYWx1ZUVycm9yOiBzcGxpdCgpIHJlcXVpcmVzIGEgbm9uLWVtcHR5IHBhdHRlcm4gbWF0Y2guCiAKICAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy4xCiAgICAgICBBZGRlZCB0aGUgb3B0aW9uYWwgZmxhZ3MgYXJndW1lbnQuCiAKKyAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy41CisgICAgICBTcGxpdHRpbmcgb24gYSBwYXR0ZXJuIHRoYXQgY291bGQgbWF0Y2ggYW4gZW1wdHkgc3RyaW5nIG5vdyByYWlzZXMKKyAgICAgIGEgd2FybmluZy4gIFBhdHRlcm5zIHRoYXQgY2FuIG9ubHkgbWF0Y2ggZW1wdHkgc3RyaW5ncyBhcmUgbm93IHJlamVjdGVkLgogCiAuLiBmdW5jdGlvbjo6IGZpbmRhbGwocGF0dGVybiwgc3RyaW5nLCBmbGFncz0wKQogCkBAIC03MDUsNiArNzI5LDkgQEAKICAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy4xCiAgICAgICBBZGRlZCB0aGUgb3B0aW9uYWwgZmxhZ3MgYXJndW1lbnQuCiAKKyAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy41CisgICAgICBVbm1hdGNoZWQgZ3JvdXBzIGFyZSByZXBsYWNlZCB3aXRoIGFuIGVtcHR5IHN0cmluZy4KKwogCiAuLiBmdW5jdGlvbjo6IHN1Ym4ocGF0dGVybiwgcmVwbCwgc3RyaW5nLCBjb3VudD0wLCBmbGFncz0wKQogCkBAIC03MTQsNiArNzQxLDkgQEAKICAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy4xCiAgICAgICBBZGRlZCB0aGUgb3B0aW9uYWwgZmxhZ3MgYXJndW1lbnQuCiAKKyAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy41CisgICAgICBVbm1hdGNoZWQgZ3JvdXBzIGFyZSByZXBsYWNlZCB3aXRoIGFuIGVtcHR5IHN0cmluZy4KKwogCiAuLiBmdW5jdGlvbjo6IGVzY2FwZShzdHJpbmcpCiAKQEAgLTczMCwxMyArNzYwLDM2IEBACiAgICBDbGVhciB0aGUgcmVndWxhciBleHByZXNzaW9uIGNhY2hlLgogCiAKLS4uIGV4Y2VwdGlvbjo6IGVycm9yCisuLiBleGNlcHRpb246OiBlcnJvcihtc2csIHBhdHRlcm49Tm9uZSwgcG9zPU5vbmUpCiAKICAgIEV4Y2VwdGlvbiByYWlzZWQgd2hlbiBhIHN0cmluZyBwYXNzZWQgdG8gb25lIG9mIHRoZSBmdW5jdGlvbnMgaGVyZSBpcyBub3QgYQogICAgdmFsaWQgcmVndWxhciBleHByZXNzaW9uIChmb3IgZXhhbXBsZSwgaXQgbWlnaHQgY29udGFpbiB1bm1hdGNoZWQgcGFyZW50aGVzZXMpCiAgICBvciB3aGVuIHNvbWUgb3RoZXIgZXJyb3Igb2NjdXJzIGR1cmluZyBjb21waWxhdGlvbiBvciBtYXRjaGluZy4gIEl0IGlzIG5ldmVyIGFuCi0gICBlcnJvciBpZiBhIHN0cmluZyBjb250YWlucyBubyBtYXRjaCBmb3IgYSBwYXR0ZXJuLgorICAgZXJyb3IgaWYgYSBzdHJpbmcgY29udGFpbnMgbm8gbWF0Y2ggZm9yIGEgcGF0dGVybi4gIFRoZSBlcnJvciBpbnN0YW5jZSBoYXMKKyAgIHRoZSBmb2xsb3dpbmcgYWRkaXRpb25hbCBhdHRyaWJ1dGVzOgogCisgICAuLiBhdHRyaWJ1dGU6OiBtc2cKKworICAgICAgVGhlIHVuZm9ybWF0dGVkIGVycm9yIG1lc3NhZ2UuCisKKyAgIC4uIGF0dHJpYnV0ZTo6IHBhdHRlcm4KKworICAgICAgVGhlIHJlZ3VsYXIgZXhwcmVzc2lvbiBwYXR0ZXJuLgorCisgICAuLiBhdHRyaWJ1dGU6OiBwb3MKKworICAgICAgVGhlIGluZGV4IG9mICpwYXR0ZXJuKiB3aGVyZSBjb21waWxhdGlvbiBmYWlsZWQuCisKKyAgIC4uIGF0dHJpYnV0ZTo6IGxpbmVubworCisgICAgICBUaGUgbGluZSBjb3JyZXNwb25kaW5nIHRvICpwb3MqLgorCisgICAuLiBhdHRyaWJ1dGU6OiBjb2xubworCisgICAgICBUaGUgY29sdW1uIGNvcnJlc3BvbmRpbmcgdG8gKnBvcyouCisKKyAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy41CisgICAgICBBZGRlZCBhZGRpdGlvbmFsIGF0dHJpYnV0ZXMuCiAKIC4uIF9yZS1vYmplY3RzOgogCkBAIC04ODksNiArOTQyLDggQEAKICAgIChgYFxnPDE+YGAsIGBgXGc8bmFtZT5gYCkgYXJlIHJlcGxhY2VkIGJ5IHRoZSBjb250ZW50cyBvZiB0aGUKICAgIGNvcnJlc3BvbmRpbmcgZ3JvdXAuCiAKKyAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy41CisgICAgICBVbm1hdGNoZWQgZ3JvdXBzIGFyZSByZXBsYWNlZCB3aXRoIGFuIGVtcHR5IHN0cmluZy4KIAogLi4gbWV0aG9kOjogbWF0Y2guZ3JvdXAoW2dyb3VwMSwgLi4uXSkKIApkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvcmVhZGxpbmUucnN0IGIvRG9jL2xpYnJhcnkvcmVhZGxpbmUucnN0CmluZGV4IDY5MjMxMGIuLjM4NjRmMGQgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L3JlYWRsaW5lLnJzdAorKysgYi9Eb2MvbGlicmFyeS9yZWFkbGluZS5yc3QKQEAgLTU5LDYgKzU5LDE0IEBACiAgICBTYXZlIGEgcmVhZGxpbmUgaGlzdG9yeSBmaWxlLiBUaGUgZGVmYXVsdCBmaWxlbmFtZSBpcyA6ZmlsZTpgfi8uaGlzdG9yeWAuCiAKIAorLi4gZnVuY3Rpb246OiBhcHBlbmRfaGlzdG9yeV9maWxlKG5lbGVtZW50c1ssIGZpbGVuYW1lXSkKKworICAgQXBwZW5kIHRoZSBsYXN0ICpuZWxlbWVudHMqIG9mIGhpc3RvcnkgdG8gYSBmaWxlLiAgVGhlIGRlZmF1bHQgZmlsZW5hbWUgaXMKKyAgIDpmaWxlOmB+Ly5oaXN0b3J5YC4gIFRoZSBmaWxlIG11c3QgYWxyZWFkeSBleGlzdC4KKworICAgLi4gdmVyc2lvbmFkZGVkOjogMy41CisKKwogLi4gZnVuY3Rpb246OiBjbGVhcl9oaXN0b3J5KCkKIAogICAgQ2xlYXIgdGhlIGN1cnJlbnQgaGlzdG9yeS4gIChOb3RlOiB0aGlzIGZ1bmN0aW9uIGlzIG5vdCBhdmFpbGFibGUgaWYgdGhlCkBAIC0yMDksNiArMjE3LDI2IEBACiBUaGlzIGNvZGUgaXMgYWN0dWFsbHkgYXV0b21hdGljYWxseSBydW4gd2hlbiBQeXRob24gaXMgcnVuIGluCiA6cmVmOmBpbnRlcmFjdGl2ZSBtb2RlIDx0dXQtaW50ZXJhY3RpdmU+YCAoc2VlIDpyZWY6YHJsY29tcGxldGVyLWNvbmZpZ2ApLgogCitUaGUgZm9sbG93aW5nIGV4YW1wbGUgYWNoaWV2ZXMgdGhlIHNhbWUgZ29hbCBidXQgc3VwcG9ydHMgY29uY3VycmVudCBpbnRlcmFjdGl2ZQorc2Vzc2lvbnMsIGJ5IG9ubHkgYXBwZW5kaW5nIHRoZSBuZXcgaGlzdG9yeS4gOjoKKworICAgaW1wb3J0IGF0ZXhpdAorICAgaW1wb3J0IG9zCisgICBpbXBvcnQgcmVhbGluZQorICAgaGlzdGZpbGUgPSBvcy5wYXRoLmpvaW4ob3MucGF0aC5leHBhbmR1c2VyKCJ+IiksICIucHl0aG9uX2hpc3RvcnkiKQorCisgICB0cnk6CisgICAgICAgcmVhZGxpbmUucmVhZF9oaXN0b3J5X2ZpbGUoaGlzdGZpbGUpCisgICAgICAgaF9sZW4gPSByZWFkbGluZS5nZXRfaGlzdG9yeV9sZW5ndGgoKQorICAgZXhjZXB0IEZpbGVOb3RGb3VuZEVycm9yOgorICAgICAgIG9wZW4oaGlzdGZpbGUsICd3YicpLmNsb3NlKCkKKyAgICAgICBoX2xlbiA9IDAKKworICAgZGVmIHNhdmUocHJldl9oX2xlbiwgaGlzdGZpbGUpOgorICAgICAgIG5ld19oX2xlbiA9IHJlYWRsaW5lLmdldF9oaXN0b3J5X2xlbmd0aCgpCisgICAgICAgcmVhZGxpbmUuYXBwZW5kX2hpc3RvcnlfZmlsZShuZXdfaF9sZW4gLSBwcmV2X2hfbGVuLCBoaXN0ZmlsZSkKKyAgIGF0ZXhpdC5yZWdpc3RlcihzYXZlLCBoX2xlbiwgaGlzdGZpbGUpCisKIFRoZSBmb2xsb3dpbmcgZXhhbXBsZSBleHRlbmRzIHRoZSA6Y2xhc3M6YGNvZGUuSW50ZXJhY3RpdmVDb25zb2xlYCBjbGFzcyB0bwogc3VwcG9ydCBoaXN0b3J5IHNhdmUvcmVzdG9yZS4gOjoKIApAQCAtMjM0LDQgKzI2MiwzIEBACiAKICAgICAgICBkZWYgc2F2ZV9oaXN0b3J5KHNlbGYsIGhpc3RmaWxlKToKICAgICAgICAgICAgcmVhZGxpbmUud3JpdGVfaGlzdG9yeV9maWxlKGhpc3RmaWxlKQotCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS9yZXNvdXJjZS5yc3QgYi9Eb2MvbGlicmFyeS9yZXNvdXJjZS5yc3QKaW5kZXggZjgxMTJjYy4uN2MwZTRjYSAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvcmVzb3VyY2UucnN0CisrKyBiL0RvYy9saWJyYXJ5L3Jlc291cmNlLnJzdApAQCAtNDUsNyArNDUsNyBAQAogCiAuLiBkYXRhOjogUkxJTV9JTkZJTklUWQogCi0gICBDb25zdGFudCB1c2VkIHRvIHJlcHJlc2VudCB0aGUgdGhlIGxpbWl0IGZvciBhbiB1bmxpbWl0ZWQgcmVzb3VyY2UuCisgICBDb25zdGFudCB1c2VkIHRvIHJlcHJlc2VudCB0aGUgbGltaXQgZm9yIGFuIHVubGltaXRlZCByZXNvdXJjZS4KIAogCiAuLiBmdW5jdGlvbjo6IGdldHJsaW1pdChyZXNvdXJjZSkKZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L3NlbGVjdC5yc3QgYi9Eb2MvbGlicmFyeS9zZWxlY3QucnN0CmluZGV4IDczNGU0MjYuLjUzMzRhZjggMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L3NlbGVjdC5yc3QKKysrIGIvRG9jL2xpYnJhcnkvc2VsZWN0LnJzdApAQCAtMjA3LDcgKzIwNyw3IEBACiAgICAuLiB3YXJuaW5nOjoKIAogICAgICAgUmVnaXN0ZXJpbmcgYSBmaWxlIGRlc2NyaXB0b3IgdGhhdCdzIGFscmVhZHkgcmVnaXN0ZXJlZCBpcyBub3QgYW4KLSAgICAgIGVycm9yLCBidXQgdGhlIHJlc3VsdCBpcyB1bmRlZmluZWQuIFRoZSBhcHByb3BpYXRlIGFjdGlvbiBpcyB0bworICAgICAgZXJyb3IsIGJ1dCB0aGUgcmVzdWx0IGlzIHVuZGVmaW5lZC4gVGhlIGFwcHJvcHJpYXRlIGFjdGlvbiBpcyB0bwogICAgICAgdW5yZWdpc3RlciBvciBtb2RpZnkgaXQgZmlyc3QuIFRoaXMgaXMgYW4gaW1wb3J0YW50IGRpZmZlcmVuY2UKICAgICAgIGNvbXBhcmVkIHdpdGggOmM6ZnVuYzpgcG9sbGAuCiAKZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L3NlbGVjdG9ycy5yc3QgYi9Eb2MvbGlicmFyeS9zZWxlY3RvcnMucnN0CmluZGV4IDk4Mzc3YzguLjhiZDllMWMgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L3NlbGVjdG9ycy5yc3QKKysrIGIvRG9jL2xpYnJhcnkvc2VsZWN0b3JzLnJzdApAQCAtNDUsNiArNDUsNyBAQAogICAgKy0tIFNlbGVjdFNlbGVjdG9yCiAgICArLS0gUG9sbFNlbGVjdG9yCiAgICArLS0gRXBvbGxTZWxlY3RvcgorICAgKy0tIERldnBvbGxTZWxlY3RvcgogICAgKy0tIEtxdWV1ZVNlbGVjdG9yCiAKIApAQCAtMjA3LDYgKzIwOCwxNiBAQAogICAgICAgVGhpcyByZXR1cm5zIHRoZSBmaWxlIGRlc2NyaXB0b3IgdXNlZCBieSB0aGUgdW5kZXJseWluZwogICAgICAgOmZ1bmM6YHNlbGVjdC5lcG9sbGAgb2JqZWN0LgogCisuLiBjbGFzczo6IERldnBvbGxTZWxlY3RvcigpCisKKyAgIDpmdW5jOmBzZWxlY3QuZGV2cG9sbGAtYmFzZWQgc2VsZWN0b3IuCisKKyAgIC4uIG1ldGhvZDo6IGZpbGVubygpCisKKyAgICAgIFRoaXMgcmV0dXJucyB0aGUgZmlsZSBkZXNjcmlwdG9yIHVzZWQgYnkgdGhlIHVuZGVybHlpbmcKKyAgICAgIDpmdW5jOmBzZWxlY3QuZGV2cG9sbGAgb2JqZWN0LgorCisgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjUKIAogLi4gY2xhc3M6OiBLcXVldWVTZWxlY3RvcigpCiAKZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L3NodXRpbC5yc3QgYi9Eb2MvbGlicmFyeS9zaHV0aWwucnN0CmluZGV4IGQ5NmZkNzEuLjgyOTc0YWQgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L3NodXRpbC5yc3QKKysrIGIvRG9jL2xpYnJhcnkvc2h1dGlsLnJzdApAQCAtMTkxLDcgKzE5MSw4IEBACiAgICBtYXRjaCBvbmUgb2YgdGhlIGdsb2Itc3R5bGUgKnBhdHRlcm5zKiBwcm92aWRlZC4gIFNlZSB0aGUgZXhhbXBsZSBiZWxvdy4KIAogCi0uLiBmdW5jdGlvbjo6IGNvcHl0cmVlKHNyYywgZHN0LCBzeW1saW5rcz1GYWxzZSwgaWdub3JlPU5vbmUsIGNvcHlfZnVuY3Rpb249Y29weTIsIGlnbm9yZV9kYW5nbGluZ19zeW1saW5rcz1GYWxzZSkKKy4uIGZ1bmN0aW9uOjogY29weXRyZWUoc3JjLCBkc3QsIHN5bWxpbmtzPUZhbHNlLCBpZ25vcmU9Tm9uZSwgXAorICAgICAgICAgICAgICBjb3B5X2Z1bmN0aW9uPWNvcHkyLCBpZ25vcmVfZGFuZ2xpbmdfc3ltbGlua3M9RmFsc2UpCiAKICAgIFJlY3Vyc2l2ZWx5IGNvcHkgYW4gZW50aXJlIGRpcmVjdG9yeSB0cmVlIHJvb3RlZCBhdCAqc3JjKiwgcmV0dXJuaW5nIHRoZQogICAgZGVzdGluYXRpb24gZGlyZWN0b3J5LiAgVGhlIGRlc3RpbmF0aW9uCkBAIC0yODIsNyArMjgzLDcgQEAKICAgICAgIC4uIHZlcnNpb25hZGRlZDo6IDMuMwogCiAKLS4uIGZ1bmN0aW9uOjogbW92ZShzcmMsIGRzdCkKKy4uIGZ1bmN0aW9uOjogbW92ZShzcmMsIGRzdCwgY29weV9mdW5jdGlvbj1jb3B5MikKIAogICAgUmVjdXJzaXZlbHkgbW92ZSBhIGZpbGUgb3IgZGlyZWN0b3J5ICgqc3JjKikgdG8gYW5vdGhlciBsb2NhdGlvbiAoKmRzdCopCiAgICBhbmQgcmV0dXJuIHRoZSBkZXN0aW5hdGlvbi4KQEAgLTI5NSwxNSArMjk2LDI2IEBACiAgICA6ZnVuYzpgb3MucmVuYW1lYCBzZW1hbnRpY3MuCiAKICAgIElmIHRoZSBkZXN0aW5hdGlvbiBpcyBvbiB0aGUgY3VycmVudCBmaWxlc3lzdGVtLCB0aGVuIDpmdW5jOmBvcy5yZW5hbWVgIGlzCi0gICB1c2VkLiAgT3RoZXJ3aXNlLCAqc3JjKiBpcyBjb3BpZWQgKHVzaW5nIDpmdW5jOmBzaHV0aWwuY29weTJgKSB0byAqZHN0KiBhbmQKLSAgIHRoZW4gcmVtb3ZlZC4gSW4gY2FzZSBvZiBzeW1saW5rcywgYSBuZXcgc3ltbGluayBwb2ludGluZyB0byB0aGUgdGFyZ2V0IG9mCi0gICAqc3JjKiB3aWxsIGJlIGNyZWF0ZWQgaW4gb3IgYXMgKmRzdCogYW5kICpzcmMqIHdpbGwgYmUgcmVtb3ZlZC4KKyAgIHVzZWQuIE90aGVyd2lzZSwgKnNyYyogaXMgY29waWVkIHRvICpkc3QqIHVzaW5nICpjb3B5X2Z1bmN0aW9uKiBhbmQgdGhlbgorICAgcmVtb3ZlZC4gIEluIGNhc2Ugb2Ygc3ltbGlua3MsIGEgbmV3IHN5bWxpbmsgcG9pbnRpbmcgdG8gdGhlIHRhcmdldCBvZiAqc3JjKgorICAgd2lsbCBiZSBjcmVhdGVkIGluIG9yIGFzICpkc3QqIGFuZCAqc3JjKiB3aWxsIGJlIHJlbW92ZWQuCisKKyAgIElmICpjb3B5X2Z1bmN0aW9uKiBpcyBnaXZlbiwgaXQgbXVzdCBiZSBhIGNhbGxhYmxlIHRoYXQgdGFrZXMgdHdvIGFyZ3VtZW50cworICAgKnNyYyogYW5kICpkc3QqLCBhbmQgd2lsbCBiZSB1c2VkIHRvIGNvcHkgKnNyYyogdG8gKmRlc3QqIGlmCisgICA6ZnVuYzpgb3MucmVuYW1lYCBjYW5ub3QgYmUgdXNlZC4gIElmIHRoZSBzb3VyY2UgaXMgYSBkaXJlY3RvcnksCisgICA6ZnVuYzpgY29weXRyZWVgIGlzIGNhbGxlZCwgcGFzc2luZyBpdCB0aGUgOmZ1bmM6YGNvcHlfZnVuY3Rpb25gLiBUaGUKKyAgIGRlZmF1bHQgKmNvcHlfZnVuY3Rpb24qIGlzIDpmdW5jOmBjb3B5MmAuICBVc2luZyA6ZnVuYzpgY29weWAgYXMgdGhlCisgICAqY29weV9mdW5jdGlvbiogYWxsb3dzIHRoZSBtb3ZlIHRvIHN1Y2NlZWQgd2hlbiBpdCBpcyBub3QgcG9zc2libGUgdG8gYWxzbworICAgY29weSB0aGUgbWV0YWRhdGEsIGF0IHRoZSBleHBlbnNlIG9mIG5vdCBjb3B5aW5nIGFueSBvZiB0aGUgbWV0YWRhdGEuCiAKICAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy4zCiAgICAgICBBZGRlZCBleHBsaWNpdCBzeW1saW5rIGhhbmRsaW5nIGZvciBmb3JlaWduIGZpbGVzeXN0ZW1zLCB0aHVzIGFkYXB0aW5nCiAgICAgICBpdCB0byB0aGUgYmVoYXZpb3Igb2YgR05VJ3MgOnByb2dyYW06YG12YC4KICAgICAgIE5vdyByZXR1cm5zICpkc3QqLgogCisgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuNQorICAgICAgQWRkZWQgdGhlICpjb3B5X2Z1bmN0aW9uKiBrZXl3b3JkIGFyZ3VtZW50LgorCiAuLiBmdW5jdGlvbjo6IGRpc2tfdXNhZ2UocGF0aCkKIAogICAgUmV0dXJuIGRpc2sgdXNhZ2Ugc3RhdGlzdGljcyBhYm91dCB0aGUgZ2l2ZW4gcGF0aCBhcyBhIDp0ZXJtOmBuYW1lZCB0dXBsZWAKQEAgLTM0MSw3ICszNTMsNyBAQAogCiAgICBPbiBXaW5kb3dzLCB0aGUgY3VycmVudCBkaXJlY3RvcnkgaXMgYWx3YXlzIHByZXBlbmRlZCB0byB0aGUgKnBhdGgqIHdoZXRoZXIKICAgIG9yIG5vdCB5b3UgdXNlIHRoZSBkZWZhdWx0IG9yIHByb3ZpZGUgeW91ciBvd24sIHdoaWNoIGlzIHRoZSBiZWhhdmlvciB0aGUKLSAgIGNvbW1hbmQgc2hlbGwgdXNlcyB3aGVuIGZpbmRpbmcgZXhlY3V0YWJsZXMuICBBZGRpdGlvbmFseSwgd2hlbiBmaW5kaW5nIHRoZQorICAgY29tbWFuZCBzaGVsbCB1c2VzIHdoZW4gZmluZGluZyBleGVjdXRhYmxlcy4gIEFkZGl0aW9uYWxseSwgd2hlbiBmaW5kaW5nIHRoZQogICAgKmNtZCogaW4gdGhlICpwYXRoKiwgdGhlIGBgUEFUSEVYVGBgIGVudmlyb25tZW50IHZhcmlhYmxlIGlzIGNoZWNrZWQuICBGb3IKICAgIGV4YW1wbGUsIGlmIHlvdSBjYWxsIGBgc2h1dGlsLndoaWNoKCJweXRob24iKWBgLCA6ZnVuYzpgd2hpY2hgIHdpbGwgc2VhcmNoCiAgICBgYFBBVEhFWFRgYCB0byBrbm93IHRoYXQgaXQgc2hvdWxkIGxvb2sgZm9yIGBgcHl0aG9uLmV4ZWBgIHdpdGhpbiB0aGUgKnBhdGgqCkBAIC00MjEsNiArNDMzLDI2IEBACiAgICBjb3B5dHJlZShzb3VyY2UsIGRlc3RpbmF0aW9uLCBpZ25vcmU9X2xvZ3BhdGgpCiAKIAorLi4gX3NodXRpbC1ybXRyZWUtZXhhbXBsZToKKworcm10cmVlIGV4YW1wbGUKK35+fn5+fn5+fn5+fn5+CisKK1RoaXMgZXhhbXBsZSBzaG93cyBob3cgdG8gcmVtb3ZlIGEgZGlyZWN0b3J5IHRyZWUgb24gV2luZG93cyB3aGVyZSBzb21lCitvZiB0aGUgZmlsZXMgaGF2ZSB0aGVpciByZWFkLW9ubHkgYml0IHNldC4gSXQgdXNlcyB0aGUgb25lcnJvciBjYWxsYmFjawordG8gY2xlYXIgdGhlIHJlYWRvbmx5IGJpdCBhbmQgcmVhdHRlbXB0IHRoZSByZW1vdmUuIEFueSBzdWJzZXF1ZW50IGZhaWx1cmUKK3dpbGwgcHJvcGFnYXRlLiA6OgorCisgICAgaW1wb3J0IG9zLCBzdGF0CisgICAgaW1wb3J0IHNodXRpbAorCisgICAgZGVmIHJlbW92ZV9yZWFkb25seShmdW5jLCBwYXRoLCBfKToKKyAgICAgICAgIkNsZWFyIHRoZSByZWFkb25seSBiaXQgYW5kIHJlYXR0ZW1wdCB0aGUgcmVtb3ZhbCIKKyAgICAgICAgb3MuY2htb2QocGF0aCwgc3RhdC5TX0lXUklURSkKKyAgICAgICAgZnVuYyhwYXRoKQorCisgICAgc2h1dGlsLnJtdHJlZShkaXJlY3RvcnksIG9uZXJyb3I9cmVtb3ZlX3JlYWRvbmx5KQorCiAuLiBfYXJjaGl2aW5nLW9wZXJhdGlvbnM6CiAKIEFyY2hpdmluZyBvcGVyYXRpb25zCkBAIC00MzcsNyArNDY5LDggQEAKIAogICAgKmJhc2VfbmFtZSogaXMgdGhlIG5hbWUgb2YgdGhlIGZpbGUgdG8gY3JlYXRlLCBpbmNsdWRpbmcgdGhlIHBhdGgsIG1pbnVzCiAgICBhbnkgZm9ybWF0LXNwZWNpZmljIGV4dGVuc2lvbi4gKmZvcm1hdCogaXMgdGhlIGFyY2hpdmUgZm9ybWF0OiBvbmUgb2YKLSAgICJ6aXAiLCAidGFyIiwgImJ6dGFyIiAoaWYgdGhlIDptb2Q6YGJ6MmAgbW9kdWxlIGlzIGF2YWlsYWJsZSkgb3IgImd6dGFyIi4KKyAgICJ6aXAiLCAidGFyIiwgImJ6dGFyIiAoaWYgdGhlIDptb2Q6YGJ6MmAgbW9kdWxlIGlzIGF2YWlsYWJsZSksICJ4enRhciIKKyAgIChpZiB0aGUgOm1vZDpgbHptYWAgbW9kdWxlIGlzIGF2YWlsYWJsZSkgb3IgImd6dGFyIi4KIAogICAgKnJvb3RfZGlyKiBpcyBhIGRpcmVjdG9yeSB0aGF0IHdpbGwgYmUgdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoZQogICAgYXJjaGl2ZTsgZm9yIGV4YW1wbGUsIHdlIHR5cGljYWxseSBjaGRpciBpbnRvICpyb290X2RpciogYmVmb3JlIGNyZWF0aW5nIHRoZQpAQCAtNDYwLDYgKzQ5Myw5IEBACiAKICAgIFRoZSAqdmVyYm9zZSogYXJndW1lbnQgaXMgdW51c2VkIGFuZCBkZXByZWNhdGVkLgogCisgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuNQorICAgICAgQWRkZWQgc3VwcG9ydCBmb3IgdGhlICp4enRhciogZm9ybWF0LgorCiAKIC4uIGZ1bmN0aW9uOjogZ2V0X2FyY2hpdmVfZm9ybWF0cygpCiAKQEAgLTQ3MCw2ICs1MDYsNyBAQAogCiAgICAtICpnenRhcio6IGd6aXAnZWQgdGFyLWZpbGUKICAgIC0gKmJ6dGFyKjogYnppcDInZWQgdGFyLWZpbGUgKGlmIHRoZSA6bW9kOmBiejJgIG1vZHVsZSBpcyBhdmFpbGFibGUuKQorICAgLSAqeHp0YXIqOiB4eidlZCB0YXItZmlsZSAoaWYgdGhlIDptb2Q6YGx6bWFgIG1vZHVsZSBpcyBhdmFpbGFibGUuKQogICAgLSAqdGFyKjogdW5jb21wcmVzc2VkIHRhciBmaWxlCiAgICAtICp6aXAqOiBaSVAgZmlsZQogCkBAIC01NDUsNiArNTgyLDcgQEAKIAogICAgLSAqZ3p0YXIqOiBnemlwJ2VkIHRhci1maWxlCiAgICAtICpienRhcio6IGJ6aXAyJ2VkIHRhci1maWxlIChpZiB0aGUgOm1vZDpgYnoyYCBtb2R1bGUgaXMgYXZhaWxhYmxlLikKKyAgIC0gKnh6dGFyKjogeHonZWQgdGFyLWZpbGUgKGlmIHRoZSA6bW9kOmBsem1hYCBtb2R1bGUgaXMgYXZhaWxhYmxlLikKICAgIC0gKnRhcio6IHVuY29tcHJlc3NlZCB0YXIgZmlsZQogICAgLSAqemlwKjogWklQIGZpbGUKIApkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvc2lnbmFsLnJzdCBiL0RvYy9saWJyYXJ5L3NpZ25hbC5yc3QKaW5kZXggODRlMjgzNi4uZWQ2MTZiMiAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvc2lnbmFsLnJzdAorKysgYi9Eb2MvbGlicmFyeS9zaWduYWwucnN0CkBAIC02NSw2ICs2NSwxNiBAQAogTW9kdWxlIGNvbnRlbnRzCiAtLS0tLS0tLS0tLS0tLS0KIAorLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjUKKyAgIHNpZ25hbCAoU0lHKiksIGhhbmRsZXIgKDpjb25zdDpgU0lHX0RGTGAsIDpjb25zdDpgU0lHX0lHTmApIGFuZCBzaWdtYXNrCisgICAoOmNvbnN0OmBTSUdfQkxPQ0tgLCA6Y29uc3Q6YFNJR19VTkJMT0NLYCwgOmNvbnN0OmBTSUdfU0VUTUFTS2ApCisgICByZWxhdGVkIGNvbnN0YW50cyBsaXN0ZWQgYmVsb3cgd2VyZSB0dXJuZWQgaW50bworICAgOmNsYXNzOmBlbnVtcyA8ZW51bS5JbnRFbnVtPmAuCisgICA6ZnVuYzpgZ2V0c2lnbmFsYCwgOmZ1bmM6YHB0aHJlYWRfc2lnbWFza2AsIDpmdW5jOmBzaWdwZW5kaW5nYCBhbmQKKyAgIDpmdW5jOmBzaWd3YWl0YCBmdW5jdGlvbnMgcmV0dXJuIGh1bWFuLXJlYWRhYmxlCisgICA6Y2xhc3M6YGVudW1zIDxlbnVtLkludEVudW0+YC4KKworCiBUaGUgdmFyaWFibGVzIGRlZmluZWQgaW4gdGhlIDptb2Q6YHNpZ25hbGAgbW9kdWxlIGFyZToKIAogCkBAIC0zMDgsNiArMzE4LDkgQEAKICAgIGF0dGVtcHRpbmcgdG8gY2FsbCBpdCBmcm9tIG90aGVyIHRocmVhZHMgd2lsbCBjYXVzZSBhIDpleGM6YFZhbHVlRXJyb3JgCiAgICBleGNlcHRpb24gdG8gYmUgcmFpc2VkLgogCisgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuNQorICAgICAgT24gV2luZG93cywgdGhlIGZ1bmN0aW9uIG5vdyBhbHNvIHN1cHBvcnRzIHNvY2tldCBoYW5kbGVzLgorCiAKIC4uIGZ1bmN0aW9uOjogc2lnaW50ZXJydXB0KHNpZ25hbG51bSwgZmxhZykKIApkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvc2l0ZS5yc3QgYi9Eb2MvbGlicmFyeS9zaXRlLnJzdAppbmRleCBlNTdiOGNjLi40M2RhZjc5IDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS9zaXRlLnJzdAorKysgYi9Eb2MvbGlicmFyeS9zaXRlLnJzdApAQCAtMjYsMjQgKzI2LDIzIEBACiAgICA6b3B0aW9uOmAtU2AuCiAKIC4uIGluZGV4OjoKLSAgIHBhaXI6IHNpdGUtcHl0aG9uOyBkaXJlY3RvcnkKICAgIHBhaXI6IHNpdGUtcGFja2FnZXM7IGRpcmVjdG9yeQogCiBJdCBzdGFydHMgYnkgY29uc3RydWN0aW5nIHVwIHRvIGZvdXIgZGlyZWN0b3JpZXMgZnJvbSBhIGhlYWQgYW5kIGEgdGFpbCBwYXJ0LgogRm9yIHRoZSBoZWFkIHBhcnQsIGl0IHVzZXMgYGBzeXMucHJlZml4YGAgYW5kIGBgc3lzLmV4ZWNfcHJlZml4YGA7IGVtcHR5IGhlYWRzCiBhcmUgc2tpcHBlZC4gIEZvciB0aGUgdGFpbCBwYXJ0LCBpdCB1c2VzIHRoZSBlbXB0eSBzdHJpbmcgYW5kIHRoZW4KIDpmaWxlOmBsaWIvc2l0ZS1wYWNrYWdlc2AgKG9uIFdpbmRvd3MpIG9yCi06ZmlsZTpgbGliL3B5dGhvbntYLll9L3NpdGUtcGFja2FnZXNgIGFuZCB0aGVuIDpmaWxlOmBsaWIvc2l0ZS1weXRob25gIChvbgotVW5peCBhbmQgTWFjaW50b3NoKS4gIEZvciBlYWNoIG9mIHRoZSBkaXN0aW5jdCBoZWFkLXRhaWwgY29tYmluYXRpb25zLCBpdCBzZWVzCi1pZiBpdCByZWZlcnMgdG8gYW4gZXhpc3RpbmcgZGlyZWN0b3J5LCBhbmQgaWYgc28sIGFkZHMgaXQgdG8gYGBzeXMucGF0aGBgIGFuZAotYWxzbyBpbnNwZWN0cyB0aGUgbmV3bHkgYWRkZWQgcGF0aCBmb3IgY29uZmlndXJhdGlvbiBmaWxlcy4KKzpmaWxlOmBsaWIvcHl0aG9ue1guWX0vc2l0ZS1wYWNrYWdlc2AgKG9uIFVuaXggYW5kIE1hY2ludG9zaCkuICBGb3IgZWFjaAorb2YgdGhlIGRpc3RpbmN0IGhlYWQtdGFpbCBjb21iaW5hdGlvbnMsIGl0IHNlZXMgaWYgaXQgcmVmZXJzIHRvIGFuIGV4aXN0aW5nCitkaXJlY3RvcnksIGFuZCBpZiBzbywgYWRkcyBpdCB0byBgYHN5cy5wYXRoYGAgYW5kIGFsc28gaW5zcGVjdHMgdGhlIG5ld2x5CithZGRlZCBwYXRoIGZvciBjb25maWd1cmF0aW9uIGZpbGVzLgogCi0uLiBkZXByZWNhdGVkOjogMy40Ci0gICBTdXBwb3J0IGZvciB0aGUgInNpdGUtcHl0aG9uIiBkaXJlY3Rvcnkgd2lsbCBiZSByZW1vdmVkIGluIDMuNS4KKy4uIHZlcnNpb25jaGFuZ2VkOjogMy41CisgICBTdXBwb3J0IGZvciB0aGUgInNpdGUtcHl0aG9uIiBkaXJlY3RvcnkgaGFzIGJlZW4gcmVtb3ZlZC4KIAogSWYgYSBmaWxlIG5hbWVkICJweXZlbnYuY2ZnIiBleGlzdHMgb25lIGRpcmVjdG9yeSBhYm92ZSBzeXMuZXhlY3V0YWJsZSwKIHN5cy5wcmVmaXggYW5kIHN5cy5leGVjX3ByZWZpeCBhcmUgc2V0IHRvIHRoYXQgZGlyZWN0b3J5IGFuZAotaXQgaXMgYWxzbyBjaGVja2VkIGZvciBzaXRlLXBhY2thZ2VzIGFuZCBzaXRlLXB5dGhvbiAoc3lzLmJhc2VfcHJlZml4IGFuZAoraXQgaXMgYWxzbyBjaGVja2VkIGZvciBzaXRlLXBhY2thZ2VzIChzeXMuYmFzZV9wcmVmaXggYW5kCiBzeXMuYmFzZV9leGVjX3ByZWZpeCB3aWxsIGFsd2F5cyBiZSB0aGUgInJlYWwiIHByZWZpeGVzIG9mIHRoZSBQeXRob24KIGluc3RhbGxhdGlvbikuIElmICJweXZlbnYuY2ZnIiAoYSBib290c3RyYXAgY29uZmlndXJhdGlvbiBmaWxlKSBjb250YWlucwogdGhlIGtleSAiaW5jbHVkZS1zeXN0ZW0tc2l0ZS1wYWNrYWdlcyIgc2V0IHRvIGFueXRoaW5nIG90aGVyIHRoYW4gImZhbHNlIgpAQCAtMTg0LDcgKzE4Myw3IEBACiAgICB1bmxlc3MgdGhlIFB5dGhvbiBpbnRlcnByZXRlciB3YXMgc3RhcnRlZCB3aXRoIHRoZSA6b3B0aW9uOmAtU2AgZmxhZy4KIAogICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjMKLSAgICAgIFRoaXMgZnVuY3Rpb24gdXNlZCB0byBiZSBjYWxsZWQgdW5jb25kaXRpb25uYWxseS4KKyAgICAgIFRoaXMgZnVuY3Rpb24gdXNlZCB0byBiZSBjYWxsZWQgdW5jb25kaXRpb25hbGx5LgogCiAKIC4uIGZ1bmN0aW9uOjogYWRkc2l0ZWRpcihzaXRlZGlyLCBrbm93bl9wYXRocz1Ob25lKQpAQCAtMTk1LDggKzE5NCw3IEBACiAKIC4uIGZ1bmN0aW9uOjogZ2V0c2l0ZXBhY2thZ2VzKCkKIAotICAgUmV0dXJuIGEgbGlzdCBjb250YWluaW5nIGFsbCBnbG9iYWwgc2l0ZS1wYWNrYWdlcyBkaXJlY3RvcmllcyAoYW5kIHBvc3NpYmx5Ci0gICBzaXRlLXB5dGhvbikuCisgICBSZXR1cm4gYSBsaXN0IGNvbnRhaW5pbmcgYWxsIGdsb2JhbCBzaXRlLXBhY2thZ2VzIGRpcmVjdG9yaWVzLgogCiAgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjIKIApkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvc210cGQucnN0IGIvRG9jL2xpYnJhcnkvc210cGQucnN0CmluZGV4IDNlYmVkMDYuLjNlMGM2ZmIgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L3NtdHBkLnJzdAorKysgYi9Eb2MvbGlicmFyeS9zbXRwZC5yc3QKQEAgLTIwLDcgKzIwLDggQEAKIEFkZGl0aW9uYWxseSB0aGUgU01UUENoYW5uZWwgbWF5IGJlIGV4dGVuZGVkIHRvIGltcGxlbWVudCB2ZXJ5IHNwZWNpZmljCiBpbnRlcmFjdGlvbiBiZWhhdmlvdXIgd2l0aCBTTVRQIGNsaWVudHMuCiAKLVRoZSBjb2RlIHN1cHBvcnRzIDpSRkM6YDUzMjFgLCBwbHVzIHRoZSA6cmZjOmAxODcwYCBTSVpFIGV4dGVuc2lvbi4KK1RoZSBjb2RlIHN1cHBvcnRzIDpSRkM6YDUzMjFgLCBwbHVzIHRoZSA6cmZjOmAxODcwYCBTSVpFIGFuZCA6cmZjOmA2NTMxYAorU01UUFVURjggZXh0ZW5zaW9ucy4KIAogCiBTTVRQU2VydmVyIE9iamVjdHMKQEAgLTI4LDcgKzI5LDcgQEAKIAogCiAuLiBjbGFzczo6IFNNVFBTZXJ2ZXIobG9jYWxhZGRyLCByZW1vdGVhZGRyLCBkYXRhX3NpemVfbGltaXQ9MzM1NTQ0MzIsXAotICAgICAgICAgICAgICAgICAgICAgIG1hcD1Ob25lKQorICAgICAgICAgICAgICAgICAgICAgIG1hcD1Ob25lLCBlbmFibGVfU01UUFVURjg9RmFsc2UsIGRlY29kZV9kYXRhPVRydWUpCiAKICAgIENyZWF0ZSBhIG5ldyA6Y2xhc3M6YFNNVFBTZXJ2ZXJgIG9iamVjdCwgd2hpY2ggYmluZHMgdG8gbG9jYWwgYWRkcmVzcwogICAgKmxvY2FsYWRkciouICBJdCB3aWxsIHRyZWF0ICpyZW1vdGVhZGRyKiBhcyBhbiB1cHN0cmVhbSBTTVRQIHJlbGF5ZXIuICBJdApAQCAtMzksMTggKzQwLDQ3IEBACiAgICBhY2NlcHRlZCBpbiBhIGBgREFUQWBgIGNvbW1hbmQuICBBIHZhbHVlIG9mIGBgTm9uZWBgIG9yIGBgMGBgIG1lYW5zIG5vCiAgICBsaW1pdC4KIAorICAgKmVuYWJsZV9TTVRQVVRGOCogZGV0ZXJtaW5zIHdoZXRoZXIgdGhlIGBgU01UUFVURjhgYCBleHRlbnNpb24gKGFzIGRlZmluZWQKKyAgIGluIDpSRkM6YDY1MzFgKSBzaG91bGQgYmUgZW5hYmxlZC4gIFRoZSBkZWZhdWx0IGlzIGBgRmFsc2VgYC4gIElmCisgICAqZW5hYmxlX1NNVFBVVEYqIGlzIHNldCB0byBgYFRydWVgYCwgdGhlIDptZXRoOmBwcm9jZXNzX3NtdHB1dGY4X21lc3NhZ2VgCisgICBtZXRob2QgbXVzdCBiZSBkZWZpbmVkLiAgQSA6ZXhjOmBWYWx1ZUVycm9yYCBpcyByYWlzZWQgaWYgYm90aAorICAgKmVuYWJsZV9TTVRQVVRGOCogYW5kICpkZWNvZGVfZGF0YSogYXJlIHNldCB0byBgYFRydWVgYCBhdCB0aGUgc2FtZSB0aW1lLgorCiAgICBBIGRpY3Rpb25hcnkgY2FuIGJlIHNwZWNpZmllZCBpbiAqbWFwKiB0byBhdm9pZCB1c2luZyBhIGdsb2JhbCBzb2NrZXQgbWFwLgogCisgICAqZGVjb2RlX2RhdGEqIHNwZWNpZmllcyB3aGV0aGVyIHRoZSBkYXRhIHBvcnRpb24gb2YgdGhlIFNNVFAgdHJhbnNhY3Rpb24KKyAgIHNob3VsZCBiZSBkZWNvZGVkIHVzaW5nIFVURi04LiAgVGhlIGRlZmF1bHQgaXMgYGBUcnVlYGAgZm9yIGJhY2t3YXJkCisgICBjb21wYXRpYmlsaXR5IHJlYXNvbnMsIGJ1dCB3aWxsIGNoYW5nZSB0byBgYEZhbHNlYGAgaW4gUHl0aG9uIDMuNi4gIFNwZWNpZnkKKyAgIHRoZSBrZXl3b3JkIHZhbHVlIGV4cGxpY2l0bHkgdG8gYXZvaWQgdGhlIDpleGM6YERlcHJlY2F0aW9uV2FybmluZ2AuCisKICAgIC4uIG1ldGhvZDo6IHByb2Nlc3NfbWVzc2FnZShwZWVyLCBtYWlsZnJvbSwgcmNwdHRvcywgZGF0YSkKIAotICAgICAgUmFpc2UgOmV4YzpgTm90SW1wbGVtZW50ZWRFcnJvcmAgZXhjZXB0aW9uLiBPdmVycmlkZSB0aGlzIGluIHN1YmNsYXNzZXMgdG8KKyAgICAgIFJhaXNlIGEgOmV4YzpgTm90SW1wbGVtZW50ZWRFcnJvcmAgZXhjZXB0aW9uLiBPdmVycmlkZSB0aGlzIGluIHN1YmNsYXNzZXMgdG8KICAgICAgIGRvIHNvbWV0aGluZyB1c2VmdWwgd2l0aCB0aGlzIG1lc3NhZ2UuIFdoYXRldmVyIHdhcyBwYXNzZWQgaW4gdGhlCiAgICAgICBjb25zdHJ1Y3RvciBhcyAqcmVtb3RlYWRkciogd2lsbCBiZSBhdmFpbGFibGUgYXMgdGhlIDphdHRyOmBfcmVtb3RlYWRkcmAKICAgICAgIGF0dHJpYnV0ZS4gKnBlZXIqIGlzIHRoZSByZW1vdGUgaG9zdCdzIGFkZHJlc3MsICptYWlsZnJvbSogaXMgdGhlIGVudmVsb3BlCiAgICAgICBvcmlnaW5hdG9yLCAqcmNwdHRvcyogYXJlIHRoZSBlbnZlbG9wZSByZWNpcGllbnRzIGFuZCAqZGF0YSogaXMgYSBzdHJpbmcKLSAgICAgIGNvbnRhaW5pbmcgdGhlIGNvbnRlbnRzIG9mIHRoZSBlLW1haWwgKHdoaWNoIHNob3VsZCBiZSBpbiA6cmZjOmAyODIyYAorICAgICAgY29udGFpbmluZyB0aGUgY29udGVudHMgb2YgdGhlIGUtbWFpbCAod2hpY2ggc2hvdWxkIGJlIGluIDpyZmM6YDUzMjFgCiAgICAgICBmb3JtYXQpLgogCisgICAgICBJZiB0aGUgKmRlY29kZV9kYXRhKiBjb25zdHJ1Y3RvciBrZXl3b3JkIGlzIHNldCB0byBgYFRydWVgYCwgdGhlICpkYXRhKgorICAgICAgYXJndW1lbnQgd2lsbCBiZSBhIHVuaWNvZGUgc3RyaW5nLiAgSWYgaXQgaXMgc2V0IHRvIGBgRmFsc2VgYCwgaXQKKyAgICAgIHdpbGwgYmUgYSBieXRlcyBvYmplY3QuCisKKyAgICAgIFJldHVybiBgYE5vbmVgYCB0byByZXF1ZXN0IGEgbm9ybWFsIGBgMjUwIE9rYGAgcmVzcG9uc2U7IG90aGVyd2lzZQorICAgICAgcmV0dXJuIHRoZSBkZXNpcmVkIHJlc3BvbnNlIHN0cmluZyBpbiA6UkZDOmA1MzIxYCBmb3JtYXQuCisKKyAgIC4uIG1ldGhvZDo6IHByb2Nlc3Nfc210cHV0ZjhfbWVzc2FnZShwZWVyLCBtYWlsZnJvbSwgcmNwdHRvcywgZGF0YSkKKworICAgICAgUmFpc2UgYSA6ZXhjOmBOb3RJbXBsZW1lbnRlZEVycm9yYCBleGNlcHRpb24uICBPdmVycmlkZSB0aGlzIGluCisgICAgICBzdWJjbGFzc2VzIHRvIGRvIHNvbWV0aGluZyB1c2VmdWwgd2l0aCBtZXNzYWdlcyB3aGVuICplbmFibGVfU01UUFVURjgqCisgICAgICBoYXMgYmVlbiBzZXQgdG8gYGBUcnVlYGAgYW5kIHRoZSBTTVRQIGNsaWVudCByZXF1ZXN0ZWQgYGBTTVRQVVRGOGBgLAorICAgICAgc2luY2UgdGhpcyBtZXRob2QgaXMgY2FsbGVkIHJhdGhlciB0aGFuIDptZXRoOmBwcm9jZXNzX21lc3NhZ2VgIHdoZW4gdGhlCisgICAgICBjbGllbnQgYWN0aXZlbHkgcmVxdWVzdHMgYGBTTVRQVVRGOGBgLiAgVGhlICpkYXRhKiBhcmd1bWVudCB3aWxsIGFsd2F5cworICAgICAgYmUgYSBieXRlcyBvYmplY3QsIGFuZCBhbnkgbm9uLWBgTm9uZWBgIHJldHVybiB2YWx1ZSBzaG91bGQgY29uZm9ybSB0bworICAgICAgOnJmYzpgNjUzMWA7IG90aGVyd2lzZSwgdGhlIEFQSSBpcyB0aGUgc2FtZSBhcyBmb3IKKyAgICAgIDptZXRoOmBwcm9jZXNzX21lc3NhZ2VgLgorCiAgICAuLiBhdHRyaWJ1dGU6OiBjaGFubmVsX2NsYXNzCiAKICAgICAgIE92ZXJyaWRlIHRoaXMgaW4gc3ViY2xhc3NlcyB0byB1c2UgYSBjdXN0b20gOmNsYXNzOmBTTVRQQ2hhbm5lbGAgZm9yCkBAIC01OSw2ICs4OSwxMyBAQAogICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjQKICAgICAgIFRoZSAqbWFwKiBhcmd1bWVudCB3YXMgYWRkZWQuCiAKKyAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy41CisgICAgICAqbG9jYWxhZGRyKiBhbmQgKnJlbW90ZWFkZHIqIG1heSBub3cgY29udGFpbiBJUHY2IGFkZHJlc3Nlcy4KKworICAgLi4gdmVyc2lvbmFkZGVkOjogMy41CisgICAgICB0aGUgKmRlY29kZV9kYXRhKiBhbmQgKmVuYWJsZV9TTVRQVVRGOCogY29uc3RydWN0b3IgYXJndW1lbnRzLCBhbmQgdGhlCisgICAgICA6bWV0aDpgcHJvY2Vzc19zbXRwdXRmOF9tZXNzYWdlYCBtZXRob2QuCisKIAogRGVidWdnaW5nU2VydmVyIE9iamVjdHMKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCkBAIC05Nyw3ICsxMzQsNyBAQAogLS0tLS0tLS0tLS0tLS0tLS0tLQogCiAuLiBjbGFzczo6IFNNVFBDaGFubmVsKHNlcnZlciwgY29ubiwgYWRkciwgZGF0YV9zaXplX2xpbWl0PTMzNTU0NDMyLFwKLSAgICAgICAgICAgICAgICAgICAgICAgbWFwPU5vbmUpKQorICAgICAgICAgICAgICAgICAgICAgICBtYXA9Tm9uZSwgZW5hYmxlX1NNVFBVVEY4PUZhbHNlLCBkZWNvZGVfZGF0YT1UcnVlKQogCiAgICBDcmVhdGUgYSBuZXcgOmNsYXNzOmBTTVRQQ2hhbm5lbGAgb2JqZWN0IHdoaWNoIG1hbmFnZXMgdGhlIGNvbW11bmljYXRpb24KICAgIGJldHdlZW4gdGhlIHNlcnZlciBhbmQgYSBzaW5nbGUgU01UUCBjbGllbnQuCkBAIC0xMDgsMTEgKzE0NSwyNCBAQAogICAgYWNjZXB0ZWQgaW4gYSBgYERBVEFgYCBjb21tYW5kLiAgQSB2YWx1ZSBvZiBgYE5vbmVgYCBvciBgYDBgYCBtZWFucyBubwogICAgbGltaXQuCiAKKyAgICplbmFibGVfU01UUFVURjgqIGRldGVybWlucyB3aGV0aGVyIHRoZSBgYFNNVFBVVEY4YGAgZXh0ZW5zaW9uIChhcyBkZWZpbmVkCisgICBpbiA6UkZDOmA2NTMxYCkgc2hvdWxkIGJlIGVuYWJsZWQuICBUaGUgZGVmYXVsdCBpcyBgYEZhbHNlYGAuICBBCisgICA6ZXhjOmBWYWx1ZUVycm9yYCBpcyByYWlzZWQgaWYgYm90aCAqZW5hYmxlX1NNVFBVVEY4KiBhbmQgKmRlY29kZV9kYXRhKiBhcmUKKyAgIHNldCB0byBgYFRydWVgYCBhdCB0aGUgc2FtZSB0aW1lLgorCiAgICBBIGRpY3Rpb25hcnkgY2FuIGJlIHNwZWNpZmllZCBpbiAqbWFwKiB0byBhdm9pZCB1c2luZyBhIGdsb2JhbCBzb2NrZXQgbWFwLgogCisgICAqZGVjb2RlX2RhdGEqIHNwZWNpZmllcyB3aGV0aGVyIHRoZSBkYXRhIHBvcnRpb24gb2YgdGhlIFNNVFAgdHJhbnNhY3Rpb24KKyAgIHNob3VsZCBiZSBkZWNvZGVkIHVzaW5nIFVURi04LiAgVGhlIGRlZmF1bHQgaXMgYGBUcnVlYGAgZm9yIGJhY2t3YXJkCisgICBjb21wYXRpYmlsaXR5IHJlYXNvbnMsIGJ1dCB3aWxsIGNoYW5nZSB0byBgYEZhbHNlYGAgaW4gUHl0aG9uIDMuNi4gIFNwZWNpZnkKKyAgIHRoZSBrZXl3b3JkIHZhbHVlIGV4cGxpY2l0bHkgdG8gYXZvaWQgdGhlIDpleGM6YERlcHJlY2F0aW9uV2FybmluZ2AuCisKICAgIFRvIHVzZSBhIGN1c3RvbSBTTVRQQ2hhbm5lbCBpbXBsZW1lbnRhdGlvbiB5b3UgbmVlZCB0byBvdmVycmlkZSB0aGUKICAgIDphdHRyOmBTTVRQU2VydmVyLmNoYW5uZWxfY2xhc3NgIG9mIHlvdXIgOmNsYXNzOmBTTVRQU2VydmVyYC4KIAorICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjUKKyAgICAgIHRoZSAqZGVjb2RlX2RhdGEqIGFuZCAqZW5hYmxlX1NNVFBVVEY4KiBhcmd1bWVudHMgd2VyZSBhZGRlZC4KKwogICAgVGhlIDpjbGFzczpgU01UUENoYW5uZWxgIGhhcyB0aGUgZm9sbG93aW5nIGluc3RhbmNlIHZhcmlhYmxlczoKIAogICAgLi4gYXR0cmlidXRlOjogc210cF9zZXJ2ZXIKZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L3NtdHBsaWIucnN0IGIvRG9jL2xpYnJhcnkvc210cGxpYi5yc3QKaW5kZXggOGUxYmZiNS4uNzRkZTc3YiAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvc210cGxpYi5yc3QKKysrIGIvRG9jL2xpYnJhcnkvc210cGxpYi5yc3QKQEAgLTI0MCw4ICsyNDAsNyBAQAogICAgdGhlIHNlcnZlciBpcyBzdG9yZWQgYXMgdGhlIDphdHRyOmBlaGxvX3Jlc3BgIGF0dHJpYnV0ZSwgOmF0dHI6YGRvZXNfZXNtdHBgCiAgICBpcyBzZXQgdG8gdHJ1ZSBvciBmYWxzZSBkZXBlbmRpbmcgb24gd2hldGhlciB0aGUgc2VydmVyIHN1cHBvcnRzIEVTTVRQLCBhbmQKICAgIDphdHRyOmBlc210cF9mZWF0dXJlc2Agd2lsbCBiZSBhIGRpY3Rpb25hcnkgY29udGFpbmluZyB0aGUgbmFtZXMgb2YgdGhlCi0gICBTTVRQIHNlcnZpY2UgZXh0ZW5zaW9ucyB0aGlzIHNlcnZlciBzdXBwb3J0cywgYW5kIHRoZWlyCi0gICBwYXJhbWV0ZXJzIChpZiBhbnkpLgorICAgU01UUCBzZXJ2aWNlIGV4dGVuc2lvbnMgdGhpcyBzZXJ2ZXIgc3VwcG9ydHMsIGFuZCB0aGVpciBwYXJhbWV0ZXJzIChpZiBhbnkpLgogCiAgICBVbmxlc3MgeW91IHdpc2ggdG8gdXNlIDptZXRoOmBoYXNfZXh0bmAgYmVmb3JlIHNlbmRpbmcgbWFpbCwgaXQgc2hvdWxkIG5vdCBiZQogICAgbmVjZXNzYXJ5IHRvIGNhbGwgdGhpcyBtZXRob2QgZXhwbGljaXRseS4gIEl0IHdpbGwgYmUgaW1wbGljaXRseSBjYWxsZWQgYnkKQEAgLTI5MSw2ICsyOTAsNDIgQEAKICAgIDpleGM6YFNNVFBFeGNlcHRpb25gCiAgICAgICBObyBzdWl0YWJsZSBhdXRoZW50aWNhdGlvbiBtZXRob2Qgd2FzIGZvdW5kLgogCisgICBFYWNoIG9mIHRoZSBhdXRoZW50aWNhdGlvbiBtZXRob2RzIHN1cHBvcnRlZCBieSA6bW9kOmBzbXRwbGliYCBhcmUgdHJpZWQgaW4KKyAgIHR1cm4gaWYgdGhleSBhcmUgYWR2ZXJ0aXNlZCBhcyBzdXBwb3J0ZWQgYnkgdGhlIHNlcnZlciAoc2VlIDptZXRoOmBhdXRoYAorICAgZm9yIGEgbGlzdCBvZiBzdXBwb3J0ZWQgYXV0aGVudGljYXRpb24gbWV0aG9kcykuCisKKworLi4gbWV0aG9kOjogU01UUC5hdXRoKG1lY2hhbmlzbSwgYXV0aG9iamVjdCkKKworICAgSXNzdWUgYW4gYGBTTVRQYGAgYGBBVVRIYGAgY29tbWFuZCBmb3IgdGhlIHNwZWNpZmllZCBhdXRoZW50aWNhdGlvbgorICAgKm1lY2hhbmlzbSosIGFuZCBoYW5kbGUgdGhlIGNoYWxsZW5nZSByZXNwb25zZSB2aWEgKmF1dGhvYmplY3QqLgorCisgICAqbWVjaGFuaXNtKiBzcGVjaWZpZXMgd2hpY2ggYXV0aGVudGljYXRpb24gbWVjaGFuaXNtIGlzIHRvCisgICBiZSB1c2VkIGFzIGFyZ3VtZW50IHRvIHRoZSBgYEFVVEhgYCBjb21tYW5kOyB0aGUgdmFsaWQgdmFsdWVzIGFyZQorICAgdGhvc2UgbGlzdGVkIGluIHRoZSBgYGF1dGhgYCBlbGVtZW50IG9mIDphdHRyOmBlc210cF9mZWF0dXJlc2AuCisKKyAgICphdXRob2JqZWN0KiBtdXN0IGJlIGEgY2FsbGFibGUgb2JqZWN0IHRha2luZyBhIHNpbmdsZSBhcmd1bWVudDoKKworICAgICBkYXRhID0gYXV0aG9iamVjdChjaGFsbGVuZ2UpCisKKyAgIEl0IHdpbGwgYmUgY2FsbGVkIHRvIHByb2Nlc3MgdGhlIHNlcnZlcidzIGNoYWxsZW5nZSByZXNwb25zZTsgdGhlCisgICAqY2hhbGxlbmdlKiBhcmd1bWVudCBpdCBpcyBwYXNzZWQgd2lsbCBiZSBhIGBgYnl0ZXNgYC4gIEl0IHNob3VsZCByZXR1cm4KKyAgIGBgYnl0ZXNgYCAqZGF0YSogdGhhdCB3aWxsIGJlIGJhc2U2NCBlbmNvZGVkIGFuZCBzZW50IHRvIHRoZSBzZXJ2ZXIuCisKKyAgIFRoZSBgYFNNVFBgYCBjbGFzcyBwcm92aWRlcyBgYGF1dGhvYmplY3RzYGAgZm9yIHRoZSBgYENSQU0tTUQ1YGAsIGBgUExBSU5gYCwKKyAgIGFuZCBgYExPR0lOYGAgbWVjaGFuaXNtczsgdGhleSBhcmUgbmFtZWQgYGBTTVRQLmF1dGhfY3JhbV9tZDVgYCwKKyAgIGBgU01UUC5hdXRoX3BsYWluYGAsIGFuZCBgYFNNVFAuYXV0aF9sb2dpbmBgIHJlc3BlY3RpdmVseS4gIFRoZXkgYWxsIHJlcXVpcmUKKyAgIHRoYXQgdGhlIGBgdXNlcmBgIGFuZCBgYHBhc3N3b3JkYGAgcHJvcGVydGllcyBvZiB0aGUgYGBTTVRQYGAgaW5zdGFuY2UgYXJlCisgICBzZXQgdG8gYXBwcm9wcmlhdGUgdmFsdWVzLgorCisgICBVc2VyIGNvZGUgZG9lcyBub3Qgbm9ybWFsbHkgbmVlZCB0byBjYWxsIGBgYXV0aGBgIGRpcmVjdGx5LCBidXQgY2FuIGluc3RlYWQKKyAgIGNhbGwgdGhlIDptZXRoOmBsb2dpbmAgbWV0aG9kLCB3aGljaCB3aWxsIHRyeSBlYWNoIG9mIHRoZSBhYm92ZSBtZWNoYW5pc21zIGluCisgICB0dXJuLCBpbiB0aGUgb3JkZXIgbGlzdGVkLiAgYGBhdXRoYGAgaXMgZXhwb3NlZCB0byBmYWNpbGl0YXRlIHRoZQorICAgaW1wbGVtZW50YXRpb24gb2YgYXV0aGVudGljYXRpb24gbWV0aG9kcyBub3QgKG9yIG5vdCB5ZXQpIHN1cHBvcnRlZCBkaXJlY3RseQorICAgYnkgOm1vZDpgc210cGxpYmAuCisKKyAgIC4uIHZlcnNpb25hZGRlZDo6IDMuNQorCiAKIC4uIG1ldGhvZDo6IFNNVFAuc3RhcnR0bHMoa2V5ZmlsZT1Ob25lLCBjZXJ0ZmlsZT1Ob25lLCBjb250ZXh0PU5vbmUpCiAKZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L3NuZGhkci5yc3QgYi9Eb2MvbGlicmFyeS9zbmRoZHIucnN0CmluZGV4IGYzNmRmNjguLmY4YjVkOGIgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L3NuZGhkci5yc3QKKysrIGIvRG9jL2xpYnJhcnkvc25kaGRyLnJzdApAQCAtMTYsOCArMTYsOSBAQAogCiBUaGUgOm1vZDpgc25kaGRyYCBwcm92aWRlcyB1dGlsaXR5IGZ1bmN0aW9ucyB3aGljaCBhdHRlbXB0IHRvIGRldGVybWluZSB0aGUgdHlwZQogb2Ygc291bmQgZGF0YSB3aGljaCBpcyBpbiBhIGZpbGUuICBXaGVuIHRoZXNlIGZ1bmN0aW9ucyBhcmUgYWJsZSB0byBkZXRlcm1pbmUKLXdoYXQgdHlwZSBvZiBzb3VuZCBkYXRhIGlzIHN0b3JlZCBpbiBhIGZpbGUsIHRoZXkgcmV0dXJuIGEgdHVwbGUgYGAodHlwZSwKLXNhbXBsaW5nX3JhdGUsIGNoYW5uZWxzLCBmcmFtZXMsIGJpdHNfcGVyX3NhbXBsZSlgYC4gIFRoZSB2YWx1ZSBmb3IgKnR5cGUqCit3aGF0IHR5cGUgb2Ygc291bmQgZGF0YSBpcyBzdG9yZWQgaW4gYSBmaWxlLCB0aGV5IHJldHVybiBhCis6ZnVuYzpgfmNvbGxlY3Rpb25zLm5hbWVkdHVwbGVgLCBjb250YWluaW5nIGZpdmUgYXR0cmlidXRlczogKGBgZmlsZXR5cGVgYCwKK2BgZnJhbWVyYXRlYGAsIGBgbmNoYW5uZWxzYGAsIGBgbmZyYW1lc2BgLCBgYHNhbXB3aWR0aGBgKS4gVGhlIHZhbHVlIGZvciAqdHlwZSoKIGluZGljYXRlcyB0aGUgZGF0YSB0eXBlIGFuZCB3aWxsIGJlIG9uZSBvZiB0aGUgc3RyaW5ncyBgYCdhaWZjJ2BgLCBgYCdhaWZmJ2BgLAogYGAnYXUnYGAsIGBgJ2hjb20nYGAsIGBgJ3NuZHInYGAsIGBgJ3NuZHQnYGAsIGBgJ3ZvYydgYCwgYGAnd2F2J2BgLCBgYCc4c3Z4J2BgLAogYGAnc2InYGAsIGBgJ3ViJ2BgLCBvciBgYCd1bCdgYC4gIFRoZSAqc2FtcGxpbmdfcmF0ZSogd2lsbCBiZSBlaXRoZXIgdGhlIGFjdHVhbApAQCAtMzEsMTMgKzMyLDE5IEBACiAuLiBmdW5jdGlvbjo6IHdoYXQoZmlsZW5hbWUpCiAKICAgIERldGVybWluZXMgdGhlIHR5cGUgb2Ygc291bmQgZGF0YSBzdG9yZWQgaW4gdGhlIGZpbGUgKmZpbGVuYW1lKiB1c2luZwotICAgOmZ1bmM6YHdoYXRoZHJgLiAgSWYgaXQgc3VjY2VlZHMsIHJldHVybnMgYSB0dXBsZSBhcyBkZXNjcmliZWQgYWJvdmUsIG90aGVyd2lzZQorICAgOmZ1bmM6YHdoYXRoZHJgLiAgSWYgaXQgc3VjY2VlZHMsIHJldHVybnMgYSBuYW1lZHR1cGxlIGFzIGRlc2NyaWJlZCBhYm92ZSwgb3RoZXJ3aXNlCiAgICBgYE5vbmVgYCBpcyByZXR1cm5lZC4KIAorICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjUKKyAgICAgIFJlc3VsdCBjaGFuZ2VkIGZyb20gYSB0dXBsZSB0byBhIG5hbWVkdHVwbGUuCisKIAogLi4gZnVuY3Rpb246OiB3aGF0aGRyKGZpbGVuYW1lKQogCiAgICBEZXRlcm1pbmVzIHRoZSB0eXBlIG9mIHNvdW5kIGRhdGEgc3RvcmVkIGluIGEgZmlsZSBiYXNlZCBvbiB0aGUgZmlsZSAgaGVhZGVyLgotICAgVGhlIG5hbWUgb2YgdGhlIGZpbGUgaXMgZ2l2ZW4gYnkgKmZpbGVuYW1lKi4gIFRoaXMgZnVuY3Rpb24gcmV0dXJucyBhIHR1cGxlIGFzCisgICBUaGUgbmFtZSBvZiB0aGUgZmlsZSBpcyBnaXZlbiBieSAqZmlsZW5hbWUqLiAgVGhpcyBmdW5jdGlvbiByZXR1cm5zIGEgbmFtZWR0dXBsZSBhcwogICAgZGVzY3JpYmVkIGFib3ZlIG9uIHN1Y2Nlc3MsIG9yIGBgTm9uZWBgLgogCisgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuNQorICAgICAgUmVzdWx0IGNoYW5nZWQgZnJvbSBhIHR1cGxlIHRvIGEgbmFtZWR0dXBsZS4KKwpkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvc29ja2V0LnJzdCBiL0RvYy9saWJyYXJ5L3NvY2tldC5yc3QKaW5kZXggYjcwM2U5ZS4uZTMzMGYwYSAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvc29ja2V0LnJzdAorKysgYi9Eb2MvbGlicmFyeS9zb2NrZXQucnN0CkBAIC0zNTIsNyArMzUyLDYgQEAKICAgIHR5cGUsIGFuZCBwcm90b2NvbCBudW1iZXIuICBBZGRyZXNzIGZhbWlseSwgc29ja2V0IHR5cGUsIGFuZCBwcm90b2NvbCBudW1iZXIgYXJlCiAgICBhcyBmb3IgdGhlIDpmdW5jOmAuc29ja2V0YCBmdW5jdGlvbiBhYm92ZS4gVGhlIGRlZmF1bHQgZmFtaWx5IGlzIDpjb25zdDpgQUZfVU5JWGAKICAgIGlmIGRlZmluZWQgb24gdGhlIHBsYXRmb3JtOyBvdGhlcndpc2UsIHRoZSBkZWZhdWx0IGlzIDpjb25zdDpgQUZfSU5FVGAuCi0gICBBdmFpbGFiaWxpdHk6IFVuaXguCiAKICAgIFRoZSBuZXdseSBjcmVhdGVkIHNvY2tldHMgYXJlIDpyZWY6YG5vbi1pbmhlcml0YWJsZSA8ZmRfaW5oZXJpdGFuY2U+YC4KIApAQCAtMzYzLDYgKzM2Miw5IEBACiAgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuNAogICAgICAgVGhlIHJldHVybmVkIHNvY2tldHMgYXJlIG5vdyBub24taW5oZXJpdGFibGUuCiAKKyAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy41CisgICAgICBXaW5kb3dzIHN1cHBvcnQgYWRkZWQuCisKIAogLi4gZnVuY3Rpb246OiBjcmVhdGVfY29ubmVjdGlvbihhZGRyZXNzWywgdGltZW91dFssIHNvdXJjZV9hZGRyZXNzXV0pCiAKQEAgLTkwOCwxMiArOTEwLDE1IEBACiAgICBPbiBvdGhlciBwbGF0Zm9ybXMsIHRoZSBnZW5lcmljIDpmdW5jOmBmY250bC5mY250bGAgYW5kIDpmdW5jOmBmY250bC5pb2N0bGAKICAgIGZ1bmN0aW9ucyBtYXkgYmUgdXNlZDsgdGhleSBhY2NlcHQgYSBzb2NrZXQgb2JqZWN0IGFzIHRoZWlyIGZpcnN0IGFyZ3VtZW50LgogCi0uLiBtZXRob2Q6OiBzb2NrZXQubGlzdGVuKGJhY2tsb2cpCisuLiBtZXRob2Q6OiBzb2NrZXQubGlzdGVuKFtiYWNrbG9nXSkKIAotICAgTGlzdGVuIGZvciBjb25uZWN0aW9ucyBtYWRlIHRvIHRoZSBzb2NrZXQuICBUaGUgKmJhY2tsb2cqIGFyZ3VtZW50IHNwZWNpZmllcyB0aGUKLSAgIG1heGltdW0gbnVtYmVyIG9mIHF1ZXVlZCBjb25uZWN0aW9ucyBhbmQgc2hvdWxkIGJlIGF0IGxlYXN0IDA7IHRoZSBtYXhpbXVtIHZhbHVlCi0gICBpcyBzeXN0ZW0tZGVwZW5kZW50ICh1c3VhbGx5IDUpLCB0aGUgbWluaW11bSB2YWx1ZSBpcyBmb3JjZWQgdG8gMC4KKyAgIEVuYWJsZSBhIHNlcnZlciB0byBhY2NlcHQgY29ubmVjdGlvbnMuICBJZiAqYmFja2xvZyogaXMgc3BlY2lmaWVkLCBpdCBtdXN0CisgICBiZSBhdCBsZWFzdCAwIChpZiBpdCBpcyBsb3dlciwgaXQgaXMgc2V0IHRvIDApOyBpdCBzcGVjaWZpZXMgdGhlIG51bWJlciBvZgorICAgdW5hY2NlcHRlZCBjb25uZWN0aW9ucyB0aGF0IHRoZSBzeXN0ZW0gd2lsbCBhbGxvdyBiZWZvcmUgcmVmdXNpbmcgbmV3CisgICBjb25uZWN0aW9ucy4gSWYgbm90IHNwZWNpZmllZCwgYSBkZWZhdWx0IHJlYXNvbmFibGUgdmFsdWUgaXMgY2hvc2VuLgogCisgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuNQorICAgICAgVGhlICpiYWNrbG9nKiBwYXJhbWV0ZXIgaXMgbm93IG9wdGlvbmFsLgogCiAuLiBtZXRob2Q6OiBzb2NrZXQubWFrZWZpbGUobW9kZT0ncicsIGJ1ZmZlcmluZz1Ob25lLCAqLCBlbmNvZGluZz1Ob25lLCBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3JzPU5vbmUsIG5ld2xpbmU9Tm9uZSkKQEAgLTExNDgsNiArMTE1MywyMSBAQAogCiAgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjMKIAorLi4gbWV0aG9kOjogc29ja2V0LnNlbmRmaWxlKGZpbGUsIG9mZnNldD0wLCBjb3VudD1Ob25lKQorCisgICBTZW5kIGEgZmlsZSB1bnRpbCBFT0YgaXMgcmVhY2hlZCBieSB1c2luZyBoaWdoLXBlcmZvcm1hbmNlCisgICA6bW9kOmBvcy5zZW5kZmlsZWAgYW5kIHJldHVybiB0aGUgdG90YWwgbnVtYmVyIG9mIGJ5dGVzIHdoaWNoIHdlcmUgc2VudC4KKyAgICpmaWxlKiBtdXN0IGJlIGEgcmVndWxhciBmaWxlIG9iamVjdCBvcGVuZWQgaW4gYmluYXJ5IG1vZGUuIElmCisgICA6bW9kOmBvcy5zZW5kZmlsZWAgaXMgbm90IGF2YWlsYWJsZSAoZS5nLiBXaW5kb3dzKSBvciAqZmlsZSogaXMgbm90IGEKKyAgIHJlZ3VsYXIgZmlsZSA6bWV0aDpgc2VuZGAgd2lsbCBiZSB1c2VkIGluc3RlYWQuICpvZmZzZXQqIHRlbGxzIGZyb20gd2hlcmUgdG8KKyAgIHN0YXJ0IHJlYWRpbmcgdGhlIGZpbGUuIElmIHNwZWNpZmllZCwgKmNvdW50KiBpcyB0aGUgdG90YWwgbnVtYmVyIG9mIGJ5dGVzCisgICB0byB0cmFuc21pdCBhcyBvcHBvc2VkIHRvIHNlbmRpbmcgdGhlIGZpbGUgdW50aWwgRU9GIGlzIHJlYWNoZWQuIEZpbGUKKyAgIHBvc2l0aW9uIGlzIHVwZGF0ZWQgb24gcmV0dXJuIG9yIGFsc28gaW4gY2FzZSBvZiBlcnJvciBpbiB3aGljaCBjYXNlCisgICA6bWV0aDpgZmlsZS50ZWxsKCkgPGlvLklPQmFzZS50ZWxsPmAgY2FuIGJlIHVzZWQgdG8gZmlndXJlIG91dCB0aGUgbnVtYmVyIG9mCisgICBieXRlcyB3aGljaCB3ZXJlIHNlbnQuIFRoZSBzb2NrZXQgbXVzdCBiZSBvZiA6Y29uc3Q6YFNPQ0tfU1RSRUFNYCB0eXBlLiBOb24tCisgICBibG9ja2luZyBzb2NrZXRzIGFyZSBub3Qgc3VwcG9ydGVkLgorCisgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjUKIAogLi4gbWV0aG9kOjogc29ja2V0LnNldF9pbmhlcml0YWJsZShpbmhlcml0YWJsZSkKIApAQCAtMTQ0Nyw3ICsxNDY3LDcgQEAKIGNhbiB1c2UgdGhlIDptZXRoOmBzb2NrZXQuc2VuZGAsIGFuZCB0aGUgOm1ldGg6YHNvY2tldC5yZWN2YCBvcGVyYXRpb25zIChhbmQKIHRoZWlyIGNvdW50ZXJwYXJ0cykgb24gdGhlIHNvY2tldCBvYmplY3QgYXMgdXN1YWwuCiAKLVRoaXMgZXhhbXBsZSBtaWdodCByZXF1aXJlIHNwZWNpYWwgcHJpdmlsZWRnZTo6CitUaGlzIGV4YW1wbGUgbWlnaHQgcmVxdWlyZSBzcGVjaWFsIHByaXZpbGVnZXM6OgogCiAgICBpbXBvcnQgc29ja2V0CiAgICBpbXBvcnQgc3RydWN0CmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS9zb2NrZXRzZXJ2ZXIucnN0IGIvRG9jL2xpYnJhcnkvc29ja2V0c2VydmVyLnJzdAppbmRleCAxZWM0NDM4Li45ZGIzNmQ1IDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS9zb2NrZXRzZXJ2ZXIucnN0CisrKyBiL0RvYy9saWJyYXJ5L3NvY2tldHNlcnZlci5yc3QKQEAgLTExMyw3ICsxMTMsNyBAQAogQW5vdGhlciBhcHByb2FjaCB0byBoYW5kbGluZyBtdWx0aXBsZSBzaW11bHRhbmVvdXMgcmVxdWVzdHMgaW4gYW4gZW52aXJvbm1lbnQKIHRoYXQgc3VwcG9ydHMgbmVpdGhlciB0aHJlYWRzIG5vciA6ZnVuYzpgfm9zLmZvcmtgIChvciB3aGVyZSB0aGVzZSBhcmUgdG9vCiBleHBlbnNpdmUgb3IgaW5hcHByb3ByaWF0ZSBmb3IgdGhlIHNlcnZpY2UpIGlzIHRvIG1haW50YWluIGFuIGV4cGxpY2l0IHRhYmxlIG9mCi1wYXJ0aWFsbHkgZmluaXNoZWQgcmVxdWVzdHMgYW5kIHRvIHVzZSA6ZnVuYzpgfnNlbGVjdC5zZWxlY3RgIHRvIGRlY2lkZSB3aGljaAorcGFydGlhbGx5IGZpbmlzaGVkIHJlcXVlc3RzIGFuZCB0byB1c2UgOm1vZDpgc2VsZWN0b3JzYCB0byBkZWNpZGUgd2hpY2gKIHJlcXVlc3QgdG8gd29yayBvbiBuZXh0IChvciB3aGV0aGVyIHRvIGhhbmRsZSBhIG5ldyBpbmNvbWluZyByZXF1ZXN0KS4gIFRoaXMgaXMKIHBhcnRpY3VsYXJseSBpbXBvcnRhbnQgZm9yIHN0cmVhbSBzZXJ2aWNlcyB3aGVyZSBlYWNoIGNsaWVudCBjYW4gcG90ZW50aWFsbHkgYmUKIGNvbm5lY3RlZCBmb3IgYSBsb25nIHRpbWUgKGlmIHRocmVhZHMgb3Igc3VicHJvY2Vzc2VzIGNhbm5vdCBiZSB1c2VkKS4gIFNlZQpAQCAtMTM2LDcgKzEzNiw3IEBACiAuLiBtZXRob2Q6OiBCYXNlU2VydmVyLmZpbGVubygpCiAKICAgIFJldHVybiBhbiBpbnRlZ2VyIGZpbGUgZGVzY3JpcHRvciBmb3IgdGhlIHNvY2tldCBvbiB3aGljaCB0aGUgc2VydmVyIGlzCi0gICBsaXN0ZW5pbmcuICBUaGlzIGZ1bmN0aW9uIGlzIG1vc3QgY29tbW9ubHkgcGFzc2VkIHRvIDpmdW5jOmBzZWxlY3Quc2VsZWN0YCwgdG8KKyAgIGxpc3RlbmluZy4gIFRoaXMgZnVuY3Rpb24gaXMgbW9zdCBjb21tb25seSBwYXNzZWQgdG8gOm1vZDpgc2VsZWN0b3JzYCwgdG8KICAgIGFsbG93IG1vbml0b3JpbmcgbXVsdGlwbGUgc2VydmVycyBpbiB0aGUgc2FtZSBwcm9jZXNzLgogCiAKZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L3NzbC5yc3QgYi9Eb2MvbGlicmFyeS9zc2wucnN0CmluZGV4IDAxNWUwZGIuLjI1NGZjMWYgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L3NzbC5yc3QKKysrIGIvRG9jL2xpYnJhcnkvc3NsLnJzdApAQCAtMzI3LDYgKzMyNyw4IEBACiAgICBTZWUgaHR0cDovL2VnZC5zb3VyY2Vmb3JnZS5uZXQvIG9yIGh0dHA6Ly9wcm5nZC5zb3VyY2Vmb3JnZS5uZXQvIGZvciBzb3VyY2VzCiAgICBvZiBlbnRyb3B5LWdhdGhlcmluZyBkYWVtb25zLgogCisgICBBdmFpbGFiaWxpdHk6IG5vdCBhdmFpbGFibGUgd2l0aCBMaWJyZVNTTC4KKwogLi4gZnVuY3Rpb246OiBSQU5EX2FkZChieXRlcywgZW50cm9weSkKIAogICAgTWl4ZXMgdGhlIGdpdmVuICpieXRlcyogaW50byB0aGUgU1NMIHBzZXVkby1yYW5kb20gbnVtYmVyIGdlbmVyYXRvci4gIFRoZQpAQCAtMzQyLDEwICszNDQsOSBAQAogICAgVmVyaWZ5IHRoYXQgKmNlcnQqIChpbiBkZWNvZGVkIGZvcm1hdCBhcyByZXR1cm5lZCBieQogICAgOm1ldGg6YFNTTFNvY2tldC5nZXRwZWVyY2VydGApIG1hdGNoZXMgdGhlIGdpdmVuICpob3N0bmFtZSouICBUaGUgcnVsZXMKICAgIGFwcGxpZWQgYXJlIHRob3NlIGZvciBjaGVja2luZyB0aGUgaWRlbnRpdHkgb2YgSFRUUFMgc2VydmVycyBhcyBvdXRsaW5lZAotICAgaW4gOnJmYzpgMjgxOGAgYW5kIDpyZmM6YDYxMjVgLCBleGNlcHQgdGhhdCBJUCBhZGRyZXNzZXMgYXJlIG5vdCBjdXJyZW50bHkKLSAgIHN1cHBvcnRlZC4gSW4gYWRkaXRpb24gdG8gSFRUUFMsIHRoaXMgZnVuY3Rpb24gc2hvdWxkIGJlIHN1aXRhYmxlIGZvcgotICAgY2hlY2tpbmcgdGhlIGlkZW50aXR5IG9mIHNlcnZlcnMgaW4gdmFyaW91cyBTU0wtYmFzZWQgcHJvdG9jb2xzIHN1Y2ggYXMKLSAgIEZUUFMsIElNQVBTLCBQT1BTIGFuZCBvdGhlcnMuCisgICBpbiA6cmZjOmAyODE4YCBhbmQgOnJmYzpgNjEyNWAuICBJbiBhZGRpdGlvbiB0byBIVFRQUywgdGhpcyBmdW5jdGlvbgorICAgc2hvdWxkIGJlIHN1aXRhYmxlIGZvciBjaGVja2luZyB0aGUgaWRlbnRpdHkgb2Ygc2VydmVycyBpbiB2YXJpb3VzCisgICBTU0wtYmFzZWQgcHJvdG9jb2xzIHN1Y2ggYXMgRlRQUywgSU1BUFMsIFBPUFMgYW5kIG90aGVycy4KIAogICAgOmV4YzpgQ2VydGlmaWNhdGVFcnJvcmAgaXMgcmFpc2VkIG9uIGZhaWx1cmUuIE9uIHN1Y2Nlc3MsIHRoZSBmdW5jdGlvbgogICAgcmV0dXJucyBub3RoaW5nOjoKQEAgLTM2NywyMiArMzY4LDM4IEBACiAgICAgICBJRE4gQS1sYWJlbHMgc3VjaCBhcyBgYHd3dyoueG4tLXB0aG9uLWt2YS5vcmdgYCBhcmUgc3RpbGwgc3VwcG9ydGVkLAogICAgICAgYnV0IGBgeCoucHl0aG9uLm9yZ2BgIG5vIGxvbmdlciBtYXRjaGVzIGBgeG4tLXRkYS5weXRob24ub3JnYGAuCiAKLS4uIGZ1bmN0aW9uOjogY2VydF90aW1lX3RvX3NlY29uZHModGltZXN0cmluZykKKyAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy41CisgICAgICBNYXRjaGluZyBvZiBJUCBhZGRyZXNzZXMsIHdoZW4gcHJlc2VudCBpbiB0aGUgc3ViamVjdEFsdE5hbWUgZmllbGQKKyAgICAgIG9mIHRoZSBjZXJ0aWZpY2F0ZSwgaXMgbm93IHN1cHBvcnRlZC4KIAotICAgUmV0dXJucyBhIGZsb2F0aW5nLXBvaW50IHZhbHVlIGNvbnRhaW5pbmcgYSBub3JtYWwgc2Vjb25kcy1hZnRlci10aGUtZXBvY2gKLSAgIHRpbWUgdmFsdWUsIGdpdmVuIHRoZSB0aW1lLXN0cmluZyByZXByZXNlbnRpbmcgdGhlICJub3RCZWZvcmUiIG9yICJub3RBZnRlciIKLSAgIGRhdGUgZnJvbSBhIGNlcnRpZmljYXRlLgorLi4gZnVuY3Rpb246OiBjZXJ0X3RpbWVfdG9fc2Vjb25kcyhjZXJ0X3RpbWUpCiAKLSAgIEhlcmUncyBhbiBleGFtcGxlOjoKKyAgIFJldHVybiB0aGUgdGltZSBpbiBzZWNvbmRzIHNpbmNlIHRoZSBFcG9jaCwgZ2l2ZW4gdGhlIGBgY2VydF90aW1lYGAKKyAgIHN0cmluZyByZXByZXNlbnRpbmcgdGhlICJub3RCZWZvcmUiIG9yICJub3RBZnRlciIgZGF0ZSBmcm9tIGEKKyAgIGNlcnRpZmljYXRlIGluIGBgIiViICVkICVIOiVNOiVTICVZICVaImBgIHN0cnB0aW1lIGZvcm1hdCAoQworICAgbG9jYWxlKS4KIAotICAgICA+Pj4gaW1wb3J0IHNzbAotICAgICA+Pj4gc3NsLmNlcnRfdGltZV90b19zZWNvbmRzKCJNYXkgIDkgMDA6MDA6MDAgMjAwNyBHTVQiKQotICAgICAxMTc4Njk0MDAwLjAKLSAgICAgPj4+IGltcG9ydCB0aW1lCi0gICAgID4+PiB0aW1lLmN0aW1lKHNzbC5jZXJ0X3RpbWVfdG9fc2Vjb25kcygiTWF5ICA5IDAwOjAwOjAwIDIwMDcgR01UIikpCi0gICAgICdXZWQgTWF5ICA5IDAwOjAwOjAwIDIwMDcnCisgICBIZXJlJ3MgYW4gZXhhbXBsZToKIAotLi4gZnVuY3Rpb246OiBnZXRfc2VydmVyX2NlcnRpZmljYXRlKGFkZHIsIHNzbF92ZXJzaW9uPVBST1RPQ09MX1NTTHYzLCBjYV9jZXJ0cz1Ob25lKQorICAgLi4gZG9jdGVzdDo6IG5ld2NvbnRleHQKKworICAgICAgPj4+IGltcG9ydCBzc2wKKyAgICAgID4+PiB0aW1lc3RhbXAgPSBzc2wuY2VydF90aW1lX3RvX3NlY29uZHMoIkphbiAgNSAwOTozNDo0MyAyMDE4IEdNVCIpCisgICAgICA+Pj4gdGltZXN0YW1wCisgICAgICAxNTE1MTQ0ODgzCisgICAgICA+Pj4gZnJvbSBkYXRldGltZSBpbXBvcnQgZGF0ZXRpbWUKKyAgICAgID4+PiBwcmludChkYXRldGltZS51dGNmcm9tdGltZXN0YW1wKHRpbWVzdGFtcCkpCisgICAgICAyMDE4LTAxLTA1IDA5OjM0OjQzCisKKyAgICJub3RCZWZvcmUiIG9yICJub3RBZnRlciIgZGF0ZXMgbXVzdCB1c2UgR01UICg6cmZjOmA1MjgwYCkuCisKKyAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy41CisgICAgICBJbnRlcnByZXQgdGhlIGlucHV0IHRpbWUgYXMgYSB0aW1lIGluIFVUQyBhcyBzcGVjaWZpZWQgYnkgJ0dNVCcKKyAgICAgIHRpbWV6b25lIGluIHRoZSBpbnB1dCBzdHJpbmcuIExvY2FsIHRpbWV6b25lIHdhcyB1c2VkCisgICAgICBwcmV2aW91c2x5LiBSZXR1cm4gYW4gaW50ZWdlciAobm8gZnJhY3Rpb25zIG9mIGEgc2Vjb25kIGluIHRoZQorICAgICAgaW5wdXQgZm9ybWF0KQorCisuLiBmdW5jdGlvbjo6IGdldF9zZXJ2ZXJfY2VydGlmaWNhdGUoYWRkciwgc3NsX3ZlcnNpb249UFJPVE9DT0xfU1NMdjIzLCBjYV9jZXJ0cz1Ob25lKQogCiAgICBHaXZlbiB0aGUgYWRkcmVzcyBgYGFkZHJgYCBvZiBhbiBTU0wtcHJvdGVjdGVkIHNlcnZlciwgYXMgYSAoKmhvc3RuYW1lKiwKICAgICpwb3J0LW51bWJlciopIHBhaXIsIGZldGNoZXMgdGhlIHNlcnZlcidzIGNlcnRpZmljYXRlLCBhbmQgcmV0dXJucyBpdCBhcyBhCkBAIC0zOTYsNiArNDEzLDEwIEBACiAgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuMwogICAgICAgVGhpcyBmdW5jdGlvbiBpcyBub3cgSVB2Ni1jb21wYXRpYmxlLgogCisgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuNQorICAgICAgVGhlIGRlZmF1bHQgKnNzbF92ZXJzaW9uKiBpcyBjaGFuZ2VkIGZyb20gOmRhdGE6YFBST1RPQ09MX1NTTHYzYCB0bworICAgICAgOmRhdGE6YFBST1RPQ09MX1NTTHYyM2AgZm9yIG1heGltdW0gY29tcGF0aWJpbGl0eSB3aXRoIG1vZGVybiBzZXJ2ZXJzLgorCiAuLiBmdW5jdGlvbjo6IERFUl9jZXJ0X3RvX1BFTV9jZXJ0KERFUl9jZXJ0X2J5dGVzKQogCiAgICBHaXZlbiBhIGNlcnRpZmljYXRlIGFzIGEgREVSLWVuY29kZWQgYmxvYiBvZiBieXRlcywgcmV0dXJucyBhIFBFTS1lbmNvZGVkCkBAIC02NTUsNiArNjc2LDEzIEBACiAKICAgIC4uIHZlcnNpb25hZGRlZDo6IDMuMwogCisuLiBkYXRhOjogSEFTX0FMUE4KKworICAgV2hldGhlciB0aGUgT3BlblNTTCBsaWJyYXJ5IGhhcyBidWlsdC1pbiBzdXBwb3J0IGZvciB0aGUgKkFwcGxpY2F0aW9uLUxheWVyCisgICBQcm90b2NvbCBOZWdvdGlhdGlvbiogVExTIGV4dGVuc2lvbiBhcyBkZXNjcmliZWQgaW4gOnJmYzpgNzMwMWAuCisKKyAgIC4uIHZlcnNpb25hZGRlZDo6IDMuNQorCiAuLiBkYXRhOjogSEFTX0VDREgKIAogICAgV2hldGhlciB0aGUgT3BlblNTTCBsaWJyYXJ5IGhhcyBidWlsdC1pbiBzdXBwb3J0IGZvciBFbGxpcHRpYyBDdXJ2ZS1iYXNlZApAQCAtNzcyLDYgKzgwMCw4IEBACiAgICAgIChidXQgcGFzc2luZyBhIG5vbi16ZXJvIGBgZmxhZ3NgYCBhcmd1bWVudCBpcyBub3QgYWxsb3dlZCkKICAgIC0gOm1ldGg6YH5zb2NrZXQuc29ja2V0LnNlbmQoKWAsIDptZXRoOmB+c29ja2V0LnNvY2tldC5zZW5kYWxsKClgICh3aXRoCiAgICAgIHRoZSBzYW1lIGxpbWl0YXRpb24pCisgICAtIDptZXRoOmB+c29ja2V0LnNvY2tldC5zZW5kZmlsZSgpYCAoYnV0IDptb2Q6YG9zLnNlbmRmaWxlYCB3aWxsIGJlIHVzZWQKKyAgICAgZm9yIHBsYWluLXRleHQgc29ja2V0cyBvbmx5LCBlbHNlIDptZXRoOmB+c29ja2V0LnNvY2tldC5zZW5kKClgIHdpbGwgYmUgdXNlZCkKICAgIC0gOm1ldGg6YH5zb2NrZXQuc29ja2V0LnNodXRkb3duKClgCiAKICAgIEhvd2V2ZXIsIHNpbmNlIHRoZSBTU0wgKGFuZCBUTFMpIHByb3RvY29sIGhhcyBpdHMgb3duIGZyYW1pbmcgYXRvcApAQCAtNzgyLDYgKzgxMiwxMCBAQAogICAgVXN1YWxseSwgOmNsYXNzOmBTU0xTb2NrZXRgIGFyZSBub3QgY3JlYXRlZCBkaXJlY3RseSwgYnV0IHVzaW5nIHRoZQogICAgOmZ1bmM6YHdyYXBfc29ja2V0YCBmdW5jdGlvbiBvciB0aGUgOm1ldGg6YFNTTENvbnRleHQud3JhcF9zb2NrZXRgIG1ldGhvZC4KIAorICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjUKKyAgICAgIFRoZSA6bWV0aDpgc2VuZGZpbGVgIG1ldGhvZCB3YXMgYWRkZWQuCisKKwogU1NMIHNvY2tldHMgYWxzbyBoYXZlIHRoZSBmb2xsb3dpbmcgYWRkaXRpb25hbCBtZXRob2RzIGFuZCBhdHRyaWJ1dGVzOgogCiAuLiBtZXRob2Q6OiBTU0xTb2NrZXQucmVhZChsZW49MCwgYnVmZmVyPU5vbmUpCkBAIC05MDEsNiArOTM1LDE3IEBACiAgICB2ZXJzaW9uIG9mIHRoZSBTU0wgcHJvdG9jb2wgdGhhdCBkZWZpbmVzIGl0cyB1c2UsIGFuZCB0aGUgbnVtYmVyIG9mIHNlY3JldAogICAgYml0cyBiZWluZyB1c2VkLiAgSWYgbm8gY29ubmVjdGlvbiBoYXMgYmVlbiBlc3RhYmxpc2hlZCwgcmV0dXJucyBgYE5vbmVgYC4KIAorLi4gbWV0aG9kOjogU1NMU29ja2V0LnNoYXJlZF9jaXBoZXJzKCkKKworICAgUmV0dXJuIHRoZSBsaXN0IG9mIGNpcGhlcnMgc2hhcmVkIGJ5IHRoZSBjbGllbnQgZHVyaW5nIHRoZSBoYW5kc2hha2UuICBFYWNoCisgICBlbnRyeSBvZiB0aGUgcmV0dXJuZWQgbGlzdCBpcyBhIHRocmVlLXZhbHVlIHR1cGxlIGNvbnRhaW5pbmcgdGhlIG5hbWUgb2YgdGhlCisgICBjaXBoZXIsIHRoZSB2ZXJzaW9uIG9mIHRoZSBTU0wgcHJvdG9jb2wgdGhhdCBkZWZpbmVzIGl0cyB1c2UsIGFuZCB0aGUgbnVtYmVyCisgICBvZiBzZWNyZXQgYml0cyB0aGUgY2lwaGVyIHVzZXMuICA6bWV0aDpgflNTTFNvY2tldC5zaGFyZWRfY2lwaGVyc2AgcmV0dXJucworICAgYGBOb25lYGAgaWYgbm8gY29ubmVjdGlvbiBoYXMgYmVlbiBlc3RhYmxpc2hlZCBvciB0aGUgc29ja2V0IGlzIGEgY2xpZW50CisgICBzb2NrZXQuCisKKyAgIC4uIHZlcnNpb25hZGRlZDo6IDMuNQorCiAuLiBtZXRob2Q6OiBTU0xTb2NrZXQuY29tcHJlc3Npb24oKQogCiAgICBSZXR1cm4gdGhlIGNvbXByZXNzaW9uIGFsZ29yaXRobSBiZWluZyB1c2VkIGFzIGEgc3RyaW5nLCBvciBgYE5vbmVgYApAQCAtOTI0LDEyICs5NjksMjIgQEAKIAogICAgLi4gdmVyc2lvbmFkZGVkOjogMy4zCiAKKy4uIG1ldGhvZDo6IFNTTFNvY2tldC5zZWxlY3RlZF9hbHBuX3Byb3RvY29sKCkKKworICAgUmV0dXJuIHRoZSBwcm90b2NvbCB0aGF0IHdhcyBzZWxlY3RlZCBkdXJpbmcgdGhlIFRMUyBoYW5kc2hha2UuICBJZgorICAgOm1ldGg6YFNTTENvbnRleHQuc2V0X2FscG5fcHJvdG9jb2xzYCB3YXMgbm90IGNhbGxlZCwgaWYgdGhlIG90aGVyIHBhcnR5IGRvZXMKKyAgIG5vdCBzdXBwb3J0IEFMUE4sIGlmIHRoaXMgc29ja2V0IGRvZXMgbm90IHN1cHBvcnQgYW55IG9mIHRoZSBjbGllbnQncworICAgcHJvcG9zZWQgcHJvdG9jb2xzLCBvciBpZiB0aGUgaGFuZHNoYWtlIGhhcyBub3QgaGFwcGVuZWQgeWV0LCBgYE5vbmVgYCBpcworICAgcmV0dXJuZWQuCisKKyAgIC4uIHZlcnNpb25hZGRlZDo6IDMuNQorCiAuLiBtZXRob2Q6OiBTU0xTb2NrZXQuc2VsZWN0ZWRfbnBuX3Byb3RvY29sKCkKIAotICAgUmV0dXJucyB0aGUgcHJvdG9jb2wgdGhhdCB3YXMgc2VsZWN0ZWQgZHVyaW5nIHRoZSBUTFMvU1NMIGhhbmRzaGFrZS4gSWYKLSAgIDptZXRoOmBTU0xDb250ZXh0LnNldF9ucG5fcHJvdG9jb2xzYCB3YXMgbm90IGNhbGxlZCwgb3IgaWYgdGhlIG90aGVyIHBhcnR5Ci0gICBkb2VzIG5vdCBzdXBwb3J0IE5QTiwgb3IgaWYgdGhlIGhhbmRzaGFrZSBoYXMgbm90IHlldCBoYXBwZW5lZCwgdGhpcyB3aWxsCi0gICByZXR1cm4gYGBOb25lYGAuCisgICBSZXR1cm4gdGhlIGhpZ2hlci1sZXZlbCBwcm90b2NvbCB0aGF0IHdhcyBzZWxlY3RlZCBkdXJpbmcgdGhlIFRMUy9TU0wKKyAgIGhhbmRzaGFrZS4gSWYgOm1ldGg6YFNTTENvbnRleHQuc2V0X25wbl9wcm90b2NvbHNgIHdhcyBub3QgY2FsbGVkLCBvcgorICAgaWYgdGhlIG90aGVyIHBhcnR5IGRvZXMgbm90IHN1cHBvcnQgTlBOLCBvciBpZiB0aGUgaGFuZHNoYWtlIGhhcyBub3QgeWV0CisgICBoYXBwZW5lZCwgdGhpcyB3aWxsIHJldHVybiBgYE5vbmVgYC4KIAogICAgLi4gdmVyc2lvbmFkZGVkOjogMy4zCiAKQEAgLTk0MSw2ICs5OTYsMTYgQEAKICAgIHJldHVybmVkIHNvY2tldCBzaG91bGQgYWx3YXlzIGJlIHVzZWQgZm9yIGZ1cnRoZXIgY29tbXVuaWNhdGlvbiB3aXRoIHRoZQogICAgb3RoZXIgc2lkZSBvZiB0aGUgY29ubmVjdGlvbiwgcmF0aGVyIHRoYW4gdGhlIG9yaWdpbmFsIHNvY2tldC4KIAorLi4gbWV0aG9kOjogU1NMU29ja2V0LnZlcnNpb24oKQorCisgICBSZXR1cm4gdGhlIGFjdHVhbCBTU0wgcHJvdG9jb2wgdmVyc2lvbiBuZWdvdGlhdGVkIGJ5IHRoZSBjb25uZWN0aW9uCisgICBhcyBhIHN0cmluZywgb3IgYGBOb25lYGAgaXMgbm8gc2VjdXJlIGNvbm5lY3Rpb24gaXMgZXN0YWJsaXNoZWQuCisgICBBcyBvZiB0aGlzIHdyaXRpbmcsIHBvc3NpYmxlIHJldHVybiB2YWx1ZXMgaW5jbHVkZSBgYCJTU0x2MiJgYCwKKyAgIGBgIlNTTHYzImBgLCBgYCJUTFN2MSJgYCwgYGAiVExTdjEuMSJgYCBhbmQgYGAiVExTdjEuMiJgYC4KKyAgIFJlY2VudCBPcGVuU1NMIHZlcnNpb25zIG1heSBkZWZpbmUgbW9yZSByZXR1cm4gdmFsdWVzLgorCisgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjUKKwogLi4gbWV0aG9kOjogU1NMU29ja2V0LnBlbmRpbmcoKQogCiAgICBSZXR1cm5zIHRoZSBudW1iZXIgb2YgYWxyZWFkeSBkZWNyeXB0ZWQgYnl0ZXMgYXZhaWxhYmxlIGZvciByZWFkLCBwZW5kaW5nIG9uCkBAIC0xMTE1LDYgKzExODAsMjAgQEAKICAgICAgIHdoZW4gY29ubmVjdGVkLCB0aGUgOm1ldGg6YFNTTFNvY2tldC5jaXBoZXJgIG1ldGhvZCBvZiBTU0wgc29ja2V0cyB3aWxsCiAgICAgICBnaXZlIHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgY2lwaGVyLgogCisuLiBtZXRob2Q6OiBTU0xDb250ZXh0LnNldF9hbHBuX3Byb3RvY29scyhwcm90b2NvbHMpCisKKyAgIFNwZWNpZnkgd2hpY2ggcHJvdG9jb2xzIHRoZSBzb2NrZXQgc2hvdWxkIGFkdmVydGlzZSBkdXJpbmcgdGhlIFNTTC9UTFMKKyAgIGhhbmRzaGFrZS4gSXQgc2hvdWxkIGJlIGEgbGlzdCBvZiBBU0NJSSBzdHJpbmdzLCBsaWtlIGBgWydodHRwLzEuMScsCisgICAnc3BkeS8yJ11gYCwgb3JkZXJlZCBieSBwcmVmZXJlbmNlLiBUaGUgc2VsZWN0aW9uIG9mIGEgcHJvdG9jb2wgd2lsbCBoYXBwZW4KKyAgIGR1cmluZyB0aGUgaGFuZHNoYWtlLCBhbmQgd2lsbCBwbGF5IG91dCBhY2NvcmRpbmcgdG8gOnJmYzpgNzMwMWAuIEFmdGVyIGEKKyAgIHN1Y2Nlc3NmdWwgaGFuZHNoYWtlLCB0aGUgOm1ldGg6YFNTTFNvY2tldC5zZWxlY3RlZF9hbHBuX3Byb3RvY29sYCBtZXRob2Qgd2lsbAorICAgcmV0dXJuIHRoZSBhZ3JlZWQtdXBvbiBwcm90b2NvbC4KKworICAgVGhpcyBtZXRob2Qgd2lsbCByYWlzZSA6ZXhjOmBOb3RJbXBsZW1lbnRlZEVycm9yYCBpZiA6ZGF0YTpgSEFTX0FMUE5gIGlzCisgICBGYWxzZS4KKworICAgLi4gdmVyc2lvbmFkZGVkOjogMy41CisKIC4uIG1ldGhvZDo6IFNTTENvbnRleHQuc2V0X25wbl9wcm90b2NvbHMocHJvdG9jb2xzKQogCiAgICBTcGVjaWZ5IHdoaWNoIHByb3RvY29scyB0aGUgc29ja2V0IHNob3VsZCBhZHZlcnRpc2UgZHVyaW5nIHRoZSBTU0wvVExTCkBAIC0xMTU1LDcgKzEyMzQsNyBAQAogCiAgICBEdWUgdG8gdGhlIGVhcmx5IG5lZ290aWF0aW9uIHBoYXNlIG9mIHRoZSBUTFMgY29ubmVjdGlvbiwgb25seSBsaW1pdGVkCiAgICBtZXRob2RzIGFuZCBhdHRyaWJ1dGVzIGFyZSB1c2FibGUgbGlrZQotICAgOm1ldGg6YFNTTFNvY2tldC5zZWxlY3RlZF9ucG5fcHJvdG9jb2xgIGFuZCA6YXR0cjpgU1NMU29ja2V0LmNvbnRleHRgLgorICAgOm1ldGg6YFNTTFNvY2tldC5zZWxlY3RlZF9hbHBuX3Byb3RvY29sYCBhbmQgOmF0dHI6YFNTTFNvY2tldC5jb250ZXh0YC4KICAgIDptZXRoOmBTU0xTb2NrZXQuZ2V0cGVlcmNlcnRgLCA6bWV0aDpgU1NMU29ja2V0LmdldHBlZXJjZXJ0YCwKICAgIDptZXRoOmBTU0xTb2NrZXQuY2lwaGVyYCBhbmQgOm1ldGg6YFNTTFNvY2tldC5jb21wcmVzc2AgbWV0aG9kcyByZXF1aXJlIHRoYXQKICAgIHRoZSBUTFMgY29ubmVjdGlvbiBoYXMgcHJvZ3Jlc3NlZCBiZXlvbmQgdGhlIFRMUyBDbGllbnQgSGVsbG8gYW5kIHRoZXJlZm9yZQpAQCAtMTIzMSwxMCArMTMxMCwyMCBAQAogICAgcXVpdGUgc2ltaWxhcmx5IHRvIEhUVFAgdmlydHVhbCBob3N0cy4gU3BlY2lmeWluZyAqc2VydmVyX2hvc3RuYW1lKiB3aWxsCiAgICByYWlzZSBhIDpleGM6YFZhbHVlRXJyb3JgIGlmICpzZXJ2ZXJfc2lkZSogaXMgdHJ1ZS4KIAotICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjQuMworICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjUKICAgICAgIEFsd2F5cyBhbGxvdyBhIHNlcnZlcl9ob3N0bmFtZSB0byBiZSBwYXNzZWQsIGV2ZW4gaWYgT3BlblNTTCBkb2VzIG5vdAogICAgICAgaGF2ZSBTTkkuCiAKKy4uIG1ldGhvZDo6IFNTTENvbnRleHQud3JhcF9iaW8oaW5jb21pbmcsIG91dGdvaW5nLCBzZXJ2ZXJfc2lkZT1GYWxzZSwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXJ2ZXJfaG9zdG5hbWU9Tm9uZSkKKworICAgQ3JlYXRlIGEgbmV3IDpjbGFzczpgU1NMT2JqZWN0YCBpbnN0YW5jZSBieSB3cmFwcGluZyB0aGUgQklPIG9iamVjdHMKKyAgICppbmNvbWluZyogYW5kICpvdXRnb2luZyouIFRoZSBTU0wgcm91dGluZXMgd2lsbCByZWFkIGlucHV0IGRhdGEgZnJvbSB0aGUKKyAgIGluY29taW5nIEJJTyBhbmQgd3JpdGUgZGF0YSB0byB0aGUgb3V0Z29pbmcgQklPLgorCisgICBUaGUgKnNlcnZlcl9zaWRlKiBhbmQgKnNlcnZlcl9ob3N0bmFtZSogcGFyYW1ldGVycyBoYXZlIHRoZSBzYW1lIG1lYW5pbmcgYXMKKyAgIGluIDptZXRoOmBTU0xDb250ZXh0LndyYXBfc29ja2V0YC4KKwogLi4gbWV0aG9kOjogU1NMQ29udGV4dC5zZXNzaW9uX3N0YXRzKCkKIAogICAgR2V0IHN0YXRpc3RpY3MgYWJvdXQgdGhlIFNTTCBzZXNzaW9ucyBjcmVhdGVkIG9yIG1hbmFnZWQgYnkgdGhpcyBjb250ZXh0LgpAQCAtMTYxOSw3ICsxNzA4LDcgQEAKIAogQW5kIGdvIGJhY2sgdG8gbGlzdGVuaW5nIGZvciBuZXcgY2xpZW50IGNvbm5lY3Rpb25zIChvZiBjb3Vyc2UsIGEgcmVhbCBzZXJ2ZXIKIHdvdWxkIHByb2JhYmx5IGhhbmRsZSBlYWNoIGNsaWVudCBjb25uZWN0aW9uIGluIGEgc2VwYXJhdGUgdGhyZWFkLCBvciBwdXQKLXRoZSBzb2NrZXRzIGluIG5vbi1ibG9ja2luZyBtb2RlIGFuZCB1c2UgYW4gZXZlbnQgbG9vcCkuCit0aGUgc29ja2V0cyBpbiA6cmVmOmBub24tYmxvY2tpbmcgbW9kZSA8c3NsLW5vbmJsb2NraW5nPmAgYW5kIHVzZSBhbiBldmVudCBsb29wKS4KIAogCiAuLiBfc3NsLW5vbmJsb2NraW5nOgpAQCAtMTY0MSw2ICsxNzMwLDEyIEBACiAgIHNvY2tldCBmaXJzdCwgYW5kIGF0dGVtcHRzIHRvICpyZWFkKiBmcm9tIHRoZSBTU0wgc29ja2V0IG1heSByZXF1aXJlCiAgIGEgcHJpb3IgKndyaXRlKiB0byB0aGUgdW5kZXJseWluZyBzb2NrZXQuCiAKKyAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjUKKworICAgICBJbiBlYXJsaWVyIFB5dGhvbiB2ZXJzaW9ucywgdGhlIDptZXRoOmAhU1NMU29ja2V0LnNlbmRgIG1ldGhvZAorICAgICByZXR1cm5lZCB6ZXJvIGluc3RlYWQgb2YgcmFpc2luZyA6ZXhjOmBTU0xXYW50V3JpdGVFcnJvcmAgb3IKKyAgICAgOmV4YzpgU1NMV2FudFJlYWRFcnJvcmAuCisKIC0gQ2FsbGluZyA6ZnVuYzpgfnNlbGVjdC5zZWxlY3RgIHRlbGxzIHlvdSB0aGF0IHRoZSBPUy1sZXZlbCBzb2NrZXQgY2FuIGJlCiAgIHJlYWQgZnJvbSAob3Igd3JpdHRlbiB0byksIGJ1dCBpdCBkb2VzIG5vdCBpbXBseSB0aGF0IHRoZXJlIGlzIHN1ZmZpY2llbnQKICAgZGF0YSBhdCB0aGUgdXBwZXIgU1NMIGxheWVyLiAgRm9yIGV4YW1wbGUsIG9ubHkgcGFydCBvZiBhbiBTU0wgZnJhbWUgbWlnaHQKQEAgLTE2NzMsMTMgKzE3NjgsMTQzIEBACiAKIC4uIHNlZWFsc286OgogCi0gICBUaGUgOm1vZDpgYXN5bmNpb2AgbW9kdWxlIHN1cHBvcnRzIG5vbi1ibG9ja2luZyBTU0wgc29ja2V0cyBhbmQgcHJvdmlkZXMgYQorICAgVGhlIDptb2Q6YGFzeW5jaW9gIG1vZHVsZSBzdXBwb3J0cyA6cmVmOmBub24tYmxvY2tpbmcgU1NMIHNvY2tldHMKKyAgIDxzc2wtbm9uYmxvY2tpbmc+YCBhbmQgcHJvdmlkZXMgYQogICAgaGlnaGVyIGxldmVsIEFQSS4gSXQgcG9sbHMgZm9yIGV2ZW50cyB1c2luZyB0aGUgOm1vZDpgc2VsZWN0b3JzYCBtb2R1bGUgYW5kCiAgICBoYW5kbGVzIDpleGM6YFNTTFdhbnRXcml0ZUVycm9yYCwgOmV4YzpgU1NMV2FudFJlYWRFcnJvcmAgYW5kCiAgICA6ZXhjOmBCbG9ja2luZ0lPRXJyb3JgIGV4Y2VwdGlvbnMuIEl0IHJ1bnMgdGhlIFNTTCBoYW5kc2hha2UgYXN5bmNocm9ub3VzbHkKICAgIGFzIHdlbGwuCiAKIAorTWVtb3J5IEJJTyBTdXBwb3J0CistLS0tLS0tLS0tLS0tLS0tLS0KKworLi4gdmVyc2lvbmFkZGVkOjogMy41CisKK0V2ZXIgc2luY2UgdGhlIFNTTCBtb2R1bGUgd2FzIGludHJvZHVjZWQgaW4gUHl0aG9uIDIuNiwgdGhlIDpjbGFzczpgU1NMU29ja2V0YAorY2xhc3MgaGFzIHByb3ZpZGVkIHR3byByZWxhdGVkIGJ1dCBkaXN0aW5jdCBhcmVhcyBvZiBmdW5jdGlvbmFsaXR5OgorCistIFNTTCBwcm90b2NvbCBoYW5kbGluZworLSBOZXR3b3JrIElPCisKK1RoZSBuZXR3b3JrIElPIEFQSSBpcyBpZGVudGljYWwgdG8gdGhhdCBwcm92aWRlZCBieSA6Y2xhc3M6YHNvY2tldC5zb2NrZXRgLAorZnJvbSB3aGljaCA6Y2xhc3M6YFNTTFNvY2tldGAgYWxzbyBpbmhlcml0cy4gVGhpcyBhbGxvd3MgYW4gU1NMIHNvY2tldCB0byBiZQordXNlZCBhcyBhIGRyb3AtaW4gcmVwbGFjZW1lbnQgZm9yIGEgcmVndWxhciBzb2NrZXQsIG1ha2luZyBpdCB2ZXJ5IGVhc3kgdG8gYWRkCitTU0wgc3VwcG9ydCB0byBhbiBleGlzdGluZyBhcHBsaWNhdGlvbi4KKworQ29tYmluaW5nIFNTTCBwcm90b2NvbCBoYW5kbGluZyBhbmQgbmV0d29yayBJTyB1c3VhbGx5IHdvcmtzIHdlbGwsIGJ1dCB0aGVyZQorYXJlIHNvbWUgY2FzZXMgd2hlcmUgaXQgZG9lc24ndC4gQW4gZXhhbXBsZSBpcyBhc3luYyBJTyBmcmFtZXdvcmtzIHRoYXQgd2FudCB0bwordXNlIGEgZGlmZmVyZW50IElPIG11bHRpcGxleGluZyBtb2RlbCB0aGFuIHRoZSAic2VsZWN0L3BvbGwgb24gYSBmaWxlCitkZXNjcmlwdG9yIiAocmVhZGluZXNzIGJhc2VkKSBtb2RlbCB0aGF0IGlzIGFzc3VtZWQgYnkgOmNsYXNzOmBzb2NrZXQuc29ja2V0YAorYW5kIGJ5IHRoZSBpbnRlcm5hbCBPcGVuU1NMIHNvY2tldCBJTyByb3V0aW5lcy4gVGhpcyBpcyBtb3N0bHkgcmVsZXZhbnQgZm9yCitwbGF0Zm9ybXMgbGlrZSBXaW5kb3dzIHdoZXJlIHRoaXMgbW9kZWwgaXMgbm90IGVmZmljaWVudC4gRm9yIHRoaXMgcHVycG9zZSwgYQorcmVkdWNlZCBzY29wZSB2YXJpYW50IG9mIDpjbGFzczpgU1NMU29ja2V0YCBjYWxsZWQgOmNsYXNzOmBTU0xPYmplY3RgIGlzCitwcm92aWRlZC4KKworLi4gY2xhc3M6OiBTU0xPYmplY3QKKworICAgQSByZWR1Y2VkLXNjb3BlIHZhcmlhbnQgb2YgOmNsYXNzOmBTU0xTb2NrZXRgIHJlcHJlc2VudGluZyBhbiBTU0wgcHJvdG9jb2wKKyAgIGluc3RhbmNlIHRoYXQgZG9lcyBub3QgY29udGFpbiBhbnkgbmV0d29yayBJTyBtZXRob2RzLiBUaGlzIGNsYXNzIGlzCisgICB0eXBpY2FsbHkgdXNlZCBieSBmcmFtZXdvcmsgYXV0aG9ycyB0aGF0IHdhbnQgdG8gaW1wbGVtZW50IGFzeW5jaHJvbm91cyBJTworICAgZm9yIFNTTCB0aHJvdWdoIG1lbW9yeSBidWZmZXJzLgorCisgICBUaGlzIGNsYXNzIGltcGxlbWVudHMgYW4gaW50ZXJmYWNlIG9uIHRvcCBvZiBhIGxvdy1sZXZlbCBTU0wgb2JqZWN0IGFzCisgICBpbXBsZW1lbnRlZCBieSBPcGVuU1NMLiBUaGlzIG9iamVjdCBjYXB0dXJlcyB0aGUgc3RhdGUgb2YgYW4gU1NMIGNvbm5lY3Rpb24KKyAgIGJ1dCBkb2VzIG5vdCBwcm92aWRlIGFueSBuZXR3b3JrIElPIGl0c2VsZi4gSU8gbmVlZHMgdG8gYmUgcGVyZm9ybWVkIHRocm91Z2gKKyAgIHNlcGFyYXRlICJCSU8iIG9iamVjdHMgd2hpY2ggYXJlIE9wZW5TU0wncyBJTyBhYnN0cmFjdGlvbiBsYXllci4KKworICAgQW4gOmNsYXNzOmBTU0xPYmplY3RgIGluc3RhbmNlIGNhbiBiZSBjcmVhdGVkIHVzaW5nIHRoZQorICAgOm1ldGg6YH5TU0xDb250ZXh0LndyYXBfYmlvYCBtZXRob2QuIFRoaXMgbWV0aG9kIHdpbGwgY3JlYXRlIHRoZQorICAgOmNsYXNzOmBTU0xPYmplY3RgIGluc3RhbmNlIGFuZCBiaW5kIGl0IHRvIGEgcGFpciBvZiBCSU9zLiBUaGUgKmluY29taW5nKgorICAgQklPIGlzIHVzZWQgdG8gcGFzcyBkYXRhIGZyb20gUHl0aG9uIHRvIHRoZSBTU0wgcHJvdG9jb2wgaW5zdGFuY2UsIHdoaWxlIHRoZQorICAgKm91dGdvaW5nKiBCSU8gaXMgdXNlZCB0byBwYXNzIGRhdGEgdGhlIG90aGVyIHdheSBhcm91bmQuCisKKyAgIFRoZSBmb2xsb3dpbmcgbWV0aG9kcyBhcmUgYXZhaWxhYmxlOgorCisgICAtIDphdHRyOmB+U1NMU29ja2V0LmNvbnRleHRgCisgICAtIDphdHRyOmB+U1NMU29ja2V0LnNlcnZlcl9zaWRlYAorICAgLSA6YXR0cjpgflNTTFNvY2tldC5zZXJ2ZXJfaG9zdG5hbWVgCisgICAtIDptZXRoOmB+U1NMU29ja2V0LnJlYWRgCisgICAtIDptZXRoOmB+U1NMU29ja2V0LndyaXRlYAorICAgLSA6bWV0aDpgflNTTFNvY2tldC5nZXRwZWVyY2VydGAKKyAgIC0gOm1ldGg6YH5TU0xTb2NrZXQuc2VsZWN0ZWRfbnBuX3Byb3RvY29sYAorICAgLSA6bWV0aDpgflNTTFNvY2tldC5jaXBoZXJgCisgICAtIDptZXRoOmB+U1NMU29ja2V0LnNoYXJlZF9jaXBoZXJzYAorICAgLSA6bWV0aDpgflNTTFNvY2tldC5jb21wcmVzc2lvbmAKKyAgIC0gOm1ldGg6YH5TU0xTb2NrZXQucGVuZGluZ2AKKyAgIC0gOm1ldGg6YH5TU0xTb2NrZXQuZG9faGFuZHNoYWtlYAorICAgLSA6bWV0aDpgflNTTFNvY2tldC51bndyYXBgCisgICAtIDptZXRoOmB+U1NMU29ja2V0LmdldF9jaGFubmVsX2JpbmRpbmdgCisKKyAgIFdoZW4gY29tcGFyZWQgdG8gOmNsYXNzOmBTU0xTb2NrZXRgLCB0aGlzIG9iamVjdCBsYWNrcyB0aGUgZm9sbG93aW5nCisgICBmZWF0dXJlczoKKworICAgLSBBbnkgZm9ybSBvZiBuZXR3b3JrIElPIGluY2x1Z2luZyBtZXRob2RzIHN1Y2ggYXMgYGByZWN2KClgYCBhbmQKKyAgICAgYGBzZW5kKClgYC4KKworICAgLSBUaGVyZSBpcyBubyAqZG9faGFuZHNoYWtlX29uX2Nvbm5lY3QqIG1hY2hpbmVyeS4gWW91IG11c3QgYWx3YXlzIG1hbnVhbGx5CisgICAgIGNhbGwgOm1ldGg6YH5TU0xTb2NrZXQuZG9faGFuZHNoYWtlYCB0byBzdGFydCB0aGUgaGFuZHNoYWtlLgorCisgICAtIFRoZXJlIGlzIG5vIGhhbmRsaW5nIG9mICpzdXBwcmVzc19yYWdnZWRfZW9mcyouIEFsbCBlbmQtb2YtZmlsZSBjb25kaXRpb25zCisgICAgIHRoYXQgYXJlIGluIHZpb2xhdGlvbiBvZiB0aGUgcHJvdG9jb2wgYXJlIHJlcG9ydGVkIHZpYSB0aGUKKyAgICAgOmV4YzpgU1NMRU9GRXJyb3JgIGV4Y2VwdGlvbi4KKworICAgLSBUaGUgbWV0aG9kIDptZXRoOmB+U1NMU29ja2V0LnVud3JhcGAgY2FsbCBkb2VzIG5vdCByZXR1cm4gYW55dGhpbmcsCisgICAgIHVubGlrZSBmb3IgYW4gU1NMIHNvY2tldCB3aGVyZSBpdCByZXR1cm5zIHRoZSB1bmRlcmx5aW5nIHNvY2tldC4KKworICAgLSBUaGUgKnNlcnZlcl9uYW1lX2NhbGxiYWNrKiBjYWxsYmFjayBwYXNzZWQgdG8KKyAgICAgOm1ldGg6YFNTTENvbnRleHQuc2V0X3NlcnZlcm5hbWVfY2FsbGJhY2tgIHdpbGwgZ2V0IGFuIDpjbGFzczpgU1NMT2JqZWN0YAorICAgICBpbnN0YW5jZSBpbnN0ZWFkIG9mIGEgOmNsYXNzOmBTU0xTb2NrZXRgIGluc3RhbmNlIGFzIGl0cyBmaXJzdCBwYXJhbWV0ZXIuCisKKyAgIFNvbWUgbm90ZXMgcmVsYXRlZCB0byB0aGUgdXNlIG9mIDpjbGFzczpgU1NMT2JqZWN0YDoKKworICAgLSBBbGwgSU8gb24gYW4gOmNsYXNzOmBTU0xPYmplY3RgIGlzIDpyZWY6YG5vbi1ibG9ja2luZyA8c3NsLW5vbmJsb2NraW5nPmAuCisgICAgIFRoaXMgbWVhbnMgdGhhdCBmb3IgZXhhbXBsZSA6bWV0aDpgflNTTFNvY2tldC5yZWFkYCB3aWxsIHJhaXNlIGFuCisgICAgIDpleGM6YFNTTFdhbnRSZWFkRXJyb3JgIGlmIGl0IG5lZWRzIG1vcmUgZGF0YSB0aGFuIHRoZSBpbmNvbWluZyBCSU8gaGFzCisgICAgIGF2YWlsYWJsZS4KKworICAgLSBUaGVyZSBpcyBubyBtb2R1bGUtbGV2ZWwgYGB3cmFwX2JpbygpYGAgY2FsbCBsaWtlIHRoZXJlIGlzIGZvcgorICAgICA6bWV0aDpgflNTTENvbnRleHQud3JhcF9zb2NrZXRgLiBBbiA6Y2xhc3M6YFNTTE9iamVjdGAgaXMgYWx3YXlzIGNyZWF0ZWQKKyAgICAgdmlhIGFuIDpjbGFzczpgU1NMQ29udGV4dGAuCisKK0FuIFNTTE9iamVjdCBjb21tdW5pY2F0ZXMgd2l0aCB0aGUgb3V0c2lkZSB3b3JsZCB1c2luZyBtZW1vcnkgYnVmZmVycy4gVGhlCitjbGFzcyA6Y2xhc3M6YE1lbW9yeUJJT2AgcHJvdmlkZXMgYSBtZW1vcnkgYnVmZmVyIHRoYXQgY2FuIGJlIHVzZWQgZm9yIHRoaXMKK3B1cnBvc2UuICBJdCB3cmFwcyBhbiBPcGVuU1NMIG1lbW9yeSBCSU8gKEJhc2ljIElPKSBvYmplY3Q6CisKKy4uIGNsYXNzOjogTWVtb3J5QklPCisKKyAgIEEgbWVtb3J5IGJ1ZmZlciB0aGF0IGNhbiBiZSB1c2VkIHRvIHBhc3MgZGF0YSBiZXR3ZWVuIFB5dGhvbiBhbmQgYW4gU1NMCisgICBwcm90b2NvbCBpbnN0YW5jZS4KKworICAgLi4gYXR0cmlidXRlOjogTWVtb3J5QklPLnBlbmRpbmcKKworICAgICAgUmV0dXJuIHRoZSBudW1iZXIgb2YgYnl0ZXMgY3VycmVudGx5IGluIHRoZSBtZW1vcnkgYnVmZmVyLgorCisgICAuLiBhdHRyaWJ1dGU6OiBNZW1vcnlCSU8uZW9mCisKKyAgICAgIEEgYm9vbGVhbiBpbmRpY2F0aW5nIHdoZXRoZXIgdGhlIG1lbW9yeSBCSU8gaXMgY3VycmVudCBhdCB0aGUgZW5kLW9mLWZpbGUKKyAgICAgIHBvc2l0aW9uLgorCisgICAuLiBtZXRob2Q6OiBNZW1vcnlCSU8ucmVhZChuPS0xKQorCisgICAgICBSZWFkIHVwIHRvICpuKiBieXRlcyBmcm9tIHRoZSBtZW1vcnkgYnVmZmVyLiBJZiAqbiogaXMgbm90IHNwZWNpZmllZCBvcgorICAgICAgbmVnYXRpdmUsIGFsbCBieXRlcyBhcmUgcmV0dXJuZWQuCisKKyAgIC4uIG1ldGhvZDo6IE1lbW9yeUJJTy53cml0ZShidWYpCisKKyAgICAgIFdyaXRlIHRoZSBieXRlcyBmcm9tICpidWYqIHRvIHRoZSBtZW1vcnkgQklPLiBUaGUgKmJ1ZiogYXJndW1lbnQgbXVzdCBiZSBhbgorICAgICAgb2JqZWN0IHN1cHBvcnRpbmcgdGhlIGJ1ZmZlciBwcm90b2NvbC4KKworICAgICAgVGhlIHJldHVybiB2YWx1ZSBpcyB0aGUgbnVtYmVyIG9mIGJ5dGVzIHdyaXR0ZW4sIHdoaWNoIGlzIGFsd2F5cyBlcXVhbCB0bworICAgICAgdGhlIGxlbmd0aCBvZiAqYnVmKi4KKworICAgLi4gbWV0aG9kOjogTWVtb3J5QklPLndyaXRlX2VvZigpCisKKyAgICAgIFdyaXRlIGFuIEVPRiBtYXJrZXIgdG8gdGhlIG1lbW9yeSBCSU8uIEFmdGVyIHRoaXMgbWV0aG9kIGhhcyBiZWVuIGNhbGxlZCwgaXQKKyAgICAgIGlzIGlsbGVnYWwgdG8gY2FsbCA6bWV0aDpgfk1lbW9yeUJJTy53cml0ZWAuIFRoZSBhdHRyaWJ1dGUgOmF0dHI6YGVvZmAgd2lsbAorICAgICAgYmVjb21lIHRydWUgYWZ0ZXIgYWxsIGRhdGEgY3VycmVudGx5IGluIHRoZSBidWZmZXIgaGFzIGJlZW4gcmVhZC4KKworCiAuLiBfc3NsLXNlY3VyaXR5OgogCiBTZWN1cml0eSBjb25zaWRlcmF0aW9ucwpkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvc3RhdC5yc3QgYi9Eb2MvbGlicmFyeS9zdGF0LnJzdAppbmRleCAyNDc2OWY2Li44NDViMmVmIDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS9zdGF0LnJzdAorKysgYi9Eb2MvbGlicmFyeS9zdGF0LnJzdApAQCAtMTI2LDcgKzEyNiw3IEBACiAgICBpZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgogICAgICAgIHdhbGt0cmVlKHN5cy5hcmd2WzFdLCB2aXNpdGZpbGUpCiAKLUFuIGFkZGl0aW9uYWwgdXRpbGl0eSBmdW5jdGlvbiBpcyBwcm92aWRlZCB0byBjb3ZlcnQgYSBmaWxlJ3MgbW9kZSBpbiBhIGh1bWFuCitBbiBhZGRpdGlvbmFsIHV0aWxpdHkgZnVuY3Rpb24gaXMgcHJvdmlkZWQgdG8gY29udmVydCBhIGZpbGUncyBtb2RlIGluIGEgaHVtYW4KIHJlYWRhYmxlIHN0cmluZzoKIAogLi4gZnVuY3Rpb246OiBmaWxlbW9kZShtb2RlKQpAQCAtMzk5LDMgKzM5OSwyOSBAQAogICAgVGhlIGZpbGUgaXMgYSBzbmFwc2hvdCBmaWxlLgogCiBTZWUgdGhlIFwqQlNEIG9yIE1hYyBPUyBzeXN0ZW1zIG1hbiBwYWdlIDptYW5wYWdlOmBjaGZsYWdzKDIpYCBmb3IgbW9yZSBpbmZvcm1hdGlvbi4KKworT24gV2luZG93cywgdGhlIGZvbGxvd2luZyBmaWxlIGF0dHJpYnV0ZSBjb25zdGFudHMgYXJlIGF2YWlsYWJsZSBmb3IgdXNlIHdoZW4KK3Rlc3RpbmcgYml0cyBpbiB0aGUgYGBzdF9maWxlX2F0dHJpYnV0ZXNgYCBtZW1iZXIgcmV0dXJuZWQgYnkgOmZ1bmM6YG9zLnN0YXRgLgorU2VlIHRoZSBgV2luZG93cyBBUEkgZG9jdW1lbnRhdGlvbgorPGh0dHA6Ly9tc2RuLm1pY3Jvc29mdC5jb20vZW4tdXMvbGlicmFyeS93aW5kb3dzL2Rlc2t0b3AvZ2cyNTgxMTcuYXNweD5gXworZm9yIG1vcmUgZGV0YWlsIG9uIHRoZSBtZWFuaW5nIG9mIHRoZXNlIGNvbnN0YW50cy4KKworLi4gZGF0YTo6IEZJTEVfQVRUUklCVVRFX0FSQ0hJVkUKKyAgICAgICAgICBGSUxFX0FUVFJJQlVURV9DT01QUkVTU0VECisgICAgICAgICAgRklMRV9BVFRSSUJVVEVfREVWSUNFCisgICAgICAgICAgRklMRV9BVFRSSUJVVEVfRElSRUNUT1JZCisgICAgICAgICAgRklMRV9BVFRSSUJVVEVfRU5DUllQVEVECisgICAgICAgICAgRklMRV9BVFRSSUJVVEVfSElEREVOCisgICAgICAgICAgRklMRV9BVFRSSUJVVEVfSU5URUdSSVRZX1NUUkVBTQorICAgICAgICAgIEZJTEVfQVRUUklCVVRFX05PUk1BTAorICAgICAgICAgIEZJTEVfQVRUUklCVVRFX05PVF9DT05URU5UX0lOREVYRUQKKyAgICAgICAgICBGSUxFX0FUVFJJQlVURV9OT19TQ1JVQl9EQVRBCisgICAgICAgICAgRklMRV9BVFRSSUJVVEVfT0ZGTElORQorICAgICAgICAgIEZJTEVfQVRUUklCVVRFX1JFQURPTkxZCisgICAgICAgICAgRklMRV9BVFRSSUJVVEVfUkVQQVJTRV9QT0lOVAorICAgICAgICAgIEZJTEVfQVRUUklCVVRFX1NQQVJTRV9GSUxFCisgICAgICAgICAgRklMRV9BVFRSSUJVVEVfU1lTVEVNCisgICAgICAgICAgRklMRV9BVFRSSUJVVEVfVEVNUE9SQVJZCisgICAgICAgICAgRklMRV9BVFRSSUJVVEVfVklSVFVBTAorCisgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjUKZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L3N0ZHR5cGVzLnJzdCBiL0RvYy9saWJyYXJ5L3N0ZHR5cGVzLnJzdAppbmRleCBlMGY4Y2ZhLi41NWY1MzUxIDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS9zdGR0eXBlcy5yc3QKKysrIGIvRG9jL2xpYnJhcnkvc3RkdHlwZXMucnN0CkBAIC0zNTQsNyArMzU0LDcgQEAKICAgIFRoZSBudW1lcmljIGxpdGVyYWxzIGFjY2VwdGVkIGluY2x1ZGUgdGhlIGRpZ2l0cyBgYDBgYCB0byBgYDlgYCBvciBhbnkKICAgIFVuaWNvZGUgZXF1aXZhbGVudCAoY29kZSBwb2ludHMgd2l0aCB0aGUgYGBOZGBgIHByb3BlcnR5KS4KIAotICAgU2VlIGh0dHA6Ly93d3cudW5pY29kZS5vcmcvUHVibGljLzYuMy4wL3VjZC9leHRyYWN0ZWQvRGVyaXZlZE51bWVyaWNUeXBlLnR4dAorICAgU2VlIGh0dHA6Ly93d3cudW5pY29kZS5vcmcvUHVibGljLzcuMC4wL3VjZC9leHRyYWN0ZWQvRGVyaXZlZE51bWVyaWNUeXBlLnR4dAogICAgZm9yIGEgY29tcGxldGUgbGlzdCBvZiBjb2RlIHBvaW50cyB3aXRoIHRoZSBgYE5kYGAgcHJvcGVydHkuCiAKIApAQCAtMzA1Nyw2ICszMDU3LDE5NyBAQAogICAgICAgYWx3YXlzIHByb2R1Y2VzIGEgbmV3IG9iamVjdCwgZXZlbiBpZiBubyBjaGFuZ2VzIHdlcmUgbWFkZS4KIAogCisuLiBfYnl0ZXMtZm9ybWF0dGluZzoKKworYGBwcmludGZgYC1zdHlsZSBCeXRlcyBGb3JtYXR0aW5nCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKy4uIGluZGV4OjoKKyAgIHNpbmdsZTogZm9ybWF0dGluZywgYnl0ZXMgKCUpCisgICBzaW5nbGU6IGZvcm1hdHRpbmcsIGJ5dGVhcnJheSAoJSkKKyAgIHNpbmdsZTogaW50ZXJwb2xhdGlvbiwgYnl0ZXMgKCUpCisgICBzaW5nbGU6IGludGVycG9sYXRpb24sIGJ5dGVhcnJheSAoJSkKKyAgIHNpbmdsZTogYnl0ZXM7IGZvcm1hdHRpbmcKKyAgIHNpbmdsZTogYnl0ZWFycmF5OyBmb3JtYXR0aW5nCisgICBzaW5nbGU6IGJ5dGVzOyBpbnRlcnBvbGF0aW9uCisgICBzaW5nbGU6IGJ5dGVhcnJheTsgaW50ZXJwb2xhdGlvbgorICAgc2luZ2xlOiBwcmludGYtc3R5bGUgZm9ybWF0dGluZworICAgc2luZ2xlOiBzcHJpbnRmLXN0eWxlIGZvcm1hdHRpbmcKKyAgIHNpbmdsZTogJSBmb3JtYXR0aW5nCisgICBzaW5nbGU6ICUgaW50ZXJwb2xhdGlvbgorCisuLiBub3RlOjoKKworICAgVGhlIGZvcm1hdHRpbmcgb3BlcmF0aW9ucyBkZXNjcmliZWQgaGVyZSBleGhpYml0IGEgdmFyaWV0eSBvZiBxdWlya3MgdGhhdAorICAgbGVhZCB0byBhIG51bWJlciBvZiBjb21tb24gZXJyb3JzIChzdWNoIGFzIGZhaWxpbmcgdG8gZGlzcGxheSB0dXBsZXMgYW5kCisgICBkaWN0aW9uYXJpZXMgY29ycmVjdGx5KS4gIElmIHRoZSB2YWx1ZSBiZWluZyBwcmludGVkIG1heSBiZSBhIHR1cGxlIG9yCisgICBkaWN0aW9uYXJ5LCB3cmFwIGl0IGluIGEgdHVwbGUuCisKK0J5dGVzIG9iamVjdHMgKGBgYnl0ZXNgYC9gYGJ5dGVhcnJheWBgKSBoYXZlIG9uZSB1bmlxdWUgYnVpbHQtaW4gb3BlcmF0aW9uOgordGhlIGBgJWBgIG9wZXJhdG9yIChtb2R1bG8pLgorVGhpcyBpcyBhbHNvIGtub3duIGFzIHRoZSBieXRlcyAqZm9ybWF0dGluZyogb3IgKmludGVycG9sYXRpb24qIG9wZXJhdG9yLgorR2l2ZW4gYGBmb3JtYXQgJSB2YWx1ZXNgYCAod2hlcmUgKmZvcm1hdCogaXMgYSBieXRlcyBvYmplY3QpLCBgYCVgYCBjb252ZXJzaW9uCitzcGVjaWZpY2F0aW9ucyBpbiAqZm9ybWF0KiBhcmUgcmVwbGFjZWQgd2l0aCB6ZXJvIG9yIG1vcmUgZWxlbWVudHMgb2YgKnZhbHVlcyouCitUaGUgZWZmZWN0IGlzIHNpbWlsYXIgdG8gdXNpbmcgdGhlIDpjOmZ1bmM6YHNwcmludGZgIGluIHRoZSBDIGxhbmd1YWdlLgorCitJZiAqZm9ybWF0KiByZXF1aXJlcyBhIHNpbmdsZSBhcmd1bWVudCwgKnZhbHVlcyogbWF5IGJlIGEgc2luZ2xlIG5vbi10dXBsZQorb2JqZWN0LiBbNV1fICBPdGhlcndpc2UsICp2YWx1ZXMqIG11c3QgYmUgYSB0dXBsZSB3aXRoIGV4YWN0bHkgdGhlIG51bWJlciBvZgoraXRlbXMgc3BlY2lmaWVkIGJ5IHRoZSBmb3JtYXQgYnl0ZXMgb2JqZWN0LCBvciBhIHNpbmdsZSBtYXBwaW5nIG9iamVjdCAoZm9yCitleGFtcGxlLCBhIGRpY3Rpb25hcnkpLgorCitBIGNvbnZlcnNpb24gc3BlY2lmaWVyIGNvbnRhaW5zIHR3byBvciBtb3JlIGNoYXJhY3RlcnMgYW5kIGhhcyB0aGUgZm9sbG93aW5nCitjb21wb25lbnRzLCB3aGljaCBtdXN0IG9jY3VyIGluIHRoaXMgb3JkZXI6CisKKyMuIFRoZSBgYCclJ2BgIGNoYXJhY3Rlciwgd2hpY2ggbWFya3MgdGhlIHN0YXJ0IG9mIHRoZSBzcGVjaWZpZXIuCisKKyMuIE1hcHBpbmcga2V5IChvcHRpb25hbCksIGNvbnNpc3Rpbmcgb2YgYSBwYXJlbnRoZXNpc2VkIHNlcXVlbmNlIG9mIGNoYXJhY3RlcnMKKyAgIChmb3IgZXhhbXBsZSwgYGAoc29tZW5hbWUpYGApLgorCisjLiBDb252ZXJzaW9uIGZsYWdzIChvcHRpb25hbCksIHdoaWNoIGFmZmVjdCB0aGUgcmVzdWx0IG9mIHNvbWUgY29udmVyc2lvbgorICAgdHlwZXMuCisKKyMuIE1pbmltdW0gZmllbGQgd2lkdGggKG9wdGlvbmFsKS4gIElmIHNwZWNpZmllZCBhcyBhbiBgYCcqJ2BgIChhc3RlcmlzayksIHRoZQorICAgYWN0dWFsIHdpZHRoIGlzIHJlYWQgZnJvbSB0aGUgbmV4dCBlbGVtZW50IG9mIHRoZSB0dXBsZSBpbiAqdmFsdWVzKiwgYW5kIHRoZQorICAgb2JqZWN0IHRvIGNvbnZlcnQgY29tZXMgYWZ0ZXIgdGhlIG1pbmltdW0gZmllbGQgd2lkdGggYW5kIG9wdGlvbmFsIHByZWNpc2lvbi4KKworIy4gUHJlY2lzaW9uIChvcHRpb25hbCksIGdpdmVuIGFzIGEgYGAnLidgYCAoZG90KSBmb2xsb3dlZCBieSB0aGUgcHJlY2lzaW9uLiAgSWYKKyAgIHNwZWNpZmllZCBhcyBgYCcqJ2BgIChhbiBhc3RlcmlzayksIHRoZSBhY3R1YWwgcHJlY2lzaW9uIGlzIHJlYWQgZnJvbSB0aGUgbmV4dAorICAgZWxlbWVudCBvZiB0aGUgdHVwbGUgaW4gKnZhbHVlcyosIGFuZCB0aGUgdmFsdWUgdG8gY29udmVydCBjb21lcyBhZnRlciB0aGUKKyAgIHByZWNpc2lvbi4KKworIy4gTGVuZ3RoIG1vZGlmaWVyIChvcHRpb25hbCkuCisKKyMuIENvbnZlcnNpb24gdHlwZS4KKworV2hlbiB0aGUgcmlnaHQgYXJndW1lbnQgaXMgYSBkaWN0aW9uYXJ5IChvciBvdGhlciBtYXBwaW5nIHR5cGUpLCB0aGVuIHRoZQorZm9ybWF0cyBpbiB0aGUgYnl0ZXMgb2JqZWN0ICptdXN0KiBpbmNsdWRlIGEgcGFyZW50aGVzaXNlZCBtYXBwaW5nIGtleSBpbnRvIHRoYXQKK2RpY3Rpb25hcnkgaW5zZXJ0ZWQgaW1tZWRpYXRlbHkgYWZ0ZXIgdGhlIGBgJyUnYGAgY2hhcmFjdGVyLiBUaGUgbWFwcGluZyBrZXkKK3NlbGVjdHMgdGhlIHZhbHVlIHRvIGJlIGZvcm1hdHRlZCBmcm9tIHRoZSBtYXBwaW5nLiAgRm9yIGV4YW1wbGU6CisKKyAgID4+PiBwcmludChiJyUobGFuZ3VhZ2UpcyBoYXMgJShudW1iZXIpMDNkIHF1b3RlIHR5cGVzLicgJQorICAgLi4uICAgICAgIHtiJ2xhbmd1YWdlJzogYiJQeXRob24iLCBiIm51bWJlciI6IDJ9KQorICAgYidQeXRob24gaGFzIDAwMiBxdW90ZSB0eXBlcy4nCisKK0luIHRoaXMgY2FzZSBubyBgYCpgYCBzcGVjaWZpZXJzIG1heSBvY2N1ciBpbiBhIGZvcm1hdCAoc2luY2UgdGhleSByZXF1aXJlIGEKK3NlcXVlbnRpYWwgcGFyYW1ldGVyIGxpc3QpLgorCitUaGUgY29udmVyc2lvbiBmbGFnIGNoYXJhY3RlcnMgYXJlOgorCisrLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKK3wgRmxhZyAgICB8IE1lYW5pbmcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorKz09PT09PT09PSs9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0rCit8IGBgJyMnYGAgfCBUaGUgdmFsdWUgY29udmVyc2lvbiB3aWxsIHVzZSB0aGUgImFsdGVybmF0ZSBmb3JtIiAod2hlcmUgZGVmaW5lZCAgIHwKK3wgICAgICAgICB8IGJlbG93KS4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCit8IGBgJzAnYGAgfCBUaGUgY29udmVyc2lvbiB3aWxsIGJlIHplcm8gcGFkZGVkIGZvciBudW1lcmljIHZhbHVlcy4gICAgICAgICAgICAgIHwKKystLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworfCBgYCctJ2BgIHwgVGhlIGNvbnZlcnRlZCB2YWx1ZSBpcyBsZWZ0IGFkanVzdGVkIChvdmVycmlkZXMgdGhlIGBgJzAnYGAgICAgICAgICB8Cit8ICAgICAgICAgfCBjb252ZXJzaW9uIGlmIGJvdGggYXJlIGdpdmVuKS4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKystLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworfCBgYCcgJ2BgIHwgKGEgc3BhY2UpIEEgYmxhbmsgc2hvdWxkIGJlIGxlZnQgYmVmb3JlIGEgcG9zaXRpdmUgbnVtYmVyIChvciBlbXB0eSB8Cit8ICAgICAgICAgfCBzdHJpbmcpIHByb2R1Y2VkIGJ5IGEgc2lnbmVkIGNvbnZlcnNpb24uICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKystLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworfCBgYCcrJ2BgIHwgQSBzaWduIGNoYXJhY3RlciAoYGAnKydgYCBvciBgYCctJ2BgKSB3aWxsIHByZWNlZGUgdGhlIGNvbnZlcnNpb24gICB8Cit8ICAgICAgICAgfCAob3ZlcnJpZGVzIGEgInNwYWNlIiBmbGFnKS4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKystLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworCitBIGxlbmd0aCBtb2RpZmllciAoYGBoYGAsIGBgbGBgLCBvciBgYExgYCkgbWF5IGJlIHByZXNlbnQsIGJ1dCBpcyBpZ25vcmVkIGFzIGl0CitpcyBub3QgbmVjZXNzYXJ5IGZvciBQeXRob24gLS0gc28gZS5nLiBgYCVsZGBgIGlzIGlkZW50aWNhbCB0byBgYCVkYGAuCisKK1RoZSBjb252ZXJzaW9uIHR5cGVzIGFyZToKKworKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tKworfCBDb252ZXJzaW9uIHwgTWVhbmluZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgTm90ZXMgfAorKz09PT09PT09PT09PSs9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSs9PT09PT09KworfCBgYCdkJ2BgICAgIHwgU2lnbmVkIGludGVnZXIgZGVjaW1hbC4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgfAorKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tKworfCBgYCdpJ2BgICAgIHwgU2lnbmVkIGludGVnZXIgZGVjaW1hbC4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgfAorKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tKworfCBgYCdvJ2BgICAgIHwgU2lnbmVkIG9jdGFsIHZhbHVlLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgXCgxKSAgfAorKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tKworfCBgYCd1J2BgICAgIHwgT2Jzb2xldGUgdHlwZSAtLSBpdCBpcyBpZGVudGljYWwgdG8gYGAnZCdgYC4gICAgICAgIHwgXCg3KSAgfAorKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tKworfCBgYCd4J2BgICAgIHwgU2lnbmVkIGhleGFkZWNpbWFsIChsb3dlcmNhc2UpLiAgICAgICAgICAgICAgICAgICAgIHwgXCgyKSAgfAorKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tKworfCBgYCdYJ2BgICAgIHwgU2lnbmVkIGhleGFkZWNpbWFsICh1cHBlcmNhc2UpLiAgICAgICAgICAgICAgICAgICAgIHwgXCgyKSAgfAorKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tKworfCBgYCdlJ2BgICAgIHwgRmxvYXRpbmcgcG9pbnQgZXhwb25lbnRpYWwgZm9ybWF0IChsb3dlcmNhc2UpLiAgICAgIHwgXCgzKSAgfAorKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tKworfCBgYCdFJ2BgICAgIHwgRmxvYXRpbmcgcG9pbnQgZXhwb25lbnRpYWwgZm9ybWF0ICh1cHBlcmNhc2UpLiAgICAgIHwgXCgzKSAgfAorKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tKworfCBgYCdmJ2BgICAgIHwgRmxvYXRpbmcgcG9pbnQgZGVjaW1hbCBmb3JtYXQuICAgICAgICAgICAgICAgICAgICAgIHwgXCgzKSAgfAorKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tKworfCBgYCdGJ2BgICAgIHwgRmxvYXRpbmcgcG9pbnQgZGVjaW1hbCBmb3JtYXQuICAgICAgICAgICAgICAgICAgICAgIHwgXCgzKSAgfAorKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tKworfCBgYCdnJ2BgICAgIHwgRmxvYXRpbmcgcG9pbnQgZm9ybWF0LiBVc2VzIGxvd2VyY2FzZSBleHBvbmVudGlhbCAgIHwgXCg0KSAgfAorfCAgICAgICAgICAgIHwgZm9ybWF0IGlmIGV4cG9uZW50IGlzIGxlc3MgdGhhbiAtNCBvciBub3QgbGVzcyB0aGFuIHwgICAgICAgfAorfCAgICAgICAgICAgIHwgcHJlY2lzaW9uLCBkZWNpbWFsIGZvcm1hdCBvdGhlcndpc2UuICAgICAgICAgICAgICAgIHwgICAgICAgfAorKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tKworfCBgYCdHJ2BgICAgIHwgRmxvYXRpbmcgcG9pbnQgZm9ybWF0LiBVc2VzIHVwcGVyY2FzZSBleHBvbmVudGlhbCAgIHwgXCg0KSAgfAorfCAgICAgICAgICAgIHwgZm9ybWF0IGlmIGV4cG9uZW50IGlzIGxlc3MgdGhhbiAtNCBvciBub3QgbGVzcyB0aGFuIHwgICAgICAgfAorfCAgICAgICAgICAgIHwgcHJlY2lzaW9uLCBkZWNpbWFsIGZvcm1hdCBvdGhlcndpc2UuICAgICAgICAgICAgICAgIHwgICAgICAgfAorKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tKworfCBgYCdjJ2BgICAgIHwgU2luZ2xlIGJ5dGUgKGFjY2VwdHMgaW50ZWdlciBvciBzaW5nbGUgICAgICAgICAgICAgIHwgICAgICAgfAorfCAgICAgICAgICAgIHwgYnl0ZSBvYmplY3RzKS4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgfAorKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tKworfCBgYCdiJ2BgICAgIHwgQnl0ZXMgKGFueSBvYmplY3QgdGhhdCBmb2xsb3dzIHRoZSAgICAgICAgICAgICAgICAgIHwgXCg1KSAgfAorfCAgICAgICAgICAgIHwgOnJlZjpgYnVmZmVyIHByb3RvY29sIDxidWZmZXJvYmplY3RzPmAgb3IgaGFzICAgICAgIHwgICAgICAgfAorfCAgICAgICAgICAgIHwgOm1ldGg6YF9fYnl0ZXNfX2ApLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgfAorKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tKworfCBgYCdzJ2BgICAgIHwgYGAncydgYCBpcyBhbiBhbGlhcyBmb3IgYGAnYidgYCBhbmQgc2hvdWxkIG9ubHkgICAgIHwgXCg2KSAgfAorfCAgICAgICAgICAgIHwgYmUgdXNlZCBmb3IgUHl0aG9uMi8zIGNvZGUgYmFzZXMuICAgICAgICAgICAgICAgICAgIHwgICAgICAgfAorKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tKworfCBgYCdhJ2BgICAgIHwgQnl0ZXMgKGNvbnZlcnRzIGFueSBQeXRob24gb2JqZWN0IHVzaW5nICAgICAgICAgICAgIHwgXCg1KSAgfAorfCAgICAgICAgICAgIHwgYGByZXByKG9iaikuZW5jb2RlKCdhc2NpaScsJ2JhY2tzbGFzaHJlcGxhY2UpYGApLiAgIHwgICAgICAgfAorKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tKworfCBgYCclJ2BgICAgIHwgTm8gYXJndW1lbnQgaXMgY29udmVydGVkLCByZXN1bHRzIGluIGEgYGAnJSdgYCAgICAgIHwgICAgICAgfAorfCAgICAgICAgICAgIHwgY2hhcmFjdGVyIGluIHRoZSByZXN1bHQuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgfAorKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tKworCitOb3RlczoKKworKDEpCisgICBUaGUgYWx0ZXJuYXRlIGZvcm0gY2F1c2VzIGEgbGVhZGluZyB6ZXJvIChgYCcwJ2BgKSB0byBiZSBpbnNlcnRlZCBiZXR3ZWVuCisgICBsZWZ0LWhhbmQgcGFkZGluZyBhbmQgdGhlIGZvcm1hdHRpbmcgb2YgdGhlIG51bWJlciBpZiB0aGUgbGVhZGluZyBjaGFyYWN0ZXIKKyAgIG9mIHRoZSByZXN1bHQgaXMgbm90IGFscmVhZHkgYSB6ZXJvLgorCisoMikKKyAgIFRoZSBhbHRlcm5hdGUgZm9ybSBjYXVzZXMgYSBsZWFkaW5nIGBgJzB4J2BgIG9yIGBgJzBYJ2BgIChkZXBlbmRpbmcgb24gd2hldGhlcgorICAgdGhlIGBgJ3gnYGAgb3IgYGAnWCdgYCBmb3JtYXQgd2FzIHVzZWQpIHRvIGJlIGluc2VydGVkIGJldHdlZW4gbGVmdC1oYW5kIHBhZGRpbmcKKyAgIGFuZCB0aGUgZm9ybWF0dGluZyBvZiB0aGUgbnVtYmVyIGlmIHRoZSBsZWFkaW5nIGNoYXJhY3RlciBvZiB0aGUgcmVzdWx0IGlzIG5vdAorICAgYWxyZWFkeSBhIHplcm8uCisKKygzKQorICAgVGhlIGFsdGVybmF0ZSBmb3JtIGNhdXNlcyB0aGUgcmVzdWx0IHRvIGFsd2F5cyBjb250YWluIGEgZGVjaW1hbCBwb2ludCwgZXZlbiBpZgorICAgbm8gZGlnaXRzIGZvbGxvdyBpdC4KKworICAgVGhlIHByZWNpc2lvbiBkZXRlcm1pbmVzIHRoZSBudW1iZXIgb2YgZGlnaXRzIGFmdGVyIHRoZSBkZWNpbWFsIHBvaW50IGFuZAorICAgZGVmYXVsdHMgdG8gNi4KKworKDQpCisgICBUaGUgYWx0ZXJuYXRlIGZvcm0gY2F1c2VzIHRoZSByZXN1bHQgdG8gYWx3YXlzIGNvbnRhaW4gYSBkZWNpbWFsIHBvaW50LCBhbmQKKyAgIHRyYWlsaW5nIHplcm9lcyBhcmUgbm90IHJlbW92ZWQgYXMgdGhleSB3b3VsZCBvdGhlcndpc2UgYmUuCisKKyAgIFRoZSBwcmVjaXNpb24gZGV0ZXJtaW5lcyB0aGUgbnVtYmVyIG9mIHNpZ25pZmljYW50IGRpZ2l0cyBiZWZvcmUgYW5kIGFmdGVyIHRoZQorICAgZGVjaW1hbCBwb2ludCBhbmQgZGVmYXVsdHMgdG8gNi4KKworKDUpCisgICBJZiBwcmVjaXNpb24gaXMgYGBOYGAsIHRoZSBvdXRwdXQgaXMgdHJ1bmNhdGVkIHRvIGBgTmBgIGNoYXJhY3RlcnMuCisKKyg2KQorICAgYGBiJyVzJ2BgIGlzIGRlcHJlY2F0ZWQsIGJ1dCB3aWxsIG5vdCBiZSByZW1vdmVkIGR1cmluZyB0aGUgMy54IHNlcmllcy4KKworKDcpCisgICBTZWUgOnBlcDpgMjM3YC4KKworLi4gbm90ZTo6CisKKyAgIFRoZSBieXRlYXJyYXkgdmVyc2lvbiBvZiB0aGlzIG1ldGhvZCBkb2VzICpub3QqIG9wZXJhdGUgaW4gcGxhY2UgLSBpdAorICAgYWx3YXlzIHByb2R1Y2VzIGEgbmV3IG9iamVjdCwgZXZlbiBpZiBubyBjaGFuZ2VzIHdlcmUgbWFkZS4KKworLi4gc2VlYWxzbzo6IDpwZXA6YDQ2MWAuCisuLiB2ZXJzaW9uYWRkZWQ6OiAzLjUKKwogLi4gX3R5cGVtZW1vcnl2aWV3OgogCiBNZW1vcnkgVmlld3MKZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L3N1YnByb2Nlc3MucnN0IGIvRG9jL2xpYnJhcnkvc3VicHJvY2Vzcy5yc3QKaW5kZXggMzZjYmYzYy4uNDlhODJiZCAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvc3VicHJvY2Vzcy5yc3QKKysrIGIvRG9jL2xpYnJhcnkvc3VicHJvY2Vzcy5yc3QKQEAgLTYzNSw2ICs2MzUsNyBAQAogICAgbXVzdCBiZSBieXRlcyBvciwgaWYgKnVuaXZlcnNhbF9uZXdsaW5lcyogd2FzIGBgVHJ1ZWBgLCBhIHN0cmluZy4KIAogICAgOm1ldGg6YGNvbW11bmljYXRlYCByZXR1cm5zIGEgdHVwbGUgYGAoc3Rkb3V0X2RhdGEsIHN0ZGVycl9kYXRhKWBgLgorICAgVGhlIGRhdGEgd2lsbCBiZSBieXRlcyBvciwgaWYgKnVuaXZlcnNhbF9uZXdsaW5lcyogd2FzIGBgVHJ1ZWBgLCBzdHJpbmdzLgogCiAgICBOb3RlIHRoYXQgaWYgeW91IHdhbnQgdG8gc2VuZCBkYXRhIHRvIHRoZSBwcm9jZXNzJ3Mgc3RkaW4sIHlvdSBuZWVkIHRvIGNyZWF0ZQogICAgdGhlIFBvcGVuIG9iamVjdCB3aXRoIGBgc3RkaW49UElQRWBgLiAgU2ltaWxhcmx5LCB0byBnZXQgYW55dGhpbmcgb3RoZXIgdGhhbgpkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvc3lzLnJzdCBiL0RvYy9saWJyYXJ5L3N5cy5yc3QKaW5kZXggMzAyNDA4Ni4uZmExMjVhMCAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvc3lzLnJzdAorKysgYi9Eb2MvbGlicmFyeS9zeXMucnN0CkBAIC03MTgsNiArNzE4LDE0IEBACiAgICB2YWx1ZSBvZiA6ZnVuYzpgaW50ZXJuYCBhcm91bmQgdG8gYmVuZWZpdCBmcm9tIGl0LgogCiAKKy4uIGZ1bmN0aW9uOjogaXNfZmluYWxpemluZygpCisKKyAgIFJldHVybiA6Y29uc3Q6YFRydWVgIGlmIHRoZSBQeXRob24gaW50ZXJwcmV0ZXIgaXMKKyAgIDp0ZXJtOmBzaHV0dGluZyBkb3duIDxpbnRlcnByZXRlciBzaHV0ZG93bj5gLCA6Y29uc3Q6YEZhbHNlYCBvdGhlcndpc2UuCisKKyAgIC4uIHZlcnNpb25hZGRlZDo6IDMuNQorCisKIC4uIGRhdGE6OiBsYXN0X3R5cGUKICAgICAgICAgICBsYXN0X3ZhbHVlCiAgICAgICAgICAgbGFzdF90cmFjZWJhY2sKZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L3RhcmZpbGUucnN0IGIvRG9jL2xpYnJhcnkvdGFyZmlsZS5yc3QKaW5kZXggNDUzNmVjYS4uNGZkOTRmZCAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvdGFyZmlsZS5yc3QKKysrIGIvRG9jL2xpYnJhcnkvdGFyZmlsZS5yc3QKQEAgLTYyLDYgKzYyLDIzIEBACiAgICArLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKICAgIHwgYGAncjp4eidgYCAgICAgICB8IE9wZW4gZm9yIHJlYWRpbmcgd2l0aCBsem1hIGNvbXByZXNzaW9uLiAgICAgfAogICAgKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCisgICB8IGBgJ3gnYGAgb3IgICAgICAgfCBDcmVhdGUgYSB0YXJmaWxlIGV4Y2x1c2l2ZWx5IHdpdGhvdXQgICAgICAgIHwKKyAgIHwgYGAneDonYGAgICAgICAgICB8IGNvbXByZXNzaW9uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorICAgfCAgICAgICAgICAgICAgICAgIHwgUmFpc2UgYW4gOmV4YzpgRmlsZUV4aXN0c0Vycm9yYCBleGNlcHRpb24gICB8CisgICB8ICAgICAgICAgICAgICAgICAgfCBpZiBpdCBpcyBhbHJlYWR5IGV4aXN0cy4gICAgICAgICAgICAgICAgICAgIHwKKyAgICstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworICAgfCBgYCd4Omd6J2BgICAgICAgIHwgQ3JlYXRlIGEgdGFyZmlsZSB3aXRoIGd6aXAgY29tcHJlc3Npb24uICAgICB8CisgICB8ICAgICAgICAgICAgICAgICAgfCBSYWlzZSBhbiA6ZXhjOmBGaWxlRXhpc3RzRXJyb3JgIGV4Y2VwdGlvbiAgIHwKKyAgIHwgICAgICAgICAgICAgICAgICB8IGlmIGl0IGlzIGFscmVhZHkgZXhpc3RzLiAgICAgICAgICAgICAgICAgICAgfAorICAgKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCisgICB8IGBgJ3g6YnoyJ2BgICAgICAgfCBDcmVhdGUgYSB0YXJmaWxlIHdpdGggYnppcDIgY29tcHJlc3Npb24uICAgIHwKKyAgIHwgICAgICAgICAgICAgICAgICB8IFJhaXNlIGFuIDpleGM6YEZpbGVFeGlzdHNFcnJvcmAgZXhjZXB0aW9uICAgfAorICAgfCAgICAgICAgICAgICAgICAgIHwgaWYgaXQgaXMgYWxyZWFkeSBleGlzdHMuICAgICAgICAgICAgICAgICAgICB8CisgICArLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKKyAgIHwgYGAneDp4eidgYCAgICAgICB8IENyZWF0ZSBhIHRhcmZpbGUgd2l0aCBsem1hIGNvbXByZXNzaW9uLiAgICAgfAorICAgfCAgICAgICAgICAgICAgICAgIHwgUmFpc2UgYW4gOmV4YzpgRmlsZUV4aXN0c0Vycm9yYCBleGNlcHRpb24gICB8CisgICB8ICAgICAgICAgICAgICAgICAgfCBpZiBpdCBpcyBhbHJlYWR5IGV4aXN0cy4gICAgICAgICAgICAgICAgICAgIHwKKyAgICstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwogICAgfCBgYCdhJyBvciAnYTonYGAgIHwgT3BlbiBmb3IgYXBwZW5kaW5nIHdpdGggbm8gY29tcHJlc3Npb24uIFRoZSB8CiAgICB8ICAgICAgICAgICAgICAgICAgfCBmaWxlIGlzIGNyZWF0ZWQgaWYgaXQgZG9lcyBub3QgZXhpc3QuICAgICAgIHwKICAgICstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwpAQCAtODIsOSArOTksOSBAQAogICAgSWYgKmZpbGVvYmoqIGlzIHNwZWNpZmllZCwgaXQgaXMgdXNlZCBhcyBhbiBhbHRlcm5hdGl2ZSB0byBhIDp0ZXJtOmBmaWxlIG9iamVjdGAKICAgIG9wZW5lZCBpbiBiaW5hcnkgbW9kZSBmb3IgKm5hbWUqLiBJdCBpcyBzdXBwb3NlZCB0byBiZSBhdCBwb3NpdGlvbiAwLgogCi0gICBGb3IgbW9kZXMgYGAndzpneidgYCwgYGAncjpneidgYCwgYGAndzpiejInYGAsIGBgJ3I6YnoyJ2BgLCA6ZnVuYzpgdGFyZmlsZS5vcGVuYAotICAgYWNjZXB0cyB0aGUga2V5d29yZCBhcmd1bWVudCAqY29tcHJlc3NsZXZlbCogdG8gc3BlY2lmeSB0aGUgY29tcHJlc3Npb24gbGV2ZWwgb2YKLSAgIHRoZSBmaWxlLgorICAgRm9yIG1vZGVzIGBgJ3c6Z3onYGAsIGBgJ3I6Z3onYGAsIGBgJ3c6YnoyJ2BgLCBgYCdyOmJ6MidgYCwgYGAneDpneidgYCwKKyAgIGBgJ3g6YnoyJ2BgLCA6ZnVuYzpgdGFyZmlsZS5vcGVuYCBhY2NlcHRzIHRoZSBrZXl3b3JkIGFyZ3VtZW50CisgICAqY29tcHJlc3NsZXZlbCogdG8gc3BlY2lmeSB0aGUgY29tcHJlc3Npb24gbGV2ZWwgb2YgdGhlIGZpbGUuCiAKICAgIEZvciBzcGVjaWFsIHB1cnBvc2VzLCB0aGVyZSBpcyBhIHNlY29uZCBmb3JtYXQgZm9yICptb2RlKjoKICAgIGBgJ2ZpbGVtb2RlfFtjb21wcmVzc2lvbl0nYGAuICA6ZnVuYzpgdGFyZmlsZS5vcGVuYCB3aWxsIHJldHVybiBhIDpjbGFzczpgVGFyRmlsZWAKQEAgLTEyNyw2ICsxNDQsOCBAQAogICAgfCAgICAgICAgICAgICB8IHdyaXRpbmcuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CiAgICArLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKIAorICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjUKKyAgICAgIFRoZSBgYCd4J2BgIChleGNsdXNpdmUgY3JlYXRpb24pIG1vZGUgd2FzIGFkZGVkLgogCiAuLiBjbGFzczo6IFRhckZpbGUKIApAQCAtMjUyLDggKzI3MSw4IEBACiAgICBJbiB0aGlzIGNhc2UsIHRoZSBmaWxlIG9iamVjdCdzIDphdHRyOmBuYW1lYCBhdHRyaWJ1dGUgaXMgdXNlZCBpZiBpdCBleGlzdHMuCiAKICAgICptb2RlKiBpcyBlaXRoZXIgYGAncidgYCB0byByZWFkIGZyb20gYW4gZXhpc3RpbmcgYXJjaGl2ZSwgYGAnYSdgYCB0byBhcHBlbmQKLSAgIGRhdGEgdG8gYW4gZXhpc3RpbmcgZmlsZSBvciBgYCd3J2BgIHRvIGNyZWF0ZSBhIG5ldyBmaWxlIG92ZXJ3cml0aW5nIGFuIGV4aXN0aW5nCi0gICBvbmUuCisgICBkYXRhIHRvIGFuIGV4aXN0aW5nIGZpbGUsIGBgJ3cnYGAgdG8gY3JlYXRlIGEgbmV3IGZpbGUgb3ZlcndyaXRpbmcgYW4gZXhpc3RpbmcKKyAgIG9uZSBvciBgYCd4J2BgIHRvIGNyZWF0ZSBhIG5ldyBmaWxlIG9ubHkgaWYgaXQncyBub3QgZXhpc3RzLgogCiAgICBJZiAqZmlsZW9iaiogaXMgZ2l2ZW4sIGl0IGlzIHVzZWQgZm9yIHJlYWRpbmcgb3Igd3JpdGluZyBkYXRhLiBJZiBpdCBjYW4gYmUKICAgIGRldGVybWluZWQsICptb2RlKiBpcyBvdmVycmlkZGVuIGJ5ICpmaWxlb2JqKidzIG1vZGUuICpmaWxlb2JqKiB3aWxsIGJlIHVzZWQKQEAgLTI5MiwxMiArMzExLDE0IEBACiAgICB0byBiZSBoYW5kbGVkLiBUaGUgZGVmYXVsdCBzZXR0aW5ncyB3aWxsIHdvcmsgZm9yIG1vc3QgdXNlcnMuCiAgICBTZWUgc2VjdGlvbiA6cmVmOmB0YXItdW5pY29kZWAgZm9yIGluLWRlcHRoIGluZm9ybWF0aW9uLgogCi0gICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuMgotICAgICAgVXNlIGBgJ3N1cnJvZ2F0ZWVzY2FwZSdgYCBhcyB0aGUgZGVmYXVsdCBmb3IgdGhlICplcnJvcnMqIGFyZ3VtZW50LgotCiAgICBUaGUgKnBheF9oZWFkZXJzKiBhcmd1bWVudCBpcyBhbiBvcHRpb25hbCBkaWN0aW9uYXJ5IG9mIHN0cmluZ3Mgd2hpY2gKICAgIHdpbGwgYmUgYWRkZWQgYXMgYSBwYXggZ2xvYmFsIGhlYWRlciBpZiAqZm9ybWF0KiBpcyA6Y29uc3Q6YFBBWF9GT1JNQVRgLgogCisgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuMgorICAgICAgVXNlIGBgJ3N1cnJvZ2F0ZWVzY2FwZSdgYCBhcyB0aGUgZGVmYXVsdCBmb3IgdGhlICplcnJvcnMqIGFyZ3VtZW50LgorCisgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuNQorICAgICAgVGhlIGBgJ3gnYGAgKGV4Y2x1c2l2ZSBjcmVhdGlvbikgbW9kZSB3YXMgYWRkZWQuCiAKIC4uIGNsYXNzbWV0aG9kOjogVGFyRmlsZS5vcGVuKC4uLikKIApAQCAtMzI4LDExICszNDksMTUgQEAKICAgIHJldHVybmVkIGJ5IDptZXRoOmBnZXRtZW1iZXJzYC4KIAogCi0uLiBtZXRob2Q6OiBUYXJGaWxlLmxpc3QodmVyYm9zZT1UcnVlKQorLi4gbWV0aG9kOjogVGFyRmlsZS5saXN0KHZlcmJvc2U9VHJ1ZSwgKiwgbWVtYmVycz1Ob25lKQogCiAgICBQcmludCBhIHRhYmxlIG9mIGNvbnRlbnRzIHRvIGBgc3lzLnN0ZG91dGBgLiBJZiAqdmVyYm9zZSogaXMgOmNvbnN0OmBGYWxzZWAsCiAgICBvbmx5IHRoZSBuYW1lcyBvZiB0aGUgbWVtYmVycyBhcmUgcHJpbnRlZC4gSWYgaXQgaXMgOmNvbnN0OmBUcnVlYCwgb3V0cHV0Ci0gICBzaW1pbGFyIHRvIHRoYXQgb2YgOnByb2dyYW06YGxzIC1sYCBpcyBwcm9kdWNlZC4KKyAgIHNpbWlsYXIgdG8gdGhhdCBvZiA6cHJvZ3JhbTpgbHMgLWxgIGlzIHByb2R1Y2VkLiBJZiBvcHRpb25hbCAqbWVtYmVycyogaXMKKyAgIGdpdmVuLCBpdCBtdXN0IGJlIGEgc3Vic2V0IG9mIHRoZSBsaXN0IHJldHVybmVkIGJ5IDptZXRoOmBnZXRtZW1iZXJzYC4KKworICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjUKKyAgICAgIEFkZGVkIHRoZSAqbWVtYmVycyogcGFyYW1ldGVyLgogCiAKIC4uIG1ldGhvZDo6IFRhckZpbGUubmV4dCgpCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS90ZW1wZmlsZS5yc3QgYi9Eb2MvbGlicmFyeS90ZW1wZmlsZS5yc3QKaW5kZXggNDRkMDI1ZC4uMmM2ODM3NyAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvdGVtcGZpbGUucnN0CisrKyBiL0RvYy9saWJyYXJ5L3RlbXBmaWxlLnJzdApAQCAtNTQsNiArNTQsMTMgQEAKICAgIHVuZGVybHlpbmcgdHJ1ZSBmaWxlIG9iamVjdC4gVGhpcyBmaWxlLWxpa2Ugb2JqZWN0IGNhbiBiZSB1c2VkIGluIGEKICAgIDprZXl3b3JkOmB3aXRoYCBzdGF0ZW1lbnQsIGp1c3QgbGlrZSBhIG5vcm1hbCBmaWxlLgogCisgICBUaGUgOnB5OmRhdGE6YG9zLk9fVE1QRklMRWAgZmxhZyBpcyB1c2VkIGlmIGl0IGlzIGF2YWlsYWJsZSBhbmQgd29ya3MKKyAgIChMaW51eC1zcGVjaWZpYywgcmVxdWlyZSBMaW51eCBrZXJuZWwgMy4xMSBvciBsYXRlcikuCisKKyAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy41CisKKyAgICAgIFRoZSA6cHk6ZGF0YTpgb3MuT19UTVBGSUxFYCBmbGFnIGlzIG5vdyB1c2VkIGlmIGF2YWlsYWJsZS4KKwogCiAuLiBmdW5jdGlvbjo6IE5hbWVkVGVtcG9yYXJ5RmlsZShtb2RlPSd3K2InLCBidWZmZXJpbmc9Tm9uZSwgZW5jb2Rpbmc9Tm9uZSwgbmV3bGluZT1Ob25lLCBzdWZmaXg9JycsIHByZWZpeD0ndG1wJywgZGlyPU5vbmUsIGRlbGV0ZT1UcnVlKQogCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS90aHJlYWRpbmcucnN0IGIvRG9jL2xpYnJhcnkvdGhyZWFkaW5nLnJzdAppbmRleCBmNTlmZmU1Li5lN2EzNTQ0IDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS90aHJlYWRpbmcucnN0CisrKyBiL0RvYy9saWJyYXJ5L3RocmVhZGluZy5yc3QKQEAgLTYzMCw3ICs2MzAsNyBAQAogICAgICAgICAgICAgY3Yud2FpdCgpCiAKICAgICAgIFRoZXJlZm9yZSwgdGhlIHNhbWUgcnVsZXMgYXBwbHkgYXMgd2l0aCA6bWV0aDpgd2FpdGA6IFRoZSBsb2NrIG11c3QgYmUKLSAgICAgIGhlbGQgd2hlbiBjYWxsZWQgYW5kIGlzIHJlLWFxdWlyZWQgb24gcmV0dXJuLiAgVGhlIHByZWRpY2F0ZSBpcyBldmFsdWF0ZWQKKyAgICAgIGhlbGQgd2hlbiBjYWxsZWQgYW5kIGlzIHJlLWFjcXVpcmVkIG9uIHJldHVybi4gIFRoZSBwcmVkaWNhdGUgaXMgZXZhbHVhdGVkCiAgICAgICB3aXRoIHRoZSBsb2NrIGhlbGQuCiAKICAgICAgIC4uIHZlcnNpb25hZGRlZDo6IDMuMgpkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvdGltZS5yc3QgYi9Eb2MvbGlicmFyeS90aW1lLnJzdAppbmRleCA4ZDhiN2Q0Li42YmZkNTIxIDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS90aW1lLnJzdAorKysgYi9Eb2MvbGlicmFyeS90aW1lLnJzdApAQCAtMzE0LDkgKzMxNCw5IEBACiAgICBwcm9jZXNzZXMgcnVubmluZyBmb3IgbW9yZSB0aGFuIDQ5IGRheXMuIE9uIG1vcmUgcmVjZW50IHZlcnNpb25zIG9mIFdpbmRvd3MKICAgIGFuZCBvbiBvdGhlciBvcGVyYXRpbmcgc3lzdGVtcywgOmZ1bmM6YG1vbm90b25pY2AgaXMgc3lzdGVtLXdpZGUuCiAKLSAgIEF2YWlsYWJpbGl0eTogV2luZG93cywgTWFjIE9TIFgsIExpbnV4LCBGcmVlQlNELCBPcGVuQlNELCBTb2xhcmlzLgotCiAgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjMKKyAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy41CisgICAgICBUaGUgZnVuY3Rpb24gaXMgbm93IGFsd2F5cyBhdmFpbGFibGUuCiAKIAogLi4gZnVuY3Rpb246OiBwZXJmX2NvdW50ZXIoKQpkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvdGltZWl0LnJzdCBiL0RvYy9saWJyYXJ5L3RpbWVpdC5yc3QKaW5kZXggNTAzYTcwNS4uMTc1ODhiZCAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvdGltZWl0LnJzdAorKysgYi9Eb2MvbGlicmFyeS90aW1laXQucnN0CkBAIC01OSwxOCArNTksMjYgQEAKIFRoZSBtb2R1bGUgZGVmaW5lcyB0aHJlZSBjb252ZW5pZW5jZSBmdW5jdGlvbnMgYW5kIGEgcHVibGljIGNsYXNzOgogCiAKLS4uIGZ1bmN0aW9uOjogdGltZWl0KHN0bXQ9J3Bhc3MnLCBzZXR1cD0ncGFzcycsIHRpbWVyPTxkZWZhdWx0IHRpbWVyPiwgbnVtYmVyPTEwMDAwMDApCisuLiBmdW5jdGlvbjo6IHRpbWVpdChzdG10PSdwYXNzJywgc2V0dXA9J3Bhc3MnLCB0aW1lcj08ZGVmYXVsdCB0aW1lcj4sIG51bWJlcj0xMDAwMDAwLCBnbG9iYWxzPU5vbmUpCiAKICAgIENyZWF0ZSBhIDpjbGFzczpgVGltZXJgIGluc3RhbmNlIHdpdGggdGhlIGdpdmVuIHN0YXRlbWVudCwgKnNldHVwKiBjb2RlIGFuZAogICAgKnRpbWVyKiBmdW5jdGlvbiBhbmQgcnVuIGl0cyA6bWV0aDpgLnRpbWVpdGAgbWV0aG9kIHdpdGggKm51bWJlciogZXhlY3V0aW9ucy4KKyAgIFRoZSBvcHRpb25hbCAqZ2xvYmFscyogYXJndW1lbnQgc3BlY2lmaWVzIGEgbmFtZXNwYWNlIGluIHdoaWNoIHRvIGV4ZWN1dGUgdGhlCisgICBjb2RlLgorCisgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuNQorICAgICAgVGhlIG9wdGlvbmFsICpnbG9iYWxzKiBwYXJhbWV0ZXIgd2FzIGFkZGVkLgogCiAKLS4uIGZ1bmN0aW9uOjogcmVwZWF0KHN0bXQ9J3Bhc3MnLCBzZXR1cD0ncGFzcycsIHRpbWVyPTxkZWZhdWx0IHRpbWVyPiwgcmVwZWF0PTMsIG51bWJlcj0xMDAwMDAwKQorLi4gZnVuY3Rpb246OiByZXBlYXQoc3RtdD0ncGFzcycsIHNldHVwPSdwYXNzJywgdGltZXI9PGRlZmF1bHQgdGltZXI+LCByZXBlYXQ9MywgbnVtYmVyPTEwMDAwMDAsIGdsb2JhbHM9Tm9uZSkKIAogICAgQ3JlYXRlIGEgOmNsYXNzOmBUaW1lcmAgaW5zdGFuY2Ugd2l0aCB0aGUgZ2l2ZW4gc3RhdGVtZW50LCAqc2V0dXAqIGNvZGUgYW5kCiAgICAqdGltZXIqIGZ1bmN0aW9uIGFuZCBydW4gaXRzIDptZXRoOmAucmVwZWF0YCBtZXRob2Qgd2l0aCB0aGUgZ2l2ZW4gKnJlcGVhdCoKLSAgIGNvdW50IGFuZCAqbnVtYmVyKiBleGVjdXRpb25zLgorICAgY291bnQgYW5kICpudW1iZXIqIGV4ZWN1dGlvbnMuICBUaGUgb3B0aW9uYWwgKmdsb2JhbHMqIGFyZ3VtZW50IHNwZWNpZmllcyBhCisgICBuYW1lc3BhY2UgaW4gd2hpY2ggdG8gZXhlY3V0ZSB0aGUgY29kZS4KIAorICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjUKKyAgICAgIFRoZSBvcHRpb25hbCAqZ2xvYmFscyogcGFyYW1ldGVyIHdhcyBhZGRlZC4KIAogLi4gZnVuY3Rpb246OiBkZWZhdWx0X3RpbWVyKCkKIApAQCAtODAsNyArODgsNyBAQAogICAgICAgOmZ1bmM6YHRpbWUucGVyZl9jb3VudGVyYCBpcyBub3cgdGhlIGRlZmF1bHQgdGltZXIuCiAKIAotLi4gY2xhc3M6OiBUaW1lcihzdG10PSdwYXNzJywgc2V0dXA9J3Bhc3MnLCB0aW1lcj08dGltZXIgZnVuY3Rpb24+KQorLi4gY2xhc3M6OiBUaW1lcihzdG10PSdwYXNzJywgc2V0dXA9J3Bhc3MnLCB0aW1lcj08dGltZXIgZnVuY3Rpb24+LCBnbG9iYWxzPU5vbmUpCiAKICAgIENsYXNzIGZvciB0aW1pbmcgZXhlY3V0aW9uIHNwZWVkIG9mIHNtYWxsIGNvZGUgc25pcHBldHMuCiAKQEAgLTg4LDcgKzk2LDkgQEAKICAgIGZvciBzZXR1cCwgYW5kIGEgdGltZXIgZnVuY3Rpb24uICBCb3RoIHN0YXRlbWVudHMgZGVmYXVsdCB0byBgYCdwYXNzJ2BgOwogICAgdGhlIHRpbWVyIGZ1bmN0aW9uIGlzIHBsYXRmb3JtLWRlcGVuZGVudCAoc2VlIHRoZSBtb2R1bGUgZG9jIHN0cmluZykuCiAgICAqc3RtdCogYW5kICpzZXR1cCogbWF5IGFsc28gY29udGFpbiBtdWx0aXBsZSBzdGF0ZW1lbnRzIHNlcGFyYXRlZCBieSBgYDtgYAotICAgb3IgbmV3bGluZXMsIGFzIGxvbmcgYXMgdGhleSBkb24ndCBjb250YWluIG11bHRpLWxpbmUgc3RyaW5nIGxpdGVyYWxzLgorICAgb3IgbmV3bGluZXMsIGFzIGxvbmcgYXMgdGhleSBkb24ndCBjb250YWluIG11bHRpLWxpbmUgc3RyaW5nIGxpdGVyYWxzLiAgVGhlCisgICBzdGF0ZW1lbnQgd2lsbCBieSBkZWZhdWx0IGJlIGV4ZWN1dGVkIHdpdGhpbiB0aW1laXQncyBuYW1lc3BhY2U7IHRoaXMgYmVoYXZpb3IKKyAgIGNhbiBiZSBjb250cm9sbGVkIGJ5IHBhc3NpbmcgYSBuYW1lc3BhY2UgdG8gKmdsb2JhbHMqLgogCiAgICBUbyBtZWFzdXJlIHRoZSBleGVjdXRpb24gdGltZSBvZiB0aGUgZmlyc3Qgc3RhdGVtZW50LCB1c2UgdGhlIDptZXRoOmAudGltZWl0YAogICAgbWV0aG9kLiAgVGhlIDptZXRoOmAucmVwZWF0YCBtZXRob2QgaXMgYSBjb252ZW5pZW5jZSB0byBjYWxsIDptZXRoOmAudGltZWl0YApAQCAtOTksNiArMTA5LDggQEAKICAgIHdpbGwgdGhlbiBiZSBleGVjdXRlZCBieSA6bWV0aDpgLnRpbWVpdGAuICBOb3RlIHRoYXQgdGhlIHRpbWluZyBvdmVyaGVhZCBpcyBhCiAgICBsaXR0bGUgbGFyZ2VyIGluIHRoaXMgY2FzZSBiZWNhdXNlIG9mIHRoZSBleHRyYSBmdW5jdGlvbiBjYWxscy4KIAorICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjUKKyAgICAgIFRoZSBvcHRpb25hbCAqZ2xvYmFscyogcGFyYW1ldGVyIHdhcyBhZGRlZC4KIAogICAgLi4gbWV0aG9kOjogVGltZXIudGltZWl0KG51bWJlcj0xMDAwMDAwKQogCkBAIC0zMTgsMyArMzMwLDE3IEBACiAgICBpZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgogICAgICAgIGltcG9ydCB0aW1laXQKICAgICAgICBwcmludCh0aW1laXQudGltZWl0KCJ0ZXN0KCkiLCBzZXR1cD0iZnJvbSBfX21haW5fXyBpbXBvcnQgdGVzdCIpKQorCitBbm90aGVyIG9wdGlvbiBpcyB0byBwYXNzIDpmdW5jOmBnbG9iYWxzYCB0byB0aGUgICpnbG9iYWxzKiBwYXJhbWV0ZXIsIHdoaWNoIHdpbGwgY2F1c2UgdGhlIGNvZGUKK3RvIGJlIGV4ZWN1dGVkIHdpdGhpbiB5b3VyIGN1cnJlbnQgZ2xvYmFsIG5hbWVzcGFjZS4gIFRoaXMgY2FuIGJlIG1vcmUgY29udmVuaWVudAordGhhbiBpbmRpdmlkdWFsbHkgc3BlY2lmeWluZyBpbXBvcnRzOjoKKworICAgZGVmIGYoeCk6CisgICAgICAgcmV0dXJuIHgqKjIKKyAgIGRlZiBnKHgpOgorICAgICAgIHJldHVybiB4Kio0CisgICBkZWYgaCh4KToKKyAgICAgICByZXR1cm4geCoqOAorCisgICBpbXBvcnQgdGltZWl0CisgICBwcmludCh0aW1laXQudGltZWl0KCdbZnVuYyg0MikgZm9yIGZ1bmMgaW4gKGYsZyxoKV0nLCBnbG9iYWxzPWdsb2JhbHMoKSkpCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS90a2ludGVyLnR0ay5yc3QgYi9Eb2MvbGlicmFyeS90a2ludGVyLnR0ay5yc3QKaW5kZXggNmY4YmYxYy4uYjBlZWZjYiAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvdGtpbnRlci50dGsucnN0CisrKyBiL0RvYy9saWJyYXJ5L3RraW50ZXIudHRrLnJzdApAQCAtMTE2Nyw3ICsxMTY3LDcgQEAKIEVhY2ggd2lkZ2V0IGluIDptb2Q6YHR0a2AgaXMgYXNzaWduZWQgYSBzdHlsZSwgd2hpY2ggc3BlY2lmaWVzIHRoZSBzZXQgb2YKIGVsZW1lbnRzIG1ha2luZyB1cCB0aGUgd2lkZ2V0IGFuZCBob3cgdGhleSBhcmUgYXJyYW5nZWQsIGFsb25nIHdpdGggZHluYW1pYwogYW5kIGRlZmF1bHQgc2V0dGluZ3MgZm9yIGVsZW1lbnQgb3B0aW9ucy4gQnkgZGVmYXVsdCB0aGUgc3R5bGUgbmFtZSBpcyB0aGUKLXNhbWUgYXMgdGhlIHdpZGdldCdzIGNsYXNzIG5hbWUsIGJ1dCBpdCBtYXkgYmUgb3ZlcnJpZGVuIGJ5IHRoZSB3aWRnZXQncyBzdHlsZQorc2FtZSBhcyB0aGUgd2lkZ2V0J3MgY2xhc3MgbmFtZSwgYnV0IGl0IG1heSBiZSBvdmVycmlkZGVuIGJ5IHRoZSB3aWRnZXQncyBzdHlsZQogb3B0aW9uLiBJZiB5b3UgZG9uJ3Qga25vdyB0aGUgY2xhc3MgbmFtZSBvZiBhIHdpZGdldCwgdXNlIHRoZSBtZXRob2QKIDptZXRoOmBNaXNjLndpbmZvX2NsYXNzYCAoc29tZXdpZGdldC53aW5mb19jbGFzcygpKS4KIApkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvdG9rZW4ucnN0IGIvRG9jL2xpYnJhcnkvdG9rZW4ucnN0CmluZGV4IDRjZDcwOTguLjg4ZmIzOGIgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L3Rva2VuLnJzdAorKysgYi9Eb2MvbGlicmFyeS90b2tlbi5yc3QKQEAgLTkzLDYgKzkzLDcgQEAKICAgICAgICAgICBET1VCTEVTTEFTSAogICAgICAgICAgIERPVUJMRVNMQVNIRVFVQUwKICAgICAgICAgICBBVAorICAgICAgICAgIEFURVFVQUwKICAgICAgICAgICBSQVJST1cKICAgICAgICAgICBFTExJUFNJUwogICAgICAgICAgIE9QCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS90cmFjZW1hbGxvYy5yc3QgYi9Eb2MvbGlicmFyeS90cmFjZW1hbGxvYy5yc3QKaW5kZXggNTUyZTg0Yi4uYTA0YTQzMiAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvdHJhY2VtYWxsb2MucnN0CisrKyBiL0RvYy9saWJyYXJ5L3RyYWNlbWFsbG9jLnJzdApAQCAtMzUwLDcgKzM1MCw3IEBACiAgICB0aGUgKm5mcmFtZSogcGFyYW1ldGVyIG9mIHRoZSA6ZnVuYzpgc3RhcnRgIGZ1bmN0aW9uIHRvIHN0b3JlIG1vcmUgZnJhbWVzLgogCiAgICBUaGUgOm1vZDpgdHJhY2VtYWxsb2NgIG1vZHVsZSBtdXN0IGJlIHRyYWNpbmcgbWVtb3J5IGFsbG9jYXRpb25zIHRvIHRha2UgYQotICAgc25hcHNob3QsIHNlZSB0aGUgdGhlIDpmdW5jOmBzdGFydGAgZnVuY3Rpb24uCisgICBzbmFwc2hvdCwgc2VlIHRoZSA6ZnVuYzpgc3RhcnRgIGZ1bmN0aW9uLgogCiAgICBTZWUgYWxzbyB0aGUgOmZ1bmM6YGdldF9vYmplY3RfdHJhY2ViYWNrYCBmdW5jdGlvbi4KIApkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvdHVydGxlLnJzdCBiL0RvYy9saWJyYXJ5L3R1cnRsZS5yc3QKaW5kZXggNTg5OWYzZC4uMTU3ZmU5MyAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvdHVydGxlLnJzdAorKysgYi9Eb2MvbGlicmFyeS90dXJ0bGUucnN0CkBAIC0xODA5LDcgKzE4MDksNyBAQAogCiAgICBQb3AgdXAgYSBkaWFsb2cgd2luZG93IGZvciBpbnB1dCBvZiBhIG51bWJlci4gdGl0bGUgaXMgdGhlIHRpdGxlIG9mIHRoZQogICAgZGlhbG9nIHdpbmRvdywgcHJvbXB0IGlzIGEgdGV4dCBtb3N0bHkgZGVzY3JpYmluZyB3aGF0IG51bWVyaWNhbCBpbmZvcm1hdGlvbgotICAgdG8gaW5wdXQuIGRlZmF1bHQ6IGRlZmF1bHQgdmFsdWUsIG1pbnZhbDogbWluaW11bSB2YWx1ZSBmb3IgaW1wdXQsCisgICB0byBpbnB1dC4gZGVmYXVsdDogZGVmYXVsdCB2YWx1ZSwgbWludmFsOiBtaW5pbXVtIHZhbHVlIGZvciBpbnB1dCwKICAgIG1heHZhbDogbWF4aW11bSB2YWx1ZSBmb3IgaW5wdXQKICAgIFRoZSBudW1iZXIgaW5wdXQgbXVzdCBiZSBpbiB0aGUgcmFuZ2UgbWludmFsIC4uIG1heHZhbCBpZiB0aGVzZSBhcmUKICAgIGdpdmVuLiBJZiBub3QsIGEgaGludCBpcyBpc3N1ZWQgYW5kIHRoZSBkaWFsb2cgcmVtYWlucyBvcGVuIGZvcgpAQCAtMTg3OSw3ICsxODc5LDcgQEAKIAogICAgICAgPj4+IGN2ID0gc2NyZWVuLmdldGNhbnZhcygpCiAgICAgICA+Pj4gY3YKLSAgICAgIDx0dXJ0bGUuU2Nyb2xsZWRDYW52YXMgb2JqZWN0IGF0IC4uLj4KKyAgICAgIDx0dXJ0bGUuU2Nyb2xsZWRDYW52YXMgb2JqZWN0IC4uLj4KIAogCiAuLiBmdW5jdGlvbjo6IGdldHNoYXBlcygpCkBAIC0yNDAyLDcgKzI0MDIsNyBAQAogICBBY2NvcmRpbmdseSB0aGUgbGF0dGVyIGhhcyBnb3QgYW4gYWxpYXM6IDptZXRoOmBTY3JlZW4ub25rZXlyZWxlYXNlYC4KIAogLSBUaGUgbWV0aG9kICA6bWV0aDpgU2NyZWVuLm1haW5sb29wYCBoYXMgYmVlbiBhZGRlZC4gU28gd2hlbiB3b3JraW5nIG9ubHkKLSAgd2l0aCBTY3JlZW4gYW5kIFR1cnRsZSBvYmplY3RzIG9uZSBtdXN0IG5vdCBhZGRpdG9uYWxseSBpbXBvcnQKKyAgd2l0aCBTY3JlZW4gYW5kIFR1cnRsZSBvYmplY3RzIG9uZSBtdXN0IG5vdCBhZGRpdGlvbmFsbHkgaW1wb3J0CiAgIDpmdW5jOmBtYWlubG9vcGAgYW55bW9yZS4KIAogLSBUd28gaW5wdXQgbWV0aG9kcyBoYXMgYmVlbiBhZGRlZCA6bWV0aDpgU2NyZWVuLnRleHRpbnB1dGAgYW5kCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS90eXBlcy5yc3QgYi9Eb2MvbGlicmFyeS90eXBlcy5yc3QKaW5kZXggYWJkYjkzOS4uMzRmZmZlNiAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvdHlwZXMucnN0CisrKyBiL0RvYy9saWJyYXJ5L3R5cGVzLnJzdApAQCAtMTE1LDYgKzExNSwxMCBAQAogICAgVGhlIHR5cGUgb2YgOnRlcm06YG1vZHVsZXMgPG1vZHVsZT5gLiBDb25zdHJ1Y3RvciB0YWtlcyB0aGUgbmFtZSBvZiB0aGUKICAgIG1vZHVsZSB0byBiZSBjcmVhdGVkIGFuZCBvcHRpb25hbGx5IGl0cyA6dGVybTpgZG9jc3RyaW5nYC4KIAorICAgLi4gbm90ZTo6CisgICAgICBVc2UgOmZ1bmM6YGltcG9ydGxpYi51dGlsLm1vZHVsZV9mcm9tX3NwZWNgIHRvIGNyZWF0ZSBhIG5ldyBtb2R1bGUgaWYgeW91CisgICAgICB3aXNoIHRvIHNldCB0aGUgdmFyaW91cyBpbXBvcnQtY29udHJvbGxlZCBhdHRyaWJ1dGVzLgorCiAgICAuLiBhdHRyaWJ1dGU6OiBfX2RvY19fCiAKICAgICAgIFRoZSA6dGVybTpgZG9jc3RyaW5nYCBvZiB0aGUgbW9kdWxlLiBEZWZhdWx0cyB0byBgYE5vbmVgYC4KZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L3VuaWNvZGVkYXRhLnJzdCBiL0RvYy9saWJyYXJ5L3VuaWNvZGVkYXRhLnJzdAppbmRleCAzYjNkM2EwLi4yNGRkZWY4IDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS91bmljb2RlZGF0YS5yc3QKKysrIGIvRG9jL2xpYnJhcnkvdW5pY29kZWRhdGEucnN0CkBAIC0xNSw4ICsxNSw4IEBACiAKIFRoaXMgbW9kdWxlIHByb3ZpZGVzIGFjY2VzcyB0byB0aGUgVW5pY29kZSBDaGFyYWN0ZXIgRGF0YWJhc2UgKFVDRCkgd2hpY2gKIGRlZmluZXMgY2hhcmFjdGVyIHByb3BlcnRpZXMgZm9yIGFsbCBVbmljb2RlIGNoYXJhY3RlcnMuIFRoZSBkYXRhIGNvbnRhaW5lZCBpbgotdGhpcyBkYXRhYmFzZSBpcyBjb21waWxlZCBmcm9tIHRoZSBgVUNEIHZlcnNpb24gNi4zLjAKLTxodHRwOi8vd3d3LnVuaWNvZGUub3JnL1B1YmxpYy82LjMuMC91Y2Q+YF8uCit0aGlzIGRhdGFiYXNlIGlzIGNvbXBpbGVkIGZyb20gdGhlIGBVQ0QgdmVyc2lvbiA3LjAuMAorPGh0dHA6Ly93d3cudW5pY29kZS5vcmcvUHVibGljLzcuMC4wL3VjZD5gXy4KIAogVGhlIG1vZHVsZSB1c2VzIHRoZSBzYW1lIG5hbWVzIGFuZCBzeW1ib2xzIGFzIGRlZmluZWQgYnkgVW5pY29kZQogU3RhbmRhcmQgQW5uZXggIzQ0LCBgIlVuaWNvZGUgQ2hhcmFjdGVyIERhdGFiYXNlIgpAQCAtMTY2LDYgKzE2Niw2IEBACiAKIC4uIHJ1YnJpYzo6IEZvb3Rub3RlcwogCi0uLiBbI10gaHR0cDovL3d3dy51bmljb2RlLm9yZy9QdWJsaWMvNi4zLjAvdWNkL05hbWVBbGlhc2VzLnR4dAorLi4gWyNdIGh0dHA6Ly93d3cudW5pY29kZS5vcmcvUHVibGljLzcuMC4wL3VjZC9OYW1lQWxpYXNlcy50eHQKIAotLi4gWyNdIGh0dHA6Ly93d3cudW5pY29kZS5vcmcvUHVibGljLzYuMy4wL3VjZC9OYW1lZFNlcXVlbmNlcy50eHQKKy4uIFsjXSBodHRwOi8vd3d3LnVuaWNvZGUub3JnL1B1YmxpYy83LjAuMC91Y2QvTmFtZWRTZXF1ZW5jZXMudHh0CmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS91bml0dGVzdC5tb2NrLnJzdCBiL0RvYy9saWJyYXJ5L3VuaXR0ZXN0Lm1vY2sucnN0CmluZGV4IDg0NWUwYzQuLmMxOWFkZjggMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L3VuaXR0ZXN0Lm1vY2sucnN0CisrKyBiL0RvYy9saWJyYXJ5L3VuaXR0ZXN0Lm1vY2sucnN0CkBAIC0xODEsNzEgKzE4MSw3NyBAQAogLS0tLS0tLS0tLS0tLS0KIAogCi1gTW9ja2AgaXMgYSBmbGV4aWJsZSBtb2NrIG9iamVjdCBpbnRlbmRlZCB0byByZXBsYWNlIHRoZSB1c2Ugb2Ygc3R1YnMgYW5kCis6Y2xhc3M6YE1vY2tgIGlzIGEgZmxleGlibGUgbW9jayBvYmplY3QgaW50ZW5kZWQgdG8gcmVwbGFjZSB0aGUgdXNlIG9mIHN0dWJzIGFuZAogdGVzdCBkb3VibGVzIHRocm91Z2hvdXQgeW91ciBjb2RlLiBNb2NrcyBhcmUgY2FsbGFibGUgYW5kIGNyZWF0ZSBhdHRyaWJ1dGVzIGFzCiBuZXcgbW9ja3Mgd2hlbiB5b3UgYWNjZXNzIHRoZW0gWyNdXy4gQWNjZXNzaW5nIHRoZSBzYW1lIGF0dHJpYnV0ZSB3aWxsIGFsd2F5cwogcmV0dXJuIHRoZSBzYW1lIG1vY2suIE1vY2tzIHJlY29yZCBob3cgeW91IHVzZSB0aGVtLCBhbGxvd2luZyB5b3UgdG8gbWFrZQogYXNzZXJ0aW9ucyBhYm91dCB3aGF0IHlvdXIgY29kZSBoYXMgZG9uZSB0byB0aGVtLgogCi06Y2xhc3M6YE1hZ2ljTW9ja2AgaXMgYSBzdWJjbGFzcyBvZiBgTW9ja2Agd2l0aCBhbGwgdGhlIG1hZ2ljIG1ldGhvZHMKKzpjbGFzczpgTWFnaWNNb2NrYCBpcyBhIHN1YmNsYXNzIG9mIDpjbGFzczpgTW9ja2Agd2l0aCBhbGwgdGhlIG1hZ2ljIG1ldGhvZHMKIHByZS1jcmVhdGVkIGFuZCByZWFkeSB0byB1c2UuIFRoZXJlIGFyZSBhbHNvIG5vbi1jYWxsYWJsZSB2YXJpYW50cywgdXNlZnVsCiB3aGVuIHlvdSBhcmUgbW9ja2luZyBvdXQgb2JqZWN0cyB0aGF0IGFyZW4ndCBjYWxsYWJsZToKIDpjbGFzczpgTm9uQ2FsbGFibGVNb2NrYCBhbmQgOmNsYXNzOmBOb25DYWxsYWJsZU1hZ2ljTW9ja2AKIAogVGhlIDpmdW5jOmBwYXRjaGAgZGVjb3JhdG9ycyBtYWtlcyBpdCBlYXN5IHRvIHRlbXBvcmFyaWx5IHJlcGxhY2UgY2xhc3NlcwotaW4gYSBwYXJ0aWN1bGFyIG1vZHVsZSB3aXRoIGEgYE1vY2tgIG9iamVjdC4gQnkgZGVmYXVsdCBgcGF0Y2hgIHdpbGwgY3JlYXRlCi1hIGBNYWdpY01vY2tgIGZvciB5b3UuIFlvdSBjYW4gc3BlY2lmeSBhbiBhbHRlcm5hdGl2ZSBjbGFzcyBvZiBgTW9ja2AgdXNpbmcKLXRoZSBgbmV3X2NhbGxhYmxlYCBhcmd1bWVudCB0byBgcGF0Y2hgLgoraW4gYSBwYXJ0aWN1bGFyIG1vZHVsZSB3aXRoIGEgOmNsYXNzOmBNb2NrYCBvYmplY3QuIEJ5IGRlZmF1bHQgOmZ1bmM6YHBhdGNoYCB3aWxsIGNyZWF0ZQorYSA6Y2xhc3M6YE1hZ2ljTW9ja2AgZm9yIHlvdS4gWW91IGNhbiBzcGVjaWZ5IGFuIGFsdGVybmF0aXZlIGNsYXNzIG9mIDpjbGFzczpgTW9ja2AgdXNpbmcKK3RoZSAqbmV3X2NhbGxhYmxlKiBhcmd1bWVudCB0byA6ZnVuYzpgcGF0Y2hgLgogCiAKLS4uIGNsYXNzOjogTW9jayhzcGVjPU5vbmUsIHNpZGVfZWZmZWN0PU5vbmUsIHJldHVybl92YWx1ZT1ERUZBVUxULCB3cmFwcz1Ob25lLCBuYW1lPU5vbmUsIHNwZWNfc2V0PU5vbmUsICoqa3dhcmdzKQorLi4gY2xhc3M6OiBNb2NrKHNwZWM9Tm9uZSwgc2lkZV9lZmZlY3Q9Tm9uZSwgcmV0dXJuX3ZhbHVlPURFRkFVTFQsIHdyYXBzPU5vbmUsIG5hbWU9Tm9uZSwgc3BlY19zZXQ9Tm9uZSwgdW5zYWZlPUZhbHNlLCAqKmt3YXJncykKIAotICAgIENyZWF0ZSBhIG5ldyBgTW9ja2Agb2JqZWN0LiBgTW9ja2AgdGFrZXMgc2V2ZXJhbCBvcHRpb25hbCBhcmd1bWVudHMKKyAgICBDcmVhdGUgYSBuZXcgOmNsYXNzOmBNb2NrYCBvYmplY3QuIDpjbGFzczpgTW9ja2AgdGFrZXMgc2V2ZXJhbCBvcHRpb25hbCBhcmd1bWVudHMKICAgICB0aGF0IHNwZWNpZnkgdGhlIGJlaGF2aW91ciBvZiB0aGUgTW9jayBvYmplY3Q6CiAKLSAgICAqIGBzcGVjYDogVGhpcyBjYW4gYmUgZWl0aGVyIGEgbGlzdCBvZiBzdHJpbmdzIG9yIGFuIGV4aXN0aW5nIG9iamVjdCAoYQorICAgICogKnNwZWMqOiBUaGlzIGNhbiBiZSBlaXRoZXIgYSBsaXN0IG9mIHN0cmluZ3Mgb3IgYW4gZXhpc3Rpbmcgb2JqZWN0IChhCiAgICAgICBjbGFzcyBvciBpbnN0YW5jZSkgdGhhdCBhY3RzIGFzIHRoZSBzcGVjaWZpY2F0aW9uIGZvciB0aGUgbW9jayBvYmplY3QuIElmCiAgICAgICB5b3UgcGFzcyBpbiBhbiBvYmplY3QgdGhlbiBhIGxpc3Qgb2Ygc3RyaW5ncyBpcyBmb3JtZWQgYnkgY2FsbGluZyBkaXIgb24KICAgICAgIHRoZSBvYmplY3QgKGV4Y2x1ZGluZyB1bnN1cHBvcnRlZCBtYWdpYyBhdHRyaWJ1dGVzIGFuZCBtZXRob2RzKS4KLSAgICAgIEFjY2Vzc2luZyBhbnkgYXR0cmlidXRlIG5vdCBpbiB0aGlzIGxpc3Qgd2lsbCByYWlzZSBhbiBgQXR0cmlidXRlRXJyb3JgLgorICAgICAgQWNjZXNzaW5nIGFueSBhdHRyaWJ1dGUgbm90IGluIHRoaXMgbGlzdCB3aWxsIHJhaXNlIGFuIDpleGM6YEF0dHJpYnV0ZUVycm9yYC4KIAotICAgICAgSWYgYHNwZWNgIGlzIGFuIG9iamVjdCAocmF0aGVyIHRoYW4gYSBsaXN0IG9mIHN0cmluZ3MpIHRoZW4KKyAgICAgIElmICpzcGVjKiBpcyBhbiBvYmplY3QgKHJhdGhlciB0aGFuIGEgbGlzdCBvZiBzdHJpbmdzKSB0aGVuCiAgICAgICA6YXR0cjpgfmluc3RhbmNlLl9fY2xhc3NfX2AgcmV0dXJucyB0aGUgY2xhc3Mgb2YgdGhlIHNwZWMgb2JqZWN0LiBUaGlzCi0gICAgICBhbGxvd3MgbW9ja3MgdG8gcGFzcyBgaXNpbnN0YW5jZWAgdGVzdHMuCisgICAgICBhbGxvd3MgbW9ja3MgdG8gcGFzcyA6ZnVuYzpgaXNpbnN0YW5jZWAgdGVzdHMuCiAKLSAgICAqIGBzcGVjX3NldGA6IEEgc3RyaWN0ZXIgdmFyaWFudCBvZiBgc3BlY2AuIElmIHVzZWQsIGF0dGVtcHRpbmcgdG8gKnNldCoKKyAgICAqICpzcGVjX3NldCo6IEEgc3RyaWN0ZXIgdmFyaWFudCBvZiAqc3BlYyouIElmIHVzZWQsIGF0dGVtcHRpbmcgdG8gKnNldCoKICAgICAgIG9yIGdldCBhbiBhdHRyaWJ1dGUgb24gdGhlIG1vY2sgdGhhdCBpc24ndCBvbiB0aGUgb2JqZWN0IHBhc3NlZCBhcwotICAgICAgYHNwZWNfc2V0YCB3aWxsIHJhaXNlIGFuIGBBdHRyaWJ1dGVFcnJvcmAuCisgICAgICAqc3BlY19zZXQqIHdpbGwgcmFpc2UgYW4gOmV4YzpgQXR0cmlidXRlRXJyb3JgLgogCi0gICAgKiBgc2lkZV9lZmZlY3RgOiBBIGZ1bmN0aW9uIHRvIGJlIGNhbGxlZCB3aGVuZXZlciB0aGUgTW9jayBpcyBjYWxsZWQuIFNlZQorICAgICogKnNpZGVfZWZmZWN0KjogQSBmdW5jdGlvbiB0byBiZSBjYWxsZWQgd2hlbmV2ZXIgdGhlIE1vY2sgaXMgY2FsbGVkLiBTZWUKICAgICAgIHRoZSA6YXR0cjpgfk1vY2suc2lkZV9lZmZlY3RgIGF0dHJpYnV0ZS4gVXNlZnVsIGZvciByYWlzaW5nIGV4Y2VwdGlvbnMgb3IKICAgICAgIGR5bmFtaWNhbGx5IGNoYW5naW5nIHJldHVybiB2YWx1ZXMuIFRoZSBmdW5jdGlvbiBpcyBjYWxsZWQgd2l0aCB0aGUgc2FtZQogICAgICAgYXJndW1lbnRzIGFzIHRoZSBtb2NrLCBhbmQgdW5sZXNzIGl0IHJldHVybnMgOmRhdGE6YERFRkFVTFRgLCB0aGUgcmV0dXJuCiAgICAgICB2YWx1ZSBvZiB0aGlzIGZ1bmN0aW9uIGlzIHVzZWQgYXMgdGhlIHJldHVybiB2YWx1ZS4KIAotICAgICAgQWx0ZXJuYXRpdmVseSBgc2lkZV9lZmZlY3RgIGNhbiBiZSBhbiBleGNlcHRpb24gY2xhc3Mgb3IgaW5zdGFuY2UuIEluCisgICAgICBBbHRlcm5hdGl2ZWx5ICpzaWRlX2VmZmVjdCogY2FuIGJlIGFuIGV4Y2VwdGlvbiBjbGFzcyBvciBpbnN0YW5jZS4gSW4KICAgICAgIHRoaXMgY2FzZSB0aGUgZXhjZXB0aW9uIHdpbGwgYmUgcmFpc2VkIHdoZW4gdGhlIG1vY2sgaXMgY2FsbGVkLgogCi0gICAgICBJZiBgc2lkZV9lZmZlY3RgIGlzIGFuIGl0ZXJhYmxlIHRoZW4gZWFjaCBjYWxsIHRvIHRoZSBtb2NrIHdpbGwgcmV0dXJuCisgICAgICBJZiAqc2lkZV9lZmZlY3QqIGlzIGFuIGl0ZXJhYmxlIHRoZW4gZWFjaCBjYWxsIHRvIHRoZSBtb2NrIHdpbGwgcmV0dXJuCiAgICAgICB0aGUgbmV4dCB2YWx1ZSBmcm9tIHRoZSBpdGVyYWJsZS4KIAotICAgICAgQSBgc2lkZV9lZmZlY3RgIGNhbiBiZSBjbGVhcmVkIGJ5IHNldHRpbmcgaXQgdG8gYE5vbmVgLgorICAgICAgQSAqc2lkZV9lZmZlY3QqIGNhbiBiZSBjbGVhcmVkIGJ5IHNldHRpbmcgaXQgdG8gYGBOb25lYGAuCiAKLSAgICAqIGByZXR1cm5fdmFsdWVgOiBUaGUgdmFsdWUgcmV0dXJuZWQgd2hlbiB0aGUgbW9jayBpcyBjYWxsZWQuIEJ5IGRlZmF1bHQKKyAgICAqICpyZXR1cm5fdmFsdWUqOiBUaGUgdmFsdWUgcmV0dXJuZWQgd2hlbiB0aGUgbW9jayBpcyBjYWxsZWQuIEJ5IGRlZmF1bHQKICAgICAgIHRoaXMgaXMgYSBuZXcgTW9jayAoY3JlYXRlZCBvbiBmaXJzdCBhY2Nlc3MpLiBTZWUgdGhlCiAgICAgICA6YXR0cjpgcmV0dXJuX3ZhbHVlYCBhdHRyaWJ1dGUuCiAKLSAgICAqIGB3cmFwc2A6IEl0ZW0gZm9yIHRoZSBtb2NrIG9iamVjdCB0byB3cmFwLiBJZiBgd3JhcHNgIGlzIG5vdCBOb25lIHRoZW4KKyAgICAqICp1bnNhZmUqOiBCeSBkZWZhdWx0IGlmIGFueSBhdHRyaWJ1dGUgc3RhcnRzIHdpdGggKmFzc2VydCogb3IKKyAgICAgICphc3NyZXQqIHdpbGwgcmFpc2UgYW4gOmV4YzpgQXR0cmlidXRlRXJyb3JgLiBQYXNzaW5nIGBgdW5zYWZlPVRydWVgYAorICAgICAgd2lsbCBhbGxvdyBhY2Nlc3MgdG8gdGhlc2UgYXR0cmlidXRlcy4KKworICAgICAgLi4gdmVyc2lvbmFkZGVkOjogMy41CisKKyAgICAqICp3cmFwcyo6IEl0ZW0gZm9yIHRoZSBtb2NrIG9iamVjdCB0byB3cmFwLiBJZiAqd3JhcHMqIGlzIG5vdCBOb25lIHRoZW4KICAgICAgIGNhbGxpbmcgdGhlIE1vY2sgd2lsbCBwYXNzIHRoZSBjYWxsIHRocm91Z2ggdG8gdGhlIHdyYXBwZWQgb2JqZWN0CiAgICAgICAocmV0dXJuaW5nIHRoZSByZWFsIHJlc3VsdCkuIEF0dHJpYnV0ZSBhY2Nlc3Mgb24gdGhlIG1vY2sgd2lsbCByZXR1cm4gYQogICAgICAgTW9jayBvYmplY3QgdGhhdCB3cmFwcyB0aGUgY29ycmVzcG9uZGluZyBhdHRyaWJ1dGUgb2YgdGhlIHdyYXBwZWQKICAgICAgIG9iamVjdCAoc28gYXR0ZW1wdGluZyB0byBhY2Nlc3MgYW4gYXR0cmlidXRlIHRoYXQgZG9lc24ndCBleGlzdCB3aWxsCi0gICAgICByYWlzZSBhbiBgQXR0cmlidXRlRXJyb3JgKS4KKyAgICAgIHJhaXNlIGFuIDpleGM6YEF0dHJpYnV0ZUVycm9yYCkuCiAKLSAgICAgIElmIHRoZSBtb2NrIGhhcyBhbiBleHBsaWNpdCBgcmV0dXJuX3ZhbHVlYCBzZXQgdGhlbiBjYWxscyBhcmUgbm90IHBhc3NlZAotICAgICAgdG8gdGhlIHdyYXBwZWQgb2JqZWN0IGFuZCB0aGUgYHJldHVybl92YWx1ZWAgaXMgcmV0dXJuZWQgaW5zdGVhZC4KKyAgICAgIElmIHRoZSBtb2NrIGhhcyBhbiBleHBsaWNpdCAqcmV0dXJuX3ZhbHVlKiBzZXQgdGhlbiBjYWxscyBhcmUgbm90IHBhc3NlZAorICAgICAgdG8gdGhlIHdyYXBwZWQgb2JqZWN0IGFuZCB0aGUgKnJldHVybl92YWx1ZSogaXMgcmV0dXJuZWQgaW5zdGVhZC4KIAotICAgICogYG5hbWVgOiBJZiB0aGUgbW9jayBoYXMgYSBuYW1lIHRoZW4gaXQgd2lsbCBiZSB1c2VkIGluIHRoZSByZXByIG9mIHRoZQorICAgICogKm5hbWUqOiBJZiB0aGUgbW9jayBoYXMgYSBuYW1lIHRoZW4gaXQgd2lsbCBiZSB1c2VkIGluIHRoZSByZXByIG9mIHRoZQogICAgICAgbW9jay4gVGhpcyBjYW4gYmUgdXNlZnVsIGZvciBkZWJ1Z2dpbmcuIFRoZSBuYW1lIGlzIHByb3BhZ2F0ZWQgdG8gY2hpbGQKICAgICAgIG1vY2tzLgogCkBAIC0zMTUsNiArMzIxLDIwIEBACiAgICAgICAgICAgICA+Pj4gY2FsbHMgPSBbY2FsbCg0KSwgY2FsbCgyKSwgY2FsbCgzKV0KICAgICAgICAgICAgID4+PiBtb2NrLmFzc2VydF9oYXNfY2FsbHMoY2FsbHMsIGFueV9vcmRlcj1UcnVlKQogCisgICAgLi4gbWV0aG9kOjogYXNzZXJ0X25vdF9jYWxsZWQoKmFyZ3MsICoqa3dhcmdzKQorCisgICAgICAgIEFzc2VydCB0aGUgbW9jayB3YXMgbmV2ZXIgY2FsbGVkLgorCisgICAgICAgICAgICA+Pj4gbSA9IE1vY2soKQorICAgICAgICAgICAgPj4+IG0uaGVsbG8uYXNzZXJ0X25vdF9jYWxsZWQoKQorICAgICAgICAgICAgPj4+IG9iaiA9IG0uaGVsbG8oKQorICAgICAgICAgICAgPj4+IG0uaGVsbG8uYXNzZXJ0X25vdF9jYWxsZWQoKQorICAgICAgICAgICAgVHJhY2ViYWNrIChtb3N0IHJlY2VudCBjYWxsIGxhc3QpOgorICAgICAgICAgICAgICAuLi4KKyAgICAgICAgICAgIEFzc2VydGlvbkVycm9yOiBFeHBlY3RlZCAnaGVsbG8nIHRvIG5vdCBoYXZlIGJlZW4gY2FsbGVkLiBDYWxsZWQgMSB0aW1lcy4KKworICAgICAgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjUKKwogCiAgICAgLi4gbWV0aG9kOjogcmVzZXRfbW9jaygpCiAKQEAgLTEwMzIsMjUgKzEwNTIsMzEgQEAKICAgICBkZWZhdWx0IGJlY2F1c2UgaXQgY2FuIGJlIGRhbmdlcm91cy4gV2l0aCBpdCBzd2l0Y2hlZCBvbiB5b3UgY2FuIHdyaXRlCiAgICAgcGFzc2luZyB0ZXN0cyBhZ2FpbnN0IEFQSXMgdGhhdCBkb24ndCBhY3R1YWxseSBleGlzdCEKIAotICAgIFBhdGNoIGNhbiBiZSB1c2VkIGFzIGEgYFRlc3RDYXNlYCBjbGFzcyBkZWNvcmF0b3IuIEl0IHdvcmtzIGJ5CisgICAgLi4gbm90ZTo6CisKKyAgICAgICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjUKKyAgICAgICAgICAgSWYgeW91IGFyZSBwYXRjaGluZyBidWlsdGlucyBpbiBhIG1vZHVsZSB0aGVuIHlvdSBkb24ndAorICAgICAgICAgICBuZWVkIHRvIHBhc3MgYGBjcmVhdGU9VHJ1ZWBgLCBpdCB3aWxsIGJlIGFkZGVkIGJ5IGRlZmF1bHQuCisKKyAgICBQYXRjaCBjYW4gYmUgdXNlZCBhcyBhIDpjbGFzczpgVGVzdENhc2VgIGNsYXNzIGRlY29yYXRvci4gSXQgd29ya3MgYnkKICAgICBkZWNvcmF0aW5nIGVhY2ggdGVzdCBtZXRob2QgaW4gdGhlIGNsYXNzLiBUaGlzIHJlZHVjZXMgdGhlIGJvaWxlcnBsYXRlCi0gICAgY29kZSB3aGVuIHlvdXIgdGVzdCBtZXRob2RzIHNoYXJlIGEgY29tbW9uIHBhdGNoaW5ncyBzZXQuIGBwYXRjaGAgZmluZHMKLSAgICB0ZXN0cyBieSBsb29raW5nIGZvciBtZXRob2QgbmFtZXMgdGhhdCBzdGFydCB3aXRoIGBwYXRjaC5URVNUX1BSRUZJWGAuCi0gICAgQnkgZGVmYXVsdCB0aGlzIGlzIGB0ZXN0YCwgd2hpY2ggbWF0Y2hlcyB0aGUgd2F5IGB1bml0dGVzdGAgZmluZHMgdGVzdHMuCi0gICAgWW91IGNhbiBzcGVjaWZ5IGFuIGFsdGVybmF0aXZlIHByZWZpeCBieSBzZXR0aW5nIGBwYXRjaC5URVNUX1BSRUZJWGAuCisgICAgY29kZSB3aGVuIHlvdXIgdGVzdCBtZXRob2RzIHNoYXJlIGEgY29tbW9uIHBhdGNoaW5ncyBzZXQuIDpmdW5jOmBwYXRjaGAgZmluZHMKKyAgICB0ZXN0cyBieSBsb29raW5nIGZvciBtZXRob2QgbmFtZXMgdGhhdCBzdGFydCB3aXRoIGBgcGF0Y2guVEVTVF9QUkVGSVhgYC4KKyAgICBCeSBkZWZhdWx0IHRoaXMgaXMgYGAndGVzdCdgYCwgd2hpY2ggbWF0Y2hlcyB0aGUgd2F5IDptb2Q6YHVuaXR0ZXN0YCBmaW5kcyB0ZXN0cy4KKyAgICBZb3UgY2FuIHNwZWNpZnkgYW4gYWx0ZXJuYXRpdmUgcHJlZml4IGJ5IHNldHRpbmcgYGBwYXRjaC5URVNUX1BSRUZJWGBgLgogCiAgICAgUGF0Y2ggY2FuIGJlIHVzZWQgYXMgYSBjb250ZXh0IG1hbmFnZXIsIHdpdGggdGhlIHdpdGggc3RhdGVtZW50LiBIZXJlIHRoZQogICAgIHBhdGNoaW5nIGFwcGxpZXMgdG8gdGhlIGluZGVudGVkIGJsb2NrIGFmdGVyIHRoZSB3aXRoIHN0YXRlbWVudC4gSWYgeW91CiAgICAgdXNlICJhcyIgdGhlbiB0aGUgcGF0Y2hlZCBvYmplY3Qgd2lsbCBiZSBib3VuZCB0byB0aGUgbmFtZSBhZnRlciB0aGUKLSAgICAiYXMiOyB2ZXJ5IHVzZWZ1bCBpZiBgcGF0Y2hgIGlzIGNyZWF0aW5nIGEgbW9jayBvYmplY3QgZm9yIHlvdS4KKyAgICAiYXMiOyB2ZXJ5IHVzZWZ1bCBpZiA6ZnVuYzpgcGF0Y2hgIGlzIGNyZWF0aW5nIGEgbW9jayBvYmplY3QgZm9yIHlvdS4KIAotICAgIGBwYXRjaGAgdGFrZXMgYXJiaXRyYXJ5IGtleXdvcmQgYXJndW1lbnRzLiBUaGVzZSB3aWxsIGJlIHBhc3NlZCB0bwotICAgIHRoZSBgTW9ja2AgKG9yIGBuZXdfY2FsbGFibGVgKSBvbiBjb25zdHJ1Y3Rpb24uCisgICAgOmZ1bmM6YHBhdGNoYCB0YWtlcyBhcmJpdHJhcnkga2V5d29yZCBhcmd1bWVudHMuIFRoZXNlIHdpbGwgYmUgcGFzc2VkIHRvCisgICAgdGhlIDpjbGFzczpgTW9ja2AgKG9yICpuZXdfY2FsbGFibGUqKSBvbiBjb25zdHJ1Y3Rpb24uCiAKLSAgICBgcGF0Y2guZGljdCguLi4pYCwgYHBhdGNoLm11bHRpcGxlKC4uLilgIGFuZCBgcGF0Y2gub2JqZWN0KC4uLilgIGFyZQorICAgIGBgcGF0Y2guZGljdCguLi4pYGAsIGBgcGF0Y2gubXVsdGlwbGUoLi4uKWBgIGFuZCBgYHBhdGNoLm9iamVjdCguLi4pYGAgYXJlCiAgICAgYXZhaWxhYmxlIGZvciBhbHRlcm5hdGUgdXNlLWNhc2VzLgogCi1gcGF0Y2hgIGFzIGZ1bmN0aW9uIGRlY29yYXRvciwgY3JlYXRpbmcgdGhlIG1vY2sgZm9yIHlvdSBhbmQgcGFzc2luZyBpdCBpbnRvCis6ZnVuYzpgcGF0Y2hgIGFzIGZ1bmN0aW9uIGRlY29yYXRvciwgY3JlYXRpbmcgdGhlIG1vY2sgZm9yIHlvdSBhbmQgcGFzc2luZyBpdCBpbnRvCiB0aGUgZGVjb3JhdGVkIGZ1bmN0aW9uOgogCiAgICAgPj4+IEBwYXRjaCgnX19tYWluX18uU29tZUNsYXNzJykKQEAgLTEzOTIsMTUgKzE0MTgsMzEgQEAKICAgICAgICAgLi4uICAgICAgICAgYXNzZXJ0IHBhY2thZ2UubW9kdWxlLkNsYXNzIGlzIHNlbGYuTW9ja0NsYXNzCiAgICAgICAgIC4uLgogCi0gICAgQXMgYW4gYWRkZWQgYm9udXMgeW91IG5vIGxvbmdlciBuZWVkIHRvIGtlZXAgYSByZWZlcmVuY2UgdG8gdGhlIGBwYXRjaGVyYAorICAgIEFzIGFuIGFkZGVkIGJvbnVzIHlvdSBubyBsb25nZXIgbmVlZCB0byBrZWVwIGEgcmVmZXJlbmNlIHRvIHRoZSBgYHBhdGNoZXJgYAogICAgIG9iamVjdC4KIAogSXQgaXMgYWxzbyBwb3NzaWJsZSB0byBzdG9wIGFsbCBwYXRjaGVzIHdoaWNoIGhhdmUgYmVlbiBzdGFydGVkIGJ5IHVzaW5nCi1gcGF0Y2guc3RvcGFsbGAuCis6ZnVuYzpgcGF0Y2guc3RvcGFsbGAuCiAKIC4uIGZ1bmN0aW9uOjogcGF0Y2guc3RvcGFsbAogCi0gICAgU3RvcCBhbGwgYWN0aXZlIHBhdGNoZXMuIE9ubHkgc3RvcHMgcGF0Y2hlcyBzdGFydGVkIHdpdGggYHN0YXJ0YC4KKyAgICBTdG9wIGFsbCBhY3RpdmUgcGF0Y2hlcy4gT25seSBzdG9wcyBwYXRjaGVzIHN0YXJ0ZWQgd2l0aCBgYHN0YXJ0YGAuCisKKworLi4gX3BhdGNoLWJ1aWx0aW5zOgorCitwYXRjaCBidWlsdGlucworfn5+fn5+fn5+fn5+fn4KK1lvdSBjYW4gcGF0Y2ggYW55IGJ1aWx0aW5zIHdpdGhpbiBhIG1vZHVsZS4gVGhlIGZvbGxvd2luZyBleGFtcGxlIHBhdGNoZXMKK2J1aWx0aW4gOmZ1bmM6YG9yZGA6CisKKyAgICA+Pj4gQHBhdGNoKCdfX21haW5fXy5vcmQnKQorICAgIC4uLiBkZWYgdGVzdChtb2NrX29yZCk6CisgICAgLi4uICAgICBtb2NrX29yZC5yZXR1cm5fdmFsdWUgPSAxMDEKKyAgICAuLi4gICAgIHByaW50KG9yZCgnYycpKQorICAgIC4uLgorICAgID4+PiB0ZXN0KCkKKyAgICAxMDEKIAogCiBURVNUX1BSRUZJWApAQCAtMjAxMyw3ICsyMDU1LDcgQEAKIGVub3VnaCB0aGF0IGEgaGVscGVyIGZ1bmN0aW9uIGlzIHVzZWZ1bC4KIAogICAgID4+PiBtID0gbW9ja19vcGVuKCkKLSAgICA+Pj4gd2l0aCBwYXRjaCgnX19tYWluX18ub3BlbicsIG0sIGNyZWF0ZT1UcnVlKToKKyAgICA+Pj4gd2l0aCBwYXRjaCgnX19tYWluX18ub3BlbicsIG0pOgogICAgIC4uLiAgICAgd2l0aCBvcGVuKCdmb28nLCAndycpIGFzIGg6CiAgICAgLi4uICAgICAgICAgaC53cml0ZSgnc29tZSBzdHVmZicpCiAgICAgLi4uCkBAIC0yMDI4LDcgKzIwNzAsNyBAQAogCiBBbmQgZm9yIHJlYWRpbmcgZmlsZXM6CiAKLSAgICA+Pj4gd2l0aCBwYXRjaCgnX19tYWluX18ub3BlbicsIG1vY2tfb3BlbihyZWFkX2RhdGE9J2JpYmJsZScpLCBjcmVhdGU9VHJ1ZSkgYXMgbToKKyAgICA+Pj4gd2l0aCBwYXRjaCgnX19tYWluX18ub3BlbicsIG1vY2tfb3BlbihyZWFkX2RhdGE9J2JpYmJsZScpKSBhcyBtOgogICAgIC4uLiAgICAgd2l0aCBvcGVuKCdmb28nKSBhcyBoOgogICAgIC4uLiAgICAgICAgIHJlc3VsdCA9IGgucmVhZCgpCiAgICAgLi4uCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS91bml0dGVzdC5yc3QgYi9Eb2MvbGlicmFyeS91bml0dGVzdC5yc3QKaW5kZXggYzY1YTk5ZC4uOTI2MDllYyAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvdW5pdHRlc3QucnN0CisrKyBiL0RvYy9saWJyYXJ5L3VuaXR0ZXN0LnJzdApAQCAtMTU1Miw2ICsxNTUyLDIwIEBACiAgICA6ZGF0YTpgdW5pdHRlc3QuZGVmYXVsdFRlc3RMb2FkZXJgLiAgVXNpbmcgYSBzdWJjbGFzcyBvciBpbnN0YW5jZSwgaG93ZXZlciwKICAgIGFsbG93cyBjdXN0b21pemF0aW9uIG9mIHNvbWUgY29uZmlndXJhYmxlIHByb3BlcnRpZXMuCiAKKyAgIDpjbGFzczpgVGVzdExvYWRlcmAgb2JqZWN0cyBoYXZlIHRoZSBmb2xsb3dpbmcgYXR0cmlidXRlczoKKworCisgICAuLiBhdHRyaWJ1dGU6OiBlcnJvcnMKKworICAgICAgQSBsaXN0IG9mIHRoZSBub24tZmF0YWwgZXJyb3JzIGVuY291bnRlcmVkIHdoaWxlIGxvYWRpbmcgdGVzdHMuIE5vdCByZXNldAorICAgICAgYnkgdGhlIGxvYWRlciBhdCBhbnkgcG9pbnQuIEZhdGFsIGVycm9ycyBhcmUgc2lnbmFsbGVkIGJ5IHRoZSByZWxldmFudAorICAgICAgYSBtZXRob2QgcmFpc2luZyBhbiBleGNlcHRpb24gdG8gdGhlIGNhbGxlci4gTm9uLWZhdGFsIGVycm9ycyBhcmUgYWxzbworICAgICAgaW5kaWNhdGVkIGJ5IGEgc3ludGhldGljIHRlc3QgdGhhdCB3aWxsIHJhaXNlIHRoZSBvcmlnaW5hbCBlcnJvciB3aGVuCisgICAgICBydW4uCisKKyAgICAgIC4uIHZlcnNpb25hZGRlZDo6IDMuNQorCisKICAgIDpjbGFzczpgVGVzdExvYWRlcmAgb2JqZWN0cyBoYXZlIHRoZSBmb2xsb3dpbmcgbWV0aG9kczoKIAogCkBAIC0xNTYxLDcgKzE1NzUsNyBAQAogICAgICAgOmNsYXNzOmB0ZXN0Q2FzZUNsYXNzYC4KIAogCi0gICAuLiBtZXRob2Q6OiBsb2FkVGVzdHNGcm9tTW9kdWxlKG1vZHVsZSkKKyAgIC4uIG1ldGhvZDo6IGxvYWRUZXN0c0Zyb21Nb2R1bGUobW9kdWxlLCBwYXR0ZXJuPU5vbmUpCiAKICAgICAgIFJldHVybiBhIHN1aXRlIG9mIGFsbCB0ZXN0cyBjYXNlcyBjb250YWluZWQgaW4gdGhlIGdpdmVuIG1vZHVsZS4gVGhpcwogICAgICAgbWV0aG9kIHNlYXJjaGVzICptb2R1bGUqIGZvciBjbGFzc2VzIGRlcml2ZWQgZnJvbSA6Y2xhc3M6YFRlc3RDYXNlYCBhbmQKQEAgLTE1NzgsMTEgKzE1OTIsMTggQEAKIAogICAgICAgSWYgYSBtb2R1bGUgcHJvdmlkZXMgYSBgYGxvYWRfdGVzdHNgYCBmdW5jdGlvbiBpdCB3aWxsIGJlIGNhbGxlZCB0bwogICAgICAgbG9hZCB0aGUgdGVzdHMuIFRoaXMgYWxsb3dzIG1vZHVsZXMgdG8gY3VzdG9taXplIHRlc3QgbG9hZGluZy4KLSAgICAgIFRoaXMgaXMgdGhlIGBsb2FkX3Rlc3RzIHByb3RvY29sYF8uCisgICAgICBUaGlzIGlzIHRoZSBgbG9hZF90ZXN0cyBwcm90b2NvbGBfLiAgVGhlICpwYXR0ZXJuKiBhcmd1bWVudCBpcyBwYXNzZWQgYXMKKyAgICAgIHRoZSB0aGlyZCBhcmd1bWVudCB0byBgYGxvYWRfdGVzdHNgYC4KIAogICAgICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjIKICAgICAgICAgIFN1cHBvcnQgZm9yIGBgbG9hZF90ZXN0c2BgIGFkZGVkLgogCisgICAgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuNQorICAgICAgICAgVGhlIHVuZG9jdW1lbnRlZCBhbmQgdW5vZmZpY2lhbCAqdXNlX2xvYWRfdGVzdHMqIGRlZmF1bHQgYXJndW1lbnQgaXMKKyAgICAgICAgIGRlcHJlY2F0ZWQgYW5kIGlnbm9yZWQsIGFsdGhvdWdoIGl0IGlzIHN0aWxsIGFjY2VwdGVkIGZvciBiYWNrd2FyZAorICAgICAgICAgY29tcGF0aWJpbGl0eS4gIFRoZSBtZXRob2QgYWxzbyBub3cgYWNjZXB0cyBhIGtleXdvcmQtb25seSBhcmd1bWVudAorICAgICAgICAgKnBhdHRlcm4qIHdoaWNoIGlzIHBhc3NlZCB0byBgYGxvYWRfdGVzdHNgYCBhcyB0aGUgdGhpcmQgYXJndW1lbnQuCisKIAogICAgLi4gbWV0aG9kOjogbG9hZFRlc3RzRnJvbU5hbWUobmFtZSwgbW9kdWxlPU5vbmUpCiAKQEAgLTE2MDgsNiArMTYyOSwxMiBAQAogCiAgICAgICBUaGUgbWV0aG9kIG9wdGlvbmFsbHkgcmVzb2x2ZXMgKm5hbWUqIHJlbGF0aXZlIHRvIHRoZSBnaXZlbiAqbW9kdWxlKi4KIAorICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjUKKyAgICAgIElmIGFuIDpleGM6YEltcG9ydEVycm9yYCBvciA6ZXhjOmBBdHRyaWJ1dGVFcnJvcmAgb2NjdXJzIHdoaWxlIHRyYXZlcnNpbmcKKyAgICAgICpuYW1lKiB0aGVuIGEgc3ludGhldGljIHRlc3QgdGhhdCByYWlzZXMgdGhhdCBlcnJvciB3aGVuIHJ1biB3aWxsIGJlCisgICAgICByZXR1cm5lZC4gVGhlc2UgZXJyb3JzIGFyZSBpbmNsdWRlZCBpbiB0aGUgZXJyb3JzIGFjY3VtdWxhdGVkIGJ5CisgICAgICBzZWxmLmVycm9ycy4KKwogCiAgICAuLiBtZXRob2Q6OiBsb2FkVGVzdHNGcm9tTmFtZXMobmFtZXMsIG1vZHVsZT1Ob25lKQogCkBAIC0xNjM0LDE4ICsxNjYxLDIyIEBACiAgICAgICB0aGUgc3RhcnQgZGlyZWN0b3J5IGlzIG5vdCB0aGUgdG9wIGxldmVsIGRpcmVjdG9yeSB0aGVuIHRoZSB0b3AgbGV2ZWwKICAgICAgIGRpcmVjdG9yeSBtdXN0IGJlIHNwZWNpZmllZCBzZXBhcmF0ZWx5LgogCi0gICAgICBJZiBpbXBvcnRpbmcgYSBtb2R1bGUgZmFpbHMsIGZvciBleGFtcGxlIGR1ZSB0byBhIHN5bnRheCBlcnJvciwgdGhlbiB0aGlzCi0gICAgICB3aWxsIGJlIHJlY29yZGVkIGFzIGEgc2luZ2xlIGVycm9yIGFuZCBkaXNjb3Zlcnkgd2lsbCBjb250aW51ZS4gIElmIHRoZQotICAgICAgaW1wb3J0IGZhaWx1cmUgaXMgZHVlIHRvIDpleGM6YFNraXBUZXN0YCBiZWluZyByYWlzZWQsIGl0IHdpbGwgYmUgcmVjb3JkZWQKLSAgICAgIGFzIGEgc2tpcCBpbnN0ZWFkIG9mIGFuIGVycm9yLgorICAgICAgSWYgaW1wb3J0aW5nIGEgbW9kdWxlIGZhaWxzLCBmb3IgZXhhbXBsZSBkdWUgdG8gYSBzeW50YXggZXJyb3IsIHRoZW4KKyAgICAgIHRoaXMgd2lsbCBiZSByZWNvcmRlZCBhcyBhIHNpbmdsZSBlcnJvciBhbmQgZGlzY292ZXJ5IHdpbGwgY29udGludWUuICBJZgorICAgICAgdGhlIGltcG9ydCBmYWlsdXJlIGlzIGR1ZSB0byA6ZXhjOmBTa2lwVGVzdGAgYmVpbmcgcmFpc2VkLCBpdCB3aWxsIGJlCisgICAgICByZWNvcmRlZCBhcyBhIHNraXAgaW5zdGVhZCBvZiBhbiBlcnJvci4KIAotICAgICAgSWYgYSB0ZXN0IHBhY2thZ2UgbmFtZSAoZGlyZWN0b3J5IHdpdGggOmZpbGU6YF9faW5pdF9fLnB5YCkgbWF0Y2hlcyB0aGUKLSAgICAgIHBhdHRlcm4gdGhlbiB0aGUgcGFja2FnZSB3aWxsIGJlIGNoZWNrZWQgZm9yIGEgYGBsb2FkX3Rlc3RzYGAKLSAgICAgIGZ1bmN0aW9uLiBJZiB0aGlzIGV4aXN0cyB0aGVuIGl0IHdpbGwgYmUgY2FsbGVkIHdpdGggKmxvYWRlciosICp0ZXN0cyosCi0gICAgICAqcGF0dGVybiouCisgICAgICBJZiBhIHBhY2thZ2UgKGEgZGlyZWN0b3J5IGNvbnRhaW5pbmcgYSBmaWxlIG5hbWVkIDpmaWxlOmBfX2luaXRfXy5weWApIGlzCisgICAgICBmb3VuZCwgdGhlIHBhY2thZ2Ugd2lsbCBiZSBjaGVja2VkIGZvciBhIGBgbG9hZF90ZXN0c2BgIGZ1bmN0aW9uLiBJZiB0aGlzCisgICAgICBleGlzdHMgdGhlbiBpdCB3aWxsIGJlIGNhbGxlZAorICAgICAgYGBwYWNrYWdlLmxvYWRfdGVzdHMobG9hZGVyLCB0ZXN0cywgcGF0dGVybilgYC4gVGVzdCBkaXNjb3ZlcnkgdGFrZXMgY2FyZQorICAgICAgdG8gZW5zdXJlIHRoYXQgYSBwYWNrYWdlIGlzIG9ubHkgY2hlY2tlZCBmb3IgdGVzdHMgb25jZSBkdXJpbmcgYW4KKyAgICAgIGludm9jYXRpb24sIGV2ZW4gaWYgdGhlIGxvYWRfdGVzdHMgZnVuY3Rpb24gaXRzZWxmIGNhbGxzCisgICAgICBgYGxvYWRlci5kaXNjb3ZlcmBgLgogCi0gICAgICBJZiBgYGxvYWRfdGVzdHNgYCBleGlzdHMgdGhlbiBkaXNjb3ZlcnkgZG9lcyAqbm90KiByZWN1cnNlIGludG8gdGhlIHBhY2thZ2UsCi0gICAgICBgYGxvYWRfdGVzdHNgYCBpcyByZXNwb25zaWJsZSBmb3IgbG9hZGluZyBhbGwgdGVzdHMgaW4gdGhlIHBhY2thZ2UuCisgICAgICBJZiBgYGxvYWRfdGVzdHNgYCBleGlzdHMgdGhlbiBkaXNjb3ZlcnkgZG9lcyAqbm90KiByZWN1cnNlIGludG8gdGhlCisgICAgICBwYWNrYWdlLCBgYGxvYWRfdGVzdHNgYCBpcyByZXNwb25zaWJsZSBmb3IgbG9hZGluZyBhbGwgdGVzdHMgaW4gdGhlCisgICAgICBwYWNrYWdlLgogCiAgICAgICBUaGUgcGF0dGVybiBpcyBkZWxpYmVyYXRlbHkgbm90IHN0b3JlZCBhcyBhIGxvYWRlciBhdHRyaWJ1dGUgc28gdGhhdAogICAgICAgcGFja2FnZXMgY2FuIGNvbnRpbnVlIGRpc2NvdmVyeSB0aGVtc2VsdmVzLiAqdG9wX2xldmVsX2RpciogaXMgc3RvcmVkIHNvCkBAIC0xNjY0LDYgKzE2OTUsMTEgQEAKICAgICAgICAgICAgdGhlIHNhbWUgZXZlbiBpZiB0aGUgdW5kZXJseWluZyBmaWxlIHN5c3RlbSdzIG9yZGVyaW5nIGlzIG5vdAogICAgICAgICAgICBkZXBlbmRlbnQgb24gZmlsZSBuYW1lLgogCisgICAgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuNQorICAgICAgICAgRm91bmQgcGFja2FnZXMgYXJlIG5vdyBjaGVja2VkIGZvciBgYGxvYWRfdGVzdHNgYCByZWdhcmRsZXNzIG9mCisgICAgICAgICB3aGV0aGVyIHRoZWlyIHBhdGggbWF0Y2hlcyAqcGF0dGVybiosIGJlY2F1c2UgaXQgaXMgaW1wb3NzaWJsZSBmb3IKKyAgICAgICAgIGEgcGFja2FnZSBuYW1lIHRvIG1hdGNoIHRoZSBkZWZhdWx0IHBhdHRlcm4uCisKIAogICAgVGhlIGZvbGxvd2luZyBhdHRyaWJ1dGVzIG9mIGEgOmNsYXNzOmBUZXN0TG9hZGVyYCBjYW4gYmUgY29uZmlndXJlZCBlaXRoZXIgYnkKICAgIHN1YmNsYXNzaW5nIG9yIGFzc2lnbm1lbnQgb24gYW4gaW5zdGFuY2U6CkBAIC0yMDMyLDcgKzIwNjgsMTAgQEAKIElmIGEgdGVzdCBtb2R1bGUgZGVmaW5lcyBgYGxvYWRfdGVzdHNgYCBpdCB3aWxsIGJlIGNhbGxlZCBieQogOm1ldGg6YFRlc3RMb2FkZXIubG9hZFRlc3RzRnJvbU1vZHVsZWAgd2l0aCB0aGUgZm9sbG93aW5nIGFyZ3VtZW50czo6CiAKLSAgICBsb2FkX3Rlc3RzKGxvYWRlciwgc3RhbmRhcmRfdGVzdHMsIE5vbmUpCisgICAgbG9hZF90ZXN0cyhsb2FkZXIsIHN0YW5kYXJkX3Rlc3RzLCBwYXR0ZXJuKQorCit3aGVyZSAqcGF0dGVybiogaXMgcGFzc2VkIHN0cmFpZ2h0IHRocm91Z2ggZnJvbSBgYGxvYWRUZXN0c0Zyb21Nb2R1bGVgYC4gIEl0CitkZWZhdWx0cyB0byBgYE5vbmVgYC4KIAogSXQgc2hvdWxkIHJldHVybiBhIDpjbGFzczpgVGVzdFN1aXRlYC4KIApAQCAtMjA1NCwyMSArMjA5MywxMiBAQAogICAgICAgICAgICAgc3VpdGUuYWRkVGVzdHModGVzdHMpCiAgICAgICAgIHJldHVybiBzdWl0ZQogCi1JZiBkaXNjb3ZlcnkgaXMgc3RhcnRlZCwgZWl0aGVyIGZyb20gdGhlIGNvbW1hbmQgbGluZSBvciBieSBjYWxsaW5nCi06bWV0aDpgVGVzdExvYWRlci5kaXNjb3ZlcmAsIHdpdGggYSBwYXR0ZXJuIHRoYXQgbWF0Y2hlcyBhIHBhY2thZ2UKLW5hbWUgdGhlbiB0aGUgcGFja2FnZSA6ZmlsZTpgX19pbml0X18ucHlgIHdpbGwgYmUgY2hlY2tlZCBmb3IgYGBsb2FkX3Rlc3RzYGAuCi0KLS4uIG5vdGU6OgotCi0gICBUaGUgZGVmYXVsdCBwYXR0ZXJuIGlzIGBgJ3Rlc3QqLnB5J2BgLiBUaGlzIG1hdGNoZXMgYWxsIFB5dGhvbiBmaWxlcwotICAgdGhhdCBzdGFydCB3aXRoIGBgJ3Rlc3QnYGAgYnV0ICp3b24ndCogbWF0Y2ggYW55IHRlc3QgZGlyZWN0b3JpZXMuCi0KLSAgIEEgcGF0dGVybiBsaWtlIGBgJ3Rlc3QqJ2BgIHdpbGwgbWF0Y2ggdGVzdCBwYWNrYWdlcyBhcyB3ZWxsIGFzCi0gICBtb2R1bGVzLgotCi1JZiB0aGUgcGFja2FnZSA6ZmlsZTpgX19pbml0X18ucHlgIGRlZmluZXMgYGBsb2FkX3Rlc3RzYGAgdGhlbiBpdCB3aWxsIGJlCi1jYWxsZWQgYW5kIGRpc2NvdmVyeSBub3QgY29udGludWVkIGludG8gdGhlIHBhY2thZ2UuIGBgbG9hZF90ZXN0c2BgCi1pcyBjYWxsZWQgd2l0aCB0aGUgZm9sbG93aW5nIGFyZ3VtZW50czo6CitJZiBkaXNjb3ZlcnkgaXMgc3RhcnRlZCBpbiBhIGRpcmVjdG9yeSBjb250YWluaW5nIGEgcGFja2FnZSwgZWl0aGVyIGZyb20gdGhlCitjb21tYW5kIGxpbmUgb3IgYnkgY2FsbGluZyA6bWV0aDpgVGVzdExvYWRlci5kaXNjb3ZlcmAsIHRoZW4gdGhlIHBhY2thZ2UKKzpmaWxlOmBfX2luaXRfXy5weWAgd2lsbCBiZSBjaGVja2VkIGZvciBgYGxvYWRfdGVzdHNgYC4gIElmIHRoYXQgZnVuY3Rpb24gZG9lcworbm90IGV4aXN0LCBkaXNjb3Zlcnkgd2lsbCByZWN1cnNlIGludG8gdGhlIHBhY2thZ2UgYXMgdGhvdWdoIGl0IHdlcmUganVzdAorYW5vdGhlciBkaXJlY3RvcnkuICBPdGhlcndpc2UsIGRpc2NvdmVyeSBvZiB0aGUgcGFja2FnZSdzIHRlc3RzIHdpbGwgYmUgbGVmdCB1cAordG8gYGBsb2FkX3Rlc3RzYGAgd2hpY2ggaXMgY2FsbGVkIHdpdGggdGhlIGZvbGxvd2luZyBhcmd1bWVudHM6OgogCiAgICAgbG9hZF90ZXN0cyhsb2FkZXIsIHN0YW5kYXJkX3Rlc3RzLCBwYXR0ZXJuKQogCkBAIC0yMDg3LDYgKzIxMTcsMTEgQEAKICAgICAgICAgc3RhbmRhcmRfdGVzdHMuYWRkVGVzdHMocGFja2FnZV90ZXN0cykKICAgICAgICAgcmV0dXJuIHN0YW5kYXJkX3Rlc3RzCiAKKy4uIHZlcnNpb25jaGFuZ2VkOjogMy41CisgICBEaXNjb3Zlcnkgbm8gbG9uZ2VyIGNoZWNrcyBwYWNrYWdlIG5hbWVzIGZvciBtYXRjaGluZyAqcGF0dGVybiogZHVlIHRvIHRoZQorICAgaW1wb3NzaWJpbGl0eSBvZiBwYWNrYWdlIG5hbWVzIG1hdGNoaW5nIHRoZSBkZWZhdWx0IHBhdHRlcm4uCisKKwogCiBDbGFzcyBhbmQgTW9kdWxlIEZpeHR1cmVzCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS91cmxsaWIucGFyc2UucnN0IGIvRG9jL2xpYnJhcnkvdXJsbGliLnBhcnNlLnJzdAppbmRleCAxNTRhNTIxLi4zZWNkZGExIDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS91cmxsaWIucGFyc2UucnN0CisrKyBiL0RvYy9saWJyYXJ5L3VybGxpYi5wYXJzZS5yc3QKQEAgLTI2OCw2ICsyNjgsMTEgQEAKICAgIDpmdW5jOmB1cmx1bnNwbGl0YCwgcmVtb3ZpbmcgcG9zc2libGUgKnNjaGVtZSogYW5kICpuZXRsb2MqIHBhcnRzLgogCiAKKyAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy41CisKKyAgICAgIEJlaGF2aW91ciB1cGRhdGVkIHRvIG1hdGNoIHRoZSBzZW1hbnRpY3MgZGVmaW5lZCBpbiA6cmZjOmAzOTg2YC4KKworCiAuLiBmdW5jdGlvbjo6IHVybGRlZnJhZyh1cmwpCiAKICAgIElmICp1cmwqIGNvbnRhaW5zIGEgZnJhZ21lbnQgaWRlbnRpZmllciwgcmV0dXJuIGEgbW9kaWZpZWQgdmVyc2lvbiBvZiAqdXJsKgpkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvdXJsbGliLnJlcXVlc3QucnN0IGIvRG9jL2xpYnJhcnkvdXJsbGliLnJlcXVlc3QucnN0CmluZGV4IDI0OTM5NmUuLjI0MDA1MjYgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L3VybGxpYi5yZXF1ZXN0LnJzdAorKysgYi9Eb2MvbGlicmFyeS91cmxsaWIucmVxdWVzdC5yc3QKQEAgLTYzLDcgKzYzLDcgQEAKICAgIDpjbGFzczpgaHR0cC5jbGllbnQuSFRUUFJlc3BvbnNlYCBvYmplY3Qgd2hpY2ggaGFzIHRoZSBmb2xsb3dpbmcKICAgIDpyZWY6YGh0dHByZXNwb25zZS1vYmplY3RzYCBtZXRob2RzLgogCi0gICBGb3IgZnRwLCBmaWxlLCBhbmQgZGF0YSB1cmxzIGFuZCByZXF1ZXN0cyBleHBsaWNpdHkgaGFuZGxlZCBieSBsZWdhY3kKKyAgIEZvciBmdHAsIGZpbGUsIGFuZCBkYXRhIHVybHMgYW5kIHJlcXVlc3RzIGV4cGxpY2l0bHkgaGFuZGxlZCBieSBsZWdhY3kKICAgIDpjbGFzczpgVVJMb3BlbmVyYCBhbmQgOmNsYXNzOmBGYW5jeVVSTG9wZW5lcmAgY2xhc3NlcywgdGhpcyBmdW5jdGlvbgogICAgcmV0dXJucyBhIDpjbGFzczpgdXJsbGliLnJlc3BvbnNlLmFkZGluZm91cmxgIG9iamVjdCB3aGljaCBjYW4gd29yayBhcwogICAgOnRlcm06YGNvbnRleHQgbWFuYWdlcmAgYW5kIGhhcyBtZXRob2RzIHN1Y2ggYXMKQEAgLTExMCw2ICsxMTAsNyBAQAogICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjQuMwogICAgICAgKmNvbnRleHQqIHdhcyBhZGRlZC4KIAorCiAuLiBmdW5jdGlvbjo6IGluc3RhbGxfb3BlbmVyKG9wZW5lcikKIAogICAgSW5zdGFsbCBhbiA6Y2xhc3M6YE9wZW5lckRpcmVjdG9yYCBpbnN0YW5jZSBhcyB0aGUgZGVmYXVsdCBnbG9iYWwgb3BlbmVyLgpAQCAtMzAwLDYgKzMwMSwxNyBAQAogICAgcHJlc2VudGVkIHdpdGggYSB3cm9uZyBBdXRoZW50aWNhdGlvbiBzY2hlbWUuCiAKIAorLi4gY2xhc3M6OiBIVFRQQmFzaWNQcmlvckF1dGhIYW5kbGVyKHBhc3N3b3JkX21ncj1Ob25lKQorCisgICBBIHZhcmlhbnQgb2YgOmNsYXNzOmBIVFRQQmFzaWNBdXRoSGFuZGxlcmAgd2hpY2ggYXV0b21hdGljYWxseSBzZW5kcworICAgYXV0aG9yaXphdGlvbiBjcmVkZW50aWFscyB3aXRoIHRoZSBmaXJzdCByZXF1ZXN0LCByYXRoZXIgdGhhbiB3YWl0aW5nIHRvCisgICBmaXJzdCByZWNlaXZlIGEgSFRUUCA0MDEgIlVuYXV0aG9yaXNlZCIgZXJyb3IgcmVzcG9uc2UuIFRoaXMgYWxsb3dzCisgICBhdXRoZW50aWNhdGlvbiB0byBzaXRlcyB0aGF0IGRvbid0IHByb3ZpZGUgYSA0MDEgcmVzcG9uc2Ugd2hlbiByZWNlaXZpbmcKKyAgIGEgcmVxdWVzdCB3aXRob3V0IGFuIEF1dGhvcml6YXRpb24gaGVhZGVyLiBBc2lkZSBmcm9tIHRoaXMgZGlmZmVyZW5jZSwKKyAgIHRoaXMgYmVoYXZlcyBleGFjdGx5IGFzIDpjbGFzczpgSFRUUEJhc2ljQXV0aEhhbmRsZXJgLgorCisgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjUKKwogLi4gY2xhc3M6OiBQcm94eUJhc2ljQXV0aEhhbmRsZXIocGFzc3dvcmRfbWdyPU5vbmUpCiAKICAgIEhhbmRsZSBhdXRoZW50aWNhdGlvbiB3aXRoIHRoZSBwcm94eS4gKnBhc3N3b3JkX21nciosIGlmIGdpdmVuLCBzaG91bGQgYmUKQEAgLTEwNjYsNyArMTA3OCw3IEBACiB0aGUgdmFyaW91cyB3YXlzIGluIHdoaWNoIGEgKFgpSFRNTCBvciBhIFhNTCBkb2N1bWVudCBjb3VsZCBoYXZlIHNwZWNpZmllZCBpdHMKIGVuY29kaW5nIGluZm9ybWF0aW9uLgogCi1BcyB0aGUgcHl0aG9uLm9yZyB3ZWJzaXRlIHVzZXMgKnV0Zi04KiBlbmNvZGluZyBhcyBzcGVjaWZpZWQgaW4gaXQncyBtZXRhIHRhZywgd2UKK0FzIHRoZSBweXRob24ub3JnIHdlYnNpdGUgdXNlcyAqdXRmLTgqIGVuY29kaW5nIGFzIHNwZWNpZmllZCBpbiBpdHMgbWV0YSB0YWcsIHdlCiB3aWxsIHVzZSB0aGUgc2FtZSBmb3IgZGVjb2RpbmcgdGhlIGJ5dGVzIG9iamVjdC4gOjoKIAogICAgPj4+IHdpdGggdXJsbGliLnJlcXVlc3QudXJsb3BlbignaHR0cDovL3d3dy5weXRob24ub3JnLycpIGFzIGY6CmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS93ZWFrcmVmLnJzdCBiL0RvYy9saWJyYXJ5L3dlYWtyZWYucnN0CmluZGV4IDljYTYwYTkuLjJlMTYwNzcgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L3dlYWtyZWYucnN0CisrKyBiL0RvYy9saWJyYXJ5L3dlYWtyZWYucnN0CkBAIC0yNTgsNyArMjU4LDcgQEAKICAgIGFyZSBjYWxsZWQgaW4gcmV2ZXJzZSBvcmRlciBvZiBjcmVhdGlvbi4KIAogICAgQSBmaW5hbGl6ZXIgd2lsbCBuZXZlciBpbnZva2UgaXRzIGNhbGxiYWNrIGR1cmluZyB0aGUgbGF0ZXIgcGFydCBvZgotICAgdGhlIGludGVycHJldGVyIHNodXRkb3duIHdoZW4gbW9kdWxlIGdsb2JhbHMgYXJlIGxpYWJsZSB0byBoYXZlCisgICB0aGUgOnRlcm06YGludGVycHJldGVyIHNodXRkb3duYCB3aGVuIG1vZHVsZSBnbG9iYWxzIGFyZSBsaWFibGUgdG8gaGF2ZQogICAgYmVlbiByZXBsYWNlZCBieSA6Y29uc3Q6YE5vbmVgLgogCiAgICAuLiBtZXRob2Q6OiBfX2NhbGxfXygpCkBAIC01MjcsOCArNTI3LDggQEAKIAogU3RhcnRpbmcgd2l0aCBQeXRob24gMy40LCA6bWV0aDpgX19kZWxfX2AgbWV0aG9kcyBubyBsb25nZXIgcHJldmVudAogcmVmZXJlbmNlIGN5Y2xlcyBmcm9tIGJlaW5nIGdhcmJhZ2UgY29sbGVjdGVkLCBhbmQgbW9kdWxlIGdsb2JhbHMgYXJlCi1ubyBsb25nZXIgZm9yY2VkIHRvIDpjb25zdDpgTm9uZWAgZHVyaW5nIGludGVycHJldGVyIHNodXRkb3duLiBTbyB0aGlzCi1jb2RlIHNob3VsZCB3b3JrIHdpdGhvdXQgYW55IGlzc3VlcyBvbiBDUHl0aG9uLgorbm8gbG9uZ2VyIGZvcmNlZCB0byA6Y29uc3Q6YE5vbmVgIGR1cmluZyA6dGVybTpgaW50ZXJwcmV0ZXIgc2h1dGRvd25gLgorU28gdGhpcyBjb2RlIHNob3VsZCB3b3JrIHdpdGhvdXQgYW55IGlzc3VlcyBvbiBDUHl0aG9uLgogCiBIb3dldmVyLCBoYW5kbGluZyBvZiA6bWV0aDpgX19kZWxfX2AgbWV0aG9kcyBpcyBub3RvcmlvdXNseSBpbXBsZW1lbnRhdGlvbgogc3BlY2lmaWMsIHNpbmNlIGl0IGRlcGVuZHMgb24gaW50ZXJuYWwgZGV0YWlscyBvZiB0aGUgaW50ZXJwcmV0ZXIncyBnYXJiYWdlCkBAIC01NjYsOCArNTY2LDggQEAKIAogLi4gbm90ZTo6CiAKLSAgIElmIHlvdSBjcmVhdGUgYSBmaW5hbGl6ZXIgb2JqZWN0IGluIGEgZGFlbW9uaWMgdGhyZWFkIGp1c3QgYXMgdGhlCi0gICB0aGUgcHJvZ3JhbSBleGl0cyB0aGVuIHRoZXJlIGlzIHRoZSBwb3NzaWJpbGl0eSB0aGF0IHRoZSBmaW5hbGl6ZXIKKyAgIElmIHlvdSBjcmVhdGUgYSBmaW5hbGl6ZXIgb2JqZWN0IGluIGEgZGFlbW9uaWMgdGhyZWFkIGp1c3QgYXMgdGhlIHByb2dyYW0KKyAgIGV4aXRzIHRoZW4gdGhlcmUgaXMgdGhlIHBvc3NpYmlsaXR5IHRoYXQgdGhlIGZpbmFsaXplcgogICAgZG9lcyBub3QgZ2V0IGNhbGxlZCBhdCBleGl0LiAgSG93ZXZlciwgaW4gYSBkYWVtb25pYyB0aHJlYWQKICAgIDpmdW5jOmBhdGV4aXQucmVnaXN0ZXJgLCBgYHRyeTogLi4uIGZpbmFsbHk6IC4uLmBgIGFuZCBgYHdpdGg6IC4uLmBgCiAgICBkbyBub3QgZ3VhcmFudGVlIHRoYXQgY2xlYW51cCBvY2N1cnMgZWl0aGVyLgpkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvd2ViYnJvd3Nlci5yc3QgYi9Eb2MvbGlicmFyeS93ZWJicm93c2VyLnJzdAppbmRleCBlZjYzNzY5Li5hYTVlNGFkIDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS93ZWJicm93c2VyLnJzdAorKysgYi9Eb2MvbGlicmFyeS93ZWJicm93c2VyLnJzdApAQCAtMjAsNyArMjAsNyBAQAogdGhlIHVzZXIgZXhpdHMgdGhlIGJyb3dzZXIuCiAKIElmIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZSA6ZW52dmFyOmBCUk9XU0VSYCBleGlzdHMsIGl0IGlzIGludGVycHJldGVkIGFzIHRoZQotOmRhdGE6YG9zLnBhdGhzZXBgLXNlcGFyYXRlZCBsaXN0IG9mIGJyb3dzZXJzIHRvIHRyeSBhaGVhZCBvZiB0aGUgdGhlIHBsYXRmb3JtCis6ZGF0YTpgb3MucGF0aHNlcGAtc2VwYXJhdGVkIGxpc3Qgb2YgYnJvd3NlcnMgdG8gdHJ5IGFoZWFkIG9mIHRoZSBwbGF0Zm9ybQogZGVmYXVsdHMuICBXaGVuIHRoZSB2YWx1ZSBvZiBhIGxpc3QgcGFydCBjb250YWlucyB0aGUgc3RyaW5nIGBgJXNgYCwgdGhlbiBpdCBpcwogaW50ZXJwcmV0ZWQgYXMgYSBsaXRlcmFsIGJyb3dzZXIgY29tbWFuZCBsaW5lIHRvIGJlIHVzZWQgd2l0aCB0aGUgYXJndW1lbnQgVVJMCiBzdWJzdGl0dXRlZCBmb3IgYGAlc2BgOyBpZiB0aGUgcGFydCBkb2VzIG5vdCBjb250YWluIGBgJXNgYCwgaXQgaXMgc2ltcGx5CmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS93c2dpcmVmLnJzdCBiL0RvYy9saWJyYXJ5L3dzZ2lyZWYucnN0CmluZGV4IDFjZWYyZTkuLjIyMzgxNDAgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L3dzZ2lyZWYucnN0CisrKyBiL0RvYy9saWJyYXJ5L3dzZ2lyZWYucnN0CkBAIC0xODQsMTAgKzE4NCwxMSBAQAogbWFuaXB1bGF0aW9uIG9mIFdTR0kgcmVzcG9uc2UgaGVhZGVycyB1c2luZyBhIG1hcHBpbmctbGlrZSBpbnRlcmZhY2UuCiAKIAotLi4gY2xhc3M6OiBIZWFkZXJzKGhlYWRlcnMpCisuLiBjbGFzczo6IEhlYWRlcnMoW2hlYWRlcnNdKQogCiAgICBDcmVhdGUgYSBtYXBwaW5nLWxpa2Ugb2JqZWN0IHdyYXBwaW5nICpoZWFkZXJzKiwgd2hpY2ggbXVzdCBiZSBhIGxpc3Qgb2YgaGVhZGVyCi0gICBuYW1lL3ZhbHVlIHR1cGxlcyBhcyBkZXNjcmliZWQgaW4gOnBlcDpgMzMzM2AuCisgICBuYW1lL3ZhbHVlIHR1cGxlcyBhcyBkZXNjcmliZWQgaW4gOnBlcDpgMzMzM2AuIFRoZSBkZWZhdWx0IHZhbHVlIG9mICpoZWFkZXJzKiBpcworICAgYW4gZW1wdHkgbGlzdC4KIAogICAgOmNsYXNzOmBIZWFkZXJzYCBvYmplY3RzIHN1cHBvcnQgdHlwaWNhbCBtYXBwaW5nIG9wZXJhdGlvbnMgaW5jbHVkaW5nCiAgICA6bWV0aDpgX19nZXRpdGVtX19gLCA6bWV0aDpgZ2V0YCwgOm1ldGg6YF9fc2V0aXRlbV9fYCwgOm1ldGg6YHNldGRlZmF1bHRgLApAQCAtMjUxLDYgKzI1MiwxMCBAQAogICAgICAgICAgQ29udGVudC1EaXNwb3NpdGlvbjogYXR0YWNobWVudDsgZmlsZW5hbWU9ImJ1ZC5naWYiCiAKIAorICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjUKKyAgICAgICpoZWFkZXJzKiBwYXJhbWV0ZXIgaXMgb3B0aW9uYWwuCisKKwogOm1vZDpgd3NnaXJlZi5zaW1wbGVfc2VydmVyYCAtLSBhIHNpbXBsZSBXU0dJIEhUVFAgc2VydmVyCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIApkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkveG1sLmRvbS5yc3QgYi9Eb2MvbGlicmFyeS94bWwuZG9tLnJzdAppbmRleCAxOTUxMmVkLi40OTE0NzM4IDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS94bWwuZG9tLnJzdAorKysgYi9Eb2MvbGlicmFyeS94bWwuZG9tLnJzdApAQCAtNDEyLDcgKzQxMiw3IEBACiAuLiBtZXRob2Q6OiBOb2RlTGlzdC5pdGVtKGkpCiAKICAgIFJldHVybiB0aGUgKmkqJ3RoIGl0ZW0gZnJvbSB0aGUgc2VxdWVuY2UsIGlmIHRoZXJlIGlzIG9uZSwgb3IgYGBOb25lYGAuICBUaGUKLSAgIGluZGV4ICppKiBpcyBub3QgYWxsb3dlZCB0byBiZSBsZXNzIHRoZW4gemVybyBvciBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gdGhlCisgICBpbmRleCAqaSogaXMgbm90IGFsbG93ZWQgdG8gYmUgbGVzcyB0aGFuIHplcm8gb3IgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIHRoZQogICAgbGVuZ3RoIG9mIHRoZSBzZXF1ZW5jZS4KIAogCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS94bWxycGMuY2xpZW50LnJzdCBiL0RvYy9saWJyYXJ5L3htbHJwYy5jbGllbnQucnN0CmluZGV4IGNjNWU4M2EuLmUxOTk5MzEgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L3htbHJwYy5jbGllbnQucnN0CisrKyBiL0RvYy9saWJyYXJ5L3htbHJwYy5jbGllbnQucnN0CkBAIC0yNyw3ICsyNyw3IEBACiAgICBjb25zdHJ1Y3RlZCBkYXRhLiAgSWYgeW91IG5lZWQgdG8gcGFyc2UgdW50cnVzdGVkIG9yIHVuYXV0aGVudGljYXRlZCBkYXRhIHNlZQogICAgOnJlZjpgeG1sLXZ1bG5lcmFiaWxpdGllc2AuCiAKLS4uIHZlcnNpb25jaGFuZ2VkOjogMy40LjMKKy4uIHZlcnNpb25jaGFuZ2VkOjogMy41CiAKICAgIEZvciBodHRwcyBVUklzLCA6bW9kOmB4bWxycGMuY2xpZW50YCBub3cgcGVyZm9ybXMgYWxsIHRoZSBuZWNlc3NhcnkKICAgIGNlcnRpZmljYXRlIGFuZCBob3N0bmFtZSBjaGVja3MgYnkgZGVmYXVsdApAQCAtMTI5LDcgKzEyOSw3IEBACiAgICA6Y2xhc3M6YFNlcnZlcmAgaXMgcmV0YWluZWQgYXMgYW4gYWxpYXMgZm9yIDpjbGFzczpgU2VydmVyUHJveHlgIGZvciBiYWNrd2FyZHMKICAgIGNvbXBhdGliaWxpdHkuICBOZXcgY29kZSBzaG91bGQgdXNlIDpjbGFzczpgU2VydmVyUHJveHlgLgogCi0gICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuNC4zCisgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuNQogICAgICAgQWRkZWQgdGhlICpjb250ZXh0KiBhcmd1bWVudC4KIAogCkBAIC0yMDAsNiArMjAwLDExIEBACiAgICBubyBzdWNoIHN0cmluZyBpcyBhdmFpbGFibGUsIGFuIGVtcHR5IHN0cmluZyBpcyByZXR1cm5lZC4gVGhlIGRvY3VtZW50YXRpb24KICAgIHN0cmluZyBtYXkgY29udGFpbiBIVE1MIG1hcmt1cC4KIAorLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjUKKworICAgSW5zdGFuY2VzIG9mIDpjbGFzczpgU2VydmVyUHJveHlgIHN1cHBvcnQgdGhlIDp0ZXJtOmBjb250ZXh0IG1hbmFnZXJgIHByb3RvY29sCisgICBmb3IgY2xvc2luZyB0aGUgdW5kZXJseWluZyB0cmFuc3BvcnQuCisKIAogQSB3b3JraW5nIGV4YW1wbGUgZm9sbG93cy4gVGhlIHNlcnZlciBjb2RlOjoKIApAQCAtMjE3LDkgKzIyMiw5IEBACiAKICAgIGltcG9ydCB4bWxycGMuY2xpZW50CiAKLSAgIHByb3h5ID0geG1scnBjLmNsaWVudC5TZXJ2ZXJQcm94eSgiaHR0cDovL2xvY2FsaG9zdDo4MDAwLyIpCi0gICBwcmludCgiMyBpcyBldmVuOiAlcyIgJSBzdHIocHJveHkuaXNfZXZlbigzKSkpCi0gICBwcmludCgiMTAwIGlzIGV2ZW46ICVzIiAlIHN0cihwcm94eS5pc19ldmVuKDEwMCkpKQorICAgd2l0aCB4bWxycGMuY2xpZW50LlNlcnZlclByb3h5KCJodHRwOi8vbG9jYWxob3N0OjgwMDAvIikgYXMgcHJveHk6CisgICAgICAgcHJpbnQoIjMgaXMgZXZlbjogJXMiICUgc3RyKHByb3h5LmlzX2V2ZW4oMykpKQorICAgICAgIHByaW50KCIxMDAgaXMgZXZlbjogJXMiICUgc3RyKHByb3h5LmlzX2V2ZW4oMTAwKSkpCiAKIC4uIF9kYXRldGltZS1vYmplY3RzOgogCkBAIC01MjcsMTQgKzUzMiwxNCBAQAogICAgZnJvbSB4bWxycGMuY2xpZW50IGltcG9ydCBTZXJ2ZXJQcm94eSwgRXJyb3IKIAogICAgIyBzZXJ2ZXIgPSBTZXJ2ZXJQcm94eSgiaHR0cDovL2xvY2FsaG9zdDo4MDAwIikgIyBsb2NhbCBzZXJ2ZXIKLSAgIHNlcnZlciA9IFNlcnZlclByb3h5KCJodHRwOi8vYmV0dHkudXNlcmxhbmQuY29tIikKKyAgIHdpdGggU2VydmVyUHJveHkoImh0dHA6Ly9iZXR0eS51c2VybGFuZC5jb20iKSBhcyBwcm94eToKIAotICAgcHJpbnQoc2VydmVyKQorICAgICAgIHByaW50KHByb3h5KQogCi0gICB0cnk6Ci0gICAgICAgcHJpbnQoc2VydmVyLmV4YW1wbGVzLmdldFN0YXRlTmFtZSg0MSkpCi0gICBleGNlcHQgRXJyb3IgYXMgdjoKLSAgICAgICBwcmludCgiRVJST1IiLCB2KQorICAgICAgIHRyeToKKyAgICAgICAgICAgcHJpbnQocHJveHkuZXhhbXBsZXMuZ2V0U3RhdGVOYW1lKDQxKSkKKyAgICAgICBleGNlcHQgRXJyb3IgYXMgdjoKKyAgICAgICAgICAgcHJpbnQoIkVSUk9SIiwgdikKIAogVG8gYWNjZXNzIGFuIFhNTC1SUEMgc2VydmVyIHRocm91Z2ggYSBwcm94eSwgeW91IG5lZWQgdG8gZGVmaW5lICBhIGN1c3RvbQogdHJhbnNwb3J0LiAgVGhlIGZvbGxvd2luZyBleGFtcGxlIHNob3dzIGhvdzoKZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L3ppcGZpbGUucnN0IGIvRG9jL2xpYnJhcnkvemlwZmlsZS5yc3QKaW5kZXggMWQyM2E3Yy4uNDY1ZDc4NiAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvemlwZmlsZS5yc3QKKysrIGIvRG9jL2xpYnJhcnkvemlwZmlsZS5yc3QKQEAgLTIxOSwxNCArMjE5LDggQEAKIAogICAgLi4gbm90ZTo6CiAKLSAgICAgIElmIHRoZSBaaXBGaWxlIHdhcyBjcmVhdGVkIGJ5IHBhc3NpbmcgaW4gYSBmaWxlLWxpa2Ugb2JqZWN0IGFzIHRoZSAgZmlyc3QKLSAgICAgIGFyZ3VtZW50IHRvIHRoZSBjb25zdHJ1Y3RvciwgdGhlbiB0aGUgb2JqZWN0IHJldHVybmVkIGJ5IDptZXRoOmAub3BlbmAgc2hhcmVzIHRoZQotICAgICAgWmlwRmlsZSdzIGZpbGUgcG9pbnRlci4gIFVuZGVyIHRoZXNlICBjaXJjdW1zdGFuY2VzLCB0aGUgb2JqZWN0IHJldHVybmVkIGJ5Ci0gICAgICA6bWV0aDpgLm9wZW5gIHNob3VsZCBub3QgIGJlIHVzZWQgYWZ0ZXIgYW55IGFkZGl0aW9uYWwgb3BlcmF0aW9ucyBhcmUgcGVyZm9ybWVkCi0gICAgICBvbiB0aGUgIFppcEZpbGUgb2JqZWN0LiAgSWYgdGhlIFppcEZpbGUgd2FzIGNyZWF0ZWQgYnkgcGFzc2luZyBpbiBhIHN0cmluZyAodGhlCi0gICAgICBmaWxlbmFtZSkgYXMgdGhlIGZpcnN0IGFyZ3VtZW50IHRvIHRoZSBjb25zdHJ1Y3RvciwgdGhlbiAgOm1ldGg6YC5vcGVuYCB3aWxsCi0gICAgICBjcmVhdGUgYSBuZXcgZmlsZSBvYmplY3QgdGhhdCB3aWxsIGJlIGhlbGQgYnkgdGhlIFppcEV4dEZpbGUsIGFsbG93aW5nIGl0IHRvCi0gICAgICBvcGVyYXRlIGluZGVwZW5kZW50bHkgb2YgdGhlICBaaXBGaWxlLgorICAgICAgT2JqZWN0cyByZXR1cm5lZCBieSA6bWV0aDpgLm9wZW5gIGNhbiBvcGVyYXRlIGluZGVwZW5kZW50bHkgb2YgdGhlCisgICAgICBaaXBGaWxlLgogCiAgICAuLiBub3RlOjoKIApkaWZmIC0tZ2l0IGEvRG9jL21ha2UuYmF0IGIvRG9jL21ha2UuYmF0CmluZGV4IDEwNzAxNjYuLjZhYWUzNGEgMTAwNjQ0Ci0tLSBhL0RvYy9tYWtlLmJhdAorKysgYi9Eb2MvbWFrZS5iYXQKQEAgLTgsOSArOCwxNyBAQAogaWYgIiVTUEhJTlhCVUlMRCUiIEVRVSAiIiBzZXQgU1BISU5YQlVJTEQ9c3BoaW54LWJ1aWxkCiBpZiAiJVBZVEhPTiUiIEVRVSAiIiBzZXQgUFlUSE9OPXB5CiAKLWlmIERFRklORUQgUHJvZ3JhbUZpbGVzKHg4Nikgc2V0IF9QUkdNRkxTPSVQcm9ncmFtRmlsZXMoeDg2KSUKLWlmIE5PVCBERUZJTkVEIFByb2dyYW1GaWxlcyh4ODYpIHNldCBfUFJHTUZMUz0lUHJvZ3JhbUZpbGVzJQotaWYgIiVIVE1MSEVMUCUiIEVRVSAiIiBzZXQgSFRNTEhFTFA9JV9QUkdNRkxTJVxIVE1MIEhlbHAgV29ya3Nob3BcaGhjLmV4ZQoraWYgIiUxIiBORVEgImh0bWxoZWxwIiBnb3RvIDpza2lwaGhjc2VhcmNoCitpZiBleGlzdCAiJUhUTUxIRUxQJSIgZ290byA6c2tpcGhoY3NlYXJjaAorCityZW0gU2VhcmNoIGZvciBISEMgaW4gbGlrZWx5IHBsYWNlcworc2V0IEhUTUxIRUxQPQord2hlcmUgaGhjIC9xICYmIHNldCBIVE1MSEVMUD1oaGMgJiYgZ290byA6c2tpcGhoY3NlYXJjaAord2hlcmUgL1IgLi5cZXh0ZXJuYWxzIGhoYyA+ICIlVEVNUCVcaGhjLmxvYyIgMj4gbnVsICYmIHNldCAvUCBIVE1MSEVMUD0gPCAiJVRFTVAlXGhoYy5sb2MiICYgZGVsICIlVEVNUCVcaGhjLmxvYyIKK2lmIG5vdCBleGlzdCAiJUhUTUxIRUxQJSIgd2hlcmUgL1IgIiVQcm9ncmFtRmlsZXMoeDg2KSUiIGhoYyA+ICIlVEVNUCVcaGhjLmxvYyIgMj4gbnVsICYmIHNldCAvUCBIVE1MSEVMUD0gPCAiJVRFTVAlXGhoYy5sb2MiICYgZGVsICIlVEVNUCVcaGhjLmxvYyIKK2lmIG5vdCBleGlzdCAiJUhUTUxIRUxQJSIgd2hlcmUgL1IgIiVQcm9ncmFtRmlsZXMlIiBoaGMgPiAiJVRFTVAlXGhoYy5sb2MiIDI+IG51bCAmJiBzZXQgL1AgSFRNTEhFTFA9IDwgIiVURU1QJVxoaGMubG9jIiAmIGRlbCAiJVRFTVAlXGhoYy5sb2MiCitpZiBub3QgZXhpc3QgIiVIVE1MSEVMUCUiIGVjaG8gQ2Fubm90IGZpbmQgSEhDIG9uIFBBVEggb3IgaW4gZXh0ZXJuYWxzICYgZXhpdCAvQiAxCis6c2tpcGhoY3NlYXJjaAogCiBpZiAiJURJU1RWRVJTSU9OJSIgRVFVICIiIGZvciAvZiAidXNlYmFja3EiICUldiBpbiAoYCVQWVRIT04lIHRvb2xzL2V4dGVuc2lvbnMvcGF0Y2hsZXZlbC5weWApIGRvIHNldCBESVNUVkVSU0lPTj0lJXYKIApAQCAtMzYsNyArNDQsOCBAQAogICAgIGVjaG8uCiAgICAgZWNoby5JZiB5b3UgZG9uJ3QgaGF2ZSBTcGhpbnggaW5zdGFsbGVkLCBncmFiIGl0IGZyb20KICAgICBlY2hvLmh0dHA6Ly9zcGhpbngtZG9jLm9yZy8KLSAgICBnb3RvIGVuZAorICAgIHBvcGQKKyAgICBleGl0IC9CIDEKICkKIAogcmVtIFRhcmdldHMgdGhhdCBkbyByZXF1aXJlIHNwaGlueC1idWlsZCBhbmQgaGF2ZSB0aGVpciBvd24gbGFiZWwKZGlmZiAtLWdpdCBhL0RvYy9yZWZlcmVuY2UvZGF0YW1vZGVsLnJzdCBiL0RvYy9yZWZlcmVuY2UvZGF0YW1vZGVsLnJzdAppbmRleCBlMzY0NmY4Li41ZTkwOWE5IDEwMDY0NAotLS0gYS9Eb2MvcmVmZXJlbmNlL2RhdGFtb2RlbC5yc3QKKysrIGIvRG9jL3JlZmVyZW5jZS9kYXRhbW9kZWwucnN0CkBAIC0xOTg2LDYgKzE5ODYsNyBAQAogLi4gbWV0aG9kOjogb2JqZWN0Ll9fYWRkX18oc2VsZiwgb3RoZXIpCiAgICAgICAgICAgICBvYmplY3QuX19zdWJfXyhzZWxmLCBvdGhlcikKICAgICAgICAgICAgIG9iamVjdC5fX211bF9fKHNlbGYsIG90aGVyKQorICAgICAgICAgICAgb2JqZWN0Ll9fbWF0bXVsX18oc2VsZiwgb3RoZXIpCiAgICAgICAgICAgICBvYmplY3QuX190cnVlZGl2X18oc2VsZiwgb3RoZXIpCiAgICAgICAgICAgICBvYmplY3QuX19mbG9vcmRpdl9fKHNlbGYsIG90aGVyKQogICAgICAgICAgICAgb2JqZWN0Ll9fbW9kX18oc2VsZiwgb3RoZXIpCkBAIC0yMDAyLDE1ICsyMDAzLDE2IEBACiAgICAgICBidWlsdGluOiBwb3cKICAgICAgIGJ1aWx0aW46IHBvdwogCi0gICBUaGVzZSBtZXRob2RzIGFyZSBjYWxsZWQgdG8gaW1wbGVtZW50IHRoZSBiaW5hcnkgYXJpdGhtZXRpYyBvcGVyYXRpb25zIChgYCtgYCwKLSAgIGBgLWBgLCBgYCpgYCwgYGAvYGAsIGBgLy9gYCwgYGAlYGAsIDpmdW5jOmBkaXZtb2RgLCA6ZnVuYzpgcG93YCwgYGAqKmBgLCBgYDw8YGAsCi0gICBgYD4+YGAsIGBgJmBgLCBgYF5gYCwgYGB8YGApLiAgRm9yIGluc3RhbmNlLCB0byBldmFsdWF0ZSB0aGUgZXhwcmVzc2lvbgotICAgYGB4ICsgeWBgLCB3aGVyZSAqeCogaXMgYW4gaW5zdGFuY2Ugb2YgYSBjbGFzcyB0aGF0IGhhcyBhbiA6bWV0aDpgX19hZGRfX2AKLSAgIG1ldGhvZCwgYGB4Ll9fYWRkX18oeSlgYCBpcyBjYWxsZWQuICBUaGUgOm1ldGg6YF9fZGl2bW9kX19gIG1ldGhvZCBzaG91bGQgYmUgdGhlCi0gICBlcXVpdmFsZW50IHRvIHVzaW5nIDptZXRoOmBfX2Zsb29yZGl2X19gIGFuZCA6bWV0aDpgX19tb2RfX2A7IGl0IHNob3VsZCBub3QgYmUKLSAgIHJlbGF0ZWQgdG8gOm1ldGg6YF9fdHJ1ZWRpdl9fYC4gIE5vdGUgdGhhdCA6bWV0aDpgX19wb3dfX2Agc2hvdWxkIGJlIGRlZmluZWQKLSAgIHRvIGFjY2VwdCBhbiBvcHRpb25hbCB0aGlyZCBhcmd1bWVudCBpZiB0aGUgdGVybmFyeSB2ZXJzaW9uIG9mIHRoZSBidWlsdC1pbgotICAgOmZ1bmM6YHBvd2AgZnVuY3Rpb24gaXMgdG8gYmUgc3VwcG9ydGVkLgorICAgVGhlc2UgbWV0aG9kcyBhcmUgY2FsbGVkIHRvIGltcGxlbWVudCB0aGUgYmluYXJ5IGFyaXRobWV0aWMgb3BlcmF0aW9ucworICAgKGBgK2BgLCBgYC1gYCwgYGAqYGAsIGBgQGBgLCBgYC9gYCwgYGAvL2BgLCBgYCVgYCwgOmZ1bmM6YGRpdm1vZGAsCisgICA6ZnVuYzpgcG93YCwgYGAqKmBgLCBgYDw8YGAsIGBgPj5gYCwgYGAmYGAsIGBgXmBgLCBgYHxgYCkuICBGb3IgaW5zdGFuY2UsIHRvCisgICBldmFsdWF0ZSB0aGUgZXhwcmVzc2lvbiBgYHggKyB5YGAsIHdoZXJlICp4KiBpcyBhbiBpbnN0YW5jZSBvZiBhIGNsYXNzIHRoYXQKKyAgIGhhcyBhbiA6bWV0aDpgX19hZGRfX2AgbWV0aG9kLCBgYHguX19hZGRfXyh5KWBgIGlzIGNhbGxlZC4gIFRoZQorICAgOm1ldGg6YF9fZGl2bW9kX19gIG1ldGhvZCBzaG91bGQgYmUgdGhlIGVxdWl2YWxlbnQgdG8gdXNpbmcKKyAgIDptZXRoOmBfX2Zsb29yZGl2X19gIGFuZCA6bWV0aDpgX19tb2RfX2A7IGl0IHNob3VsZCBub3QgYmUgcmVsYXRlZCB0bworICAgOm1ldGg6YF9fdHJ1ZWRpdl9fYC4gIE5vdGUgdGhhdCA6bWV0aDpgX19wb3dfX2Agc2hvdWxkIGJlIGRlZmluZWQgdG8gYWNjZXB0CisgICBhbiBvcHRpb25hbCB0aGlyZCBhcmd1bWVudCBpZiB0aGUgdGVybmFyeSB2ZXJzaW9uIG9mIHRoZSBidWlsdC1pbiA6ZnVuYzpgcG93YAorICAgZnVuY3Rpb24gaXMgdG8gYmUgc3VwcG9ydGVkLgogCiAgICBJZiBvbmUgb2YgdGhvc2UgbWV0aG9kcyBkb2VzIG5vdCBzdXBwb3J0IHRoZSBvcGVyYXRpb24gd2l0aCB0aGUgc3VwcGxpZWQKICAgIGFyZ3VtZW50cywgaXQgc2hvdWxkIHJldHVybiBgYE5vdEltcGxlbWVudGVkYGAuCkBAIC0yMDE5LDYgKzIwMjEsNyBAQAogLi4gbWV0aG9kOjogb2JqZWN0Ll9fcmFkZF9fKHNlbGYsIG90aGVyKQogICAgICAgICAgICAgb2JqZWN0Ll9fcnN1Yl9fKHNlbGYsIG90aGVyKQogICAgICAgICAgICAgb2JqZWN0Ll9fcm11bF9fKHNlbGYsIG90aGVyKQorICAgICAgICAgICAgb2JqZWN0Ll9fcm1hdG11bF9fKHNlbGYsIG90aGVyKQogICAgICAgICAgICAgb2JqZWN0Ll9fcnRydWVkaXZfXyhzZWxmLCBvdGhlcikKICAgICAgICAgICAgIG9iamVjdC5fX3JmbG9vcmRpdl9fKHNlbGYsIG90aGVyKQogICAgICAgICAgICAgb2JqZWN0Ll9fcm1vZF9fKHNlbGYsIG90aGVyKQpAQCAtMjAzNCwxNCArMjAzNywxNCBAQAogICAgICAgYnVpbHRpbjogZGl2bW9kCiAgICAgICBidWlsdGluOiBwb3cKIAotICAgVGhlc2UgbWV0aG9kcyBhcmUgY2FsbGVkIHRvIGltcGxlbWVudCB0aGUgYmluYXJ5IGFyaXRobWV0aWMgb3BlcmF0aW9ucyAoYGArYGAsCi0gICBgYC1gYCwgYGAqYGAsIGBgL2BgLCBgYC8vYGAsIGBgJWBgLCA6ZnVuYzpgZGl2bW9kYCwgOmZ1bmM6YHBvd2AsIGBgKipgYCwKLSAgIGBgPDxgYCwgYGA+PmBgLCBgYCZgYCwgYGBeYGAsIGBgfGBgKSB3aXRoIHJlZmxlY3RlZCAoc3dhcHBlZCkgb3BlcmFuZHMuCi0gICBUaGVzZSBmdW5jdGlvbnMgYXJlIG9ubHkgY2FsbGVkIGlmIHRoZSBsZWZ0IG9wZXJhbmQgZG9lcyBub3Qgc3VwcG9ydCB0aGUKLSAgIGNvcnJlc3BvbmRpbmcgb3BlcmF0aW9uIGFuZCB0aGUgb3BlcmFuZHMgYXJlIG9mIGRpZmZlcmVudCB0eXBlcy4gWyNdXyAgRm9yCi0gICBpbnN0YW5jZSwgdG8gZXZhbHVhdGUgdGhlIGV4cHJlc3Npb24gYGB4IC0geWBgLCB3aGVyZSAqeSogaXMgYW4gaW5zdGFuY2Ugb2YKLSAgIGEgY2xhc3MgdGhhdCBoYXMgYW4gOm1ldGg6YF9fcnN1Yl9fYCBtZXRob2QsIGBgeS5fX3JzdWJfXyh4KWBgIGlzIGNhbGxlZCBpZgotICAgYGB4Ll9fc3ViX18oeSlgYCByZXR1cm5zICpOb3RJbXBsZW1lbnRlZCouCisgICBUaGVzZSBtZXRob2RzIGFyZSBjYWxsZWQgdG8gaW1wbGVtZW50IHRoZSBiaW5hcnkgYXJpdGhtZXRpYyBvcGVyYXRpb25zCisgICAoYGArYGAsIGBgLWBgLCBgYCpgYCwgYGBAYGAsIGBgL2BgLCBgYC8vYGAsIGBgJWBgLCA6ZnVuYzpgZGl2bW9kYCwKKyAgIDpmdW5jOmBwb3dgLCBgYCoqYGAsIGBgPDxgYCwgYGA+PmBgLCBgYCZgYCwgYGBeYGAsIGBgfGBgKSB3aXRoIHJlZmxlY3RlZAorICAgKHN3YXBwZWQpIG9wZXJhbmRzLiAgVGhlc2UgZnVuY3Rpb25zIGFyZSBvbmx5IGNhbGxlZCBpZiB0aGUgbGVmdCBvcGVyYW5kIGRvZXMKKyAgIG5vdCBzdXBwb3J0IHRoZSBjb3JyZXNwb25kaW5nIG9wZXJhdGlvbiBhbmQgdGhlIG9wZXJhbmRzIGFyZSBvZiBkaWZmZXJlbnQKKyAgIHR5cGVzLiBbI11fIEZvciBpbnN0YW5jZSwgdG8gZXZhbHVhdGUgdGhlIGV4cHJlc3Npb24gYGB4IC0geWBgLCB3aGVyZSAqeSogaXMKKyAgIGFuIGluc3RhbmNlIG9mIGEgY2xhc3MgdGhhdCBoYXMgYW4gOm1ldGg6YF9fcnN1Yl9fYCBtZXRob2QsIGBgeS5fX3JzdWJfXyh4KWBgCisgICBpcyBjYWxsZWQgaWYgYGB4Ll9fc3ViX18oeSlgYCByZXR1cm5zICpOb3RJbXBsZW1lbnRlZCouCiAKICAgIC4uIGluZGV4OjogYnVpbHRpbjogcG93CiAKQEAgLTIwNTksNiArMjA2Miw3IEBACiAuLiBtZXRob2Q6OiBvYmplY3QuX19pYWRkX18oc2VsZiwgb3RoZXIpCiAgICAgICAgICAgICBvYmplY3QuX19pc3ViX18oc2VsZiwgb3RoZXIpCiAgICAgICAgICAgICBvYmplY3QuX19pbXVsX18oc2VsZiwgb3RoZXIpCisgICAgICAgICAgICBvYmplY3QuX19pbWF0bXVsX18oc2VsZiwgb3RoZXIpCiAgICAgICAgICAgICBvYmplY3QuX19pdHJ1ZWRpdl9fKHNlbGYsIG90aGVyKQogICAgICAgICAgICAgb2JqZWN0Ll9faWZsb29yZGl2X18oc2VsZiwgb3RoZXIpCiAgICAgICAgICAgICBvYmplY3QuX19pbW9kX18oc2VsZiwgb3RoZXIpCkBAIC0yMDcwLDE3ICsyMDc0LDE3IEBACiAgICAgICAgICAgICBvYmplY3QuX19pb3JfXyhzZWxmLCBvdGhlcikKIAogICAgVGhlc2UgbWV0aG9kcyBhcmUgY2FsbGVkIHRvIGltcGxlbWVudCB0aGUgYXVnbWVudGVkIGFyaXRobWV0aWMgYXNzaWdubWVudHMKLSAgIChgYCs9YGAsIGBgLT1gYCwgYGAqPWBgLCBgYC89YGAsIGBgLy89YGAsIGBgJT1gYCwgYGAqKj1gYCwgYGA8PD1gYCwgYGA+Pj1gYCwKLSAgIGBgJj1gYCwgYGBePWBgLCBgYHw9YGApLiAgVGhlc2UgbWV0aG9kcyBzaG91bGQgYXR0ZW1wdCB0byBkbyB0aGUgb3BlcmF0aW9uCi0gICBpbi1wbGFjZSAobW9kaWZ5aW5nICpzZWxmKikgYW5kIHJldHVybiB0aGUgcmVzdWx0ICh3aGljaCBjb3VsZCBiZSwgYnV0IGRvZXMKLSAgIG5vdCBoYXZlIHRvIGJlLCAqc2VsZiopLiAgSWYgYSBzcGVjaWZpYyBtZXRob2QgaXMgbm90IGRlZmluZWQsIHRoZSBhdWdtZW50ZWQKLSAgIGFzc2lnbm1lbnQgZmFsbHMgYmFjayB0byB0aGUgbm9ybWFsIG1ldGhvZHMuICBGb3IgaW5zdGFuY2UsIGlmICp4KiBpcyBhbgotICAgaW5zdGFuY2Ugb2YgYSBjbGFzcyB3aXRoIGFuIDptZXRoOmBfX2lhZGRfX2AgbWV0aG9kLCBgYHggKz0geWBgIGlzIGVxdWl2YWxlbnQKLSAgIHRvIGBgeCA9IHguX19pYWRkX18oeSlgYCAuIE90aGVyd2lzZSwgYGB4Ll9fYWRkX18oeSlgYCBhbmQgYGB5Ll9fcmFkZF9fKHgpYGAKLSAgIGFyZSBjb25zaWRlcmVkLCBhcyB3aXRoIHRoZSBldmFsdWF0aW9uIG9mIGBgeCArIHlgYC4gSW4gY2VydGFpbiBzaXR1YXRpb25zLAotICAgYXVnbWVudGVkIGFzc2lnbm1lbnQgY2FuIHJlc3VsdCBpbiB1bmV4cGVjdGVkIGVycm9ycyAoc2VlCi0gICA6cmVmOmBmYXEtYXVnbWVudGVkLWFzc2lnbm1lbnQtdHVwbGUtZXJyb3JgKSwgYnV0IHRoaXMgYmVoYXZpb3IgaXMgaW4KLSAgIGZhY3QgcGFydCBvZiB0aGUgZGF0YSBtb2RlbC4KKyAgIChgYCs9YGAsIGBgLT1gYCwgYGAqPWBgLCBgYEA9YGAsIGBgLz1gYCwgYGAvLz1gYCwgYGAlPWBgLCBgYCoqPWBgLCBgYDw8PWBgLAorICAgYGA+Pj1gYCwgYGAmPWBgLCBgYF49YGAsIGBgfD1gYCkuICBUaGVzZSBtZXRob2RzIHNob3VsZCBhdHRlbXB0IHRvIGRvIHRoZQorICAgb3BlcmF0aW9uIGluLXBsYWNlIChtb2RpZnlpbmcgKnNlbGYqKSBhbmQgcmV0dXJuIHRoZSByZXN1bHQgKHdoaWNoIGNvdWxkIGJlLAorICAgYnV0IGRvZXMgbm90IGhhdmUgdG8gYmUsICpzZWxmKikuICBJZiBhIHNwZWNpZmljIG1ldGhvZCBpcyBub3QgZGVmaW5lZCwgdGhlCisgICBhdWdtZW50ZWQgYXNzaWdubWVudCBmYWxscyBiYWNrIHRvIHRoZSBub3JtYWwgbWV0aG9kcy4gIEZvciBpbnN0YW5jZSwgaWYgKngqCisgICBpcyBhbiBpbnN0YW5jZSBvZiBhIGNsYXNzIHdpdGggYW4gOm1ldGg6YF9faWFkZF9fYCBtZXRob2QsIGBgeCArPSB5YGAgaXMKKyAgIGVxdWl2YWxlbnQgdG8gYGB4ID0geC5fX2lhZGRfXyh5KWBgIC4gT3RoZXJ3aXNlLCBgYHguX19hZGRfXyh5KWBgIGFuZAorICAgYGB5Ll9fcmFkZF9fKHgpYGAgYXJlIGNvbnNpZGVyZWQsIGFzIHdpdGggdGhlIGV2YWx1YXRpb24gb2YgYGB4ICsgeWBgLiBJbgorICAgY2VydGFpbiBzaXR1YXRpb25zLCBhdWdtZW50ZWQgYXNzaWdubWVudCBjYW4gcmVzdWx0IGluIHVuZXhwZWN0ZWQgZXJyb3JzIChzZWUKKyAgIDpyZWY6YGZhcS1hdWdtZW50ZWQtYXNzaWdubWVudC10dXBsZS1lcnJvcmApLCBidXQgdGhpcyBiZWhhdmlvciBpcyBpbiBmYWN0CisgICBwYXJ0IG9mIHRoZSBkYXRhIG1vZGVsLgogCiAKIC4uIG1ldGhvZDo6IG9iamVjdC5fX25lZ19fKHNlbGYpCmRpZmYgLS1naXQgYS9Eb2MvcmVmZXJlbmNlL2V4cHJlc3Npb25zLnJzdCBiL0RvYy9yZWZlcmVuY2UvZXhwcmVzc2lvbnMucnN0CmluZGV4IDFhNTA4OGEuLjEyZjlmMmYgMTAwNjQ0Ci0tLSBhL0RvYy9yZWZlcmVuY2UvZXhwcmVzc2lvbnMucnN0CisrKyBiL0RvYy9yZWZlcmVuY2UvZXhwcmVzc2lvbnMucnN0CkBAIC04OTEsOCArODkxLDkgQEAKIG9wZXJhdG9ycyBhbmQgb25lIGZvciBhZGRpdGl2ZSBvcGVyYXRvcnM6CiAKIC4uIHByb2R1Y3Rpb25saXN0OjoKLSAgIG1fZXhwcjogYHVfZXhwcmAgfCBgbV9leHByYCAiKiIgYHVfZXhwcmAgfCBgbV9leHByYCAiLy8iIGB1X2V4cHJgIHwgYG1fZXhwcmAgIi8iIGB1X2V4cHJgCi0gICAgICAgICA6IHwgYG1fZXhwcmAgIiUiIGB1X2V4cHJgCisgICBtX2V4cHI6IGB1X2V4cHJgIHwgYG1fZXhwcmAgIioiIGB1X2V4cHJgIHwgYG1fZXhwcmAgIkAiIGBtX2V4cHJgIHwKKyAgICAgICAgIDogYG1fZXhwcmAgIi8vIiBgdV9leHByYHwgYG1fZXhwcmAgIi8iIGB1X2V4cHJgIHwKKyAgICAgICAgIDogYG1fZXhwcmAgIiUiIGB1X2V4cHJgCiAgICBhX2V4cHI6IGBtX2V4cHJgIHwgYGFfZXhwcmAgIisiIGBtX2V4cHJgIHwgYGFfZXhwcmAgIi0iIGBtX2V4cHJgCiAKIC4uIGluZGV4Ojogc2luZ2xlOiBtdWx0aXBsaWNhdGlvbgpAQCAtOTAzLDYgKzkwNCwxMyBAQAogY29tbW9uIHR5cGUgYW5kIHRoZW4gbXVsdGlwbGllZCB0b2dldGhlci4gIEluIHRoZSBsYXR0ZXIgY2FzZSwgc2VxdWVuY2UKIHJlcGV0aXRpb24gaXMgcGVyZm9ybWVkOyBhIG5lZ2F0aXZlIHJlcGV0aXRpb24gZmFjdG9yIHlpZWxkcyBhbiBlbXB0eSBzZXF1ZW5jZS4KIAorLi4gaW5kZXg6OiBzaW5nbGU6IG1hdHJpeCBtdWx0aXBsaWNhdGlvbgorCitUaGUgYGBAYGAgKGF0KSBvcGVyYXRvciBpcyBpbnRlbmRlZCB0byBiZSB1c2VkIGZvciBtYXRyaXggbXVsdGlwbGljYXRpb24uICBObworYnVpbHRpbiBQeXRob24gdHlwZXMgaW1wbGVtZW50IHRoaXMgb3BlcmF0b3IuCisKKy4uIHZlcnNpb25hZGRlZDo6IDMuNQorCiAuLiBpbmRleDo6CiAgICBleGNlcHRpb246IFplcm9EaXZpc2lvbkVycm9yCiAgICBzaW5nbGU6IGRpdmlzaW9uCkBAIC0xMzQ2LDggKzEzNTQsOSBAQAogKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCiB8IGBgK2BgLCBgYC1gYCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IEFkZGl0aW9uIGFuZCBzdWJ0cmFjdGlvbiAgICAgICAgICAgIHwKICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwotfCBgYCpgYCwgYGAvYGAsIGBgLy9gYCwgYGAlYGAgICAgICAgICAgICAgICAgICAgfCBNdWx0aXBsaWNhdGlvbiwgZGl2aXNpb24sIHJlbWFpbmRlciB8Ci18ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFsjXV8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKK3wgYGAqYGAsIGBgQGBgLCBgYC9gYCwgYGAvL2BgLCBgYCVgYCAgICAgICAgICAgIHwgTXVsdGlwbGljYXRpb24sIG1hdHJpeCAgICAgICAgICAgICAgfAorfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBtdWx0aXBsaWNhdGlvbiBkaXZpc2lvbiwgICAgICAgICAgICB8Cit8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IHJlbWFpbmRlciBbI11fICAgICAgICAgICAgICAgICAgICAgIHwKICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwogfCBgYCt4YGAsIGBgLXhgYCwgYGB+eGBgICAgICAgICAgICAgICAgICAgICAgICAgfCBQb3NpdGl2ZSwgbmVnYXRpdmUsIGJpdHdpc2UgTk9UICAgICB8CiArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKZGlmZiAtLWdpdCBhL0RvYy9yZWZlcmVuY2UvaW1wb3J0LnJzdCBiL0RvYy9yZWZlcmVuY2UvaW1wb3J0LnJzdAppbmRleCBlOWI3ZTUzLi4yZDYwZTYyIDEwMDY0NAotLS0gYS9Eb2MvcmVmZXJlbmNlL2ltcG9ydC5yc3QKKysrIGIvRG9jL3JlZmVyZW5jZS9pbXBvcnQucnN0CkBAIC0zMzksNiArMzM5LDcgQEAKIAogICAgIG1vZHVsZSA9IE5vbmUKICAgICBpZiBzcGVjLmxvYWRlciBpcyBub3QgTm9uZSBhbmQgaGFzYXR0cihzcGVjLmxvYWRlciwgJ2NyZWF0ZV9tb2R1bGUnKToKKyAgICAgICAgIyBJdCBpcyBhc3N1bWVkICdleGVjX21vZHVsZScgd2lsbCBhbHNvIGJlIGRlZmluZWQgb24gdGhlIGxvYWRlci4KICAgICAgICAgbW9kdWxlID0gc3BlYy5sb2FkZXIuY3JlYXRlX21vZHVsZShzcGVjKQogICAgIGlmIG1vZHVsZSBpcyBOb25lOgogICAgICAgICBtb2R1bGUgPSBNb2R1bGVUeXBlKHNwZWMubmFtZSkKQEAgLTQyNyw3ICs0MjgsNyBAQAogYnkgaW1wbGVtZW50aW5nIGEgOm1ldGg6YH5pbXBvcnRsaWIuYWJjLkxvYWRlci5jcmVhdGVfbW9kdWxlYCBtZXRob2QuCiBJdCB0YWtlcyBvbmUgYXJndW1lbnQsIHRoZSBtb2R1bGUgc3BlYywgYW5kIHJldHVybnMgdGhlIG5ldyBtb2R1bGUgb2JqZWN0CiB0byB1c2UgZHVyaW5nIGxvYWRpbmcuICBgYGNyZWF0ZV9tb2R1bGUoKWBgIGRvZXMgbm90IG5lZWQgdG8gc2V0IGFueSBhdHRyaWJ1dGVzCi1vbiB0aGUgbW9kdWxlIG9iamVjdC4gIElmIHRoZSBsb2FkZXIgZG9lcyBub3QgZGVmaW5lIGBgY3JlYXRlX21vZHVsZSgpYGAsIHRoZQorb24gdGhlIG1vZHVsZSBvYmplY3QuICBJZiB0aGUgbWV0aG9kIHJldHVybnMgYGBOb25lYGAsIHRoZQogaW1wb3J0IG1hY2hpbmVyeSB3aWxsIGNyZWF0ZSB0aGUgbmV3IG1vZHVsZSBpdHNlbGYuCiAKIC4uIHZlcnNpb25hZGRlZDo6IDMuNApAQCAtNDU5LDcgKzQ2MCwxMyBAQAogCiAgICAgKiBJZiBsb2FkaW5nIGZhaWxzLCB0aGUgbG9hZGVyIG11c3QgcmVtb3ZlIGFueSBtb2R1bGVzIGl0IGhhcyBpbnNlcnRlZAogICAgICAgaW50byA6ZGF0YTpgc3lzLm1vZHVsZXNgLCBidXQgaXQgbXVzdCByZW1vdmUgKipvbmx5KiogdGhlIGZhaWxpbmcKLSAgICAgIG1vZHVsZSwgYW5kIG9ubHkgaWYgdGhlIGxvYWRlciBpdHNlbGYgaGFzIGxvYWRlZCBpdCBleHBsaWNpdGx5LgorICAgICAgbW9kdWxlKHMpLCBhbmQgb25seSBpZiB0aGUgbG9hZGVyIGl0c2VsZiBoYXMgbG9hZGVkIHRoZSBtb2R1bGUocykKKyAgICAgIGV4cGxpY2l0bHkuCisKKy4uIHZlcnNpb25jaGFuZ2VkOjogMy41CisgICBBIDpleGM6YERlcHJlY2F0aW9uV2FybmluZ2AgaXMgcmFpc2VkIHdoZW4gYGBleGVjX21vZHVsZSgpYGAgaXMgZGVmaW5lZCBidXQKKyAgIGBgY3JlYXRlX21vZHVsZSgpYGAgaXMgbm90LiBTdGFydGluZyBpbiBQeXRob24gMy42IGl0IHdpbGwgYmUgYW4gZXJyb3IgdG8gbm90CisgICBkZWZpbmUgYGBjcmVhdGVfbW9kdWxlKClgYCBvbiBhIGxvYWRlciBhdHRhY2hlZCB0byBhIE1vZHVsZVNwZWMuCiAKIE1vZHVsZSBzcGVjCiAtLS0tLS0tLS0tLQpAQCAtNzUzLDYgKzc2MCwxNSBAQAogdG8gYXNrIHRoZSBmaW5kZXIgZm9yIGEgbW9kdWxlIHNwZWMsIHdoaWNoIGlzIHRoZW4gdXNlZCB3aGVuIGxvYWRpbmcgdGhlCiBtb2R1bGUuCiAKK1RoZSBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5IC0tIGRlbm90ZWQgYnkgYW4gZW1wdHkgc3RyaW5nIC0tIGlzIGhhbmRsZWQKK3NsaWdodGx5IGRpZmZlcmVudGx5IGZyb20gb3RoZXIgZW50cmllcyBvbiA6ZGF0YTpgc3lzLnBhdGhgLiBGaXJzdCwgaWYgdGhlCitjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5IGlzIGZvdW5kIHRvIG5vdCBleGlzdCwgbm8gdmFsdWUgaXMgc3RvcmVkIGluCis6ZGF0YTpgc3lzLnBhdGhfaW1wb3J0ZXJfY2FjaGVgLiBTZWNvbmQsIHRoZSB2YWx1ZSBmb3IgdGhlIGN1cnJlbnQgd29ya2luZworZGlyZWN0b3J5IGlzIGxvb2tlZCB1cCBmcmVzaCBmb3IgZWFjaCBtb2R1bGUgbG9va3VwLiBUaGlyZCwgdGhlIHBhdGggdXNlZCBmb3IKKzpkYXRhOmBzeXMucGF0aF9pbXBvcnRlcl9jYWNoZWAgYW5kIHJldHVybmVkIGJ5Cis6bWV0aDpgaW1wb3J0bGliLm1hY2hpbmVyeS5QYXRoRmluZGVyLmZpbmRfc3BlY2Agd2lsbCBiZSB0aGUgYWN0dWFsIGN1cnJlbnQKK3dvcmtpbmcgZGlyZWN0b3J5IGFuZCBub3QgdGhlIGVtcHR5IHN0cmluZy4KKwogUGF0aCBlbnRyeSBmaW5kZXIgcHJvdG9jb2wKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKZGlmZiAtLWdpdCBhL0RvYy9yZWZlcmVuY2UvbGV4aWNhbF9hbmFseXNpcy5yc3QgYi9Eb2MvcmVmZXJlbmNlL2xleGljYWxfYW5hbHlzaXMucnN0CmluZGV4IDJiZjY2YjEuLmM2NzM3OTEgMTAwNjQ0Ci0tLSBhL0RvYy9yZWZlcmVuY2UvbGV4aWNhbF9hbmFseXNpcy5yc3QKKysrIGIvRG9jL3JlZmVyZW5jZS9sZXhpY2FsX2FuYWx5c2lzLnJzdApAQCAtMzExLDcgKzMxMSw3IEBACiAqICpOZCogLSBkZWNpbWFsIG51bWJlcnMKICogKlBjKiAtIGNvbm5lY3RvciBwdW5jdHVhdGlvbnMKICogKk90aGVyX0lEX1N0YXJ0KiAtIGV4cGxpY2l0IGxpc3Qgb2YgY2hhcmFjdGVycyBpbiBgUHJvcExpc3QudHh0Ci0gIDxodHRwOi8vd3d3LnVuaWNvZGUub3JnL1B1YmxpYy82LjMuMC91Y2QvUHJvcExpc3QudHh0PmBfIHRvIHN1cHBvcnQgYmFja3dhcmRzCisgIDxodHRwOi8vd3d3LnVuaWNvZGUub3JnL1B1YmxpYy83LjAuMC91Y2QvUHJvcExpc3QudHh0PmBfIHRvIHN1cHBvcnQgYmFja3dhcmRzCiAgIGNvbXBhdGliaWxpdHkKICogKk90aGVyX0lEX0NvbnRpbnVlKiAtIGxpa2V3aXNlCiAKQEAgLTY5MSw3ICs2OTEsNyBAQAogCiBUaGUgZm9sbG93aW5nIHRva2VucyBhcmUgb3BlcmF0b3JzOjoKIAotICAgKyAgICAgICAtICAgICAgICogICAgICAgKiogICAgICAvICAgICAgIC8vICAgICAgJQorICAgKyAgICAgICAtICAgICAgICogICAgICAgKiogICAgICAvICAgICAgIC8vICAgICAgJSAgICAgIEAKICAgIDw8ICAgICAgPj4gICAgICAmICAgICAgIHwgICAgICAgXiAgICAgICB+CiAgICA8ICAgICAgID4gICAgICAgPD0gICAgICA+PSAgICAgID09ICAgICAgIT0KIApAQCAtNzA3LDcgKzcwNyw3IEBACiAKICAgICggICAgICAgKSAgICAgICBbICAgICAgIF0gICAgICAgeyAgICAgICB9CiAgICAsICAgICAgIDogICAgICAgLiAgICAgICA7ICAgICAgIEAgICAgICAgPSAgICAgICAtPgotICAgKz0gICAgICAtPSAgICAgICo9ICAgICAgLz0gICAgICAvLz0gICAgICU9CisgICArPSAgICAgIC09ICAgICAgKj0gICAgICAvPSAgICAgIC8vPSAgICAgJT0gICAgICBAPQogICAgJj0gICAgICB8PSAgICAgIF49ICAgICAgPj49ICAgICA8PD0gICAgICoqPQogCiBUaGUgcGVyaW9kIGNhbiBhbHNvIG9jY3VyIGluIGZsb2F0aW5nLXBvaW50IGFuZCBpbWFnaW5hcnkgbGl0ZXJhbHMuICBBIHNlcXVlbmNlCkBAIC03MjgsNCArNzI4LDQgQEAKIAogLi4gcnVicmljOjogRm9vdG5vdGVzCiAKLS4uIFsjXSBodHRwOi8vd3d3LnVuaWNvZGUub3JnL1B1YmxpYy82LjMuMC91Y2QvTmFtZUFsaWFzZXMudHh0CisuLiBbI10gaHR0cDovL3d3dy51bmljb2RlLm9yZy9QdWJsaWMvNy4wLjAvdWNkL05hbWVBbGlhc2VzLnR4dApkaWZmIC0tZ2l0IGEvRG9jL3JlZmVyZW5jZS9zaW1wbGVfc3RtdHMucnN0IGIvRG9jL3JlZmVyZW5jZS9zaW1wbGVfc3RtdHMucnN0CmluZGV4IDg5NDZiNGYuLjVmNjA1NDAgMTAwNjQ0Ci0tLSBhL0RvYy9yZWZlcmVuY2Uvc2ltcGxlX3N0bXRzLnJzdAorKysgYi9Eb2MvcmVmZXJlbmNlL3NpbXBsZV9zdG10cy5yc3QKQEAgLTI4MSw3ICsyODEsNyBAQAogLi4gcHJvZHVjdGlvbmxpc3Q6OgogICAgYXVnbWVudGVkX2Fzc2lnbm1lbnRfc3RtdDogYGF1Z3RhcmdldGAgYGF1Z29wYCAoYGV4cHJlc3Npb25fbGlzdGAgfCBgeWllbGRfZXhwcmVzc2lvbmApCiAgICBhdWd0YXJnZXQ6IGBpZGVudGlmaWVyYCB8IGBhdHRyaWJ1dGVyZWZgIHwgYHN1YnNjcmlwdGlvbmAgfCBgc2xpY2luZ2AKLSAgIGF1Z29wOiAiKz0iIHwgIi09IiB8ICIqPSIgfCAiLz0iIHwgIi8vPSIgfCAiJT0iIHwgIioqPSIKKyAgIGF1Z29wOiAiKz0iIHwgIi09IiB8ICIqPSIgfCAiQD0iIHwgIi89IiB8ICIvLz0iIHwgIiU9IiB8ICIqKj0iCiAgICAgICAgIDogfCAiPj49IiB8ICI8PD0iIHwgIiY9IiB8ICJePSIgfCAifD0iCiAKIChTZWUgc2VjdGlvbiA6cmVmOmBwcmltYXJpZXNgIGZvciB0aGUgc3ludGF4IGRlZmluaXRpb25zIG9mIHRoZSBsYXN0IHRocmVlCmRpZmYgLS1naXQgYS9Eb2MvdG9vbHMvZXh0ZW5zaW9ucy9weXNwZWNpZmljLnB5IGIvRG9jL3Rvb2xzL2V4dGVuc2lvbnMvcHlzcGVjaWZpYy5weQppbmRleCA2NGE1NjY1Li45Yjc4MTg0IDEwMDY0NAotLS0gYS9Eb2MvdG9vbHMvZXh0ZW5zaW9ucy9weXNwZWNpZmljLnB5CisrKyBiL0RvYy90b29scy9leHRlbnNpb25zL3B5c3BlY2lmaWMucHkKQEAgLTM0LDcgKzM0LDcgQEAKIAogCiBJU1NVRV9VUkkgPSAnaHR0cHM6Ly9idWdzLnB5dGhvbi5vcmcvaXNzdWUlcycKLVNPVVJDRV9VUkkgPSAnaHR0cHM6Ly9oZy5weXRob24ub3JnL2NweXRob24vZmlsZS8zLjQvJXMnCitTT1VSQ0VfVVJJID0gJ2h0dHBzOi8vaGcucHl0aG9uLm9yZy9jcHl0aG9uL2ZpbGUvZGVmYXVsdC8lcycKIAogIyBtb25rZXktcGF0Y2ggcmVTVCBwYXJzZXIgdG8gZGlzYWJsZSBhbHBoYWJldGljIGFuZCByb21hbiBlbnVtZXJhdGVkIGxpc3RzCiBmcm9tIGRvY3V0aWxzLnBhcnNlcnMucnN0LnN0YXRlcyBpbXBvcnQgQm9keQpkaWZmIC0tZ2l0IGEvRG9jL3Rvb2xzL3N1c3AtaWdub3JlZC5jc3YgYi9Eb2MvdG9vbHMvc3VzcC1pZ25vcmVkLmNzdgppbmRleCA0ODY1M2FmOC4uOTg1NmFmZCAxMDA2NDQKLS0tIGEvRG9jL3Rvb2xzL3N1c3AtaWdub3JlZC5jc3YKKysrIGIvRG9jL3Rvb2xzL3N1c3AtaWdub3JlZC5jc3YKQEAgLTEyMiw2ICsxMjIsOCBAQAogbGlicmFyeS9pcGFkZHJlc3MsLDo6LD4+PiBpcGFkZHJlc3MuSVB2NkFkZHJlc3MoJzIwMDE6ZGI4OjoxMDAwJykKIGxpYnJhcnkvaXBhZGRyZXNzLCw6ZGI4LElQdjZBZGRyZXNzKCcyMDAxOmRiODo6MTAwMCcpCiBsaWJyYXJ5L2lwYWRkcmVzcywsOjosSVB2NkFkZHJlc3MoJzIwMDE6ZGI4OjoxMDAwJykKK2xpYnJhcnkvaXBhZGRyZXNzLCw6ZGI4LCI+Pj4gaXBhZGRyZXNzLmlwX2FkZHJlc3MoIiIyMDAxOmRiODo6MSIiKS5yZXZlcnNlX3BvaW50ZXIiCitsaWJyYXJ5L2lwYWRkcmVzcywsOjosIj4+PiBpcGFkZHJlc3MuaXBfYWRkcmVzcygiIjIwMDE6ZGI4OjoxIiIpLnJldmVyc2VfcG9pbnRlciIKIGxpYnJhcnkvaXBhZGRyZXNzLCw6OiwiIiI6OmFiYzo3OmRlZiIiIgogbGlicmFyeS9pcGFkZHJlc3MsLDpkZWYsIiIiOjphYmM6NzpkZWYiIiIKIGxpYnJhcnkvaXBhZGRyZXNzLCw6Oiw6OkZGRkYvOTYKQEAgLTI1Niw2ICsyNTgsMTEgQEAKIHdoYXRzbmV3LzIuNSwsOm1lbW9yeSw6bWVtb3J5Ogogd2hhdHNuZXcvMi41LCw6c3RlcCxbc3RhcnQ6c3RvcDpzdGVwXQogd2hhdHNuZXcvMi41LCw6c3RvcCxbc3RhcnQ6c3RvcDpzdGVwXQord2hhdHNuZXcvMi43LCw6OiwiUGFyc2VSZXN1bHQoc2NoZW1lPSdodHRwJywgbmV0bG9jPSdbMTA4MDo6ODo4MDA6MjAwQzo0MTdBXScsIgord2hhdHNuZXcvMi43LCw6Oiw+Pj4gdXJscGFyc2UudXJscGFyc2UoJ2h0dHA6Ly9bMTA4MDo6ODo4MDA6MjAwQzo0MTdBXS9mb28nKQord2hhdHNuZXcvMi43LCw6U3VuZGF5LCcyMDA5OjQ6U3VuZGF5Jword2hhdHNuZXcvMi43LCw6Q29va2llLCJleHBvcnQgUFlUSE9OV0FSTklOR1M9YWxsLGVycm9yOjo6Q29va2llOjAiCit3aGF0c25ldy8yLjcsLDo6LCJleHBvcnQgUFlUSE9OV0FSTklOR1M9YWxsLGVycm9yOjo6Q29va2llOjAiCiB3aGF0c25ldy8zLjIsLDphZmZlLCJuZXRsb2M9J1tkZWFkOmJlZWY6Y2FmZTo1NDE3OmFmZmU6OEZBMzpkZWFmOmZlZWRdJywiCiB3aGF0c25ldy8zLjIsLDphZmZlLD4+PiB1cmxsaWIucGFyc2UudXJscGFyc2UoJ2h0dHA6Ly9bZGVhZDpiZWVmOmNhZmU6NTQxNzphZmZlOjhGQTM6ZGVhZjpmZWVkXS9mb28vJykKIHdoYXRzbmV3LzMuMiwsOmJlZWYsIm5ldGxvYz0nW2RlYWQ6YmVlZjpjYWZlOjU0MTc6YWZmZTo4RkEzOmRlYWY6ZmVlZF0nLCIKQEAgLTI3MSwxNCArMjc4LDUgQEAKIHdoYXRzbmV3LzMuMiwsOmd6LCI+Pj4gd2l0aCB0YXJmaWxlLm9wZW4obmFtZT0nbXlhcmNoaXZlLnRhci5neicsIG1vZGU9J3c6Z3onKSBhcyB0ZjoiCiB3aGF0c25ldy8zLjIsLDpsb2NhdGlvbix6b3BlOS1sb2NhdGlvbiA9ICR7em9wZTk6bG9jYXRpb259CiB3aGF0c25ldy8zLjIsLDpwcmVmaXgsem9wZS1jb25mID0gJHtjdXN0b206cHJlZml4fS9ldGMvem9wZS5jb25mCi13aGF0c25ldy9jaGFuZ2Vsb2csLDpwbGF0Zm9ybSw6cGxhdGZvcm06CiB3aGF0c25ldy9jaGFuZ2Vsb2csLDpneiwiOiBUYXJGaWxlIG9wZW5lZCB3aXRoIGV4dGVybmFsIGZpbGVvYmogYW5kICIidzpneiIiIG1vZGUgZGlkbid0Igotd2hhdHNuZXcvY2hhbmdlbG9nLCw6UHl0aG9uQ21kLCJXaXRoIFRrIDwgOC41IF90a2ludGVyLmM6UHl0aG9uQ21kKCkgcmFpc2VkIFVuaWNvZGVEZWNvZGVFcnJvciwgY2F1c2VkIgotd2hhdHNuZXcvY2hhbmdlbG9nLCw6OiwiOiBGaXggRlRQIHRlc3RzIGZvciBJUHY2LCBiaW5kIHRvICIiOjoxIiIgaW5zdGVhZCBvZiAiImxvY2FsaG9zdCIiLiIKIHdoYXRzbmV3L2NoYW5nZWxvZywsOjosIjogVXNlICIiMTI3LjAuMC4xIiIgb3IgIiI6OjEiIiBpbnN0ZWFkIG9mICIibG9jYWxob3N0IiIgYXMgbXVjaCBhcyIKLXdoYXRzbmV3L2NoYW5nZWxvZywsOnBhc3N3b3JkLHVzZXI6cGFzc3dvcmQKLXdoYXRzbmV3LzIuNyw3ODAsOlN1bmRheSwnMjAwOTo0OlN1bmRheScKLXdoYXRzbmV3LzIuNyw5MDcsOjosImV4cG9ydCBQWVRIT05XQVJOSU5HUz1hbGwsZXJyb3I6OjpDb29raWU6MCIKLXdoYXRzbmV3LzIuNyw5MDcsOkNvb2tpZSwiZXhwb3J0IFBZVEhPTldBUk5JTkdTPWFsbCxlcnJvcjo6OkNvb2tpZTowIgotd2hhdHNuZXcvMi43LDE2NTcsOjosPj4+IHVybHBhcnNlLnVybHBhcnNlKCdodHRwOi8vWzEwODA6Ojg6ODAwOjIwMEM6NDE3QV0vZm9vJykKLXdoYXRzbmV3LzIuNywxNjU3LDo6LCJQYXJzZVJlc3VsdChzY2hlbWU9J2h0dHAnLCBuZXRsb2M9J1sxMDgwOjo4OjgwMDoyMDBDOjQxN0FdJywiCmRpZmYgLS1naXQgYS9Eb2MvdG9vbHMvdGVtcGxhdGVzL2luZGV4c2lkZWJhci5odG1sIGIvRG9jL3Rvb2xzL3RlbXBsYXRlcy9pbmRleHNpZGViYXIuaHRtbAppbmRleCBhYmRmMDcwLi43OGU5YzRmIDEwMDY0NAotLS0gYS9Eb2MvdG9vbHMvdGVtcGxhdGVzL2luZGV4c2lkZWJhci5odG1sCisrKyBiL0RvYy90b29scy90ZW1wbGF0ZXMvaW5kZXhzaWRlYmFyLmh0bWwKQEAgLTMsOCArMyw3IEBACiA8aDM+RG9jcyBmb3Igb3RoZXIgdmVyc2lvbnM8L2gzPgogPHVsPgogICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly9kb2NzLnB5dGhvbi5vcmcvMi43LyI+UHl0aG9uIDIuNyAoc3RhYmxlKTwvYT48L2xpPgotICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly9kb2NzLnB5dGhvbi5vcmcvMy4zLyI+UHl0aG9uIDMuMyAoc3RhYmxlKTwvYT48L2xpPgotICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly9kb2NzLnB5dGhvbi5vcmcvMy41LyI+UHl0aG9uIDMuNSAoaW4gZGV2ZWxvcG1lbnQpPC9hPjwvbGk+CisgIDxsaT48YSBocmVmPSJodHRwczovL2RvY3MucHl0aG9uLm9yZy8zLjQvIj5QeXRob24gMy40IChzdGFibGUpPC9hPjwvbGk+CiAgIDxsaT48YSBocmVmPSJodHRwczovL3d3dy5weXRob24ub3JnL2RvYy92ZXJzaW9ucy8iPk9sZCB2ZXJzaW9uczwvYT48L2xpPgogPC91bD4KIApkaWZmIC0tZ2l0IGEvRG9jL3R1dG9yaWFsL2FwcGVuZGl4LnJzdCBiL0RvYy90dXRvcmlhbC9hcHBlbmRpeC5yc3QKaW5kZXggODY3MGVmYy4uNjcyNjJhMSAxMDA2NDQKLS0tIGEvRG9jL3R1dG9yaWFsL2FwcGVuZGl4LnJzdAorKysgYi9Eb2MvdHV0b3JpYWwvYXBwZW5kaXgucnN0CkBAIC00MCw3ICs0MCw3IEBACiBPbiBCU0QnaXNoIFVuaXggc3lzdGVtcywgUHl0aG9uIHNjcmlwdHMgY2FuIGJlIG1hZGUgZGlyZWN0bHkgZXhlY3V0YWJsZSwgbGlrZQogc2hlbGwgc2NyaXB0cywgYnkgcHV0dGluZyB0aGUgbGluZSA6OgogCi0gICAjIS91c3IvYmluL2VudiBweXRob24zLjQKKyAgICMhL3Vzci9iaW4vZW52IHB5dGhvbjMuNQogCiAoYXNzdW1pbmcgdGhhdCB0aGUgaW50ZXJwcmV0ZXIgaXMgb24gdGhlIHVzZXIncyA6ZW52dmFyOmBQQVRIYCkgYXQgdGhlIGJlZ2lubmluZwogb2YgdGhlIHNjcmlwdCBhbmQgZ2l2aW5nIHRoZSBmaWxlIGFuIGV4ZWN1dGFibGUgbW9kZS4gIFRoZSBgYCMhYGAgbXVzdCBiZSB0aGUKQEAgLTEwNyw3ICsxMDcsNyBAQAogCiAgICA+Pj4gaW1wb3J0IHNpdGUKICAgID4+PiBzaXRlLmdldHVzZXJzaXRlcGFja2FnZXMoKQotICAgJy9ob21lL3VzZXIvLmxvY2FsL2xpYi9weXRob24zLjQvc2l0ZS1wYWNrYWdlcycKKyAgICcvaG9tZS91c2VyLy5sb2NhbC9saWIvcHl0aG9uMy41L3NpdGUtcGFja2FnZXMnCiAKIE5vdyB5b3UgY2FuIGNyZWF0ZSBhIGZpbGUgbmFtZWQgOmZpbGU6YHVzZXJjdXN0b21pemUucHlgIGluIHRoYXQgZGlyZWN0b3J5IGFuZAogcHV0IGFueXRoaW5nIHlvdSB3YW50IGluIGl0LiAgSXQgd2lsbCBhZmZlY3QgZXZlcnkgaW52b2NhdGlvbiBvZiBQeXRob24sIHVubGVzcwpkaWZmIC0tZ2l0IGEvRG9jL3R1dG9yaWFsL2RhdGFzdHJ1Y3R1cmVzLnJzdCBiL0RvYy90dXRvcmlhbC9kYXRhc3RydWN0dXJlcy5yc3QKaW5kZXggMWVhMjk5Zi4uYTIwMzFlZCAxMDA2NDQKLS0tIGEvRG9jL3R1dG9yaWFsL2RhdGFzdHJ1Y3R1cmVzLnJzdAorKysgYi9Eb2MvdHV0b3JpYWwvZGF0YXN0cnVjdHVyZXMucnN0CkBAIC03MywxMCArNzMsMTEgQEAKICAgIFJldHVybiB0aGUgbnVtYmVyIG9mIHRpbWVzICp4KiBhcHBlYXJzIGluIHRoZSBsaXN0LgogCiAKLS4uIG1ldGhvZDo6IGxpc3Quc29ydCgpCisuLiBtZXRob2Q6OiBsaXN0LnNvcnQoa2V5PU5vbmUsIHJldmVyc2U9RmFsc2UpCiAgICA6bm9pbmRleDoKIAotICAgU29ydCB0aGUgaXRlbXMgb2YgdGhlIGxpc3QgaW4gcGxhY2UuCisgICBTb3J0IHRoZSBpdGVtcyBvZiB0aGUgbGlzdCBpbiBwbGFjZSAodGhlIGFyZ3VtZW50cyBjYW4gYmUgdXNlZCBmb3Igc29ydAorICAgY3VzdG9taXphdGlvbiwgc2VlIDpmdW5jOmBzb3J0ZWRgIGZvciB0aGVpciBleHBsYW5hdGlvbikuCiAKIAogLi4gbWV0aG9kOjogbGlzdC5yZXZlcnNlKCkKZGlmZiAtLWdpdCBhL0RvYy90dXRvcmlhbC9pbnRlcnByZXRlci5yc3QgYi9Eb2MvdHV0b3JpYWwvaW50ZXJwcmV0ZXIucnN0CmluZGV4IDgwNTE2MzQuLmQ1Nzg5YTYgMTAwNjQ0Ci0tLSBhL0RvYy90dXRvcmlhbC9pbnRlcnByZXRlci5yc3QKKysrIGIvRG9jL3R1dG9yaWFsL2ludGVycHJldGVyLnJzdApAQCAtMTAsMTMgKzEwLDEzIEBACiBJbnZva2luZyB0aGUgSW50ZXJwcmV0ZXIKID09PT09PT09PT09PT09PT09PT09PT09PQogCi1UaGUgUHl0aG9uIGludGVycHJldGVyIGlzIHVzdWFsbHkgaW5zdGFsbGVkIGFzIDpmaWxlOmAvdXNyL2xvY2FsL2Jpbi9weXRob24zLjRgCitUaGUgUHl0aG9uIGludGVycHJldGVyIGlzIHVzdWFsbHkgaW5zdGFsbGVkIGFzIDpmaWxlOmAvdXNyL2xvY2FsL2Jpbi9weXRob24zLjVgCiBvbiB0aG9zZSBtYWNoaW5lcyB3aGVyZSBpdCBpcyBhdmFpbGFibGU7IHB1dHRpbmcgOmZpbGU6YC91c3IvbG9jYWwvYmluYCBpbiB5b3VyCiBVbml4IHNoZWxsJ3Mgc2VhcmNoIHBhdGggbWFrZXMgaXQgcG9zc2libGUgdG8gc3RhcnQgaXQgYnkgdHlwaW5nIHRoZSBjb21tYW5kOgogCiAuLiBjb2RlLWJsb2NrOjogdGV4dAogCi0gICBweXRob24zLjQKKyAgIHB5dGhvbjMuNQogCiB0byB0aGUgc2hlbGwuIFsjXV8gU2luY2UgdGhlIGNob2ljZSBvZiB0aGUgZGlyZWN0b3J5IHdoZXJlIHRoZSBpbnRlcnByZXRlciBsaXZlcwogaXMgYW4gaW5zdGFsbGF0aW9uIG9wdGlvbiwgb3RoZXIgcGxhY2VzIGFyZSBwb3NzaWJsZTsgY2hlY2sgd2l0aCB5b3VyIGxvY2FsCkBAIC0yNCwxMSArMjQsMTEgQEAKIHBvcHVsYXIgYWx0ZXJuYXRpdmUgbG9jYXRpb24uKQogCiBPbiBXaW5kb3dzIG1hY2hpbmVzLCB0aGUgUHl0aG9uIGluc3RhbGxhdGlvbiBpcyB1c3VhbGx5IHBsYWNlZCBpbgotOmZpbGU6YEM6XFxQeXRob24zNGAsIHRob3VnaCB5b3UgY2FuIGNoYW5nZSB0aGlzIHdoZW4geW91J3JlIHJ1bm5pbmcgdGhlCis6ZmlsZTpgQzpcXFB5dGhvbjM1YCwgdGhvdWdoIHlvdSBjYW4gY2hhbmdlIHRoaXMgd2hlbiB5b3UncmUgcnVubmluZyB0aGUKIGluc3RhbGxlci4gIFRvIGFkZCB0aGlzIGRpcmVjdG9yeSB0byB5b3VyIHBhdGgsICB5b3UgY2FuIHR5cGUgdGhlIGZvbGxvd2luZwogY29tbWFuZCBpbnRvIHRoZSBjb21tYW5kIHByb21wdCBpbiBhIERPUyBib3g6OgogCi0gICBzZXQgcGF0aD0lcGF0aCU7QzpccHl0aG9uMzQKKyAgIHNldCBwYXRoPSVwYXRoJTtDOlxweXRob24zNQogCiBUeXBpbmcgYW4gZW5kLW9mLWZpbGUgY2hhcmFjdGVyICg6a2JkOmBDb250cm9sLURgIG9uIFVuaXgsIDprYmQ6YENvbnRyb2wtWmAgb24KIFdpbmRvd3MpIGF0IHRoZSBwcmltYXJ5IHByb21wdCBjYXVzZXMgdGhlIGludGVycHJldGVyIHRvIGV4aXQgd2l0aCBhIHplcm8gZXhpdApAQCAtOTYsOCArOTYsOCBAQAogcHJpbnRzIGEgd2VsY29tZSBtZXNzYWdlIHN0YXRpbmcgaXRzIHZlcnNpb24gbnVtYmVyIGFuZCBhIGNvcHlyaWdodCBub3RpY2UKIGJlZm9yZSBwcmludGluZyB0aGUgZmlyc3QgcHJvbXB0OjoKIAotICAgJCBweXRob24zLjQKLSAgIFB5dGhvbiAzLjQgKGRlZmF1bHQsIE1hciAxNiAyMDE0LCAwOToyNTowNCkKKyAgICQgcHl0aG9uMy41CisgICBQeXRob24gMy41IChkZWZhdWx0LCBTZXAgMTYgMjAxNSwgMDk6MjU6MDQpCiAgICBbR0NDIDQuOC4yXSBvbiBsaW51eAogICAgVHlwZSAiaGVscCIsICJjb3B5cmlnaHQiLCAiY3JlZGl0cyIgb3IgImxpY2Vuc2UiIGZvciBtb3JlIGluZm9ybWF0aW9uLgogICAgPj4+CmRpZmYgLS1naXQgYS9Eb2MvdHV0b3JpYWwvc3RkbGliLnJzdCBiL0RvYy90dXRvcmlhbC9zdGRsaWIucnN0CmluZGV4IGNkNzNiYzIuLjk1NGVmNDQgMTAwNjQ0Ci0tLSBhL0RvYy90dXRvcmlhbC9zdGRsaWIucnN0CisrKyBiL0RvYy90dXRvcmlhbC9zdGRsaWIucnN0CkBAIC0xNSw3ICsxNSw3IEBACiAKICAgID4+PiBpbXBvcnQgb3MKICAgID4+PiBvcy5nZXRjd2QoKSAgICAgICMgUmV0dXJuIHRoZSBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5Ci0gICAnQzpcXFB5dGhvbjM0JworICAgJ0M6XFxQeXRob24zNScKICAgID4+PiBvcy5jaGRpcignL3NlcnZlci9hY2Nlc3Nsb2dzJykgICAjIENoYW5nZSBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5CiAgICA+Pj4gb3Muc3lzdGVtKCdta2RpciB0b2RheScpICAgIyBSdW4gdGhlIGNvbW1hbmQgbWtkaXIgaW4gdGhlIHN5c3RlbSBzaGVsbAogICAgMApkaWZmIC0tZ2l0IGEvRG9jL3R1dG9yaWFsL3N0ZGxpYjIucnN0IGIvRG9jL3R1dG9yaWFsL3N0ZGxpYjIucnN0CmluZGV4IGMwMTk3ZWEuLmY3ZDJhMGEgMTAwNjQ0Ci0tLSBhL0RvYy90dXRvcmlhbC9zdGRsaWIyLnJzdAorKysgYi9Eb2MvdHV0b3JpYWwvc3RkbGliMi5yc3QKQEAgLTE4LDcgKzE4LDcgQEAKIAogICAgPj4+IGltcG9ydCByZXBybGliCiAgICA+Pj4gcmVwcmxpYi5yZXByKHNldCgnc3VwZXJjYWxpZnJhZ2lsaXN0aWNleHBpYWxpZG9jaW91cycpKQotICAgInNldChbJ2EnLCAnYycsICdkJywgJ2UnLCAnZicsICdnJywgLi4uXSkiCisgICAieydhJywgJ2MnLCAnZCcsICdlJywgJ2YnLCAnZycsIC4uLn0iCiAKIFRoZSA6bW9kOmBwcHJpbnRgIG1vZHVsZSBvZmZlcnMgbW9yZSBzb3BoaXN0aWNhdGVkIGNvbnRyb2wgb3ZlciBwcmludGluZyBib3RoCiBidWlsdC1pbiBhbmQgdXNlciBkZWZpbmVkIG9iamVjdHMgaW4gYSB3YXkgdGhhdCBpcyByZWFkYWJsZSBieSB0aGUgaW50ZXJwcmV0ZXIuCkBAIC0yNzcsNyArMjc3LDcgQEAKICAgIFRyYWNlYmFjayAobW9zdCByZWNlbnQgY2FsbCBsYXN0KToKICAgICAgRmlsZSAiPHN0ZGluPiIsIGxpbmUgMSwgaW4gPG1vZHVsZT4KICAgICAgICBkWydwcmltYXJ5J10gICAgICAgICAgICAgICAgIyBlbnRyeSB3YXMgYXV0b21hdGljYWxseSByZW1vdmVkCi0gICAgIEZpbGUgIkM6L3B5dGhvbjM0L2xpYi93ZWFrcmVmLnB5IiwgbGluZSA0NiwgaW4gX19nZXRpdGVtX18KKyAgICAgRmlsZSAiQzovcHl0aG9uMzUvbGliL3dlYWtyZWYucHkiLCBsaW5lIDQ2LCBpbiBfX2dldGl0ZW1fXwogICAgICAgIG8gPSBzZWxmLmRhdGFba2V5XSgpCiAgICBLZXlFcnJvcjogJ3ByaW1hcnknCiAKZGlmZiAtLWdpdCBhL0RvYy91c2luZy92ZW52LWNyZWF0ZS5pbmMgYi9Eb2MvdXNpbmcvdmVudi1jcmVhdGUuaW5jCmluZGV4IDQ1YmRkNWEuLjAyYmNiZWUgMTAwNjQ0Ci0tLSBhL0RvYy91c2luZy92ZW52LWNyZWF0ZS5pbmMKKysrIGIvRG9jL3VzaW5nL3ZlbnYtY3JlYXRlLmluYwpAQCAtMjEsMTEgKzIxLDExIEBACiBPbiBXaW5kb3dzLCB5b3UgbWF5IGhhdmUgdG8gaW52b2tlIHRoZSBgYHB5dmVudmBgIHNjcmlwdCBhcyBmb2xsb3dzLCBpZiB5b3UKIGRvbid0IGhhdmUgdGhlIHJlbGV2YW50IFBBVEggYW5kIFBBVEhFWFQgc2V0dGluZ3M6OgogCi0gICAgYzpcVGVtcD5jOlxQeXRob24zNFxweXRob24gYzpcUHl0aG9uMzRcVG9vbHNcU2NyaXB0c1xweXZlbnYucHkgbXllbnYKKyAgICBjOlxUZW1wPmM6XFB5dGhvbjM1XHB5dGhvbiBjOlxQeXRob24zNVxUb29sc1xTY3JpcHRzXHB5dmVudi5weSBteWVudgogCiBvciBlcXVpdmFsZW50bHk6OgogCi0gICAgYzpcVGVtcD5jOlxQeXRob24zNFxweXRob24gLW0gdmVudiBteWVudgorICAgIGM6XFRlbXA+YzpcUHl0aG9uMzVccHl0aG9uIC1tIHZlbnYgbXllbnYKIAogVGhlIGNvbW1hbmQsIGlmIHJ1biB3aXRoIGBgLWhgYCwgd2lsbCBzaG93IHRoZSBhdmFpbGFibGUgb3B0aW9uczo6CiAKZGlmZiAtLWdpdCBhL0RvYy91c2luZy93aW5faW5zdGFsbGVyLnBuZyBiL0RvYy91c2luZy93aW5faW5zdGFsbGVyLnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40Njk2YmIyCi0tLSAvZGV2L251bGwKKysrIGIvRG9jL3VzaW5nL3dpbl9pbnN0YWxsZXIucG5nCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL0RvYy91c2luZy93aW5kb3dzLnJzdCBiL0RvYy91c2luZy93aW5kb3dzLnJzdAppbmRleCBjMDVmNzJhLi5hZjY2MTk2IDEwMDY0NAotLS0gYS9Eb2MvdXNpbmcvd2luZG93cy5yc3QKKysrIGIvRG9jL3VzaW5nL3dpbmRvd3MucnN0CkBAIC03LDYgKzcsNyBAQAogKioqKioqKioqKioqKioqKioqKioqKioqKgogCiAuLiBzZWN0aW9uYXV0aG9yOjogUm9iZXJ0IExlaG1hbm4gPGxlaG1hbm5yb0BnbWFpbC5jb20+CisuLiBzZWN0aW9uYXV0aG9yOjogU3RldmUgRG93ZXIgPHN0ZXZlLmRvd2VyQG1pY3Jvc29mdC5jb20+CiAKIFRoaXMgZG9jdW1lbnQgYWltcyB0byBnaXZlIGFuIG92ZXJ2aWV3IG9mIFdpbmRvd3Mtc3BlY2lmaWMgYmVoYXZpb3VyIHlvdSBzaG91bGQKIGtub3cgYWJvdXQgd2hlbiB1c2luZyBQeXRob24gb24gTWljcm9zb2Z0IFdpbmRvd3MuCkBAIC0xOSwxMCArMjAsMTcyIEBACiBJbnN0YWxsaW5nIFB5dGhvbgogPT09PT09PT09PT09PT09PT0KIAotVW5saWtlIG1vc3QgVW5peCBzeXN0ZW1zIGFuZCBzZXJ2aWNlcywgV2luZG93cyBkb2VzIG5vdCByZXF1aXJlIFB5dGhvbiBuYXRpdmVseQotYW5kIHRodXMgZG9lcyBub3QgcHJlLWluc3RhbGwgYSB2ZXJzaW9uIG9mIFB5dGhvbi4gIEhvd2V2ZXIsIHRoZSBDUHl0aG9uIHRlYW0KK1VubGlrZSBtb3N0IFVuaXggc3lzdGVtcyBhbmQgc2VydmljZXMsIFdpbmRvd3MgZG9lcyBub3QgaW5jbHVkZSBhIHN5c3RlbQorc3VwcG9ydGVkIGluc3RhbGxhdGlvbiBvZiBQeXRob24uIFRvIG1ha2UgUHl0aG9uIGF2YWlsYWJsZSwgdGhlIENQeXRob24gdGVhbQogaGFzIGNvbXBpbGVkIFdpbmRvd3MgaW5zdGFsbGVycyAoTVNJIHBhY2thZ2VzKSB3aXRoIGV2ZXJ5IGByZWxlYXNlCi08aHR0cHM6Ly93d3cucHl0aG9uLm9yZy9kb3dubG9hZC9yZWxlYXNlcy8+YF8gZm9yIG1hbnkgeWVhcnMuCis8aHR0cHM6Ly93d3cucHl0aG9uLm9yZy9kb3dubG9hZC9yZWxlYXNlcy8+YF8gZm9yIG1hbnkgeWVhcnMuIFRoZXNlIGluc3RhbGxlcnMKK2FyZSBwcmltYXJpbHkgaW50ZW5kZWQgdG8gYWRkIGEgc3lzdGVtLXdpZGUgaW5zdGFsbGF0aW9uIG9mIFB5dGhvbiwgd2l0aCB0aGUKK2NvcmUgaW50ZXJwcmV0ZXIgYW5kIGxpYnJhcnkgYmVpbmcgc2hhcmVkIGJ5IGFsbCBhcHBsaWNhdGlvbi4gTm9uLXNoYXJlZAorbGF5b3V0cyBvZiB0aGUgUHl0aG9uIGludGVycHJldGVyIG1heSBhbHNvIGJlIGNyZWF0ZWQgd2l0aCB0aGUgc2FtZSBpbnN0YWxsZXIsCitob3dldmVyLCB0aGUgcmVsZWFzZWQgaW5zdGFsbGVyIGlzIG5vdCBpbnRlbmRlZCBmb3IgZW1iZWRkaW5nIGluIG90aGVyCitpbnN0YWxsZXJzLgorCitJbnN0YWxsYXRpb24gU3RlcHMKKy0tLS0tLS0tLS0tLS0tLS0tLQorCitGb3VyIFB5dGhvbiAzLjUgaW5zdGFsbGVycyBhcmUgYXZhaWxhYmxlIGZvciBkb3dubG9hZCAtIHR3byBlYWNoIGZvciB0aGUgMzItYml0CithbmQgNjQtYml0IHZlcnNpb25zIG9mIHRoZSBpbnRlcnByZXRlci4gVGhlICp3ZWIgaW5zdGFsbGVyKiBpcyBhIHNtYWxsIGluaXRpYWwKK2Rvd25sb2FkLCBhbmQgaXQgd2lsbCBhdXRvbWF0aWNhbGx5IGRvd25sb2FkIHRoZSByZXF1aXJlZCBjb21wb25lbnRzIGFzCituZWNlc3NhcnkuIFRoZSAqb2ZmbGluZSBpbnN0YWxsZXIqIGluY2x1ZGVzIHRoZSBjb21wb25lbnRzIG5lY2Vzc2FyeSBmb3IgYQorZGVmYXVsdCBpbnN0YWxsYXRpb24gYW5kIG9ubHkgcmVxdWlyZXMgYW4gaW50ZXJuZXQgY29ubmVjdGlvbiBmb3Igb3B0aW9uYWwKK2ZlYXR1cmVzLiBTZWUgOnJlZjpgaW5zdGFsbC1sYXlvdXQtb3B0aW9uYCBmb3Igb3RoZXIgd2F5cyB0byBhdm9pZCBkb3dubG9hZGluZworZHVyaW5nIGluc3RhbGxhdGlvbi4KKworQWZ0ZXIgc3RhcnRpbmcgdGhlIGluc3RhbGxlciwgb25lIG9mIHRocmVlIG9wdGlvbnMgbWF5IGJlIHNlbGVjdGVkOgorCisuLiBpbWFnZTo6IHdpbl9pbnN0YWxsZXIucG5nCisKK0lmIHlvdSBzZWxlY3QgIkluc3RhbGwgZm9yIEFsbCBVc2VycyI6CisKKyogWW91IG1heSBiZSByZXF1aXJlZCB0byBwcm92aWRlIGFkbWluaXN0cmF0aXZlIGNyZWRlbnRpYWxzIG9yIGFwcHJvdmFsCisqIFB5dGhvbiB3aWxsIGJlIGluc3RhbGxlZCBpbnRvIHlvdXIgUHJvZ3JhbSBGaWxlcyBkaXJlY3RvcnkKKyogVGhlIDpyZWY6YGxhdW5jaGVyYCB3aWxsIGJlIGluc3RhbGxlZCBpbnRvIHlvdXIgV2luZG93cyBkaXJlY3RvcnkKKyogVGhlIHN0YW5kYXJkIGxpYnJhcnksIHRlc3Qgc3VpdGUsIGxhdW5jaGVyIGFuZCBwaXAgd2lsbCBiZSBpbnN0YWxsZWQKKyogQWZ0ZXIgaW5zdGFsbGF0aW9uLCB0aGUgc3RhbmRhcmQgbGlicmFyeSB3aWxsIGJlIHByZS1jb21waWxlZCB0byBieXRlY29kZQorKiBJZiBzZWxlY3RlZCwgdGhlIGluc3RhbGwgZGlyZWN0b3J5IHdpbGwgYmUgYWRkZWQgdG8gOmVudnZhcjpgUEFUSGAKKworSWYgeW91IHNlbGVjdCAiSW5zdGFsbCBKdXN0IGZvciBNZSI6CisKKyogWW91IHdpbGwgKm5vdCogbmVlZCB0byBiZSBhbiBhZG1pbmlzdHJhdG9yCisqIFB5dGhvbiB3aWxsIGJlIGluc3RhbGxlZCBpbnRvIHlvdXIgdXNlciBkaXJlY3RvcnkKKyogVGhlIDpyZWY6YGxhdW5jaGVyYCB3aWxsICphbHNvKiBiZSBpbnN0YWxsZWQgaW50byB5b3VyIHVzZXIgZGlyZWN0b3J5CisqIFRoZSBzdGFuZGFyZCBsaWJyYXJ5LCB0ZXN0IHN1aXRlLCBsYXVuY2hlciBhbmQgcGlwIHdpbGwgYmUgaW5zdGFsbGVkCisqIElmIHNlbGVjdGVkLCB0aGUgaW5zdGFsbCBkaXJlY3Rvcnkgd2lsbCBiZSBhZGRlZCB0byA6ZW52dmFyOmBQQVRIYAorCitTZWxlY3RpbmcgIkN1c3RvbWl6ZSBpbnN0YWxsYXRpb24iIHdpbGwgYWxsb3cgeW91IHRvIHNlbGVjdCB0aGUgZmVhdHVyZXMgdG8KK2luc3RhbGwsIHRoZSBpbnN0YWxsYXRpb24gbG9jYXRpb24gYW5kIG90aGVyIG9wdGlvbnMgb3IgcG9zdC1pbnN0YWxsIGFjdGlvbnMuCitUbyBpbnN0YWxsIGRlYnVnZ2luZyBzeW1ib2xzIG9yIGJpbmFyaWVzLCB5b3Ugd2lsbCBuZWVkIHRvIHVzZSB0aGlzIG9wdGlvbi4KKworLi4gX2luc3RhbGwtcXVpZXQtb3B0aW9uOgorCitJbnN0YWxsaW5nIFdpdGhvdXQgVUkKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCitBbGwgb2YgdGhlIG9wdGlvbnMgYXZhaWxhYmxlIGluIHRoZSBpbnN0YWxsZXIgVUkgY2FuIGFsc28gYmUgc3BlY2lmaWVkIGZyb20gdGhlCitjb21tYW5kIGxpbmUsIGFsbG93aW5nIHNjcmlwdGVkIGluc3RhbGxlcnMgdG8gcmVwbGljYXRlIGFuIGluc3RhbGxhdGlvbiBvbiBtYW55CittYWNoaW5lcyB3aXRob3V0IHVzZXIgaW50ZXJhY3Rpb24uICBUaGVzZSBvcHRpb25zIG1heSBhbHNvIGJlIHNldCB3aXRob3V0CitzdXBwcmVzc2luZyB0aGUgVUkgaW4gb3JkZXIgdG8gY2hhbmdlIHNvbWUgb2YgdGhlIGRlZmF1bHRzLgorCitUbyBjb21wbGV0ZWx5IGhpZGUgdGhlIGluc3RhbGxlciBVSSBhbmQgaW5zdGFsbCBQeXRob24gc2lsZW50bHksIHBhc3MgdGhlCitgYC9xdWlldGBgIChgYC9xYGApIG9wdGlvbi4gVG8gc2tpcCBwYXN0IHRoZSB1c2VyIGludGVyYWN0aW9uIGJ1dCBzdGlsbCBkaXNwbGF5Citwcm9ncmVzcyBhbmQgZXJyb3JzLCBwYXNzIHRoZSBgYC9wYXNzaXZlYGAgKGBgL3BgYCkgb3B0aW9uLiBUaGUgYGAvdW5pbnN0YWxsYGAKK29wdGlvbiBtYXkgYmUgcGFzc2VkIHRvIGltbWVkaWF0ZWx5IGJlZ2luIHJlbW92aW5nIFB5dGhvbiAtIG5vIHByb21wdCB3aWxsIGJlCitkaXNwbGF5ZWQuCisKK0FsbCBvdGhlciBvcHRpb25zIGFyZSBwYXNzZWQgYXMgYGBuYW1lPXZhbHVlYGAsIHdoZXJlIHRoZSB2YWx1ZSBpcyB1c3VhbGx5CitgYDBgYCB0byBkaXNhYmxlIGEgZmVhdHVyZSwgYGAxYGAgdG8gZW5hYmxlIGEgZmVhdHVyZSwgb3IgYSBwYXRoLiBUaGUgZnVsbCBsaXN0CitvZiBhdmFpbGFibGUgb3B0aW9ucyBpcyBzaG93biBiZWxvdy4KKworKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKK3wgTmFtZSAgICAgICAgICAgICAgICAgICAgICB8IERlc2NyaXB0aW9uICAgICAgICAgICAgICAgICAgICAgICAgICB8IERlZmF1bHQgICAgICAgICAgICAgICAgICB8CisrPT09PT09PT09PT09PT09PT09PT09PT09PT09Kz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Kz09PT09PT09PT09PT09PT09PT09PT09PT09KworfCBJbnN0YWxsQWxsVXNlcnMgICAgICAgICAgIHwgUGVyZm9ybSBhIHN5c3RlbS13aWRlIGluc3RhbGxhdGlvbi4gIHwgMSAgICAgICAgICAgICAgICAgICAgICAgIHwKKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCit8IFRhcmdldERpciAgICAgICAgICAgICAgICAgfCBUaGUgaW5zdGFsbGF0aW9uIGRpcmVjdG9yeSAgICAgICAgICAgfCBTZWxlY3RlZCBiYXNlZCBvbiAgICAgICAgfAorfCAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgSW5zdGFsbEFsbFVzZXJzICAgICAgICAgIHwKKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCit8IERlZmF1bHRBbGxVc2Vyc1RhcmdldERpciAgfCBUaGUgZGVmYXVsdCBpbnN0YWxsYXRpb24gZGlyZWN0b3J5ICAgfCA6ZmlsZTpgJVByb2dyYW1GaWxlcyVcXFwgfAorfCAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgZm9yIGFsbC11c2VyIGluc3RhbGxzICAgICAgICAgICAgICAgIHwgUHl0aG9uIFguWWAgb3IgOmZpbGU6YFwgIHwKK3wgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICVQcm9ncmFtRmlsZXMoeDg2KSVcXFwgICB8Cit8ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBQeXRob24gWC5ZYCAgICAgICAgICAgICAgfAorKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKK3wgRGVmYXVsdEp1c3RGb3JNZVRhcmdldERpciB8IFRoZSBkZWZhdWx0IGluc3RhbGwgZGlyZWN0b3J5IGZvciAgICB8IDpmaWxlOmAlTG9jYWxBcHBEYXRhJVxcXCB8Cit8ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBqdXN0LWZvci1tZSBpbnN0YWxscyAgICAgICAgICAgICAgICAgfCBQcm9ncmFtc1xcUHl0aG9uWFlgIG9yICAgfAorfCAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgOmZpbGU6YCVMb2NhbEFwcERhdGElXFxcIHwKK3wgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFByb2dyYW1zXFxQeXRob25YWS0zMmAgICB8CisrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworfCBEZWZhdWx0Q3VzdG9tVGFyZ2V0RGlyICAgIHwgVGhlIGRlZmF1bHQgY3VzdG9tIGluc3RhbGwgZGlyZWN0b3J5IHwgKGVtcHR5KSAgICAgICAgICAgICAgICAgIHwKK3wgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGRpc3BsYXllZCBpbiB0aGUgVUkgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICB8CisrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworfCBBc3NvY2lhdGVGaWxlcyAgICAgICAgICAgIHwgQ3JlYXRlIGZpbGUgYXNzb2NpYXRpb25zIGlmIHRoZSAgICAgIHwgMSAgICAgICAgICAgICAgICAgICAgICAgIHwKK3wgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGxhdW5jaGVyIGlzIGFsc28gaW5zdGFsbGVkLiAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICB8CisrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworfCBDb21waWxlQWxsICAgICAgICAgICAgICAgIHwgQ29tcGlsZSBhbGwgYGAucHlgYCBmaWxlcyB0byAgICAgICAgIHwgMCAgICAgICAgICAgICAgICAgICAgICAgIHwKK3wgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGBgLnB5Y2BgIGFuZCBgYC5weW9gYC4gICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICB8CisrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworfCBQcmVwZW5kUGF0aCAgICAgICAgICAgICAgIHwgQWRkIGluc3RhbGwgYW5kIFNjcmlwdHMgZGlyZWN0b3JpZXMgIHwgMCAgICAgICAgICAgICAgICAgICAgICAgIHwKK3wgICAgICAgICAgICAgICAgICAgICAgICAgICB8IHRobyA6ZW52dmFyOmBQQVRIYCBhbmQgYGAuUFlgYCB0byAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICB8Cit8ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCA6ZW52dmFyOmBQQVRIRVhUYCAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgfAorKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKK3wgSW5jbHVkZV9kb2MgICAgICAgICAgICAgICB8IEluc3RhbGwgUHl0aG9uIG1hbnVhbCAgICAgICAgICAgICAgICB8IDEgICAgICAgICAgICAgICAgICAgICAgICB8CisrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworfCBJbmNsdWRlX2RlYnVnICAgICAgICAgICAgIHwgSW5zdGFsbCBkZWJ1ZyBiaW5hcmllcyAgICAgICAgICAgICAgIHwgMCAgICAgICAgICAgICAgICAgICAgICAgIHwKKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCit8IEluY2x1ZGVfZGV2ICAgICAgICAgICAgICAgfCBJbnN0YWxsIGRldmVsb3BlciBoZWFkZXJzIGFuZCAgICAgICAgfCAxICAgICAgICAgICAgICAgICAgICAgICAgfAorfCAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgbGlicmFyaWVzICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCit8IEluY2x1ZGVfZXhlICAgICAgICAgICAgICAgfCBJbnN0YWxsIDpmaWxlOmBweXRob24uZXhlYCBhbmQgICAgICAgfCAxICAgICAgICAgICAgICAgICAgICAgICAgfAorfCAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgcmVsYXRlZCBmaWxlcyAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCit8IEluY2x1ZGVfbGF1bmNoZXIgICAgICAgICAgfCBJbnN0YWxsIDpyZWY6YGxhdW5jaGVyYC4gICAgICAgICAgICAgfCAxICAgICAgICAgICAgICAgICAgICAgICAgfAorKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKK3wgSW5jbHVkZV9saWIgICAgICAgICAgICAgICB8IEluc3RhbGwgc3RhbmRhcmQgbGlicmFyeSBhbmQgICAgICAgICB8IDEgICAgICAgICAgICAgICAgICAgICAgICB8Cit8ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBleHRlbnNpb24gbW9kdWxlcyAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgfAorKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKK3wgSW5jbHVkZV9waXAgICAgICAgICAgICAgICB8IEluc3RhbGwgYnVuZGxlZCBwaXAgYW5kIHNldHVwdG9vbHMgICB8IDEgICAgICAgICAgICAgICAgICAgICAgICB8CisrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworfCBJbmNsdWRlX3N5bWJvbHMgICAgICAgICAgIHwgSW5zdGFsbCBkZWJ1Z2dpbmcgc3ltYm9scyAoYCpgLnBkYikgIHwgMCAgICAgICAgICAgICAgICAgICAgICAgIHwKKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCit8IEluY2x1ZGVfdGNsdGsgICAgICAgICAgICAgfCBJbnN0YWxsIFRjbC9UayBzdXBwb3J0IGFuZCBJRExFICAgICAgfCAxICAgICAgICAgICAgICAgICAgICAgICAgfAorKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKK3wgSW5jbHVkZV90ZXN0ICAgICAgICAgICAgICB8IEluc3RhbGwgc3RhbmRhcmQgbGlicmFyeSB0ZXN0IHN1aXRlICB8IDEgICAgICAgICAgICAgICAgICAgICAgICB8CisrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworfCBJbmNsdWRlX3Rvb2xzICAgICAgICAgICAgIHwgSW5zdGFsbCB1dGlsaXR5IHNjcmlwdHMgICAgICAgICAgICAgIHwgMSAgICAgICAgICAgICAgICAgICAgICAgIHwKKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCit8IFNpbXBsZUluc3RhbGwgICAgICAgICAgICAgfCBEaXNhYmxlIG1vc3QgaW5zdGFsbCBVSSAgICAgICAgICAgICAgfCAwICAgICAgICAgICAgICAgICAgICAgICAgfAorKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKKworRm9yIGV4YW1wbGUsIHRvIHNpbGVudGx5IGluc3RhbGwgYSBkZWZhdWx0LCBzeXN0ZW0td2lkZSBQeXRob24gaW5zdGFsbGF0aW9uLAoreW91IGNvdWxkIHVzZSB0aGUgZm9sbG93aW5nIGNvbW1hbmQgKGZyb20gYW4gZWxldmF0ZWQgY29tbWFuZCBwcm9tcHQpOjoKKworICAgIHB5dGhvbi0zLjUuMC5leGUgL3F1aWV0IEluc3RhbGxBbGxVc2Vycz0xIFByZXBlbmRQYXRoPTEgSW5jbHVkZV90ZXN0PTAKKworVG8gYWxsb3cgdXNlcnMgdG8gZWFzaWx5IGluc3RhbGwgYSBwZXJzb25hbCBjb3B5IG9mIFB5dGhvbiB3aXRob3V0IHRoZSB0ZXN0CitzdWl0ZSwgeW91IGNvdWxkIHByb3ZpZGUgYSBzaG9ydGN1dCB3aXRoIHRoZSBmb2xsb3dpbmcgY29tbWFuZDo6CisKKyAgICBweXRob24tMy41LjAuZXhlIC9wYXNzaXZlIEluc3RhbGxBbGxVc2Vycz0wIEluY2x1ZGVfbGF1bmNoZXI9MCBJbmNsdWRlX3Rlc3Q9MCBTaW1wbGVJbnN0YWxsPTEKKworKE5vdGUgdGhhdCBvbWl0dGluZyB0aGUgbGF1bmNoZXIgYWxzbyBvbWl0cyBmaWxlIGFzc29jaWF0aW9ucywgYW5kIGlzIG9ubHkKK3JlY29tbWVuZGVkIGZvciBwZXItdXNlciBpbnN0YWxscyB3aGVuIHRoZXJlIGlzIGFsc28gYSBzeXN0ZW0td2lkZSBpbnN0YWxsYXRpb24KK3RoYXQgaW5jbHVkZWQgdGhlIGxhdW5jaGVyLikKKworLi4gX2luc3RhbGwtbGF5b3V0LW9wdGlvbjoKKworSW5zdGFsbGluZyBXaXRob3V0IERvd25sb2FkaW5nCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworQXMgc29tZSBmZWF0dXJlcyBvZiBQeXRob24gYXJlIG5vdCBpbmNsdWRlZCBpbiB0aGUgaW5pdGlhbCBpbnN0YWxsZXIgZG93bmxvYWQsCitzZWxlY3RpbmcgdGhvc2UgZmVhdHVyZXMgbWF5IHJlcXVpcmUgYW4gaW50ZXJuZXQgY29ubmVjdGlvbi4gIFRvIGF2b2lkIHRoaXMKK25lZWQsIGFsbCBwb3NzaWJsZSBjb21wb25lbnRzIG1heSBiZSBkb3dubG9hZGVkIG9uLWRlbWFuZCB0byBjcmVhdGUgYSBjb21wbGV0ZQorKmxheW91dCogdGhhdCB3aWxsIG5vIGxvbmdlciByZXF1aXJlIGFuIGludGVybmV0IGNvbm5lY3Rpb24gcmVnYXJkbGVzcyBvZiB0aGUKK3NlbGVjdGVkIGZlYXR1cmVzLiBOb3RlIHRoYXQgdGhpcyBkb3dubG9hZCBtYXkgYmUgYmlnZ2VyIHRoYW4gcmVxdWlyZWQsIGJ1dAord2hlcmUgYSBsYXJnZSBudW1iZXIgb2YgaW5zdGFsbGF0aW9ucyBhcmUgZ29pbmcgdG8gYmUgcGVyZm9ybWVkIGl0IGlzIHZlcnkKK3VzZWZ1bCB0byBoYXZlIGEgbG9jYWxseSBjYWNoZWQgY29weS4KKworRXhlY3V0ZSB0aGUgZm9sbG93aW5nIGNvbW1hbmQgZnJvbSBDb21tYW5kIFByb21wdCB0byBkb3dubG9hZCBhbGwgcG9zc2libGUKK3JlcXVpcmVkIGZpbGVzLiAgUmVtZW1iZXIgdG8gc3Vic3RpdHV0ZSBgYHB5dGhvbi0zLjUuMC5leGVgYCBmb3IgdGhlIGFjdHVhbAorbmFtZSBvZiB5b3VyIGluc3RhbGxlciwgYW5kIHRvIGNyZWF0ZSBsYXlvdXRzIGluIHRoZWlyIG93biBkaXJlY3RvcmllcyB0bworYXZvaWQgY29sbGlzaW9ucyBiZXR3ZWVuIGZpbGVzIHdpdGggdGhlIHNhbWUgbmFtZS4KKworOjoKKworICAgIHB5dGhvbi0zLjUuMC5leGUgL2xheW91dCBbb3B0aW9uYWwgdGFyZ2V0IGRpcmVjdG9yeV0KKworWW91IG1heSBhbHNvIHNwZWNpZnkgdGhlIGBgL3F1aWV0YGAgb3B0aW9uIHRvIGhpZGUgdGhlIHByb2dyZXNzIGRpc3BsYXkuCisKKworT3RoZXIgUGxhdGZvcm1zCistLS0tLS0tLS0tLS0tLS0KIAogV2l0aCBvbmdvaW5nIGRldmVsb3BtZW50IG9mIFB5dGhvbiwgc29tZSBwbGF0Zm9ybXMgdGhhdCB1c2VkIHRvIGJlIHN1cHBvcnRlZAogZWFybGllciBhcmUgbm8gbG9uZ2VyIHN1cHBvcnRlZCAoZHVlIHRvIHRoZSBsYWNrIG9mIHVzZXJzIG9yIGRldmVsb3BlcnMpLgpAQCAtNjYsMTkgKzIyOSwzMSBAQAogYEFjdGl2ZVB5dGhvbiA8aHR0cDovL3d3dy5hY3RpdmVzdGF0ZS5jb20vYWN0aXZlcHl0aG9uLz5gXwogICAgIEluc3RhbGxlciB3aXRoIG11bHRpLXBsYXRmb3JtIGNvbXBhdGliaWxpdHksIGRvY3VtZW50YXRpb24sIFB5V2luMzIKIAotYEVudGhvdWdodCBQeXRob24gRGlzdHJpYnV0aW9uIDxodHRwczovL3d3dy5lbnRob3VnaHQuY29tL3Byb2R1Y3RzL2VwZC8+YF8KLSAgICBQb3B1bGFyIG1vZHVsZXMgKHN1Y2ggYXMgUHlXaW4zMikgd2l0aCB0aGVpciByZXNwZWN0aXZlIGRvY3VtZW50YXRpb24sIHRvb2wKLSAgICBzdWl0ZSBmb3IgYnVpbGRpbmcgZXh0ZW5zaWJsZSBQeXRob24gYXBwbGljYXRpb25zCitgQW5hY29uZGEgPGh0dHA6Ly93d3cuY29udGludXVtLmlvL2Rvd25sb2Fkcy8+YF8KKyAgICBQb3B1bGFyIHNjaWVudGlmaWMgbW9kdWxlcyAoc3VjaCBhcyBudW1weSwgc2NpcHkgYW5kIHBhbmRhcykgYW5kIHRoZQorICAgIGBgY29uZGFgYCBwYWNrYWdlIG1hbmFnZXIuCiAKLU5vdGljZSB0aGF0IHRoZXNlIHBhY2thZ2VzIGFyZSBsaWtlbHkgdG8gaW5zdGFsbCAqb2xkZXIqIHZlcnNpb25zIG9mIFB5dGhvbi4KK2BDYW5vcHkgPGh0dHBzOi8vd3d3LmVudGhvdWdodC5jb20vcHJvZHVjdHMvY2Fub3B5Lz5gXworICAgIEEgImNvbXByZWhlbnNpdmUgUHl0aG9uIGFuYWx5c2lzIGVudmlyb25tZW50IiB3aXRoIGVkaXRvcnMgYW5kIG90aGVyCisgICAgZGV2ZWxvcG1lbnQgdG9vbHMuCisKK2BXaW5QeXRob24gPGh0dHBzOi8vd2lucHl0aG9uLmdpdGh1Yi5pby8+YF8KKyAgICBXaW5kb3dzLXNwZWNpZmljIGRpc3RyaWJ1dGlvbiB3aXRoIHByZWJ1aWx0IHNjaWVudGlmaWMgcGFja2FnZXMgYW5kCisgICAgdG9vbHMgZm9yIGJ1aWxkaW5nIHBhY2thZ2VzLgorCitOb3RlIHRoYXQgdGhlc2UgcGFja2FnZXMgbWF5IG5vdCBpbmNsdWRlIHRoZSBsYXRlc3QgdmVyc2lvbnMgb2YgUHl0aG9uIG9yCitvdGhlciBsaWJyYXJpZXMsIGFuZCBhcmUgbm90IG1haW50YWluZWQgb3Igc3VwcG9ydGVkIGJ5IHRoZSBjb3JlIFB5dGhvbiB0ZWFtLgogCiAKIAogQ29uZmlndXJpbmcgUHl0aG9uCiA9PT09PT09PT09PT09PT09PT0KIAotSW4gb3JkZXIgdG8gcnVuIFB5dGhvbiBmbGF3bGVzc2x5LCB5b3UgbWlnaHQgaGF2ZSB0byBjaGFuZ2UgY2VydGFpbiBlbnZpcm9ubWVudAotc2V0dGluZ3MgaW4gV2luZG93cy4KK1RvIHJ1biBQeXRob24gY29udmVuaWVudGx5IGZyb20gYSBjb21tYW5kIHByb21wdCwgeW91IG1pZ2h0IGNvbnNpZGVyIGNoYW5naW5nCitzb21lIGRlZmF1bHQgZW52aXJvbm1lbnQgdmFyaWFibGVzIGluIFdpbmRvd3MuICBXaGlsZSB0aGUgaW5zdGFsbGVyIHByb3ZpZGVzIGFuCitvcHRpb24gdG8gY29uZmlndXJlIHRoZSBQQVRIIGFuZCBQQVRIRVhUIHZhcmlhYmxlcyBmb3IgeW91LCB0aGlzIGlzIG9ubHkKK3JlbGlhYmxlIGZvciBhIHNpbmdsZSwgc3lzdGVtLXdpZGUgaW5zdGFsbGF0aW9uLiAgSWYgeW91IHJlZ3VsYXJseSB1c2UgbXVsdGlwbGUKK3ZlcnNpb25zIG9mIFB5dGhvbiwgY29uc2lkZXIgdXNpbmcgdGhlIDpyZWY6YGxhdW5jaGVyYC4KIAogCiAuLiBfc2V0dGluZy1lbnZ2YXJzOgpAQCAtODYsMTYzICsyNjEsODYgQEAKIEV4Y3Vyc3VzOiBTZXR0aW5nIGVudmlyb25tZW50IHZhcmlhYmxlcwogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKLVdpbmRvd3MgaGFzIGEgYnVpbHQtaW4gZGlhbG9nIGZvciBjaGFuZ2luZyBlbnZpcm9ubWVudCB2YXJpYWJsZXMgKGZvbGxvd2luZwotZ3VpZGUgYXBwbGllcyB0byBYUCBjbGFzc2ljYWwgdmlldyk6IFJpZ2h0LWNsaWNrIHRoZSBpY29uIGZvciB5b3VyIG1hY2hpbmUKLSh1c3VhbGx5IGxvY2F0ZWQgb24geW91ciBEZXNrdG9wIGFuZCBjYWxsZWQgIk15IENvbXB1dGVyIikgYW5kIGNob29zZQotOm1lbnVzZWxlY3Rpb246YFByb3BlcnRpZXNgIHRoZXJlLiAgVGhlbiwgb3BlbiB0aGUgOmd1aWxhYmVsOmBBZHZhbmNlZGAgdGFiCi1hbmQgY2xpY2sgdGhlIDpndWlsYWJlbDpgRW52aXJvbm1lbnQgVmFyaWFibGVzYCBidXR0b24uCitXaW5kb3dzIGFsbG93cyBlbnZpcm9ubWVudCB2YXJpYWJsZXMgdG8gYmUgY29uZmlndXJlZCBwZXJtYW5lbnRseSBhdCBib3RoIHRoZQorVXNlciBsZXZlbCBhbmQgdGhlIFN5c3RlbSBsZXZlbCwgb3IgdGVtcG9yYXJpbHkgaW4gYSBjb21tYW5kIHByb21wdC4KIAotSW4gc2hvcnQsIHlvdXIgcGF0aCBpczoKK1RvIHRlbXBvcmFyaWx5IHNldCBlbnZpcm9ubWVudCB2YXJpYWJsZXMsIG9wZW4gQ29tbWFuZCBQcm9tcHQgYW5kIHVzZSB0aGUKKzpjb21tYW5kOmBzZXRgIGNvbW1hbmQ6OgogCi0gICAgOm1lbnVzZWxlY3Rpb246YE15IENvbXB1dGVyCi0gICAgLS0+IFByb3BlcnRpZXMKLSAgICAtLT4gQWR2YW5jZWQKLSAgICAtLT4gRW52aXJvbm1lbnQgVmFyaWFibGVzYAorICAgIEM6XD5zZXQgUEFUSD1DOlxQcm9ncmFtIEZpbGVzXFB5dGhvbiAzLjU7JVBBVEglCisgICAgQzpcPnNldCBQWVRIT05QQVRIPSVQWVRIT05QQVRIJTtDOlxNeV9weXRob25fbGliCisgICAgQzpcPnB5dGhvbgogCitUaGVzZSBjaGFuZ2VzIHdpbGwgYXBwbHkgdG8gYW55IGZ1cnRoZXIgY29tbWFuZHMgZXhlY3V0ZWQgaW4gdGhhdCBjb25zb2xlLCBhbmQKK3dpbGwgYmUgaW5oZXJpdGVkIGJ5IGFueSBhcHBsaWNhdGlvbnMgc3RhcnRlZCBmcm9tIHRoZSBjb25zb2xlLgorCitJbmNsdWRpbmcgdGhlIHZhcmlhYmxlIG5hbWUgd2l0aGluIHBlcmNlbnQgc2lnbnMgd2lsbCBleHBhbmQgdG8gdGhlIGV4aXN0aW5nCit2YWx1ZSwgYWxsb3dpbmcgeW91IHRvIGFkZCB5b3VyIG5ldyB2YWx1ZSBhdCBlaXRoZXIgdGhlIHN0YXJ0IG9yIHRoZSBlbmQuCitNb2RpZnlpbmcgOmVudnZhcjpgUEFUSGAgYnkgYWRkaW5nIHRoZSBkaXJlY3RvcnkgY29udGFpbmluZworOnByb2dyYW06YHB5dGhvbi5leGVgIHRvIHRoZSBzdGFydCBpcyBhIGNvbW1vbiB3YXkgdG8gZW5zdXJlIHRoZSBjb3JyZWN0IHZlcnNpb24KK29mIFB5dGhvbiBpcyBsYXVuY2hlZC4KKworVG8gcGVybWFuZW50bHkgbW9kaWZ5IHRoZSBkZWZhdWx0IGVudmlyb25tZW50IHZhcmlhYmxlcywgY2xpY2sgU3RhcnQgYW5kIHNlYXJjaAorZm9yICdlZGl0IGVudmlyb25tZW50IHZhcmlhYmxlcycsIG9yIG9wZW4gU3lzdGVtIHByb3BlcnRpZXMsIDpndWlsYWJlbDpgQWR2YW5jZWQKK3N5c3RlbSBzZXR0aW5nc2AgYW5kIGNsaWNrIHRoZSA6Z3VpbGFiZWw6YEVudmlyb25tZW50IFZhcmlhYmxlc2AgYnV0dG9uLgogSW4gdGhpcyBkaWFsb2csIHlvdSBjYW4gYWRkIG9yIG1vZGlmeSBVc2VyIGFuZCBTeXN0ZW0gdmFyaWFibGVzLiBUbyBjaGFuZ2UKIFN5c3RlbSB2YXJpYWJsZXMsIHlvdSBuZWVkIG5vbi1yZXN0cmljdGVkIGFjY2VzcyB0byB5b3VyIG1hY2hpbmUKIChpLmUuIEFkbWluaXN0cmF0b3IgcmlnaHRzKS4KIAotQW5vdGhlciB3YXkgb2YgYWRkaW5nIHZhcmlhYmxlcyB0byB5b3VyIGVudmlyb25tZW50IGlzIHVzaW5nIHRoZSA6Y29tbWFuZDpgc2V0YAotY29tbWFuZDo6CisuLiBub3RlOjoKIAotICAgIHNldCBQWVRIT05QQVRIPSVQWVRIT05QQVRIJTtDOlxNeV9weXRob25fbGliCisgICAgV2luZG93cyB3aWxsIGNvbmNhdGVuYXRlIFVzZXIgdmFyaWFibGVzICphZnRlciogU3lzdGVtIHZhcmlhYmxlcywgd2hpY2ggbWF5CisgICAgY2F1c2UgdW5leHBlY3RlZCByZXN1bHRzIHdoZW4gbW9kaWZ5aW5nIDplbnZ2YXI6YFBBVEhgLgogCi1UbyBtYWtlIHRoaXMgc2V0dGluZyBwZXJtYW5lbnQsIHlvdSBjb3VsZCBhZGQgdGhlIGNvcnJlc3BvbmRpbmcgY29tbWFuZCBsaW5lIHRvCi15b3VyIDpmaWxlOmBhdXRvZXhlYy5iYXRgLiA6cHJvZ3JhbTpgbXNjb25maWdgIGlzIGEgZ3JhcGhpY2FsIGludGVyZmFjZSB0byB0aGlzCi1maWxlLgotCi1WaWV3aW5nIGVudmlyb25tZW50IHZhcmlhYmxlcyBjYW4gYWxzbyBiZSBkb25lIG1vcmUgc3RyYWlnaHQtZm9yd2FyZDogVGhlCi1jb21tYW5kIHByb21wdCB3aWxsIGV4cGFuZCBzdHJpbmdzIHdyYXBwZWQgaW50byBwZXJjZW50IHNpZ25zIGF1dG9tYXRpY2FsbHk6OgotCi0gICAgZWNobyAlUEFUSCUKLQotQ29uc3VsdCA6Y29tbWFuZDpgc2V0IC8/YCBmb3IgZGV0YWlscyBvbiB0aGlzIGJlaGF2aW91ci4KKyAgICBUaGUgOmVudnZhcjpgUFlUSE9OUEFUSGAgdmFyaWFibGUgaXMgdXNlZCBieSBhbGwgdmVyc2lvbnMgb2YgUHl0aG9uIDIgYW5kCisgICAgUHl0aG9uIDMsIHNvIHlvdSBzaG91bGQgbm90IHBlcm1hbmVudGx5IGNvbmZpZ3VyZSB0aGlzIHZhcmlhYmxlIHVubGVzcyBpdAorICAgIG9ubHkgaW5jbHVkZXMgY29kZSB0aGF0IGlzIGNvbXBhdGlibGUgYWxsIG9mIHlvdXIgaW5zdGFsbGVkIFB5dGhvbgorICAgIHZlcnNpb25zLgogCiAuLiBzZWVhbHNvOjoKIAotICAgaHR0cDovL3N1cHBvcnQubWljcm9zb2Z0LmNvbS9rYi8xMDA4NDMKKyAgICBodHRwOi8vc3VwcG9ydC5taWNyb3NvZnQuY29tL2tiLzEwMDg0MwogICAgICAgRW52aXJvbm1lbnQgdmFyaWFibGVzIGluIFdpbmRvd3MgTlQKIAotICAgaHR0cDovL3N1cHBvcnQubWljcm9zb2Z0LmNvbS9rYi8zMTA1MTkKKyAgICBodHRwOi8vdGVjaG5ldC5taWNyb3NvZnQuY29tL2VuLXVzL2xpYnJhcnkvY2M3NTQyNTAuYXNweAorICAgICAgVGhlIFNFVCBjb21tYW5kLCBmb3IgdGVtcG9yYXJpbHkgbW9kaWZ5aW5nIGVudmlyb25tZW50IHZhcmlhYmxlcworCisgICAgaHR0cDovL3RlY2huZXQubWljcm9zb2Z0LmNvbS9lbi11cy9saWJyYXJ5L2NjNzU1MTA0LmFzcHgKKyAgICAgIFRoZSBTRVRYIGNvbW1hbmQsIGZvciBwZXJtYW5lbnRseSBtb2RpZnlpbmcgZW52aXJvbm1lbnQgdmFyaWFibGVzCisKKyAgICBodHRwOi8vc3VwcG9ydC5taWNyb3NvZnQuY29tL2tiLzMxMDUxOQogICAgICAgSG93IFRvIE1hbmFnZSBFbnZpcm9ubWVudCBWYXJpYWJsZXMgaW4gV2luZG93cyBYUAogCi0gICBodHRwOi8vd3d3LmNoZW0uZ2xhLmFjLnVrL35sb3Vpcy9zb2Z0d2FyZS9mYXEvcTEuaHRtbAorICAgIGh0dHA6Ly93d3cuY2hlbS5nbGEuYWMudWsvfmxvdWlzL3NvZnR3YXJlL2ZhcS9xMS5odG1sCiAgICAgICBTZXR0aW5nIEVudmlyb25tZW50IHZhcmlhYmxlcywgTG91aXMgSi4gRmFycnVnaWEKIAotCiAuLiBfd2luZG93cy1wYXRoLW1vZDoKIAogRmluZGluZyB0aGUgUHl0aG9uIGV4ZWN1dGFibGUKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKLS4uIHZlcnNpb25jaGFuZ2VkOjogMy4zCisuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuNQogCiBCZXNpZGVzIHVzaW5nIHRoZSBhdXRvbWF0aWNhbGx5IGNyZWF0ZWQgc3RhcnQgbWVudSBlbnRyeSBmb3IgdGhlIFB5dGhvbgotaW50ZXJwcmV0ZXIsIHlvdSBtaWdodCB3YW50IHRvIHN0YXJ0IFB5dGhvbiBpbiB0aGUgY29tbWFuZCBwcm9tcHQuIEFzIG9mCi1QeXRob24gMy4zLCB0aGUgaW5zdGFsbGVyIGhhcyBhbiBvcHRpb24gdG8gc2V0IHRoYXQgdXAgZm9yIHlvdS4KK2ludGVycHJldGVyLCB5b3UgbWlnaHQgd2FudCB0byBzdGFydCBQeXRob24gaW4gdGhlIGNvbW1hbmQgcHJvbXB0LiBUaGUKK2luc3RhbGxlciBmb3IgUHl0aG9uIDMuNSBhbmQgbGF0ZXIgaGFzIGFuIG9wdGlvbiB0byBzZXQgdGhhdCB1cCBmb3IgeW91LgogCi1BdCB0aGUgIkN1c3RvbWl6ZSBQeXRob24gMy4zIiBzY3JlZW4sIGFuIG9wdGlvbiBjYWxsZWQKLSJBZGQgcHl0aG9uLmV4ZSB0byBzZWFyY2ggcGF0aCIgY2FuIGJlIGVuYWJsZWQgdG8gaGF2ZSB0aGUgaW5zdGFsbGVyIHBsYWNlCi15b3VyIGluc3RhbGxhdGlvbiBpbnRvIHRoZSA6ZW52dmFyOmAlUEFUSCVgLiBUaGlzIGFsbG93cyB5b3UgdG8gdHlwZQotOmNvbW1hbmQ6YHB5dGhvbmAgdG8gcnVuIHRoZSBpbnRlcnByZXRlci4gVGh1cywgeW91IGNhbiBhbHNvIGV4ZWN1dGUgeW91cgorT24gdGhlIGZpcnN0IHBhZ2Ugb2YgdGhlIGluc3RhbGxlciwgYW4gb3B0aW9uIGxhYmVsbGVkICJBZGQgUHl0aG9uIDMuNSB0bworUEFUSCIgY2FuIGJlIHNlbGVjdGVkIHRvIGhhdmUgdGhlIGluc3RhbGxlciBhZGQgdGhlIGluc3RhbGwgbG9jYXRpb24gaW50byB0aGUKKzplbnZ2YXI6YFBBVEhgLiAgVGhlIGxvY2F0aW9uIG9mIHRoZSA6ZmlsZTpgU2NyaXB0c1xcYCBmb2xkZXIgaXMgYWxzbyBhZGRlZC4KK1RoaXMgYWxsb3dzIHlvdSB0byB0eXBlIDpjb21tYW5kOmBweXRob25gIHRvIHJ1biB0aGUgaW50ZXJwcmV0ZXIsIGFuZAorOmNvbW1hbmQ6YHBpcGAgb3IgLiBUaHVzLCB5b3UgY2FuIGFsc28gZXhlY3V0ZSB5b3VyCiBzY3JpcHRzIHdpdGggY29tbWFuZCBsaW5lIG9wdGlvbnMsIHNlZSA6cmVmOmB1c2luZy1vbi1jbWRsaW5lYCBkb2N1bWVudGF0aW9uLgogCiBJZiB5b3UgZG9uJ3QgZW5hYmxlIHRoaXMgb3B0aW9uIGF0IGluc3RhbGwgdGltZSwgeW91IGNhbiBhbHdheXMgcmUtcnVuIHRoZQotaW5zdGFsbGVyIHRvIGNob29zZSBpdC4KK2luc3RhbGxlciwgc2VsZWN0IE1vZGlmeSwgYW5kIGVuYWJsZSBpdC4gIEFsdGVybmF0aXZlbHksIHlvdSBjYW4gbWFudWFsbHkKK21vZGlmeSB0aGUgOmVudnZhcjpgUEFUSGAgdXNpbmcgdGhlIGRpcmVjdGlvbnMgaW4gOnJlZjpgc2V0dGluZy1lbnZ2YXJzYC4gIFlvdQorbmVlZCB0byBzZXQgeW91ciA6ZW52dmFyOmBQQVRIYCBlbnZpcm9ubWVudCB2YXJpYWJsZSB0byBpbmNsdWRlIHRoZSBkaXJlY3RvcnkKK29mIHlvdXIgUHl0aG9uIGluc3RhbGxhdGlvbiwgZGVsaW1pdGVkIGJ5IGEgc2VtaWNvbG9uIGZyb20gb3RoZXIgZW50cmllcy4gIEFuCitleGFtcGxlIHZhcmlhYmxlIGNvdWxkIGxvb2sgbGlrZSB0aGlzIChhc3N1bWluZyB0aGUgZmlyc3QgdHdvIGVudHJpZXMgYWxyZWFkeQorZXhpc3RlZCk6OgogCi1UaGUgYWx0ZXJuYXRpdmUgaXMgbWFudWFsbHkgbW9kaWZ5aW5nIHRoZSA6ZW52dmFyOmAlUEFUSCVgIHVzaW5nIHRoZQotZGlyZWN0aW9ucyBpbiA6cmVmOmBzZXR0aW5nLWVudnZhcnNgLiBZb3UgbmVlZCB0byBzZXQgeW91ciA6ZW52dmFyOmAlUEFUSCVgCi1lbnZpcm9ubWVudCB2YXJpYWJsZSB0byBpbmNsdWRlIHRoZSBkaXJlY3Rvcnkgb2YgeW91ciBQeXRob24gZGlzdHJpYnV0aW9uLAotZGVsaW1pdGVkIGJ5IGEgc2VtaWNvbG9uIGZyb20gb3RoZXIgZW50cmllcy4gQW4gZXhhbXBsZSB2YXJpYWJsZSBjb3VsZCBsb29rCi1saWtlIHRoaXMgKGFzc3VtaW5nIHRoZSBmaXJzdCB0d28gZW50cmllcyBhcmUgV2luZG93cycgZGVmYXVsdCk6OgotCi0gICAgQzpcV0lORE9XU1xzeXN0ZW0zMjtDOlxXSU5ET1dTO0M6XFB5dGhvbjMzCi0KLQotRmluZGluZyBtb2R1bGVzCi0tLS0tLS0tLS0tLS0tLS0KLQotUHl0aG9uIHVzdWFsbHkgc3RvcmVzIGl0cyBsaWJyYXJ5IChhbmQgdGhlcmVieSB5b3VyIHNpdGUtcGFja2FnZXMgZm9sZGVyKSBpbiB0aGUKLWluc3RhbGxhdGlvbiBkaXJlY3RvcnkuICBTbywgaWYgeW91IGhhZCBpbnN0YWxsZWQgUHl0aG9uIHRvCi06ZmlsZTpgQzpcXFB5dGhvblxcYCwgdGhlIGRlZmF1bHQgbGlicmFyeSB3b3VsZCByZXNpZGUgaW4KLTpmaWxlOmBDOlxcUHl0aG9uXFxMaWJcXGAgYW5kIHRoaXJkLXBhcnR5IG1vZHVsZXMgc2hvdWxkIGJlIHN0b3JlZCBpbgotOmZpbGU6YEM6XFxQeXRob25cXExpYlxcc2l0ZS1wYWNrYWdlc1xcYC4KLQotVGhpcyBpcyBob3cgOmRhdGE6YHN5cy5wYXRoYCBpcyBwb3B1bGF0ZWQgb24gV2luZG93czoKLQotKiBBbiBlbXB0eSBlbnRyeSBpcyBhZGRlZCBhdCB0aGUgc3RhcnQsIHdoaWNoIGNvcnJlc3BvbmRzIHRvIHRoZSBjdXJyZW50Ci0gIGRpcmVjdG9yeS4KLQotKiBJZiB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGUgOmVudnZhcjpgUFlUSE9OUEFUSGAgZXhpc3RzLCBhcyBkZXNjcmliZWQgaW4KLSAgOnJlZjpgdXNpbmctb24tZW52dmFyc2AsIGl0cyBlbnRyaWVzIGFyZSBhZGRlZCBuZXh0LiAgTm90ZSB0aGF0IG9uIFdpbmRvd3MsCi0gIHBhdGhzIGluIHRoaXMgdmFyaWFibGUgbXVzdCBiZSBzZXBhcmF0ZWQgYnkgc2VtaWNvbG9ucywgdG8gZGlzdGluZ3Vpc2ggdGhlbQotICBmcm9tIHRoZSBjb2xvbiB1c2VkIGluIGRyaXZlIGlkZW50aWZpZXJzIChgYEM6XGBgIGV0Yy4pLgotCi0qIEFkZGl0aW9uYWwgImFwcGxpY2F0aW9uIHBhdGhzIiBjYW4gYmUgYWRkZWQgaW4gdGhlIHJlZ2lzdHJ5IGFzIHN1YmtleXMgb2YKLSAgOnNhbXA6YFxcU09GVFdBUkVcXFB5dGhvblxcUHl0aG9uQ29yZVxce3ZlcnNpb259XFxQeXRob25QYXRoYCB1bmRlciBib3RoIHRoZQotICBgYEhLRVlfQ1VSUkVOVF9VU0VSYGAgYW5kIGBgSEtFWV9MT0NBTF9NQUNISU5FYGAgaGl2ZXMuICBTdWJrZXlzIHdoaWNoIGhhdmUKLSAgc2VtaWNvbG9uLWRlbGltaXRlZCBwYXRoIHN0cmluZ3MgYXMgdGhlaXIgZGVmYXVsdCB2YWx1ZSB3aWxsIGNhdXNlIGVhY2ggcGF0aAotICB0byBiZSBhZGRlZCB0byA6ZGF0YTpgc3lzLnBhdGhgLiAgKE5vdGUgdGhhdCBhbGwga25vd24gaW5zdGFsbGVycyBvbmx5IHVzZQotICBIS0xNLCBzbyBIS0NVIGlzIHR5cGljYWxseSBlbXB0eS4pCi0KLSogSWYgdGhlIGVudmlyb25tZW50IHZhcmlhYmxlIDplbnZ2YXI6YFBZVEhPTkhPTUVgIGlzIHNldCwgaXQgaXMgYXNzdW1lZCBhcwotICAiUHl0aG9uIEhvbWUiLiAgT3RoZXJ3aXNlLCB0aGUgcGF0aCBvZiB0aGUgbWFpbiBQeXRob24gZXhlY3V0YWJsZSBpcyB1c2VkIHRvCi0gIGxvY2F0ZSBhICJsYW5kbWFyayBmaWxlIiAoYGBMaWJcb3MucHlgYCkgdG8gZGVkdWNlIHRoZSAiUHl0aG9uIEhvbWUiLiAgSWYgYQotICBQeXRob24gaG9tZSBpcyBmb3VuZCwgdGhlIHJlbGV2YW50IHN1Yi1kaXJlY3RvcmllcyBhZGRlZCB0byA6ZGF0YTpgc3lzLnBhdGhgCi0gIChgYExpYmBgLCBgYHBsYXQtd2luYGAsIGV0YykgYXJlIGJhc2VkIG9uIHRoYXQgZm9sZGVyLiAgT3RoZXJ3aXNlLCB0aGUgY29yZQotICBQeXRob24gcGF0aCBpcyBjb25zdHJ1Y3RlZCBmcm9tIHRoZSBQeXRob25QYXRoIHN0b3JlZCBpbiB0aGUgcmVnaXN0cnkuCi0KLSogSWYgdGhlIFB5dGhvbiBIb21lIGNhbm5vdCBiZSBsb2NhdGVkLCBubyA6ZW52dmFyOmBQWVRIT05QQVRIYCBpcyBzcGVjaWZpZWQgaW4KLSAgdGhlIGVudmlyb25tZW50LCBhbmQgbm8gcmVnaXN0cnkgZW50cmllcyBjYW4gYmUgZm91bmQsIGEgZGVmYXVsdCBwYXRoIHdpdGgKLSAgcmVsYXRpdmUgZW50cmllcyBpcyB1c2VkIChlLmcuIGBgLlxMaWI7LlxwbGF0LXdpbmBgLCBldGMpLgotCi1UaGUgZW5kIHJlc3VsdCBvZiBhbGwgdGhpcyBpczoKLQotKiBXaGVuIHJ1bm5pbmcgOmZpbGU6YHB5dGhvbi5leGVgLCBvciBhbnkgb3RoZXIgLmV4ZSBpbiB0aGUgbWFpbiBQeXRob24KLSAgZGlyZWN0b3J5IChlaXRoZXIgYW4gaW5zdGFsbGVkIHZlcnNpb24sIG9yIGRpcmVjdGx5IGZyb20gdGhlIFBDYnVpbGQKLSAgZGlyZWN0b3J5KSwgdGhlIGNvcmUgcGF0aCBpcyBkZWR1Y2VkLCBhbmQgdGhlIGNvcmUgcGF0aHMgaW4gdGhlIHJlZ2lzdHJ5IGFyZQotICBpZ25vcmVkLiAgT3RoZXIgImFwcGxpY2F0aW9uIHBhdGhzIiBpbiB0aGUgcmVnaXN0cnkgYXJlIGFsd2F5cyByZWFkLgotCi0qIFdoZW4gUHl0aG9uIGlzIGhvc3RlZCBpbiBhbm90aGVyIC5leGUgKGRpZmZlcmVudCBkaXJlY3RvcnksIGVtYmVkZGVkIHZpYSBDT00sCi0gIGV0YyksIHRoZSAiUHl0aG9uIEhvbWUiIHdpbGwgbm90IGJlIGRlZHVjZWQsIHNvIHRoZSBjb3JlIHBhdGggZnJvbSB0aGUKLSAgcmVnaXN0cnkgaXMgdXNlZC4gIE90aGVyICJhcHBsaWNhdGlvbiBwYXRocyIgaW4gdGhlIHJlZ2lzdHJ5IGFyZSBhbHdheXMgcmVhZC4KLQotKiBJZiBQeXRob24gY2FuJ3QgZmluZCBpdHMgaG9tZSBhbmQgdGhlcmUgaXMgbm8gcmVnaXN0cnkgKGVnLCBmcm96ZW4gLmV4ZSwgc29tZQotICB2ZXJ5IHN0cmFuZ2UgaW5zdGFsbGF0aW9uIHNldHVwKSB5b3UgZ2V0IGEgcGF0aCB3aXRoIHNvbWUgZGVmYXVsdCwgYnV0Ci0gIHJlbGF0aXZlLCBwYXRocy4KLQotCi1FeGVjdXRpbmcgc2NyaXB0cwotLS0tLS0tLS0tLS0tLS0tLS0KLQotQXMgb2YgUHl0aG9uIDMuMywgUHl0aG9uIGluY2x1ZGVzIGEgbGF1bmNoZXIgd2hpY2ggZmFjaWxpdGF0ZXMgcnVubmluZyBQeXRob24KLXNjcmlwdHMuIFNlZSA6cmVmOmBsYXVuY2hlcmAgZm9yIG1vcmUgaW5mb3JtYXRpb24uCi0KLUV4ZWN1dGluZyBzY3JpcHRzIHdpdGhvdXQgdGhlIFB5dGhvbiBsYXVuY2hlcgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0KLVdpdGhvdXQgdGhlIFB5dGhvbiBsYXVuY2hlciBpbnN0YWxsZWQsIFB5dGhvbiBzY3JpcHRzIChmaWxlcyB3aXRoIHRoZSBleHRlbnNpb24KLWBgLnB5YGApIHdpbGwgYmUgZXhlY3V0ZWQgYnkgOnByb2dyYW06YHB5dGhvbi5leGVgIGJ5IGRlZmF1bHQuICBUaGlzIGV4ZWN1dGFibGUKLW9wZW5zIGEgdGVybWluYWwsIHdoaWNoIHN0YXlzIG9wZW4gZXZlbiBpZiB0aGUgcHJvZ3JhbSB1c2VzIGEgR1VJLiAgSWYgeW91IGRvCi1ub3Qgd2FudCB0aGlzIHRvIGhhcHBlbiwgdXNlIHRoZSBleHRlbnNpb24gYGAucHl3YGAgd2hpY2ggd2lsbCBjYXVzZSB0aGUgc2NyaXB0Ci10byBiZSBleGVjdXRlZCBieSA6cHJvZ3JhbTpgcHl0aG9udy5leGVgIGJ5IGRlZmF1bHQgKGJvdGggZXhlY3V0YWJsZXMgYXJlCi1sb2NhdGVkIGluIHRoZSB0b3AtbGV2ZWwgb2YgeW91ciBQeXRob24gaW5zdGFsbGF0aW9uIGRpcmVjdG9yeSkuICBUaGlzCi1zdXBwcmVzc2VzIHRoZSB0ZXJtaW5hbCB3aW5kb3cgb24gc3RhcnR1cC4KLQotWW91IGNhbiBhbHNvIG1ha2UgYWxsIGBgLnB5YGAgc2NyaXB0cyBleGVjdXRlIHdpdGggOnByb2dyYW06YHB5dGhvbncuZXhlYCwKLXNldHRpbmcgdGhpcyB0aHJvdWdoIHRoZSB1c3VhbCBmYWNpbGl0aWVzLCBmb3IgZXhhbXBsZSAobWlnaHQgcmVxdWlyZQotYWRtaW5pc3RyYXRpdmUgcmlnaHRzKToKLQotIy4gTGF1bmNoIGEgY29tbWFuZCBwcm9tcHQuCi0jLiBBc3NvY2lhdGUgdGhlIGNvcnJlY3QgZmlsZSBncm91cCB3aXRoIGBgLnB5YGAgc2NyaXB0czo6Ci0KLSAgICAgIGFzc29jIC5weT1QeXRob24uRmlsZQotCi0jLiBSZWRpcmVjdCBhbGwgUHl0aG9uIGZpbGVzIHRvIHRoZSBuZXcgZXhlY3V0YWJsZTo6Ci0KLSAgICAgIGZ0eXBlIFB5dGhvbi5GaWxlPUM6XFBhdGhcdG9ccHl0aG9udy5leGUgIiUxIiAlKgotCisgICAgQzpcV0lORE9XU1xzeXN0ZW0zMjtDOlxXSU5ET1dTO0M6XFByb2dyYW0gRmlsZXNcUHl0aG9uIDMuNQogCiAuLiBfbGF1bmNoZXI6CiAKQEAgLTI1MSwyMSArMzQ5LDI2IEBACiAKIC4uIHZlcnNpb25hZGRlZDo6IDMuMwogCi1UaGUgUHl0aG9uIGxhdW5jaGVyIGZvciBXaW5kb3dzIGlzIGEgdXRpbGl0eSB3aGljaCBhaWRzIGluIHRoZSBsb2NhdGlvbiBhbmQKLWV4ZWN1dGlvbiBvZiBkaWZmZXJlbnQgUHl0aG9uIHZlcnNpb25zLiAgSXQgYWxsb3dzIHNjcmlwdHMgKG9yIHRoZQorVGhlIFB5dGhvbiBsYXVuY2hlciBmb3IgV2luZG93cyBpcyBhIHV0aWxpdHkgd2hpY2ggYWlkcyBpbiBsb2NhdGluZyBhbmQKK2V4ZWN1dGluZyBvZiBkaWZmZXJlbnQgUHl0aG9uIHZlcnNpb25zLiAgSXQgYWxsb3dzIHNjcmlwdHMgKG9yIHRoZQogY29tbWFuZC1saW5lKSB0byBpbmRpY2F0ZSBhIHByZWZlcmVuY2UgZm9yIGEgc3BlY2lmaWMgUHl0aG9uIHZlcnNpb24sIGFuZAogd2lsbCBsb2NhdGUgYW5kIGV4ZWN1dGUgdGhhdCB2ZXJzaW9uLgogCitVbmxpa2UgdGhlIDplbnZ2YXI6YFBBVEhgIHZhcmlhYmxlLCB0aGUgbGF1bmNoZXIgd2lsbCBjb3JyZWN0bHkgc2VsZWN0IHRoZSBtb3N0CithcHByb3ByaWF0ZSB2ZXJzaW9uIG9mIFB5dGhvbi4gSXQgd2lsbCBwcmVmZXIgcGVyLXVzZXIgaW5zdGFsbGF0aW9ucyBvdmVyCitzeXN0ZW0td2lkZSBvbmVzLCBhbmQgb3JkZXJzIGJ5IGxhbmd1YWdlIHZlcnNpb24gcmF0aGVyIHRoYW4gdXNpbmcgdGhlIG1vc3QKK3JlY2VudGx5IGluc3RhbGxlZCB2ZXJzaW9uLgorCiBHZXR0aW5nIHN0YXJ0ZWQKIC0tLS0tLS0tLS0tLS0tLQogCiBGcm9tIHRoZSBjb21tYW5kLWxpbmUKIF5eXl5eXl5eXl5eXl5eXl5eXl5eXgogCi1Zb3Ugc2hvdWxkIGVuc3VyZSB0aGUgbGF1bmNoZXIgaXMgb24geW91ciBQQVRIIC0gZGVwZW5kaW5nIG9uIGhvdyBpdCB3YXMKLWluc3RhbGxlZCBpdCBtYXkgYWxyZWFkeSBiZSB0aGVyZSwgYnV0IGNoZWNrIGp1c3QgaW4gY2FzZSBpdCBpcyBub3QuCi0KLUZyb20gYSBjb21tYW5kLXByb21wdCwgZXhlY3V0ZSB0aGUgZm9sbG93aW5nIGNvbW1hbmQ6CitTeXN0ZW0td2lkZSBpbnN0YWxsYXRpb25zIG9mIFB5dGhvbiAzLjMgYW5kIGxhdGVyIHdpbGwgcHV0IHRoZSBsYXVuY2hlciBvbiB5b3VyCis6ZW52dmFyOmBQQVRIYC4gVGhlIGxhdW5jaGVyIGlzIGNvbXBhdGlibGUgd2l0aCBhbGwgYXZhaWxhYmxlIHZlcnNpb25zIG9mCitQeXRob24sIHNvIGl0IGRvZXMgbm90IG1hdHRlciB3aGljaCB2ZXJzaW9uIGlzIGluc3RhbGxlZC4gVG8gY2hlY2sgdGhhdCB0aGUKK2xhdW5jaGVyIGlzIGF2YWlsYWJsZSwgZXhlY3V0ZSB0aGUgZm9sbG93aW5nIGNvbW1hbmQgaW4gQ29tbWFuZCBQcm9tcHQ6CiAKIDo6CiAKQEAgLTI5MSw2ICszOTQsMTYgQEAKIAogWW91IHNob3VsZCBmaW5kIHRoZSBsYXRlc3QgdmVyc2lvbiBvZiBQeXRob24gMy54IHN0YXJ0cy4KIAorSWYgeW91IHNlZSB0aGUgZm9sbG93aW5nIGVycm9yLCB5b3UgZG8gbm90IGhhdmUgdGhlIGxhdW5jaGVyIGluc3RhbGxlZDoKKworOjoKKworICAncHknIGlzIG5vdCByZWNvZ25pemVkIGFzIGFuIGludGVybmFsIG9yIGV4dGVybmFsIGNvbW1hbmQsCisgIG9wZXJhYmxlIHByb2dyYW0gb3IgYmF0Y2ggZmlsZS4KKworUGVyLXVzZXIgaW5zdGFsbGF0aW9ucyBvZiBQeXRob24gZG8gbm90IGFkZCB0aGUgbGF1bmNoZXIgdG8gOmVudnZhcjpgUEFUSGAKK3VubGVzcyB0aGUgb3B0aW9uIHdhcyBzZWxlY3RlZCBvbiBpbnN0YWxsYXRpb24uCisKIEZyb20gYSBzY3JpcHQKIF5eXl5eXl5eXl5eXl4KIApAQCAtMzgzLDE3ICs0OTYsMTYgQEAKIEN1c3RvbWl6YXRpb24gdmlhIElOSSBmaWxlcwogXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eCiAKLSAgICBUd28gLmluaSBmaWxlcyB3aWxsIGJlIHNlYXJjaGVkIGJ5IHRoZSBsYXVuY2hlciAtIGBgcHkuaW5pYGAgaW4gdGhlCi0gICAgY3VycmVudCB1c2VyJ3MgImFwcGxpY2F0aW9uIGRhdGEiIGRpcmVjdG9yeSAoaS5lLiB0aGUgZGlyZWN0b3J5IHJldHVybmVkCi0gICAgYnkgY2FsbGluZyB0aGUgV2luZG93cyBmdW5jdGlvbiBTSEdldEZvbGRlclBhdGggd2l0aCBDU0lETF9MT0NBTF9BUFBEQVRBKQotICAgIGFuZCBgYHB5LmluaWBgIGluIHRoZSBzYW1lIGRpcmVjdG9yeSBhcyB0aGUgbGF1bmNoZXIuICBUaGUgc2FtZSAuaW5pCi0gICAgZmlsZXMgYXJlIHVzZWQgZm9yIGJvdGggdGhlICdjb25zb2xlJyB2ZXJzaW9uIG9mIHRoZSBsYXVuY2hlciAoaS5lLgotICAgIHB5LmV4ZSkgYW5kIGZvciB0aGUgJ3dpbmRvd3MnIHZlcnNpb24gKGkuZS4gcHl3LmV4ZSkKK1R3byAuaW5pIGZpbGVzIHdpbGwgYmUgc2VhcmNoZWQgYnkgdGhlIGxhdW5jaGVyIC0gYGBweS5pbmlgYCBpbiB0aGUgY3VycmVudAordXNlcidzICJhcHBsaWNhdGlvbiBkYXRhIiBkaXJlY3RvcnkgKGkuZS4gdGhlIGRpcmVjdG9yeSByZXR1cm5lZCBieSBjYWxsaW5nIHRoZQorV2luZG93cyBmdW5jdGlvbiBTSEdldEZvbGRlclBhdGggd2l0aCBDU0lETF9MT0NBTF9BUFBEQVRBKSBhbmQgYGBweS5pbmlgYCBpbiB0aGUKK3NhbWUgZGlyZWN0b3J5IGFzIHRoZSBsYXVuY2hlci4gVGhlIHNhbWUgLmluaSBmaWxlcyBhcmUgdXNlZCBmb3IgYm90aCB0aGUKKydjb25zb2xlJyB2ZXJzaW9uIG9mIHRoZSBsYXVuY2hlciAoaS5lLiBweS5leGUpIGFuZCBmb3IgdGhlICd3aW5kb3dzJyB2ZXJzaW9uCisoaS5lLiBweXcuZXhlKQogCi0gICAgQ3VzdG9taXphdGlvbiBzcGVjaWZpZWQgaW4gdGhlICJhcHBsaWNhdGlvbiBkaXJlY3RvcnkiIHdpbGwgaGF2ZQotICAgIHByZWNlZGVuY2Ugb3ZlciB0aGUgb25lIG5leHQgdG8gdGhlIGV4ZWN1dGFibGUsIHNvIGEgdXNlciwgd2hvIG1heSBub3QKLSAgICBoYXZlIHdyaXRlIGFjY2VzcyB0byB0aGUgLmluaSBmaWxlIG5leHQgdG8gdGhlIGxhdW5jaGVyLCBjYW4gb3ZlcnJpZGUKLSAgICBjb21tYW5kcyBpbiB0aGF0IGdsb2JhbCAuaW5pIGZpbGUpCitDdXN0b21pemF0aW9uIHNwZWNpZmllZCBpbiB0aGUgImFwcGxpY2F0aW9uIGRpcmVjdG9yeSIgd2lsbCBoYXZlIHByZWNlZGVuY2Ugb3ZlcgordGhlIG9uZSBuZXh0IHRvIHRoZSBleGVjdXRhYmxlLCBzbyBhIHVzZXIsIHdobyBtYXkgbm90IGhhdmUgd3JpdGUgYWNjZXNzIHRvIHRoZQorLmluaSBmaWxlIG5leHQgdG8gdGhlIGxhdW5jaGVyLCBjYW4gb3ZlcnJpZGUgY29tbWFuZHMgaW4gdGhhdCBnbG9iYWwgLmluaSBmaWxlKQogCiBDdXN0b21pemluZyBkZWZhdWx0IFB5dGhvbiB2ZXJzaW9ucwogXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl4KQEAgLTQ4OCw2ICs2MDAsNzggQEAKIHRhcmdldCBQeXRob24uCiAKIAorCitGaW5kaW5nIG1vZHVsZXMKKz09PT09PT09PT09PT09PQorCitQeXRob24gdXN1YWxseSBzdG9yZXMgaXRzIGxpYnJhcnkgKGFuZCB0aGVyZWJ5IHlvdXIgc2l0ZS1wYWNrYWdlcyBmb2xkZXIpIGluIHRoZQoraW5zdGFsbGF0aW9uIGRpcmVjdG9yeS4gIFNvLCBpZiB5b3UgaGFkIGluc3RhbGxlZCBQeXRob24gdG8KKzpmaWxlOmBDOlxcUHl0aG9uXFxgLCB0aGUgZGVmYXVsdCBsaWJyYXJ5IHdvdWxkIHJlc2lkZSBpbgorOmZpbGU6YEM6XFxQeXRob25cXExpYlxcYCBhbmQgdGhpcmQtcGFydHkgbW9kdWxlcyBzaG91bGQgYmUgc3RvcmVkIGluCis6ZmlsZTpgQzpcXFB5dGhvblxcTGliXFxzaXRlLXBhY2thZ2VzXFxgLgorCitUaGlzIGlzIGhvdyA6ZGF0YTpgc3lzLnBhdGhgIGlzIHBvcHVsYXRlZCBvbiBXaW5kb3dzOgorCisqIEFuIGVtcHR5IGVudHJ5IGlzIGFkZGVkIGF0IHRoZSBzdGFydCwgd2hpY2ggY29ycmVzcG9uZHMgdG8gdGhlIGN1cnJlbnQKKyAgZGlyZWN0b3J5LgorCisqIElmIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZSA6ZW52dmFyOmBQWVRIT05QQVRIYCBleGlzdHMsIGFzIGRlc2NyaWJlZCBpbgorICA6cmVmOmB1c2luZy1vbi1lbnZ2YXJzYCwgaXRzIGVudHJpZXMgYXJlIGFkZGVkIG5leHQuICBOb3RlIHRoYXQgb24gV2luZG93cywKKyAgcGF0aHMgaW4gdGhpcyB2YXJpYWJsZSBtdXN0IGJlIHNlcGFyYXRlZCBieSBzZW1pY29sb25zLCB0byBkaXN0aW5ndWlzaCB0aGVtCisgIGZyb20gdGhlIGNvbG9uIHVzZWQgaW4gZHJpdmUgaWRlbnRpZmllcnMgKGBgQzpcYGAgZXRjLikuCisKKyogQWRkaXRpb25hbCAiYXBwbGljYXRpb24gcGF0aHMiIGNhbiBiZSBhZGRlZCBpbiB0aGUgcmVnaXN0cnkgYXMgc3Via2V5cyBvZgorICA6c2FtcDpgXFxTT0ZUV0FSRVxcUHl0aG9uXFxQeXRob25Db3JlXFx7dmVyc2lvbn1cXFB5dGhvblBhdGhgIHVuZGVyIGJvdGggdGhlCisgIGBgSEtFWV9DVVJSRU5UX1VTRVJgYCBhbmQgYGBIS0VZX0xPQ0FMX01BQ0hJTkVgYCBoaXZlcy4gIFN1YmtleXMgd2hpY2ggaGF2ZQorICBzZW1pY29sb24tZGVsaW1pdGVkIHBhdGggc3RyaW5ncyBhcyB0aGVpciBkZWZhdWx0IHZhbHVlIHdpbGwgY2F1c2UgZWFjaCBwYXRoCisgIHRvIGJlIGFkZGVkIHRvIDpkYXRhOmBzeXMucGF0aGAuICAoTm90ZSB0aGF0IGFsbCBrbm93biBpbnN0YWxsZXJzIG9ubHkgdXNlCisgIEhLTE0sIHNvIEhLQ1UgaXMgdHlwaWNhbGx5IGVtcHR5LikKKworKiBJZiB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGUgOmVudnZhcjpgUFlUSE9OSE9NRWAgaXMgc2V0LCBpdCBpcyBhc3N1bWVkIGFzCisgICJQeXRob24gSG9tZSIuICBPdGhlcndpc2UsIHRoZSBwYXRoIG9mIHRoZSBtYWluIFB5dGhvbiBleGVjdXRhYmxlIGlzIHVzZWQgdG8KKyAgbG9jYXRlIGEgImxhbmRtYXJrIGZpbGUiIChgYExpYlxvcy5weWBgKSB0byBkZWR1Y2UgdGhlICJQeXRob24gSG9tZSIuICBJZiBhCisgIFB5dGhvbiBob21lIGlzIGZvdW5kLCB0aGUgcmVsZXZhbnQgc3ViLWRpcmVjdG9yaWVzIGFkZGVkIHRvIDpkYXRhOmBzeXMucGF0aGAKKyAgKGBgTGliYGAsIGBgcGxhdC13aW5gYCwgZXRjKSBhcmUgYmFzZWQgb24gdGhhdCBmb2xkZXIuICBPdGhlcndpc2UsIHRoZSBjb3JlCisgIFB5dGhvbiBwYXRoIGlzIGNvbnN0cnVjdGVkIGZyb20gdGhlIFB5dGhvblBhdGggc3RvcmVkIGluIHRoZSByZWdpc3RyeS4KKworKiBJZiB0aGUgUHl0aG9uIEhvbWUgY2Fubm90IGJlIGxvY2F0ZWQsIG5vIDplbnZ2YXI6YFBZVEhPTlBBVEhgIGlzIHNwZWNpZmllZCBpbgorICB0aGUgZW52aXJvbm1lbnQsIGFuZCBubyByZWdpc3RyeSBlbnRyaWVzIGNhbiBiZSBmb3VuZCwgYSBkZWZhdWx0IHBhdGggd2l0aAorICByZWxhdGl2ZSBlbnRyaWVzIGlzIHVzZWQgKGUuZy4gYGAuXExpYjsuXHBsYXQtd2luYGAsIGV0YykuCisKK1RoZSBlbmQgcmVzdWx0IG9mIGFsbCB0aGlzIGlzOgorCisqIFdoZW4gcnVubmluZyA6ZmlsZTpgcHl0aG9uLmV4ZWAsIG9yIGFueSBvdGhlciAuZXhlIGluIHRoZSBtYWluIFB5dGhvbgorICBkaXJlY3RvcnkgKGVpdGhlciBhbiBpbnN0YWxsZWQgdmVyc2lvbiwgb3IgZGlyZWN0bHkgZnJvbSB0aGUgUENidWlsZAorICBkaXJlY3RvcnkpLCB0aGUgY29yZSBwYXRoIGlzIGRlZHVjZWQsIGFuZCB0aGUgY29yZSBwYXRocyBpbiB0aGUgcmVnaXN0cnkgYXJlCisgIGlnbm9yZWQuICBPdGhlciAiYXBwbGljYXRpb24gcGF0aHMiIGluIHRoZSByZWdpc3RyeSBhcmUgYWx3YXlzIHJlYWQuCisKKyogV2hlbiBQeXRob24gaXMgaG9zdGVkIGluIGFub3RoZXIgLmV4ZSAoZGlmZmVyZW50IGRpcmVjdG9yeSwgZW1iZWRkZWQgdmlhIENPTSwKKyAgZXRjKSwgdGhlICJQeXRob24gSG9tZSIgd2lsbCBub3QgYmUgZGVkdWNlZCwgc28gdGhlIGNvcmUgcGF0aCBmcm9tIHRoZQorICByZWdpc3RyeSBpcyB1c2VkLiAgT3RoZXIgImFwcGxpY2F0aW9uIHBhdGhzIiBpbiB0aGUgcmVnaXN0cnkgYXJlIGFsd2F5cyByZWFkLgorCisqIElmIFB5dGhvbiBjYW4ndCBmaW5kIGl0cyBob21lIGFuZCB0aGVyZSBpcyBubyByZWdpc3RyeSAoZWcsIGZyb3plbiAuZXhlLCBzb21lCisgIHZlcnkgc3RyYW5nZSBpbnN0YWxsYXRpb24gc2V0dXApIHlvdSBnZXQgYSBwYXRoIHdpdGggc29tZSBkZWZhdWx0LCBidXQKKyAgcmVsYXRpdmUsIHBhdGhzLgorCitGb3IgdGhvc2Ugd2hvIHdhbnQgdG8gYnVuZGxlIFB5dGhvbiBpbnRvIHRoZWlyIGFwcGxpY2F0aW9uIG9yIGRpc3RyaWJ1dGlvbiwgdGhlCitmb2xsb3dpbmcgYWR2aWNlIHdpbGwgcHJldmVudCBjb25mbGljdHMgd2l0aCBvdGhlciBpbnN0YWxsYXRpb25zOgorCisqIElmIHlvdSBhcmUgbG9hZGluZyA6ZmlsZTpgcHl0aG9uMy5kbGxgIG9yIDpmaWxlOmBweXRob24zNS5kbGxgIGluIHlvdXIgb3duCisgIGV4ZWN1dGFibGUsIGV4cGxpY2l0bHkgY2FsbCA6YzpmdW5jOmBQeV9TZXRQYXRoYCBvciAoYXQgbGVhc3QpCisgIDpjOmZ1bmM6YFB5X1NldFByb2dyYW1OYW1lYCBiZWZvcmUgOmM6ZnVuYzpgUHlfSW5pdGlhbGl6ZWAuCisKKyogQ2xlYXIgYW5kL29yIG92ZXJ3cml0ZSA6ZW52dmFyOmBQWVRIT05QQVRIYCBhbmQgc2V0IDplbnZ2YXI6YFBZVEhPTkhPTUVgCisgIGJlZm9yZSBsYXVuY2hpbmcgOmZpbGU6YHB5dGhvbi5leGVgIGZyb20geW91ciBhcHBsaWNhdGlvbi4KKworKiBJZiB5b3UgY2Fubm90IHVzZSB0aGUgcHJldmlvdXMgc3VnZ2VzdGlvbnMgKGZvciBleGFtcGxlLCB5b3UgYXJlIGEKKyAgZGlzdHJpYnV0aW9uIHRoYXQgYWxsb3dzIHBlb3BsZSB0byBydW4gOmZpbGU6YHB5dGhvbi5leGVgIGRpcmVjdGx5KSwgZW5zdXJlCisgIHRoYXQgdGhlIGxhbmRtYXJrIGZpbGUgKDpmaWxlOmBMaWJcXG9zLnB5YCkgZXhpc3RzIGluIHlvdXIgYnVuZGxlZCBsaWJyYXJ5LgorICAoTm90ZSB0aGF0IGl0IHdpbGwgbm90IGJlIGRldGVjdGVkIGluc2lkZSBhIFpJUCBmaWxlLikKKworVGhlc2Ugd2lsbCBlbnN1cmUgdGhhdCB0aGUgZmlsZXMgaW4gYSBzeXN0ZW0td2lkZSBpbnN0YWxsYXRpb24gd2lsbCBub3QgdGFrZQorcHJlY2VkZW5jZSBvdmVyIHRoZSBjb3B5IG9mIHRoZSBzdGFuZGFyZCBsaWJyYXJ5IGJ1bmRsZWQgd2l0aCB5b3VyIGFwcGxpY2F0aW9uLgorT3RoZXJ3aXNlLCB5b3VyIHVzZXJzIG1heSBleHBlcmllbmNlIHByb2JsZW1zIHVzaW5nIHlvdXIgYXBwbGljYXRpb24uCisKIEFkZGl0aW9uYWwgbW9kdWxlcwogPT09PT09PT09PT09PT09PT09CiAKQEAgLTQ5OCw3ICs2ODIsNiBAQAogVGhlIFdpbmRvd3Mtc3BlY2lmaWMgc3RhbmRhcmQgbW9kdWxlcyBhcmUgZG9jdW1lbnRlZCBpbgogOnJlZjpgbXN3aW4tc3BlY2lmaWMtc2VydmljZXNgLgogCi0KIFB5V2luMzIKIC0tLS0tLS0KIApAQCAtNTU3LDIwICs3NDAsOCBAQAogPGh0dHBzOi8vZG9jcy5weXRob24ub3JnL2Rldmd1aWRlL3NldHVwLmh0bWwjZ2V0dGluZy10aGUtc291cmNlLWNvZGU+YF8uCiAKIFRoZSBzb3VyY2UgdHJlZSBjb250YWlucyBhIGJ1aWxkIHNvbHV0aW9uIGFuZCBwcm9qZWN0IGZpbGVzIGZvciBNaWNyb3NvZnQKLVZpc3VhbCBDKyssIHdoaWNoIGlzIHRoZSBjb21waWxlciB1c2VkIHRvIGJ1aWxkIHRoZSBvZmZpY2lhbCBQeXRob24gcmVsZWFzZXMuCi1WaWV3IHRoZSA6ZmlsZTpgcmVhZG1lLnR4dGAgaW4gdGhlaXIgcmVzcGVjdGl2ZSBkaXJlY3RvcmllczoKLQotKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwotfCBEaXJlY3RvcnkgICAgICAgICAgfCBNU1ZDIHZlcnNpb24gfCBWaXN1YWwgU3R1ZGlvIHZlcnNpb24gfAotKz09PT09PT09PT09PT09PT09PT09Kz09PT09PT09PT09PT09Kz09PT09PT09PT09PT09PT09PT09PT09KwotfCA6ZmlsZTpgUEMvVlM5LjAvYCAgfCA5LjAgICAgICAgICAgfCAyMDA4ICAgICAgICAgICAgICAgICAgfAotKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwotfCA6ZmlsZTpgUENidWlsZC9gICAgfCAxMC4wICAgICAgICAgfCAyMDEwICAgICAgICAgICAgICAgICAgfAotKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwotCi1Ob3RlIHRoYXQgYW55IGJ1aWxkIGRpcmVjdG9yaWVzIHdpdGhpbiB0aGUgOmZpbGU6YFBDYCBkaXJlY3RvcnkgYXJlIG5vdAotbmVjZXNzYXJpbHkgZnVsbHkgc3VwcG9ydGVkLiAgVGhlIDpmaWxlOmBQQ2J1aWxkYCBkaXJlY3RvcnkgY29udGFpbnMgdGhlIGZpbGVzCi1mb3IgdGhlIGNvbXBpbGVyIHVzZWQgdG8gYnVpbGQgdGhlIG9mZmljaWFsIHJlbGVhc2UuCitWaXN1YWwgU3R1ZGlvIDIwMTUsIHdoaWNoIGlzIHRoZSBjb21waWxlciB1c2VkIHRvIGJ1aWxkIHRoZSBvZmZpY2lhbCBQeXRob24KK3JlbGVhc2VzLiBUaGVzZSBmaWxlcyBhcmUgaW4gdGhlIDpmaWxlOmBQQ2J1aWxkYCBkaXJlY3RvcnkuCiAKIENoZWNrIDpmaWxlOmBQQ2J1aWxkL3JlYWRtZS50eHRgIGZvciBnZW5lcmFsIGluZm9ybWF0aW9uIG9uIHRoZSBidWlsZCBwcm9jZXNzLgogCmRpZmYgLS1naXQgYS9Eb2Mvd2hhdHNuZXcvMi4xLnJzdCBiL0RvYy93aGF0c25ldy8yLjEucnN0CmluZGV4IDUwNThiZjEuLmZmMTU2NjIgMTAwNjQ0Ci0tLSBhL0RvYy93aGF0c25ldy8yLjEucnN0CisrKyBiL0RvYy93aGF0c25ldy8yLjEucnN0CkBAIC0yMTksNyArMjE5LDcgQEAKIAogLi4gc2VlYWxzbzo6CiAKLSAgIDpwZXA6YDIwN2AgLSBSaWNoIENvbXBhcmlzaW9ucworICAgOnBlcDpgMjA3YCAtIFJpY2ggQ29tcGFyaXNvbnMKICAgICAgIFdyaXR0ZW4gYnkgR3VpZG8gdmFuIFJvc3N1bSwgaGVhdmlseSBiYXNlZCBvbiBlYXJsaWVyIHdvcmsgYnkgRGF2aWQgQXNjaGVyLCBhbmQKICAgICAgIGltcGxlbWVudGVkIGJ5IEd1aWRvIHZhbiBSb3NzdW0uCiAKZGlmZiAtLWdpdCBhL0RvYy93aGF0c25ldy8zLjMucnN0IGIvRG9jL3doYXRzbmV3LzMuMy5yc3QKaW5kZXggMWZkYjM2NS4uMWQ0Y2U3MiAxMDA2NDQKLS0tIGEvRG9jL3doYXRzbmV3LzMuMy5yc3QKKysrIGIvRG9jL3doYXRzbmV3LzMuMy5yc3QKQEAgLTE1NzksNyArMTU3OSw3IEBACiAgIGF2b2lkIHJhY2UgY29uZGl0aW9ucyBpbiBtdWx0aS10aHJlYWRlZCBwcm9ncmFtcy4KIAogKiBUaGUgOm1vZDpgb3NgIG1vZHVsZSBoYXMgYSBuZXcgOmZ1bmM6YH5vcy5zZW5kZmlsZWAgZnVuY3Rpb24gd2hpY2ggcHJvdmlkZXMKLSAgYW4gZWZmaWNlbnQgInplcm8tY29weSIgd2F5IGZvciBjb3B5aW5nIGRhdGEgZnJvbSBvbmUgZmlsZSAob3Igc29ja2V0KQorICBhbiBlZmZpY2llbnQgInplcm8tY29weSIgd2F5IGZvciBjb3B5aW5nIGRhdGEgZnJvbSBvbmUgZmlsZSAob3Igc29ja2V0KQogICBkZXNjcmlwdG9yIHRvIGFub3RoZXIuIFRoZSBwaHJhc2UgInplcm8tY29weSIgcmVmZXJzIHRvIHRoZSBmYWN0IHRoYXQgYWxsIG9mCiAgIHRoZSBjb3B5aW5nIG9mIGRhdGEgYmV0d2VlbiB0aGUgdHdvIGRlc2NyaXB0b3JzIGlzIGRvbmUgZW50aXJlbHkgYnkgdGhlCiAgIGtlcm5lbCwgd2l0aCBubyBjb3B5aW5nIG9mIGRhdGEgaW50byB1c2Vyc3BhY2UgYnVmZmVycy4gOmZ1bmM6YH5vcy5zZW5kZmlsZWAKQEAgLTE5MDgsNyArMTkwOCw3IEBACiA6bWV0aDpgfnNvY2tldHNlcnZlci5CYXNlU2VydmVyLnNlcnZpY2VfYWN0aW9uc2AgdGhhdCBpcyBjYWxsZWQgYnkgdGhlCiA6bWV0aDpgfnNvY2tldHNlcnZlci5CYXNlU2VydmVyLnNlcnZlX2ZvcmV2ZXJgIG1ldGhvZCBpbiB0aGUgc2VydmljZSBsb29wLgogOmNsYXNzOmB+c29ja2V0c2VydmVyLkZvcmtpbmdNaXhJbmAgbm93IHVzZXMgdGhpcyB0byBjbGVhbiB1cCB6b21iaWUKLWNoaWxkIHByb2Nlc2VzLiAgKENvbnRyaWJ1dGVkIGJ5IEp1c3RpbiBXYXJrZW50aW4gaW4gOmlzc3VlOmAxMTEwOWAuKQorY2hpbGQgcHJvY2Vzc2VzLiAgKENvbnRyaWJ1dGVkIGJ5IEp1c3RpbiBXYXJrZW50aW4gaW4gOmlzc3VlOmAxMTEwOWAuKQogCiAKIHNxbGl0ZTMKQEAgLTIzNjAsNyArMjM2MCw3IEBACiAgIGJ5dGVjb2RlIGZpbGUsIG1ha2Ugc3VyZSB0byBjYWxsIDpmdW5jOmBpbXBvcnRsaWIuaW52YWxpZGF0ZV9jYWNoZXNgIHRvIGNsZWFyCiAgIG91dCB0aGUgY2FjaGUgZm9yIHRoZSBmaW5kZXJzIHRvIG5vdGljZSB0aGUgbmV3IGZpbGUuCiAKLSogOmV4YzpgSW1wb3J0RXJyb3JgIG5vdyB1c2VzIHRoZSBmdWxsIG5hbWUgb2YgdGhlIG1vZHVsZSB0aGF0IHdhcyBhdHRlbXBlZCB0bworKiA6ZXhjOmBJbXBvcnRFcnJvcmAgbm93IHVzZXMgdGhlIGZ1bGwgbmFtZSBvZiB0aGUgbW9kdWxlIHRoYXQgd2FzIGF0dGVtcHRlZCB0bwogICBiZSBpbXBvcnRlZC4gRG9jdGVzdHMgdGhhdCBjaGVjayBJbXBvcnRFcnJvcnMnIG1lc3NhZ2Ugd2lsbCBuZWVkIHRvIGJlCiAgIHVwZGF0ZWQgdG8gdXNlIHRoZSBmdWxsIG5hbWUgb2YgdGhlIG1vZHVsZSBpbnN0ZWFkIG9mIGp1c3QgdGhlIHRhaWwgb2YgdGhlCiAgIG5hbWUuCmRpZmYgLS1naXQgYS9Eb2Mvd2hhdHNuZXcvMy41LnJzdCBiL0RvYy93aGF0c25ldy8zLjUucnN0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdjNGU1MzAKLS0tIC9kZXYvbnVsbAorKysgYi9Eb2Mvd2hhdHNuZXcvMy41LnJzdApAQCAtMCwwICsxLDU1MSBAQAorKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICBXaGF0J3MgTmV3IEluIFB5dGhvbiAzLjUKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioKKworOlJlbGVhc2U6IHxyZWxlYXNlfAorOkRhdGU6IHx0b2RheXwKKworLi4gUnVsZXMgZm9yIG1haW50ZW5hbmNlOgorCisgICAqIEFueW9uZSBjYW4gYWRkIHRleHQgdG8gdGhpcyBkb2N1bWVudC4gIERvIG5vdCBzcGVuZCB2ZXJ5IG11Y2ggdGltZQorICAgb24gdGhlIHdvcmRpbmcgb2YgeW91ciBjaGFuZ2VzLCBiZWNhdXNlIHlvdXIgdGV4dCB3aWxsIHByb2JhYmx5CisgICBnZXQgcmV3cml0dGVuIHRvIHNvbWUgZGVncmVlLgorCisgICAqIFRoZSBtYWludGFpbmVyIHdpbGwgZ28gdGhyb3VnaCBNaXNjL05FV1MgcGVyaW9kaWNhbGx5IGFuZCBhZGQKKyAgIGNoYW5nZXM7IGl0J3MgdGhlcmVmb3JlIG1vcmUgaW1wb3J0YW50IHRvIGFkZCB5b3VyIGNoYW5nZXMgdG8KKyAgIE1pc2MvTkVXUyB0aGFuIHRvIHRoaXMgZmlsZS4KKworICAgKiBUaGlzIGlzIG5vdCBhIGNvbXBsZXRlIGxpc3Qgb2YgZXZlcnkgc2luZ2xlIGNoYW5nZTsgY29tcGxldGVuZXNzCisgICBpcyB0aGUgcHVycG9zZSBvZiBNaXNjL05FV1MuICBTb21lIGNoYW5nZXMgSSBjb25zaWRlciB0b28gc21hbGwKKyAgIG9yIGVzb3RlcmljIHRvIGluY2x1ZGUuICBJZiBzdWNoIGEgY2hhbmdlIGlzIGFkZGVkIHRvIHRoZSB0ZXh0LAorICAgSSdsbCBqdXN0IHJlbW92ZSBpdC4gIChUaGlzIGlzIGFub3RoZXIgcmVhc29uIHlvdSBzaG91bGRuJ3Qgc3BlbmQKKyAgIHRvbyBtdWNoIHRpbWUgb24gd3JpdGluZyB5b3VyIGFkZGl0aW9uLikKKworICAgKiBJZiB5b3Ugd2FudCB0byBkcmF3IHlvdXIgbmV3IHRleHQgdG8gdGhlIGF0dGVudGlvbiBvZiB0aGUKKyAgIG1haW50YWluZXIsIGFkZCAnWFhYJyB0byB0aGUgYmVnaW5uaW5nIG9mIHRoZSBwYXJhZ3JhcGggb3IKKyAgIHNlY3Rpb24uCisKKyAgICogSXQncyBPSyB0byBqdXN0IGFkZCBhIGZyYWdtZW50YXJ5IG5vdGUgYWJvdXQgYSBjaGFuZ2UuICBGb3IKKyAgIGV4YW1wbGU6ICJYWFggRGVzY3JpYmUgdGhlIHRyYW5zbW9ncmlmeSgpIGZ1bmN0aW9uIGFkZGVkIHRvIHRoZQorICAgc29ja2V0IG1vZHVsZS4iICBUaGUgbWFpbnRhaW5lciB3aWxsIHJlc2VhcmNoIHRoZSBjaGFuZ2UgYW5kCisgICB3cml0ZSB0aGUgbmVjZXNzYXJ5IHRleHQuCisKKyAgICogWW91IGNhbiBjb21tZW50IG91dCB5b3VyIGFkZGl0aW9ucyBpZiB5b3UgbGlrZSwgYnV0IGl0J3Mgbm90CisgICBuZWNlc3NhcnkgKGVzcGVjaWFsbHkgd2hlbiBhIGZpbmFsIHJlbGVhc2UgaXMgc29tZSBtb250aHMgYXdheSkuCisKKyAgICogQ3JlZGl0IHRoZSBhdXRob3Igb2YgYSBwYXRjaCBvciBidWdmaXguICAgSnVzdCB0aGUgbmFtZSBpcworICAgc3VmZmljaWVudDsgdGhlIGUtbWFpbCBhZGRyZXNzIGlzbid0IG5lY2Vzc2FyeS4KKworICAgKiBJdCdzIGhlbHBmdWwgdG8gYWRkIHRoZSBidWcvcGF0Y2ggbnVtYmVyIGFzIGEgY29tbWVudDoKKworICAgWFhYIERlc2NyaWJlIHRoZSB0cmFuc21vZ3JpZnkoKSBmdW5jdGlvbiBhZGRlZCB0byB0aGUgc29ja2V0CisgICBtb2R1bGUuCisgICAoQ29udHJpYnV0ZWQgYnkgUC5ZLiBEZXZlbG9wZXIgaW4gOmlzc3VlOmAxMjM0NWAuKQorCisgICBUaGlzIHNhdmVzIHRoZSBtYWludGFpbmVyIHRoZSBlZmZvcnQgb2YgZ29pbmcgdGhyb3VnaCB0aGUgTWVyY3VyaWFsIGxvZworICAgd2hlbiByZXNlYXJjaGluZyBhIGNoYW5nZS4KKworVGhpcyBhcnRpY2xlIGV4cGxhaW5zIHRoZSBuZXcgZmVhdHVyZXMgaW4gUHl0aG9uIDMuNSwgY29tcGFyZWQgdG8gMy40LgorCitGb3IgZnVsbCBkZXRhaWxzLCBzZWUgdGhlIDpzb3VyY2U6YE1pc2MvTkVXU2AgZmlsZS4KKworLi4gbm90ZTo6IFByZXJlbGVhc2UgdXNlcnMgc2hvdWxkIGJlIGF3YXJlIHRoYXQgdGhpcyBkb2N1bWVudCBpcyBjdXJyZW50bHkgaW4KKyAgIGRyYWZ0IGZvcm0uIEl0IHdpbGwgYmUgdXBkYXRlZCBzdWJzdGFudGlhbGx5IGFzIFB5dGhvbiAzLjUgbW92ZXMgdG93YXJkcworICAgcmVsZWFzZSwgc28gaXQncyB3b3J0aCBjaGVja2luZyBiYWNrIGV2ZW4gYWZ0ZXIgcmVhZGluZyBlYXJsaWVyIHZlcnNpb25zLgorCisKKy4uIHNlZWFsc286OgorCisgICAgOnBlcDpgNDc4YCAtIFB5dGhvbiAzLjUgUmVsZWFzZSBTY2hlZHVsZQorCisKK1N1bW1hcnkgLS0gUmVsZWFzZSBoaWdobGlnaHRzCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorCisuLiBUaGlzIHNlY3Rpb24gc2luZ2xlcyBvdXQgdGhlIG1vc3QgaW1wb3J0YW50IGNoYW5nZXMgaW4gUHl0aG9uIDMuMy4KKyAgIEJyZXZpdHkgaXMga2V5LgorCitOZXcgc3ludGF4IGZlYXR1cmVzOgorCisqIE5vbmUgeWV0LgorCitOZXcgbGlicmFyeSBtb2R1bGVzOgorCisqIE5vbmUgeWV0LgorCitOZXcgYnVpbHQtaW4gZmVhdHVyZXM6CisKKyogTm9uZSB5ZXQuCisKK0ltcGxlbWVudGF0aW9uIGltcHJvdmVtZW50czoKKworKiBXaGVuIHRoZSBgYExDX1RZUEVgYCBsb2NhbGUgaXMgdGhlIFBPU0lYIGxvY2FsZSAoYGBDYGAgbG9jYWxlKSwKKyAgOnB5OmRhdGE6YHN5cy5zdGRpbmAgYW5kIDpweTpkYXRhOmBzeXMuc3Rkb3V0YCBhcmUgbm93IHVzaW5nIHRoZQorICBgYHN1cnJvZ2F0ZWVzY2FwZWBgIGVycm9yIGhhbmRsZXIsIGluc3RlYWQgb2YgdGhlIGBgc3RyaWN0YGAgZXJyb3IgaGFuZGxlcgorICAoOmlzc3VlOmAxOTk3N2ApLgorCitTaWduaWZpY2FudGx5IEltcHJvdmVkIExpYnJhcnkgTW9kdWxlczoKKworKiBOb25lIHlldC4KKworU2VjdXJpdHkgaW1wcm92ZW1lbnRzOgorCisqIE5vbmUgeWV0LgorCitQbGVhc2UgcmVhZCBvbiBmb3IgYSBjb21wcmVoZW5zaXZlIGxpc3Qgb2YgdXNlci1mYWNpbmcgY2hhbmdlcy4KKworCisuLiBQRVAtc2l6ZWQgaXRlbXMgbmV4dC4KKworLi4gX3BlcC00WFg6CisKKy4uIFBFUCA0WFg6IFZpcnR1YWwgRW52aXJvbm1lbnRzCisuLiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorCisKKy4uIChJbXBsZW1lbnRlZCBieSBGb28gQmFyLikKKworLi4gLi4gc2VlYWxzbzo6CisKKyAgICA6cGVwOmA0WFhgIC0gUHl0aG9uIFZpcnR1YWwgRW52aXJvbm1lbnRzCisgICAgICAgUEVQIHdyaXR0ZW4gYnkgQ2FybCBNZXllcgorCisKK1BFUCA0NzU6IFJldHJ5IHN5c3RlbSBjYWxscyBmYWlsaW5nIHdpdGggRUlOVFIKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworOnBlcDpgNDc1YCBhZGRzIHN1cHBvcnQgZm9yIGF1dG9tYXRpYyByZXRyeSBvZiBzeXN0ZW0gY2FsbHMgZmFpbGluZyB3aXRoIEVJTlRSOgordGhpcyBtZWFucyB0aGF0IHVzZXIgY29kZSBkb2Vzbid0IGhhdmUgdG8gZGVhbCB3aXRoIEVJTlRSIG9yIEludGVycnVwdGVkRXJyb3IKK21hbnVhbGx5LCBhbmQgc2hvdWxkIG1ha2UgaXQgbW9yZSByb2J1c3QgYWdhaW5zdCBhc3luY2hyb25vdXMgc2lnbmFsIHJlY2VwdGlvbi4KKworLi4gc2VlYWxzbzo6CisKKyAgIDpwZXA6YDQ3NWAgLS0gUmV0cnkgc3lzdGVtIGNhbGxzIGZhaWxpbmcgd2l0aCBFSU5UUgorCisKK090aGVyIExhbmd1YWdlIENoYW5nZXMKKz09PT09PT09PT09PT09PT09PT09PT0KKworU29tZSBzbWFsbGVyIGNoYW5nZXMgbWFkZSB0byB0aGUgY29yZSBQeXRob24gbGFuZ3VhZ2UgYXJlOgorCisqIEFkZGVkIHRoZSBgYCduYW1lcmVwbGFjZSdgYCBlcnJvciBoYW5kbGVycy4gIFRoZSBgYCdiYWNrc2xhc2hyZXBsYWNlJ2BgCisgIGVycm9yIGhhbmRsZXJzIG5vdyB3b3JrcyB3aXRoIGRlY29kaW5nIGFuZCB0cmFuc2xhdGluZy4KKyAgKENvbnRyaWJ1dGVkIGJ5IFNlcmhpeSBTdG9yY2hha2EgaW4gOmlzc3VlOmAxOTY3NmAgYW5kIDppc3N1ZTpgMjIyODZgLikKKworCisKK05ldyBNb2R1bGVzCis9PT09PT09PT09PQorCisuLiBtb2R1bGUgbmFtZQorLi4gLS0tLS0tLS0tLS0KKworKiBOb25lIHlldC4KKworCitJbXByb3ZlZCBNb2R1bGVzCis9PT09PT09PT09PT09PT09CisKK2FyZ3BhcnNlCistLS0tLS0tLQorCisqIDpjbGFzczpgfmFyZ3BhcnNlLkFyZ3VtZW50UGFyc2VyYCBub3cgYWxsb3dzIHRvIGRpc2FibGUKKyAgOnJlZjpgYWJicmV2aWF0ZWQgdXNhZ2UgPHByZWZpeC1tYXRjaGluZz5gIG9mIGxvbmcgb3B0aW9ucyBieSBzZXR0aW5nCisgIDpyZWY6YGFsbG93X2FiYnJldmAgdG8gYGBGYWxzZWBgLgorICAoQ29udHJpYnV0ZWQgYnkgSm9uYXRoYW4gUGF1Z2gsIFN0ZXZlbiBCZXRoYXJkLCBwYXVsIGozIGFuZCBEYW5pZWwgRXJpa3Nzb24uKQorCitjZ2kKKy0tLQorCisqIDpjbGFzczpgfmNnaS5GaWVsZFN0b3JhZ2VgIG5vdyBzdXBwb3J0cyB0aGUgY29udGV4dCBtYW5hZ2VtZW50IHByb3RvY29sLgorICAoQ29udHJpYnV0ZWQgYnkgQmVya2VyIFBla3NhZyBpbiA6aXNzdWU6YDIwMjg5YC4pCisKK2NvZGUKKy0tLS0KKworKiBUaGUgOmZ1bmM6YGNvZGUuSW50ZXJhY3RpdmVJbnRlcnByZXRlci5zaG93dHJhY2ViYWNrYCBtZXRob2Qgbm93IHByaW50cworICB0aGUgZnVsbCBjaGFpbmVkIHRyYWNlYmFjaywganVzdCBsaWtlIHRoZSBpbnRlcmFjdGl2ZSBpbnRlcnByZXRlci4KKyAgKENvbnRyaWJ1dGVkIGJ5IENsYXVkaXUgUG9wYSBpbiA6aXNzdWU6YDE3NDQyYC4pCisKK2NvbXBpbGVhbGwKKy0tLS0tLS0tLS0KKworKiA6ZnVuYzpgY29tcGlsZWFsbC5jb21waWxlX2RpcmAgYW5kIDptb2Q6YGNvbXBpbGVhbGxgJ3MgY29tbWFuZC1saW5lIGludGVyZmFjZQorICBjYW4gbm93IGRvIHBhcmFsbGVsIGJ5dGVjb2RlIGNvbXBpbGF0aW9uLgorICAoQ29udHJpYnV0ZWQgYnkgQ2xhdWRpdSBQb3BhIGluIDppc3N1ZTpgMTYxMDRgLikKKworY29udGV4dGxpYgorLS0tLS0tLS0tLQorCisqIFRoZSBuZXcgOmZ1bmM6YGNvbnRleHRsaWIucmVkaXJlY3Rfc3RkZXJyYCBjb250ZXh0IG1hbmFnZXIoc2ltaWxhciB0bworICA6ZnVuYzpgY29udGV4dGxpYi5yZWRpcmVjdF9zdGRvdXRgKSBtYWtlcyBpdCBlYXNpZXIgZm9yIHV0aWxpdHkgc2NyaXB0cyB0bworICBoYW5kbGUgaW5mbGV4aWJsZSBBUElzIHRoYXQgd3JpdGUgdGhlaXIgb3V0cHV0IHRvIDpkYXRhOmBzeXMuc3RkZXJyYCBhbmQKKyAgZG9uJ3QgcHJvdmlkZSBhbnkgb3B0aW9ucyB0byByZWRpcmVjdCBpdC4KKyAgKENvbnRyaWJ1dGVkIGJ5IEJlcmtlciBQZWtzYWcgaW4gOmlzc3VlOmAyMjM4OWAuKQorCitkaXN0dXRpbHMKKy0tLS0tLS0tLQorCisqIFRoZSBgYGJ1aWxkYGAgYW5kIGBgYnVpbGRfZXh0YGAgY29tbWFuZHMgbm93IGFjY2VwdCBhIGBgLWpgYAorICBvcHRpb24gdG8gZW5hYmxlIHBhcmFsbGVsIGJ1aWxkaW5nIG9mIGV4dGVuc2lvbiBtb2R1bGVzLgorICAoQ29udHJpYnV0ZWQgYnkgQW50b2luZSBQaXRyb3UgaW4gOmlzc3VlOmA1MzA5YC4pCisKK2RvY3Rlc3QKKy0tLS0tLS0KKworKiA6ZnVuYzpgZG9jdGVzdC5Eb2NUZXN0U3VpdGVgIHJldHVybnMgYW4gZW1wdHkgOmNsYXNzOmB1bml0dGVzdC5UZXN0U3VpdGVgIGlmCisgICptb2R1bGUqIGNvbnRhaW5zIG5vIGRvY3N0cmluZ3MgaW5zdGVhZCBvZiByYWlzaW5nIDpleGM6YFZhbHVlRXJyb3JgLgorICAoQ29udHJpYnV0ZWQgYnkgR2xlbm4gSm9uZXMgaW4gOmlzc3VlOmAxNTkxNmAuKQorCitnbG9iCistLS0tCisKKyogOmZ1bmM6YH5nbG9iLmlnbG9iYCBhbmQgOmZ1bmM6YH5nbG9iLmdsb2JgIG5vdyBzdXBwb3J0IHJlY3Vyc2l2ZSBzZWFyY2ggaW4KKyAgc3ViZGlyZWN0b3JpZXMgdXNpbmcgdGhlICJgYCoqYGAiIHBhdHRlcm4uCisgIChDb250cmlidXRlZCBieSBTZXJoaXkgU3RvcmNoYWthIGluIDppc3N1ZTpgMTM5NjhgLikKKworaW1hcGxpYgorLS0tLS0tLQorCisqIDpjbGFzczpgSU1BUDRgIG5vdyBzdXBwb3J0cyB0aGUgY29udGV4dCBtYW5hZ2VtZW50IHByb3RvY29sLiAgV2hlbiB1c2VkIGluIGEKKyAgOmtleXdvcmQ6YHdpdGhgIHN0YXRlbWVudCwgdGhlIElNQVA0IGBgTE9HT1VUYGAgY29tbWFuZCB3aWxsIGJlIGNhbGxlZAorICBhdXRvbWF0aWNhbGx5IGF0IHRoZSBlbmQgb2YgdGhlIGJsb2NrLiAgKENvbnRyaWJ1dGVkIGJ5IFRhcmVrIFppYWTDqSBhbmQKKyAgU2VyaGl5IFN0b3JjaGFrYSBpbiA6aXNzdWU6YDQ5NzJgLikKKworaW1naGRyCistLS0tLS0KKworKiA6ZnVuYzpgfmltZ2hkci53aGF0YCBub3cgcmVjb2duaXplcyB0aGUgYE9wZW5FWFIgPGh0dHA6Ly93d3cub3BlbmV4ci5jb20+YF8KKyAgZm9ybWF0LiAgKENvbnRyaWJ1dGVkIGJ5IE1hcnRpbiBWaWduYWxpIGFuZCBDbGF1ZGl1IFBvcGEgaW4gOmlzc3VlOmAyMDI5NWAuKQorCitpbXBvcnRsaWIKKy0tLS0tLS0tLQorCisqIDpjbGFzczpgaW1wb3J0bGliLnV0aWwuTGF6eUxvYWRlcmAgYWxsb3dzIGZvciB0aGUgbGF6eSBsb2FkaW5nIG9mIG1vZHVsZXMgaW4KKyAgYXBwbGljYXRpb25zIHdoZXJlIHN0YXJ0dXAgdGltZSBpcyBwYXJhbW91bnQuCisgIChDb250cmlidXRlZCBieSBCcmV0dCBDYW5ub24gaW4gOmlzc3VlOmAxNzYyMWAuKQorCisqIDpmdW5jOmBpbXBvcnRsaWIuYWJjLkluc3BlY3RMb2FkZXIuc291cmNlX3RvX2NvZGVgIGlzIG5vdyBhCisgIHN0YXRpYyBtZXRob2QgdG8gbWFrZSBpdCBlYXNpZXIgdG8gd29yayB3aXRoIHNvdXJjZSBjb2RlIGluIGEgc3RyaW5nLgorICBXaXRoIGEgbW9kdWxlIG9iamVjdCB0aGF0IHlvdSB3YW50IHRvIGluaXRpYWxpemUgeW91IGNhbiB0aGVuIHVzZQorICBgYGV4ZWMoY29kZSwgbW9kdWxlLl9fZGljdF9fKWBgIHRvIGV4ZWN1dGUgdGhlIGNvZGUgaW4gdGhlIG1vZHVsZS4KKworKiA6ZnVuYzpgaW1wb3J0bGliLnV0aWwubW9kdWxlX2Zyb21fc3BlY2AgaXMgbm93IHRoZSBwcmVmZXJyZWQgd2F5IHRvIGNyZWF0ZSBhCisgIG5ldyBtb2R1bGUuIENvbXBhcmVkIHRvIDpjbGFzczpgdHlwZXMuTW9kdWxlVHlwZWAsIHRoaXMgbmV3IGZ1bmN0aW9uIHdpbGwgc2V0CisgIHRoZSB2YXJpb3VzIGltcG9ydC1jb250cm9sbGVkIGF0dHJpYnV0ZXMgYmFzZWQgb24gdGhlIHBhc3NlZC1pbiBzcGVjIG9iamVjdC4KKworaW5zcGVjdAorLS0tLS0tLQorCisqIDpjbGFzczpgaW5zcGVjdC5TaWduYXR1cmVgIGFuZCA6Y2xhc3M6YGluc3BlY3QuUGFyYW1ldGVyYCBhcmUgbm93CisgIHBpY2tsYWJsZSBhbmQgaGFzaGFibGUuICAoQ29udHJpYnV0ZWQgYnkgWXVyeSBTZWxpdmFub3YgaW4gOmlzc3VlOmAyMDcyNmAKKyAgYW5kIDppc3N1ZTpgMjAzMzRgLikKKworKiBOZXcgY2xhc3MgbWV0aG9kIDptZXRoOmBpbnNwZWN0LlNpZ25hdHVyZS5mcm9tX2NhbGxhYmxlYCwgd2hpY2ggbWFrZXMKKyAgc3ViY2xhc3Npbmcgb2YgOmNsYXNzOmB+aW5zcGVjdC5TaWduYXR1cmVgIGVhc2llci4gIChDb250cmlidXRlZAorICBieSBZdXJ5IFNlbGl2YW5vdiBhbmQgRXJpYyBTbm93IGluIDppc3N1ZTpgMTczNzNgLikKKworaXBhZGRyZXNzCistLS0tLS0tLS0KKworKiA6Y2xhc3M6YGlwYWRkcmVzcy5JUHY0TmV0d29ya2AgYW5kIDpjbGFzczpgaXBhZGRyZXNzLklQdjZOZXR3b3JrYCBub3cKKyAgYWNjZXB0IGFuIGBgKGFkZHJlc3MsIG5ldG1hc2spYGAgdHVwbGUgYXJndW1lbnQsIHNvIGFzIHRvIGVhc2lseSBjb25zdHJ1Y3QKKyAgbmV0d29yayBvYmplY3RzIGZyb20gZXhpc3RpbmcgYWRkcmVzc2VzLiAgKENvbnRyaWJ1dGVkIGJ5IFBldGVyIE1vb2R5CisgIGFuZCBBbnRvaW5lIFBpdHJvdSBpbiA6aXNzdWU6YDE2NTMxYC4pCisKK2pzb24KKy0tLS0KKworKiBUaGUgb3V0cHV0IG9mIDptb2Q6YGpzb24udG9vbGAgY29tbWFuZCBsaW5lIGludGVyZmFjZSBpcyBub3cgaW4gdGhlIHNhbWUKKyAgb3JkZXIgYXMgdGhlIGlucHV0LiBVc2UgdGhlIDpvcHRpb246YC0tc29ydC1rZXlzYCBvcHRpb24gdG8gc29ydCB0aGUgb3V0cHV0CisgIG9mIGRpY3Rpb25hcmllcyBhbHBoYWJldGljYWxseSBieSBrZXkuICAoQ29udHJpYnV0ZWQgYnkgQmVya2VyIFBla3NhZyBpbgorICA6aXNzdWU6YDIxNjUwYC4pCisKKyogSlNPTiBkZWNvZGVyIG5vdyByYWlzZXMgOmV4YzpganNvbi5KU09ORGVjb2RlRXJyb3JgIGluc3RlYWQgb2YKKyAgOmV4YzpgVmFsdWVFcnJvcmAuICAgKENvbnRyaWJ1dGVkIGJ5IFNlcmhpeSBTdG9yY2hha2EgaW4gOmlzc3VlOmAxOTM2MWAuKQorCitvcworLS0KKworKiA6Y2xhc3M6YG9zLnN0YXRfcmVzdWx0YCBub3cgaGFzIGEgOmF0dHI6YH5vcy5zdGF0X3Jlc3VsdC5zdF9maWxlX2F0dHJpYnV0ZXNgCisgIGF0dHJpYnV0ZSBvbiBXaW5kb3dzLiAgKENvbnRyaWJ1dGVkIGJ5IEJlbiBIb3l0IGluIDppc3N1ZTpgMjE3MTlgLikKKworcmUKKy0tCisKKyogTnVtYmVyIG9mIGNhcHR1cmluZyBncm91cHMgaW4gcmVndWxhciBleHByZXNzaW9uIGlzIG5vIGxvbmdlciBsaW1pdGVkIGJ5IDEwMC4KKyAgKENvbnRyaWJ1dGVkIGJ5IFNlcmhpeSBTdG9yY2hha2EgaW4gOmlzc3VlOmAyMjQzN2AuKQorCisqIE5vdyB1bm1hdGNoZWQgZ3JvdXBzIGFyZSByZXBsYWNlZCB3aXRoIGVtcHR5IHN0cmluZ3MgaW4gOmZ1bmM6YHJlLnN1YmAKKyAgYW5kIDpmdW5jOmByZS5zdWJuYC4gIChDb250cmlidXRlZCBieSBTZXJoaXkgU3RvcmNoYWthIGluIDppc3N1ZTpgMTUxOTYzOGAuKQorCittYXRoCistLS0tCisKKyogOmRhdGE6YG1hdGguaW5mYCBhbmQgOmRhdGE6YG1hdGgubmFuYCBjb25zdGFudHMgYWRkZWQuICAoQ29udHJpYnV0ZWQgYnkgTWFyaworICBEaWNraW5zb24gaW4gOmlzc3VlOmAyMzE4NWAuKQorCitzaHV0aWwKKy0tLS0tLQorCisqIDpmdW5jOmB+c2h1dGlsLm1vdmVgIG5vdyBhY2NlcHRzIGEgKmNvcHlfZnVuY3Rpb24qIGFyZ3VtZW50LCBhbGxvd2luZywKKyAgZm9yIGV4YW1wbGUsIDpmdW5jOmB+c2h1dGlsLmNvcHlgIHRvIGJlIHVzZWQgaW5zdGVhZCBvZiB0aGUgZGVmYXVsdAorICA6ZnVuYzpgfnNodXRpbC5jb3B5MmAgaWYgdGhlcmUgaXMgYSBuZWVkIHRvIGlnbm9yZSBtZXRhZGF0YS4gIChDb250cmlidXRlZCBieQorICBDbGF1ZGl1IFBvcGEgaW4gOmlzc3VlOmAxOTg0MGAuKQorCitzaWduYWwKKy0tLS0tLQorCisqIERpZmZlcmVudCBjb25zdGFudHMgb2YgOm1vZDpgc2lnbmFsYCBtb2R1bGUgYXJlIG5vdyBlbnVtZXJhdGlvbiB2YWx1ZXMgdXNpbmcKKyAgdGhlIDptb2Q6YGVudW1gIG1vZHVsZS4gVGhpcyBhbGxvd3MgbWVhbmluZ2Z1bCBuYW1lcyB0byBiZSBwcmludGVkIGR1cmluZworICBkZWJ1Z2dpbmcsIGluc3RlYWQgb2YgaW50ZWdlciDigJxtYWdpYyBudW1iZXJz4oCdLiAgKENvbnRyaWJ1dGVkIGJ5IEdpYW1wYW9sbworICBSb2RvbGEnIGluIDppc3N1ZTpgMjEwNzZgLikKKworc210cGQKKy0tLS0tCisKKyogQm90aCA6Y2xhc3M6YH5zbXRwZC5TTVRQU2VydmVyYCBhbmQgOmNsYXNzOmBzbXRwZC5TTVRQQ2hhbm5lbGAgbm93IGFjY2VwdCBhCisgICpkZWNvZGVfZGF0YSoga2V5d29yZCB0byBkZXRlcm1pbmUgaWYgdGhlIERBVEEgcG9ydGlvbiBvZiB0aGUgU01UUAorICB0cmFuc2FjdGlvbiBpcyBkZWNvZGVkIHVzaW5nIHRoZSBgYHV0Zi04YGAgY29kZWMgb3IgaXMgaW5zdGVhZCBwcm92aWRlZCB0bworICA6bWV0aDpgfnNtdHBkLlNNVFBTZXJ2ZXIucHJvY2Vzc19tZXNzYWdlYCBhcyBhIGJ5dGUgc3RyaW5nLiAgVGhlIGRlZmF1bHQKKyAgaXMgYGBUcnVlYGAgZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgcmVhc29ucywgYnV0IHdpbGwgY2hhbmdlIHRvIGBgRmFsc2VgYAorICBpbiBQeXRob24gMy42LiAgKENvbnRyaWJ1dGVkIGJ5IE1hY2llaiBTenVsaWsgaW4gOmlzc3VlOmAxOTY2MmAuKQorCisqIEl0IGlzIG5vdyBwb3NzaWJsZSB0byBwcm92aWRlLCBkaXJlY3RseSBvciB2aWEgbmFtZSByZXNvbHV0aW9uLCBJUHY2CisgIGFkZHJlc3NlcyBpbiB0aGUgOmNsYXNzOmB+c210cGQuU01UUFNlcnZlcmAgY29uc3RydWN0b3IsIGFuZCBoYXZlIGl0CisgIHN1Y2Nlc3NmdWxseSBjb25uZWN0LiAgKENvbnRyaWJ1dGVkIGJ5IE1pbGFuIE9iZXJraXJjaCBpbiA6aXNzdWU6YDE0NzU4YC4pCisKKyogOm1vZDpgfnNtdHBkLlNNVFBTZXJ2ZXJgIG5vdyBzdXBwb3J0cyA6cmZjOmA2NTMxYCB2aWEgdGhlICplbmFibGVfU01UUFVURjgqCisgIGNvbnN0cnVjdG9yIGFyZ3VtZW50IGFuZCBhIHVzZXItcHJvdmlkZWQKKyAgOm1ldGg6YH5zbXRwZC5TTVRQU2VydmVyLnByb2Nlc3Nfc210cHV0ZjhfbWVzc2FnZWAgbWV0aG9kLgorCitzbXRwbGliCistLS0tLS0tCisKKyogQSBuZXcgOm1ldGg6YH5zbXRwbGliLlNNVFAuYXV0aGAgbWV0aG9kIHByb3ZpZGVzIGEgY29udmVuaWVudCB3YXkgdG8KKyAgaW1wbGVtZW50IGN1c3RvbSBhdXRoZW50aWNhdGlvbiBtZWNoYW5pc21zLgorICAoQ29udHJpYnV0ZWQgYnkgTWlsYW4gT2JlcmtpcmNoIGluIDppc3N1ZTpgMTUwMTRgLikKKworc25kaGRyCistLS0tLS0KKworKiA6ZnVuYzpgfnNuZGhkci53aGF0YCBhbmQgOmZ1bmM6YH5zbmRoZHIud2hhdGhkcmAgbm93IHJldHVybgorICA6ZnVuYzpgfmNvbGxlY3Rpb25zLm5hbWVkdHVwbGVgLgorICAoQ29udHJpYnV0ZWQgYnkgQ2xhdWRpdSBQb3BhIGluIDppc3N1ZTpgMTg2MTVgLikKKworc29ja2V0CistLS0tLS0KKworKiBOZXcgOm1ldGg6YHNvY2tldC5zb2NrZXQuc2VuZGZpbGVgIG1ldGhvZCBhbGxvd3MgdG8gc2VuZCBhIGZpbGUgb3ZlciBhIHNvY2tldAorICBieSB1c2luZyBoaWdoLXBlcmZvcm1hbmNlIDpmdW5jOmBvcy5zZW5kZmlsZWAgZnVuY3Rpb24gb24gVU5JWCByZXN1bHRpbmcgaW4KKyAgdXBsb2FkcyBiZWluZyBmcm9tIDJ4IHRvIDN4IGZhc3RlciB0aGFuIHdoZW4gdXNpbmcgcGxhaW4KKyAgOm1ldGg6YHNvY2tldC5zb2NrZXQuc2VuZGAuCisgIChDb250cmlidXRlZCBieSBHaWFtcGFvbG8gUm9kb2xhJyBpbiA6aXNzdWU6YDE3NTUyYC4pCisKK3N5c2NvbmZpZworLS0tLS0tLS0tCisKKyogVGhlIHVzZXIgc2NyaXB0cyBkaXJlY3Rvcnkgb24gV2luZG93cyBpcyBub3cgdmVyc2lvbmVkLgorICAoQ29udHJpYnV0ZWQgYnkgUGF1bCBNb29yZSBpbiA6aXNzdWU6YDIzNDM3YC4pCisKKwordGFyZmlsZQorLS0tLS0tLQorCisqIFRoZSA6ZnVuYzpgdGFyZmlsZS5vcGVuYCBmdW5jdGlvbiBub3cgc3VwcG9ydHMgYGAneCdgYCAoZXhjbHVzaXZlIGNyZWF0aW9uKQorICBtb2RlLiAgKENvbnRyaWJ1dGVkIGJ5IEJlcmtlciBQZWtzYWcgaW4gOmlzc3VlOmAyMTcxN2AuKQorCit0aW1lCistLS0tCisKKyogVGhlIDpmdW5jOmB0aW1lLm1vbm90b25pY2AgZnVuY3Rpb24gaXMgbm93IGFsd2F5cyBhdmFpbGFibGUuICAoQ29udHJpYnV0ZWQgYnkKKyAgVmljdG9yIFN0aW5uZXIgaW4gOmlzc3VlOmAyMjA0M2AuKQorCit1cmxsaWIKKy0tLS0tLQorCisqIEEgbmV3IDpjbGFzczpgdXJsbGliLnJlcXVlc3QuSFRUUEJhc2ljUHJpb3JBdXRoSGFuZGxlcmAgYWxsb3dzIEhUVFAgQmFzaWMKKyAgQXV0aGVudGljYXRpb24gY3JlZGVudGlhbHMgdG8gYmUgc2VudCB1bmNvbmRpdGlvbmFsbHkgd2l0aCB0aGUgZmlyc3QgSFRUUAorICByZXF1ZXN0LCByYXRoZXIgdGhhbiB3YWl0aW5nIGZvciBhIEhUVFAgNDAxIFVuYXV0aG9yaXplZCByZXNwb25zZSBmcm9tIHRoZQorICBzZXJ2ZXIuCisgIChDb250cmlidXRlZCBieSBNYXRlaiBDZXBsIGluIDppc3N1ZTpgMTk0OTRgLikKKword3NnaXJlZgorLS0tLS0tLQorCisqICpoZWFkZXJzKiBwYXJhbWV0ZXIgb2YgOmNsYXNzOmB3c2dpcmVmLmhlYWRlcnMuSGVhZGVyc2AgaXMgbm93IG9wdGlvbmFsLgorICAoQ29udHJpYnV0ZWQgYnkgUGFibG8gVG9ycmVzIE5hdmFycmV0ZSBhbmQgU2lsZW50R2hvc3QgaW4gOmlzc3VlOmA1ODAwYC4pCisKK3htbHJwYworLS0tLS0tCisKKyogOmNsYXNzOmB4bWxycGMuY2xpZW50LlNlcnZlclByb3h5YCBpcyBub3cgYSA6dGVybTpgY29udGV4dCBtYW5hZ2VyYC4KKyAgKENvbnRyaWJ1dGVkIGJ5IENsYXVkaXUgUG9wYSBpbiA6aXNzdWU6YDIwNjI3YC4pCisKKworT3B0aW1pemF0aW9ucworPT09PT09PT09PT09PQorCitUaGUgZm9sbG93aW5nIHBlcmZvcm1hbmNlIGVuaGFuY2VtZW50cyBoYXZlIGJlZW4gYWRkZWQ6CisKKyogQ29uc3RydWN0aW9uIG9mIGBgYnl0ZXMoaW50KWBgIChmaWxsZWQgYnkgemVybyBieXRlcykgaXMgZmFzdGVyIGFuZCB1c2UgbGVzcworICBtZW1vcnkgZm9yIGxhcmdlIG9iamVjdHMuIGBgY2FsbG9jKClgYCBpcyB1c2VkIGluc3RlYWQgb2YgYGBtYWxsb2MoKWBgIHRvCisgIGFsbG9jYXRlIG1lbW9yeSBmb3IgdGhlc2Ugb2JqZWN0cy4KKworKiBTb21lIG9wZXJhdGlvbnMgb24gOmNsYXNzOmB+aXBhZGRyZXNzLklQdjROZXR3b3JrYCBhbmQKKyAgOmNsYXNzOmB+aXBhZGRyZXNzLklQdjZOZXR3b3JrYCBoYXZlIGJlZW4gbWFzc2l2ZWx5IHNwZWQgdXAsIHN1Y2ggYXMKKyAgOm1ldGg6YH5pcGFkZHJlc3MuSVB2NE5ldHdvcmsuc3VibmV0c2AsIDptZXRoOmB+aXBhZGRyZXNzLklQdjROZXR3b3JrLnN1cGVybmV0YCwKKyAgOmZ1bmM6YH5pcGFkZHJlc3Muc3VtbWFyaXplX2FkZHJlc3NfcmFuZ2VgLCA6ZnVuYzpgfmlwYWRkcmVzcy5jb2xsYXBzZV9hZGRyZXNzZXNgLgorICBUaGUgc3BlZWQgdXAgY2FuIHJhbmdlIGZyb20gM3ggdG8gMTV4LgorICAoOmlzc3VlOmAyMTQ4NmAsIDppc3N1ZTpgMjE0ODdgLCA6aXNzdWU6YDIwODI2YCkKKworKiBNYW55IG9wZXJhdGlvbnMgb24gOmNsYXNzOmBpby5CeXRlc0lPYCBhcmUgbm93IDUwJSB0byAxMDAlIGZhc3Rlci4KKyAgKENvbnRyaWJ1dGVkIGJ5IFNlcmhpeSBTdG9yY2hha2EgaW4gOmlzc3VlOmAxNTM4MWAgYW5kIERhdmlkIFdpbHNvbiBpbgorICA6aXNzdWU6YDIyMDAzYC4pCisKKyogOmZ1bmM6YG1hcnNoYWwuZHVtcHNgIGlzIG5vdyBmYXN0ZXIgKDY1JS04NSUgd2l0aCB2ZXJzaW9ucyAzLS00LCAyMC0yNSUgd2l0aAorICB2ZXJzaW9ucyAwLS0yIG9uIHR5cGljYWwgZGF0YSwgYW5kIHVwIHRvIDV4IGluIGJlc3QgY2FzZXMpLgorICAoQ29udHJpYnV0ZWQgYnkgU2VyaGl5IFN0b3JjaGFrYSBpbiA6aXNzdWU6YDIwNDE2YCBhbmQgOmlzc3VlOmAyMzM0NGAuKQorCisKK0J1aWxkIGFuZCBDIEFQSSBDaGFuZ2VzCis9PT09PT09PT09PT09PT09PT09PT09PQorCitDaGFuZ2VzIHRvIFB5dGhvbidzIGJ1aWxkIHByb2Nlc3MgYW5kIHRvIHRoZSBDIEFQSSBpbmNsdWRlOgorCisqIE5ldyBgYGNhbGxvY2BgIGZ1bmN0aW9uczoKKworICAqIDpjOmZ1bmM6YFB5TWVtX1Jhd0NhbGxvY2AKKyAgKiA6YzpmdW5jOmBQeU1lbV9DYWxsb2NgCisgICogOmM6ZnVuYzpgUHlPYmplY3RfQ2FsbG9jYAorICAqIDpjOmZ1bmM6YF9QeU9iamVjdF9HQ19DYWxsb2NgCisKKworRGVwcmVjYXRlZAorPT09PT09PT09PQorCitVbnN1cHBvcnRlZCBPcGVyYXRpbmcgU3lzdGVtcworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworKiBOb25lIHlldC4KKworCitEZXByZWNhdGVkIFB5dGhvbiBtb2R1bGVzLCBmdW5jdGlvbnMgYW5kIG1ldGhvZHMKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisqIFRoZSA6bW9kOmBmb3JtYXR0ZXJgIG1vZHVsZSBoYXMgbm93IGdyYWR1YXRlZCB0byBmdWxsIGRlcHJlY2F0aW9uIGFuZCBpcyBzdGlsbAorICBzbGF0ZWQgZm9yIHJlbW92YWwgaW4gUHl0aG9uIDMuNi4KKworKiA6bW9kOmBzbXRwZGAgaGFzIGluIHRoZSBwYXN0IGFsd2F5cyBkZWNvZGVkIHRoZSBEQVRBIHBvcnRpb24gb2YgZW1haWwKKyAgbWVzc2FnZXMgdXNpbmcgdGhlIGBgdXRmLThgYCBjb2RlYy4gIFRoaXMgY2FuIG5vdyBiZSBjb250cm9sbGVkIGJ5IHRoZSBuZXcKKyAgKmRlY29kZV9kYXRhKiBrZXl3b3JkIHRvIDpjbGFzczpgfnNtdHBkLlNNVFBTZXJ2ZXJgLiAgVGhlIGRlZmF1bHQgdmFsdWUgaXMKKyAgYGBUcnVlYGAsIGJ1dCB0aGlzIGRlZmF1bHQgaXMgZGVwcmVjYXRlZC4gIFNwZWNpZnkgdGhlICpkZWNvZGVfZGF0YSoga2V5d29yZAorICB3aXRoIGFuIGFwcHJvcHJpYXRlIHZhbHVlIHRvIGF2b2lkIHRoZSBkZXByZWNhdGlvbiB3YXJuaW5nLgorCisKK0RlcHJlY2F0ZWQgZnVuY3Rpb25zIGFuZCB0eXBlcyBvZiB0aGUgQyBBUEkKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworKiBOb25lIHlldC4KKworCitEZXByZWNhdGVkIGZlYXR1cmVzCistLS0tLS0tLS0tLS0tLS0tLS0tCisKKyogTm9uZSB5ZXQuCisKKworUmVtb3ZlZAorPT09PT09PQorCitBUEkgYW5kIEZlYXR1cmUgUmVtb3ZhbHMKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCitUaGUgZm9sbG93aW5nIG9ic29sZXRlIGFuZCBwcmV2aW91c2x5IGRlcHJlY2F0ZWQgQVBJcyBhbmQgZmVhdHVyZXMgaGF2ZSBiZWVuCityZW1vdmVkOgorCisqIFRoZSBgYF9fdmVyc2lvbl9fYGAgYXR0cmlidXRlIGhhcyBiZWVuIGRyb3BwZWQgZnJvbSB0aGUgZW1haWwgcGFja2FnZS4gIFRoZQorICBlbWFpbCBjb2RlIGhhc24ndCBiZWVuIHNoaXBwZWQgc2VwYXJhdGVseSBmcm9tIHRoZSBzdGRsaWIgZm9yIGEgbG9uZyB0aW1lLAorICBhbmQgdGhlIGBgX192ZXJzaW9uX19gYCBzdHJpbmcgd2FzIG5vdCB1cGRhdGVkIGluIHRoZSBsYXN0IGZldyByZWxlYXNlcy4KKworKiBUaGUgaW50ZXJuYWwgYGBOZXRyY2BgIGNsYXNzIGluIHRoZSA6bW9kOmBmdHBsaWJgIG1vZHVsZSB3YXMgZGVwcmVjYXRlZCBpbgorICAzLjQsIGFuZCBoYXMgbm93IGJlZW4gcmVtb3ZlZC4KKyAgKENvbnRyaWJ1dGVkIGJ5IE1hdHQgQ2hhcHV0IGluIDppc3N1ZTpgNjYyM2AuKQorCitQb3J0aW5nIHRvIFB5dGhvbiAzLjUKKz09PT09PT09PT09PT09PT09PT09PQorCitUaGlzIHNlY3Rpb24gbGlzdHMgcHJldmlvdXNseSBkZXNjcmliZWQgY2hhbmdlcyBhbmQgb3RoZXIgYnVnZml4ZXMKK3RoYXQgbWF5IHJlcXVpcmUgY2hhbmdlcyB0byB5b3VyIGNvZGUuCisKK0NoYW5nZXMgaW4gdGhlIFB5dGhvbiBBUEkKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworKiBCZWZvcmUgUHl0aG9uIDMuNSwgYSA6Y2xhc3M6YGRhdGV0aW1lLnRpbWVgIG9iamVjdCB3YXMgY29uc2lkZXJlZCB0byBiZSBmYWxzZQorICBpZiBpdCByZXByZXNlbnRlZCBtaWRuaWdodCBpbiBVVEMuICBUaGlzIGJlaGF2aW9yIHdhcyBjb25zaWRlcmVkIG9ic2N1cmUgYW5kCisgIGVycm9yLXByb25lIGFuZCBoYXMgYmVlbiByZW1vdmVkIGluIFB5dGhvbiAzLjUuICBTZWUgOmlzc3VlOmAxMzkzNmAgZm9yIGZ1bGwKKyAgZGV0YWlscy4KKworKiA6bWV0aDpgc3NsLlNTTFNvY2tldC5zZW5kKClgIG5vdyByYWlzZXMgZWl0aGVyIDpleGM6YHNzbC5TU0xXYW50UmVhZEVycm9yYAorICBvciA6ZXhjOmBzc2wuU1NMV2FudFdyaXRlRXJyb3JgIG9uIGEgbm9uLWJsb2NraW5nIHNvY2tldCBpZiB0aGUgb3BlcmF0aW9uCisgIHdvdWxkIGJsb2NrLiBQcmV2aW91c2x5LCBpdCB3b3VsZCByZXR1cm4gMC4gIFNlZSA6aXNzdWU6YDIwOTUxYC4KKworKiBUaGUgYGBfX25hbWVfX2BgIGF0dHJpYnV0ZSBvZiBnZW5lcmF0b3IgaXMgbm93IHNldCBmcm9tIHRoZSBmdW5jdGlvbiBuYW1lLAorICBpbnN0ZWFkIG9mIGJlaW5nIHNldCBmcm9tIHRoZSBjb2RlIG5hbWUuIFVzZSBgYGdlbi5naV9jb2RlLmNvX25hbWVgYCB0bworICByZXRyaWV2ZSB0aGUgY29kZSBuYW1lLiBHZW5lcmF0b3JzIGFsc28gaGF2ZSBhIG5ldyBgYF9fcXVhbG5hbWVfX2BgCisgIGF0dHJpYnV0ZSwgdGhlIHF1YWxpZmllZCBuYW1lLCB3aGljaCBpcyBub3cgdXNlZCBmb3IgdGhlIHJlcHJlc2VudGF0aW9uCisgIG9mIGEgZ2VuZXJhdG9yIChgYHJlcHIoZ2VuKWBgKS4gU2VlIDppc3N1ZTpgMjEyMDVgLgorCisqIFRoZSBkZXByZWNhdGVkICJzdHJpY3QiIG1vZGUgYW5kIGFyZ3VtZW50IG9mIDpjbGFzczpgfmh0bWwucGFyc2VyLkhUTUxQYXJzZXJgLAorICA6bWV0aDpgSFRNTFBhcnNlci5lcnJvcmAsIGFuZCB0aGUgOmV4YzpgSFRNTFBhcnNlckVycm9yYCBleGNlcHRpb24gaGF2ZSBiZWVuCisgIHJlbW92ZWQuICAoQ29udHJpYnV0ZWQgYnkgRXppbyBNZWxvdHRpIGluIDppc3N1ZTpgMTUxMTRgLikKKyAgVGhlICpjb252ZXJ0X2NoYXJyZWZzKiBhcmd1bWVudCBvZiA6Y2xhc3M6YH5odG1sLnBhcnNlci5IVE1MUGFyc2VyYCBpcworICBub3cgYGBUcnVlYGAgYnkgZGVmYXVsdC4gIChDb250cmlidXRlZCBieSBCZXJrZXIgUGVrc2FnIGluIDppc3N1ZTpgMjEwNDdgLikKKworKiBBbHRob3VnaCBpdCBpcyBub3QgZm9ybWFsbHkgcGFydCBvZiB0aGUgQVBJLCBpdCBpcyB3b3J0aCBub3RpbmcgZm9yIHBvcnRpbmcKKyAgcHVycG9zZXMgKGllOiBmaXhpbmcgdGVzdHMpIHRoYXQgZXJyb3IgbWVzc2FnZXMgdGhhdCB3ZXJlIHByZXZpb3VzbHkgb2YgdGhlCisgIGZvcm0gIidzb21ldHlwZScgZG9lcyBub3Qgc3VwcG9ydCB0aGUgYnVmZmVyIHByb3RvY29sIiBhcmUgbm93IG9mIHRoZSBmb3JtICJhCisgIGJ5dGVzLWxpa2Ugb2JqZWN0IGlzIHJlcXVpcmVkLCBub3QgJ3NvbWV0eXBlJyIuICAoQ29udHJpYnV0ZWQgYnkgRXppbyBNZWxvdHRpCisgIGluIDppc3N1ZTpgMTY1MThgLikKKworKiBJZiB0aGUgY3VycmVudCBkaXJlY3RvcnkgaXMgc2V0IHRvIGEgZGlyZWN0b3J5IHRoYXQgbm8gbG9uZ2VyIGV4aXN0cyB0aGVuCisgIDpleGM6YEZpbGVOb3RGb3VuZEVycm9yYCB3aWxsIG5vIGxvbmdlciBiZSByYWlzZWQgYW5kIGluc3RlYWQKKyAgOm1ldGg6YH5pbXBvcnRsaWIubWFjaGluZXJ5LkZpbGVGaW5kZXIuZmluZF9zcGVjYCB3aWxsIHJldHVybiBgYE5vbmVgYAorICAqKndpdGhvdXQqKiBjYWNoaW5nIGBgTm9uZWBgIGluIDpkYXRhOmBzeXMucGF0aF9pbXBvcnRlcl9jYWNoZWAgd2hpY2ggaXMKKyAgZGlmZmVyZW50IHRoYW4gdGhlIHR5cGljYWwgY2FzZSAoOmlzc3VlOmAyMjgzNGApLgorCisqIEhUVFAgc3RhdHVzIGNvZGUgYW5kIG1lc3NhZ2VzIGZyb20gOm1vZDpgaHR0cC5jbGllbnRgIGFuZCA6bW9kOmBodHRwLnNlcnZlcmAKKyAgd2VyZSByZWZhY3RvcmVkIGludG8gYSBjb21tb24gOmNsYXNzOmB+aHR0cC5IVFRQU3RhdHVzYCBlbnVtLiAgVGhlIHZhbHVlcyBpbgorICA6bW9kOmBodHRwLmNsaWVudGAgYW5kIDptb2Q6YGh0dHAuc2VydmVyYCByZW1haW4gYXZhaWxhYmxlIGZvciBiYWNrd2FyZHMKKyAgY29tcGF0aWJpbGl0eS4gIChDb250cmlidXRlZCBieSBEZW1pYW4gQnJlY2h0IGluIDppc3N1ZTpgMjE3OTNgLikKKworKiBXaGVuIGFuIGltcG9ydCBsb2FkZXIgZGVmaW5lcyA6bWV0aDpgfmltcG9ydGxpYi5tYWNoaW5lcnkuTG9hZGVyLmV4ZWNfbW9kdWxlYAorICBpdCBpcyBub3cgZXhwZWN0ZWQgdG8gYWxzbyBkZWZpbmUKKyAgOm1ldGg6YH5pbXBvcnRsaWIubWFjaGluZXJ5LkxvYWRlci5jcmVhdGVfbW9kdWxlYCAocmFpc2VzIGEKKyAgOmV4YzpgRGVwcmVjYXRpb25XYXJuaW5nYCBub3csIHdpbGwgYmUgYW4gZXJyb3IgaW4gUHl0aG9uIDMuNikuIElmIHRoZSBsb2FkZXIKKyAgaW5oZXJpdHMgZnJvbSA6Y2xhc3M6YGltcG9ydGxpYi5hYmMuTG9hZGVyYCB0aGVuIHRoZXJlIGlzIG5vdGhpbmcgdG8gZG8sIGVsc2UKKyAgc2ltcGx5IGRlZmluZSA6bWV0aDpgfmltcG9ydGxpYi5tYWNoaW5lcnkuTG9hZGVyLmNyZWF0ZV9tb2R1bGVgIHRvIHJldHVybgorICBgYE5vbmVgYCAoOmlzc3VlOmAyMzAxNGApLgorCisqIDpmdW5jOmByZS5zcGxpdGAgYWx3YXlzIGlnbm9yZWQgZW1wdHkgcGF0dGVybiBtYXRjaGVzLCBzbyB0aGUgYGAneConYGAKKyAgcGF0dGVybiB3b3JrZWQgdGhlIHNhbWUgYXMgYGAneCsnYGAsIGFuZCB0aGUgYGAnXGInYGAgcGF0dGVybiBuZXZlciB3b3JrZWQuCisgIE5vdyA6ZnVuYzpgcmUuc3BsaXRgIHJhaXNlcyBhIHdhcm5pbmcgaWYgdGhlIHBhdHRlcm4gY291bGQgbWF0Y2gKKyAgYW4gZW1wdHkgc3RyaW5nLiAgRm9yIGNvbXBhdGliaWxpdHkgdXNlIHBhdHRlcm5zIHRoYXQgbmV2ZXIgbWF0Y2ggYW4gZW1wdHkKKyAgc3RyaW5nIChlLmcuIGBgJ3grJ2BgIGluc3RlYWQgb2YgYGAneConYGApLiAgUGF0dGVybnMgdGhhdCBjb3VsZCBvbmx5IG1hdGNoCisgIGFuIGVtcHR5IHN0cmluZyAoc3VjaCBhcyBgYCdcYidgYCkgbm93IHJhaXNlIGFuIGVycm9yLgorCitDaGFuZ2VzIGluIHRoZSBDIEFQSQorLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworKiBUaGUgdW5kb2N1bWVudGVkIDpjOm1lbWJlcjpgflB5TWVtb3J5Vmlld09iamVjdC5mb3JtYXRgIG1lbWJlciBvZiB0aGUKKyAgKG5vbi1wdWJsaWMpIDpjOnR5cGU6YFB5TWVtb3J5Vmlld09iamVjdGAgc3RydWN0dXJlIGhhcyBiZWVuIHJlbW92ZWQuCisKKyAgQWxsIGV4dGVuc2lvbnMgcmVseWluZyBvbiB0aGUgcmVsZXZhbnQgcGFydHMgaW4gYGBtZW1vcnlvYmplY3QuaGBgCisgIG11c3QgYmUgcmVidWlsdC4KKworKiBUaGUgOmM6dHlwZTpgUHlNZW1BbGxvY2F0b3JgIHN0cnVjdHVyZSB3YXMgcmVuYW1lZCB0bworICA6Yzp0eXBlOmBQeU1lbUFsbG9jYXRvckV4YCBhbmQgYSBuZXcgYGBjYWxsb2NgYCBmaWVsZCB3YXMgYWRkZWQuCisKKyogUmVtb3ZlZCBub24tZG9jdW1lbnRlZCBtYWNybyA6YzptYWNybzpgUHlPYmplY3RfUkVQUmAgd2hpY2ggbGVha2VkIHJlZmVyZW5jZXMuCisgIFVzZSBmb3JtYXQgY2hhcmFjdGVyIGBgJVJgYCBpbiA6YzpmdW5jOmBQeVVuaWNvZGVfRnJvbUZvcm1hdGAtbGlrZSBmdW5jdGlvbnMKKyAgdG8gZm9ybWF0IHRoZSA6ZnVuYzpgcmVwcmAgb2YgdGhlIG9iamVjdC4KZGlmZiAtLWdpdCBhL0RvYy93aGF0c25ldy9pbmRleC5yc3QgYi9Eb2Mvd2hhdHNuZXcvaW5kZXgucnN0CmluZGV4IDI5OTAyZTQuLmVkYjU1MDIgMTAwNjQ0Ci0tLSBhL0RvYy93aGF0c25ldy9pbmRleC5yc3QKKysrIGIvRG9jL3doYXRzbmV3L2luZGV4LnJzdApAQCAtMTEsNiArMTEsNyBAQAogLi4gdG9jdHJlZTo6CiAgICA6bWF4ZGVwdGg6IDIKIAorICAgMy41LnJzdAogICAgMy40LnJzdAogICAgMy4zLnJzdAogICAgMy4yLnJzdApkaWZmIC0tZ2l0IGEvR3JhbW1hci9HcmFtbWFyIGIvR3JhbW1hci9HcmFtbWFyCmluZGV4IGQ3YWFmZmQuLjZjMDEyYzAgMTAwNjQ0Ci0tLSBhL0dyYW1tYXIvR3JhbW1hcgorKysgYi9HcmFtbWFyL0dyYW1tYXIKQEAgLTQwLDcgKzQwLDcgQEAKIGV4cHJfc3RtdDogdGVzdGxpc3Rfc3Rhcl9leHByIChhdWdhc3NpZ24gKHlpZWxkX2V4cHJ8dGVzdGxpc3QpIHwKICAgICAgICAgICAgICAgICAgICAgICgnPScgKHlpZWxkX2V4cHJ8dGVzdGxpc3Rfc3Rhcl9leHByKSkqKQogdGVzdGxpc3Rfc3Rhcl9leHByOiAodGVzdHxzdGFyX2V4cHIpICgnLCcgKHRlc3R8c3Rhcl9leHByKSkqIFsnLCddCi1hdWdhc3NpZ246ICgnKz0nIHwgJy09JyB8ICcqPScgfCAnLz0nIHwgJyU9JyB8ICcmPScgfCAnfD0nIHwgJ149JyB8CithdWdhc3NpZ246ICgnKz0nIHwgJy09JyB8ICcqPScgfCAnQD0nIHwgJy89JyB8ICclPScgfCAnJj0nIHwgJ3w9JyB8ICdePScgfAogICAgICAgICAgICAgJzw8PScgfCAnPj49JyB8ICcqKj0nIHwgJy8vPScpCiAjIEZvciBub3JtYWwgYXNzaWdubWVudHMsIGFkZGl0aW9uYWwgcmVzdHJpY3Rpb25zIGVuZm9yY2VkIGJ5IHRoZSBpbnRlcnByZXRlcgogZGVsX3N0bXQ6ICdkZWwnIGV4cHJsaXN0CkBAIC04OSw3ICs4OSw3IEBACiBub3RfdGVzdDogJ25vdCcgbm90X3Rlc3QgfCBjb21wYXJpc29uCiBjb21wYXJpc29uOiBleHByIChjb21wX29wIGV4cHIpKgogIyA8PiBpc24ndCBhY3R1YWxseSBhIHZhbGlkIGNvbXBhcmlzb24gb3BlcmF0b3IgaW4gUHl0aG9uLiBJdCdzIGhlcmUgZm9yIHRoZQotIyBzYWtlIG9mIGEgX19mdXR1cmVfXyBpbXBvcnQgZGVzY3JpYmVkIGluIFBFUCA0MDEKKyMgc2FrZSBvZiBhIF9fZnV0dXJlX18gaW1wb3J0IGRlc2NyaWJlZCBpbiBQRVAgNDAxICh3aGljaCByZWFsbHkgd29ya3MgOi0pCiBjb21wX29wOiAnPCd8Jz4nfCc9PSd8Jz49J3wnPD0nfCc8Pid8JyE9J3wnaW4nfCdub3QnICdpbid8J2lzJ3wnaXMnICdub3QnCiBzdGFyX2V4cHI6ICcqJyBleHByCiBleHByOiB4b3JfZXhwciAoJ3wnIHhvcl9leHByKSoKQEAgLTk3LDcgKzk3LDcgQEAKIGFuZF9leHByOiBzaGlmdF9leHByICgnJicgc2hpZnRfZXhwcikqCiBzaGlmdF9leHByOiBhcml0aF9leHByICgoJzw8J3wnPj4nKSBhcml0aF9leHByKSoKIGFyaXRoX2V4cHI6IHRlcm0gKCgnKyd8Jy0nKSB0ZXJtKSoKLXRlcm06IGZhY3RvciAoKCcqJ3wnLyd8JyUnfCcvLycpIGZhY3RvcikqCit0ZXJtOiBmYWN0b3IgKCgnKid8J0AnfCcvJ3wnJSd8Jy8vJykgZmFjdG9yKSoKIGZhY3RvcjogKCcrJ3wnLSd8J34nKSBmYWN0b3IgfCBwb3dlcgogcG93ZXI6IGF0b20gdHJhaWxlciogWycqKicgZmFjdG9yXQogYXRvbTogKCcoJyBbeWllbGRfZXhwcnx0ZXN0bGlzdF9jb21wXSAnKScgfApkaWZmIC0tZ2l0IGEvSW5jbHVkZS9QeXRob24tYXN0LmggYi9JbmNsdWRlL1B5dGhvbi1hc3QuaAppbmRleCA2N2Q2NzdiLi4zN2U5YTYwIDEwMDY0NAotLS0gYS9JbmNsdWRlL1B5dGhvbi1hc3QuaAorKysgYi9JbmNsdWRlL1B5dGhvbi1hc3QuaApAQCAtMTUsOSArMTUsOSBAQAogCiB0eXBlZGVmIGVudW0gX2Jvb2xvcCB7IEFuZD0xLCBPcj0yIH0gYm9vbG9wX3R5OwogCi10eXBlZGVmIGVudW0gX29wZXJhdG9yIHsgQWRkPTEsIFN1Yj0yLCBNdWx0PTMsIERpdj00LCBNb2Q9NSwgUG93PTYsIExTaGlmdD03LAotICAgICAgICAgICAgICAgICAgICAgICAgIFJTaGlmdD04LCBCaXRPcj05LCBCaXRYb3I9MTAsIEJpdEFuZD0xMSwgRmxvb3JEaXY9MTIgfQotICAgICAgICAgICAgICAgICAgICAgICAgIG9wZXJhdG9yX3R5OwordHlwZWRlZiBlbnVtIF9vcGVyYXRvciB7IEFkZD0xLCBTdWI9MiwgTXVsdD0zLCBNYXRNdWx0PTQsIERpdj01LCBNb2Q9NiwgUG93PTcsCisgICAgICAgICAgICAgICAgICAgICAgICAgTFNoaWZ0PTgsIFJTaGlmdD05LCBCaXRPcj0xMCwgQml0WG9yPTExLCBCaXRBbmQ9MTIsCisgICAgICAgICAgICAgICAgICAgICAgICAgRmxvb3JEaXY9MTMgfSBvcGVyYXRvcl90eTsKIAogdHlwZWRlZiBlbnVtIF91bmFyeW9wIHsgSW52ZXJ0PTEsIE5vdD0yLCBVQWRkPTMsIFVTdWI9NCB9IHVuYXJ5b3BfdHk7CiAKZGlmZiAtLWdpdCBhL0luY2x1ZGUvUHl0aG9uLmggYi9JbmNsdWRlL1B5dGhvbi5oCmluZGV4IDJkZDgyOTAuLjQ2ZDJlY2UgMTAwNjQ0Ci0tLSBhL0luY2x1ZGUvUHl0aG9uLmgKKysrIGIvSW5jbHVkZS9QeXRob24uaApAQCAtMTEyLDYgKzExMiw3IEBACiAjaW5jbHVkZSAicHlhcmVuYS5oIgogI2luY2x1ZGUgIm1vZHN1cHBvcnQuaCIKICNpbmNsdWRlICJweXRob25ydW4uaCIKKyNpbmNsdWRlICJweWxpZmVjeWNsZS5oIgogI2luY2x1ZGUgImNldmFsLmgiCiAjaW5jbHVkZSAic3lzbW9kdWxlLmgiCiAjaW5jbHVkZSAiaW50cmNoZWNrLmgiCmRpZmYgLS1naXQgYS9JbmNsdWRlL2Fic3RyYWN0LmggYi9JbmNsdWRlL2Fic3RyYWN0LmgKaW5kZXggNmU4NTBiOC4uZGI3MGYyMSAxMDA2NDQKLS0tIGEvSW5jbHVkZS9hYnN0cmFjdC5oCisrKyBiL0luY2x1ZGUvYWJzdHJhY3QuaApAQCAtNjU4LDYgKzY1OCwxMiBAQAogICAgICBvMSpvMi4KICAgICAgICAqLwogCisgICAgIFB5QVBJX0ZVTkMoUHlPYmplY3QgKikgUHlOdW1iZXJfTWF0cml4TXVsdGlwbHkoUHlPYmplY3QgKm8xLCBQeU9iamVjdCAqbzIpOworCisgICAgICAgLyoKKyAgICAgVGhpcyBpcyB0aGUgZXF1aXZhbGVudCBvZiB0aGUgUHl0aG9uIGV4cHJlc3Npb246IG8xIEAgbzIuCisgICAgICAgKi8KKwogICAgICBQeUFQSV9GVU5DKFB5T2JqZWN0ICopIFB5TnVtYmVyX0Zsb29yRGl2aWRlKFB5T2JqZWN0ICpvMSwgUHlPYmplY3QgKm8yKTsKIAogICAgICAgIC8qCkBAIC04MzIsNiArODM4LDEyIEBACiAgICAgIG8xICo9IG8yLgogICAgICAgICovCiAKKyAgICAgUHlBUElfRlVOQyhQeU9iamVjdCAqKSBQeU51bWJlcl9JblBsYWNlTWF0cml4TXVsdGlwbHkoUHlPYmplY3QgKm8xLCBQeU9iamVjdCAqbzIpOworCisgICAgICAgLyoKKyAgICAgVGhpcyBpcyB0aGUgZXF1aXZhbGVudCBvZiB0aGUgUHl0aG9uIGV4cHJlc3Npb246IG8xIEA9IG8yLgorICAgICAgICovCisKICAgICAgUHlBUElfRlVOQyhQeU9iamVjdCAqKSBQeU51bWJlcl9JblBsYWNlRmxvb3JEaXZpZGUoUHlPYmplY3QgKm8xLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeU9iamVjdCAqbzIpOwogCmRpZmYgLS1naXQgYS9JbmNsdWRlL2J5dGVzX21ldGhvZHMuaCBiL0luY2x1ZGUvYnl0ZXNfbWV0aG9kcy5oCmluZGV4IDE0OThiOGYuLjExZDVmNDIgMTAwNjQ0Ci0tLSBhL0luY2x1ZGUvYnl0ZXNfbWV0aG9kcy5oCisrKyBiL0luY2x1ZGUvYnl0ZXNfbWV0aG9kcy5oCkBAIC0yMSw4ICsyMSw4IEBACiBleHRlcm4gdm9pZCBfUHlfYnl0ZXNfY2FwaXRhbGl6ZShjaGFyICpyZXN1bHQsIGNoYXIgKnMsIFB5X3NzaXplX3QgbGVuKTsKIGV4dGVybiB2b2lkIF9QeV9ieXRlc19zd2FwY2FzZShjaGFyICpyZXN1bHQsIGNoYXIgKnMsIFB5X3NzaXplX3QgbGVuKTsKIAotLyogVGhpcyBvbmUgZ2V0cyB0aGUgcmF3IGFyZ3VtZW50IGxpc3QuICovCi1leHRlcm4gUHlPYmplY3QqIF9QeV9ieXRlc19tYWtldHJhbnMoUHlPYmplY3QgKmFyZ3MpOworLyogVGhlIG1ha2V0cmFucygpIHN0YXRpYyBtZXRob2QuICovCitleHRlcm4gUHlPYmplY3QqIF9QeV9ieXRlc19tYWtldHJhbnMoUHlfYnVmZmVyICpmcm0sIFB5X2J1ZmZlciAqdG8pOwogCiAvKiBTaGFyZWQgX19kb2NfXyBzdHJpbmdzLiAqLwogZXh0ZXJuIGNvbnN0IGNoYXIgX1B5X2lzc3BhY2VfX2RvY19fW107CmRpZmYgLS1naXQgYS9JbmNsdWRlL2J5dGVzb2JqZWN0LmggYi9JbmNsdWRlL2J5dGVzb2JqZWN0LmgKaW5kZXggMGVlOGQzNi4uZTM3OWJhYyAxMDA2NDQKLS0tIGEvSW5jbHVkZS9ieXRlc29iamVjdC5oCisrKyBiL0luY2x1ZGUvYnl0ZXNvYmplY3QuaApAQCAtNjIsNiArNjIsNyBAQAogUHlBUElfRlVOQyh2b2lkKSBQeUJ5dGVzX0NvbmNhdEFuZERlbChQeU9iamVjdCAqKiwgUHlPYmplY3QgKik7CiAjaWZuZGVmIFB5X0xJTUlURURfQVBJCiBQeUFQSV9GVU5DKGludCkgX1B5Qnl0ZXNfUmVzaXplKFB5T2JqZWN0ICoqLCBQeV9zc2l6ZV90KTsKK1B5QVBJX0ZVTkMoUHlPYmplY3QgKikgX1B5Qnl0ZXNfRm9ybWF0KFB5T2JqZWN0ICosIFB5T2JqZWN0ICopOwogI2VuZGlmCiBQeUFQSV9GVU5DKFB5T2JqZWN0ICopIFB5Qnl0ZXNfRGVjb2RlRXNjYXBlKGNvbnN0IGNoYXIgKiwgUHlfc3NpemVfdCwKIAkJCQkJCSAgIGNvbnN0IGNoYXIgKiwgUHlfc3NpemVfdCwKZGlmZiAtLWdpdCBhL0luY2x1ZGUvY29kZS5oIGIvSW5jbHVkZS9jb2RlLmgKaW5kZXggN2M3ZTViZi4uZmYyYjk3ZSAxMDA2NDQKLS0tIGEvSW5jbHVkZS9jb2RlLmgKKysrIGIvSW5jbHVkZS9jb2RlLmgKQEAgLTIxLDcgKzIxLDEyIEBACiAgICAgUHlPYmplY3QgKmNvX3Zhcm5hbWVzOwkvKiB0dXBsZSBvZiBzdHJpbmdzIChsb2NhbCB2YXJpYWJsZSBuYW1lcykgKi8KICAgICBQeU9iamVjdCAqY29fZnJlZXZhcnM7CS8qIHR1cGxlIG9mIHN0cmluZ3MgKGZyZWUgdmFyaWFibGUgbmFtZXMpICovCiAgICAgUHlPYmplY3QgKmNvX2NlbGx2YXJzOyAgICAgIC8qIHR1cGxlIG9mIHN0cmluZ3MgKGNlbGwgdmFyaWFibGUgbmFtZXMpICovCi0gICAgLyogVGhlIHJlc3QgZG9lc24ndCBjb3VudCBmb3IgaGFzaCBvciBjb21wYXJpc29ucyAqLworICAgIC8qIFRoZSByZXN0IGFyZW4ndCB1c2VkIGluIGVpdGhlciBoYXNoIG9yIGNvbXBhcmlzb25zLCBleGNlcHQgZm9yCisgICAgICAgY29fbmFtZSAodXNlZCBpbiBib3RoKSBhbmQgY29fZmlyc3RsaW5lbm8gKHVzZWQgb25seSBpbgorICAgICAgIGNvbXBhcmlzb25zKS4gIFRoaXMgaXMgZG9uZSB0byBwcmVzZXJ2ZSB0aGUgbmFtZSBhbmQgbGluZSBudW1iZXIKKyAgICAgICBmb3IgdHJhY2ViYWNrcyBhbmQgZGVidWdnZXJzOyBvdGhlcndpc2UsIGNvbnN0YW50IGRlLWR1cGxpY2F0aW9uCisgICAgICAgd291bGQgY29sbGFwc2UgaWRlbnRpY2FsIGZ1bmN0aW9ucy9sYW1iZGFzIGRlZmluZWQgb24gZGlmZmVyZW50IGxpbmVzLgorICAgICovCiAgICAgdW5zaWduZWQgY2hhciAqY29fY2VsbDJhcmc7IC8qIE1hcHMgY2VsbCB2YXJzIHdoaWNoIGFyZSBhcmd1bWVudHMuICovCiAgICAgUHlPYmplY3QgKmNvX2ZpbGVuYW1lOwkvKiB1bmljb2RlICh3aGVyZSBpdCB3YXMgbG9hZGVkIGZyb20pICovCiAgICAgUHlPYmplY3QgKmNvX25hbWU7CQkvKiB1bmljb2RlIChuYW1lLCBmb3IgcmVmZXJlbmNlKSAqLwpkaWZmIC0tZ2l0IGEvSW5jbHVkZS9jb2RlY3MuaCBiL0luY2x1ZGUvY29kZWNzLmgKaW5kZXggYjMwODhlNC4uNDY2OTEzNSAxMDA2NDQKLS0tIGEvSW5jbHVkZS9jb2RlY3MuaAorKysgYi9JbmNsdWRlL2NvZGVjcy5oCkBAIC0yMjUsNiArMjI1LDkgQEAKIC8qIHJlcGxhY2UgdGhlIHVuaWNvZGUgZW5jb2RlIGVycm9yIHdpdGggYmFja3NsYXNoIGVzY2FwZXMgKFx4LCBcdSBhbmQgXFUpICovCiBQeUFQSV9GVU5DKFB5T2JqZWN0ICopIFB5Q29kZWNfQmFja3NsYXNoUmVwbGFjZUVycm9ycyhQeU9iamVjdCAqZXhjKTsKIAorLyogcmVwbGFjZSB0aGUgdW5pY29kZSBlbmNvZGUgZXJyb3Igd2l0aCBiYWNrc2xhc2ggZXNjYXBlcyAoXE4sIFx4LCBcdSBhbmQgXFUpICovCitQeUFQSV9GVU5DKFB5T2JqZWN0ICopIFB5Q29kZWNfTmFtZVJlcGxhY2VFcnJvcnMoUHlPYmplY3QgKmV4Yyk7CisKIFB5QVBJX0RBVEEoY29uc3QgY2hhciAqKSBQeV9oZXhkaWdpdHM7CiAKICNpZmRlZiBfX2NwbHVzcGx1cwpkaWZmIC0tZ2l0IGEvSW5jbHVkZS9jb21wbGV4b2JqZWN0LmggYi9JbmNsdWRlL2NvbXBsZXhvYmplY3QuaAppbmRleCAxOTM0ZjNiLi5jYjhjNTJjIDEwMDY0NAotLS0gYS9JbmNsdWRlL2NvbXBsZXhvYmplY3QuaAorKysgYi9JbmNsdWRlL2NvbXBsZXhvYmplY3QuaApAQCAtMTQsMjEgKzE0LDEzIEBACiAKIC8qIE9wZXJhdGlvbnMgb24gY29tcGxleCBudW1iZXJzIGZyb20gY29tcGxleG1vZHVsZS5jICovCiAKLSNkZWZpbmUgY19zdW0gX1B5X2Nfc3VtCi0jZGVmaW5lIGNfZGlmZiBfUHlfY19kaWZmCi0jZGVmaW5lIGNfbmVnIF9QeV9jX25lZwotI2RlZmluZSBjX3Byb2QgX1B5X2NfcHJvZAotI2RlZmluZSBjX3F1b3QgX1B5X2NfcXVvdAotI2RlZmluZSBjX3BvdyBfUHlfY19wb3cKLSNkZWZpbmUgY19hYnMgX1B5X2NfYWJzCi0KLVB5QVBJX0ZVTkMoUHlfY29tcGxleCkgY19zdW0oUHlfY29tcGxleCwgUHlfY29tcGxleCk7Ci1QeUFQSV9GVU5DKFB5X2NvbXBsZXgpIGNfZGlmZihQeV9jb21wbGV4LCBQeV9jb21wbGV4KTsKLVB5QVBJX0ZVTkMoUHlfY29tcGxleCkgY19uZWcoUHlfY29tcGxleCk7Ci1QeUFQSV9GVU5DKFB5X2NvbXBsZXgpIGNfcHJvZChQeV9jb21wbGV4LCBQeV9jb21wbGV4KTsKLVB5QVBJX0ZVTkMoUHlfY29tcGxleCkgY19xdW90KFB5X2NvbXBsZXgsIFB5X2NvbXBsZXgpOwotUHlBUElfRlVOQyhQeV9jb21wbGV4KSBjX3BvdyhQeV9jb21wbGV4LCBQeV9jb21wbGV4KTsKLVB5QVBJX0ZVTkMoZG91YmxlKSBjX2FicyhQeV9jb21wbGV4KTsKK1B5QVBJX0ZVTkMoUHlfY29tcGxleCkgX1B5X2Nfc3VtKFB5X2NvbXBsZXgsIFB5X2NvbXBsZXgpOworUHlBUElfRlVOQyhQeV9jb21wbGV4KSBfUHlfY19kaWZmKFB5X2NvbXBsZXgsIFB5X2NvbXBsZXgpOworUHlBUElfRlVOQyhQeV9jb21wbGV4KSBfUHlfY19uZWcoUHlfY29tcGxleCk7CitQeUFQSV9GVU5DKFB5X2NvbXBsZXgpIF9QeV9jX3Byb2QoUHlfY29tcGxleCwgUHlfY29tcGxleCk7CitQeUFQSV9GVU5DKFB5X2NvbXBsZXgpIF9QeV9jX3F1b3QoUHlfY29tcGxleCwgUHlfY29tcGxleCk7CitQeUFQSV9GVU5DKFB5X2NvbXBsZXgpIF9QeV9jX3BvdyhQeV9jb21wbGV4LCBQeV9jb21wbGV4KTsKK1B5QVBJX0ZVTkMoZG91YmxlKSBfUHlfY19hYnMoUHlfY29tcGxleCk7CiAjZW5kaWYKIAogLyogQ29tcGxleCBvYmplY3QgaW50ZXJmYWNlICovCmRpZmYgLS1naXQgYS9JbmNsdWRlL2RpY3RvYmplY3QuaCBiL0luY2x1ZGUvZGljdG9iamVjdC5oCmluZGV4IGVmMTIyYmQuLjA5ZGZmNTkgMTAwNjQ0Ci0tLSBhL0luY2x1ZGUvZGljdG9iamVjdC5oCisrKyBiL0luY2x1ZGUvZGljdG9iamVjdC5oCkBAIC01MCw2ICs1MCwxMCBAQAogCiBQeUFQSV9GVU5DKFB5T2JqZWN0ICopIFB5RGljdF9OZXcodm9pZCk7CiBQeUFQSV9GVU5DKFB5T2JqZWN0ICopIFB5RGljdF9HZXRJdGVtKFB5T2JqZWN0ICptcCwgUHlPYmplY3QgKmtleSk7CisjaWZuZGVmIFB5X0xJTUlURURfQVBJCitQeUFQSV9GVU5DKFB5T2JqZWN0ICopIF9QeURpY3RfR2V0SXRlbV9Lbm93bkhhc2goUHlPYmplY3QgKm1wLCBQeU9iamVjdCAqa2V5LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlfaGFzaF90IGhhc2gpOworI2VuZGlmCiBQeUFQSV9GVU5DKFB5T2JqZWN0ICopIFB5RGljdF9HZXRJdGVtV2l0aEVycm9yKFB5T2JqZWN0ICptcCwgUHlPYmplY3QgKmtleSk7CiBQeUFQSV9GVU5DKFB5T2JqZWN0ICopIF9QeURpY3RfR2V0SXRlbUlkV2l0aEVycm9yKFB5T2JqZWN0ICpkcCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IF9QeV9JZGVudGlmaWVyICprZXkpOwpAQCAtNTgsNiArNjIsMTAgQEAKICAgICBQeU9iamVjdCAqbXAsIFB5T2JqZWN0ICprZXksIFB5T2JqZWN0ICpkZWZhdWx0b2JqKTsKICNlbmRpZgogUHlBUElfRlVOQyhpbnQpIFB5RGljdF9TZXRJdGVtKFB5T2JqZWN0ICptcCwgUHlPYmplY3QgKmtleSwgUHlPYmplY3QgKml0ZW0pOworI2lmbmRlZiBQeV9MSU1JVEVEX0FQSQorUHlBUElfRlVOQyhpbnQpIF9QeURpY3RfU2V0SXRlbV9Lbm93bkhhc2goUHlPYmplY3QgKm1wLCBQeU9iamVjdCAqa2V5LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlPYmplY3QgKml0ZW0sIFB5X2hhc2hfdCBoYXNoKTsKKyNlbmRpZgogUHlBUElfRlVOQyhpbnQpIFB5RGljdF9EZWxJdGVtKFB5T2JqZWN0ICptcCwgUHlPYmplY3QgKmtleSk7CiBQeUFQSV9GVU5DKHZvaWQpIFB5RGljdF9DbGVhcihQeU9iamVjdCAqbXApOwogUHlBUElfRlVOQyhpbnQpIFB5RGljdF9OZXh0KApkaWZmIC0tZ2l0IGEvSW5jbHVkZS9maWxldXRpbHMuaCBiL0luY2x1ZGUvZmlsZXV0aWxzLmgKaW5kZXggZTliYWQ4MC4uYzVlZWJjNSAxMDA2NDQKLS0tIGEvSW5jbHVkZS9maWxldXRpbHMuaAorKysgYi9JbmNsdWRlL2ZpbGV1dGlscy5oCkBAIC03LDExICs3LDExIEBACiAKIFB5QVBJX0ZVTkMoUHlPYmplY3QgKikgX1B5X2RldmljZV9lbmNvZGluZyhpbnQpOwogCi1QeUFQSV9GVU5DKHdjaGFyX3QgKikgX1B5X2NoYXIyd2NoYXIoCitQeUFQSV9GVU5DKHdjaGFyX3QgKikgUHlfRGVjb2RlTG9jYWxlKAogICAgIGNvbnN0IGNoYXIgKmFyZywKICAgICBzaXplX3QgKnNpemUpOwogCi1QeUFQSV9GVU5DKGNoYXIqKSBfUHlfd2NoYXIyY2hhcigKK1B5QVBJX0ZVTkMoY2hhciopIFB5X0VuY29kZUxvY2FsZSgKICAgICBjb25zdCB3Y2hhcl90ICp0ZXh0LAogICAgIHNpemVfdCAqZXJyb3JfcG9zKTsKIApAQCAtNzAsNyArNzAsMTQgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCAqYXRvbWljX2ZsYWdfd29ya3MpOwogCiBQeUFQSV9GVU5DKGludCkgX1B5X2R1cChpbnQgZmQpOwotI2VuZGlmCisKKyNpZm5kZWYgTVNfV0lORE9XUworUHlBUElfRlVOQyhpbnQpIF9QeV9nZXRfYmxvY2tpbmcoaW50IGZkKTsKKworUHlBUElfRlVOQyhpbnQpIF9QeV9zZXRfYmxvY2tpbmcoaW50IGZkLCBpbnQgYmxvY2tpbmcpOworI2VuZGlmICAgLyogIU1TX1dJTkRPV1MgKi8KKworI2VuZGlmICAgLyogUHlfTElNSVRFRF9BUEkgKi8KIAogI2lmZGVmIF9fY3BsdXNwbHVzCiB9CmRpZmYgLS1naXQgYS9JbmNsdWRlL2dlbm9iamVjdC5oIGIvSW5jbHVkZS9nZW5vYmplY3QuaAppbmRleCA2NWYxZWNmLi4yMzU3MWU2IDEwMDY0NAotLS0gYS9JbmNsdWRlL2dlbm9iamVjdC5oCisrKyBiL0luY2x1ZGUvZ2Vub2JqZWN0LmgKQEAgLTI1LDYgKzI1LDEyIEBACiAKICAgICAvKiBMaXN0IG9mIHdlYWsgcmVmZXJlbmNlLiAqLwogICAgIFB5T2JqZWN0ICpnaV93ZWFrcmVmbGlzdDsKKworICAgIC8qIE5hbWUgb2YgdGhlIGdlbmVyYXRvci4gKi8KKyAgICBQeU9iamVjdCAqZ2lfbmFtZTsKKworICAgIC8qIFF1YWxpZmllZCBuYW1lIG9mIHRoZSBnZW5lcmF0b3IuICovCisgICAgUHlPYmplY3QgKmdpX3F1YWxuYW1lOwogfSBQeUdlbk9iamVjdDsKIAogUHlBUElfREFUQShQeVR5cGVPYmplY3QpIFB5R2VuX1R5cGU7CkBAIC0zMyw2ICszOSw4IEBACiAjZGVmaW5lIFB5R2VuX0NoZWNrRXhhY3Qob3ApIChQeV9UWVBFKG9wKSA9PSAmUHlHZW5fVHlwZSkKIAogUHlBUElfRlVOQyhQeU9iamVjdCAqKSBQeUdlbl9OZXcoc3RydWN0IF9mcmFtZSAqKTsKK1B5QVBJX0ZVTkMoUHlPYmplY3QgKikgUHlHZW5fTmV3V2l0aFF1YWxOYW1lKHN0cnVjdCBfZnJhbWUgKiwKKyAgICBQeU9iamVjdCAqbmFtZSwgUHlPYmplY3QgKnF1YWxuYW1lKTsKIFB5QVBJX0ZVTkMoaW50KSBQeUdlbl9OZWVkc0ZpbmFsaXppbmcoUHlHZW5PYmplY3QgKik7CiBQeUFQSV9GVU5DKGludCkgX1B5R2VuX0ZldGNoU3RvcEl0ZXJhdGlvblZhbHVlKFB5T2JqZWN0ICoqKTsKIFB5T2JqZWN0ICpfUHlHZW5fU2VuZChQeUdlbk9iamVjdCAqLCBQeU9iamVjdCAqKTsKZGlmZiAtLWdpdCBhL0luY2x1ZGUvbWVtb3J5b2JqZWN0LmggYi9JbmNsdWRlL21lbW9yeW9iamVjdC5oCmluZGV4IDM4MmNhOTIuLmFiNWVlMDkgMTAwNjQ0Ci0tLSBhL0luY2x1ZGUvbWVtb3J5b2JqZWN0LmgKKysrIGIvSW5jbHVkZS9tZW1vcnlvYmplY3QuaApAQCAtNDUsOSArNDUsNiBAQAogfSBfUHlNYW5hZ2VkQnVmZmVyT2JqZWN0OwogCiAKLS8qIGRlcHJlY2F0ZWQsIHJlbW92ZWQgaW4gMy41ICovCi0jZGVmaW5lIF9QeV9NRU1PUllWSUVXX01BWF9GT1JNQVQgMyAvKiBtdXN0IGJlID49IDMgKi8KLQogLyogbWVtb3J5dmlldyBzdGF0ZSBmbGFncyAqLwogI2RlZmluZSBfUHlfTUVNT1JZVklFV19SRUxFQVNFRCAgICAweDAwMSAgLyogYWNjZXNzIHRvIG1hc3RlciBidWZmZXIgYmxvY2tlZCAqLwogI2RlZmluZSBfUHlfTUVNT1JZVklFV19DICAgICAgICAgICAweDAwMiAgLyogQy1jb250aWd1b3VzIGxheW91dCAqLwpAQCAtNjIsNyArNTksNiBAQAogICAgIGludCBmbGFnczsgICAgICAgICAgICAgICAgICAgIC8qIHN0YXRlIGZsYWdzICovCiAgICAgUHlfc3NpemVfdCBleHBvcnRzOyAgICAgICAgICAgLyogbnVtYmVyIG9mIGJ1ZmZlciByZS1leHBvcnRzICovCiAgICAgUHlfYnVmZmVyIHZpZXc7ICAgICAgICAgICAgICAgLyogcHJpdmF0ZSBjb3B5IG9mIHRoZSBleHBvcnRlcidzIHZpZXcgKi8KLSAgICBjaGFyIGZvcm1hdFtfUHlfTUVNT1JZVklFV19NQVhfRk9STUFUXTsgLyogZGVwcmVjYXRlZCwgcmVtb3ZlZCBpbiAzLjUgKi8KICAgICBQeU9iamVjdCAqd2Vha3JlZmxpc3Q7CiAgICAgUHlfc3NpemVfdCBvYl9hcnJheVsxXTsgICAgICAgLyogc2hhcGUsIHN0cmlkZXMsIHN1Ym9mZnNldHMgKi8KIH0gUHlNZW1vcnlWaWV3T2JqZWN0OwpkaWZmIC0tZ2l0IGEvSW5jbHVkZS9tZXRob2RvYmplY3QuaCBiL0luY2x1ZGUvbWV0aG9kb2JqZWN0LmgKaW5kZXggM2NjMmVhOS4uMDIzNjIyOCAxMDA2NDQKLS0tIGEvSW5jbHVkZS9tZXRob2RvYmplY3QuaAorKysgYi9JbmNsdWRlL21ldGhvZG9iamVjdC5oCkBAIC03Nyw2ICs3Nyw3IEBACiAgICAgUHlNZXRob2REZWYgKm1fbWw7IC8qIERlc2NyaXB0aW9uIG9mIHRoZSBDIGZ1bmN0aW9uIHRvIGNhbGwgKi8KICAgICBQeU9iamVjdCAgICAqbV9zZWxmOyAvKiBQYXNzZWQgYXMgJ3NlbGYnIGFyZyB0byB0aGUgQyBmdW5jLCBjYW4gYmUgTlVMTCAqLwogICAgIFB5T2JqZWN0ICAgICptX21vZHVsZTsgLyogVGhlIF9fbW9kdWxlX18gYXR0cmlidXRlLCBjYW4gYmUgYW55dGhpbmcgKi8KKyAgICBQeU9iamVjdCAgICAqbV93ZWFrcmVmbGlzdDsgLyogTGlzdCBvZiB3ZWFrIHJlZmVyZW5jZXMgKi8KIH0gUHlDRnVuY3Rpb25PYmplY3Q7CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvSW5jbHVkZS9vYmplY3QuaCBiL0luY2x1ZGUvb2JqZWN0LmgKaW5kZXggOTMwNjI4OC4uZTI5NjA4YSAxMDA2NDQKLS0tIGEvSW5jbHVkZS9vYmplY3QuaAorKysgYi9JbmNsdWRlL29iamVjdC5oCkBAIC02NSw2ICs2NSw3IEBACiAjZXJyb3IgUHlfTElNSVRFRF9BUEkgaXMgaW5jb21wYXRpYmxlIHdpdGggUHlfREVCVUcsIFB5X1RSQUNFX1JFRlMsIGFuZCBQeV9SRUZfREVCVUcKICNlbmRpZgogCisKICNpZmRlZiBQeV9UUkFDRV9SRUZTCiAvKiBEZWZpbmUgcG9pbnRlcnMgdG8gc3VwcG9ydCBhIGRvdWJseS1saW5rZWQgbGlzdCBvZiBhbGwgbGl2ZSBoZWFwIG9iamVjdHMuICovCiAjZGVmaW5lIF9QeU9iamVjdF9IRUFEX0VYVFJBICAgICAgICAgICAgXApAQCAtMjc1LDYgKzI3Niw5IEBACiAgICAgYmluYXJ5ZnVuYyBuYl9pbnBsYWNlX3RydWVfZGl2aWRlOwogCiAgICAgdW5hcnlmdW5jIG5iX2luZGV4OworCisgICAgYmluYXJ5ZnVuYyBuYl9tYXRyaXhfbXVsdGlwbHk7CisgICAgYmluYXJ5ZnVuYyBuYl9pbnBsYWNlX21hdHJpeF9tdWx0aXBseTsKIH0gUHlOdW1iZXJNZXRob2RzOwogCiB0eXBlZGVmIHN0cnVjdCB7CkBAIC01NzIsMTMgKzU3Niw2IEBACiBQeUFQSV9GVU5DKGludCkgUHlfUmVwckVudGVyKFB5T2JqZWN0ICopOwogUHlBUElfRlVOQyh2b2lkKSBQeV9SZXByTGVhdmUoUHlPYmplY3QgKik7CiAKLSNpZm5kZWYgUHlfTElNSVRFRF9BUEkKLS8qIEhlbHBlciBmb3IgcGFzc2luZyBvYmplY3RzIHRvIHByaW50ZiBhbmQgdGhlIGxpa2UuCi0gICBMZWFrcyByZWZjb3VudHMuICBEb24ndCB1c2UgaXQhCi0qLwotI2RlZmluZSBQeU9iamVjdF9SRVBSKG9iaikgUHlVbmljb2RlX0FzVVRGOChQeU9iamVjdF9SZXByKG9iaikpCi0jZW5kaWYKLQogLyogRmxhZyBiaXRzIGZvciBwcmludGluZzogKi8KICNkZWZpbmUgUHlfUFJJTlRfUkFXICAgIDEgICAgICAgLyogTm8gc3RyaW5nIHF1b3RlcyBldGMuICovCiAKQEAgLTcxNCwxMSArNzExLDE3IEBACiAgICAgICAgICAgICAgICAgX1B5X05lZ2F0aXZlUmVmY291bnQoX19GSUxFX18sIF9fTElORV9fLCAgICAgICAgXAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChQeU9iamVjdCAqKShPUCkpOyAgICAgICAgIFwKIH0KKy8qIFB5X1JFRl9ERUJVRyBhbHNvIGNvbnRyb2xzIHRoZSBkaXNwbGF5IG9mIHJlZmNvdW50cyBhbmQgbWVtb3J5IGJsb2NrCisgKiBhbGxvY2F0aW9ucyBhdCB0aGUgaW50ZXJhY3RpdmUgcHJvbXB0IGFuZCBhdCBpbnRlcnByZXRlciBzaHV0ZG93bgorICovCitQeUFQSV9GVU5DKHZvaWQpIF9QeURlYnVnX1ByaW50VG90YWxSZWZzKHZvaWQpOworI2RlZmluZSBfUFlfREVCVUdfUFJJTlRfVE9UQUxfUkVGUygpIF9QeURlYnVnX1ByaW50VG90YWxSZWZzKCkKICNlbHNlCiAjZGVmaW5lIF9QeV9JTkNfUkVGVE9UQUwKICNkZWZpbmUgX1B5X0RFQ19SRUZUT1RBTAogI2RlZmluZSBfUHlfUkVGX0RFQlVHX0NPTU1BCiAjZGVmaW5lIF9QeV9DSEVDS19SRUZDTlQoT1ApICAgIC8qIGEgc2VtaWNvbG9uICovOworI2RlZmluZSBfUFlfREVCVUdfUFJJTlRfVE9UQUxfUkVGUygpCiAjZW5kaWYgLyogUHlfUkVGX0RFQlVHICovCiAKICNpZmRlZiBDT1VOVF9BTExPQ1MKZGlmZiAtLWdpdCBhL0luY2x1ZGUvb2JqaW1wbC5oIGIvSW5jbHVkZS9vYmppbXBsLmgKaW5kZXggM2YyMWI3MC4uNjViNmQ5MSAxMDA2NDQKLS0tIGEvSW5jbHVkZS9vYmppbXBsLmgKKysrIGIvSW5jbHVkZS9vYmppbXBsLmgKQEAgLTk1LDYgKzk1LDcgQEAKICAgIHRoZSByYXcgbWVtb3J5LgogKi8KIFB5QVBJX0ZVTkModm9pZCAqKSBQeU9iamVjdF9NYWxsb2Moc2l6ZV90IHNpemUpOworUHlBUElfRlVOQyh2b2lkICopIFB5T2JqZWN0X0NhbGxvYyhzaXplX3QgbmVsZW0sIHNpemVfdCBlbHNpemUpOwogUHlBUElfRlVOQyh2b2lkICopIFB5T2JqZWN0X1JlYWxsb2Modm9pZCAqcHRyLCBzaXplX3QgbmV3X3NpemUpOwogUHlBUElfRlVOQyh2b2lkKSBQeU9iamVjdF9GcmVlKHZvaWQgKnB0cik7CiAKQEAgLTMyMSw3ICszMjIsOCBAQAogICAgICAgICAoIVB5VHVwbGVfQ2hlY2tFeGFjdChvYmopIHx8IF9QeU9iamVjdF9HQ19JU19UUkFDS0VEKG9iaikpKQogI2VuZGlmIC8qIFB5X0xJTUlURURfQVBJICovCiAKLVB5QVBJX0ZVTkMoUHlPYmplY3QgKikgX1B5T2JqZWN0X0dDX01hbGxvYyhzaXplX3QpOworUHlBUElfRlVOQyhQeU9iamVjdCAqKSBfUHlPYmplY3RfR0NfTWFsbG9jKHNpemVfdCBzaXplKTsKK1B5QVBJX0ZVTkMoUHlPYmplY3QgKikgX1B5T2JqZWN0X0dDX0NhbGxvYyhzaXplX3Qgc2l6ZSk7CiBQeUFQSV9GVU5DKFB5T2JqZWN0ICopIF9QeU9iamVjdF9HQ19OZXcoUHlUeXBlT2JqZWN0ICopOwogUHlBUElfRlVOQyhQeVZhck9iamVjdCAqKSBfUHlPYmplY3RfR0NfTmV3VmFyKFB5VHlwZU9iamVjdCAqLCBQeV9zc2l6ZV90KTsKIFB5QVBJX0ZVTkModm9pZCkgUHlPYmplY3RfR0NfVHJhY2sodm9pZCAqKTsKZGlmZiAtLWdpdCBhL0luY2x1ZGUvb3Bjb2RlLmggYi9JbmNsdWRlL29wY29kZS5oCmluZGV4IDA5MzZmMmQuLjA2MzhiNTQgMTAwNjQ0Ci0tLSBhL0luY2x1ZGUvb3Bjb2RlLmgKKysrIGIvSW5jbHVkZS9vcGNvZGUuaApAQCAtMSwzICsxLDQgQEAKKy8qIEF1dG8tZ2VuZXJhdGVkIGJ5IFRvb2xzL3NjcmlwdHMvZ2VuZXJhdGVfb3Bjb2RlX2gucHkgKi8KICNpZm5kZWYgUHlfT1BDT0RFX0gKICNkZWZpbmUgUHlfT1BDT0RFX0gKICNpZmRlZiBfX2NwbHVzcGx1cwpAQCAtNSwxNDEgKzYsMTExIEBACiAjZW5kaWYKIAogCi0vKiBJbnN0cnVjdGlvbiBvcGNvZGVzIGZvciBjb21waWxlZCBjb2RlICovCi0KLSNkZWZpbmUgUE9QX1RPUCAgICAgICAgIDEKLSNkZWZpbmUgUk9UX1RXTyAgICAgICAgIDIKLSNkZWZpbmUgUk9UX1RIUkVFICAgICAgIDMKLSNkZWZpbmUgRFVQX1RPUCAgICAgICAgIDQKLSNkZWZpbmUgRFVQX1RPUF9UV08gICAgIDUKLSNkZWZpbmUgTk9QICAgICAgICAgICAgIDkKLQotI2RlZmluZSBVTkFSWV9QT1NJVElWRSAgMTAKLSNkZWZpbmUgVU5BUllfTkVHQVRJVkUgIDExCi0jZGVmaW5lIFVOQVJZX05PVCAgICAgICAxMgotCi0jZGVmaW5lIFVOQVJZX0lOVkVSVCAgICAxNQotCi0jZGVmaW5lIEJJTkFSWV9QT1dFUiAgICAxOQotCi0jZGVmaW5lIEJJTkFSWV9NVUxUSVBMWSAyMAotCi0jZGVmaW5lIEJJTkFSWV9NT0RVTE8gICAyMgotI2RlZmluZSBCSU5BUllfQUREICAgICAgMjMKLSNkZWZpbmUgQklOQVJZX1NVQlRSQUNUIDI0Ci0jZGVmaW5lIEJJTkFSWV9TVUJTQ1IgICAyNQotI2RlZmluZSBCSU5BUllfRkxPT1JfRElWSURFIDI2Ci0jZGVmaW5lIEJJTkFSWV9UUlVFX0RJVklERSAyNwotI2RlZmluZSBJTlBMQUNFX0ZMT09SX0RJVklERSAyOAotI2RlZmluZSBJTlBMQUNFX1RSVUVfRElWSURFIDI5Ci0KLSNkZWZpbmUgU1RPUkVfTUFQICAgICAgIDU0Ci0jZGVmaW5lIElOUExBQ0VfQUREICAgICA1NQotI2RlZmluZSBJTlBMQUNFX1NVQlRSQUNUICAgICAgICA1NgotI2RlZmluZSBJTlBMQUNFX01VTFRJUExZICAgICAgICA1NwotCi0jZGVmaW5lIElOUExBQ0VfTU9EVUxPICA1OQotI2RlZmluZSBTVE9SRV9TVUJTQ1IgICAgNjAKLSNkZWZpbmUgREVMRVRFX1NVQlNDUiAgIDYxCi0KLSNkZWZpbmUgQklOQVJZX0xTSElGVCAgIDYyCi0jZGVmaW5lIEJJTkFSWV9SU0hJRlQgICA2MwotI2RlZmluZSBCSU5BUllfQU5EICAgICAgNjQKLSNkZWZpbmUgQklOQVJZX1hPUiAgICAgIDY1Ci0jZGVmaW5lIEJJTkFSWV9PUiAgICAgICA2NgotI2RlZmluZSBJTlBMQUNFX1BPV0VSICAgNjcKLSNkZWZpbmUgR0VUX0lURVIgICAgICAgIDY4Ci0jZGVmaW5lIFBSSU5UX0VYUFIgICAgICA3MAotI2RlZmluZSBMT0FEX0JVSUxEX0NMQVNTIDcxCi0jZGVmaW5lIFlJRUxEX0ZST00gICAgICA3MgotCi0jZGVmaW5lIElOUExBQ0VfTFNISUZUICA3NQotI2RlZmluZSBJTlBMQUNFX1JTSElGVCAgNzYKLSNkZWZpbmUgSU5QTEFDRV9BTkQgICAgIDc3Ci0jZGVmaW5lIElOUExBQ0VfWE9SICAgICA3OAotI2RlZmluZSBJTlBMQUNFX09SICAgICAgNzkKLSNkZWZpbmUgQlJFQUtfTE9PUCAgICAgIDgwCi0jZGVmaW5lIFdJVEhfQ0xFQU5VUCAgICA4MQotCi0jZGVmaW5lIFJFVFVSTl9WQUxVRSAgICA4MwotI2RlZmluZSBJTVBPUlRfU1RBUiAgICAgODQKLQotI2RlZmluZSBZSUVMRF9WQUxVRSAgICAgODYKLSNkZWZpbmUgUE9QX0JMT0NLICAgICAgIDg3Ci0jZGVmaW5lIEVORF9GSU5BTExZICAgICA4OAotI2RlZmluZSBQT1BfRVhDRVBUICAgICAgODkKLQotI2RlZmluZSBIQVZFX0FSR1VNRU5UICAgOTAgICAgICAvKiBPcGNvZGVzIGZyb20gaGVyZSBoYXZlIGFuIGFyZ3VtZW50OiAqLwotCi0jZGVmaW5lIFNUT1JFX05BTUUgICAgICA5MCAgICAgIC8qIEluZGV4IGluIG5hbWUgbGlzdCAqLwotI2RlZmluZSBERUxFVEVfTkFNRSAgICAgOTEgICAgICAvKiAiIiAqLwotI2RlZmluZSBVTlBBQ0tfU0VRVUVOQ0UgOTIgICAgICAvKiBOdW1iZXIgb2Ygc2VxdWVuY2UgaXRlbXMgKi8KLSNkZWZpbmUgRk9SX0lURVIgICAgICAgIDkzCi0jZGVmaW5lIFVOUEFDS19FWCAgICAgICA5NCAgICAgIC8qIE51bSBpdGVtcyBiZWZvcmUgdmFyaWFibGUgcGFydCArCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChOdW0gaXRlbXMgYWZ0ZXIgdmFyaWFibGUgcGFydCA8PCA4KSAqLwotCi0jZGVmaW5lIFNUT1JFX0FUVFIgICAgICA5NSAgICAgIC8qIEluZGV4IGluIG5hbWUgbGlzdCAqLwotI2RlZmluZSBERUxFVEVfQVRUUiAgICAgOTYgICAgICAvKiAiIiAqLwotI2RlZmluZSBTVE9SRV9HTE9CQUwgICAgOTcgICAgICAvKiAiIiAqLwotI2RlZmluZSBERUxFVEVfR0xPQkFMICAgOTggICAgICAvKiAiIiAqLwotCi0jZGVmaW5lIExPQURfQ09OU1QgICAgICAxMDAgICAgIC8qIEluZGV4IGluIGNvbnN0IGxpc3QgKi8KLSNkZWZpbmUgTE9BRF9OQU1FICAgICAgIDEwMSAgICAgLyogSW5kZXggaW4gbmFtZSBsaXN0ICovCi0jZGVmaW5lIEJVSUxEX1RVUExFICAgICAxMDIgICAgIC8qIE51bWJlciBvZiB0dXBsZSBpdGVtcyAqLwotI2RlZmluZSBCVUlMRF9MSVNUICAgICAgMTAzICAgICAvKiBOdW1iZXIgb2YgbGlzdCBpdGVtcyAqLwotI2RlZmluZSBCVUlMRF9TRVQgICAgICAgMTA0ICAgICAvKiBOdW1iZXIgb2Ygc2V0IGl0ZW1zICovCi0jZGVmaW5lIEJVSUxEX01BUCAgICAgICAxMDUgICAgIC8qIEFsd2F5cyB6ZXJvIGZvciBub3cgKi8KLSNkZWZpbmUgTE9BRF9BVFRSICAgICAgIDEwNiAgICAgLyogSW5kZXggaW4gbmFtZSBsaXN0ICovCi0jZGVmaW5lIENPTVBBUkVfT1AgICAgICAxMDcgICAgIC8qIENvbXBhcmlzb24gb3BlcmF0b3IgKi8KLSNkZWZpbmUgSU1QT1JUX05BTUUgICAgIDEwOCAgICAgLyogSW5kZXggaW4gbmFtZSBsaXN0ICovCi0jZGVmaW5lIElNUE9SVF9GUk9NICAgICAxMDkgICAgIC8qIEluZGV4IGluIG5hbWUgbGlzdCAqLwotCi0jZGVmaW5lIEpVTVBfRk9SV0FSRCAgICAxMTAgICAgIC8qIE51bWJlciBvZiBieXRlcyB0byBza2lwICovCi0jZGVmaW5lIEpVTVBfSUZfRkFMU0VfT1JfUE9QIDExMSAgICAgICAgLyogVGFyZ2V0IGJ5dGUgb2Zmc2V0IGZyb20gYmVnaW5uaW5nIG9mIGNvZGUgKi8KLSNkZWZpbmUgSlVNUF9JRl9UUlVFX09SX1BPUCAxMTIgLyogIiIgKi8KLSNkZWZpbmUgSlVNUF9BQlNPTFVURSAgIDExMyAgICAgLyogIiIgKi8KLSNkZWZpbmUgUE9QX0pVTVBfSUZfRkFMU0UgMTE0ICAgLyogIiIgKi8KLSNkZWZpbmUgUE9QX0pVTVBfSUZfVFJVRSAxMTUgICAgLyogIiIgKi8KLQotI2RlZmluZSBMT0FEX0dMT0JBTCAgICAgMTE2ICAgICAvKiBJbmRleCBpbiBuYW1lIGxpc3QgKi8KLQotI2RlZmluZSBDT05USU5VRV9MT09QICAgMTE5ICAgICAvKiBTdGFydCBvZiBsb29wIChhYnNvbHV0ZSkgKi8KLSNkZWZpbmUgU0VUVVBfTE9PUCAgICAgIDEyMCAgICAgLyogVGFyZ2V0IGFkZHJlc3MgKHJlbGF0aXZlKSAqLwotI2RlZmluZSBTRVRVUF9FWENFUFQgICAgMTIxICAgICAvKiAiIiAqLwotI2RlZmluZSBTRVRVUF9GSU5BTExZICAgMTIyICAgICAvKiAiIiAqLwotCi0jZGVmaW5lIExPQURfRkFTVCAgICAgICAxMjQgICAgIC8qIExvY2FsIHZhcmlhYmxlIG51bWJlciAqLwotI2RlZmluZSBTVE9SRV9GQVNUICAgICAgMTI1ICAgICAvKiBMb2NhbCB2YXJpYWJsZSBudW1iZXIgKi8KLSNkZWZpbmUgREVMRVRFX0ZBU1QgICAgIDEyNiAgICAgLyogTG9jYWwgdmFyaWFibGUgbnVtYmVyICovCi0KLSNkZWZpbmUgUkFJU0VfVkFSQVJHUyAgIDEzMCAgICAgLyogTnVtYmVyIG9mIHJhaXNlIGFyZ3VtZW50cyAoMSwgMiBvciAzKSAqLwotLyogQ0FMTF9GVU5DVElPTl9YWFggb3Bjb2RlcyBkZWZpbmVkIGJlbG93IGRlcGVuZCBvbiB0aGlzIGRlZmluaXRpb24gKi8KLSNkZWZpbmUgQ0FMTF9GVU5DVElPTiAgIDEzMSAgICAgLyogI2FyZ3MgKyAoI2t3YXJnczw8OCkgKi8KLSNkZWZpbmUgTUFLRV9GVU5DVElPTiAgIDEzMiAgICAgLyogI2RlZmF1bHRzICsgI2t3ZGVmYXVsdHM8PDggKyAjYW5ub3RhdGlvbnM8PDE2ICovCi0jZGVmaW5lIEJVSUxEX1NMSUNFICAgICAxMzMgICAgIC8qIE51bWJlciBvZiBpdGVtcyAqLwotCi0jZGVmaW5lIE1BS0VfQ0xPU1VSRSAgICAxMzQgICAgIC8qIHNhbWUgYXMgTUFLRV9GVU5DVElPTiAqLwotI2RlZmluZSBMT0FEX0NMT1NVUkUgICAgMTM1ICAgICAvKiBMb2FkIGZyZWUgdmFyaWFibGUgZnJvbSBjbG9zdXJlICovCi0jZGVmaW5lIExPQURfREVSRUYgICAgICAxMzYgICAgIC8qIExvYWQgYW5kIGRlcmVmZXJlbmNlIGZyb20gY2xvc3VyZSBjZWxsICovIAotI2RlZmluZSBTVE9SRV9ERVJFRiAgICAgMTM3ICAgICAvKiBTdG9yZSBpbnRvIGNlbGwgKi8gCi0jZGVmaW5lIERFTEVURV9ERVJFRiAgICAxMzggICAgIC8qIERlbGV0ZSBjbG9zdXJlIGNlbGwgKi8gCi0KLS8qIFRoZSBuZXh0IDMgb3Bjb2RlcyBtdXN0IGJlIGNvbnRpZ3VvdXMgYW5kIHNhdGlzZnkKLSAgIChDQUxMX0ZVTkNUSU9OX1ZBUiAtIENBTExfRlVOQ1RJT04pICYgMyA9PSAxICAqLwotI2RlZmluZSBDQUxMX0ZVTkNUSU9OX1ZBUiAgICAgICAgICAxNDAgIC8qICNhcmdzICsgKCNrd2FyZ3M8PDgpICovCi0jZGVmaW5lIENBTExfRlVOQ1RJT05fS1cgICAgICAgICAgIDE0MSAgLyogI2FyZ3MgKyAoI2t3YXJnczw8OCkgKi8KLSNkZWZpbmUgQ0FMTF9GVU5DVElPTl9WQVJfS1cgICAgICAgMTQyICAvKiAjYXJncyArICgja3dhcmdzPDw4KSAqLwotCi0jZGVmaW5lIFNFVFVQX1dJVEggMTQzCi0KLS8qIFN1cHBvcnQgZm9yIG9wYXJncyBtb3JlIHRoYW4gMTYgYml0cyBsb25nICovCi0jZGVmaW5lIEVYVEVOREVEX0FSRyAgMTQ0Ci0KLSNkZWZpbmUgTElTVF9BUFBFTkQgICAgIDE0NQotI2RlZmluZSBTRVRfQUREICAgICAgICAgMTQ2Ci0jZGVmaW5lIE1BUF9BREQgICAgICAgICAxNDcKLQotI2RlZmluZSBMT0FEX0NMQVNTREVSRUYgICAxNDgKKyAgICAvKiBJbnN0cnVjdGlvbiBvcGNvZGVzIGZvciBjb21waWxlZCBjb2RlICovCisjZGVmaW5lIFBPUF9UT1AgICAgICAgICAgICAgCTEgIAorI2RlZmluZSBST1RfVFdPICAgICAgICAgICAgIAkyICAKKyNkZWZpbmUgUk9UX1RIUkVFICAgICAgICAgICAJMyAgCisjZGVmaW5lIERVUF9UT1AgICAgICAgICAgICAgCTQgIAorI2RlZmluZSBEVVBfVE9QX1RXTyAgICAgICAgIAk1ICAKKyNkZWZpbmUgTk9QICAgICAgICAgICAgICAgICAJOSAgCisjZGVmaW5lIFVOQVJZX1BPU0lUSVZFICAgICAgCTEwIAorI2RlZmluZSBVTkFSWV9ORUdBVElWRSAgICAgIAkxMSAKKyNkZWZpbmUgVU5BUllfTk9UICAgICAgICAgICAJMTIgCisjZGVmaW5lIFVOQVJZX0lOVkVSVCAgICAgICAgCTE1IAorI2RlZmluZSBCSU5BUllfTUFUUklYX01VTFRJUExZCTE2IAorI2RlZmluZSBJTlBMQUNFX01BVFJJWF9NVUxUSVBMWQkxNyAKKyNkZWZpbmUgQklOQVJZX1BPV0VSICAgICAgICAJMTkgCisjZGVmaW5lIEJJTkFSWV9NVUxUSVBMWSAgICAgCTIwIAorI2RlZmluZSBCSU5BUllfTU9EVUxPICAgICAgIAkyMiAKKyNkZWZpbmUgQklOQVJZX0FERCAgICAgICAgICAJMjMgCisjZGVmaW5lIEJJTkFSWV9TVUJUUkFDVCAgICAgCTI0IAorI2RlZmluZSBCSU5BUllfU1VCU0NSICAgICAgIAkyNSAKKyNkZWZpbmUgQklOQVJZX0ZMT09SX0RJVklERSAJMjYgCisjZGVmaW5lIEJJTkFSWV9UUlVFX0RJVklERSAgCTI3IAorI2RlZmluZSBJTlBMQUNFX0ZMT09SX0RJVklERQkyOCAKKyNkZWZpbmUgSU5QTEFDRV9UUlVFX0RJVklERSAJMjkgCisjZGVmaW5lIFNUT1JFX01BUCAgICAgICAgICAgCTU0IAorI2RlZmluZSBJTlBMQUNFX0FERCAgICAgICAgIAk1NSAKKyNkZWZpbmUgSU5QTEFDRV9TVUJUUkFDVCAgICAJNTYgCisjZGVmaW5lIElOUExBQ0VfTVVMVElQTFkgICAgCTU3IAorI2RlZmluZSBJTlBMQUNFX01PRFVMTyAgICAgIAk1OSAKKyNkZWZpbmUgU1RPUkVfU1VCU0NSICAgICAgICAJNjAgCisjZGVmaW5lIERFTEVURV9TVUJTQ1IgICAgICAgCTYxIAorI2RlZmluZSBCSU5BUllfTFNISUZUICAgICAgIAk2MiAKKyNkZWZpbmUgQklOQVJZX1JTSElGVCAgICAgICAJNjMgCisjZGVmaW5lIEJJTkFSWV9BTkQgICAgICAgICAgCTY0IAorI2RlZmluZSBCSU5BUllfWE9SICAgICAgICAgIAk2NSAKKyNkZWZpbmUgQklOQVJZX09SICAgICAgICAgICAJNjYgCisjZGVmaW5lIElOUExBQ0VfUE9XRVIgICAgICAgCTY3IAorI2RlZmluZSBHRVRfSVRFUiAgICAgICAgICAgIAk2OCAKKyNkZWZpbmUgUFJJTlRfRVhQUiAgICAgICAgICAJNzAgCisjZGVmaW5lIExPQURfQlVJTERfQ0xBU1MgICAgCTcxIAorI2RlZmluZSBZSUVMRF9GUk9NICAgICAgICAgIAk3MiAKKyNkZWZpbmUgSU5QTEFDRV9MU0hJRlQgICAgICAJNzUgCisjZGVmaW5lIElOUExBQ0VfUlNISUZUICAgICAgCTc2IAorI2RlZmluZSBJTlBMQUNFX0FORCAgICAgICAgIAk3NyAKKyNkZWZpbmUgSU5QTEFDRV9YT1IgICAgICAgICAJNzggCisjZGVmaW5lIElOUExBQ0VfT1IgICAgICAgICAgCTc5IAorI2RlZmluZSBCUkVBS19MT09QICAgICAgICAgIAk4MCAKKyNkZWZpbmUgV0lUSF9DTEVBTlVQICAgICAgICAJODEgCisjZGVmaW5lIFJFVFVSTl9WQUxVRSAgICAgICAgCTgzIAorI2RlZmluZSBJTVBPUlRfU1RBUiAgICAgICAgIAk4NCAKKyNkZWZpbmUgWUlFTERfVkFMVUUgICAgICAgICAJODYgCisjZGVmaW5lIFBPUF9CTE9DSyAgICAgICAgICAgCTg3IAorI2RlZmluZSBFTkRfRklOQUxMWSAgICAgICAgIAk4OCAKKyNkZWZpbmUgUE9QX0VYQ0VQVCAgICAgICAgICAJODkgCisjZGVmaW5lIEhBVkVfQVJHVU1FTlQgICAgICAgCTkwIAorI2RlZmluZSBTVE9SRV9OQU1FICAgICAgICAgIAk5MCAKKyNkZWZpbmUgREVMRVRFX05BTUUgICAgICAgICAJOTEgCisjZGVmaW5lIFVOUEFDS19TRVFVRU5DRSAgICAgCTkyIAorI2RlZmluZSBGT1JfSVRFUiAgICAgICAgICAgIAk5MyAKKyNkZWZpbmUgVU5QQUNLX0VYICAgICAgICAgICAJOTQgCisjZGVmaW5lIFNUT1JFX0FUVFIgICAgICAgICAgCTk1IAorI2RlZmluZSBERUxFVEVfQVRUUiAgICAgICAgIAk5NiAKKyNkZWZpbmUgU1RPUkVfR0xPQkFMICAgICAgICAJOTcgCisjZGVmaW5lIERFTEVURV9HTE9CQUwgICAgICAgCTk4IAorI2RlZmluZSBMT0FEX0NPTlNUICAgICAgICAgIAkxMDAKKyNkZWZpbmUgTE9BRF9OQU1FICAgICAgICAgICAJMTAxCisjZGVmaW5lIEJVSUxEX1RVUExFICAgICAgICAgCTEwMgorI2RlZmluZSBCVUlMRF9MSVNUICAgICAgICAgIAkxMDMKKyNkZWZpbmUgQlVJTERfU0VUICAgICAgICAgICAJMTA0CisjZGVmaW5lIEJVSUxEX01BUCAgICAgICAgICAgCTEwNQorI2RlZmluZSBMT0FEX0FUVFIgICAgICAgICAgIAkxMDYKKyNkZWZpbmUgQ09NUEFSRV9PUCAgICAgICAgICAJMTA3CisjZGVmaW5lIElNUE9SVF9OQU1FICAgICAgICAgCTEwOAorI2RlZmluZSBJTVBPUlRfRlJPTSAgICAgICAgIAkxMDkKKyNkZWZpbmUgSlVNUF9GT1JXQVJEICAgICAgICAJMTEwCisjZGVmaW5lIEpVTVBfSUZfRkFMU0VfT1JfUE9QCTExMQorI2RlZmluZSBKVU1QX0lGX1RSVUVfT1JfUE9QIAkxMTIKKyNkZWZpbmUgSlVNUF9BQlNPTFVURSAgICAgICAJMTEzCisjZGVmaW5lIFBPUF9KVU1QX0lGX0ZBTFNFICAgCTExNAorI2RlZmluZSBQT1BfSlVNUF9JRl9UUlVFICAgIAkxMTUKKyNkZWZpbmUgTE9BRF9HTE9CQUwgICAgICAgICAJMTE2CisjZGVmaW5lIENPTlRJTlVFX0xPT1AgICAgICAgCTExOQorI2RlZmluZSBTRVRVUF9MT09QICAgICAgICAgIAkxMjAKKyNkZWZpbmUgU0VUVVBfRVhDRVBUICAgICAgICAJMTIxCisjZGVmaW5lIFNFVFVQX0ZJTkFMTFkgICAgICAgCTEyMgorI2RlZmluZSBMT0FEX0ZBU1QgICAgICAgICAgIAkxMjQKKyNkZWZpbmUgU1RPUkVfRkFTVCAgICAgICAgICAJMTI1CisjZGVmaW5lIERFTEVURV9GQVNUICAgICAgICAgCTEyNgorI2RlZmluZSBSQUlTRV9WQVJBUkdTICAgICAgIAkxMzAKKyNkZWZpbmUgQ0FMTF9GVU5DVElPTiAgICAgICAJMTMxCisjZGVmaW5lIE1BS0VfRlVOQ1RJT04gICAgICAgCTEzMgorI2RlZmluZSBCVUlMRF9TTElDRSAgICAgICAgIAkxMzMKKyNkZWZpbmUgTUFLRV9DTE9TVVJFICAgICAgICAJMTM0CisjZGVmaW5lIExPQURfQ0xPU1VSRSAgICAgICAgCTEzNQorI2RlZmluZSBMT0FEX0RFUkVGICAgICAgICAgIAkxMzYKKyNkZWZpbmUgU1RPUkVfREVSRUYgICAgICAgICAJMTM3CisjZGVmaW5lIERFTEVURV9ERVJFRiAgICAgICAgCTEzOAorI2RlZmluZSBDQUxMX0ZVTkNUSU9OX1ZBUiAgIAkxNDAKKyNkZWZpbmUgQ0FMTF9GVU5DVElPTl9LVyAgICAJMTQxCisjZGVmaW5lIENBTExfRlVOQ1RJT05fVkFSX0tXCTE0MgorI2RlZmluZSBTRVRVUF9XSVRIICAgICAgICAgIAkxNDMKKyNkZWZpbmUgRVhURU5ERURfQVJHICAgICAgICAJMTQ0CisjZGVmaW5lIExJU1RfQVBQRU5EICAgICAgICAgCTE0NQorI2RlZmluZSBTRVRfQUREICAgICAgICAgICAgIAkxNDYKKyNkZWZpbmUgTUFQX0FERCAgICAgICAgICAgICAJMTQ3CisjZGVmaW5lIExPQURfQ0xBU1NERVJFRiAgICAgCTE0OAogCiAvKiBFWENFUFRfSEFORExFUiBpcyBhIHNwZWNpYWwsIGltcGxpY2l0IGJsb2NrIHR5cGUgd2hpY2ggaXMgY3JlYXRlZCB3aGVuCiAgICBlbnRlcmluZyBhbiBleGNlcHQgaGFuZGxlci4gSXQgaXMgbm90IGFuIG9wY29kZSBidXQgd2UgZGVmaW5lIGl0IGhlcmUKQEAgLTE0OCw4ICsxMTksOSBAQAogI2RlZmluZSBFWENFUFRfSEFORExFUiAyNTcKIAogCi1lbnVtIGNtcF9vcCB7UHlDbXBfTFQ9UHlfTFQsIFB5Q21wX0xFPVB5X0xFLCBQeUNtcF9FUT1QeV9FUSwgUHlDbXBfTkU9UHlfTkUsIFB5Q21wX0dUPVB5X0dULCBQeUNtcF9HRT1QeV9HRSwKLSAgICAgICAgICAgICBQeUNtcF9JTiwgUHlDbXBfTk9UX0lOLCBQeUNtcF9JUywgUHlDbXBfSVNfTk9ULCBQeUNtcF9FWENfTUFUQ0gsIFB5Q21wX0JBRH07CitlbnVtIGNtcF9vcCB7UHlDbXBfTFQ9UHlfTFQsIFB5Q21wX0xFPVB5X0xFLCBQeUNtcF9FUT1QeV9FUSwgUHlDbXBfTkU9UHlfTkUsCisgICAgICAgICAgICAgICAgUHlDbXBfR1Q9UHlfR1QsIFB5Q21wX0dFPVB5X0dFLCBQeUNtcF9JTiwgUHlDbXBfTk9UX0lOLAorICAgICAgICAgICAgICAgIFB5Q21wX0lTLCBQeUNtcF9JU19OT1QsIFB5Q21wX0VYQ19NQVRDSCwgUHlDbXBfQkFEfTsKIAogI2RlZmluZSBIQVNfQVJHKG9wKSAoKG9wKSA+PSBIQVZFX0FSR1VNRU5UKQogCmRpZmYgLS1naXQgYS9JbmNsdWRlL29zZGVmcy5oIGIvSW5jbHVkZS9vc2RlZnMuaAppbmRleCAwYzJlMzRiLi5iZDg0YzFjIDEwMDY0NAotLS0gYS9JbmNsdWRlL29zZGVmcy5oCisrKyBiL0luY2x1ZGUvb3NkZWZzLmgKQEAgLTcsMTUgKzcsMTIgQEAKIAogLyogT3BlcmF0aW5nIHN5c3RlbSBkZXBlbmRlbmNpZXMgKi8KIAotLyogTW9kIGJ5IGNocmlzaDogUU5YIGhhcyBXQVRDT00sIGJ1dCBpc24ndCBET1MgKi8KLSNpZiAhZGVmaW5lZChfX1FOWF9fKQotI2lmIGRlZmluZWQoTVNfV0lORE9XUykgfHwgZGVmaW5lZChfX0JPUkxBTkRDX18pIHx8IGRlZmluZWQoX19XQVRDT01DX18pIHx8IGRlZmluZWQoX19ESkdQUF9fKQorI2lmZGVmIE1TX1dJTkRPV1MKICNkZWZpbmUgU0VQIEwnXFwnCiAjZGVmaW5lIEFMVFNFUCBMJy8nCiAjZGVmaW5lIE1BWFBBVEhMRU4gMjU2CiAjZGVmaW5lIERFTElNIEwnOycKICNlbmRpZgotI2VuZGlmCiAKIC8qIEZpbGVuYW1lIHNlcGFyYXRvciAqLwogI2lmbmRlZiBTRVAKZGlmZiAtLWdpdCBhL0luY2x1ZGUvcGF0Y2hsZXZlbC5oIGIvSW5jbHVkZS9wYXRjaGxldmVsLmgKaW5kZXggZTY4Mjc0Yi4uZWEwYzA0MiAxMDA2NDQKLS0tIGEvSW5jbHVkZS9wYXRjaGxldmVsLmgKKysrIGIvSW5jbHVkZS9wYXRjaGxldmVsLmgKQEAgLTE3LDEzICsxNywxMyBAQAogLyogVmVyc2lvbiBwYXJzZWQgb3V0IGludG8gbnVtZXJpYyB2YWx1ZXMgKi8KIC8qLS1zdGFydCBjb25zdGFudHMtLSovCiAjZGVmaW5lIFBZX01BSk9SX1ZFUlNJT04JMwotI2RlZmluZSBQWV9NSU5PUl9WRVJTSU9OCTQKLSNkZWZpbmUgUFlfTUlDUk9fVkVSU0lPTgkzCi0jZGVmaW5lIFBZX1JFTEVBU0VfTEVWRUwJUFlfUkVMRUFTRV9MRVZFTF9HQU1NQQorI2RlZmluZSBQWV9NSU5PUl9WRVJTSU9OCTUKKyNkZWZpbmUgUFlfTUlDUk9fVkVSU0lPTgkwCisjZGVmaW5lIFBZX1JFTEVBU0VfTEVWRUwJUFlfUkVMRUFTRV9MRVZFTF9BTFBIQQogI2RlZmluZSBQWV9SRUxFQVNFX1NFUklBTAkxCiAKIC8qIFZlcnNpb24gYXMgYSBzdHJpbmcgKi8KLSNkZWZpbmUgUFlfVkVSU0lPTiAgICAgIAkiMy40LjNyYzErIgorI2RlZmluZSBQWV9WRVJTSU9OICAgICAgCSIzLjUuMGExKyIKIC8qLS1lbmQgY29uc3RhbnRzLS0qLwogCiAvKiBWZXJzaW9uIGFzIGEgc2luZ2xlIDQtYnl0ZSBoZXggbnVtYmVyLCBlLmcuIDB4MDEwNTAyQjIgPT0gMS41LjJiMi4KZGlmZiAtLWdpdCBhL0luY2x1ZGUvcHlhdG9taWMuaCBiL0luY2x1ZGUvcHlhdG9taWMuaAppbmRleCBkNGUxOWUwLi44MGJkODI1IDEwMDY0NAotLS0gYS9JbmNsdWRlL3B5YXRvbWljLmgKKysrIGIvSW5jbHVkZS9weWF0b21pYy5oCkBAIC0xLDEyICsxLDE1IEBACiAjaWZuZGVmIFB5X0xJTUlURURfQVBJCiAjaWZuZGVmIFB5X0FUT01JQ19ICiAjZGVmaW5lIFB5X0FUT01JQ19ICi0vKiBYWFg6IFdoZW4gY29tcGlsZXJzIHN0YXJ0IG9mZmVyaW5nIGEgc3RkYXRvbWljLmggd2l0aCBsb2NrLWZyZWUKLSAgIGF0b21pY19pbnQgYW5kIGF0b21pY19hZGRyZXNzIHR5cGVzLCBpbmNsdWRlIHRoYXQgaGVyZSBhbmQgcmV3cml0ZQotICAgdGhlIGF0b21pYyBvcGVyYXRpb25zIGluIHRlcm1zIG9mIGl0LiAqLwogCiAjaW5jbHVkZSAiZHluYW1pY19hbm5vdGF0aW9ucy5oIgogCisjaW5jbHVkZSAicHljb25maWcuaCIKKworI2lmIGRlZmluZWQoSEFWRV9TVERfQVRPTUlDKQorI2luY2x1ZGUgPHN0ZGF0b21pYy5oPgorI2VuZGlmCisKICNpZmRlZiBfX2NwbHVzcGx1cwogZXh0ZXJuICJDIiB7CiAjZW5kaWYKQEAgLTIwLDYgKzIzLDc2IEBACiAgKiBCZXdhcmUsIHRoZSBpbXBsZW1lbnRhdGlvbnMgaGVyZSBhcmUgZGVlcCBtYWdpYy4KICAqLwogCisjaWYgZGVmaW5lZChIQVZFX1NURF9BVE9NSUMpCisKK3R5cGVkZWYgZW51bSBfUHlfbWVtb3J5X29yZGVyIHsKKyAgICBfUHlfbWVtb3J5X29yZGVyX3JlbGF4ZWQgPSBtZW1vcnlfb3JkZXJfcmVsYXhlZCwKKyAgICBfUHlfbWVtb3J5X29yZGVyX2FjcXVpcmUgPSBtZW1vcnlfb3JkZXJfYWNxdWlyZSwKKyAgICBfUHlfbWVtb3J5X29yZGVyX3JlbGVhc2UgPSBtZW1vcnlfb3JkZXJfcmVsZWFzZSwKKyAgICBfUHlfbWVtb3J5X29yZGVyX2FjcV9yZWwgPSBtZW1vcnlfb3JkZXJfYWNxX3JlbCwKKyAgICBfUHlfbWVtb3J5X29yZGVyX3NlcV9jc3QgPSBtZW1vcnlfb3JkZXJfc2VxX2NzdAorfSBfUHlfbWVtb3J5X29yZGVyOworCit0eXBlZGVmIHN0cnVjdCBfUHlfYXRvbWljX2FkZHJlc3MgeworICAgIF9BdG9taWMgdm9pZCAqX3ZhbHVlOworfSBfUHlfYXRvbWljX2FkZHJlc3M7CisKK3R5cGVkZWYgc3RydWN0IF9QeV9hdG9taWNfaW50IHsKKyAgICBhdG9taWNfaW50IF92YWx1ZTsKK30gX1B5X2F0b21pY19pbnQ7CisKKyNkZWZpbmUgX1B5X2F0b21pY19zaWduYWxfZmVuY2UoLyptZW1vcnlfb3JkZXIqLyBPUkRFUikgXAorICAgIGF0b21pY19zaWduYWxfZmVuY2UoT1JERVIpCisKKyNkZWZpbmUgX1B5X2F0b21pY190aHJlYWRfZmVuY2UoLyptZW1vcnlfb3JkZXIqLyBPUkRFUikgXAorICAgIGF0b21pY190aHJlYWRfZmVuY2UoT1JERVIpCisKKyNkZWZpbmUgX1B5X2F0b21pY19zdG9yZV9leHBsaWNpdChBVE9NSUNfVkFMLCBORVdfVkFMLCBPUkRFUikgXAorICAgIGF0b21pY19zdG9yZV9leHBsaWNpdCgmKEFUT01JQ19WQUwpLT5fdmFsdWUsIE5FV19WQUwsIE9SREVSKQorCisjZGVmaW5lIF9QeV9hdG9taWNfbG9hZF9leHBsaWNpdChBVE9NSUNfVkFMLCBPUkRFUikgXAorICAgIGF0b21pY19sb2FkX2V4cGxpY2l0KCYoQVRPTUlDX1ZBTCktPl92YWx1ZSwgT1JERVIpCisKKy8qIFVzZSBidWlsdGluIGF0b21pYyBvcGVyYXRpb25zIGluIEdDQyA+PSA0LjcgKi8KKyNlbGlmIGRlZmluZWQoSEFWRV9CVUlMVElOX0FUT01JQykKKwordHlwZWRlZiBlbnVtIF9QeV9tZW1vcnlfb3JkZXIgeworICAgIF9QeV9tZW1vcnlfb3JkZXJfcmVsYXhlZCA9IF9fQVRPTUlDX1JFTEFYRUQsCisgICAgX1B5X21lbW9yeV9vcmRlcl9hY3F1aXJlID0gX19BVE9NSUNfQUNRVUlSRSwKKyAgICBfUHlfbWVtb3J5X29yZGVyX3JlbGVhc2UgPSBfX0FUT01JQ19SRUxFQVNFLAorICAgIF9QeV9tZW1vcnlfb3JkZXJfYWNxX3JlbCA9IF9fQVRPTUlDX0FDUV9SRUwsCisgICAgX1B5X21lbW9yeV9vcmRlcl9zZXFfY3N0ID0gX19BVE9NSUNfU0VRX0NTVAorfSBfUHlfbWVtb3J5X29yZGVyOworCit0eXBlZGVmIHN0cnVjdCBfUHlfYXRvbWljX2FkZHJlc3MgeworICAgIHZvaWQgKl92YWx1ZTsKK30gX1B5X2F0b21pY19hZGRyZXNzOworCit0eXBlZGVmIHN0cnVjdCBfUHlfYXRvbWljX2ludCB7CisgICAgaW50IF92YWx1ZTsKK30gX1B5X2F0b21pY19pbnQ7CisKKyNkZWZpbmUgX1B5X2F0b21pY19zaWduYWxfZmVuY2UoLyptZW1vcnlfb3JkZXIqLyBPUkRFUikgXAorICAgIF9fYXRvbWljX3NpZ25hbF9mZW5jZShPUkRFUikKKworI2RlZmluZSBfUHlfYXRvbWljX3RocmVhZF9mZW5jZSgvKm1lbW9yeV9vcmRlciovIE9SREVSKSBcCisgICAgX19hdG9taWNfdGhyZWFkX2ZlbmNlKE9SREVSKQorCisjZGVmaW5lIF9QeV9hdG9taWNfc3RvcmVfZXhwbGljaXQoQVRPTUlDX1ZBTCwgTkVXX1ZBTCwgT1JERVIpIFwKKyAgICAoYXNzZXJ0KChPUkRFUikgPT0gX19BVE9NSUNfUkVMQVhFRCAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgfHwgKE9SREVSKSA9PSBfX0FUT01JQ19TRVFfQ1NUICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICB8fCAoT1JERVIpID09IF9fQVRPTUlDX1JFTEVBU0UpLCAgICAgICAgICAgICAgICAgIFwKKyAgICAgX19hdG9taWNfc3RvcmVfbigmKEFUT01JQ19WQUwpLT5fdmFsdWUsIE5FV19WQUwsIE9SREVSKSkKKworI2RlZmluZSBfUHlfYXRvbWljX2xvYWRfZXhwbGljaXQoQVRPTUlDX1ZBTCwgT1JERVIpICAgICAgICAgICBcCisgICAgKGFzc2VydCgoT1JERVIpID09IF9fQVRPTUlDX1JFTEFYRUQgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgIHx8IChPUkRFUikgPT0gX19BVE9NSUNfU0VRX0NTVCAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgfHwgKE9SREVSKSA9PSBfX0FUT01JQ19BQ1FVSVJFICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICB8fCAoT1JERVIpID09IF9fQVRPTUlDX0NPTlNVTUUpLCAgICAgICAgICAgICAgICAgIFwKKyAgICAgX19hdG9taWNfbG9hZF9uKCYoQVRPTUlDX1ZBTCktPl92YWx1ZSwgT1JERVIpKQorCisjZWxzZQorCiB0eXBlZGVmIGVudW0gX1B5X21lbW9yeV9vcmRlciB7CiAgICAgX1B5X21lbW9yeV9vcmRlcl9yZWxheGVkLAogICAgIF9QeV9tZW1vcnlfb3JkZXJfYWNxdWlyZSwKQEAgLTE2Miw2ICsyMzUsNyBAQAogICAgICgoQVRPTUlDX1ZBTCktPl92YWx1ZSkKIAogI2VuZGlmICAvKiAhZ2NjIHg4NiAqLworI2VuZGlmCiAKIC8qIFN0YW5kYXJkaXplZCBzaG9ydGN1dHMuICovCiAjZGVmaW5lIF9QeV9hdG9taWNfc3RvcmUoQVRPTUlDX1ZBTCwgTkVXX1ZBTCkgXApkaWZmIC0tZ2l0IGEvSW5jbHVkZS9weWRlYnVnLmggYi9JbmNsdWRlL3B5ZGVidWcuaAppbmRleCA4ZmU5ODE4Li4xOWJlYzJiIDEwMDY0NAotLS0gYS9JbmNsdWRlL3B5ZGVidWcuaAorKysgYi9JbmNsdWRlL3B5ZGVidWcuaApAQCAtNSw2ICs1LDggQEAKIGV4dGVybiAiQyIgewogI2VuZGlmCiAKKy8qIFRoZXNlIGdsb2JhbCB2YXJpYWJsZSBhcmUgZGVmaW5lZCBpbiBweWxpZmVjeWNsZS5jICovCisvKiBYWFggKG5jb2dobGFuKTogbW92ZSB0aGVzZSBkZWNsYXJhdGlvbnMgdG8gcHlsaWZlY3ljbGUuaD8gKi8KIFB5QVBJX0RBVEEoaW50KSBQeV9EZWJ1Z0ZsYWc7CiBQeUFQSV9EQVRBKGludCkgUHlfVmVyYm9zZUZsYWc7CiBQeUFQSV9EQVRBKGludCkgUHlfUXVpZXRGbGFnOwpkaWZmIC0tZ2l0IGEvSW5jbHVkZS9weWVycm9ycy5oIGIvSW5jbHVkZS9weWVycm9ycy5oCmluZGV4IDAyZjY1ZDYuLjhhN2U0ZjQgMTAwNjQ0Ci0tLSBhL0luY2x1ZGUvcHllcnJvcnMuaAorKysgYi9JbmNsdWRlL3B5ZXJyb3JzLmgKQEAgLTk5LDYgKzk5LDcgQEAKICNkZWZpbmUgX1B5X05PX1JFVFVSTgogI2VuZGlmCiAKKy8qIERlZmluZWQgaW4gUHl0aG9uL3B5bGlmZWN5Y2xlLmMgKi8KIFB5QVBJX0ZVTkModm9pZCkgUHlfRmF0YWxFcnJvcihjb25zdCBjaGFyICptZXNzYWdlKSBfUHlfTk9fUkVUVVJOOwogCiAjaWYgZGVmaW5lZChQeV9ERUJVRykgfHwgZGVmaW5lZChQeV9MSU1JVEVEX0FQSSkKQEAgLTI0NCw2ICsyNDUsMTIgQEAKICAgICBjb25zdCBjaGFyICpmb3JtYXQsICAgLyogQVNDSUktZW5jb2RlZCBzdHJpbmcgICovCiAgICAgLi4uCiAgICAgKTsKKyNpZiAhZGVmaW5lZChQeV9MSU1JVEVEX0FQSSkgfHwgUHlfTElNSVRFRF9BUEkrMCA+PSAweDAzMDUwMDAwCitQeUFQSV9GVU5DKFB5T2JqZWN0ICopIFB5RXJyX0Zvcm1hdFYoCisgICAgUHlPYmplY3QgKmV4Y2VwdGlvbiwKKyAgICBjb25zdCBjaGFyICpmb3JtYXQsCisgICAgdmFfbGlzdCB2YXJncyk7CisjZW5kaWYKIAogI2lmZGVmIE1TX1dJTkRPV1MKIFB5QVBJX0ZVTkMoUHlPYmplY3QgKikgUHlFcnJfU2V0RnJvbVdpbmRvd3NFcnJXaXRoRmlsZW5hbWUoCmRpZmYgLS1naXQgYS9JbmNsdWRlL3B5bGlmZWN5Y2xlLmggYi9JbmNsdWRlL3B5bGlmZWN5Y2xlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2NkZWJlMgotLS0gL2Rldi9udWxsCisrKyBiL0luY2x1ZGUvcHlsaWZlY3ljbGUuaApAQCAtMCwwICsxLDEyNCBAQAorCisvKiBJbnRlcmZhY2VzIHRvIGNvbmZpZ3VyZSwgcXVlcnksIGNyZWF0ZSAmIGRlc3Ryb3kgdGhlIFB5dGhvbiBydW50aW1lICovCisKKyNpZm5kZWYgUHlfUFlMSUZFQ1lDTEVfSAorI2RlZmluZSBQeV9QWUxJRkVDWUNMRV9ICisjaWZkZWYgX19jcGx1c3BsdXMKK2V4dGVybiAiQyIgeworI2VuZGlmCisKK1B5QVBJX0ZVTkModm9pZCkgUHlfU2V0UHJvZ3JhbU5hbWUod2NoYXJfdCAqKTsKK1B5QVBJX0ZVTkMod2NoYXJfdCAqKSBQeV9HZXRQcm9ncmFtTmFtZSh2b2lkKTsKKworUHlBUElfRlVOQyh2b2lkKSBQeV9TZXRQeXRob25Ib21lKHdjaGFyX3QgKik7CitQeUFQSV9GVU5DKHdjaGFyX3QgKikgUHlfR2V0UHl0aG9uSG9tZSh2b2lkKTsKKworI2lmbmRlZiBQeV9MSU1JVEVEX0FQSQorLyogT25seSB1c2VkIGJ5IGFwcGxpY2F0aW9ucyB0aGF0IGVtYmVkIHRoZSBpbnRlcnByZXRlciBhbmQgbmVlZCB0bworICogb3ZlcnJpZGUgdGhlIHN0YW5kYXJkIGVuY29kaW5nIGRldGVybWluYXRpb24gbWVjaGFuaXNtCisgKi8KK1B5QVBJX0ZVTkMoaW50KSBQeV9TZXRTdGFuZGFyZFN0cmVhbUVuY29kaW5nKGNvbnN0IGNoYXIgKmVuY29kaW5nLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqZXJyb3JzKTsKKyNlbmRpZgorCitQeUFQSV9GVU5DKHZvaWQpIFB5X0luaXRpYWxpemUodm9pZCk7CitQeUFQSV9GVU5DKHZvaWQpIFB5X0luaXRpYWxpemVFeChpbnQpOworI2lmbmRlZiBQeV9MSU1JVEVEX0FQSQorUHlBUElfRlVOQyh2b2lkKSBfUHlfSW5pdGlhbGl6ZUV4X1ByaXZhdGUoaW50LCBpbnQpOworI2VuZGlmCitQeUFQSV9GVU5DKHZvaWQpIFB5X0ZpbmFsaXplKHZvaWQpOworUHlBUElfRlVOQyhpbnQpIFB5X0lzSW5pdGlhbGl6ZWQodm9pZCk7CitQeUFQSV9GVU5DKFB5VGhyZWFkU3RhdGUgKikgUHlfTmV3SW50ZXJwcmV0ZXIodm9pZCk7CitQeUFQSV9GVU5DKHZvaWQpIFB5X0VuZEludGVycHJldGVyKFB5VGhyZWFkU3RhdGUgKik7CisKKworLyogUHlfUHlBdEV4aXQgaXMgZm9yIHRoZSBhdGV4aXQgbW9kdWxlLCBQeV9BdEV4aXQgaXMgZm9yIGxvdy1sZXZlbAorICogZXhpdCBmdW5jdGlvbnMuCisgKi8KKyNpZm5kZWYgUHlfTElNSVRFRF9BUEkKK1B5QVBJX0ZVTkModm9pZCkgX1B5X1B5QXRFeGl0KHZvaWQgKCpmdW5jKSh2b2lkKSk7CisjZW5kaWYKK1B5QVBJX0ZVTkMoaW50KSBQeV9BdEV4aXQodm9pZCAoKmZ1bmMpKHZvaWQpKTsKKworUHlBUElfRlVOQyh2b2lkKSBQeV9FeGl0KGludCk7CisKKy8qIFJlc3RvcmUgc2lnbmFscyB0aGF0IHRoZSBpbnRlcnByZXRlciBoYXMgY2FsbGVkIFNJR19JR04gb24gdG8gU0lHX0RGTC4gKi8KKyNpZm5kZWYgUHlfTElNSVRFRF9BUEkKK1B5QVBJX0ZVTkModm9pZCkgX1B5X1Jlc3RvcmVTaWduYWxzKHZvaWQpOworCitQeUFQSV9GVU5DKGludCkgUHlfRmRJc0ludGVyYWN0aXZlKEZJTEUgKiwgY29uc3QgY2hhciAqKTsKKyNlbmRpZgorCisvKiBCb290c3RyYXAgX19tYWluX18gKGRlZmluZWQgaW4gTW9kdWxlcy9tYWluLmMpICovCitQeUFQSV9GVU5DKGludCkgUHlfTWFpbihpbnQgYXJnYywgd2NoYXJfdCAqKmFyZ3YpOworCisvKiBJbiBnZXRwYXRoLmMgKi8KK1B5QVBJX0ZVTkMod2NoYXJfdCAqKSBQeV9HZXRQcm9ncmFtRnVsbFBhdGgodm9pZCk7CitQeUFQSV9GVU5DKHdjaGFyX3QgKikgUHlfR2V0UHJlZml4KHZvaWQpOworUHlBUElfRlVOQyh3Y2hhcl90ICopIFB5X0dldEV4ZWNQcmVmaXgodm9pZCk7CitQeUFQSV9GVU5DKHdjaGFyX3QgKikgUHlfR2V0UGF0aCh2b2lkKTsKK1B5QVBJX0ZVTkModm9pZCkgICAgICBQeV9TZXRQYXRoKGNvbnN0IHdjaGFyX3QgKik7CisjaWZkZWYgTVNfV0lORE9XUworaW50IF9QeV9DaGVja1B5dGhvbjMoKTsKKyNlbmRpZgorCisvKiBJbiB0aGVpciBvd24gZmlsZXMgKi8KK1B5QVBJX0ZVTkMoY29uc3QgY2hhciAqKSBQeV9HZXRWZXJzaW9uKHZvaWQpOworUHlBUElfRlVOQyhjb25zdCBjaGFyICopIFB5X0dldFBsYXRmb3JtKHZvaWQpOworUHlBUElfRlVOQyhjb25zdCBjaGFyICopIFB5X0dldENvcHlyaWdodCh2b2lkKTsKK1B5QVBJX0ZVTkMoY29uc3QgY2hhciAqKSBQeV9HZXRDb21waWxlcih2b2lkKTsKK1B5QVBJX0ZVTkMoY29uc3QgY2hhciAqKSBQeV9HZXRCdWlsZEluZm8odm9pZCk7CisjaWZuZGVmIFB5X0xJTUlURURfQVBJCitQeUFQSV9GVU5DKGNvbnN0IGNoYXIgKikgX1B5X2hnaWRlbnRpZmllcih2b2lkKTsKK1B5QVBJX0ZVTkMoY29uc3QgY2hhciAqKSBfUHlfaGd2ZXJzaW9uKHZvaWQpOworI2VuZGlmCisKKy8qIEludGVybmFsIC0tIHZhcmlvdXMgb25lLXRpbWUgaW5pdGlhbGl6YXRpb25zICovCisjaWZuZGVmIFB5X0xJTUlURURfQVBJCitQeUFQSV9GVU5DKFB5T2JqZWN0ICopIF9QeUJ1aWx0aW5fSW5pdCh2b2lkKTsKK1B5QVBJX0ZVTkMoUHlPYmplY3QgKikgX1B5U3lzX0luaXQodm9pZCk7CitQeUFQSV9GVU5DKHZvaWQpIF9QeUltcG9ydF9Jbml0KHZvaWQpOworUHlBUElfRlVOQyh2b2lkKSBfUHlFeGNfSW5pdChQeU9iamVjdCAqIGJsdGlubW9kKTsKK1B5QVBJX0ZVTkModm9pZCkgX1B5SW1wb3J0SG9va3NfSW5pdCh2b2lkKTsKK1B5QVBJX0ZVTkMoaW50KSBfUHlGcmFtZV9Jbml0KHZvaWQpOworUHlBUElfRlVOQyhpbnQpIF9QeUZsb2F0X0luaXQodm9pZCk7CitQeUFQSV9GVU5DKGludCkgUHlCeXRlQXJyYXlfSW5pdCh2b2lkKTsKK1B5QVBJX0ZVTkModm9pZCkgX1B5UmFuZG9tX0luaXQodm9pZCk7CisjZW5kaWYKKworLyogVmFyaW91cyBpbnRlcm5hbCBmaW5hbGl6ZXJzICovCisjaWZuZGVmIFB5X0xJTUlURURfQVBJCitQeUFQSV9GVU5DKHZvaWQpIF9QeUV4Y19GaW5pKHZvaWQpOworUHlBUElfRlVOQyh2b2lkKSBfUHlJbXBvcnRfRmluaSh2b2lkKTsKK1B5QVBJX0ZVTkModm9pZCkgUHlNZXRob2RfRmluaSh2b2lkKTsKK1B5QVBJX0ZVTkModm9pZCkgUHlGcmFtZV9GaW5pKHZvaWQpOworUHlBUElfRlVOQyh2b2lkKSBQeUNGdW5jdGlvbl9GaW5pKHZvaWQpOworUHlBUElfRlVOQyh2b2lkKSBQeURpY3RfRmluaSh2b2lkKTsKK1B5QVBJX0ZVTkModm9pZCkgUHlUdXBsZV9GaW5pKHZvaWQpOworUHlBUElfRlVOQyh2b2lkKSBQeUxpc3RfRmluaSh2b2lkKTsKK1B5QVBJX0ZVTkModm9pZCkgUHlTZXRfRmluaSh2b2lkKTsKK1B5QVBJX0ZVTkModm9pZCkgUHlCeXRlc19GaW5pKHZvaWQpOworUHlBUElfRlVOQyh2b2lkKSBQeUJ5dGVBcnJheV9GaW5pKHZvaWQpOworUHlBUElfRlVOQyh2b2lkKSBQeUZsb2F0X0Zpbmkodm9pZCk7CitQeUFQSV9GVU5DKHZvaWQpIFB5T1NfRmluaUludGVycnVwdHModm9pZCk7CitQeUFQSV9GVU5DKHZvaWQpIF9QeUdDX0R1bXBTaHV0ZG93blN0YXRzKHZvaWQpOworUHlBUElfRlVOQyh2b2lkKSBfUHlHQ19GaW5pKHZvaWQpOworUHlBUElfRlVOQyh2b2lkKSBQeVNsaWNlX0Zpbmkodm9pZCk7CitQeUFQSV9GVU5DKHZvaWQpIF9QeVR5cGVfRmluaSh2b2lkKTsKK1B5QVBJX0ZVTkModm9pZCkgX1B5UmFuZG9tX0Zpbmkodm9pZCk7CisKK1B5QVBJX0RBVEEoUHlUaHJlYWRTdGF0ZSAqKSBfUHlfRmluYWxpemluZzsKKyNlbmRpZgorCisvKiBTaWduYWxzICovCit0eXBlZGVmIHZvaWQgKCpQeU9TX3NpZ2hhbmRsZXJfdCkoaW50KTsKK1B5QVBJX0ZVTkMoUHlPU19zaWdoYW5kbGVyX3QpIFB5T1NfZ2V0c2lnKGludCk7CitQeUFQSV9GVU5DKFB5T1Nfc2lnaGFuZGxlcl90KSBQeU9TX3NldHNpZyhpbnQsIFB5T1Nfc2lnaGFuZGxlcl90KTsKKworLyogUmFuZG9tICovCitQeUFQSV9GVU5DKGludCkgX1B5T1NfVVJhbmRvbSAodm9pZCAqYnVmZmVyLCBQeV9zc2l6ZV90IHNpemUpOworCisjaWZkZWYgX19jcGx1c3BsdXMKK30KKyNlbmRpZgorI2VuZGlmIC8qICFQeV9QWUxJRkVDWUNMRV9IICovCmRpZmYgLS1naXQgYS9JbmNsdWRlL3B5bWFjcm8uaCBiL0luY2x1ZGUvcHltYWNyby5oCmluZGV4IDc5OTdjNTUuLjNmNmY1ZGMgMTAwNjQ0Ci0tLSBhL0luY2x1ZGUvcHltYWNyby5oCisrKyBiL0luY2x1ZGUvcHltYWNyby5oCkBAIC0xLDEzICsxLDI2IEBACiAjaWZuZGVmIFB5X1BZTUFDUk9fSAogI2RlZmluZSBQeV9QWU1BQ1JPX0gKIAorLyogTWluaW11bSB2YWx1ZSBiZXR3ZWVuIHggYW5kIHkgKi8KICNkZWZpbmUgUHlfTUlOKHgsIHkpICgoKHgpID4gKHkpKSA/ICh5KSA6ICh4KSkKKworLyogTWF4aW11bSB2YWx1ZSBiZXR3ZWVuIHggYW5kIHkgKi8KICNkZWZpbmUgUHlfTUFYKHgsIHkpICgoKHgpID4gKHkpKSA/ICh4KSA6ICh5KSkKIAorLyogQWJzb2x1dGUgdmFsdWUgb2YgdGhlIG51bWJlciB4ICovCisjZGVmaW5lIFB5X0FCUyh4KSAoKHgpIDwgMCA/IC0oeCkgOiAoeCkpCisKKyNkZWZpbmUgX1B5X1hTVFJJTkdJRlkoeCkgI3gKKworLyogQ29udmVydCB0aGUgYXJndW1lbnQgdG8gYSBzdHJpbmcuIEZvciBleGFtcGxlLCBQeV9TVFJJTkdJRlkoMTIzKSBpcyByZXBsYWNlZAorICAgd2l0aCAiMTIzIiBieSB0aGUgcHJlcHJvY2Vzc29yLiBEZWZpbmVzIGFyZSBhbHNvIHJlcGxhY2VkIGJ5IHRoZWlyIHZhbHVlLgorICAgRm9yIGV4YW1wbGUgUHlfU1RSSU5HSUZZKF9fTElORV9fKSBpcyByZXBsYWNlZCBieSB0aGUgbGluZSBudW1iZXIsIG5vdAorICAgYnkgIl9fTElORV9fIi4gKi8KKyNkZWZpbmUgUHlfU1RSSU5HSUZZKHgpIF9QeV9YU1RSSU5HSUZZKHgpCisKIC8qIEFyZ3VtZW50IG11c3QgYmUgYSBjaGFyIG9yIGFuIGludCBpbiBbLTEyOCwgMTI3XSBvciBbMCwgMjU1XS4gKi8KICNkZWZpbmUgUHlfQ0hBUk1BU0soYykgKCh1bnNpZ25lZCBjaGFyKSgoYykgJiAweGZmKSkKIAotCiAvKiBBc3NlcnQgYSBidWlsZC10aW1lIGRlcGVuZGVuY3ksIGFzIGFuIGV4cHJlc3Npb24uCiAKICAgIFlvdXIgY29tcGlsZSB3aWxsIGZhaWwgaWYgdGhlIGNvbmRpdGlvbiBpc24ndCB0cnVlLCBvciBjYW4ndCBiZSBldmFsdWF0ZWQKZGlmZiAtLWdpdCBhL0luY2x1ZGUvcHltZW0uaCBiL0luY2x1ZGUvcHltZW0uaAppbmRleCAyMzcyYjg2Li4wNDNkYjY0IDEwMDY0NAotLS0gYS9JbmNsdWRlL3B5bWVtLmgKKysrIGIvSW5jbHVkZS9weW1lbS5oCkBAIC0xMyw2ICsxMyw3IEBACiAKICNpZm5kZWYgUHlfTElNSVRFRF9BUEkKIFB5QVBJX0ZVTkModm9pZCAqKSBQeU1lbV9SYXdNYWxsb2Moc2l6ZV90IHNpemUpOworUHlBUElfRlVOQyh2b2lkICopIFB5TWVtX1Jhd0NhbGxvYyhzaXplX3QgbmVsZW0sIHNpemVfdCBlbHNpemUpOwogUHlBUElfRlVOQyh2b2lkICopIFB5TWVtX1Jhd1JlYWxsb2Modm9pZCAqcHRyLCBzaXplX3QgbmV3X3NpemUpOwogUHlBUElfRlVOQyh2b2lkKSBQeU1lbV9SYXdGcmVlKHZvaWQgKnB0cik7CiAjZW5kaWYKQEAgLTU3LDYgKzU4LDcgQEAKICovCiAKIFB5QVBJX0ZVTkModm9pZCAqKSBQeU1lbV9NYWxsb2Moc2l6ZV90IHNpemUpOworUHlBUElfRlVOQyh2b2lkICopIFB5TWVtX0NhbGxvYyhzaXplX3QgbmVsZW0sIHNpemVfdCBlbHNpemUpOwogUHlBUElfRlVOQyh2b2lkICopIFB5TWVtX1JlYWxsb2Modm9pZCAqcHRyLCBzaXplX3QgbmV3X3NpemUpOwogUHlBUElfRlVOQyh2b2lkKSBQeU1lbV9GcmVlKHZvaWQgKnB0cik7CiAKQEAgLTEyNiwyMiArMTI4LDI1IEBACiB9IFB5TWVtQWxsb2NhdG9yRG9tYWluOwogCiB0eXBlZGVmIHN0cnVjdCB7Ci0gICAgLyogdXNlciBjb250ZXh0IHBhc3NlZCBhcyB0aGUgZmlyc3QgYXJndW1lbnQgdG8gdGhlIDMgZnVuY3Rpb25zICovCisgICAgLyogdXNlciBjb250ZXh0IHBhc3NlZCBhcyB0aGUgZmlyc3QgYXJndW1lbnQgdG8gdGhlIDQgZnVuY3Rpb25zICovCiAgICAgdm9pZCAqY3R4OwogCiAgICAgLyogYWxsb2NhdGUgYSBtZW1vcnkgYmxvY2sgKi8KICAgICB2b2lkKiAoKm1hbGxvYykgKHZvaWQgKmN0eCwgc2l6ZV90IHNpemUpOwogCisgICAgLyogYWxsb2NhdGUgYSBtZW1vcnkgYmxvY2sgaW5pdGlhbGl6ZWQgYnkgemVyb3MgKi8KKyAgICB2b2lkKiAoKmNhbGxvYykgKHZvaWQgKmN0eCwgc2l6ZV90IG5lbGVtLCBzaXplX3QgZWxzaXplKTsKKwogICAgIC8qIGFsbG9jYXRlIG9yIHJlc2l6ZSBhIG1lbW9yeSBibG9jayAqLwogICAgIHZvaWQqICgqcmVhbGxvYykgKHZvaWQgKmN0eCwgdm9pZCAqcHRyLCBzaXplX3QgbmV3X3NpemUpOwogCiAgICAgLyogcmVsZWFzZSBhIG1lbW9yeSBibG9jayAqLwogICAgIHZvaWQgKCpmcmVlKSAodm9pZCAqY3R4LCB2b2lkICpwdHIpOwotfSBQeU1lbUFsbG9jYXRvcjsKK30gUHlNZW1BbGxvY2F0b3JFeDsKIAogLyogR2V0IHRoZSBtZW1vcnkgYmxvY2sgYWxsb2NhdG9yIG9mIHRoZSBzcGVjaWZpZWQgZG9tYWluLiAqLwogUHlBUElfRlVOQyh2b2lkKSBQeU1lbV9HZXRBbGxvY2F0b3IoUHlNZW1BbGxvY2F0b3JEb21haW4gZG9tYWluLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlNZW1BbGxvY2F0b3IgKmFsbG9jYXRvcik7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeU1lbUFsbG9jYXRvckV4ICphbGxvY2F0b3IpOwogCiAvKiBTZXQgdGhlIG1lbW9yeSBibG9jayBhbGxvY2F0b3Igb2YgdGhlIHNwZWNpZmllZCBkb21haW4uCiAKQEAgLTE1NSw3ICsxNjAsNyBAQAogICAgUHlNZW1fU2V0dXBEZWJ1Z0hvb2tzKCkgZnVuY3Rpb24gbXVzdCBiZSBjYWxsZWQgdG8gcmVpbnN0YWxsIHRoZSBkZWJ1ZyBob29rcwogICAgb24gdG9wIG9uIHRoZSBuZXcgYWxsb2NhdG9yLiAqLwogUHlBUElfRlVOQyh2b2lkKSBQeU1lbV9TZXRBbGxvY2F0b3IoUHlNZW1BbGxvY2F0b3JEb21haW4gZG9tYWluLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlNZW1BbGxvY2F0b3IgKmFsbG9jYXRvcik7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeU1lbUFsbG9jYXRvckV4ICphbGxvY2F0b3IpOwogCiAvKiBTZXR1cCBob29rcyB0byBkZXRlY3QgYnVncyBpbiB0aGUgZm9sbG93aW5nIFB5dGhvbiBtZW1vcnkgYWxsb2NhdG9yCiAgICBmdW5jdGlvbnM6CmRpZmYgLS1naXQgYS9JbmNsdWRlL3B5cG9ydC5oIGIvSW5jbHVkZS9weXBvcnQuaAppbmRleCBjNzA2MjEzLi42OWRlYjlmIDEwMDY0NAotLS0gYS9JbmNsdWRlL3B5cG9ydC5oCisrKyBiL0luY2x1ZGUvcHlwb3J0LmgKQEAgLTU4OCw2ICs1ODgsMjUgQEAKICAgICB9IHdoaWxlICgwKQogI2VuZGlmCiAKKyNpZmRlZiBIQVZFX0dDQ19BU01fRk9SX01DNjg4ODEKKyNkZWZpbmUgSEFWRV9QWV9TRVRfNTNCSVRfUFJFQ0lTSU9OIDEKKyNkZWZpbmUgX1B5X1NFVF81M0JJVF9QUkVDSVNJT05fSEVBREVSIFwKKyAgdW5zaWduZWQgaW50IG9sZF9mcGNyLCBuZXdfZnBjcgorI2RlZmluZSBfUHlfU0VUXzUzQklUX1BSRUNJU0lPTl9TVEFSVAkJCQkJXAorICBkbyB7CQkJCQkJCQkJXAorICAgIF9fYXNtX18gKCJmbW92ZS5sICUlZnBjciwlMCIgOiAiPWciIChvbGRfZnBjcikpOwkJCVwKKyAgICAvKiBTZXQgZG91YmxlIHByZWNpc2lvbiAvIHJvdW5kIHRvIG5lYXJlc3QuICAqLwkJCVwKKyAgICBuZXdfZnBjciA9IChvbGRfZnBjciAmIH4weGYwKSB8IDB4ODA7CQkJCVwKKyAgICBpZiAobmV3X2ZwY3IgIT0gb2xkX2ZwY3IpCQkJCQkJXAorICAgICAgX19hc21fXyB2b2xhdGlsZSAoImZtb3ZlLmwgJTAsJSVmcGNyIiA6IDogImciIChuZXdfZnBjcikpOwlcCisgIH0gd2hpbGUgKDApCisjZGVmaW5lIF9QeV9TRVRfNTNCSVRfUFJFQ0lTSU9OX0VORAkJCQkJXAorICBkbyB7CQkJCQkJCQkJXAorICAgIGlmIChuZXdfZnBjciAhPSBvbGRfZnBjcikJCQkJCQlcCisgICAgICBfX2FzbV9fIHZvbGF0aWxlICgiZm1vdmUubCAlMCwlJWZwY3IiIDogOiAiZyIgKG9sZF9mcGNyKSk7CVwKKyAgfSB3aGlsZSAoMCkKKyNlbmRpZgorCiAvKiBkZWZhdWx0IGRlZmluaXRpb25zIGFyZSBlbXB0eSAqLwogI2lmbmRlZiBIQVZFX1BZX1NFVF81M0JJVF9QUkVDSVNJT04KICNkZWZpbmUgX1B5X1NFVF81M0JJVF9QUkVDSVNJT05fSEVBREVSCmRpZmYgLS1naXQgYS9JbmNsdWRlL3B5dGhvbnJ1bi5oIGIvSW5jbHVkZS9weXRob25ydW4uaAppbmRleCAyZmM1NTc4Li4xZDliNzFiIDEwMDY0NAotLS0gYS9JbmNsdWRlL3B5dGhvbnJ1bi5oCisrKyBiL0luY2x1ZGUvcHl0aG9ucnVuLmgKQEAgLTIyLDMwICsyMiw2IEBACiB9IFB5Q29tcGlsZXJGbGFnczsKICNlbmRpZgogCi1QeUFQSV9GVU5DKHZvaWQpIFB5X1NldFByb2dyYW1OYW1lKHdjaGFyX3QgKik7Ci1QeUFQSV9GVU5DKHdjaGFyX3QgKikgUHlfR2V0UHJvZ3JhbU5hbWUodm9pZCk7Ci0KLVB5QVBJX0ZVTkModm9pZCkgUHlfU2V0UHl0aG9uSG9tZSh3Y2hhcl90ICopOwotUHlBUElfRlVOQyh3Y2hhcl90ICopIFB5X0dldFB5dGhvbkhvbWUodm9pZCk7Ci0KLSNpZm5kZWYgUHlfTElNSVRFRF9BUEkKLS8qIE9ubHkgdXNlZCBieSBhcHBsaWNhdGlvbnMgdGhhdCBlbWJlZCB0aGUgaW50ZXJwcmV0ZXIgYW5kIG5lZWQgdG8KLSAqIG92ZXJyaWRlIHRoZSBzdGFuZGFyZCBlbmNvZGluZyBkZXRlcm1pbmF0aW9uIG1lY2hhbmlzbQotICovCi1QeUFQSV9GVU5DKGludCkgUHlfU2V0U3RhbmRhcmRTdHJlYW1FbmNvZGluZyhjb25zdCBjaGFyICplbmNvZGluZywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmVycm9ycyk7Ci0jZW5kaWYKLQotUHlBUElfRlVOQyh2b2lkKSBQeV9Jbml0aWFsaXplKHZvaWQpOwotUHlBUElfRlVOQyh2b2lkKSBQeV9Jbml0aWFsaXplRXgoaW50KTsKLSNpZm5kZWYgUHlfTElNSVRFRF9BUEkKLVB5QVBJX0ZVTkModm9pZCkgX1B5X0luaXRpYWxpemVFeF9Qcml2YXRlKGludCwgaW50KTsKLSNlbmRpZgotUHlBUElfRlVOQyh2b2lkKSBQeV9GaW5hbGl6ZSh2b2lkKTsKLVB5QVBJX0ZVTkMoaW50KSBQeV9Jc0luaXRpYWxpemVkKHZvaWQpOwotUHlBUElfRlVOQyhQeVRocmVhZFN0YXRlICopIFB5X05ld0ludGVycHJldGVyKHZvaWQpOwotUHlBUElfRlVOQyh2b2lkKSBQeV9FbmRJbnRlcnByZXRlcihQeVRocmVhZFN0YXRlICopOwotCiAjaWZuZGVmIFB5X0xJTUlURURfQVBJCiBQeUFQSV9GVU5DKGludCkgUHlSdW5fU2ltcGxlU3RyaW5nRmxhZ3MoY29uc3QgY2hhciAqLCBQeUNvbXBpbGVyRmxhZ3MgKik7CiBQeUFQSV9GVU5DKGludCkgUHlSdW5fQW55RmlsZUZsYWdzKEZJTEUgKiwgY29uc3QgY2hhciAqLCBQeUNvbXBpbGVyRmxhZ3MgKik7CkBAIC0xNjYsMjYgKzE0Miw2IEBACiBQeUFQSV9GVU5DKHZvaWQpIFB5RXJyX1ByaW50RXgoaW50KTsKIFB5QVBJX0ZVTkModm9pZCkgUHlFcnJfRGlzcGxheShQeU9iamVjdCAqLCBQeU9iamVjdCAqLCBQeU9iamVjdCAqKTsKIAotLyogUHlfUHlBdEV4aXQgaXMgZm9yIHRoZSBhdGV4aXQgbW9kdWxlLCBQeV9BdEV4aXQgaXMgZm9yIGxvdy1sZXZlbAotICogZXhpdCBmdW5jdGlvbnMuCi0gKi8KLSNpZm5kZWYgUHlfTElNSVRFRF9BUEkKLVB5QVBJX0ZVTkModm9pZCkgX1B5X1B5QXRFeGl0KHZvaWQgKCpmdW5jKSh2b2lkKSk7Ci0jZW5kaWYKLVB5QVBJX0ZVTkMoaW50KSBQeV9BdEV4aXQodm9pZCAoKmZ1bmMpKHZvaWQpKTsKLQotUHlBUElfRlVOQyh2b2lkKSBQeV9FeGl0KGludCk7Ci0KLS8qIFJlc3RvcmUgc2lnbmFscyB0aGF0IHRoZSBpbnRlcnByZXRlciBoYXMgY2FsbGVkIFNJR19JR04gb24gdG8gU0lHX0RGTC4gKi8KLSNpZm5kZWYgUHlfTElNSVRFRF9BUEkKLVB5QVBJX0ZVTkModm9pZCkgX1B5X1Jlc3RvcmVTaWduYWxzKHZvaWQpOwotCi1QeUFQSV9GVU5DKGludCkgUHlfRmRJc0ludGVyYWN0aXZlKEZJTEUgKiwgY29uc3QgY2hhciAqKTsKLSNlbmRpZgotCi0vKiBCb290c3RyYXAgKi8KLVB5QVBJX0ZVTkMoaW50KSBQeV9NYWluKGludCBhcmdjLCB3Y2hhcl90ICoqYXJndik7Ci0KICNpZm5kZWYgUHlfTElNSVRFRF9BUEkKIC8qIFVzZSBtYWNyb3MgZm9yIGEgYnVuY2ggb2Ygb2xkIHZhcmlhbnRzICovCiAjZGVmaW5lIFB5UnVuX1N0cmluZyhzdHIsIHMsIGcsIGwpIFB5UnVuX1N0cmluZ0ZsYWdzKHN0ciwgcywgZywgbCwgTlVMTCkKQEAgLTIwNyw2NCArMTYzLDYgQEAKICAgICBQeVJ1bl9GaWxlRXhGbGFncyhmcCwgcCwgcywgZywgbCwgMCwgZmxhZ3MpCiAjZW5kaWYKIAotLyogSW4gZ2V0cGF0aC5jICovCi1QeUFQSV9GVU5DKHdjaGFyX3QgKikgUHlfR2V0UHJvZ3JhbUZ1bGxQYXRoKHZvaWQpOwotUHlBUElfRlVOQyh3Y2hhcl90ICopIFB5X0dldFByZWZpeCh2b2lkKTsKLVB5QVBJX0ZVTkMod2NoYXJfdCAqKSBQeV9HZXRFeGVjUHJlZml4KHZvaWQpOwotUHlBUElfRlVOQyh3Y2hhcl90ICopIFB5X0dldFBhdGgodm9pZCk7Ci1QeUFQSV9GVU5DKHZvaWQpICAgICAgUHlfU2V0UGF0aChjb25zdCB3Y2hhcl90ICopOwotI2lmZGVmIE1TX1dJTkRPV1MKLWludCBfUHlfQ2hlY2tQeXRob24zKCk7Ci0jZW5kaWYKLQotLyogSW4gdGhlaXIgb3duIGZpbGVzICovCi1QeUFQSV9GVU5DKGNvbnN0IGNoYXIgKikgUHlfR2V0VmVyc2lvbih2b2lkKTsKLVB5QVBJX0ZVTkMoY29uc3QgY2hhciAqKSBQeV9HZXRQbGF0Zm9ybSh2b2lkKTsKLVB5QVBJX0ZVTkMoY29uc3QgY2hhciAqKSBQeV9HZXRDb3B5cmlnaHQodm9pZCk7Ci1QeUFQSV9GVU5DKGNvbnN0IGNoYXIgKikgUHlfR2V0Q29tcGlsZXIodm9pZCk7Ci1QeUFQSV9GVU5DKGNvbnN0IGNoYXIgKikgUHlfR2V0QnVpbGRJbmZvKHZvaWQpOwotI2lmbmRlZiBQeV9MSU1JVEVEX0FQSQotUHlBUElfRlVOQyhjb25zdCBjaGFyICopIF9QeV9oZ2lkZW50aWZpZXIodm9pZCk7Ci1QeUFQSV9GVU5DKGNvbnN0IGNoYXIgKikgX1B5X2hndmVyc2lvbih2b2lkKTsKLSNlbmRpZgotCi0vKiBJbnRlcm5hbCAtLSB2YXJpb3VzIG9uZS10aW1lIGluaXRpYWxpemF0aW9ucyAqLwotI2lmbmRlZiBQeV9MSU1JVEVEX0FQSQotUHlBUElfRlVOQyhQeU9iamVjdCAqKSBfUHlCdWlsdGluX0luaXQodm9pZCk7Ci1QeUFQSV9GVU5DKFB5T2JqZWN0ICopIF9QeVN5c19Jbml0KHZvaWQpOwotUHlBUElfRlVOQyh2b2lkKSBfUHlJbXBvcnRfSW5pdCh2b2lkKTsKLVB5QVBJX0ZVTkModm9pZCkgX1B5RXhjX0luaXQoUHlPYmplY3QgKiBibHRpbm1vZCk7Ci1QeUFQSV9GVU5DKHZvaWQpIF9QeUltcG9ydEhvb2tzX0luaXQodm9pZCk7Ci1QeUFQSV9GVU5DKGludCkgX1B5RnJhbWVfSW5pdCh2b2lkKTsKLVB5QVBJX0ZVTkMoaW50KSBfUHlGbG9hdF9Jbml0KHZvaWQpOwotUHlBUElfRlVOQyhpbnQpIFB5Qnl0ZUFycmF5X0luaXQodm9pZCk7Ci1QeUFQSV9GVU5DKHZvaWQpIF9QeVJhbmRvbV9Jbml0KHZvaWQpOwotI2VuZGlmCi0KLS8qIFZhcmlvdXMgaW50ZXJuYWwgZmluYWxpemVycyAqLwotI2lmbmRlZiBQeV9MSU1JVEVEX0FQSQotUHlBUElfRlVOQyh2b2lkKSBfUHlFeGNfRmluaSh2b2lkKTsKLVB5QVBJX0ZVTkModm9pZCkgX1B5SW1wb3J0X0Zpbmkodm9pZCk7Ci1QeUFQSV9GVU5DKHZvaWQpIFB5TWV0aG9kX0Zpbmkodm9pZCk7Ci1QeUFQSV9GVU5DKHZvaWQpIFB5RnJhbWVfRmluaSh2b2lkKTsKLVB5QVBJX0ZVTkModm9pZCkgUHlDRnVuY3Rpb25fRmluaSh2b2lkKTsKLVB5QVBJX0ZVTkModm9pZCkgUHlEaWN0X0Zpbmkodm9pZCk7Ci1QeUFQSV9GVU5DKHZvaWQpIFB5VHVwbGVfRmluaSh2b2lkKTsKLVB5QVBJX0ZVTkModm9pZCkgUHlMaXN0X0Zpbmkodm9pZCk7Ci1QeUFQSV9GVU5DKHZvaWQpIFB5U2V0X0Zpbmkodm9pZCk7Ci1QeUFQSV9GVU5DKHZvaWQpIFB5Qnl0ZXNfRmluaSh2b2lkKTsKLVB5QVBJX0ZVTkModm9pZCkgUHlCeXRlQXJyYXlfRmluaSh2b2lkKTsKLVB5QVBJX0ZVTkModm9pZCkgUHlGbG9hdF9GaW5pKHZvaWQpOwotUHlBUElfRlVOQyh2b2lkKSBQeU9TX0ZpbmlJbnRlcnJ1cHRzKHZvaWQpOwotUHlBUElfRlVOQyh2b2lkKSBfUHlHQ19EdW1wU2h1dGRvd25TdGF0cyh2b2lkKTsKLVB5QVBJX0ZVTkModm9pZCkgX1B5R0NfRmluaSh2b2lkKTsKLVB5QVBJX0ZVTkModm9pZCkgUHlTbGljZV9GaW5pKHZvaWQpOwotUHlBUElfRlVOQyh2b2lkKSBfUHlUeXBlX0Zpbmkodm9pZCk7Ci1QeUFQSV9GVU5DKHZvaWQpIF9QeVJhbmRvbV9GaW5pKHZvaWQpOwotCi1QeUFQSV9EQVRBKFB5VGhyZWFkU3RhdGUgKikgX1B5X0ZpbmFsaXppbmc7Ci0jZW5kaWYKLQogLyogU3R1ZmYgd2l0aCBubyBwcm9wZXIgaG9tZSAoeWV0KSAqLwogI2lmbmRlZiBQeV9MSU1JVEVEX0FQSQogUHlBUElfRlVOQyhjaGFyICopIFB5T1NfUmVhZGxpbmUoRklMRSAqLCBGSUxFICosIGNvbnN0IGNoYXIgKik7CkBAIC0yOTAsMTQgKzE4OCw2IEBACiBQeUFQSV9GVU5DKGludCkgUHlPU19DaGVja1N0YWNrKHZvaWQpOwogI2VuZGlmCiAKLS8qIFNpZ25hbHMgKi8KLXR5cGVkZWYgdm9pZCAoKlB5T1Nfc2lnaGFuZGxlcl90KShpbnQpOwotUHlBUElfRlVOQyhQeU9TX3NpZ2hhbmRsZXJfdCkgUHlPU19nZXRzaWcoaW50KTsKLVB5QVBJX0ZVTkMoUHlPU19zaWdoYW5kbGVyX3QpIFB5T1Nfc2V0c2lnKGludCwgUHlPU19zaWdoYW5kbGVyX3QpOwotCi0vKiBSYW5kb20gKi8KLVB5QVBJX0ZVTkMoaW50KSBfUHlPU19VUmFuZG9tICh2b2lkICpidWZmZXIsIFB5X3NzaXplX3Qgc2l6ZSk7Ci0KICNpZmRlZiBfX2NwbHVzcGx1cwogfQogI2VuZGlmCmRpZmYgLS1naXQgYS9JbmNsdWRlL3B5dGltZS5oIGIvSW5jbHVkZS9weXRpbWUuaAppbmRleCBiMGZjNmQwLi43YTE0NDU2IDEwMDY0NAotLS0gYS9JbmNsdWRlL3B5dGltZS5oCisrKyBiL0luY2x1ZGUvcHl0aW1lLmgKQEAgLTM3LDcgKzM3LDcgQEAKIAogLyogU2ltaWxhciB0byBfUHlUaW1lX2dldHRpbWVvZmRheSgpIGJ1dCByZXRyaWV2ZSBhbHNvIGluZm9ybWF0aW9uIG9uIHRoZQogICogY2xvY2sgdXNlZCB0byBnZXQgdGhlIGN1cnJlbnQgdGltZS4gKi8KLVB5QVBJX0ZVTkModm9pZCkgX1B5VGltZV9nZXR0aW1lb2ZkYXlfaW5mbygKK1B5QVBJX0ZVTkMoaW50KSBfUHlUaW1lX2dldHRpbWVvZmRheV9pbmZvKAogICAgIF9QeVRpbWVfdGltZXZhbCAqdHAsCiAgICAgX1B5X2Nsb2NrX2luZm9fdCAqaW5mbyk7CiAKQEAgLTUyLDggKzUyLDYgQEAKICAgICAoKHR2X2VuZC50dl9zZWMgLSB0dl9zdGFydC50dl9zZWMpICsgXAogICAgICAodHZfZW5kLnR2X3VzZWMgLSB0dl9zdGFydC50dl91c2VjKSAqIDAuMDAwMDAxKQogCi0jaWZuZGVmIFB5X0xJTUlURURfQVBJCi0KIHR5cGVkZWYgZW51bSB7CiAgICAgLyogUm91bmQgdG93YXJkcyB6ZXJvLiAqLwogICAgIF9QeVRpbWVfUk9VTkRfRE9XTj0wLApAQCAtOTIsMTAgKzkwLDI4IEBACiAgICAgdGltZV90ICpzZWMsCiAgICAgbG9uZyAqbnNlYywKICAgICBfUHlUaW1lX3JvdW5kX3QpOwotI2VuZGlmCiAKLS8qIER1bW15IHRvIGZvcmNlIGxpbmtpbmcuICovCi1QeUFQSV9GVU5DKHZvaWQpIF9QeVRpbWVfSW5pdCh2b2lkKTsKKy8qIEdldCB0aGUgdGltZSBvZiBhIG1vbm90b25pYyBjbG9jaywgaS5lLiBhIGNsb2NrIHRoYXQgY2Fubm90IGdvIGJhY2t3YXJkcy4KKyAgIFRoZSBjbG9jayBpcyBub3QgYWZmZWN0ZWQgYnkgc3lzdGVtIGNsb2NrIHVwZGF0ZXMuIFRoZSByZWZlcmVuY2UgcG9pbnQgb2YKKyAgIHRoZSByZXR1cm5lZCB2YWx1ZSBpcyB1bmRlZmluZWQsIHNvIHRoYXQgb25seSB0aGUgZGlmZmVyZW5jZSBiZXR3ZWVuIHRoZQorICAgcmVzdWx0cyBvZiBjb25zZWN1dGl2ZSBjYWxscyBpcyB2YWxpZC4KKworICAgVGhlIGZ1bmN0aW9uIG5ldmVyIGZhaWxzLiBfUHlUaW1lX0luaXQoKSBlbnN1cmVzIHRoYXQgYSBtb25vdG9uaWMgY2xvY2sKKyAgIGlzIGF2YWlsYWJsZSBhbmQgd29ya3MuICovCitQeUFQSV9GVU5DKHZvaWQpIF9QeVRpbWVfbW9ub3RvbmljKAorICAgIF9QeVRpbWVfdGltZXZhbCAqdHApOworCisvKiBTaW1pbGFyIHRvIF9QeVRpbWVfbW9ub3RvbmljKCksIGZpbGwgYWxzbyBpbmZvIChpZiBzZXQpIHdpdGggaW5mb3JtYXRpb24gb2YKKyAgIHRoZSBmdW5jdGlvbiB1c2VkIHRvIGdldCB0aGUgdGltZS4KKworICAgUmV0dXJuIDAgb24gc3VjY2VzcywgcmFpc2UgYW4gZXhjZXB0aW9uIGFuZCByZXR1cm4gLTEgb24gZXJyb3IuICovCitQeUFQSV9GVU5DKGludCkgX1B5VGltZV9tb25vdG9uaWNfaW5mbygKKyAgICBfUHlUaW1lX3RpbWV2YWwgKnRwLAorICAgIF9QeV9jbG9ja19pbmZvX3QgKmluZm8pOworCisvKiBJbml0aWFsaXplIHRpbWUuCisgICBSZXR1cm4gMCBvbiBzdWNjZXNzLCByYWlzZSBhbiBleGNlcHRpb24gYW5kIHJldHVybiAtMSBvbiBlcnJvci4gKi8KK1B5QVBJX0ZVTkMoaW50KSBfUHlUaW1lX0luaXQodm9pZCk7CiAKICNpZmRlZiBfX2NwbHVzcGx1cwogfQpkaWZmIC0tZ2l0IGEvSW5jbHVkZS9zZXRvYmplY3QuaCBiL0luY2x1ZGUvc2V0b2JqZWN0LmgKaW5kZXggYWUzZjU1Ni4uZjE3YmMxYiAxMDA2NDQKLS0tIGEvSW5jbHVkZS9zZXRvYmplY3QuaAorKysgYi9JbmNsdWRlL3NldG9iamVjdC5oCkBAIC02LDM4ICs2LDQzIEBACiBleHRlcm4gIkMiIHsKICNlbmRpZgogCisjaWZuZGVmIFB5X0xJTUlURURfQVBJCiAKLS8qCi1UaGVyZSBhcmUgdGhyZWUga2luZHMgb2Ygc2xvdHMgaW4gdGhlIHRhYmxlOgorLyogVGhlcmUgYXJlIHRocmVlIGtpbmRzIG9mIGVudHJpZXMgaW4gdGhlIHRhYmxlOgogCiAxLiBVbnVzZWQ6ICBrZXkgPT0gTlVMTAogMi4gQWN0aXZlOiAga2V5ICE9IE5VTEwgYW5kIGtleSAhPSBkdW1teQogMy4gRHVtbXk6ICAga2V5ID09IGR1bW15CiAKLU5vdGU6IC5wb3AoKSBhYnVzZXMgdGhlIGhhc2ggZmllbGQgb2YgYW4gVW51c2VkIG9yIER1bW15IHNsb3QgdG8KLWhvbGQgYSBzZWFyY2ggZmluZ2VyLiAgVGhlIGhhc2ggZmllbGQgb2YgVW51c2VkIG9yIER1bW15IHNsb3RzIGhhcwotbm8gbWVhbmluZyBvdGhlcndpc2UuCitUaGUgaGFzaCBmaWVsZCBvZiBVbnVzZWQgc2xvdHMgaGF2ZSBubyBtZWFuaW5nLgorVGhlIGhhc2ggZmllbGQgb2YgRHVtbW55IHNsb3RzIGFyZSBzZXQgdG8gLTEKK21lYW5pbmcgdGhhdCBkdW1teSBlbnRyaWVzIGNhbiBiZSBkZXRlY3RlZCBieQorZWl0aGVyIGVudHJ5LT5rZXk9PWR1bW15IG9yIGJ5IGVudHJ5LT5oYXNoPT0tMS4KICovCi0jaWZuZGVmIFB5X0xJTUlURURfQVBJCisKICNkZWZpbmUgUHlTZXRfTUlOU0laRSA4CiAKIHR5cGVkZWYgc3RydWN0IHsKLSAgICAvKiBDYWNoZWQgaGFzaCBjb2RlIG9mIHRoZSBrZXkuICovCiAgICAgUHlPYmplY3QgKmtleTsKLSAgICBQeV9oYXNoX3QgaGFzaDsKKyAgICBQeV9oYXNoX3QgaGFzaDsgICAgICAgICAgICAgLyogQ2FjaGVkIGhhc2ggY29kZSBvZiB0aGUga2V5ICovCiB9IHNldGVudHJ5OwogCisvKiBUaGUgU2V0T2JqZWN0IGRhdGEgc3RydWN0dXJlIGlzIHNoYXJlZCBieSBzZXQgYW5kIGZyb3plbnNldCBvYmplY3RzLgogCi0vKgotVGhpcyBkYXRhIHN0cnVjdHVyZSBpcyBzaGFyZWQgYnkgc2V0IGFuZCBmcm96ZW5zZXQgb2JqZWN0cy4KK0ludmFyaWFudCBmb3Igc2V0czoKKyAtIGhhc2ggaXMgLTEKKworSW52YXJpYW50cyBmb3IgZnJvemVuc2V0czoKKyAtIGRhdGEgaXMgaW1tdXRhYmxlLgorIC0gaGFzaCBpcyB0aGUgaGFzaCBvZiB0aGUgZnJvemVuc2V0IG9yIC0xIGlmIG5vdCBjb21wdXRlZCB5ZXQuCisKICovCiAKLXR5cGVkZWYgc3RydWN0IF9zZXRvYmplY3QgUHlTZXRPYmplY3Q7Ci1zdHJ1Y3QgX3NldG9iamVjdCB7Cit0eXBlZGVmIHN0cnVjdCB7CiAgICAgUHlPYmplY3RfSEVBRAogCi0gICAgUHlfc3NpemVfdCBmaWxsOyAgLyogIyBBY3RpdmUgKyAjIER1bW15ICovCi0gICAgUHlfc3NpemVfdCB1c2VkOyAgLyogIyBBY3RpdmUgKi8KKyAgICBQeV9zc2l6ZV90IGZpbGw7ICAgICAgICAgICAgLyogTnVtYmVyIGFjdGl2ZSBhbmQgZHVtbXkgZW50cmllcyovCisgICAgUHlfc3NpemVfdCB1c2VkOyAgICAgICAgICAgIC8qIE51bWJlciBhY3RpdmUgZW50cmllcyAqLwogCiAgICAgLyogVGhlIHRhYmxlIGNvbnRhaW5zIG1hc2sgKyAxIHNsb3RzLCBhbmQgdGhhdCdzIGEgcG93ZXIgb2YgMi4KICAgICAgKiBXZSBzdG9yZSB0aGUgbWFzayBpbnN0ZWFkIG9mIHRoZSBzaXplIGJlY2F1c2UgdGhlIG1hc2sgaXMgbW9yZQpAQCAtNDUsMzMgKzUwLDQyIEBACiAgICAgICovCiAgICAgUHlfc3NpemVfdCBtYXNrOwogCi0gICAgLyogdGFibGUgcG9pbnRzIHRvIHNtYWxsdGFibGUgZm9yIHNtYWxsIHRhYmxlcywgZWxzZSB0bwotICAgICAqIGFkZGl0aW9uYWwgbWFsbG9jJ2VkIG1lbW9yeS4gIHRhYmxlIGlzIG5ldmVyIE5VTEwhICBUaGlzIHJ1bGUKLSAgICAgKiBzYXZlcyByZXBlYXRlZCBydW50aW1lIG51bGwtdGVzdHMuCisgICAgLyogVGhlIHRhYmxlIHBvaW50cyB0byBhIGZpeGVkLXNpemUgc21hbGx0YWJsZSBmb3Igc21hbGwgdGFibGVzCisgICAgICogb3IgdG8gYWRkaXRpb25hbCBtYWxsb2MnZWQgbWVtb3J5IGZvciBiaWdnZXIgdGFibGVzLgorICAgICAqIFRoZSB0YWJsZSBwb2ludGVyIGlzIG5ldmVyIE5VTEwgd2hpY2ggc2F2ZXMgdXMgZnJvbSByZXBlYXRlZAorICAgICAqIHJ1bnRpbWUgbnVsbC10ZXN0cy4KICAgICAgKi8KICAgICBzZXRlbnRyeSAqdGFibGU7Ci0gICAgc2V0ZW50cnkgKigqbG9va3VwKShQeVNldE9iamVjdCAqc28sIFB5T2JqZWN0ICprZXksIFB5X2hhc2hfdCBoYXNoKTsKLSAgICBQeV9oYXNoX3QgaGFzaDsgICAgICAgICAgICAgLyogb25seSB1c2VkIGJ5IGZyb3plbnNldCBvYmplY3RzICovCi0gICAgc2V0ZW50cnkgc21hbGx0YWJsZVtQeVNldF9NSU5TSVpFXTsKKyAgICBQeV9oYXNoX3QgaGFzaDsgICAgICAgICAgICAgLyogT25seSB1c2VkIGJ5IGZyb3plbnNldCBvYmplY3RzICovCisgICAgUHlfc3NpemVfdCBmaW5nZXI7ICAgICAgICAgIC8qIFNlYXJjaCBmaW5nZXIgZm9yIHBvcCgpICovCiAKKyAgICBzZXRlbnRyeSBzbWFsbHRhYmxlW1B5U2V0X01JTlNJWkVdOwogICAgIFB5T2JqZWN0ICp3ZWFrcmVmbGlzdDsgICAgICAvKiBMaXN0IG9mIHdlYWsgcmVmZXJlbmNlcyAqLwotfTsKLSNlbmRpZiAvKiBQeV9MSU1JVEVEX0FQSSAqLworfSBQeVNldE9iamVjdDsKKworI2RlZmluZSBQeVNldF9HRVRfU0laRShzbykgKCgoUHlTZXRPYmplY3QgKikoc28pKS0+dXNlZCkKKworUHlBUElfREFUQShQeU9iamVjdCAqKSBfUHlTZXRfRHVtbXk7CisKK1B5QVBJX0ZVTkMoaW50KSBfUHlTZXRfTmV4dEVudHJ5KFB5T2JqZWN0ICpzZXQsIFB5X3NzaXplX3QgKnBvcywgUHlPYmplY3QgKiprZXksIFB5X2hhc2hfdCAqaGFzaCk7CitQeUFQSV9GVU5DKGludCkgX1B5U2V0X1VwZGF0ZShQeU9iamVjdCAqc2V0LCBQeU9iamVjdCAqaXRlcmFibGUpOworUHlBUElfRlVOQyhpbnQpIFB5U2V0X0NsZWFyRnJlZUxpc3Qodm9pZCk7CisKKyNlbmRpZiAvKiBTZWN0aW9uIGV4Y2x1ZGVkIGJ5IFB5X0xJTUlURURfQVBJICovCiAKIFB5QVBJX0RBVEEoUHlUeXBlT2JqZWN0KSBQeVNldF9UeXBlOwogUHlBUElfREFUQShQeVR5cGVPYmplY3QpIFB5RnJvemVuU2V0X1R5cGU7CiBQeUFQSV9EQVRBKFB5VHlwZU9iamVjdCkgUHlTZXRJdGVyX1R5cGU7Ci0jaWZuZGVmIFB5X0xJTUlURURfQVBJCi1QeUFQSV9EQVRBKFB5T2JqZWN0ICopIF9QeVNldF9EdW1teTsKLSNlbmRpZgogCitQeUFQSV9GVU5DKFB5T2JqZWN0ICopIFB5U2V0X05ldyhQeU9iamVjdCAqKTsKK1B5QVBJX0ZVTkMoUHlPYmplY3QgKikgUHlGcm96ZW5TZXRfTmV3KFB5T2JqZWN0ICopOwogCi0vKiBJbnZhcmlhbnRzIGZvciBmcm96ZW5zZXRzOgotICogICAgIGRhdGEgaXMgaW1tdXRhYmxlLgotICogICAgIGhhc2ggaXMgdGhlIGhhc2ggb2YgdGhlIGZyb3plbnNldCBvciAtMSBpZiBub3QgY29tcHV0ZWQgeWV0LgotICogSW52YXJpYW50cyBmb3Igc2V0czoKLSAqICAgICBoYXNoIGlzIC0xCi0gKi8KK1B5QVBJX0ZVTkMoaW50KSBQeVNldF9BZGQoUHlPYmplY3QgKnNldCwgUHlPYmplY3QgKmtleSk7CitQeUFQSV9GVU5DKGludCkgUHlTZXRfQ2xlYXIoUHlPYmplY3QgKnNldCk7CitQeUFQSV9GVU5DKGludCkgUHlTZXRfQ29udGFpbnMoUHlPYmplY3QgKmFueXNldCwgUHlPYmplY3QgKmtleSk7CitQeUFQSV9GVU5DKGludCkgUHlTZXRfRGlzY2FyZChQeU9iamVjdCAqc2V0LCBQeU9iamVjdCAqa2V5KTsKK1B5QVBJX0ZVTkMoUHlPYmplY3QgKikgUHlTZXRfUG9wKFB5T2JqZWN0ICpzZXQpOworUHlBUElfRlVOQyhQeV9zc2l6ZV90KSBQeVNldF9TaXplKFB5T2JqZWN0ICphbnlzZXQpOwogCiAjZGVmaW5lIFB5RnJvemVuU2V0X0NoZWNrRXhhY3Qob2IpIChQeV9UWVBFKG9iKSA9PSAmUHlGcm96ZW5TZXRfVHlwZSkKICNkZWZpbmUgUHlBbnlTZXRfQ2hlY2tFeGFjdChvYikgXApAQCAtODcsMjYgKzEwMSw2IEBACiAgICAgKFB5X1RZUEUob2IpID09ICZQeUZyb3plblNldF9UeXBlIHx8IFwKICAgICAgIFB5VHlwZV9Jc1N1YnR5cGUoUHlfVFlQRShvYiksICZQeUZyb3plblNldF9UeXBlKSkKIAotUHlBUElfRlVOQyhQeU9iamVjdCAqKSBQeVNldF9OZXcoUHlPYmplY3QgKik7Ci1QeUFQSV9GVU5DKFB5T2JqZWN0ICopIFB5RnJvemVuU2V0X05ldyhQeU9iamVjdCAqKTsKLVB5QVBJX0ZVTkMoUHlfc3NpemVfdCkgUHlTZXRfU2l6ZShQeU9iamVjdCAqYW55c2V0KTsKLSNpZm5kZWYgUHlfTElNSVRFRF9BUEkKLSNkZWZpbmUgUHlTZXRfR0VUX1NJWkUoc28pICgoKFB5U2V0T2JqZWN0ICopKHNvKSktPnVzZWQpCi0jZW5kaWYKLVB5QVBJX0ZVTkMoaW50KSBQeVNldF9DbGVhcihQeU9iamVjdCAqc2V0KTsKLVB5QVBJX0ZVTkMoaW50KSBQeVNldF9Db250YWlucyhQeU9iamVjdCAqYW55c2V0LCBQeU9iamVjdCAqa2V5KTsKLVB5QVBJX0ZVTkMoaW50KSBQeVNldF9EaXNjYXJkKFB5T2JqZWN0ICpzZXQsIFB5T2JqZWN0ICprZXkpOwotUHlBUElfRlVOQyhpbnQpIFB5U2V0X0FkZChQeU9iamVjdCAqc2V0LCBQeU9iamVjdCAqa2V5KTsKLSNpZm5kZWYgUHlfTElNSVRFRF9BUEkKLVB5QVBJX0ZVTkMoaW50KSBfUHlTZXRfTmV4dEVudHJ5KFB5T2JqZWN0ICpzZXQsIFB5X3NzaXplX3QgKnBvcywgUHlPYmplY3QgKiprZXksIFB5X2hhc2hfdCAqaGFzaCk7Ci0jZW5kaWYKLVB5QVBJX0ZVTkMoUHlPYmplY3QgKikgUHlTZXRfUG9wKFB5T2JqZWN0ICpzZXQpOwotI2lmbmRlZiBQeV9MSU1JVEVEX0FQSQotUHlBUElfRlVOQyhpbnQpIF9QeVNldF9VcGRhdGUoUHlPYmplY3QgKnNldCwgUHlPYmplY3QgKml0ZXJhYmxlKTsKLQotUHlBUElfRlVOQyhpbnQpIFB5U2V0X0NsZWFyRnJlZUxpc3Qodm9pZCk7Ci0jZW5kaWYKLQogI2lmZGVmIF9fY3BsdXNwbHVzCiB9CiAjZW5kaWYKZGlmZiAtLWdpdCBhL0luY2x1ZGUvdG9rZW4uaCBiL0luY2x1ZGUvdG9rZW4uaAppbmRleCA5MDUwMjJiLi4yYjIxM2VlIDEwMDY0NAotLS0gYS9JbmNsdWRlL3Rva2VuLmgKKysrIGIvSW5jbHVkZS90b2tlbi5oCkBAIC01OCwxMyArNTgsMTQgQEAKICNkZWZpbmUgRE9VQkxFU1RBUkVRVUFMCTQ2CiAjZGVmaW5lIERPVUJMRVNMQVNICTQ3CiAjZGVmaW5lIERPVUJMRVNMQVNIRVFVQUwgNDgKLSNkZWZpbmUgQVQgICAgICAgICAgICAgIDQ5CQotI2RlZmluZSBSQVJST1cgICAgICAgICAgNTAKLSNkZWZpbmUgRUxMSVBTSVMgICAgICAgIDUxCisjZGVmaW5lIEFUICAgICAgICAgICAgICA0OQorI2RlZmluZSBBVEVRVUFMCQk1MAorI2RlZmluZSBSQVJST1cgICAgICAgICAgNTEKKyNkZWZpbmUgRUxMSVBTSVMgICAgICAgIDUyCiAvKiBEb24ndCBmb3JnZXQgdG8gdXBkYXRlIHRoZSB0YWJsZSBfUHlQYXJzZXJfVG9rZW5OYW1lcyBpbiB0b2tlbml6ZXIuYyEgKi8KLSNkZWZpbmUgT1AJCTUyCi0jZGVmaW5lIEVSUk9SVE9LRU4JNTMKLSNkZWZpbmUgTl9UT0tFTlMJNTQKKyNkZWZpbmUgT1AJCTUzCisjZGVmaW5lIEVSUk9SVE9LRU4JNTQKKyNkZWZpbmUgTl9UT0tFTlMJNTUKIAogLyogU3BlY2lhbCBkZWZpbml0aW9ucyBmb3IgY29vcGVyYXRpb24gd2l0aCBwYXJzZXIgKi8KIApkaWZmIC0tZ2l0IGEvSW5jbHVkZS90eXBlc2xvdHMuaCBiL0luY2x1ZGUvdHlwZXNsb3RzLmgKaW5kZXggYWQzY2RmYi4uZGEyZTg3YyAxMDA2NDQKLS0tIGEvSW5jbHVkZS90eXBlc2xvdHMuaAorKysgYi9JbmNsdWRlL3R5cGVzbG90cy5oCkBAIC03NCwzICs3NCw1IEBACiAjZGVmaW5lIFB5X3RwX21lbWJlcnMgNzIKICNkZWZpbmUgUHlfdHBfZ2V0c2V0IDczCiAjZGVmaW5lIFB5X3RwX2ZyZWUgNzQKKyNkZWZpbmUgUHlfbmJfbWF0cml4X211bHRpcGx5IDc1CisjZGVmaW5lIFB5X25iX2lucGxhY2VfbWF0cml4X211bHRpcGx5IDc2CmRpZmYgLS1naXQgYS9JbmNsdWRlL3VuaWNvZGVvYmplY3QuaCBiL0luY2x1ZGUvdW5pY29kZW9iamVjdC5oCmluZGV4IGQ3YjJhY2UuLjgxNGQ3YzAgMTAwNjQ0Ci0tLSBhL0luY2x1ZGUvdW5pY29kZW9iamVjdC5oCisrKyBiL0luY2x1ZGUvdW5pY29kZW9iamVjdC5oCkBAIC0yMjQ1LDYgKzIyNDUsOCBAQAogICAgIFB5X1VOSUNPREUgYwogICAgICk7CiAKK1B5QVBJX0ZVTkMoUHlPYmplY3QqKSBfUHlVbmljb2RlX0Zvcm1hdExvbmcoUHlPYmplY3QgKiwgaW50LCBpbnQsIGludCk7CisKIC8qIENyZWF0ZSBhIGNvcHkgb2YgYSB1bmljb2RlIHN0cmluZyBlbmRpbmcgd2l0aCBhIG51bCBjaGFyYWN0ZXIuIFJldHVybiBOVUxMCiAgICBhbmQgcmFpc2UgYSBNZW1vcnlFcnJvciBleGNlcHRpb24gb24gbWVtb3J5IGFsbG9jYXRpb24gZmFpbHVyZSwgb3RoZXJ3aXNlCiAgICByZXR1cm4gYSBuZXcgYWxsb2NhdGVkIGJ1ZmZlciAodXNlIFB5TWVtX0ZyZWUoKSB0byBmcmVlIHRoZSBidWZmZXIpLiAqLwpkaWZmIC0tZ2l0IGEvTGliL19jb2xsZWN0aW9uc19hYmMucHkgYi9MaWIvX2NvbGxlY3Rpb25zX2FiYy5weQppbmRleCAzM2I1OWFiLi4zZDNmMDdiIDEwMDY0NAotLS0gYS9MaWIvX2NvbGxlY3Rpb25zX2FiYy5weQorKysgYi9MaWIvX2NvbGxlY3Rpb25zX2FiYy5weQpAQCAtNDUzLDYgKzQ1Myw4IEBACiAKIGNsYXNzIE1hcHBpbmdWaWV3KFNpemVkKToKIAorICAgIF9fc2xvdHNfXyA9ICdfbWFwcGluZycsCisKICAgICBkZWYgX19pbml0X18oc2VsZiwgbWFwcGluZyk6CiAgICAgICAgIHNlbGYuX21hcHBpbmcgPSBtYXBwaW5nCiAKQEAgLTQ2NSw2ICs0NjcsOCBAQAogCiBjbGFzcyBLZXlzVmlldyhNYXBwaW5nVmlldywgU2V0KToKIAorICAgIF9fc2xvdHNfXyA9ICgpCisKICAgICBAY2xhc3NtZXRob2QKICAgICBkZWYgX2Zyb21faXRlcmFibGUoc2VsZiwgaXQpOgogICAgICAgICByZXR1cm4gc2V0KGl0KQpAQCAtNDgwLDYgKzQ4NCw4IEBACiAKIGNsYXNzIEl0ZW1zVmlldyhNYXBwaW5nVmlldywgU2V0KToKIAorICAgIF9fc2xvdHNfXyA9ICgpCisKICAgICBAY2xhc3NtZXRob2QKICAgICBkZWYgX2Zyb21faXRlcmFibGUoc2VsZiwgaXQpOgogICAgICAgICByZXR1cm4gc2V0KGl0KQpAQCAtNTAyLDYgKzUwOCw4IEBACiAKIGNsYXNzIFZhbHVlc1ZpZXcoTWFwcGluZ1ZpZXcpOgogCisgICAgX19zbG90c19fID0gKCkKKwogICAgIGRlZiBfX2NvbnRhaW5zX18oc2VsZiwgdmFsdWUpOgogICAgICAgICBmb3Iga2V5IGluIHNlbGYuX21hcHBpbmc6CiAgICAgICAgICAgICBpZiB2YWx1ZSA9PSBzZWxmLl9tYXBwaW5nW2tleV06CmRpZmYgLS1naXQgYS9MaWIvX2R1bW15X3RocmVhZC5weSBiL0xpYi9fZHVtbXlfdGhyZWFkLnB5CmluZGV4IGI2N2NmYjkuLjM2ZTVmMzggMTAwNjQ0Ci0tLSBhL0xpYi9fZHVtbXlfdGhyZWFkLnB5CisrKyBiL0xpYi9fZHVtbXlfdGhyZWFkLnB5CkBAIC0xNDAsNiArMTQwLDE0IEBACiAgICAgZGVmIGxvY2tlZChzZWxmKToKICAgICAgICAgcmV0dXJuIHNlbGYubG9ja2VkX3N0YXR1cwogCisgICAgZGVmIF9fcmVwcl9fKHNlbGYpOgorICAgICAgICByZXR1cm4gIjwlcyAlcy4lcyBvYmplY3QgYXQgJXM+IiAlICgKKyAgICAgICAgICAgICJsb2NrZWQiIGlmIHNlbGYubG9ja2VkX3N0YXR1cyBlbHNlICJ1bmxvY2tlZCIsCisgICAgICAgICAgICBzZWxmLl9fY2xhc3NfXy5fX21vZHVsZV9fLAorICAgICAgICAgICAgc2VsZi5fX2NsYXNzX18uX19xdWFsbmFtZV9fLAorICAgICAgICAgICAgaGV4KGlkKHNlbGYpKQorICAgICAgICApCisKICMgVXNlZCB0byBzaWduYWwgdGhhdCBpbnRlcnJ1cHRfbWFpbiB3YXMgY2FsbGVkIGluIGEgInRocmVhZCIKIF9pbnRlcnJ1cHQgPSBGYWxzZQogIyBUcnVlIHdoZW4gbm90IGV4ZWN1dGluZyBpbiBhICJ0aHJlYWQiCmRpZmYgLS1naXQgYS9MaWIvX3B5ZGVjaW1hbC5weSBiL0xpYi9fcHlkZWNpbWFsLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNhNmM0YmQKLS0tIC9kZXYvbnVsbAorKysgYi9MaWIvX3B5ZGVjaW1hbC5weQpAQCAtMCwwICsxLDYzODEgQEAKKyMgQ29weXJpZ2h0IChjKSAyMDA0IFB5dGhvbiBTb2Z0d2FyZSBGb3VuZGF0aW9uLgorIyBBbGwgcmlnaHRzIHJlc2VydmVkLgorCisjIFdyaXR0ZW4gYnkgRXJpYyBQcmljZSA8ZXByaWNlIGF0IHRqaHNzdC5lZHU+CisjICAgIGFuZCBGYWN1bmRvIEJhdGlzdGEgPGZhY3VuZG8gYXQgdGFuaXF1ZXRpbC5jb20uYXI+CisjICAgIGFuZCBSYXltb25kIEhldHRpbmdlciA8cHl0aG9uIGF0IHJjbi5jb20+CisjICAgIGFuZCBBYWh6IDxhYWh6IGF0IHBvYm94LmNvbT4KKyMgICAgYW5kIFRpbSBQZXRlcnMKKworIyBUaGlzIG1vZHVsZSBzaG91bGQgYmUga2VwdCBpbiBzeW5jIHdpdGggdGhlIGxhdGVzdCB1cGRhdGVzIG9mIHRoZQorIyBJQk0gc3BlY2lmaWNhdGlvbiBhcyBpdCBldm9sdmVzLiAgVGhvc2UgdXBkYXRlcyB3aWxsIGJlIHRyZWF0ZWQKKyMgYXMgYnVnIGZpeGVzIChkZXZpYXRpb24gZnJvbSB0aGUgc3BlYyBpcyBhIGNvbXBhdGliaWxpdHksIHVzYWJpbGl0eQorIyBidWcpIGFuZCB3aWxsIGJlIGJhY2twb3J0ZWQuICBBdCB0aGlzIHBvaW50IHRoZSBzcGVjIGlzIHN0YWJpbGl6aW5nCisjIGFuZCB0aGUgdXBkYXRlcyBhcmUgYmVjb21pbmcgZmV3ZXIsIHNtYWxsZXIsIGFuZCBsZXNzIHNpZ25pZmljYW50LgorCisiIiIKK1RoaXMgaXMgYW4gaW1wbGVtZW50YXRpb24gb2YgZGVjaW1hbCBmbG9hdGluZyBwb2ludCBhcml0aG1ldGljIGJhc2VkIG9uCit0aGUgR2VuZXJhbCBEZWNpbWFsIEFyaXRobWV0aWMgU3BlY2lmaWNhdGlvbjoKKworICAgIGh0dHA6Ly9zcGVsZW90cm92ZS5jb20vZGVjaW1hbC9kZWNhcml0aC5odG1sCisKK2FuZCBJRUVFIHN0YW5kYXJkIDg1NC0xOTg3OgorCisgICAgaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9JRUVFXzg1NC0xOTg3CisKK0RlY2ltYWwgZmxvYXRpbmcgcG9pbnQgaGFzIGZpbml0ZSBwcmVjaXNpb24gd2l0aCBhcmJpdHJhcmlseSBsYXJnZSBib3VuZHMuCisKK1RoZSBwdXJwb3NlIG9mIHRoaXMgbW9kdWxlIGlzIHRvIHN1cHBvcnQgYXJpdGhtZXRpYyB1c2luZyBmYW1pbGlhcgorInNjaG9vbGhvdXNlIiBydWxlcyBhbmQgdG8gYXZvaWQgc29tZSBvZiB0aGUgdHJpY2t5IHJlcHJlc2VudGF0aW9uCitpc3N1ZXMgYXNzb2NpYXRlZCB3aXRoIGJpbmFyeSBmbG9hdGluZyBwb2ludC4gIFRoZSBwYWNrYWdlIGlzIGVzcGVjaWFsbHkKK3VzZWZ1bCBmb3IgZmluYW5jaWFsIGFwcGxpY2F0aW9ucyBvciBmb3IgY29udGV4dHMgd2hlcmUgdXNlcnMgaGF2ZQorZXhwZWN0YXRpb25zIHRoYXQgYXJlIGF0IG9kZHMgd2l0aCBiaW5hcnkgZmxvYXRpbmcgcG9pbnQgKGZvciBpbnN0YW5jZSwKK2luIGJpbmFyeSBmbG9hdGluZyBwb2ludCwgMS4wMCAlIDAuMSBnaXZlcyAwLjA5OTk5OTk5OTk5OTk5OTk1IGluc3RlYWQKK29mIDAuMDsgRGVjaW1hbCgnMS4wMCcpICUgRGVjaW1hbCgnMC4xJykgcmV0dXJucyB0aGUgZXhwZWN0ZWQKK0RlY2ltYWwoJzAuMDAnKSkuCisKK0hlcmUgYXJlIHNvbWUgZXhhbXBsZXMgb2YgdXNpbmcgdGhlIGRlY2ltYWwgbW9kdWxlOgorCis+Pj4gZnJvbSBkZWNpbWFsIGltcG9ydCAqCis+Pj4gc2V0Y29udGV4dChFeHRlbmRlZENvbnRleHQpCis+Pj4gRGVjaW1hbCgwKQorRGVjaW1hbCgnMCcpCis+Pj4gRGVjaW1hbCgnMScpCitEZWNpbWFsKCcxJykKKz4+PiBEZWNpbWFsKCctLjAxMjMnKQorRGVjaW1hbCgnLTAuMDEyMycpCis+Pj4gRGVjaW1hbCgxMjM0NTYpCitEZWNpbWFsKCcxMjM0NTYnKQorPj4+IERlY2ltYWwoJzEyMy40NWUxMjM0NTY3OCcpCitEZWNpbWFsKCcxLjIzNDVFKzEyMzQ1NjgwJykKKz4+PiBEZWNpbWFsKCcxLjMzJykgKyBEZWNpbWFsKCcxLjI3JykKK0RlY2ltYWwoJzIuNjAnKQorPj4+IERlY2ltYWwoJzEyLjM0JykgKyBEZWNpbWFsKCczLjg3JykgLSBEZWNpbWFsKCcxOC40MScpCitEZWNpbWFsKCctMi4yMCcpCis+Pj4gZGlnID0gRGVjaW1hbCgxKQorPj4+IHByaW50KGRpZyAvIERlY2ltYWwoMykpCiswLjMzMzMzMzMzMworPj4+IGdldGNvbnRleHQoKS5wcmVjID0gMTgKKz4+PiBwcmludChkaWcgLyBEZWNpbWFsKDMpKQorMC4zMzMzMzMzMzMzMzMzMzMzMzMKKz4+PiBwcmludChkaWcuc3FydCgpKQorMQorPj4+IHByaW50KERlY2ltYWwoMykuc3FydCgpKQorMS43MzIwNTA4MDc1Njg4NzcyOQorPj4+IHByaW50KERlY2ltYWwoMykgKiogMTIzKQorNC44NTE5Mjc4MDk3Njg5NjQyN0UrNTgKKz4+PiBpbmYgPSBEZWNpbWFsKDEpIC8gRGVjaW1hbCgwKQorPj4+IHByaW50KGluZikKK0luZmluaXR5Cis+Pj4gbmVnaW5mID0gRGVjaW1hbCgtMSkgLyBEZWNpbWFsKDApCis+Pj4gcHJpbnQobmVnaW5mKQorLUluZmluaXR5Cis+Pj4gcHJpbnQobmVnaW5mICsgaW5mKQorTmFOCis+Pj4gcHJpbnQobmVnaW5mICogaW5mKQorLUluZmluaXR5Cis+Pj4gcHJpbnQoZGlnIC8gMCkKK0luZmluaXR5Cis+Pj4gZ2V0Y29udGV4dCgpLnRyYXBzW0RpdmlzaW9uQnlaZXJvXSA9IDEKKz4+PiBwcmludChkaWcgLyAwKQorVHJhY2ViYWNrIChtb3N0IHJlY2VudCBjYWxsIGxhc3QpOgorICAuLi4KKyAgLi4uCisgIC4uLgorZGVjaW1hbC5EaXZpc2lvbkJ5WmVybzogeCAvIDAKKz4+PiBjID0gQ29udGV4dCgpCis+Pj4gYy50cmFwc1tJbnZhbGlkT3BlcmF0aW9uXSA9IDAKKz4+PiBwcmludChjLmZsYWdzW0ludmFsaWRPcGVyYXRpb25dKQorMAorPj4+IGMuZGl2aWRlKERlY2ltYWwoMCksIERlY2ltYWwoMCkpCitEZWNpbWFsKCdOYU4nKQorPj4+IGMudHJhcHNbSW52YWxpZE9wZXJhdGlvbl0gPSAxCis+Pj4gcHJpbnQoYy5mbGFnc1tJbnZhbGlkT3BlcmF0aW9uXSkKKzEKKz4+PiBjLmZsYWdzW0ludmFsaWRPcGVyYXRpb25dID0gMAorPj4+IHByaW50KGMuZmxhZ3NbSW52YWxpZE9wZXJhdGlvbl0pCiswCis+Pj4gcHJpbnQoYy5kaXZpZGUoRGVjaW1hbCgwKSwgRGVjaW1hbCgwKSkpCitUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CisgIC4uLgorICAuLi4KKyAgLi4uCitkZWNpbWFsLkludmFsaWRPcGVyYXRpb246IDAgLyAwCis+Pj4gcHJpbnQoYy5mbGFnc1tJbnZhbGlkT3BlcmF0aW9uXSkKKzEKKz4+PiBjLmZsYWdzW0ludmFsaWRPcGVyYXRpb25dID0gMAorPj4+IGMudHJhcHNbSW52YWxpZE9wZXJhdGlvbl0gPSAwCis+Pj4gcHJpbnQoYy5kaXZpZGUoRGVjaW1hbCgwKSwgRGVjaW1hbCgwKSkpCitOYU4KKz4+PiBwcmludChjLmZsYWdzW0ludmFsaWRPcGVyYXRpb25dKQorMQorPj4+CisiIiIKKworX19hbGxfXyA9IFsKKyAgICAjIFR3byBtYWpvciBjbGFzc2VzCisgICAgJ0RlY2ltYWwnLCAnQ29udGV4dCcsCisKKyAgICAjIE5hbWVkIHR1cGxlIHJlcHJlc2VudGF0aW9uCisgICAgJ0RlY2ltYWxUdXBsZScsCisKKyAgICAjIENvbnRleHRzCisgICAgJ0RlZmF1bHRDb250ZXh0JywgJ0Jhc2ljQ29udGV4dCcsICdFeHRlbmRlZENvbnRleHQnLAorCisgICAgIyBFeGNlcHRpb25zCisgICAgJ0RlY2ltYWxFeGNlcHRpb24nLCAnQ2xhbXBlZCcsICdJbnZhbGlkT3BlcmF0aW9uJywgJ0RpdmlzaW9uQnlaZXJvJywKKyAgICAnSW5leGFjdCcsICdSb3VuZGVkJywgJ1N1Ym5vcm1hbCcsICdPdmVyZmxvdycsICdVbmRlcmZsb3cnLAorICAgICdGbG9hdE9wZXJhdGlvbicsCisKKyAgICAjIEV4Y2VwdGlvbmFsIGNvbmRpdGlvbnMgdGhhdCB0cmlnZ2VyIEludmFsaWRPcGVyYXRpb24KKyAgICAnRGl2aXNpb25JbXBvc3NpYmxlJywgJ0ludmFsaWRDb250ZXh0JywgJ0NvbnZlcnNpb25TeW50YXgnLCAnRGl2aXNpb25VbmRlZmluZWQnLAorCisgICAgIyBDb25zdGFudHMgZm9yIHVzZSBpbiBzZXR0aW5nIHVwIGNvbnRleHRzCisgICAgJ1JPVU5EX0RPV04nLCAnUk9VTkRfSEFMRl9VUCcsICdST1VORF9IQUxGX0VWRU4nLCAnUk9VTkRfQ0VJTElORycsCisgICAgJ1JPVU5EX0ZMT09SJywgJ1JPVU5EX1VQJywgJ1JPVU5EX0hBTEZfRE9XTicsICdST1VORF8wNVVQJywKKworICAgICMgRnVuY3Rpb25zIGZvciBtYW5pcHVsYXRpbmcgY29udGV4dHMKKyAgICAnc2V0Y29udGV4dCcsICdnZXRjb250ZXh0JywgJ2xvY2FsY29udGV4dCcsCisKKyAgICAjIExpbWl0cyBmb3IgdGhlIEMgdmVyc2lvbiBmb3IgY29tcGF0aWJpbGl0eQorICAgICdNQVhfUFJFQycsICAnTUFYX0VNQVgnLCAnTUlOX0VNSU4nLCAnTUlOX0VUSU5ZJywKKworICAgICMgQyB2ZXJzaW9uOiBjb21waWxlIHRpbWUgY2hvaWNlIHRoYXQgZW5hYmxlcyB0aGUgdGhyZWFkIGxvY2FsIGNvbnRleHQKKyAgICAnSEFWRV9USFJFQURTJworXQorCitfX3huYW1lX18gPSBfX25hbWVfXyAgICAjIHN5cy5tb2R1bGVzIGxvb2t1cCAoLS13aXRob3V0LXRocmVhZHMpCitfX25hbWVfXyA9ICdkZWNpbWFsJyAgICAjIEZvciBwaWNrbGluZworX192ZXJzaW9uX18gPSAnMS43MCcgICAgIyBIaWdoZXN0IHZlcnNpb24gb2YgdGhlIHNwZWMgdGhpcyBjb21wbGllcyB3aXRoCisgICAgICAgICAgICAgICAgICAgICAgICAjIFNlZSBodHRwOi8vc3BlbGVvdHJvdmUuY29tL2RlY2ltYWwvCitfX2xpYm1wZGVjX3ZlcnNpb25fXyA9ICIyLjQuMSIgIyBjb21wYXRpYmxlIGxpYm1wZGVjIHZlcnNpb24KKworaW1wb3J0IG1hdGggYXMgX21hdGgKK2ltcG9ydCBudW1iZXJzIGFzIF9udW1iZXJzCitpbXBvcnQgc3lzCisKK3RyeToKKyAgICBmcm9tIGNvbGxlY3Rpb25zIGltcG9ydCBuYW1lZHR1cGxlIGFzIF9uYW1lZHR1cGxlCisgICAgRGVjaW1hbFR1cGxlID0gX25hbWVkdHVwbGUoJ0RlY2ltYWxUdXBsZScsICdzaWduIGRpZ2l0cyBleHBvbmVudCcpCitleGNlcHQgSW1wb3J0RXJyb3I6CisgICAgRGVjaW1hbFR1cGxlID0gbGFtYmRhICphcmdzOiBhcmdzCisKKyMgUm91bmRpbmcKK1JPVU5EX0RPV04gPSAnUk9VTkRfRE9XTicKK1JPVU5EX0hBTEZfVVAgPSAnUk9VTkRfSEFMRl9VUCcKK1JPVU5EX0hBTEZfRVZFTiA9ICdST1VORF9IQUxGX0VWRU4nCitST1VORF9DRUlMSU5HID0gJ1JPVU5EX0NFSUxJTkcnCitST1VORF9GTE9PUiA9ICdST1VORF9GTE9PUicKK1JPVU5EX1VQID0gJ1JPVU5EX1VQJworUk9VTkRfSEFMRl9ET1dOID0gJ1JPVU5EX0hBTEZfRE9XTicKK1JPVU5EXzA1VVAgPSAnUk9VTkRfMDVVUCcKKworIyBDb21wYXRpYmlsaXR5IHdpdGggdGhlIEMgdmVyc2lvbgorSEFWRV9USFJFQURTID0gVHJ1ZQoraWYgc3lzLm1heHNpemUgPT0gMioqNjMtMToKKyAgICBNQVhfUFJFQyA9IDk5OTk5OTk5OTk5OTk5OTk5OQorICAgIE1BWF9FTUFYID0gOTk5OTk5OTk5OTk5OTk5OTk5CisgICAgTUlOX0VNSU4gPSAtOTk5OTk5OTk5OTk5OTk5OTk5CitlbHNlOgorICAgIE1BWF9QUkVDID0gNDI1MDAwMDAwCisgICAgTUFYX0VNQVggPSA0MjUwMDAwMDAKKyAgICBNSU5fRU1JTiA9IC00MjUwMDAwMDAKKworTUlOX0VUSU5ZID0gTUlOX0VNSU4gLSAoTUFYX1BSRUMtMSkKKworIyBFcnJvcnMKKworY2xhc3MgRGVjaW1hbEV4Y2VwdGlvbihBcml0aG1ldGljRXJyb3IpOgorICAgICIiIkJhc2UgZXhjZXB0aW9uIGNsYXNzLgorCisgICAgVXNlZCBleGNlcHRpb25zIGRlcml2ZSBmcm9tIHRoaXMuCisgICAgSWYgYW4gZXhjZXB0aW9uIGRlcml2ZXMgZnJvbSBhbm90aGVyIGV4Y2VwdGlvbiBiZXNpZGVzIHRoaXMgKHN1Y2ggYXMKKyAgICBVbmRlcmZsb3cgKEluZXhhY3QsIFJvdW5kZWQsIFN1Ym5vcm1hbCkgdGhhdCBpbmRpY2F0ZXMgdGhhdCBpdCBpcyBvbmx5CisgICAgY2FsbGVkIGlmIHRoZSBvdGhlcnMgYXJlIHByZXNlbnQuICBUaGlzIGlzbid0IGFjdHVhbGx5IHVzZWQgZm9yCisgICAgYW55dGhpbmcsIHRob3VnaC4KKworICAgIGhhbmRsZSAgLS0gQ2FsbGVkIHdoZW4gY29udGV4dC5fcmFpc2VfZXJyb3IgaXMgY2FsbGVkIGFuZCB0aGUKKyAgICAgICAgICAgICAgIHRyYXBfZW5hYmxlciBpcyBub3Qgc2V0LiAgRmlyc3QgYXJndW1lbnQgaXMgc2VsZiwgc2Vjb25kIGlzIHRoZQorICAgICAgICAgICAgICAgY29udGV4dC4gIE1vcmUgYXJndW1lbnRzIGNhbiBiZSBnaXZlbiwgdGhvc2UgYmVpbmcgYWZ0ZXIKKyAgICAgICAgICAgICAgIHRoZSBleHBsYW5hdGlvbiBpbiBfcmFpc2VfZXJyb3IgKEZvciBleGFtcGxlLAorICAgICAgICAgICAgICAgY29udGV4dC5fcmFpc2VfZXJyb3IoTmV3RXJyb3IsICcoLXgpIScsIHNlbGYuX3NpZ24pIHdvdWxkCisgICAgICAgICAgICAgICBjYWxsIE5ld0Vycm9yKCkuaGFuZGxlKGNvbnRleHQsIHNlbGYuX3NpZ24pLikKKworICAgIFRvIGRlZmluZSBhIG5ldyBleGNlcHRpb24sIGl0IHNob3VsZCBiZSBzdWZmaWNpZW50IHRvIGhhdmUgaXQgZGVyaXZlCisgICAgZnJvbSBEZWNpbWFsRXhjZXB0aW9uLgorICAgICIiIgorICAgIGRlZiBoYW5kbGUoc2VsZiwgY29udGV4dCwgKmFyZ3MpOgorICAgICAgICBwYXNzCisKKworY2xhc3MgQ2xhbXBlZChEZWNpbWFsRXhjZXB0aW9uKToKKyAgICAiIiJFeHBvbmVudCBvZiBhIDAgY2hhbmdlZCB0byBmaXQgYm91bmRzLgorCisgICAgVGhpcyBvY2N1cnMgYW5kIHNpZ25hbHMgY2xhbXBlZCBpZiB0aGUgZXhwb25lbnQgb2YgYSByZXN1bHQgaGFzIGJlZW4KKyAgICBhbHRlcmVkIGluIG9yZGVyIHRvIGZpdCB0aGUgY29uc3RyYWludHMgb2YgYSBzcGVjaWZpYyBjb25jcmV0ZQorICAgIHJlcHJlc2VudGF0aW9uLiAgVGhpcyBtYXkgb2NjdXIgd2hlbiB0aGUgZXhwb25lbnQgb2YgYSB6ZXJvIHJlc3VsdCB3b3VsZAorICAgIGJlIG91dHNpZGUgdGhlIGJvdW5kcyBvZiBhIHJlcHJlc2VudGF0aW9uLCBvciB3aGVuIGEgbGFyZ2Ugbm9ybWFsCisgICAgbnVtYmVyIHdvdWxkIGhhdmUgYW4gZW5jb2RlZCBleHBvbmVudCB0aGF0IGNhbm5vdCBiZSByZXByZXNlbnRlZC4gIEluCisgICAgdGhpcyBsYXR0ZXIgY2FzZSwgdGhlIGV4cG9uZW50IGlzIHJlZHVjZWQgdG8gZml0IGFuZCB0aGUgY29ycmVzcG9uZGluZworICAgIG51bWJlciBvZiB6ZXJvIGRpZ2l0cyBhcmUgYXBwZW5kZWQgdG8gdGhlIGNvZWZmaWNpZW50ICgiZm9sZC1kb3duIikuCisgICAgIiIiCisKK2NsYXNzIEludmFsaWRPcGVyYXRpb24oRGVjaW1hbEV4Y2VwdGlvbik6CisgICAgIiIiQW4gaW52YWxpZCBvcGVyYXRpb24gd2FzIHBlcmZvcm1lZC4KKworICAgIFZhcmlvdXMgYmFkIHRoaW5ncyBjYXVzZSB0aGlzOgorCisgICAgU29tZXRoaW5nIGNyZWF0ZXMgYSBzaWduYWxpbmcgTmFOCisgICAgLUlORiArIElORgorICAgIDAgKiAoKy0pSU5GCisgICAgKCstKUlORiAvICgrLSlJTkYKKyAgICB4ICUgMAorICAgICgrLSlJTkYgJSB4CisgICAgeC5fcmVzY2FsZSggbm9uLWludGVnZXIgKQorICAgIHNxcnQoLXgpICwgeCA+IDAKKyAgICAwICoqIDAKKyAgICB4ICoqIChub24taW50ZWdlcikKKyAgICB4ICoqICgrLSlJTkYKKyAgICBBbiBvcGVyYW5kIGlzIGludmFsaWQKKworICAgIFRoZSByZXN1bHQgb2YgdGhlIG9wZXJhdGlvbiBhZnRlciB0aGVzZSBpcyBhIHF1aWV0IHBvc2l0aXZlIE5hTiwKKyAgICBleGNlcHQgd2hlbiB0aGUgY2F1c2UgaXMgYSBzaWduYWxpbmcgTmFOLCBpbiB3aGljaCBjYXNlIHRoZSByZXN1bHQgaXMKKyAgICBhbHNvIGEgcXVpZXQgTmFOLCBidXQgd2l0aCB0aGUgb3JpZ2luYWwgc2lnbiwgYW5kIGFuIG9wdGlvbmFsCisgICAgZGlhZ25vc3RpYyBpbmZvcm1hdGlvbi4KKyAgICAiIiIKKyAgICBkZWYgaGFuZGxlKHNlbGYsIGNvbnRleHQsICphcmdzKToKKyAgICAgICAgaWYgYXJnczoKKyAgICAgICAgICAgIGFucyA9IF9kZWNfZnJvbV90cmlwbGUoYXJnc1swXS5fc2lnbiwgYXJnc1swXS5faW50LCAnbicsIFRydWUpCisgICAgICAgICAgICByZXR1cm4gYW5zLl9maXhfbmFuKGNvbnRleHQpCisgICAgICAgIHJldHVybiBfTmFOCisKK2NsYXNzIENvbnZlcnNpb25TeW50YXgoSW52YWxpZE9wZXJhdGlvbik6CisgICAgIiIiVHJ5aW5nIHRvIGNvbnZlcnQgYmFkbHkgZm9ybWVkIHN0cmluZy4KKworICAgIFRoaXMgb2NjdXJzIGFuZCBzaWduYWxzIGludmFsaWQtb3BlcmF0aW9uIGlmIGFuIHN0cmluZyBpcyBiZWluZworICAgIGNvbnZlcnRlZCB0byBhIG51bWJlciBhbmQgaXQgZG9lcyBub3QgY29uZm9ybSB0byB0aGUgbnVtZXJpYyBzdHJpbmcKKyAgICBzeW50YXguICBUaGUgcmVzdWx0IGlzIFswLHFOYU5dLgorICAgICIiIgorICAgIGRlZiBoYW5kbGUoc2VsZiwgY29udGV4dCwgKmFyZ3MpOgorICAgICAgICByZXR1cm4gX05hTgorCitjbGFzcyBEaXZpc2lvbkJ5WmVybyhEZWNpbWFsRXhjZXB0aW9uLCBaZXJvRGl2aXNpb25FcnJvcik6CisgICAgIiIiRGl2aXNpb24gYnkgMC4KKworICAgIFRoaXMgb2NjdXJzIGFuZCBzaWduYWxzIGRpdmlzaW9uLWJ5LXplcm8gaWYgZGl2aXNpb24gb2YgYSBmaW5pdGUgbnVtYmVyCisgICAgYnkgemVybyB3YXMgYXR0ZW1wdGVkIChkdXJpbmcgYSBkaXZpZGUtaW50ZWdlciBvciBkaXZpZGUgb3BlcmF0aW9uLCBvciBhCisgICAgcG93ZXIgb3BlcmF0aW9uIHdpdGggbmVnYXRpdmUgcmlnaHQtaGFuZCBvcGVyYW5kKSwgYW5kIHRoZSBkaXZpZGVuZCB3YXMKKyAgICBub3QgemVyby4KKworICAgIFRoZSByZXN1bHQgb2YgdGhlIG9wZXJhdGlvbiBpcyBbc2lnbixpbmZdLCB3aGVyZSBzaWduIGlzIHRoZSBleGNsdXNpdmUKKyAgICBvciBvZiB0aGUgc2lnbnMgb2YgdGhlIG9wZXJhbmRzIGZvciBkaXZpZGUsIG9yIGlzIDEgZm9yIGFuIG9kZCBwb3dlciBvZgorICAgIC0wLCBmb3IgcG93ZXIuCisgICAgIiIiCisKKyAgICBkZWYgaGFuZGxlKHNlbGYsIGNvbnRleHQsIHNpZ24sICphcmdzKToKKyAgICAgICAgcmV0dXJuIF9TaWduZWRJbmZpbml0eVtzaWduXQorCitjbGFzcyBEaXZpc2lvbkltcG9zc2libGUoSW52YWxpZE9wZXJhdGlvbik6CisgICAgIiIiQ2Fubm90IHBlcmZvcm0gdGhlIGRpdmlzaW9uIGFkZXF1YXRlbHkuCisKKyAgICBUaGlzIG9jY3VycyBhbmQgc2lnbmFscyBpbnZhbGlkLW9wZXJhdGlvbiBpZiB0aGUgaW50ZWdlciByZXN1bHQgb2YgYQorICAgIGRpdmlkZS1pbnRlZ2VyIG9yIHJlbWFpbmRlciBvcGVyYXRpb24gaGFkIHRvbyBtYW55IGRpZ2l0cyAod291bGQgYmUKKyAgICBsb25nZXIgdGhhbiBwcmVjaXNpb24pLiAgVGhlIHJlc3VsdCBpcyBbMCxxTmFOXS4KKyAgICAiIiIKKworICAgIGRlZiBoYW5kbGUoc2VsZiwgY29udGV4dCwgKmFyZ3MpOgorICAgICAgICByZXR1cm4gX05hTgorCitjbGFzcyBEaXZpc2lvblVuZGVmaW5lZChJbnZhbGlkT3BlcmF0aW9uLCBaZXJvRGl2aXNpb25FcnJvcik6CisgICAgIiIiVW5kZWZpbmVkIHJlc3VsdCBvZiBkaXZpc2lvbi4KKworICAgIFRoaXMgb2NjdXJzIGFuZCBzaWduYWxzIGludmFsaWQtb3BlcmF0aW9uIGlmIGRpdmlzaW9uIGJ5IHplcm8gd2FzCisgICAgYXR0ZW1wdGVkIChkdXJpbmcgYSBkaXZpZGUtaW50ZWdlciwgZGl2aWRlLCBvciByZW1haW5kZXIgb3BlcmF0aW9uKSwgYW5kCisgICAgdGhlIGRpdmlkZW5kIGlzIGFsc28gemVyby4gIFRoZSByZXN1bHQgaXMgWzAscU5hTl0uCisgICAgIiIiCisKKyAgICBkZWYgaGFuZGxlKHNlbGYsIGNvbnRleHQsICphcmdzKToKKyAgICAgICAgcmV0dXJuIF9OYU4KKworY2xhc3MgSW5leGFjdChEZWNpbWFsRXhjZXB0aW9uKToKKyAgICAiIiJIYWQgdG8gcm91bmQsIGxvc2luZyBpbmZvcm1hdGlvbi4KKworICAgIFRoaXMgb2NjdXJzIGFuZCBzaWduYWxzIGluZXhhY3Qgd2hlbmV2ZXIgdGhlIHJlc3VsdCBvZiBhbiBvcGVyYXRpb24gaXMKKyAgICBub3QgZXhhY3QgKHRoYXQgaXMsIGl0IG5lZWRlZCB0byBiZSByb3VuZGVkIGFuZCBhbnkgZGlzY2FyZGVkIGRpZ2l0cworICAgIHdlcmUgbm9uLXplcm8pLCBvciBpZiBhbiBvdmVyZmxvdyBvciB1bmRlcmZsb3cgY29uZGl0aW9uIG9jY3Vycy4gIFRoZQorICAgIHJlc3VsdCBpbiBhbGwgY2FzZXMgaXMgdW5jaGFuZ2VkLgorCisgICAgVGhlIGluZXhhY3Qgc2lnbmFsIG1heSBiZSB0ZXN0ZWQgKG9yIHRyYXBwZWQpIHRvIGRldGVybWluZSBpZiBhIGdpdmVuCisgICAgb3BlcmF0aW9uIChvciBzZXF1ZW5jZSBvZiBvcGVyYXRpb25zKSB3YXMgaW5leGFjdC4KKyAgICAiIiIKKworY2xhc3MgSW52YWxpZENvbnRleHQoSW52YWxpZE9wZXJhdGlvbik6CisgICAgIiIiSW52YWxpZCBjb250ZXh0LiAgVW5rbm93biByb3VuZGluZywgZm9yIGV4YW1wbGUuCisKKyAgICBUaGlzIG9jY3VycyBhbmQgc2lnbmFscyBpbnZhbGlkLW9wZXJhdGlvbiBpZiBhbiBpbnZhbGlkIGNvbnRleHQgd2FzCisgICAgZGV0ZWN0ZWQgZHVyaW5nIGFuIG9wZXJhdGlvbi4gIFRoaXMgY2FuIG9jY3VyIGlmIGNvbnRleHRzIGFyZSBub3QgY2hlY2tlZAorICAgIG9uIGNyZWF0aW9uIGFuZCBlaXRoZXIgdGhlIHByZWNpc2lvbiBleGNlZWRzIHRoZSBjYXBhYmlsaXR5IG9mIHRoZQorICAgIHVuZGVybHlpbmcgY29uY3JldGUgcmVwcmVzZW50YXRpb24gb3IgYW4gdW5rbm93biBvciB1bnN1cHBvcnRlZCByb3VuZGluZworICAgIHdhcyBzcGVjaWZpZWQuICBUaGVzZSBhc3BlY3RzIG9mIHRoZSBjb250ZXh0IG5lZWQgb25seSBiZSBjaGVja2VkIHdoZW4KKyAgICB0aGUgdmFsdWVzIGFyZSByZXF1aXJlZCB0byBiZSB1c2VkLiAgVGhlIHJlc3VsdCBpcyBbMCxxTmFOXS4KKyAgICAiIiIKKworICAgIGRlZiBoYW5kbGUoc2VsZiwgY29udGV4dCwgKmFyZ3MpOgorICAgICAgICByZXR1cm4gX05hTgorCitjbGFzcyBSb3VuZGVkKERlY2ltYWxFeGNlcHRpb24pOgorICAgICIiIk51bWJlciBnb3Qgcm91bmRlZCAobm90ICBuZWNlc3NhcmlseSBjaGFuZ2VkIGR1cmluZyByb3VuZGluZykuCisKKyAgICBUaGlzIG9jY3VycyBhbmQgc2lnbmFscyByb3VuZGVkIHdoZW5ldmVyIHRoZSByZXN1bHQgb2YgYW4gb3BlcmF0aW9uIGlzCisgICAgcm91bmRlZCAodGhhdCBpcywgc29tZSB6ZXJvIG9yIG5vbi16ZXJvIGRpZ2l0cyB3ZXJlIGRpc2NhcmRlZCBmcm9tIHRoZQorICAgIGNvZWZmaWNpZW50KSwgb3IgaWYgYW4gb3ZlcmZsb3cgb3IgdW5kZXJmbG93IGNvbmRpdGlvbiBvY2N1cnMuICBUaGUKKyAgICByZXN1bHQgaW4gYWxsIGNhc2VzIGlzIHVuY2hhbmdlZC4KKworICAgIFRoZSByb3VuZGVkIHNpZ25hbCBtYXkgYmUgdGVzdGVkIChvciB0cmFwcGVkKSB0byBkZXRlcm1pbmUgaWYgYSBnaXZlbgorICAgIG9wZXJhdGlvbiAob3Igc2VxdWVuY2Ugb2Ygb3BlcmF0aW9ucykgY2F1c2VkIGEgbG9zcyBvZiBwcmVjaXNpb24uCisgICAgIiIiCisKK2NsYXNzIFN1Ym5vcm1hbChEZWNpbWFsRXhjZXB0aW9uKToKKyAgICAiIiJFeHBvbmVudCA8IEVtaW4gYmVmb3JlIHJvdW5kaW5nLgorCisgICAgVGhpcyBvY2N1cnMgYW5kIHNpZ25hbHMgc3Vibm9ybWFsIHdoZW5ldmVyIHRoZSByZXN1bHQgb2YgYSBjb252ZXJzaW9uIG9yCisgICAgb3BlcmF0aW9uIGlzIHN1Ym5vcm1hbCAodGhhdCBpcywgaXRzIGFkanVzdGVkIGV4cG9uZW50IGlzIGxlc3MgdGhhbgorICAgIEVtaW4sIGJlZm9yZSBhbnkgcm91bmRpbmcpLiAgVGhlIHJlc3VsdCBpbiBhbGwgY2FzZXMgaXMgdW5jaGFuZ2VkLgorCisgICAgVGhlIHN1Ym5vcm1hbCBzaWduYWwgbWF5IGJlIHRlc3RlZCAob3IgdHJhcHBlZCkgdG8gZGV0ZXJtaW5lIGlmIGEgZ2l2ZW4KKyAgICBvciBvcGVyYXRpb24gKG9yIHNlcXVlbmNlIG9mIG9wZXJhdGlvbnMpIHlpZWxkZWQgYSBzdWJub3JtYWwgcmVzdWx0LgorICAgICIiIgorCitjbGFzcyBPdmVyZmxvdyhJbmV4YWN0LCBSb3VuZGVkKToKKyAgICAiIiJOdW1lcmljYWwgb3ZlcmZsb3cuCisKKyAgICBUaGlzIG9jY3VycyBhbmQgc2lnbmFscyBvdmVyZmxvdyBpZiB0aGUgYWRqdXN0ZWQgZXhwb25lbnQgb2YgYSByZXN1bHQKKyAgICAoZnJvbSBhIGNvbnZlcnNpb24gb3IgZnJvbSBhbiBvcGVyYXRpb24gdGhhdCBpcyBub3QgYW4gYXR0ZW1wdCB0byBkaXZpZGUKKyAgICBieSB6ZXJvKSwgYWZ0ZXIgcm91bmRpbmcsIHdvdWxkIGJlIGdyZWF0ZXIgdGhhbiB0aGUgbGFyZ2VzdCB2YWx1ZSB0aGF0CisgICAgY2FuIGJlIGhhbmRsZWQgYnkgdGhlIGltcGxlbWVudGF0aW9uICh0aGUgdmFsdWUgRW1heCkuCisKKyAgICBUaGUgcmVzdWx0IGRlcGVuZHMgb24gdGhlIHJvdW5kaW5nIG1vZGU6CisKKyAgICBGb3Igcm91bmQtaGFsZi11cCBhbmQgcm91bmQtaGFsZi1ldmVuIChhbmQgZm9yIHJvdW5kLWhhbGYtZG93biBhbmQKKyAgICByb3VuZC11cCwgaWYgaW1wbGVtZW50ZWQpLCB0aGUgcmVzdWx0IG9mIHRoZSBvcGVyYXRpb24gaXMgW3NpZ24saW5mXSwKKyAgICB3aGVyZSBzaWduIGlzIHRoZSBzaWduIG9mIHRoZSBpbnRlcm1lZGlhdGUgcmVzdWx0LiAgRm9yIHJvdW5kLWRvd24sIHRoZQorICAgIHJlc3VsdCBpcyB0aGUgbGFyZ2VzdCBmaW5pdGUgbnVtYmVyIHRoYXQgY2FuIGJlIHJlcHJlc2VudGVkIGluIHRoZQorICAgIGN1cnJlbnQgcHJlY2lzaW9uLCB3aXRoIHRoZSBzaWduIG9mIHRoZSBpbnRlcm1lZGlhdGUgcmVzdWx0LiAgRm9yCisgICAgcm91bmQtY2VpbGluZywgdGhlIHJlc3VsdCBpcyB0aGUgc2FtZSBhcyBmb3Igcm91bmQtZG93biBpZiB0aGUgc2lnbiBvZgorICAgIHRoZSBpbnRlcm1lZGlhdGUgcmVzdWx0IGlzIDEsIG9yIGlzIFswLGluZl0gb3RoZXJ3aXNlLiAgRm9yIHJvdW5kLWZsb29yLAorICAgIHRoZSByZXN1bHQgaXMgdGhlIHNhbWUgYXMgZm9yIHJvdW5kLWRvd24gaWYgdGhlIHNpZ24gb2YgdGhlIGludGVybWVkaWF0ZQorICAgIHJlc3VsdCBpcyAwLCBvciBpcyBbMSxpbmZdIG90aGVyd2lzZS4gIEluIGFsbCBjYXNlcywgSW5leGFjdCBhbmQgUm91bmRlZAorICAgIHdpbGwgYWxzbyBiZSByYWlzZWQuCisgICAgIiIiCisKKyAgICBkZWYgaGFuZGxlKHNlbGYsIGNvbnRleHQsIHNpZ24sICphcmdzKToKKyAgICAgICAgaWYgY29udGV4dC5yb3VuZGluZyBpbiAoUk9VTkRfSEFMRl9VUCwgUk9VTkRfSEFMRl9FVkVOLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBST1VORF9IQUxGX0RPV04sIFJPVU5EX1VQKToKKyAgICAgICAgICAgIHJldHVybiBfU2lnbmVkSW5maW5pdHlbc2lnbl0KKyAgICAgICAgaWYgc2lnbiA9PSAwOgorICAgICAgICAgICAgaWYgY29udGV4dC5yb3VuZGluZyA9PSBST1VORF9DRUlMSU5HOgorICAgICAgICAgICAgICAgIHJldHVybiBfU2lnbmVkSW5maW5pdHlbc2lnbl0KKyAgICAgICAgICAgIHJldHVybiBfZGVjX2Zyb21fdHJpcGxlKHNpZ24sICc5Jypjb250ZXh0LnByZWMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGV4dC5FbWF4LWNvbnRleHQucHJlYysxKQorICAgICAgICBpZiBzaWduID09IDE6CisgICAgICAgICAgICBpZiBjb250ZXh0LnJvdW5kaW5nID09IFJPVU5EX0ZMT09SOgorICAgICAgICAgICAgICAgIHJldHVybiBfU2lnbmVkSW5maW5pdHlbc2lnbl0KKyAgICAgICAgICAgIHJldHVybiBfZGVjX2Zyb21fdHJpcGxlKHNpZ24sICc5Jypjb250ZXh0LnByZWMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHQuRW1heC1jb250ZXh0LnByZWMrMSkKKworCitjbGFzcyBVbmRlcmZsb3coSW5leGFjdCwgUm91bmRlZCwgU3Vibm9ybWFsKToKKyAgICAiIiJOdW1lcmljYWwgdW5kZXJmbG93IHdpdGggcmVzdWx0IHJvdW5kZWQgdG8gMC4KKworICAgIFRoaXMgb2NjdXJzIGFuZCBzaWduYWxzIHVuZGVyZmxvdyBpZiBhIHJlc3VsdCBpcyBpbmV4YWN0IGFuZCB0aGUKKyAgICBhZGp1c3RlZCBleHBvbmVudCBvZiB0aGUgcmVzdWx0IHdvdWxkIGJlIHNtYWxsZXIgKG1vcmUgbmVnYXRpdmUpIHRoYW4KKyAgICB0aGUgc21hbGxlc3QgdmFsdWUgdGhhdCBjYW4gYmUgaGFuZGxlZCBieSB0aGUgaW1wbGVtZW50YXRpb24gKHRoZSB2YWx1ZQorICAgIEVtaW4pLiAgVGhhdCBpcywgdGhlIHJlc3VsdCBpcyBib3RoIGluZXhhY3QgYW5kIHN1Ym5vcm1hbC4KKworICAgIFRoZSByZXN1bHQgYWZ0ZXIgYW4gdW5kZXJmbG93IHdpbGwgYmUgYSBzdWJub3JtYWwgbnVtYmVyIHJvdW5kZWQsIGlmCisgICAgbmVjZXNzYXJ5LCBzbyB0aGF0IGl0cyBleHBvbmVudCBpcyBub3QgbGVzcyB0aGFuIEV0aW55LiAgVGhpcyBtYXkgcmVzdWx0CisgICAgaW4gMCB3aXRoIHRoZSBzaWduIG9mIHRoZSBpbnRlcm1lZGlhdGUgcmVzdWx0IGFuZCBhbiBleHBvbmVudCBvZiBFdGlueS4KKworICAgIEluIGFsbCBjYXNlcywgSW5leGFjdCwgUm91bmRlZCwgYW5kIFN1Ym5vcm1hbCB3aWxsIGFsc28gYmUgcmFpc2VkLgorICAgICIiIgorCitjbGFzcyBGbG9hdE9wZXJhdGlvbihEZWNpbWFsRXhjZXB0aW9uLCBUeXBlRXJyb3IpOgorICAgICIiIkVuYWJsZSBzdHJpY3RlciBzZW1hbnRpY3MgZm9yIG1peGluZyBmbG9hdHMgYW5kIERlY2ltYWxzLgorCisgICAgSWYgdGhlIHNpZ25hbCBpcyBub3QgdHJhcHBlZCAoZGVmYXVsdCksIG1peGluZyBmbG9hdHMgYW5kIERlY2ltYWxzIGlzCisgICAgcGVybWl0dGVkIGluIHRoZSBEZWNpbWFsKCkgY29uc3RydWN0b3IsIGNvbnRleHQuY3JlYXRlX2RlY2ltYWwoKSBhbmQKKyAgICBhbGwgY29tcGFyaXNvbiBvcGVyYXRvcnMuIEJvdGggY29udmVyc2lvbiBhbmQgY29tcGFyaXNvbnMgYXJlIGV4YWN0LgorICAgIEFueSBvY2N1cnJlbmNlIG9mIGEgbWl4ZWQgb3BlcmF0aW9uIGlzIHNpbGVudGx5IHJlY29yZGVkIGJ5IHNldHRpbmcKKyAgICBGbG9hdE9wZXJhdGlvbiBpbiB0aGUgY29udGV4dCBmbGFncy4gIEV4cGxpY2l0IGNvbnZlcnNpb25zIHdpdGgKKyAgICBEZWNpbWFsLmZyb21fZmxvYXQoKSBvciBjb250ZXh0LmNyZWF0ZV9kZWNpbWFsX2Zyb21fZmxvYXQoKSBkbyBub3QKKyAgICBzZXQgdGhlIGZsYWcuCisKKyAgICBPdGhlcndpc2UgKHRoZSBzaWduYWwgaXMgdHJhcHBlZCksIG9ubHkgZXF1YWxpdHkgY29tcGFyaXNvbnMgYW5kIGV4cGxpY2l0CisgICAgY29udmVyc2lvbnMgYXJlIHNpbGVudC4gQWxsIG90aGVyIG1peGVkIG9wZXJhdGlvbnMgcmFpc2UgRmxvYXRPcGVyYXRpb24uCisgICAgIiIiCisKKyMgTGlzdCBvZiBwdWJsaWMgdHJhcHMgYW5kIGZsYWdzCitfc2lnbmFscyA9IFtDbGFtcGVkLCBEaXZpc2lvbkJ5WmVybywgSW5leGFjdCwgT3ZlcmZsb3csIFJvdW5kZWQsCisgICAgICAgICAgICBVbmRlcmZsb3csIEludmFsaWRPcGVyYXRpb24sIFN1Ym5vcm1hbCwgRmxvYXRPcGVyYXRpb25dCisKKyMgTWFwIGNvbmRpdGlvbnMgKHBlciB0aGUgc3BlYykgdG8gc2lnbmFscworX2NvbmRpdGlvbl9tYXAgPSB7Q29udmVyc2lvblN5bnRheDpJbnZhbGlkT3BlcmF0aW9uLAorICAgICAgICAgICAgICAgICAgRGl2aXNpb25JbXBvc3NpYmxlOkludmFsaWRPcGVyYXRpb24sCisgICAgICAgICAgICAgICAgICBEaXZpc2lvblVuZGVmaW5lZDpJbnZhbGlkT3BlcmF0aW9uLAorICAgICAgICAgICAgICAgICAgSW52YWxpZENvbnRleHQ6SW52YWxpZE9wZXJhdGlvbn0KKworIyBWYWxpZCByb3VuZGluZyBtb2RlcworX3JvdW5kaW5nX21vZGVzID0gKFJPVU5EX0RPV04sIFJPVU5EX0hBTEZfVVAsIFJPVU5EX0hBTEZfRVZFTiwgUk9VTkRfQ0VJTElORywKKyAgICAgICAgICAgICAgICAgICBST1VORF9GTE9PUiwgUk9VTkRfVVAsIFJPVU5EX0hBTEZfRE9XTiwgUk9VTkRfMDVVUCkKKworIyMjIyMgQ29udGV4dCBGdW5jdGlvbnMgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKworIyBUaGUgZ2V0Y29udGV4dCgpIGFuZCBzZXRjb250ZXh0KCkgZnVuY3Rpb24gbWFuYWdlIGFjY2VzcyB0byBhIHRocmVhZC1sb2NhbAorIyBjdXJyZW50IGNvbnRleHQuICBQeTIuNCBvZmZlcnMgZGlyZWN0IHN1cHBvcnQgZm9yIHRocmVhZCBsb2NhbHMuICBJZiB0aGF0CisjIGlzIG5vdCBhdmFpbGFibGUsIHVzZSB0aHJlYWRpbmcuY3VycmVudF90aHJlYWQoKSB3aGljaCBpcyBzbG93ZXIgYnV0IHdpbGwKKyMgd29yayBmb3Igb2xkZXIgUHl0aG9ucy4gIElmIHRocmVhZHMgYXJlIG5vdCBwYXJ0IG9mIHRoZSBidWlsZCwgY3JlYXRlIGEKKyMgbW9jayB0aHJlYWRpbmcgb2JqZWN0IHdpdGggdGhyZWFkaW5nLmxvY2FsKCkgcmV0dXJuaW5nIHRoZSBtb2R1bGUgbmFtZXNwYWNlLgorCit0cnk6CisgICAgaW1wb3J0IHRocmVhZGluZworZXhjZXB0IEltcG9ydEVycm9yOgorICAgICMgUHl0aG9uIHdhcyBjb21waWxlZCB3aXRob3V0IHRocmVhZHM7IGNyZWF0ZSBhIG1vY2sgb2JqZWN0IGluc3RlYWQKKyAgICBjbGFzcyBNb2NrVGhyZWFkaW5nKG9iamVjdCk6CisgICAgICAgIGRlZiBsb2NhbChzZWxmLCBzeXM9c3lzKToKKyAgICAgICAgICAgIHJldHVybiBzeXMubW9kdWxlc1tfX3huYW1lX19dCisgICAgdGhyZWFkaW5nID0gTW9ja1RocmVhZGluZygpCisgICAgZGVsIE1vY2tUaHJlYWRpbmcKKwordHJ5OgorICAgIHRocmVhZGluZy5sb2NhbAorCitleGNlcHQgQXR0cmlidXRlRXJyb3I6CisKKyAgICAjIFRvIGZpeCByZWxvYWRpbmcsIGZvcmNlIGl0IHRvIGNyZWF0ZSBhIG5ldyBjb250ZXh0CisgICAgIyBPbGQgY29udGV4dHMgaGF2ZSBkaWZmZXJlbnQgZXhjZXB0aW9ucyBpbiB0aGVpciBkaWN0cywgbWFraW5nIHByb2JsZW1zLgorICAgIGlmIGhhc2F0dHIodGhyZWFkaW5nLmN1cnJlbnRfdGhyZWFkKCksICdfX2RlY2ltYWxfY29udGV4dF9fJyk6CisgICAgICAgIGRlbCB0aHJlYWRpbmcuY3VycmVudF90aHJlYWQoKS5fX2RlY2ltYWxfY29udGV4dF9fCisKKyAgICBkZWYgc2V0Y29udGV4dChjb250ZXh0KToKKyAgICAgICAgIiIiU2V0IHRoaXMgdGhyZWFkJ3MgY29udGV4dCB0byBjb250ZXh0LiIiIgorICAgICAgICBpZiBjb250ZXh0IGluIChEZWZhdWx0Q29udGV4dCwgQmFzaWNDb250ZXh0LCBFeHRlbmRlZENvbnRleHQpOgorICAgICAgICAgICAgY29udGV4dCA9IGNvbnRleHQuY29weSgpCisgICAgICAgICAgICBjb250ZXh0LmNsZWFyX2ZsYWdzKCkKKyAgICAgICAgdGhyZWFkaW5nLmN1cnJlbnRfdGhyZWFkKCkuX19kZWNpbWFsX2NvbnRleHRfXyA9IGNvbnRleHQKKworICAgIGRlZiBnZXRjb250ZXh0KCk6CisgICAgICAgICIiIlJldHVybnMgdGhpcyB0aHJlYWQncyBjb250ZXh0LgorCisgICAgICAgIElmIHRoaXMgdGhyZWFkIGRvZXMgbm90IHlldCBoYXZlIGEgY29udGV4dCwgcmV0dXJucworICAgICAgICBhIG5ldyBjb250ZXh0IGFuZCBzZXRzIHRoaXMgdGhyZWFkJ3MgY29udGV4dC4KKyAgICAgICAgTmV3IGNvbnRleHRzIGFyZSBjb3BpZXMgb2YgRGVmYXVsdENvbnRleHQuCisgICAgICAgICIiIgorICAgICAgICB0cnk6CisgICAgICAgICAgICByZXR1cm4gdGhyZWFkaW5nLmN1cnJlbnRfdGhyZWFkKCkuX19kZWNpbWFsX2NvbnRleHRfXworICAgICAgICBleGNlcHQgQXR0cmlidXRlRXJyb3I6CisgICAgICAgICAgICBjb250ZXh0ID0gQ29udGV4dCgpCisgICAgICAgICAgICB0aHJlYWRpbmcuY3VycmVudF90aHJlYWQoKS5fX2RlY2ltYWxfY29udGV4dF9fID0gY29udGV4dAorICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQKKworZWxzZToKKworICAgIGxvY2FsID0gdGhyZWFkaW5nLmxvY2FsKCkKKyAgICBpZiBoYXNhdHRyKGxvY2FsLCAnX19kZWNpbWFsX2NvbnRleHRfXycpOgorICAgICAgICBkZWwgbG9jYWwuX19kZWNpbWFsX2NvbnRleHRfXworCisgICAgZGVmIGdldGNvbnRleHQoX2xvY2FsPWxvY2FsKToKKyAgICAgICAgIiIiUmV0dXJucyB0aGlzIHRocmVhZCdzIGNvbnRleHQuCisKKyAgICAgICAgSWYgdGhpcyB0aHJlYWQgZG9lcyBub3QgeWV0IGhhdmUgYSBjb250ZXh0LCByZXR1cm5zCisgICAgICAgIGEgbmV3IGNvbnRleHQgYW5kIHNldHMgdGhpcyB0aHJlYWQncyBjb250ZXh0LgorICAgICAgICBOZXcgY29udGV4dHMgYXJlIGNvcGllcyBvZiBEZWZhdWx0Q29udGV4dC4KKyAgICAgICAgIiIiCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHJldHVybiBfbG9jYWwuX19kZWNpbWFsX2NvbnRleHRfXworICAgICAgICBleGNlcHQgQXR0cmlidXRlRXJyb3I6CisgICAgICAgICAgICBjb250ZXh0ID0gQ29udGV4dCgpCisgICAgICAgICAgICBfbG9jYWwuX19kZWNpbWFsX2NvbnRleHRfXyA9IGNvbnRleHQKKyAgICAgICAgICAgIHJldHVybiBjb250ZXh0CisKKyAgICBkZWYgc2V0Y29udGV4dChjb250ZXh0LCBfbG9jYWw9bG9jYWwpOgorICAgICAgICAiIiJTZXQgdGhpcyB0aHJlYWQncyBjb250ZXh0IHRvIGNvbnRleHQuIiIiCisgICAgICAgIGlmIGNvbnRleHQgaW4gKERlZmF1bHRDb250ZXh0LCBCYXNpY0NvbnRleHQsIEV4dGVuZGVkQ29udGV4dCk6CisgICAgICAgICAgICBjb250ZXh0ID0gY29udGV4dC5jb3B5KCkKKyAgICAgICAgICAgIGNvbnRleHQuY2xlYXJfZmxhZ3MoKQorICAgICAgICBfbG9jYWwuX19kZWNpbWFsX2NvbnRleHRfXyA9IGNvbnRleHQKKworICAgIGRlbCB0aHJlYWRpbmcsIGxvY2FsICAgICAgICAjIERvbid0IGNvbnRhbWluYXRlIHRoZSBuYW1lc3BhY2UKKworZGVmIGxvY2FsY29udGV4dChjdHg9Tm9uZSk6CisgICAgIiIiUmV0dXJuIGEgY29udGV4dCBtYW5hZ2VyIGZvciBhIGNvcHkgb2YgdGhlIHN1cHBsaWVkIGNvbnRleHQKKworICAgIFVzZXMgYSBjb3B5IG9mIHRoZSBjdXJyZW50IGNvbnRleHQgaWYgbm8gY29udGV4dCBpcyBzcGVjaWZpZWQKKyAgICBUaGUgcmV0dXJuZWQgY29udGV4dCBtYW5hZ2VyIGNyZWF0ZXMgYSBsb2NhbCBkZWNpbWFsIGNvbnRleHQKKyAgICBpbiBhIHdpdGggc3RhdGVtZW50OgorICAgICAgICBkZWYgc2luKHgpOgorICAgICAgICAgICAgIHdpdGggbG9jYWxjb250ZXh0KCkgYXMgY3R4OgorICAgICAgICAgICAgICAgICBjdHgucHJlYyArPSAyCisgICAgICAgICAgICAgICAgICMgUmVzdCBvZiBzaW4gY2FsY3VsYXRpb24gYWxnb3JpdGhtCisgICAgICAgICAgICAgICAgICMgdXNlcyBhIHByZWNpc2lvbiAyIGdyZWF0ZXIgdGhhbiBub3JtYWwKKyAgICAgICAgICAgICByZXR1cm4gK3MgICMgQ29udmVydCByZXN1bHQgdG8gbm9ybWFsIHByZWNpc2lvbgorCisgICAgICAgICBkZWYgc2luKHgpOgorICAgICAgICAgICAgIHdpdGggbG9jYWxjb250ZXh0KEV4dGVuZGVkQ29udGV4dCk6CisgICAgICAgICAgICAgICAgICMgUmVzdCBvZiBzaW4gY2FsY3VsYXRpb24gYWxnb3JpdGhtCisgICAgICAgICAgICAgICAgICMgdXNlcyB0aGUgRXh0ZW5kZWQgQ29udGV4dCBmcm9tIHRoZQorICAgICAgICAgICAgICAgICAjIEdlbmVyYWwgRGVjaW1hbCBBcml0aG1ldGljIFNwZWNpZmljYXRpb24KKyAgICAgICAgICAgICByZXR1cm4gK3MgICMgQ29udmVydCByZXN1bHQgdG8gbm9ybWFsIGNvbnRleHQKKworICAgID4+PiBzZXRjb250ZXh0KERlZmF1bHRDb250ZXh0KQorICAgID4+PiBwcmludChnZXRjb250ZXh0KCkucHJlYykKKyAgICAyOAorICAgID4+PiB3aXRoIGxvY2FsY29udGV4dCgpOgorICAgIC4uLiAgICAgY3R4ID0gZ2V0Y29udGV4dCgpCisgICAgLi4uICAgICBjdHgucHJlYyArPSAyCisgICAgLi4uICAgICBwcmludChjdHgucHJlYykKKyAgICAuLi4KKyAgICAzMAorICAgID4+PiB3aXRoIGxvY2FsY29udGV4dChFeHRlbmRlZENvbnRleHQpOgorICAgIC4uLiAgICAgcHJpbnQoZ2V0Y29udGV4dCgpLnByZWMpCisgICAgLi4uCisgICAgOQorICAgID4+PiBwcmludChnZXRjb250ZXh0KCkucHJlYykKKyAgICAyOAorICAgICIiIgorICAgIGlmIGN0eCBpcyBOb25lOiBjdHggPSBnZXRjb250ZXh0KCkKKyAgICByZXR1cm4gX0NvbnRleHRNYW5hZ2VyKGN0eCkKKworCisjIyMjIyBEZWNpbWFsIGNsYXNzICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKworIyBEbyBub3Qgc3ViY2xhc3MgRGVjaW1hbCBmcm9tIG51bWJlcnMuUmVhbCBhbmQgZG8gbm90IHJlZ2lzdGVyIGl0IGFzIHN1Y2gKKyMgKGJlY2F1c2UgRGVjaW1hbHMgYXJlIG5vdCBpbnRlcm9wZXJhYmxlIHdpdGggZmxvYXRzKS4gIFNlZSB0aGUgbm90ZXMgaW4KKyMgbnVtYmVycy5weSBmb3IgbW9yZSBkZXRhaWwuCisKK2NsYXNzIERlY2ltYWwob2JqZWN0KToKKyAgICAiIiJGbG9hdGluZyBwb2ludCBjbGFzcyBmb3IgZGVjaW1hbCBhcml0aG1ldGljLiIiIgorCisgICAgX19zbG90c19fID0gKCdfZXhwJywnX2ludCcsJ19zaWduJywgJ19pc19zcGVjaWFsJykKKyAgICAjIEdlbmVyYWxseSwgdGhlIHZhbHVlIG9mIHRoZSBEZWNpbWFsIGluc3RhbmNlIGlzIGdpdmVuIGJ5CisgICAgIyAgKC0xKSoqX3NpZ24gKiBfaW50ICogMTAqKl9leHAKKyAgICAjIFNwZWNpYWwgdmFsdWVzIGFyZSBzaWduaWZpZWQgYnkgX2lzX3NwZWNpYWwgPT0gVHJ1ZQorCisgICAgIyBXZSdyZSBpbW11dGFibGUsIHNvIHVzZSBfX25ld19fIG5vdCBfX2luaXRfXworICAgIGRlZiBfX25ld19fKGNscywgdmFsdWU9IjAiLCBjb250ZXh0PU5vbmUpOgorICAgICAgICAiIiJDcmVhdGUgYSBkZWNpbWFsIHBvaW50IGluc3RhbmNlLgorCisgICAgICAgID4+PiBEZWNpbWFsKCczLjE0JykgICAgICAgICAgICAgICMgc3RyaW5nIGlucHV0CisgICAgICAgIERlY2ltYWwoJzMuMTQnKQorICAgICAgICA+Pj4gRGVjaW1hbCgoMCwgKDMsIDEsIDQpLCAtMikpICAjIHR1cGxlIChzaWduLCBkaWdpdF90dXBsZSwgZXhwb25lbnQpCisgICAgICAgIERlY2ltYWwoJzMuMTQnKQorICAgICAgICA+Pj4gRGVjaW1hbCgzMTQpICAgICAgICAgICAgICAgICAjIGludAorICAgICAgICBEZWNpbWFsKCczMTQnKQorICAgICAgICA+Pj4gRGVjaW1hbChEZWNpbWFsKDMxNCkpICAgICAgICAjIGFub3RoZXIgZGVjaW1hbCBpbnN0YW5jZQorICAgICAgICBEZWNpbWFsKCczMTQnKQorICAgICAgICA+Pj4gRGVjaW1hbCgnICAzLjE0ICBcXG4nKSAgICAgICAgIyBsZWFkaW5nIGFuZCB0cmFpbGluZyB3aGl0ZXNwYWNlIG9rYXkKKyAgICAgICAgRGVjaW1hbCgnMy4xNCcpCisgICAgICAgICIiIgorCisgICAgICAgICMgTm90ZSB0aGF0IHRoZSBjb2VmZmljaWVudCwgc2VsZi5faW50LCBpcyBhY3R1YWxseSBzdG9yZWQgYXMKKyAgICAgICAgIyBhIHN0cmluZyByYXRoZXIgdGhhbiBhcyBhIHR1cGxlIG9mIGRpZ2l0cy4gIFRoaXMgc3BlZWRzIHVwCisgICAgICAgICMgdGhlICJkaWdpdHMgdG8gaW50ZWdlciIgYW5kICJpbnRlZ2VyIHRvIGRpZ2l0cyIgY29udmVyc2lvbnMKKyAgICAgICAgIyB0aGF0IGFyZSB1c2VkIGluIGFsbW9zdCBldmVyeSBhcml0aG1ldGljIG9wZXJhdGlvbiBvbgorICAgICAgICAjIERlY2ltYWxzLiAgVGhpcyBpcyBhbiBpbnRlcm5hbCBkZXRhaWw6IHRoZSBhc190dXBsZSBmdW5jdGlvbgorICAgICAgICAjIGFuZCB0aGUgRGVjaW1hbCBjb25zdHJ1Y3RvciBzdGlsbCBkZWFsIHdpdGggdHVwbGVzIG9mCisgICAgICAgICMgZGlnaXRzLgorCisgICAgICAgIHNlbGYgPSBvYmplY3QuX19uZXdfXyhjbHMpCisKKyAgICAgICAgIyBGcm9tIGEgc3RyaW5nCisgICAgICAgICMgUkVzIGluc2lzdCBvbiByZWFsIHN0cmluZ3MsIHNvIHdlIGNhbiB0b28uCisgICAgICAgIGlmIGlzaW5zdGFuY2UodmFsdWUsIHN0cik6CisgICAgICAgICAgICBtID0gX3BhcnNlcih2YWx1ZS5zdHJpcCgpKQorICAgICAgICAgICAgaWYgbSBpcyBOb25lOgorICAgICAgICAgICAgICAgIGlmIGNvbnRleHQgaXMgTm9uZToKKyAgICAgICAgICAgICAgICAgICAgY29udGV4dCA9IGdldGNvbnRleHQoKQorICAgICAgICAgICAgICAgIHJldHVybiBjb250ZXh0Ll9yYWlzZV9lcnJvcihDb252ZXJzaW9uU3ludGF4LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiSW52YWxpZCBsaXRlcmFsIGZvciBEZWNpbWFsOiAlciIgJSB2YWx1ZSkKKworICAgICAgICAgICAgaWYgbS5ncm91cCgnc2lnbicpID09ICItIjoKKyAgICAgICAgICAgICAgICBzZWxmLl9zaWduID0gMQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBzZWxmLl9zaWduID0gMAorICAgICAgICAgICAgaW50cGFydCA9IG0uZ3JvdXAoJ2ludCcpCisgICAgICAgICAgICBpZiBpbnRwYXJ0IGlzIG5vdCBOb25lOgorICAgICAgICAgICAgICAgICMgZmluaXRlIG51bWJlcgorICAgICAgICAgICAgICAgIGZyYWNwYXJ0ID0gbS5ncm91cCgnZnJhYycpIG9yICcnCisgICAgICAgICAgICAgICAgZXhwID0gaW50KG0uZ3JvdXAoJ2V4cCcpIG9yICcwJykKKyAgICAgICAgICAgICAgICBzZWxmLl9pbnQgPSBzdHIoaW50KGludHBhcnQrZnJhY3BhcnQpKQorICAgICAgICAgICAgICAgIHNlbGYuX2V4cCA9IGV4cCAtIGxlbihmcmFjcGFydCkKKyAgICAgICAgICAgICAgICBzZWxmLl9pc19zcGVjaWFsID0gRmFsc2UKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgZGlhZyA9IG0uZ3JvdXAoJ2RpYWcnKQorICAgICAgICAgICAgICAgIGlmIGRpYWcgaXMgbm90IE5vbmU6CisgICAgICAgICAgICAgICAgICAgICMgTmFOCisgICAgICAgICAgICAgICAgICAgIHNlbGYuX2ludCA9IHN0cihpbnQoZGlhZyBvciAnMCcpKS5sc3RyaXAoJzAnKQorICAgICAgICAgICAgICAgICAgICBpZiBtLmdyb3VwKCdzaWduYWwnKToKKyAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX2V4cCA9ICdOJworICAgICAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fZXhwID0gJ24nCisgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgIyBpbmZpbml0eQorICAgICAgICAgICAgICAgICAgICBzZWxmLl9pbnQgPSAnMCcKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5fZXhwID0gJ0YnCisgICAgICAgICAgICAgICAgc2VsZi5faXNfc3BlY2lhbCA9IFRydWUKKyAgICAgICAgICAgIHJldHVybiBzZWxmCisKKyAgICAgICAgIyBGcm9tIGFuIGludGVnZXIKKyAgICAgICAgaWYgaXNpbnN0YW5jZSh2YWx1ZSwgaW50KToKKyAgICAgICAgICAgIGlmIHZhbHVlID49IDA6CisgICAgICAgICAgICAgICAgc2VsZi5fc2lnbiA9IDAKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgc2VsZi5fc2lnbiA9IDEKKyAgICAgICAgICAgIHNlbGYuX2V4cCA9IDAKKyAgICAgICAgICAgIHNlbGYuX2ludCA9IHN0cihhYnModmFsdWUpKQorICAgICAgICAgICAgc2VsZi5faXNfc3BlY2lhbCA9IEZhbHNlCisgICAgICAgICAgICByZXR1cm4gc2VsZgorCisgICAgICAgICMgRnJvbSBhbm90aGVyIGRlY2ltYWwKKyAgICAgICAgaWYgaXNpbnN0YW5jZSh2YWx1ZSwgRGVjaW1hbCk6CisgICAgICAgICAgICBzZWxmLl9leHAgID0gdmFsdWUuX2V4cAorICAgICAgICAgICAgc2VsZi5fc2lnbiA9IHZhbHVlLl9zaWduCisgICAgICAgICAgICBzZWxmLl9pbnQgID0gdmFsdWUuX2ludAorICAgICAgICAgICAgc2VsZi5faXNfc3BlY2lhbCAgPSB2YWx1ZS5faXNfc3BlY2lhbAorICAgICAgICAgICAgcmV0dXJuIHNlbGYKKworICAgICAgICAjIEZyb20gYW4gaW50ZXJuYWwgd29ya2luZyB2YWx1ZQorICAgICAgICBpZiBpc2luc3RhbmNlKHZhbHVlLCBfV29ya1JlcCk6CisgICAgICAgICAgICBzZWxmLl9zaWduID0gdmFsdWUuc2lnbgorICAgICAgICAgICAgc2VsZi5faW50ID0gc3RyKHZhbHVlLmludCkKKyAgICAgICAgICAgIHNlbGYuX2V4cCA9IGludCh2YWx1ZS5leHApCisgICAgICAgICAgICBzZWxmLl9pc19zcGVjaWFsID0gRmFsc2UKKyAgICAgICAgICAgIHJldHVybiBzZWxmCisKKyAgICAgICAgIyB0dXBsZS9saXN0IGNvbnZlcnNpb24gKHBvc3NpYmx5IGZyb20gYXNfdHVwbGUoKSkKKyAgICAgICAgaWYgaXNpbnN0YW5jZSh2YWx1ZSwgKGxpc3QsdHVwbGUpKToKKyAgICAgICAgICAgIGlmIGxlbih2YWx1ZSkgIT0gMzoKKyAgICAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCdJbnZhbGlkIHR1cGxlIHNpemUgaW4gY3JlYXRpb24gb2YgRGVjaW1hbCAnCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZnJvbSBsaXN0IG9yIHR1cGxlLiAgVGhlIGxpc3Qgb3IgdHVwbGUgJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Nob3VsZCBoYXZlIGV4YWN0bHkgdGhyZWUgZWxlbWVudHMuJykKKyAgICAgICAgICAgICMgcHJvY2VzcyBzaWduLiAgVGhlIGlzaW5zdGFuY2UgdGVzdCByZWplY3RzIGZsb2F0cworICAgICAgICAgICAgaWYgbm90IChpc2luc3RhbmNlKHZhbHVlWzBdLCBpbnQpIGFuZCB2YWx1ZVswXSBpbiAoMCwxKSk6CisgICAgICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigiSW52YWxpZCBzaWduLiAgVGhlIGZpcnN0IHZhbHVlIGluIHRoZSB0dXBsZSAiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2hvdWxkIGJlIGFuIGludGVnZXI7IGVpdGhlciAwIGZvciBhICIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwb3NpdGl2ZSBudW1iZXIgb3IgMSBmb3IgYSBuZWdhdGl2ZSBudW1iZXIuIikKKyAgICAgICAgICAgIHNlbGYuX3NpZ24gPSB2YWx1ZVswXQorICAgICAgICAgICAgaWYgdmFsdWVbMl0gPT0gJ0YnOgorICAgICAgICAgICAgICAgICMgaW5maW5pdHk6IHZhbHVlWzFdIGlzIGlnbm9yZWQKKyAgICAgICAgICAgICAgICBzZWxmLl9pbnQgPSAnMCcKKyAgICAgICAgICAgICAgICBzZWxmLl9leHAgPSB2YWx1ZVsyXQorICAgICAgICAgICAgICAgIHNlbGYuX2lzX3NwZWNpYWwgPSBUcnVlCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICMgcHJvY2VzcyBhbmQgdmFsaWRhdGUgdGhlIGRpZ2l0cyBpbiB2YWx1ZVsxXQorICAgICAgICAgICAgICAgIGRpZ2l0cyA9IFtdCisgICAgICAgICAgICAgICAgZm9yIGRpZ2l0IGluIHZhbHVlWzFdOgorICAgICAgICAgICAgICAgICAgICBpZiBpc2luc3RhbmNlKGRpZ2l0LCBpbnQpIGFuZCAwIDw9IGRpZ2l0IDw9IDk6CisgICAgICAgICAgICAgICAgICAgICAgICAjIHNraXAgbGVhZGluZyB6ZXJvcworICAgICAgICAgICAgICAgICAgICAgICAgaWYgZGlnaXRzIG9yIGRpZ2l0ICE9IDA6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlnaXRzLmFwcGVuZChkaWdpdCkKKyAgICAgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoIlRoZSBzZWNvbmQgdmFsdWUgaW4gdGhlIHR1cGxlIG11c3QgIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYmUgY29tcG9zZWQgb2YgaW50ZWdlcnMgaW4gdGhlIHJhbmdlICIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIjAgdGhyb3VnaCA5LiIpCisgICAgICAgICAgICAgICAgaWYgdmFsdWVbMl0gaW4gKCduJywgJ04nKToKKyAgICAgICAgICAgICAgICAgICAgIyBOYU46IGRpZ2l0cyBmb3JtIHRoZSBkaWFnbm9zdGljCisgICAgICAgICAgICAgICAgICAgIHNlbGYuX2ludCA9ICcnLmpvaW4obWFwKHN0ciwgZGlnaXRzKSkKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5fZXhwID0gdmFsdWVbMl0KKyAgICAgICAgICAgICAgICAgICAgc2VsZi5faXNfc3BlY2lhbCA9IFRydWUKKyAgICAgICAgICAgICAgICBlbGlmIGlzaW5zdGFuY2UodmFsdWVbMl0sIGludCk6CisgICAgICAgICAgICAgICAgICAgICMgZmluaXRlIG51bWJlcjogZGlnaXRzIGdpdmUgdGhlIGNvZWZmaWNpZW50CisgICAgICAgICAgICAgICAgICAgIHNlbGYuX2ludCA9ICcnLmpvaW4obWFwKHN0ciwgZGlnaXRzIG9yIFswXSkpCisgICAgICAgICAgICAgICAgICAgIHNlbGYuX2V4cCA9IHZhbHVlWzJdCisgICAgICAgICAgICAgICAgICAgIHNlbGYuX2lzX3NwZWNpYWwgPSBGYWxzZQorICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoIlRoZSB0aGlyZCB2YWx1ZSBpbiB0aGUgdHVwbGUgbXVzdCAiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImJlIGFuIGludGVnZXIsIG9yIG9uZSBvZiB0aGUgIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzdHJpbmdzICdGJywgJ24nLCAnTicuIikKKyAgICAgICAgICAgIHJldHVybiBzZWxmCisKKyAgICAgICAgaWYgaXNpbnN0YW5jZSh2YWx1ZSwgZmxvYXQpOgorICAgICAgICAgICAgaWYgY29udGV4dCBpcyBOb25lOgorICAgICAgICAgICAgICAgIGNvbnRleHQgPSBnZXRjb250ZXh0KCkKKyAgICAgICAgICAgIGNvbnRleHQuX3JhaXNlX2Vycm9yKEZsb2F0T3BlcmF0aW9uLAorICAgICAgICAgICAgICAgICJzdHJpY3Qgc2VtYW50aWNzIGZvciBtaXhpbmcgZmxvYXRzIGFuZCBEZWNpbWFscyBhcmUgIgorICAgICAgICAgICAgICAgICJlbmFibGVkIikKKyAgICAgICAgICAgIHZhbHVlID0gRGVjaW1hbC5mcm9tX2Zsb2F0KHZhbHVlKQorICAgICAgICAgICAgc2VsZi5fZXhwICA9IHZhbHVlLl9leHAKKyAgICAgICAgICAgIHNlbGYuX3NpZ24gPSB2YWx1ZS5fc2lnbgorICAgICAgICAgICAgc2VsZi5faW50ICA9IHZhbHVlLl9pbnQKKyAgICAgICAgICAgIHNlbGYuX2lzX3NwZWNpYWwgID0gdmFsdWUuX2lzX3NwZWNpYWwKKyAgICAgICAgICAgIHJldHVybiBzZWxmCisKKyAgICAgICAgcmFpc2UgVHlwZUVycm9yKCJDYW5ub3QgY29udmVydCAlciB0byBEZWNpbWFsIiAlIHZhbHVlKQorCisgICAgQGNsYXNzbWV0aG9kCisgICAgZGVmIGZyb21fZmxvYXQoY2xzLCBmKToKKyAgICAgICAgIiIiQ29udmVydHMgYSBmbG9hdCB0byBhIGRlY2ltYWwgbnVtYmVyLCBleGFjdGx5LgorCisgICAgICAgIE5vdGUgdGhhdCBEZWNpbWFsLmZyb21fZmxvYXQoMC4xKSBpcyBub3QgdGhlIHNhbWUgYXMgRGVjaW1hbCgnMC4xJykuCisgICAgICAgIFNpbmNlIDAuMSBpcyBub3QgZXhhY3RseSByZXByZXNlbnRhYmxlIGluIGJpbmFyeSBmbG9hdGluZyBwb2ludCwgdGhlCisgICAgICAgIHZhbHVlIGlzIHN0b3JlZCBhcyB0aGUgbmVhcmVzdCByZXByZXNlbnRhYmxlIHZhbHVlIHdoaWNoIGlzCisgICAgICAgIDB4MS45OTk5OTk5OTk5OTlhcC00LiAgVGhlIGV4YWN0IGVxdWl2YWxlbnQgb2YgdGhlIHZhbHVlIGluIGRlY2ltYWwKKyAgICAgICAgaXMgMC4xMDAwMDAwMDAwMDAwMDAwMDU1NTExMTUxMjMxMjU3ODI3MDIxMTgxNTgzNDA0NTQxMDE1NjI1LgorCisgICAgICAgID4+PiBEZWNpbWFsLmZyb21fZmxvYXQoMC4xKQorICAgICAgICBEZWNpbWFsKCcwLjEwMDAwMDAwMDAwMDAwMDAwNTU1MTExNTEyMzEyNTc4MjcwMjExODE1ODM0MDQ1NDEwMTU2MjUnKQorICAgICAgICA+Pj4gRGVjaW1hbC5mcm9tX2Zsb2F0KGZsb2F0KCduYW4nKSkKKyAgICAgICAgRGVjaW1hbCgnTmFOJykKKyAgICAgICAgPj4+IERlY2ltYWwuZnJvbV9mbG9hdChmbG9hdCgnaW5mJykpCisgICAgICAgIERlY2ltYWwoJ0luZmluaXR5JykKKyAgICAgICAgPj4+IERlY2ltYWwuZnJvbV9mbG9hdCgtZmxvYXQoJ2luZicpKQorICAgICAgICBEZWNpbWFsKCctSW5maW5pdHknKQorICAgICAgICA+Pj4gRGVjaW1hbC5mcm9tX2Zsb2F0KC0wLjApCisgICAgICAgIERlY2ltYWwoJy0wJykKKworICAgICAgICAiIiIKKyAgICAgICAgaWYgaXNpbnN0YW5jZShmLCBpbnQpOiAgICAgICAgICAgICAgICAjIGhhbmRsZSBpbnRlZ2VyIGlucHV0cworICAgICAgICAgICAgcmV0dXJuIGNscyhmKQorICAgICAgICBpZiBub3QgaXNpbnN0YW5jZShmLCBmbG9hdCk6CisgICAgICAgICAgICByYWlzZSBUeXBlRXJyb3IoImFyZ3VtZW50IG11c3QgYmUgaW50IG9yIGZsb2F0LiIpCisgICAgICAgIGlmIF9tYXRoLmlzaW5mKGYpIG9yIF9tYXRoLmlzbmFuKGYpOgorICAgICAgICAgICAgcmV0dXJuIGNscyhyZXByKGYpKQorICAgICAgICBpZiBfbWF0aC5jb3B5c2lnbigxLjAsIGYpID09IDEuMDoKKyAgICAgICAgICAgIHNpZ24gPSAwCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBzaWduID0gMQorICAgICAgICBuLCBkID0gYWJzKGYpLmFzX2ludGVnZXJfcmF0aW8oKQorICAgICAgICBrID0gZC5iaXRfbGVuZ3RoKCkgLSAxCisgICAgICAgIHJlc3VsdCA9IF9kZWNfZnJvbV90cmlwbGUoc2lnbiwgc3RyKG4qNSoqayksIC1rKQorICAgICAgICBpZiBjbHMgaXMgRGVjaW1hbDoKKyAgICAgICAgICAgIHJldHVybiByZXN1bHQKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHJldHVybiBjbHMocmVzdWx0KQorCisgICAgZGVmIF9pc25hbihzZWxmKToKKyAgICAgICAgIiIiUmV0dXJucyB3aGV0aGVyIHRoZSBudW1iZXIgaXMgbm90IGFjdHVhbGx5IG9uZS4KKworICAgICAgICAwIGlmIGEgbnVtYmVyCisgICAgICAgIDEgaWYgTmFOCisgICAgICAgIDIgaWYgc05hTgorICAgICAgICAiIiIKKyAgICAgICAgaWYgc2VsZi5faXNfc3BlY2lhbDoKKyAgICAgICAgICAgIGV4cCA9IHNlbGYuX2V4cAorICAgICAgICAgICAgaWYgZXhwID09ICduJzoKKyAgICAgICAgICAgICAgICByZXR1cm4gMQorICAgICAgICAgICAgZWxpZiBleHAgPT0gJ04nOgorICAgICAgICAgICAgICAgIHJldHVybiAyCisgICAgICAgIHJldHVybiAwCisKKyAgICBkZWYgX2lzaW5maW5pdHkoc2VsZik6CisgICAgICAgICIiIlJldHVybnMgd2hldGhlciB0aGUgbnVtYmVyIGlzIGluZmluaXRlCisKKyAgICAgICAgMCBpZiBmaW5pdGUgb3Igbm90IGEgbnVtYmVyCisgICAgICAgIDEgaWYgK0lORgorICAgICAgICAtMSBpZiAtSU5GCisgICAgICAgICIiIgorICAgICAgICBpZiBzZWxmLl9leHAgPT0gJ0YnOgorICAgICAgICAgICAgaWYgc2VsZi5fc2lnbjoKKyAgICAgICAgICAgICAgICByZXR1cm4gLTEKKyAgICAgICAgICAgIHJldHVybiAxCisgICAgICAgIHJldHVybiAwCisKKyAgICBkZWYgX2NoZWNrX25hbnMoc2VsZiwgb3RoZXI9Tm9uZSwgY29udGV4dD1Ob25lKToKKyAgICAgICAgIiIiUmV0dXJucyB3aGV0aGVyIHRoZSBudW1iZXIgaXMgbm90IGFjdHVhbGx5IG9uZS4KKworICAgICAgICBpZiBzZWxmLCBvdGhlciBhcmUgc05hTiwgc2lnbmFsCisgICAgICAgIGlmIHNlbGYsIG90aGVyIGFyZSBOYU4gcmV0dXJuIG5hbgorICAgICAgICByZXR1cm4gMAorCisgICAgICAgIERvbmUgYmVmb3JlIG9wZXJhdGlvbnMuCisgICAgICAgICIiIgorCisgICAgICAgIHNlbGZfaXNfbmFuID0gc2VsZi5faXNuYW4oKQorICAgICAgICBpZiBvdGhlciBpcyBOb25lOgorICAgICAgICAgICAgb3RoZXJfaXNfbmFuID0gRmFsc2UKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIG90aGVyX2lzX25hbiA9IG90aGVyLl9pc25hbigpCisKKyAgICAgICAgaWYgc2VsZl9pc19uYW4gb3Igb3RoZXJfaXNfbmFuOgorICAgICAgICAgICAgaWYgY29udGV4dCBpcyBOb25lOgorICAgICAgICAgICAgICAgIGNvbnRleHQgPSBnZXRjb250ZXh0KCkKKworICAgICAgICAgICAgaWYgc2VsZl9pc19uYW4gPT0gMjoKKyAgICAgICAgICAgICAgICByZXR1cm4gY29udGV4dC5fcmFpc2VfZXJyb3IoSW52YWxpZE9wZXJhdGlvbiwgJ3NOYU4nLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYpCisgICAgICAgICAgICBpZiBvdGhlcl9pc19uYW4gPT0gMjoKKyAgICAgICAgICAgICAgICByZXR1cm4gY29udGV4dC5fcmFpc2VfZXJyb3IoSW52YWxpZE9wZXJhdGlvbiwgJ3NOYU4nLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG90aGVyKQorICAgICAgICAgICAgaWYgc2VsZl9pc19uYW46CisgICAgICAgICAgICAgICAgcmV0dXJuIHNlbGYuX2ZpeF9uYW4oY29udGV4dCkKKworICAgICAgICAgICAgcmV0dXJuIG90aGVyLl9maXhfbmFuKGNvbnRleHQpCisgICAgICAgIHJldHVybiAwCisKKyAgICBkZWYgX2NvbXBhcmVfY2hlY2tfbmFucyhzZWxmLCBvdGhlciwgY29udGV4dCk6CisgICAgICAgICIiIlZlcnNpb24gb2YgX2NoZWNrX25hbnMgdXNlZCBmb3IgdGhlIHNpZ25hbGluZyBjb21wYXJpc29ucworICAgICAgICBjb21wYXJlX3NpZ25hbCwgX19sZV9fLCBfX2x0X18sIF9fZ2VfXywgX19ndF9fLgorCisgICAgICAgIFNpZ25hbCBJbnZhbGlkT3BlcmF0aW9uIGlmIGVpdGhlciBzZWxmIG9yIG90aGVyIGlzIGEgKHF1aWV0CisgICAgICAgIG9yIHNpZ25hbGluZykgTmFOLiAgU2lnbmFsaW5nIE5hTnMgdGFrZSBwcmVjZWRlbmNlIG92ZXIgcXVpZXQKKyAgICAgICAgTmFOcy4KKworICAgICAgICBSZXR1cm4gMCBpZiBuZWl0aGVyIG9wZXJhbmQgaXMgYSBOYU4uCisKKyAgICAgICAgIiIiCisgICAgICAgIGlmIGNvbnRleHQgaXMgTm9uZToKKyAgICAgICAgICAgIGNvbnRleHQgPSBnZXRjb250ZXh0KCkKKworICAgICAgICBpZiBzZWxmLl9pc19zcGVjaWFsIG9yIG90aGVyLl9pc19zcGVjaWFsOgorICAgICAgICAgICAgaWYgc2VsZi5pc19zbmFuKCk6CisgICAgICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuX3JhaXNlX2Vycm9yKEludmFsaWRPcGVyYXRpb24sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdjb21wYXJpc29uIGludm9sdmluZyBzTmFOJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZikKKyAgICAgICAgICAgIGVsaWYgb3RoZXIuaXNfc25hbigpOgorICAgICAgICAgICAgICAgIHJldHVybiBjb250ZXh0Ll9yYWlzZV9lcnJvcihJbnZhbGlkT3BlcmF0aW9uLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnY29tcGFyaXNvbiBpbnZvbHZpbmcgc05hTicsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG90aGVyKQorICAgICAgICAgICAgZWxpZiBzZWxmLmlzX3FuYW4oKToKKyAgICAgICAgICAgICAgICByZXR1cm4gY29udGV4dC5fcmFpc2VfZXJyb3IoSW52YWxpZE9wZXJhdGlvbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2NvbXBhcmlzb24gaW52b2x2aW5nIE5hTicsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYpCisgICAgICAgICAgICBlbGlmIG90aGVyLmlzX3FuYW4oKToKKyAgICAgICAgICAgICAgICByZXR1cm4gY29udGV4dC5fcmFpc2VfZXJyb3IoSW52YWxpZE9wZXJhdGlvbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2NvbXBhcmlzb24gaW52b2x2aW5nIE5hTicsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG90aGVyKQorICAgICAgICByZXR1cm4gMAorCisgICAgZGVmIF9fYm9vbF9fKHNlbGYpOgorICAgICAgICAiIiJSZXR1cm4gVHJ1ZSBpZiBzZWxmIGlzIG5vbnplcm87IG90aGVyd2lzZSByZXR1cm4gRmFsc2UuCisKKyAgICAgICAgTmFOcyBhbmQgaW5maW5pdGllcyBhcmUgY29uc2lkZXJlZCBub256ZXJvLgorICAgICAgICAiIiIKKyAgICAgICAgcmV0dXJuIHNlbGYuX2lzX3NwZWNpYWwgb3Igc2VsZi5faW50ICE9ICcwJworCisgICAgZGVmIF9jbXAoc2VsZiwgb3RoZXIpOgorICAgICAgICAiIiJDb21wYXJlIHRoZSB0d28gbm9uLU5hTiBkZWNpbWFsIGluc3RhbmNlcyBzZWxmIGFuZCBvdGhlci4KKworICAgICAgICBSZXR1cm5zIC0xIGlmIHNlbGYgPCBvdGhlciwgMCBpZiBzZWxmID09IG90aGVyIGFuZCAxCisgICAgICAgIGlmIHNlbGYgPiBvdGhlci4gIFRoaXMgcm91dGluZSBpcyBmb3IgaW50ZXJuYWwgdXNlIG9ubHkuIiIiCisKKyAgICAgICAgaWYgc2VsZi5faXNfc3BlY2lhbCBvciBvdGhlci5faXNfc3BlY2lhbDoKKyAgICAgICAgICAgIHNlbGZfaW5mID0gc2VsZi5faXNpbmZpbml0eSgpCisgICAgICAgICAgICBvdGhlcl9pbmYgPSBvdGhlci5faXNpbmZpbml0eSgpCisgICAgICAgICAgICBpZiBzZWxmX2luZiA9PSBvdGhlcl9pbmY6CisgICAgICAgICAgICAgICAgcmV0dXJuIDAKKyAgICAgICAgICAgIGVsaWYgc2VsZl9pbmYgPCBvdGhlcl9pbmY6CisgICAgICAgICAgICAgICAgcmV0dXJuIC0xCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIHJldHVybiAxCisKKyAgICAgICAgIyBjaGVjayBmb3IgemVyb3M7ICBEZWNpbWFsKCcwJykgPT0gRGVjaW1hbCgnLTAnKQorICAgICAgICBpZiBub3Qgc2VsZjoKKyAgICAgICAgICAgIGlmIG5vdCBvdGhlcjoKKyAgICAgICAgICAgICAgICByZXR1cm4gMAorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICByZXR1cm4gLSgoLTEpKipvdGhlci5fc2lnbikKKyAgICAgICAgaWYgbm90IG90aGVyOgorICAgICAgICAgICAgcmV0dXJuICgtMSkqKnNlbGYuX3NpZ24KKworICAgICAgICAjIElmIGRpZmZlcmVudCBzaWducywgbmVnIG9uZSBpcyBsZXNzCisgICAgICAgIGlmIG90aGVyLl9zaWduIDwgc2VsZi5fc2lnbjoKKyAgICAgICAgICAgIHJldHVybiAtMQorICAgICAgICBpZiBzZWxmLl9zaWduIDwgb3RoZXIuX3NpZ246CisgICAgICAgICAgICByZXR1cm4gMQorCisgICAgICAgIHNlbGZfYWRqdXN0ZWQgPSBzZWxmLmFkanVzdGVkKCkKKyAgICAgICAgb3RoZXJfYWRqdXN0ZWQgPSBvdGhlci5hZGp1c3RlZCgpCisgICAgICAgIGlmIHNlbGZfYWRqdXN0ZWQgPT0gb3RoZXJfYWRqdXN0ZWQ6CisgICAgICAgICAgICBzZWxmX3BhZGRlZCA9IHNlbGYuX2ludCArICcwJyooc2VsZi5fZXhwIC0gb3RoZXIuX2V4cCkKKyAgICAgICAgICAgIG90aGVyX3BhZGRlZCA9IG90aGVyLl9pbnQgKyAnMCcqKG90aGVyLl9leHAgLSBzZWxmLl9leHApCisgICAgICAgICAgICBpZiBzZWxmX3BhZGRlZCA9PSBvdGhlcl9wYWRkZWQ6CisgICAgICAgICAgICAgICAgcmV0dXJuIDAKKyAgICAgICAgICAgIGVsaWYgc2VsZl9wYWRkZWQgPCBvdGhlcl9wYWRkZWQ6CisgICAgICAgICAgICAgICAgcmV0dXJuIC0oLTEpKipzZWxmLl9zaWduCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIHJldHVybiAoLTEpKipzZWxmLl9zaWduCisgICAgICAgIGVsaWYgc2VsZl9hZGp1c3RlZCA+IG90aGVyX2FkanVzdGVkOgorICAgICAgICAgICAgcmV0dXJuICgtMSkqKnNlbGYuX3NpZ24KKyAgICAgICAgZWxzZTogIyBzZWxmX2FkanVzdGVkIDwgb3RoZXJfYWRqdXN0ZWQKKyAgICAgICAgICAgIHJldHVybiAtKCgtMSkqKnNlbGYuX3NpZ24pCisKKyAgICAjIE5vdGU6IFRoZSBEZWNpbWFsIHN0YW5kYXJkIGRvZXNuJ3QgY292ZXIgcmljaCBjb21wYXJpc29ucyBmb3IKKyAgICAjIERlY2ltYWxzLiAgSW4gcGFydGljdWxhciwgdGhlIHNwZWNpZmljYXRpb24gaXMgc2lsZW50IG9uIHRoZQorICAgICMgc3ViamVjdCBvZiB3aGF0IHNob3VsZCBoYXBwZW4gZm9yIGEgY29tcGFyaXNvbiBpbnZvbHZpbmcgYSBOYU4uCisgICAgIyBXZSB0YWtlIHRoZSBmb2xsb3dpbmcgYXBwcm9hY2g6CisgICAgIworICAgICMgICA9PSBjb21wYXJpc29ucyBpbnZvbHZpbmcgYSBxdWlldCBOYU4gYWx3YXlzIHJldHVybiBGYWxzZQorICAgICMgICAhPSBjb21wYXJpc29ucyBpbnZvbHZpbmcgYSBxdWlldCBOYU4gYWx3YXlzIHJldHVybiBUcnVlCisgICAgIyAgID09IG9yICE9IGNvbXBhcmlzb25zIGludm9sdmluZyBhIHNpZ25hbGluZyBOYU4gc2lnbmFsCisgICAgIyAgICAgIEludmFsaWRPcGVyYXRpb24sIGFuZCByZXR1cm4gRmFsc2Ugb3IgVHJ1ZSBhcyBhYm92ZSBpZiB0aGUKKyAgICAjICAgICAgSW52YWxpZE9wZXJhdGlvbiBpcyBub3QgdHJhcHBlZC4KKyAgICAjICAgPCwgPiwgPD0gYW5kID49IGNvbXBhcmlzb25zIGludm9sdmluZyBhIChxdWlldCBvciBzaWduYWxpbmcpCisgICAgIyAgICAgIE5hTiBzaWduYWwgSW52YWxpZE9wZXJhdGlvbiwgYW5kIHJldHVybiBGYWxzZSBpZiB0aGUKKyAgICAjICAgICAgSW52YWxpZE9wZXJhdGlvbiBpcyBub3QgdHJhcHBlZC4KKyAgICAjCisgICAgIyBUaGlzIGJlaGF2aW9yIGlzIGRlc2lnbmVkIHRvIGNvbmZvcm0gYXMgY2xvc2VseSBhcyBwb3NzaWJsZSB0bworICAgICMgdGhhdCBzcGVjaWZpZWQgYnkgSUVFRSA3NTQuCisKKyAgICBkZWYgX19lcV9fKHNlbGYsIG90aGVyLCBjb250ZXh0PU5vbmUpOgorICAgICAgICBzZWxmLCBvdGhlciA9IF9jb252ZXJ0X2Zvcl9jb21wYXJpc29uKHNlbGYsIG90aGVyLCBlcXVhbGl0eV9vcD1UcnVlKQorICAgICAgICBpZiBvdGhlciBpcyBOb3RJbXBsZW1lbnRlZDoKKyAgICAgICAgICAgIHJldHVybiBvdGhlcgorICAgICAgICBpZiBzZWxmLl9jaGVja19uYW5zKG90aGVyLCBjb250ZXh0KToKKyAgICAgICAgICAgIHJldHVybiBGYWxzZQorICAgICAgICByZXR1cm4gc2VsZi5fY21wKG90aGVyKSA9PSAwCisKKyAgICBkZWYgX19sdF9fKHNlbGYsIG90aGVyLCBjb250ZXh0PU5vbmUpOgorICAgICAgICBzZWxmLCBvdGhlciA9IF9jb252ZXJ0X2Zvcl9jb21wYXJpc29uKHNlbGYsIG90aGVyKQorICAgICAgICBpZiBvdGhlciBpcyBOb3RJbXBsZW1lbnRlZDoKKyAgICAgICAgICAgIHJldHVybiBvdGhlcgorICAgICAgICBhbnMgPSBzZWxmLl9jb21wYXJlX2NoZWNrX25hbnMob3RoZXIsIGNvbnRleHQpCisgICAgICAgIGlmIGFuczoKKyAgICAgICAgICAgIHJldHVybiBGYWxzZQorICAgICAgICByZXR1cm4gc2VsZi5fY21wKG90aGVyKSA8IDAKKworICAgIGRlZiBfX2xlX18oc2VsZiwgb3RoZXIsIGNvbnRleHQ9Tm9uZSk6CisgICAgICAgIHNlbGYsIG90aGVyID0gX2NvbnZlcnRfZm9yX2NvbXBhcmlzb24oc2VsZiwgb3RoZXIpCisgICAgICAgIGlmIG90aGVyIGlzIE5vdEltcGxlbWVudGVkOgorICAgICAgICAgICAgcmV0dXJuIG90aGVyCisgICAgICAgIGFucyA9IHNlbGYuX2NvbXBhcmVfY2hlY2tfbmFucyhvdGhlciwgY29udGV4dCkKKyAgICAgICAgaWYgYW5zOgorICAgICAgICAgICAgcmV0dXJuIEZhbHNlCisgICAgICAgIHJldHVybiBzZWxmLl9jbXAob3RoZXIpIDw9IDAKKworICAgIGRlZiBfX2d0X18oc2VsZiwgb3RoZXIsIGNvbnRleHQ9Tm9uZSk6CisgICAgICAgIHNlbGYsIG90aGVyID0gX2NvbnZlcnRfZm9yX2NvbXBhcmlzb24oc2VsZiwgb3RoZXIpCisgICAgICAgIGlmIG90aGVyIGlzIE5vdEltcGxlbWVudGVkOgorICAgICAgICAgICAgcmV0dXJuIG90aGVyCisgICAgICAgIGFucyA9IHNlbGYuX2NvbXBhcmVfY2hlY2tfbmFucyhvdGhlciwgY29udGV4dCkKKyAgICAgICAgaWYgYW5zOgorICAgICAgICAgICAgcmV0dXJuIEZhbHNlCisgICAgICAgIHJldHVybiBzZWxmLl9jbXAob3RoZXIpID4gMAorCisgICAgZGVmIF9fZ2VfXyhzZWxmLCBvdGhlciwgY29udGV4dD1Ob25lKToKKyAgICAgICAgc2VsZiwgb3RoZXIgPSBfY29udmVydF9mb3JfY29tcGFyaXNvbihzZWxmLCBvdGhlcikKKyAgICAgICAgaWYgb3RoZXIgaXMgTm90SW1wbGVtZW50ZWQ6CisgICAgICAgICAgICByZXR1cm4gb3RoZXIKKyAgICAgICAgYW5zID0gc2VsZi5fY29tcGFyZV9jaGVja19uYW5zKG90aGVyLCBjb250ZXh0KQorICAgICAgICBpZiBhbnM6CisgICAgICAgICAgICByZXR1cm4gRmFsc2UKKyAgICAgICAgcmV0dXJuIHNlbGYuX2NtcChvdGhlcikgPj0gMAorCisgICAgZGVmIGNvbXBhcmUoc2VsZiwgb3RoZXIsIGNvbnRleHQ9Tm9uZSk6CisgICAgICAgICIiIkNvbXBhcmVzIG9uZSB0byBhbm90aGVyLgorCisgICAgICAgIC0xID0+IGEgPCBiCisgICAgICAgIDAgID0+IGEgPSBiCisgICAgICAgIDEgID0+IGEgPiBiCisgICAgICAgIE5hTiA9PiBvbmUgaXMgTmFOCisgICAgICAgIExpa2UgX19jbXBfXywgYnV0IHJldHVybnMgRGVjaW1hbCBpbnN0YW5jZXMuCisgICAgICAgICIiIgorICAgICAgICBvdGhlciA9IF9jb252ZXJ0X290aGVyKG90aGVyLCByYWlzZWl0PVRydWUpCisKKyAgICAgICAgIyBDb21wYXJlKE5hTiwgTmFOKSA9IE5hTgorICAgICAgICBpZiAoc2VsZi5faXNfc3BlY2lhbCBvciBvdGhlciBhbmQgb3RoZXIuX2lzX3NwZWNpYWwpOgorICAgICAgICAgICAgYW5zID0gc2VsZi5fY2hlY2tfbmFucyhvdGhlciwgY29udGV4dCkKKyAgICAgICAgICAgIGlmIGFuczoKKyAgICAgICAgICAgICAgICByZXR1cm4gYW5zCisKKyAgICAgICAgcmV0dXJuIERlY2ltYWwoc2VsZi5fY21wKG90aGVyKSkKKworICAgIGRlZiBfX2hhc2hfXyhzZWxmKToKKyAgICAgICAgIiIieC5fX2hhc2hfXygpIDw9PT4gaGFzaCh4KSIiIgorCisgICAgICAgICMgSW4gb3JkZXIgdG8gbWFrZSBzdXJlIHRoYXQgdGhlIGhhc2ggb2YgYSBEZWNpbWFsIGluc3RhbmNlCisgICAgICAgICMgYWdyZWVzIHdpdGggdGhlIGhhc2ggb2YgYSBudW1lcmljYWxseSBlcXVhbCBpbnRlZ2VyLCBmbG9hdAorICAgICAgICAjIG9yIEZyYWN0aW9uLCB3ZSBmb2xsb3cgdGhlIHJ1bGVzIGZvciBudW1lcmljIGhhc2hlcyBvdXRsaW5lZAorICAgICAgICAjIGluIHRoZSBkb2N1bWVudGF0aW9uLiAgKFNlZSBsaWJyYXJ5IGRvY3MsICdCdWlsdC1pbiBUeXBlcycpLgorICAgICAgICBpZiBzZWxmLl9pc19zcGVjaWFsOgorICAgICAgICAgICAgaWYgc2VsZi5pc19zbmFuKCk6CisgICAgICAgICAgICAgICAgcmFpc2UgVHlwZUVycm9yKCdDYW5ub3QgaGFzaCBhIHNpZ25hbGluZyBOYU4gdmFsdWUuJykKKyAgICAgICAgICAgIGVsaWYgc2VsZi5pc19uYW4oKToKKyAgICAgICAgICAgICAgICByZXR1cm4gX1B5SEFTSF9OQU4KKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgaWYgc2VsZi5fc2lnbjoKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIC1fUHlIQVNIX0lORgorICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgIHJldHVybiBfUHlIQVNIX0lORgorCisgICAgICAgIGlmIHNlbGYuX2V4cCA+PSAwOgorICAgICAgICAgICAgZXhwX2hhc2ggPSBwb3coMTAsIHNlbGYuX2V4cCwgX1B5SEFTSF9NT0RVTFVTKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgZXhwX2hhc2ggPSBwb3coX1B5SEFTSF8xMElOViwgLXNlbGYuX2V4cCwgX1B5SEFTSF9NT0RVTFVTKQorICAgICAgICBoYXNoXyA9IGludChzZWxmLl9pbnQpICogZXhwX2hhc2ggJSBfUHlIQVNIX01PRFVMVVMKKyAgICAgICAgYW5zID0gaGFzaF8gaWYgc2VsZiA+PSAwIGVsc2UgLWhhc2hfCisgICAgICAgIHJldHVybiAtMiBpZiBhbnMgPT0gLTEgZWxzZSBhbnMKKworICAgIGRlZiBhc190dXBsZShzZWxmKToKKyAgICAgICAgIiIiUmVwcmVzZW50cyB0aGUgbnVtYmVyIGFzIGEgdHJpcGxlIHR1cGxlLgorCisgICAgICAgIFRvIHNob3cgdGhlIGludGVybmFscyBleGFjdGx5IGFzIHRoZXkgYXJlLgorICAgICAgICAiIiIKKyAgICAgICAgcmV0dXJuIERlY2ltYWxUdXBsZShzZWxmLl9zaWduLCB0dXBsZShtYXAoaW50LCBzZWxmLl9pbnQpKSwgc2VsZi5fZXhwKQorCisgICAgZGVmIF9fcmVwcl9fKHNlbGYpOgorICAgICAgICAiIiJSZXByZXNlbnRzIHRoZSBudW1iZXIgYXMgYW4gaW5zdGFuY2Ugb2YgRGVjaW1hbC4iIiIKKyAgICAgICAgIyBJbnZhcmlhbnQ6ICBldmFsKHJlcHIoZCkpID09IGQKKyAgICAgICAgcmV0dXJuICJEZWNpbWFsKCclcycpIiAlIHN0cihzZWxmKQorCisgICAgZGVmIF9fc3RyX18oc2VsZiwgZW5nPUZhbHNlLCBjb250ZXh0PU5vbmUpOgorICAgICAgICAiIiJSZXR1cm4gc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBudW1iZXIgaW4gc2NpZW50aWZpYyBub3RhdGlvbi4KKworICAgICAgICBDYXB0dXJlcyBhbGwgb2YgdGhlIGluZm9ybWF0aW9uIGluIHRoZSB1bmRlcmx5aW5nIHJlcHJlc2VudGF0aW9uLgorICAgICAgICAiIiIKKworICAgICAgICBzaWduID0gWycnLCAnLSddW3NlbGYuX3NpZ25dCisgICAgICAgIGlmIHNlbGYuX2lzX3NwZWNpYWw6CisgICAgICAgICAgICBpZiBzZWxmLl9leHAgPT0gJ0YnOgorICAgICAgICAgICAgICAgIHJldHVybiBzaWduICsgJ0luZmluaXR5JworICAgICAgICAgICAgZWxpZiBzZWxmLl9leHAgPT0gJ24nOgorICAgICAgICAgICAgICAgIHJldHVybiBzaWduICsgJ05hTicgKyBzZWxmLl9pbnQKKyAgICAgICAgICAgIGVsc2U6ICMgc2VsZi5fZXhwID09ICdOJworICAgICAgICAgICAgICAgIHJldHVybiBzaWduICsgJ3NOYU4nICsgc2VsZi5faW50CisKKyAgICAgICAgIyBudW1iZXIgb2YgZGlnaXRzIG9mIHNlbGYuX2ludCB0byBsZWZ0IG9mIGRlY2ltYWwgcG9pbnQKKyAgICAgICAgbGVmdGRpZ2l0cyA9IHNlbGYuX2V4cCArIGxlbihzZWxmLl9pbnQpCisKKyAgICAgICAgIyBkb3RwbGFjZSBpcyBudW1iZXIgb2YgZGlnaXRzIG9mIHNlbGYuX2ludCB0byB0aGUgbGVmdCBvZiB0aGUKKyAgICAgICAgIyBkZWNpbWFsIHBvaW50IGluIHRoZSBtYW50aXNzYSBvZiB0aGUgb3V0cHV0IHN0cmluZyAodGhhdCBpcywKKyAgICAgICAgIyBhZnRlciBhZGp1c3RpbmcgdGhlIGV4cG9uZW50KQorICAgICAgICBpZiBzZWxmLl9leHAgPD0gMCBhbmQgbGVmdGRpZ2l0cyA+IC02OgorICAgICAgICAgICAgIyBubyBleHBvbmVudCByZXF1aXJlZAorICAgICAgICAgICAgZG90cGxhY2UgPSBsZWZ0ZGlnaXRzCisgICAgICAgIGVsaWYgbm90IGVuZzoKKyAgICAgICAgICAgICMgdXN1YWwgc2NpZW50aWZpYyBub3RhdGlvbjogMSBkaWdpdCBvbiBsZWZ0IG9mIHRoZSBwb2ludAorICAgICAgICAgICAgZG90cGxhY2UgPSAxCisgICAgICAgIGVsaWYgc2VsZi5faW50ID09ICcwJzoKKyAgICAgICAgICAgICMgZW5naW5lZXJpbmcgbm90YXRpb24sIHplcm8KKyAgICAgICAgICAgIGRvdHBsYWNlID0gKGxlZnRkaWdpdHMgKyAxKSAlIDMgLSAxCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICAjIGVuZ2luZWVyaW5nIG5vdGF0aW9uLCBub256ZXJvCisgICAgICAgICAgICBkb3RwbGFjZSA9IChsZWZ0ZGlnaXRzIC0gMSkgJSAzICsgMQorCisgICAgICAgIGlmIGRvdHBsYWNlIDw9IDA6CisgICAgICAgICAgICBpbnRwYXJ0ID0gJzAnCisgICAgICAgICAgICBmcmFjcGFydCA9ICcuJyArICcwJyooLWRvdHBsYWNlKSArIHNlbGYuX2ludAorICAgICAgICBlbGlmIGRvdHBsYWNlID49IGxlbihzZWxmLl9pbnQpOgorICAgICAgICAgICAgaW50cGFydCA9IHNlbGYuX2ludCsnMCcqKGRvdHBsYWNlLWxlbihzZWxmLl9pbnQpKQorICAgICAgICAgICAgZnJhY3BhcnQgPSAnJworICAgICAgICBlbHNlOgorICAgICAgICAgICAgaW50cGFydCA9IHNlbGYuX2ludFs6ZG90cGxhY2VdCisgICAgICAgICAgICBmcmFjcGFydCA9ICcuJyArIHNlbGYuX2ludFtkb3RwbGFjZTpdCisgICAgICAgIGlmIGxlZnRkaWdpdHMgPT0gZG90cGxhY2U6CisgICAgICAgICAgICBleHAgPSAnJworICAgICAgICBlbHNlOgorICAgICAgICAgICAgaWYgY29udGV4dCBpcyBOb25lOgorICAgICAgICAgICAgICAgIGNvbnRleHQgPSBnZXRjb250ZXh0KCkKKyAgICAgICAgICAgIGV4cCA9IFsnZScsICdFJ11bY29udGV4dC5jYXBpdGFsc10gKyAiJStkIiAlIChsZWZ0ZGlnaXRzLWRvdHBsYWNlKQorCisgICAgICAgIHJldHVybiBzaWduICsgaW50cGFydCArIGZyYWNwYXJ0ICsgZXhwCisKKyAgICBkZWYgdG9fZW5nX3N0cmluZyhzZWxmLCBjb250ZXh0PU5vbmUpOgorICAgICAgICAiIiJDb252ZXJ0IHRvIGVuZ2luZWVyaW5nLXR5cGUgc3RyaW5nLgorCisgICAgICAgIEVuZ2luZWVyaW5nIG5vdGF0aW9uIGhhcyBhbiBleHBvbmVudCB3aGljaCBpcyBhIG11bHRpcGxlIG9mIDMsIHNvIHRoZXJlCisgICAgICAgIGFyZSB1cCB0byAzIGRpZ2l0cyBsZWZ0IG9mIHRoZSBkZWNpbWFsIHBsYWNlLgorCisgICAgICAgIFNhbWUgcnVsZXMgZm9yIHdoZW4gaW4gZXhwb25lbnRpYWwgYW5kIHdoZW4gYXMgYSB2YWx1ZSBhcyBpbiBfX3N0cl9fLgorICAgICAgICAiIiIKKyAgICAgICAgcmV0dXJuIHNlbGYuX19zdHJfXyhlbmc9VHJ1ZSwgY29udGV4dD1jb250ZXh0KQorCisgICAgZGVmIF9fbmVnX18oc2VsZiwgY29udGV4dD1Ob25lKToKKyAgICAgICAgIiIiUmV0dXJucyBhIGNvcHkgd2l0aCB0aGUgc2lnbiBzd2l0Y2hlZC4KKworICAgICAgICBSb3VuZHMsIGlmIGl0IGhhcyByZWFzb24uCisgICAgICAgICIiIgorICAgICAgICBpZiBzZWxmLl9pc19zcGVjaWFsOgorICAgICAgICAgICAgYW5zID0gc2VsZi5fY2hlY2tfbmFucyhjb250ZXh0PWNvbnRleHQpCisgICAgICAgICAgICBpZiBhbnM6CisgICAgICAgICAgICAgICAgcmV0dXJuIGFucworCisgICAgICAgIGlmIGNvbnRleHQgaXMgTm9uZToKKyAgICAgICAgICAgIGNvbnRleHQgPSBnZXRjb250ZXh0KCkKKworICAgICAgICBpZiBub3Qgc2VsZiBhbmQgY29udGV4dC5yb3VuZGluZyAhPSBST1VORF9GTE9PUjoKKyAgICAgICAgICAgICMgLURlY2ltYWwoJzAnKSBpcyBEZWNpbWFsKCcwJyksIG5vdCBEZWNpbWFsKCctMCcpLCBleGNlcHQKKyAgICAgICAgICAgICMgaW4gUk9VTkRfRkxPT1Igcm91bmRpbmcgbW9kZS4KKyAgICAgICAgICAgIGFucyA9IHNlbGYuY29weV9hYnMoKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgYW5zID0gc2VsZi5jb3B5X25lZ2F0ZSgpCisKKyAgICAgICAgcmV0dXJuIGFucy5fZml4KGNvbnRleHQpCisKKyAgICBkZWYgX19wb3NfXyhzZWxmLCBjb250ZXh0PU5vbmUpOgorICAgICAgICAiIiJSZXR1cm5zIGEgY29weSwgdW5sZXNzIGl0IGlzIGEgc05hTi4KKworICAgICAgICBSb3VuZHMgdGhlIG51bWJlciAoaWYgbW9yZSB0aGVuIHByZWNpc2lvbiBkaWdpdHMpCisgICAgICAgICIiIgorICAgICAgICBpZiBzZWxmLl9pc19zcGVjaWFsOgorICAgICAgICAgICAgYW5zID0gc2VsZi5fY2hlY2tfbmFucyhjb250ZXh0PWNvbnRleHQpCisgICAgICAgICAgICBpZiBhbnM6CisgICAgICAgICAgICAgICAgcmV0dXJuIGFucworCisgICAgICAgIGlmIGNvbnRleHQgaXMgTm9uZToKKyAgICAgICAgICAgIGNvbnRleHQgPSBnZXRjb250ZXh0KCkKKworICAgICAgICBpZiBub3Qgc2VsZiBhbmQgY29udGV4dC5yb3VuZGluZyAhPSBST1VORF9GTE9PUjoKKyAgICAgICAgICAgICMgKyAoLTApID0gMCwgZXhjZXB0IGluIFJPVU5EX0ZMT09SIHJvdW5kaW5nIG1vZGUuCisgICAgICAgICAgICBhbnMgPSBzZWxmLmNvcHlfYWJzKCkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGFucyA9IERlY2ltYWwoc2VsZikKKworICAgICAgICByZXR1cm4gYW5zLl9maXgoY29udGV4dCkKKworICAgIGRlZiBfX2Fic19fKHNlbGYsIHJvdW5kPVRydWUsIGNvbnRleHQ9Tm9uZSk6CisgICAgICAgICIiIlJldHVybnMgdGhlIGFic29sdXRlIHZhbHVlIG9mIHNlbGYuCisKKyAgICAgICAgSWYgdGhlIGtleXdvcmQgYXJndW1lbnQgJ3JvdW5kJyBpcyBmYWxzZSwgZG8gbm90IHJvdW5kLiAgVGhlCisgICAgICAgIGV4cHJlc3Npb24gc2VsZi5fX2Fic19fKHJvdW5kPUZhbHNlKSBpcyBlcXVpdmFsZW50IHRvCisgICAgICAgIHNlbGYuY29weV9hYnMoKS4KKyAgICAgICAgIiIiCisgICAgICAgIGlmIG5vdCByb3VuZDoKKyAgICAgICAgICAgIHJldHVybiBzZWxmLmNvcHlfYWJzKCkKKworICAgICAgICBpZiBzZWxmLl9pc19zcGVjaWFsOgorICAgICAgICAgICAgYW5zID0gc2VsZi5fY2hlY2tfbmFucyhjb250ZXh0PWNvbnRleHQpCisgICAgICAgICAgICBpZiBhbnM6CisgICAgICAgICAgICAgICAgcmV0dXJuIGFucworCisgICAgICAgIGlmIHNlbGYuX3NpZ246CisgICAgICAgICAgICBhbnMgPSBzZWxmLl9fbmVnX18oY29udGV4dD1jb250ZXh0KQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgYW5zID0gc2VsZi5fX3Bvc19fKGNvbnRleHQ9Y29udGV4dCkKKworICAgICAgICByZXR1cm4gYW5zCisKKyAgICBkZWYgX19hZGRfXyhzZWxmLCBvdGhlciwgY29udGV4dD1Ob25lKToKKyAgICAgICAgIiIiUmV0dXJucyBzZWxmICsgb3RoZXIuCisKKyAgICAgICAgLUlORiArIElORiAob3IgdGhlIHJldmVyc2UpIGNhdXNlIEludmFsaWRPcGVyYXRpb24gZXJyb3JzLgorICAgICAgICAiIiIKKyAgICAgICAgb3RoZXIgPSBfY29udmVydF9vdGhlcihvdGhlcikKKyAgICAgICAgaWYgb3RoZXIgaXMgTm90SW1wbGVtZW50ZWQ6CisgICAgICAgICAgICByZXR1cm4gb3RoZXIKKworICAgICAgICBpZiBjb250ZXh0IGlzIE5vbmU6CisgICAgICAgICAgICBjb250ZXh0ID0gZ2V0Y29udGV4dCgpCisKKyAgICAgICAgaWYgc2VsZi5faXNfc3BlY2lhbCBvciBvdGhlci5faXNfc3BlY2lhbDoKKyAgICAgICAgICAgIGFucyA9IHNlbGYuX2NoZWNrX25hbnMob3RoZXIsIGNvbnRleHQpCisgICAgICAgICAgICBpZiBhbnM6CisgICAgICAgICAgICAgICAgcmV0dXJuIGFucworCisgICAgICAgICAgICBpZiBzZWxmLl9pc2luZmluaXR5KCk6CisgICAgICAgICAgICAgICAgIyBJZiBib3RoIElORiwgc2FtZSBzaWduID0+IHNhbWUgYXMgYm90aCwgb3Bwb3NpdGUgPT4gZXJyb3IuCisgICAgICAgICAgICAgICAgaWYgc2VsZi5fc2lnbiAhPSBvdGhlci5fc2lnbiBhbmQgb3RoZXIuX2lzaW5maW5pdHkoKToKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuX3JhaXNlX2Vycm9yKEludmFsaWRPcGVyYXRpb24sICctSU5GICsgSU5GJykKKyAgICAgICAgICAgICAgICByZXR1cm4gRGVjaW1hbChzZWxmKQorICAgICAgICAgICAgaWYgb3RoZXIuX2lzaW5maW5pdHkoKToKKyAgICAgICAgICAgICAgICByZXR1cm4gRGVjaW1hbChvdGhlcikgICMgQ2FuJ3QgYm90aCBiZSBpbmZpbml0eSBoZXJlCisKKyAgICAgICAgZXhwID0gbWluKHNlbGYuX2V4cCwgb3RoZXIuX2V4cCkKKyAgICAgICAgbmVnYXRpdmV6ZXJvID0gMAorICAgICAgICBpZiBjb250ZXh0LnJvdW5kaW5nID09IFJPVU5EX0ZMT09SIGFuZCBzZWxmLl9zaWduICE9IG90aGVyLl9zaWduOgorICAgICAgICAgICAgIyBJZiB0aGUgYW5zd2VyIGlzIDAsIHRoZSBzaWduIHNob3VsZCBiZSBuZWdhdGl2ZSwgaW4gdGhpcyBjYXNlLgorICAgICAgICAgICAgbmVnYXRpdmV6ZXJvID0gMQorCisgICAgICAgIGlmIG5vdCBzZWxmIGFuZCBub3Qgb3RoZXI6CisgICAgICAgICAgICBzaWduID0gbWluKHNlbGYuX3NpZ24sIG90aGVyLl9zaWduKQorICAgICAgICAgICAgaWYgbmVnYXRpdmV6ZXJvOgorICAgICAgICAgICAgICAgIHNpZ24gPSAxCisgICAgICAgICAgICBhbnMgPSBfZGVjX2Zyb21fdHJpcGxlKHNpZ24sICcwJywgZXhwKQorICAgICAgICAgICAgYW5zID0gYW5zLl9maXgoY29udGV4dCkKKyAgICAgICAgICAgIHJldHVybiBhbnMKKyAgICAgICAgaWYgbm90IHNlbGY6CisgICAgICAgICAgICBleHAgPSBtYXgoZXhwLCBvdGhlci5fZXhwIC0gY29udGV4dC5wcmVjLTEpCisgICAgICAgICAgICBhbnMgPSBvdGhlci5fcmVzY2FsZShleHAsIGNvbnRleHQucm91bmRpbmcpCisgICAgICAgICAgICBhbnMgPSBhbnMuX2ZpeChjb250ZXh0KQorICAgICAgICAgICAgcmV0dXJuIGFucworICAgICAgICBpZiBub3Qgb3RoZXI6CisgICAgICAgICAgICBleHAgPSBtYXgoZXhwLCBzZWxmLl9leHAgLSBjb250ZXh0LnByZWMtMSkKKyAgICAgICAgICAgIGFucyA9IHNlbGYuX3Jlc2NhbGUoZXhwLCBjb250ZXh0LnJvdW5kaW5nKQorICAgICAgICAgICAgYW5zID0gYW5zLl9maXgoY29udGV4dCkKKyAgICAgICAgICAgIHJldHVybiBhbnMKKworICAgICAgICBvcDEgPSBfV29ya1JlcChzZWxmKQorICAgICAgICBvcDIgPSBfV29ya1JlcChvdGhlcikKKyAgICAgICAgb3AxLCBvcDIgPSBfbm9ybWFsaXplKG9wMSwgb3AyLCBjb250ZXh0LnByZWMpCisKKyAgICAgICAgcmVzdWx0ID0gX1dvcmtSZXAoKQorICAgICAgICBpZiBvcDEuc2lnbiAhPSBvcDIuc2lnbjoKKyAgICAgICAgICAgICMgRXF1YWwgYW5kIG9wcG9zaXRlCisgICAgICAgICAgICBpZiBvcDEuaW50ID09IG9wMi5pbnQ6CisgICAgICAgICAgICAgICAgYW5zID0gX2RlY19mcm9tX3RyaXBsZShuZWdhdGl2ZXplcm8sICcwJywgZXhwKQorICAgICAgICAgICAgICAgIGFucyA9IGFucy5fZml4KGNvbnRleHQpCisgICAgICAgICAgICAgICAgcmV0dXJuIGFucworICAgICAgICAgICAgaWYgb3AxLmludCA8IG9wMi5pbnQ6CisgICAgICAgICAgICAgICAgb3AxLCBvcDIgPSBvcDIsIG9wMQorICAgICAgICAgICAgICAgICMgT0ssIG5vdyBhYnMob3AxKSA+IGFicyhvcDIpCisgICAgICAgICAgICBpZiBvcDEuc2lnbiA9PSAxOgorICAgICAgICAgICAgICAgIHJlc3VsdC5zaWduID0gMQorICAgICAgICAgICAgICAgIG9wMS5zaWduLCBvcDIuc2lnbiA9IG9wMi5zaWduLCBvcDEuc2lnbgorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICByZXN1bHQuc2lnbiA9IDAKKyAgICAgICAgICAgICAgICAjIFNvIHdlIGtub3cgdGhlIHNpZ24sIGFuZCBvcDEgPiAwLgorICAgICAgICBlbGlmIG9wMS5zaWduID09IDE6CisgICAgICAgICAgICByZXN1bHQuc2lnbiA9IDEKKyAgICAgICAgICAgIG9wMS5zaWduLCBvcDIuc2lnbiA9ICgwLCAwKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgcmVzdWx0LnNpZ24gPSAwCisgICAgICAgICMgTm93LCBvcDEgPiBhYnMob3AyKSA+IDAKKworICAgICAgICBpZiBvcDIuc2lnbiA9PSAwOgorICAgICAgICAgICAgcmVzdWx0LmludCA9IG9wMS5pbnQgKyBvcDIuaW50CisgICAgICAgIGVsc2U6CisgICAgICAgICAgICByZXN1bHQuaW50ID0gb3AxLmludCAtIG9wMi5pbnQKKworICAgICAgICByZXN1bHQuZXhwID0gb3AxLmV4cAorICAgICAgICBhbnMgPSBEZWNpbWFsKHJlc3VsdCkKKyAgICAgICAgYW5zID0gYW5zLl9maXgoY29udGV4dCkKKyAgICAgICAgcmV0dXJuIGFucworCisgICAgX19yYWRkX18gPSBfX2FkZF9fCisKKyAgICBkZWYgX19zdWJfXyhzZWxmLCBvdGhlciwgY29udGV4dD1Ob25lKToKKyAgICAgICAgIiIiUmV0dXJuIHNlbGYgLSBvdGhlciIiIgorICAgICAgICBvdGhlciA9IF9jb252ZXJ0X290aGVyKG90aGVyKQorICAgICAgICBpZiBvdGhlciBpcyBOb3RJbXBsZW1lbnRlZDoKKyAgICAgICAgICAgIHJldHVybiBvdGhlcgorCisgICAgICAgIGlmIHNlbGYuX2lzX3NwZWNpYWwgb3Igb3RoZXIuX2lzX3NwZWNpYWw6CisgICAgICAgICAgICBhbnMgPSBzZWxmLl9jaGVja19uYW5zKG90aGVyLCBjb250ZXh0PWNvbnRleHQpCisgICAgICAgICAgICBpZiBhbnM6CisgICAgICAgICAgICAgICAgcmV0dXJuIGFucworCisgICAgICAgICMgc2VsZiAtIG90aGVyIGlzIGNvbXB1dGVkIGFzIHNlbGYgKyBvdGhlci5jb3B5X25lZ2F0ZSgpCisgICAgICAgIHJldHVybiBzZWxmLl9fYWRkX18ob3RoZXIuY29weV9uZWdhdGUoKSwgY29udGV4dD1jb250ZXh0KQorCisgICAgZGVmIF9fcnN1Yl9fKHNlbGYsIG90aGVyLCBjb250ZXh0PU5vbmUpOgorICAgICAgICAiIiJSZXR1cm4gb3RoZXIgLSBzZWxmIiIiCisgICAgICAgIG90aGVyID0gX2NvbnZlcnRfb3RoZXIob3RoZXIpCisgICAgICAgIGlmIG90aGVyIGlzIE5vdEltcGxlbWVudGVkOgorICAgICAgICAgICAgcmV0dXJuIG90aGVyCisKKyAgICAgICAgcmV0dXJuIG90aGVyLl9fc3ViX18oc2VsZiwgY29udGV4dD1jb250ZXh0KQorCisgICAgZGVmIF9fbXVsX18oc2VsZiwgb3RoZXIsIGNvbnRleHQ9Tm9uZSk6CisgICAgICAgICIiIlJldHVybiBzZWxmICogb3RoZXIuCisKKyAgICAgICAgKCstKSBJTkYgKiAwIChvciBpdHMgcmV2ZXJzZSkgcmFpc2UgSW52YWxpZE9wZXJhdGlvbi4KKyAgICAgICAgIiIiCisgICAgICAgIG90aGVyID0gX2NvbnZlcnRfb3RoZXIob3RoZXIpCisgICAgICAgIGlmIG90aGVyIGlzIE5vdEltcGxlbWVudGVkOgorICAgICAgICAgICAgcmV0dXJuIG90aGVyCisKKyAgICAgICAgaWYgY29udGV4dCBpcyBOb25lOgorICAgICAgICAgICAgY29udGV4dCA9IGdldGNvbnRleHQoKQorCisgICAgICAgIHJlc3VsdHNpZ24gPSBzZWxmLl9zaWduIF4gb3RoZXIuX3NpZ24KKworICAgICAgICBpZiBzZWxmLl9pc19zcGVjaWFsIG9yIG90aGVyLl9pc19zcGVjaWFsOgorICAgICAgICAgICAgYW5zID0gc2VsZi5fY2hlY2tfbmFucyhvdGhlciwgY29udGV4dCkKKyAgICAgICAgICAgIGlmIGFuczoKKyAgICAgICAgICAgICAgICByZXR1cm4gYW5zCisKKyAgICAgICAgICAgIGlmIHNlbGYuX2lzaW5maW5pdHkoKToKKyAgICAgICAgICAgICAgICBpZiBub3Qgb3RoZXI6CisgICAgICAgICAgICAgICAgICAgIHJldHVybiBjb250ZXh0Ll9yYWlzZV9lcnJvcihJbnZhbGlkT3BlcmF0aW9uLCAnKCstKUlORiAqIDAnKQorICAgICAgICAgICAgICAgIHJldHVybiBfU2lnbmVkSW5maW5pdHlbcmVzdWx0c2lnbl0KKworICAgICAgICAgICAgaWYgb3RoZXIuX2lzaW5maW5pdHkoKToKKyAgICAgICAgICAgICAgICBpZiBub3Qgc2VsZjoKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuX3JhaXNlX2Vycm9yKEludmFsaWRPcGVyYXRpb24sICcwICogKCstKUlORicpCisgICAgICAgICAgICAgICAgcmV0dXJuIF9TaWduZWRJbmZpbml0eVtyZXN1bHRzaWduXQorCisgICAgICAgIHJlc3VsdGV4cCA9IHNlbGYuX2V4cCArIG90aGVyLl9leHAKKworICAgICAgICAjIFNwZWNpYWwgY2FzZSBmb3IgbXVsdGlwbHlpbmcgYnkgemVybworICAgICAgICBpZiBub3Qgc2VsZiBvciBub3Qgb3RoZXI6CisgICAgICAgICAgICBhbnMgPSBfZGVjX2Zyb21fdHJpcGxlKHJlc3VsdHNpZ24sICcwJywgcmVzdWx0ZXhwKQorICAgICAgICAgICAgIyBGaXhpbmcgaW4gY2FzZSB0aGUgZXhwb25lbnQgaXMgb3V0IG9mIGJvdW5kcworICAgICAgICAgICAgYW5zID0gYW5zLl9maXgoY29udGV4dCkKKyAgICAgICAgICAgIHJldHVybiBhbnMKKworICAgICAgICAjIFNwZWNpYWwgY2FzZSBmb3IgbXVsdGlwbHlpbmcgYnkgcG93ZXIgb2YgMTAKKyAgICAgICAgaWYgc2VsZi5faW50ID09ICcxJzoKKyAgICAgICAgICAgIGFucyA9IF9kZWNfZnJvbV90cmlwbGUocmVzdWx0c2lnbiwgb3RoZXIuX2ludCwgcmVzdWx0ZXhwKQorICAgICAgICAgICAgYW5zID0gYW5zLl9maXgoY29udGV4dCkKKyAgICAgICAgICAgIHJldHVybiBhbnMKKyAgICAgICAgaWYgb3RoZXIuX2ludCA9PSAnMSc6CisgICAgICAgICAgICBhbnMgPSBfZGVjX2Zyb21fdHJpcGxlKHJlc3VsdHNpZ24sIHNlbGYuX2ludCwgcmVzdWx0ZXhwKQorICAgICAgICAgICAgYW5zID0gYW5zLl9maXgoY29udGV4dCkKKyAgICAgICAgICAgIHJldHVybiBhbnMKKworICAgICAgICBvcDEgPSBfV29ya1JlcChzZWxmKQorICAgICAgICBvcDIgPSBfV29ya1JlcChvdGhlcikKKworICAgICAgICBhbnMgPSBfZGVjX2Zyb21fdHJpcGxlKHJlc3VsdHNpZ24sIHN0cihvcDEuaW50ICogb3AyLmludCksIHJlc3VsdGV4cCkKKyAgICAgICAgYW5zID0gYW5zLl9maXgoY29udGV4dCkKKworICAgICAgICByZXR1cm4gYW5zCisgICAgX19ybXVsX18gPSBfX211bF9fCisKKyAgICBkZWYgX190cnVlZGl2X18oc2VsZiwgb3RoZXIsIGNvbnRleHQ9Tm9uZSk6CisgICAgICAgICIiIlJldHVybiBzZWxmIC8gb3RoZXIuIiIiCisgICAgICAgIG90aGVyID0gX2NvbnZlcnRfb3RoZXIob3RoZXIpCisgICAgICAgIGlmIG90aGVyIGlzIE5vdEltcGxlbWVudGVkOgorICAgICAgICAgICAgcmV0dXJuIE5vdEltcGxlbWVudGVkCisKKyAgICAgICAgaWYgY29udGV4dCBpcyBOb25lOgorICAgICAgICAgICAgY29udGV4dCA9IGdldGNvbnRleHQoKQorCisgICAgICAgIHNpZ24gPSBzZWxmLl9zaWduIF4gb3RoZXIuX3NpZ24KKworICAgICAgICBpZiBzZWxmLl9pc19zcGVjaWFsIG9yIG90aGVyLl9pc19zcGVjaWFsOgorICAgICAgICAgICAgYW5zID0gc2VsZi5fY2hlY2tfbmFucyhvdGhlciwgY29udGV4dCkKKyAgICAgICAgICAgIGlmIGFuczoKKyAgICAgICAgICAgICAgICByZXR1cm4gYW5zCisKKyAgICAgICAgICAgIGlmIHNlbGYuX2lzaW5maW5pdHkoKSBhbmQgb3RoZXIuX2lzaW5maW5pdHkoKToKKyAgICAgICAgICAgICAgICByZXR1cm4gY29udGV4dC5fcmFpc2VfZXJyb3IoSW52YWxpZE9wZXJhdGlvbiwgJygrLSlJTkYvKCstKUlORicpCisKKyAgICAgICAgICAgIGlmIHNlbGYuX2lzaW5maW5pdHkoKToKKyAgICAgICAgICAgICAgICByZXR1cm4gX1NpZ25lZEluZmluaXR5W3NpZ25dCisKKyAgICAgICAgICAgIGlmIG90aGVyLl9pc2luZmluaXR5KCk6CisgICAgICAgICAgICAgICAgY29udGV4dC5fcmFpc2VfZXJyb3IoQ2xhbXBlZCwgJ0RpdmlzaW9uIGJ5IGluZmluaXR5JykKKyAgICAgICAgICAgICAgICByZXR1cm4gX2RlY19mcm9tX3RyaXBsZShzaWduLCAnMCcsIGNvbnRleHQuRXRpbnkoKSkKKworICAgICAgICAjIFNwZWNpYWwgY2FzZXMgZm9yIHplcm9lcworICAgICAgICBpZiBub3Qgb3RoZXI6CisgICAgICAgICAgICBpZiBub3Qgc2VsZjoKKyAgICAgICAgICAgICAgICByZXR1cm4gY29udGV4dC5fcmFpc2VfZXJyb3IoRGl2aXNpb25VbmRlZmluZWQsICcwIC8gMCcpCisgICAgICAgICAgICByZXR1cm4gY29udGV4dC5fcmFpc2VfZXJyb3IoRGl2aXNpb25CeVplcm8sICd4IC8gMCcsIHNpZ24pCisKKyAgICAgICAgaWYgbm90IHNlbGY6CisgICAgICAgICAgICBleHAgPSBzZWxmLl9leHAgLSBvdGhlci5fZXhwCisgICAgICAgICAgICBjb2VmZiA9IDAKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgICMgT0ssIHNvIG5laXRoZXIgPSAwLCBJTkYgb3IgTmFOCisgICAgICAgICAgICBzaGlmdCA9IGxlbihvdGhlci5faW50KSAtIGxlbihzZWxmLl9pbnQpICsgY29udGV4dC5wcmVjICsgMQorICAgICAgICAgICAgZXhwID0gc2VsZi5fZXhwIC0gb3RoZXIuX2V4cCAtIHNoaWZ0CisgICAgICAgICAgICBvcDEgPSBfV29ya1JlcChzZWxmKQorICAgICAgICAgICAgb3AyID0gX1dvcmtSZXAob3RoZXIpCisgICAgICAgICAgICBpZiBzaGlmdCA+PSAwOgorICAgICAgICAgICAgICAgIGNvZWZmLCByZW1haW5kZXIgPSBkaXZtb2Qob3AxLmludCAqIDEwKipzaGlmdCwgb3AyLmludCkKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgY29lZmYsIHJlbWFpbmRlciA9IGRpdm1vZChvcDEuaW50LCBvcDIuaW50ICogMTAqKi1zaGlmdCkKKyAgICAgICAgICAgIGlmIHJlbWFpbmRlcjoKKyAgICAgICAgICAgICAgICAjIHJlc3VsdCBpcyBub3QgZXhhY3Q7IGFkanVzdCB0byBlbnN1cmUgY29ycmVjdCByb3VuZGluZworICAgICAgICAgICAgICAgIGlmIGNvZWZmICUgNSA9PSAwOgorICAgICAgICAgICAgICAgICAgICBjb2VmZiArPSAxCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICMgcmVzdWx0IGlzIGV4YWN0OyBnZXQgYXMgY2xvc2UgdG8gaWRlYWwgZXhwb25lbnQgYXMgcG9zc2libGUKKyAgICAgICAgICAgICAgICBpZGVhbF9leHAgPSBzZWxmLl9leHAgLSBvdGhlci5fZXhwCisgICAgICAgICAgICAgICAgd2hpbGUgZXhwIDwgaWRlYWxfZXhwIGFuZCBjb2VmZiAlIDEwID09IDA6CisgICAgICAgICAgICAgICAgICAgIGNvZWZmIC8vPSAxMAorICAgICAgICAgICAgICAgICAgICBleHAgKz0gMQorCisgICAgICAgIGFucyA9IF9kZWNfZnJvbV90cmlwbGUoc2lnbiwgc3RyKGNvZWZmKSwgZXhwKQorICAgICAgICByZXR1cm4gYW5zLl9maXgoY29udGV4dCkKKworICAgIGRlZiBfZGl2aWRlKHNlbGYsIG90aGVyLCBjb250ZXh0KToKKyAgICAgICAgIiIiUmV0dXJuIChzZWxmIC8vIG90aGVyLCBzZWxmICUgb3RoZXIpLCB0byBjb250ZXh0LnByZWMgcHJlY2lzaW9uLgorCisgICAgICAgIEFzc3VtZXMgdGhhdCBuZWl0aGVyIHNlbGYgbm9yIG90aGVyIGlzIGEgTmFOLCB0aGF0IHNlbGYgaXMgbm90CisgICAgICAgIGluZmluaXRlIGFuZCB0aGF0IG90aGVyIGlzIG5vbnplcm8uCisgICAgICAgICIiIgorICAgICAgICBzaWduID0gc2VsZi5fc2lnbiBeIG90aGVyLl9zaWduCisgICAgICAgIGlmIG90aGVyLl9pc2luZmluaXR5KCk6CisgICAgICAgICAgICBpZGVhbF9leHAgPSBzZWxmLl9leHAKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGlkZWFsX2V4cCA9IG1pbihzZWxmLl9leHAsIG90aGVyLl9leHApCisKKyAgICAgICAgZXhwZGlmZiA9IHNlbGYuYWRqdXN0ZWQoKSAtIG90aGVyLmFkanVzdGVkKCkKKyAgICAgICAgaWYgbm90IHNlbGYgb3Igb3RoZXIuX2lzaW5maW5pdHkoKSBvciBleHBkaWZmIDw9IC0yOgorICAgICAgICAgICAgcmV0dXJuIChfZGVjX2Zyb21fdHJpcGxlKHNpZ24sICcwJywgMCksCisgICAgICAgICAgICAgICAgICAgIHNlbGYuX3Jlc2NhbGUoaWRlYWxfZXhwLCBjb250ZXh0LnJvdW5kaW5nKSkKKyAgICAgICAgaWYgZXhwZGlmZiA8PSBjb250ZXh0LnByZWM6CisgICAgICAgICAgICBvcDEgPSBfV29ya1JlcChzZWxmKQorICAgICAgICAgICAgb3AyID0gX1dvcmtSZXAob3RoZXIpCisgICAgICAgICAgICBpZiBvcDEuZXhwID49IG9wMi5leHA6CisgICAgICAgICAgICAgICAgb3AxLmludCAqPSAxMCoqKG9wMS5leHAgLSBvcDIuZXhwKQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBvcDIuaW50ICo9IDEwKioob3AyLmV4cCAtIG9wMS5leHApCisgICAgICAgICAgICBxLCByID0gZGl2bW9kKG9wMS5pbnQsIG9wMi5pbnQpCisgICAgICAgICAgICBpZiBxIDwgMTAqKmNvbnRleHQucHJlYzoKKyAgICAgICAgICAgICAgICByZXR1cm4gKF9kZWNfZnJvbV90cmlwbGUoc2lnbiwgc3RyKHEpLCAwKSwKKyAgICAgICAgICAgICAgICAgICAgICAgIF9kZWNfZnJvbV90cmlwbGUoc2VsZi5fc2lnbiwgc3RyKHIpLCBpZGVhbF9leHApKQorCisgICAgICAgICMgSGVyZSB0aGUgcXVvdGllbnQgaXMgdG9vIGxhcmdlIHRvIGJlIHJlcHJlc2VudGFibGUKKyAgICAgICAgYW5zID0gY29udGV4dC5fcmFpc2VfZXJyb3IoRGl2aXNpb25JbXBvc3NpYmxlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncXVvdGllbnQgdG9vIGxhcmdlIGluIC8vLCAlIG9yIGRpdm1vZCcpCisgICAgICAgIHJldHVybiBhbnMsIGFucworCisgICAgZGVmIF9fcnRydWVkaXZfXyhzZWxmLCBvdGhlciwgY29udGV4dD1Ob25lKToKKyAgICAgICAgIiIiU3dhcHMgc2VsZi9vdGhlciBhbmQgcmV0dXJucyBfX3RydWVkaXZfXy4iIiIKKyAgICAgICAgb3RoZXIgPSBfY29udmVydF9vdGhlcihvdGhlcikKKyAgICAgICAgaWYgb3RoZXIgaXMgTm90SW1wbGVtZW50ZWQ6CisgICAgICAgICAgICByZXR1cm4gb3RoZXIKKyAgICAgICAgcmV0dXJuIG90aGVyLl9fdHJ1ZWRpdl9fKHNlbGYsIGNvbnRleHQ9Y29udGV4dCkKKworICAgIGRlZiBfX2Rpdm1vZF9fKHNlbGYsIG90aGVyLCBjb250ZXh0PU5vbmUpOgorICAgICAgICAiIiIKKyAgICAgICAgUmV0dXJuIChzZWxmIC8vIG90aGVyLCBzZWxmICUgb3RoZXIpCisgICAgICAgICIiIgorICAgICAgICBvdGhlciA9IF9jb252ZXJ0X290aGVyKG90aGVyKQorICAgICAgICBpZiBvdGhlciBpcyBOb3RJbXBsZW1lbnRlZDoKKyAgICAgICAgICAgIHJldHVybiBvdGhlcgorCisgICAgICAgIGlmIGNvbnRleHQgaXMgTm9uZToKKyAgICAgICAgICAgIGNvbnRleHQgPSBnZXRjb250ZXh0KCkKKworICAgICAgICBhbnMgPSBzZWxmLl9jaGVja19uYW5zKG90aGVyLCBjb250ZXh0KQorICAgICAgICBpZiBhbnM6CisgICAgICAgICAgICByZXR1cm4gKGFucywgYW5zKQorCisgICAgICAgIHNpZ24gPSBzZWxmLl9zaWduIF4gb3RoZXIuX3NpZ24KKyAgICAgICAgaWYgc2VsZi5faXNpbmZpbml0eSgpOgorICAgICAgICAgICAgaWYgb3RoZXIuX2lzaW5maW5pdHkoKToKKyAgICAgICAgICAgICAgICBhbnMgPSBjb250ZXh0Ll9yYWlzZV9lcnJvcihJbnZhbGlkT3BlcmF0aW9uLCAnZGl2bW9kKElORiwgSU5GKScpCisgICAgICAgICAgICAgICAgcmV0dXJuIGFucywgYW5zCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIHJldHVybiAoX1NpZ25lZEluZmluaXR5W3NpZ25dLAorICAgICAgICAgICAgICAgICAgICAgICAgY29udGV4dC5fcmFpc2VfZXJyb3IoSW52YWxpZE9wZXJhdGlvbiwgJ0lORiAlIHgnKSkKKworICAgICAgICBpZiBub3Qgb3RoZXI6CisgICAgICAgICAgICBpZiBub3Qgc2VsZjoKKyAgICAgICAgICAgICAgICBhbnMgPSBjb250ZXh0Ll9yYWlzZV9lcnJvcihEaXZpc2lvblVuZGVmaW5lZCwgJ2Rpdm1vZCgwLCAwKScpCisgICAgICAgICAgICAgICAgcmV0dXJuIGFucywgYW5zCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIHJldHVybiAoY29udGV4dC5fcmFpc2VfZXJyb3IoRGl2aXNpb25CeVplcm8sICd4IC8vIDAnLCBzaWduKSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHQuX3JhaXNlX2Vycm9yKEludmFsaWRPcGVyYXRpb24sICd4ICUgMCcpKQorCisgICAgICAgIHF1b3RpZW50LCByZW1haW5kZXIgPSBzZWxmLl9kaXZpZGUob3RoZXIsIGNvbnRleHQpCisgICAgICAgIHJlbWFpbmRlciA9IHJlbWFpbmRlci5fZml4KGNvbnRleHQpCisgICAgICAgIHJldHVybiBxdW90aWVudCwgcmVtYWluZGVyCisKKyAgICBkZWYgX19yZGl2bW9kX18oc2VsZiwgb3RoZXIsIGNvbnRleHQ9Tm9uZSk6CisgICAgICAgICIiIlN3YXBzIHNlbGYvb3RoZXIgYW5kIHJldHVybnMgX19kaXZtb2RfXy4iIiIKKyAgICAgICAgb3RoZXIgPSBfY29udmVydF9vdGhlcihvdGhlcikKKyAgICAgICAgaWYgb3RoZXIgaXMgTm90SW1wbGVtZW50ZWQ6CisgICAgICAgICAgICByZXR1cm4gb3RoZXIKKyAgICAgICAgcmV0dXJuIG90aGVyLl9fZGl2bW9kX18oc2VsZiwgY29udGV4dD1jb250ZXh0KQorCisgICAgZGVmIF9fbW9kX18oc2VsZiwgb3RoZXIsIGNvbnRleHQ9Tm9uZSk6CisgICAgICAgICIiIgorICAgICAgICBzZWxmICUgb3RoZXIKKyAgICAgICAgIiIiCisgICAgICAgIG90aGVyID0gX2NvbnZlcnRfb3RoZXIob3RoZXIpCisgICAgICAgIGlmIG90aGVyIGlzIE5vdEltcGxlbWVudGVkOgorICAgICAgICAgICAgcmV0dXJuIG90aGVyCisKKyAgICAgICAgaWYgY29udGV4dCBpcyBOb25lOgorICAgICAgICAgICAgY29udGV4dCA9IGdldGNvbnRleHQoKQorCisgICAgICAgIGFucyA9IHNlbGYuX2NoZWNrX25hbnMob3RoZXIsIGNvbnRleHQpCisgICAgICAgIGlmIGFuczoKKyAgICAgICAgICAgIHJldHVybiBhbnMKKworICAgICAgICBpZiBzZWxmLl9pc2luZmluaXR5KCk6CisgICAgICAgICAgICByZXR1cm4gY29udGV4dC5fcmFpc2VfZXJyb3IoSW52YWxpZE9wZXJhdGlvbiwgJ0lORiAlIHgnKQorICAgICAgICBlbGlmIG5vdCBvdGhlcjoKKyAgICAgICAgICAgIGlmIHNlbGY6CisgICAgICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuX3JhaXNlX2Vycm9yKEludmFsaWRPcGVyYXRpb24sICd4ICUgMCcpCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIHJldHVybiBjb250ZXh0Ll9yYWlzZV9lcnJvcihEaXZpc2lvblVuZGVmaW5lZCwgJzAgJSAwJykKKworICAgICAgICByZW1haW5kZXIgPSBzZWxmLl9kaXZpZGUob3RoZXIsIGNvbnRleHQpWzFdCisgICAgICAgIHJlbWFpbmRlciA9IHJlbWFpbmRlci5fZml4KGNvbnRleHQpCisgICAgICAgIHJldHVybiByZW1haW5kZXIKKworICAgIGRlZiBfX3Jtb2RfXyhzZWxmLCBvdGhlciwgY29udGV4dD1Ob25lKToKKyAgICAgICAgIiIiU3dhcHMgc2VsZi9vdGhlciBhbmQgcmV0dXJucyBfX21vZF9fLiIiIgorICAgICAgICBvdGhlciA9IF9jb252ZXJ0X290aGVyKG90aGVyKQorICAgICAgICBpZiBvdGhlciBpcyBOb3RJbXBsZW1lbnRlZDoKKyAgICAgICAgICAgIHJldHVybiBvdGhlcgorICAgICAgICByZXR1cm4gb3RoZXIuX19tb2RfXyhzZWxmLCBjb250ZXh0PWNvbnRleHQpCisKKyAgICBkZWYgcmVtYWluZGVyX25lYXIoc2VsZiwgb3RoZXIsIGNvbnRleHQ9Tm9uZSk6CisgICAgICAgICIiIgorICAgICAgICBSZW1haW5kZXIgbmVhcmVzdCB0byAwLSAgYWJzKHJlbWFpbmRlci1uZWFyKSA8PSBvdGhlci8yCisgICAgICAgICIiIgorICAgICAgICBpZiBjb250ZXh0IGlzIE5vbmU6CisgICAgICAgICAgICBjb250ZXh0ID0gZ2V0Y29udGV4dCgpCisKKyAgICAgICAgb3RoZXIgPSBfY29udmVydF9vdGhlcihvdGhlciwgcmFpc2VpdD1UcnVlKQorCisgICAgICAgIGFucyA9IHNlbGYuX2NoZWNrX25hbnMob3RoZXIsIGNvbnRleHQpCisgICAgICAgIGlmIGFuczoKKyAgICAgICAgICAgIHJldHVybiBhbnMKKworICAgICAgICAjIHNlbGYgPT0gKy8taW5maW5pdHkgLT4gSW52YWxpZE9wZXJhdGlvbgorICAgICAgICBpZiBzZWxmLl9pc2luZmluaXR5KCk6CisgICAgICAgICAgICByZXR1cm4gY29udGV4dC5fcmFpc2VfZXJyb3IoSW52YWxpZE9wZXJhdGlvbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVtYWluZGVyX25lYXIoaW5maW5pdHksIHgpJykKKworICAgICAgICAjIG90aGVyID09IDAgLT4gZWl0aGVyIEludmFsaWRPcGVyYXRpb24gb3IgRGl2aXNpb25VbmRlZmluZWQKKyAgICAgICAgaWYgbm90IG90aGVyOgorICAgICAgICAgICAgaWYgc2VsZjoKKyAgICAgICAgICAgICAgICByZXR1cm4gY29udGV4dC5fcmFpc2VfZXJyb3IoSW52YWxpZE9wZXJhdGlvbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlbWFpbmRlcl9uZWFyKHgsIDApJykKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuX3JhaXNlX2Vycm9yKERpdmlzaW9uVW5kZWZpbmVkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVtYWluZGVyX25lYXIoMCwgMCknKQorCisgICAgICAgICMgb3RoZXIgPSArLy1pbmZpbml0eSAtPiByZW1haW5kZXIgPSBzZWxmCisgICAgICAgIGlmIG90aGVyLl9pc2luZmluaXR5KCk6CisgICAgICAgICAgICBhbnMgPSBEZWNpbWFsKHNlbGYpCisgICAgICAgICAgICByZXR1cm4gYW5zLl9maXgoY29udGV4dCkKKworICAgICAgICAjIHNlbGYgPSAwIC0+IHJlbWFpbmRlciA9IHNlbGYsIHdpdGggaWRlYWwgZXhwb25lbnQKKyAgICAgICAgaWRlYWxfZXhwb25lbnQgPSBtaW4oc2VsZi5fZXhwLCBvdGhlci5fZXhwKQorICAgICAgICBpZiBub3Qgc2VsZjoKKyAgICAgICAgICAgIGFucyA9IF9kZWNfZnJvbV90cmlwbGUoc2VsZi5fc2lnbiwgJzAnLCBpZGVhbF9leHBvbmVudCkKKyAgICAgICAgICAgIHJldHVybiBhbnMuX2ZpeChjb250ZXh0KQorCisgICAgICAgICMgY2F0Y2ggbW9zdCBjYXNlcyBvZiBsYXJnZSBvciBzbWFsbCBxdW90aWVudAorICAgICAgICBleHBkaWZmID0gc2VsZi5hZGp1c3RlZCgpIC0gb3RoZXIuYWRqdXN0ZWQoKQorICAgICAgICBpZiBleHBkaWZmID49IGNvbnRleHQucHJlYyArIDE6CisgICAgICAgICAgICAjIGV4cGRpZmYgPj0gcHJlYysxID0+IGFicyhzZWxmL290aGVyKSA+IDEwKipwcmVjCisgICAgICAgICAgICByZXR1cm4gY29udGV4dC5fcmFpc2VfZXJyb3IoRGl2aXNpb25JbXBvc3NpYmxlKQorICAgICAgICBpZiBleHBkaWZmIDw9IC0yOgorICAgICAgICAgICAgIyBleHBkaWZmIDw9IC0yID0+IGFicyhzZWxmL290aGVyKSA8IDAuMQorICAgICAgICAgICAgYW5zID0gc2VsZi5fcmVzY2FsZShpZGVhbF9leHBvbmVudCwgY29udGV4dC5yb3VuZGluZykKKyAgICAgICAgICAgIHJldHVybiBhbnMuX2ZpeChjb250ZXh0KQorCisgICAgICAgICMgYWRqdXN0IGJvdGggYXJndW1lbnRzIHRvIGhhdmUgdGhlIHNhbWUgZXhwb25lbnQsIHRoZW4gZGl2aWRlCisgICAgICAgIG9wMSA9IF9Xb3JrUmVwKHNlbGYpCisgICAgICAgIG9wMiA9IF9Xb3JrUmVwKG90aGVyKQorICAgICAgICBpZiBvcDEuZXhwID49IG9wMi5leHA6CisgICAgICAgICAgICBvcDEuaW50ICo9IDEwKioob3AxLmV4cCAtIG9wMi5leHApCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBvcDIuaW50ICo9IDEwKioob3AyLmV4cCAtIG9wMS5leHApCisgICAgICAgIHEsIHIgPSBkaXZtb2Qob3AxLmludCwgb3AyLmludCkKKyAgICAgICAgIyByZW1haW5kZXIgaXMgcioxMCoqaWRlYWxfZXhwb25lbnQ7IG90aGVyIGlzICsvLW9wMi5pbnQgKgorICAgICAgICAjIDEwKippZGVhbF9leHBvbmVudC4gICBBcHBseSBjb3JyZWN0aW9uIHRvIGVuc3VyZSB0aGF0CisgICAgICAgICMgYWJzKHJlbWFpbmRlcikgPD0gYWJzKG90aGVyKS8yCisgICAgICAgIGlmIDIqciArIChxJjEpID4gb3AyLmludDoKKyAgICAgICAgICAgIHIgLT0gb3AyLmludAorICAgICAgICAgICAgcSArPSAxCisKKyAgICAgICAgaWYgcSA+PSAxMCoqY29udGV4dC5wcmVjOgorICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuX3JhaXNlX2Vycm9yKERpdmlzaW9uSW1wb3NzaWJsZSkKKworICAgICAgICAjIHJlc3VsdCBoYXMgc2FtZSBzaWduIGFzIHNlbGYgdW5sZXNzIHIgaXMgbmVnYXRpdmUKKyAgICAgICAgc2lnbiA9IHNlbGYuX3NpZ24KKyAgICAgICAgaWYgciA8IDA6CisgICAgICAgICAgICBzaWduID0gMS1zaWduCisgICAgICAgICAgICByID0gLXIKKworICAgICAgICBhbnMgPSBfZGVjX2Zyb21fdHJpcGxlKHNpZ24sIHN0cihyKSwgaWRlYWxfZXhwb25lbnQpCisgICAgICAgIHJldHVybiBhbnMuX2ZpeChjb250ZXh0KQorCisgICAgZGVmIF9fZmxvb3JkaXZfXyhzZWxmLCBvdGhlciwgY29udGV4dD1Ob25lKToKKyAgICAgICAgIiIic2VsZiAvLyBvdGhlciIiIgorICAgICAgICBvdGhlciA9IF9jb252ZXJ0X290aGVyKG90aGVyKQorICAgICAgICBpZiBvdGhlciBpcyBOb3RJbXBsZW1lbnRlZDoKKyAgICAgICAgICAgIHJldHVybiBvdGhlcgorCisgICAgICAgIGlmIGNvbnRleHQgaXMgTm9uZToKKyAgICAgICAgICAgIGNvbnRleHQgPSBnZXRjb250ZXh0KCkKKworICAgICAgICBhbnMgPSBzZWxmLl9jaGVja19uYW5zKG90aGVyLCBjb250ZXh0KQorICAgICAgICBpZiBhbnM6CisgICAgICAgICAgICByZXR1cm4gYW5zCisKKyAgICAgICAgaWYgc2VsZi5faXNpbmZpbml0eSgpOgorICAgICAgICAgICAgaWYgb3RoZXIuX2lzaW5maW5pdHkoKToKKyAgICAgICAgICAgICAgICByZXR1cm4gY29udGV4dC5fcmFpc2VfZXJyb3IoSW52YWxpZE9wZXJhdGlvbiwgJ0lORiAvLyBJTkYnKQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICByZXR1cm4gX1NpZ25lZEluZmluaXR5W3NlbGYuX3NpZ24gXiBvdGhlci5fc2lnbl0KKworICAgICAgICBpZiBub3Qgb3RoZXI6CisgICAgICAgICAgICBpZiBzZWxmOgorICAgICAgICAgICAgICAgIHJldHVybiBjb250ZXh0Ll9yYWlzZV9lcnJvcihEaXZpc2lvbkJ5WmVybywgJ3ggLy8gMCcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX3NpZ24gXiBvdGhlci5fc2lnbikKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuX3JhaXNlX2Vycm9yKERpdmlzaW9uVW5kZWZpbmVkLCAnMCAvLyAwJykKKworICAgICAgICByZXR1cm4gc2VsZi5fZGl2aWRlKG90aGVyLCBjb250ZXh0KVswXQorCisgICAgZGVmIF9fcmZsb29yZGl2X18oc2VsZiwgb3RoZXIsIGNvbnRleHQ9Tm9uZSk6CisgICAgICAgICIiIlN3YXBzIHNlbGYvb3RoZXIgYW5kIHJldHVybnMgX19mbG9vcmRpdl9fLiIiIgorICAgICAgICBvdGhlciA9IF9jb252ZXJ0X290aGVyKG90aGVyKQorICAgICAgICBpZiBvdGhlciBpcyBOb3RJbXBsZW1lbnRlZDoKKyAgICAgICAgICAgIHJldHVybiBvdGhlcgorICAgICAgICByZXR1cm4gb3RoZXIuX19mbG9vcmRpdl9fKHNlbGYsIGNvbnRleHQ9Y29udGV4dCkKKworICAgIGRlZiBfX2Zsb2F0X18oc2VsZik6CisgICAgICAgICIiIkZsb2F0IHJlcHJlc2VudGF0aW9uLiIiIgorICAgICAgICBpZiBzZWxmLl9pc25hbigpOgorICAgICAgICAgICAgaWYgc2VsZi5pc19zbmFuKCk6CisgICAgICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigiQ2Fubm90IGNvbnZlcnQgc2lnbmFsaW5nIE5hTiB0byBmbG9hdCIpCisgICAgICAgICAgICBzID0gIi1uYW4iIGlmIHNlbGYuX3NpZ24gZWxzZSAibmFuIgorICAgICAgICBlbHNlOgorICAgICAgICAgICAgcyA9IHN0cihzZWxmKQorICAgICAgICByZXR1cm4gZmxvYXQocykKKworICAgIGRlZiBfX2ludF9fKHNlbGYpOgorICAgICAgICAiIiJDb252ZXJ0cyBzZWxmIHRvIGFuIGludCwgdHJ1bmNhdGluZyBpZiBuZWNlc3NhcnkuIiIiCisgICAgICAgIGlmIHNlbGYuX2lzX3NwZWNpYWw6CisgICAgICAgICAgICBpZiBzZWxmLl9pc25hbigpOgorICAgICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoIkNhbm5vdCBjb252ZXJ0IE5hTiB0byBpbnRlZ2VyIikKKyAgICAgICAgICAgIGVsaWYgc2VsZi5faXNpbmZpbml0eSgpOgorICAgICAgICAgICAgICAgIHJhaXNlIE92ZXJmbG93RXJyb3IoIkNhbm5vdCBjb252ZXJ0IGluZmluaXR5IHRvIGludGVnZXIiKQorICAgICAgICBzID0gKC0xKSoqc2VsZi5fc2lnbgorICAgICAgICBpZiBzZWxmLl9leHAgPj0gMDoKKyAgICAgICAgICAgIHJldHVybiBzKmludChzZWxmLl9pbnQpKjEwKipzZWxmLl9leHAKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHJldHVybiBzKmludChzZWxmLl9pbnRbOnNlbGYuX2V4cF0gb3IgJzAnKQorCisgICAgX190cnVuY19fID0gX19pbnRfXworCisgICAgZGVmIHJlYWwoc2VsZik6CisgICAgICAgIHJldHVybiBzZWxmCisgICAgcmVhbCA9IHByb3BlcnR5KHJlYWwpCisKKyAgICBkZWYgaW1hZyhzZWxmKToKKyAgICAgICAgcmV0dXJuIERlY2ltYWwoMCkKKyAgICBpbWFnID0gcHJvcGVydHkoaW1hZykKKworICAgIGRlZiBjb25qdWdhdGUoc2VsZik6CisgICAgICAgIHJldHVybiBzZWxmCisKKyAgICBkZWYgX19jb21wbGV4X18oc2VsZik6CisgICAgICAgIHJldHVybiBjb21wbGV4KGZsb2F0KHNlbGYpKQorCisgICAgZGVmIF9maXhfbmFuKHNlbGYsIGNvbnRleHQpOgorICAgICAgICAiIiJEZWNhcGl0YXRlIHRoZSBwYXlsb2FkIG9mIGEgTmFOIHRvIGZpdCB0aGUgY29udGV4dCIiIgorICAgICAgICBwYXlsb2FkID0gc2VsZi5faW50CisKKyAgICAgICAgIyBtYXhpbXVtIGxlbmd0aCBvZiBwYXlsb2FkIGlzIHByZWNpc2lvbiBpZiBjbGFtcD0wLAorICAgICAgICAjIHByZWNpc2lvbi0xIGlmIGNsYW1wPTEuCisgICAgICAgIG1heF9wYXlsb2FkX2xlbiA9IGNvbnRleHQucHJlYyAtIGNvbnRleHQuY2xhbXAKKyAgICAgICAgaWYgbGVuKHBheWxvYWQpID4gbWF4X3BheWxvYWRfbGVuOgorICAgICAgICAgICAgcGF5bG9hZCA9IHBheWxvYWRbbGVuKHBheWxvYWQpLW1heF9wYXlsb2FkX2xlbjpdLmxzdHJpcCgnMCcpCisgICAgICAgICAgICByZXR1cm4gX2RlY19mcm9tX3RyaXBsZShzZWxmLl9zaWduLCBwYXlsb2FkLCBzZWxmLl9leHAsIFRydWUpCisgICAgICAgIHJldHVybiBEZWNpbWFsKHNlbGYpCisKKyAgICBkZWYgX2ZpeChzZWxmLCBjb250ZXh0KToKKyAgICAgICAgIiIiUm91bmQgaWYgaXQgaXMgbmVjZXNzYXJ5IHRvIGtlZXAgc2VsZiB3aXRoaW4gcHJlYyBwcmVjaXNpb24uCisKKyAgICAgICAgUm91bmRzIGFuZCBmaXhlcyB0aGUgZXhwb25lbnQuICBEb2VzIG5vdCByYWlzZSBvbiBhIHNOYU4uCisKKyAgICAgICAgQXJndW1lbnRzOgorICAgICAgICBzZWxmIC0gRGVjaW1hbCBpbnN0YW5jZQorICAgICAgICBjb250ZXh0IC0gY29udGV4dCB1c2VkLgorICAgICAgICAiIiIKKworICAgICAgICBpZiBzZWxmLl9pc19zcGVjaWFsOgorICAgICAgICAgICAgaWYgc2VsZi5faXNuYW4oKToKKyAgICAgICAgICAgICAgICAjIGRlY2FwaXRhdGUgcGF5bG9hZCBpZiBuZWNlc3NhcnkKKyAgICAgICAgICAgICAgICByZXR1cm4gc2VsZi5fZml4X25hbihjb250ZXh0KQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAjIHNlbGYgaXMgKy8tSW5maW5pdHk7IHJldHVybiB1bmFsdGVyZWQKKyAgICAgICAgICAgICAgICByZXR1cm4gRGVjaW1hbChzZWxmKQorCisgICAgICAgICMgaWYgc2VsZiBpcyB6ZXJvIHRoZW4gZXhwb25lbnQgc2hvdWxkIGJlIGJldHdlZW4gRXRpbnkgYW5kCisgICAgICAgICMgRW1heCBpZiBjbGFtcD09MCwgYW5kIGJldHdlZW4gRXRpbnkgYW5kIEV0b3AgaWYgY2xhbXA9PTEuCisgICAgICAgIEV0aW55ID0gY29udGV4dC5FdGlueSgpCisgICAgICAgIEV0b3AgPSBjb250ZXh0LkV0b3AoKQorICAgICAgICBpZiBub3Qgc2VsZjoKKyAgICAgICAgICAgIGV4cF9tYXggPSBbY29udGV4dC5FbWF4LCBFdG9wXVtjb250ZXh0LmNsYW1wXQorICAgICAgICAgICAgbmV3X2V4cCA9IG1pbihtYXgoc2VsZi5fZXhwLCBFdGlueSksIGV4cF9tYXgpCisgICAgICAgICAgICBpZiBuZXdfZXhwICE9IHNlbGYuX2V4cDoKKyAgICAgICAgICAgICAgICBjb250ZXh0Ll9yYWlzZV9lcnJvcihDbGFtcGVkKQorICAgICAgICAgICAgICAgIHJldHVybiBfZGVjX2Zyb21fdHJpcGxlKHNlbGYuX3NpZ24sICcwJywgbmV3X2V4cCkKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgcmV0dXJuIERlY2ltYWwoc2VsZikKKworICAgICAgICAjIGV4cF9taW4gaXMgdGhlIHNtYWxsZXN0IGFsbG93YWJsZSBleHBvbmVudCBvZiB0aGUgcmVzdWx0LAorICAgICAgICAjIGVxdWFsIHRvIG1heChzZWxmLmFkanVzdGVkKCktY29udGV4dC5wcmVjKzEsIEV0aW55KQorICAgICAgICBleHBfbWluID0gbGVuKHNlbGYuX2ludCkgKyBzZWxmLl9leHAgLSBjb250ZXh0LnByZWMKKyAgICAgICAgaWYgZXhwX21pbiA+IEV0b3A6CisgICAgICAgICAgICAjIG92ZXJmbG93OiBleHBfbWluID4gRXRvcCBpZmYgc2VsZi5hZGp1c3RlZCgpID4gRW1heAorICAgICAgICAgICAgYW5zID0gY29udGV4dC5fcmFpc2VfZXJyb3IoT3ZlcmZsb3csICdhYm92ZSBFbWF4Jywgc2VsZi5fc2lnbikKKyAgICAgICAgICAgIGNvbnRleHQuX3JhaXNlX2Vycm9yKEluZXhhY3QpCisgICAgICAgICAgICBjb250ZXh0Ll9yYWlzZV9lcnJvcihSb3VuZGVkKQorICAgICAgICAgICAgcmV0dXJuIGFucworCisgICAgICAgIHNlbGZfaXNfc3Vibm9ybWFsID0gZXhwX21pbiA8IEV0aW55CisgICAgICAgIGlmIHNlbGZfaXNfc3Vibm9ybWFsOgorICAgICAgICAgICAgZXhwX21pbiA9IEV0aW55CisKKyAgICAgICAgIyByb3VuZCBpZiBzZWxmIGhhcyB0b28gbWFueSBkaWdpdHMKKyAgICAgICAgaWYgc2VsZi5fZXhwIDwgZXhwX21pbjoKKyAgICAgICAgICAgIGRpZ2l0cyA9IGxlbihzZWxmLl9pbnQpICsgc2VsZi5fZXhwIC0gZXhwX21pbgorICAgICAgICAgICAgaWYgZGlnaXRzIDwgMDoKKyAgICAgICAgICAgICAgICBzZWxmID0gX2RlY19mcm9tX3RyaXBsZShzZWxmLl9zaWduLCAnMScsIGV4cF9taW4tMSkKKyAgICAgICAgICAgICAgICBkaWdpdHMgPSAwCisgICAgICAgICAgICByb3VuZGluZ19tZXRob2QgPSBzZWxmLl9waWNrX3JvdW5kaW5nX2Z1bmN0aW9uW2NvbnRleHQucm91bmRpbmddCisgICAgICAgICAgICBjaGFuZ2VkID0gcm91bmRpbmdfbWV0aG9kKHNlbGYsIGRpZ2l0cykKKyAgICAgICAgICAgIGNvZWZmID0gc2VsZi5faW50WzpkaWdpdHNdIG9yICcwJworICAgICAgICAgICAgaWYgY2hhbmdlZCA+IDA6CisgICAgICAgICAgICAgICAgY29lZmYgPSBzdHIoaW50KGNvZWZmKSsxKQorICAgICAgICAgICAgICAgIGlmIGxlbihjb2VmZikgPiBjb250ZXh0LnByZWM6CisgICAgICAgICAgICAgICAgICAgIGNvZWZmID0gY29lZmZbOi0xXQorICAgICAgICAgICAgICAgICAgICBleHBfbWluICs9IDEKKworICAgICAgICAgICAgIyBjaGVjayB3aGV0aGVyIHRoZSByb3VuZGluZyBwdXNoZWQgdGhlIGV4cG9uZW50IG91dCBvZiByYW5nZQorICAgICAgICAgICAgaWYgZXhwX21pbiA+IEV0b3A6CisgICAgICAgICAgICAgICAgYW5zID0gY29udGV4dC5fcmFpc2VfZXJyb3IoT3ZlcmZsb3csICdhYm92ZSBFbWF4Jywgc2VsZi5fc2lnbikKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgYW5zID0gX2RlY19mcm9tX3RyaXBsZShzZWxmLl9zaWduLCBjb2VmZiwgZXhwX21pbikKKworICAgICAgICAgICAgIyByYWlzZSB0aGUgYXBwcm9wcmlhdGUgc2lnbmFscywgdGFraW5nIGNhcmUgdG8gcmVzcGVjdAorICAgICAgICAgICAgIyB0aGUgcHJlY2VkZW5jZSBkZXNjcmliZWQgaW4gdGhlIHNwZWNpZmljYXRpb24KKyAgICAgICAgICAgIGlmIGNoYW5nZWQgYW5kIHNlbGZfaXNfc3Vibm9ybWFsOgorICAgICAgICAgICAgICAgIGNvbnRleHQuX3JhaXNlX2Vycm9yKFVuZGVyZmxvdykKKyAgICAgICAgICAgIGlmIHNlbGZfaXNfc3Vibm9ybWFsOgorICAgICAgICAgICAgICAgIGNvbnRleHQuX3JhaXNlX2Vycm9yKFN1Ym5vcm1hbCkKKyAgICAgICAgICAgIGlmIGNoYW5nZWQ6CisgICAgICAgICAgICAgICAgY29udGV4dC5fcmFpc2VfZXJyb3IoSW5leGFjdCkKKyAgICAgICAgICAgIGNvbnRleHQuX3JhaXNlX2Vycm9yKFJvdW5kZWQpCisgICAgICAgICAgICBpZiBub3QgYW5zOgorICAgICAgICAgICAgICAgICMgcmFpc2UgQ2xhbXBlZCBvbiB1bmRlcmZsb3cgdG8gMAorICAgICAgICAgICAgICAgIGNvbnRleHQuX3JhaXNlX2Vycm9yKENsYW1wZWQpCisgICAgICAgICAgICByZXR1cm4gYW5zCisKKyAgICAgICAgaWYgc2VsZl9pc19zdWJub3JtYWw6CisgICAgICAgICAgICBjb250ZXh0Ll9yYWlzZV9lcnJvcihTdWJub3JtYWwpCisKKyAgICAgICAgIyBmb2xkIGRvd24gaWYgY2xhbXAgPT0gMSBhbmQgc2VsZiBoYXMgdG9vIGZldyBkaWdpdHMKKyAgICAgICAgaWYgY29udGV4dC5jbGFtcCA9PSAxIGFuZCBzZWxmLl9leHAgPiBFdG9wOgorICAgICAgICAgICAgY29udGV4dC5fcmFpc2VfZXJyb3IoQ2xhbXBlZCkKKyAgICAgICAgICAgIHNlbGZfcGFkZGVkID0gc2VsZi5faW50ICsgJzAnKihzZWxmLl9leHAgLSBFdG9wKQorICAgICAgICAgICAgcmV0dXJuIF9kZWNfZnJvbV90cmlwbGUoc2VsZi5fc2lnbiwgc2VsZl9wYWRkZWQsIEV0b3ApCisKKyAgICAgICAgIyBoZXJlIHNlbGYgd2FzIHJlcHJlc2VudGFibGUgdG8gYmVnaW4gd2l0aDsgcmV0dXJuIHVuY2hhbmdlZAorICAgICAgICByZXR1cm4gRGVjaW1hbChzZWxmKQorCisgICAgIyBmb3IgZWFjaCBvZiB0aGUgcm91bmRpbmcgZnVuY3Rpb25zIGJlbG93OgorICAgICMgICBzZWxmIGlzIGEgZmluaXRlLCBub256ZXJvIERlY2ltYWwKKyAgICAjICAgcHJlYyBpcyBhbiBpbnRlZ2VyIHNhdGlzZnlpbmcgMCA8PSBwcmVjIDwgbGVuKHNlbGYuX2ludCkKKyAgICAjCisgICAgIyBlYWNoIGZ1bmN0aW9uIHJldHVybnMgZWl0aGVyIC0xLCAwLCBvciAxLCBhcyBmb2xsb3dzOgorICAgICMgICAxIGluZGljYXRlcyB0aGF0IHNlbGYgc2hvdWxkIGJlIHJvdW5kZWQgdXAgKGF3YXkgZnJvbSB6ZXJvKQorICAgICMgICAwIGluZGljYXRlcyB0aGF0IHNlbGYgc2hvdWxkIGJlIHRydW5jYXRlZCwgYW5kIHRoYXQgYWxsIHRoZQorICAgICMgICAgIGRpZ2l0cyB0byBiZSB0cnVuY2F0ZWQgYXJlIHplcm9zIChzbyB0aGUgdmFsdWUgaXMgdW5jaGFuZ2VkKQorICAgICMgIC0xIGluZGljYXRlcyB0aGF0IHRoZXJlIGFyZSBub256ZXJvIGRpZ2l0cyB0byBiZSB0cnVuY2F0ZWQKKworICAgIGRlZiBfcm91bmRfZG93bihzZWxmLCBwcmVjKToKKyAgICAgICAgIiIiQWxzbyBrbm93biBhcyByb3VuZC10b3dhcmRzLTAsIHRydW5jYXRlLiIiIgorICAgICAgICBpZiBfYWxsX3plcm9zKHNlbGYuX2ludCwgcHJlYyk6CisgICAgICAgICAgICByZXR1cm4gMAorICAgICAgICBlbHNlOgorICAgICAgICAgICAgcmV0dXJuIC0xCisKKyAgICBkZWYgX3JvdW5kX3VwKHNlbGYsIHByZWMpOgorICAgICAgICAiIiJSb3VuZHMgYXdheSBmcm9tIDAuIiIiCisgICAgICAgIHJldHVybiAtc2VsZi5fcm91bmRfZG93bihwcmVjKQorCisgICAgZGVmIF9yb3VuZF9oYWxmX3VwKHNlbGYsIHByZWMpOgorICAgICAgICAiIiJSb3VuZHMgNSB1cCAoYXdheSBmcm9tIDApIiIiCisgICAgICAgIGlmIHNlbGYuX2ludFtwcmVjXSBpbiAnNTY3ODknOgorICAgICAgICAgICAgcmV0dXJuIDEKKyAgICAgICAgZWxpZiBfYWxsX3plcm9zKHNlbGYuX2ludCwgcHJlYyk6CisgICAgICAgICAgICByZXR1cm4gMAorICAgICAgICBlbHNlOgorICAgICAgICAgICAgcmV0dXJuIC0xCisKKyAgICBkZWYgX3JvdW5kX2hhbGZfZG93bihzZWxmLCBwcmVjKToKKyAgICAgICAgIiIiUm91bmQgNSBkb3duIiIiCisgICAgICAgIGlmIF9leGFjdF9oYWxmKHNlbGYuX2ludCwgcHJlYyk6CisgICAgICAgICAgICByZXR1cm4gLTEKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHJldHVybiBzZWxmLl9yb3VuZF9oYWxmX3VwKHByZWMpCisKKyAgICBkZWYgX3JvdW5kX2hhbGZfZXZlbihzZWxmLCBwcmVjKToKKyAgICAgICAgIiIiUm91bmQgNSB0byBldmVuLCByZXN0IHRvIG5lYXJlc3QuIiIiCisgICAgICAgIGlmIF9leGFjdF9oYWxmKHNlbGYuX2ludCwgcHJlYykgYW5kIFwKKyAgICAgICAgICAgICAgICAocHJlYyA9PSAwIG9yIHNlbGYuX2ludFtwcmVjLTFdIGluICcwMjQ2OCcpOgorICAgICAgICAgICAgcmV0dXJuIC0xCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICByZXR1cm4gc2VsZi5fcm91bmRfaGFsZl91cChwcmVjKQorCisgICAgZGVmIF9yb3VuZF9jZWlsaW5nKHNlbGYsIHByZWMpOgorICAgICAgICAiIiJSb3VuZHMgdXAgKG5vdCBhd2F5IGZyb20gMCBpZiBuZWdhdGl2ZS4pIiIiCisgICAgICAgIGlmIHNlbGYuX3NpZ246CisgICAgICAgICAgICByZXR1cm4gc2VsZi5fcm91bmRfZG93bihwcmVjKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgcmV0dXJuIC1zZWxmLl9yb3VuZF9kb3duKHByZWMpCisKKyAgICBkZWYgX3JvdW5kX2Zsb29yKHNlbGYsIHByZWMpOgorICAgICAgICAiIiJSb3VuZHMgZG93biAobm90IHRvd2FyZHMgMCBpZiBuZWdhdGl2ZSkiIiIKKyAgICAgICAgaWYgbm90IHNlbGYuX3NpZ246CisgICAgICAgICAgICByZXR1cm4gc2VsZi5fcm91bmRfZG93bihwcmVjKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgcmV0dXJuIC1zZWxmLl9yb3VuZF9kb3duKHByZWMpCisKKyAgICBkZWYgX3JvdW5kXzA1dXAoc2VsZiwgcHJlYyk6CisgICAgICAgICIiIlJvdW5kIGRvd24gdW5sZXNzIGRpZ2l0IHByZWMtMSBpcyAwIG9yIDUuIiIiCisgICAgICAgIGlmIHByZWMgYW5kIHNlbGYuX2ludFtwcmVjLTFdIG5vdCBpbiAnMDUnOgorICAgICAgICAgICAgcmV0dXJuIHNlbGYuX3JvdW5kX2Rvd24ocHJlYykKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHJldHVybiAtc2VsZi5fcm91bmRfZG93bihwcmVjKQorCisgICAgX3BpY2tfcm91bmRpbmdfZnVuY3Rpb24gPSBkaWN0KAorICAgICAgICBST1VORF9ET1dOID0gX3JvdW5kX2Rvd24sCisgICAgICAgIFJPVU5EX1VQID0gX3JvdW5kX3VwLAorICAgICAgICBST1VORF9IQUxGX1VQID0gX3JvdW5kX2hhbGZfdXAsCisgICAgICAgIFJPVU5EX0hBTEZfRE9XTiA9IF9yb3VuZF9oYWxmX2Rvd24sCisgICAgICAgIFJPVU5EX0hBTEZfRVZFTiA9IF9yb3VuZF9oYWxmX2V2ZW4sCisgICAgICAgIFJPVU5EX0NFSUxJTkcgPSBfcm91bmRfY2VpbGluZywKKyAgICAgICAgUk9VTkRfRkxPT1IgPSBfcm91bmRfZmxvb3IsCisgICAgICAgIFJPVU5EXzA1VVAgPSBfcm91bmRfMDV1cCwKKyAgICApCisKKyAgICBkZWYgX19yb3VuZF9fKHNlbGYsIG49Tm9uZSk6CisgICAgICAgICIiIlJvdW5kIHNlbGYgdG8gdGhlIG5lYXJlc3QgaW50ZWdlciwgb3IgdG8gYSBnaXZlbiBwcmVjaXNpb24uCisKKyAgICAgICAgSWYgb25seSBvbmUgYXJndW1lbnQgaXMgc3VwcGxpZWQsIHJvdW5kIGEgZmluaXRlIERlY2ltYWwKKyAgICAgICAgaW5zdGFuY2Ugc2VsZiB0byB0aGUgbmVhcmVzdCBpbnRlZ2VyLiAgSWYgc2VsZiBpcyBpbmZpbml0ZSBvcgorICAgICAgICBhIE5hTiB0aGVuIGEgUHl0aG9uIGV4Y2VwdGlvbiBpcyByYWlzZWQuICBJZiBzZWxmIGlzIGZpbml0ZQorICAgICAgICBhbmQgbGllcyBleGFjdGx5IGhhbGZ3YXkgYmV0d2VlbiB0d28gaW50ZWdlcnMgdGhlbiBpdCBpcworICAgICAgICByb3VuZGVkIHRvIHRoZSBpbnRlZ2VyIHdpdGggZXZlbiBsYXN0IGRpZ2l0LgorCisgICAgICAgID4+PiByb3VuZChEZWNpbWFsKCcxMjMuNDU2JykpCisgICAgICAgIDEyMworICAgICAgICA+Pj4gcm91bmQoRGVjaW1hbCgnLTQ1Ni43ODknKSkKKyAgICAgICAgLTQ1NworICAgICAgICA+Pj4gcm91bmQoRGVjaW1hbCgnLTMuMCcpKQorICAgICAgICAtMworICAgICAgICA+Pj4gcm91bmQoRGVjaW1hbCgnMi41JykpCisgICAgICAgIDIKKyAgICAgICAgPj4+IHJvdW5kKERlY2ltYWwoJzMuNScpKQorICAgICAgICA0CisgICAgICAgID4+PiByb3VuZChEZWNpbWFsKCdJbmYnKSkKKyAgICAgICAgVHJhY2ViYWNrIChtb3N0IHJlY2VudCBjYWxsIGxhc3QpOgorICAgICAgICAgIC4uLgorICAgICAgICBPdmVyZmxvd0Vycm9yOiBjYW5ub3Qgcm91bmQgYW4gaW5maW5pdHkKKyAgICAgICAgPj4+IHJvdW5kKERlY2ltYWwoJ05hTicpKQorICAgICAgICBUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CisgICAgICAgICAgLi4uCisgICAgICAgIFZhbHVlRXJyb3I6IGNhbm5vdCByb3VuZCBhIE5hTgorCisgICAgICAgIElmIGEgc2Vjb25kIGFyZ3VtZW50IG4gaXMgc3VwcGxpZWQsIHNlbGYgaXMgcm91bmRlZCB0byBuCisgICAgICAgIGRlY2ltYWwgcGxhY2VzIHVzaW5nIHRoZSByb3VuZGluZyBtb2RlIGZvciB0aGUgY3VycmVudAorICAgICAgICBjb250ZXh0LgorCisgICAgICAgIEZvciBhbiBpbnRlZ2VyIG4sIHJvdW5kKHNlbGYsIC1uKSBpcyBleGFjdGx5IGVxdWl2YWxlbnQgdG8KKyAgICAgICAgc2VsZi5xdWFudGl6ZShEZWNpbWFsKCcxRW4nKSkuCisKKyAgICAgICAgPj4+IHJvdW5kKERlY2ltYWwoJzEyMy40NTYnKSwgMCkKKyAgICAgICAgRGVjaW1hbCgnMTIzJykKKyAgICAgICAgPj4+IHJvdW5kKERlY2ltYWwoJzEyMy40NTYnKSwgMikKKyAgICAgICAgRGVjaW1hbCgnMTIzLjQ2JykKKyAgICAgICAgPj4+IHJvdW5kKERlY2ltYWwoJzEyMy40NTYnKSwgLTIpCisgICAgICAgIERlY2ltYWwoJzFFKzInKQorICAgICAgICA+Pj4gcm91bmQoRGVjaW1hbCgnLUluZmluaXR5JyksIDM3KQorICAgICAgICBEZWNpbWFsKCdOYU4nKQorICAgICAgICA+Pj4gcm91bmQoRGVjaW1hbCgnc05hTjEyMycpLCAwKQorICAgICAgICBEZWNpbWFsKCdOYU4xMjMnKQorCisgICAgICAgICIiIgorICAgICAgICBpZiBuIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgIyB0d28tYXJndW1lbnQgZm9ybTogdXNlIHRoZSBlcXVpdmFsZW50IHF1YW50aXplIGNhbGwKKyAgICAgICAgICAgIGlmIG5vdCBpc2luc3RhbmNlKG4sIGludCk6CisgICAgICAgICAgICAgICAgcmFpc2UgVHlwZUVycm9yKCdTZWNvbmQgYXJndW1lbnQgdG8gcm91bmQgc2hvdWxkIGJlIGludGVncmFsJykKKyAgICAgICAgICAgIGV4cCA9IF9kZWNfZnJvbV90cmlwbGUoMCwgJzEnLCAtbikKKyAgICAgICAgICAgIHJldHVybiBzZWxmLnF1YW50aXplKGV4cCkKKworICAgICAgICAjIG9uZS1hcmd1bWVudCBmb3JtCisgICAgICAgIGlmIHNlbGYuX2lzX3NwZWNpYWw6CisgICAgICAgICAgICBpZiBzZWxmLmlzX25hbigpOgorICAgICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoImNhbm5vdCByb3VuZCBhIE5hTiIpCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIHJhaXNlIE92ZXJmbG93RXJyb3IoImNhbm5vdCByb3VuZCBhbiBpbmZpbml0eSIpCisgICAgICAgIHJldHVybiBpbnQoc2VsZi5fcmVzY2FsZSgwLCBST1VORF9IQUxGX0VWRU4pKQorCisgICAgZGVmIF9fZmxvb3JfXyhzZWxmKToKKyAgICAgICAgIiIiUmV0dXJuIHRoZSBmbG9vciBvZiBzZWxmLCBhcyBhbiBpbnRlZ2VyLgorCisgICAgICAgIEZvciBhIGZpbml0ZSBEZWNpbWFsIGluc3RhbmNlIHNlbGYsIHJldHVybiB0aGUgZ3JlYXRlc3QKKyAgICAgICAgaW50ZWdlciBuIHN1Y2ggdGhhdCBuIDw9IHNlbGYuICBJZiBzZWxmIGlzIGluZmluaXRlIG9yIGEgTmFOCisgICAgICAgIHRoZW4gYSBQeXRob24gZXhjZXB0aW9uIGlzIHJhaXNlZC4KKworICAgICAgICAiIiIKKyAgICAgICAgaWYgc2VsZi5faXNfc3BlY2lhbDoKKyAgICAgICAgICAgIGlmIHNlbGYuaXNfbmFuKCk6CisgICAgICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigiY2Fubm90IHJvdW5kIGEgTmFOIikKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgcmFpc2UgT3ZlcmZsb3dFcnJvcigiY2Fubm90IHJvdW5kIGFuIGluZmluaXR5IikKKyAgICAgICAgcmV0dXJuIGludChzZWxmLl9yZXNjYWxlKDAsIFJPVU5EX0ZMT09SKSkKKworICAgIGRlZiBfX2NlaWxfXyhzZWxmKToKKyAgICAgICAgIiIiUmV0dXJuIHRoZSBjZWlsaW5nIG9mIHNlbGYsIGFzIGFuIGludGVnZXIuCisKKyAgICAgICAgRm9yIGEgZmluaXRlIERlY2ltYWwgaW5zdGFuY2Ugc2VsZiwgcmV0dXJuIHRoZSBsZWFzdCBpbnRlZ2VyIG4KKyAgICAgICAgc3VjaCB0aGF0IG4gPj0gc2VsZi4gIElmIHNlbGYgaXMgaW5maW5pdGUgb3IgYSBOYU4gdGhlbiBhCisgICAgICAgIFB5dGhvbiBleGNlcHRpb24gaXMgcmFpc2VkLgorCisgICAgICAgICIiIgorICAgICAgICBpZiBzZWxmLl9pc19zcGVjaWFsOgorICAgICAgICAgICAgaWYgc2VsZi5pc19uYW4oKToKKyAgICAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJjYW5ub3Qgcm91bmQgYSBOYU4iKQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICByYWlzZSBPdmVyZmxvd0Vycm9yKCJjYW5ub3Qgcm91bmQgYW4gaW5maW5pdHkiKQorICAgICAgICByZXR1cm4gaW50KHNlbGYuX3Jlc2NhbGUoMCwgUk9VTkRfQ0VJTElORykpCisKKyAgICBkZWYgZm1hKHNlbGYsIG90aGVyLCB0aGlyZCwgY29udGV4dD1Ob25lKToKKyAgICAgICAgIiIiRnVzZWQgbXVsdGlwbHktYWRkLgorCisgICAgICAgIFJldHVybnMgc2VsZipvdGhlcit0aGlyZCB3aXRoIG5vIHJvdW5kaW5nIG9mIHRoZSBpbnRlcm1lZGlhdGUKKyAgICAgICAgcHJvZHVjdCBzZWxmKm90aGVyLgorCisgICAgICAgIHNlbGYgYW5kIG90aGVyIGFyZSBtdWx0aXBsaWVkIHRvZ2V0aGVyLCB3aXRoIG5vIHJvdW5kaW5nIG9mCisgICAgICAgIHRoZSByZXN1bHQuICBUaGUgdGhpcmQgb3BlcmFuZCBpcyB0aGVuIGFkZGVkIHRvIHRoZSByZXN1bHQsCisgICAgICAgIGFuZCBhIHNpbmdsZSBmaW5hbCByb3VuZGluZyBpcyBwZXJmb3JtZWQuCisgICAgICAgICIiIgorCisgICAgICAgIG90aGVyID0gX2NvbnZlcnRfb3RoZXIob3RoZXIsIHJhaXNlaXQ9VHJ1ZSkKKyAgICAgICAgdGhpcmQgPSBfY29udmVydF9vdGhlcih0aGlyZCwgcmFpc2VpdD1UcnVlKQorCisgICAgICAgICMgY29tcHV0ZSBwcm9kdWN0OyByYWlzZSBJbnZhbGlkT3BlcmF0aW9uIGlmIGVpdGhlciBvcGVyYW5kIGlzCisgICAgICAgICMgYSBzaWduYWxpbmcgTmFOIG9yIGlmIHRoZSBwcm9kdWN0IGlzIHplcm8gdGltZXMgaW5maW5pdHkuCisgICAgICAgIGlmIHNlbGYuX2lzX3NwZWNpYWwgb3Igb3RoZXIuX2lzX3NwZWNpYWw6CisgICAgICAgICAgICBpZiBjb250ZXh0IGlzIE5vbmU6CisgICAgICAgICAgICAgICAgY29udGV4dCA9IGdldGNvbnRleHQoKQorICAgICAgICAgICAgaWYgc2VsZi5fZXhwID09ICdOJzoKKyAgICAgICAgICAgICAgICByZXR1cm4gY29udGV4dC5fcmFpc2VfZXJyb3IoSW52YWxpZE9wZXJhdGlvbiwgJ3NOYU4nLCBzZWxmKQorICAgICAgICAgICAgaWYgb3RoZXIuX2V4cCA9PSAnTic6CisgICAgICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuX3JhaXNlX2Vycm9yKEludmFsaWRPcGVyYXRpb24sICdzTmFOJywgb3RoZXIpCisgICAgICAgICAgICBpZiBzZWxmLl9leHAgPT0gJ24nOgorICAgICAgICAgICAgICAgIHByb2R1Y3QgPSBzZWxmCisgICAgICAgICAgICBlbGlmIG90aGVyLl9leHAgPT0gJ24nOgorICAgICAgICAgICAgICAgIHByb2R1Y3QgPSBvdGhlcgorICAgICAgICAgICAgZWxpZiBzZWxmLl9leHAgPT0gJ0YnOgorICAgICAgICAgICAgICAgIGlmIG5vdCBvdGhlcjoKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuX3JhaXNlX2Vycm9yKEludmFsaWRPcGVyYXRpb24sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSU5GICogMCBpbiBmbWEnKQorICAgICAgICAgICAgICAgIHByb2R1Y3QgPSBfU2lnbmVkSW5maW5pdHlbc2VsZi5fc2lnbiBeIG90aGVyLl9zaWduXQorICAgICAgICAgICAgZWxpZiBvdGhlci5fZXhwID09ICdGJzoKKyAgICAgICAgICAgICAgICBpZiBub3Qgc2VsZjoKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuX3JhaXNlX2Vycm9yKEludmFsaWRPcGVyYXRpb24sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnMCAqIElORiBpbiBmbWEnKQorICAgICAgICAgICAgICAgIHByb2R1Y3QgPSBfU2lnbmVkSW5maW5pdHlbc2VsZi5fc2lnbiBeIG90aGVyLl9zaWduXQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgcHJvZHVjdCA9IF9kZWNfZnJvbV90cmlwbGUoc2VsZi5fc2lnbiBeIG90aGVyLl9zaWduLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyKGludChzZWxmLl9pbnQpICogaW50KG90aGVyLl9pbnQpKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX2V4cCArIG90aGVyLl9leHApCisKKyAgICAgICAgcmV0dXJuIHByb2R1Y3QuX19hZGRfXyh0aGlyZCwgY29udGV4dCkKKworICAgIGRlZiBfcG93ZXJfbW9kdWxvKHNlbGYsIG90aGVyLCBtb2R1bG8sIGNvbnRleHQ9Tm9uZSk6CisgICAgICAgICIiIlRocmVlIGFyZ3VtZW50IHZlcnNpb24gb2YgX19wb3dfXyIiIgorCisgICAgICAgIG90aGVyID0gX2NvbnZlcnRfb3RoZXIob3RoZXIpCisgICAgICAgIGlmIG90aGVyIGlzIE5vdEltcGxlbWVudGVkOgorICAgICAgICAgICAgcmV0dXJuIG90aGVyCisgICAgICAgIG1vZHVsbyA9IF9jb252ZXJ0X290aGVyKG1vZHVsbykKKyAgICAgICAgaWYgbW9kdWxvIGlzIE5vdEltcGxlbWVudGVkOgorICAgICAgICAgICAgcmV0dXJuIG1vZHVsbworCisgICAgICAgIGlmIGNvbnRleHQgaXMgTm9uZToKKyAgICAgICAgICAgIGNvbnRleHQgPSBnZXRjb250ZXh0KCkKKworICAgICAgICAjIGRlYWwgd2l0aCBOYU5zOiBpZiB0aGVyZSBhcmUgYW55IHNOYU5zIHRoZW4gZmlyc3Qgb25lIHdpbnMsCisgICAgICAgICMgKGkuZS4gYmVoYXZpb3VyIGZvciBOYU5zIGlzIGlkZW50aWNhbCB0byB0aGF0IG9mIGZtYSkKKyAgICAgICAgc2VsZl9pc19uYW4gPSBzZWxmLl9pc25hbigpCisgICAgICAgIG90aGVyX2lzX25hbiA9IG90aGVyLl9pc25hbigpCisgICAgICAgIG1vZHVsb19pc19uYW4gPSBtb2R1bG8uX2lzbmFuKCkKKyAgICAgICAgaWYgc2VsZl9pc19uYW4gb3Igb3RoZXJfaXNfbmFuIG9yIG1vZHVsb19pc19uYW46CisgICAgICAgICAgICBpZiBzZWxmX2lzX25hbiA9PSAyOgorICAgICAgICAgICAgICAgIHJldHVybiBjb250ZXh0Ll9yYWlzZV9lcnJvcihJbnZhbGlkT3BlcmF0aW9uLCAnc05hTicsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZikKKyAgICAgICAgICAgIGlmIG90aGVyX2lzX25hbiA9PSAyOgorICAgICAgICAgICAgICAgIHJldHVybiBjb250ZXh0Ll9yYWlzZV9lcnJvcihJbnZhbGlkT3BlcmF0aW9uLCAnc05hTicsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3RoZXIpCisgICAgICAgICAgICBpZiBtb2R1bG9faXNfbmFuID09IDI6CisgICAgICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuX3JhaXNlX2Vycm9yKEludmFsaWRPcGVyYXRpb24sICdzTmFOJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2R1bG8pCisgICAgICAgICAgICBpZiBzZWxmX2lzX25hbjoKKyAgICAgICAgICAgICAgICByZXR1cm4gc2VsZi5fZml4X25hbihjb250ZXh0KQorICAgICAgICAgICAgaWYgb3RoZXJfaXNfbmFuOgorICAgICAgICAgICAgICAgIHJldHVybiBvdGhlci5fZml4X25hbihjb250ZXh0KQorICAgICAgICAgICAgcmV0dXJuIG1vZHVsby5fZml4X25hbihjb250ZXh0KQorCisgICAgICAgICMgY2hlY2sgaW5wdXRzOiB3ZSBhcHBseSBzYW1lIHJlc3RyaWN0aW9ucyBhcyBQeXRob24ncyBwb3coKQorICAgICAgICBpZiBub3QgKHNlbGYuX2lzaW50ZWdlcigpIGFuZAorICAgICAgICAgICAgICAgIG90aGVyLl9pc2ludGVnZXIoKSBhbmQKKyAgICAgICAgICAgICAgICBtb2R1bG8uX2lzaW50ZWdlcigpKToKKyAgICAgICAgICAgIHJldHVybiBjb250ZXh0Ll9yYWlzZV9lcnJvcihJbnZhbGlkT3BlcmF0aW9uLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwb3coKSAzcmQgYXJndW1lbnQgbm90IGFsbG93ZWQgJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd1bmxlc3MgYWxsIGFyZ3VtZW50cyBhcmUgaW50ZWdlcnMnKQorICAgICAgICBpZiBvdGhlciA8IDA6CisgICAgICAgICAgICByZXR1cm4gY29udGV4dC5fcmFpc2VfZXJyb3IoSW52YWxpZE9wZXJhdGlvbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncG93KCkgMm5kIGFyZ3VtZW50IGNhbm5vdCBiZSAnCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25lZ2F0aXZlIHdoZW4gM3JkIGFyZ3VtZW50IHNwZWNpZmllZCcpCisgICAgICAgIGlmIG5vdCBtb2R1bG86CisgICAgICAgICAgICByZXR1cm4gY29udGV4dC5fcmFpc2VfZXJyb3IoSW52YWxpZE9wZXJhdGlvbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncG93KCkgM3JkIGFyZ3VtZW50IGNhbm5vdCBiZSAwJykKKworICAgICAgICAjIGFkZGl0aW9uYWwgcmVzdHJpY3Rpb24gZm9yIGRlY2ltYWw6IHRoZSBtb2R1bHVzIG11c3QgYmUgbGVzcworICAgICAgICAjIHRoYW4gMTAqKnByZWMgaW4gYWJzb2x1dGUgdmFsdWUKKyAgICAgICAgaWYgbW9kdWxvLmFkanVzdGVkKCkgPj0gY29udGV4dC5wcmVjOgorICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuX3JhaXNlX2Vycm9yKEludmFsaWRPcGVyYXRpb24sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2luc3VmZmljaWVudCBwcmVjaXNpb246IHBvdygpIDNyZCAnCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FyZ3VtZW50IG11c3Qgbm90IGhhdmUgbW9yZSB0aGFuICcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJlY2lzaW9uIGRpZ2l0cycpCisKKyAgICAgICAgIyBkZWZpbmUgMCoqMCA9PSBOYU4sIGZvciBjb25zaXN0ZW5jeSB3aXRoIHR3by1hcmd1bWVudCBwb3cKKyAgICAgICAgIyAoZXZlbiB0aG91Z2ggaXQgaHVydHMhKQorICAgICAgICBpZiBub3Qgb3RoZXIgYW5kIG5vdCBzZWxmOgorICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuX3JhaXNlX2Vycm9yKEludmFsaWRPcGVyYXRpb24sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2F0IGxlYXN0IG9uZSBvZiBwb3coKSAxc3QgYXJndW1lbnQgJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhbmQgMm5kIGFyZ3VtZW50IG11c3QgYmUgbm9uemVybyA7JworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcwKiowIGlzIG5vdCBkZWZpbmVkJykKKworICAgICAgICAjIGNvbXB1dGUgc2lnbiBvZiByZXN1bHQKKyAgICAgICAgaWYgb3RoZXIuX2lzZXZlbigpOgorICAgICAgICAgICAgc2lnbiA9IDAKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHNpZ24gPSBzZWxmLl9zaWduCisKKyAgICAgICAgIyBjb252ZXJ0IG1vZHVsbyB0byBhIFB5dGhvbiBpbnRlZ2VyLCBhbmQgc2VsZiBhbmQgb3RoZXIgdG8KKyAgICAgICAgIyBEZWNpbWFsIGludGVnZXJzIChpLmUuIGZvcmNlIHRoZWlyIGV4cG9uZW50cyB0byBiZSA+PSAwKQorICAgICAgICBtb2R1bG8gPSBhYnMoaW50KG1vZHVsbykpCisgICAgICAgIGJhc2UgPSBfV29ya1JlcChzZWxmLnRvX2ludGVncmFsX3ZhbHVlKCkpCisgICAgICAgIGV4cG9uZW50ID0gX1dvcmtSZXAob3RoZXIudG9faW50ZWdyYWxfdmFsdWUoKSkKKworICAgICAgICAjIGNvbXB1dGUgcmVzdWx0IHVzaW5nIGludGVnZXIgcG93KCkKKyAgICAgICAgYmFzZSA9IChiYXNlLmludCAlIG1vZHVsbyAqIHBvdygxMCwgYmFzZS5leHAsIG1vZHVsbykpICUgbW9kdWxvCisgICAgICAgIGZvciBpIGluIHJhbmdlKGV4cG9uZW50LmV4cCk6CisgICAgICAgICAgICBiYXNlID0gcG93KGJhc2UsIDEwLCBtb2R1bG8pCisgICAgICAgIGJhc2UgPSBwb3coYmFzZSwgZXhwb25lbnQuaW50LCBtb2R1bG8pCisKKyAgICAgICAgcmV0dXJuIF9kZWNfZnJvbV90cmlwbGUoc2lnbiwgc3RyKGJhc2UpLCAwKQorCisgICAgZGVmIF9wb3dlcl9leGFjdChzZWxmLCBvdGhlciwgcCk6CisgICAgICAgICIiIkF0dGVtcHQgdG8gY29tcHV0ZSBzZWxmKipvdGhlciBleGFjdGx5LgorCisgICAgICAgIEdpdmVuIERlY2ltYWxzIHNlbGYgYW5kIG90aGVyIGFuZCBhbiBpbnRlZ2VyIHAsIGF0dGVtcHQgdG8KKyAgICAgICAgY29tcHV0ZSBhbiBleGFjdCByZXN1bHQgZm9yIHRoZSBwb3dlciBzZWxmKipvdGhlciwgd2l0aCBwCisgICAgICAgIGRpZ2l0cyBvZiBwcmVjaXNpb24uICBSZXR1cm4gTm9uZSBpZiBzZWxmKipvdGhlciBpcyBub3QKKyAgICAgICAgZXhhY3RseSByZXByZXNlbnRhYmxlIGluIHAgZGlnaXRzLgorCisgICAgICAgIEFzc3VtZXMgdGhhdCBlbGltaW5hdGlvbiBvZiBzcGVjaWFsIGNhc2VzIGhhcyBhbHJlYWR5IGJlZW4KKyAgICAgICAgcGVyZm9ybWVkOiBzZWxmIGFuZCBvdGhlciBtdXN0IGJvdGggYmUgbm9uc3BlY2lhbDsgc2VsZiBtdXN0CisgICAgICAgIGJlIHBvc2l0aXZlIGFuZCBub3QgbnVtZXJpY2FsbHkgZXF1YWwgdG8gMTsgb3RoZXIgbXVzdCBiZQorICAgICAgICBub256ZXJvLiAgRm9yIGVmZmljaWVuY3ksIG90aGVyLl9leHAgc2hvdWxkIG5vdCBiZSB0b28gbGFyZ2UsCisgICAgICAgIHNvIHRoYXQgMTAqKmFicyhvdGhlci5fZXhwKSBpcyBhIGZlYXNpYmxlIGNhbGN1bGF0aW9uLiIiIgorCisgICAgICAgICMgSW4gdGhlIGNvbW1lbnRzIGJlbG93LCB3ZSB3cml0ZSB4IGZvciB0aGUgdmFsdWUgb2Ygc2VsZiBhbmQgeSBmb3IgdGhlCisgICAgICAgICMgdmFsdWUgb2Ygb3RoZXIuICBXcml0ZSB4ID0geGMqMTAqKnhlIGFuZCBhYnMoeSkgPSB5YyoxMCoqeWUsIHdpdGggeGMKKyAgICAgICAgIyBhbmQgeWMgcG9zaXRpdmUgaW50ZWdlcnMgbm90IGRpdmlzaWJsZSBieSAxMC4KKworICAgICAgICAjIFRoZSBtYWluIHB1cnBvc2Ugb2YgdGhpcyBtZXRob2QgaXMgdG8gaWRlbnRpZnkgdGhlICpmYWlsdXJlKgorICAgICAgICAjIG9mIHgqKnkgdG8gYmUgZXhhY3RseSByZXByZXNlbnRhYmxlIHdpdGggYXMgbGl0dGxlIGVmZm9ydCBhcworICAgICAgICAjIHBvc3NpYmxlLiAgU28gd2UgbG9vayBmb3IgY2hlYXAgYW5kIGVhc3kgdGVzdHMgdGhhdAorICAgICAgICAjIGVsaW1pbmF0ZSB0aGUgcG9zc2liaWxpdHkgb2YgeCoqeSBiZWluZyBleGFjdC4gIE9ubHkgaWYgYWxsCisgICAgICAgICMgdGhlc2UgdGVzdHMgYXJlIHBhc3NlZCBkbyB3ZSBnbyBvbiB0byBhY3R1YWxseSBjb21wdXRlIHgqKnkuCisKKyAgICAgICAgIyBIZXJlJ3MgdGhlIG1haW4gaWRlYS4gIEV4cHJlc3MgeSBhcyBhIHJhdGlvbmFsIG51bWJlciBtL24sIHdpdGggbSBhbmQKKyAgICAgICAgIyBuIHJlbGF0aXZlbHkgcHJpbWUgYW5kIG4+MC4gIFRoZW4gZm9yIHgqKnkgdG8gYmUgZXhhY3RseQorICAgICAgICAjIHJlcHJlc2VudGFibGUgKGF0ICphbnkqIHByZWNpc2lvbiksIHhjIG11c3QgYmUgdGhlIG50aCBwb3dlciBvZiBhCisgICAgICAgICMgcG9zaXRpdmUgaW50ZWdlciBhbmQgeGUgbXVzdCBiZSBkaXZpc2libGUgYnkgbi4gIElmIHkgaXMgbmVnYXRpdmUKKyAgICAgICAgIyB0aGVuIGFkZGl0aW9uYWxseSB4YyBtdXN0IGJlIGEgcG93ZXIgb2YgZWl0aGVyIDIgb3IgNSwgaGVuY2UgYSBwb3dlcgorICAgICAgICAjIG9mIDIqKm4gb3IgNSoqbi4KKyAgICAgICAgIworICAgICAgICAjIFRoZXJlJ3MgYSBsaW1pdCB0byBob3cgc21hbGwgfHl8IGNhbiBiZTogaWYgeT1tL24gYXMgYWJvdmUKKyAgICAgICAgIyB0aGVuOgorICAgICAgICAjCisgICAgICAgICMgICgxKSBpZiB4YyAhPSAxIHRoZW4gZm9yIHRoZSByZXN1bHQgdG8gYmUgcmVwcmVzZW50YWJsZSB3ZQorICAgICAgICAjICAgICAgbmVlZCB4YyoqKDEvbikgPj0gMiwgYW5kIGhlbmNlIGFsc28geGMqKnx5fCA+PSAyLiAgU28KKyAgICAgICAgIyAgICAgIGlmIHx5fCA8PSAxL25iaXRzKHhjKSB0aGVuIHhjIDwgMioqbmJpdHMoeGMpIDw9CisgICAgICAgICMgICAgICAyKiooMS98eXwpLCBoZW5jZSB4YyoqfHl8IDwgMiBhbmQgdGhlIHJlc3VsdCBpcyBub3QKKyAgICAgICAgIyAgICAgIHJlcHJlc2VudGFibGUuCisgICAgICAgICMKKyAgICAgICAgIyAgKDIpIGlmIHhlICE9IDAsIHx4ZXwqKDEvbikgPj0gMSwgc28gfHhlfCp8eXwgPj0gMS4gIEhlbmNlIGlmCisgICAgICAgICMgICAgICB8eXwgPCAxL3x4ZXwgdGhlbiB0aGUgcmVzdWx0IGlzIG5vdCByZXByZXNlbnRhYmxlLgorICAgICAgICAjCisgICAgICAgICMgTm90ZSB0aGF0IHNpbmNlIHggaXMgbm90IGVxdWFsIHRvIDEsIGF0IGxlYXN0IG9uZSBvZiAoMSkgYW5kCisgICAgICAgICMgKDIpIG11c3QgYXBwbHkuICBOb3cgfHl8IDwgMS9uYml0cyh4YykgaWZmIHx5Y3wqbmJpdHMoeGMpIDwKKyAgICAgICAgIyAxMCoqLXllIGlmZiBsZW4oc3RyKHx5Y3wqbmJpdHMoeGMpKSA8PSAteWUuCisgICAgICAgICMKKyAgICAgICAgIyBUaGVyZSdzIGFsc28gYSBsaW1pdCB0byBob3cgbGFyZ2UgeSBjYW4gYmUsIGF0IGxlYXN0IGlmIGl0J3MKKyAgICAgICAgIyBwb3NpdGl2ZTogdGhlIG5vcm1hbGl6ZWQgcmVzdWx0IHdpbGwgaGF2ZSBjb2VmZmljaWVudCB4YyoqeSwKKyAgICAgICAgIyBzbyBpZiBpdCdzIHJlcHJlc2VudGFibGUgdGhlbiB4YyoqeSA8IDEwKipwLCBhbmQgeSA8CisgICAgICAgICMgcC9sb2cxMCh4YykuICBIZW5jZSBpZiB5KmxvZzEwKHhjKSA+PSBwIHRoZW4gdGhlIHJlc3VsdCBpcworICAgICAgICAjIG5vdCBleGFjdGx5IHJlcHJlc2VudGFibGUuCisKKyAgICAgICAgIyBpZiBsZW4oc3RyKGFicyh5Yyp4ZSkpIDw9IC15ZSB0aGVuIGFicyh5Yyp4ZSkgPCAxMCoqLXllLAorICAgICAgICAjIHNvIHx5fCA8IDEveGUgYW5kIHRoZSByZXN1bHQgaXMgbm90IHJlcHJlc2VudGFibGUuCisgICAgICAgICMgU2ltaWxhcmx5LCBsZW4oc3RyKGFicyh5YykqeGNfYml0cykpIDw9IC15ZSBpbXBsaWVzIHx5fAorICAgICAgICAjIDwgMS9uYml0cyh4YykuCisKKyAgICAgICAgeCA9IF9Xb3JrUmVwKHNlbGYpCisgICAgICAgIHhjLCB4ZSA9IHguaW50LCB4LmV4cAorICAgICAgICB3aGlsZSB4YyAlIDEwID09IDA6CisgICAgICAgICAgICB4YyAvLz0gMTAKKyAgICAgICAgICAgIHhlICs9IDEKKworICAgICAgICB5ID0gX1dvcmtSZXAob3RoZXIpCisgICAgICAgIHljLCB5ZSA9IHkuaW50LCB5LmV4cAorICAgICAgICB3aGlsZSB5YyAlIDEwID09IDA6CisgICAgICAgICAgICB5YyAvLz0gMTAKKyAgICAgICAgICAgIHllICs9IDEKKworICAgICAgICAjIGNhc2Ugd2hlcmUgeGMgPT0gMTogcmVzdWx0IGlzIDEwKiooeGUqeSksIHdpdGggeGUqeQorICAgICAgICAjIHJlcXVpcmVkIHRvIGJlIGFuIGludGVnZXIKKyAgICAgICAgaWYgeGMgPT0gMToKKyAgICAgICAgICAgIHhlICo9IHljCisgICAgICAgICAgICAjIHJlc3VsdCBpcyBub3cgMTAqKih4ZSAqIDEwKip5ZSk7ICB4ZSAqIDEwKip5ZSBtdXN0IGJlIGludGVncmFsCisgICAgICAgICAgICB3aGlsZSB4ZSAlIDEwID09IDA6CisgICAgICAgICAgICAgICAgeGUgLy89IDEwCisgICAgICAgICAgICAgICAgeWUgKz0gMQorICAgICAgICAgICAgaWYgeWUgPCAwOgorICAgICAgICAgICAgICAgIHJldHVybiBOb25lCisgICAgICAgICAgICBleHBvbmVudCA9IHhlICogMTAqKnllCisgICAgICAgICAgICBpZiB5LnNpZ24gPT0gMToKKyAgICAgICAgICAgICAgICBleHBvbmVudCA9IC1leHBvbmVudAorICAgICAgICAgICAgIyBpZiBvdGhlciBpcyBhIG5vbm5lZ2F0aXZlIGludGVnZXIsIHVzZSBpZGVhbCBleHBvbmVudAorICAgICAgICAgICAgaWYgb3RoZXIuX2lzaW50ZWdlcigpIGFuZCBvdGhlci5fc2lnbiA9PSAwOgorICAgICAgICAgICAgICAgIGlkZWFsX2V4cG9uZW50ID0gc2VsZi5fZXhwKmludChvdGhlcikKKyAgICAgICAgICAgICAgICB6ZXJvcyA9IG1pbihleHBvbmVudC1pZGVhbF9leHBvbmVudCwgcC0xKQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICB6ZXJvcyA9IDAKKyAgICAgICAgICAgIHJldHVybiBfZGVjX2Zyb21fdHJpcGxlKDAsICcxJyArICcwJyp6ZXJvcywgZXhwb25lbnQtemVyb3MpCisKKyAgICAgICAgIyBjYXNlIHdoZXJlIHkgaXMgbmVnYXRpdmU6IHhjIG11c3QgYmUgZWl0aGVyIGEgcG93ZXIKKyAgICAgICAgIyBvZiAyIG9yIGEgcG93ZXIgb2YgNS4KKyAgICAgICAgaWYgeS5zaWduID09IDE6CisgICAgICAgICAgICBsYXN0X2RpZ2l0ID0geGMgJSAxMAorICAgICAgICAgICAgaWYgbGFzdF9kaWdpdCBpbiAoMiw0LDYsOCk6CisgICAgICAgICAgICAgICAgIyBxdWljayB0ZXN0IGZvciBwb3dlciBvZiAyCisgICAgICAgICAgICAgICAgaWYgeGMgJiAteGMgIT0geGM6CisgICAgICAgICAgICAgICAgICAgIHJldHVybiBOb25lCisgICAgICAgICAgICAgICAgIyBub3cgeGMgaXMgYSBwb3dlciBvZiAyOyBlIGlzIGl0cyBleHBvbmVudAorICAgICAgICAgICAgICAgIGUgPSBfbmJpdHMoeGMpLTEKKworICAgICAgICAgICAgICAgICMgV2Ugbm93IGhhdmU6CisgICAgICAgICAgICAgICAgIworICAgICAgICAgICAgICAgICMgICB4ID0gMioqZSAqIDEwKip4ZSwgZSA+IDAsIGFuZCB5IDwgMC4KKyAgICAgICAgICAgICAgICAjCisgICAgICAgICAgICAgICAgIyBUaGUgZXhhY3QgcmVzdWx0IGlzOgorICAgICAgICAgICAgICAgICMKKyAgICAgICAgICAgICAgICAjICAgeCoqeSA9IDUqKigtZSp5KSAqIDEwKiooZSp5ICsgeGUqeSkKKyAgICAgICAgICAgICAgICAjCisgICAgICAgICAgICAgICAgIyBwcm92aWRlZCB0aGF0IGJvdGggZSp5IGFuZCB4ZSp5IGFyZSBpbnRlZ2Vycy4gIE5vdGUgdGhhdCBpZgorICAgICAgICAgICAgICAgICMgNSoqKC1lKnkpID49IDEwKipwLCB0aGVuIHRoZSByZXN1bHQgY2FuJ3QgYmUgZXhwcmVzc2VkCisgICAgICAgICAgICAgICAgIyBleGFjdGx5IHdpdGggcCBkaWdpdHMgb2YgcHJlY2lzaW9uLgorICAgICAgICAgICAgICAgICMKKyAgICAgICAgICAgICAgICAjIFVzaW5nIHRoZSBhYm92ZSwgd2UgY2FuIGd1YXJkIGFnYWluc3QgbGFyZ2UgdmFsdWVzIG9mIHllLgorICAgICAgICAgICAgICAgICMgOTMvNjUgaXMgYW4gdXBwZXIgYm91bmQgZm9yIGxvZygxMCkvbG9nKDUpLCBzbyBpZgorICAgICAgICAgICAgICAgICMKKyAgICAgICAgICAgICAgICAjICAgeWUgPj0gbGVuKHN0cig5MypwLy82NSkpCisgICAgICAgICAgICAgICAgIworICAgICAgICAgICAgICAgICMgdGhlbgorICAgICAgICAgICAgICAgICMKKyAgICAgICAgICAgICAgICAjICAgLWUqeSA+PSAteSA+PSAxMCoqeWUgPiA5MypwLzY1ID4gcCpsb2coMTApL2xvZyg1KSwKKyAgICAgICAgICAgICAgICAjCisgICAgICAgICAgICAgICAgIyBzbyA1KiooLWUqeSkgPj0gMTAqKnAsIGFuZCB0aGUgY29lZmZpY2llbnQgb2YgdGhlIHJlc3VsdAorICAgICAgICAgICAgICAgICMgY2FuJ3QgYmUgZXhwcmVzc2VkIGluIHAgZGlnaXRzLgorCisgICAgICAgICAgICAgICAgIyBlbWF4ID49IGxhcmdlc3QgZSBzdWNoIHRoYXQgNSoqZSA8IDEwKipwLgorICAgICAgICAgICAgICAgIGVtYXggPSBwKjkzLy82NQorICAgICAgICAgICAgICAgIGlmIHllID49IGxlbihzdHIoZW1heCkpOgorICAgICAgICAgICAgICAgICAgICByZXR1cm4gTm9uZQorCisgICAgICAgICAgICAgICAgIyBGaW5kIC1lKnkgYW5kIC14ZSp5OyBib3RoIG11c3QgYmUgaW50ZWdlcnMKKyAgICAgICAgICAgICAgICBlID0gX2RlY2ltYWxfbHNoaWZ0X2V4YWN0KGUgKiB5YywgeWUpCisgICAgICAgICAgICAgICAgeGUgPSBfZGVjaW1hbF9sc2hpZnRfZXhhY3QoeGUgKiB5YywgeWUpCisgICAgICAgICAgICAgICAgaWYgZSBpcyBOb25lIG9yIHhlIGlzIE5vbmU6CisgICAgICAgICAgICAgICAgICAgIHJldHVybiBOb25lCisKKyAgICAgICAgICAgICAgICBpZiBlID4gZW1heDoKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIE5vbmUKKyAgICAgICAgICAgICAgICB4YyA9IDUqKmUKKworICAgICAgICAgICAgZWxpZiBsYXN0X2RpZ2l0ID09IDU6CisgICAgICAgICAgICAgICAgIyBlID49IGxvZ181KHhjKSBpZiB4YyBpcyBhIHBvd2VyIG9mIDU7IHdlIGhhdmUKKyAgICAgICAgICAgICAgICAjIGVxdWFsaXR5IGFsbCB0aGUgd2F5IHVwIHRvIHhjPTUqKjI2NTgKKyAgICAgICAgICAgICAgICBlID0gX25iaXRzKHhjKSoyOC8vNjUKKyAgICAgICAgICAgICAgICB4YywgcmVtYWluZGVyID0gZGl2bW9kKDUqKmUsIHhjKQorICAgICAgICAgICAgICAgIGlmIHJlbWFpbmRlcjoKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIE5vbmUKKyAgICAgICAgICAgICAgICB3aGlsZSB4YyAlIDUgPT0gMDoKKyAgICAgICAgICAgICAgICAgICAgeGMgLy89IDUKKyAgICAgICAgICAgICAgICAgICAgZSAtPSAxCisKKyAgICAgICAgICAgICAgICAjIEd1YXJkIGFnYWluc3QgbGFyZ2UgdmFsdWVzIG9mIHllLCB1c2luZyB0aGUgc2FtZSBsb2dpYyBhcyBpbgorICAgICAgICAgICAgICAgICMgdGhlICd4YyBpcyBhIHBvd2VyIG9mIDInIGJyYW5jaC4gIDEwLzMgaXMgYW4gdXBwZXIgYm91bmQgZm9yCisgICAgICAgICAgICAgICAgIyBsb2coMTApL2xvZygyKS4KKyAgICAgICAgICAgICAgICBlbWF4ID0gcCoxMC8vMworICAgICAgICAgICAgICAgIGlmIHllID49IGxlbihzdHIoZW1heCkpOgorICAgICAgICAgICAgICAgICAgICByZXR1cm4gTm9uZQorCisgICAgICAgICAgICAgICAgZSA9IF9kZWNpbWFsX2xzaGlmdF9leGFjdChlICogeWMsIHllKQorICAgICAgICAgICAgICAgIHhlID0gX2RlY2ltYWxfbHNoaWZ0X2V4YWN0KHhlICogeWMsIHllKQorICAgICAgICAgICAgICAgIGlmIGUgaXMgTm9uZSBvciB4ZSBpcyBOb25lOgorICAgICAgICAgICAgICAgICAgICByZXR1cm4gTm9uZQorCisgICAgICAgICAgICAgICAgaWYgZSA+IGVtYXg6CisgICAgICAgICAgICAgICAgICAgIHJldHVybiBOb25lCisgICAgICAgICAgICAgICAgeGMgPSAyKiplCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIHJldHVybiBOb25lCisKKyAgICAgICAgICAgIGlmIHhjID49IDEwKipwOgorICAgICAgICAgICAgICAgIHJldHVybiBOb25lCisgICAgICAgICAgICB4ZSA9IC1lLXhlCisgICAgICAgICAgICByZXR1cm4gX2RlY19mcm9tX3RyaXBsZSgwLCBzdHIoeGMpLCB4ZSkKKworICAgICAgICAjIG5vdyB5IGlzIHBvc2l0aXZlOyBmaW5kIG0gYW5kIG4gc3VjaCB0aGF0IHkgPSBtL24KKyAgICAgICAgaWYgeWUgPj0gMDoKKyAgICAgICAgICAgIG0sIG4gPSB5YyoxMCoqeWUsIDEKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGlmIHhlICE9IDAgYW5kIGxlbihzdHIoYWJzKHljKnhlKSkpIDw9IC15ZToKKyAgICAgICAgICAgICAgICByZXR1cm4gTm9uZQorICAgICAgICAgICAgeGNfYml0cyA9IF9uYml0cyh4YykKKyAgICAgICAgICAgIGlmIHhjICE9IDEgYW5kIGxlbihzdHIoYWJzKHljKSp4Y19iaXRzKSkgPD0gLXllOgorICAgICAgICAgICAgICAgIHJldHVybiBOb25lCisgICAgICAgICAgICBtLCBuID0geWMsIDEwKiooLXllKQorICAgICAgICAgICAgd2hpbGUgbSAlIDIgPT0gbiAlIDIgPT0gMDoKKyAgICAgICAgICAgICAgICBtIC8vPSAyCisgICAgICAgICAgICAgICAgbiAvLz0gMgorICAgICAgICAgICAgd2hpbGUgbSAlIDUgPT0gbiAlIDUgPT0gMDoKKyAgICAgICAgICAgICAgICBtIC8vPSA1CisgICAgICAgICAgICAgICAgbiAvLz0gNQorCisgICAgICAgICMgY29tcHV0ZSBudGggcm9vdCBvZiB4YyoxMCoqeGUKKyAgICAgICAgaWYgbiA+IDE6CisgICAgICAgICAgICAjIGlmIDEgPCB4YyA8IDIqKm4gdGhlbiB4YyBpc24ndCBhbiBudGggcG93ZXIKKyAgICAgICAgICAgIGlmIHhjICE9IDEgYW5kIHhjX2JpdHMgPD0gbjoKKyAgICAgICAgICAgICAgICByZXR1cm4gTm9uZQorCisgICAgICAgICAgICB4ZSwgcmVtID0gZGl2bW9kKHhlLCBuKQorICAgICAgICAgICAgaWYgcmVtICE9IDA6CisgICAgICAgICAgICAgICAgcmV0dXJuIE5vbmUKKworICAgICAgICAgICAgIyBjb21wdXRlIG50aCByb290IG9mIHhjIHVzaW5nIE5ld3RvbidzIG1ldGhvZAorICAgICAgICAgICAgYSA9IDEgPDwgLSgtX25iaXRzKHhjKS8vbikgIyBpbml0aWFsIGVzdGltYXRlCisgICAgICAgICAgICB3aGlsZSBUcnVlOgorICAgICAgICAgICAgICAgIHEsIHIgPSBkaXZtb2QoeGMsIGEqKihuLTEpKQorICAgICAgICAgICAgICAgIGlmIGEgPD0gcToKKyAgICAgICAgICAgICAgICAgICAgYnJlYWsKKyAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICBhID0gKGEqKG4tMSkgKyBxKS8vbgorICAgICAgICAgICAgaWYgbm90IChhID09IHEgYW5kIHIgPT0gMCk6CisgICAgICAgICAgICAgICAgcmV0dXJuIE5vbmUKKyAgICAgICAgICAgIHhjID0gYQorCisgICAgICAgICMgbm93IHhjKjEwKip4ZSBpcyB0aGUgbnRoIHJvb3Qgb2YgdGhlIG9yaWdpbmFsIHhjKjEwKip4ZQorICAgICAgICAjIGNvbXB1dGUgbXRoIHBvd2VyIG9mIHhjKjEwKip4ZQorCisgICAgICAgICMgaWYgbSA+IHAqMTAwLy9fbG9nMTBfbGIoeGMpIHRoZW4gbSA+IHAvbG9nMTAoeGMpLCBoZW5jZSB4YyoqbSA+CisgICAgICAgICMgMTAqKnAgYW5kIHRoZSByZXN1bHQgaXMgbm90IHJlcHJlc2VudGFibGUuCisgICAgICAgIGlmIHhjID4gMSBhbmQgbSA+IHAqMTAwLy9fbG9nMTBfbGIoeGMpOgorICAgICAgICAgICAgcmV0dXJuIE5vbmUKKyAgICAgICAgeGMgPSB4YyoqbQorICAgICAgICB4ZSAqPSBtCisgICAgICAgIGlmIHhjID4gMTAqKnA6CisgICAgICAgICAgICByZXR1cm4gTm9uZQorCisgICAgICAgICMgYnkgdGhpcyBwb2ludCB0aGUgcmVzdWx0ICppcyogZXhhY3RseSByZXByZXNlbnRhYmxlCisgICAgICAgICMgYWRqdXN0IHRoZSBleHBvbmVudCB0byBnZXQgYXMgY2xvc2UgYXMgcG9zc2libGUgdG8gdGhlIGlkZWFsCisgICAgICAgICMgZXhwb25lbnQsIGlmIG5lY2Vzc2FyeQorICAgICAgICBzdHJfeGMgPSBzdHIoeGMpCisgICAgICAgIGlmIG90aGVyLl9pc2ludGVnZXIoKSBhbmQgb3RoZXIuX3NpZ24gPT0gMDoKKyAgICAgICAgICAgIGlkZWFsX2V4cG9uZW50ID0gc2VsZi5fZXhwKmludChvdGhlcikKKyAgICAgICAgICAgIHplcm9zID0gbWluKHhlLWlkZWFsX2V4cG9uZW50LCBwLWxlbihzdHJfeGMpKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgemVyb3MgPSAwCisgICAgICAgIHJldHVybiBfZGVjX2Zyb21fdHJpcGxlKDAsIHN0cl94YysnMCcqemVyb3MsIHhlLXplcm9zKQorCisgICAgZGVmIF9fcG93X18oc2VsZiwgb3RoZXIsIG1vZHVsbz1Ob25lLCBjb250ZXh0PU5vbmUpOgorICAgICAgICAiIiJSZXR1cm4gc2VsZiAqKiBvdGhlciBbICUgbW9kdWxvXS4KKworICAgICAgICBXaXRoIHR3byBhcmd1bWVudHMsIGNvbXB1dGUgc2VsZioqb3RoZXIuCisKKyAgICAgICAgV2l0aCB0aHJlZSBhcmd1bWVudHMsIGNvbXB1dGUgKHNlbGYqKm90aGVyKSAlIG1vZHVsby4gIEZvciB0aGUKKyAgICAgICAgdGhyZWUgYXJndW1lbnQgZm9ybSwgdGhlIGZvbGxvd2luZyByZXN0cmljdGlvbnMgb24gdGhlCisgICAgICAgIGFyZ3VtZW50cyBob2xkOgorCisgICAgICAgICAtIGFsbCB0aHJlZSBhcmd1bWVudHMgbXVzdCBiZSBpbnRlZ3JhbAorICAgICAgICAgLSBvdGhlciBtdXN0IGJlIG5vbm5lZ2F0aXZlCisgICAgICAgICAtIGVpdGhlciBzZWxmIG9yIG90aGVyIChvciBib3RoKSBtdXN0IGJlIG5vbnplcm8KKyAgICAgICAgIC0gbW9kdWxvIG11c3QgYmUgbm9uemVybyBhbmQgbXVzdCBoYXZlIGF0IG1vc3QgcCBkaWdpdHMsCisgICAgICAgICAgIHdoZXJlIHAgaXMgdGhlIGNvbnRleHQgcHJlY2lzaW9uLgorCisgICAgICAgIElmIGFueSBvZiB0aGVzZSByZXN0cmljdGlvbnMgaXMgdmlvbGF0ZWQgdGhlIEludmFsaWRPcGVyYXRpb24KKyAgICAgICAgZmxhZyBpcyByYWlzZWQuCisKKyAgICAgICAgVGhlIHJlc3VsdCBvZiBwb3coc2VsZiwgb3RoZXIsIG1vZHVsbykgaXMgaWRlbnRpY2FsIHRvIHRoZQorICAgICAgICByZXN1bHQgdGhhdCB3b3VsZCBiZSBvYnRhaW5lZCBieSBjb21wdXRpbmcgKHNlbGYqKm90aGVyKSAlCisgICAgICAgIG1vZHVsbyB3aXRoIHVuYm91bmRlZCBwcmVjaXNpb24sIGJ1dCBpcyBjb21wdXRlZCBtb3JlCisgICAgICAgIGVmZmljaWVudGx5LiAgSXQgaXMgYWx3YXlzIGV4YWN0LgorICAgICAgICAiIiIKKworICAgICAgICBpZiBtb2R1bG8gaXMgbm90IE5vbmU6CisgICAgICAgICAgICByZXR1cm4gc2VsZi5fcG93ZXJfbW9kdWxvKG90aGVyLCBtb2R1bG8sIGNvbnRleHQpCisKKyAgICAgICAgb3RoZXIgPSBfY29udmVydF9vdGhlcihvdGhlcikKKyAgICAgICAgaWYgb3RoZXIgaXMgTm90SW1wbGVtZW50ZWQ6CisgICAgICAgICAgICByZXR1cm4gb3RoZXIKKworICAgICAgICBpZiBjb250ZXh0IGlzIE5vbmU6CisgICAgICAgICAgICBjb250ZXh0ID0gZ2V0Y29udGV4dCgpCisKKyAgICAgICAgIyBlaXRoZXIgYXJndW1lbnQgaXMgYSBOYU4gPT4gcmVzdWx0IGlzIE5hTgorICAgICAgICBhbnMgPSBzZWxmLl9jaGVja19uYW5zKG90aGVyLCBjb250ZXh0KQorICAgICAgICBpZiBhbnM6CisgICAgICAgICAgICByZXR1cm4gYW5zCisKKyAgICAgICAgIyAwKiowID0gTmFOICghKSwgeCoqMCA9IDEgZm9yIG5vbnplcm8geCAoaW5jbHVkaW5nICsvLUluZmluaXR5KQorICAgICAgICBpZiBub3Qgb3RoZXI6CisgICAgICAgICAgICBpZiBub3Qgc2VsZjoKKyAgICAgICAgICAgICAgICByZXR1cm4gY29udGV4dC5fcmFpc2VfZXJyb3IoSW52YWxpZE9wZXJhdGlvbiwgJzAgKiogMCcpCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIHJldHVybiBfT25lCisKKyAgICAgICAgIyByZXN1bHQgaGFzIHNpZ24gMSBpZmYgc2VsZi5fc2lnbiBpcyAxIGFuZCBvdGhlciBpcyBhbiBvZGQgaW50ZWdlcgorICAgICAgICByZXN1bHRfc2lnbiA9IDAKKyAgICAgICAgaWYgc2VsZi5fc2lnbiA9PSAxOgorICAgICAgICAgICAgaWYgb3RoZXIuX2lzaW50ZWdlcigpOgorICAgICAgICAgICAgICAgIGlmIG5vdCBvdGhlci5faXNldmVuKCk6CisgICAgICAgICAgICAgICAgICAgIHJlc3VsdF9zaWduID0gMQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAjIC12ZSoqbm9uaW50ZWdlciA9IE5hTgorICAgICAgICAgICAgICAgICMgKC0wKSoqbm9uaW50ZWdlciA9IDAqKm5vbmludGVnZXIKKyAgICAgICAgICAgICAgICBpZiBzZWxmOgorICAgICAgICAgICAgICAgICAgICByZXR1cm4gY29udGV4dC5fcmFpc2VfZXJyb3IoSW52YWxpZE9wZXJhdGlvbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICd4ICoqIHkgd2l0aCB4IG5lZ2F0aXZlIGFuZCB5IG5vdCBhbiBpbnRlZ2VyJykKKyAgICAgICAgICAgICMgbmVnYXRlIHNlbGYsIHdpdGhvdXQgZG9pbmcgYW55IHVud2FudGVkIHJvdW5kaW5nCisgICAgICAgICAgICBzZWxmID0gc2VsZi5jb3B5X25lZ2F0ZSgpCisKKyAgICAgICAgIyAwKiooK3ZlIG9yIEluZik9IDA7IDAqKigtdmUgb3IgLUluZikgPSBJbmZpbml0eQorICAgICAgICBpZiBub3Qgc2VsZjoKKyAgICAgICAgICAgIGlmIG90aGVyLl9zaWduID09IDA6CisgICAgICAgICAgICAgICAgcmV0dXJuIF9kZWNfZnJvbV90cmlwbGUocmVzdWx0X3NpZ24sICcwJywgMCkKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgcmV0dXJuIF9TaWduZWRJbmZpbml0eVtyZXN1bHRfc2lnbl0KKworICAgICAgICAjIEluZioqKCt2ZSBvciBJbmYpID0gSW5mOyBJbmYqKigtdmUgb3IgLUluZikgPSAwCisgICAgICAgIGlmIHNlbGYuX2lzaW5maW5pdHkoKToKKyAgICAgICAgICAgIGlmIG90aGVyLl9zaWduID09IDA6CisgICAgICAgICAgICAgICAgcmV0dXJuIF9TaWduZWRJbmZpbml0eVtyZXN1bHRfc2lnbl0KKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgcmV0dXJuIF9kZWNfZnJvbV90cmlwbGUocmVzdWx0X3NpZ24sICcwJywgMCkKKworICAgICAgICAjIDEqKm90aGVyID0gMSwgYnV0IHRoZSBjaG9pY2Ugb2YgZXhwb25lbnQgYW5kIHRoZSBmbGFncworICAgICAgICAjIGRlcGVuZCBvbiB0aGUgZXhwb25lbnQgb2Ygc2VsZiwgYW5kIG9uIHdoZXRoZXIgb3RoZXIgaXMgYQorICAgICAgICAjIHBvc2l0aXZlIGludGVnZXIsIGEgbmVnYXRpdmUgaW50ZWdlciwgb3IgbmVpdGhlcgorICAgICAgICBpZiBzZWxmID09IF9PbmU6CisgICAgICAgICAgICBpZiBvdGhlci5faXNpbnRlZ2VyKCk6CisgICAgICAgICAgICAgICAgIyBleHAgPSBtYXgoc2VsZi5fZXhwKm1heChpbnQob3RoZXIpLCAwKSwKKyAgICAgICAgICAgICAgICAjIDEtY29udGV4dC5wcmVjKSBidXQgZXZhbHVhdGluZyBpbnQob3RoZXIpIGRpcmVjdGx5CisgICAgICAgICAgICAgICAgIyBpcyBkYW5nZXJvdXMgdW50aWwgd2Uga25vdyBvdGhlciBpcyBzbWFsbCAob3RoZXIKKyAgICAgICAgICAgICAgICAjIGNvdWxkIGJlIDFlOTk5OTk5OTk5KQorICAgICAgICAgICAgICAgIGlmIG90aGVyLl9zaWduID09IDE6CisgICAgICAgICAgICAgICAgICAgIG11bHRpcGxpZXIgPSAwCisgICAgICAgICAgICAgICAgZWxpZiBvdGhlciA+IGNvbnRleHQucHJlYzoKKyAgICAgICAgICAgICAgICAgICAgbXVsdGlwbGllciA9IGNvbnRleHQucHJlYworICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgIG11bHRpcGxpZXIgPSBpbnQob3RoZXIpCisKKyAgICAgICAgICAgICAgICBleHAgPSBzZWxmLl9leHAgKiBtdWx0aXBsaWVyCisgICAgICAgICAgICAgICAgaWYgZXhwIDwgMS1jb250ZXh0LnByZWM6CisgICAgICAgICAgICAgICAgICAgIGV4cCA9IDEtY29udGV4dC5wcmVjCisgICAgICAgICAgICAgICAgICAgIGNvbnRleHQuX3JhaXNlX2Vycm9yKFJvdW5kZWQpCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIGNvbnRleHQuX3JhaXNlX2Vycm9yKEluZXhhY3QpCisgICAgICAgICAgICAgICAgY29udGV4dC5fcmFpc2VfZXJyb3IoUm91bmRlZCkKKyAgICAgICAgICAgICAgICBleHAgPSAxLWNvbnRleHQucHJlYworCisgICAgICAgICAgICByZXR1cm4gX2RlY19mcm9tX3RyaXBsZShyZXN1bHRfc2lnbiwgJzEnKycwJyotZXhwLCBleHApCisKKyAgICAgICAgIyBjb21wdXRlIGFkanVzdGVkIGV4cG9uZW50IG9mIHNlbGYKKyAgICAgICAgc2VsZl9hZGogPSBzZWxmLmFkanVzdGVkKCkKKworICAgICAgICAjIHNlbGYgKiogaW5maW5pdHkgaXMgaW5maW5pdHkgaWYgc2VsZiA+IDEsIDAgaWYgc2VsZiA8IDEKKyAgICAgICAgIyBzZWxmICoqIC1pbmZpbml0eSBpcyBpbmZpbml0eSBpZiBzZWxmIDwgMSwgMCBpZiBzZWxmID4gMQorICAgICAgICBpZiBvdGhlci5faXNpbmZpbml0eSgpOgorICAgICAgICAgICAgaWYgKG90aGVyLl9zaWduID09IDApID09IChzZWxmX2FkaiA8IDApOgorICAgICAgICAgICAgICAgIHJldHVybiBfZGVjX2Zyb21fdHJpcGxlKHJlc3VsdF9zaWduLCAnMCcsIDApCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIHJldHVybiBfU2lnbmVkSW5maW5pdHlbcmVzdWx0X3NpZ25dCisKKyAgICAgICAgIyBmcm9tIGhlcmUgb24sIHRoZSByZXN1bHQgYWx3YXlzIGdvZXMgdGhyb3VnaCB0aGUgY2FsbAorICAgICAgICAjIHRvIF9maXggYXQgdGhlIGVuZCBvZiB0aGlzIGZ1bmN0aW9uLgorICAgICAgICBhbnMgPSBOb25lCisgICAgICAgIGV4YWN0ID0gRmFsc2UKKworICAgICAgICAjIGNydWRlIHRlc3QgdG8gY2F0Y2ggY2FzZXMgb2YgZXh0cmVtZSBvdmVyZmxvdy91bmRlcmZsb3cuICBJZgorICAgICAgICAjIGxvZzEwKHNlbGYpKm90aGVyID49IDEwKipib3VuZCBhbmQgYm91bmQgPj0gbGVuKHN0cihFbWF4KSkKKyAgICAgICAgIyB0aGVuIDEwKipib3VuZCA+PSAxMCoqbGVuKHN0cihFbWF4KSkgPj0gRW1heCsxIGFuZCBoZW5jZQorICAgICAgICAjIHNlbGYqKm90aGVyID49IDEwKiooRW1heCsxKSwgc28gb3ZlcmZsb3cgb2NjdXJzLiAgVGhlIHRlc3QKKyAgICAgICAgIyBmb3IgdW5kZXJmbG93IGlzIHNpbWlsYXIuCisgICAgICAgIGJvdW5kID0gc2VsZi5fbG9nMTBfZXhwX2JvdW5kKCkgKyBvdGhlci5hZGp1c3RlZCgpCisgICAgICAgIGlmIChzZWxmX2FkaiA+PSAwKSA9PSAob3RoZXIuX3NpZ24gPT0gMCk6CisgICAgICAgICAgICAjIHNlbGYgPiAxIGFuZCBvdGhlciArdmUsIG9yIHNlbGYgPCAxIGFuZCBvdGhlciAtdmUKKyAgICAgICAgICAgICMgcG9zc2liaWxpdHkgb2Ygb3ZlcmZsb3cKKyAgICAgICAgICAgIGlmIGJvdW5kID49IGxlbihzdHIoY29udGV4dC5FbWF4KSk6CisgICAgICAgICAgICAgICAgYW5zID0gX2RlY19mcm9tX3RyaXBsZShyZXN1bHRfc2lnbiwgJzEnLCBjb250ZXh0LkVtYXgrMSkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgICMgc2VsZiA+IDEgYW5kIG90aGVyIC12ZSwgb3Igc2VsZiA8IDEgYW5kIG90aGVyICt2ZQorICAgICAgICAgICAgIyBwb3NzaWJpbGl0eSBvZiB1bmRlcmZsb3cgdG8gMAorICAgICAgICAgICAgRXRpbnkgPSBjb250ZXh0LkV0aW55KCkKKyAgICAgICAgICAgIGlmIGJvdW5kID49IGxlbihzdHIoLUV0aW55KSk6CisgICAgICAgICAgICAgICAgYW5zID0gX2RlY19mcm9tX3RyaXBsZShyZXN1bHRfc2lnbiwgJzEnLCBFdGlueS0xKQorCisgICAgICAgICMgdHJ5IGZvciBhbiBleGFjdCByZXN1bHQgd2l0aCBwcmVjaXNpb24gKzEKKyAgICAgICAgaWYgYW5zIGlzIE5vbmU6CisgICAgICAgICAgICBhbnMgPSBzZWxmLl9wb3dlcl9leGFjdChvdGhlciwgY29udGV4dC5wcmVjICsgMSkKKyAgICAgICAgICAgIGlmIGFucyBpcyBub3QgTm9uZToKKyAgICAgICAgICAgICAgICBpZiByZXN1bHRfc2lnbiA9PSAxOgorICAgICAgICAgICAgICAgICAgICBhbnMgPSBfZGVjX2Zyb21fdHJpcGxlKDEsIGFucy5faW50LCBhbnMuX2V4cCkKKyAgICAgICAgICAgICAgICBleGFjdCA9IFRydWUKKworICAgICAgICAjIHVzdWFsIGNhc2U6IGluZXhhY3QgcmVzdWx0LCB4Kip5IGNvbXB1dGVkIGRpcmVjdGx5IGFzIGV4cCh5KmxvZyh4KSkKKyAgICAgICAgaWYgYW5zIGlzIE5vbmU6CisgICAgICAgICAgICBwID0gY29udGV4dC5wcmVjCisgICAgICAgICAgICB4ID0gX1dvcmtSZXAoc2VsZikKKyAgICAgICAgICAgIHhjLCB4ZSA9IHguaW50LCB4LmV4cAorICAgICAgICAgICAgeSA9IF9Xb3JrUmVwKG90aGVyKQorICAgICAgICAgICAgeWMsIHllID0geS5pbnQsIHkuZXhwCisgICAgICAgICAgICBpZiB5LnNpZ24gPT0gMToKKyAgICAgICAgICAgICAgICB5YyA9IC15YworCisgICAgICAgICAgICAjIGNvbXB1dGUgY29ycmVjdGx5IHJvdW5kZWQgcmVzdWx0OiAgc3RhcnQgd2l0aCBwcmVjaXNpb24gKzMsCisgICAgICAgICAgICAjIHRoZW4gaW5jcmVhc2UgcHJlY2lzaW9uIHVudGlsIHJlc3VsdCBpcyB1bmFtYmlndW91c2x5IHJvdW5kYWJsZQorICAgICAgICAgICAgZXh0cmEgPSAzCisgICAgICAgICAgICB3aGlsZSBUcnVlOgorICAgICAgICAgICAgICAgIGNvZWZmLCBleHAgPSBfZHBvd2VyKHhjLCB4ZSwgeWMsIHllLCBwK2V4dHJhKQorICAgICAgICAgICAgICAgIGlmIGNvZWZmICUgKDUqMTAqKihsZW4oc3RyKGNvZWZmKSktcC0xKSk6CisgICAgICAgICAgICAgICAgICAgIGJyZWFrCisgICAgICAgICAgICAgICAgZXh0cmEgKz0gMworCisgICAgICAgICAgICBhbnMgPSBfZGVjX2Zyb21fdHJpcGxlKHJlc3VsdF9zaWduLCBzdHIoY29lZmYpLCBleHApCisKKyAgICAgICAgIyB1bmxpa2UgZXhwLCBsbiBhbmQgbG9nMTAsIHRoZSBwb3dlciBmdW5jdGlvbiByZXNwZWN0cyB0aGUKKyAgICAgICAgIyByb3VuZGluZyBtb2RlOyBubyBuZWVkIHRvIHN3aXRjaCB0byBST1VORF9IQUxGX0VWRU4gaGVyZQorCisgICAgICAgICMgVGhlcmUncyBhIGRpZmZpY3VsdHkgaGVyZSB3aGVuICdvdGhlcicgaXMgbm90IGFuIGludGVnZXIgYW5kCisgICAgICAgICMgdGhlIHJlc3VsdCBpcyBleGFjdC4gIEluIHRoaXMgY2FzZSwgdGhlIHNwZWNpZmljYXRpb24KKyAgICAgICAgIyByZXF1aXJlcyB0aGF0IHRoZSBJbmV4YWN0IGZsYWcgYmUgcmFpc2VkIChpbiBzcGl0ZSBvZgorICAgICAgICAjIGV4YWN0bmVzcyksIGJ1dCBzaW5jZSB0aGUgcmVzdWx0IGlzIGV4YWN0IF9maXggd29uJ3QgZG8gdGhpcworICAgICAgICAjIGZvciB1cy4gIChDb3JyZXNwb25kaW5nbHksIHRoZSBVbmRlcmZsb3cgc2lnbmFsIHNob3VsZCBhbHNvCisgICAgICAgICMgYmUgcmFpc2VkIGZvciBzdWJub3JtYWwgcmVzdWx0cy4pICBXZSBjYW4ndCBkaXJlY3RseSByYWlzZQorICAgICAgICAjIHRoZXNlIHNpZ25hbHMgZWl0aGVyIGJlZm9yZSBvciBhZnRlciBjYWxsaW5nIF9maXgsIHNpbmNlCisgICAgICAgICMgdGhhdCB3b3VsZCB2aW9sYXRlIHRoZSBwcmVjZWRlbmNlIGZvciBzaWduYWxzLiAgU28gd2Ugd3JhcAorICAgICAgICAjIHRoZSAuX2ZpeCBjYWxsIGluIGEgdGVtcG9yYXJ5IGNvbnRleHQsIGFuZCByZXJhaXNlCisgICAgICAgICMgYWZ0ZXJ3YXJkcy4KKyAgICAgICAgaWYgZXhhY3QgYW5kIG5vdCBvdGhlci5faXNpbnRlZ2VyKCk6CisgICAgICAgICAgICAjIHBhZCB3aXRoIHplcm9zIHVwIHRvIGxlbmd0aCBjb250ZXh0LnByZWMrMSBpZiBuZWNlc3Nhcnk7IHRoaXMKKyAgICAgICAgICAgICMgZW5zdXJlcyB0aGF0IHRoZSBSb3VuZGVkIHNpZ25hbCB3aWxsIGJlIHJhaXNlZC4KKyAgICAgICAgICAgIGlmIGxlbihhbnMuX2ludCkgPD0gY29udGV4dC5wcmVjOgorICAgICAgICAgICAgICAgIGV4cGRpZmYgPSBjb250ZXh0LnByZWMgKyAxIC0gbGVuKGFucy5faW50KQorICAgICAgICAgICAgICAgIGFucyA9IF9kZWNfZnJvbV90cmlwbGUoYW5zLl9zaWduLCBhbnMuX2ludCsnMCcqZXhwZGlmZiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFucy5fZXhwLWV4cGRpZmYpCisKKyAgICAgICAgICAgICMgY3JlYXRlIGEgY29weSBvZiB0aGUgY3VycmVudCBjb250ZXh0LCB3aXRoIGNsZWFyZWQgZmxhZ3MvdHJhcHMKKyAgICAgICAgICAgIG5ld2NvbnRleHQgPSBjb250ZXh0LmNvcHkoKQorICAgICAgICAgICAgbmV3Y29udGV4dC5jbGVhcl9mbGFncygpCisgICAgICAgICAgICBmb3IgZXhjZXB0aW9uIGluIF9zaWduYWxzOgorICAgICAgICAgICAgICAgIG5ld2NvbnRleHQudHJhcHNbZXhjZXB0aW9uXSA9IDAKKworICAgICAgICAgICAgIyByb3VuZCBpbiB0aGUgbmV3IGNvbnRleHQKKyAgICAgICAgICAgIGFucyA9IGFucy5fZml4KG5ld2NvbnRleHQpCisKKyAgICAgICAgICAgICMgcmFpc2UgSW5leGFjdCwgYW5kIGlmIG5lY2Vzc2FyeSwgVW5kZXJmbG93CisgICAgICAgICAgICBuZXdjb250ZXh0Ll9yYWlzZV9lcnJvcihJbmV4YWN0KQorICAgICAgICAgICAgaWYgbmV3Y29udGV4dC5mbGFnc1tTdWJub3JtYWxdOgorICAgICAgICAgICAgICAgIG5ld2NvbnRleHQuX3JhaXNlX2Vycm9yKFVuZGVyZmxvdykKKworICAgICAgICAgICAgIyBwcm9wYWdhdGUgc2lnbmFscyB0byB0aGUgb3JpZ2luYWwgY29udGV4dDsgX2ZpeCBjb3VsZAorICAgICAgICAgICAgIyBoYXZlIHJhaXNlZCBhbnkgb2YgT3ZlcmZsb3csIFVuZGVyZmxvdywgU3Vibm9ybWFsLAorICAgICAgICAgICAgIyBJbmV4YWN0LCBSb3VuZGVkLCBDbGFtcGVkLiAgT3ZlcmZsb3cgbmVlZHMgdGhlIGNvcnJlY3QKKyAgICAgICAgICAgICMgYXJndW1lbnRzLiAgTm90ZSB0aGF0IHRoZSBvcmRlciBvZiB0aGUgZXhjZXB0aW9ucyBpcworICAgICAgICAgICAgIyBpbXBvcnRhbnQgaGVyZS4KKyAgICAgICAgICAgIGlmIG5ld2NvbnRleHQuZmxhZ3NbT3ZlcmZsb3ddOgorICAgICAgICAgICAgICAgIGNvbnRleHQuX3JhaXNlX2Vycm9yKE92ZXJmbG93LCAnYWJvdmUgRW1heCcsIGFucy5fc2lnbikKKyAgICAgICAgICAgIGZvciBleGNlcHRpb24gaW4gVW5kZXJmbG93LCBTdWJub3JtYWwsIEluZXhhY3QsIFJvdW5kZWQsIENsYW1wZWQ6CisgICAgICAgICAgICAgICAgaWYgbmV3Y29udGV4dC5mbGFnc1tleGNlcHRpb25dOgorICAgICAgICAgICAgICAgICAgICBjb250ZXh0Ll9yYWlzZV9lcnJvcihleGNlcHRpb24pCisKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGFucyA9IGFucy5fZml4KGNvbnRleHQpCisKKyAgICAgICAgcmV0dXJuIGFucworCisgICAgZGVmIF9fcnBvd19fKHNlbGYsIG90aGVyLCBjb250ZXh0PU5vbmUpOgorICAgICAgICAiIiJTd2FwcyBzZWxmL290aGVyIGFuZCByZXR1cm5zIF9fcG93X18uIiIiCisgICAgICAgIG90aGVyID0gX2NvbnZlcnRfb3RoZXIob3RoZXIpCisgICAgICAgIGlmIG90aGVyIGlzIE5vdEltcGxlbWVudGVkOgorICAgICAgICAgICAgcmV0dXJuIG90aGVyCisgICAgICAgIHJldHVybiBvdGhlci5fX3Bvd19fKHNlbGYsIGNvbnRleHQ9Y29udGV4dCkKKworICAgIGRlZiBub3JtYWxpemUoc2VsZiwgY29udGV4dD1Ob25lKToKKyAgICAgICAgIiIiTm9ybWFsaXplLSBzdHJpcCB0cmFpbGluZyAwcywgY2hhbmdlIGFueXRoaW5nIGVxdWFsIHRvIDAgdG8gMGUwIiIiCisKKyAgICAgICAgaWYgY29udGV4dCBpcyBOb25lOgorICAgICAgICAgICAgY29udGV4dCA9IGdldGNvbnRleHQoKQorCisgICAgICAgIGlmIHNlbGYuX2lzX3NwZWNpYWw6CisgICAgICAgICAgICBhbnMgPSBzZWxmLl9jaGVja19uYW5zKGNvbnRleHQ9Y29udGV4dCkKKyAgICAgICAgICAgIGlmIGFuczoKKyAgICAgICAgICAgICAgICByZXR1cm4gYW5zCisKKyAgICAgICAgZHVwID0gc2VsZi5fZml4KGNvbnRleHQpCisgICAgICAgIGlmIGR1cC5faXNpbmZpbml0eSgpOgorICAgICAgICAgICAgcmV0dXJuIGR1cAorCisgICAgICAgIGlmIG5vdCBkdXA6CisgICAgICAgICAgICByZXR1cm4gX2RlY19mcm9tX3RyaXBsZShkdXAuX3NpZ24sICcwJywgMCkKKyAgICAgICAgZXhwX21heCA9IFtjb250ZXh0LkVtYXgsIGNvbnRleHQuRXRvcCgpXVtjb250ZXh0LmNsYW1wXQorICAgICAgICBlbmQgPSBsZW4oZHVwLl9pbnQpCisgICAgICAgIGV4cCA9IGR1cC5fZXhwCisgICAgICAgIHdoaWxlIGR1cC5faW50W2VuZC0xXSA9PSAnMCcgYW5kIGV4cCA8IGV4cF9tYXg6CisgICAgICAgICAgICBleHAgKz0gMQorICAgICAgICAgICAgZW5kIC09IDEKKyAgICAgICAgcmV0dXJuIF9kZWNfZnJvbV90cmlwbGUoZHVwLl9zaWduLCBkdXAuX2ludFs6ZW5kXSwgZXhwKQorCisgICAgZGVmIHF1YW50aXplKHNlbGYsIGV4cCwgcm91bmRpbmc9Tm9uZSwgY29udGV4dD1Ob25lKToKKyAgICAgICAgIiIiUXVhbnRpemUgc2VsZiBzbyBpdHMgZXhwb25lbnQgaXMgdGhlIHNhbWUgYXMgdGhhdCBvZiBleHAuCisKKyAgICAgICAgU2ltaWxhciB0byBzZWxmLl9yZXNjYWxlKGV4cC5fZXhwKSBidXQgd2l0aCBlcnJvciBjaGVja2luZy4KKyAgICAgICAgIiIiCisgICAgICAgIGV4cCA9IF9jb252ZXJ0X290aGVyKGV4cCwgcmFpc2VpdD1UcnVlKQorCisgICAgICAgIGlmIGNvbnRleHQgaXMgTm9uZToKKyAgICAgICAgICAgIGNvbnRleHQgPSBnZXRjb250ZXh0KCkKKyAgICAgICAgaWYgcm91bmRpbmcgaXMgTm9uZToKKyAgICAgICAgICAgIHJvdW5kaW5nID0gY29udGV4dC5yb3VuZGluZworCisgICAgICAgIGlmIHNlbGYuX2lzX3NwZWNpYWwgb3IgZXhwLl9pc19zcGVjaWFsOgorICAgICAgICAgICAgYW5zID0gc2VsZi5fY2hlY2tfbmFucyhleHAsIGNvbnRleHQpCisgICAgICAgICAgICBpZiBhbnM6CisgICAgICAgICAgICAgICAgcmV0dXJuIGFucworCisgICAgICAgICAgICBpZiBleHAuX2lzaW5maW5pdHkoKSBvciBzZWxmLl9pc2luZmluaXR5KCk6CisgICAgICAgICAgICAgICAgaWYgZXhwLl9pc2luZmluaXR5KCkgYW5kIHNlbGYuX2lzaW5maW5pdHkoKToKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIERlY2ltYWwoc2VsZikgICMgaWYgYm90aCBhcmUgaW5mLCBpdCBpcyBPSworICAgICAgICAgICAgICAgIHJldHVybiBjb250ZXh0Ll9yYWlzZV9lcnJvcihJbnZhbGlkT3BlcmF0aW9uLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdxdWFudGl6ZSB3aXRoIG9uZSBJTkYnKQorCisgICAgICAgICMgZXhwLl9leHAgc2hvdWxkIGJlIGJldHdlZW4gRXRpbnkgYW5kIEVtYXgKKyAgICAgICAgaWYgbm90IChjb250ZXh0LkV0aW55KCkgPD0gZXhwLl9leHAgPD0gY29udGV4dC5FbWF4KToKKyAgICAgICAgICAgIHJldHVybiBjb250ZXh0Ll9yYWlzZV9lcnJvcihJbnZhbGlkT3BlcmF0aW9uLAorICAgICAgICAgICAgICAgICAgICd0YXJnZXQgZXhwb25lbnQgb3V0IG9mIGJvdW5kcyBpbiBxdWFudGl6ZScpCisKKyAgICAgICAgaWYgbm90IHNlbGY6CisgICAgICAgICAgICBhbnMgPSBfZGVjX2Zyb21fdHJpcGxlKHNlbGYuX3NpZ24sICcwJywgZXhwLl9leHApCisgICAgICAgICAgICByZXR1cm4gYW5zLl9maXgoY29udGV4dCkKKworICAgICAgICBzZWxmX2FkanVzdGVkID0gc2VsZi5hZGp1c3RlZCgpCisgICAgICAgIGlmIHNlbGZfYWRqdXN0ZWQgPiBjb250ZXh0LkVtYXg6CisgICAgICAgICAgICByZXR1cm4gY29udGV4dC5fcmFpc2VfZXJyb3IoSW52YWxpZE9wZXJhdGlvbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZXhwb25lbnQgb2YgcXVhbnRpemUgcmVzdWx0IHRvbyBsYXJnZSBmb3IgY3VycmVudCBjb250ZXh0JykKKyAgICAgICAgaWYgc2VsZl9hZGp1c3RlZCAtIGV4cC5fZXhwICsgMSA+IGNvbnRleHQucHJlYzoKKyAgICAgICAgICAgIHJldHVybiBjb250ZXh0Ll9yYWlzZV9lcnJvcihJbnZhbGlkT3BlcmF0aW9uLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdxdWFudGl6ZSByZXN1bHQgaGFzIHRvbyBtYW55IGRpZ2l0cyBmb3IgY3VycmVudCBjb250ZXh0JykKKworICAgICAgICBhbnMgPSBzZWxmLl9yZXNjYWxlKGV4cC5fZXhwLCByb3VuZGluZykKKyAgICAgICAgaWYgYW5zLmFkanVzdGVkKCkgPiBjb250ZXh0LkVtYXg6CisgICAgICAgICAgICByZXR1cm4gY29udGV4dC5fcmFpc2VfZXJyb3IoSW52YWxpZE9wZXJhdGlvbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZXhwb25lbnQgb2YgcXVhbnRpemUgcmVzdWx0IHRvbyBsYXJnZSBmb3IgY3VycmVudCBjb250ZXh0JykKKyAgICAgICAgaWYgbGVuKGFucy5faW50KSA+IGNvbnRleHQucHJlYzoKKyAgICAgICAgICAgIHJldHVybiBjb250ZXh0Ll9yYWlzZV9lcnJvcihJbnZhbGlkT3BlcmF0aW9uLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdxdWFudGl6ZSByZXN1bHQgaGFzIHRvbyBtYW55IGRpZ2l0cyBmb3IgY3VycmVudCBjb250ZXh0JykKKworICAgICAgICAjIHJhaXNlIGFwcHJvcHJpYXRlIGZsYWdzCisgICAgICAgIGlmIGFucyBhbmQgYW5zLmFkanVzdGVkKCkgPCBjb250ZXh0LkVtaW46CisgICAgICAgICAgICBjb250ZXh0Ll9yYWlzZV9lcnJvcihTdWJub3JtYWwpCisgICAgICAgIGlmIGFucy5fZXhwID4gc2VsZi5fZXhwOgorICAgICAgICAgICAgaWYgYW5zICE9IHNlbGY6CisgICAgICAgICAgICAgICAgY29udGV4dC5fcmFpc2VfZXJyb3IoSW5leGFjdCkKKyAgICAgICAgICAgIGNvbnRleHQuX3JhaXNlX2Vycm9yKFJvdW5kZWQpCisKKyAgICAgICAgIyBjYWxsIHRvIGZpeCB0YWtlcyBjYXJlIG9mIGFueSBuZWNlc3NhcnkgZm9sZGRvd24sIGFuZAorICAgICAgICAjIHNpZ25hbHMgQ2xhbXBlZCBpZiBuZWNlc3NhcnkKKyAgICAgICAgYW5zID0gYW5zLl9maXgoY29udGV4dCkKKyAgICAgICAgcmV0dXJuIGFucworCisgICAgZGVmIHNhbWVfcXVhbnR1bShzZWxmLCBvdGhlciwgY29udGV4dD1Ob25lKToKKyAgICAgICAgIiIiUmV0dXJuIFRydWUgaWYgc2VsZiBhbmQgb3RoZXIgaGF2ZSB0aGUgc2FtZSBleHBvbmVudDsgb3RoZXJ3aXNlCisgICAgICAgIHJldHVybiBGYWxzZS4KKworICAgICAgICBJZiBlaXRoZXIgb3BlcmFuZCBpcyBhIHNwZWNpYWwgdmFsdWUsIHRoZSBmb2xsb3dpbmcgcnVsZXMgYXJlIHVzZWQ6CisgICAgICAgICAgICogcmV0dXJuIFRydWUgaWYgYm90aCBvcGVyYW5kcyBhcmUgaW5maW5pdGllcworICAgICAgICAgICAqIHJldHVybiBUcnVlIGlmIGJvdGggb3BlcmFuZHMgYXJlIE5hTnMKKyAgICAgICAgICAgKiBvdGhlcndpc2UsIHJldHVybiBGYWxzZS4KKyAgICAgICAgIiIiCisgICAgICAgIG90aGVyID0gX2NvbnZlcnRfb3RoZXIob3RoZXIsIHJhaXNlaXQ9VHJ1ZSkKKyAgICAgICAgaWYgc2VsZi5faXNfc3BlY2lhbCBvciBvdGhlci5faXNfc3BlY2lhbDoKKyAgICAgICAgICAgIHJldHVybiAoc2VsZi5pc19uYW4oKSBhbmQgb3RoZXIuaXNfbmFuKCkgb3IKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5pc19pbmZpbml0ZSgpIGFuZCBvdGhlci5pc19pbmZpbml0ZSgpKQorICAgICAgICByZXR1cm4gc2VsZi5fZXhwID09IG90aGVyLl9leHAKKworICAgIGRlZiBfcmVzY2FsZShzZWxmLCBleHAsIHJvdW5kaW5nKToKKyAgICAgICAgIiIiUmVzY2FsZSBzZWxmIHNvIHRoYXQgdGhlIGV4cG9uZW50IGlzIGV4cCwgZWl0aGVyIGJ5IHBhZGRpbmcgd2l0aCB6ZXJvcworICAgICAgICBvciBieSB0cnVuY2F0aW5nIGRpZ2l0cywgdXNpbmcgdGhlIGdpdmVuIHJvdW5kaW5nIG1vZGUuCisKKyAgICAgICAgU3BlY2lhbHMgYXJlIHJldHVybmVkIHdpdGhvdXQgY2hhbmdlLiAgVGhpcyBvcGVyYXRpb24gaXMKKyAgICAgICAgcXVpZXQ6IGl0IHJhaXNlcyBubyBmbGFncywgYW5kIHVzZXMgbm8gaW5mb3JtYXRpb24gZnJvbSB0aGUKKyAgICAgICAgY29udGV4dC4KKworICAgICAgICBleHAgPSBleHAgdG8gc2NhbGUgdG8gKGFuIGludGVnZXIpCisgICAgICAgIHJvdW5kaW5nID0gcm91bmRpbmcgbW9kZQorICAgICAgICAiIiIKKyAgICAgICAgaWYgc2VsZi5faXNfc3BlY2lhbDoKKyAgICAgICAgICAgIHJldHVybiBEZWNpbWFsKHNlbGYpCisgICAgICAgIGlmIG5vdCBzZWxmOgorICAgICAgICAgICAgcmV0dXJuIF9kZWNfZnJvbV90cmlwbGUoc2VsZi5fc2lnbiwgJzAnLCBleHApCisKKyAgICAgICAgaWYgc2VsZi5fZXhwID49IGV4cDoKKyAgICAgICAgICAgICMgcGFkIGFuc3dlciB3aXRoIHplcm9zIGlmIG5lY2Vzc2FyeQorICAgICAgICAgICAgcmV0dXJuIF9kZWNfZnJvbV90cmlwbGUoc2VsZi5fc2lnbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9pbnQgKyAnMCcqKHNlbGYuX2V4cCAtIGV4cCksIGV4cCkKKworICAgICAgICAjIHRvbyBtYW55IGRpZ2l0czsgcm91bmQgYW5kIGxvc2UgZGF0YS4gIElmIHNlbGYuYWRqdXN0ZWQoKSA8CisgICAgICAgICMgZXhwLTEsIHJlcGxhY2Ugc2VsZiBieSAxMCoqKGV4cC0xKSBiZWZvcmUgcm91bmRpbmcKKyAgICAgICAgZGlnaXRzID0gbGVuKHNlbGYuX2ludCkgKyBzZWxmLl9leHAgLSBleHAKKyAgICAgICAgaWYgZGlnaXRzIDwgMDoKKyAgICAgICAgICAgIHNlbGYgPSBfZGVjX2Zyb21fdHJpcGxlKHNlbGYuX3NpZ24sICcxJywgZXhwLTEpCisgICAgICAgICAgICBkaWdpdHMgPSAwCisgICAgICAgIHRoaXNfZnVuY3Rpb24gPSBzZWxmLl9waWNrX3JvdW5kaW5nX2Z1bmN0aW9uW3JvdW5kaW5nXQorICAgICAgICBjaGFuZ2VkID0gdGhpc19mdW5jdGlvbihzZWxmLCBkaWdpdHMpCisgICAgICAgIGNvZWZmID0gc2VsZi5faW50WzpkaWdpdHNdIG9yICcwJworICAgICAgICBpZiBjaGFuZ2VkID09IDE6CisgICAgICAgICAgICBjb2VmZiA9IHN0cihpbnQoY29lZmYpKzEpCisgICAgICAgIHJldHVybiBfZGVjX2Zyb21fdHJpcGxlKHNlbGYuX3NpZ24sIGNvZWZmLCBleHApCisKKyAgICBkZWYgX3JvdW5kKHNlbGYsIHBsYWNlcywgcm91bmRpbmcpOgorICAgICAgICAiIiJSb3VuZCBhIG5vbnplcm8sIG5vbnNwZWNpYWwgRGVjaW1hbCB0byBhIGZpeGVkIG51bWJlciBvZgorICAgICAgICBzaWduaWZpY2FudCBmaWd1cmVzLCB1c2luZyB0aGUgZ2l2ZW4gcm91bmRpbmcgbW9kZS4KKworICAgICAgICBJbmZpbml0aWVzLCBOYU5zIGFuZCB6ZXJvcyBhcmUgcmV0dXJuZWQgdW5hbHRlcmVkLgorCisgICAgICAgIFRoaXMgb3BlcmF0aW9uIGlzIHF1aWV0OiBpdCByYWlzZXMgbm8gZmxhZ3MsIGFuZCB1c2VzIG5vCisgICAgICAgIGluZm9ybWF0aW9uIGZyb20gdGhlIGNvbnRleHQuCisKKyAgICAgICAgIiIiCisgICAgICAgIGlmIHBsYWNlcyA8PSAwOgorICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigiYXJndW1lbnQgc2hvdWxkIGJlIGF0IGxlYXN0IDEgaW4gX3JvdW5kIikKKyAgICAgICAgaWYgc2VsZi5faXNfc3BlY2lhbCBvciBub3Qgc2VsZjoKKyAgICAgICAgICAgIHJldHVybiBEZWNpbWFsKHNlbGYpCisgICAgICAgIGFucyA9IHNlbGYuX3Jlc2NhbGUoc2VsZi5hZGp1c3RlZCgpKzEtcGxhY2VzLCByb3VuZGluZykKKyAgICAgICAgIyBpdCBjYW4gaGFwcGVuIHRoYXQgdGhlIHJlc2NhbGUgYWx0ZXJzIHRoZSBhZGp1c3RlZCBleHBvbmVudDsKKyAgICAgICAgIyBmb3IgZXhhbXBsZSB3aGVuIHJvdW5kaW5nIDk5Ljk3IHRvIDMgc2lnbmlmaWNhbnQgZmlndXJlcy4KKyAgICAgICAgIyBXaGVuIHRoaXMgaGFwcGVucyB3ZSBlbmQgdXAgd2l0aCBhbiBleHRyYSAwIGF0IHRoZSBlbmQgb2YKKyAgICAgICAgIyB0aGUgbnVtYmVyOyBhIHNlY29uZCByZXNjYWxlIGZpeGVzIHRoaXMuCisgICAgICAgIGlmIGFucy5hZGp1c3RlZCgpICE9IHNlbGYuYWRqdXN0ZWQoKToKKyAgICAgICAgICAgIGFucyA9IGFucy5fcmVzY2FsZShhbnMuYWRqdXN0ZWQoKSsxLXBsYWNlcywgcm91bmRpbmcpCisgICAgICAgIHJldHVybiBhbnMKKworICAgIGRlZiB0b19pbnRlZ3JhbF9leGFjdChzZWxmLCByb3VuZGluZz1Ob25lLCBjb250ZXh0PU5vbmUpOgorICAgICAgICAiIiJSb3VuZHMgdG8gYSBuZWFyYnkgaW50ZWdlci4KKworICAgICAgICBJZiBubyByb3VuZGluZyBtb2RlIGlzIHNwZWNpZmllZCwgdGFrZSB0aGUgcm91bmRpbmcgbW9kZSBmcm9tCisgICAgICAgIHRoZSBjb250ZXh0LiAgVGhpcyBtZXRob2QgcmFpc2VzIHRoZSBSb3VuZGVkIGFuZCBJbmV4YWN0IGZsYWdzCisgICAgICAgIHdoZW4gYXBwcm9wcmlhdGUuCisKKyAgICAgICAgU2VlIGFsc286IHRvX2ludGVncmFsX3ZhbHVlLCB3aGljaCBkb2VzIGV4YWN0bHkgdGhlIHNhbWUgYXMKKyAgICAgICAgdGhpcyBtZXRob2QgZXhjZXB0IHRoYXQgaXQgZG9lc24ndCByYWlzZSBJbmV4YWN0IG9yIFJvdW5kZWQuCisgICAgICAgICIiIgorICAgICAgICBpZiBzZWxmLl9pc19zcGVjaWFsOgorICAgICAgICAgICAgYW5zID0gc2VsZi5fY2hlY2tfbmFucyhjb250ZXh0PWNvbnRleHQpCisgICAgICAgICAgICBpZiBhbnM6CisgICAgICAgICAgICAgICAgcmV0dXJuIGFucworICAgICAgICAgICAgcmV0dXJuIERlY2ltYWwoc2VsZikKKyAgICAgICAgaWYgc2VsZi5fZXhwID49IDA6CisgICAgICAgICAgICByZXR1cm4gRGVjaW1hbChzZWxmKQorICAgICAgICBpZiBub3Qgc2VsZjoKKyAgICAgICAgICAgIHJldHVybiBfZGVjX2Zyb21fdHJpcGxlKHNlbGYuX3NpZ24sICcwJywgMCkKKyAgICAgICAgaWYgY29udGV4dCBpcyBOb25lOgorICAgICAgICAgICAgY29udGV4dCA9IGdldGNvbnRleHQoKQorICAgICAgICBpZiByb3VuZGluZyBpcyBOb25lOgorICAgICAgICAgICAgcm91bmRpbmcgPSBjb250ZXh0LnJvdW5kaW5nCisgICAgICAgIGFucyA9IHNlbGYuX3Jlc2NhbGUoMCwgcm91bmRpbmcpCisgICAgICAgIGlmIGFucyAhPSBzZWxmOgorICAgICAgICAgICAgY29udGV4dC5fcmFpc2VfZXJyb3IoSW5leGFjdCkKKyAgICAgICAgY29udGV4dC5fcmFpc2VfZXJyb3IoUm91bmRlZCkKKyAgICAgICAgcmV0dXJuIGFucworCisgICAgZGVmIHRvX2ludGVncmFsX3ZhbHVlKHNlbGYsIHJvdW5kaW5nPU5vbmUsIGNvbnRleHQ9Tm9uZSk6CisgICAgICAgICIiIlJvdW5kcyB0byB0aGUgbmVhcmVzdCBpbnRlZ2VyLCB3aXRob3V0IHJhaXNpbmcgaW5leGFjdCwgcm91bmRlZC4iIiIKKyAgICAgICAgaWYgY29udGV4dCBpcyBOb25lOgorICAgICAgICAgICAgY29udGV4dCA9IGdldGNvbnRleHQoKQorICAgICAgICBpZiByb3VuZGluZyBpcyBOb25lOgorICAgICAgICAgICAgcm91bmRpbmcgPSBjb250ZXh0LnJvdW5kaW5nCisgICAgICAgIGlmIHNlbGYuX2lzX3NwZWNpYWw6CisgICAgICAgICAgICBhbnMgPSBzZWxmLl9jaGVja19uYW5zKGNvbnRleHQ9Y29udGV4dCkKKyAgICAgICAgICAgIGlmIGFuczoKKyAgICAgICAgICAgICAgICByZXR1cm4gYW5zCisgICAgICAgICAgICByZXR1cm4gRGVjaW1hbChzZWxmKQorICAgICAgICBpZiBzZWxmLl9leHAgPj0gMDoKKyAgICAgICAgICAgIHJldHVybiBEZWNpbWFsKHNlbGYpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICByZXR1cm4gc2VsZi5fcmVzY2FsZSgwLCByb3VuZGluZykKKworICAgICMgdGhlIG1ldGhvZCBuYW1lIGNoYW5nZWQsIGJ1dCB3ZSBwcm92aWRlIGFsc28gdGhlIG9sZCBvbmUsIGZvciBjb21wYXRpYmlsaXR5CisgICAgdG9faW50ZWdyYWwgPSB0b19pbnRlZ3JhbF92YWx1ZQorCisgICAgZGVmIHNxcnQoc2VsZiwgY29udGV4dD1Ob25lKToKKyAgICAgICAgIiIiUmV0dXJuIHRoZSBzcXVhcmUgcm9vdCBvZiBzZWxmLiIiIgorICAgICAgICBpZiBjb250ZXh0IGlzIE5vbmU6CisgICAgICAgICAgICBjb250ZXh0ID0gZ2V0Y29udGV4dCgpCisKKyAgICAgICAgaWYgc2VsZi5faXNfc3BlY2lhbDoKKyAgICAgICAgICAgIGFucyA9IHNlbGYuX2NoZWNrX25hbnMoY29udGV4dD1jb250ZXh0KQorICAgICAgICAgICAgaWYgYW5zOgorICAgICAgICAgICAgICAgIHJldHVybiBhbnMKKworICAgICAgICAgICAgaWYgc2VsZi5faXNpbmZpbml0eSgpIGFuZCBzZWxmLl9zaWduID09IDA6CisgICAgICAgICAgICAgICAgcmV0dXJuIERlY2ltYWwoc2VsZikKKworICAgICAgICBpZiBub3Qgc2VsZjoKKyAgICAgICAgICAgICMgZXhwb25lbnQgPSBzZWxmLl9leHAgLy8gMi4gIHNxcnQoLTApID0gLTAKKyAgICAgICAgICAgIGFucyA9IF9kZWNfZnJvbV90cmlwbGUoc2VsZi5fc2lnbiwgJzAnLCBzZWxmLl9leHAgLy8gMikKKyAgICAgICAgICAgIHJldHVybiBhbnMuX2ZpeChjb250ZXh0KQorCisgICAgICAgIGlmIHNlbGYuX3NpZ24gPT0gMToKKyAgICAgICAgICAgIHJldHVybiBjb250ZXh0Ll9yYWlzZV9lcnJvcihJbnZhbGlkT3BlcmF0aW9uLCAnc3FydCgteCksIHggPiAwJykKKworICAgICAgICAjIEF0IHRoaXMgcG9pbnQgc2VsZiByZXByZXNlbnRzIGEgcG9zaXRpdmUgbnVtYmVyLiAgTGV0IHAgYmUKKyAgICAgICAgIyB0aGUgZGVzaXJlZCBwcmVjaXNpb24gYW5kIGV4cHJlc3Mgc2VsZiBpbiB0aGUgZm9ybSBjKjEwMCoqZQorICAgICAgICAjIHdpdGggYyBhIHBvc2l0aXZlIHJlYWwgbnVtYmVyIGFuZCBlIGFuIGludGVnZXIsIGMgYW5kIGUKKyAgICAgICAgIyBiZWluZyBjaG9zZW4gc28gdGhhdCAxMDAqKihwLTEpIDw9IGMgPCAxMDAqKnAuICBUaGVuIHRoZQorICAgICAgICAjIChleGFjdCkgc3F1YXJlIHJvb3Qgb2Ygc2VsZiBpcyBzcXJ0KGMpKjEwKiplLCBhbmQgMTAqKihwLTEpCisgICAgICAgICMgPD0gc3FydChjKSA8IDEwKipwLCBzbyB0aGUgY2xvc2VzdCByZXByZXNlbnRhYmxlIERlY2ltYWwgYXQKKyAgICAgICAgIyBwcmVjaXNpb24gcCBpcyBuKjEwKiplIHdoZXJlIG4gPSByb3VuZF9oYWxmX2V2ZW4oc3FydChjKSksCisgICAgICAgICMgdGhlIGNsb3Nlc3QgaW50ZWdlciB0byBzcXJ0KGMpIHdpdGggdGhlIGV2ZW4gaW50ZWdlciBjaG9zZW4KKyAgICAgICAgIyBpbiB0aGUgY2FzZSBvZiBhIHRpZS4KKyAgICAgICAgIworICAgICAgICAjIFRvIGVuc3VyZSBjb3JyZWN0IHJvdW5kaW5nIGluIGFsbCBjYXNlcywgd2UgdXNlIHRoZQorICAgICAgICAjIGZvbGxvd2luZyB0cmljazogd2UgY29tcHV0ZSB0aGUgc3F1YXJlIHJvb3QgdG8gYW4gZXh0cmEKKyAgICAgICAgIyBwbGFjZSAocHJlY2lzaW9uIHArMSBpbnN0ZWFkIG9mIHByZWNpc2lvbiBwKSwgcm91bmRpbmcgZG93bi4KKyAgICAgICAgIyBUaGVuLCBpZiB0aGUgcmVzdWx0IGlzIGluZXhhY3QgYW5kIGl0cyBsYXN0IGRpZ2l0IGlzIDAgb3IgNSwKKyAgICAgICAgIyB3ZSBpbmNyZWFzZSB0aGUgbGFzdCBkaWdpdCB0byAxIG9yIDYgcmVzcGVjdGl2ZWx5OyBpZiBpdCdzCisgICAgICAgICMgZXhhY3Qgd2UgbGVhdmUgdGhlIGxhc3QgZGlnaXQgYWxvbmUuICBOb3cgdGhlIGZpbmFsIHJvdW5kIHRvCisgICAgICAgICMgcCBwbGFjZXMgKG9yIGZld2VyIGluIHRoZSBjYXNlIG9mIHVuZGVyZmxvdykgd2lsbCByb3VuZAorICAgICAgICAjIGNvcnJlY3RseSBhbmQgcmFpc2UgdGhlIGFwcHJvcHJpYXRlIGZsYWdzLgorCisgICAgICAgICMgdXNlIGFuIGV4dHJhIGRpZ2l0IG9mIHByZWNpc2lvbgorICAgICAgICBwcmVjID0gY29udGV4dC5wcmVjKzEKKworICAgICAgICAjIHdyaXRlIGFyZ3VtZW50IGluIHRoZSBmb3JtIGMqMTAwKiplIHdoZXJlIGUgPSBzZWxmLl9leHAvLzIKKyAgICAgICAgIyBpcyB0aGUgJ2lkZWFsJyBleHBvbmVudCwgdG8gYmUgdXNlZCBpZiB0aGUgc3F1YXJlIHJvb3QgaXMKKyAgICAgICAgIyBleGFjdGx5IHJlcHJlc2VudGFibGUuICBsIGlzIHRoZSBudW1iZXIgb2YgJ2RpZ2l0cycgb2YgYyBpbgorICAgICAgICAjIGJhc2UgMTAwLCBzbyB0aGF0IDEwMCoqKGwtMSkgPD0gYyA8IDEwMCoqbC4KKyAgICAgICAgb3AgPSBfV29ya1JlcChzZWxmKQorICAgICAgICBlID0gb3AuZXhwID4+IDEKKyAgICAgICAgaWYgb3AuZXhwICYgMToKKyAgICAgICAgICAgIGMgPSBvcC5pbnQgKiAxMAorICAgICAgICAgICAgbCA9IChsZW4oc2VsZi5faW50KSA+PiAxKSArIDEKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGMgPSBvcC5pbnQKKyAgICAgICAgICAgIGwgPSBsZW4oc2VsZi5faW50KSsxID4+IDEKKworICAgICAgICAjIHJlc2NhbGUgc28gdGhhdCBjIGhhcyBleGFjdGx5IHByZWMgYmFzZSAxMDAgJ2RpZ2l0cycKKyAgICAgICAgc2hpZnQgPSBwcmVjLWwKKyAgICAgICAgaWYgc2hpZnQgPj0gMDoKKyAgICAgICAgICAgIGMgKj0gMTAwKipzaGlmdAorICAgICAgICAgICAgZXhhY3QgPSBUcnVlCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBjLCByZW1haW5kZXIgPSBkaXZtb2QoYywgMTAwKiotc2hpZnQpCisgICAgICAgICAgICBleGFjdCA9IG5vdCByZW1haW5kZXIKKyAgICAgICAgZSAtPSBzaGlmdAorCisgICAgICAgICMgZmluZCBuID0gZmxvb3Ioc3FydChjKSkgdXNpbmcgTmV3dG9uJ3MgbWV0aG9kCisgICAgICAgIG4gPSAxMCoqcHJlYworICAgICAgICB3aGlsZSBUcnVlOgorICAgICAgICAgICAgcSA9IGMvL24KKyAgICAgICAgICAgIGlmIG4gPD0gcToKKyAgICAgICAgICAgICAgICBicmVhaworICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBuID0gbiArIHEgPj4gMQorICAgICAgICBleGFjdCA9IGV4YWN0IGFuZCBuKm4gPT0gYworCisgICAgICAgIGlmIGV4YWN0OgorICAgICAgICAgICAgIyByZXN1bHQgaXMgZXhhY3Q7IHJlc2NhbGUgdG8gdXNlIGlkZWFsIGV4cG9uZW50IGUKKyAgICAgICAgICAgIGlmIHNoaWZ0ID49IDA6CisgICAgICAgICAgICAgICAgIyBhc3NlcnQgbiAlIDEwKipzaGlmdCA9PSAwCisgICAgICAgICAgICAgICAgbiAvLz0gMTAqKnNoaWZ0CisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIG4gKj0gMTAqKi1zaGlmdAorICAgICAgICAgICAgZSArPSBzaGlmdAorICAgICAgICBlbHNlOgorICAgICAgICAgICAgIyByZXN1bHQgaXMgbm90IGV4YWN0OyBmaXggbGFzdCBkaWdpdCBhcyBkZXNjcmliZWQgYWJvdmUKKyAgICAgICAgICAgIGlmIG4gJSA1ID09IDA6CisgICAgICAgICAgICAgICAgbiArPSAxCisKKyAgICAgICAgYW5zID0gX2RlY19mcm9tX3RyaXBsZSgwLCBzdHIobiksIGUpCisKKyAgICAgICAgIyByb3VuZCwgYW5kIGZpdCB0byBjdXJyZW50IGNvbnRleHQKKyAgICAgICAgY29udGV4dCA9IGNvbnRleHQuX3NoYWxsb3dfY29weSgpCisgICAgICAgIHJvdW5kaW5nID0gY29udGV4dC5fc2V0X3JvdW5kaW5nKFJPVU5EX0hBTEZfRVZFTikKKyAgICAgICAgYW5zID0gYW5zLl9maXgoY29udGV4dCkKKyAgICAgICAgY29udGV4dC5yb3VuZGluZyA9IHJvdW5kaW5nCisKKyAgICAgICAgcmV0dXJuIGFucworCisgICAgZGVmIG1heChzZWxmLCBvdGhlciwgY29udGV4dD1Ob25lKToKKyAgICAgICAgIiIiUmV0dXJucyB0aGUgbGFyZ2VyIHZhbHVlLgorCisgICAgICAgIExpa2UgbWF4KHNlbGYsIG90aGVyKSBleGNlcHQgaWYgb25lIGlzIG5vdCBhIG51bWJlciwgcmV0dXJucworICAgICAgICBOYU4gKGFuZCBzaWduYWxzIGlmIG9uZSBpcyBzTmFOKS4gIEFsc28gcm91bmRzLgorICAgICAgICAiIiIKKyAgICAgICAgb3RoZXIgPSBfY29udmVydF9vdGhlcihvdGhlciwgcmFpc2VpdD1UcnVlKQorCisgICAgICAgIGlmIGNvbnRleHQgaXMgTm9uZToKKyAgICAgICAgICAgIGNvbnRleHQgPSBnZXRjb250ZXh0KCkKKworICAgICAgICBpZiBzZWxmLl9pc19zcGVjaWFsIG9yIG90aGVyLl9pc19zcGVjaWFsOgorICAgICAgICAgICAgIyBJZiBvbmUgb3BlcmFuZCBpcyBhIHF1aWV0IE5hTiBhbmQgdGhlIG90aGVyIGlzIG51bWJlciwgdGhlbiB0aGUKKyAgICAgICAgICAgICMgbnVtYmVyIGlzIGFsd2F5cyByZXR1cm5lZAorICAgICAgICAgICAgc24gPSBzZWxmLl9pc25hbigpCisgICAgICAgICAgICBvbiA9IG90aGVyLl9pc25hbigpCisgICAgICAgICAgICBpZiBzbiBvciBvbjoKKyAgICAgICAgICAgICAgICBpZiBvbiA9PSAxIGFuZCBzbiA9PSAwOgorICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2VsZi5fZml4KGNvbnRleHQpCisgICAgICAgICAgICAgICAgaWYgc24gPT0gMSBhbmQgb24gPT0gMDoKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG90aGVyLl9maXgoY29udGV4dCkKKyAgICAgICAgICAgICAgICByZXR1cm4gc2VsZi5fY2hlY2tfbmFucyhvdGhlciwgY29udGV4dCkKKworICAgICAgICBjID0gc2VsZi5fY21wKG90aGVyKQorICAgICAgICBpZiBjID09IDA6CisgICAgICAgICAgICAjIElmIGJvdGggb3BlcmFuZHMgYXJlIGZpbml0ZSBhbmQgZXF1YWwgaW4gbnVtZXJpY2FsIHZhbHVlCisgICAgICAgICAgICAjIHRoZW4gYW4gb3JkZXJpbmcgaXMgYXBwbGllZDoKKyAgICAgICAgICAgICMKKyAgICAgICAgICAgICMgSWYgdGhlIHNpZ25zIGRpZmZlciB0aGVuIG1heCByZXR1cm5zIHRoZSBvcGVyYW5kIHdpdGggdGhlCisgICAgICAgICAgICAjIHBvc2l0aXZlIHNpZ24gYW5kIG1pbiByZXR1cm5zIHRoZSBvcGVyYW5kIHdpdGggdGhlIG5lZ2F0aXZlIHNpZ24KKyAgICAgICAgICAgICMKKyAgICAgICAgICAgICMgSWYgdGhlIHNpZ25zIGFyZSB0aGUgc2FtZSB0aGVuIHRoZSBleHBvbmVudCBpcyB1c2VkIHRvIHNlbGVjdAorICAgICAgICAgICAgIyB0aGUgcmVzdWx0LiAgVGhpcyBpcyBleGFjdGx5IHRoZSBvcmRlcmluZyB1c2VkIGluIGNvbXBhcmVfdG90YWwuCisgICAgICAgICAgICBjID0gc2VsZi5jb21wYXJlX3RvdGFsKG90aGVyKQorCisgICAgICAgIGlmIGMgPT0gLTE6CisgICAgICAgICAgICBhbnMgPSBvdGhlcgorICAgICAgICBlbHNlOgorICAgICAgICAgICAgYW5zID0gc2VsZgorCisgICAgICAgIHJldHVybiBhbnMuX2ZpeChjb250ZXh0KQorCisgICAgZGVmIG1pbihzZWxmLCBvdGhlciwgY29udGV4dD1Ob25lKToKKyAgICAgICAgIiIiUmV0dXJucyB0aGUgc21hbGxlciB2YWx1ZS4KKworICAgICAgICBMaWtlIG1pbihzZWxmLCBvdGhlcikgZXhjZXB0IGlmIG9uZSBpcyBub3QgYSBudW1iZXIsIHJldHVybnMKKyAgICAgICAgTmFOIChhbmQgc2lnbmFscyBpZiBvbmUgaXMgc05hTikuICBBbHNvIHJvdW5kcy4KKyAgICAgICAgIiIiCisgICAgICAgIG90aGVyID0gX2NvbnZlcnRfb3RoZXIob3RoZXIsIHJhaXNlaXQ9VHJ1ZSkKKworICAgICAgICBpZiBjb250ZXh0IGlzIE5vbmU6CisgICAgICAgICAgICBjb250ZXh0ID0gZ2V0Y29udGV4dCgpCisKKyAgICAgICAgaWYgc2VsZi5faXNfc3BlY2lhbCBvciBvdGhlci5faXNfc3BlY2lhbDoKKyAgICAgICAgICAgICMgSWYgb25lIG9wZXJhbmQgaXMgYSBxdWlldCBOYU4gYW5kIHRoZSBvdGhlciBpcyBudW1iZXIsIHRoZW4gdGhlCisgICAgICAgICAgICAjIG51bWJlciBpcyBhbHdheXMgcmV0dXJuZWQKKyAgICAgICAgICAgIHNuID0gc2VsZi5faXNuYW4oKQorICAgICAgICAgICAgb24gPSBvdGhlci5faXNuYW4oKQorICAgICAgICAgICAgaWYgc24gb3Igb246CisgICAgICAgICAgICAgICAgaWYgb24gPT0gMSBhbmQgc24gPT0gMDoKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNlbGYuX2ZpeChjb250ZXh0KQorICAgICAgICAgICAgICAgIGlmIHNuID09IDEgYW5kIG9uID09IDA6CisgICAgICAgICAgICAgICAgICAgIHJldHVybiBvdGhlci5fZml4KGNvbnRleHQpCisgICAgICAgICAgICAgICAgcmV0dXJuIHNlbGYuX2NoZWNrX25hbnMob3RoZXIsIGNvbnRleHQpCisKKyAgICAgICAgYyA9IHNlbGYuX2NtcChvdGhlcikKKyAgICAgICAgaWYgYyA9PSAwOgorICAgICAgICAgICAgYyA9IHNlbGYuY29tcGFyZV90b3RhbChvdGhlcikKKworICAgICAgICBpZiBjID09IC0xOgorICAgICAgICAgICAgYW5zID0gc2VsZgorICAgICAgICBlbHNlOgorICAgICAgICAgICAgYW5zID0gb3RoZXIKKworICAgICAgICByZXR1cm4gYW5zLl9maXgoY29udGV4dCkKKworICAgIGRlZiBfaXNpbnRlZ2VyKHNlbGYpOgorICAgICAgICAiIiJSZXR1cm5zIHdoZXRoZXIgc2VsZiBpcyBhbiBpbnRlZ2VyIiIiCisgICAgICAgIGlmIHNlbGYuX2lzX3NwZWNpYWw6CisgICAgICAgICAgICByZXR1cm4gRmFsc2UKKyAgICAgICAgaWYgc2VsZi5fZXhwID49IDA6CisgICAgICAgICAgICByZXR1cm4gVHJ1ZQorICAgICAgICByZXN0ID0gc2VsZi5faW50W3NlbGYuX2V4cDpdCisgICAgICAgIHJldHVybiByZXN0ID09ICcwJypsZW4ocmVzdCkKKworICAgIGRlZiBfaXNldmVuKHNlbGYpOgorICAgICAgICAiIiJSZXR1cm5zIFRydWUgaWYgc2VsZiBpcyBldmVuLiAgQXNzdW1lcyBzZWxmIGlzIGFuIGludGVnZXIuIiIiCisgICAgICAgIGlmIG5vdCBzZWxmIG9yIHNlbGYuX2V4cCA+IDA6CisgICAgICAgICAgICByZXR1cm4gVHJ1ZQorICAgICAgICByZXR1cm4gc2VsZi5faW50Wy0xK3NlbGYuX2V4cF0gaW4gJzAyNDY4JworCisgICAgZGVmIGFkanVzdGVkKHNlbGYpOgorICAgICAgICAiIiJSZXR1cm4gdGhlIGFkanVzdGVkIGV4cG9uZW50IG9mIHNlbGYiIiIKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgcmV0dXJuIHNlbGYuX2V4cCArIGxlbihzZWxmLl9pbnQpIC0gMQorICAgICAgICAjIElmIE5hTiBvciBJbmZpbml0eSwgc2VsZi5fZXhwIGlzIHN0cmluZworICAgICAgICBleGNlcHQgVHlwZUVycm9yOgorICAgICAgICAgICAgcmV0dXJuIDAKKworICAgIGRlZiBjYW5vbmljYWwoc2VsZik6CisgICAgICAgICIiIlJldHVybnMgdGhlIHNhbWUgRGVjaW1hbCBvYmplY3QuCisKKyAgICAgICAgQXMgd2UgZG8gbm90IGhhdmUgZGlmZmVyZW50IGVuY29kaW5ncyBmb3IgdGhlIHNhbWUgbnVtYmVyLCB0aGUKKyAgICAgICAgcmVjZWl2ZWQgb2JqZWN0IGFscmVhZHkgaXMgaW4gaXRzIGNhbm9uaWNhbCBmb3JtLgorICAgICAgICAiIiIKKyAgICAgICAgcmV0dXJuIHNlbGYKKworICAgIGRlZiBjb21wYXJlX3NpZ25hbChzZWxmLCBvdGhlciwgY29udGV4dD1Ob25lKToKKyAgICAgICAgIiIiQ29tcGFyZXMgc2VsZiB0byB0aGUgb3RoZXIgb3BlcmFuZCBudW1lcmljYWxseS4KKworICAgICAgICBJdCdzIHByZXR0eSBtdWNoIGxpa2UgY29tcGFyZSgpLCBidXQgYWxsIE5hTnMgc2lnbmFsLCB3aXRoIHNpZ25hbGluZworICAgICAgICBOYU5zIHRha2luZyBwcmVjZWRlbmNlIG92ZXIgcXVpZXQgTmFOcy4KKyAgICAgICAgIiIiCisgICAgICAgIG90aGVyID0gX2NvbnZlcnRfb3RoZXIob3RoZXIsIHJhaXNlaXQgPSBUcnVlKQorICAgICAgICBhbnMgPSBzZWxmLl9jb21wYXJlX2NoZWNrX25hbnMob3RoZXIsIGNvbnRleHQpCisgICAgICAgIGlmIGFuczoKKyAgICAgICAgICAgIHJldHVybiBhbnMKKyAgICAgICAgcmV0dXJuIHNlbGYuY29tcGFyZShvdGhlciwgY29udGV4dD1jb250ZXh0KQorCisgICAgZGVmIGNvbXBhcmVfdG90YWwoc2VsZiwgb3RoZXIsIGNvbnRleHQ9Tm9uZSk6CisgICAgICAgICIiIkNvbXBhcmVzIHNlbGYgdG8gb3RoZXIgdXNpbmcgdGhlIGFic3RyYWN0IHJlcHJlc2VudGF0aW9ucy4KKworICAgICAgICBUaGlzIGlzIG5vdCBsaWtlIHRoZSBzdGFuZGFyZCBjb21wYXJlLCB3aGljaCB1c2UgdGhlaXIgbnVtZXJpY2FsCisgICAgICAgIHZhbHVlLiBOb3RlIHRoYXQgYSB0b3RhbCBvcmRlcmluZyBpcyBkZWZpbmVkIGZvciBhbGwgcG9zc2libGUgYWJzdHJhY3QKKyAgICAgICAgcmVwcmVzZW50YXRpb25zLgorICAgICAgICAiIiIKKyAgICAgICAgb3RoZXIgPSBfY29udmVydF9vdGhlcihvdGhlciwgcmFpc2VpdD1UcnVlKQorCisgICAgICAgICMgaWYgb25lIGlzIG5lZ2F0aXZlIGFuZCB0aGUgb3RoZXIgaXMgcG9zaXRpdmUsIGl0J3MgZWFzeQorICAgICAgICBpZiBzZWxmLl9zaWduIGFuZCBub3Qgb3RoZXIuX3NpZ246CisgICAgICAgICAgICByZXR1cm4gX05lZ2F0aXZlT25lCisgICAgICAgIGlmIG5vdCBzZWxmLl9zaWduIGFuZCBvdGhlci5fc2lnbjoKKyAgICAgICAgICAgIHJldHVybiBfT25lCisgICAgICAgIHNpZ24gPSBzZWxmLl9zaWduCisKKyAgICAgICAgIyBsZXQncyBoYW5kbGUgYm90aCBOYU4gdHlwZXMKKyAgICAgICAgc2VsZl9uYW4gPSBzZWxmLl9pc25hbigpCisgICAgICAgIG90aGVyX25hbiA9IG90aGVyLl9pc25hbigpCisgICAgICAgIGlmIHNlbGZfbmFuIG9yIG90aGVyX25hbjoKKyAgICAgICAgICAgIGlmIHNlbGZfbmFuID09IG90aGVyX25hbjoKKyAgICAgICAgICAgICAgICAjIGNvbXBhcmUgcGF5bG9hZHMgYXMgdGhvdWdoIHRoZXkncmUgaW50ZWdlcnMKKyAgICAgICAgICAgICAgICBzZWxmX2tleSA9IGxlbihzZWxmLl9pbnQpLCBzZWxmLl9pbnQKKyAgICAgICAgICAgICAgICBvdGhlcl9rZXkgPSBsZW4ob3RoZXIuX2ludCksIG90aGVyLl9pbnQKKyAgICAgICAgICAgICAgICBpZiBzZWxmX2tleSA8IG90aGVyX2tleToKKyAgICAgICAgICAgICAgICAgICAgaWYgc2lnbjoKKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBfT25lCisgICAgICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gX05lZ2F0aXZlT25lCisgICAgICAgICAgICAgICAgaWYgc2VsZl9rZXkgPiBvdGhlcl9rZXk6CisgICAgICAgICAgICAgICAgICAgIGlmIHNpZ246CisgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gX05lZ2F0aXZlT25lCisgICAgICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gX09uZQorICAgICAgICAgICAgICAgIHJldHVybiBfWmVybworCisgICAgICAgICAgICBpZiBzaWduOgorICAgICAgICAgICAgICAgIGlmIHNlbGZfbmFuID09IDE6CisgICAgICAgICAgICAgICAgICAgIHJldHVybiBfTmVnYXRpdmVPbmUKKyAgICAgICAgICAgICAgICBpZiBvdGhlcl9uYW4gPT0gMToKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIF9PbmUKKyAgICAgICAgICAgICAgICBpZiBzZWxmX25hbiA9PSAyOgorICAgICAgICAgICAgICAgICAgICByZXR1cm4gX05lZ2F0aXZlT25lCisgICAgICAgICAgICAgICAgaWYgb3RoZXJfbmFuID09IDI6CisgICAgICAgICAgICAgICAgICAgIHJldHVybiBfT25lCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIGlmIHNlbGZfbmFuID09IDE6CisgICAgICAgICAgICAgICAgICAgIHJldHVybiBfT25lCisgICAgICAgICAgICAgICAgaWYgb3RoZXJfbmFuID09IDE6CisgICAgICAgICAgICAgICAgICAgIHJldHVybiBfTmVnYXRpdmVPbmUKKyAgICAgICAgICAgICAgICBpZiBzZWxmX25hbiA9PSAyOgorICAgICAgICAgICAgICAgICAgICByZXR1cm4gX09uZQorICAgICAgICAgICAgICAgIGlmIG90aGVyX25hbiA9PSAyOgorICAgICAgICAgICAgICAgICAgICByZXR1cm4gX05lZ2F0aXZlT25lCisKKyAgICAgICAgaWYgc2VsZiA8IG90aGVyOgorICAgICAgICAgICAgcmV0dXJuIF9OZWdhdGl2ZU9uZQorICAgICAgICBpZiBzZWxmID4gb3RoZXI6CisgICAgICAgICAgICByZXR1cm4gX09uZQorCisgICAgICAgIGlmIHNlbGYuX2V4cCA8IG90aGVyLl9leHA6CisgICAgICAgICAgICBpZiBzaWduOgorICAgICAgICAgICAgICAgIHJldHVybiBfT25lCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIHJldHVybiBfTmVnYXRpdmVPbmUKKyAgICAgICAgaWYgc2VsZi5fZXhwID4gb3RoZXIuX2V4cDoKKyAgICAgICAgICAgIGlmIHNpZ246CisgICAgICAgICAgICAgICAgcmV0dXJuIF9OZWdhdGl2ZU9uZQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICByZXR1cm4gX09uZQorICAgICAgICByZXR1cm4gX1plcm8KKworCisgICAgZGVmIGNvbXBhcmVfdG90YWxfbWFnKHNlbGYsIG90aGVyLCBjb250ZXh0PU5vbmUpOgorICAgICAgICAiIiJDb21wYXJlcyBzZWxmIHRvIG90aGVyIHVzaW5nIGFic3RyYWN0IHJlcHIuLCBpZ25vcmluZyBzaWduLgorCisgICAgICAgIExpa2UgY29tcGFyZV90b3RhbCwgYnV0IHdpdGggb3BlcmFuZCdzIHNpZ24gaWdub3JlZCBhbmQgYXNzdW1lZCB0byBiZSAwLgorICAgICAgICAiIiIKKyAgICAgICAgb3RoZXIgPSBfY29udmVydF9vdGhlcihvdGhlciwgcmFpc2VpdD1UcnVlKQorCisgICAgICAgIHMgPSBzZWxmLmNvcHlfYWJzKCkKKyAgICAgICAgbyA9IG90aGVyLmNvcHlfYWJzKCkKKyAgICAgICAgcmV0dXJuIHMuY29tcGFyZV90b3RhbChvKQorCisgICAgZGVmIGNvcHlfYWJzKHNlbGYpOgorICAgICAgICAiIiJSZXR1cm5zIGEgY29weSB3aXRoIHRoZSBzaWduIHNldCB0byAwLiAiIiIKKyAgICAgICAgcmV0dXJuIF9kZWNfZnJvbV90cmlwbGUoMCwgc2VsZi5faW50LCBzZWxmLl9leHAsIHNlbGYuX2lzX3NwZWNpYWwpCisKKyAgICBkZWYgY29weV9uZWdhdGUoc2VsZik6CisgICAgICAgICIiIlJldHVybnMgYSBjb3B5IHdpdGggdGhlIHNpZ24gaW52ZXJ0ZWQuIiIiCisgICAgICAgIGlmIHNlbGYuX3NpZ246CisgICAgICAgICAgICByZXR1cm4gX2RlY19mcm9tX3RyaXBsZSgwLCBzZWxmLl9pbnQsIHNlbGYuX2V4cCwgc2VsZi5faXNfc3BlY2lhbCkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHJldHVybiBfZGVjX2Zyb21fdHJpcGxlKDEsIHNlbGYuX2ludCwgc2VsZi5fZXhwLCBzZWxmLl9pc19zcGVjaWFsKQorCisgICAgZGVmIGNvcHlfc2lnbihzZWxmLCBvdGhlciwgY29udGV4dD1Ob25lKToKKyAgICAgICAgIiIiUmV0dXJucyBzZWxmIHdpdGggdGhlIHNpZ24gb2Ygb3RoZXIuIiIiCisgICAgICAgIG90aGVyID0gX2NvbnZlcnRfb3RoZXIob3RoZXIsIHJhaXNlaXQ9VHJ1ZSkKKyAgICAgICAgcmV0dXJuIF9kZWNfZnJvbV90cmlwbGUob3RoZXIuX3NpZ24sIHNlbGYuX2ludCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fZXhwLCBzZWxmLl9pc19zcGVjaWFsKQorCisgICAgZGVmIGV4cChzZWxmLCBjb250ZXh0PU5vbmUpOgorICAgICAgICAiIiJSZXR1cm5zIGUgKiogc2VsZi4iIiIKKworICAgICAgICBpZiBjb250ZXh0IGlzIE5vbmU6CisgICAgICAgICAgICBjb250ZXh0ID0gZ2V0Y29udGV4dCgpCisKKyAgICAgICAgIyBleHAoTmFOKSA9IE5hTgorICAgICAgICBhbnMgPSBzZWxmLl9jaGVja19uYW5zKGNvbnRleHQ9Y29udGV4dCkKKyAgICAgICAgaWYgYW5zOgorICAgICAgICAgICAgcmV0dXJuIGFucworCisgICAgICAgICMgZXhwKC1JbmZpbml0eSkgPSAwCisgICAgICAgIGlmIHNlbGYuX2lzaW5maW5pdHkoKSA9PSAtMToKKyAgICAgICAgICAgIHJldHVybiBfWmVybworCisgICAgICAgICMgZXhwKDApID0gMQorICAgICAgICBpZiBub3Qgc2VsZjoKKyAgICAgICAgICAgIHJldHVybiBfT25lCisKKyAgICAgICAgIyBleHAoSW5maW5pdHkpID0gSW5maW5pdHkKKyAgICAgICAgaWYgc2VsZi5faXNpbmZpbml0eSgpID09IDE6CisgICAgICAgICAgICByZXR1cm4gRGVjaW1hbChzZWxmKQorCisgICAgICAgICMgdGhlIHJlc3VsdCBpcyBub3cgZ3VhcmFudGVlZCB0byBiZSBpbmV4YWN0ICh0aGUgdHJ1ZQorICAgICAgICAjIG1hdGhlbWF0aWNhbCByZXN1bHQgaXMgdHJhbnNjZW5kZW50YWwpLiBUaGVyZSdzIG5vIG5lZWQgdG8KKyAgICAgICAgIyByYWlzZSBSb3VuZGVkIGFuZCBJbmV4YWN0IGhlcmUtLS10aGV5J2xsIGFsd2F5cyBiZSByYWlzZWQgYXMKKyAgICAgICAgIyBhIHJlc3VsdCBvZiB0aGUgY2FsbCB0byBfZml4LgorICAgICAgICBwID0gY29udGV4dC5wcmVjCisgICAgICAgIGFkaiA9IHNlbGYuYWRqdXN0ZWQoKQorCisgICAgICAgICMgd2Ugb25seSBuZWVkIHRvIGRvIGFueSBjb21wdXRhdGlvbiBmb3IgcXVpdGUgYSBzbWFsbCByYW5nZQorICAgICAgICAjIG9mIGFkanVzdGVkIGV4cG9uZW50cy0tLWZvciBleGFtcGxlLCAtMjkgPD0gYWRqIDw9IDEwIGZvcgorICAgICAgICAjIHRoZSBkZWZhdWx0IGNvbnRleHQuICBGb3Igc21hbGxlciBleHBvbmVudCB0aGUgcmVzdWx0IGlzCisgICAgICAgICMgaW5kaXN0aW5ndWlzaGFibGUgZnJvbSAxIGF0IHRoZSBnaXZlbiBwcmVjaXNpb24sIHdoaWxlIGZvcgorICAgICAgICAjIGxhcmdlciBleHBvbmVudCB0aGUgcmVzdWx0IGVpdGhlciBvdmVyZmxvd3Mgb3IgdW5kZXJmbG93cy4KKyAgICAgICAgaWYgc2VsZi5fc2lnbiA9PSAwIGFuZCBhZGogPiBsZW4oc3RyKChjb250ZXh0LkVtYXgrMSkqMykpOgorICAgICAgICAgICAgIyBvdmVyZmxvdworICAgICAgICAgICAgYW5zID0gX2RlY19mcm9tX3RyaXBsZSgwLCAnMScsIGNvbnRleHQuRW1heCsxKQorICAgICAgICBlbGlmIHNlbGYuX3NpZ24gPT0gMSBhbmQgYWRqID4gbGVuKHN0cigoLWNvbnRleHQuRXRpbnkoKSsxKSozKSk6CisgICAgICAgICAgICAjIHVuZGVyZmxvdyB0byAwCisgICAgICAgICAgICBhbnMgPSBfZGVjX2Zyb21fdHJpcGxlKDAsICcxJywgY29udGV4dC5FdGlueSgpLTEpCisgICAgICAgIGVsaWYgc2VsZi5fc2lnbiA9PSAwIGFuZCBhZGogPCAtcDoKKyAgICAgICAgICAgICMgcCsxIGRpZ2l0czsgZmluYWwgcm91bmQgd2lsbCByYWlzZSBjb3JyZWN0IGZsYWdzCisgICAgICAgICAgICBhbnMgPSBfZGVjX2Zyb21fdHJpcGxlKDAsICcxJyArICcwJyoocC0xKSArICcxJywgLXApCisgICAgICAgIGVsaWYgc2VsZi5fc2lnbiA9PSAxIGFuZCBhZGogPCAtcC0xOgorICAgICAgICAgICAgIyBwKzEgZGlnaXRzOyBmaW5hbCByb3VuZCB3aWxsIHJhaXNlIGNvcnJlY3QgZmxhZ3MKKyAgICAgICAgICAgIGFucyA9IF9kZWNfZnJvbV90cmlwbGUoMCwgJzknKihwKzEpLCAtcC0xKQorICAgICAgICAjIGdlbmVyYWwgY2FzZQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgb3AgPSBfV29ya1JlcChzZWxmKQorICAgICAgICAgICAgYywgZSA9IG9wLmludCwgb3AuZXhwCisgICAgICAgICAgICBpZiBvcC5zaWduID09IDE6CisgICAgICAgICAgICAgICAgYyA9IC1jCisKKyAgICAgICAgICAgICMgY29tcHV0ZSBjb3JyZWN0bHkgcm91bmRlZCByZXN1bHQ6IGluY3JlYXNlIHByZWNpc2lvbiBieQorICAgICAgICAgICAgIyAzIGRpZ2l0cyBhdCBhIHRpbWUgdW50aWwgd2UgZ2V0IGFuIHVuYW1iaWd1b3VzbHkKKyAgICAgICAgICAgICMgcm91bmRhYmxlIHJlc3VsdAorICAgICAgICAgICAgZXh0cmEgPSAzCisgICAgICAgICAgICB3aGlsZSBUcnVlOgorICAgICAgICAgICAgICAgIGNvZWZmLCBleHAgPSBfZGV4cChjLCBlLCBwK2V4dHJhKQorICAgICAgICAgICAgICAgIGlmIGNvZWZmICUgKDUqMTAqKihsZW4oc3RyKGNvZWZmKSktcC0xKSk6CisgICAgICAgICAgICAgICAgICAgIGJyZWFrCisgICAgICAgICAgICAgICAgZXh0cmEgKz0gMworCisgICAgICAgICAgICBhbnMgPSBfZGVjX2Zyb21fdHJpcGxlKDAsIHN0cihjb2VmZiksIGV4cCkKKworICAgICAgICAjIGF0IHRoaXMgc3RhZ2UsIGFucyBzaG91bGQgcm91bmQgY29ycmVjdGx5IHdpdGggKmFueSoKKyAgICAgICAgIyByb3VuZGluZyBtb2RlLCBub3QganVzdCB3aXRoIFJPVU5EX0hBTEZfRVZFTgorICAgICAgICBjb250ZXh0ID0gY29udGV4dC5fc2hhbGxvd19jb3B5KCkKKyAgICAgICAgcm91bmRpbmcgPSBjb250ZXh0Ll9zZXRfcm91bmRpbmcoUk9VTkRfSEFMRl9FVkVOKQorICAgICAgICBhbnMgPSBhbnMuX2ZpeChjb250ZXh0KQorICAgICAgICBjb250ZXh0LnJvdW5kaW5nID0gcm91bmRpbmcKKworICAgICAgICByZXR1cm4gYW5zCisKKyAgICBkZWYgaXNfY2Fub25pY2FsKHNlbGYpOgorICAgICAgICAiIiJSZXR1cm4gVHJ1ZSBpZiBzZWxmIGlzIGNhbm9uaWNhbDsgb3RoZXJ3aXNlIHJldHVybiBGYWxzZS4KKworICAgICAgICBDdXJyZW50bHksIHRoZSBlbmNvZGluZyBvZiBhIERlY2ltYWwgaW5zdGFuY2UgaXMgYWx3YXlzCisgICAgICAgIGNhbm9uaWNhbCwgc28gdGhpcyBtZXRob2QgcmV0dXJucyBUcnVlIGZvciBhbnkgRGVjaW1hbC4KKyAgICAgICAgIiIiCisgICAgICAgIHJldHVybiBUcnVlCisKKyAgICBkZWYgaXNfZmluaXRlKHNlbGYpOgorICAgICAgICAiIiJSZXR1cm4gVHJ1ZSBpZiBzZWxmIGlzIGZpbml0ZTsgb3RoZXJ3aXNlIHJldHVybiBGYWxzZS4KKworICAgICAgICBBIERlY2ltYWwgaW5zdGFuY2UgaXMgY29uc2lkZXJlZCBmaW5pdGUgaWYgaXQgaXMgbmVpdGhlcgorICAgICAgICBpbmZpbml0ZSBub3IgYSBOYU4uCisgICAgICAgICIiIgorICAgICAgICByZXR1cm4gbm90IHNlbGYuX2lzX3NwZWNpYWwKKworICAgIGRlZiBpc19pbmZpbml0ZShzZWxmKToKKyAgICAgICAgIiIiUmV0dXJuIFRydWUgaWYgc2VsZiBpcyBpbmZpbml0ZTsgb3RoZXJ3aXNlIHJldHVybiBGYWxzZS4iIiIKKyAgICAgICAgcmV0dXJuIHNlbGYuX2V4cCA9PSAnRicKKworICAgIGRlZiBpc19uYW4oc2VsZik6CisgICAgICAgICIiIlJldHVybiBUcnVlIGlmIHNlbGYgaXMgYSBxTmFOIG9yIHNOYU47IG90aGVyd2lzZSByZXR1cm4gRmFsc2UuIiIiCisgICAgICAgIHJldHVybiBzZWxmLl9leHAgaW4gKCduJywgJ04nKQorCisgICAgZGVmIGlzX25vcm1hbChzZWxmLCBjb250ZXh0PU5vbmUpOgorICAgICAgICAiIiJSZXR1cm4gVHJ1ZSBpZiBzZWxmIGlzIGEgbm9ybWFsIG51bWJlcjsgb3RoZXJ3aXNlIHJldHVybiBGYWxzZS4iIiIKKyAgICAgICAgaWYgc2VsZi5faXNfc3BlY2lhbCBvciBub3Qgc2VsZjoKKyAgICAgICAgICAgIHJldHVybiBGYWxzZQorICAgICAgICBpZiBjb250ZXh0IGlzIE5vbmU6CisgICAgICAgICAgICBjb250ZXh0ID0gZ2V0Y29udGV4dCgpCisgICAgICAgIHJldHVybiBjb250ZXh0LkVtaW4gPD0gc2VsZi5hZGp1c3RlZCgpCisKKyAgICBkZWYgaXNfcW5hbihzZWxmKToKKyAgICAgICAgIiIiUmV0dXJuIFRydWUgaWYgc2VsZiBpcyBhIHF1aWV0IE5hTjsgb3RoZXJ3aXNlIHJldHVybiBGYWxzZS4iIiIKKyAgICAgICAgcmV0dXJuIHNlbGYuX2V4cCA9PSAnbicKKworICAgIGRlZiBpc19zaWduZWQoc2VsZik6CisgICAgICAgICIiIlJldHVybiBUcnVlIGlmIHNlbGYgaXMgbmVnYXRpdmU7IG90aGVyd2lzZSByZXR1cm4gRmFsc2UuIiIiCisgICAgICAgIHJldHVybiBzZWxmLl9zaWduID09IDEKKworICAgIGRlZiBpc19zbmFuKHNlbGYpOgorICAgICAgICAiIiJSZXR1cm4gVHJ1ZSBpZiBzZWxmIGlzIGEgc2lnbmFsaW5nIE5hTjsgb3RoZXJ3aXNlIHJldHVybiBGYWxzZS4iIiIKKyAgICAgICAgcmV0dXJuIHNlbGYuX2V4cCA9PSAnTicKKworICAgIGRlZiBpc19zdWJub3JtYWwoc2VsZiwgY29udGV4dD1Ob25lKToKKyAgICAgICAgIiIiUmV0dXJuIFRydWUgaWYgc2VsZiBpcyBzdWJub3JtYWw7IG90aGVyd2lzZSByZXR1cm4gRmFsc2UuIiIiCisgICAgICAgIGlmIHNlbGYuX2lzX3NwZWNpYWwgb3Igbm90IHNlbGY6CisgICAgICAgICAgICByZXR1cm4gRmFsc2UKKyAgICAgICAgaWYgY29udGV4dCBpcyBOb25lOgorICAgICAgICAgICAgY29udGV4dCA9IGdldGNvbnRleHQoKQorICAgICAgICByZXR1cm4gc2VsZi5hZGp1c3RlZCgpIDwgY29udGV4dC5FbWluCisKKyAgICBkZWYgaXNfemVybyhzZWxmKToKKyAgICAgICAgIiIiUmV0dXJuIFRydWUgaWYgc2VsZiBpcyBhIHplcm87IG90aGVyd2lzZSByZXR1cm4gRmFsc2UuIiIiCisgICAgICAgIHJldHVybiBub3Qgc2VsZi5faXNfc3BlY2lhbCBhbmQgc2VsZi5faW50ID09ICcwJworCisgICAgZGVmIF9sbl9leHBfYm91bmQoc2VsZik6CisgICAgICAgICIiIkNvbXB1dGUgYSBsb3dlciBib3VuZCBmb3IgdGhlIGFkanVzdGVkIGV4cG9uZW50IG9mIHNlbGYubG4oKS4KKyAgICAgICAgSW4gb3RoZXIgd29yZHMsIGNvbXB1dGUgciBzdWNoIHRoYXQgc2VsZi5sbigpID49IDEwKipyLiAgQXNzdW1lcworICAgICAgICB0aGF0IHNlbGYgaXMgZmluaXRlIGFuZCBwb3NpdGl2ZSBhbmQgdGhhdCBzZWxmICE9IDEuCisgICAgICAgICIiIgorCisgICAgICAgICMgZm9yIDAuMSA8PSB4IDw9IDEwIHdlIHVzZSB0aGUgaW5lcXVhbGl0aWVzIDEtMS94IDw9IGxuKHgpIDw9IHgtMQorICAgICAgICBhZGogPSBzZWxmLl9leHAgKyBsZW4oc2VsZi5faW50KSAtIDEKKyAgICAgICAgaWYgYWRqID49IDE6CisgICAgICAgICAgICAjIGFyZ3VtZW50ID49IDEwOyB3ZSB1c2UgMjMvMTAgPSAyLjMgYXMgYSBsb3dlciBib3VuZCBmb3IgbG4oMTApCisgICAgICAgICAgICByZXR1cm4gbGVuKHN0cihhZGoqMjMvLzEwKSkgLSAxCisgICAgICAgIGlmIGFkaiA8PSAtMjoKKyAgICAgICAgICAgICMgYXJndW1lbnQgPD0gMC4xCisgICAgICAgICAgICByZXR1cm4gbGVuKHN0cigoLTEtYWRqKSoyMy8vMTApKSAtIDEKKyAgICAgICAgb3AgPSBfV29ya1JlcChzZWxmKQorICAgICAgICBjLCBlID0gb3AuaW50LCBvcC5leHAKKyAgICAgICAgaWYgYWRqID09IDA6CisgICAgICAgICAgICAjIDEgPCBzZWxmIDwgMTAKKyAgICAgICAgICAgIG51bSA9IHN0cihjLTEwKiotZSkKKyAgICAgICAgICAgIGRlbiA9IHN0cihjKQorICAgICAgICAgICAgcmV0dXJuIGxlbihudW0pIC0gbGVuKGRlbikgLSAobnVtIDwgZGVuKQorICAgICAgICAjIGFkaiA9PSAtMSwgMC4xIDw9IHNlbGYgPCAxCisgICAgICAgIHJldHVybiBlICsgbGVuKHN0cigxMCoqLWUgLSBjKSkgLSAxCisKKworICAgIGRlZiBsbihzZWxmLCBjb250ZXh0PU5vbmUpOgorICAgICAgICAiIiJSZXR1cm5zIHRoZSBuYXR1cmFsIChiYXNlIGUpIGxvZ2FyaXRobSBvZiBzZWxmLiIiIgorCisgICAgICAgIGlmIGNvbnRleHQgaXMgTm9uZToKKyAgICAgICAgICAgIGNvbnRleHQgPSBnZXRjb250ZXh0KCkKKworICAgICAgICAjIGxuKE5hTikgPSBOYU4KKyAgICAgICAgYW5zID0gc2VsZi5fY2hlY2tfbmFucyhjb250ZXh0PWNvbnRleHQpCisgICAgICAgIGlmIGFuczoKKyAgICAgICAgICAgIHJldHVybiBhbnMKKworICAgICAgICAjIGxuKDAuMCkgPT0gLUluZmluaXR5CisgICAgICAgIGlmIG5vdCBzZWxmOgorICAgICAgICAgICAgcmV0dXJuIF9OZWdhdGl2ZUluZmluaXR5CisKKyAgICAgICAgIyBsbihJbmZpbml0eSkgPSBJbmZpbml0eQorICAgICAgICBpZiBzZWxmLl9pc2luZmluaXR5KCkgPT0gMToKKyAgICAgICAgICAgIHJldHVybiBfSW5maW5pdHkKKworICAgICAgICAjIGxuKDEuMCkgPT0gMC4wCisgICAgICAgIGlmIHNlbGYgPT0gX09uZToKKyAgICAgICAgICAgIHJldHVybiBfWmVybworCisgICAgICAgICMgbG4obmVnYXRpdmUpIHJhaXNlcyBJbnZhbGlkT3BlcmF0aW9uCisgICAgICAgIGlmIHNlbGYuX3NpZ24gPT0gMToKKyAgICAgICAgICAgIHJldHVybiBjb250ZXh0Ll9yYWlzZV9lcnJvcihJbnZhbGlkT3BlcmF0aW9uLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdsbiBvZiBhIG5lZ2F0aXZlIHZhbHVlJykKKworICAgICAgICAjIHJlc3VsdCBpcyBpcnJhdGlvbmFsLCBzbyBuZWNlc3NhcmlseSBpbmV4YWN0CisgICAgICAgIG9wID0gX1dvcmtSZXAoc2VsZikKKyAgICAgICAgYywgZSA9IG9wLmludCwgb3AuZXhwCisgICAgICAgIHAgPSBjb250ZXh0LnByZWMKKworICAgICAgICAjIGNvcnJlY3RseSByb3VuZGVkIHJlc3VsdDogcmVwZWF0ZWRseSBpbmNyZWFzZSBwcmVjaXNpb24gYnkgMworICAgICAgICAjIHVudGlsIHdlIGdldCBhbiB1bmFtYmlndW91c2x5IHJvdW5kYWJsZSByZXN1bHQKKyAgICAgICAgcGxhY2VzID0gcCAtIHNlbGYuX2xuX2V4cF9ib3VuZCgpICsgMiAjIGF0IGxlYXN0IHArMyBwbGFjZXMKKyAgICAgICAgd2hpbGUgVHJ1ZToKKyAgICAgICAgICAgIGNvZWZmID0gX2Rsb2coYywgZSwgcGxhY2VzKQorICAgICAgICAgICAgIyBhc3NlcnQgbGVuKHN0cihhYnMoY29lZmYpKSktcCA+PSAxCisgICAgICAgICAgICBpZiBjb2VmZiAlICg1KjEwKioobGVuKHN0cihhYnMoY29lZmYpKSktcC0xKSk6CisgICAgICAgICAgICAgICAgYnJlYWsKKyAgICAgICAgICAgIHBsYWNlcyArPSAzCisgICAgICAgIGFucyA9IF9kZWNfZnJvbV90cmlwbGUoaW50KGNvZWZmPDApLCBzdHIoYWJzKGNvZWZmKSksIC1wbGFjZXMpCisKKyAgICAgICAgY29udGV4dCA9IGNvbnRleHQuX3NoYWxsb3dfY29weSgpCisgICAgICAgIHJvdW5kaW5nID0gY29udGV4dC5fc2V0X3JvdW5kaW5nKFJPVU5EX0hBTEZfRVZFTikKKyAgICAgICAgYW5zID0gYW5zLl9maXgoY29udGV4dCkKKyAgICAgICAgY29udGV4dC5yb3VuZGluZyA9IHJvdW5kaW5nCisgICAgICAgIHJldHVybiBhbnMKKworICAgIGRlZiBfbG9nMTBfZXhwX2JvdW5kKHNlbGYpOgorICAgICAgICAiIiJDb21wdXRlIGEgbG93ZXIgYm91bmQgZm9yIHRoZSBhZGp1c3RlZCBleHBvbmVudCBvZiBzZWxmLmxvZzEwKCkuCisgICAgICAgIEluIG90aGVyIHdvcmRzLCBmaW5kIHIgc3VjaCB0aGF0IHNlbGYubG9nMTAoKSA+PSAxMCoqci4KKyAgICAgICAgQXNzdW1lcyB0aGF0IHNlbGYgaXMgZmluaXRlIGFuZCBwb3NpdGl2ZSBhbmQgdGhhdCBzZWxmICE9IDEuCisgICAgICAgICIiIgorCisgICAgICAgICMgRm9yIHggPj0gMTAgb3IgeCA8IDAuMSB3ZSBvbmx5IG5lZWQgYSBib3VuZCBvbiB0aGUgaW50ZWdlcgorICAgICAgICAjIHBhcnQgb2YgbG9nMTAoc2VsZiksIGFuZCB0aGlzIGNvbWVzIGRpcmVjdGx5IGZyb20gdGhlCisgICAgICAgICMgZXhwb25lbnQgb2YgeC4gIEZvciAwLjEgPD0geCA8PSAxMCB3ZSB1c2UgdGhlIGluZXF1YWxpdGllcworICAgICAgICAjIDEtMS94IDw9IGxvZyh4KSA8PSB4LTEuIElmIHggPiAxIHdlIGhhdmUgfGxvZzEwKHgpfCA+CisgICAgICAgICMgKDEtMS94KS8yLjMxID4gMC4gIElmIHggPCAxIHRoZW4gfGxvZzEwKHgpfCA+ICgxLXgpLzIuMzEgPiAwCisKKyAgICAgICAgYWRqID0gc2VsZi5fZXhwICsgbGVuKHNlbGYuX2ludCkgLSAxCisgICAgICAgIGlmIGFkaiA+PSAxOgorICAgICAgICAgICAgIyBzZWxmID49IDEwCisgICAgICAgICAgICByZXR1cm4gbGVuKHN0cihhZGopKS0xCisgICAgICAgIGlmIGFkaiA8PSAtMjoKKyAgICAgICAgICAgICMgc2VsZiA8IDAuMQorICAgICAgICAgICAgcmV0dXJuIGxlbihzdHIoLTEtYWRqKSktMQorICAgICAgICBvcCA9IF9Xb3JrUmVwKHNlbGYpCisgICAgICAgIGMsIGUgPSBvcC5pbnQsIG9wLmV4cAorICAgICAgICBpZiBhZGogPT0gMDoKKyAgICAgICAgICAgICMgMSA8IHNlbGYgPCAxMAorICAgICAgICAgICAgbnVtID0gc3RyKGMtMTAqKi1lKQorICAgICAgICAgICAgZGVuID0gc3RyKDIzMSpjKQorICAgICAgICAgICAgcmV0dXJuIGxlbihudW0pIC0gbGVuKGRlbikgLSAobnVtIDwgZGVuKSArIDIKKyAgICAgICAgIyBhZGogPT0gLTEsIDAuMSA8PSBzZWxmIDwgMQorICAgICAgICBudW0gPSBzdHIoMTAqKi1lLWMpCisgICAgICAgIHJldHVybiBsZW4obnVtKSArIGUgLSAobnVtIDwgIjIzMSIpIC0gMQorCisgICAgZGVmIGxvZzEwKHNlbGYsIGNvbnRleHQ9Tm9uZSk6CisgICAgICAgICIiIlJldHVybnMgdGhlIGJhc2UgMTAgbG9nYXJpdGhtIG9mIHNlbGYuIiIiCisKKyAgICAgICAgaWYgY29udGV4dCBpcyBOb25lOgorICAgICAgICAgICAgY29udGV4dCA9IGdldGNvbnRleHQoKQorCisgICAgICAgICMgbG9nMTAoTmFOKSA9IE5hTgorICAgICAgICBhbnMgPSBzZWxmLl9jaGVja19uYW5zKGNvbnRleHQ9Y29udGV4dCkKKyAgICAgICAgaWYgYW5zOgorICAgICAgICAgICAgcmV0dXJuIGFucworCisgICAgICAgICMgbG9nMTAoMC4wKSA9PSAtSW5maW5pdHkKKyAgICAgICAgaWYgbm90IHNlbGY6CisgICAgICAgICAgICByZXR1cm4gX05lZ2F0aXZlSW5maW5pdHkKKworICAgICAgICAjIGxvZzEwKEluZmluaXR5KSA9IEluZmluaXR5CisgICAgICAgIGlmIHNlbGYuX2lzaW5maW5pdHkoKSA9PSAxOgorICAgICAgICAgICAgcmV0dXJuIF9JbmZpbml0eQorCisgICAgICAgICMgbG9nMTAobmVnYXRpdmUgb3IgLUluZmluaXR5KSByYWlzZXMgSW52YWxpZE9wZXJhdGlvbgorICAgICAgICBpZiBzZWxmLl9zaWduID09IDE6CisgICAgICAgICAgICByZXR1cm4gY29udGV4dC5fcmFpc2VfZXJyb3IoSW52YWxpZE9wZXJhdGlvbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbG9nMTAgb2YgYSBuZWdhdGl2ZSB2YWx1ZScpCisKKyAgICAgICAgIyBsb2cxMCgxMCoqbikgPSBuCisgICAgICAgIGlmIHNlbGYuX2ludFswXSA9PSAnMScgYW5kIHNlbGYuX2ludFsxOl0gPT0gJzAnKihsZW4oc2VsZi5faW50KSAtIDEpOgorICAgICAgICAgICAgIyBhbnN3ZXIgbWF5IG5lZWQgcm91bmRpbmcKKyAgICAgICAgICAgIGFucyA9IERlY2ltYWwoc2VsZi5fZXhwICsgbGVuKHNlbGYuX2ludCkgLSAxKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgIyByZXN1bHQgaXMgaXJyYXRpb25hbCwgc28gbmVjZXNzYXJpbHkgaW5leGFjdAorICAgICAgICAgICAgb3AgPSBfV29ya1JlcChzZWxmKQorICAgICAgICAgICAgYywgZSA9IG9wLmludCwgb3AuZXhwCisgICAgICAgICAgICBwID0gY29udGV4dC5wcmVjCisKKyAgICAgICAgICAgICMgY29ycmVjdGx5IHJvdW5kZWQgcmVzdWx0OiByZXBlYXRlZGx5IGluY3JlYXNlIHByZWNpc2lvbgorICAgICAgICAgICAgIyB1bnRpbCByZXN1bHQgaXMgdW5hbWJpZ3VvdXNseSByb3VuZGFibGUKKyAgICAgICAgICAgIHBsYWNlcyA9IHAtc2VsZi5fbG9nMTBfZXhwX2JvdW5kKCkrMgorICAgICAgICAgICAgd2hpbGUgVHJ1ZToKKyAgICAgICAgICAgICAgICBjb2VmZiA9IF9kbG9nMTAoYywgZSwgcGxhY2VzKQorICAgICAgICAgICAgICAgICMgYXNzZXJ0IGxlbihzdHIoYWJzKGNvZWZmKSkpLXAgPj0gMQorICAgICAgICAgICAgICAgIGlmIGNvZWZmICUgKDUqMTAqKihsZW4oc3RyKGFicyhjb2VmZikpKS1wLTEpKToKKyAgICAgICAgICAgICAgICAgICAgYnJlYWsKKyAgICAgICAgICAgICAgICBwbGFjZXMgKz0gMworICAgICAgICAgICAgYW5zID0gX2RlY19mcm9tX3RyaXBsZShpbnQoY29lZmY8MCksIHN0cihhYnMoY29lZmYpKSwgLXBsYWNlcykKKworICAgICAgICBjb250ZXh0ID0gY29udGV4dC5fc2hhbGxvd19jb3B5KCkKKyAgICAgICAgcm91bmRpbmcgPSBjb250ZXh0Ll9zZXRfcm91bmRpbmcoUk9VTkRfSEFMRl9FVkVOKQorICAgICAgICBhbnMgPSBhbnMuX2ZpeChjb250ZXh0KQorICAgICAgICBjb250ZXh0LnJvdW5kaW5nID0gcm91bmRpbmcKKyAgICAgICAgcmV0dXJuIGFucworCisgICAgZGVmIGxvZ2Ioc2VsZiwgY29udGV4dD1Ob25lKToKKyAgICAgICAgIiIiIFJldHVybnMgdGhlIGV4cG9uZW50IG9mIHRoZSBtYWduaXR1ZGUgb2Ygc2VsZidzIE1TRC4KKworICAgICAgICBUaGUgcmVzdWx0IGlzIHRoZSBpbnRlZ2VyIHdoaWNoIGlzIHRoZSBleHBvbmVudCBvZiB0aGUgbWFnbml0dWRlCisgICAgICAgIG9mIHRoZSBtb3N0IHNpZ25pZmljYW50IGRpZ2l0IG9mIHNlbGYgKGFzIHRob3VnaCBpdCB3ZXJlIHRydW5jYXRlZAorICAgICAgICB0byBhIHNpbmdsZSBkaWdpdCB3aGlsZSBtYWludGFpbmluZyB0aGUgdmFsdWUgb2YgdGhhdCBkaWdpdCBhbmQKKyAgICAgICAgd2l0aG91dCBsaW1pdGluZyB0aGUgcmVzdWx0aW5nIGV4cG9uZW50KS4KKyAgICAgICAgIiIiCisgICAgICAgICMgbG9nYihOYU4pID0gTmFOCisgICAgICAgIGFucyA9IHNlbGYuX2NoZWNrX25hbnMoY29udGV4dD1jb250ZXh0KQorICAgICAgICBpZiBhbnM6CisgICAgICAgICAgICByZXR1cm4gYW5zCisKKyAgICAgICAgaWYgY29udGV4dCBpcyBOb25lOgorICAgICAgICAgICAgY29udGV4dCA9IGdldGNvbnRleHQoKQorCisgICAgICAgICMgbG9nYigrLy1JbmYpID0gK0luZgorICAgICAgICBpZiBzZWxmLl9pc2luZmluaXR5KCk6CisgICAgICAgICAgICByZXR1cm4gX0luZmluaXR5CisKKyAgICAgICAgIyBsb2diKDApID0gLUluZiwgRGl2aXNpb25CeVplcm8KKyAgICAgICAgaWYgbm90IHNlbGY6CisgICAgICAgICAgICByZXR1cm4gY29udGV4dC5fcmFpc2VfZXJyb3IoRGl2aXNpb25CeVplcm8sICdsb2diKDApJywgMSkKKworICAgICAgICAjIG90aGVyd2lzZSwgc2ltcGx5IHJldHVybiB0aGUgYWRqdXN0ZWQgZXhwb25lbnQgb2Ygc2VsZiwgYXMgYQorICAgICAgICAjIERlY2ltYWwuICBOb3RlIHRoYXQgbm8gYXR0ZW1wdCBpcyBtYWRlIHRvIGZpdCB0aGUgcmVzdWx0CisgICAgICAgICMgaW50byB0aGUgY3VycmVudCBjb250ZXh0LgorICAgICAgICBhbnMgPSBEZWNpbWFsKHNlbGYuYWRqdXN0ZWQoKSkKKyAgICAgICAgcmV0dXJuIGFucy5fZml4KGNvbnRleHQpCisKKyAgICBkZWYgX2lzbG9naWNhbChzZWxmKToKKyAgICAgICAgIiIiUmV0dXJuIFRydWUgaWYgc2VsZiBpcyBhIGxvZ2ljYWwgb3BlcmFuZC4KKworICAgICAgICBGb3IgYmVpbmcgbG9naWNhbCwgaXQgbXVzdCBiZSBhIGZpbml0ZSBudW1iZXIgd2l0aCBhIHNpZ24gb2YgMCwKKyAgICAgICAgYW4gZXhwb25lbnQgb2YgMCwgYW5kIGEgY29lZmZpY2llbnQgd2hvc2UgZGlnaXRzIG11c3QgYWxsIGJlCisgICAgICAgIGVpdGhlciAwIG9yIDEuCisgICAgICAgICIiIgorICAgICAgICBpZiBzZWxmLl9zaWduICE9IDAgb3Igc2VsZi5fZXhwICE9IDA6CisgICAgICAgICAgICByZXR1cm4gRmFsc2UKKyAgICAgICAgZm9yIGRpZyBpbiBzZWxmLl9pbnQ6CisgICAgICAgICAgICBpZiBkaWcgbm90IGluICcwMSc6CisgICAgICAgICAgICAgICAgcmV0dXJuIEZhbHNlCisgICAgICAgIHJldHVybiBUcnVlCisKKyAgICBkZWYgX2ZpbGxfbG9naWNhbChzZWxmLCBjb250ZXh0LCBvcGEsIG9wYik6CisgICAgICAgIGRpZiA9IGNvbnRleHQucHJlYyAtIGxlbihvcGEpCisgICAgICAgIGlmIGRpZiA+IDA6CisgICAgICAgICAgICBvcGEgPSAnMCcqZGlmICsgb3BhCisgICAgICAgIGVsaWYgZGlmIDwgMDoKKyAgICAgICAgICAgIG9wYSA9IG9wYVstY29udGV4dC5wcmVjOl0KKyAgICAgICAgZGlmID0gY29udGV4dC5wcmVjIC0gbGVuKG9wYikKKyAgICAgICAgaWYgZGlmID4gMDoKKyAgICAgICAgICAgIG9wYiA9ICcwJypkaWYgKyBvcGIKKyAgICAgICAgZWxpZiBkaWYgPCAwOgorICAgICAgICAgICAgb3BiID0gb3BiWy1jb250ZXh0LnByZWM6XQorICAgICAgICByZXR1cm4gb3BhLCBvcGIKKworICAgIGRlZiBsb2dpY2FsX2FuZChzZWxmLCBvdGhlciwgY29udGV4dD1Ob25lKToKKyAgICAgICAgIiIiQXBwbGllcyBhbiAnYW5kJyBvcGVyYXRpb24gYmV0d2VlbiBzZWxmIGFuZCBvdGhlcidzIGRpZ2l0cy4iIiIKKyAgICAgICAgaWYgY29udGV4dCBpcyBOb25lOgorICAgICAgICAgICAgY29udGV4dCA9IGdldGNvbnRleHQoKQorCisgICAgICAgIG90aGVyID0gX2NvbnZlcnRfb3RoZXIob3RoZXIsIHJhaXNlaXQ9VHJ1ZSkKKworICAgICAgICBpZiBub3Qgc2VsZi5faXNsb2dpY2FsKCkgb3Igbm90IG90aGVyLl9pc2xvZ2ljYWwoKToKKyAgICAgICAgICAgIHJldHVybiBjb250ZXh0Ll9yYWlzZV9lcnJvcihJbnZhbGlkT3BlcmF0aW9uKQorCisgICAgICAgICMgZmlsbCB0byBjb250ZXh0LnByZWMKKyAgICAgICAgKG9wYSwgb3BiKSA9IHNlbGYuX2ZpbGxfbG9naWNhbChjb250ZXh0LCBzZWxmLl9pbnQsIG90aGVyLl9pbnQpCisKKyAgICAgICAgIyBtYWtlIHRoZSBvcGVyYXRpb24sIGFuZCBjbGVhbiBzdGFydGluZyB6ZXJvZXMKKyAgICAgICAgcmVzdWx0ID0gIiIuam9pbihbc3RyKGludChhKSZpbnQoYikpIGZvciBhLGIgaW4gemlwKG9wYSxvcGIpXSkKKyAgICAgICAgcmV0dXJuIF9kZWNfZnJvbV90cmlwbGUoMCwgcmVzdWx0LmxzdHJpcCgnMCcpIG9yICcwJywgMCkKKworICAgIGRlZiBsb2dpY2FsX2ludmVydChzZWxmLCBjb250ZXh0PU5vbmUpOgorICAgICAgICAiIiJJbnZlcnQgYWxsIGl0cyBkaWdpdHMuIiIiCisgICAgICAgIGlmIGNvbnRleHQgaXMgTm9uZToKKyAgICAgICAgICAgIGNvbnRleHQgPSBnZXRjb250ZXh0KCkKKyAgICAgICAgcmV0dXJuIHNlbGYubG9naWNhbF94b3IoX2RlY19mcm9tX3RyaXBsZSgwLCcxJypjb250ZXh0LnByZWMsMCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHQpCisKKyAgICBkZWYgbG9naWNhbF9vcihzZWxmLCBvdGhlciwgY29udGV4dD1Ob25lKToKKyAgICAgICAgIiIiQXBwbGllcyBhbiAnb3InIG9wZXJhdGlvbiBiZXR3ZWVuIHNlbGYgYW5kIG90aGVyJ3MgZGlnaXRzLiIiIgorICAgICAgICBpZiBjb250ZXh0IGlzIE5vbmU6CisgICAgICAgICAgICBjb250ZXh0ID0gZ2V0Y29udGV4dCgpCisKKyAgICAgICAgb3RoZXIgPSBfY29udmVydF9vdGhlcihvdGhlciwgcmFpc2VpdD1UcnVlKQorCisgICAgICAgIGlmIG5vdCBzZWxmLl9pc2xvZ2ljYWwoKSBvciBub3Qgb3RoZXIuX2lzbG9naWNhbCgpOgorICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuX3JhaXNlX2Vycm9yKEludmFsaWRPcGVyYXRpb24pCisKKyAgICAgICAgIyBmaWxsIHRvIGNvbnRleHQucHJlYworICAgICAgICAob3BhLCBvcGIpID0gc2VsZi5fZmlsbF9sb2dpY2FsKGNvbnRleHQsIHNlbGYuX2ludCwgb3RoZXIuX2ludCkKKworICAgICAgICAjIG1ha2UgdGhlIG9wZXJhdGlvbiwgYW5kIGNsZWFuIHN0YXJ0aW5nIHplcm9lcworICAgICAgICByZXN1bHQgPSAiIi5qb2luKFtzdHIoaW50KGEpfGludChiKSkgZm9yIGEsYiBpbiB6aXAob3BhLG9wYildKQorICAgICAgICByZXR1cm4gX2RlY19mcm9tX3RyaXBsZSgwLCByZXN1bHQubHN0cmlwKCcwJykgb3IgJzAnLCAwKQorCisgICAgZGVmIGxvZ2ljYWxfeG9yKHNlbGYsIG90aGVyLCBjb250ZXh0PU5vbmUpOgorICAgICAgICAiIiJBcHBsaWVzIGFuICd4b3InIG9wZXJhdGlvbiBiZXR3ZWVuIHNlbGYgYW5kIG90aGVyJ3MgZGlnaXRzLiIiIgorICAgICAgICBpZiBjb250ZXh0IGlzIE5vbmU6CisgICAgICAgICAgICBjb250ZXh0ID0gZ2V0Y29udGV4dCgpCisKKyAgICAgICAgb3RoZXIgPSBfY29udmVydF9vdGhlcihvdGhlciwgcmFpc2VpdD1UcnVlKQorCisgICAgICAgIGlmIG5vdCBzZWxmLl9pc2xvZ2ljYWwoKSBvciBub3Qgb3RoZXIuX2lzbG9naWNhbCgpOgorICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuX3JhaXNlX2Vycm9yKEludmFsaWRPcGVyYXRpb24pCisKKyAgICAgICAgIyBmaWxsIHRvIGNvbnRleHQucHJlYworICAgICAgICAob3BhLCBvcGIpID0gc2VsZi5fZmlsbF9sb2dpY2FsKGNvbnRleHQsIHNlbGYuX2ludCwgb3RoZXIuX2ludCkKKworICAgICAgICAjIG1ha2UgdGhlIG9wZXJhdGlvbiwgYW5kIGNsZWFuIHN0YXJ0aW5nIHplcm9lcworICAgICAgICByZXN1bHQgPSAiIi5qb2luKFtzdHIoaW50KGEpXmludChiKSkgZm9yIGEsYiBpbiB6aXAob3BhLG9wYildKQorICAgICAgICByZXR1cm4gX2RlY19mcm9tX3RyaXBsZSgwLCByZXN1bHQubHN0cmlwKCcwJykgb3IgJzAnLCAwKQorCisgICAgZGVmIG1heF9tYWcoc2VsZiwgb3RoZXIsIGNvbnRleHQ9Tm9uZSk6CisgICAgICAgICIiIkNvbXBhcmVzIHRoZSB2YWx1ZXMgbnVtZXJpY2FsbHkgd2l0aCB0aGVpciBzaWduIGlnbm9yZWQuIiIiCisgICAgICAgIG90aGVyID0gX2NvbnZlcnRfb3RoZXIob3RoZXIsIHJhaXNlaXQ9VHJ1ZSkKKworICAgICAgICBpZiBjb250ZXh0IGlzIE5vbmU6CisgICAgICAgICAgICBjb250ZXh0ID0gZ2V0Y29udGV4dCgpCisKKyAgICAgICAgaWYgc2VsZi5faXNfc3BlY2lhbCBvciBvdGhlci5faXNfc3BlY2lhbDoKKyAgICAgICAgICAgICMgSWYgb25lIG9wZXJhbmQgaXMgYSBxdWlldCBOYU4gYW5kIHRoZSBvdGhlciBpcyBudW1iZXIsIHRoZW4gdGhlCisgICAgICAgICAgICAjIG51bWJlciBpcyBhbHdheXMgcmV0dXJuZWQKKyAgICAgICAgICAgIHNuID0gc2VsZi5faXNuYW4oKQorICAgICAgICAgICAgb24gPSBvdGhlci5faXNuYW4oKQorICAgICAgICAgICAgaWYgc24gb3Igb246CisgICAgICAgICAgICAgICAgaWYgb24gPT0gMSBhbmQgc24gPT0gMDoKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNlbGYuX2ZpeChjb250ZXh0KQorICAgICAgICAgICAgICAgIGlmIHNuID09IDEgYW5kIG9uID09IDA6CisgICAgICAgICAgICAgICAgICAgIHJldHVybiBvdGhlci5fZml4KGNvbnRleHQpCisgICAgICAgICAgICAgICAgcmV0dXJuIHNlbGYuX2NoZWNrX25hbnMob3RoZXIsIGNvbnRleHQpCisKKyAgICAgICAgYyA9IHNlbGYuY29weV9hYnMoKS5fY21wKG90aGVyLmNvcHlfYWJzKCkpCisgICAgICAgIGlmIGMgPT0gMDoKKyAgICAgICAgICAgIGMgPSBzZWxmLmNvbXBhcmVfdG90YWwob3RoZXIpCisKKyAgICAgICAgaWYgYyA9PSAtMToKKyAgICAgICAgICAgIGFucyA9IG90aGVyCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBhbnMgPSBzZWxmCisKKyAgICAgICAgcmV0dXJuIGFucy5fZml4KGNvbnRleHQpCisKKyAgICBkZWYgbWluX21hZyhzZWxmLCBvdGhlciwgY29udGV4dD1Ob25lKToKKyAgICAgICAgIiIiQ29tcGFyZXMgdGhlIHZhbHVlcyBudW1lcmljYWxseSB3aXRoIHRoZWlyIHNpZ24gaWdub3JlZC4iIiIKKyAgICAgICAgb3RoZXIgPSBfY29udmVydF9vdGhlcihvdGhlciwgcmFpc2VpdD1UcnVlKQorCisgICAgICAgIGlmIGNvbnRleHQgaXMgTm9uZToKKyAgICAgICAgICAgIGNvbnRleHQgPSBnZXRjb250ZXh0KCkKKworICAgICAgICBpZiBzZWxmLl9pc19zcGVjaWFsIG9yIG90aGVyLl9pc19zcGVjaWFsOgorICAgICAgICAgICAgIyBJZiBvbmUgb3BlcmFuZCBpcyBhIHF1aWV0IE5hTiBhbmQgdGhlIG90aGVyIGlzIG51bWJlciwgdGhlbiB0aGUKKyAgICAgICAgICAgICMgbnVtYmVyIGlzIGFsd2F5cyByZXR1cm5lZAorICAgICAgICAgICAgc24gPSBzZWxmLl9pc25hbigpCisgICAgICAgICAgICBvbiA9IG90aGVyLl9pc25hbigpCisgICAgICAgICAgICBpZiBzbiBvciBvbjoKKyAgICAgICAgICAgICAgICBpZiBvbiA9PSAxIGFuZCBzbiA9PSAwOgorICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2VsZi5fZml4KGNvbnRleHQpCisgICAgICAgICAgICAgICAgaWYgc24gPT0gMSBhbmQgb24gPT0gMDoKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG90aGVyLl9maXgoY29udGV4dCkKKyAgICAgICAgICAgICAgICByZXR1cm4gc2VsZi5fY2hlY2tfbmFucyhvdGhlciwgY29udGV4dCkKKworICAgICAgICBjID0gc2VsZi5jb3B5X2FicygpLl9jbXAob3RoZXIuY29weV9hYnMoKSkKKyAgICAgICAgaWYgYyA9PSAwOgorICAgICAgICAgICAgYyA9IHNlbGYuY29tcGFyZV90b3RhbChvdGhlcikKKworICAgICAgICBpZiBjID09IC0xOgorICAgICAgICAgICAgYW5zID0gc2VsZgorICAgICAgICBlbHNlOgorICAgICAgICAgICAgYW5zID0gb3RoZXIKKworICAgICAgICByZXR1cm4gYW5zLl9maXgoY29udGV4dCkKKworICAgIGRlZiBuZXh0X21pbnVzKHNlbGYsIGNvbnRleHQ9Tm9uZSk6CisgICAgICAgICIiIlJldHVybnMgdGhlIGxhcmdlc3QgcmVwcmVzZW50YWJsZSBudW1iZXIgc21hbGxlciB0aGFuIGl0c2VsZi4iIiIKKyAgICAgICAgaWYgY29udGV4dCBpcyBOb25lOgorICAgICAgICAgICAgY29udGV4dCA9IGdldGNvbnRleHQoKQorCisgICAgICAgIGFucyA9IHNlbGYuX2NoZWNrX25hbnMoY29udGV4dD1jb250ZXh0KQorICAgICAgICBpZiBhbnM6CisgICAgICAgICAgICByZXR1cm4gYW5zCisKKyAgICAgICAgaWYgc2VsZi5faXNpbmZpbml0eSgpID09IC0xOgorICAgICAgICAgICAgcmV0dXJuIF9OZWdhdGl2ZUluZmluaXR5CisgICAgICAgIGlmIHNlbGYuX2lzaW5maW5pdHkoKSA9PSAxOgorICAgICAgICAgICAgcmV0dXJuIF9kZWNfZnJvbV90cmlwbGUoMCwgJzknKmNvbnRleHQucHJlYywgY29udGV4dC5FdG9wKCkpCisKKyAgICAgICAgY29udGV4dCA9IGNvbnRleHQuY29weSgpCisgICAgICAgIGNvbnRleHQuX3NldF9yb3VuZGluZyhST1VORF9GTE9PUikKKyAgICAgICAgY29udGV4dC5faWdub3JlX2FsbF9mbGFncygpCisgICAgICAgIG5ld19zZWxmID0gc2VsZi5fZml4KGNvbnRleHQpCisgICAgICAgIGlmIG5ld19zZWxmICE9IHNlbGY6CisgICAgICAgICAgICByZXR1cm4gbmV3X3NlbGYKKyAgICAgICAgcmV0dXJuIHNlbGYuX19zdWJfXyhfZGVjX2Zyb21fdHJpcGxlKDAsICcxJywgY29udGV4dC5FdGlueSgpLTEpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHQpCisKKyAgICBkZWYgbmV4dF9wbHVzKHNlbGYsIGNvbnRleHQ9Tm9uZSk6CisgICAgICAgICIiIlJldHVybnMgdGhlIHNtYWxsZXN0IHJlcHJlc2VudGFibGUgbnVtYmVyIGxhcmdlciB0aGFuIGl0c2VsZi4iIiIKKyAgICAgICAgaWYgY29udGV4dCBpcyBOb25lOgorICAgICAgICAgICAgY29udGV4dCA9IGdldGNvbnRleHQoKQorCisgICAgICAgIGFucyA9IHNlbGYuX2NoZWNrX25hbnMoY29udGV4dD1jb250ZXh0KQorICAgICAgICBpZiBhbnM6CisgICAgICAgICAgICByZXR1cm4gYW5zCisKKyAgICAgICAgaWYgc2VsZi5faXNpbmZpbml0eSgpID09IDE6CisgICAgICAgICAgICByZXR1cm4gX0luZmluaXR5CisgICAgICAgIGlmIHNlbGYuX2lzaW5maW5pdHkoKSA9PSAtMToKKyAgICAgICAgICAgIHJldHVybiBfZGVjX2Zyb21fdHJpcGxlKDEsICc5Jypjb250ZXh0LnByZWMsIGNvbnRleHQuRXRvcCgpKQorCisgICAgICAgIGNvbnRleHQgPSBjb250ZXh0LmNvcHkoKQorICAgICAgICBjb250ZXh0Ll9zZXRfcm91bmRpbmcoUk9VTkRfQ0VJTElORykKKyAgICAgICAgY29udGV4dC5faWdub3JlX2FsbF9mbGFncygpCisgICAgICAgIG5ld19zZWxmID0gc2VsZi5fZml4KGNvbnRleHQpCisgICAgICAgIGlmIG5ld19zZWxmICE9IHNlbGY6CisgICAgICAgICAgICByZXR1cm4gbmV3X3NlbGYKKyAgICAgICAgcmV0dXJuIHNlbGYuX19hZGRfXyhfZGVjX2Zyb21fdHJpcGxlKDAsICcxJywgY29udGV4dC5FdGlueSgpLTEpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHQpCisKKyAgICBkZWYgbmV4dF90b3dhcmQoc2VsZiwgb3RoZXIsIGNvbnRleHQ9Tm9uZSk6CisgICAgICAgICIiIlJldHVybnMgdGhlIG51bWJlciBjbG9zZXN0IHRvIHNlbGYsIGluIHRoZSBkaXJlY3Rpb24gdG93YXJkcyBvdGhlci4KKworICAgICAgICBUaGUgcmVzdWx0IGlzIHRoZSBjbG9zZXN0IHJlcHJlc2VudGFibGUgbnVtYmVyIHRvIHNlbGYKKyAgICAgICAgKGV4Y2x1ZGluZyBzZWxmKSB0aGF0IGlzIGluIHRoZSBkaXJlY3Rpb24gdG93YXJkcyBvdGhlciwKKyAgICAgICAgdW5sZXNzIGJvdGggaGF2ZSB0aGUgc2FtZSB2YWx1ZS4gIElmIHRoZSB0d28gb3BlcmFuZHMgYXJlCisgICAgICAgIG51bWVyaWNhbGx5IGVxdWFsLCB0aGVuIHRoZSByZXN1bHQgaXMgYSBjb3B5IG9mIHNlbGYgd2l0aCB0aGUKKyAgICAgICAgc2lnbiBzZXQgdG8gYmUgdGhlIHNhbWUgYXMgdGhlIHNpZ24gb2Ygb3RoZXIuCisgICAgICAgICIiIgorICAgICAgICBvdGhlciA9IF9jb252ZXJ0X290aGVyKG90aGVyLCByYWlzZWl0PVRydWUpCisKKyAgICAgICAgaWYgY29udGV4dCBpcyBOb25lOgorICAgICAgICAgICAgY29udGV4dCA9IGdldGNvbnRleHQoKQorCisgICAgICAgIGFucyA9IHNlbGYuX2NoZWNrX25hbnMob3RoZXIsIGNvbnRleHQpCisgICAgICAgIGlmIGFuczoKKyAgICAgICAgICAgIHJldHVybiBhbnMKKworICAgICAgICBjb21wYXJpc29uID0gc2VsZi5fY21wKG90aGVyKQorICAgICAgICBpZiBjb21wYXJpc29uID09IDA6CisgICAgICAgICAgICByZXR1cm4gc2VsZi5jb3B5X3NpZ24ob3RoZXIpCisKKyAgICAgICAgaWYgY29tcGFyaXNvbiA9PSAtMToKKyAgICAgICAgICAgIGFucyA9IHNlbGYubmV4dF9wbHVzKGNvbnRleHQpCisgICAgICAgIGVsc2U6ICMgY29tcGFyaXNvbiA9PSAxCisgICAgICAgICAgICBhbnMgPSBzZWxmLm5leHRfbWludXMoY29udGV4dCkKKworICAgICAgICAjIGRlY2lkZSB3aGljaCBmbGFncyB0byByYWlzZSB1c2luZyB2YWx1ZSBvZiBhbnMKKyAgICAgICAgaWYgYW5zLl9pc2luZmluaXR5KCk6CisgICAgICAgICAgICBjb250ZXh0Ll9yYWlzZV9lcnJvcihPdmVyZmxvdywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJbmZpbml0ZSByZXN1bHQgZnJvbSBuZXh0X3Rvd2FyZCcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbnMuX3NpZ24pCisgICAgICAgICAgICBjb250ZXh0Ll9yYWlzZV9lcnJvcihJbmV4YWN0KQorICAgICAgICAgICAgY29udGV4dC5fcmFpc2VfZXJyb3IoUm91bmRlZCkKKyAgICAgICAgZWxpZiBhbnMuYWRqdXN0ZWQoKSA8IGNvbnRleHQuRW1pbjoKKyAgICAgICAgICAgIGNvbnRleHQuX3JhaXNlX2Vycm9yKFVuZGVyZmxvdykKKyAgICAgICAgICAgIGNvbnRleHQuX3JhaXNlX2Vycm9yKFN1Ym5vcm1hbCkKKyAgICAgICAgICAgIGNvbnRleHQuX3JhaXNlX2Vycm9yKEluZXhhY3QpCisgICAgICAgICAgICBjb250ZXh0Ll9yYWlzZV9lcnJvcihSb3VuZGVkKQorICAgICAgICAgICAgIyBpZiBwcmVjaXNpb24gPT0gMSB0aGVuIHdlIGRvbid0IHJhaXNlIENsYW1wZWQgZm9yIGEKKyAgICAgICAgICAgICMgcmVzdWx0IDBFLUV0aW55LgorICAgICAgICAgICAgaWYgbm90IGFuczoKKyAgICAgICAgICAgICAgICBjb250ZXh0Ll9yYWlzZV9lcnJvcihDbGFtcGVkKQorCisgICAgICAgIHJldHVybiBhbnMKKworICAgIGRlZiBudW1iZXJfY2xhc3Moc2VsZiwgY29udGV4dD1Ob25lKToKKyAgICAgICAgIiIiUmV0dXJucyBhbiBpbmRpY2F0aW9uIG9mIHRoZSBjbGFzcyBvZiBzZWxmLgorCisgICAgICAgIFRoZSBjbGFzcyBpcyBvbmUgb2YgdGhlIGZvbGxvd2luZyBzdHJpbmdzOgorICAgICAgICAgIHNOYU4KKyAgICAgICAgICBOYU4KKyAgICAgICAgICAtSW5maW5pdHkKKyAgICAgICAgICAtTm9ybWFsCisgICAgICAgICAgLVN1Ym5vcm1hbAorICAgICAgICAgIC1aZXJvCisgICAgICAgICAgK1plcm8KKyAgICAgICAgICArU3Vibm9ybWFsCisgICAgICAgICAgK05vcm1hbAorICAgICAgICAgICtJbmZpbml0eQorICAgICAgICAiIiIKKyAgICAgICAgaWYgc2VsZi5pc19zbmFuKCk6CisgICAgICAgICAgICByZXR1cm4gInNOYU4iCisgICAgICAgIGlmIHNlbGYuaXNfcW5hbigpOgorICAgICAgICAgICAgcmV0dXJuICJOYU4iCisgICAgICAgIGluZiA9IHNlbGYuX2lzaW5maW5pdHkoKQorICAgICAgICBpZiBpbmYgPT0gMToKKyAgICAgICAgICAgIHJldHVybiAiK0luZmluaXR5IgorICAgICAgICBpZiBpbmYgPT0gLTE6CisgICAgICAgICAgICByZXR1cm4gIi1JbmZpbml0eSIKKyAgICAgICAgaWYgc2VsZi5pc196ZXJvKCk6CisgICAgICAgICAgICBpZiBzZWxmLl9zaWduOgorICAgICAgICAgICAgICAgIHJldHVybiAiLVplcm8iCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIHJldHVybiAiK1plcm8iCisgICAgICAgIGlmIGNvbnRleHQgaXMgTm9uZToKKyAgICAgICAgICAgIGNvbnRleHQgPSBnZXRjb250ZXh0KCkKKyAgICAgICAgaWYgc2VsZi5pc19zdWJub3JtYWwoY29udGV4dD1jb250ZXh0KToKKyAgICAgICAgICAgIGlmIHNlbGYuX3NpZ246CisgICAgICAgICAgICAgICAgcmV0dXJuICItU3Vibm9ybWFsIgorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICByZXR1cm4gIitTdWJub3JtYWwiCisgICAgICAgICMganVzdCBhIG5vcm1hbCwgcmVndWxhciwgYm9yaW5nIG51bWJlciwgOikKKyAgICAgICAgaWYgc2VsZi5fc2lnbjoKKyAgICAgICAgICAgIHJldHVybiAiLU5vcm1hbCIKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHJldHVybiAiK05vcm1hbCIKKworICAgIGRlZiByYWRpeChzZWxmKToKKyAgICAgICAgIiIiSnVzdCByZXR1cm5zIDEwLCBhcyB0aGlzIGlzIERlY2ltYWwsIDopIiIiCisgICAgICAgIHJldHVybiBEZWNpbWFsKDEwKQorCisgICAgZGVmIHJvdGF0ZShzZWxmLCBvdGhlciwgY29udGV4dD1Ob25lKToKKyAgICAgICAgIiIiUmV0dXJucyBhIHJvdGF0ZWQgY29weSBvZiBzZWxmLCB2YWx1ZS1vZi1vdGhlciB0aW1lcy4iIiIKKyAgICAgICAgaWYgY29udGV4dCBpcyBOb25lOgorICAgICAgICAgICAgY29udGV4dCA9IGdldGNvbnRleHQoKQorCisgICAgICAgIG90aGVyID0gX2NvbnZlcnRfb3RoZXIob3RoZXIsIHJhaXNlaXQ9VHJ1ZSkKKworICAgICAgICBhbnMgPSBzZWxmLl9jaGVja19uYW5zKG90aGVyLCBjb250ZXh0KQorICAgICAgICBpZiBhbnM6CisgICAgICAgICAgICByZXR1cm4gYW5zCisKKyAgICAgICAgaWYgb3RoZXIuX2V4cCAhPSAwOgorICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuX3JhaXNlX2Vycm9yKEludmFsaWRPcGVyYXRpb24pCisgICAgICAgIGlmIG5vdCAoLWNvbnRleHQucHJlYyA8PSBpbnQob3RoZXIpIDw9IGNvbnRleHQucHJlYyk6CisgICAgICAgICAgICByZXR1cm4gY29udGV4dC5fcmFpc2VfZXJyb3IoSW52YWxpZE9wZXJhdGlvbikKKworICAgICAgICBpZiBzZWxmLl9pc2luZmluaXR5KCk6CisgICAgICAgICAgICByZXR1cm4gRGVjaW1hbChzZWxmKQorCisgICAgICAgICMgZ2V0IHZhbHVlcywgcGFkIGlmIG5lY2Vzc2FyeQorICAgICAgICB0b3JvdCA9IGludChvdGhlcikKKyAgICAgICAgcm90ZGlnID0gc2VsZi5faW50CisgICAgICAgIHRvcGFkID0gY29udGV4dC5wcmVjIC0gbGVuKHJvdGRpZykKKyAgICAgICAgaWYgdG9wYWQgPiAwOgorICAgICAgICAgICAgcm90ZGlnID0gJzAnKnRvcGFkICsgcm90ZGlnCisgICAgICAgIGVsaWYgdG9wYWQgPCAwOgorICAgICAgICAgICAgcm90ZGlnID0gcm90ZGlnWy10b3BhZDpdCisKKyAgICAgICAgIyBsZXQncyByb3RhdGUhCisgICAgICAgIHJvdGF0ZWQgPSByb3RkaWdbdG9yb3Q6XSArIHJvdGRpZ1s6dG9yb3RdCisgICAgICAgIHJldHVybiBfZGVjX2Zyb21fdHJpcGxlKHNlbGYuX3NpZ24sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJvdGF0ZWQubHN0cmlwKCcwJykgb3IgJzAnLCBzZWxmLl9leHApCisKKyAgICBkZWYgc2NhbGViKHNlbGYsIG90aGVyLCBjb250ZXh0PU5vbmUpOgorICAgICAgICAiIiJSZXR1cm5zIHNlbGYgb3BlcmFuZCBhZnRlciBhZGRpbmcgdGhlIHNlY29uZCB2YWx1ZSB0byBpdHMgZXhwLiIiIgorICAgICAgICBpZiBjb250ZXh0IGlzIE5vbmU6CisgICAgICAgICAgICBjb250ZXh0ID0gZ2V0Y29udGV4dCgpCisKKyAgICAgICAgb3RoZXIgPSBfY29udmVydF9vdGhlcihvdGhlciwgcmFpc2VpdD1UcnVlKQorCisgICAgICAgIGFucyA9IHNlbGYuX2NoZWNrX25hbnMob3RoZXIsIGNvbnRleHQpCisgICAgICAgIGlmIGFuczoKKyAgICAgICAgICAgIHJldHVybiBhbnMKKworICAgICAgICBpZiBvdGhlci5fZXhwICE9IDA6CisgICAgICAgICAgICByZXR1cm4gY29udGV4dC5fcmFpc2VfZXJyb3IoSW52YWxpZE9wZXJhdGlvbikKKyAgICAgICAgbGltaW5mID0gLTIgKiAoY29udGV4dC5FbWF4ICsgY29udGV4dC5wcmVjKQorICAgICAgICBsaW1zdXAgPSAgMiAqIChjb250ZXh0LkVtYXggKyBjb250ZXh0LnByZWMpCisgICAgICAgIGlmIG5vdCAobGltaW5mIDw9IGludChvdGhlcikgPD0gbGltc3VwKToKKyAgICAgICAgICAgIHJldHVybiBjb250ZXh0Ll9yYWlzZV9lcnJvcihJbnZhbGlkT3BlcmF0aW9uKQorCisgICAgICAgIGlmIHNlbGYuX2lzaW5maW5pdHkoKToKKyAgICAgICAgICAgIHJldHVybiBEZWNpbWFsKHNlbGYpCisKKyAgICAgICAgZCA9IF9kZWNfZnJvbV90cmlwbGUoc2VsZi5fc2lnbiwgc2VsZi5faW50LCBzZWxmLl9leHAgKyBpbnQob3RoZXIpKQorICAgICAgICBkID0gZC5fZml4KGNvbnRleHQpCisgICAgICAgIHJldHVybiBkCisKKyAgICBkZWYgc2hpZnQoc2VsZiwgb3RoZXIsIGNvbnRleHQ9Tm9uZSk6CisgICAgICAgICIiIlJldHVybnMgYSBzaGlmdGVkIGNvcHkgb2Ygc2VsZiwgdmFsdWUtb2Ytb3RoZXIgdGltZXMuIiIiCisgICAgICAgIGlmIGNvbnRleHQgaXMgTm9uZToKKyAgICAgICAgICAgIGNvbnRleHQgPSBnZXRjb250ZXh0KCkKKworICAgICAgICBvdGhlciA9IF9jb252ZXJ0X290aGVyKG90aGVyLCByYWlzZWl0PVRydWUpCisKKyAgICAgICAgYW5zID0gc2VsZi5fY2hlY2tfbmFucyhvdGhlciwgY29udGV4dCkKKyAgICAgICAgaWYgYW5zOgorICAgICAgICAgICAgcmV0dXJuIGFucworCisgICAgICAgIGlmIG90aGVyLl9leHAgIT0gMDoKKyAgICAgICAgICAgIHJldHVybiBjb250ZXh0Ll9yYWlzZV9lcnJvcihJbnZhbGlkT3BlcmF0aW9uKQorICAgICAgICBpZiBub3QgKC1jb250ZXh0LnByZWMgPD0gaW50KG90aGVyKSA8PSBjb250ZXh0LnByZWMpOgorICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuX3JhaXNlX2Vycm9yKEludmFsaWRPcGVyYXRpb24pCisKKyAgICAgICAgaWYgc2VsZi5faXNpbmZpbml0eSgpOgorICAgICAgICAgICAgcmV0dXJuIERlY2ltYWwoc2VsZikKKworICAgICAgICAjIGdldCB2YWx1ZXMsIHBhZCBpZiBuZWNlc3NhcnkKKyAgICAgICAgdG9yb3QgPSBpbnQob3RoZXIpCisgICAgICAgIHJvdGRpZyA9IHNlbGYuX2ludAorICAgICAgICB0b3BhZCA9IGNvbnRleHQucHJlYyAtIGxlbihyb3RkaWcpCisgICAgICAgIGlmIHRvcGFkID4gMDoKKyAgICAgICAgICAgIHJvdGRpZyA9ICcwJyp0b3BhZCArIHJvdGRpZworICAgICAgICBlbGlmIHRvcGFkIDwgMDoKKyAgICAgICAgICAgIHJvdGRpZyA9IHJvdGRpZ1stdG9wYWQ6XQorCisgICAgICAgICMgbGV0J3Mgc2hpZnQhCisgICAgICAgIGlmIHRvcm90IDwgMDoKKyAgICAgICAgICAgIHNoaWZ0ZWQgPSByb3RkaWdbOnRvcm90XQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgc2hpZnRlZCA9IHJvdGRpZyArICcwJyp0b3JvdAorICAgICAgICAgICAgc2hpZnRlZCA9IHNoaWZ0ZWRbLWNvbnRleHQucHJlYzpdCisKKyAgICAgICAgcmV0dXJuIF9kZWNfZnJvbV90cmlwbGUoc2VsZi5fc2lnbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNoaWZ0ZWQubHN0cmlwKCcwJykgb3IgJzAnLCBzZWxmLl9leHApCisKKyAgICAjIFN1cHBvcnQgZm9yIHBpY2tsaW5nLCBjb3B5LCBhbmQgZGVlcGNvcHkKKyAgICBkZWYgX19yZWR1Y2VfXyhzZWxmKToKKyAgICAgICAgcmV0dXJuIChzZWxmLl9fY2xhc3NfXywgKHN0cihzZWxmKSwpKQorCisgICAgZGVmIF9fY29weV9fKHNlbGYpOgorICAgICAgICBpZiB0eXBlKHNlbGYpIGlzIERlY2ltYWw6CisgICAgICAgICAgICByZXR1cm4gc2VsZiAgICAgIyBJJ20gaW1tdXRhYmxlOyB0aGVyZWZvcmUgSSBhbSBteSBvd24gY2xvbmUKKyAgICAgICAgcmV0dXJuIHNlbGYuX19jbGFzc19fKHN0cihzZWxmKSkKKworICAgIGRlZiBfX2RlZXBjb3B5X18oc2VsZiwgbWVtbyk6CisgICAgICAgIGlmIHR5cGUoc2VsZikgaXMgRGVjaW1hbDoKKyAgICAgICAgICAgIHJldHVybiBzZWxmICAgICAjIE15IGNvbXBvbmVudHMgYXJlIGFsc28gaW1tdXRhYmxlCisgICAgICAgIHJldHVybiBzZWxmLl9fY2xhc3NfXyhzdHIoc2VsZikpCisKKyAgICAjIFBFUCAzMTAxIHN1cHBvcnQuICB0aGUgX2xvY2FsZWNvbnYga2V5d29yZCBhcmd1bWVudCBzaG91bGQgYmUKKyAgICAjIGNvbnNpZGVyZWQgcHJpdmF0ZTogaXQncyBwcm92aWRlZCBmb3IgZWFzZSBvZiB0ZXN0aW5nIG9ubHkuCisgICAgZGVmIF9fZm9ybWF0X18oc2VsZiwgc3BlY2lmaWVyLCBjb250ZXh0PU5vbmUsIF9sb2NhbGVjb252PU5vbmUpOgorICAgICAgICAiIiJGb3JtYXQgYSBEZWNpbWFsIGluc3RhbmNlIGFjY29yZGluZyB0byB0aGUgZ2l2ZW4gc3BlY2lmaWVyLgorCisgICAgICAgIFRoZSBzcGVjaWZpZXIgc2hvdWxkIGJlIGEgc3RhbmRhcmQgZm9ybWF0IHNwZWNpZmllciwgd2l0aCB0aGUKKyAgICAgICAgZm9ybSBkZXNjcmliZWQgaW4gUEVQIDMxMDEuICBGb3JtYXR0aW5nIHR5cGVzICdlJywgJ0UnLCAnZicsCisgICAgICAgICdGJywgJ2cnLCAnRycsICduJyBhbmQgJyUnIGFyZSBzdXBwb3J0ZWQuICBJZiB0aGUgZm9ybWF0dGluZworICAgICAgICB0eXBlIGlzIG9taXR0ZWQgaXQgZGVmYXVsdHMgdG8gJ2cnIG9yICdHJywgZGVwZW5kaW5nIG9uIHRoZQorICAgICAgICB2YWx1ZSBvZiBjb250ZXh0LmNhcGl0YWxzLgorICAgICAgICAiIiIKKworICAgICAgICAjIE5vdGU6IFBFUCAzMTAxIHNheXMgdGhhdCBpZiB0aGUgdHlwZSBpcyBub3QgcHJlc2VudCB0aGVuCisgICAgICAgICMgdGhlcmUgc2hvdWxkIGJlIGF0IGxlYXN0IG9uZSBkaWdpdCBhZnRlciB0aGUgZGVjaW1hbCBwb2ludC4KKyAgICAgICAgIyBXZSB0YWtlIHRoZSBsaWJlcnR5IG9mIGlnbm9yaW5nIHRoaXMgcmVxdWlyZW1lbnQgZm9yCisgICAgICAgICMgRGVjaW1hbC0tLWl0J3MgcHJlc3VtYWJseSB0aGVyZSB0byBtYWtlIHN1cmUgdGhhdAorICAgICAgICAjIGZvcm1hdChmbG9hdCwgJycpIGJlaGF2ZXMgc2ltaWxhcmx5IHRvIHN0cihmbG9hdCkuCisgICAgICAgIGlmIGNvbnRleHQgaXMgTm9uZToKKyAgICAgICAgICAgIGNvbnRleHQgPSBnZXRjb250ZXh0KCkKKworICAgICAgICBzcGVjID0gX3BhcnNlX2Zvcm1hdF9zcGVjaWZpZXIoc3BlY2lmaWVyLCBfbG9jYWxlY29udj1fbG9jYWxlY29udikKKworICAgICAgICAjIHNwZWNpYWwgdmFsdWVzIGRvbid0IGNhcmUgYWJvdXQgdGhlIHR5cGUgb3IgcHJlY2lzaW9uCisgICAgICAgIGlmIHNlbGYuX2lzX3NwZWNpYWw6CisgICAgICAgICAgICBzaWduID0gX2Zvcm1hdF9zaWduKHNlbGYuX3NpZ24sIHNwZWMpCisgICAgICAgICAgICBib2R5ID0gc3RyKHNlbGYuY29weV9hYnMoKSkKKyAgICAgICAgICAgIGlmIHNwZWNbJ3R5cGUnXSA9PSAnJSc6CisgICAgICAgICAgICAgICAgYm9keSArPSAnJScKKyAgICAgICAgICAgIHJldHVybiBfZm9ybWF0X2FsaWduKHNpZ24sIGJvZHksIHNwZWMpCisKKyAgICAgICAgIyBhIHR5cGUgb2YgTm9uZSBkZWZhdWx0cyB0byAnZycgb3IgJ0cnLCBkZXBlbmRpbmcgb24gY29udGV4dAorICAgICAgICBpZiBzcGVjWyd0eXBlJ10gaXMgTm9uZToKKyAgICAgICAgICAgIHNwZWNbJ3R5cGUnXSA9IFsnZycsICdHJ11bY29udGV4dC5jYXBpdGFsc10KKworICAgICAgICAjIGlmIHR5cGUgaXMgJyUnLCBhZGp1c3QgZXhwb25lbnQgb2Ygc2VsZiBhY2NvcmRpbmdseQorICAgICAgICBpZiBzcGVjWyd0eXBlJ10gPT0gJyUnOgorICAgICAgICAgICAgc2VsZiA9IF9kZWNfZnJvbV90cmlwbGUoc2VsZi5fc2lnbiwgc2VsZi5faW50LCBzZWxmLl9leHArMikKKworICAgICAgICAjIHJvdW5kIGlmIG5lY2Vzc2FyeSwgdGFraW5nIHJvdW5kaW5nIG1vZGUgZnJvbSB0aGUgY29udGV4dAorICAgICAgICByb3VuZGluZyA9IGNvbnRleHQucm91bmRpbmcKKyAgICAgICAgcHJlY2lzaW9uID0gc3BlY1sncHJlY2lzaW9uJ10KKyAgICAgICAgaWYgcHJlY2lzaW9uIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgaWYgc3BlY1sndHlwZSddIGluICdlRSc6CisgICAgICAgICAgICAgICAgc2VsZiA9IHNlbGYuX3JvdW5kKHByZWNpc2lvbisxLCByb3VuZGluZykKKyAgICAgICAgICAgIGVsaWYgc3BlY1sndHlwZSddIGluICdmRiUnOgorICAgICAgICAgICAgICAgIHNlbGYgPSBzZWxmLl9yZXNjYWxlKC1wcmVjaXNpb24sIHJvdW5kaW5nKQorICAgICAgICAgICAgZWxpZiBzcGVjWyd0eXBlJ10gaW4gJ2dHJyBhbmQgbGVuKHNlbGYuX2ludCkgPiBwcmVjaXNpb246CisgICAgICAgICAgICAgICAgc2VsZiA9IHNlbGYuX3JvdW5kKHByZWNpc2lvbiwgcm91bmRpbmcpCisgICAgICAgICMgc3BlY2lhbCBjYXNlOiB6ZXJvcyB3aXRoIGEgcG9zaXRpdmUgZXhwb25lbnQgY2FuJ3QgYmUKKyAgICAgICAgIyByZXByZXNlbnRlZCBpbiBmaXhlZCBwb2ludDsgcmVzY2FsZSB0aGVtIHRvIDBlMC4KKyAgICAgICAgaWYgbm90IHNlbGYgYW5kIHNlbGYuX2V4cCA+IDAgYW5kIHNwZWNbJ3R5cGUnXSBpbiAnZkYlJzoKKyAgICAgICAgICAgIHNlbGYgPSBzZWxmLl9yZXNjYWxlKDAsIHJvdW5kaW5nKQorCisgICAgICAgICMgZmlndXJlIG91dCBwbGFjZW1lbnQgb2YgdGhlIGRlY2ltYWwgcG9pbnQKKyAgICAgICAgbGVmdGRpZ2l0cyA9IHNlbGYuX2V4cCArIGxlbihzZWxmLl9pbnQpCisgICAgICAgIGlmIHNwZWNbJ3R5cGUnXSBpbiAnZUUnOgorICAgICAgICAgICAgaWYgbm90IHNlbGYgYW5kIHByZWNpc2lvbiBpcyBub3QgTm9uZToKKyAgICAgICAgICAgICAgICBkb3RwbGFjZSA9IDEgLSBwcmVjaXNpb24KKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgZG90cGxhY2UgPSAxCisgICAgICAgIGVsaWYgc3BlY1sndHlwZSddIGluICdmRiUnOgorICAgICAgICAgICAgZG90cGxhY2UgPSBsZWZ0ZGlnaXRzCisgICAgICAgIGVsaWYgc3BlY1sndHlwZSddIGluICdnRyc6CisgICAgICAgICAgICBpZiBzZWxmLl9leHAgPD0gMCBhbmQgbGVmdGRpZ2l0cyA+IC02OgorICAgICAgICAgICAgICAgIGRvdHBsYWNlID0gbGVmdGRpZ2l0cworICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBkb3RwbGFjZSA9IDEKKworICAgICAgICAjIGZpbmQgZGlnaXRzIGJlZm9yZSBhbmQgYWZ0ZXIgZGVjaW1hbCBwb2ludCwgYW5kIGdldCBleHBvbmVudAorICAgICAgICBpZiBkb3RwbGFjZSA8IDA6CisgICAgICAgICAgICBpbnRwYXJ0ID0gJzAnCisgICAgICAgICAgICBmcmFjcGFydCA9ICcwJyooLWRvdHBsYWNlKSArIHNlbGYuX2ludAorICAgICAgICBlbGlmIGRvdHBsYWNlID4gbGVuKHNlbGYuX2ludCk6CisgICAgICAgICAgICBpbnRwYXJ0ID0gc2VsZi5faW50ICsgJzAnKihkb3RwbGFjZS1sZW4oc2VsZi5faW50KSkKKyAgICAgICAgICAgIGZyYWNwYXJ0ID0gJycKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGludHBhcnQgPSBzZWxmLl9pbnRbOmRvdHBsYWNlXSBvciAnMCcKKyAgICAgICAgICAgIGZyYWNwYXJ0ID0gc2VsZi5faW50W2RvdHBsYWNlOl0KKyAgICAgICAgZXhwID0gbGVmdGRpZ2l0cy1kb3RwbGFjZQorCisgICAgICAgICMgZG9uZSB3aXRoIHRoZSBkZWNpbWFsLXNwZWNpZmljIHN0dWZmOyAgaGFuZCBvdmVyIHRoZSByZXN0CisgICAgICAgICMgb2YgdGhlIGZvcm1hdHRpbmcgdG8gdGhlIF9mb3JtYXRfbnVtYmVyIGZ1bmN0aW9uCisgICAgICAgIHJldHVybiBfZm9ybWF0X251bWJlcihzZWxmLl9zaWduLCBpbnRwYXJ0LCBmcmFjcGFydCwgZXhwLCBzcGVjKQorCitkZWYgX2RlY19mcm9tX3RyaXBsZShzaWduLCBjb2VmZmljaWVudCwgZXhwb25lbnQsIHNwZWNpYWw9RmFsc2UpOgorICAgICIiIkNyZWF0ZSBhIGRlY2ltYWwgaW5zdGFuY2UgZGlyZWN0bHksIHdpdGhvdXQgYW55IHZhbGlkYXRpb24sCisgICAgbm9ybWFsaXphdGlvbiAoZS5nLiByZW1vdmFsIG9mIGxlYWRpbmcgemVyb3MpIG9yIGFyZ3VtZW50CisgICAgY29udmVyc2lvbi4KKworICAgIFRoaXMgZnVuY3Rpb24gaXMgZm9yICppbnRlcm5hbCB1c2Ugb25seSouCisgICAgIiIiCisKKyAgICBzZWxmID0gb2JqZWN0Ll9fbmV3X18oRGVjaW1hbCkKKyAgICBzZWxmLl9zaWduID0gc2lnbgorICAgIHNlbGYuX2ludCA9IGNvZWZmaWNpZW50CisgICAgc2VsZi5fZXhwID0gZXhwb25lbnQKKyAgICBzZWxmLl9pc19zcGVjaWFsID0gc3BlY2lhbAorCisgICAgcmV0dXJuIHNlbGYKKworIyBSZWdpc3RlciBEZWNpbWFsIGFzIGEga2luZCBvZiBOdW1iZXIgKGFuIGFic3RyYWN0IGJhc2UgY2xhc3MpLgorIyBIb3dldmVyLCBkbyBub3QgcmVnaXN0ZXIgaXQgYXMgUmVhbCAoYmVjYXVzZSBEZWNpbWFscyBhcmUgbm90CisjIGludGVyb3BlcmFibGUgd2l0aCBmbG9hdHMpLgorX251bWJlcnMuTnVtYmVyLnJlZ2lzdGVyKERlY2ltYWwpCisKKworIyMjIyMgQ29udGV4dCBjbGFzcyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisKK2NsYXNzIF9Db250ZXh0TWFuYWdlcihvYmplY3QpOgorICAgICIiIkNvbnRleHQgbWFuYWdlciBjbGFzcyB0byBzdXBwb3J0IGxvY2FsY29udGV4dCgpLgorCisgICAgICBTZXRzIGEgY29weSBvZiB0aGUgc3VwcGxpZWQgY29udGV4dCBpbiBfX2VudGVyX18oKSBhbmQgcmVzdG9yZXMKKyAgICAgIHRoZSBwcmV2aW91cyBkZWNpbWFsIGNvbnRleHQgaW4gX19leGl0X18oKQorICAgICIiIgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBuZXdfY29udGV4dCk6CisgICAgICAgIHNlbGYubmV3X2NvbnRleHQgPSBuZXdfY29udGV4dC5jb3B5KCkKKyAgICBkZWYgX19lbnRlcl9fKHNlbGYpOgorICAgICAgICBzZWxmLnNhdmVkX2NvbnRleHQgPSBnZXRjb250ZXh0KCkKKyAgICAgICAgc2V0Y29udGV4dChzZWxmLm5ld19jb250ZXh0KQorICAgICAgICByZXR1cm4gc2VsZi5uZXdfY29udGV4dAorICAgIGRlZiBfX2V4aXRfXyhzZWxmLCB0LCB2LCB0Yik6CisgICAgICAgIHNldGNvbnRleHQoc2VsZi5zYXZlZF9jb250ZXh0KQorCitjbGFzcyBDb250ZXh0KG9iamVjdCk6CisgICAgIiIiQ29udGFpbnMgdGhlIGNvbnRleHQgZm9yIGEgRGVjaW1hbCBpbnN0YW5jZS4KKworICAgIENvbnRhaW5zOgorICAgIHByZWMgLSBwcmVjaXNpb24gKGZvciB1c2UgaW4gcm91bmRpbmcsIGRpdmlzaW9uLCBzcXVhcmUgcm9vdHMuLikKKyAgICByb3VuZGluZyAtIHJvdW5kaW5nIHR5cGUgKGhvdyB5b3Ugcm91bmQpCisgICAgdHJhcHMgLSBJZiB0cmFwc1tleGNlcHRpb25dID0gMSwgdGhlbiB0aGUgZXhjZXB0aW9uIGlzCisgICAgICAgICAgICAgICAgICAgIHJhaXNlZCB3aGVuIGl0IGlzIGNhdXNlZC4gIE90aGVyd2lzZSwgYSB2YWx1ZSBpcworICAgICAgICAgICAgICAgICAgICBzdWJzdGl0dXRlZCBpbi4KKyAgICBmbGFncyAgLSBXaGVuIGFuIGV4Y2VwdGlvbiBpcyBjYXVzZWQsIGZsYWdzW2V4Y2VwdGlvbl0gaXMgc2V0LgorICAgICAgICAgICAgIChXaGV0aGVyIG9yIG5vdCB0aGUgdHJhcF9lbmFibGVyIGlzIHNldCkKKyAgICAgICAgICAgICBTaG91bGQgYmUgcmVzZXQgYnkgdXNlciBvZiBEZWNpbWFsIGluc3RhbmNlLgorICAgIEVtaW4gLSAgIE1pbmltdW0gZXhwb25lbnQKKyAgICBFbWF4IC0gICBNYXhpbXVtIGV4cG9uZW50CisgICAgY2FwaXRhbHMgLSAgICAgIElmIDEsIDEqMTBeMSBpcyBwcmludGVkIGFzIDFFKzEuCisgICAgICAgICAgICAgICAgICAgIElmIDAsIHByaW50ZWQgYXMgMWUxCisgICAgY2xhbXAgLSAgSWYgMSwgY2hhbmdlIGV4cG9uZW50cyBpZiB0b28gaGlnaCAoRGVmYXVsdCAwKQorICAgICIiIgorCisgICAgZGVmIF9faW5pdF9fKHNlbGYsIHByZWM9Tm9uZSwgcm91bmRpbmc9Tm9uZSwgRW1pbj1Ob25lLCBFbWF4PU5vbmUsCisgICAgICAgICAgICAgICAgICAgICAgIGNhcGl0YWxzPU5vbmUsIGNsYW1wPU5vbmUsIGZsYWdzPU5vbmUsIHRyYXBzPU5vbmUsCisgICAgICAgICAgICAgICAgICAgICAgIF9pZ25vcmVkX2ZsYWdzPU5vbmUpOgorICAgICAgICAjIFNldCBkZWZhdWx0czsgZm9yIGV2ZXJ5dGhpbmcgZXhjZXB0IGZsYWdzIGFuZCBfaWdub3JlZF9mbGFncywKKyAgICAgICAgIyBpbmhlcml0IGZyb20gRGVmYXVsdENvbnRleHQuCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIGRjID0gRGVmYXVsdENvbnRleHQKKyAgICAgICAgZXhjZXB0IE5hbWVFcnJvcjoKKyAgICAgICAgICAgIHBhc3MKKworICAgICAgICBzZWxmLnByZWMgPSBwcmVjIGlmIHByZWMgaXMgbm90IE5vbmUgZWxzZSBkYy5wcmVjCisgICAgICAgIHNlbGYucm91bmRpbmcgPSByb3VuZGluZyBpZiByb3VuZGluZyBpcyBub3QgTm9uZSBlbHNlIGRjLnJvdW5kaW5nCisgICAgICAgIHNlbGYuRW1pbiA9IEVtaW4gaWYgRW1pbiBpcyBub3QgTm9uZSBlbHNlIGRjLkVtaW4KKyAgICAgICAgc2VsZi5FbWF4ID0gRW1heCBpZiBFbWF4IGlzIG5vdCBOb25lIGVsc2UgZGMuRW1heAorICAgICAgICBzZWxmLmNhcGl0YWxzID0gY2FwaXRhbHMgaWYgY2FwaXRhbHMgaXMgbm90IE5vbmUgZWxzZSBkYy5jYXBpdGFscworICAgICAgICBzZWxmLmNsYW1wID0gY2xhbXAgaWYgY2xhbXAgaXMgbm90IE5vbmUgZWxzZSBkYy5jbGFtcAorCisgICAgICAgIGlmIF9pZ25vcmVkX2ZsYWdzIGlzIE5vbmU6CisgICAgICAgICAgICBzZWxmLl9pZ25vcmVkX2ZsYWdzID0gW10KKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHNlbGYuX2lnbm9yZWRfZmxhZ3MgPSBfaWdub3JlZF9mbGFncworCisgICAgICAgIGlmIHRyYXBzIGlzIE5vbmU6CisgICAgICAgICAgICBzZWxmLnRyYXBzID0gZGMudHJhcHMuY29weSgpCisgICAgICAgIGVsaWYgbm90IGlzaW5zdGFuY2UodHJhcHMsIGRpY3QpOgorICAgICAgICAgICAgc2VsZi50cmFwcyA9IGRpY3QoKHMsIGludChzIGluIHRyYXBzKSkgZm9yIHMgaW4gX3NpZ25hbHMgKyB0cmFwcykKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHNlbGYudHJhcHMgPSB0cmFwcworCisgICAgICAgIGlmIGZsYWdzIGlzIE5vbmU6CisgICAgICAgICAgICBzZWxmLmZsYWdzID0gZGljdC5mcm9ta2V5cyhfc2lnbmFscywgMCkKKyAgICAgICAgZWxpZiBub3QgaXNpbnN0YW5jZShmbGFncywgZGljdCk6CisgICAgICAgICAgICBzZWxmLmZsYWdzID0gZGljdCgocywgaW50KHMgaW4gZmxhZ3MpKSBmb3IgcyBpbiBfc2lnbmFscyArIGZsYWdzKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgc2VsZi5mbGFncyA9IGZsYWdzCisKKyAgICBkZWYgX3NldF9pbnRlZ2VyX2NoZWNrKHNlbGYsIG5hbWUsIHZhbHVlLCB2bWluLCB2bWF4KToKKyAgICAgICAgaWYgbm90IGlzaW5zdGFuY2UodmFsdWUsIGludCk6CisgICAgICAgICAgICByYWlzZSBUeXBlRXJyb3IoIiVzIG11c3QgYmUgYW4gaW50ZWdlciIgJSBuYW1lKQorICAgICAgICBpZiB2bWluID09ICctaW5mJzoKKyAgICAgICAgICAgIGlmIHZhbHVlID4gdm1heDoKKyAgICAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCIlcyBtdXN0IGJlIGluIFslcywgJWRdLiBnb3Q6ICVzIiAlIChuYW1lLCB2bWluLCB2bWF4LCB2YWx1ZSkpCisgICAgICAgIGVsaWYgdm1heCA9PSAnaW5mJzoKKyAgICAgICAgICAgIGlmIHZhbHVlIDwgdm1pbjoKKyAgICAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCIlcyBtdXN0IGJlIGluIFslZCwgJXNdLiBnb3Q6ICVzIiAlIChuYW1lLCB2bWluLCB2bWF4LCB2YWx1ZSkpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBpZiB2YWx1ZSA8IHZtaW4gb3IgdmFsdWUgPiB2bWF4OgorICAgICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoIiVzIG11c3QgYmUgaW4gWyVkLCAlZF0uIGdvdCAlcyIgJSAobmFtZSwgdm1pbiwgdm1heCwgdmFsdWUpKQorICAgICAgICByZXR1cm4gb2JqZWN0Ll9fc2V0YXR0cl9fKHNlbGYsIG5hbWUsIHZhbHVlKQorCisgICAgZGVmIF9zZXRfc2lnbmFsX2RpY3Qoc2VsZiwgbmFtZSwgZCk6CisgICAgICAgIGlmIG5vdCBpc2luc3RhbmNlKGQsIGRpY3QpOgorICAgICAgICAgICAgcmFpc2UgVHlwZUVycm9yKCIlcyBtdXN0IGJlIGEgc2lnbmFsIGRpY3QiICUgZCkKKyAgICAgICAgZm9yIGtleSBpbiBkOgorICAgICAgICAgICAgaWYgbm90IGtleSBpbiBfc2lnbmFsczoKKyAgICAgICAgICAgICAgICByYWlzZSBLZXlFcnJvcigiJXMgaXMgbm90IGEgdmFsaWQgc2lnbmFsIGRpY3QiICUgZCkKKyAgICAgICAgZm9yIGtleSBpbiBfc2lnbmFsczoKKyAgICAgICAgICAgIGlmIG5vdCBrZXkgaW4gZDoKKyAgICAgICAgICAgICAgICByYWlzZSBLZXlFcnJvcigiJXMgaXMgbm90IGEgdmFsaWQgc2lnbmFsIGRpY3QiICUgZCkKKyAgICAgICAgcmV0dXJuIG9iamVjdC5fX3NldGF0dHJfXyhzZWxmLCBuYW1lLCBkKQorCisgICAgZGVmIF9fc2V0YXR0cl9fKHNlbGYsIG5hbWUsIHZhbHVlKToKKyAgICAgICAgaWYgbmFtZSA9PSAncHJlYyc6CisgICAgICAgICAgICByZXR1cm4gc2VsZi5fc2V0X2ludGVnZXJfY2hlY2sobmFtZSwgdmFsdWUsIDEsICdpbmYnKQorICAgICAgICBlbGlmIG5hbWUgPT0gJ0VtaW4nOgorICAgICAgICAgICAgcmV0dXJuIHNlbGYuX3NldF9pbnRlZ2VyX2NoZWNrKG5hbWUsIHZhbHVlLCAnLWluZicsIDApCisgICAgICAgIGVsaWYgbmFtZSA9PSAnRW1heCc6CisgICAgICAgICAgICByZXR1cm4gc2VsZi5fc2V0X2ludGVnZXJfY2hlY2sobmFtZSwgdmFsdWUsIDAsICdpbmYnKQorICAgICAgICBlbGlmIG5hbWUgPT0gJ2NhcGl0YWxzJzoKKyAgICAgICAgICAgIHJldHVybiBzZWxmLl9zZXRfaW50ZWdlcl9jaGVjayhuYW1lLCB2YWx1ZSwgMCwgMSkKKyAgICAgICAgZWxpZiBuYW1lID09ICdjbGFtcCc6CisgICAgICAgICAgICByZXR1cm4gc2VsZi5fc2V0X2ludGVnZXJfY2hlY2sobmFtZSwgdmFsdWUsIDAsIDEpCisgICAgICAgIGVsaWYgbmFtZSA9PSAncm91bmRpbmcnOgorICAgICAgICAgICAgaWYgbm90IHZhbHVlIGluIF9yb3VuZGluZ19tb2RlczoKKyAgICAgICAgICAgICAgICAjIHJhaXNlIFR5cGVFcnJvciBldmVuIGZvciBzdHJpbmdzIHRvIGhhdmUgY29uc2lzdGVuY3kKKyAgICAgICAgICAgICAgICAjIGFtb25nIHZhcmlvdXMgaW1wbGVtZW50YXRpb25zLgorICAgICAgICAgICAgICAgIHJhaXNlIFR5cGVFcnJvcigiJXM6IGludmFsaWQgcm91bmRpbmcgbW9kZSIgJSB2YWx1ZSkKKyAgICAgICAgICAgIHJldHVybiBvYmplY3QuX19zZXRhdHRyX18oc2VsZiwgbmFtZSwgdmFsdWUpCisgICAgICAgIGVsaWYgbmFtZSA9PSAnZmxhZ3MnIG9yIG5hbWUgPT0gJ3RyYXBzJzoKKyAgICAgICAgICAgIHJldHVybiBzZWxmLl9zZXRfc2lnbmFsX2RpY3QobmFtZSwgdmFsdWUpCisgICAgICAgIGVsaWYgbmFtZSA9PSAnX2lnbm9yZWRfZmxhZ3MnOgorICAgICAgICAgICAgcmV0dXJuIG9iamVjdC5fX3NldGF0dHJfXyhzZWxmLCBuYW1lLCB2YWx1ZSkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHJhaXNlIEF0dHJpYnV0ZUVycm9yKAorICAgICAgICAgICAgICAgICInZGVjaW1hbC5Db250ZXh0JyBvYmplY3QgaGFzIG5vIGF0dHJpYnV0ZSAnJXMnIiAlIG5hbWUpCisKKyAgICBkZWYgX19kZWxhdHRyX18oc2VsZiwgbmFtZSk6CisgICAgICAgIHJhaXNlIEF0dHJpYnV0ZUVycm9yKCIlcyBjYW5ub3QgYmUgZGVsZXRlZCIgJSBuYW1lKQorCisgICAgIyBTdXBwb3J0IGZvciBwaWNrbGluZywgY29weSwgYW5kIGRlZXBjb3B5CisgICAgZGVmIF9fcmVkdWNlX18oc2VsZik6CisgICAgICAgIGZsYWdzID0gW3NpZyBmb3Igc2lnLCB2IGluIHNlbGYuZmxhZ3MuaXRlbXMoKSBpZiB2XQorICAgICAgICB0cmFwcyA9IFtzaWcgZm9yIHNpZywgdiBpbiBzZWxmLnRyYXBzLml0ZW1zKCkgaWYgdl0KKyAgICAgICAgcmV0dXJuIChzZWxmLl9fY2xhc3NfXywKKyAgICAgICAgICAgICAgICAoc2VsZi5wcmVjLCBzZWxmLnJvdW5kaW5nLCBzZWxmLkVtaW4sIHNlbGYuRW1heCwKKyAgICAgICAgICAgICAgICAgc2VsZi5jYXBpdGFscywgc2VsZi5jbGFtcCwgZmxhZ3MsIHRyYXBzKSkKKworICAgIGRlZiBfX3JlcHJfXyhzZWxmKToKKyAgICAgICAgIiIiU2hvdyB0aGUgY3VycmVudCBjb250ZXh0LiIiIgorICAgICAgICBzID0gW10KKyAgICAgICAgcy5hcHBlbmQoJ0NvbnRleHQocHJlYz0lKHByZWMpZCwgcm91bmRpbmc9JShyb3VuZGluZylzLCAnCisgICAgICAgICAgICAgICAgICdFbWluPSUoRW1pbilkLCBFbWF4PSUoRW1heClkLCBjYXBpdGFscz0lKGNhcGl0YWxzKWQsICcKKyAgICAgICAgICAgICAgICAgJ2NsYW1wPSUoY2xhbXApZCcKKyAgICAgICAgICAgICAgICAgJSB2YXJzKHNlbGYpKQorICAgICAgICBuYW1lcyA9IFtmLl9fbmFtZV9fIGZvciBmLCB2IGluIHNlbGYuZmxhZ3MuaXRlbXMoKSBpZiB2XQorICAgICAgICBzLmFwcGVuZCgnZmxhZ3M9WycgKyAnLCAnLmpvaW4obmFtZXMpICsgJ10nKQorICAgICAgICBuYW1lcyA9IFt0Ll9fbmFtZV9fIGZvciB0LCB2IGluIHNlbGYudHJhcHMuaXRlbXMoKSBpZiB2XQorICAgICAgICBzLmFwcGVuZCgndHJhcHM9WycgKyAnLCAnLmpvaW4obmFtZXMpICsgJ10nKQorICAgICAgICByZXR1cm4gJywgJy5qb2luKHMpICsgJyknCisKKyAgICBkZWYgY2xlYXJfZmxhZ3Moc2VsZik6CisgICAgICAgICIiIlJlc2V0IGFsbCBmbGFncyB0byB6ZXJvIiIiCisgICAgICAgIGZvciBmbGFnIGluIHNlbGYuZmxhZ3M6CisgICAgICAgICAgICBzZWxmLmZsYWdzW2ZsYWddID0gMAorCisgICAgZGVmIGNsZWFyX3RyYXBzKHNlbGYpOgorICAgICAgICAiIiJSZXNldCBhbGwgdHJhcHMgdG8gemVybyIiIgorICAgICAgICBmb3IgZmxhZyBpbiBzZWxmLnRyYXBzOgorICAgICAgICAgICAgc2VsZi50cmFwc1tmbGFnXSA9IDAKKworICAgIGRlZiBfc2hhbGxvd19jb3B5KHNlbGYpOgorICAgICAgICAiIiJSZXR1cm5zIGEgc2hhbGxvdyBjb3B5IGZyb20gc2VsZi4iIiIKKyAgICAgICAgbmMgPSBDb250ZXh0KHNlbGYucHJlYywgc2VsZi5yb3VuZGluZywgc2VsZi5FbWluLCBzZWxmLkVtYXgsCisgICAgICAgICAgICAgICAgICAgICBzZWxmLmNhcGl0YWxzLCBzZWxmLmNsYW1wLCBzZWxmLmZsYWdzLCBzZWxmLnRyYXBzLAorICAgICAgICAgICAgICAgICAgICAgc2VsZi5faWdub3JlZF9mbGFncykKKyAgICAgICAgcmV0dXJuIG5jCisKKyAgICBkZWYgY29weShzZWxmKToKKyAgICAgICAgIiIiUmV0dXJucyBhIGRlZXAgY29weSBmcm9tIHNlbGYuIiIiCisgICAgICAgIG5jID0gQ29udGV4dChzZWxmLnByZWMsIHNlbGYucm91bmRpbmcsIHNlbGYuRW1pbiwgc2VsZi5FbWF4LAorICAgICAgICAgICAgICAgICAgICAgc2VsZi5jYXBpdGFscywgc2VsZi5jbGFtcCwKKyAgICAgICAgICAgICAgICAgICAgIHNlbGYuZmxhZ3MuY29weSgpLCBzZWxmLnRyYXBzLmNvcHkoKSwKKyAgICAgICAgICAgICAgICAgICAgIHNlbGYuX2lnbm9yZWRfZmxhZ3MpCisgICAgICAgIHJldHVybiBuYworICAgIF9fY29weV9fID0gY29weQorCisgICAgZGVmIF9yYWlzZV9lcnJvcihzZWxmLCBjb25kaXRpb24sIGV4cGxhbmF0aW9uID0gTm9uZSwgKmFyZ3MpOgorICAgICAgICAiIiJIYW5kbGVzIGFuIGVycm9yCisKKyAgICAgICAgSWYgdGhlIGZsYWcgaXMgaW4gX2lnbm9yZWRfZmxhZ3MsIHJldHVybnMgdGhlIGRlZmF1bHQgcmVzcG9uc2UuCisgICAgICAgIE90aGVyd2lzZSwgaXQgc2V0cyB0aGUgZmxhZywgdGhlbiwgaWYgdGhlIGNvcnJlc3BvbmRpbmcKKyAgICAgICAgdHJhcF9lbmFibGVyIGlzIHNldCwgaXQgcmVyYWlzZXMgdGhlIGV4Y2VwdGlvbi4gIE90aGVyd2lzZSwgaXQgcmV0dXJucworICAgICAgICB0aGUgZGVmYXVsdCB2YWx1ZSBhZnRlciBzZXR0aW5nIHRoZSBmbGFnLgorICAgICAgICAiIiIKKyAgICAgICAgZXJyb3IgPSBfY29uZGl0aW9uX21hcC5nZXQoY29uZGl0aW9uLCBjb25kaXRpb24pCisgICAgICAgIGlmIGVycm9yIGluIHNlbGYuX2lnbm9yZWRfZmxhZ3M6CisgICAgICAgICAgICAjIERvbid0IHRvdWNoIHRoZSBmbGFnCisgICAgICAgICAgICByZXR1cm4gZXJyb3IoKS5oYW5kbGUoc2VsZiwgKmFyZ3MpCisKKyAgICAgICAgc2VsZi5mbGFnc1tlcnJvcl0gPSAxCisgICAgICAgIGlmIG5vdCBzZWxmLnRyYXBzW2Vycm9yXToKKyAgICAgICAgICAgICMgVGhlIGVycm9ycyBkZWZpbmUgaG93IHRvIGhhbmRsZSB0aGVtc2VsdmVzLgorICAgICAgICAgICAgcmV0dXJuIGNvbmRpdGlvbigpLmhhbmRsZShzZWxmLCAqYXJncykKKworICAgICAgICAjIEVycm9ycyBzaG91bGQgb25seSBiZSByaXNrZWQgb24gY29waWVzIG9mIHRoZSBjb250ZXh0CisgICAgICAgICMgc2VsZi5faWdub3JlZF9mbGFncyA9IFtdCisgICAgICAgIHJhaXNlIGVycm9yKGV4cGxhbmF0aW9uKQorCisgICAgZGVmIF9pZ25vcmVfYWxsX2ZsYWdzKHNlbGYpOgorICAgICAgICAiIiJJZ25vcmUgYWxsIGZsYWdzLCBpZiB0aGV5IGFyZSByYWlzZWQiIiIKKyAgICAgICAgcmV0dXJuIHNlbGYuX2lnbm9yZV9mbGFncygqX3NpZ25hbHMpCisKKyAgICBkZWYgX2lnbm9yZV9mbGFncyhzZWxmLCAqZmxhZ3MpOgorICAgICAgICAiIiJJZ25vcmUgdGhlIGZsYWdzLCBpZiB0aGV5IGFyZSByYWlzZWQiIiIKKyAgICAgICAgIyBEbyBub3QgbXV0YXRlLS0gVGhpcyB3YXksIGNvcGllcyBvZiBhIGNvbnRleHQgbGVhdmUgdGhlIG9yaWdpbmFsCisgICAgICAgICMgYWxvbmUuCisgICAgICAgIHNlbGYuX2lnbm9yZWRfZmxhZ3MgPSAoc2VsZi5faWdub3JlZF9mbGFncyArIGxpc3QoZmxhZ3MpKQorICAgICAgICByZXR1cm4gbGlzdChmbGFncykKKworICAgIGRlZiBfcmVnYXJkX2ZsYWdzKHNlbGYsICpmbGFncyk6CisgICAgICAgICIiIlN0b3AgaWdub3JpbmcgdGhlIGZsYWdzLCBpZiB0aGV5IGFyZSByYWlzZWQiIiIKKyAgICAgICAgaWYgZmxhZ3MgYW5kIGlzaW5zdGFuY2UoZmxhZ3NbMF0sICh0dXBsZSxsaXN0KSk6CisgICAgICAgICAgICBmbGFncyA9IGZsYWdzWzBdCisgICAgICAgIGZvciBmbGFnIGluIGZsYWdzOgorICAgICAgICAgICAgc2VsZi5faWdub3JlZF9mbGFncy5yZW1vdmUoZmxhZykKKworICAgICMgV2UgaW5oZXJpdCBvYmplY3QuX19oYXNoX18sIHNvIHdlIG11c3QgZGVueSB0aGlzIGV4cGxpY2l0bHkKKyAgICBfX2hhc2hfXyA9IE5vbmUKKworICAgIGRlZiBFdGlueShzZWxmKToKKyAgICAgICAgIiIiUmV0dXJucyBFdGlueSAoPSBFbWluIC0gcHJlYyArIDEpIiIiCisgICAgICAgIHJldHVybiBpbnQoc2VsZi5FbWluIC0gc2VsZi5wcmVjICsgMSkKKworICAgIGRlZiBFdG9wKHNlbGYpOgorICAgICAgICAiIiJSZXR1cm5zIG1heGltdW0gZXhwb25lbnQgKD0gRW1heCAtIHByZWMgKyAxKSIiIgorICAgICAgICByZXR1cm4gaW50KHNlbGYuRW1heCAtIHNlbGYucHJlYyArIDEpCisKKyAgICBkZWYgX3NldF9yb3VuZGluZyhzZWxmLCB0eXBlKToKKyAgICAgICAgIiIiU2V0cyB0aGUgcm91bmRpbmcgdHlwZS4KKworICAgICAgICBTZXRzIHRoZSByb3VuZGluZyB0eXBlLCBhbmQgcmV0dXJucyB0aGUgY3VycmVudCAocHJldmlvdXMpCisgICAgICAgIHJvdW5kaW5nIHR5cGUuICBPZnRlbiB1c2VkIGxpa2U6CisKKyAgICAgICAgY29udGV4dCA9IGNvbnRleHQuY29weSgpCisgICAgICAgICMgc28geW91IGRvbid0IGNoYW5nZSB0aGUgY2FsbGluZyBjb250ZXh0CisgICAgICAgICMgaWYgYW4gZXJyb3Igb2NjdXJzIGluIHRoZSBtaWRkbGUuCisgICAgICAgIHJvdW5kaW5nID0gY29udGV4dC5fc2V0X3JvdW5kaW5nKFJPVU5EX1VQKQorICAgICAgICB2YWwgPSBzZWxmLl9fc3ViX18ob3RoZXIsIGNvbnRleHQ9Y29udGV4dCkKKyAgICAgICAgY29udGV4dC5fc2V0X3JvdW5kaW5nKHJvdW5kaW5nKQorCisgICAgICAgIFRoaXMgd2lsbCBtYWtlIGl0IHJvdW5kIHVwIGZvciB0aGF0IG9wZXJhdGlvbi4KKyAgICAgICAgIiIiCisgICAgICAgIHJvdW5kaW5nID0gc2VsZi5yb3VuZGluZworICAgICAgICBzZWxmLnJvdW5kaW5nPSB0eXBlCisgICAgICAgIHJldHVybiByb3VuZGluZworCisgICAgZGVmIGNyZWF0ZV9kZWNpbWFsKHNlbGYsIG51bT0nMCcpOgorICAgICAgICAiIiJDcmVhdGVzIGEgbmV3IERlY2ltYWwgaW5zdGFuY2UgYnV0IHVzaW5nIHNlbGYgYXMgY29udGV4dC4KKworICAgICAgICBUaGlzIG1ldGhvZCBpbXBsZW1lbnRzIHRoZSB0by1udW1iZXIgb3BlcmF0aW9uIG9mIHRoZQorICAgICAgICBJQk0gRGVjaW1hbCBzcGVjaWZpY2F0aW9uLiIiIgorCisgICAgICAgIGlmIGlzaW5zdGFuY2UobnVtLCBzdHIpIGFuZCBudW0gIT0gbnVtLnN0cmlwKCk6CisgICAgICAgICAgICByZXR1cm4gc2VsZi5fcmFpc2VfZXJyb3IoQ29udmVyc2lvblN5bnRheCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibm8gdHJhaWxpbmcgb3IgbGVhZGluZyB3aGl0ZXNwYWNlIGlzICIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGVybWl0dGVkLiIpCisKKyAgICAgICAgZCA9IERlY2ltYWwobnVtLCBjb250ZXh0PXNlbGYpCisgICAgICAgIGlmIGQuX2lzbmFuKCkgYW5kIGxlbihkLl9pbnQpID4gc2VsZi5wcmVjIC0gc2VsZi5jbGFtcDoKKyAgICAgICAgICAgIHJldHVybiBzZWxmLl9yYWlzZV9lcnJvcihDb252ZXJzaW9uU3ludGF4LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkaWFnbm9zdGljIGluZm8gdG9vIGxvbmcgaW4gTmFOIikKKyAgICAgICAgcmV0dXJuIGQuX2ZpeChzZWxmKQorCisgICAgZGVmIGNyZWF0ZV9kZWNpbWFsX2Zyb21fZmxvYXQoc2VsZiwgZik6CisgICAgICAgICIiIkNyZWF0ZXMgYSBuZXcgRGVjaW1hbCBpbnN0YW5jZSBmcm9tIGEgZmxvYXQgYnV0IHJvdW5kaW5nIHVzaW5nIHNlbGYKKyAgICAgICAgYXMgdGhlIGNvbnRleHQuCisKKyAgICAgICAgPj4+IGNvbnRleHQgPSBDb250ZXh0KHByZWM9NSwgcm91bmRpbmc9Uk9VTkRfRE9XTikKKyAgICAgICAgPj4+IGNvbnRleHQuY3JlYXRlX2RlY2ltYWxfZnJvbV9mbG9hdCgzLjE0MTU5MjY1MzU4OTc5MzIpCisgICAgICAgIERlY2ltYWwoJzMuMTQxNScpCisgICAgICAgID4+PiBjb250ZXh0ID0gQ29udGV4dChwcmVjPTUsIHRyYXBzPVtJbmV4YWN0XSkKKyAgICAgICAgPj4+IGNvbnRleHQuY3JlYXRlX2RlY2ltYWxfZnJvbV9mbG9hdCgzLjE0MTU5MjY1MzU4OTc5MzIpCisgICAgICAgIFRyYWNlYmFjayAobW9zdCByZWNlbnQgY2FsbCBsYXN0KToKKyAgICAgICAgICAgIC4uLgorICAgICAgICBkZWNpbWFsLkluZXhhY3Q6IE5vbmUKKworICAgICAgICAiIiIKKyAgICAgICAgZCA9IERlY2ltYWwuZnJvbV9mbG9hdChmKSAgICAgICAjIEFuIGV4YWN0IGNvbnZlcnNpb24KKyAgICAgICAgcmV0dXJuIGQuX2ZpeChzZWxmKSAgICAgICAgICAgICAjIEFwcGx5IHRoZSBjb250ZXh0IHJvdW5kaW5nCisKKyAgICAjIE1ldGhvZHMKKyAgICBkZWYgYWJzKHNlbGYsIGEpOgorICAgICAgICAiIiJSZXR1cm5zIHRoZSBhYnNvbHV0ZSB2YWx1ZSBvZiB0aGUgb3BlcmFuZC4KKworICAgICAgICBJZiB0aGUgb3BlcmFuZCBpcyBuZWdhdGl2ZSwgdGhlIHJlc3VsdCBpcyB0aGUgc2FtZSBhcyB1c2luZyB0aGUgbWludXMKKyAgICAgICAgb3BlcmF0aW9uIG9uIHRoZSBvcGVyYW5kLiAgT3RoZXJ3aXNlLCB0aGUgcmVzdWx0IGlzIHRoZSBzYW1lIGFzIHVzaW5nCisgICAgICAgIHRoZSBwbHVzIG9wZXJhdGlvbiBvbiB0aGUgb3BlcmFuZC4KKworICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmFicyhEZWNpbWFsKCcyLjEnKSkKKyAgICAgICAgRGVjaW1hbCgnMi4xJykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5hYnMoRGVjaW1hbCgnLTEwMCcpKQorICAgICAgICBEZWNpbWFsKCcxMDAnKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmFicyhEZWNpbWFsKCcxMDEuNScpKQorICAgICAgICBEZWNpbWFsKCcxMDEuNScpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuYWJzKERlY2ltYWwoJy0xMDEuNScpKQorICAgICAgICBEZWNpbWFsKCcxMDEuNScpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuYWJzKC0xKQorICAgICAgICBEZWNpbWFsKCcxJykKKyAgICAgICAgIiIiCisgICAgICAgIGEgPSBfY29udmVydF9vdGhlcihhLCByYWlzZWl0PVRydWUpCisgICAgICAgIHJldHVybiBhLl9fYWJzX18oY29udGV4dD1zZWxmKQorCisgICAgZGVmIGFkZChzZWxmLCBhLCBiKToKKyAgICAgICAgIiIiUmV0dXJuIHRoZSBzdW0gb2YgdGhlIHR3byBvcGVyYW5kcy4KKworICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmFkZChEZWNpbWFsKCcxMicpLCBEZWNpbWFsKCc3LjAwJykpCisgICAgICAgIERlY2ltYWwoJzE5LjAwJykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5hZGQoRGVjaW1hbCgnMUUrMicpLCBEZWNpbWFsKCcxLjAxRSs0JykpCisgICAgICAgIERlY2ltYWwoJzEuMDJFKzQnKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmFkZCgxLCBEZWNpbWFsKDIpKQorICAgICAgICBEZWNpbWFsKCczJykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5hZGQoRGVjaW1hbCg4KSwgNSkKKyAgICAgICAgRGVjaW1hbCgnMTMnKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmFkZCg1LCA1KQorICAgICAgICBEZWNpbWFsKCcxMCcpCisgICAgICAgICIiIgorICAgICAgICBhID0gX2NvbnZlcnRfb3RoZXIoYSwgcmFpc2VpdD1UcnVlKQorICAgICAgICByID0gYS5fX2FkZF9fKGIsIGNvbnRleHQ9c2VsZikKKyAgICAgICAgaWYgciBpcyBOb3RJbXBsZW1lbnRlZDoKKyAgICAgICAgICAgIHJhaXNlIFR5cGVFcnJvcigiVW5hYmxlIHRvIGNvbnZlcnQgJXMgdG8gRGVjaW1hbCIgJSBiKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgcmV0dXJuIHIKKworICAgIGRlZiBfYXBwbHkoc2VsZiwgYSk6CisgICAgICAgIHJldHVybiBzdHIoYS5fZml4KHNlbGYpKQorCisgICAgZGVmIGNhbm9uaWNhbChzZWxmLCBhKToKKyAgICAgICAgIiIiUmV0dXJucyB0aGUgc2FtZSBEZWNpbWFsIG9iamVjdC4KKworICAgICAgICBBcyB3ZSBkbyBub3QgaGF2ZSBkaWZmZXJlbnQgZW5jb2RpbmdzIGZvciB0aGUgc2FtZSBudW1iZXIsIHRoZQorICAgICAgICByZWNlaXZlZCBvYmplY3QgYWxyZWFkeSBpcyBpbiBpdHMgY2Fub25pY2FsIGZvcm0uCisKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5jYW5vbmljYWwoRGVjaW1hbCgnMi41MCcpKQorICAgICAgICBEZWNpbWFsKCcyLjUwJykKKyAgICAgICAgIiIiCisgICAgICAgIGlmIG5vdCBpc2luc3RhbmNlKGEsIERlY2ltYWwpOgorICAgICAgICAgICAgcmFpc2UgVHlwZUVycm9yKCJjYW5vbmljYWwgcmVxdWlyZXMgYSBEZWNpbWFsIGFzIGFuIGFyZ3VtZW50LiIpCisgICAgICAgIHJldHVybiBhLmNhbm9uaWNhbCgpCisKKyAgICBkZWYgY29tcGFyZShzZWxmLCBhLCBiKToKKyAgICAgICAgIiIiQ29tcGFyZXMgdmFsdWVzIG51bWVyaWNhbGx5LgorCisgICAgICAgIElmIHRoZSBzaWducyBvZiB0aGUgb3BlcmFuZHMgZGlmZmVyLCBhIHZhbHVlIHJlcHJlc2VudGluZyBlYWNoIG9wZXJhbmQKKyAgICAgICAgKCctMScgaWYgdGhlIG9wZXJhbmQgaXMgbGVzcyB0aGFuIHplcm8sICcwJyBpZiB0aGUgb3BlcmFuZCBpcyB6ZXJvIG9yCisgICAgICAgIG5lZ2F0aXZlIHplcm8sIG9yICcxJyBpZiB0aGUgb3BlcmFuZCBpcyBncmVhdGVyIHRoYW4gemVybykgaXMgdXNlZCBpbgorICAgICAgICBwbGFjZSBvZiB0aGF0IG9wZXJhbmQgZm9yIHRoZSBjb21wYXJpc29uIGluc3RlYWQgb2YgdGhlIGFjdHVhbAorICAgICAgICBvcGVyYW5kLgorCisgICAgICAgIFRoZSBjb21wYXJpc29uIGlzIHRoZW4gZWZmZWN0ZWQgYnkgc3VidHJhY3RpbmcgdGhlIHNlY29uZCBvcGVyYW5kIGZyb20KKyAgICAgICAgdGhlIGZpcnN0IGFuZCB0aGVuIHJldHVybmluZyBhIHZhbHVlIGFjY29yZGluZyB0byB0aGUgcmVzdWx0IG9mIHRoZQorICAgICAgICBzdWJ0cmFjdGlvbjogJy0xJyBpZiB0aGUgcmVzdWx0IGlzIGxlc3MgdGhhbiB6ZXJvLCAnMCcgaWYgdGhlIHJlc3VsdCBpcworICAgICAgICB6ZXJvIG9yIG5lZ2F0aXZlIHplcm8sIG9yICcxJyBpZiB0aGUgcmVzdWx0IGlzIGdyZWF0ZXIgdGhhbiB6ZXJvLgorCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuY29tcGFyZShEZWNpbWFsKCcyLjEnKSwgRGVjaW1hbCgnMycpKQorICAgICAgICBEZWNpbWFsKCctMScpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuY29tcGFyZShEZWNpbWFsKCcyLjEnKSwgRGVjaW1hbCgnMi4xJykpCisgICAgICAgIERlY2ltYWwoJzAnKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmNvbXBhcmUoRGVjaW1hbCgnMi4xJyksIERlY2ltYWwoJzIuMTAnKSkKKyAgICAgICAgRGVjaW1hbCgnMCcpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuY29tcGFyZShEZWNpbWFsKCczJyksIERlY2ltYWwoJzIuMScpKQorICAgICAgICBEZWNpbWFsKCcxJykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5jb21wYXJlKERlY2ltYWwoJzIuMScpLCBEZWNpbWFsKCctMycpKQorICAgICAgICBEZWNpbWFsKCcxJykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5jb21wYXJlKERlY2ltYWwoJy0zJyksIERlY2ltYWwoJzIuMScpKQorICAgICAgICBEZWNpbWFsKCctMScpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuY29tcGFyZSgxLCAyKQorICAgICAgICBEZWNpbWFsKCctMScpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuY29tcGFyZShEZWNpbWFsKDEpLCAyKQorICAgICAgICBEZWNpbWFsKCctMScpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuY29tcGFyZSgxLCBEZWNpbWFsKDIpKQorICAgICAgICBEZWNpbWFsKCctMScpCisgICAgICAgICIiIgorICAgICAgICBhID0gX2NvbnZlcnRfb3RoZXIoYSwgcmFpc2VpdD1UcnVlKQorICAgICAgICByZXR1cm4gYS5jb21wYXJlKGIsIGNvbnRleHQ9c2VsZikKKworICAgIGRlZiBjb21wYXJlX3NpZ25hbChzZWxmLCBhLCBiKToKKyAgICAgICAgIiIiQ29tcGFyZXMgdGhlIHZhbHVlcyBvZiB0aGUgdHdvIG9wZXJhbmRzIG51bWVyaWNhbGx5LgorCisgICAgICAgIEl0J3MgcHJldHR5IG11Y2ggbGlrZSBjb21wYXJlKCksIGJ1dCBhbGwgTmFOcyBzaWduYWwsIHdpdGggc2lnbmFsaW5nCisgICAgICAgIE5hTnMgdGFraW5nIHByZWNlZGVuY2Ugb3ZlciBxdWlldCBOYU5zLgorCisgICAgICAgID4+PiBjID0gRXh0ZW5kZWRDb250ZXh0CisgICAgICAgID4+PiBjLmNvbXBhcmVfc2lnbmFsKERlY2ltYWwoJzIuMScpLCBEZWNpbWFsKCczJykpCisgICAgICAgIERlY2ltYWwoJy0xJykKKyAgICAgICAgPj4+IGMuY29tcGFyZV9zaWduYWwoRGVjaW1hbCgnMi4xJyksIERlY2ltYWwoJzIuMScpKQorICAgICAgICBEZWNpbWFsKCcwJykKKyAgICAgICAgPj4+IGMuZmxhZ3NbSW52YWxpZE9wZXJhdGlvbl0gPSAwCisgICAgICAgID4+PiBwcmludChjLmZsYWdzW0ludmFsaWRPcGVyYXRpb25dKQorICAgICAgICAwCisgICAgICAgID4+PiBjLmNvbXBhcmVfc2lnbmFsKERlY2ltYWwoJ05hTicpLCBEZWNpbWFsKCcyLjEnKSkKKyAgICAgICAgRGVjaW1hbCgnTmFOJykKKyAgICAgICAgPj4+IHByaW50KGMuZmxhZ3NbSW52YWxpZE9wZXJhdGlvbl0pCisgICAgICAgIDEKKyAgICAgICAgPj4+IGMuZmxhZ3NbSW52YWxpZE9wZXJhdGlvbl0gPSAwCisgICAgICAgID4+PiBwcmludChjLmZsYWdzW0ludmFsaWRPcGVyYXRpb25dKQorICAgICAgICAwCisgICAgICAgID4+PiBjLmNvbXBhcmVfc2lnbmFsKERlY2ltYWwoJ3NOYU4nKSwgRGVjaW1hbCgnMi4xJykpCisgICAgICAgIERlY2ltYWwoJ05hTicpCisgICAgICAgID4+PiBwcmludChjLmZsYWdzW0ludmFsaWRPcGVyYXRpb25dKQorICAgICAgICAxCisgICAgICAgID4+PiBjLmNvbXBhcmVfc2lnbmFsKC0xLCAyKQorICAgICAgICBEZWNpbWFsKCctMScpCisgICAgICAgID4+PiBjLmNvbXBhcmVfc2lnbmFsKERlY2ltYWwoLTEpLCAyKQorICAgICAgICBEZWNpbWFsKCctMScpCisgICAgICAgID4+PiBjLmNvbXBhcmVfc2lnbmFsKC0xLCBEZWNpbWFsKDIpKQorICAgICAgICBEZWNpbWFsKCctMScpCisgICAgICAgICIiIgorICAgICAgICBhID0gX2NvbnZlcnRfb3RoZXIoYSwgcmFpc2VpdD1UcnVlKQorICAgICAgICByZXR1cm4gYS5jb21wYXJlX3NpZ25hbChiLCBjb250ZXh0PXNlbGYpCisKKyAgICBkZWYgY29tcGFyZV90b3RhbChzZWxmLCBhLCBiKToKKyAgICAgICAgIiIiQ29tcGFyZXMgdHdvIG9wZXJhbmRzIHVzaW5nIHRoZWlyIGFic3RyYWN0IHJlcHJlc2VudGF0aW9uLgorCisgICAgICAgIFRoaXMgaXMgbm90IGxpa2UgdGhlIHN0YW5kYXJkIGNvbXBhcmUsIHdoaWNoIHVzZSB0aGVpciBudW1lcmljYWwKKyAgICAgICAgdmFsdWUuIE5vdGUgdGhhdCBhIHRvdGFsIG9yZGVyaW5nIGlzIGRlZmluZWQgZm9yIGFsbCBwb3NzaWJsZSBhYnN0cmFjdAorICAgICAgICByZXByZXNlbnRhdGlvbnMuCisKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5jb21wYXJlX3RvdGFsKERlY2ltYWwoJzEyLjczJyksIERlY2ltYWwoJzEyNy45JykpCisgICAgICAgIERlY2ltYWwoJy0xJykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5jb21wYXJlX3RvdGFsKERlY2ltYWwoJy0xMjcnKSwgIERlY2ltYWwoJzEyJykpCisgICAgICAgIERlY2ltYWwoJy0xJykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5jb21wYXJlX3RvdGFsKERlY2ltYWwoJzEyLjMwJyksIERlY2ltYWwoJzEyLjMnKSkKKyAgICAgICAgRGVjaW1hbCgnLTEnKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmNvbXBhcmVfdG90YWwoRGVjaW1hbCgnMTIuMzAnKSwgRGVjaW1hbCgnMTIuMzAnKSkKKyAgICAgICAgRGVjaW1hbCgnMCcpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuY29tcGFyZV90b3RhbChEZWNpbWFsKCcxMi4zJyksICBEZWNpbWFsKCcxMi4zMDAnKSkKKyAgICAgICAgRGVjaW1hbCgnMScpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuY29tcGFyZV90b3RhbChEZWNpbWFsKCcxMi4zJyksICBEZWNpbWFsKCdOYU4nKSkKKyAgICAgICAgRGVjaW1hbCgnLTEnKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmNvbXBhcmVfdG90YWwoMSwgMikKKyAgICAgICAgRGVjaW1hbCgnLTEnKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmNvbXBhcmVfdG90YWwoRGVjaW1hbCgxKSwgMikKKyAgICAgICAgRGVjaW1hbCgnLTEnKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmNvbXBhcmVfdG90YWwoMSwgRGVjaW1hbCgyKSkKKyAgICAgICAgRGVjaW1hbCgnLTEnKQorICAgICAgICAiIiIKKyAgICAgICAgYSA9IF9jb252ZXJ0X290aGVyKGEsIHJhaXNlaXQ9VHJ1ZSkKKyAgICAgICAgcmV0dXJuIGEuY29tcGFyZV90b3RhbChiKQorCisgICAgZGVmIGNvbXBhcmVfdG90YWxfbWFnKHNlbGYsIGEsIGIpOgorICAgICAgICAiIiJDb21wYXJlcyB0d28gb3BlcmFuZHMgdXNpbmcgdGhlaXIgYWJzdHJhY3QgcmVwcmVzZW50YXRpb24gaWdub3Jpbmcgc2lnbi4KKworICAgICAgICBMaWtlIGNvbXBhcmVfdG90YWwsIGJ1dCB3aXRoIG9wZXJhbmQncyBzaWduIGlnbm9yZWQgYW5kIGFzc3VtZWQgdG8gYmUgMC4KKyAgICAgICAgIiIiCisgICAgICAgIGEgPSBfY29udmVydF9vdGhlcihhLCByYWlzZWl0PVRydWUpCisgICAgICAgIHJldHVybiBhLmNvbXBhcmVfdG90YWxfbWFnKGIpCisKKyAgICBkZWYgY29weV9hYnMoc2VsZiwgYSk6CisgICAgICAgICIiIlJldHVybnMgYSBjb3B5IG9mIHRoZSBvcGVyYW5kIHdpdGggdGhlIHNpZ24gc2V0IHRvIDAuCisKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5jb3B5X2FicyhEZWNpbWFsKCcyLjEnKSkKKyAgICAgICAgRGVjaW1hbCgnMi4xJykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5jb3B5X2FicyhEZWNpbWFsKCctMTAwJykpCisgICAgICAgIERlY2ltYWwoJzEwMCcpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuY29weV9hYnMoLTEpCisgICAgICAgIERlY2ltYWwoJzEnKQorICAgICAgICAiIiIKKyAgICAgICAgYSA9IF9jb252ZXJ0X290aGVyKGEsIHJhaXNlaXQ9VHJ1ZSkKKyAgICAgICAgcmV0dXJuIGEuY29weV9hYnMoKQorCisgICAgZGVmIGNvcHlfZGVjaW1hbChzZWxmLCBhKToKKyAgICAgICAgIiIiUmV0dXJucyBhIGNvcHkgb2YgdGhlIGRlY2ltYWwgb2JqZWN0LgorCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuY29weV9kZWNpbWFsKERlY2ltYWwoJzIuMScpKQorICAgICAgICBEZWNpbWFsKCcyLjEnKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmNvcHlfZGVjaW1hbChEZWNpbWFsKCctMS4wMCcpKQorICAgICAgICBEZWNpbWFsKCctMS4wMCcpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuY29weV9kZWNpbWFsKDEpCisgICAgICAgIERlY2ltYWwoJzEnKQorICAgICAgICAiIiIKKyAgICAgICAgYSA9IF9jb252ZXJ0X290aGVyKGEsIHJhaXNlaXQ9VHJ1ZSkKKyAgICAgICAgcmV0dXJuIERlY2ltYWwoYSkKKworICAgIGRlZiBjb3B5X25lZ2F0ZShzZWxmLCBhKToKKyAgICAgICAgIiIiUmV0dXJucyBhIGNvcHkgb2YgdGhlIG9wZXJhbmQgd2l0aCB0aGUgc2lnbiBpbnZlcnRlZC4KKworICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmNvcHlfbmVnYXRlKERlY2ltYWwoJzEwMS41JykpCisgICAgICAgIERlY2ltYWwoJy0xMDEuNScpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuY29weV9uZWdhdGUoRGVjaW1hbCgnLTEwMS41JykpCisgICAgICAgIERlY2ltYWwoJzEwMS41JykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5jb3B5X25lZ2F0ZSgxKQorICAgICAgICBEZWNpbWFsKCctMScpCisgICAgICAgICIiIgorICAgICAgICBhID0gX2NvbnZlcnRfb3RoZXIoYSwgcmFpc2VpdD1UcnVlKQorICAgICAgICByZXR1cm4gYS5jb3B5X25lZ2F0ZSgpCisKKyAgICBkZWYgY29weV9zaWduKHNlbGYsIGEsIGIpOgorICAgICAgICAiIiJDb3BpZXMgdGhlIHNlY29uZCBvcGVyYW5kJ3Mgc2lnbiB0byB0aGUgZmlyc3Qgb25lLgorCisgICAgICAgIEluIGRldGFpbCwgaXQgcmV0dXJucyBhIGNvcHkgb2YgdGhlIGZpcnN0IG9wZXJhbmQgd2l0aCB0aGUgc2lnbgorICAgICAgICBlcXVhbCB0byB0aGUgc2lnbiBvZiB0aGUgc2Vjb25kIG9wZXJhbmQuCisKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5jb3B5X3NpZ24oRGVjaW1hbCggJzEuNTAnKSwgRGVjaW1hbCgnNy4zMycpKQorICAgICAgICBEZWNpbWFsKCcxLjUwJykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5jb3B5X3NpZ24oRGVjaW1hbCgnLTEuNTAnKSwgRGVjaW1hbCgnNy4zMycpKQorICAgICAgICBEZWNpbWFsKCcxLjUwJykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5jb3B5X3NpZ24oRGVjaW1hbCggJzEuNTAnKSwgRGVjaW1hbCgnLTcuMzMnKSkKKyAgICAgICAgRGVjaW1hbCgnLTEuNTAnKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmNvcHlfc2lnbihEZWNpbWFsKCctMS41MCcpLCBEZWNpbWFsKCctNy4zMycpKQorICAgICAgICBEZWNpbWFsKCctMS41MCcpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuY29weV9zaWduKDEsIC0yKQorICAgICAgICBEZWNpbWFsKCctMScpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuY29weV9zaWduKERlY2ltYWwoMSksIC0yKQorICAgICAgICBEZWNpbWFsKCctMScpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuY29weV9zaWduKDEsIERlY2ltYWwoLTIpKQorICAgICAgICBEZWNpbWFsKCctMScpCisgICAgICAgICIiIgorICAgICAgICBhID0gX2NvbnZlcnRfb3RoZXIoYSwgcmFpc2VpdD1UcnVlKQorICAgICAgICByZXR1cm4gYS5jb3B5X3NpZ24oYikKKworICAgIGRlZiBkaXZpZGUoc2VsZiwgYSwgYik6CisgICAgICAgICIiIkRlY2ltYWwgZGl2aXNpb24gaW4gYSBzcGVjaWZpZWQgY29udGV4dC4KKworICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmRpdmlkZShEZWNpbWFsKCcxJyksIERlY2ltYWwoJzMnKSkKKyAgICAgICAgRGVjaW1hbCgnMC4zMzMzMzMzMzMnKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmRpdmlkZShEZWNpbWFsKCcyJyksIERlY2ltYWwoJzMnKSkKKyAgICAgICAgRGVjaW1hbCgnMC42NjY2NjY2NjcnKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmRpdmlkZShEZWNpbWFsKCc1JyksIERlY2ltYWwoJzInKSkKKyAgICAgICAgRGVjaW1hbCgnMi41JykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5kaXZpZGUoRGVjaW1hbCgnMScpLCBEZWNpbWFsKCcxMCcpKQorICAgICAgICBEZWNpbWFsKCcwLjEnKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmRpdmlkZShEZWNpbWFsKCcxMicpLCBEZWNpbWFsKCcxMicpKQorICAgICAgICBEZWNpbWFsKCcxJykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5kaXZpZGUoRGVjaW1hbCgnOC4wMCcpLCBEZWNpbWFsKCcyJykpCisgICAgICAgIERlY2ltYWwoJzQuMDAnKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmRpdmlkZShEZWNpbWFsKCcyLjQwMCcpLCBEZWNpbWFsKCcyLjAnKSkKKyAgICAgICAgRGVjaW1hbCgnMS4yMCcpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuZGl2aWRlKERlY2ltYWwoJzEwMDAnKSwgRGVjaW1hbCgnMTAwJykpCisgICAgICAgIERlY2ltYWwoJzEwJykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5kaXZpZGUoRGVjaW1hbCgnMTAwMCcpLCBEZWNpbWFsKCcxJykpCisgICAgICAgIERlY2ltYWwoJzEwMDAnKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmRpdmlkZShEZWNpbWFsKCcyLjQwRSs2JyksIERlY2ltYWwoJzInKSkKKyAgICAgICAgRGVjaW1hbCgnMS4yMEUrNicpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuZGl2aWRlKDUsIDUpCisgICAgICAgIERlY2ltYWwoJzEnKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmRpdmlkZShEZWNpbWFsKDUpLCA1KQorICAgICAgICBEZWNpbWFsKCcxJykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5kaXZpZGUoNSwgRGVjaW1hbCg1KSkKKyAgICAgICAgRGVjaW1hbCgnMScpCisgICAgICAgICIiIgorICAgICAgICBhID0gX2NvbnZlcnRfb3RoZXIoYSwgcmFpc2VpdD1UcnVlKQorICAgICAgICByID0gYS5fX3RydWVkaXZfXyhiLCBjb250ZXh0PXNlbGYpCisgICAgICAgIGlmIHIgaXMgTm90SW1wbGVtZW50ZWQ6CisgICAgICAgICAgICByYWlzZSBUeXBlRXJyb3IoIlVuYWJsZSB0byBjb252ZXJ0ICVzIHRvIERlY2ltYWwiICUgYikKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHJldHVybiByCisKKyAgICBkZWYgZGl2aWRlX2ludChzZWxmLCBhLCBiKToKKyAgICAgICAgIiIiRGl2aWRlcyB0d28gbnVtYmVycyBhbmQgcmV0dXJucyB0aGUgaW50ZWdlciBwYXJ0IG9mIHRoZSByZXN1bHQuCisKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5kaXZpZGVfaW50KERlY2ltYWwoJzInKSwgRGVjaW1hbCgnMycpKQorICAgICAgICBEZWNpbWFsKCcwJykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5kaXZpZGVfaW50KERlY2ltYWwoJzEwJyksIERlY2ltYWwoJzMnKSkKKyAgICAgICAgRGVjaW1hbCgnMycpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuZGl2aWRlX2ludChEZWNpbWFsKCcxJyksIERlY2ltYWwoJzAuMycpKQorICAgICAgICBEZWNpbWFsKCczJykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5kaXZpZGVfaW50KDEwLCAzKQorICAgICAgICBEZWNpbWFsKCczJykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5kaXZpZGVfaW50KERlY2ltYWwoMTApLCAzKQorICAgICAgICBEZWNpbWFsKCczJykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5kaXZpZGVfaW50KDEwLCBEZWNpbWFsKDMpKQorICAgICAgICBEZWNpbWFsKCczJykKKyAgICAgICAgIiIiCisgICAgICAgIGEgPSBfY29udmVydF9vdGhlcihhLCByYWlzZWl0PVRydWUpCisgICAgICAgIHIgPSBhLl9fZmxvb3JkaXZfXyhiLCBjb250ZXh0PXNlbGYpCisgICAgICAgIGlmIHIgaXMgTm90SW1wbGVtZW50ZWQ6CisgICAgICAgICAgICByYWlzZSBUeXBlRXJyb3IoIlVuYWJsZSB0byBjb252ZXJ0ICVzIHRvIERlY2ltYWwiICUgYikKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHJldHVybiByCisKKyAgICBkZWYgZGl2bW9kKHNlbGYsIGEsIGIpOgorICAgICAgICAiIiJSZXR1cm4gKGEgLy8gYiwgYSAlIGIpLgorCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuZGl2bW9kKERlY2ltYWwoOCksIERlY2ltYWwoMykpCisgICAgICAgIChEZWNpbWFsKCcyJyksIERlY2ltYWwoJzInKSkKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5kaXZtb2QoRGVjaW1hbCg4KSwgRGVjaW1hbCg0KSkKKyAgICAgICAgKERlY2ltYWwoJzInKSwgRGVjaW1hbCgnMCcpKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmRpdm1vZCg4LCA0KQorICAgICAgICAoRGVjaW1hbCgnMicpLCBEZWNpbWFsKCcwJykpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuZGl2bW9kKERlY2ltYWwoOCksIDQpCisgICAgICAgIChEZWNpbWFsKCcyJyksIERlY2ltYWwoJzAnKSkKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5kaXZtb2QoOCwgRGVjaW1hbCg0KSkKKyAgICAgICAgKERlY2ltYWwoJzInKSwgRGVjaW1hbCgnMCcpKQorICAgICAgICAiIiIKKyAgICAgICAgYSA9IF9jb252ZXJ0X290aGVyKGEsIHJhaXNlaXQ9VHJ1ZSkKKyAgICAgICAgciA9IGEuX19kaXZtb2RfXyhiLCBjb250ZXh0PXNlbGYpCisgICAgICAgIGlmIHIgaXMgTm90SW1wbGVtZW50ZWQ6CisgICAgICAgICAgICByYWlzZSBUeXBlRXJyb3IoIlVuYWJsZSB0byBjb252ZXJ0ICVzIHRvIERlY2ltYWwiICUgYikKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHJldHVybiByCisKKyAgICBkZWYgZXhwKHNlbGYsIGEpOgorICAgICAgICAiIiJSZXR1cm5zIGUgKiogYS4KKworICAgICAgICA+Pj4gYyA9IEV4dGVuZGVkQ29udGV4dC5jb3B5KCkKKyAgICAgICAgPj4+IGMuRW1pbiA9IC05OTkKKyAgICAgICAgPj4+IGMuRW1heCA9IDk5OQorICAgICAgICA+Pj4gYy5leHAoRGVjaW1hbCgnLUluZmluaXR5JykpCisgICAgICAgIERlY2ltYWwoJzAnKQorICAgICAgICA+Pj4gYy5leHAoRGVjaW1hbCgnLTEnKSkKKyAgICAgICAgRGVjaW1hbCgnMC4zNjc4Nzk0NDEnKQorICAgICAgICA+Pj4gYy5leHAoRGVjaW1hbCgnMCcpKQorICAgICAgICBEZWNpbWFsKCcxJykKKyAgICAgICAgPj4+IGMuZXhwKERlY2ltYWwoJzEnKSkKKyAgICAgICAgRGVjaW1hbCgnMi43MTgyODE4MycpCisgICAgICAgID4+PiBjLmV4cChEZWNpbWFsKCcwLjY5MzE0NzE4MScpKQorICAgICAgICBEZWNpbWFsKCcyLjAwMDAwMDAwJykKKyAgICAgICAgPj4+IGMuZXhwKERlY2ltYWwoJytJbmZpbml0eScpKQorICAgICAgICBEZWNpbWFsKCdJbmZpbml0eScpCisgICAgICAgID4+PiBjLmV4cCgxMCkKKyAgICAgICAgRGVjaW1hbCgnMjIwMjYuNDY1OCcpCisgICAgICAgICIiIgorICAgICAgICBhID1fY29udmVydF9vdGhlcihhLCByYWlzZWl0PVRydWUpCisgICAgICAgIHJldHVybiBhLmV4cChjb250ZXh0PXNlbGYpCisKKyAgICBkZWYgZm1hKHNlbGYsIGEsIGIsIGMpOgorICAgICAgICAiIiJSZXR1cm5zIGEgbXVsdGlwbGllZCBieSBiLCBwbHVzIGMuCisKKyAgICAgICAgVGhlIGZpcnN0IHR3byBvcGVyYW5kcyBhcmUgbXVsdGlwbGllZCB0b2dldGhlciwgdXNpbmcgbXVsdGlwbHksCisgICAgICAgIHRoZSB0aGlyZCBvcGVyYW5kIGlzIHRoZW4gYWRkZWQgdG8gdGhlIHJlc3VsdCBvZiB0aGF0CisgICAgICAgIG11bHRpcGxpY2F0aW9uLCB1c2luZyBhZGQsIGFsbCB3aXRoIG9ubHkgb25lIGZpbmFsIHJvdW5kaW5nLgorCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuZm1hKERlY2ltYWwoJzMnKSwgRGVjaW1hbCgnNScpLCBEZWNpbWFsKCc3JykpCisgICAgICAgIERlY2ltYWwoJzIyJykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5mbWEoRGVjaW1hbCgnMycpLCBEZWNpbWFsKCctNScpLCBEZWNpbWFsKCc3JykpCisgICAgICAgIERlY2ltYWwoJy04JykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5mbWEoRGVjaW1hbCgnODg4NTY1MjkwJyksIERlY2ltYWwoJzE1NTcuOTY5MzAnKSwgRGVjaW1hbCgnLTg2MDg3Ljc1NzgnKSkKKyAgICAgICAgRGVjaW1hbCgnMS4zODQzNTczNkUrMTInKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmZtYSgxLCAzLCA0KQorICAgICAgICBEZWNpbWFsKCc3JykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5mbWEoMSwgRGVjaW1hbCgzKSwgNCkKKyAgICAgICAgRGVjaW1hbCgnNycpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuZm1hKDEsIDMsIERlY2ltYWwoNCkpCisgICAgICAgIERlY2ltYWwoJzcnKQorICAgICAgICAiIiIKKyAgICAgICAgYSA9IF9jb252ZXJ0X290aGVyKGEsIHJhaXNlaXQ9VHJ1ZSkKKyAgICAgICAgcmV0dXJuIGEuZm1hKGIsIGMsIGNvbnRleHQ9c2VsZikKKworICAgIGRlZiBpc19jYW5vbmljYWwoc2VsZiwgYSk6CisgICAgICAgICIiIlJldHVybiBUcnVlIGlmIHRoZSBvcGVyYW5kIGlzIGNhbm9uaWNhbDsgb3RoZXJ3aXNlIHJldHVybiBGYWxzZS4KKworICAgICAgICBDdXJyZW50bHksIHRoZSBlbmNvZGluZyBvZiBhIERlY2ltYWwgaW5zdGFuY2UgaXMgYWx3YXlzCisgICAgICAgIGNhbm9uaWNhbCwgc28gdGhpcyBtZXRob2QgcmV0dXJucyBUcnVlIGZvciBhbnkgRGVjaW1hbC4KKworICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmlzX2Nhbm9uaWNhbChEZWNpbWFsKCcyLjUwJykpCisgICAgICAgIFRydWUKKyAgICAgICAgIiIiCisgICAgICAgIGlmIG5vdCBpc2luc3RhbmNlKGEsIERlY2ltYWwpOgorICAgICAgICAgICAgcmFpc2UgVHlwZUVycm9yKCJpc19jYW5vbmljYWwgcmVxdWlyZXMgYSBEZWNpbWFsIGFzIGFuIGFyZ3VtZW50LiIpCisgICAgICAgIHJldHVybiBhLmlzX2Nhbm9uaWNhbCgpCisKKyAgICBkZWYgaXNfZmluaXRlKHNlbGYsIGEpOgorICAgICAgICAiIiJSZXR1cm4gVHJ1ZSBpZiB0aGUgb3BlcmFuZCBpcyBmaW5pdGU7IG90aGVyd2lzZSByZXR1cm4gRmFsc2UuCisKKyAgICAgICAgQSBEZWNpbWFsIGluc3RhbmNlIGlzIGNvbnNpZGVyZWQgZmluaXRlIGlmIGl0IGlzIG5laXRoZXIKKyAgICAgICAgaW5maW5pdGUgbm9yIGEgTmFOLgorCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuaXNfZmluaXRlKERlY2ltYWwoJzIuNTAnKSkKKyAgICAgICAgVHJ1ZQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmlzX2Zpbml0ZShEZWNpbWFsKCctMC4zJykpCisgICAgICAgIFRydWUKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5pc19maW5pdGUoRGVjaW1hbCgnMCcpKQorICAgICAgICBUcnVlCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuaXNfZmluaXRlKERlY2ltYWwoJ0luZicpKQorICAgICAgICBGYWxzZQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmlzX2Zpbml0ZShEZWNpbWFsKCdOYU4nKSkKKyAgICAgICAgRmFsc2UKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5pc19maW5pdGUoMSkKKyAgICAgICAgVHJ1ZQorICAgICAgICAiIiIKKyAgICAgICAgYSA9IF9jb252ZXJ0X290aGVyKGEsIHJhaXNlaXQ9VHJ1ZSkKKyAgICAgICAgcmV0dXJuIGEuaXNfZmluaXRlKCkKKworICAgIGRlZiBpc19pbmZpbml0ZShzZWxmLCBhKToKKyAgICAgICAgIiIiUmV0dXJuIFRydWUgaWYgdGhlIG9wZXJhbmQgaXMgaW5maW5pdGU7IG90aGVyd2lzZSByZXR1cm4gRmFsc2UuCisKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5pc19pbmZpbml0ZShEZWNpbWFsKCcyLjUwJykpCisgICAgICAgIEZhbHNlCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuaXNfaW5maW5pdGUoRGVjaW1hbCgnLUluZicpKQorICAgICAgICBUcnVlCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuaXNfaW5maW5pdGUoRGVjaW1hbCgnTmFOJykpCisgICAgICAgIEZhbHNlCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuaXNfaW5maW5pdGUoMSkKKyAgICAgICAgRmFsc2UKKyAgICAgICAgIiIiCisgICAgICAgIGEgPSBfY29udmVydF9vdGhlcihhLCByYWlzZWl0PVRydWUpCisgICAgICAgIHJldHVybiBhLmlzX2luZmluaXRlKCkKKworICAgIGRlZiBpc19uYW4oc2VsZiwgYSk6CisgICAgICAgICIiIlJldHVybiBUcnVlIGlmIHRoZSBvcGVyYW5kIGlzIGEgcU5hTiBvciBzTmFOOworICAgICAgICBvdGhlcndpc2UgcmV0dXJuIEZhbHNlLgorCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuaXNfbmFuKERlY2ltYWwoJzIuNTAnKSkKKyAgICAgICAgRmFsc2UKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5pc19uYW4oRGVjaW1hbCgnTmFOJykpCisgICAgICAgIFRydWUKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5pc19uYW4oRGVjaW1hbCgnLXNOYU4nKSkKKyAgICAgICAgVHJ1ZQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmlzX25hbigxKQorICAgICAgICBGYWxzZQorICAgICAgICAiIiIKKyAgICAgICAgYSA9IF9jb252ZXJ0X290aGVyKGEsIHJhaXNlaXQ9VHJ1ZSkKKyAgICAgICAgcmV0dXJuIGEuaXNfbmFuKCkKKworICAgIGRlZiBpc19ub3JtYWwoc2VsZiwgYSk6CisgICAgICAgICIiIlJldHVybiBUcnVlIGlmIHRoZSBvcGVyYW5kIGlzIGEgbm9ybWFsIG51bWJlcjsKKyAgICAgICAgb3RoZXJ3aXNlIHJldHVybiBGYWxzZS4KKworICAgICAgICA+Pj4gYyA9IEV4dGVuZGVkQ29udGV4dC5jb3B5KCkKKyAgICAgICAgPj4+IGMuRW1pbiA9IC05OTkKKyAgICAgICAgPj4+IGMuRW1heCA9IDk5OQorICAgICAgICA+Pj4gYy5pc19ub3JtYWwoRGVjaW1hbCgnMi41MCcpKQorICAgICAgICBUcnVlCisgICAgICAgID4+PiBjLmlzX25vcm1hbChEZWNpbWFsKCcwLjFFLTk5OScpKQorICAgICAgICBGYWxzZQorICAgICAgICA+Pj4gYy5pc19ub3JtYWwoRGVjaW1hbCgnMC4wMCcpKQorICAgICAgICBGYWxzZQorICAgICAgICA+Pj4gYy5pc19ub3JtYWwoRGVjaW1hbCgnLUluZicpKQorICAgICAgICBGYWxzZQorICAgICAgICA+Pj4gYy5pc19ub3JtYWwoRGVjaW1hbCgnTmFOJykpCisgICAgICAgIEZhbHNlCisgICAgICAgID4+PiBjLmlzX25vcm1hbCgxKQorICAgICAgICBUcnVlCisgICAgICAgICIiIgorICAgICAgICBhID0gX2NvbnZlcnRfb3RoZXIoYSwgcmFpc2VpdD1UcnVlKQorICAgICAgICByZXR1cm4gYS5pc19ub3JtYWwoY29udGV4dD1zZWxmKQorCisgICAgZGVmIGlzX3FuYW4oc2VsZiwgYSk6CisgICAgICAgICIiIlJldHVybiBUcnVlIGlmIHRoZSBvcGVyYW5kIGlzIGEgcXVpZXQgTmFOOyBvdGhlcndpc2UgcmV0dXJuIEZhbHNlLgorCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuaXNfcW5hbihEZWNpbWFsKCcyLjUwJykpCisgICAgICAgIEZhbHNlCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuaXNfcW5hbihEZWNpbWFsKCdOYU4nKSkKKyAgICAgICAgVHJ1ZQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmlzX3FuYW4oRGVjaW1hbCgnc05hTicpKQorICAgICAgICBGYWxzZQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmlzX3FuYW4oMSkKKyAgICAgICAgRmFsc2UKKyAgICAgICAgIiIiCisgICAgICAgIGEgPSBfY29udmVydF9vdGhlcihhLCByYWlzZWl0PVRydWUpCisgICAgICAgIHJldHVybiBhLmlzX3FuYW4oKQorCisgICAgZGVmIGlzX3NpZ25lZChzZWxmLCBhKToKKyAgICAgICAgIiIiUmV0dXJuIFRydWUgaWYgdGhlIG9wZXJhbmQgaXMgbmVnYXRpdmU7IG90aGVyd2lzZSByZXR1cm4gRmFsc2UuCisKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5pc19zaWduZWQoRGVjaW1hbCgnMi41MCcpKQorICAgICAgICBGYWxzZQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmlzX3NpZ25lZChEZWNpbWFsKCctMTInKSkKKyAgICAgICAgVHJ1ZQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmlzX3NpZ25lZChEZWNpbWFsKCctMCcpKQorICAgICAgICBUcnVlCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuaXNfc2lnbmVkKDgpCisgICAgICAgIEZhbHNlCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuaXNfc2lnbmVkKC04KQorICAgICAgICBUcnVlCisgICAgICAgICIiIgorICAgICAgICBhID0gX2NvbnZlcnRfb3RoZXIoYSwgcmFpc2VpdD1UcnVlKQorICAgICAgICByZXR1cm4gYS5pc19zaWduZWQoKQorCisgICAgZGVmIGlzX3NuYW4oc2VsZiwgYSk6CisgICAgICAgICIiIlJldHVybiBUcnVlIGlmIHRoZSBvcGVyYW5kIGlzIGEgc2lnbmFsaW5nIE5hTjsKKyAgICAgICAgb3RoZXJ3aXNlIHJldHVybiBGYWxzZS4KKworICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmlzX3NuYW4oRGVjaW1hbCgnMi41MCcpKQorICAgICAgICBGYWxzZQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmlzX3NuYW4oRGVjaW1hbCgnTmFOJykpCisgICAgICAgIEZhbHNlCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuaXNfc25hbihEZWNpbWFsKCdzTmFOJykpCisgICAgICAgIFRydWUKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5pc19zbmFuKDEpCisgICAgICAgIEZhbHNlCisgICAgICAgICIiIgorICAgICAgICBhID0gX2NvbnZlcnRfb3RoZXIoYSwgcmFpc2VpdD1UcnVlKQorICAgICAgICByZXR1cm4gYS5pc19zbmFuKCkKKworICAgIGRlZiBpc19zdWJub3JtYWwoc2VsZiwgYSk6CisgICAgICAgICIiIlJldHVybiBUcnVlIGlmIHRoZSBvcGVyYW5kIGlzIHN1Ym5vcm1hbDsgb3RoZXJ3aXNlIHJldHVybiBGYWxzZS4KKworICAgICAgICA+Pj4gYyA9IEV4dGVuZGVkQ29udGV4dC5jb3B5KCkKKyAgICAgICAgPj4+IGMuRW1pbiA9IC05OTkKKyAgICAgICAgPj4+IGMuRW1heCA9IDk5OQorICAgICAgICA+Pj4gYy5pc19zdWJub3JtYWwoRGVjaW1hbCgnMi41MCcpKQorICAgICAgICBGYWxzZQorICAgICAgICA+Pj4gYy5pc19zdWJub3JtYWwoRGVjaW1hbCgnMC4xRS05OTknKSkKKyAgICAgICAgVHJ1ZQorICAgICAgICA+Pj4gYy5pc19zdWJub3JtYWwoRGVjaW1hbCgnMC4wMCcpKQorICAgICAgICBGYWxzZQorICAgICAgICA+Pj4gYy5pc19zdWJub3JtYWwoRGVjaW1hbCgnLUluZicpKQorICAgICAgICBGYWxzZQorICAgICAgICA+Pj4gYy5pc19zdWJub3JtYWwoRGVjaW1hbCgnTmFOJykpCisgICAgICAgIEZhbHNlCisgICAgICAgID4+PiBjLmlzX3N1Ym5vcm1hbCgxKQorICAgICAgICBGYWxzZQorICAgICAgICAiIiIKKyAgICAgICAgYSA9IF9jb252ZXJ0X290aGVyKGEsIHJhaXNlaXQ9VHJ1ZSkKKyAgICAgICAgcmV0dXJuIGEuaXNfc3Vibm9ybWFsKGNvbnRleHQ9c2VsZikKKworICAgIGRlZiBpc196ZXJvKHNlbGYsIGEpOgorICAgICAgICAiIiJSZXR1cm4gVHJ1ZSBpZiB0aGUgb3BlcmFuZCBpcyBhIHplcm87IG90aGVyd2lzZSByZXR1cm4gRmFsc2UuCisKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5pc196ZXJvKERlY2ltYWwoJzAnKSkKKyAgICAgICAgVHJ1ZQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmlzX3plcm8oRGVjaW1hbCgnMi41MCcpKQorICAgICAgICBGYWxzZQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmlzX3plcm8oRGVjaW1hbCgnLTBFKzInKSkKKyAgICAgICAgVHJ1ZQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmlzX3plcm8oMSkKKyAgICAgICAgRmFsc2UKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5pc196ZXJvKDApCisgICAgICAgIFRydWUKKyAgICAgICAgIiIiCisgICAgICAgIGEgPSBfY29udmVydF9vdGhlcihhLCByYWlzZWl0PVRydWUpCisgICAgICAgIHJldHVybiBhLmlzX3plcm8oKQorCisgICAgZGVmIGxuKHNlbGYsIGEpOgorICAgICAgICAiIiJSZXR1cm5zIHRoZSBuYXR1cmFsIChiYXNlIGUpIGxvZ2FyaXRobSBvZiB0aGUgb3BlcmFuZC4KKworICAgICAgICA+Pj4gYyA9IEV4dGVuZGVkQ29udGV4dC5jb3B5KCkKKyAgICAgICAgPj4+IGMuRW1pbiA9IC05OTkKKyAgICAgICAgPj4+IGMuRW1heCA9IDk5OQorICAgICAgICA+Pj4gYy5sbihEZWNpbWFsKCcwJykpCisgICAgICAgIERlY2ltYWwoJy1JbmZpbml0eScpCisgICAgICAgID4+PiBjLmxuKERlY2ltYWwoJzEuMDAwJykpCisgICAgICAgIERlY2ltYWwoJzAnKQorICAgICAgICA+Pj4gYy5sbihEZWNpbWFsKCcyLjcxODI4MTgzJykpCisgICAgICAgIERlY2ltYWwoJzEuMDAwMDAwMDAnKQorICAgICAgICA+Pj4gYy5sbihEZWNpbWFsKCcxMCcpKQorICAgICAgICBEZWNpbWFsKCcyLjMwMjU4NTA5JykKKyAgICAgICAgPj4+IGMubG4oRGVjaW1hbCgnK0luZmluaXR5JykpCisgICAgICAgIERlY2ltYWwoJ0luZmluaXR5JykKKyAgICAgICAgPj4+IGMubG4oMSkKKyAgICAgICAgRGVjaW1hbCgnMCcpCisgICAgICAgICIiIgorICAgICAgICBhID0gX2NvbnZlcnRfb3RoZXIoYSwgcmFpc2VpdD1UcnVlKQorICAgICAgICByZXR1cm4gYS5sbihjb250ZXh0PXNlbGYpCisKKyAgICBkZWYgbG9nMTAoc2VsZiwgYSk6CisgICAgICAgICIiIlJldHVybnMgdGhlIGJhc2UgMTAgbG9nYXJpdGhtIG9mIHRoZSBvcGVyYW5kLgorCisgICAgICAgID4+PiBjID0gRXh0ZW5kZWRDb250ZXh0LmNvcHkoKQorICAgICAgICA+Pj4gYy5FbWluID0gLTk5OQorICAgICAgICA+Pj4gYy5FbWF4ID0gOTk5CisgICAgICAgID4+PiBjLmxvZzEwKERlY2ltYWwoJzAnKSkKKyAgICAgICAgRGVjaW1hbCgnLUluZmluaXR5JykKKyAgICAgICAgPj4+IGMubG9nMTAoRGVjaW1hbCgnMC4wMDEnKSkKKyAgICAgICAgRGVjaW1hbCgnLTMnKQorICAgICAgICA+Pj4gYy5sb2cxMChEZWNpbWFsKCcxLjAwMCcpKQorICAgICAgICBEZWNpbWFsKCcwJykKKyAgICAgICAgPj4+IGMubG9nMTAoRGVjaW1hbCgnMicpKQorICAgICAgICBEZWNpbWFsKCcwLjMwMTAyOTk5NicpCisgICAgICAgID4+PiBjLmxvZzEwKERlY2ltYWwoJzEwJykpCisgICAgICAgIERlY2ltYWwoJzEnKQorICAgICAgICA+Pj4gYy5sb2cxMChEZWNpbWFsKCc3MCcpKQorICAgICAgICBEZWNpbWFsKCcxLjg0NTA5ODA0JykKKyAgICAgICAgPj4+IGMubG9nMTAoRGVjaW1hbCgnK0luZmluaXR5JykpCisgICAgICAgIERlY2ltYWwoJ0luZmluaXR5JykKKyAgICAgICAgPj4+IGMubG9nMTAoMCkKKyAgICAgICAgRGVjaW1hbCgnLUluZmluaXR5JykKKyAgICAgICAgPj4+IGMubG9nMTAoMSkKKyAgICAgICAgRGVjaW1hbCgnMCcpCisgICAgICAgICIiIgorICAgICAgICBhID0gX2NvbnZlcnRfb3RoZXIoYSwgcmFpc2VpdD1UcnVlKQorICAgICAgICByZXR1cm4gYS5sb2cxMChjb250ZXh0PXNlbGYpCisKKyAgICBkZWYgbG9nYihzZWxmLCBhKToKKyAgICAgICAgIiIiIFJldHVybnMgdGhlIGV4cG9uZW50IG9mIHRoZSBtYWduaXR1ZGUgb2YgdGhlIG9wZXJhbmQncyBNU0QuCisKKyAgICAgICAgVGhlIHJlc3VsdCBpcyB0aGUgaW50ZWdlciB3aGljaCBpcyB0aGUgZXhwb25lbnQgb2YgdGhlIG1hZ25pdHVkZQorICAgICAgICBvZiB0aGUgbW9zdCBzaWduaWZpY2FudCBkaWdpdCBvZiB0aGUgb3BlcmFuZCAoYXMgdGhvdWdoIHRoZQorICAgICAgICBvcGVyYW5kIHdlcmUgdHJ1bmNhdGVkIHRvIGEgc2luZ2xlIGRpZ2l0IHdoaWxlIG1haW50YWluaW5nIHRoZQorICAgICAgICB2YWx1ZSBvZiB0aGF0IGRpZ2l0IGFuZCB3aXRob3V0IGxpbWl0aW5nIHRoZSByZXN1bHRpbmcgZXhwb25lbnQpLgorCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubG9nYihEZWNpbWFsKCcyNTAnKSkKKyAgICAgICAgRGVjaW1hbCgnMicpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubG9nYihEZWNpbWFsKCcyLjUwJykpCisgICAgICAgIERlY2ltYWwoJzAnKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmxvZ2IoRGVjaW1hbCgnMC4wMycpKQorICAgICAgICBEZWNpbWFsKCctMicpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubG9nYihEZWNpbWFsKCcwJykpCisgICAgICAgIERlY2ltYWwoJy1JbmZpbml0eScpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubG9nYigxKQorICAgICAgICBEZWNpbWFsKCcwJykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5sb2diKDEwKQorICAgICAgICBEZWNpbWFsKCcxJykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5sb2diKDEwMCkKKyAgICAgICAgRGVjaW1hbCgnMicpCisgICAgICAgICIiIgorICAgICAgICBhID0gX2NvbnZlcnRfb3RoZXIoYSwgcmFpc2VpdD1UcnVlKQorICAgICAgICByZXR1cm4gYS5sb2diKGNvbnRleHQ9c2VsZikKKworICAgIGRlZiBsb2dpY2FsX2FuZChzZWxmLCBhLCBiKToKKyAgICAgICAgIiIiQXBwbGllcyB0aGUgbG9naWNhbCBvcGVyYXRpb24gJ2FuZCcgYmV0d2VlbiBlYWNoIG9wZXJhbmQncyBkaWdpdHMuCisKKyAgICAgICAgVGhlIG9wZXJhbmRzIG11c3QgYmUgYm90aCBsb2dpY2FsIG51bWJlcnMuCisKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5sb2dpY2FsX2FuZChEZWNpbWFsKCcwJyksIERlY2ltYWwoJzAnKSkKKyAgICAgICAgRGVjaW1hbCgnMCcpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubG9naWNhbF9hbmQoRGVjaW1hbCgnMCcpLCBEZWNpbWFsKCcxJykpCisgICAgICAgIERlY2ltYWwoJzAnKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmxvZ2ljYWxfYW5kKERlY2ltYWwoJzEnKSwgRGVjaW1hbCgnMCcpKQorICAgICAgICBEZWNpbWFsKCcwJykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5sb2dpY2FsX2FuZChEZWNpbWFsKCcxJyksIERlY2ltYWwoJzEnKSkKKyAgICAgICAgRGVjaW1hbCgnMScpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubG9naWNhbF9hbmQoRGVjaW1hbCgnMTEwMCcpLCBEZWNpbWFsKCcxMDEwJykpCisgICAgICAgIERlY2ltYWwoJzEwMDAnKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmxvZ2ljYWxfYW5kKERlY2ltYWwoJzExMTEnKSwgRGVjaW1hbCgnMTAnKSkKKyAgICAgICAgRGVjaW1hbCgnMTAnKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmxvZ2ljYWxfYW5kKDExMCwgMTEwMSkKKyAgICAgICAgRGVjaW1hbCgnMTAwJykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5sb2dpY2FsX2FuZChEZWNpbWFsKDExMCksIDExMDEpCisgICAgICAgIERlY2ltYWwoJzEwMCcpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubG9naWNhbF9hbmQoMTEwLCBEZWNpbWFsKDExMDEpKQorICAgICAgICBEZWNpbWFsKCcxMDAnKQorICAgICAgICAiIiIKKyAgICAgICAgYSA9IF9jb252ZXJ0X290aGVyKGEsIHJhaXNlaXQ9VHJ1ZSkKKyAgICAgICAgcmV0dXJuIGEubG9naWNhbF9hbmQoYiwgY29udGV4dD1zZWxmKQorCisgICAgZGVmIGxvZ2ljYWxfaW52ZXJ0KHNlbGYsIGEpOgorICAgICAgICAiIiJJbnZlcnQgYWxsIHRoZSBkaWdpdHMgaW4gdGhlIG9wZXJhbmQuCisKKyAgICAgICAgVGhlIG9wZXJhbmQgbXVzdCBiZSBhIGxvZ2ljYWwgbnVtYmVyLgorCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubG9naWNhbF9pbnZlcnQoRGVjaW1hbCgnMCcpKQorICAgICAgICBEZWNpbWFsKCcxMTExMTExMTEnKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmxvZ2ljYWxfaW52ZXJ0KERlY2ltYWwoJzEnKSkKKyAgICAgICAgRGVjaW1hbCgnMTExMTExMTEwJykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5sb2dpY2FsX2ludmVydChEZWNpbWFsKCcxMTExMTExMTEnKSkKKyAgICAgICAgRGVjaW1hbCgnMCcpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubG9naWNhbF9pbnZlcnQoRGVjaW1hbCgnMTAxMDEwMTAxJykpCisgICAgICAgIERlY2ltYWwoJzEwMTAxMDEwJykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5sb2dpY2FsX2ludmVydCgxMTAxKQorICAgICAgICBEZWNpbWFsKCcxMTExMTAwMTAnKQorICAgICAgICAiIiIKKyAgICAgICAgYSA9IF9jb252ZXJ0X290aGVyKGEsIHJhaXNlaXQ9VHJ1ZSkKKyAgICAgICAgcmV0dXJuIGEubG9naWNhbF9pbnZlcnQoY29udGV4dD1zZWxmKQorCisgICAgZGVmIGxvZ2ljYWxfb3Ioc2VsZiwgYSwgYik6CisgICAgICAgICIiIkFwcGxpZXMgdGhlIGxvZ2ljYWwgb3BlcmF0aW9uICdvcicgYmV0d2VlbiBlYWNoIG9wZXJhbmQncyBkaWdpdHMuCisKKyAgICAgICAgVGhlIG9wZXJhbmRzIG11c3QgYmUgYm90aCBsb2dpY2FsIG51bWJlcnMuCisKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5sb2dpY2FsX29yKERlY2ltYWwoJzAnKSwgRGVjaW1hbCgnMCcpKQorICAgICAgICBEZWNpbWFsKCcwJykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5sb2dpY2FsX29yKERlY2ltYWwoJzAnKSwgRGVjaW1hbCgnMScpKQorICAgICAgICBEZWNpbWFsKCcxJykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5sb2dpY2FsX29yKERlY2ltYWwoJzEnKSwgRGVjaW1hbCgnMCcpKQorICAgICAgICBEZWNpbWFsKCcxJykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5sb2dpY2FsX29yKERlY2ltYWwoJzEnKSwgRGVjaW1hbCgnMScpKQorICAgICAgICBEZWNpbWFsKCcxJykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5sb2dpY2FsX29yKERlY2ltYWwoJzExMDAnKSwgRGVjaW1hbCgnMTAxMCcpKQorICAgICAgICBEZWNpbWFsKCcxMTEwJykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5sb2dpY2FsX29yKERlY2ltYWwoJzExMTAnKSwgRGVjaW1hbCgnMTAnKSkKKyAgICAgICAgRGVjaW1hbCgnMTExMCcpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubG9naWNhbF9vcigxMTAsIDExMDEpCisgICAgICAgIERlY2ltYWwoJzExMTEnKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmxvZ2ljYWxfb3IoRGVjaW1hbCgxMTApLCAxMTAxKQorICAgICAgICBEZWNpbWFsKCcxMTExJykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5sb2dpY2FsX29yKDExMCwgRGVjaW1hbCgxMTAxKSkKKyAgICAgICAgRGVjaW1hbCgnMTExMScpCisgICAgICAgICIiIgorICAgICAgICBhID0gX2NvbnZlcnRfb3RoZXIoYSwgcmFpc2VpdD1UcnVlKQorICAgICAgICByZXR1cm4gYS5sb2dpY2FsX29yKGIsIGNvbnRleHQ9c2VsZikKKworICAgIGRlZiBsb2dpY2FsX3hvcihzZWxmLCBhLCBiKToKKyAgICAgICAgIiIiQXBwbGllcyB0aGUgbG9naWNhbCBvcGVyYXRpb24gJ3hvcicgYmV0d2VlbiBlYWNoIG9wZXJhbmQncyBkaWdpdHMuCisKKyAgICAgICAgVGhlIG9wZXJhbmRzIG11c3QgYmUgYm90aCBsb2dpY2FsIG51bWJlcnMuCisKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5sb2dpY2FsX3hvcihEZWNpbWFsKCcwJyksIERlY2ltYWwoJzAnKSkKKyAgICAgICAgRGVjaW1hbCgnMCcpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubG9naWNhbF94b3IoRGVjaW1hbCgnMCcpLCBEZWNpbWFsKCcxJykpCisgICAgICAgIERlY2ltYWwoJzEnKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmxvZ2ljYWxfeG9yKERlY2ltYWwoJzEnKSwgRGVjaW1hbCgnMCcpKQorICAgICAgICBEZWNpbWFsKCcxJykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5sb2dpY2FsX3hvcihEZWNpbWFsKCcxJyksIERlY2ltYWwoJzEnKSkKKyAgICAgICAgRGVjaW1hbCgnMCcpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubG9naWNhbF94b3IoRGVjaW1hbCgnMTEwMCcpLCBEZWNpbWFsKCcxMDEwJykpCisgICAgICAgIERlY2ltYWwoJzExMCcpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubG9naWNhbF94b3IoRGVjaW1hbCgnMTExMScpLCBEZWNpbWFsKCcxMCcpKQorICAgICAgICBEZWNpbWFsKCcxMTAxJykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5sb2dpY2FsX3hvcigxMTAsIDExMDEpCisgICAgICAgIERlY2ltYWwoJzEwMTEnKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmxvZ2ljYWxfeG9yKERlY2ltYWwoMTEwKSwgMTEwMSkKKyAgICAgICAgRGVjaW1hbCgnMTAxMScpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubG9naWNhbF94b3IoMTEwLCBEZWNpbWFsKDExMDEpKQorICAgICAgICBEZWNpbWFsKCcxMDExJykKKyAgICAgICAgIiIiCisgICAgICAgIGEgPSBfY29udmVydF9vdGhlcihhLCByYWlzZWl0PVRydWUpCisgICAgICAgIHJldHVybiBhLmxvZ2ljYWxfeG9yKGIsIGNvbnRleHQ9c2VsZikKKworICAgIGRlZiBtYXgoc2VsZiwgYSwgYik6CisgICAgICAgICIiIm1heCBjb21wYXJlcyB0d28gdmFsdWVzIG51bWVyaWNhbGx5IGFuZCByZXR1cm5zIHRoZSBtYXhpbXVtLgorCisgICAgICAgIElmIGVpdGhlciBvcGVyYW5kIGlzIGEgTmFOIHRoZW4gdGhlIGdlbmVyYWwgcnVsZXMgYXBwbHkuCisgICAgICAgIE90aGVyd2lzZSwgdGhlIG9wZXJhbmRzIGFyZSBjb21wYXJlZCBhcyB0aG91Z2ggYnkgdGhlIGNvbXBhcmUKKyAgICAgICAgb3BlcmF0aW9uLiAgSWYgdGhleSBhcmUgbnVtZXJpY2FsbHkgZXF1YWwgdGhlbiB0aGUgbGVmdC1oYW5kIG9wZXJhbmQKKyAgICAgICAgaXMgY2hvc2VuIGFzIHRoZSByZXN1bHQuICBPdGhlcndpc2UgdGhlIG1heGltdW0gKGNsb3NlciB0byBwb3NpdGl2ZQorICAgICAgICBpbmZpbml0eSkgb2YgdGhlIHR3byBvcGVyYW5kcyBpcyBjaG9zZW4gYXMgdGhlIHJlc3VsdC4KKworICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0Lm1heChEZWNpbWFsKCczJyksIERlY2ltYWwoJzInKSkKKyAgICAgICAgRGVjaW1hbCgnMycpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubWF4KERlY2ltYWwoJy0xMCcpLCBEZWNpbWFsKCczJykpCisgICAgICAgIERlY2ltYWwoJzMnKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0Lm1heChEZWNpbWFsKCcxLjAnKSwgRGVjaW1hbCgnMScpKQorICAgICAgICBEZWNpbWFsKCcxJykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5tYXgoRGVjaW1hbCgnNycpLCBEZWNpbWFsKCdOYU4nKSkKKyAgICAgICAgRGVjaW1hbCgnNycpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubWF4KDEsIDIpCisgICAgICAgIERlY2ltYWwoJzInKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0Lm1heChEZWNpbWFsKDEpLCAyKQorICAgICAgICBEZWNpbWFsKCcyJykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5tYXgoMSwgRGVjaW1hbCgyKSkKKyAgICAgICAgRGVjaW1hbCgnMicpCisgICAgICAgICIiIgorICAgICAgICBhID0gX2NvbnZlcnRfb3RoZXIoYSwgcmFpc2VpdD1UcnVlKQorICAgICAgICByZXR1cm4gYS5tYXgoYiwgY29udGV4dD1zZWxmKQorCisgICAgZGVmIG1heF9tYWcoc2VsZiwgYSwgYik6CisgICAgICAgICIiIkNvbXBhcmVzIHRoZSB2YWx1ZXMgbnVtZXJpY2FsbHkgd2l0aCB0aGVpciBzaWduIGlnbm9yZWQuCisKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5tYXhfbWFnKERlY2ltYWwoJzcnKSwgRGVjaW1hbCgnTmFOJykpCisgICAgICAgIERlY2ltYWwoJzcnKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0Lm1heF9tYWcoRGVjaW1hbCgnNycpLCBEZWNpbWFsKCctMTAnKSkKKyAgICAgICAgRGVjaW1hbCgnLTEwJykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5tYXhfbWFnKDEsIC0yKQorICAgICAgICBEZWNpbWFsKCctMicpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubWF4X21hZyhEZWNpbWFsKDEpLCAtMikKKyAgICAgICAgRGVjaW1hbCgnLTInKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0Lm1heF9tYWcoMSwgRGVjaW1hbCgtMikpCisgICAgICAgIERlY2ltYWwoJy0yJykKKyAgICAgICAgIiIiCisgICAgICAgIGEgPSBfY29udmVydF9vdGhlcihhLCByYWlzZWl0PVRydWUpCisgICAgICAgIHJldHVybiBhLm1heF9tYWcoYiwgY29udGV4dD1zZWxmKQorCisgICAgZGVmIG1pbihzZWxmLCBhLCBiKToKKyAgICAgICAgIiIibWluIGNvbXBhcmVzIHR3byB2YWx1ZXMgbnVtZXJpY2FsbHkgYW5kIHJldHVybnMgdGhlIG1pbmltdW0uCisKKyAgICAgICAgSWYgZWl0aGVyIG9wZXJhbmQgaXMgYSBOYU4gdGhlbiB0aGUgZ2VuZXJhbCBydWxlcyBhcHBseS4KKyAgICAgICAgT3RoZXJ3aXNlLCB0aGUgb3BlcmFuZHMgYXJlIGNvbXBhcmVkIGFzIHRob3VnaCBieSB0aGUgY29tcGFyZQorICAgICAgICBvcGVyYXRpb24uICBJZiB0aGV5IGFyZSBudW1lcmljYWxseSBlcXVhbCB0aGVuIHRoZSBsZWZ0LWhhbmQgb3BlcmFuZAorICAgICAgICBpcyBjaG9zZW4gYXMgdGhlIHJlc3VsdC4gIE90aGVyd2lzZSB0aGUgbWluaW11bSAoY2xvc2VyIHRvIG5lZ2F0aXZlCisgICAgICAgIGluZmluaXR5KSBvZiB0aGUgdHdvIG9wZXJhbmRzIGlzIGNob3NlbiBhcyB0aGUgcmVzdWx0LgorCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubWluKERlY2ltYWwoJzMnKSwgRGVjaW1hbCgnMicpKQorICAgICAgICBEZWNpbWFsKCcyJykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5taW4oRGVjaW1hbCgnLTEwJyksIERlY2ltYWwoJzMnKSkKKyAgICAgICAgRGVjaW1hbCgnLTEwJykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5taW4oRGVjaW1hbCgnMS4wJyksIERlY2ltYWwoJzEnKSkKKyAgICAgICAgRGVjaW1hbCgnMS4wJykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5taW4oRGVjaW1hbCgnNycpLCBEZWNpbWFsKCdOYU4nKSkKKyAgICAgICAgRGVjaW1hbCgnNycpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubWluKDEsIDIpCisgICAgICAgIERlY2ltYWwoJzEnKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0Lm1pbihEZWNpbWFsKDEpLCAyKQorICAgICAgICBEZWNpbWFsKCcxJykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5taW4oMSwgRGVjaW1hbCgyOSkpCisgICAgICAgIERlY2ltYWwoJzEnKQorICAgICAgICAiIiIKKyAgICAgICAgYSA9IF9jb252ZXJ0X290aGVyKGEsIHJhaXNlaXQ9VHJ1ZSkKKyAgICAgICAgcmV0dXJuIGEubWluKGIsIGNvbnRleHQ9c2VsZikKKworICAgIGRlZiBtaW5fbWFnKHNlbGYsIGEsIGIpOgorICAgICAgICAiIiJDb21wYXJlcyB0aGUgdmFsdWVzIG51bWVyaWNhbGx5IHdpdGggdGhlaXIgc2lnbiBpZ25vcmVkLgorCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubWluX21hZyhEZWNpbWFsKCczJyksIERlY2ltYWwoJy0yJykpCisgICAgICAgIERlY2ltYWwoJy0yJykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5taW5fbWFnKERlY2ltYWwoJy0zJyksIERlY2ltYWwoJ05hTicpKQorICAgICAgICBEZWNpbWFsKCctMycpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubWluX21hZygxLCAtMikKKyAgICAgICAgRGVjaW1hbCgnMScpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubWluX21hZyhEZWNpbWFsKDEpLCAtMikKKyAgICAgICAgRGVjaW1hbCgnMScpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubWluX21hZygxLCBEZWNpbWFsKC0yKSkKKyAgICAgICAgRGVjaW1hbCgnMScpCisgICAgICAgICIiIgorICAgICAgICBhID0gX2NvbnZlcnRfb3RoZXIoYSwgcmFpc2VpdD1UcnVlKQorICAgICAgICByZXR1cm4gYS5taW5fbWFnKGIsIGNvbnRleHQ9c2VsZikKKworICAgIGRlZiBtaW51cyhzZWxmLCBhKToKKyAgICAgICAgIiIiTWludXMgY29ycmVzcG9uZHMgdG8gdW5hcnkgcHJlZml4IG1pbnVzIGluIFB5dGhvbi4KKworICAgICAgICBUaGUgb3BlcmF0aW9uIGlzIGV2YWx1YXRlZCB1c2luZyB0aGUgc2FtZSBydWxlcyBhcyBzdWJ0cmFjdDsgdGhlCisgICAgICAgIG9wZXJhdGlvbiBtaW51cyhhKSBpcyBjYWxjdWxhdGVkIGFzIHN1YnRyYWN0KCcwJywgYSkgd2hlcmUgdGhlICcwJworICAgICAgICBoYXMgdGhlIHNhbWUgZXhwb25lbnQgYXMgdGhlIG9wZXJhbmQuCisKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5taW51cyhEZWNpbWFsKCcxLjMnKSkKKyAgICAgICAgRGVjaW1hbCgnLTEuMycpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubWludXMoRGVjaW1hbCgnLTEuMycpKQorICAgICAgICBEZWNpbWFsKCcxLjMnKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0Lm1pbnVzKDEpCisgICAgICAgIERlY2ltYWwoJy0xJykKKyAgICAgICAgIiIiCisgICAgICAgIGEgPSBfY29udmVydF9vdGhlcihhLCByYWlzZWl0PVRydWUpCisgICAgICAgIHJldHVybiBhLl9fbmVnX18oY29udGV4dD1zZWxmKQorCisgICAgZGVmIG11bHRpcGx5KHNlbGYsIGEsIGIpOgorICAgICAgICAiIiJtdWx0aXBseSBtdWx0aXBsaWVzIHR3byBvcGVyYW5kcy4KKworICAgICAgICBJZiBlaXRoZXIgb3BlcmFuZCBpcyBhIHNwZWNpYWwgdmFsdWUgdGhlbiB0aGUgZ2VuZXJhbCBydWxlcyBhcHBseS4KKyAgICAgICAgT3RoZXJ3aXNlLCB0aGUgb3BlcmFuZHMgYXJlIG11bHRpcGxpZWQgdG9nZXRoZXIKKyAgICAgICAgKCdsb25nIG11bHRpcGxpY2F0aW9uJyksIHJlc3VsdGluZyBpbiBhIG51bWJlciB3aGljaCBtYXkgYmUgYXMgbG9uZyBhcworICAgICAgICB0aGUgc3VtIG9mIHRoZSBsZW5ndGhzIG9mIHRoZSB0d28gb3BlcmFuZHMuCisKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5tdWx0aXBseShEZWNpbWFsKCcxLjIwJyksIERlY2ltYWwoJzMnKSkKKyAgICAgICAgRGVjaW1hbCgnMy42MCcpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubXVsdGlwbHkoRGVjaW1hbCgnNycpLCBEZWNpbWFsKCczJykpCisgICAgICAgIERlY2ltYWwoJzIxJykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5tdWx0aXBseShEZWNpbWFsKCcwLjknKSwgRGVjaW1hbCgnMC44JykpCisgICAgICAgIERlY2ltYWwoJzAuNzInKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0Lm11bHRpcGx5KERlY2ltYWwoJzAuOScpLCBEZWNpbWFsKCctMCcpKQorICAgICAgICBEZWNpbWFsKCctMC4wJykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5tdWx0aXBseShEZWNpbWFsKCc2NTQzMjEnKSwgRGVjaW1hbCgnNjU0MzIxJykpCisgICAgICAgIERlY2ltYWwoJzQuMjgxMzU5NzFFKzExJykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5tdWx0aXBseSg3LCA3KQorICAgICAgICBEZWNpbWFsKCc0OScpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubXVsdGlwbHkoRGVjaW1hbCg3KSwgNykKKyAgICAgICAgRGVjaW1hbCgnNDknKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0Lm11bHRpcGx5KDcsIERlY2ltYWwoNykpCisgICAgICAgIERlY2ltYWwoJzQ5JykKKyAgICAgICAgIiIiCisgICAgICAgIGEgPSBfY29udmVydF9vdGhlcihhLCByYWlzZWl0PVRydWUpCisgICAgICAgIHIgPSBhLl9fbXVsX18oYiwgY29udGV4dD1zZWxmKQorICAgICAgICBpZiByIGlzIE5vdEltcGxlbWVudGVkOgorICAgICAgICAgICAgcmFpc2UgVHlwZUVycm9yKCJVbmFibGUgdG8gY29udmVydCAlcyB0byBEZWNpbWFsIiAlIGIpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICByZXR1cm4gcgorCisgICAgZGVmIG5leHRfbWludXMoc2VsZiwgYSk6CisgICAgICAgICIiIlJldHVybnMgdGhlIGxhcmdlc3QgcmVwcmVzZW50YWJsZSBudW1iZXIgc21hbGxlciB0aGFuIGEuCisKKyAgICAgICAgPj4+IGMgPSBFeHRlbmRlZENvbnRleHQuY29weSgpCisgICAgICAgID4+PiBjLkVtaW4gPSAtOTk5CisgICAgICAgID4+PiBjLkVtYXggPSA5OTkKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5uZXh0X21pbnVzKERlY2ltYWwoJzEnKSkKKyAgICAgICAgRGVjaW1hbCgnMC45OTk5OTk5OTknKQorICAgICAgICA+Pj4gYy5uZXh0X21pbnVzKERlY2ltYWwoJzFFLTEwMDcnKSkKKyAgICAgICAgRGVjaW1hbCgnMEUtMTAwNycpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubmV4dF9taW51cyhEZWNpbWFsKCctMS4wMDAwMDAwMycpKQorICAgICAgICBEZWNpbWFsKCctMS4wMDAwMDAwNCcpCisgICAgICAgID4+PiBjLm5leHRfbWludXMoRGVjaW1hbCgnSW5maW5pdHknKSkKKyAgICAgICAgRGVjaW1hbCgnOS45OTk5OTk5OUUrOTk5JykKKyAgICAgICAgPj4+IGMubmV4dF9taW51cygxKQorICAgICAgICBEZWNpbWFsKCcwLjk5OTk5OTk5OScpCisgICAgICAgICIiIgorICAgICAgICBhID0gX2NvbnZlcnRfb3RoZXIoYSwgcmFpc2VpdD1UcnVlKQorICAgICAgICByZXR1cm4gYS5uZXh0X21pbnVzKGNvbnRleHQ9c2VsZikKKworICAgIGRlZiBuZXh0X3BsdXMoc2VsZiwgYSk6CisgICAgICAgICIiIlJldHVybnMgdGhlIHNtYWxsZXN0IHJlcHJlc2VudGFibGUgbnVtYmVyIGxhcmdlciB0aGFuIGEuCisKKyAgICAgICAgPj4+IGMgPSBFeHRlbmRlZENvbnRleHQuY29weSgpCisgICAgICAgID4+PiBjLkVtaW4gPSAtOTk5CisgICAgICAgID4+PiBjLkVtYXggPSA5OTkKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5uZXh0X3BsdXMoRGVjaW1hbCgnMScpKQorICAgICAgICBEZWNpbWFsKCcxLjAwMDAwMDAxJykKKyAgICAgICAgPj4+IGMubmV4dF9wbHVzKERlY2ltYWwoJy0xRS0xMDA3JykpCisgICAgICAgIERlY2ltYWwoJy0wRS0xMDA3JykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5uZXh0X3BsdXMoRGVjaW1hbCgnLTEuMDAwMDAwMDMnKSkKKyAgICAgICAgRGVjaW1hbCgnLTEuMDAwMDAwMDInKQorICAgICAgICA+Pj4gYy5uZXh0X3BsdXMoRGVjaW1hbCgnLUluZmluaXR5JykpCisgICAgICAgIERlY2ltYWwoJy05Ljk5OTk5OTk5RSs5OTknKQorICAgICAgICA+Pj4gYy5uZXh0X3BsdXMoMSkKKyAgICAgICAgRGVjaW1hbCgnMS4wMDAwMDAwMScpCisgICAgICAgICIiIgorICAgICAgICBhID0gX2NvbnZlcnRfb3RoZXIoYSwgcmFpc2VpdD1UcnVlKQorICAgICAgICByZXR1cm4gYS5uZXh0X3BsdXMoY29udGV4dD1zZWxmKQorCisgICAgZGVmIG5leHRfdG93YXJkKHNlbGYsIGEsIGIpOgorICAgICAgICAiIiJSZXR1cm5zIHRoZSBudW1iZXIgY2xvc2VzdCB0byBhLCBpbiBkaXJlY3Rpb24gdG93YXJkcyBiLgorCisgICAgICAgIFRoZSByZXN1bHQgaXMgdGhlIGNsb3Nlc3QgcmVwcmVzZW50YWJsZSBudW1iZXIgZnJvbSB0aGUgZmlyc3QKKyAgICAgICAgb3BlcmFuZCAoYnV0IG5vdCB0aGUgZmlyc3Qgb3BlcmFuZCkgdGhhdCBpcyBpbiB0aGUgZGlyZWN0aW9uCisgICAgICAgIHRvd2FyZHMgdGhlIHNlY29uZCBvcGVyYW5kLCB1bmxlc3MgdGhlIG9wZXJhbmRzIGhhdmUgdGhlIHNhbWUKKyAgICAgICAgdmFsdWUuCisKKyAgICAgICAgPj4+IGMgPSBFeHRlbmRlZENvbnRleHQuY29weSgpCisgICAgICAgID4+PiBjLkVtaW4gPSAtOTk5CisgICAgICAgID4+PiBjLkVtYXggPSA5OTkKKyAgICAgICAgPj4+IGMubmV4dF90b3dhcmQoRGVjaW1hbCgnMScpLCBEZWNpbWFsKCcyJykpCisgICAgICAgIERlY2ltYWwoJzEuMDAwMDAwMDEnKQorICAgICAgICA+Pj4gYy5uZXh0X3Rvd2FyZChEZWNpbWFsKCctMUUtMTAwNycpLCBEZWNpbWFsKCcxJykpCisgICAgICAgIERlY2ltYWwoJy0wRS0xMDA3JykKKyAgICAgICAgPj4+IGMubmV4dF90b3dhcmQoRGVjaW1hbCgnLTEuMDAwMDAwMDMnKSwgRGVjaW1hbCgnMCcpKQorICAgICAgICBEZWNpbWFsKCctMS4wMDAwMDAwMicpCisgICAgICAgID4+PiBjLm5leHRfdG93YXJkKERlY2ltYWwoJzEnKSwgRGVjaW1hbCgnMCcpKQorICAgICAgICBEZWNpbWFsKCcwLjk5OTk5OTk5OScpCisgICAgICAgID4+PiBjLm5leHRfdG93YXJkKERlY2ltYWwoJzFFLTEwMDcnKSwgRGVjaW1hbCgnLTEwMCcpKQorICAgICAgICBEZWNpbWFsKCcwRS0xMDA3JykKKyAgICAgICAgPj4+IGMubmV4dF90b3dhcmQoRGVjaW1hbCgnLTEuMDAwMDAwMDMnKSwgRGVjaW1hbCgnLTEwJykpCisgICAgICAgIERlY2ltYWwoJy0xLjAwMDAwMDA0JykKKyAgICAgICAgPj4+IGMubmV4dF90b3dhcmQoRGVjaW1hbCgnMC4wMCcpLCBEZWNpbWFsKCctMC4wMDAwJykpCisgICAgICAgIERlY2ltYWwoJy0wLjAwJykKKyAgICAgICAgPj4+IGMubmV4dF90b3dhcmQoMCwgMSkKKyAgICAgICAgRGVjaW1hbCgnMUUtMTAwNycpCisgICAgICAgID4+PiBjLm5leHRfdG93YXJkKERlY2ltYWwoMCksIDEpCisgICAgICAgIERlY2ltYWwoJzFFLTEwMDcnKQorICAgICAgICA+Pj4gYy5uZXh0X3Rvd2FyZCgwLCBEZWNpbWFsKDEpKQorICAgICAgICBEZWNpbWFsKCcxRS0xMDA3JykKKyAgICAgICAgIiIiCisgICAgICAgIGEgPSBfY29udmVydF9vdGhlcihhLCByYWlzZWl0PVRydWUpCisgICAgICAgIHJldHVybiBhLm5leHRfdG93YXJkKGIsIGNvbnRleHQ9c2VsZikKKworICAgIGRlZiBub3JtYWxpemUoc2VsZiwgYSk6CisgICAgICAgICIiIm5vcm1hbGl6ZSByZWR1Y2VzIGFuIG9wZXJhbmQgdG8gaXRzIHNpbXBsZXN0IGZvcm0uCisKKyAgICAgICAgRXNzZW50aWFsbHkgYSBwbHVzIG9wZXJhdGlvbiB3aXRoIGFsbCB0cmFpbGluZyB6ZXJvcyByZW1vdmVkIGZyb20gdGhlCisgICAgICAgIHJlc3VsdC4KKworICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0Lm5vcm1hbGl6ZShEZWNpbWFsKCcyLjEnKSkKKyAgICAgICAgRGVjaW1hbCgnMi4xJykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5ub3JtYWxpemUoRGVjaW1hbCgnLTIuMCcpKQorICAgICAgICBEZWNpbWFsKCctMicpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubm9ybWFsaXplKERlY2ltYWwoJzEuMjAwJykpCisgICAgICAgIERlY2ltYWwoJzEuMicpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubm9ybWFsaXplKERlY2ltYWwoJy0xMjAnKSkKKyAgICAgICAgRGVjaW1hbCgnLTEuMkUrMicpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubm9ybWFsaXplKERlY2ltYWwoJzEyMC4wMCcpKQorICAgICAgICBEZWNpbWFsKCcxLjJFKzInKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0Lm5vcm1hbGl6ZShEZWNpbWFsKCcwLjAwJykpCisgICAgICAgIERlY2ltYWwoJzAnKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0Lm5vcm1hbGl6ZSg2KQorICAgICAgICBEZWNpbWFsKCc2JykKKyAgICAgICAgIiIiCisgICAgICAgIGEgPSBfY29udmVydF9vdGhlcihhLCByYWlzZWl0PVRydWUpCisgICAgICAgIHJldHVybiBhLm5vcm1hbGl6ZShjb250ZXh0PXNlbGYpCisKKyAgICBkZWYgbnVtYmVyX2NsYXNzKHNlbGYsIGEpOgorICAgICAgICAiIiJSZXR1cm5zIGFuIGluZGljYXRpb24gb2YgdGhlIGNsYXNzIG9mIHRoZSBvcGVyYW5kLgorCisgICAgICAgIFRoZSBjbGFzcyBpcyBvbmUgb2YgdGhlIGZvbGxvd2luZyBzdHJpbmdzOgorICAgICAgICAgIC1zTmFOCisgICAgICAgICAgLU5hTgorICAgICAgICAgIC1JbmZpbml0eQorICAgICAgICAgIC1Ob3JtYWwKKyAgICAgICAgICAtU3Vibm9ybWFsCisgICAgICAgICAgLVplcm8KKyAgICAgICAgICArWmVybworICAgICAgICAgICtTdWJub3JtYWwKKyAgICAgICAgICArTm9ybWFsCisgICAgICAgICAgK0luZmluaXR5CisKKyAgICAgICAgPj4+IGMgPSBFeHRlbmRlZENvbnRleHQuY29weSgpCisgICAgICAgID4+PiBjLkVtaW4gPSAtOTk5CisgICAgICAgID4+PiBjLkVtYXggPSA5OTkKKyAgICAgICAgPj4+IGMubnVtYmVyX2NsYXNzKERlY2ltYWwoJ0luZmluaXR5JykpCisgICAgICAgICcrSW5maW5pdHknCisgICAgICAgID4+PiBjLm51bWJlcl9jbGFzcyhEZWNpbWFsKCcxRS0xMCcpKQorICAgICAgICAnK05vcm1hbCcKKyAgICAgICAgPj4+IGMubnVtYmVyX2NsYXNzKERlY2ltYWwoJzIuNTAnKSkKKyAgICAgICAgJytOb3JtYWwnCisgICAgICAgID4+PiBjLm51bWJlcl9jbGFzcyhEZWNpbWFsKCcwLjFFLTk5OScpKQorICAgICAgICAnK1N1Ym5vcm1hbCcKKyAgICAgICAgPj4+IGMubnVtYmVyX2NsYXNzKERlY2ltYWwoJzAnKSkKKyAgICAgICAgJytaZXJvJworICAgICAgICA+Pj4gYy5udW1iZXJfY2xhc3MoRGVjaW1hbCgnLTAnKSkKKyAgICAgICAgJy1aZXJvJworICAgICAgICA+Pj4gYy5udW1iZXJfY2xhc3MoRGVjaW1hbCgnLTAuMUUtOTk5JykpCisgICAgICAgICctU3Vibm9ybWFsJworICAgICAgICA+Pj4gYy5udW1iZXJfY2xhc3MoRGVjaW1hbCgnLTFFLTEwJykpCisgICAgICAgICctTm9ybWFsJworICAgICAgICA+Pj4gYy5udW1iZXJfY2xhc3MoRGVjaW1hbCgnLTIuNTAnKSkKKyAgICAgICAgJy1Ob3JtYWwnCisgICAgICAgID4+PiBjLm51bWJlcl9jbGFzcyhEZWNpbWFsKCctSW5maW5pdHknKSkKKyAgICAgICAgJy1JbmZpbml0eScKKyAgICAgICAgPj4+IGMubnVtYmVyX2NsYXNzKERlY2ltYWwoJ05hTicpKQorICAgICAgICAnTmFOJworICAgICAgICA+Pj4gYy5udW1iZXJfY2xhc3MoRGVjaW1hbCgnLU5hTicpKQorICAgICAgICAnTmFOJworICAgICAgICA+Pj4gYy5udW1iZXJfY2xhc3MoRGVjaW1hbCgnc05hTicpKQorICAgICAgICAnc05hTicKKyAgICAgICAgPj4+IGMubnVtYmVyX2NsYXNzKDEyMykKKyAgICAgICAgJytOb3JtYWwnCisgICAgICAgICIiIgorICAgICAgICBhID0gX2NvbnZlcnRfb3RoZXIoYSwgcmFpc2VpdD1UcnVlKQorICAgICAgICByZXR1cm4gYS5udW1iZXJfY2xhc3MoY29udGV4dD1zZWxmKQorCisgICAgZGVmIHBsdXMoc2VsZiwgYSk6CisgICAgICAgICIiIlBsdXMgY29ycmVzcG9uZHMgdG8gdW5hcnkgcHJlZml4IHBsdXMgaW4gUHl0aG9uLgorCisgICAgICAgIFRoZSBvcGVyYXRpb24gaXMgZXZhbHVhdGVkIHVzaW5nIHRoZSBzYW1lIHJ1bGVzIGFzIGFkZDsgdGhlCisgICAgICAgIG9wZXJhdGlvbiBwbHVzKGEpIGlzIGNhbGN1bGF0ZWQgYXMgYWRkKCcwJywgYSkgd2hlcmUgdGhlICcwJworICAgICAgICBoYXMgdGhlIHNhbWUgZXhwb25lbnQgYXMgdGhlIG9wZXJhbmQuCisKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5wbHVzKERlY2ltYWwoJzEuMycpKQorICAgICAgICBEZWNpbWFsKCcxLjMnKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnBsdXMoRGVjaW1hbCgnLTEuMycpKQorICAgICAgICBEZWNpbWFsKCctMS4zJykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5wbHVzKC0xKQorICAgICAgICBEZWNpbWFsKCctMScpCisgICAgICAgICIiIgorICAgICAgICBhID0gX2NvbnZlcnRfb3RoZXIoYSwgcmFpc2VpdD1UcnVlKQorICAgICAgICByZXR1cm4gYS5fX3Bvc19fKGNvbnRleHQ9c2VsZikKKworICAgIGRlZiBwb3dlcihzZWxmLCBhLCBiLCBtb2R1bG89Tm9uZSk6CisgICAgICAgICIiIlJhaXNlcyBhIHRvIHRoZSBwb3dlciBvZiBiLCB0byBtb2R1bG8gaWYgZ2l2ZW4uCisKKyAgICAgICAgV2l0aCB0d28gYXJndW1lbnRzLCBjb21wdXRlIGEqKmIuICBJZiBhIGlzIG5lZ2F0aXZlIHRoZW4gYgorICAgICAgICBtdXN0IGJlIGludGVncmFsLiAgVGhlIHJlc3VsdCB3aWxsIGJlIGluZXhhY3QgdW5sZXNzIGIgaXMKKyAgICAgICAgaW50ZWdyYWwgYW5kIHRoZSByZXN1bHQgaXMgZmluaXRlIGFuZCBjYW4gYmUgZXhwcmVzc2VkIGV4YWN0bHkKKyAgICAgICAgaW4gJ3ByZWNpc2lvbicgZGlnaXRzLgorCisgICAgICAgIFdpdGggdGhyZWUgYXJndW1lbnRzLCBjb21wdXRlIChhKipiKSAlIG1vZHVsby4gIEZvciB0aGUKKyAgICAgICAgdGhyZWUgYXJndW1lbnQgZm9ybSwgdGhlIGZvbGxvd2luZyByZXN0cmljdGlvbnMgb24gdGhlCisgICAgICAgIGFyZ3VtZW50cyBob2xkOgorCisgICAgICAgICAtIGFsbCB0aHJlZSBhcmd1bWVudHMgbXVzdCBiZSBpbnRlZ3JhbAorICAgICAgICAgLSBiIG11c3QgYmUgbm9ubmVnYXRpdmUKKyAgICAgICAgIC0gYXQgbGVhc3Qgb25lIG9mIGEgb3IgYiBtdXN0IGJlIG5vbnplcm8KKyAgICAgICAgIC0gbW9kdWxvIG11c3QgYmUgbm9uemVybyBhbmQgaGF2ZSBhdCBtb3N0ICdwcmVjaXNpb24nIGRpZ2l0cworCisgICAgICAgIFRoZSByZXN1bHQgb2YgcG93KGEsIGIsIG1vZHVsbykgaXMgaWRlbnRpY2FsIHRvIHRoZSByZXN1bHQKKyAgICAgICAgdGhhdCB3b3VsZCBiZSBvYnRhaW5lZCBieSBjb21wdXRpbmcgKGEqKmIpICUgbW9kdWxvIHdpdGgKKyAgICAgICAgdW5ib3VuZGVkIHByZWNpc2lvbiwgYnV0IGlzIGNvbXB1dGVkIG1vcmUgZWZmaWNpZW50bHkuICBJdCBpcworICAgICAgICBhbHdheXMgZXhhY3QuCisKKyAgICAgICAgPj4+IGMgPSBFeHRlbmRlZENvbnRleHQuY29weSgpCisgICAgICAgID4+PiBjLkVtaW4gPSAtOTk5CisgICAgICAgID4+PiBjLkVtYXggPSA5OTkKKyAgICAgICAgPj4+IGMucG93ZXIoRGVjaW1hbCgnMicpLCBEZWNpbWFsKCczJykpCisgICAgICAgIERlY2ltYWwoJzgnKQorICAgICAgICA+Pj4gYy5wb3dlcihEZWNpbWFsKCctMicpLCBEZWNpbWFsKCczJykpCisgICAgICAgIERlY2ltYWwoJy04JykKKyAgICAgICAgPj4+IGMucG93ZXIoRGVjaW1hbCgnMicpLCBEZWNpbWFsKCctMycpKQorICAgICAgICBEZWNpbWFsKCcwLjEyNScpCisgICAgICAgID4+PiBjLnBvd2VyKERlY2ltYWwoJzEuNycpLCBEZWNpbWFsKCc4JykpCisgICAgICAgIERlY2ltYWwoJzY5Ljc1NzU3NDQnKQorICAgICAgICA+Pj4gYy5wb3dlcihEZWNpbWFsKCcxMCcpLCBEZWNpbWFsKCcwLjMwMTAyOTk5NicpKQorICAgICAgICBEZWNpbWFsKCcyLjAwMDAwMDAwJykKKyAgICAgICAgPj4+IGMucG93ZXIoRGVjaW1hbCgnSW5maW5pdHknKSwgRGVjaW1hbCgnLTEnKSkKKyAgICAgICAgRGVjaW1hbCgnMCcpCisgICAgICAgID4+PiBjLnBvd2VyKERlY2ltYWwoJ0luZmluaXR5JyksIERlY2ltYWwoJzAnKSkKKyAgICAgICAgRGVjaW1hbCgnMScpCisgICAgICAgID4+PiBjLnBvd2VyKERlY2ltYWwoJ0luZmluaXR5JyksIERlY2ltYWwoJzEnKSkKKyAgICAgICAgRGVjaW1hbCgnSW5maW5pdHknKQorICAgICAgICA+Pj4gYy5wb3dlcihEZWNpbWFsKCctSW5maW5pdHknKSwgRGVjaW1hbCgnLTEnKSkKKyAgICAgICAgRGVjaW1hbCgnLTAnKQorICAgICAgICA+Pj4gYy5wb3dlcihEZWNpbWFsKCctSW5maW5pdHknKSwgRGVjaW1hbCgnMCcpKQorICAgICAgICBEZWNpbWFsKCcxJykKKyAgICAgICAgPj4+IGMucG93ZXIoRGVjaW1hbCgnLUluZmluaXR5JyksIERlY2ltYWwoJzEnKSkKKyAgICAgICAgRGVjaW1hbCgnLUluZmluaXR5JykKKyAgICAgICAgPj4+IGMucG93ZXIoRGVjaW1hbCgnLUluZmluaXR5JyksIERlY2ltYWwoJzInKSkKKyAgICAgICAgRGVjaW1hbCgnSW5maW5pdHknKQorICAgICAgICA+Pj4gYy5wb3dlcihEZWNpbWFsKCcwJyksIERlY2ltYWwoJzAnKSkKKyAgICAgICAgRGVjaW1hbCgnTmFOJykKKworICAgICAgICA+Pj4gYy5wb3dlcihEZWNpbWFsKCczJyksIERlY2ltYWwoJzcnKSwgRGVjaW1hbCgnMTYnKSkKKyAgICAgICAgRGVjaW1hbCgnMTEnKQorICAgICAgICA+Pj4gYy5wb3dlcihEZWNpbWFsKCctMycpLCBEZWNpbWFsKCc3JyksIERlY2ltYWwoJzE2JykpCisgICAgICAgIERlY2ltYWwoJy0xMScpCisgICAgICAgID4+PiBjLnBvd2VyKERlY2ltYWwoJy0zJyksIERlY2ltYWwoJzgnKSwgRGVjaW1hbCgnMTYnKSkKKyAgICAgICAgRGVjaW1hbCgnMScpCisgICAgICAgID4+PiBjLnBvd2VyKERlY2ltYWwoJzMnKSwgRGVjaW1hbCgnNycpLCBEZWNpbWFsKCctMTYnKSkKKyAgICAgICAgRGVjaW1hbCgnMTEnKQorICAgICAgICA+Pj4gYy5wb3dlcihEZWNpbWFsKCcyM0UxMjM0NScpLCBEZWNpbWFsKCc2N0UxODknKSwgRGVjaW1hbCgnMTIzNDU2Nzg5JykpCisgICAgICAgIERlY2ltYWwoJzExNzI5ODMwJykKKyAgICAgICAgPj4+IGMucG93ZXIoRGVjaW1hbCgnLTAnKSwgRGVjaW1hbCgnMTcnKSwgRGVjaW1hbCgnMTcyOScpKQorICAgICAgICBEZWNpbWFsKCctMCcpCisgICAgICAgID4+PiBjLnBvd2VyKERlY2ltYWwoJy0yMycpLCBEZWNpbWFsKCcwJyksIERlY2ltYWwoJzY1NTM3JykpCisgICAgICAgIERlY2ltYWwoJzEnKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnBvd2VyKDcsIDcpCisgICAgICAgIERlY2ltYWwoJzgyMzU0MycpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQucG93ZXIoRGVjaW1hbCg3KSwgNykKKyAgICAgICAgRGVjaW1hbCgnODIzNTQzJykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5wb3dlcig3LCBEZWNpbWFsKDcpLCAyKQorICAgICAgICBEZWNpbWFsKCcxJykKKyAgICAgICAgIiIiCisgICAgICAgIGEgPSBfY29udmVydF9vdGhlcihhLCByYWlzZWl0PVRydWUpCisgICAgICAgIHIgPSBhLl9fcG93X18oYiwgbW9kdWxvLCBjb250ZXh0PXNlbGYpCisgICAgICAgIGlmIHIgaXMgTm90SW1wbGVtZW50ZWQ6CisgICAgICAgICAgICByYWlzZSBUeXBlRXJyb3IoIlVuYWJsZSB0byBjb252ZXJ0ICVzIHRvIERlY2ltYWwiICUgYikKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHJldHVybiByCisKKyAgICBkZWYgcXVhbnRpemUoc2VsZiwgYSwgYik6CisgICAgICAgICIiIlJldHVybnMgYSB2YWx1ZSBlcXVhbCB0byAnYScgKHJvdW5kZWQpLCBoYXZpbmcgdGhlIGV4cG9uZW50IG9mICdiJy4KKworICAgICAgICBUaGUgY29lZmZpY2llbnQgb2YgdGhlIHJlc3VsdCBpcyBkZXJpdmVkIGZyb20gdGhhdCBvZiB0aGUgbGVmdC1oYW5kCisgICAgICAgIG9wZXJhbmQuICBJdCBtYXkgYmUgcm91bmRlZCB1c2luZyB0aGUgY3VycmVudCByb3VuZGluZyBzZXR0aW5nIChpZiB0aGUKKyAgICAgICAgZXhwb25lbnQgaXMgYmVpbmcgaW5jcmVhc2VkKSwgbXVsdGlwbGllZCBieSBhIHBvc2l0aXZlIHBvd2VyIG9mIHRlbiAoaWYKKyAgICAgICAgdGhlIGV4cG9uZW50IGlzIGJlaW5nIGRlY3JlYXNlZCksIG9yIGlzIHVuY2hhbmdlZCAoaWYgdGhlIGV4cG9uZW50IGlzCisgICAgICAgIGFscmVhZHkgZXF1YWwgdG8gdGhhdCBvZiB0aGUgcmlnaHQtaGFuZCBvcGVyYW5kKS4KKworICAgICAgICBVbmxpa2Ugb3RoZXIgb3BlcmF0aW9ucywgaWYgdGhlIGxlbmd0aCBvZiB0aGUgY29lZmZpY2llbnQgYWZ0ZXIgdGhlCisgICAgICAgIHF1YW50aXplIG9wZXJhdGlvbiB3b3VsZCBiZSBncmVhdGVyIHRoYW4gcHJlY2lzaW9uIHRoZW4gYW4gSW52YWxpZAorICAgICAgICBvcGVyYXRpb24gY29uZGl0aW9uIGlzIHJhaXNlZC4gIFRoaXMgZ3VhcmFudGVlcyB0aGF0LCB1bmxlc3MgdGhlcmUgaXMKKyAgICAgICAgYW4gZXJyb3IgY29uZGl0aW9uLCB0aGUgZXhwb25lbnQgb2YgdGhlIHJlc3VsdCBvZiBhIHF1YW50aXplIGlzIGFsd2F5cworICAgICAgICBlcXVhbCB0byB0aGF0IG9mIHRoZSByaWdodC1oYW5kIG9wZXJhbmQuCisKKyAgICAgICAgQWxzbyB1bmxpa2Ugb3RoZXIgb3BlcmF0aW9ucywgcXVhbnRpemUgd2lsbCBuZXZlciByYWlzZSBVbmRlcmZsb3csIGV2ZW4KKyAgICAgICAgaWYgdGhlIHJlc3VsdCBpcyBzdWJub3JtYWwgYW5kIGluZXhhY3QuCisKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5xdWFudGl6ZShEZWNpbWFsKCcyLjE3JyksIERlY2ltYWwoJzAuMDAxJykpCisgICAgICAgIERlY2ltYWwoJzIuMTcwJykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5xdWFudGl6ZShEZWNpbWFsKCcyLjE3JyksIERlY2ltYWwoJzAuMDEnKSkKKyAgICAgICAgRGVjaW1hbCgnMi4xNycpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQucXVhbnRpemUoRGVjaW1hbCgnMi4xNycpLCBEZWNpbWFsKCcwLjEnKSkKKyAgICAgICAgRGVjaW1hbCgnMi4yJykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5xdWFudGl6ZShEZWNpbWFsKCcyLjE3JyksIERlY2ltYWwoJzFlKzAnKSkKKyAgICAgICAgRGVjaW1hbCgnMicpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQucXVhbnRpemUoRGVjaW1hbCgnMi4xNycpLCBEZWNpbWFsKCcxZSsxJykpCisgICAgICAgIERlY2ltYWwoJzBFKzEnKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnF1YW50aXplKERlY2ltYWwoJy1JbmYnKSwgRGVjaW1hbCgnSW5maW5pdHknKSkKKyAgICAgICAgRGVjaW1hbCgnLUluZmluaXR5JykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5xdWFudGl6ZShEZWNpbWFsKCcyJyksIERlY2ltYWwoJ0luZmluaXR5JykpCisgICAgICAgIERlY2ltYWwoJ05hTicpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQucXVhbnRpemUoRGVjaW1hbCgnLTAuMScpLCBEZWNpbWFsKCcxJykpCisgICAgICAgIERlY2ltYWwoJy0wJykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5xdWFudGl6ZShEZWNpbWFsKCctMCcpLCBEZWNpbWFsKCcxZSs1JykpCisgICAgICAgIERlY2ltYWwoJy0wRSs1JykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5xdWFudGl6ZShEZWNpbWFsKCcrMzUyMzY0NTAuNicpLCBEZWNpbWFsKCcxZS0yJykpCisgICAgICAgIERlY2ltYWwoJ05hTicpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQucXVhbnRpemUoRGVjaW1hbCgnLTM1MjM2NDUwLjYnKSwgRGVjaW1hbCgnMWUtMicpKQorICAgICAgICBEZWNpbWFsKCdOYU4nKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnF1YW50aXplKERlY2ltYWwoJzIxNycpLCBEZWNpbWFsKCcxZS0xJykpCisgICAgICAgIERlY2ltYWwoJzIxNy4wJykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5xdWFudGl6ZShEZWNpbWFsKCcyMTcnKSwgRGVjaW1hbCgnMWUtMCcpKQorICAgICAgICBEZWNpbWFsKCcyMTcnKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnF1YW50aXplKERlY2ltYWwoJzIxNycpLCBEZWNpbWFsKCcxZSsxJykpCisgICAgICAgIERlY2ltYWwoJzIuMkUrMicpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQucXVhbnRpemUoRGVjaW1hbCgnMjE3JyksIERlY2ltYWwoJzFlKzInKSkKKyAgICAgICAgRGVjaW1hbCgnMkUrMicpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQucXVhbnRpemUoMSwgMikKKyAgICAgICAgRGVjaW1hbCgnMScpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQucXVhbnRpemUoRGVjaW1hbCgxKSwgMikKKyAgICAgICAgRGVjaW1hbCgnMScpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQucXVhbnRpemUoMSwgRGVjaW1hbCgyKSkKKyAgICAgICAgRGVjaW1hbCgnMScpCisgICAgICAgICIiIgorICAgICAgICBhID0gX2NvbnZlcnRfb3RoZXIoYSwgcmFpc2VpdD1UcnVlKQorICAgICAgICByZXR1cm4gYS5xdWFudGl6ZShiLCBjb250ZXh0PXNlbGYpCisKKyAgICBkZWYgcmFkaXgoc2VsZik6CisgICAgICAgICIiIkp1c3QgcmV0dXJucyAxMCwgYXMgdGhpcyBpcyBEZWNpbWFsLCA6KQorCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQucmFkaXgoKQorICAgICAgICBEZWNpbWFsKCcxMCcpCisgICAgICAgICIiIgorICAgICAgICByZXR1cm4gRGVjaW1hbCgxMCkKKworICAgIGRlZiByZW1haW5kZXIoc2VsZiwgYSwgYik6CisgICAgICAgICIiIlJldHVybnMgdGhlIHJlbWFpbmRlciBmcm9tIGludGVnZXIgZGl2aXNpb24uCisKKyAgICAgICAgVGhlIHJlc3VsdCBpcyB0aGUgcmVzaWR1ZSBvZiB0aGUgZGl2aWRlbmQgYWZ0ZXIgdGhlIG9wZXJhdGlvbiBvZgorICAgICAgICBjYWxjdWxhdGluZyBpbnRlZ2VyIGRpdmlzaW9uIGFzIGRlc2NyaWJlZCBmb3IgZGl2aWRlLWludGVnZXIsIHJvdW5kZWQKKyAgICAgICAgdG8gcHJlY2lzaW9uIGRpZ2l0cyBpZiBuZWNlc3NhcnkuICBUaGUgc2lnbiBvZiB0aGUgcmVzdWx0LCBpZgorICAgICAgICBub24temVybywgaXMgdGhlIHNhbWUgYXMgdGhhdCBvZiB0aGUgb3JpZ2luYWwgZGl2aWRlbmQuCisKKyAgICAgICAgVGhpcyBvcGVyYXRpb24gd2lsbCBmYWlsIHVuZGVyIHRoZSBzYW1lIGNvbmRpdGlvbnMgYXMgaW50ZWdlciBkaXZpc2lvbgorICAgICAgICAodGhhdCBpcywgaWYgaW50ZWdlciBkaXZpc2lvbiBvbiB0aGUgc2FtZSB0d28gb3BlcmFuZHMgd291bGQgZmFpbCwgdGhlCisgICAgICAgIHJlbWFpbmRlciBjYW5ub3QgYmUgY2FsY3VsYXRlZCkuCisKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5yZW1haW5kZXIoRGVjaW1hbCgnMi4xJyksIERlY2ltYWwoJzMnKSkKKyAgICAgICAgRGVjaW1hbCgnMi4xJykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5yZW1haW5kZXIoRGVjaW1hbCgnMTAnKSwgRGVjaW1hbCgnMycpKQorICAgICAgICBEZWNpbWFsKCcxJykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5yZW1haW5kZXIoRGVjaW1hbCgnLTEwJyksIERlY2ltYWwoJzMnKSkKKyAgICAgICAgRGVjaW1hbCgnLTEnKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnJlbWFpbmRlcihEZWNpbWFsKCcxMC4yJyksIERlY2ltYWwoJzEnKSkKKyAgICAgICAgRGVjaW1hbCgnMC4yJykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5yZW1haW5kZXIoRGVjaW1hbCgnMTAnKSwgRGVjaW1hbCgnMC4zJykpCisgICAgICAgIERlY2ltYWwoJzAuMScpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQucmVtYWluZGVyKERlY2ltYWwoJzMuNicpLCBEZWNpbWFsKCcxLjMnKSkKKyAgICAgICAgRGVjaW1hbCgnMS4wJykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5yZW1haW5kZXIoMjIsIDYpCisgICAgICAgIERlY2ltYWwoJzQnKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnJlbWFpbmRlcihEZWNpbWFsKDIyKSwgNikKKyAgICAgICAgRGVjaW1hbCgnNCcpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQucmVtYWluZGVyKDIyLCBEZWNpbWFsKDYpKQorICAgICAgICBEZWNpbWFsKCc0JykKKyAgICAgICAgIiIiCisgICAgICAgIGEgPSBfY29udmVydF9vdGhlcihhLCByYWlzZWl0PVRydWUpCisgICAgICAgIHIgPSBhLl9fbW9kX18oYiwgY29udGV4dD1zZWxmKQorICAgICAgICBpZiByIGlzIE5vdEltcGxlbWVudGVkOgorICAgICAgICAgICAgcmFpc2UgVHlwZUVycm9yKCJVbmFibGUgdG8gY29udmVydCAlcyB0byBEZWNpbWFsIiAlIGIpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICByZXR1cm4gcgorCisgICAgZGVmIHJlbWFpbmRlcl9uZWFyKHNlbGYsIGEsIGIpOgorICAgICAgICAiIiJSZXR1cm5zIHRvIGJlICJhIC0gYiAqIG4iLCB3aGVyZSBuIGlzIHRoZSBpbnRlZ2VyIG5lYXJlc3QgdGhlIGV4YWN0CisgICAgICAgIHZhbHVlIG9mICJ4IC8gYiIgKGlmIHR3byBpbnRlZ2VycyBhcmUgZXF1YWxseSBuZWFyIHRoZW4gdGhlIGV2ZW4gb25lCisgICAgICAgIGlzIGNob3NlbikuICBJZiB0aGUgcmVzdWx0IGlzIGVxdWFsIHRvIDAgdGhlbiBpdHMgc2lnbiB3aWxsIGJlIHRoZQorICAgICAgICBzaWduIG9mIGEuCisKKyAgICAgICAgVGhpcyBvcGVyYXRpb24gd2lsbCBmYWlsIHVuZGVyIHRoZSBzYW1lIGNvbmRpdGlvbnMgYXMgaW50ZWdlciBkaXZpc2lvbgorICAgICAgICAodGhhdCBpcywgaWYgaW50ZWdlciBkaXZpc2lvbiBvbiB0aGUgc2FtZSB0d28gb3BlcmFuZHMgd291bGQgZmFpbCwgdGhlCisgICAgICAgIHJlbWFpbmRlciBjYW5ub3QgYmUgY2FsY3VsYXRlZCkuCisKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5yZW1haW5kZXJfbmVhcihEZWNpbWFsKCcyLjEnKSwgRGVjaW1hbCgnMycpKQorICAgICAgICBEZWNpbWFsKCctMC45JykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5yZW1haW5kZXJfbmVhcihEZWNpbWFsKCcxMCcpLCBEZWNpbWFsKCc2JykpCisgICAgICAgIERlY2ltYWwoJy0yJykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5yZW1haW5kZXJfbmVhcihEZWNpbWFsKCcxMCcpLCBEZWNpbWFsKCczJykpCisgICAgICAgIERlY2ltYWwoJzEnKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnJlbWFpbmRlcl9uZWFyKERlY2ltYWwoJy0xMCcpLCBEZWNpbWFsKCczJykpCisgICAgICAgIERlY2ltYWwoJy0xJykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5yZW1haW5kZXJfbmVhcihEZWNpbWFsKCcxMC4yJyksIERlY2ltYWwoJzEnKSkKKyAgICAgICAgRGVjaW1hbCgnMC4yJykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5yZW1haW5kZXJfbmVhcihEZWNpbWFsKCcxMCcpLCBEZWNpbWFsKCcwLjMnKSkKKyAgICAgICAgRGVjaW1hbCgnMC4xJykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5yZW1haW5kZXJfbmVhcihEZWNpbWFsKCczLjYnKSwgRGVjaW1hbCgnMS4zJykpCisgICAgICAgIERlY2ltYWwoJy0wLjMnKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnJlbWFpbmRlcl9uZWFyKDMsIDExKQorICAgICAgICBEZWNpbWFsKCczJykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5yZW1haW5kZXJfbmVhcihEZWNpbWFsKDMpLCAxMSkKKyAgICAgICAgRGVjaW1hbCgnMycpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQucmVtYWluZGVyX25lYXIoMywgRGVjaW1hbCgxMSkpCisgICAgICAgIERlY2ltYWwoJzMnKQorICAgICAgICAiIiIKKyAgICAgICAgYSA9IF9jb252ZXJ0X290aGVyKGEsIHJhaXNlaXQ9VHJ1ZSkKKyAgICAgICAgcmV0dXJuIGEucmVtYWluZGVyX25lYXIoYiwgY29udGV4dD1zZWxmKQorCisgICAgZGVmIHJvdGF0ZShzZWxmLCBhLCBiKToKKyAgICAgICAgIiIiUmV0dXJucyBhIHJvdGF0ZWQgY29weSBvZiBhLCBiIHRpbWVzLgorCisgICAgICAgIFRoZSBjb2VmZmljaWVudCBvZiB0aGUgcmVzdWx0IGlzIGEgcm90YXRlZCBjb3B5IG9mIHRoZSBkaWdpdHMgaW4KKyAgICAgICAgdGhlIGNvZWZmaWNpZW50IG9mIHRoZSBmaXJzdCBvcGVyYW5kLiAgVGhlIG51bWJlciBvZiBwbGFjZXMgb2YKKyAgICAgICAgcm90YXRpb24gaXMgdGFrZW4gZnJvbSB0aGUgYWJzb2x1dGUgdmFsdWUgb2YgdGhlIHNlY29uZCBvcGVyYW5kLAorICAgICAgICB3aXRoIHRoZSByb3RhdGlvbiBiZWluZyB0byB0aGUgbGVmdCBpZiB0aGUgc2Vjb25kIG9wZXJhbmQgaXMKKyAgICAgICAgcG9zaXRpdmUgb3IgdG8gdGhlIHJpZ2h0IG90aGVyd2lzZS4KKworICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnJvdGF0ZShEZWNpbWFsKCczNCcpLCBEZWNpbWFsKCc4JykpCisgICAgICAgIERlY2ltYWwoJzQwMDAwMDAwMycpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQucm90YXRlKERlY2ltYWwoJzEyJyksIERlY2ltYWwoJzknKSkKKyAgICAgICAgRGVjaW1hbCgnMTInKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnJvdGF0ZShEZWNpbWFsKCcxMjM0NTY3ODknKSwgRGVjaW1hbCgnLTInKSkKKyAgICAgICAgRGVjaW1hbCgnODkxMjM0NTY3JykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5yb3RhdGUoRGVjaW1hbCgnMTIzNDU2Nzg5JyksIERlY2ltYWwoJzAnKSkKKyAgICAgICAgRGVjaW1hbCgnMTIzNDU2Nzg5JykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5yb3RhdGUoRGVjaW1hbCgnMTIzNDU2Nzg5JyksIERlY2ltYWwoJysyJykpCisgICAgICAgIERlY2ltYWwoJzM0NTY3ODkxMicpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQucm90YXRlKDEzMzMzMzMsIDEpCisgICAgICAgIERlY2ltYWwoJzEzMzMzMzMwJykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5yb3RhdGUoRGVjaW1hbCgxMzMzMzMzKSwgMSkKKyAgICAgICAgRGVjaW1hbCgnMTMzMzMzMzAnKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnJvdGF0ZSgxMzMzMzMzLCBEZWNpbWFsKDEpKQorICAgICAgICBEZWNpbWFsKCcxMzMzMzMzMCcpCisgICAgICAgICIiIgorICAgICAgICBhID0gX2NvbnZlcnRfb3RoZXIoYSwgcmFpc2VpdD1UcnVlKQorICAgICAgICByZXR1cm4gYS5yb3RhdGUoYiwgY29udGV4dD1zZWxmKQorCisgICAgZGVmIHNhbWVfcXVhbnR1bShzZWxmLCBhLCBiKToKKyAgICAgICAgIiIiUmV0dXJucyBUcnVlIGlmIHRoZSB0d28gb3BlcmFuZHMgaGF2ZSB0aGUgc2FtZSBleHBvbmVudC4KKworICAgICAgICBUaGUgcmVzdWx0IGlzIG5ldmVyIGFmZmVjdGVkIGJ5IGVpdGhlciB0aGUgc2lnbiBvciB0aGUgY29lZmZpY2llbnQgb2YKKyAgICAgICAgZWl0aGVyIG9wZXJhbmQuCisKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5zYW1lX3F1YW50dW0oRGVjaW1hbCgnMi4xNycpLCBEZWNpbWFsKCcwLjAwMScpKQorICAgICAgICBGYWxzZQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnNhbWVfcXVhbnR1bShEZWNpbWFsKCcyLjE3JyksIERlY2ltYWwoJzAuMDEnKSkKKyAgICAgICAgVHJ1ZQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnNhbWVfcXVhbnR1bShEZWNpbWFsKCcyLjE3JyksIERlY2ltYWwoJzEnKSkKKyAgICAgICAgRmFsc2UKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5zYW1lX3F1YW50dW0oRGVjaW1hbCgnSW5mJyksIERlY2ltYWwoJy1JbmYnKSkKKyAgICAgICAgVHJ1ZQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnNhbWVfcXVhbnR1bSgxMDAwMCwgLTEpCisgICAgICAgIFRydWUKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5zYW1lX3F1YW50dW0oRGVjaW1hbCgxMDAwMCksIC0xKQorICAgICAgICBUcnVlCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuc2FtZV9xdWFudHVtKDEwMDAwLCBEZWNpbWFsKC0xKSkKKyAgICAgICAgVHJ1ZQorICAgICAgICAiIiIKKyAgICAgICAgYSA9IF9jb252ZXJ0X290aGVyKGEsIHJhaXNlaXQ9VHJ1ZSkKKyAgICAgICAgcmV0dXJuIGEuc2FtZV9xdWFudHVtKGIpCisKKyAgICBkZWYgc2NhbGViIChzZWxmLCBhLCBiKToKKyAgICAgICAgIiIiUmV0dXJucyB0aGUgZmlyc3Qgb3BlcmFuZCBhZnRlciBhZGRpbmcgdGhlIHNlY29uZCB2YWx1ZSBpdHMgZXhwLgorCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuc2NhbGViKERlY2ltYWwoJzcuNTAnKSwgRGVjaW1hbCgnLTInKSkKKyAgICAgICAgRGVjaW1hbCgnMC4wNzUwJykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5zY2FsZWIoRGVjaW1hbCgnNy41MCcpLCBEZWNpbWFsKCcwJykpCisgICAgICAgIERlY2ltYWwoJzcuNTAnKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnNjYWxlYihEZWNpbWFsKCc3LjUwJyksIERlY2ltYWwoJzMnKSkKKyAgICAgICAgRGVjaW1hbCgnNy41MEUrMycpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuc2NhbGViKDEsIDQpCisgICAgICAgIERlY2ltYWwoJzFFKzQnKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnNjYWxlYihEZWNpbWFsKDEpLCA0KQorICAgICAgICBEZWNpbWFsKCcxRSs0JykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5zY2FsZWIoMSwgRGVjaW1hbCg0KSkKKyAgICAgICAgRGVjaW1hbCgnMUUrNCcpCisgICAgICAgICIiIgorICAgICAgICBhID0gX2NvbnZlcnRfb3RoZXIoYSwgcmFpc2VpdD1UcnVlKQorICAgICAgICByZXR1cm4gYS5zY2FsZWIoYiwgY29udGV4dD1zZWxmKQorCisgICAgZGVmIHNoaWZ0KHNlbGYsIGEsIGIpOgorICAgICAgICAiIiJSZXR1cm5zIGEgc2hpZnRlZCBjb3B5IG9mIGEsIGIgdGltZXMuCisKKyAgICAgICAgVGhlIGNvZWZmaWNpZW50IG9mIHRoZSByZXN1bHQgaXMgYSBzaGlmdGVkIGNvcHkgb2YgdGhlIGRpZ2l0cworICAgICAgICBpbiB0aGUgY29lZmZpY2llbnQgb2YgdGhlIGZpcnN0IG9wZXJhbmQuICBUaGUgbnVtYmVyIG9mIHBsYWNlcworICAgICAgICB0byBzaGlmdCBpcyB0YWtlbiBmcm9tIHRoZSBhYnNvbHV0ZSB2YWx1ZSBvZiB0aGUgc2Vjb25kIG9wZXJhbmQsCisgICAgICAgIHdpdGggdGhlIHNoaWZ0IGJlaW5nIHRvIHRoZSBsZWZ0IGlmIHRoZSBzZWNvbmQgb3BlcmFuZCBpcworICAgICAgICBwb3NpdGl2ZSBvciB0byB0aGUgcmlnaHQgb3RoZXJ3aXNlLiAgRGlnaXRzIHNoaWZ0ZWQgaW50byB0aGUKKyAgICAgICAgY29lZmZpY2llbnQgYXJlIHplcm9zLgorCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuc2hpZnQoRGVjaW1hbCgnMzQnKSwgRGVjaW1hbCgnOCcpKQorICAgICAgICBEZWNpbWFsKCc0MDAwMDAwMDAnKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnNoaWZ0KERlY2ltYWwoJzEyJyksIERlY2ltYWwoJzknKSkKKyAgICAgICAgRGVjaW1hbCgnMCcpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuc2hpZnQoRGVjaW1hbCgnMTIzNDU2Nzg5JyksIERlY2ltYWwoJy0yJykpCisgICAgICAgIERlY2ltYWwoJzEyMzQ1NjcnKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnNoaWZ0KERlY2ltYWwoJzEyMzQ1Njc4OScpLCBEZWNpbWFsKCcwJykpCisgICAgICAgIERlY2ltYWwoJzEyMzQ1Njc4OScpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuc2hpZnQoRGVjaW1hbCgnMTIzNDU2Nzg5JyksIERlY2ltYWwoJysyJykpCisgICAgICAgIERlY2ltYWwoJzM0NTY3ODkwMCcpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuc2hpZnQoODg4ODg4ODgsIDIpCisgICAgICAgIERlY2ltYWwoJzg4ODg4ODgwMCcpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuc2hpZnQoRGVjaW1hbCg4ODg4ODg4OCksIDIpCisgICAgICAgIERlY2ltYWwoJzg4ODg4ODgwMCcpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuc2hpZnQoODg4ODg4ODgsIERlY2ltYWwoMikpCisgICAgICAgIERlY2ltYWwoJzg4ODg4ODgwMCcpCisgICAgICAgICIiIgorICAgICAgICBhID0gX2NvbnZlcnRfb3RoZXIoYSwgcmFpc2VpdD1UcnVlKQorICAgICAgICByZXR1cm4gYS5zaGlmdChiLCBjb250ZXh0PXNlbGYpCisKKyAgICBkZWYgc3FydChzZWxmLCBhKToKKyAgICAgICAgIiIiU3F1YXJlIHJvb3Qgb2YgYSBub24tbmVnYXRpdmUgbnVtYmVyIHRvIGNvbnRleHQgcHJlY2lzaW9uLgorCisgICAgICAgIElmIHRoZSByZXN1bHQgbXVzdCBiZSBpbmV4YWN0LCBpdCBpcyByb3VuZGVkIHVzaW5nIHRoZSByb3VuZC1oYWxmLWV2ZW4KKyAgICAgICAgYWxnb3JpdGhtLgorCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuc3FydChEZWNpbWFsKCcwJykpCisgICAgICAgIERlY2ltYWwoJzAnKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnNxcnQoRGVjaW1hbCgnLTAnKSkKKyAgICAgICAgRGVjaW1hbCgnLTAnKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnNxcnQoRGVjaW1hbCgnMC4zOScpKQorICAgICAgICBEZWNpbWFsKCcwLjYyNDQ5OTgwMCcpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuc3FydChEZWNpbWFsKCcxMDAnKSkKKyAgICAgICAgRGVjaW1hbCgnMTAnKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnNxcnQoRGVjaW1hbCgnMScpKQorICAgICAgICBEZWNpbWFsKCcxJykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5zcXJ0KERlY2ltYWwoJzEuMCcpKQorICAgICAgICBEZWNpbWFsKCcxLjAnKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnNxcnQoRGVjaW1hbCgnMS4wMCcpKQorICAgICAgICBEZWNpbWFsKCcxLjAnKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnNxcnQoRGVjaW1hbCgnNycpKQorICAgICAgICBEZWNpbWFsKCcyLjY0NTc1MTMxJykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5zcXJ0KERlY2ltYWwoJzEwJykpCisgICAgICAgIERlY2ltYWwoJzMuMTYyMjc3NjYnKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnNxcnQoMikKKyAgICAgICAgRGVjaW1hbCgnMS40MTQyMTM1NicpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQucHJlYworICAgICAgICA5CisgICAgICAgICIiIgorICAgICAgICBhID0gX2NvbnZlcnRfb3RoZXIoYSwgcmFpc2VpdD1UcnVlKQorICAgICAgICByZXR1cm4gYS5zcXJ0KGNvbnRleHQ9c2VsZikKKworICAgIGRlZiBzdWJ0cmFjdChzZWxmLCBhLCBiKToKKyAgICAgICAgIiIiUmV0dXJuIHRoZSBkaWZmZXJlbmNlIGJldHdlZW4gdGhlIHR3byBvcGVyYW5kcy4KKworICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnN1YnRyYWN0KERlY2ltYWwoJzEuMycpLCBEZWNpbWFsKCcxLjA3JykpCisgICAgICAgIERlY2ltYWwoJzAuMjMnKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnN1YnRyYWN0KERlY2ltYWwoJzEuMycpLCBEZWNpbWFsKCcxLjMwJykpCisgICAgICAgIERlY2ltYWwoJzAuMDAnKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnN1YnRyYWN0KERlY2ltYWwoJzEuMycpLCBEZWNpbWFsKCcyLjA3JykpCisgICAgICAgIERlY2ltYWwoJy0wLjc3JykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5zdWJ0cmFjdCg4LCA1KQorICAgICAgICBEZWNpbWFsKCczJykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5zdWJ0cmFjdChEZWNpbWFsKDgpLCA1KQorICAgICAgICBEZWNpbWFsKCczJykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5zdWJ0cmFjdCg4LCBEZWNpbWFsKDUpKQorICAgICAgICBEZWNpbWFsKCczJykKKyAgICAgICAgIiIiCisgICAgICAgIGEgPSBfY29udmVydF9vdGhlcihhLCByYWlzZWl0PVRydWUpCisgICAgICAgIHIgPSBhLl9fc3ViX18oYiwgY29udGV4dD1zZWxmKQorICAgICAgICBpZiByIGlzIE5vdEltcGxlbWVudGVkOgorICAgICAgICAgICAgcmFpc2UgVHlwZUVycm9yKCJVbmFibGUgdG8gY29udmVydCAlcyB0byBEZWNpbWFsIiAlIGIpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICByZXR1cm4gcgorCisgICAgZGVmIHRvX2VuZ19zdHJpbmcoc2VsZiwgYSk6CisgICAgICAgICIiIkNvbnZlcnRzIGEgbnVtYmVyIHRvIGEgc3RyaW5nLCB1c2luZyBzY2llbnRpZmljIG5vdGF0aW9uLgorCisgICAgICAgIFRoZSBvcGVyYXRpb24gaXMgbm90IGFmZmVjdGVkIGJ5IHRoZSBjb250ZXh0LgorICAgICAgICAiIiIKKyAgICAgICAgYSA9IF9jb252ZXJ0X290aGVyKGEsIHJhaXNlaXQ9VHJ1ZSkKKyAgICAgICAgcmV0dXJuIGEudG9fZW5nX3N0cmluZyhjb250ZXh0PXNlbGYpCisKKyAgICBkZWYgdG9fc2NpX3N0cmluZyhzZWxmLCBhKToKKyAgICAgICAgIiIiQ29udmVydHMgYSBudW1iZXIgdG8gYSBzdHJpbmcsIHVzaW5nIHNjaWVudGlmaWMgbm90YXRpb24uCisKKyAgICAgICAgVGhlIG9wZXJhdGlvbiBpcyBub3QgYWZmZWN0ZWQgYnkgdGhlIGNvbnRleHQuCisgICAgICAgICIiIgorICAgICAgICBhID0gX2NvbnZlcnRfb3RoZXIoYSwgcmFpc2VpdD1UcnVlKQorICAgICAgICByZXR1cm4gYS5fX3N0cl9fKGNvbnRleHQ9c2VsZikKKworICAgIGRlZiB0b19pbnRlZ3JhbF9leGFjdChzZWxmLCBhKToKKyAgICAgICAgIiIiUm91bmRzIHRvIGFuIGludGVnZXIuCisKKyAgICAgICAgV2hlbiB0aGUgb3BlcmFuZCBoYXMgYSBuZWdhdGl2ZSBleHBvbmVudCwgdGhlIHJlc3VsdCBpcyB0aGUgc2FtZQorICAgICAgICBhcyB1c2luZyB0aGUgcXVhbnRpemUoKSBvcGVyYXRpb24gdXNpbmcgdGhlIGdpdmVuIG9wZXJhbmQgYXMgdGhlCisgICAgICAgIGxlZnQtaGFuZC1vcGVyYW5kLCAxRSswIGFzIHRoZSByaWdodC1oYW5kLW9wZXJhbmQsIGFuZCB0aGUgcHJlY2lzaW9uCisgICAgICAgIG9mIHRoZSBvcGVyYW5kIGFzIHRoZSBwcmVjaXNpb24gc2V0dGluZzsgSW5leGFjdCBhbmQgUm91bmRlZCBmbGFncworICAgICAgICBhcmUgYWxsb3dlZCBpbiB0aGlzIG9wZXJhdGlvbi4gIFRoZSByb3VuZGluZyBtb2RlIGlzIHRha2VuIGZyb20gdGhlCisgICAgICAgIGNvbnRleHQuCisKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC50b19pbnRlZ3JhbF9leGFjdChEZWNpbWFsKCcyLjEnKSkKKyAgICAgICAgRGVjaW1hbCgnMicpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQudG9faW50ZWdyYWxfZXhhY3QoRGVjaW1hbCgnMTAwJykpCisgICAgICAgIERlY2ltYWwoJzEwMCcpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQudG9faW50ZWdyYWxfZXhhY3QoRGVjaW1hbCgnMTAwLjAnKSkKKyAgICAgICAgRGVjaW1hbCgnMTAwJykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC50b19pbnRlZ3JhbF9leGFjdChEZWNpbWFsKCcxMDEuNScpKQorICAgICAgICBEZWNpbWFsKCcxMDInKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnRvX2ludGVncmFsX2V4YWN0KERlY2ltYWwoJy0xMDEuNScpKQorICAgICAgICBEZWNpbWFsKCctMTAyJykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC50b19pbnRlZ3JhbF9leGFjdChEZWNpbWFsKCcxMEUrNScpKQorICAgICAgICBEZWNpbWFsKCcxLjBFKzYnKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnRvX2ludGVncmFsX2V4YWN0KERlY2ltYWwoJzcuODlFKzc3JykpCisgICAgICAgIERlY2ltYWwoJzcuODlFKzc3JykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC50b19pbnRlZ3JhbF9leGFjdChEZWNpbWFsKCctSW5mJykpCisgICAgICAgIERlY2ltYWwoJy1JbmZpbml0eScpCisgICAgICAgICIiIgorICAgICAgICBhID0gX2NvbnZlcnRfb3RoZXIoYSwgcmFpc2VpdD1UcnVlKQorICAgICAgICByZXR1cm4gYS50b19pbnRlZ3JhbF9leGFjdChjb250ZXh0PXNlbGYpCisKKyAgICBkZWYgdG9faW50ZWdyYWxfdmFsdWUoc2VsZiwgYSk6CisgICAgICAgICIiIlJvdW5kcyB0byBhbiBpbnRlZ2VyLgorCisgICAgICAgIFdoZW4gdGhlIG9wZXJhbmQgaGFzIGEgbmVnYXRpdmUgZXhwb25lbnQsIHRoZSByZXN1bHQgaXMgdGhlIHNhbWUKKyAgICAgICAgYXMgdXNpbmcgdGhlIHF1YW50aXplKCkgb3BlcmF0aW9uIHVzaW5nIHRoZSBnaXZlbiBvcGVyYW5kIGFzIHRoZQorICAgICAgICBsZWZ0LWhhbmQtb3BlcmFuZCwgMUUrMCBhcyB0aGUgcmlnaHQtaGFuZC1vcGVyYW5kLCBhbmQgdGhlIHByZWNpc2lvbgorICAgICAgICBvZiB0aGUgb3BlcmFuZCBhcyB0aGUgcHJlY2lzaW9uIHNldHRpbmcsIGV4Y2VwdCB0aGF0IG5vIGZsYWdzIHdpbGwKKyAgICAgICAgYmUgc2V0LiAgVGhlIHJvdW5kaW5nIG1vZGUgaXMgdGFrZW4gZnJvbSB0aGUgY29udGV4dC4KKworICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnRvX2ludGVncmFsX3ZhbHVlKERlY2ltYWwoJzIuMScpKQorICAgICAgICBEZWNpbWFsKCcyJykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC50b19pbnRlZ3JhbF92YWx1ZShEZWNpbWFsKCcxMDAnKSkKKyAgICAgICAgRGVjaW1hbCgnMTAwJykKKyAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC50b19pbnRlZ3JhbF92YWx1ZShEZWNpbWFsKCcxMDAuMCcpKQorICAgICAgICBEZWNpbWFsKCcxMDAnKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnRvX2ludGVncmFsX3ZhbHVlKERlY2ltYWwoJzEwMS41JykpCisgICAgICAgIERlY2ltYWwoJzEwMicpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQudG9faW50ZWdyYWxfdmFsdWUoRGVjaW1hbCgnLTEwMS41JykpCisgICAgICAgIERlY2ltYWwoJy0xMDInKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnRvX2ludGVncmFsX3ZhbHVlKERlY2ltYWwoJzEwRSs1JykpCisgICAgICAgIERlY2ltYWwoJzEuMEUrNicpCisgICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQudG9faW50ZWdyYWxfdmFsdWUoRGVjaW1hbCgnNy44OUUrNzcnKSkKKyAgICAgICAgRGVjaW1hbCgnNy44OUUrNzcnKQorICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnRvX2ludGVncmFsX3ZhbHVlKERlY2ltYWwoJy1JbmYnKSkKKyAgICAgICAgRGVjaW1hbCgnLUluZmluaXR5JykKKyAgICAgICAgIiIiCisgICAgICAgIGEgPSBfY29udmVydF9vdGhlcihhLCByYWlzZWl0PVRydWUpCisgICAgICAgIHJldHVybiBhLnRvX2ludGVncmFsX3ZhbHVlKGNvbnRleHQ9c2VsZikKKworICAgICMgdGhlIG1ldGhvZCBuYW1lIGNoYW5nZWQsIGJ1dCB3ZSBwcm92aWRlIGFsc28gdGhlIG9sZCBvbmUsIGZvciBjb21wYXRpYmlsaXR5CisgICAgdG9faW50ZWdyYWwgPSB0b19pbnRlZ3JhbF92YWx1ZQorCitjbGFzcyBfV29ya1JlcChvYmplY3QpOgorICAgIF9fc2xvdHNfXyA9ICgnc2lnbicsJ2ludCcsJ2V4cCcpCisgICAgIyBzaWduOiAwIG9yIDEKKyAgICAjIGludDogIGludAorICAgICMgZXhwOiAgTm9uZSwgaW50LCBvciBzdHJpbmcKKworICAgIGRlZiBfX2luaXRfXyhzZWxmLCB2YWx1ZT1Ob25lKToKKyAgICAgICAgaWYgdmFsdWUgaXMgTm9uZToKKyAgICAgICAgICAgIHNlbGYuc2lnbiA9IE5vbmUKKyAgICAgICAgICAgIHNlbGYuaW50ID0gMAorICAgICAgICAgICAgc2VsZi5leHAgPSBOb25lCisgICAgICAgIGVsaWYgaXNpbnN0YW5jZSh2YWx1ZSwgRGVjaW1hbCk6CisgICAgICAgICAgICBzZWxmLnNpZ24gPSB2YWx1ZS5fc2lnbgorICAgICAgICAgICAgc2VsZi5pbnQgPSBpbnQodmFsdWUuX2ludCkKKyAgICAgICAgICAgIHNlbGYuZXhwID0gdmFsdWUuX2V4cAorICAgICAgICBlbHNlOgorICAgICAgICAgICAgIyBhc3NlcnQgaXNpbnN0YW5jZSh2YWx1ZSwgdHVwbGUpCisgICAgICAgICAgICBzZWxmLnNpZ24gPSB2YWx1ZVswXQorICAgICAgICAgICAgc2VsZi5pbnQgPSB2YWx1ZVsxXQorICAgICAgICAgICAgc2VsZi5leHAgPSB2YWx1ZVsyXQorCisgICAgZGVmIF9fcmVwcl9fKHNlbGYpOgorICAgICAgICByZXR1cm4gIiglciwgJXIsICVyKSIgJSAoc2VsZi5zaWduLCBzZWxmLmludCwgc2VsZi5leHApCisKKyAgICBfX3N0cl9fID0gX19yZXByX18KKworCisKK2RlZiBfbm9ybWFsaXplKG9wMSwgb3AyLCBwcmVjID0gMCk6CisgICAgIiIiTm9ybWFsaXplcyBvcDEsIG9wMiB0byBoYXZlIHRoZSBzYW1lIGV4cCBhbmQgbGVuZ3RoIG9mIGNvZWZmaWNpZW50LgorCisgICAgRG9uZSBkdXJpbmcgYWRkaXRpb24uCisgICAgIiIiCisgICAgaWYgb3AxLmV4cCA8IG9wMi5leHA6CisgICAgICAgIHRtcCA9IG9wMgorICAgICAgICBvdGhlciA9IG9wMQorICAgIGVsc2U6CisgICAgICAgIHRtcCA9IG9wMQorICAgICAgICBvdGhlciA9IG9wMgorCisgICAgIyBMZXQgZXhwID0gbWluKHRtcC5leHAgLSAxLCB0bXAuYWRqdXN0ZWQoKSAtIHByZWNpc2lvbiAtIDEpLgorICAgICMgVGhlbiBhZGRpbmcgMTAqKmV4cCB0byB0bXAgaGFzIHRoZSBzYW1lIGVmZmVjdCAoYWZ0ZXIgcm91bmRpbmcpCisgICAgIyBhcyBhZGRpbmcgYW55IHBvc2l0aXZlIHF1YW50aXR5IHNtYWxsZXIgdGhhbiAxMCoqZXhwOyBzaW1pbGFybHkKKyAgICAjIGZvciBzdWJ0cmFjdGlvbi4gIFNvIGlmIG90aGVyIGlzIHNtYWxsZXIgdGhhbiAxMCoqZXhwIHdlIHJlcGxhY2UKKyAgICAjIGl0IHdpdGggMTAqKmV4cC4gIFRoaXMgYXZvaWRzIHRtcC5leHAgLSBvdGhlci5leHAgZ2V0dGluZyB0b28gbGFyZ2UuCisgICAgdG1wX2xlbiA9IGxlbihzdHIodG1wLmludCkpCisgICAgb3RoZXJfbGVuID0gbGVuKHN0cihvdGhlci5pbnQpKQorICAgIGV4cCA9IHRtcC5leHAgKyBtaW4oLTEsIHRtcF9sZW4gLSBwcmVjIC0gMikKKyAgICBpZiBvdGhlcl9sZW4gKyBvdGhlci5leHAgLSAxIDwgZXhwOgorICAgICAgICBvdGhlci5pbnQgPSAxCisgICAgICAgIG90aGVyLmV4cCA9IGV4cAorCisgICAgdG1wLmludCAqPSAxMCAqKiAodG1wLmV4cCAtIG90aGVyLmV4cCkKKyAgICB0bXAuZXhwID0gb3RoZXIuZXhwCisgICAgcmV0dXJuIG9wMSwgb3AyCisKKyMjIyMjIEludGVnZXIgYXJpdGhtZXRpYyBmdW5jdGlvbnMgdXNlZCBieSBsbiwgbG9nMTAsIGV4cCBhbmQgX19wb3dfXyAjIyMjIworCitfbmJpdHMgPSBpbnQuYml0X2xlbmd0aAorCitkZWYgX2RlY2ltYWxfbHNoaWZ0X2V4YWN0KG4sIGUpOgorICAgICIiIiBHaXZlbiBpbnRlZ2VycyBuIGFuZCBlLCByZXR1cm4gbiAqIDEwKiplIGlmIGl0J3MgYW4gaW50ZWdlciwgZWxzZSBOb25lLgorCisgICAgVGhlIGNvbXB1dGF0aW9uIGlzIGRlc2lnbmVkIHRvIGF2b2lkIGNvbXB1dGluZyBsYXJnZSBwb3dlcnMgb2YgMTAKKyAgICB1bm5lY2Vzc2FyaWx5LgorCisgICAgPj4+IF9kZWNpbWFsX2xzaGlmdF9leGFjdCgzLCA0KQorICAgIDMwMDAwCisgICAgPj4+IF9kZWNpbWFsX2xzaGlmdF9leGFjdCgzMDAsIC05OTk5OTk5OTkpICAjIHJldHVybnMgTm9uZQorCisgICAgIiIiCisgICAgaWYgbiA9PSAwOgorICAgICAgICByZXR1cm4gMAorICAgIGVsaWYgZSA+PSAwOgorICAgICAgICByZXR1cm4gbiAqIDEwKiplCisgICAgZWxzZToKKyAgICAgICAgIyB2YWxfbiA9IGxhcmdlc3QgcG93ZXIgb2YgMTAgZGl2aWRpbmcgbi4KKyAgICAgICAgc3RyX24gPSBzdHIoYWJzKG4pKQorICAgICAgICB2YWxfbiA9IGxlbihzdHJfbikgLSBsZW4oc3RyX24ucnN0cmlwKCcwJykpCisgICAgICAgIHJldHVybiBOb25lIGlmIHZhbF9uIDwgLWUgZWxzZSBuIC8vIDEwKiotZQorCitkZWYgX3NxcnRfbmVhcmVzdChuLCBhKToKKyAgICAiIiJDbG9zZXN0IGludGVnZXIgdG8gdGhlIHNxdWFyZSByb290IG9mIHRoZSBwb3NpdGl2ZSBpbnRlZ2VyIG4uICBhIGlzCisgICAgYW4gaW5pdGlhbCBhcHByb3hpbWF0aW9uIHRvIHRoZSBzcXVhcmUgcm9vdC4gIEFueSBwb3NpdGl2ZSBpbnRlZ2VyCisgICAgd2lsbCBkbyBmb3IgYSwgYnV0IHRoZSBjbG9zZXIgYSBpcyB0byB0aGUgc3F1YXJlIHJvb3Qgb2YgbiB0aGUKKyAgICBmYXN0ZXIgY29udmVyZ2VuY2Ugd2lsbCBiZS4KKworICAgICIiIgorICAgIGlmIG4gPD0gMCBvciBhIDw9IDA6CisgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoIkJvdGggYXJndW1lbnRzIHRvIF9zcXJ0X25lYXJlc3Qgc2hvdWxkIGJlIHBvc2l0aXZlLiIpCisKKyAgICBiPTAKKyAgICB3aGlsZSBhICE9IGI6CisgICAgICAgIGIsIGEgPSBhLCBhLS1uLy9hPj4xCisgICAgcmV0dXJuIGEKKworZGVmIF9yc2hpZnRfbmVhcmVzdCh4LCBzaGlmdCk6CisgICAgIiIiR2l2ZW4gYW4gaW50ZWdlciB4IGFuZCBhIG5vbm5lZ2F0aXZlIGludGVnZXIgc2hpZnQsIHJldHVybiBjbG9zZXN0CisgICAgaW50ZWdlciB0byB4IC8gMioqc2hpZnQ7IHVzZSByb3VuZC10by1ldmVuIGluIGNhc2Ugb2YgYSB0aWUuCisKKyAgICAiIiIKKyAgICBiLCBxID0gMSA8PCBzaGlmdCwgeCA+PiBzaGlmdAorICAgIHJldHVybiBxICsgKDIqKHggJiAoYi0xKSkgKyAocSYxKSA+IGIpCisKK2RlZiBfZGl2X25lYXJlc3QoYSwgYik6CisgICAgIiIiQ2xvc2VzdCBpbnRlZ2VyIHRvIGEvYiwgYSBhbmQgYiBwb3NpdGl2ZSBpbnRlZ2Vyczsgcm91bmRzIHRvIGV2ZW4KKyAgICBpbiB0aGUgY2FzZSBvZiBhIHRpZS4KKworICAgICIiIgorICAgIHEsIHIgPSBkaXZtb2QoYSwgYikKKyAgICByZXR1cm4gcSArICgyKnIgKyAocSYxKSA+IGIpCisKK2RlZiBfaWxvZyh4LCBNLCBMID0gOCk6CisgICAgIiIiSW50ZWdlciBhcHByb3hpbWF0aW9uIHRvIE0qbG9nKHgvTSksIHdpdGggYWJzb2x1dGUgZXJyb3IgYm91bmRhYmxlCisgICAgaW4gdGVybXMgb25seSBvZiB4L00uCisKKyAgICBHaXZlbiBwb3NpdGl2ZSBpbnRlZ2VycyB4IGFuZCBNLCByZXR1cm4gYW4gaW50ZWdlciBhcHByb3hpbWF0aW9uIHRvCisgICAgTSAqIGxvZyh4L00pLiAgRm9yIEwgPSA4IGFuZCAwLjEgPD0geC9NIDw9IDEwIHRoZSBkaWZmZXJlbmNlCisgICAgYmV0d2VlbiB0aGUgYXBwcm94aW1hdGlvbiBhbmQgdGhlIGV4YWN0IHJlc3VsdCBpcyBhdCBtb3N0IDIyLiAgRm9yCisgICAgTCA9IDggYW5kIDEuMCA8PSB4L00gPD0gMTAuMCB0aGUgZGlmZmVyZW5jZSBpcyBhdCBtb3N0IDE1LiAgSW4KKyAgICBib3RoIGNhc2VzIHRoZXNlIGFyZSB1cHBlciBib3VuZHMgb24gdGhlIGVycm9yOyBpdCB3aWxsIHVzdWFsbHkgYmUKKyAgICBtdWNoIHNtYWxsZXIuIiIiCisKKyAgICAjIFRoZSBiYXNpYyBhbGdvcml0aG0gaXMgdGhlIGZvbGxvd2luZzogbGV0IGxvZzFwIGJlIHRoZSBmdW5jdGlvbgorICAgICMgbG9nMXAoeCkgPSBsb2coMSt4KS4gIFRoZW4gbG9nKHgvTSkgPSBsb2cxcCgoeC1NKS9NKS4gIFdlIHVzZQorICAgICMgdGhlIHJlZHVjdGlvbgorICAgICMKKyAgICAjICAgIGxvZzFwKHkpID0gMipsb2cxcCh5LygxK3NxcnQoMSt5KSkpCisgICAgIworICAgICMgcmVwZWF0ZWRseSB1bnRpbCB0aGUgYXJndW1lbnQgdG8gbG9nMXAgaXMgc21hbGwgKDwgMioqLUwgaW4KKyAgICAjIGFic29sdXRlIHZhbHVlKS4gIEZvciBzbWFsbCB5IHdlIGNhbiB1c2UgdGhlIFRheWxvciBzZXJpZXMKKyAgICAjIGV4cGFuc2lvbgorICAgICMKKyAgICAjICAgIGxvZzFwKHkpIH4geSAtIHkqKjIvMiArIHkqKjMvMyAtIC4uLiAtICgteSkqKlQvVAorICAgICMKKyAgICAjIHRydW5jYXRpbmcgYXQgVCBzdWNoIHRoYXQgeSoqVCBpcyBzbWFsbCBlbm91Z2guICBUaGUgd2hvbGUKKyAgICAjIGNvbXB1dGF0aW9uIGlzIGNhcnJpZWQgb3V0IGluIGEgZm9ybSBvZiBmaXhlZC1wb2ludCBhcml0aG1ldGljLAorICAgICMgd2l0aCBhIHJlYWwgbnVtYmVyIHogYmVpbmcgcmVwcmVzZW50ZWQgYnkgYW4gaW50ZWdlcgorICAgICMgYXBwcm94aW1hdGlvbiB0byB6Kk0uICBUbyBhdm9pZCBsb3NzIG9mIHByZWNpc2lvbiwgdGhlIHkgYmVsb3cKKyAgICAjIGlzIGFjdHVhbGx5IGFuIGludGVnZXIgYXBwcm94aW1hdGlvbiB0byAyKipSKnkqTSwgd2hlcmUgUiBpcyB0aGUKKyAgICAjIG51bWJlciBvZiByZWR1Y3Rpb25zIHBlcmZvcm1lZCBzbyBmYXIuCisKKyAgICB5ID0geC1NCisgICAgIyBhcmd1bWVudCByZWR1Y3Rpb247IFIgPSBudW1iZXIgb2YgcmVkdWN0aW9ucyBwZXJmb3JtZWQKKyAgICBSID0gMAorICAgIHdoaWxlIChSIDw9IEwgYW5kIGFicyh5KSA8PCBMLVIgPj0gTSBvcgorICAgICAgICAgICBSID4gTCBhbmQgYWJzKHkpID4+IFItTCA+PSBNKToKKyAgICAgICAgeSA9IF9kaXZfbmVhcmVzdCgoTSp5KSA8PCAxLAorICAgICAgICAgICAgICAgICAgICAgICAgIE0gKyBfc3FydF9uZWFyZXN0KE0qKE0rX3JzaGlmdF9uZWFyZXN0KHksIFIpKSwgTSkpCisgICAgICAgIFIgKz0gMQorCisgICAgIyBUYXlsb3Igc2VyaWVzIHdpdGggVCB0ZXJtcworICAgIFQgPSAtaW50KC0xMCpsZW4oc3RyKE0pKS8vKDMqTCkpCisgICAgeXNoaWZ0ID0gX3JzaGlmdF9uZWFyZXN0KHksIFIpCisgICAgdyA9IF9kaXZfbmVhcmVzdChNLCBUKQorICAgIGZvciBrIGluIHJhbmdlKFQtMSwgMCwgLTEpOgorICAgICAgICB3ID0gX2Rpdl9uZWFyZXN0KE0sIGspIC0gX2Rpdl9uZWFyZXN0KHlzaGlmdCp3LCBNKQorCisgICAgcmV0dXJuIF9kaXZfbmVhcmVzdCh3KnksIE0pCisKK2RlZiBfZGxvZzEwKGMsIGUsIHApOgorICAgICIiIkdpdmVuIGludGVnZXJzIGMsIGUgYW5kIHAgd2l0aCBjID4gMCwgcCA+PSAwLCBjb21wdXRlIGFuIGludGVnZXIKKyAgICBhcHByb3hpbWF0aW9uIHRvIDEwKipwICogbG9nMTAoYyoxMCoqZSksIHdpdGggYW4gYWJzb2x1dGUgZXJyb3Igb2YKKyAgICBhdCBtb3N0IDEuICBBc3N1bWVzIHRoYXQgYyoxMCoqZSBpcyBub3QgZXhhY3RseSAxLiIiIgorCisgICAgIyBpbmNyZWFzZSBwcmVjaXNpb24gYnkgMjsgY29tcGVuc2F0ZSBmb3IgdGhpcyBieSBkaXZpZGluZworICAgICMgZmluYWwgcmVzdWx0IGJ5IDEwMAorICAgIHAgKz0gMgorCisgICAgIyB3cml0ZSBjKjEwKiplIGFzIGQqMTAqKmYgd2l0aCBlaXRoZXI6CisgICAgIyAgIGYgPj0gMCBhbmQgMSA8PSBkIDw9IDEwLCBvcgorICAgICMgICBmIDw9IDAgYW5kIDAuMSA8PSBkIDw9IDEuCisgICAgIyBUaHVzIGZvciBjKjEwKiplIGNsb3NlIHRvIDEsIGYgPSAwCisgICAgbCA9IGxlbihzdHIoYykpCisgICAgZiA9IGUrbCAtIChlK2wgPj0gMSkKKworICAgIGlmIHAgPiAwOgorICAgICAgICBNID0gMTAqKnAKKyAgICAgICAgayA9IGUrcC1mCisgICAgICAgIGlmIGsgPj0gMDoKKyAgICAgICAgICAgIGMgKj0gMTAqKmsKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGMgPSBfZGl2X25lYXJlc3QoYywgMTAqKi1rKQorCisgICAgICAgIGxvZ19kID0gX2lsb2coYywgTSkgIyBlcnJvciA8IDUgKyAyMiA9IDI3CisgICAgICAgIGxvZ18xMCA9IF9sb2cxMF9kaWdpdHMocCkgIyBlcnJvciA8IDEKKyAgICAgICAgbG9nX2QgPSBfZGl2X25lYXJlc3QobG9nX2QqTSwgbG9nXzEwKQorICAgICAgICBsb2dfdGVucG93ZXIgPSBmKk0gIyBleGFjdAorICAgIGVsc2U6CisgICAgICAgIGxvZ19kID0gMCAgIyBlcnJvciA8IDIuMzEKKyAgICAgICAgbG9nX3RlbnBvd2VyID0gX2Rpdl9uZWFyZXN0KGYsIDEwKiotcCkgIyBlcnJvciA8IDAuNQorCisgICAgcmV0dXJuIF9kaXZfbmVhcmVzdChsb2dfdGVucG93ZXIrbG9nX2QsIDEwMCkKKworZGVmIF9kbG9nKGMsIGUsIHApOgorICAgICIiIkdpdmVuIGludGVnZXJzIGMsIGUgYW5kIHAgd2l0aCBjID4gMCwgY29tcHV0ZSBhbiBpbnRlZ2VyCisgICAgYXBwcm94aW1hdGlvbiB0byAxMCoqcCAqIGxvZyhjKjEwKiplKSwgd2l0aCBhbiBhYnNvbHV0ZSBlcnJvciBvZgorICAgIGF0IG1vc3QgMS4gIEFzc3VtZXMgdGhhdCBjKjEwKiplIGlzIG5vdCBleGFjdGx5IDEuIiIiCisKKyAgICAjIEluY3JlYXNlIHByZWNpc2lvbiBieSAyLiBUaGUgcHJlY2lzaW9uIGluY3JlYXNlIGlzIGNvbXBlbnNhdGVkCisgICAgIyBmb3IgYXQgdGhlIGVuZCB3aXRoIGEgZGl2aXNpb24gYnkgMTAwLgorICAgIHAgKz0gMgorCisgICAgIyByZXdyaXRlIGMqMTAqKmUgYXMgZCoxMCoqZiB3aXRoIGVpdGhlciBmID49IDAgYW5kIDEgPD0gZCA8PSAxMCwKKyAgICAjIG9yIGYgPD0gMCBhbmQgMC4xIDw9IGQgPD0gMS4gIFRoZW4gd2UgY2FuIGNvbXB1dGUgMTAqKnAgKiBsb2coYyoxMCoqZSkKKyAgICAjIGFzIDEwKipwICogbG9nKGQpICsgMTAqKnAqZiAqIGxvZygxMCkuCisgICAgbCA9IGxlbihzdHIoYykpCisgICAgZiA9IGUrbCAtIChlK2wgPj0gMSkKKworICAgICMgY29tcHV0ZSBhcHByb3hpbWF0aW9uIHRvIDEwKipwKmxvZyhkKSwgd2l0aCBlcnJvciA8IDI3CisgICAgaWYgcCA+IDA6CisgICAgICAgIGsgPSBlK3AtZgorICAgICAgICBpZiBrID49IDA6CisgICAgICAgICAgICBjICo9IDEwKiprCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBjID0gX2Rpdl9uZWFyZXN0KGMsIDEwKiotaykgICMgZXJyb3Igb2YgPD0gMC41IGluIGMKKworICAgICAgICAjIF9pbG9nIG1hZ25pZmllcyBleGlzdGluZyBlcnJvciBpbiBjIGJ5IGEgZmFjdG9yIG9mIGF0IG1vc3QgMTAKKyAgICAgICAgbG9nX2QgPSBfaWxvZyhjLCAxMCoqcCkgIyBlcnJvciA8IDUgKyAyMiA9IDI3CisgICAgZWxzZToKKyAgICAgICAgIyBwIDw9IDA6IGp1c3QgYXBwcm94aW1hdGUgdGhlIHdob2xlIHRoaW5nIGJ5IDA7IGVycm9yIDwgMi4zMQorICAgICAgICBsb2dfZCA9IDAKKworICAgICMgY29tcHV0ZSBhcHByb3hpbWF0aW9uIHRvIGYqMTAqKnAqbG9nKDEwKSwgd2l0aCBlcnJvciA8IDExLgorICAgIGlmIGY6CisgICAgICAgIGV4dHJhID0gbGVuKHN0cihhYnMoZikpKS0xCisgICAgICAgIGlmIHAgKyBleHRyYSA+PSAwOgorICAgICAgICAgICAgIyBlcnJvciBpbiBmICogX2xvZzEwX2RpZ2l0cyhwK2V4dHJhKSA8IHxmfCAqIDEgPSB8ZnwKKyAgICAgICAgICAgICMgYWZ0ZXIgZGl2aXNpb24sIGVycm9yIDwgfGZ8LzEwKipleHRyYSArIDAuNSA8IDEwICsgMC41IDwgMTEKKyAgICAgICAgICAgIGZfbG9nX3RlbiA9IF9kaXZfbmVhcmVzdChmKl9sb2cxMF9kaWdpdHMocCtleHRyYSksIDEwKipleHRyYSkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGZfbG9nX3RlbiA9IDAKKyAgICBlbHNlOgorICAgICAgICBmX2xvZ190ZW4gPSAwCisKKyAgICAjIGVycm9yIGluIHN1bSA8IDExKzI3ID0gMzg7IGVycm9yIGFmdGVyIGRpdmlzaW9uIDwgMC4zOCArIDAuNSA8IDEKKyAgICByZXR1cm4gX2Rpdl9uZWFyZXN0KGZfbG9nX3RlbiArIGxvZ19kLCAxMDApCisKK2NsYXNzIF9Mb2cxME1lbW9pemUob2JqZWN0KToKKyAgICAiIiJDbGFzcyB0byBjb21wdXRlLCBzdG9yZSwgYW5kIGFsbG93IHJldHJpZXZhbCBvZiwgZGlnaXRzIG9mIHRoZQorICAgIGNvbnN0YW50IGxvZygxMCkgPSAyLjMwMjU4NS4uLi4gIFRoaXMgY29uc3RhbnQgaXMgbmVlZGVkIGJ5CisgICAgRGVjaW1hbC5sbiwgRGVjaW1hbC5sb2cxMCwgRGVjaW1hbC5leHAgYW5kIERlY2ltYWwuX19wb3dfXy4iIiIKKyAgICBkZWYgX19pbml0X18oc2VsZik6CisgICAgICAgIHNlbGYuZGlnaXRzID0gIjIzMDI1ODUwOTI5OTQwNDU2ODQwMTc5OTE0NTQ2ODQzNjQyMDc2MDExMDE0ODg2IgorCisgICAgZGVmIGdldGRpZ2l0cyhzZWxmLCBwKToKKyAgICAgICAgIiIiR2l2ZW4gYW4gaW50ZWdlciBwID49IDAsIHJldHVybiBmbG9vcigxMCoqcCkqbG9nKDEwKS4KKworICAgICAgICBGb3IgZXhhbXBsZSwgc2VsZi5nZXRkaWdpdHMoMykgcmV0dXJucyAyMzAyLgorICAgICAgICAiIiIKKyAgICAgICAgIyBkaWdpdHMgYXJlIHN0b3JlZCBhcyBhIHN0cmluZywgZm9yIHF1aWNrIGNvbnZlcnNpb24gdG8KKyAgICAgICAgIyBpbnRlZ2VyIGluIHRoZSBjYXNlIHRoYXQgd2UndmUgYWxyZWFkeSBjb21wdXRlZCBlbm91Z2gKKyAgICAgICAgIyBkaWdpdHM7IHRoZSBzdG9yZWQgZGlnaXRzIHNob3VsZCBhbHdheXMgYmUgY29ycmVjdAorICAgICAgICAjICh0cnVuY2F0ZWQsIG5vdCByb3VuZGVkIHRvIG5lYXJlc3QpLgorICAgICAgICBpZiBwIDwgMDoKKyAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoInAgc2hvdWxkIGJlIG5vbm5lZ2F0aXZlIikKKworICAgICAgICBpZiBwID49IGxlbihzZWxmLmRpZ2l0cyk6CisgICAgICAgICAgICAjIGNvbXB1dGUgcCszLCBwKzYsIHArOSwgLi4uIGRpZ2l0czsgY29udGludWUgdW50aWwgYXQKKyAgICAgICAgICAgICMgbGVhc3Qgb25lIG9mIHRoZSBleHRyYSBkaWdpdHMgaXMgbm9uemVybworICAgICAgICAgICAgZXh0cmEgPSAzCisgICAgICAgICAgICB3aGlsZSBUcnVlOgorICAgICAgICAgICAgICAgICMgY29tcHV0ZSBwK2V4dHJhIGRpZ2l0cywgY29ycmVjdCB0byB3aXRoaW4gMXVscAorICAgICAgICAgICAgICAgIE0gPSAxMCoqKHArZXh0cmErMikKKyAgICAgICAgICAgICAgICBkaWdpdHMgPSBzdHIoX2Rpdl9uZWFyZXN0KF9pbG9nKDEwKk0sIE0pLCAxMDApKQorICAgICAgICAgICAgICAgIGlmIGRpZ2l0c1stZXh0cmE6XSAhPSAnMCcqZXh0cmE6CisgICAgICAgICAgICAgICAgICAgIGJyZWFrCisgICAgICAgICAgICAgICAgZXh0cmEgKz0gMworICAgICAgICAgICAgIyBrZWVwIGFsbCByZWxpYWJsZSBkaWdpdHMgc28gZmFyOyByZW1vdmUgdHJhaWxpbmcgemVyb3MKKyAgICAgICAgICAgICMgYW5kIG5leHQgbm9uemVybyBkaWdpdAorICAgICAgICAgICAgc2VsZi5kaWdpdHMgPSBkaWdpdHMucnN0cmlwKCcwJylbOi0xXQorICAgICAgICByZXR1cm4gaW50KHNlbGYuZGlnaXRzWzpwKzFdKQorCitfbG9nMTBfZGlnaXRzID0gX0xvZzEwTWVtb2l6ZSgpLmdldGRpZ2l0cworCitkZWYgX2lleHAoeCwgTSwgTD04KToKKyAgICAiIiJHaXZlbiBpbnRlZ2VycyB4IGFuZCBNLCBNID4gMCwgc3VjaCB0aGF0IHgvTSBpcyBzbWFsbCBpbiBhYnNvbHV0ZQorICAgIHZhbHVlLCBjb21wdXRlIGFuIGludGVnZXIgYXBwcm94aW1hdGlvbiB0byBNKmV4cCh4L00pLiAgRm9yIDAgPD0KKyAgICB4L00gPD0gMi40LCB0aGUgYWJzb2x1dGUgZXJyb3IgaW4gdGhlIHJlc3VsdCBpcyBib3VuZGVkIGJ5IDYwIChhbmQKKyAgICBpcyB1c3VhbGx5IG11Y2ggc21hbGxlcikuIiIiCisKKyAgICAjIEFsZ29yaXRobTogdG8gY29tcHV0ZSBleHAoeikgZm9yIGEgcmVhbCBudW1iZXIgeiwgZmlyc3QgZGl2aWRlIHoKKyAgICAjIGJ5IGEgc3VpdGFibGUgcG93ZXIgUiBvZiAyIHNvIHRoYXQgfHovMioqUnwgPCAyKiotTC4gIFRoZW4KKyAgICAjIGNvbXB1dGUgZXhwbTEoei8yKipSKSA9IGV4cCh6LzIqKlIpIC0gMSB1c2luZyB0aGUgdXN1YWwgVGF5bG9yCisgICAgIyBzZXJpZXMKKyAgICAjCisgICAgIyAgICAgZXhwbTEoeCkgPSB4ICsgeCoqMi8yISArIHgqKjMvMyEgKyAuLi4KKyAgICAjCisgICAgIyBOb3cgdXNlIHRoZSBpZGVudGl0eQorICAgICMKKyAgICAjICAgICBleHBtMSgyeCkgPSBleHBtMSh4KSooZXhwbTEoeCkrMikKKyAgICAjCisgICAgIyBSIHRpbWVzIHRvIGNvbXB1dGUgdGhlIHNlcXVlbmNlIGV4cG0xKHovMioqUiksCisgICAgIyBleHBtMSh6LzIqKihSLTEpKSwgLi4uICwgZXhwKHovMiksIGV4cCh6KS4KKworICAgICMgRmluZCBSIHN1Y2ggdGhhdCB4LzIqKlIvTSA8PSAyKiotTAorICAgIFIgPSBfbmJpdHMoKHg8PEwpLy9NKQorCisgICAgIyBUYXlsb3Igc2VyaWVzLiAgKDIqKkwpKipUID4gTQorICAgIFQgPSAtaW50KC0xMCpsZW4oc3RyKE0pKS8vKDMqTCkpCisgICAgeSA9IF9kaXZfbmVhcmVzdCh4LCBUKQorICAgIE1zaGlmdCA9IE08PFIKKyAgICBmb3IgaSBpbiByYW5nZShULTEsIDAsIC0xKToKKyAgICAgICAgeSA9IF9kaXZfbmVhcmVzdCh4KihNc2hpZnQgKyB5KSwgTXNoaWZ0ICogaSkKKworICAgICMgRXhwYW5zaW9uCisgICAgZm9yIGsgaW4gcmFuZ2UoUi0xLCAtMSwgLTEpOgorICAgICAgICBNc2hpZnQgPSBNPDwoaysyKQorICAgICAgICB5ID0gX2Rpdl9uZWFyZXN0KHkqKHkrTXNoaWZ0KSwgTXNoaWZ0KQorCisgICAgcmV0dXJuIE0reQorCitkZWYgX2RleHAoYywgZSwgcCk6CisgICAgIiIiQ29tcHV0ZSBhbiBhcHByb3hpbWF0aW9uIHRvIGV4cChjKjEwKiplKSwgd2l0aCBwIGRlY2ltYWwgcGxhY2VzIG9mCisgICAgcHJlY2lzaW9uLgorCisgICAgUmV0dXJucyBpbnRlZ2VycyBkLCBmIHN1Y2ggdGhhdDoKKworICAgICAgMTAqKihwLTEpIDw9IGQgPD0gMTAqKnAsIGFuZAorICAgICAgKGQtMSkqMTAqKmYgPCBleHAoYyoxMCoqZSkgPCAoZCsxKSoxMCoqZgorCisgICAgSW4gb3RoZXIgd29yZHMsIGQqMTAqKmYgaXMgYW4gYXBwcm94aW1hdGlvbiB0byBleHAoYyoxMCoqZSkgd2l0aCBwCisgICAgZGlnaXRzIG9mIHByZWNpc2lvbiwgYW5kIHdpdGggYW4gZXJyb3IgaW4gZCBvZiBhdCBtb3N0IDEuICBUaGlzIGlzCisgICAgYWxtb3N0LCBidXQgbm90IHF1aXRlLCB0aGUgc2FtZSBhcyB0aGUgZXJyb3IgYmVpbmcgPCAxdWxwOiB3aGVuIGQKKyAgICA9IDEwKioocC0xKSB0aGUgZXJyb3IgY291bGQgYmUgdXAgdG8gMTAgdWxwLiIiIgorCisgICAgIyB3ZSdsbCBjYWxsIGlleHAgd2l0aCBNID0gMTAqKihwKzIpLCBnaXZpbmcgcCszIGRpZ2l0cyBvZiBwcmVjaXNpb24KKyAgICBwICs9IDIKKworICAgICMgY29tcHV0ZSBsb2coMTApIHdpdGggZXh0cmEgcHJlY2lzaW9uID0gYWRqdXN0ZWQgZXhwb25lbnQgb2YgYyoxMCoqZQorICAgIGV4dHJhID0gbWF4KDAsIGUgKyBsZW4oc3RyKGMpKSAtIDEpCisgICAgcSA9IHAgKyBleHRyYQorCisgICAgIyBjb21wdXRlIHF1b3RpZW50IGMqMTAqKmUvKGxvZygxMCkpID0gYyoxMCoqKGUrcSkvKGxvZygxMCkqMTAqKnEpLAorICAgICMgcm91bmRpbmcgZG93bgorICAgIHNoaWZ0ID0gZStxCisgICAgaWYgc2hpZnQgPj0gMDoKKyAgICAgICAgY3NoaWZ0ID0gYyoxMCoqc2hpZnQKKyAgICBlbHNlOgorICAgICAgICBjc2hpZnQgPSBjLy8xMCoqLXNoaWZ0CisgICAgcXVvdCwgcmVtID0gZGl2bW9kKGNzaGlmdCwgX2xvZzEwX2RpZ2l0cyhxKSkKKworICAgICMgcmVkdWNlIHJlbWFpbmRlciBiYWNrIHRvIG9yaWdpbmFsIHByZWNpc2lvbgorICAgIHJlbSA9IF9kaXZfbmVhcmVzdChyZW0sIDEwKipleHRyYSkKKworICAgICMgZXJyb3IgaW4gcmVzdWx0IG9mIF9pZXhwIDwgMTIwOyAgZXJyb3IgYWZ0ZXIgZGl2aXNpb24gPCAwLjYyCisgICAgcmV0dXJuIF9kaXZfbmVhcmVzdChfaWV4cChyZW0sIDEwKipwKSwgMTAwMCksIHF1b3QgLSBwICsgMworCitkZWYgX2Rwb3dlcih4YywgeGUsIHljLCB5ZSwgcCk6CisgICAgIiIiR2l2ZW4gaW50ZWdlcnMgeGMsIHhlLCB5YyBhbmQgeWUgcmVwcmVzZW50aW5nIERlY2ltYWxzIHggPSB4YyoxMCoqeGUgYW5kCisgICAgeSA9IHljKjEwKip5ZSwgY29tcHV0ZSB4Kip5LiAgUmV0dXJucyBhIHBhaXIgb2YgaW50ZWdlcnMgKGMsIGUpIHN1Y2ggdGhhdDoKKworICAgICAgMTAqKihwLTEpIDw9IGMgPD0gMTAqKnAsIGFuZAorICAgICAgKGMtMSkqMTAqKmUgPCB4Kip5IDwgKGMrMSkqMTAqKmUKKworICAgIGluIG90aGVyIHdvcmRzLCBjKjEwKiplIGlzIGFuIGFwcHJveGltYXRpb24gdG8geCoqeSB3aXRoIHAgZGlnaXRzCisgICAgb2YgcHJlY2lzaW9uLCBhbmQgd2l0aCBhbiBlcnJvciBpbiBjIG9mIGF0IG1vc3QgMS4gIChUaGlzIGlzCisgICAgYWxtb3N0LCBidXQgbm90IHF1aXRlLCB0aGUgc2FtZSBhcyB0aGUgZXJyb3IgYmVpbmcgPCAxdWxwOiB3aGVuIGMKKyAgICA9PSAxMCoqKHAtMSkgd2UgY2FuIG9ubHkgZ3VhcmFudGVlIGVycm9yIDwgMTB1bHAuKQorCisgICAgV2UgYXNzdW1lIHRoYXQ6IHggaXMgcG9zaXRpdmUgYW5kIG5vdCBlcXVhbCB0byAxLCBhbmQgeSBpcyBub256ZXJvLgorICAgICIiIgorCisgICAgIyBGaW5kIGIgc3VjaCB0aGF0IDEwKiooYi0xKSA8PSB8eXwgPD0gMTAqKmIKKyAgICBiID0gbGVuKHN0cihhYnMoeWMpKSkgKyB5ZQorCisgICAgIyBsb2coeCkgPSBseGMqMTAqKigtcC1iLTEpLCB0byBwK2IrMSBwbGFjZXMgYWZ0ZXIgdGhlIGRlY2ltYWwgcG9pbnQKKyAgICBseGMgPSBfZGxvZyh4YywgeGUsIHArYisxKQorCisgICAgIyBjb21wdXRlIHByb2R1Y3QgeSpsb2coeCkgPSB5YypseGMqMTAqKigtcC1iLTEreWUpID0gcGMqMTAqKigtcC0xKQorICAgIHNoaWZ0ID0geWUtYgorICAgIGlmIHNoaWZ0ID49IDA6CisgICAgICAgIHBjID0gbHhjKnljKjEwKipzaGlmdAorICAgIGVsc2U6CisgICAgICAgIHBjID0gX2Rpdl9uZWFyZXN0KGx4Yyp5YywgMTAqKi1zaGlmdCkKKworICAgIGlmIHBjID09IDA6CisgICAgICAgICMgd2UgcHJlZmVyIGEgcmVzdWx0IHRoYXQgaXNuJ3QgZXhhY3RseSAxOyB0aGlzIG1ha2VzIGl0CisgICAgICAgICMgZWFzaWVyIHRvIGNvbXB1dGUgYSBjb3JyZWN0bHkgcm91bmRlZCByZXN1bHQgaW4gX19wb3dfXworICAgICAgICBpZiAoKGxlbihzdHIoeGMpKSArIHhlID49IDEpID09ICh5YyA+IDApKTogIyBpZiB4Kip5ID4gMToKKyAgICAgICAgICAgIGNvZWZmLCBleHAgPSAxMCoqKHAtMSkrMSwgMS1wCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBjb2VmZiwgZXhwID0gMTAqKnAtMSwgLXAKKyAgICBlbHNlOgorICAgICAgICBjb2VmZiwgZXhwID0gX2RleHAocGMsIC0ocCsxKSwgcCsxKQorICAgICAgICBjb2VmZiA9IF9kaXZfbmVhcmVzdChjb2VmZiwgMTApCisgICAgICAgIGV4cCArPSAxCisKKyAgICByZXR1cm4gY29lZmYsIGV4cAorCitkZWYgX2xvZzEwX2xiKGMsIGNvcnJlY3Rpb24gPSB7CisgICAgICAgICcxJzogMTAwLCAnMic6IDcwLCAnMyc6IDUzLCAnNCc6IDQwLCAnNSc6IDMxLAorICAgICAgICAnNic6IDIzLCAnNyc6IDE2LCAnOCc6IDEwLCAnOSc6IDV9KToKKyAgICAiIiJDb21wdXRlIGEgbG93ZXIgYm91bmQgZm9yIDEwMCpsb2cxMChjKSBmb3IgYSBwb3NpdGl2ZSBpbnRlZ2VyIGMuIiIiCisgICAgaWYgYyA8PSAwOgorICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJUaGUgYXJndW1lbnQgdG8gX2xvZzEwX2xiIHNob3VsZCBiZSBub25uZWdhdGl2ZS4iKQorICAgIHN0cl9jID0gc3RyKGMpCisgICAgcmV0dXJuIDEwMCpsZW4oc3RyX2MpIC0gY29ycmVjdGlvbltzdHJfY1swXV0KKworIyMjIyMgSGVscGVyIEZ1bmN0aW9ucyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisKK2RlZiBfY29udmVydF9vdGhlcihvdGhlciwgcmFpc2VpdD1GYWxzZSwgYWxsb3dfZmxvYXQ9RmFsc2UpOgorICAgICIiIkNvbnZlcnQgb3RoZXIgdG8gRGVjaW1hbC4KKworICAgIFZlcmlmaWVzIHRoYXQgaXQncyBvayB0byB1c2UgaW4gYW4gaW1wbGljaXQgY29uc3RydWN0aW9uLgorICAgIElmIGFsbG93X2Zsb2F0IGlzIHRydWUsIGFsbG93IGNvbnZlcnNpb24gZnJvbSBmbG9hdDsgIHRoaXMKKyAgICBpcyB1c2VkIGluIHRoZSBjb21wYXJpc29uIG1ldGhvZHMgKF9fZXFfXyBhbmQgZnJpZW5kcykuCisKKyAgICAiIiIKKyAgICBpZiBpc2luc3RhbmNlKG90aGVyLCBEZWNpbWFsKToKKyAgICAgICAgcmV0dXJuIG90aGVyCisgICAgaWYgaXNpbnN0YW5jZShvdGhlciwgaW50KToKKyAgICAgICAgcmV0dXJuIERlY2ltYWwob3RoZXIpCisgICAgaWYgYWxsb3dfZmxvYXQgYW5kIGlzaW5zdGFuY2Uob3RoZXIsIGZsb2F0KToKKyAgICAgICAgcmV0dXJuIERlY2ltYWwuZnJvbV9mbG9hdChvdGhlcikKKworICAgIGlmIHJhaXNlaXQ6CisgICAgICAgIHJhaXNlIFR5cGVFcnJvcigiVW5hYmxlIHRvIGNvbnZlcnQgJXMgdG8gRGVjaW1hbCIgJSBvdGhlcikKKyAgICByZXR1cm4gTm90SW1wbGVtZW50ZWQKKworZGVmIF9jb252ZXJ0X2Zvcl9jb21wYXJpc29uKHNlbGYsIG90aGVyLCBlcXVhbGl0eV9vcD1GYWxzZSk6CisgICAgIiIiR2l2ZW4gYSBEZWNpbWFsIGluc3RhbmNlIHNlbGYgYW5kIGEgUHl0aG9uIG9iamVjdCBvdGhlciwgcmV0dXJuCisgICAgYSBwYWlyIChzLCBvKSBvZiBEZWNpbWFsIGluc3RhbmNlcyBzdWNoIHRoYXQgInMgb3AgbyIgaXMKKyAgICBlcXVpdmFsZW50IHRvICJzZWxmIG9wIG90aGVyIiBmb3IgYW55IG9mIHRoZSA2IGNvbXBhcmlzb24KKyAgICBvcGVyYXRvcnMgIm9wIi4KKworICAgICIiIgorICAgIGlmIGlzaW5zdGFuY2Uob3RoZXIsIERlY2ltYWwpOgorICAgICAgICByZXR1cm4gc2VsZiwgb3RoZXIKKworICAgICMgQ29tcGFyaXNvbiB3aXRoIGEgUmF0aW9uYWwgaW5zdGFuY2UgKGFsc28gaW5jbHVkZXMgaW50ZWdlcnMpOgorICAgICMgc2VsZiBvcCBuL2QgPD0+IHNlbGYqZCBvcCBuIChmb3IgbiBhbmQgZCBpbnRlZ2VycywgZCBwb3NpdGl2ZSkuCisgICAgIyBBIE5hTiBvciBpbmZpbml0eSBjYW4gYmUgbGVmdCB1bmNoYW5nZWQgd2l0aG91dCBhZmZlY3RpbmcgdGhlCisgICAgIyBjb21wYXJpc29uIHJlc3VsdC4KKyAgICBpZiBpc2luc3RhbmNlKG90aGVyLCBfbnVtYmVycy5SYXRpb25hbCk6CisgICAgICAgIGlmIG5vdCBzZWxmLl9pc19zcGVjaWFsOgorICAgICAgICAgICAgc2VsZiA9IF9kZWNfZnJvbV90cmlwbGUoc2VsZi5fc2lnbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cihpbnQoc2VsZi5faW50KSAqIG90aGVyLmRlbm9taW5hdG9yKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX2V4cCkKKyAgICAgICAgcmV0dXJuIHNlbGYsIERlY2ltYWwob3RoZXIubnVtZXJhdG9yKQorCisgICAgIyBDb21wYXJpc29ucyB3aXRoIGZsb2F0IGFuZCBjb21wbGV4IHR5cGVzLiAgPT0gYW5kICE9IGNvbXBhcmlzb25zCisgICAgIyB3aXRoIGNvbXBsZXggbnVtYmVycyBzaG91bGQgc3VjY2VlZCwgcmV0dXJuaW5nIGVpdGhlciBUcnVlIG9yIEZhbHNlCisgICAgIyBhcyBhcHByb3ByaWF0ZS4gIE90aGVyIGNvbXBhcmlzb25zIHJldHVybiBOb3RJbXBsZW1lbnRlZC4KKyAgICBpZiBlcXVhbGl0eV9vcCBhbmQgaXNpbnN0YW5jZShvdGhlciwgX251bWJlcnMuQ29tcGxleCkgYW5kIG90aGVyLmltYWcgPT0gMDoKKyAgICAgICAgb3RoZXIgPSBvdGhlci5yZWFsCisgICAgaWYgaXNpbnN0YW5jZShvdGhlciwgZmxvYXQpOgorICAgICAgICBjb250ZXh0ID0gZ2V0Y29udGV4dCgpCisgICAgICAgIGlmIGVxdWFsaXR5X29wOgorICAgICAgICAgICAgY29udGV4dC5mbGFnc1tGbG9hdE9wZXJhdGlvbl0gPSAxCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBjb250ZXh0Ll9yYWlzZV9lcnJvcihGbG9hdE9wZXJhdGlvbiwKKyAgICAgICAgICAgICAgICAic3RyaWN0IHNlbWFudGljcyBmb3IgbWl4aW5nIGZsb2F0cyBhbmQgRGVjaW1hbHMgYXJlIGVuYWJsZWQiKQorICAgICAgICByZXR1cm4gc2VsZiwgRGVjaW1hbC5mcm9tX2Zsb2F0KG90aGVyKQorICAgIHJldHVybiBOb3RJbXBsZW1lbnRlZCwgTm90SW1wbGVtZW50ZWQKKworCisjIyMjIyBTZXR1cCBTcGVjaWZpYyBDb250ZXh0cyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworCisjIFRoZSBkZWZhdWx0IGNvbnRleHQgcHJvdG90eXBlIHVzZWQgYnkgQ29udGV4dCgpCisjIElzIG11dGFibGUsIHNvIHRoYXQgbmV3IGNvbnRleHRzIGNhbiBoYXZlIGRpZmZlcmVudCBkZWZhdWx0IHZhbHVlcworCitEZWZhdWx0Q29udGV4dCA9IENvbnRleHQoCisgICAgICAgIHByZWM9MjgsIHJvdW5kaW5nPVJPVU5EX0hBTEZfRVZFTiwKKyAgICAgICAgdHJhcHM9W0RpdmlzaW9uQnlaZXJvLCBPdmVyZmxvdywgSW52YWxpZE9wZXJhdGlvbl0sCisgICAgICAgIGZsYWdzPVtdLAorICAgICAgICBFbWF4PTk5OTk5OSwKKyAgICAgICAgRW1pbj0tOTk5OTk5LAorICAgICAgICBjYXBpdGFscz0xLAorICAgICAgICBjbGFtcD0wCispCisKKyMgUHJlLW1hZGUgYWx0ZXJuYXRlIGNvbnRleHRzIG9mZmVyZWQgYnkgdGhlIHNwZWNpZmljYXRpb24KKyMgRG9uJ3QgY2hhbmdlIHRoZXNlOyB0aGUgdXNlciBzaG91bGQgYmUgYWJsZSB0byBzZWxlY3QgdGhlc2UKKyMgY29udGV4dHMgYW5kIGJlIGFibGUgdG8gcmVwcm9kdWNlIHJlc3VsdHMgZnJvbSBvdGhlciBpbXBsZW1lbnRhdGlvbnMKKyMgb2YgdGhlIHNwZWMuCisKK0Jhc2ljQ29udGV4dCA9IENvbnRleHQoCisgICAgICAgIHByZWM9OSwgcm91bmRpbmc9Uk9VTkRfSEFMRl9VUCwKKyAgICAgICAgdHJhcHM9W0RpdmlzaW9uQnlaZXJvLCBPdmVyZmxvdywgSW52YWxpZE9wZXJhdGlvbiwgQ2xhbXBlZCwgVW5kZXJmbG93XSwKKyAgICAgICAgZmxhZ3M9W10sCispCisKK0V4dGVuZGVkQ29udGV4dCA9IENvbnRleHQoCisgICAgICAgIHByZWM9OSwgcm91bmRpbmc9Uk9VTkRfSEFMRl9FVkVOLAorICAgICAgICB0cmFwcz1bXSwKKyAgICAgICAgZmxhZ3M9W10sCispCisKKworIyMjIyMgY3J1ZCBmb3IgcGFyc2luZyBzdHJpbmdzICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIworIyBSZWd1bGFyIGV4cHJlc3Npb24gdXNlZCBmb3IgcGFyc2luZyBudW1lcmljIHN0cmluZ3MuICBBZGRpdGlvbmFsCisjIGNvbW1lbnRzOgorIworIyAxLiBVbmNvbW1lbnQgdGhlIHR3byAnXHMqJyBsaW5lcyB0byBhbGxvdyBsZWFkaW5nIGFuZC9vciB0cmFpbGluZworIyB3aGl0ZXNwYWNlLiAgQnV0IG5vdGUgdGhhdCB0aGUgc3BlY2lmaWNhdGlvbiBkaXNhbGxvd3Mgd2hpdGVzcGFjZSBpbgorIyBhIG51bWVyaWMgc3RyaW5nLgorIworIyAyLiBGb3IgZmluaXRlIG51bWJlcnMgKG5vdCBpbmZpbml0aWVzIGFuZCBOYU5zKSB0aGUgYm9keSBvZiB0aGUKKyMgbnVtYmVyIGJldHdlZW4gdGhlIG9wdGlvbmFsIHNpZ24gYW5kIHRoZSBvcHRpb25hbCBleHBvbmVudCBtdXN0IGhhdmUKKyMgYXQgbGVhc3Qgb25lIGRlY2ltYWwgZGlnaXQsIHBvc3NpYmx5IGFmdGVyIHRoZSBkZWNpbWFsIHBvaW50LiAgVGhlCisjIGxvb2thaGVhZCBleHByZXNzaW9uICcoPz1cZHxcLlxkKScgY2hlY2tzIHRoaXMuCisKK2ltcG9ydCByZQorX3BhcnNlciA9IHJlLmNvbXBpbGUociIiIiAgICAgICAgIyBBIG51bWVyaWMgc3RyaW5nIGNvbnNpc3RzIG9mOgorIyAgICBccyoKKyAgICAoP1A8c2lnbj5bLStdKT8gICAgICAgICAgICAgICMgYW4gb3B0aW9uYWwgc2lnbiwgZm9sbG93ZWQgYnkgZWl0aGVyLi4uCisgICAgKAorICAgICAgICAoPz1cZHxcLlxkKSAgICAgICAgICAgICAgIyAuLi5hIG51bWJlciAod2l0aCBhdCBsZWFzdCBvbmUgZGlnaXQpCisgICAgICAgICg/UDxpbnQ+XGQqKSAgICAgICAgICAgICAjIGhhdmluZyBhIChwb3NzaWJseSBlbXB0eSkgaW50ZWdlciBwYXJ0CisgICAgICAgIChcLig/UDxmcmFjPlxkKikpPyAgICAgICAjIGZvbGxvd2VkIGJ5IGFuIG9wdGlvbmFsIGZyYWN0aW9uYWwgcGFydAorICAgICAgICAoRSg/UDxleHA+Wy0rXT9cZCspKT8gICAgIyBmb2xsb3dlZCBieSBhbiBvcHRpb25hbCBleHBvbmVudCwgb3IuLi4KKyAgICB8CisgICAgICAgIEluZihpbml0eSk/ICAgICAgICAgICAgICAjIC4uLmFuIGluZmluaXR5LCBvci4uLgorICAgIHwKKyAgICAgICAgKD9QPHNpZ25hbD5zKT8gICAgICAgICAgICMgLi4uYW4gKG9wdGlvbmFsbHkgc2lnbmFsaW5nKQorICAgICAgICBOYU4gICAgICAgICAgICAgICAgICAgICAgIyBOYU4KKyAgICAgICAgKD9QPGRpYWc+XGQqKSAgICAgICAgICAgICMgd2l0aCAocG9zc2libHkgZW1wdHkpIGRpYWdub3N0aWMgaW5mby4KKyAgICApCisjICAgIFxzKgorICAgIFxaCisiIiIsIHJlLlZFUkJPU0UgfCByZS5JR05PUkVDQVNFKS5tYXRjaAorCitfYWxsX3plcm9zID0gcmUuY29tcGlsZSgnMCokJykubWF0Y2gKK19leGFjdF9oYWxmID0gcmUuY29tcGlsZSgnNTAqJCcpLm1hdGNoCisKKyMjIyMjIFBFUDMxMDEgc3VwcG9ydCBmdW5jdGlvbnMgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIyBUaGUgZnVuY3Rpb25zIGluIHRoaXMgc2VjdGlvbiBoYXZlIGxpdHRsZSB0byBkbyB3aXRoIHRoZSBEZWNpbWFsCisjIGNsYXNzLCBhbmQgY291bGQgcG90ZW50aWFsbHkgYmUgcmV1c2VkIG9yIGFkYXB0ZWQgZm9yIG90aGVyIHB1cmUKKyMgUHl0aG9uIG51bWVyaWMgY2xhc3NlcyB0aGF0IHdhbnQgdG8gaW1wbGVtZW50IF9fZm9ybWF0X18KKyMKKyMgQSBmb3JtYXQgc3BlY2lmaWVyIGZvciBEZWNpbWFsIGxvb2tzIGxpa2U6CisjCisjICAgW1tmaWxsXWFsaWduXVtzaWduXVsjXVswXVttaW5pbXVtd2lkdGhdWyxdWy5wcmVjaXNpb25dW3R5cGVdCisKK19wYXJzZV9mb3JtYXRfc3BlY2lmaWVyX3JlZ2V4ID0gcmUuY29tcGlsZShyIiIiXEEKKyg/OgorICAgKD9QPGZpbGw+Lik/CisgICAoP1A8YWxpZ24+Wzw+PV5dKQorKT8KKyg/UDxzaWduPlstKyBdKT8KKyg/UDxhbHQ+XCMpPworKD9QPHplcm9wYWQ+MCk/CisoP1A8bWluaW11bXdpZHRoPig/ITApXGQrKT8KKyg/UDx0aG91c2FuZHNfc2VwPiwpPworKD86XC4oP1A8cHJlY2lzaW9uPjB8KD8hMClcZCspKT8KKyg/UDx0eXBlPltlRWZGZ0duJV0pPworXFoKKyIiIiwgcmUuVkVSQk9TRXxyZS5ET1RBTEwpCisKK2RlbCByZQorCisjIFRoZSBsb2NhbGUgbW9kdWxlIGlzIG9ubHkgbmVlZGVkIGZvciB0aGUgJ24nIGZvcm1hdCBzcGVjaWZpZXIuICBUaGUKKyMgcmVzdCBvZiB0aGUgUEVQIDMxMDEgY29kZSBmdW5jdGlvbnMgcXVpdGUgaGFwcGlseSB3aXRob3V0IGl0LCBzbyB3ZQorIyBkb24ndCBjYXJlIHRvbyBtdWNoIGlmIGxvY2FsZSBpc24ndCBwcmVzZW50LgordHJ5OgorICAgIGltcG9ydCBsb2NhbGUgYXMgX2xvY2FsZQorZXhjZXB0IEltcG9ydEVycm9yOgorICAgIHBhc3MKKworZGVmIF9wYXJzZV9mb3JtYXRfc3BlY2lmaWVyKGZvcm1hdF9zcGVjLCBfbG9jYWxlY29udj1Ob25lKToKKyAgICAiIiJQYXJzZSBhbmQgdmFsaWRhdGUgYSBmb3JtYXQgc3BlY2lmaWVyLgorCisgICAgVHVybnMgYSBzdGFuZGFyZCBudW1lcmljIGZvcm1hdCBzcGVjaWZpZXIgaW50byBhIGRpY3QsIHdpdGggdGhlCisgICAgZm9sbG93aW5nIGVudHJpZXM6CisKKyAgICAgIGZpbGw6IGZpbGwgY2hhcmFjdGVyIHRvIHBhZCBmaWVsZCB0byBtaW5pbXVtIHdpZHRoCisgICAgICBhbGlnbjogYWxpZ25tZW50IHR5cGUsIGVpdGhlciAnPCcsICc+JywgJz0nIG9yICdeJworICAgICAgc2lnbjogZWl0aGVyICcrJywgJy0nIG9yICcgJworICAgICAgbWluaW11bXdpZHRoOiBub25uZWdhdGl2ZSBpbnRlZ2VyIGdpdmluZyBtaW5pbXVtIHdpZHRoCisgICAgICB6ZXJvcGFkOiBib29sZWFuLCBpbmRpY2F0aW5nIHdoZXRoZXIgdG8gcGFkIHdpdGggemVyb3MKKyAgICAgIHRob3VzYW5kc19zZXA6IHN0cmluZyB0byB1c2UgYXMgdGhvdXNhbmRzIHNlcGFyYXRvciwgb3IgJycKKyAgICAgIGdyb3VwaW5nOiBncm91cGluZyBmb3IgdGhvdXNhbmRzIHNlcGFyYXRvcnMsIGluIGZvcm1hdAorICAgICAgICB1c2VkIGJ5IGxvY2FsZWNvbnYKKyAgICAgIGRlY2ltYWxfcG9pbnQ6IHN0cmluZyB0byB1c2UgZm9yIGRlY2ltYWwgcG9pbnQKKyAgICAgIHByZWNpc2lvbjogbm9ubmVnYXRpdmUgaW50ZWdlciBnaXZpbmcgcHJlY2lzaW9uLCBvciBOb25lCisgICAgICB0eXBlOiBvbmUgb2YgdGhlIGNoYXJhY3RlcnMgJ2VFZkZnRyUnLCBvciBOb25lCisKKyAgICAiIiIKKyAgICBtID0gX3BhcnNlX2Zvcm1hdF9zcGVjaWZpZXJfcmVnZXgubWF0Y2goZm9ybWF0X3NwZWMpCisgICAgaWYgbSBpcyBOb25lOgorICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJJbnZhbGlkIGZvcm1hdCBzcGVjaWZpZXI6ICIgKyBmb3JtYXRfc3BlYykKKworICAgICMgZ2V0IHRoZSBkaWN0aW9uYXJ5CisgICAgZm9ybWF0X2RpY3QgPSBtLmdyb3VwZGljdCgpCisKKyAgICAjIHplcm9wYWQ7IGRlZmF1bHRzIGZvciBmaWxsIGFuZCBhbGlnbm1lbnQuICBJZiB6ZXJvIHBhZGRpbmcKKyAgICAjIGlzIHJlcXVlc3RlZCwgdGhlIGZpbGwgYW5kIGFsaWduIGZpZWxkcyBzaG91bGQgYmUgYWJzZW50LgorICAgIGZpbGwgPSBmb3JtYXRfZGljdFsnZmlsbCddCisgICAgYWxpZ24gPSBmb3JtYXRfZGljdFsnYWxpZ24nXQorICAgIGZvcm1hdF9kaWN0Wyd6ZXJvcGFkJ10gPSAoZm9ybWF0X2RpY3RbJ3plcm9wYWQnXSBpcyBub3QgTm9uZSkKKyAgICBpZiBmb3JtYXRfZGljdFsnemVyb3BhZCddOgorICAgICAgICBpZiBmaWxsIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigiRmlsbCBjaGFyYWN0ZXIgY29uZmxpY3RzIHdpdGggJzAnIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiIGluIGZvcm1hdCBzcGVjaWZpZXI6ICIgKyBmb3JtYXRfc3BlYykKKyAgICAgICAgaWYgYWxpZ24gaXMgbm90IE5vbmU6CisgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJBbGlnbm1lbnQgY29uZmxpY3RzIHdpdGggJzAnIGluICIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImZvcm1hdCBzcGVjaWZpZXI6ICIgKyBmb3JtYXRfc3BlYykKKyAgICBmb3JtYXRfZGljdFsnZmlsbCddID0gZmlsbCBvciAnICcKKyAgICAjIFBFUCAzMTAxIG9yaWdpbmFsbHkgc3BlY2lmaWVkIHRoYXQgdGhlIGRlZmF1bHQgYWxpZ25tZW50IHNob3VsZAorICAgICMgYmUgbGVmdDsgIGl0IHdhcyBsYXRlciBhZ3JlZWQgdGhhdCByaWdodC1hbGlnbmVkIG1ha2VzIG1vcmUgc2Vuc2UKKyAgICAjIGZvciBudW1lcmljIHR5cGVzLiAgU2VlIGh0dHA6Ly9idWdzLnB5dGhvbi5vcmcvaXNzdWU2ODU3LgorICAgIGZvcm1hdF9kaWN0WydhbGlnbiddID0gYWxpZ24gb3IgJz4nCisKKyAgICAjIGRlZmF1bHQgc2lnbiBoYW5kbGluZzogJy0nIGZvciBuZWdhdGl2ZSwgJycgZm9yIHBvc2l0aXZlCisgICAgaWYgZm9ybWF0X2RpY3RbJ3NpZ24nXSBpcyBOb25lOgorICAgICAgICBmb3JtYXRfZGljdFsnc2lnbiddID0gJy0nCisKKyAgICAjIG1pbmltdW13aWR0aCBkZWZhdWx0cyB0byAwOyBwcmVjaXNpb24gcmVtYWlucyBOb25lIGlmIG5vdCBnaXZlbgorICAgIGZvcm1hdF9kaWN0WydtaW5pbXVtd2lkdGgnXSA9IGludChmb3JtYXRfZGljdFsnbWluaW11bXdpZHRoJ10gb3IgJzAnKQorICAgIGlmIGZvcm1hdF9kaWN0WydwcmVjaXNpb24nXSBpcyBub3QgTm9uZToKKyAgICAgICAgZm9ybWF0X2RpY3RbJ3ByZWNpc2lvbiddID0gaW50KGZvcm1hdF9kaWN0WydwcmVjaXNpb24nXSkKKworICAgICMgaWYgZm9ybWF0IHR5cGUgaXMgJ2cnIG9yICdHJyB0aGVuIGEgcHJlY2lzaW9uIG9mIDAgbWFrZXMgbGl0dGxlCisgICAgIyBzZW5zZTsgY29udmVydCBpdCB0byAxLiAgU2FtZSBpZiBmb3JtYXQgdHlwZSBpcyB1bnNwZWNpZmllZC4KKyAgICBpZiBmb3JtYXRfZGljdFsncHJlY2lzaW9uJ10gPT0gMDoKKyAgICAgICAgaWYgZm9ybWF0X2RpY3RbJ3R5cGUnXSBpcyBOb25lIG9yIGZvcm1hdF9kaWN0Wyd0eXBlJ10gaW4gJ2dHbic6CisgICAgICAgICAgICBmb3JtYXRfZGljdFsncHJlY2lzaW9uJ10gPSAxCisKKyAgICAjIGRldGVybWluZSB0aG91c2FuZHMgc2VwYXJhdG9yLCBncm91cGluZywgYW5kIGRlY2ltYWwgc2VwYXJhdG9yLCBhbmQKKyAgICAjIGFkZCBhcHByb3ByaWF0ZSBlbnRyaWVzIHRvIGZvcm1hdF9kaWN0CisgICAgaWYgZm9ybWF0X2RpY3RbJ3R5cGUnXSA9PSAnbic6CisgICAgICAgICMgYXBhcnQgZnJvbSBzZXBhcmF0b3JzLCAnbicgYmVoYXZlcyBqdXN0IGxpa2UgJ2cnCisgICAgICAgIGZvcm1hdF9kaWN0Wyd0eXBlJ10gPSAnZycKKyAgICAgICAgaWYgX2xvY2FsZWNvbnYgaXMgTm9uZToKKyAgICAgICAgICAgIF9sb2NhbGVjb252ID0gX2xvY2FsZS5sb2NhbGVjb252KCkKKyAgICAgICAgaWYgZm9ybWF0X2RpY3RbJ3Rob3VzYW5kc19zZXAnXSBpcyBub3QgTm9uZToKKyAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoIkV4cGxpY2l0IHRob3VzYW5kcyBzZXBhcmF0b3IgY29uZmxpY3RzIHdpdGggIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiJ24nIHR5cGUgaW4gZm9ybWF0IHNwZWNpZmllcjogIiArIGZvcm1hdF9zcGVjKQorICAgICAgICBmb3JtYXRfZGljdFsndGhvdXNhbmRzX3NlcCddID0gX2xvY2FsZWNvbnZbJ3Rob3VzYW5kc19zZXAnXQorICAgICAgICBmb3JtYXRfZGljdFsnZ3JvdXBpbmcnXSA9IF9sb2NhbGVjb252Wydncm91cGluZyddCisgICAgICAgIGZvcm1hdF9kaWN0WydkZWNpbWFsX3BvaW50J10gPSBfbG9jYWxlY29udlsnZGVjaW1hbF9wb2ludCddCisgICAgZWxzZToKKyAgICAgICAgaWYgZm9ybWF0X2RpY3RbJ3Rob3VzYW5kc19zZXAnXSBpcyBOb25lOgorICAgICAgICAgICAgZm9ybWF0X2RpY3RbJ3Rob3VzYW5kc19zZXAnXSA9ICcnCisgICAgICAgIGZvcm1hdF9kaWN0Wydncm91cGluZyddID0gWzMsIDBdCisgICAgICAgIGZvcm1hdF9kaWN0WydkZWNpbWFsX3BvaW50J10gPSAnLicKKworICAgIHJldHVybiBmb3JtYXRfZGljdAorCitkZWYgX2Zvcm1hdF9hbGlnbihzaWduLCBib2R5LCBzcGVjKToKKyAgICAiIiJHaXZlbiBhbiB1bnBhZGRlZCwgbm9uLWFsaWduZWQgbnVtZXJpYyBzdHJpbmcgJ2JvZHknIGFuZCBzaWduCisgICAgc3RyaW5nICdzaWduJywgYWRkIHBhZGRpbmcgYW5kIGFsaWdubWVudCBjb25mb3JtaW5nIHRvIHRoZSBnaXZlbgorICAgIGZvcm1hdCBzcGVjaWZpZXIgZGljdGlvbmFyeSAnc3BlYycgKGFzIHByb2R1Y2VkIGJ5CisgICAgcGFyc2VfZm9ybWF0X3NwZWNpZmllcikuCisKKyAgICAiIiIKKyAgICAjIGhvdyBtdWNoIGV4dHJhIHNwYWNlIGRvIHdlIGhhdmUgdG8gcGxheSB3aXRoPworICAgIG1pbmltdW13aWR0aCA9IHNwZWNbJ21pbmltdW13aWR0aCddCisgICAgZmlsbCA9IHNwZWNbJ2ZpbGwnXQorICAgIHBhZGRpbmcgPSBmaWxsKihtaW5pbXVtd2lkdGggLSBsZW4oc2lnbikgLSBsZW4oYm9keSkpCisKKyAgICBhbGlnbiA9IHNwZWNbJ2FsaWduJ10KKyAgICBpZiBhbGlnbiA9PSAnPCc6CisgICAgICAgIHJlc3VsdCA9IHNpZ24gKyBib2R5ICsgcGFkZGluZworICAgIGVsaWYgYWxpZ24gPT0gJz4nOgorICAgICAgICByZXN1bHQgPSBwYWRkaW5nICsgc2lnbiArIGJvZHkKKyAgICBlbGlmIGFsaWduID09ICc9JzoKKyAgICAgICAgcmVzdWx0ID0gc2lnbiArIHBhZGRpbmcgKyBib2R5CisgICAgZWxpZiBhbGlnbiA9PSAnXic6CisgICAgICAgIGhhbGYgPSBsZW4ocGFkZGluZykvLzIKKyAgICAgICAgcmVzdWx0ID0gcGFkZGluZ1s6aGFsZl0gKyBzaWduICsgYm9keSArIHBhZGRpbmdbaGFsZjpdCisgICAgZWxzZToKKyAgICAgICAgcmFpc2UgVmFsdWVFcnJvcignVW5yZWNvZ25pc2VkIGFsaWdubWVudCBmaWVsZCcpCisKKyAgICByZXR1cm4gcmVzdWx0CisKK2RlZiBfZ3JvdXBfbGVuZ3Rocyhncm91cGluZyk6CisgICAgIiIiQ29udmVydCBhIGxvY2FsZWNvbnYtc3R5bGUgZ3JvdXBpbmcgaW50byBhIChwb3NzaWJseSBpbmZpbml0ZSkKKyAgICBpdGVyYWJsZSBvZiBpbnRlZ2VycyByZXByZXNlbnRpbmcgZ3JvdXAgbGVuZ3Rocy4KKworICAgICIiIgorICAgICMgVGhlIHJlc3VsdCBmcm9tIGxvY2FsZWNvbnYoKVsnZ3JvdXBpbmcnXSwgYW5kIHRoZSBpbnB1dCB0byB0aGlzCisgICAgIyBmdW5jdGlvbiwgc2hvdWxkIGJlIGEgbGlzdCBvZiBpbnRlZ2VycyBpbiBvbmUgb2YgdGhlCisgICAgIyBmb2xsb3dpbmcgdGhyZWUgZm9ybXM6CisgICAgIworICAgICMgICAoMSkgYW4gZW1wdHkgbGlzdCwgb3IKKyAgICAjICAgKDIpIG5vbmVtcHR5IGxpc3Qgb2YgcG9zaXRpdmUgaW50ZWdlcnMgKyBbMF0KKyAgICAjICAgKDMpIGxpc3Qgb2YgcG9zaXRpdmUgaW50ZWdlcnMgKyBbbG9jYWxlLkNIQVJfTUFYXSwgb3IKKworICAgIGZyb20gaXRlcnRvb2xzIGltcG9ydCBjaGFpbiwgcmVwZWF0CisgICAgaWYgbm90IGdyb3VwaW5nOgorICAgICAgICByZXR1cm4gW10KKyAgICBlbGlmIGdyb3VwaW5nWy0xXSA9PSAwIGFuZCBsZW4oZ3JvdXBpbmcpID49IDI6CisgICAgICAgIHJldHVybiBjaGFpbihncm91cGluZ1s6LTFdLCByZXBlYXQoZ3JvdXBpbmdbLTJdKSkKKyAgICBlbGlmIGdyb3VwaW5nWy0xXSA9PSBfbG9jYWxlLkNIQVJfTUFYOgorICAgICAgICByZXR1cm4gZ3JvdXBpbmdbOi0xXQorICAgIGVsc2U6CisgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoJ3VucmVjb2duaXNlZCBmb3JtYXQgZm9yIGdyb3VwaW5nJykKKworZGVmIF9pbnNlcnRfdGhvdXNhbmRzX3NlcChkaWdpdHMsIHNwZWMsIG1pbl93aWR0aD0xKToKKyAgICAiIiJJbnNlcnQgdGhvdXNhbmRzIHNlcGFyYXRvcnMgaW50byBhIGRpZ2l0IHN0cmluZy4KKworICAgIHNwZWMgaXMgYSBkaWN0aW9uYXJ5IHdob3NlIGtleXMgc2hvdWxkIGluY2x1ZGUgJ3Rob3VzYW5kc19zZXAnIGFuZAorICAgICdncm91cGluZyc7IHR5cGljYWxseSBpdCdzIHRoZSByZXN1bHQgb2YgcGFyc2luZyB0aGUgZm9ybWF0CisgICAgc3BlY2lmaWVyIHVzaW5nIF9wYXJzZV9mb3JtYXRfc3BlY2lmaWVyLgorCisgICAgVGhlIG1pbl93aWR0aCBrZXl3b3JkIGFyZ3VtZW50IGdpdmVzIHRoZSBtaW5pbXVtIGxlbmd0aCBvZiB0aGUKKyAgICByZXN1bHQsIHdoaWNoIHdpbGwgYmUgcGFkZGVkIG9uIHRoZSBsZWZ0IHdpdGggemVyb3MgaWYgbmVjZXNzYXJ5LgorCisgICAgSWYgbmVjZXNzYXJ5LCB0aGUgemVybyBwYWRkaW5nIGFkZHMgYW4gZXh0cmEgJzAnIG9uIHRoZSBsZWZ0IHRvCisgICAgYXZvaWQgYSBsZWFkaW5nIHRob3VzYW5kcyBzZXBhcmF0b3IuICBGb3IgZXhhbXBsZSwgaW5zZXJ0aW5nCisgICAgY29tbWFzIGV2ZXJ5IHRocmVlIGRpZ2l0cyBpbiAnMTIzNDU2Jywgd2l0aCBtaW5fd2lkdGg9OCwgZ2l2ZXMKKyAgICAnMCwxMjMsNDU2JywgZXZlbiB0aG91Z2ggdGhhdCBoYXMgbGVuZ3RoIDkuCisKKyAgICAiIiIKKworICAgIHNlcCA9IHNwZWNbJ3Rob3VzYW5kc19zZXAnXQorICAgIGdyb3VwaW5nID0gc3BlY1snZ3JvdXBpbmcnXQorCisgICAgZ3JvdXBzID0gW10KKyAgICBmb3IgbCBpbiBfZ3JvdXBfbGVuZ3Rocyhncm91cGluZyk6CisgICAgICAgIGlmIGwgPD0gMDoKKyAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoImdyb3VwIGxlbmd0aCBzaG91bGQgYmUgcG9zaXRpdmUiKQorICAgICAgICAjIG1heCguLi4sIDEpIGZvcmNlcyBhdCBsZWFzdCAxIGRpZ2l0IHRvIHRoZSBsZWZ0IG9mIGEgc2VwYXJhdG9yCisgICAgICAgIGwgPSBtaW4obWF4KGxlbihkaWdpdHMpLCBtaW5fd2lkdGgsIDEpLCBsKQorICAgICAgICBncm91cHMuYXBwZW5kKCcwJyoobCAtIGxlbihkaWdpdHMpKSArIGRpZ2l0c1stbDpdKQorICAgICAgICBkaWdpdHMgPSBkaWdpdHNbOi1sXQorICAgICAgICBtaW5fd2lkdGggLT0gbAorICAgICAgICBpZiBub3QgZGlnaXRzIGFuZCBtaW5fd2lkdGggPD0gMDoKKyAgICAgICAgICAgIGJyZWFrCisgICAgICAgIG1pbl93aWR0aCAtPSBsZW4oc2VwKQorICAgIGVsc2U6CisgICAgICAgIGwgPSBtYXgobGVuKGRpZ2l0cyksIG1pbl93aWR0aCwgMSkKKyAgICAgICAgZ3JvdXBzLmFwcGVuZCgnMCcqKGwgLSBsZW4oZGlnaXRzKSkgKyBkaWdpdHNbLWw6XSkKKyAgICByZXR1cm4gc2VwLmpvaW4ocmV2ZXJzZWQoZ3JvdXBzKSkKKworZGVmIF9mb3JtYXRfc2lnbihpc19uZWdhdGl2ZSwgc3BlYyk6CisgICAgIiIiRGV0ZXJtaW5lIHNpZ24gY2hhcmFjdGVyLiIiIgorCisgICAgaWYgaXNfbmVnYXRpdmU6CisgICAgICAgIHJldHVybiAnLScKKyAgICBlbGlmIHNwZWNbJ3NpZ24nXSBpbiAnICsnOgorICAgICAgICByZXR1cm4gc3BlY1snc2lnbiddCisgICAgZWxzZToKKyAgICAgICAgcmV0dXJuICcnCisKK2RlZiBfZm9ybWF0X251bWJlcihpc19uZWdhdGl2ZSwgaW50cGFydCwgZnJhY3BhcnQsIGV4cCwgc3BlYyk6CisgICAgIiIiRm9ybWF0IGEgbnVtYmVyLCBnaXZlbiB0aGUgZm9sbG93aW5nIGRhdGE6CisKKyAgICBpc19uZWdhdGl2ZTogdHJ1ZSBpZiB0aGUgbnVtYmVyIGlzIG5lZ2F0aXZlLCBlbHNlIGZhbHNlCisgICAgaW50cGFydDogc3RyaW5nIG9mIGRpZ2l0cyB0aGF0IG11c3QgYXBwZWFyIGJlZm9yZSB0aGUgZGVjaW1hbCBwb2ludAorICAgIGZyYWNwYXJ0OiBzdHJpbmcgb2YgZGlnaXRzIHRoYXQgbXVzdCBjb21lIGFmdGVyIHRoZSBwb2ludAorICAgIGV4cDogZXhwb25lbnQsIGFzIGFuIGludGVnZXIKKyAgICBzcGVjOiBkaWN0aW9uYXJ5IHJlc3VsdGluZyBmcm9tIHBhcnNpbmcgdGhlIGZvcm1hdCBzcGVjaWZpZXIKKworICAgIFRoaXMgZnVuY3Rpb24gdXNlcyB0aGUgaW5mb3JtYXRpb24gaW4gc3BlYyB0bzoKKyAgICAgIGluc2VydCBzZXBhcmF0b3JzIChkZWNpbWFsIHNlcGFyYXRvciBhbmQgdGhvdXNhbmRzIHNlcGFyYXRvcnMpCisgICAgICBmb3JtYXQgdGhlIHNpZ24KKyAgICAgIGZvcm1hdCB0aGUgZXhwb25lbnQKKyAgICAgIGFkZCB0cmFpbGluZyAnJScgZm9yIHRoZSAnJScgdHlwZQorICAgICAgemVyby1wYWQgaWYgbmVjZXNzYXJ5CisgICAgICBmaWxsIGFuZCBhbGlnbiBpZiBuZWNlc3NhcnkKKyAgICAiIiIKKworICAgIHNpZ24gPSBfZm9ybWF0X3NpZ24oaXNfbmVnYXRpdmUsIHNwZWMpCisKKyAgICBpZiBmcmFjcGFydCBvciBzcGVjWydhbHQnXToKKyAgICAgICAgZnJhY3BhcnQgPSBzcGVjWydkZWNpbWFsX3BvaW50J10gKyBmcmFjcGFydAorCisgICAgaWYgZXhwICE9IDAgb3Igc3BlY1sndHlwZSddIGluICdlRSc6CisgICAgICAgIGVjaGFyID0geydFJzogJ0UnLCAnZSc6ICdlJywgJ0cnOiAnRScsICdnJzogJ2UnfVtzcGVjWyd0eXBlJ11dCisgICAgICAgIGZyYWNwYXJ0ICs9ICJ7MH17MTorfSIuZm9ybWF0KGVjaGFyLCBleHApCisgICAgaWYgc3BlY1sndHlwZSddID09ICclJzoKKyAgICAgICAgZnJhY3BhcnQgKz0gJyUnCisKKyAgICBpZiBzcGVjWyd6ZXJvcGFkJ106CisgICAgICAgIG1pbl93aWR0aCA9IHNwZWNbJ21pbmltdW13aWR0aCddIC0gbGVuKGZyYWNwYXJ0KSAtIGxlbihzaWduKQorICAgIGVsc2U6CisgICAgICAgIG1pbl93aWR0aCA9IDAKKyAgICBpbnRwYXJ0ID0gX2luc2VydF90aG91c2FuZHNfc2VwKGludHBhcnQsIHNwZWMsIG1pbl93aWR0aCkKKworICAgIHJldHVybiBfZm9ybWF0X2FsaWduKHNpZ24sIGludHBhcnQrZnJhY3BhcnQsIHNwZWMpCisKKworIyMjIyMgVXNlZnVsIENvbnN0YW50cyAoaW50ZXJuYWwgdXNlIG9ubHkpICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisKKyMgUmV1c2FibGUgZGVmYXVsdHMKK19JbmZpbml0eSA9IERlY2ltYWwoJ0luZicpCitfTmVnYXRpdmVJbmZpbml0eSA9IERlY2ltYWwoJy1JbmYnKQorX05hTiA9IERlY2ltYWwoJ05hTicpCitfWmVybyA9IERlY2ltYWwoMCkKK19PbmUgPSBEZWNpbWFsKDEpCitfTmVnYXRpdmVPbmUgPSBEZWNpbWFsKC0xKQorCisjIF9TaWduZWRJbmZpbml0eVtzaWduXSBpcyBpbmZpbml0eSB3LyB0aGF0IHNpZ24KK19TaWduZWRJbmZpbml0eSA9IChfSW5maW5pdHksIF9OZWdhdGl2ZUluZmluaXR5KQorCisjIENvbnN0YW50cyByZWxhdGVkIHRvIHRoZSBoYXNoIGltcGxlbWVudGF0aW9uOyAgaGFzaCh4KSBpcyBiYXNlZAorIyBvbiB0aGUgcmVkdWN0aW9uIG9mIHggbW9kdWxvIF9QeUhBU0hfTU9EVUxVUworX1B5SEFTSF9NT0RVTFVTID0gc3lzLmhhc2hfaW5mby5tb2R1bHVzCisjIGhhc2ggdmFsdWVzIHRvIHVzZSBmb3IgcG9zaXRpdmUgYW5kIG5lZ2F0aXZlIGluZmluaXRpZXMsIGFuZCBuYW5zCitfUHlIQVNIX0lORiA9IHN5cy5oYXNoX2luZm8uaW5mCitfUHlIQVNIX05BTiA9IHN5cy5oYXNoX2luZm8ubmFuCisKKyMgX1B5SEFTSF8xMElOViBpcyB0aGUgaW52ZXJzZSBvZiAxMCBtb2R1bG8gdGhlIHByaW1lIF9QeUhBU0hfTU9EVUxVUworX1B5SEFTSF8xMElOViA9IHBvdygxMCwgX1B5SEFTSF9NT0RVTFVTIC0gMiwgX1B5SEFTSF9NT0RVTFVTKQorZGVsIHN5cwpkaWZmIC0tZ2l0IGEvTGliL19weWlvLnB5IGIvTGliL19weWlvLnB5CmluZGV4IDU3N2I2MDAuLmIwZjAxMTQgMTAwNjQ0Ci0tLSBhL0xpYi9fcHlpby5weQorKysgYi9MaWIvX3B5aW8ucHkKQEAgLTYsNiArNiw3IEBACiBpbXBvcnQgYWJjCiBpbXBvcnQgY29kZWNzCiBpbXBvcnQgZXJybm8KK2ltcG9ydCBhcnJheQogIyBJbXBvcnQgX3RocmVhZCBpbnN0ZWFkIG9mIHRocmVhZGluZyB0byByZWR1Y2Ugc3RhcnR1cCBjb3N0CiB0cnk6CiAgICAgZnJvbSBfdGhyZWFkIGltcG9ydCBhbGxvY2F0ZV9sb2NrIGFzIExvY2sKQEAgLTI1Niw3ICsyNTcsNyBAQAogICAgIFRyaWNrIHNvIHRoYXQgb3BlbiB3b24ndCBiZWNvbWUgYSBib3VuZCBtZXRob2Qgd2hlbiBzdG9yZWQKICAgICBhcyBhIGNsYXNzIHZhcmlhYmxlIChhcyBkYm0uZHVtYiBkb2VzKS4KIAotICAgIFNlZSBpbml0c3RkaW8oKSBpbiBQeXRob24vcHl0aG9ucnVuLmMuCisgICAgU2VlIGluaXRzdGRpbygpIGluIFB5dGhvbi9weWxpZmVjeWNsZS5jLgogICAgICIiIgogICAgIF9fZG9jX18gPSBEb2NEZXNjcmlwdG9yKCkKIApAQCAtNjYyLDE2ICs2NjMsMzMgQEAKICAgICAgICAgUmFpc2VzIEJsb2NraW5nSU9FcnJvciBpZiB0aGUgdW5kZXJseWluZyByYXcgc3RyZWFtIGhhcyBubwogICAgICAgICBkYXRhIGF0IHRoZSBtb21lbnQuCiAgICAgICAgICIiIgotICAgICAgICAjIFhYWCBUaGlzIG91Z2h0IHRvIHdvcmsgd2l0aCBhbnl0aGluZyB0aGF0IHN1cHBvcnRzIHRoZSBidWZmZXIgQVBJCi0gICAgICAgIGRhdGEgPSBzZWxmLnJlYWQobGVuKGIpKQorCisgICAgICAgIHJldHVybiBzZWxmLl9yZWFkaW50byhiLCByZWFkMT1GYWxzZSkKKworICAgIGRlZiByZWFkaW50bzEoc2VsZiwgYik6CisgICAgICAgICIiIlJlYWQgdXAgdG8gbGVuKGIpIGJ5dGVzIGludG8gKmIqLCB1c2luZyBhdCBtb3N0IG9uZSBzeXN0ZW0gY2FsbAorCisgICAgICAgIFJldHVybnMgYW4gaW50IHJlcHJlc2VudGluZyB0aGUgbnVtYmVyIG9mIGJ5dGVzIHJlYWQgKDAgZm9yIEVPRikuCisKKyAgICAgICAgUmFpc2VzIEJsb2NraW5nSU9FcnJvciBpZiB0aGUgdW5kZXJseWluZyByYXcgc3RyZWFtIGhhcyBubworICAgICAgICBkYXRhIGF0IHRoZSBtb21lbnQuCisgICAgICAgICIiIgorCisgICAgICAgIHJldHVybiBzZWxmLl9yZWFkaW50byhiLCByZWFkMT1UcnVlKQorCisgICAgZGVmIF9yZWFkaW50byhzZWxmLCBiLCByZWFkMSk6CisgICAgICAgIGlmIG5vdCBpc2luc3RhbmNlKGIsIG1lbW9yeXZpZXcpOgorICAgICAgICAgICAgYiA9IG1lbW9yeXZpZXcoYikKKyAgICAgICAgYiA9IGIuY2FzdCgnQicpCisKKyAgICAgICAgaWYgcmVhZDE6CisgICAgICAgICAgICBkYXRhID0gc2VsZi5yZWFkMShsZW4oYikpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBkYXRhID0gc2VsZi5yZWFkKGxlbihiKSkKICAgICAgICAgbiA9IGxlbihkYXRhKQotICAgICAgICB0cnk6Ci0gICAgICAgICAgICBiWzpuXSA9IGRhdGEKLSAgICAgICAgZXhjZXB0IFR5cGVFcnJvciBhcyBlcnI6Ci0gICAgICAgICAgICBpbXBvcnQgYXJyYXkKLSAgICAgICAgICAgIGlmIG5vdCBpc2luc3RhbmNlKGIsIGFycmF5LmFycmF5KToKLSAgICAgICAgICAgICAgICByYWlzZSBlcnIKLSAgICAgICAgICAgIGJbOm5dID0gYXJyYXkuYXJyYXkoJ2InLCBkYXRhKQorCisgICAgICAgIGJbOm5dID0gZGF0YQorCiAgICAgICAgIHJldHVybiBuCiAKICAgICBkZWYgd3JpdGUoc2VsZiwgYik6CkBAIC03OTAsMTMgKzgwOCwxNCBAQAogICAgICAgICAgICAgICAgICAgICAgICAgLmZvcm1hdChzZWxmLl9fY2xhc3NfXy5fX25hbWVfXykpCiAKICAgICBkZWYgX19yZXByX18oc2VsZik6Ci0gICAgICAgIGNsc25hbWUgPSBzZWxmLl9fY2xhc3NfXy5fX25hbWVfXworICAgICAgICBtb2RuYW1lID0gc2VsZi5fX2NsYXNzX18uX19tb2R1bGVfXworICAgICAgICBjbHNuYW1lID0gc2VsZi5fX2NsYXNzX18uX19xdWFsbmFtZV9fCiAgICAgICAgIHRyeToKICAgICAgICAgICAgIG5hbWUgPSBzZWxmLm5hbWUKICAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbjoKLSAgICAgICAgICAgIHJldHVybiAiPF9weWlvLnswfT4iLmZvcm1hdChjbHNuYW1lKQorICAgICAgICAgICAgcmV0dXJuICI8e30ue30+Ii5mb3JtYXQobW9kbmFtZSwgY2xzbmFtZSkKICAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHJldHVybiAiPF9weWlvLnswfSBuYW1lPXsxIXJ9PiIuZm9ybWF0KGNsc25hbWUsIG5hbWUpCisgICAgICAgICAgICByZXR1cm4gIjx7fS57fSBuYW1lPXshcn0+Ii5mb3JtYXQobW9kbmFtZSwgY2xzbmFtZSwgbmFtZSkKIAogICAgICMjIyBMb3dlci1sZXZlbCBBUElzICMjIwogCkBAIC05OTMsMTAgKzEwMTIsNyBAQAogICAgICAgICAgICAgY3VycmVudF9zaXplID0gMAogICAgICAgICAgICAgd2hpbGUgVHJ1ZToKICAgICAgICAgICAgICAgICAjIFJlYWQgdW50aWwgRU9GIG9yIHVudGlsIHJlYWQoKSB3b3VsZCBibG9jay4KLSAgICAgICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgICAgIGNodW5rID0gc2VsZi5yYXcucmVhZCgpCi0gICAgICAgICAgICAgICAgZXhjZXB0IEludGVycnVwdGVkRXJyb3I6Ci0gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCisgICAgICAgICAgICAgICAgY2h1bmsgPSBzZWxmLnJhdy5yZWFkKCkKICAgICAgICAgICAgICAgICBpZiBjaHVuayBpbiBlbXB0eV92YWx1ZXM6CiAgICAgICAgICAgICAgICAgICAgIG5vZGF0YV92YWwgPSBjaHVuawogICAgICAgICAgICAgICAgICAgICBicmVhawpAQCAtMTAxNSwxMCArMTAzMSw3IEBACiAgICAgICAgIGNodW5rcyA9IFtidWZbcG9zOl1dCiAgICAgICAgIHdhbnRlZCA9IG1heChzZWxmLmJ1ZmZlcl9zaXplLCBuKQogICAgICAgICB3aGlsZSBhdmFpbCA8IG46Ci0gICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgY2h1bmsgPSBzZWxmLnJhdy5yZWFkKHdhbnRlZCkKLSAgICAgICAgICAgIGV4Y2VwdCBJbnRlcnJ1cHRlZEVycm9yOgotICAgICAgICAgICAgICAgIGNvbnRpbnVlCisgICAgICAgICAgICBjaHVuayA9IHNlbGYucmF3LnJlYWQod2FudGVkKQogICAgICAgICAgICAgaWYgY2h1bmsgaW4gZW1wdHlfdmFsdWVzOgogICAgICAgICAgICAgICAgIG5vZGF0YV92YWwgPSBjaHVuawogICAgICAgICAgICAgICAgIGJyZWFrCkBAIC0xMDQ3LDEyICsxMDYwLDcgQEAKICAgICAgICAgaGF2ZSA9IGxlbihzZWxmLl9yZWFkX2J1ZikgLSBzZWxmLl9yZWFkX3BvcwogICAgICAgICBpZiBoYXZlIDwgd2FudCBvciBoYXZlIDw9IDA6CiAgICAgICAgICAgICB0b19yZWFkID0gc2VsZi5idWZmZXJfc2l6ZSAtIGhhdmUKLSAgICAgICAgICAgIHdoaWxlIFRydWU6Ci0gICAgICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgICAgICBjdXJyZW50ID0gc2VsZi5yYXcucmVhZCh0b19yZWFkKQotICAgICAgICAgICAgICAgIGV4Y2VwdCBJbnRlcnJ1cHRlZEVycm9yOgotICAgICAgICAgICAgICAgICAgICBjb250aW51ZQotICAgICAgICAgICAgICAgIGJyZWFrCisgICAgICAgICAgICBjdXJyZW50ID0gc2VsZi5yYXcucmVhZCh0b19yZWFkKQogICAgICAgICAgICAgaWYgY3VycmVudDoKICAgICAgICAgICAgICAgICBzZWxmLl9yZWFkX2J1ZiA9IHNlbGYuX3JlYWRfYnVmW3NlbGYuX3JlYWRfcG9zOl0gKyBjdXJyZW50CiAgICAgICAgICAgICAgICAgc2VsZi5fcmVhZF9wb3MgPSAwCkBAIC0xMDcxLDYgKzEwNzksNTggQEAKICAgICAgICAgICAgIHJldHVybiBzZWxmLl9yZWFkX3VubG9ja2VkKAogICAgICAgICAgICAgICAgIG1pbihzaXplLCBsZW4oc2VsZi5fcmVhZF9idWYpIC0gc2VsZi5fcmVhZF9wb3MpKQogCisgICAgIyBJbXBsZW1lbnRpbmcgcmVhZGludG8oKSBhbmQgcmVhZGludG8xKCkgaXMgbm90IHN0cmljdGx5IG5lY2Vzc2FyeSAod2UKKyAgICAjIGNvdWxkIHJlbHkgb24gdGhlIGJhc2UgY2xhc3MgdGhhdCBwcm92aWRlcyBhbiBpbXBsZW1lbnRhdGlvbiBpbiB0ZXJtcyBvZgorICAgICMgcmVhZCgpIGFuZCByZWFkMSgpKS4gV2UgZG8gaXQgYW55d2F5IHRvIGtlZXAgdGhlIF9weWlvIGltcGxlbWVudGF0aW9uCisgICAgIyBzaW1pbGFyIHRvIHRoZSBpbyBpbXBsZW1lbnRhdGlvbiAod2hpY2ggaW1wbGVtZW50cyB0aGUgbWV0aG9kcyBmb3IKKyAgICAjIHBlcmZvcm1hbmNlIHJlYXNvbnMpLgorICAgIGRlZiBfcmVhZGludG8oc2VsZiwgYnVmLCByZWFkMSk6CisgICAgICAgICIiIlJlYWQgZGF0YSBpbnRvICpidWYqIHdpdGggYXQgbW9zdCBvbmUgc3lzdGVtIGNhbGwuIiIiCisKKyAgICAgICAgaWYgbGVuKGJ1ZikgPT0gMDoKKyAgICAgICAgICAgIHJldHVybiAwCisKKyAgICAgICAgIyBOZWVkIHRvIGNyZWF0ZSBhIG1lbW9yeXZpZXcgb2JqZWN0IG9mIHR5cGUgJ2InLCBvdGhlcndpc2UKKyAgICAgICAgIyB3ZSBtYXkgbm90IGJlIGFibGUgdG8gYXNzaWduIGJ5dGVzIHRvIGl0LCBhbmQgc2xpY2luZyBpdAorICAgICAgICAjIHdvdWxkIGNyZWF0ZSBhIG5ldyBvYmplY3QuCisgICAgICAgIGlmIG5vdCBpc2luc3RhbmNlKGJ1ZiwgbWVtb3J5dmlldyk6CisgICAgICAgICAgICBidWYgPSBtZW1vcnl2aWV3KGJ1ZikKKyAgICAgICAgYnVmID0gYnVmLmNhc3QoJ0InKQorCisgICAgICAgIHdyaXR0ZW4gPSAwCisgICAgICAgIHdpdGggc2VsZi5fcmVhZF9sb2NrOgorICAgICAgICAgICAgd2hpbGUgd3JpdHRlbiA8IGxlbihidWYpOgorCisgICAgICAgICAgICAgICAgIyBGaXJzdCB0cnkgdG8gcmVhZCBmcm9tIGludGVybmFsIGJ1ZmZlcgorICAgICAgICAgICAgICAgIGF2YWlsID0gbWluKGxlbihzZWxmLl9yZWFkX2J1ZikgLSBzZWxmLl9yZWFkX3BvcywgbGVuKGJ1ZikpCisgICAgICAgICAgICAgICAgaWYgYXZhaWw6CisgICAgICAgICAgICAgICAgICAgIGJ1Zlt3cml0dGVuOndyaXR0ZW4rYXZhaWxdID0gXAorICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fcmVhZF9idWZbc2VsZi5fcmVhZF9wb3M6c2VsZi5fcmVhZF9wb3MrYXZhaWxdCisgICAgICAgICAgICAgICAgICAgIHNlbGYuX3JlYWRfcG9zICs9IGF2YWlsCisgICAgICAgICAgICAgICAgICAgIHdyaXR0ZW4gKz0gYXZhaWwKKyAgICAgICAgICAgICAgICAgICAgaWYgd3JpdHRlbiA9PSBsZW4oYnVmKToKKyAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrCisKKyAgICAgICAgICAgICAgICAjIElmIHJlbWFpbmluZyBzcGFjZSBpbiBjYWxsZXJzIGJ1ZmZlciBpcyBsYXJnZXIgdGhhbgorICAgICAgICAgICAgICAgICMgaW50ZXJuYWwgYnVmZmVyLCByZWFkIGRpcmVjdGx5IGludG8gY2FsbGVycyBidWZmZXIKKyAgICAgICAgICAgICAgICBpZiBsZW4oYnVmKSAtIHdyaXR0ZW4gPiBzZWxmLmJ1ZmZlcl9zaXplOgorICAgICAgICAgICAgICAgICAgICBuID0gc2VsZi5yYXcucmVhZGludG8oYnVmW3dyaXR0ZW46XSkKKyAgICAgICAgICAgICAgICAgICAgaWYgbm90IG46CisgICAgICAgICAgICAgICAgICAgICAgICBicmVhayAjIGVvZgorICAgICAgICAgICAgICAgICAgICB3cml0dGVuICs9IG4KKworICAgICAgICAgICAgICAgICMgT3RoZXJ3aXNlIHJlZmlsbCBpbnRlcm5hbCBidWZmZXIgLSB1bmxlc3Mgd2UncmUKKyAgICAgICAgICAgICAgICAjIGluIHJlYWQxIG1vZGUgYW5kIGFscmVhZHkgZ290IHNvbWUgZGF0YQorICAgICAgICAgICAgICAgIGVsaWYgbm90IChyZWFkMSBhbmQgd3JpdHRlbik6CisgICAgICAgICAgICAgICAgICAgIGlmIG5vdCBzZWxmLl9wZWVrX3VubG9ja2VkKDEpOgorICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWsgIyBlb2YKKworICAgICAgICAgICAgICAgICMgSW4gcmVhZGludG8xIG1vZGUsIHJldHVybiBhcyBzb29uIGFzIHdlIGhhdmUgc29tZSBkYXRhCisgICAgICAgICAgICAgICAgaWYgcmVhZDEgYW5kIHdyaXR0ZW46CisgICAgICAgICAgICAgICAgICAgIGJyZWFrCisKKyAgICAgICAgcmV0dXJuIHdyaXR0ZW4KKwogICAgIGRlZiB0ZWxsKHNlbGYpOgogICAgICAgICByZXR1cm4gX0J1ZmZlcmVkSU9NaXhpbi50ZWxsKHNlbGYpIC0gbGVuKHNlbGYuX3JlYWRfYnVmKSArIHNlbGYuX3JlYWRfcG9zCiAKQEAgLTExNDksOCArMTIwOSw2IEBACiAgICAgICAgIHdoaWxlIHNlbGYuX3dyaXRlX2J1ZjoKICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgICBuID0gc2VsZi5yYXcud3JpdGUoc2VsZi5fd3JpdGVfYnVmKQotICAgICAgICAgICAgZXhjZXB0IEludGVycnVwdGVkRXJyb3I6Ci0gICAgICAgICAgICAgICAgY29udGludWUKICAgICAgICAgICAgIGV4Y2VwdCBCbG9ja2luZ0lPRXJyb3I6CiAgICAgICAgICAgICAgICAgcmFpc2UgUnVudGltZUVycm9yKCJzZWxmLnJhdyBzaG91bGQgaW1wbGVtZW50IFJhd0lPQmFzZTogaXQgIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2hvdWxkIG5vdCByYWlzZSBCbG9ja2luZ0lPRXJyb3IiKQpAQCAtMTIyMCw2ICsxMjc4LDkgQEAKICAgICBkZWYgcmVhZDEoc2VsZiwgc2l6ZSk6CiAgICAgICAgIHJldHVybiBzZWxmLnJlYWRlci5yZWFkMShzaXplKQogCisgICAgZGVmIHJlYWRpbnRvMShzZWxmLCBiKToKKyAgICAgICAgcmV0dXJuIHNlbGYucmVhZGVyLnJlYWRpbnRvMShiKQorCiAgICAgZGVmIHJlYWRhYmxlKHNlbGYpOgogICAgICAgICByZXR1cm4gc2VsZi5yZWFkZXIucmVhZGFibGUoKQogCkBAIC0xMzAyLDYgKzEzNjMsMTAgQEAKICAgICAgICAgc2VsZi5mbHVzaCgpCiAgICAgICAgIHJldHVybiBCdWZmZXJlZFJlYWRlci5yZWFkMShzZWxmLCBzaXplKQogCisgICAgZGVmIHJlYWRpbnRvMShzZWxmLCBiKToKKyAgICAgICAgc2VsZi5mbHVzaCgpCisgICAgICAgIHJldHVybiBCdWZmZXJlZFJlYWRlci5yZWFkaW50bzEoc2VsZiwgYikKKwogICAgIGRlZiB3cml0ZShzZWxmLCBiKToKICAgICAgICAgaWYgc2VsZi5fcmVhZF9idWY6CiAgICAgICAgICAgICAjIFVuZG8gcmVhZGFoZWFkCkBAIC0xNTY0LDcgKzE2MjksOCBAQAogICAgICMgICAtICJjaGFyc18uLi4iIGZvciBpbnRlZ2VyIHZhcmlhYmxlcyB0aGF0IGNvdW50IGRlY29kZWQgY2hhcmFjdGVycwogCiAgICAgZGVmIF9fcmVwcl9fKHNlbGYpOgotICAgICAgICByZXN1bHQgPSAiPF9weWlvLlRleHRJT1dyYXBwZXIiCisgICAgICAgIHJlc3VsdCA9ICI8e30ue30iLmZvcm1hdChzZWxmLl9fY2xhc3NfXy5fX21vZHVsZV9fLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fX2NsYXNzX18uX19xdWFsbmFtZV9fKQogICAgICAgICB0cnk6CiAgICAgICAgICAgICBuYW1lID0gc2VsZi5uYW1lCiAgICAgICAgIGV4Y2VwdCBFeGNlcHRpb246CmRpZmYgLS1naXQgYS9MaWIvX3N0cnB0aW1lLnB5IGIvTGliL19zdHJwdGltZS5weQppbmRleCA1M2JkMzRiLi40MmYyM2QzIDEwMDY0NAotLS0gYS9MaWIvX3N0cnB0aW1lLnB5CisrKyBiL0xpYi9fc3RycHRpbWUucHkKQEAgLTE2Nyw5ICsxNjcsOSBAQAogICAgICAgICAgICAgdGltZS50enNldCgpCiAgICAgICAgIGV4Y2VwdCBBdHRyaWJ1dGVFcnJvcjoKICAgICAgICAgICAgIHBhc3MKLSAgICAgICAgbm9fc2F2aW5nID0gZnJvemVuc2V0KFsidXRjIiwgImdtdCIsIHRpbWUudHpuYW1lWzBdLmxvd2VyKCldKQorICAgICAgICBub19zYXZpbmcgPSBmcm96ZW5zZXQoeyJ1dGMiLCAiZ210IiwgdGltZS50em5hbWVbMF0ubG93ZXIoKX0pCiAgICAgICAgIGlmIHRpbWUuZGF5bGlnaHQ6Ci0gICAgICAgICAgICBoYXNfc2F2aW5nID0gZnJvemVuc2V0KFt0aW1lLnR6bmFtZVsxXS5sb3dlcigpXSkKKyAgICAgICAgICAgIGhhc19zYXZpbmcgPSBmcm96ZW5zZXQoe3RpbWUudHpuYW1lWzFdLmxvd2VyKCl9KQogICAgICAgICBlbHNlOgogICAgICAgICAgICAgaGFzX3NhdmluZyA9IGZyb3plbnNldCgpCiAgICAgICAgIHNlbGYudGltZXpvbmUgPSAobm9fc2F2aW5nLCBoYXNfc2F2aW5nKQpkaWZmIC0tZ2l0IGEvTGliL2FiYy5weSBiL0xpYi9hYmMucHkKaW5kZXggMDM1OGE0Ni4uMWNiZjk2YSAxMDA2NDQKLS0tIGEvTGliL2FiYy5weQorKysgYi9MaWIvYWJjLnB5CkBAIC0xNjgsNyArMTY4LDcgQEAKIAogICAgIGRlZiBfZHVtcF9yZWdpc3RyeShjbHMsIGZpbGU9Tm9uZSk6CiAgICAgICAgICIiIkRlYnVnIGhlbHBlciB0byBwcmludCB0aGUgQUJDIHJlZ2lzdHJ5LiIiIgotICAgICAgICBwcmludCgiQ2xhc3M6ICVzLiVzIiAlIChjbHMuX19tb2R1bGVfXywgY2xzLl9fbmFtZV9fKSwgZmlsZT1maWxlKQorICAgICAgICBwcmludCgiQ2xhc3M6ICVzLiVzIiAlIChjbHMuX19tb2R1bGVfXywgY2xzLl9fcXVhbG5hbWVfXyksIGZpbGU9ZmlsZSkKICAgICAgICAgcHJpbnQoIkludi5jb3VudGVyOiAlcyIgJSBBQkNNZXRhLl9hYmNfaW52YWxpZGF0aW9uX2NvdW50ZXIsIGZpbGU9ZmlsZSkKICAgICAgICAgZm9yIG5hbWUgaW4gc29ydGVkKGNscy5fX2RpY3RfXy5rZXlzKCkpOgogICAgICAgICAgICAgaWYgbmFtZS5zdGFydHN3aXRoKCJfYWJjXyIpOgpkaWZmIC0tZ2l0IGEvTGliL2FyZ3BhcnNlLnB5IGIvTGliL2FyZ3BhcnNlLnB5CmluZGV4IGJlMjc2YmIuLjlhMDY3MTkgMTAwNjQ0Ci0tLSBhL0xpYi9hcmdwYXJzZS5weQorKysgYi9MaWIvYXJncGFyc2UucHkKQEAgLTEyMDksMTEgKzEyMDksNiBAQAogICAgICAgICAgICAgcmV0dXJuIE5vdEltcGxlbWVudGVkCiAgICAgICAgIHJldHVybiB2YXJzKHNlbGYpID09IHZhcnMob3RoZXIpCiAKLSAgICBkZWYgX19uZV9fKHNlbGYsIG90aGVyKToKLSAgICAgICAgaWYgbm90IGlzaW5zdGFuY2Uob3RoZXIsIE5hbWVzcGFjZSk6Ci0gICAgICAgICAgICByZXR1cm4gTm90SW1wbGVtZW50ZWQKLSAgICAgICAgcmV0dXJuIG5vdCAoc2VsZiA9PSBvdGhlcikKLQogICAgIGRlZiBfX2NvbnRhaW5zX18oc2VsZiwga2V5KToKICAgICAgICAgcmV0dXJuIGtleSBpbiBzZWxmLl9fZGljdF9fCiAKQEAgLTE1OTUsNiArMTU5MCw3IEBACiAgICAgICAgIC0gYXJndW1lbnRfZGVmYXVsdCAtLSBUaGUgZGVmYXVsdCB2YWx1ZSBmb3IgYWxsIGFyZ3VtZW50cwogICAgICAgICAtIGNvbmZsaWN0X2hhbmRsZXIgLS0gU3RyaW5nIGluZGljYXRpbmcgaG93IHRvIGhhbmRsZSBjb25mbGljdHMKICAgICAgICAgLSBhZGRfaGVscCAtLSBBZGQgYSAtaC8taGVscCBvcHRpb24KKyAgICAgICAgLSBhbGxvd19hYmJyZXYgLS0gQWxsb3cgbG9uZyBvcHRpb25zIHRvIGJlIGFiYnJldmlhdGVkIHVuYW1iaWd1b3VzbHkKICAgICAiIiIKIAogICAgIGRlZiBfX2luaXRfXyhzZWxmLApAQCAtMTYwOCw3ICsxNjA0LDggQEAKICAgICAgICAgICAgICAgICAgZnJvbWZpbGVfcHJlZml4X2NoYXJzPU5vbmUsCiAgICAgICAgICAgICAgICAgIGFyZ3VtZW50X2RlZmF1bHQ9Tm9uZSwKICAgICAgICAgICAgICAgICAgY29uZmxpY3RfaGFuZGxlcj0nZXJyb3InLAotICAgICAgICAgICAgICAgICBhZGRfaGVscD1UcnVlKToKKyAgICAgICAgICAgICAgICAgYWRkX2hlbHA9VHJ1ZSwKKyAgICAgICAgICAgICAgICAgYWxsb3dfYWJicmV2PVRydWUpOgogCiAgICAgICAgIHN1cGVyaW5pdCA9IHN1cGVyKEFyZ3VtZW50UGFyc2VyLCBzZWxmKS5fX2luaXRfXwogICAgICAgICBzdXBlcmluaXQoZGVzY3JpcHRpb249ZGVzY3JpcHRpb24sCkBAIC0xNjI2LDYgKzE2MjMsNyBAQAogICAgICAgICBzZWxmLmZvcm1hdHRlcl9jbGFzcyA9IGZvcm1hdHRlcl9jbGFzcwogICAgICAgICBzZWxmLmZyb21maWxlX3ByZWZpeF9jaGFycyA9IGZyb21maWxlX3ByZWZpeF9jaGFycwogICAgICAgICBzZWxmLmFkZF9oZWxwID0gYWRkX2hlbHAKKyAgICAgICAgc2VsZi5hbGxvd19hYmJyZXYgPSBhbGxvd19hYmJyZXYKIAogICAgICAgICBhZGRfZ3JvdXAgPSBzZWxmLmFkZF9hcmd1bWVudF9ncm91cAogICAgICAgICBzZWxmLl9wb3NpdGlvbmFscyA9IGFkZF9ncm91cChfKCdwb3NpdGlvbmFsIGFyZ3VtZW50cycpKQpAQCAtMjEwMywyMyArMjEwMSwyNCBAQAogICAgICAgICAgICAgICAgIGFjdGlvbiA9IHNlbGYuX29wdGlvbl9zdHJpbmdfYWN0aW9uc1tvcHRpb25fc3RyaW5nXQogICAgICAgICAgICAgICAgIHJldHVybiBhY3Rpb24sIG9wdGlvbl9zdHJpbmcsIGV4cGxpY2l0X2FyZwogCi0gICAgICAgICMgc2VhcmNoIHRocm91Z2ggYWxsIHBvc3NpYmxlIHByZWZpeGVzIG9mIHRoZSBvcHRpb24gc3RyaW5nCi0gICAgICAgICMgYW5kIGFsbCBhY3Rpb25zIGluIHRoZSBwYXJzZXIgZm9yIHBvc3NpYmxlIGludGVycHJldGF0aW9ucwotICAgICAgICBvcHRpb25fdHVwbGVzID0gc2VsZi5fZ2V0X29wdGlvbl90dXBsZXMoYXJnX3N0cmluZykKKyAgICAgICAgaWYgc2VsZi5hbGxvd19hYmJyZXY6CisgICAgICAgICAgICAjIHNlYXJjaCB0aHJvdWdoIGFsbCBwb3NzaWJsZSBwcmVmaXhlcyBvZiB0aGUgb3B0aW9uIHN0cmluZworICAgICAgICAgICAgIyBhbmQgYWxsIGFjdGlvbnMgaW4gdGhlIHBhcnNlciBmb3IgcG9zc2libGUgaW50ZXJwcmV0YXRpb25zCisgICAgICAgICAgICBvcHRpb25fdHVwbGVzID0gc2VsZi5fZ2V0X29wdGlvbl90dXBsZXMoYXJnX3N0cmluZykKIAotICAgICAgICAjIGlmIG11bHRpcGxlIGFjdGlvbnMgbWF0Y2gsIHRoZSBvcHRpb24gc3RyaW5nIHdhcyBhbWJpZ3VvdXMKLSAgICAgICAgaWYgbGVuKG9wdGlvbl90dXBsZXMpID4gMToKLSAgICAgICAgICAgIG9wdGlvbnMgPSAnLCAnLmpvaW4oW29wdGlvbl9zdHJpbmcKLSAgICAgICAgICAgICAgICBmb3IgYWN0aW9uLCBvcHRpb25fc3RyaW5nLCBleHBsaWNpdF9hcmcgaW4gb3B0aW9uX3R1cGxlc10pCi0gICAgICAgICAgICBhcmdzID0geydvcHRpb24nOiBhcmdfc3RyaW5nLCAnbWF0Y2hlcyc6IG9wdGlvbnN9Ci0gICAgICAgICAgICBtc2cgPSBfKCdhbWJpZ3VvdXMgb3B0aW9uOiAlKG9wdGlvbilzIGNvdWxkIG1hdGNoICUobWF0Y2hlcylzJykKLSAgICAgICAgICAgIHNlbGYuZXJyb3IobXNnICUgYXJncykKKyAgICAgICAgICAgICMgaWYgbXVsdGlwbGUgYWN0aW9ucyBtYXRjaCwgdGhlIG9wdGlvbiBzdHJpbmcgd2FzIGFtYmlndW91cworICAgICAgICAgICAgaWYgbGVuKG9wdGlvbl90dXBsZXMpID4gMToKKyAgICAgICAgICAgICAgICBvcHRpb25zID0gJywgJy5qb2luKFtvcHRpb25fc3RyaW5nCisgICAgICAgICAgICAgICAgICAgIGZvciBhY3Rpb24sIG9wdGlvbl9zdHJpbmcsIGV4cGxpY2l0X2FyZyBpbiBvcHRpb25fdHVwbGVzXSkKKyAgICAgICAgICAgICAgICBhcmdzID0geydvcHRpb24nOiBhcmdfc3RyaW5nLCAnbWF0Y2hlcyc6IG9wdGlvbnN9CisgICAgICAgICAgICAgICAgbXNnID0gXygnYW1iaWd1b3VzIG9wdGlvbjogJShvcHRpb24pcyBjb3VsZCBtYXRjaCAlKG1hdGNoZXMpcycpCisgICAgICAgICAgICAgICAgc2VsZi5lcnJvcihtc2cgJSBhcmdzKQogCi0gICAgICAgICMgaWYgZXhhY3RseSBvbmUgYWN0aW9uIG1hdGNoZWQsIHRoaXMgc2VnbWVudGF0aW9uIGlzIGdvb2QsCi0gICAgICAgICMgc28gcmV0dXJuIHRoZSBwYXJzZWQgYWN0aW9uCi0gICAgICAgIGVsaWYgbGVuKG9wdGlvbl90dXBsZXMpID09IDE6Ci0gICAgICAgICAgICBvcHRpb25fdHVwbGUsID0gb3B0aW9uX3R1cGxlcwotICAgICAgICAgICAgcmV0dXJuIG9wdGlvbl90dXBsZQorICAgICAgICAgICAgIyBpZiBleGFjdGx5IG9uZSBhY3Rpb24gbWF0Y2hlZCwgdGhpcyBzZWdtZW50YXRpb24gaXMgZ29vZCwKKyAgICAgICAgICAgICMgc28gcmV0dXJuIHRoZSBwYXJzZWQgYWN0aW9uCisgICAgICAgICAgICBlbGlmIGxlbihvcHRpb25fdHVwbGVzKSA9PSAxOgorICAgICAgICAgICAgICAgIG9wdGlvbl90dXBsZSwgPSBvcHRpb25fdHVwbGVzCisgICAgICAgICAgICAgICAgcmV0dXJuIG9wdGlvbl90dXBsZQogCiAgICAgICAgICMgaWYgaXQgd2FzIG5vdCBmb3VuZCBhcyBhbiBvcHRpb24sIGJ1dCBpdCBsb29rcyBsaWtlIGEgbmVnYXRpdmUKICAgICAgICAgIyBudW1iZXIsIGl0IHdhcyBtZWFudCB0byBiZSBwb3NpdGlvbmFsCmRpZmYgLS1naXQgYS9MaWIvYXN5bmNoYXQucHkgYi9MaWIvYXN5bmNoYXQucHkKaW5kZXggMTRjMTUyZi4uZjcyOGQxYiAxMDA2NDQKLS0tIGEvTGliL2FzeW5jaGF0LnB5CisrKyBiL0xpYi9hc3luY2hhdC5weQpAQCAtMjg3LDYgKzI4Nyw5IEBACiAKIGNsYXNzIGZpZm86CiAgICAgZGVmIF9faW5pdF9fKHNlbGYsIGxpc3Q9Tm9uZSk6CisgICAgICAgIGltcG9ydCB3YXJuaW5ncworICAgICAgICB3YXJuaW5ncy53YXJuKCdmaWZvIGNsYXNzIHdpbGwgYmUgcmVtb3ZlZCBpbiBQeXRob24gMy42JywKKyAgICAgICAgICAgICAgICAgICAgICBEZXByZWNhdGlvbldhcm5pbmcsIHN0YWNrbGV2ZWw9MikKICAgICAgICAgaWYgbm90IGxpc3Q6CiAgICAgICAgICAgICBzZWxmLmxpc3QgPSBkZXF1ZSgpCiAgICAgICAgIGVsc2U6CmRpZmYgLS1naXQgYS9MaWIvYXN5bmNpby9ldmVudHMucHkgYi9MaWIvYXN5bmNpby9ldmVudHMucHkKaW5kZXggOGE3YmI4MS4uMDEzMjBjZCAxMDA2NDQKLS0tIGEvTGliL2FzeW5jaW8vZXZlbnRzLnB5CisrKyBiL0xpYi9hc3luY2lvL2V2ZW50cy5weQpAQCAtMTc4LDEwICsxNzgsNiBAQAogICAgICAgICAgICAgICAgICAgICBzZWxmLl9jYW5jZWxsZWQgPT0gb3RoZXIuX2NhbmNlbGxlZCkKICAgICAgICAgcmV0dXJuIE5vdEltcGxlbWVudGVkCiAKLSAgICBkZWYgX19uZV9fKHNlbGYsIG90aGVyKToKLSAgICAgICAgZXF1YWwgPSBzZWxmLl9fZXFfXyhvdGhlcikKLSAgICAgICAgcmV0dXJuIE5vdEltcGxlbWVudGVkIGlmIGVxdWFsIGlzIE5vdEltcGxlbWVudGVkIGVsc2Ugbm90IGVxdWFsCi0KICAgICBkZWYgY2FuY2VsKHNlbGYpOgogICAgICAgICBpZiBub3Qgc2VsZi5fY2FuY2VsbGVkOgogICAgICAgICAgICAgc2VsZi5fbG9vcC5fdGltZXJfaGFuZGxlX2NhbmNlbGxlZChzZWxmKQpkaWZmIC0tZ2l0IGEvTGliL2FzeW5jb3JlLnB5IGIvTGliL2FzeW5jb3JlLnB5CmluZGV4IDAwYTYzOTYuLjY4ZWZkNDUgMTAwNjQ0Ci0tLSBhL0xpYi9hc3luY29yZS5weQorKysgYi9MaWIvYXN5bmNvcmUucHkKQEAgLTU3LDggKzU3LDggQEAKICAgICAgRU5PVENPTk4sIEVTSFVURE9XTiwgRUlTQ09OTiwgRUJBREYsIEVDT05OQUJPUlRFRCwgRVBJUEUsIEVBR0FJTiwgXAogICAgICBlcnJvcmNvZGUKIAotX0RJU0NPTk5FQ1RFRCA9IGZyb3plbnNldCgoRUNPTk5SRVNFVCwgRU5PVENPTk4sIEVTSFVURE9XTiwgRUNPTk5BQk9SVEVELCBFUElQRSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIEVCQURGKSkKK19ESVNDT05ORUNURUQgPSBmcm96ZW5zZXQoe0VDT05OUkVTRVQsIEVOT1RDT05OLCBFU0hVVERPV04sIEVDT05OQUJPUlRFRCwgRVBJUEUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBFQkFERn0pCiAKIHRyeToKICAgICBzb2NrZXRfbWFwCkBAIC0yMjAsNyArMjIwLDcgQEAKICAgICBjb25uZWN0aW5nID0gRmFsc2UKICAgICBjbG9zaW5nID0gRmFsc2UKICAgICBhZGRyID0gTm9uZQotICAgIGlnbm9yZV9sb2dfdHlwZXMgPSBmcm96ZW5zZXQoWyd3YXJuaW5nJ10pCisgICAgaWdub3JlX2xvZ190eXBlcyA9IGZyb3plbnNldCh7J3dhcm5pbmcnfSkKIAogICAgIGRlZiBfX2luaXRfXyhzZWxmLCBzb2NrPU5vbmUsIG1hcD1Ob25lKToKICAgICAgICAgaWYgbWFwIGlzIE5vbmU6CkBAIC0yNTUsNyArMjU1LDcgQEAKICAgICAgICAgICAgIHNlbGYuc29ja2V0ID0gTm9uZQogCiAgICAgZGVmIF9fcmVwcl9fKHNlbGYpOgotICAgICAgICBzdGF0dXMgPSBbc2VsZi5fX2NsYXNzX18uX19tb2R1bGVfXysiLiIrc2VsZi5fX2NsYXNzX18uX19uYW1lX19dCisgICAgICAgIHN0YXR1cyA9IFtzZWxmLl9fY2xhc3NfXy5fX21vZHVsZV9fKyIuIitzZWxmLl9fY2xhc3NfXy5fX3F1YWxuYW1lX19dCiAgICAgICAgIGlmIHNlbGYuYWNjZXB0aW5nIGFuZCBzZWxmLmFkZHI6CiAgICAgICAgICAgICBzdGF0dXMuYXBwZW5kKCdsaXN0ZW5pbmcnKQogICAgICAgICBlbGlmIHNlbGYuY29ubmVjdGVkOgpAQCAtNDA0LDIwICs0MDQsNiBAQAogICAgICAgICAgICAgICAgIGlmIHdoeS5hcmdzWzBdIG5vdCBpbiAoRU5PVENPTk4sIEVCQURGKToKICAgICAgICAgICAgICAgICAgICAgcmFpc2UKIAotICAgICMgY2hlYXAgaW5oZXJpdGFuY2UsIHVzZWQgdG8gcGFzcyBhbGwgb3RoZXIgYXR0cmlidXRlCi0gICAgIyByZWZlcmVuY2VzIHRvIHRoZSB1bmRlcmx5aW5nIHNvY2tldCBvYmplY3QuCi0gICAgZGVmIF9fZ2V0YXR0cl9fKHNlbGYsIGF0dHIpOgotICAgICAgICB0cnk6Ci0gICAgICAgICAgICByZXRhdHRyID0gZ2V0YXR0cihzZWxmLnNvY2tldCwgYXR0cikKLSAgICAgICAgZXhjZXB0IEF0dHJpYnV0ZUVycm9yOgotICAgICAgICAgICAgcmFpc2UgQXR0cmlidXRlRXJyb3IoIiVzIGluc3RhbmNlIGhhcyBubyBhdHRyaWJ1dGUgJyVzJyIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICUoc2VsZi5fX2NsYXNzX18uX19uYW1lX18sIGF0dHIpKQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgbXNnID0gIiUobWUpcy4lKGF0dHIpcyBpcyBkZXByZWNhdGVkOyB1c2UgJShtZSlzLnNvY2tldC4lKGF0dHIpcyAiIFwKLSAgICAgICAgICAgICAgICAgICJpbnN0ZWFkIiAlIHsnbWUnIDogc2VsZi5fX2NsYXNzX18uX19uYW1lX18sICdhdHRyJyA6IGF0dHJ9Ci0gICAgICAgICAgICB3YXJuaW5ncy53YXJuKG1zZywgRGVwcmVjYXRpb25XYXJuaW5nLCBzdGFja2xldmVsPTIpCi0gICAgICAgICAgICByZXR1cm4gcmV0YXR0cgotCiAgICAgIyBsb2cgYW5kIGxvZ19pbmZvIG1heSBiZSBvdmVycmlkZGVuIHRvIHByb3ZpZGUgbW9yZSBzb3BoaXN0aWNhdGVkCiAgICAgIyBsb2dnaW5nIGFuZCB3YXJuaW5nIG1ldGhvZHMuIEluIGdlbmVyYWwsIGxvZyBpcyBmb3IgJ2hpdCcgbG9nZ2luZwogICAgICMgYW5kICdsb2dfaW5mbycgaXMgZm9yIGluZm9ybWF0aW9uYWwsIHdhcm5pbmcgYW5kIGVycm9yIGxvZ2dpbmcuCkBAIC02MDQsOCArNTkwLDYgQEAKICMgUmVnYXJkbGVzcywgdGhpcyBpcyB1c2VmdWwgZm9yIHBpcGVzLCBhbmQgc3RkaW4vc3Rkb3V0Li4uCiAKIGlmIG9zLm5hbWUgPT0gJ3Bvc2l4JzoKLSAgICBpbXBvcnQgZmNudGwKLQogICAgIGNsYXNzIGZpbGVfd3JhcHBlcjoKICAgICAgICAgIyBIZXJlIHdlIG92ZXJyaWRlIGp1c3QgZW5vdWdoIHRvIG1ha2UgYSBmaWxlCiAgICAgICAgICMgbG9vayBsaWtlIGEgc29ja2V0IGZvciB0aGUgcHVycG9zZXMgb2YgYXN5bmNvcmUuCkBAIC02NTYsOSArNjQwLDcgQEAKICAgICAgICAgICAgICAgICBwYXNzCiAgICAgICAgICAgICBzZWxmLnNldF9maWxlKGZkKQogICAgICAgICAgICAgIyBzZXQgaXQgdG8gbm9uLWJsb2NraW5nIG1vZGUKLSAgICAgICAgICAgIGZsYWdzID0gZmNudGwuZmNudGwoZmQsIGZjbnRsLkZfR0VURkwsIDApCi0gICAgICAgICAgICBmbGFncyA9IGZsYWdzIHwgb3MuT19OT05CTE9DSwotICAgICAgICAgICAgZmNudGwuZmNudGwoZmQsIGZjbnRsLkZfU0VURkwsIGZsYWdzKQorICAgICAgICAgICAgb3Muc2V0X2Jsb2NraW5nKGZkLCBGYWxzZSkKIAogICAgICAgICBkZWYgc2V0X2ZpbGUoc2VsZiwgZmQpOgogICAgICAgICAgICAgc2VsZi5zb2NrZXQgPSBmaWxlX3dyYXBwZXIoZmQpCmRpZmYgLS1naXQgYS9MaWIvY2dpLnB5IGIvTGliL2NnaS5weQppbmRleCAxZWY3ODBjLi5hNTUyMzJlIDEwMDc1NQotLS0gYS9MaWIvY2dpLnB5CisrKyBiL0xpYi9jZ2kucHkKQEAgLTU2Niw2ICs1NjYsMTIgQEAKICAgICAgICAgZXhjZXB0IEF0dHJpYnV0ZUVycm9yOgogICAgICAgICAgICAgcGFzcwogCisgICAgZGVmIF9fZW50ZXJfXyhzZWxmKToKKyAgICAgICAgcmV0dXJuIHNlbGYKKworICAgIGRlZiBfX2V4aXRfXyhzZWxmLCAqYXJncyk6CisgICAgICAgIHNlbGYuZmlsZS5jbG9zZSgpCisKICAgICBkZWYgX19yZXByX18oc2VsZik6CiAgICAgICAgICIiIlJldHVybiBhIHByaW50YWJsZSByZXByZXNlbnRhdGlvbi4iIiIKICAgICAgICAgcmV0dXJuICJGaWVsZFN0b3JhZ2UoJXIsICVyLCAlcikiICUgKApkaWZmIC0tZ2l0IGEvTGliL2NvZGUucHkgYi9MaWIvY29kZS5weQppbmRleCBmODE4NGI2Li44NmUxZjAzIDEwMDY0NAotLS0gYS9MaWIvY29kZS5weQorKysgYi9MaWIvY29kZS5weQpAQCAtNyw2ICs3LDcgQEAKIAogaW1wb3J0IHN5cwogaW1wb3J0IHRyYWNlYmFjaworaW1wb3J0IGFyZ3BhcnNlCiBmcm9tIGNvZGVvcCBpbXBvcnQgQ29tbWFuZENvbXBpbGVyLCBjb21waWxlX2NvbW1hbmQKIAogX19hbGxfXyA9IFsiSW50ZXJhY3RpdmVJbnRlcnByZXRlciIsICJJbnRlcmFjdGl2ZUNvbnNvbGUiLCAiaW50ZXJhY3QiLApAQCAtMTM2LDI1ICsxMzcsMzUgQEAKICAgICAgICAgVGhlIG91dHB1dCBpcyB3cml0dGVuIGJ5IHNlbGYud3JpdGUoKSwgYmVsb3cuCiAKICAgICAgICAgIiIiCisgICAgICAgIHN5cy5sYXN0X3R5cGUsIHN5cy5sYXN0X3ZhbHVlLCBsYXN0X3RiID0gZWkgPSBzeXMuZXhjX2luZm8oKQorICAgICAgICBzeXMubGFzdF90cmFjZWJhY2sgPSBsYXN0X3RiCiAgICAgICAgIHRyeToKLSAgICAgICAgICAgIHR5cGUsIHZhbHVlLCB0YiA9IHN5cy5leGNfaW5mbygpCi0gICAgICAgICAgICBzeXMubGFzdF90eXBlID0gdHlwZQotICAgICAgICAgICAgc3lzLmxhc3RfdmFsdWUgPSB2YWx1ZQotICAgICAgICAgICAgc3lzLmxhc3RfdHJhY2ViYWNrID0gdGIKLSAgICAgICAgICAgIHRibGlzdCA9IHRyYWNlYmFjay5leHRyYWN0X3RiKHRiKQotICAgICAgICAgICAgZGVsIHRibGlzdFs6MV0KLSAgICAgICAgICAgIGxpbmVzID0gdHJhY2ViYWNrLmZvcm1hdF9saXN0KHRibGlzdCkKLSAgICAgICAgICAgIGlmIGxpbmVzOgotICAgICAgICAgICAgICAgIGxpbmVzLmluc2VydCgwLCAiVHJhY2ViYWNrIChtb3N0IHJlY2VudCBjYWxsIGxhc3QpOlxuIikKLSAgICAgICAgICAgIGxpbmVzLmV4dGVuZCh0cmFjZWJhY2suZm9ybWF0X2V4Y2VwdGlvbl9vbmx5KHR5cGUsIHZhbHVlKSkKKyAgICAgICAgICAgIGxpbmVzID0gW10KKyAgICAgICAgICAgIGZvciB2YWx1ZSwgdGIgaW4gdHJhY2ViYWNrLl9pdGVyX2NoYWluKCplaVsxOl0pOgorICAgICAgICAgICAgICAgIGlmIGlzaW5zdGFuY2UodmFsdWUsIHN0cik6CisgICAgICAgICAgICAgICAgICAgIGxpbmVzLmFwcGVuZCh2YWx1ZSkKKyAgICAgICAgICAgICAgICAgICAgbGluZXMuYXBwZW5kKCdcbicpCisgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCisgICAgICAgICAgICAgICAgaWYgdGI6CisgICAgICAgICAgICAgICAgICAgIHRibGlzdCA9IHRyYWNlYmFjay5leHRyYWN0X3RiKHRiKQorICAgICAgICAgICAgICAgICAgICBpZiB0YiBpcyBsYXN0X3RiOgorICAgICAgICAgICAgICAgICAgICAgICAgIyBUaGUgbGFzdCB0cmFjZWJhY2sgaW5jbHVkZXMgdGhlIGZyYW1lIHdlCisgICAgICAgICAgICAgICAgICAgICAgICAjIGV4ZWMnZCBpbgorICAgICAgICAgICAgICAgICAgICAgICAgZGVsIHRibGlzdFs6MV0KKyAgICAgICAgICAgICAgICAgICAgdGJsaW5lcyA9IHRyYWNlYmFjay5mb3JtYXRfbGlzdCh0Ymxpc3QpCisgICAgICAgICAgICAgICAgICAgIGlmIHRibGluZXM6CisgICAgICAgICAgICAgICAgICAgICAgICBsaW5lcy5hcHBlbmQoIlRyYWNlYmFjayAobW9zdCByZWNlbnQgY2FsbCBsYXN0KTpcbiIpCisgICAgICAgICAgICAgICAgICAgICAgICBsaW5lcy5leHRlbmQodGJsaW5lcykKKyAgICAgICAgICAgICAgICBsaW5lcy5leHRlbmQodHJhY2ViYWNrLmZvcm1hdF9leGNlcHRpb25fb25seSh0eXBlKHZhbHVlKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSkpCiAgICAgICAgIGZpbmFsbHk6Ci0gICAgICAgICAgICB0Ymxpc3QgPSB0YiA9IE5vbmUKKyAgICAgICAgICAgIHRibGlzdCA9IGxhc3RfdGIgPSBlaSA9IE5vbmUKICAgICAgICAgaWYgc3lzLmV4Y2VwdGhvb2sgaXMgc3lzLl9fZXhjZXB0aG9va19fOgogICAgICAgICAgICAgc2VsZi53cml0ZSgnJy5qb2luKGxpbmVzKSkKICAgICAgICAgZWxzZToKICAgICAgICAgICAgICMgSWYgc29tZW9uZSBoYXMgc2V0IHN5cy5leGNlcHRob29rLCB3ZSBsZXQgdGhhdCB0YWtlIHByZWNlZGVuY2UKICAgICAgICAgICAgICMgb3ZlciBzZWxmLndyaXRlCi0gICAgICAgICAgICBzeXMuZXhjZXB0aG9vayh0eXBlLCB2YWx1ZSwgdGIpCisgICAgICAgICAgICBzeXMuZXhjZXB0aG9vayh0eXBlLCB2YWx1ZSwgbGFzdF90YikKIAogICAgIGRlZiB3cml0ZShzZWxmLCBkYXRhKToKICAgICAgICAgIiIiV3JpdGUgYSBzdHJpbmcuCkBAIC0yOTksNCArMzEwLDEyIEBACiAKIAogaWYgX19uYW1lX18gPT0gIl9fbWFpbl9fIjoKLSAgICBpbnRlcmFjdCgpCisgICAgcGFyc2VyID0gYXJncGFyc2UuQXJndW1lbnRQYXJzZXIoKQorICAgIHBhcnNlci5hZGRfYXJndW1lbnQoJy1xJywgYWN0aW9uPSdzdG9yZV90cnVlJywKKyAgICAgICAgICAgICAgICAgICAgICAgaGVscD0iZG9uJ3QgcHJpbnQgdmVyc2lvbiBhbmQgY29weXJpZ2h0IG1lc3NhZ2VzIikKKyAgICBhcmdzID0gcGFyc2VyLnBhcnNlX2FyZ3MoKQorICAgIGlmIGFyZ3MucSBvciBzeXMuZmxhZ3MucXVpZXQ6CisgICAgICAgIGJhbm5lciA9ICcnCisgICAgZWxzZToKKyAgICAgICAgYmFubmVyID0gTm9uZQorICAgIGludGVyYWN0KGJhbm5lcikKZGlmZiAtLWdpdCBhL0xpYi9jb2RlY3MucHkgYi9MaWIvY29kZWNzLnB5CmluZGV4IDE0NWJmMTIuLmMyYjVkNmMgMTAwNjQ0Ci0tLSBhL0xpYi9jb2RlY3MucHkKKysrIGIvTGliL2NvZGVjcy5weQpAQCAtMjcsNyArMjcsOCBAQAogICAgICAgICAgICAiZ2V0aW5jcmVtZW50YWxkZWNvZGVyIiwgImdldHJlYWRlciIsICJnZXR3cml0ZXIiLAogICAgICAgICAgICAiZW5jb2RlIiwgImRlY29kZSIsICJpdGVyZW5jb2RlIiwgIml0ZXJkZWNvZGUiLAogICAgICAgICAgICAic3RyaWN0X2Vycm9ycyIsICJpZ25vcmVfZXJyb3JzIiwgInJlcGxhY2VfZXJyb3JzIiwKLSAgICAgICAgICAgInhtbGNoYXJyZWZyZXBsYWNlX2Vycm9ycyIsICJiYWNrc2xhc2hyZXBsYWNlX2Vycm9ycyIsCisgICAgICAgICAgICJ4bWxjaGFycmVmcmVwbGFjZV9lcnJvcnMiLAorICAgICAgICAgICAiYmFja3NsYXNocmVwbGFjZV9lcnJvcnMiLCAibmFtZXJlcGxhY2VfZXJyb3JzIiwKICAgICAgICAgICAgInJlZ2lzdGVyX2Vycm9yIiwgImxvb2t1cF9lcnJvciJdCiAKICMjIyBDb25zdGFudHMKQEAgLTEwNSw4ICsxMDYsOCBAQAogICAgICAgICByZXR1cm4gc2VsZgogCiAgICAgZGVmIF9fcmVwcl9fKHNlbGYpOgotICAgICAgICByZXR1cm4gIjwlcy4lcyBvYmplY3QgZm9yIGVuY29kaW5nICVzIGF0IDB4JXg+IiAlIFwKLSAgICAgICAgICAgICAgICAoc2VsZi5fX2NsYXNzX18uX19tb2R1bGVfXywgc2VsZi5fX2NsYXNzX18uX19uYW1lX18sCisgICAgICAgIHJldHVybiAiPCVzLiVzIG9iamVjdCBmb3IgZW5jb2RpbmcgJXMgYXQgJSN4PiIgJSBcCisgICAgICAgICAgICAgICAgKHNlbGYuX19jbGFzc19fLl9fbW9kdWxlX18sIHNlbGYuX19jbGFzc19fLl9fcXVhbG5hbWVfXywKICAgICAgICAgICAgICAgICAgc2VsZi5uYW1lLCBpZChzZWxmKSkKIAogY2xhc3MgQ29kZWM6CkBAIC0xMjYsNyArMTI3LDggQEAKICAgICAgICAgICdzdXJyb2dhdGVlc2NhcGUnIC0gcmVwbGFjZSB3aXRoIHByaXZhdGUgY29kZSBwb2ludHMgVStEQ25uLgogICAgICAgICAgJ3htbGNoYXJyZWZyZXBsYWNlJyAtIFJlcGxhY2Ugd2l0aCB0aGUgYXBwcm9wcmlhdGUgWE1MCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhcmFjdGVyIHJlZmVyZW5jZSAob25seSBmb3IgZW5jb2RpbmcpLgotICAgICAgICAgJ2JhY2tzbGFzaHJlcGxhY2UnICAtIFJlcGxhY2Ugd2l0aCBiYWNrc2xhc2hlZCBlc2NhcGUgc2VxdWVuY2VzCisgICAgICAgICAnYmFja3NsYXNocmVwbGFjZScgIC0gUmVwbGFjZSB3aXRoIGJhY2tzbGFzaGVkIGVzY2FwZSBzZXF1ZW5jZXMuCisgICAgICAgICAnbmFtZXJlcGxhY2UnICAgICAgIC0gUmVwbGFjZSB3aXRoIFxcTnsuLi59IGVzY2FwZSBzZXF1ZW5jZXMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAob25seSBmb3IgZW5jb2RpbmcpLgogCiAgICAgICAgIFRoZSBzZXQgb2YgYWxsb3dlZCB2YWx1ZXMgY2FuIGJlIGV4dGVuZGVkIHZpYSByZWdpc3Rlcl9lcnJvci4KQEAgLTM1OCw3ICszNjAsOCBAQAogICAgICAgICAgICAgICd4bWxjaGFycmVmcmVwbGFjZScgLSBSZXBsYWNlIHdpdGggdGhlIGFwcHJvcHJpYXRlIFhNTAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFyYWN0ZXIgcmVmZXJlbmNlLgogICAgICAgICAgICAgICdiYWNrc2xhc2hyZXBsYWNlJyAgLSBSZXBsYWNlIHdpdGggYmFja3NsYXNoZWQgZXNjYXBlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlcXVlbmNlcyAob25seSBmb3IgZW5jb2RpbmcpLgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXF1ZW5jZXMuCisgICAgICAgICAgICAgJ25hbWVyZXBsYWNlJyAgICAgICAtIFJlcGxhY2Ugd2l0aCBcXE57Li4ufSBlc2NhcGUgc2VxdWVuY2VzLgogCiAgICAgICAgICAgICBUaGUgc2V0IG9mIGFsbG93ZWQgcGFyYW1ldGVyIHZhbHVlcyBjYW4gYmUgZXh0ZW5kZWQgdmlhCiAgICAgICAgICAgICByZWdpc3Rlcl9lcnJvci4KQEAgLTQyOCw3ICs0MzEsOCBAQAogCiAgICAgICAgICAgICAgJ3N0cmljdCcgLSByYWlzZSBhIFZhbHVlRXJyb3IgKG9yIGEgc3ViY2xhc3MpCiAgICAgICAgICAgICAgJ2lnbm9yZScgLSBpZ25vcmUgdGhlIGNoYXJhY3RlciBhbmQgY29udGludWUgd2l0aCB0aGUgbmV4dAotICAgICAgICAgICAgICdyZXBsYWNlJy0gcmVwbGFjZSB3aXRoIGEgc3VpdGFibGUgcmVwbGFjZW1lbnQgY2hhcmFjdGVyOworICAgICAgICAgICAgICdyZXBsYWNlJy0gcmVwbGFjZSB3aXRoIGEgc3VpdGFibGUgcmVwbGFjZW1lbnQgY2hhcmFjdGVyCisgICAgICAgICAgICAgJ2JhY2tzbGFzaHJlcGxhY2UnIC0gUmVwbGFjZSB3aXRoIGJhY2tzbGFzaGVkIGVzY2FwZSBzZXF1ZW5jZXM7CiAKICAgICAgICAgICAgIFRoZSBzZXQgb2YgYWxsb3dlZCBwYXJhbWV0ZXIgdmFsdWVzIGNhbiBiZSBleHRlbmRlZCB2aWEKICAgICAgICAgICAgIHJlZ2lzdGVyX2Vycm9yLgpAQCAtMTA4MCw2ICsxMDg0LDcgQEAKICAgICByZXBsYWNlX2Vycm9ycyA9IGxvb2t1cF9lcnJvcigicmVwbGFjZSIpCiAgICAgeG1sY2hhcnJlZnJlcGxhY2VfZXJyb3JzID0gbG9va3VwX2Vycm9yKCJ4bWxjaGFycmVmcmVwbGFjZSIpCiAgICAgYmFja3NsYXNocmVwbGFjZV9lcnJvcnMgPSBsb29rdXBfZXJyb3IoImJhY2tzbGFzaHJlcGxhY2UiKQorICAgIG5hbWVyZXBsYWNlX2Vycm9ycyA9IGxvb2t1cF9lcnJvcigibmFtZXJlcGxhY2UiKQogZXhjZXB0IExvb2t1cEVycm9yOgogICAgICMgSW4gLS1kaXNhYmxlLXVuaWNvZGUgYnVpbGRzLCB0aGVzZSBlcnJvciBoYW5kbGVyIGFyZSBtaXNzaW5nCiAgICAgc3RyaWN0X2Vycm9ycyA9IE5vbmUKQEAgLTEwODcsNiArMTA5Miw3IEBACiAgICAgcmVwbGFjZV9lcnJvcnMgPSBOb25lCiAgICAgeG1sY2hhcnJlZnJlcGxhY2VfZXJyb3JzID0gTm9uZQogICAgIGJhY2tzbGFzaHJlcGxhY2VfZXJyb3JzID0gTm9uZQorICAgIG5hbWVyZXBsYWNlX2Vycm9ycyA9IE5vbmUKIAogIyBUZWxsIG1vZHVsZWZpbmRlciB0aGF0IHVzaW5nIGNvZGVjcyBwcm9iYWJseSBuZWVkcyB0aGUgZW5jb2RpbmdzCiAjIHBhY2thZ2UKZGlmZiAtLWdpdCBhL0xpYi9jb2xsZWN0aW9ucy9fX2luaXRfXy5weSBiL0xpYi9jb2xsZWN0aW9ucy9fX2luaXRfXy5weQppbmRleCA1NjVhZTg2Li5jZTY3ZjBiIDEwMDY0NAotLS0gYS9MaWIvY29sbGVjdGlvbnMvX19pbml0X18ucHkKKysrIGIvTGliL2NvbGxlY3Rpb25zL19faW5pdF9fLnB5CkBAIC0yMCw2ICsyMCwyMyBAQAogIyMjIE9yZGVyZWREaWN0CiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogCitjbGFzcyBfT3JkZXJlZERpY3RLZXlzVmlldyhLZXlzVmlldyk6CisKKyAgICBkZWYgX19yZXZlcnNlZF9fKHNlbGYpOgorICAgICAgICB5aWVsZCBmcm9tIHJldmVyc2VkKHNlbGYuX21hcHBpbmcpCisKK2NsYXNzIF9PcmRlcmVkRGljdEl0ZW1zVmlldyhJdGVtc1ZpZXcpOgorCisgICAgZGVmIF9fcmV2ZXJzZWRfXyhzZWxmKToKKyAgICAgICAgZm9yIGtleSBpbiByZXZlcnNlZChzZWxmLl9tYXBwaW5nKToKKyAgICAgICAgICAgIHlpZWxkIChrZXksIHNlbGYuX21hcHBpbmdba2V5XSkKKworY2xhc3MgX09yZGVyZWREaWN0VmFsdWVzVmlldyhWYWx1ZXNWaWV3KToKKworICAgIGRlZiBfX3JldmVyc2VkX18oc2VsZik6CisgICAgICAgIGZvciBrZXkgaW4gcmV2ZXJzZWQoc2VsZi5fbWFwcGluZyk6CisgICAgICAgICAgICB5aWVsZCBzZWxmLl9tYXBwaW5nW2tleV0KKwogY2xhc3MgX0xpbmsob2JqZWN0KToKICAgICBfX3Nsb3RzX18gPSAncHJldicsICduZXh0JywgJ2tleScsICdfX3dlYWtyZWZfXycKIApAQCAtODMsNiArMTAwLDggQEAKICAgICAgICAgbGlua19uZXh0ID0gbGluay5uZXh0CiAgICAgICAgIGxpbmtfcHJldi5uZXh0ID0gbGlua19uZXh0CiAgICAgICAgIGxpbmtfbmV4dC5wcmV2ID0gbGlua19wcmV2CisgICAgICAgIGxpbmsucHJldiA9IE5vbmUKKyAgICAgICAgbGluay5uZXh0ID0gTm9uZQogCiAgICAgZGVmIF9faXRlcl9fKHNlbGYpOgogICAgICAgICAnb2QuX19pdGVyX18oKSA8PT0+IGl0ZXIob2QpJwpAQCAtMTY2LDkgKzE4NSwxOSBAQAogICAgICAgICByZXR1cm4gc2l6ZQogCiAgICAgdXBkYXRlID0gX191cGRhdGUgPSBNdXRhYmxlTWFwcGluZy51cGRhdGUKLSAgICBrZXlzID0gTXV0YWJsZU1hcHBpbmcua2V5cwotICAgIHZhbHVlcyA9IE11dGFibGVNYXBwaW5nLnZhbHVlcwotICAgIGl0ZW1zID0gTXV0YWJsZU1hcHBpbmcuaXRlbXMKKworICAgIGRlZiBrZXlzKHNlbGYpOgorICAgICAgICAiRC5rZXlzKCkgLT4gYSBzZXQtbGlrZSBvYmplY3QgcHJvdmlkaW5nIGEgdmlldyBvbiBEJ3Mga2V5cyIKKyAgICAgICAgcmV0dXJuIF9PcmRlcmVkRGljdEtleXNWaWV3KHNlbGYpCisKKyAgICBkZWYgaXRlbXMoc2VsZik6CisgICAgICAgICJELml0ZW1zKCkgLT4gYSBzZXQtbGlrZSBvYmplY3QgcHJvdmlkaW5nIGEgdmlldyBvbiBEJ3MgaXRlbXMiCisgICAgICAgIHJldHVybiBfT3JkZXJlZERpY3RJdGVtc1ZpZXcoc2VsZikKKworICAgIGRlZiB2YWx1ZXMoc2VsZik6CisgICAgICAgICJELnZhbHVlcygpIC0+IGFuIG9iamVjdCBwcm92aWRpbmcgYSB2aWV3IG9uIEQncyB2YWx1ZXMiCisgICAgICAgIHJldHVybiBfT3JkZXJlZERpY3RWYWx1ZXNWaWV3KHNlbGYpCisKICAgICBfX25lX18gPSBNdXRhYmxlTWFwcGluZy5fX25lX18KIAogICAgIF9fbWFya2VyID0gb2JqZWN0KCkKQEAgLTk1OCw3ICs5ODcsNiBAQAogICAgIGRlZiBfX2x0X18oc2VsZiwgb3RoZXIpOiByZXR1cm4gc2VsZi5kYXRhIDwgIHNlbGYuX19jYXN0KG90aGVyKQogICAgIGRlZiBfX2xlX18oc2VsZiwgb3RoZXIpOiByZXR1cm4gc2VsZi5kYXRhIDw9IHNlbGYuX19jYXN0KG90aGVyKQogICAgIGRlZiBfX2VxX18oc2VsZiwgb3RoZXIpOiByZXR1cm4gc2VsZi5kYXRhID09IHNlbGYuX19jYXN0KG90aGVyKQotICAgIGRlZiBfX25lX18oc2VsZiwgb3RoZXIpOiByZXR1cm4gc2VsZi5kYXRhICE9IHNlbGYuX19jYXN0KG90aGVyKQogICAgIGRlZiBfX2d0X18oc2VsZiwgb3RoZXIpOiByZXR1cm4gc2VsZi5kYXRhID4gIHNlbGYuX19jYXN0KG90aGVyKQogICAgIGRlZiBfX2dlX18oc2VsZiwgb3RoZXIpOiByZXR1cm4gc2VsZi5kYXRhID49IHNlbGYuX19jYXN0KG90aGVyKQogICAgIGRlZiBfX2Nhc3Qoc2VsZiwgb3RoZXIpOgpAQCAtMTAzNSwxMCArMTA2Myw2IEBACiAgICAgICAgIGlmIGlzaW5zdGFuY2Uoc3RyaW5nLCBVc2VyU3RyaW5nKToKICAgICAgICAgICAgIHJldHVybiBzZWxmLmRhdGEgPT0gc3RyaW5nLmRhdGEKICAgICAgICAgcmV0dXJuIHNlbGYuZGF0YSA9PSBzdHJpbmcKLSAgICBkZWYgX19uZV9fKHNlbGYsIHN0cmluZyk6Ci0gICAgICAgIGlmIGlzaW5zdGFuY2Uoc3RyaW5nLCBVc2VyU3RyaW5nKToKLSAgICAgICAgICAgIHJldHVybiBzZWxmLmRhdGEgIT0gc3RyaW5nLmRhdGEKLSAgICAgICAgcmV0dXJuIHNlbGYuZGF0YSAhPSBzdHJpbmcKICAgICBkZWYgX19sdF9fKHNlbGYsIHN0cmluZyk6CiAgICAgICAgIGlmIGlzaW5zdGFuY2Uoc3RyaW5nLCBVc2VyU3RyaW5nKToKICAgICAgICAgICAgIHJldHVybiBzZWxmLmRhdGEgPCBzdHJpbmcuZGF0YQpkaWZmIC0tZ2l0IGEvTGliL2NvbXBpbGVhbGwucHkgYi9MaWIvY29tcGlsZWFsbC5weQppbmRleCBkOTU3ZWU1Li40ZjQ2OTIwIDEwMDY0NAotLS0gYS9MaWIvY29tcGlsZWFsbC5weQorKysgYi9MaWIvY29tcGlsZWFsbC5weQpAQCAtMTYsMzIgKzE2LDI0IEBACiBpbXBvcnQgcHlfY29tcGlsZQogaW1wb3J0IHN0cnVjdAogCit0cnk6CisgICAgZnJvbSBjb25jdXJyZW50LmZ1dHVyZXMgaW1wb3J0IFByb2Nlc3NQb29sRXhlY3V0b3IKK2V4Y2VwdCBJbXBvcnRFcnJvcjoKKyAgICBQcm9jZXNzUG9vbEV4ZWN1dG9yID0gTm9uZQorZnJvbSBmdW5jdG9vbHMgaW1wb3J0IHBhcnRpYWwKKwogX19hbGxfXyA9IFsiY29tcGlsZV9kaXIiLCJjb21waWxlX2ZpbGUiLCJjb21waWxlX3BhdGgiXQogCi1kZWYgY29tcGlsZV9kaXIoZGlyLCBtYXhsZXZlbHM9MTAsIGRkaXI9Tm9uZSwgZm9yY2U9RmFsc2UsIHJ4PU5vbmUsCi0gICAgICAgICAgICAgICAgcXVpZXQ9RmFsc2UsIGxlZ2FjeT1GYWxzZSwgb3B0aW1pemU9LTEpOgotICAgICIiIkJ5dGUtY29tcGlsZSBhbGwgbW9kdWxlcyBpbiB0aGUgZ2l2ZW4gZGlyZWN0b3J5IHRyZWUuCi0KLSAgICBBcmd1bWVudHMgKG9ubHkgZGlyIGlzIHJlcXVpcmVkKToKLQotICAgIGRpcjogICAgICAgdGhlIGRpcmVjdG9yeSB0byBieXRlLWNvbXBpbGUKLSAgICBtYXhsZXZlbHM6IG1heGltdW0gcmVjdXJzaW9uIGxldmVsIChkZWZhdWx0IDEwKQotICAgIGRkaXI6ICAgICAgdGhlIGRpcmVjdG9yeSB0aGF0IHdpbGwgYmUgcHJlcGVuZGVkIHRvIHRoZSBwYXRoIHRvIHRoZQotICAgICAgICAgICAgICAgZmlsZSBhcyBpdCBpcyBjb21waWxlZCBpbnRvIGVhY2ggYnl0ZS1jb2RlIGZpbGUuCi0gICAgZm9yY2U6ICAgICBpZiBUcnVlLCBmb3JjZSBjb21waWxhdGlvbiwgZXZlbiBpZiB0aW1lc3RhbXBzIGFyZSB1cC10by1kYXRlCi0gICAgcXVpZXQ6ICAgICBpZiBUcnVlLCBiZSBxdWlldCBkdXJpbmcgY29tcGlsYXRpb24KLSAgICBsZWdhY3k6ICAgIGlmIFRydWUsIHByb2R1Y2UgbGVnYWN5IHB5YyBwYXRocyBpbnN0ZWFkIG9mIFBFUCAzMTQ3IHBhdGhzCi0gICAgb3B0aW1pemU6ICBvcHRpbWl6YXRpb24gbGV2ZWwgb3IgLTEgZm9yIGxldmVsIG9mIHRoZSBpbnRlcnByZXRlcgotICAgICIiIgorZGVmIF93YWxrX2RpcihkaXIsIGRkaXI9Tm9uZSwgbWF4bGV2ZWxzPTEwLCBxdWlldD0wKToKICAgICBpZiBub3QgcXVpZXQ6CiAgICAgICAgIHByaW50KCdMaXN0aW5nIHshcn0uLi4nLmZvcm1hdChkaXIpKQogICAgIHRyeToKICAgICAgICAgbmFtZXMgPSBvcy5saXN0ZGlyKGRpcikKICAgICBleGNlcHQgT1NFcnJvcjoKLSAgICAgICAgcHJpbnQoIkNhbid0IGxpc3QgeyFyfSIuZm9ybWF0KGRpcikpCisgICAgICAgIGlmIHF1aWV0IDwgMjoKKyAgICAgICAgICAgIHByaW50KCJDYW4ndCBsaXN0IHshcn0iLmZvcm1hdChkaXIpKQogICAgICAgICBuYW1lcyA9IFtdCiAgICAgbmFtZXMuc29ydCgpCi0gICAgc3VjY2VzcyA9IDEKICAgICBmb3IgbmFtZSBpbiBuYW1lczoKICAgICAgICAgaWYgbmFtZSA9PSAnX19weWNhY2hlX18nOgogICAgICAgICAgICAgY29udGludWUKQEAgLTUxLDE3ICs0Myw1NSBAQAogICAgICAgICBlbHNlOgogICAgICAgICAgICAgZGZpbGUgPSBOb25lCiAgICAgICAgIGlmIG5vdCBvcy5wYXRoLmlzZGlyKGZ1bGxuYW1lKToKLSAgICAgICAgICAgIGlmIG5vdCBjb21waWxlX2ZpbGUoZnVsbG5hbWUsIGRkaXIsIGZvcmNlLCByeCwgcXVpZXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZ2FjeSwgb3B0aW1pemUpOgotICAgICAgICAgICAgICAgIHN1Y2Nlc3MgPSAwCisgICAgICAgICAgICB5aWVsZCBmdWxsbmFtZQogICAgICAgICBlbGlmIChtYXhsZXZlbHMgPiAwIGFuZCBuYW1lICE9IG9zLmN1cmRpciBhbmQgbmFtZSAhPSBvcy5wYXJkaXIgYW5kCiAgICAgICAgICAgICAgIG9zLnBhdGguaXNkaXIoZnVsbG5hbWUpIGFuZCBub3Qgb3MucGF0aC5pc2xpbmsoZnVsbG5hbWUpKToKLSAgICAgICAgICAgIGlmIG5vdCBjb21waWxlX2RpcihmdWxsbmFtZSwgbWF4bGV2ZWxzIC0gMSwgZGZpbGUsIGZvcmNlLCByeCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBxdWlldCwgbGVnYWN5LCBvcHRpbWl6ZSk6CisgICAgICAgICAgICB5aWVsZCBmcm9tIF93YWxrX2RpcihmdWxsbmFtZSwgZGRpcj1kZmlsZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heGxldmVscz1tYXhsZXZlbHMgLSAxLCBxdWlldD1xdWlldCkKKworZGVmIGNvbXBpbGVfZGlyKGRpciwgbWF4bGV2ZWxzPTEwLCBkZGlyPU5vbmUsIGZvcmNlPUZhbHNlLCByeD1Ob25lLAorICAgICAgICAgICAgICAgIHF1aWV0PTAsIGxlZ2FjeT1GYWxzZSwgb3B0aW1pemU9LTEsIHdvcmtlcnM9MSk6CisgICAgIiIiQnl0ZS1jb21waWxlIGFsbCBtb2R1bGVzIGluIHRoZSBnaXZlbiBkaXJlY3RvcnkgdHJlZS4KKworICAgIEFyZ3VtZW50cyAob25seSBkaXIgaXMgcmVxdWlyZWQpOgorCisgICAgZGlyOiAgICAgICB0aGUgZGlyZWN0b3J5IHRvIGJ5dGUtY29tcGlsZQorICAgIG1heGxldmVsczogbWF4aW11bSByZWN1cnNpb24gbGV2ZWwgKGRlZmF1bHQgMTApCisgICAgZGRpcjogICAgICB0aGUgZGlyZWN0b3J5IHRoYXQgd2lsbCBiZSBwcmVwZW5kZWQgdG8gdGhlIHBhdGggdG8gdGhlCisgICAgICAgICAgICAgICBmaWxlIGFzIGl0IGlzIGNvbXBpbGVkIGludG8gZWFjaCBieXRlLWNvZGUgZmlsZS4KKyAgICBmb3JjZTogICAgIGlmIFRydWUsIGZvcmNlIGNvbXBpbGF0aW9uLCBldmVuIGlmIHRpbWVzdGFtcHMgYXJlIHVwLXRvLWRhdGUKKyAgICBxdWlldDogICAgIGZ1bGwgb3V0cHV0IHdpdGggRmFsc2Ugb3IgMCwgZXJyb3JzIG9ubHkgd2l0aCAxLAorICAgICAgICAgICAgICAgbm8gb3V0cHV0IHdpdGggMgorICAgIGxlZ2FjeTogICAgaWYgVHJ1ZSwgcHJvZHVjZSBsZWdhY3kgcHljIHBhdGhzIGluc3RlYWQgb2YgUEVQIDMxNDcgcGF0aHMKKyAgICBvcHRpbWl6ZTogIG9wdGltaXphdGlvbiBsZXZlbCBvciAtMSBmb3IgbGV2ZWwgb2YgdGhlIGludGVycHJldGVyCisgICAgd29ya2VyczogICBtYXhpbXVtIG51bWJlciBvZiBwYXJhbGxlbCB3b3JrZXJzCisgICAgIiIiCisgICAgZmlsZXMgPSBfd2Fsa19kaXIoZGlyLCBxdWlldD1xdWlldCwgbWF4bGV2ZWxzPW1heGxldmVscywKKyAgICAgICAgICAgICAgICAgICAgICBkZGlyPWRkaXIpCisgICAgc3VjY2VzcyA9IDEKKyAgICBpZiB3b3JrZXJzIGlzIG5vdCBOb25lIGFuZCB3b3JrZXJzICE9IDE6CisgICAgICAgIGlmIHdvcmtlcnMgPCAwOgorICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcignd29ya2VycyBtdXN0IGJlIGdyZWF0ZXIgb3IgZXF1YWwgdG8gMCcpCisgICAgICAgIGlmIFByb2Nlc3NQb29sRXhlY3V0b3IgaXMgTm9uZToKKyAgICAgICAgICAgIHJhaXNlIE5vdEltcGxlbWVudGVkRXJyb3IoJ211bHRpcHJvY2Vzc2luZyBzdXBwb3J0IG5vdCBhdmFpbGFibGUnKQorCisgICAgICAgIHdvcmtlcnMgPSB3b3JrZXJzIG9yIE5vbmUKKyAgICAgICAgd2l0aCBQcm9jZXNzUG9vbEV4ZWN1dG9yKG1heF93b3JrZXJzPXdvcmtlcnMpIGFzIGV4ZWN1dG9yOgorICAgICAgICAgICAgcmVzdWx0cyA9IGV4ZWN1dG9yLm1hcChwYXJ0aWFsKGNvbXBpbGVfZmlsZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZGlyPWRkaXIsIGZvcmNlPWZvcmNlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJ4PXJ4LCBxdWlldD1xdWlldCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZWdhY3k9bGVnYWN5LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGltaXplPW9wdGltaXplKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZXMpCisgICAgICAgICAgICBzdWNjZXNzID0gbWluKHJlc3VsdHMsIGRlZmF1bHQ9MSkKKyAgICBlbHNlOgorICAgICAgICBmb3IgZmlsZSBpbiBmaWxlczoKKyAgICAgICAgICAgIGlmIG5vdCBjb21waWxlX2ZpbGUoZmlsZSwgZGRpciwgZm9yY2UsIHJ4LCBxdWlldCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVnYWN5LCBvcHRpbWl6ZSk6CiAgICAgICAgICAgICAgICAgc3VjY2VzcyA9IDAKICAgICByZXR1cm4gc3VjY2VzcwogCi1kZWYgY29tcGlsZV9maWxlKGZ1bGxuYW1lLCBkZGlyPU5vbmUsIGZvcmNlPUZhbHNlLCByeD1Ob25lLCBxdWlldD1GYWxzZSwKK2RlZiBjb21waWxlX2ZpbGUoZnVsbG5hbWUsIGRkaXI9Tm9uZSwgZm9yY2U9RmFsc2UsIHJ4PU5vbmUsIHF1aWV0PTAsCiAgICAgICAgICAgICAgICAgIGxlZ2FjeT1GYWxzZSwgb3B0aW1pemU9LTEpOgogICAgICIiIkJ5dGUtY29tcGlsZSBvbmUgZmlsZS4KIApAQCAtNzEsNyArMTAxLDggQEAKICAgICBkZGlyOiAgICAgIGlmIGdpdmVuLCB0aGUgZGlyZWN0b3J5IG5hbWUgY29tcGlsZWQgaW4gdG8gdGhlCiAgICAgICAgICAgICAgICBieXRlLWNvZGUgZmlsZS4KICAgICBmb3JjZTogICAgIGlmIFRydWUsIGZvcmNlIGNvbXBpbGF0aW9uLCBldmVuIGlmIHRpbWVzdGFtcHMgYXJlIHVwLXRvLWRhdGUKLSAgICBxdWlldDogICAgIGlmIFRydWUsIGJlIHF1aWV0IGR1cmluZyBjb21waWxhdGlvbgorICAgIHF1aWV0OiAgICAgZnVsbCBvdXRwdXQgd2l0aCBGYWxzZSBvciAwLCBlcnJvcnMgb25seSB3aXRoIDEsCisgICAgICAgICAgICAgICBubyBvdXRwdXQgd2l0aCAyCiAgICAgbGVnYWN5OiAgICBpZiBUcnVlLCBwcm9kdWNlIGxlZ2FjeSBweWMgcGF0aHMgaW5zdGVhZCBvZiBQRVAgMzE0NyBwYXRocwogICAgIG9wdGltaXplOiAgb3B0aW1pemF0aW9uIGxldmVsIG9yIC0xIGZvciBsZXZlbCBvZiB0aGUgaW50ZXJwcmV0ZXIKICAgICAiIiIKQEAgLTExNCw3ICsxNDUsMTAgQEAKICAgICAgICAgICAgICAgICBvayA9IHB5X2NvbXBpbGUuY29tcGlsZShmdWxsbmFtZSwgY2ZpbGUsIGRmaWxlLCBUcnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGltaXplPW9wdGltaXplKQogICAgICAgICAgICAgZXhjZXB0IHB5X2NvbXBpbGUuUHlDb21waWxlRXJyb3IgYXMgZXJyOgotICAgICAgICAgICAgICAgIGlmIHF1aWV0OgorICAgICAgICAgICAgICAgIHN1Y2Nlc3MgPSAwCisgICAgICAgICAgICAgICAgaWYgcXVpZXQgPj0gMjoKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHN1Y2Nlc3MKKyAgICAgICAgICAgICAgICBlbGlmIHF1aWV0OgogICAgICAgICAgICAgICAgICAgICBwcmludCgnKioqIEVycm9yIGNvbXBpbGluZyB7IXJ9Li4uJy5mb3JtYXQoZnVsbG5hbWUpKQogICAgICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgICAgIHByaW50KCcqKiogJywgZW5kPScnKQpAQCAtMTIzLDIwICsxNTcsMjEgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJvcnM9J2JhY2tzbGFzaHJlcGxhY2UnKQogICAgICAgICAgICAgICAgIG1zZyA9IG1zZy5kZWNvZGUoc3lzLnN0ZG91dC5lbmNvZGluZykKICAgICAgICAgICAgICAgICBwcmludChtc2cpCi0gICAgICAgICAgICAgICAgc3VjY2VzcyA9IDAKICAgICAgICAgICAgIGV4Y2VwdCAoU3ludGF4RXJyb3IsIFVuaWNvZGVFcnJvciwgT1NFcnJvcikgYXMgZToKLSAgICAgICAgICAgICAgICBpZiBxdWlldDoKKyAgICAgICAgICAgICAgICBzdWNjZXNzID0gMAorICAgICAgICAgICAgICAgIGlmIHF1aWV0ID49IDI6CisgICAgICAgICAgICAgICAgICAgIHJldHVybiBzdWNjZXNzCisgICAgICAgICAgICAgICAgZWxpZiBxdWlldDoKICAgICAgICAgICAgICAgICAgICAgcHJpbnQoJyoqKiBFcnJvciBjb21waWxpbmcgeyFyfS4uLicuZm9ybWF0KGZ1bGxuYW1lKSkKICAgICAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgICAgICBwcmludCgnKioqICcsIGVuZD0nJykKICAgICAgICAgICAgICAgICBwcmludChlLl9fY2xhc3NfXy5fX25hbWVfXyArICc6JywgZSkKLSAgICAgICAgICAgICAgICBzdWNjZXNzID0gMAogICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICBpZiBvayA9PSAwOgogICAgICAgICAgICAgICAgICAgICBzdWNjZXNzID0gMAogICAgIHJldHVybiBzdWNjZXNzCiAKLWRlZiBjb21waWxlX3BhdGgoc2tpcF9jdXJkaXI9MSwgbWF4bGV2ZWxzPTAsIGZvcmNlPUZhbHNlLCBxdWlldD1GYWxzZSwKK2RlZiBjb21waWxlX3BhdGgoc2tpcF9jdXJkaXI9MSwgbWF4bGV2ZWxzPTAsIGZvcmNlPUZhbHNlLCBxdWlldD0wLAogICAgICAgICAgICAgICAgICBsZWdhY3k9RmFsc2UsIG9wdGltaXplPS0xKToKICAgICAiIiJCeXRlLWNvbXBpbGUgYWxsIG1vZHVsZSBvbiBzeXMucGF0aC4KIApAQCAtMTQ1LDE0ICsxODAsMTUgQEAKICAgICBza2lwX2N1cmRpcjogaWYgdHJ1ZSwgc2tpcCBjdXJyZW50IGRpcmVjdG9yeSAoZGVmYXVsdCBUcnVlKQogICAgIG1heGxldmVsczogICBtYXggcmVjdXJzaW9uIGxldmVsIChkZWZhdWx0IDApCiAgICAgZm9yY2U6IGFzIGZvciBjb21waWxlX2RpcigpIChkZWZhdWx0IEZhbHNlKQotICAgIHF1aWV0OiBhcyBmb3IgY29tcGlsZV9kaXIoKSAoZGVmYXVsdCBGYWxzZSkKKyAgICBxdWlldDogYXMgZm9yIGNvbXBpbGVfZGlyKCkgKGRlZmF1bHQgMCkKICAgICBsZWdhY3k6IGFzIGZvciBjb21waWxlX2RpcigpIChkZWZhdWx0IEZhbHNlKQogICAgIG9wdGltaXplOiBhcyBmb3IgY29tcGlsZV9kaXIoKSAoZGVmYXVsdCAtMSkKICAgICAiIiIKICAgICBzdWNjZXNzID0gMQogICAgIGZvciBkaXIgaW4gc3lzLnBhdGg6CiAgICAgICAgIGlmIChub3QgZGlyIG9yIGRpciA9PSBvcy5jdXJkaXIpIGFuZCBza2lwX2N1cmRpcjoKLSAgICAgICAgICAgIHByaW50KCdTa2lwcGluZyBjdXJyZW50IGRpcmVjdG9yeScpCisgICAgICAgICAgICBpZiBxdWlldCA8IDI6CisgICAgICAgICAgICAgICAgcHJpbnQoJ1NraXBwaW5nIGN1cnJlbnQgZGlyZWN0b3J5JykKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIHN1Y2Nlc3MgPSBzdWNjZXNzIGFuZCBjb21waWxlX2RpcihkaXIsIG1heGxldmVscywgTm9uZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JjZSwgcXVpZXQ9cXVpZXQsCkBAIC0xNjksMTAgKzIwNSwxNSBAQAogICAgIHBhcnNlci5hZGRfYXJndW1lbnQoJy1sJywgYWN0aW9uPSdzdG9yZV9jb25zdCcsIGNvbnN0PTAsCiAgICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0PTEwLCBkZXN0PSdtYXhsZXZlbHMnLAogICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0iZG9uJ3QgcmVjdXJzZSBpbnRvIHN1YmRpcmVjdG9yaWVzIikKKyAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCctcicsIHR5cGU9aW50LCBkZXN0PSdyZWN1cnNpb24nLAorICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0oJ2NvbnRyb2wgdGhlIG1heGltdW0gcmVjdXJzaW9uIGxldmVsLiAnCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaWYgYC1sYCBhbmQgYC1yYCBvcHRpb25zIGFyZSBzcGVjaWZpZWQsICcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0aGVuIGAtcmAgdGFrZXMgcHJlY2VkZW5jZS4nKSkKICAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCctZicsIGFjdGlvbj0nc3RvcmVfdHJ1ZScsIGRlc3Q9J2ZvcmNlJywKICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9J2ZvcmNlIHJlYnVpbGQgZXZlbiBpZiB0aW1lc3RhbXBzIGFyZSB1cCB0byBkYXRlJykKLSAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCctcScsIGFjdGlvbj0nc3RvcmVfdHJ1ZScsIGRlc3Q9J3F1aWV0JywKLSAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9J291dHB1dCBvbmx5IGVycm9yIG1lc3NhZ2VzJykKKyAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCctcScsIGFjdGlvbj0nY291bnQnLCBkZXN0PSdxdWlldCcsIGRlZmF1bHQ9MCwKKyAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9J291dHB1dCBvbmx5IGVycm9yIG1lc3NhZ2VzOyAtcXEgd2lsbCBzdXBwcmVzcyAnCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0aGUgZXJyb3IgbWVzc2FnZXMgYXMgd2VsbC4nKQogICAgIHBhcnNlci5hZGRfYXJndW1lbnQoJy1iJywgYWN0aW9uPSdzdG9yZV90cnVlJywgZGVzdD0nbGVnYWN5JywKICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9J3VzZSBsZWdhY3kgKHByZS1QRVAzMTQ3KSBjb21waWxlZCBmaWxlIGxvY2F0aW9ucycpCiAgICAgcGFyc2VyLmFkZF9hcmd1bWVudCgnLWQnLCBtZXRhdmFyPSdERVNURElSJywgIGRlc3Q9J2RkaXInLCBkZWZhdWx0PU5vbmUsCkBAIC0xOTIsOCArMjMzLDEwIEBACiAgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSgnemVybyBvciBtb3JlIGZpbGUgYW5kIGRpcmVjdG9yeSBuYW1lcyAnCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndG8gY29tcGlsZTsgaWYgbm8gYXJndW1lbnRzIGdpdmVuLCBkZWZhdWx0cyAnCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndG8gdGhlIGVxdWl2YWxlbnQgb2YgLWwgc3lzLnBhdGgnKSkKLSAgICBhcmdzID0gcGFyc2VyLnBhcnNlX2FyZ3MoKQorICAgIHBhcnNlci5hZGRfYXJndW1lbnQoJy1qJywgJy0td29ya2VycycsIGRlZmF1bHQ9MSwKKyAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9aW50LCBoZWxwPSdSdW4gY29tcGlsZWFsbCBjb25jdXJyZW50bHknKQogCisgICAgYXJncyA9IHBhcnNlci5wYXJzZV9hcmdzKCkKICAgICBjb21waWxlX2Rlc3RzID0gYXJncy5jb21waWxlX2Rlc3QKIAogICAgIGlmIChhcmdzLmRkaXIgYW5kIChsZW4oY29tcGlsZV9kZXN0cykgIT0gMQpAQCAtMjAzLDYgKzI0NiwxMiBAQAogICAgICAgICBpbXBvcnQgcmUKICAgICAgICAgYXJncy5yeCA9IHJlLmNvbXBpbGUoYXJncy5yeCkKIAorCisgICAgaWYgYXJncy5yZWN1cnNpb24gaXMgbm90IE5vbmU6CisgICAgICAgIG1heGxldmVscyA9IGFyZ3MucmVjdXJzaW9uCisgICAgZWxzZToKKyAgICAgICAgbWF4bGV2ZWxzID0gYXJncy5tYXhsZXZlbHMKKwogICAgICMgaWYgZmxpc3QgaXMgcHJvdmlkZWQgdGhlbiBsb2FkIGl0CiAgICAgaWYgYXJncy5mbGlzdDoKICAgICAgICAgdHJ5OgpAQCAtMjEwLDkgKzI1OSwxMyBAQAogICAgICAgICAgICAgICAgIGZvciBsaW5lIGluIGY6CiAgICAgICAgICAgICAgICAgICAgIGNvbXBpbGVfZGVzdHMuYXBwZW5kKGxpbmUuc3RyaXAoKSkKICAgICAgICAgZXhjZXB0IE9TRXJyb3I6Ci0gICAgICAgICAgICBwcmludCgiRXJyb3IgcmVhZGluZyBmaWxlIGxpc3Qge30iLmZvcm1hdChhcmdzLmZsaXN0KSkKKyAgICAgICAgICAgIGlmIGFyZ3MucXVpZXQgPCAyOgorICAgICAgICAgICAgICAgIHByaW50KCJFcnJvciByZWFkaW5nIGZpbGUgbGlzdCB7fSIuZm9ybWF0KGFyZ3MuZmxpc3QpKQogICAgICAgICAgICAgcmV0dXJuIEZhbHNlCiAKKyAgICBpZiBhcmdzLndvcmtlcnMgaXMgbm90IE5vbmU6CisgICAgICAgIGFyZ3Mud29ya2VycyA9IGFyZ3Mud29ya2VycyBvciBOb25lCisKICAgICBzdWNjZXNzID0gVHJ1ZQogICAgIHRyeToKICAgICAgICAgaWYgY29tcGlsZV9kZXN0czoKQEAgLTIyMiwxNiArMjc1LDE3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJncy5xdWlldCwgYXJncy5sZWdhY3kpOgogICAgICAgICAgICAgICAgICAgICAgICAgc3VjY2VzcyA9IEZhbHNlCiAgICAgICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICAgICAgaWYgbm90IGNvbXBpbGVfZGlyKGRlc3QsIGFyZ3MubWF4bGV2ZWxzLCBhcmdzLmRkaXIsCisgICAgICAgICAgICAgICAgICAgIGlmIG5vdCBjb21waWxlX2RpcihkZXN0LCBtYXhsZXZlbHMsIGFyZ3MuZGRpciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyZ3MuZm9yY2UsIGFyZ3MucngsIGFyZ3MucXVpZXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmdzLmxlZ2FjeSk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmdzLmxlZ2FjeSwgd29ya2Vycz1hcmdzLndvcmtlcnMpOgogICAgICAgICAgICAgICAgICAgICAgICAgc3VjY2VzcyA9IEZhbHNlCiAgICAgICAgICAgICByZXR1cm4gc3VjY2VzcwogICAgICAgICBlbHNlOgogICAgICAgICAgICAgcmV0dXJuIGNvbXBpbGVfcGF0aChsZWdhY3k9YXJncy5sZWdhY3ksIGZvcmNlPWFyZ3MuZm9yY2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHF1aWV0PWFyZ3MucXVpZXQpCiAgICAgZXhjZXB0IEtleWJvYXJkSW50ZXJydXB0OgotICAgICAgICBwcmludCgiXG5baW50ZXJydXB0ZWRdIikKKyAgICAgICAgaWYgYXJncy5xdWlldCA8IDI6CisgICAgICAgICAgICBwcmludCgiXG5baW50ZXJydXB0ZWRdIikKICAgICAgICAgcmV0dXJuIEZhbHNlCiAgICAgcmV0dXJuIFRydWUKIApkaWZmIC0tZ2l0IGEvTGliL2NvbmN1cnJlbnQvZnV0dXJlcy9fYmFzZS5weSBiL0xpYi9jb25jdXJyZW50L2Z1dHVyZXMvX2Jhc2UucHkKaW5kZXggYWNkMDVkMC4uOWU0NDcxMyAxMDA2NDQKLS0tIGEvTGliL2NvbmN1cnJlbnQvZnV0dXJlcy9fYmFzZS5weQorKysgYi9MaWIvY29uY3VycmVudC9mdXR1cmVzL19iYXNlLnB5CkBAIC0zMDIsMTcgKzMwMiwyMCBAQAogICAgICAgICB3aXRoIHNlbGYuX2NvbmRpdGlvbjoKICAgICAgICAgICAgIGlmIHNlbGYuX3N0YXRlID09IEZJTklTSEVEOgogICAgICAgICAgICAgICAgIGlmIHNlbGYuX2V4Y2VwdGlvbjoKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuICc8RnV0dXJlIGF0ICVzIHN0YXRlPSVzIHJhaXNlZCAlcz4nICUgKAotICAgICAgICAgICAgICAgICAgICAgICAgaGV4KGlkKHNlbGYpKSwKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuICc8JXMgYXQgJSN4IHN0YXRlPSVzIHJhaXNlZCAlcz4nICUgKAorICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fX2NsYXNzX18uX19uYW1lX18sCisgICAgICAgICAgICAgICAgICAgICAgICBpZChzZWxmKSwKICAgICAgICAgICAgICAgICAgICAgICAgIF9TVEFURV9UT19ERVNDUklQVElPTl9NQVBbc2VsZi5fc3RhdGVdLAogICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fZXhjZXB0aW9uLl9fY2xhc3NfXy5fX25hbWVfXykKICAgICAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgICAgICByZXR1cm4gJzxGdXR1cmUgYXQgJXMgc3RhdGU9JXMgcmV0dXJuZWQgJXM+JyAlICgKLSAgICAgICAgICAgICAgICAgICAgICAgIGhleChpZChzZWxmKSksCisgICAgICAgICAgICAgICAgICAgIHJldHVybiAnPCVzIGF0ICUjeCBzdGF0ZT0lcyByZXR1cm5lZCAlcz4nICUgKAorICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fX2NsYXNzX18uX19uYW1lX18sCisgICAgICAgICAgICAgICAgICAgICAgICBpZChzZWxmKSwKICAgICAgICAgICAgICAgICAgICAgICAgIF9TVEFURV9UT19ERVNDUklQVElPTl9NQVBbc2VsZi5fc3RhdGVdLAogICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fcmVzdWx0Ll9fY2xhc3NfXy5fX25hbWVfXykKLSAgICAgICAgICAgIHJldHVybiAnPEZ1dHVyZSBhdCAlcyBzdGF0ZT0lcz4nICUgKAotICAgICAgICAgICAgICAgICAgICBoZXgoaWQoc2VsZikpLAorICAgICAgICAgICAgcmV0dXJuICc8JXMgYXQgJSN4IHN0YXRlPSVzPicgJSAoCisgICAgICAgICAgICAgICAgICAgIHNlbGYuX19jbGFzc19fLl9fbmFtZV9fLAorICAgICAgICAgICAgICAgICAgICBpZChzZWxmKSwKICAgICAgICAgICAgICAgICAgICBfU1RBVEVfVE9fREVTQ1JJUFRJT05fTUFQW3NlbGYuX3N0YXRlXSkKIAogICAgIGRlZiBjYW5jZWwoc2VsZik6CkBAIC01MTcsNyArNTIwLDcgQEAKICAgICAgICAgIiIiCiAgICAgICAgIHJhaXNlIE5vdEltcGxlbWVudGVkRXJyb3IoKQogCi0gICAgZGVmIG1hcChzZWxmLCBmbiwgKml0ZXJhYmxlcywgdGltZW91dD1Ob25lKToKKyAgICBkZWYgbWFwKHNlbGYsIGZuLCAqaXRlcmFibGVzLCB0aW1lb3V0PU5vbmUsIGNodW5rc2l6ZT0xKToKICAgICAgICAgIiIiUmV0dXJucyBhIGl0ZXJhdG9yIGVxdWl2YWxlbnQgdG8gbWFwKGZuLCBpdGVyKS4KIAogICAgICAgICBBcmdzOgpAQCAtNTI1LDYgKzUyOCwxMCBAQAogICAgICAgICAgICAgICAgIHBhc3NlZCBpdGVyYWJsZXMuCiAgICAgICAgICAgICB0aW1lb3V0OiBUaGUgbWF4aW11bSBudW1iZXIgb2Ygc2Vjb25kcyB0byB3YWl0LiBJZiBOb25lLCB0aGVuIHRoZXJlCiAgICAgICAgICAgICAgICAgaXMgbm8gbGltaXQgb24gdGhlIHdhaXQgdGltZS4KKyAgICAgICAgICAgIGNodW5rc2l6ZTogVGhlIHNpemUgb2YgdGhlIGNodW5rcyB0aGUgaXRlcmFibGUgd2lsbCBiZSBicm9rZW4gaW50bworICAgICAgICAgICAgICAgIGJlZm9yZSBiZWluZyBwYXNzZWQgdG8gYSBjaGlsZCBwcm9jZXNzLiBUaGlzIGFyZ3VtZW50IGlzIG9ubHkKKyAgICAgICAgICAgICAgICB1c2VkIGJ5IFByb2Nlc3NQb29sRXhlY3V0b3I7IGl0IGlzIGlnbm9yZWQgYnkKKyAgICAgICAgICAgICAgICBUaHJlYWRQb29sRXhlY3V0b3IuCiAKICAgICAgICAgUmV0dXJuczoKICAgICAgICAgICAgIEFuIGl0ZXJhdG9yIGVxdWl2YWxlbnQgdG86IG1hcChmdW5jLCAqaXRlcmFibGVzKSBidXQgdGhlIGNhbGxzIG1heQpkaWZmIC0tZ2l0IGEvTGliL2NvbmN1cnJlbnQvZnV0dXJlcy9wcm9jZXNzLnB5IGIvTGliL2NvbmN1cnJlbnQvZnV0dXJlcy9wcm9jZXNzLnB5CmluZGV4IDA3YjUyMjUuLjNkZDZkYTEgMTAwNjQ0Ci0tLSBhL0xpYi9jb25jdXJyZW50L2Z1dHVyZXMvcHJvY2Vzcy5weQorKysgYi9MaWIvY29uY3VycmVudC9mdXR1cmVzL3Byb2Nlc3MucHkKQEAgLTU1LDYgKzU1LDkgQEAKIGZyb20gbXVsdGlwcm9jZXNzaW5nLmNvbm5lY3Rpb24gaW1wb3J0IHdhaXQKIGltcG9ydCB0aHJlYWRpbmcKIGltcG9ydCB3ZWFrcmVmCitmcm9tIGZ1bmN0b29scyBpbXBvcnQgcGFydGlhbAoraW1wb3J0IGl0ZXJ0b29scworaW1wb3J0IHRyYWNlYmFjawogCiAjIFdvcmtlcnMgYXJlIGNyZWF0ZWQgYXMgZGFlbW9uIHRocmVhZHMgYW5kIHByb2Nlc3Nlcy4gVGhpcyBpcyBkb25lIHRvIGFsbG93IHRoZQogIyBpbnRlcnByZXRlciB0byBleGl0IHdoZW4gdGhlcmUgYXJlIHN0aWxsIGlkbGUgcHJvY2Vzc2VzIGluIGEKQEAgLTg4LDYgKzkxLDI3IEBACiAjIChGdXR1cmVzIGluIHRoZSBjYWxsIHF1ZXVlIGNhbm5vdCBiZSBjYW5jZWxsZWQpLgogRVhUUkFfUVVFVUVEX0NBTExTID0gMQogCisjIEhhY2sgdG8gZW1iZWQgc3RyaW5naWZpY2F0aW9uIG9mIHJlbW90ZSB0cmFjZWJhY2sgaW4gbG9jYWwgdHJhY2ViYWNrCisKK2NsYXNzIF9SZW1vdGVUcmFjZWJhY2soRXhjZXB0aW9uKToKKyAgICBkZWYgX19pbml0X18oc2VsZiwgdGIpOgorICAgICAgICBzZWxmLnRiID0gdGIKKyAgICBkZWYgX19zdHJfXyhzZWxmKToKKyAgICAgICAgcmV0dXJuIHNlbGYudGIKKworY2xhc3MgX0V4Y2VwdGlvbldpdGhUcmFjZWJhY2s6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIGV4YywgdGIpOgorICAgICAgICB0YiA9IHRyYWNlYmFjay5mb3JtYXRfZXhjZXB0aW9uKHR5cGUoZXhjKSwgZXhjLCB0YikKKyAgICAgICAgdGIgPSAnJy5qb2luKHRiKQorICAgICAgICBzZWxmLmV4YyA9IGV4YworICAgICAgICBzZWxmLnRiID0gJ1xuIiIiXG4lcyIiIicgJSB0YgorICAgIGRlZiBfX3JlZHVjZV9fKHNlbGYpOgorICAgICAgICByZXR1cm4gX3JlYnVpbGRfZXhjLCAoc2VsZi5leGMsIHNlbGYudGIpCisKK2RlZiBfcmVidWlsZF9leGMoZXhjLCB0Yik6CisgICAgZXhjLl9fY2F1c2VfXyA9IF9SZW1vdGVUcmFjZWJhY2sodGIpCisgICAgcmV0dXJuIGV4YworCiBjbGFzcyBfV29ya0l0ZW0ob2JqZWN0KToKICAgICBkZWYgX19pbml0X18oc2VsZiwgZnV0dXJlLCBmbiwgYXJncywga3dhcmdzKToKICAgICAgICAgc2VsZi5mdXR1cmUgPSBmdXR1cmUKQEAgLTEwOCw2ICsxMzIsMjYgQEAKICAgICAgICAgc2VsZi5hcmdzID0gYXJncwogICAgICAgICBzZWxmLmt3YXJncyA9IGt3YXJncwogCitkZWYgX2dldF9jaHVua3MoKml0ZXJhYmxlcywgY2h1bmtzaXplKToKKyAgICAiIiIgSXRlcmF0ZXMgb3ZlciB6aXAoKWVkIGl0ZXJhYmxlcyBpbiBjaHVua3MuICIiIgorICAgIGl0ID0gemlwKCppdGVyYWJsZXMpCisgICAgd2hpbGUgVHJ1ZToKKyAgICAgICAgY2h1bmsgPSB0dXBsZShpdGVydG9vbHMuaXNsaWNlKGl0LCBjaHVua3NpemUpKQorICAgICAgICBpZiBub3QgY2h1bms6CisgICAgICAgICAgICByZXR1cm4KKyAgICAgICAgeWllbGQgY2h1bmsKKworZGVmIF9wcm9jZXNzX2NodW5rKGZuLCBjaHVuayk6CisgICAgIiIiIFByb2Nlc3NlcyBhIGNodW5rIG9mIGFuIGl0ZXJhYmxlIHBhc3NlZCB0byBtYXAuCisKKyAgICBSdW5zIHRoZSBmdW5jdGlvbiBwYXNzZWQgdG8gbWFwKCkgb24gYSBjaHVuayBvZiB0aGUKKyAgICBpdGVyYWJsZSBwYXNzZWQgdG8gbWFwLgorCisgICAgVGhpcyBmdW5jdGlvbiBpcyBydW4gaW4gYSBzZXBhcmF0ZSBwcm9jZXNzLgorCisgICAgIiIiCisgICAgcmV0dXJuIFtmbigqYXJncykgZm9yIGFyZ3MgaW4gY2h1bmtdCisKIGRlZiBfcHJvY2Vzc193b3JrZXIoY2FsbF9xdWV1ZSwgcmVzdWx0X3F1ZXVlKToKICAgICAiIiJFdmFsdWF0ZXMgY2FsbHMgZnJvbSBjYWxsX3F1ZXVlIGFuZCBwbGFjZXMgdGhlIHJlc3VsdHMgaW4gcmVzdWx0X3F1ZXVlLgogCkBAIC0xMzAsOCArMTc0LDggQEAKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgciA9IGNhbGxfaXRlbS5mbigqY2FsbF9pdGVtLmFyZ3MsICoqY2FsbF9pdGVtLmt3YXJncykKICAgICAgICAgZXhjZXB0IEJhc2VFeGNlcHRpb24gYXMgZToKLSAgICAgICAgICAgIHJlc3VsdF9xdWV1ZS5wdXQoX1Jlc3VsdEl0ZW0oY2FsbF9pdGVtLndvcmtfaWQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4Y2VwdGlvbj1lKSkKKyAgICAgICAgICAgIGV4YyA9IF9FeGNlcHRpb25XaXRoVHJhY2ViYWNrKGUsIGUuX190cmFjZWJhY2tfXykKKyAgICAgICAgICAgIHJlc3VsdF9xdWV1ZS5wdXQoX1Jlc3VsdEl0ZW0oY2FsbF9pdGVtLndvcmtfaWQsIGV4Y2VwdGlvbj1leGMpKQogICAgICAgICBlbHNlOgogICAgICAgICAgICAgcmVzdWx0X3F1ZXVlLnB1dChfUmVzdWx0SXRlbShjYWxsX2l0ZW0ud29ya19pZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0PXIpKQpAQCAtMzM0LDYgKzM3OCw5IEBACiAgICAgICAgIGlmIG1heF93b3JrZXJzIGlzIE5vbmU6CiAgICAgICAgICAgICBzZWxmLl9tYXhfd29ya2VycyA9IG9zLmNwdV9jb3VudCgpIG9yIDEKICAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGlmIG1heF93b3JrZXJzIDw9IDA6CisgICAgICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigibWF4X3dvcmtlcnMgbXVzdCBiZSBncmVhdGVyIHRoYW4gMCIpCisKICAgICAgICAgICAgIHNlbGYuX21heF93b3JrZXJzID0gbWF4X3dvcmtlcnMKIAogICAgICAgICAjIE1ha2UgdGhlIGNhbGwgcXVldWUgc2xpZ2h0bHkgbGFyZ2VyIHRoYW4gdGhlIG51bWJlciBvZiBwcm9jZXNzZXMgdG8KQEAgLTQwOCw2ICs0NTUsMzUgQEAKICAgICAgICAgICAgIHJldHVybiBmCiAgICAgc3VibWl0Ll9fZG9jX18gPSBfYmFzZS5FeGVjdXRvci5zdWJtaXQuX19kb2NfXwogCisgICAgZGVmIG1hcChzZWxmLCBmbiwgKml0ZXJhYmxlcywgdGltZW91dD1Ob25lLCBjaHVua3NpemU9MSk6CisgICAgICAgICIiIlJldHVybnMgYSBpdGVyYXRvciBlcXVpdmFsZW50IHRvIG1hcChmbiwgaXRlcikuCisKKyAgICAgICAgQXJnczoKKyAgICAgICAgICAgIGZuOiBBIGNhbGxhYmxlIHRoYXQgd2lsbCB0YWtlIGFzIG1hbnkgYXJndW1lbnRzIGFzIHRoZXJlIGFyZQorICAgICAgICAgICAgICAgIHBhc3NlZCBpdGVyYWJsZXMuCisgICAgICAgICAgICB0aW1lb3V0OiBUaGUgbWF4aW11bSBudW1iZXIgb2Ygc2Vjb25kcyB0byB3YWl0LiBJZiBOb25lLCB0aGVuIHRoZXJlCisgICAgICAgICAgICAgICAgaXMgbm8gbGltaXQgb24gdGhlIHdhaXQgdGltZS4KKyAgICAgICAgICAgIGNodW5rc2l6ZTogSWYgZ3JlYXRlciB0aGFuIG9uZSwgdGhlIGl0ZXJhYmxlcyB3aWxsIGJlIGNob3BwZWQgaW50bworICAgICAgICAgICAgICAgIGNodW5rcyBvZiBzaXplIGNodW5rc2l6ZSBhbmQgc3VibWl0dGVkIHRvIHRoZSBwcm9jZXNzIHBvb2wuCisgICAgICAgICAgICAgICAgSWYgc2V0IHRvIG9uZSwgdGhlIGl0ZW1zIGluIHRoZSBsaXN0IHdpbGwgYmUgc2VudCBvbmUgYXQgYSB0aW1lLgorCisgICAgICAgIFJldHVybnM6CisgICAgICAgICAgICBBbiBpdGVyYXRvciBlcXVpdmFsZW50IHRvOiBtYXAoZnVuYywgKml0ZXJhYmxlcykgYnV0IHRoZSBjYWxscyBtYXkKKyAgICAgICAgICAgIGJlIGV2YWx1YXRlZCBvdXQtb2Ytb3JkZXIuCisKKyAgICAgICAgUmFpc2VzOgorICAgICAgICAgICAgVGltZW91dEVycm9yOiBJZiB0aGUgZW50aXJlIHJlc3VsdCBpdGVyYXRvciBjb3VsZCBub3QgYmUgZ2VuZXJhdGVkCisgICAgICAgICAgICAgICAgYmVmb3JlIHRoZSBnaXZlbiB0aW1lb3V0LgorICAgICAgICAgICAgRXhjZXB0aW9uOiBJZiBmbigqYXJncykgcmFpc2VzIGZvciBhbnkgdmFsdWVzLgorICAgICAgICAiIiIKKyAgICAgICAgaWYgY2h1bmtzaXplIDwgMToKKyAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoImNodW5rc2l6ZSBtdXN0IGJlID49IDEuIikKKworICAgICAgICByZXN1bHRzID0gc3VwZXIoKS5tYXAocGFydGlhbChfcHJvY2Vzc19jaHVuaywgZm4pLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX2dldF9jaHVua3MoKml0ZXJhYmxlcywgY2h1bmtzaXplPWNodW5rc2l6ZSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aW1lb3V0PXRpbWVvdXQpCisgICAgICAgIHJldHVybiBpdGVydG9vbHMuY2hhaW4uZnJvbV9pdGVyYWJsZShyZXN1bHRzKQorCiAgICAgZGVmIHNodXRkb3duKHNlbGYsIHdhaXQ9VHJ1ZSk6CiAgICAgICAgIHdpdGggc2VsZi5fc2h1dGRvd25fbG9jazoKICAgICAgICAgICAgIHNlbGYuX3NodXRkb3duX3RocmVhZCA9IFRydWUKZGlmZiAtLWdpdCBhL0xpYi9jb25jdXJyZW50L2Z1dHVyZXMvdGhyZWFkLnB5IGIvTGliL2NvbmN1cnJlbnQvZnV0dXJlcy90aHJlYWQucHkKaW5kZXggZjliZWIwZi4uM2FlNDQyZCAxMDA2NDQKLS0tIGEvTGliL2NvbmN1cnJlbnQvZnV0dXJlcy90aHJlYWQucHkKKysrIGIvTGliL2NvbmN1cnJlbnQvZnV0dXJlcy90aHJlYWQucHkKQEAgLTEwLDYgKzEwLDcgQEAKIGltcG9ydCBxdWV1ZQogaW1wb3J0IHRocmVhZGluZwogaW1wb3J0IHdlYWtyZWYKK2ltcG9ydCBvcwogCiAjIFdvcmtlcnMgYXJlIGNyZWF0ZWQgYXMgZGFlbW9uIHRocmVhZHMuIFRoaXMgaXMgZG9uZSB0byBhbGxvdyB0aGUgaW50ZXJwcmV0ZXIKICMgdG8gZXhpdCB3aGVuIHRoZXJlIGFyZSBzdGlsbCBpZGxlIHRocmVhZHMgaW4gYSBUaHJlYWRQb29sRXhlY3V0b3IncyB0aHJlYWQKQEAgLTgwLDEzICs4MSwyMCBAQAogICAgICAgICBfYmFzZS5MT0dHRVIuY3JpdGljYWwoJ0V4Y2VwdGlvbiBpbiB3b3JrZXInLCBleGNfaW5mbz1UcnVlKQogCiBjbGFzcyBUaHJlYWRQb29sRXhlY3V0b3IoX2Jhc2UuRXhlY3V0b3IpOgotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBtYXhfd29ya2Vycyk6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIG1heF93b3JrZXJzPU5vbmUpOgogICAgICAgICAiIiJJbml0aWFsaXplcyBhIG5ldyBUaHJlYWRQb29sRXhlY3V0b3IgaW5zdGFuY2UuCiAKICAgICAgICAgQXJnczoKICAgICAgICAgICAgIG1heF93b3JrZXJzOiBUaGUgbWF4aW11bSBudW1iZXIgb2YgdGhyZWFkcyB0aGF0IGNhbiBiZSB1c2VkIHRvCiAgICAgICAgICAgICAgICAgZXhlY3V0ZSB0aGUgZ2l2ZW4gY2FsbHMuCiAgICAgICAgICIiIgorICAgICAgICBpZiBtYXhfd29ya2VycyBpcyBOb25lOgorICAgICAgICAgICAgIyBVc2UgdGhpcyBudW1iZXIgYmVjYXVzZSBUaHJlYWRQb29sRXhlY3V0b3IgaXMgb2Z0ZW4KKyAgICAgICAgICAgICMgdXNlZCB0byBvdmVybGFwIEkvTyBpbnN0ZWFkIG9mIENQVSB3b3JrLgorICAgICAgICAgICAgbWF4X3dvcmtlcnMgPSAob3MuY3B1X2NvdW50KCkgb3IgMSkgKiA1CisgICAgICAgIGlmIG1heF93b3JrZXJzIDw9IDA6CisgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJtYXhfd29ya2VycyBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAwIikKKwogICAgICAgICBzZWxmLl9tYXhfd29ya2VycyA9IG1heF93b3JrZXJzCiAgICAgICAgIHNlbGYuX3dvcmtfcXVldWUgPSBxdWV1ZS5RdWV1ZSgpCiAgICAgICAgIHNlbGYuX3RocmVhZHMgPSBzZXQoKQpkaWZmIC0tZ2l0IGEvTGliL2NvbmZpZ3BhcnNlci5weSBiL0xpYi9jb25maWdwYXJzZXIucHkKaW5kZXggNGVlODMwNy4uZWNkMDY2MCAxMDA2NDQKLS0tIGEvTGliL2NvbmZpZ3BhcnNlci5weQorKysgYi9MaWIvY29uZmlncGFyc2VyLnB5CkBAIC0xNyw3ICsxNyw4IEBACiAgICAgX19pbml0X18oZGVmYXVsdHM9Tm9uZSwgZGljdF90eXBlPV9kZWZhdWx0X2RpY3QsIGFsbG93X25vX3ZhbHVlPUZhbHNlLAogICAgICAgICAgICAgIGRlbGltaXRlcnM9KCc9JywgJzonKSwgY29tbWVudF9wcmVmaXhlcz0oJyMnLCAnOycpLAogICAgICAgICAgICAgIGlubGluZV9jb21tZW50X3ByZWZpeGVzPU5vbmUsIHN0cmljdD1UcnVlLAotICAgICAgICAgICAgIGVtcHR5X2xpbmVzX2luX3ZhbHVlcz1UcnVlKToKKyAgICAgICAgICAgICBlbXB0eV9saW5lc19pbl92YWx1ZXM9VHJ1ZSwgZGVmYXVsdF9zZWN0aW9uPSdERUZBVUxUJywKKyAgICAgICAgICAgICBpbnRlcnBvbGF0aW9uPTx1bnNldD4sIGNvbnZlcnRlcnM9PHVuc2V0Pik6CiAgICAgICAgIENyZWF0ZSB0aGUgcGFyc2VyLiBXaGVuIGBkZWZhdWx0cycgaXMgZ2l2ZW4sIGl0IGlzIGluaXRpYWxpemVkIGludG8gdGhlCiAgICAgICAgIGRpY3Rpb25hcnkgb3IgaW50cmluc2ljIGRlZmF1bHRzLiBUaGUga2V5cyBtdXN0IGJlIHN0cmluZ3MsIHRoZSB2YWx1ZXMKICAgICAgICAgbXVzdCBiZSBhcHByb3ByaWF0ZSBmb3IgJSgpcyBzdHJpbmcgaW50ZXJwb2xhdGlvbi4KQEAgLTQ3LDYgKzQ4LDI1IEBACiAgICAgICAgIFdoZW4gYGFsbG93X25vX3ZhbHVlJyBpcyBUcnVlIChkZWZhdWx0OiBGYWxzZSksIG9wdGlvbnMgd2l0aG91dAogICAgICAgICB2YWx1ZXMgYXJlIGFjY2VwdGVkOyB0aGUgdmFsdWUgcHJlc2VudGVkIGZvciB0aGVzZSBpcyBOb25lLgogCisgICAgICAgIFdoZW4gYGRlZmF1bHRfc2VjdGlvbicgaXMgZ2l2ZW4sIHRoZSBuYW1lIG9mIHRoZSBzcGVjaWFsIHNlY3Rpb24gaXMKKyAgICAgICAgbmFtZWQgYWNjb3JkaW5nbHkuIEJ5IGRlZmF1bHQgaXQgaXMgY2FsbGVkIGBgIkRFRkFVTFQiYGAgYnV0IHRoaXMgY2FuCisgICAgICAgIGJlIGN1c3RvbWl6ZWQgdG8gcG9pbnQgdG8gYW55IG90aGVyIHZhbGlkIHNlY3Rpb24gbmFtZS4gSXRzIGN1cnJlbnQKKyAgICAgICAgdmFsdWUgY2FuIGJlIHJldHJpZXZlZCB1c2luZyB0aGUgYGBwYXJzZXJfaW5zdGFuY2UuZGVmYXVsdF9zZWN0aW9uYGAKKyAgICAgICAgYXR0cmlidXRlIGFuZCBtYXkgYmUgbW9kaWZpZWQgYXQgcnVudGltZS4KKworICAgICAgICBXaGVuIGBpbnRlcnBvbGF0aW9uYCBpcyBnaXZlbiwgaXQgc2hvdWxkIGJlIGFuIEludGVycG9sYXRpb24gc3ViY2xhc3MKKyAgICAgICAgaW5zdGFuY2UuIEl0IHdpbGwgYmUgdXNlZCBhcyB0aGUgaGFuZGxlciBmb3Igb3B0aW9uIHZhbHVlCisgICAgICAgIHByZS1wcm9jZXNzaW5nIHdoZW4gdXNpbmcgZ2V0dGVycy4gUmF3Q29uZmlnUGFyc2VyIG9iamVjdCBzIGRvbid0IGRvCisgICAgICAgIGFueSBzb3J0IG9mIGludGVycG9sYXRpb24sIHdoZXJlYXMgQ29uZmlnUGFyc2VyIHVzZXMgYW4gaW5zdGFuY2Ugb2YKKyAgICAgICAgQmFzaWNJbnRlcnBvbGF0aW9uLiBUaGUgbGlicmFyeSBhbHNvIHByb3ZpZGVzIGEgYGB6Yy5idWlsZGJvdGBgCisgICAgICAgIGluc3BpcmVkIEV4dGVuZGVkSW50ZXJwb2xhdGlvbiBpbXBsZW1lbnRhdGlvbi4KKworICAgICAgICBXaGVuIGBjb252ZXJ0ZXJzYCBpcyBnaXZlbiwgaXQgc2hvdWxkIGJlIGEgZGljdGlvbmFyeSB3aGVyZSBlYWNoIGtleQorICAgICAgICByZXByZXNlbnRzIHRoZSBuYW1lIG9mIGEgdHlwZSBjb252ZXJ0ZXIgYW5kIGVhY2ggdmFsdWUgaXMgYSBjYWxsYWJsZQorICAgICAgICBpbXBsZW1lbnRpbmcgdGhlIGNvbnZlcnNpb24gZnJvbSBzdHJpbmcgdG8gdGhlIGRlc2lyZWQgZGF0YXR5cGUuIEV2ZXJ5CisgICAgICAgIGNvbnZlcnRlciBnZXRzIGl0cyBjb3JyZXNwb25kaW5nIGdldCooKSBtZXRob2Qgb24gdGhlIHBhcnNlciBvYmplY3QgYW5kCisgICAgICAgIHNlY3Rpb24gcHJveGllcy4KKwogICAgIHNlY3Rpb25zKCkKICAgICAgICAgUmV0dXJuIGFsbCB0aGUgY29uZmlndXJhdGlvbiBzZWN0aW9uIG5hbWVzLCBzYW5zIERFRkFVTFQuCiAKQEAgLTEyOSw5ICsxNDksMTEgQEAKIAogX19hbGxfXyA9IFsiTm9TZWN0aW9uRXJyb3IiLCAiRHVwbGljYXRlT3B0aW9uRXJyb3IiLCAiRHVwbGljYXRlU2VjdGlvbkVycm9yIiwKICAgICAgICAgICAgIk5vT3B0aW9uRXJyb3IiLCAiSW50ZXJwb2xhdGlvbkVycm9yIiwgIkludGVycG9sYXRpb25EZXB0aEVycm9yIiwKLSAgICAgICAgICAgIkludGVycG9sYXRpb25TeW50YXhFcnJvciIsICJQYXJzaW5nRXJyb3IiLAotICAgICAgICAgICAiTWlzc2luZ1NlY3Rpb25IZWFkZXJFcnJvciIsCisgICAgICAgICAgICJJbnRlcnBvbGF0aW9uTWlzc2luZ09wdGlvbkVycm9yIiwgIkludGVycG9sYXRpb25TeW50YXhFcnJvciIsCisgICAgICAgICAgICJQYXJzaW5nRXJyb3IiLCAiTWlzc2luZ1NlY3Rpb25IZWFkZXJFcnJvciIsCiAgICAgICAgICAgICJDb25maWdQYXJzZXIiLCAiU2FmZUNvbmZpZ1BhcnNlciIsICJSYXdDb25maWdQYXJzZXIiLAorICAgICAgICAgICAiSW50ZXJwb2xhdGlvbiIsICJCYXNpY0ludGVycG9sYXRpb24iLCAgIkV4dGVuZGVkSW50ZXJwb2xhdGlvbiIsCisgICAgICAgICAgICJMZWdhY3lJbnRlcnBvbGF0aW9uIiwgIlNlY3Rpb25Qcm94eSIsICJDb252ZXJ0ZXJNYXBwaW5nIiwKICAgICAgICAgICAgIkRFRkFVTFRTRUNUIiwgIk1BWF9JTlRFUlBPTEFUSU9OX0RFUFRIIl0KIAogREVGQVVMVFNFQ1QgPSAiREVGQVVMVCIKQEAgLTQxMCw3ICs0MzIsNyBAQAogICAgICAgICAgICAgICAgICAgICB2ID0gbWFwW3Zhcl0KICAgICAgICAgICAgICAgICBleGNlcHQgS2V5RXJyb3I6CiAgICAgICAgICAgICAgICAgICAgIHJhaXNlIEludGVycG9sYXRpb25NaXNzaW5nT3B0aW9uRXJyb3IoCi0gICAgICAgICAgICAgICAgICAgICAgICBvcHRpb24sIHNlY3Rpb24sIHJlc3QsIHZhcikKKyAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbiwgc2VjdGlvbiwgcmVzdCwgdmFyKSBmcm9tIE5vbmUKICAgICAgICAgICAgICAgICBpZiAiJSIgaW4gdjoKICAgICAgICAgICAgICAgICAgICAgc2VsZi5faW50ZXJwb2xhdGVfc29tZShwYXJzZXIsIG9wdGlvbiwgYWNjdW0sIHYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VjdGlvbiwgbWFwLCBkZXB0aCArIDEpCkBAIC00ODIsNyArNTA0LDcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTW9yZSB0aGFuIG9uZSAnOicgZm91bmQ6ICVyIiAlIChyZXN0LCkpCiAgICAgICAgICAgICAgICAgZXhjZXB0IChLZXlFcnJvciwgTm9TZWN0aW9uRXJyb3IsIE5vT3B0aW9uRXJyb3IpOgogICAgICAgICAgICAgICAgICAgICByYWlzZSBJbnRlcnBvbGF0aW9uTWlzc2luZ09wdGlvbkVycm9yKAotICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uLCBzZWN0aW9uLCByZXN0LCAiOiIuam9pbihwYXRoKSkKKyAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbiwgc2VjdGlvbiwgcmVzdCwgIjoiLmpvaW4ocGF0aCkpIGZyb20gTm9uZQogICAgICAgICAgICAgICAgIGlmICIkIiBpbiB2OgogICAgICAgICAgICAgICAgICAgICBzZWxmLl9pbnRlcnBvbGF0ZV9zb21lKHBhcnNlciwgb3B0LCBhY2N1bSwgdiwgc2VjdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaWN0KHBhcnNlci5pdGVtcyhzZWN0LCByYXc9VHJ1ZSkpLApAQCAtNTE1LDcgKzUzNyw3IEBACiAgICAgICAgICAgICAgICAgICAgIHZhbHVlID0gdmFsdWUgJSB2YXJzCiAgICAgICAgICAgICAgICAgZXhjZXB0IEtleUVycm9yIGFzIGU6CiAgICAgICAgICAgICAgICAgICAgIHJhaXNlIEludGVycG9sYXRpb25NaXNzaW5nT3B0aW9uRXJyb3IoCi0gICAgICAgICAgICAgICAgICAgICAgICBvcHRpb24sIHNlY3Rpb24sIHJhd3ZhbCwgZS5hcmdzWzBdKQorICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uLCBzZWN0aW9uLCByYXd2YWwsIGUuYXJnc1swXSkgZnJvbSBOb25lCiAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgIGJyZWFrCiAgICAgICAgIGlmIHZhbHVlIGFuZCAiJSgiIGluIHZhbHVlOgpAQCAtNTgwLDExICs2MDIsMTIgQEAKICAgICAgICAgICAgICAgICAgY29tbWVudF9wcmVmaXhlcz0oJyMnLCAnOycpLCBpbmxpbmVfY29tbWVudF9wcmVmaXhlcz1Ob25lLAogICAgICAgICAgICAgICAgICBzdHJpY3Q9VHJ1ZSwgZW1wdHlfbGluZXNfaW5fdmFsdWVzPVRydWUsCiAgICAgICAgICAgICAgICAgIGRlZmF1bHRfc2VjdGlvbj1ERUZBVUxUU0VDVCwKLSAgICAgICAgICAgICAgICAgaW50ZXJwb2xhdGlvbj1fVU5TRVQpOgorICAgICAgICAgICAgICAgICBpbnRlcnBvbGF0aW9uPV9VTlNFVCwgY29udmVydGVycz1fVU5TRVQpOgogCiAgICAgICAgIHNlbGYuX2RpY3QgPSBkaWN0X3R5cGUKICAgICAgICAgc2VsZi5fc2VjdGlvbnMgPSBzZWxmLl9kaWN0KCkKICAgICAgICAgc2VsZi5fZGVmYXVsdHMgPSBzZWxmLl9kaWN0KCkKKyAgICAgICAgc2VsZi5fY29udmVydGVycyA9IENvbnZlcnRlck1hcHBpbmcoc2VsZikKICAgICAgICAgc2VsZi5fcHJveGllcyA9IHNlbGYuX2RpY3QoKQogICAgICAgICBzZWxmLl9wcm94aWVzW2RlZmF1bHRfc2VjdGlvbl0gPSBTZWN0aW9uUHJveHkoc2VsZiwgZGVmYXVsdF9zZWN0aW9uKQogICAgICAgICBpZiBkZWZhdWx0czoKQEAgLTYxMiw2ICs2MzUsOCBAQAogICAgICAgICAgICAgc2VsZi5faW50ZXJwb2xhdGlvbiA9IHNlbGYuX0RFRkFVTFRfSU5URVJQT0xBVElPTgogICAgICAgICBpZiBzZWxmLl9pbnRlcnBvbGF0aW9uIGlzIE5vbmU6CiAgICAgICAgICAgICBzZWxmLl9pbnRlcnBvbGF0aW9uID0gSW50ZXJwb2xhdGlvbigpCisgICAgICAgIGlmIGNvbnZlcnRlcnMgaXMgbm90IF9VTlNFVDoKKyAgICAgICAgICAgIHNlbGYuX2NvbnZlcnRlcnMudXBkYXRlKGNvbnZlcnRlcnMpCiAKICAgICBkZWYgZGVmYXVsdHMoc2VsZik6CiAgICAgICAgIHJldHVybiBzZWxmLl9kZWZhdWx0cwpAQCAtNjQ3LDcgKzY3Miw3IEBACiAgICAgICAgIHRyeToKICAgICAgICAgICAgIG9wdHMgPSBzZWxmLl9zZWN0aW9uc1tzZWN0aW9uXS5jb3B5KCkKICAgICAgICAgZXhjZXB0IEtleUVycm9yOgotICAgICAgICAgICAgcmFpc2UgTm9TZWN0aW9uRXJyb3Ioc2VjdGlvbikKKyAgICAgICAgICAgIHJhaXNlIE5vU2VjdGlvbkVycm9yKHNlY3Rpb24pIGZyb20gTm9uZQogICAgICAgICBvcHRzLnVwZGF0ZShzZWxmLl9kZWZhdWx0cykKICAgICAgICAgcmV0dXJuIGxpc3Qob3B0cy5rZXlzKCkpCiAKQEAgLTc3NSwzNiArODAwLDMxIEBACiAgICAgZGVmIF9nZXQoc2VsZiwgc2VjdGlvbiwgY29udiwgb3B0aW9uLCAqKmt3YXJncyk6CiAgICAgICAgIHJldHVybiBjb252KHNlbGYuZ2V0KHNlY3Rpb24sIG9wdGlvbiwgKiprd2FyZ3MpKQogCi0gICAgZGVmIGdldGludChzZWxmLCBzZWN0aW9uLCBvcHRpb24sICosIHJhdz1GYWxzZSwgdmFycz1Ob25lLAotICAgICAgICAgICAgICAgZmFsbGJhY2s9X1VOU0VUKToKKyAgICBkZWYgX2dldF9jb252KHNlbGYsIHNlY3Rpb24sIG9wdGlvbiwgY29udiwgKiwgcmF3PUZhbHNlLCB2YXJzPU5vbmUsCisgICAgICAgICAgICAgICAgICBmYWxsYmFjaz1fVU5TRVQsICoqa3dhcmdzKToKICAgICAgICAgdHJ5OgotICAgICAgICAgICAgcmV0dXJuIHNlbGYuX2dldChzZWN0aW9uLCBpbnQsIG9wdGlvbiwgcmF3PXJhdywgdmFycz12YXJzKQorICAgICAgICAgICAgcmV0dXJuIHNlbGYuX2dldChzZWN0aW9uLCBjb252LCBvcHRpb24sIHJhdz1yYXcsIHZhcnM9dmFycywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiprd2FyZ3MpCiAgICAgICAgIGV4Y2VwdCAoTm9TZWN0aW9uRXJyb3IsIE5vT3B0aW9uRXJyb3IpOgogICAgICAgICAgICAgaWYgZmFsbGJhY2sgaXMgX1VOU0VUOgogICAgICAgICAgICAgICAgIHJhaXNlCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIHJldHVybiBmYWxsYmFjaworICAgICAgICAgICAgcmV0dXJuIGZhbGxiYWNrCisKKyAgICAjIGdldGludCwgZ2V0ZmxvYXQgYW5kIGdldGJvb2xlYW4gcHJvdmlkZWQgZGlyZWN0bHkgZm9yIGJhY2t3YXJkcyBjb21wYXQKKyAgICBkZWYgZ2V0aW50KHNlbGYsIHNlY3Rpb24sIG9wdGlvbiwgKiwgcmF3PUZhbHNlLCB2YXJzPU5vbmUsCisgICAgICAgICAgICAgICBmYWxsYmFjaz1fVU5TRVQsICoqa3dhcmdzKToKKyAgICAgICAgcmV0dXJuIHNlbGYuX2dldF9jb252KHNlY3Rpb24sIG9wdGlvbiwgaW50LCByYXc9cmF3LCB2YXJzPXZhcnMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYWxsYmFjaz1mYWxsYmFjaywgKiprd2FyZ3MpCiAKICAgICBkZWYgZ2V0ZmxvYXQoc2VsZiwgc2VjdGlvbiwgb3B0aW9uLCAqLCByYXc9RmFsc2UsIHZhcnM9Tm9uZSwKLSAgICAgICAgICAgICAgICAgZmFsbGJhY2s9X1VOU0VUKToKLSAgICAgICAgdHJ5OgotICAgICAgICAgICAgcmV0dXJuIHNlbGYuX2dldChzZWN0aW9uLCBmbG9hdCwgb3B0aW9uLCByYXc9cmF3LCB2YXJzPXZhcnMpCi0gICAgICAgIGV4Y2VwdCAoTm9TZWN0aW9uRXJyb3IsIE5vT3B0aW9uRXJyb3IpOgotICAgICAgICAgICAgaWYgZmFsbGJhY2sgaXMgX1VOU0VUOgotICAgICAgICAgICAgICAgIHJhaXNlCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIHJldHVybiBmYWxsYmFjaworICAgICAgICAgICAgICAgICBmYWxsYmFjaz1fVU5TRVQsICoqa3dhcmdzKToKKyAgICAgICAgcmV0dXJuIHNlbGYuX2dldF9jb252KHNlY3Rpb24sIG9wdGlvbiwgZmxvYXQsIHJhdz1yYXcsIHZhcnM9dmFycywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhbGxiYWNrPWZhbGxiYWNrLCAqKmt3YXJncykKIAogICAgIGRlZiBnZXRib29sZWFuKHNlbGYsIHNlY3Rpb24sIG9wdGlvbiwgKiwgcmF3PUZhbHNlLCB2YXJzPU5vbmUsCi0gICAgICAgICAgICAgICAgICAgZmFsbGJhY2s9X1VOU0VUKToKLSAgICAgICAgdHJ5OgotICAgICAgICAgICAgcmV0dXJuIHNlbGYuX2dldChzZWN0aW9uLCBzZWxmLl9jb252ZXJ0X3RvX2Jvb2xlYW4sIG9wdGlvbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmF3PXJhdywgdmFycz12YXJzKQotICAgICAgICBleGNlcHQgKE5vU2VjdGlvbkVycm9yLCBOb09wdGlvbkVycm9yKToKLSAgICAgICAgICAgIGlmIGZhbGxiYWNrIGlzIF9VTlNFVDoKLSAgICAgICAgICAgICAgICByYWlzZQotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICByZXR1cm4gZmFsbGJhY2sKKyAgICAgICAgICAgICAgICAgICBmYWxsYmFjaz1fVU5TRVQsICoqa3dhcmdzKToKKyAgICAgICAgcmV0dXJuIHNlbGYuX2dldF9jb252KHNlY3Rpb24sIG9wdGlvbiwgc2VsZi5fY29udmVydF90b19ib29sZWFuLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmF3PXJhdywgdmFycz12YXJzLCBmYWxsYmFjaz1mYWxsYmFjaywgKiprd2FyZ3MpCiAKICAgICBkZWYgaXRlbXMoc2VsZiwgc2VjdGlvbj1fVU5TRVQsIHJhdz1GYWxzZSwgdmFycz1Ob25lKToKICAgICAgICAgIiIiUmV0dXJuIGEgbGlzdCBvZiAobmFtZSwgdmFsdWUpIHR1cGxlcyBmb3IgZWFjaCBvcHRpb24gaW4gYSBzZWN0aW9uLgpAQCAtODc2LDcgKzg5Niw3IEBACiAgICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICAgc2VjdGRpY3QgPSBzZWxmLl9zZWN0aW9uc1tzZWN0aW9uXQogICAgICAgICAgICAgZXhjZXB0IEtleUVycm9yOgotICAgICAgICAgICAgICAgIHJhaXNlIE5vU2VjdGlvbkVycm9yKHNlY3Rpb24pCisgICAgICAgICAgICAgICAgcmFpc2UgTm9TZWN0aW9uRXJyb3Ioc2VjdGlvbikgZnJvbSBOb25lCiAgICAgICAgIHNlY3RkaWN0W3NlbGYub3B0aW9ueGZvcm0ob3B0aW9uKV0gPSB2YWx1ZQogCiAgICAgZGVmIHdyaXRlKHNlbGYsIGZwLCBzcGFjZV9hcm91bmRfZGVsaW1pdGVycz1UcnVlKToKQEAgLTkxNyw3ICs5MzcsNyBAQAogICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgIHNlY3RkaWN0ID0gc2VsZi5fc2VjdGlvbnNbc2VjdGlvbl0KICAgICAgICAgICAgIGV4Y2VwdCBLZXlFcnJvcjoKLSAgICAgICAgICAgICAgICByYWlzZSBOb1NlY3Rpb25FcnJvcihzZWN0aW9uKQorICAgICAgICAgICAgICAgIHJhaXNlIE5vU2VjdGlvbkVycm9yKHNlY3Rpb24pIGZyb20gTm9uZQogICAgICAgICBvcHRpb24gPSBzZWxmLm9wdGlvbnhmb3JtKG9wdGlvbikKICAgICAgICAgZXhpc3RlZCA9IG9wdGlvbiBpbiBzZWN0ZGljdAogICAgICAgICBpZiBleGlzdGVkOgpAQCAtMTE1NCw2ICsxMTc0LDEwIEBACiAgICAgICAgICAgICBpZiBub3QgaXNpbnN0YW5jZSh2YWx1ZSwgc3RyKToKICAgICAgICAgICAgICAgICByYWlzZSBUeXBlRXJyb3IoIm9wdGlvbiB2YWx1ZXMgbXVzdCBiZSBzdHJpbmdzIikKIAorICAgIEBwcm9wZXJ0eQorICAgIGRlZiBjb252ZXJ0ZXJzKHNlbGYpOgorICAgICAgICByZXR1cm4gc2VsZi5fY29udmVydGVycworCiAKIGNsYXNzIENvbmZpZ1BhcnNlcihSYXdDb25maWdQYXJzZXIpOgogICAgICIiIkNvbmZpZ1BhcnNlciBpbXBsZW1lbnRpbmcgaW50ZXJwb2xhdGlvbi4iIiIKQEAgLTExOTQsNiArMTIxOCwxMCBAQAogICAgICAgICAiIiJDcmVhdGVzIGEgdmlldyBvbiBhIHNlY3Rpb24gb2YgdGhlIHNwZWNpZmllZCBgbmFtZWAgaW4gYHBhcnNlcmAuIiIiCiAgICAgICAgIHNlbGYuX3BhcnNlciA9IHBhcnNlcgogICAgICAgICBzZWxmLl9uYW1lID0gbmFtZQorICAgICAgICBmb3IgY29udiBpbiBwYXJzZXIuY29udmVydGVyczoKKyAgICAgICAgICAgIGtleSA9ICdnZXQnICsgY29udgorICAgICAgICAgICAgZ2V0dGVyID0gZnVuY3Rvb2xzLnBhcnRpYWwoc2VsZi5nZXQsIF9pbXBsPWdldGF0dHIocGFyc2VyLCBrZXkpKQorICAgICAgICAgICAgc2V0YXR0cihzZWxmLCBrZXksIGdldHRlcikKIAogICAgIGRlZiBfX3JlcHJfXyhzZWxmKToKICAgICAgICAgcmV0dXJuICc8U2VjdGlvbjoge30+Jy5mb3JtYXQoc2VsZi5fbmFtZSkKQEAgLTEyMjcsMjIgKzEyNTUsNiBAQAogICAgICAgICBlbHNlOgogICAgICAgICAgICAgcmV0dXJuIHNlbGYuX3BhcnNlci5kZWZhdWx0cygpCiAKLSAgICBkZWYgZ2V0KHNlbGYsIG9wdGlvbiwgZmFsbGJhY2s9Tm9uZSwgKiwgcmF3PUZhbHNlLCB2YXJzPU5vbmUpOgotICAgICAgICByZXR1cm4gc2VsZi5fcGFyc2VyLmdldChzZWxmLl9uYW1lLCBvcHRpb24sIHJhdz1yYXcsIHZhcnM9dmFycywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFsbGJhY2s9ZmFsbGJhY2spCi0KLSAgICBkZWYgZ2V0aW50KHNlbGYsIG9wdGlvbiwgZmFsbGJhY2s9Tm9uZSwgKiwgcmF3PUZhbHNlLCB2YXJzPU5vbmUpOgotICAgICAgICByZXR1cm4gc2VsZi5fcGFyc2VyLmdldGludChzZWxmLl9uYW1lLCBvcHRpb24sIHJhdz1yYXcsIHZhcnM9dmFycywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFsbGJhY2s9ZmFsbGJhY2spCi0KLSAgICBkZWYgZ2V0ZmxvYXQoc2VsZiwgb3B0aW9uLCBmYWxsYmFjaz1Ob25lLCAqLCByYXc9RmFsc2UsIHZhcnM9Tm9uZSk6Ci0gICAgICAgIHJldHVybiBzZWxmLl9wYXJzZXIuZ2V0ZmxvYXQoc2VsZi5fbmFtZSwgb3B0aW9uLCByYXc9cmF3LCB2YXJzPXZhcnMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFsbGJhY2s9ZmFsbGJhY2spCi0KLSAgICBkZWYgZ2V0Ym9vbGVhbihzZWxmLCBvcHRpb24sIGZhbGxiYWNrPU5vbmUsICosIHJhdz1GYWxzZSwgdmFycz1Ob25lKToKLSAgICAgICAgcmV0dXJuIHNlbGYuX3BhcnNlci5nZXRib29sZWFuKHNlbGYuX25hbWUsIG9wdGlvbiwgcmF3PXJhdywgdmFycz12YXJzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFsbGJhY2s9ZmFsbGJhY2spCi0KICAgICBAcHJvcGVydHkKICAgICBkZWYgcGFyc2VyKHNlbGYpOgogICAgICAgICAjIFRoZSBwYXJzZXIgb2JqZWN0IG9mIHRoZSBwcm94eSBpcyByZWFkLW9ubHkuCkBAIC0xMjUyLDMgKzEyNjQsNzcgQEAKICAgICBkZWYgbmFtZShzZWxmKToKICAgICAgICAgIyBUaGUgbmFtZSBvZiB0aGUgc2VjdGlvbiBvbiBhIHByb3h5IGlzIHJlYWQtb25seS4KICAgICAgICAgcmV0dXJuIHNlbGYuX25hbWUKKworICAgIGRlZiBnZXQoc2VsZiwgb3B0aW9uLCBmYWxsYmFjaz1Ob25lLCAqLCByYXc9RmFsc2UsIHZhcnM9Tm9uZSwKKyAgICAgICAgICAgIF9pbXBsPU5vbmUsICoqa3dhcmdzKToKKyAgICAgICAgIiIiR2V0IGFuIG9wdGlvbiB2YWx1ZS4KKworICAgICAgICBVbmxlc3MgYGZhbGxiYWNrYCBpcyBwcm92aWRlZCwgYE5vbmVgIHdpbGwgYmUgcmV0dXJuZWQgaWYgdGhlIG9wdGlvbgorICAgICAgICBpcyBub3QgZm91bmQuCisKKyAgICAgICAgIiIiCisgICAgICAgICMgSWYgYF9pbXBsYCBpcyBwcm92aWRlZCwgaXQgc2hvdWxkIGJlIGEgZ2V0dGVyIG1ldGhvZCBvbiB0aGUgcGFyc2VyCisgICAgICAgICMgb2JqZWN0IHRoYXQgcHJvdmlkZXMgdGhlIGRlc2lyZWQgdHlwZSBjb252ZXJzaW9uLgorICAgICAgICBpZiBub3QgX2ltcGw6CisgICAgICAgICAgICBfaW1wbCA9IHNlbGYuX3BhcnNlci5nZXQKKyAgICAgICAgcmV0dXJuIF9pbXBsKHNlbGYuX25hbWUsIG9wdGlvbiwgcmF3PXJhdywgdmFycz12YXJzLAorICAgICAgICAgICAgICAgICAgICAgZmFsbGJhY2s9ZmFsbGJhY2ssICoqa3dhcmdzKQorCisKK2NsYXNzIENvbnZlcnRlck1hcHBpbmcoTXV0YWJsZU1hcHBpbmcpOgorICAgICIiIkVuYWJsZXMgcmV1c2Ugb2YgZ2V0KigpIG1ldGhvZHMgYmV0d2VlbiB0aGUgcGFyc2VyIGFuZCBzZWN0aW9uIHByb3hpZXMuCisKKyAgICBJZiBhIHBhcnNlciBjbGFzcyBpbXBsZW1lbnRzIGEgZ2V0dGVyIGRpcmVjdGx5LCB0aGUgdmFsdWUgZm9yIHRoZSBnaXZlbgorICAgIGtleSB3aWxsIGJlIGBgTm9uZWBgLiBUaGUgcHJlc2VuY2Ugb2YgdGhlIGNvbnZlcnRlciBuYW1lIGhlcmUgZW5hYmxlcworICAgIHNlY3Rpb24gcHJveGllcyB0byBmaW5kIGFuZCB1c2UgdGhlIGltcGxlbWVudGF0aW9uIG9uIHRoZSBwYXJzZXIgY2xhc3MuCisgICAgIiIiCisKKyAgICBHRVRURVJDUkUgPSByZS5jb21waWxlKHIiXmdldCg/UDxuYW1lPi4rKSQiKQorCisgICAgZGVmIF9faW5pdF9fKHNlbGYsIHBhcnNlcik6CisgICAgICAgIHNlbGYuX3BhcnNlciA9IHBhcnNlcgorICAgICAgICBzZWxmLl9kYXRhID0ge30KKyAgICAgICAgZm9yIGdldHRlciBpbiBkaXIoc2VsZi5fcGFyc2VyKToKKyAgICAgICAgICAgIG0gPSBzZWxmLkdFVFRFUkNSRS5tYXRjaChnZXR0ZXIpCisgICAgICAgICAgICBpZiBub3QgbSBvciBub3QgY2FsbGFibGUoZ2V0YXR0cihzZWxmLl9wYXJzZXIsIGdldHRlcikpOgorICAgICAgICAgICAgICAgIGNvbnRpbnVlCisgICAgICAgICAgICBzZWxmLl9kYXRhW20uZ3JvdXAoJ25hbWUnKV0gPSBOb25lICAgIyBTZWUgY2xhc3MgZG9jc3RyaW5nLgorCisgICAgZGVmIF9fZ2V0aXRlbV9fKHNlbGYsIGtleSk6CisgICAgICAgIHJldHVybiBzZWxmLl9kYXRhW2tleV0KKworICAgIGRlZiBfX3NldGl0ZW1fXyhzZWxmLCBrZXksIHZhbHVlKToKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgayA9ICdnZXQnICsga2V5CisgICAgICAgIGV4Y2VwdCBUeXBlRXJyb3I6CisgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCdJbmNvbXBhdGlibGUga2V5OiB7fSAodHlwZToge30pJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnJy5mb3JtYXQoa2V5LCB0eXBlKGtleSkpKQorICAgICAgICBpZiBrID09ICdnZXQnOgorICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcignSW5jb21wYXRpYmxlIGtleTogY2Fubm90IHVzZSAiIiBhcyBhIG5hbWUnKQorICAgICAgICBzZWxmLl9kYXRhW2tleV0gPSB2YWx1ZQorICAgICAgICBmdW5jID0gZnVuY3Rvb2xzLnBhcnRpYWwoc2VsZi5fcGFyc2VyLl9nZXRfY29udiwgY29udj12YWx1ZSkKKyAgICAgICAgZnVuYy5jb252ZXJ0ZXIgPSB2YWx1ZQorICAgICAgICBzZXRhdHRyKHNlbGYuX3BhcnNlciwgaywgZnVuYykKKyAgICAgICAgZm9yIHByb3h5IGluIHNlbGYuX3BhcnNlci52YWx1ZXMoKToKKyAgICAgICAgICAgIGdldHRlciA9IGZ1bmN0b29scy5wYXJ0aWFsKHByb3h5LmdldCwgX2ltcGw9ZnVuYykKKyAgICAgICAgICAgIHNldGF0dHIocHJveHksIGssIGdldHRlcikKKworICAgIGRlZiBfX2RlbGl0ZW1fXyhzZWxmLCBrZXkpOgorICAgICAgICB0cnk6CisgICAgICAgICAgICBrID0gJ2dldCcgKyAoa2V5IG9yIE5vbmUpCisgICAgICAgIGV4Y2VwdCBUeXBlRXJyb3I6CisgICAgICAgICAgICByYWlzZSBLZXlFcnJvcihrZXkpCisgICAgICAgIGRlbCBzZWxmLl9kYXRhW2tleV0KKyAgICAgICAgZm9yIGluc3QgaW4gaXRlcnRvb2xzLmNoYWluKChzZWxmLl9wYXJzZXIsKSwgc2VsZi5fcGFyc2VyLnZhbHVlcygpKToKKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICBkZWxhdHRyKGluc3QsIGspCisgICAgICAgICAgICBleGNlcHQgQXR0cmlidXRlRXJyb3I6CisgICAgICAgICAgICAgICAgIyBkb24ndCByYWlzZSBzaW5jZSB0aGUgZW50cnkgd2FzIHByZXNlbnQgaW4gX2RhdGEsIHNpbGVudGx5CisgICAgICAgICAgICAgICAgIyBjbGVhbiB1cAorICAgICAgICAgICAgICAgIGNvbnRpbnVlCisKKyAgICBkZWYgX19pdGVyX18oc2VsZik6CisgICAgICAgIHJldHVybiBpdGVyKHNlbGYuX2RhdGEpCisKKyAgICBkZWYgX19sZW5fXyhzZWxmKToKKyAgICAgICAgcmV0dXJuIGxlbihzZWxmLl9kYXRhKQpkaWZmIC0tZ2l0IGEvTGliL2NvbnRleHRsaWIucHkgYi9MaWIvY29udGV4dGxpYi5weQppbmRleCA4MmVlOTU1Li4yZmJjOTBjIDEwMDY0NAotLS0gYS9MaWIvY29udGV4dGxpYi5weQorKysgYi9MaWIvY29udGV4dGxpYi5weQpAQCAtNSw3ICs1LDcgQEAKIGZyb20gZnVuY3Rvb2xzIGltcG9ydCB3cmFwcwogCiBfX2FsbF9fID0gWyJjb250ZXh0bWFuYWdlciIsICJjbG9zaW5nIiwgIkNvbnRleHREZWNvcmF0b3IiLCAiRXhpdFN0YWNrIiwKLSAgICAgICAgICAgInJlZGlyZWN0X3N0ZG91dCIsICJzdXBwcmVzcyJdCisgICAgICAgICAgICJyZWRpcmVjdF9zdGRvdXQiLCAicmVkaXJlY3Rfc3RkZXJyIiwgInN1cHByZXNzIl0KIAogCiBjbGFzcyBDb250ZXh0RGVjb3JhdG9yKG9iamVjdCk6CkBAIC0xNTEsOCArMTUxLDI3IEBACiAgICAgZGVmIF9fZXhpdF9fKHNlbGYsICpleGNfaW5mbyk6CiAgICAgICAgIHNlbGYudGhpbmcuY2xvc2UoKQogCi1jbGFzcyByZWRpcmVjdF9zdGRvdXQ6Ci0gICAgIiIiQ29udGV4dCBtYW5hZ2VyIGZvciB0ZW1wb3JhcmlseSByZWRpcmVjdGluZyBzdGRvdXQgdG8gYW5vdGhlciBmaWxlCisKK2NsYXNzIF9SZWRpcmVjdFN0cmVhbToKKworICAgIF9zdHJlYW0gPSBOb25lCisKKyAgICBkZWYgX19pbml0X18oc2VsZiwgbmV3X3RhcmdldCk6CisgICAgICAgIHNlbGYuX25ld190YXJnZXQgPSBuZXdfdGFyZ2V0CisgICAgICAgICMgV2UgdXNlIGEgbGlzdCBvZiBvbGQgdGFyZ2V0cyB0byBtYWtlIHRoaXMgQ00gcmUtZW50cmFudAorICAgICAgICBzZWxmLl9vbGRfdGFyZ2V0cyA9IFtdCisKKyAgICBkZWYgX19lbnRlcl9fKHNlbGYpOgorICAgICAgICBzZWxmLl9vbGRfdGFyZ2V0cy5hcHBlbmQoZ2V0YXR0cihzeXMsIHNlbGYuX3N0cmVhbSkpCisgICAgICAgIHNldGF0dHIoc3lzLCBzZWxmLl9zdHJlYW0sIHNlbGYuX25ld190YXJnZXQpCisgICAgICAgIHJldHVybiBzZWxmLl9uZXdfdGFyZ2V0CisKKyAgICBkZWYgX19leGl0X18oc2VsZiwgZXhjdHlwZSwgZXhjaW5zdCwgZXhjdGIpOgorICAgICAgICBzZXRhdHRyKHN5cywgc2VsZi5fc3RyZWFtLCBzZWxmLl9vbGRfdGFyZ2V0cy5wb3AoKSkKKworCitjbGFzcyByZWRpcmVjdF9zdGRvdXQoX1JlZGlyZWN0U3RyZWFtKToKKyAgICAiIiJDb250ZXh0IG1hbmFnZXIgZm9yIHRlbXBvcmFyaWx5IHJlZGlyZWN0aW5nIHN0ZG91dCB0byBhbm90aGVyIGZpbGUuCiAKICAgICAgICAgIyBIb3cgdG8gc2VuZCBoZWxwKCkgdG8gc3RkZXJyCiAgICAgICAgIHdpdGggcmVkaXJlY3Rfc3Rkb3V0KHN5cy5zdGRlcnIpOgpAQCAtMTY0LDE4ICsxODMsMTMgQEAKICAgICAgICAgICAgICAgICBoZWxwKHBvdykKICAgICAiIiIKIAotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBuZXdfdGFyZ2V0KToKLSAgICAgICAgc2VsZi5fbmV3X3RhcmdldCA9IG5ld190YXJnZXQKLSAgICAgICAgIyBXZSB1c2UgYSBsaXN0IG9mIG9sZCB0YXJnZXRzIHRvIG1ha2UgdGhpcyBDTSByZS1lbnRyYW50Ci0gICAgICAgIHNlbGYuX29sZF90YXJnZXRzID0gW10KKyAgICBfc3RyZWFtID0gInN0ZG91dCIKIAotICAgIGRlZiBfX2VudGVyX18oc2VsZik6Ci0gICAgICAgIHNlbGYuX29sZF90YXJnZXRzLmFwcGVuZChzeXMuc3Rkb3V0KQotICAgICAgICBzeXMuc3Rkb3V0ID0gc2VsZi5fbmV3X3RhcmdldAotICAgICAgICByZXR1cm4gc2VsZi5fbmV3X3RhcmdldAogCi0gICAgZGVmIF9fZXhpdF9fKHNlbGYsIGV4Y3R5cGUsIGV4Y2luc3QsIGV4Y3RiKToKLSAgICAgICAgc3lzLnN0ZG91dCA9IHNlbGYuX29sZF90YXJnZXRzLnBvcCgpCitjbGFzcyByZWRpcmVjdF9zdGRlcnIoX1JlZGlyZWN0U3RyZWFtKToKKyAgICAiIiJDb250ZXh0IG1hbmFnZXIgZm9yIHRlbXBvcmFyaWx5IHJlZGlyZWN0aW5nIHN0ZGVyciB0byBhbm90aGVyIGZpbGUuIiIiCisKKyAgICBfc3RyZWFtID0gInN0ZGVyciIKIAogCiBjbGFzcyBzdXBwcmVzczoKZGlmZiAtLWdpdCBhL0xpYi9jb3B5LnB5IGIvTGliL2NvcHkucHkKaW5kZXggYmI4ODQwZS4uMzgzNjA5YiAxMDA2NDQKLS0tIGEvTGliL2NvcHkucHkKKysrIGIvTGliL2NvcHkucHkKQEAgLTIyMSwxNyArMjIxLDE1IEBACiBkW2xpc3RdID0gX2RlZXBjb3B5X2xpc3QKIAogZGVmIF9kZWVwY29weV90dXBsZSh4LCBtZW1vKToKLSAgICB5ID0gW10KLSAgICBmb3IgYSBpbiB4OgotICAgICAgICB5LmFwcGVuZChkZWVwY29weShhLCBtZW1vKSkKKyAgICB5ID0gW2RlZXBjb3B5KGEsIG1lbW8pIGZvciBhIGluIHhdCiAgICAgIyBXZSdyZSBub3QgZ29pbmcgdG8gcHV0IHRoZSB0dXBsZSBpbiB0aGUgbWVtbywgYnV0IGl0J3Mgc3RpbGwgaW1wb3J0YW50IHdlCiAgICAgIyBjaGVjayBmb3IgaXQsIGluIGNhc2UgdGhlIHR1cGxlIGNvbnRhaW5zIHJlY3Vyc2l2ZSBtdXRhYmxlIHN0cnVjdHVyZXMuCiAgICAgdHJ5OgogICAgICAgICByZXR1cm4gbWVtb1tpZCh4KV0KICAgICBleGNlcHQgS2V5RXJyb3I6CiAgICAgICAgIHBhc3MKLSAgICBmb3IgaSBpbiByYW5nZShsZW4oeCkpOgotICAgICAgICBpZiB4W2ldIGlzIG5vdCB5W2ldOgorICAgIGZvciBrLCBqIGluIHppcCh4LCB5KToKKyAgICAgICAgaWYgayBpcyBub3QgajoKICAgICAgICAgICAgIHkgPSB0dXBsZSh5KQogICAgICAgICAgICAgYnJlYWsKICAgICBlbHNlOgpkaWZmIC0tZ2l0IGEvTGliL2N0eXBlcy9fX2luaXRfXy5weSBiL0xpYi9jdHlwZXMvX19pbml0X18ucHkKaW5kZXggNWM4MDNmZi4uMDU1Mjk0YyAxMDA2NDQKLS0tIGEvTGliL2N0eXBlcy9fX2luaXRfXy5weQorKysgYi9MaWIvY3R5cGVzL19faW5pdF9fLnB5CkBAIC0zNTMsNyArMzUzLDcgQEAKICAgICAgICAgICAgIHNlbGYuX2hhbmRsZSA9IGhhbmRsZQogCiAgICAgZGVmIF9fcmVwcl9fKHNlbGYpOgotICAgICAgICByZXR1cm4gIjwlcyAnJXMnLCBoYW5kbGUgJXggYXQgJXg+IiAlIFwKKyAgICAgICAgcmV0dXJuICI8JXMgJyVzJywgaGFuZGxlICV4IGF0ICUjeD4iICUgXAogICAgICAgICAgICAgICAgKHNlbGYuX19jbGFzc19fLl9fbmFtZV9fLCBzZWxmLl9uYW1lLAogICAgICAgICAgICAgICAgIChzZWxmLl9oYW5kbGUgJiAoX3N5cy5tYXhzaXplKjIgKyAxKSksCiAgICAgICAgICAgICAgICAgaWQoc2VsZikgJiAoX3N5cy5tYXhzaXplKjIgKyAxKSkKZGlmZiAtLWdpdCBhL0xpYi9jdHlwZXMvX2VuZGlhbi5weSBiL0xpYi9jdHlwZXMvX2VuZGlhbi5weQppbmRleCBkYWU2NWZjLi4zNzQ0NGJkIDEwMDY0NAotLS0gYS9MaWIvY3R5cGVzL19lbmRpYW4ucHkKKysrIGIvTGliL2N0eXBlcy9fZW5kaWFuLnB5CkBAIC00NSw2ICs0NSw3IEBACiAKICAgICBjbGFzcyBCaWdFbmRpYW5TdHJ1Y3R1cmUoU3RydWN0dXJlLCBtZXRhY2xhc3M9X3N3YXBwZWRfbWV0YSk6CiAgICAgICAgICIiIlN0cnVjdHVyZSB3aXRoIGJpZyBlbmRpYW4gYnl0ZSBvcmRlciIiIgorICAgICAgICBfX3Nsb3RzX18gPSAoKQogICAgICAgICBfc3dhcHBlZGJ5dGVzXyA9IE5vbmUKIAogZWxpZiBzeXMuYnl0ZW9yZGVyID09ICJiaWciOgpAQCAtNTMsNiArNTQsNyBAQAogICAgIEJpZ0VuZGlhblN0cnVjdHVyZSA9IFN0cnVjdHVyZQogICAgIGNsYXNzIExpdHRsZUVuZGlhblN0cnVjdHVyZShTdHJ1Y3R1cmUsIG1ldGFjbGFzcz1fc3dhcHBlZF9tZXRhKToKICAgICAgICAgIiIiU3RydWN0dXJlIHdpdGggbGl0dGxlIGVuZGlhbiBieXRlIG9yZGVyIiIiCisgICAgICAgIF9fc2xvdHNfXyA9ICgpCiAgICAgICAgIF9zd2FwcGVkYnl0ZXNfID0gTm9uZQogCiBlbHNlOgpkaWZmIC0tZ2l0IGEvTGliL2N0eXBlcy90ZXN0L3Rlc3RfYnl0ZXN3YXAucHkgYi9MaWIvY3R5cGVzL3Rlc3QvdGVzdF9ieXRlc3dhcC5weQppbmRleCA0MjdiYjhiLi4wMWM5N2U4IDEwMDY0NAotLS0gYS9MaWIvY3R5cGVzL3Rlc3QvdGVzdF9ieXRlc3dhcC5weQorKysgYi9MaWIvY3R5cGVzL3Rlc3QvdGVzdF9ieXRlc3dhcC5weQpAQCAtMjIsNiArMjIsMjYgQEAKICAgICAgICAgICAgIHNldGF0dHIoYml0cywgImklcyIgJSBpLCAxKQogICAgICAgICAgICAgZHVtcChiaXRzKQogCisgICAgZGVmIHRlc3Rfc2xvdHMoc2VsZik6CisgICAgICAgIGNsYXNzIEJpZ1BvaW50KEJpZ0VuZGlhblN0cnVjdHVyZSk6CisgICAgICAgICAgICBfX3Nsb3RzX18gPSAoKQorICAgICAgICAgICAgX2ZpZWxkc18gPSBbKCJ4IiwgY19pbnQpLCAoInkiLCBjX2ludCldCisKKyAgICAgICAgY2xhc3MgTG93UG9pbnQoTGl0dGxlRW5kaWFuU3RydWN0dXJlKToKKyAgICAgICAgICAgIF9fc2xvdHNfXyA9ICgpCisgICAgICAgICAgICBfZmllbGRzXyA9IFsoIngiLCBjX2ludCksICgieSIsIGNfaW50KV0KKworICAgICAgICBiaWcgPSBCaWdQb2ludCgpCisgICAgICAgIGxpdHRsZSA9IExvd1BvaW50KCkKKyAgICAgICAgYmlnLnggPSA0CisgICAgICAgIGJpZy55ID0gMgorICAgICAgICBsaXR0bGUueCA9IDIKKyAgICAgICAgbGl0dGxlLnkgPSA0CisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoQXR0cmlidXRlRXJyb3IpOgorICAgICAgICAgICAgYmlnLnogPSA0MgorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKEF0dHJpYnV0ZUVycm9yKToKKyAgICAgICAgICAgIGxpdHRsZS56ID0gMjQKKwogICAgIGRlZiB0ZXN0X2VuZGlhbl9zaG9ydChzZWxmKToKICAgICAgICAgaWYgc3lzLmJ5dGVvcmRlciA9PSAibGl0dGxlIjoKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXMoY19zaG9ydC5fX2N0eXBlX2xlX18sIGNfc2hvcnQpCmRpZmYgLS1naXQgYS9MaWIvY3R5cGVzL3Rlc3QvdGVzdF9wb2ludGVycy5weSBiL0xpYi9jdHlwZXMvdGVzdC90ZXN0X3BvaW50ZXJzLnB5CmluZGV4IDRjZDNhN2EuLjc4ZTMzNTcgMTAwNjQ0Ci0tLSBhL0xpYi9jdHlwZXMvdGVzdC90ZXN0X3BvaW50ZXJzLnB5CisrKyBiL0xpYi9jdHlwZXMvdGVzdC90ZXN0X3BvaW50ZXJzLnB5CkBAIC0yNCw3ICsyNCwxMCBAQAogICAgIGRlZiB0ZXN0X3Bhc3NfcG9pbnRlcnMoc2VsZik6CiAgICAgICAgIGRsbCA9IENETEwoX2N0eXBlc190ZXN0Ll9fZmlsZV9fKQogICAgICAgICBmdW5jID0gZGxsLl90ZXN0ZnVuY19wX3AKLSAgICAgICAgZnVuYy5yZXN0eXBlID0gY19sb25nCisgICAgICAgIGlmIHNpemVvZihjX2xvbmdsb25nKSA9PSBzaXplb2YoY192b2lkX3ApOgorICAgICAgICAgICAgZnVuYy5yZXN0eXBlID0gY19sb25nbG9uZworICAgICAgICBlbHNlOgorICAgICAgICAgICAgZnVuYy5yZXN0eXBlID0gY19sb25nCiAKICAgICAgICAgaSA9IGNfaW50KDEyMzQ1Njc4KQogIyMgICAgICAgIGZ1bmMuYXJndHlwZXMgPSAoUE9JTlRFUihjX2ludCksKQpkaWZmIC0tZ2l0IGEvTGliL2N0eXBlcy90ZXN0L3Rlc3RfcHJvdG90eXBlcy5weSBiL0xpYi9jdHlwZXMvdGVzdC90ZXN0X3Byb3RvdHlwZXMucHkKaW5kZXggODE4YzExMS4uY2QwYzY0OSAxMDA2NDQKLS0tIGEvTGliL2N0eXBlcy90ZXN0L3Rlc3RfcHJvdG90eXBlcy5weQorKysgYi9MaWIvY3R5cGVzL3Rlc3QvdGVzdF9wcm90b3R5cGVzLnB5CkBAIC02OSw3ICs2OSwxMCBAQAogCiAgICAgZGVmIHRlc3RfaW50X3BvaW50ZXJfYXJnKHNlbGYpOgogICAgICAgICBmdW5jID0gdGVzdGRsbC5fdGVzdGZ1bmNfcF9wCi0gICAgICAgIGZ1bmMucmVzdHlwZSA9IGNfbG9uZworICAgICAgICBpZiBzaXplb2YoY19sb25nbG9uZykgPT0gc2l6ZW9mKGNfdm9pZF9wKToKKyAgICAgICAgICAgIGZ1bmMucmVzdHlwZSA9IGNfbG9uZ2xvbmcKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGZ1bmMucmVzdHlwZSA9IGNfbG9uZwogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKDAsIGZ1bmMoMCkpCiAKICAgICAgICAgY2kgPSBjX2ludCgwKQpkaWZmIC0tZ2l0IGEvTGliL2N0eXBlcy91dGlsLnB5IGIvTGliL2N0eXBlcy91dGlsLnB5CmluZGV4IDU5NTExM2IuLjljMTk4OTkgMTAwNjQ0Ci0tLSBhL0xpYi9jdHlwZXMvdXRpbC5weQorKysgYi9MaWIvY3R5cGVzL3V0aWwucHkKQEAgLTE5LDYgKzE5LDggQEAKICAgICAgICAgaSA9IGkgKyBsZW4ocHJlZml4KQogICAgICAgICBzLCByZXN0ID0gc3lzLnZlcnNpb25baTpdLnNwbGl0KCIgIiwgMSkKICAgICAgICAgbWFqb3JWZXJzaW9uID0gaW50KHNbOi0yXSkgLSA2CisgICAgICAgIGlmIG1ham9yVmVyc2lvbiA+PSAxMzoKKyAgICAgICAgICAgIG1ham9yVmVyc2lvbiArPSAxCiAgICAgICAgIG1pbm9yVmVyc2lvbiA9IGludChzWzI6M10pIC8gMTAuMAogICAgICAgICAjIEkgZG9uJ3QgdGhpbmsgcGF0aHMgYXJlIGFmZmVjdGVkIGJ5IG1pbm9yIHZlcnNpb24gaW4gdmVyc2lvbiA2CiAgICAgICAgIGlmIG1ham9yVmVyc2lvbiA9PSA2OgpAQCAtMzYsOCArMzgsMTAgQEAKICAgICAgICAgICAgIHJldHVybiBOb25lCiAgICAgICAgIGlmIHZlcnNpb24gPD0gNjoKICAgICAgICAgICAgIGNsaWJuYW1lID0gJ21zdmNydCcKLSAgICAgICAgZWxzZToKKyAgICAgICAgZWxpZiB2ZXJzaW9uIDw9IDEzOgogICAgICAgICAgICAgY2xpYm5hbWUgPSAnbXN2Y3IlZCcgJSAodmVyc2lvbiAqIDEwKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgY2xpYm5hbWUgPSAnYXBwY3J0JWQnICUgKHZlcnNpb24gKiAxMCkKIAogICAgICAgICAjIElmIHB5dGhvbiB3YXMgYnVpbHQgd2l0aCBpbiBkZWJ1ZyBtb2RlCiAgICAgICAgIGltcG9ydCBpbXBvcnRsaWIubWFjaGluZXJ5CmRpZmYgLS1naXQgYS9MaWIvZGF0ZXRpbWUucHkgYi9MaWIvZGF0ZXRpbWUucHkKaW5kZXggMTc4OTcxNC4uNGFmZTlhNSAxMDA2NDQKLS0tIGEvTGliL2RhdGV0aW1lLnB5CisrKyBiL0xpYi9kYXRldGltZS5weQpAQCAtMTIsNyArMTIsNyBAQAogCiBNSU5ZRUFSID0gMQogTUFYWUVBUiA9IDk5OTkKLV9NQVhPUkRJTkFMID0gMzY1MjA1OSAjIGRhdGUubWF4LnRvb3JkaW5hbCgpCitfTUFYT1JESU5BTCA9IDM2NTIwNTkgICMgZGF0ZS5tYXgudG9vcmRpbmFsKCkKIAogIyBVdGlsaXR5IGZ1bmN0aW9ucywgYWRhcHRlZCBmcm9tIFB5dGhvbidzIERlbW8vY2xhc3Nlcy9EYXRlcy5weSwgd2hpY2gKICMgYWxzbyBhc3N1bWVzIHRoZSBjdXJyZW50IEdyZWdvcmlhbiBjYWxlbmRhciBpbmRlZmluaXRlbHkgZXh0ZW5kZWQgaW4KQEAgLTI2LDcgKzI2LDcgQEAKICMgLTEgaXMgYSBwbGFjZWhvbGRlciBmb3IgaW5kZXhpbmcgcHVycG9zZXMuCiBfREFZU19JTl9NT05USCA9IFstMSwgMzEsIDI4LCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMxLCAzMCwgMzEsIDMwLCAzMV0KIAotX0RBWVNfQkVGT1JFX01PTlRIID0gWy0xXSAjIC0xIGlzIGEgcGxhY2Vob2xkZXIgZm9yIGluZGV4aW5nIHB1cnBvc2VzLgorX0RBWVNfQkVGT1JFX01PTlRIID0gWy0xXSAgIyAtMSBpcyBhIHBsYWNlaG9sZGVyIGZvciBpbmRleGluZyBwdXJwb3Nlcy4KIGRibSA9IDAKIGZvciBkaW0gaW4gX0RBWVNfSU5fTU9OVEhbMTpdOgogICAgIF9EQVlTX0JFRk9SRV9NT05USC5hcHBlbmQoZGJtKQpAQCAtMTYyLDkgKzE2Miw5IEBACiAjIENvcnJlY3RseSBzdWJzdGl0dXRlIGZvciAleiBhbmQgJVogZXNjYXBlcyBpbiBzdHJmdGltZSBmb3JtYXRzLgogZGVmIF93cmFwX3N0cmZ0aW1lKG9iamVjdCwgZm9ybWF0LCB0aW1ldHVwbGUpOgogICAgICMgRG9uJ3QgY2FsbCB1dGNvZmZzZXQoKSBvciB0em5hbWUoKSB1bmxlc3MgYWN0dWFsbHkgbmVlZGVkLgotICAgIGZyZXBsYWNlID0gTm9uZSAjIHRoZSBzdHJpbmcgdG8gdXNlIGZvciAlZgotICAgIHpyZXBsYWNlID0gTm9uZSAjIHRoZSBzdHJpbmcgdG8gdXNlIGZvciAlegotICAgIFpyZXBsYWNlID0gTm9uZSAjIHRoZSBzdHJpbmcgdG8gdXNlIGZvciAlWgorICAgIGZyZXBsYWNlID0gTm9uZSAgIyB0aGUgc3RyaW5nIHRvIHVzZSBmb3IgJWYKKyAgICB6cmVwbGFjZSA9IE5vbmUgICMgdGhlIHN0cmluZyB0byB1c2UgZm9yICV6CisgICAgWnJlcGxhY2UgPSBOb25lICAjIHRoZSBzdHJpbmcgdG8gdXNlIGZvciAlWgogCiAgICAgIyBTY2FuIGZvcm1hdCBmb3IgJXogYW5kICVaIGVzY2FwZXMsIHJlcGxhY2luZyBhcyBuZWVkZWQuCiAgICAgbmV3Zm9ybWF0ID0gW10KQEAgLTIxNywxMSArMjE3LDYgQEAKICAgICBuZXdmb3JtYXQgPSAiIi5qb2luKG5ld2Zvcm1hdCkKICAgICByZXR1cm4gX3RpbWUuc3RyZnRpbWUobmV3Zm9ybWF0LCB0aW1ldHVwbGUpCiAKLWRlZiBfY2FsbF90emluZm9fbWV0aG9kKHR6aW5mbywgbWV0aG5hbWUsIHR6aW5mb2FyZyk6Ci0gICAgaWYgdHppbmZvIGlzIE5vbmU6Ci0gICAgICAgIHJldHVybiBOb25lCi0gICAgcmV0dXJuIGdldGF0dHIodHppbmZvLCBtZXRobmFtZSkodHppbmZvYXJnKQotCiAjIEp1c3QgcmFpc2UgVHlwZUVycm9yIGlmIHRoZSBhcmcgaXNuJ3QgTm9uZSBvciBhIHN0cmluZy4KIGRlZiBfY2hlY2tfdHpuYW1lKG5hbWUpOgogICAgIGlmIG5hbWUgaXMgbm90IE5vbmUgYW5kIG5vdCBpc2luc3RhbmNlKG5hbWUsIHN0cik6CkBAIC0yNDUsMTMgKzI0MCwzMSBAQAogICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJ0emluZm8uJXMoKSBtdXN0IHJldHVybiBhIHdob2xlIG51bWJlciAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIm9mIG1pbnV0ZXMsIGdvdCAlcyIgJSAobmFtZSwgb2Zmc2V0KSkKICAgICBpZiBub3QgLXRpbWVkZWx0YSgxKSA8IG9mZnNldCA8IHRpbWVkZWx0YSgxKToKLSAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigiJXMoKT0lcywgbXVzdCBiZSBtdXN0IGJlIHN0cmljdGx5IGJldHdlZW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgIiAtdGltZWRlbHRhKGhvdXJzPTI0KSBhbmQgdGltZWRlbHRhKGhvdXJzPTI0KSIKLSAgICAgICAgICAgICAgICAgICAgICAgICAlIChuYW1lLCBvZmZzZXQpKQorICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCIlcygpPSVzLCBtdXN0IGJlIG11c3QgYmUgc3RyaWN0bHkgYmV0d2VlbiAiCisgICAgICAgICAgICAgICAgICAgICAgICAgIi10aW1lZGVsdGEoaG91cnM9MjQpIGFuZCB0aW1lZGVsdGEoaG91cnM9MjQpIiAlCisgICAgICAgICAgICAgICAgICAgICAgICAgKG5hbWUsIG9mZnNldCkpCisKK2RlZiBfY2hlY2tfaW50X2ZpZWxkKHZhbHVlKToKKyAgICBpZiBpc2luc3RhbmNlKHZhbHVlLCBpbnQpOgorICAgICAgICByZXR1cm4gdmFsdWUKKyAgICBpZiBub3QgaXNpbnN0YW5jZSh2YWx1ZSwgZmxvYXQpOgorICAgICAgICB0cnk6CisgICAgICAgICAgICB2YWx1ZSA9IHZhbHVlLl9faW50X18oKQorICAgICAgICBleGNlcHQgQXR0cmlidXRlRXJyb3I6CisgICAgICAgICAgICBwYXNzCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBpZiBpc2luc3RhbmNlKHZhbHVlLCBpbnQpOgorICAgICAgICAgICAgICAgIHJldHVybiB2YWx1ZQorICAgICAgICAgICAgcmFpc2UgVHlwZUVycm9yKCdfX2ludF9fIHJldHVybmVkIG5vbi1pbnQgKHR5cGUgJXMpJyAlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZSh2YWx1ZSkuX19uYW1lX18pCisgICAgICAgIHJhaXNlIFR5cGVFcnJvcignYW4gaW50ZWdlciBpcyByZXF1aXJlZCAoZ290IHR5cGUgJXMpJyAlCisgICAgICAgICAgICAgICAgICAgICAgICB0eXBlKHZhbHVlKS5fX25hbWVfXykKKyAgICByYWlzZSBUeXBlRXJyb3IoJ2ludGVnZXIgYXJndW1lbnQgZXhwZWN0ZWQsIGdvdCBmbG9hdCcpCiAKIGRlZiBfY2hlY2tfZGF0ZV9maWVsZHMoeWVhciwgbW9udGgsIGRheSk6Ci0gICAgaWYgbm90IGlzaW5zdGFuY2UoeWVhciwgaW50KToKLSAgICAgICAgcmFpc2UgVHlwZUVycm9yKCdpbnQgZXhwZWN0ZWQnKQorICAgIHllYXIgPSBfY2hlY2tfaW50X2ZpZWxkKHllYXIpCisgICAgbW9udGggPSBfY2hlY2tfaW50X2ZpZWxkKG1vbnRoKQorICAgIGRheSA9IF9jaGVja19pbnRfZmllbGQoZGF5KQogICAgIGlmIG5vdCBNSU5ZRUFSIDw9IHllYXIgPD0gTUFYWUVBUjoKICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigneWVhciBtdXN0IGJlIGluICVkLi4lZCcgJSAoTUlOWUVBUiwgTUFYWUVBUiksIHllYXIpCiAgICAgaWYgbm90IDEgPD0gbW9udGggPD0gMTI6CkBAIC0yNTksMTAgKzI3MiwxMyBAQAogICAgIGRpbSA9IF9kYXlzX2luX21vbnRoKHllYXIsIG1vbnRoKQogICAgIGlmIG5vdCAxIDw9IGRheSA8PSBkaW06CiAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoJ2RheSBtdXN0IGJlIGluIDEuLiVkJyAlIGRpbSwgZGF5KQorICAgIHJldHVybiB5ZWFyLCBtb250aCwgZGF5CiAKIGRlZiBfY2hlY2tfdGltZV9maWVsZHMoaG91ciwgbWludXRlLCBzZWNvbmQsIG1pY3Jvc2Vjb25kKToKLSAgICBpZiBub3QgaXNpbnN0YW5jZShob3VyLCBpbnQpOgotICAgICAgICByYWlzZSBUeXBlRXJyb3IoJ2ludCBleHBlY3RlZCcpCisgICAgaG91ciA9IF9jaGVja19pbnRfZmllbGQoaG91cikKKyAgICBtaW51dGUgPSBfY2hlY2tfaW50X2ZpZWxkKG1pbnV0ZSkKKyAgICBzZWNvbmQgPSBfY2hlY2tfaW50X2ZpZWxkKHNlY29uZCkKKyAgICBtaWNyb3NlY29uZCA9IF9jaGVja19pbnRfZmllbGQobWljcm9zZWNvbmQpCiAgICAgaWYgbm90IDAgPD0gaG91ciA8PSAyMzoKICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcignaG91ciBtdXN0IGJlIGluIDAuLjIzJywgaG91cikKICAgICBpZiBub3QgMCA8PSBtaW51dGUgPD0gNTk6CkBAIC0yNzEsNiArMjg3LDcgQEAKICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcignc2Vjb25kIG11c3QgYmUgaW4gMC4uNTknLCBzZWNvbmQpCiAgICAgaWYgbm90IDAgPD0gbWljcm9zZWNvbmQgPD0gOTk5OTk5OgogICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCdtaWNyb3NlY29uZCBtdXN0IGJlIGluIDAuLjk5OTk5OScsIG1pY3Jvc2Vjb25kKQorICAgIHJldHVybiBob3VyLCBtaW51dGUsIHNlY29uZCwgbWljcm9zZWNvbmQKIAogZGVmIF9jaGVja190emluZm9fYXJnKHR6KToKICAgICBpZiB0eiBpcyBub3QgTm9uZSBhbmQgbm90IGlzaW5zdGFuY2UodHosIHR6aW5mbyk6CkBAIC0yOTcsNyArMzE0LDcgQEAKICAgICBSZXByZXNlbnRhdGlvbjogKGRheXMsIHNlY29uZHMsIG1pY3Jvc2Vjb25kcykuICBXaHk/ICBCZWNhdXNlIEkKICAgICBmZWx0IGxpa2UgaXQuCiAgICAgIiIiCi0gICAgX19zbG90c19fID0gJ19kYXlzJywgJ19zZWNvbmRzJywgJ19taWNyb3NlY29uZHMnCisgICAgX19zbG90c19fID0gJ19kYXlzJywgJ19zZWNvbmRzJywgJ19taWNyb3NlY29uZHMnLCAnX2hhc2hjb2RlJwogCiAgICAgZGVmIF9fbmV3X18oY2xzLCBkYXlzPTAsIHNlY29uZHM9MCwgbWljcm9zZWNvbmRzPTAsCiAgICAgICAgICAgICAgICAgbWlsbGlzZWNvbmRzPTAsIG1pbnV0ZXM9MCwgaG91cnM9MCwgd2Vla3M9MCk6CkBAIC0zNjMsMzggKzM4MCwyNiBAQAogICAgICAgICAjIHNlY29uZHNmcmFjIGlzbid0IHJlZmVyZW5jZWQgYWdhaW4KIAogICAgICAgICBpZiBpc2luc3RhbmNlKG1pY3Jvc2Vjb25kcywgZmxvYXQpOgotICAgICAgICAgICAgbWljcm9zZWNvbmRzICs9IHVzZG91YmxlCi0gICAgICAgICAgICBtaWNyb3NlY29uZHMgPSByb3VuZChtaWNyb3NlY29uZHMsIDApCi0gICAgICAgICAgICBzZWNvbmRzLCBtaWNyb3NlY29uZHMgPSBkaXZtb2QobWljcm9zZWNvbmRzLCAxZTYpCi0gICAgICAgICAgICBhc3NlcnQgbWljcm9zZWNvbmRzID09IGludChtaWNyb3NlY29uZHMpCi0gICAgICAgICAgICBhc3NlcnQgc2Vjb25kcyA9PSBpbnQoc2Vjb25kcykKLSAgICAgICAgICAgIGRheXMsIHNlY29uZHMgPSBkaXZtb2Qoc2Vjb25kcywgMjQuKjM2MDAuKQotICAgICAgICAgICAgYXNzZXJ0IGRheXMgPT0gaW50KGRheXMpCi0gICAgICAgICAgICBhc3NlcnQgc2Vjb25kcyA9PSBpbnQoc2Vjb25kcykKLSAgICAgICAgICAgIGQgKz0gaW50KGRheXMpCi0gICAgICAgICAgICBzICs9IGludChzZWNvbmRzKSAgICMgY2FuJ3Qgb3ZlcmZsb3cKLSAgICAgICAgICAgIGFzc2VydCBpc2luc3RhbmNlKHMsIGludCkKLSAgICAgICAgICAgIGFzc2VydCBhYnMocykgPD0gMyAqIDI0ICogMzYwMAotICAgICAgICBlbHNlOgorICAgICAgICAgICAgbWljcm9zZWNvbmRzID0gcm91bmQobWljcm9zZWNvbmRzICsgdXNkb3VibGUpCiAgICAgICAgICAgICBzZWNvbmRzLCBtaWNyb3NlY29uZHMgPSBkaXZtb2QobWljcm9zZWNvbmRzLCAxMDAwMDAwKQogICAgICAgICAgICAgZGF5cywgc2Vjb25kcyA9IGRpdm1vZChzZWNvbmRzLCAyNCozNjAwKQogICAgICAgICAgICAgZCArPSBkYXlzCi0gICAgICAgICAgICBzICs9IGludChzZWNvbmRzKSAgICAjIGNhbid0IG92ZXJmbG93Ci0gICAgICAgICAgICBhc3NlcnQgaXNpbnN0YW5jZShzLCBpbnQpCi0gICAgICAgICAgICBhc3NlcnQgYWJzKHMpIDw9IDMgKiAyNCAqIDM2MDAKLSAgICAgICAgICAgIG1pY3Jvc2Vjb25kcyA9IGZsb2F0KG1pY3Jvc2Vjb25kcykKLSAgICAgICAgICAgIG1pY3Jvc2Vjb25kcyArPSB1c2RvdWJsZQotICAgICAgICAgICAgbWljcm9zZWNvbmRzID0gcm91bmQobWljcm9zZWNvbmRzLCAwKQorICAgICAgICAgICAgcyArPSBzZWNvbmRzCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBtaWNyb3NlY29uZHMgPSBpbnQobWljcm9zZWNvbmRzKQorICAgICAgICAgICAgc2Vjb25kcywgbWljcm9zZWNvbmRzID0gZGl2bW9kKG1pY3Jvc2Vjb25kcywgMTAwMDAwMCkKKyAgICAgICAgICAgIGRheXMsIHNlY29uZHMgPSBkaXZtb2Qoc2Vjb25kcywgMjQqMzYwMCkKKyAgICAgICAgICAgIGQgKz0gZGF5cworICAgICAgICAgICAgcyArPSBzZWNvbmRzCisgICAgICAgICAgICBtaWNyb3NlY29uZHMgPSByb3VuZChtaWNyb3NlY29uZHMgKyB1c2RvdWJsZSkKKyAgICAgICAgYXNzZXJ0IGlzaW5zdGFuY2UocywgaW50KQorICAgICAgICBhc3NlcnQgaXNpbnN0YW5jZShtaWNyb3NlY29uZHMsIGludCkKICAgICAgICAgYXNzZXJ0IGFicyhzKSA8PSAzICogMjQgKiAzNjAwCiAgICAgICAgIGFzc2VydCBhYnMobWljcm9zZWNvbmRzKSA8IDMuMWU2CiAKICAgICAgICAgIyBKdXN0IGEgbGl0dGxlIGJpdCBvZiBjYXJyeWluZyBwb3NzaWJsZSBmb3IgbWljcm9zZWNvbmRzIGFuZCBzZWNvbmRzLgotICAgICAgICBhc3NlcnQgaXNpbnN0YW5jZShtaWNyb3NlY29uZHMsIGZsb2F0KQotICAgICAgICBhc3NlcnQgaW50KG1pY3Jvc2Vjb25kcykgPT0gbWljcm9zZWNvbmRzCi0gICAgICAgIHVzID0gaW50KG1pY3Jvc2Vjb25kcykKLSAgICAgICAgc2Vjb25kcywgdXMgPSBkaXZtb2QodXMsIDEwMDAwMDApCi0gICAgICAgIHMgKz0gc2Vjb25kcyAgICAjIGNhbnQndCBvdmVyZmxvdwotICAgICAgICBhc3NlcnQgaXNpbnN0YW5jZShzLCBpbnQpCisgICAgICAgIHNlY29uZHMsIHVzID0gZGl2bW9kKG1pY3Jvc2Vjb25kcywgMTAwMDAwMCkKKyAgICAgICAgcyArPSBzZWNvbmRzCiAgICAgICAgIGRheXMsIHMgPSBkaXZtb2QocywgMjQqMzYwMCkKICAgICAgICAgZCArPSBkYXlzCiAKQEAgLTQwMiwyNyArNDA3LDMxIEBACiAgICAgICAgIGFzc2VydCBpc2luc3RhbmNlKHMsIGludCkgYW5kIDAgPD0gcyA8IDI0KjM2MDAKICAgICAgICAgYXNzZXJ0IGlzaW5zdGFuY2UodXMsIGludCkgYW5kIDAgPD0gdXMgPCAxMDAwMDAwCiAKLSAgICAgICAgc2VsZiA9IG9iamVjdC5fX25ld19fKGNscykKLQotICAgICAgICBzZWxmLl9kYXlzID0gZAotICAgICAgICBzZWxmLl9zZWNvbmRzID0gcwotICAgICAgICBzZWxmLl9taWNyb3NlY29uZHMgPSB1cwogICAgICAgICBpZiBhYnMoZCkgPiA5OTk5OTk5OTk6CiAgICAgICAgICAgICByYWlzZSBPdmVyZmxvd0Vycm9yKCJ0aW1lZGVsdGEgIyBvZiBkYXlzIGlzIHRvbyBsYXJnZTogJWQiICUgZCkKIAorICAgICAgICBzZWxmID0gb2JqZWN0Ll9fbmV3X18oY2xzKQorICAgICAgICBzZWxmLl9kYXlzID0gZAorICAgICAgICBzZWxmLl9zZWNvbmRzID0gcworICAgICAgICBzZWxmLl9taWNyb3NlY29uZHMgPSB1cworICAgICAgICBzZWxmLl9oYXNoY29kZSA9IC0xCiAgICAgICAgIHJldHVybiBzZWxmCiAKICAgICBkZWYgX19yZXByX18oc2VsZik6CiAgICAgICAgIGlmIHNlbGYuX21pY3Jvc2Vjb25kczoKLSAgICAgICAgICAgIHJldHVybiAiJXMoJWQsICVkLCAlZCkiICUgKCdkYXRldGltZS4nICsgc2VsZi5fX2NsYXNzX18uX19uYW1lX18sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9kYXlzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fc2Vjb25kcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX21pY3Jvc2Vjb25kcykKKyAgICAgICAgICAgIHJldHVybiAiJXMuJXMoJWQsICVkLCAlZCkiICUgKHNlbGYuX19jbGFzc19fLl9fbW9kdWxlX18sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9fY2xhc3NfXy5fX3F1YWxuYW1lX18sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9kYXlzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fc2Vjb25kcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX21pY3Jvc2Vjb25kcykKICAgICAgICAgaWYgc2VsZi5fc2Vjb25kczoKLSAgICAgICAgICAgIHJldHVybiAiJXMoJWQsICVkKSIgJSAoJ2RhdGV0aW1lLicgKyBzZWxmLl9fY2xhc3NfXy5fX25hbWVfXywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fZGF5cywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fc2Vjb25kcykKLSAgICAgICAgcmV0dXJuICIlcyglZCkiICUgKCdkYXRldGltZS4nICsgc2VsZi5fX2NsYXNzX18uX19uYW1lX18sIHNlbGYuX2RheXMpCisgICAgICAgICAgICByZXR1cm4gIiVzLiVzKCVkLCAlZCkiICUgKHNlbGYuX19jbGFzc19fLl9fbW9kdWxlX18sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX19jbGFzc19fLl9fcXVhbG5hbWVfXywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fZGF5cywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fc2Vjb25kcykKKyAgICAgICAgcmV0dXJuICIlcy4lcyglZCkiICUgKHNlbGYuX19jbGFzc19fLl9fbW9kdWxlX18sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9fY2xhc3NfXy5fX3F1YWxuYW1lX18sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9kYXlzKQogCiAgICAgZGVmIF9fc3RyX18oc2VsZik6CiAgICAgICAgIG1tLCBzcyA9IGRpdm1vZChzZWxmLl9zZWNvbmRzLCA2MCkKQEAgLTQzOCw3ICs0NDcsNyBAQAogCiAgICAgZGVmIHRvdGFsX3NlY29uZHMoc2VsZik6CiAgICAgICAgICIiIlRvdGFsIHNlY29uZHMgaW4gdGhlIGR1cmF0aW9uLiIiIgotICAgICAgICByZXR1cm4gKChzZWxmLmRheXMgKiA4NjQwMCArIHNlbGYuc2Vjb25kcykqMTAqKjYgKworICAgICAgICByZXR1cm4gKChzZWxmLmRheXMgKiA4NjQwMCArIHNlbGYuc2Vjb25kcykgKiAxMCoqNiArCiAgICAgICAgICAgICAgICAgc2VsZi5taWNyb3NlY29uZHMpIC8gMTAqKjYKIAogICAgICMgUmVhZC1vbmx5IGZpZWxkIGFjY2Vzc29ycwpAQCAtNTU4LDEyICs1NjcsNiBAQAogICAgICAgICBlbHNlOgogICAgICAgICAgICAgcmV0dXJuIEZhbHNlCiAKLSAgICBkZWYgX19uZV9fKHNlbGYsIG90aGVyKToKLSAgICAgICAgaWYgaXNpbnN0YW5jZShvdGhlciwgdGltZWRlbHRhKToKLSAgICAgICAgICAgIHJldHVybiBzZWxmLl9jbXAob3RoZXIpICE9IDAKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHJldHVybiBUcnVlCi0KICAgICBkZWYgX19sZV9fKHNlbGYsIG90aGVyKToKICAgICAgICAgaWYgaXNpbnN0YW5jZShvdGhlciwgdGltZWRlbHRhKToKICAgICAgICAgICAgIHJldHVybiBzZWxmLl9jbXAob3RoZXIpIDw9IDAKQEAgLTU5Myw3ICs1OTYsOSBAQAogICAgICAgICByZXR1cm4gX2NtcChzZWxmLl9nZXRzdGF0ZSgpLCBvdGhlci5fZ2V0c3RhdGUoKSkKIAogICAgIGRlZiBfX2hhc2hfXyhzZWxmKToKLSAgICAgICAgcmV0dXJuIGhhc2goc2VsZi5fZ2V0c3RhdGUoKSkKKyAgICAgICAgaWYgc2VsZi5faGFzaGNvZGUgPT0gLTE6CisgICAgICAgICAgICBzZWxmLl9oYXNoY29kZSA9IGhhc2goc2VsZi5fZ2V0c3RhdGUoKSkKKyAgICAgICAgcmV0dXJuIHNlbGYuX2hhc2hjb2RlCiAKICAgICBkZWYgX19ib29sX18oc2VsZik6CiAgICAgICAgIHJldHVybiAoc2VsZi5fZGF5cyAhPSAwIG9yCkBAIC02NDEsNyArNjQ2LDcgQEAKICAgICBQcm9wZXJ0aWVzIChyZWFkb25seSk6CiAgICAgeWVhciwgbW9udGgsIGRheQogICAgICIiIgotICAgIF9fc2xvdHNfXyA9ICdfeWVhcicsICdfbW9udGgnLCAnX2RheScKKyAgICBfX3Nsb3RzX18gPSAnX3llYXInLCAnX21vbnRoJywgJ19kYXknLCAnX2hhc2hjb2RlJwogCiAgICAgZGVmIF9fbmV3X18oY2xzLCB5ZWFyLCBtb250aD1Ob25lLCBkYXk9Tm9uZSk6CiAgICAgICAgICIiIkNvbnN0cnVjdG9yLgpAQCAtNjUwLDE3ICs2NTUsMTkgQEAKIAogICAgICAgICB5ZWFyLCBtb250aCwgZGF5IChyZXF1aXJlZCwgYmFzZSAxKQogICAgICAgICAiIiIKLSAgICAgICAgaWYgKGlzaW5zdGFuY2UoeWVhciwgYnl0ZXMpIGFuZCBsZW4oeWVhcikgPT0gNCBhbmQKLSAgICAgICAgICAgIDEgPD0geWVhclsyXSA8PSAxMiBhbmQgbW9udGggaXMgTm9uZSk6ICAjIE1vbnRoIGlzIHNhbmUKKyAgICAgICAgaWYgbW9udGggaXMgTm9uZSBhbmQgaXNpbnN0YW5jZSh5ZWFyLCBieXRlcykgYW5kIGxlbih5ZWFyKSA9PSA0IGFuZCBcCisgICAgICAgICAgICAgICAgMSA8PSB5ZWFyWzJdIDw9IDEyOgogICAgICAgICAgICAgIyBQaWNrbGUgc3VwcG9ydAogICAgICAgICAgICAgc2VsZiA9IG9iamVjdC5fX25ld19fKGNscykKICAgICAgICAgICAgIHNlbGYuX19zZXRzdGF0ZSh5ZWFyKQorICAgICAgICAgICAgc2VsZi5faGFzaGNvZGUgPSAtMQogICAgICAgICAgICAgcmV0dXJuIHNlbGYKLSAgICAgICAgX2NoZWNrX2RhdGVfZmllbGRzKHllYXIsIG1vbnRoLCBkYXkpCisgICAgICAgIHllYXIsIG1vbnRoLCBkYXkgPSBfY2hlY2tfZGF0ZV9maWVsZHMoeWVhciwgbW9udGgsIGRheSkKICAgICAgICAgc2VsZiA9IG9iamVjdC5fX25ld19fKGNscykKICAgICAgICAgc2VsZi5feWVhciA9IHllYXIKICAgICAgICAgc2VsZi5fbW9udGggPSBtb250aAogICAgICAgICBzZWxmLl9kYXkgPSBkYXkKKyAgICAgICAgc2VsZi5faGFzaGNvZGUgPSAtMQogICAgICAgICByZXR1cm4gc2VsZgogCiAgICAgIyBBZGRpdGlvbmFsIGNvbnN0cnVjdG9ycwpAQCAtNzAwLDEwICs3MDcsMTEgQEAKICAgICAgICAgPj4+IHJlcHIoZHQpCiAgICAgICAgICdkYXRldGltZS5kYXRldGltZSgyMDEwLCAxLCAxLCAwLCAwLCB0emluZm89ZGF0ZXRpbWUudGltZXpvbmUudXRjKScKICAgICAgICAgIiIiCi0gICAgICAgIHJldHVybiAiJXMoJWQsICVkLCAlZCkiICUgKCdkYXRldGltZS4nICsgc2VsZi5fX2NsYXNzX18uX19uYW1lX18sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX3llYXIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX21vbnRoLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9kYXkpCisgICAgICAgIHJldHVybiAiJXMuJXMoJWQsICVkLCAlZCkiICUgKHNlbGYuX19jbGFzc19fLl9fbW9kdWxlX18sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX19jbGFzc19fLl9fcXVhbG5hbWVfXywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5feWVhciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fbW9udGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX2RheSkKICAgICAjIFhYWCBUaGVzZSBzaG91bGRuJ3QgZGVwZW5kIG9uIHRpbWUubG9jYWx0aW1lKCksIGJlY2F1c2UgdGhhdAogICAgICMgY2xpcHMgdGhlIHVzYWJsZSBkYXRlcyB0byBbMTk3MCAuLiAyMDM4KS4gIEF0IGxlYXN0IGN0aW1lKCkgaXMKICAgICAjIGVhc2lseSBkb25lIHdpdGhvdXQgdXNpbmcgc3RyZnRpbWUoKSAtLSB0aGF0J3MgYmV0dGVyIHRvbyBiZWNhdXNlCkBAIC03MjMsNiArNzMxLDggQEAKICAgICAgICAgcmV0dXJuIF93cmFwX3N0cmZ0aW1lKHNlbGYsIGZtdCwgc2VsZi50aW1ldHVwbGUoKSkKIAogICAgIGRlZiBfX2Zvcm1hdF9fKHNlbGYsIGZtdCk6CisgICAgICAgIGlmIG5vdCBpc2luc3RhbmNlKGZtdCwgc3RyKToKKyAgICAgICAgICAgIHJhaXNlIFR5cGVFcnJvcigibXVzdCBiZSBzdHIsIG5vdCAlcyIgJSB0eXBlKGZtdCkuX19uYW1lX18pCiAgICAgICAgIGlmIGxlbihmbXQpICE9IDA6CiAgICAgICAgICAgICByZXR1cm4gc2VsZi5zdHJmdGltZShmbXQpCiAgICAgICAgIHJldHVybiBzdHIoc2VsZikKQEAgLTc3OSw3ICs3ODksNiBAQAogICAgICAgICAgICAgbW9udGggPSBzZWxmLl9tb250aAogICAgICAgICBpZiBkYXkgaXMgTm9uZToKICAgICAgICAgICAgIGRheSA9IHNlbGYuX2RheQotICAgICAgICBfY2hlY2tfZGF0ZV9maWVsZHMoeWVhciwgbW9udGgsIGRheSkKICAgICAgICAgcmV0dXJuIGRhdGUoeWVhciwgbW9udGgsIGRheSkKIAogICAgICMgQ29tcGFyaXNvbnMgb2YgZGF0ZSBvYmplY3RzIHdpdGggb3RoZXIuCkBAIC03ODksMTEgKzc5OCw2IEBACiAgICAgICAgICAgICByZXR1cm4gc2VsZi5fY21wKG90aGVyKSA9PSAwCiAgICAgICAgIHJldHVybiBOb3RJbXBsZW1lbnRlZAogCi0gICAgZGVmIF9fbmVfXyhzZWxmLCBvdGhlcik6Ci0gICAgICAgIGlmIGlzaW5zdGFuY2Uob3RoZXIsIGRhdGUpOgotICAgICAgICAgICAgcmV0dXJuIHNlbGYuX2NtcChvdGhlcikgIT0gMAotICAgICAgICByZXR1cm4gTm90SW1wbGVtZW50ZWQKLQogICAgIGRlZiBfX2xlX18oc2VsZiwgb3RoZXIpOgogICAgICAgICBpZiBpc2luc3RhbmNlKG90aGVyLCBkYXRlKToKICAgICAgICAgICAgIHJldHVybiBzZWxmLl9jbXAob3RoZXIpIDw9IDAKQEAgLTgyMiw3ICs4MjYsOSBAQAogCiAgICAgZGVmIF9faGFzaF9fKHNlbGYpOgogICAgICAgICAiSGFzaC4iCi0gICAgICAgIHJldHVybiBoYXNoKHNlbGYuX2dldHN0YXRlKCkpCisgICAgICAgIGlmIHNlbGYuX2hhc2hjb2RlID09IC0xOgorICAgICAgICAgICAgc2VsZi5faGFzaGNvZGUgPSBoYXNoKHNlbGYuX2dldHN0YXRlKCkpCisgICAgICAgIHJldHVybiBzZWxmLl9oYXNoY29kZQogCiAgICAgIyBDb21wdXRhdGlvbnMKIApAQCAtODkyLDggKzg5OCw2IEBACiAgICAgICAgIHJldHVybiBieXRlcyhbeWhpLCB5bG8sIHNlbGYuX21vbnRoLCBzZWxmLl9kYXldKSwKIAogICAgIGRlZiBfX3NldHN0YXRlKHNlbGYsIHN0cmluZyk6Ci0gICAgICAgIGlmIGxlbihzdHJpbmcpICE9IDQgb3Igbm90ICgxIDw9IHN0cmluZ1syXSA8PSAxMik6Ci0gICAgICAgICAgICByYWlzZSBUeXBlRXJyb3IoIm5vdCBlbm91Z2ggYXJndW1lbnRzIikKICAgICAgICAgeWhpLCB5bG8sIHNlbGYuX21vbnRoLCBzZWxmLl9kYXkgPSBzdHJpbmcKICAgICAgICAgc2VsZi5feWVhciA9IHloaSAqIDI1NiArIHlsbwogCkBAIC05MTIsNiArOTE2LDcgQEAKICAgICBTdWJjbGFzc2VzIG11c3Qgb3ZlcnJpZGUgdGhlIG5hbWUoKSwgdXRjb2Zmc2V0KCkgYW5kIGRzdCgpIG1ldGhvZHMuCiAgICAgIiIiCiAgICAgX19zbG90c19fID0gKCkKKwogICAgIGRlZiB0em5hbWUoc2VsZiwgZHQpOgogICAgICAgICAiZGF0ZXRpbWUgLT4gc3RyaW5nIG5hbWUgb2YgdGltZSB6b25lLiIKICAgICAgICAgcmFpc2UgTm90SW1wbGVtZW50ZWRFcnJvcigidHppbmZvIHN1YmNsYXNzIG11c3Qgb3ZlcnJpZGUgdHpuYW1lKCkiKQpAQCAtOTk4LDYgKzEwMDMsNyBAQAogICAgIFByb3BlcnRpZXMgKHJlYWRvbmx5KToKICAgICBob3VyLCBtaW51dGUsIHNlY29uZCwgbWljcm9zZWNvbmQsIHR6aW5mbwogICAgICIiIgorICAgIF9fc2xvdHNfXyA9ICdfaG91cicsICdfbWludXRlJywgJ19zZWNvbmQnLCAnX21pY3Jvc2Vjb25kJywgJ190emluZm8nLCAnX2hhc2hjb2RlJwogCiAgICAgZGVmIF9fbmV3X18oY2xzLCBob3VyPTAsIG1pbnV0ZT0wLCBzZWNvbmQ9MCwgbWljcm9zZWNvbmQ9MCwgdHppbmZvPU5vbmUpOgogICAgICAgICAiIiJDb25zdHJ1Y3Rvci4KQEAgLTEwMDgsMTggKzEwMTQsMjIgQEAKICAgICAgICAgc2Vjb25kLCBtaWNyb3NlY29uZCAoZGVmYXVsdCB0byB6ZXJvKQogICAgICAgICB0emluZm8gKGRlZmF1bHQgdG8gTm9uZSkKICAgICAgICAgIiIiCi0gICAgICAgIHNlbGYgPSBvYmplY3QuX19uZXdfXyhjbHMpCi0gICAgICAgIGlmIGlzaW5zdGFuY2UoaG91ciwgYnl0ZXMpIGFuZCBsZW4oaG91cikgPT0gNjoKKyAgICAgICAgaWYgaXNpbnN0YW5jZShob3VyLCBieXRlcykgYW5kIGxlbihob3VyKSA9PSA2IGFuZCBob3VyWzBdIDwgMjQ6CiAgICAgICAgICAgICAjIFBpY2tsZSBzdXBwb3J0CisgICAgICAgICAgICBzZWxmID0gb2JqZWN0Ll9fbmV3X18oY2xzKQogICAgICAgICAgICAgc2VsZi5fX3NldHN0YXRlKGhvdXIsIG1pbnV0ZSBvciBOb25lKQorICAgICAgICAgICAgc2VsZi5faGFzaGNvZGUgPSAtMQogICAgICAgICAgICAgcmV0dXJuIHNlbGYKKyAgICAgICAgaG91ciwgbWludXRlLCBzZWNvbmQsIG1pY3Jvc2Vjb25kID0gX2NoZWNrX3RpbWVfZmllbGRzKAorICAgICAgICAgICAgaG91ciwgbWludXRlLCBzZWNvbmQsIG1pY3Jvc2Vjb25kKQogICAgICAgICBfY2hlY2tfdHppbmZvX2FyZyh0emluZm8pCi0gICAgICAgIF9jaGVja190aW1lX2ZpZWxkcyhob3VyLCBtaW51dGUsIHNlY29uZCwgbWljcm9zZWNvbmQpCisgICAgICAgIHNlbGYgPSBvYmplY3QuX19uZXdfXyhjbHMpCiAgICAgICAgIHNlbGYuX2hvdXIgPSBob3VyCiAgICAgICAgIHNlbGYuX21pbnV0ZSA9IG1pbnV0ZQogICAgICAgICBzZWxmLl9zZWNvbmQgPSBzZWNvbmQKICAgICAgICAgc2VsZi5fbWljcm9zZWNvbmQgPSBtaWNyb3NlY29uZAogICAgICAgICBzZWxmLl90emluZm8gPSB0emluZm8KKyAgICAgICAgc2VsZi5faGFzaGNvZGUgPSAtMQogICAgICAgICByZXR1cm4gc2VsZgogCiAgICAgIyBSZWFkLW9ubHkgZmllbGQgYWNjZXNzb3JzCkBAIC0xMDU4LDEyICsxMDY4LDYgQEAKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIHJldHVybiBGYWxzZQogCi0gICAgZGVmIF9fbmVfXyhzZWxmLCBvdGhlcik6Ci0gICAgICAgIGlmIGlzaW5zdGFuY2Uob3RoZXIsIHRpbWUpOgotICAgICAgICAgICAgcmV0dXJuIHNlbGYuX2NtcChvdGhlciwgYWxsb3dfbWl4ZWQ9VHJ1ZSkgIT0gMAotICAgICAgICBlbHNlOgotICAgICAgICAgICAgcmV0dXJuIFRydWUKLQogICAgIGRlZiBfX2xlX18oc2VsZiwgb3RoZXIpOgogICAgICAgICBpZiBpc2luc3RhbmNlKG90aGVyLCB0aW1lKToKICAgICAgICAgICAgIHJldHVybiBzZWxmLl9jbXAob3RoZXIpIDw9IDAKQEAgLTExMDQsOCArMTEwOCw4IEBACiAgICAgICAgIGlmIGJhc2VfY29tcGFyZToKICAgICAgICAgICAgIHJldHVybiBfY21wKChzZWxmLl9ob3VyLCBzZWxmLl9taW51dGUsIHNlbGYuX3NlY29uZCwKICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9taWNyb3NlY29uZCksCi0gICAgICAgICAgICAgICAgICAgICAgIChvdGhlci5faG91ciwgb3RoZXIuX21pbnV0ZSwgb3RoZXIuX3NlY29uZCwKLSAgICAgICAgICAgICAgICAgICAgICAgIG90aGVyLl9taWNyb3NlY29uZCkpCisgICAgICAgICAgICAgICAgICAgICAgICAob3RoZXIuX2hvdXIsIG90aGVyLl9taW51dGUsIG90aGVyLl9zZWNvbmQsCisgICAgICAgICAgICAgICAgICAgICAgICAgb3RoZXIuX21pY3Jvc2Vjb25kKSkKICAgICAgICAgaWYgbXlvZmYgaXMgTm9uZSBvciBvdG9mZiBpcyBOb25lOgogICAgICAgICAgICAgaWYgYWxsb3dfbWl4ZWQ6CiAgICAgICAgICAgICAgICAgcmV0dXJuIDIgIyBhcmJpdHJhcnkgbm9uLXplcm8gdmFsdWUKQEAgLTExMTgsMTYgKzExMjIsMjAgQEAKIAogICAgIGRlZiBfX2hhc2hfXyhzZWxmKToKICAgICAgICAgIiIiSGFzaC4iIiIKLSAgICAgICAgdHpvZmYgPSBzZWxmLnV0Y29mZnNldCgpCi0gICAgICAgIGlmIG5vdCB0em9mZjogIyB6ZXJvIG9yIE5vbmUKLSAgICAgICAgICAgIHJldHVybiBoYXNoKHNlbGYuX2dldHN0YXRlKClbMF0pCi0gICAgICAgIGgsIG0gPSBkaXZtb2QodGltZWRlbHRhKGhvdXJzPXNlbGYuaG91ciwgbWludXRlcz1zZWxmLm1pbnV0ZSkgLSB0em9mZiwKLSAgICAgICAgICAgICAgICAgICAgICB0aW1lZGVsdGEoaG91cnM9MSkpCi0gICAgICAgIGFzc2VydCBub3QgbSAlIHRpbWVkZWx0YShtaW51dGVzPTEpLCAid2hvbGUgbWludXRlIgotICAgICAgICBtIC8vPSB0aW1lZGVsdGEobWludXRlcz0xKQotICAgICAgICBpZiAwIDw9IGggPCAyNDoKLSAgICAgICAgICAgIHJldHVybiBoYXNoKHRpbWUoaCwgbSwgc2VsZi5zZWNvbmQsIHNlbGYubWljcm9zZWNvbmQpKQotICAgICAgICByZXR1cm4gaGFzaCgoaCwgbSwgc2VsZi5zZWNvbmQsIHNlbGYubWljcm9zZWNvbmQpKQorICAgICAgICBpZiBzZWxmLl9oYXNoY29kZSA9PSAtMToKKyAgICAgICAgICAgIHR6b2ZmID0gc2VsZi51dGNvZmZzZXQoKQorICAgICAgICAgICAgaWYgbm90IHR6b2ZmOiAgIyB6ZXJvIG9yIE5vbmUKKyAgICAgICAgICAgICAgICBzZWxmLl9oYXNoY29kZSA9IGhhc2goc2VsZi5fZ2V0c3RhdGUoKVswXSkKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgaCwgbSA9IGRpdm1vZCh0aW1lZGVsdGEoaG91cnM9c2VsZi5ob3VyLCBtaW51dGVzPXNlbGYubWludXRlKSAtIHR6b2ZmLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGltZWRlbHRhKGhvdXJzPTEpKQorICAgICAgICAgICAgICAgIGFzc2VydCBub3QgbSAlIHRpbWVkZWx0YShtaW51dGVzPTEpLCAid2hvbGUgbWludXRlIgorICAgICAgICAgICAgICAgIG0gLy89IHRpbWVkZWx0YShtaW51dGVzPTEpCisgICAgICAgICAgICAgICAgaWYgMCA8PSBoIDwgMjQ6CisgICAgICAgICAgICAgICAgICAgIHNlbGYuX2hhc2hjb2RlID0gaGFzaCh0aW1lKGgsIG0sIHNlbGYuc2Vjb25kLCBzZWxmLm1pY3Jvc2Vjb25kKSkKKyAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICBzZWxmLl9oYXNoY29kZSA9IGhhc2goKGgsIG0sIHNlbGYuc2Vjb25kLCBzZWxmLm1pY3Jvc2Vjb25kKSkKKyAgICAgICAgcmV0dXJuIHNlbGYuX2hhc2hjb2RlCiAKICAgICAjIENvbnZlcnNpb24gdG8gc3RyaW5nCiAKQEAgLTExNTUsOCArMTE2Myw5IEBACiAgICAgICAgICAgICBzID0gIiwgJWQiICUgc2VsZi5fc2Vjb25kCiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICBzID0gIiIKLSAgICAgICAgcz0gIiVzKCVkLCAlZCVzKSIgJSAoJ2RhdGV0aW1lLicgKyBzZWxmLl9fY2xhc3NfXy5fX25hbWVfXywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5faG91ciwgc2VsZi5fbWludXRlLCBzKQorICAgICAgICBzPSAiJXMuJXMoJWQsICVkJXMpIiAlIChzZWxmLl9fY2xhc3NfXy5fX21vZHVsZV9fLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9fY2xhc3NfXy5fX3F1YWxuYW1lX18sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX2hvdXIsIHNlbGYuX21pbnV0ZSwgcykKICAgICAgICAgaWYgc2VsZi5fdHppbmZvIGlzIG5vdCBOb25lOgogICAgICAgICAgICAgYXNzZXJ0IHNbLTE6XSA9PSAiKSIKICAgICAgICAgICAgIHMgPSBzWzotMV0gKyAiLCB0emluZm89JXIiICUgc2VsZi5fdHppbmZvICsgIikiCkBAIC0xMTg5LDYgKzExOTgsOCBAQAogICAgICAgICByZXR1cm4gX3dyYXBfc3RyZnRpbWUoc2VsZiwgZm10LCB0aW1ldHVwbGUpCiAKICAgICBkZWYgX19mb3JtYXRfXyhzZWxmLCBmbXQpOgorICAgICAgICBpZiBub3QgaXNpbnN0YW5jZShmbXQsIHN0cik6CisgICAgICAgICAgICByYWlzZSBUeXBlRXJyb3IoIm11c3QgYmUgc3RyLCBub3QgJXMiICUgdHlwZShmbXQpLl9fbmFtZV9fKQogICAgICAgICBpZiBsZW4oZm10KSAhPSAwOgogICAgICAgICAgICAgcmV0dXJuIHNlbGYuc3RyZnRpbWUoZm10KQogICAgICAgICByZXR1cm4gc3RyKHNlbGYpCkBAIC0xMjQ1LDE2ICsxMjU2LDggQEAKICAgICAgICAgICAgIG1pY3Jvc2Vjb25kID0gc2VsZi5taWNyb3NlY29uZAogICAgICAgICBpZiB0emluZm8gaXMgVHJ1ZToKICAgICAgICAgICAgIHR6aW5mbyA9IHNlbGYudHppbmZvCi0gICAgICAgIF9jaGVja190aW1lX2ZpZWxkcyhob3VyLCBtaW51dGUsIHNlY29uZCwgbWljcm9zZWNvbmQpCi0gICAgICAgIF9jaGVja190emluZm9fYXJnKHR6aW5mbykKICAgICAgICAgcmV0dXJuIHRpbWUoaG91ciwgbWludXRlLCBzZWNvbmQsIG1pY3Jvc2Vjb25kLCB0emluZm8pCiAKLSAgICBkZWYgX19ib29sX18oc2VsZik6Ci0gICAgICAgIGlmIHNlbGYuc2Vjb25kIG9yIHNlbGYubWljcm9zZWNvbmQ6Ci0gICAgICAgICAgICByZXR1cm4gVHJ1ZQotICAgICAgICBvZmZzZXQgPSBzZWxmLnV0Y29mZnNldCgpIG9yIHRpbWVkZWx0YSgwKQotICAgICAgICByZXR1cm4gdGltZWRlbHRhKGhvdXJzPXNlbGYuaG91ciwgbWludXRlcz1zZWxmLm1pbnV0ZSkgIT0gb2Zmc2V0Ci0KICAgICAjIFBpY2tsZSBzdXBwb3J0LgogCiAgICAgZGVmIF9nZXRzdGF0ZShzZWxmKToKQEAgLTEyNjgsMTUgKzEyNzEsMTEgQEAKICAgICAgICAgICAgIHJldHVybiAoYmFzZXN0YXRlLCBzZWxmLl90emluZm8pCiAKICAgICBkZWYgX19zZXRzdGF0ZShzZWxmLCBzdHJpbmcsIHR6aW5mbyk6Ci0gICAgICAgIGlmIGxlbihzdHJpbmcpICE9IDYgb3Igc3RyaW5nWzBdID49IDI0OgotICAgICAgICAgICAgcmFpc2UgVHlwZUVycm9yKCJhbiBpbnRlZ2VyIGlzIHJlcXVpcmVkIikKLSAgICAgICAgKHNlbGYuX2hvdXIsIHNlbGYuX21pbnV0ZSwgc2VsZi5fc2Vjb25kLAotICAgICAgICAgdXMxLCB1czIsIHVzMykgPSBzdHJpbmcKKyAgICAgICAgaWYgdHppbmZvIGlzIG5vdCBOb25lIGFuZCBub3QgaXNpbnN0YW5jZSh0emluZm8sIF90emluZm9fY2xhc3MpOgorICAgICAgICAgICAgcmFpc2UgVHlwZUVycm9yKCJiYWQgdHppbmZvIHN0YXRlIGFyZyIpCisgICAgICAgIHNlbGYuX2hvdXIsIHNlbGYuX21pbnV0ZSwgc2VsZi5fc2Vjb25kLCB1czEsIHVzMiwgdXMzID0gc3RyaW5nCiAgICAgICAgIHNlbGYuX21pY3Jvc2Vjb25kID0gKCgodXMxIDw8IDgpIHwgdXMyKSA8PCA4KSB8IHVzMwotICAgICAgICBpZiB0emluZm8gaXMgTm9uZSBvciBpc2luc3RhbmNlKHR6aW5mbywgX3R6aW5mb19jbGFzcyk6Ci0gICAgICAgICAgICBzZWxmLl90emluZm8gPSB0emluZm8KLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHJhaXNlIFR5cGVFcnJvcigiYmFkIHR6aW5mbyBzdGF0ZSBhcmcgJXIiICUgdHppbmZvKQorICAgICAgICBzZWxmLl90emluZm8gPSB0emluZm8KIAogICAgIGRlZiBfX3JlZHVjZV9fKHNlbGYpOgogICAgICAgICByZXR1cm4gKHRpbWUsIHNlbGYuX2dldHN0YXRlKCkpCkBAIC0xMjkzLDI1ICsxMjkyLDMwIEBACiAgICAgVGhlIHllYXIsIG1vbnRoIGFuZCBkYXkgYXJndW1lbnRzIGFyZSByZXF1aXJlZC4gdHppbmZvIG1heSBiZSBOb25lLCBvciBhbgogICAgIGluc3RhbmNlIG9mIGEgdHppbmZvIHN1YmNsYXNzLiBUaGUgcmVtYWluaW5nIGFyZ3VtZW50cyBtYXkgYmUgaW50cy4KICAgICAiIiIKKyAgICBfX3Nsb3RzX18gPSBkYXRlLl9fc2xvdHNfXyArIHRpbWUuX19zbG90c19fCiAKLSAgICBfX3Nsb3RzX18gPSBkYXRlLl9fc2xvdHNfXyArICgKLSAgICAgICAgJ19ob3VyJywgJ19taW51dGUnLCAnX3NlY29uZCcsCi0gICAgICAgICdfbWljcm9zZWNvbmQnLCAnX3R6aW5mbycpCiAgICAgZGVmIF9fbmV3X18oY2xzLCB5ZWFyLCBtb250aD1Ob25lLCBkYXk9Tm9uZSwgaG91cj0wLCBtaW51dGU9MCwgc2Vjb25kPTAsCiAgICAgICAgICAgICAgICAgbWljcm9zZWNvbmQ9MCwgdHppbmZvPU5vbmUpOgotICAgICAgICBpZiBpc2luc3RhbmNlKHllYXIsIGJ5dGVzKSBhbmQgbGVuKHllYXIpID09IDEwOgorICAgICAgICBpZiBpc2luc3RhbmNlKHllYXIsIGJ5dGVzKSBhbmQgbGVuKHllYXIpID09IDEwIGFuZCAxIDw9IHllYXJbMl0gPD0gMTI6CiAgICAgICAgICAgICAjIFBpY2tsZSBzdXBwb3J0Ci0gICAgICAgICAgICBzZWxmID0gZGF0ZS5fX25ld19fKGNscywgeWVhcls6NF0pCisgICAgICAgICAgICBzZWxmID0gb2JqZWN0Ll9fbmV3X18oY2xzKQogICAgICAgICAgICAgc2VsZi5fX3NldHN0YXRlKHllYXIsIG1vbnRoKQorICAgICAgICAgICAgc2VsZi5faGFzaGNvZGUgPSAtMQogICAgICAgICAgICAgcmV0dXJuIHNlbGYKKyAgICAgICAgeWVhciwgbW9udGgsIGRheSA9IF9jaGVja19kYXRlX2ZpZWxkcyh5ZWFyLCBtb250aCwgZGF5KQorICAgICAgICBob3VyLCBtaW51dGUsIHNlY29uZCwgbWljcm9zZWNvbmQgPSBfY2hlY2tfdGltZV9maWVsZHMoCisgICAgICAgICAgICBob3VyLCBtaW51dGUsIHNlY29uZCwgbWljcm9zZWNvbmQpCiAgICAgICAgIF9jaGVja190emluZm9fYXJnKHR6aW5mbykKLSAgICAgICAgX2NoZWNrX3RpbWVfZmllbGRzKGhvdXIsIG1pbnV0ZSwgc2Vjb25kLCBtaWNyb3NlY29uZCkKLSAgICAgICAgc2VsZiA9IGRhdGUuX19uZXdfXyhjbHMsIHllYXIsIG1vbnRoLCBkYXkpCisgICAgICAgIHNlbGYgPSBvYmplY3QuX19uZXdfXyhjbHMpCisgICAgICAgIHNlbGYuX3llYXIgPSB5ZWFyCisgICAgICAgIHNlbGYuX21vbnRoID0gbW9udGgKKyAgICAgICAgc2VsZi5fZGF5ID0gZGF5CiAgICAgICAgIHNlbGYuX2hvdXIgPSBob3VyCiAgICAgICAgIHNlbGYuX21pbnV0ZSA9IG1pbnV0ZQogICAgICAgICBzZWxmLl9zZWNvbmQgPSBzZWNvbmQKICAgICAgICAgc2VsZi5fbWljcm9zZWNvbmQgPSBtaWNyb3NlY29uZAogICAgICAgICBzZWxmLl90emluZm8gPSB0emluZm8KKyAgICAgICAgc2VsZi5faGFzaGNvZGUgPSAtMQogICAgICAgICByZXR1cm4gc2VsZgogCiAgICAgIyBSZWFkLW9ubHkgZmllbGQgYWNjZXNzb3JzCkBAIC0xMzQ2LDcgKzEzNTAsNiBAQAogCiAgICAgICAgIEEgdGltZXpvbmUgaW5mbyBvYmplY3QgbWF5IGJlIHBhc3NlZCBpbiBhcyB3ZWxsLgogICAgICAgICAiIiIKLQogICAgICAgICBfY2hlY2tfdHppbmZvX2FyZyh0eikKIAogICAgICAgICBjb252ZXJ0ZXIgPSBfdGltZS5sb2NhbHRpbWUgaWYgdHogaXMgTm9uZSBlbHNlIF90aW1lLmdtdGltZQpAQCAtMTM4NSwxMSArMTM4OCw2IEBACiAgICAgICAgIHNzID0gbWluKHNzLCA1OSkgICAgIyBjbGFtcCBvdXQgbGVhcCBzZWNvbmRzIGlmIHRoZSBwbGF0Zm9ybSBoYXMgdGhlbQogICAgICAgICByZXR1cm4gY2xzKHksIG0sIGQsIGhoLCBtbSwgc3MsIHVzKQogCi0gICAgIyBYWFggVGhpcyBpcyBzdXBwb3NlZCB0byBkbyBiZXR0ZXIgdGhhbiB3ZSAqY2FuKiBkbyBieSB1c2luZyB0aW1lLnRpbWUoKSwKLSAgICAjIFhYWCBpZiB0aGUgcGxhdGZvcm0gc3VwcG9ydHMgYSBtb3JlIGFjY3VyYXRlIHdheS4gIFRoZSBDIGltcGxlbWVudGF0aW9uCi0gICAgIyBYWFggdXNlcyBnZXR0aW1lb2ZkYXkgb24gcGxhdGZvcm1zIHRoYXQgaGF2ZSBpdCwgYnV0IHRoYXQgaXNuJ3QKLSAgICAjIFhYWCBhdmFpbGFibGUgZnJvbSBQeXRob24uICBTbyBub3coKSBtYXkgcmV0dXJuIGRpZmZlcmVudCByZXN1bHRzCi0gICAgIyBYWFggYWNyb3NzIHRoZSBpbXBsZW1lbnRhdGlvbnMuCiAgICAgQGNsYXNzbWV0aG9kCiAgICAgZGVmIG5vdyhjbHMsIHR6PU5vbmUpOgogICAgICAgICAiQ29uc3RydWN0IGEgZGF0ZXRpbWUgZnJvbSB0aW1lLnRpbWUoKSBhbmQgb3B0aW9uYWwgdGltZSB6b25lIGluZm8uIgpAQCAtMTQ3NiwxMSArMTQ3NCw4IEBACiAgICAgICAgICAgICBtaWNyb3NlY29uZCA9IHNlbGYubWljcm9zZWNvbmQKICAgICAgICAgaWYgdHppbmZvIGlzIFRydWU6CiAgICAgICAgICAgICB0emluZm8gPSBzZWxmLnR6aW5mbwotICAgICAgICBfY2hlY2tfZGF0ZV9maWVsZHMoeWVhciwgbW9udGgsIGRheSkKLSAgICAgICAgX2NoZWNrX3RpbWVfZmllbGRzKGhvdXIsIG1pbnV0ZSwgc2Vjb25kLCBtaWNyb3NlY29uZCkKLSAgICAgICAgX2NoZWNrX3R6aW5mb19hcmcodHppbmZvKQotICAgICAgICByZXR1cm4gZGF0ZXRpbWUoeWVhciwgbW9udGgsIGRheSwgaG91ciwgbWludXRlLCBzZWNvbmQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIG1pY3Jvc2Vjb25kLCB0emluZm8pCisgICAgICAgIHJldHVybiBkYXRldGltZSh5ZWFyLCBtb250aCwgZGF5LCBob3VyLCBtaW51dGUsIHNlY29uZCwgbWljcm9zZWNvbmQsCisgICAgICAgICAgICAgICAgICAgICAgICB0emluZm8pCiAKICAgICBkZWYgYXN0aW1lem9uZShzZWxmLCB0ej1Ob25lKToKICAgICAgICAgaWYgdHogaXMgTm9uZToKQEAgLTE1NTAsMTAgKzE1NDUsOSBAQAogICAgICAgICBPcHRpb25hbCBhcmd1bWVudCBzZXAgc3BlY2lmaWVzIHRoZSBzZXBhcmF0b3IgYmV0d2VlbiBkYXRlIGFuZAogICAgICAgICB0aW1lLCBkZWZhdWx0ICdUJy4KICAgICAgICAgIiIiCi0gICAgICAgIHMgPSAoIiUwNGQtJTAyZC0lMDJkJWMiICUgKHNlbGYuX3llYXIsIHNlbGYuX21vbnRoLCBzZWxmLl9kYXksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VwKSArCi0gICAgICAgICAgICAgICAgX2Zvcm1hdF90aW1lKHNlbGYuX2hvdXIsIHNlbGYuX21pbnV0ZSwgc2VsZi5fc2Vjb25kLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9taWNyb3NlY29uZCkpCisgICAgICAgIHMgPSAoIiUwNGQtJTAyZC0lMDJkJWMiICUgKHNlbGYuX3llYXIsIHNlbGYuX21vbnRoLCBzZWxmLl9kYXksIHNlcCkgKworICAgICAgICAgICAgIF9mb3JtYXRfdGltZShzZWxmLl9ob3VyLCBzZWxmLl9taW51dGUsIHNlbGYuX3NlY29uZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fbWljcm9zZWNvbmQpKQogICAgICAgICBvZmYgPSBzZWxmLnV0Y29mZnNldCgpCiAgICAgICAgIGlmIG9mZiBpcyBub3QgTm9uZToKICAgICAgICAgICAgIGlmIG9mZi5kYXlzIDwgMDoKQEAgLTE1NjksMTQgKzE1NjMsMTUgQEAKIAogICAgIGRlZiBfX3JlcHJfXyhzZWxmKToKICAgICAgICAgIiIiQ29udmVydCB0byBmb3JtYWwgc3RyaW5nLCBmb3IgcmVwcigpLiIiIgotICAgICAgICBMID0gW3NlbGYuX3llYXIsIHNlbGYuX21vbnRoLCBzZWxmLl9kYXksICMgVGhlc2UgYXJlIG5ldmVyIHplcm8KKyAgICAgICAgTCA9IFtzZWxmLl95ZWFyLCBzZWxmLl9tb250aCwgc2VsZi5fZGF5LCAgIyBUaGVzZSBhcmUgbmV2ZXIgemVybwogICAgICAgICAgICAgIHNlbGYuX2hvdXIsIHNlbGYuX21pbnV0ZSwgc2VsZi5fc2Vjb25kLCBzZWxmLl9taWNyb3NlY29uZF0KICAgICAgICAgaWYgTFstMV0gPT0gMDoKICAgICAgICAgICAgIGRlbCBMWy0xXQogICAgICAgICBpZiBMWy0xXSA9PSAwOgogICAgICAgICAgICAgZGVsIExbLTFdCi0gICAgICAgIHMgPSAiLCAiLmpvaW4obWFwKHN0ciwgTCkpCi0gICAgICAgIHMgPSAiJXMoJXMpIiAlICgnZGF0ZXRpbWUuJyArIHNlbGYuX19jbGFzc19fLl9fbmFtZV9fLCBzKQorICAgICAgICBzID0gIiVzLiVzKCVzKSIgJSAoc2VsZi5fX2NsYXNzX18uX19tb2R1bGVfXywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX19jbGFzc19fLl9fcXVhbG5hbWVfXywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICIsICIuam9pbihtYXAoc3RyLCBMKSkpCiAgICAgICAgIGlmIHNlbGYuX3R6aW5mbyBpcyBub3QgTm9uZToKICAgICAgICAgICAgIGFzc2VydCBzWy0xOl0gPT0gIikiCiAgICAgICAgICAgICBzID0gc1s6LTFdICsgIiwgdHppbmZvPSVyIiAlIHNlbGYuX3R6aW5mbyArICIpIgpAQCAtMTYwOCw3ICsxNjAzLDkgQEAKICAgICAgICAgaXQgbWVhbiBhbnl0aGluZyBpbiBwYXJ0aWN1bGFyLiBGb3IgZXhhbXBsZSwgIkdNVCIsICJVVEMiLCAiLTUwMCIsCiAgICAgICAgICItNTowMCIsICJFRFQiLCAiVVMvRWFzdGVybiIsICJBbWVyaWNhL05ldyBZb3JrIiBhcmUgYWxsIHZhbGlkIHJlcGxpZXMuCiAgICAgICAgICIiIgotICAgICAgICBuYW1lID0gX2NhbGxfdHppbmZvX21ldGhvZChzZWxmLl90emluZm8sICJ0em5hbWUiLCBzZWxmKQorICAgICAgICBpZiBzZWxmLl90emluZm8gaXMgTm9uZToKKyAgICAgICAgICAgIHJldHVybiBOb25lCisgICAgICAgIG5hbWUgPSBzZWxmLl90emluZm8udHpuYW1lKHNlbGYpCiAgICAgICAgIF9jaGVja190em5hbWUobmFtZSkKICAgICAgICAgcmV0dXJuIG5hbWUKIApAQCAtMTYzNywxNCArMTYzNCw2IEBACiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICByZXR1cm4gRmFsc2UKIAotICAgIGRlZiBfX25lX18oc2VsZiwgb3RoZXIpOgotICAgICAgICBpZiBpc2luc3RhbmNlKG90aGVyLCBkYXRldGltZSk6Ci0gICAgICAgICAgICByZXR1cm4gc2VsZi5fY21wKG90aGVyLCBhbGxvd19taXhlZD1UcnVlKSAhPSAwCi0gICAgICAgIGVsaWYgbm90IGlzaW5zdGFuY2Uob3RoZXIsIGRhdGUpOgotICAgICAgICAgICAgcmV0dXJuIE5vdEltcGxlbWVudGVkCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICByZXR1cm4gVHJ1ZQotCiAgICAgZGVmIF9fbGVfXyhzZWxmLCBvdGhlcik6CiAgICAgICAgIGlmIGlzaW5zdGFuY2Uob3RoZXIsIGRhdGV0aW1lKToKICAgICAgICAgICAgIHJldHVybiBzZWxmLl9jbXAob3RoZXIpIDw9IDAKQEAgLTE2OTQsOSArMTY4Myw5IEBACiAgICAgICAgICAgICByZXR1cm4gX2NtcCgoc2VsZi5feWVhciwgc2VsZi5fbW9udGgsIHNlbGYuX2RheSwKICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9ob3VyLCBzZWxmLl9taW51dGUsIHNlbGYuX3NlY29uZCwKICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9taWNyb3NlY29uZCksCi0gICAgICAgICAgICAgICAgICAgICAgIChvdGhlci5feWVhciwgb3RoZXIuX21vbnRoLCBvdGhlci5fZGF5LAotICAgICAgICAgICAgICAgICAgICAgICAgb3RoZXIuX2hvdXIsIG90aGVyLl9taW51dGUsIG90aGVyLl9zZWNvbmQsCi0gICAgICAgICAgICAgICAgICAgICAgICBvdGhlci5fbWljcm9zZWNvbmQpKQorICAgICAgICAgICAgICAgICAgICAgICAgKG90aGVyLl95ZWFyLCBvdGhlci5fbW9udGgsIG90aGVyLl9kYXksCisgICAgICAgICAgICAgICAgICAgICAgICAgb3RoZXIuX2hvdXIsIG90aGVyLl9taW51dGUsIG90aGVyLl9zZWNvbmQsCisgICAgICAgICAgICAgICAgICAgICAgICAgb3RoZXIuX21pY3Jvc2Vjb25kKSkKICAgICAgICAgaWYgbXlvZmYgaXMgTm9uZSBvciBvdG9mZiBpcyBOb25lOgogICAgICAgICAgICAgaWYgYWxsb3dfbWl4ZWQ6CiAgICAgICAgICAgICAgICAgcmV0dXJuIDIgIyBhcmJpdHJhcnkgbm9uLXplcm8gdmFsdWUKQEAgLTE3NTQsMTIgKzE3NDMsMTUgQEAKICAgICAgICAgcmV0dXJuIGJhc2UgKyBvdG9mZiAtIG15b2ZmCiAKICAgICBkZWYgX19oYXNoX18oc2VsZik6Ci0gICAgICAgIHR6b2ZmID0gc2VsZi51dGNvZmZzZXQoKQotICAgICAgICBpZiB0em9mZiBpcyBOb25lOgotICAgICAgICAgICAgcmV0dXJuIGhhc2goc2VsZi5fZ2V0c3RhdGUoKVswXSkKLSAgICAgICAgZGF5cyA9IF95bWQyb3JkKHNlbGYueWVhciwgc2VsZi5tb250aCwgc2VsZi5kYXkpCi0gICAgICAgIHNlY29uZHMgPSBzZWxmLmhvdXIgKiAzNjAwICsgc2VsZi5taW51dGUgKiA2MCArIHNlbGYuc2Vjb25kCi0gICAgICAgIHJldHVybiBoYXNoKHRpbWVkZWx0YShkYXlzLCBzZWNvbmRzLCBzZWxmLm1pY3Jvc2Vjb25kKSAtIHR6b2ZmKQorICAgICAgICBpZiBzZWxmLl9oYXNoY29kZSA9PSAtMToKKyAgICAgICAgICAgIHR6b2ZmID0gc2VsZi51dGNvZmZzZXQoKQorICAgICAgICAgICAgaWYgdHpvZmYgaXMgTm9uZToKKyAgICAgICAgICAgICAgICBzZWxmLl9oYXNoY29kZSA9IGhhc2goc2VsZi5fZ2V0c3RhdGUoKVswXSkKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgZGF5cyA9IF95bWQyb3JkKHNlbGYueWVhciwgc2VsZi5tb250aCwgc2VsZi5kYXkpCisgICAgICAgICAgICAgICAgc2Vjb25kcyA9IHNlbGYuaG91ciAqIDM2MDAgKyBzZWxmLm1pbnV0ZSAqIDYwICsgc2VsZi5zZWNvbmQKKyAgICAgICAgICAgICAgICBzZWxmLl9oYXNoY29kZSA9IGhhc2godGltZWRlbHRhKGRheXMsIHNlY29uZHMsIHNlbGYubWljcm9zZWNvbmQpIC0gdHpvZmYpCisgICAgICAgIHJldHVybiBzZWxmLl9oYXNoY29kZQogCiAgICAgIyBQaWNrbGUgc3VwcG9ydC4KIApAQCAtMTc3NiwxNCArMTc2OCwxMyBAQAogICAgICAgICAgICAgcmV0dXJuIChiYXNlc3RhdGUsIHNlbGYuX3R6aW5mbykKIAogICAgIGRlZiBfX3NldHN0YXRlKHNlbGYsIHN0cmluZywgdHppbmZvKToKKyAgICAgICAgaWYgdHppbmZvIGlzIG5vdCBOb25lIGFuZCBub3QgaXNpbnN0YW5jZSh0emluZm8sIF90emluZm9fY2xhc3MpOgorICAgICAgICAgICAgcmFpc2UgVHlwZUVycm9yKCJiYWQgdHppbmZvIHN0YXRlIGFyZyIpCiAgICAgICAgICh5aGksIHlsbywgc2VsZi5fbW9udGgsIHNlbGYuX2RheSwgc2VsZi5faG91ciwKICAgICAgICAgIHNlbGYuX21pbnV0ZSwgc2VsZi5fc2Vjb25kLCB1czEsIHVzMiwgdXMzKSA9IHN0cmluZwogICAgICAgICBzZWxmLl95ZWFyID0geWhpICogMjU2ICsgeWxvCiAgICAgICAgIHNlbGYuX21pY3Jvc2Vjb25kID0gKCgodXMxIDw8IDgpIHwgdXMyKSA8PCA4KSB8IHVzMwotICAgICAgICBpZiB0emluZm8gaXMgTm9uZSBvciBpc2luc3RhbmNlKHR6aW5mbywgX3R6aW5mb19jbGFzcyk6Ci0gICAgICAgICAgICBzZWxmLl90emluZm8gPSB0emluZm8KLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHJhaXNlIFR5cGVFcnJvcigiYmFkIHR6aW5mbyBzdGF0ZSBhcmcgJXIiICUgdHppbmZvKQorICAgICAgICBzZWxmLl90emluZm8gPSB0emluZm8KIAogICAgIGRlZiBfX3JlZHVjZV9fKHNlbGYpOgogICAgICAgICByZXR1cm4gKHNlbGYuX19jbGFzc19fLCBzZWxmLl9nZXRzdGF0ZSgpKQpAQCAtMTc5OSw3ICsxNzkwLDcgQEAKICAgICAjIFhYWCBUaGlzIGNvdWxkIGJlIGRvbmUgbW9yZSBlZmZpY2llbnRseQogICAgIFRIVVJTREFZID0gMwogICAgIGZpcnN0ZGF5ID0gX3ltZDJvcmQoeWVhciwgMSwgMSkKLSAgICBmaXJzdHdlZWtkYXkgPSAoZmlyc3RkYXkgKyA2KSAlIDcgIyBTZWUgd2Vla2RheSgpIGFib3ZlCisgICAgZmlyc3R3ZWVrZGF5ID0gKGZpcnN0ZGF5ICsgNikgJSA3ICAjIFNlZSB3ZWVrZGF5KCkgYWJvdmUKICAgICB3ZWVrMW1vbmRheSA9IGZpcnN0ZGF5IC0gZmlyc3R3ZWVrZGF5CiAgICAgaWYgZmlyc3R3ZWVrZGF5ID4gVEhVUlNEQVk6CiAgICAgICAgIHdlZWsxbW9uZGF5ICs9IDcKQEAgLTE4MjAsMTMgKzE4MTEsMTIgQEAKICAgICAgICAgZWxpZiBub3QgaXNpbnN0YW5jZShuYW1lLCBzdHIpOgogICAgICAgICAgICAgcmFpc2UgVHlwZUVycm9yKCJuYW1lIG11c3QgYmUgYSBzdHJpbmciKQogICAgICAgICBpZiBub3QgY2xzLl9taW5vZmZzZXQgPD0gb2Zmc2V0IDw9IGNscy5fbWF4b2Zmc2V0OgotICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigib2Zmc2V0IG11c3QgYmUgYSB0aW1lZGVsdGEiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICIgc3RyaWN0bHkgYmV0d2VlbiAtdGltZWRlbHRhKGhvdXJzPTI0KSBhbmQiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICIgdGltZWRlbHRhKGhvdXJzPTI0KS4iKQotICAgICAgICBpZiAob2Zmc2V0Lm1pY3Jvc2Vjb25kcyAhPSAwIG9yCi0gICAgICAgICAgICBvZmZzZXQuc2Vjb25kcyAlIDYwICE9IDApOgotICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigib2Zmc2V0IG11c3QgYmUgYSB0aW1lZGVsdGEiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICIgcmVwcmVzZW50aW5nIGEgd2hvbGUgbnVtYmVyIG9mIG1pbnV0ZXMiKQorICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigib2Zmc2V0IG11c3QgYmUgYSB0aW1lZGVsdGEgIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3RyaWN0bHkgYmV0d2VlbiAtdGltZWRlbHRhKGhvdXJzPTI0KSBhbmQgIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGltZWRlbHRhKGhvdXJzPTI0KS4iKQorICAgICAgICBpZiAob2Zmc2V0Lm1pY3Jvc2Vjb25kcyAhPSAwIG9yIG9mZnNldC5zZWNvbmRzICUgNjAgIT0gMCk6CisgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJvZmZzZXQgbXVzdCBiZSBhIHRpbWVkZWx0YSAiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyZXByZXNlbnRpbmcgYSB3aG9sZSBudW1iZXIgb2YgbWludXRlcyIpCiAgICAgICAgIHJldHVybiBjbHMuX2NyZWF0ZShvZmZzZXQsIG5hbWUpCiAKICAgICBAY2xhc3NtZXRob2QKQEAgLTE4NjMsMTAgKzE4NTMsMTIgQEAKICAgICAgICAgaWYgc2VsZiBpcyBzZWxmLnV0YzoKICAgICAgICAgICAgIHJldHVybiAnZGF0ZXRpbWUudGltZXpvbmUudXRjJwogICAgICAgICBpZiBzZWxmLl9uYW1lIGlzIE5vbmU6Ci0gICAgICAgICAgICByZXR1cm4gIiVzKCVyKSIgJSAoJ2RhdGV0aW1lLicgKyBzZWxmLl9fY2xhc3NfXy5fX25hbWVfXywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9vZmZzZXQpCi0gICAgICAgIHJldHVybiAiJXMoJXIsICVyKSIgJSAoJ2RhdGV0aW1lLicgKyBzZWxmLl9fY2xhc3NfXy5fX25hbWVfXywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9vZmZzZXQsIHNlbGYuX25hbWUpCisgICAgICAgICAgICByZXR1cm4gIiVzLiVzKCVyKSIgJSAoc2VsZi5fX2NsYXNzX18uX19tb2R1bGVfXywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9fY2xhc3NfXy5fX3F1YWxuYW1lX18sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fb2Zmc2V0KQorICAgICAgICByZXR1cm4gIiVzLiVzKCVyLCAlcikiICUgKHNlbGYuX19jbGFzc19fLl9fbW9kdWxlX18sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fX2NsYXNzX18uX19xdWFsbmFtZV9fLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX29mZnNldCwgc2VsZi5fbmFtZSkKIAogICAgIGRlZiBfX3N0cl9fKHNlbGYpOgogICAgICAgICByZXR1cm4gc2VsZi50em5hbWUoTm9uZSkKQEAgLTIxMjEsMTQgKzIxMTMsMTMgQEAKICAgICBwYXNzCiBlbHNlOgogICAgICMgQ2xlYW4gdXAgdW51c2VkIG5hbWVzCi0gICAgZGVsIChfREFZTkFNRVMsIF9EQVlTX0JFRk9SRV9NT05USCwgX0RBWVNfSU5fTU9OVEgsCi0gICAgICAgICBfREkxMDBZLCBfREk0MDBZLCBfREk0WSwgX01BWE9SRElOQUwsIF9NT05USE5BTUVTLAotICAgICAgICAgX2J1aWxkX3N0cnVjdF90aW1lLCBfY2FsbF90emluZm9fbWV0aG9kLCBfY2hlY2tfZGF0ZV9maWVsZHMsCi0gICAgICAgICBfY2hlY2tfdGltZV9maWVsZHMsIF9jaGVja190emluZm9fYXJnLCBfY2hlY2tfdHpuYW1lLAotICAgICAgICAgX2NoZWNrX3V0Y19vZmZzZXQsIF9jbXAsIF9jbXBlcnJvciwgX2RhdGVfY2xhc3MsIF9kYXlzX2JlZm9yZV9tb250aCwKLSAgICAgICAgIF9kYXlzX2JlZm9yZV95ZWFyLCBfZGF5c19pbl9tb250aCwgX2Zvcm1hdF90aW1lLCBfaXNfbGVhcCwKLSAgICAgICAgIF9pc293ZWVrMW1vbmRheSwgX21hdGgsIF9vcmQyeW1kLCBfdGltZSwgX3RpbWVfY2xhc3MsIF90emluZm9fY2xhc3MsCi0gICAgICAgICBfd3JhcF9zdHJmdGltZSwgX3ltZDJvcmQpCisgICAgZGVsIChfREFZTkFNRVMsIF9EQVlTX0JFRk9SRV9NT05USCwgX0RBWVNfSU5fTU9OVEgsIF9ESTEwMFksIF9ESTQwMFksCisgICAgICAgICBfREk0WSwgX0VQT0NILCBfTUFYT1JESU5BTCwgX01PTlRITkFNRVMsIF9idWlsZF9zdHJ1Y3RfdGltZSwKKyAgICAgICAgIF9jaGVja19kYXRlX2ZpZWxkcywgX2NoZWNrX2ludF9maWVsZCwgX2NoZWNrX3RpbWVfZmllbGRzLAorICAgICAgICAgX2NoZWNrX3R6aW5mb19hcmcsIF9jaGVja190em5hbWUsIF9jaGVja191dGNfb2Zmc2V0LCBfY21wLCBfY21wZXJyb3IsCisgICAgICAgICBfZGF0ZV9jbGFzcywgX2RheXNfYmVmb3JlX21vbnRoLCBfZGF5c19iZWZvcmVfeWVhciwgX2RheXNfaW5fbW9udGgsCisgICAgICAgICBfZm9ybWF0X3RpbWUsIF9pc19sZWFwLCBfaXNvd2VlazFtb25kYXksIF9tYXRoLCBfb3JkMnltZCwKKyAgICAgICAgIF90aW1lLCBfdGltZV9jbGFzcywgX3R6aW5mb19jbGFzcywgX3dyYXBfc3RyZnRpbWUsIF95bWQyb3JkKQogICAgICMgWFhYIFNpbmNlIGltcG9ydCAqIGFib3ZlIGV4Y2x1ZGVzIG5hbWVzIHRoYXQgc3RhcnQgd2l0aCBfLAogICAgICMgZG9jc3RyaW5nIGRvZXMgbm90IGdldCBvdmVyd3JpdHRlbi4gSW4gdGhlIGZ1dHVyZSwgaXQgbWF5IGJlCiAgICAgIyBhcHByb3ByaWF0ZSB0byBtYWludGFpbiBhIHNpbmdsZSBtb2R1bGUgbGV2ZWwgZG9jc3RyaW5nIGFuZApkaWZmIC0tZ2l0IGEvTGliL2RibS9kdW1iLnB5IGIvTGliL2RibS9kdW1iLnB5CmluZGV4IGE5ZWFkNjguLjM0MjQwOTYgMTAwNjQ0Ci0tLSBhL0xpYi9kYm0vZHVtYi5weQorKysgYi9MaWIvZGJtL2R1bWIucHkKQEAgLTQ1LDcgKzQ1LDcgQEAKICAgICBfb3MgPSBfb3MgICAgICAgIyBmb3IgX2NvbW1pdCgpCiAgICAgX2lvID0gX2lvICAgICAgICMgZm9yIF9jb21taXQoKQogCi0gICAgZGVmIF9faW5pdF9fKHNlbGYsIGZpbGViYXNlbmFtZSwgbW9kZSk6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIGZpbGViYXNlbmFtZSwgbW9kZSwgZmxhZz0nYycpOgogICAgICAgICBzZWxmLl9tb2RlID0gbW9kZQogCiAgICAgICAgICMgVGhlIGRpcmVjdG9yeSBmaWxlIGlzIGEgdGV4dCBmaWxlLiAgRWFjaCBsaW5lIGxvb2tzIGxpa2UKQEAgLTY1LDYgKzY1LDE3IEBACiAgICAgICAgICMgVGhlIGluZGV4IGlzIGFuIGluLW1lbW9yeSBkaWN0LCBtaXJyb3JpbmcgdGhlIGRpcmVjdG9yeSBmaWxlLgogICAgICAgICBzZWxmLl9pbmRleCA9IE5vbmUgICMgbWFwcyBrZXlzIHRvIChwb3MsIHNpeikgcGFpcnMKIAorICAgICAgICAjIEhhbmRsZSB0aGUgY3JlYXRpb24KKyAgICAgICAgc2VsZi5fY3JlYXRlKGZsYWcpCisgICAgICAgIHNlbGYuX3VwZGF0ZSgpCisKKyAgICBkZWYgX2NyZWF0ZShzZWxmLCBmbGFnKToKKyAgICAgICAgaWYgZmxhZyA9PSAnbic6CisgICAgICAgICAgICBmb3IgZmlsZW5hbWUgaW4gKHNlbGYuX2RhdGZpbGUsIHNlbGYuX2Jha2ZpbGUsIHNlbGYuX2RpcmZpbGUpOgorICAgICAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICAgICAgX29zLnJlbW92ZShmaWxlbmFtZSkKKyAgICAgICAgICAgICAgICBleGNlcHQgT1NFcnJvcjoKKyAgICAgICAgICAgICAgICAgICAgcGFzcwogICAgICAgICAjIE1vZCBieSBKYWNrOiBjcmVhdGUgZGF0YSBmaWxlIGlmIG5lZWRlZAogICAgICAgICB0cnk6CiAgICAgICAgICAgICBmID0gX2lvLm9wZW4oc2VsZi5fZGF0ZmlsZSwgJ3InLCBlbmNvZGluZz0iTGF0aW4tMSIpCkBAIC03Myw3ICs4NCw2IEBACiAgICAgICAgICAgICAgICAgc2VsZi5fY2htb2Qoc2VsZi5fZGF0ZmlsZSkKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIGYuY2xvc2UoKQotICAgICAgICBzZWxmLl91cGRhdGUoKQogCiAgICAgIyBSZWFkIGRpcmVjdG9yeSBmaWxlIGludG8gdGhlIGluLW1lbW9yeSBpbmRleCBkaWN0LgogICAgIGRlZiBfdXBkYXRlKHNlbGYpOgpAQCAtMjY0LDIwICsyNzQsMjAgQEAKICAgICAgICAgc2VsZi5jbG9zZSgpCiAKIAotZGVmIG9wZW4oZmlsZSwgZmxhZz1Ob25lLCBtb2RlPTBvNjY2KToKK2RlZiBvcGVuKGZpbGUsIGZsYWc9J2MnLCBtb2RlPTBvNjY2KToKICAgICAiIiJPcGVuIHRoZSBkYXRhYmFzZSBmaWxlLCBmaWxlbmFtZSwgYW5kIHJldHVybiBjb3JyZXNwb25kaW5nIG9iamVjdC4KIAogICAgIFRoZSBmbGFnIGFyZ3VtZW50LCB1c2VkIHRvIGNvbnRyb2wgaG93IHRoZSBkYXRhYmFzZSBpcyBvcGVuZWQgaW4gdGhlCi0gICAgb3RoZXIgREJNIGltcGxlbWVudGF0aW9ucywgaXMgaWdub3JlZCBpbiB0aGUgZGJtLmR1bWIgbW9kdWxlOyB0aGUKLSAgICBkYXRhYmFzZSBpcyBhbHdheXMgb3BlbmVkIGZvciB1cGRhdGUsIGFuZCB3aWxsIGJlIGNyZWF0ZWQgaWYgaXQgZG9lcwotICAgIG5vdCBleGlzdC4KKyAgICBvdGhlciBEQk0gaW1wbGVtZW50YXRpb25zLCBzdXBwb3J0cyBvbmx5IHRoZSBzZW1hbnRpY3Mgb2YgJ2MnIGFuZCAnbicKKyAgICB2YWx1ZXMuICBPdGhlciB2YWx1ZXMgd2lsbCBkZWZhdWx0IHRvIHRoZSBzZW1hbnRpY3Mgb2YgJ2MnIHZhbHVlOgorICAgIHRoZSBkYXRhYmFzZSB3aWxsIGFsd2F5cyBvcGVuZWQgZm9yIHVwZGF0ZSBhbmQgd2lsbCBiZSBjcmVhdGVkIGlmIGl0CisgICAgZG9lcyBub3QgZXhpc3QuCiAKICAgICBUaGUgb3B0aW9uYWwgbW9kZSBhcmd1bWVudCBpcyB0aGUgVU5JWCBtb2RlIG9mIHRoZSBmaWxlLCB1c2VkIG9ubHkgd2hlbgogICAgIHRoZSBkYXRhYmFzZSBoYXMgdG8gYmUgY3JlYXRlZC4gIEl0IGRlZmF1bHRzIHRvIG9jdGFsIGNvZGUgMG82NjYgKGFuZAogICAgIHdpbGwgYmUgbW9kaWZpZWQgYnkgdGhlIHByZXZhaWxpbmcgdW1hc2spLgogCiAgICAgIiIiCi0gICAgIyBmbGFnIGFyZ3VtZW50IGlzIGN1cnJlbnRseSBpZ25vcmVkCiAKICAgICAjIE1vZGlmeSBtb2RlIGRlcGVuZGluZyBvbiB0aGUgdW1hc2sKICAgICB0cnk6CkBAIC0yODgsNSArMjk4LDQgQEAKICAgICBlbHNlOgogICAgICAgICAjIFR1cm4gb2ZmIGFueSBiaXRzIHRoYXQgYXJlIHNldCBpbiB0aGUgdW1hc2sKICAgICAgICAgbW9kZSA9IG1vZGUgJiAofnVtKQotCi0gICAgcmV0dXJuIF9EYXRhYmFzZShmaWxlLCBtb2RlKQorICAgIHJldHVybiBfRGF0YWJhc2UoZmlsZSwgbW9kZSwgZmxhZz1mbGFnKQpkaWZmIC0tZ2l0IGEvTGliL2RlY2ltYWwucHkgYi9MaWIvZGVjaW1hbC5weQppbmRleCBiMjU0ZjljLi43NzQ2ZWEyIDEwMDY0NAotLS0gYS9MaWIvZGVjaW1hbC5weQorKysgYi9MaWIvZGVjaW1hbC5weQpAQCAtMSw2NDE0ICsxLDExIEBACi0jIENvcHlyaWdodCAoYykgMjAwNCBQeXRob24gU29mdHdhcmUgRm91bmRhdGlvbi4KLSMgQWxsIHJpZ2h0cyByZXNlcnZlZC4KLQotIyBXcml0dGVuIGJ5IEVyaWMgUHJpY2UgPGVwcmljZSBhdCB0amhzc3QuZWR1PgotIyAgICBhbmQgRmFjdW5kbyBCYXRpc3RhIDxmYWN1bmRvIGF0IHRhbmlxdWV0aWwuY29tLmFyPgotIyAgICBhbmQgUmF5bW9uZCBIZXR0aW5nZXIgPHB5dGhvbiBhdCByY24uY29tPgotIyAgICBhbmQgQWFoeiA8YWFoeiBhdCBwb2JveC5jb20+Ci0jICAgIGFuZCBUaW0gUGV0ZXJzCi0KLSMgVGhpcyBtb2R1bGUgc2hvdWxkIGJlIGtlcHQgaW4gc3luYyB3aXRoIHRoZSBsYXRlc3QgdXBkYXRlcyBvZiB0aGUKLSMgSUJNIHNwZWNpZmljYXRpb24gYXMgaXQgZXZvbHZlcy4gIFRob3NlIHVwZGF0ZXMgd2lsbCBiZSB0cmVhdGVkCi0jIGFzIGJ1ZyBmaXhlcyAoZGV2aWF0aW9uIGZyb20gdGhlIHNwZWMgaXMgYSBjb21wYXRpYmlsaXR5LCB1c2FiaWxpdHkKLSMgYnVnKSBhbmQgd2lsbCBiZSBiYWNrcG9ydGVkLiAgQXQgdGhpcyBwb2ludCB0aGUgc3BlYyBpcyBzdGFiaWxpemluZwotIyBhbmQgdGhlIHVwZGF0ZXMgYXJlIGJlY29taW5nIGZld2VyLCBzbWFsbGVyLCBhbmQgbGVzcyBzaWduaWZpY2FudC4KLQotIiIiCi1UaGlzIGlzIGFuIGltcGxlbWVudGF0aW9uIG9mIGRlY2ltYWwgZmxvYXRpbmcgcG9pbnQgYXJpdGhtZXRpYyBiYXNlZCBvbgotdGhlIEdlbmVyYWwgRGVjaW1hbCBBcml0aG1ldGljIFNwZWNpZmljYXRpb246Ci0KLSAgICBodHRwOi8vc3BlbGVvdHJvdmUuY29tL2RlY2ltYWwvZGVjYXJpdGguaHRtbAotCi1hbmQgSUVFRSBzdGFuZGFyZCA4NTQtMTk4NzoKLQotICAgIGh0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvSUVFRV84NTQtMTk4NwotCi1EZWNpbWFsIGZsb2F0aW5nIHBvaW50IGhhcyBmaW5pdGUgcHJlY2lzaW9uIHdpdGggYXJiaXRyYXJpbHkgbGFyZ2UgYm91bmRzLgotCi1UaGUgcHVycG9zZSBvZiB0aGlzIG1vZHVsZSBpcyB0byBzdXBwb3J0IGFyaXRobWV0aWMgdXNpbmcgZmFtaWxpYXIKLSJzY2hvb2xob3VzZSIgcnVsZXMgYW5kIHRvIGF2b2lkIHNvbWUgb2YgdGhlIHRyaWNreSByZXByZXNlbnRhdGlvbgotaXNzdWVzIGFzc29jaWF0ZWQgd2l0aCBiaW5hcnkgZmxvYXRpbmcgcG9pbnQuICBUaGUgcGFja2FnZSBpcyBlc3BlY2lhbGx5Ci11c2VmdWwgZm9yIGZpbmFuY2lhbCBhcHBsaWNhdGlvbnMgb3IgZm9yIGNvbnRleHRzIHdoZXJlIHVzZXJzIGhhdmUKLWV4cGVjdGF0aW9ucyB0aGF0IGFyZSBhdCBvZGRzIHdpdGggYmluYXJ5IGZsb2F0aW5nIHBvaW50IChmb3IgaW5zdGFuY2UsCi1pbiBiaW5hcnkgZmxvYXRpbmcgcG9pbnQsIDEuMDAgJSAwLjEgZ2l2ZXMgMC4wOTk5OTk5OTk5OTk5OTk5NSBpbnN0ZWFkCi1vZiAwLjA7IERlY2ltYWwoJzEuMDAnKSAlIERlY2ltYWwoJzAuMScpIHJldHVybnMgdGhlIGV4cGVjdGVkCi1EZWNpbWFsKCcwLjAwJykpLgotCi1IZXJlIGFyZSBzb21lIGV4YW1wbGVzIG9mIHVzaW5nIHRoZSBkZWNpbWFsIG1vZHVsZToKLQotPj4+IGZyb20gZGVjaW1hbCBpbXBvcnQgKgotPj4+IHNldGNvbnRleHQoRXh0ZW5kZWRDb250ZXh0KQotPj4+IERlY2ltYWwoMCkKLURlY2ltYWwoJzAnKQotPj4+IERlY2ltYWwoJzEnKQotRGVjaW1hbCgnMScpCi0+Pj4gRGVjaW1hbCgnLS4wMTIzJykKLURlY2ltYWwoJy0wLjAxMjMnKQotPj4+IERlY2ltYWwoMTIzNDU2KQotRGVjaW1hbCgnMTIzNDU2JykKLT4+PiBEZWNpbWFsKCcxMjMuNDVlMTIzNDU2NzgnKQotRGVjaW1hbCgnMS4yMzQ1RSsxMjM0NTY4MCcpCi0+Pj4gRGVjaW1hbCgnMS4zMycpICsgRGVjaW1hbCgnMS4yNycpCi1EZWNpbWFsKCcyLjYwJykKLT4+PiBEZWNpbWFsKCcxMi4zNCcpICsgRGVjaW1hbCgnMy44NycpIC0gRGVjaW1hbCgnMTguNDEnKQotRGVjaW1hbCgnLTIuMjAnKQotPj4+IGRpZyA9IERlY2ltYWwoMSkKLT4+PiBwcmludChkaWcgLyBEZWNpbWFsKDMpKQotMC4zMzMzMzMzMzMKLT4+PiBnZXRjb250ZXh0KCkucHJlYyA9IDE4Ci0+Pj4gcHJpbnQoZGlnIC8gRGVjaW1hbCgzKSkKLTAuMzMzMzMzMzMzMzMzMzMzMzMzCi0+Pj4gcHJpbnQoZGlnLnNxcnQoKSkKLTEKLT4+PiBwcmludChEZWNpbWFsKDMpLnNxcnQoKSkKLTEuNzMyMDUwODA3NTY4ODc3MjkKLT4+PiBwcmludChEZWNpbWFsKDMpICoqIDEyMykKLTQuODUxOTI3ODA5NzY4OTY0MjdFKzU4Ci0+Pj4gaW5mID0gRGVjaW1hbCgxKSAvIERlY2ltYWwoMCkKLT4+PiBwcmludChpbmYpCi1JbmZpbml0eQotPj4+IG5lZ2luZiA9IERlY2ltYWwoLTEpIC8gRGVjaW1hbCgwKQotPj4+IHByaW50KG5lZ2luZikKLS1JbmZpbml0eQotPj4+IHByaW50KG5lZ2luZiArIGluZikKLU5hTgotPj4+IHByaW50KG5lZ2luZiAqIGluZikKLS1JbmZpbml0eQotPj4+IHByaW50KGRpZyAvIDApCi1JbmZpbml0eQotPj4+IGdldGNvbnRleHQoKS50cmFwc1tEaXZpc2lvbkJ5WmVyb10gPSAxCi0+Pj4gcHJpbnQoZGlnIC8gMCkKLVRyYWNlYmFjayAobW9zdCByZWNlbnQgY2FsbCBsYXN0KToKLSAgLi4uCi0gIC4uLgotICAuLi4KLWRlY2ltYWwuRGl2aXNpb25CeVplcm86IHggLyAwCi0+Pj4gYyA9IENvbnRleHQoKQotPj4+IGMudHJhcHNbSW52YWxpZE9wZXJhdGlvbl0gPSAwCi0+Pj4gcHJpbnQoYy5mbGFnc1tJbnZhbGlkT3BlcmF0aW9uXSkKLTAKLT4+PiBjLmRpdmlkZShEZWNpbWFsKDApLCBEZWNpbWFsKDApKQotRGVjaW1hbCgnTmFOJykKLT4+PiBjLnRyYXBzW0ludmFsaWRPcGVyYXRpb25dID0gMQotPj4+IHByaW50KGMuZmxhZ3NbSW52YWxpZE9wZXJhdGlvbl0pCi0xCi0+Pj4gYy5mbGFnc1tJbnZhbGlkT3BlcmF0aW9uXSA9IDAKLT4+PiBwcmludChjLmZsYWdzW0ludmFsaWRPcGVyYXRpb25dKQotMAotPj4+IHByaW50KGMuZGl2aWRlKERlY2ltYWwoMCksIERlY2ltYWwoMCkpKQotVHJhY2ViYWNrIChtb3N0IHJlY2VudCBjYWxsIGxhc3QpOgotICAuLi4KLSAgLi4uCi0gIC4uLgotZGVjaW1hbC5JbnZhbGlkT3BlcmF0aW9uOiAwIC8gMAotPj4+IHByaW50KGMuZmxhZ3NbSW52YWxpZE9wZXJhdGlvbl0pCi0xCi0+Pj4gYy5mbGFnc1tJbnZhbGlkT3BlcmF0aW9uXSA9IDAKLT4+PiBjLnRyYXBzW0ludmFsaWRPcGVyYXRpb25dID0gMAotPj4+IHByaW50KGMuZGl2aWRlKERlY2ltYWwoMCksIERlY2ltYWwoMCkpKQotTmFOCi0+Pj4gcHJpbnQoYy5mbGFnc1tJbnZhbGlkT3BlcmF0aW9uXSkKLTEKLT4+PgotIiIiCi0KLV9fYWxsX18gPSBbCi0gICAgIyBUd28gbWFqb3IgY2xhc3NlcwotICAgICdEZWNpbWFsJywgJ0NvbnRleHQnLAotCi0gICAgIyBOYW1lZCB0dXBsZSByZXByZXNlbnRhdGlvbgotICAgICdEZWNpbWFsVHVwbGUnLAotCi0gICAgIyBDb250ZXh0cwotICAgICdEZWZhdWx0Q29udGV4dCcsICdCYXNpY0NvbnRleHQnLCAnRXh0ZW5kZWRDb250ZXh0JywKLQotICAgICMgRXhjZXB0aW9ucwotICAgICdEZWNpbWFsRXhjZXB0aW9uJywgJ0NsYW1wZWQnLCAnSW52YWxpZE9wZXJhdGlvbicsICdEaXZpc2lvbkJ5WmVybycsCi0gICAgJ0luZXhhY3QnLCAnUm91bmRlZCcsICdTdWJub3JtYWwnLCAnT3ZlcmZsb3cnLCAnVW5kZXJmbG93JywKLSAgICAnRmxvYXRPcGVyYXRpb24nLAotCi0gICAgIyBFeGNlcHRpb25hbCBjb25kaXRpb25zIHRoYXQgdHJpZ2dlciBJbnZhbGlkT3BlcmF0aW9uCi0gICAgJ0RpdmlzaW9uSW1wb3NzaWJsZScsICdJbnZhbGlkQ29udGV4dCcsICdDb252ZXJzaW9uU3ludGF4JywgJ0RpdmlzaW9uVW5kZWZpbmVkJywKLQotICAgICMgQ29uc3RhbnRzIGZvciB1c2UgaW4gc2V0dGluZyB1cCBjb250ZXh0cwotICAgICdST1VORF9ET1dOJywgJ1JPVU5EX0hBTEZfVVAnLCAnUk9VTkRfSEFMRl9FVkVOJywgJ1JPVU5EX0NFSUxJTkcnLAotICAgICdST1VORF9GTE9PUicsICdST1VORF9VUCcsICdST1VORF9IQUxGX0RPV04nLCAnUk9VTkRfMDVVUCcsCi0KLSAgICAjIEZ1bmN0aW9ucyBmb3IgbWFuaXB1bGF0aW5nIGNvbnRleHRzCi0gICAgJ3NldGNvbnRleHQnLCAnZ2V0Y29udGV4dCcsICdsb2NhbGNvbnRleHQnLAotCi0gICAgIyBMaW1pdHMgZm9yIHRoZSBDIHZlcnNpb24gZm9yIGNvbXBhdGliaWxpdHkKLSAgICAnTUFYX1BSRUMnLCAgJ01BWF9FTUFYJywgJ01JTl9FTUlOJywgJ01JTl9FVElOWScsCi0KLSAgICAjIEMgdmVyc2lvbjogY29tcGlsZSB0aW1lIGNob2ljZSB0aGF0IGVuYWJsZXMgdGhlIHRocmVhZCBsb2NhbCBjb250ZXh0Ci0gICAgJ0hBVkVfVEhSRUFEUycKLV0KLQotX192ZXJzaW9uX18gPSAnMS43MCcgICAgIyBIaWdoZXN0IHZlcnNpb24gb2YgdGhlIHNwZWMgdGhpcyBjb21wbGllcyB3aXRoCi0gICAgICAgICAgICAgICAgICAgICAgICAjIFNlZSBodHRwOi8vc3BlbGVvdHJvdmUuY29tL2RlY2ltYWwvCi1fX2xpYm1wZGVjX3ZlcnNpb25fXyA9ICIyLjQuMSIgIyBjb21wYXRpYmxlIGxpYm1wZGVjIHZlcnNpb24KLQotaW1wb3J0IG1hdGggYXMgX21hdGgKLWltcG9ydCBudW1iZXJzIGFzIF9udW1iZXJzCi1pbXBvcnQgc3lzCiAKIHRyeToKLSAgICBmcm9tIGNvbGxlY3Rpb25zIGltcG9ydCBuYW1lZHR1cGxlIGFzIF9uYW1lZHR1cGxlCi0gICAgRGVjaW1hbFR1cGxlID0gX25hbWVkdHVwbGUoJ0RlY2ltYWxUdXBsZScsICdzaWduIGRpZ2l0cyBleHBvbmVudCcpCi1leGNlcHQgSW1wb3J0RXJyb3I6Ci0gICAgRGVjaW1hbFR1cGxlID0gbGFtYmRhICphcmdzOiBhcmdzCi0KLSMgUm91bmRpbmcKLVJPVU5EX0RPV04gPSAnUk9VTkRfRE9XTicKLVJPVU5EX0hBTEZfVVAgPSAnUk9VTkRfSEFMRl9VUCcKLVJPVU5EX0hBTEZfRVZFTiA9ICdST1VORF9IQUxGX0VWRU4nCi1ST1VORF9DRUlMSU5HID0gJ1JPVU5EX0NFSUxJTkcnCi1ST1VORF9GTE9PUiA9ICdST1VORF9GTE9PUicKLVJPVU5EX1VQID0gJ1JPVU5EX1VQJwotUk9VTkRfSEFMRl9ET1dOID0gJ1JPVU5EX0hBTEZfRE9XTicKLVJPVU5EXzA1VVAgPSAnUk9VTkRfMDVVUCcKLQotIyBDb21wYXRpYmlsaXR5IHdpdGggdGhlIEMgdmVyc2lvbgotSEFWRV9USFJFQURTID0gVHJ1ZQotaWYgc3lzLm1heHNpemUgPT0gMioqNjMtMToKLSAgICBNQVhfUFJFQyA9IDk5OTk5OTk5OTk5OTk5OTk5OQotICAgIE1BWF9FTUFYID0gOTk5OTk5OTk5OTk5OTk5OTk5Ci0gICAgTUlOX0VNSU4gPSAtOTk5OTk5OTk5OTk5OTk5OTk5Ci1lbHNlOgotICAgIE1BWF9QUkVDID0gNDI1MDAwMDAwCi0gICAgTUFYX0VNQVggPSA0MjUwMDAwMDAKLSAgICBNSU5fRU1JTiA9IC00MjUwMDAwMDAKLQotTUlOX0VUSU5ZID0gTUlOX0VNSU4gLSAoTUFYX1BSRUMtMSkKLQotIyBFcnJvcnMKLQotY2xhc3MgRGVjaW1hbEV4Y2VwdGlvbihBcml0aG1ldGljRXJyb3IpOgotICAgICIiIkJhc2UgZXhjZXB0aW9uIGNsYXNzLgotCi0gICAgVXNlZCBleGNlcHRpb25zIGRlcml2ZSBmcm9tIHRoaXMuCi0gICAgSWYgYW4gZXhjZXB0aW9uIGRlcml2ZXMgZnJvbSBhbm90aGVyIGV4Y2VwdGlvbiBiZXNpZGVzIHRoaXMgKHN1Y2ggYXMKLSAgICBVbmRlcmZsb3cgKEluZXhhY3QsIFJvdW5kZWQsIFN1Ym5vcm1hbCkgdGhhdCBpbmRpY2F0ZXMgdGhhdCBpdCBpcyBvbmx5Ci0gICAgY2FsbGVkIGlmIHRoZSBvdGhlcnMgYXJlIHByZXNlbnQuICBUaGlzIGlzbid0IGFjdHVhbGx5IHVzZWQgZm9yCi0gICAgYW55dGhpbmcsIHRob3VnaC4KLQotICAgIGhhbmRsZSAgLS0gQ2FsbGVkIHdoZW4gY29udGV4dC5fcmFpc2VfZXJyb3IgaXMgY2FsbGVkIGFuZCB0aGUKLSAgICAgICAgICAgICAgIHRyYXBfZW5hYmxlciBpcyBub3Qgc2V0LiAgRmlyc3QgYXJndW1lbnQgaXMgc2VsZiwgc2Vjb25kIGlzIHRoZQotICAgICAgICAgICAgICAgY29udGV4dC4gIE1vcmUgYXJndW1lbnRzIGNhbiBiZSBnaXZlbiwgdGhvc2UgYmVpbmcgYWZ0ZXIKLSAgICAgICAgICAgICAgIHRoZSBleHBsYW5hdGlvbiBpbiBfcmFpc2VfZXJyb3IgKEZvciBleGFtcGxlLAotICAgICAgICAgICAgICAgY29udGV4dC5fcmFpc2VfZXJyb3IoTmV3RXJyb3IsICcoLXgpIScsIHNlbGYuX3NpZ24pIHdvdWxkCi0gICAgICAgICAgICAgICBjYWxsIE5ld0Vycm9yKCkuaGFuZGxlKGNvbnRleHQsIHNlbGYuX3NpZ24pLikKLQotICAgIFRvIGRlZmluZSBhIG5ldyBleGNlcHRpb24sIGl0IHNob3VsZCBiZSBzdWZmaWNpZW50IHRvIGhhdmUgaXQgZGVyaXZlCi0gICAgZnJvbSBEZWNpbWFsRXhjZXB0aW9uLgotICAgICIiIgotICAgIGRlZiBoYW5kbGUoc2VsZiwgY29udGV4dCwgKmFyZ3MpOgotICAgICAgICBwYXNzCi0KLQotY2xhc3MgQ2xhbXBlZChEZWNpbWFsRXhjZXB0aW9uKToKLSAgICAiIiJFeHBvbmVudCBvZiBhIDAgY2hhbmdlZCB0byBmaXQgYm91bmRzLgotCi0gICAgVGhpcyBvY2N1cnMgYW5kIHNpZ25hbHMgY2xhbXBlZCBpZiB0aGUgZXhwb25lbnQgb2YgYSByZXN1bHQgaGFzIGJlZW4KLSAgICBhbHRlcmVkIGluIG9yZGVyIHRvIGZpdCB0aGUgY29uc3RyYWludHMgb2YgYSBzcGVjaWZpYyBjb25jcmV0ZQotICAgIHJlcHJlc2VudGF0aW9uLiAgVGhpcyBtYXkgb2NjdXIgd2hlbiB0aGUgZXhwb25lbnQgb2YgYSB6ZXJvIHJlc3VsdCB3b3VsZAotICAgIGJlIG91dHNpZGUgdGhlIGJvdW5kcyBvZiBhIHJlcHJlc2VudGF0aW9uLCBvciB3aGVuIGEgbGFyZ2Ugbm9ybWFsCi0gICAgbnVtYmVyIHdvdWxkIGhhdmUgYW4gZW5jb2RlZCBleHBvbmVudCB0aGF0IGNhbm5vdCBiZSByZXByZXNlbnRlZC4gIEluCi0gICAgdGhpcyBsYXR0ZXIgY2FzZSwgdGhlIGV4cG9uZW50IGlzIHJlZHVjZWQgdG8gZml0IGFuZCB0aGUgY29ycmVzcG9uZGluZwotICAgIG51bWJlciBvZiB6ZXJvIGRpZ2l0cyBhcmUgYXBwZW5kZWQgdG8gdGhlIGNvZWZmaWNpZW50ICgiZm9sZC1kb3duIikuCi0gICAgIiIiCi0KLWNsYXNzIEludmFsaWRPcGVyYXRpb24oRGVjaW1hbEV4Y2VwdGlvbik6Ci0gICAgIiIiQW4gaW52YWxpZCBvcGVyYXRpb24gd2FzIHBlcmZvcm1lZC4KLQotICAgIFZhcmlvdXMgYmFkIHRoaW5ncyBjYXVzZSB0aGlzOgotCi0gICAgU29tZXRoaW5nIGNyZWF0ZXMgYSBzaWduYWxpbmcgTmFOCi0gICAgLUlORiArIElORgotICAgIDAgKiAoKy0pSU5GCi0gICAgKCstKUlORiAvICgrLSlJTkYKLSAgICB4ICUgMAotICAgICgrLSlJTkYgJSB4Ci0gICAgeC5fcmVzY2FsZSggbm9uLWludGVnZXIgKQotICAgIHNxcnQoLXgpICwgeCA+IDAKLSAgICAwICoqIDAKLSAgICB4ICoqIChub24taW50ZWdlcikKLSAgICB4ICoqICgrLSlJTkYKLSAgICBBbiBvcGVyYW5kIGlzIGludmFsaWQKLQotICAgIFRoZSByZXN1bHQgb2YgdGhlIG9wZXJhdGlvbiBhZnRlciB0aGVzZSBpcyBhIHF1aWV0IHBvc2l0aXZlIE5hTiwKLSAgICBleGNlcHQgd2hlbiB0aGUgY2F1c2UgaXMgYSBzaWduYWxpbmcgTmFOLCBpbiB3aGljaCBjYXNlIHRoZSByZXN1bHQgaXMKLSAgICBhbHNvIGEgcXVpZXQgTmFOLCBidXQgd2l0aCB0aGUgb3JpZ2luYWwgc2lnbiwgYW5kIGFuIG9wdGlvbmFsCi0gICAgZGlhZ25vc3RpYyBpbmZvcm1hdGlvbi4KLSAgICAiIiIKLSAgICBkZWYgaGFuZGxlKHNlbGYsIGNvbnRleHQsICphcmdzKToKLSAgICAgICAgaWYgYXJnczoKLSAgICAgICAgICAgIGFucyA9IF9kZWNfZnJvbV90cmlwbGUoYXJnc1swXS5fc2lnbiwgYXJnc1swXS5faW50LCAnbicsIFRydWUpCi0gICAgICAgICAgICByZXR1cm4gYW5zLl9maXhfbmFuKGNvbnRleHQpCi0gICAgICAgIHJldHVybiBfTmFOCi0KLWNsYXNzIENvbnZlcnNpb25TeW50YXgoSW52YWxpZE9wZXJhdGlvbik6Ci0gICAgIiIiVHJ5aW5nIHRvIGNvbnZlcnQgYmFkbHkgZm9ybWVkIHN0cmluZy4KLQotICAgIFRoaXMgb2NjdXJzIGFuZCBzaWduYWxzIGludmFsaWQtb3BlcmF0aW9uIGlmIGFuIHN0cmluZyBpcyBiZWluZwotICAgIGNvbnZlcnRlZCB0byBhIG51bWJlciBhbmQgaXQgZG9lcyBub3QgY29uZm9ybSB0byB0aGUgbnVtZXJpYyBzdHJpbmcKLSAgICBzeW50YXguICBUaGUgcmVzdWx0IGlzIFswLHFOYU5dLgotICAgICIiIgotICAgIGRlZiBoYW5kbGUoc2VsZiwgY29udGV4dCwgKmFyZ3MpOgotICAgICAgICByZXR1cm4gX05hTgotCi1jbGFzcyBEaXZpc2lvbkJ5WmVybyhEZWNpbWFsRXhjZXB0aW9uLCBaZXJvRGl2aXNpb25FcnJvcik6Ci0gICAgIiIiRGl2aXNpb24gYnkgMC4KLQotICAgIFRoaXMgb2NjdXJzIGFuZCBzaWduYWxzIGRpdmlzaW9uLWJ5LXplcm8gaWYgZGl2aXNpb24gb2YgYSBmaW5pdGUgbnVtYmVyCi0gICAgYnkgemVybyB3YXMgYXR0ZW1wdGVkIChkdXJpbmcgYSBkaXZpZGUtaW50ZWdlciBvciBkaXZpZGUgb3BlcmF0aW9uLCBvciBhCi0gICAgcG93ZXIgb3BlcmF0aW9uIHdpdGggbmVnYXRpdmUgcmlnaHQtaGFuZCBvcGVyYW5kKSwgYW5kIHRoZSBkaXZpZGVuZCB3YXMKLSAgICBub3QgemVyby4KLQotICAgIFRoZSByZXN1bHQgb2YgdGhlIG9wZXJhdGlvbiBpcyBbc2lnbixpbmZdLCB3aGVyZSBzaWduIGlzIHRoZSBleGNsdXNpdmUKLSAgICBvciBvZiB0aGUgc2lnbnMgb2YgdGhlIG9wZXJhbmRzIGZvciBkaXZpZGUsIG9yIGlzIDEgZm9yIGFuIG9kZCBwb3dlciBvZgotICAgIC0wLCBmb3IgcG93ZXIuCi0gICAgIiIiCi0KLSAgICBkZWYgaGFuZGxlKHNlbGYsIGNvbnRleHQsIHNpZ24sICphcmdzKToKLSAgICAgICAgcmV0dXJuIF9TaWduZWRJbmZpbml0eVtzaWduXQotCi1jbGFzcyBEaXZpc2lvbkltcG9zc2libGUoSW52YWxpZE9wZXJhdGlvbik6Ci0gICAgIiIiQ2Fubm90IHBlcmZvcm0gdGhlIGRpdmlzaW9uIGFkZXF1YXRlbHkuCi0KLSAgICBUaGlzIG9jY3VycyBhbmQgc2lnbmFscyBpbnZhbGlkLW9wZXJhdGlvbiBpZiB0aGUgaW50ZWdlciByZXN1bHQgb2YgYQotICAgIGRpdmlkZS1pbnRlZ2VyIG9yIHJlbWFpbmRlciBvcGVyYXRpb24gaGFkIHRvbyBtYW55IGRpZ2l0cyAod291bGQgYmUKLSAgICBsb25nZXIgdGhhbiBwcmVjaXNpb24pLiAgVGhlIHJlc3VsdCBpcyBbMCxxTmFOXS4KLSAgICAiIiIKLQotICAgIGRlZiBoYW5kbGUoc2VsZiwgY29udGV4dCwgKmFyZ3MpOgotICAgICAgICByZXR1cm4gX05hTgotCi1jbGFzcyBEaXZpc2lvblVuZGVmaW5lZChJbnZhbGlkT3BlcmF0aW9uLCBaZXJvRGl2aXNpb25FcnJvcik6Ci0gICAgIiIiVW5kZWZpbmVkIHJlc3VsdCBvZiBkaXZpc2lvbi4KLQotICAgIFRoaXMgb2NjdXJzIGFuZCBzaWduYWxzIGludmFsaWQtb3BlcmF0aW9uIGlmIGRpdmlzaW9uIGJ5IHplcm8gd2FzCi0gICAgYXR0ZW1wdGVkIChkdXJpbmcgYSBkaXZpZGUtaW50ZWdlciwgZGl2aWRlLCBvciByZW1haW5kZXIgb3BlcmF0aW9uKSwgYW5kCi0gICAgdGhlIGRpdmlkZW5kIGlzIGFsc28gemVyby4gIFRoZSByZXN1bHQgaXMgWzAscU5hTl0uCi0gICAgIiIiCi0KLSAgICBkZWYgaGFuZGxlKHNlbGYsIGNvbnRleHQsICphcmdzKToKLSAgICAgICAgcmV0dXJuIF9OYU4KLQotY2xhc3MgSW5leGFjdChEZWNpbWFsRXhjZXB0aW9uKToKLSAgICAiIiJIYWQgdG8gcm91bmQsIGxvc2luZyBpbmZvcm1hdGlvbi4KLQotICAgIFRoaXMgb2NjdXJzIGFuZCBzaWduYWxzIGluZXhhY3Qgd2hlbmV2ZXIgdGhlIHJlc3VsdCBvZiBhbiBvcGVyYXRpb24gaXMKLSAgICBub3QgZXhhY3QgKHRoYXQgaXMsIGl0IG5lZWRlZCB0byBiZSByb3VuZGVkIGFuZCBhbnkgZGlzY2FyZGVkIGRpZ2l0cwotICAgIHdlcmUgbm9uLXplcm8pLCBvciBpZiBhbiBvdmVyZmxvdyBvciB1bmRlcmZsb3cgY29uZGl0aW9uIG9jY3Vycy4gIFRoZQotICAgIHJlc3VsdCBpbiBhbGwgY2FzZXMgaXMgdW5jaGFuZ2VkLgotCi0gICAgVGhlIGluZXhhY3Qgc2lnbmFsIG1heSBiZSB0ZXN0ZWQgKG9yIHRyYXBwZWQpIHRvIGRldGVybWluZSBpZiBhIGdpdmVuCi0gICAgb3BlcmF0aW9uIChvciBzZXF1ZW5jZSBvZiBvcGVyYXRpb25zKSB3YXMgaW5leGFjdC4KLSAgICAiIiIKLQotY2xhc3MgSW52YWxpZENvbnRleHQoSW52YWxpZE9wZXJhdGlvbik6Ci0gICAgIiIiSW52YWxpZCBjb250ZXh0LiAgVW5rbm93biByb3VuZGluZywgZm9yIGV4YW1wbGUuCi0KLSAgICBUaGlzIG9jY3VycyBhbmQgc2lnbmFscyBpbnZhbGlkLW9wZXJhdGlvbiBpZiBhbiBpbnZhbGlkIGNvbnRleHQgd2FzCi0gICAgZGV0ZWN0ZWQgZHVyaW5nIGFuIG9wZXJhdGlvbi4gIFRoaXMgY2FuIG9jY3VyIGlmIGNvbnRleHRzIGFyZSBub3QgY2hlY2tlZAotICAgIG9uIGNyZWF0aW9uIGFuZCBlaXRoZXIgdGhlIHByZWNpc2lvbiBleGNlZWRzIHRoZSBjYXBhYmlsaXR5IG9mIHRoZQotICAgIHVuZGVybHlpbmcgY29uY3JldGUgcmVwcmVzZW50YXRpb24gb3IgYW4gdW5rbm93biBvciB1bnN1cHBvcnRlZCByb3VuZGluZwotICAgIHdhcyBzcGVjaWZpZWQuICBUaGVzZSBhc3BlY3RzIG9mIHRoZSBjb250ZXh0IG5lZWQgb25seSBiZSBjaGVja2VkIHdoZW4KLSAgICB0aGUgdmFsdWVzIGFyZSByZXF1aXJlZCB0byBiZSB1c2VkLiAgVGhlIHJlc3VsdCBpcyBbMCxxTmFOXS4KLSAgICAiIiIKLQotICAgIGRlZiBoYW5kbGUoc2VsZiwgY29udGV4dCwgKmFyZ3MpOgotICAgICAgICByZXR1cm4gX05hTgotCi1jbGFzcyBSb3VuZGVkKERlY2ltYWxFeGNlcHRpb24pOgotICAgICIiIk51bWJlciBnb3Qgcm91bmRlZCAobm90ICBuZWNlc3NhcmlseSBjaGFuZ2VkIGR1cmluZyByb3VuZGluZykuCi0KLSAgICBUaGlzIG9jY3VycyBhbmQgc2lnbmFscyByb3VuZGVkIHdoZW5ldmVyIHRoZSByZXN1bHQgb2YgYW4gb3BlcmF0aW9uIGlzCi0gICAgcm91bmRlZCAodGhhdCBpcywgc29tZSB6ZXJvIG9yIG5vbi16ZXJvIGRpZ2l0cyB3ZXJlIGRpc2NhcmRlZCBmcm9tIHRoZQotICAgIGNvZWZmaWNpZW50KSwgb3IgaWYgYW4gb3ZlcmZsb3cgb3IgdW5kZXJmbG93IGNvbmRpdGlvbiBvY2N1cnMuICBUaGUKLSAgICByZXN1bHQgaW4gYWxsIGNhc2VzIGlzIHVuY2hhbmdlZC4KLQotICAgIFRoZSByb3VuZGVkIHNpZ25hbCBtYXkgYmUgdGVzdGVkIChvciB0cmFwcGVkKSB0byBkZXRlcm1pbmUgaWYgYSBnaXZlbgotICAgIG9wZXJhdGlvbiAob3Igc2VxdWVuY2Ugb2Ygb3BlcmF0aW9ucykgY2F1c2VkIGEgbG9zcyBvZiBwcmVjaXNpb24uCi0gICAgIiIiCi0KLWNsYXNzIFN1Ym5vcm1hbChEZWNpbWFsRXhjZXB0aW9uKToKLSAgICAiIiJFeHBvbmVudCA8IEVtaW4gYmVmb3JlIHJvdW5kaW5nLgotCi0gICAgVGhpcyBvY2N1cnMgYW5kIHNpZ25hbHMgc3Vibm9ybWFsIHdoZW5ldmVyIHRoZSByZXN1bHQgb2YgYSBjb252ZXJzaW9uIG9yCi0gICAgb3BlcmF0aW9uIGlzIHN1Ym5vcm1hbCAodGhhdCBpcywgaXRzIGFkanVzdGVkIGV4cG9uZW50IGlzIGxlc3MgdGhhbgotICAgIEVtaW4sIGJlZm9yZSBhbnkgcm91bmRpbmcpLiAgVGhlIHJlc3VsdCBpbiBhbGwgY2FzZXMgaXMgdW5jaGFuZ2VkLgotCi0gICAgVGhlIHN1Ym5vcm1hbCBzaWduYWwgbWF5IGJlIHRlc3RlZCAob3IgdHJhcHBlZCkgdG8gZGV0ZXJtaW5lIGlmIGEgZ2l2ZW4KLSAgICBvciBvcGVyYXRpb24gKG9yIHNlcXVlbmNlIG9mIG9wZXJhdGlvbnMpIHlpZWxkZWQgYSBzdWJub3JtYWwgcmVzdWx0LgotICAgICIiIgotCi1jbGFzcyBPdmVyZmxvdyhJbmV4YWN0LCBSb3VuZGVkKToKLSAgICAiIiJOdW1lcmljYWwgb3ZlcmZsb3cuCi0KLSAgICBUaGlzIG9jY3VycyBhbmQgc2lnbmFscyBvdmVyZmxvdyBpZiB0aGUgYWRqdXN0ZWQgZXhwb25lbnQgb2YgYSByZXN1bHQKLSAgICAoZnJvbSBhIGNvbnZlcnNpb24gb3IgZnJvbSBhbiBvcGVyYXRpb24gdGhhdCBpcyBub3QgYW4gYXR0ZW1wdCB0byBkaXZpZGUKLSAgICBieSB6ZXJvKSwgYWZ0ZXIgcm91bmRpbmcsIHdvdWxkIGJlIGdyZWF0ZXIgdGhhbiB0aGUgbGFyZ2VzdCB2YWx1ZSB0aGF0Ci0gICAgY2FuIGJlIGhhbmRsZWQgYnkgdGhlIGltcGxlbWVudGF0aW9uICh0aGUgdmFsdWUgRW1heCkuCi0KLSAgICBUaGUgcmVzdWx0IGRlcGVuZHMgb24gdGhlIHJvdW5kaW5nIG1vZGU6Ci0KLSAgICBGb3Igcm91bmQtaGFsZi11cCBhbmQgcm91bmQtaGFsZi1ldmVuIChhbmQgZm9yIHJvdW5kLWhhbGYtZG93biBhbmQKLSAgICByb3VuZC11cCwgaWYgaW1wbGVtZW50ZWQpLCB0aGUgcmVzdWx0IG9mIHRoZSBvcGVyYXRpb24gaXMgW3NpZ24saW5mXSwKLSAgICB3aGVyZSBzaWduIGlzIHRoZSBzaWduIG9mIHRoZSBpbnRlcm1lZGlhdGUgcmVzdWx0LiAgRm9yIHJvdW5kLWRvd24sIHRoZQotICAgIHJlc3VsdCBpcyB0aGUgbGFyZ2VzdCBmaW5pdGUgbnVtYmVyIHRoYXQgY2FuIGJlIHJlcHJlc2VudGVkIGluIHRoZQotICAgIGN1cnJlbnQgcHJlY2lzaW9uLCB3aXRoIHRoZSBzaWduIG9mIHRoZSBpbnRlcm1lZGlhdGUgcmVzdWx0LiAgRm9yCi0gICAgcm91bmQtY2VpbGluZywgdGhlIHJlc3VsdCBpcyB0aGUgc2FtZSBhcyBmb3Igcm91bmQtZG93biBpZiB0aGUgc2lnbiBvZgotICAgIHRoZSBpbnRlcm1lZGlhdGUgcmVzdWx0IGlzIDEsIG9yIGlzIFswLGluZl0gb3RoZXJ3aXNlLiAgRm9yIHJvdW5kLWZsb29yLAotICAgIHRoZSByZXN1bHQgaXMgdGhlIHNhbWUgYXMgZm9yIHJvdW5kLWRvd24gaWYgdGhlIHNpZ24gb2YgdGhlIGludGVybWVkaWF0ZQotICAgIHJlc3VsdCBpcyAwLCBvciBpcyBbMSxpbmZdIG90aGVyd2lzZS4gIEluIGFsbCBjYXNlcywgSW5leGFjdCBhbmQgUm91bmRlZAotICAgIHdpbGwgYWxzbyBiZSByYWlzZWQuCi0gICAgIiIiCi0KLSAgICBkZWYgaGFuZGxlKHNlbGYsIGNvbnRleHQsIHNpZ24sICphcmdzKToKLSAgICAgICAgaWYgY29udGV4dC5yb3VuZGluZyBpbiAoUk9VTkRfSEFMRl9VUCwgUk9VTkRfSEFMRl9FVkVOLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBST1VORF9IQUxGX0RPV04sIFJPVU5EX1VQKToKLSAgICAgICAgICAgIHJldHVybiBfU2lnbmVkSW5maW5pdHlbc2lnbl0KLSAgICAgICAgaWYgc2lnbiA9PSAwOgotICAgICAgICAgICAgaWYgY29udGV4dC5yb3VuZGluZyA9PSBST1VORF9DRUlMSU5HOgotICAgICAgICAgICAgICAgIHJldHVybiBfU2lnbmVkSW5maW5pdHlbc2lnbl0KLSAgICAgICAgICAgIHJldHVybiBfZGVjX2Zyb21fdHJpcGxlKHNpZ24sICc5Jypjb250ZXh0LnByZWMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGV4dC5FbWF4LWNvbnRleHQucHJlYysxKQotICAgICAgICBpZiBzaWduID09IDE6Ci0gICAgICAgICAgICBpZiBjb250ZXh0LnJvdW5kaW5nID09IFJPVU5EX0ZMT09SOgotICAgICAgICAgICAgICAgIHJldHVybiBfU2lnbmVkSW5maW5pdHlbc2lnbl0KLSAgICAgICAgICAgIHJldHVybiBfZGVjX2Zyb21fdHJpcGxlKHNpZ24sICc5Jypjb250ZXh0LnByZWMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHQuRW1heC1jb250ZXh0LnByZWMrMSkKLQotCi1jbGFzcyBVbmRlcmZsb3coSW5leGFjdCwgUm91bmRlZCwgU3Vibm9ybWFsKToKLSAgICAiIiJOdW1lcmljYWwgdW5kZXJmbG93IHdpdGggcmVzdWx0IHJvdW5kZWQgdG8gMC4KLQotICAgIFRoaXMgb2NjdXJzIGFuZCBzaWduYWxzIHVuZGVyZmxvdyBpZiBhIHJlc3VsdCBpcyBpbmV4YWN0IGFuZCB0aGUKLSAgICBhZGp1c3RlZCBleHBvbmVudCBvZiB0aGUgcmVzdWx0IHdvdWxkIGJlIHNtYWxsZXIgKG1vcmUgbmVnYXRpdmUpIHRoYW4KLSAgICB0aGUgc21hbGxlc3QgdmFsdWUgdGhhdCBjYW4gYmUgaGFuZGxlZCBieSB0aGUgaW1wbGVtZW50YXRpb24gKHRoZSB2YWx1ZQotICAgIEVtaW4pLiAgVGhhdCBpcywgdGhlIHJlc3VsdCBpcyBib3RoIGluZXhhY3QgYW5kIHN1Ym5vcm1hbC4KLQotICAgIFRoZSByZXN1bHQgYWZ0ZXIgYW4gdW5kZXJmbG93IHdpbGwgYmUgYSBzdWJub3JtYWwgbnVtYmVyIHJvdW5kZWQsIGlmCi0gICAgbmVjZXNzYXJ5LCBzbyB0aGF0IGl0cyBleHBvbmVudCBpcyBub3QgbGVzcyB0aGFuIEV0aW55LiAgVGhpcyBtYXkgcmVzdWx0Ci0gICAgaW4gMCB3aXRoIHRoZSBzaWduIG9mIHRoZSBpbnRlcm1lZGlhdGUgcmVzdWx0IGFuZCBhbiBleHBvbmVudCBvZiBFdGlueS4KLQotICAgIEluIGFsbCBjYXNlcywgSW5leGFjdCwgUm91bmRlZCwgYW5kIFN1Ym5vcm1hbCB3aWxsIGFsc28gYmUgcmFpc2VkLgotICAgICIiIgotCi1jbGFzcyBGbG9hdE9wZXJhdGlvbihEZWNpbWFsRXhjZXB0aW9uLCBUeXBlRXJyb3IpOgotICAgICIiIkVuYWJsZSBzdHJpY3RlciBzZW1hbnRpY3MgZm9yIG1peGluZyBmbG9hdHMgYW5kIERlY2ltYWxzLgotCi0gICAgSWYgdGhlIHNpZ25hbCBpcyBub3QgdHJhcHBlZCAoZGVmYXVsdCksIG1peGluZyBmbG9hdHMgYW5kIERlY2ltYWxzIGlzCi0gICAgcGVybWl0dGVkIGluIHRoZSBEZWNpbWFsKCkgY29uc3RydWN0b3IsIGNvbnRleHQuY3JlYXRlX2RlY2ltYWwoKSBhbmQKLSAgICBhbGwgY29tcGFyaXNvbiBvcGVyYXRvcnMuIEJvdGggY29udmVyc2lvbiBhbmQgY29tcGFyaXNvbnMgYXJlIGV4YWN0LgotICAgIEFueSBvY2N1cnJlbmNlIG9mIGEgbWl4ZWQgb3BlcmF0aW9uIGlzIHNpbGVudGx5IHJlY29yZGVkIGJ5IHNldHRpbmcKLSAgICBGbG9hdE9wZXJhdGlvbiBpbiB0aGUgY29udGV4dCBmbGFncy4gIEV4cGxpY2l0IGNvbnZlcnNpb25zIHdpdGgKLSAgICBEZWNpbWFsLmZyb21fZmxvYXQoKSBvciBjb250ZXh0LmNyZWF0ZV9kZWNpbWFsX2Zyb21fZmxvYXQoKSBkbyBub3QKLSAgICBzZXQgdGhlIGZsYWcuCi0KLSAgICBPdGhlcndpc2UgKHRoZSBzaWduYWwgaXMgdHJhcHBlZCksIG9ubHkgZXF1YWxpdHkgY29tcGFyaXNvbnMgYW5kIGV4cGxpY2l0Ci0gICAgY29udmVyc2lvbnMgYXJlIHNpbGVudC4gQWxsIG90aGVyIG1peGVkIG9wZXJhdGlvbnMgcmFpc2UgRmxvYXRPcGVyYXRpb24uCi0gICAgIiIiCi0KLSMgTGlzdCBvZiBwdWJsaWMgdHJhcHMgYW5kIGZsYWdzCi1fc2lnbmFscyA9IFtDbGFtcGVkLCBEaXZpc2lvbkJ5WmVybywgSW5leGFjdCwgT3ZlcmZsb3csIFJvdW5kZWQsCi0gICAgICAgICAgICBVbmRlcmZsb3csIEludmFsaWRPcGVyYXRpb24sIFN1Ym5vcm1hbCwgRmxvYXRPcGVyYXRpb25dCi0KLSMgTWFwIGNvbmRpdGlvbnMgKHBlciB0aGUgc3BlYykgdG8gc2lnbmFscwotX2NvbmRpdGlvbl9tYXAgPSB7Q29udmVyc2lvblN5bnRheDpJbnZhbGlkT3BlcmF0aW9uLAotICAgICAgICAgICAgICAgICAgRGl2aXNpb25JbXBvc3NpYmxlOkludmFsaWRPcGVyYXRpb24sCi0gICAgICAgICAgICAgICAgICBEaXZpc2lvblVuZGVmaW5lZDpJbnZhbGlkT3BlcmF0aW9uLAotICAgICAgICAgICAgICAgICAgSW52YWxpZENvbnRleHQ6SW52YWxpZE9wZXJhdGlvbn0KLQotIyBWYWxpZCByb3VuZGluZyBtb2RlcwotX3JvdW5kaW5nX21vZGVzID0gKFJPVU5EX0RPV04sIFJPVU5EX0hBTEZfVVAsIFJPVU5EX0hBTEZfRVZFTiwgUk9VTkRfQ0VJTElORywKLSAgICAgICAgICAgICAgICAgICBST1VORF9GTE9PUiwgUk9VTkRfVVAsIFJPVU5EX0hBTEZfRE9XTiwgUk9VTkRfMDVVUCkKLQotIyMjIyMgQ29udGV4dCBGdW5jdGlvbnMgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKLQotIyBUaGUgZ2V0Y29udGV4dCgpIGFuZCBzZXRjb250ZXh0KCkgZnVuY3Rpb24gbWFuYWdlIGFjY2VzcyB0byBhIHRocmVhZC1sb2NhbAotIyBjdXJyZW50IGNvbnRleHQuICBQeTIuNCBvZmZlcnMgZGlyZWN0IHN1cHBvcnQgZm9yIHRocmVhZCBsb2NhbHMuICBJZiB0aGF0Ci0jIGlzIG5vdCBhdmFpbGFibGUsIHVzZSB0aHJlYWRpbmcuY3VycmVudF90aHJlYWQoKSB3aGljaCBpcyBzbG93ZXIgYnV0IHdpbGwKLSMgd29yayBmb3Igb2xkZXIgUHl0aG9ucy4gIElmIHRocmVhZHMgYXJlIG5vdCBwYXJ0IG9mIHRoZSBidWlsZCwgY3JlYXRlIGEKLSMgbW9jayB0aHJlYWRpbmcgb2JqZWN0IHdpdGggdGhyZWFkaW5nLmxvY2FsKCkgcmV0dXJuaW5nIHRoZSBtb2R1bGUgbmFtZXNwYWNlLgotCi10cnk6Ci0gICAgaW1wb3J0IHRocmVhZGluZwotZXhjZXB0IEltcG9ydEVycm9yOgotICAgICMgUHl0aG9uIHdhcyBjb21waWxlZCB3aXRob3V0IHRocmVhZHM7IGNyZWF0ZSBhIG1vY2sgb2JqZWN0IGluc3RlYWQKLSAgICBjbGFzcyBNb2NrVGhyZWFkaW5nKG9iamVjdCk6Ci0gICAgICAgIGRlZiBsb2NhbChzZWxmLCBzeXM9c3lzKToKLSAgICAgICAgICAgIHJldHVybiBzeXMubW9kdWxlc1tfX25hbWVfX10KLSAgICB0aHJlYWRpbmcgPSBNb2NrVGhyZWFkaW5nKCkKLSAgICBkZWwgTW9ja1RocmVhZGluZwotCi10cnk6Ci0gICAgdGhyZWFkaW5nLmxvY2FsCi0KLWV4Y2VwdCBBdHRyaWJ1dGVFcnJvcjoKLQotICAgICMgVG8gZml4IHJlbG9hZGluZywgZm9yY2UgaXQgdG8gY3JlYXRlIGEgbmV3IGNvbnRleHQKLSAgICAjIE9sZCBjb250ZXh0cyBoYXZlIGRpZmZlcmVudCBleGNlcHRpb25zIGluIHRoZWlyIGRpY3RzLCBtYWtpbmcgcHJvYmxlbXMuCi0gICAgaWYgaGFzYXR0cih0aHJlYWRpbmcuY3VycmVudF90aHJlYWQoKSwgJ19fZGVjaW1hbF9jb250ZXh0X18nKToKLSAgICAgICAgZGVsIHRocmVhZGluZy5jdXJyZW50X3RocmVhZCgpLl9fZGVjaW1hbF9jb250ZXh0X18KLQotICAgIGRlZiBzZXRjb250ZXh0KGNvbnRleHQpOgotICAgICAgICAiIiJTZXQgdGhpcyB0aHJlYWQncyBjb250ZXh0IHRvIGNvbnRleHQuIiIiCi0gICAgICAgIGlmIGNvbnRleHQgaW4gKERlZmF1bHRDb250ZXh0LCBCYXNpY0NvbnRleHQsIEV4dGVuZGVkQ29udGV4dCk6Ci0gICAgICAgICAgICBjb250ZXh0ID0gY29udGV4dC5jb3B5KCkKLSAgICAgICAgICAgIGNvbnRleHQuY2xlYXJfZmxhZ3MoKQotICAgICAgICB0aHJlYWRpbmcuY3VycmVudF90aHJlYWQoKS5fX2RlY2ltYWxfY29udGV4dF9fID0gY29udGV4dAotCi0gICAgZGVmIGdldGNvbnRleHQoKToKLSAgICAgICAgIiIiUmV0dXJucyB0aGlzIHRocmVhZCdzIGNvbnRleHQuCi0KLSAgICAgICAgSWYgdGhpcyB0aHJlYWQgZG9lcyBub3QgeWV0IGhhdmUgYSBjb250ZXh0LCByZXR1cm5zCi0gICAgICAgIGEgbmV3IGNvbnRleHQgYW5kIHNldHMgdGhpcyB0aHJlYWQncyBjb250ZXh0LgotICAgICAgICBOZXcgY29udGV4dHMgYXJlIGNvcGllcyBvZiBEZWZhdWx0Q29udGV4dC4KLSAgICAgICAgIiIiCi0gICAgICAgIHRyeToKLSAgICAgICAgICAgIHJldHVybiB0aHJlYWRpbmcuY3VycmVudF90aHJlYWQoKS5fX2RlY2ltYWxfY29udGV4dF9fCi0gICAgICAgIGV4Y2VwdCBBdHRyaWJ1dGVFcnJvcjoKLSAgICAgICAgICAgIGNvbnRleHQgPSBDb250ZXh0KCkKLSAgICAgICAgICAgIHRocmVhZGluZy5jdXJyZW50X3RocmVhZCgpLl9fZGVjaW1hbF9jb250ZXh0X18gPSBjb250ZXh0Ci0gICAgICAgICAgICByZXR1cm4gY29udGV4dAotCi1lbHNlOgotCi0gICAgbG9jYWwgPSB0aHJlYWRpbmcubG9jYWwoKQotICAgIGlmIGhhc2F0dHIobG9jYWwsICdfX2RlY2ltYWxfY29udGV4dF9fJyk6Ci0gICAgICAgIGRlbCBsb2NhbC5fX2RlY2ltYWxfY29udGV4dF9fCi0KLSAgICBkZWYgZ2V0Y29udGV4dChfbG9jYWw9bG9jYWwpOgotICAgICAgICAiIiJSZXR1cm5zIHRoaXMgdGhyZWFkJ3MgY29udGV4dC4KLQotICAgICAgICBJZiB0aGlzIHRocmVhZCBkb2VzIG5vdCB5ZXQgaGF2ZSBhIGNvbnRleHQsIHJldHVybnMKLSAgICAgICAgYSBuZXcgY29udGV4dCBhbmQgc2V0cyB0aGlzIHRocmVhZCdzIGNvbnRleHQuCi0gICAgICAgIE5ldyBjb250ZXh0cyBhcmUgY29waWVzIG9mIERlZmF1bHRDb250ZXh0LgotICAgICAgICAiIiIKLSAgICAgICAgdHJ5OgotICAgICAgICAgICAgcmV0dXJuIF9sb2NhbC5fX2RlY2ltYWxfY29udGV4dF9fCi0gICAgICAgIGV4Y2VwdCBBdHRyaWJ1dGVFcnJvcjoKLSAgICAgICAgICAgIGNvbnRleHQgPSBDb250ZXh0KCkKLSAgICAgICAgICAgIF9sb2NhbC5fX2RlY2ltYWxfY29udGV4dF9fID0gY29udGV4dAotICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQKLQotICAgIGRlZiBzZXRjb250ZXh0KGNvbnRleHQsIF9sb2NhbD1sb2NhbCk6Ci0gICAgICAgICIiIlNldCB0aGlzIHRocmVhZCdzIGNvbnRleHQgdG8gY29udGV4dC4iIiIKLSAgICAgICAgaWYgY29udGV4dCBpbiAoRGVmYXVsdENvbnRleHQsIEJhc2ljQ29udGV4dCwgRXh0ZW5kZWRDb250ZXh0KToKLSAgICAgICAgICAgIGNvbnRleHQgPSBjb250ZXh0LmNvcHkoKQotICAgICAgICAgICAgY29udGV4dC5jbGVhcl9mbGFncygpCi0gICAgICAgIF9sb2NhbC5fX2RlY2ltYWxfY29udGV4dF9fID0gY29udGV4dAotCi0gICAgZGVsIHRocmVhZGluZywgbG9jYWwgICAgICAgICMgRG9uJ3QgY29udGFtaW5hdGUgdGhlIG5hbWVzcGFjZQotCi1kZWYgbG9jYWxjb250ZXh0KGN0eD1Ob25lKToKLSAgICAiIiJSZXR1cm4gYSBjb250ZXh0IG1hbmFnZXIgZm9yIGEgY29weSBvZiB0aGUgc3VwcGxpZWQgY29udGV4dAotCi0gICAgVXNlcyBhIGNvcHkgb2YgdGhlIGN1cnJlbnQgY29udGV4dCBpZiBubyBjb250ZXh0IGlzIHNwZWNpZmllZAotICAgIFRoZSByZXR1cm5lZCBjb250ZXh0IG1hbmFnZXIgY3JlYXRlcyBhIGxvY2FsIGRlY2ltYWwgY29udGV4dAotICAgIGluIGEgd2l0aCBzdGF0ZW1lbnQ6Ci0gICAgICAgIGRlZiBzaW4oeCk6Ci0gICAgICAgICAgICAgd2l0aCBsb2NhbGNvbnRleHQoKSBhcyBjdHg6Ci0gICAgICAgICAgICAgICAgIGN0eC5wcmVjICs9IDIKLSAgICAgICAgICAgICAgICAgIyBSZXN0IG9mIHNpbiBjYWxjdWxhdGlvbiBhbGdvcml0aG0KLSAgICAgICAgICAgICAgICAgIyB1c2VzIGEgcHJlY2lzaW9uIDIgZ3JlYXRlciB0aGFuIG5vcm1hbAotICAgICAgICAgICAgIHJldHVybiArcyAgIyBDb252ZXJ0IHJlc3VsdCB0byBub3JtYWwgcHJlY2lzaW9uCi0KLSAgICAgICAgIGRlZiBzaW4oeCk6Ci0gICAgICAgICAgICAgd2l0aCBsb2NhbGNvbnRleHQoRXh0ZW5kZWRDb250ZXh0KToKLSAgICAgICAgICAgICAgICAgIyBSZXN0IG9mIHNpbiBjYWxjdWxhdGlvbiBhbGdvcml0aG0KLSAgICAgICAgICAgICAgICAgIyB1c2VzIHRoZSBFeHRlbmRlZCBDb250ZXh0IGZyb20gdGhlCi0gICAgICAgICAgICAgICAgICMgR2VuZXJhbCBEZWNpbWFsIEFyaXRobWV0aWMgU3BlY2lmaWNhdGlvbgotICAgICAgICAgICAgIHJldHVybiArcyAgIyBDb252ZXJ0IHJlc3VsdCB0byBub3JtYWwgY29udGV4dAotCi0gICAgPj4+IHNldGNvbnRleHQoRGVmYXVsdENvbnRleHQpCi0gICAgPj4+IHByaW50KGdldGNvbnRleHQoKS5wcmVjKQotICAgIDI4Ci0gICAgPj4+IHdpdGggbG9jYWxjb250ZXh0KCk6Ci0gICAgLi4uICAgICBjdHggPSBnZXRjb250ZXh0KCkKLSAgICAuLi4gICAgIGN0eC5wcmVjICs9IDIKLSAgICAuLi4gICAgIHByaW50KGN0eC5wcmVjKQotICAgIC4uLgotICAgIDMwCi0gICAgPj4+IHdpdGggbG9jYWxjb250ZXh0KEV4dGVuZGVkQ29udGV4dCk6Ci0gICAgLi4uICAgICBwcmludChnZXRjb250ZXh0KCkucHJlYykKLSAgICAuLi4KLSAgICA5Ci0gICAgPj4+IHByaW50KGdldGNvbnRleHQoKS5wcmVjKQotICAgIDI4Ci0gICAgIiIiCi0gICAgaWYgY3R4IGlzIE5vbmU6IGN0eCA9IGdldGNvbnRleHQoKQotICAgIHJldHVybiBfQ29udGV4dE1hbmFnZXIoY3R4KQotCi0KLSMjIyMjIERlY2ltYWwgY2xhc3MgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwotCi0jIERvIG5vdCBzdWJjbGFzcyBEZWNpbWFsIGZyb20gbnVtYmVycy5SZWFsIGFuZCBkbyBub3QgcmVnaXN0ZXIgaXQgYXMgc3VjaAotIyAoYmVjYXVzZSBEZWNpbWFscyBhcmUgbm90IGludGVyb3BlcmFibGUgd2l0aCBmbG9hdHMpLiAgU2VlIHRoZSBub3RlcyBpbgotIyBudW1iZXJzLnB5IGZvciBtb3JlIGRldGFpbC4KLQotY2xhc3MgRGVjaW1hbChvYmplY3QpOgotICAgICIiIkZsb2F0aW5nIHBvaW50IGNsYXNzIGZvciBkZWNpbWFsIGFyaXRobWV0aWMuIiIiCi0KLSAgICBfX3Nsb3RzX18gPSAoJ19leHAnLCdfaW50JywnX3NpZ24nLCAnX2lzX3NwZWNpYWwnKQotICAgICMgR2VuZXJhbGx5LCB0aGUgdmFsdWUgb2YgdGhlIERlY2ltYWwgaW5zdGFuY2UgaXMgZ2l2ZW4gYnkKLSAgICAjICAoLTEpKipfc2lnbiAqIF9pbnQgKiAxMCoqX2V4cAotICAgICMgU3BlY2lhbCB2YWx1ZXMgYXJlIHNpZ25pZmllZCBieSBfaXNfc3BlY2lhbCA9PSBUcnVlCi0KLSAgICAjIFdlJ3JlIGltbXV0YWJsZSwgc28gdXNlIF9fbmV3X18gbm90IF9faW5pdF9fCi0gICAgZGVmIF9fbmV3X18oY2xzLCB2YWx1ZT0iMCIsIGNvbnRleHQ9Tm9uZSk6Ci0gICAgICAgICIiIkNyZWF0ZSBhIGRlY2ltYWwgcG9pbnQgaW5zdGFuY2UuCi0KLSAgICAgICAgPj4+IERlY2ltYWwoJzMuMTQnKSAgICAgICAgICAgICAgIyBzdHJpbmcgaW5wdXQKLSAgICAgICAgRGVjaW1hbCgnMy4xNCcpCi0gICAgICAgID4+PiBEZWNpbWFsKCgwLCAoMywgMSwgNCksIC0yKSkgICMgdHVwbGUgKHNpZ24sIGRpZ2l0X3R1cGxlLCBleHBvbmVudCkKLSAgICAgICAgRGVjaW1hbCgnMy4xNCcpCi0gICAgICAgID4+PiBEZWNpbWFsKDMxNCkgICAgICAgICAgICAgICAgICMgaW50Ci0gICAgICAgIERlY2ltYWwoJzMxNCcpCi0gICAgICAgID4+PiBEZWNpbWFsKERlY2ltYWwoMzE0KSkgICAgICAgICMgYW5vdGhlciBkZWNpbWFsIGluc3RhbmNlCi0gICAgICAgIERlY2ltYWwoJzMxNCcpCi0gICAgICAgID4+PiBEZWNpbWFsKCcgIDMuMTQgIFxcbicpICAgICAgICAjIGxlYWRpbmcgYW5kIHRyYWlsaW5nIHdoaXRlc3BhY2Ugb2theQotICAgICAgICBEZWNpbWFsKCczLjE0JykKLSAgICAgICAgIiIiCi0KLSAgICAgICAgIyBOb3RlIHRoYXQgdGhlIGNvZWZmaWNpZW50LCBzZWxmLl9pbnQsIGlzIGFjdHVhbGx5IHN0b3JlZCBhcwotICAgICAgICAjIGEgc3RyaW5nIHJhdGhlciB0aGFuIGFzIGEgdHVwbGUgb2YgZGlnaXRzLiAgVGhpcyBzcGVlZHMgdXAKLSAgICAgICAgIyB0aGUgImRpZ2l0cyB0byBpbnRlZ2VyIiBhbmQgImludGVnZXIgdG8gZGlnaXRzIiBjb252ZXJzaW9ucwotICAgICAgICAjIHRoYXQgYXJlIHVzZWQgaW4gYWxtb3N0IGV2ZXJ5IGFyaXRobWV0aWMgb3BlcmF0aW9uIG9uCi0gICAgICAgICMgRGVjaW1hbHMuICBUaGlzIGlzIGFuIGludGVybmFsIGRldGFpbDogdGhlIGFzX3R1cGxlIGZ1bmN0aW9uCi0gICAgICAgICMgYW5kIHRoZSBEZWNpbWFsIGNvbnN0cnVjdG9yIHN0aWxsIGRlYWwgd2l0aCB0dXBsZXMgb2YKLSAgICAgICAgIyBkaWdpdHMuCi0KLSAgICAgICAgc2VsZiA9IG9iamVjdC5fX25ld19fKGNscykKLQotICAgICAgICAjIEZyb20gYSBzdHJpbmcKLSAgICAgICAgIyBSRXMgaW5zaXN0IG9uIHJlYWwgc3RyaW5ncywgc28gd2UgY2FuIHRvby4KLSAgICAgICAgaWYgaXNpbnN0YW5jZSh2YWx1ZSwgc3RyKToKLSAgICAgICAgICAgIG0gPSBfcGFyc2VyKHZhbHVlLnN0cmlwKCkpCi0gICAgICAgICAgICBpZiBtIGlzIE5vbmU6Ci0gICAgICAgICAgICAgICAgaWYgY29udGV4dCBpcyBOb25lOgotICAgICAgICAgICAgICAgICAgICBjb250ZXh0ID0gZ2V0Y29udGV4dCgpCi0gICAgICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuX3JhaXNlX2Vycm9yKENvbnZlcnNpb25TeW50YXgsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJJbnZhbGlkIGxpdGVyYWwgZm9yIERlY2ltYWw6ICVyIiAlIHZhbHVlKQotCi0gICAgICAgICAgICBpZiBtLmdyb3VwKCdzaWduJykgPT0gIi0iOgotICAgICAgICAgICAgICAgIHNlbGYuX3NpZ24gPSAxCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIHNlbGYuX3NpZ24gPSAwCi0gICAgICAgICAgICBpbnRwYXJ0ID0gbS5ncm91cCgnaW50JykKLSAgICAgICAgICAgIGlmIGludHBhcnQgaXMgbm90IE5vbmU6Ci0gICAgICAgICAgICAgICAgIyBmaW5pdGUgbnVtYmVyCi0gICAgICAgICAgICAgICAgZnJhY3BhcnQgPSBtLmdyb3VwKCdmcmFjJykgb3IgJycKLSAgICAgICAgICAgICAgICBleHAgPSBpbnQobS5ncm91cCgnZXhwJykgb3IgJzAnKQotICAgICAgICAgICAgICAgIHNlbGYuX2ludCA9IHN0cihpbnQoaW50cGFydCtmcmFjcGFydCkpCi0gICAgICAgICAgICAgICAgc2VsZi5fZXhwID0gZXhwIC0gbGVuKGZyYWNwYXJ0KQotICAgICAgICAgICAgICAgIHNlbGYuX2lzX3NwZWNpYWwgPSBGYWxzZQotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICBkaWFnID0gbS5ncm91cCgnZGlhZycpCi0gICAgICAgICAgICAgICAgaWYgZGlhZyBpcyBub3QgTm9uZToKLSAgICAgICAgICAgICAgICAgICAgIyBOYU4KLSAgICAgICAgICAgICAgICAgICAgc2VsZi5faW50ID0gc3RyKGludChkaWFnIG9yICcwJykpLmxzdHJpcCgnMCcpCi0gICAgICAgICAgICAgICAgICAgIGlmIG0uZ3JvdXAoJ3NpZ25hbCcpOgotICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fZXhwID0gJ04nCi0gICAgICAgICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9leHAgPSAnbicKLSAgICAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgICAgICAjIGluZmluaXR5Ci0gICAgICAgICAgICAgICAgICAgIHNlbGYuX2ludCA9ICcwJwotICAgICAgICAgICAgICAgICAgICBzZWxmLl9leHAgPSAnRicKLSAgICAgICAgICAgICAgICBzZWxmLl9pc19zcGVjaWFsID0gVHJ1ZQotICAgICAgICAgICAgcmV0dXJuIHNlbGYKLQotICAgICAgICAjIEZyb20gYW4gaW50ZWdlcgotICAgICAgICBpZiBpc2luc3RhbmNlKHZhbHVlLCBpbnQpOgotICAgICAgICAgICAgaWYgdmFsdWUgPj0gMDoKLSAgICAgICAgICAgICAgICBzZWxmLl9zaWduID0gMAotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICBzZWxmLl9zaWduID0gMQotICAgICAgICAgICAgc2VsZi5fZXhwID0gMAotICAgICAgICAgICAgc2VsZi5faW50ID0gc3RyKGFicyh2YWx1ZSkpCi0gICAgICAgICAgICBzZWxmLl9pc19zcGVjaWFsID0gRmFsc2UKLSAgICAgICAgICAgIHJldHVybiBzZWxmCi0KLSAgICAgICAgIyBGcm9tIGFub3RoZXIgZGVjaW1hbAotICAgICAgICBpZiBpc2luc3RhbmNlKHZhbHVlLCBEZWNpbWFsKToKLSAgICAgICAgICAgIHNlbGYuX2V4cCAgPSB2YWx1ZS5fZXhwCi0gICAgICAgICAgICBzZWxmLl9zaWduID0gdmFsdWUuX3NpZ24KLSAgICAgICAgICAgIHNlbGYuX2ludCAgPSB2YWx1ZS5faW50Ci0gICAgICAgICAgICBzZWxmLl9pc19zcGVjaWFsICA9IHZhbHVlLl9pc19zcGVjaWFsCi0gICAgICAgICAgICByZXR1cm4gc2VsZgotCi0gICAgICAgICMgRnJvbSBhbiBpbnRlcm5hbCB3b3JraW5nIHZhbHVlCi0gICAgICAgIGlmIGlzaW5zdGFuY2UodmFsdWUsIF9Xb3JrUmVwKToKLSAgICAgICAgICAgIHNlbGYuX3NpZ24gPSB2YWx1ZS5zaWduCi0gICAgICAgICAgICBzZWxmLl9pbnQgPSBzdHIodmFsdWUuaW50KQotICAgICAgICAgICAgc2VsZi5fZXhwID0gaW50KHZhbHVlLmV4cCkKLSAgICAgICAgICAgIHNlbGYuX2lzX3NwZWNpYWwgPSBGYWxzZQotICAgICAgICAgICAgcmV0dXJuIHNlbGYKLQotICAgICAgICAjIHR1cGxlL2xpc3QgY29udmVyc2lvbiAocG9zc2libHkgZnJvbSBhc190dXBsZSgpKQotICAgICAgICBpZiBpc2luc3RhbmNlKHZhbHVlLCAobGlzdCx0dXBsZSkpOgotICAgICAgICAgICAgaWYgbGVuKHZhbHVlKSAhPSAzOgotICAgICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoJ0ludmFsaWQgdHVwbGUgc2l6ZSBpbiBjcmVhdGlvbiBvZiBEZWNpbWFsICcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmcm9tIGxpc3Qgb3IgdHVwbGUuICBUaGUgbGlzdCBvciB0dXBsZSAnCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2hvdWxkIGhhdmUgZXhhY3RseSB0aHJlZSBlbGVtZW50cy4nKQotICAgICAgICAgICAgIyBwcm9jZXNzIHNpZ24uICBUaGUgaXNpbnN0YW5jZSB0ZXN0IHJlamVjdHMgZmxvYXRzCi0gICAgICAgICAgICBpZiBub3QgKGlzaW5zdGFuY2UodmFsdWVbMF0sIGludCkgYW5kIHZhbHVlWzBdIGluICgwLDEpKToKLSAgICAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJJbnZhbGlkIHNpZ24uICBUaGUgZmlyc3QgdmFsdWUgaW4gdGhlIHR1cGxlICIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzaG91bGQgYmUgYW4gaW50ZWdlcjsgZWl0aGVyIDAgZm9yIGEgIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBvc2l0aXZlIG51bWJlciBvciAxIGZvciBhIG5lZ2F0aXZlIG51bWJlci4iKQotICAgICAgICAgICAgc2VsZi5fc2lnbiA9IHZhbHVlWzBdCi0gICAgICAgICAgICBpZiB2YWx1ZVsyXSA9PSAnRic6Ci0gICAgICAgICAgICAgICAgIyBpbmZpbml0eTogdmFsdWVbMV0gaXMgaWdub3JlZAotICAgICAgICAgICAgICAgIHNlbGYuX2ludCA9ICcwJwotICAgICAgICAgICAgICAgIHNlbGYuX2V4cCA9IHZhbHVlWzJdCi0gICAgICAgICAgICAgICAgc2VsZi5faXNfc3BlY2lhbCA9IFRydWUKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgIyBwcm9jZXNzIGFuZCB2YWxpZGF0ZSB0aGUgZGlnaXRzIGluIHZhbHVlWzFdCi0gICAgICAgICAgICAgICAgZGlnaXRzID0gW10KLSAgICAgICAgICAgICAgICBmb3IgZGlnaXQgaW4gdmFsdWVbMV06Ci0gICAgICAgICAgICAgICAgICAgIGlmIGlzaW5zdGFuY2UoZGlnaXQsIGludCkgYW5kIDAgPD0gZGlnaXQgPD0gOToKLSAgICAgICAgICAgICAgICAgICAgICAgICMgc2tpcCBsZWFkaW5nIHplcm9zCi0gICAgICAgICAgICAgICAgICAgICAgICBpZiBkaWdpdHMgb3IgZGlnaXQgIT0gMDoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaWdpdHMuYXBwZW5kKGRpZ2l0KQotICAgICAgICAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigiVGhlIHNlY29uZCB2YWx1ZSBpbiB0aGUgdHVwbGUgbXVzdCAiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJiZSBjb21wb3NlZCBvZiBpbnRlZ2VycyBpbiB0aGUgcmFuZ2UgIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiMCB0aHJvdWdoIDkuIikKLSAgICAgICAgICAgICAgICBpZiB2YWx1ZVsyXSBpbiAoJ24nLCAnTicpOgotICAgICAgICAgICAgICAgICAgICAjIE5hTjogZGlnaXRzIGZvcm0gdGhlIGRpYWdub3N0aWMKLSAgICAgICAgICAgICAgICAgICAgc2VsZi5faW50ID0gJycuam9pbihtYXAoc3RyLCBkaWdpdHMpKQotICAgICAgICAgICAgICAgICAgICBzZWxmLl9leHAgPSB2YWx1ZVsyXQotICAgICAgICAgICAgICAgICAgICBzZWxmLl9pc19zcGVjaWFsID0gVHJ1ZQotICAgICAgICAgICAgICAgIGVsaWYgaXNpbnN0YW5jZSh2YWx1ZVsyXSwgaW50KToKLSAgICAgICAgICAgICAgICAgICAgIyBmaW5pdGUgbnVtYmVyOiBkaWdpdHMgZ2l2ZSB0aGUgY29lZmZpY2llbnQKLSAgICAgICAgICAgICAgICAgICAgc2VsZi5faW50ID0gJycuam9pbihtYXAoc3RyLCBkaWdpdHMgb3IgWzBdKSkKLSAgICAgICAgICAgICAgICAgICAgc2VsZi5fZXhwID0gdmFsdWVbMl0KLSAgICAgICAgICAgICAgICAgICAgc2VsZi5faXNfc3BlY2lhbCA9IEZhbHNlCi0gICAgICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigiVGhlIHRoaXJkIHZhbHVlIGluIHRoZSB0dXBsZSBtdXN0ICIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYmUgYW4gaW50ZWdlciwgb3Igb25lIG9mIHRoZSAiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInN0cmluZ3MgJ0YnLCAnbicsICdOJy4iKQotICAgICAgICAgICAgcmV0dXJuIHNlbGYKLQotICAgICAgICBpZiBpc2luc3RhbmNlKHZhbHVlLCBmbG9hdCk6Ci0gICAgICAgICAgICBpZiBjb250ZXh0IGlzIE5vbmU6Ci0gICAgICAgICAgICAgICAgY29udGV4dCA9IGdldGNvbnRleHQoKQotICAgICAgICAgICAgY29udGV4dC5fcmFpc2VfZXJyb3IoRmxvYXRPcGVyYXRpb24sCi0gICAgICAgICAgICAgICAgInN0cmljdCBzZW1hbnRpY3MgZm9yIG1peGluZyBmbG9hdHMgYW5kIERlY2ltYWxzIGFyZSAiCi0gICAgICAgICAgICAgICAgImVuYWJsZWQiKQotICAgICAgICAgICAgdmFsdWUgPSBEZWNpbWFsLmZyb21fZmxvYXQodmFsdWUpCi0gICAgICAgICAgICBzZWxmLl9leHAgID0gdmFsdWUuX2V4cAotICAgICAgICAgICAgc2VsZi5fc2lnbiA9IHZhbHVlLl9zaWduCi0gICAgICAgICAgICBzZWxmLl9pbnQgID0gdmFsdWUuX2ludAotICAgICAgICAgICAgc2VsZi5faXNfc3BlY2lhbCAgPSB2YWx1ZS5faXNfc3BlY2lhbAotICAgICAgICAgICAgcmV0dXJuIHNlbGYKLQotICAgICAgICByYWlzZSBUeXBlRXJyb3IoIkNhbm5vdCBjb252ZXJ0ICVyIHRvIERlY2ltYWwiICUgdmFsdWUpCi0KLSAgICBAY2xhc3NtZXRob2QKLSAgICBkZWYgZnJvbV9mbG9hdChjbHMsIGYpOgotICAgICAgICAiIiJDb252ZXJ0cyBhIGZsb2F0IHRvIGEgZGVjaW1hbCBudW1iZXIsIGV4YWN0bHkuCi0KLSAgICAgICAgTm90ZSB0aGF0IERlY2ltYWwuZnJvbV9mbG9hdCgwLjEpIGlzIG5vdCB0aGUgc2FtZSBhcyBEZWNpbWFsKCcwLjEnKS4KLSAgICAgICAgU2luY2UgMC4xIGlzIG5vdCBleGFjdGx5IHJlcHJlc2VudGFibGUgaW4gYmluYXJ5IGZsb2F0aW5nIHBvaW50LCB0aGUKLSAgICAgICAgdmFsdWUgaXMgc3RvcmVkIGFzIHRoZSBuZWFyZXN0IHJlcHJlc2VudGFibGUgdmFsdWUgd2hpY2ggaXMKLSAgICAgICAgMHgxLjk5OTk5OTk5OTk5OWFwLTQuICBUaGUgZXhhY3QgZXF1aXZhbGVudCBvZiB0aGUgdmFsdWUgaW4gZGVjaW1hbAotICAgICAgICBpcyAwLjEwMDAwMDAwMDAwMDAwMDAwNTU1MTExNTEyMzEyNTc4MjcwMjExODE1ODM0MDQ1NDEwMTU2MjUuCi0KLSAgICAgICAgPj4+IERlY2ltYWwuZnJvbV9mbG9hdCgwLjEpCi0gICAgICAgIERlY2ltYWwoJzAuMTAwMDAwMDAwMDAwMDAwMDA1NTUxMTE1MTIzMTI1NzgyNzAyMTE4MTU4MzQwNDU0MTAxNTYyNScpCi0gICAgICAgID4+PiBEZWNpbWFsLmZyb21fZmxvYXQoZmxvYXQoJ25hbicpKQotICAgICAgICBEZWNpbWFsKCdOYU4nKQotICAgICAgICA+Pj4gRGVjaW1hbC5mcm9tX2Zsb2F0KGZsb2F0KCdpbmYnKSkKLSAgICAgICAgRGVjaW1hbCgnSW5maW5pdHknKQotICAgICAgICA+Pj4gRGVjaW1hbC5mcm9tX2Zsb2F0KC1mbG9hdCgnaW5mJykpCi0gICAgICAgIERlY2ltYWwoJy1JbmZpbml0eScpCi0gICAgICAgID4+PiBEZWNpbWFsLmZyb21fZmxvYXQoLTAuMCkKLSAgICAgICAgRGVjaW1hbCgnLTAnKQotCi0gICAgICAgICIiIgotICAgICAgICBpZiBpc2luc3RhbmNlKGYsIGludCk6ICAgICAgICAgICAgICAgICMgaGFuZGxlIGludGVnZXIgaW5wdXRzCi0gICAgICAgICAgICByZXR1cm4gY2xzKGYpCi0gICAgICAgIGlmIG5vdCBpc2luc3RhbmNlKGYsIGZsb2F0KToKLSAgICAgICAgICAgIHJhaXNlIFR5cGVFcnJvcigiYXJndW1lbnQgbXVzdCBiZSBpbnQgb3IgZmxvYXQuIikKLSAgICAgICAgaWYgX21hdGguaXNpbmYoZikgb3IgX21hdGguaXNuYW4oZik6Ci0gICAgICAgICAgICByZXR1cm4gY2xzKHJlcHIoZikpCi0gICAgICAgIGlmIF9tYXRoLmNvcHlzaWduKDEuMCwgZikgPT0gMS4wOgotICAgICAgICAgICAgc2lnbiA9IDAKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHNpZ24gPSAxCi0gICAgICAgIG4sIGQgPSBhYnMoZikuYXNfaW50ZWdlcl9yYXRpbygpCi0gICAgICAgIGsgPSBkLmJpdF9sZW5ndGgoKSAtIDEKLSAgICAgICAgcmVzdWx0ID0gX2RlY19mcm9tX3RyaXBsZShzaWduLCBzdHIobio1KiprKSwgLWspCi0gICAgICAgIGlmIGNscyBpcyBEZWNpbWFsOgotICAgICAgICAgICAgcmV0dXJuIHJlc3VsdAotICAgICAgICBlbHNlOgotICAgICAgICAgICAgcmV0dXJuIGNscyhyZXN1bHQpCi0KLSAgICBkZWYgX2lzbmFuKHNlbGYpOgotICAgICAgICAiIiJSZXR1cm5zIHdoZXRoZXIgdGhlIG51bWJlciBpcyBub3QgYWN0dWFsbHkgb25lLgotCi0gICAgICAgIDAgaWYgYSBudW1iZXIKLSAgICAgICAgMSBpZiBOYU4KLSAgICAgICAgMiBpZiBzTmFOCi0gICAgICAgICIiIgotICAgICAgICBpZiBzZWxmLl9pc19zcGVjaWFsOgotICAgICAgICAgICAgZXhwID0gc2VsZi5fZXhwCi0gICAgICAgICAgICBpZiBleHAgPT0gJ24nOgotICAgICAgICAgICAgICAgIHJldHVybiAxCi0gICAgICAgICAgICBlbGlmIGV4cCA9PSAnTic6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIDIKLSAgICAgICAgcmV0dXJuIDAKLQotICAgIGRlZiBfaXNpbmZpbml0eShzZWxmKToKLSAgICAgICAgIiIiUmV0dXJucyB3aGV0aGVyIHRoZSBudW1iZXIgaXMgaW5maW5pdGUKLQotICAgICAgICAwIGlmIGZpbml0ZSBvciBub3QgYSBudW1iZXIKLSAgICAgICAgMSBpZiArSU5GCi0gICAgICAgIC0xIGlmIC1JTkYKLSAgICAgICAgIiIiCi0gICAgICAgIGlmIHNlbGYuX2V4cCA9PSAnRic6Ci0gICAgICAgICAgICBpZiBzZWxmLl9zaWduOgotICAgICAgICAgICAgICAgIHJldHVybiAtMQotICAgICAgICAgICAgcmV0dXJuIDEKLSAgICAgICAgcmV0dXJuIDAKLQotICAgIGRlZiBfY2hlY2tfbmFucyhzZWxmLCBvdGhlcj1Ob25lLCBjb250ZXh0PU5vbmUpOgotICAgICAgICAiIiJSZXR1cm5zIHdoZXRoZXIgdGhlIG51bWJlciBpcyBub3QgYWN0dWFsbHkgb25lLgotCi0gICAgICAgIGlmIHNlbGYsIG90aGVyIGFyZSBzTmFOLCBzaWduYWwKLSAgICAgICAgaWYgc2VsZiwgb3RoZXIgYXJlIE5hTiByZXR1cm4gbmFuCi0gICAgICAgIHJldHVybiAwCi0KLSAgICAgICAgRG9uZSBiZWZvcmUgb3BlcmF0aW9ucy4KLSAgICAgICAgIiIiCi0KLSAgICAgICAgc2VsZl9pc19uYW4gPSBzZWxmLl9pc25hbigpCi0gICAgICAgIGlmIG90aGVyIGlzIE5vbmU6Ci0gICAgICAgICAgICBvdGhlcl9pc19uYW4gPSBGYWxzZQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgb3RoZXJfaXNfbmFuID0gb3RoZXIuX2lzbmFuKCkKLQotICAgICAgICBpZiBzZWxmX2lzX25hbiBvciBvdGhlcl9pc19uYW46Ci0gICAgICAgICAgICBpZiBjb250ZXh0IGlzIE5vbmU6Ci0gICAgICAgICAgICAgICAgY29udGV4dCA9IGdldGNvbnRleHQoKQotCi0gICAgICAgICAgICBpZiBzZWxmX2lzX25hbiA9PSAyOgotICAgICAgICAgICAgICAgIHJldHVybiBjb250ZXh0Ll9yYWlzZV9lcnJvcihJbnZhbGlkT3BlcmF0aW9uLCAnc05hTicsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZikKLSAgICAgICAgICAgIGlmIG90aGVyX2lzX25hbiA9PSAyOgotICAgICAgICAgICAgICAgIHJldHVybiBjb250ZXh0Ll9yYWlzZV9lcnJvcihJbnZhbGlkT3BlcmF0aW9uLCAnc05hTicsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3RoZXIpCi0gICAgICAgICAgICBpZiBzZWxmX2lzX25hbjoKLSAgICAgICAgICAgICAgICByZXR1cm4gc2VsZi5fZml4X25hbihjb250ZXh0KQotCi0gICAgICAgICAgICByZXR1cm4gb3RoZXIuX2ZpeF9uYW4oY29udGV4dCkKLSAgICAgICAgcmV0dXJuIDAKLQotICAgIGRlZiBfY29tcGFyZV9jaGVja19uYW5zKHNlbGYsIG90aGVyLCBjb250ZXh0KToKLSAgICAgICAgIiIiVmVyc2lvbiBvZiBfY2hlY2tfbmFucyB1c2VkIGZvciB0aGUgc2lnbmFsaW5nIGNvbXBhcmlzb25zCi0gICAgICAgIGNvbXBhcmVfc2lnbmFsLCBfX2xlX18sIF9fbHRfXywgX19nZV9fLCBfX2d0X18uCi0KLSAgICAgICAgU2lnbmFsIEludmFsaWRPcGVyYXRpb24gaWYgZWl0aGVyIHNlbGYgb3Igb3RoZXIgaXMgYSAocXVpZXQKLSAgICAgICAgb3Igc2lnbmFsaW5nKSBOYU4uICBTaWduYWxpbmcgTmFOcyB0YWtlIHByZWNlZGVuY2Ugb3ZlciBxdWlldAotICAgICAgICBOYU5zLgotCi0gICAgICAgIFJldHVybiAwIGlmIG5laXRoZXIgb3BlcmFuZCBpcyBhIE5hTi4KLQotICAgICAgICAiIiIKLSAgICAgICAgaWYgY29udGV4dCBpcyBOb25lOgotICAgICAgICAgICAgY29udGV4dCA9IGdldGNvbnRleHQoKQotCi0gICAgICAgIGlmIHNlbGYuX2lzX3NwZWNpYWwgb3Igb3RoZXIuX2lzX3NwZWNpYWw6Ci0gICAgICAgICAgICBpZiBzZWxmLmlzX3NuYW4oKToKLSAgICAgICAgICAgICAgICByZXR1cm4gY29udGV4dC5fcmFpc2VfZXJyb3IoSW52YWxpZE9wZXJhdGlvbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2NvbXBhcmlzb24gaW52b2x2aW5nIHNOYU4nLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmKQotICAgICAgICAgICAgZWxpZiBvdGhlci5pc19zbmFuKCk6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuX3JhaXNlX2Vycm9yKEludmFsaWRPcGVyYXRpb24sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdjb21wYXJpc29uIGludm9sdmluZyBzTmFOJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3RoZXIpCi0gICAgICAgICAgICBlbGlmIHNlbGYuaXNfcW5hbigpOgotICAgICAgICAgICAgICAgIHJldHVybiBjb250ZXh0Ll9yYWlzZV9lcnJvcihJbnZhbGlkT3BlcmF0aW9uLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnY29tcGFyaXNvbiBpbnZvbHZpbmcgTmFOJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZikKLSAgICAgICAgICAgIGVsaWYgb3RoZXIuaXNfcW5hbigpOgotICAgICAgICAgICAgICAgIHJldHVybiBjb250ZXh0Ll9yYWlzZV9lcnJvcihJbnZhbGlkT3BlcmF0aW9uLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnY29tcGFyaXNvbiBpbnZvbHZpbmcgTmFOJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3RoZXIpCi0gICAgICAgIHJldHVybiAwCi0KLSAgICBkZWYgX19ib29sX18oc2VsZik6Ci0gICAgICAgICIiIlJldHVybiBUcnVlIGlmIHNlbGYgaXMgbm9uemVybzsgb3RoZXJ3aXNlIHJldHVybiBGYWxzZS4KLQotICAgICAgICBOYU5zIGFuZCBpbmZpbml0aWVzIGFyZSBjb25zaWRlcmVkIG5vbnplcm8uCi0gICAgICAgICIiIgotICAgICAgICByZXR1cm4gc2VsZi5faXNfc3BlY2lhbCBvciBzZWxmLl9pbnQgIT0gJzAnCi0KLSAgICBkZWYgX2NtcChzZWxmLCBvdGhlcik6Ci0gICAgICAgICIiIkNvbXBhcmUgdGhlIHR3byBub24tTmFOIGRlY2ltYWwgaW5zdGFuY2VzIHNlbGYgYW5kIG90aGVyLgotCi0gICAgICAgIFJldHVybnMgLTEgaWYgc2VsZiA8IG90aGVyLCAwIGlmIHNlbGYgPT0gb3RoZXIgYW5kIDEKLSAgICAgICAgaWYgc2VsZiA+IG90aGVyLiAgVGhpcyByb3V0aW5lIGlzIGZvciBpbnRlcm5hbCB1c2Ugb25seS4iIiIKLQotICAgICAgICBpZiBzZWxmLl9pc19zcGVjaWFsIG9yIG90aGVyLl9pc19zcGVjaWFsOgotICAgICAgICAgICAgc2VsZl9pbmYgPSBzZWxmLl9pc2luZmluaXR5KCkKLSAgICAgICAgICAgIG90aGVyX2luZiA9IG90aGVyLl9pc2luZmluaXR5KCkKLSAgICAgICAgICAgIGlmIHNlbGZfaW5mID09IG90aGVyX2luZjoKLSAgICAgICAgICAgICAgICByZXR1cm4gMAotICAgICAgICAgICAgZWxpZiBzZWxmX2luZiA8IG90aGVyX2luZjoKLSAgICAgICAgICAgICAgICByZXR1cm4gLTEKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIDEKLQotICAgICAgICAjIGNoZWNrIGZvciB6ZXJvczsgIERlY2ltYWwoJzAnKSA9PSBEZWNpbWFsKCctMCcpCi0gICAgICAgIGlmIG5vdCBzZWxmOgotICAgICAgICAgICAgaWYgbm90IG90aGVyOgotICAgICAgICAgICAgICAgIHJldHVybiAwCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIHJldHVybiAtKCgtMSkqKm90aGVyLl9zaWduKQotICAgICAgICBpZiBub3Qgb3RoZXI6Ci0gICAgICAgICAgICByZXR1cm4gKC0xKSoqc2VsZi5fc2lnbgotCi0gICAgICAgICMgSWYgZGlmZmVyZW50IHNpZ25zLCBuZWcgb25lIGlzIGxlc3MKLSAgICAgICAgaWYgb3RoZXIuX3NpZ24gPCBzZWxmLl9zaWduOgotICAgICAgICAgICAgcmV0dXJuIC0xCi0gICAgICAgIGlmIHNlbGYuX3NpZ24gPCBvdGhlci5fc2lnbjoKLSAgICAgICAgICAgIHJldHVybiAxCi0KLSAgICAgICAgc2VsZl9hZGp1c3RlZCA9IHNlbGYuYWRqdXN0ZWQoKQotICAgICAgICBvdGhlcl9hZGp1c3RlZCA9IG90aGVyLmFkanVzdGVkKCkKLSAgICAgICAgaWYgc2VsZl9hZGp1c3RlZCA9PSBvdGhlcl9hZGp1c3RlZDoKLSAgICAgICAgICAgIHNlbGZfcGFkZGVkID0gc2VsZi5faW50ICsgJzAnKihzZWxmLl9leHAgLSBvdGhlci5fZXhwKQotICAgICAgICAgICAgb3RoZXJfcGFkZGVkID0gb3RoZXIuX2ludCArICcwJyoob3RoZXIuX2V4cCAtIHNlbGYuX2V4cCkKLSAgICAgICAgICAgIGlmIHNlbGZfcGFkZGVkID09IG90aGVyX3BhZGRlZDoKLSAgICAgICAgICAgICAgICByZXR1cm4gMAotICAgICAgICAgICAgZWxpZiBzZWxmX3BhZGRlZCA8IG90aGVyX3BhZGRlZDoKLSAgICAgICAgICAgICAgICByZXR1cm4gLSgtMSkqKnNlbGYuX3NpZ24KLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgcmV0dXJuICgtMSkqKnNlbGYuX3NpZ24KLSAgICAgICAgZWxpZiBzZWxmX2FkanVzdGVkID4gb3RoZXJfYWRqdXN0ZWQ6Ci0gICAgICAgICAgICByZXR1cm4gKC0xKSoqc2VsZi5fc2lnbgotICAgICAgICBlbHNlOiAjIHNlbGZfYWRqdXN0ZWQgPCBvdGhlcl9hZGp1c3RlZAotICAgICAgICAgICAgcmV0dXJuIC0oKC0xKSoqc2VsZi5fc2lnbikKLQotICAgICMgTm90ZTogVGhlIERlY2ltYWwgc3RhbmRhcmQgZG9lc24ndCBjb3ZlciByaWNoIGNvbXBhcmlzb25zIGZvcgotICAgICMgRGVjaW1hbHMuICBJbiBwYXJ0aWN1bGFyLCB0aGUgc3BlY2lmaWNhdGlvbiBpcyBzaWxlbnQgb24gdGhlCi0gICAgIyBzdWJqZWN0IG9mIHdoYXQgc2hvdWxkIGhhcHBlbiBmb3IgYSBjb21wYXJpc29uIGludm9sdmluZyBhIE5hTi4KLSAgICAjIFdlIHRha2UgdGhlIGZvbGxvd2luZyBhcHByb2FjaDoKLSAgICAjCi0gICAgIyAgID09IGNvbXBhcmlzb25zIGludm9sdmluZyBhIHF1aWV0IE5hTiBhbHdheXMgcmV0dXJuIEZhbHNlCi0gICAgIyAgICE9IGNvbXBhcmlzb25zIGludm9sdmluZyBhIHF1aWV0IE5hTiBhbHdheXMgcmV0dXJuIFRydWUKLSAgICAjICAgPT0gb3IgIT0gY29tcGFyaXNvbnMgaW52b2x2aW5nIGEgc2lnbmFsaW5nIE5hTiBzaWduYWwKLSAgICAjICAgICAgSW52YWxpZE9wZXJhdGlvbiwgYW5kIHJldHVybiBGYWxzZSBvciBUcnVlIGFzIGFib3ZlIGlmIHRoZQotICAgICMgICAgICBJbnZhbGlkT3BlcmF0aW9uIGlzIG5vdCB0cmFwcGVkLgotICAgICMgICA8LCA+LCA8PSBhbmQgPj0gY29tcGFyaXNvbnMgaW52b2x2aW5nIGEgKHF1aWV0IG9yIHNpZ25hbGluZykKLSAgICAjICAgICAgTmFOIHNpZ25hbCBJbnZhbGlkT3BlcmF0aW9uLCBhbmQgcmV0dXJuIEZhbHNlIGlmIHRoZQotICAgICMgICAgICBJbnZhbGlkT3BlcmF0aW9uIGlzIG5vdCB0cmFwcGVkLgotICAgICMKLSAgICAjIFRoaXMgYmVoYXZpb3IgaXMgZGVzaWduZWQgdG8gY29uZm9ybSBhcyBjbG9zZWx5IGFzIHBvc3NpYmxlIHRvCi0gICAgIyB0aGF0IHNwZWNpZmllZCBieSBJRUVFIDc1NC4KLQotICAgIGRlZiBfX2VxX18oc2VsZiwgb3RoZXIsIGNvbnRleHQ9Tm9uZSk6Ci0gICAgICAgIHNlbGYsIG90aGVyID0gX2NvbnZlcnRfZm9yX2NvbXBhcmlzb24oc2VsZiwgb3RoZXIsIGVxdWFsaXR5X29wPVRydWUpCi0gICAgICAgIGlmIG90aGVyIGlzIE5vdEltcGxlbWVudGVkOgotICAgICAgICAgICAgcmV0dXJuIG90aGVyCi0gICAgICAgIGlmIHNlbGYuX2NoZWNrX25hbnMob3RoZXIsIGNvbnRleHQpOgotICAgICAgICAgICAgcmV0dXJuIEZhbHNlCi0gICAgICAgIHJldHVybiBzZWxmLl9jbXAob3RoZXIpID09IDAKLQotICAgIGRlZiBfX25lX18oc2VsZiwgb3RoZXIsIGNvbnRleHQ9Tm9uZSk6Ci0gICAgICAgIHNlbGYsIG90aGVyID0gX2NvbnZlcnRfZm9yX2NvbXBhcmlzb24oc2VsZiwgb3RoZXIsIGVxdWFsaXR5X29wPVRydWUpCi0gICAgICAgIGlmIG90aGVyIGlzIE5vdEltcGxlbWVudGVkOgotICAgICAgICAgICAgcmV0dXJuIG90aGVyCi0gICAgICAgIGlmIHNlbGYuX2NoZWNrX25hbnMob3RoZXIsIGNvbnRleHQpOgotICAgICAgICAgICAgcmV0dXJuIFRydWUKLSAgICAgICAgcmV0dXJuIHNlbGYuX2NtcChvdGhlcikgIT0gMAotCi0KLSAgICBkZWYgX19sdF9fKHNlbGYsIG90aGVyLCBjb250ZXh0PU5vbmUpOgotICAgICAgICBzZWxmLCBvdGhlciA9IF9jb252ZXJ0X2Zvcl9jb21wYXJpc29uKHNlbGYsIG90aGVyKQotICAgICAgICBpZiBvdGhlciBpcyBOb3RJbXBsZW1lbnRlZDoKLSAgICAgICAgICAgIHJldHVybiBvdGhlcgotICAgICAgICBhbnMgPSBzZWxmLl9jb21wYXJlX2NoZWNrX25hbnMob3RoZXIsIGNvbnRleHQpCi0gICAgICAgIGlmIGFuczoKLSAgICAgICAgICAgIHJldHVybiBGYWxzZQotICAgICAgICByZXR1cm4gc2VsZi5fY21wKG90aGVyKSA8IDAKLQotICAgIGRlZiBfX2xlX18oc2VsZiwgb3RoZXIsIGNvbnRleHQ9Tm9uZSk6Ci0gICAgICAgIHNlbGYsIG90aGVyID0gX2NvbnZlcnRfZm9yX2NvbXBhcmlzb24oc2VsZiwgb3RoZXIpCi0gICAgICAgIGlmIG90aGVyIGlzIE5vdEltcGxlbWVudGVkOgotICAgICAgICAgICAgcmV0dXJuIG90aGVyCi0gICAgICAgIGFucyA9IHNlbGYuX2NvbXBhcmVfY2hlY2tfbmFucyhvdGhlciwgY29udGV4dCkKLSAgICAgICAgaWYgYW5zOgotICAgICAgICAgICAgcmV0dXJuIEZhbHNlCi0gICAgICAgIHJldHVybiBzZWxmLl9jbXAob3RoZXIpIDw9IDAKLQotICAgIGRlZiBfX2d0X18oc2VsZiwgb3RoZXIsIGNvbnRleHQ9Tm9uZSk6Ci0gICAgICAgIHNlbGYsIG90aGVyID0gX2NvbnZlcnRfZm9yX2NvbXBhcmlzb24oc2VsZiwgb3RoZXIpCi0gICAgICAgIGlmIG90aGVyIGlzIE5vdEltcGxlbWVudGVkOgotICAgICAgICAgICAgcmV0dXJuIG90aGVyCi0gICAgICAgIGFucyA9IHNlbGYuX2NvbXBhcmVfY2hlY2tfbmFucyhvdGhlciwgY29udGV4dCkKLSAgICAgICAgaWYgYW5zOgotICAgICAgICAgICAgcmV0dXJuIEZhbHNlCi0gICAgICAgIHJldHVybiBzZWxmLl9jbXAob3RoZXIpID4gMAotCi0gICAgZGVmIF9fZ2VfXyhzZWxmLCBvdGhlciwgY29udGV4dD1Ob25lKToKLSAgICAgICAgc2VsZiwgb3RoZXIgPSBfY29udmVydF9mb3JfY29tcGFyaXNvbihzZWxmLCBvdGhlcikKLSAgICAgICAgaWYgb3RoZXIgaXMgTm90SW1wbGVtZW50ZWQ6Ci0gICAgICAgICAgICByZXR1cm4gb3RoZXIKLSAgICAgICAgYW5zID0gc2VsZi5fY29tcGFyZV9jaGVja19uYW5zKG90aGVyLCBjb250ZXh0KQotICAgICAgICBpZiBhbnM6Ci0gICAgICAgICAgICByZXR1cm4gRmFsc2UKLSAgICAgICAgcmV0dXJuIHNlbGYuX2NtcChvdGhlcikgPj0gMAotCi0gICAgZGVmIGNvbXBhcmUoc2VsZiwgb3RoZXIsIGNvbnRleHQ9Tm9uZSk6Ci0gICAgICAgICIiIkNvbXBhcmVzIG9uZSB0byBhbm90aGVyLgotCi0gICAgICAgIC0xID0+IGEgPCBiCi0gICAgICAgIDAgID0+IGEgPSBiCi0gICAgICAgIDEgID0+IGEgPiBiCi0gICAgICAgIE5hTiA9PiBvbmUgaXMgTmFOCi0gICAgICAgIExpa2UgX19jbXBfXywgYnV0IHJldHVybnMgRGVjaW1hbCBpbnN0YW5jZXMuCi0gICAgICAgICIiIgotICAgICAgICBvdGhlciA9IF9jb252ZXJ0X290aGVyKG90aGVyLCByYWlzZWl0PVRydWUpCi0KLSAgICAgICAgIyBDb21wYXJlKE5hTiwgTmFOKSA9IE5hTgotICAgICAgICBpZiAoc2VsZi5faXNfc3BlY2lhbCBvciBvdGhlciBhbmQgb3RoZXIuX2lzX3NwZWNpYWwpOgotICAgICAgICAgICAgYW5zID0gc2VsZi5fY2hlY2tfbmFucyhvdGhlciwgY29udGV4dCkKLSAgICAgICAgICAgIGlmIGFuczoKLSAgICAgICAgICAgICAgICByZXR1cm4gYW5zCi0KLSAgICAgICAgcmV0dXJuIERlY2ltYWwoc2VsZi5fY21wKG90aGVyKSkKLQotICAgIGRlZiBfX2hhc2hfXyhzZWxmKToKLSAgICAgICAgIiIieC5fX2hhc2hfXygpIDw9PT4gaGFzaCh4KSIiIgotCi0gICAgICAgICMgSW4gb3JkZXIgdG8gbWFrZSBzdXJlIHRoYXQgdGhlIGhhc2ggb2YgYSBEZWNpbWFsIGluc3RhbmNlCi0gICAgICAgICMgYWdyZWVzIHdpdGggdGhlIGhhc2ggb2YgYSBudW1lcmljYWxseSBlcXVhbCBpbnRlZ2VyLCBmbG9hdAotICAgICAgICAjIG9yIEZyYWN0aW9uLCB3ZSBmb2xsb3cgdGhlIHJ1bGVzIGZvciBudW1lcmljIGhhc2hlcyBvdXRsaW5lZAotICAgICAgICAjIGluIHRoZSBkb2N1bWVudGF0aW9uLiAgKFNlZSBsaWJyYXJ5IGRvY3MsICdCdWlsdC1pbiBUeXBlcycpLgotICAgICAgICBpZiBzZWxmLl9pc19zcGVjaWFsOgotICAgICAgICAgICAgaWYgc2VsZi5pc19zbmFuKCk6Ci0gICAgICAgICAgICAgICAgcmFpc2UgVHlwZUVycm9yKCdDYW5ub3QgaGFzaCBhIHNpZ25hbGluZyBOYU4gdmFsdWUuJykKLSAgICAgICAgICAgIGVsaWYgc2VsZi5pc19uYW4oKToKLSAgICAgICAgICAgICAgICByZXR1cm4gX1B5SEFTSF9OQU4KLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgaWYgc2VsZi5fc2lnbjoKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIC1fUHlIQVNIX0lORgotICAgICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgICAgIHJldHVybiBfUHlIQVNIX0lORgotCi0gICAgICAgIGlmIHNlbGYuX2V4cCA+PSAwOgotICAgICAgICAgICAgZXhwX2hhc2ggPSBwb3coMTAsIHNlbGYuX2V4cCwgX1B5SEFTSF9NT0RVTFVTKQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgZXhwX2hhc2ggPSBwb3coX1B5SEFTSF8xMElOViwgLXNlbGYuX2V4cCwgX1B5SEFTSF9NT0RVTFVTKQotICAgICAgICBoYXNoXyA9IGludChzZWxmLl9pbnQpICogZXhwX2hhc2ggJSBfUHlIQVNIX01PRFVMVVMKLSAgICAgICAgYW5zID0gaGFzaF8gaWYgc2VsZiA+PSAwIGVsc2UgLWhhc2hfCi0gICAgICAgIHJldHVybiAtMiBpZiBhbnMgPT0gLTEgZWxzZSBhbnMKLQotICAgIGRlZiBhc190dXBsZShzZWxmKToKLSAgICAgICAgIiIiUmVwcmVzZW50cyB0aGUgbnVtYmVyIGFzIGEgdHJpcGxlIHR1cGxlLgotCi0gICAgICAgIFRvIHNob3cgdGhlIGludGVybmFscyBleGFjdGx5IGFzIHRoZXkgYXJlLgotICAgICAgICAiIiIKLSAgICAgICAgcmV0dXJuIERlY2ltYWxUdXBsZShzZWxmLl9zaWduLCB0dXBsZShtYXAoaW50LCBzZWxmLl9pbnQpKSwgc2VsZi5fZXhwKQotCi0gICAgZGVmIF9fcmVwcl9fKHNlbGYpOgotICAgICAgICAiIiJSZXByZXNlbnRzIHRoZSBudW1iZXIgYXMgYW4gaW5zdGFuY2Ugb2YgRGVjaW1hbC4iIiIKLSAgICAgICAgIyBJbnZhcmlhbnQ6ICBldmFsKHJlcHIoZCkpID09IGQKLSAgICAgICAgcmV0dXJuICJEZWNpbWFsKCclcycpIiAlIHN0cihzZWxmKQotCi0gICAgZGVmIF9fc3RyX18oc2VsZiwgZW5nPUZhbHNlLCBjb250ZXh0PU5vbmUpOgotICAgICAgICAiIiJSZXR1cm4gc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBudW1iZXIgaW4gc2NpZW50aWZpYyBub3RhdGlvbi4KLQotICAgICAgICBDYXB0dXJlcyBhbGwgb2YgdGhlIGluZm9ybWF0aW9uIGluIHRoZSB1bmRlcmx5aW5nIHJlcHJlc2VudGF0aW9uLgotICAgICAgICAiIiIKLQotICAgICAgICBzaWduID0gWycnLCAnLSddW3NlbGYuX3NpZ25dCi0gICAgICAgIGlmIHNlbGYuX2lzX3NwZWNpYWw6Ci0gICAgICAgICAgICBpZiBzZWxmLl9leHAgPT0gJ0YnOgotICAgICAgICAgICAgICAgIHJldHVybiBzaWduICsgJ0luZmluaXR5JwotICAgICAgICAgICAgZWxpZiBzZWxmLl9leHAgPT0gJ24nOgotICAgICAgICAgICAgICAgIHJldHVybiBzaWduICsgJ05hTicgKyBzZWxmLl9pbnQKLSAgICAgICAgICAgIGVsc2U6ICMgc2VsZi5fZXhwID09ICdOJwotICAgICAgICAgICAgICAgIHJldHVybiBzaWduICsgJ3NOYU4nICsgc2VsZi5faW50Ci0KLSAgICAgICAgIyBudW1iZXIgb2YgZGlnaXRzIG9mIHNlbGYuX2ludCB0byBsZWZ0IG9mIGRlY2ltYWwgcG9pbnQKLSAgICAgICAgbGVmdGRpZ2l0cyA9IHNlbGYuX2V4cCArIGxlbihzZWxmLl9pbnQpCi0KLSAgICAgICAgIyBkb3RwbGFjZSBpcyBudW1iZXIgb2YgZGlnaXRzIG9mIHNlbGYuX2ludCB0byB0aGUgbGVmdCBvZiB0aGUKLSAgICAgICAgIyBkZWNpbWFsIHBvaW50IGluIHRoZSBtYW50aXNzYSBvZiB0aGUgb3V0cHV0IHN0cmluZyAodGhhdCBpcywKLSAgICAgICAgIyBhZnRlciBhZGp1c3RpbmcgdGhlIGV4cG9uZW50KQotICAgICAgICBpZiBzZWxmLl9leHAgPD0gMCBhbmQgbGVmdGRpZ2l0cyA+IC02OgotICAgICAgICAgICAgIyBubyBleHBvbmVudCByZXF1aXJlZAotICAgICAgICAgICAgZG90cGxhY2UgPSBsZWZ0ZGlnaXRzCi0gICAgICAgIGVsaWYgbm90IGVuZzoKLSAgICAgICAgICAgICMgdXN1YWwgc2NpZW50aWZpYyBub3RhdGlvbjogMSBkaWdpdCBvbiBsZWZ0IG9mIHRoZSBwb2ludAotICAgICAgICAgICAgZG90cGxhY2UgPSAxCi0gICAgICAgIGVsaWYgc2VsZi5faW50ID09ICcwJzoKLSAgICAgICAgICAgICMgZW5naW5lZXJpbmcgbm90YXRpb24sIHplcm8KLSAgICAgICAgICAgIGRvdHBsYWNlID0gKGxlZnRkaWdpdHMgKyAxKSAlIDMgLSAxCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAjIGVuZ2luZWVyaW5nIG5vdGF0aW9uLCBub256ZXJvCi0gICAgICAgICAgICBkb3RwbGFjZSA9IChsZWZ0ZGlnaXRzIC0gMSkgJSAzICsgMQotCi0gICAgICAgIGlmIGRvdHBsYWNlIDw9IDA6Ci0gICAgICAgICAgICBpbnRwYXJ0ID0gJzAnCi0gICAgICAgICAgICBmcmFjcGFydCA9ICcuJyArICcwJyooLWRvdHBsYWNlKSArIHNlbGYuX2ludAotICAgICAgICBlbGlmIGRvdHBsYWNlID49IGxlbihzZWxmLl9pbnQpOgotICAgICAgICAgICAgaW50cGFydCA9IHNlbGYuX2ludCsnMCcqKGRvdHBsYWNlLWxlbihzZWxmLl9pbnQpKQotICAgICAgICAgICAgZnJhY3BhcnQgPSAnJwotICAgICAgICBlbHNlOgotICAgICAgICAgICAgaW50cGFydCA9IHNlbGYuX2ludFs6ZG90cGxhY2VdCi0gICAgICAgICAgICBmcmFjcGFydCA9ICcuJyArIHNlbGYuX2ludFtkb3RwbGFjZTpdCi0gICAgICAgIGlmIGxlZnRkaWdpdHMgPT0gZG90cGxhY2U6Ci0gICAgICAgICAgICBleHAgPSAnJwotICAgICAgICBlbHNlOgotICAgICAgICAgICAgaWYgY29udGV4dCBpcyBOb25lOgotICAgICAgICAgICAgICAgIGNvbnRleHQgPSBnZXRjb250ZXh0KCkKLSAgICAgICAgICAgIGV4cCA9IFsnZScsICdFJ11bY29udGV4dC5jYXBpdGFsc10gKyAiJStkIiAlIChsZWZ0ZGlnaXRzLWRvdHBsYWNlKQotCi0gICAgICAgIHJldHVybiBzaWduICsgaW50cGFydCArIGZyYWNwYXJ0ICsgZXhwCi0KLSAgICBkZWYgdG9fZW5nX3N0cmluZyhzZWxmLCBjb250ZXh0PU5vbmUpOgotICAgICAgICAiIiJDb252ZXJ0IHRvIGVuZ2luZWVyaW5nLXR5cGUgc3RyaW5nLgotCi0gICAgICAgIEVuZ2luZWVyaW5nIG5vdGF0aW9uIGhhcyBhbiBleHBvbmVudCB3aGljaCBpcyBhIG11bHRpcGxlIG9mIDMsIHNvIHRoZXJlCi0gICAgICAgIGFyZSB1cCB0byAzIGRpZ2l0cyBsZWZ0IG9mIHRoZSBkZWNpbWFsIHBsYWNlLgotCi0gICAgICAgIFNhbWUgcnVsZXMgZm9yIHdoZW4gaW4gZXhwb25lbnRpYWwgYW5kIHdoZW4gYXMgYSB2YWx1ZSBhcyBpbiBfX3N0cl9fLgotICAgICAgICAiIiIKLSAgICAgICAgcmV0dXJuIHNlbGYuX19zdHJfXyhlbmc9VHJ1ZSwgY29udGV4dD1jb250ZXh0KQotCi0gICAgZGVmIF9fbmVnX18oc2VsZiwgY29udGV4dD1Ob25lKToKLSAgICAgICAgIiIiUmV0dXJucyBhIGNvcHkgd2l0aCB0aGUgc2lnbiBzd2l0Y2hlZC4KLQotICAgICAgICBSb3VuZHMsIGlmIGl0IGhhcyByZWFzb24uCi0gICAgICAgICIiIgotICAgICAgICBpZiBzZWxmLl9pc19zcGVjaWFsOgotICAgICAgICAgICAgYW5zID0gc2VsZi5fY2hlY2tfbmFucyhjb250ZXh0PWNvbnRleHQpCi0gICAgICAgICAgICBpZiBhbnM6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIGFucwotCi0gICAgICAgIGlmIGNvbnRleHQgaXMgTm9uZToKLSAgICAgICAgICAgIGNvbnRleHQgPSBnZXRjb250ZXh0KCkKLQotICAgICAgICBpZiBub3Qgc2VsZiBhbmQgY29udGV4dC5yb3VuZGluZyAhPSBST1VORF9GTE9PUjoKLSAgICAgICAgICAgICMgLURlY2ltYWwoJzAnKSBpcyBEZWNpbWFsKCcwJyksIG5vdCBEZWNpbWFsKCctMCcpLCBleGNlcHQKLSAgICAgICAgICAgICMgaW4gUk9VTkRfRkxPT1Igcm91bmRpbmcgbW9kZS4KLSAgICAgICAgICAgIGFucyA9IHNlbGYuY29weV9hYnMoKQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgYW5zID0gc2VsZi5jb3B5X25lZ2F0ZSgpCi0KLSAgICAgICAgcmV0dXJuIGFucy5fZml4KGNvbnRleHQpCi0KLSAgICBkZWYgX19wb3NfXyhzZWxmLCBjb250ZXh0PU5vbmUpOgotICAgICAgICAiIiJSZXR1cm5zIGEgY29weSwgdW5sZXNzIGl0IGlzIGEgc05hTi4KLQotICAgICAgICBSb3VuZHMgdGhlIG51bWJlciAoaWYgbW9yZSB0aGVuIHByZWNpc2lvbiBkaWdpdHMpCi0gICAgICAgICIiIgotICAgICAgICBpZiBzZWxmLl9pc19zcGVjaWFsOgotICAgICAgICAgICAgYW5zID0gc2VsZi5fY2hlY2tfbmFucyhjb250ZXh0PWNvbnRleHQpCi0gICAgICAgICAgICBpZiBhbnM6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIGFucwotCi0gICAgICAgIGlmIGNvbnRleHQgaXMgTm9uZToKLSAgICAgICAgICAgIGNvbnRleHQgPSBnZXRjb250ZXh0KCkKLQotICAgICAgICBpZiBub3Qgc2VsZiBhbmQgY29udGV4dC5yb3VuZGluZyAhPSBST1VORF9GTE9PUjoKLSAgICAgICAgICAgICMgKyAoLTApID0gMCwgZXhjZXB0IGluIFJPVU5EX0ZMT09SIHJvdW5kaW5nIG1vZGUuCi0gICAgICAgICAgICBhbnMgPSBzZWxmLmNvcHlfYWJzKCkKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIGFucyA9IERlY2ltYWwoc2VsZikKLQotICAgICAgICByZXR1cm4gYW5zLl9maXgoY29udGV4dCkKLQotICAgIGRlZiBfX2Fic19fKHNlbGYsIHJvdW5kPVRydWUsIGNvbnRleHQ9Tm9uZSk6Ci0gICAgICAgICIiIlJldHVybnMgdGhlIGFic29sdXRlIHZhbHVlIG9mIHNlbGYuCi0KLSAgICAgICAgSWYgdGhlIGtleXdvcmQgYXJndW1lbnQgJ3JvdW5kJyBpcyBmYWxzZSwgZG8gbm90IHJvdW5kLiAgVGhlCi0gICAgICAgIGV4cHJlc3Npb24gc2VsZi5fX2Fic19fKHJvdW5kPUZhbHNlKSBpcyBlcXVpdmFsZW50IHRvCi0gICAgICAgIHNlbGYuY29weV9hYnMoKS4KLSAgICAgICAgIiIiCi0gICAgICAgIGlmIG5vdCByb3VuZDoKLSAgICAgICAgICAgIHJldHVybiBzZWxmLmNvcHlfYWJzKCkKLQotICAgICAgICBpZiBzZWxmLl9pc19zcGVjaWFsOgotICAgICAgICAgICAgYW5zID0gc2VsZi5fY2hlY2tfbmFucyhjb250ZXh0PWNvbnRleHQpCi0gICAgICAgICAgICBpZiBhbnM6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIGFucwotCi0gICAgICAgIGlmIHNlbGYuX3NpZ246Ci0gICAgICAgICAgICBhbnMgPSBzZWxmLl9fbmVnX18oY29udGV4dD1jb250ZXh0KQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgYW5zID0gc2VsZi5fX3Bvc19fKGNvbnRleHQ9Y29udGV4dCkKLQotICAgICAgICByZXR1cm4gYW5zCi0KLSAgICBkZWYgX19hZGRfXyhzZWxmLCBvdGhlciwgY29udGV4dD1Ob25lKToKLSAgICAgICAgIiIiUmV0dXJucyBzZWxmICsgb3RoZXIuCi0KLSAgICAgICAgLUlORiArIElORiAob3IgdGhlIHJldmVyc2UpIGNhdXNlIEludmFsaWRPcGVyYXRpb24gZXJyb3JzLgotICAgICAgICAiIiIKLSAgICAgICAgb3RoZXIgPSBfY29udmVydF9vdGhlcihvdGhlcikKLSAgICAgICAgaWYgb3RoZXIgaXMgTm90SW1wbGVtZW50ZWQ6Ci0gICAgICAgICAgICByZXR1cm4gb3RoZXIKLQotICAgICAgICBpZiBjb250ZXh0IGlzIE5vbmU6Ci0gICAgICAgICAgICBjb250ZXh0ID0gZ2V0Y29udGV4dCgpCi0KLSAgICAgICAgaWYgc2VsZi5faXNfc3BlY2lhbCBvciBvdGhlci5faXNfc3BlY2lhbDoKLSAgICAgICAgICAgIGFucyA9IHNlbGYuX2NoZWNrX25hbnMob3RoZXIsIGNvbnRleHQpCi0gICAgICAgICAgICBpZiBhbnM6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIGFucwotCi0gICAgICAgICAgICBpZiBzZWxmLl9pc2luZmluaXR5KCk6Ci0gICAgICAgICAgICAgICAgIyBJZiBib3RoIElORiwgc2FtZSBzaWduID0+IHNhbWUgYXMgYm90aCwgb3Bwb3NpdGUgPT4gZXJyb3IuCi0gICAgICAgICAgICAgICAgaWYgc2VsZi5fc2lnbiAhPSBvdGhlci5fc2lnbiBhbmQgb3RoZXIuX2lzaW5maW5pdHkoKToKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuX3JhaXNlX2Vycm9yKEludmFsaWRPcGVyYXRpb24sICctSU5GICsgSU5GJykKLSAgICAgICAgICAgICAgICByZXR1cm4gRGVjaW1hbChzZWxmKQotICAgICAgICAgICAgaWYgb3RoZXIuX2lzaW5maW5pdHkoKToKLSAgICAgICAgICAgICAgICByZXR1cm4gRGVjaW1hbChvdGhlcikgICMgQ2FuJ3QgYm90aCBiZSBpbmZpbml0eSBoZXJlCi0KLSAgICAgICAgZXhwID0gbWluKHNlbGYuX2V4cCwgb3RoZXIuX2V4cCkKLSAgICAgICAgbmVnYXRpdmV6ZXJvID0gMAotICAgICAgICBpZiBjb250ZXh0LnJvdW5kaW5nID09IFJPVU5EX0ZMT09SIGFuZCBzZWxmLl9zaWduICE9IG90aGVyLl9zaWduOgotICAgICAgICAgICAgIyBJZiB0aGUgYW5zd2VyIGlzIDAsIHRoZSBzaWduIHNob3VsZCBiZSBuZWdhdGl2ZSwgaW4gdGhpcyBjYXNlLgotICAgICAgICAgICAgbmVnYXRpdmV6ZXJvID0gMQotCi0gICAgICAgIGlmIG5vdCBzZWxmIGFuZCBub3Qgb3RoZXI6Ci0gICAgICAgICAgICBzaWduID0gbWluKHNlbGYuX3NpZ24sIG90aGVyLl9zaWduKQotICAgICAgICAgICAgaWYgbmVnYXRpdmV6ZXJvOgotICAgICAgICAgICAgICAgIHNpZ24gPSAxCi0gICAgICAgICAgICBhbnMgPSBfZGVjX2Zyb21fdHJpcGxlKHNpZ24sICcwJywgZXhwKQotICAgICAgICAgICAgYW5zID0gYW5zLl9maXgoY29udGV4dCkKLSAgICAgICAgICAgIHJldHVybiBhbnMKLSAgICAgICAgaWYgbm90IHNlbGY6Ci0gICAgICAgICAgICBleHAgPSBtYXgoZXhwLCBvdGhlci5fZXhwIC0gY29udGV4dC5wcmVjLTEpCi0gICAgICAgICAgICBhbnMgPSBvdGhlci5fcmVzY2FsZShleHAsIGNvbnRleHQucm91bmRpbmcpCi0gICAgICAgICAgICBhbnMgPSBhbnMuX2ZpeChjb250ZXh0KQotICAgICAgICAgICAgcmV0dXJuIGFucwotICAgICAgICBpZiBub3Qgb3RoZXI6Ci0gICAgICAgICAgICBleHAgPSBtYXgoZXhwLCBzZWxmLl9leHAgLSBjb250ZXh0LnByZWMtMSkKLSAgICAgICAgICAgIGFucyA9IHNlbGYuX3Jlc2NhbGUoZXhwLCBjb250ZXh0LnJvdW5kaW5nKQotICAgICAgICAgICAgYW5zID0gYW5zLl9maXgoY29udGV4dCkKLSAgICAgICAgICAgIHJldHVybiBhbnMKLQotICAgICAgICBvcDEgPSBfV29ya1JlcChzZWxmKQotICAgICAgICBvcDIgPSBfV29ya1JlcChvdGhlcikKLSAgICAgICAgb3AxLCBvcDIgPSBfbm9ybWFsaXplKG9wMSwgb3AyLCBjb250ZXh0LnByZWMpCi0KLSAgICAgICAgcmVzdWx0ID0gX1dvcmtSZXAoKQotICAgICAgICBpZiBvcDEuc2lnbiAhPSBvcDIuc2lnbjoKLSAgICAgICAgICAgICMgRXF1YWwgYW5kIG9wcG9zaXRlCi0gICAgICAgICAgICBpZiBvcDEuaW50ID09IG9wMi5pbnQ6Ci0gICAgICAgICAgICAgICAgYW5zID0gX2RlY19mcm9tX3RyaXBsZShuZWdhdGl2ZXplcm8sICcwJywgZXhwKQotICAgICAgICAgICAgICAgIGFucyA9IGFucy5fZml4KGNvbnRleHQpCi0gICAgICAgICAgICAgICAgcmV0dXJuIGFucwotICAgICAgICAgICAgaWYgb3AxLmludCA8IG9wMi5pbnQ6Ci0gICAgICAgICAgICAgICAgb3AxLCBvcDIgPSBvcDIsIG9wMQotICAgICAgICAgICAgICAgICMgT0ssIG5vdyBhYnMob3AxKSA+IGFicyhvcDIpCi0gICAgICAgICAgICBpZiBvcDEuc2lnbiA9PSAxOgotICAgICAgICAgICAgICAgIHJlc3VsdC5zaWduID0gMQotICAgICAgICAgICAgICAgIG9wMS5zaWduLCBvcDIuc2lnbiA9IG9wMi5zaWduLCBvcDEuc2lnbgotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICByZXN1bHQuc2lnbiA9IDAKLSAgICAgICAgICAgICAgICAjIFNvIHdlIGtub3cgdGhlIHNpZ24sIGFuZCBvcDEgPiAwLgotICAgICAgICBlbGlmIG9wMS5zaWduID09IDE6Ci0gICAgICAgICAgICByZXN1bHQuc2lnbiA9IDEKLSAgICAgICAgICAgIG9wMS5zaWduLCBvcDIuc2lnbiA9ICgwLCAwKQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgcmVzdWx0LnNpZ24gPSAwCi0gICAgICAgICMgTm93LCBvcDEgPiBhYnMob3AyKSA+IDAKLQotICAgICAgICBpZiBvcDIuc2lnbiA9PSAwOgotICAgICAgICAgICAgcmVzdWx0LmludCA9IG9wMS5pbnQgKyBvcDIuaW50Ci0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICByZXN1bHQuaW50ID0gb3AxLmludCAtIG9wMi5pbnQKLQotICAgICAgICByZXN1bHQuZXhwID0gb3AxLmV4cAotICAgICAgICBhbnMgPSBEZWNpbWFsKHJlc3VsdCkKLSAgICAgICAgYW5zID0gYW5zLl9maXgoY29udGV4dCkKLSAgICAgICAgcmV0dXJuIGFucwotCi0gICAgX19yYWRkX18gPSBfX2FkZF9fCi0KLSAgICBkZWYgX19zdWJfXyhzZWxmLCBvdGhlciwgY29udGV4dD1Ob25lKToKLSAgICAgICAgIiIiUmV0dXJuIHNlbGYgLSBvdGhlciIiIgotICAgICAgICBvdGhlciA9IF9jb252ZXJ0X290aGVyKG90aGVyKQotICAgICAgICBpZiBvdGhlciBpcyBOb3RJbXBsZW1lbnRlZDoKLSAgICAgICAgICAgIHJldHVybiBvdGhlcgotCi0gICAgICAgIGlmIHNlbGYuX2lzX3NwZWNpYWwgb3Igb3RoZXIuX2lzX3NwZWNpYWw6Ci0gICAgICAgICAgICBhbnMgPSBzZWxmLl9jaGVja19uYW5zKG90aGVyLCBjb250ZXh0PWNvbnRleHQpCi0gICAgICAgICAgICBpZiBhbnM6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIGFucwotCi0gICAgICAgICMgc2VsZiAtIG90aGVyIGlzIGNvbXB1dGVkIGFzIHNlbGYgKyBvdGhlci5jb3B5X25lZ2F0ZSgpCi0gICAgICAgIHJldHVybiBzZWxmLl9fYWRkX18ob3RoZXIuY29weV9uZWdhdGUoKSwgY29udGV4dD1jb250ZXh0KQotCi0gICAgZGVmIF9fcnN1Yl9fKHNlbGYsIG90aGVyLCBjb250ZXh0PU5vbmUpOgotICAgICAgICAiIiJSZXR1cm4gb3RoZXIgLSBzZWxmIiIiCi0gICAgICAgIG90aGVyID0gX2NvbnZlcnRfb3RoZXIob3RoZXIpCi0gICAgICAgIGlmIG90aGVyIGlzIE5vdEltcGxlbWVudGVkOgotICAgICAgICAgICAgcmV0dXJuIG90aGVyCi0KLSAgICAgICAgcmV0dXJuIG90aGVyLl9fc3ViX18oc2VsZiwgY29udGV4dD1jb250ZXh0KQotCi0gICAgZGVmIF9fbXVsX18oc2VsZiwgb3RoZXIsIGNvbnRleHQ9Tm9uZSk6Ci0gICAgICAgICIiIlJldHVybiBzZWxmICogb3RoZXIuCi0KLSAgICAgICAgKCstKSBJTkYgKiAwIChvciBpdHMgcmV2ZXJzZSkgcmFpc2UgSW52YWxpZE9wZXJhdGlvbi4KLSAgICAgICAgIiIiCi0gICAgICAgIG90aGVyID0gX2NvbnZlcnRfb3RoZXIob3RoZXIpCi0gICAgICAgIGlmIG90aGVyIGlzIE5vdEltcGxlbWVudGVkOgotICAgICAgICAgICAgcmV0dXJuIG90aGVyCi0KLSAgICAgICAgaWYgY29udGV4dCBpcyBOb25lOgotICAgICAgICAgICAgY29udGV4dCA9IGdldGNvbnRleHQoKQotCi0gICAgICAgIHJlc3VsdHNpZ24gPSBzZWxmLl9zaWduIF4gb3RoZXIuX3NpZ24KLQotICAgICAgICBpZiBzZWxmLl9pc19zcGVjaWFsIG9yIG90aGVyLl9pc19zcGVjaWFsOgotICAgICAgICAgICAgYW5zID0gc2VsZi5fY2hlY2tfbmFucyhvdGhlciwgY29udGV4dCkKLSAgICAgICAgICAgIGlmIGFuczoKLSAgICAgICAgICAgICAgICByZXR1cm4gYW5zCi0KLSAgICAgICAgICAgIGlmIHNlbGYuX2lzaW5maW5pdHkoKToKLSAgICAgICAgICAgICAgICBpZiBub3Qgb3RoZXI6Ci0gICAgICAgICAgICAgICAgICAgIHJldHVybiBjb250ZXh0Ll9yYWlzZV9lcnJvcihJbnZhbGlkT3BlcmF0aW9uLCAnKCstKUlORiAqIDAnKQotICAgICAgICAgICAgICAgIHJldHVybiBfU2lnbmVkSW5maW5pdHlbcmVzdWx0c2lnbl0KLQotICAgICAgICAgICAgaWYgb3RoZXIuX2lzaW5maW5pdHkoKToKLSAgICAgICAgICAgICAgICBpZiBub3Qgc2VsZjoKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuX3JhaXNlX2Vycm9yKEludmFsaWRPcGVyYXRpb24sICcwICogKCstKUlORicpCi0gICAgICAgICAgICAgICAgcmV0dXJuIF9TaWduZWRJbmZpbml0eVtyZXN1bHRzaWduXQotCi0gICAgICAgIHJlc3VsdGV4cCA9IHNlbGYuX2V4cCArIG90aGVyLl9leHAKLQotICAgICAgICAjIFNwZWNpYWwgY2FzZSBmb3IgbXVsdGlwbHlpbmcgYnkgemVybwotICAgICAgICBpZiBub3Qgc2VsZiBvciBub3Qgb3RoZXI6Ci0gICAgICAgICAgICBhbnMgPSBfZGVjX2Zyb21fdHJpcGxlKHJlc3VsdHNpZ24sICcwJywgcmVzdWx0ZXhwKQotICAgICAgICAgICAgIyBGaXhpbmcgaW4gY2FzZSB0aGUgZXhwb25lbnQgaXMgb3V0IG9mIGJvdW5kcwotICAgICAgICAgICAgYW5zID0gYW5zLl9maXgoY29udGV4dCkKLSAgICAgICAgICAgIHJldHVybiBhbnMKLQotICAgICAgICAjIFNwZWNpYWwgY2FzZSBmb3IgbXVsdGlwbHlpbmcgYnkgcG93ZXIgb2YgMTAKLSAgICAgICAgaWYgc2VsZi5faW50ID09ICcxJzoKLSAgICAgICAgICAgIGFucyA9IF9kZWNfZnJvbV90cmlwbGUocmVzdWx0c2lnbiwgb3RoZXIuX2ludCwgcmVzdWx0ZXhwKQotICAgICAgICAgICAgYW5zID0gYW5zLl9maXgoY29udGV4dCkKLSAgICAgICAgICAgIHJldHVybiBhbnMKLSAgICAgICAgaWYgb3RoZXIuX2ludCA9PSAnMSc6Ci0gICAgICAgICAgICBhbnMgPSBfZGVjX2Zyb21fdHJpcGxlKHJlc3VsdHNpZ24sIHNlbGYuX2ludCwgcmVzdWx0ZXhwKQotICAgICAgICAgICAgYW5zID0gYW5zLl9maXgoY29udGV4dCkKLSAgICAgICAgICAgIHJldHVybiBhbnMKLQotICAgICAgICBvcDEgPSBfV29ya1JlcChzZWxmKQotICAgICAgICBvcDIgPSBfV29ya1JlcChvdGhlcikKLQotICAgICAgICBhbnMgPSBfZGVjX2Zyb21fdHJpcGxlKHJlc3VsdHNpZ24sIHN0cihvcDEuaW50ICogb3AyLmludCksIHJlc3VsdGV4cCkKLSAgICAgICAgYW5zID0gYW5zLl9maXgoY29udGV4dCkKLQotICAgICAgICByZXR1cm4gYW5zCi0gICAgX19ybXVsX18gPSBfX211bF9fCi0KLSAgICBkZWYgX190cnVlZGl2X18oc2VsZiwgb3RoZXIsIGNvbnRleHQ9Tm9uZSk6Ci0gICAgICAgICIiIlJldHVybiBzZWxmIC8gb3RoZXIuIiIiCi0gICAgICAgIG90aGVyID0gX2NvbnZlcnRfb3RoZXIob3RoZXIpCi0gICAgICAgIGlmIG90aGVyIGlzIE5vdEltcGxlbWVudGVkOgotICAgICAgICAgICAgcmV0dXJuIE5vdEltcGxlbWVudGVkCi0KLSAgICAgICAgaWYgY29udGV4dCBpcyBOb25lOgotICAgICAgICAgICAgY29udGV4dCA9IGdldGNvbnRleHQoKQotCi0gICAgICAgIHNpZ24gPSBzZWxmLl9zaWduIF4gb3RoZXIuX3NpZ24KLQotICAgICAgICBpZiBzZWxmLl9pc19zcGVjaWFsIG9yIG90aGVyLl9pc19zcGVjaWFsOgotICAgICAgICAgICAgYW5zID0gc2VsZi5fY2hlY2tfbmFucyhvdGhlciwgY29udGV4dCkKLSAgICAgICAgICAgIGlmIGFuczoKLSAgICAgICAgICAgICAgICByZXR1cm4gYW5zCi0KLSAgICAgICAgICAgIGlmIHNlbGYuX2lzaW5maW5pdHkoKSBhbmQgb3RoZXIuX2lzaW5maW5pdHkoKToKLSAgICAgICAgICAgICAgICByZXR1cm4gY29udGV4dC5fcmFpc2VfZXJyb3IoSW52YWxpZE9wZXJhdGlvbiwgJygrLSlJTkYvKCstKUlORicpCi0KLSAgICAgICAgICAgIGlmIHNlbGYuX2lzaW5maW5pdHkoKToKLSAgICAgICAgICAgICAgICByZXR1cm4gX1NpZ25lZEluZmluaXR5W3NpZ25dCi0KLSAgICAgICAgICAgIGlmIG90aGVyLl9pc2luZmluaXR5KCk6Ci0gICAgICAgICAgICAgICAgY29udGV4dC5fcmFpc2VfZXJyb3IoQ2xhbXBlZCwgJ0RpdmlzaW9uIGJ5IGluZmluaXR5JykKLSAgICAgICAgICAgICAgICByZXR1cm4gX2RlY19mcm9tX3RyaXBsZShzaWduLCAnMCcsIGNvbnRleHQuRXRpbnkoKSkKLQotICAgICAgICAjIFNwZWNpYWwgY2FzZXMgZm9yIHplcm9lcwotICAgICAgICBpZiBub3Qgb3RoZXI6Ci0gICAgICAgICAgICBpZiBub3Qgc2VsZjoKLSAgICAgICAgICAgICAgICByZXR1cm4gY29udGV4dC5fcmFpc2VfZXJyb3IoRGl2aXNpb25VbmRlZmluZWQsICcwIC8gMCcpCi0gICAgICAgICAgICByZXR1cm4gY29udGV4dC5fcmFpc2VfZXJyb3IoRGl2aXNpb25CeVplcm8sICd4IC8gMCcsIHNpZ24pCi0KLSAgICAgICAgaWYgbm90IHNlbGY6Ci0gICAgICAgICAgICBleHAgPSBzZWxmLl9leHAgLSBvdGhlci5fZXhwCi0gICAgICAgICAgICBjb2VmZiA9IDAKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgICMgT0ssIHNvIG5laXRoZXIgPSAwLCBJTkYgb3IgTmFOCi0gICAgICAgICAgICBzaGlmdCA9IGxlbihvdGhlci5faW50KSAtIGxlbihzZWxmLl9pbnQpICsgY29udGV4dC5wcmVjICsgMQotICAgICAgICAgICAgZXhwID0gc2VsZi5fZXhwIC0gb3RoZXIuX2V4cCAtIHNoaWZ0Ci0gICAgICAgICAgICBvcDEgPSBfV29ya1JlcChzZWxmKQotICAgICAgICAgICAgb3AyID0gX1dvcmtSZXAob3RoZXIpCi0gICAgICAgICAgICBpZiBzaGlmdCA+PSAwOgotICAgICAgICAgICAgICAgIGNvZWZmLCByZW1haW5kZXIgPSBkaXZtb2Qob3AxLmludCAqIDEwKipzaGlmdCwgb3AyLmludCkKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgY29lZmYsIHJlbWFpbmRlciA9IGRpdm1vZChvcDEuaW50LCBvcDIuaW50ICogMTAqKi1zaGlmdCkKLSAgICAgICAgICAgIGlmIHJlbWFpbmRlcjoKLSAgICAgICAgICAgICAgICAjIHJlc3VsdCBpcyBub3QgZXhhY3Q7IGFkanVzdCB0byBlbnN1cmUgY29ycmVjdCByb3VuZGluZwotICAgICAgICAgICAgICAgIGlmIGNvZWZmICUgNSA9PSAwOgotICAgICAgICAgICAgICAgICAgICBjb2VmZiArPSAxCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgICMgcmVzdWx0IGlzIGV4YWN0OyBnZXQgYXMgY2xvc2UgdG8gaWRlYWwgZXhwb25lbnQgYXMgcG9zc2libGUKLSAgICAgICAgICAgICAgICBpZGVhbF9leHAgPSBzZWxmLl9leHAgLSBvdGhlci5fZXhwCi0gICAgICAgICAgICAgICAgd2hpbGUgZXhwIDwgaWRlYWxfZXhwIGFuZCBjb2VmZiAlIDEwID09IDA6Ci0gICAgICAgICAgICAgICAgICAgIGNvZWZmIC8vPSAxMAotICAgICAgICAgICAgICAgICAgICBleHAgKz0gMQotCi0gICAgICAgIGFucyA9IF9kZWNfZnJvbV90cmlwbGUoc2lnbiwgc3RyKGNvZWZmKSwgZXhwKQotICAgICAgICByZXR1cm4gYW5zLl9maXgoY29udGV4dCkKLQotICAgIGRlZiBfZGl2aWRlKHNlbGYsIG90aGVyLCBjb250ZXh0KToKLSAgICAgICAgIiIiUmV0dXJuIChzZWxmIC8vIG90aGVyLCBzZWxmICUgb3RoZXIpLCB0byBjb250ZXh0LnByZWMgcHJlY2lzaW9uLgotCi0gICAgICAgIEFzc3VtZXMgdGhhdCBuZWl0aGVyIHNlbGYgbm9yIG90aGVyIGlzIGEgTmFOLCB0aGF0IHNlbGYgaXMgbm90Ci0gICAgICAgIGluZmluaXRlIGFuZCB0aGF0IG90aGVyIGlzIG5vbnplcm8uCi0gICAgICAgICIiIgotICAgICAgICBzaWduID0gc2VsZi5fc2lnbiBeIG90aGVyLl9zaWduCi0gICAgICAgIGlmIG90aGVyLl9pc2luZmluaXR5KCk6Ci0gICAgICAgICAgICBpZGVhbF9leHAgPSBzZWxmLl9leHAKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIGlkZWFsX2V4cCA9IG1pbihzZWxmLl9leHAsIG90aGVyLl9leHApCi0KLSAgICAgICAgZXhwZGlmZiA9IHNlbGYuYWRqdXN0ZWQoKSAtIG90aGVyLmFkanVzdGVkKCkKLSAgICAgICAgaWYgbm90IHNlbGYgb3Igb3RoZXIuX2lzaW5maW5pdHkoKSBvciBleHBkaWZmIDw9IC0yOgotICAgICAgICAgICAgcmV0dXJuIChfZGVjX2Zyb21fdHJpcGxlKHNpZ24sICcwJywgMCksCi0gICAgICAgICAgICAgICAgICAgIHNlbGYuX3Jlc2NhbGUoaWRlYWxfZXhwLCBjb250ZXh0LnJvdW5kaW5nKSkKLSAgICAgICAgaWYgZXhwZGlmZiA8PSBjb250ZXh0LnByZWM6Ci0gICAgICAgICAgICBvcDEgPSBfV29ya1JlcChzZWxmKQotICAgICAgICAgICAgb3AyID0gX1dvcmtSZXAob3RoZXIpCi0gICAgICAgICAgICBpZiBvcDEuZXhwID49IG9wMi5leHA6Ci0gICAgICAgICAgICAgICAgb3AxLmludCAqPSAxMCoqKG9wMS5leHAgLSBvcDIuZXhwKQotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICBvcDIuaW50ICo9IDEwKioob3AyLmV4cCAtIG9wMS5leHApCi0gICAgICAgICAgICBxLCByID0gZGl2bW9kKG9wMS5pbnQsIG9wMi5pbnQpCi0gICAgICAgICAgICBpZiBxIDwgMTAqKmNvbnRleHQucHJlYzoKLSAgICAgICAgICAgICAgICByZXR1cm4gKF9kZWNfZnJvbV90cmlwbGUoc2lnbiwgc3RyKHEpLCAwKSwKLSAgICAgICAgICAgICAgICAgICAgICAgIF9kZWNfZnJvbV90cmlwbGUoc2VsZi5fc2lnbiwgc3RyKHIpLCBpZGVhbF9leHApKQotCi0gICAgICAgICMgSGVyZSB0aGUgcXVvdGllbnQgaXMgdG9vIGxhcmdlIHRvIGJlIHJlcHJlc2VudGFibGUKLSAgICAgICAgYW5zID0gY29udGV4dC5fcmFpc2VfZXJyb3IoRGl2aXNpb25JbXBvc3NpYmxlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncXVvdGllbnQgdG9vIGxhcmdlIGluIC8vLCAlIG9yIGRpdm1vZCcpCi0gICAgICAgIHJldHVybiBhbnMsIGFucwotCi0gICAgZGVmIF9fcnRydWVkaXZfXyhzZWxmLCBvdGhlciwgY29udGV4dD1Ob25lKToKLSAgICAgICAgIiIiU3dhcHMgc2VsZi9vdGhlciBhbmQgcmV0dXJucyBfX3RydWVkaXZfXy4iIiIKLSAgICAgICAgb3RoZXIgPSBfY29udmVydF9vdGhlcihvdGhlcikKLSAgICAgICAgaWYgb3RoZXIgaXMgTm90SW1wbGVtZW50ZWQ6Ci0gICAgICAgICAgICByZXR1cm4gb3RoZXIKLSAgICAgICAgcmV0dXJuIG90aGVyLl9fdHJ1ZWRpdl9fKHNlbGYsIGNvbnRleHQ9Y29udGV4dCkKLQotICAgIGRlZiBfX2Rpdm1vZF9fKHNlbGYsIG90aGVyLCBjb250ZXh0PU5vbmUpOgotICAgICAgICAiIiIKLSAgICAgICAgUmV0dXJuIChzZWxmIC8vIG90aGVyLCBzZWxmICUgb3RoZXIpCi0gICAgICAgICIiIgotICAgICAgICBvdGhlciA9IF9jb252ZXJ0X290aGVyKG90aGVyKQotICAgICAgICBpZiBvdGhlciBpcyBOb3RJbXBsZW1lbnRlZDoKLSAgICAgICAgICAgIHJldHVybiBvdGhlcgotCi0gICAgICAgIGlmIGNvbnRleHQgaXMgTm9uZToKLSAgICAgICAgICAgIGNvbnRleHQgPSBnZXRjb250ZXh0KCkKLQotICAgICAgICBhbnMgPSBzZWxmLl9jaGVja19uYW5zKG90aGVyLCBjb250ZXh0KQotICAgICAgICBpZiBhbnM6Ci0gICAgICAgICAgICByZXR1cm4gKGFucywgYW5zKQotCi0gICAgICAgIHNpZ24gPSBzZWxmLl9zaWduIF4gb3RoZXIuX3NpZ24KLSAgICAgICAgaWYgc2VsZi5faXNpbmZpbml0eSgpOgotICAgICAgICAgICAgaWYgb3RoZXIuX2lzaW5maW5pdHkoKToKLSAgICAgICAgICAgICAgICBhbnMgPSBjb250ZXh0Ll9yYWlzZV9lcnJvcihJbnZhbGlkT3BlcmF0aW9uLCAnZGl2bW9kKElORiwgSU5GKScpCi0gICAgICAgICAgICAgICAgcmV0dXJuIGFucywgYW5zCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIHJldHVybiAoX1NpZ25lZEluZmluaXR5W3NpZ25dLAotICAgICAgICAgICAgICAgICAgICAgICAgY29udGV4dC5fcmFpc2VfZXJyb3IoSW52YWxpZE9wZXJhdGlvbiwgJ0lORiAlIHgnKSkKLQotICAgICAgICBpZiBub3Qgb3RoZXI6Ci0gICAgICAgICAgICBpZiBub3Qgc2VsZjoKLSAgICAgICAgICAgICAgICBhbnMgPSBjb250ZXh0Ll9yYWlzZV9lcnJvcihEaXZpc2lvblVuZGVmaW5lZCwgJ2Rpdm1vZCgwLCAwKScpCi0gICAgICAgICAgICAgICAgcmV0dXJuIGFucywgYW5zCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIHJldHVybiAoY29udGV4dC5fcmFpc2VfZXJyb3IoRGl2aXNpb25CeVplcm8sICd4IC8vIDAnLCBzaWduKSwKLSAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHQuX3JhaXNlX2Vycm9yKEludmFsaWRPcGVyYXRpb24sICd4ICUgMCcpKQotCi0gICAgICAgIHF1b3RpZW50LCByZW1haW5kZXIgPSBzZWxmLl9kaXZpZGUob3RoZXIsIGNvbnRleHQpCi0gICAgICAgIHJlbWFpbmRlciA9IHJlbWFpbmRlci5fZml4KGNvbnRleHQpCi0gICAgICAgIHJldHVybiBxdW90aWVudCwgcmVtYWluZGVyCi0KLSAgICBkZWYgX19yZGl2bW9kX18oc2VsZiwgb3RoZXIsIGNvbnRleHQ9Tm9uZSk6Ci0gICAgICAgICIiIlN3YXBzIHNlbGYvb3RoZXIgYW5kIHJldHVybnMgX19kaXZtb2RfXy4iIiIKLSAgICAgICAgb3RoZXIgPSBfY29udmVydF9vdGhlcihvdGhlcikKLSAgICAgICAgaWYgb3RoZXIgaXMgTm90SW1wbGVtZW50ZWQ6Ci0gICAgICAgICAgICByZXR1cm4gb3RoZXIKLSAgICAgICAgcmV0dXJuIG90aGVyLl9fZGl2bW9kX18oc2VsZiwgY29udGV4dD1jb250ZXh0KQotCi0gICAgZGVmIF9fbW9kX18oc2VsZiwgb3RoZXIsIGNvbnRleHQ9Tm9uZSk6Ci0gICAgICAgICIiIgotICAgICAgICBzZWxmICUgb3RoZXIKLSAgICAgICAgIiIiCi0gICAgICAgIG90aGVyID0gX2NvbnZlcnRfb3RoZXIob3RoZXIpCi0gICAgICAgIGlmIG90aGVyIGlzIE5vdEltcGxlbWVudGVkOgotICAgICAgICAgICAgcmV0dXJuIG90aGVyCi0KLSAgICAgICAgaWYgY29udGV4dCBpcyBOb25lOgotICAgICAgICAgICAgY29udGV4dCA9IGdldGNvbnRleHQoKQotCi0gICAgICAgIGFucyA9IHNlbGYuX2NoZWNrX25hbnMob3RoZXIsIGNvbnRleHQpCi0gICAgICAgIGlmIGFuczoKLSAgICAgICAgICAgIHJldHVybiBhbnMKLQotICAgICAgICBpZiBzZWxmLl9pc2luZmluaXR5KCk6Ci0gICAgICAgICAgICByZXR1cm4gY29udGV4dC5fcmFpc2VfZXJyb3IoSW52YWxpZE9wZXJhdGlvbiwgJ0lORiAlIHgnKQotICAgICAgICBlbGlmIG5vdCBvdGhlcjoKLSAgICAgICAgICAgIGlmIHNlbGY6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuX3JhaXNlX2Vycm9yKEludmFsaWRPcGVyYXRpb24sICd4ICUgMCcpCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIHJldHVybiBjb250ZXh0Ll9yYWlzZV9lcnJvcihEaXZpc2lvblVuZGVmaW5lZCwgJzAgJSAwJykKLQotICAgICAgICByZW1haW5kZXIgPSBzZWxmLl9kaXZpZGUob3RoZXIsIGNvbnRleHQpWzFdCi0gICAgICAgIHJlbWFpbmRlciA9IHJlbWFpbmRlci5fZml4KGNvbnRleHQpCi0gICAgICAgIHJldHVybiByZW1haW5kZXIKLQotICAgIGRlZiBfX3Jtb2RfXyhzZWxmLCBvdGhlciwgY29udGV4dD1Ob25lKToKLSAgICAgICAgIiIiU3dhcHMgc2VsZi9vdGhlciBhbmQgcmV0dXJucyBfX21vZF9fLiIiIgotICAgICAgICBvdGhlciA9IF9jb252ZXJ0X290aGVyKG90aGVyKQotICAgICAgICBpZiBvdGhlciBpcyBOb3RJbXBsZW1lbnRlZDoKLSAgICAgICAgICAgIHJldHVybiBvdGhlcgotICAgICAgICByZXR1cm4gb3RoZXIuX19tb2RfXyhzZWxmLCBjb250ZXh0PWNvbnRleHQpCi0KLSAgICBkZWYgcmVtYWluZGVyX25lYXIoc2VsZiwgb3RoZXIsIGNvbnRleHQ9Tm9uZSk6Ci0gICAgICAgICIiIgotICAgICAgICBSZW1haW5kZXIgbmVhcmVzdCB0byAwLSAgYWJzKHJlbWFpbmRlci1uZWFyKSA8PSBvdGhlci8yCi0gICAgICAgICIiIgotICAgICAgICBpZiBjb250ZXh0IGlzIE5vbmU6Ci0gICAgICAgICAgICBjb250ZXh0ID0gZ2V0Y29udGV4dCgpCi0KLSAgICAgICAgb3RoZXIgPSBfY29udmVydF9vdGhlcihvdGhlciwgcmFpc2VpdD1UcnVlKQotCi0gICAgICAgIGFucyA9IHNlbGYuX2NoZWNrX25hbnMob3RoZXIsIGNvbnRleHQpCi0gICAgICAgIGlmIGFuczoKLSAgICAgICAgICAgIHJldHVybiBhbnMKLQotICAgICAgICAjIHNlbGYgPT0gKy8taW5maW5pdHkgLT4gSW52YWxpZE9wZXJhdGlvbgotICAgICAgICBpZiBzZWxmLl9pc2luZmluaXR5KCk6Ci0gICAgICAgICAgICByZXR1cm4gY29udGV4dC5fcmFpc2VfZXJyb3IoSW52YWxpZE9wZXJhdGlvbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVtYWluZGVyX25lYXIoaW5maW5pdHksIHgpJykKLQotICAgICAgICAjIG90aGVyID09IDAgLT4gZWl0aGVyIEludmFsaWRPcGVyYXRpb24gb3IgRGl2aXNpb25VbmRlZmluZWQKLSAgICAgICAgaWYgbm90IG90aGVyOgotICAgICAgICAgICAgaWYgc2VsZjoKLSAgICAgICAgICAgICAgICByZXR1cm4gY29udGV4dC5fcmFpc2VfZXJyb3IoSW52YWxpZE9wZXJhdGlvbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlbWFpbmRlcl9uZWFyKHgsIDApJykKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuX3JhaXNlX2Vycm9yKERpdmlzaW9uVW5kZWZpbmVkLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVtYWluZGVyX25lYXIoMCwgMCknKQotCi0gICAgICAgICMgb3RoZXIgPSArLy1pbmZpbml0eSAtPiByZW1haW5kZXIgPSBzZWxmCi0gICAgICAgIGlmIG90aGVyLl9pc2luZmluaXR5KCk6Ci0gICAgICAgICAgICBhbnMgPSBEZWNpbWFsKHNlbGYpCi0gICAgICAgICAgICByZXR1cm4gYW5zLl9maXgoY29udGV4dCkKLQotICAgICAgICAjIHNlbGYgPSAwIC0+IHJlbWFpbmRlciA9IHNlbGYsIHdpdGggaWRlYWwgZXhwb25lbnQKLSAgICAgICAgaWRlYWxfZXhwb25lbnQgPSBtaW4oc2VsZi5fZXhwLCBvdGhlci5fZXhwKQotICAgICAgICBpZiBub3Qgc2VsZjoKLSAgICAgICAgICAgIGFucyA9IF9kZWNfZnJvbV90cmlwbGUoc2VsZi5fc2lnbiwgJzAnLCBpZGVhbF9leHBvbmVudCkKLSAgICAgICAgICAgIHJldHVybiBhbnMuX2ZpeChjb250ZXh0KQotCi0gICAgICAgICMgY2F0Y2ggbW9zdCBjYXNlcyBvZiBsYXJnZSBvciBzbWFsbCBxdW90aWVudAotICAgICAgICBleHBkaWZmID0gc2VsZi5hZGp1c3RlZCgpIC0gb3RoZXIuYWRqdXN0ZWQoKQotICAgICAgICBpZiBleHBkaWZmID49IGNvbnRleHQucHJlYyArIDE6Ci0gICAgICAgICAgICAjIGV4cGRpZmYgPj0gcHJlYysxID0+IGFicyhzZWxmL290aGVyKSA+IDEwKipwcmVjCi0gICAgICAgICAgICByZXR1cm4gY29udGV4dC5fcmFpc2VfZXJyb3IoRGl2aXNpb25JbXBvc3NpYmxlKQotICAgICAgICBpZiBleHBkaWZmIDw9IC0yOgotICAgICAgICAgICAgIyBleHBkaWZmIDw9IC0yID0+IGFicyhzZWxmL290aGVyKSA8IDAuMQotICAgICAgICAgICAgYW5zID0gc2VsZi5fcmVzY2FsZShpZGVhbF9leHBvbmVudCwgY29udGV4dC5yb3VuZGluZykKLSAgICAgICAgICAgIHJldHVybiBhbnMuX2ZpeChjb250ZXh0KQotCi0gICAgICAgICMgYWRqdXN0IGJvdGggYXJndW1lbnRzIHRvIGhhdmUgdGhlIHNhbWUgZXhwb25lbnQsIHRoZW4gZGl2aWRlCi0gICAgICAgIG9wMSA9IF9Xb3JrUmVwKHNlbGYpCi0gICAgICAgIG9wMiA9IF9Xb3JrUmVwKG90aGVyKQotICAgICAgICBpZiBvcDEuZXhwID49IG9wMi5leHA6Ci0gICAgICAgICAgICBvcDEuaW50ICo9IDEwKioob3AxLmV4cCAtIG9wMi5leHApCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBvcDIuaW50ICo9IDEwKioob3AyLmV4cCAtIG9wMS5leHApCi0gICAgICAgIHEsIHIgPSBkaXZtb2Qob3AxLmludCwgb3AyLmludCkKLSAgICAgICAgIyByZW1haW5kZXIgaXMgcioxMCoqaWRlYWxfZXhwb25lbnQ7IG90aGVyIGlzICsvLW9wMi5pbnQgKgotICAgICAgICAjIDEwKippZGVhbF9leHBvbmVudC4gICBBcHBseSBjb3JyZWN0aW9uIHRvIGVuc3VyZSB0aGF0Ci0gICAgICAgICMgYWJzKHJlbWFpbmRlcikgPD0gYWJzKG90aGVyKS8yCi0gICAgICAgIGlmIDIqciArIChxJjEpID4gb3AyLmludDoKLSAgICAgICAgICAgIHIgLT0gb3AyLmludAotICAgICAgICAgICAgcSArPSAxCi0KLSAgICAgICAgaWYgcSA+PSAxMCoqY29udGV4dC5wcmVjOgotICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuX3JhaXNlX2Vycm9yKERpdmlzaW9uSW1wb3NzaWJsZSkKLQotICAgICAgICAjIHJlc3VsdCBoYXMgc2FtZSBzaWduIGFzIHNlbGYgdW5sZXNzIHIgaXMgbmVnYXRpdmUKLSAgICAgICAgc2lnbiA9IHNlbGYuX3NpZ24KLSAgICAgICAgaWYgciA8IDA6Ci0gICAgICAgICAgICBzaWduID0gMS1zaWduCi0gICAgICAgICAgICByID0gLXIKLQotICAgICAgICBhbnMgPSBfZGVjX2Zyb21fdHJpcGxlKHNpZ24sIHN0cihyKSwgaWRlYWxfZXhwb25lbnQpCi0gICAgICAgIHJldHVybiBhbnMuX2ZpeChjb250ZXh0KQotCi0gICAgZGVmIF9fZmxvb3JkaXZfXyhzZWxmLCBvdGhlciwgY29udGV4dD1Ob25lKToKLSAgICAgICAgIiIic2VsZiAvLyBvdGhlciIiIgotICAgICAgICBvdGhlciA9IF9jb252ZXJ0X290aGVyKG90aGVyKQotICAgICAgICBpZiBvdGhlciBpcyBOb3RJbXBsZW1lbnRlZDoKLSAgICAgICAgICAgIHJldHVybiBvdGhlcgotCi0gICAgICAgIGlmIGNvbnRleHQgaXMgTm9uZToKLSAgICAgICAgICAgIGNvbnRleHQgPSBnZXRjb250ZXh0KCkKLQotICAgICAgICBhbnMgPSBzZWxmLl9jaGVja19uYW5zKG90aGVyLCBjb250ZXh0KQotICAgICAgICBpZiBhbnM6Ci0gICAgICAgICAgICByZXR1cm4gYW5zCi0KLSAgICAgICAgaWYgc2VsZi5faXNpbmZpbml0eSgpOgotICAgICAgICAgICAgaWYgb3RoZXIuX2lzaW5maW5pdHkoKToKLSAgICAgICAgICAgICAgICByZXR1cm4gY29udGV4dC5fcmFpc2VfZXJyb3IoSW52YWxpZE9wZXJhdGlvbiwgJ0lORiAvLyBJTkYnKQotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICByZXR1cm4gX1NpZ25lZEluZmluaXR5W3NlbGYuX3NpZ24gXiBvdGhlci5fc2lnbl0KLQotICAgICAgICBpZiBub3Qgb3RoZXI6Ci0gICAgICAgICAgICBpZiBzZWxmOgotICAgICAgICAgICAgICAgIHJldHVybiBjb250ZXh0Ll9yYWlzZV9lcnJvcihEaXZpc2lvbkJ5WmVybywgJ3ggLy8gMCcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX3NpZ24gXiBvdGhlci5fc2lnbikKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuX3JhaXNlX2Vycm9yKERpdmlzaW9uVW5kZWZpbmVkLCAnMCAvLyAwJykKLQotICAgICAgICByZXR1cm4gc2VsZi5fZGl2aWRlKG90aGVyLCBjb250ZXh0KVswXQotCi0gICAgZGVmIF9fcmZsb29yZGl2X18oc2VsZiwgb3RoZXIsIGNvbnRleHQ9Tm9uZSk6Ci0gICAgICAgICIiIlN3YXBzIHNlbGYvb3RoZXIgYW5kIHJldHVybnMgX19mbG9vcmRpdl9fLiIiIgotICAgICAgICBvdGhlciA9IF9jb252ZXJ0X290aGVyKG90aGVyKQotICAgICAgICBpZiBvdGhlciBpcyBOb3RJbXBsZW1lbnRlZDoKLSAgICAgICAgICAgIHJldHVybiBvdGhlcgotICAgICAgICByZXR1cm4gb3RoZXIuX19mbG9vcmRpdl9fKHNlbGYsIGNvbnRleHQ9Y29udGV4dCkKLQotICAgIGRlZiBfX2Zsb2F0X18oc2VsZik6Ci0gICAgICAgICIiIkZsb2F0IHJlcHJlc2VudGF0aW9uLiIiIgotICAgICAgICBpZiBzZWxmLl9pc25hbigpOgotICAgICAgICAgICAgaWYgc2VsZi5pc19zbmFuKCk6Ci0gICAgICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigiQ2Fubm90IGNvbnZlcnQgc2lnbmFsaW5nIE5hTiB0byBmbG9hdCIpCi0gICAgICAgICAgICBzID0gIi1uYW4iIGlmIHNlbGYuX3NpZ24gZWxzZSAibmFuIgotICAgICAgICBlbHNlOgotICAgICAgICAgICAgcyA9IHN0cihzZWxmKQotICAgICAgICByZXR1cm4gZmxvYXQocykKLQotICAgIGRlZiBfX2ludF9fKHNlbGYpOgotICAgICAgICAiIiJDb252ZXJ0cyBzZWxmIHRvIGFuIGludCwgdHJ1bmNhdGluZyBpZiBuZWNlc3NhcnkuIiIiCi0gICAgICAgIGlmIHNlbGYuX2lzX3NwZWNpYWw6Ci0gICAgICAgICAgICBpZiBzZWxmLl9pc25hbigpOgotICAgICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoIkNhbm5vdCBjb252ZXJ0IE5hTiB0byBpbnRlZ2VyIikKLSAgICAgICAgICAgIGVsaWYgc2VsZi5faXNpbmZpbml0eSgpOgotICAgICAgICAgICAgICAgIHJhaXNlIE92ZXJmbG93RXJyb3IoIkNhbm5vdCBjb252ZXJ0IGluZmluaXR5IHRvIGludGVnZXIiKQotICAgICAgICBzID0gKC0xKSoqc2VsZi5fc2lnbgotICAgICAgICBpZiBzZWxmLl9leHAgPj0gMDoKLSAgICAgICAgICAgIHJldHVybiBzKmludChzZWxmLl9pbnQpKjEwKipzZWxmLl9leHAKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHJldHVybiBzKmludChzZWxmLl9pbnRbOnNlbGYuX2V4cF0gb3IgJzAnKQotCi0gICAgX190cnVuY19fID0gX19pbnRfXwotCi0gICAgZGVmIHJlYWwoc2VsZik6Ci0gICAgICAgIHJldHVybiBzZWxmCi0gICAgcmVhbCA9IHByb3BlcnR5KHJlYWwpCi0KLSAgICBkZWYgaW1hZyhzZWxmKToKLSAgICAgICAgcmV0dXJuIERlY2ltYWwoMCkKLSAgICBpbWFnID0gcHJvcGVydHkoaW1hZykKLQotICAgIGRlZiBjb25qdWdhdGUoc2VsZik6Ci0gICAgICAgIHJldHVybiBzZWxmCi0KLSAgICBkZWYgX19jb21wbGV4X18oc2VsZik6Ci0gICAgICAgIHJldHVybiBjb21wbGV4KGZsb2F0KHNlbGYpKQotCi0gICAgZGVmIF9maXhfbmFuKHNlbGYsIGNvbnRleHQpOgotICAgICAgICAiIiJEZWNhcGl0YXRlIHRoZSBwYXlsb2FkIG9mIGEgTmFOIHRvIGZpdCB0aGUgY29udGV4dCIiIgotICAgICAgICBwYXlsb2FkID0gc2VsZi5faW50Ci0KLSAgICAgICAgIyBtYXhpbXVtIGxlbmd0aCBvZiBwYXlsb2FkIGlzIHByZWNpc2lvbiBpZiBjbGFtcD0wLAotICAgICAgICAjIHByZWNpc2lvbi0xIGlmIGNsYW1wPTEuCi0gICAgICAgIG1heF9wYXlsb2FkX2xlbiA9IGNvbnRleHQucHJlYyAtIGNvbnRleHQuY2xhbXAKLSAgICAgICAgaWYgbGVuKHBheWxvYWQpID4gbWF4X3BheWxvYWRfbGVuOgotICAgICAgICAgICAgcGF5bG9hZCA9IHBheWxvYWRbbGVuKHBheWxvYWQpLW1heF9wYXlsb2FkX2xlbjpdLmxzdHJpcCgnMCcpCi0gICAgICAgICAgICByZXR1cm4gX2RlY19mcm9tX3RyaXBsZShzZWxmLl9zaWduLCBwYXlsb2FkLCBzZWxmLl9leHAsIFRydWUpCi0gICAgICAgIHJldHVybiBEZWNpbWFsKHNlbGYpCi0KLSAgICBkZWYgX2ZpeChzZWxmLCBjb250ZXh0KToKLSAgICAgICAgIiIiUm91bmQgaWYgaXQgaXMgbmVjZXNzYXJ5IHRvIGtlZXAgc2VsZiB3aXRoaW4gcHJlYyBwcmVjaXNpb24uCi0KLSAgICAgICAgUm91bmRzIGFuZCBmaXhlcyB0aGUgZXhwb25lbnQuICBEb2VzIG5vdCByYWlzZSBvbiBhIHNOYU4uCi0KLSAgICAgICAgQXJndW1lbnRzOgotICAgICAgICBzZWxmIC0gRGVjaW1hbCBpbnN0YW5jZQotICAgICAgICBjb250ZXh0IC0gY29udGV4dCB1c2VkLgotICAgICAgICAiIiIKLQotICAgICAgICBpZiBzZWxmLl9pc19zcGVjaWFsOgotICAgICAgICAgICAgaWYgc2VsZi5faXNuYW4oKToKLSAgICAgICAgICAgICAgICAjIGRlY2FwaXRhdGUgcGF5bG9hZCBpZiBuZWNlc3NhcnkKLSAgICAgICAgICAgICAgICByZXR1cm4gc2VsZi5fZml4X25hbihjb250ZXh0KQotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICAjIHNlbGYgaXMgKy8tSW5maW5pdHk7IHJldHVybiB1bmFsdGVyZWQKLSAgICAgICAgICAgICAgICByZXR1cm4gRGVjaW1hbChzZWxmKQotCi0gICAgICAgICMgaWYgc2VsZiBpcyB6ZXJvIHRoZW4gZXhwb25lbnQgc2hvdWxkIGJlIGJldHdlZW4gRXRpbnkgYW5kCi0gICAgICAgICMgRW1heCBpZiBjbGFtcD09MCwgYW5kIGJldHdlZW4gRXRpbnkgYW5kIEV0b3AgaWYgY2xhbXA9PTEuCi0gICAgICAgIEV0aW55ID0gY29udGV4dC5FdGlueSgpCi0gICAgICAgIEV0b3AgPSBjb250ZXh0LkV0b3AoKQotICAgICAgICBpZiBub3Qgc2VsZjoKLSAgICAgICAgICAgIGV4cF9tYXggPSBbY29udGV4dC5FbWF4LCBFdG9wXVtjb250ZXh0LmNsYW1wXQotICAgICAgICAgICAgbmV3X2V4cCA9IG1pbihtYXgoc2VsZi5fZXhwLCBFdGlueSksIGV4cF9tYXgpCi0gICAgICAgICAgICBpZiBuZXdfZXhwICE9IHNlbGYuX2V4cDoKLSAgICAgICAgICAgICAgICBjb250ZXh0Ll9yYWlzZV9lcnJvcihDbGFtcGVkKQotICAgICAgICAgICAgICAgIHJldHVybiBfZGVjX2Zyb21fdHJpcGxlKHNlbGYuX3NpZ24sICcwJywgbmV3X2V4cCkKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIERlY2ltYWwoc2VsZikKLQotICAgICAgICAjIGV4cF9taW4gaXMgdGhlIHNtYWxsZXN0IGFsbG93YWJsZSBleHBvbmVudCBvZiB0aGUgcmVzdWx0LAotICAgICAgICAjIGVxdWFsIHRvIG1heChzZWxmLmFkanVzdGVkKCktY29udGV4dC5wcmVjKzEsIEV0aW55KQotICAgICAgICBleHBfbWluID0gbGVuKHNlbGYuX2ludCkgKyBzZWxmLl9leHAgLSBjb250ZXh0LnByZWMKLSAgICAgICAgaWYgZXhwX21pbiA+IEV0b3A6Ci0gICAgICAgICAgICAjIG92ZXJmbG93OiBleHBfbWluID4gRXRvcCBpZmYgc2VsZi5hZGp1c3RlZCgpID4gRW1heAotICAgICAgICAgICAgYW5zID0gY29udGV4dC5fcmFpc2VfZXJyb3IoT3ZlcmZsb3csICdhYm92ZSBFbWF4Jywgc2VsZi5fc2lnbikKLSAgICAgICAgICAgIGNvbnRleHQuX3JhaXNlX2Vycm9yKEluZXhhY3QpCi0gICAgICAgICAgICBjb250ZXh0Ll9yYWlzZV9lcnJvcihSb3VuZGVkKQotICAgICAgICAgICAgcmV0dXJuIGFucwotCi0gICAgICAgIHNlbGZfaXNfc3Vibm9ybWFsID0gZXhwX21pbiA8IEV0aW55Ci0gICAgICAgIGlmIHNlbGZfaXNfc3Vibm9ybWFsOgotICAgICAgICAgICAgZXhwX21pbiA9IEV0aW55Ci0KLSAgICAgICAgIyByb3VuZCBpZiBzZWxmIGhhcyB0b28gbWFueSBkaWdpdHMKLSAgICAgICAgaWYgc2VsZi5fZXhwIDwgZXhwX21pbjoKLSAgICAgICAgICAgIGRpZ2l0cyA9IGxlbihzZWxmLl9pbnQpICsgc2VsZi5fZXhwIC0gZXhwX21pbgotICAgICAgICAgICAgaWYgZGlnaXRzIDwgMDoKLSAgICAgICAgICAgICAgICBzZWxmID0gX2RlY19mcm9tX3RyaXBsZShzZWxmLl9zaWduLCAnMScsIGV4cF9taW4tMSkKLSAgICAgICAgICAgICAgICBkaWdpdHMgPSAwCi0gICAgICAgICAgICByb3VuZGluZ19tZXRob2QgPSBzZWxmLl9waWNrX3JvdW5kaW5nX2Z1bmN0aW9uW2NvbnRleHQucm91bmRpbmddCi0gICAgICAgICAgICBjaGFuZ2VkID0gcm91bmRpbmdfbWV0aG9kKHNlbGYsIGRpZ2l0cykKLSAgICAgICAgICAgIGNvZWZmID0gc2VsZi5faW50WzpkaWdpdHNdIG9yICcwJwotICAgICAgICAgICAgaWYgY2hhbmdlZCA+IDA6Ci0gICAgICAgICAgICAgICAgY29lZmYgPSBzdHIoaW50KGNvZWZmKSsxKQotICAgICAgICAgICAgICAgIGlmIGxlbihjb2VmZikgPiBjb250ZXh0LnByZWM6Ci0gICAgICAgICAgICAgICAgICAgIGNvZWZmID0gY29lZmZbOi0xXQotICAgICAgICAgICAgICAgICAgICBleHBfbWluICs9IDEKLQotICAgICAgICAgICAgIyBjaGVjayB3aGV0aGVyIHRoZSByb3VuZGluZyBwdXNoZWQgdGhlIGV4cG9uZW50IG91dCBvZiByYW5nZQotICAgICAgICAgICAgaWYgZXhwX21pbiA+IEV0b3A6Ci0gICAgICAgICAgICAgICAgYW5zID0gY29udGV4dC5fcmFpc2VfZXJyb3IoT3ZlcmZsb3csICdhYm92ZSBFbWF4Jywgc2VsZi5fc2lnbikKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgYW5zID0gX2RlY19mcm9tX3RyaXBsZShzZWxmLl9zaWduLCBjb2VmZiwgZXhwX21pbikKLQotICAgICAgICAgICAgIyByYWlzZSB0aGUgYXBwcm9wcmlhdGUgc2lnbmFscywgdGFraW5nIGNhcmUgdG8gcmVzcGVjdAotICAgICAgICAgICAgIyB0aGUgcHJlY2VkZW5jZSBkZXNjcmliZWQgaW4gdGhlIHNwZWNpZmljYXRpb24KLSAgICAgICAgICAgIGlmIGNoYW5nZWQgYW5kIHNlbGZfaXNfc3Vibm9ybWFsOgotICAgICAgICAgICAgICAgIGNvbnRleHQuX3JhaXNlX2Vycm9yKFVuZGVyZmxvdykKLSAgICAgICAgICAgIGlmIHNlbGZfaXNfc3Vibm9ybWFsOgotICAgICAgICAgICAgICAgIGNvbnRleHQuX3JhaXNlX2Vycm9yKFN1Ym5vcm1hbCkKLSAgICAgICAgICAgIGlmIGNoYW5nZWQ6Ci0gICAgICAgICAgICAgICAgY29udGV4dC5fcmFpc2VfZXJyb3IoSW5leGFjdCkKLSAgICAgICAgICAgIGNvbnRleHQuX3JhaXNlX2Vycm9yKFJvdW5kZWQpCi0gICAgICAgICAgICBpZiBub3QgYW5zOgotICAgICAgICAgICAgICAgICMgcmFpc2UgQ2xhbXBlZCBvbiB1bmRlcmZsb3cgdG8gMAotICAgICAgICAgICAgICAgIGNvbnRleHQuX3JhaXNlX2Vycm9yKENsYW1wZWQpCi0gICAgICAgICAgICByZXR1cm4gYW5zCi0KLSAgICAgICAgaWYgc2VsZl9pc19zdWJub3JtYWw6Ci0gICAgICAgICAgICBjb250ZXh0Ll9yYWlzZV9lcnJvcihTdWJub3JtYWwpCi0KLSAgICAgICAgIyBmb2xkIGRvd24gaWYgY2xhbXAgPT0gMSBhbmQgc2VsZiBoYXMgdG9vIGZldyBkaWdpdHMKLSAgICAgICAgaWYgY29udGV4dC5jbGFtcCA9PSAxIGFuZCBzZWxmLl9leHAgPiBFdG9wOgotICAgICAgICAgICAgY29udGV4dC5fcmFpc2VfZXJyb3IoQ2xhbXBlZCkKLSAgICAgICAgICAgIHNlbGZfcGFkZGVkID0gc2VsZi5faW50ICsgJzAnKihzZWxmLl9leHAgLSBFdG9wKQotICAgICAgICAgICAgcmV0dXJuIF9kZWNfZnJvbV90cmlwbGUoc2VsZi5fc2lnbiwgc2VsZl9wYWRkZWQsIEV0b3ApCi0KLSAgICAgICAgIyBoZXJlIHNlbGYgd2FzIHJlcHJlc2VudGFibGUgdG8gYmVnaW4gd2l0aDsgcmV0dXJuIHVuY2hhbmdlZAotICAgICAgICByZXR1cm4gRGVjaW1hbChzZWxmKQotCi0gICAgIyBmb3IgZWFjaCBvZiB0aGUgcm91bmRpbmcgZnVuY3Rpb25zIGJlbG93OgotICAgICMgICBzZWxmIGlzIGEgZmluaXRlLCBub256ZXJvIERlY2ltYWwKLSAgICAjICAgcHJlYyBpcyBhbiBpbnRlZ2VyIHNhdGlzZnlpbmcgMCA8PSBwcmVjIDwgbGVuKHNlbGYuX2ludCkKLSAgICAjCi0gICAgIyBlYWNoIGZ1bmN0aW9uIHJldHVybnMgZWl0aGVyIC0xLCAwLCBvciAxLCBhcyBmb2xsb3dzOgotICAgICMgICAxIGluZGljYXRlcyB0aGF0IHNlbGYgc2hvdWxkIGJlIHJvdW5kZWQgdXAgKGF3YXkgZnJvbSB6ZXJvKQotICAgICMgICAwIGluZGljYXRlcyB0aGF0IHNlbGYgc2hvdWxkIGJlIHRydW5jYXRlZCwgYW5kIHRoYXQgYWxsIHRoZQotICAgICMgICAgIGRpZ2l0cyB0byBiZSB0cnVuY2F0ZWQgYXJlIHplcm9zIChzbyB0aGUgdmFsdWUgaXMgdW5jaGFuZ2VkKQotICAgICMgIC0xIGluZGljYXRlcyB0aGF0IHRoZXJlIGFyZSBub256ZXJvIGRpZ2l0cyB0byBiZSB0cnVuY2F0ZWQKLQotICAgIGRlZiBfcm91bmRfZG93bihzZWxmLCBwcmVjKToKLSAgICAgICAgIiIiQWxzbyBrbm93biBhcyByb3VuZC10b3dhcmRzLTAsIHRydW5jYXRlLiIiIgotICAgICAgICBpZiBfYWxsX3plcm9zKHNlbGYuX2ludCwgcHJlYyk6Ci0gICAgICAgICAgICByZXR1cm4gMAotICAgICAgICBlbHNlOgotICAgICAgICAgICAgcmV0dXJuIC0xCi0KLSAgICBkZWYgX3JvdW5kX3VwKHNlbGYsIHByZWMpOgotICAgICAgICAiIiJSb3VuZHMgYXdheSBmcm9tIDAuIiIiCi0gICAgICAgIHJldHVybiAtc2VsZi5fcm91bmRfZG93bihwcmVjKQotCi0gICAgZGVmIF9yb3VuZF9oYWxmX3VwKHNlbGYsIHByZWMpOgotICAgICAgICAiIiJSb3VuZHMgNSB1cCAoYXdheSBmcm9tIDApIiIiCi0gICAgICAgIGlmIHNlbGYuX2ludFtwcmVjXSBpbiAnNTY3ODknOgotICAgICAgICAgICAgcmV0dXJuIDEKLSAgICAgICAgZWxpZiBfYWxsX3plcm9zKHNlbGYuX2ludCwgcHJlYyk6Ci0gICAgICAgICAgICByZXR1cm4gMAotICAgICAgICBlbHNlOgotICAgICAgICAgICAgcmV0dXJuIC0xCi0KLSAgICBkZWYgX3JvdW5kX2hhbGZfZG93bihzZWxmLCBwcmVjKToKLSAgICAgICAgIiIiUm91bmQgNSBkb3duIiIiCi0gICAgICAgIGlmIF9leGFjdF9oYWxmKHNlbGYuX2ludCwgcHJlYyk6Ci0gICAgICAgICAgICByZXR1cm4gLTEKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHJldHVybiBzZWxmLl9yb3VuZF9oYWxmX3VwKHByZWMpCi0KLSAgICBkZWYgX3JvdW5kX2hhbGZfZXZlbihzZWxmLCBwcmVjKToKLSAgICAgICAgIiIiUm91bmQgNSB0byBldmVuLCByZXN0IHRvIG5lYXJlc3QuIiIiCi0gICAgICAgIGlmIF9leGFjdF9oYWxmKHNlbGYuX2ludCwgcHJlYykgYW5kIFwKLSAgICAgICAgICAgICAgICAocHJlYyA9PSAwIG9yIHNlbGYuX2ludFtwcmVjLTFdIGluICcwMjQ2OCcpOgotICAgICAgICAgICAgcmV0dXJuIC0xCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICByZXR1cm4gc2VsZi5fcm91bmRfaGFsZl91cChwcmVjKQotCi0gICAgZGVmIF9yb3VuZF9jZWlsaW5nKHNlbGYsIHByZWMpOgotICAgICAgICAiIiJSb3VuZHMgdXAgKG5vdCBhd2F5IGZyb20gMCBpZiBuZWdhdGl2ZS4pIiIiCi0gICAgICAgIGlmIHNlbGYuX3NpZ246Ci0gICAgICAgICAgICByZXR1cm4gc2VsZi5fcm91bmRfZG93bihwcmVjKQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgcmV0dXJuIC1zZWxmLl9yb3VuZF9kb3duKHByZWMpCi0KLSAgICBkZWYgX3JvdW5kX2Zsb29yKHNlbGYsIHByZWMpOgotICAgICAgICAiIiJSb3VuZHMgZG93biAobm90IHRvd2FyZHMgMCBpZiBuZWdhdGl2ZSkiIiIKLSAgICAgICAgaWYgbm90IHNlbGYuX3NpZ246Ci0gICAgICAgICAgICByZXR1cm4gc2VsZi5fcm91bmRfZG93bihwcmVjKQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgcmV0dXJuIC1zZWxmLl9yb3VuZF9kb3duKHByZWMpCi0KLSAgICBkZWYgX3JvdW5kXzA1dXAoc2VsZiwgcHJlYyk6Ci0gICAgICAgICIiIlJvdW5kIGRvd24gdW5sZXNzIGRpZ2l0IHByZWMtMSBpcyAwIG9yIDUuIiIiCi0gICAgICAgIGlmIHByZWMgYW5kIHNlbGYuX2ludFtwcmVjLTFdIG5vdCBpbiAnMDUnOgotICAgICAgICAgICAgcmV0dXJuIHNlbGYuX3JvdW5kX2Rvd24ocHJlYykKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHJldHVybiAtc2VsZi5fcm91bmRfZG93bihwcmVjKQotCi0gICAgX3BpY2tfcm91bmRpbmdfZnVuY3Rpb24gPSBkaWN0KAotICAgICAgICBST1VORF9ET1dOID0gX3JvdW5kX2Rvd24sCi0gICAgICAgIFJPVU5EX1VQID0gX3JvdW5kX3VwLAotICAgICAgICBST1VORF9IQUxGX1VQID0gX3JvdW5kX2hhbGZfdXAsCi0gICAgICAgIFJPVU5EX0hBTEZfRE9XTiA9IF9yb3VuZF9oYWxmX2Rvd24sCi0gICAgICAgIFJPVU5EX0hBTEZfRVZFTiA9IF9yb3VuZF9oYWxmX2V2ZW4sCi0gICAgICAgIFJPVU5EX0NFSUxJTkcgPSBfcm91bmRfY2VpbGluZywKLSAgICAgICAgUk9VTkRfRkxPT1IgPSBfcm91bmRfZmxvb3IsCi0gICAgICAgIFJPVU5EXzA1VVAgPSBfcm91bmRfMDV1cCwKLSAgICApCi0KLSAgICBkZWYgX19yb3VuZF9fKHNlbGYsIG49Tm9uZSk6Ci0gICAgICAgICIiIlJvdW5kIHNlbGYgdG8gdGhlIG5lYXJlc3QgaW50ZWdlciwgb3IgdG8gYSBnaXZlbiBwcmVjaXNpb24uCi0KLSAgICAgICAgSWYgb25seSBvbmUgYXJndW1lbnQgaXMgc3VwcGxpZWQsIHJvdW5kIGEgZmluaXRlIERlY2ltYWwKLSAgICAgICAgaW5zdGFuY2Ugc2VsZiB0byB0aGUgbmVhcmVzdCBpbnRlZ2VyLiAgSWYgc2VsZiBpcyBpbmZpbml0ZSBvcgotICAgICAgICBhIE5hTiB0aGVuIGEgUHl0aG9uIGV4Y2VwdGlvbiBpcyByYWlzZWQuICBJZiBzZWxmIGlzIGZpbml0ZQotICAgICAgICBhbmQgbGllcyBleGFjdGx5IGhhbGZ3YXkgYmV0d2VlbiB0d28gaW50ZWdlcnMgdGhlbiBpdCBpcwotICAgICAgICByb3VuZGVkIHRvIHRoZSBpbnRlZ2VyIHdpdGggZXZlbiBsYXN0IGRpZ2l0LgotCi0gICAgICAgID4+PiByb3VuZChEZWNpbWFsKCcxMjMuNDU2JykpCi0gICAgICAgIDEyMwotICAgICAgICA+Pj4gcm91bmQoRGVjaW1hbCgnLTQ1Ni43ODknKSkKLSAgICAgICAgLTQ1NwotICAgICAgICA+Pj4gcm91bmQoRGVjaW1hbCgnLTMuMCcpKQotICAgICAgICAtMwotICAgICAgICA+Pj4gcm91bmQoRGVjaW1hbCgnMi41JykpCi0gICAgICAgIDIKLSAgICAgICAgPj4+IHJvdW5kKERlY2ltYWwoJzMuNScpKQotICAgICAgICA0Ci0gICAgICAgID4+PiByb3VuZChEZWNpbWFsKCdJbmYnKSkKLSAgICAgICAgVHJhY2ViYWNrIChtb3N0IHJlY2VudCBjYWxsIGxhc3QpOgotICAgICAgICAgIC4uLgotICAgICAgICBPdmVyZmxvd0Vycm9yOiBjYW5ub3Qgcm91bmQgYW4gaW5maW5pdHkKLSAgICAgICAgPj4+IHJvdW5kKERlY2ltYWwoJ05hTicpKQotICAgICAgICBUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6Ci0gICAgICAgICAgLi4uCi0gICAgICAgIFZhbHVlRXJyb3I6IGNhbm5vdCByb3VuZCBhIE5hTgotCi0gICAgICAgIElmIGEgc2Vjb25kIGFyZ3VtZW50IG4gaXMgc3VwcGxpZWQsIHNlbGYgaXMgcm91bmRlZCB0byBuCi0gICAgICAgIGRlY2ltYWwgcGxhY2VzIHVzaW5nIHRoZSByb3VuZGluZyBtb2RlIGZvciB0aGUgY3VycmVudAotICAgICAgICBjb250ZXh0LgotCi0gICAgICAgIEZvciBhbiBpbnRlZ2VyIG4sIHJvdW5kKHNlbGYsIC1uKSBpcyBleGFjdGx5IGVxdWl2YWxlbnQgdG8KLSAgICAgICAgc2VsZi5xdWFudGl6ZShEZWNpbWFsKCcxRW4nKSkuCi0KLSAgICAgICAgPj4+IHJvdW5kKERlY2ltYWwoJzEyMy40NTYnKSwgMCkKLSAgICAgICAgRGVjaW1hbCgnMTIzJykKLSAgICAgICAgPj4+IHJvdW5kKERlY2ltYWwoJzEyMy40NTYnKSwgMikKLSAgICAgICAgRGVjaW1hbCgnMTIzLjQ2JykKLSAgICAgICAgPj4+IHJvdW5kKERlY2ltYWwoJzEyMy40NTYnKSwgLTIpCi0gICAgICAgIERlY2ltYWwoJzFFKzInKQotICAgICAgICA+Pj4gcm91bmQoRGVjaW1hbCgnLUluZmluaXR5JyksIDM3KQotICAgICAgICBEZWNpbWFsKCdOYU4nKQotICAgICAgICA+Pj4gcm91bmQoRGVjaW1hbCgnc05hTjEyMycpLCAwKQotICAgICAgICBEZWNpbWFsKCdOYU4xMjMnKQotCi0gICAgICAgICIiIgotICAgICAgICBpZiBuIGlzIG5vdCBOb25lOgotICAgICAgICAgICAgIyB0d28tYXJndW1lbnQgZm9ybTogdXNlIHRoZSBlcXVpdmFsZW50IHF1YW50aXplIGNhbGwKLSAgICAgICAgICAgIGlmIG5vdCBpc2luc3RhbmNlKG4sIGludCk6Ci0gICAgICAgICAgICAgICAgcmFpc2UgVHlwZUVycm9yKCdTZWNvbmQgYXJndW1lbnQgdG8gcm91bmQgc2hvdWxkIGJlIGludGVncmFsJykKLSAgICAgICAgICAgIGV4cCA9IF9kZWNfZnJvbV90cmlwbGUoMCwgJzEnLCAtbikKLSAgICAgICAgICAgIHJldHVybiBzZWxmLnF1YW50aXplKGV4cCkKLQotICAgICAgICAjIG9uZS1hcmd1bWVudCBmb3JtCi0gICAgICAgIGlmIHNlbGYuX2lzX3NwZWNpYWw6Ci0gICAgICAgICAgICBpZiBzZWxmLmlzX25hbigpOgotICAgICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoImNhbm5vdCByb3VuZCBhIE5hTiIpCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIHJhaXNlIE92ZXJmbG93RXJyb3IoImNhbm5vdCByb3VuZCBhbiBpbmZpbml0eSIpCi0gICAgICAgIHJldHVybiBpbnQoc2VsZi5fcmVzY2FsZSgwLCBST1VORF9IQUxGX0VWRU4pKQotCi0gICAgZGVmIF9fZmxvb3JfXyhzZWxmKToKLSAgICAgICAgIiIiUmV0dXJuIHRoZSBmbG9vciBvZiBzZWxmLCBhcyBhbiBpbnRlZ2VyLgotCi0gICAgICAgIEZvciBhIGZpbml0ZSBEZWNpbWFsIGluc3RhbmNlIHNlbGYsIHJldHVybiB0aGUgZ3JlYXRlc3QKLSAgICAgICAgaW50ZWdlciBuIHN1Y2ggdGhhdCBuIDw9IHNlbGYuICBJZiBzZWxmIGlzIGluZmluaXRlIG9yIGEgTmFOCi0gICAgICAgIHRoZW4gYSBQeXRob24gZXhjZXB0aW9uIGlzIHJhaXNlZC4KLQotICAgICAgICAiIiIKLSAgICAgICAgaWYgc2VsZi5faXNfc3BlY2lhbDoKLSAgICAgICAgICAgIGlmIHNlbGYuaXNfbmFuKCk6Ci0gICAgICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigiY2Fubm90IHJvdW5kIGEgTmFOIikKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgcmFpc2UgT3ZlcmZsb3dFcnJvcigiY2Fubm90IHJvdW5kIGFuIGluZmluaXR5IikKLSAgICAgICAgcmV0dXJuIGludChzZWxmLl9yZXNjYWxlKDAsIFJPVU5EX0ZMT09SKSkKLQotICAgIGRlZiBfX2NlaWxfXyhzZWxmKToKLSAgICAgICAgIiIiUmV0dXJuIHRoZSBjZWlsaW5nIG9mIHNlbGYsIGFzIGFuIGludGVnZXIuCi0KLSAgICAgICAgRm9yIGEgZmluaXRlIERlY2ltYWwgaW5zdGFuY2Ugc2VsZiwgcmV0dXJuIHRoZSBsZWFzdCBpbnRlZ2VyIG4KLSAgICAgICAgc3VjaCB0aGF0IG4gPj0gc2VsZi4gIElmIHNlbGYgaXMgaW5maW5pdGUgb3IgYSBOYU4gdGhlbiBhCi0gICAgICAgIFB5dGhvbiBleGNlcHRpb24gaXMgcmFpc2VkLgotCi0gICAgICAgICIiIgotICAgICAgICBpZiBzZWxmLl9pc19zcGVjaWFsOgotICAgICAgICAgICAgaWYgc2VsZi5pc19uYW4oKToKLSAgICAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJjYW5ub3Qgcm91bmQgYSBOYU4iKQotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICByYWlzZSBPdmVyZmxvd0Vycm9yKCJjYW5ub3Qgcm91bmQgYW4gaW5maW5pdHkiKQotICAgICAgICByZXR1cm4gaW50KHNlbGYuX3Jlc2NhbGUoMCwgUk9VTkRfQ0VJTElORykpCi0KLSAgICBkZWYgZm1hKHNlbGYsIG90aGVyLCB0aGlyZCwgY29udGV4dD1Ob25lKToKLSAgICAgICAgIiIiRnVzZWQgbXVsdGlwbHktYWRkLgotCi0gICAgICAgIFJldHVybnMgc2VsZipvdGhlcit0aGlyZCB3aXRoIG5vIHJvdW5kaW5nIG9mIHRoZSBpbnRlcm1lZGlhdGUKLSAgICAgICAgcHJvZHVjdCBzZWxmKm90aGVyLgotCi0gICAgICAgIHNlbGYgYW5kIG90aGVyIGFyZSBtdWx0aXBsaWVkIHRvZ2V0aGVyLCB3aXRoIG5vIHJvdW5kaW5nIG9mCi0gICAgICAgIHRoZSByZXN1bHQuICBUaGUgdGhpcmQgb3BlcmFuZCBpcyB0aGVuIGFkZGVkIHRvIHRoZSByZXN1bHQsCi0gICAgICAgIGFuZCBhIHNpbmdsZSBmaW5hbCByb3VuZGluZyBpcyBwZXJmb3JtZWQuCi0gICAgICAgICIiIgotCi0gICAgICAgIG90aGVyID0gX2NvbnZlcnRfb3RoZXIob3RoZXIsIHJhaXNlaXQ9VHJ1ZSkKLSAgICAgICAgdGhpcmQgPSBfY29udmVydF9vdGhlcih0aGlyZCwgcmFpc2VpdD1UcnVlKQotCi0gICAgICAgICMgY29tcHV0ZSBwcm9kdWN0OyByYWlzZSBJbnZhbGlkT3BlcmF0aW9uIGlmIGVpdGhlciBvcGVyYW5kIGlzCi0gICAgICAgICMgYSBzaWduYWxpbmcgTmFOIG9yIGlmIHRoZSBwcm9kdWN0IGlzIHplcm8gdGltZXMgaW5maW5pdHkuCi0gICAgICAgIGlmIHNlbGYuX2lzX3NwZWNpYWwgb3Igb3RoZXIuX2lzX3NwZWNpYWw6Ci0gICAgICAgICAgICBpZiBjb250ZXh0IGlzIE5vbmU6Ci0gICAgICAgICAgICAgICAgY29udGV4dCA9IGdldGNvbnRleHQoKQotICAgICAgICAgICAgaWYgc2VsZi5fZXhwID09ICdOJzoKLSAgICAgICAgICAgICAgICByZXR1cm4gY29udGV4dC5fcmFpc2VfZXJyb3IoSW52YWxpZE9wZXJhdGlvbiwgJ3NOYU4nLCBzZWxmKQotICAgICAgICAgICAgaWYgb3RoZXIuX2V4cCA9PSAnTic6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuX3JhaXNlX2Vycm9yKEludmFsaWRPcGVyYXRpb24sICdzTmFOJywgb3RoZXIpCi0gICAgICAgICAgICBpZiBzZWxmLl9leHAgPT0gJ24nOgotICAgICAgICAgICAgICAgIHByb2R1Y3QgPSBzZWxmCi0gICAgICAgICAgICBlbGlmIG90aGVyLl9leHAgPT0gJ24nOgotICAgICAgICAgICAgICAgIHByb2R1Y3QgPSBvdGhlcgotICAgICAgICAgICAgZWxpZiBzZWxmLl9leHAgPT0gJ0YnOgotICAgICAgICAgICAgICAgIGlmIG5vdCBvdGhlcjoKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuX3JhaXNlX2Vycm9yKEludmFsaWRPcGVyYXRpb24sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSU5GICogMCBpbiBmbWEnKQotICAgICAgICAgICAgICAgIHByb2R1Y3QgPSBfU2lnbmVkSW5maW5pdHlbc2VsZi5fc2lnbiBeIG90aGVyLl9zaWduXQotICAgICAgICAgICAgZWxpZiBvdGhlci5fZXhwID09ICdGJzoKLSAgICAgICAgICAgICAgICBpZiBub3Qgc2VsZjoKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuX3JhaXNlX2Vycm9yKEludmFsaWRPcGVyYXRpb24sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnMCAqIElORiBpbiBmbWEnKQotICAgICAgICAgICAgICAgIHByb2R1Y3QgPSBfU2lnbmVkSW5maW5pdHlbc2VsZi5fc2lnbiBeIG90aGVyLl9zaWduXQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgcHJvZHVjdCA9IF9kZWNfZnJvbV90cmlwbGUoc2VsZi5fc2lnbiBeIG90aGVyLl9zaWduLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyKGludChzZWxmLl9pbnQpICogaW50KG90aGVyLl9pbnQpKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX2V4cCArIG90aGVyLl9leHApCi0KLSAgICAgICAgcmV0dXJuIHByb2R1Y3QuX19hZGRfXyh0aGlyZCwgY29udGV4dCkKLQotICAgIGRlZiBfcG93ZXJfbW9kdWxvKHNlbGYsIG90aGVyLCBtb2R1bG8sIGNvbnRleHQ9Tm9uZSk6Ci0gICAgICAgICIiIlRocmVlIGFyZ3VtZW50IHZlcnNpb24gb2YgX19wb3dfXyIiIgotCi0gICAgICAgIG90aGVyID0gX2NvbnZlcnRfb3RoZXIob3RoZXIpCi0gICAgICAgIGlmIG90aGVyIGlzIE5vdEltcGxlbWVudGVkOgotICAgICAgICAgICAgcmV0dXJuIG90aGVyCi0gICAgICAgIG1vZHVsbyA9IF9jb252ZXJ0X290aGVyKG1vZHVsbykKLSAgICAgICAgaWYgbW9kdWxvIGlzIE5vdEltcGxlbWVudGVkOgotICAgICAgICAgICAgcmV0dXJuIG1vZHVsbwotCi0gICAgICAgIGlmIGNvbnRleHQgaXMgTm9uZToKLSAgICAgICAgICAgIGNvbnRleHQgPSBnZXRjb250ZXh0KCkKLQotICAgICAgICAjIGRlYWwgd2l0aCBOYU5zOiBpZiB0aGVyZSBhcmUgYW55IHNOYU5zIHRoZW4gZmlyc3Qgb25lIHdpbnMsCi0gICAgICAgICMgKGkuZS4gYmVoYXZpb3VyIGZvciBOYU5zIGlzIGlkZW50aWNhbCB0byB0aGF0IG9mIGZtYSkKLSAgICAgICAgc2VsZl9pc19uYW4gPSBzZWxmLl9pc25hbigpCi0gICAgICAgIG90aGVyX2lzX25hbiA9IG90aGVyLl9pc25hbigpCi0gICAgICAgIG1vZHVsb19pc19uYW4gPSBtb2R1bG8uX2lzbmFuKCkKLSAgICAgICAgaWYgc2VsZl9pc19uYW4gb3Igb3RoZXJfaXNfbmFuIG9yIG1vZHVsb19pc19uYW46Ci0gICAgICAgICAgICBpZiBzZWxmX2lzX25hbiA9PSAyOgotICAgICAgICAgICAgICAgIHJldHVybiBjb250ZXh0Ll9yYWlzZV9lcnJvcihJbnZhbGlkT3BlcmF0aW9uLCAnc05hTicsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZikKLSAgICAgICAgICAgIGlmIG90aGVyX2lzX25hbiA9PSAyOgotICAgICAgICAgICAgICAgIHJldHVybiBjb250ZXh0Ll9yYWlzZV9lcnJvcihJbnZhbGlkT3BlcmF0aW9uLCAnc05hTicsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3RoZXIpCi0gICAgICAgICAgICBpZiBtb2R1bG9faXNfbmFuID09IDI6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuX3JhaXNlX2Vycm9yKEludmFsaWRPcGVyYXRpb24sICdzTmFOJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2R1bG8pCi0gICAgICAgICAgICBpZiBzZWxmX2lzX25hbjoKLSAgICAgICAgICAgICAgICByZXR1cm4gc2VsZi5fZml4X25hbihjb250ZXh0KQotICAgICAgICAgICAgaWYgb3RoZXJfaXNfbmFuOgotICAgICAgICAgICAgICAgIHJldHVybiBvdGhlci5fZml4X25hbihjb250ZXh0KQotICAgICAgICAgICAgcmV0dXJuIG1vZHVsby5fZml4X25hbihjb250ZXh0KQotCi0gICAgICAgICMgY2hlY2sgaW5wdXRzOiB3ZSBhcHBseSBzYW1lIHJlc3RyaWN0aW9ucyBhcyBQeXRob24ncyBwb3coKQotICAgICAgICBpZiBub3QgKHNlbGYuX2lzaW50ZWdlcigpIGFuZAotICAgICAgICAgICAgICAgIG90aGVyLl9pc2ludGVnZXIoKSBhbmQKLSAgICAgICAgICAgICAgICBtb2R1bG8uX2lzaW50ZWdlcigpKToKLSAgICAgICAgICAgIHJldHVybiBjb250ZXh0Ll9yYWlzZV9lcnJvcihJbnZhbGlkT3BlcmF0aW9uLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwb3coKSAzcmQgYXJndW1lbnQgbm90IGFsbG93ZWQgJwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd1bmxlc3MgYWxsIGFyZ3VtZW50cyBhcmUgaW50ZWdlcnMnKQotICAgICAgICBpZiBvdGhlciA8IDA6Ci0gICAgICAgICAgICByZXR1cm4gY29udGV4dC5fcmFpc2VfZXJyb3IoSW52YWxpZE9wZXJhdGlvbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncG93KCkgMm5kIGFyZ3VtZW50IGNhbm5vdCBiZSAnCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25lZ2F0aXZlIHdoZW4gM3JkIGFyZ3VtZW50IHNwZWNpZmllZCcpCi0gICAgICAgIGlmIG5vdCBtb2R1bG86Ci0gICAgICAgICAgICByZXR1cm4gY29udGV4dC5fcmFpc2VfZXJyb3IoSW52YWxpZE9wZXJhdGlvbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncG93KCkgM3JkIGFyZ3VtZW50IGNhbm5vdCBiZSAwJykKLQotICAgICAgICAjIGFkZGl0aW9uYWwgcmVzdHJpY3Rpb24gZm9yIGRlY2ltYWw6IHRoZSBtb2R1bHVzIG11c3QgYmUgbGVzcwotICAgICAgICAjIHRoYW4gMTAqKnByZWMgaW4gYWJzb2x1dGUgdmFsdWUKLSAgICAgICAgaWYgbW9kdWxvLmFkanVzdGVkKCkgPj0gY29udGV4dC5wcmVjOgotICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuX3JhaXNlX2Vycm9yKEludmFsaWRPcGVyYXRpb24sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2luc3VmZmljaWVudCBwcmVjaXNpb246IHBvdygpIDNyZCAnCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FyZ3VtZW50IG11c3Qgbm90IGhhdmUgbW9yZSB0aGFuICcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJlY2lzaW9uIGRpZ2l0cycpCi0KLSAgICAgICAgIyBkZWZpbmUgMCoqMCA9PSBOYU4sIGZvciBjb25zaXN0ZW5jeSB3aXRoIHR3by1hcmd1bWVudCBwb3cKLSAgICAgICAgIyAoZXZlbiB0aG91Z2ggaXQgaHVydHMhKQotICAgICAgICBpZiBub3Qgb3RoZXIgYW5kIG5vdCBzZWxmOgotICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuX3JhaXNlX2Vycm9yKEludmFsaWRPcGVyYXRpb24sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2F0IGxlYXN0IG9uZSBvZiBwb3coKSAxc3QgYXJndW1lbnQgJwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhbmQgMm5kIGFyZ3VtZW50IG11c3QgYmUgbm9uemVybyA7JwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcwKiowIGlzIG5vdCBkZWZpbmVkJykKLQotICAgICAgICAjIGNvbXB1dGUgc2lnbiBvZiByZXN1bHQKLSAgICAgICAgaWYgb3RoZXIuX2lzZXZlbigpOgotICAgICAgICAgICAgc2lnbiA9IDAKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHNpZ24gPSBzZWxmLl9zaWduCi0KLSAgICAgICAgIyBjb252ZXJ0IG1vZHVsbyB0byBhIFB5dGhvbiBpbnRlZ2VyLCBhbmQgc2VsZiBhbmQgb3RoZXIgdG8KLSAgICAgICAgIyBEZWNpbWFsIGludGVnZXJzIChpLmUuIGZvcmNlIHRoZWlyIGV4cG9uZW50cyB0byBiZSA+PSAwKQotICAgICAgICBtb2R1bG8gPSBhYnMoaW50KG1vZHVsbykpCi0gICAgICAgIGJhc2UgPSBfV29ya1JlcChzZWxmLnRvX2ludGVncmFsX3ZhbHVlKCkpCi0gICAgICAgIGV4cG9uZW50ID0gX1dvcmtSZXAob3RoZXIudG9faW50ZWdyYWxfdmFsdWUoKSkKLQotICAgICAgICAjIGNvbXB1dGUgcmVzdWx0IHVzaW5nIGludGVnZXIgcG93KCkKLSAgICAgICAgYmFzZSA9IChiYXNlLmludCAlIG1vZHVsbyAqIHBvdygxMCwgYmFzZS5leHAsIG1vZHVsbykpICUgbW9kdWxvCi0gICAgICAgIGZvciBpIGluIHJhbmdlKGV4cG9uZW50LmV4cCk6Ci0gICAgICAgICAgICBiYXNlID0gcG93KGJhc2UsIDEwLCBtb2R1bG8pCi0gICAgICAgIGJhc2UgPSBwb3coYmFzZSwgZXhwb25lbnQuaW50LCBtb2R1bG8pCi0KLSAgICAgICAgcmV0dXJuIF9kZWNfZnJvbV90cmlwbGUoc2lnbiwgc3RyKGJhc2UpLCAwKQotCi0gICAgZGVmIF9wb3dlcl9leGFjdChzZWxmLCBvdGhlciwgcCk6Ci0gICAgICAgICIiIkF0dGVtcHQgdG8gY29tcHV0ZSBzZWxmKipvdGhlciBleGFjdGx5LgotCi0gICAgICAgIEdpdmVuIERlY2ltYWxzIHNlbGYgYW5kIG90aGVyIGFuZCBhbiBpbnRlZ2VyIHAsIGF0dGVtcHQgdG8KLSAgICAgICAgY29tcHV0ZSBhbiBleGFjdCByZXN1bHQgZm9yIHRoZSBwb3dlciBzZWxmKipvdGhlciwgd2l0aCBwCi0gICAgICAgIGRpZ2l0cyBvZiBwcmVjaXNpb24uICBSZXR1cm4gTm9uZSBpZiBzZWxmKipvdGhlciBpcyBub3QKLSAgICAgICAgZXhhY3RseSByZXByZXNlbnRhYmxlIGluIHAgZGlnaXRzLgotCi0gICAgICAgIEFzc3VtZXMgdGhhdCBlbGltaW5hdGlvbiBvZiBzcGVjaWFsIGNhc2VzIGhhcyBhbHJlYWR5IGJlZW4KLSAgICAgICAgcGVyZm9ybWVkOiBzZWxmIGFuZCBvdGhlciBtdXN0IGJvdGggYmUgbm9uc3BlY2lhbDsgc2VsZiBtdXN0Ci0gICAgICAgIGJlIHBvc2l0aXZlIGFuZCBub3QgbnVtZXJpY2FsbHkgZXF1YWwgdG8gMTsgb3RoZXIgbXVzdCBiZQotICAgICAgICBub256ZXJvLiAgRm9yIGVmZmljaWVuY3ksIG90aGVyLl9leHAgc2hvdWxkIG5vdCBiZSB0b28gbGFyZ2UsCi0gICAgICAgIHNvIHRoYXQgMTAqKmFicyhvdGhlci5fZXhwKSBpcyBhIGZlYXNpYmxlIGNhbGN1bGF0aW9uLiIiIgotCi0gICAgICAgICMgSW4gdGhlIGNvbW1lbnRzIGJlbG93LCB3ZSB3cml0ZSB4IGZvciB0aGUgdmFsdWUgb2Ygc2VsZiBhbmQgeSBmb3IgdGhlCi0gICAgICAgICMgdmFsdWUgb2Ygb3RoZXIuICBXcml0ZSB4ID0geGMqMTAqKnhlIGFuZCBhYnMoeSkgPSB5YyoxMCoqeWUsIHdpdGggeGMKLSAgICAgICAgIyBhbmQgeWMgcG9zaXRpdmUgaW50ZWdlcnMgbm90IGRpdmlzaWJsZSBieSAxMC4KLQotICAgICAgICAjIFRoZSBtYWluIHB1cnBvc2Ugb2YgdGhpcyBtZXRob2QgaXMgdG8gaWRlbnRpZnkgdGhlICpmYWlsdXJlKgotICAgICAgICAjIG9mIHgqKnkgdG8gYmUgZXhhY3RseSByZXByZXNlbnRhYmxlIHdpdGggYXMgbGl0dGxlIGVmZm9ydCBhcwotICAgICAgICAjIHBvc3NpYmxlLiAgU28gd2UgbG9vayBmb3IgY2hlYXAgYW5kIGVhc3kgdGVzdHMgdGhhdAotICAgICAgICAjIGVsaW1pbmF0ZSB0aGUgcG9zc2liaWxpdHkgb2YgeCoqeSBiZWluZyBleGFjdC4gIE9ubHkgaWYgYWxsCi0gICAgICAgICMgdGhlc2UgdGVzdHMgYXJlIHBhc3NlZCBkbyB3ZSBnbyBvbiB0byBhY3R1YWxseSBjb21wdXRlIHgqKnkuCi0KLSAgICAgICAgIyBIZXJlJ3MgdGhlIG1haW4gaWRlYS4gIEV4cHJlc3MgeSBhcyBhIHJhdGlvbmFsIG51bWJlciBtL24sIHdpdGggbSBhbmQKLSAgICAgICAgIyBuIHJlbGF0aXZlbHkgcHJpbWUgYW5kIG4+MC4gIFRoZW4gZm9yIHgqKnkgdG8gYmUgZXhhY3RseQotICAgICAgICAjIHJlcHJlc2VudGFibGUgKGF0ICphbnkqIHByZWNpc2lvbiksIHhjIG11c3QgYmUgdGhlIG50aCBwb3dlciBvZiBhCi0gICAgICAgICMgcG9zaXRpdmUgaW50ZWdlciBhbmQgeGUgbXVzdCBiZSBkaXZpc2libGUgYnkgbi4gIElmIHkgaXMgbmVnYXRpdmUKLSAgICAgICAgIyB0aGVuIGFkZGl0aW9uYWxseSB4YyBtdXN0IGJlIGEgcG93ZXIgb2YgZWl0aGVyIDIgb3IgNSwgaGVuY2UgYSBwb3dlcgotICAgICAgICAjIG9mIDIqKm4gb3IgNSoqbi4KLSAgICAgICAgIwotICAgICAgICAjIFRoZXJlJ3MgYSBsaW1pdCB0byBob3cgc21hbGwgfHl8IGNhbiBiZTogaWYgeT1tL24gYXMgYWJvdmUKLSAgICAgICAgIyB0aGVuOgotICAgICAgICAjCi0gICAgICAgICMgICgxKSBpZiB4YyAhPSAxIHRoZW4gZm9yIHRoZSByZXN1bHQgdG8gYmUgcmVwcmVzZW50YWJsZSB3ZQotICAgICAgICAjICAgICAgbmVlZCB4YyoqKDEvbikgPj0gMiwgYW5kIGhlbmNlIGFsc28geGMqKnx5fCA+PSAyLiAgU28KLSAgICAgICAgIyAgICAgIGlmIHx5fCA8PSAxL25iaXRzKHhjKSB0aGVuIHhjIDwgMioqbmJpdHMoeGMpIDw9Ci0gICAgICAgICMgICAgICAyKiooMS98eXwpLCBoZW5jZSB4YyoqfHl8IDwgMiBhbmQgdGhlIHJlc3VsdCBpcyBub3QKLSAgICAgICAgIyAgICAgIHJlcHJlc2VudGFibGUuCi0gICAgICAgICMKLSAgICAgICAgIyAgKDIpIGlmIHhlICE9IDAsIHx4ZXwqKDEvbikgPj0gMSwgc28gfHhlfCp8eXwgPj0gMS4gIEhlbmNlIGlmCi0gICAgICAgICMgICAgICB8eXwgPCAxL3x4ZXwgdGhlbiB0aGUgcmVzdWx0IGlzIG5vdCByZXByZXNlbnRhYmxlLgotICAgICAgICAjCi0gICAgICAgICMgTm90ZSB0aGF0IHNpbmNlIHggaXMgbm90IGVxdWFsIHRvIDEsIGF0IGxlYXN0IG9uZSBvZiAoMSkgYW5kCi0gICAgICAgICMgKDIpIG11c3QgYXBwbHkuICBOb3cgfHl8IDwgMS9uYml0cyh4YykgaWZmIHx5Y3wqbmJpdHMoeGMpIDwKLSAgICAgICAgIyAxMCoqLXllIGlmZiBsZW4oc3RyKHx5Y3wqbmJpdHMoeGMpKSA8PSAteWUuCi0gICAgICAgICMKLSAgICAgICAgIyBUaGVyZSdzIGFsc28gYSBsaW1pdCB0byBob3cgbGFyZ2UgeSBjYW4gYmUsIGF0IGxlYXN0IGlmIGl0J3MKLSAgICAgICAgIyBwb3NpdGl2ZTogdGhlIG5vcm1hbGl6ZWQgcmVzdWx0IHdpbGwgaGF2ZSBjb2VmZmljaWVudCB4YyoqeSwKLSAgICAgICAgIyBzbyBpZiBpdCdzIHJlcHJlc2VudGFibGUgdGhlbiB4YyoqeSA8IDEwKipwLCBhbmQgeSA8Ci0gICAgICAgICMgcC9sb2cxMCh4YykuICBIZW5jZSBpZiB5KmxvZzEwKHhjKSA+PSBwIHRoZW4gdGhlIHJlc3VsdCBpcwotICAgICAgICAjIG5vdCBleGFjdGx5IHJlcHJlc2VudGFibGUuCi0KLSAgICAgICAgIyBpZiBsZW4oc3RyKGFicyh5Yyp4ZSkpIDw9IC15ZSB0aGVuIGFicyh5Yyp4ZSkgPCAxMCoqLXllLAotICAgICAgICAjIHNvIHx5fCA8IDEveGUgYW5kIHRoZSByZXN1bHQgaXMgbm90IHJlcHJlc2VudGFibGUuCi0gICAgICAgICMgU2ltaWxhcmx5LCBsZW4oc3RyKGFicyh5YykqeGNfYml0cykpIDw9IC15ZSBpbXBsaWVzIHx5fAotICAgICAgICAjIDwgMS9uYml0cyh4YykuCi0KLSAgICAgICAgeCA9IF9Xb3JrUmVwKHNlbGYpCi0gICAgICAgIHhjLCB4ZSA9IHguaW50LCB4LmV4cAotICAgICAgICB3aGlsZSB4YyAlIDEwID09IDA6Ci0gICAgICAgICAgICB4YyAvLz0gMTAKLSAgICAgICAgICAgIHhlICs9IDEKLQotICAgICAgICB5ID0gX1dvcmtSZXAob3RoZXIpCi0gICAgICAgIHljLCB5ZSA9IHkuaW50LCB5LmV4cAotICAgICAgICB3aGlsZSB5YyAlIDEwID09IDA6Ci0gICAgICAgICAgICB5YyAvLz0gMTAKLSAgICAgICAgICAgIHllICs9IDEKLQotICAgICAgICAjIGNhc2Ugd2hlcmUgeGMgPT0gMTogcmVzdWx0IGlzIDEwKiooeGUqeSksIHdpdGggeGUqeQotICAgICAgICAjIHJlcXVpcmVkIHRvIGJlIGFuIGludGVnZXIKLSAgICAgICAgaWYgeGMgPT0gMToKLSAgICAgICAgICAgIHhlICo9IHljCi0gICAgICAgICAgICAjIHJlc3VsdCBpcyBub3cgMTAqKih4ZSAqIDEwKip5ZSk7ICB4ZSAqIDEwKip5ZSBtdXN0IGJlIGludGVncmFsCi0gICAgICAgICAgICB3aGlsZSB4ZSAlIDEwID09IDA6Ci0gICAgICAgICAgICAgICAgeGUgLy89IDEwCi0gICAgICAgICAgICAgICAgeWUgKz0gMQotICAgICAgICAgICAgaWYgeWUgPCAwOgotICAgICAgICAgICAgICAgIHJldHVybiBOb25lCi0gICAgICAgICAgICBleHBvbmVudCA9IHhlICogMTAqKnllCi0gICAgICAgICAgICBpZiB5LnNpZ24gPT0gMToKLSAgICAgICAgICAgICAgICBleHBvbmVudCA9IC1leHBvbmVudAotICAgICAgICAgICAgIyBpZiBvdGhlciBpcyBhIG5vbm5lZ2F0aXZlIGludGVnZXIsIHVzZSBpZGVhbCBleHBvbmVudAotICAgICAgICAgICAgaWYgb3RoZXIuX2lzaW50ZWdlcigpIGFuZCBvdGhlci5fc2lnbiA9PSAwOgotICAgICAgICAgICAgICAgIGlkZWFsX2V4cG9uZW50ID0gc2VsZi5fZXhwKmludChvdGhlcikKLSAgICAgICAgICAgICAgICB6ZXJvcyA9IG1pbihleHBvbmVudC1pZGVhbF9leHBvbmVudCwgcC0xKQotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICB6ZXJvcyA9IDAKLSAgICAgICAgICAgIHJldHVybiBfZGVjX2Zyb21fdHJpcGxlKDAsICcxJyArICcwJyp6ZXJvcywgZXhwb25lbnQtemVyb3MpCi0KLSAgICAgICAgIyBjYXNlIHdoZXJlIHkgaXMgbmVnYXRpdmU6IHhjIG11c3QgYmUgZWl0aGVyIGEgcG93ZXIKLSAgICAgICAgIyBvZiAyIG9yIGEgcG93ZXIgb2YgNS4KLSAgICAgICAgaWYgeS5zaWduID09IDE6Ci0gICAgICAgICAgICBsYXN0X2RpZ2l0ID0geGMgJSAxMAotICAgICAgICAgICAgaWYgbGFzdF9kaWdpdCBpbiAoMiw0LDYsOCk6Ci0gICAgICAgICAgICAgICAgIyBxdWljayB0ZXN0IGZvciBwb3dlciBvZiAyCi0gICAgICAgICAgICAgICAgaWYgeGMgJiAteGMgIT0geGM6Ci0gICAgICAgICAgICAgICAgICAgIHJldHVybiBOb25lCi0gICAgICAgICAgICAgICAgIyBub3cgeGMgaXMgYSBwb3dlciBvZiAyOyBlIGlzIGl0cyBleHBvbmVudAotICAgICAgICAgICAgICAgIGUgPSBfbmJpdHMoeGMpLTEKLQotICAgICAgICAgICAgICAgICMgV2Ugbm93IGhhdmU6Ci0gICAgICAgICAgICAgICAgIwotICAgICAgICAgICAgICAgICMgICB4ID0gMioqZSAqIDEwKip4ZSwgZSA+IDAsIGFuZCB5IDwgMC4KLSAgICAgICAgICAgICAgICAjCi0gICAgICAgICAgICAgICAgIyBUaGUgZXhhY3QgcmVzdWx0IGlzOgotICAgICAgICAgICAgICAgICMKLSAgICAgICAgICAgICAgICAjICAgeCoqeSA9IDUqKigtZSp5KSAqIDEwKiooZSp5ICsgeGUqeSkKLSAgICAgICAgICAgICAgICAjCi0gICAgICAgICAgICAgICAgIyBwcm92aWRlZCB0aGF0IGJvdGggZSp5IGFuZCB4ZSp5IGFyZSBpbnRlZ2Vycy4gIE5vdGUgdGhhdCBpZgotICAgICAgICAgICAgICAgICMgNSoqKC1lKnkpID49IDEwKipwLCB0aGVuIHRoZSByZXN1bHQgY2FuJ3QgYmUgZXhwcmVzc2VkCi0gICAgICAgICAgICAgICAgIyBleGFjdGx5IHdpdGggcCBkaWdpdHMgb2YgcHJlY2lzaW9uLgotICAgICAgICAgICAgICAgICMKLSAgICAgICAgICAgICAgICAjIFVzaW5nIHRoZSBhYm92ZSwgd2UgY2FuIGd1YXJkIGFnYWluc3QgbGFyZ2UgdmFsdWVzIG9mIHllLgotICAgICAgICAgICAgICAgICMgOTMvNjUgaXMgYW4gdXBwZXIgYm91bmQgZm9yIGxvZygxMCkvbG9nKDUpLCBzbyBpZgotICAgICAgICAgICAgICAgICMKLSAgICAgICAgICAgICAgICAjICAgeWUgPj0gbGVuKHN0cig5MypwLy82NSkpCi0gICAgICAgICAgICAgICAgIwotICAgICAgICAgICAgICAgICMgdGhlbgotICAgICAgICAgICAgICAgICMKLSAgICAgICAgICAgICAgICAjICAgLWUqeSA+PSAteSA+PSAxMCoqeWUgPiA5MypwLzY1ID4gcCpsb2coMTApL2xvZyg1KSwKLSAgICAgICAgICAgICAgICAjCi0gICAgICAgICAgICAgICAgIyBzbyA1KiooLWUqeSkgPj0gMTAqKnAsIGFuZCB0aGUgY29lZmZpY2llbnQgb2YgdGhlIHJlc3VsdAotICAgICAgICAgICAgICAgICMgY2FuJ3QgYmUgZXhwcmVzc2VkIGluIHAgZGlnaXRzLgotCi0gICAgICAgICAgICAgICAgIyBlbWF4ID49IGxhcmdlc3QgZSBzdWNoIHRoYXQgNSoqZSA8IDEwKipwLgotICAgICAgICAgICAgICAgIGVtYXggPSBwKjkzLy82NQotICAgICAgICAgICAgICAgIGlmIHllID49IGxlbihzdHIoZW1heCkpOgotICAgICAgICAgICAgICAgICAgICByZXR1cm4gTm9uZQotCi0gICAgICAgICAgICAgICAgIyBGaW5kIC1lKnkgYW5kIC14ZSp5OyBib3RoIG11c3QgYmUgaW50ZWdlcnMKLSAgICAgICAgICAgICAgICBlID0gX2RlY2ltYWxfbHNoaWZ0X2V4YWN0KGUgKiB5YywgeWUpCi0gICAgICAgICAgICAgICAgeGUgPSBfZGVjaW1hbF9sc2hpZnRfZXhhY3QoeGUgKiB5YywgeWUpCi0gICAgICAgICAgICAgICAgaWYgZSBpcyBOb25lIG9yIHhlIGlzIE5vbmU6Ci0gICAgICAgICAgICAgICAgICAgIHJldHVybiBOb25lCi0KLSAgICAgICAgICAgICAgICBpZiBlID4gZW1heDoKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIE5vbmUKLSAgICAgICAgICAgICAgICB4YyA9IDUqKmUKLQotICAgICAgICAgICAgZWxpZiBsYXN0X2RpZ2l0ID09IDU6Ci0gICAgICAgICAgICAgICAgIyBlID49IGxvZ181KHhjKSBpZiB4YyBpcyBhIHBvd2VyIG9mIDU7IHdlIGhhdmUKLSAgICAgICAgICAgICAgICAjIGVxdWFsaXR5IGFsbCB0aGUgd2F5IHVwIHRvIHhjPTUqKjI2NTgKLSAgICAgICAgICAgICAgICBlID0gX25iaXRzKHhjKSoyOC8vNjUKLSAgICAgICAgICAgICAgICB4YywgcmVtYWluZGVyID0gZGl2bW9kKDUqKmUsIHhjKQotICAgICAgICAgICAgICAgIGlmIHJlbWFpbmRlcjoKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIE5vbmUKLSAgICAgICAgICAgICAgICB3aGlsZSB4YyAlIDUgPT0gMDoKLSAgICAgICAgICAgICAgICAgICAgeGMgLy89IDUKLSAgICAgICAgICAgICAgICAgICAgZSAtPSAxCi0KLSAgICAgICAgICAgICAgICAjIEd1YXJkIGFnYWluc3QgbGFyZ2UgdmFsdWVzIG9mIHllLCB1c2luZyB0aGUgc2FtZSBsb2dpYyBhcyBpbgotICAgICAgICAgICAgICAgICMgdGhlICd4YyBpcyBhIHBvd2VyIG9mIDInIGJyYW5jaC4gIDEwLzMgaXMgYW4gdXBwZXIgYm91bmQgZm9yCi0gICAgICAgICAgICAgICAgIyBsb2coMTApL2xvZygyKS4KLSAgICAgICAgICAgICAgICBlbWF4ID0gcCoxMC8vMwotICAgICAgICAgICAgICAgIGlmIHllID49IGxlbihzdHIoZW1heCkpOgotICAgICAgICAgICAgICAgICAgICByZXR1cm4gTm9uZQotCi0gICAgICAgICAgICAgICAgZSA9IF9kZWNpbWFsX2xzaGlmdF9leGFjdChlICogeWMsIHllKQotICAgICAgICAgICAgICAgIHhlID0gX2RlY2ltYWxfbHNoaWZ0X2V4YWN0KHhlICogeWMsIHllKQotICAgICAgICAgICAgICAgIGlmIGUgaXMgTm9uZSBvciB4ZSBpcyBOb25lOgotICAgICAgICAgICAgICAgICAgICByZXR1cm4gTm9uZQotCi0gICAgICAgICAgICAgICAgaWYgZSA+IGVtYXg6Ci0gICAgICAgICAgICAgICAgICAgIHJldHVybiBOb25lCi0gICAgICAgICAgICAgICAgeGMgPSAyKiplCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIHJldHVybiBOb25lCi0KLSAgICAgICAgICAgIGlmIHhjID49IDEwKipwOgotICAgICAgICAgICAgICAgIHJldHVybiBOb25lCi0gICAgICAgICAgICB4ZSA9IC1lLXhlCi0gICAgICAgICAgICByZXR1cm4gX2RlY19mcm9tX3RyaXBsZSgwLCBzdHIoeGMpLCB4ZSkKLQotICAgICAgICAjIG5vdyB5IGlzIHBvc2l0aXZlOyBmaW5kIG0gYW5kIG4gc3VjaCB0aGF0IHkgPSBtL24KLSAgICAgICAgaWYgeWUgPj0gMDoKLSAgICAgICAgICAgIG0sIG4gPSB5YyoxMCoqeWUsIDEKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIGlmIHhlICE9IDAgYW5kIGxlbihzdHIoYWJzKHljKnhlKSkpIDw9IC15ZToKLSAgICAgICAgICAgICAgICByZXR1cm4gTm9uZQotICAgICAgICAgICAgeGNfYml0cyA9IF9uYml0cyh4YykKLSAgICAgICAgICAgIGlmIHhjICE9IDEgYW5kIGxlbihzdHIoYWJzKHljKSp4Y19iaXRzKSkgPD0gLXllOgotICAgICAgICAgICAgICAgIHJldHVybiBOb25lCi0gICAgICAgICAgICBtLCBuID0geWMsIDEwKiooLXllKQotICAgICAgICAgICAgd2hpbGUgbSAlIDIgPT0gbiAlIDIgPT0gMDoKLSAgICAgICAgICAgICAgICBtIC8vPSAyCi0gICAgICAgICAgICAgICAgbiAvLz0gMgotICAgICAgICAgICAgd2hpbGUgbSAlIDUgPT0gbiAlIDUgPT0gMDoKLSAgICAgICAgICAgICAgICBtIC8vPSA1Ci0gICAgICAgICAgICAgICAgbiAvLz0gNQotCi0gICAgICAgICMgY29tcHV0ZSBudGggcm9vdCBvZiB4YyoxMCoqeGUKLSAgICAgICAgaWYgbiA+IDE6Ci0gICAgICAgICAgICAjIGlmIDEgPCB4YyA8IDIqKm4gdGhlbiB4YyBpc24ndCBhbiBudGggcG93ZXIKLSAgICAgICAgICAgIGlmIHhjICE9IDEgYW5kIHhjX2JpdHMgPD0gbjoKLSAgICAgICAgICAgICAgICByZXR1cm4gTm9uZQotCi0gICAgICAgICAgICB4ZSwgcmVtID0gZGl2bW9kKHhlLCBuKQotICAgICAgICAgICAgaWYgcmVtICE9IDA6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIE5vbmUKLQotICAgICAgICAgICAgIyBjb21wdXRlIG50aCByb290IG9mIHhjIHVzaW5nIE5ld3RvbidzIG1ldGhvZAotICAgICAgICAgICAgYSA9IDEgPDwgLSgtX25iaXRzKHhjKS8vbikgIyBpbml0aWFsIGVzdGltYXRlCi0gICAgICAgICAgICB3aGlsZSBUcnVlOgotICAgICAgICAgICAgICAgIHEsIHIgPSBkaXZtb2QoeGMsIGEqKihuLTEpKQotICAgICAgICAgICAgICAgIGlmIGEgPD0gcToKLSAgICAgICAgICAgICAgICAgICAgYnJlYWsKLSAgICAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgICAgICBhID0gKGEqKG4tMSkgKyBxKS8vbgotICAgICAgICAgICAgaWYgbm90IChhID09IHEgYW5kIHIgPT0gMCk6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIE5vbmUKLSAgICAgICAgICAgIHhjID0gYQotCi0gICAgICAgICMgbm93IHhjKjEwKip4ZSBpcyB0aGUgbnRoIHJvb3Qgb2YgdGhlIG9yaWdpbmFsIHhjKjEwKip4ZQotICAgICAgICAjIGNvbXB1dGUgbXRoIHBvd2VyIG9mIHhjKjEwKip4ZQotCi0gICAgICAgICMgaWYgbSA+IHAqMTAwLy9fbG9nMTBfbGIoeGMpIHRoZW4gbSA+IHAvbG9nMTAoeGMpLCBoZW5jZSB4YyoqbSA+Ci0gICAgICAgICMgMTAqKnAgYW5kIHRoZSByZXN1bHQgaXMgbm90IHJlcHJlc2VudGFibGUuCi0gICAgICAgIGlmIHhjID4gMSBhbmQgbSA+IHAqMTAwLy9fbG9nMTBfbGIoeGMpOgotICAgICAgICAgICAgcmV0dXJuIE5vbmUKLSAgICAgICAgeGMgPSB4YyoqbQotICAgICAgICB4ZSAqPSBtCi0gICAgICAgIGlmIHhjID4gMTAqKnA6Ci0gICAgICAgICAgICByZXR1cm4gTm9uZQotCi0gICAgICAgICMgYnkgdGhpcyBwb2ludCB0aGUgcmVzdWx0ICppcyogZXhhY3RseSByZXByZXNlbnRhYmxlCi0gICAgICAgICMgYWRqdXN0IHRoZSBleHBvbmVudCB0byBnZXQgYXMgY2xvc2UgYXMgcG9zc2libGUgdG8gdGhlIGlkZWFsCi0gICAgICAgICMgZXhwb25lbnQsIGlmIG5lY2Vzc2FyeQotICAgICAgICBzdHJfeGMgPSBzdHIoeGMpCi0gICAgICAgIGlmIG90aGVyLl9pc2ludGVnZXIoKSBhbmQgb3RoZXIuX3NpZ24gPT0gMDoKLSAgICAgICAgICAgIGlkZWFsX2V4cG9uZW50ID0gc2VsZi5fZXhwKmludChvdGhlcikKLSAgICAgICAgICAgIHplcm9zID0gbWluKHhlLWlkZWFsX2V4cG9uZW50LCBwLWxlbihzdHJfeGMpKQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgemVyb3MgPSAwCi0gICAgICAgIHJldHVybiBfZGVjX2Zyb21fdHJpcGxlKDAsIHN0cl94YysnMCcqemVyb3MsIHhlLXplcm9zKQotCi0gICAgZGVmIF9fcG93X18oc2VsZiwgb3RoZXIsIG1vZHVsbz1Ob25lLCBjb250ZXh0PU5vbmUpOgotICAgICAgICAiIiJSZXR1cm4gc2VsZiAqKiBvdGhlciBbICUgbW9kdWxvXS4KLQotICAgICAgICBXaXRoIHR3byBhcmd1bWVudHMsIGNvbXB1dGUgc2VsZioqb3RoZXIuCi0KLSAgICAgICAgV2l0aCB0aHJlZSBhcmd1bWVudHMsIGNvbXB1dGUgKHNlbGYqKm90aGVyKSAlIG1vZHVsby4gIEZvciB0aGUKLSAgICAgICAgdGhyZWUgYXJndW1lbnQgZm9ybSwgdGhlIGZvbGxvd2luZyByZXN0cmljdGlvbnMgb24gdGhlCi0gICAgICAgIGFyZ3VtZW50cyBob2xkOgotCi0gICAgICAgICAtIGFsbCB0aHJlZSBhcmd1bWVudHMgbXVzdCBiZSBpbnRlZ3JhbAotICAgICAgICAgLSBvdGhlciBtdXN0IGJlIG5vbm5lZ2F0aXZlCi0gICAgICAgICAtIGVpdGhlciBzZWxmIG9yIG90aGVyIChvciBib3RoKSBtdXN0IGJlIG5vbnplcm8KLSAgICAgICAgIC0gbW9kdWxvIG11c3QgYmUgbm9uemVybyBhbmQgbXVzdCBoYXZlIGF0IG1vc3QgcCBkaWdpdHMsCi0gICAgICAgICAgIHdoZXJlIHAgaXMgdGhlIGNvbnRleHQgcHJlY2lzaW9uLgotCi0gICAgICAgIElmIGFueSBvZiB0aGVzZSByZXN0cmljdGlvbnMgaXMgdmlvbGF0ZWQgdGhlIEludmFsaWRPcGVyYXRpb24KLSAgICAgICAgZmxhZyBpcyByYWlzZWQuCi0KLSAgICAgICAgVGhlIHJlc3VsdCBvZiBwb3coc2VsZiwgb3RoZXIsIG1vZHVsbykgaXMgaWRlbnRpY2FsIHRvIHRoZQotICAgICAgICByZXN1bHQgdGhhdCB3b3VsZCBiZSBvYnRhaW5lZCBieSBjb21wdXRpbmcgKHNlbGYqKm90aGVyKSAlCi0gICAgICAgIG1vZHVsbyB3aXRoIHVuYm91bmRlZCBwcmVjaXNpb24sIGJ1dCBpcyBjb21wdXRlZCBtb3JlCi0gICAgICAgIGVmZmljaWVudGx5LiAgSXQgaXMgYWx3YXlzIGV4YWN0LgotICAgICAgICAiIiIKLQotICAgICAgICBpZiBtb2R1bG8gaXMgbm90IE5vbmU6Ci0gICAgICAgICAgICByZXR1cm4gc2VsZi5fcG93ZXJfbW9kdWxvKG90aGVyLCBtb2R1bG8sIGNvbnRleHQpCi0KLSAgICAgICAgb3RoZXIgPSBfY29udmVydF9vdGhlcihvdGhlcikKLSAgICAgICAgaWYgb3RoZXIgaXMgTm90SW1wbGVtZW50ZWQ6Ci0gICAgICAgICAgICByZXR1cm4gb3RoZXIKLQotICAgICAgICBpZiBjb250ZXh0IGlzIE5vbmU6Ci0gICAgICAgICAgICBjb250ZXh0ID0gZ2V0Y29udGV4dCgpCi0KLSAgICAgICAgIyBlaXRoZXIgYXJndW1lbnQgaXMgYSBOYU4gPT4gcmVzdWx0IGlzIE5hTgotICAgICAgICBhbnMgPSBzZWxmLl9jaGVja19uYW5zKG90aGVyLCBjb250ZXh0KQotICAgICAgICBpZiBhbnM6Ci0gICAgICAgICAgICByZXR1cm4gYW5zCi0KLSAgICAgICAgIyAwKiowID0gTmFOICghKSwgeCoqMCA9IDEgZm9yIG5vbnplcm8geCAoaW5jbHVkaW5nICsvLUluZmluaXR5KQotICAgICAgICBpZiBub3Qgb3RoZXI6Ci0gICAgICAgICAgICBpZiBub3Qgc2VsZjoKLSAgICAgICAgICAgICAgICByZXR1cm4gY29udGV4dC5fcmFpc2VfZXJyb3IoSW52YWxpZE9wZXJhdGlvbiwgJzAgKiogMCcpCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIHJldHVybiBfT25lCi0KLSAgICAgICAgIyByZXN1bHQgaGFzIHNpZ24gMSBpZmYgc2VsZi5fc2lnbiBpcyAxIGFuZCBvdGhlciBpcyBhbiBvZGQgaW50ZWdlcgotICAgICAgICByZXN1bHRfc2lnbiA9IDAKLSAgICAgICAgaWYgc2VsZi5fc2lnbiA9PSAxOgotICAgICAgICAgICAgaWYgb3RoZXIuX2lzaW50ZWdlcigpOgotICAgICAgICAgICAgICAgIGlmIG5vdCBvdGhlci5faXNldmVuKCk6Ci0gICAgICAgICAgICAgICAgICAgIHJlc3VsdF9zaWduID0gMQotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICAjIC12ZSoqbm9uaW50ZWdlciA9IE5hTgotICAgICAgICAgICAgICAgICMgKC0wKSoqbm9uaW50ZWdlciA9IDAqKm5vbmludGVnZXIKLSAgICAgICAgICAgICAgICBpZiBzZWxmOgotICAgICAgICAgICAgICAgICAgICByZXR1cm4gY29udGV4dC5fcmFpc2VfZXJyb3IoSW52YWxpZE9wZXJhdGlvbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICd4ICoqIHkgd2l0aCB4IG5lZ2F0aXZlIGFuZCB5IG5vdCBhbiBpbnRlZ2VyJykKLSAgICAgICAgICAgICMgbmVnYXRlIHNlbGYsIHdpdGhvdXQgZG9pbmcgYW55IHVud2FudGVkIHJvdW5kaW5nCi0gICAgICAgICAgICBzZWxmID0gc2VsZi5jb3B5X25lZ2F0ZSgpCi0KLSAgICAgICAgIyAwKiooK3ZlIG9yIEluZik9IDA7IDAqKigtdmUgb3IgLUluZikgPSBJbmZpbml0eQotICAgICAgICBpZiBub3Qgc2VsZjoKLSAgICAgICAgICAgIGlmIG90aGVyLl9zaWduID09IDA6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIF9kZWNfZnJvbV90cmlwbGUocmVzdWx0X3NpZ24sICcwJywgMCkKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIF9TaWduZWRJbmZpbml0eVtyZXN1bHRfc2lnbl0KLQotICAgICAgICAjIEluZioqKCt2ZSBvciBJbmYpID0gSW5mOyBJbmYqKigtdmUgb3IgLUluZikgPSAwCi0gICAgICAgIGlmIHNlbGYuX2lzaW5maW5pdHkoKToKLSAgICAgICAgICAgIGlmIG90aGVyLl9zaWduID09IDA6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIF9TaWduZWRJbmZpbml0eVtyZXN1bHRfc2lnbl0KLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIF9kZWNfZnJvbV90cmlwbGUocmVzdWx0X3NpZ24sICcwJywgMCkKLQotICAgICAgICAjIDEqKm90aGVyID0gMSwgYnV0IHRoZSBjaG9pY2Ugb2YgZXhwb25lbnQgYW5kIHRoZSBmbGFncwotICAgICAgICAjIGRlcGVuZCBvbiB0aGUgZXhwb25lbnQgb2Ygc2VsZiwgYW5kIG9uIHdoZXRoZXIgb3RoZXIgaXMgYQotICAgICAgICAjIHBvc2l0aXZlIGludGVnZXIsIGEgbmVnYXRpdmUgaW50ZWdlciwgb3IgbmVpdGhlcgotICAgICAgICBpZiBzZWxmID09IF9PbmU6Ci0gICAgICAgICAgICBpZiBvdGhlci5faXNpbnRlZ2VyKCk6Ci0gICAgICAgICAgICAgICAgIyBleHAgPSBtYXgoc2VsZi5fZXhwKm1heChpbnQob3RoZXIpLCAwKSwKLSAgICAgICAgICAgICAgICAjIDEtY29udGV4dC5wcmVjKSBidXQgZXZhbHVhdGluZyBpbnQob3RoZXIpIGRpcmVjdGx5Ci0gICAgICAgICAgICAgICAgIyBpcyBkYW5nZXJvdXMgdW50aWwgd2Uga25vdyBvdGhlciBpcyBzbWFsbCAob3RoZXIKLSAgICAgICAgICAgICAgICAjIGNvdWxkIGJlIDFlOTk5OTk5OTk5KQotICAgICAgICAgICAgICAgIGlmIG90aGVyLl9zaWduID09IDE6Ci0gICAgICAgICAgICAgICAgICAgIG11bHRpcGxpZXIgPSAwCi0gICAgICAgICAgICAgICAgZWxpZiBvdGhlciA+IGNvbnRleHQucHJlYzoKLSAgICAgICAgICAgICAgICAgICAgbXVsdGlwbGllciA9IGNvbnRleHQucHJlYwotICAgICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgICAgIG11bHRpcGxpZXIgPSBpbnQob3RoZXIpCi0KLSAgICAgICAgICAgICAgICBleHAgPSBzZWxmLl9leHAgKiBtdWx0aXBsaWVyCi0gICAgICAgICAgICAgICAgaWYgZXhwIDwgMS1jb250ZXh0LnByZWM6Ci0gICAgICAgICAgICAgICAgICAgIGV4cCA9IDEtY29udGV4dC5wcmVjCi0gICAgICAgICAgICAgICAgICAgIGNvbnRleHQuX3JhaXNlX2Vycm9yKFJvdW5kZWQpCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIGNvbnRleHQuX3JhaXNlX2Vycm9yKEluZXhhY3QpCi0gICAgICAgICAgICAgICAgY29udGV4dC5fcmFpc2VfZXJyb3IoUm91bmRlZCkKLSAgICAgICAgICAgICAgICBleHAgPSAxLWNvbnRleHQucHJlYwotCi0gICAgICAgICAgICByZXR1cm4gX2RlY19mcm9tX3RyaXBsZShyZXN1bHRfc2lnbiwgJzEnKycwJyotZXhwLCBleHApCi0KLSAgICAgICAgIyBjb21wdXRlIGFkanVzdGVkIGV4cG9uZW50IG9mIHNlbGYKLSAgICAgICAgc2VsZl9hZGogPSBzZWxmLmFkanVzdGVkKCkKLQotICAgICAgICAjIHNlbGYgKiogaW5maW5pdHkgaXMgaW5maW5pdHkgaWYgc2VsZiA+IDEsIDAgaWYgc2VsZiA8IDEKLSAgICAgICAgIyBzZWxmICoqIC1pbmZpbml0eSBpcyBpbmZpbml0eSBpZiBzZWxmIDwgMSwgMCBpZiBzZWxmID4gMQotICAgICAgICBpZiBvdGhlci5faXNpbmZpbml0eSgpOgotICAgICAgICAgICAgaWYgKG90aGVyLl9zaWduID09IDApID09IChzZWxmX2FkaiA8IDApOgotICAgICAgICAgICAgICAgIHJldHVybiBfZGVjX2Zyb21fdHJpcGxlKHJlc3VsdF9zaWduLCAnMCcsIDApCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIHJldHVybiBfU2lnbmVkSW5maW5pdHlbcmVzdWx0X3NpZ25dCi0KLSAgICAgICAgIyBmcm9tIGhlcmUgb24sIHRoZSByZXN1bHQgYWx3YXlzIGdvZXMgdGhyb3VnaCB0aGUgY2FsbAotICAgICAgICAjIHRvIF9maXggYXQgdGhlIGVuZCBvZiB0aGlzIGZ1bmN0aW9uLgotICAgICAgICBhbnMgPSBOb25lCi0gICAgICAgIGV4YWN0ID0gRmFsc2UKLQotICAgICAgICAjIGNydWRlIHRlc3QgdG8gY2F0Y2ggY2FzZXMgb2YgZXh0cmVtZSBvdmVyZmxvdy91bmRlcmZsb3cuICBJZgotICAgICAgICAjIGxvZzEwKHNlbGYpKm90aGVyID49IDEwKipib3VuZCBhbmQgYm91bmQgPj0gbGVuKHN0cihFbWF4KSkKLSAgICAgICAgIyB0aGVuIDEwKipib3VuZCA+PSAxMCoqbGVuKHN0cihFbWF4KSkgPj0gRW1heCsxIGFuZCBoZW5jZQotICAgICAgICAjIHNlbGYqKm90aGVyID49IDEwKiooRW1heCsxKSwgc28gb3ZlcmZsb3cgb2NjdXJzLiAgVGhlIHRlc3QKLSAgICAgICAgIyBmb3IgdW5kZXJmbG93IGlzIHNpbWlsYXIuCi0gICAgICAgIGJvdW5kID0gc2VsZi5fbG9nMTBfZXhwX2JvdW5kKCkgKyBvdGhlci5hZGp1c3RlZCgpCi0gICAgICAgIGlmIChzZWxmX2FkaiA+PSAwKSA9PSAob3RoZXIuX3NpZ24gPT0gMCk6Ci0gICAgICAgICAgICAjIHNlbGYgPiAxIGFuZCBvdGhlciArdmUsIG9yIHNlbGYgPCAxIGFuZCBvdGhlciAtdmUKLSAgICAgICAgICAgICMgcG9zc2liaWxpdHkgb2Ygb3ZlcmZsb3cKLSAgICAgICAgICAgIGlmIGJvdW5kID49IGxlbihzdHIoY29udGV4dC5FbWF4KSk6Ci0gICAgICAgICAgICAgICAgYW5zID0gX2RlY19mcm9tX3RyaXBsZShyZXN1bHRfc2lnbiwgJzEnLCBjb250ZXh0LkVtYXgrMSkKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgICMgc2VsZiA+IDEgYW5kIG90aGVyIC12ZSwgb3Igc2VsZiA8IDEgYW5kIG90aGVyICt2ZQotICAgICAgICAgICAgIyBwb3NzaWJpbGl0eSBvZiB1bmRlcmZsb3cgdG8gMAotICAgICAgICAgICAgRXRpbnkgPSBjb250ZXh0LkV0aW55KCkKLSAgICAgICAgICAgIGlmIGJvdW5kID49IGxlbihzdHIoLUV0aW55KSk6Ci0gICAgICAgICAgICAgICAgYW5zID0gX2RlY19mcm9tX3RyaXBsZShyZXN1bHRfc2lnbiwgJzEnLCBFdGlueS0xKQotCi0gICAgICAgICMgdHJ5IGZvciBhbiBleGFjdCByZXN1bHQgd2l0aCBwcmVjaXNpb24gKzEKLSAgICAgICAgaWYgYW5zIGlzIE5vbmU6Ci0gICAgICAgICAgICBhbnMgPSBzZWxmLl9wb3dlcl9leGFjdChvdGhlciwgY29udGV4dC5wcmVjICsgMSkKLSAgICAgICAgICAgIGlmIGFucyBpcyBub3QgTm9uZToKLSAgICAgICAgICAgICAgICBpZiByZXN1bHRfc2lnbiA9PSAxOgotICAgICAgICAgICAgICAgICAgICBhbnMgPSBfZGVjX2Zyb21fdHJpcGxlKDEsIGFucy5faW50LCBhbnMuX2V4cCkKLSAgICAgICAgICAgICAgICBleGFjdCA9IFRydWUKLQotICAgICAgICAjIHVzdWFsIGNhc2U6IGluZXhhY3QgcmVzdWx0LCB4Kip5IGNvbXB1dGVkIGRpcmVjdGx5IGFzIGV4cCh5KmxvZyh4KSkKLSAgICAgICAgaWYgYW5zIGlzIE5vbmU6Ci0gICAgICAgICAgICBwID0gY29udGV4dC5wcmVjCi0gICAgICAgICAgICB4ID0gX1dvcmtSZXAoc2VsZikKLSAgICAgICAgICAgIHhjLCB4ZSA9IHguaW50LCB4LmV4cAotICAgICAgICAgICAgeSA9IF9Xb3JrUmVwKG90aGVyKQotICAgICAgICAgICAgeWMsIHllID0geS5pbnQsIHkuZXhwCi0gICAgICAgICAgICBpZiB5LnNpZ24gPT0gMToKLSAgICAgICAgICAgICAgICB5YyA9IC15YwotCi0gICAgICAgICAgICAjIGNvbXB1dGUgY29ycmVjdGx5IHJvdW5kZWQgcmVzdWx0OiAgc3RhcnQgd2l0aCBwcmVjaXNpb24gKzMsCi0gICAgICAgICAgICAjIHRoZW4gaW5jcmVhc2UgcHJlY2lzaW9uIHVudGlsIHJlc3VsdCBpcyB1bmFtYmlndW91c2x5IHJvdW5kYWJsZQotICAgICAgICAgICAgZXh0cmEgPSAzCi0gICAgICAgICAgICB3aGlsZSBUcnVlOgotICAgICAgICAgICAgICAgIGNvZWZmLCBleHAgPSBfZHBvd2VyKHhjLCB4ZSwgeWMsIHllLCBwK2V4dHJhKQotICAgICAgICAgICAgICAgIGlmIGNvZWZmICUgKDUqMTAqKihsZW4oc3RyKGNvZWZmKSktcC0xKSk6Ci0gICAgICAgICAgICAgICAgICAgIGJyZWFrCi0gICAgICAgICAgICAgICAgZXh0cmEgKz0gMwotCi0gICAgICAgICAgICBhbnMgPSBfZGVjX2Zyb21fdHJpcGxlKHJlc3VsdF9zaWduLCBzdHIoY29lZmYpLCBleHApCi0KLSAgICAgICAgIyB1bmxpa2UgZXhwLCBsbiBhbmQgbG9nMTAsIHRoZSBwb3dlciBmdW5jdGlvbiByZXNwZWN0cyB0aGUKLSAgICAgICAgIyByb3VuZGluZyBtb2RlOyBubyBuZWVkIHRvIHN3aXRjaCB0byBST1VORF9IQUxGX0VWRU4gaGVyZQotCi0gICAgICAgICMgVGhlcmUncyBhIGRpZmZpY3VsdHkgaGVyZSB3aGVuICdvdGhlcicgaXMgbm90IGFuIGludGVnZXIgYW5kCi0gICAgICAgICMgdGhlIHJlc3VsdCBpcyBleGFjdC4gIEluIHRoaXMgY2FzZSwgdGhlIHNwZWNpZmljYXRpb24KLSAgICAgICAgIyByZXF1aXJlcyB0aGF0IHRoZSBJbmV4YWN0IGZsYWcgYmUgcmFpc2VkIChpbiBzcGl0ZSBvZgotICAgICAgICAjIGV4YWN0bmVzcyksIGJ1dCBzaW5jZSB0aGUgcmVzdWx0IGlzIGV4YWN0IF9maXggd29uJ3QgZG8gdGhpcwotICAgICAgICAjIGZvciB1cy4gIChDb3JyZXNwb25kaW5nbHksIHRoZSBVbmRlcmZsb3cgc2lnbmFsIHNob3VsZCBhbHNvCi0gICAgICAgICMgYmUgcmFpc2VkIGZvciBzdWJub3JtYWwgcmVzdWx0cy4pICBXZSBjYW4ndCBkaXJlY3RseSByYWlzZQotICAgICAgICAjIHRoZXNlIHNpZ25hbHMgZWl0aGVyIGJlZm9yZSBvciBhZnRlciBjYWxsaW5nIF9maXgsIHNpbmNlCi0gICAgICAgICMgdGhhdCB3b3VsZCB2aW9sYXRlIHRoZSBwcmVjZWRlbmNlIGZvciBzaWduYWxzLiAgU28gd2Ugd3JhcAotICAgICAgICAjIHRoZSAuX2ZpeCBjYWxsIGluIGEgdGVtcG9yYXJ5IGNvbnRleHQsIGFuZCByZXJhaXNlCi0gICAgICAgICMgYWZ0ZXJ3YXJkcy4KLSAgICAgICAgaWYgZXhhY3QgYW5kIG5vdCBvdGhlci5faXNpbnRlZ2VyKCk6Ci0gICAgICAgICAgICAjIHBhZCB3aXRoIHplcm9zIHVwIHRvIGxlbmd0aCBjb250ZXh0LnByZWMrMSBpZiBuZWNlc3Nhcnk7IHRoaXMKLSAgICAgICAgICAgICMgZW5zdXJlcyB0aGF0IHRoZSBSb3VuZGVkIHNpZ25hbCB3aWxsIGJlIHJhaXNlZC4KLSAgICAgICAgICAgIGlmIGxlbihhbnMuX2ludCkgPD0gY29udGV4dC5wcmVjOgotICAgICAgICAgICAgICAgIGV4cGRpZmYgPSBjb250ZXh0LnByZWMgKyAxIC0gbGVuKGFucy5faW50KQotICAgICAgICAgICAgICAgIGFucyA9IF9kZWNfZnJvbV90cmlwbGUoYW5zLl9zaWduLCBhbnMuX2ludCsnMCcqZXhwZGlmZiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFucy5fZXhwLWV4cGRpZmYpCi0KLSAgICAgICAgICAgICMgY3JlYXRlIGEgY29weSBvZiB0aGUgY3VycmVudCBjb250ZXh0LCB3aXRoIGNsZWFyZWQgZmxhZ3MvdHJhcHMKLSAgICAgICAgICAgIG5ld2NvbnRleHQgPSBjb250ZXh0LmNvcHkoKQotICAgICAgICAgICAgbmV3Y29udGV4dC5jbGVhcl9mbGFncygpCi0gICAgICAgICAgICBmb3IgZXhjZXB0aW9uIGluIF9zaWduYWxzOgotICAgICAgICAgICAgICAgIG5ld2NvbnRleHQudHJhcHNbZXhjZXB0aW9uXSA9IDAKLQotICAgICAgICAgICAgIyByb3VuZCBpbiB0aGUgbmV3IGNvbnRleHQKLSAgICAgICAgICAgIGFucyA9IGFucy5fZml4KG5ld2NvbnRleHQpCi0KLSAgICAgICAgICAgICMgcmFpc2UgSW5leGFjdCwgYW5kIGlmIG5lY2Vzc2FyeSwgVW5kZXJmbG93Ci0gICAgICAgICAgICBuZXdjb250ZXh0Ll9yYWlzZV9lcnJvcihJbmV4YWN0KQotICAgICAgICAgICAgaWYgbmV3Y29udGV4dC5mbGFnc1tTdWJub3JtYWxdOgotICAgICAgICAgICAgICAgIG5ld2NvbnRleHQuX3JhaXNlX2Vycm9yKFVuZGVyZmxvdykKLQotICAgICAgICAgICAgIyBwcm9wYWdhdGUgc2lnbmFscyB0byB0aGUgb3JpZ2luYWwgY29udGV4dDsgX2ZpeCBjb3VsZAotICAgICAgICAgICAgIyBoYXZlIHJhaXNlZCBhbnkgb2YgT3ZlcmZsb3csIFVuZGVyZmxvdywgU3Vibm9ybWFsLAotICAgICAgICAgICAgIyBJbmV4YWN0LCBSb3VuZGVkLCBDbGFtcGVkLiAgT3ZlcmZsb3cgbmVlZHMgdGhlIGNvcnJlY3QKLSAgICAgICAgICAgICMgYXJndW1lbnRzLiAgTm90ZSB0aGF0IHRoZSBvcmRlciBvZiB0aGUgZXhjZXB0aW9ucyBpcwotICAgICAgICAgICAgIyBpbXBvcnRhbnQgaGVyZS4KLSAgICAgICAgICAgIGlmIG5ld2NvbnRleHQuZmxhZ3NbT3ZlcmZsb3ddOgotICAgICAgICAgICAgICAgIGNvbnRleHQuX3JhaXNlX2Vycm9yKE92ZXJmbG93LCAnYWJvdmUgRW1heCcsIGFucy5fc2lnbikKLSAgICAgICAgICAgIGZvciBleGNlcHRpb24gaW4gVW5kZXJmbG93LCBTdWJub3JtYWwsIEluZXhhY3QsIFJvdW5kZWQsIENsYW1wZWQ6Ci0gICAgICAgICAgICAgICAgaWYgbmV3Y29udGV4dC5mbGFnc1tleGNlcHRpb25dOgotICAgICAgICAgICAgICAgICAgICBjb250ZXh0Ll9yYWlzZV9lcnJvcihleGNlcHRpb24pCi0KLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIGFucyA9IGFucy5fZml4KGNvbnRleHQpCi0KLSAgICAgICAgcmV0dXJuIGFucwotCi0gICAgZGVmIF9fcnBvd19fKHNlbGYsIG90aGVyLCBjb250ZXh0PU5vbmUpOgotICAgICAgICAiIiJTd2FwcyBzZWxmL290aGVyIGFuZCByZXR1cm5zIF9fcG93X18uIiIiCi0gICAgICAgIG90aGVyID0gX2NvbnZlcnRfb3RoZXIob3RoZXIpCi0gICAgICAgIGlmIG90aGVyIGlzIE5vdEltcGxlbWVudGVkOgotICAgICAgICAgICAgcmV0dXJuIG90aGVyCi0gICAgICAgIHJldHVybiBvdGhlci5fX3Bvd19fKHNlbGYsIGNvbnRleHQ9Y29udGV4dCkKLQotICAgIGRlZiBub3JtYWxpemUoc2VsZiwgY29udGV4dD1Ob25lKToKLSAgICAgICAgIiIiTm9ybWFsaXplLSBzdHJpcCB0cmFpbGluZyAwcywgY2hhbmdlIGFueXRoaW5nIGVxdWFsIHRvIDAgdG8gMGUwIiIiCi0KLSAgICAgICAgaWYgY29udGV4dCBpcyBOb25lOgotICAgICAgICAgICAgY29udGV4dCA9IGdldGNvbnRleHQoKQotCi0gICAgICAgIGlmIHNlbGYuX2lzX3NwZWNpYWw6Ci0gICAgICAgICAgICBhbnMgPSBzZWxmLl9jaGVja19uYW5zKGNvbnRleHQ9Y29udGV4dCkKLSAgICAgICAgICAgIGlmIGFuczoKLSAgICAgICAgICAgICAgICByZXR1cm4gYW5zCi0KLSAgICAgICAgZHVwID0gc2VsZi5fZml4KGNvbnRleHQpCi0gICAgICAgIGlmIGR1cC5faXNpbmZpbml0eSgpOgotICAgICAgICAgICAgcmV0dXJuIGR1cAotCi0gICAgICAgIGlmIG5vdCBkdXA6Ci0gICAgICAgICAgICByZXR1cm4gX2RlY19mcm9tX3RyaXBsZShkdXAuX3NpZ24sICcwJywgMCkKLSAgICAgICAgZXhwX21heCA9IFtjb250ZXh0LkVtYXgsIGNvbnRleHQuRXRvcCgpXVtjb250ZXh0LmNsYW1wXQotICAgICAgICBlbmQgPSBsZW4oZHVwLl9pbnQpCi0gICAgICAgIGV4cCA9IGR1cC5fZXhwCi0gICAgICAgIHdoaWxlIGR1cC5faW50W2VuZC0xXSA9PSAnMCcgYW5kIGV4cCA8IGV4cF9tYXg6Ci0gICAgICAgICAgICBleHAgKz0gMQotICAgICAgICAgICAgZW5kIC09IDEKLSAgICAgICAgcmV0dXJuIF9kZWNfZnJvbV90cmlwbGUoZHVwLl9zaWduLCBkdXAuX2ludFs6ZW5kXSwgZXhwKQotCi0gICAgZGVmIHF1YW50aXplKHNlbGYsIGV4cCwgcm91bmRpbmc9Tm9uZSwgY29udGV4dD1Ob25lLCB3YXRjaGV4cD1UcnVlKToKLSAgICAgICAgIiIiUXVhbnRpemUgc2VsZiBzbyBpdHMgZXhwb25lbnQgaXMgdGhlIHNhbWUgYXMgdGhhdCBvZiBleHAuCi0KLSAgICAgICAgU2ltaWxhciB0byBzZWxmLl9yZXNjYWxlKGV4cC5fZXhwKSBidXQgd2l0aCBlcnJvciBjaGVja2luZy4KLSAgICAgICAgIiIiCi0gICAgICAgIGV4cCA9IF9jb252ZXJ0X290aGVyKGV4cCwgcmFpc2VpdD1UcnVlKQotCi0gICAgICAgIGlmIGNvbnRleHQgaXMgTm9uZToKLSAgICAgICAgICAgIGNvbnRleHQgPSBnZXRjb250ZXh0KCkKLSAgICAgICAgaWYgcm91bmRpbmcgaXMgTm9uZToKLSAgICAgICAgICAgIHJvdW5kaW5nID0gY29udGV4dC5yb3VuZGluZwotCi0gICAgICAgIGlmIHNlbGYuX2lzX3NwZWNpYWwgb3IgZXhwLl9pc19zcGVjaWFsOgotICAgICAgICAgICAgYW5zID0gc2VsZi5fY2hlY2tfbmFucyhleHAsIGNvbnRleHQpCi0gICAgICAgICAgICBpZiBhbnM6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIGFucwotCi0gICAgICAgICAgICBpZiBleHAuX2lzaW5maW5pdHkoKSBvciBzZWxmLl9pc2luZmluaXR5KCk6Ci0gICAgICAgICAgICAgICAgaWYgZXhwLl9pc2luZmluaXR5KCkgYW5kIHNlbGYuX2lzaW5maW5pdHkoKToKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIERlY2ltYWwoc2VsZikgICMgaWYgYm90aCBhcmUgaW5mLCBpdCBpcyBPSwotICAgICAgICAgICAgICAgIHJldHVybiBjb250ZXh0Ll9yYWlzZV9lcnJvcihJbnZhbGlkT3BlcmF0aW9uLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdxdWFudGl6ZSB3aXRoIG9uZSBJTkYnKQotCi0gICAgICAgICMgaWYgd2UncmUgbm90IHdhdGNoaW5nIGV4cG9uZW50cywgZG8gYSBzaW1wbGUgcmVzY2FsZQotICAgICAgICBpZiBub3Qgd2F0Y2hleHA6Ci0gICAgICAgICAgICBhbnMgPSBzZWxmLl9yZXNjYWxlKGV4cC5fZXhwLCByb3VuZGluZykKLSAgICAgICAgICAgICMgcmFpc2UgSW5leGFjdCBhbmQgUm91bmRlZCB3aGVyZSBhcHByb3ByaWF0ZQotICAgICAgICAgICAgaWYgYW5zLl9leHAgPiBzZWxmLl9leHA6Ci0gICAgICAgICAgICAgICAgY29udGV4dC5fcmFpc2VfZXJyb3IoUm91bmRlZCkKLSAgICAgICAgICAgICAgICBpZiBhbnMgIT0gc2VsZjoKLSAgICAgICAgICAgICAgICAgICAgY29udGV4dC5fcmFpc2VfZXJyb3IoSW5leGFjdCkKLSAgICAgICAgICAgIHJldHVybiBhbnMKLQotICAgICAgICAjIGV4cC5fZXhwIHNob3VsZCBiZSBiZXR3ZWVuIEV0aW55IGFuZCBFbWF4Ci0gICAgICAgIGlmIG5vdCAoY29udGV4dC5FdGlueSgpIDw9IGV4cC5fZXhwIDw9IGNvbnRleHQuRW1heCk6Ci0gICAgICAgICAgICByZXR1cm4gY29udGV4dC5fcmFpc2VfZXJyb3IoSW52YWxpZE9wZXJhdGlvbiwKLSAgICAgICAgICAgICAgICAgICAndGFyZ2V0IGV4cG9uZW50IG91dCBvZiBib3VuZHMgaW4gcXVhbnRpemUnKQotCi0gICAgICAgIGlmIG5vdCBzZWxmOgotICAgICAgICAgICAgYW5zID0gX2RlY19mcm9tX3RyaXBsZShzZWxmLl9zaWduLCAnMCcsIGV4cC5fZXhwKQotICAgICAgICAgICAgcmV0dXJuIGFucy5fZml4KGNvbnRleHQpCi0KLSAgICAgICAgc2VsZl9hZGp1c3RlZCA9IHNlbGYuYWRqdXN0ZWQoKQotICAgICAgICBpZiBzZWxmX2FkanVzdGVkID4gY29udGV4dC5FbWF4OgotICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuX3JhaXNlX2Vycm9yKEludmFsaWRPcGVyYXRpb24sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2V4cG9uZW50IG9mIHF1YW50aXplIHJlc3VsdCB0b28gbGFyZ2UgZm9yIGN1cnJlbnQgY29udGV4dCcpCi0gICAgICAgIGlmIHNlbGZfYWRqdXN0ZWQgLSBleHAuX2V4cCArIDEgPiBjb250ZXh0LnByZWM6Ci0gICAgICAgICAgICByZXR1cm4gY29udGV4dC5fcmFpc2VfZXJyb3IoSW52YWxpZE9wZXJhdGlvbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncXVhbnRpemUgcmVzdWx0IGhhcyB0b28gbWFueSBkaWdpdHMgZm9yIGN1cnJlbnQgY29udGV4dCcpCi0KLSAgICAgICAgYW5zID0gc2VsZi5fcmVzY2FsZShleHAuX2V4cCwgcm91bmRpbmcpCi0gICAgICAgIGlmIGFucy5hZGp1c3RlZCgpID4gY29udGV4dC5FbWF4OgotICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuX3JhaXNlX2Vycm9yKEludmFsaWRPcGVyYXRpb24sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2V4cG9uZW50IG9mIHF1YW50aXplIHJlc3VsdCB0b28gbGFyZ2UgZm9yIGN1cnJlbnQgY29udGV4dCcpCi0gICAgICAgIGlmIGxlbihhbnMuX2ludCkgPiBjb250ZXh0LnByZWM6Ci0gICAgICAgICAgICByZXR1cm4gY29udGV4dC5fcmFpc2VfZXJyb3IoSW52YWxpZE9wZXJhdGlvbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncXVhbnRpemUgcmVzdWx0IGhhcyB0b28gbWFueSBkaWdpdHMgZm9yIGN1cnJlbnQgY29udGV4dCcpCi0KLSAgICAgICAgIyByYWlzZSBhcHByb3ByaWF0ZSBmbGFncwotICAgICAgICBpZiBhbnMgYW5kIGFucy5hZGp1c3RlZCgpIDwgY29udGV4dC5FbWluOgotICAgICAgICAgICAgY29udGV4dC5fcmFpc2VfZXJyb3IoU3Vibm9ybWFsKQotICAgICAgICBpZiBhbnMuX2V4cCA+IHNlbGYuX2V4cDoKLSAgICAgICAgICAgIGlmIGFucyAhPSBzZWxmOgotICAgICAgICAgICAgICAgIGNvbnRleHQuX3JhaXNlX2Vycm9yKEluZXhhY3QpCi0gICAgICAgICAgICBjb250ZXh0Ll9yYWlzZV9lcnJvcihSb3VuZGVkKQotCi0gICAgICAgICMgY2FsbCB0byBmaXggdGFrZXMgY2FyZSBvZiBhbnkgbmVjZXNzYXJ5IGZvbGRkb3duLCBhbmQKLSAgICAgICAgIyBzaWduYWxzIENsYW1wZWQgaWYgbmVjZXNzYXJ5Ci0gICAgICAgIGFucyA9IGFucy5fZml4KGNvbnRleHQpCi0gICAgICAgIHJldHVybiBhbnMKLQotICAgIGRlZiBzYW1lX3F1YW50dW0oc2VsZiwgb3RoZXIsIGNvbnRleHQ9Tm9uZSk6Ci0gICAgICAgICIiIlJldHVybiBUcnVlIGlmIHNlbGYgYW5kIG90aGVyIGhhdmUgdGhlIHNhbWUgZXhwb25lbnQ7IG90aGVyd2lzZQotICAgICAgICByZXR1cm4gRmFsc2UuCi0KLSAgICAgICAgSWYgZWl0aGVyIG9wZXJhbmQgaXMgYSBzcGVjaWFsIHZhbHVlLCB0aGUgZm9sbG93aW5nIHJ1bGVzIGFyZSB1c2VkOgotICAgICAgICAgICAqIHJldHVybiBUcnVlIGlmIGJvdGggb3BlcmFuZHMgYXJlIGluZmluaXRpZXMKLSAgICAgICAgICAgKiByZXR1cm4gVHJ1ZSBpZiBib3RoIG9wZXJhbmRzIGFyZSBOYU5zCi0gICAgICAgICAgICogb3RoZXJ3aXNlLCByZXR1cm4gRmFsc2UuCi0gICAgICAgICIiIgotICAgICAgICBvdGhlciA9IF9jb252ZXJ0X290aGVyKG90aGVyLCByYWlzZWl0PVRydWUpCi0gICAgICAgIGlmIHNlbGYuX2lzX3NwZWNpYWwgb3Igb3RoZXIuX2lzX3NwZWNpYWw6Ci0gICAgICAgICAgICByZXR1cm4gKHNlbGYuaXNfbmFuKCkgYW5kIG90aGVyLmlzX25hbigpIG9yCi0gICAgICAgICAgICAgICAgICAgIHNlbGYuaXNfaW5maW5pdGUoKSBhbmQgb3RoZXIuaXNfaW5maW5pdGUoKSkKLSAgICAgICAgcmV0dXJuIHNlbGYuX2V4cCA9PSBvdGhlci5fZXhwCi0KLSAgICBkZWYgX3Jlc2NhbGUoc2VsZiwgZXhwLCByb3VuZGluZyk6Ci0gICAgICAgICIiIlJlc2NhbGUgc2VsZiBzbyB0aGF0IHRoZSBleHBvbmVudCBpcyBleHAsIGVpdGhlciBieSBwYWRkaW5nIHdpdGggemVyb3MKLSAgICAgICAgb3IgYnkgdHJ1bmNhdGluZyBkaWdpdHMsIHVzaW5nIHRoZSBnaXZlbiByb3VuZGluZyBtb2RlLgotCi0gICAgICAgIFNwZWNpYWxzIGFyZSByZXR1cm5lZCB3aXRob3V0IGNoYW5nZS4gIFRoaXMgb3BlcmF0aW9uIGlzCi0gICAgICAgIHF1aWV0OiBpdCByYWlzZXMgbm8gZmxhZ3MsIGFuZCB1c2VzIG5vIGluZm9ybWF0aW9uIGZyb20gdGhlCi0gICAgICAgIGNvbnRleHQuCi0KLSAgICAgICAgZXhwID0gZXhwIHRvIHNjYWxlIHRvIChhbiBpbnRlZ2VyKQotICAgICAgICByb3VuZGluZyA9IHJvdW5kaW5nIG1vZGUKLSAgICAgICAgIiIiCi0gICAgICAgIGlmIHNlbGYuX2lzX3NwZWNpYWw6Ci0gICAgICAgICAgICByZXR1cm4gRGVjaW1hbChzZWxmKQotICAgICAgICBpZiBub3Qgc2VsZjoKLSAgICAgICAgICAgIHJldHVybiBfZGVjX2Zyb21fdHJpcGxlKHNlbGYuX3NpZ24sICcwJywgZXhwKQotCi0gICAgICAgIGlmIHNlbGYuX2V4cCA+PSBleHA6Ci0gICAgICAgICAgICAjIHBhZCBhbnN3ZXIgd2l0aCB6ZXJvcyBpZiBuZWNlc3NhcnkKLSAgICAgICAgICAgIHJldHVybiBfZGVjX2Zyb21fdHJpcGxlKHNlbGYuX3NpZ24sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5faW50ICsgJzAnKihzZWxmLl9leHAgLSBleHApLCBleHApCi0KLSAgICAgICAgIyB0b28gbWFueSBkaWdpdHM7IHJvdW5kIGFuZCBsb3NlIGRhdGEuICBJZiBzZWxmLmFkanVzdGVkKCkgPAotICAgICAgICAjIGV4cC0xLCByZXBsYWNlIHNlbGYgYnkgMTAqKihleHAtMSkgYmVmb3JlIHJvdW5kaW5nCi0gICAgICAgIGRpZ2l0cyA9IGxlbihzZWxmLl9pbnQpICsgc2VsZi5fZXhwIC0gZXhwCi0gICAgICAgIGlmIGRpZ2l0cyA8IDA6Ci0gICAgICAgICAgICBzZWxmID0gX2RlY19mcm9tX3RyaXBsZShzZWxmLl9zaWduLCAnMScsIGV4cC0xKQotICAgICAgICAgICAgZGlnaXRzID0gMAotICAgICAgICB0aGlzX2Z1bmN0aW9uID0gc2VsZi5fcGlja19yb3VuZGluZ19mdW5jdGlvbltyb3VuZGluZ10KLSAgICAgICAgY2hhbmdlZCA9IHRoaXNfZnVuY3Rpb24oc2VsZiwgZGlnaXRzKQotICAgICAgICBjb2VmZiA9IHNlbGYuX2ludFs6ZGlnaXRzXSBvciAnMCcKLSAgICAgICAgaWYgY2hhbmdlZCA9PSAxOgotICAgICAgICAgICAgY29lZmYgPSBzdHIoaW50KGNvZWZmKSsxKQotICAgICAgICByZXR1cm4gX2RlY19mcm9tX3RyaXBsZShzZWxmLl9zaWduLCBjb2VmZiwgZXhwKQotCi0gICAgZGVmIF9yb3VuZChzZWxmLCBwbGFjZXMsIHJvdW5kaW5nKToKLSAgICAgICAgIiIiUm91bmQgYSBub256ZXJvLCBub25zcGVjaWFsIERlY2ltYWwgdG8gYSBmaXhlZCBudW1iZXIgb2YKLSAgICAgICAgc2lnbmlmaWNhbnQgZmlndXJlcywgdXNpbmcgdGhlIGdpdmVuIHJvdW5kaW5nIG1vZGUuCi0KLSAgICAgICAgSW5maW5pdGllcywgTmFOcyBhbmQgemVyb3MgYXJlIHJldHVybmVkIHVuYWx0ZXJlZC4KLQotICAgICAgICBUaGlzIG9wZXJhdGlvbiBpcyBxdWlldDogaXQgcmFpc2VzIG5vIGZsYWdzLCBhbmQgdXNlcyBubwotICAgICAgICBpbmZvcm1hdGlvbiBmcm9tIHRoZSBjb250ZXh0LgotCi0gICAgICAgICIiIgotICAgICAgICBpZiBwbGFjZXMgPD0gMDoKLSAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoImFyZ3VtZW50IHNob3VsZCBiZSBhdCBsZWFzdCAxIGluIF9yb3VuZCIpCi0gICAgICAgIGlmIHNlbGYuX2lzX3NwZWNpYWwgb3Igbm90IHNlbGY6Ci0gICAgICAgICAgICByZXR1cm4gRGVjaW1hbChzZWxmKQotICAgICAgICBhbnMgPSBzZWxmLl9yZXNjYWxlKHNlbGYuYWRqdXN0ZWQoKSsxLXBsYWNlcywgcm91bmRpbmcpCi0gICAgICAgICMgaXQgY2FuIGhhcHBlbiB0aGF0IHRoZSByZXNjYWxlIGFsdGVycyB0aGUgYWRqdXN0ZWQgZXhwb25lbnQ7Ci0gICAgICAgICMgZm9yIGV4YW1wbGUgd2hlbiByb3VuZGluZyA5OS45NyB0byAzIHNpZ25pZmljYW50IGZpZ3VyZXMuCi0gICAgICAgICMgV2hlbiB0aGlzIGhhcHBlbnMgd2UgZW5kIHVwIHdpdGggYW4gZXh0cmEgMCBhdCB0aGUgZW5kIG9mCi0gICAgICAgICMgdGhlIG51bWJlcjsgYSBzZWNvbmQgcmVzY2FsZSBmaXhlcyB0aGlzLgotICAgICAgICBpZiBhbnMuYWRqdXN0ZWQoKSAhPSBzZWxmLmFkanVzdGVkKCk6Ci0gICAgICAgICAgICBhbnMgPSBhbnMuX3Jlc2NhbGUoYW5zLmFkanVzdGVkKCkrMS1wbGFjZXMsIHJvdW5kaW5nKQotICAgICAgICByZXR1cm4gYW5zCi0KLSAgICBkZWYgdG9faW50ZWdyYWxfZXhhY3Qoc2VsZiwgcm91bmRpbmc9Tm9uZSwgY29udGV4dD1Ob25lKToKLSAgICAgICAgIiIiUm91bmRzIHRvIGEgbmVhcmJ5IGludGVnZXIuCi0KLSAgICAgICAgSWYgbm8gcm91bmRpbmcgbW9kZSBpcyBzcGVjaWZpZWQsIHRha2UgdGhlIHJvdW5kaW5nIG1vZGUgZnJvbQotICAgICAgICB0aGUgY29udGV4dC4gIFRoaXMgbWV0aG9kIHJhaXNlcyB0aGUgUm91bmRlZCBhbmQgSW5leGFjdCBmbGFncwotICAgICAgICB3aGVuIGFwcHJvcHJpYXRlLgotCi0gICAgICAgIFNlZSBhbHNvOiB0b19pbnRlZ3JhbF92YWx1ZSwgd2hpY2ggZG9lcyBleGFjdGx5IHRoZSBzYW1lIGFzCi0gICAgICAgIHRoaXMgbWV0aG9kIGV4Y2VwdCB0aGF0IGl0IGRvZXNuJ3QgcmFpc2UgSW5leGFjdCBvciBSb3VuZGVkLgotICAgICAgICAiIiIKLSAgICAgICAgaWYgc2VsZi5faXNfc3BlY2lhbDoKLSAgICAgICAgICAgIGFucyA9IHNlbGYuX2NoZWNrX25hbnMoY29udGV4dD1jb250ZXh0KQotICAgICAgICAgICAgaWYgYW5zOgotICAgICAgICAgICAgICAgIHJldHVybiBhbnMKLSAgICAgICAgICAgIHJldHVybiBEZWNpbWFsKHNlbGYpCi0gICAgICAgIGlmIHNlbGYuX2V4cCA+PSAwOgotICAgICAgICAgICAgcmV0dXJuIERlY2ltYWwoc2VsZikKLSAgICAgICAgaWYgbm90IHNlbGY6Ci0gICAgICAgICAgICByZXR1cm4gX2RlY19mcm9tX3RyaXBsZShzZWxmLl9zaWduLCAnMCcsIDApCi0gICAgICAgIGlmIGNvbnRleHQgaXMgTm9uZToKLSAgICAgICAgICAgIGNvbnRleHQgPSBnZXRjb250ZXh0KCkKLSAgICAgICAgaWYgcm91bmRpbmcgaXMgTm9uZToKLSAgICAgICAgICAgIHJvdW5kaW5nID0gY29udGV4dC5yb3VuZGluZwotICAgICAgICBhbnMgPSBzZWxmLl9yZXNjYWxlKDAsIHJvdW5kaW5nKQotICAgICAgICBpZiBhbnMgIT0gc2VsZjoKLSAgICAgICAgICAgIGNvbnRleHQuX3JhaXNlX2Vycm9yKEluZXhhY3QpCi0gICAgICAgIGNvbnRleHQuX3JhaXNlX2Vycm9yKFJvdW5kZWQpCi0gICAgICAgIHJldHVybiBhbnMKLQotICAgIGRlZiB0b19pbnRlZ3JhbF92YWx1ZShzZWxmLCByb3VuZGluZz1Ob25lLCBjb250ZXh0PU5vbmUpOgotICAgICAgICAiIiJSb3VuZHMgdG8gdGhlIG5lYXJlc3QgaW50ZWdlciwgd2l0aG91dCByYWlzaW5nIGluZXhhY3QsIHJvdW5kZWQuIiIiCi0gICAgICAgIGlmIGNvbnRleHQgaXMgTm9uZToKLSAgICAgICAgICAgIGNvbnRleHQgPSBnZXRjb250ZXh0KCkKLSAgICAgICAgaWYgcm91bmRpbmcgaXMgTm9uZToKLSAgICAgICAgICAgIHJvdW5kaW5nID0gY29udGV4dC5yb3VuZGluZwotICAgICAgICBpZiBzZWxmLl9pc19zcGVjaWFsOgotICAgICAgICAgICAgYW5zID0gc2VsZi5fY2hlY2tfbmFucyhjb250ZXh0PWNvbnRleHQpCi0gICAgICAgICAgICBpZiBhbnM6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIGFucwotICAgICAgICAgICAgcmV0dXJuIERlY2ltYWwoc2VsZikKLSAgICAgICAgaWYgc2VsZi5fZXhwID49IDA6Ci0gICAgICAgICAgICByZXR1cm4gRGVjaW1hbChzZWxmKQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgcmV0dXJuIHNlbGYuX3Jlc2NhbGUoMCwgcm91bmRpbmcpCi0KLSAgICAjIHRoZSBtZXRob2QgbmFtZSBjaGFuZ2VkLCBidXQgd2UgcHJvdmlkZSBhbHNvIHRoZSBvbGQgb25lLCBmb3IgY29tcGF0aWJpbGl0eQotICAgIHRvX2ludGVncmFsID0gdG9faW50ZWdyYWxfdmFsdWUKLQotICAgIGRlZiBzcXJ0KHNlbGYsIGNvbnRleHQ9Tm9uZSk6Ci0gICAgICAgICIiIlJldHVybiB0aGUgc3F1YXJlIHJvb3Qgb2Ygc2VsZi4iIiIKLSAgICAgICAgaWYgY29udGV4dCBpcyBOb25lOgotICAgICAgICAgICAgY29udGV4dCA9IGdldGNvbnRleHQoKQotCi0gICAgICAgIGlmIHNlbGYuX2lzX3NwZWNpYWw6Ci0gICAgICAgICAgICBhbnMgPSBzZWxmLl9jaGVja19uYW5zKGNvbnRleHQ9Y29udGV4dCkKLSAgICAgICAgICAgIGlmIGFuczoKLSAgICAgICAgICAgICAgICByZXR1cm4gYW5zCi0KLSAgICAgICAgICAgIGlmIHNlbGYuX2lzaW5maW5pdHkoKSBhbmQgc2VsZi5fc2lnbiA9PSAwOgotICAgICAgICAgICAgICAgIHJldHVybiBEZWNpbWFsKHNlbGYpCi0KLSAgICAgICAgaWYgbm90IHNlbGY6Ci0gICAgICAgICAgICAjIGV4cG9uZW50ID0gc2VsZi5fZXhwIC8vIDIuICBzcXJ0KC0wKSA9IC0wCi0gICAgICAgICAgICBhbnMgPSBfZGVjX2Zyb21fdHJpcGxlKHNlbGYuX3NpZ24sICcwJywgc2VsZi5fZXhwIC8vIDIpCi0gICAgICAgICAgICByZXR1cm4gYW5zLl9maXgoY29udGV4dCkKLQotICAgICAgICBpZiBzZWxmLl9zaWduID09IDE6Ci0gICAgICAgICAgICByZXR1cm4gY29udGV4dC5fcmFpc2VfZXJyb3IoSW52YWxpZE9wZXJhdGlvbiwgJ3NxcnQoLXgpLCB4ID4gMCcpCi0KLSAgICAgICAgIyBBdCB0aGlzIHBvaW50IHNlbGYgcmVwcmVzZW50cyBhIHBvc2l0aXZlIG51bWJlci4gIExldCBwIGJlCi0gICAgICAgICMgdGhlIGRlc2lyZWQgcHJlY2lzaW9uIGFuZCBleHByZXNzIHNlbGYgaW4gdGhlIGZvcm0gYyoxMDAqKmUKLSAgICAgICAgIyB3aXRoIGMgYSBwb3NpdGl2ZSByZWFsIG51bWJlciBhbmQgZSBhbiBpbnRlZ2VyLCBjIGFuZCBlCi0gICAgICAgICMgYmVpbmcgY2hvc2VuIHNvIHRoYXQgMTAwKioocC0xKSA8PSBjIDwgMTAwKipwLiAgVGhlbiB0aGUKLSAgICAgICAgIyAoZXhhY3QpIHNxdWFyZSByb290IG9mIHNlbGYgaXMgc3FydChjKSoxMCoqZSwgYW5kIDEwKioocC0xKQotICAgICAgICAjIDw9IHNxcnQoYykgPCAxMCoqcCwgc28gdGhlIGNsb3Nlc3QgcmVwcmVzZW50YWJsZSBEZWNpbWFsIGF0Ci0gICAgICAgICMgcHJlY2lzaW9uIHAgaXMgbioxMCoqZSB3aGVyZSBuID0gcm91bmRfaGFsZl9ldmVuKHNxcnQoYykpLAotICAgICAgICAjIHRoZSBjbG9zZXN0IGludGVnZXIgdG8gc3FydChjKSB3aXRoIHRoZSBldmVuIGludGVnZXIgY2hvc2VuCi0gICAgICAgICMgaW4gdGhlIGNhc2Ugb2YgYSB0aWUuCi0gICAgICAgICMKLSAgICAgICAgIyBUbyBlbnN1cmUgY29ycmVjdCByb3VuZGluZyBpbiBhbGwgY2FzZXMsIHdlIHVzZSB0aGUKLSAgICAgICAgIyBmb2xsb3dpbmcgdHJpY2s6IHdlIGNvbXB1dGUgdGhlIHNxdWFyZSByb290IHRvIGFuIGV4dHJhCi0gICAgICAgICMgcGxhY2UgKHByZWNpc2lvbiBwKzEgaW5zdGVhZCBvZiBwcmVjaXNpb24gcCksIHJvdW5kaW5nIGRvd24uCi0gICAgICAgICMgVGhlbiwgaWYgdGhlIHJlc3VsdCBpcyBpbmV4YWN0IGFuZCBpdHMgbGFzdCBkaWdpdCBpcyAwIG9yIDUsCi0gICAgICAgICMgd2UgaW5jcmVhc2UgdGhlIGxhc3QgZGlnaXQgdG8gMSBvciA2IHJlc3BlY3RpdmVseTsgaWYgaXQncwotICAgICAgICAjIGV4YWN0IHdlIGxlYXZlIHRoZSBsYXN0IGRpZ2l0IGFsb25lLiAgTm93IHRoZSBmaW5hbCByb3VuZCB0bwotICAgICAgICAjIHAgcGxhY2VzIChvciBmZXdlciBpbiB0aGUgY2FzZSBvZiB1bmRlcmZsb3cpIHdpbGwgcm91bmQKLSAgICAgICAgIyBjb3JyZWN0bHkgYW5kIHJhaXNlIHRoZSBhcHByb3ByaWF0ZSBmbGFncy4KLQotICAgICAgICAjIHVzZSBhbiBleHRyYSBkaWdpdCBvZiBwcmVjaXNpb24KLSAgICAgICAgcHJlYyA9IGNvbnRleHQucHJlYysxCi0KLSAgICAgICAgIyB3cml0ZSBhcmd1bWVudCBpbiB0aGUgZm9ybSBjKjEwMCoqZSB3aGVyZSBlID0gc2VsZi5fZXhwLy8yCi0gICAgICAgICMgaXMgdGhlICdpZGVhbCcgZXhwb25lbnQsIHRvIGJlIHVzZWQgaWYgdGhlIHNxdWFyZSByb290IGlzCi0gICAgICAgICMgZXhhY3RseSByZXByZXNlbnRhYmxlLiAgbCBpcyB0aGUgbnVtYmVyIG9mICdkaWdpdHMnIG9mIGMgaW4KLSAgICAgICAgIyBiYXNlIDEwMCwgc28gdGhhdCAxMDAqKihsLTEpIDw9IGMgPCAxMDAqKmwuCi0gICAgICAgIG9wID0gX1dvcmtSZXAoc2VsZikKLSAgICAgICAgZSA9IG9wLmV4cCA+PiAxCi0gICAgICAgIGlmIG9wLmV4cCAmIDE6Ci0gICAgICAgICAgICBjID0gb3AuaW50ICogMTAKLSAgICAgICAgICAgIGwgPSAobGVuKHNlbGYuX2ludCkgPj4gMSkgKyAxCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBjID0gb3AuaW50Ci0gICAgICAgICAgICBsID0gbGVuKHNlbGYuX2ludCkrMSA+PiAxCi0KLSAgICAgICAgIyByZXNjYWxlIHNvIHRoYXQgYyBoYXMgZXhhY3RseSBwcmVjIGJhc2UgMTAwICdkaWdpdHMnCi0gICAgICAgIHNoaWZ0ID0gcHJlYy1sCi0gICAgICAgIGlmIHNoaWZ0ID49IDA6Ci0gICAgICAgICAgICBjICo9IDEwMCoqc2hpZnQKLSAgICAgICAgICAgIGV4YWN0ID0gVHJ1ZQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgYywgcmVtYWluZGVyID0gZGl2bW9kKGMsIDEwMCoqLXNoaWZ0KQotICAgICAgICAgICAgZXhhY3QgPSBub3QgcmVtYWluZGVyCi0gICAgICAgIGUgLT0gc2hpZnQKLQotICAgICAgICAjIGZpbmQgbiA9IGZsb29yKHNxcnQoYykpIHVzaW5nIE5ld3RvbidzIG1ldGhvZAotICAgICAgICBuID0gMTAqKnByZWMKLSAgICAgICAgd2hpbGUgVHJ1ZToKLSAgICAgICAgICAgIHEgPSBjLy9uCi0gICAgICAgICAgICBpZiBuIDw9IHE6Ci0gICAgICAgICAgICAgICAgYnJlYWsKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgbiA9IG4gKyBxID4+IDEKLSAgICAgICAgZXhhY3QgPSBleGFjdCBhbmQgbipuID09IGMKLQotICAgICAgICBpZiBleGFjdDoKLSAgICAgICAgICAgICMgcmVzdWx0IGlzIGV4YWN0OyByZXNjYWxlIHRvIHVzZSBpZGVhbCBleHBvbmVudCBlCi0gICAgICAgICAgICBpZiBzaGlmdCA+PSAwOgotICAgICAgICAgICAgICAgICMgYXNzZXJ0IG4gJSAxMCoqc2hpZnQgPT0gMAotICAgICAgICAgICAgICAgIG4gLy89IDEwKipzaGlmdAotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICBuICo9IDEwKiotc2hpZnQKLSAgICAgICAgICAgIGUgKz0gc2hpZnQKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgICMgcmVzdWx0IGlzIG5vdCBleGFjdDsgZml4IGxhc3QgZGlnaXQgYXMgZGVzY3JpYmVkIGFib3ZlCi0gICAgICAgICAgICBpZiBuICUgNSA9PSAwOgotICAgICAgICAgICAgICAgIG4gKz0gMQotCi0gICAgICAgIGFucyA9IF9kZWNfZnJvbV90cmlwbGUoMCwgc3RyKG4pLCBlKQotCi0gICAgICAgICMgcm91bmQsIGFuZCBmaXQgdG8gY3VycmVudCBjb250ZXh0Ci0gICAgICAgIGNvbnRleHQgPSBjb250ZXh0Ll9zaGFsbG93X2NvcHkoKQotICAgICAgICByb3VuZGluZyA9IGNvbnRleHQuX3NldF9yb3VuZGluZyhST1VORF9IQUxGX0VWRU4pCi0gICAgICAgIGFucyA9IGFucy5fZml4KGNvbnRleHQpCi0gICAgICAgIGNvbnRleHQucm91bmRpbmcgPSByb3VuZGluZwotCi0gICAgICAgIHJldHVybiBhbnMKLQotICAgIGRlZiBtYXgoc2VsZiwgb3RoZXIsIGNvbnRleHQ9Tm9uZSk6Ci0gICAgICAgICIiIlJldHVybnMgdGhlIGxhcmdlciB2YWx1ZS4KLQotICAgICAgICBMaWtlIG1heChzZWxmLCBvdGhlcikgZXhjZXB0IGlmIG9uZSBpcyBub3QgYSBudW1iZXIsIHJldHVybnMKLSAgICAgICAgTmFOIChhbmQgc2lnbmFscyBpZiBvbmUgaXMgc05hTikuICBBbHNvIHJvdW5kcy4KLSAgICAgICAgIiIiCi0gICAgICAgIG90aGVyID0gX2NvbnZlcnRfb3RoZXIob3RoZXIsIHJhaXNlaXQ9VHJ1ZSkKLQotICAgICAgICBpZiBjb250ZXh0IGlzIE5vbmU6Ci0gICAgICAgICAgICBjb250ZXh0ID0gZ2V0Y29udGV4dCgpCi0KLSAgICAgICAgaWYgc2VsZi5faXNfc3BlY2lhbCBvciBvdGhlci5faXNfc3BlY2lhbDoKLSAgICAgICAgICAgICMgSWYgb25lIG9wZXJhbmQgaXMgYSBxdWlldCBOYU4gYW5kIHRoZSBvdGhlciBpcyBudW1iZXIsIHRoZW4gdGhlCi0gICAgICAgICAgICAjIG51bWJlciBpcyBhbHdheXMgcmV0dXJuZWQKLSAgICAgICAgICAgIHNuID0gc2VsZi5faXNuYW4oKQotICAgICAgICAgICAgb24gPSBvdGhlci5faXNuYW4oKQotICAgICAgICAgICAgaWYgc24gb3Igb246Ci0gICAgICAgICAgICAgICAgaWYgb24gPT0gMSBhbmQgc24gPT0gMDoKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNlbGYuX2ZpeChjb250ZXh0KQotICAgICAgICAgICAgICAgIGlmIHNuID09IDEgYW5kIG9uID09IDA6Ci0gICAgICAgICAgICAgICAgICAgIHJldHVybiBvdGhlci5fZml4KGNvbnRleHQpCi0gICAgICAgICAgICAgICAgcmV0dXJuIHNlbGYuX2NoZWNrX25hbnMob3RoZXIsIGNvbnRleHQpCi0KLSAgICAgICAgYyA9IHNlbGYuX2NtcChvdGhlcikKLSAgICAgICAgaWYgYyA9PSAwOgotICAgICAgICAgICAgIyBJZiBib3RoIG9wZXJhbmRzIGFyZSBmaW5pdGUgYW5kIGVxdWFsIGluIG51bWVyaWNhbCB2YWx1ZQotICAgICAgICAgICAgIyB0aGVuIGFuIG9yZGVyaW5nIGlzIGFwcGxpZWQ6Ci0gICAgICAgICAgICAjCi0gICAgICAgICAgICAjIElmIHRoZSBzaWducyBkaWZmZXIgdGhlbiBtYXggcmV0dXJucyB0aGUgb3BlcmFuZCB3aXRoIHRoZQotICAgICAgICAgICAgIyBwb3NpdGl2ZSBzaWduIGFuZCBtaW4gcmV0dXJucyB0aGUgb3BlcmFuZCB3aXRoIHRoZSBuZWdhdGl2ZSBzaWduCi0gICAgICAgICAgICAjCi0gICAgICAgICAgICAjIElmIHRoZSBzaWducyBhcmUgdGhlIHNhbWUgdGhlbiB0aGUgZXhwb25lbnQgaXMgdXNlZCB0byBzZWxlY3QKLSAgICAgICAgICAgICMgdGhlIHJlc3VsdC4gIFRoaXMgaXMgZXhhY3RseSB0aGUgb3JkZXJpbmcgdXNlZCBpbiBjb21wYXJlX3RvdGFsLgotICAgICAgICAgICAgYyA9IHNlbGYuY29tcGFyZV90b3RhbChvdGhlcikKLQotICAgICAgICBpZiBjID09IC0xOgotICAgICAgICAgICAgYW5zID0gb3RoZXIKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIGFucyA9IHNlbGYKLQotICAgICAgICByZXR1cm4gYW5zLl9maXgoY29udGV4dCkKLQotICAgIGRlZiBtaW4oc2VsZiwgb3RoZXIsIGNvbnRleHQ9Tm9uZSk6Ci0gICAgICAgICIiIlJldHVybnMgdGhlIHNtYWxsZXIgdmFsdWUuCi0KLSAgICAgICAgTGlrZSBtaW4oc2VsZiwgb3RoZXIpIGV4Y2VwdCBpZiBvbmUgaXMgbm90IGEgbnVtYmVyLCByZXR1cm5zCi0gICAgICAgIE5hTiAoYW5kIHNpZ25hbHMgaWYgb25lIGlzIHNOYU4pLiAgQWxzbyByb3VuZHMuCi0gICAgICAgICIiIgotICAgICAgICBvdGhlciA9IF9jb252ZXJ0X290aGVyKG90aGVyLCByYWlzZWl0PVRydWUpCi0KLSAgICAgICAgaWYgY29udGV4dCBpcyBOb25lOgotICAgICAgICAgICAgY29udGV4dCA9IGdldGNvbnRleHQoKQotCi0gICAgICAgIGlmIHNlbGYuX2lzX3NwZWNpYWwgb3Igb3RoZXIuX2lzX3NwZWNpYWw6Ci0gICAgICAgICAgICAjIElmIG9uZSBvcGVyYW5kIGlzIGEgcXVpZXQgTmFOIGFuZCB0aGUgb3RoZXIgaXMgbnVtYmVyLCB0aGVuIHRoZQotICAgICAgICAgICAgIyBudW1iZXIgaXMgYWx3YXlzIHJldHVybmVkCi0gICAgICAgICAgICBzbiA9IHNlbGYuX2lzbmFuKCkKLSAgICAgICAgICAgIG9uID0gb3RoZXIuX2lzbmFuKCkKLSAgICAgICAgICAgIGlmIHNuIG9yIG9uOgotICAgICAgICAgICAgICAgIGlmIG9uID09IDEgYW5kIHNuID09IDA6Ci0gICAgICAgICAgICAgICAgICAgIHJldHVybiBzZWxmLl9maXgoY29udGV4dCkKLSAgICAgICAgICAgICAgICBpZiBzbiA9PSAxIGFuZCBvbiA9PSAwOgotICAgICAgICAgICAgICAgICAgICByZXR1cm4gb3RoZXIuX2ZpeChjb250ZXh0KQotICAgICAgICAgICAgICAgIHJldHVybiBzZWxmLl9jaGVja19uYW5zKG90aGVyLCBjb250ZXh0KQotCi0gICAgICAgIGMgPSBzZWxmLl9jbXAob3RoZXIpCi0gICAgICAgIGlmIGMgPT0gMDoKLSAgICAgICAgICAgIGMgPSBzZWxmLmNvbXBhcmVfdG90YWwob3RoZXIpCi0KLSAgICAgICAgaWYgYyA9PSAtMToKLSAgICAgICAgICAgIGFucyA9IHNlbGYKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIGFucyA9IG90aGVyCi0KLSAgICAgICAgcmV0dXJuIGFucy5fZml4KGNvbnRleHQpCi0KLSAgICBkZWYgX2lzaW50ZWdlcihzZWxmKToKLSAgICAgICAgIiIiUmV0dXJucyB3aGV0aGVyIHNlbGYgaXMgYW4gaW50ZWdlciIiIgotICAgICAgICBpZiBzZWxmLl9pc19zcGVjaWFsOgotICAgICAgICAgICAgcmV0dXJuIEZhbHNlCi0gICAgICAgIGlmIHNlbGYuX2V4cCA+PSAwOgotICAgICAgICAgICAgcmV0dXJuIFRydWUKLSAgICAgICAgcmVzdCA9IHNlbGYuX2ludFtzZWxmLl9leHA6XQotICAgICAgICByZXR1cm4gcmVzdCA9PSAnMCcqbGVuKHJlc3QpCi0KLSAgICBkZWYgX2lzZXZlbihzZWxmKToKLSAgICAgICAgIiIiUmV0dXJucyBUcnVlIGlmIHNlbGYgaXMgZXZlbi4gIEFzc3VtZXMgc2VsZiBpcyBhbiBpbnRlZ2VyLiIiIgotICAgICAgICBpZiBub3Qgc2VsZiBvciBzZWxmLl9leHAgPiAwOgotICAgICAgICAgICAgcmV0dXJuIFRydWUKLSAgICAgICAgcmV0dXJuIHNlbGYuX2ludFstMStzZWxmLl9leHBdIGluICcwMjQ2OCcKLQotICAgIGRlZiBhZGp1c3RlZChzZWxmKToKLSAgICAgICAgIiIiUmV0dXJuIHRoZSBhZGp1c3RlZCBleHBvbmVudCBvZiBzZWxmIiIiCi0gICAgICAgIHRyeToKLSAgICAgICAgICAgIHJldHVybiBzZWxmLl9leHAgKyBsZW4oc2VsZi5faW50KSAtIDEKLSAgICAgICAgIyBJZiBOYU4gb3IgSW5maW5pdHksIHNlbGYuX2V4cCBpcyBzdHJpbmcKLSAgICAgICAgZXhjZXB0IFR5cGVFcnJvcjoKLSAgICAgICAgICAgIHJldHVybiAwCi0KLSAgICBkZWYgY2Fub25pY2FsKHNlbGYpOgotICAgICAgICAiIiJSZXR1cm5zIHRoZSBzYW1lIERlY2ltYWwgb2JqZWN0LgotCi0gICAgICAgIEFzIHdlIGRvIG5vdCBoYXZlIGRpZmZlcmVudCBlbmNvZGluZ3MgZm9yIHRoZSBzYW1lIG51bWJlciwgdGhlCi0gICAgICAgIHJlY2VpdmVkIG9iamVjdCBhbHJlYWR5IGlzIGluIGl0cyBjYW5vbmljYWwgZm9ybS4KLSAgICAgICAgIiIiCi0gICAgICAgIHJldHVybiBzZWxmCi0KLSAgICBkZWYgY29tcGFyZV9zaWduYWwoc2VsZiwgb3RoZXIsIGNvbnRleHQ9Tm9uZSk6Ci0gICAgICAgICIiIkNvbXBhcmVzIHNlbGYgdG8gdGhlIG90aGVyIG9wZXJhbmQgbnVtZXJpY2FsbHkuCi0KLSAgICAgICAgSXQncyBwcmV0dHkgbXVjaCBsaWtlIGNvbXBhcmUoKSwgYnV0IGFsbCBOYU5zIHNpZ25hbCwgd2l0aCBzaWduYWxpbmcKLSAgICAgICAgTmFOcyB0YWtpbmcgcHJlY2VkZW5jZSBvdmVyIHF1aWV0IE5hTnMuCi0gICAgICAgICIiIgotICAgICAgICBvdGhlciA9IF9jb252ZXJ0X290aGVyKG90aGVyLCByYWlzZWl0ID0gVHJ1ZSkKLSAgICAgICAgYW5zID0gc2VsZi5fY29tcGFyZV9jaGVja19uYW5zKG90aGVyLCBjb250ZXh0KQotICAgICAgICBpZiBhbnM6Ci0gICAgICAgICAgICByZXR1cm4gYW5zCi0gICAgICAgIHJldHVybiBzZWxmLmNvbXBhcmUob3RoZXIsIGNvbnRleHQ9Y29udGV4dCkKLQotICAgIGRlZiBjb21wYXJlX3RvdGFsKHNlbGYsIG90aGVyLCBjb250ZXh0PU5vbmUpOgotICAgICAgICAiIiJDb21wYXJlcyBzZWxmIHRvIG90aGVyIHVzaW5nIHRoZSBhYnN0cmFjdCByZXByZXNlbnRhdGlvbnMuCi0KLSAgICAgICAgVGhpcyBpcyBub3QgbGlrZSB0aGUgc3RhbmRhcmQgY29tcGFyZSwgd2hpY2ggdXNlIHRoZWlyIG51bWVyaWNhbAotICAgICAgICB2YWx1ZS4gTm90ZSB0aGF0IGEgdG90YWwgb3JkZXJpbmcgaXMgZGVmaW5lZCBmb3IgYWxsIHBvc3NpYmxlIGFic3RyYWN0Ci0gICAgICAgIHJlcHJlc2VudGF0aW9ucy4KLSAgICAgICAgIiIiCi0gICAgICAgIG90aGVyID0gX2NvbnZlcnRfb3RoZXIob3RoZXIsIHJhaXNlaXQ9VHJ1ZSkKLQotICAgICAgICAjIGlmIG9uZSBpcyBuZWdhdGl2ZSBhbmQgdGhlIG90aGVyIGlzIHBvc2l0aXZlLCBpdCdzIGVhc3kKLSAgICAgICAgaWYgc2VsZi5fc2lnbiBhbmQgbm90IG90aGVyLl9zaWduOgotICAgICAgICAgICAgcmV0dXJuIF9OZWdhdGl2ZU9uZQotICAgICAgICBpZiBub3Qgc2VsZi5fc2lnbiBhbmQgb3RoZXIuX3NpZ246Ci0gICAgICAgICAgICByZXR1cm4gX09uZQotICAgICAgICBzaWduID0gc2VsZi5fc2lnbgotCi0gICAgICAgICMgbGV0J3MgaGFuZGxlIGJvdGggTmFOIHR5cGVzCi0gICAgICAgIHNlbGZfbmFuID0gc2VsZi5faXNuYW4oKQotICAgICAgICBvdGhlcl9uYW4gPSBvdGhlci5faXNuYW4oKQotICAgICAgICBpZiBzZWxmX25hbiBvciBvdGhlcl9uYW46Ci0gICAgICAgICAgICBpZiBzZWxmX25hbiA9PSBvdGhlcl9uYW46Ci0gICAgICAgICAgICAgICAgIyBjb21wYXJlIHBheWxvYWRzIGFzIHRob3VnaCB0aGV5J3JlIGludGVnZXJzCi0gICAgICAgICAgICAgICAgc2VsZl9rZXkgPSBsZW4oc2VsZi5faW50KSwgc2VsZi5faW50Ci0gICAgICAgICAgICAgICAgb3RoZXJfa2V5ID0gbGVuKG90aGVyLl9pbnQpLCBvdGhlci5faW50Ci0gICAgICAgICAgICAgICAgaWYgc2VsZl9rZXkgPCBvdGhlcl9rZXk6Ci0gICAgICAgICAgICAgICAgICAgIGlmIHNpZ246Ci0gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gX09uZQotICAgICAgICAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIF9OZWdhdGl2ZU9uZQotICAgICAgICAgICAgICAgIGlmIHNlbGZfa2V5ID4gb3RoZXJfa2V5OgotICAgICAgICAgICAgICAgICAgICBpZiBzaWduOgotICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIF9OZWdhdGl2ZU9uZQotICAgICAgICAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIF9PbmUKLSAgICAgICAgICAgICAgICByZXR1cm4gX1plcm8KLQotICAgICAgICAgICAgaWYgc2lnbjoKLSAgICAgICAgICAgICAgICBpZiBzZWxmX25hbiA9PSAxOgotICAgICAgICAgICAgICAgICAgICByZXR1cm4gX05lZ2F0aXZlT25lCi0gICAgICAgICAgICAgICAgaWYgb3RoZXJfbmFuID09IDE6Ci0gICAgICAgICAgICAgICAgICAgIHJldHVybiBfT25lCi0gICAgICAgICAgICAgICAgaWYgc2VsZl9uYW4gPT0gMjoKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIF9OZWdhdGl2ZU9uZQotICAgICAgICAgICAgICAgIGlmIG90aGVyX25hbiA9PSAyOgotICAgICAgICAgICAgICAgICAgICByZXR1cm4gX09uZQotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICBpZiBzZWxmX25hbiA9PSAxOgotICAgICAgICAgICAgICAgICAgICByZXR1cm4gX09uZQotICAgICAgICAgICAgICAgIGlmIG90aGVyX25hbiA9PSAxOgotICAgICAgICAgICAgICAgICAgICByZXR1cm4gX05lZ2F0aXZlT25lCi0gICAgICAgICAgICAgICAgaWYgc2VsZl9uYW4gPT0gMjoKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIF9PbmUKLSAgICAgICAgICAgICAgICBpZiBvdGhlcl9uYW4gPT0gMjoKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIF9OZWdhdGl2ZU9uZQotCi0gICAgICAgIGlmIHNlbGYgPCBvdGhlcjoKLSAgICAgICAgICAgIHJldHVybiBfTmVnYXRpdmVPbmUKLSAgICAgICAgaWYgc2VsZiA+IG90aGVyOgotICAgICAgICAgICAgcmV0dXJuIF9PbmUKLQotICAgICAgICBpZiBzZWxmLl9leHAgPCBvdGhlci5fZXhwOgotICAgICAgICAgICAgaWYgc2lnbjoKLSAgICAgICAgICAgICAgICByZXR1cm4gX09uZQotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICByZXR1cm4gX05lZ2F0aXZlT25lCi0gICAgICAgIGlmIHNlbGYuX2V4cCA+IG90aGVyLl9leHA6Ci0gICAgICAgICAgICBpZiBzaWduOgotICAgICAgICAgICAgICAgIHJldHVybiBfTmVnYXRpdmVPbmUKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIF9PbmUKLSAgICAgICAgcmV0dXJuIF9aZXJvCi0KLQotICAgIGRlZiBjb21wYXJlX3RvdGFsX21hZyhzZWxmLCBvdGhlciwgY29udGV4dD1Ob25lKToKLSAgICAgICAgIiIiQ29tcGFyZXMgc2VsZiB0byBvdGhlciB1c2luZyBhYnN0cmFjdCByZXByLiwgaWdub3Jpbmcgc2lnbi4KLQotICAgICAgICBMaWtlIGNvbXBhcmVfdG90YWwsIGJ1dCB3aXRoIG9wZXJhbmQncyBzaWduIGlnbm9yZWQgYW5kIGFzc3VtZWQgdG8gYmUgMC4KLSAgICAgICAgIiIiCi0gICAgICAgIG90aGVyID0gX2NvbnZlcnRfb3RoZXIob3RoZXIsIHJhaXNlaXQ9VHJ1ZSkKLQotICAgICAgICBzID0gc2VsZi5jb3B5X2FicygpCi0gICAgICAgIG8gPSBvdGhlci5jb3B5X2FicygpCi0gICAgICAgIHJldHVybiBzLmNvbXBhcmVfdG90YWwobykKLQotICAgIGRlZiBjb3B5X2FicyhzZWxmKToKLSAgICAgICAgIiIiUmV0dXJucyBhIGNvcHkgd2l0aCB0aGUgc2lnbiBzZXQgdG8gMC4gIiIiCi0gICAgICAgIHJldHVybiBfZGVjX2Zyb21fdHJpcGxlKDAsIHNlbGYuX2ludCwgc2VsZi5fZXhwLCBzZWxmLl9pc19zcGVjaWFsKQotCi0gICAgZGVmIGNvcHlfbmVnYXRlKHNlbGYpOgotICAgICAgICAiIiJSZXR1cm5zIGEgY29weSB3aXRoIHRoZSBzaWduIGludmVydGVkLiIiIgotICAgICAgICBpZiBzZWxmLl9zaWduOgotICAgICAgICAgICAgcmV0dXJuIF9kZWNfZnJvbV90cmlwbGUoMCwgc2VsZi5faW50LCBzZWxmLl9leHAsIHNlbGYuX2lzX3NwZWNpYWwpCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICByZXR1cm4gX2RlY19mcm9tX3RyaXBsZSgxLCBzZWxmLl9pbnQsIHNlbGYuX2V4cCwgc2VsZi5faXNfc3BlY2lhbCkKLQotICAgIGRlZiBjb3B5X3NpZ24oc2VsZiwgb3RoZXIsIGNvbnRleHQ9Tm9uZSk6Ci0gICAgICAgICIiIlJldHVybnMgc2VsZiB3aXRoIHRoZSBzaWduIG9mIG90aGVyLiIiIgotICAgICAgICBvdGhlciA9IF9jb252ZXJ0X290aGVyKG90aGVyLCByYWlzZWl0PVRydWUpCi0gICAgICAgIHJldHVybiBfZGVjX2Zyb21fdHJpcGxlKG90aGVyLl9zaWduLCBzZWxmLl9pbnQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX2V4cCwgc2VsZi5faXNfc3BlY2lhbCkKLQotICAgIGRlZiBleHAoc2VsZiwgY29udGV4dD1Ob25lKToKLSAgICAgICAgIiIiUmV0dXJucyBlICoqIHNlbGYuIiIiCi0KLSAgICAgICAgaWYgY29udGV4dCBpcyBOb25lOgotICAgICAgICAgICAgY29udGV4dCA9IGdldGNvbnRleHQoKQotCi0gICAgICAgICMgZXhwKE5hTikgPSBOYU4KLSAgICAgICAgYW5zID0gc2VsZi5fY2hlY2tfbmFucyhjb250ZXh0PWNvbnRleHQpCi0gICAgICAgIGlmIGFuczoKLSAgICAgICAgICAgIHJldHVybiBhbnMKLQotICAgICAgICAjIGV4cCgtSW5maW5pdHkpID0gMAotICAgICAgICBpZiBzZWxmLl9pc2luZmluaXR5KCkgPT0gLTE6Ci0gICAgICAgICAgICByZXR1cm4gX1plcm8KLQotICAgICAgICAjIGV4cCgwKSA9IDEKLSAgICAgICAgaWYgbm90IHNlbGY6Ci0gICAgICAgICAgICByZXR1cm4gX09uZQotCi0gICAgICAgICMgZXhwKEluZmluaXR5KSA9IEluZmluaXR5Ci0gICAgICAgIGlmIHNlbGYuX2lzaW5maW5pdHkoKSA9PSAxOgotICAgICAgICAgICAgcmV0dXJuIERlY2ltYWwoc2VsZikKLQotICAgICAgICAjIHRoZSByZXN1bHQgaXMgbm93IGd1YXJhbnRlZWQgdG8gYmUgaW5leGFjdCAodGhlIHRydWUKLSAgICAgICAgIyBtYXRoZW1hdGljYWwgcmVzdWx0IGlzIHRyYW5zY2VuZGVudGFsKS4gVGhlcmUncyBubyBuZWVkIHRvCi0gICAgICAgICMgcmFpc2UgUm91bmRlZCBhbmQgSW5leGFjdCBoZXJlLS0tdGhleSdsbCBhbHdheXMgYmUgcmFpc2VkIGFzCi0gICAgICAgICMgYSByZXN1bHQgb2YgdGhlIGNhbGwgdG8gX2ZpeC4KLSAgICAgICAgcCA9IGNvbnRleHQucHJlYwotICAgICAgICBhZGogPSBzZWxmLmFkanVzdGVkKCkKLQotICAgICAgICAjIHdlIG9ubHkgbmVlZCB0byBkbyBhbnkgY29tcHV0YXRpb24gZm9yIHF1aXRlIGEgc21hbGwgcmFuZ2UKLSAgICAgICAgIyBvZiBhZGp1c3RlZCBleHBvbmVudHMtLS1mb3IgZXhhbXBsZSwgLTI5IDw9IGFkaiA8PSAxMCBmb3IKLSAgICAgICAgIyB0aGUgZGVmYXVsdCBjb250ZXh0LiAgRm9yIHNtYWxsZXIgZXhwb25lbnQgdGhlIHJlc3VsdCBpcwotICAgICAgICAjIGluZGlzdGluZ3Vpc2hhYmxlIGZyb20gMSBhdCB0aGUgZ2l2ZW4gcHJlY2lzaW9uLCB3aGlsZSBmb3IKLSAgICAgICAgIyBsYXJnZXIgZXhwb25lbnQgdGhlIHJlc3VsdCBlaXRoZXIgb3ZlcmZsb3dzIG9yIHVuZGVyZmxvd3MuCi0gICAgICAgIGlmIHNlbGYuX3NpZ24gPT0gMCBhbmQgYWRqID4gbGVuKHN0cigoY29udGV4dC5FbWF4KzEpKjMpKToKLSAgICAgICAgICAgICMgb3ZlcmZsb3cKLSAgICAgICAgICAgIGFucyA9IF9kZWNfZnJvbV90cmlwbGUoMCwgJzEnLCBjb250ZXh0LkVtYXgrMSkKLSAgICAgICAgZWxpZiBzZWxmLl9zaWduID09IDEgYW5kIGFkaiA+IGxlbihzdHIoKC1jb250ZXh0LkV0aW55KCkrMSkqMykpOgotICAgICAgICAgICAgIyB1bmRlcmZsb3cgdG8gMAotICAgICAgICAgICAgYW5zID0gX2RlY19mcm9tX3RyaXBsZSgwLCAnMScsIGNvbnRleHQuRXRpbnkoKS0xKQotICAgICAgICBlbGlmIHNlbGYuX3NpZ24gPT0gMCBhbmQgYWRqIDwgLXA6Ci0gICAgICAgICAgICAjIHArMSBkaWdpdHM7IGZpbmFsIHJvdW5kIHdpbGwgcmFpc2UgY29ycmVjdCBmbGFncwotICAgICAgICAgICAgYW5zID0gX2RlY19mcm9tX3RyaXBsZSgwLCAnMScgKyAnMCcqKHAtMSkgKyAnMScsIC1wKQotICAgICAgICBlbGlmIHNlbGYuX3NpZ24gPT0gMSBhbmQgYWRqIDwgLXAtMToKLSAgICAgICAgICAgICMgcCsxIGRpZ2l0czsgZmluYWwgcm91bmQgd2lsbCByYWlzZSBjb3JyZWN0IGZsYWdzCi0gICAgICAgICAgICBhbnMgPSBfZGVjX2Zyb21fdHJpcGxlKDAsICc5JyoocCsxKSwgLXAtMSkKLSAgICAgICAgIyBnZW5lcmFsIGNhc2UKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIG9wID0gX1dvcmtSZXAoc2VsZikKLSAgICAgICAgICAgIGMsIGUgPSBvcC5pbnQsIG9wLmV4cAotICAgICAgICAgICAgaWYgb3Auc2lnbiA9PSAxOgotICAgICAgICAgICAgICAgIGMgPSAtYwotCi0gICAgICAgICAgICAjIGNvbXB1dGUgY29ycmVjdGx5IHJvdW5kZWQgcmVzdWx0OiBpbmNyZWFzZSBwcmVjaXNpb24gYnkKLSAgICAgICAgICAgICMgMyBkaWdpdHMgYXQgYSB0aW1lIHVudGlsIHdlIGdldCBhbiB1bmFtYmlndW91c2x5Ci0gICAgICAgICAgICAjIHJvdW5kYWJsZSByZXN1bHQKLSAgICAgICAgICAgIGV4dHJhID0gMwotICAgICAgICAgICAgd2hpbGUgVHJ1ZToKLSAgICAgICAgICAgICAgICBjb2VmZiwgZXhwID0gX2RleHAoYywgZSwgcCtleHRyYSkKLSAgICAgICAgICAgICAgICBpZiBjb2VmZiAlICg1KjEwKioobGVuKHN0cihjb2VmZikpLXAtMSkpOgotICAgICAgICAgICAgICAgICAgICBicmVhawotICAgICAgICAgICAgICAgIGV4dHJhICs9IDMKLQotICAgICAgICAgICAgYW5zID0gX2RlY19mcm9tX3RyaXBsZSgwLCBzdHIoY29lZmYpLCBleHApCi0KLSAgICAgICAgIyBhdCB0aGlzIHN0YWdlLCBhbnMgc2hvdWxkIHJvdW5kIGNvcnJlY3RseSB3aXRoICphbnkqCi0gICAgICAgICMgcm91bmRpbmcgbW9kZSwgbm90IGp1c3Qgd2l0aCBST1VORF9IQUxGX0VWRU4KLSAgICAgICAgY29udGV4dCA9IGNvbnRleHQuX3NoYWxsb3dfY29weSgpCi0gICAgICAgIHJvdW5kaW5nID0gY29udGV4dC5fc2V0X3JvdW5kaW5nKFJPVU5EX0hBTEZfRVZFTikKLSAgICAgICAgYW5zID0gYW5zLl9maXgoY29udGV4dCkKLSAgICAgICAgY29udGV4dC5yb3VuZGluZyA9IHJvdW5kaW5nCi0KLSAgICAgICAgcmV0dXJuIGFucwotCi0gICAgZGVmIGlzX2Nhbm9uaWNhbChzZWxmKToKLSAgICAgICAgIiIiUmV0dXJuIFRydWUgaWYgc2VsZiBpcyBjYW5vbmljYWw7IG90aGVyd2lzZSByZXR1cm4gRmFsc2UuCi0KLSAgICAgICAgQ3VycmVudGx5LCB0aGUgZW5jb2Rpbmcgb2YgYSBEZWNpbWFsIGluc3RhbmNlIGlzIGFsd2F5cwotICAgICAgICBjYW5vbmljYWwsIHNvIHRoaXMgbWV0aG9kIHJldHVybnMgVHJ1ZSBmb3IgYW55IERlY2ltYWwuCi0gICAgICAgICIiIgotICAgICAgICByZXR1cm4gVHJ1ZQotCi0gICAgZGVmIGlzX2Zpbml0ZShzZWxmKToKLSAgICAgICAgIiIiUmV0dXJuIFRydWUgaWYgc2VsZiBpcyBmaW5pdGU7IG90aGVyd2lzZSByZXR1cm4gRmFsc2UuCi0KLSAgICAgICAgQSBEZWNpbWFsIGluc3RhbmNlIGlzIGNvbnNpZGVyZWQgZmluaXRlIGlmIGl0IGlzIG5laXRoZXIKLSAgICAgICAgaW5maW5pdGUgbm9yIGEgTmFOLgotICAgICAgICAiIiIKLSAgICAgICAgcmV0dXJuIG5vdCBzZWxmLl9pc19zcGVjaWFsCi0KLSAgICBkZWYgaXNfaW5maW5pdGUoc2VsZik6Ci0gICAgICAgICIiIlJldHVybiBUcnVlIGlmIHNlbGYgaXMgaW5maW5pdGU7IG90aGVyd2lzZSByZXR1cm4gRmFsc2UuIiIiCi0gICAgICAgIHJldHVybiBzZWxmLl9leHAgPT0gJ0YnCi0KLSAgICBkZWYgaXNfbmFuKHNlbGYpOgotICAgICAgICAiIiJSZXR1cm4gVHJ1ZSBpZiBzZWxmIGlzIGEgcU5hTiBvciBzTmFOOyBvdGhlcndpc2UgcmV0dXJuIEZhbHNlLiIiIgotICAgICAgICByZXR1cm4gc2VsZi5fZXhwIGluICgnbicsICdOJykKLQotICAgIGRlZiBpc19ub3JtYWwoc2VsZiwgY29udGV4dD1Ob25lKToKLSAgICAgICAgIiIiUmV0dXJuIFRydWUgaWYgc2VsZiBpcyBhIG5vcm1hbCBudW1iZXI7IG90aGVyd2lzZSByZXR1cm4gRmFsc2UuIiIiCi0gICAgICAgIGlmIHNlbGYuX2lzX3NwZWNpYWwgb3Igbm90IHNlbGY6Ci0gICAgICAgICAgICByZXR1cm4gRmFsc2UKLSAgICAgICAgaWYgY29udGV4dCBpcyBOb25lOgotICAgICAgICAgICAgY29udGV4dCA9IGdldGNvbnRleHQoKQotICAgICAgICByZXR1cm4gY29udGV4dC5FbWluIDw9IHNlbGYuYWRqdXN0ZWQoKQotCi0gICAgZGVmIGlzX3FuYW4oc2VsZik6Ci0gICAgICAgICIiIlJldHVybiBUcnVlIGlmIHNlbGYgaXMgYSBxdWlldCBOYU47IG90aGVyd2lzZSByZXR1cm4gRmFsc2UuIiIiCi0gICAgICAgIHJldHVybiBzZWxmLl9leHAgPT0gJ24nCi0KLSAgICBkZWYgaXNfc2lnbmVkKHNlbGYpOgotICAgICAgICAiIiJSZXR1cm4gVHJ1ZSBpZiBzZWxmIGlzIG5lZ2F0aXZlOyBvdGhlcndpc2UgcmV0dXJuIEZhbHNlLiIiIgotICAgICAgICByZXR1cm4gc2VsZi5fc2lnbiA9PSAxCi0KLSAgICBkZWYgaXNfc25hbihzZWxmKToKLSAgICAgICAgIiIiUmV0dXJuIFRydWUgaWYgc2VsZiBpcyBhIHNpZ25hbGluZyBOYU47IG90aGVyd2lzZSByZXR1cm4gRmFsc2UuIiIiCi0gICAgICAgIHJldHVybiBzZWxmLl9leHAgPT0gJ04nCi0KLSAgICBkZWYgaXNfc3Vibm9ybWFsKHNlbGYsIGNvbnRleHQ9Tm9uZSk6Ci0gICAgICAgICIiIlJldHVybiBUcnVlIGlmIHNlbGYgaXMgc3Vibm9ybWFsOyBvdGhlcndpc2UgcmV0dXJuIEZhbHNlLiIiIgotICAgICAgICBpZiBzZWxmLl9pc19zcGVjaWFsIG9yIG5vdCBzZWxmOgotICAgICAgICAgICAgcmV0dXJuIEZhbHNlCi0gICAgICAgIGlmIGNvbnRleHQgaXMgTm9uZToKLSAgICAgICAgICAgIGNvbnRleHQgPSBnZXRjb250ZXh0KCkKLSAgICAgICAgcmV0dXJuIHNlbGYuYWRqdXN0ZWQoKSA8IGNvbnRleHQuRW1pbgotCi0gICAgZGVmIGlzX3plcm8oc2VsZik6Ci0gICAgICAgICIiIlJldHVybiBUcnVlIGlmIHNlbGYgaXMgYSB6ZXJvOyBvdGhlcndpc2UgcmV0dXJuIEZhbHNlLiIiIgotICAgICAgICByZXR1cm4gbm90IHNlbGYuX2lzX3NwZWNpYWwgYW5kIHNlbGYuX2ludCA9PSAnMCcKLQotICAgIGRlZiBfbG5fZXhwX2JvdW5kKHNlbGYpOgotICAgICAgICAiIiJDb21wdXRlIGEgbG93ZXIgYm91bmQgZm9yIHRoZSBhZGp1c3RlZCBleHBvbmVudCBvZiBzZWxmLmxuKCkuCi0gICAgICAgIEluIG90aGVyIHdvcmRzLCBjb21wdXRlIHIgc3VjaCB0aGF0IHNlbGYubG4oKSA+PSAxMCoqci4gIEFzc3VtZXMKLSAgICAgICAgdGhhdCBzZWxmIGlzIGZpbml0ZSBhbmQgcG9zaXRpdmUgYW5kIHRoYXQgc2VsZiAhPSAxLgotICAgICAgICAiIiIKLQotICAgICAgICAjIGZvciAwLjEgPD0geCA8PSAxMCB3ZSB1c2UgdGhlIGluZXF1YWxpdGllcyAxLTEveCA8PSBsbih4KSA8PSB4LTEKLSAgICAgICAgYWRqID0gc2VsZi5fZXhwICsgbGVuKHNlbGYuX2ludCkgLSAxCi0gICAgICAgIGlmIGFkaiA+PSAxOgotICAgICAgICAgICAgIyBhcmd1bWVudCA+PSAxMDsgd2UgdXNlIDIzLzEwID0gMi4zIGFzIGEgbG93ZXIgYm91bmQgZm9yIGxuKDEwKQotICAgICAgICAgICAgcmV0dXJuIGxlbihzdHIoYWRqKjIzLy8xMCkpIC0gMQotICAgICAgICBpZiBhZGogPD0gLTI6Ci0gICAgICAgICAgICAjIGFyZ3VtZW50IDw9IDAuMQotICAgICAgICAgICAgcmV0dXJuIGxlbihzdHIoKC0xLWFkaikqMjMvLzEwKSkgLSAxCi0gICAgICAgIG9wID0gX1dvcmtSZXAoc2VsZikKLSAgICAgICAgYywgZSA9IG9wLmludCwgb3AuZXhwCi0gICAgICAgIGlmIGFkaiA9PSAwOgotICAgICAgICAgICAgIyAxIDwgc2VsZiA8IDEwCi0gICAgICAgICAgICBudW0gPSBzdHIoYy0xMCoqLWUpCi0gICAgICAgICAgICBkZW4gPSBzdHIoYykKLSAgICAgICAgICAgIHJldHVybiBsZW4obnVtKSAtIGxlbihkZW4pIC0gKG51bSA8IGRlbikKLSAgICAgICAgIyBhZGogPT0gLTEsIDAuMSA8PSBzZWxmIDwgMQotICAgICAgICByZXR1cm4gZSArIGxlbihzdHIoMTAqKi1lIC0gYykpIC0gMQotCi0KLSAgICBkZWYgbG4oc2VsZiwgY29udGV4dD1Ob25lKToKLSAgICAgICAgIiIiUmV0dXJucyB0aGUgbmF0dXJhbCAoYmFzZSBlKSBsb2dhcml0aG0gb2Ygc2VsZi4iIiIKLQotICAgICAgICBpZiBjb250ZXh0IGlzIE5vbmU6Ci0gICAgICAgICAgICBjb250ZXh0ID0gZ2V0Y29udGV4dCgpCi0KLSAgICAgICAgIyBsbihOYU4pID0gTmFOCi0gICAgICAgIGFucyA9IHNlbGYuX2NoZWNrX25hbnMoY29udGV4dD1jb250ZXh0KQotICAgICAgICBpZiBhbnM6Ci0gICAgICAgICAgICByZXR1cm4gYW5zCi0KLSAgICAgICAgIyBsbigwLjApID09IC1JbmZpbml0eQotICAgICAgICBpZiBub3Qgc2VsZjoKLSAgICAgICAgICAgIHJldHVybiBfTmVnYXRpdmVJbmZpbml0eQotCi0gICAgICAgICMgbG4oSW5maW5pdHkpID0gSW5maW5pdHkKLSAgICAgICAgaWYgc2VsZi5faXNpbmZpbml0eSgpID09IDE6Ci0gICAgICAgICAgICByZXR1cm4gX0luZmluaXR5Ci0KLSAgICAgICAgIyBsbigxLjApID09IDAuMAotICAgICAgICBpZiBzZWxmID09IF9PbmU6Ci0gICAgICAgICAgICByZXR1cm4gX1plcm8KLQotICAgICAgICAjIGxuKG5lZ2F0aXZlKSByYWlzZXMgSW52YWxpZE9wZXJhdGlvbgotICAgICAgICBpZiBzZWxmLl9zaWduID09IDE6Ci0gICAgICAgICAgICByZXR1cm4gY29udGV4dC5fcmFpc2VfZXJyb3IoSW52YWxpZE9wZXJhdGlvbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbG4gb2YgYSBuZWdhdGl2ZSB2YWx1ZScpCi0KLSAgICAgICAgIyByZXN1bHQgaXMgaXJyYXRpb25hbCwgc28gbmVjZXNzYXJpbHkgaW5leGFjdAotICAgICAgICBvcCA9IF9Xb3JrUmVwKHNlbGYpCi0gICAgICAgIGMsIGUgPSBvcC5pbnQsIG9wLmV4cAotICAgICAgICBwID0gY29udGV4dC5wcmVjCi0KLSAgICAgICAgIyBjb3JyZWN0bHkgcm91bmRlZCByZXN1bHQ6IHJlcGVhdGVkbHkgaW5jcmVhc2UgcHJlY2lzaW9uIGJ5IDMKLSAgICAgICAgIyB1bnRpbCB3ZSBnZXQgYW4gdW5hbWJpZ3VvdXNseSByb3VuZGFibGUgcmVzdWx0Ci0gICAgICAgIHBsYWNlcyA9IHAgLSBzZWxmLl9sbl9leHBfYm91bmQoKSArIDIgIyBhdCBsZWFzdCBwKzMgcGxhY2VzCi0gICAgICAgIHdoaWxlIFRydWU6Ci0gICAgICAgICAgICBjb2VmZiA9IF9kbG9nKGMsIGUsIHBsYWNlcykKLSAgICAgICAgICAgICMgYXNzZXJ0IGxlbihzdHIoYWJzKGNvZWZmKSkpLXAgPj0gMQotICAgICAgICAgICAgaWYgY29lZmYgJSAoNSoxMCoqKGxlbihzdHIoYWJzKGNvZWZmKSkpLXAtMSkpOgotICAgICAgICAgICAgICAgIGJyZWFrCi0gICAgICAgICAgICBwbGFjZXMgKz0gMwotICAgICAgICBhbnMgPSBfZGVjX2Zyb21fdHJpcGxlKGludChjb2VmZjwwKSwgc3RyKGFicyhjb2VmZikpLCAtcGxhY2VzKQotCi0gICAgICAgIGNvbnRleHQgPSBjb250ZXh0Ll9zaGFsbG93X2NvcHkoKQotICAgICAgICByb3VuZGluZyA9IGNvbnRleHQuX3NldF9yb3VuZGluZyhST1VORF9IQUxGX0VWRU4pCi0gICAgICAgIGFucyA9IGFucy5fZml4KGNvbnRleHQpCi0gICAgICAgIGNvbnRleHQucm91bmRpbmcgPSByb3VuZGluZwotICAgICAgICByZXR1cm4gYW5zCi0KLSAgICBkZWYgX2xvZzEwX2V4cF9ib3VuZChzZWxmKToKLSAgICAgICAgIiIiQ29tcHV0ZSBhIGxvd2VyIGJvdW5kIGZvciB0aGUgYWRqdXN0ZWQgZXhwb25lbnQgb2Ygc2VsZi5sb2cxMCgpLgotICAgICAgICBJbiBvdGhlciB3b3JkcywgZmluZCByIHN1Y2ggdGhhdCBzZWxmLmxvZzEwKCkgPj0gMTAqKnIuCi0gICAgICAgIEFzc3VtZXMgdGhhdCBzZWxmIGlzIGZpbml0ZSBhbmQgcG9zaXRpdmUgYW5kIHRoYXQgc2VsZiAhPSAxLgotICAgICAgICAiIiIKLQotICAgICAgICAjIEZvciB4ID49IDEwIG9yIHggPCAwLjEgd2Ugb25seSBuZWVkIGEgYm91bmQgb24gdGhlIGludGVnZXIKLSAgICAgICAgIyBwYXJ0IG9mIGxvZzEwKHNlbGYpLCBhbmQgdGhpcyBjb21lcyBkaXJlY3RseSBmcm9tIHRoZQotICAgICAgICAjIGV4cG9uZW50IG9mIHguICBGb3IgMC4xIDw9IHggPD0gMTAgd2UgdXNlIHRoZSBpbmVxdWFsaXRpZXMKLSAgICAgICAgIyAxLTEveCA8PSBsb2coeCkgPD0geC0xLiBJZiB4ID4gMSB3ZSBoYXZlIHxsb2cxMCh4KXwgPgotICAgICAgICAjICgxLTEveCkvMi4zMSA+IDAuICBJZiB4IDwgMSB0aGVuIHxsb2cxMCh4KXwgPiAoMS14KS8yLjMxID4gMAotCi0gICAgICAgIGFkaiA9IHNlbGYuX2V4cCArIGxlbihzZWxmLl9pbnQpIC0gMQotICAgICAgICBpZiBhZGogPj0gMToKLSAgICAgICAgICAgICMgc2VsZiA+PSAxMAotICAgICAgICAgICAgcmV0dXJuIGxlbihzdHIoYWRqKSktMQotICAgICAgICBpZiBhZGogPD0gLTI6Ci0gICAgICAgICAgICAjIHNlbGYgPCAwLjEKLSAgICAgICAgICAgIHJldHVybiBsZW4oc3RyKC0xLWFkaikpLTEKLSAgICAgICAgb3AgPSBfV29ya1JlcChzZWxmKQotICAgICAgICBjLCBlID0gb3AuaW50LCBvcC5leHAKLSAgICAgICAgaWYgYWRqID09IDA6Ci0gICAgICAgICAgICAjIDEgPCBzZWxmIDwgMTAKLSAgICAgICAgICAgIG51bSA9IHN0cihjLTEwKiotZSkKLSAgICAgICAgICAgIGRlbiA9IHN0cigyMzEqYykKLSAgICAgICAgICAgIHJldHVybiBsZW4obnVtKSAtIGxlbihkZW4pIC0gKG51bSA8IGRlbikgKyAyCi0gICAgICAgICMgYWRqID09IC0xLCAwLjEgPD0gc2VsZiA8IDEKLSAgICAgICAgbnVtID0gc3RyKDEwKiotZS1jKQotICAgICAgICByZXR1cm4gbGVuKG51bSkgKyBlIC0gKG51bSA8ICIyMzEiKSAtIDEKLQotICAgIGRlZiBsb2cxMChzZWxmLCBjb250ZXh0PU5vbmUpOgotICAgICAgICAiIiJSZXR1cm5zIHRoZSBiYXNlIDEwIGxvZ2FyaXRobSBvZiBzZWxmLiIiIgotCi0gICAgICAgIGlmIGNvbnRleHQgaXMgTm9uZToKLSAgICAgICAgICAgIGNvbnRleHQgPSBnZXRjb250ZXh0KCkKLQotICAgICAgICAjIGxvZzEwKE5hTikgPSBOYU4KLSAgICAgICAgYW5zID0gc2VsZi5fY2hlY2tfbmFucyhjb250ZXh0PWNvbnRleHQpCi0gICAgICAgIGlmIGFuczoKLSAgICAgICAgICAgIHJldHVybiBhbnMKLQotICAgICAgICAjIGxvZzEwKDAuMCkgPT0gLUluZmluaXR5Ci0gICAgICAgIGlmIG5vdCBzZWxmOgotICAgICAgICAgICAgcmV0dXJuIF9OZWdhdGl2ZUluZmluaXR5Ci0KLSAgICAgICAgIyBsb2cxMChJbmZpbml0eSkgPSBJbmZpbml0eQotICAgICAgICBpZiBzZWxmLl9pc2luZmluaXR5KCkgPT0gMToKLSAgICAgICAgICAgIHJldHVybiBfSW5maW5pdHkKLQotICAgICAgICAjIGxvZzEwKG5lZ2F0aXZlIG9yIC1JbmZpbml0eSkgcmFpc2VzIEludmFsaWRPcGVyYXRpb24KLSAgICAgICAgaWYgc2VsZi5fc2lnbiA9PSAxOgotICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuX3JhaXNlX2Vycm9yKEludmFsaWRPcGVyYXRpb24sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2xvZzEwIG9mIGEgbmVnYXRpdmUgdmFsdWUnKQotCi0gICAgICAgICMgbG9nMTAoMTAqKm4pID0gbgotICAgICAgICBpZiBzZWxmLl9pbnRbMF0gPT0gJzEnIGFuZCBzZWxmLl9pbnRbMTpdID09ICcwJyoobGVuKHNlbGYuX2ludCkgLSAxKToKLSAgICAgICAgICAgICMgYW5zd2VyIG1heSBuZWVkIHJvdW5kaW5nCi0gICAgICAgICAgICBhbnMgPSBEZWNpbWFsKHNlbGYuX2V4cCArIGxlbihzZWxmLl9pbnQpIC0gMSkKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgICMgcmVzdWx0IGlzIGlycmF0aW9uYWwsIHNvIG5lY2Vzc2FyaWx5IGluZXhhY3QKLSAgICAgICAgICAgIG9wID0gX1dvcmtSZXAoc2VsZikKLSAgICAgICAgICAgIGMsIGUgPSBvcC5pbnQsIG9wLmV4cAotICAgICAgICAgICAgcCA9IGNvbnRleHQucHJlYwotCi0gICAgICAgICAgICAjIGNvcnJlY3RseSByb3VuZGVkIHJlc3VsdDogcmVwZWF0ZWRseSBpbmNyZWFzZSBwcmVjaXNpb24KLSAgICAgICAgICAgICMgdW50aWwgcmVzdWx0IGlzIHVuYW1iaWd1b3VzbHkgcm91bmRhYmxlCi0gICAgICAgICAgICBwbGFjZXMgPSBwLXNlbGYuX2xvZzEwX2V4cF9ib3VuZCgpKzIKLSAgICAgICAgICAgIHdoaWxlIFRydWU6Ci0gICAgICAgICAgICAgICAgY29lZmYgPSBfZGxvZzEwKGMsIGUsIHBsYWNlcykKLSAgICAgICAgICAgICAgICAjIGFzc2VydCBsZW4oc3RyKGFicyhjb2VmZikpKS1wID49IDEKLSAgICAgICAgICAgICAgICBpZiBjb2VmZiAlICg1KjEwKioobGVuKHN0cihhYnMoY29lZmYpKSktcC0xKSk6Ci0gICAgICAgICAgICAgICAgICAgIGJyZWFrCi0gICAgICAgICAgICAgICAgcGxhY2VzICs9IDMKLSAgICAgICAgICAgIGFucyA9IF9kZWNfZnJvbV90cmlwbGUoaW50KGNvZWZmPDApLCBzdHIoYWJzKGNvZWZmKSksIC1wbGFjZXMpCi0KLSAgICAgICAgY29udGV4dCA9IGNvbnRleHQuX3NoYWxsb3dfY29weSgpCi0gICAgICAgIHJvdW5kaW5nID0gY29udGV4dC5fc2V0X3JvdW5kaW5nKFJPVU5EX0hBTEZfRVZFTikKLSAgICAgICAgYW5zID0gYW5zLl9maXgoY29udGV4dCkKLSAgICAgICAgY29udGV4dC5yb3VuZGluZyA9IHJvdW5kaW5nCi0gICAgICAgIHJldHVybiBhbnMKLQotICAgIGRlZiBsb2diKHNlbGYsIGNvbnRleHQ9Tm9uZSk6Ci0gICAgICAgICIiIiBSZXR1cm5zIHRoZSBleHBvbmVudCBvZiB0aGUgbWFnbml0dWRlIG9mIHNlbGYncyBNU0QuCi0KLSAgICAgICAgVGhlIHJlc3VsdCBpcyB0aGUgaW50ZWdlciB3aGljaCBpcyB0aGUgZXhwb25lbnQgb2YgdGhlIG1hZ25pdHVkZQotICAgICAgICBvZiB0aGUgbW9zdCBzaWduaWZpY2FudCBkaWdpdCBvZiBzZWxmIChhcyB0aG91Z2ggaXQgd2VyZSB0cnVuY2F0ZWQKLSAgICAgICAgdG8gYSBzaW5nbGUgZGlnaXQgd2hpbGUgbWFpbnRhaW5pbmcgdGhlIHZhbHVlIG9mIHRoYXQgZGlnaXQgYW5kCi0gICAgICAgIHdpdGhvdXQgbGltaXRpbmcgdGhlIHJlc3VsdGluZyBleHBvbmVudCkuCi0gICAgICAgICIiIgotICAgICAgICAjIGxvZ2IoTmFOKSA9IE5hTgotICAgICAgICBhbnMgPSBzZWxmLl9jaGVja19uYW5zKGNvbnRleHQ9Y29udGV4dCkKLSAgICAgICAgaWYgYW5zOgotICAgICAgICAgICAgcmV0dXJuIGFucwotCi0gICAgICAgIGlmIGNvbnRleHQgaXMgTm9uZToKLSAgICAgICAgICAgIGNvbnRleHQgPSBnZXRjb250ZXh0KCkKLQotICAgICAgICAjIGxvZ2IoKy8tSW5mKSA9ICtJbmYKLSAgICAgICAgaWYgc2VsZi5faXNpbmZpbml0eSgpOgotICAgICAgICAgICAgcmV0dXJuIF9JbmZpbml0eQotCi0gICAgICAgICMgbG9nYigwKSA9IC1JbmYsIERpdmlzaW9uQnlaZXJvCi0gICAgICAgIGlmIG5vdCBzZWxmOgotICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuX3JhaXNlX2Vycm9yKERpdmlzaW9uQnlaZXJvLCAnbG9nYigwKScsIDEpCi0KLSAgICAgICAgIyBvdGhlcndpc2UsIHNpbXBseSByZXR1cm4gdGhlIGFkanVzdGVkIGV4cG9uZW50IG9mIHNlbGYsIGFzIGEKLSAgICAgICAgIyBEZWNpbWFsLiAgTm90ZSB0aGF0IG5vIGF0dGVtcHQgaXMgbWFkZSB0byBmaXQgdGhlIHJlc3VsdAotICAgICAgICAjIGludG8gdGhlIGN1cnJlbnQgY29udGV4dC4KLSAgICAgICAgYW5zID0gRGVjaW1hbChzZWxmLmFkanVzdGVkKCkpCi0gICAgICAgIHJldHVybiBhbnMuX2ZpeChjb250ZXh0KQotCi0gICAgZGVmIF9pc2xvZ2ljYWwoc2VsZik6Ci0gICAgICAgICIiIlJldHVybiBUcnVlIGlmIHNlbGYgaXMgYSBsb2dpY2FsIG9wZXJhbmQuCi0KLSAgICAgICAgRm9yIGJlaW5nIGxvZ2ljYWwsIGl0IG11c3QgYmUgYSBmaW5pdGUgbnVtYmVyIHdpdGggYSBzaWduIG9mIDAsCi0gICAgICAgIGFuIGV4cG9uZW50IG9mIDAsIGFuZCBhIGNvZWZmaWNpZW50IHdob3NlIGRpZ2l0cyBtdXN0IGFsbCBiZQotICAgICAgICBlaXRoZXIgMCBvciAxLgotICAgICAgICAiIiIKLSAgICAgICAgaWYgc2VsZi5fc2lnbiAhPSAwIG9yIHNlbGYuX2V4cCAhPSAwOgotICAgICAgICAgICAgcmV0dXJuIEZhbHNlCi0gICAgICAgIGZvciBkaWcgaW4gc2VsZi5faW50OgotICAgICAgICAgICAgaWYgZGlnIG5vdCBpbiAnMDEnOgotICAgICAgICAgICAgICAgIHJldHVybiBGYWxzZQotICAgICAgICByZXR1cm4gVHJ1ZQotCi0gICAgZGVmIF9maWxsX2xvZ2ljYWwoc2VsZiwgY29udGV4dCwgb3BhLCBvcGIpOgotICAgICAgICBkaWYgPSBjb250ZXh0LnByZWMgLSBsZW4ob3BhKQotICAgICAgICBpZiBkaWYgPiAwOgotICAgICAgICAgICAgb3BhID0gJzAnKmRpZiArIG9wYQotICAgICAgICBlbGlmIGRpZiA8IDA6Ci0gICAgICAgICAgICBvcGEgPSBvcGFbLWNvbnRleHQucHJlYzpdCi0gICAgICAgIGRpZiA9IGNvbnRleHQucHJlYyAtIGxlbihvcGIpCi0gICAgICAgIGlmIGRpZiA+IDA6Ci0gICAgICAgICAgICBvcGIgPSAnMCcqZGlmICsgb3BiCi0gICAgICAgIGVsaWYgZGlmIDwgMDoKLSAgICAgICAgICAgIG9wYiA9IG9wYlstY29udGV4dC5wcmVjOl0KLSAgICAgICAgcmV0dXJuIG9wYSwgb3BiCi0KLSAgICBkZWYgbG9naWNhbF9hbmQoc2VsZiwgb3RoZXIsIGNvbnRleHQ9Tm9uZSk6Ci0gICAgICAgICIiIkFwcGxpZXMgYW4gJ2FuZCcgb3BlcmF0aW9uIGJldHdlZW4gc2VsZiBhbmQgb3RoZXIncyBkaWdpdHMuIiIiCi0gICAgICAgIGlmIGNvbnRleHQgaXMgTm9uZToKLSAgICAgICAgICAgIGNvbnRleHQgPSBnZXRjb250ZXh0KCkKLQotICAgICAgICBvdGhlciA9IF9jb252ZXJ0X290aGVyKG90aGVyLCByYWlzZWl0PVRydWUpCi0KLSAgICAgICAgaWYgbm90IHNlbGYuX2lzbG9naWNhbCgpIG9yIG5vdCBvdGhlci5faXNsb2dpY2FsKCk6Ci0gICAgICAgICAgICByZXR1cm4gY29udGV4dC5fcmFpc2VfZXJyb3IoSW52YWxpZE9wZXJhdGlvbikKLQotICAgICAgICAjIGZpbGwgdG8gY29udGV4dC5wcmVjCi0gICAgICAgIChvcGEsIG9wYikgPSBzZWxmLl9maWxsX2xvZ2ljYWwoY29udGV4dCwgc2VsZi5faW50LCBvdGhlci5faW50KQotCi0gICAgICAgICMgbWFrZSB0aGUgb3BlcmF0aW9uLCBhbmQgY2xlYW4gc3RhcnRpbmcgemVyb2VzCi0gICAgICAgIHJlc3VsdCA9ICIiLmpvaW4oW3N0cihpbnQoYSkmaW50KGIpKSBmb3IgYSxiIGluIHppcChvcGEsb3BiKV0pCi0gICAgICAgIHJldHVybiBfZGVjX2Zyb21fdHJpcGxlKDAsIHJlc3VsdC5sc3RyaXAoJzAnKSBvciAnMCcsIDApCi0KLSAgICBkZWYgbG9naWNhbF9pbnZlcnQoc2VsZiwgY29udGV4dD1Ob25lKToKLSAgICAgICAgIiIiSW52ZXJ0IGFsbCBpdHMgZGlnaXRzLiIiIgotICAgICAgICBpZiBjb250ZXh0IGlzIE5vbmU6Ci0gICAgICAgICAgICBjb250ZXh0ID0gZ2V0Y29udGV4dCgpCi0gICAgICAgIHJldHVybiBzZWxmLmxvZ2ljYWxfeG9yKF9kZWNfZnJvbV90cmlwbGUoMCwnMScqY29udGV4dC5wcmVjLDApLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0KQotCi0gICAgZGVmIGxvZ2ljYWxfb3Ioc2VsZiwgb3RoZXIsIGNvbnRleHQ9Tm9uZSk6Ci0gICAgICAgICIiIkFwcGxpZXMgYW4gJ29yJyBvcGVyYXRpb24gYmV0d2VlbiBzZWxmIGFuZCBvdGhlcidzIGRpZ2l0cy4iIiIKLSAgICAgICAgaWYgY29udGV4dCBpcyBOb25lOgotICAgICAgICAgICAgY29udGV4dCA9IGdldGNvbnRleHQoKQotCi0gICAgICAgIG90aGVyID0gX2NvbnZlcnRfb3RoZXIob3RoZXIsIHJhaXNlaXQ9VHJ1ZSkKLQotICAgICAgICBpZiBub3Qgc2VsZi5faXNsb2dpY2FsKCkgb3Igbm90IG90aGVyLl9pc2xvZ2ljYWwoKToKLSAgICAgICAgICAgIHJldHVybiBjb250ZXh0Ll9yYWlzZV9lcnJvcihJbnZhbGlkT3BlcmF0aW9uKQotCi0gICAgICAgICMgZmlsbCB0byBjb250ZXh0LnByZWMKLSAgICAgICAgKG9wYSwgb3BiKSA9IHNlbGYuX2ZpbGxfbG9naWNhbChjb250ZXh0LCBzZWxmLl9pbnQsIG90aGVyLl9pbnQpCi0KLSAgICAgICAgIyBtYWtlIHRoZSBvcGVyYXRpb24sIGFuZCBjbGVhbiBzdGFydGluZyB6ZXJvZXMKLSAgICAgICAgcmVzdWx0ID0gIiIuam9pbihbc3RyKGludChhKXxpbnQoYikpIGZvciBhLGIgaW4gemlwKG9wYSxvcGIpXSkKLSAgICAgICAgcmV0dXJuIF9kZWNfZnJvbV90cmlwbGUoMCwgcmVzdWx0LmxzdHJpcCgnMCcpIG9yICcwJywgMCkKLQotICAgIGRlZiBsb2dpY2FsX3hvcihzZWxmLCBvdGhlciwgY29udGV4dD1Ob25lKToKLSAgICAgICAgIiIiQXBwbGllcyBhbiAneG9yJyBvcGVyYXRpb24gYmV0d2VlbiBzZWxmIGFuZCBvdGhlcidzIGRpZ2l0cy4iIiIKLSAgICAgICAgaWYgY29udGV4dCBpcyBOb25lOgotICAgICAgICAgICAgY29udGV4dCA9IGdldGNvbnRleHQoKQotCi0gICAgICAgIG90aGVyID0gX2NvbnZlcnRfb3RoZXIob3RoZXIsIHJhaXNlaXQ9VHJ1ZSkKLQotICAgICAgICBpZiBub3Qgc2VsZi5faXNsb2dpY2FsKCkgb3Igbm90IG90aGVyLl9pc2xvZ2ljYWwoKToKLSAgICAgICAgICAgIHJldHVybiBjb250ZXh0Ll9yYWlzZV9lcnJvcihJbnZhbGlkT3BlcmF0aW9uKQotCi0gICAgICAgICMgZmlsbCB0byBjb250ZXh0LnByZWMKLSAgICAgICAgKG9wYSwgb3BiKSA9IHNlbGYuX2ZpbGxfbG9naWNhbChjb250ZXh0LCBzZWxmLl9pbnQsIG90aGVyLl9pbnQpCi0KLSAgICAgICAgIyBtYWtlIHRoZSBvcGVyYXRpb24sIGFuZCBjbGVhbiBzdGFydGluZyB6ZXJvZXMKLSAgICAgICAgcmVzdWx0ID0gIiIuam9pbihbc3RyKGludChhKV5pbnQoYikpIGZvciBhLGIgaW4gemlwKG9wYSxvcGIpXSkKLSAgICAgICAgcmV0dXJuIF9kZWNfZnJvbV90cmlwbGUoMCwgcmVzdWx0LmxzdHJpcCgnMCcpIG9yICcwJywgMCkKLQotICAgIGRlZiBtYXhfbWFnKHNlbGYsIG90aGVyLCBjb250ZXh0PU5vbmUpOgotICAgICAgICAiIiJDb21wYXJlcyB0aGUgdmFsdWVzIG51bWVyaWNhbGx5IHdpdGggdGhlaXIgc2lnbiBpZ25vcmVkLiIiIgotICAgICAgICBvdGhlciA9IF9jb252ZXJ0X290aGVyKG90aGVyLCByYWlzZWl0PVRydWUpCi0KLSAgICAgICAgaWYgY29udGV4dCBpcyBOb25lOgotICAgICAgICAgICAgY29udGV4dCA9IGdldGNvbnRleHQoKQotCi0gICAgICAgIGlmIHNlbGYuX2lzX3NwZWNpYWwgb3Igb3RoZXIuX2lzX3NwZWNpYWw6Ci0gICAgICAgICAgICAjIElmIG9uZSBvcGVyYW5kIGlzIGEgcXVpZXQgTmFOIGFuZCB0aGUgb3RoZXIgaXMgbnVtYmVyLCB0aGVuIHRoZQotICAgICAgICAgICAgIyBudW1iZXIgaXMgYWx3YXlzIHJldHVybmVkCi0gICAgICAgICAgICBzbiA9IHNlbGYuX2lzbmFuKCkKLSAgICAgICAgICAgIG9uID0gb3RoZXIuX2lzbmFuKCkKLSAgICAgICAgICAgIGlmIHNuIG9yIG9uOgotICAgICAgICAgICAgICAgIGlmIG9uID09IDEgYW5kIHNuID09IDA6Ci0gICAgICAgICAgICAgICAgICAgIHJldHVybiBzZWxmLl9maXgoY29udGV4dCkKLSAgICAgICAgICAgICAgICBpZiBzbiA9PSAxIGFuZCBvbiA9PSAwOgotICAgICAgICAgICAgICAgICAgICByZXR1cm4gb3RoZXIuX2ZpeChjb250ZXh0KQotICAgICAgICAgICAgICAgIHJldHVybiBzZWxmLl9jaGVja19uYW5zKG90aGVyLCBjb250ZXh0KQotCi0gICAgICAgIGMgPSBzZWxmLmNvcHlfYWJzKCkuX2NtcChvdGhlci5jb3B5X2FicygpKQotICAgICAgICBpZiBjID09IDA6Ci0gICAgICAgICAgICBjID0gc2VsZi5jb21wYXJlX3RvdGFsKG90aGVyKQotCi0gICAgICAgIGlmIGMgPT0gLTE6Ci0gICAgICAgICAgICBhbnMgPSBvdGhlcgotICAgICAgICBlbHNlOgotICAgICAgICAgICAgYW5zID0gc2VsZgotCi0gICAgICAgIHJldHVybiBhbnMuX2ZpeChjb250ZXh0KQotCi0gICAgZGVmIG1pbl9tYWcoc2VsZiwgb3RoZXIsIGNvbnRleHQ9Tm9uZSk6Ci0gICAgICAgICIiIkNvbXBhcmVzIHRoZSB2YWx1ZXMgbnVtZXJpY2FsbHkgd2l0aCB0aGVpciBzaWduIGlnbm9yZWQuIiIiCi0gICAgICAgIG90aGVyID0gX2NvbnZlcnRfb3RoZXIob3RoZXIsIHJhaXNlaXQ9VHJ1ZSkKLQotICAgICAgICBpZiBjb250ZXh0IGlzIE5vbmU6Ci0gICAgICAgICAgICBjb250ZXh0ID0gZ2V0Y29udGV4dCgpCi0KLSAgICAgICAgaWYgc2VsZi5faXNfc3BlY2lhbCBvciBvdGhlci5faXNfc3BlY2lhbDoKLSAgICAgICAgICAgICMgSWYgb25lIG9wZXJhbmQgaXMgYSBxdWlldCBOYU4gYW5kIHRoZSBvdGhlciBpcyBudW1iZXIsIHRoZW4gdGhlCi0gICAgICAgICAgICAjIG51bWJlciBpcyBhbHdheXMgcmV0dXJuZWQKLSAgICAgICAgICAgIHNuID0gc2VsZi5faXNuYW4oKQotICAgICAgICAgICAgb24gPSBvdGhlci5faXNuYW4oKQotICAgICAgICAgICAgaWYgc24gb3Igb246Ci0gICAgICAgICAgICAgICAgaWYgb24gPT0gMSBhbmQgc24gPT0gMDoKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNlbGYuX2ZpeChjb250ZXh0KQotICAgICAgICAgICAgICAgIGlmIHNuID09IDEgYW5kIG9uID09IDA6Ci0gICAgICAgICAgICAgICAgICAgIHJldHVybiBvdGhlci5fZml4KGNvbnRleHQpCi0gICAgICAgICAgICAgICAgcmV0dXJuIHNlbGYuX2NoZWNrX25hbnMob3RoZXIsIGNvbnRleHQpCi0KLSAgICAgICAgYyA9IHNlbGYuY29weV9hYnMoKS5fY21wKG90aGVyLmNvcHlfYWJzKCkpCi0gICAgICAgIGlmIGMgPT0gMDoKLSAgICAgICAgICAgIGMgPSBzZWxmLmNvbXBhcmVfdG90YWwob3RoZXIpCi0KLSAgICAgICAgaWYgYyA9PSAtMToKLSAgICAgICAgICAgIGFucyA9IHNlbGYKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIGFucyA9IG90aGVyCi0KLSAgICAgICAgcmV0dXJuIGFucy5fZml4KGNvbnRleHQpCi0KLSAgICBkZWYgbmV4dF9taW51cyhzZWxmLCBjb250ZXh0PU5vbmUpOgotICAgICAgICAiIiJSZXR1cm5zIHRoZSBsYXJnZXN0IHJlcHJlc2VudGFibGUgbnVtYmVyIHNtYWxsZXIgdGhhbiBpdHNlbGYuIiIiCi0gICAgICAgIGlmIGNvbnRleHQgaXMgTm9uZToKLSAgICAgICAgICAgIGNvbnRleHQgPSBnZXRjb250ZXh0KCkKLQotICAgICAgICBhbnMgPSBzZWxmLl9jaGVja19uYW5zKGNvbnRleHQ9Y29udGV4dCkKLSAgICAgICAgaWYgYW5zOgotICAgICAgICAgICAgcmV0dXJuIGFucwotCi0gICAgICAgIGlmIHNlbGYuX2lzaW5maW5pdHkoKSA9PSAtMToKLSAgICAgICAgICAgIHJldHVybiBfTmVnYXRpdmVJbmZpbml0eQotICAgICAgICBpZiBzZWxmLl9pc2luZmluaXR5KCkgPT0gMToKLSAgICAgICAgICAgIHJldHVybiBfZGVjX2Zyb21fdHJpcGxlKDAsICc5Jypjb250ZXh0LnByZWMsIGNvbnRleHQuRXRvcCgpKQotCi0gICAgICAgIGNvbnRleHQgPSBjb250ZXh0LmNvcHkoKQotICAgICAgICBjb250ZXh0Ll9zZXRfcm91bmRpbmcoUk9VTkRfRkxPT1IpCi0gICAgICAgIGNvbnRleHQuX2lnbm9yZV9hbGxfZmxhZ3MoKQotICAgICAgICBuZXdfc2VsZiA9IHNlbGYuX2ZpeChjb250ZXh0KQotICAgICAgICBpZiBuZXdfc2VsZiAhPSBzZWxmOgotICAgICAgICAgICAgcmV0dXJuIG5ld19zZWxmCi0gICAgICAgIHJldHVybiBzZWxmLl9fc3ViX18oX2RlY19mcm9tX3RyaXBsZSgwLCAnMScsIGNvbnRleHQuRXRpbnkoKS0xKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0KQotCi0gICAgZGVmIG5leHRfcGx1cyhzZWxmLCBjb250ZXh0PU5vbmUpOgotICAgICAgICAiIiJSZXR1cm5zIHRoZSBzbWFsbGVzdCByZXByZXNlbnRhYmxlIG51bWJlciBsYXJnZXIgdGhhbiBpdHNlbGYuIiIiCi0gICAgICAgIGlmIGNvbnRleHQgaXMgTm9uZToKLSAgICAgICAgICAgIGNvbnRleHQgPSBnZXRjb250ZXh0KCkKLQotICAgICAgICBhbnMgPSBzZWxmLl9jaGVja19uYW5zKGNvbnRleHQ9Y29udGV4dCkKLSAgICAgICAgaWYgYW5zOgotICAgICAgICAgICAgcmV0dXJuIGFucwotCi0gICAgICAgIGlmIHNlbGYuX2lzaW5maW5pdHkoKSA9PSAxOgotICAgICAgICAgICAgcmV0dXJuIF9JbmZpbml0eQotICAgICAgICBpZiBzZWxmLl9pc2luZmluaXR5KCkgPT0gLTE6Ci0gICAgICAgICAgICByZXR1cm4gX2RlY19mcm9tX3RyaXBsZSgxLCAnOScqY29udGV4dC5wcmVjLCBjb250ZXh0LkV0b3AoKSkKLQotICAgICAgICBjb250ZXh0ID0gY29udGV4dC5jb3B5KCkKLSAgICAgICAgY29udGV4dC5fc2V0X3JvdW5kaW5nKFJPVU5EX0NFSUxJTkcpCi0gICAgICAgIGNvbnRleHQuX2lnbm9yZV9hbGxfZmxhZ3MoKQotICAgICAgICBuZXdfc2VsZiA9IHNlbGYuX2ZpeChjb250ZXh0KQotICAgICAgICBpZiBuZXdfc2VsZiAhPSBzZWxmOgotICAgICAgICAgICAgcmV0dXJuIG5ld19zZWxmCi0gICAgICAgIHJldHVybiBzZWxmLl9fYWRkX18oX2RlY19mcm9tX3RyaXBsZSgwLCAnMScsIGNvbnRleHQuRXRpbnkoKS0xKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0KQotCi0gICAgZGVmIG5leHRfdG93YXJkKHNlbGYsIG90aGVyLCBjb250ZXh0PU5vbmUpOgotICAgICAgICAiIiJSZXR1cm5zIHRoZSBudW1iZXIgY2xvc2VzdCB0byBzZWxmLCBpbiB0aGUgZGlyZWN0aW9uIHRvd2FyZHMgb3RoZXIuCi0KLSAgICAgICAgVGhlIHJlc3VsdCBpcyB0aGUgY2xvc2VzdCByZXByZXNlbnRhYmxlIG51bWJlciB0byBzZWxmCi0gICAgICAgIChleGNsdWRpbmcgc2VsZikgdGhhdCBpcyBpbiB0aGUgZGlyZWN0aW9uIHRvd2FyZHMgb3RoZXIsCi0gICAgICAgIHVubGVzcyBib3RoIGhhdmUgdGhlIHNhbWUgdmFsdWUuICBJZiB0aGUgdHdvIG9wZXJhbmRzIGFyZQotICAgICAgICBudW1lcmljYWxseSBlcXVhbCwgdGhlbiB0aGUgcmVzdWx0IGlzIGEgY29weSBvZiBzZWxmIHdpdGggdGhlCi0gICAgICAgIHNpZ24gc2V0IHRvIGJlIHRoZSBzYW1lIGFzIHRoZSBzaWduIG9mIG90aGVyLgotICAgICAgICAiIiIKLSAgICAgICAgb3RoZXIgPSBfY29udmVydF9vdGhlcihvdGhlciwgcmFpc2VpdD1UcnVlKQotCi0gICAgICAgIGlmIGNvbnRleHQgaXMgTm9uZToKLSAgICAgICAgICAgIGNvbnRleHQgPSBnZXRjb250ZXh0KCkKLQotICAgICAgICBhbnMgPSBzZWxmLl9jaGVja19uYW5zKG90aGVyLCBjb250ZXh0KQotICAgICAgICBpZiBhbnM6Ci0gICAgICAgICAgICByZXR1cm4gYW5zCi0KLSAgICAgICAgY29tcGFyaXNvbiA9IHNlbGYuX2NtcChvdGhlcikKLSAgICAgICAgaWYgY29tcGFyaXNvbiA9PSAwOgotICAgICAgICAgICAgcmV0dXJuIHNlbGYuY29weV9zaWduKG90aGVyKQotCi0gICAgICAgIGlmIGNvbXBhcmlzb24gPT0gLTE6Ci0gICAgICAgICAgICBhbnMgPSBzZWxmLm5leHRfcGx1cyhjb250ZXh0KQotICAgICAgICBlbHNlOiAjIGNvbXBhcmlzb24gPT0gMQotICAgICAgICAgICAgYW5zID0gc2VsZi5uZXh0X21pbnVzKGNvbnRleHQpCi0KLSAgICAgICAgIyBkZWNpZGUgd2hpY2ggZmxhZ3MgdG8gcmFpc2UgdXNpbmcgdmFsdWUgb2YgYW5zCi0gICAgICAgIGlmIGFucy5faXNpbmZpbml0eSgpOgotICAgICAgICAgICAgY29udGV4dC5fcmFpc2VfZXJyb3IoT3ZlcmZsb3csCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSW5maW5pdGUgcmVzdWx0IGZyb20gbmV4dF90b3dhcmQnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5zLl9zaWduKQotICAgICAgICAgICAgY29udGV4dC5fcmFpc2VfZXJyb3IoSW5leGFjdCkKLSAgICAgICAgICAgIGNvbnRleHQuX3JhaXNlX2Vycm9yKFJvdW5kZWQpCi0gICAgICAgIGVsaWYgYW5zLmFkanVzdGVkKCkgPCBjb250ZXh0LkVtaW46Ci0gICAgICAgICAgICBjb250ZXh0Ll9yYWlzZV9lcnJvcihVbmRlcmZsb3cpCi0gICAgICAgICAgICBjb250ZXh0Ll9yYWlzZV9lcnJvcihTdWJub3JtYWwpCi0gICAgICAgICAgICBjb250ZXh0Ll9yYWlzZV9lcnJvcihJbmV4YWN0KQotICAgICAgICAgICAgY29udGV4dC5fcmFpc2VfZXJyb3IoUm91bmRlZCkKLSAgICAgICAgICAgICMgaWYgcHJlY2lzaW9uID09IDEgdGhlbiB3ZSBkb24ndCByYWlzZSBDbGFtcGVkIGZvciBhCi0gICAgICAgICAgICAjIHJlc3VsdCAwRS1FdGlueS4KLSAgICAgICAgICAgIGlmIG5vdCBhbnM6Ci0gICAgICAgICAgICAgICAgY29udGV4dC5fcmFpc2VfZXJyb3IoQ2xhbXBlZCkKLQotICAgICAgICByZXR1cm4gYW5zCi0KLSAgICBkZWYgbnVtYmVyX2NsYXNzKHNlbGYsIGNvbnRleHQ9Tm9uZSk6Ci0gICAgICAgICIiIlJldHVybnMgYW4gaW5kaWNhdGlvbiBvZiB0aGUgY2xhc3Mgb2Ygc2VsZi4KLQotICAgICAgICBUaGUgY2xhc3MgaXMgb25lIG9mIHRoZSBmb2xsb3dpbmcgc3RyaW5nczoKLSAgICAgICAgICBzTmFOCi0gICAgICAgICAgTmFOCi0gICAgICAgICAgLUluZmluaXR5Ci0gICAgICAgICAgLU5vcm1hbAotICAgICAgICAgIC1TdWJub3JtYWwKLSAgICAgICAgICAtWmVybwotICAgICAgICAgICtaZXJvCi0gICAgICAgICAgK1N1Ym5vcm1hbAotICAgICAgICAgICtOb3JtYWwKLSAgICAgICAgICArSW5maW5pdHkKLSAgICAgICAgIiIiCi0gICAgICAgIGlmIHNlbGYuaXNfc25hbigpOgotICAgICAgICAgICAgcmV0dXJuICJzTmFOIgotICAgICAgICBpZiBzZWxmLmlzX3FuYW4oKToKLSAgICAgICAgICAgIHJldHVybiAiTmFOIgotICAgICAgICBpbmYgPSBzZWxmLl9pc2luZmluaXR5KCkKLSAgICAgICAgaWYgaW5mID09IDE6Ci0gICAgICAgICAgICByZXR1cm4gIitJbmZpbml0eSIKLSAgICAgICAgaWYgaW5mID09IC0xOgotICAgICAgICAgICAgcmV0dXJuICItSW5maW5pdHkiCi0gICAgICAgIGlmIHNlbGYuaXNfemVybygpOgotICAgICAgICAgICAgaWYgc2VsZi5fc2lnbjoKLSAgICAgICAgICAgICAgICByZXR1cm4gIi1aZXJvIgotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICByZXR1cm4gIitaZXJvIgotICAgICAgICBpZiBjb250ZXh0IGlzIE5vbmU6Ci0gICAgICAgICAgICBjb250ZXh0ID0gZ2V0Y29udGV4dCgpCi0gICAgICAgIGlmIHNlbGYuaXNfc3Vibm9ybWFsKGNvbnRleHQ9Y29udGV4dCk6Ci0gICAgICAgICAgICBpZiBzZWxmLl9zaWduOgotICAgICAgICAgICAgICAgIHJldHVybiAiLVN1Ym5vcm1hbCIKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgcmV0dXJuICIrU3Vibm9ybWFsIgotICAgICAgICAjIGp1c3QgYSBub3JtYWwsIHJlZ3VsYXIsIGJvcmluZyBudW1iZXIsIDopCi0gICAgICAgIGlmIHNlbGYuX3NpZ246Ci0gICAgICAgICAgICByZXR1cm4gIi1Ob3JtYWwiCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICByZXR1cm4gIitOb3JtYWwiCi0KLSAgICBkZWYgcmFkaXgoc2VsZik6Ci0gICAgICAgICIiIkp1c3QgcmV0dXJucyAxMCwgYXMgdGhpcyBpcyBEZWNpbWFsLCA6KSIiIgotICAgICAgICByZXR1cm4gRGVjaW1hbCgxMCkKLQotICAgIGRlZiByb3RhdGUoc2VsZiwgb3RoZXIsIGNvbnRleHQ9Tm9uZSk6Ci0gICAgICAgICIiIlJldHVybnMgYSByb3RhdGVkIGNvcHkgb2Ygc2VsZiwgdmFsdWUtb2Ytb3RoZXIgdGltZXMuIiIiCi0gICAgICAgIGlmIGNvbnRleHQgaXMgTm9uZToKLSAgICAgICAgICAgIGNvbnRleHQgPSBnZXRjb250ZXh0KCkKLQotICAgICAgICBvdGhlciA9IF9jb252ZXJ0X290aGVyKG90aGVyLCByYWlzZWl0PVRydWUpCi0KLSAgICAgICAgYW5zID0gc2VsZi5fY2hlY2tfbmFucyhvdGhlciwgY29udGV4dCkKLSAgICAgICAgaWYgYW5zOgotICAgICAgICAgICAgcmV0dXJuIGFucwotCi0gICAgICAgIGlmIG90aGVyLl9leHAgIT0gMDoKLSAgICAgICAgICAgIHJldHVybiBjb250ZXh0Ll9yYWlzZV9lcnJvcihJbnZhbGlkT3BlcmF0aW9uKQotICAgICAgICBpZiBub3QgKC1jb250ZXh0LnByZWMgPD0gaW50KG90aGVyKSA8PSBjb250ZXh0LnByZWMpOgotICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuX3JhaXNlX2Vycm9yKEludmFsaWRPcGVyYXRpb24pCi0KLSAgICAgICAgaWYgc2VsZi5faXNpbmZpbml0eSgpOgotICAgICAgICAgICAgcmV0dXJuIERlY2ltYWwoc2VsZikKLQotICAgICAgICAjIGdldCB2YWx1ZXMsIHBhZCBpZiBuZWNlc3NhcnkKLSAgICAgICAgdG9yb3QgPSBpbnQob3RoZXIpCi0gICAgICAgIHJvdGRpZyA9IHNlbGYuX2ludAotICAgICAgICB0b3BhZCA9IGNvbnRleHQucHJlYyAtIGxlbihyb3RkaWcpCi0gICAgICAgIGlmIHRvcGFkID4gMDoKLSAgICAgICAgICAgIHJvdGRpZyA9ICcwJyp0b3BhZCArIHJvdGRpZwotICAgICAgICBlbGlmIHRvcGFkIDwgMDoKLSAgICAgICAgICAgIHJvdGRpZyA9IHJvdGRpZ1stdG9wYWQ6XQotCi0gICAgICAgICMgbGV0J3Mgcm90YXRlIQotICAgICAgICByb3RhdGVkID0gcm90ZGlnW3Rvcm90Ol0gKyByb3RkaWdbOnRvcm90XQotICAgICAgICByZXR1cm4gX2RlY19mcm9tX3RyaXBsZShzZWxmLl9zaWduLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByb3RhdGVkLmxzdHJpcCgnMCcpIG9yICcwJywgc2VsZi5fZXhwKQotCi0gICAgZGVmIHNjYWxlYihzZWxmLCBvdGhlciwgY29udGV4dD1Ob25lKToKLSAgICAgICAgIiIiUmV0dXJucyBzZWxmIG9wZXJhbmQgYWZ0ZXIgYWRkaW5nIHRoZSBzZWNvbmQgdmFsdWUgdG8gaXRzIGV4cC4iIiIKLSAgICAgICAgaWYgY29udGV4dCBpcyBOb25lOgotICAgICAgICAgICAgY29udGV4dCA9IGdldGNvbnRleHQoKQotCi0gICAgICAgIG90aGVyID0gX2NvbnZlcnRfb3RoZXIob3RoZXIsIHJhaXNlaXQ9VHJ1ZSkKLQotICAgICAgICBhbnMgPSBzZWxmLl9jaGVja19uYW5zKG90aGVyLCBjb250ZXh0KQotICAgICAgICBpZiBhbnM6Ci0gICAgICAgICAgICByZXR1cm4gYW5zCi0KLSAgICAgICAgaWYgb3RoZXIuX2V4cCAhPSAwOgotICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuX3JhaXNlX2Vycm9yKEludmFsaWRPcGVyYXRpb24pCi0gICAgICAgIGxpbWluZiA9IC0yICogKGNvbnRleHQuRW1heCArIGNvbnRleHQucHJlYykKLSAgICAgICAgbGltc3VwID0gIDIgKiAoY29udGV4dC5FbWF4ICsgY29udGV4dC5wcmVjKQotICAgICAgICBpZiBub3QgKGxpbWluZiA8PSBpbnQob3RoZXIpIDw9IGxpbXN1cCk6Ci0gICAgICAgICAgICByZXR1cm4gY29udGV4dC5fcmFpc2VfZXJyb3IoSW52YWxpZE9wZXJhdGlvbikKLQotICAgICAgICBpZiBzZWxmLl9pc2luZmluaXR5KCk6Ci0gICAgICAgICAgICByZXR1cm4gRGVjaW1hbChzZWxmKQotCi0gICAgICAgIGQgPSBfZGVjX2Zyb21fdHJpcGxlKHNlbGYuX3NpZ24sIHNlbGYuX2ludCwgc2VsZi5fZXhwICsgaW50KG90aGVyKSkKLSAgICAgICAgZCA9IGQuX2ZpeChjb250ZXh0KQotICAgICAgICByZXR1cm4gZAotCi0gICAgZGVmIHNoaWZ0KHNlbGYsIG90aGVyLCBjb250ZXh0PU5vbmUpOgotICAgICAgICAiIiJSZXR1cm5zIGEgc2hpZnRlZCBjb3B5IG9mIHNlbGYsIHZhbHVlLW9mLW90aGVyIHRpbWVzLiIiIgotICAgICAgICBpZiBjb250ZXh0IGlzIE5vbmU6Ci0gICAgICAgICAgICBjb250ZXh0ID0gZ2V0Y29udGV4dCgpCi0KLSAgICAgICAgb3RoZXIgPSBfY29udmVydF9vdGhlcihvdGhlciwgcmFpc2VpdD1UcnVlKQotCi0gICAgICAgIGFucyA9IHNlbGYuX2NoZWNrX25hbnMob3RoZXIsIGNvbnRleHQpCi0gICAgICAgIGlmIGFuczoKLSAgICAgICAgICAgIHJldHVybiBhbnMKLQotICAgICAgICBpZiBvdGhlci5fZXhwICE9IDA6Ci0gICAgICAgICAgICByZXR1cm4gY29udGV4dC5fcmFpc2VfZXJyb3IoSW52YWxpZE9wZXJhdGlvbikKLSAgICAgICAgaWYgbm90ICgtY29udGV4dC5wcmVjIDw9IGludChvdGhlcikgPD0gY29udGV4dC5wcmVjKToKLSAgICAgICAgICAgIHJldHVybiBjb250ZXh0Ll9yYWlzZV9lcnJvcihJbnZhbGlkT3BlcmF0aW9uKQotCi0gICAgICAgIGlmIHNlbGYuX2lzaW5maW5pdHkoKToKLSAgICAgICAgICAgIHJldHVybiBEZWNpbWFsKHNlbGYpCi0KLSAgICAgICAgIyBnZXQgdmFsdWVzLCBwYWQgaWYgbmVjZXNzYXJ5Ci0gICAgICAgIHRvcm90ID0gaW50KG90aGVyKQotICAgICAgICByb3RkaWcgPSBzZWxmLl9pbnQKLSAgICAgICAgdG9wYWQgPSBjb250ZXh0LnByZWMgLSBsZW4ocm90ZGlnKQotICAgICAgICBpZiB0b3BhZCA+IDA6Ci0gICAgICAgICAgICByb3RkaWcgPSAnMCcqdG9wYWQgKyByb3RkaWcKLSAgICAgICAgZWxpZiB0b3BhZCA8IDA6Ci0gICAgICAgICAgICByb3RkaWcgPSByb3RkaWdbLXRvcGFkOl0KLQotICAgICAgICAjIGxldCdzIHNoaWZ0IQotICAgICAgICBpZiB0b3JvdCA8IDA6Ci0gICAgICAgICAgICBzaGlmdGVkID0gcm90ZGlnWzp0b3JvdF0KLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHNoaWZ0ZWQgPSByb3RkaWcgKyAnMCcqdG9yb3QKLSAgICAgICAgICAgIHNoaWZ0ZWQgPSBzaGlmdGVkWy1jb250ZXh0LnByZWM6XQotCi0gICAgICAgIHJldHVybiBfZGVjX2Zyb21fdHJpcGxlKHNlbGYuX3NpZ24sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaGlmdGVkLmxzdHJpcCgnMCcpIG9yICcwJywgc2VsZi5fZXhwKQotCi0gICAgIyBTdXBwb3J0IGZvciBwaWNrbGluZywgY29weSwgYW5kIGRlZXBjb3B5Ci0gICAgZGVmIF9fcmVkdWNlX18oc2VsZik6Ci0gICAgICAgIHJldHVybiAoc2VsZi5fX2NsYXNzX18sIChzdHIoc2VsZiksKSkKLQotICAgIGRlZiBfX2NvcHlfXyhzZWxmKToKLSAgICAgICAgaWYgdHlwZShzZWxmKSBpcyBEZWNpbWFsOgotICAgICAgICAgICAgcmV0dXJuIHNlbGYgICAgICMgSSdtIGltbXV0YWJsZTsgdGhlcmVmb3JlIEkgYW0gbXkgb3duIGNsb25lCi0gICAgICAgIHJldHVybiBzZWxmLl9fY2xhc3NfXyhzdHIoc2VsZikpCi0KLSAgICBkZWYgX19kZWVwY29weV9fKHNlbGYsIG1lbW8pOgotICAgICAgICBpZiB0eXBlKHNlbGYpIGlzIERlY2ltYWw6Ci0gICAgICAgICAgICByZXR1cm4gc2VsZiAgICAgIyBNeSBjb21wb25lbnRzIGFyZSBhbHNvIGltbXV0YWJsZQotICAgICAgICByZXR1cm4gc2VsZi5fX2NsYXNzX18oc3RyKHNlbGYpKQotCi0gICAgIyBQRVAgMzEwMSBzdXBwb3J0LiAgdGhlIF9sb2NhbGVjb252IGtleXdvcmQgYXJndW1lbnQgc2hvdWxkIGJlCi0gICAgIyBjb25zaWRlcmVkIHByaXZhdGU6IGl0J3MgcHJvdmlkZWQgZm9yIGVhc2Ugb2YgdGVzdGluZyBvbmx5LgotICAgIGRlZiBfX2Zvcm1hdF9fKHNlbGYsIHNwZWNpZmllciwgY29udGV4dD1Ob25lLCBfbG9jYWxlY29udj1Ob25lKToKLSAgICAgICAgIiIiRm9ybWF0IGEgRGVjaW1hbCBpbnN0YW5jZSBhY2NvcmRpbmcgdG8gdGhlIGdpdmVuIHNwZWNpZmllci4KLQotICAgICAgICBUaGUgc3BlY2lmaWVyIHNob3VsZCBiZSBhIHN0YW5kYXJkIGZvcm1hdCBzcGVjaWZpZXIsIHdpdGggdGhlCi0gICAgICAgIGZvcm0gZGVzY3JpYmVkIGluIFBFUCAzMTAxLiAgRm9ybWF0dGluZyB0eXBlcyAnZScsICdFJywgJ2YnLAotICAgICAgICAnRicsICdnJywgJ0cnLCAnbicgYW5kICclJyBhcmUgc3VwcG9ydGVkLiAgSWYgdGhlIGZvcm1hdHRpbmcKLSAgICAgICAgdHlwZSBpcyBvbWl0dGVkIGl0IGRlZmF1bHRzIHRvICdnJyBvciAnRycsIGRlcGVuZGluZyBvbiB0aGUKLSAgICAgICAgdmFsdWUgb2YgY29udGV4dC5jYXBpdGFscy4KLSAgICAgICAgIiIiCi0KLSAgICAgICAgIyBOb3RlOiBQRVAgMzEwMSBzYXlzIHRoYXQgaWYgdGhlIHR5cGUgaXMgbm90IHByZXNlbnQgdGhlbgotICAgICAgICAjIHRoZXJlIHNob3VsZCBiZSBhdCBsZWFzdCBvbmUgZGlnaXQgYWZ0ZXIgdGhlIGRlY2ltYWwgcG9pbnQuCi0gICAgICAgICMgV2UgdGFrZSB0aGUgbGliZXJ0eSBvZiBpZ25vcmluZyB0aGlzIHJlcXVpcmVtZW50IGZvcgotICAgICAgICAjIERlY2ltYWwtLS1pdCdzIHByZXN1bWFibHkgdGhlcmUgdG8gbWFrZSBzdXJlIHRoYXQKLSAgICAgICAgIyBmb3JtYXQoZmxvYXQsICcnKSBiZWhhdmVzIHNpbWlsYXJseSB0byBzdHIoZmxvYXQpLgotICAgICAgICBpZiBjb250ZXh0IGlzIE5vbmU6Ci0gICAgICAgICAgICBjb250ZXh0ID0gZ2V0Y29udGV4dCgpCi0KLSAgICAgICAgc3BlYyA9IF9wYXJzZV9mb3JtYXRfc3BlY2lmaWVyKHNwZWNpZmllciwgX2xvY2FsZWNvbnY9X2xvY2FsZWNvbnYpCi0KLSAgICAgICAgIyBzcGVjaWFsIHZhbHVlcyBkb24ndCBjYXJlIGFib3V0IHRoZSB0eXBlIG9yIHByZWNpc2lvbgotICAgICAgICBpZiBzZWxmLl9pc19zcGVjaWFsOgotICAgICAgICAgICAgc2lnbiA9IF9mb3JtYXRfc2lnbihzZWxmLl9zaWduLCBzcGVjKQotICAgICAgICAgICAgYm9keSA9IHN0cihzZWxmLmNvcHlfYWJzKCkpCi0gICAgICAgICAgICBpZiBzcGVjWyd0eXBlJ10gPT0gJyUnOgotICAgICAgICAgICAgICAgIGJvZHkgKz0gJyUnCi0gICAgICAgICAgICByZXR1cm4gX2Zvcm1hdF9hbGlnbihzaWduLCBib2R5LCBzcGVjKQotCi0gICAgICAgICMgYSB0eXBlIG9mIE5vbmUgZGVmYXVsdHMgdG8gJ2cnIG9yICdHJywgZGVwZW5kaW5nIG9uIGNvbnRleHQKLSAgICAgICAgaWYgc3BlY1sndHlwZSddIGlzIE5vbmU6Ci0gICAgICAgICAgICBzcGVjWyd0eXBlJ10gPSBbJ2cnLCAnRyddW2NvbnRleHQuY2FwaXRhbHNdCi0KLSAgICAgICAgIyBpZiB0eXBlIGlzICclJywgYWRqdXN0IGV4cG9uZW50IG9mIHNlbGYgYWNjb3JkaW5nbHkKLSAgICAgICAgaWYgc3BlY1sndHlwZSddID09ICclJzoKLSAgICAgICAgICAgIHNlbGYgPSBfZGVjX2Zyb21fdHJpcGxlKHNlbGYuX3NpZ24sIHNlbGYuX2ludCwgc2VsZi5fZXhwKzIpCi0KLSAgICAgICAgIyByb3VuZCBpZiBuZWNlc3NhcnksIHRha2luZyByb3VuZGluZyBtb2RlIGZyb20gdGhlIGNvbnRleHQKLSAgICAgICAgcm91bmRpbmcgPSBjb250ZXh0LnJvdW5kaW5nCi0gICAgICAgIHByZWNpc2lvbiA9IHNwZWNbJ3ByZWNpc2lvbiddCi0gICAgICAgIGlmIHByZWNpc2lvbiBpcyBub3QgTm9uZToKLSAgICAgICAgICAgIGlmIHNwZWNbJ3R5cGUnXSBpbiAnZUUnOgotICAgICAgICAgICAgICAgIHNlbGYgPSBzZWxmLl9yb3VuZChwcmVjaXNpb24rMSwgcm91bmRpbmcpCi0gICAgICAgICAgICBlbGlmIHNwZWNbJ3R5cGUnXSBpbiAnZkYlJzoKLSAgICAgICAgICAgICAgICBzZWxmID0gc2VsZi5fcmVzY2FsZSgtcHJlY2lzaW9uLCByb3VuZGluZykKLSAgICAgICAgICAgIGVsaWYgc3BlY1sndHlwZSddIGluICdnRycgYW5kIGxlbihzZWxmLl9pbnQpID4gcHJlY2lzaW9uOgotICAgICAgICAgICAgICAgIHNlbGYgPSBzZWxmLl9yb3VuZChwcmVjaXNpb24sIHJvdW5kaW5nKQotICAgICAgICAjIHNwZWNpYWwgY2FzZTogemVyb3Mgd2l0aCBhIHBvc2l0aXZlIGV4cG9uZW50IGNhbid0IGJlCi0gICAgICAgICMgcmVwcmVzZW50ZWQgaW4gZml4ZWQgcG9pbnQ7IHJlc2NhbGUgdGhlbSB0byAwZTAuCi0gICAgICAgIGlmIG5vdCBzZWxmIGFuZCBzZWxmLl9leHAgPiAwIGFuZCBzcGVjWyd0eXBlJ10gaW4gJ2ZGJSc6Ci0gICAgICAgICAgICBzZWxmID0gc2VsZi5fcmVzY2FsZSgwLCByb3VuZGluZykKLQotICAgICAgICAjIGZpZ3VyZSBvdXQgcGxhY2VtZW50IG9mIHRoZSBkZWNpbWFsIHBvaW50Ci0gICAgICAgIGxlZnRkaWdpdHMgPSBzZWxmLl9leHAgKyBsZW4oc2VsZi5faW50KQotICAgICAgICBpZiBzcGVjWyd0eXBlJ10gaW4gJ2VFJzoKLSAgICAgICAgICAgIGlmIG5vdCBzZWxmIGFuZCBwcmVjaXNpb24gaXMgbm90IE5vbmU6Ci0gICAgICAgICAgICAgICAgZG90cGxhY2UgPSAxIC0gcHJlY2lzaW9uCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIGRvdHBsYWNlID0gMQotICAgICAgICBlbGlmIHNwZWNbJ3R5cGUnXSBpbiAnZkYlJzoKLSAgICAgICAgICAgIGRvdHBsYWNlID0gbGVmdGRpZ2l0cwotICAgICAgICBlbGlmIHNwZWNbJ3R5cGUnXSBpbiAnZ0cnOgotICAgICAgICAgICAgaWYgc2VsZi5fZXhwIDw9IDAgYW5kIGxlZnRkaWdpdHMgPiAtNjoKLSAgICAgICAgICAgICAgICBkb3RwbGFjZSA9IGxlZnRkaWdpdHMKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgZG90cGxhY2UgPSAxCi0KLSAgICAgICAgIyBmaW5kIGRpZ2l0cyBiZWZvcmUgYW5kIGFmdGVyIGRlY2ltYWwgcG9pbnQsIGFuZCBnZXQgZXhwb25lbnQKLSAgICAgICAgaWYgZG90cGxhY2UgPCAwOgotICAgICAgICAgICAgaW50cGFydCA9ICcwJwotICAgICAgICAgICAgZnJhY3BhcnQgPSAnMCcqKC1kb3RwbGFjZSkgKyBzZWxmLl9pbnQKLSAgICAgICAgZWxpZiBkb3RwbGFjZSA+IGxlbihzZWxmLl9pbnQpOgotICAgICAgICAgICAgaW50cGFydCA9IHNlbGYuX2ludCArICcwJyooZG90cGxhY2UtbGVuKHNlbGYuX2ludCkpCi0gICAgICAgICAgICBmcmFjcGFydCA9ICcnCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBpbnRwYXJ0ID0gc2VsZi5faW50Wzpkb3RwbGFjZV0gb3IgJzAnCi0gICAgICAgICAgICBmcmFjcGFydCA9IHNlbGYuX2ludFtkb3RwbGFjZTpdCi0gICAgICAgIGV4cCA9IGxlZnRkaWdpdHMtZG90cGxhY2UKLQotICAgICAgICAjIGRvbmUgd2l0aCB0aGUgZGVjaW1hbC1zcGVjaWZpYyBzdHVmZjsgIGhhbmQgb3ZlciB0aGUgcmVzdAotICAgICAgICAjIG9mIHRoZSBmb3JtYXR0aW5nIHRvIHRoZSBfZm9ybWF0X251bWJlciBmdW5jdGlvbgotICAgICAgICByZXR1cm4gX2Zvcm1hdF9udW1iZXIoc2VsZi5fc2lnbiwgaW50cGFydCwgZnJhY3BhcnQsIGV4cCwgc3BlYykKLQotZGVmIF9kZWNfZnJvbV90cmlwbGUoc2lnbiwgY29lZmZpY2llbnQsIGV4cG9uZW50LCBzcGVjaWFsPUZhbHNlKToKLSAgICAiIiJDcmVhdGUgYSBkZWNpbWFsIGluc3RhbmNlIGRpcmVjdGx5LCB3aXRob3V0IGFueSB2YWxpZGF0aW9uLAotICAgIG5vcm1hbGl6YXRpb24gKGUuZy4gcmVtb3ZhbCBvZiBsZWFkaW5nIHplcm9zKSBvciBhcmd1bWVudAotICAgIGNvbnZlcnNpb24uCi0KLSAgICBUaGlzIGZ1bmN0aW9uIGlzIGZvciAqaW50ZXJuYWwgdXNlIG9ubHkqLgotICAgICIiIgotCi0gICAgc2VsZiA9IG9iamVjdC5fX25ld19fKERlY2ltYWwpCi0gICAgc2VsZi5fc2lnbiA9IHNpZ24KLSAgICBzZWxmLl9pbnQgPSBjb2VmZmljaWVudAotICAgIHNlbGYuX2V4cCA9IGV4cG9uZW50Ci0gICAgc2VsZi5faXNfc3BlY2lhbCA9IHNwZWNpYWwKLQotICAgIHJldHVybiBzZWxmCi0KLSMgUmVnaXN0ZXIgRGVjaW1hbCBhcyBhIGtpbmQgb2YgTnVtYmVyIChhbiBhYnN0cmFjdCBiYXNlIGNsYXNzKS4KLSMgSG93ZXZlciwgZG8gbm90IHJlZ2lzdGVyIGl0IGFzIFJlYWwgKGJlY2F1c2UgRGVjaW1hbHMgYXJlIG5vdAotIyBpbnRlcm9wZXJhYmxlIHdpdGggZmxvYXRzKS4KLV9udW1iZXJzLk51bWJlci5yZWdpc3RlcihEZWNpbWFsKQotCi0KLSMjIyMjIENvbnRleHQgY2xhc3MgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwotCi1jbGFzcyBfQ29udGV4dE1hbmFnZXIob2JqZWN0KToKLSAgICAiIiJDb250ZXh0IG1hbmFnZXIgY2xhc3MgdG8gc3VwcG9ydCBsb2NhbGNvbnRleHQoKS4KLQotICAgICAgU2V0cyBhIGNvcHkgb2YgdGhlIHN1cHBsaWVkIGNvbnRleHQgaW4gX19lbnRlcl9fKCkgYW5kIHJlc3RvcmVzCi0gICAgICB0aGUgcHJldmlvdXMgZGVjaW1hbCBjb250ZXh0IGluIF9fZXhpdF9fKCkKLSAgICAiIiIKLSAgICBkZWYgX19pbml0X18oc2VsZiwgbmV3X2NvbnRleHQpOgotICAgICAgICBzZWxmLm5ld19jb250ZXh0ID0gbmV3X2NvbnRleHQuY29weSgpCi0gICAgZGVmIF9fZW50ZXJfXyhzZWxmKToKLSAgICAgICAgc2VsZi5zYXZlZF9jb250ZXh0ID0gZ2V0Y29udGV4dCgpCi0gICAgICAgIHNldGNvbnRleHQoc2VsZi5uZXdfY29udGV4dCkKLSAgICAgICAgcmV0dXJuIHNlbGYubmV3X2NvbnRleHQKLSAgICBkZWYgX19leGl0X18oc2VsZiwgdCwgdiwgdGIpOgotICAgICAgICBzZXRjb250ZXh0KHNlbGYuc2F2ZWRfY29udGV4dCkKLQotY2xhc3MgQ29udGV4dChvYmplY3QpOgotICAgICIiIkNvbnRhaW5zIHRoZSBjb250ZXh0IGZvciBhIERlY2ltYWwgaW5zdGFuY2UuCi0KLSAgICBDb250YWluczoKLSAgICBwcmVjIC0gcHJlY2lzaW9uIChmb3IgdXNlIGluIHJvdW5kaW5nLCBkaXZpc2lvbiwgc3F1YXJlIHJvb3RzLi4pCi0gICAgcm91bmRpbmcgLSByb3VuZGluZyB0eXBlIChob3cgeW91IHJvdW5kKQotICAgIHRyYXBzIC0gSWYgdHJhcHNbZXhjZXB0aW9uXSA9IDEsIHRoZW4gdGhlIGV4Y2VwdGlvbiBpcwotICAgICAgICAgICAgICAgICAgICByYWlzZWQgd2hlbiBpdCBpcyBjYXVzZWQuICBPdGhlcndpc2UsIGEgdmFsdWUgaXMKLSAgICAgICAgICAgICAgICAgICAgc3Vic3RpdHV0ZWQgaW4uCi0gICAgZmxhZ3MgIC0gV2hlbiBhbiBleGNlcHRpb24gaXMgY2F1c2VkLCBmbGFnc1tleGNlcHRpb25dIGlzIHNldC4KLSAgICAgICAgICAgICAoV2hldGhlciBvciBub3QgdGhlIHRyYXBfZW5hYmxlciBpcyBzZXQpCi0gICAgICAgICAgICAgU2hvdWxkIGJlIHJlc2V0IGJ5IHVzZXIgb2YgRGVjaW1hbCBpbnN0YW5jZS4KLSAgICBFbWluIC0gICBNaW5pbXVtIGV4cG9uZW50Ci0gICAgRW1heCAtICAgTWF4aW11bSBleHBvbmVudAotICAgIGNhcGl0YWxzIC0gICAgICBJZiAxLCAxKjEwXjEgaXMgcHJpbnRlZCBhcyAxRSsxLgotICAgICAgICAgICAgICAgICAgICBJZiAwLCBwcmludGVkIGFzIDFlMQotICAgIGNsYW1wIC0gIElmIDEsIGNoYW5nZSBleHBvbmVudHMgaWYgdG9vIGhpZ2ggKERlZmF1bHQgMCkKLSAgICAiIiIKLQotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBwcmVjPU5vbmUsIHJvdW5kaW5nPU5vbmUsIEVtaW49Tm9uZSwgRW1heD1Ob25lLAotICAgICAgICAgICAgICAgICAgICAgICBjYXBpdGFscz1Ob25lLCBjbGFtcD1Ob25lLCBmbGFncz1Ob25lLCB0cmFwcz1Ob25lLAotICAgICAgICAgICAgICAgICAgICAgICBfaWdub3JlZF9mbGFncz1Ob25lKToKLSAgICAgICAgIyBTZXQgZGVmYXVsdHM7IGZvciBldmVyeXRoaW5nIGV4Y2VwdCBmbGFncyBhbmQgX2lnbm9yZWRfZmxhZ3MsCi0gICAgICAgICMgaW5oZXJpdCBmcm9tIERlZmF1bHRDb250ZXh0LgotICAgICAgICB0cnk6Ci0gICAgICAgICAgICBkYyA9IERlZmF1bHRDb250ZXh0Ci0gICAgICAgIGV4Y2VwdCBOYW1lRXJyb3I6Ci0gICAgICAgICAgICBwYXNzCi0KLSAgICAgICAgc2VsZi5wcmVjID0gcHJlYyBpZiBwcmVjIGlzIG5vdCBOb25lIGVsc2UgZGMucHJlYwotICAgICAgICBzZWxmLnJvdW5kaW5nID0gcm91bmRpbmcgaWYgcm91bmRpbmcgaXMgbm90IE5vbmUgZWxzZSBkYy5yb3VuZGluZwotICAgICAgICBzZWxmLkVtaW4gPSBFbWluIGlmIEVtaW4gaXMgbm90IE5vbmUgZWxzZSBkYy5FbWluCi0gICAgICAgIHNlbGYuRW1heCA9IEVtYXggaWYgRW1heCBpcyBub3QgTm9uZSBlbHNlIGRjLkVtYXgKLSAgICAgICAgc2VsZi5jYXBpdGFscyA9IGNhcGl0YWxzIGlmIGNhcGl0YWxzIGlzIG5vdCBOb25lIGVsc2UgZGMuY2FwaXRhbHMKLSAgICAgICAgc2VsZi5jbGFtcCA9IGNsYW1wIGlmIGNsYW1wIGlzIG5vdCBOb25lIGVsc2UgZGMuY2xhbXAKLQotICAgICAgICBpZiBfaWdub3JlZF9mbGFncyBpcyBOb25lOgotICAgICAgICAgICAgc2VsZi5faWdub3JlZF9mbGFncyA9IFtdCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBzZWxmLl9pZ25vcmVkX2ZsYWdzID0gX2lnbm9yZWRfZmxhZ3MKLQotICAgICAgICBpZiB0cmFwcyBpcyBOb25lOgotICAgICAgICAgICAgc2VsZi50cmFwcyA9IGRjLnRyYXBzLmNvcHkoKQotICAgICAgICBlbGlmIG5vdCBpc2luc3RhbmNlKHRyYXBzLCBkaWN0KToKLSAgICAgICAgICAgIHNlbGYudHJhcHMgPSBkaWN0KChzLCBpbnQocyBpbiB0cmFwcykpIGZvciBzIGluIF9zaWduYWxzICsgdHJhcHMpCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBzZWxmLnRyYXBzID0gdHJhcHMKLQotICAgICAgICBpZiBmbGFncyBpcyBOb25lOgotICAgICAgICAgICAgc2VsZi5mbGFncyA9IGRpY3QuZnJvbWtleXMoX3NpZ25hbHMsIDApCi0gICAgICAgIGVsaWYgbm90IGlzaW5zdGFuY2UoZmxhZ3MsIGRpY3QpOgotICAgICAgICAgICAgc2VsZi5mbGFncyA9IGRpY3QoKHMsIGludChzIGluIGZsYWdzKSkgZm9yIHMgaW4gX3NpZ25hbHMgKyBmbGFncykKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHNlbGYuZmxhZ3MgPSBmbGFncwotCi0gICAgZGVmIF9zZXRfaW50ZWdlcl9jaGVjayhzZWxmLCBuYW1lLCB2YWx1ZSwgdm1pbiwgdm1heCk6Ci0gICAgICAgIGlmIG5vdCBpc2luc3RhbmNlKHZhbHVlLCBpbnQpOgotICAgICAgICAgICAgcmFpc2UgVHlwZUVycm9yKCIlcyBtdXN0IGJlIGFuIGludGVnZXIiICUgbmFtZSkKLSAgICAgICAgaWYgdm1pbiA9PSAnLWluZic6Ci0gICAgICAgICAgICBpZiB2YWx1ZSA+IHZtYXg6Ci0gICAgICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigiJXMgbXVzdCBiZSBpbiBbJXMsICVkXS4gZ290OiAlcyIgJSAobmFtZSwgdm1pbiwgdm1heCwgdmFsdWUpKQotICAgICAgICBlbGlmIHZtYXggPT0gJ2luZic6Ci0gICAgICAgICAgICBpZiB2YWx1ZSA8IHZtaW46Ci0gICAgICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigiJXMgbXVzdCBiZSBpbiBbJWQsICVzXS4gZ290OiAlcyIgJSAobmFtZSwgdm1pbiwgdm1heCwgdmFsdWUpKQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgaWYgdmFsdWUgPCB2bWluIG9yIHZhbHVlID4gdm1heDoKLSAgICAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCIlcyBtdXN0IGJlIGluIFslZCwgJWRdLiBnb3QgJXMiICUgKG5hbWUsIHZtaW4sIHZtYXgsIHZhbHVlKSkKLSAgICAgICAgcmV0dXJuIG9iamVjdC5fX3NldGF0dHJfXyhzZWxmLCBuYW1lLCB2YWx1ZSkKLQotICAgIGRlZiBfc2V0X3NpZ25hbF9kaWN0KHNlbGYsIG5hbWUsIGQpOgotICAgICAgICBpZiBub3QgaXNpbnN0YW5jZShkLCBkaWN0KToKLSAgICAgICAgICAgIHJhaXNlIFR5cGVFcnJvcigiJXMgbXVzdCBiZSBhIHNpZ25hbCBkaWN0IiAlIGQpCi0gICAgICAgIGZvciBrZXkgaW4gZDoKLSAgICAgICAgICAgIGlmIG5vdCBrZXkgaW4gX3NpZ25hbHM6Ci0gICAgICAgICAgICAgICAgcmFpc2UgS2V5RXJyb3IoIiVzIGlzIG5vdCBhIHZhbGlkIHNpZ25hbCBkaWN0IiAlIGQpCi0gICAgICAgIGZvciBrZXkgaW4gX3NpZ25hbHM6Ci0gICAgICAgICAgICBpZiBub3Qga2V5IGluIGQ6Ci0gICAgICAgICAgICAgICAgcmFpc2UgS2V5RXJyb3IoIiVzIGlzIG5vdCBhIHZhbGlkIHNpZ25hbCBkaWN0IiAlIGQpCi0gICAgICAgIHJldHVybiBvYmplY3QuX19zZXRhdHRyX18oc2VsZiwgbmFtZSwgZCkKLQotICAgIGRlZiBfX3NldGF0dHJfXyhzZWxmLCBuYW1lLCB2YWx1ZSk6Ci0gICAgICAgIGlmIG5hbWUgPT0gJ3ByZWMnOgotICAgICAgICAgICAgcmV0dXJuIHNlbGYuX3NldF9pbnRlZ2VyX2NoZWNrKG5hbWUsIHZhbHVlLCAxLCAnaW5mJykKLSAgICAgICAgZWxpZiBuYW1lID09ICdFbWluJzoKLSAgICAgICAgICAgIHJldHVybiBzZWxmLl9zZXRfaW50ZWdlcl9jaGVjayhuYW1lLCB2YWx1ZSwgJy1pbmYnLCAwKQotICAgICAgICBlbGlmIG5hbWUgPT0gJ0VtYXgnOgotICAgICAgICAgICAgcmV0dXJuIHNlbGYuX3NldF9pbnRlZ2VyX2NoZWNrKG5hbWUsIHZhbHVlLCAwLCAnaW5mJykKLSAgICAgICAgZWxpZiBuYW1lID09ICdjYXBpdGFscyc6Ci0gICAgICAgICAgICByZXR1cm4gc2VsZi5fc2V0X2ludGVnZXJfY2hlY2sobmFtZSwgdmFsdWUsIDAsIDEpCi0gICAgICAgIGVsaWYgbmFtZSA9PSAnY2xhbXAnOgotICAgICAgICAgICAgcmV0dXJuIHNlbGYuX3NldF9pbnRlZ2VyX2NoZWNrKG5hbWUsIHZhbHVlLCAwLCAxKQotICAgICAgICBlbGlmIG5hbWUgPT0gJ3JvdW5kaW5nJzoKLSAgICAgICAgICAgIGlmIG5vdCB2YWx1ZSBpbiBfcm91bmRpbmdfbW9kZXM6Ci0gICAgICAgICAgICAgICAgIyByYWlzZSBUeXBlRXJyb3IgZXZlbiBmb3Igc3RyaW5ncyB0byBoYXZlIGNvbnNpc3RlbmN5Ci0gICAgICAgICAgICAgICAgIyBhbW9uZyB2YXJpb3VzIGltcGxlbWVudGF0aW9ucy4KLSAgICAgICAgICAgICAgICByYWlzZSBUeXBlRXJyb3IoIiVzOiBpbnZhbGlkIHJvdW5kaW5nIG1vZGUiICUgdmFsdWUpCi0gICAgICAgICAgICByZXR1cm4gb2JqZWN0Ll9fc2V0YXR0cl9fKHNlbGYsIG5hbWUsIHZhbHVlKQotICAgICAgICBlbGlmIG5hbWUgPT0gJ2ZsYWdzJyBvciBuYW1lID09ICd0cmFwcyc6Ci0gICAgICAgICAgICByZXR1cm4gc2VsZi5fc2V0X3NpZ25hbF9kaWN0KG5hbWUsIHZhbHVlKQotICAgICAgICBlbGlmIG5hbWUgPT0gJ19pZ25vcmVkX2ZsYWdzJzoKLSAgICAgICAgICAgIHJldHVybiBvYmplY3QuX19zZXRhdHRyX18oc2VsZiwgbmFtZSwgdmFsdWUpCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICByYWlzZSBBdHRyaWJ1dGVFcnJvcigKLSAgICAgICAgICAgICAgICAiJ2RlY2ltYWwuQ29udGV4dCcgb2JqZWN0IGhhcyBubyBhdHRyaWJ1dGUgJyVzJyIgJSBuYW1lKQotCi0gICAgZGVmIF9fZGVsYXR0cl9fKHNlbGYsIG5hbWUpOgotICAgICAgICByYWlzZSBBdHRyaWJ1dGVFcnJvcigiJXMgY2Fubm90IGJlIGRlbGV0ZWQiICUgbmFtZSkKLQotICAgICMgU3VwcG9ydCBmb3IgcGlja2xpbmcsIGNvcHksIGFuZCBkZWVwY29weQotICAgIGRlZiBfX3JlZHVjZV9fKHNlbGYpOgotICAgICAgICBmbGFncyA9IFtzaWcgZm9yIHNpZywgdiBpbiBzZWxmLmZsYWdzLml0ZW1zKCkgaWYgdl0KLSAgICAgICAgdHJhcHMgPSBbc2lnIGZvciBzaWcsIHYgaW4gc2VsZi50cmFwcy5pdGVtcygpIGlmIHZdCi0gICAgICAgIHJldHVybiAoc2VsZi5fX2NsYXNzX18sCi0gICAgICAgICAgICAgICAgKHNlbGYucHJlYywgc2VsZi5yb3VuZGluZywgc2VsZi5FbWluLCBzZWxmLkVtYXgsCi0gICAgICAgICAgICAgICAgIHNlbGYuY2FwaXRhbHMsIHNlbGYuY2xhbXAsIGZsYWdzLCB0cmFwcykpCi0KLSAgICBkZWYgX19yZXByX18oc2VsZik6Ci0gICAgICAgICIiIlNob3cgdGhlIGN1cnJlbnQgY29udGV4dC4iIiIKLSAgICAgICAgcyA9IFtdCi0gICAgICAgIHMuYXBwZW5kKCdDb250ZXh0KHByZWM9JShwcmVjKWQsIHJvdW5kaW5nPSUocm91bmRpbmcpcywgJwotICAgICAgICAgICAgICAgICAnRW1pbj0lKEVtaW4pZCwgRW1heD0lKEVtYXgpZCwgY2FwaXRhbHM9JShjYXBpdGFscylkLCAnCi0gICAgICAgICAgICAgICAgICdjbGFtcD0lKGNsYW1wKWQnCi0gICAgICAgICAgICAgICAgICUgdmFycyhzZWxmKSkKLSAgICAgICAgbmFtZXMgPSBbZi5fX25hbWVfXyBmb3IgZiwgdiBpbiBzZWxmLmZsYWdzLml0ZW1zKCkgaWYgdl0KLSAgICAgICAgcy5hcHBlbmQoJ2ZsYWdzPVsnICsgJywgJy5qb2luKG5hbWVzKSArICddJykKLSAgICAgICAgbmFtZXMgPSBbdC5fX25hbWVfXyBmb3IgdCwgdiBpbiBzZWxmLnRyYXBzLml0ZW1zKCkgaWYgdl0KLSAgICAgICAgcy5hcHBlbmQoJ3RyYXBzPVsnICsgJywgJy5qb2luKG5hbWVzKSArICddJykKLSAgICAgICAgcmV0dXJuICcsICcuam9pbihzKSArICcpJwotCi0gICAgZGVmIGNsZWFyX2ZsYWdzKHNlbGYpOgotICAgICAgICAiIiJSZXNldCBhbGwgZmxhZ3MgdG8gemVybyIiIgotICAgICAgICBmb3IgZmxhZyBpbiBzZWxmLmZsYWdzOgotICAgICAgICAgICAgc2VsZi5mbGFnc1tmbGFnXSA9IDAKLQotICAgIGRlZiBjbGVhcl90cmFwcyhzZWxmKToKLSAgICAgICAgIiIiUmVzZXQgYWxsIHRyYXBzIHRvIHplcm8iIiIKLSAgICAgICAgZm9yIGZsYWcgaW4gc2VsZi50cmFwczoKLSAgICAgICAgICAgIHNlbGYudHJhcHNbZmxhZ10gPSAwCi0KLSAgICBkZWYgX3NoYWxsb3dfY29weShzZWxmKToKLSAgICAgICAgIiIiUmV0dXJucyBhIHNoYWxsb3cgY29weSBmcm9tIHNlbGYuIiIiCi0gICAgICAgIG5jID0gQ29udGV4dChzZWxmLnByZWMsIHNlbGYucm91bmRpbmcsIHNlbGYuRW1pbiwgc2VsZi5FbWF4LAotICAgICAgICAgICAgICAgICAgICAgc2VsZi5jYXBpdGFscywgc2VsZi5jbGFtcCwgc2VsZi5mbGFncywgc2VsZi50cmFwcywKLSAgICAgICAgICAgICAgICAgICAgIHNlbGYuX2lnbm9yZWRfZmxhZ3MpCi0gICAgICAgIHJldHVybiBuYwotCi0gICAgZGVmIGNvcHkoc2VsZik6Ci0gICAgICAgICIiIlJldHVybnMgYSBkZWVwIGNvcHkgZnJvbSBzZWxmLiIiIgotICAgICAgICBuYyA9IENvbnRleHQoc2VsZi5wcmVjLCBzZWxmLnJvdW5kaW5nLCBzZWxmLkVtaW4sIHNlbGYuRW1heCwKLSAgICAgICAgICAgICAgICAgICAgIHNlbGYuY2FwaXRhbHMsIHNlbGYuY2xhbXAsCi0gICAgICAgICAgICAgICAgICAgICBzZWxmLmZsYWdzLmNvcHkoKSwgc2VsZi50cmFwcy5jb3B5KCksCi0gICAgICAgICAgICAgICAgICAgICBzZWxmLl9pZ25vcmVkX2ZsYWdzKQotICAgICAgICByZXR1cm4gbmMKLSAgICBfX2NvcHlfXyA9IGNvcHkKLQotICAgIGRlZiBfcmFpc2VfZXJyb3Ioc2VsZiwgY29uZGl0aW9uLCBleHBsYW5hdGlvbiA9IE5vbmUsICphcmdzKToKLSAgICAgICAgIiIiSGFuZGxlcyBhbiBlcnJvcgotCi0gICAgICAgIElmIHRoZSBmbGFnIGlzIGluIF9pZ25vcmVkX2ZsYWdzLCByZXR1cm5zIHRoZSBkZWZhdWx0IHJlc3BvbnNlLgotICAgICAgICBPdGhlcndpc2UsIGl0IHNldHMgdGhlIGZsYWcsIHRoZW4sIGlmIHRoZSBjb3JyZXNwb25kaW5nCi0gICAgICAgIHRyYXBfZW5hYmxlciBpcyBzZXQsIGl0IHJlcmFpc2VzIHRoZSBleGNlcHRpb24uICBPdGhlcndpc2UsIGl0IHJldHVybnMKLSAgICAgICAgdGhlIGRlZmF1bHQgdmFsdWUgYWZ0ZXIgc2V0dGluZyB0aGUgZmxhZy4KLSAgICAgICAgIiIiCi0gICAgICAgIGVycm9yID0gX2NvbmRpdGlvbl9tYXAuZ2V0KGNvbmRpdGlvbiwgY29uZGl0aW9uKQotICAgICAgICBpZiBlcnJvciBpbiBzZWxmLl9pZ25vcmVkX2ZsYWdzOgotICAgICAgICAgICAgIyBEb24ndCB0b3VjaCB0aGUgZmxhZwotICAgICAgICAgICAgcmV0dXJuIGVycm9yKCkuaGFuZGxlKHNlbGYsICphcmdzKQotCi0gICAgICAgIHNlbGYuZmxhZ3NbZXJyb3JdID0gMQotICAgICAgICBpZiBub3Qgc2VsZi50cmFwc1tlcnJvcl06Ci0gICAgICAgICAgICAjIFRoZSBlcnJvcnMgZGVmaW5lIGhvdyB0byBoYW5kbGUgdGhlbXNlbHZlcy4KLSAgICAgICAgICAgIHJldHVybiBjb25kaXRpb24oKS5oYW5kbGUoc2VsZiwgKmFyZ3MpCi0KLSAgICAgICAgIyBFcnJvcnMgc2hvdWxkIG9ubHkgYmUgcmlza2VkIG9uIGNvcGllcyBvZiB0aGUgY29udGV4dAotICAgICAgICAjIHNlbGYuX2lnbm9yZWRfZmxhZ3MgPSBbXQotICAgICAgICByYWlzZSBlcnJvcihleHBsYW5hdGlvbikKLQotICAgIGRlZiBfaWdub3JlX2FsbF9mbGFncyhzZWxmKToKLSAgICAgICAgIiIiSWdub3JlIGFsbCBmbGFncywgaWYgdGhleSBhcmUgcmFpc2VkIiIiCi0gICAgICAgIHJldHVybiBzZWxmLl9pZ25vcmVfZmxhZ3MoKl9zaWduYWxzKQotCi0gICAgZGVmIF9pZ25vcmVfZmxhZ3Moc2VsZiwgKmZsYWdzKToKLSAgICAgICAgIiIiSWdub3JlIHRoZSBmbGFncywgaWYgdGhleSBhcmUgcmFpc2VkIiIiCi0gICAgICAgICMgRG8gbm90IG11dGF0ZS0tIFRoaXMgd2F5LCBjb3BpZXMgb2YgYSBjb250ZXh0IGxlYXZlIHRoZSBvcmlnaW5hbAotICAgICAgICAjIGFsb25lLgotICAgICAgICBzZWxmLl9pZ25vcmVkX2ZsYWdzID0gKHNlbGYuX2lnbm9yZWRfZmxhZ3MgKyBsaXN0KGZsYWdzKSkKLSAgICAgICAgcmV0dXJuIGxpc3QoZmxhZ3MpCi0KLSAgICBkZWYgX3JlZ2FyZF9mbGFncyhzZWxmLCAqZmxhZ3MpOgotICAgICAgICAiIiJTdG9wIGlnbm9yaW5nIHRoZSBmbGFncywgaWYgdGhleSBhcmUgcmFpc2VkIiIiCi0gICAgICAgIGlmIGZsYWdzIGFuZCBpc2luc3RhbmNlKGZsYWdzWzBdLCAodHVwbGUsbGlzdCkpOgotICAgICAgICAgICAgZmxhZ3MgPSBmbGFnc1swXQotICAgICAgICBmb3IgZmxhZyBpbiBmbGFnczoKLSAgICAgICAgICAgIHNlbGYuX2lnbm9yZWRfZmxhZ3MucmVtb3ZlKGZsYWcpCi0KLSAgICAjIFdlIGluaGVyaXQgb2JqZWN0Ll9faGFzaF9fLCBzbyB3ZSBtdXN0IGRlbnkgdGhpcyBleHBsaWNpdGx5Ci0gICAgX19oYXNoX18gPSBOb25lCi0KLSAgICBkZWYgRXRpbnkoc2VsZik6Ci0gICAgICAgICIiIlJldHVybnMgRXRpbnkgKD0gRW1pbiAtIHByZWMgKyAxKSIiIgotICAgICAgICByZXR1cm4gaW50KHNlbGYuRW1pbiAtIHNlbGYucHJlYyArIDEpCi0KLSAgICBkZWYgRXRvcChzZWxmKToKLSAgICAgICAgIiIiUmV0dXJucyBtYXhpbXVtIGV4cG9uZW50ICg9IEVtYXggLSBwcmVjICsgMSkiIiIKLSAgICAgICAgcmV0dXJuIGludChzZWxmLkVtYXggLSBzZWxmLnByZWMgKyAxKQotCi0gICAgZGVmIF9zZXRfcm91bmRpbmcoc2VsZiwgdHlwZSk6Ci0gICAgICAgICIiIlNldHMgdGhlIHJvdW5kaW5nIHR5cGUuCi0KLSAgICAgICAgU2V0cyB0aGUgcm91bmRpbmcgdHlwZSwgYW5kIHJldHVybnMgdGhlIGN1cnJlbnQgKHByZXZpb3VzKQotICAgICAgICByb3VuZGluZyB0eXBlLiAgT2Z0ZW4gdXNlZCBsaWtlOgotCi0gICAgICAgIGNvbnRleHQgPSBjb250ZXh0LmNvcHkoKQotICAgICAgICAjIHNvIHlvdSBkb24ndCBjaGFuZ2UgdGhlIGNhbGxpbmcgY29udGV4dAotICAgICAgICAjIGlmIGFuIGVycm9yIG9jY3VycyBpbiB0aGUgbWlkZGxlLgotICAgICAgICByb3VuZGluZyA9IGNvbnRleHQuX3NldF9yb3VuZGluZyhST1VORF9VUCkKLSAgICAgICAgdmFsID0gc2VsZi5fX3N1Yl9fKG90aGVyLCBjb250ZXh0PWNvbnRleHQpCi0gICAgICAgIGNvbnRleHQuX3NldF9yb3VuZGluZyhyb3VuZGluZykKLQotICAgICAgICBUaGlzIHdpbGwgbWFrZSBpdCByb3VuZCB1cCBmb3IgdGhhdCBvcGVyYXRpb24uCi0gICAgICAgICIiIgotICAgICAgICByb3VuZGluZyA9IHNlbGYucm91bmRpbmcKLSAgICAgICAgc2VsZi5yb3VuZGluZz0gdHlwZQotICAgICAgICByZXR1cm4gcm91bmRpbmcKLQotICAgIGRlZiBjcmVhdGVfZGVjaW1hbChzZWxmLCBudW09JzAnKToKLSAgICAgICAgIiIiQ3JlYXRlcyBhIG5ldyBEZWNpbWFsIGluc3RhbmNlIGJ1dCB1c2luZyBzZWxmIGFzIGNvbnRleHQuCi0KLSAgICAgICAgVGhpcyBtZXRob2QgaW1wbGVtZW50cyB0aGUgdG8tbnVtYmVyIG9wZXJhdGlvbiBvZiB0aGUKLSAgICAgICAgSUJNIERlY2ltYWwgc3BlY2lmaWNhdGlvbi4iIiIKLQotICAgICAgICBpZiBpc2luc3RhbmNlKG51bSwgc3RyKSBhbmQgbnVtICE9IG51bS5zdHJpcCgpOgotICAgICAgICAgICAgcmV0dXJuIHNlbGYuX3JhaXNlX2Vycm9yKENvbnZlcnNpb25TeW50YXgsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5vIHRyYWlsaW5nIG9yIGxlYWRpbmcgd2hpdGVzcGFjZSBpcyAiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBlcm1pdHRlZC4iKQotCi0gICAgICAgIGQgPSBEZWNpbWFsKG51bSwgY29udGV4dD1zZWxmKQotICAgICAgICBpZiBkLl9pc25hbigpIGFuZCBsZW4oZC5faW50KSA+IHNlbGYucHJlYyAtIHNlbGYuY2xhbXA6Ci0gICAgICAgICAgICByZXR1cm4gc2VsZi5fcmFpc2VfZXJyb3IoQ29udmVyc2lvblN5bnRheCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGlhZ25vc3RpYyBpbmZvIHRvbyBsb25nIGluIE5hTiIpCi0gICAgICAgIHJldHVybiBkLl9maXgoc2VsZikKLQotICAgIGRlZiBjcmVhdGVfZGVjaW1hbF9mcm9tX2Zsb2F0KHNlbGYsIGYpOgotICAgICAgICAiIiJDcmVhdGVzIGEgbmV3IERlY2ltYWwgaW5zdGFuY2UgZnJvbSBhIGZsb2F0IGJ1dCByb3VuZGluZyB1c2luZyBzZWxmCi0gICAgICAgIGFzIHRoZSBjb250ZXh0LgotCi0gICAgICAgID4+PiBjb250ZXh0ID0gQ29udGV4dChwcmVjPTUsIHJvdW5kaW5nPVJPVU5EX0RPV04pCi0gICAgICAgID4+PiBjb250ZXh0LmNyZWF0ZV9kZWNpbWFsX2Zyb21fZmxvYXQoMy4xNDE1OTI2NTM1ODk3OTMyKQotICAgICAgICBEZWNpbWFsKCczLjE0MTUnKQotICAgICAgICA+Pj4gY29udGV4dCA9IENvbnRleHQocHJlYz01LCB0cmFwcz1bSW5leGFjdF0pCi0gICAgICAgID4+PiBjb250ZXh0LmNyZWF0ZV9kZWNpbWFsX2Zyb21fZmxvYXQoMy4xNDE1OTI2NTM1ODk3OTMyKQotICAgICAgICBUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6Ci0gICAgICAgICAgICAuLi4KLSAgICAgICAgZGVjaW1hbC5JbmV4YWN0OiBOb25lCi0KLSAgICAgICAgIiIiCi0gICAgICAgIGQgPSBEZWNpbWFsLmZyb21fZmxvYXQoZikgICAgICAgIyBBbiBleGFjdCBjb252ZXJzaW9uCi0gICAgICAgIHJldHVybiBkLl9maXgoc2VsZikgICAgICAgICAgICAgIyBBcHBseSB0aGUgY29udGV4dCByb3VuZGluZwotCi0gICAgIyBNZXRob2RzCi0gICAgZGVmIGFicyhzZWxmLCBhKToKLSAgICAgICAgIiIiUmV0dXJucyB0aGUgYWJzb2x1dGUgdmFsdWUgb2YgdGhlIG9wZXJhbmQuCi0KLSAgICAgICAgSWYgdGhlIG9wZXJhbmQgaXMgbmVnYXRpdmUsIHRoZSByZXN1bHQgaXMgdGhlIHNhbWUgYXMgdXNpbmcgdGhlIG1pbnVzCi0gICAgICAgIG9wZXJhdGlvbiBvbiB0aGUgb3BlcmFuZC4gIE90aGVyd2lzZSwgdGhlIHJlc3VsdCBpcyB0aGUgc2FtZSBhcyB1c2luZwotICAgICAgICB0aGUgcGx1cyBvcGVyYXRpb24gb24gdGhlIG9wZXJhbmQuCi0KLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5hYnMoRGVjaW1hbCgnMi4xJykpCi0gICAgICAgIERlY2ltYWwoJzIuMScpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuYWJzKERlY2ltYWwoJy0xMDAnKSkKLSAgICAgICAgRGVjaW1hbCgnMTAwJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5hYnMoRGVjaW1hbCgnMTAxLjUnKSkKLSAgICAgICAgRGVjaW1hbCgnMTAxLjUnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmFicyhEZWNpbWFsKCctMTAxLjUnKSkKLSAgICAgICAgRGVjaW1hbCgnMTAxLjUnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmFicygtMSkKLSAgICAgICAgRGVjaW1hbCgnMScpCi0gICAgICAgICIiIgotICAgICAgICBhID0gX2NvbnZlcnRfb3RoZXIoYSwgcmFpc2VpdD1UcnVlKQotICAgICAgICByZXR1cm4gYS5fX2Fic19fKGNvbnRleHQ9c2VsZikKLQotICAgIGRlZiBhZGQoc2VsZiwgYSwgYik6Ci0gICAgICAgICIiIlJldHVybiB0aGUgc3VtIG9mIHRoZSB0d28gb3BlcmFuZHMuCi0KLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5hZGQoRGVjaW1hbCgnMTInKSwgRGVjaW1hbCgnNy4wMCcpKQotICAgICAgICBEZWNpbWFsKCcxOS4wMCcpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuYWRkKERlY2ltYWwoJzFFKzInKSwgRGVjaW1hbCgnMS4wMUUrNCcpKQotICAgICAgICBEZWNpbWFsKCcxLjAyRSs0JykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5hZGQoMSwgRGVjaW1hbCgyKSkKLSAgICAgICAgRGVjaW1hbCgnMycpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuYWRkKERlY2ltYWwoOCksIDUpCi0gICAgICAgIERlY2ltYWwoJzEzJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5hZGQoNSwgNSkKLSAgICAgICAgRGVjaW1hbCgnMTAnKQotICAgICAgICAiIiIKLSAgICAgICAgYSA9IF9jb252ZXJ0X290aGVyKGEsIHJhaXNlaXQ9VHJ1ZSkKLSAgICAgICAgciA9IGEuX19hZGRfXyhiLCBjb250ZXh0PXNlbGYpCi0gICAgICAgIGlmIHIgaXMgTm90SW1wbGVtZW50ZWQ6Ci0gICAgICAgICAgICByYWlzZSBUeXBlRXJyb3IoIlVuYWJsZSB0byBjb252ZXJ0ICVzIHRvIERlY2ltYWwiICUgYikKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHJldHVybiByCi0KLSAgICBkZWYgX2FwcGx5KHNlbGYsIGEpOgotICAgICAgICByZXR1cm4gc3RyKGEuX2ZpeChzZWxmKSkKLQotICAgIGRlZiBjYW5vbmljYWwoc2VsZiwgYSk6Ci0gICAgICAgICIiIlJldHVybnMgdGhlIHNhbWUgRGVjaW1hbCBvYmplY3QuCi0KLSAgICAgICAgQXMgd2UgZG8gbm90IGhhdmUgZGlmZmVyZW50IGVuY29kaW5ncyBmb3IgdGhlIHNhbWUgbnVtYmVyLCB0aGUKLSAgICAgICAgcmVjZWl2ZWQgb2JqZWN0IGFscmVhZHkgaXMgaW4gaXRzIGNhbm9uaWNhbCBmb3JtLgotCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuY2Fub25pY2FsKERlY2ltYWwoJzIuNTAnKSkKLSAgICAgICAgRGVjaW1hbCgnMi41MCcpCi0gICAgICAgICIiIgotICAgICAgICBpZiBub3QgaXNpbnN0YW5jZShhLCBEZWNpbWFsKToKLSAgICAgICAgICAgIHJhaXNlIFR5cGVFcnJvcigiY2Fub25pY2FsIHJlcXVpcmVzIGEgRGVjaW1hbCBhcyBhbiBhcmd1bWVudC4iKQotICAgICAgICByZXR1cm4gYS5jYW5vbmljYWwoKQotCi0gICAgZGVmIGNvbXBhcmUoc2VsZiwgYSwgYik6Ci0gICAgICAgICIiIkNvbXBhcmVzIHZhbHVlcyBudW1lcmljYWxseS4KLQotICAgICAgICBJZiB0aGUgc2lnbnMgb2YgdGhlIG9wZXJhbmRzIGRpZmZlciwgYSB2YWx1ZSByZXByZXNlbnRpbmcgZWFjaCBvcGVyYW5kCi0gICAgICAgICgnLTEnIGlmIHRoZSBvcGVyYW5kIGlzIGxlc3MgdGhhbiB6ZXJvLCAnMCcgaWYgdGhlIG9wZXJhbmQgaXMgemVybyBvcgotICAgICAgICBuZWdhdGl2ZSB6ZXJvLCBvciAnMScgaWYgdGhlIG9wZXJhbmQgaXMgZ3JlYXRlciB0aGFuIHplcm8pIGlzIHVzZWQgaW4KLSAgICAgICAgcGxhY2Ugb2YgdGhhdCBvcGVyYW5kIGZvciB0aGUgY29tcGFyaXNvbiBpbnN0ZWFkIG9mIHRoZSBhY3R1YWwKLSAgICAgICAgb3BlcmFuZC4KLQotICAgICAgICBUaGUgY29tcGFyaXNvbiBpcyB0aGVuIGVmZmVjdGVkIGJ5IHN1YnRyYWN0aW5nIHRoZSBzZWNvbmQgb3BlcmFuZCBmcm9tCi0gICAgICAgIHRoZSBmaXJzdCBhbmQgdGhlbiByZXR1cm5pbmcgYSB2YWx1ZSBhY2NvcmRpbmcgdG8gdGhlIHJlc3VsdCBvZiB0aGUKLSAgICAgICAgc3VidHJhY3Rpb246ICctMScgaWYgdGhlIHJlc3VsdCBpcyBsZXNzIHRoYW4gemVybywgJzAnIGlmIHRoZSByZXN1bHQgaXMKLSAgICAgICAgemVybyBvciBuZWdhdGl2ZSB6ZXJvLCBvciAnMScgaWYgdGhlIHJlc3VsdCBpcyBncmVhdGVyIHRoYW4gemVyby4KLQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmNvbXBhcmUoRGVjaW1hbCgnMi4xJyksIERlY2ltYWwoJzMnKSkKLSAgICAgICAgRGVjaW1hbCgnLTEnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmNvbXBhcmUoRGVjaW1hbCgnMi4xJyksIERlY2ltYWwoJzIuMScpKQotICAgICAgICBEZWNpbWFsKCcwJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5jb21wYXJlKERlY2ltYWwoJzIuMScpLCBEZWNpbWFsKCcyLjEwJykpCi0gICAgICAgIERlY2ltYWwoJzAnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmNvbXBhcmUoRGVjaW1hbCgnMycpLCBEZWNpbWFsKCcyLjEnKSkKLSAgICAgICAgRGVjaW1hbCgnMScpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuY29tcGFyZShEZWNpbWFsKCcyLjEnKSwgRGVjaW1hbCgnLTMnKSkKLSAgICAgICAgRGVjaW1hbCgnMScpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuY29tcGFyZShEZWNpbWFsKCctMycpLCBEZWNpbWFsKCcyLjEnKSkKLSAgICAgICAgRGVjaW1hbCgnLTEnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmNvbXBhcmUoMSwgMikKLSAgICAgICAgRGVjaW1hbCgnLTEnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmNvbXBhcmUoRGVjaW1hbCgxKSwgMikKLSAgICAgICAgRGVjaW1hbCgnLTEnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmNvbXBhcmUoMSwgRGVjaW1hbCgyKSkKLSAgICAgICAgRGVjaW1hbCgnLTEnKQotICAgICAgICAiIiIKLSAgICAgICAgYSA9IF9jb252ZXJ0X290aGVyKGEsIHJhaXNlaXQ9VHJ1ZSkKLSAgICAgICAgcmV0dXJuIGEuY29tcGFyZShiLCBjb250ZXh0PXNlbGYpCi0KLSAgICBkZWYgY29tcGFyZV9zaWduYWwoc2VsZiwgYSwgYik6Ci0gICAgICAgICIiIkNvbXBhcmVzIHRoZSB2YWx1ZXMgb2YgdGhlIHR3byBvcGVyYW5kcyBudW1lcmljYWxseS4KLQotICAgICAgICBJdCdzIHByZXR0eSBtdWNoIGxpa2UgY29tcGFyZSgpLCBidXQgYWxsIE5hTnMgc2lnbmFsLCB3aXRoIHNpZ25hbGluZwotICAgICAgICBOYU5zIHRha2luZyBwcmVjZWRlbmNlIG92ZXIgcXVpZXQgTmFOcy4KLQotICAgICAgICA+Pj4gYyA9IEV4dGVuZGVkQ29udGV4dAotICAgICAgICA+Pj4gYy5jb21wYXJlX3NpZ25hbChEZWNpbWFsKCcyLjEnKSwgRGVjaW1hbCgnMycpKQotICAgICAgICBEZWNpbWFsKCctMScpCi0gICAgICAgID4+PiBjLmNvbXBhcmVfc2lnbmFsKERlY2ltYWwoJzIuMScpLCBEZWNpbWFsKCcyLjEnKSkKLSAgICAgICAgRGVjaW1hbCgnMCcpCi0gICAgICAgID4+PiBjLmZsYWdzW0ludmFsaWRPcGVyYXRpb25dID0gMAotICAgICAgICA+Pj4gcHJpbnQoYy5mbGFnc1tJbnZhbGlkT3BlcmF0aW9uXSkKLSAgICAgICAgMAotICAgICAgICA+Pj4gYy5jb21wYXJlX3NpZ25hbChEZWNpbWFsKCdOYU4nKSwgRGVjaW1hbCgnMi4xJykpCi0gICAgICAgIERlY2ltYWwoJ05hTicpCi0gICAgICAgID4+PiBwcmludChjLmZsYWdzW0ludmFsaWRPcGVyYXRpb25dKQotICAgICAgICAxCi0gICAgICAgID4+PiBjLmZsYWdzW0ludmFsaWRPcGVyYXRpb25dID0gMAotICAgICAgICA+Pj4gcHJpbnQoYy5mbGFnc1tJbnZhbGlkT3BlcmF0aW9uXSkKLSAgICAgICAgMAotICAgICAgICA+Pj4gYy5jb21wYXJlX3NpZ25hbChEZWNpbWFsKCdzTmFOJyksIERlY2ltYWwoJzIuMScpKQotICAgICAgICBEZWNpbWFsKCdOYU4nKQotICAgICAgICA+Pj4gcHJpbnQoYy5mbGFnc1tJbnZhbGlkT3BlcmF0aW9uXSkKLSAgICAgICAgMQotICAgICAgICA+Pj4gYy5jb21wYXJlX3NpZ25hbCgtMSwgMikKLSAgICAgICAgRGVjaW1hbCgnLTEnKQotICAgICAgICA+Pj4gYy5jb21wYXJlX3NpZ25hbChEZWNpbWFsKC0xKSwgMikKLSAgICAgICAgRGVjaW1hbCgnLTEnKQotICAgICAgICA+Pj4gYy5jb21wYXJlX3NpZ25hbCgtMSwgRGVjaW1hbCgyKSkKLSAgICAgICAgRGVjaW1hbCgnLTEnKQotICAgICAgICAiIiIKLSAgICAgICAgYSA9IF9jb252ZXJ0X290aGVyKGEsIHJhaXNlaXQ9VHJ1ZSkKLSAgICAgICAgcmV0dXJuIGEuY29tcGFyZV9zaWduYWwoYiwgY29udGV4dD1zZWxmKQotCi0gICAgZGVmIGNvbXBhcmVfdG90YWwoc2VsZiwgYSwgYik6Ci0gICAgICAgICIiIkNvbXBhcmVzIHR3byBvcGVyYW5kcyB1c2luZyB0aGVpciBhYnN0cmFjdCByZXByZXNlbnRhdGlvbi4KLQotICAgICAgICBUaGlzIGlzIG5vdCBsaWtlIHRoZSBzdGFuZGFyZCBjb21wYXJlLCB3aGljaCB1c2UgdGhlaXIgbnVtZXJpY2FsCi0gICAgICAgIHZhbHVlLiBOb3RlIHRoYXQgYSB0b3RhbCBvcmRlcmluZyBpcyBkZWZpbmVkIGZvciBhbGwgcG9zc2libGUgYWJzdHJhY3QKLSAgICAgICAgcmVwcmVzZW50YXRpb25zLgotCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuY29tcGFyZV90b3RhbChEZWNpbWFsKCcxMi43MycpLCBEZWNpbWFsKCcxMjcuOScpKQotICAgICAgICBEZWNpbWFsKCctMScpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuY29tcGFyZV90b3RhbChEZWNpbWFsKCctMTI3JyksICBEZWNpbWFsKCcxMicpKQotICAgICAgICBEZWNpbWFsKCctMScpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuY29tcGFyZV90b3RhbChEZWNpbWFsKCcxMi4zMCcpLCBEZWNpbWFsKCcxMi4zJykpCi0gICAgICAgIERlY2ltYWwoJy0xJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5jb21wYXJlX3RvdGFsKERlY2ltYWwoJzEyLjMwJyksIERlY2ltYWwoJzEyLjMwJykpCi0gICAgICAgIERlY2ltYWwoJzAnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmNvbXBhcmVfdG90YWwoRGVjaW1hbCgnMTIuMycpLCAgRGVjaW1hbCgnMTIuMzAwJykpCi0gICAgICAgIERlY2ltYWwoJzEnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmNvbXBhcmVfdG90YWwoRGVjaW1hbCgnMTIuMycpLCAgRGVjaW1hbCgnTmFOJykpCi0gICAgICAgIERlY2ltYWwoJy0xJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5jb21wYXJlX3RvdGFsKDEsIDIpCi0gICAgICAgIERlY2ltYWwoJy0xJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5jb21wYXJlX3RvdGFsKERlY2ltYWwoMSksIDIpCi0gICAgICAgIERlY2ltYWwoJy0xJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5jb21wYXJlX3RvdGFsKDEsIERlY2ltYWwoMikpCi0gICAgICAgIERlY2ltYWwoJy0xJykKLSAgICAgICAgIiIiCi0gICAgICAgIGEgPSBfY29udmVydF9vdGhlcihhLCByYWlzZWl0PVRydWUpCi0gICAgICAgIHJldHVybiBhLmNvbXBhcmVfdG90YWwoYikKLQotICAgIGRlZiBjb21wYXJlX3RvdGFsX21hZyhzZWxmLCBhLCBiKToKLSAgICAgICAgIiIiQ29tcGFyZXMgdHdvIG9wZXJhbmRzIHVzaW5nIHRoZWlyIGFic3RyYWN0IHJlcHJlc2VudGF0aW9uIGlnbm9yaW5nIHNpZ24uCi0KLSAgICAgICAgTGlrZSBjb21wYXJlX3RvdGFsLCBidXQgd2l0aCBvcGVyYW5kJ3Mgc2lnbiBpZ25vcmVkIGFuZCBhc3N1bWVkIHRvIGJlIDAuCi0gICAgICAgICIiIgotICAgICAgICBhID0gX2NvbnZlcnRfb3RoZXIoYSwgcmFpc2VpdD1UcnVlKQotICAgICAgICByZXR1cm4gYS5jb21wYXJlX3RvdGFsX21hZyhiKQotCi0gICAgZGVmIGNvcHlfYWJzKHNlbGYsIGEpOgotICAgICAgICAiIiJSZXR1cm5zIGEgY29weSBvZiB0aGUgb3BlcmFuZCB3aXRoIHRoZSBzaWduIHNldCB0byAwLgotCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuY29weV9hYnMoRGVjaW1hbCgnMi4xJykpCi0gICAgICAgIERlY2ltYWwoJzIuMScpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuY29weV9hYnMoRGVjaW1hbCgnLTEwMCcpKQotICAgICAgICBEZWNpbWFsKCcxMDAnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmNvcHlfYWJzKC0xKQotICAgICAgICBEZWNpbWFsKCcxJykKLSAgICAgICAgIiIiCi0gICAgICAgIGEgPSBfY29udmVydF9vdGhlcihhLCByYWlzZWl0PVRydWUpCi0gICAgICAgIHJldHVybiBhLmNvcHlfYWJzKCkKLQotICAgIGRlZiBjb3B5X2RlY2ltYWwoc2VsZiwgYSk6Ci0gICAgICAgICIiIlJldHVybnMgYSBjb3B5IG9mIHRoZSBkZWNpbWFsIG9iamVjdC4KLQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmNvcHlfZGVjaW1hbChEZWNpbWFsKCcyLjEnKSkKLSAgICAgICAgRGVjaW1hbCgnMi4xJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5jb3B5X2RlY2ltYWwoRGVjaW1hbCgnLTEuMDAnKSkKLSAgICAgICAgRGVjaW1hbCgnLTEuMDAnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmNvcHlfZGVjaW1hbCgxKQotICAgICAgICBEZWNpbWFsKCcxJykKLSAgICAgICAgIiIiCi0gICAgICAgIGEgPSBfY29udmVydF9vdGhlcihhLCByYWlzZWl0PVRydWUpCi0gICAgICAgIHJldHVybiBEZWNpbWFsKGEpCi0KLSAgICBkZWYgY29weV9uZWdhdGUoc2VsZiwgYSk6Ci0gICAgICAgICIiIlJldHVybnMgYSBjb3B5IG9mIHRoZSBvcGVyYW5kIHdpdGggdGhlIHNpZ24gaW52ZXJ0ZWQuCi0KLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5jb3B5X25lZ2F0ZShEZWNpbWFsKCcxMDEuNScpKQotICAgICAgICBEZWNpbWFsKCctMTAxLjUnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmNvcHlfbmVnYXRlKERlY2ltYWwoJy0xMDEuNScpKQotICAgICAgICBEZWNpbWFsKCcxMDEuNScpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuY29weV9uZWdhdGUoMSkKLSAgICAgICAgRGVjaW1hbCgnLTEnKQotICAgICAgICAiIiIKLSAgICAgICAgYSA9IF9jb252ZXJ0X290aGVyKGEsIHJhaXNlaXQ9VHJ1ZSkKLSAgICAgICAgcmV0dXJuIGEuY29weV9uZWdhdGUoKQotCi0gICAgZGVmIGNvcHlfc2lnbihzZWxmLCBhLCBiKToKLSAgICAgICAgIiIiQ29waWVzIHRoZSBzZWNvbmQgb3BlcmFuZCdzIHNpZ24gdG8gdGhlIGZpcnN0IG9uZS4KLQotICAgICAgICBJbiBkZXRhaWwsIGl0IHJldHVybnMgYSBjb3B5IG9mIHRoZSBmaXJzdCBvcGVyYW5kIHdpdGggdGhlIHNpZ24KLSAgICAgICAgZXF1YWwgdG8gdGhlIHNpZ24gb2YgdGhlIHNlY29uZCBvcGVyYW5kLgotCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuY29weV9zaWduKERlY2ltYWwoICcxLjUwJyksIERlY2ltYWwoJzcuMzMnKSkKLSAgICAgICAgRGVjaW1hbCgnMS41MCcpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuY29weV9zaWduKERlY2ltYWwoJy0xLjUwJyksIERlY2ltYWwoJzcuMzMnKSkKLSAgICAgICAgRGVjaW1hbCgnMS41MCcpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuY29weV9zaWduKERlY2ltYWwoICcxLjUwJyksIERlY2ltYWwoJy03LjMzJykpCi0gICAgICAgIERlY2ltYWwoJy0xLjUwJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5jb3B5X3NpZ24oRGVjaW1hbCgnLTEuNTAnKSwgRGVjaW1hbCgnLTcuMzMnKSkKLSAgICAgICAgRGVjaW1hbCgnLTEuNTAnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmNvcHlfc2lnbigxLCAtMikKLSAgICAgICAgRGVjaW1hbCgnLTEnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmNvcHlfc2lnbihEZWNpbWFsKDEpLCAtMikKLSAgICAgICAgRGVjaW1hbCgnLTEnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmNvcHlfc2lnbigxLCBEZWNpbWFsKC0yKSkKLSAgICAgICAgRGVjaW1hbCgnLTEnKQotICAgICAgICAiIiIKLSAgICAgICAgYSA9IF9jb252ZXJ0X290aGVyKGEsIHJhaXNlaXQ9VHJ1ZSkKLSAgICAgICAgcmV0dXJuIGEuY29weV9zaWduKGIpCi0KLSAgICBkZWYgZGl2aWRlKHNlbGYsIGEsIGIpOgotICAgICAgICAiIiJEZWNpbWFsIGRpdmlzaW9uIGluIGEgc3BlY2lmaWVkIGNvbnRleHQuCi0KLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5kaXZpZGUoRGVjaW1hbCgnMScpLCBEZWNpbWFsKCczJykpCi0gICAgICAgIERlY2ltYWwoJzAuMzMzMzMzMzMzJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5kaXZpZGUoRGVjaW1hbCgnMicpLCBEZWNpbWFsKCczJykpCi0gICAgICAgIERlY2ltYWwoJzAuNjY2NjY2NjY3JykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5kaXZpZGUoRGVjaW1hbCgnNScpLCBEZWNpbWFsKCcyJykpCi0gICAgICAgIERlY2ltYWwoJzIuNScpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuZGl2aWRlKERlY2ltYWwoJzEnKSwgRGVjaW1hbCgnMTAnKSkKLSAgICAgICAgRGVjaW1hbCgnMC4xJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5kaXZpZGUoRGVjaW1hbCgnMTInKSwgRGVjaW1hbCgnMTInKSkKLSAgICAgICAgRGVjaW1hbCgnMScpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuZGl2aWRlKERlY2ltYWwoJzguMDAnKSwgRGVjaW1hbCgnMicpKQotICAgICAgICBEZWNpbWFsKCc0LjAwJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5kaXZpZGUoRGVjaW1hbCgnMi40MDAnKSwgRGVjaW1hbCgnMi4wJykpCi0gICAgICAgIERlY2ltYWwoJzEuMjAnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmRpdmlkZShEZWNpbWFsKCcxMDAwJyksIERlY2ltYWwoJzEwMCcpKQotICAgICAgICBEZWNpbWFsKCcxMCcpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuZGl2aWRlKERlY2ltYWwoJzEwMDAnKSwgRGVjaW1hbCgnMScpKQotICAgICAgICBEZWNpbWFsKCcxMDAwJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5kaXZpZGUoRGVjaW1hbCgnMi40MEUrNicpLCBEZWNpbWFsKCcyJykpCi0gICAgICAgIERlY2ltYWwoJzEuMjBFKzYnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmRpdmlkZSg1LCA1KQotICAgICAgICBEZWNpbWFsKCcxJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5kaXZpZGUoRGVjaW1hbCg1KSwgNSkKLSAgICAgICAgRGVjaW1hbCgnMScpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuZGl2aWRlKDUsIERlY2ltYWwoNSkpCi0gICAgICAgIERlY2ltYWwoJzEnKQotICAgICAgICAiIiIKLSAgICAgICAgYSA9IF9jb252ZXJ0X290aGVyKGEsIHJhaXNlaXQ9VHJ1ZSkKLSAgICAgICAgciA9IGEuX190cnVlZGl2X18oYiwgY29udGV4dD1zZWxmKQotICAgICAgICBpZiByIGlzIE5vdEltcGxlbWVudGVkOgotICAgICAgICAgICAgcmFpc2UgVHlwZUVycm9yKCJVbmFibGUgdG8gY29udmVydCAlcyB0byBEZWNpbWFsIiAlIGIpCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICByZXR1cm4gcgotCi0gICAgZGVmIGRpdmlkZV9pbnQoc2VsZiwgYSwgYik6Ci0gICAgICAgICIiIkRpdmlkZXMgdHdvIG51bWJlcnMgYW5kIHJldHVybnMgdGhlIGludGVnZXIgcGFydCBvZiB0aGUgcmVzdWx0LgotCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuZGl2aWRlX2ludChEZWNpbWFsKCcyJyksIERlY2ltYWwoJzMnKSkKLSAgICAgICAgRGVjaW1hbCgnMCcpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuZGl2aWRlX2ludChEZWNpbWFsKCcxMCcpLCBEZWNpbWFsKCczJykpCi0gICAgICAgIERlY2ltYWwoJzMnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmRpdmlkZV9pbnQoRGVjaW1hbCgnMScpLCBEZWNpbWFsKCcwLjMnKSkKLSAgICAgICAgRGVjaW1hbCgnMycpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuZGl2aWRlX2ludCgxMCwgMykKLSAgICAgICAgRGVjaW1hbCgnMycpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuZGl2aWRlX2ludChEZWNpbWFsKDEwKSwgMykKLSAgICAgICAgRGVjaW1hbCgnMycpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuZGl2aWRlX2ludCgxMCwgRGVjaW1hbCgzKSkKLSAgICAgICAgRGVjaW1hbCgnMycpCi0gICAgICAgICIiIgotICAgICAgICBhID0gX2NvbnZlcnRfb3RoZXIoYSwgcmFpc2VpdD1UcnVlKQotICAgICAgICByID0gYS5fX2Zsb29yZGl2X18oYiwgY29udGV4dD1zZWxmKQotICAgICAgICBpZiByIGlzIE5vdEltcGxlbWVudGVkOgotICAgICAgICAgICAgcmFpc2UgVHlwZUVycm9yKCJVbmFibGUgdG8gY29udmVydCAlcyB0byBEZWNpbWFsIiAlIGIpCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICByZXR1cm4gcgotCi0gICAgZGVmIGRpdm1vZChzZWxmLCBhLCBiKToKLSAgICAgICAgIiIiUmV0dXJuIChhIC8vIGIsIGEgJSBiKS4KLQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmRpdm1vZChEZWNpbWFsKDgpLCBEZWNpbWFsKDMpKQotICAgICAgICAoRGVjaW1hbCgnMicpLCBEZWNpbWFsKCcyJykpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuZGl2bW9kKERlY2ltYWwoOCksIERlY2ltYWwoNCkpCi0gICAgICAgIChEZWNpbWFsKCcyJyksIERlY2ltYWwoJzAnKSkKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5kaXZtb2QoOCwgNCkKLSAgICAgICAgKERlY2ltYWwoJzInKSwgRGVjaW1hbCgnMCcpKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmRpdm1vZChEZWNpbWFsKDgpLCA0KQotICAgICAgICAoRGVjaW1hbCgnMicpLCBEZWNpbWFsKCcwJykpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuZGl2bW9kKDgsIERlY2ltYWwoNCkpCi0gICAgICAgIChEZWNpbWFsKCcyJyksIERlY2ltYWwoJzAnKSkKLSAgICAgICAgIiIiCi0gICAgICAgIGEgPSBfY29udmVydF9vdGhlcihhLCByYWlzZWl0PVRydWUpCi0gICAgICAgIHIgPSBhLl9fZGl2bW9kX18oYiwgY29udGV4dD1zZWxmKQotICAgICAgICBpZiByIGlzIE5vdEltcGxlbWVudGVkOgotICAgICAgICAgICAgcmFpc2UgVHlwZUVycm9yKCJVbmFibGUgdG8gY29udmVydCAlcyB0byBEZWNpbWFsIiAlIGIpCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICByZXR1cm4gcgotCi0gICAgZGVmIGV4cChzZWxmLCBhKToKLSAgICAgICAgIiIiUmV0dXJucyBlICoqIGEuCi0KLSAgICAgICAgPj4+IGMgPSBFeHRlbmRlZENvbnRleHQuY29weSgpCi0gICAgICAgID4+PiBjLkVtaW4gPSAtOTk5Ci0gICAgICAgID4+PiBjLkVtYXggPSA5OTkKLSAgICAgICAgPj4+IGMuZXhwKERlY2ltYWwoJy1JbmZpbml0eScpKQotICAgICAgICBEZWNpbWFsKCcwJykKLSAgICAgICAgPj4+IGMuZXhwKERlY2ltYWwoJy0xJykpCi0gICAgICAgIERlY2ltYWwoJzAuMzY3ODc5NDQxJykKLSAgICAgICAgPj4+IGMuZXhwKERlY2ltYWwoJzAnKSkKLSAgICAgICAgRGVjaW1hbCgnMScpCi0gICAgICAgID4+PiBjLmV4cChEZWNpbWFsKCcxJykpCi0gICAgICAgIERlY2ltYWwoJzIuNzE4MjgxODMnKQotICAgICAgICA+Pj4gYy5leHAoRGVjaW1hbCgnMC42OTMxNDcxODEnKSkKLSAgICAgICAgRGVjaW1hbCgnMi4wMDAwMDAwMCcpCi0gICAgICAgID4+PiBjLmV4cChEZWNpbWFsKCcrSW5maW5pdHknKSkKLSAgICAgICAgRGVjaW1hbCgnSW5maW5pdHknKQotICAgICAgICA+Pj4gYy5leHAoMTApCi0gICAgICAgIERlY2ltYWwoJzIyMDI2LjQ2NTgnKQotICAgICAgICAiIiIKLSAgICAgICAgYSA9X2NvbnZlcnRfb3RoZXIoYSwgcmFpc2VpdD1UcnVlKQotICAgICAgICByZXR1cm4gYS5leHAoY29udGV4dD1zZWxmKQotCi0gICAgZGVmIGZtYShzZWxmLCBhLCBiLCBjKToKLSAgICAgICAgIiIiUmV0dXJucyBhIG11bHRpcGxpZWQgYnkgYiwgcGx1cyBjLgotCi0gICAgICAgIFRoZSBmaXJzdCB0d28gb3BlcmFuZHMgYXJlIG11bHRpcGxpZWQgdG9nZXRoZXIsIHVzaW5nIG11bHRpcGx5LAotICAgICAgICB0aGUgdGhpcmQgb3BlcmFuZCBpcyB0aGVuIGFkZGVkIHRvIHRoZSByZXN1bHQgb2YgdGhhdAotICAgICAgICBtdWx0aXBsaWNhdGlvbiwgdXNpbmcgYWRkLCBhbGwgd2l0aCBvbmx5IG9uZSBmaW5hbCByb3VuZGluZy4KLQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmZtYShEZWNpbWFsKCczJyksIERlY2ltYWwoJzUnKSwgRGVjaW1hbCgnNycpKQotICAgICAgICBEZWNpbWFsKCcyMicpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuZm1hKERlY2ltYWwoJzMnKSwgRGVjaW1hbCgnLTUnKSwgRGVjaW1hbCgnNycpKQotICAgICAgICBEZWNpbWFsKCctOCcpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuZm1hKERlY2ltYWwoJzg4ODU2NTI5MCcpLCBEZWNpbWFsKCcxNTU3Ljk2OTMwJyksIERlY2ltYWwoJy04NjA4Ny43NTc4JykpCi0gICAgICAgIERlY2ltYWwoJzEuMzg0MzU3MzZFKzEyJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5mbWEoMSwgMywgNCkKLSAgICAgICAgRGVjaW1hbCgnNycpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuZm1hKDEsIERlY2ltYWwoMyksIDQpCi0gICAgICAgIERlY2ltYWwoJzcnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmZtYSgxLCAzLCBEZWNpbWFsKDQpKQotICAgICAgICBEZWNpbWFsKCc3JykKLSAgICAgICAgIiIiCi0gICAgICAgIGEgPSBfY29udmVydF9vdGhlcihhLCByYWlzZWl0PVRydWUpCi0gICAgICAgIHJldHVybiBhLmZtYShiLCBjLCBjb250ZXh0PXNlbGYpCi0KLSAgICBkZWYgaXNfY2Fub25pY2FsKHNlbGYsIGEpOgotICAgICAgICAiIiJSZXR1cm4gVHJ1ZSBpZiB0aGUgb3BlcmFuZCBpcyBjYW5vbmljYWw7IG90aGVyd2lzZSByZXR1cm4gRmFsc2UuCi0KLSAgICAgICAgQ3VycmVudGx5LCB0aGUgZW5jb2Rpbmcgb2YgYSBEZWNpbWFsIGluc3RhbmNlIGlzIGFsd2F5cwotICAgICAgICBjYW5vbmljYWwsIHNvIHRoaXMgbWV0aG9kIHJldHVybnMgVHJ1ZSBmb3IgYW55IERlY2ltYWwuCi0KLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5pc19jYW5vbmljYWwoRGVjaW1hbCgnMi41MCcpKQotICAgICAgICBUcnVlCi0gICAgICAgICIiIgotICAgICAgICBpZiBub3QgaXNpbnN0YW5jZShhLCBEZWNpbWFsKToKLSAgICAgICAgICAgIHJhaXNlIFR5cGVFcnJvcigiaXNfY2Fub25pY2FsIHJlcXVpcmVzIGEgRGVjaW1hbCBhcyBhbiBhcmd1bWVudC4iKQotICAgICAgICByZXR1cm4gYS5pc19jYW5vbmljYWwoKQotCi0gICAgZGVmIGlzX2Zpbml0ZShzZWxmLCBhKToKLSAgICAgICAgIiIiUmV0dXJuIFRydWUgaWYgdGhlIG9wZXJhbmQgaXMgZmluaXRlOyBvdGhlcndpc2UgcmV0dXJuIEZhbHNlLgotCi0gICAgICAgIEEgRGVjaW1hbCBpbnN0YW5jZSBpcyBjb25zaWRlcmVkIGZpbml0ZSBpZiBpdCBpcyBuZWl0aGVyCi0gICAgICAgIGluZmluaXRlIG5vciBhIE5hTi4KLQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmlzX2Zpbml0ZShEZWNpbWFsKCcyLjUwJykpCi0gICAgICAgIFRydWUKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5pc19maW5pdGUoRGVjaW1hbCgnLTAuMycpKQotICAgICAgICBUcnVlCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuaXNfZmluaXRlKERlY2ltYWwoJzAnKSkKLSAgICAgICAgVHJ1ZQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmlzX2Zpbml0ZShEZWNpbWFsKCdJbmYnKSkKLSAgICAgICAgRmFsc2UKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5pc19maW5pdGUoRGVjaW1hbCgnTmFOJykpCi0gICAgICAgIEZhbHNlCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuaXNfZmluaXRlKDEpCi0gICAgICAgIFRydWUKLSAgICAgICAgIiIiCi0gICAgICAgIGEgPSBfY29udmVydF9vdGhlcihhLCByYWlzZWl0PVRydWUpCi0gICAgICAgIHJldHVybiBhLmlzX2Zpbml0ZSgpCi0KLSAgICBkZWYgaXNfaW5maW5pdGUoc2VsZiwgYSk6Ci0gICAgICAgICIiIlJldHVybiBUcnVlIGlmIHRoZSBvcGVyYW5kIGlzIGluZmluaXRlOyBvdGhlcndpc2UgcmV0dXJuIEZhbHNlLgotCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuaXNfaW5maW5pdGUoRGVjaW1hbCgnMi41MCcpKQotICAgICAgICBGYWxzZQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmlzX2luZmluaXRlKERlY2ltYWwoJy1JbmYnKSkKLSAgICAgICAgVHJ1ZQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmlzX2luZmluaXRlKERlY2ltYWwoJ05hTicpKQotICAgICAgICBGYWxzZQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmlzX2luZmluaXRlKDEpCi0gICAgICAgIEZhbHNlCi0gICAgICAgICIiIgotICAgICAgICBhID0gX2NvbnZlcnRfb3RoZXIoYSwgcmFpc2VpdD1UcnVlKQotICAgICAgICByZXR1cm4gYS5pc19pbmZpbml0ZSgpCi0KLSAgICBkZWYgaXNfbmFuKHNlbGYsIGEpOgotICAgICAgICAiIiJSZXR1cm4gVHJ1ZSBpZiB0aGUgb3BlcmFuZCBpcyBhIHFOYU4gb3Igc05hTjsKLSAgICAgICAgb3RoZXJ3aXNlIHJldHVybiBGYWxzZS4KLQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmlzX25hbihEZWNpbWFsKCcyLjUwJykpCi0gICAgICAgIEZhbHNlCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuaXNfbmFuKERlY2ltYWwoJ05hTicpKQotICAgICAgICBUcnVlCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuaXNfbmFuKERlY2ltYWwoJy1zTmFOJykpCi0gICAgICAgIFRydWUKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5pc19uYW4oMSkKLSAgICAgICAgRmFsc2UKLSAgICAgICAgIiIiCi0gICAgICAgIGEgPSBfY29udmVydF9vdGhlcihhLCByYWlzZWl0PVRydWUpCi0gICAgICAgIHJldHVybiBhLmlzX25hbigpCi0KLSAgICBkZWYgaXNfbm9ybWFsKHNlbGYsIGEpOgotICAgICAgICAiIiJSZXR1cm4gVHJ1ZSBpZiB0aGUgb3BlcmFuZCBpcyBhIG5vcm1hbCBudW1iZXI7Ci0gICAgICAgIG90aGVyd2lzZSByZXR1cm4gRmFsc2UuCi0KLSAgICAgICAgPj4+IGMgPSBFeHRlbmRlZENvbnRleHQuY29weSgpCi0gICAgICAgID4+PiBjLkVtaW4gPSAtOTk5Ci0gICAgICAgID4+PiBjLkVtYXggPSA5OTkKLSAgICAgICAgPj4+IGMuaXNfbm9ybWFsKERlY2ltYWwoJzIuNTAnKSkKLSAgICAgICAgVHJ1ZQotICAgICAgICA+Pj4gYy5pc19ub3JtYWwoRGVjaW1hbCgnMC4xRS05OTknKSkKLSAgICAgICAgRmFsc2UKLSAgICAgICAgPj4+IGMuaXNfbm9ybWFsKERlY2ltYWwoJzAuMDAnKSkKLSAgICAgICAgRmFsc2UKLSAgICAgICAgPj4+IGMuaXNfbm9ybWFsKERlY2ltYWwoJy1JbmYnKSkKLSAgICAgICAgRmFsc2UKLSAgICAgICAgPj4+IGMuaXNfbm9ybWFsKERlY2ltYWwoJ05hTicpKQotICAgICAgICBGYWxzZQotICAgICAgICA+Pj4gYy5pc19ub3JtYWwoMSkKLSAgICAgICAgVHJ1ZQotICAgICAgICAiIiIKLSAgICAgICAgYSA9IF9jb252ZXJ0X290aGVyKGEsIHJhaXNlaXQ9VHJ1ZSkKLSAgICAgICAgcmV0dXJuIGEuaXNfbm9ybWFsKGNvbnRleHQ9c2VsZikKLQotICAgIGRlZiBpc19xbmFuKHNlbGYsIGEpOgotICAgICAgICAiIiJSZXR1cm4gVHJ1ZSBpZiB0aGUgb3BlcmFuZCBpcyBhIHF1aWV0IE5hTjsgb3RoZXJ3aXNlIHJldHVybiBGYWxzZS4KLQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmlzX3FuYW4oRGVjaW1hbCgnMi41MCcpKQotICAgICAgICBGYWxzZQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmlzX3FuYW4oRGVjaW1hbCgnTmFOJykpCi0gICAgICAgIFRydWUKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5pc19xbmFuKERlY2ltYWwoJ3NOYU4nKSkKLSAgICAgICAgRmFsc2UKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5pc19xbmFuKDEpCi0gICAgICAgIEZhbHNlCi0gICAgICAgICIiIgotICAgICAgICBhID0gX2NvbnZlcnRfb3RoZXIoYSwgcmFpc2VpdD1UcnVlKQotICAgICAgICByZXR1cm4gYS5pc19xbmFuKCkKLQotICAgIGRlZiBpc19zaWduZWQoc2VsZiwgYSk6Ci0gICAgICAgICIiIlJldHVybiBUcnVlIGlmIHRoZSBvcGVyYW5kIGlzIG5lZ2F0aXZlOyBvdGhlcndpc2UgcmV0dXJuIEZhbHNlLgotCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuaXNfc2lnbmVkKERlY2ltYWwoJzIuNTAnKSkKLSAgICAgICAgRmFsc2UKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5pc19zaWduZWQoRGVjaW1hbCgnLTEyJykpCi0gICAgICAgIFRydWUKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5pc19zaWduZWQoRGVjaW1hbCgnLTAnKSkKLSAgICAgICAgVHJ1ZQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmlzX3NpZ25lZCg4KQotICAgICAgICBGYWxzZQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmlzX3NpZ25lZCgtOCkKLSAgICAgICAgVHJ1ZQotICAgICAgICAiIiIKLSAgICAgICAgYSA9IF9jb252ZXJ0X290aGVyKGEsIHJhaXNlaXQ9VHJ1ZSkKLSAgICAgICAgcmV0dXJuIGEuaXNfc2lnbmVkKCkKLQotICAgIGRlZiBpc19zbmFuKHNlbGYsIGEpOgotICAgICAgICAiIiJSZXR1cm4gVHJ1ZSBpZiB0aGUgb3BlcmFuZCBpcyBhIHNpZ25hbGluZyBOYU47Ci0gICAgICAgIG90aGVyd2lzZSByZXR1cm4gRmFsc2UuCi0KLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5pc19zbmFuKERlY2ltYWwoJzIuNTAnKSkKLSAgICAgICAgRmFsc2UKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5pc19zbmFuKERlY2ltYWwoJ05hTicpKQotICAgICAgICBGYWxzZQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmlzX3NuYW4oRGVjaW1hbCgnc05hTicpKQotICAgICAgICBUcnVlCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuaXNfc25hbigxKQotICAgICAgICBGYWxzZQotICAgICAgICAiIiIKLSAgICAgICAgYSA9IF9jb252ZXJ0X290aGVyKGEsIHJhaXNlaXQ9VHJ1ZSkKLSAgICAgICAgcmV0dXJuIGEuaXNfc25hbigpCi0KLSAgICBkZWYgaXNfc3Vibm9ybWFsKHNlbGYsIGEpOgotICAgICAgICAiIiJSZXR1cm4gVHJ1ZSBpZiB0aGUgb3BlcmFuZCBpcyBzdWJub3JtYWw7IG90aGVyd2lzZSByZXR1cm4gRmFsc2UuCi0KLSAgICAgICAgPj4+IGMgPSBFeHRlbmRlZENvbnRleHQuY29weSgpCi0gICAgICAgID4+PiBjLkVtaW4gPSAtOTk5Ci0gICAgICAgID4+PiBjLkVtYXggPSA5OTkKLSAgICAgICAgPj4+IGMuaXNfc3Vibm9ybWFsKERlY2ltYWwoJzIuNTAnKSkKLSAgICAgICAgRmFsc2UKLSAgICAgICAgPj4+IGMuaXNfc3Vibm9ybWFsKERlY2ltYWwoJzAuMUUtOTk5JykpCi0gICAgICAgIFRydWUKLSAgICAgICAgPj4+IGMuaXNfc3Vibm9ybWFsKERlY2ltYWwoJzAuMDAnKSkKLSAgICAgICAgRmFsc2UKLSAgICAgICAgPj4+IGMuaXNfc3Vibm9ybWFsKERlY2ltYWwoJy1JbmYnKSkKLSAgICAgICAgRmFsc2UKLSAgICAgICAgPj4+IGMuaXNfc3Vibm9ybWFsKERlY2ltYWwoJ05hTicpKQotICAgICAgICBGYWxzZQotICAgICAgICA+Pj4gYy5pc19zdWJub3JtYWwoMSkKLSAgICAgICAgRmFsc2UKLSAgICAgICAgIiIiCi0gICAgICAgIGEgPSBfY29udmVydF9vdGhlcihhLCByYWlzZWl0PVRydWUpCi0gICAgICAgIHJldHVybiBhLmlzX3N1Ym5vcm1hbChjb250ZXh0PXNlbGYpCi0KLSAgICBkZWYgaXNfemVybyhzZWxmLCBhKToKLSAgICAgICAgIiIiUmV0dXJuIFRydWUgaWYgdGhlIG9wZXJhbmQgaXMgYSB6ZXJvOyBvdGhlcndpc2UgcmV0dXJuIEZhbHNlLgotCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuaXNfemVybyhEZWNpbWFsKCcwJykpCi0gICAgICAgIFRydWUKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5pc196ZXJvKERlY2ltYWwoJzIuNTAnKSkKLSAgICAgICAgRmFsc2UKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5pc196ZXJvKERlY2ltYWwoJy0wRSsyJykpCi0gICAgICAgIFRydWUKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5pc196ZXJvKDEpCi0gICAgICAgIEZhbHNlCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuaXNfemVybygwKQotICAgICAgICBUcnVlCi0gICAgICAgICIiIgotICAgICAgICBhID0gX2NvbnZlcnRfb3RoZXIoYSwgcmFpc2VpdD1UcnVlKQotICAgICAgICByZXR1cm4gYS5pc196ZXJvKCkKLQotICAgIGRlZiBsbihzZWxmLCBhKToKLSAgICAgICAgIiIiUmV0dXJucyB0aGUgbmF0dXJhbCAoYmFzZSBlKSBsb2dhcml0aG0gb2YgdGhlIG9wZXJhbmQuCi0KLSAgICAgICAgPj4+IGMgPSBFeHRlbmRlZENvbnRleHQuY29weSgpCi0gICAgICAgID4+PiBjLkVtaW4gPSAtOTk5Ci0gICAgICAgID4+PiBjLkVtYXggPSA5OTkKLSAgICAgICAgPj4+IGMubG4oRGVjaW1hbCgnMCcpKQotICAgICAgICBEZWNpbWFsKCctSW5maW5pdHknKQotICAgICAgICA+Pj4gYy5sbihEZWNpbWFsKCcxLjAwMCcpKQotICAgICAgICBEZWNpbWFsKCcwJykKLSAgICAgICAgPj4+IGMubG4oRGVjaW1hbCgnMi43MTgyODE4MycpKQotICAgICAgICBEZWNpbWFsKCcxLjAwMDAwMDAwJykKLSAgICAgICAgPj4+IGMubG4oRGVjaW1hbCgnMTAnKSkKLSAgICAgICAgRGVjaW1hbCgnMi4zMDI1ODUwOScpCi0gICAgICAgID4+PiBjLmxuKERlY2ltYWwoJytJbmZpbml0eScpKQotICAgICAgICBEZWNpbWFsKCdJbmZpbml0eScpCi0gICAgICAgID4+PiBjLmxuKDEpCi0gICAgICAgIERlY2ltYWwoJzAnKQotICAgICAgICAiIiIKLSAgICAgICAgYSA9IF9jb252ZXJ0X290aGVyKGEsIHJhaXNlaXQ9VHJ1ZSkKLSAgICAgICAgcmV0dXJuIGEubG4oY29udGV4dD1zZWxmKQotCi0gICAgZGVmIGxvZzEwKHNlbGYsIGEpOgotICAgICAgICAiIiJSZXR1cm5zIHRoZSBiYXNlIDEwIGxvZ2FyaXRobSBvZiB0aGUgb3BlcmFuZC4KLQotICAgICAgICA+Pj4gYyA9IEV4dGVuZGVkQ29udGV4dC5jb3B5KCkKLSAgICAgICAgPj4+IGMuRW1pbiA9IC05OTkKLSAgICAgICAgPj4+IGMuRW1heCA9IDk5OQotICAgICAgICA+Pj4gYy5sb2cxMChEZWNpbWFsKCcwJykpCi0gICAgICAgIERlY2ltYWwoJy1JbmZpbml0eScpCi0gICAgICAgID4+PiBjLmxvZzEwKERlY2ltYWwoJzAuMDAxJykpCi0gICAgICAgIERlY2ltYWwoJy0zJykKLSAgICAgICAgPj4+IGMubG9nMTAoRGVjaW1hbCgnMS4wMDAnKSkKLSAgICAgICAgRGVjaW1hbCgnMCcpCi0gICAgICAgID4+PiBjLmxvZzEwKERlY2ltYWwoJzInKSkKLSAgICAgICAgRGVjaW1hbCgnMC4zMDEwMjk5OTYnKQotICAgICAgICA+Pj4gYy5sb2cxMChEZWNpbWFsKCcxMCcpKQotICAgICAgICBEZWNpbWFsKCcxJykKLSAgICAgICAgPj4+IGMubG9nMTAoRGVjaW1hbCgnNzAnKSkKLSAgICAgICAgRGVjaW1hbCgnMS44NDUwOTgwNCcpCi0gICAgICAgID4+PiBjLmxvZzEwKERlY2ltYWwoJytJbmZpbml0eScpKQotICAgICAgICBEZWNpbWFsKCdJbmZpbml0eScpCi0gICAgICAgID4+PiBjLmxvZzEwKDApCi0gICAgICAgIERlY2ltYWwoJy1JbmZpbml0eScpCi0gICAgICAgID4+PiBjLmxvZzEwKDEpCi0gICAgICAgIERlY2ltYWwoJzAnKQotICAgICAgICAiIiIKLSAgICAgICAgYSA9IF9jb252ZXJ0X290aGVyKGEsIHJhaXNlaXQ9VHJ1ZSkKLSAgICAgICAgcmV0dXJuIGEubG9nMTAoY29udGV4dD1zZWxmKQotCi0gICAgZGVmIGxvZ2Ioc2VsZiwgYSk6Ci0gICAgICAgICIiIiBSZXR1cm5zIHRoZSBleHBvbmVudCBvZiB0aGUgbWFnbml0dWRlIG9mIHRoZSBvcGVyYW5kJ3MgTVNELgotCi0gICAgICAgIFRoZSByZXN1bHQgaXMgdGhlIGludGVnZXIgd2hpY2ggaXMgdGhlIGV4cG9uZW50IG9mIHRoZSBtYWduaXR1ZGUKLSAgICAgICAgb2YgdGhlIG1vc3Qgc2lnbmlmaWNhbnQgZGlnaXQgb2YgdGhlIG9wZXJhbmQgKGFzIHRob3VnaCB0aGUKLSAgICAgICAgb3BlcmFuZCB3ZXJlIHRydW5jYXRlZCB0byBhIHNpbmdsZSBkaWdpdCB3aGlsZSBtYWludGFpbmluZyB0aGUKLSAgICAgICAgdmFsdWUgb2YgdGhhdCBkaWdpdCBhbmQgd2l0aG91dCBsaW1pdGluZyB0aGUgcmVzdWx0aW5nIGV4cG9uZW50KS4KLQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmxvZ2IoRGVjaW1hbCgnMjUwJykpCi0gICAgICAgIERlY2ltYWwoJzInKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmxvZ2IoRGVjaW1hbCgnMi41MCcpKQotICAgICAgICBEZWNpbWFsKCcwJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5sb2diKERlY2ltYWwoJzAuMDMnKSkKLSAgICAgICAgRGVjaW1hbCgnLTInKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmxvZ2IoRGVjaW1hbCgnMCcpKQotICAgICAgICBEZWNpbWFsKCctSW5maW5pdHknKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmxvZ2IoMSkKLSAgICAgICAgRGVjaW1hbCgnMCcpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubG9nYigxMCkKLSAgICAgICAgRGVjaW1hbCgnMScpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubG9nYigxMDApCi0gICAgICAgIERlY2ltYWwoJzInKQotICAgICAgICAiIiIKLSAgICAgICAgYSA9IF9jb252ZXJ0X290aGVyKGEsIHJhaXNlaXQ9VHJ1ZSkKLSAgICAgICAgcmV0dXJuIGEubG9nYihjb250ZXh0PXNlbGYpCi0KLSAgICBkZWYgbG9naWNhbF9hbmQoc2VsZiwgYSwgYik6Ci0gICAgICAgICIiIkFwcGxpZXMgdGhlIGxvZ2ljYWwgb3BlcmF0aW9uICdhbmQnIGJldHdlZW4gZWFjaCBvcGVyYW5kJ3MgZGlnaXRzLgotCi0gICAgICAgIFRoZSBvcGVyYW5kcyBtdXN0IGJlIGJvdGggbG9naWNhbCBudW1iZXJzLgotCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubG9naWNhbF9hbmQoRGVjaW1hbCgnMCcpLCBEZWNpbWFsKCcwJykpCi0gICAgICAgIERlY2ltYWwoJzAnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmxvZ2ljYWxfYW5kKERlY2ltYWwoJzAnKSwgRGVjaW1hbCgnMScpKQotICAgICAgICBEZWNpbWFsKCcwJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5sb2dpY2FsX2FuZChEZWNpbWFsKCcxJyksIERlY2ltYWwoJzAnKSkKLSAgICAgICAgRGVjaW1hbCgnMCcpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubG9naWNhbF9hbmQoRGVjaW1hbCgnMScpLCBEZWNpbWFsKCcxJykpCi0gICAgICAgIERlY2ltYWwoJzEnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmxvZ2ljYWxfYW5kKERlY2ltYWwoJzExMDAnKSwgRGVjaW1hbCgnMTAxMCcpKQotICAgICAgICBEZWNpbWFsKCcxMDAwJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5sb2dpY2FsX2FuZChEZWNpbWFsKCcxMTExJyksIERlY2ltYWwoJzEwJykpCi0gICAgICAgIERlY2ltYWwoJzEwJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5sb2dpY2FsX2FuZCgxMTAsIDExMDEpCi0gICAgICAgIERlY2ltYWwoJzEwMCcpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubG9naWNhbF9hbmQoRGVjaW1hbCgxMTApLCAxMTAxKQotICAgICAgICBEZWNpbWFsKCcxMDAnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmxvZ2ljYWxfYW5kKDExMCwgRGVjaW1hbCgxMTAxKSkKLSAgICAgICAgRGVjaW1hbCgnMTAwJykKLSAgICAgICAgIiIiCi0gICAgICAgIGEgPSBfY29udmVydF9vdGhlcihhLCByYWlzZWl0PVRydWUpCi0gICAgICAgIHJldHVybiBhLmxvZ2ljYWxfYW5kKGIsIGNvbnRleHQ9c2VsZikKLQotICAgIGRlZiBsb2dpY2FsX2ludmVydChzZWxmLCBhKToKLSAgICAgICAgIiIiSW52ZXJ0IGFsbCB0aGUgZGlnaXRzIGluIHRoZSBvcGVyYW5kLgotCi0gICAgICAgIFRoZSBvcGVyYW5kIG11c3QgYmUgYSBsb2dpY2FsIG51bWJlci4KLQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmxvZ2ljYWxfaW52ZXJ0KERlY2ltYWwoJzAnKSkKLSAgICAgICAgRGVjaW1hbCgnMTExMTExMTExJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5sb2dpY2FsX2ludmVydChEZWNpbWFsKCcxJykpCi0gICAgICAgIERlY2ltYWwoJzExMTExMTExMCcpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubG9naWNhbF9pbnZlcnQoRGVjaW1hbCgnMTExMTExMTExJykpCi0gICAgICAgIERlY2ltYWwoJzAnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmxvZ2ljYWxfaW52ZXJ0KERlY2ltYWwoJzEwMTAxMDEwMScpKQotICAgICAgICBEZWNpbWFsKCcxMDEwMTAxMCcpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubG9naWNhbF9pbnZlcnQoMTEwMSkKLSAgICAgICAgRGVjaW1hbCgnMTExMTEwMDEwJykKLSAgICAgICAgIiIiCi0gICAgICAgIGEgPSBfY29udmVydF9vdGhlcihhLCByYWlzZWl0PVRydWUpCi0gICAgICAgIHJldHVybiBhLmxvZ2ljYWxfaW52ZXJ0KGNvbnRleHQ9c2VsZikKLQotICAgIGRlZiBsb2dpY2FsX29yKHNlbGYsIGEsIGIpOgotICAgICAgICAiIiJBcHBsaWVzIHRoZSBsb2dpY2FsIG9wZXJhdGlvbiAnb3InIGJldHdlZW4gZWFjaCBvcGVyYW5kJ3MgZGlnaXRzLgotCi0gICAgICAgIFRoZSBvcGVyYW5kcyBtdXN0IGJlIGJvdGggbG9naWNhbCBudW1iZXJzLgotCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubG9naWNhbF9vcihEZWNpbWFsKCcwJyksIERlY2ltYWwoJzAnKSkKLSAgICAgICAgRGVjaW1hbCgnMCcpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubG9naWNhbF9vcihEZWNpbWFsKCcwJyksIERlY2ltYWwoJzEnKSkKLSAgICAgICAgRGVjaW1hbCgnMScpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubG9naWNhbF9vcihEZWNpbWFsKCcxJyksIERlY2ltYWwoJzAnKSkKLSAgICAgICAgRGVjaW1hbCgnMScpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubG9naWNhbF9vcihEZWNpbWFsKCcxJyksIERlY2ltYWwoJzEnKSkKLSAgICAgICAgRGVjaW1hbCgnMScpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubG9naWNhbF9vcihEZWNpbWFsKCcxMTAwJyksIERlY2ltYWwoJzEwMTAnKSkKLSAgICAgICAgRGVjaW1hbCgnMTExMCcpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubG9naWNhbF9vcihEZWNpbWFsKCcxMTEwJyksIERlY2ltYWwoJzEwJykpCi0gICAgICAgIERlY2ltYWwoJzExMTAnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmxvZ2ljYWxfb3IoMTEwLCAxMTAxKQotICAgICAgICBEZWNpbWFsKCcxMTExJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5sb2dpY2FsX29yKERlY2ltYWwoMTEwKSwgMTEwMSkKLSAgICAgICAgRGVjaW1hbCgnMTExMScpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubG9naWNhbF9vcigxMTAsIERlY2ltYWwoMTEwMSkpCi0gICAgICAgIERlY2ltYWwoJzExMTEnKQotICAgICAgICAiIiIKLSAgICAgICAgYSA9IF9jb252ZXJ0X290aGVyKGEsIHJhaXNlaXQ9VHJ1ZSkKLSAgICAgICAgcmV0dXJuIGEubG9naWNhbF9vcihiLCBjb250ZXh0PXNlbGYpCi0KLSAgICBkZWYgbG9naWNhbF94b3Ioc2VsZiwgYSwgYik6Ci0gICAgICAgICIiIkFwcGxpZXMgdGhlIGxvZ2ljYWwgb3BlcmF0aW9uICd4b3InIGJldHdlZW4gZWFjaCBvcGVyYW5kJ3MgZGlnaXRzLgotCi0gICAgICAgIFRoZSBvcGVyYW5kcyBtdXN0IGJlIGJvdGggbG9naWNhbCBudW1iZXJzLgotCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubG9naWNhbF94b3IoRGVjaW1hbCgnMCcpLCBEZWNpbWFsKCcwJykpCi0gICAgICAgIERlY2ltYWwoJzAnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmxvZ2ljYWxfeG9yKERlY2ltYWwoJzAnKSwgRGVjaW1hbCgnMScpKQotICAgICAgICBEZWNpbWFsKCcxJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5sb2dpY2FsX3hvcihEZWNpbWFsKCcxJyksIERlY2ltYWwoJzAnKSkKLSAgICAgICAgRGVjaW1hbCgnMScpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubG9naWNhbF94b3IoRGVjaW1hbCgnMScpLCBEZWNpbWFsKCcxJykpCi0gICAgICAgIERlY2ltYWwoJzAnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmxvZ2ljYWxfeG9yKERlY2ltYWwoJzExMDAnKSwgRGVjaW1hbCgnMTAxMCcpKQotICAgICAgICBEZWNpbWFsKCcxMTAnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmxvZ2ljYWxfeG9yKERlY2ltYWwoJzExMTEnKSwgRGVjaW1hbCgnMTAnKSkKLSAgICAgICAgRGVjaW1hbCgnMTEwMScpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubG9naWNhbF94b3IoMTEwLCAxMTAxKQotICAgICAgICBEZWNpbWFsKCcxMDExJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5sb2dpY2FsX3hvcihEZWNpbWFsKDExMCksIDExMDEpCi0gICAgICAgIERlY2ltYWwoJzEwMTEnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LmxvZ2ljYWxfeG9yKDExMCwgRGVjaW1hbCgxMTAxKSkKLSAgICAgICAgRGVjaW1hbCgnMTAxMScpCi0gICAgICAgICIiIgotICAgICAgICBhID0gX2NvbnZlcnRfb3RoZXIoYSwgcmFpc2VpdD1UcnVlKQotICAgICAgICByZXR1cm4gYS5sb2dpY2FsX3hvcihiLCBjb250ZXh0PXNlbGYpCi0KLSAgICBkZWYgbWF4KHNlbGYsIGEsIGIpOgotICAgICAgICAiIiJtYXggY29tcGFyZXMgdHdvIHZhbHVlcyBudW1lcmljYWxseSBhbmQgcmV0dXJucyB0aGUgbWF4aW11bS4KLQotICAgICAgICBJZiBlaXRoZXIgb3BlcmFuZCBpcyBhIE5hTiB0aGVuIHRoZSBnZW5lcmFsIHJ1bGVzIGFwcGx5LgotICAgICAgICBPdGhlcndpc2UsIHRoZSBvcGVyYW5kcyBhcmUgY29tcGFyZWQgYXMgdGhvdWdoIGJ5IHRoZSBjb21wYXJlCi0gICAgICAgIG9wZXJhdGlvbi4gIElmIHRoZXkgYXJlIG51bWVyaWNhbGx5IGVxdWFsIHRoZW4gdGhlIGxlZnQtaGFuZCBvcGVyYW5kCi0gICAgICAgIGlzIGNob3NlbiBhcyB0aGUgcmVzdWx0LiAgT3RoZXJ3aXNlIHRoZSBtYXhpbXVtIChjbG9zZXIgdG8gcG9zaXRpdmUKLSAgICAgICAgaW5maW5pdHkpIG9mIHRoZSB0d28gb3BlcmFuZHMgaXMgY2hvc2VuIGFzIHRoZSByZXN1bHQuCi0KLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5tYXgoRGVjaW1hbCgnMycpLCBEZWNpbWFsKCcyJykpCi0gICAgICAgIERlY2ltYWwoJzMnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0Lm1heChEZWNpbWFsKCctMTAnKSwgRGVjaW1hbCgnMycpKQotICAgICAgICBEZWNpbWFsKCczJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5tYXgoRGVjaW1hbCgnMS4wJyksIERlY2ltYWwoJzEnKSkKLSAgICAgICAgRGVjaW1hbCgnMScpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubWF4KERlY2ltYWwoJzcnKSwgRGVjaW1hbCgnTmFOJykpCi0gICAgICAgIERlY2ltYWwoJzcnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0Lm1heCgxLCAyKQotICAgICAgICBEZWNpbWFsKCcyJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5tYXgoRGVjaW1hbCgxKSwgMikKLSAgICAgICAgRGVjaW1hbCgnMicpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubWF4KDEsIERlY2ltYWwoMikpCi0gICAgICAgIERlY2ltYWwoJzInKQotICAgICAgICAiIiIKLSAgICAgICAgYSA9IF9jb252ZXJ0X290aGVyKGEsIHJhaXNlaXQ9VHJ1ZSkKLSAgICAgICAgcmV0dXJuIGEubWF4KGIsIGNvbnRleHQ9c2VsZikKLQotICAgIGRlZiBtYXhfbWFnKHNlbGYsIGEsIGIpOgotICAgICAgICAiIiJDb21wYXJlcyB0aGUgdmFsdWVzIG51bWVyaWNhbGx5IHdpdGggdGhlaXIgc2lnbiBpZ25vcmVkLgotCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubWF4X21hZyhEZWNpbWFsKCc3JyksIERlY2ltYWwoJ05hTicpKQotICAgICAgICBEZWNpbWFsKCc3JykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5tYXhfbWFnKERlY2ltYWwoJzcnKSwgRGVjaW1hbCgnLTEwJykpCi0gICAgICAgIERlY2ltYWwoJy0xMCcpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubWF4X21hZygxLCAtMikKLSAgICAgICAgRGVjaW1hbCgnLTInKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0Lm1heF9tYWcoRGVjaW1hbCgxKSwgLTIpCi0gICAgICAgIERlY2ltYWwoJy0yJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5tYXhfbWFnKDEsIERlY2ltYWwoLTIpKQotICAgICAgICBEZWNpbWFsKCctMicpCi0gICAgICAgICIiIgotICAgICAgICBhID0gX2NvbnZlcnRfb3RoZXIoYSwgcmFpc2VpdD1UcnVlKQotICAgICAgICByZXR1cm4gYS5tYXhfbWFnKGIsIGNvbnRleHQ9c2VsZikKLQotICAgIGRlZiBtaW4oc2VsZiwgYSwgYik6Ci0gICAgICAgICIiIm1pbiBjb21wYXJlcyB0d28gdmFsdWVzIG51bWVyaWNhbGx5IGFuZCByZXR1cm5zIHRoZSBtaW5pbXVtLgotCi0gICAgICAgIElmIGVpdGhlciBvcGVyYW5kIGlzIGEgTmFOIHRoZW4gdGhlIGdlbmVyYWwgcnVsZXMgYXBwbHkuCi0gICAgICAgIE90aGVyd2lzZSwgdGhlIG9wZXJhbmRzIGFyZSBjb21wYXJlZCBhcyB0aG91Z2ggYnkgdGhlIGNvbXBhcmUKLSAgICAgICAgb3BlcmF0aW9uLiAgSWYgdGhleSBhcmUgbnVtZXJpY2FsbHkgZXF1YWwgdGhlbiB0aGUgbGVmdC1oYW5kIG9wZXJhbmQKLSAgICAgICAgaXMgY2hvc2VuIGFzIHRoZSByZXN1bHQuICBPdGhlcndpc2UgdGhlIG1pbmltdW0gKGNsb3NlciB0byBuZWdhdGl2ZQotICAgICAgICBpbmZpbml0eSkgb2YgdGhlIHR3byBvcGVyYW5kcyBpcyBjaG9zZW4gYXMgdGhlIHJlc3VsdC4KLQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0Lm1pbihEZWNpbWFsKCczJyksIERlY2ltYWwoJzInKSkKLSAgICAgICAgRGVjaW1hbCgnMicpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubWluKERlY2ltYWwoJy0xMCcpLCBEZWNpbWFsKCczJykpCi0gICAgICAgIERlY2ltYWwoJy0xMCcpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubWluKERlY2ltYWwoJzEuMCcpLCBEZWNpbWFsKCcxJykpCi0gICAgICAgIERlY2ltYWwoJzEuMCcpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubWluKERlY2ltYWwoJzcnKSwgRGVjaW1hbCgnTmFOJykpCi0gICAgICAgIERlY2ltYWwoJzcnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0Lm1pbigxLCAyKQotICAgICAgICBEZWNpbWFsKCcxJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5taW4oRGVjaW1hbCgxKSwgMikKLSAgICAgICAgRGVjaW1hbCgnMScpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubWluKDEsIERlY2ltYWwoMjkpKQotICAgICAgICBEZWNpbWFsKCcxJykKLSAgICAgICAgIiIiCi0gICAgICAgIGEgPSBfY29udmVydF9vdGhlcihhLCByYWlzZWl0PVRydWUpCi0gICAgICAgIHJldHVybiBhLm1pbihiLCBjb250ZXh0PXNlbGYpCi0KLSAgICBkZWYgbWluX21hZyhzZWxmLCBhLCBiKToKLSAgICAgICAgIiIiQ29tcGFyZXMgdGhlIHZhbHVlcyBudW1lcmljYWxseSB3aXRoIHRoZWlyIHNpZ24gaWdub3JlZC4KLQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0Lm1pbl9tYWcoRGVjaW1hbCgnMycpLCBEZWNpbWFsKCctMicpKQotICAgICAgICBEZWNpbWFsKCctMicpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubWluX21hZyhEZWNpbWFsKCctMycpLCBEZWNpbWFsKCdOYU4nKSkKLSAgICAgICAgRGVjaW1hbCgnLTMnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0Lm1pbl9tYWcoMSwgLTIpCi0gICAgICAgIERlY2ltYWwoJzEnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0Lm1pbl9tYWcoRGVjaW1hbCgxKSwgLTIpCi0gICAgICAgIERlY2ltYWwoJzEnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0Lm1pbl9tYWcoMSwgRGVjaW1hbCgtMikpCi0gICAgICAgIERlY2ltYWwoJzEnKQotICAgICAgICAiIiIKLSAgICAgICAgYSA9IF9jb252ZXJ0X290aGVyKGEsIHJhaXNlaXQ9VHJ1ZSkKLSAgICAgICAgcmV0dXJuIGEubWluX21hZyhiLCBjb250ZXh0PXNlbGYpCi0KLSAgICBkZWYgbWludXMoc2VsZiwgYSk6Ci0gICAgICAgICIiIk1pbnVzIGNvcnJlc3BvbmRzIHRvIHVuYXJ5IHByZWZpeCBtaW51cyBpbiBQeXRob24uCi0KLSAgICAgICAgVGhlIG9wZXJhdGlvbiBpcyBldmFsdWF0ZWQgdXNpbmcgdGhlIHNhbWUgcnVsZXMgYXMgc3VidHJhY3Q7IHRoZQotICAgICAgICBvcGVyYXRpb24gbWludXMoYSkgaXMgY2FsY3VsYXRlZCBhcyBzdWJ0cmFjdCgnMCcsIGEpIHdoZXJlIHRoZSAnMCcKLSAgICAgICAgaGFzIHRoZSBzYW1lIGV4cG9uZW50IGFzIHRoZSBvcGVyYW5kLgotCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubWludXMoRGVjaW1hbCgnMS4zJykpCi0gICAgICAgIERlY2ltYWwoJy0xLjMnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0Lm1pbnVzKERlY2ltYWwoJy0xLjMnKSkKLSAgICAgICAgRGVjaW1hbCgnMS4zJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5taW51cygxKQotICAgICAgICBEZWNpbWFsKCctMScpCi0gICAgICAgICIiIgotICAgICAgICBhID0gX2NvbnZlcnRfb3RoZXIoYSwgcmFpc2VpdD1UcnVlKQotICAgICAgICByZXR1cm4gYS5fX25lZ19fKGNvbnRleHQ9c2VsZikKLQotICAgIGRlZiBtdWx0aXBseShzZWxmLCBhLCBiKToKLSAgICAgICAgIiIibXVsdGlwbHkgbXVsdGlwbGllcyB0d28gb3BlcmFuZHMuCi0KLSAgICAgICAgSWYgZWl0aGVyIG9wZXJhbmQgaXMgYSBzcGVjaWFsIHZhbHVlIHRoZW4gdGhlIGdlbmVyYWwgcnVsZXMgYXBwbHkuCi0gICAgICAgIE90aGVyd2lzZSwgdGhlIG9wZXJhbmRzIGFyZSBtdWx0aXBsaWVkIHRvZ2V0aGVyCi0gICAgICAgICgnbG9uZyBtdWx0aXBsaWNhdGlvbicpLCByZXN1bHRpbmcgaW4gYSBudW1iZXIgd2hpY2ggbWF5IGJlIGFzIGxvbmcgYXMKLSAgICAgICAgdGhlIHN1bSBvZiB0aGUgbGVuZ3RocyBvZiB0aGUgdHdvIG9wZXJhbmRzLgotCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubXVsdGlwbHkoRGVjaW1hbCgnMS4yMCcpLCBEZWNpbWFsKCczJykpCi0gICAgICAgIERlY2ltYWwoJzMuNjAnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0Lm11bHRpcGx5KERlY2ltYWwoJzcnKSwgRGVjaW1hbCgnMycpKQotICAgICAgICBEZWNpbWFsKCcyMScpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubXVsdGlwbHkoRGVjaW1hbCgnMC45JyksIERlY2ltYWwoJzAuOCcpKQotICAgICAgICBEZWNpbWFsKCcwLjcyJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5tdWx0aXBseShEZWNpbWFsKCcwLjknKSwgRGVjaW1hbCgnLTAnKSkKLSAgICAgICAgRGVjaW1hbCgnLTAuMCcpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubXVsdGlwbHkoRGVjaW1hbCgnNjU0MzIxJyksIERlY2ltYWwoJzY1NDMyMScpKQotICAgICAgICBEZWNpbWFsKCc0LjI4MTM1OTcxRSsxMScpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubXVsdGlwbHkoNywgNykKLSAgICAgICAgRGVjaW1hbCgnNDknKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0Lm11bHRpcGx5KERlY2ltYWwoNyksIDcpCi0gICAgICAgIERlY2ltYWwoJzQ5JykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5tdWx0aXBseSg3LCBEZWNpbWFsKDcpKQotICAgICAgICBEZWNpbWFsKCc0OScpCi0gICAgICAgICIiIgotICAgICAgICBhID0gX2NvbnZlcnRfb3RoZXIoYSwgcmFpc2VpdD1UcnVlKQotICAgICAgICByID0gYS5fX211bF9fKGIsIGNvbnRleHQ9c2VsZikKLSAgICAgICAgaWYgciBpcyBOb3RJbXBsZW1lbnRlZDoKLSAgICAgICAgICAgIHJhaXNlIFR5cGVFcnJvcigiVW5hYmxlIHRvIGNvbnZlcnQgJXMgdG8gRGVjaW1hbCIgJSBiKQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgcmV0dXJuIHIKLQotICAgIGRlZiBuZXh0X21pbnVzKHNlbGYsIGEpOgotICAgICAgICAiIiJSZXR1cm5zIHRoZSBsYXJnZXN0IHJlcHJlc2VudGFibGUgbnVtYmVyIHNtYWxsZXIgdGhhbiBhLgotCi0gICAgICAgID4+PiBjID0gRXh0ZW5kZWRDb250ZXh0LmNvcHkoKQotICAgICAgICA+Pj4gYy5FbWluID0gLTk5OQotICAgICAgICA+Pj4gYy5FbWF4ID0gOTk5Ci0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubmV4dF9taW51cyhEZWNpbWFsKCcxJykpCi0gICAgICAgIERlY2ltYWwoJzAuOTk5OTk5OTk5JykKLSAgICAgICAgPj4+IGMubmV4dF9taW51cyhEZWNpbWFsKCcxRS0xMDA3JykpCi0gICAgICAgIERlY2ltYWwoJzBFLTEwMDcnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0Lm5leHRfbWludXMoRGVjaW1hbCgnLTEuMDAwMDAwMDMnKSkKLSAgICAgICAgRGVjaW1hbCgnLTEuMDAwMDAwMDQnKQotICAgICAgICA+Pj4gYy5uZXh0X21pbnVzKERlY2ltYWwoJ0luZmluaXR5JykpCi0gICAgICAgIERlY2ltYWwoJzkuOTk5OTk5OTlFKzk5OScpCi0gICAgICAgID4+PiBjLm5leHRfbWludXMoMSkKLSAgICAgICAgRGVjaW1hbCgnMC45OTk5OTk5OTknKQotICAgICAgICAiIiIKLSAgICAgICAgYSA9IF9jb252ZXJ0X290aGVyKGEsIHJhaXNlaXQ9VHJ1ZSkKLSAgICAgICAgcmV0dXJuIGEubmV4dF9taW51cyhjb250ZXh0PXNlbGYpCi0KLSAgICBkZWYgbmV4dF9wbHVzKHNlbGYsIGEpOgotICAgICAgICAiIiJSZXR1cm5zIHRoZSBzbWFsbGVzdCByZXByZXNlbnRhYmxlIG51bWJlciBsYXJnZXIgdGhhbiBhLgotCi0gICAgICAgID4+PiBjID0gRXh0ZW5kZWRDb250ZXh0LmNvcHkoKQotICAgICAgICA+Pj4gYy5FbWluID0gLTk5OQotICAgICAgICA+Pj4gYy5FbWF4ID0gOTk5Ci0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubmV4dF9wbHVzKERlY2ltYWwoJzEnKSkKLSAgICAgICAgRGVjaW1hbCgnMS4wMDAwMDAwMScpCi0gICAgICAgID4+PiBjLm5leHRfcGx1cyhEZWNpbWFsKCctMUUtMTAwNycpKQotICAgICAgICBEZWNpbWFsKCctMEUtMTAwNycpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubmV4dF9wbHVzKERlY2ltYWwoJy0xLjAwMDAwMDAzJykpCi0gICAgICAgIERlY2ltYWwoJy0xLjAwMDAwMDAyJykKLSAgICAgICAgPj4+IGMubmV4dF9wbHVzKERlY2ltYWwoJy1JbmZpbml0eScpKQotICAgICAgICBEZWNpbWFsKCctOS45OTk5OTk5OUUrOTk5JykKLSAgICAgICAgPj4+IGMubmV4dF9wbHVzKDEpCi0gICAgICAgIERlY2ltYWwoJzEuMDAwMDAwMDEnKQotICAgICAgICAiIiIKLSAgICAgICAgYSA9IF9jb252ZXJ0X290aGVyKGEsIHJhaXNlaXQ9VHJ1ZSkKLSAgICAgICAgcmV0dXJuIGEubmV4dF9wbHVzKGNvbnRleHQ9c2VsZikKLQotICAgIGRlZiBuZXh0X3Rvd2FyZChzZWxmLCBhLCBiKToKLSAgICAgICAgIiIiUmV0dXJucyB0aGUgbnVtYmVyIGNsb3Nlc3QgdG8gYSwgaW4gZGlyZWN0aW9uIHRvd2FyZHMgYi4KLQotICAgICAgICBUaGUgcmVzdWx0IGlzIHRoZSBjbG9zZXN0IHJlcHJlc2VudGFibGUgbnVtYmVyIGZyb20gdGhlIGZpcnN0Ci0gICAgICAgIG9wZXJhbmQgKGJ1dCBub3QgdGhlIGZpcnN0IG9wZXJhbmQpIHRoYXQgaXMgaW4gdGhlIGRpcmVjdGlvbgotICAgICAgICB0b3dhcmRzIHRoZSBzZWNvbmQgb3BlcmFuZCwgdW5sZXNzIHRoZSBvcGVyYW5kcyBoYXZlIHRoZSBzYW1lCi0gICAgICAgIHZhbHVlLgotCi0gICAgICAgID4+PiBjID0gRXh0ZW5kZWRDb250ZXh0LmNvcHkoKQotICAgICAgICA+Pj4gYy5FbWluID0gLTk5OQotICAgICAgICA+Pj4gYy5FbWF4ID0gOTk5Ci0gICAgICAgID4+PiBjLm5leHRfdG93YXJkKERlY2ltYWwoJzEnKSwgRGVjaW1hbCgnMicpKQotICAgICAgICBEZWNpbWFsKCcxLjAwMDAwMDAxJykKLSAgICAgICAgPj4+IGMubmV4dF90b3dhcmQoRGVjaW1hbCgnLTFFLTEwMDcnKSwgRGVjaW1hbCgnMScpKQotICAgICAgICBEZWNpbWFsKCctMEUtMTAwNycpCi0gICAgICAgID4+PiBjLm5leHRfdG93YXJkKERlY2ltYWwoJy0xLjAwMDAwMDAzJyksIERlY2ltYWwoJzAnKSkKLSAgICAgICAgRGVjaW1hbCgnLTEuMDAwMDAwMDInKQotICAgICAgICA+Pj4gYy5uZXh0X3Rvd2FyZChEZWNpbWFsKCcxJyksIERlY2ltYWwoJzAnKSkKLSAgICAgICAgRGVjaW1hbCgnMC45OTk5OTk5OTknKQotICAgICAgICA+Pj4gYy5uZXh0X3Rvd2FyZChEZWNpbWFsKCcxRS0xMDA3JyksIERlY2ltYWwoJy0xMDAnKSkKLSAgICAgICAgRGVjaW1hbCgnMEUtMTAwNycpCi0gICAgICAgID4+PiBjLm5leHRfdG93YXJkKERlY2ltYWwoJy0xLjAwMDAwMDAzJyksIERlY2ltYWwoJy0xMCcpKQotICAgICAgICBEZWNpbWFsKCctMS4wMDAwMDAwNCcpCi0gICAgICAgID4+PiBjLm5leHRfdG93YXJkKERlY2ltYWwoJzAuMDAnKSwgRGVjaW1hbCgnLTAuMDAwMCcpKQotICAgICAgICBEZWNpbWFsKCctMC4wMCcpCi0gICAgICAgID4+PiBjLm5leHRfdG93YXJkKDAsIDEpCi0gICAgICAgIERlY2ltYWwoJzFFLTEwMDcnKQotICAgICAgICA+Pj4gYy5uZXh0X3Rvd2FyZChEZWNpbWFsKDApLCAxKQotICAgICAgICBEZWNpbWFsKCcxRS0xMDA3JykKLSAgICAgICAgPj4+IGMubmV4dF90b3dhcmQoMCwgRGVjaW1hbCgxKSkKLSAgICAgICAgRGVjaW1hbCgnMUUtMTAwNycpCi0gICAgICAgICIiIgotICAgICAgICBhID0gX2NvbnZlcnRfb3RoZXIoYSwgcmFpc2VpdD1UcnVlKQotICAgICAgICByZXR1cm4gYS5uZXh0X3Rvd2FyZChiLCBjb250ZXh0PXNlbGYpCi0KLSAgICBkZWYgbm9ybWFsaXplKHNlbGYsIGEpOgotICAgICAgICAiIiJub3JtYWxpemUgcmVkdWNlcyBhbiBvcGVyYW5kIHRvIGl0cyBzaW1wbGVzdCBmb3JtLgotCi0gICAgICAgIEVzc2VudGlhbGx5IGEgcGx1cyBvcGVyYXRpb24gd2l0aCBhbGwgdHJhaWxpbmcgemVyb3MgcmVtb3ZlZCBmcm9tIHRoZQotICAgICAgICByZXN1bHQuCi0KLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5ub3JtYWxpemUoRGVjaW1hbCgnMi4xJykpCi0gICAgICAgIERlY2ltYWwoJzIuMScpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQubm9ybWFsaXplKERlY2ltYWwoJy0yLjAnKSkKLSAgICAgICAgRGVjaW1hbCgnLTInKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0Lm5vcm1hbGl6ZShEZWNpbWFsKCcxLjIwMCcpKQotICAgICAgICBEZWNpbWFsKCcxLjInKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0Lm5vcm1hbGl6ZShEZWNpbWFsKCctMTIwJykpCi0gICAgICAgIERlY2ltYWwoJy0xLjJFKzInKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0Lm5vcm1hbGl6ZShEZWNpbWFsKCcxMjAuMDAnKSkKLSAgICAgICAgRGVjaW1hbCgnMS4yRSsyJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5ub3JtYWxpemUoRGVjaW1hbCgnMC4wMCcpKQotICAgICAgICBEZWNpbWFsKCcwJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5ub3JtYWxpemUoNikKLSAgICAgICAgRGVjaW1hbCgnNicpCi0gICAgICAgICIiIgotICAgICAgICBhID0gX2NvbnZlcnRfb3RoZXIoYSwgcmFpc2VpdD1UcnVlKQotICAgICAgICByZXR1cm4gYS5ub3JtYWxpemUoY29udGV4dD1zZWxmKQotCi0gICAgZGVmIG51bWJlcl9jbGFzcyhzZWxmLCBhKToKLSAgICAgICAgIiIiUmV0dXJucyBhbiBpbmRpY2F0aW9uIG9mIHRoZSBjbGFzcyBvZiB0aGUgb3BlcmFuZC4KLQotICAgICAgICBUaGUgY2xhc3MgaXMgb25lIG9mIHRoZSBmb2xsb3dpbmcgc3RyaW5nczoKLSAgICAgICAgICAtc05hTgotICAgICAgICAgIC1OYU4KLSAgICAgICAgICAtSW5maW5pdHkKLSAgICAgICAgICAtTm9ybWFsCi0gICAgICAgICAgLVN1Ym5vcm1hbAotICAgICAgICAgIC1aZXJvCi0gICAgICAgICAgK1plcm8KLSAgICAgICAgICArU3Vibm9ybWFsCi0gICAgICAgICAgK05vcm1hbAotICAgICAgICAgICtJbmZpbml0eQotCi0gICAgICAgID4+PiBjID0gRXh0ZW5kZWRDb250ZXh0LmNvcHkoKQotICAgICAgICA+Pj4gYy5FbWluID0gLTk5OQotICAgICAgICA+Pj4gYy5FbWF4ID0gOTk5Ci0gICAgICAgID4+PiBjLm51bWJlcl9jbGFzcyhEZWNpbWFsKCdJbmZpbml0eScpKQotICAgICAgICAnK0luZmluaXR5JwotICAgICAgICA+Pj4gYy5udW1iZXJfY2xhc3MoRGVjaW1hbCgnMUUtMTAnKSkKLSAgICAgICAgJytOb3JtYWwnCi0gICAgICAgID4+PiBjLm51bWJlcl9jbGFzcyhEZWNpbWFsKCcyLjUwJykpCi0gICAgICAgICcrTm9ybWFsJwotICAgICAgICA+Pj4gYy5udW1iZXJfY2xhc3MoRGVjaW1hbCgnMC4xRS05OTknKSkKLSAgICAgICAgJytTdWJub3JtYWwnCi0gICAgICAgID4+PiBjLm51bWJlcl9jbGFzcyhEZWNpbWFsKCcwJykpCi0gICAgICAgICcrWmVybycKLSAgICAgICAgPj4+IGMubnVtYmVyX2NsYXNzKERlY2ltYWwoJy0wJykpCi0gICAgICAgICctWmVybycKLSAgICAgICAgPj4+IGMubnVtYmVyX2NsYXNzKERlY2ltYWwoJy0wLjFFLTk5OScpKQotICAgICAgICAnLVN1Ym5vcm1hbCcKLSAgICAgICAgPj4+IGMubnVtYmVyX2NsYXNzKERlY2ltYWwoJy0xRS0xMCcpKQotICAgICAgICAnLU5vcm1hbCcKLSAgICAgICAgPj4+IGMubnVtYmVyX2NsYXNzKERlY2ltYWwoJy0yLjUwJykpCi0gICAgICAgICctTm9ybWFsJwotICAgICAgICA+Pj4gYy5udW1iZXJfY2xhc3MoRGVjaW1hbCgnLUluZmluaXR5JykpCi0gICAgICAgICctSW5maW5pdHknCi0gICAgICAgID4+PiBjLm51bWJlcl9jbGFzcyhEZWNpbWFsKCdOYU4nKSkKLSAgICAgICAgJ05hTicKLSAgICAgICAgPj4+IGMubnVtYmVyX2NsYXNzKERlY2ltYWwoJy1OYU4nKSkKLSAgICAgICAgJ05hTicKLSAgICAgICAgPj4+IGMubnVtYmVyX2NsYXNzKERlY2ltYWwoJ3NOYU4nKSkKLSAgICAgICAgJ3NOYU4nCi0gICAgICAgID4+PiBjLm51bWJlcl9jbGFzcygxMjMpCi0gICAgICAgICcrTm9ybWFsJwotICAgICAgICAiIiIKLSAgICAgICAgYSA9IF9jb252ZXJ0X290aGVyKGEsIHJhaXNlaXQ9VHJ1ZSkKLSAgICAgICAgcmV0dXJuIGEubnVtYmVyX2NsYXNzKGNvbnRleHQ9c2VsZikKLQotICAgIGRlZiBwbHVzKHNlbGYsIGEpOgotICAgICAgICAiIiJQbHVzIGNvcnJlc3BvbmRzIHRvIHVuYXJ5IHByZWZpeCBwbHVzIGluIFB5dGhvbi4KLQotICAgICAgICBUaGUgb3BlcmF0aW9uIGlzIGV2YWx1YXRlZCB1c2luZyB0aGUgc2FtZSBydWxlcyBhcyBhZGQ7IHRoZQotICAgICAgICBvcGVyYXRpb24gcGx1cyhhKSBpcyBjYWxjdWxhdGVkIGFzIGFkZCgnMCcsIGEpIHdoZXJlIHRoZSAnMCcKLSAgICAgICAgaGFzIHRoZSBzYW1lIGV4cG9uZW50IGFzIHRoZSBvcGVyYW5kLgotCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQucGx1cyhEZWNpbWFsKCcxLjMnKSkKLSAgICAgICAgRGVjaW1hbCgnMS4zJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5wbHVzKERlY2ltYWwoJy0xLjMnKSkKLSAgICAgICAgRGVjaW1hbCgnLTEuMycpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQucGx1cygtMSkKLSAgICAgICAgRGVjaW1hbCgnLTEnKQotICAgICAgICAiIiIKLSAgICAgICAgYSA9IF9jb252ZXJ0X290aGVyKGEsIHJhaXNlaXQ9VHJ1ZSkKLSAgICAgICAgcmV0dXJuIGEuX19wb3NfXyhjb250ZXh0PXNlbGYpCi0KLSAgICBkZWYgcG93ZXIoc2VsZiwgYSwgYiwgbW9kdWxvPU5vbmUpOgotICAgICAgICAiIiJSYWlzZXMgYSB0byB0aGUgcG93ZXIgb2YgYiwgdG8gbW9kdWxvIGlmIGdpdmVuLgotCi0gICAgICAgIFdpdGggdHdvIGFyZ3VtZW50cywgY29tcHV0ZSBhKipiLiAgSWYgYSBpcyBuZWdhdGl2ZSB0aGVuIGIKLSAgICAgICAgbXVzdCBiZSBpbnRlZ3JhbC4gIFRoZSByZXN1bHQgd2lsbCBiZSBpbmV4YWN0IHVubGVzcyBiIGlzCi0gICAgICAgIGludGVncmFsIGFuZCB0aGUgcmVzdWx0IGlzIGZpbml0ZSBhbmQgY2FuIGJlIGV4cHJlc3NlZCBleGFjdGx5Ci0gICAgICAgIGluICdwcmVjaXNpb24nIGRpZ2l0cy4KLQotICAgICAgICBXaXRoIHRocmVlIGFyZ3VtZW50cywgY29tcHV0ZSAoYSoqYikgJSBtb2R1bG8uICBGb3IgdGhlCi0gICAgICAgIHRocmVlIGFyZ3VtZW50IGZvcm0sIHRoZSBmb2xsb3dpbmcgcmVzdHJpY3Rpb25zIG9uIHRoZQotICAgICAgICBhcmd1bWVudHMgaG9sZDoKLQotICAgICAgICAgLSBhbGwgdGhyZWUgYXJndW1lbnRzIG11c3QgYmUgaW50ZWdyYWwKLSAgICAgICAgIC0gYiBtdXN0IGJlIG5vbm5lZ2F0aXZlCi0gICAgICAgICAtIGF0IGxlYXN0IG9uZSBvZiBhIG9yIGIgbXVzdCBiZSBub256ZXJvCi0gICAgICAgICAtIG1vZHVsbyBtdXN0IGJlIG5vbnplcm8gYW5kIGhhdmUgYXQgbW9zdCAncHJlY2lzaW9uJyBkaWdpdHMKLQotICAgICAgICBUaGUgcmVzdWx0IG9mIHBvdyhhLCBiLCBtb2R1bG8pIGlzIGlkZW50aWNhbCB0byB0aGUgcmVzdWx0Ci0gICAgICAgIHRoYXQgd291bGQgYmUgb2J0YWluZWQgYnkgY29tcHV0aW5nIChhKipiKSAlIG1vZHVsbyB3aXRoCi0gICAgICAgIHVuYm91bmRlZCBwcmVjaXNpb24sIGJ1dCBpcyBjb21wdXRlZCBtb3JlIGVmZmljaWVudGx5LiAgSXQgaXMKLSAgICAgICAgYWx3YXlzIGV4YWN0LgotCi0gICAgICAgID4+PiBjID0gRXh0ZW5kZWRDb250ZXh0LmNvcHkoKQotICAgICAgICA+Pj4gYy5FbWluID0gLTk5OQotICAgICAgICA+Pj4gYy5FbWF4ID0gOTk5Ci0gICAgICAgID4+PiBjLnBvd2VyKERlY2ltYWwoJzInKSwgRGVjaW1hbCgnMycpKQotICAgICAgICBEZWNpbWFsKCc4JykKLSAgICAgICAgPj4+IGMucG93ZXIoRGVjaW1hbCgnLTInKSwgRGVjaW1hbCgnMycpKQotICAgICAgICBEZWNpbWFsKCctOCcpCi0gICAgICAgID4+PiBjLnBvd2VyKERlY2ltYWwoJzInKSwgRGVjaW1hbCgnLTMnKSkKLSAgICAgICAgRGVjaW1hbCgnMC4xMjUnKQotICAgICAgICA+Pj4gYy5wb3dlcihEZWNpbWFsKCcxLjcnKSwgRGVjaW1hbCgnOCcpKQotICAgICAgICBEZWNpbWFsKCc2OS43NTc1NzQ0JykKLSAgICAgICAgPj4+IGMucG93ZXIoRGVjaW1hbCgnMTAnKSwgRGVjaW1hbCgnMC4zMDEwMjk5OTYnKSkKLSAgICAgICAgRGVjaW1hbCgnMi4wMDAwMDAwMCcpCi0gICAgICAgID4+PiBjLnBvd2VyKERlY2ltYWwoJ0luZmluaXR5JyksIERlY2ltYWwoJy0xJykpCi0gICAgICAgIERlY2ltYWwoJzAnKQotICAgICAgICA+Pj4gYy5wb3dlcihEZWNpbWFsKCdJbmZpbml0eScpLCBEZWNpbWFsKCcwJykpCi0gICAgICAgIERlY2ltYWwoJzEnKQotICAgICAgICA+Pj4gYy5wb3dlcihEZWNpbWFsKCdJbmZpbml0eScpLCBEZWNpbWFsKCcxJykpCi0gICAgICAgIERlY2ltYWwoJ0luZmluaXR5JykKLSAgICAgICAgPj4+IGMucG93ZXIoRGVjaW1hbCgnLUluZmluaXR5JyksIERlY2ltYWwoJy0xJykpCi0gICAgICAgIERlY2ltYWwoJy0wJykKLSAgICAgICAgPj4+IGMucG93ZXIoRGVjaW1hbCgnLUluZmluaXR5JyksIERlY2ltYWwoJzAnKSkKLSAgICAgICAgRGVjaW1hbCgnMScpCi0gICAgICAgID4+PiBjLnBvd2VyKERlY2ltYWwoJy1JbmZpbml0eScpLCBEZWNpbWFsKCcxJykpCi0gICAgICAgIERlY2ltYWwoJy1JbmZpbml0eScpCi0gICAgICAgID4+PiBjLnBvd2VyKERlY2ltYWwoJy1JbmZpbml0eScpLCBEZWNpbWFsKCcyJykpCi0gICAgICAgIERlY2ltYWwoJ0luZmluaXR5JykKLSAgICAgICAgPj4+IGMucG93ZXIoRGVjaW1hbCgnMCcpLCBEZWNpbWFsKCcwJykpCi0gICAgICAgIERlY2ltYWwoJ05hTicpCi0KLSAgICAgICAgPj4+IGMucG93ZXIoRGVjaW1hbCgnMycpLCBEZWNpbWFsKCc3JyksIERlY2ltYWwoJzE2JykpCi0gICAgICAgIERlY2ltYWwoJzExJykKLSAgICAgICAgPj4+IGMucG93ZXIoRGVjaW1hbCgnLTMnKSwgRGVjaW1hbCgnNycpLCBEZWNpbWFsKCcxNicpKQotICAgICAgICBEZWNpbWFsKCctMTEnKQotICAgICAgICA+Pj4gYy5wb3dlcihEZWNpbWFsKCctMycpLCBEZWNpbWFsKCc4JyksIERlY2ltYWwoJzE2JykpCi0gICAgICAgIERlY2ltYWwoJzEnKQotICAgICAgICA+Pj4gYy5wb3dlcihEZWNpbWFsKCczJyksIERlY2ltYWwoJzcnKSwgRGVjaW1hbCgnLTE2JykpCi0gICAgICAgIERlY2ltYWwoJzExJykKLSAgICAgICAgPj4+IGMucG93ZXIoRGVjaW1hbCgnMjNFMTIzNDUnKSwgRGVjaW1hbCgnNjdFMTg5JyksIERlY2ltYWwoJzEyMzQ1Njc4OScpKQotICAgICAgICBEZWNpbWFsKCcxMTcyOTgzMCcpCi0gICAgICAgID4+PiBjLnBvd2VyKERlY2ltYWwoJy0wJyksIERlY2ltYWwoJzE3JyksIERlY2ltYWwoJzE3MjknKSkKLSAgICAgICAgRGVjaW1hbCgnLTAnKQotICAgICAgICA+Pj4gYy5wb3dlcihEZWNpbWFsKCctMjMnKSwgRGVjaW1hbCgnMCcpLCBEZWNpbWFsKCc2NTUzNycpKQotICAgICAgICBEZWNpbWFsKCcxJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5wb3dlcig3LCA3KQotICAgICAgICBEZWNpbWFsKCc4MjM1NDMnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnBvd2VyKERlY2ltYWwoNyksIDcpCi0gICAgICAgIERlY2ltYWwoJzgyMzU0MycpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQucG93ZXIoNywgRGVjaW1hbCg3KSwgMikKLSAgICAgICAgRGVjaW1hbCgnMScpCi0gICAgICAgICIiIgotICAgICAgICBhID0gX2NvbnZlcnRfb3RoZXIoYSwgcmFpc2VpdD1UcnVlKQotICAgICAgICByID0gYS5fX3Bvd19fKGIsIG1vZHVsbywgY29udGV4dD1zZWxmKQotICAgICAgICBpZiByIGlzIE5vdEltcGxlbWVudGVkOgotICAgICAgICAgICAgcmFpc2UgVHlwZUVycm9yKCJVbmFibGUgdG8gY29udmVydCAlcyB0byBEZWNpbWFsIiAlIGIpCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICByZXR1cm4gcgotCi0gICAgZGVmIHF1YW50aXplKHNlbGYsIGEsIGIpOgotICAgICAgICAiIiJSZXR1cm5zIGEgdmFsdWUgZXF1YWwgdG8gJ2EnIChyb3VuZGVkKSwgaGF2aW5nIHRoZSBleHBvbmVudCBvZiAnYicuCi0KLSAgICAgICAgVGhlIGNvZWZmaWNpZW50IG9mIHRoZSByZXN1bHQgaXMgZGVyaXZlZCBmcm9tIHRoYXQgb2YgdGhlIGxlZnQtaGFuZAotICAgICAgICBvcGVyYW5kLiAgSXQgbWF5IGJlIHJvdW5kZWQgdXNpbmcgdGhlIGN1cnJlbnQgcm91bmRpbmcgc2V0dGluZyAoaWYgdGhlCi0gICAgICAgIGV4cG9uZW50IGlzIGJlaW5nIGluY3JlYXNlZCksIG11bHRpcGxpZWQgYnkgYSBwb3NpdGl2ZSBwb3dlciBvZiB0ZW4gKGlmCi0gICAgICAgIHRoZSBleHBvbmVudCBpcyBiZWluZyBkZWNyZWFzZWQpLCBvciBpcyB1bmNoYW5nZWQgKGlmIHRoZSBleHBvbmVudCBpcwotICAgICAgICBhbHJlYWR5IGVxdWFsIHRvIHRoYXQgb2YgdGhlIHJpZ2h0LWhhbmQgb3BlcmFuZCkuCi0KLSAgICAgICAgVW5saWtlIG90aGVyIG9wZXJhdGlvbnMsIGlmIHRoZSBsZW5ndGggb2YgdGhlIGNvZWZmaWNpZW50IGFmdGVyIHRoZQotICAgICAgICBxdWFudGl6ZSBvcGVyYXRpb24gd291bGQgYmUgZ3JlYXRlciB0aGFuIHByZWNpc2lvbiB0aGVuIGFuIEludmFsaWQKLSAgICAgICAgb3BlcmF0aW9uIGNvbmRpdGlvbiBpcyByYWlzZWQuICBUaGlzIGd1YXJhbnRlZXMgdGhhdCwgdW5sZXNzIHRoZXJlIGlzCi0gICAgICAgIGFuIGVycm9yIGNvbmRpdGlvbiwgdGhlIGV4cG9uZW50IG9mIHRoZSByZXN1bHQgb2YgYSBxdWFudGl6ZSBpcyBhbHdheXMKLSAgICAgICAgZXF1YWwgdG8gdGhhdCBvZiB0aGUgcmlnaHQtaGFuZCBvcGVyYW5kLgotCi0gICAgICAgIEFsc28gdW5saWtlIG90aGVyIG9wZXJhdGlvbnMsIHF1YW50aXplIHdpbGwgbmV2ZXIgcmFpc2UgVW5kZXJmbG93LCBldmVuCi0gICAgICAgIGlmIHRoZSByZXN1bHQgaXMgc3Vibm9ybWFsIGFuZCBpbmV4YWN0LgotCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQucXVhbnRpemUoRGVjaW1hbCgnMi4xNycpLCBEZWNpbWFsKCcwLjAwMScpKQotICAgICAgICBEZWNpbWFsKCcyLjE3MCcpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQucXVhbnRpemUoRGVjaW1hbCgnMi4xNycpLCBEZWNpbWFsKCcwLjAxJykpCi0gICAgICAgIERlY2ltYWwoJzIuMTcnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnF1YW50aXplKERlY2ltYWwoJzIuMTcnKSwgRGVjaW1hbCgnMC4xJykpCi0gICAgICAgIERlY2ltYWwoJzIuMicpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQucXVhbnRpemUoRGVjaW1hbCgnMi4xNycpLCBEZWNpbWFsKCcxZSswJykpCi0gICAgICAgIERlY2ltYWwoJzInKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnF1YW50aXplKERlY2ltYWwoJzIuMTcnKSwgRGVjaW1hbCgnMWUrMScpKQotICAgICAgICBEZWNpbWFsKCcwRSsxJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5xdWFudGl6ZShEZWNpbWFsKCctSW5mJyksIERlY2ltYWwoJ0luZmluaXR5JykpCi0gICAgICAgIERlY2ltYWwoJy1JbmZpbml0eScpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQucXVhbnRpemUoRGVjaW1hbCgnMicpLCBEZWNpbWFsKCdJbmZpbml0eScpKQotICAgICAgICBEZWNpbWFsKCdOYU4nKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnF1YW50aXplKERlY2ltYWwoJy0wLjEnKSwgRGVjaW1hbCgnMScpKQotICAgICAgICBEZWNpbWFsKCctMCcpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQucXVhbnRpemUoRGVjaW1hbCgnLTAnKSwgRGVjaW1hbCgnMWUrNScpKQotICAgICAgICBEZWNpbWFsKCctMEUrNScpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQucXVhbnRpemUoRGVjaW1hbCgnKzM1MjM2NDUwLjYnKSwgRGVjaW1hbCgnMWUtMicpKQotICAgICAgICBEZWNpbWFsKCdOYU4nKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnF1YW50aXplKERlY2ltYWwoJy0zNTIzNjQ1MC42JyksIERlY2ltYWwoJzFlLTInKSkKLSAgICAgICAgRGVjaW1hbCgnTmFOJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5xdWFudGl6ZShEZWNpbWFsKCcyMTcnKSwgRGVjaW1hbCgnMWUtMScpKQotICAgICAgICBEZWNpbWFsKCcyMTcuMCcpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQucXVhbnRpemUoRGVjaW1hbCgnMjE3JyksIERlY2ltYWwoJzFlLTAnKSkKLSAgICAgICAgRGVjaW1hbCgnMjE3JykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5xdWFudGl6ZShEZWNpbWFsKCcyMTcnKSwgRGVjaW1hbCgnMWUrMScpKQotICAgICAgICBEZWNpbWFsKCcyLjJFKzInKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnF1YW50aXplKERlY2ltYWwoJzIxNycpLCBEZWNpbWFsKCcxZSsyJykpCi0gICAgICAgIERlY2ltYWwoJzJFKzInKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnF1YW50aXplKDEsIDIpCi0gICAgICAgIERlY2ltYWwoJzEnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnF1YW50aXplKERlY2ltYWwoMSksIDIpCi0gICAgICAgIERlY2ltYWwoJzEnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnF1YW50aXplKDEsIERlY2ltYWwoMikpCi0gICAgICAgIERlY2ltYWwoJzEnKQotICAgICAgICAiIiIKLSAgICAgICAgYSA9IF9jb252ZXJ0X290aGVyKGEsIHJhaXNlaXQ9VHJ1ZSkKLSAgICAgICAgcmV0dXJuIGEucXVhbnRpemUoYiwgY29udGV4dD1zZWxmKQotCi0gICAgZGVmIHJhZGl4KHNlbGYpOgotICAgICAgICAiIiJKdXN0IHJldHVybnMgMTAsIGFzIHRoaXMgaXMgRGVjaW1hbCwgOikKLQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnJhZGl4KCkKLSAgICAgICAgRGVjaW1hbCgnMTAnKQotICAgICAgICAiIiIKLSAgICAgICAgcmV0dXJuIERlY2ltYWwoMTApCi0KLSAgICBkZWYgcmVtYWluZGVyKHNlbGYsIGEsIGIpOgotICAgICAgICAiIiJSZXR1cm5zIHRoZSByZW1haW5kZXIgZnJvbSBpbnRlZ2VyIGRpdmlzaW9uLgotCi0gICAgICAgIFRoZSByZXN1bHQgaXMgdGhlIHJlc2lkdWUgb2YgdGhlIGRpdmlkZW5kIGFmdGVyIHRoZSBvcGVyYXRpb24gb2YKLSAgICAgICAgY2FsY3VsYXRpbmcgaW50ZWdlciBkaXZpc2lvbiBhcyBkZXNjcmliZWQgZm9yIGRpdmlkZS1pbnRlZ2VyLCByb3VuZGVkCi0gICAgICAgIHRvIHByZWNpc2lvbiBkaWdpdHMgaWYgbmVjZXNzYXJ5LiAgVGhlIHNpZ24gb2YgdGhlIHJlc3VsdCwgaWYKLSAgICAgICAgbm9uLXplcm8sIGlzIHRoZSBzYW1lIGFzIHRoYXQgb2YgdGhlIG9yaWdpbmFsIGRpdmlkZW5kLgotCi0gICAgICAgIFRoaXMgb3BlcmF0aW9uIHdpbGwgZmFpbCB1bmRlciB0aGUgc2FtZSBjb25kaXRpb25zIGFzIGludGVnZXIgZGl2aXNpb24KLSAgICAgICAgKHRoYXQgaXMsIGlmIGludGVnZXIgZGl2aXNpb24gb24gdGhlIHNhbWUgdHdvIG9wZXJhbmRzIHdvdWxkIGZhaWwsIHRoZQotICAgICAgICByZW1haW5kZXIgY2Fubm90IGJlIGNhbGN1bGF0ZWQpLgotCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQucmVtYWluZGVyKERlY2ltYWwoJzIuMScpLCBEZWNpbWFsKCczJykpCi0gICAgICAgIERlY2ltYWwoJzIuMScpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQucmVtYWluZGVyKERlY2ltYWwoJzEwJyksIERlY2ltYWwoJzMnKSkKLSAgICAgICAgRGVjaW1hbCgnMScpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQucmVtYWluZGVyKERlY2ltYWwoJy0xMCcpLCBEZWNpbWFsKCczJykpCi0gICAgICAgIERlY2ltYWwoJy0xJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5yZW1haW5kZXIoRGVjaW1hbCgnMTAuMicpLCBEZWNpbWFsKCcxJykpCi0gICAgICAgIERlY2ltYWwoJzAuMicpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQucmVtYWluZGVyKERlY2ltYWwoJzEwJyksIERlY2ltYWwoJzAuMycpKQotICAgICAgICBEZWNpbWFsKCcwLjEnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnJlbWFpbmRlcihEZWNpbWFsKCczLjYnKSwgRGVjaW1hbCgnMS4zJykpCi0gICAgICAgIERlY2ltYWwoJzEuMCcpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQucmVtYWluZGVyKDIyLCA2KQotICAgICAgICBEZWNpbWFsKCc0JykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5yZW1haW5kZXIoRGVjaW1hbCgyMiksIDYpCi0gICAgICAgIERlY2ltYWwoJzQnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnJlbWFpbmRlcigyMiwgRGVjaW1hbCg2KSkKLSAgICAgICAgRGVjaW1hbCgnNCcpCi0gICAgICAgICIiIgotICAgICAgICBhID0gX2NvbnZlcnRfb3RoZXIoYSwgcmFpc2VpdD1UcnVlKQotICAgICAgICByID0gYS5fX21vZF9fKGIsIGNvbnRleHQ9c2VsZikKLSAgICAgICAgaWYgciBpcyBOb3RJbXBsZW1lbnRlZDoKLSAgICAgICAgICAgIHJhaXNlIFR5cGVFcnJvcigiVW5hYmxlIHRvIGNvbnZlcnQgJXMgdG8gRGVjaW1hbCIgJSBiKQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgcmV0dXJuIHIKLQotICAgIGRlZiByZW1haW5kZXJfbmVhcihzZWxmLCBhLCBiKToKLSAgICAgICAgIiIiUmV0dXJucyB0byBiZSAiYSAtIGIgKiBuIiwgd2hlcmUgbiBpcyB0aGUgaW50ZWdlciBuZWFyZXN0IHRoZSBleGFjdAotICAgICAgICB2YWx1ZSBvZiAieCAvIGIiIChpZiB0d28gaW50ZWdlcnMgYXJlIGVxdWFsbHkgbmVhciB0aGVuIHRoZSBldmVuIG9uZQotICAgICAgICBpcyBjaG9zZW4pLiAgSWYgdGhlIHJlc3VsdCBpcyBlcXVhbCB0byAwIHRoZW4gaXRzIHNpZ24gd2lsbCBiZSB0aGUKLSAgICAgICAgc2lnbiBvZiBhLgotCi0gICAgICAgIFRoaXMgb3BlcmF0aW9uIHdpbGwgZmFpbCB1bmRlciB0aGUgc2FtZSBjb25kaXRpb25zIGFzIGludGVnZXIgZGl2aXNpb24KLSAgICAgICAgKHRoYXQgaXMsIGlmIGludGVnZXIgZGl2aXNpb24gb24gdGhlIHNhbWUgdHdvIG9wZXJhbmRzIHdvdWxkIGZhaWwsIHRoZQotICAgICAgICByZW1haW5kZXIgY2Fubm90IGJlIGNhbGN1bGF0ZWQpLgotCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQucmVtYWluZGVyX25lYXIoRGVjaW1hbCgnMi4xJyksIERlY2ltYWwoJzMnKSkKLSAgICAgICAgRGVjaW1hbCgnLTAuOScpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQucmVtYWluZGVyX25lYXIoRGVjaW1hbCgnMTAnKSwgRGVjaW1hbCgnNicpKQotICAgICAgICBEZWNpbWFsKCctMicpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQucmVtYWluZGVyX25lYXIoRGVjaW1hbCgnMTAnKSwgRGVjaW1hbCgnMycpKQotICAgICAgICBEZWNpbWFsKCcxJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5yZW1haW5kZXJfbmVhcihEZWNpbWFsKCctMTAnKSwgRGVjaW1hbCgnMycpKQotICAgICAgICBEZWNpbWFsKCctMScpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQucmVtYWluZGVyX25lYXIoRGVjaW1hbCgnMTAuMicpLCBEZWNpbWFsKCcxJykpCi0gICAgICAgIERlY2ltYWwoJzAuMicpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQucmVtYWluZGVyX25lYXIoRGVjaW1hbCgnMTAnKSwgRGVjaW1hbCgnMC4zJykpCi0gICAgICAgIERlY2ltYWwoJzAuMScpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQucmVtYWluZGVyX25lYXIoRGVjaW1hbCgnMy42JyksIERlY2ltYWwoJzEuMycpKQotICAgICAgICBEZWNpbWFsKCctMC4zJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5yZW1haW5kZXJfbmVhcigzLCAxMSkKLSAgICAgICAgRGVjaW1hbCgnMycpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQucmVtYWluZGVyX25lYXIoRGVjaW1hbCgzKSwgMTEpCi0gICAgICAgIERlY2ltYWwoJzMnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnJlbWFpbmRlcl9uZWFyKDMsIERlY2ltYWwoMTEpKQotICAgICAgICBEZWNpbWFsKCczJykKLSAgICAgICAgIiIiCi0gICAgICAgIGEgPSBfY29udmVydF9vdGhlcihhLCByYWlzZWl0PVRydWUpCi0gICAgICAgIHJldHVybiBhLnJlbWFpbmRlcl9uZWFyKGIsIGNvbnRleHQ9c2VsZikKLQotICAgIGRlZiByb3RhdGUoc2VsZiwgYSwgYik6Ci0gICAgICAgICIiIlJldHVybnMgYSByb3RhdGVkIGNvcHkgb2YgYSwgYiB0aW1lcy4KLQotICAgICAgICBUaGUgY29lZmZpY2llbnQgb2YgdGhlIHJlc3VsdCBpcyBhIHJvdGF0ZWQgY29weSBvZiB0aGUgZGlnaXRzIGluCi0gICAgICAgIHRoZSBjb2VmZmljaWVudCBvZiB0aGUgZmlyc3Qgb3BlcmFuZC4gIFRoZSBudW1iZXIgb2YgcGxhY2VzIG9mCi0gICAgICAgIHJvdGF0aW9uIGlzIHRha2VuIGZyb20gdGhlIGFic29sdXRlIHZhbHVlIG9mIHRoZSBzZWNvbmQgb3BlcmFuZCwKLSAgICAgICAgd2l0aCB0aGUgcm90YXRpb24gYmVpbmcgdG8gdGhlIGxlZnQgaWYgdGhlIHNlY29uZCBvcGVyYW5kIGlzCi0gICAgICAgIHBvc2l0aXZlIG9yIHRvIHRoZSByaWdodCBvdGhlcndpc2UuCi0KLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5yb3RhdGUoRGVjaW1hbCgnMzQnKSwgRGVjaW1hbCgnOCcpKQotICAgICAgICBEZWNpbWFsKCc0MDAwMDAwMDMnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnJvdGF0ZShEZWNpbWFsKCcxMicpLCBEZWNpbWFsKCc5JykpCi0gICAgICAgIERlY2ltYWwoJzEyJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5yb3RhdGUoRGVjaW1hbCgnMTIzNDU2Nzg5JyksIERlY2ltYWwoJy0yJykpCi0gICAgICAgIERlY2ltYWwoJzg5MTIzNDU2NycpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQucm90YXRlKERlY2ltYWwoJzEyMzQ1Njc4OScpLCBEZWNpbWFsKCcwJykpCi0gICAgICAgIERlY2ltYWwoJzEyMzQ1Njc4OScpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQucm90YXRlKERlY2ltYWwoJzEyMzQ1Njc4OScpLCBEZWNpbWFsKCcrMicpKQotICAgICAgICBEZWNpbWFsKCczNDU2Nzg5MTInKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnJvdGF0ZSgxMzMzMzMzLCAxKQotICAgICAgICBEZWNpbWFsKCcxMzMzMzMzMCcpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQucm90YXRlKERlY2ltYWwoMTMzMzMzMyksIDEpCi0gICAgICAgIERlY2ltYWwoJzEzMzMzMzMwJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5yb3RhdGUoMTMzMzMzMywgRGVjaW1hbCgxKSkKLSAgICAgICAgRGVjaW1hbCgnMTMzMzMzMzAnKQotICAgICAgICAiIiIKLSAgICAgICAgYSA9IF9jb252ZXJ0X290aGVyKGEsIHJhaXNlaXQ9VHJ1ZSkKLSAgICAgICAgcmV0dXJuIGEucm90YXRlKGIsIGNvbnRleHQ9c2VsZikKLQotICAgIGRlZiBzYW1lX3F1YW50dW0oc2VsZiwgYSwgYik6Ci0gICAgICAgICIiIlJldHVybnMgVHJ1ZSBpZiB0aGUgdHdvIG9wZXJhbmRzIGhhdmUgdGhlIHNhbWUgZXhwb25lbnQuCi0KLSAgICAgICAgVGhlIHJlc3VsdCBpcyBuZXZlciBhZmZlY3RlZCBieSBlaXRoZXIgdGhlIHNpZ24gb3IgdGhlIGNvZWZmaWNpZW50IG9mCi0gICAgICAgIGVpdGhlciBvcGVyYW5kLgotCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuc2FtZV9xdWFudHVtKERlY2ltYWwoJzIuMTcnKSwgRGVjaW1hbCgnMC4wMDEnKSkKLSAgICAgICAgRmFsc2UKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5zYW1lX3F1YW50dW0oRGVjaW1hbCgnMi4xNycpLCBEZWNpbWFsKCcwLjAxJykpCi0gICAgICAgIFRydWUKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5zYW1lX3F1YW50dW0oRGVjaW1hbCgnMi4xNycpLCBEZWNpbWFsKCcxJykpCi0gICAgICAgIEZhbHNlCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuc2FtZV9xdWFudHVtKERlY2ltYWwoJ0luZicpLCBEZWNpbWFsKCctSW5mJykpCi0gICAgICAgIFRydWUKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5zYW1lX3F1YW50dW0oMTAwMDAsIC0xKQotICAgICAgICBUcnVlCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuc2FtZV9xdWFudHVtKERlY2ltYWwoMTAwMDApLCAtMSkKLSAgICAgICAgVHJ1ZQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnNhbWVfcXVhbnR1bSgxMDAwMCwgRGVjaW1hbCgtMSkpCi0gICAgICAgIFRydWUKLSAgICAgICAgIiIiCi0gICAgICAgIGEgPSBfY29udmVydF9vdGhlcihhLCByYWlzZWl0PVRydWUpCi0gICAgICAgIHJldHVybiBhLnNhbWVfcXVhbnR1bShiKQotCi0gICAgZGVmIHNjYWxlYiAoc2VsZiwgYSwgYik6Ci0gICAgICAgICIiIlJldHVybnMgdGhlIGZpcnN0IG9wZXJhbmQgYWZ0ZXIgYWRkaW5nIHRoZSBzZWNvbmQgdmFsdWUgaXRzIGV4cC4KLQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnNjYWxlYihEZWNpbWFsKCc3LjUwJyksIERlY2ltYWwoJy0yJykpCi0gICAgICAgIERlY2ltYWwoJzAuMDc1MCcpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuc2NhbGViKERlY2ltYWwoJzcuNTAnKSwgRGVjaW1hbCgnMCcpKQotICAgICAgICBEZWNpbWFsKCc3LjUwJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5zY2FsZWIoRGVjaW1hbCgnNy41MCcpLCBEZWNpbWFsKCczJykpCi0gICAgICAgIERlY2ltYWwoJzcuNTBFKzMnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnNjYWxlYigxLCA0KQotICAgICAgICBEZWNpbWFsKCcxRSs0JykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5zY2FsZWIoRGVjaW1hbCgxKSwgNCkKLSAgICAgICAgRGVjaW1hbCgnMUUrNCcpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuc2NhbGViKDEsIERlY2ltYWwoNCkpCi0gICAgICAgIERlY2ltYWwoJzFFKzQnKQotICAgICAgICAiIiIKLSAgICAgICAgYSA9IF9jb252ZXJ0X290aGVyKGEsIHJhaXNlaXQ9VHJ1ZSkKLSAgICAgICAgcmV0dXJuIGEuc2NhbGViKGIsIGNvbnRleHQ9c2VsZikKLQotICAgIGRlZiBzaGlmdChzZWxmLCBhLCBiKToKLSAgICAgICAgIiIiUmV0dXJucyBhIHNoaWZ0ZWQgY29weSBvZiBhLCBiIHRpbWVzLgotCi0gICAgICAgIFRoZSBjb2VmZmljaWVudCBvZiB0aGUgcmVzdWx0IGlzIGEgc2hpZnRlZCBjb3B5IG9mIHRoZSBkaWdpdHMKLSAgICAgICAgaW4gdGhlIGNvZWZmaWNpZW50IG9mIHRoZSBmaXJzdCBvcGVyYW5kLiAgVGhlIG51bWJlciBvZiBwbGFjZXMKLSAgICAgICAgdG8gc2hpZnQgaXMgdGFrZW4gZnJvbSB0aGUgYWJzb2x1dGUgdmFsdWUgb2YgdGhlIHNlY29uZCBvcGVyYW5kLAotICAgICAgICB3aXRoIHRoZSBzaGlmdCBiZWluZyB0byB0aGUgbGVmdCBpZiB0aGUgc2Vjb25kIG9wZXJhbmQgaXMKLSAgICAgICAgcG9zaXRpdmUgb3IgdG8gdGhlIHJpZ2h0IG90aGVyd2lzZS4gIERpZ2l0cyBzaGlmdGVkIGludG8gdGhlCi0gICAgICAgIGNvZWZmaWNpZW50IGFyZSB6ZXJvcy4KLQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnNoaWZ0KERlY2ltYWwoJzM0JyksIERlY2ltYWwoJzgnKSkKLSAgICAgICAgRGVjaW1hbCgnNDAwMDAwMDAwJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5zaGlmdChEZWNpbWFsKCcxMicpLCBEZWNpbWFsKCc5JykpCi0gICAgICAgIERlY2ltYWwoJzAnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnNoaWZ0KERlY2ltYWwoJzEyMzQ1Njc4OScpLCBEZWNpbWFsKCctMicpKQotICAgICAgICBEZWNpbWFsKCcxMjM0NTY3JykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5zaGlmdChEZWNpbWFsKCcxMjM0NTY3ODknKSwgRGVjaW1hbCgnMCcpKQotICAgICAgICBEZWNpbWFsKCcxMjM0NTY3ODknKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnNoaWZ0KERlY2ltYWwoJzEyMzQ1Njc4OScpLCBEZWNpbWFsKCcrMicpKQotICAgICAgICBEZWNpbWFsKCczNDU2Nzg5MDAnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnNoaWZ0KDg4ODg4ODg4LCAyKQotICAgICAgICBEZWNpbWFsKCc4ODg4ODg4MDAnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnNoaWZ0KERlY2ltYWwoODg4ODg4ODgpLCAyKQotICAgICAgICBEZWNpbWFsKCc4ODg4ODg4MDAnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnNoaWZ0KDg4ODg4ODg4LCBEZWNpbWFsKDIpKQotICAgICAgICBEZWNpbWFsKCc4ODg4ODg4MDAnKQotICAgICAgICAiIiIKLSAgICAgICAgYSA9IF9jb252ZXJ0X290aGVyKGEsIHJhaXNlaXQ9VHJ1ZSkKLSAgICAgICAgcmV0dXJuIGEuc2hpZnQoYiwgY29udGV4dD1zZWxmKQotCi0gICAgZGVmIHNxcnQoc2VsZiwgYSk6Ci0gICAgICAgICIiIlNxdWFyZSByb290IG9mIGEgbm9uLW5lZ2F0aXZlIG51bWJlciB0byBjb250ZXh0IHByZWNpc2lvbi4KLQotICAgICAgICBJZiB0aGUgcmVzdWx0IG11c3QgYmUgaW5leGFjdCwgaXQgaXMgcm91bmRlZCB1c2luZyB0aGUgcm91bmQtaGFsZi1ldmVuCi0gICAgICAgIGFsZ29yaXRobS4KLQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnNxcnQoRGVjaW1hbCgnMCcpKQotICAgICAgICBEZWNpbWFsKCcwJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5zcXJ0KERlY2ltYWwoJy0wJykpCi0gICAgICAgIERlY2ltYWwoJy0wJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5zcXJ0KERlY2ltYWwoJzAuMzknKSkKLSAgICAgICAgRGVjaW1hbCgnMC42MjQ0OTk4MDAnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnNxcnQoRGVjaW1hbCgnMTAwJykpCi0gICAgICAgIERlY2ltYWwoJzEwJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5zcXJ0KERlY2ltYWwoJzEnKSkKLSAgICAgICAgRGVjaW1hbCgnMScpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuc3FydChEZWNpbWFsKCcxLjAnKSkKLSAgICAgICAgRGVjaW1hbCgnMS4wJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5zcXJ0KERlY2ltYWwoJzEuMDAnKSkKLSAgICAgICAgRGVjaW1hbCgnMS4wJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5zcXJ0KERlY2ltYWwoJzcnKSkKLSAgICAgICAgRGVjaW1hbCgnMi42NDU3NTEzMScpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuc3FydChEZWNpbWFsKCcxMCcpKQotICAgICAgICBEZWNpbWFsKCczLjE2MjI3NzY2JykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5zcXJ0KDIpCi0gICAgICAgIERlY2ltYWwoJzEuNDE0MjEzNTYnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnByZWMKLSAgICAgICAgOQotICAgICAgICAiIiIKLSAgICAgICAgYSA9IF9jb252ZXJ0X290aGVyKGEsIHJhaXNlaXQ9VHJ1ZSkKLSAgICAgICAgcmV0dXJuIGEuc3FydChjb250ZXh0PXNlbGYpCi0KLSAgICBkZWYgc3VidHJhY3Qoc2VsZiwgYSwgYik6Ci0gICAgICAgICIiIlJldHVybiB0aGUgZGlmZmVyZW5jZSBiZXR3ZWVuIHRoZSB0d28gb3BlcmFuZHMuCi0KLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5zdWJ0cmFjdChEZWNpbWFsKCcxLjMnKSwgRGVjaW1hbCgnMS4wNycpKQotICAgICAgICBEZWNpbWFsKCcwLjIzJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5zdWJ0cmFjdChEZWNpbWFsKCcxLjMnKSwgRGVjaW1hbCgnMS4zMCcpKQotICAgICAgICBEZWNpbWFsKCcwLjAwJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC5zdWJ0cmFjdChEZWNpbWFsKCcxLjMnKSwgRGVjaW1hbCgnMi4wNycpKQotICAgICAgICBEZWNpbWFsKCctMC43NycpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuc3VidHJhY3QoOCwgNSkKLSAgICAgICAgRGVjaW1hbCgnMycpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuc3VidHJhY3QoRGVjaW1hbCg4KSwgNSkKLSAgICAgICAgRGVjaW1hbCgnMycpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQuc3VidHJhY3QoOCwgRGVjaW1hbCg1KSkKLSAgICAgICAgRGVjaW1hbCgnMycpCi0gICAgICAgICIiIgotICAgICAgICBhID0gX2NvbnZlcnRfb3RoZXIoYSwgcmFpc2VpdD1UcnVlKQotICAgICAgICByID0gYS5fX3N1Yl9fKGIsIGNvbnRleHQ9c2VsZikKLSAgICAgICAgaWYgciBpcyBOb3RJbXBsZW1lbnRlZDoKLSAgICAgICAgICAgIHJhaXNlIFR5cGVFcnJvcigiVW5hYmxlIHRvIGNvbnZlcnQgJXMgdG8gRGVjaW1hbCIgJSBiKQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgcmV0dXJuIHIKLQotICAgIGRlZiB0b19lbmdfc3RyaW5nKHNlbGYsIGEpOgotICAgICAgICAiIiJDb252ZXJ0cyBhIG51bWJlciB0byBhIHN0cmluZywgdXNpbmcgc2NpZW50aWZpYyBub3RhdGlvbi4KLQotICAgICAgICBUaGUgb3BlcmF0aW9uIGlzIG5vdCBhZmZlY3RlZCBieSB0aGUgY29udGV4dC4KLSAgICAgICAgIiIiCi0gICAgICAgIGEgPSBfY29udmVydF9vdGhlcihhLCByYWlzZWl0PVRydWUpCi0gICAgICAgIHJldHVybiBhLnRvX2VuZ19zdHJpbmcoY29udGV4dD1zZWxmKQotCi0gICAgZGVmIHRvX3NjaV9zdHJpbmcoc2VsZiwgYSk6Ci0gICAgICAgICIiIkNvbnZlcnRzIGEgbnVtYmVyIHRvIGEgc3RyaW5nLCB1c2luZyBzY2llbnRpZmljIG5vdGF0aW9uLgotCi0gICAgICAgIFRoZSBvcGVyYXRpb24gaXMgbm90IGFmZmVjdGVkIGJ5IHRoZSBjb250ZXh0LgotICAgICAgICAiIiIKLSAgICAgICAgYSA9IF9jb252ZXJ0X290aGVyKGEsIHJhaXNlaXQ9VHJ1ZSkKLSAgICAgICAgcmV0dXJuIGEuX19zdHJfXyhjb250ZXh0PXNlbGYpCi0KLSAgICBkZWYgdG9faW50ZWdyYWxfZXhhY3Qoc2VsZiwgYSk6Ci0gICAgICAgICIiIlJvdW5kcyB0byBhbiBpbnRlZ2VyLgotCi0gICAgICAgIFdoZW4gdGhlIG9wZXJhbmQgaGFzIGEgbmVnYXRpdmUgZXhwb25lbnQsIHRoZSByZXN1bHQgaXMgdGhlIHNhbWUKLSAgICAgICAgYXMgdXNpbmcgdGhlIHF1YW50aXplKCkgb3BlcmF0aW9uIHVzaW5nIHRoZSBnaXZlbiBvcGVyYW5kIGFzIHRoZQotICAgICAgICBsZWZ0LWhhbmQtb3BlcmFuZCwgMUUrMCBhcyB0aGUgcmlnaHQtaGFuZC1vcGVyYW5kLCBhbmQgdGhlIHByZWNpc2lvbgotICAgICAgICBvZiB0aGUgb3BlcmFuZCBhcyB0aGUgcHJlY2lzaW9uIHNldHRpbmc7IEluZXhhY3QgYW5kIFJvdW5kZWQgZmxhZ3MKLSAgICAgICAgYXJlIGFsbG93ZWQgaW4gdGhpcyBvcGVyYXRpb24uICBUaGUgcm91bmRpbmcgbW9kZSBpcyB0YWtlbiBmcm9tIHRoZQotICAgICAgICBjb250ZXh0LgotCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQudG9faW50ZWdyYWxfZXhhY3QoRGVjaW1hbCgnMi4xJykpCi0gICAgICAgIERlY2ltYWwoJzInKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnRvX2ludGVncmFsX2V4YWN0KERlY2ltYWwoJzEwMCcpKQotICAgICAgICBEZWNpbWFsKCcxMDAnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnRvX2ludGVncmFsX2V4YWN0KERlY2ltYWwoJzEwMC4wJykpCi0gICAgICAgIERlY2ltYWwoJzEwMCcpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQudG9faW50ZWdyYWxfZXhhY3QoRGVjaW1hbCgnMTAxLjUnKSkKLSAgICAgICAgRGVjaW1hbCgnMTAyJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC50b19pbnRlZ3JhbF9leGFjdChEZWNpbWFsKCctMTAxLjUnKSkKLSAgICAgICAgRGVjaW1hbCgnLTEwMicpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQudG9faW50ZWdyYWxfZXhhY3QoRGVjaW1hbCgnMTBFKzUnKSkKLSAgICAgICAgRGVjaW1hbCgnMS4wRSs2JykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC50b19pbnRlZ3JhbF9leGFjdChEZWNpbWFsKCc3Ljg5RSs3NycpKQotICAgICAgICBEZWNpbWFsKCc3Ljg5RSs3NycpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQudG9faW50ZWdyYWxfZXhhY3QoRGVjaW1hbCgnLUluZicpKQotICAgICAgICBEZWNpbWFsKCctSW5maW5pdHknKQotICAgICAgICAiIiIKLSAgICAgICAgYSA9IF9jb252ZXJ0X290aGVyKGEsIHJhaXNlaXQ9VHJ1ZSkKLSAgICAgICAgcmV0dXJuIGEudG9faW50ZWdyYWxfZXhhY3QoY29udGV4dD1zZWxmKQotCi0gICAgZGVmIHRvX2ludGVncmFsX3ZhbHVlKHNlbGYsIGEpOgotICAgICAgICAiIiJSb3VuZHMgdG8gYW4gaW50ZWdlci4KLQotICAgICAgICBXaGVuIHRoZSBvcGVyYW5kIGhhcyBhIG5lZ2F0aXZlIGV4cG9uZW50LCB0aGUgcmVzdWx0IGlzIHRoZSBzYW1lCi0gICAgICAgIGFzIHVzaW5nIHRoZSBxdWFudGl6ZSgpIG9wZXJhdGlvbiB1c2luZyB0aGUgZ2l2ZW4gb3BlcmFuZCBhcyB0aGUKLSAgICAgICAgbGVmdC1oYW5kLW9wZXJhbmQsIDFFKzAgYXMgdGhlIHJpZ2h0LWhhbmQtb3BlcmFuZCwgYW5kIHRoZSBwcmVjaXNpb24KLSAgICAgICAgb2YgdGhlIG9wZXJhbmQgYXMgdGhlIHByZWNpc2lvbiBzZXR0aW5nLCBleGNlcHQgdGhhdCBubyBmbGFncyB3aWxsCi0gICAgICAgIGJlIHNldC4gIFRoZSByb3VuZGluZyBtb2RlIGlzIHRha2VuIGZyb20gdGhlIGNvbnRleHQuCi0KLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC50b19pbnRlZ3JhbF92YWx1ZShEZWNpbWFsKCcyLjEnKSkKLSAgICAgICAgRGVjaW1hbCgnMicpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQudG9faW50ZWdyYWxfdmFsdWUoRGVjaW1hbCgnMTAwJykpCi0gICAgICAgIERlY2ltYWwoJzEwMCcpCi0gICAgICAgID4+PiBFeHRlbmRlZENvbnRleHQudG9faW50ZWdyYWxfdmFsdWUoRGVjaW1hbCgnMTAwLjAnKSkKLSAgICAgICAgRGVjaW1hbCgnMTAwJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC50b19pbnRlZ3JhbF92YWx1ZShEZWNpbWFsKCcxMDEuNScpKQotICAgICAgICBEZWNpbWFsKCcxMDInKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnRvX2ludGVncmFsX3ZhbHVlKERlY2ltYWwoJy0xMDEuNScpKQotICAgICAgICBEZWNpbWFsKCctMTAyJykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC50b19pbnRlZ3JhbF92YWx1ZShEZWNpbWFsKCcxMEUrNScpKQotICAgICAgICBEZWNpbWFsKCcxLjBFKzYnKQotICAgICAgICA+Pj4gRXh0ZW5kZWRDb250ZXh0LnRvX2ludGVncmFsX3ZhbHVlKERlY2ltYWwoJzcuODlFKzc3JykpCi0gICAgICAgIERlY2ltYWwoJzcuODlFKzc3JykKLSAgICAgICAgPj4+IEV4dGVuZGVkQ29udGV4dC50b19pbnRlZ3JhbF92YWx1ZShEZWNpbWFsKCctSW5mJykpCi0gICAgICAgIERlY2ltYWwoJy1JbmZpbml0eScpCi0gICAgICAgICIiIgotICAgICAgICBhID0gX2NvbnZlcnRfb3RoZXIoYSwgcmFpc2VpdD1UcnVlKQotICAgICAgICByZXR1cm4gYS50b19pbnRlZ3JhbF92YWx1ZShjb250ZXh0PXNlbGYpCi0KLSAgICAjIHRoZSBtZXRob2QgbmFtZSBjaGFuZ2VkLCBidXQgd2UgcHJvdmlkZSBhbHNvIHRoZSBvbGQgb25lLCBmb3IgY29tcGF0aWJpbGl0eQotICAgIHRvX2ludGVncmFsID0gdG9faW50ZWdyYWxfdmFsdWUKLQotY2xhc3MgX1dvcmtSZXAob2JqZWN0KToKLSAgICBfX3Nsb3RzX18gPSAoJ3NpZ24nLCdpbnQnLCdleHAnKQotICAgICMgc2lnbjogMCBvciAxCi0gICAgIyBpbnQ6ICBpbnQKLSAgICAjIGV4cDogIE5vbmUsIGludCwgb3Igc3RyaW5nCi0KLSAgICBkZWYgX19pbml0X18oc2VsZiwgdmFsdWU9Tm9uZSk6Ci0gICAgICAgIGlmIHZhbHVlIGlzIE5vbmU6Ci0gICAgICAgICAgICBzZWxmLnNpZ24gPSBOb25lCi0gICAgICAgICAgICBzZWxmLmludCA9IDAKLSAgICAgICAgICAgIHNlbGYuZXhwID0gTm9uZQotICAgICAgICBlbGlmIGlzaW5zdGFuY2UodmFsdWUsIERlY2ltYWwpOgotICAgICAgICAgICAgc2VsZi5zaWduID0gdmFsdWUuX3NpZ24KLSAgICAgICAgICAgIHNlbGYuaW50ID0gaW50KHZhbHVlLl9pbnQpCi0gICAgICAgICAgICBzZWxmLmV4cCA9IHZhbHVlLl9leHAKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgICMgYXNzZXJ0IGlzaW5zdGFuY2UodmFsdWUsIHR1cGxlKQotICAgICAgICAgICAgc2VsZi5zaWduID0gdmFsdWVbMF0KLSAgICAgICAgICAgIHNlbGYuaW50ID0gdmFsdWVbMV0KLSAgICAgICAgICAgIHNlbGYuZXhwID0gdmFsdWVbMl0KLQotICAgIGRlZiBfX3JlcHJfXyhzZWxmKToKLSAgICAgICAgcmV0dXJuICIoJXIsICVyLCAlcikiICUgKHNlbGYuc2lnbiwgc2VsZi5pbnQsIHNlbGYuZXhwKQotCi0gICAgX19zdHJfXyA9IF9fcmVwcl9fCi0KLQotCi1kZWYgX25vcm1hbGl6ZShvcDEsIG9wMiwgcHJlYyA9IDApOgotICAgICIiIk5vcm1hbGl6ZXMgb3AxLCBvcDIgdG8gaGF2ZSB0aGUgc2FtZSBleHAgYW5kIGxlbmd0aCBvZiBjb2VmZmljaWVudC4KLQotICAgIERvbmUgZHVyaW5nIGFkZGl0aW9uLgotICAgICIiIgotICAgIGlmIG9wMS5leHAgPCBvcDIuZXhwOgotICAgICAgICB0bXAgPSBvcDIKLSAgICAgICAgb3RoZXIgPSBvcDEKLSAgICBlbHNlOgotICAgICAgICB0bXAgPSBvcDEKLSAgICAgICAgb3RoZXIgPSBvcDIKLQotICAgICMgTGV0IGV4cCA9IG1pbih0bXAuZXhwIC0gMSwgdG1wLmFkanVzdGVkKCkgLSBwcmVjaXNpb24gLSAxKS4KLSAgICAjIFRoZW4gYWRkaW5nIDEwKipleHAgdG8gdG1wIGhhcyB0aGUgc2FtZSBlZmZlY3QgKGFmdGVyIHJvdW5kaW5nKQotICAgICMgYXMgYWRkaW5nIGFueSBwb3NpdGl2ZSBxdWFudGl0eSBzbWFsbGVyIHRoYW4gMTAqKmV4cDsgc2ltaWxhcmx5Ci0gICAgIyBmb3Igc3VidHJhY3Rpb24uICBTbyBpZiBvdGhlciBpcyBzbWFsbGVyIHRoYW4gMTAqKmV4cCB3ZSByZXBsYWNlCi0gICAgIyBpdCB3aXRoIDEwKipleHAuICBUaGlzIGF2b2lkcyB0bXAuZXhwIC0gb3RoZXIuZXhwIGdldHRpbmcgdG9vIGxhcmdlLgotICAgIHRtcF9sZW4gPSBsZW4oc3RyKHRtcC5pbnQpKQotICAgIG90aGVyX2xlbiA9IGxlbihzdHIob3RoZXIuaW50KSkKLSAgICBleHAgPSB0bXAuZXhwICsgbWluKC0xLCB0bXBfbGVuIC0gcHJlYyAtIDIpCi0gICAgaWYgb3RoZXJfbGVuICsgb3RoZXIuZXhwIC0gMSA8IGV4cDoKLSAgICAgICAgb3RoZXIuaW50ID0gMQotICAgICAgICBvdGhlci5leHAgPSBleHAKLQotICAgIHRtcC5pbnQgKj0gMTAgKiogKHRtcC5leHAgLSBvdGhlci5leHApCi0gICAgdG1wLmV4cCA9IG90aGVyLmV4cAotICAgIHJldHVybiBvcDEsIG9wMgotCi0jIyMjIyBJbnRlZ2VyIGFyaXRobWV0aWMgZnVuY3Rpb25zIHVzZWQgYnkgbG4sIGxvZzEwLCBleHAgYW5kIF9fcG93X18gIyMjIyMKLQotX25iaXRzID0gaW50LmJpdF9sZW5ndGgKLQotZGVmIF9kZWNpbWFsX2xzaGlmdF9leGFjdChuLCBlKToKLSAgICAiIiIgR2l2ZW4gaW50ZWdlcnMgbiBhbmQgZSwgcmV0dXJuIG4gKiAxMCoqZSBpZiBpdCdzIGFuIGludGVnZXIsIGVsc2UgTm9uZS4KLQotICAgIFRoZSBjb21wdXRhdGlvbiBpcyBkZXNpZ25lZCB0byBhdm9pZCBjb21wdXRpbmcgbGFyZ2UgcG93ZXJzIG9mIDEwCi0gICAgdW5uZWNlc3NhcmlseS4KLQotICAgID4+PiBfZGVjaW1hbF9sc2hpZnRfZXhhY3QoMywgNCkKLSAgICAzMDAwMAotICAgID4+PiBfZGVjaW1hbF9sc2hpZnRfZXhhY3QoMzAwLCAtOTk5OTk5OTk5KSAgIyByZXR1cm5zIE5vbmUKLQotICAgICIiIgotICAgIGlmIG4gPT0gMDoKLSAgICAgICAgcmV0dXJuIDAKLSAgICBlbGlmIGUgPj0gMDoKLSAgICAgICAgcmV0dXJuIG4gKiAxMCoqZQotICAgIGVsc2U6Ci0gICAgICAgICMgdmFsX24gPSBsYXJnZXN0IHBvd2VyIG9mIDEwIGRpdmlkaW5nIG4uCi0gICAgICAgIHN0cl9uID0gc3RyKGFicyhuKSkKLSAgICAgICAgdmFsX24gPSBsZW4oc3RyX24pIC0gbGVuKHN0cl9uLnJzdHJpcCgnMCcpKQotICAgICAgICByZXR1cm4gTm9uZSBpZiB2YWxfbiA8IC1lIGVsc2UgbiAvLyAxMCoqLWUKLQotZGVmIF9zcXJ0X25lYXJlc3QobiwgYSk6Ci0gICAgIiIiQ2xvc2VzdCBpbnRlZ2VyIHRvIHRoZSBzcXVhcmUgcm9vdCBvZiB0aGUgcG9zaXRpdmUgaW50ZWdlciBuLiAgYSBpcwotICAgIGFuIGluaXRpYWwgYXBwcm94aW1hdGlvbiB0byB0aGUgc3F1YXJlIHJvb3QuICBBbnkgcG9zaXRpdmUgaW50ZWdlcgotICAgIHdpbGwgZG8gZm9yIGEsIGJ1dCB0aGUgY2xvc2VyIGEgaXMgdG8gdGhlIHNxdWFyZSByb290IG9mIG4gdGhlCi0gICAgZmFzdGVyIGNvbnZlcmdlbmNlIHdpbGwgYmUuCi0KLSAgICAiIiIKLSAgICBpZiBuIDw9IDAgb3IgYSA8PSAwOgotICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJCb3RoIGFyZ3VtZW50cyB0byBfc3FydF9uZWFyZXN0IHNob3VsZCBiZSBwb3NpdGl2ZS4iKQotCi0gICAgYj0wCi0gICAgd2hpbGUgYSAhPSBiOgotICAgICAgICBiLCBhID0gYSwgYS0tbi8vYT4+MQotICAgIHJldHVybiBhCi0KLWRlZiBfcnNoaWZ0X25lYXJlc3QoeCwgc2hpZnQpOgotICAgICIiIkdpdmVuIGFuIGludGVnZXIgeCBhbmQgYSBub25uZWdhdGl2ZSBpbnRlZ2VyIHNoaWZ0LCByZXR1cm4gY2xvc2VzdAotICAgIGludGVnZXIgdG8geCAvIDIqKnNoaWZ0OyB1c2Ugcm91bmQtdG8tZXZlbiBpbiBjYXNlIG9mIGEgdGllLgotCi0gICAgIiIiCi0gICAgYiwgcSA9IDEgPDwgc2hpZnQsIHggPj4gc2hpZnQKLSAgICByZXR1cm4gcSArICgyKih4ICYgKGItMSkpICsgKHEmMSkgPiBiKQotCi1kZWYgX2Rpdl9uZWFyZXN0KGEsIGIpOgotICAgICIiIkNsb3Nlc3QgaW50ZWdlciB0byBhL2IsIGEgYW5kIGIgcG9zaXRpdmUgaW50ZWdlcnM7IHJvdW5kcyB0byBldmVuCi0gICAgaW4gdGhlIGNhc2Ugb2YgYSB0aWUuCi0KLSAgICAiIiIKLSAgICBxLCByID0gZGl2bW9kKGEsIGIpCi0gICAgcmV0dXJuIHEgKyAoMipyICsgKHEmMSkgPiBiKQotCi1kZWYgX2lsb2coeCwgTSwgTCA9IDgpOgotICAgICIiIkludGVnZXIgYXBwcm94aW1hdGlvbiB0byBNKmxvZyh4L00pLCB3aXRoIGFic29sdXRlIGVycm9yIGJvdW5kYWJsZQotICAgIGluIHRlcm1zIG9ubHkgb2YgeC9NLgotCi0gICAgR2l2ZW4gcG9zaXRpdmUgaW50ZWdlcnMgeCBhbmQgTSwgcmV0dXJuIGFuIGludGVnZXIgYXBwcm94aW1hdGlvbiB0bwotICAgIE0gKiBsb2coeC9NKS4gIEZvciBMID0gOCBhbmQgMC4xIDw9IHgvTSA8PSAxMCB0aGUgZGlmZmVyZW5jZQotICAgIGJldHdlZW4gdGhlIGFwcHJveGltYXRpb24gYW5kIHRoZSBleGFjdCByZXN1bHQgaXMgYXQgbW9zdCAyMi4gIEZvcgotICAgIEwgPSA4IGFuZCAxLjAgPD0geC9NIDw9IDEwLjAgdGhlIGRpZmZlcmVuY2UgaXMgYXQgbW9zdCAxNS4gIEluCi0gICAgYm90aCBjYXNlcyB0aGVzZSBhcmUgdXBwZXIgYm91bmRzIG9uIHRoZSBlcnJvcjsgaXQgd2lsbCB1c3VhbGx5IGJlCi0gICAgbXVjaCBzbWFsbGVyLiIiIgotCi0gICAgIyBUaGUgYmFzaWMgYWxnb3JpdGhtIGlzIHRoZSBmb2xsb3dpbmc6IGxldCBsb2cxcCBiZSB0aGUgZnVuY3Rpb24KLSAgICAjIGxvZzFwKHgpID0gbG9nKDEreCkuICBUaGVuIGxvZyh4L00pID0gbG9nMXAoKHgtTSkvTSkuICBXZSB1c2UKLSAgICAjIHRoZSByZWR1Y3Rpb24KLSAgICAjCi0gICAgIyAgICBsb2cxcCh5KSA9IDIqbG9nMXAoeS8oMStzcXJ0KDEreSkpKQotICAgICMKLSAgICAjIHJlcGVhdGVkbHkgdW50aWwgdGhlIGFyZ3VtZW50IHRvIGxvZzFwIGlzIHNtYWxsICg8IDIqKi1MIGluCi0gICAgIyBhYnNvbHV0ZSB2YWx1ZSkuICBGb3Igc21hbGwgeSB3ZSBjYW4gdXNlIHRoZSBUYXlsb3Igc2VyaWVzCi0gICAgIyBleHBhbnNpb24KLSAgICAjCi0gICAgIyAgICBsb2cxcCh5KSB+IHkgLSB5KioyLzIgKyB5KiozLzMgLSAuLi4gLSAoLXkpKipUL1QKLSAgICAjCi0gICAgIyB0cnVuY2F0aW5nIGF0IFQgc3VjaCB0aGF0IHkqKlQgaXMgc21hbGwgZW5vdWdoLiAgVGhlIHdob2xlCi0gICAgIyBjb21wdXRhdGlvbiBpcyBjYXJyaWVkIG91dCBpbiBhIGZvcm0gb2YgZml4ZWQtcG9pbnQgYXJpdGhtZXRpYywKLSAgICAjIHdpdGggYSByZWFsIG51bWJlciB6IGJlaW5nIHJlcHJlc2VudGVkIGJ5IGFuIGludGVnZXIKLSAgICAjIGFwcHJveGltYXRpb24gdG8geipNLiAgVG8gYXZvaWQgbG9zcyBvZiBwcmVjaXNpb24sIHRoZSB5IGJlbG93Ci0gICAgIyBpcyBhY3R1YWxseSBhbiBpbnRlZ2VyIGFwcHJveGltYXRpb24gdG8gMioqUip5Kk0sIHdoZXJlIFIgaXMgdGhlCi0gICAgIyBudW1iZXIgb2YgcmVkdWN0aW9ucyBwZXJmb3JtZWQgc28gZmFyLgotCi0gICAgeSA9IHgtTQotICAgICMgYXJndW1lbnQgcmVkdWN0aW9uOyBSID0gbnVtYmVyIG9mIHJlZHVjdGlvbnMgcGVyZm9ybWVkCi0gICAgUiA9IDAKLSAgICB3aGlsZSAoUiA8PSBMIGFuZCBhYnMoeSkgPDwgTC1SID49IE0gb3IKLSAgICAgICAgICAgUiA+IEwgYW5kIGFicyh5KSA+PiBSLUwgPj0gTSk6Ci0gICAgICAgIHkgPSBfZGl2X25lYXJlc3QoKE0qeSkgPDwgMSwKLSAgICAgICAgICAgICAgICAgICAgICAgICBNICsgX3NxcnRfbmVhcmVzdChNKihNK19yc2hpZnRfbmVhcmVzdCh5LCBSKSksIE0pKQotICAgICAgICBSICs9IDEKLQotICAgICMgVGF5bG9yIHNlcmllcyB3aXRoIFQgdGVybXMKLSAgICBUID0gLWludCgtMTAqbGVuKHN0cihNKSkvLygzKkwpKQotICAgIHlzaGlmdCA9IF9yc2hpZnRfbmVhcmVzdCh5LCBSKQotICAgIHcgPSBfZGl2X25lYXJlc3QoTSwgVCkKLSAgICBmb3IgayBpbiByYW5nZShULTEsIDAsIC0xKToKLSAgICAgICAgdyA9IF9kaXZfbmVhcmVzdChNLCBrKSAtIF9kaXZfbmVhcmVzdCh5c2hpZnQqdywgTSkKLQotICAgIHJldHVybiBfZGl2X25lYXJlc3Qodyp5LCBNKQotCi1kZWYgX2Rsb2cxMChjLCBlLCBwKToKLSAgICAiIiJHaXZlbiBpbnRlZ2VycyBjLCBlIGFuZCBwIHdpdGggYyA+IDAsIHAgPj0gMCwgY29tcHV0ZSBhbiBpbnRlZ2VyCi0gICAgYXBwcm94aW1hdGlvbiB0byAxMCoqcCAqIGxvZzEwKGMqMTAqKmUpLCB3aXRoIGFuIGFic29sdXRlIGVycm9yIG9mCi0gICAgYXQgbW9zdCAxLiAgQXNzdW1lcyB0aGF0IGMqMTAqKmUgaXMgbm90IGV4YWN0bHkgMS4iIiIKLQotICAgICMgaW5jcmVhc2UgcHJlY2lzaW9uIGJ5IDI7IGNvbXBlbnNhdGUgZm9yIHRoaXMgYnkgZGl2aWRpbmcKLSAgICAjIGZpbmFsIHJlc3VsdCBieSAxMDAKLSAgICBwICs9IDIKLQotICAgICMgd3JpdGUgYyoxMCoqZSBhcyBkKjEwKipmIHdpdGggZWl0aGVyOgotICAgICMgICBmID49IDAgYW5kIDEgPD0gZCA8PSAxMCwgb3IKLSAgICAjICAgZiA8PSAwIGFuZCAwLjEgPD0gZCA8PSAxLgotICAgICMgVGh1cyBmb3IgYyoxMCoqZSBjbG9zZSB0byAxLCBmID0gMAotICAgIGwgPSBsZW4oc3RyKGMpKQotICAgIGYgPSBlK2wgLSAoZStsID49IDEpCi0KLSAgICBpZiBwID4gMDoKLSAgICAgICAgTSA9IDEwKipwCi0gICAgICAgIGsgPSBlK3AtZgotICAgICAgICBpZiBrID49IDA6Ci0gICAgICAgICAgICBjICo9IDEwKiprCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBjID0gX2Rpdl9uZWFyZXN0KGMsIDEwKiotaykKLQotICAgICAgICBsb2dfZCA9IF9pbG9nKGMsIE0pICMgZXJyb3IgPCA1ICsgMjIgPSAyNwotICAgICAgICBsb2dfMTAgPSBfbG9nMTBfZGlnaXRzKHApICMgZXJyb3IgPCAxCi0gICAgICAgIGxvZ19kID0gX2Rpdl9uZWFyZXN0KGxvZ19kKk0sIGxvZ18xMCkKLSAgICAgICAgbG9nX3RlbnBvd2VyID0gZipNICMgZXhhY3QKLSAgICBlbHNlOgotICAgICAgICBsb2dfZCA9IDAgICMgZXJyb3IgPCAyLjMxCi0gICAgICAgIGxvZ190ZW5wb3dlciA9IF9kaXZfbmVhcmVzdChmLCAxMCoqLXApICMgZXJyb3IgPCAwLjUKLQotICAgIHJldHVybiBfZGl2X25lYXJlc3QobG9nX3RlbnBvd2VyK2xvZ19kLCAxMDApCi0KLWRlZiBfZGxvZyhjLCBlLCBwKToKLSAgICAiIiJHaXZlbiBpbnRlZ2VycyBjLCBlIGFuZCBwIHdpdGggYyA+IDAsIGNvbXB1dGUgYW4gaW50ZWdlcgotICAgIGFwcHJveGltYXRpb24gdG8gMTAqKnAgKiBsb2coYyoxMCoqZSksIHdpdGggYW4gYWJzb2x1dGUgZXJyb3Igb2YKLSAgICBhdCBtb3N0IDEuICBBc3N1bWVzIHRoYXQgYyoxMCoqZSBpcyBub3QgZXhhY3RseSAxLiIiIgotCi0gICAgIyBJbmNyZWFzZSBwcmVjaXNpb24gYnkgMi4gVGhlIHByZWNpc2lvbiBpbmNyZWFzZSBpcyBjb21wZW5zYXRlZAotICAgICMgZm9yIGF0IHRoZSBlbmQgd2l0aCBhIGRpdmlzaW9uIGJ5IDEwMC4KLSAgICBwICs9IDIKLQotICAgICMgcmV3cml0ZSBjKjEwKiplIGFzIGQqMTAqKmYgd2l0aCBlaXRoZXIgZiA+PSAwIGFuZCAxIDw9IGQgPD0gMTAsCi0gICAgIyBvciBmIDw9IDAgYW5kIDAuMSA8PSBkIDw9IDEuICBUaGVuIHdlIGNhbiBjb21wdXRlIDEwKipwICogbG9nKGMqMTAqKmUpCi0gICAgIyBhcyAxMCoqcCAqIGxvZyhkKSArIDEwKipwKmYgKiBsb2coMTApLgotICAgIGwgPSBsZW4oc3RyKGMpKQotICAgIGYgPSBlK2wgLSAoZStsID49IDEpCi0KLSAgICAjIGNvbXB1dGUgYXBwcm94aW1hdGlvbiB0byAxMCoqcCpsb2coZCksIHdpdGggZXJyb3IgPCAyNwotICAgIGlmIHAgPiAwOgotICAgICAgICBrID0gZStwLWYKLSAgICAgICAgaWYgayA+PSAwOgotICAgICAgICAgICAgYyAqPSAxMCoqawotICAgICAgICBlbHNlOgotICAgICAgICAgICAgYyA9IF9kaXZfbmVhcmVzdChjLCAxMCoqLWspICAjIGVycm9yIG9mIDw9IDAuNSBpbiBjCi0KLSAgICAgICAgIyBfaWxvZyBtYWduaWZpZXMgZXhpc3RpbmcgZXJyb3IgaW4gYyBieSBhIGZhY3RvciBvZiBhdCBtb3N0IDEwCi0gICAgICAgIGxvZ19kID0gX2lsb2coYywgMTAqKnApICMgZXJyb3IgPCA1ICsgMjIgPSAyNwotICAgIGVsc2U6Ci0gICAgICAgICMgcCA8PSAwOiBqdXN0IGFwcHJveGltYXRlIHRoZSB3aG9sZSB0aGluZyBieSAwOyBlcnJvciA8IDIuMzEKLSAgICAgICAgbG9nX2QgPSAwCi0KLSAgICAjIGNvbXB1dGUgYXBwcm94aW1hdGlvbiB0byBmKjEwKipwKmxvZygxMCksIHdpdGggZXJyb3IgPCAxMS4KLSAgICBpZiBmOgotICAgICAgICBleHRyYSA9IGxlbihzdHIoYWJzKGYpKSktMQotICAgICAgICBpZiBwICsgZXh0cmEgPj0gMDoKLSAgICAgICAgICAgICMgZXJyb3IgaW4gZiAqIF9sb2cxMF9kaWdpdHMocCtleHRyYSkgPCB8ZnwgKiAxID0gfGZ8Ci0gICAgICAgICAgICAjIGFmdGVyIGRpdmlzaW9uLCBlcnJvciA8IHxmfC8xMCoqZXh0cmEgKyAwLjUgPCAxMCArIDAuNSA8IDExCi0gICAgICAgICAgICBmX2xvZ190ZW4gPSBfZGl2X25lYXJlc3QoZipfbG9nMTBfZGlnaXRzKHArZXh0cmEpLCAxMCoqZXh0cmEpCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBmX2xvZ190ZW4gPSAwCi0gICAgZWxzZToKLSAgICAgICAgZl9sb2dfdGVuID0gMAotCi0gICAgIyBlcnJvciBpbiBzdW0gPCAxMSsyNyA9IDM4OyBlcnJvciBhZnRlciBkaXZpc2lvbiA8IDAuMzggKyAwLjUgPCAxCi0gICAgcmV0dXJuIF9kaXZfbmVhcmVzdChmX2xvZ190ZW4gKyBsb2dfZCwgMTAwKQotCi1jbGFzcyBfTG9nMTBNZW1vaXplKG9iamVjdCk6Ci0gICAgIiIiQ2xhc3MgdG8gY29tcHV0ZSwgc3RvcmUsIGFuZCBhbGxvdyByZXRyaWV2YWwgb2YsIGRpZ2l0cyBvZiB0aGUKLSAgICBjb25zdGFudCBsb2coMTApID0gMi4zMDI1ODUuLi4uICBUaGlzIGNvbnN0YW50IGlzIG5lZWRlZCBieQotICAgIERlY2ltYWwubG4sIERlY2ltYWwubG9nMTAsIERlY2ltYWwuZXhwIGFuZCBEZWNpbWFsLl9fcG93X18uIiIiCi0gICAgZGVmIF9faW5pdF9fKHNlbGYpOgotICAgICAgICBzZWxmLmRpZ2l0cyA9ICIyMzAyNTg1MDkyOTk0MDQ1Njg0MDE3OTkxNDU0Njg0MzY0MjA3NjAxMTAxNDg4NiIKLQotICAgIGRlZiBnZXRkaWdpdHMoc2VsZiwgcCk6Ci0gICAgICAgICIiIkdpdmVuIGFuIGludGVnZXIgcCA+PSAwLCByZXR1cm4gZmxvb3IoMTAqKnApKmxvZygxMCkuCi0KLSAgICAgICAgRm9yIGV4YW1wbGUsIHNlbGYuZ2V0ZGlnaXRzKDMpIHJldHVybnMgMjMwMi4KLSAgICAgICAgIiIiCi0gICAgICAgICMgZGlnaXRzIGFyZSBzdG9yZWQgYXMgYSBzdHJpbmcsIGZvciBxdWljayBjb252ZXJzaW9uIHRvCi0gICAgICAgICMgaW50ZWdlciBpbiB0aGUgY2FzZSB0aGF0IHdlJ3ZlIGFscmVhZHkgY29tcHV0ZWQgZW5vdWdoCi0gICAgICAgICMgZGlnaXRzOyB0aGUgc3RvcmVkIGRpZ2l0cyBzaG91bGQgYWx3YXlzIGJlIGNvcnJlY3QKLSAgICAgICAgIyAodHJ1bmNhdGVkLCBub3Qgcm91bmRlZCB0byBuZWFyZXN0KS4KLSAgICAgICAgaWYgcCA8IDA6Ci0gICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJwIHNob3VsZCBiZSBub25uZWdhdGl2ZSIpCi0KLSAgICAgICAgaWYgcCA+PSBsZW4oc2VsZi5kaWdpdHMpOgotICAgICAgICAgICAgIyBjb21wdXRlIHArMywgcCs2LCBwKzksIC4uLiBkaWdpdHM7IGNvbnRpbnVlIHVudGlsIGF0Ci0gICAgICAgICAgICAjIGxlYXN0IG9uZSBvZiB0aGUgZXh0cmEgZGlnaXRzIGlzIG5vbnplcm8KLSAgICAgICAgICAgIGV4dHJhID0gMwotICAgICAgICAgICAgd2hpbGUgVHJ1ZToKLSAgICAgICAgICAgICAgICAjIGNvbXB1dGUgcCtleHRyYSBkaWdpdHMsIGNvcnJlY3QgdG8gd2l0aGluIDF1bHAKLSAgICAgICAgICAgICAgICBNID0gMTAqKihwK2V4dHJhKzIpCi0gICAgICAgICAgICAgICAgZGlnaXRzID0gc3RyKF9kaXZfbmVhcmVzdChfaWxvZygxMCpNLCBNKSwgMTAwKSkKLSAgICAgICAgICAgICAgICBpZiBkaWdpdHNbLWV4dHJhOl0gIT0gJzAnKmV4dHJhOgotICAgICAgICAgICAgICAgICAgICBicmVhawotICAgICAgICAgICAgICAgIGV4dHJhICs9IDMKLSAgICAgICAgICAgICMga2VlcCBhbGwgcmVsaWFibGUgZGlnaXRzIHNvIGZhcjsgcmVtb3ZlIHRyYWlsaW5nIHplcm9zCi0gICAgICAgICAgICAjIGFuZCBuZXh0IG5vbnplcm8gZGlnaXQKLSAgICAgICAgICAgIHNlbGYuZGlnaXRzID0gZGlnaXRzLnJzdHJpcCgnMCcpWzotMV0KLSAgICAgICAgcmV0dXJuIGludChzZWxmLmRpZ2l0c1s6cCsxXSkKLQotX2xvZzEwX2RpZ2l0cyA9IF9Mb2cxME1lbW9pemUoKS5nZXRkaWdpdHMKLQotZGVmIF9pZXhwKHgsIE0sIEw9OCk6Ci0gICAgIiIiR2l2ZW4gaW50ZWdlcnMgeCBhbmQgTSwgTSA+IDAsIHN1Y2ggdGhhdCB4L00gaXMgc21hbGwgaW4gYWJzb2x1dGUKLSAgICB2YWx1ZSwgY29tcHV0ZSBhbiBpbnRlZ2VyIGFwcHJveGltYXRpb24gdG8gTSpleHAoeC9NKS4gIEZvciAwIDw9Ci0gICAgeC9NIDw9IDIuNCwgdGhlIGFic29sdXRlIGVycm9yIGluIHRoZSByZXN1bHQgaXMgYm91bmRlZCBieSA2MCAoYW5kCi0gICAgaXMgdXN1YWxseSBtdWNoIHNtYWxsZXIpLiIiIgotCi0gICAgIyBBbGdvcml0aG06IHRvIGNvbXB1dGUgZXhwKHopIGZvciBhIHJlYWwgbnVtYmVyIHosIGZpcnN0IGRpdmlkZSB6Ci0gICAgIyBieSBhIHN1aXRhYmxlIHBvd2VyIFIgb2YgMiBzbyB0aGF0IHx6LzIqKlJ8IDwgMioqLUwuICBUaGVuCi0gICAgIyBjb21wdXRlIGV4cG0xKHovMioqUikgPSBleHAoei8yKipSKSAtIDEgdXNpbmcgdGhlIHVzdWFsIFRheWxvcgotICAgICMgc2VyaWVzCi0gICAgIwotICAgICMgICAgIGV4cG0xKHgpID0geCArIHgqKjIvMiEgKyB4KiozLzMhICsgLi4uCi0gICAgIwotICAgICMgTm93IHVzZSB0aGUgaWRlbnRpdHkKLSAgICAjCi0gICAgIyAgICAgZXhwbTEoMngpID0gZXhwbTEoeCkqKGV4cG0xKHgpKzIpCi0gICAgIwotICAgICMgUiB0aW1lcyB0byBjb21wdXRlIHRoZSBzZXF1ZW5jZSBleHBtMSh6LzIqKlIpLAotICAgICMgZXhwbTEoei8yKiooUi0xKSksIC4uLiAsIGV4cCh6LzIpLCBleHAoeikuCi0KLSAgICAjIEZpbmQgUiBzdWNoIHRoYXQgeC8yKipSL00gPD0gMioqLUwKLSAgICBSID0gX25iaXRzKCh4PDxMKS8vTSkKLQotICAgICMgVGF5bG9yIHNlcmllcy4gICgyKipMKSoqVCA+IE0KLSAgICBUID0gLWludCgtMTAqbGVuKHN0cihNKSkvLygzKkwpKQotICAgIHkgPSBfZGl2X25lYXJlc3QoeCwgVCkKLSAgICBNc2hpZnQgPSBNPDxSCi0gICAgZm9yIGkgaW4gcmFuZ2UoVC0xLCAwLCAtMSk6Ci0gICAgICAgIHkgPSBfZGl2X25lYXJlc3QoeCooTXNoaWZ0ICsgeSksIE1zaGlmdCAqIGkpCi0KLSAgICAjIEV4cGFuc2lvbgotICAgIGZvciBrIGluIHJhbmdlKFItMSwgLTEsIC0xKToKLSAgICAgICAgTXNoaWZ0ID0gTTw8KGsrMikKLSAgICAgICAgeSA9IF9kaXZfbmVhcmVzdCh5Kih5K01zaGlmdCksIE1zaGlmdCkKLQotICAgIHJldHVybiBNK3kKLQotZGVmIF9kZXhwKGMsIGUsIHApOgotICAgICIiIkNvbXB1dGUgYW4gYXBwcm94aW1hdGlvbiB0byBleHAoYyoxMCoqZSksIHdpdGggcCBkZWNpbWFsIHBsYWNlcyBvZgotICAgIHByZWNpc2lvbi4KLQotICAgIFJldHVybnMgaW50ZWdlcnMgZCwgZiBzdWNoIHRoYXQ6Ci0KLSAgICAgIDEwKioocC0xKSA8PSBkIDw9IDEwKipwLCBhbmQKLSAgICAgIChkLTEpKjEwKipmIDwgZXhwKGMqMTAqKmUpIDwgKGQrMSkqMTAqKmYKLQotICAgIEluIG90aGVyIHdvcmRzLCBkKjEwKipmIGlzIGFuIGFwcHJveGltYXRpb24gdG8gZXhwKGMqMTAqKmUpIHdpdGggcAotICAgIGRpZ2l0cyBvZiBwcmVjaXNpb24sIGFuZCB3aXRoIGFuIGVycm9yIGluIGQgb2YgYXQgbW9zdCAxLiAgVGhpcyBpcwotICAgIGFsbW9zdCwgYnV0IG5vdCBxdWl0ZSwgdGhlIHNhbWUgYXMgdGhlIGVycm9yIGJlaW5nIDwgMXVscDogd2hlbiBkCi0gICAgPSAxMCoqKHAtMSkgdGhlIGVycm9yIGNvdWxkIGJlIHVwIHRvIDEwIHVscC4iIiIKLQotICAgICMgd2UnbGwgY2FsbCBpZXhwIHdpdGggTSA9IDEwKioocCsyKSwgZ2l2aW5nIHArMyBkaWdpdHMgb2YgcHJlY2lzaW9uCi0gICAgcCArPSAyCi0KLSAgICAjIGNvbXB1dGUgbG9nKDEwKSB3aXRoIGV4dHJhIHByZWNpc2lvbiA9IGFkanVzdGVkIGV4cG9uZW50IG9mIGMqMTAqKmUKLSAgICBleHRyYSA9IG1heCgwLCBlICsgbGVuKHN0cihjKSkgLSAxKQotICAgIHEgPSBwICsgZXh0cmEKLQotICAgICMgY29tcHV0ZSBxdW90aWVudCBjKjEwKiplLyhsb2coMTApKSA9IGMqMTAqKihlK3EpLyhsb2coMTApKjEwKipxKSwKLSAgICAjIHJvdW5kaW5nIGRvd24KLSAgICBzaGlmdCA9IGUrcQotICAgIGlmIHNoaWZ0ID49IDA6Ci0gICAgICAgIGNzaGlmdCA9IGMqMTAqKnNoaWZ0Ci0gICAgZWxzZToKLSAgICAgICAgY3NoaWZ0ID0gYy8vMTAqKi1zaGlmdAotICAgIHF1b3QsIHJlbSA9IGRpdm1vZChjc2hpZnQsIF9sb2cxMF9kaWdpdHMocSkpCi0KLSAgICAjIHJlZHVjZSByZW1haW5kZXIgYmFjayB0byBvcmlnaW5hbCBwcmVjaXNpb24KLSAgICByZW0gPSBfZGl2X25lYXJlc3QocmVtLCAxMCoqZXh0cmEpCi0KLSAgICAjIGVycm9yIGluIHJlc3VsdCBvZiBfaWV4cCA8IDEyMDsgIGVycm9yIGFmdGVyIGRpdmlzaW9uIDwgMC42MgotICAgIHJldHVybiBfZGl2X25lYXJlc3QoX2lleHAocmVtLCAxMCoqcCksIDEwMDApLCBxdW90IC0gcCArIDMKLQotZGVmIF9kcG93ZXIoeGMsIHhlLCB5YywgeWUsIHApOgotICAgICIiIkdpdmVuIGludGVnZXJzIHhjLCB4ZSwgeWMgYW5kIHllIHJlcHJlc2VudGluZyBEZWNpbWFscyB4ID0geGMqMTAqKnhlIGFuZAotICAgIHkgPSB5YyoxMCoqeWUsIGNvbXB1dGUgeCoqeS4gIFJldHVybnMgYSBwYWlyIG9mIGludGVnZXJzIChjLCBlKSBzdWNoIHRoYXQ6Ci0KLSAgICAgIDEwKioocC0xKSA8PSBjIDw9IDEwKipwLCBhbmQKLSAgICAgIChjLTEpKjEwKiplIDwgeCoqeSA8IChjKzEpKjEwKiplCi0KLSAgICBpbiBvdGhlciB3b3JkcywgYyoxMCoqZSBpcyBhbiBhcHByb3hpbWF0aW9uIHRvIHgqKnkgd2l0aCBwIGRpZ2l0cwotICAgIG9mIHByZWNpc2lvbiwgYW5kIHdpdGggYW4gZXJyb3IgaW4gYyBvZiBhdCBtb3N0IDEuICAoVGhpcyBpcwotICAgIGFsbW9zdCwgYnV0IG5vdCBxdWl0ZSwgdGhlIHNhbWUgYXMgdGhlIGVycm9yIGJlaW5nIDwgMXVscDogd2hlbiBjCi0gICAgPT0gMTAqKihwLTEpIHdlIGNhbiBvbmx5IGd1YXJhbnRlZSBlcnJvciA8IDEwdWxwLikKLQotICAgIFdlIGFzc3VtZSB0aGF0OiB4IGlzIHBvc2l0aXZlIGFuZCBub3QgZXF1YWwgdG8gMSwgYW5kIHkgaXMgbm9uemVyby4KLSAgICAiIiIKLQotICAgICMgRmluZCBiIHN1Y2ggdGhhdCAxMCoqKGItMSkgPD0gfHl8IDw9IDEwKipiCi0gICAgYiA9IGxlbihzdHIoYWJzKHljKSkpICsgeWUKLQotICAgICMgbG9nKHgpID0gbHhjKjEwKiooLXAtYi0xKSwgdG8gcCtiKzEgcGxhY2VzIGFmdGVyIHRoZSBkZWNpbWFsIHBvaW50Ci0gICAgbHhjID0gX2Rsb2coeGMsIHhlLCBwK2IrMSkKLQotICAgICMgY29tcHV0ZSBwcm9kdWN0IHkqbG9nKHgpID0geWMqbHhjKjEwKiooLXAtYi0xK3llKSA9IHBjKjEwKiooLXAtMSkKLSAgICBzaGlmdCA9IHllLWIKLSAgICBpZiBzaGlmdCA+PSAwOgotICAgICAgICBwYyA9IGx4Yyp5YyoxMCoqc2hpZnQKLSAgICBlbHNlOgotICAgICAgICBwYyA9IF9kaXZfbmVhcmVzdChseGMqeWMsIDEwKiotc2hpZnQpCi0KLSAgICBpZiBwYyA9PSAwOgotICAgICAgICAjIHdlIHByZWZlciBhIHJlc3VsdCB0aGF0IGlzbid0IGV4YWN0bHkgMTsgdGhpcyBtYWtlcyBpdAotICAgICAgICAjIGVhc2llciB0byBjb21wdXRlIGEgY29ycmVjdGx5IHJvdW5kZWQgcmVzdWx0IGluIF9fcG93X18KLSAgICAgICAgaWYgKChsZW4oc3RyKHhjKSkgKyB4ZSA+PSAxKSA9PSAoeWMgPiAwKSk6ICMgaWYgeCoqeSA+IDE6Ci0gICAgICAgICAgICBjb2VmZiwgZXhwID0gMTAqKihwLTEpKzEsIDEtcAotICAgICAgICBlbHNlOgotICAgICAgICAgICAgY29lZmYsIGV4cCA9IDEwKipwLTEsIC1wCi0gICAgZWxzZToKLSAgICAgICAgY29lZmYsIGV4cCA9IF9kZXhwKHBjLCAtKHArMSksIHArMSkKLSAgICAgICAgY29lZmYgPSBfZGl2X25lYXJlc3QoY29lZmYsIDEwKQotICAgICAgICBleHAgKz0gMQotCi0gICAgcmV0dXJuIGNvZWZmLCBleHAKLQotZGVmIF9sb2cxMF9sYihjLCBjb3JyZWN0aW9uID0gewotICAgICAgICAnMSc6IDEwMCwgJzInOiA3MCwgJzMnOiA1MywgJzQnOiA0MCwgJzUnOiAzMSwKLSAgICAgICAgJzYnOiAyMywgJzcnOiAxNiwgJzgnOiAxMCwgJzknOiA1fSk6Ci0gICAgIiIiQ29tcHV0ZSBhIGxvd2VyIGJvdW5kIGZvciAxMDAqbG9nMTAoYykgZm9yIGEgcG9zaXRpdmUgaW50ZWdlciBjLiIiIgotICAgIGlmIGMgPD0gMDoKLSAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigiVGhlIGFyZ3VtZW50IHRvIF9sb2cxMF9sYiBzaG91bGQgYmUgbm9ubmVnYXRpdmUuIikKLSAgICBzdHJfYyA9IHN0cihjKQotICAgIHJldHVybiAxMDAqbGVuKHN0cl9jKSAtIGNvcnJlY3Rpb25bc3RyX2NbMF1dCi0KLSMjIyMjIEhlbHBlciBGdW5jdGlvbnMgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwotCi1kZWYgX2NvbnZlcnRfb3RoZXIob3RoZXIsIHJhaXNlaXQ9RmFsc2UsIGFsbG93X2Zsb2F0PUZhbHNlKToKLSAgICAiIiJDb252ZXJ0IG90aGVyIHRvIERlY2ltYWwuCi0KLSAgICBWZXJpZmllcyB0aGF0IGl0J3Mgb2sgdG8gdXNlIGluIGFuIGltcGxpY2l0IGNvbnN0cnVjdGlvbi4KLSAgICBJZiBhbGxvd19mbG9hdCBpcyB0cnVlLCBhbGxvdyBjb252ZXJzaW9uIGZyb20gZmxvYXQ7ICB0aGlzCi0gICAgaXMgdXNlZCBpbiB0aGUgY29tcGFyaXNvbiBtZXRob2RzIChfX2VxX18gYW5kIGZyaWVuZHMpLgotCi0gICAgIiIiCi0gICAgaWYgaXNpbnN0YW5jZShvdGhlciwgRGVjaW1hbCk6Ci0gICAgICAgIHJldHVybiBvdGhlcgotICAgIGlmIGlzaW5zdGFuY2Uob3RoZXIsIGludCk6Ci0gICAgICAgIHJldHVybiBEZWNpbWFsKG90aGVyKQotICAgIGlmIGFsbG93X2Zsb2F0IGFuZCBpc2luc3RhbmNlKG90aGVyLCBmbG9hdCk6Ci0gICAgICAgIHJldHVybiBEZWNpbWFsLmZyb21fZmxvYXQob3RoZXIpCi0KLSAgICBpZiByYWlzZWl0OgotICAgICAgICByYWlzZSBUeXBlRXJyb3IoIlVuYWJsZSB0byBjb252ZXJ0ICVzIHRvIERlY2ltYWwiICUgb3RoZXIpCi0gICAgcmV0dXJuIE5vdEltcGxlbWVudGVkCi0KLWRlZiBfY29udmVydF9mb3JfY29tcGFyaXNvbihzZWxmLCBvdGhlciwgZXF1YWxpdHlfb3A9RmFsc2UpOgotICAgICIiIkdpdmVuIGEgRGVjaW1hbCBpbnN0YW5jZSBzZWxmIGFuZCBhIFB5dGhvbiBvYmplY3Qgb3RoZXIsIHJldHVybgotICAgIGEgcGFpciAocywgbykgb2YgRGVjaW1hbCBpbnN0YW5jZXMgc3VjaCB0aGF0ICJzIG9wIG8iIGlzCi0gICAgZXF1aXZhbGVudCB0byAic2VsZiBvcCBvdGhlciIgZm9yIGFueSBvZiB0aGUgNiBjb21wYXJpc29uCi0gICAgb3BlcmF0b3JzICJvcCIuCi0KLSAgICAiIiIKLSAgICBpZiBpc2luc3RhbmNlKG90aGVyLCBEZWNpbWFsKToKLSAgICAgICAgcmV0dXJuIHNlbGYsIG90aGVyCi0KLSAgICAjIENvbXBhcmlzb24gd2l0aCBhIFJhdGlvbmFsIGluc3RhbmNlIChhbHNvIGluY2x1ZGVzIGludGVnZXJzKToKLSAgICAjIHNlbGYgb3Agbi9kIDw9PiBzZWxmKmQgb3AgbiAoZm9yIG4gYW5kIGQgaW50ZWdlcnMsIGQgcG9zaXRpdmUpLgotICAgICMgQSBOYU4gb3IgaW5maW5pdHkgY2FuIGJlIGxlZnQgdW5jaGFuZ2VkIHdpdGhvdXQgYWZmZWN0aW5nIHRoZQotICAgICMgY29tcGFyaXNvbiByZXN1bHQuCi0gICAgaWYgaXNpbnN0YW5jZShvdGhlciwgX251bWJlcnMuUmF0aW9uYWwpOgotICAgICAgICBpZiBub3Qgc2VsZi5faXNfc3BlY2lhbDoKLSAgICAgICAgICAgIHNlbGYgPSBfZGVjX2Zyb21fdHJpcGxlKHNlbGYuX3NpZ24sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHIoaW50KHNlbGYuX2ludCkgKiBvdGhlci5kZW5vbWluYXRvciksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9leHApCi0gICAgICAgIHJldHVybiBzZWxmLCBEZWNpbWFsKG90aGVyLm51bWVyYXRvcikKLQotICAgICMgQ29tcGFyaXNvbnMgd2l0aCBmbG9hdCBhbmQgY29tcGxleCB0eXBlcy4gID09IGFuZCAhPSBjb21wYXJpc29ucwotICAgICMgd2l0aCBjb21wbGV4IG51bWJlcnMgc2hvdWxkIHN1Y2NlZWQsIHJldHVybmluZyBlaXRoZXIgVHJ1ZSBvciBGYWxzZQotICAgICMgYXMgYXBwcm9wcmlhdGUuICBPdGhlciBjb21wYXJpc29ucyByZXR1cm4gTm90SW1wbGVtZW50ZWQuCi0gICAgaWYgZXF1YWxpdHlfb3AgYW5kIGlzaW5zdGFuY2Uob3RoZXIsIF9udW1iZXJzLkNvbXBsZXgpIGFuZCBvdGhlci5pbWFnID09IDA6Ci0gICAgICAgIG90aGVyID0gb3RoZXIucmVhbAotICAgIGlmIGlzaW5zdGFuY2Uob3RoZXIsIGZsb2F0KToKLSAgICAgICAgY29udGV4dCA9IGdldGNvbnRleHQoKQotICAgICAgICBpZiBlcXVhbGl0eV9vcDoKLSAgICAgICAgICAgIGNvbnRleHQuZmxhZ3NbRmxvYXRPcGVyYXRpb25dID0gMQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgY29udGV4dC5fcmFpc2VfZXJyb3IoRmxvYXRPcGVyYXRpb24sCi0gICAgICAgICAgICAgICAgInN0cmljdCBzZW1hbnRpY3MgZm9yIG1peGluZyBmbG9hdHMgYW5kIERlY2ltYWxzIGFyZSBlbmFibGVkIikKLSAgICAgICAgcmV0dXJuIHNlbGYsIERlY2ltYWwuZnJvbV9mbG9hdChvdGhlcikKLSAgICByZXR1cm4gTm90SW1wbGVtZW50ZWQsIE5vdEltcGxlbWVudGVkCi0KLQotIyMjIyMgU2V0dXAgU3BlY2lmaWMgQ29udGV4dHMgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKLQotIyBUaGUgZGVmYXVsdCBjb250ZXh0IHByb3RvdHlwZSB1c2VkIGJ5IENvbnRleHQoKQotIyBJcyBtdXRhYmxlLCBzbyB0aGF0IG5ldyBjb250ZXh0cyBjYW4gaGF2ZSBkaWZmZXJlbnQgZGVmYXVsdCB2YWx1ZXMKLQotRGVmYXVsdENvbnRleHQgPSBDb250ZXh0KAotICAgICAgICBwcmVjPTI4LCByb3VuZGluZz1ST1VORF9IQUxGX0VWRU4sCi0gICAgICAgIHRyYXBzPVtEaXZpc2lvbkJ5WmVybywgT3ZlcmZsb3csIEludmFsaWRPcGVyYXRpb25dLAotICAgICAgICBmbGFncz1bXSwKLSAgICAgICAgRW1heD05OTk5OTksCi0gICAgICAgIEVtaW49LTk5OTk5OSwKLSAgICAgICAgY2FwaXRhbHM9MSwKLSAgICAgICAgY2xhbXA9MAotKQotCi0jIFByZS1tYWRlIGFsdGVybmF0ZSBjb250ZXh0cyBvZmZlcmVkIGJ5IHRoZSBzcGVjaWZpY2F0aW9uCi0jIERvbid0IGNoYW5nZSB0aGVzZTsgdGhlIHVzZXIgc2hvdWxkIGJlIGFibGUgdG8gc2VsZWN0IHRoZXNlCi0jIGNvbnRleHRzIGFuZCBiZSBhYmxlIHRvIHJlcHJvZHVjZSByZXN1bHRzIGZyb20gb3RoZXIgaW1wbGVtZW50YXRpb25zCi0jIG9mIHRoZSBzcGVjLgotCi1CYXNpY0NvbnRleHQgPSBDb250ZXh0KAotICAgICAgICBwcmVjPTksIHJvdW5kaW5nPVJPVU5EX0hBTEZfVVAsCi0gICAgICAgIHRyYXBzPVtEaXZpc2lvbkJ5WmVybywgT3ZlcmZsb3csIEludmFsaWRPcGVyYXRpb24sIENsYW1wZWQsIFVuZGVyZmxvd10sCi0gICAgICAgIGZsYWdzPVtdLAotKQotCi1FeHRlbmRlZENvbnRleHQgPSBDb250ZXh0KAotICAgICAgICBwcmVjPTksIHJvdW5kaW5nPVJPVU5EX0hBTEZfRVZFTiwKLSAgICAgICAgdHJhcHM9W10sCi0gICAgICAgIGZsYWdzPVtdLAotKQotCi0KLSMjIyMjIGNydWQgZm9yIHBhcnNpbmcgc3RyaW5ncyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKLSMKLSMgUmVndWxhciBleHByZXNzaW9uIHVzZWQgZm9yIHBhcnNpbmcgbnVtZXJpYyBzdHJpbmdzLiAgQWRkaXRpb25hbAotIyBjb21tZW50czoKLSMKLSMgMS4gVW5jb21tZW50IHRoZSB0d28gJ1xzKicgbGluZXMgdG8gYWxsb3cgbGVhZGluZyBhbmQvb3IgdHJhaWxpbmcKLSMgd2hpdGVzcGFjZS4gIEJ1dCBub3RlIHRoYXQgdGhlIHNwZWNpZmljYXRpb24gZGlzYWxsb3dzIHdoaXRlc3BhY2UgaW4KLSMgYSBudW1lcmljIHN0cmluZy4KLSMKLSMgMi4gRm9yIGZpbml0ZSBudW1iZXJzIChub3QgaW5maW5pdGllcyBhbmQgTmFOcykgdGhlIGJvZHkgb2YgdGhlCi0jIG51bWJlciBiZXR3ZWVuIHRoZSBvcHRpb25hbCBzaWduIGFuZCB0aGUgb3B0aW9uYWwgZXhwb25lbnQgbXVzdCBoYXZlCi0jIGF0IGxlYXN0IG9uZSBkZWNpbWFsIGRpZ2l0LCBwb3NzaWJseSBhZnRlciB0aGUgZGVjaW1hbCBwb2ludC4gIFRoZQotIyBsb29rYWhlYWQgZXhwcmVzc2lvbiAnKD89XGR8XC5cZCknIGNoZWNrcyB0aGlzLgotCi1pbXBvcnQgcmUKLV9wYXJzZXIgPSByZS5jb21waWxlKHIiIiIgICAgICAgICMgQSBudW1lcmljIHN0cmluZyBjb25zaXN0cyBvZjoKLSMgICAgXHMqCi0gICAgKD9QPHNpZ24+Wy0rXSk/ICAgICAgICAgICAgICAjIGFuIG9wdGlvbmFsIHNpZ24sIGZvbGxvd2VkIGJ5IGVpdGhlci4uLgotICAgICgKLSAgICAgICAgKD89XGR8XC5cZCkgICAgICAgICAgICAgICMgLi4uYSBudW1iZXIgKHdpdGggYXQgbGVhc3Qgb25lIGRpZ2l0KQotICAgICAgICAoP1A8aW50PlxkKikgICAgICAgICAgICAgIyBoYXZpbmcgYSAocG9zc2libHkgZW1wdHkpIGludGVnZXIgcGFydAotICAgICAgICAoXC4oP1A8ZnJhYz5cZCopKT8gICAgICAgIyBmb2xsb3dlZCBieSBhbiBvcHRpb25hbCBmcmFjdGlvbmFsIHBhcnQKLSAgICAgICAgKEUoP1A8ZXhwPlstK10/XGQrKSk/ICAgICMgZm9sbG93ZWQgYnkgYW4gb3B0aW9uYWwgZXhwb25lbnQsIG9yLi4uCi0gICAgfAotICAgICAgICBJbmYoaW5pdHkpPyAgICAgICAgICAgICAgIyAuLi5hbiBpbmZpbml0eSwgb3IuLi4KLSAgICB8Ci0gICAgICAgICg/UDxzaWduYWw+cyk/ICAgICAgICAgICAjIC4uLmFuIChvcHRpb25hbGx5IHNpZ25hbGluZykKLSAgICAgICAgTmFOICAgICAgICAgICAgICAgICAgICAgICMgTmFOCi0gICAgICAgICg/UDxkaWFnPlxkKikgICAgICAgICAgICAjIHdpdGggKHBvc3NpYmx5IGVtcHR5KSBkaWFnbm9zdGljIGluZm8uCi0gICAgKQotIyAgICBccyoKLSAgICBcWgotIiIiLCByZS5WRVJCT1NFIHwgcmUuSUdOT1JFQ0FTRSkubWF0Y2gKLQotX2FsbF96ZXJvcyA9IHJlLmNvbXBpbGUoJzAqJCcpLm1hdGNoCi1fZXhhY3RfaGFsZiA9IHJlLmNvbXBpbGUoJzUwKiQnKS5tYXRjaAotCi0jIyMjIyBQRVAzMTAxIHN1cHBvcnQgZnVuY3Rpb25zICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKLSMgVGhlIGZ1bmN0aW9ucyBpbiB0aGlzIHNlY3Rpb24gaGF2ZSBsaXR0bGUgdG8gZG8gd2l0aCB0aGUgRGVjaW1hbAotIyBjbGFzcywgYW5kIGNvdWxkIHBvdGVudGlhbGx5IGJlIHJldXNlZCBvciBhZGFwdGVkIGZvciBvdGhlciBwdXJlCi0jIFB5dGhvbiBudW1lcmljIGNsYXNzZXMgdGhhdCB3YW50IHRvIGltcGxlbWVudCBfX2Zvcm1hdF9fCi0jCi0jIEEgZm9ybWF0IHNwZWNpZmllciBmb3IgRGVjaW1hbCBsb29rcyBsaWtlOgotIwotIyAgIFtbZmlsbF1hbGlnbl1bc2lnbl1bI11bMF1bbWluaW11bXdpZHRoXVssXVsucHJlY2lzaW9uXVt0eXBlXQotCi1fcGFyc2VfZm9ybWF0X3NwZWNpZmllcl9yZWdleCA9IHJlLmNvbXBpbGUociIiIlxBCi0oPzoKLSAgICg/UDxmaWxsPi4pPwotICAgKD9QPGFsaWduPls8Pj1eXSkKLSk/Ci0oP1A8c2lnbj5bLSsgXSk/Ci0oP1A8YWx0PlwjKT8KLSg/UDx6ZXJvcGFkPjApPwotKD9QPG1pbmltdW13aWR0aD4oPyEwKVxkKyk/Ci0oP1A8dGhvdXNhbmRzX3NlcD4sKT8KLSg/OlwuKD9QPHByZWNpc2lvbj4wfCg/ITApXGQrKSk/Ci0oP1A8dHlwZT5bZUVmRmdHbiVdKT8KLVxaCi0iIiIsIHJlLlZFUkJPU0V8cmUuRE9UQUxMKQotCi1kZWwgcmUKLQotIyBUaGUgbG9jYWxlIG1vZHVsZSBpcyBvbmx5IG5lZWRlZCBmb3IgdGhlICduJyBmb3JtYXQgc3BlY2lmaWVyLiAgVGhlCi0jIHJlc3Qgb2YgdGhlIFBFUCAzMTAxIGNvZGUgZnVuY3Rpb25zIHF1aXRlIGhhcHBpbHkgd2l0aG91dCBpdCwgc28gd2UKLSMgZG9uJ3QgY2FyZSB0b28gbXVjaCBpZiBsb2NhbGUgaXNuJ3QgcHJlc2VudC4KLXRyeToKLSAgICBpbXBvcnQgbG9jYWxlIGFzIF9sb2NhbGUKLWV4Y2VwdCBJbXBvcnRFcnJvcjoKLSAgICBwYXNzCi0KLWRlZiBfcGFyc2VfZm9ybWF0X3NwZWNpZmllcihmb3JtYXRfc3BlYywgX2xvY2FsZWNvbnY9Tm9uZSk6Ci0gICAgIiIiUGFyc2UgYW5kIHZhbGlkYXRlIGEgZm9ybWF0IHNwZWNpZmllci4KLQotICAgIFR1cm5zIGEgc3RhbmRhcmQgbnVtZXJpYyBmb3JtYXQgc3BlY2lmaWVyIGludG8gYSBkaWN0LCB3aXRoIHRoZQotICAgIGZvbGxvd2luZyBlbnRyaWVzOgotCi0gICAgICBmaWxsOiBmaWxsIGNoYXJhY3RlciB0byBwYWQgZmllbGQgdG8gbWluaW11bSB3aWR0aAotICAgICAgYWxpZ246IGFsaWdubWVudCB0eXBlLCBlaXRoZXIgJzwnLCAnPicsICc9JyBvciAnXicKLSAgICAgIHNpZ246IGVpdGhlciAnKycsICctJyBvciAnICcKLSAgICAgIG1pbmltdW13aWR0aDogbm9ubmVnYXRpdmUgaW50ZWdlciBnaXZpbmcgbWluaW11bSB3aWR0aAotICAgICAgemVyb3BhZDogYm9vbGVhbiwgaW5kaWNhdGluZyB3aGV0aGVyIHRvIHBhZCB3aXRoIHplcm9zCi0gICAgICB0aG91c2FuZHNfc2VwOiBzdHJpbmcgdG8gdXNlIGFzIHRob3VzYW5kcyBzZXBhcmF0b3IsIG9yICcnCi0gICAgICBncm91cGluZzogZ3JvdXBpbmcgZm9yIHRob3VzYW5kcyBzZXBhcmF0b3JzLCBpbiBmb3JtYXQKLSAgICAgICAgdXNlZCBieSBsb2NhbGVjb252Ci0gICAgICBkZWNpbWFsX3BvaW50OiBzdHJpbmcgdG8gdXNlIGZvciBkZWNpbWFsIHBvaW50Ci0gICAgICBwcmVjaXNpb246IG5vbm5lZ2F0aXZlIGludGVnZXIgZ2l2aW5nIHByZWNpc2lvbiwgb3IgTm9uZQotICAgICAgdHlwZTogb25lIG9mIHRoZSBjaGFyYWN0ZXJzICdlRWZGZ0clJywgb3IgTm9uZQotCi0gICAgIiIiCi0gICAgbSA9IF9wYXJzZV9mb3JtYXRfc3BlY2lmaWVyX3JlZ2V4Lm1hdGNoKGZvcm1hdF9zcGVjKQotICAgIGlmIG0gaXMgTm9uZToKLSAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigiSW52YWxpZCBmb3JtYXQgc3BlY2lmaWVyOiAiICsgZm9ybWF0X3NwZWMpCi0KLSAgICAjIGdldCB0aGUgZGljdGlvbmFyeQotICAgIGZvcm1hdF9kaWN0ID0gbS5ncm91cGRpY3QoKQotCi0gICAgIyB6ZXJvcGFkOyBkZWZhdWx0cyBmb3IgZmlsbCBhbmQgYWxpZ25tZW50LiAgSWYgemVybyBwYWRkaW5nCi0gICAgIyBpcyByZXF1ZXN0ZWQsIHRoZSBmaWxsIGFuZCBhbGlnbiBmaWVsZHMgc2hvdWxkIGJlIGFic2VudC4KLSAgICBmaWxsID0gZm9ybWF0X2RpY3RbJ2ZpbGwnXQotICAgIGFsaWduID0gZm9ybWF0X2RpY3RbJ2FsaWduJ10KLSAgICBmb3JtYXRfZGljdFsnemVyb3BhZCddID0gKGZvcm1hdF9kaWN0Wyd6ZXJvcGFkJ10gaXMgbm90IE5vbmUpCi0gICAgaWYgZm9ybWF0X2RpY3RbJ3plcm9wYWQnXToKLSAgICAgICAgaWYgZmlsbCBpcyBub3QgTm9uZToKLSAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoIkZpbGwgY2hhcmFjdGVyIGNvbmZsaWN0cyB3aXRoICcwJyIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiBpbiBmb3JtYXQgc3BlY2lmaWVyOiAiICsgZm9ybWF0X3NwZWMpCi0gICAgICAgIGlmIGFsaWduIGlzIG5vdCBOb25lOgotICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigiQWxpZ25tZW50IGNvbmZsaWN0cyB3aXRoICcwJyBpbiAiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICJmb3JtYXQgc3BlY2lmaWVyOiAiICsgZm9ybWF0X3NwZWMpCi0gICAgZm9ybWF0X2RpY3RbJ2ZpbGwnXSA9IGZpbGwgb3IgJyAnCi0gICAgIyBQRVAgMzEwMSBvcmlnaW5hbGx5IHNwZWNpZmllZCB0aGF0IHRoZSBkZWZhdWx0IGFsaWdubWVudCBzaG91bGQKLSAgICAjIGJlIGxlZnQ7ICBpdCB3YXMgbGF0ZXIgYWdyZWVkIHRoYXQgcmlnaHQtYWxpZ25lZCBtYWtlcyBtb3JlIHNlbnNlCi0gICAgIyBmb3IgbnVtZXJpYyB0eXBlcy4gIFNlZSBodHRwOi8vYnVncy5weXRob24ub3JnL2lzc3VlNjg1Ny4KLSAgICBmb3JtYXRfZGljdFsnYWxpZ24nXSA9IGFsaWduIG9yICc+JwotCi0gICAgIyBkZWZhdWx0IHNpZ24gaGFuZGxpbmc6ICctJyBmb3IgbmVnYXRpdmUsICcnIGZvciBwb3NpdGl2ZQotICAgIGlmIGZvcm1hdF9kaWN0WydzaWduJ10gaXMgTm9uZToKLSAgICAgICAgZm9ybWF0X2RpY3RbJ3NpZ24nXSA9ICctJwotCi0gICAgIyBtaW5pbXVtd2lkdGggZGVmYXVsdHMgdG8gMDsgcHJlY2lzaW9uIHJlbWFpbnMgTm9uZSBpZiBub3QgZ2l2ZW4KLSAgICBmb3JtYXRfZGljdFsnbWluaW11bXdpZHRoJ10gPSBpbnQoZm9ybWF0X2RpY3RbJ21pbmltdW13aWR0aCddIG9yICcwJykKLSAgICBpZiBmb3JtYXRfZGljdFsncHJlY2lzaW9uJ10gaXMgbm90IE5vbmU6Ci0gICAgICAgIGZvcm1hdF9kaWN0WydwcmVjaXNpb24nXSA9IGludChmb3JtYXRfZGljdFsncHJlY2lzaW9uJ10pCi0KLSAgICAjIGlmIGZvcm1hdCB0eXBlIGlzICdnJyBvciAnRycgdGhlbiBhIHByZWNpc2lvbiBvZiAwIG1ha2VzIGxpdHRsZQotICAgICMgc2Vuc2U7IGNvbnZlcnQgaXQgdG8gMS4gIFNhbWUgaWYgZm9ybWF0IHR5cGUgaXMgdW5zcGVjaWZpZWQuCi0gICAgaWYgZm9ybWF0X2RpY3RbJ3ByZWNpc2lvbiddID09IDA6Ci0gICAgICAgIGlmIGZvcm1hdF9kaWN0Wyd0eXBlJ10gaXMgTm9uZSBvciBmb3JtYXRfZGljdFsndHlwZSddIGluICdnR24nOgotICAgICAgICAgICAgZm9ybWF0X2RpY3RbJ3ByZWNpc2lvbiddID0gMQotCi0gICAgIyBkZXRlcm1pbmUgdGhvdXNhbmRzIHNlcGFyYXRvciwgZ3JvdXBpbmcsIGFuZCBkZWNpbWFsIHNlcGFyYXRvciwgYW5kCi0gICAgIyBhZGQgYXBwcm9wcmlhdGUgZW50cmllcyB0byBmb3JtYXRfZGljdAotICAgIGlmIGZvcm1hdF9kaWN0Wyd0eXBlJ10gPT0gJ24nOgotICAgICAgICAjIGFwYXJ0IGZyb20gc2VwYXJhdG9ycywgJ24nIGJlaGF2ZXMganVzdCBsaWtlICdnJwotICAgICAgICBmb3JtYXRfZGljdFsndHlwZSddID0gJ2cnCi0gICAgICAgIGlmIF9sb2NhbGVjb252IGlzIE5vbmU6Ci0gICAgICAgICAgICBfbG9jYWxlY29udiA9IF9sb2NhbGUubG9jYWxlY29udigpCi0gICAgICAgIGlmIGZvcm1hdF9kaWN0Wyd0aG91c2FuZHNfc2VwJ10gaXMgbm90IE5vbmU6Ci0gICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJFeHBsaWNpdCB0aG91c2FuZHMgc2VwYXJhdG9yIGNvbmZsaWN0cyB3aXRoICIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiduJyB0eXBlIGluIGZvcm1hdCBzcGVjaWZpZXI6ICIgKyBmb3JtYXRfc3BlYykKLSAgICAgICAgZm9ybWF0X2RpY3RbJ3Rob3VzYW5kc19zZXAnXSA9IF9sb2NhbGVjb252Wyd0aG91c2FuZHNfc2VwJ10KLSAgICAgICAgZm9ybWF0X2RpY3RbJ2dyb3VwaW5nJ10gPSBfbG9jYWxlY29udlsnZ3JvdXBpbmcnXQotICAgICAgICBmb3JtYXRfZGljdFsnZGVjaW1hbF9wb2ludCddID0gX2xvY2FsZWNvbnZbJ2RlY2ltYWxfcG9pbnQnXQotICAgIGVsc2U6Ci0gICAgICAgIGlmIGZvcm1hdF9kaWN0Wyd0aG91c2FuZHNfc2VwJ10gaXMgTm9uZToKLSAgICAgICAgICAgIGZvcm1hdF9kaWN0Wyd0aG91c2FuZHNfc2VwJ10gPSAnJwotICAgICAgICBmb3JtYXRfZGljdFsnZ3JvdXBpbmcnXSA9IFszLCAwXQotICAgICAgICBmb3JtYXRfZGljdFsnZGVjaW1hbF9wb2ludCddID0gJy4nCi0KLSAgICByZXR1cm4gZm9ybWF0X2RpY3QKLQotZGVmIF9mb3JtYXRfYWxpZ24oc2lnbiwgYm9keSwgc3BlYyk6Ci0gICAgIiIiR2l2ZW4gYW4gdW5wYWRkZWQsIG5vbi1hbGlnbmVkIG51bWVyaWMgc3RyaW5nICdib2R5JyBhbmQgc2lnbgotICAgIHN0cmluZyAnc2lnbicsIGFkZCBwYWRkaW5nIGFuZCBhbGlnbm1lbnQgY29uZm9ybWluZyB0byB0aGUgZ2l2ZW4KLSAgICBmb3JtYXQgc3BlY2lmaWVyIGRpY3Rpb25hcnkgJ3NwZWMnIChhcyBwcm9kdWNlZCBieQotICAgIHBhcnNlX2Zvcm1hdF9zcGVjaWZpZXIpLgotCi0gICAgIiIiCi0gICAgIyBob3cgbXVjaCBleHRyYSBzcGFjZSBkbyB3ZSBoYXZlIHRvIHBsYXkgd2l0aD8KLSAgICBtaW5pbXVtd2lkdGggPSBzcGVjWydtaW5pbXVtd2lkdGgnXQotICAgIGZpbGwgPSBzcGVjWydmaWxsJ10KLSAgICBwYWRkaW5nID0gZmlsbCoobWluaW11bXdpZHRoIC0gbGVuKHNpZ24pIC0gbGVuKGJvZHkpKQotCi0gICAgYWxpZ24gPSBzcGVjWydhbGlnbiddCi0gICAgaWYgYWxpZ24gPT0gJzwnOgotICAgICAgICByZXN1bHQgPSBzaWduICsgYm9keSArIHBhZGRpbmcKLSAgICBlbGlmIGFsaWduID09ICc+JzoKLSAgICAgICAgcmVzdWx0ID0gcGFkZGluZyArIHNpZ24gKyBib2R5Ci0gICAgZWxpZiBhbGlnbiA9PSAnPSc6Ci0gICAgICAgIHJlc3VsdCA9IHNpZ24gKyBwYWRkaW5nICsgYm9keQotICAgIGVsaWYgYWxpZ24gPT0gJ14nOgotICAgICAgICBoYWxmID0gbGVuKHBhZGRpbmcpLy8yCi0gICAgICAgIHJlc3VsdCA9IHBhZGRpbmdbOmhhbGZdICsgc2lnbiArIGJvZHkgKyBwYWRkaW5nW2hhbGY6XQotICAgIGVsc2U6Ci0gICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoJ1VucmVjb2duaXNlZCBhbGlnbm1lbnQgZmllbGQnKQotCi0gICAgcmV0dXJuIHJlc3VsdAotCi1kZWYgX2dyb3VwX2xlbmd0aHMoZ3JvdXBpbmcpOgotICAgICIiIkNvbnZlcnQgYSBsb2NhbGVjb252LXN0eWxlIGdyb3VwaW5nIGludG8gYSAocG9zc2libHkgaW5maW5pdGUpCi0gICAgaXRlcmFibGUgb2YgaW50ZWdlcnMgcmVwcmVzZW50aW5nIGdyb3VwIGxlbmd0aHMuCi0KLSAgICAiIiIKLSAgICAjIFRoZSByZXN1bHQgZnJvbSBsb2NhbGVjb252KClbJ2dyb3VwaW5nJ10sIGFuZCB0aGUgaW5wdXQgdG8gdGhpcwotICAgICMgZnVuY3Rpb24sIHNob3VsZCBiZSBhIGxpc3Qgb2YgaW50ZWdlcnMgaW4gb25lIG9mIHRoZQotICAgICMgZm9sbG93aW5nIHRocmVlIGZvcm1zOgotICAgICMKLSAgICAjICAgKDEpIGFuIGVtcHR5IGxpc3QsIG9yCi0gICAgIyAgICgyKSBub25lbXB0eSBsaXN0IG9mIHBvc2l0aXZlIGludGVnZXJzICsgWzBdCi0gICAgIyAgICgzKSBsaXN0IG9mIHBvc2l0aXZlIGludGVnZXJzICsgW2xvY2FsZS5DSEFSX01BWF0sIG9yCi0KLSAgICBmcm9tIGl0ZXJ0b29scyBpbXBvcnQgY2hhaW4sIHJlcGVhdAotICAgIGlmIG5vdCBncm91cGluZzoKLSAgICAgICAgcmV0dXJuIFtdCi0gICAgZWxpZiBncm91cGluZ1stMV0gPT0gMCBhbmQgbGVuKGdyb3VwaW5nKSA+PSAyOgotICAgICAgICByZXR1cm4gY2hhaW4oZ3JvdXBpbmdbOi0xXSwgcmVwZWF0KGdyb3VwaW5nWy0yXSkpCi0gICAgZWxpZiBncm91cGluZ1stMV0gPT0gX2xvY2FsZS5DSEFSX01BWDoKLSAgICAgICAgcmV0dXJuIGdyb3VwaW5nWzotMV0KLSAgICBlbHNlOgotICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCd1bnJlY29nbmlzZWQgZm9ybWF0IGZvciBncm91cGluZycpCi0KLWRlZiBfaW5zZXJ0X3Rob3VzYW5kc19zZXAoZGlnaXRzLCBzcGVjLCBtaW5fd2lkdGg9MSk6Ci0gICAgIiIiSW5zZXJ0IHRob3VzYW5kcyBzZXBhcmF0b3JzIGludG8gYSBkaWdpdCBzdHJpbmcuCi0KLSAgICBzcGVjIGlzIGEgZGljdGlvbmFyeSB3aG9zZSBrZXlzIHNob3VsZCBpbmNsdWRlICd0aG91c2FuZHNfc2VwJyBhbmQKLSAgICAnZ3JvdXBpbmcnOyB0eXBpY2FsbHkgaXQncyB0aGUgcmVzdWx0IG9mIHBhcnNpbmcgdGhlIGZvcm1hdAotICAgIHNwZWNpZmllciB1c2luZyBfcGFyc2VfZm9ybWF0X3NwZWNpZmllci4KLQotICAgIFRoZSBtaW5fd2lkdGgga2V5d29yZCBhcmd1bWVudCBnaXZlcyB0aGUgbWluaW11bSBsZW5ndGggb2YgdGhlCi0gICAgcmVzdWx0LCB3aGljaCB3aWxsIGJlIHBhZGRlZCBvbiB0aGUgbGVmdCB3aXRoIHplcm9zIGlmIG5lY2Vzc2FyeS4KLQotICAgIElmIG5lY2Vzc2FyeSwgdGhlIHplcm8gcGFkZGluZyBhZGRzIGFuIGV4dHJhICcwJyBvbiB0aGUgbGVmdCB0bwotICAgIGF2b2lkIGEgbGVhZGluZyB0aG91c2FuZHMgc2VwYXJhdG9yLiAgRm9yIGV4YW1wbGUsIGluc2VydGluZwotICAgIGNvbW1hcyBldmVyeSB0aHJlZSBkaWdpdHMgaW4gJzEyMzQ1NicsIHdpdGggbWluX3dpZHRoPTgsIGdpdmVzCi0gICAgJzAsMTIzLDQ1NicsIGV2ZW4gdGhvdWdoIHRoYXQgaGFzIGxlbmd0aCA5LgotCi0gICAgIiIiCi0KLSAgICBzZXAgPSBzcGVjWyd0aG91c2FuZHNfc2VwJ10KLSAgICBncm91cGluZyA9IHNwZWNbJ2dyb3VwaW5nJ10KLQotICAgIGdyb3VwcyA9IFtdCi0gICAgZm9yIGwgaW4gX2dyb3VwX2xlbmd0aHMoZ3JvdXBpbmcpOgotICAgICAgICBpZiBsIDw9IDA6Ci0gICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJncm91cCBsZW5ndGggc2hvdWxkIGJlIHBvc2l0aXZlIikKLSAgICAgICAgIyBtYXgoLi4uLCAxKSBmb3JjZXMgYXQgbGVhc3QgMSBkaWdpdCB0byB0aGUgbGVmdCBvZiBhIHNlcGFyYXRvcgotICAgICAgICBsID0gbWluKG1heChsZW4oZGlnaXRzKSwgbWluX3dpZHRoLCAxKSwgbCkKLSAgICAgICAgZ3JvdXBzLmFwcGVuZCgnMCcqKGwgLSBsZW4oZGlnaXRzKSkgKyBkaWdpdHNbLWw6XSkKLSAgICAgICAgZGlnaXRzID0gZGlnaXRzWzotbF0KLSAgICAgICAgbWluX3dpZHRoIC09IGwKLSAgICAgICAgaWYgbm90IGRpZ2l0cyBhbmQgbWluX3dpZHRoIDw9IDA6Ci0gICAgICAgICAgICBicmVhawotICAgICAgICBtaW5fd2lkdGggLT0gbGVuKHNlcCkKLSAgICBlbHNlOgotICAgICAgICBsID0gbWF4KGxlbihkaWdpdHMpLCBtaW5fd2lkdGgsIDEpCi0gICAgICAgIGdyb3Vwcy5hcHBlbmQoJzAnKihsIC0gbGVuKGRpZ2l0cykpICsgZGlnaXRzWy1sOl0pCi0gICAgcmV0dXJuIHNlcC5qb2luKHJldmVyc2VkKGdyb3VwcykpCi0KLWRlZiBfZm9ybWF0X3NpZ24oaXNfbmVnYXRpdmUsIHNwZWMpOgotICAgICIiIkRldGVybWluZSBzaWduIGNoYXJhY3Rlci4iIiIKLQotICAgIGlmIGlzX25lZ2F0aXZlOgotICAgICAgICByZXR1cm4gJy0nCi0gICAgZWxpZiBzcGVjWydzaWduJ10gaW4gJyArJzoKLSAgICAgICAgcmV0dXJuIHNwZWNbJ3NpZ24nXQotICAgIGVsc2U6Ci0gICAgICAgIHJldHVybiAnJwotCi1kZWYgX2Zvcm1hdF9udW1iZXIoaXNfbmVnYXRpdmUsIGludHBhcnQsIGZyYWNwYXJ0LCBleHAsIHNwZWMpOgotICAgICIiIkZvcm1hdCBhIG51bWJlciwgZ2l2ZW4gdGhlIGZvbGxvd2luZyBkYXRhOgotCi0gICAgaXNfbmVnYXRpdmU6IHRydWUgaWYgdGhlIG51bWJlciBpcyBuZWdhdGl2ZSwgZWxzZSBmYWxzZQotICAgIGludHBhcnQ6IHN0cmluZyBvZiBkaWdpdHMgdGhhdCBtdXN0IGFwcGVhciBiZWZvcmUgdGhlIGRlY2ltYWwgcG9pbnQKLSAgICBmcmFjcGFydDogc3RyaW5nIG9mIGRpZ2l0cyB0aGF0IG11c3QgY29tZSBhZnRlciB0aGUgcG9pbnQKLSAgICBleHA6IGV4cG9uZW50LCBhcyBhbiBpbnRlZ2VyCi0gICAgc3BlYzogZGljdGlvbmFyeSByZXN1bHRpbmcgZnJvbSBwYXJzaW5nIHRoZSBmb3JtYXQgc3BlY2lmaWVyCi0KLSAgICBUaGlzIGZ1bmN0aW9uIHVzZXMgdGhlIGluZm9ybWF0aW9uIGluIHNwZWMgdG86Ci0gICAgICBpbnNlcnQgc2VwYXJhdG9ycyAoZGVjaW1hbCBzZXBhcmF0b3IgYW5kIHRob3VzYW5kcyBzZXBhcmF0b3JzKQotICAgICAgZm9ybWF0IHRoZSBzaWduCi0gICAgICBmb3JtYXQgdGhlIGV4cG9uZW50Ci0gICAgICBhZGQgdHJhaWxpbmcgJyUnIGZvciB0aGUgJyUnIHR5cGUKLSAgICAgIHplcm8tcGFkIGlmIG5lY2Vzc2FyeQotICAgICAgZmlsbCBhbmQgYWxpZ24gaWYgbmVjZXNzYXJ5Ci0gICAgIiIiCi0KLSAgICBzaWduID0gX2Zvcm1hdF9zaWduKGlzX25lZ2F0aXZlLCBzcGVjKQotCi0gICAgaWYgZnJhY3BhcnQgb3Igc3BlY1snYWx0J106Ci0gICAgICAgIGZyYWNwYXJ0ID0gc3BlY1snZGVjaW1hbF9wb2ludCddICsgZnJhY3BhcnQKLQotICAgIGlmIGV4cCAhPSAwIG9yIHNwZWNbJ3R5cGUnXSBpbiAnZUUnOgotICAgICAgICBlY2hhciA9IHsnRSc6ICdFJywgJ2UnOiAnZScsICdHJzogJ0UnLCAnZyc6ICdlJ31bc3BlY1sndHlwZSddXQotICAgICAgICBmcmFjcGFydCArPSAiezB9ezE6K30iLmZvcm1hdChlY2hhciwgZXhwKQotICAgIGlmIHNwZWNbJ3R5cGUnXSA9PSAnJSc6Ci0gICAgICAgIGZyYWNwYXJ0ICs9ICclJwotCi0gICAgaWYgc3BlY1snemVyb3BhZCddOgotICAgICAgICBtaW5fd2lkdGggPSBzcGVjWydtaW5pbXVtd2lkdGgnXSAtIGxlbihmcmFjcGFydCkgLSBsZW4oc2lnbikKLSAgICBlbHNlOgotICAgICAgICBtaW5fd2lkdGggPSAwCi0gICAgaW50cGFydCA9IF9pbnNlcnRfdGhvdXNhbmRzX3NlcChpbnRwYXJ0LCBzcGVjLCBtaW5fd2lkdGgpCi0KLSAgICByZXR1cm4gX2Zvcm1hdF9hbGlnbihzaWduLCBpbnRwYXJ0K2ZyYWNwYXJ0LCBzcGVjKQotCi0KLSMjIyMjIFVzZWZ1bCBDb25zdGFudHMgKGludGVybmFsIHVzZSBvbmx5KSAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwotCi0jIFJldXNhYmxlIGRlZmF1bHRzCi1fSW5maW5pdHkgPSBEZWNpbWFsKCdJbmYnKQotX05lZ2F0aXZlSW5maW5pdHkgPSBEZWNpbWFsKCctSW5mJykKLV9OYU4gPSBEZWNpbWFsKCdOYU4nKQotX1plcm8gPSBEZWNpbWFsKDApCi1fT25lID0gRGVjaW1hbCgxKQotX05lZ2F0aXZlT25lID0gRGVjaW1hbCgtMSkKLQotIyBfU2lnbmVkSW5maW5pdHlbc2lnbl0gaXMgaW5maW5pdHkgdy8gdGhhdCBzaWduCi1fU2lnbmVkSW5maW5pdHkgPSAoX0luZmluaXR5LCBfTmVnYXRpdmVJbmZpbml0eSkKLQotIyBDb25zdGFudHMgcmVsYXRlZCB0byB0aGUgaGFzaCBpbXBsZW1lbnRhdGlvbjsgIGhhc2goeCkgaXMgYmFzZWQKLSMgb24gdGhlIHJlZHVjdGlvbiBvZiB4IG1vZHVsbyBfUHlIQVNIX01PRFVMVVMKLV9QeUhBU0hfTU9EVUxVUyA9IHN5cy5oYXNoX2luZm8ubW9kdWx1cwotIyBoYXNoIHZhbHVlcyB0byB1c2UgZm9yIHBvc2l0aXZlIGFuZCBuZWdhdGl2ZSBpbmZpbml0aWVzLCBhbmQgbmFucwotX1B5SEFTSF9JTkYgPSBzeXMuaGFzaF9pbmZvLmluZgotX1B5SEFTSF9OQU4gPSBzeXMuaGFzaF9pbmZvLm5hbgotCi0jIF9QeUhBU0hfMTBJTlYgaXMgdGhlIGludmVyc2Ugb2YgMTAgbW9kdWxvIHRoZSBwcmltZSBfUHlIQVNIX01PRFVMVVMKLV9QeUhBU0hfMTBJTlYgPSBwb3coMTAsIF9QeUhBU0hfTU9EVUxVUyAtIDIsIF9QeUhBU0hfTU9EVUxVUykKLWRlbCBzeXMKLQotdHJ5OgotICAgIGltcG9ydCBfZGVjaW1hbAotZXhjZXB0IEltcG9ydEVycm9yOgotICAgIHBhc3MKLWVsc2U6Ci0gICAgczEgPSBzZXQoZGlyKCkpCi0gICAgczIgPSBzZXQoZGlyKF9kZWNpbWFsKSkKLSAgICBmb3IgbmFtZSBpbiBzMSAtIHMyOgotICAgICAgICBkZWwgZ2xvYmFscygpW25hbWVdCi0gICAgZGVsIHMxLCBzMiwgbmFtZQogICAgIGZyb20gX2RlY2ltYWwgaW1wb3J0ICoKLQotaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoKLSAgICBpbXBvcnQgZG9jdGVzdCwgZGVjaW1hbAotICAgIGRvY3Rlc3QudGVzdG1vZChkZWNpbWFsKQorICAgIGZyb20gX2RlY2ltYWwgaW1wb3J0IF9fZG9jX18KKyAgICBmcm9tIF9kZWNpbWFsIGltcG9ydCBfX3ZlcnNpb25fXworICAgIGZyb20gX2RlY2ltYWwgaW1wb3J0IF9fbGlibXBkZWNfdmVyc2lvbl9fCitleGNlcHQgSW1wb3J0RXJyb3I6CisgICAgZnJvbSBfcHlkZWNpbWFsIGltcG9ydCAqCisgICAgZnJvbSBfcHlkZWNpbWFsIGltcG9ydCBfX2RvY19fCisgICAgZnJvbSBfcHlkZWNpbWFsIGltcG9ydCBfX3ZlcnNpb25fXworICAgIGZyb20gX3B5ZGVjaW1hbCBpbXBvcnQgX19saWJtcGRlY192ZXJzaW9uX18KZGlmZiAtLWdpdCBhL0xpYi9kaWZmbGliLnB5IGIvTGliL2RpZmZsaWIucHkKaW5kZXggN2ViNDJhOS4uYWUzNDc5ZCAxMDA2NDQKLS0tIGEvTGliL2RpZmZsaWIucHkKKysrIGIvTGliL2RpZmZsaWIucHkKQEAgLTMwLDcgKzMwLDcgQEAKICAgICAgICAgICAgJ0RpZmZlcicsJ0lTX0NIQVJBQ1RFUl9KVU5LJywgJ0lTX0xJTkVfSlVOSycsICdjb250ZXh0X2RpZmYnLAogICAgICAgICAgICAndW5pZmllZF9kaWZmJywgJ0h0bWxEaWZmJywgJ01hdGNoJ10KIAotaW1wb3J0IGhlYXBxCitmcm9tIGhlYXBxIGltcG9ydCBubGFyZ2VzdCBhcyBfbmxhcmdlc3QKIGZyb20gY29sbGVjdGlvbnMgaW1wb3J0IG5hbWVkdHVwbGUgYXMgX25hbWVkdHVwbGUKIAogTWF0Y2ggPSBfbmFtZWR0dXBsZSgnTWF0Y2gnLCAnYSBiIHNpemUnKQpAQCAtNzI5LDcgKzcyOSw3IEBACiAgICAgICAgICAgICByZXN1bHQuYXBwZW5kKChzLnJhdGlvKCksIHgpKQogCiAgICAgIyBNb3ZlIHRoZSBiZXN0IHNjb3JlcnMgdG8gaGVhZCBvZiBsaXN0Ci0gICAgcmVzdWx0ID0gaGVhcHEubmxhcmdlc3QobiwgcmVzdWx0KQorICAgIHJlc3VsdCA9IF9ubGFyZ2VzdChuLCByZXN1bHQpCiAgICAgIyBTdHJpcCBzY29yZXMgZm9yIHRoZSBiZXN0IG4gbWF0Y2hlcwogICAgIHJldHVybiBbeCBmb3Igc2NvcmUsIHggaW4gcmVzdWx0XQogCkBAIC04NTIsMTAgKzg1Miw5IEBACiAgICAgICAgICAgYW5kIHJldHVybiB0cnVlIGlmZiB0aGUgc3RyaW5nIGlzIGp1bmsuIFRoZSBtb2R1bGUtbGV2ZWwgZnVuY3Rpb24KICAgICAgICAgICBgSVNfTElORV9KVU5LYCBtYXkgYmUgdXNlZCB0byBmaWx0ZXIgb3V0IGxpbmVzIHdpdGhvdXQgdmlzaWJsZQogICAgICAgICAgIGNoYXJhY3RlcnMsIGV4Y2VwdCBmb3IgYXQgbW9zdCBvbmUgc3BsYXQgKCcjJykuICBJdCBpcyByZWNvbW1lbmRlZAotICAgICAgICAgIHRvIGxlYXZlIGxpbmVqdW5rIE5vbmU7IGFzIG9mIFB5dGhvbiAyLjMsIHRoZSB1bmRlcmx5aW5nCi0gICAgICAgICAgU2VxdWVuY2VNYXRjaGVyIGNsYXNzIGhhcyBncm93biBhbiBhZGFwdGl2ZSBub3Rpb24gb2YgIm5vaXNlIiBsaW5lcwotICAgICAgICAgIHRoYXQncyBiZXR0ZXIgdGhhbiBhbnkgc3RhdGljIGRlZmluaXRpb24gdGhlIGF1dGhvciBoYXMgZXZlciBiZWVuCi0gICAgICAgICAgYWJsZSB0byBjcmFmdC4KKyAgICAgICAgICB0byBsZWF2ZSBsaW5lanVuayBOb25lOyB0aGUgdW5kZXJseWluZyBTZXF1ZW5jZU1hdGNoZXIgY2xhc3MgaGFzCisgICAgICAgICAgYW4gYWRhcHRpdmUgbm90aW9uIG9mICJub2lzZSIgbGluZXMgdGhhdCdzIGJldHRlciB0aGFuIGFueSBzdGF0aWMKKyAgICAgICAgICBkZWZpbml0aW9uIHRoZSBhdXRob3IgaGFzIGV2ZXIgYmVlbiBhYmxlIHRvIGNyYWZ0LgogCiAgICAgICAgIC0gYGNoYXJqdW5rYDogQSBmdW5jdGlvbiB0aGF0IHNob3VsZCBhY2NlcHQgYSBzdHJpbmcgb2YgbGVuZ3RoIDEuIFRoZQogICAgICAgICAgIG1vZHVsZS1sZXZlbCBmdW5jdGlvbiBgSVNfQ0hBUkFDVEVSX0pVTktgIG1heSBiZSB1c2VkIHRvIGZpbHRlciBvdXQKQEAgLTEyOTgsMTcgKzEyOTcsMTggQEAKICAgICBDb21wYXJlIGBhYCBhbmQgYGJgIChsaXN0cyBvZiBzdHJpbmdzKTsgcmV0dXJuIGEgYERpZmZlcmAtc3R5bGUgZGVsdGEuCiAKICAgICBPcHRpb25hbCBrZXl3b3JkIHBhcmFtZXRlcnMgYGxpbmVqdW5rYCBhbmQgYGNoYXJqdW5rYCBhcmUgZm9yIGZpbHRlcgotICAgIGZ1bmN0aW9ucyAob3IgTm9uZSk6CisgICAgZnVuY3Rpb25zLCBvciBjYW4gYmUgTm9uZToKIAotICAgIC0gbGluZWp1bms6IEEgZnVuY3Rpb24gdGhhdCBzaG91bGQgYWNjZXB0IGEgc2luZ2xlIHN0cmluZyBhcmd1bWVudCwgYW5kCisgICAgLSBsaW5lanVuazogQSBmdW5jdGlvbiB0aGF0IHNob3VsZCBhY2NlcHQgYSBzaW5nbGUgc3RyaW5nIGFyZ3VtZW50IGFuZAogICAgICAgcmV0dXJuIHRydWUgaWZmIHRoZSBzdHJpbmcgaXMganVuay4gIFRoZSBkZWZhdWx0IGlzIE5vbmUsIGFuZCBpcwotICAgICAgcmVjb21tZW5kZWQ7IGFzIG9mIFB5dGhvbiAyLjMsIGFuIGFkYXB0aXZlIG5vdGlvbiBvZiAibm9pc2UiIGxpbmVzIGlzCi0gICAgICB1c2VkIHRoYXQgZG9lcyBhIGdvb2Qgam9iIG9uIGl0cyBvd24uCisgICAgICByZWNvbW1lbmRlZDsgdGhlIHVuZGVybHlpbmcgU2VxdWVuY2VNYXRjaGVyIGNsYXNzIGhhcyBhbiBhZGFwdGl2ZQorICAgICAgbm90aW9uIG9mICJub2lzZSIgbGluZXMuCiAKLSAgICAtIGNoYXJqdW5rOiBBIGZ1bmN0aW9uIHRoYXQgc2hvdWxkIGFjY2VwdCBhIHN0cmluZyBvZiBsZW5ndGggMS4gVGhlCi0gICAgICBkZWZhdWx0IGlzIG1vZHVsZS1sZXZlbCBmdW5jdGlvbiBJU19DSEFSQUNURVJfSlVOSywgd2hpY2ggZmlsdGVycyBvdXQKLSAgICAgIHdoaXRlc3BhY2UgY2hhcmFjdGVycyAoYSBibGFuayBvciB0YWI7IG5vdGU6IGJhZCBpZGVhIHRvIGluY2x1ZGUgbmV3bGluZQotICAgICAgaW4gdGhpcyEpLgorICAgIC0gY2hhcmp1bms6IEEgZnVuY3Rpb24gdGhhdCBhY2NlcHRzIGEgY2hhcmFjdGVyIChzdHJpbmcgb2YgbGVuZ3RoCisgICAgICAxKSwgYW5kIHJldHVybnMgdHJ1ZSBpZmYgdGhlIGNoYXJhY3RlciBpcyBqdW5rLiBUaGUgZGVmYXVsdCBpcworICAgICAgdGhlIG1vZHVsZS1sZXZlbCBmdW5jdGlvbiBJU19DSEFSQUNURVJfSlVOSywgd2hpY2ggZmlsdGVycyBvdXQKKyAgICAgIHdoaXRlc3BhY2UgY2hhcmFjdGVycyAoYSBibGFuayBvciB0YWI7IG5vdGU6IGl0J3MgYSBiYWQgaWRlYSB0bworICAgICAgaW5jbHVkZSBuZXdsaW5lIGluIHRoaXMhKS4KIAogICAgIFRvb2xzL3NjcmlwdHMvbmRpZmYucHkgaXMgYSBjb21tYW5kLWxpbmUgZnJvbnQtZW5kIHRvIHRoaXMgZnVuY3Rpb24uCiAKQEAgLTE0MTAsNyArMTQxMCw3IEBACiAgICAgICAgICAgICBjaGFuZ2VfcmUuc3ViKHJlY29yZF9zdWJfaW5mbyxtYXJrZXJzKQogICAgICAgICAgICAgIyBwcm9jZXNzIGVhY2ggdHVwbGUgaW5zZXJ0aW5nIG91ciBzcGVjaWFsIG1hcmtzIHRoYXQgd29uJ3QgYmUKICAgICAgICAgICAgICMgbm90aWNlZCBieSBhbiB4bWwvaHRtbCBlc2NhcGVyLgotICAgICAgICAgICAgZm9yIGtleSwoYmVnaW4sZW5kKSBpbiBzdWJfaW5mb1s6Oi0xXToKKyAgICAgICAgICAgIGZvciBrZXksKGJlZ2luLGVuZCkgaW4gcmV2ZXJzZWQoc3ViX2luZm8pOgogICAgICAgICAgICAgICAgIHRleHQgPSB0ZXh0WzA6YmVnaW5dKydcMCcra2V5K3RleHRbYmVnaW46ZW5kXSsnXDEnK3RleHRbZW5kOl0KICAgICAgICAgICAgIHRleHQgPSB0ZXh0WzI6XQogICAgICAgICAjIEhhbmRsZSBjYXNlIG9mIGFkZC9kZWxldGUgZW50aXJlIGxpbmUKQEAgLTE0NDgsMTAgKzE0NDgsNyBAQAogICAgICAgICAgICAgIyBhcmUgYSBjb25jYXRlbmF0aW9uIG9mIHRoZSBmaXJzdCBjaGFyYWN0ZXIgb2YgZWFjaCBvZiB0aGUgNCBsaW5lcwogICAgICAgICAgICAgIyBzbyB3ZSBjYW4gZG8gc29tZSB2ZXJ5IHJlYWRhYmxlIGNvbXBhcmlzb25zLgogICAgICAgICAgICAgd2hpbGUgbGVuKGxpbmVzKSA8IDQ6Ci0gICAgICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgICAgICBsaW5lcy5hcHBlbmQobmV4dChkaWZmX2xpbmVzX2l0ZXJhdG9yKSkKLSAgICAgICAgICAgICAgICBleGNlcHQgU3RvcEl0ZXJhdGlvbjoKLSAgICAgICAgICAgICAgICAgICAgbGluZXMuYXBwZW5kKCdYJykKKyAgICAgICAgICAgICAgICBsaW5lcy5hcHBlbmQobmV4dChkaWZmX2xpbmVzX2l0ZXJhdG9yLCAnWCcpKQogICAgICAgICAgICAgcyA9ICcnLmpvaW4oW2xpbmVbMF0gZm9yIGxpbmUgaW4gbGluZXNdKQogICAgICAgICAgICAgaWYgcy5zdGFydHN3aXRoKCdYJyk6CiAgICAgICAgICAgICAgICAgIyBXaGVuIG5vIG1vcmUgbGluZXMsIHB1bXAgb3V0IGFueSByZW1haW5pbmcgYmxhbmsgbGluZXMgc28gdGhlCkBAIC0xNTE0LDcgKzE1MTEsNyBAQAogICAgICAgICAgICAgICAgIG51bV9ibGFua3NfdG9feWllbGQgLT0gMQogICAgICAgICAgICAgICAgIHlpZWxkICgnJywnXG4nKSxOb25lLFRydWUKICAgICAgICAgICAgIGlmIHMuc3RhcnRzd2l0aCgnWCcpOgotICAgICAgICAgICAgICAgIHJhaXNlIFN0b3BJdGVyYXRpb24KKyAgICAgICAgICAgICAgICByZXR1cm4KICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgeWllbGQgZnJvbV9saW5lLHRvX2xpbmUsVHJ1ZQogCkBAIC0xNjc5LDcgKzE2NzYsNyBAQAogICAgICAgICB0YWJzaXplIC0tIHRhYiBzdG9wIHNwYWNpbmcsIGRlZmF1bHRzIHRvIDguCiAgICAgICAgIHdyYXBjb2x1bW4gLS0gY29sdW1uIG51bWJlciB3aGVyZSBsaW5lcyBhcmUgYnJva2VuIGFuZCB3cmFwcGVkLAogICAgICAgICAgICAgZGVmYXVsdHMgdG8gTm9uZSB3aGVyZSBsaW5lcyBhcmUgbm90IHdyYXBwZWQuCi0gICAgICAgIGxpbmVqdW5rLGNoYXJqdW5rIC0tIGtleXdvcmQgYXJndW1lbnRzIHBhc3NlZCBpbnRvIG5kaWZmKCkgKHVzZWQgdG8gYnkKKyAgICAgICAgbGluZWp1bmssY2hhcmp1bmsgLS0ga2V5d29yZCBhcmd1bWVudHMgcGFzc2VkIGludG8gbmRpZmYoKSAodXNlZCBieQogICAgICAgICAgICAgSHRtbERpZmYoKSB0byBnZW5lcmF0ZSB0aGUgc2lkZSBieSBzaWRlIEhUTUwgZGlmZmVyZW5jZXMpLiAgU2VlCiAgICAgICAgICAgICBuZGlmZigpIGRvY3VtZW50YXRpb24gZm9yIGFyZ3VtZW50IGRlZmF1bHQgdmFsdWVzIGFuZCBkZXNjcmlwdGlvbnMuCiAgICAgICAgICIiIgpkaWZmIC0tZ2l0IGEvTGliL2Rpcy5weSBiL0xpYi9kaXMucHkKaW5kZXggODFjYmU3Zi4uZDIxNWJjNSAxMDA2NDQKLS0tIGEvTGliL2Rpcy5weQorKysgYi9MaWIvZGlzLnB5CkBAIC0yOSw3ICsyOSw3IEBACiAgICAgcmV0dXJuIGMKIAogZGVmIGRpcyh4PU5vbmUsICosIGZpbGU9Tm9uZSk6Ci0gICAgIiIiRGlzYXNzZW1ibGUgY2xhc3NlcywgbWV0aG9kcywgZnVuY3Rpb25zLCBvciBjb2RlLgorICAgICIiIkRpc2Fzc2VtYmxlIGNsYXNzZXMsIG1ldGhvZHMsIGZ1bmN0aW9ucywgZ2VuZXJhdG9ycywgb3IgY29kZS4KIAogICAgIFdpdGggbm8gYXJndW1lbnQsIGRpc2Fzc2VtYmxlIHRoZSBsYXN0IHRyYWNlYmFjay4KIApAQCAtNDEsNiArNDEsOCBAQAogICAgICAgICB4ID0geC5fX2Z1bmNfXwogICAgIGlmIGhhc2F0dHIoeCwgJ19fY29kZV9fJyk6ICAjIEZ1bmN0aW9uCiAgICAgICAgIHggPSB4Ll9fY29kZV9fCisgICAgaWYgaGFzYXR0cih4LCAnZ2lfY29kZScpOiAgIyBHZW5lcmF0b3IKKyAgICAgICAgeCA9IHguZ2lfY29kZQogICAgIGlmIGhhc2F0dHIoeCwgJ19fZGljdF9fJyk6ICAjIENsYXNzIG9yIG1vZHVsZQogICAgICAgICBpdGVtcyA9IHNvcnRlZCh4Ll9fZGljdF9fLml0ZW1zKCkpCiAgICAgICAgIGZvciBuYW1lLCB4MSBpbiBpdGVtczoKQEAgLTk5LDExICsxMDEsMTMgQEAKICAgICByZXR1cm4gIiwgIi5qb2luKG5hbWVzKQogCiBkZWYgX2dldF9jb2RlX29iamVjdCh4KToKLSAgICAiIiJIZWxwZXIgdG8gaGFuZGxlIG1ldGhvZHMsIGZ1bmN0aW9ucywgc3RyaW5ncyBhbmQgcmF3IGNvZGUgb2JqZWN0cyIiIgorICAgICIiIkhlbHBlciB0byBoYW5kbGUgbWV0aG9kcywgZnVuY3Rpb25zLCBnZW5lcmF0b3JzLCBzdHJpbmdzIGFuZCByYXcgY29kZSBvYmplY3RzIiIiCiAgICAgaWYgaGFzYXR0cih4LCAnX19mdW5jX18nKTogIyBNZXRob2QKICAgICAgICAgeCA9IHguX19mdW5jX18KICAgICBpZiBoYXNhdHRyKHgsICdfX2NvZGVfXycpOiAjIEZ1bmN0aW9uCiAgICAgICAgIHggPSB4Ll9fY29kZV9fCisgICAgaWYgaGFzYXR0cih4LCAnZ2lfY29kZScpOiAgIyBHZW5lcmF0b3IKKyAgICAgICAgeCA9IHguZ2lfY29kZQogICAgIGlmIGlzaW5zdGFuY2UoeCwgc3RyKTogICAgICMgU291cmNlIGNvZGUKICAgICAgICAgeCA9IF90cnlfY29tcGlsZSh4LCAiPGRpc2Fzc2VtYmx5PiIpCiAgICAgaWYgaGFzYXR0cih4LCAnY29fY29kZScpOiAgIyBDb2RlIG9iamVjdApkaWZmIC0tZ2l0IGEvTGliL2Rpc3R1dGlscy9fX2luaXRfXy5weSBiL0xpYi9kaXN0dXRpbHMvX19pbml0X18ucHkKaW5kZXggZTg3ODI4MS4uNjdlYzc4YiAxMDA2NDQKLS0tIGEvTGliL2Rpc3R1dGlscy9fX2luaXRfXy5weQorKysgYi9MaWIvZGlzdHV0aWxzL19faW5pdF9fLnB5CkBAIC0xMyw1ICsxMyw1IEBACiAjIFVwZGF0ZWQgYXV0b21hdGljYWxseSBieSB0aGUgUHl0aG9uIHJlbGVhc2UgcHJvY2Vzcy4KICMKICMtLXN0YXJ0IGNvbnN0YW50cy0tCi1fX3ZlcnNpb25fXyA9ICIzLjQuM3JjMSIKK19fdmVyc2lvbl9fID0gIjMuNS4wYTEiCiAjLS1lbmQgY29uc3RhbnRzLS0KZGlmZiAtLWdpdCBhL0xpYi9kaXN0dXRpbHMvY29tbWFuZC9idWlsZC5weSBiL0xpYi9kaXN0dXRpbHMvY29tbWFuZC9idWlsZC5weQppbmRleCBjZmMxNWNmLi4zMzdkZDBiIDEwMDY0NAotLS0gYS9MaWIvZGlzdHV0aWxzL2NvbW1hbmQvYnVpbGQucHkKKysrIGIvTGliL2Rpc3R1dGlscy9jb21tYW5kL2J1aWxkLnB5CkBAIC0zNiw2ICszNiw4IEBACiAgICAgICAgICAiKGRlZmF1bHQ6ICVzKSIgJSBnZXRfcGxhdGZvcm0oKSksCiAgICAgICAgICgnY29tcGlsZXI9JywgJ2MnLAogICAgICAgICAgInNwZWNpZnkgdGhlIGNvbXBpbGVyIHR5cGUiKSwKKyAgICAgICAgKCdwYXJhbGxlbD0nLCAnaicsCisgICAgICAgICAibnVtYmVyIG9mIHBhcmFsbGVsIGJ1aWxkIGpvYnMiKSwKICAgICAgICAgKCdkZWJ1ZycsICdnJywKICAgICAgICAgICJjb21waWxlIGV4dGVuc2lvbnMgYW5kIGxpYnJhcmllcyB3aXRoIGRlYnVnZ2luZyBpbmZvcm1hdGlvbiIpLAogICAgICAgICAoJ2ZvcmNlJywgJ2YnLApAQCAtNjUsNiArNjcsNyBAQAogICAgICAgICBzZWxmLmRlYnVnID0gTm9uZQogICAgICAgICBzZWxmLmZvcmNlID0gMAogICAgICAgICBzZWxmLmV4ZWN1dGFibGUgPSBOb25lCisgICAgICAgIHNlbGYucGFyYWxsZWwgPSBOb25lCiAKICAgICBkZWYgZmluYWxpemVfb3B0aW9ucyhzZWxmKToKICAgICAgICAgaWYgc2VsZi5wbGF0X25hbWUgaXMgTm9uZToKQEAgLTExNiw2ICsxMTksMTIgQEAKICAgICAgICAgaWYgc2VsZi5leGVjdXRhYmxlIGlzIE5vbmU6CiAgICAgICAgICAgICBzZWxmLmV4ZWN1dGFibGUgPSBvcy5wYXRoLm5vcm1wYXRoKHN5cy5leGVjdXRhYmxlKQogCisgICAgICAgIGlmIGlzaW5zdGFuY2Uoc2VsZi5wYXJhbGxlbCwgc3RyKToKKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICBzZWxmLnBhcmFsbGVsID0gaW50KHNlbGYucGFyYWxsZWwpCisgICAgICAgICAgICBleGNlcHQgVmFsdWVFcnJvcjoKKyAgICAgICAgICAgICAgICByYWlzZSBEaXN0dXRpbHNPcHRpb25FcnJvcigicGFyYWxsZWwgc2hvdWxkIGJlIGFuIGludGVnZXIiKQorCiAgICAgZGVmIHJ1bihzZWxmKToKICAgICAgICAgIyBSdW4gYWxsIHJlbGV2YW50IHN1Yi1jb21tYW5kcy4gIFRoaXMgd2lsbCBiZSBzb21lIHN1YnNldCBvZjoKICAgICAgICAgIyAgLSBidWlsZF9weSAgICAgIC0gcHVyZSBQeXRob24gbW9kdWxlcwpkaWZmIC0tZ2l0IGEvTGliL2Rpc3R1dGlscy9jb21tYW5kL2J1aWxkX2V4dC5weSBiL0xpYi9kaXN0dXRpbHMvY29tbWFuZC9idWlsZF9leHQucHkKaW5kZXggYWNiZTY0OC4uYzVhM2NlMSAxMDA2NDQKLS0tIGEvTGliL2Rpc3R1dGlscy9jb21tYW5kL2J1aWxkX2V4dC5weQorKysgYi9MaWIvZGlzdHV0aWxzL2NvbW1hbmQvYnVpbGRfZXh0LnB5CkBAIC00LDcgKzQsMTAgQEAKIG1vZHVsZXMgKGN1cnJlbnRseSBsaW1pdGVkIHRvIEMgZXh0ZW5zaW9ucywgc2hvdWxkIGFjY29tbW9kYXRlIEMrKwogZXh0ZW5zaW9ucyBBU0FQKS4iIiIKIAotaW1wb3J0IHN5cywgb3MsIHJlCitpbXBvcnQgY29udGV4dGxpYgoraW1wb3J0IG9zCitpbXBvcnQgcmUKK2ltcG9ydCBzeXMKIGZyb20gZGlzdHV0aWxzLmNvcmUgaW1wb3J0IENvbW1hbmQKIGZyb20gZGlzdHV0aWxzLmVycm9ycyBpbXBvcnQgKgogZnJvbSBkaXN0dXRpbHMuc3lzY29uZmlnIGltcG9ydCBjdXN0b21pemVfY29tcGlsZXIsIGdldF9weXRob25fdmVyc2lvbgpAQCAtODUsNiArODgsOCBAQAogICAgICAgICAgImZvcmNpYmx5IGJ1aWxkIGV2ZXJ5dGhpbmcgKGlnbm9yZSBmaWxlIHRpbWVzdGFtcHMpIiksCiAgICAgICAgICgnY29tcGlsZXI9JywgJ2MnLAogICAgICAgICAgInNwZWNpZnkgdGhlIGNvbXBpbGVyIHR5cGUiKSwKKyAgICAgICAgKCdwYXJhbGxlbD0nLCAnaicsCisgICAgICAgICAibnVtYmVyIG9mIHBhcmFsbGVsIGJ1aWxkIGpvYnMiKSwKICAgICAgICAgKCdzd2lnLWNwcCcsIE5vbmUsCiAgICAgICAgICAibWFrZSBTV0lHIGNyZWF0ZSBDKysgZmlsZXMgKGRlZmF1bHQgaXMgQykiKSwKICAgICAgICAgKCdzd2lnLW9wdHM9JywgTm9uZSwKQEAgLTEyNCw2ICsxMjksNyBAQAogICAgICAgICBzZWxmLnN3aWdfY3BwID0gTm9uZQogICAgICAgICBzZWxmLnN3aWdfb3B0cyA9IE5vbmUKICAgICAgICAgc2VsZi51c2VyID0gTm9uZQorICAgICAgICBzZWxmLnBhcmFsbGVsID0gTm9uZQogCiAgICAgZGVmIGZpbmFsaXplX29wdGlvbnMoc2VsZik6CiAgICAgICAgIGZyb20gZGlzdHV0aWxzIGltcG9ydCBzeXNjb25maWcKQEAgLTEzNCw2ICsxNDAsNyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoJ2NvbXBpbGVyJywgJ2NvbXBpbGVyJyksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgnZGVidWcnLCAnZGVidWcnKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCdmb3JjZScsICdmb3JjZScpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoJ3BhcmFsbGVsJywgJ3BhcmFsbGVsJyksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgncGxhdF9uYW1lJywgJ3BsYXRfbmFtZScpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCiAKQEAgLTIwMiw3ICsyMDksNyBAQAogICAgICAgICAgICAgaWYgTVNWQ19WRVJTSU9OID49IDk6CiAgICAgICAgICAgICAgICAgIyBVc2UgdGhlIC5saWIgZmlsZXMgZm9yIHRoZSBjb3JyZWN0IGFyY2hpdGVjdHVyZQogICAgICAgICAgICAgICAgIGlmIHNlbGYucGxhdF9uYW1lID09ICd3aW4zMic6Ci0gICAgICAgICAgICAgICAgICAgIHN1ZmZpeCA9ICcnCisgICAgICAgICAgICAgICAgICAgIHN1ZmZpeCA9ICd3aW4zMicKICAgICAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgICAgICAjIHdpbi1hbWQ2NCBvciB3aW4taWE2NAogICAgICAgICAgICAgICAgICAgICBzdWZmaXggPSBzZWxmLnBsYXRfbmFtZVs0Ol0KQEAgLTI3NCw2ICsyODEsMTIgQEAKICAgICAgICAgICAgICAgICBzZWxmLmxpYnJhcnlfZGlycy5hcHBlbmQodXNlcl9saWIpCiAgICAgICAgICAgICAgICAgc2VsZi5ycGF0aC5hcHBlbmQodXNlcl9saWIpCiAKKyAgICAgICAgaWYgaXNpbnN0YW5jZShzZWxmLnBhcmFsbGVsLCBzdHIpOgorICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgIHNlbGYucGFyYWxsZWwgPSBpbnQoc2VsZi5wYXJhbGxlbCkKKyAgICAgICAgICAgIGV4Y2VwdCBWYWx1ZUVycm9yOgorICAgICAgICAgICAgICAgIHJhaXNlIERpc3R1dGlsc09wdGlvbkVycm9yKCJwYXJhbGxlbCBzaG91bGQgYmUgYW4gaW50ZWdlciIpCisKICAgICBkZWYgcnVuKHNlbGYpOgogICAgICAgICBmcm9tIGRpc3R1dGlscy5jY29tcGlsZXIgaW1wb3J0IG5ld19jb21waWxlcgogCkBAIC00NDIsMTUgKzQ1NSw0NSBAQAogICAgIGRlZiBidWlsZF9leHRlbnNpb25zKHNlbGYpOgogICAgICAgICAjIEZpcnN0LCBzYW5pdHktY2hlY2sgdGhlICdleHRlbnNpb25zJyBsaXN0CiAgICAgICAgIHNlbGYuY2hlY2tfZXh0ZW5zaW9uc19saXN0KHNlbGYuZXh0ZW5zaW9ucykKKyAgICAgICAgaWYgc2VsZi5wYXJhbGxlbDoKKyAgICAgICAgICAgIHNlbGYuX2J1aWxkX2V4dGVuc2lvbnNfcGFyYWxsZWwoKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgc2VsZi5fYnVpbGRfZXh0ZW5zaW9uc19zZXJpYWwoKQogCisgICAgZGVmIF9idWlsZF9leHRlbnNpb25zX3BhcmFsbGVsKHNlbGYpOgorICAgICAgICB3b3JrZXJzID0gc2VsZi5wYXJhbGxlbAorICAgICAgICBpZiBzZWxmLnBhcmFsbGVsIGlzIFRydWU6CisgICAgICAgICAgICB3b3JrZXJzID0gb3MuY3B1X2NvdW50KCkgICMgbWF5IHJldHVybiBOb25lCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIGZyb20gY29uY3VycmVudC5mdXR1cmVzIGltcG9ydCBUaHJlYWRQb29sRXhlY3V0b3IKKyAgICAgICAgZXhjZXB0IEltcG9ydEVycm9yOgorICAgICAgICAgICAgd29ya2VycyA9IE5vbmUKKworICAgICAgICBpZiB3b3JrZXJzIGlzIE5vbmU6CisgICAgICAgICAgICBzZWxmLl9idWlsZF9leHRlbnNpb25zX3NlcmlhbCgpCisgICAgICAgICAgICByZXR1cm4KKworICAgICAgICB3aXRoIFRocmVhZFBvb2xFeGVjdXRvcihtYXhfd29ya2Vycz13b3JrZXJzKSBhcyBleGVjdXRvcjoKKyAgICAgICAgICAgIGZ1dHVyZXMgPSBbZXhlY3V0b3Iuc3VibWl0KHNlbGYuYnVpbGRfZXh0ZW5zaW9uLCBleHQpCisgICAgICAgICAgICAgICAgICAgICAgIGZvciBleHQgaW4gc2VsZi5leHRlbnNpb25zXQorICAgICAgICAgICAgZm9yIGV4dCwgZnV0IGluIHppcChzZWxmLmV4dGVuc2lvbnMsIGZ1dHVyZXMpOgorICAgICAgICAgICAgICAgIHdpdGggc2VsZi5fZmlsdGVyX2J1aWxkX2Vycm9ycyhleHQpOgorICAgICAgICAgICAgICAgICAgICBmdXQucmVzdWx0KCkKKworICAgIGRlZiBfYnVpbGRfZXh0ZW5zaW9uc19zZXJpYWwoc2VsZik6CiAgICAgICAgIGZvciBleHQgaW4gc2VsZi5leHRlbnNpb25zOgotICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgd2l0aCBzZWxmLl9maWx0ZXJfYnVpbGRfZXJyb3JzKGV4dCk6CiAgICAgICAgICAgICAgICAgc2VsZi5idWlsZF9leHRlbnNpb24oZXh0KQotICAgICAgICAgICAgZXhjZXB0IChDQ29tcGlsZXJFcnJvciwgRGlzdHV0aWxzRXJyb3IsIENvbXBpbGVFcnJvcikgYXMgZToKLSAgICAgICAgICAgICAgICBpZiBub3QgZXh0Lm9wdGlvbmFsOgotICAgICAgICAgICAgICAgICAgICByYWlzZQotICAgICAgICAgICAgICAgIHNlbGYud2FybignYnVpbGRpbmcgZXh0ZW5zaW9uICIlcyIgZmFpbGVkOiAlcycgJQotICAgICAgICAgICAgICAgICAgICAgICAgICAoZXh0Lm5hbWUsIGUpKQorCisgICAgQGNvbnRleHRsaWIuY29udGV4dG1hbmFnZXIKKyAgICBkZWYgX2ZpbHRlcl9idWlsZF9lcnJvcnMoc2VsZiwgZXh0KToKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgeWllbGQKKyAgICAgICAgZXhjZXB0IChDQ29tcGlsZXJFcnJvciwgRGlzdHV0aWxzRXJyb3IsIENvbXBpbGVFcnJvcikgYXMgZToKKyAgICAgICAgICAgIGlmIG5vdCBleHQub3B0aW9uYWw6CisgICAgICAgICAgICAgICAgcmFpc2UKKyAgICAgICAgICAgIHNlbGYud2FybignYnVpbGRpbmcgZXh0ZW5zaW9uICIlcyIgZmFpbGVkOiAlcycgJQorICAgICAgICAgICAgICAgICAgICAgIChleHQubmFtZSwgZSkpCiAKICAgICBkZWYgYnVpbGRfZXh0ZW5zaW9uKHNlbGYsIGV4dCk6CiAgICAgICAgIHNvdXJjZXMgPSBleHQuc291cmNlcwpAQCAtNTAyLDE1ICs1NDUsOCBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHRyYV9wb3N0YXJncz1leHRyYV9hcmdzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXBlbmRzPWV4dC5kZXBlbmRzKQogCi0gICAgICAgICMgWFhYIC0tIHRoaXMgaXMgYSBWaWxlIEhBQ0shCi0gICAgICAgICMKLSAgICAgICAgIyBUaGUgc2V0dXAucHkgc2NyaXB0IGZvciBQeXRob24gb24gVW5peCBuZWVkcyB0byBiZSBhYmxlIHRvCi0gICAgICAgICMgZ2V0IHRoaXMgbGlzdCBzbyBpdCBjYW4gcGVyZm9ybSBhbGwgdGhlIGNsZWFuIHVwIG5lZWRlZCB0bwotICAgICAgICAjIGF2b2lkIGtlZXBpbmcgb2JqZWN0IGZpbGVzIGFyb3VuZCB3aGVuIGNsZWFuaW5nIG91dCBhIGZhaWxlZAotICAgICAgICAjIGJ1aWxkIG9mIGFuIGV4dGVuc2lvbiBtb2R1bGUuICBTaW5jZSBEaXN0dXRpbHMgZG9lcyBub3QKLSAgICAgICAgIyB0cmFjayBkZXBlbmRlbmNpZXMsIHdlIGhhdmUgdG8gZ2V0IHJpZCBvZiBpbnRlcm1lZGlhdGVzIHRvCi0gICAgICAgICMgZW5zdXJlIGFsbCB0aGUgaW50ZXJtZWRpYXRlcyB3aWxsIGJlIHByb3Blcmx5IHJlLWJ1aWx0LgotICAgICAgICAjCisgICAgICAgICMgWFhYIG91dGRhdGVkIHZhcmlhYmxlLCBrZXB0IGhlcmUgaW4gY2FzZSB0aGlyZC1wYXJ0IGNvZGUKKyAgICAgICAgIyBuZWVkcyBpdC4KICAgICAgICAgc2VsZi5fYnVpbHRfb2JqZWN0cyA9IG9iamVjdHNbOl0KIAogICAgICAgICAjIE5vdyBsaW5rIHRoZSBvYmplY3QgZmlsZXMgdG9nZXRoZXIgaW50byBhICJzaGFyZWQgb2JqZWN0IiAtLQpAQCAtNjU1LDEwICs2OTEsNyBAQAogICAgICAgICAiIiIKICAgICAgICAgZnJvbSBkaXN0dXRpbHMuc3lzY29uZmlnIGltcG9ydCBnZXRfY29uZmlnX3ZhcgogICAgICAgICBleHRfcGF0aCA9IGV4dF9uYW1lLnNwbGl0KCcuJykKLSAgICAgICAgIyBleHRlbnNpb25zIGluIGRlYnVnX21vZGUgYXJlIG5hbWVkICdtb2R1bGVfZC5weWQnIHVuZGVyIHdpbmRvd3MKICAgICAgICAgZXh0X3N1ZmZpeCA9IGdldF9jb25maWdfdmFyKCdFWFRfU1VGRklYJykKLSAgICAgICAgaWYgb3MubmFtZSA9PSAnbnQnIGFuZCBzZWxmLmRlYnVnOgotICAgICAgICAgICAgcmV0dXJuIG9zLnBhdGguam9pbigqZXh0X3BhdGgpICsgJ19kJyArIGV4dF9zdWZmaXgKICAgICAgICAgcmV0dXJuIG9zLnBhdGguam9pbigqZXh0X3BhdGgpICsgZXh0X3N1ZmZpeAogCiAgICAgZGVmIGdldF9leHBvcnRfc3ltYm9scyhzZWxmLCBleHQpOgpkaWZmIC0tZ2l0IGEvTGliL2Rpc3R1dGlscy9jb21tYW5kL2luc3RhbGwucHkgYi9MaWIvZGlzdHV0aWxzL2NvbW1hbmQvaW5zdGFsbC5weQppbmRleCBkNzY4ZGM1Li42N2RiMDA3IDEwMDY0NAotLS0gYS9MaWIvZGlzdHV0aWxzL2NvbW1hbmQvaW5zdGFsbC5weQorKysgYi9MaWIvZGlzdHV0aWxzL2NvbW1hbmQvaW5zdGFsbC5weQpAQCAtNTEsNyArNTEsNyBAQAogICAgICAgICAncHVyZWxpYic6ICckdXNlcnNpdGUnLAogICAgICAgICAncGxhdGxpYic6ICckdXNlcnNpdGUnLAogICAgICAgICAnaGVhZGVycyc6ICckdXNlcmJhc2UvUHl0aG9uJHB5X3ZlcnNpb25fbm9kb3QvSW5jbHVkZS8kZGlzdF9uYW1lJywKLSAgICAgICAgJ3NjcmlwdHMnOiAnJHVzZXJiYXNlL1NjcmlwdHMnLAorICAgICAgICAnc2NyaXB0cyc6ICckdXNlcmJhc2UvUHl0aG9uJHB5X3ZlcnNpb25fbm9kb3QvU2NyaXB0cycsCiAgICAgICAgICdkYXRhJyAgIDogJyR1c2VyYmFzZScsCiAgICAgICAgIH0KIApkaWZmIC0tZ2l0IGEvTGliL2Rpc3R1dGlscy9jb21tYW5kL3VwbG9hZC5weSBiL0xpYi9kaXN0dXRpbHMvY29tbWFuZC91cGxvYWQucHkKaW5kZXggMWE5NmUyMi4uMWM0ZmM0OCAxMDA2NDQKLS0tIGEvTGliL2Rpc3R1dGlscy9jb21tYW5kL3VwbG9hZC5weQorKysgYi9MaWIvZGlzdHV0aWxzL2NvbW1hbmQvdXBsb2FkLnB5CkBAIC0xLDExICsxLDE0IEBACi0iIiJkaXN0dXRpbHMuY29tbWFuZC51cGxvYWQKKyIiIgorZGlzdHV0aWxzLmNvbW1hbmQudXBsb2FkCiAKLUltcGxlbWVudHMgdGhlIERpc3R1dGlscyAndXBsb2FkJyBzdWJjb21tYW5kICh1cGxvYWQgcGFja2FnZSB0byBQeVBJKS4iIiIKK0ltcGxlbWVudHMgdGhlIERpc3R1dGlscyAndXBsb2FkJyBzdWJjb21tYW5kICh1cGxvYWQgcGFja2FnZSB0byBhIHBhY2thZ2UKK2luZGV4KS4KKyIiIgogCi1pbXBvcnQgc3lzCi1pbXBvcnQgb3MsIGlvCi1pbXBvcnQgc29ja2V0CitpbXBvcnQgb3MKK2ltcG9ydCBpbwogaW1wb3J0IHBsYXRmb3JtCitpbXBvcnQgaGFzaGxpYgogZnJvbSBiYXNlNjQgaW1wb3J0IHN0YW5kYXJkX2I2NGVuY29kZQogZnJvbSB1cmxsaWIucmVxdWVzdCBpbXBvcnQgdXJsb3BlbiwgUmVxdWVzdCwgSFRUUEVycm9yCiBmcm9tIHVybGxpYi5wYXJzZSBpbXBvcnQgdXJscGFyc2UKQEAgLTE0LDEyICsxNyw2IEBACiBmcm9tIGRpc3R1dGlscy5zcGF3biBpbXBvcnQgc3Bhd24KIGZyb20gZGlzdHV0aWxzIGltcG9ydCBsb2cKIAotIyB0aGlzIGtlZXBzIGNvbXBhdGliaWxpdHkgZm9yIDIuMyBhbmQgMi40Ci1pZiBzeXMudmVyc2lvbiA8ICIyLjUiOgotICAgIGZyb20gbWQ1IGltcG9ydCBtZDUKLWVsc2U6Ci0gICAgZnJvbSBoYXNobGliIGltcG9ydCBtZDUKLQogY2xhc3MgdXBsb2FkKFB5UElSQ0NvbW1hbmQpOgogCiAgICAgZGVzY3JpcHRpb24gPSAidXBsb2FkIGJpbmFyeSBwYWNrYWdlIHRvIFB5UEkiCkBAIC02MCw3ICs1Nyw4IEBACiAKICAgICBkZWYgcnVuKHNlbGYpOgogICAgICAgICBpZiBub3Qgc2VsZi5kaXN0cmlidXRpb24uZGlzdF9maWxlczoKLSAgICAgICAgICAgIHJhaXNlIERpc3R1dGlsc09wdGlvbkVycm9yKCJObyBkaXN0IGZpbGUgY3JlYXRlZCBpbiBlYXJsaWVyIGNvbW1hbmQiKQorICAgICAgICAgICAgbXNnID0gIk5vIGRpc3QgZmlsZSBjcmVhdGVkIGluIGVhcmxpZXIgY29tbWFuZCIKKyAgICAgICAgICAgIHJhaXNlIERpc3R1dGlsc09wdGlvbkVycm9yKG1zZykKICAgICAgICAgZm9yIGNvbW1hbmQsIHB5dmVyc2lvbiwgZmlsZW5hbWUgaW4gc2VsZi5kaXN0cmlidXRpb24uZGlzdF9maWxlczoKICAgICAgICAgICAgIHNlbGYudXBsb2FkX2ZpbGUoY29tbWFuZCwgcHl2ZXJzaW9uLCBmaWxlbmFtZSkKIApAQCAtMTAzLDEwICsxMDEsMTAgQEAKICAgICAgICAgICAgICdjb250ZW50JzogKG9zLnBhdGguYmFzZW5hbWUoZmlsZW5hbWUpLGNvbnRlbnQpLAogICAgICAgICAgICAgJ2ZpbGV0eXBlJzogY29tbWFuZCwKICAgICAgICAgICAgICdweXZlcnNpb24nOiBweXZlcnNpb24sCi0gICAgICAgICAgICAnbWQ1X2RpZ2VzdCc6IG1kNShjb250ZW50KS5oZXhkaWdlc3QoKSwKKyAgICAgICAgICAgICdtZDVfZGlnZXN0JzogaGFzaGxpYi5tZDUoY29udGVudCkuaGV4ZGlnZXN0KCksCiAKICAgICAgICAgICAgICMgYWRkaXRpb25hbCBtZXRhLWRhdGEKLSAgICAgICAgICAgICdtZXRhZGF0YV92ZXJzaW9uJyA6ICcxLjAnLAorICAgICAgICAgICAgJ21ldGFkYXRhX3ZlcnNpb24nOiAnMS4wJywKICAgICAgICAgICAgICdzdW1tYXJ5JzogbWV0YS5nZXRfZGVzY3JpcHRpb24oKSwKICAgICAgICAgICAgICdob21lX3BhZ2UnOiBtZXRhLmdldF91cmwoKSwKICAgICAgICAgICAgICdhdXRob3InOiBtZXRhLmdldF9jb250YWN0KCksCkBAIC0xNDksNyArMTQ3LDcgQEAKICAgICAgICAgZm9yIGtleSwgdmFsdWUgaW4gZGF0YS5pdGVtcygpOgogICAgICAgICAgICAgdGl0bGUgPSAnXHJcbkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsgbmFtZT0iJXMiJyAlIGtleQogICAgICAgICAgICAgIyBoYW5kbGUgbXVsdGlwbGUgZW50cmllcyBmb3IgdGhlIHNhbWUgbmFtZQotICAgICAgICAgICAgaWYgdHlwZSh2YWx1ZSkgIT0gdHlwZShbXSk6CisgICAgICAgICAgICBpZiBub3QgaXNpbnN0YW5jZSh2YWx1ZSwgbGlzdCk6CiAgICAgICAgICAgICAgICAgdmFsdWUgPSBbdmFsdWVdCiAgICAgICAgICAgICBmb3IgdmFsdWUgaW4gdmFsdWU6CiAgICAgICAgICAgICAgICAgaWYgdHlwZSh2YWx1ZSkgaXMgdHVwbGU6CkBAIC0xNjYsMTMgKzE2NCwxNSBAQAogICAgICAgICBib2R5LndyaXRlKGVuZF9ib3VuZGFyeSkKICAgICAgICAgYm9keSA9IGJvZHkuZ2V0dmFsdWUoKQogCi0gICAgICAgIHNlbGYuYW5ub3VuY2UoIlN1Ym1pdHRpbmcgJXMgdG8gJXMiICUgKGZpbGVuYW1lLCBzZWxmLnJlcG9zaXRvcnkpLCBsb2cuSU5GTykKKyAgICAgICAgbXNnID0gIlN1Ym1pdHRpbmcgJXMgdG8gJXMiICUgKGZpbGVuYW1lLCBzZWxmLnJlcG9zaXRvcnkpCisgICAgICAgIHNlbGYuYW5ub3VuY2UobXNnLCBsb2cuSU5GTykKIAogICAgICAgICAjIGJ1aWxkIHRoZSBSZXF1ZXN0Ci0gICAgICAgIGhlYWRlcnMgPSB7J0NvbnRlbnQtdHlwZSc6Ci0gICAgICAgICAgICAgICAgICAgICAgICAnbXVsdGlwYXJ0L2Zvcm0tZGF0YTsgYm91bmRhcnk9JXMnICUgYm91bmRhcnksCi0gICAgICAgICAgICAgICAgICAgJ0NvbnRlbnQtbGVuZ3RoJzogc3RyKGxlbihib2R5KSksCi0gICAgICAgICAgICAgICAgICAgJ0F1dGhvcml6YXRpb24nOiBhdXRofQorICAgICAgICBoZWFkZXJzID0geworICAgICAgICAgICAgJ0NvbnRlbnQtdHlwZSc6ICdtdWx0aXBhcnQvZm9ybS1kYXRhOyBib3VuZGFyeT0lcycgJSBib3VuZGFyeSwKKyAgICAgICAgICAgICdDb250ZW50LWxlbmd0aCc6IHN0cihsZW4oYm9keSkpLAorICAgICAgICAgICAgJ0F1dGhvcml6YXRpb24nOiBhdXRoLAorICAgICAgICB9CiAKICAgICAgICAgcmVxdWVzdCA9IFJlcXVlc3Qoc2VsZi5yZXBvc2l0b3J5LCBkYXRhPWJvZHksCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlYWRlcnM9aGVhZGVycykKZGlmZiAtLWdpdCBhL0xpYi9kaXN0dXRpbHMvY29tbWFuZC93aW5pbnN0LTE0LjAtYW1kNjQuZXhlIGIvTGliL2Rpc3R1dGlscy9jb21tYW5kL3dpbmluc3QtMTQuMC1hbWQ2NC5leGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDNiODViNgotLS0gL2Rldi9udWxsCisrKyBiL0xpYi9kaXN0dXRpbHMvY29tbWFuZC93aW5pbnN0LTE0LjAtYW1kNjQuZXhlCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL0xpYi9kaXN0dXRpbHMvY29tbWFuZC93aW5pbnN0LTE0LjAuZXhlIGIvTGliL2Rpc3R1dGlscy9jb21tYW5kL3dpbmluc3QtMTQuMC5leGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzY0NTI0ZAotLS0gL2Rldi9udWxsCisrKyBiL0xpYi9kaXN0dXRpbHMvY29tbWFuZC93aW5pbnN0LTE0LjAuZXhlCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL0xpYi9kaXN0dXRpbHMvZGlzdC5weSBiL0xpYi9kaXN0dXRpbHMvZGlzdC5weQppbmRleCA3ZWIwNGJjLi5mZmIzM2ZmNiAxMDA2NDQKLS0tIGEvTGliL2Rpc3R1dGlscy9kaXN0LnB5CisrKyBiL0xpYi9kaXN0dXRpbHMvZGlzdC5weQpAQCAtNCw3ICs0LDkgQEAKIGJlaW5nIGJ1aWx0L2luc3RhbGxlZC9kaXN0cmlidXRlZC4KICIiIgogCi1pbXBvcnQgc3lzLCBvcywgcmUKK2ltcG9ydCBzeXMKK2ltcG9ydCBvcworaW1wb3J0IHJlCiBmcm9tIGVtYWlsIGltcG9ydCBtZXNzYWdlX2Zyb21fZmlsZQogCiB0cnk6CkBAIC0yMiw3ICsyNCw3IEBACiAjIHRoZSBzYW1lIGFzIGEgUHl0aG9uIE5BTUUgLS0gSSBkb24ndCBhbGxvdyBsZWFkaW5nIHVuZGVyc2NvcmVzLiAgVGhlIGZhY3QKICMgdGhhdCB0aGV5J3JlIHZlcnkgc2ltaWxhciBpcyBubyBjb2luY2lkZW5jZTsgdGhlIGRlZmF1bHQgbmFtaW5nIHNjaGVtZSBpcwogIyB0byBsb29rIGZvciBhIFB5dGhvbiBtb2R1bGUgbmFtZWQgYWZ0ZXIgdGhlIGNvbW1hbmQuCi1jb21tYW5kX3JlID0gcmUuY29tcGlsZSAocideW2EtekEtWl0oW2EtekEtWjAtOV9dKikkJykKK2NvbW1hbmRfcmUgPSByZS5jb21waWxlKHInXlthLXpBLVpdKFthLXpBLVowLTlfXSopJCcpCiAKIAogY2xhc3MgRGlzdHJpYnV0aW9uOgpAQCAtMzksNyArNDEsNiBAQAogICAgIFNlZSB0aGUgY29kZSBmb3IgJ3NldHVwKCknLCBpbiBjb3JlLnB5LCBmb3IgZGV0YWlscy4KICAgICAiIiIKIAotCiAgICAgIyAnZ2xvYmFsX29wdGlvbnMnIGRlc2NyaWJlcyB0aGUgY29tbWFuZC1saW5lIG9wdGlvbnMgdGhhdCBtYXkgYmUKICAgICAjIHN1cHBsaWVkIHRvIHRoZSBzZXR1cCBzY3JpcHQgcHJpb3IgdG8gYW55IGFjdHVhbCBjb21tYW5kcy4KICAgICAjIEVnLiAiLi9zZXR1cC5weSAtbiIgb3IgIi4vc2V0dXAucHkgLS1xdWlldCIgYm90aCB0YWtlIGFkdmFudGFnZSBvZgpAQCAtNDgsMTIgKzQ5LDEzIEBACiAgICAgIyBkb24ndCB3YW50IHRvIHBvbGx1dGUgdGhlIGNvbW1hbmRzIHdpdGggdG9vIG1hbnkgb3B0aW9ucyB0aGF0IHRoZXkKICAgICAjIGhhdmUgbWluaW1hbCBjb250cm9sIG92ZXIuCiAgICAgIyBUaGUgZm91cnRoIGVudHJ5IGZvciB2ZXJib3NlIG1lYW5zIHRoYXQgaXQgY2FuIGJlIHJlcGVhdGVkLgotICAgIGdsb2JhbF9vcHRpb25zID0gWygndmVyYm9zZScsICd2JywgInJ1biB2ZXJib3NlbHkgKGRlZmF1bHQpIiwgMSksCi0gICAgICAgICAgICAgICAgICAgICAgKCdxdWlldCcsICdxJywgInJ1biBxdWlldGx5ICh0dXJucyB2ZXJib3NpdHkgb2ZmKSIpLAotICAgICAgICAgICAgICAgICAgICAgICgnZHJ5LXJ1bicsICduJywgImRvbid0IGFjdHVhbGx5IGRvIGFueXRoaW5nIiksCi0gICAgICAgICAgICAgICAgICAgICAgKCdoZWxwJywgJ2gnLCAic2hvdyBkZXRhaWxlZCBoZWxwIG1lc3NhZ2UiKSwKLSAgICAgICAgICAgICAgICAgICAgICAoJ25vLXVzZXItY2ZnJywgTm9uZSwKLSAgICAgICAgICAgICAgICAgICAgICAgJ2lnbm9yZSBweWRpc3R1dGlscy5jZmcgaW4geW91ciBob21lIGRpcmVjdG9yeScpLAorICAgIGdsb2JhbF9vcHRpb25zID0gWworICAgICAgICAoJ3ZlcmJvc2UnLCAndicsICJydW4gdmVyYm9zZWx5IChkZWZhdWx0KSIsIDEpLAorICAgICAgICAoJ3F1aWV0JywgJ3EnLCAicnVuIHF1aWV0bHkgKHR1cm5zIHZlcmJvc2l0eSBvZmYpIiksCisgICAgICAgICgnZHJ5LXJ1bicsICduJywgImRvbid0IGFjdHVhbGx5IGRvIGFueXRoaW5nIiksCisgICAgICAgICgnaGVscCcsICdoJywgInNob3cgZGV0YWlsZWQgaGVscCBtZXNzYWdlIiksCisgICAgICAgICgnbm8tdXNlci1jZmcnLCBOb25lLAorICAgICAgICAgICAgJ2lnbm9yZSBweWRpc3R1dGlscy5jZmcgaW4geW91ciBob21lIGRpcmVjdG9yeScpLAogICAgIF0KIAogICAgICMgJ2NvbW1vbl91c2FnZScgaXMgYSBzaG9ydCAoMi0zIGxpbmUpIHN0cmluZyBkZXNjcmliaW5nIHRoZSBjb21tb24KQEAgLTExNSwxMCArMTE3LDkgQEAKICAgICAjIG5lZ2F0aXZlIG9wdGlvbnMgYXJlIG9wdGlvbnMgdGhhdCBleGNsdWRlIG90aGVyIG9wdGlvbnMKICAgICBuZWdhdGl2ZV9vcHQgPSB7J3F1aWV0JzogJ3ZlcmJvc2UnfQogCi0KICAgICAjIC0tIENyZWF0aW9uL2luaXRpYWxpemF0aW9uIG1ldGhvZHMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCi0gICAgZGVmIF9faW5pdF9fIChzZWxmLCBhdHRycz1Ob25lKToKKyAgICBkZWYgX19pbml0X18oc2VsZiwgYXR0cnM9Tm9uZSk6CiAgICAgICAgICIiIkNvbnN0cnVjdCBhIG5ldyBEaXN0cmlidXRpb24gaW5zdGFuY2U6IGluaXRpYWxpemUgYWxsIHRoZQogICAgICAgICBhdHRyaWJ1dGVzIG9mIGEgRGlzdHJpYnV0aW9uLCBhbmQgdGhlbiB1c2UgJ2F0dHJzJyAoYSBkaWN0aW9uYXJ5CiAgICAgICAgIG1hcHBpbmcgYXR0cmlidXRlIG5hbWVzIHRvIHZhbHVlcykgdG8gYXNzaWduIHNvbWUgb2YgdGhvc2UKQEAgLTUzMiwxNSArNTMzLDE1IEBACiAgICAgICAgICMgdG8gYmUgc3VyZSB0aGF0IHRoZSBiYXNpYyAiY29tbWFuZCIgaW50ZXJmYWNlIGlzIGltcGxlbWVudGVkLgogICAgICAgICBpZiBub3QgaXNzdWJjbGFzcyhjbWRfY2xhc3MsIENvbW1hbmQpOgogICAgICAgICAgICAgcmFpc2UgRGlzdHV0aWxzQ2xhc3NFcnJvcigKLSAgICAgICAgICAgICAgICAgICJjb21tYW5kIGNsYXNzICVzIG11c3Qgc3ViY2xhc3MgQ29tbWFuZCIgJSBjbWRfY2xhc3MpCisgICAgICAgICAgICAgICAgImNvbW1hbmQgY2xhc3MgJXMgbXVzdCBzdWJjbGFzcyBDb21tYW5kIiAlIGNtZF9jbGFzcykKIAogICAgICAgICAjIEFsc28gbWFrZSBzdXJlIHRoYXQgdGhlIGNvbW1hbmQgb2JqZWN0IHByb3ZpZGVzIGEgbGlzdCBvZiBpdHMKICAgICAgICAgIyBrbm93biBvcHRpb25zLgogICAgICAgICBpZiBub3QgKGhhc2F0dHIoY21kX2NsYXNzLCAndXNlcl9vcHRpb25zJykgYW5kCiAgICAgICAgICAgICAgICAgaXNpbnN0YW5jZShjbWRfY2xhc3MudXNlcl9vcHRpb25zLCBsaXN0KSk6Ci0gICAgICAgICAgICByYWlzZSBEaXN0dXRpbHNDbGFzc0Vycm9yKCgiY29tbWFuZCBjbGFzcyAlcyBtdXN0IHByb3ZpZGUgIiArCi0gICAgICAgICAgICAgICAgICAgIid1c2VyX29wdGlvbnMnIGF0dHJpYnV0ZSAoYSBsaXN0IG9mIHR1cGxlcykiKSAlIFwKLSAgICAgICAgICAgICAgICAgIGNtZF9jbGFzcykKKyAgICAgICAgICAgIG1zZyA9ICgiY29tbWFuZCBjbGFzcyAlcyBtdXN0IHByb3ZpZGUgIgorICAgICAgICAgICAgICAgICIndXNlcl9vcHRpb25zJyBhdHRyaWJ1dGUgKGEgbGlzdCBvZiB0dXBsZXMpIikKKyAgICAgICAgICAgIHJhaXNlIERpc3R1dGlsc0NsYXNzRXJyb3IobXNnICUgY21kX2NsYXNzKQogCiAgICAgICAgICMgSWYgdGhlIGNvbW1hbmQgY2xhc3MgaGFzIGEgbGlzdCBvZiBuZWdhdGl2ZSBhbGlhcyBvcHRpb25zLAogICAgICAgICAjIG1lcmdlIGl0IGluIHdpdGggdGhlIGdsb2JhbCBuZWdhdGl2ZSBhbGlhc2VzLgpAQCAtNTUyLDEyICs1NTMsMTEgQEAKICAgICAgICAgIyBDaGVjayBmb3IgaGVscF9vcHRpb25zIGluIGNvbW1hbmQgY2xhc3MuICBUaGV5IGhhdmUgYSBkaWZmZXJlbnQKICAgICAgICAgIyBmb3JtYXQgKHR1cGxlIG9mIGZvdXIpIHNvIHdlIG5lZWQgdG8gcHJlcHJvY2VzcyB0aGVtIGhlcmUuCiAgICAgICAgIGlmIChoYXNhdHRyKGNtZF9jbGFzcywgJ2hlbHBfb3B0aW9ucycpIGFuZAotICAgICAgICAgICAgaXNpbnN0YW5jZShjbWRfY2xhc3MuaGVscF9vcHRpb25zLCBsaXN0KSk6CisgICAgICAgICAgICAgICAgaXNpbnN0YW5jZShjbWRfY2xhc3MuaGVscF9vcHRpb25zLCBsaXN0KSk6CiAgICAgICAgICAgICBoZWxwX29wdGlvbnMgPSBmaXhfaGVscF9vcHRpb25zKGNtZF9jbGFzcy5oZWxwX29wdGlvbnMpCiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICBoZWxwX29wdGlvbnMgPSBbXQogCi0KICAgICAgICAgIyBBbGwgY29tbWFuZHMgc3VwcG9ydCB0aGUgZ2xvYmFsIG9wdGlvbnMgdG9vLCBqdXN0IGJ5IGFkZGluZwogICAgICAgICAjIGluICdnbG9iYWxfb3B0aW9ucycuCiAgICAgICAgIHBhcnNlci5zZXRfb3B0aW9uX3RhYmxlKHNlbGYuZ2xvYmFsX29wdGlvbnMgKwpAQCAtNTcwLDcgKzU3MCw3IEBACiAgICAgICAgICAgICByZXR1cm4KIAogICAgICAgICBpZiAoaGFzYXR0cihjbWRfY2xhc3MsICdoZWxwX29wdGlvbnMnKSBhbmQKLSAgICAgICAgICAgIGlzaW5zdGFuY2UoY21kX2NsYXNzLmhlbHBfb3B0aW9ucywgbGlzdCkpOgorICAgICAgICAgICAgICAgIGlzaW5zdGFuY2UoY21kX2NsYXNzLmhlbHBfb3B0aW9ucywgbGlzdCkpOgogICAgICAgICAgICAgaGVscF9vcHRpb25fZm91bmQ9MAogICAgICAgICAgICAgZm9yIChoZWxwX29wdGlvbiwgc2hvcnQsIGRlc2MsIGZ1bmMpIGluIGNtZF9jbGFzcy5oZWxwX29wdGlvbnM6CiAgICAgICAgICAgICAgICAgaWYgaGFzYXR0cihvcHRzLCBwYXJzZXIuZ2V0X2F0dHJfbmFtZShoZWxwX29wdGlvbikpOgpAQCAtNjQ3LDcgKzY0Nyw3IEBACiAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgIGtsYXNzID0gc2VsZi5nZXRfY29tbWFuZF9jbGFzcyhjb21tYW5kKQogICAgICAgICAgICAgaWYgKGhhc2F0dHIoa2xhc3MsICdoZWxwX29wdGlvbnMnKSBhbmQKLSAgICAgICAgICAgICAgICBpc2luc3RhbmNlKGtsYXNzLmhlbHBfb3B0aW9ucywgbGlzdCkpOgorICAgICAgICAgICAgICAgICAgICBpc2luc3RhbmNlKGtsYXNzLmhlbHBfb3B0aW9ucywgbGlzdCkpOgogICAgICAgICAgICAgICAgIHBhcnNlci5zZXRfb3B0aW9uX3RhYmxlKGtsYXNzLnVzZXJfb3B0aW9ucyArCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZml4X2hlbHBfb3B0aW9ucyhrbGFzcy5oZWxwX29wdGlvbnMpKQogICAgICAgICAgICAgZWxzZToKQEAgLTgxNCw3ICs4MTQsNyBAQAogICAgICAgICAgICAga2xhc3NfbmFtZSA9IGNvbW1hbmQKIAogICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgIF9faW1wb3J0X18gKG1vZHVsZV9uYW1lKQorICAgICAgICAgICAgICAgIF9faW1wb3J0X18obW9kdWxlX25hbWUpCiAgICAgICAgICAgICAgICAgbW9kdWxlID0gc3lzLm1vZHVsZXNbbW9kdWxlX25hbWVdCiAgICAgICAgICAgICBleGNlcHQgSW1wb3J0RXJyb3I6CiAgICAgICAgICAgICAgICAgY29udGludWUKQEAgLTgyMyw4ICs4MjMsOCBAQAogICAgICAgICAgICAgICAgIGtsYXNzID0gZ2V0YXR0cihtb2R1bGUsIGtsYXNzX25hbWUpCiAgICAgICAgICAgICBleGNlcHQgQXR0cmlidXRlRXJyb3I6CiAgICAgICAgICAgICAgICAgcmFpc2UgRGlzdHV0aWxzTW9kdWxlRXJyb3IoCi0gICAgICAgICAgICAgICAgICAgICAgImludmFsaWQgY29tbWFuZCAnJXMnIChubyBjbGFzcyAnJXMnIGluIG1vZHVsZSAnJXMnKSIKLSAgICAgICAgICAgICAgICAgICAgICAlIChjb21tYW5kLCBrbGFzc19uYW1lLCBtb2R1bGVfbmFtZSkpCisgICAgICAgICAgICAgICAgICAgICJpbnZhbGlkIGNvbW1hbmQgJyVzJyAobm8gY2xhc3MgJyVzJyBpbiBtb2R1bGUgJyVzJykiCisgICAgICAgICAgICAgICAgICAgICUgKGNvbW1hbmQsIGtsYXNzX25hbWUsIG1vZHVsZV9uYW1lKSkKIAogICAgICAgICAgICAgc2VsZi5jbWRjbGFzc1tjb21tYW5kXSA9IGtsYXNzCiAgICAgICAgICAgICByZXR1cm4ga2xhc3MKQEAgLTg0MCw3ICs4NDAsNyBAQAogICAgICAgICBjbWRfb2JqID0gc2VsZi5jb21tYW5kX29iai5nZXQoY29tbWFuZCkKICAgICAgICAgaWYgbm90IGNtZF9vYmogYW5kIGNyZWF0ZToKICAgICAgICAgICAgIGlmIERFQlVHOgotICAgICAgICAgICAgICAgIHNlbGYuYW5ub3VuY2UoIkRpc3RyaWJ1dGlvbi5nZXRfY29tbWFuZF9vYmooKTogIiBcCisgICAgICAgICAgICAgICAgc2VsZi5hbm5vdW5jZSgiRGlzdHJpYnV0aW9uLmdldF9jb21tYW5kX29iaigpOiAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY3JlYXRpbmcgJyVzJyBjb21tYW5kIG9iamVjdCIgJSBjb21tYW5kKQogCiAgICAgICAgICAgICBrbGFzcyA9IHNlbGYuZ2V0X2NvbW1hbmRfY2xhc3MoY29tbWFuZCkKQEAgLTg5Nyw4ICs4OTcsOCBAQAogICAgICAgICAgICAgICAgICAgICBzZXRhdHRyKGNvbW1hbmRfb2JqLCBvcHRpb24sIHZhbHVlKQogICAgICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgICAgIHJhaXNlIERpc3R1dGlsc09wdGlvbkVycm9yKAotICAgICAgICAgICAgICAgICAgICAgICAgICAiZXJyb3IgaW4gJXM6IGNvbW1hbmQgJyVzJyBoYXMgbm8gc3VjaCBvcHRpb24gJyVzJyIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgJSAoc291cmNlLCBjb21tYW5kX25hbWUsIG9wdGlvbikpCisgICAgICAgICAgICAgICAgICAgICAgICAiZXJyb3IgaW4gJXM6IGNvbW1hbmQgJyVzJyBoYXMgbm8gc3VjaCBvcHRpb24gJyVzJyIKKyAgICAgICAgICAgICAgICAgICAgICAgICUgKHNvdXJjZSwgY29tbWFuZF9uYW1lLCBvcHRpb24pKQogICAgICAgICAgICAgZXhjZXB0IFZhbHVlRXJyb3IgYXMgbXNnOgogICAgICAgICAgICAgICAgIHJhaXNlIERpc3R1dGlsc09wdGlvbkVycm9yKG1zZykKIApAQCAtOTc0LDcgKzk3NCw2IEBACiAgICAgICAgIGNtZF9vYmoucnVuKCkKICAgICAgICAgc2VsZi5oYXZlX3J1bltjb21tYW5kXSA9IDEKIAotCiAgICAgIyAtLSBEaXN0cmlidXRpb24gcXVlcnkgbWV0aG9kcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAogICAgIGRlZiBoYXNfcHVyZV9tb2R1bGVzKHNlbGYpOgpAQCAtMTExMiwxNyArMTExMSwxNyBAQAogICAgICAgICAiIiIKICAgICAgICAgdmVyc2lvbiA9ICcxLjAnCiAgICAgICAgIGlmIChzZWxmLnByb3ZpZGVzIG9yIHNlbGYucmVxdWlyZXMgb3Igc2VsZi5vYnNvbGV0ZXMgb3IKLSAgICAgICAgICAgIHNlbGYuY2xhc3NpZmllcnMgb3Igc2VsZi5kb3dubG9hZF91cmwpOgorICAgICAgICAgICAgICAgIHNlbGYuY2xhc3NpZmllcnMgb3Igc2VsZi5kb3dubG9hZF91cmwpOgogICAgICAgICAgICAgdmVyc2lvbiA9ICcxLjEnCiAKICAgICAgICAgZmlsZS53cml0ZSgnTWV0YWRhdGEtVmVyc2lvbjogJXNcbicgJSB2ZXJzaW9uKQotICAgICAgICBmaWxlLndyaXRlKCdOYW1lOiAlc1xuJyAlIHNlbGYuZ2V0X25hbWUoKSApCi0gICAgICAgIGZpbGUud3JpdGUoJ1ZlcnNpb246ICVzXG4nICUgc2VsZi5nZXRfdmVyc2lvbigpICkKLSAgICAgICAgZmlsZS53cml0ZSgnU3VtbWFyeTogJXNcbicgJSBzZWxmLmdldF9kZXNjcmlwdGlvbigpICkKLSAgICAgICAgZmlsZS53cml0ZSgnSG9tZS1wYWdlOiAlc1xuJyAlIHNlbGYuZ2V0X3VybCgpICkKLSAgICAgICAgZmlsZS53cml0ZSgnQXV0aG9yOiAlc1xuJyAlIHNlbGYuZ2V0X2NvbnRhY3QoKSApCi0gICAgICAgIGZpbGUud3JpdGUoJ0F1dGhvci1lbWFpbDogJXNcbicgJSBzZWxmLmdldF9jb250YWN0X2VtYWlsKCkgKQotICAgICAgICBmaWxlLndyaXRlKCdMaWNlbnNlOiAlc1xuJyAlIHNlbGYuZ2V0X2xpY2Vuc2UoKSApCisgICAgICAgIGZpbGUud3JpdGUoJ05hbWU6ICVzXG4nICUgc2VsZi5nZXRfbmFtZSgpKQorICAgICAgICBmaWxlLndyaXRlKCdWZXJzaW9uOiAlc1xuJyAlIHNlbGYuZ2V0X3ZlcnNpb24oKSkKKyAgICAgICAgZmlsZS53cml0ZSgnU3VtbWFyeTogJXNcbicgJSBzZWxmLmdldF9kZXNjcmlwdGlvbigpKQorICAgICAgICBmaWxlLndyaXRlKCdIb21lLXBhZ2U6ICVzXG4nICUgc2VsZi5nZXRfdXJsKCkpCisgICAgICAgIGZpbGUud3JpdGUoJ0F1dGhvcjogJXNcbicgJSBzZWxmLmdldF9jb250YWN0KCkpCisgICAgICAgIGZpbGUud3JpdGUoJ0F1dGhvci1lbWFpbDogJXNcbicgJSBzZWxmLmdldF9jb250YWN0X2VtYWlsKCkpCisgICAgICAgIGZpbGUud3JpdGUoJ0xpY2Vuc2U6ICVzXG4nICUgc2VsZi5nZXRfbGljZW5zZSgpKQogICAgICAgICBpZiBzZWxmLmRvd25sb2FkX3VybDoKICAgICAgICAgICAgIGZpbGUud3JpdGUoJ0Rvd25sb2FkLVVSTDogJXNcbicgJSBzZWxmLmRvd25sb2FkX3VybCkKIApAQCAtMTEzMSw3ICsxMTMwLDcgQEAKIAogICAgICAgICBrZXl3b3JkcyA9ICcsJy5qb2luKHNlbGYuZ2V0X2tleXdvcmRzKCkpCiAgICAgICAgIGlmIGtleXdvcmRzOgotICAgICAgICAgICAgZmlsZS53cml0ZSgnS2V5d29yZHM6ICVzXG4nICUga2V5d29yZHMgKQorICAgICAgICAgICAgZmlsZS53cml0ZSgnS2V5d29yZHM6ICVzXG4nICUga2V5d29yZHMpCiAKICAgICAgICAgc2VsZi5fd3JpdGVfbGlzdChmaWxlLCAnUGxhdGZvcm0nLCBzZWxmLmdldF9wbGF0Zm9ybXMoKSkKICAgICAgICAgc2VsZi5fd3JpdGVfbGlzdChmaWxlLCAnQ2xhc3NpZmllcicsIHNlbGYuZ2V0X2NsYXNzaWZpZXJzKCkpCmRpZmYgLS1naXQgYS9MaWIvZGlzdHV0aWxzL2V4dGVuc2lvbi5weSBiL0xpYi9kaXN0dXRpbHMvZXh0ZW5zaW9uLnB5CmluZGV4IGE5MzY1NWEuLjdlZmJiNzQgMTAwNjQ0Ci0tLSBhL0xpYi9kaXN0dXRpbHMvZXh0ZW5zaW9uLnB5CisrKyBiL0xpYi9kaXN0dXRpbHMvZXh0ZW5zaW9uLnB5CkBAIC0xMzEsNiArMTMxLDE0IEBACiAgICAgICAgICAgICBtc2cgPSAiVW5rbm93biBFeHRlbnNpb24gb3B0aW9uczogJXMiICUgb3B0aW9ucwogICAgICAgICAgICAgd2FybmluZ3Mud2Fybihtc2cpCiAKKyAgICBkZWYgX19yZXByX18oc2VsZik6CisgICAgICAgIHJldHVybiAnPCVzLiVzKCVyKSBhdCAlI3g+JyAlICgKKyAgICAgICAgICAgIHNlbGYuX19jbGFzc19fLl9fbW9kdWxlX18sCisgICAgICAgICAgICBzZWxmLl9fY2xhc3NfXy5fX3F1YWxuYW1lX18sCisgICAgICAgICAgICBzZWxmLm5hbWUsCisgICAgICAgICAgICBpZChzZWxmKSkKKworCiBkZWYgcmVhZF9zZXR1cF9maWxlKGZpbGVuYW1lKToKICAgICAiIiJSZWFkcyBhIFNldHVwIGZpbGUgYW5kIHJldHVybnMgRXh0ZW5zaW9uIGluc3RhbmNlcy4iIiIKICAgICBmcm9tIGRpc3R1dGlscy5zeXNjb25maWcgaW1wb3J0IChwYXJzZV9tYWtlZmlsZSwgZXhwYW5kX21ha2VmaWxlX3ZhcnMsCmRpZmYgLS1naXQgYS9MaWIvZGlzdHV0aWxzL21zdmM5Y29tcGlsZXIucHkgYi9MaWIvZGlzdHV0aWxzL21zdmM5Y29tcGlsZXIucHkKaW5kZXggOTY4OGYyMC4uZDEzNzRlZiAxMDA2NDQKLS0tIGEvTGliL2Rpc3R1dGlscy9tc3ZjOWNvbXBpbGVyLnB5CisrKyBiL0xpYi9kaXN0dXRpbHMvbXN2Yzljb21waWxlci5weQpAQCAtMTc5LDYgKzE3OSw5IEBACiAgICAgaSA9IGkgKyBsZW4ocHJlZml4KQogICAgIHMsIHJlc3QgPSBzeXMudmVyc2lvbltpOl0uc3BsaXQoIiAiLCAxKQogICAgIG1ham9yVmVyc2lvbiA9IGludChzWzotMl0pIC0gNgorICAgIGlmIG1ham9yVmVyc2lvbiA+PSAxMzoKKyAgICAgICAgIyB2MTMgd2FzIHNraXBwZWQgYW5kIHNob3VsZCBiZSB2MTQKKyAgICAgICAgbWFqb3JWZXJzaW9uICs9IDEKICAgICBtaW5vclZlcnNpb24gPSBpbnQoc1syOjNdKSAvIDEwLjAKICAgICAjIEkgZG9uJ3QgdGhpbmsgcGF0aHMgYXJlIGFmZmVjdGVkIGJ5IG1pbm9yIHZlcnNpb24gaW4gdmVyc2lvbiA2CiAgICAgaWYgbWFqb3JWZXJzaW9uID09IDY6CmRpZmYgLS1naXQgYS9MaWIvZGlzdHV0aWxzL21zdmNjb21waWxlci5weSBiL0xpYi9kaXN0dXRpbHMvbXN2Y2NvbXBpbGVyLnB5CmluZGV4IDgxMTY2NTYuLjEwNDhjZDQgMTAwNjQ0Ci0tLSBhL0xpYi9kaXN0dXRpbHMvbXN2Y2NvbXBpbGVyLnB5CisrKyBiL0xpYi9kaXN0dXRpbHMvbXN2Y2NvbXBpbGVyLnB5CkBAIC0xNTcsNiArMTU3LDkgQEAKICAgICBpID0gaSArIGxlbihwcmVmaXgpCiAgICAgcywgcmVzdCA9IHN5cy52ZXJzaW9uW2k6XS5zcGxpdCgiICIsIDEpCiAgICAgbWFqb3JWZXJzaW9uID0gaW50KHNbOi0yXSkgLSA2CisgICAgaWYgbWFqb3JWZXJzaW9uID49IDEzOgorICAgICAgICAjIHYxMyB3YXMgc2tpcHBlZCBhbmQgc2hvdWxkIGJlIHYxNAorICAgICAgICBtYWpvclZlcnNpb24gKz0gMQogICAgIG1pbm9yVmVyc2lvbiA9IGludChzWzI6M10pIC8gMTAuMAogICAgICMgSSBkb24ndCB0aGluayBwYXRocyBhcmUgYWZmZWN0ZWQgYnkgbWlub3IgdmVyc2lvbiBpbiB2ZXJzaW9uIDYKICAgICBpZiBtYWpvclZlcnNpb24gPT0gNjoKZGlmZiAtLWdpdCBhL0xpYi9kaXN0dXRpbHMvc3Bhd24ucHkgYi9MaWIvZGlzdHV0aWxzL3NwYXduLnB5CmluZGV4IDIyZTg3ZTguLjVkZDQxNWEgMTAwNjQ0Ci0tLSBhL0xpYi9kaXN0dXRpbHMvc3Bhd24ucHkKKysrIGIvTGliL2Rpc3R1dGlscy9zcGF3bi5weQpAQCAtMTM3LDkgKzEzNyw2IEBACiAgICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICAgcGlkLCBzdGF0dXMgPSBvcy53YWl0cGlkKHBpZCwgMCkKICAgICAgICAgICAgIGV4Y2VwdCBPU0Vycm9yIGFzIGV4YzoKLSAgICAgICAgICAgICAgICBpbXBvcnQgZXJybm8KLSAgICAgICAgICAgICAgICBpZiBleGMuZXJybm8gPT0gZXJybm8uRUlOVFI6Ci0gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCiAgICAgICAgICAgICAgICAgaWYgbm90IERFQlVHOgogICAgICAgICAgICAgICAgICAgICBjbWQgPSBleGVjdXRhYmxlCiAgICAgICAgICAgICAgICAgcmFpc2UgRGlzdHV0aWxzRXhlY0Vycm9yKApkaWZmIC0tZ2l0IGEvTGliL2Rpc3R1dGlscy9zeXNjb25maWcucHkgYi9MaWIvZGlzdHV0aWxzL3N5c2NvbmZpZy5weQppbmRleCBhMTQ1MmZlLi41NzM3MjRkIDEwMDY0NAotLS0gYS9MaWIvZGlzdHV0aWxzL3N5c2NvbmZpZy5weQorKysgYi9MaWIvZGlzdHV0aWxzL3N5c2NvbmZpZy5weQpAQCAtOSw2ICs5LDcgQEAKIEVtYWlsOiAgICAgICAgPGZkcmFrZUBhY20ub3JnPgogIiIiCiAKK2ltcG9ydCBfaW1wCiBpbXBvcnQgb3MKIGltcG9ydCByZQogaW1wb3J0IHN5cwpAQCAtMjIsMjMgKzIzLDE1IEBACiBCQVNFX0VYRUNfUFJFRklYID0gb3MucGF0aC5ub3JtcGF0aChzeXMuYmFzZV9leGVjX3ByZWZpeCkKIAogIyBQYXRoIHRvIHRoZSBiYXNlIGRpcmVjdG9yeSBvZiB0aGUgcHJvamVjdC4gT24gV2luZG93cyB0aGUgYmluYXJ5IG1heQotIyBsaXZlIGluIHByb2plY3QvUENCdWlsZDkuICBJZiB3ZSdyZSBkZWFsaW5nIHdpdGggYW4geDY0IFdpbmRvd3MgYnVpbGQsCi0jIGl0J2xsIGxpdmUgaW4gcHJvamVjdC9QQ2J1aWxkL2FtZDY0LgorIyBsaXZlIGluIHByb2plY3QvUENCdWlsZC93aW4zMiBvciBwcm9qZWN0L1BDQnVpbGQvYW1kNjQuCiAjIHNldCBmb3IgY3Jvc3MgYnVpbGRzCiBpZiAiX1BZVEhPTl9QUk9KRUNUX0JBU0UiIGluIG9zLmVudmlyb246CiAgICAgcHJvamVjdF9iYXNlID0gb3MucGF0aC5hYnNwYXRoKG9zLmVudmlyb25bIl9QWVRIT05fUFJPSkVDVF9CQVNFIl0pCiBlbHNlOgogICAgIHByb2plY3RfYmFzZSA9IG9zLnBhdGguZGlybmFtZShvcy5wYXRoLmFic3BhdGgoc3lzLmV4ZWN1dGFibGUpKQotaWYgb3MubmFtZSA9PSAibnQiIGFuZCAicGNidWlsZCIgaW4gcHJvamVjdF9iYXNlWy04Ol0ubG93ZXIoKToKLSAgICBwcm9qZWN0X2Jhc2UgPSBvcy5wYXRoLmFic3BhdGgob3MucGF0aC5qb2luKHByb2plY3RfYmFzZSwgb3MucGF0aC5wYXJkaXIpKQotIyBQQy9WUzcuMQotaWYgb3MubmFtZSA9PSAibnQiIGFuZCAiXFxwY1xcdiIgaW4gcHJvamVjdF9iYXNlWy0xMDpdLmxvd2VyKCk6Ci0gICAgcHJvamVjdF9iYXNlID0gb3MucGF0aC5hYnNwYXRoKG9zLnBhdGguam9pbihwcm9qZWN0X2Jhc2UsIG9zLnBhdGgucGFyZGlyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3MucGF0aC5wYXJkaXIpKQotIyBQQy9BTUQ2NAotaWYgb3MubmFtZSA9PSAibnQiIGFuZCAiXFxwY2J1aWxkXFxhbWQ2NCIgaW4gcHJvamVjdF9iYXNlWy0xNDpdLmxvd2VyKCk6Ci0gICAgcHJvamVjdF9iYXNlID0gb3MucGF0aC5hYnNwYXRoKG9zLnBhdGguam9pbihwcm9qZWN0X2Jhc2UsIG9zLnBhdGgucGFyZGlyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3MucGF0aC5wYXJkaXIpKQoraWYgKG9zLm5hbWUgPT0gJ250JyBhbmQKKyAgICBwcm9qZWN0X2Jhc2UubG93ZXIoKS5lbmRzd2l0aCgoJ1xccGNidWlsZFxcd2luMzInLCAnXFxwY2J1aWxkXFxhbWQ2NCcpKSk6CisgICAgcHJvamVjdF9iYXNlID0gb3MucGF0aC5kaXJuYW1lKG9zLnBhdGguZGlybmFtZShwcm9qZWN0X2Jhc2UpKQogCiAjIHB5dGhvbl9idWlsZDogKEJvb2xlYW4pIGlmIHRydWUsIHdlJ3JlIGVpdGhlciBidWlsZGluZyBQeXRob24gb3IKICMgYnVpbGRpbmcgYW4gZXh0ZW5zaW9uIHdpdGggYW4gdW4taW5zdGFsbGVkIFB5dGhvbiwgc28gd2UgdXNlCkBAIC01MSwxMSArNDQsOSBAQAogICAgICAgICAgICAgcmV0dXJuIFRydWUKICAgICByZXR1cm4gRmFsc2UKIF9zeXNfaG9tZSA9IGdldGF0dHIoc3lzLCAnX2hvbWUnLCBOb25lKQotaWYgX3N5c19ob21lIGFuZCBvcy5uYW1lID09ICdudCcgYW5kIFwKLSAgICBfc3lzX2hvbWUubG93ZXIoKS5lbmRzd2l0aCgoJ3BjYnVpbGQnLCAncGNidWlsZFxcYW1kNjQnKSk6Ci0gICAgX3N5c19ob21lID0gb3MucGF0aC5kaXJuYW1lKF9zeXNfaG9tZSkKLSAgICBpZiBfc3lzX2hvbWUuZW5kc3dpdGgoJ3BjYnVpbGQnKTogICAjIG11c3QgYmUgYW1kNjQKLSAgICAgICAgX3N5c19ob21lID0gb3MucGF0aC5kaXJuYW1lKF9zeXNfaG9tZSkKK2lmIChfc3lzX2hvbWUgYW5kIG9zLm5hbWUgPT0gJ250JyBhbmQKKyAgICBfc3lzX2hvbWUubG93ZXIoKS5lbmRzd2l0aCgoJ1xccGNidWlsZFxcd2luMzInLCAnXFxwY2J1aWxkXFxhbWQ2NCcpKSk6CisgICAgX3N5c19ob21lID0gb3MucGF0aC5kaXJuYW1lKG9zLnBhdGguZGlybmFtZShfc3lzX2hvbWUpKQogZGVmIF9weXRob25fYnVpbGQoKToKICAgICBpZiBfc3lzX2hvbWU6CiAgICAgICAgIHJldHVybiBfaXNfcHl0aG9uX3NvdXJjZV9kaXIoX3N5c19ob21lKQpAQCAtNDY4LDcgKzQ1OSw3IEBACiAgICAgIyBYWFggaG1tbS4uIGEgbm9ybWFsIGluc3RhbGwgcHV0cyBpbmNsdWRlIGZpbGVzIGhlcmUKICAgICBnWydJTkNMVURFUFknXSA9IGdldF9weXRob25faW5jKHBsYXRfc3BlY2lmaWM9MCkKIAotICAgIGdbJ0VYVF9TVUZGSVgnXSA9ICcucHlkJworICAgIGdbJ0VYVF9TVUZGSVgnXSA9IF9pbXAuZXh0ZW5zaW9uX3N1ZmZpeGVzKClbMF0KICAgICBnWydFWEUnXSA9ICIuZXhlIgogICAgIGdbJ1ZFUlNJT04nXSA9IGdldF9weXRob25fdmVyc2lvbigpLnJlcGxhY2UoIi4iLCAiIikKICAgICBnWydCSU5ESVInXSA9IG9zLnBhdGguZGlybmFtZShvcy5wYXRoLmFic3BhdGgoc3lzLmV4ZWN1dGFibGUpKQpkaWZmIC0tZ2l0IGEvTGliL2Rpc3R1dGlscy90ZXN0cy90ZXN0X2J1aWxkX2V4dC5weSBiL0xpYi9kaXN0dXRpbHMvdGVzdHMvdGVzdF9idWlsZF9leHQucHkKaW5kZXggYjlmNDA3Zi4uMzY2ZmZiZSAxMDA2NDQKLS0tIGEvTGliL2Rpc3R1dGlscy90ZXN0cy90ZXN0X2J1aWxkX2V4dC5weQorKysgYi9MaWIvZGlzdHV0aWxzL3Rlc3RzL3Rlc3RfYnVpbGRfZXh0LnB5CkBAIC0zNyw2ICszNyw5IEBACiAgICAgICAgIGZyb20gZGlzdHV0aWxzLmNvbW1hbmQgaW1wb3J0IGJ1aWxkX2V4dAogICAgICAgICBidWlsZF9leHQuVVNFUl9CQVNFID0gc2l0ZS5VU0VSX0JBU0UKIAorICAgIGRlZiBidWlsZF9leHQoc2VsZiwgKmFyZ3MsICoqa3dhcmdzKToKKyAgICAgICAgcmV0dXJuIGJ1aWxkX2V4dCgqYXJncywgKiprd2FyZ3MpCisKICAgICBkZWYgdGVzdF9idWlsZF9leHQoc2VsZik6CiAgICAgICAgIGdsb2JhbCBBTFJFQURZX1RFU1RFRAogICAgICAgICBjb3B5X3h4bW9kdWxlX2Moc2VsZi50bXBfZGlyKQpAQCAtNDQsNyArNDcsNyBAQAogICAgICAgICB4eF9leHQgPSBFeHRlbnNpb24oJ3h4JywgW3h4X2NdKQogICAgICAgICBkaXN0ID0gRGlzdHJpYnV0aW9uKHsnbmFtZSc6ICd4eCcsICdleHRfbW9kdWxlcyc6IFt4eF9leHRdfSkKICAgICAgICAgZGlzdC5wYWNrYWdlX2RpciA9IHNlbGYudG1wX2RpcgotICAgICAgICBjbWQgPSBidWlsZF9leHQoZGlzdCkKKyAgICAgICAgY21kID0gc2VsZi5idWlsZF9leHQoZGlzdCkKICAgICAgICAgZml4dXBfYnVpbGRfZXh0KGNtZCkKICAgICAgICAgY21kLmJ1aWxkX2xpYiA9IHNlbGYudG1wX2RpcgogICAgICAgICBjbWQuYnVpbGRfdGVtcCA9IHNlbGYudG1wX2RpcgpAQCAtOTEsNyArOTQsNyBAQAogCiAgICAgZGVmIHRlc3Rfc29sYXJpc19lbmFibGVfc2hhcmVkKHNlbGYpOgogICAgICAgICBkaXN0ID0gRGlzdHJpYnV0aW9uKHsnbmFtZSc6ICd4eCd9KQotICAgICAgICBjbWQgPSBidWlsZF9leHQoZGlzdCkKKyAgICAgICAgY21kID0gc2VsZi5idWlsZF9leHQoZGlzdCkKICAgICAgICAgb2xkID0gc3lzLnBsYXRmb3JtCiAKICAgICAgICAgc3lzLnBsYXRmb3JtID0gJ3N1bm9zJyAjIGZvb2xpbmcgZmluYWxpemVfb3B0aW9ucwpAQCAtMTEzLDcgKzExNiw3IEBACiAgICAgZGVmIHRlc3RfdXNlcl9zaXRlKHNlbGYpOgogICAgICAgICBpbXBvcnQgc2l0ZQogICAgICAgICBkaXN0ID0gRGlzdHJpYnV0aW9uKHsnbmFtZSc6ICd4eCd9KQotICAgICAgICBjbWQgPSBidWlsZF9leHQoZGlzdCkKKyAgICAgICAgY21kID0gc2VsZi5idWlsZF9leHQoZGlzdCkKIAogICAgICAgICAjIG1ha2luZyBzdXJlIHRoZSB1c2VyIG9wdGlvbiBpcyB0aGVyZQogICAgICAgICBvcHRpb25zID0gW25hbWUgZm9yIG5hbWUsIHNob3J0LCBsYWJsZSBpbgpAQCAtMTQ0LDE0ICsxNDcsMTQgQEAKICAgICAgICAgIyB3aXRoIHRoZSBvcHRpb25hbCBhcmd1bWVudC4KICAgICAgICAgbW9kdWxlcyA9IFtFeHRlbnNpb24oJ2ZvbycsIFsneHh4J10sIG9wdGlvbmFsPUZhbHNlKV0KICAgICAgICAgZGlzdCA9IERpc3RyaWJ1dGlvbih7J25hbWUnOiAneHgnLCAnZXh0X21vZHVsZXMnOiBtb2R1bGVzfSkKLSAgICAgICAgY21kID0gYnVpbGRfZXh0KGRpc3QpCisgICAgICAgIGNtZCA9IHNlbGYuYnVpbGRfZXh0KGRpc3QpCiAgICAgICAgIGNtZC5lbnN1cmVfZmluYWxpemVkKCkKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoKFVua25vd25GaWxlRXJyb3IsIENvbXBpbGVFcnJvciksCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGNtZC5ydW4pICAjIHNob3VsZCByYWlzZSBhbiBlcnJvcgogCiAgICAgICAgIG1vZHVsZXMgPSBbRXh0ZW5zaW9uKCdmb28nLCBbJ3h4eCddLCBvcHRpb25hbD1UcnVlKV0KICAgICAgICAgZGlzdCA9IERpc3RyaWJ1dGlvbih7J25hbWUnOiAneHgnLCAnZXh0X21vZHVsZXMnOiBtb2R1bGVzfSkKLSAgICAgICAgY21kID0gYnVpbGRfZXh0KGRpc3QpCisgICAgICAgIGNtZCA9IHNlbGYuYnVpbGRfZXh0KGRpc3QpCiAgICAgICAgIGNtZC5lbnN1cmVfZmluYWxpemVkKCkKICAgICAgICAgY21kLnJ1bigpICAjIHNob3VsZCBwYXNzCiAKQEAgLTE2MCw3ICsxNjMsNyBAQAogICAgICAgICAjIGV0Yy4pIGFyZSBpbiB0aGUgaW5jbHVkZSBzZWFyY2ggcGF0aC4KICAgICAgICAgbW9kdWxlcyA9IFtFeHRlbnNpb24oJ2ZvbycsIFsneHh4J10sIG9wdGlvbmFsPUZhbHNlKV0KICAgICAgICAgZGlzdCA9IERpc3RyaWJ1dGlvbih7J25hbWUnOiAneHgnLCAnZXh0X21vZHVsZXMnOiBtb2R1bGVzfSkKLSAgICAgICAgY21kID0gYnVpbGRfZXh0KGRpc3QpCisgICAgICAgIGNtZCA9IHNlbGYuYnVpbGRfZXh0KGRpc3QpCiAgICAgICAgIGNtZC5maW5hbGl6ZV9vcHRpb25zKCkKIAogICAgICAgICBmcm9tIGRpc3R1dGlscyBpbXBvcnQgc3lzY29uZmlnCkBAIC0xNzIsMTQgKzE3NSwxNCBAQAogCiAgICAgICAgICMgbWFrZSBzdXJlIGNtZC5saWJyYXJpZXMgaXMgdHVybmVkIGludG8gYSBsaXN0CiAgICAgICAgICMgaWYgaXQncyBhIHN0cmluZwotICAgICAgICBjbWQgPSBidWlsZF9leHQoZGlzdCkKKyAgICAgICAgY21kID0gc2VsZi5idWlsZF9leHQoZGlzdCkKICAgICAgICAgY21kLmxpYnJhcmllcyA9ICdteV9saWIsIG90aGVyX2xpYiBsYXN0bGliJwogICAgICAgICBjbWQuZmluYWxpemVfb3B0aW9ucygpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY21kLmxpYnJhcmllcywgWydteV9saWInLCAnb3RoZXJfbGliJywgJ2xhc3RsaWInXSkKIAogICAgICAgICAjIG1ha2Ugc3VyZSBjbWQubGlicmFyeV9kaXJzIGlzIHR1cm5lZCBpbnRvIGEgbGlzdAogICAgICAgICAjIGlmIGl0J3MgYSBzdHJpbmcKLSAgICAgICAgY21kID0gYnVpbGRfZXh0KGRpc3QpCisgICAgICAgIGNtZCA9IHNlbGYuYnVpbGRfZXh0KGRpc3QpCiAgICAgICAgIGNtZC5saWJyYXJ5X2RpcnMgPSAnbXlfbGliX2RpciVzb3RoZXJfbGliX2RpcicgJSBvcy5wYXRoc2VwCiAgICAgICAgIGNtZC5maW5hbGl6ZV9vcHRpb25zKCkKICAgICAgICAgc2VsZi5hc3NlcnRJbignbXlfbGliX2RpcicsIGNtZC5saWJyYXJ5X2RpcnMpCkBAIC0xODcsNyArMTkwLDcgQEAKIAogICAgICAgICAjIG1ha2Ugc3VyZSBycGF0aCBpcyB0dXJuZWQgaW50byBhIGxpc3QKICAgICAgICAgIyBpZiBpdCdzIGEgc3RyaW5nCi0gICAgICAgIGNtZCA9IGJ1aWxkX2V4dChkaXN0KQorICAgICAgICBjbWQgPSBzZWxmLmJ1aWxkX2V4dChkaXN0KQogICAgICAgICBjbWQucnBhdGggPSAnb25lJXN0d28nICUgb3MucGF0aHNlcAogICAgICAgICBjbWQuZmluYWxpemVfb3B0aW9ucygpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY21kLnJwYXRoLCBbJ29uZScsICd0d28nXSkKQEAgLTE5NiwzMiArMTk5LDMyIEBACiAKICAgICAgICAgIyBtYWtlIHN1cmUgZGVmaW5lIGlzIHR1cm5lZCBpbnRvIDItdHVwbGVzCiAgICAgICAgICMgc3RyaW5ncyBpZiB0aGV5IGFyZSAnLCctc2VwYXJhdGVkIHN0cmluZ3MKLSAgICAgICAgY21kID0gYnVpbGRfZXh0KGRpc3QpCisgICAgICAgIGNtZCA9IHNlbGYuYnVpbGRfZXh0KGRpc3QpCiAgICAgICAgIGNtZC5kZWZpbmUgPSAnb25lLHR3bycKICAgICAgICAgY21kLmZpbmFsaXplX29wdGlvbnMoKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNtZC5kZWZpbmUsIFsoJ29uZScsICcxJyksICgndHdvJywgJzEnKV0pCiAKICAgICAgICAgIyBtYWtlIHN1cmUgdW5kZWYgaXMgdHVybmVkIGludG8gYSBsaXN0IG9mCiAgICAgICAgICMgc3RyaW5ncyBpZiB0aGV5IGFyZSAnLCctc2VwYXJhdGVkIHN0cmluZ3MKLSAgICAgICAgY21kID0gYnVpbGRfZXh0KGRpc3QpCisgICAgICAgIGNtZCA9IHNlbGYuYnVpbGRfZXh0KGRpc3QpCiAgICAgICAgIGNtZC51bmRlZiA9ICdvbmUsdHdvJwogICAgICAgICBjbWQuZmluYWxpemVfb3B0aW9ucygpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY21kLnVuZGVmLCBbJ29uZScsICd0d28nXSkKIAogICAgICAgICAjIG1ha2Ugc3VyZSBzd2lnX29wdHMgaXMgdHVybmVkIGludG8gYSBsaXN0Ci0gICAgICAgIGNtZCA9IGJ1aWxkX2V4dChkaXN0KQorICAgICAgICBjbWQgPSBzZWxmLmJ1aWxkX2V4dChkaXN0KQogICAgICAgICBjbWQuc3dpZ19vcHRzID0gTm9uZQogICAgICAgICBjbWQuZmluYWxpemVfb3B0aW9ucygpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY21kLnN3aWdfb3B0cywgW10pCiAKLSAgICAgICAgY21kID0gYnVpbGRfZXh0KGRpc3QpCisgICAgICAgIGNtZCA9IHNlbGYuYnVpbGRfZXh0KGRpc3QpCiAgICAgICAgIGNtZC5zd2lnX29wdHMgPSAnMSAyJwogICAgICAgICBjbWQuZmluYWxpemVfb3B0aW9ucygpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY21kLnN3aWdfb3B0cywgWycxJywgJzInXSkKIAogICAgIGRlZiB0ZXN0X2NoZWNrX2V4dGVuc2lvbnNfbGlzdChzZWxmKToKICAgICAgICAgZGlzdCA9IERpc3RyaWJ1dGlvbigpCi0gICAgICAgIGNtZCA9IGJ1aWxkX2V4dChkaXN0KQorICAgICAgICBjbWQgPSBzZWxmLmJ1aWxkX2V4dChkaXN0KQogICAgICAgICBjbWQuZmluYWxpemVfb3B0aW9ucygpCiAKICAgICAgICAgIydleHRlbnNpb25zJyBvcHRpb24gbXVzdCBiZSBhIGxpc3Qgb2YgRXh0ZW5zaW9uIGluc3RhbmNlcwpAQCAtMjcwLDcgKzI3Myw3IEBACiAgICAgZGVmIHRlc3RfZ2V0X3NvdXJjZV9maWxlcyhzZWxmKToKICAgICAgICAgbW9kdWxlcyA9IFtFeHRlbnNpb24oJ2ZvbycsIFsneHh4J10sIG9wdGlvbmFsPUZhbHNlKV0KICAgICAgICAgZGlzdCA9IERpc3RyaWJ1dGlvbih7J25hbWUnOiAneHgnLCAnZXh0X21vZHVsZXMnOiBtb2R1bGVzfSkKLSAgICAgICAgY21kID0gYnVpbGRfZXh0KGRpc3QpCisgICAgICAgIGNtZCA9IHNlbGYuYnVpbGRfZXh0KGRpc3QpCiAgICAgICAgIGNtZC5lbnN1cmVfZmluYWxpemVkKCkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjbWQuZ2V0X3NvdXJjZV9maWxlcygpLCBbJ3h4eCddKQogCkBAIC0yNzksNyArMjgyLDcgQEAKICAgICAgICAgIyBzaG91bGQgbm90IGJlIG92ZXJyaWRlbiBieSBhIGNvbXBpbGVyIGluc3RhbmNlCiAgICAgICAgICMgd2hlbiB0aGUgY29tbWFuZCBpcyBydW4KICAgICAgICAgZGlzdCA9IERpc3RyaWJ1dGlvbigpCi0gICAgICAgIGNtZCA9IGJ1aWxkX2V4dChkaXN0KQorICAgICAgICBjbWQgPSBzZWxmLmJ1aWxkX2V4dChkaXN0KQogICAgICAgICBjbWQuY29tcGlsZXIgPSAndW5peCcKICAgICAgICAgY21kLmVuc3VyZV9maW5hbGl6ZWQoKQogICAgICAgICBjbWQucnVuKCkKQEAgLTI5Miw3ICsyOTUsNyBAQAogICAgICAgICBleHQgPSBFeHRlbnNpb24oJ2ZvbycsIFtjX2ZpbGVdLCBvcHRpb25hbD1GYWxzZSkKICAgICAgICAgZGlzdCA9IERpc3RyaWJ1dGlvbih7J25hbWUnOiAneHgnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZXh0X21vZHVsZXMnOiBbZXh0XX0pCi0gICAgICAgIGNtZCA9IGJ1aWxkX2V4dChkaXN0KQorICAgICAgICBjbWQgPSBzZWxmLmJ1aWxkX2V4dChkaXN0KQogICAgICAgICBmaXh1cF9idWlsZF9leHQoY21kKQogICAgICAgICBjbWQuZW5zdXJlX2ZpbmFsaXplZCgpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKGNtZC5nZXRfb3V0cHV0cygpKSwgMSkKQEAgLTM1NSw3ICszNTgsNyBAQAogICAgICAgICAjZXRyZWVfZXh0ID0gRXh0ZW5zaW9uKCdseG1sLmV0cmVlJywgW2V0cmVlX2NdKQogICAgICAgICAjZGlzdCA9IERpc3RyaWJ1dGlvbih7J25hbWUnOiAnbHhtbCcsICdleHRfbW9kdWxlcyc6IFtldHJlZV9leHRdfSkKICAgICAgICAgZGlzdCA9IERpc3RyaWJ1dGlvbigpCi0gICAgICAgIGNtZCA9IGJ1aWxkX2V4dChkaXN0KQorICAgICAgICBjbWQgPSBzZWxmLmJ1aWxkX2V4dChkaXN0KQogICAgICAgICBjbWQuaW5wbGFjZSA9IDEKICAgICAgICAgY21kLmRpc3RyaWJ1dGlvbi5wYWNrYWdlX2RpciA9IHsnJzogJ3NyYyd9CiAgICAgICAgIGNtZC5kaXN0cmlidXRpb24ucGFja2FnZXMgPSBbJ2x4bWwnLCAnbHhtbC5odG1sJ10KQEAgLTQ2Miw3ICs0NjUsNyBAQAogICAgICAgICAgICAgJ2V4dF9tb2R1bGVzJzogW2RlcHRhcmdldF9leHRdCiAgICAgICAgIH0pCiAgICAgICAgIGRpc3QucGFja2FnZV9kaXIgPSBzZWxmLnRtcF9kaXIKLSAgICAgICAgY21kID0gYnVpbGRfZXh0KGRpc3QpCisgICAgICAgIGNtZCA9IHNlbGYuYnVpbGRfZXh0KGRpc3QpCiAgICAgICAgIGNtZC5idWlsZF9saWIgPSBzZWxmLnRtcF9kaXIKICAgICAgICAgY21kLmJ1aWxkX3RlbXAgPSBzZWxmLnRtcF9kaXIKIApAQCAtNDgxLDggKzQ4NCwxOSBAQAogICAgICAgICAgICAgc2VsZi5mYWlsKCJXcm9uZyBkZXBsb3ltZW50IHRhcmdldCBkdXJpbmcgY29tcGlsYXRpb24iKQogCiAKK2NsYXNzIFBhcmFsbGVsQnVpbGRFeHRUZXN0Q2FzZShCdWlsZEV4dFRlc3RDYXNlKToKKworICAgIGRlZiBidWlsZF9leHQoc2VsZiwgKmFyZ3MsICoqa3dhcmdzKToKKyAgICAgICAgYnVpbGRfZXh0ID0gc3VwZXIoKS5idWlsZF9leHQoKmFyZ3MsICoqa3dhcmdzKQorICAgICAgICBidWlsZF9leHQucGFyYWxsZWwgPSBUcnVlCisgICAgICAgIHJldHVybiBidWlsZF9leHQKKworCiBkZWYgdGVzdF9zdWl0ZSgpOgotICAgIHJldHVybiB1bml0dGVzdC5tYWtlU3VpdGUoQnVpbGRFeHRUZXN0Q2FzZSkKKyAgICBzdWl0ZSA9IHVuaXR0ZXN0LlRlc3RTdWl0ZSgpCisgICAgc3VpdGUuYWRkVGVzdCh1bml0dGVzdC5tYWtlU3VpdGUoQnVpbGRFeHRUZXN0Q2FzZSkpCisgICAgc3VpdGUuYWRkVGVzdCh1bml0dGVzdC5tYWtlU3VpdGUoUGFyYWxsZWxCdWlsZEV4dFRlc3RDYXNlKSkKKyAgICByZXR1cm4gc3VpdGUKIAogaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoKLSAgICBzdXBwb3J0LnJ1bl91bml0dGVzdCh0ZXN0X3N1aXRlKCkpCisgICAgc3VwcG9ydC5ydW5fdW5pdHRlc3QoX19uYW1lX18pCmRpZmYgLS1naXQgYS9MaWIvZGlzdHV0aWxzL3Rlc3RzL3Rlc3RfaW5zdGFsbC5weSBiL0xpYi9kaXN0dXRpbHMvdGVzdHMvdGVzdF9pbnN0YWxsLnB5CmluZGV4IDE4ZTFlNTcuLjkzMTMzMzAgMTAwNjQ0Ci0tLSBhL0xpYi9kaXN0dXRpbHMvdGVzdHMvdGVzdF9pbnN0YWxsLnB5CisrKyBiL0xpYi9kaXN0dXRpbHMvdGVzdHMvdGVzdF9pbnN0YWxsLnB5CkBAIC0yMCw4ICsyMCw2IEBACiAKIAogZGVmIF9tYWtlX2V4dF9uYW1lKG1vZG5hbWUpOgotICAgIGlmIG9zLm5hbWUgPT0gJ250JyBhbmQgc3lzLmV4ZWN1dGFibGUuZW5kc3dpdGgoJ19kLmV4ZScpOgotICAgICAgICBtb2RuYW1lICs9ICdfZCcKICAgICByZXR1cm4gbW9kbmFtZSArIHN5c2NvbmZpZy5nZXRfY29uZmlnX3ZhcignRVhUX1NVRkZJWCcpCiAKIApkaWZmIC0tZ2l0IGEvTGliL2Rpc3R1dGlscy92ZXJzaW9uLnB5IGIvTGliL2Rpc3R1dGlscy92ZXJzaW9uLnB5CmluZGV4IGViY2FiODQuLmFmMTRjYzEgMTAwNjQ0Ci0tLSBhL0xpYi9kaXN0dXRpbHMvdmVyc2lvbi5weQorKysgYi9MaWIvZGlzdHV0aWxzL3ZlcnNpb24ucHkKQEAgLTQ4LDEyICs0OCw2IEBACiAgICAgICAgICAgICByZXR1cm4gYwogICAgICAgICByZXR1cm4gYyA9PSAwCiAKLSAgICBkZWYgX19uZV9fKHNlbGYsIG90aGVyKToKLSAgICAgICAgYyA9IHNlbGYuX2NtcChvdGhlcikKLSAgICAgICAgaWYgYyBpcyBOb3RJbXBsZW1lbnRlZDoKLSAgICAgICAgICAgIHJldHVybiBjCi0gICAgICAgIHJldHVybiBjICE9IDAKLQogICAgIGRlZiBfX2x0X18oc2VsZiwgb3RoZXIpOgogICAgICAgICBjID0gc2VsZi5fY21wKG90aGVyKQogICAgICAgICBpZiBjIGlzIE5vdEltcGxlbWVudGVkOgpkaWZmIC0tZ2l0IGEvTGliL2RvY3Rlc3QucHkgYi9MaWIvZG9jdGVzdC5weQppbmRleCA2NGU2ZDcxLi43ZDViY2Y0IDEwMDY0NAotLS0gYS9MaWIvZG9jdGVzdC5weQorKysgYi9MaWIvZG9jdGVzdC5weQpAQCAtNTMwLDggKzUzMCw5IEBACiAgICAgICAgICAgICBleGFtcGxlcyA9ICcxIGV4YW1wbGUnCiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICBleGFtcGxlcyA9ICclZCBleGFtcGxlcycgJSBsZW4oc2VsZi5leGFtcGxlcykKLSAgICAgICAgcmV0dXJuICgnPERvY1Rlc3QgJXMgZnJvbSAlczolcyAoJXMpPicgJQotICAgICAgICAgICAgICAgIChzZWxmLm5hbWUsIHNlbGYuZmlsZW5hbWUsIHNlbGYubGluZW5vLCBleGFtcGxlcykpCisgICAgICAgIHJldHVybiAoJzwlcyAlcyBmcm9tICVzOiVzICglcyk+JyAlCisgICAgICAgICAgICAgICAgKHNlbGYuX19jbGFzc19fLl9fbmFtZV9fLAorICAgICAgICAgICAgICAgICBzZWxmLm5hbWUsIHNlbGYuZmlsZW5hbWUsIHNlbGYubGluZW5vLCBleGFtcGxlcykpCiAKICAgICBkZWYgX19lcV9fKHNlbGYsIG90aGVyKToKICAgICAgICAgaWYgdHlwZShzZWxmKSBpcyBub3QgdHlwZShvdGhlcik6CkBAIC05NzgsNyArOTc5LDggQEAKICAgICAgICAgICAgIGZvciB2YWxuYW1lLCB2YWwgaW4gb2JqLl9fZGljdF9fLml0ZW1zKCk6CiAgICAgICAgICAgICAgICAgdmFsbmFtZSA9ICclcy4lcycgJSAobmFtZSwgdmFsbmFtZSkKICAgICAgICAgICAgICAgICAjIFJlY3Vyc2UgdG8gZnVuY3Rpb25zICYgY2xhc3Nlcy4KLSAgICAgICAgICAgICAgICBpZiAoKGluc3BlY3QuaXNyb3V0aW5lKHZhbCkgb3IgaW5zcGVjdC5pc2NsYXNzKHZhbCkpIGFuZAorICAgICAgICAgICAgICAgIGlmICgoaW5zcGVjdC5pc3JvdXRpbmUoaW5zcGVjdC51bndyYXAodmFsKSkKKyAgICAgICAgICAgICAgICAgICAgIG9yIGluc3BlY3QuaXNjbGFzcyh2YWwpKSBhbmQKICAgICAgICAgICAgICAgICAgICAgc2VsZi5fZnJvbV9tb2R1bGUobW9kdWxlLCB2YWwpKToKICAgICAgICAgICAgICAgICAgICAgc2VsZi5fZmluZCh0ZXN0cywgdmFsLCB2YWxuYW1lLCBtb2R1bGUsIHNvdXJjZV9saW5lcywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnbG9icywgc2VlbikKQEAgLTIzNjcsMTUgKzIzNjksNiBAQAogICAgICAgICBzdWl0ZSA9IF9Eb2NUZXN0U3VpdGUoKQogICAgICAgICBzdWl0ZS5hZGRUZXN0KFNraXBEb2NUZXN0Q2FzZShtb2R1bGUpKQogICAgICAgICByZXR1cm4gc3VpdGUKLSAgICBlbGlmIG5vdCB0ZXN0czoKLSAgICAgICAgIyBXaHkgZG8gd2Ugd2FudCB0byBkbyB0aGlzPyBCZWNhdXNlIGl0IHJldmVhbHMgYSBidWcgdGhhdCBtaWdodAotICAgICAgICAjIG90aGVyd2lzZSBiZSBoaWRkZW4uCi0gICAgICAgICMgSXQgaXMgcHJvYmFibHkgYSBidWcgdGhhdCB0aGlzIGV4Y2VwdGlvbiBpcyBub3QgYWxzbyByYWlzZWQgaWYgdGhlCi0gICAgICAgICMgbnVtYmVyIG9mIGRvY3Rlc3QgZXhhbXBsZXMgaW4gdGVzdHMgaXMgemVybyAoaS5lLiBpZiBubyBkb2N0ZXN0Ci0gICAgICAgICMgZXhhbXBsZXMgd2VyZSBmb3VuZCkuICBIb3dldmVyLCB3ZSBzaG91bGQgcHJvYmFibHkgbm90IGJlIHJhaXNpbmcKLSAgICAgICAgIyBhbiBleGNlcHRpb24gYXQgYWxsIGhlcmUsIHRob3VnaCBpdCBpcyB0b28gbGF0ZSB0byBtYWtlIHRoaXMgY2hhbmdlCi0gICAgICAgICMgZm9yIGEgbWFpbnRlbmFuY2UgcmVsZWFzZS4gIFNlZSBhbHNvIGlzc3VlICMxNDY0OS4KLSAgICAgICAgcmFpc2UgVmFsdWVFcnJvcihtb2R1bGUsICJoYXMgbm8gZG9jc3RyaW5ncyIpCiAKICAgICB0ZXN0cy5zb3J0KCkKICAgICBzdWl0ZSA9IF9Eb2NUZXN0U3VpdGUoKQpkaWZmIC0tZ2l0IGEvTGliL2VtYWlsL19faW5pdF9fLnB5IGIvTGliL2VtYWlsL19faW5pdF9fLnB5CmluZGV4IGZmMTZmNmEuLmZhZTg3MjQgMTAwNjQ0Ci0tLSBhL0xpYi9lbWFpbC9fX2luaXRfXy5weQorKysgYi9MaWIvZW1haWwvX19pbml0X18ucHkKQEAgLTQsOCArNCw2IEBACiAKICIiIkEgcGFja2FnZSBmb3IgcGFyc2luZywgaGFuZGxpbmcsIGFuZCBnZW5lcmF0aW5nIGVtYWlsIG1lc3NhZ2VzLiIiIgogCi1fX3ZlcnNpb25fXyA9ICc1LjEuMCcKLQogX19hbGxfXyA9IFsKICAgICAnYmFzZTY0bWltZScsCiAgICAgJ2NoYXJzZXQnLApkaWZmIC0tZ2l0IGEvTGliL2VtYWlsL2NoYXJzZXQucHkgYi9MaWIvZW1haWwvY2hhcnNldC5weQppbmRleCBlOTk5NDcyLi5lZTU2NDA0IDEwMDY0NAotLS0gYS9MaWIvZW1haWwvY2hhcnNldC5weQorKysgYi9MaWIvZW1haWwvY2hhcnNldC5weQpAQCAtMjQ5LDkgKzI0OSw2IEBACiAgICAgZGVmIF9fZXFfXyhzZWxmLCBvdGhlcik6CiAgICAgICAgIHJldHVybiBzdHIoc2VsZikgPT0gc3RyKG90aGVyKS5sb3dlcigpCiAKLSAgICBkZWYgX19uZV9fKHNlbGYsIG90aGVyKToKLSAgICAgICAgcmV0dXJuIG5vdCBzZWxmLl9fZXFfXyhvdGhlcikKLQogICAgIGRlZiBnZXRfYm9keV9lbmNvZGluZyhzZWxmKToKICAgICAgICAgIiIiUmV0dXJuIHRoZSBjb250ZW50LXRyYW5zZmVyLWVuY29kaW5nIHVzZWQgZm9yIGJvZHkgZW5jb2RpbmcuCiAKZGlmZiAtLWdpdCBhL0xpYi9lbWFpbC9oZWFkZXIucHkgYi9MaWIvZW1haWwvaGVhZGVyLnB5CmluZGV4IDljODk1ODkuLjY4MjBlYTEgMTAwNjQ0Ci0tLSBhL0xpYi9lbWFpbC9oZWFkZXIucHkKKysrIGIvTGliL2VtYWlsL2hlYWRlci5weQpAQCAtMjYyLDkgKzI2Miw2IEBACiAgICAgICAgICMgYXJncyBhbmQgZG8gYW5vdGhlciBjb21wYXJpc29uLgogICAgICAgICByZXR1cm4gb3RoZXIgPT0gc3RyKHNlbGYpCiAKLSAgICBkZWYgX19uZV9fKHNlbGYsIG90aGVyKToKLSAgICAgICAgcmV0dXJuIG5vdCBzZWxmID09IG90aGVyCi0KICAgICBkZWYgYXBwZW5kKHNlbGYsIHMsIGNoYXJzZXQ9Tm9uZSwgZXJyb3JzPSdzdHJpY3QnKToKICAgICAgICAgIiIiQXBwZW5kIGEgc3RyaW5nIHRvIHRoZSBNSU1FIGhlYWRlci4KIApkaWZmIC0tZ2l0IGEvTGliL2VtYWlsL2hlYWRlcnJlZ2lzdHJ5LnB5IGIvTGliL2VtYWlsL2hlYWRlcnJlZ2lzdHJ5LnB5CmluZGV4IDkxMWEyYWYuLjQ2OGNhOWUgMTAwNjQ0Ci0tLSBhL0xpYi9lbWFpbC9oZWFkZXJyZWdpc3RyeS5weQorKysgYi9MaWIvZW1haWwvaGVhZGVycmVnaXN0cnkucHkKQEAgLTgxLDcgKzgxLDggQEAKICAgICAgICAgcmV0dXJuIGxwCiAKICAgICBkZWYgX19yZXByX18oc2VsZik6Ci0gICAgICAgIHJldHVybiAiQWRkcmVzcyhkaXNwbGF5X25hbWU9eyFyfSwgdXNlcm5hbWU9eyFyfSwgZG9tYWluPXshcn0pIi5mb3JtYXQoCisgICAgICAgIHJldHVybiAie30oZGlzcGxheV9uYW1lPXshcn0sIHVzZXJuYW1lPXshcn0sIGRvbWFpbj17IXJ9KSIuZm9ybWF0KAorICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fX2NsYXNzX18uX19uYW1lX18sCiAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmRpc3BsYXlfbmFtZSwgc2VsZi51c2VybmFtZSwgc2VsZi5kb21haW4pCiAKICAgICBkZWYgX19zdHJfXyhzZWxmKToKQEAgLTEzMiw3ICsxMzMsOCBAQAogICAgICAgICByZXR1cm4gc2VsZi5fYWRkcmVzc2VzCiAKICAgICBkZWYgX19yZXByX18oc2VsZik6Ci0gICAgICAgIHJldHVybiAiR3JvdXAoZGlzcGxheV9uYW1lPXshcn0sIGFkZHJlc3Nlcz17IXJ9Ii5mb3JtYXQoCisgICAgICAgIHJldHVybiAie30oZGlzcGxheV9uYW1lPXshcn0sIGFkZHJlc3Nlcz17IXJ9Ii5mb3JtYXQoCisgICAgICAgICAgICAgICAgIHNlbGYuX19jbGFzc19fLl9fbmFtZV9fLAogICAgICAgICAgICAgICAgICBzZWxmLmRpc3BsYXlfbmFtZSwgc2VsZi5hZGRyZXNzZXMpCiAKICAgICBkZWYgX19zdHJfXyhzZWxmKToKZGlmZiAtLWdpdCBhL0xpYi9lbWFpbC9tZXNzYWdlLnB5IGIvTGliL2VtYWlsL21lc3NhZ2UucHkKaW5kZXggMmYzN2RiYi4uM2QzMTM4ZiAxMDA2NDQKLS0tIGEvTGliL2VtYWlsL21lc3NhZ2UucHkKKysrIGIvTGliL2VtYWlsL21lc3NhZ2UucHkKQEAgLTkzMCwxNyArOTMwLDYgQEAKICAgICAjIEkuZS4gZGVmIHdhbGsoc2VsZik6IC4uLgogICAgIGZyb20gZW1haWwuaXRlcmF0b3JzIGltcG9ydCB3YWxrCiAKLSMgWFhYIFN1cHBvcnQgZm9yIHRlbXBvcmFyeSBkZXByZWNhdGlvbiBoYWNrIGZvciBpc19hdHRhY2htZW50IHByb3BlcnR5LgotY2xhc3MgX0lzQXR0YWNobWVudDoKLSAgICBkZWYgX19pbml0X18oc2VsZiwgdmFsdWUpOgotICAgICAgICBzZWxmLnZhbHVlID0gdmFsdWUKLSAgICBkZWYgX19jYWxsX18oc2VsZik6Ci0gICAgICAgIHJldHVybiBzZWxmLnZhbHVlCi0gICAgZGVmIF9fYm9vbF9fKHNlbGYpOgotICAgICAgICB3YXJuaW5ncy53YXJuKCJpc19hdHRhY2htZW50IHdpbGwgYmUgYSBtZXRob2QsIG5vdCBhIHByb3BlcnR5LCBpbiAzLjUiLAotICAgICAgICAgICAgICAgICAgICAgIERlcHJlY2F0aW9uV2FybmluZywKLSAgICAgICAgICAgICAgICAgICAgICBzdGFja2xldmVsPTMpCi0gICAgICAgIHJldHVybiBzZWxmLnZhbHVlCiAKIGNsYXNzIE1JTUVQYXJ0KE1lc3NhZ2UpOgogCkBAIC05NTAsMTIgKzkzOSw5IEBACiAgICAgICAgICAgICBwb2xpY3kgPSBkZWZhdWx0CiAgICAgICAgIE1lc3NhZ2UuX19pbml0X18oc2VsZiwgcG9saWN5KQogCi0gICAgQHByb3BlcnR5CiAgICAgZGVmIGlzX2F0dGFjaG1lbnQoc2VsZik6CiAgICAgICAgIGNfZCA9IHNlbGYuZ2V0KCdjb250ZW50LWRpc3Bvc2l0aW9uJykKLSAgICAgICAgcmVzdWx0ID0gRmFsc2UgaWYgY19kIGlzIE5vbmUgZWxzZSBjX2QuY29udGVudF9kaXNwb3NpdGlvbiA9PSAnYXR0YWNobWVudCcKLSAgICAgICAgIyBYWFggdHJhbnNpdGlvbmFsIGhhY2sgdG8gcmFpc2UgZGVwcmVjYXRpb24gaWYgbm90IGNhbGxlZC4KLSAgICAgICAgcmV0dXJuIF9Jc0F0dGFjaG1lbnQocmVzdWx0KQorICAgICAgICByZXR1cm4gRmFsc2UgaWYgY19kIGlzIE5vbmUgZWxzZSBjX2QuY29udGVudF9kaXNwb3NpdGlvbiA9PSAnYXR0YWNobWVudCcKIAogICAgIGRlZiBfZmluZF9ib2R5KHNlbGYsIHBhcnQsIHByZWZlcmVuY2VsaXN0KToKICAgICAgICAgaWYgcGFydC5pc19hdHRhY2htZW50KCk6CmRpZmYgLS1naXQgYS9MaWIvZW1haWwvbWltZS90ZXh0LnB5IGIvTGliL2VtYWlsL21pbWUvdGV4dC5weQppbmRleCBlYzE4Yjg1Li40Nzk5MjhlIDEwMDY0NAotLS0gYS9MaWIvZW1haWwvbWltZS90ZXh0LnB5CisrKyBiL0xpYi9lbWFpbC9taW1lL3RleHQucHkKQEAgLTYsNiArNiw3IEBACiAKIF9fYWxsX18gPSBbJ01JTUVUZXh0J10KIAorZnJvbSBlbWFpbC5jaGFyc2V0IGltcG9ydCBDaGFyc2V0CiBmcm9tIGVtYWlsLm1pbWUubm9ubXVsdGlwYXJ0IGltcG9ydCBNSU1FTm9uTXVsdGlwYXJ0CiAKIApAQCAtMzQsNiArMzUsOCBAQAogICAgICAgICAgICAgICAgIF9jaGFyc2V0ID0gJ3VzLWFzY2lpJwogICAgICAgICAgICAgZXhjZXB0IFVuaWNvZGVFbmNvZGVFcnJvcjoKICAgICAgICAgICAgICAgICBfY2hhcnNldCA9ICd1dGYtOCcKKyAgICAgICAgaWYgaXNpbnN0YW5jZShfY2hhcnNldCwgQ2hhcnNldCk6CisgICAgICAgICAgICBfY2hhcnNldCA9IHN0cihfY2hhcnNldCkKIAogICAgICAgICBNSU1FTm9uTXVsdGlwYXJ0Ll9faW5pdF9fKHNlbGYsICd0ZXh0JywgX3N1YnR5cGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKip7J2NoYXJzZXQnOiBfY2hhcnNldH0pCmRpZmYgLS1naXQgYS9MaWIvZW5jb2RpbmdzL2NwNjUwMDEucHkgYi9MaWIvZW5jb2RpbmdzL2NwNjUwMDEucHkKaW5kZXggMjg3ZWI4Ny4uOTVjYjJhZSAxMDA2NDQKLS0tIGEvTGliL2VuY29kaW5ncy9jcDY1MDAxLnB5CisrKyBiL0xpYi9lbmNvZGluZ3MvY3A2NTAwMS5weQpAQCAtMTEsMjAgKzExLDIzIEBACiAjIyMgQ29kZWMgQVBJcwogCiBlbmNvZGUgPSBmdW5jdG9vbHMucGFydGlhbChjb2RlY3MuY29kZV9wYWdlX2VuY29kZSwgNjUwMDEpCi1kZWNvZGUgPSBmdW5jdG9vbHMucGFydGlhbChjb2RlY3MuY29kZV9wYWdlX2RlY29kZSwgNjUwMDEpCitfZGVjb2RlID0gZnVuY3Rvb2xzLnBhcnRpYWwoY29kZWNzLmNvZGVfcGFnZV9kZWNvZGUsIDY1MDAxKQorCitkZWYgZGVjb2RlKGlucHV0LCBlcnJvcnM9J3N0cmljdCcpOgorICAgIHJldHVybiBjb2RlY3MuY29kZV9wYWdlX2RlY29kZSg2NTAwMSwgaW5wdXQsIGVycm9ycywgVHJ1ZSkKIAogY2xhc3MgSW5jcmVtZW50YWxFbmNvZGVyKGNvZGVjcy5JbmNyZW1lbnRhbEVuY29kZXIpOgogICAgIGRlZiBlbmNvZGUoc2VsZiwgaW5wdXQsIGZpbmFsPUZhbHNlKToKICAgICAgICAgcmV0dXJuIGVuY29kZShpbnB1dCwgc2VsZi5lcnJvcnMpWzBdCiAKIGNsYXNzIEluY3JlbWVudGFsRGVjb2Rlcihjb2RlY3MuQnVmZmVyZWRJbmNyZW1lbnRhbERlY29kZXIpOgotICAgIF9idWZmZXJfZGVjb2RlID0gZGVjb2RlCisgICAgX2J1ZmZlcl9kZWNvZGUgPSBfZGVjb2RlCiAKIGNsYXNzIFN0cmVhbVdyaXRlcihjb2RlY3MuU3RyZWFtV3JpdGVyKToKICAgICBlbmNvZGUgPSBlbmNvZGUKIAogY2xhc3MgU3RyZWFtUmVhZGVyKGNvZGVjcy5TdHJlYW1SZWFkZXIpOgotICAgIGRlY29kZSA9IGRlY29kZQorICAgIGRlY29kZSA9IF9kZWNvZGUKIAogIyMjIGVuY29kaW5ncyBtb2R1bGUgQVBJCiAKZGlmZiAtLWdpdCBhL0xpYi9lbnVtLnB5IGIvTGliL2VudW0ucHkKaW5kZXggOWIxOWMxZC4uZDc0NGY4ZiAxMDA2NDQKLS0tIGEvTGliL2VudW0ucHkKKysrIGIvTGliL2VudW0ucHkKQEAgLTE5Myw3ICsxOTMsNyBAQAogICAgICAgICAgICAgZW51bV9jbGFzcy5fX25ld19fID0gRW51bS5fX25ld19fCiAgICAgICAgIHJldHVybiBlbnVtX2NsYXNzCiAKLSAgICBkZWYgX19jYWxsX18oY2xzLCB2YWx1ZSwgbmFtZXM9Tm9uZSwgKiwgbW9kdWxlPU5vbmUsIHF1YWxuYW1lPU5vbmUsIHR5cGU9Tm9uZSk6CisgICAgZGVmIF9fY2FsbF9fKGNscywgdmFsdWUsIG5hbWVzPU5vbmUsICosIG1vZHVsZT1Ob25lLCBxdWFsbmFtZT1Ob25lLCB0eXBlPU5vbmUsIHN0YXJ0PTEpOgogICAgICAgICAiIiJFaXRoZXIgcmV0dXJucyBhbiBleGlzdGluZyBtZW1iZXIsIG9yIGNyZWF0ZXMgYSBuZXcgZW51bSBjbGFzcy4KIAogICAgICAgICBUaGlzIG1ldGhvZCBpcyB1c2VkIGJvdGggd2hlbiBhbiBlbnVtIGNsYXNzIGlzIGdpdmVuIGEgdmFsdWUgdG8gbWF0Y2gKQEAgLTIwNSw3ICsyMDUsNyBAQAogICAgICAgICBgdmFsdWVgIHdpbGwgYmUgdGhlIG5hbWUgb2YgdGhlIG5ldyBjbGFzcy4KIAogICAgICAgICBgbmFtZXNgIHNob3VsZCBiZSBlaXRoZXIgYSBzdHJpbmcgb2Ygd2hpdGUtc3BhY2UvY29tbWEgZGVsaW1pdGVkIG5hbWVzCi0gICAgICAgICh2YWx1ZXMgd2lsbCBzdGFydCBhdCAxKSwgb3IgYW4gaXRlcmF0b3IvbWFwcGluZyBvZiBuYW1lLCB2YWx1ZSBwYWlycy4KKyAgICAgICAgKHZhbHVlcyB3aWxsIHN0YXJ0IGF0IGBzdGFydGApLCBvciBhbiBpdGVyYXRvci9tYXBwaW5nIG9mIG5hbWUsIHZhbHVlIHBhaXJzLgogCiAgICAgICAgIGBtb2R1bGVgIHNob3VsZCBiZSBzZXQgdG8gdGhlIG1vZHVsZSB0aGlzIGNsYXNzIGlzIGJlaW5nIGNyZWF0ZWQgaW47CiAgICAgICAgIGlmIGl0IGlzIG5vdCBzZXQsIGFuIGF0dGVtcHQgdG8gZmluZCB0aGF0IG1vZHVsZSB3aWxsIGJlIG1hZGUsIGJ1dCBpZgpAQCAtMjIxLDcgKzIyMSw3IEBACiAgICAgICAgIGlmIG5hbWVzIGlzIE5vbmU6ICAjIHNpbXBsZSB2YWx1ZSBsb29rdXAKICAgICAgICAgICAgIHJldHVybiBjbHMuX19uZXdfXyhjbHMsIHZhbHVlKQogICAgICAgICAjIG90aGVyd2lzZSwgZnVuY3Rpb25hbCBBUEk6IHdlJ3JlIGNyZWF0aW5nIGEgbmV3IEVudW0gdHlwZQotICAgICAgICByZXR1cm4gY2xzLl9jcmVhdGVfKHZhbHVlLCBuYW1lcywgbW9kdWxlPW1vZHVsZSwgcXVhbG5hbWU9cXVhbG5hbWUsIHR5cGU9dHlwZSkKKyAgICAgICAgcmV0dXJuIGNscy5fY3JlYXRlXyh2YWx1ZSwgbmFtZXMsIG1vZHVsZT1tb2R1bGUsIHF1YWxuYW1lPXF1YWxuYW1lLCB0eXBlPXR5cGUsIHN0YXJ0PXN0YXJ0KQogCiAgICAgZGVmIF9fY29udGFpbnNfXyhjbHMsIG1lbWJlcik6CiAgICAgICAgIHJldHVybiBpc2luc3RhbmNlKG1lbWJlciwgY2xzKSBhbmQgbWVtYmVyLl9uYW1lXyBpbiBjbHMuX21lbWJlcl9tYXBfCkBAIC0yOTIsMTYgKzI5MiwxNiBAQAogICAgICAgICAgICAgcmFpc2UgQXR0cmlidXRlRXJyb3IoJ0Nhbm5vdCByZWFzc2lnbiBtZW1iZXJzLicpCiAgICAgICAgIHN1cGVyKCkuX19zZXRhdHRyX18obmFtZSwgdmFsdWUpCiAKLSAgICBkZWYgX2NyZWF0ZV8oY2xzLCBjbGFzc19uYW1lLCBuYW1lcz1Ob25lLCAqLCBtb2R1bGU9Tm9uZSwgcXVhbG5hbWU9Tm9uZSwgdHlwZT1Ob25lKToKKyAgICBkZWYgX2NyZWF0ZV8oY2xzLCBjbGFzc19uYW1lLCBuYW1lcz1Ob25lLCAqLCBtb2R1bGU9Tm9uZSwgcXVhbG5hbWU9Tm9uZSwgdHlwZT1Ob25lLCBzdGFydD0xKToKICAgICAgICAgIiIiQ29udmVuaWVuY2UgbWV0aG9kIHRvIGNyZWF0ZSBhIG5ldyBFbnVtIGNsYXNzLgogCiAgICAgICAgIGBuYW1lc2AgY2FuIGJlOgogCiAgICAgICAgICogQSBzdHJpbmcgY29udGFpbmluZyBtZW1iZXIgbmFtZXMsIHNlcGFyYXRlZCBlaXRoZXIgd2l0aCBzcGFjZXMgb3IKLSAgICAgICAgICBjb21tYXMuICBWYWx1ZXMgYXJlIGF1dG8tbnVtYmVyZWQgZnJvbSAxLgotICAgICAgICAqIEFuIGl0ZXJhYmxlIG9mIG1lbWJlciBuYW1lcy4gIFZhbHVlcyBhcmUgYXV0by1udW1iZXJlZCBmcm9tIDEuCisgICAgICAgICAgY29tbWFzLiAgVmFsdWVzIGFyZSBpbmNyZW1lbnRlZCBieSAxIGZyb20gYHN0YXJ0YC4KKyAgICAgICAgKiBBbiBpdGVyYWJsZSBvZiBtZW1iZXIgbmFtZXMuICBWYWx1ZXMgYXJlIGluY3JlbWVudGVkIGJ5IDEgZnJvbSBgc3RhcnRgLgogICAgICAgICAqIEFuIGl0ZXJhYmxlIG9mIChtZW1iZXIgbmFtZSwgdmFsdWUpIHBhaXJzLgotICAgICAgICAqIEEgbWFwcGluZyBvZiBtZW1iZXIgbmFtZSAtPiB2YWx1ZS4KKyAgICAgICAgKiBBIG1hcHBpbmcgb2YgbWVtYmVyIG5hbWUgLT4gdmFsdWUgcGFpcnMuCiAKICAgICAgICAgIiIiCiAgICAgICAgIG1ldGFjbHMgPSBjbHMuX19jbGFzc19fCkBAIC0zMTIsNyArMzEyLDcgQEAKICAgICAgICAgaWYgaXNpbnN0YW5jZShuYW1lcywgc3RyKToKICAgICAgICAgICAgIG5hbWVzID0gbmFtZXMucmVwbGFjZSgnLCcsICcgJykuc3BsaXQoKQogICAgICAgICBpZiBpc2luc3RhbmNlKG5hbWVzLCAodHVwbGUsIGxpc3QpKSBhbmQgaXNpbnN0YW5jZShuYW1lc1swXSwgc3RyKToKLSAgICAgICAgICAgIG5hbWVzID0gWyhlLCBpKSBmb3IgKGksIGUpIGluIGVudW1lcmF0ZShuYW1lcywgMSldCisgICAgICAgICAgICBuYW1lcyA9IFsoZSwgaSkgZm9yIChpLCBlKSBpbiBlbnVtZXJhdGUobmFtZXMsIHN0YXJ0KV0KIAogICAgICAgICAjIEhlcmUsIG5hbWVzIGlzIGVpdGhlciBhbiBpdGVyYWJsZSBvZiAobmFtZSwgdmFsdWUpIG9yIGEgbWFwcGluZy4KICAgICAgICAgZm9yIGl0ZW0gaW4gbmFtZXM6CkBAIC00NzAsOCArNDcwLDcgQEAKICAgICAgICAgICAgICAgICBmb3IgbSBpbiBjbHMuX19kaWN0X18KICAgICAgICAgICAgICAgICBpZiBtWzBdICE9ICdfJwogICAgICAgICAgICAgICAgIF0KLSAgICAgICAgcmV0dXJuIChbJ19fY2xhc3NfXycsICdfX2RvY19fJywgJ19fbW9kdWxlX18nLCAnbmFtZScsICd2YWx1ZSddICsKLSAgICAgICAgICAgICAgICBhZGRlZF9iZWhhdmlvcikKKyAgICAgICAgcmV0dXJuIChbJ19fY2xhc3NfXycsICdfX2RvY19fJywgJ19fbW9kdWxlX18nXSArIGFkZGVkX2JlaGF2aW9yKQogCiAgICAgZGVmIF9fZm9ybWF0X18oc2VsZiwgZm9ybWF0X3NwZWMpOgogICAgICAgICAjIG1peGVkLWluIEVudW1zIHNob3VsZCB1c2UgdGhlIG1peGVkLWluIHR5cGUncyBfX2Zvcm1hdF9fLCBvdGhlcndpc2UKZGlmZiAtLWdpdCBhL0xpYi9mb3JtYXR0ZXIucHkgYi9MaWIvZm9ybWF0dGVyLnB5CmluZGV4IDkzMzgyNjEuLmNjMmY0YWQgMTAwNjQ0Ci0tLSBhL0xpYi9mb3JtYXR0ZXIucHkKKysrIGIvTGliL2Zvcm1hdHRlci5weQpAQCAtMjEsNyArMjEsNyBAQAogaW1wb3J0IHN5cwogaW1wb3J0IHdhcm5pbmdzCiB3YXJuaW5ncy53YXJuKCd0aGUgZm9ybWF0dGVyIG1vZHVsZSBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gJwotICAgICAgICAgICAgICAnUHl0aG9uIDMuNicsIFBlbmRpbmdEZXByZWNhdGlvbldhcm5pbmcpCisgICAgICAgICAgICAgICdQeXRob24gMy42JywgRGVwcmVjYXRpb25XYXJuaW5nKQogCiAKIEFTX0lTID0gTm9uZQpkaWZmIC0tZ2l0IGEvTGliL2ZyYWN0aW9ucy5weSBiL0xpYi9mcmFjdGlvbnMucHkKaW5kZXggNzllODNmZi4uNWRkYzg0YyAxMDA2NDQKLS0tIGEvTGliL2ZyYWN0aW9ucy5weQorKysgYi9MaWIvZnJhY3Rpb25zLnB5CkBAIC03MCw3ICs3MCw3IEBACiAgICAgX19zbG90c19fID0gKCdfbnVtZXJhdG9yJywgJ19kZW5vbWluYXRvcicpCiAKICAgICAjIFdlJ3JlIGltbXV0YWJsZSwgc28gdXNlIF9fbmV3X18gbm90IF9faW5pdF9fCi0gICAgZGVmIF9fbmV3X18oY2xzLCBudW1lcmF0b3I9MCwgZGVub21pbmF0b3I9Tm9uZSk6CisgICAgZGVmIF9fbmV3X18oY2xzLCBudW1lcmF0b3I9MCwgZGVub21pbmF0b3I9Tm9uZSwgX25vcm1hbGl6ZT1UcnVlKToKICAgICAgICAgIiIiQ29uc3RydWN0cyBhIFJhdGlvbmFsLgogCiAgICAgICAgIFRha2VzIGEgc3RyaW5nIGxpa2UgJzMvMicgb3IgJzEuNScsIGFub3RoZXIgUmF0aW9uYWwgaW5zdGFuY2UsIGEKQEAgLTEwNCw3ICsxMDQsMTIgQEAKICAgICAgICAgc2VsZiA9IHN1cGVyKEZyYWN0aW9uLCBjbHMpLl9fbmV3X18oY2xzKQogCiAgICAgICAgIGlmIGRlbm9taW5hdG9yIGlzIE5vbmU6Ci0gICAgICAgICAgICBpZiBpc2luc3RhbmNlKG51bWVyYXRvciwgbnVtYmVycy5SYXRpb25hbCk6CisgICAgICAgICAgICBpZiB0eXBlKG51bWVyYXRvcikgaXMgaW50OgorICAgICAgICAgICAgICAgIHNlbGYuX251bWVyYXRvciA9IG51bWVyYXRvcgorICAgICAgICAgICAgICAgIHNlbGYuX2Rlbm9taW5hdG9yID0gMQorICAgICAgICAgICAgICAgIHJldHVybiBzZWxmCisKKyAgICAgICAgICAgIGVsaWYgaXNpbnN0YW5jZShudW1lcmF0b3IsIG51bWJlcnMuUmF0aW9uYWwpOgogICAgICAgICAgICAgICAgIHNlbGYuX251bWVyYXRvciA9IG51bWVyYXRvci5udW1lcmF0b3IKICAgICAgICAgICAgICAgICBzZWxmLl9kZW5vbWluYXRvciA9IG51bWVyYXRvci5kZW5vbWluYXRvcgogICAgICAgICAgICAgICAgIHJldHVybiBzZWxmCkBAIC0xNTMsNiArMTU4LDkgQEAKICAgICAgICAgICAgICAgICByYWlzZSBUeXBlRXJyb3IoImFyZ3VtZW50IHNob3VsZCBiZSBhIHN0cmluZyAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvciBhIFJhdGlvbmFsIGluc3RhbmNlIikKIAorICAgICAgICBlbGlmIHR5cGUobnVtZXJhdG9yKSBpcyBpbnQgaXMgdHlwZShkZW5vbWluYXRvcik6CisgICAgICAgICAgICBwYXNzICAjICp2ZXJ5KiBub3JtYWwgY2FzZQorCiAgICAgICAgIGVsaWYgKGlzaW5zdGFuY2UobnVtZXJhdG9yLCBudW1iZXJzLlJhdGlvbmFsKSBhbmQKICAgICAgICAgICAgIGlzaW5zdGFuY2UoZGVub21pbmF0b3IsIG51bWJlcnMuUmF0aW9uYWwpKToKICAgICAgICAgICAgIG51bWVyYXRvciwgZGVub21pbmF0b3IgPSAoCkBAIC0xNjUsOSArMTczLDEyIEBACiAKICAgICAgICAgaWYgZGVub21pbmF0b3IgPT0gMDoKICAgICAgICAgICAgIHJhaXNlIFplcm9EaXZpc2lvbkVycm9yKCdGcmFjdGlvbiglcywgMCknICUgbnVtZXJhdG9yKQotICAgICAgICBnID0gZ2NkKG51bWVyYXRvciwgZGVub21pbmF0b3IpCi0gICAgICAgIHNlbGYuX251bWVyYXRvciA9IG51bWVyYXRvciAvLyBnCi0gICAgICAgIHNlbGYuX2Rlbm9taW5hdG9yID0gZGVub21pbmF0b3IgLy8gZworICAgICAgICBpZiBfbm9ybWFsaXplOgorICAgICAgICAgICAgZyA9IGdjZChudW1lcmF0b3IsIGRlbm9taW5hdG9yKQorICAgICAgICAgICAgbnVtZXJhdG9yIC8vPSBnCisgICAgICAgICAgICBkZW5vbWluYXRvciAvLz0gZworICAgICAgICBzZWxmLl9udW1lcmF0b3IgPSBudW1lcmF0b3IKKyAgICAgICAgc2VsZi5fZGVub21pbmF0b3IgPSBkZW5vbWluYXRvcgogICAgICAgICByZXR1cm4gc2VsZgogCiAgICAgQGNsYXNzbWV0aG9kCkBAIC0yNzcsNyArMjg4LDggQEAKIAogICAgIGRlZiBfX3JlcHJfXyhzZWxmKToKICAgICAgICAgIiIicmVwcihzZWxmKSIiIgotICAgICAgICByZXR1cm4gKCdGcmFjdGlvbiglcywgJXMpJyAlIChzZWxmLl9udW1lcmF0b3IsIHNlbGYuX2Rlbm9taW5hdG9yKSkKKyAgICAgICAgcmV0dXJuICclcyglcywgJXMpJyAlIChzZWxmLl9fY2xhc3NfXy5fX25hbWVfXywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9udW1lcmF0b3IsIHNlbGYuX2Rlbm9taW5hdG9yKQogCiAgICAgZGVmIF9fc3RyX18oc2VsZik6CiAgICAgICAgICIiInN0cihzZWxmKSIiIgpAQCAtMzk1LDE3ICs0MDcsMTcgQEAKIAogICAgIGRlZiBfYWRkKGEsIGIpOgogICAgICAgICAiIiJhICsgYiIiIgotICAgICAgICByZXR1cm4gRnJhY3Rpb24oYS5udW1lcmF0b3IgKiBiLmRlbm9taW5hdG9yICsKLSAgICAgICAgICAgICAgICAgICAgICAgIGIubnVtZXJhdG9yICogYS5kZW5vbWluYXRvciwKLSAgICAgICAgICAgICAgICAgICAgICAgIGEuZGVub21pbmF0b3IgKiBiLmRlbm9taW5hdG9yKQorICAgICAgICBkYSwgZGIgPSBhLmRlbm9taW5hdG9yLCBiLmRlbm9taW5hdG9yCisgICAgICAgIHJldHVybiBGcmFjdGlvbihhLm51bWVyYXRvciAqIGRiICsgYi5udW1lcmF0b3IgKiBkYSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGRhICogZGIpCiAKICAgICBfX2FkZF9fLCBfX3JhZGRfXyA9IF9vcGVyYXRvcl9mYWxsYmFja3MoX2FkZCwgb3BlcmF0b3IuYWRkKQogCiAgICAgZGVmIF9zdWIoYSwgYik6CiAgICAgICAgICIiImEgLSBiIiIiCi0gICAgICAgIHJldHVybiBGcmFjdGlvbihhLm51bWVyYXRvciAqIGIuZGVub21pbmF0b3IgLQotICAgICAgICAgICAgICAgICAgICAgICAgYi5udW1lcmF0b3IgKiBhLmRlbm9taW5hdG9yLAotICAgICAgICAgICAgICAgICAgICAgICAgYS5kZW5vbWluYXRvciAqIGIuZGVub21pbmF0b3IpCisgICAgICAgIGRhLCBkYiA9IGEuZGVub21pbmF0b3IsIGIuZGVub21pbmF0b3IKKyAgICAgICAgcmV0dXJuIEZyYWN0aW9uKGEubnVtZXJhdG9yICogZGIgLSBiLm51bWVyYXRvciAqIGRhLAorICAgICAgICAgICAgICAgICAgICAgICAgZGEgKiBkYikKIAogICAgIF9fc3ViX18sIF9fcnN1Yl9fID0gX29wZXJhdG9yX2ZhbGxiYWNrcyhfc3ViLCBvcGVyYXRvci5zdWIpCiAKQEAgLTQ1MywxMCArNDY1LDEyIEBACiAgICAgICAgICAgICAgICAgcG93ZXIgPSBiLm51bWVyYXRvcgogICAgICAgICAgICAgICAgIGlmIHBvd2VyID49IDA6CiAgICAgICAgICAgICAgICAgICAgIHJldHVybiBGcmFjdGlvbihhLl9udW1lcmF0b3IgKiogcG93ZXIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhLl9kZW5vbWluYXRvciAqKiBwb3dlcikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGEuX2Rlbm9taW5hdG9yICoqIHBvd2VyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX25vcm1hbGl6ZT1GYWxzZSkKICAgICAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgICAgICByZXR1cm4gRnJhY3Rpb24oYS5fZGVub21pbmF0b3IgKiogLXBvd2VyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYS5fbnVtZXJhdG9yICoqIC1wb3dlcikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGEuX251bWVyYXRvciAqKiAtcG93ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfbm9ybWFsaXplPUZhbHNlKQogICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICAjIEEgZnJhY3Rpb25hbCBwb3dlciB3aWxsIGdlbmVyYWxseSBwcm9kdWNlIGFuCiAgICAgICAgICAgICAgICAgIyBpcnJhdGlvbmFsIG51bWJlci4KQEAgLTQ4MCwxNSArNDk0LDE1IEBACiAKICAgICBkZWYgX19wb3NfXyhhKToKICAgICAgICAgIiIiK2E6IENvZXJjZXMgYSBzdWJjbGFzcyBpbnN0YW5jZSB0byBGcmFjdGlvbiIiIgotICAgICAgICByZXR1cm4gRnJhY3Rpb24oYS5fbnVtZXJhdG9yLCBhLl9kZW5vbWluYXRvcikKKyAgICAgICAgcmV0dXJuIEZyYWN0aW9uKGEuX251bWVyYXRvciwgYS5fZGVub21pbmF0b3IsIF9ub3JtYWxpemU9RmFsc2UpCiAKICAgICBkZWYgX19uZWdfXyhhKToKICAgICAgICAgIiIiLWEiIiIKLSAgICAgICAgcmV0dXJuIEZyYWN0aW9uKC1hLl9udW1lcmF0b3IsIGEuX2Rlbm9taW5hdG9yKQorICAgICAgICByZXR1cm4gRnJhY3Rpb24oLWEuX251bWVyYXRvciwgYS5fZGVub21pbmF0b3IsIF9ub3JtYWxpemU9RmFsc2UpCiAKICAgICBkZWYgX19hYnNfXyhhKToKICAgICAgICAgIiIiYWJzKGEpIiIiCi0gICAgICAgIHJldHVybiBGcmFjdGlvbihhYnMoYS5fbnVtZXJhdG9yKSwgYS5fZGVub21pbmF0b3IpCisgICAgICAgIHJldHVybiBGcmFjdGlvbihhYnMoYS5fbnVtZXJhdG9yKSwgYS5fZGVub21pbmF0b3IsIF9ub3JtYWxpemU9RmFsc2UpCiAKICAgICBkZWYgX190cnVuY19fKGEpOgogICAgICAgICAiIiJ0cnVuYyhhKSIiIgpAQCAtNTU1LDYgKzU2OSw4IEBACiAKICAgICBkZWYgX19lcV9fKGEsIGIpOgogICAgICAgICAiIiJhID09IGIiIiIKKyAgICAgICAgaWYgdHlwZShiKSBpcyBpbnQ6CisgICAgICAgICAgICByZXR1cm4gYS5fbnVtZXJhdG9yID09IGIgYW5kIGEuX2Rlbm9taW5hdG9yID09IDEKICAgICAgICAgaWYgaXNpbnN0YW5jZShiLCBudW1iZXJzLlJhdGlvbmFsKToKICAgICAgICAgICAgIHJldHVybiAoYS5fbnVtZXJhdG9yID09IGIubnVtZXJhdG9yIGFuZAogICAgICAgICAgICAgICAgICAgICBhLl9kZW5vbWluYXRvciA9PSBiLmRlbm9taW5hdG9yKQpkaWZmIC0tZ2l0IGEvTGliL2Z0cGxpYi5weSBiL0xpYi9mdHBsaWIucHkKaW5kZXggY2Q4YzFhOS4uMTM1ZWM5YyAxMDA2NDQKLS0tIGEvTGliL2Z0cGxpYi5weQorKysgYi9MaWIvZnRwbGliLnB5CkBAIC00Miw3ICs0Miw3IEBACiBpbXBvcnQgd2FybmluZ3MKIGZyb20gc29ja2V0IGltcG9ydCBfR0xPQkFMX0RFRkFVTFRfVElNRU9VVAogCi1fX2FsbF9fID0gWyJGVFAiLCAiTmV0cmMiXQorX19hbGxfXyA9IFsiRlRQIl0KIAogIyBNYWdpYyBudW1iZXIgZnJvbSA8c29ja2V0Lmg+CiBNU0dfT09CID0gMHgxICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBQcm9jZXNzIGRhdGEgb3V0IG9mIGJhbmQKQEAgLTkxOCwxMTUgKzkxOCw2IEBACiAgICAgdGFyZ2V0LnZvaWRyZXNwKCkKIAogCi1jbGFzcyBOZXRyYzoKLSAgICAiIiJDbGFzcyB0byBwYXJzZSAmIHByb3ZpZGUgYWNjZXNzIHRvICduZXRyYycgZm9ybWF0IGZpbGVzLgotCi0gICAgU2VlIHRoZSBuZXRyYyg0KSBtYW4gcGFnZSBmb3IgaW5mb3JtYXRpb24gb24gdGhlIGZpbGUgZm9ybWF0LgotCi0gICAgV0FSTklORzogVGhpcyBjbGFzcyBpcyBvYnNvbGV0ZSAtLSB1c2UgbW9kdWxlIG5ldHJjIGluc3RlYWQuCi0KLSAgICAiIiIKLSAgICBfX2RlZnVzZXIgPSBOb25lCi0gICAgX19kZWZwYXNzd2QgPSBOb25lCi0gICAgX19kZWZhY2N0ID0gTm9uZQotCi0gICAgZGVmIF9faW5pdF9fKHNlbGYsIGZpbGVuYW1lPU5vbmUpOgotICAgICAgICB3YXJuaW5ncy53YXJuKCJUaGlzIGNsYXNzIGlzIGRlcHJlY2F0ZWQsIHVzZSB0aGUgbmV0cmMgbW9kdWxlIGluc3RlYWQiLAotICAgICAgICAgICAgICAgICAgICAgIERlcHJlY2F0aW9uV2FybmluZywgMikKLSAgICAgICAgaWYgZmlsZW5hbWUgaXMgTm9uZToKLSAgICAgICAgICAgIGlmICJIT01FIiBpbiBvcy5lbnZpcm9uOgotICAgICAgICAgICAgICAgIGZpbGVuYW1lID0gb3MucGF0aC5qb2luKG9zLmVudmlyb25bIkhPTUUiXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLm5ldHJjIikKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgcmFpc2UgT1NFcnJvcigic3BlY2lmeSBmaWxlIHRvIGxvYWQgb3Igc2V0ICRIT01FIikKLSAgICAgICAgc2VsZi5fX2hvc3RzID0ge30KLSAgICAgICAgc2VsZi5fX21hY3JvcyA9IHt9Ci0gICAgICAgIGZwID0gb3BlbihmaWxlbmFtZSwgInIiKQotICAgICAgICBpbl9tYWNybyA9IDAKLSAgICAgICAgd2hpbGUgMToKLSAgICAgICAgICAgIGxpbmUgPSBmcC5yZWFkbGluZSgpCi0gICAgICAgICAgICBpZiBub3QgbGluZToKLSAgICAgICAgICAgICAgICBicmVhawotICAgICAgICAgICAgaWYgaW5fbWFjcm8gYW5kIGxpbmUuc3RyaXAoKToKLSAgICAgICAgICAgICAgICBtYWNyb19saW5lcy5hcHBlbmQobGluZSkKLSAgICAgICAgICAgICAgICBjb250aW51ZQotICAgICAgICAgICAgZWxpZiBpbl9tYWNybzoKLSAgICAgICAgICAgICAgICBzZWxmLl9fbWFjcm9zW21hY3JvX25hbWVdID0gdHVwbGUobWFjcm9fbGluZXMpCi0gICAgICAgICAgICAgICAgaW5fbWFjcm8gPSAwCi0gICAgICAgICAgICB3b3JkcyA9IGxpbmUuc3BsaXQoKQotICAgICAgICAgICAgaG9zdCA9IHVzZXIgPSBwYXNzd2QgPSBhY2N0ID0gTm9uZQotICAgICAgICAgICAgZGVmYXVsdCA9IDAKLSAgICAgICAgICAgIGkgPSAwCi0gICAgICAgICAgICB3aGlsZSBpIDwgbGVuKHdvcmRzKToKLSAgICAgICAgICAgICAgICB3MSA9IHdvcmRzW2ldCi0gICAgICAgICAgICAgICAgaWYgaSsxIDwgbGVuKHdvcmRzKToKLSAgICAgICAgICAgICAgICAgICAgdzIgPSB3b3Jkc1tpICsgMV0KLSAgICAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgICAgICB3MiA9IE5vbmUKLSAgICAgICAgICAgICAgICBpZiB3MSA9PSAnZGVmYXVsdCc6Ci0gICAgICAgICAgICAgICAgICAgIGRlZmF1bHQgPSAxCi0gICAgICAgICAgICAgICAgZWxpZiB3MSA9PSAnbWFjaGluZScgYW5kIHcyOgotICAgICAgICAgICAgICAgICAgICBob3N0ID0gdzIubG93ZXIoKQotICAgICAgICAgICAgICAgICAgICBpID0gaSArIDEKLSAgICAgICAgICAgICAgICBlbGlmIHcxID09ICdsb2dpbicgYW5kIHcyOgotICAgICAgICAgICAgICAgICAgICB1c2VyID0gdzIKLSAgICAgICAgICAgICAgICAgICAgaSA9IGkgKyAxCi0gICAgICAgICAgICAgICAgZWxpZiB3MSA9PSAncGFzc3dvcmQnIGFuZCB3MjoKLSAgICAgICAgICAgICAgICAgICAgcGFzc3dkID0gdzIKLSAgICAgICAgICAgICAgICAgICAgaSA9IGkgKyAxCi0gICAgICAgICAgICAgICAgZWxpZiB3MSA9PSAnYWNjb3VudCcgYW5kIHcyOgotICAgICAgICAgICAgICAgICAgICBhY2N0ID0gdzIKLSAgICAgICAgICAgICAgICAgICAgaSA9IGkgKyAxCi0gICAgICAgICAgICAgICAgZWxpZiB3MSA9PSAnbWFjZGVmJyBhbmQgdzI6Ci0gICAgICAgICAgICAgICAgICAgIG1hY3JvX25hbWUgPSB3MgotICAgICAgICAgICAgICAgICAgICBtYWNyb19saW5lcyA9IFtdCi0gICAgICAgICAgICAgICAgICAgIGluX21hY3JvID0gMQotICAgICAgICAgICAgICAgICAgICBicmVhawotICAgICAgICAgICAgICAgIGkgPSBpICsgMQotICAgICAgICAgICAgaWYgZGVmYXVsdDoKLSAgICAgICAgICAgICAgICBzZWxmLl9fZGVmdXNlciA9IHVzZXIgb3Igc2VsZi5fX2RlZnVzZXIKLSAgICAgICAgICAgICAgICBzZWxmLl9fZGVmcGFzc3dkID0gcGFzc3dkIG9yIHNlbGYuX19kZWZwYXNzd2QKLSAgICAgICAgICAgICAgICBzZWxmLl9fZGVmYWNjdCA9IGFjY3Qgb3Igc2VsZi5fX2RlZmFjY3QKLSAgICAgICAgICAgIGlmIGhvc3Q6Ci0gICAgICAgICAgICAgICAgaWYgaG9zdCBpbiBzZWxmLl9faG9zdHM6Ci0gICAgICAgICAgICAgICAgICAgIG91c2VyLCBvcGFzc3dkLCBvYWNjdCA9IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX19ob3N0c1tob3N0XQotICAgICAgICAgICAgICAgICAgICB1c2VyID0gdXNlciBvciBvdXNlcgotICAgICAgICAgICAgICAgICAgICBwYXNzd2QgPSBwYXNzd2Qgb3Igb3Bhc3N3ZAotICAgICAgICAgICAgICAgICAgICBhY2N0ID0gYWNjdCBvciBvYWNjdAotICAgICAgICAgICAgICAgIHNlbGYuX19ob3N0c1tob3N0XSA9IHVzZXIsIHBhc3N3ZCwgYWNjdAotICAgICAgICBmcC5jbG9zZSgpCi0KLSAgICBkZWYgZ2V0X2hvc3RzKHNlbGYpOgotICAgICAgICAiIiJSZXR1cm4gYSBsaXN0IG9mIGhvc3RzIG1lbnRpb25lZCBpbiB0aGUgLm5ldHJjIGZpbGUuIiIiCi0gICAgICAgIHJldHVybiBzZWxmLl9faG9zdHMua2V5cygpCi0KLSAgICBkZWYgZ2V0X2FjY291bnQoc2VsZiwgaG9zdCk6Ci0gICAgICAgICIiIlJldHVybnMgbG9naW4gaW5mb3JtYXRpb24gZm9yIHRoZSBuYW1lZCBob3N0LgotCi0gICAgICAgIFRoZSByZXR1cm4gdmFsdWUgaXMgYSB0cmlwbGUgY29udGFpbmluZyB1c2VyaWQsCi0gICAgICAgIHBhc3N3b3JkLCBhbmQgdGhlIGFjY291bnRpbmcgZmllbGQuCi0KLSAgICAgICAgIiIiCi0gICAgICAgIGhvc3QgPSBob3N0Lmxvd2VyKCkKLSAgICAgICAgdXNlciA9IHBhc3N3ZCA9IGFjY3QgPSBOb25lCi0gICAgICAgIGlmIGhvc3QgaW4gc2VsZi5fX2hvc3RzOgotICAgICAgICAgICAgdXNlciwgcGFzc3dkLCBhY2N0ID0gc2VsZi5fX2hvc3RzW2hvc3RdCi0gICAgICAgIHVzZXIgPSB1c2VyIG9yIHNlbGYuX19kZWZ1c2VyCi0gICAgICAgIHBhc3N3ZCA9IHBhc3N3ZCBvciBzZWxmLl9fZGVmcGFzc3dkCi0gICAgICAgIGFjY3QgPSBhY2N0IG9yIHNlbGYuX19kZWZhY2N0Ci0gICAgICAgIHJldHVybiB1c2VyLCBwYXNzd2QsIGFjY3QKLQotICAgIGRlZiBnZXRfbWFjcm9zKHNlbGYpOgotICAgICAgICAiIiJSZXR1cm4gYSBsaXN0IG9mIGFsbCBkZWZpbmVkIG1hY3JvIG5hbWVzLiIiIgotICAgICAgICByZXR1cm4gc2VsZi5fX21hY3Jvcy5rZXlzKCkKLQotICAgIGRlZiBnZXRfbWFjcm8oc2VsZiwgbWFjcm8pOgotICAgICAgICAiIiJSZXR1cm4gYSBzZXF1ZW5jZSBvZiBsaW5lcyB3aGljaCBkZWZpbmUgYSBuYW1lZCBtYWNyby4iIiIKLSAgICAgICAgcmV0dXJuIHNlbGYuX19tYWNyb3NbbWFjcm9dCi0KLQotCiBkZWYgdGVzdCgpOgogICAgICcnJ1Rlc3QgcHJvZ3JhbS4KICAgICBVc2FnZTogZnRwIFstZF0gWy1yW2ZpbGVdXSBob3N0IFstbFtkaXJdXSBbLWRbZGlyXV0gWy1wXSBbZmlsZV0gLi4uCkBAIC0xMDQwLDYgKzkzMSw4IEBACiAgICAgICAgIHByaW50KHRlc3QuX19kb2NfXykKICAgICAgICAgc3lzLmV4aXQoMCkKIAorICAgIGltcG9ydCBuZXRyYworCiAgICAgZGVidWdnaW5nID0gMAogICAgIHJjZmlsZSA9IE5vbmUKICAgICB3aGlsZSBzeXMuYXJndlsxXSA9PSAnLWQnOgpAQCAtMTA1NCwxNCArOTQ3LDE0IEBACiAgICAgZnRwLnNldF9kZWJ1Z2xldmVsKGRlYnVnZ2luZykKICAgICB1c2VyaWQgPSBwYXNzd2QgPSBhY2N0ID0gJycKICAgICB0cnk6Ci0gICAgICAgIG5ldHJjID0gTmV0cmMocmNmaWxlKQorICAgICAgICBuZXRyY29iaiA9IG5ldHJjLm5ldHJjKHJjZmlsZSkKICAgICBleGNlcHQgT1NFcnJvcjoKICAgICAgICAgaWYgcmNmaWxlIGlzIG5vdCBOb25lOgogICAgICAgICAgICAgc3lzLnN0ZGVyci53cml0ZSgiQ291bGQgbm90IG9wZW4gYWNjb3VudCBmaWxlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiIC0tIHVzaW5nIGFub255bW91cyBsb2dpbi4iKQogICAgIGVsc2U6CiAgICAgICAgIHRyeToKLSAgICAgICAgICAgIHVzZXJpZCwgcGFzc3dkLCBhY2N0ID0gbmV0cmMuZ2V0X2FjY291bnQoaG9zdCkKKyAgICAgICAgICAgIHVzZXJpZCwgYWNjdCwgcGFzc3dkID0gbmV0cmNvYmouYXV0aGVudGljYXRvcnMoaG9zdCkKICAgICAgICAgZXhjZXB0IEtleUVycm9yOgogICAgICAgICAgICAgIyBubyBhY2NvdW50IGZvciBob3N0CiAgICAgICAgICAgICBzeXMuc3RkZXJyLndyaXRlKApkaWZmIC0tZ2l0IGEvTGliL2Z1bmN0b29scy5weSBiL0xpYi9mdW5jdG9vbHMucHkKaW5kZXggM2U5M2EzZC4uMjBhMjZmOSAxMDA2NDQKLS0tIGEvTGliL2Z1bmN0b29scy5weQorKysgYi9MaWIvZnVuY3Rvb2xzLnB5CkBAIC05OCw3ICs5OCw3IEBACiAgICAgJ1JldHVybiBhID4gYi4gIENvbXB1dGVkIGJ5IEB0b3RhbF9vcmRlcmluZyBmcm9tIChub3QgYSA8IGIpIGFuZCAoYSAhPSBiKS4nCiAgICAgb3BfcmVzdWx0ID0gc2VsZi5fX2x0X18ob3RoZXIpCiAgICAgaWYgb3BfcmVzdWx0IGlzIE5vdEltcGxlbWVudGVkOgotICAgICAgICByZXR1cm4gTm90SW1wbGVtZW50ZWQKKyAgICAgICAgcmV0dXJuIG9wX3Jlc3VsdAogICAgIHJldHVybiBub3Qgb3BfcmVzdWx0IGFuZCBzZWxmICE9IG90aGVyCiAKIGRlZiBfbGVfZnJvbV9sdChzZWxmLCBvdGhlcik6CkBAIC0xMTAsMzUgKzExMCwzNSBAQAogICAgICdSZXR1cm4gYSA+PSBiLiAgQ29tcHV0ZWQgYnkgQHRvdGFsX29yZGVyaW5nIGZyb20gKG5vdCBhIDwgYikuJwogICAgIG9wX3Jlc3VsdCA9IHNlbGYuX19sdF9fKG90aGVyKQogICAgIGlmIG9wX3Jlc3VsdCBpcyBOb3RJbXBsZW1lbnRlZDoKLSAgICAgICAgcmV0dXJuIE5vdEltcGxlbWVudGVkCisgICAgICAgIHJldHVybiBvcF9yZXN1bHQKICAgICByZXR1cm4gbm90IG9wX3Jlc3VsdAogCiBkZWYgX2dlX2Zyb21fbGUoc2VsZiwgb3RoZXIpOgogICAgICdSZXR1cm4gYSA+PSBiLiAgQ29tcHV0ZWQgYnkgQHRvdGFsX29yZGVyaW5nIGZyb20gKG5vdCBhIDw9IGIpIG9yIChhID09IGIpLicKICAgICBvcF9yZXN1bHQgPSBzZWxmLl9fbGVfXyhvdGhlcikKICAgICBpZiBvcF9yZXN1bHQgaXMgTm90SW1wbGVtZW50ZWQ6Ci0gICAgICAgIHJldHVybiBOb3RJbXBsZW1lbnRlZAorICAgICAgICByZXR1cm4gb3BfcmVzdWx0CiAgICAgcmV0dXJuIG5vdCBvcF9yZXN1bHQgb3Igc2VsZiA9PSBvdGhlcgogCiBkZWYgX2x0X2Zyb21fbGUoc2VsZiwgb3RoZXIpOgogICAgICdSZXR1cm4gYSA8IGIuICBDb21wdXRlZCBieSBAdG90YWxfb3JkZXJpbmcgZnJvbSAoYSA8PSBiKSBhbmQgKGEgIT0gYikuJwogICAgIG9wX3Jlc3VsdCA9IHNlbGYuX19sZV9fKG90aGVyKQogICAgIGlmIG9wX3Jlc3VsdCBpcyBOb3RJbXBsZW1lbnRlZDoKLSAgICAgICAgcmV0dXJuIE5vdEltcGxlbWVudGVkCisgICAgICAgIHJldHVybiBvcF9yZXN1bHQKICAgICByZXR1cm4gb3BfcmVzdWx0IGFuZCBzZWxmICE9IG90aGVyCiAKIGRlZiBfZ3RfZnJvbV9sZShzZWxmLCBvdGhlcik6CiAgICAgJ1JldHVybiBhID4gYi4gIENvbXB1dGVkIGJ5IEB0b3RhbF9vcmRlcmluZyBmcm9tIChub3QgYSA8PSBiKS4nCiAgICAgb3BfcmVzdWx0ID0gc2VsZi5fX2xlX18ob3RoZXIpCiAgICAgaWYgb3BfcmVzdWx0IGlzIE5vdEltcGxlbWVudGVkOgotICAgICAgICByZXR1cm4gTm90SW1wbGVtZW50ZWQKKyAgICAgICAgcmV0dXJuIG9wX3Jlc3VsdAogICAgIHJldHVybiBub3Qgb3BfcmVzdWx0CiAKIGRlZiBfbHRfZnJvbV9ndChzZWxmLCBvdGhlcik6CiAgICAgJ1JldHVybiBhIDwgYi4gIENvbXB1dGVkIGJ5IEB0b3RhbF9vcmRlcmluZyBmcm9tIChub3QgYSA+IGIpIGFuZCAoYSAhPSBiKS4nCiAgICAgb3BfcmVzdWx0ID0gc2VsZi5fX2d0X18ob3RoZXIpCiAgICAgaWYgb3BfcmVzdWx0IGlzIE5vdEltcGxlbWVudGVkOgotICAgICAgICByZXR1cm4gTm90SW1wbGVtZW50ZWQKKyAgICAgICAgcmV0dXJuIG9wX3Jlc3VsdAogICAgIHJldHVybiBub3Qgb3BfcmVzdWx0IGFuZCBzZWxmICE9IG90aGVyCiAKIGRlZiBfZ2VfZnJvbV9ndChzZWxmLCBvdGhlcik6CkBAIC0xNTAsNTIgKzE1MCw1MyBAQAogICAgICdSZXR1cm4gYSA8PSBiLiAgQ29tcHV0ZWQgYnkgQHRvdGFsX29yZGVyaW5nIGZyb20gKG5vdCBhID4gYikuJwogICAgIG9wX3Jlc3VsdCA9IHNlbGYuX19ndF9fKG90aGVyKQogICAgIGlmIG9wX3Jlc3VsdCBpcyBOb3RJbXBsZW1lbnRlZDoKLSAgICAgICAgcmV0dXJuIE5vdEltcGxlbWVudGVkCisgICAgICAgIHJldHVybiBvcF9yZXN1bHQKICAgICByZXR1cm4gbm90IG9wX3Jlc3VsdAogCiBkZWYgX2xlX2Zyb21fZ2Uoc2VsZiwgb3RoZXIpOgogICAgICdSZXR1cm4gYSA8PSBiLiAgQ29tcHV0ZWQgYnkgQHRvdGFsX29yZGVyaW5nIGZyb20gKG5vdCBhID49IGIpIG9yIChhID09IGIpLicKICAgICBvcF9yZXN1bHQgPSBzZWxmLl9fZ2VfXyhvdGhlcikKICAgICBpZiBvcF9yZXN1bHQgaXMgTm90SW1wbGVtZW50ZWQ6Ci0gICAgICAgIHJldHVybiBOb3RJbXBsZW1lbnRlZAorICAgICAgICByZXR1cm4gb3BfcmVzdWx0CiAgICAgcmV0dXJuIG5vdCBvcF9yZXN1bHQgb3Igc2VsZiA9PSBvdGhlcgogCiBkZWYgX2d0X2Zyb21fZ2Uoc2VsZiwgb3RoZXIpOgogICAgICdSZXR1cm4gYSA+IGIuICBDb21wdXRlZCBieSBAdG90YWxfb3JkZXJpbmcgZnJvbSAoYSA+PSBiKSBhbmQgKGEgIT0gYikuJwogICAgIG9wX3Jlc3VsdCA9IHNlbGYuX19nZV9fKG90aGVyKQogICAgIGlmIG9wX3Jlc3VsdCBpcyBOb3RJbXBsZW1lbnRlZDoKLSAgICAgICAgcmV0dXJuIE5vdEltcGxlbWVudGVkCisgICAgICAgIHJldHVybiBvcF9yZXN1bHQKICAgICByZXR1cm4gb3BfcmVzdWx0IGFuZCBzZWxmICE9IG90aGVyCiAKIGRlZiBfbHRfZnJvbV9nZShzZWxmLCBvdGhlcik6CiAgICAgJ1JldHVybiBhIDwgYi4gIENvbXB1dGVkIGJ5IEB0b3RhbF9vcmRlcmluZyBmcm9tIChub3QgYSA+PSBiKS4nCiAgICAgb3BfcmVzdWx0ID0gc2VsZi5fX2dlX18ob3RoZXIpCiAgICAgaWYgb3BfcmVzdWx0IGlzIE5vdEltcGxlbWVudGVkOgotICAgICAgICByZXR1cm4gTm90SW1wbGVtZW50ZWQKKyAgICAgICAgcmV0dXJuIG9wX3Jlc3VsdAogICAgIHJldHVybiBub3Qgb3BfcmVzdWx0CiAKK19jb252ZXJ0ID0geworICAgICdfX2x0X18nOiBbKCdfX2d0X18nLCBfZ3RfZnJvbV9sdCksCisgICAgICAgICAgICAgICAoJ19fbGVfXycsIF9sZV9mcm9tX2x0KSwKKyAgICAgICAgICAgICAgICgnX19nZV9fJywgX2dlX2Zyb21fbHQpXSwKKyAgICAnX19sZV9fJzogWygnX19nZV9fJywgX2dlX2Zyb21fbGUpLAorICAgICAgICAgICAgICAgKCdfX2x0X18nLCBfbHRfZnJvbV9sZSksCisgICAgICAgICAgICAgICAoJ19fZ3RfXycsIF9ndF9mcm9tX2xlKV0sCisgICAgJ19fZ3RfXyc6IFsoJ19fbHRfXycsIF9sdF9mcm9tX2d0KSwKKyAgICAgICAgICAgICAgICgnX19nZV9fJywgX2dlX2Zyb21fZ3QpLAorICAgICAgICAgICAgICAgKCdfX2xlX18nLCBfbGVfZnJvbV9ndCldLAorICAgICdfX2dlX18nOiBbKCdfX2xlX18nLCBfbGVfZnJvbV9nZSksCisgICAgICAgICAgICAgICAoJ19fZ3RfXycsIF9ndF9mcm9tX2dlKSwKKyAgICAgICAgICAgICAgICgnX19sdF9fJywgX2x0X2Zyb21fZ2UpXQorfQorCiBkZWYgdG90YWxfb3JkZXJpbmcoY2xzKToKICAgICAiIiJDbGFzcyBkZWNvcmF0b3IgdGhhdCBmaWxscyBpbiBtaXNzaW5nIG9yZGVyaW5nIG1ldGhvZHMiIiIKLSAgICBjb252ZXJ0ID0gewotICAgICAgICAnX19sdF9fJzogWygnX19ndF9fJywgX2d0X2Zyb21fbHQpLAotICAgICAgICAgICAgICAgICAgICgnX19sZV9fJywgX2xlX2Zyb21fbHQpLAotICAgICAgICAgICAgICAgICAgICgnX19nZV9fJywgX2dlX2Zyb21fbHQpXSwKLSAgICAgICAgJ19fbGVfXyc6IFsoJ19fZ2VfXycsIF9nZV9mcm9tX2xlKSwKLSAgICAgICAgICAgICAgICAgICAoJ19fbHRfXycsIF9sdF9mcm9tX2xlKSwKLSAgICAgICAgICAgICAgICAgICAoJ19fZ3RfXycsIF9ndF9mcm9tX2xlKV0sCi0gICAgICAgICdfX2d0X18nOiBbKCdfX2x0X18nLCBfbHRfZnJvbV9ndCksCi0gICAgICAgICAgICAgICAgICAgKCdfX2dlX18nLCBfZ2VfZnJvbV9ndCksCi0gICAgICAgICAgICAgICAgICAgKCdfX2xlX18nLCBfbGVfZnJvbV9ndCldLAotICAgICAgICAnX19nZV9fJzogWygnX19sZV9fJywgX2xlX2Zyb21fZ2UpLAotICAgICAgICAgICAgICAgICAgICgnX19ndF9fJywgX2d0X2Zyb21fZ2UpLAotICAgICAgICAgICAgICAgICAgICgnX19sdF9fJywgX2x0X2Zyb21fZ2UpXQotICAgIH0KICAgICAjIEZpbmQgdXNlci1kZWZpbmVkIGNvbXBhcmlzb25zIChub3QgdGhvc2UgaW5oZXJpdGVkIGZyb20gb2JqZWN0KS4KLSAgICByb290cyA9IFtvcCBmb3Igb3AgaW4gY29udmVydCBpZiBnZXRhdHRyKGNscywgb3AsIE5vbmUpIGlzIG5vdCBnZXRhdHRyKG9iamVjdCwgb3AsIE5vbmUpXQorICAgIHJvb3RzID0gW29wIGZvciBvcCBpbiBfY29udmVydCBpZiBnZXRhdHRyKGNscywgb3AsIE5vbmUpIGlzIG5vdCBnZXRhdHRyKG9iamVjdCwgb3AsIE5vbmUpXQogICAgIGlmIG5vdCByb290czoKICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcignbXVzdCBkZWZpbmUgYXQgbGVhc3Qgb25lIG9yZGVyaW5nIG9wZXJhdGlvbjogPCA+IDw9ID49JykKICAgICByb290ID0gbWF4KHJvb3RzKSAgICAgICAjIHByZWZlciBfX2x0X18gdG8gX19sZV9fIHRvIF9fZ3RfXyB0byBfX2dlX18KLSAgICBmb3Igb3BuYW1lLCBvcGZ1bmMgaW4gY29udmVydFtyb290XToKKyAgICBmb3Igb3BuYW1lLCBvcGZ1bmMgaW4gX2NvbnZlcnRbcm9vdF06CiAgICAgICAgIGlmIG9wbmFtZSBub3QgaW4gcm9vdHM6CiAgICAgICAgICAgICBvcGZ1bmMuX19uYW1lX18gPSBvcG5hbWUKICAgICAgICAgICAgIHNldGF0dHIoY2xzLCBvcG5hbWUsIG9wZnVuYykKQEAgLTIyMiw4ICsyMjMsNiBAQAogICAgICAgICAgICAgcmV0dXJuIG15Y21wKHNlbGYub2JqLCBvdGhlci5vYmopIDw9IDAKICAgICAgICAgZGVmIF9fZ2VfXyhzZWxmLCBvdGhlcik6CiAgICAgICAgICAgICByZXR1cm4gbXljbXAoc2VsZi5vYmosIG90aGVyLm9iaikgPj0gMAotICAgICAgICBkZWYgX19uZV9fKHNlbGYsIG90aGVyKToKLSAgICAgICAgICAgIHJldHVybiBteWNtcChzZWxmLm9iaiwgb3RoZXIub2JqKSAhPSAwCiAgICAgICAgIF9faGFzaF9fID0gTm9uZQogICAgIHJldHVybiBLCiAKQEAgLTI5MSw3ICsyOTAsNyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIGssIHYgaW4gc2VsZi5rZXl3b3Jkcy5pdGVtcygpKQogICAgICAgICBmb3JtYXRfc3RyaW5nID0gInttb2R1bGV9LntjbHN9KHtmdW5jfSwge2FyZ3N9LCB7a2V5d29yZHN9KSIKICAgICAgICAgcmV0dXJuIGZvcm1hdF9zdHJpbmcuZm9ybWF0KG1vZHVsZT1zZWxmLl9fY2xhc3NfXy5fX21vZHVsZV9fLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xzPXNlbGYuX19jbGFzc19fLl9fbmFtZV9fLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xzPXNlbGYuX19jbGFzc19fLl9fcXVhbG5hbWVfXywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmM9c2VsZi5mdW5jLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJncz1hcmdzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5d29yZHM9a2V5d29yZHMpCmRpZmYgLS1naXQgYS9MaWIvZ2VuZXJpY3BhdGgucHkgYi9MaWIvZ2VuZXJpY3BhdGgucHkKaW5kZXggY2E0YTUxMC4uNjcxNDA2MSAxMDA2NDQKLS0tIGEvTGliL2dlbmVyaWNwYXRoLnB5CisrKyBiL0xpYi9nZW5lcmljcGF0aC5weQpAQCAtMTMwLDMgKzEzMCwxNiBAQAogICAgICAgICAgICAgZmlsZW5hbWVJbmRleCArPSAxCiAKICAgICByZXR1cm4gcCwgcFs6MF0KKworZGVmIF9jaGVja19hcmdfdHlwZXMoZnVuY25hbWUsICphcmdzKToKKyAgICBoYXNzdHIgPSBoYXNieXRlcyA9IEZhbHNlCisgICAgZm9yIHMgaW4gYXJnczoKKyAgICAgICAgaWYgaXNpbnN0YW5jZShzLCBzdHIpOgorICAgICAgICAgICAgaGFzc3RyID0gVHJ1ZQorICAgICAgICBlbGlmIGlzaW5zdGFuY2UocywgYnl0ZXMpOgorICAgICAgICAgICAgaGFzYnl0ZXMgPSBUcnVlCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICByYWlzZSBUeXBlRXJyb3IoJyVzKCkgYXJndW1lbnQgbXVzdCBiZSBzdHIgb3IgYnl0ZXMsIG5vdCAlcicgJQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIChmdW5jbmFtZSwgcy5fX2NsYXNzX18uX19uYW1lX18pKSBmcm9tIE5vbmUKKyAgICBpZiBoYXNzdHIgYW5kIGhhc2J5dGVzOgorICAgICAgICByYWlzZSBUeXBlRXJyb3IoIkNhbid0IG1peCBzdHJpbmdzIGFuZCBieXRlcyBpbiBwYXRoIGNvbXBvbmVudHMiKSBmcm9tIE5vbmUKZGlmZiAtLWdpdCBhL0xpYi9nZXR0ZXh0LnB5IGIvTGliL2dldHRleHQucHkKaW5kZXggMDVkOWMxZS4uMTUzNzhiYyAxMDA2NDQKLS0tIGEvTGliL2dldHRleHQucHkKKysrIGIvTGliL2dldHRleHQucHkKQEAgLTIyNSw2ICsyMjUsMTMgQEAKICAgICBMRV9NQUdJQyA9IDB4OTUwNDEyZGUKICAgICBCRV9NQUdJQyA9IDB4ZGUxMjA0OTUKIAorICAgICMgQWNjZXB0YWJsZSAubW8gdmVyc2lvbnMKKyAgICBWRVJTSU9OUyA9ICgwLCAxKQorCisgICAgZGVmIF9nZXRfdmVyc2lvbnMoc2VsZiwgdmVyc2lvbik6CisgICAgICAgICIiIlJldHVybnMgYSB0dXBsZSBvZiBtYWpvciB2ZXJzaW9uLCBtaW5vciB2ZXJzaW9uIiIiCisgICAgICAgIHJldHVybiAodmVyc2lvbiA+PiAxNiwgdmVyc2lvbiAmIDB4ZmZmZikKKwogICAgIGRlZiBfcGFyc2Uoc2VsZiwgZnApOgogICAgICAgICAiIiJPdmVycmlkZSB0aGlzIG1ldGhvZCB0byBzdXBwb3J0IGFsdGVybmF0aXZlIC5tbyBmb3JtYXRzLiIiIgogICAgICAgICB1bnBhY2sgPSBzdHJ1Y3QudW5wYWNrCkBAIC0yNDUsNiArMjUyLDEyIEBACiAgICAgICAgICAgICBpaSA9ICc+SUknCiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICByYWlzZSBPU0Vycm9yKDAsICdCYWQgbWFnaWMgbnVtYmVyJywgZmlsZW5hbWUpCisKKyAgICAgICAgbWFqb3JfdmVyc2lvbiwgbWlub3JfdmVyc2lvbiA9IHNlbGYuX2dldF92ZXJzaW9ucyh2ZXJzaW9uKQorCisgICAgICAgIGlmIG1ham9yX3ZlcnNpb24gbm90IGluIHNlbGYuVkVSU0lPTlM6CisgICAgICAgICAgICByYWlzZSBPU0Vycm9yKDAsICdCYWQgdmVyc2lvbiBudW1iZXIgJyArIHN0cihtYWpvcl92ZXJzaW9uKSwgZmlsZW5hbWUpCisKICAgICAgICAgIyBOb3cgcHV0IGFsbCBtZXNzYWdlcyBmcm9tIHRoZSAubW8gZmlsZSBidWZmZXIgaW50byB0aGUgY2F0YWxvZwogICAgICAgICAjIGRpY3Rpb25hcnkuCiAgICAgICAgIGZvciBpIGluIHJhbmdlKDAsIG1zZ2NvdW50KToKZGlmZiAtLWdpdCBhL0xpYi9nbG9iLnB5IGIvTGliL2dsb2IucHkKaW5kZXggZDZlY2EyNC4uNTZkNjcwNCAxMDA2NDQKLS0tIGEvTGliL2dsb2IucHkKKysrIGIvTGliL2dsb2IucHkKQEAgLTYsNyArNiw3IEBACiAKIF9fYWxsX18gPSBbImdsb2IiLCAiaWdsb2IiXQogCi1kZWYgZ2xvYihwYXRobmFtZSk6CitkZWYgZ2xvYihwYXRobmFtZSwgKiwgcmVjdXJzaXZlPUZhbHNlKToKICAgICAiIiJSZXR1cm4gYSBsaXN0IG9mIHBhdGhzIG1hdGNoaW5nIGEgcGF0aG5hbWUgcGF0dGVybi4KIAogICAgIFRoZSBwYXR0ZXJuIG1heSBjb250YWluIHNpbXBsZSBzaGVsbC1zdHlsZSB3aWxkY2FyZHMgYSBsYQpAQCAtMTQsMTAgKzE0LDEyIEBACiAgICAgZG90IGFyZSBzcGVjaWFsIGNhc2VzIHRoYXQgYXJlIG5vdCBtYXRjaGVkIGJ5ICcqJyBhbmQgJz8nCiAgICAgcGF0dGVybnMuCiAKKyAgICBJZiByZWN1cnNpdmUgaXMgdHJ1ZSwgdGhlIHBhdHRlcm4gJyoqJyB3aWxsIG1hdGNoIGFueSBmaWxlcyBhbmQKKyAgICB6ZXJvIG9yIG1vcmUgZGlyZWN0b3JpZXMgYW5kIHN1YmRpcmVjdG9yaWVzLgogICAgICIiIgotICAgIHJldHVybiBsaXN0KGlnbG9iKHBhdGhuYW1lKSkKKyAgICByZXR1cm4gbGlzdChpZ2xvYihwYXRobmFtZSwgcmVjdXJzaXZlPXJlY3Vyc2l2ZSkpCiAKLWRlZiBpZ2xvYihwYXRobmFtZSk6CitkZWYgaWdsb2IocGF0aG5hbWUsICosIHJlY3Vyc2l2ZT1GYWxzZSk6CiAgICAgIiIiUmV0dXJuIGFuIGl0ZXJhdG9yIHdoaWNoIHlpZWxkcyB0aGUgcGF0aHMgbWF0Y2hpbmcgYSBwYXRobmFtZSBwYXR0ZXJuLgogCiAgICAgVGhlIHBhdHRlcm4gbWF5IGNvbnRhaW4gc2ltcGxlIHNoZWxsLXN0eWxlIHdpbGRjYXJkcyBhIGxhCkBAIC0yNSw2ICsyNyw4IEBACiAgICAgZG90IGFyZSBzcGVjaWFsIGNhc2VzIHRoYXQgYXJlIG5vdCBtYXRjaGVkIGJ5ICcqJyBhbmQgJz8nCiAgICAgcGF0dGVybnMuCiAKKyAgICBJZiByZWN1cnNpdmUgaXMgdHJ1ZSwgdGhlIHBhdHRlcm4gJyoqJyB3aWxsIG1hdGNoIGFueSBmaWxlcyBhbmQKKyAgICB6ZXJvIG9yIG1vcmUgZGlyZWN0b3JpZXMgYW5kIHN1YmRpcmVjdG9yaWVzLgogICAgICIiIgogICAgIGRpcm5hbWUsIGJhc2VuYW1lID0gb3MucGF0aC5zcGxpdChwYXRobmFtZSkKICAgICBpZiBub3QgaGFzX21hZ2ljKHBhdGhuYW1lKToKQEAgLTM3LDE3ICs0MSwyMyBAQAogICAgICAgICAgICAgICAgIHlpZWxkIHBhdGhuYW1lCiAgICAgICAgIHJldHVybgogICAgIGlmIG5vdCBkaXJuYW1lOgotICAgICAgICB5aWVsZCBmcm9tIGdsb2IxKE5vbmUsIGJhc2VuYW1lKQorICAgICAgICBpZiByZWN1cnNpdmUgYW5kIF9pc3JlY3Vyc2l2ZShiYXNlbmFtZSk6CisgICAgICAgICAgICB5aWVsZCBmcm9tIGdsb2IyKGRpcm5hbWUsIGJhc2VuYW1lKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgeWllbGQgZnJvbSBnbG9iMShkaXJuYW1lLCBiYXNlbmFtZSkKICAgICAgICAgcmV0dXJuCiAgICAgIyBgb3MucGF0aC5zcGxpdCgpYCByZXR1cm5zIHRoZSBhcmd1bWVudCBpdHNlbGYgYXMgYSBkaXJuYW1lIGlmIGl0IGlzIGEKICAgICAjIGRyaXZlIG9yIFVOQyBwYXRoLiAgUHJldmVudCBhbiBpbmZpbml0ZSByZWN1cnNpb24gaWYgYSBkcml2ZSBvciBVTkMgcGF0aAogICAgICMgY29udGFpbnMgbWFnaWMgY2hhcmFjdGVycyAoaS5lLiByJ1xcP1xDOicpLgogICAgIGlmIGRpcm5hbWUgIT0gcGF0aG5hbWUgYW5kIGhhc19tYWdpYyhkaXJuYW1lKToKLSAgICAgICAgZGlycyA9IGlnbG9iKGRpcm5hbWUpCisgICAgICAgIGRpcnMgPSBpZ2xvYihkaXJuYW1lLCByZWN1cnNpdmU9cmVjdXJzaXZlKQogICAgIGVsc2U6CiAgICAgICAgIGRpcnMgPSBbZGlybmFtZV0KICAgICBpZiBoYXNfbWFnaWMoYmFzZW5hbWUpOgotICAgICAgICBnbG9iX2luX2RpciA9IGdsb2IxCisgICAgICAgIGlmIHJlY3Vyc2l2ZSBhbmQgX2lzcmVjdXJzaXZlKGJhc2VuYW1lKToKKyAgICAgICAgICAgIGdsb2JfaW5fZGlyID0gZ2xvYjIKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGdsb2JfaW5fZGlyID0gZ2xvYjEKICAgICBlbHNlOgogICAgICAgICBnbG9iX2luX2RpciA9IGdsb2IwCiAgICAgZm9yIGRpcm5hbWUgaW4gZGlyczoKQEAgLTgzLDYgKzkzLDM0IEBACiAgICAgICAgICAgICByZXR1cm4gW2Jhc2VuYW1lXQogICAgIHJldHVybiBbXQogCisjIFRoaXMgaGVscGVyIGZ1bmN0aW9uIHJlY3Vyc2l2ZWx5IHlpZWxkcyByZWxhdGl2ZSBwYXRobmFtZXMgaW5zaWRlIGEgbGl0ZXJhbAorIyBkaXJlY3RvcnkuCisKK2RlZiBnbG9iMihkaXJuYW1lLCBwYXR0ZXJuKToKKyAgICBhc3NlcnQgX2lzcmVjdXJzaXZlKHBhdHRlcm4pCisgICAgaWYgZGlybmFtZToKKyAgICAgICAgeWllbGQgcGF0dGVybls6MF0KKyAgICB5aWVsZCBmcm9tIF9ybGlzdGRpcihkaXJuYW1lKQorCisjIFJlY3Vyc2l2ZWx5IHlpZWxkcyByZWxhdGl2ZSBwYXRobmFtZXMgaW5zaWRlIGEgbGl0ZXJhbCBkaXJlY3RvcnkuCisKK2RlZiBfcmxpc3RkaXIoZGlybmFtZSk6CisgICAgaWYgbm90IGRpcm5hbWU6CisgICAgICAgIGlmIGlzaW5zdGFuY2UoZGlybmFtZSwgYnl0ZXMpOgorICAgICAgICAgICAgZGlybmFtZSA9IGJ5dGVzKG9zLmN1cmRpciwgJ0FTQ0lJJykKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGRpcm5hbWUgPSBvcy5jdXJkaXIKKyAgICB0cnk6CisgICAgICAgIG5hbWVzID0gb3MubGlzdGRpcihkaXJuYW1lKQorICAgIGV4Y2VwdCBvcy5lcnJvcjoKKyAgICAgICAgcmV0dXJuCisgICAgZm9yIHggaW4gbmFtZXM6CisgICAgICAgIGlmIG5vdCBfaXNoaWRkZW4oeCk6CisgICAgICAgICAgICB5aWVsZCB4CisgICAgICAgICAgICBwYXRoID0gb3MucGF0aC5qb2luKGRpcm5hbWUsIHgpIGlmIGRpcm5hbWUgZWxzZSB4CisgICAgICAgICAgICBmb3IgeSBpbiBfcmxpc3RkaXIocGF0aCk6CisgICAgICAgICAgICAgICAgeWllbGQgb3MucGF0aC5qb2luKHgsIHkpCisKIAogbWFnaWNfY2hlY2sgPSByZS5jb21waWxlKCcoWyo/W10pJykKIG1hZ2ljX2NoZWNrX2J5dGVzID0gcmUuY29tcGlsZShiJyhbKj9bXSknKQpAQCAtOTcsNiArMTM1LDEyIEBACiBkZWYgX2lzaGlkZGVuKHBhdGgpOgogICAgIHJldHVybiBwYXRoWzBdIGluICgnLicsIGInLidbMF0pCiAKK2RlZiBfaXNyZWN1cnNpdmUocGF0dGVybik6CisgICAgaWYgaXNpbnN0YW5jZShwYXR0ZXJuLCBieXRlcyk6CisgICAgICAgIHJldHVybiBwYXR0ZXJuID09IGInKionCisgICAgZWxzZToKKyAgICAgICAgcmV0dXJuIHBhdHRlcm4gPT0gJyoqJworCiBkZWYgZXNjYXBlKHBhdGhuYW1lKToKICAgICAiIiJFc2NhcGUgYWxsIHNwZWNpYWwgY2hhcmFjdGVycy4KICAgICAiIiIKZGlmZiAtLWdpdCBhL0xpYi9oZWFwcS5weSBiL0xpYi9oZWFwcS5weQppbmRleCBkNjE1MjM5Li4wN2FmMzdlIDEwMDY0NAotLS0gYS9MaWIvaGVhcHEucHkKKysrIGIvTGliL2hlYXBxLnB5CkBAIC0xMjcsOCArMTI3LDYgQEAKIF9fYWxsX18gPSBbJ2hlYXBwdXNoJywgJ2hlYXBwb3AnLCAnaGVhcGlmeScsICdoZWFwcmVwbGFjZScsICdtZXJnZScsCiAgICAgICAgICAgICdubGFyZ2VzdCcsICduc21hbGxlc3QnLCAnaGVhcHB1c2hwb3AnXQogCi1mcm9tIGl0ZXJ0b29scyBpbXBvcnQgaXNsaWNlLCBjb3VudCwgdGVlLCBjaGFpbgotCiBkZWYgaGVhcHB1c2goaGVhcCwgaXRlbSk6CiAgICAgIiIiUHVzaCBpdGVtIG9udG8gaGVhcCwgbWFpbnRhaW5pbmcgdGhlIGhlYXAgaW52YXJpYW50LiIiIgogICAgIGhlYXAuYXBwZW5kKGl0ZW0pCkBAIC0xNDEsOSArMTM5LDggQEAKICAgICAgICAgcmV0dXJuaXRlbSA9IGhlYXBbMF0KICAgICAgICAgaGVhcFswXSA9IGxhc3RlbHQKICAgICAgICAgX3NpZnR1cChoZWFwLCAwKQotICAgIGVsc2U6Ci0gICAgICAgIHJldHVybml0ZW0gPSBsYXN0ZWx0Ci0gICAgcmV0dXJuIHJldHVybml0ZW0KKyAgICAgICAgcmV0dXJuIHJldHVybml0ZW0KKyAgICByZXR1cm4gbGFzdGVsdAogCiBkZWYgaGVhcHJlcGxhY2UoaGVhcCwgaXRlbSk6CiAgICAgIiIiUG9wIGFuZCByZXR1cm4gdGhlIGN1cnJlbnQgc21hbGxlc3QgdmFsdWUsIGFuZCBhZGQgdGhlIG5ldyBpdGVtLgpAQCAtMTc5LDEyICsxNzYsMjIgQEAKICAgICBmb3IgaSBpbiByZXZlcnNlZChyYW5nZShuLy8yKSk6CiAgICAgICAgIF9zaWZ0dXAoeCwgaSkKIAotZGVmIF9oZWFwcHVzaHBvcF9tYXgoaGVhcCwgaXRlbSk6Ci0gICAgIiIiTWF4aGVhcCB2ZXJzaW9uIG9mIGEgaGVhcHB1c2ggZm9sbG93ZWQgYnkgYSBoZWFwcG9wLiIiIgotICAgIGlmIGhlYXAgYW5kIGl0ZW0gPCBoZWFwWzBdOgotICAgICAgICBpdGVtLCBoZWFwWzBdID0gaGVhcFswXSwgaXRlbQorZGVmIF9oZWFwcG9wX21heChoZWFwKToKKyAgICAiIiJNYXhoZWFwIHZlcnNpb24gb2YgYSBoZWFwcG9wLiIiIgorICAgIGxhc3RlbHQgPSBoZWFwLnBvcCgpICAgICMgcmFpc2VzIGFwcHJvcHJpYXRlIEluZGV4RXJyb3IgaWYgaGVhcCBpcyBlbXB0eQorICAgIGlmIGhlYXA6CisgICAgICAgIHJldHVybml0ZW0gPSBoZWFwWzBdCisgICAgICAgIGhlYXBbMF0gPSBsYXN0ZWx0CiAgICAgICAgIF9zaWZ0dXBfbWF4KGhlYXAsIDApCi0gICAgcmV0dXJuIGl0ZW0KKyAgICAgICAgcmV0dXJuIHJldHVybml0ZW0KKyAgICByZXR1cm4gbGFzdGVsdAorCitkZWYgX2hlYXByZXBsYWNlX21heChoZWFwLCBpdGVtKToKKyAgICAiIiJNYXhoZWFwIHZlcnNpb24gb2YgYSBoZWFwcG9wIGZvbGxvd2VkIGJ5IGEgaGVhcHB1c2guIiIiCisgICAgcmV0dXJuaXRlbSA9IGhlYXBbMF0gICAgIyByYWlzZXMgYXBwcm9wcmlhdGUgSW5kZXhFcnJvciBpZiBoZWFwIGlzIGVtcHR5CisgICAgaGVhcFswXSA9IGl0ZW0KKyAgICBfc2lmdHVwX21heChoZWFwLCAwKQorICAgIHJldHVybiByZXR1cm5pdGVtCiAKIGRlZiBfaGVhcGlmeV9tYXgoeCk6CiAgICAgIiIiVHJhbnNmb3JtIGxpc3QgaW50byBhIG1heGhlYXAsIGluLXBsYWNlLCBpbiBPKGxlbih4KSkgdGltZS4iIiIKQEAgLTE5Miw0MiArMTk5LDYgQEAKICAgICBmb3IgaSBpbiByZXZlcnNlZChyYW5nZShuLy8yKSk6CiAgICAgICAgIF9zaWZ0dXBfbWF4KHgsIGkpCiAKLWRlZiBubGFyZ2VzdChuLCBpdGVyYWJsZSk6Ci0gICAgIiIiRmluZCB0aGUgbiBsYXJnZXN0IGVsZW1lbnRzIGluIGEgZGF0YXNldC4KLQotICAgIEVxdWl2YWxlbnQgdG86ICBzb3J0ZWQoaXRlcmFibGUsIHJldmVyc2U9VHJ1ZSlbOm5dCi0gICAgIiIiCi0gICAgaWYgbiA8IDA6Ci0gICAgICAgIHJldHVybiBbXQotICAgIGl0ID0gaXRlcihpdGVyYWJsZSkKLSAgICByZXN1bHQgPSBsaXN0KGlzbGljZShpdCwgbikpCi0gICAgaWYgbm90IHJlc3VsdDoKLSAgICAgICAgcmV0dXJuIHJlc3VsdAotICAgIGhlYXBpZnkocmVzdWx0KQotICAgIF9oZWFwcHVzaHBvcCA9IGhlYXBwdXNocG9wCi0gICAgZm9yIGVsZW0gaW4gaXQ6Ci0gICAgICAgIF9oZWFwcHVzaHBvcChyZXN1bHQsIGVsZW0pCi0gICAgcmVzdWx0LnNvcnQocmV2ZXJzZT1UcnVlKQotICAgIHJldHVybiByZXN1bHQKLQotZGVmIG5zbWFsbGVzdChuLCBpdGVyYWJsZSk6Ci0gICAgIiIiRmluZCB0aGUgbiBzbWFsbGVzdCBlbGVtZW50cyBpbiBhIGRhdGFzZXQuCi0KLSAgICBFcXVpdmFsZW50IHRvOiAgc29ydGVkKGl0ZXJhYmxlKVs6bl0KLSAgICAiIiIKLSAgICBpZiBuIDwgMDoKLSAgICAgICAgcmV0dXJuIFtdCi0gICAgaXQgPSBpdGVyKGl0ZXJhYmxlKQotICAgIHJlc3VsdCA9IGxpc3QoaXNsaWNlKGl0LCBuKSkKLSAgICBpZiBub3QgcmVzdWx0OgotICAgICAgICByZXR1cm4gcmVzdWx0Ci0gICAgX2hlYXBpZnlfbWF4KHJlc3VsdCkKLSAgICBfaGVhcHB1c2hwb3AgPSBfaGVhcHB1c2hwb3BfbWF4Ci0gICAgZm9yIGVsZW0gaW4gaXQ6Ci0gICAgICAgIF9oZWFwcHVzaHBvcChyZXN1bHQsIGVsZW0pCi0gICAgcmVzdWx0LnNvcnQoKQotICAgIHJldHVybiByZXN1bHQKLQogIyAnaGVhcCcgaXMgYSBoZWFwIGF0IGFsbCBpbmRpY2VzID49IHN0YXJ0cG9zLCBleGNlcHQgcG9zc2libHkgZm9yIHBvcy4gIHBvcwogIyBpcyB0aGUgaW5kZXggb2YgYSBsZWFmIHdpdGggYSBwb3NzaWJseSBvdXQtb2Ytb3JkZXIgdmFsdWUuICBSZXN0b3JlIHRoZQogIyBoZWFwIGludmFyaWFudC4KQEAgLTM0MCwxMyArMzExLDcgQEAKICAgICBoZWFwW3Bvc10gPSBuZXdpdGVtCiAgICAgX3NpZnRkb3duX21heChoZWFwLCBzdGFydHBvcywgcG9zKQogCi0jIElmIGF2YWlsYWJsZSwgdXNlIEMgaW1wbGVtZW50YXRpb24KLXRyeToKLSAgICBmcm9tIF9oZWFwcSBpbXBvcnQgKgotZXhjZXB0IEltcG9ydEVycm9yOgotICAgIHBhc3MKLQotZGVmIG1lcmdlKCppdGVyYWJsZXMpOgorZGVmIG1lcmdlKCppdGVyYWJsZXMsIGtleT1Ob25lLCByZXZlcnNlPUZhbHNlKToKICAgICAnJydNZXJnZSBtdWx0aXBsZSBzb3J0ZWQgaW5wdXRzIGludG8gYSBzaW5nbGUgc29ydGVkIG91dHB1dC4KIAogICAgIFNpbWlsYXIgdG8gc29ydGVkKGl0ZXJ0b29scy5jaGFpbigqaXRlcmFibGVzKSkgYnV0IHJldHVybnMgYSBnZW5lcmF0b3IsCkBAIC0zNTYsNTEgKzMyMSwxNTggQEAKICAgICA+Pj4gbGlzdChtZXJnZShbMSwzLDUsN10sIFswLDIsNCw4XSwgWzUsMTAsMTUsMjBdLCBbXSwgWzI1XSkpCiAgICAgWzAsIDEsIDIsIDMsIDQsIDUsIDUsIDcsIDgsIDEwLCAxNSwgMjAsIDI1XQogCisgICAgSWYgKmtleSogaXMgbm90IE5vbmUsIGFwcGxpZXMgYSBrZXkgZnVuY3Rpb24gdG8gZWFjaCBlbGVtZW50IHRvIGRldGVybWluZQorICAgIGl0cyBzb3J0IG9yZGVyLgorCisgICAgPj4+IGxpc3QobWVyZ2UoWydkb2cnLCAnaG9yc2UnXSwgWydjYXQnLCAnZmlzaCcsICdrYW5nYXJvbyddLCBrZXk9bGVuKSkKKyAgICBbJ2RvZycsICdjYXQnLCAnZmlzaCcsICdob3JzZScsICdrYW5nYXJvbyddCisKICAgICAnJycKLSAgICBfaGVhcHBvcCwgX2hlYXByZXBsYWNlLCBfU3RvcEl0ZXJhdGlvbiA9IGhlYXBwb3AsIGhlYXByZXBsYWNlLCBTdG9wSXRlcmF0aW9uCi0gICAgX2xlbiA9IGxlbgogCiAgICAgaCA9IFtdCiAgICAgaF9hcHBlbmQgPSBoLmFwcGVuZAotICAgIGZvciBpdG51bSwgaXQgaW4gZW51bWVyYXRlKG1hcChpdGVyLCBpdGVyYWJsZXMpKToKKworICAgIGlmIHJldmVyc2U6CisgICAgICAgIF9oZWFwaWZ5ID0gX2hlYXBpZnlfbWF4CisgICAgICAgIF9oZWFwcG9wID0gX2hlYXBwb3BfbWF4CisgICAgICAgIF9oZWFwcmVwbGFjZSA9IF9oZWFwcmVwbGFjZV9tYXgKKyAgICAgICAgZGlyZWN0aW9uID0gLTEKKyAgICBlbHNlOgorICAgICAgICBfaGVhcGlmeSA9IGhlYXBpZnkKKyAgICAgICAgX2hlYXBwb3AgPSBoZWFwcG9wCisgICAgICAgIF9oZWFwcmVwbGFjZSA9IGhlYXByZXBsYWNlCisgICAgICAgIGRpcmVjdGlvbiA9IDEKKworICAgIGlmIGtleSBpcyBOb25lOgorICAgICAgICBmb3Igb3JkZXIsIGl0IGluIGVudW1lcmF0ZShtYXAoaXRlciwgaXRlcmFibGVzKSk6CisgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgbmV4dCA9IGl0Ll9fbmV4dF9fCisgICAgICAgICAgICAgICAgaF9hcHBlbmQoW25leHQoKSwgb3JkZXIgKiBkaXJlY3Rpb24sIG5leHRdKQorICAgICAgICAgICAgZXhjZXB0IFN0b3BJdGVyYXRpb246CisgICAgICAgICAgICAgICAgcGFzcworICAgICAgICBfaGVhcGlmeShoKQorICAgICAgICB3aGlsZSBsZW4oaCkgPiAxOgorICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgIHdoaWxlIFRydWU6CisgICAgICAgICAgICAgICAgICAgIHZhbHVlLCBvcmRlciwgbmV4dCA9IHMgPSBoWzBdCisgICAgICAgICAgICAgICAgICAgIHlpZWxkIHZhbHVlCisgICAgICAgICAgICAgICAgICAgIHNbMF0gPSBuZXh0KCkgICAgICAgICAgICMgcmFpc2VzIFN0b3BJdGVyYXRpb24gd2hlbiBleGhhdXN0ZWQKKyAgICAgICAgICAgICAgICAgICAgX2hlYXByZXBsYWNlKGgsIHMpICAgICAgIyByZXN0b3JlIGhlYXAgY29uZGl0aW9uCisgICAgICAgICAgICBleGNlcHQgU3RvcEl0ZXJhdGlvbjoKKyAgICAgICAgICAgICAgICBfaGVhcHBvcChoKSAgICAgICAgICAgICAgICAgIyByZW1vdmUgZW1wdHkgaXRlcmF0b3IKKyAgICAgICAgaWYgaDoKKyAgICAgICAgICAgICMgZmFzdCBjYXNlIHdoZW4gb25seSBhIHNpbmdsZSBpdGVyYXRvciByZW1haW5zCisgICAgICAgICAgICB2YWx1ZSwgb3JkZXIsIG5leHQgPSBoWzBdCisgICAgICAgICAgICB5aWVsZCB2YWx1ZQorICAgICAgICAgICAgeWllbGQgZnJvbSBuZXh0Ll9fc2VsZl9fCisgICAgICAgIHJldHVybgorCisgICAgZm9yIG9yZGVyLCBpdCBpbiBlbnVtZXJhdGUobWFwKGl0ZXIsIGl0ZXJhYmxlcykpOgogICAgICAgICB0cnk6CiAgICAgICAgICAgICBuZXh0ID0gaXQuX19uZXh0X18KLSAgICAgICAgICAgIGhfYXBwZW5kKFtuZXh0KCksIGl0bnVtLCBuZXh0XSkKLSAgICAgICAgZXhjZXB0IF9TdG9wSXRlcmF0aW9uOgorICAgICAgICAgICAgdmFsdWUgPSBuZXh0KCkKKyAgICAgICAgICAgIGhfYXBwZW5kKFtrZXkodmFsdWUpLCBvcmRlciAqIGRpcmVjdGlvbiwgdmFsdWUsIG5leHRdKQorICAgICAgICBleGNlcHQgU3RvcEl0ZXJhdGlvbjoKICAgICAgICAgICAgIHBhc3MKLSAgICBoZWFwaWZ5KGgpCi0KLSAgICB3aGlsZSBfbGVuKGgpID4gMToKKyAgICBfaGVhcGlmeShoKQorICAgIHdoaWxlIGxlbihoKSA+IDE6CiAgICAgICAgIHRyeToKICAgICAgICAgICAgIHdoaWxlIFRydWU6Ci0gICAgICAgICAgICAgICAgdiwgaXRudW0sIG5leHQgPSBzID0gaFswXQotICAgICAgICAgICAgICAgIHlpZWxkIHYKLSAgICAgICAgICAgICAgICBzWzBdID0gbmV4dCgpICAgICAgICAgICAgICAgIyByYWlzZXMgU3RvcEl0ZXJhdGlvbiB3aGVuIGV4aGF1c3RlZAotICAgICAgICAgICAgICAgIF9oZWFwcmVwbGFjZShoLCBzKSAgICAgICAgICAjIHJlc3RvcmUgaGVhcCBjb25kaXRpb24KLSAgICAgICAgZXhjZXB0IF9TdG9wSXRlcmF0aW9uOgotICAgICAgICAgICAgX2hlYXBwb3AoaCkgICAgICAgICAgICAgICAgICAgICAjIHJlbW92ZSBlbXB0eSBpdGVyYXRvcgorICAgICAgICAgICAgICAgIGtleV92YWx1ZSwgb3JkZXIsIHZhbHVlLCBuZXh0ID0gcyA9IGhbMF0KKyAgICAgICAgICAgICAgICB5aWVsZCB2YWx1ZQorICAgICAgICAgICAgICAgIHZhbHVlID0gbmV4dCgpCisgICAgICAgICAgICAgICAgc1swXSA9IGtleSh2YWx1ZSkKKyAgICAgICAgICAgICAgICBzWzJdID0gdmFsdWUKKyAgICAgICAgICAgICAgICBfaGVhcHJlcGxhY2UoaCwgcykKKyAgICAgICAgZXhjZXB0IFN0b3BJdGVyYXRpb246CisgICAgICAgICAgICBfaGVhcHBvcChoKQogICAgIGlmIGg6Ci0gICAgICAgICMgZmFzdCBjYXNlIHdoZW4gb25seSBhIHNpbmdsZSBpdGVyYXRvciByZW1haW5zCi0gICAgICAgIHYsIGl0bnVtLCBuZXh0ID0gaFswXQotICAgICAgICB5aWVsZCB2CisgICAgICAgIGtleV92YWx1ZSwgb3JkZXIsIHZhbHVlLCBuZXh0ID0gaFswXQorICAgICAgICB5aWVsZCB2YWx1ZQogICAgICAgICB5aWVsZCBmcm9tIG5leHQuX19zZWxmX18KIAotIyBFeHRlbmQgdGhlIGltcGxlbWVudGF0aW9ucyBvZiBuc21hbGxlc3QgYW5kIG5sYXJnZXN0IHRvIHVzZSBhIGtleT0gYXJndW1lbnQKLV9uc21hbGxlc3QgPSBuc21hbGxlc3QKKworIyBBbGdvcml0aG0gbm90ZXMgZm9yIG5sYXJnZXN0KCkgYW5kIG5zbWFsbGVzdCgpCisjID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyMKKyMgTWFrZSBhIHNpbmdsZSBwYXNzIG92ZXIgdGhlIGRhdGEgd2hpbGUga2VlcGluZyB0aGUgayBtb3N0IGV4dHJlbWUgdmFsdWVzCisjIGluIGEgaGVhcC4gIE1lbW9yeSBjb25zdW1wdGlvbiBpcyBsaW1pdGVkIHRvIGtlZXBpbmcgayB2YWx1ZXMgaW4gYSBsaXN0LgorIworIyBNZWFzdXJlZCBwZXJmb3JtYW5jZSBmb3IgcmFuZG9tIGlucHV0czoKKyMKKyMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG51bWJlciBvZiBjb21wYXJpc29ucworIyAgICBuIGlucHV0cyAgICAgay1leHRyZW1lIHZhbHVlcyAgKGF2ZXJhZ2Ugb2YgNSB0cmlhbHMpICAgJSBtb3JlIHRoYW4gbWluKCkKKyMgLS0tLS0tLS0tLS0tLSAgIC0tLS0tLS0tLS0tLS0tLS0gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLSAgIC0tLS0tLS0tLS0tLS0tLS0tCisjICAgICAgMSwwMDAgICAgICAgICAgIDEwMCAgICAgICAgICAgICAgICAgIDMsMzE3ICAgICAgICAgICAgICAgMjMxLjclCisjICAgICAxMCwwMDAgICAgICAgICAgIDEwMCAgICAgICAgICAgICAgICAgMTQsMDQ2ICAgICAgICAgICAgICAgIDQwLjUlCisjICAgIDEwMCwwMDAgICAgICAgICAgIDEwMCAgICAgICAgICAgICAgICAxMDUsNzQ5ICAgICAgICAgICAgICAgICA1LjclCisjICAxLDAwMCwwMDAgICAgICAgICAgIDEwMCAgICAgICAgICAgICAgMSwwMDcsNzUxICAgICAgICAgICAgICAgICAwLjglCisjIDEwLDAwMCwwMDAgICAgICAgICAgIDEwMCAgICAgICAgICAgICAxMCwwMDksNDAxICAgICAgICAgICAgICAgICAwLjElCisjCisjIFRoZW9yZXRpY2FsIG51bWJlciBvZiBjb21wYXJpc29ucyBmb3IgayBzbWFsbGVzdCBvZiBuIHJhbmRvbSBpbnB1dHM6CisjCisjIFN0ZXAgICBDb21wYXJpc29ucyAgICAgICAgICAgICAgICAgIEFjdGlvbgorIyAtLS0tICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgIDEgICAgIDEuNjYgKiBrICAgICAgICAgICAgICAgICAgICAgaGVhcGlmeSB0aGUgZmlyc3Qgay1pbnB1dHMKKyMgIDIgICAgIG4gLSBrICAgICAgICAgICAgICAgICAgICAgICAgY29tcGFyZSByZW1haW5pbmcgZWxlbWVudHMgdG8gdG9wIG9mIGhlYXAKKyMgIDMgICAgIGsgKiAoMSArIGxnMihrKSkgKiBsbihuL2spICAgcmVwbGFjZSB0aGUgdG9wbW9zdCB2YWx1ZSBvbiB0aGUgaGVhcAorIyAgNCAgICAgayAqIGxnMihrKSAtIChrLzIpICAgICAgICAgICBmaW5hbCBzb3J0IG9mIHRoZSBrIG1vc3QgZXh0cmVtZSB2YWx1ZXMKKyMKKyMgQ29tYmluaW5nIGFuZCBzaW1wbGlmeWluZyBmb3IgYSByb3VnaCBlc3RpbWF0ZSBnaXZlczoKKyMKKyMgICAgICAgIGNvbXBhcmlzb25zID0gbiArIGsgKiAobG9nKGssIDIpICogbG9nKG4vaykgKyBsb2coaywgMikgKyBsb2cobi9rKSkKKyMKKyMgQ29tcHV0aW5nIHRoZSBudW1iZXIgb2YgY29tcGFyaXNvbnMgZm9yIHN0ZXAgMzoKKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgKiBGb3IgdGhlIGktdGggbmV3IHZhbHVlIGZyb20gdGhlIGl0ZXJhYmxlLCB0aGUgcHJvYmFiaWxpdHkgb2YgYmVpbmcgaW4gdGhlCisjICAgayBtb3N0IGV4dHJlbWUgdmFsdWVzIGlzIGsvaS4gIEZvciBleGFtcGxlLCB0aGUgcHJvYmFiaWxpdHkgb2YgdGhlIDEwMXN0CisjICAgdmFsdWUgc2VlbiBiZWluZyBpbiB0aGUgMTAwIG1vc3QgZXh0cmVtZSB2YWx1ZXMgaXMgMTAwLzEwMS4KKyMgKiBJZiB0aGUgdmFsdWUgaXMgYSBuZXcgZXh0cmVtZSB2YWx1ZSwgdGhlIGNvc3Qgb2YgaW5zZXJ0aW5nIGl0IGludG8gdGhlCisjICAgaGVhcCBpcyAxICsgbG9nKGssIDIpLgorIyAqIFRoZSBwcm9iYWJpbGl0eSB0aW1lcyB0aGUgY29zdCBnaXZlczoKKyMgICAgICAgICAgICAoay9pKSAqICgxICsgbG9nKGssIDIpKQorIyAqIFN1bW1pbmcgYWNyb3NzIHRoZSByZW1haW5pbmcgbi1rIGVsZW1lbnRzIGdpdmVzOgorIyAgICAgICAgICAgIHN1bSgoay9pKSAqICgxICsgbG9nKGssIDIpKSBmb3IgaSBpbiByYW5nZShrKzEsIG4rMSkpCisjICogVGhpcyByZWR1Y2VzIHRvOgorIyAgICAgICAgICAgIChIKG4pIC0gSChrKSkgKiBrICogKDEgKyBsb2coaywgMikpCisjICogV2hlcmUgSChuKSBpcyB0aGUgbi10aCBoYXJtb25pYyBudW1iZXIgZXN0aW1hdGVkIGJ5OgorIyAgICAgICAgICAgIGdhbW1hID0gMC41NzcyMTU2NjQ5CisjICAgICAgICAgICAgSChuKSA9IGxvZyhuLCBlKSArIGdhbW1hICsgMSAvICgyICogbikKKyMgICBodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0hhcm1vbmljX3Nlcmllc18obWF0aGVtYXRpY3MpI1JhdGVfb2ZfZGl2ZXJnZW5jZQorIyAqIFN1YnN0aXR1dGluZyB0aGUgSChuKSBmb3JtdWxhOgorIyAgICAgICAgICAgIGNvbXBhcmlzb25zID0gayAqICgxICsgbG9nKGssIDIpKSAqIChsb2cobi9rLCBlKSArICgxL24gLSAxL2spIC8gMikKKyMKKyMgV29yc3QtY2FzZSBmb3Igc3RlcCAzOgorIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIEluIHRoZSB3b3JzdCBjYXNlLCB0aGUgaW5wdXQgZGF0YSBpcyByZXZlcnNlZCBzb3J0ZWQgc28gdGhhdCBldmVyeSBuZXcgZWxlbWVudAorIyBtdXN0IGJlIGluc2VydGVkIGluIHRoZSBoZWFwOgorIworIyAgICAgICAgICAgICBjb21wYXJpc29ucyA9IDEuNjYgKiBrICsgbG9nKGssIDIpICogKG4gLSBrKQorIworIyBBbHRlcm5hdGl2ZSBBbGdvcml0aG1zCisjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgT3RoZXIgYWxnb3JpdGhtcyB3ZXJlIG5vdCB1c2VkIGJlY2F1c2UgdGhleToKKyMgMSkgVG9vayBtdWNoIG1vcmUgYXV4aWxpYXJ5IG1lbW9yeSwKKyMgMikgTWFkZSBtdWx0aXBsZSBwYXNzZXMgb3ZlciB0aGUgZGF0YS4KKyMgMykgTWFkZSBtb3JlIGNvbXBhcmlzb25zIGluIGNvbW1vbiBjYXNlcyAoc21hbGwgaywgbGFyZ2Ugbiwgc2VtaS1yYW5kb20gaW5wdXQpLgorIyBTZWUgdGhlIG1vcmUgZGV0YWlsZWQgY29tcGFyaXNvbiBvZiBhcHByb2FjaCBhdDoKKyMgaHR0cDovL2NvZGUuYWN0aXZlc3RhdGUuY29tL3JlY2lwZXMvNTc3NTczLWNvbXBhcmUtYWxnb3JpdGhtcy1mb3ItaGVhcHFzbWFsbGVzdAorCiBkZWYgbnNtYWxsZXN0KG4sIGl0ZXJhYmxlLCBrZXk9Tm9uZSk6CiAgICAgIiIiRmluZCB0aGUgbiBzbWFsbGVzdCBlbGVtZW50cyBpbiBhIGRhdGFzZXQuCiAKICAgICBFcXVpdmFsZW50IHRvOiAgc29ydGVkKGl0ZXJhYmxlLCBrZXk9a2V5KVs6bl0KICAgICAiIiIKLSAgICAjIFNob3J0LWN1dCBmb3Igbj09MSBpcyB0byB1c2UgbWluKCkgd2hlbiBsZW4oaXRlcmFibGUpPjAKKworICAgICMgU2hvcnQtY3V0IGZvciBuPT0xIGlzIHRvIHVzZSBtaW4oKQogICAgIGlmIG4gPT0gMToKICAgICAgICAgaXQgPSBpdGVyKGl0ZXJhYmxlKQotICAgICAgICBoZWFkID0gbGlzdChpc2xpY2UoaXQsIDEpKQotICAgICAgICBpZiBub3QgaGVhZDoKLSAgICAgICAgICAgIHJldHVybiBbXQorICAgICAgICBzZW50aW5lbCA9IG9iamVjdCgpCiAgICAgICAgIGlmIGtleSBpcyBOb25lOgotICAgICAgICAgICAgcmV0dXJuIFttaW4oY2hhaW4oaGVhZCwgaXQpKV0KLSAgICAgICAgcmV0dXJuIFttaW4oY2hhaW4oaGVhZCwgaXQpLCBrZXk9a2V5KV0KKyAgICAgICAgICAgIHJlc3VsdCA9IG1pbihpdCwgZGVmYXVsdD1zZW50aW5lbCkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHJlc3VsdCA9IG1pbihpdCwgZGVmYXVsdD1zZW50aW5lbCwga2V5PWtleSkKKyAgICAgICAgcmV0dXJuIFtdIGlmIHJlc3VsdCBpcyBzZW50aW5lbCBlbHNlIFtyZXN1bHRdCiAKICAgICAjIFdoZW4gbj49c2l6ZSwgaXQncyBmYXN0ZXIgdG8gdXNlIHNvcnRlZCgpCiAgICAgdHJ5OgpAQCAtNDEzLDMyICs0ODUsNTcgQEAKIAogICAgICMgV2hlbiBrZXkgaXMgbm9uZSwgdXNlIHNpbXBsZXIgZGVjb3JhdGlvbgogICAgIGlmIGtleSBpcyBOb25lOgotICAgICAgICBpdCA9IHppcChpdGVyYWJsZSwgY291bnQoKSkgICAgICAgICAgICAgICAgICAgICAgICAgIyBkZWNvcmF0ZQotICAgICAgICByZXN1bHQgPSBfbnNtYWxsZXN0KG4sIGl0KQotICAgICAgICByZXR1cm4gW3JbMF0gZm9yIHIgaW4gcmVzdWx0XSAgICAgICAgICAgICAgICAgICAgICAgIyB1bmRlY29yYXRlCisgICAgICAgIGl0ID0gaXRlcihpdGVyYWJsZSkKKyAgICAgICAgIyBwdXQgdGhlIHJhbmdlKG4pIGZpcnN0IHNvIHRoYXQgemlwKCkgZG9lc24ndAorICAgICAgICAjIGNvbnN1bWUgb25lIHRvbyBtYW55IGVsZW1lbnRzIGZyb20gdGhlIGl0ZXJhdG9yCisgICAgICAgIHJlc3VsdCA9IFsoZWxlbSwgaSkgZm9yIGksIGVsZW0gaW4gemlwKHJhbmdlKG4pLCBpdCldCisgICAgICAgIGlmIG5vdCByZXN1bHQ6CisgICAgICAgICAgICByZXR1cm4gcmVzdWx0CisgICAgICAgIF9oZWFwaWZ5X21heChyZXN1bHQpCisgICAgICAgIHRvcCA9IHJlc3VsdFswXVswXQorICAgICAgICBvcmRlciA9IG4KKyAgICAgICAgX2hlYXByZXBsYWNlID0gX2hlYXByZXBsYWNlX21heAorICAgICAgICBmb3IgZWxlbSBpbiBpdDoKKyAgICAgICAgICAgIGlmIGVsZW0gPCB0b3A6CisgICAgICAgICAgICAgICAgX2hlYXByZXBsYWNlKHJlc3VsdCwgKGVsZW0sIG9yZGVyKSkKKyAgICAgICAgICAgICAgICB0b3AgPSByZXN1bHRbMF1bMF0KKyAgICAgICAgICAgICAgICBvcmRlciArPSAxCisgICAgICAgIHJlc3VsdC5zb3J0KCkKKyAgICAgICAgcmV0dXJuIFtyWzBdIGZvciByIGluIHJlc3VsdF0KIAogICAgICMgR2VuZXJhbCBjYXNlLCBzbG93ZXN0IG1ldGhvZAotICAgIGluMSwgaW4yID0gdGVlKGl0ZXJhYmxlKQotICAgIGl0ID0gemlwKG1hcChrZXksIGluMSksIGNvdW50KCksIGluMikgICAgICAgICAgICAgICAgICAgIyBkZWNvcmF0ZQotICAgIHJlc3VsdCA9IF9uc21hbGxlc3QobiwgaXQpCi0gICAgcmV0dXJuIFtyWzJdIGZvciByIGluIHJlc3VsdF0gICAgICAgICAgICAgICAgICAgICAgICAgICAjIHVuZGVjb3JhdGUKKyAgICBpdCA9IGl0ZXIoaXRlcmFibGUpCisgICAgcmVzdWx0ID0gWyhrZXkoZWxlbSksIGksIGVsZW0pIGZvciBpLCBlbGVtIGluIHppcChyYW5nZShuKSwgaXQpXQorICAgIGlmIG5vdCByZXN1bHQ6CisgICAgICAgIHJldHVybiByZXN1bHQKKyAgICBfaGVhcGlmeV9tYXgocmVzdWx0KQorICAgIHRvcCA9IHJlc3VsdFswXVswXQorICAgIG9yZGVyID0gbgorICAgIF9oZWFwcmVwbGFjZSA9IF9oZWFwcmVwbGFjZV9tYXgKKyAgICBmb3IgZWxlbSBpbiBpdDoKKyAgICAgICAgayA9IGtleShlbGVtKQorICAgICAgICBpZiBrIDwgdG9wOgorICAgICAgICAgICAgX2hlYXByZXBsYWNlKHJlc3VsdCwgKGssIG9yZGVyLCBlbGVtKSkKKyAgICAgICAgICAgIHRvcCA9IHJlc3VsdFswXVswXQorICAgICAgICAgICAgb3JkZXIgKz0gMQorICAgIHJlc3VsdC5zb3J0KCkKKyAgICByZXR1cm4gW3JbMl0gZm9yIHIgaW4gcmVzdWx0XQogCi1fbmxhcmdlc3QgPSBubGFyZ2VzdAogZGVmIG5sYXJnZXN0KG4sIGl0ZXJhYmxlLCBrZXk9Tm9uZSk6CiAgICAgIiIiRmluZCB0aGUgbiBsYXJnZXN0IGVsZW1lbnRzIGluIGEgZGF0YXNldC4KIAogICAgIEVxdWl2YWxlbnQgdG86ICBzb3J0ZWQoaXRlcmFibGUsIGtleT1rZXksIHJldmVyc2U9VHJ1ZSlbOm5dCiAgICAgIiIiCiAKLSAgICAjIFNob3J0LWN1dCBmb3Igbj09MSBpcyB0byB1c2UgbWF4KCkgd2hlbiBsZW4oaXRlcmFibGUpPjAKKyAgICAjIFNob3J0LWN1dCBmb3Igbj09MSBpcyB0byB1c2UgbWF4KCkKICAgICBpZiBuID09IDE6CiAgICAgICAgIGl0ID0gaXRlcihpdGVyYWJsZSkKLSAgICAgICAgaGVhZCA9IGxpc3QoaXNsaWNlKGl0LCAxKSkKLSAgICAgICAgaWYgbm90IGhlYWQ6Ci0gICAgICAgICAgICByZXR1cm4gW10KKyAgICAgICAgc2VudGluZWwgPSBvYmplY3QoKQogICAgICAgICBpZiBrZXkgaXMgTm9uZToKLSAgICAgICAgICAgIHJldHVybiBbbWF4KGNoYWluKGhlYWQsIGl0KSldCi0gICAgICAgIHJldHVybiBbbWF4KGNoYWluKGhlYWQsIGl0KSwga2V5PWtleSldCisgICAgICAgICAgICByZXN1bHQgPSBtYXgoaXQsIGRlZmF1bHQ9c2VudGluZWwpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICByZXN1bHQgPSBtYXgoaXQsIGRlZmF1bHQ9c2VudGluZWwsIGtleT1rZXkpCisgICAgICAgIHJldHVybiBbXSBpZiByZXN1bHQgaXMgc2VudGluZWwgZWxzZSBbcmVzdWx0XQogCiAgICAgIyBXaGVuIG4+PXNpemUsIGl0J3MgZmFzdGVyIHRvIHVzZSBzb3J0ZWQoKQogICAgIHRyeToKQEAgLTQ1MSwyNiArNTQ4LDYwIEBACiAKICAgICAjIFdoZW4ga2V5IGlzIG5vbmUsIHVzZSBzaW1wbGVyIGRlY29yYXRpb24KICAgICBpZiBrZXkgaXMgTm9uZToKLSAgICAgICAgaXQgPSB6aXAoaXRlcmFibGUsIGNvdW50KDAsLTEpKSAgICAgICAgICAgICAgICAgICAgICMgZGVjb3JhdGUKLSAgICAgICAgcmVzdWx0ID0gX25sYXJnZXN0KG4sIGl0KQotICAgICAgICByZXR1cm4gW3JbMF0gZm9yIHIgaW4gcmVzdWx0XSAgICAgICAgICAgICAgICAgICAgICAgIyB1bmRlY29yYXRlCisgICAgICAgIGl0ID0gaXRlcihpdGVyYWJsZSkKKyAgICAgICAgcmVzdWx0ID0gWyhlbGVtLCBpKSBmb3IgaSwgZWxlbSBpbiB6aXAocmFuZ2UoMCwgLW4sIC0xKSwgaXQpXQorICAgICAgICBpZiBub3QgcmVzdWx0OgorICAgICAgICAgICAgcmV0dXJuIHJlc3VsdAorICAgICAgICBoZWFwaWZ5KHJlc3VsdCkKKyAgICAgICAgdG9wID0gcmVzdWx0WzBdWzBdCisgICAgICAgIG9yZGVyID0gLW4KKyAgICAgICAgX2hlYXByZXBsYWNlID0gaGVhcHJlcGxhY2UKKyAgICAgICAgZm9yIGVsZW0gaW4gaXQ6CisgICAgICAgICAgICBpZiB0b3AgPCBlbGVtOgorICAgICAgICAgICAgICAgIF9oZWFwcmVwbGFjZShyZXN1bHQsIChlbGVtLCBvcmRlcikpCisgICAgICAgICAgICAgICAgdG9wID0gcmVzdWx0WzBdWzBdCisgICAgICAgICAgICAgICAgb3JkZXIgLT0gMQorICAgICAgICByZXN1bHQuc29ydChyZXZlcnNlPVRydWUpCisgICAgICAgIHJldHVybiBbclswXSBmb3IgciBpbiByZXN1bHRdCiAKICAgICAjIEdlbmVyYWwgY2FzZSwgc2xvd2VzdCBtZXRob2QKLSAgICBpbjEsIGluMiA9IHRlZShpdGVyYWJsZSkKLSAgICBpdCA9IHppcChtYXAoa2V5LCBpbjEpLCBjb3VudCgwLC0xKSwgaW4yKSAgICAgICAgICAgICAgICMgZGVjb3JhdGUKLSAgICByZXN1bHQgPSBfbmxhcmdlc3QobiwgaXQpCi0gICAgcmV0dXJuIFtyWzJdIGZvciByIGluIHJlc3VsdF0gICAgICAgICAgICAgICAgICAgICAgICAgICAjIHVuZGVjb3JhdGUKKyAgICBpdCA9IGl0ZXIoaXRlcmFibGUpCisgICAgcmVzdWx0ID0gWyhrZXkoZWxlbSksIGksIGVsZW0pIGZvciBpLCBlbGVtIGluIHppcChyYW5nZSgwLCAtbiwgLTEpLCBpdCldCisgICAgaWYgbm90IHJlc3VsdDoKKyAgICAgICAgcmV0dXJuIHJlc3VsdAorICAgIGhlYXBpZnkocmVzdWx0KQorICAgIHRvcCA9IHJlc3VsdFswXVswXQorICAgIG9yZGVyID0gLW4KKyAgICBfaGVhcHJlcGxhY2UgPSBoZWFwcmVwbGFjZQorICAgIGZvciBlbGVtIGluIGl0OgorICAgICAgICBrID0ga2V5KGVsZW0pCisgICAgICAgIGlmIHRvcCA8IGs6CisgICAgICAgICAgICBfaGVhcHJlcGxhY2UocmVzdWx0LCAoaywgb3JkZXIsIGVsZW0pKQorICAgICAgICAgICAgdG9wID0gcmVzdWx0WzBdWzBdCisgICAgICAgICAgICBvcmRlciAtPSAxCisgICAgcmVzdWx0LnNvcnQocmV2ZXJzZT1UcnVlKQorICAgIHJldHVybiBbclsyXSBmb3IgciBpbiByZXN1bHRdCisKKyMgSWYgYXZhaWxhYmxlLCB1c2UgQyBpbXBsZW1lbnRhdGlvbgordHJ5OgorICAgIGZyb20gX2hlYXBxIGltcG9ydCAqCitleGNlcHQgSW1wb3J0RXJyb3I6CisgICAgcGFzcwordHJ5OgorICAgIGZyb20gX2hlYXBxIGltcG9ydCBfaGVhcHJlcGxhY2VfbWF4CitleGNlcHQgSW1wb3J0RXJyb3I6CisgICAgcGFzcwordHJ5OgorICAgIGZyb20gX2hlYXBxIGltcG9ydCBfaGVhcGlmeV9tYXgKK2V4Y2VwdCBJbXBvcnRFcnJvcjoKKyAgICBwYXNzCit0cnk6CisgICAgZnJvbSBfaGVhcHEgaW1wb3J0IF9oZWFwcG9wX21heAorZXhjZXB0IEltcG9ydEVycm9yOgorICAgIHBhc3MKKwogCiBpZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgotICAgICMgU2ltcGxlIHNhbml0eSB0ZXN0Ci0gICAgaGVhcCA9IFtdCi0gICAgZGF0YSA9IFsxLCAzLCA1LCA3LCA5LCAyLCA0LCA2LCA4LCAwXQotICAgIGZvciBpdGVtIGluIGRhdGE6Ci0gICAgICAgIGhlYXBwdXNoKGhlYXAsIGl0ZW0pCi0gICAgc29ydCA9IFtdCi0gICAgd2hpbGUgaGVhcDoKLSAgICAgICAgc29ydC5hcHBlbmQoaGVhcHBvcChoZWFwKSkKLSAgICBwcmludChzb3J0KQogCiAgICAgaW1wb3J0IGRvY3Rlc3QKLSAgICBkb2N0ZXN0LnRlc3Rtb2QoKQorICAgIHByaW50KGRvY3Rlc3QudGVzdG1vZCgpKQpkaWZmIC0tZ2l0IGEvTGliL2h0bWwvZW50aXRpZXMucHkgYi9MaWIvaHRtbC9lbnRpdGllcy5weQppbmRleCBmN2RlYWU2Li4zZTE3NzhiIDEwMDY0NAotLS0gYS9MaWIvaHRtbC9lbnRpdGllcy5weQorKysgYi9MaWIvaHRtbC9lbnRpdGllcy5weQpAQCAtMSw1ICsxLDggQEAKICIiIkhUTUwgY2hhcmFjdGVyIGVudGl0eSByZWZlcmVuY2VzLiIiIgogCitfX2FsbF9fID0gWydodG1sNScsICduYW1lMmNvZGVwb2ludCcsICdjb2RlcG9pbnQybmFtZScsICdlbnRpdHlkZWZzJ10KKworCiAjIG1hcHMgdGhlIEhUTUwgZW50aXR5IG5hbWUgdG8gdGhlIFVuaWNvZGUgY29kZSBwb2ludAogbmFtZTJjb2RlcG9pbnQgPSB7CiAgICAgJ0FFbGlnJzogICAgMHgwMGM2LCAjIGxhdGluIGNhcGl0YWwgbGV0dGVyIEFFID0gbGF0aW4gY2FwaXRhbCBsaWdhdHVyZSBBRSwgVSswMEM2IElTT2xhdDEKZGlmZiAtLWdpdCBhL0xpYi9odG1sL3BhcnNlci5weSBiL0xpYi9odG1sL3BhcnNlci5weQppbmRleCBhNjUwZDVlLi4zOTBkNGNjIDEwMDY0NAotLS0gYS9MaWIvaHRtbC9wYXJzZXIucHkKKysrIGIvTGliL2h0bWwvcGFyc2VyLnB5CkBAIC0yOSwzNSArMjksMTUgQEAKIHBpY2xvc2UgPSByZS5jb21waWxlKCc+JykKIGNvbW1lbnRjbG9zZSA9IHJlLmNvbXBpbGUocictLVxzKj4nKQogIyBOb3RlOgotIyAgMSkgdGhlIHN0cmljdCBhdHRyZmluZCBpc24ndCByZWFsbHkgc3RyaWN0LCBidXQgd2UgY2FuJ3QgbWFrZSBpdAotIyAgICAgY29ycmVjdGx5IHN0cmljdCB3aXRob3V0IGJyZWFraW5nIGJhY2t3YXJkIGNvbXBhdGliaWxpdHk7Ci0jICAyKSBpZiB5b3UgY2hhbmdlIHRhZ2ZpbmQvYXR0cmZpbmQgcmVtZW1iZXIgdG8gdXBkYXRlIGxvY2F0ZXN0YXJ0dGFnZW5kIHRvbzsKLSMgIDMpIGlmIHlvdSBjaGFuZ2UgdGFnZmluZC9hdHRyZmluZCBhbmQvb3IgbG9jYXRlc3RhcnR0YWdlbmQgdGhlIHBhcnNlciB3aWxsCisjICAxKSBpZiB5b3UgY2hhbmdlIHRhZ2ZpbmQvYXR0cmZpbmQgcmVtZW1iZXIgdG8gdXBkYXRlIGxvY2F0ZXN0YXJ0dGFnZW5kIHRvbzsKKyMgIDIpIGlmIHlvdSBjaGFuZ2UgdGFnZmluZC9hdHRyZmluZCBhbmQvb3IgbG9jYXRlc3RhcnR0YWdlbmQgdGhlIHBhcnNlciB3aWxsCiAjICAgICBleHBsb2RlLCBzbyBkb24ndCBkbyBpdC4KLXRhZ2ZpbmQgPSByZS5jb21waWxlKCcoW2EtekEtWl1bLS5hLXpBLVowLTk6X10qKSg/OlxzfC8oPyE+KSkqJykKICMgc2VlIGh0dHA6Ly93d3cudzMub3JnL1RSL2h0bWw1L3Rva2VuaXphdGlvbi5odG1sI3RhZy1vcGVuLXN0YXRlCiAjIGFuZCBodHRwOi8vd3d3LnczLm9yZy9UUi9odG1sNS90b2tlbml6YXRpb24uaHRtbCN0YWctbmFtZS1zdGF0ZQogdGFnZmluZF90b2xlcmFudCA9IHJlLmNvbXBpbGUoJyhbYS16QS1aXVteXHRcblxyXGYgLz5ceDAwXSopKD86XHN8Lyg/IT4pKSonKQotYXR0cmZpbmQgPSByZS5jb21waWxlKAotICAgIHInXHMqKFthLXpBLVpfXVstLjphLXpBLVpfMC05XSopKFxzKj1ccyonCi0gICAgcicoXCdbXlwnXSpcJ3wiW14iXSoifFteXHMiXCc9PD5gXSopKT8nKQogYXR0cmZpbmRfdG9sZXJhbnQgPSByZS5jb21waWxlKAogICAgIHInKCg/PD1bXCciXHMvXSlbXlxzLz5dW15ccy89Pl0qKShccyo9K1xzKicKICAgICByJyhcJ1teXCddKlwnfCJbXiJdKiJ8KD8hW1wnIl0pW14+XHNdKikpPyg/OlxzfC8oPyE+KSkqJykKLWxvY2F0ZXN0YXJ0dGFnZW5kID0gcmUuY29tcGlsZShyIiIiCi0gIDxbYS16QS1aXVstLmEtekEtWjAtOTpfXSogICAgICAgICAgIyB0YWcgbmFtZQotICAoPzpccysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgd2hpdGVzcGFjZSBiZWZvcmUgYXR0cmlidXRlIG5hbWUKLSAgICAoPzpbYS16QS1aX11bLS46YS16QS1aMC05X10qICAgICAjIGF0dHJpYnV0ZSBuYW1lCi0gICAgICAoPzpccyo9XHMqICAgICAgICAgICAgICAgICAgICAgIyB2YWx1ZSBpbmRpY2F0b3IKLSAgICAgICAgKD86J1teJ10qJyAgICAgICAgICAgICAgICAgICAjIExJVEEtZW5jbG9zZWQgdmFsdWUKLSAgICAgICAgICB8XCJbXlwiXSpcIiAgICAgICAgICAgICAgICAjIExJVC1lbmNsb3NlZCB2YWx1ZQotICAgICAgICAgIHxbXidcIj5cc10rICAgICAgICAgICAgICAgICMgYmFyZSB2YWx1ZQotICAgICAgICAgKQotICAgICAgICk/Ci0gICAgICkKLSAgICkqCi0gIFxzKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyB0cmFpbGluZyB3aGl0ZXNwYWNlCi0iIiIsIHJlLlZFUkJPU0UpCiBsb2NhdGVzdGFydHRhZ2VuZF90b2xlcmFudCA9IHJlLmNvbXBpbGUociIiIgogICA8W2EtekEtWl1bXlx0XG5cclxmIC8+XHgwMF0qICAgICAgICMgdGFnIG5hbWUKICAgKD86W1xzL10qICAgICAgICAgICAgICAgICAgICAgICAgICAjIG9wdGlvbmFsIHdoaXRlc3BhY2UgYmVmb3JlIGF0dHJpYnV0ZSBuYW1lCkBAIC03OSwyNSArNTksNiBAQAogZW5kdGFnZmluZCA9IHJlLmNvbXBpbGUoJzwvXHMqKFthLXpBLVpdWy0uYS16QS1aMC05Ol9dKilccyo+JykKIAogCi1jbGFzcyBIVE1MUGFyc2VFcnJvcihFeGNlcHRpb24pOgotICAgICIiIkV4Y2VwdGlvbiByYWlzZWQgZm9yIGFsbCBwYXJzZSBlcnJvcnMuIiIiCi0KLSAgICBkZWYgX19pbml0X18oc2VsZiwgbXNnLCBwb3NpdGlvbj0oTm9uZSwgTm9uZSkpOgotICAgICAgICBhc3NlcnQgbXNnCi0gICAgICAgIHNlbGYubXNnID0gbXNnCi0gICAgICAgIHNlbGYubGluZW5vID0gcG9zaXRpb25bMF0KLSAgICAgICAgc2VsZi5vZmZzZXQgPSBwb3NpdGlvblsxXQotCi0gICAgZGVmIF9fc3RyX18oc2VsZik6Ci0gICAgICAgIHJlc3VsdCA9IHNlbGYubXNnCi0gICAgICAgIGlmIHNlbGYubGluZW5vIGlzIG5vdCBOb25lOgotICAgICAgICAgICAgcmVzdWx0ID0gcmVzdWx0ICsgIiwgYXQgbGluZSAlZCIgJSBzZWxmLmxpbmVubwotICAgICAgICBpZiBzZWxmLm9mZnNldCBpcyBub3QgTm9uZToKLSAgICAgICAgICAgIHJlc3VsdCA9IHJlc3VsdCArICIsIGNvbHVtbiAlZCIgJSAoc2VsZi5vZmZzZXQgKyAxKQotICAgICAgICByZXR1cm4gcmVzdWx0Ci0KLQotX2RlZmF1bHRfc2VudGluZWwgPSBvYmplY3QoKQogCiBjbGFzcyBIVE1MUGFyc2VyKF9tYXJrdXBiYXNlLlBhcnNlckJhc2UpOgogICAgICIiIkZpbmQgdGFncyBhbmQgb3RoZXIgbWFya3VwIGFuZCBjYWxsIGhhbmRsZXIgZnVuY3Rpb25zLgpAQCAtMTIzLDI3ICs4NCwxMiBAQAogCiAgICAgQ0RBVEFfQ09OVEVOVF9FTEVNRU5UUyA9ICgic2NyaXB0IiwgInN0eWxlIikKIAotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBzdHJpY3Q9X2RlZmF1bHRfc2VudGluZWwsICosCi0gICAgICAgICAgICAgICAgIGNvbnZlcnRfY2hhcnJlZnM9X2RlZmF1bHRfc2VudGluZWwpOgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCAqLCBjb252ZXJ0X2NoYXJyZWZzPVRydWUpOgogICAgICAgICAiIiJJbml0aWFsaXplIGFuZCByZXNldCB0aGlzIGluc3RhbmNlLgogCi0gICAgICAgIElmIGNvbnZlcnRfY2hhcnJlZnMgaXMgVHJ1ZSAoZGVmYXVsdDogRmFsc2UpLCBhbGwgY2hhcmFjdGVyIHJlZmVyZW5jZXMKKyAgICAgICAgSWYgY29udmVydF9jaGFycmVmcyBpcyBUcnVlICh0aGUgZGVmYXVsdCksIGFsbCBjaGFyYWN0ZXIgcmVmZXJlbmNlcwogICAgICAgICBhcmUgYXV0b21hdGljYWxseSBjb252ZXJ0ZWQgdG8gdGhlIGNvcnJlc3BvbmRpbmcgVW5pY29kZSBjaGFyYWN0ZXJzLgotICAgICAgICBJZiBzdHJpY3QgaXMgc2V0IHRvIEZhbHNlICh0aGUgZGVmYXVsdCkgdGhlIHBhcnNlciB3aWxsIHBhcnNlIGludmFsaWQKLSAgICAgICAgbWFya3VwLCBvdGhlcndpc2UgaXQgd2lsbCByYWlzZSBhbiBlcnJvci4gIE5vdGUgdGhhdCB0aGUgc3RyaWN0IG1vZGUKLSAgICAgICAgYW5kIGFyZ3VtZW50IGFyZSBkZXByZWNhdGVkLgogICAgICAgICAiIiIKLSAgICAgICAgaWYgc3RyaWN0IGlzIG5vdCBfZGVmYXVsdF9zZW50aW5lbDoKLSAgICAgICAgICAgIHdhcm5pbmdzLndhcm4oIlRoZSBzdHJpY3QgYXJndW1lbnQgYW5kIG1vZGUgYXJlIGRlcHJlY2F0ZWQuIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgRGVwcmVjYXRpb25XYXJuaW5nLCBzdGFja2xldmVsPTIpCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBzdHJpY3QgPSBGYWxzZSAgIyBkZWZhdWx0Ci0gICAgICAgIHNlbGYuc3RyaWN0ID0gc3RyaWN0Ci0gICAgICAgIGlmIGNvbnZlcnRfY2hhcnJlZnMgaXMgX2RlZmF1bHRfc2VudGluZWw6Ci0gICAgICAgICAgICBjb252ZXJ0X2NoYXJyZWZzID0gRmFsc2UgICMgZGVmYXVsdAotICAgICAgICAgICAgd2FybmluZ3Mud2FybigiVGhlIHZhbHVlIG9mIGNvbnZlcnRfY2hhcnJlZnMgd2lsbCBiZWNvbWUgVHJ1ZSBpbiAiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICIzLjUuIFlvdSBhcmUgZW5jb3VyYWdlZCB0byBzZXQgdGhlIHZhbHVlIGV4cGxpY2l0bHkuIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgRGVwcmVjYXRpb25XYXJuaW5nLCBzdGFja2xldmVsPTIpCiAgICAgICAgIHNlbGYuY29udmVydF9jaGFycmVmcyA9IGNvbnZlcnRfY2hhcnJlZnMKICAgICAgICAgc2VsZi5yZXNldCgpCiAKQEAgLTE2OCwxMSArMTE0LDYgQEAKICAgICAgICAgIiIiSGFuZGxlIGFueSBidWZmZXJlZCBkYXRhLiIiIgogICAgICAgICBzZWxmLmdvYWhlYWQoMSkKIAotICAgIGRlZiBlcnJvcihzZWxmLCBtZXNzYWdlKToKLSAgICAgICAgd2FybmluZ3Mud2FybigiVGhlICdlcnJvcicgbWV0aG9kIGlzIGRlcHJlY2F0ZWQuIiwKLSAgICAgICAgICAgICAgICAgICAgICBEZXByZWNhdGlvbldhcm5pbmcsIHN0YWNrbGV2ZWw9MikKLSAgICAgICAgcmFpc2UgSFRNTFBhcnNlRXJyb3IobWVzc2FnZSwgc2VsZi5nZXRwb3MoKSkKLQogICAgIF9fc3RhcnR0YWdfdGV4dCA9IE5vbmUKIAogICAgIGRlZiBnZXRfc3RhcnR0YWdfdGV4dChzZWxmKToKQEAgLTIyNywxMCArMTY4LDcgQEAKICAgICAgICAgICAgICAgICBlbGlmIHN0YXJ0c3dpdGgoIjw/IiwgaSk6CiAgICAgICAgICAgICAgICAgICAgIGsgPSBzZWxmLnBhcnNlX3BpKGkpCiAgICAgICAgICAgICAgICAgZWxpZiBzdGFydHN3aXRoKCI8ISIsIGkpOgotICAgICAgICAgICAgICAgICAgICBpZiBzZWxmLnN0cmljdDoKLSAgICAgICAgICAgICAgICAgICAgICAgIGsgPSBzZWxmLnBhcnNlX2RlY2xhcmF0aW9uKGkpCi0gICAgICAgICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgICAgICAgICBrID0gc2VsZi5wYXJzZV9odG1sX2RlY2xhcmF0aW9uKGkpCisgICAgICAgICAgICAgICAgICAgIGsgPSBzZWxmLnBhcnNlX2h0bWxfZGVjbGFyYXRpb24oaSkKICAgICAgICAgICAgICAgICBlbGlmIChpICsgMSkgPCBuOgogICAgICAgICAgICAgICAgICAgICBzZWxmLmhhbmRsZV9kYXRhKCI8IikKICAgICAgICAgICAgICAgICAgICAgayA9IGkgKyAxCkBAIC0yMzksOCArMTc3LDYgQEAKICAgICAgICAgICAgICAgICBpZiBrIDwgMDoKICAgICAgICAgICAgICAgICAgICAgaWYgbm90IGVuZDoKICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrCi0gICAgICAgICAgICAgICAgICAgIGlmIHNlbGYuc3RyaWN0OgotICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5lcnJvcigiRU9GIGluIG1pZGRsZSBvZiBjb25zdHJ1Y3QiKQogICAgICAgICAgICAgICAgICAgICBrID0gcmF3ZGF0YS5maW5kKCc+JywgaSArIDEpCiAgICAgICAgICAgICAgICAgICAgIGlmIGsgPCAwOgogICAgICAgICAgICAgICAgICAgICAgICAgayA9IHJhd2RhdGEuZmluZCgnPCcsIGkgKyAxKQpAQCAtMjgyLDEzICsyMTgsMTAgQEAKICAgICAgICAgICAgICAgICBpZiBtYXRjaDoKICAgICAgICAgICAgICAgICAgICAgIyBtYXRjaC5ncm91cCgpIHdpbGwgY29udGFpbiBhdCBsZWFzdCAyIGNoYXJzCiAgICAgICAgICAgICAgICAgICAgIGlmIGVuZCBhbmQgbWF0Y2guZ3JvdXAoKSA9PSByYXdkYXRhW2k6XToKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmIHNlbGYuc3RyaWN0OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuZXJyb3IoIkVPRiBpbiBtaWRkbGUgb2YgZW50aXR5IG9yIGNoYXIgcmVmIikKLSAgICAgICAgICAgICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgayA9IG1hdGNoLmVuZCgpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgayA8PSBpOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrID0gbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGkgPSBzZWxmLnVwZGF0ZXBvcyhpLCBpICsgMSkKKyAgICAgICAgICAgICAgICAgICAgICAgIGsgPSBtYXRjaC5lbmQoKQorICAgICAgICAgICAgICAgICAgICAgICAgaWYgayA8PSBpOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGsgPSBuCisgICAgICAgICAgICAgICAgICAgICAgICBpID0gc2VsZi51cGRhdGVwb3MoaSwgaSArIDEpCiAgICAgICAgICAgICAgICAgICAgICMgaW5jb21wbGV0ZQogICAgICAgICAgICAgICAgICAgICBicmVhawogICAgICAgICAgICAgICAgIGVsaWYgKGkgKyAxKSA8IG46CkBAIC0zNjcsMTggKzMwMCwxMiBAQAogCiAgICAgICAgICMgTm93IHBhcnNlIHRoZSBkYXRhIGJldHdlZW4gaSsxIGFuZCBqIGludG8gYSB0YWcgYW5kIGF0dHJzCiAgICAgICAgIGF0dHJzID0gW10KLSAgICAgICAgaWYgc2VsZi5zdHJpY3Q6Ci0gICAgICAgICAgICBtYXRjaCA9IHRhZ2ZpbmQubWF0Y2gocmF3ZGF0YSwgaSsxKQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgbWF0Y2ggPSB0YWdmaW5kX3RvbGVyYW50Lm1hdGNoKHJhd2RhdGEsIGkrMSkKKyAgICAgICAgbWF0Y2ggPSB0YWdmaW5kX3RvbGVyYW50Lm1hdGNoKHJhd2RhdGEsIGkrMSkKICAgICAgICAgYXNzZXJ0IG1hdGNoLCAndW5leHBlY3RlZCBjYWxsIHRvIHBhcnNlX3N0YXJ0dGFnKCknCiAgICAgICAgIGsgPSBtYXRjaC5lbmQoKQogICAgICAgICBzZWxmLmxhc3R0YWcgPSB0YWcgPSBtYXRjaC5ncm91cCgxKS5sb3dlcigpCiAgICAgICAgIHdoaWxlIGsgPCBlbmRwb3M6Ci0gICAgICAgICAgICBpZiBzZWxmLnN0cmljdDoKLSAgICAgICAgICAgICAgICBtID0gYXR0cmZpbmQubWF0Y2gocmF3ZGF0YSwgaykKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgbSA9IGF0dHJmaW5kX3RvbGVyYW50Lm1hdGNoKHJhd2RhdGEsIGspCisgICAgICAgICAgICBtID0gYXR0cmZpbmRfdG9sZXJhbnQubWF0Y2gocmF3ZGF0YSwgaykKICAgICAgICAgICAgIGlmIG5vdCBtOgogICAgICAgICAgICAgICAgIGJyZWFrCiAgICAgICAgICAgICBhdHRybmFtZSwgcmVzdCwgYXR0cnZhbHVlID0gbS5ncm91cCgxLCAyLCAzKQpAQCAtNDAxLDkgKzMyOCw2IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgLSBzZWxmLl9fc3RhcnR0YWdfdGV4dC5yZmluZCgiXG4iKQogICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICBvZmZzZXQgPSBvZmZzZXQgKyBsZW4oc2VsZi5fX3N0YXJ0dGFnX3RleHQpCi0gICAgICAgICAgICBpZiBzZWxmLnN0cmljdDoKLSAgICAgICAgICAgICAgICBzZWxmLmVycm9yKCJqdW5rIGNoYXJhY3RlcnMgaW4gc3RhcnQgdGFnOiAlciIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICUgKHJhd2RhdGFbazplbmRwb3NdWzoyMF0sKSkKICAgICAgICAgICAgIHNlbGYuaGFuZGxlX2RhdGEocmF3ZGF0YVtpOmVuZHBvc10pCiAgICAgICAgICAgICByZXR1cm4gZW5kcG9zCiAgICAgICAgIGlmIGVuZC5lbmRzd2l0aCgnLz4nKToKQEAgLTQxOSwxMCArMzQzLDcgQEAKICAgICAjIG9yIC0xIGlmIGluY29tcGxldGUuCiAgICAgZGVmIGNoZWNrX2Zvcl93aG9sZV9zdGFydF90YWcoc2VsZiwgaSk6CiAgICAgICAgIHJhd2RhdGEgPSBzZWxmLnJhd2RhdGEKLSAgICAgICAgaWYgc2VsZi5zdHJpY3Q6Ci0gICAgICAgICAgICBtID0gbG9jYXRlc3RhcnR0YWdlbmQubWF0Y2gocmF3ZGF0YSwgaSkKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIG0gPSBsb2NhdGVzdGFydHRhZ2VuZF90b2xlcmFudC5tYXRjaChyYXdkYXRhLCBpKQorICAgICAgICBtID0gbG9jYXRlc3RhcnR0YWdlbmRfdG9sZXJhbnQubWF0Y2gocmF3ZGF0YSwgaSkKICAgICAgICAgaWYgbToKICAgICAgICAgICAgIGogPSBtLmVuZCgpCiAgICAgICAgICAgICBuZXh0ID0gcmF3ZGF0YVtqOmorMV0KQEAgLTQzNSw5ICszNTYsNiBAQAogICAgICAgICAgICAgICAgICAgICAjIGJ1ZmZlciBib3VuZGFyeQogICAgICAgICAgICAgICAgICAgICByZXR1cm4gLTEKICAgICAgICAgICAgICAgICAjIGVsc2UgYm9ndXMgaW5wdXQKLSAgICAgICAgICAgICAgICBpZiBzZWxmLnN0cmljdDoKLSAgICAgICAgICAgICAgICAgICAgc2VsZi51cGRhdGVwb3MoaSwgaiArIDEpCi0gICAgICAgICAgICAgICAgICAgIHNlbGYuZXJyb3IoIm1hbGZvcm1lZCBlbXB0eSBzdGFydCB0YWciKQogICAgICAgICAgICAgICAgIGlmIGogPiBpOgogICAgICAgICAgICAgICAgICAgICByZXR1cm4gagogICAgICAgICAgICAgICAgIGVsc2U6CkBAIC00NTAsOSArMzY4LDYgQEAKICAgICAgICAgICAgICAgICAjIGVuZCBvZiBpbnB1dCBpbiBvciBiZWZvcmUgYXR0cmlidXRlIHZhbHVlLCBvciB3ZSBoYXZlIHRoZQogICAgICAgICAgICAgICAgICMgJy8nIGZyb20gYSAnLz4nIGVuZGluZwogICAgICAgICAgICAgICAgIHJldHVybiAtMQotICAgICAgICAgICAgaWYgc2VsZi5zdHJpY3Q6Ci0gICAgICAgICAgICAgICAgc2VsZi51cGRhdGVwb3MoaSwgaikKLSAgICAgICAgICAgICAgICBzZWxmLmVycm9yKCJtYWxmb3JtZWQgc3RhcnQgdGFnIikKICAgICAgICAgICAgIGlmIGogPiBpOgogICAgICAgICAgICAgICAgIHJldHVybiBqCiAgICAgICAgICAgICBlbHNlOgpAQCAtNDcyLDggKzM4Nyw2IEBACiAgICAgICAgICAgICBpZiBzZWxmLmNkYXRhX2VsZW0gaXMgbm90IE5vbmU6CiAgICAgICAgICAgICAgICAgc2VsZi5oYW5kbGVfZGF0YShyYXdkYXRhW2k6Z3Rwb3NdKQogICAgICAgICAgICAgICAgIHJldHVybiBndHBvcwotICAgICAgICAgICAgaWYgc2VsZi5zdHJpY3Q6Ci0gICAgICAgICAgICAgICAgc2VsZi5lcnJvcigiYmFkIGVuZCB0YWc6ICVyIiAlIChyYXdkYXRhW2k6Z3Rwb3NdLCkpCiAgICAgICAgICAgICAjIGZpbmQgdGhlIG5hbWU6IHczLm9yZy9UUi9odG1sNS90b2tlbml6YXRpb24uaHRtbCN0YWctbmFtZS1zdGF0ZQogICAgICAgICAgICAgbmFtZW1hdGNoID0gdGFnZmluZF90b2xlcmFudC5tYXRjaChyYXdkYXRhLCBpKzIpCiAgICAgICAgICAgICBpZiBub3QgbmFtZW1hdGNoOgpAQCAtNTM5LDggKzQ1Miw3IEBACiAgICAgICAgIHBhc3MKIAogICAgIGRlZiB1bmtub3duX2RlY2woc2VsZiwgZGF0YSk6Ci0gICAgICAgIGlmIHNlbGYuc3RyaWN0OgotICAgICAgICAgICAgc2VsZi5lcnJvcigidW5rbm93biBkZWNsYXJhdGlvbjogJXIiICUgKGRhdGEsKSkKKyAgICAgICAgcGFzcwogCiAgICAgIyBJbnRlcm5hbCAtLSBoZWxwZXIgdG8gcmVtb3ZlIHNwZWNpYWwgY2hhcmFjdGVyIHF1b3RpbmcKICAgICBkZWYgdW5lc2NhcGUoc2VsZiwgcyk6CmRpZmYgLS1naXQgYS9MaWIvaHR0cC9fX2luaXRfXy5weSBiL0xpYi9odHRwL19faW5pdF9fLnB5CmluZGV4IDE5NmQzNzguLmQ0MzM0Y2MgMTAwNjQ0Ci0tLSBhL0xpYi9odHRwL19faW5pdF9fLnB5CisrKyBiL0xpYi9odHRwL19faW5pdF9fLnB5CkBAIC0xICsxLDEzNCBAQAotIyBUaGlzIGRpcmVjdG9yeSBpcyBhIFB5dGhvbiBwYWNrYWdlLgorZnJvbSBlbnVtIGltcG9ydCBJbnRFbnVtCisKK19fYWxsX18gPSBbJ0hUVFBTdGF0dXMnXQorCitjbGFzcyBIVFRQU3RhdHVzKEludEVudW0pOgorICAgICIiIkhUVFAgc3RhdHVzIGNvZGVzIGFuZCByZWFzb24gcGhyYXNlcworCisgICAgU3RhdHVzIGNvZGVzIGZyb20gdGhlIGZvbGxvd2luZyBSRkNzIGFyZSBhbGwgb2JzZXJ2ZWQ6CisKKyAgICAgICAgKiBSRkMgNzIzMTogSHlwZXJ0ZXh0IFRyYW5zZmVyIFByb3RvY29sIChIVFRQLzEuMSksIG9ic29sZXRlcyAyNjE2CisgICAgICAgICogUkZDIDY1ODU6IEFkZGl0aW9uYWwgSFRUUCBTdGF0dXMgQ29kZXMKKyAgICAgICAgKiBSRkMgMzIyOTogRGVsdGEgZW5jb2RpbmcgaW4gSFRUUAorICAgICAgICAqIFJGQyA0OTE4OiBIVFRQIEV4dGVuc2lvbnMgZm9yIFdlYkRBViwgb2Jzb2xldGVzIDI1MTgKKyAgICAgICAgKiBSRkMgNTg0MjogQmluZGluZyBFeHRlbnNpb25zIHRvIFdlYkRBVgorICAgICAgICAqIFJGQyA3MjM4OiBQZXJtYW5lbnQgUmVkaXJlY3QKKyAgICAgICAgKiBSRkMgMjI5NTogVHJhbnNwYXJlbnQgQ29udGVudCBOZWdvdGlhdGlvbiBpbiBIVFRQCisgICAgICAgICogUkZDIDI3NzQ6IEFuIEhUVFAgRXh0ZW5zaW9uIEZyYW1ld29yaworICAgICIiIgorICAgIGRlZiBfX25ld19fKGNscywgdmFsdWUsIHBocmFzZSwgZGVzY3JpcHRpb249JycpOgorICAgICAgICBvYmogPSBpbnQuX19uZXdfXyhjbHMsIHZhbHVlKQorICAgICAgICBvYmouX3ZhbHVlXyA9IHZhbHVlCisKKyAgICAgICAgb2JqLnBocmFzZSA9IHBocmFzZQorICAgICAgICBvYmouZGVzY3JpcHRpb24gPSBkZXNjcmlwdGlvbgorICAgICAgICByZXR1cm4gb2JqCisKKyAgICAjIGluZm9ybWF0aW9uYWwKKyAgICBDT05USU5VRSA9IDEwMCwgJ0NvbnRpbnVlJywgJ1JlcXVlc3QgcmVjZWl2ZWQsIHBsZWFzZSBjb250aW51ZScKKyAgICBTV0lUQ0hJTkdfUFJPVE9DT0xTID0gKDEwMSwgJ1N3aXRjaGluZyBQcm90b2NvbHMnLAorICAgICAgICAgICAgJ1N3aXRjaGluZyB0byBuZXcgcHJvdG9jb2w7IG9iZXkgVXBncmFkZSBoZWFkZXInKQorICAgIFBST0NFU1NJTkcgPSAxMDIsICdQcm9jZXNzaW5nJworCisgICAgIyBzdWNjZXNzCisgICAgT0sgPSAyMDAsICdPSycsICdSZXF1ZXN0IGZ1bGZpbGxlZCwgZG9jdW1lbnQgZm9sbG93cycKKyAgICBDUkVBVEVEID0gMjAxLCAnQ3JlYXRlZCcsICdEb2N1bWVudCBjcmVhdGVkLCBVUkwgZm9sbG93cycKKyAgICBBQ0NFUFRFRCA9ICgyMDIsICdBY2NlcHRlZCcsCisgICAgICAgICdSZXF1ZXN0IGFjY2VwdGVkLCBwcm9jZXNzaW5nIGNvbnRpbnVlcyBvZmYtbGluZScpCisgICAgTk9OX0FVVEhPUklUQVRJVkVfSU5GT1JNQVRJT04gPSAoMjAzLAorICAgICAgICAnTm9uLUF1dGhvcml0YXRpdmUgSW5mb3JtYXRpb24nLCAnUmVxdWVzdCBmdWxmaWxsZWQgZnJvbSBjYWNoZScpCisgICAgTk9fQ09OVEVOVCA9IDIwNCwgJ05vIENvbnRlbnQnLCAnUmVxdWVzdCBmdWxmaWxsZWQsIG5vdGhpbmcgZm9sbG93cycKKyAgICBSRVNFVF9DT05URU5UID0gMjA1LCAnUmVzZXQgQ29udGVudCcsICdDbGVhciBpbnB1dCBmb3JtIGZvciBmdXJ0aGVyIGlucHV0JworICAgIFBBUlRJQUxfQ09OVEVOVCA9IDIwNiwgJ1BhcnRpYWwgQ29udGVudCcsICdQYXJ0aWFsIGNvbnRlbnQgZm9sbG93cycKKyAgICBNVUxUSV9TVEFUVVMgPSAyMDcsICdNdWx0aS1TdGF0dXMnCisgICAgQUxSRUFEWV9SRVBPUlRFRCA9IDIwOCwgJ0FscmVhZHkgUmVwb3J0ZWQnCisgICAgSU1fVVNFRCA9IDIyNiwgJ0lNIFVzZWQnCisKKyAgICAjIHJlZGlyZWN0aW9uCisgICAgTVVMVElQTEVfQ0hPSUNFUyA9ICgzMDAsICdNdWx0aXBsZSBDaG9pY2VzJywKKyAgICAgICAgJ09iamVjdCBoYXMgc2V2ZXJhbCByZXNvdXJjZXMgLS0gc2VlIFVSSSBsaXN0JykKKyAgICBNT1ZFRF9QRVJNQU5FTlRMWSA9ICgzMDEsICdNb3ZlZCBQZXJtYW5lbnRseScsCisgICAgICAgICdPYmplY3QgbW92ZWQgcGVybWFuZW50bHkgLS0gc2VlIFVSSSBsaXN0JykKKyAgICBGT1VORCA9IDMwMiwgJ0ZvdW5kJywgJ09iamVjdCBtb3ZlZCB0ZW1wb3JhcmlseSAtLSBzZWUgVVJJIGxpc3QnCisgICAgU0VFX09USEVSID0gMzAzLCAnU2VlIE90aGVyJywgJ09iamVjdCBtb3ZlZCAtLSBzZWUgTWV0aG9kIGFuZCBVUkwgbGlzdCcKKyAgICBOT1RfTU9ESUZJRUQgPSAoMzA0LCAnTm90IE1vZGlmaWVkJywKKyAgICAgICAgJ0RvY3VtZW50IGhhcyBub3QgY2hhbmdlZCBzaW5jZSBnaXZlbiB0aW1lJykKKyAgICBVU0VfUFJPWFkgPSAoMzA1LCAnVXNlIFByb3h5JywKKyAgICAgICAgJ1lvdSBtdXN0IHVzZSBwcm94eSBzcGVjaWZpZWQgaW4gTG9jYXRpb24gdG8gYWNjZXNzIHRoaXMgcmVzb3VyY2UnKQorICAgIFRFTVBPUkFSWV9SRURJUkVDVCA9ICgzMDcsICdUZW1wb3JhcnkgUmVkaXJlY3QnLAorICAgICAgICAnT2JqZWN0IG1vdmVkIHRlbXBvcmFyaWx5IC0tIHNlZSBVUkkgbGlzdCcpCisgICAgUEVSTUFORU5UX1JFRElSRUNUID0gKDMwOCwgJ1Blcm1hbmVudCBSZWRpcmVjdCcsCisgICAgICAgICdPYmplY3QgbW92ZWQgdGVtcG9yYXJpbHkgLS0gc2VlIFVSSSBsaXN0JykKKworICAgICMgY2xpZW50IGVycm9yCisgICAgQkFEX1JFUVVFU1QgPSAoNDAwLCAnQmFkIFJlcXVlc3QnLAorICAgICAgICAnQmFkIHJlcXVlc3Qgc3ludGF4IG9yIHVuc3VwcG9ydGVkIG1ldGhvZCcpCisgICAgVU5BVVRIT1JJWkVEID0gKDQwMSwgJ1VuYXV0aG9yaXplZCcsCisgICAgICAgICdObyBwZXJtaXNzaW9uIC0tIHNlZSBhdXRob3JpemF0aW9uIHNjaGVtZXMnKQorICAgIFBBWU1FTlRfUkVRVUlSRUQgPSAoNDAyLCAnUGF5bWVudCBSZXF1aXJlZCcsCisgICAgICAgICdObyBwYXltZW50IC0tIHNlZSBjaGFyZ2luZyBzY2hlbWVzJykKKyAgICBGT1JCSURERU4gPSAoNDAzLCAnRm9yYmlkZGVuJywKKyAgICAgICAgJ1JlcXVlc3QgZm9yYmlkZGVuIC0tIGF1dGhvcml6YXRpb24gd2lsbCBub3QgaGVscCcpCisgICAgTk9UX0ZPVU5EID0gKDQwNCwgJ05vdCBGb3VuZCcsCisgICAgICAgICdOb3RoaW5nIG1hdGNoZXMgdGhlIGdpdmVuIFVSSScpCisgICAgTUVUSE9EX05PVF9BTExPV0VEID0gKDQwNSwgJ01ldGhvZCBOb3QgQWxsb3dlZCcsCisgICAgICAgICdTcGVjaWZpZWQgbWV0aG9kIGlzIGludmFsaWQgZm9yIHRoaXMgcmVzb3VyY2UnKQorICAgIE5PVF9BQ0NFUFRBQkxFID0gKDQwNiwgJ05vdCBBY2NlcHRhYmxlJywKKyAgICAgICAgJ1VSSSBub3QgYXZhaWxhYmxlIGluIHByZWZlcnJlZCBmb3JtYXQnKQorICAgIFBST1hZX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEID0gKDQwNywKKyAgICAgICAgJ1Byb3h5IEF1dGhlbnRpY2F0aW9uIFJlcXVpcmVkJywKKyAgICAgICAgJ1lvdSBtdXN0IGF1dGhlbnRpY2F0ZSB3aXRoIHRoaXMgcHJveHkgYmVmb3JlIHByb2NlZWRpbmcnKQorICAgIFJFUVVFU1RfVElNRU9VVCA9ICg0MDgsICdSZXF1ZXN0IFRpbWVvdXQnLAorICAgICAgICAnUmVxdWVzdCB0aW1lZCBvdXQ7IHRyeSBhZ2FpbiBsYXRlcicpCisgICAgQ09ORkxJQ1QgPSA0MDksICdDb25mbGljdCcsICdSZXF1ZXN0IGNvbmZsaWN0JworICAgIEdPTkUgPSAoNDEwLCAnR29uZScsCisgICAgICAgICdVUkkgbm8gbG9uZ2VyIGV4aXN0cyBhbmQgaGFzIGJlZW4gcGVybWFuZW50bHkgcmVtb3ZlZCcpCisgICAgTEVOR1RIX1JFUVVJUkVEID0gKDQxMSwgJ0xlbmd0aCBSZXF1aXJlZCcsCisgICAgICAgICdDbGllbnQgbXVzdCBzcGVjaWZ5IENvbnRlbnQtTGVuZ3RoJykKKyAgICBQUkVDT05ESVRJT05fRkFJTEVEID0gKDQxMiwgJ1ByZWNvbmRpdGlvbiBGYWlsZWQnLAorICAgICAgICAnUHJlY29uZGl0aW9uIGluIGhlYWRlcnMgaXMgZmFsc2UnKQorICAgIFJFUVVFU1RfRU5USVRZX1RPT19MQVJHRSA9ICg0MTMsICdSZXF1ZXN0IEVudGl0eSBUb28gTGFyZ2UnLAorICAgICAgICAnRW50aXR5IGlzIHRvbyBsYXJnZScpCisgICAgUkVRVUVTVF9VUklfVE9PX0xPTkcgPSAoNDE0LCAnUmVxdWVzdC1VUkkgVG9vIExvbmcnLAorICAgICAgICAnVVJJIGlzIHRvbyBsb25nJykKKyAgICBVTlNVUFBPUlRFRF9NRURJQV9UWVBFID0gKDQxNSwgJ1Vuc3VwcG9ydGVkIE1lZGlhIFR5cGUnLAorICAgICAgICAnRW50aXR5IGJvZHkgaW4gdW5zdXBwb3J0ZWQgZm9ybWF0JykKKyAgICBSRVFVRVNURURfUkFOR0VfTk9UX1NBVElTRklBQkxFID0gKDQxNiwKKyAgICAgICAgJ1JlcXVlc3RlZCBSYW5nZSBOb3QgU2F0aXNmaWFibGUnLAorICAgICAgICAnQ2Fubm90IHNhdGlzZnkgcmVxdWVzdCByYW5nZScpCisgICAgRVhQRUNUQVRJT05fRkFJTEVEID0gKDQxNywgJ0V4cGVjdGF0aW9uIEZhaWxlZCcsCisgICAgICAgICdFeHBlY3QgY29uZGl0aW9uIGNvdWxkIG5vdCBiZSBzYXRpc2ZpZWQnKQorICAgIFVOUFJPQ0VTU0FCTEVfRU5USVRZID0gNDIyLCAnVW5wcm9jZXNzYWJsZSBFbnRpdHknCisgICAgTE9DS0VEID0gNDIzLCAnTG9ja2VkJworICAgIEZBSUxFRF9ERVBFTkRFTkNZID0gNDI0LCAnRmFpbGVkIERlcGVuZGVuY3knCisgICAgVVBHUkFERV9SRVFVSVJFRCA9IDQyNiwgJ1VwZ3JhZGUgUmVxdWlyZWQnCisgICAgUFJFQ09ORElUSU9OX1JFUVVJUkVEID0gKDQyOCwgJ1ByZWNvbmRpdGlvbiBSZXF1aXJlZCcsCisgICAgICAgICdUaGUgb3JpZ2luIHNlcnZlciByZXF1aXJlcyB0aGUgcmVxdWVzdCB0byBiZSBjb25kaXRpb25hbCcpCisgICAgVE9PX01BTllfUkVRVUVTVFMgPSAoNDI5LCAnVG9vIE1hbnkgUmVxdWVzdHMnLAorICAgICAgICAnVGhlIHVzZXIgaGFzIHNlbnQgdG9vIG1hbnkgcmVxdWVzdHMgaW4gJworICAgICAgICAnYSBnaXZlbiBhbW91bnQgb2YgdGltZSAoInJhdGUgbGltaXRpbmciKScpCisgICAgUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRSA9ICg0MzEsCisgICAgICAgICdSZXF1ZXN0IEhlYWRlciBGaWVsZHMgVG9vIExhcmdlJywKKyAgICAgICAgJ1RoZSBzZXJ2ZXIgaXMgdW53aWxsaW5nIHRvIHByb2Nlc3MgdGhlIHJlcXVlc3QgYmVjYXVzZSBpdHMgaGVhZGVyICcKKyAgICAgICAgJ2ZpZWxkcyBhcmUgdG9vIGxhcmdlJykKKworICAgICMgc2VydmVyIGVycm9ycworICAgIElOVEVSTkFMX1NFUlZFUl9FUlJPUiA9ICg1MDAsICdJbnRlcm5hbCBTZXJ2ZXIgRXJyb3InLAorICAgICAgICAnU2VydmVyIGdvdCBpdHNlbGYgaW4gdHJvdWJsZScpCisgICAgTk9UX0lNUExFTUVOVEVEID0gKDUwMSwgJ05vdCBJbXBsZW1lbnRlZCcsCisgICAgICAgICdTZXJ2ZXIgZG9lcyBub3Qgc3VwcG9ydCB0aGlzIG9wZXJhdGlvbicpCisgICAgQkFEX0dBVEVXQVkgPSAoNTAyLCAnQmFkIEdhdGV3YXknLAorICAgICAgICAnSW52YWxpZCByZXNwb25zZXMgZnJvbSBhbm90aGVyIHNlcnZlci9wcm94eScpCisgICAgU0VSVklDRV9VTkFWQUlMQUJMRSA9ICg1MDMsICdTZXJ2aWNlIFVuYXZhaWxhYmxlJywKKyAgICAgICAgJ1RoZSBzZXJ2ZXIgY2Fubm90IHByb2Nlc3MgdGhlIHJlcXVlc3QgZHVlIHRvIGEgaGlnaCBsb2FkJykKKyAgICBHQVRFV0FZX1RJTUVPVVQgPSAoNTA0LCAnR2F0ZXdheSBUaW1lb3V0JywKKyAgICAgICAgJ1RoZSBnYXRld2F5IHNlcnZlciBkaWQgbm90IHJlY2VpdmUgYSB0aW1lbHkgcmVzcG9uc2UnKQorICAgIEhUVFBfVkVSU0lPTl9OT1RfU1VQUE9SVEVEID0gKDUwNSwgJ0hUVFAgVmVyc2lvbiBOb3QgU3VwcG9ydGVkJywKKyAgICAgICAgJ0Nhbm5vdCBmdWxmaWxsIHJlcXVlc3QnKQorICAgIFZBUklBTlRfQUxTT19ORUdPVElBVEVTID0gNTA2LCAnVmFyaWFudCBBbHNvIE5lZ290aWF0ZXMnCisgICAgSU5TVUZGSUNJRU5UX1NUT1JBR0UgPSA1MDcsICdJbnN1ZmZpY2llbnQgU3RvcmFnZScKKyAgICBMT09QX0RFVEVDVEVEID0gNTA4LCAnTG9vcCBEZXRlY3RlZCcKKyAgICBOT1RfRVhURU5ERUQgPSA1MTAsICdOb3QgRXh0ZW5kZWQnCisgICAgTkVUV09SS19BVVRIRU5USUNBVElPTl9SRVFVSVJFRCA9ICg1MTEsCisgICAgICAgICdOZXR3b3JrIEF1dGhlbnRpY2F0aW9uIFJlcXVpcmVkJywKKyAgICAgICAgJ1RoZSBjbGllbnQgbmVlZHMgdG8gYXV0aGVudGljYXRlIHRvIGdhaW4gbmV0d29yayBhY2Nlc3MnKQpkaWZmIC0tZ2l0IGEvTGliL2h0dHAvY2xpZW50LnB5IGIvTGliL2h0dHAvY2xpZW50LnB5CmluZGV4IGQzZDliMzAuLjVlMTJhODUgMTAwNjQ0Ci0tLSBhL0xpYi9odHRwL2NsaWVudC5weQorKysgYi9MaWIvaHR0cC9jbGllbnQucHkKQEAgLTY4LDYgKzY4LDcgQEAKIAogaW1wb3J0IGVtYWlsLnBhcnNlcgogaW1wb3J0IGVtYWlsLm1lc3NhZ2UKK2ltcG9ydCBodHRwCiBpbXBvcnQgaW8KIGltcG9ydCBvcwogaW1wb3J0IHNvY2tldApAQCAtOTMsMTIyICs5NCwxMyBAQAogX0NTX1JFUV9TVEFSVEVEID0gJ1JlcXVlc3Qtc3RhcnRlZCcKIF9DU19SRVFfU0VOVCA9ICdSZXF1ZXN0LXNlbnQnCiAKLSMgc3RhdHVzIGNvZGVzCi0jIGluZm9ybWF0aW9uYWwKLUNPTlRJTlVFID0gMTAwCi1TV0lUQ0hJTkdfUFJPVE9DT0xTID0gMTAxCi1QUk9DRVNTSU5HID0gMTAyCiAKLSMgc3VjY2Vzc2Z1bAotT0sgPSAyMDAKLUNSRUFURUQgPSAyMDEKLUFDQ0VQVEVEID0gMjAyCi1OT05fQVVUSE9SSVRBVElWRV9JTkZPUk1BVElPTiA9IDIwMwotTk9fQ09OVEVOVCA9IDIwNAotUkVTRVRfQ09OVEVOVCA9IDIwNQotUEFSVElBTF9DT05URU5UID0gMjA2Ci1NVUxUSV9TVEFUVVMgPSAyMDcKLUlNX1VTRUQgPSAyMjYKKyMgaGFjayB0byBtYWludGFpbiBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eQorZ2xvYmFscygpLnVwZGF0ZShodHRwLkhUVFBTdGF0dXMuX19tZW1iZXJzX18pCiAKLSMgcmVkaXJlY3Rpb24KLU1VTFRJUExFX0NIT0lDRVMgPSAzMDAKLU1PVkVEX1BFUk1BTkVOVExZID0gMzAxCi1GT1VORCA9IDMwMgotU0VFX09USEVSID0gMzAzCi1OT1RfTU9ESUZJRUQgPSAzMDQKLVVTRV9QUk9YWSA9IDMwNQotVEVNUE9SQVJZX1JFRElSRUNUID0gMzA3Ci0KLSMgY2xpZW50IGVycm9yCi1CQURfUkVRVUVTVCA9IDQwMAotVU5BVVRIT1JJWkVEID0gNDAxCi1QQVlNRU5UX1JFUVVJUkVEID0gNDAyCi1GT1JCSURERU4gPSA0MDMKLU5PVF9GT1VORCA9IDQwNAotTUVUSE9EX05PVF9BTExPV0VEID0gNDA1Ci1OT1RfQUNDRVBUQUJMRSA9IDQwNgotUFJPWFlfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQgPSA0MDcKLVJFUVVFU1RfVElNRU9VVCA9IDQwOAotQ09ORkxJQ1QgPSA0MDkKLUdPTkUgPSA0MTAKLUxFTkdUSF9SRVFVSVJFRCA9IDQxMQotUFJFQ09ORElUSU9OX0ZBSUxFRCA9IDQxMgotUkVRVUVTVF9FTlRJVFlfVE9PX0xBUkdFID0gNDEzCi1SRVFVRVNUX1VSSV9UT09fTE9ORyA9IDQxNAotVU5TVVBQT1JURURfTUVESUFfVFlQRSA9IDQxNQotUkVRVUVTVEVEX1JBTkdFX05PVF9TQVRJU0ZJQUJMRSA9IDQxNgotRVhQRUNUQVRJT05fRkFJTEVEID0gNDE3Ci1VTlBST0NFU1NBQkxFX0VOVElUWSA9IDQyMgotTE9DS0VEID0gNDIzCi1GQUlMRURfREVQRU5ERU5DWSA9IDQyNAotVVBHUkFERV9SRVFVSVJFRCA9IDQyNgotUFJFQ09ORElUSU9OX1JFUVVJUkVEID0gNDI4Ci1UT09fTUFOWV9SRVFVRVNUUyA9IDQyOQotUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRSA9IDQzMQotCi0jIHNlcnZlciBlcnJvcgotSU5URVJOQUxfU0VSVkVSX0VSUk9SID0gNTAwCi1OT1RfSU1QTEVNRU5URUQgPSA1MDEKLUJBRF9HQVRFV0FZID0gNTAyCi1TRVJWSUNFX1VOQVZBSUxBQkxFID0gNTAzCi1HQVRFV0FZX1RJTUVPVVQgPSA1MDQKLUhUVFBfVkVSU0lPTl9OT1RfU1VQUE9SVEVEID0gNTA1Ci1JTlNVRkZJQ0lFTlRfU1RPUkFHRSA9IDUwNwotTk9UX0VYVEVOREVEID0gNTEwCi1ORVRXT1JLX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEID0gNTExCi0KKyMgYW5vdGhlciBoYWNrIHRvIG1haW50YWluIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5CiAjIE1hcHBpbmcgc3RhdHVzIGNvZGVzIHRvIG9mZmljaWFsIFczQyBuYW1lcwotcmVzcG9uc2VzID0gewotICAgIDEwMDogJ0NvbnRpbnVlJywKLSAgICAxMDE6ICdTd2l0Y2hpbmcgUHJvdG9jb2xzJywKLQotICAgIDIwMDogJ09LJywKLSAgICAyMDE6ICdDcmVhdGVkJywKLSAgICAyMDI6ICdBY2NlcHRlZCcsCi0gICAgMjAzOiAnTm9uLUF1dGhvcml0YXRpdmUgSW5mb3JtYXRpb24nLAotICAgIDIwNDogJ05vIENvbnRlbnQnLAotICAgIDIwNTogJ1Jlc2V0IENvbnRlbnQnLAotICAgIDIwNjogJ1BhcnRpYWwgQ29udGVudCcsCi0KLSAgICAzMDA6ICdNdWx0aXBsZSBDaG9pY2VzJywKLSAgICAzMDE6ICdNb3ZlZCBQZXJtYW5lbnRseScsCi0gICAgMzAyOiAnRm91bmQnLAotICAgIDMwMzogJ1NlZSBPdGhlcicsCi0gICAgMzA0OiAnTm90IE1vZGlmaWVkJywKLSAgICAzMDU6ICdVc2UgUHJveHknLAotICAgIDMwNjogJyhVbnVzZWQpJywKLSAgICAzMDc6ICdUZW1wb3JhcnkgUmVkaXJlY3QnLAotCi0gICAgNDAwOiAnQmFkIFJlcXVlc3QnLAotICAgIDQwMTogJ1VuYXV0aG9yaXplZCcsCi0gICAgNDAyOiAnUGF5bWVudCBSZXF1aXJlZCcsCi0gICAgNDAzOiAnRm9yYmlkZGVuJywKLSAgICA0MDQ6ICdOb3QgRm91bmQnLAotICAgIDQwNTogJ01ldGhvZCBOb3QgQWxsb3dlZCcsCi0gICAgNDA2OiAnTm90IEFjY2VwdGFibGUnLAotICAgIDQwNzogJ1Byb3h5IEF1dGhlbnRpY2F0aW9uIFJlcXVpcmVkJywKLSAgICA0MDg6ICdSZXF1ZXN0IFRpbWVvdXQnLAotICAgIDQwOTogJ0NvbmZsaWN0JywKLSAgICA0MTA6ICdHb25lJywKLSAgICA0MTE6ICdMZW5ndGggUmVxdWlyZWQnLAotICAgIDQxMjogJ1ByZWNvbmRpdGlvbiBGYWlsZWQnLAotICAgIDQxMzogJ1JlcXVlc3QgRW50aXR5IFRvbyBMYXJnZScsCi0gICAgNDE0OiAnUmVxdWVzdC1VUkkgVG9vIExvbmcnLAotICAgIDQxNTogJ1Vuc3VwcG9ydGVkIE1lZGlhIFR5cGUnLAotICAgIDQxNjogJ1JlcXVlc3RlZCBSYW5nZSBOb3QgU2F0aXNmaWFibGUnLAotICAgIDQxNzogJ0V4cGVjdGF0aW9uIEZhaWxlZCcsCi0gICAgNDI4OiAnUHJlY29uZGl0aW9uIFJlcXVpcmVkJywKLSAgICA0Mjk6ICdUb28gTWFueSBSZXF1ZXN0cycsCi0gICAgNDMxOiAnUmVxdWVzdCBIZWFkZXIgRmllbGRzIFRvbyBMYXJnZScsCi0KLSAgICA1MDA6ICdJbnRlcm5hbCBTZXJ2ZXIgRXJyb3InLAotICAgIDUwMTogJ05vdCBJbXBsZW1lbnRlZCcsCi0gICAgNTAyOiAnQmFkIEdhdGV3YXknLAotICAgIDUwMzogJ1NlcnZpY2UgVW5hdmFpbGFibGUnLAotICAgIDUwNDogJ0dhdGV3YXkgVGltZW91dCcsCi0gICAgNTA1OiAnSFRUUCBWZXJzaW9uIE5vdCBTdXBwb3J0ZWQnLAotICAgIDUxMTogJ05ldHdvcmsgQXV0aGVudGljYXRpb24gUmVxdWlyZWQnLAotfQorcmVzcG9uc2VzID0ge3Y6IHYucGhyYXNlIGZvciB2IGluIGh0dHAuSFRUUFN0YXR1cy5fX21lbWJlcnNfXy52YWx1ZXMoKX0KIAogIyBtYXhpbWFsIGFtb3VudCBvZiBkYXRhIHRvIHJlYWQgYXQgb25lIHRpbWUgaW4gX3NhZmVfcmVhZAogTUFYQU1PVU5UID0gMTA0ODU3NgpAQCAtMjcyLDcgKzE2NCw3IEBACiAgICAgcmV0dXJuIGVtYWlsLnBhcnNlci5QYXJzZXIoX2NsYXNzPV9jbGFzcykucGFyc2VzdHIoaHN0cmluZykKIAogCi1jbGFzcyBIVFRQUmVzcG9uc2UoaW8uUmF3SU9CYXNlKToKK2NsYXNzIEhUVFBSZXNwb25zZShpby5CdWZmZXJlZElPQmFzZSk6CiAKICAgICAjIFNlZSBSRkMgMjYxNiBzZWMgMTkuNiBhbmQgUkZDIDE5NDUgc2VjIDYgZm9yIGRldGFpbHMuCiAKQEAgLTQ5Nyw5ICszODksMTAgQEAKICAgICAgICAgICAgIHJldHVybiBiIiIKIAogICAgICAgICBpZiBhbXQgaXMgbm90IE5vbmU6Ci0gICAgICAgICAgICAjIEFtb3VudCBpcyBnaXZlbiwgc28gY2FsbCBiYXNlIGNsYXNzIHZlcnNpb24KLSAgICAgICAgICAgICMgKHdoaWNoIGlzIGltcGxlbWVudGVkIGluIHRlcm1zIG9mIHNlbGYucmVhZGludG8pCi0gICAgICAgICAgICByZXR1cm4gc3VwZXIoSFRUUFJlc3BvbnNlLCBzZWxmKS5yZWFkKGFtdCkKKyAgICAgICAgICAgICMgQW1vdW50IGlzIGdpdmVuLCBpbXBsZW1lbnQgdXNpbmcgcmVhZGludG8KKyAgICAgICAgICAgIGIgPSBieXRlYXJyYXkoYW10KQorICAgICAgICAgICAgbiA9IHNlbGYucmVhZGludG8oYikKKyAgICAgICAgICAgIHJldHVybiBtZW1vcnl2aWV3KGIpWzpuXS50b2J5dGVzKCkKICAgICAgICAgZWxzZToKICAgICAgICAgICAgICMgQW1vdW50IGlzIG5vdCBnaXZlbiAodW5ib3VuZGVkIHJlYWQpIHNvIHdlIG11c3QgY2hlY2sgc2VsZi5sZW5ndGgKICAgICAgICAgICAgICMgYW5kIHNlbGYuY2h1bmtlZApAQCAtNTc5LDcxICs0NzIsNjcgQEAKICAgICAgICAgICAgIGlmIGxpbmUgaW4gKGInXHJcbicsIGInXG4nLCBiJycpOgogICAgICAgICAgICAgICAgIGJyZWFrCiAKKyAgICBkZWYgX2dldF9jaHVua19sZWZ0KHNlbGYpOgorICAgICAgICAjIHJldHVybiBzZWxmLmNodW5rX2xlZnQsIHJlYWRpbmcgYSBuZXcgY2h1bmsgaWYgbmVjZXNzYXJ5LgorICAgICAgICAjIGNodW5rX2xlZnQgPT0gMDogYXQgdGhlIGVuZCBvZiB0aGUgY3VycmVudCBjaHVuaywgbmVlZCB0byBjbG9zZSBpdAorICAgICAgICAjIGNodW5rX2xlZnQgPT0gTm9uZTogTm8gY3VycmVudCBjaHVuaywgc2hvdWxkIHJlYWQgbmV4dC4KKyAgICAgICAgIyBUaGlzIGZ1bmN0aW9uIHJldHVybnMgbm9uLXplcm8gb3IgTm9uZSBpZiB0aGUgbGFzdCBjaHVuayBoYXMKKyAgICAgICAgIyBiZWVuIHJlYWQuCisgICAgICAgIGNodW5rX2xlZnQgPSBzZWxmLmNodW5rX2xlZnQKKyAgICAgICAgaWYgbm90IGNodW5rX2xlZnQ6ICMgQ2FuIGJlIDAgb3IgTm9uZQorICAgICAgICAgICAgaWYgY2h1bmtfbGVmdCBpcyBub3QgTm9uZToKKyAgICAgICAgICAgICAgICAjIFdlIGFyZSBhdCB0aGUgZW5kIG9mIGNodW5rLiBkaWNhcmQgY2h1bmsgZW5kCisgICAgICAgICAgICAgICAgc2VsZi5fc2FmZV9yZWFkKDIpICAjIHRvc3MgdGhlIENSTEYgYXQgdGhlIGVuZCBvZiB0aGUgY2h1bmsKKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICBjaHVua19sZWZ0ID0gc2VsZi5fcmVhZF9uZXh0X2NodW5rX3NpemUoKQorICAgICAgICAgICAgZXhjZXB0IFZhbHVlRXJyb3I6CisgICAgICAgICAgICAgICAgcmFpc2UgSW5jb21wbGV0ZVJlYWQoYicnKQorICAgICAgICAgICAgaWYgY2h1bmtfbGVmdCA9PSAwOgorICAgICAgICAgICAgICAgICMgbGFzdCBjaHVuazogMSooIjAiKSBbIGNodW5rLWV4dGVuc2lvbiBdIENSTEYKKyAgICAgICAgICAgICAgICBzZWxmLl9yZWFkX2FuZF9kaXNjYXJkX3RyYWlsZXIoKQorICAgICAgICAgICAgICAgICMgd2UgcmVhZCBldmVyeXRoaW5nOyBjbG9zZSB0aGUgImZpbGUiCisgICAgICAgICAgICAgICAgc2VsZi5fY2xvc2VfY29ubigpCisgICAgICAgICAgICAgICAgY2h1bmtfbGVmdCA9IE5vbmUKKyAgICAgICAgICAgIHNlbGYuY2h1bmtfbGVmdCA9IGNodW5rX2xlZnQKKyAgICAgICAgcmV0dXJuIGNodW5rX2xlZnQKKwogICAgIGRlZiBfcmVhZGFsbF9jaHVua2VkKHNlbGYpOgogICAgICAgICBhc3NlcnQgc2VsZi5jaHVua2VkICE9IF9VTktOT1dOCi0gICAgICAgIGNodW5rX2xlZnQgPSBzZWxmLmNodW5rX2xlZnQKICAgICAgICAgdmFsdWUgPSBbXQotICAgICAgICB3aGlsZSBUcnVlOgotICAgICAgICAgICAgaWYgY2h1bmtfbGVmdCBpcyBOb25lOgotICAgICAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICAgICAgY2h1bmtfbGVmdCA9IHNlbGYuX3JlYWRfbmV4dF9jaHVua19zaXplKCkKLSAgICAgICAgICAgICAgICAgICAgaWYgY2h1bmtfbGVmdCA9PSAwOgotICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWsKLSAgICAgICAgICAgICAgICBleGNlcHQgVmFsdWVFcnJvcjoKLSAgICAgICAgICAgICAgICAgICAgcmFpc2UgSW5jb21wbGV0ZVJlYWQoYicnLmpvaW4odmFsdWUpKQotICAgICAgICAgICAgdmFsdWUuYXBwZW5kKHNlbGYuX3NhZmVfcmVhZChjaHVua19sZWZ0KSkKLQotICAgICAgICAgICAgIyB3ZSByZWFkIHRoZSB3aG9sZSBjaHVuaywgZ2V0IGFub3RoZXIKLSAgICAgICAgICAgIHNlbGYuX3NhZmVfcmVhZCgyKSAgICAgICMgdG9zcyB0aGUgQ1JMRiBhdCB0aGUgZW5kIG9mIHRoZSBjaHVuawotICAgICAgICAgICAgY2h1bmtfbGVmdCA9IE5vbmUKLQotICAgICAgICBzZWxmLl9yZWFkX2FuZF9kaXNjYXJkX3RyYWlsZXIoKQotCi0gICAgICAgICMgd2UgcmVhZCBldmVyeXRoaW5nOyBjbG9zZSB0aGUgImZpbGUiCi0gICAgICAgIHNlbGYuX2Nsb3NlX2Nvbm4oKQotCi0gICAgICAgIHJldHVybiBiJycuam9pbih2YWx1ZSkKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgd2hpbGUgVHJ1ZToKKyAgICAgICAgICAgICAgICBjaHVua19sZWZ0ID0gc2VsZi5fZ2V0X2NodW5rX2xlZnQoKQorICAgICAgICAgICAgICAgIGlmIGNodW5rX2xlZnQgaXMgTm9uZToKKyAgICAgICAgICAgICAgICAgICAgYnJlYWsKKyAgICAgICAgICAgICAgICB2YWx1ZS5hcHBlbmQoc2VsZi5fc2FmZV9yZWFkKGNodW5rX2xlZnQpKQorICAgICAgICAgICAgICAgIHNlbGYuY2h1bmtfbGVmdCA9IDAKKyAgICAgICAgICAgIHJldHVybiBiJycuam9pbih2YWx1ZSkKKyAgICAgICAgZXhjZXB0IEluY29tcGxldGVSZWFkOgorICAgICAgICAgICAgcmFpc2UgSW5jb21wbGV0ZVJlYWQoYicnLmpvaW4odmFsdWUpKQogCiAgICAgZGVmIF9yZWFkaW50b19jaHVua2VkKHNlbGYsIGIpOgogICAgICAgICBhc3NlcnQgc2VsZi5jaHVua2VkICE9IF9VTktOT1dOCi0gICAgICAgIGNodW5rX2xlZnQgPSBzZWxmLmNodW5rX2xlZnQKLQogICAgICAgICB0b3RhbF9ieXRlcyA9IDAKICAgICAgICAgbXZiID0gbWVtb3J5dmlldyhiKQotICAgICAgICB3aGlsZSBUcnVlOgotICAgICAgICAgICAgaWYgY2h1bmtfbGVmdCBpcyBOb25lOgotICAgICAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICAgICAgY2h1bmtfbGVmdCA9IHNlbGYuX3JlYWRfbmV4dF9jaHVua19zaXplKCkKLSAgICAgICAgICAgICAgICAgICAgaWYgY2h1bmtfbGVmdCA9PSAwOgotICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWsKLSAgICAgICAgICAgICAgICBleGNlcHQgVmFsdWVFcnJvcjoKLSAgICAgICAgICAgICAgICAgICAgcmFpc2UgSW5jb21wbGV0ZVJlYWQoYnl0ZXMoYlswOnRvdGFsX2J5dGVzXSkpCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHdoaWxlIFRydWU6CisgICAgICAgICAgICAgICAgY2h1bmtfbGVmdCA9IHNlbGYuX2dldF9jaHVua19sZWZ0KCkKKyAgICAgICAgICAgICAgICBpZiBjaHVua19sZWZ0IGlzIE5vbmU6CisgICAgICAgICAgICAgICAgICAgIHJldHVybiB0b3RhbF9ieXRlcwogCi0gICAgICAgICAgICBpZiBsZW4obXZiKSA8IGNodW5rX2xlZnQ6Ci0gICAgICAgICAgICAgICAgbiA9IHNlbGYuX3NhZmVfcmVhZGludG8obXZiKQotICAgICAgICAgICAgICAgIHNlbGYuY2h1bmtfbGVmdCA9IGNodW5rX2xlZnQgLSBuCi0gICAgICAgICAgICAgICAgcmV0dXJuIHRvdGFsX2J5dGVzICsgbgotICAgICAgICAgICAgZWxpZiBsZW4obXZiKSA9PSBjaHVua19sZWZ0OgotICAgICAgICAgICAgICAgIG4gPSBzZWxmLl9zYWZlX3JlYWRpbnRvKG12YikKLSAgICAgICAgICAgICAgICBzZWxmLl9zYWZlX3JlYWQoMikgICMgdG9zcyB0aGUgQ1JMRiBhdCB0aGUgZW5kIG9mIHRoZSBjaHVuawotICAgICAgICAgICAgICAgIHNlbGYuY2h1bmtfbGVmdCA9IE5vbmUKLSAgICAgICAgICAgICAgICByZXR1cm4gdG90YWxfYnl0ZXMgKyBuCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIHRlbXBfbXZiID0gbXZiWzA6Y2h1bmtfbGVmdF0KKyAgICAgICAgICAgICAgICBpZiBsZW4obXZiKSA8PSBjaHVua19sZWZ0OgorICAgICAgICAgICAgICAgICAgICBuID0gc2VsZi5fc2FmZV9yZWFkaW50byhtdmIpCisgICAgICAgICAgICAgICAgICAgIHNlbGYuY2h1bmtfbGVmdCA9IGNodW5rX2xlZnQgLSBuCisgICAgICAgICAgICAgICAgICAgIHJldHVybiB0b3RhbF9ieXRlcyArIG4KKworICAgICAgICAgICAgICAgIHRlbXBfbXZiID0gbXZiWzpjaHVua19sZWZ0XQogICAgICAgICAgICAgICAgIG4gPSBzZWxmLl9zYWZlX3JlYWRpbnRvKHRlbXBfbXZiKQogICAgICAgICAgICAgICAgIG12YiA9IG12YltuOl0KICAgICAgICAgICAgICAgICB0b3RhbF9ieXRlcyArPSBuCisgICAgICAgICAgICAgICAgc2VsZi5jaHVua19sZWZ0ID0gMAogCi0gICAgICAgICAgICAjIHdlIHJlYWQgdGhlIHdob2xlIGNodW5rLCBnZXQgYW5vdGhlcgotICAgICAgICAgICAgc2VsZi5fc2FmZV9yZWFkKDIpICAgICAgIyB0b3NzIHRoZSBDUkxGIGF0IHRoZSBlbmQgb2YgdGhlIGNodW5rCi0gICAgICAgICAgICBjaHVua19sZWZ0ID0gTm9uZQotCi0gICAgICAgIHNlbGYuX3JlYWRfYW5kX2Rpc2NhcmRfdHJhaWxlcigpCi0KLSAgICAgICAgIyB3ZSByZWFkIGV2ZXJ5dGhpbmc7IGNsb3NlIHRoZSAiZmlsZSIKLSAgICAgICAgc2VsZi5fY2xvc2VfY29ubigpCi0KLSAgICAgICAgcmV0dXJuIHRvdGFsX2J5dGVzCisgICAgICAgIGV4Y2VwdCBJbmNvbXBsZXRlUmVhZDoKKyAgICAgICAgICAgIHJhaXNlIEluY29tcGxldGVSZWFkKGJ5dGVzKGJbMDp0b3RhbF9ieXRlc10pKQogCiAgICAgZGVmIF9zYWZlX3JlYWQoc2VsZiwgYW10KToKICAgICAgICAgIiIiUmVhZCB0aGUgbnVtYmVyIG9mIGJ5dGVzIHJlcXVlc3RlZCwgY29tcGVuc2F0aW5nIGZvciBwYXJ0aWFsIHJlYWRzLgpAQCAtNjg0LDYgKzU3Myw3MyBAQAogICAgICAgICAgICAgdG90YWxfYnl0ZXMgKz0gbgogICAgICAgICByZXR1cm4gdG90YWxfYnl0ZXMKIAorICAgIGRlZiByZWFkMShzZWxmLCBuPS0xKToKKyAgICAgICAgIiIiUmVhZCB3aXRoIGF0IG1vc3Qgb25lIHVuZGVybHlpbmcgc3lzdGVtIGNhbGwuICBJZiBhdCBsZWFzdCBvbmUKKyAgICAgICAgYnl0ZSBpcyBidWZmZXJlZCwgcmV0dXJuIHRoYXQgaW5zdGVhZC4KKyAgICAgICAgIiIiCisgICAgICAgIGlmIHNlbGYuZnAgaXMgTm9uZSBvciBzZWxmLl9tZXRob2QgPT0gIkhFQUQiOgorICAgICAgICAgICAgcmV0dXJuIGIiIgorICAgICAgICBpZiBzZWxmLmNodW5rZWQ6CisgICAgICAgICAgICByZXR1cm4gc2VsZi5fcmVhZDFfY2h1bmtlZChuKQorICAgICAgICB0cnk6CisgICAgICAgICAgICByZXN1bHQgPSBzZWxmLmZwLnJlYWQxKG4pCisgICAgICAgIGV4Y2VwdCBWYWx1ZUVycm9yOgorICAgICAgICAgICAgaWYgbiA+PSAwOgorICAgICAgICAgICAgICAgIHJhaXNlCisgICAgICAgICAgICAjIHNvbWUgaW1wbGVtZW50YXRpb25zLCBsaWtlIEJ1ZmZlcmVkUmVhZGVyLCBkb24ndCBzdXBwb3J0IC0xCisgICAgICAgICAgICAjIFJlYWQgYW4gYXJiaXRyYXJpbHkgc2VsZWN0ZWQgbGFyZ2Vpc2ggY2h1bmsuCisgICAgICAgICAgICByZXN1bHQgPSBzZWxmLmZwLnJlYWQxKDE2KjEwMjQpCisgICAgICAgIGlmIG5vdCByZXN1bHQgYW5kIG46CisgICAgICAgICAgICBzZWxmLl9jbG9zZV9jb25uKCkKKyAgICAgICAgcmV0dXJuIHJlc3VsdAorCisgICAgZGVmIHBlZWsoc2VsZiwgbj0tMSk6CisgICAgICAgICMgSGF2aW5nIHRoaXMgZW5hYmxlcyBJT0Jhc2UucmVhZGxpbmUoKSB0byByZWFkIG1vcmUgdGhhbiBvbmUKKyAgICAgICAgIyBieXRlIGF0IGEgdGltZQorICAgICAgICBpZiBzZWxmLmZwIGlzIE5vbmUgb3Igc2VsZi5fbWV0aG9kID09ICJIRUFEIjoKKyAgICAgICAgICAgIHJldHVybiBiIiIKKyAgICAgICAgaWYgc2VsZi5jaHVua2VkOgorICAgICAgICAgICAgcmV0dXJuIHNlbGYuX3BlZWtfY2h1bmtlZChuKQorICAgICAgICByZXR1cm4gc2VsZi5mcC5wZWVrKG4pCisKKyAgICBkZWYgcmVhZGxpbmUoc2VsZiwgbGltaXQ9LTEpOgorICAgICAgICBpZiBzZWxmLmZwIGlzIE5vbmUgb3Igc2VsZi5fbWV0aG9kID09ICJIRUFEIjoKKyAgICAgICAgICAgIHJldHVybiBiIiIKKyAgICAgICAgaWYgc2VsZi5jaHVua2VkOgorICAgICAgICAgICAgIyBGYWxsYmFjayB0byBJT0Jhc2UgcmVhZGxpbmUgd2hpY2ggdXNlcyBwZWVrKCkgYW5kIHJlYWQoKQorICAgICAgICAgICAgcmV0dXJuIHN1cGVyKCkucmVhZGxpbmUobGltaXQpCisgICAgICAgIHJlc3VsdCA9IHNlbGYuZnAucmVhZGxpbmUobGltaXQpCisgICAgICAgIGlmIG5vdCByZXN1bHQgYW5kIGxpbWl0OgorICAgICAgICAgICAgc2VsZi5fY2xvc2VfY29ubigpCisgICAgICAgIHJldHVybiByZXN1bHQKKworICAgIGRlZiBfcmVhZDFfY2h1bmtlZChzZWxmLCBuKToKKyAgICAgICAgIyBTdHJpY3RseSBzcGVha2luZywgX2dldF9jaHVua19sZWZ0KCkgbWF5IGNhdXNlIG1vcmUgdGhhbiBvbmUgcmVhZCwKKyAgICAgICAgIyBidXQgdGhhdCBpcyBvaywgc2luY2UgdGhhdCBpcyB0byBzYXRpc2Z5IHRoZSBjaHVua2VkIHByb3RvY29sLgorICAgICAgICBjaHVua19sZWZ0ID0gc2VsZi5fZ2V0X2NodW5rX2xlZnQoKQorICAgICAgICBpZiBjaHVua19sZWZ0IGlzIE5vbmUgb3IgbiA9PSAwOgorICAgICAgICAgICAgcmV0dXJuIGInJworICAgICAgICBpZiBub3QgKDAgPD0gbiA8PSBjaHVua19sZWZ0KToKKyAgICAgICAgICAgIG4gPSBjaHVua19sZWZ0ICMgaWYgbiBpcyBuZWdhdGl2ZSBvciBsYXJnZXIgdGhhbiBjaHVua19sZWZ0CisgICAgICAgIHJlYWQgPSBzZWxmLmZwLnJlYWQxKG4pCisgICAgICAgIHNlbGYuY2h1bmtfbGVmdCAtPSBsZW4ocmVhZCkKKyAgICAgICAgaWYgbm90IHJlYWQ6CisgICAgICAgICAgICByYWlzZSBJbmNvbXBsZXRlUmVhZChiIiIpCisgICAgICAgIHJldHVybiByZWFkCisKKyAgICBkZWYgX3BlZWtfY2h1bmtlZChzZWxmLCBuKToKKyAgICAgICAgIyBTdHJpY3RseSBzcGVha2luZywgX2dldF9jaHVua19sZWZ0KCkgbWF5IGNhdXNlIG1vcmUgdGhhbiBvbmUgcmVhZCwKKyAgICAgICAgIyBidXQgdGhhdCBpcyBvaywgc2luY2UgdGhhdCBpcyB0byBzYXRpc2Z5IHRoZSBjaHVua2VkIHByb3RvY29sLgorICAgICAgICB0cnk6CisgICAgICAgICAgICBjaHVua19sZWZ0ID0gc2VsZi5fZ2V0X2NodW5rX2xlZnQoKQorICAgICAgICBleGNlcHQgSW5jb21wbGV0ZVJlYWQ6CisgICAgICAgICAgICByZXR1cm4gYicnICMgcGVlayBkb2Vzbid0IHdvcnJ5IGFib3V0IHByb3RvY29sCisgICAgICAgIGlmIGNodW5rX2xlZnQgaXMgTm9uZToKKyAgICAgICAgICAgIHJldHVybiBiJycgIyBlb2YKKyAgICAgICAgIyBwZWVrIGlzIGFsbG93ZWQgdG8gcmV0dXJuIG1vcmUgdGhhbiByZXF1ZXN0ZWQuICBKdXN0IHJlcXVlc3QgdGhlCisgICAgICAgICMgZW50aXJlIGNodW5rLCBhbmQgdHJ1bmNhdGUgd2hhdCB3ZSBnZXQuCisgICAgICAgIHJldHVybiBzZWxmLmZwLnBlZWsoY2h1bmtfbGVmdClbOmNodW5rX2xlZnRdCisKICAgICBkZWYgZmlsZW5vKHNlbGYpOgogICAgICAgICByZXR1cm4gc2VsZi5mcC5maWxlbm8oKQogCkBAIC03MjcsMTQgKzY4Myw2IEBACiAgICAgZGVmYXVsdF9wb3J0ID0gSFRUUF9QT1JUCiAgICAgYXV0b19vcGVuID0gMQogICAgIGRlYnVnbGV2ZWwgPSAwCi0gICAgIyBUQ1AgTWF4aW11bSBTZWdtZW50IFNpemUgKE1TUykgaXMgZGV0ZXJtaW5lZCBieSB0aGUgVENQIHN0YWNrIG9uCi0gICAgIyBhIHBlci1jb25uZWN0aW9uIGJhc2lzLiAgVGhlcmUgaXMgbm8gc2ltcGxlIGFuZCBlZmZpY2llbnQKLSAgICAjIHBsYXRmb3JtIGluZGVwZW5kZW50IG1lY2hhbmlzbSBmb3IgZGV0ZXJtaW5pbmcgdGhlIE1TUywgc28KLSAgICAjIGluc3RlYWQgYSByZWFzb25hYmxlIGVzdGltYXRlIGlzIGNob3Nlbi4gIFRoZSBnZXRzb2Nrb3B0KCkKLSAgICAjIGludGVyZmFjZSB1c2luZyB0aGUgVENQX01BWFNFRyBwYXJhbWV0ZXIgbWF5IGJlIGEgc3VpdGFibGUKLSAgICAjIGFwcHJvYWNoIG9uIHNvbWUgb3BlcmF0aW5nIHN5c3RlbXMuIEEgdmFsdWUgb2YgMTZLaUIgaXMgY2hvc2VuCi0gICAgIyBhcyBhIHJlYXNvbmFibGUgZXN0aW1hdGUgb2YgdGhlIG1heGltdW0gTVNTLgotICAgIG1zcyA9IDE2Mzg0CiAKICAgICBkZWYgX19pbml0X18oc2VsZiwgaG9zdCwgcG9ydD1Ob25lLCB0aW1lb3V0PXNvY2tldC5fR0xPQkFMX0RFRkFVTFRfVElNRU9VVCwKICAgICAgICAgICAgICAgICAgc291cmNlX2FkZHJlc3M9Tm9uZSk6CkBAIC04MTYsNyArNzY0LDcgQEAKICAgICAgICAgcmVzcG9uc2UgPSBzZWxmLnJlc3BvbnNlX2NsYXNzKHNlbGYuc29jaywgbWV0aG9kPXNlbGYuX21ldGhvZCkKICAgICAgICAgKHZlcnNpb24sIGNvZGUsIG1lc3NhZ2UpID0gcmVzcG9uc2UuX3JlYWRfc3RhdHVzKCkKIAotICAgICAgICBpZiBjb2RlICE9IDIwMDoKKyAgICAgICAgaWYgY29kZSAhPSBodHRwLkhUVFBTdGF0dXMuT0s6CiAgICAgICAgICAgICBzZWxmLmNsb3NlKCkKICAgICAgICAgICAgIHJhaXNlIE9TRXJyb3IoIlR1bm5lbCBjb25uZWN0aW9uIGZhaWxlZDogJWQgJXMiICUgKGNvZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlLnN0cmlwKCkpKQpAQCAtODMwLDEwICs3NzgsMTQgQEAKICAgICAgICAgICAgIGlmIGxpbmUgaW4gKGInXHJcbicsIGInXG4nLCBiJycpOgogICAgICAgICAgICAgICAgIGJyZWFrCiAKKyAgICAgICAgICAgIGlmIHNlbGYuZGVidWdsZXZlbCA+IDA6CisgICAgICAgICAgICAgICAgcHJpbnQoJ2hlYWRlcjonLCBsaW5lLmRlY29kZSgpKQorCiAgICAgZGVmIGNvbm5lY3Qoc2VsZik6CiAgICAgICAgICIiIkNvbm5lY3QgdG8gdGhlIGhvc3QgYW5kIHBvcnQgc3BlY2lmaWVkIGluIF9faW5pdF9fLiIiIgotICAgICAgICBzZWxmLnNvY2sgPSBzZWxmLl9jcmVhdGVfY29ubmVjdGlvbigoc2VsZi5ob3N0LHNlbGYucG9ydCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYudGltZW91dCwgc2VsZi5zb3VyY2VfYWRkcmVzcykKKyAgICAgICAgc2VsZi5zb2NrID0gc2VsZi5fY3JlYXRlX2Nvbm5lY3Rpb24oCisgICAgICAgICAgICAoc2VsZi5ob3N0LHNlbGYucG9ydCksIHNlbGYudGltZW91dCwgc2VsZi5zb3VyY2VfYWRkcmVzcykKKyAgICAgICAgc2VsZi5zb2NrLnNldHNvY2tvcHQoc29ja2V0LklQUFJPVE9fVENQLCBzb2NrZXQuVENQX05PREVMQVksIDEpCiAKICAgICAgICAgaWYgc2VsZi5fdHVubmVsX2hvc3Q6CiAgICAgICAgICAgICBzZWxmLl90dW5uZWwoKQpAQCAtOTEyLDE5ICs4NjQsOSBAQAogICAgICAgICBzZWxmLl9idWZmZXIuZXh0ZW5kKChiIiIsIGIiIikpCiAgICAgICAgIG1zZyA9IGIiXHJcbiIuam9pbihzZWxmLl9idWZmZXIpCiAgICAgICAgIGRlbCBzZWxmLl9idWZmZXJbOl0KLSAgICAgICAgIyBJZiBtc2cgYW5kIG1lc3NhZ2VfYm9keSBhcmUgc2VudCBpbiBhIHNpbmdsZSBzZW5kKCkgY2FsbCwKLSAgICAgICAgIyBpdCB3aWxsIGF2b2lkIHBlcmZvcm1hbmNlIHByb2JsZW1zIGNhdXNlZCBieSB0aGUgaW50ZXJhY3Rpb24KLSAgICAgICAgIyBiZXR3ZWVuIGRlbGF5ZWQgYWNrIGFuZCB0aGUgTmFnbGUgYWxnb3JpdGhtLiBIb3dldmVyLAotICAgICAgICAjIHRoZXJlIGlzIG5vIHBlcmZvcm1hbmNlIGdhaW4gaWYgdGhlIG1lc3NhZ2UgaXMgbGFyZ2VyCi0gICAgICAgICMgdGhhbiBNU1MgKGFuZCB0aGVyZSBpcyBhIG1lbW9yeSBwZW5hbHR5IGZvciB0aGUgbWVzc2FnZQotICAgICAgICAjIGNvcHkpLgotICAgICAgICBpZiBpc2luc3RhbmNlKG1lc3NhZ2VfYm9keSwgYnl0ZXMpIGFuZCBsZW4obWVzc2FnZV9ib2R5KSA8IHNlbGYubXNzOgotICAgICAgICAgICAgbXNnICs9IG1lc3NhZ2VfYm9keQotICAgICAgICAgICAgbWVzc2FnZV9ib2R5ID0gTm9uZQorCiAgICAgICAgIHNlbGYuc2VuZChtc2cpCiAgICAgICAgIGlmIG1lc3NhZ2VfYm9keSBpcyBub3QgTm9uZToKLSAgICAgICAgICAgICMgbWVzc2FnZV9ib2R5IHdhcyBub3QgYSBzdHJpbmcgKGkuZS4gaXQgaXMgYSBmaWxlKSwgYW5kCi0gICAgICAgICAgICAjIHdlIG11c3QgcnVuIHRoZSByaXNrIG9mIE5hZ2xlLgogICAgICAgICAgICAgc2VsZi5zZW5kKG1lc3NhZ2VfYm9keSkKIAogICAgIGRlZiBwdXRyZXF1ZXN0KHNlbGYsIG1ldGhvZCwgdXJsLCBza2lwX2hvc3Q9MCwgc2tpcF9hY2NlcHRfZW5jb2Rpbmc9MCk6CkBAIC0xMjczLDcgKzEyMTUsOCBAQAogICAgICAgICAgICAgZSA9ICcsICVpIG1vcmUgZXhwZWN0ZWQnICUgc2VsZi5leHBlY3RlZAogICAgICAgICBlbHNlOgogICAgICAgICAgICAgZSA9ICcnCi0gICAgICAgIHJldHVybiAnSW5jb21wbGV0ZVJlYWQoJWkgYnl0ZXMgcmVhZCVzKScgJSAobGVuKHNlbGYucGFydGlhbCksIGUpCisgICAgICAgIHJldHVybiAnJXMoJWkgYnl0ZXMgcmVhZCVzKScgJSAoc2VsZi5fX2NsYXNzX18uX19uYW1lX18sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVuKHNlbGYucGFydGlhbCksIGUpCiAgICAgZGVmIF9fc3RyX18oc2VsZik6CiAgICAgICAgIHJldHVybiByZXByKHNlbGYpCiAKZGlmZiAtLWdpdCBhL0xpYi9odHRwL2Nvb2tpZWphci5weSBiL0xpYi9odHRwL2Nvb2tpZWphci5weQppbmRleCA3ZTQ5ODJmLi4yMmYyODMzIDEwMDY0NAotLS0gYS9MaWIvaHR0cC9jb29raWVqYXIucHkKKysrIGIvTGliL2h0dHAvY29va2llamFyLnB5CkBAIC00NzgsNyArNDc4LDcgQEAKICAgICAgICAgICAgIGlmICI9IiBub3QgaW4gcGFyYW06CiAgICAgICAgICAgICAgICAgaywgdiA9IHBhcmFtLCBOb25lCiAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIGssIHYgPSByZS5zcGxpdChyIlxzKj1ccyoiLCBwYXJhbSwgMSkKKyAgICAgICAgICAgICAgICBrLCB2ID0gcmUuc3BsaXQociJccyo9XHMqIiwgcGFyYW0sIG1heHNwbGl0PTEpCiAgICAgICAgICAgICAgICAgayA9IGsubHN0cmlwKCkKICAgICAgICAgICAgIGlmIGlpICE9IDA6CiAgICAgICAgICAgICAgICAgbGMgPSBrLmxvd2VyKCkKQEAgLTgwNSw3ICs4MDUsNyBAQAogICAgICAgICAgICAgYXJncy5hcHBlbmQoIiVzPSVzIiAlIChuYW1lLCByZXByKGF0dHIpKSkKICAgICAgICAgYXJncy5hcHBlbmQoInJlc3Q9JXMiICUgcmVwcihzZWxmLl9yZXN0KSkKICAgICAgICAgYXJncy5hcHBlbmQoInJmYzIxMDk9JXMiICUgcmVwcihzZWxmLnJmYzIxMDkpKQotICAgICAgICByZXR1cm4gIkNvb2tpZSglcykiICUgIiwgIi5qb2luKGFyZ3MpCisgICAgICAgIHJldHVybiAiJXMoJXMpIiAlIChzZWxmLl9fY2xhc3NfXy5fX25hbWVfXywgIiwgIi5qb2luKGFyZ3MpKQogCiAKIGNsYXNzIENvb2tpZVBvbGljeToKZGlmZiAtLWdpdCBhL0xpYi9odHRwL2Nvb2tpZXMucHkgYi9MaWIvaHR0cC9jb29raWVzLnB5CmluZGV4IDNlMWFiZDcuLjczYWNiYzcgMTAwNjQ0Ci0tLSBhL0xpYi9odHRwL2Nvb2tpZXMucHkKKysrIGIvTGliL2h0dHAvY29va2llcy5weQpAQCAtNTMzLDEwICs1MzMsMTcgQEAKICAgICAgICAgcmV0dXJuCiAKICAgICBkZWYgX19wYXJzZV9zdHJpbmcoc2VsZiwgc3RyLCBwYXR0PV9Db29raWVQYXR0ZXJuKToKLSAgICAgICAgaSA9IDAgICAgICAgICAgICAjIE91ciBzdGFydGluZyBwb2ludAotICAgICAgICBuID0gbGVuKHN0cikgICAgICMgTGVuZ3RoIG9mIHN0cmluZwotICAgICAgICBNID0gTm9uZSAgICAgICAgICMgY3VycmVudCBtb3JzZWwKKyAgICAgICAgaSA9IDAgICAgICAgICAgICAgICAgICMgT3VyIHN0YXJ0aW5nIHBvaW50CisgICAgICAgIG4gPSBsZW4oc3RyKSAgICAgICAgICAjIExlbmd0aCBvZiBzdHJpbmcKKyAgICAgICAgcGFyc2VkX2l0ZW1zID0gW10gICAgICMgUGFyc2VkICh0eXBlLCBrZXksIHZhbHVlKSB0cmlwbGVzCisgICAgICAgIG1vcnNlbF9zZWVuID0gRmFsc2UgICAjIEEga2V5PXZhbHVlIHBhaXIgd2FzIHByZXZpb3VzbHkgZW5jb3VudGVyZWQKIAorICAgICAgICBUWVBFX0FUVFJJQlVURSA9IDEKKyAgICAgICAgVFlQRV9LRVlWQUxVRSA9IDIKKworICAgICAgICAjIFdlIGZpcnN0IHBhcnNlIHRoZSB3aG9sZSBjb29raWUgc3RyaW5nIGFuZCByZWplY3QgaXQgaWYgaXQncworICAgICAgICAjIHN5bnRhY3RpY2FsbHkgaW52YWxpZCAodGhpcyBoZWxwcyBhdm9pZCBzb21lIGNsYXNzZXMgb2YgaW5qZWN0aW9uCisgICAgICAgICMgYXR0YWNrcykuCiAgICAgICAgIHdoaWxlIDAgPD0gaSA8IG46CiAgICAgICAgICAgICAjIFN0YXJ0IGxvb2tpbmcgZm9yIGEgY29va2llCiAgICAgICAgICAgICBtYXRjaCA9IHBhdHQubWF0Y2goc3RyLCBpKQpAQCAtNTQ3LDIyICs1NTQsNDEgQEAKICAgICAgICAgICAgIGtleSwgdmFsdWUgPSBtYXRjaC5ncm91cCgia2V5IiksIG1hdGNoLmdyb3VwKCJ2YWwiKQogICAgICAgICAgICAgaSA9IG1hdGNoLmVuZCgwKQogCi0gICAgICAgICAgICAjIFBhcnNlIHRoZSBrZXksIHZhbHVlIGluIGNhc2UgaXQncyBtZXRhaW5mbwogICAgICAgICAgICAgaWYga2V5WzBdID09ICIkIjoKLSAgICAgICAgICAgICAgICAjIFdlIGlnbm9yZSBhdHRyaWJ1dGVzIHdoaWNoIHBlcnRhaW4gdG8gdGhlIGNvb2tpZQotICAgICAgICAgICAgICAgICMgbWVjaGFuaXNtIGFzIGEgd2hvbGUuICBTZWUgUkZDIDIxMDkuCi0gICAgICAgICAgICAgICAgIyAoRG9lcyBhbnlvbmUgY2FyZT8pCi0gICAgICAgICAgICAgICAgaWYgTToKLSAgICAgICAgICAgICAgICAgICAgTVtrZXlbMTpdXSA9IHZhbHVlCisgICAgICAgICAgICAgICAgaWYgbm90IG1vcnNlbF9zZWVuOgorICAgICAgICAgICAgICAgICAgICAjIFdlIGlnbm9yZSBhdHRyaWJ1dGVzIHdoaWNoIHBlcnRhaW4gdG8gdGhlIGNvb2tpZQorICAgICAgICAgICAgICAgICAgICAjIG1lY2hhbmlzbSBhcyBhIHdob2xlLCBzdWNoIGFzICIkVmVyc2lvbiIuCisgICAgICAgICAgICAgICAgICAgICMgU2VlIFJGQyAyOTY1LiAoRG9lcyBhbnlvbmUgY2FyZT8pCisgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCisgICAgICAgICAgICAgICAgcGFyc2VkX2l0ZW1zLmFwcGVuZCgoVFlQRV9BVFRSSUJVVEUsIGtleVsxOl0sIHZhbHVlKSkKICAgICAgICAgICAgIGVsaWYga2V5Lmxvd2VyKCkgaW4gTW9yc2VsLl9yZXNlcnZlZDoKLSAgICAgICAgICAgICAgICBpZiBNOgotICAgICAgICAgICAgICAgICAgICBpZiB2YWx1ZSBpcyBOb25lOgotICAgICAgICAgICAgICAgICAgICAgICAgaWYga2V5Lmxvd2VyKCkgaW4gTW9yc2VsLl9mbGFnczoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBNW2tleV0gPSBUcnVlCisgICAgICAgICAgICAgICAgaWYgbm90IG1vcnNlbF9zZWVuOgorICAgICAgICAgICAgICAgICAgICAjIEludmFsaWQgY29va2llIHN0cmluZworICAgICAgICAgICAgICAgICAgICByZXR1cm4KKyAgICAgICAgICAgICAgICBpZiB2YWx1ZSBpcyBOb25lOgorICAgICAgICAgICAgICAgICAgICBpZiBrZXkubG93ZXIoKSBpbiBNb3JzZWwuX2ZsYWdzOgorICAgICAgICAgICAgICAgICAgICAgICAgcGFyc2VkX2l0ZW1zLmFwcGVuZCgoVFlQRV9BVFRSSUJVVEUsIGtleSwgVHJ1ZSkpCiAgICAgICAgICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgICAgICAgICBNW2tleV0gPSBfdW5xdW90ZSh2YWx1ZSkKKyAgICAgICAgICAgICAgICAgICAgICAgICMgSW52YWxpZCBjb29raWUgc3RyaW5nCisgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4KKyAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICBwYXJzZWRfaXRlbXMuYXBwZW5kKChUWVBFX0FUVFJJQlVURSwga2V5LCBfdW5xdW90ZSh2YWx1ZSkpKQogICAgICAgICAgICAgZWxpZiB2YWx1ZSBpcyBub3QgTm9uZToKLSAgICAgICAgICAgICAgICBydmFsLCBjdmFsID0gc2VsZi52YWx1ZV9kZWNvZGUodmFsdWUpCisgICAgICAgICAgICAgICAgcGFyc2VkX2l0ZW1zLmFwcGVuZCgoVFlQRV9LRVlWQUxVRSwga2V5LCBzZWxmLnZhbHVlX2RlY29kZSh2YWx1ZSkpKQorICAgICAgICAgICAgICAgIG1vcnNlbF9zZWVuID0gVHJ1ZQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAjIEludmFsaWQgY29va2llIHN0cmluZworICAgICAgICAgICAgICAgIHJldHVybgorCisgICAgICAgICMgVGhlIGNvb2tpZSBzdHJpbmcgaXMgdmFsaWQsIGFwcGx5IGl0LgorICAgICAgICBNID0gTm9uZSAgICAgICAgICMgY3VycmVudCBtb3JzZWwKKyAgICAgICAgZm9yIHRwLCBrZXksIHZhbHVlIGluIHBhcnNlZF9pdGVtczoKKyAgICAgICAgICAgIGlmIHRwID09IFRZUEVfQVRUUklCVVRFOgorICAgICAgICAgICAgICAgIGFzc2VydCBNIGlzIG5vdCBOb25lCisgICAgICAgICAgICAgICAgTVtrZXldID0gdmFsdWUKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgYXNzZXJ0IHRwID09IFRZUEVfS0VZVkFMVUUKKyAgICAgICAgICAgICAgICBydmFsLCBjdmFsID0gdmFsdWUKICAgICAgICAgICAgICAgICBzZWxmLl9fc2V0KGtleSwgcnZhbCwgY3ZhbCkKICAgICAgICAgICAgICAgICBNID0gc2VsZltrZXldCiAKZGlmZiAtLWdpdCBhL0xpYi9odHRwL3NlcnZlci5weSBiL0xpYi9odHRwL3NlcnZlci5weQppbmRleCA0NzY1NWU3Li40NzA0ZDUxIDEwMDY0NAotLS0gYS9MaWIvaHR0cC9zZXJ2ZXIucHkKKysrIGIvTGliL2h0dHAvc2VydmVyLnB5CkBAIC0xMDMsNiArMTAzLDggQEAKIGltcG9ydCBjb3B5CiBpbXBvcnQgYXJncGFyc2UKIAorZnJvbSBodHRwIGltcG9ydCBIVFRQU3RhdHVzCisKIAogIyBEZWZhdWx0IGVycm9yIG1lc3NhZ2UgdGVtcGxhdGUKIERFRkFVTFRfRVJST1JfTUVTU0FHRSA9ICIiIlwKQEAgLTI4MSw3ICsyODMsOSBAQAogICAgICAgICBpZiBsZW4od29yZHMpID09IDM6CiAgICAgICAgICAgICBjb21tYW5kLCBwYXRoLCB2ZXJzaW9uID0gd29yZHMKICAgICAgICAgICAgIGlmIHZlcnNpb25bOjVdICE9ICdIVFRQLyc6Ci0gICAgICAgICAgICAgICAgc2VsZi5zZW5kX2Vycm9yKDQwMCwgIkJhZCByZXF1ZXN0IHZlcnNpb24gKCVyKSIgJSB2ZXJzaW9uKQorICAgICAgICAgICAgICAgIHNlbGYuc2VuZF9lcnJvcigKKyAgICAgICAgICAgICAgICAgICAgSFRUUFN0YXR1cy5CQURfUkVRVUVTVCwKKyAgICAgICAgICAgICAgICAgICAgIkJhZCByZXF1ZXN0IHZlcnNpb24gKCVyKSIgJSB2ZXJzaW9uKQogICAgICAgICAgICAgICAgIHJldHVybiBGYWxzZQogICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgIGJhc2VfdmVyc2lvbl9udW1iZXIgPSB2ZXJzaW9uLnNwbGl0KCcvJywgMSlbMV0KQEAgLTI5NiwyNSArMzAwLDMxIEBACiAgICAgICAgICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IKICAgICAgICAgICAgICAgICB2ZXJzaW9uX251bWJlciA9IGludCh2ZXJzaW9uX251bWJlclswXSksIGludCh2ZXJzaW9uX251bWJlclsxXSkKICAgICAgICAgICAgIGV4Y2VwdCAoVmFsdWVFcnJvciwgSW5kZXhFcnJvcik6Ci0gICAgICAgICAgICAgICAgc2VsZi5zZW5kX2Vycm9yKDQwMCwgIkJhZCByZXF1ZXN0IHZlcnNpb24gKCVyKSIgJSB2ZXJzaW9uKQorICAgICAgICAgICAgICAgIHNlbGYuc2VuZF9lcnJvcigKKyAgICAgICAgICAgICAgICAgICAgSFRUUFN0YXR1cy5CQURfUkVRVUVTVCwKKyAgICAgICAgICAgICAgICAgICAgIkJhZCByZXF1ZXN0IHZlcnNpb24gKCVyKSIgJSB2ZXJzaW9uKQogICAgICAgICAgICAgICAgIHJldHVybiBGYWxzZQogICAgICAgICAgICAgaWYgdmVyc2lvbl9udW1iZXIgPj0gKDEsIDEpIGFuZCBzZWxmLnByb3RvY29sX3ZlcnNpb24gPj0gIkhUVFAvMS4xIjoKICAgICAgICAgICAgICAgICBzZWxmLmNsb3NlX2Nvbm5lY3Rpb24gPSBGYWxzZQogICAgICAgICAgICAgaWYgdmVyc2lvbl9udW1iZXIgPj0gKDIsIDApOgotICAgICAgICAgICAgICAgIHNlbGYuc2VuZF9lcnJvcig1MDUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICJJbnZhbGlkIEhUVFAgVmVyc2lvbiAoJXMpIiAlIGJhc2VfdmVyc2lvbl9udW1iZXIpCisgICAgICAgICAgICAgICAgc2VsZi5zZW5kX2Vycm9yKAorICAgICAgICAgICAgICAgICAgICBIVFRQU3RhdHVzLkhUVFBfVkVSU0lPTl9OT1RfU1VQUE9SVEVELAorICAgICAgICAgICAgICAgICAgICAiSW52YWxpZCBIVFRQIFZlcnNpb24gKCVzKSIgJSBiYXNlX3ZlcnNpb25fbnVtYmVyKQogICAgICAgICAgICAgICAgIHJldHVybiBGYWxzZQogICAgICAgICBlbGlmIGxlbih3b3JkcykgPT0gMjoKICAgICAgICAgICAgIGNvbW1hbmQsIHBhdGggPSB3b3JkcwogICAgICAgICAgICAgc2VsZi5jbG9zZV9jb25uZWN0aW9uID0gVHJ1ZQogICAgICAgICAgICAgaWYgY29tbWFuZCAhPSAnR0VUJzoKLSAgICAgICAgICAgICAgICBzZWxmLnNlbmRfZXJyb3IoNDAwLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiQmFkIEhUVFAvMC45IHJlcXVlc3QgdHlwZSAoJXIpIiAlIGNvbW1hbmQpCisgICAgICAgICAgICAgICAgc2VsZi5zZW5kX2Vycm9yKAorICAgICAgICAgICAgICAgICAgICBIVFRQU3RhdHVzLkJBRF9SRVFVRVNULAorICAgICAgICAgICAgICAgICAgICAiQmFkIEhUVFAvMC45IHJlcXVlc3QgdHlwZSAoJXIpIiAlIGNvbW1hbmQpCiAgICAgICAgICAgICAgICAgcmV0dXJuIEZhbHNlCiAgICAgICAgIGVsaWYgbm90IHdvcmRzOgogICAgICAgICAgICAgcmV0dXJuIEZhbHNlCiAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBzZWxmLnNlbmRfZXJyb3IoNDAwLCAiQmFkIHJlcXVlc3Qgc3ludGF4ICglcikiICUgcmVxdWVzdGxpbmUpCisgICAgICAgICAgICBzZWxmLnNlbmRfZXJyb3IoCisgICAgICAgICAgICAgICAgSFRUUFN0YXR1cy5CQURfUkVRVUVTVCwKKyAgICAgICAgICAgICAgICAiQmFkIHJlcXVlc3Qgc3ludGF4ICglcikiICUgcmVxdWVzdGxpbmUpCiAgICAgICAgICAgICByZXR1cm4gRmFsc2UKICAgICAgICAgc2VsZi5jb21tYW5kLCBzZWxmLnBhdGgsIHNlbGYucmVxdWVzdF92ZXJzaW9uID0gY29tbWFuZCwgcGF0aCwgdmVyc2lvbgogCkBAIC0zMjMsNyArMzMzLDkgQEAKICAgICAgICAgICAgIHNlbGYuaGVhZGVycyA9IGh0dHAuY2xpZW50LnBhcnNlX2hlYWRlcnMoc2VsZi5yZmlsZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX2NsYXNzPXNlbGYuTWVzc2FnZUNsYXNzKQogICAgICAgICBleGNlcHQgaHR0cC5jbGllbnQuTGluZVRvb0xvbmc6Ci0gICAgICAgICAgICBzZWxmLnNlbmRfZXJyb3IoNDAwLCAiTGluZSB0b28gbG9uZyIpCisgICAgICAgICAgICBzZWxmLnNlbmRfZXJyb3IoCisgICAgICAgICAgICAgICAgSFRUUFN0YXR1cy5CQURfUkVRVUVTVCwKKyAgICAgICAgICAgICAgICAiTGluZSB0b28gbG9uZyIpCiAgICAgICAgICAgICByZXR1cm4gRmFsc2UKIAogICAgICAgICBjb25udHlwZSA9IHNlbGYuaGVhZGVycy5nZXQoJ0Nvbm5lY3Rpb24nLCAiIikKQEAgLTM1NSw3ICszNjcsNyBAQAogICAgICAgICBGYWxzZS4KIAogICAgICAgICAiIiIKLSAgICAgICAgc2VsZi5zZW5kX3Jlc3BvbnNlX29ubHkoMTAwKQorICAgICAgICBzZWxmLnNlbmRfcmVzcG9uc2Vfb25seShIVFRQU3RhdHVzLkNPTlRJTlVFKQogICAgICAgICBzZWxmLmVuZF9oZWFkZXJzKCkKICAgICAgICAgcmV0dXJuIFRydWUKIApAQCAtMzczLDcgKzM4NSw3IEBACiAgICAgICAgICAgICAgICAgc2VsZi5yZXF1ZXN0bGluZSA9ICcnCiAgICAgICAgICAgICAgICAgc2VsZi5yZXF1ZXN0X3ZlcnNpb24gPSAnJwogICAgICAgICAgICAgICAgIHNlbGYuY29tbWFuZCA9ICcnCi0gICAgICAgICAgICAgICAgc2VsZi5zZW5kX2Vycm9yKDQxNCkKKyAgICAgICAgICAgICAgICBzZWxmLnNlbmRfZXJyb3IoSFRUUFN0YXR1cy5SRVFVRVNUX1VSSV9UT09fTE9ORykKICAgICAgICAgICAgICAgICByZXR1cm4KICAgICAgICAgICAgIGlmIG5vdCBzZWxmLnJhd19yZXF1ZXN0bGluZToKICAgICAgICAgICAgICAgICBzZWxmLmNsb3NlX2Nvbm5lY3Rpb24gPSBUcnVlCkBAIC0zODMsNyArMzk1LDkgQEAKICAgICAgICAgICAgICAgICByZXR1cm4KICAgICAgICAgICAgIG1uYW1lID0gJ2RvXycgKyBzZWxmLmNvbW1hbmQKICAgICAgICAgICAgIGlmIG5vdCBoYXNhdHRyKHNlbGYsIG1uYW1lKToKLSAgICAgICAgICAgICAgICBzZWxmLnNlbmRfZXJyb3IoNTAxLCAiVW5zdXBwb3J0ZWQgbWV0aG9kICglcikiICUgc2VsZi5jb21tYW5kKQorICAgICAgICAgICAgICAgIHNlbGYuc2VuZF9lcnJvcigKKyAgICAgICAgICAgICAgICAgICAgSFRUUFN0YXR1cy5OT1RfSU1QTEVNRU5URUQsCisgICAgICAgICAgICAgICAgICAgICJVbnN1cHBvcnRlZCBtZXRob2QgKCVyKSIgJSBzZWxmLmNvbW1hbmQpCiAgICAgICAgICAgICAgICAgcmV0dXJuCiAgICAgICAgICAgICBtZXRob2QgPSBnZXRhdHRyKHNlbGYsIG1uYW1lKQogICAgICAgICAgICAgbWV0aG9kKCkKQEAgLTQzOCw3ICs0NTIsMTEgQEAKICAgICAgICAgc2VsZi5zZW5kX2hlYWRlcignQ29ubmVjdGlvbicsICdjbG9zZScpCiAgICAgICAgIHNlbGYuc2VuZF9oZWFkZXIoJ0NvbnRlbnQtTGVuZ3RoJywgaW50KGxlbihib2R5KSkpCiAgICAgICAgIHNlbGYuZW5kX2hlYWRlcnMoKQotICAgICAgICBpZiBzZWxmLmNvbW1hbmQgIT0gJ0hFQUQnIGFuZCBjb2RlID49IDIwMCBhbmQgY29kZSBub3QgaW4gKDIwNCwgMzA0KToKKworICAgICAgICBpZiAoc2VsZi5jb21tYW5kICE9ICdIRUFEJyBhbmQKKyAgICAgICAgICAgICAgICBjb2RlID49IDIwMCBhbmQKKyAgICAgICAgICAgICAgICBjb2RlIG5vdCBpbiAoCisgICAgICAgICAgICAgICAgICAgIEhUVFBTdGF0dXMuTk9fQ09OVEVOVCwgSFRUUFN0YXR1cy5OT1RfTU9ESUZJRUQpKToKICAgICAgICAgICAgIHNlbGYud2ZpbGUud3JpdGUoYm9keSkKIAogICAgIGRlZiBzZW5kX3Jlc3BvbnNlKHNlbGYsIGNvZGUsIG1lc3NhZ2U9Tm9uZSk6CkBAIC01ODIsODIgKzYwMCwxMSBAQAogICAgICMgTWVzc2FnZUNsYXNzIHVzZWQgdG8gcGFyc2UgaGVhZGVycwogICAgIE1lc3NhZ2VDbGFzcyA9IGh0dHAuY2xpZW50LkhUVFBNZXNzYWdlCiAKLSAgICAjIFRhYmxlIG1hcHBpbmcgcmVzcG9uc2UgY29kZXMgdG8gbWVzc2FnZXM7IGVudHJpZXMgaGF2ZSB0aGUKLSAgICAjIGZvcm0ge2NvZGU6IChzaG9ydG1lc3NhZ2UsIGxvbmdtZXNzYWdlKX0uCi0gICAgIyBTZWUgUkZDIDI2MTYgYW5kIDY1ODUuCisgICAgIyBoYWNrIHRvIG1haW50YWluIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5CiAgICAgcmVzcG9uc2VzID0gewotICAgICAgICAxMDA6ICgnQ29udGludWUnLCAnUmVxdWVzdCByZWNlaXZlZCwgcGxlYXNlIGNvbnRpbnVlJyksCi0gICAgICAgIDEwMTogKCdTd2l0Y2hpbmcgUHJvdG9jb2xzJywKLSAgICAgICAgICAgICAgJ1N3aXRjaGluZyB0byBuZXcgcHJvdG9jb2w7IG9iZXkgVXBncmFkZSBoZWFkZXInKSwKLQotICAgICAgICAyMDA6ICgnT0snLCAnUmVxdWVzdCBmdWxmaWxsZWQsIGRvY3VtZW50IGZvbGxvd3MnKSwKLSAgICAgICAgMjAxOiAoJ0NyZWF0ZWQnLCAnRG9jdW1lbnQgY3JlYXRlZCwgVVJMIGZvbGxvd3MnKSwKLSAgICAgICAgMjAyOiAoJ0FjY2VwdGVkJywKLSAgICAgICAgICAgICAgJ1JlcXVlc3QgYWNjZXB0ZWQsIHByb2Nlc3NpbmcgY29udGludWVzIG9mZi1saW5lJyksCi0gICAgICAgIDIwMzogKCdOb24tQXV0aG9yaXRhdGl2ZSBJbmZvcm1hdGlvbicsICdSZXF1ZXN0IGZ1bGZpbGxlZCBmcm9tIGNhY2hlJyksCi0gICAgICAgIDIwNDogKCdObyBDb250ZW50JywgJ1JlcXVlc3QgZnVsZmlsbGVkLCBub3RoaW5nIGZvbGxvd3MnKSwKLSAgICAgICAgMjA1OiAoJ1Jlc2V0IENvbnRlbnQnLCAnQ2xlYXIgaW5wdXQgZm9ybSBmb3IgZnVydGhlciBpbnB1dC4nKSwKLSAgICAgICAgMjA2OiAoJ1BhcnRpYWwgQ29udGVudCcsICdQYXJ0aWFsIGNvbnRlbnQgZm9sbG93cy4nKSwKLQotICAgICAgICAzMDA6ICgnTXVsdGlwbGUgQ2hvaWNlcycsCi0gICAgICAgICAgICAgICdPYmplY3QgaGFzIHNldmVyYWwgcmVzb3VyY2VzIC0tIHNlZSBVUkkgbGlzdCcpLAotICAgICAgICAzMDE6ICgnTW92ZWQgUGVybWFuZW50bHknLCAnT2JqZWN0IG1vdmVkIHBlcm1hbmVudGx5IC0tIHNlZSBVUkkgbGlzdCcpLAotICAgICAgICAzMDI6ICgnRm91bmQnLCAnT2JqZWN0IG1vdmVkIHRlbXBvcmFyaWx5IC0tIHNlZSBVUkkgbGlzdCcpLAotICAgICAgICAzMDM6ICgnU2VlIE90aGVyJywgJ09iamVjdCBtb3ZlZCAtLSBzZWUgTWV0aG9kIGFuZCBVUkwgbGlzdCcpLAotICAgICAgICAzMDQ6ICgnTm90IE1vZGlmaWVkJywKLSAgICAgICAgICAgICAgJ0RvY3VtZW50IGhhcyBub3QgY2hhbmdlZCBzaW5jZSBnaXZlbiB0aW1lJyksCi0gICAgICAgIDMwNTogKCdVc2UgUHJveHknLAotICAgICAgICAgICAgICAnWW91IG11c3QgdXNlIHByb3h5IHNwZWNpZmllZCBpbiBMb2NhdGlvbiB0byBhY2Nlc3MgdGhpcyAnCi0gICAgICAgICAgICAgICdyZXNvdXJjZS4nKSwKLSAgICAgICAgMzA3OiAoJ1RlbXBvcmFyeSBSZWRpcmVjdCcsCi0gICAgICAgICAgICAgICdPYmplY3QgbW92ZWQgdGVtcG9yYXJpbHkgLS0gc2VlIFVSSSBsaXN0JyksCi0KLSAgICAgICAgNDAwOiAoJ0JhZCBSZXF1ZXN0JywKLSAgICAgICAgICAgICAgJ0JhZCByZXF1ZXN0IHN5bnRheCBvciB1bnN1cHBvcnRlZCBtZXRob2QnKSwKLSAgICAgICAgNDAxOiAoJ1VuYXV0aG9yaXplZCcsCi0gICAgICAgICAgICAgICdObyBwZXJtaXNzaW9uIC0tIHNlZSBhdXRob3JpemF0aW9uIHNjaGVtZXMnKSwKLSAgICAgICAgNDAyOiAoJ1BheW1lbnQgUmVxdWlyZWQnLAotICAgICAgICAgICAgICAnTm8gcGF5bWVudCAtLSBzZWUgY2hhcmdpbmcgc2NoZW1lcycpLAotICAgICAgICA0MDM6ICgnRm9yYmlkZGVuJywKLSAgICAgICAgICAgICAgJ1JlcXVlc3QgZm9yYmlkZGVuIC0tIGF1dGhvcml6YXRpb24gd2lsbCBub3QgaGVscCcpLAotICAgICAgICA0MDQ6ICgnTm90IEZvdW5kJywgJ05vdGhpbmcgbWF0Y2hlcyB0aGUgZ2l2ZW4gVVJJJyksCi0gICAgICAgIDQwNTogKCdNZXRob2QgTm90IEFsbG93ZWQnLAotICAgICAgICAgICAgICAnU3BlY2lmaWVkIG1ldGhvZCBpcyBpbnZhbGlkIGZvciB0aGlzIHJlc291cmNlLicpLAotICAgICAgICA0MDY6ICgnTm90IEFjY2VwdGFibGUnLCAnVVJJIG5vdCBhdmFpbGFibGUgaW4gcHJlZmVycmVkIGZvcm1hdC4nKSwKLSAgICAgICAgNDA3OiAoJ1Byb3h5IEF1dGhlbnRpY2F0aW9uIFJlcXVpcmVkJywgJ1lvdSBtdXN0IGF1dGhlbnRpY2F0ZSB3aXRoICcKLSAgICAgICAgICAgICAgJ3RoaXMgcHJveHkgYmVmb3JlIHByb2NlZWRpbmcuJyksCi0gICAgICAgIDQwODogKCdSZXF1ZXN0IFRpbWVvdXQnLCAnUmVxdWVzdCB0aW1lZCBvdXQ7IHRyeSBhZ2FpbiBsYXRlci4nKSwKLSAgICAgICAgNDA5OiAoJ0NvbmZsaWN0JywgJ1JlcXVlc3QgY29uZmxpY3QuJyksCi0gICAgICAgIDQxMDogKCdHb25lJywKLSAgICAgICAgICAgICAgJ1VSSSBubyBsb25nZXIgZXhpc3RzIGFuZCBoYXMgYmVlbiBwZXJtYW5lbnRseSByZW1vdmVkLicpLAotICAgICAgICA0MTE6ICgnTGVuZ3RoIFJlcXVpcmVkJywgJ0NsaWVudCBtdXN0IHNwZWNpZnkgQ29udGVudC1MZW5ndGguJyksCi0gICAgICAgIDQxMjogKCdQcmVjb25kaXRpb24gRmFpbGVkJywgJ1ByZWNvbmRpdGlvbiBpbiBoZWFkZXJzIGlzIGZhbHNlLicpLAotICAgICAgICA0MTM6ICgnUmVxdWVzdCBFbnRpdHkgVG9vIExhcmdlJywgJ0VudGl0eSBpcyB0b28gbGFyZ2UuJyksCi0gICAgICAgIDQxNDogKCdSZXF1ZXN0LVVSSSBUb28gTG9uZycsICdVUkkgaXMgdG9vIGxvbmcuJyksCi0gICAgICAgIDQxNTogKCdVbnN1cHBvcnRlZCBNZWRpYSBUeXBlJywgJ0VudGl0eSBib2R5IGluIHVuc3VwcG9ydGVkIGZvcm1hdC4nKSwKLSAgICAgICAgNDE2OiAoJ1JlcXVlc3RlZCBSYW5nZSBOb3QgU2F0aXNmaWFibGUnLAotICAgICAgICAgICAgICAnQ2Fubm90IHNhdGlzZnkgcmVxdWVzdCByYW5nZS4nKSwKLSAgICAgICAgNDE3OiAoJ0V4cGVjdGF0aW9uIEZhaWxlZCcsCi0gICAgICAgICAgICAgICdFeHBlY3QgY29uZGl0aW9uIGNvdWxkIG5vdCBiZSBzYXRpc2ZpZWQuJyksCi0gICAgICAgIDQyODogKCdQcmVjb25kaXRpb24gUmVxdWlyZWQnLAotICAgICAgICAgICAgICAnVGhlIG9yaWdpbiBzZXJ2ZXIgcmVxdWlyZXMgdGhlIHJlcXVlc3QgdG8gYmUgY29uZGl0aW9uYWwuJyksCi0gICAgICAgIDQyOTogKCdUb28gTWFueSBSZXF1ZXN0cycsICdUaGUgdXNlciBoYXMgc2VudCB0b28gbWFueSByZXF1ZXN0cyAnCi0gICAgICAgICAgICAgICdpbiBhIGdpdmVuIGFtb3VudCBvZiB0aW1lICgicmF0ZSBsaW1pdGluZyIpLicpLAotICAgICAgICA0MzE6ICgnUmVxdWVzdCBIZWFkZXIgRmllbGRzIFRvbyBMYXJnZScsICdUaGUgc2VydmVyIGlzIHVud2lsbGluZyB0byAnCi0gICAgICAgICAgICAgICdwcm9jZXNzIHRoZSByZXF1ZXN0IGJlY2F1c2UgaXRzIGhlYWRlciBmaWVsZHMgYXJlIHRvbyBsYXJnZS4nKSwKLQotICAgICAgICA1MDA6ICgnSW50ZXJuYWwgU2VydmVyIEVycm9yJywgJ1NlcnZlciBnb3QgaXRzZWxmIGluIHRyb3VibGUnKSwKLSAgICAgICAgNTAxOiAoJ05vdCBJbXBsZW1lbnRlZCcsCi0gICAgICAgICAgICAgICdTZXJ2ZXIgZG9lcyBub3Qgc3VwcG9ydCB0aGlzIG9wZXJhdGlvbicpLAotICAgICAgICA1MDI6ICgnQmFkIEdhdGV3YXknLCAnSW52YWxpZCByZXNwb25zZXMgZnJvbSBhbm90aGVyIHNlcnZlci9wcm94eS4nKSwKLSAgICAgICAgNTAzOiAoJ1NlcnZpY2UgVW5hdmFpbGFibGUnLAotICAgICAgICAgICAgICAnVGhlIHNlcnZlciBjYW5ub3QgcHJvY2VzcyB0aGUgcmVxdWVzdCBkdWUgdG8gYSBoaWdoIGxvYWQnKSwKLSAgICAgICAgNTA0OiAoJ0dhdGV3YXkgVGltZW91dCcsCi0gICAgICAgICAgICAgICdUaGUgZ2F0ZXdheSBzZXJ2ZXIgZGlkIG5vdCByZWNlaXZlIGEgdGltZWx5IHJlc3BvbnNlJyksCi0gICAgICAgIDUwNTogKCdIVFRQIFZlcnNpb24gTm90IFN1cHBvcnRlZCcsICdDYW5ub3QgZnVsZmlsbCByZXF1ZXN0LicpLAotICAgICAgICA1MTE6ICgnTmV0d29yayBBdXRoZW50aWNhdGlvbiBSZXF1aXJlZCcsCi0gICAgICAgICAgICAgICdUaGUgY2xpZW50IG5lZWRzIHRvIGF1dGhlbnRpY2F0ZSB0byBnYWluIG5ldHdvcmsgYWNjZXNzLicpLAotICAgICAgICB9CisgICAgICAgIHY6ICh2LnBocmFzZSwgdi5kZXNjcmlwdGlvbikKKyAgICAgICAgZm9yIHYgaW4gSFRUUFN0YXR1cy5fX21lbWJlcnNfXy52YWx1ZXMoKQorICAgIH0KIAogCiBjbGFzcyBTaW1wbGVIVFRQUmVxdWVzdEhhbmRsZXIoQmFzZUhUVFBSZXF1ZXN0SGFuZGxlcik6CkBAIC03MDcsNyArNjU0LDcgQEAKICAgICAgICAgICAgIHBhcnRzID0gdXJsbGliLnBhcnNlLnVybHNwbGl0KHNlbGYucGF0aCkKICAgICAgICAgICAgIGlmIG5vdCBwYXJ0cy5wYXRoLmVuZHN3aXRoKCcvJyk6CiAgICAgICAgICAgICAgICAgIyByZWRpcmVjdCBicm93c2VyIC0gZG9pbmcgYmFzaWNhbGx5IHdoYXQgYXBhY2hlIGRvZXMKLSAgICAgICAgICAgICAgICBzZWxmLnNlbmRfcmVzcG9uc2UoMzAxKQorICAgICAgICAgICAgICAgIHNlbGYuc2VuZF9yZXNwb25zZShIVFRQU3RhdHVzLk1PVkVEX1BFUk1BTkVOVExZKQogICAgICAgICAgICAgICAgIG5ld19wYXJ0cyA9IChwYXJ0c1swXSwgcGFydHNbMV0sIHBhcnRzWzJdICsgJy8nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJ0c1szXSwgcGFydHNbNF0pCiAgICAgICAgICAgICAgICAgbmV3X3VybCA9IHVybGxpYi5wYXJzZS51cmx1bnNwbGl0KG5ld19wYXJ0cykKQEAgLTcyNSwxMCArNjcyLDEwIEBACiAgICAgICAgIHRyeToKICAgICAgICAgICAgIGYgPSBvcGVuKHBhdGgsICdyYicpCiAgICAgICAgIGV4Y2VwdCBPU0Vycm9yOgotICAgICAgICAgICAgc2VsZi5zZW5kX2Vycm9yKDQwNCwgIkZpbGUgbm90IGZvdW5kIikKKyAgICAgICAgICAgIHNlbGYuc2VuZF9lcnJvcihIVFRQU3RhdHVzLk5PVF9GT1VORCwgIkZpbGUgbm90IGZvdW5kIikKICAgICAgICAgICAgIHJldHVybiBOb25lCiAgICAgICAgIHRyeToKLSAgICAgICAgICAgIHNlbGYuc2VuZF9yZXNwb25zZSgyMDApCisgICAgICAgICAgICBzZWxmLnNlbmRfcmVzcG9uc2UoSFRUUFN0YXR1cy5PSykKICAgICAgICAgICAgIHNlbGYuc2VuZF9oZWFkZXIoIkNvbnRlbnQtdHlwZSIsIGN0eXBlKQogICAgICAgICAgICAgZnMgPSBvcy5mc3RhdChmLmZpbGVubygpKQogICAgICAgICAgICAgc2VsZi5zZW5kX2hlYWRlcigiQ29udGVudC1MZW5ndGgiLCBzdHIoZnNbNl0pKQpAQCAtNzUwLDcgKzY5Nyw5IEBACiAgICAgICAgIHRyeToKICAgICAgICAgICAgIGxpc3QgPSBvcy5saXN0ZGlyKHBhdGgpCiAgICAgICAgIGV4Y2VwdCBPU0Vycm9yOgotICAgICAgICAgICAgc2VsZi5zZW5kX2Vycm9yKDQwNCwgIk5vIHBlcm1pc3Npb24gdG8gbGlzdCBkaXJlY3RvcnkiKQorICAgICAgICAgICAgc2VsZi5zZW5kX2Vycm9yKAorICAgICAgICAgICAgICAgIEhUVFBTdGF0dXMuTk9UX0ZPVU5ELAorICAgICAgICAgICAgICAgICJObyBwZXJtaXNzaW9uIHRvIGxpc3QgZGlyZWN0b3J5IikKICAgICAgICAgICAgIHJldHVybiBOb25lCiAgICAgICAgIGxpc3Quc29ydChrZXk9bGFtYmRhIGE6IGEubG93ZXIoKSkKICAgICAgICAgciA9IFtdCkBAIC03ODksNyArNzM4LDcgQEAKICAgICAgICAgZiA9IGlvLkJ5dGVzSU8oKQogICAgICAgICBmLndyaXRlKGVuY29kZWQpCiAgICAgICAgIGYuc2VlaygwKQotICAgICAgICBzZWxmLnNlbmRfcmVzcG9uc2UoMjAwKQorICAgICAgICBzZWxmLnNlbmRfcmVzcG9uc2UoSFRUUFN0YXR1cy5PSykKICAgICAgICAgc2VsZi5zZW5kX2hlYWRlcigiQ29udGVudC10eXBlIiwgInRleHQvaHRtbDsgY2hhcnNldD0lcyIgJSBlbmMpCiAgICAgICAgIHNlbGYuc2VuZF9oZWFkZXIoIkNvbnRlbnQtTGVuZ3RoIiwgc3RyKGxlbihlbmNvZGVkKSkpCiAgICAgICAgIHNlbGYuZW5kX2hlYWRlcnMoKQpAQCAtOTcxLDcgKzkyMCw5IEBACiAgICAgICAgIGlmIHNlbGYuaXNfY2dpKCk6CiAgICAgICAgICAgICBzZWxmLnJ1bl9jZ2koKQogICAgICAgICBlbHNlOgotICAgICAgICAgICAgc2VsZi5zZW5kX2Vycm9yKDUwMSwgIkNhbiBvbmx5IFBPU1QgdG8gQ0dJIHNjcmlwdHMiKQorICAgICAgICAgICAgc2VsZi5zZW5kX2Vycm9yKAorICAgICAgICAgICAgICAgIEhUVFBTdGF0dXMuTk9UX0lNUExFTUVOVEVELAorICAgICAgICAgICAgICAgICJDYW4gb25seSBQT1NUIHRvIENHSSBzY3JpcHRzIikKIAogICAgIGRlZiBzZW5kX2hlYWQoc2VsZik6CiAgICAgICAgICIiIlZlcnNpb24gb2Ygc2VuZF9oZWFkIHRoYXQgc3VwcG9ydCBDR0kgc2NyaXB0cyIiIgpAQCAtMTA0OSwxNyArMTAwMCwyMSBAQAogICAgICAgICBzY3JpcHRuYW1lID0gZGlyICsgJy8nICsgc2NyaXB0CiAgICAgICAgIHNjcmlwdGZpbGUgPSBzZWxmLnRyYW5zbGF0ZV9wYXRoKHNjcmlwdG5hbWUpCiAgICAgICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0cyhzY3JpcHRmaWxlKToKLSAgICAgICAgICAgIHNlbGYuc2VuZF9lcnJvcig0MDQsICJObyBzdWNoIENHSSBzY3JpcHQgKCVyKSIgJSBzY3JpcHRuYW1lKQorICAgICAgICAgICAgc2VsZi5zZW5kX2Vycm9yKAorICAgICAgICAgICAgICAgIEhUVFBTdGF0dXMuTk9UX0ZPVU5ELAorICAgICAgICAgICAgICAgICJObyBzdWNoIENHSSBzY3JpcHQgKCVyKSIgJSBzY3JpcHRuYW1lKQogICAgICAgICAgICAgcmV0dXJuCiAgICAgICAgIGlmIG5vdCBvcy5wYXRoLmlzZmlsZShzY3JpcHRmaWxlKToKLSAgICAgICAgICAgIHNlbGYuc2VuZF9lcnJvcig0MDMsICJDR0kgc2NyaXB0IGlzIG5vdCBhIHBsYWluIGZpbGUgKCVyKSIgJQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjcmlwdG5hbWUpCisgICAgICAgICAgICBzZWxmLnNlbmRfZXJyb3IoCisgICAgICAgICAgICAgICAgSFRUUFN0YXR1cy5GT1JCSURERU4sCisgICAgICAgICAgICAgICAgIkNHSSBzY3JpcHQgaXMgbm90IGEgcGxhaW4gZmlsZSAoJXIpIiAlIHNjcmlwdG5hbWUpCiAgICAgICAgICAgICByZXR1cm4KICAgICAgICAgaXNweSA9IHNlbGYuaXNfcHl0aG9uKHNjcmlwdG5hbWUpCiAgICAgICAgIGlmIHNlbGYuaGF2ZV9mb3JrIG9yIG5vdCBpc3B5OgogICAgICAgICAgICAgaWYgbm90IHNlbGYuaXNfZXhlY3V0YWJsZShzY3JpcHRmaWxlKToKLSAgICAgICAgICAgICAgICBzZWxmLnNlbmRfZXJyb3IoNDAzLCAiQ0dJIHNjcmlwdCBpcyBub3QgZXhlY3V0YWJsZSAoJXIpIiAlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjcmlwdG5hbWUpCisgICAgICAgICAgICAgICAgc2VsZi5zZW5kX2Vycm9yKAorICAgICAgICAgICAgICAgICAgICBIVFRQU3RhdHVzLkZPUkJJRERFTiwKKyAgICAgICAgICAgICAgICAgICAgIkNHSSBzY3JpcHQgaXMgbm90IGV4ZWN1dGFibGUgKCVyKSIgJSBzY3JpcHRuYW1lKQogICAgICAgICAgICAgICAgIHJldHVybgogCiAgICAgICAgICMgUmVmZXJlbmNlOiBodHRwOi8vaG9vaG9vLm5jc2EudWl1Yy5lZHUvY2dpL2Vudi5odG1sCkBAIC0xMTI3LDcgKzEwODIsNyBAQAogICAgICAgICAgICAgICAgICAgJ0hUVFBfVVNFUl9BR0VOVCcsICdIVFRQX0NPT0tJRScsICdIVFRQX1JFRkVSRVInKToKICAgICAgICAgICAgIGVudi5zZXRkZWZhdWx0KGssICIiKQogCi0gICAgICAgIHNlbGYuc2VuZF9yZXNwb25zZSgyMDAsICJTY3JpcHQgb3V0cHV0IGZvbGxvd3MiKQorICAgICAgICBzZWxmLnNlbmRfcmVzcG9uc2UoSFRUUFN0YXR1cy5PSywgIlNjcmlwdCBvdXRwdXQgZm9sbG93cyIpCiAgICAgICAgIHNlbGYuZmx1c2hfaGVhZGVycygpCiAKICAgICAgICAgZGVjb2RlZF9xdWVyeSA9IHF1ZXJ5LnJlcGxhY2UoJysnLCAnICcpCmRpZmYgLS1naXQgYS9MaWIvaWRsZWxpYi9ORVdTLnR4dCBiL0xpYi9pZGxlbGliL05FV1MudHh0CmluZGV4IGEzYThmYmYuLjgyODE0MmMgMTAwNjQ0Ci0tLSBhL0xpYi9pZGxlbGliL05FV1MudHh0CisrKyBiL0xpYi9pZGxlbGliL05FV1MudHh0CkBAIC0xLDQgKzEsNCBAQAotV2hhdCdzIE5ldyBpbiBJZGxlIDMuNC4zPworV2hhdCdzIE5ldyBpbiBJRExFIDMuNS4wPwogPT09PT09PT09PT09PT09PT09PT09PT09PQogCiAtIElzc3VlICMxNjg5MzogVXBkYXRlIElkbGUgZG9jIGNoYXB0ZXIgdG8gbWF0Y2ggY3VycmVudCBJZGxlIGFuZCBhZGQgbmV3CkBAIC0yMSwxMCArMjEsNiBAQAogLSBJc3N1ZSAjMjE5ODY6IENvZGUgb2JqZWN0cyBhcmUgbm90IG5vcm1hbGx5IHBpY2tsZWQgYnkgdGhlIHBpY2tsZSBtb2R1bGUuCiAgIFRvIG1hdGNoIHRoaXMsIHRoZXkgYXJlIG5vIGxvbmdlciBwaWNrbGVkIHdoZW4gcnVubmluZyB1bmRlciBJZGxlLgogCi0KLVdoYXQncyBOZXcgaW4gSURMRSAzLjQuMj8KLT09PT09PT09PT09PT09PT09PT09PT09PT0KLQogLSBJc3N1ZSAjMTczOTA6IEFkanVzdCBFZGl0b3Igd2luZG93IHRpdGxlOyByZW1vdmUgJ1B5dGhvbicsCiAgIG1vdmUgdmVyc2lvbiB0byBlbmQuCiAKQEAgLTU5LDEzICs1NSw4IEBACiAKIC0gSXNzdWUgIzE4NDA5OiBBZGQgdW5pdHRlc3QgZm9yIEF1dG9Db21wbGV0ZS4gUGF0Y2ggYnkgUGhpbCBXZWJzdGVyLgogCi0tIElzc3VlICMxODEwNDogQWRkIGlkbGVsaWIvaWRsZV90ZXN0L2h0ZXN0LnB5IHdpdGggYSBmZXcgc2FtcGxlIHRlc3RzIHRvIGJlZ2luCi0gIGNvbnNvbGlkYXRpbmcgYW5kIGltcHJvdmluZyBodW1hbi12YWxpZGF0ZWQgdGVzdHMgb2YgSWRsZS4gQ2hhbmdlIG90aGVyIGZpbGVzCi0gIGFzIG5lZWRlZCB0byB3b3JrIHdpdGggaHRlc3QuICBSdW5uaW5nIHRoZSBtb2R1bGUgYXMgX19tYWluX18gcnVucyBhbGwgdGVzdHMuCi0KLQotV2hhdCdzIE5ldyBpbiBJRExFIDMuNC4xPwotPT09PT09PT09PT09PT09PT09PT09PT09PQorLSBJc3N1ZSAjMjE0Nzc6IGh0ZXN0LnB5IC0gSW1wcm92ZSBmcmFtZXdvcmssIGNvbXBsZXRlIHNldCBvZiB0ZXN0cy4KKyAgUGF0Y2hlcyBieSBTYWltYWRoYXYgSGVibGlrYXIKIAogLSBJc3N1ZSAjMTgxMDQ6IEFkZCBpZGxlbGliL2lkbGVfdGVzdC9odGVzdC5weSB3aXRoIGEgZmV3IHNhbXBsZSB0ZXN0cyB0byBiZWdpbgogICBjb25zb2xpZGF0aW5nIGFuZCBpbXByb3ZpbmcgaHVtYW4tdmFsaWRhdGVkIHRlc3RzIG9mIElkbGUuIENoYW5nZSBvdGhlciBmaWxlcwpkaWZmIC0tZ2l0IGEvTGliL2lkbGVsaWIvV2lkZ2V0UmVkaXJlY3Rvci5weSBiL0xpYi9pZGxlbGliL1dpZGdldFJlZGlyZWN0b3IucHkKaW5kZXggYjNkN2JmYS4uNjdkN2Y2MSAxMDA2NDQKLS0tIGEvTGliL2lkbGVsaWIvV2lkZ2V0UmVkaXJlY3Rvci5weQorKysgYi9MaWIvaWRsZWxpYi9XaWRnZXRSZWRpcmVjdG9yLnB5CkBAIC00Nyw4ICs0Nyw5IEBACiAgICAgICAgIHRrLmNyZWF0ZWNvbW1hbmQodywgc2VsZi5kaXNwYXRjaCkKIAogICAgIGRlZiBfX3JlcHJfXyhzZWxmKToKLSAgICAgICAgcmV0dXJuICJXaWRnZXRSZWRpcmVjdG9yKCVzPCVzPikiICUgKHNlbGYud2lkZ2V0Ll9fY2xhc3NfXy5fX25hbWVfXywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYud2lkZ2V0Ll93KQorICAgICAgICByZXR1cm4gIiVzKCVzPCVzPikiICUgKHNlbGYuX19jbGFzc19fLl9fbmFtZV9fLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYud2lkZ2V0Ll9fY2xhc3NfXy5fX25hbWVfXywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLndpZGdldC5fdykKIAogICAgIGRlZiBjbG9zZShzZWxmKToKICAgICAgICAgIlVucmVnaXN0ZXIgb3BlcmF0aW9ucyBhbmQgcmV2ZXJ0IHJlZGlyZWN0aW9uIGNyZWF0ZWQgYnkgLl9faW5pdF9fLiIKQEAgLTE0Miw3ICsxNDMsOCBAQAogICAgICAgICBzZWxmLm9yaWdfYW5kX29wZXJhdGlvbiA9IChyZWRpci5vcmlnLCBvcGVyYXRpb24pCiAKICAgICBkZWYgX19yZXByX18oc2VsZik6Ci0gICAgICAgIHJldHVybiAiT3JpZ2luYWxDb21tYW5kKCVyLCAlcikiICUgKHNlbGYucmVkaXIsIHNlbGYub3BlcmF0aW9uKQorICAgICAgICByZXR1cm4gIiVzKCVyLCAlcikiICUgKHNlbGYuX19jbGFzc19fLl9fbmFtZV9fLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYucmVkaXIsIHNlbGYub3BlcmF0aW9uKQogCiAgICAgZGVmIF9fY2FsbF9fKHNlbGYsICphcmdzKToKICAgICAgICAgcmV0dXJuIHNlbGYudGtfY2FsbChzZWxmLm9yaWdfYW5kX29wZXJhdGlvbiArIGFyZ3MpCmRpZmYgLS1naXQgYS9MaWIvaWRsZWxpYi9pZGxlX3Rlc3QvdGVzdF9zZWFyY2hlbmdpbmUucHkgYi9MaWIvaWRsZWxpYi9pZGxlX3Rlc3QvdGVzdF9zZWFyY2hlbmdpbmUucHkKaW5kZXggMTI5YTVhMy4uMmMxMDQ2MSAxMDA2NDQKLS0tIGEvTGliL2lkbGVsaWIvaWRsZV90ZXN0L3Rlc3Rfc2VhcmNoZW5naW5lLnB5CisrKyBiL0xpYi9pZGxlbGliL2lkbGVfdGVzdC90ZXN0X3NlYXJjaGVuZ2luZS5weQpAQCAtMTc4LDcgKzE3OCw3IEBACiAgICAgICAgIGVuZ2luZS5yZXZhci5zZXQoMSkKICAgICAgICAgRXF1YWwoZW5naW5lLmdldHByb2coKSwgTm9uZSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChNYm94LnNob3dlcnJvci5tZXNzYWdlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAnRXJyb3I6IG5vdGhpbmcgdG8gcmVwZWF0XG5QYXR0ZXJuOiArJykKKyAgICAgICAgICAgICAgICAgICAgICAgICAnRXJyb3I6IG5vdGhpbmcgdG8gcmVwZWF0IGF0IHBvc2l0aW9uIDBcblBhdHRlcm46ICsnKQogCiAgICAgZGVmIHRlc3RfcmVwb3J0X2Vycm9yKHNlbGYpOgogICAgICAgICBzaG93ZXJyb3IgPSBNYm94LnNob3dlcnJvcgpkaWZmIC0tZ2l0IGEvTGliL2lkbGVsaWIvaWRsZXZlci5weSBiL0xpYi9pZGxlbGliL2lkbGV2ZXIucHkKaW5kZXggODdkODRmYy4uMWZmYmM3NiAxMDA2NDQKLS0tIGEvTGliL2lkbGVsaWIvaWRsZXZlci5weQorKysgYi9MaWIvaWRsZWxpYi9pZGxldmVyLnB5CkBAIC0xICsxIEBACi1JRExFX1ZFUlNJT04gPSAiMy40LjNyYzEiCitJRExFX1ZFUlNJT04gPSAiMy41LjBhMSIKZGlmZiAtLWdpdCBhL0xpYi9pbWFwbGliLnB5IGIvTGliL2ltYXBsaWIucHkKaW5kZXggNzJhYjVkNy4uNDllZTM5ZCAxMDA2NDQKLS0tIGEvTGliL2ltYXBsaWIucHkKKysrIGIvTGliL2ltYXBsaWIucHkKQEAgLTIzOCw2ICsyMzgsMTQgQEAKICAgICAgICAgICAgIHJldHVybiBnZXRhdHRyKHNlbGYsIGF0dHIubG93ZXIoKSkKICAgICAgICAgcmFpc2UgQXR0cmlidXRlRXJyb3IoIlVua25vd24gSU1BUDQgY29tbWFuZDogJyVzJyIgJSBhdHRyKQogCisgICAgZGVmIF9fZW50ZXJfXyhzZWxmKToKKyAgICAgICAgcmV0dXJuIHNlbGYKKworICAgIGRlZiBfX2V4aXRfXyhzZWxmLCAqYXJncyk6CisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHNlbGYubG9nb3V0KCkKKyAgICAgICAgZXhjZXB0IE9TRXJyb3I6CisgICAgICAgICAgICBwYXNzCiAKIAogICAgICMgICAgICAgT3ZlcnJpZGFibGUgbWV0aG9kcwpkaWZmIC0tZ2l0IGEvTGliL2ltZ2hkci5weSBiL0xpYi9pbWdoZHIucHkKaW5kZXggYWRkMmVhOC4uYjI2NzkyNSAxMDA2NDQKLS0tIGEvTGliL2ltZ2hkci5weQorKysgYi9MaWIvaW1naGRyLnB5CkBAIC0xMTAsNiArMTEwLDE4IEBACiAKIHRlc3RzLmFwcGVuZCh0ZXN0X2JtcCkKIAorZGVmIHRlc3Rfd2VicChoLCBmKToKKyAgICBpZiBoLnN0YXJ0c3dpdGgoYidSSUZGJykgYW5kIGhbODoxMl0gPT0gYidXRUJQJzoKKyAgICAgICAgcmV0dXJuICd3ZWJwJworCit0ZXN0cy5hcHBlbmQodGVzdF93ZWJwKQorCitkZWYgdGVzdF9leHIoaCwgZik6CisgICAgaWYgaC5zdGFydHN3aXRoKGInXHg3Nlx4MmZceDMxXHgwMScpOgorICAgICAgICByZXR1cm4gJ2V4cicKKwordGVzdHMuYXBwZW5kKHRlc3RfZXhyKQorCiAjLS0tLS0tLS0tLS0tLS0tLS0tLS0jCiAjIFNtYWxsIHRlc3QgcHJvZ3JhbSAjCiAjLS0tLS0tLS0tLS0tLS0tLS0tLS0jCmRpZmYgLS1naXQgYS9MaWIvaW1wLnB5IGIvTGliL2ltcC5weQppbmRleCBjODQ0OWM2Li41OWNlNDFjIDEwMDY0NAotLS0gYS9MaWIvaW1wLnB5CisrKyBiL0xpYi9pbXAucHkKQEAgLTE2LDcgKzE2LDcgQEAKICAgICAjIFBsYXRmb3JtIGRvZXNuJ3Qgc3VwcG9ydCBkeW5hbWljIGxvYWRpbmcuCiAgICAgbG9hZF9keW5hbWljID0gTm9uZQogCi1mcm9tIGltcG9ydGxpYi5fYm9vdHN0cmFwIGltcG9ydCBTb3VyY2VsZXNzRmlsZUxvYWRlciwgX0VSUl9NU0csIF9TcGVjTWV0aG9kcworZnJvbSBpbXBvcnRsaWIuX2Jvb3RzdHJhcCBpbXBvcnQgU291cmNlbGVzc0ZpbGVMb2FkZXIsIF9FUlJfTVNHLCBfZXhlYywgX2xvYWQKIAogZnJvbSBpbXBvcnRsaWIgaW1wb3J0IG1hY2hpbmVyeQogZnJvbSBpbXBvcnRsaWIgaW1wb3J0IHV0aWwKQEAgLTE2NCwxMSArMTY0LDEwIEBACiBkZWYgbG9hZF9zb3VyY2UobmFtZSwgcGF0aG5hbWUsIGZpbGU9Tm9uZSk6CiAgICAgbG9hZGVyID0gX0xvYWRTb3VyY2VDb21wYXRpYmlsaXR5KG5hbWUsIHBhdGhuYW1lLCBmaWxlKQogICAgIHNwZWMgPSB1dGlsLnNwZWNfZnJvbV9maWxlX2xvY2F0aW9uKG5hbWUsIHBhdGhuYW1lLCBsb2FkZXI9bG9hZGVyKQotICAgIG1ldGhvZHMgPSBfU3BlY01ldGhvZHMoc3BlYykKICAgICBpZiBuYW1lIGluIHN5cy5tb2R1bGVzOgotICAgICAgICBtb2R1bGUgPSBtZXRob2RzLmV4ZWMoc3lzLm1vZHVsZXNbbmFtZV0pCisgICAgICAgIG1vZHVsZSA9IF9leGVjKHNwZWMsIHN5cy5tb2R1bGVzW25hbWVdKQogICAgIGVsc2U6Ci0gICAgICAgIG1vZHVsZSA9IG1ldGhvZHMubG9hZCgpCisgICAgICAgIG1vZHVsZSA9IF9sb2FkKHNwZWMpCiAgICAgIyBUbyBhbGxvdyByZWxvYWRpbmcgdG8gcG90ZW50aWFsbHkgd29yaywgdXNlIGEgbm9uLWhhY2tlZCBsb2FkZXIgd2hpY2gKICAgICAjIHdvbid0IHJlbHkgb24gYSBub3ctY2xvc2VkIGZpbGUgb2JqZWN0LgogICAgIG1vZHVsZS5fX2xvYWRlcl9fID0gbWFjaGluZXJ5LlNvdXJjZUZpbGVMb2FkZXIobmFtZSwgcGF0aG5hbWUpCkBAIC0xODUsMTEgKzE4NCwxMCBAQAogICAgICIiIioqREVQUkVDQVRFRCoqIiIiCiAgICAgbG9hZGVyID0gX0xvYWRDb21waWxlZENvbXBhdGliaWxpdHkobmFtZSwgcGF0aG5hbWUsIGZpbGUpCiAgICAgc3BlYyA9IHV0aWwuc3BlY19mcm9tX2ZpbGVfbG9jYXRpb24obmFtZSwgcGF0aG5hbWUsIGxvYWRlcj1sb2FkZXIpCi0gICAgbWV0aG9kcyA9IF9TcGVjTWV0aG9kcyhzcGVjKQogICAgIGlmIG5hbWUgaW4gc3lzLm1vZHVsZXM6Ci0gICAgICAgIG1vZHVsZSA9IG1ldGhvZHMuZXhlYyhzeXMubW9kdWxlc1tuYW1lXSkKKyAgICAgICAgbW9kdWxlID0gX2V4ZWMoc3BlYywgc3lzLm1vZHVsZXNbbmFtZV0pCiAgICAgZWxzZToKLSAgICAgICAgbW9kdWxlID0gbWV0aG9kcy5sb2FkKCkKKyAgICAgICAgbW9kdWxlID0gX2xvYWQoc3BlYykKICAgICAjIFRvIGFsbG93IHJlbG9hZGluZyB0byBwb3RlbnRpYWxseSB3b3JrLCB1c2UgYSBub24taGFja2VkIGxvYWRlciB3aGljaAogICAgICMgd29uJ3QgcmVseSBvbiBhIG5vdy1jbG9zZWQgZmlsZSBvYmplY3QuCiAgICAgbW9kdWxlLl9fbG9hZGVyX18gPSBTb3VyY2VsZXNzRmlsZUxvYWRlcihuYW1lLCBwYXRobmFtZSkKQEAgLTIxMCwxMSArMjA4LDEwIEBACiAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCd7IXJ9IGlzIG5vdCBhIHBhY2thZ2UnLmZvcm1hdChwYXRoKSkKICAgICBzcGVjID0gdXRpbC5zcGVjX2Zyb21fZmlsZV9sb2NhdGlvbihuYW1lLCBwYXRoLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1Ym1vZHVsZV9zZWFyY2hfbG9jYXRpb25zPVtdKQotICAgIG1ldGhvZHMgPSBfU3BlY01ldGhvZHMoc3BlYykKICAgICBpZiBuYW1lIGluIHN5cy5tb2R1bGVzOgotICAgICAgICByZXR1cm4gbWV0aG9kcy5leGVjKHN5cy5tb2R1bGVzW25hbWVdKQorICAgICAgICByZXR1cm4gX2V4ZWMoc3BlYywgc3lzLm1vZHVsZXNbbmFtZV0pCiAgICAgZWxzZToKLSAgICAgICAgcmV0dXJuIG1ldGhvZHMubG9hZCgpCisgICAgICAgIHJldHVybiBfbG9hZChzcGVjKQogCiAKIGRlZiBsb2FkX21vZHVsZShuYW1lLCBmaWxlLCBmaWxlbmFtZSwgZGV0YWlscyk6CmRpZmYgLS1naXQgYS9MaWIvaW1wb3J0bGliL19faW5pdF9fLnB5IGIvTGliL2ltcG9ydGxpYi9fX2luaXRfXy5weQppbmRleCAxYmM5OTQ3Li5lOTlmNTBlIDEwMDY0NAotLS0gYS9MaWIvaW1wb3J0bGliL19faW5pdF9fLnB5CisrKyBiL0xpYi9pbXBvcnRsaWIvX19pbml0X18ucHkKQEAgLTczLDcgKzczLDcgQEAKICAgICBleGNlcHQgS2V5RXJyb3I6CiAgICAgICAgIHBhc3MKICAgICBleGNlcHQgQXR0cmlidXRlRXJyb3I6Ci0gICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoJ3t9Ll9fbG9hZGVyX18gaXMgbm90IHNldCcuZm9ybWF0KG5hbWUpKQorICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCd7fS5fX2xvYWRlcl9fIGlzIG5vdCBzZXQnLmZvcm1hdChuYW1lKSkgZnJvbSBOb25lCiAKICAgICBzcGVjID0gX2Jvb3RzdHJhcC5fZmluZF9zcGVjKG5hbWUsIHBhdGgpCiAgICAgIyBXZSB3b24ndCB3b3JyeSBhYm91dCBtYWxmb3JtZWQgc3BlY3MgKG1pc3NpbmcgYXR0cmlidXRlcykuCkBAIC0xMzgsMTUgKzEzOCwxNSBAQAogICAgICAgICAgICAgICAgIHBhcmVudCA9IHN5cy5tb2R1bGVzW3BhcmVudF9uYW1lXQogICAgICAgICAgICAgZXhjZXB0IEtleUVycm9yOgogICAgICAgICAgICAgICAgIG1zZyA9ICJwYXJlbnQgeyFyfSBub3QgaW4gc3lzLm1vZHVsZXMiCi0gICAgICAgICAgICAgICAgcmFpc2UgSW1wb3J0RXJyb3IobXNnLmZvcm1hdChwYXJlbnRfbmFtZSksIG5hbWU9cGFyZW50X25hbWUpCisgICAgICAgICAgICAgICAgcmFpc2UgSW1wb3J0RXJyb3IobXNnLmZvcm1hdChwYXJlbnRfbmFtZSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT1wYXJlbnRfbmFtZSkgZnJvbSBOb25lCiAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgIHBrZ3BhdGggPSBwYXJlbnQuX19wYXRoX18KICAgICAgICAgZWxzZToKICAgICAgICAgICAgIHBrZ3BhdGggPSBOb25lCiAgICAgICAgIHRhcmdldCA9IG1vZHVsZQogICAgICAgICBzcGVjID0gbW9kdWxlLl9fc3BlY19fID0gX2Jvb3RzdHJhcC5fZmluZF9zcGVjKG5hbWUsIHBrZ3BhdGgsIHRhcmdldCkKLSAgICAgICAgbWV0aG9kcyA9IF9ib290c3RyYXAuX1NwZWNNZXRob2RzKHNwZWMpCi0gICAgICAgIG1ldGhvZHMuZXhlYyhtb2R1bGUpCisgICAgICAgIF9ib290c3RyYXAuX2V4ZWMoc3BlYywgbW9kdWxlKQogICAgICAgICAjIFRoZSBtb2R1bGUgbWF5IGhhdmUgcmVwbGFjZWQgaXRzZWxmIGluIHN5cy5tb2R1bGVzIQogICAgICAgICByZXR1cm4gc3lzLm1vZHVsZXNbbmFtZV0KICAgICBmaW5hbGx5OgpkaWZmIC0tZ2l0IGEvTGliL2ltcG9ydGxpYi9fYm9vdHN0cmFwLnB5IGIvTGliL2ltcG9ydGxpYi9fYm9vdHN0cmFwLnB5CmluZGV4IDViOTFjMDUuLjBlZDdjYzYgMTAwNjQ0Ci0tLSBhL0xpYi9pbXBvcnRsaWIvX2Jvb3RzdHJhcC5weQorKysgYi9MaWIvaW1wb3J0bGliL19ib290c3RyYXAucHkKQEAgLTksNyArOSw3IEBACiAjCiAjIElNUE9SVEFOVDogV2hlbmV2ZXIgbWFraW5nIGNoYW5nZXMgdG8gdGhpcyBtb2R1bGUsIGJlIHN1cmUgdG8gcnVuCiAjIGEgdG9wLWxldmVsIG1ha2UgaW4gb3JkZXIgdG8gZ2V0IHRoZSBmcm96ZW4gdmVyc2lvbiBvZiB0aGUgbW9kdWxlCi0jIHVwZGF0ZS4gTm90IGRvaW5nIHNvIHdpbGwgcmVzdWx0IGluIHRoZSBNYWtlZmlsZSB0byBmYWlsIGZvcgorIyB1cGRhdGVkLiBOb3QgZG9pbmcgc28gd2lsbCByZXN1bHQgaW4gdGhlIE1ha2VmaWxlIHRvIGZhaWwgZm9yCiAjIGFsbCBvdGhlcnMgd2hvIGRvbid0IGhhdmUgYSAuL3B5dGhvbiBhcm91bmQgdG8gZnJlZXplIHRoZSBtb2R1bGUKICMgaW4gdGhlIGVhcmx5IHN0YWdlcyBvZiBjb21waWxhdGlvbi4KICMKQEAgLTQxOSwxMiArNDE5LDEzIEBACiAjICAgICBQeXRob24gMy40YTQgIDMyOTAgKGNoYW5nZXMgdG8gX19xdWFsbmFtZV9fIGNvbXB1dGF0aW9uKQogIyAgICAgUHl0aG9uIDMuNGE0ICAzMzAwIChtb3JlIGNoYW5nZXMgdG8gX19xdWFsbmFtZV9fIGNvbXB1dGF0aW9uKQogIyAgICAgUHl0aG9uIDMuNHJjMiAzMzEwIChhbHRlciBfX3F1YWxuYW1lX18gY29tcHV0YXRpb24pCisjICAgICBQeXRob24gMy41YTAgIDMzMjAgKG1hdHJpeCBtdWx0aXBsaWNhdGlvbiBvcGVyYXRvcikKICMKICMgTUFHSUMgbXVzdCBjaGFuZ2Ugd2hlbmV2ZXIgdGhlIGJ5dGVjb2RlIGVtaXR0ZWQgYnkgdGhlIGNvbXBpbGVyIG1heSBubwogIyBsb25nZXIgYmUgdW5kZXJzdG9vZCBieSBvbGRlciBpbXBsZW1lbnRhdGlvbnMgb2YgdGhlIGV2YWwgbG9vcCAodXN1YWxseQogIyBkdWUgdG8gdGhlIGFkZGl0aW9uIG9mIG5ldyBvcGNvZGVzKS4KIAotTUFHSUNfTlVNQkVSID0gKDMzMTApLnRvX2J5dGVzKDIsICdsaXR0bGUnKSArIGInXHJcbicKK01BR0lDX05VTUJFUiA9ICgzMzIwKS50b19ieXRlcygyLCAnbGl0dGxlJykgKyBiJ1xyXG4nCiBfUkFXX01BR0lDX05VTUJFUiA9IGludC5mcm9tX2J5dGVzKE1BR0lDX05VTUJFUiwgJ2xpdHRsZScpICAjIEZvciBpbXBvcnQuYwogCiBfUFlDQUNIRSA9ICdfX3B5Y2FjaGVfXycKQEAgLTU4MCw2ICs1ODEsNyBAQAogICAgIHJldHVybiBsb2FkZXIKIAogCisjIFR5cGljYWxseSB1c2VkIGJ5IGxvYWRlciBjbGFzc2VzIGFzIGEgbWV0aG9kIHJlcGxhY2VtZW50LgogZGVmIF9sb2FkX21vZHVsZV9zaGltKHNlbGYsIGZ1bGxuYW1lKToKICAgICAiIiJMb2FkIHRoZSBzcGVjaWZpZWQgbW9kdWxlIGludG8gc3lzLm1vZHVsZXMgYW5kIHJldHVybiBpdC4KIApAQCAtNTg3LDEzICs1ODksMTIgQEAKIAogICAgICIiIgogICAgIHNwZWMgPSBzcGVjX2Zyb21fbG9hZGVyKGZ1bGxuYW1lLCBzZWxmKQotICAgIG1ldGhvZHMgPSBfU3BlY01ldGhvZHMoc3BlYykKICAgICBpZiBmdWxsbmFtZSBpbiBzeXMubW9kdWxlczoKICAgICAgICAgbW9kdWxlID0gc3lzLm1vZHVsZXNbZnVsbG5hbWVdCi0gICAgICAgIG1ldGhvZHMuZXhlYyhtb2R1bGUpCisgICAgICAgIF9leGVjKHNwZWMsIG1vZHVsZSkKICAgICAgICAgcmV0dXJuIHN5cy5tb2R1bGVzW2Z1bGxuYW1lXQogICAgIGVsc2U6Ci0gICAgICAgIHJldHVybiBtZXRob2RzLmxvYWQoKQorICAgICAgICByZXR1cm4gX2xvYWQoc3BlYykKIAogCiBkZWYgX3ZhbGlkYXRlX2J5dGVjb2RlX2hlYWRlcihkYXRhLCBzb3VyY2Vfc3RhdHM9Tm9uZSwgbmFtZT1Ob25lLCBwYXRoPU5vbmUpOgpAQCAtNzA0LDcgKzcwNSw3IEBACiAgICAgICAgIHBhc3MKICAgICBlbHNlOgogICAgICAgICBpZiBzcGVjIGlzIG5vdCBOb25lOgotICAgICAgICAgICAgcmV0dXJuIF9TcGVjTWV0aG9kcyhzcGVjKS5tb2R1bGVfcmVwcigpCisgICAgICAgICAgICByZXR1cm4gX21vZHVsZV9yZXByX2Zyb21fc3BlYyhzcGVjKQogCiAgICAgIyBXZSBjb3VsZCB1c2UgbW9kdWxlLl9fY2xhc3NfXy5fX25hbWVfXyBpbnN0ZWFkIG9mICdtb2R1bGUnIGluIHRoZQogICAgICMgdmFyaW91cyByZXByIHBlcm11dGF0aW9ucy4KQEAgLTk5MCwyMzQgKzk5MSwxODYgQEAKICAgICByZXR1cm4gc3BlYwogCiAKLWNsYXNzIF9TcGVjTWV0aG9kczoKK2RlZiBfaW5pdF9tb2R1bGVfYXR0cnMoc3BlYywgbW9kdWxlLCAqLCBvdmVycmlkZT1GYWxzZSk6CisgICAgIyBUaGUgcGFzc2VkLWluIG1vZHVsZSBtYXkgYmUgbm90IHN1cHBvcnQgYXR0cmlidXRlIGFzc2lnbm1lbnQsCisgICAgIyBpbiB3aGljaCBjYXNlIHdlIHNpbXBseSBkb24ndCBzZXQgdGhlIGF0dHJpYnV0ZXMuCisgICAgIyBfX25hbWVfXworICAgIGlmIChvdmVycmlkZSBvciBnZXRhdHRyKG1vZHVsZSwgJ19fbmFtZV9fJywgTm9uZSkgaXMgTm9uZSk6CisgICAgICAgIHRyeToKKyAgICAgICAgICAgIG1vZHVsZS5fX25hbWVfXyA9IHNwZWMubmFtZQorICAgICAgICBleGNlcHQgQXR0cmlidXRlRXJyb3I6CisgICAgICAgICAgICBwYXNzCisgICAgIyBfX2xvYWRlcl9fCisgICAgaWYgb3ZlcnJpZGUgb3IgZ2V0YXR0cihtb2R1bGUsICdfX2xvYWRlcl9fJywgTm9uZSkgaXMgTm9uZToKKyAgICAgICAgbG9hZGVyID0gc3BlYy5sb2FkZXIKKyAgICAgICAgaWYgbG9hZGVyIGlzIE5vbmU6CisgICAgICAgICAgICAjIEEgYmFja3dhcmQgY29tcGF0aWJpbGl0eSBoYWNrLgorICAgICAgICAgICAgaWYgc3BlYy5zdWJtb2R1bGVfc2VhcmNoX2xvY2F0aW9ucyBpcyBub3QgTm9uZToKKyAgICAgICAgICAgICAgICBsb2FkZXIgPSBfTmFtZXNwYWNlTG9hZGVyLl9fbmV3X18oX05hbWVzcGFjZUxvYWRlcikKKyAgICAgICAgICAgICAgICBsb2FkZXIuX3BhdGggPSBzcGVjLnN1Ym1vZHVsZV9zZWFyY2hfbG9jYXRpb25zCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIG1vZHVsZS5fX2xvYWRlcl9fID0gbG9hZGVyCisgICAgICAgIGV4Y2VwdCBBdHRyaWJ1dGVFcnJvcjoKKyAgICAgICAgICAgIHBhc3MKKyAgICAjIF9fcGFja2FnZV9fCisgICAgaWYgb3ZlcnJpZGUgb3IgZ2V0YXR0cihtb2R1bGUsICdfX3BhY2thZ2VfXycsIE5vbmUpIGlzIE5vbmU6CisgICAgICAgIHRyeToKKyAgICAgICAgICAgIG1vZHVsZS5fX3BhY2thZ2VfXyA9IHNwZWMucGFyZW50CisgICAgICAgIGV4Y2VwdCBBdHRyaWJ1dGVFcnJvcjoKKyAgICAgICAgICAgIHBhc3MKKyAgICAjIF9fc3BlY19fCisgICAgdHJ5OgorICAgICAgICBtb2R1bGUuX19zcGVjX18gPSBzcGVjCisgICAgZXhjZXB0IEF0dHJpYnV0ZUVycm9yOgorICAgICAgICBwYXNzCisgICAgIyBfX3BhdGhfXworICAgIGlmIG92ZXJyaWRlIG9yIGdldGF0dHIobW9kdWxlLCAnX19wYXRoX18nLCBOb25lKSBpcyBOb25lOgorICAgICAgICBpZiBzcGVjLnN1Ym1vZHVsZV9zZWFyY2hfbG9jYXRpb25zIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgIG1vZHVsZS5fX3BhdGhfXyA9IHNwZWMuc3VibW9kdWxlX3NlYXJjaF9sb2NhdGlvbnMKKyAgICAgICAgICAgIGV4Y2VwdCBBdHRyaWJ1dGVFcnJvcjoKKyAgICAgICAgICAgICAgICBwYXNzCisgICAgIyBfX2ZpbGVfXy9fX2NhY2hlZF9fCisgICAgaWYgc3BlYy5oYXNfbG9jYXRpb246CisgICAgICAgIGlmIG92ZXJyaWRlIG9yIGdldGF0dHIobW9kdWxlLCAnX19maWxlX18nLCBOb25lKSBpcyBOb25lOgorICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgIG1vZHVsZS5fX2ZpbGVfXyA9IHNwZWMub3JpZ2luCisgICAgICAgICAgICBleGNlcHQgQXR0cmlidXRlRXJyb3I6CisgICAgICAgICAgICAgICAgcGFzcwogCi0gICAgIiIiQ29udmVuaWVuY2Ugd3JhcHBlciBhcm91bmQgc3BlYyBvYmplY3RzIHRvIHByb3ZpZGUgc3BlYy1zcGVjaWZpYwotICAgIG1ldGhvZHMuIiIiCisgICAgICAgIGlmIG92ZXJyaWRlIG9yIGdldGF0dHIobW9kdWxlLCAnX19jYWNoZWRfXycsIE5vbmUpIGlzIE5vbmU6CisgICAgICAgICAgICBpZiBzcGVjLmNhY2hlZCBpcyBub3QgTm9uZToKKyAgICAgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgICAgIG1vZHVsZS5fX2NhY2hlZF9fID0gc3BlYy5jYWNoZWQKKyAgICAgICAgICAgICAgICBleGNlcHQgQXR0cmlidXRlRXJyb3I6CisgICAgICAgICAgICAgICAgICAgIHBhc3MKKyAgICByZXR1cm4gbW9kdWxlCiAKLSAgICAjIFRoZSB2YXJpb3VzIHNwZWNfZnJvbV8qIGZ1bmN0aW9ucyBjb3VsZCBiZSBtYWRlIGZhY3RvcnkgbWV0aG9kcyBoZXJlLgogCi0gICAgZGVmIF9faW5pdF9fKHNlbGYsIHNwZWMpOgotICAgICAgICBzZWxmLnNwZWMgPSBzcGVjCitkZWYgbW9kdWxlX2Zyb21fc3BlYyhzcGVjKToKKyAgICAiIiJDcmVhdGUgYSBtb2R1bGUgYmFzZWQgb24gdGhlIHByb3ZpZGVkIHNwZWMuIiIiCisgICAgIyBUeXBpY2FsbHkgbG9hZGVycyB3aWxsIG5vdCBpbXBsZW1lbnQgY3JlYXRlX21vZHVsZSgpLgorICAgIG1vZHVsZSA9IE5vbmUKKyAgICBpZiBoYXNhdHRyKHNwZWMubG9hZGVyLCAnY3JlYXRlX21vZHVsZScpOgorICAgICAgICAjIElmIGNyZWF0ZV9tb2R1bGUoKSByZXR1cm5zIGBOb25lYCB0aGVuIGl0IG1lYW5zIGRlZmF1bHQKKyAgICAgICAgIyBtb2R1bGUgY3JlYXRpb24gc2hvdWxkIGJlIHVzZWQuCisgICAgICAgIG1vZHVsZSA9IHNwZWMubG9hZGVyLmNyZWF0ZV9tb2R1bGUoc3BlYykKKyAgICBlbGlmIGhhc2F0dHIoc3BlYy5sb2FkZXIsICdleGVjX21vZHVsZScpOgorICAgICAgICBfd2FybmluZ3Mud2Fybignc3RhcnRpbmcgaW4gUHl0aG9uIDMuNiwgbG9hZGVycyBkZWZpbmluZyBleGVjX21vZHVsZSgpICcKKyAgICAgICAgICAgICAgICAgICAgICAgJ211c3QgYWxzbyBkZWZpbmUgY3JlYXRlX21vZHVsZSgpJywKKyAgICAgICAgICAgICAgICAgICAgICAgRGVwcmVjYXRpb25XYXJuaW5nLCBzdGFja2xldmVsPTIpCisgICAgaWYgbW9kdWxlIGlzIE5vbmU6CisgICAgICAgIG1vZHVsZSA9IF9uZXdfbW9kdWxlKHNwZWMubmFtZSkKKyAgICBfaW5pdF9tb2R1bGVfYXR0cnMoc3BlYywgbW9kdWxlKQorICAgIHJldHVybiBtb2R1bGUKIAotICAgIGRlZiBtb2R1bGVfcmVwcihzZWxmKToKLSAgICAgICAgIiIiUmV0dXJuIHRoZSByZXByIHRvIHVzZSBmb3IgdGhlIG1vZHVsZS4iIiIKLSAgICAgICAgIyBXZSBtb3N0bHkgcmVwbGljYXRlIF9tb2R1bGVfcmVwcigpIHVzaW5nIHRoZSBzcGVjIGF0dHJpYnV0ZXMuCi0gICAgICAgIHNwZWMgPSBzZWxmLnNwZWMKLSAgICAgICAgbmFtZSA9ICc/JyBpZiBzcGVjLm5hbWUgaXMgTm9uZSBlbHNlIHNwZWMubmFtZQotICAgICAgICBpZiBzcGVjLm9yaWdpbiBpcyBOb25lOgotICAgICAgICAgICAgaWYgc3BlYy5sb2FkZXIgaXMgTm9uZToKLSAgICAgICAgICAgICAgICByZXR1cm4gJzxtb2R1bGUgeyFyfT4nLmZvcm1hdChuYW1lKQotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICByZXR1cm4gJzxtb2R1bGUgeyFyfSAoeyFyfSk+Jy5mb3JtYXQobmFtZSwgc3BlYy5sb2FkZXIpCisKK2RlZiBfbW9kdWxlX3JlcHJfZnJvbV9zcGVjKHNwZWMpOgorICAgICIiIlJldHVybiB0aGUgcmVwciB0byB1c2UgZm9yIHRoZSBtb2R1bGUuIiIiCisgICAgIyBXZSBtb3N0bHkgcmVwbGljYXRlIF9tb2R1bGVfcmVwcigpIHVzaW5nIHRoZSBzcGVjIGF0dHJpYnV0ZXMuCisgICAgbmFtZSA9ICc/JyBpZiBzcGVjLm5hbWUgaXMgTm9uZSBlbHNlIHNwZWMubmFtZQorICAgIGlmIHNwZWMub3JpZ2luIGlzIE5vbmU6CisgICAgICAgIGlmIHNwZWMubG9hZGVyIGlzIE5vbmU6CisgICAgICAgICAgICByZXR1cm4gJzxtb2R1bGUgeyFyfT4nLmZvcm1hdChuYW1lKQogICAgICAgICBlbHNlOgotICAgICAgICAgICAgaWYgc3BlYy5oYXNfbG9jYXRpb246Ci0gICAgICAgICAgICAgICAgcmV0dXJuICc8bW9kdWxlIHshcn0gZnJvbSB7IXJ9PicuZm9ybWF0KG5hbWUsIHNwZWMub3JpZ2luKQotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICByZXR1cm4gJzxtb2R1bGUgeyFyfSAoe30pPicuZm9ybWF0KHNwZWMubmFtZSwgc3BlYy5vcmlnaW4pCisgICAgICAgICAgICByZXR1cm4gJzxtb2R1bGUgeyFyfSAoeyFyfSk+Jy5mb3JtYXQobmFtZSwgc3BlYy5sb2FkZXIpCisgICAgZWxzZToKKyAgICAgICAgaWYgc3BlYy5oYXNfbG9jYXRpb246CisgICAgICAgICAgICByZXR1cm4gJzxtb2R1bGUgeyFyfSBmcm9tIHshcn0+Jy5mb3JtYXQobmFtZSwgc3BlYy5vcmlnaW4pCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICByZXR1cm4gJzxtb2R1bGUgeyFyfSAoe30pPicuZm9ybWF0KHNwZWMubmFtZSwgc3BlYy5vcmlnaW4pCiAKLSAgICBkZWYgaW5pdF9tb2R1bGVfYXR0cnMoc2VsZiwgbW9kdWxlLCAqLCBfb3ZlcnJpZGU9RmFsc2UsIF9mb3JjZV9uYW1lPVRydWUpOgotICAgICAgICAiIiJTZXQgdGhlIG1vZHVsZSdzIGF0dHJpYnV0ZXMuCiAKLSAgICAgICAgQWxsIG1pc3NpbmcgaW1wb3J0LXJlbGF0ZWQgbW9kdWxlIGF0dHJpYnV0ZXMgd2lsbCBiZSBzZXQuICBIZXJlCi0gICAgICAgIGlzIGhvdyB0aGUgc3BlYyBhdHRyaWJ1dGVzIG1hcCBvbnRvIHRoZSBtb2R1bGU6CisjIFVzZWQgYnkgaW1wb3J0bGliLnJlbG9hZCgpIGFuZCBfbG9hZF9tb2R1bGVfc2hpbSgpLgorZGVmIF9leGVjKHNwZWMsIG1vZHVsZSk6CisgICAgIiIiRXhlY3V0ZSB0aGUgc3BlYyBpbiBhbiBleGlzdGluZyBtb2R1bGUncyBuYW1lc3BhY2UuIiIiCisgICAgbmFtZSA9IHNwZWMubmFtZQorICAgIF9pbXAuYWNxdWlyZV9sb2NrKCkKKyAgICB3aXRoIF9Nb2R1bGVMb2NrTWFuYWdlcihuYW1lKToKKyAgICAgICAgaWYgc3lzLm1vZHVsZXMuZ2V0KG5hbWUpIGlzIG5vdCBtb2R1bGU6CisgICAgICAgICAgICBtc2cgPSAnbW9kdWxlIHshcn0gbm90IGluIHN5cy5tb2R1bGVzJy5mb3JtYXQobmFtZSkKKyAgICAgICAgICAgIHJhaXNlIEltcG9ydEVycm9yKG1zZywgbmFtZT1uYW1lKQorICAgICAgICBpZiBzcGVjLmxvYWRlciBpcyBOb25lOgorICAgICAgICAgICAgaWYgc3BlYy5zdWJtb2R1bGVfc2VhcmNoX2xvY2F0aW9ucyBpcyBOb25lOgorICAgICAgICAgICAgICAgIHJhaXNlIEltcG9ydEVycm9yKCdtaXNzaW5nIGxvYWRlcicsIG5hbWU9c3BlYy5uYW1lKQorICAgICAgICAgICAgIyBuYW1lc3BhY2UgcGFja2FnZQorICAgICAgICAgICAgX2luaXRfbW9kdWxlX2F0dHJzKHNwZWMsIG1vZHVsZSwgb3ZlcnJpZGU9VHJ1ZSkKKyAgICAgICAgICAgIHJldHVybiBtb2R1bGUKKyAgICAgICAgX2luaXRfbW9kdWxlX2F0dHJzKHNwZWMsIG1vZHVsZSwgb3ZlcnJpZGU9VHJ1ZSkKKyAgICAgICAgaWYgbm90IGhhc2F0dHIoc3BlYy5sb2FkZXIsICdleGVjX21vZHVsZScpOgorICAgICAgICAgICAgIyAoaXNzdWUxOTcxMykgT25jZSBCdWlsdGluSW1wb3J0ZXIgYW5kIEV4dGVuc2lvbkZpbGVMb2FkZXIKKyAgICAgICAgICAgICMgaGF2ZSBleGVjX21vZHVsZSgpIGltcGxlbWVudGVkLCB3ZSBjYW4gYWRkIGEgZGVwcmVjYXRpb24KKyAgICAgICAgICAgICMgd2FybmluZyBoZXJlLgorICAgICAgICAgICAgc3BlYy5sb2FkZXIubG9hZF9tb2R1bGUobmFtZSkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHNwZWMubG9hZGVyLmV4ZWNfbW9kdWxlKG1vZHVsZSkKKyAgICByZXR1cm4gc3lzLm1vZHVsZXNbbmFtZV0KIAotICAgICAgICBzcGVjLm5hbWUgLT4gbW9kdWxlLl9fbmFtZV9fCi0gICAgICAgIHNwZWMubG9hZGVyIC0+IG1vZHVsZS5fX2xvYWRlcl9fCi0gICAgICAgIHNwZWMucGFyZW50IC0+IG1vZHVsZS5fX3BhY2thZ2VfXwotICAgICAgICBzcGVjIC0+IG1vZHVsZS5fX3NwZWNfXwogCi0gICAgICAgIE9wdGlvbmFsOgotICAgICAgICBzcGVjLm9yaWdpbiAtPiBtb2R1bGUuX19maWxlX18gKGlmIHNwZWMuc2V0X2ZpbGVhdHRyIGlzIHRydWUpCi0gICAgICAgIHNwZWMuY2FjaGVkIC0+IG1vZHVsZS5fX2NhY2hlZF9fIChpZiBfX2ZpbGVfXyBhbHNvIHNldCkKLSAgICAgICAgc3BlYy5zdWJtb2R1bGVfc2VhcmNoX2xvY2F0aW9ucyAtPiBtb2R1bGUuX19wYXRoX18gKGlmIHNldCkKLQotICAgICAgICAiIiIKLSAgICAgICAgc3BlYyA9IHNlbGYuc3BlYwotCi0gICAgICAgICMgVGhlIHBhc3NlZCBpbiBtb2R1bGUgbWF5IGJlIG5vdCBzdXBwb3J0IGF0dHJpYnV0ZSBhc3NpZ25tZW50LAotICAgICAgICAjIGluIHdoaWNoIGNhc2Ugd2Ugc2ltcGx5IGRvbid0IHNldCB0aGUgYXR0cmlidXRlcy4KLQotICAgICAgICAjIF9fbmFtZV9fCi0gICAgICAgIGlmIChfb3ZlcnJpZGUgb3IgX2ZvcmNlX25hbWUgb3IKLSAgICAgICAgICAgIGdldGF0dHIobW9kdWxlLCAnX19uYW1lX18nLCBOb25lKSBpcyBOb25lKToKLSAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICBtb2R1bGUuX19uYW1lX18gPSBzcGVjLm5hbWUKLSAgICAgICAgICAgIGV4Y2VwdCBBdHRyaWJ1dGVFcnJvcjoKLSAgICAgICAgICAgICAgICBwYXNzCi0KLSAgICAgICAgIyBfX2xvYWRlcl9fCi0gICAgICAgIGlmIF9vdmVycmlkZSBvciBnZXRhdHRyKG1vZHVsZSwgJ19fbG9hZGVyX18nLCBOb25lKSBpcyBOb25lOgotICAgICAgICAgICAgbG9hZGVyID0gc3BlYy5sb2FkZXIKLSAgICAgICAgICAgIGlmIGxvYWRlciBpcyBOb25lOgotICAgICAgICAgICAgICAgICMgQSBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IGhhY2suCi0gICAgICAgICAgICAgICAgaWYgc3BlYy5zdWJtb2R1bGVfc2VhcmNoX2xvY2F0aW9ucyBpcyBub3QgTm9uZToKLSAgICAgICAgICAgICAgICAgICAgbG9hZGVyID0gX05hbWVzcGFjZUxvYWRlci5fX25ld19fKF9OYW1lc3BhY2VMb2FkZXIpCi0gICAgICAgICAgICAgICAgICAgIGxvYWRlci5fcGF0aCA9IHNwZWMuc3VibW9kdWxlX3NlYXJjaF9sb2NhdGlvbnMKLSAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICBtb2R1bGUuX19sb2FkZXJfXyA9IGxvYWRlcgotICAgICAgICAgICAgZXhjZXB0IEF0dHJpYnV0ZUVycm9yOgotICAgICAgICAgICAgICAgIHBhc3MKLQotICAgICAgICAjIF9fcGFja2FnZV9fCi0gICAgICAgIGlmIF9vdmVycmlkZSBvciBnZXRhdHRyKG1vZHVsZSwgJ19fcGFja2FnZV9fJywgTm9uZSkgaXMgTm9uZToKLSAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICBtb2R1bGUuX19wYWNrYWdlX18gPSBzcGVjLnBhcmVudAotICAgICAgICAgICAgZXhjZXB0IEF0dHJpYnV0ZUVycm9yOgotICAgICAgICAgICAgICAgIHBhc3MKLQotICAgICAgICAjIF9fc3BlY19fCitkZWYgX2xvYWRfYmFja3dhcmRfY29tcGF0aWJsZShzcGVjKToKKyAgICAjIChpc3N1ZTE5NzEzKSBPbmNlIEJ1aWx0aW5JbXBvcnRlciBhbmQgRXh0ZW5zaW9uRmlsZUxvYWRlcgorICAgICMgaGF2ZSBleGVjX21vZHVsZSgpIGltcGxlbWVudGVkLCB3ZSBjYW4gYWRkIGEgZGVwcmVjYXRpb24KKyAgICAjIHdhcm5pbmcgaGVyZS4KKyAgICBzcGVjLmxvYWRlci5sb2FkX21vZHVsZShzcGVjLm5hbWUpCisgICAgIyBUaGUgbW9kdWxlIG11c3QgYmUgaW4gc3lzLm1vZHVsZXMgYXQgdGhpcyBwb2ludCEKKyAgICBtb2R1bGUgPSBzeXMubW9kdWxlc1tzcGVjLm5hbWVdCisgICAgaWYgZ2V0YXR0cihtb2R1bGUsICdfX2xvYWRlcl9fJywgTm9uZSkgaXMgTm9uZToKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgbW9kdWxlLl9fbG9hZGVyX18gPSBzcGVjLmxvYWRlcgorICAgICAgICBleGNlcHQgQXR0cmlidXRlRXJyb3I6CisgICAgICAgICAgICBwYXNzCisgICAgaWYgZ2V0YXR0cihtb2R1bGUsICdfX3BhY2thZ2VfXycsIE5vbmUpIGlzIE5vbmU6CisgICAgICAgIHRyeToKKyAgICAgICAgICAgICMgU2luY2UgbW9kdWxlLl9fcGF0aF9fIG1heSBub3QgbGluZSB1cCB3aXRoCisgICAgICAgICAgICAjIHNwZWMuc3VibW9kdWxlX3NlYXJjaF9wYXRocywgd2UgY2FuJ3QgbmVjZXNzYXJpbHkgcmVseQorICAgICAgICAgICAgIyBvbiBzcGVjLnBhcmVudCBoZXJlLgorICAgICAgICAgICAgbW9kdWxlLl9fcGFja2FnZV9fID0gbW9kdWxlLl9fbmFtZV9fCisgICAgICAgICAgICBpZiBub3QgaGFzYXR0cihtb2R1bGUsICdfX3BhdGhfXycpOgorICAgICAgICAgICAgICAgIG1vZHVsZS5fX3BhY2thZ2VfXyA9IHNwZWMubmFtZS5ycGFydGl0aW9uKCcuJylbMF0KKyAgICAgICAgZXhjZXB0IEF0dHJpYnV0ZUVycm9yOgorICAgICAgICAgICAgcGFzcworICAgIGlmIGdldGF0dHIobW9kdWxlLCAnX19zcGVjX18nLCBOb25lKSBpcyBOb25lOgogICAgICAgICB0cnk6CiAgICAgICAgICAgICBtb2R1bGUuX19zcGVjX18gPSBzcGVjCiAgICAgICAgIGV4Y2VwdCBBdHRyaWJ1dGVFcnJvcjoKICAgICAgICAgICAgIHBhc3MKKyAgICByZXR1cm4gbW9kdWxlCiAKLSAgICAgICAgIyBfX3BhdGhfXwotICAgICAgICBpZiBfb3ZlcnJpZGUgb3IgZ2V0YXR0cihtb2R1bGUsICdfX3BhdGhfXycsIE5vbmUpIGlzIE5vbmU6Ci0gICAgICAgICAgICBpZiBzcGVjLnN1Ym1vZHVsZV9zZWFyY2hfbG9jYXRpb25zIGlzIG5vdCBOb25lOgotICAgICAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICAgICAgbW9kdWxlLl9fcGF0aF9fID0gc3BlYy5zdWJtb2R1bGVfc2VhcmNoX2xvY2F0aW9ucwotICAgICAgICAgICAgICAgIGV4Y2VwdCBBdHRyaWJ1dGVFcnJvcjoKLSAgICAgICAgICAgICAgICAgICAgcGFzcworZGVmIF9sb2FkX3VubG9ja2VkKHNwZWMpOgorICAgICMgQSBoZWxwZXIgZm9yIGRpcmVjdCB1c2UgYnkgdGhlIGltcG9ydCBzeXN0ZW0uCisgICAgaWYgc3BlYy5sb2FkZXIgaXMgbm90IE5vbmU6CisgICAgICAgICMgbm90IGEgbmFtZXNwYWNlIHBhY2thZ2UKKyAgICAgICAgaWYgbm90IGhhc2F0dHIoc3BlYy5sb2FkZXIsICdleGVjX21vZHVsZScpOgorICAgICAgICAgICAgcmV0dXJuIF9sb2FkX2JhY2t3YXJkX2NvbXBhdGlibGUoc3BlYykKIAotICAgICAgICBpZiBzcGVjLmhhc19sb2NhdGlvbjoKLSAgICAgICAgICAgICMgX19maWxlX18KLSAgICAgICAgICAgIGlmIF9vdmVycmlkZSBvciBnZXRhdHRyKG1vZHVsZSwgJ19fZmlsZV9fJywgTm9uZSkgaXMgTm9uZToKLSAgICAgICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgICAgIG1vZHVsZS5fX2ZpbGVfXyA9IHNwZWMub3JpZ2luCi0gICAgICAgICAgICAgICAgZXhjZXB0IEF0dHJpYnV0ZUVycm9yOgotICAgICAgICAgICAgICAgICAgICBwYXNzCi0KLSAgICAgICAgICAgICMgX19jYWNoZWRfXwotICAgICAgICAgICAgaWYgX292ZXJyaWRlIG9yIGdldGF0dHIobW9kdWxlLCAnX19jYWNoZWRfXycsIE5vbmUpIGlzIE5vbmU6Ci0gICAgICAgICAgICAgICAgaWYgc3BlYy5jYWNoZWQgaXMgbm90IE5vbmU6Ci0gICAgICAgICAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICAgICAgICAgIG1vZHVsZS5fX2NhY2hlZF9fID0gc3BlYy5jYWNoZWQKLSAgICAgICAgICAgICAgICAgICAgZXhjZXB0IEF0dHJpYnV0ZUVycm9yOgotICAgICAgICAgICAgICAgICAgICAgICAgcGFzcwotCi0gICAgZGVmIGNyZWF0ZShzZWxmKToKLSAgICAgICAgIiIiUmV0dXJuIGEgbmV3IG1vZHVsZSB0byBiZSBsb2FkZWQuCi0KLSAgICAgICAgVGhlIGltcG9ydC1yZWxhdGVkIG1vZHVsZSBhdHRyaWJ1dGVzIGFyZSBhbHNvIHNldCB3aXRoIHRoZQotICAgICAgICBhcHByb3ByaWF0ZSB2YWx1ZXMgZnJvbSB0aGUgc3BlYy4KLQotICAgICAgICAiIiIKLSAgICAgICAgc3BlYyA9IHNlbGYuc3BlYwotICAgICAgICAjIFR5cGljYWxseSBsb2FkZXJzIHdpbGwgbm90IGltcGxlbWVudCBjcmVhdGVfbW9kdWxlKCkuCi0gICAgICAgIGlmIGhhc2F0dHIoc3BlYy5sb2FkZXIsICdjcmVhdGVfbW9kdWxlJyk6Ci0gICAgICAgICAgICAjIElmIGNyZWF0ZV9tb2R1bGUoKSByZXR1cm5zIGBOb25lYCBpdCBtZWFucyB0aGUgZGVmYXVsdAotICAgICAgICAgICAgIyBtb2R1bGUgY3JlYXRpb24gc2hvdWxkIGJlIHVzZWQuCi0gICAgICAgICAgICBtb2R1bGUgPSBzcGVjLmxvYWRlci5jcmVhdGVfbW9kdWxlKHNwZWMpCisgICAgbW9kdWxlID0gbW9kdWxlX2Zyb21fc3BlYyhzcGVjKQorICAgIHdpdGggX2luc3RhbGxlZF9zYWZlbHkobW9kdWxlKToKKyAgICAgICAgaWYgc3BlYy5sb2FkZXIgaXMgTm9uZToKKyAgICAgICAgICAgIGlmIHNwZWMuc3VibW9kdWxlX3NlYXJjaF9sb2NhdGlvbnMgaXMgTm9uZToKKyAgICAgICAgICAgICAgICByYWlzZSBJbXBvcnRFcnJvcignbWlzc2luZyBsb2FkZXInLCBuYW1lPXNwZWMubmFtZSkKKyAgICAgICAgICAgICMgQSBuYW1lc3BhY2UgcGFja2FnZSBzbyBkbyBub3RoaW5nLgogICAgICAgICBlbHNlOgotICAgICAgICAgICAgbW9kdWxlID0gTm9uZQotICAgICAgICBpZiBtb2R1bGUgaXMgTm9uZToKLSAgICAgICAgICAgICMgVGhpcyBtdXN0IGJlIGRvbmUgYmVmb3JlIG9wZW4oKSBpcyBldmVyIGNhbGxlZCBhcyB0aGUgJ2lvJwotICAgICAgICAgICAgIyBtb2R1bGUgaW1wbGljaXRseSBpbXBvcnRzICdsb2NhbGUnIGFuZCB3b3VsZCBvdGhlcndpc2UKLSAgICAgICAgICAgICMgdHJpZ2dlciBhbiBpbmZpbml0ZSBsb29wLgotICAgICAgICAgICAgbW9kdWxlID0gX25ld19tb2R1bGUoc3BlYy5uYW1lKQotICAgICAgICBzZWxmLmluaXRfbW9kdWxlX2F0dHJzKG1vZHVsZSkKLSAgICAgICAgcmV0dXJuIG1vZHVsZQorICAgICAgICAgICAgc3BlYy5sb2FkZXIuZXhlY19tb2R1bGUobW9kdWxlKQogCi0gICAgZGVmIF9leGVjKHNlbGYsIG1vZHVsZSk6Ci0gICAgICAgICIiIkRvIGV2ZXJ5dGhpbmcgbmVjZXNzYXJ5IHRvIGV4ZWN1dGUgdGhlIG1vZHVsZS4KKyAgICAjIFdlIGRvbid0IGVuc3VyZSB0aGF0IHRoZSBpbXBvcnQtcmVsYXRlZCBtb2R1bGUgYXR0cmlidXRlcyBnZXQKKyAgICAjIHNldCBpbiB0aGUgc3lzLm1vZHVsZXMgcmVwbGFjZW1lbnQgY2FzZS4gIFN1Y2ggbW9kdWxlcyBhcmUgb24KKyAgICAjIHRoZWlyIG93bi4KKyAgICByZXR1cm4gc3lzLm1vZHVsZXNbc3BlYy5uYW1lXQogCi0gICAgICAgIFRoZSBuYW1lc3BhY2Ugb2YgYG1vZHVsZWAgaXMgdXNlZCBhcyB0aGUgdGFyZ2V0IG9mIGV4ZWN1dGlvbi4KLSAgICAgICAgVGhpcyBtZXRob2QgdXNlcyB0aGUgbG9hZGVyJ3MgYGV4ZWNfbW9kdWxlKClgIG1ldGhvZC4KKyMgQSBtZXRob2QgdXNlZCBkdXJpbmcgdGVzdGluZyBvZiBfbG9hZF91bmxvY2tlZCgpIGFuZCBieQorIyBfbG9hZF9tb2R1bGVfc2hpbSgpLgorZGVmIF9sb2FkKHNwZWMpOgorICAgICIiIlJldHVybiBhIG5ldyBtb2R1bGUgb2JqZWN0LCBsb2FkZWQgYnkgdGhlIHNwZWMncyBsb2FkZXIuCiAKLSAgICAgICAgIiIiCi0gICAgICAgIHNlbGYuc3BlYy5sb2FkZXIuZXhlY19tb2R1bGUobW9kdWxlKQorICAgIFRoZSBtb2R1bGUgaXMgbm90IGFkZGVkIHRvIGl0cyBwYXJlbnQuCiAKLSAgICAjIFVzZWQgYnkgaW1wb3J0bGliLnJlbG9hZCgpIGFuZCBfbG9hZF9tb2R1bGVfc2hpbSgpLgotICAgIGRlZiBleGVjKHNlbGYsIG1vZHVsZSk6Ci0gICAgICAgICIiIkV4ZWN1dGUgdGhlIHNwZWMgaW4gYW4gZXhpc3RpbmcgbW9kdWxlJ3MgbmFtZXNwYWNlLiIiIgotICAgICAgICBuYW1lID0gc2VsZi5zcGVjLm5hbWUKLSAgICAgICAgX2ltcC5hY3F1aXJlX2xvY2soKQotICAgICAgICB3aXRoIF9Nb2R1bGVMb2NrTWFuYWdlcihuYW1lKToKLSAgICAgICAgICAgIGlmIHN5cy5tb2R1bGVzLmdldChuYW1lKSBpcyBub3QgbW9kdWxlOgotICAgICAgICAgICAgICAgIG1zZyA9ICdtb2R1bGUgeyFyfSBub3QgaW4gc3lzLm1vZHVsZXMnLmZvcm1hdChuYW1lKQotICAgICAgICAgICAgICAgIHJhaXNlIEltcG9ydEVycm9yKG1zZywgbmFtZT1uYW1lKQotICAgICAgICAgICAgaWYgc2VsZi5zcGVjLmxvYWRlciBpcyBOb25lOgotICAgICAgICAgICAgICAgIGlmIHNlbGYuc3BlYy5zdWJtb2R1bGVfc2VhcmNoX2xvY2F0aW9ucyBpcyBOb25lOgotICAgICAgICAgICAgICAgICAgICByYWlzZSBJbXBvcnRFcnJvcignbWlzc2luZyBsb2FkZXInLCBuYW1lPXNlbGYuc3BlYy5uYW1lKQotICAgICAgICAgICAgICAgICMgbmFtZXNwYWNlIHBhY2thZ2UKLSAgICAgICAgICAgICAgICBzZWxmLmluaXRfbW9kdWxlX2F0dHJzKG1vZHVsZSwgX292ZXJyaWRlPVRydWUpCi0gICAgICAgICAgICAgICAgcmV0dXJuIG1vZHVsZQotICAgICAgICAgICAgc2VsZi5pbml0X21vZHVsZV9hdHRycyhtb2R1bGUsIF9vdmVycmlkZT1UcnVlKQotICAgICAgICAgICAgaWYgbm90IGhhc2F0dHIoc2VsZi5zcGVjLmxvYWRlciwgJ2V4ZWNfbW9kdWxlJyk6Ci0gICAgICAgICAgICAgICAgIyAoaXNzdWUxOTcxMykgT25jZSBCdWlsdGluSW1wb3J0ZXIgYW5kIEV4dGVuc2lvbkZpbGVMb2FkZXIKLSAgICAgICAgICAgICAgICAjIGhhdmUgZXhlY19tb2R1bGUoKSBpbXBsZW1lbnRlZCwgd2UgY2FuIGFkZCBhIGRlcHJlY2F0aW9uCi0gICAgICAgICAgICAgICAgIyB3YXJuaW5nIGhlcmUuCi0gICAgICAgICAgICAgICAgc2VsZi5zcGVjLmxvYWRlci5sb2FkX21vZHVsZShuYW1lKQotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICBzZWxmLl9leGVjKG1vZHVsZSkKLSAgICAgICAgcmV0dXJuIHN5cy5tb2R1bGVzW25hbWVdCisgICAgSWYgYSBtb2R1bGUgaXMgYWxyZWFkeSBpbiBzeXMubW9kdWxlcywgdGhhdCBleGlzdGluZyBtb2R1bGUgZ2V0cworICAgIGNsb2JiZXJlZC4KIAotICAgIGRlZiBfbG9hZF9iYWNrd2FyZF9jb21wYXRpYmxlKHNlbGYpOgotICAgICAgICAjIChpc3N1ZTE5NzEzKSBPbmNlIEJ1aWx0aW5JbXBvcnRlciBhbmQgRXh0ZW5zaW9uRmlsZUxvYWRlcgotICAgICAgICAjIGhhdmUgZXhlY19tb2R1bGUoKSBpbXBsZW1lbnRlZCwgd2UgY2FuIGFkZCBhIGRlcHJlY2F0aW9uCi0gICAgICAgICMgd2FybmluZyBoZXJlLgotICAgICAgICBzcGVjID0gc2VsZi5zcGVjCi0gICAgICAgIHNwZWMubG9hZGVyLmxvYWRfbW9kdWxlKHNwZWMubmFtZSkKLSAgICAgICAgIyBUaGUgbW9kdWxlIG11c3QgYmUgaW4gc3lzLm1vZHVsZXMgYXQgdGhpcyBwb2ludCEKLSAgICAgICAgbW9kdWxlID0gc3lzLm1vZHVsZXNbc3BlYy5uYW1lXQotICAgICAgICBpZiBnZXRhdHRyKG1vZHVsZSwgJ19fbG9hZGVyX18nLCBOb25lKSBpcyBOb25lOgotICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgIG1vZHVsZS5fX2xvYWRlcl9fID0gc3BlYy5sb2FkZXIKLSAgICAgICAgICAgIGV4Y2VwdCBBdHRyaWJ1dGVFcnJvcjoKLSAgICAgICAgICAgICAgICBwYXNzCi0gICAgICAgIGlmIGdldGF0dHIobW9kdWxlLCAnX19wYWNrYWdlX18nLCBOb25lKSBpcyBOb25lOgotICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgICMgU2luY2UgbW9kdWxlLl9fcGF0aF9fIG1heSBub3QgbGluZSB1cCB3aXRoCi0gICAgICAgICAgICAgICAgIyBzcGVjLnN1Ym1vZHVsZV9zZWFyY2hfcGF0aHMsIHdlIGNhbid0IG5lY2Vzc2FyaWx5IHJlbHkKLSAgICAgICAgICAgICAgICAjIG9uIHNwZWMucGFyZW50IGhlcmUuCi0gICAgICAgICAgICAgICAgbW9kdWxlLl9fcGFja2FnZV9fID0gbW9kdWxlLl9fbmFtZV9fCi0gICAgICAgICAgICAgICAgaWYgbm90IGhhc2F0dHIobW9kdWxlLCAnX19wYXRoX18nKToKLSAgICAgICAgICAgICAgICAgICAgbW9kdWxlLl9fcGFja2FnZV9fID0gc3BlYy5uYW1lLnJwYXJ0aXRpb24oJy4nKVswXQotICAgICAgICAgICAgZXhjZXB0IEF0dHJpYnV0ZUVycm9yOgotICAgICAgICAgICAgICAgIHBhc3MKLSAgICAgICAgaWYgZ2V0YXR0cihtb2R1bGUsICdfX3NwZWNfXycsIE5vbmUpIGlzIE5vbmU6Ci0gICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgbW9kdWxlLl9fc3BlY19fID0gc3BlYwotICAgICAgICAgICAgZXhjZXB0IEF0dHJpYnV0ZUVycm9yOgotICAgICAgICAgICAgICAgIHBhc3MKLSAgICAgICAgcmV0dXJuIG1vZHVsZQotCi0gICAgZGVmIF9sb2FkX3VubG9ja2VkKHNlbGYpOgotICAgICAgICAjIEEgaGVscGVyIGZvciBkaXJlY3QgdXNlIGJ5IHRoZSBpbXBvcnQgc3lzdGVtLgotICAgICAgICBpZiBzZWxmLnNwZWMubG9hZGVyIGlzIG5vdCBOb25lOgotICAgICAgICAgICAgIyBub3QgYSBuYW1lc3BhY2UgcGFja2FnZQotICAgICAgICAgICAgaWYgbm90IGhhc2F0dHIoc2VsZi5zcGVjLmxvYWRlciwgJ2V4ZWNfbW9kdWxlJyk6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIHNlbGYuX2xvYWRfYmFja3dhcmRfY29tcGF0aWJsZSgpCi0KLSAgICAgICAgbW9kdWxlID0gc2VsZi5jcmVhdGUoKQotICAgICAgICB3aXRoIF9pbnN0YWxsZWRfc2FmZWx5KG1vZHVsZSk6Ci0gICAgICAgICAgICBpZiBzZWxmLnNwZWMubG9hZGVyIGlzIE5vbmU6Ci0gICAgICAgICAgICAgICAgaWYgc2VsZi5zcGVjLnN1Ym1vZHVsZV9zZWFyY2hfbG9jYXRpb25zIGlzIE5vbmU6Ci0gICAgICAgICAgICAgICAgICAgIHJhaXNlIEltcG9ydEVycm9yKCdtaXNzaW5nIGxvYWRlcicsIG5hbWU9c2VsZi5zcGVjLm5hbWUpCi0gICAgICAgICAgICAgICAgIyBBIG5hbWVzcGFjZSBwYWNrYWdlIHNvIGRvIG5vdGhpbmcuCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIHNlbGYuX2V4ZWMobW9kdWxlKQotCi0gICAgICAgICMgV2UgZG9uJ3QgZW5zdXJlIHRoYXQgdGhlIGltcG9ydC1yZWxhdGVkIG1vZHVsZSBhdHRyaWJ1dGVzIGdldAotICAgICAgICAjIHNldCBpbiB0aGUgc3lzLm1vZHVsZXMgcmVwbGFjZW1lbnQgY2FzZS4gIFN1Y2ggbW9kdWxlcyBhcmUgb24KLSAgICAgICAgIyB0aGVpciBvd24uCi0gICAgICAgIHJldHVybiBzeXMubW9kdWxlc1tzZWxmLnNwZWMubmFtZV0KLQotICAgICMgQSBtZXRob2QgdXNlZCBkdXJpbmcgdGVzdGluZyBvZiBfbG9hZF91bmxvY2tlZCgpIGFuZCBieQotICAgICMgX2xvYWRfbW9kdWxlX3NoaW0oKS4KLSAgICBkZWYgbG9hZChzZWxmKToKLSAgICAgICAgIiIiUmV0dXJuIGEgbmV3IG1vZHVsZSBvYmplY3QsIGxvYWRlZCBieSB0aGUgc3BlYydzIGxvYWRlci4KLQotICAgICAgICBUaGUgbW9kdWxlIGlzIG5vdCBhZGRlZCB0byBpdHMgcGFyZW50LgotCi0gICAgICAgIElmIGEgbW9kdWxlIGlzIGFscmVhZHkgaW4gc3lzLm1vZHVsZXMsIHRoYXQgZXhpc3RpbmcgbW9kdWxlIGdldHMKLSAgICAgICAgY2xvYmJlcmVkLgotCi0gICAgICAgICIiIgotICAgICAgICBfaW1wLmFjcXVpcmVfbG9jaygpCi0gICAgICAgIHdpdGggX01vZHVsZUxvY2tNYW5hZ2VyKHNlbGYuc3BlYy5uYW1lKToKLSAgICAgICAgICAgIHJldHVybiBzZWxmLl9sb2FkX3VubG9ja2VkKCkKKyAgICAiIiIKKyAgICBfaW1wLmFjcXVpcmVfbG9jaygpCisgICAgd2l0aCBfTW9kdWxlTG9ja01hbmFnZXIoc3BlYy5uYW1lKToKKyAgICAgICAgcmV0dXJuIF9sb2FkX3VubG9ja2VkKHNwZWMpCiAKIAogZGVmIF9maXhfdXBfbW9kdWxlKG5zLCBuYW1lLCBwYXRobmFtZSwgY3BhdGhuYW1lPU5vbmUpOgpAQCAtMTM0OSw2ICsxMzAyLDEwIEBACiAgICAgICAgICIiIgogICAgICAgICByZXR1cm4gY2xzIGlmIF9pbXAuaXNfZnJvemVuKGZ1bGxuYW1lKSBlbHNlIE5vbmUKIAorICAgIEBjbGFzc21ldGhvZAorICAgIGRlZiBjcmVhdGVfbW9kdWxlKGNscywgc3BlYyk6CisgICAgICAgICIiIlVzZSBkZWZhdWx0IHNlbWFudGljcyBmb3IgbW9kdWxlIGNyZWF0aW9uLiIiIgorCiAgICAgQHN0YXRpY21ldGhvZAogICAgIGRlZiBleGVjX21vZHVsZShtb2R1bGUpOgogICAgICAgICBuYW1lID0gbW9kdWxlLl9fc3BlY19fLm5hbWUKQEAgLTE0NjIsNiArMTQxOSw5IEBACiAgICAgICAgIHRhaWxfbmFtZSA9IGZ1bGxuYW1lLnJwYXJ0aXRpb24oJy4nKVsyXQogICAgICAgICByZXR1cm4gZmlsZW5hbWVfYmFzZSA9PSAnX19pbml0X18nIGFuZCB0YWlsX25hbWUgIT0gJ19faW5pdF9fJwogCisgICAgZGVmIGNyZWF0ZV9tb2R1bGUoc2VsZiwgc3BlYyk6CisgICAgICAgICIiIlVzZSBkZWZhdWx0IHNlbWFudGljcyBmb3IgbW9kdWxlIGNyZWF0aW9uLiIiIgorCiAgICAgZGVmIGV4ZWNfbW9kdWxlKHNlbGYsIG1vZHVsZSk6CiAgICAgICAgICIiIkV4ZWN1dGUgdGhlIG1vZHVsZS4iIiIKICAgICAgICAgY29kZSA9IHNlbGYuZ2V0X2NvZGUobW9kdWxlLl9fbmFtZV9fKQpAQCAtMTc5OSw3ICsxNzU5LDcgQEAKICAgICAgICAgc2VsZi5fcGF0aC5hcHBlbmQoaXRlbSkKIAogCi0jIFdlIHVzZSB0aGlzIGV4Y2x1c2l2ZWx5IGluIGluaXRfbW9kdWxlX2F0dHJzKCkgZm9yIGJhY2t3YXJkLWNvbXBhdGliaWxpdHkuCisjIFdlIHVzZSB0aGlzIGV4Y2x1c2l2ZWx5IGluIG1vZHVsZV9mcm9tX3NwZWMoKSBmb3IgYmFja3dhcmQtY29tcGF0aWJpbGl0eS4KIGNsYXNzIF9OYW1lc3BhY2VMb2FkZXI6CiAgICAgZGVmIF9faW5pdF9fKHNlbGYsIG5hbWUsIHBhdGgsIHBhdGhfZmluZGVyKToKICAgICAgICAgc2VsZi5fcGF0aCA9IF9OYW1lc3BhY2VQYXRoKG5hbWUsIHBhdGgsIHBhdGhfZmluZGVyKQpAQCAtMTgyMiw2ICsxNzgyLDkgQEAKICAgICBkZWYgZ2V0X2NvZGUoc2VsZiwgZnVsbG5hbWUpOgogICAgICAgICByZXR1cm4gY29tcGlsZSgnJywgJzxzdHJpbmc+JywgJ2V4ZWMnLCBkb250X2luaGVyaXQ9VHJ1ZSkKIAorICAgIGRlZiBjcmVhdGVfbW9kdWxlKHNlbGYsIHNwZWMpOgorICAgICAgICAiIiJVc2UgZGVmYXVsdCBzZW1hbnRpY3MgZm9yIG1vZHVsZSBjcmVhdGlvbi4iIiIKKwogICAgIGRlZiBleGVjX21vZHVsZShzZWxmLCBtb2R1bGUpOgogICAgICAgICBwYXNzCiAKQEAgLTE4NTcsNyArMTgyMCw3IEBACiAgICAgICAgIElmICdob29rcycgaXMgZmFsc2UgdGhlbiB1c2Ugc3lzLnBhdGhfaG9va3MuCiAKICAgICAgICAgIiIiCi0gICAgICAgIGlmIG5vdCBzeXMucGF0aF9ob29rczoKKyAgICAgICAgaWYgc3lzLnBhdGhfaG9va3MgaXMgbm90IE5vbmUgYW5kIG5vdCBzeXMucGF0aF9ob29rczoKICAgICAgICAgICAgIF93YXJuaW5ncy53YXJuKCdzeXMucGF0aF9ob29rcyBpcyBlbXB0eScsIEltcG9ydFdhcm5pbmcpCiAgICAgICAgIGZvciBob29rIGluIHN5cy5wYXRoX2hvb2tzOgogICAgICAgICAgICAgdHJ5OgpAQCAtMTg3Niw3ICsxODM5LDEyIEBACiAKICAgICAgICAgIiIiCiAgICAgICAgIGlmIHBhdGggPT0gJyc6Ci0gICAgICAgICAgICBwYXRoID0gX29zLmdldGN3ZCgpCisgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgcGF0aCA9IF9vcy5nZXRjd2QoKQorICAgICAgICAgICAgZXhjZXB0IEZpbGVOb3RGb3VuZEVycm9yOgorICAgICAgICAgICAgICAgICMgRG9uJ3QgY2FjaGUgdGhlIGZhaWx1cmUgYXMgdGhlIGN3ZCBjYW4gZWFzaWx5IGNoYW5nZSB0bworICAgICAgICAgICAgICAgICMgYSB2YWxpZCBkaXJlY3RvcnkgbGF0ZXIgb24uCisgICAgICAgICAgICAgICAgcmV0dXJuIE5vbmUKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgZmluZGVyID0gc3lzLnBhdGhfaW1wb3J0ZXJfY2FjaGVbcGF0aF0KICAgICAgICAgZXhjZXB0IEtleUVycm9yOgpAQCAtMjE0Niw3ICsyMTE0LDcgQEAKIAogZGVmIF9maW5kX3NwZWMobmFtZSwgcGF0aCwgdGFyZ2V0PU5vbmUpOgogICAgICIiIkZpbmQgYSBtb2R1bGUncyBsb2FkZXIuIiIiCi0gICAgaWYgbm90IHN5cy5tZXRhX3BhdGg6CisgICAgaWYgc3lzLm1ldGFfcGF0aCBpcyBub3QgTm9uZSBhbmQgbm90IHN5cy5tZXRhX3BhdGg6CiAgICAgICAgIF93YXJuaW5ncy53YXJuKCdzeXMubWV0YV9wYXRoIGlzIGVtcHR5JywgSW1wb3J0V2FybmluZykKICAgICAjIFdlIGNoZWNrIHN5cy5tb2R1bGVzIGhlcmUgZm9yIHRoZSByZWxvYWQgY2FzZS4gIFdoaWxlIGEgcGFzc2VkLWluCiAgICAgIyB0YXJnZXQgd2lsbCB1c3VhbGx5IGluZGljYXRlIGEgcmVsb2FkIHRoZXJlIGlzIG5vIGd1YXJhbnRlZSwgd2hlcmVhcwpAQCAtMjIxOCwxMiArMjE4NiwxMiBAQAogICAgICAgICAgICAgcGF0aCA9IHBhcmVudF9tb2R1bGUuX19wYXRoX18KICAgICAgICAgZXhjZXB0IEF0dHJpYnV0ZUVycm9yOgogICAgICAgICAgICAgbXNnID0gKF9FUlJfTVNHICsgJzsgeyFyfSBpcyBub3QgYSBwYWNrYWdlJykuZm9ybWF0KG5hbWUsIHBhcmVudCkKLSAgICAgICAgICAgIHJhaXNlIEltcG9ydEVycm9yKG1zZywgbmFtZT1uYW1lKQorICAgICAgICAgICAgcmFpc2UgSW1wb3J0RXJyb3IobXNnLCBuYW1lPW5hbWUpIGZyb20gTm9uZQogICAgIHNwZWMgPSBfZmluZF9zcGVjKG5hbWUsIHBhdGgpCiAgICAgaWYgc3BlYyBpcyBOb25lOgogICAgICAgICByYWlzZSBJbXBvcnRFcnJvcihfRVJSX01TRy5mb3JtYXQobmFtZSksIG5hbWU9bmFtZSkKICAgICBlbHNlOgotICAgICAgICBtb2R1bGUgPSBfU3BlY01ldGhvZHMoc3BlYykuX2xvYWRfdW5sb2NrZWQoKQorICAgICAgICBtb2R1bGUgPSBfbG9hZF91bmxvY2tlZChzcGVjKQogICAgIGlmIHBhcmVudDoKICAgICAgICAgIyBTZXQgdGhlIG1vZHVsZSBhcyBhbiBhdHRyaWJ1dGUgb24gaXRzIHBhcmVudC4KICAgICAgICAgcGFyZW50X21vZHVsZSA9IHN5cy5tb2R1bGVzW3BhcmVudF0KQEAgLTIzNTgsOCArMjMyNiw3IEBACiAgICAgc3BlYyA9IEJ1aWx0aW5JbXBvcnRlci5maW5kX3NwZWMobmFtZSkKICAgICBpZiBzcGVjIGlzIE5vbmU6CiAgICAgICAgIHJhaXNlIEltcG9ydEVycm9yKCdubyBidWlsdC1pbiBtb2R1bGUgbmFtZWQgJyArIG5hbWUpCi0gICAgbWV0aG9kcyA9IF9TcGVjTWV0aG9kcyhzcGVjKQotICAgIHJldHVybiBtZXRob2RzLl9sb2FkX3VubG9ja2VkKCkKKyAgICByZXR1cm4gX2xvYWRfdW5sb2NrZWQoc3BlYykKIAogCiBkZWYgX3NldHVwKHN5c19tb2R1bGUsIF9pbXBfbW9kdWxlKToKQEAgLTIzOTAsOCArMjM1Nyw3IEBACiAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgIGNvbnRpbnVlCiAgICAgICAgICAgICBzcGVjID0gX3NwZWNfZnJvbV9tb2R1bGUobW9kdWxlLCBsb2FkZXIpCi0gICAgICAgICAgICBtZXRob2RzID0gX1NwZWNNZXRob2RzKHNwZWMpCi0gICAgICAgICAgICBtZXRob2RzLmluaXRfbW9kdWxlX2F0dHJzKG1vZHVsZSkKKyAgICAgICAgICAgIF9pbml0X21vZHVsZV9hdHRycyhzcGVjLCBtb2R1bGUpCiAKICAgICAjIERpcmVjdGx5IGxvYWQgYnVpbHQtaW4gbW9kdWxlcyBuZWVkZWQgZHVyaW5nIGJvb3RzdHJhcC4KICAgICBzZWxmX21vZHVsZSA9IHN5cy5tb2R1bGVzW19fbmFtZV9fXQpkaWZmIC0tZ2l0IGEvTGliL2ltcG9ydGxpYi9hYmMucHkgYi9MaWIvaW1wb3J0bGliL2FiYy5weQppbmRleCA1NThhYmQzLi4yODc4NDg4IDEwMDY0NAotLS0gYS9MaWIvaW1wb3J0bGliL2FiYy5weQorKysgYi9MaWIvaW1wb3J0bGliL2FiYy5weQpAQCAtMTIyLDExICsxMjIsOCBAQAogICAgICAgICBUaGlzIG1ldGhvZCBzaG91bGQgcmFpc2UgSW1wb3J0RXJyb3IgaWYgYW55dGhpbmcgcHJldmVudHMgaXQKICAgICAgICAgZnJvbSBjcmVhdGluZyBhIG5ldyBtb2R1bGUuICBJdCBtYXkgcmV0dXJuIE5vbmUgdG8gaW5kaWNhdGUKICAgICAgICAgdGhhdCB0aGUgc3BlYyBzaG91bGQgY3JlYXRlIHRoZSBuZXcgbW9kdWxlLgotCi0gICAgICAgIGNyZWF0ZV9tb2R1bGUoKSBpcyBvcHRpb25hbC4KLQogICAgICAgICAiIiIKLSAgICAgICAgIyBCeSBkZWZhdWx0LCBkZWZlciB0byBfU3BlY01ldGhvZHMuY3JlYXRlKCkgZm9yIHRoZSBuZXcgbW9kdWxlLgorICAgICAgICAjIEJ5IGRlZmF1bHQsIGRlZmVyIHRvIGRlZmF1bHQgc2VtYW50aWNzIGZvciB0aGUgbmV3IG1vZHVsZS4KICAgICAgICAgcmV0dXJuIE5vbmUKIAogICAgICMgV2UgZG9uJ3QgZGVmaW5lIGV4ZWNfbW9kdWxlKCkgaGVyZSBzaW5jZSB0aGF0IHdvdWxkIGJyZWFrCkBAIC0yMTcsNyArMjE0LDggQEAKICAgICAgICAgIiIiCiAgICAgICAgIHJhaXNlIEltcG9ydEVycm9yCiAKLSAgICBkZWYgc291cmNlX3RvX2NvZGUoc2VsZiwgZGF0YSwgcGF0aD0nPHN0cmluZz4nKToKKyAgICBAc3RhdGljbWV0aG9kCisgICAgZGVmIHNvdXJjZV90b19jb2RlKGRhdGEsIHBhdGg9JzxzdHJpbmc+Jyk6CiAgICAgICAgICIiIkNvbXBpbGUgJ2RhdGEnIGludG8gYSBjb2RlIG9iamVjdC4KIAogICAgICAgICBUaGUgJ2RhdGEnIGFyZ3VtZW50IGNhbiBiZSBhbnl0aGluZyB0aGF0IGNvbXBpbGUoKSBjYW4gaGFuZGxlLiBUaGUncGF0aCcKZGlmZiAtLWdpdCBhL0xpYi9pbXBvcnRsaWIvdXRpbC5weSBiL0xpYi9pbXBvcnRsaWIvdXRpbC5weQppbmRleCA2ZDczYjFkLi5jNDJlZjE0IDEwMDY0NAotLS0gYS9MaWIvaW1wb3J0bGliL3V0aWwucHkKKysrIGIvTGliL2ltcG9ydGxpYi91dGlsLnB5CkBAIC0xLDggKzEsOSBAQAogIiIiVXRpbGl0eSBjb2RlIGZvciBjb25zdHJ1Y3RpbmcgaW1wb3J0ZXJzLCBldGMuIiIiCi0KK2Zyb20gLiBpbXBvcnQgYWJjCiBmcm9tIC5fYm9vdHN0cmFwIGltcG9ydCBNQUdJQ19OVU1CRVIKIGZyb20gLl9ib290c3RyYXAgaW1wb3J0IGNhY2hlX2Zyb21fc291cmNlCiBmcm9tIC5fYm9vdHN0cmFwIGltcG9ydCBkZWNvZGVfc291cmNlCitmcm9tIC5fYm9vdHN0cmFwIGltcG9ydCBtb2R1bGVfZnJvbV9zcGVjCiBmcm9tIC5fYm9vdHN0cmFwIGltcG9ydCBzb3VyY2VfZnJvbV9jYWNoZQogZnJvbSAuX2Jvb3RzdHJhcCBpbXBvcnQgc3BlY19mcm9tX2xvYWRlcgogZnJvbSAuX2Jvb3RzdHJhcCBpbXBvcnQgc3BlY19mcm9tX2ZpbGVfbG9jYXRpb24KQEAgLTEyLDYgKzEzLDcgQEAKIGZyb20gY29udGV4dGxpYiBpbXBvcnQgY29udGV4dG1hbmFnZXIKIGltcG9ydCBmdW5jdG9vbHMKIGltcG9ydCBzeXMKK2ltcG9ydCB0eXBlcwogaW1wb3J0IHdhcm5pbmdzCiAKIApAQCAtNTQsNyArNTYsNyBAQAogICAgICAgICB0cnk6CiAgICAgICAgICAgICBzcGVjID0gbW9kdWxlLl9fc3BlY19fCiAgICAgICAgIGV4Y2VwdCBBdHRyaWJ1dGVFcnJvcjoKLSAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoJ3t9Ll9fc3BlY19fIGlzIG5vdCBzZXQnLmZvcm1hdChuYW1lKSkKKyAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoJ3t9Ll9fc3BlY19fIGlzIG5vdCBzZXQnLmZvcm1hdChuYW1lKSkgZnJvbSBOb25lCiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICBpZiBzcGVjIGlzIE5vbmU6CiAgICAgICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigne30uX19zcGVjX18gaXMgTm9uZScuZm9ybWF0KG5hbWUpKQpAQCAtOTQsNyArOTYsNyBAQAogICAgICAgICB0cnk6CiAgICAgICAgICAgICBzcGVjID0gbW9kdWxlLl9fc3BlY19fCiAgICAgICAgIGV4Y2VwdCBBdHRyaWJ1dGVFcnJvcjoKLSAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoJ3t9Ll9fc3BlY19fIGlzIG5vdCBzZXQnLmZvcm1hdChuYW1lKSkKKyAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoJ3t9Ll9fc3BlY19fIGlzIG5vdCBzZXQnLmZvcm1hdChuYW1lKSkgZnJvbSBOb25lCiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICBpZiBzcGVjIGlzIE5vbmU6CiAgICAgICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigne30uX19zcGVjX18gaXMgTm9uZScuZm9ybWF0KG5hbWUpKQpAQCAtMjAwLDMgKzIwMiw5NCBAQAogICAgICAgICAgICAgcmV0dXJuIGZ4bihzZWxmLCBtb2R1bGUsICphcmdzLCAqKmt3YXJncykKIAogICAgIHJldHVybiBtb2R1bGVfZm9yX2xvYWRlcl93cmFwcGVyCisKKworY2xhc3MgX01vZHVsZSh0eXBlcy5Nb2R1bGVUeXBlKToKKworICAgICIiIkEgc3ViY2xhc3Mgb2YgdGhlIG1vZHVsZSB0eXBlIHRvIGFsbG93IF9fY2xhc3NfXyBtYW5pcHVsYXRpb24uIiIiCisKKworY2xhc3MgX0xhenlNb2R1bGUodHlwZXMuTW9kdWxlVHlwZSk6CisKKyAgICAiIiJBIHN1YmNsYXNzIG9mIHRoZSBtb2R1bGUgdHlwZSB3aGljaCB0cmlnZ2VycyBsb2FkaW5nIHVwb24gYXR0cmlidXRlIGFjY2Vzcy4iIiIKKworICAgIGRlZiBfX2dldGF0dHJpYnV0ZV9fKHNlbGYsIGF0dHIpOgorICAgICAgICAiIiJUcmlnZ2VyIHRoZSBsb2FkIG9mIHRoZSBtb2R1bGUgYW5kIHJldHVybiB0aGUgYXR0cmlidXRlLiIiIgorICAgICAgICAjIEFsbCBtb2R1bGUgbWV0YWRhdGEgbXVzdCBiZSBnYXJuZXJlZCBmcm9tIF9fc3BlY19fIGluIG9yZGVyIHRvIGF2b2lkCisgICAgICAgICMgdXNpbmcgbXV0YXRlZCB2YWx1ZXMuCisgICAgICAgICMgU3RvcCB0cmlnZ2VyaW5nIHRoaXMgbWV0aG9kLgorICAgICAgICBzZWxmLl9fY2xhc3NfXyA9IF9Nb2R1bGUKKyAgICAgICAgIyBHZXQgdGhlIG9yaWdpbmFsIG5hbWUgdG8gbWFrZSBzdXJlIG5vIG9iamVjdCBzdWJzdGl0dXRpb24gb2NjdXJyZWQKKyAgICAgICAgIyBpbiBzeXMubW9kdWxlcy4KKyAgICAgICAgb3JpZ2luYWxfbmFtZSA9IHNlbGYuX19zcGVjX18ubmFtZQorICAgICAgICAjIEZpZ3VyZSBvdXQgZXhhY3RseSB3aGF0IGF0dHJpYnV0ZXMgd2VyZSBtdXRhdGVkIGJldHdlZW4gdGhlIGNyZWF0aW9uCisgICAgICAgICMgb2YgdGhlIG1vZHVsZSBhbmQgbm93LgorICAgICAgICBhdHRyc190aGVuID0gc2VsZi5fX3NwZWNfXy5sb2FkZXJfc3RhdGUKKyAgICAgICAgYXR0cnNfbm93ID0gc2VsZi5fX2RpY3RfXworICAgICAgICBhdHRyc191cGRhdGVkID0ge30KKyAgICAgICAgZm9yIGtleSwgdmFsdWUgaW4gYXR0cnNfbm93Lml0ZW1zKCk6CisgICAgICAgICAgICAjIENvZGUgdGhhdCBzZXQgdGhlIGF0dHJpYnV0ZSBtYXkgaGF2ZSBrZXB0IGEgcmVmZXJlbmNlIHRvIHRoZQorICAgICAgICAgICAgIyBhc3NpZ25lZCBvYmplY3QsIG1ha2luZyBpZGVudGl0eSBtb3JlIGltcG9ydGFudCB0aGFuIGVxdWFsaXR5LgorICAgICAgICAgICAgaWYga2V5IG5vdCBpbiBhdHRyc190aGVuOgorICAgICAgICAgICAgICAgIGF0dHJzX3VwZGF0ZWRba2V5XSA9IHZhbHVlCisgICAgICAgICAgICBlbGlmIGlkKGF0dHJzX25vd1trZXldKSAhPSBpZChhdHRyc190aGVuW2tleV0pOgorICAgICAgICAgICAgICAgIGF0dHJzX3VwZGF0ZWRba2V5XSA9IHZhbHVlCisgICAgICAgIHNlbGYuX19zcGVjX18ubG9hZGVyLmV4ZWNfbW9kdWxlKHNlbGYpCisgICAgICAgICMgSWYgZXhlY19tb2R1bGUoKSB3YXMgdXNlZCBkaXJlY3RseSB0aGVyZSBpcyBubyBndWFyYW50ZWUgdGhlIG1vZHVsZQorICAgICAgICAjIG9iamVjdCB3YXMgcHV0IGludG8gc3lzLm1vZHVsZXMuCisgICAgICAgIGlmIG9yaWdpbmFsX25hbWUgaW4gc3lzLm1vZHVsZXM6CisgICAgICAgICAgICBpZiBpZChzZWxmKSAhPSBpZChzeXMubW9kdWxlc1tvcmlnaW5hbF9uYW1lXSk6CisgICAgICAgICAgICAgICAgbXNnID0gKCdtb2R1bGUgb2JqZWN0IGZvciB7IXJ9IHN1YnN0aXR1dGVkIGluIHN5cy5tb2R1bGVzICcKKyAgICAgICAgICAgICAgICAgICAgICAgJ2R1cmluZyBhIGxhenkgbG9hZCcpCisgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKG1zZy5mb3JtYXQob3JpZ2luYWxfbmFtZSkpCisgICAgICAgICMgVXBkYXRlIGFmdGVyIGxvYWRpbmcgc2luY2UgdGhhdCdzIHdoYXQgd291bGQgaGFwcGVuIGluIGFuIGVhZ2VyCisgICAgICAgICMgbG9hZGluZyBzaXR1YXRpb24uCisgICAgICAgIHNlbGYuX19kaWN0X18udXBkYXRlKGF0dHJzX3VwZGF0ZWQpCisgICAgICAgIHJldHVybiBnZXRhdHRyKHNlbGYsIGF0dHIpCisKKyAgICBkZWYgX19kZWxhdHRyX18oc2VsZiwgYXR0cik6CisgICAgICAgICIiIlRyaWdnZXIgdGhlIGxvYWQgYW5kIHRoZW4gcGVyZm9ybSB0aGUgZGVsZXRpb24uIiIiCisgICAgICAgICMgVG8gdHJpZ2dlciB0aGUgbG9hZCBhbmQgcmFpc2UgYW4gZXhjZXB0aW9uIGlmIHRoZSBhdHRyaWJ1dGUKKyAgICAgICAgIyBkb2Vzbid0IGV4aXN0LgorICAgICAgICBzZWxmLl9fZ2V0YXR0cmlidXRlX18oYXR0cikKKyAgICAgICAgZGVsYXR0cihzZWxmLCBhdHRyKQorCisKK2NsYXNzIExhenlMb2FkZXIoYWJjLkxvYWRlcik6CisKKyAgICAiIiJBIGxvYWRlciB0aGF0IGNyZWF0ZXMgYSBtb2R1bGUgd2hpY2ggZGVmZXJzIGxvYWRpbmcgdW50aWwgYXR0cmlidXRlIGFjY2Vzcy4iIiIKKworICAgIEBzdGF0aWNtZXRob2QKKyAgICBkZWYgX19jaGVja19lYWdlcl9sb2FkZXIobG9hZGVyKToKKyAgICAgICAgaWYgbm90IGhhc2F0dHIobG9hZGVyLCAnZXhlY19tb2R1bGUnKToKKyAgICAgICAgICAgIHJhaXNlIFR5cGVFcnJvcignbG9hZGVyIG11c3QgZGVmaW5lIGV4ZWNfbW9kdWxlKCknKQorICAgICAgICBlbGlmIGhhc2F0dHIobG9hZGVyLl9fY2xhc3NfXywgJ2NyZWF0ZV9tb2R1bGUnKToKKyAgICAgICAgICAgIGlmIGFiYy5Mb2FkZXIuY3JlYXRlX21vZHVsZSAhPSBsb2FkZXIuX19jbGFzc19fLmNyZWF0ZV9tb2R1bGU6CisgICAgICAgICAgICAgICAgIyBPbmx5IGNhcmUgaWYgY3JlYXRlX21vZHVsZSgpIGlzIG92ZXJyaWRkZW4gaW4gYSBzdWJjbGFzcyBvZgorICAgICAgICAgICAgICAgICMgaW1wb3J0bGliLmFiYy5Mb2FkZXIuCisgICAgICAgICAgICAgICAgcmFpc2UgVHlwZUVycm9yKCdsb2FkZXIgY2Fubm90IGRlZmluZSBjcmVhdGVfbW9kdWxlKCknKQorCisgICAgQGNsYXNzbWV0aG9kCisgICAgZGVmIGZhY3RvcnkoY2xzLCBsb2FkZXIpOgorICAgICAgICAiIiJDb25zdHJ1Y3QgYSBjYWxsYWJsZSB3aGljaCByZXR1cm5zIHRoZSBlYWdlciBsb2FkZXIgbWFkZSBsYXp5LiIiIgorICAgICAgICBjbHMuX19jaGVja19lYWdlcl9sb2FkZXIobG9hZGVyKQorICAgICAgICByZXR1cm4gbGFtYmRhICphcmdzLCAqKmt3YXJnczogY2xzKGxvYWRlcigqYXJncywgKiprd2FyZ3MpKQorCisgICAgZGVmIF9faW5pdF9fKHNlbGYsIGxvYWRlcik6CisgICAgICAgIHNlbGYuX19jaGVja19lYWdlcl9sb2FkZXIobG9hZGVyKQorICAgICAgICBzZWxmLmxvYWRlciA9IGxvYWRlcgorCisgICAgZGVmIGNyZWF0ZV9tb2R1bGUoc2VsZiwgc3BlYyk6CisgICAgICAgICIiIkNyZWF0ZSBhIG1vZHVsZSB3aGljaCBjYW4gaGF2ZSBpdHMgX19jbGFzc19fIG1hbmlwdWxhdGVkLiIiIgorICAgICAgICByZXR1cm4gX01vZHVsZShzcGVjLm5hbWUpCisKKyAgICBkZWYgZXhlY19tb2R1bGUoc2VsZiwgbW9kdWxlKToKKyAgICAgICAgIiIiTWFrZSB0aGUgbW9kdWxlIGxvYWQgbGF6aWx5LiIiIgorICAgICAgICBtb2R1bGUuX19zcGVjX18ubG9hZGVyID0gc2VsZi5sb2FkZXIKKyAgICAgICAgbW9kdWxlLl9fbG9hZGVyX18gPSBzZWxmLmxvYWRlcgorICAgICAgICAjIERvbid0IG5lZWQgdG8gd29ycnkgYWJvdXQgZGVlcC1jb3B5aW5nIGFzIHRyeWluZyB0byBzZXQgYW4gYXR0cmlidXRlCisgICAgICAgICMgb24gYW4gb2JqZWN0IHdvdWxkIGhhdmUgdHJpZ2dlcmVkIHRoZSBsb2FkLAorICAgICAgICAjIGUuZy4gYGBtb2R1bGUuX19zcGVjX18ubG9hZGVyID0gTm9uZWBgIHdvdWxkIHRyaWdnZXIgYSBsb2FkIGZyb20KKyAgICAgICAgIyB0cnlpbmcgdG8gYWNjZXNzIG1vZHVsZS5fX3NwZWNfXy4KKyAgICAgICAgbW9kdWxlLl9fc3BlY19fLmxvYWRlcl9zdGF0ZSA9IG1vZHVsZS5fX2RpY3RfXy5jb3B5KCkKKyAgICAgICAgbW9kdWxlLl9fY2xhc3NfXyA9IF9MYXp5TW9kdWxlCmRpZmYgLS1naXQgYS9MaWIvaW5zcGVjdC5weSBiL0xpYi9pbnNwZWN0LnB5CmluZGV4IDE2NDE4MjQuLjk4ZDY2NWQgMTAwNjQ0Ci0tLSBhL0xpYi9pbnNwZWN0LnB5CisrKyBiL0xpYi9pbnNwZWN0LnB5CkBAIC0xNyw3ICsxNyw3IEBACiAgICAgZ2V0Y2xhc3N0cmVlKCkgLSBhcnJhbmdlIGNsYXNzZXMgc28gYXMgdG8gcmVwcmVzZW50IHRoZWlyIGhpZXJhcmNoeQogCiAgICAgZ2V0YXJnc3BlYygpLCBnZXRhcmd2YWx1ZXMoKSwgZ2V0Y2FsbGFyZ3MoKSAtIGdldCBpbmZvIGFib3V0IGZ1bmN0aW9uIGFyZ3VtZW50cwotICAgIGdldGZ1bGxhcmdzcGVjKCkgLSBzYW1lLCB3aXRoIHN1cHBvcnQgZm9yIFB5dGhvbi0zMDAwIGZlYXR1cmVzCisgICAgZ2V0ZnVsbGFyZ3NwZWMoKSAtIHNhbWUsIHdpdGggc3VwcG9ydCBmb3IgUHl0aG9uIDMgZmVhdHVyZXMKICAgICBmb3JtYXRhcmdzcGVjKCksIGZvcm1hdGFyZ3ZhbHVlcygpIC0gZm9ybWF0IGFuIGFyZ3VtZW50IHNwZWMKICAgICBnZXRvdXRlcmZyYW1lcygpLCBnZXRpbm5lcmZyYW1lcygpIC0gZ2V0IGluZm8gYWJvdXQgZnJhbWVzCiAgICAgY3VycmVudGZyYW1lKCkgLSBnZXQgdGhlIGN1cnJlbnQgc3RhY2sgZnJhbWUKQEAgLTMyLDYgKzMyLDcgQEAKICAgICAgICAgICAgICAgJ1l1cnkgU2VsaXZhbm92IDx5c2VsaXZhbm92QHNwcnltaXguY29tPicpCiAKIGltcG9ydCBhc3QKK2ltcG9ydCBlbnVtCiBpbXBvcnQgaW1wb3J0bGliLm1hY2hpbmVyeQogaW1wb3J0IGl0ZXJ0b29scwogaW1wb3J0IGxpbmVjYWNoZQpAQCAtODIyLDYgKzgyMyw3IEBACiAgICAgY29ycmVzcG9uZGluZyB0byB0aGUgb2JqZWN0IGFuZCB0aGUgbGluZSBudW1iZXIgaW5kaWNhdGVzIHdoZXJlIGluIHRoZQogICAgIG9yaWdpbmFsIHNvdXJjZSBmaWxlIHRoZSBmaXJzdCBsaW5lIG9mIGNvZGUgd2FzIGZvdW5kLiAgQW4gT1NFcnJvciBpcwogICAgIHJhaXNlZCBpZiB0aGUgc291cmNlIGNvZGUgY2Fubm90IGJlIHJldHJpZXZlZC4iIiIKKyAgICBvYmplY3QgPSB1bndyYXAob2JqZWN0KQogICAgIGxpbmVzLCBsbnVtID0gZmluZHNvdXJjZShvYmplY3QpCiAKICAgICBpZiBpc21vZHVsZShvYmplY3QpOiByZXR1cm4gbGluZXMsIDAKQEAgLTkxOSwxMyArOTIxLDEyIEBACiBkZWYgZ2V0YXJnc3BlYyhmdW5jKToKICAgICAiIiJHZXQgdGhlIG5hbWVzIGFuZCBkZWZhdWx0IHZhbHVlcyBvZiBhIGZ1bmN0aW9uJ3MgYXJndW1lbnRzLgogCi0gICAgQSB0dXBsZSBvZiBmb3VyIHRoaW5ncyBpcyByZXR1cm5lZDogKGFyZ3MsIHZhcmFyZ3MsIHZhcmt3LCBkZWZhdWx0cykuCi0gICAgJ2FyZ3MnIGlzIGEgbGlzdCBvZiB0aGUgYXJndW1lbnQgbmFtZXMuCi0gICAgJ2FyZ3MnIHdpbGwgaW5jbHVkZSBrZXl3b3JkLW9ubHkgYXJndW1lbnQgbmFtZXMuCi0gICAgJ3ZhcmFyZ3MnIGFuZCAndmFya3cnIGFyZSB0aGUgbmFtZXMgb2YgdGhlICogYW5kICoqIGFyZ3VtZW50cyBvciBOb25lLgorICAgIEEgdHVwbGUgb2YgZm91ciB0aGluZ3MgaXMgcmV0dXJuZWQ6IChhcmdzLCB2YXJhcmdzLCBrZXl3b3JkcywgZGVmYXVsdHMpLgorICAgICdhcmdzJyBpcyBhIGxpc3Qgb2YgdGhlIGFyZ3VtZW50IG5hbWVzLCBpbmNsdWRpbmcga2V5d29yZC1vbmx5IGFyZ3VtZW50IG5hbWVzLgorICAgICd2YXJhcmdzJyBhbmQgJ2tleXdvcmRzJyBhcmUgdGhlIG5hbWVzIG9mIHRoZSAqIGFuZCAqKiBhcmd1bWVudHMgb3IgTm9uZS4KICAgICAnZGVmYXVsdHMnIGlzIGFuIG4tdHVwbGUgb2YgdGhlIGRlZmF1bHQgdmFsdWVzIG9mIHRoZSBsYXN0IG4gYXJndW1lbnRzLgogCi0gICAgVXNlIHRoZSBnZXRmdWxsYXJnc3BlYygpIEFQSSBmb3IgUHl0aG9uLTMwMDAgY29kZSwgYXMgYW5ub3RhdGlvbnMKKyAgICBVc2UgdGhlIGdldGZ1bGxhcmdzcGVjKCkgQVBJIGZvciBQeXRob24gMyBjb2RlLCBhcyBhbm5vdGF0aW9ucwogICAgIGFuZCBrZXl3b3JkIGFyZ3VtZW50cyBhcmUgc3VwcG9ydGVkLiBnZXRhcmdzcGVjKCkgd2lsbCByYWlzZSBWYWx1ZUVycm9yCiAgICAgaWYgdGhlIGZ1bmMgaGFzIGVpdGhlciBhbm5vdGF0aW9ucyBvciBrZXl3b3JkIGFyZ3VtZW50cy4KICAgICAiIiIKQEAgLTk3Miw5ICs5NzMsMTAgQEAKICAgICAgICAgIyBnZXRmdWxsYXJnc3BlYygpIGhpc3RvcmljYWxseSBpZ25vcmVkIF9fd3JhcHBlZF9fIGF0dHJpYnV0ZXMsCiAgICAgICAgICMgc28gd2UgZW5zdXJlIHRoYXQgcmVtYWlucyB0aGUgY2FzZSBpbiAzLjMrCiAKLSAgICAgICAgc2lnID0gX3NpZ25hdHVyZV9pbnRlcm5hbChmdW5jLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbGxvd193cmFwcGVyX2NoYWlucz1GYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBza2lwX2JvdW5kX2FyZz1GYWxzZSkKKyAgICAgICAgc2lnID0gX3NpZ25hdHVyZV9mcm9tX2NhbGxhYmxlKGZ1bmMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb2xsb3dfd3JhcHBlcl9jaGFpbnM9RmFsc2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBza2lwX2JvdW5kX2FyZz1GYWxzZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpZ2Nscz1TaWduYXR1cmUpCiAgICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBleDoKICAgICAgICAgIyBNb3N0IG9mIHRoZSB0aW1lcyAnc2lnbmF0dXJlJyB3aWxsIHJhaXNlIFZhbHVlRXJyb3IuCiAgICAgICAgICMgQnV0LCBpdCBjYW4gYWxzbyByYWlzZSBBdHRyaWJ1dGVFcnJvciwgYW5kLCBtYXliZSBzb21ldGhpbmcKQEAgLTEwNDMsOCArMTA0NSw4IEBACiBkZWYgZm9ybWF0YW5ub3RhdGlvbihhbm5vdGF0aW9uLCBiYXNlX21vZHVsZT1Ob25lKToKICAgICBpZiBpc2luc3RhbmNlKGFubm90YXRpb24sIHR5cGUpOgogICAgICAgICBpZiBhbm5vdGF0aW9uLl9fbW9kdWxlX18gaW4gKCdidWlsdGlucycsIGJhc2VfbW9kdWxlKToKLSAgICAgICAgICAgIHJldHVybiBhbm5vdGF0aW9uLl9fbmFtZV9fCi0gICAgICAgIHJldHVybiBhbm5vdGF0aW9uLl9fbW9kdWxlX18rJy4nK2Fubm90YXRpb24uX19uYW1lX18KKyAgICAgICAgICAgIHJldHVybiBhbm5vdGF0aW9uLl9fcXVhbG5hbWVfXworICAgICAgICByZXR1cm4gYW5ub3RhdGlvbi5fX21vZHVsZV9fKycuJythbm5vdGF0aW9uLl9fcXVhbG5hbWVfXwogICAgIHJldHVybiByZXByKGFubm90YXRpb24pCiAKIGRlZiBmb3JtYXRhbm5vdGF0aW9ucmVsYXRpdmV0byhvYmplY3QpOgpAQCAtMTMxNyw2ICsxMzE5LDggQEAKICAgICAjIEZyYW1lVHlwZS5mX2xpbmVubyBpcyBub3cgYSBkZXNjcmlwdG9yIHRoYXQgZ3JvdmVscyBjb19sbm90YWIKICAgICByZXR1cm4gZnJhbWUuZl9saW5lbm8KIAorRnJhbWVJbmZvID0gbmFtZWR0dXBsZSgnRnJhbWVJbmZvJywgKCdmcmFtZScsKSArIFRyYWNlYmFjay5fZmllbGRzKQorCiBkZWYgZ2V0b3V0ZXJmcmFtZXMoZnJhbWUsIGNvbnRleHQ9MSk6CiAgICAgIiIiR2V0IGEgbGlzdCBvZiByZWNvcmRzIGZvciBhIGZyYW1lIGFuZCBhbGwgaGlnaGVyIChjYWxsaW5nKSBmcmFtZXMuCiAKQEAgLTEzMjQsNyArMTMyOCw4IEBACiAgICAgbmFtZSwgYSBsaXN0IG9mIGxpbmVzIG9mIGNvbnRleHQsIGFuZCBpbmRleCB3aXRoaW4gdGhlIGNvbnRleHQuIiIiCiAgICAgZnJhbWVsaXN0ID0gW10KICAgICB3aGlsZSBmcmFtZToKLSAgICAgICAgZnJhbWVsaXN0LmFwcGVuZCgoZnJhbWUsKSArIGdldGZyYW1laW5mbyhmcmFtZSwgY29udGV4dCkpCisgICAgICAgIGZyYW1laW5mbyA9IChmcmFtZSwpICsgZ2V0ZnJhbWVpbmZvKGZyYW1lLCBjb250ZXh0KQorICAgICAgICBmcmFtZWxpc3QuYXBwZW5kKEZyYW1lSW5mbygqZnJhbWVpbmZvKSkKICAgICAgICAgZnJhbWUgPSBmcmFtZS5mX2JhY2sKICAgICByZXR1cm4gZnJhbWVsaXN0CiAKQEAgLTEzMzUsNyArMTM0MCw4IEBACiAgICAgbmFtZSwgYSBsaXN0IG9mIGxpbmVzIG9mIGNvbnRleHQsIGFuZCBpbmRleCB3aXRoaW4gdGhlIGNvbnRleHQuIiIiCiAgICAgZnJhbWVsaXN0ID0gW10KICAgICB3aGlsZSB0YjoKLSAgICAgICAgZnJhbWVsaXN0LmFwcGVuZCgodGIudGJfZnJhbWUsKSArIGdldGZyYW1laW5mbyh0YiwgY29udGV4dCkpCisgICAgICAgIGZyYW1laW5mbyA9ICh0Yi50Yl9mcmFtZSwpICsgZ2V0ZnJhbWVpbmZvKHRiLCBjb250ZXh0KQorICAgICAgICBmcmFtZWxpc3QuYXBwZW5kKEZyYW1lSW5mbygqZnJhbWVpbmZvKSkKICAgICAgICAgdGIgPSB0Yi50Yl9uZXh0CiAgICAgcmV0dXJuIGZyYW1lbGlzdAogCkBAIC0xNTAxLDYgKzE1MDcsMTAgQEAKIAogCiBkZWYgX3NpZ25hdHVyZV9nZXRfdXNlcl9kZWZpbmVkX21ldGhvZChjbHMsIG1ldGhvZF9uYW1lKToKKyAgICAiIiJQcml2YXRlIGhlbHBlci4gQ2hlY2tzIGlmIGBgY2xzYGAgaGFzIGFuIGF0dHJpYnV0ZQorICAgIG5hbWVkIGBgbWV0aG9kX25hbWVgYCBhbmQgcmV0dXJucyBpdCBvbmx5IGlmIGl0IGlzIGEKKyAgICBwdXJlIHB5dGhvbiBmdW5jdGlvbi4KKyAgICAiIiIKICAgICB0cnk6CiAgICAgICAgIG1ldGggPSBnZXRhdHRyKGNscywgbWV0aG9kX25hbWUpCiAgICAgZXhjZXB0IEF0dHJpYnV0ZUVycm9yOgpAQCAtMTUxMyw5ICsxNTIzLDEwIEBACiAKIAogZGVmIF9zaWduYXR1cmVfZ2V0X3BhcnRpYWwod3JhcHBlZF9zaWcsIHBhcnRpYWwsIGV4dHJhX2FyZ3M9KCkpOgotICAgICMgSW50ZXJuYWwgaGVscGVyIHRvIGNhbGN1bGF0ZSBob3cgJ3dyYXBwZWRfc2lnJyBzaWduYXR1cmUgd2lsbAotICAgICMgbG9vayBsaWtlIGFmdGVyIGFwcGx5aW5nIGEgJ2Z1bmN0b29scy5wYXJ0aWFsJyBvYmplY3QgKG9yIGFsaWtlKQotICAgICMgb24gaXQuCisgICAgIiIiUHJpdmF0ZSBoZWxwZXIgdG8gY2FsY3VsYXRlIGhvdyAnd3JhcHBlZF9zaWcnIHNpZ25hdHVyZSB3aWxsCisgICAgbG9vayBsaWtlIGFmdGVyIGFwcGx5aW5nIGEgJ2Z1bmN0b29scy5wYXJ0aWFsJyBvYmplY3QgKG9yIGFsaWtlKQorICAgIG9uIGl0LgorICAgICIiIgogCiAgICAgb2xkX3BhcmFtcyA9IHdyYXBwZWRfc2lnLnBhcmFtZXRlcnMKICAgICBuZXdfcGFyYW1zID0gT3JkZXJlZERpY3Qob2xkX3BhcmFtcy5pdGVtcygpKQpAQCAtMTU4OCw4ICsxNTk5LDkgQEAKIAogCiBkZWYgX3NpZ25hdHVyZV9ib3VuZF9tZXRob2Qoc2lnKToKLSAgICAjIEludGVybmFsIGhlbHBlciB0byB0cmFuc2Zvcm0gc2lnbmF0dXJlcyBmb3IgdW5ib3VuZAotICAgICMgZnVuY3Rpb25zIHRvIGJvdW5kIG1ldGhvZHMKKyAgICAiIiJQcml2YXRlIGhlbHBlciB0byB0cmFuc2Zvcm0gc2lnbmF0dXJlcyBmb3IgdW5ib3VuZAorICAgIGZ1bmN0aW9ucyB0byBib3VuZCBtZXRob2RzLgorICAgICIiIgogCiAgICAgcGFyYW1zID0gdHVwbGUoc2lnLnBhcmFtZXRlcnMudmFsdWVzKCkpCiAKQEAgLTE2MTMsOCArMTYyNSw5IEBACiAKIAogZGVmIF9zaWduYXR1cmVfaXNfYnVpbHRpbihvYmopOgotICAgICMgSW50ZXJuYWwgaGVscGVyIHRvIHRlc3QgaWYgYG9iamAgaXMgYSBjYWxsYWJsZSB0aGF0IG1pZ2h0Ci0gICAgIyBzdXBwb3J0IEFyZ3VtZW50IENsaW5pYydzIF9fdGV4dF9zaWduYXR1cmVfXyBwcm90b2NvbC4KKyAgICAiIiJQcml2YXRlIGhlbHBlciB0byB0ZXN0IGlmIGBvYmpgIGlzIGEgY2FsbGFibGUgdGhhdCBtaWdodAorICAgIHN1cHBvcnQgQXJndW1lbnQgQ2xpbmljJ3MgX190ZXh0X3NpZ25hdHVyZV9fIHByb3RvY29sLgorICAgICIiIgogICAgIHJldHVybiAoaXNidWlsdGluKG9iaikgb3IKICAgICAgICAgICAgIGlzbWV0aG9kZGVzY3JpcHRvcihvYmopIG9yCiAgICAgICAgICAgICBpc2luc3RhbmNlKG9iaiwgX05vblVzZXJEZWZpbmVkQ2FsbGFibGVzKSBvcgpAQCAtMTYyNCwxMCArMTYzNywxMSBAQAogCiAKIGRlZiBfc2lnbmF0dXJlX2lzX2Z1bmN0aW9ubGlrZShvYmopOgotICAgICMgSW50ZXJuYWwgaGVscGVyIHRvIHRlc3QgaWYgYG9iamAgaXMgYSBkdWNrIHR5cGUgb2YgRnVuY3Rpb25UeXBlLgotICAgICMgQSBnb29kIGV4YW1wbGUgb2Ygc3VjaCBvYmplY3RzIGFyZSBmdW5jdGlvbnMgY29tcGlsZWQgd2l0aAotICAgICMgQ3l0aG9uLCB3aGljaCBoYXZlIGFsbCBhdHRyaWJ1dGVzIHRoYXQgYSBwdXJlIFB5dGhvbiBmdW5jdGlvbgotICAgICMgd291bGQgaGF2ZSwgYnV0IGhhdmUgdGhlaXIgY29kZSBzdGF0aWNhbGx5IGNvbXBpbGVkLgorICAgICIiIlByaXZhdGUgaGVscGVyIHRvIHRlc3QgaWYgYG9iamAgaXMgYSBkdWNrIHR5cGUgb2YgRnVuY3Rpb25UeXBlLgorICAgIEEgZ29vZCBleGFtcGxlIG9mIHN1Y2ggb2JqZWN0cyBhcmUgZnVuY3Rpb25zIGNvbXBpbGVkIHdpdGgKKyAgICBDeXRob24sIHdoaWNoIGhhdmUgYWxsIGF0dHJpYnV0ZXMgdGhhdCBhIHB1cmUgUHl0aG9uIGZ1bmN0aW9uCisgICAgd291bGQgaGF2ZSwgYnV0IGhhdmUgdGhlaXIgY29kZSBzdGF0aWNhbGx5IGNvbXBpbGVkLgorICAgICIiIgogCiAgICAgaWYgbm90IGNhbGxhYmxlKG9iaikgb3IgaXNjbGFzcyhvYmopOgogICAgICAgICAjIEFsbCBmdW5jdGlvbi1saWtlIG9iamVjdHMgYXJlIG9idmlvdXNseSBjYWxsYWJsZXMsCkBAIC0xNjQ4LDExICsxNjYyLDEyIEBACiAKIAogZGVmIF9zaWduYXR1cmVfZ2V0X2JvdW5kX3BhcmFtKHNwZWMpOgotICAgICMgSW50ZXJuYWwgaGVscGVyIHRvIGdldCBmaXJzdCBwYXJhbWV0ZXIgbmFtZSBmcm9tIGEKLSAgICAjIF9fdGV4dF9zaWduYXR1cmVfXyBvZiBhIGJ1aWx0aW4gbWV0aG9kLCB3aGljaCBzaG91bGQKLSAgICAjIGJlIGluIHRoZSBmb2xsb3dpbmcgZm9ybWF0OiAnKCRwYXJhbTEsIC4uLiknLgotICAgICMgQXNzdW1wdGlvbnMgYXJlIHRoYXQgdGhlIGZpcnN0IGFyZ3VtZW50IHdvbid0IGhhdmUKLSAgICAjIGEgZGVmYXVsdCB2YWx1ZSBvciBhbiBhbm5vdGF0aW9uLgorICAgICIiIiBQcml2YXRlIGhlbHBlciB0byBnZXQgZmlyc3QgcGFyYW1ldGVyIG5hbWUgZnJvbSBhCisgICAgX190ZXh0X3NpZ25hdHVyZV9fIG9mIGEgYnVpbHRpbiBtZXRob2QsIHdoaWNoIHNob3VsZAorICAgIGJlIGluIHRoZSBmb2xsb3dpbmcgZm9ybWF0OiAnKCRwYXJhbTEsIC4uLiknLgorICAgIEFzc3VtcHRpb25zIGFyZSB0aGF0IHRoZSBmaXJzdCBhcmd1bWVudCB3b24ndCBoYXZlCisgICAgYSBkZWZhdWx0IHZhbHVlIG9yIGFuIGFubm90YXRpb24uCisgICAgIiIiCiAKICAgICBhc3NlcnQgc3BlYy5zdGFydHN3aXRoKCcoJCcpCiAKQEAgLTE2NzEsNyArMTY4Niw5IEBACiAKIGRlZiBfc2lnbmF0dXJlX3N0cmlwX25vbl9weXRob25fc3ludGF4KHNpZ25hdHVyZSk6CiAgICAgIiIiCi0gICAgVGFrZXMgYSBzaWduYXR1cmUgaW4gQXJndW1lbnQgQ2xpbmljJ3MgZXh0ZW5kZWQgc2lnbmF0dXJlIGZvcm1hdC4KKyAgICBQcml2YXRlIGhlbHBlciBmdW5jdGlvbi4gVGFrZXMgYSBzaWduYXR1cmUgaW4gQXJndW1lbnQgQ2xpbmljJ3MKKyAgICBleHRlbmRlZCBzaWduYXR1cmUgZm9ybWF0LgorCiAgICAgUmV0dXJucyBhIHR1cGxlIG9mIHRocmVlIHRoaW5nczoKICAgICAgICogdGhhdCBzaWduYXR1cmUgcmUtcmVuZGVyZWQgaW4gc3RhbmRhcmQgUHl0aG9uIHN5bnRheCwKICAgICAgICogdGhlIGluZGV4IG9mIHRoZSAic2VsZiIgcGFyYW1ldGVyIChnZW5lcmFsbHkgMCksIG9yIE5vbmUgaWYKQEAgLTE3NDAsOCArMTc1NywxMCBAQAogCiAKIGRlZiBfc2lnbmF0dXJlX2Zyb21zdHIoY2xzLCBvYmosIHMsIHNraXBfYm91bmRfYXJnPVRydWUpOgotICAgICMgSW50ZXJuYWwgaGVscGVyIHRvIHBhcnNlIGNvbnRlbnQgb2YgJ19fdGV4dF9zaWduYXR1cmVfXycKLSAgICAjIGFuZCByZXR1cm4gYSBTaWduYXR1cmUgYmFzZWQgb24gaXQKKyAgICAiIiJQcml2YXRlIGhlbHBlciB0byBwYXJzZSBjb250ZW50IG9mICdfX3RleHRfc2lnbmF0dXJlX18nCisgICAgYW5kIHJldHVybiBhIFNpZ25hdHVyZSBiYXNlZCBvbiBpdC4KKyAgICAiIiIKKwogICAgIFBhcmFtZXRlciA9IGNscy5fcGFyYW1ldGVyX2NscwogCiAgICAgY2xlYW5fc2lnbmF0dXJlLCBzZWxmX3BhcmFtZXRlciwgbGFzdF9wb3NpdGlvbmFsX29ubHkgPSBcCkBAIC0xODc5LDggKzE4OTgsMTAgQEAKIAogCiBkZWYgX3NpZ25hdHVyZV9mcm9tX2J1aWx0aW4oY2xzLCBmdW5jLCBza2lwX2JvdW5kX2FyZz1UcnVlKToKLSAgICAjIEludGVybmFsIGhlbHBlciBmdW5jdGlvbiB0byBnZXQgc2lnbmF0dXJlIGZvcgotICAgICMgYnVpbHRpbiBjYWxsYWJsZXMKKyAgICAiIiJQcml2YXRlIGhlbHBlciBmdW5jdGlvbiB0byBnZXQgc2lnbmF0dXJlIGZvcgorICAgIGJ1aWx0aW4gY2FsbGFibGVzLgorICAgICIiIgorCiAgICAgaWYgbm90IF9zaWduYXR1cmVfaXNfYnVpbHRpbihmdW5jKToKICAgICAgICAgcmFpc2UgVHlwZUVycm9yKCJ7IXJ9IGlzIG5vdCBhIFB5dGhvbiBidWlsdGluICIKICAgICAgICAgICAgICAgICAgICAgICAgICJmdW5jdGlvbiIuZm9ybWF0KGZ1bmMpKQpAQCAtMTg5Miw3ICsxOTEzLDE0IEBACiAgICAgcmV0dXJuIF9zaWduYXR1cmVfZnJvbXN0cihjbHMsIGZ1bmMsIHMsIHNraXBfYm91bmRfYXJnKQogCiAKLWRlZiBfc2lnbmF0dXJlX2ludGVybmFsKG9iaiwgZm9sbG93X3dyYXBwZXJfY2hhaW5zPVRydWUsIHNraXBfYm91bmRfYXJnPVRydWUpOgorZGVmIF9zaWduYXR1cmVfZnJvbV9jYWxsYWJsZShvYmosICosCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbGxvd193cmFwcGVyX2NoYWlucz1UcnVlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBza2lwX2JvdW5kX2FyZz1UcnVlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaWdjbHMpOgorCisgICAgIiIiUHJpdmF0ZSBoZWxwZXIgZnVuY3Rpb24gdG8gZ2V0IHNpZ25hdHVyZSBmb3IgYXJiaXRyYXJ5CisgICAgY2FsbGFibGUgb2JqZWN0cy4KKyAgICAiIiIKIAogICAgIGlmIG5vdCBjYWxsYWJsZShvYmopOgogICAgICAgICByYWlzZSBUeXBlRXJyb3IoJ3shcn0gaXMgbm90IGEgY2FsbGFibGUgb2JqZWN0Jy5mb3JtYXQob2JqKSkKQEAgLTE5MDAsOSArMTkyOCwxMiBAQAogICAgIGlmIGlzaW5zdGFuY2Uob2JqLCB0eXBlcy5NZXRob2RUeXBlKToKICAgICAgICAgIyBJbiB0aGlzIGNhc2Ugd2Ugc2tpcCB0aGUgZmlyc3QgcGFyYW1ldGVyIG9mIHRoZSB1bmRlcmx5aW5nCiAgICAgICAgICMgZnVuY3Rpb24gKHVzdWFsbHkgYHNlbGZgIG9yIGBjbHNgKS4KLSAgICAgICAgc2lnID0gX3NpZ25hdHVyZV9pbnRlcm5hbChvYmouX19mdW5jX18sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9sbG93X3dyYXBwZXJfY2hhaW5zLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNraXBfYm91bmRfYXJnKQorICAgICAgICBzaWcgPSBfc2lnbmF0dXJlX2Zyb21fY2FsbGFibGUoCisgICAgICAgICAgICBvYmouX19mdW5jX18sCisgICAgICAgICAgICBmb2xsb3dfd3JhcHBlcl9jaGFpbnM9Zm9sbG93X3dyYXBwZXJfY2hhaW5zLAorICAgICAgICAgICAgc2tpcF9ib3VuZF9hcmc9c2tpcF9ib3VuZF9hcmcsCisgICAgICAgICAgICBzaWdjbHM9c2lnY2xzKQorCiAgICAgICAgIGlmIHNraXBfYm91bmRfYXJnOgogICAgICAgICAgICAgcmV0dXJuIF9zaWduYXR1cmVfYm91bmRfbWV0aG9kKHNpZykKICAgICAgICAgZWxzZToKQEAgLTE5MzcsOSArMTk2OCwxMiBAQAogICAgICAgICAgICAgIyAodXN1YWxseSBgc2VsZmAsIG9yIGBjbHNgKSB3aWxsIG5vdCBiZSBwYXNzZWQKICAgICAgICAgICAgICMgYXV0b21hdGljYWxseSAoYXMgZm9yIGJvdW5kbWV0aG9kcykKIAotICAgICAgICAgICAgd3JhcHBlZF9zaWcgPSBfc2lnbmF0dXJlX2ludGVybmFsKHBhcnRpYWxtZXRob2QuZnVuYywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb2xsb3dfd3JhcHBlcl9jaGFpbnMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2tpcF9ib3VuZF9hcmcpCisgICAgICAgICAgICB3cmFwcGVkX3NpZyA9IF9zaWduYXR1cmVfZnJvbV9jYWxsYWJsZSgKKyAgICAgICAgICAgICAgICBwYXJ0aWFsbWV0aG9kLmZ1bmMsCisgICAgICAgICAgICAgICAgZm9sbG93X3dyYXBwZXJfY2hhaW5zPWZvbGxvd193cmFwcGVyX2NoYWlucywKKyAgICAgICAgICAgICAgICBza2lwX2JvdW5kX2FyZz1za2lwX2JvdW5kX2FyZywKKyAgICAgICAgICAgICAgICBzaWdjbHM9c2lnY2xzKQorCiAgICAgICAgICAgICBzaWcgPSBfc2lnbmF0dXJlX2dldF9wYXJ0aWFsKHdyYXBwZWRfc2lnLCBwYXJ0aWFsbWV0aG9kLCAoTm9uZSwpKQogCiAgICAgICAgICAgICBmaXJzdF93cmFwcGVkX3BhcmFtID0gdHVwbGUod3JhcHBlZF9zaWcucGFyYW1ldGVycy52YWx1ZXMoKSlbMF0KQEAgLTE5NTAsMTYgKzE5ODQsMTggQEAKICAgICBpZiBpc2Z1bmN0aW9uKG9iaikgb3IgX3NpZ25hdHVyZV9pc19mdW5jdGlvbmxpa2Uob2JqKToKICAgICAgICAgIyBJZiBpdCdzIGEgcHVyZSBQeXRob24gZnVuY3Rpb24sIG9yIGFuIG9iamVjdCB0aGF0IGlzIGR1Y2sgdHlwZQogICAgICAgICAjIG9mIGEgUHl0aG9uIGZ1bmN0aW9uIChDeXRob24gZnVuY3Rpb25zLCBmb3IgaW5zdGFuY2UpLCB0aGVuOgotICAgICAgICByZXR1cm4gU2lnbmF0dXJlLmZyb21fZnVuY3Rpb24ob2JqKQorICAgICAgICByZXR1cm4gc2lnY2xzLmZyb21fZnVuY3Rpb24ob2JqKQogCiAgICAgaWYgX3NpZ25hdHVyZV9pc19idWlsdGluKG9iaik6Ci0gICAgICAgIHJldHVybiBfc2lnbmF0dXJlX2Zyb21fYnVpbHRpbihTaWduYXR1cmUsIG9iaiwKKyAgICAgICAgcmV0dXJuIF9zaWduYXR1cmVfZnJvbV9idWlsdGluKHNpZ2Nscywgb2JqLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2tpcF9ib3VuZF9hcmc9c2tpcF9ib3VuZF9hcmcpCiAKICAgICBpZiBpc2luc3RhbmNlKG9iaiwgZnVuY3Rvb2xzLnBhcnRpYWwpOgotICAgICAgICB3cmFwcGVkX3NpZyA9IF9zaWduYXR1cmVfaW50ZXJuYWwob2JqLmZ1bmMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb2xsb3dfd3JhcHBlcl9jaGFpbnMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBza2lwX2JvdW5kX2FyZykKKyAgICAgICAgd3JhcHBlZF9zaWcgPSBfc2lnbmF0dXJlX2Zyb21fY2FsbGFibGUoCisgICAgICAgICAgICBvYmouZnVuYywKKyAgICAgICAgICAgIGZvbGxvd193cmFwcGVyX2NoYWlucz1mb2xsb3dfd3JhcHBlcl9jaGFpbnMsCisgICAgICAgICAgICBza2lwX2JvdW5kX2FyZz1za2lwX2JvdW5kX2FyZywKKyAgICAgICAgICAgIHNpZ2Nscz1zaWdjbHMpCiAgICAgICAgIHJldHVybiBfc2lnbmF0dXJlX2dldF9wYXJ0aWFsKHdyYXBwZWRfc2lnLCBvYmopCiAKICAgICBzaWcgPSBOb25lCkBAIC0xOTcwLDIzICsyMDA2LDI5IEBACiAgICAgICAgICMgaW4gaXRzIG1ldGFjbGFzcwogICAgICAgICBjYWxsID0gX3NpZ25hdHVyZV9nZXRfdXNlcl9kZWZpbmVkX21ldGhvZCh0eXBlKG9iaiksICdfX2NhbGxfXycpCiAgICAgICAgIGlmIGNhbGwgaXMgbm90IE5vbmU6Ci0gICAgICAgICAgICBzaWcgPSBfc2lnbmF0dXJlX2ludGVybmFsKGNhbGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbGxvd193cmFwcGVyX2NoYWlucywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2tpcF9ib3VuZF9hcmcpCisgICAgICAgICAgICBzaWcgPSBfc2lnbmF0dXJlX2Zyb21fY2FsbGFibGUoCisgICAgICAgICAgICAgICAgY2FsbCwKKyAgICAgICAgICAgICAgICBmb2xsb3dfd3JhcHBlcl9jaGFpbnM9Zm9sbG93X3dyYXBwZXJfY2hhaW5zLAorICAgICAgICAgICAgICAgIHNraXBfYm91bmRfYXJnPXNraXBfYm91bmRfYXJnLAorICAgICAgICAgICAgICAgIHNpZ2Nscz1zaWdjbHMpCiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAjIE5vdyB3ZSBjaGVjayBpZiB0aGUgJ29iaicgY2xhc3MgaGFzIGEgJ19fbmV3X18nIG1ldGhvZAogICAgICAgICAgICAgbmV3ID0gX3NpZ25hdHVyZV9nZXRfdXNlcl9kZWZpbmVkX21ldGhvZChvYmosICdfX25ld19fJykKICAgICAgICAgICAgIGlmIG5ldyBpcyBub3QgTm9uZToKLSAgICAgICAgICAgICAgICBzaWcgPSBfc2lnbmF0dXJlX2ludGVybmFsKG5ldywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbGxvd193cmFwcGVyX2NoYWlucywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNraXBfYm91bmRfYXJnKQorICAgICAgICAgICAgICAgIHNpZyA9IF9zaWduYXR1cmVfZnJvbV9jYWxsYWJsZSgKKyAgICAgICAgICAgICAgICAgICAgbmV3LAorICAgICAgICAgICAgICAgICAgICBmb2xsb3dfd3JhcHBlcl9jaGFpbnM9Zm9sbG93X3dyYXBwZXJfY2hhaW5zLAorICAgICAgICAgICAgICAgICAgICBza2lwX2JvdW5kX2FyZz1za2lwX2JvdW5kX2FyZywKKyAgICAgICAgICAgICAgICAgICAgc2lnY2xzPXNpZ2NscykKICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgIyBGaW5hbGx5LCB3ZSBzaG91bGQgaGF2ZSBhdCBsZWFzdCBfX2luaXRfXyBpbXBsZW1lbnRlZAogICAgICAgICAgICAgICAgIGluaXQgPSBfc2lnbmF0dXJlX2dldF91c2VyX2RlZmluZWRfbWV0aG9kKG9iaiwgJ19faW5pdF9fJykKICAgICAgICAgICAgICAgICBpZiBpbml0IGlzIG5vdCBOb25lOgotICAgICAgICAgICAgICAgICAgICBzaWcgPSBfc2lnbmF0dXJlX2ludGVybmFsKGluaXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9sbG93X3dyYXBwZXJfY2hhaW5zLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNraXBfYm91bmRfYXJnKQorICAgICAgICAgICAgICAgICAgICBzaWcgPSBfc2lnbmF0dXJlX2Zyb21fY2FsbGFibGUoCisgICAgICAgICAgICAgICAgICAgICAgICBpbml0LAorICAgICAgICAgICAgICAgICAgICAgICAgZm9sbG93X3dyYXBwZXJfY2hhaW5zPWZvbGxvd193cmFwcGVyX2NoYWlucywKKyAgICAgICAgICAgICAgICAgICAgICAgIHNraXBfYm91bmRfYXJnPXNraXBfYm91bmRfYXJnLAorICAgICAgICAgICAgICAgICAgICAgICAgc2lnY2xzPXNpZ2NscykKIAogICAgICAgICBpZiBzaWcgaXMgTm9uZToKICAgICAgICAgICAgICMgQXQgdGhpcyBwb2ludCB3ZSBrbm93LCB0aGF0IGBvYmpgIGlzIGEgY2xhc3MsIHdpdGggbm8gdXNlci0KQEAgLTIwMDgsNyArMjA1MCw3IEBACiAgICAgICAgICAgICAgICAgICAgIGlmIHRleHRfc2lnOgogICAgICAgICAgICAgICAgICAgICAgICAgIyBJZiAnb2JqJyBjbGFzcyBoYXMgYSBfX3RleHRfc2lnbmF0dXJlX18gYXR0cmlidXRlOgogICAgICAgICAgICAgICAgICAgICAgICAgIyByZXR1cm4gYSBzaWduYXR1cmUgYmFzZWQgb24gaXQKLSAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBfc2lnbmF0dXJlX2Zyb21zdHIoU2lnbmF0dXJlLCBvYmosIHRleHRfc2lnKQorICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIF9zaWduYXR1cmVfZnJvbXN0cihzaWdjbHMsIG9iaiwgdGV4dF9zaWcpCiAKICAgICAgICAgICAgICMgTm8gJ19fdGV4dF9zaWduYXR1cmVfXycgd2FzIGZvdW5kIGZvciB0aGUgJ29iaicgY2xhc3MuCiAgICAgICAgICAgICAjIExhc3Qgb3B0aW9uIGlzIHRvIGNoZWNrIGlmIGl0cyAnX19pbml0X18nIGlzCkBAIC0yMDI4LDkgKzIwNzAsMTEgQEAKICAgICAgICAgY2FsbCA9IF9zaWduYXR1cmVfZ2V0X3VzZXJfZGVmaW5lZF9tZXRob2QodHlwZShvYmopLCAnX19jYWxsX18nKQogICAgICAgICBpZiBjYWxsIGlzIG5vdCBOb25lOgogICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgIHNpZyA9IF9zaWduYXR1cmVfaW50ZXJuYWwoY2FsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbGxvd193cmFwcGVyX2NoYWlucywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNraXBfYm91bmRfYXJnKQorICAgICAgICAgICAgICAgIHNpZyA9IF9zaWduYXR1cmVfZnJvbV9jYWxsYWJsZSgKKyAgICAgICAgICAgICAgICAgICAgY2FsbCwKKyAgICAgICAgICAgICAgICAgICAgZm9sbG93X3dyYXBwZXJfY2hhaW5zPWZvbGxvd193cmFwcGVyX2NoYWlucywKKyAgICAgICAgICAgICAgICAgICAgc2tpcF9ib3VuZF9hcmc9c2tpcF9ib3VuZF9hcmcsCisgICAgICAgICAgICAgICAgICAgIHNpZ2Nscz1zaWdjbHMpCiAgICAgICAgICAgICBleGNlcHQgVmFsdWVFcnJvciBhcyBleDoKICAgICAgICAgICAgICAgICBtc2cgPSAnbm8gc2lnbmF0dXJlIGZvdW5kIGZvciB7IXJ9Jy5mb3JtYXQob2JqKQogICAgICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IobXNnKSBmcm9tIGV4CkBAIC0yMDUwLDQxICsyMDk0LDM1IEBACiAKICAgICByYWlzZSBWYWx1ZUVycm9yKCdjYWxsYWJsZSB7IXJ9IGlzIG5vdCBzdXBwb3J0ZWQgYnkgc2lnbmF0dXJlJy5mb3JtYXQob2JqKSkKIAotZGVmIHNpZ25hdHVyZShvYmopOgotICAgICcnJ0dldCBhIHNpZ25hdHVyZSBvYmplY3QgZm9yIHRoZSBwYXNzZWQgY2FsbGFibGUuJycnCi0gICAgcmV0dXJuIF9zaWduYXR1cmVfaW50ZXJuYWwob2JqKQotCiAKIGNsYXNzIF92b2lkOgotICAgICcnJ0EgcHJpdmF0ZSBtYXJrZXIgLSB1c2VkIGluIFBhcmFtZXRlciAmIFNpZ25hdHVyZScnJworICAgICIiIkEgcHJpdmF0ZSBtYXJrZXIgLSB1c2VkIGluIFBhcmFtZXRlciAmIFNpZ25hdHVyZS4iIiIKIAogCiBjbGFzcyBfZW1wdHk6Ci0gICAgcGFzcworICAgICIiIk1hcmtlciBvYmplY3QgZm9yIFNpZ25hdHVyZS5lbXB0eSBhbmQgUGFyYW1ldGVyLmVtcHR5LiIiIgogCiAKLWNsYXNzIF9QYXJhbWV0ZXJLaW5kKGludCk6Ci0gICAgZGVmIF9fbmV3X18oc2VsZiwgKmFyZ3MsIG5hbWUpOgotICAgICAgICBvYmogPSBpbnQuX19uZXdfXyhzZWxmLCAqYXJncykKLSAgICAgICAgb2JqLl9uYW1lID0gbmFtZQotICAgICAgICByZXR1cm4gb2JqCitjbGFzcyBfUGFyYW1ldGVyS2luZChlbnVtLkludEVudW0pOgorICAgIFBPU0lUSU9OQUxfT05MWSA9IDAKKyAgICBQT1NJVElPTkFMX09SX0tFWVdPUkQgPSAxCisgICAgVkFSX1BPU0lUSU9OQUwgPSAyCisgICAgS0VZV09SRF9PTkxZID0gMworICAgIFZBUl9LRVlXT1JEID0gNAogCiAgICAgZGVmIF9fc3RyX18oc2VsZik6Ci0gICAgICAgIHJldHVybiBzZWxmLl9uYW1lCi0KLSAgICBkZWYgX19yZXByX18oc2VsZik6Ci0gICAgICAgIHJldHVybiAnPF9QYXJhbWV0ZXJLaW5kOiB7IXJ9PicuZm9ybWF0KHNlbGYuX25hbWUpCisgICAgICAgIHJldHVybiBzZWxmLl9uYW1lXwogCiAKLV9QT1NJVElPTkFMX09OTFkgICAgICAgID0gX1BhcmFtZXRlcktpbmQoMCwgbmFtZT0nUE9TSVRJT05BTF9PTkxZJykKLV9QT1NJVElPTkFMX09SX0tFWVdPUkQgID0gX1BhcmFtZXRlcktpbmQoMSwgbmFtZT0nUE9TSVRJT05BTF9PUl9LRVlXT1JEJykKLV9WQVJfUE9TSVRJT05BTCAgICAgICAgID0gX1BhcmFtZXRlcktpbmQoMiwgbmFtZT0nVkFSX1BPU0lUSU9OQUwnKQotX0tFWVdPUkRfT05MWSAgICAgICAgICAgPSBfUGFyYW1ldGVyS2luZCgzLCBuYW1lPSdLRVlXT1JEX09OTFknKQotX1ZBUl9LRVlXT1JEICAgICAgICAgICAgPSBfUGFyYW1ldGVyS2luZCg0LCBuYW1lPSdWQVJfS0VZV09SRCcpCitfUE9TSVRJT05BTF9PTkxZICAgICAgICAgPSBfUGFyYW1ldGVyS2luZC5QT1NJVElPTkFMX09OTFkKK19QT1NJVElPTkFMX09SX0tFWVdPUkQgICA9IF9QYXJhbWV0ZXJLaW5kLlBPU0lUSU9OQUxfT1JfS0VZV09SRAorX1ZBUl9QT1NJVElPTkFMICAgICAgICAgID0gX1BhcmFtZXRlcktpbmQuVkFSX1BPU0lUSU9OQUwKK19LRVlXT1JEX09OTFkgICAgICAgICAgICA9IF9QYXJhbWV0ZXJLaW5kLktFWVdPUkRfT05MWQorX1ZBUl9LRVlXT1JEICAgICAgICAgICAgID0gX1BhcmFtZXRlcktpbmQuVkFSX0tFWVdPUkQKIAogCiBjbGFzcyBQYXJhbWV0ZXI6Ci0gICAgJycnUmVwcmVzZW50cyBhIHBhcmFtZXRlciBpbiBhIGZ1bmN0aW9uIHNpZ25hdHVyZS4KKyAgICAiIiJSZXByZXNlbnRzIGEgcGFyYW1ldGVyIGluIGEgZnVuY3Rpb24gc2lnbmF0dXJlLgogCiAgICAgSGFzIHRoZSBmb2xsb3dpbmcgcHVibGljIGF0dHJpYnV0ZXM6CiAKQEAgLTIxMDMsNyArMjE0MSw3IEBACiAgICAgICAgIFBvc3NpYmxlIHZhbHVlczogYFBhcmFtZXRlci5QT1NJVElPTkFMX09OTFlgLAogICAgICAgICBgUGFyYW1ldGVyLlBPU0lUSU9OQUxfT1JfS0VZV09SRGAsIGBQYXJhbWV0ZXIuVkFSX1BPU0lUSU9OQUxgLAogICAgICAgICBgUGFyYW1ldGVyLktFWVdPUkRfT05MWWAsIGBQYXJhbWV0ZXIuVkFSX0tFWVdPUkRgLgotICAgICcnJworICAgICIiIgogCiAgICAgX19zbG90c19fID0gKCdfbmFtZScsICdfa2luZCcsICdfZGVmYXVsdCcsICdfYW5ub3RhdGlvbicpCiAKQEAgLTIxNDAsNiArMjE3OCwxNiBAQAogCiAgICAgICAgIHNlbGYuX25hbWUgPSBuYW1lCiAKKyAgICBkZWYgX19yZWR1Y2VfXyhzZWxmKToKKyAgICAgICAgcmV0dXJuICh0eXBlKHNlbGYpLAorICAgICAgICAgICAgICAgIChzZWxmLl9uYW1lLCBzZWxmLl9raW5kKSwKKyAgICAgICAgICAgICAgICB7J19kZWZhdWx0Jzogc2VsZi5fZGVmYXVsdCwKKyAgICAgICAgICAgICAgICAgJ19hbm5vdGF0aW9uJzogc2VsZi5fYW5ub3RhdGlvbn0pCisKKyAgICBkZWYgX19zZXRzdGF0ZV9fKHNlbGYsIHN0YXRlKToKKyAgICAgICAgc2VsZi5fZGVmYXVsdCA9IHN0YXRlWydfZGVmYXVsdCddCisgICAgICAgIHNlbGYuX2Fubm90YXRpb24gPSBzdGF0ZVsnX2Fubm90YXRpb24nXQorCiAgICAgQHByb3BlcnR5CiAgICAgZGVmIG5hbWUoc2VsZik6CiAgICAgICAgIHJldHVybiBzZWxmLl9uYW1lCkBAIC0yMTU4LDcgKzIyMDYsNyBAQAogCiAgICAgZGVmIHJlcGxhY2Uoc2VsZiwgKiwgbmFtZT1fdm9pZCwga2luZD1fdm9pZCwKICAgICAgICAgICAgICAgICBhbm5vdGF0aW9uPV92b2lkLCBkZWZhdWx0PV92b2lkKToKLSAgICAgICAgJycnQ3JlYXRlcyBhIGN1c3RvbWl6ZWQgY29weSBvZiB0aGUgUGFyYW1ldGVyLicnJworICAgICAgICAiIiJDcmVhdGVzIGEgY3VzdG9taXplZCBjb3B5IG9mIHRoZSBQYXJhbWV0ZXIuIiIiCiAKICAgICAgICAgaWYgbmFtZSBpcyBfdm9pZDoKICAgICAgICAgICAgIG5hbWUgPSBzZWxmLl9uYW1lCkBAIC0yMTk0LDggKzIyNDIsMTEgQEAKICAgICAgICAgcmV0dXJuIGZvcm1hdHRlZAogCiAgICAgZGVmIF9fcmVwcl9fKHNlbGYpOgotICAgICAgICByZXR1cm4gJzx7fSBhdCB7OiN4fSB7IXJ9PicuZm9ybWF0KHNlbGYuX19jbGFzc19fLl9fbmFtZV9fLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkKHNlbGYpLCBzZWxmLm5hbWUpCisgICAgICAgIHJldHVybiAnPHt9IGF0IHs6I3h9ICJ7fSI+Jy5mb3JtYXQoc2VsZi5fX2NsYXNzX18uX19uYW1lX18sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQoc2VsZiksIHNlbGYpCisKKyAgICBkZWYgX19oYXNoX18oc2VsZik6CisgICAgICAgIHJldHVybiBoYXNoKChzZWxmLm5hbWUsIHNlbGYua2luZCwgc2VsZi5hbm5vdGF0aW9uLCBzZWxmLmRlZmF1bHQpKQogCiAgICAgZGVmIF9fZXFfXyhzZWxmLCBvdGhlcik6CiAgICAgICAgIHJldHVybiAoaXNzdWJjbGFzcyhvdGhlci5fX2NsYXNzX18sIFBhcmFtZXRlcikgYW5kCkBAIC0yMjA0LDEyICsyMjU1LDkgQEAKICAgICAgICAgICAgICAgICBzZWxmLl9kZWZhdWx0ID09IG90aGVyLl9kZWZhdWx0IGFuZAogICAgICAgICAgICAgICAgIHNlbGYuX2Fubm90YXRpb24gPT0gb3RoZXIuX2Fubm90YXRpb24pCiAKLSAgICBkZWYgX19uZV9fKHNlbGYsIG90aGVyKToKLSAgICAgICAgcmV0dXJuIG5vdCBzZWxmLl9fZXFfXyhvdGhlcikKLQogCiBjbGFzcyBCb3VuZEFyZ3VtZW50czoKLSAgICAnJydSZXN1bHQgb2YgYFNpZ25hdHVyZS5iaW5kYCBjYWxsLiAgSG9sZHMgdGhlIG1hcHBpbmcgb2YgYXJndW1lbnRzCisgICAgIiIiUmVzdWx0IG9mIGBTaWduYXR1cmUuYmluZGAgY2FsbC4gIEhvbGRzIHRoZSBtYXBwaW5nIG9mIGFyZ3VtZW50cwogICAgIHRvIHRoZSBmdW5jdGlvbidzIHBhcmFtZXRlcnMuCiAKICAgICBIYXMgdGhlIGZvbGxvd2luZyBwdWJsaWMgYXR0cmlidXRlczoKQEAgLTIyMjMsNyArMjI3MSw3IEBACiAgICAgICAgIFR1cGxlIG9mIHBvc2l0aW9uYWwgYXJndW1lbnRzIHZhbHVlcy4KICAgICAqIGt3YXJncyA6IGRpY3QKICAgICAgICAgRGljdCBvZiBrZXl3b3JkIGFyZ3VtZW50cyB2YWx1ZXMuCi0gICAgJycnCisgICAgIiIiCiAKICAgICBkZWYgX19pbml0X18oc2VsZiwgc2lnbmF0dXJlLCBhcmd1bWVudHMpOgogICAgICAgICBzZWxmLmFyZ3VtZW50cyA9IGFyZ3VtZW50cwpAQCAtMjI5MSwxMiArMjMzOSw5IEBACiAgICAgICAgICAgICAgICAgc2VsZi5zaWduYXR1cmUgPT0gb3RoZXIuc2lnbmF0dXJlIGFuZAogICAgICAgICAgICAgICAgIHNlbGYuYXJndW1lbnRzID09IG90aGVyLmFyZ3VtZW50cykKIAotICAgIGRlZiBfX25lX18oc2VsZiwgb3RoZXIpOgotICAgICAgICByZXR1cm4gbm90IHNlbGYuX19lcV9fKG90aGVyKQotCiAKIGNsYXNzIFNpZ25hdHVyZToKLSAgICAnJydBIFNpZ25hdHVyZSBvYmplY3QgcmVwcmVzZW50cyB0aGUgb3ZlcmFsbCBzaWduYXR1cmUgb2YgYSBmdW5jdGlvbi4KKyAgICAiIiJBIFNpZ25hdHVyZSBvYmplY3QgcmVwcmVzZW50cyB0aGUgb3ZlcmFsbCBzaWduYXR1cmUgb2YgYSBmdW5jdGlvbi4KICAgICBJdCBzdG9yZXMgYSBQYXJhbWV0ZXIgb2JqZWN0IGZvciBlYWNoIHBhcmFtZXRlciBhY2NlcHRlZCBieSB0aGUKICAgICBmdW5jdGlvbiwgYXMgd2VsbCBhcyBpbmZvcm1hdGlvbiBzcGVjaWZpYyB0byB0aGUgZnVuY3Rpb24gaXRzZWxmLgogCkBAIC0yMzE2LDcgKzIzNjEsNyBAQAogICAgICogYmluZF9wYXJ0aWFsKCphcmdzLCAqKmt3YXJncykgLT4gQm91bmRBcmd1bWVudHMKICAgICAgICAgQ3JlYXRlcyBhIHBhcnRpYWwgbWFwcGluZyBmcm9tIHBvc2l0aW9uYWwgYW5kIGtleXdvcmQgYXJndW1lbnRzCiAgICAgICAgIHRvIHBhcmFtZXRlcnMgKHNpbXVsYXRpbmcgJ2Z1bmN0b29scy5wYXJ0aWFsJyBiZWhhdmlvci4pCi0gICAgJycnCisgICAgIiIiCiAKICAgICBfX3Nsb3RzX18gPSAoJ19yZXR1cm5fYW5ub3RhdGlvbicsICdfcGFyYW1ldGVycycpCiAKQEAgLTIzMjcsOSArMjM3Miw5IEBACiAKICAgICBkZWYgX19pbml0X18oc2VsZiwgcGFyYW1ldGVycz1Ob25lLCAqLCByZXR1cm5fYW5ub3RhdGlvbj1fZW1wdHksCiAgICAgICAgICAgICAgICAgIF9fdmFsaWRhdGVfcGFyYW1ldGVyc19fPVRydWUpOgotICAgICAgICAnJydDb25zdHJ1Y3RzIFNpZ25hdHVyZSBmcm9tIHRoZSBnaXZlbiBsaXN0IG9mIFBhcmFtZXRlcgorICAgICAgICAiIiJDb25zdHJ1Y3RzIFNpZ25hdHVyZSBmcm9tIHRoZSBnaXZlbiBsaXN0IG9mIFBhcmFtZXRlcgogICAgICAgICBvYmplY3RzIGFuZCAncmV0dXJuX2Fubm90YXRpb24nLiAgQWxsIGFyZ3VtZW50cyBhcmUgb3B0aW9uYWwuCi0gICAgICAgICcnJworICAgICAgICAiIiIKIAogICAgICAgICBpZiBwYXJhbWV0ZXJzIGlzIE5vbmU6CiAgICAgICAgICAgICBwYXJhbXMgPSBPcmRlcmVkRGljdCgpCkBAIC0yMzc4LDcgKzI0MjMsNyBAQAogCiAgICAgQGNsYXNzbWV0aG9kCiAgICAgZGVmIGZyb21fZnVuY3Rpb24oY2xzLCBmdW5jKToKLSAgICAgICAgJycnQ29uc3RydWN0cyBTaWduYXR1cmUgZm9yIHRoZSBnaXZlbiBweXRob24gZnVuY3Rpb24nJycKKyAgICAgICAgIiIiQ29uc3RydWN0cyBTaWduYXR1cmUgZm9yIHRoZSBnaXZlbiBweXRob24gZnVuY3Rpb24uIiIiCiAKICAgICAgICAgaXNfZHVja19mdW5jdGlvbiA9IEZhbHNlCiAgICAgICAgIGlmIG5vdCBpc2Z1bmN0aW9uKGZ1bmMpOgpAQCAtMjQ1OSw4ICsyNTA0LDE0IEBACiAKICAgICBAY2xhc3NtZXRob2QKICAgICBkZWYgZnJvbV9idWlsdGluKGNscywgZnVuYyk6CisgICAgICAgICIiIkNvbnN0cnVjdHMgU2lnbmF0dXJlIGZvciB0aGUgZ2l2ZW4gYnVpbHRpbiBmdW5jdGlvbi4iIiIKICAgICAgICAgcmV0dXJuIF9zaWduYXR1cmVfZnJvbV9idWlsdGluKGNscywgZnVuYykKIAorICAgIEBjbGFzc21ldGhvZAorICAgIGRlZiBmcm9tX2NhbGxhYmxlKGNscywgb2JqKToKKyAgICAgICAgIiIiQ29uc3RydWN0cyBTaWduYXR1cmUgZm9yIHRoZSBnaXZlbiBjYWxsYWJsZSBvYmplY3QuIiIiCisgICAgICAgIHJldHVybiBfc2lnbmF0dXJlX2Zyb21fY2FsbGFibGUob2JqLCBzaWdjbHM9Y2xzKQorCiAgICAgQHByb3BlcnR5CiAgICAgZGVmIHBhcmFtZXRlcnMoc2VsZik6CiAgICAgICAgIHJldHVybiBzZWxmLl9wYXJhbWV0ZXJzCkBAIC0yNDcwLDEwICsyNTIxLDEwIEBACiAgICAgICAgIHJldHVybiBzZWxmLl9yZXR1cm5fYW5ub3RhdGlvbgogCiAgICAgZGVmIHJlcGxhY2Uoc2VsZiwgKiwgcGFyYW1ldGVycz1fdm9pZCwgcmV0dXJuX2Fubm90YXRpb249X3ZvaWQpOgotICAgICAgICAnJydDcmVhdGVzIGEgY3VzdG9taXplZCBjb3B5IG9mIHRoZSBTaWduYXR1cmUuCisgICAgICAgICIiIkNyZWF0ZXMgYSBjdXN0b21pemVkIGNvcHkgb2YgdGhlIFNpZ25hdHVyZS4KICAgICAgICAgUGFzcyAncGFyYW1ldGVycycgYW5kL29yICdyZXR1cm5fYW5ub3RhdGlvbicgYXJndW1lbnRzCiAgICAgICAgIHRvIG92ZXJyaWRlIHRoZW0gaW4gdGhlIG5ldyBjb3B5LgotICAgICAgICAnJycKKyAgICAgICAgIiIiCiAKICAgICAgICAgaWYgcGFyYW1ldGVycyBpcyBfdm9pZDoKICAgICAgICAgICAgIHBhcmFtZXRlcnMgPSBzZWxmLnBhcmFtZXRlcnMudmFsdWVzKCkKQEAgLTI0ODQsNDEgKzI1MzUsMjYgQEAKICAgICAgICAgcmV0dXJuIHR5cGUoc2VsZikocGFyYW1ldGVycywKICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuX2Fubm90YXRpb249cmV0dXJuX2Fubm90YXRpb24pCiAKKyAgICBkZWYgX2hhc2hfYmFzaXMoc2VsZik6CisgICAgICAgIHBhcmFtcyA9IHR1cGxlKHBhcmFtIGZvciBwYXJhbSBpbiBzZWxmLnBhcmFtZXRlcnMudmFsdWVzKCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgcGFyYW0ua2luZCAhPSBfS0VZV09SRF9PTkxZKQorCisgICAgICAgIGt3b19wYXJhbXMgPSB7cGFyYW0ubmFtZTogcGFyYW0gZm9yIHBhcmFtIGluIHNlbGYucGFyYW1ldGVycy52YWx1ZXMoKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIHBhcmFtLmtpbmQgPT0gX0tFWVdPUkRfT05MWX0KKworICAgICAgICByZXR1cm4gcGFyYW1zLCBrd29fcGFyYW1zLCBzZWxmLnJldHVybl9hbm5vdGF0aW9uCisKKyAgICBkZWYgX19oYXNoX18oc2VsZik6CisgICAgICAgIHBhcmFtcywga3dvX3BhcmFtcywgcmV0dXJuX2Fubm90YXRpb24gPSBzZWxmLl9oYXNoX2Jhc2lzKCkKKyAgICAgICAga3dvX3BhcmFtcyA9IGZyb3plbnNldChrd29fcGFyYW1zLnZhbHVlcygpKQorICAgICAgICByZXR1cm4gaGFzaCgocGFyYW1zLCBrd29fcGFyYW1zLCByZXR1cm5fYW5ub3RhdGlvbikpCisKICAgICBkZWYgX19lcV9fKHNlbGYsIG90aGVyKToKLSAgICAgICAgaWYgKG5vdCBpc3N1YmNsYXNzKHR5cGUob3RoZXIpLCBTaWduYXR1cmUpIG9yCi0gICAgICAgICAgICAgICAgICAgIHNlbGYucmV0dXJuX2Fubm90YXRpb24gIT0gb3RoZXIucmV0dXJuX2Fubm90YXRpb24gb3IKLSAgICAgICAgICAgICAgICAgICAgbGVuKHNlbGYucGFyYW1ldGVycykgIT0gbGVuKG90aGVyLnBhcmFtZXRlcnMpKToKLSAgICAgICAgICAgIHJldHVybiBGYWxzZQotCi0gICAgICAgIG90aGVyX3Bvc2l0aW9ucyA9IHtwYXJhbTogaWR4Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgaWR4LCBwYXJhbSBpbiBlbnVtZXJhdGUob3RoZXIucGFyYW1ldGVycy5rZXlzKCkpfQotCi0gICAgICAgIGZvciBpZHgsIChwYXJhbV9uYW1lLCBwYXJhbSkgaW4gZW51bWVyYXRlKHNlbGYucGFyYW1ldGVycy5pdGVtcygpKToKLSAgICAgICAgICAgIGlmIHBhcmFtLmtpbmQgPT0gX0tFWVdPUkRfT05MWToKLSAgICAgICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgICAgIG90aGVyX3BhcmFtID0gb3RoZXIucGFyYW1ldGVyc1twYXJhbV9uYW1lXQotICAgICAgICAgICAgICAgIGV4Y2VwdCBLZXlFcnJvcjoKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEZhbHNlCi0gICAgICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICAgICAgaWYgcGFyYW0gIT0gb3RoZXJfcGFyYW06Ci0gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gRmFsc2UKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgICAgICBvdGhlcl9pZHggPSBvdGhlcl9wb3NpdGlvbnNbcGFyYW1fbmFtZV0KLSAgICAgICAgICAgICAgICBleGNlcHQgS2V5RXJyb3I6Ci0gICAgICAgICAgICAgICAgICAgIHJldHVybiBGYWxzZQotICAgICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgICAgIGlmIChpZHggIT0gb3RoZXJfaWR4IG9yCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJhbSAhPSBvdGhlci5wYXJhbWV0ZXJzW3BhcmFtX25hbWVdKToKLSAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBGYWxzZQotCi0gICAgICAgIHJldHVybiBUcnVlCi0KLSAgICBkZWYgX19uZV9fKHNlbGYsIG90aGVyKToKLSAgICAgICAgcmV0dXJuIG5vdCBzZWxmLl9fZXFfXyhvdGhlcikKKyAgICAgICAgcmV0dXJuIChpc2luc3RhbmNlKG90aGVyLCBTaWduYXR1cmUpIGFuZAorICAgICAgICAgICAgICAgIHNlbGYuX2hhc2hfYmFzaXMoKSA9PSBvdGhlci5faGFzaF9iYXNpcygpKQogCiAgICAgZGVmIF9iaW5kKHNlbGYsIGFyZ3MsIGt3YXJncywgKiwgcGFydGlhbD1GYWxzZSk6Ci0gICAgICAgICcnJ1ByaXZhdGUgbWV0aG9kLiAgRG9uJ3QgdXNlIGRpcmVjdGx5LicnJworICAgICAgICAiIiJQcml2YXRlIG1ldGhvZC4gRG9uJ3QgdXNlIGRpcmVjdGx5LiIiIgogCiAgICAgICAgIGFyZ3VtZW50cyA9IE9yZGVyZWREaWN0KCkKIApAQCAtMjY0NSwxOSArMjY4MSwzMSBAQAogICAgICAgICByZXR1cm4gc2VsZi5fYm91bmRfYXJndW1lbnRzX2NscyhzZWxmLCBhcmd1bWVudHMpCiAKICAgICBkZWYgYmluZCgqYXJncywgKiprd2FyZ3MpOgotICAgICAgICAnJydHZXQgYSBCb3VuZEFyZ3VtZW50cyBvYmplY3QsIHRoYXQgbWFwcyB0aGUgcGFzc2VkIGBhcmdzYAorICAgICAgICAiIiJHZXQgYSBCb3VuZEFyZ3VtZW50cyBvYmplY3QsIHRoYXQgbWFwcyB0aGUgcGFzc2VkIGBhcmdzYAogICAgICAgICBhbmQgYGt3YXJnc2AgdG8gdGhlIGZ1bmN0aW9uJ3Mgc2lnbmF0dXJlLiAgUmFpc2VzIGBUeXBlRXJyb3JgCiAgICAgICAgIGlmIHRoZSBwYXNzZWQgYXJndW1lbnRzIGNhbiBub3QgYmUgYm91bmQuCi0gICAgICAgICcnJworICAgICAgICAiIiIKICAgICAgICAgcmV0dXJuIGFyZ3NbMF0uX2JpbmQoYXJnc1sxOl0sIGt3YXJncykKIAogICAgIGRlZiBiaW5kX3BhcnRpYWwoKmFyZ3MsICoqa3dhcmdzKToKLSAgICAgICAgJycnR2V0IGEgQm91bmRBcmd1bWVudHMgb2JqZWN0LCB0aGF0IHBhcnRpYWxseSBtYXBzIHRoZQorICAgICAgICAiIiJHZXQgYSBCb3VuZEFyZ3VtZW50cyBvYmplY3QsIHRoYXQgcGFydGlhbGx5IG1hcHMgdGhlCiAgICAgICAgIHBhc3NlZCBgYXJnc2AgYW5kIGBrd2FyZ3NgIHRvIHRoZSBmdW5jdGlvbidzIHNpZ25hdHVyZS4KICAgICAgICAgUmFpc2VzIGBUeXBlRXJyb3JgIGlmIHRoZSBwYXNzZWQgYXJndW1lbnRzIGNhbiBub3QgYmUgYm91bmQuCi0gICAgICAgICcnJworICAgICAgICAiIiIKICAgICAgICAgcmV0dXJuIGFyZ3NbMF0uX2JpbmQoYXJnc1sxOl0sIGt3YXJncywgcGFydGlhbD1UcnVlKQogCisgICAgZGVmIF9fcmVkdWNlX18oc2VsZik6CisgICAgICAgIHJldHVybiAodHlwZShzZWxmKSwKKyAgICAgICAgICAgICAgICAodHVwbGUoc2VsZi5fcGFyYW1ldGVycy52YWx1ZXMoKSksKSwKKyAgICAgICAgICAgICAgICB7J19yZXR1cm5fYW5ub3RhdGlvbic6IHNlbGYuX3JldHVybl9hbm5vdGF0aW9ufSkKKworICAgIGRlZiBfX3NldHN0YXRlX18oc2VsZiwgc3RhdGUpOgorICAgICAgICBzZWxmLl9yZXR1cm5fYW5ub3RhdGlvbiA9IHN0YXRlWydfcmV0dXJuX2Fubm90YXRpb24nXQorCisgICAgZGVmIF9fcmVwcl9fKHNlbGYpOgorICAgICAgICByZXR1cm4gJzx7fSBhdCB7OiN4fSAie30iPicuZm9ybWF0KHNlbGYuX19jbGFzc19fLl9fbmFtZV9fLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkKHNlbGYpLCBzZWxmKQorCiAgICAgZGVmIF9fc3RyX18oc2VsZik6CiAgICAgICAgIHJlc3VsdCA9IFtdCiAgICAgICAgIHJlbmRlcl9wb3Nfb25seV9zZXBhcmF0b3IgPSBGYWxzZQpAQCAtMjcwMyw2ICsyNzUxLDEyIEBACiAKICAgICAgICAgcmV0dXJuIHJlbmRlcmVkCiAKKworZGVmIHNpZ25hdHVyZShvYmopOgorICAgICIiIkdldCBhIHNpZ25hdHVyZSBvYmplY3QgZm9yIHRoZSBwYXNzZWQgY2FsbGFibGUuIiIiCisgICAgcmV0dXJuIFNpZ25hdHVyZS5mcm9tX2NhbGxhYmxlKG9iaikKKworCiBkZWYgX21haW4oKToKICAgICAiIiIgTG9naWMgZm9yIGluc3BlY3RpbmcgYW4gb2JqZWN0IGdpdmVuIGF0IGNvbW1hbmQgbGluZSAiIiIKICAgICBpbXBvcnQgYXJncGFyc2UKZGlmZiAtLWdpdCBhL0xpYi9pcGFkZHJlc3MucHkgYi9MaWIvaXBhZGRyZXNzLnB5CmluZGV4IGFjMDNjMzYuLjZjMjI1ZjMgMTAwNjQ0Ci0tLSBhL0xpYi9pcGFkZHJlc3MucHkKKysrIGIvTGliL2lwYWRkcmVzcy5weQpAQCAtMTY0LDIyICsxNjQsMjMgQEAKIAogCiBkZWYgX2ZpbmRfYWRkcmVzc19yYW5nZShhZGRyZXNzZXMpOgotICAgICIiIkZpbmQgYSBzZXF1ZW5jZSBvZiBJUHYjQWRkcmVzcy4KKyAgICAiIiJGaW5kIGEgc2VxdWVuY2Ugb2Ygc29ydGVkIGRlZHVwbGljYXRlZCBJUHYjQWRkcmVzcy4KIAogICAgIEFyZ3M6CiAgICAgICAgIGFkZHJlc3NlczogYSBsaXN0IG9mIElQdiNBZGRyZXNzIG9iamVjdHMuCiAKLSAgICBSZXR1cm5zOgorICAgIFlpZWxkczoKICAgICAgICAgQSB0dXBsZSBjb250YWluaW5nIHRoZSBmaXJzdCBhbmQgbGFzdCBJUCBhZGRyZXNzZXMgaW4gdGhlIHNlcXVlbmNlLgogCiAgICAgIiIiCi0gICAgZmlyc3QgPSBsYXN0ID0gYWRkcmVzc2VzWzBdCi0gICAgZm9yIGlwIGluIGFkZHJlc3Nlc1sxOl06Ci0gICAgICAgIGlmIGlwLl9pcCA9PSBsYXN0Ll9pcCArIDE6Ci0gICAgICAgICAgICBsYXN0ID0gaXAKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIGJyZWFrCi0gICAgcmV0dXJuIChmaXJzdCwgbGFzdCkKKyAgICBpdCA9IGl0ZXIoYWRkcmVzc2VzKQorICAgIGZpcnN0ID0gbGFzdCA9IG5leHQoaXQpCisgICAgZm9yIGlwIGluIGl0OgorICAgICAgICBpZiBpcC5faXAgIT0gbGFzdC5faXAgKyAxOgorICAgICAgICAgICAgeWllbGQgZmlyc3QsIGxhc3QKKyAgICAgICAgICAgIGZpcnN0ID0gaXAKKyAgICAgICAgbGFzdCA9IGlwCisgICAgeWllbGQgZmlyc3QsIGxhc3QKIAogCiBkZWYgX2NvdW50X3JpZ2h0aGFuZF96ZXJvX2JpdHMobnVtYmVyLCBiaXRzKToKQEAgLTE5NSwxMSArMTk2LDcgQEAKICAgICAiIiIKICAgICBpZiBudW1iZXIgPT0gMDoKICAgICAgICAgcmV0dXJuIGJpdHMKLSAgICBmb3IgaSBpbiByYW5nZShiaXRzKToKLSAgICAgICAgaWYgKG51bWJlciA+PiBpKSAmIDE6Ci0gICAgICAgICAgICByZXR1cm4gaQotICAgICMgQWxsIGJpdHMgb2YgaW50ZXJlc3Qgd2VyZSB6ZXJvLCBldmVuIGlmIHRoZXJlIGFyZSBtb3JlIGluIHRoZSBudW1iZXIKLSAgICByZXR1cm4gYml0cworICAgIHJldHVybiBtaW4oYml0cywgKH5udW1iZXIgJiAobnVtYmVyLTEpKS5iaXRfbGVuZ3RoKCkpCiAKIAogZGVmIHN1bW1hcml6ZV9hZGRyZXNzX3JhbmdlKGZpcnN0LCBsYXN0KToKQEAgLTI1MCwxNSArMjQ3LDE0IEBACiAgICAgd2hpbGUgZmlyc3RfaW50IDw9IGxhc3RfaW50OgogICAgICAgICBuYml0cyA9IG1pbihfY291bnRfcmlnaHRoYW5kX3plcm9fYml0cyhmaXJzdF9pbnQsIGlwX2JpdHMpLAogICAgICAgICAgICAgICAgICAgICAobGFzdF9pbnQgLSBmaXJzdF9pbnQgKyAxKS5iaXRfbGVuZ3RoKCkgLSAxKQotICAgICAgICBuZXQgPSBpcCgnJXMvJWQnICUgKGZpcnN0LCBpcF9iaXRzIC0gbmJpdHMpKQorICAgICAgICBuZXQgPSBpcCgoZmlyc3RfaW50LCBpcF9iaXRzIC0gbmJpdHMpKQogICAgICAgICB5aWVsZCBuZXQKICAgICAgICAgZmlyc3RfaW50ICs9IDEgPDwgbmJpdHMKICAgICAgICAgaWYgZmlyc3RfaW50IC0gMSA9PSBpcC5fQUxMX09ORVM6CiAgICAgICAgICAgICBicmVhawotICAgICAgICBmaXJzdCA9IGZpcnN0Ll9fY2xhc3NfXyhmaXJzdF9pbnQpCiAKIAotZGVmIF9jb2xsYXBzZV9hZGRyZXNzZXNfcmVjdXJzaXZlKGFkZHJlc3Nlcyk6CitkZWYgX2NvbGxhcHNlX2FkZHJlc3Nlc19pbnRlcm5hbChhZGRyZXNzZXMpOgogICAgICIiIkxvb3BzIHRocm91Z2ggdGhlIGFkZHJlc3NlcywgY29sbGFwc2luZyBjb25jdXJyZW50IG5ldGJsb2Nrcy4KIAogICAgIEV4YW1wbGU6CkBAIC0yNjgsNyArMjY0LDcgQEAKICAgICAgICAgaXAzID0gSVB2NE5ldHdvcmsoJzE5Mi4wLjIuMTI4LzI2JykKICAgICAgICAgaXA0ID0gSVB2NE5ldHdvcmsoJzE5Mi4wLjIuMTkyLzI2JykKIAotICAgICAgICBfY29sbGFwc2VfYWRkcmVzc2VzX3JlY3Vyc2l2ZShbaXAxLCBpcDIsIGlwMywgaXA0XSkgLT4KKyAgICAgICAgX2NvbGxhcHNlX2FkZHJlc3Nlc19pbnRlcm5hbChbaXAxLCBpcDIsIGlwMywgaXA0XSkgLT4KICAgICAgICAgICBbSVB2NE5ldHdvcmsoJzE5Mi4wLjIuMC8yNCcpXQogCiAgICAgICAgIFRoaXMgc2hvdWxkbid0IGJlIGNhbGxlZCBkaXJlY3RseTsgaXQgaXMgY2FsbGVkIHZpYQpAQCAtMjgyLDI4ICsyNzgsMjkgQEAKICAgICAgICAgcGFzc2VkLgogCiAgICAgIiIiCi0gICAgd2hpbGUgVHJ1ZToKLSAgICAgICAgbGFzdF9hZGRyID0gTm9uZQotICAgICAgICByZXRfYXJyYXkgPSBbXQotICAgICAgICBvcHRpbWl6ZWQgPSBGYWxzZQotCi0gICAgICAgIGZvciBjdXJfYWRkciBpbiBhZGRyZXNzZXM6Ci0gICAgICAgICAgICBpZiBub3QgcmV0X2FycmF5OgotICAgICAgICAgICAgICAgIGxhc3RfYWRkciA9IGN1cl9hZGRyCi0gICAgICAgICAgICAgICAgcmV0X2FycmF5LmFwcGVuZChjdXJfYWRkcikKLSAgICAgICAgICAgIGVsaWYgKGN1cl9hZGRyLm5ldHdvcmtfYWRkcmVzcyA+PSBsYXN0X2FkZHIubmV0d29ya19hZGRyZXNzIGFuZAotICAgICAgICAgICAgICAgIGN1cl9hZGRyLmJyb2FkY2FzdF9hZGRyZXNzIDw9IGxhc3RfYWRkci5icm9hZGNhc3RfYWRkcmVzcyk6Ci0gICAgICAgICAgICAgICAgb3B0aW1pemVkID0gVHJ1ZQotICAgICAgICAgICAgZWxpZiBjdXJfYWRkciA9PSBsaXN0KGxhc3RfYWRkci5zdXBlcm5ldCgpLnN1Ym5ldHMoKSlbMV06Ci0gICAgICAgICAgICAgICAgcmV0X2FycmF5Wy0xXSA9IGxhc3RfYWRkciA9IGxhc3RfYWRkci5zdXBlcm5ldCgpCi0gICAgICAgICAgICAgICAgb3B0aW1pemVkID0gVHJ1ZQotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICBsYXN0X2FkZHIgPSBjdXJfYWRkcgotICAgICAgICAgICAgICAgIHJldF9hcnJheS5hcHBlbmQoY3VyX2FkZHIpCi0KLSAgICAgICAgYWRkcmVzc2VzID0gcmV0X2FycmF5Ci0gICAgICAgIGlmIG5vdCBvcHRpbWl6ZWQ6Ci0gICAgICAgICAgICByZXR1cm4gYWRkcmVzc2VzCisgICAgIyBGaXJzdCBtZXJnZQorICAgIHRvX21lcmdlID0gbGlzdChhZGRyZXNzZXMpCisgICAgc3VibmV0cyA9IHt9CisgICAgd2hpbGUgdG9fbWVyZ2U6CisgICAgICAgIG5ldCA9IHRvX21lcmdlLnBvcCgpCisgICAgICAgIHN1cGVybmV0ID0gbmV0LnN1cGVybmV0KCkKKyAgICAgICAgZXhpc3RpbmcgPSBzdWJuZXRzLmdldChzdXBlcm5ldCkKKyAgICAgICAgaWYgZXhpc3RpbmcgaXMgTm9uZToKKyAgICAgICAgICAgIHN1Ym5ldHNbc3VwZXJuZXRdID0gbmV0CisgICAgICAgIGVsaWYgZXhpc3RpbmcgIT0gbmV0OgorICAgICAgICAgICAgIyBNZXJnZSBjb25zZWN1dGl2ZSBzdWJuZXRzCisgICAgICAgICAgICBkZWwgc3VibmV0c1tzdXBlcm5ldF0KKyAgICAgICAgICAgIHRvX21lcmdlLmFwcGVuZChzdXBlcm5ldCkKKyAgICAjIFRoZW4gaXRlcmF0ZSBvdmVyIHJlc3VsdGluZyBuZXR3b3Jrcywgc2tpcHBpbmcgc3Vic3VtZWQgc3VibmV0cworICAgIGxhc3QgPSBOb25lCisgICAgZm9yIG5ldCBpbiBzb3J0ZWQoc3VibmV0cy52YWx1ZXMoKSk6CisgICAgICAgIGlmIGxhc3QgaXMgbm90IE5vbmU6CisgICAgICAgICAgICAjIFNpbmNlIHRoZXkgYXJlIHNvcnRlZCwgbGFzdC5uZXR3b3JrX2FkZHJlc3MgPD0gbmV0Lm5ldHdvcmtfYWRkcmVzcworICAgICAgICAgICAgIyBpcyBhIGdpdmVuLgorICAgICAgICAgICAgaWYgbGFzdC5icm9hZGNhc3RfYWRkcmVzcyA+PSBuZXQuYnJvYWRjYXN0X2FkZHJlc3M6CisgICAgICAgICAgICAgICAgY29udGludWUKKyAgICAgICAgeWllbGQgbmV0CisgICAgICAgIGxhc3QgPSBuZXQKIAogCiBkZWYgY29sbGFwc2VfYWRkcmVzc2VzKGFkZHJlc3Nlcyk6CkBAIC0zMjQsNyArMzIxLDYgQEAKICAgICAgICAgVHlwZUVycm9yOiBJZiBwYXNzZWQgYSBsaXN0IG9mIG1peGVkIHZlcnNpb24gb2JqZWN0cy4KIAogICAgICIiIgotICAgIGkgPSAwCiAgICAgYWRkcnMgPSBbXQogICAgIGlwcyA9IFtdCiAgICAgbmV0cyA9IFtdCkBAIC0zNTIsMTUgKzM0OCwxMyBAQAogCiAgICAgIyBzb3J0IGFuZCBkZWR1cAogICAgIGlwcyA9IHNvcnRlZChzZXQoaXBzKSkKLSAgICBuZXRzID0gc29ydGVkKHNldChuZXRzKSkKIAotICAgIHdoaWxlIGkgPCBsZW4oaXBzKToKLSAgICAgICAgKGZpcnN0LCBsYXN0KSA9IF9maW5kX2FkZHJlc3NfcmFuZ2UoaXBzW2k6XSkKLSAgICAgICAgaSA9IGlwcy5pbmRleChsYXN0KSArIDEKLSAgICAgICAgYWRkcnMuZXh0ZW5kKHN1bW1hcml6ZV9hZGRyZXNzX3JhbmdlKGZpcnN0LCBsYXN0KSkKKyAgICAjIGZpbmQgY29uc2VjdXRpdmUgYWRkcmVzcyByYW5nZXMgaW4gdGhlIHNvcnRlZCBzZXF1ZW5jZSBhbmQgc3VtbWFyaXplIHRoZW0KKyAgICBpZiBpcHM6CisgICAgICAgIGZvciBmaXJzdCwgbGFzdCBpbiBfZmluZF9hZGRyZXNzX3JhbmdlKGlwcyk6CisgICAgICAgICAgICBhZGRycy5leHRlbmQoc3VtbWFyaXplX2FkZHJlc3NfcmFuZ2UoZmlyc3QsIGxhc3QpKQogCi0gICAgcmV0dXJuIGl0ZXIoX2NvbGxhcHNlX2FkZHJlc3Nlc19yZWN1cnNpdmUoc29ydGVkKAotICAgICAgICBhZGRycyArIG5ldHMsIGtleT1fQmFzZU5ldHdvcmsuX2dldF9uZXR3b3Jrc19rZXkpKSkKKyAgICByZXR1cm4gX2NvbGxhcHNlX2FkZHJlc3Nlc19pbnRlcm5hbChhZGRycyArIG5ldHMpCiAKIAogZGVmIGdldF9taXhlZF90eXBlX2tleShvYmopOgpAQCAtNDAzLDYgKzM5NywxNyBAQAogICAgICAgICByZXR1cm4gc3RyKHNlbGYpCiAKICAgICBAcHJvcGVydHkKKyAgICBkZWYgcmV2ZXJzZV9wb2ludGVyKHNlbGYpOgorICAgICAgICAiIiJUaGUgbmFtZSBvZiB0aGUgcmV2ZXJzZSBETlMgcG9pbnRlciBmb3IgdGhlIElQIGFkZHJlc3MsIGUuZy46CisgICAgICAgICAgICA+Pj4gaXBhZGRyZXNzLmlwX2FkZHJlc3MoIjEyNy4wLjAuMSIpLnJldmVyc2VfcG9pbnRlcgorICAgICAgICAgICAgJzEuMC4wLjEyNy5pbi1hZGRyLmFycGEnCisgICAgICAgICAgICA+Pj4gaXBhZGRyZXNzLmlwX2FkZHJlc3MoIjIwMDE6ZGI4OjoxIikucmV2ZXJzZV9wb2ludGVyCisgICAgICAgICAgICAnMS4wLjAuMC4wLjAuMC4wLjAuMC4wLjAuMC4wLjAuMC4wLjAuMC4wLjAuMC4wLjAuOC5iLmQuMC4xLjAuMC4yLmlwNi5hcnBhJworCisgICAgICAgICIiIgorICAgICAgICByZXR1cm4gc2VsZi5fcmV2ZXJzZV9wb2ludGVyKCkKKworICAgIEBwcm9wZXJ0eQogICAgIGRlZiB2ZXJzaW9uKHNlbGYpOgogICAgICAgICBtc2cgPSAnJTIwMHMgaGFzIG5vIHZlcnNpb24gc3BlY2lmaWVkJyAlICh0eXBlKHNlbGYpLCkKICAgICAgICAgcmFpc2UgTm90SW1wbGVtZW50ZWRFcnJvcihtc2cpCkBAIC00MjMsNyArNDI4LDggQEAKICAgICAgICAgICAgIHJhaXNlIEFkZHJlc3NWYWx1ZUVycm9yKG1zZyAlIChhZGRyZXNzLCBhZGRyZXNzX2xlbiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHBlY3RlZF9sZW4sIHNlbGYuX3ZlcnNpb24pKQogCi0gICAgZGVmIF9pcF9pbnRfZnJvbV9wcmVmaXgoc2VsZiwgcHJlZml4bGVuKToKKyAgICBAY2xhc3NtZXRob2QKKyAgICBkZWYgX2lwX2ludF9mcm9tX3ByZWZpeChjbHMsIHByZWZpeGxlbik6CiAgICAgICAgICIiIlR1cm4gdGhlIHByZWZpeCBsZW5ndGggaW50byBhIGJpdHdpc2UgbmV0bWFzawogCiAgICAgICAgIEFyZ3M6CkBAIC00MzMsOSArNDM5LDEwIEBACiAgICAgICAgICAgICBBbiBpbnRlZ2VyLgogCiAgICAgICAgICIiIgotICAgICAgICByZXR1cm4gc2VsZi5fQUxMX09ORVMgXiAoc2VsZi5fQUxMX09ORVMgPj4gcHJlZml4bGVuKQorICAgICAgICByZXR1cm4gY2xzLl9BTExfT05FUyBeIChjbHMuX0FMTF9PTkVTID4+IHByZWZpeGxlbikKIAotICAgIGRlZiBfcHJlZml4X2Zyb21faXBfaW50KHNlbGYsIGlwX2ludCk6CisgICAgQGNsYXNzbWV0aG9kCisgICAgZGVmIF9wcmVmaXhfZnJvbV9pcF9pbnQoY2xzLCBpcF9pbnQpOgogICAgICAgICAiIiJSZXR1cm4gcHJlZml4IGxlbmd0aCBmcm9tIHRoZSBiaXR3aXNlIG5ldG1hc2suCiAKICAgICAgICAgQXJnczoKQEAgLTQ0OCwyMiArNDU1LDI0IEBACiAgICAgICAgICAgICBWYWx1ZUVycm9yOiBJZiB0aGUgaW5wdXQgaW50ZXJtaW5nbGVzIHplcm9lcyAmIG9uZXMKICAgICAgICAgIiIiCiAgICAgICAgIHRyYWlsaW5nX3plcm9lcyA9IF9jb3VudF9yaWdodGhhbmRfemVyb19iaXRzKGlwX2ludCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fbWF4X3ByZWZpeGxlbikKLSAgICAgICAgcHJlZml4bGVuID0gc2VsZi5fbWF4X3ByZWZpeGxlbiAtIHRyYWlsaW5nX3plcm9lcworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbHMuX21heF9wcmVmaXhsZW4pCisgICAgICAgIHByZWZpeGxlbiA9IGNscy5fbWF4X3ByZWZpeGxlbiAtIHRyYWlsaW5nX3plcm9lcwogICAgICAgICBsZWFkaW5nX29uZXMgPSBpcF9pbnQgPj4gdHJhaWxpbmdfemVyb2VzCiAgICAgICAgIGFsbF9vbmVzID0gKDEgPDwgcHJlZml4bGVuKSAtIDEKICAgICAgICAgaWYgbGVhZGluZ19vbmVzICE9IGFsbF9vbmVzOgotICAgICAgICAgICAgYnl0ZXNsZW4gPSBzZWxmLl9tYXhfcHJlZml4bGVuIC8vIDgKKyAgICAgICAgICAgIGJ5dGVzbGVuID0gY2xzLl9tYXhfcHJlZml4bGVuIC8vIDgKICAgICAgICAgICAgIGRldGFpbHMgPSBpcF9pbnQudG9fYnl0ZXMoYnl0ZXNsZW4sICdiaWcnKQogICAgICAgICAgICAgbXNnID0gJ05ldG1hc2sgcGF0dGVybiAlciBtaXhlcyB6ZXJvZXMgJiBvbmVzJwogICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcihtc2cgJSBkZXRhaWxzKQogICAgICAgICByZXR1cm4gcHJlZml4bGVuCiAKLSAgICBkZWYgX3JlcG9ydF9pbnZhbGlkX25ldG1hc2soc2VsZiwgbmV0bWFza19zdHIpOgorICAgIEBjbGFzc21ldGhvZAorICAgIGRlZiBfcmVwb3J0X2ludmFsaWRfbmV0bWFzayhjbHMsIG5ldG1hc2tfc3RyKToKICAgICAgICAgbXNnID0gJyVyIGlzIG5vdCBhIHZhbGlkIG5ldG1hc2snICUgbmV0bWFza19zdHIKICAgICAgICAgcmFpc2UgTmV0bWFza1ZhbHVlRXJyb3IobXNnKSBmcm9tIE5vbmUKIAotICAgIGRlZiBfcHJlZml4X2Zyb21fcHJlZml4X3N0cmluZyhzZWxmLCBwcmVmaXhsZW5fc3RyKToKKyAgICBAY2xhc3NtZXRob2QKKyAgICBkZWYgX3ByZWZpeF9mcm9tX3ByZWZpeF9zdHJpbmcoY2xzLCBwcmVmaXhsZW5fc3RyKToKICAgICAgICAgIiIiUmV0dXJuIHByZWZpeCBsZW5ndGggZnJvbSBhIG51bWVyaWMgc3RyaW5nCiAKICAgICAgICAgQXJnczoKQEAgLTQ3OCwxNiArNDg3LDE3IEBACiAgICAgICAgICMgaW50IGFsbG93cyBhIGxlYWRpbmcgKy8tIGFzIHdlbGwgYXMgc3Vycm91bmRpbmcgd2hpdGVzcGFjZSwKICAgICAgICAgIyBzbyB3ZSBlbnN1cmUgdGhhdCBpc24ndCB0aGUgY2FzZQogICAgICAgICBpZiBub3QgX0Jhc2VWNC5fREVDSU1BTF9ESUdJVFMuaXNzdXBlcnNldChwcmVmaXhsZW5fc3RyKToKLSAgICAgICAgICAgIHNlbGYuX3JlcG9ydF9pbnZhbGlkX25ldG1hc2socHJlZml4bGVuX3N0cikKKyAgICAgICAgICAgIGNscy5fcmVwb3J0X2ludmFsaWRfbmV0bWFzayhwcmVmaXhsZW5fc3RyKQogICAgICAgICB0cnk6CiAgICAgICAgICAgICBwcmVmaXhsZW4gPSBpbnQocHJlZml4bGVuX3N0cikKICAgICAgICAgZXhjZXB0IFZhbHVlRXJyb3I6Ci0gICAgICAgICAgICBzZWxmLl9yZXBvcnRfaW52YWxpZF9uZXRtYXNrKHByZWZpeGxlbl9zdHIpCi0gICAgICAgIGlmIG5vdCAoMCA8PSBwcmVmaXhsZW4gPD0gc2VsZi5fbWF4X3ByZWZpeGxlbik6Ci0gICAgICAgICAgICBzZWxmLl9yZXBvcnRfaW52YWxpZF9uZXRtYXNrKHByZWZpeGxlbl9zdHIpCisgICAgICAgICAgICBjbHMuX3JlcG9ydF9pbnZhbGlkX25ldG1hc2socHJlZml4bGVuX3N0cikKKyAgICAgICAgaWYgbm90ICgwIDw9IHByZWZpeGxlbiA8PSBjbHMuX21heF9wcmVmaXhsZW4pOgorICAgICAgICAgICAgY2xzLl9yZXBvcnRfaW52YWxpZF9uZXRtYXNrKHByZWZpeGxlbl9zdHIpCiAgICAgICAgIHJldHVybiBwcmVmaXhsZW4KIAotICAgIGRlZiBfcHJlZml4X2Zyb21faXBfc3RyaW5nKHNlbGYsIGlwX3N0cik6CisgICAgQGNsYXNzbWV0aG9kCisgICAgZGVmIF9wcmVmaXhfZnJvbV9pcF9zdHJpbmcoY2xzLCBpcF9zdHIpOgogICAgICAgICAiIiJUdXJuIGEgbmV0bWFzay9ob3N0bWFzayBzdHJpbmcgaW50byBhIHByZWZpeCBsZW5ndGgKIAogICAgICAgICBBcmdzOgpAQCAtNTAxLDI0ICs1MTEsMjcgQEAKICAgICAgICAgIiIiCiAgICAgICAgICMgUGFyc2UgdGhlIG5ldG1hc2svaG9zdG1hc2sgbGlrZSBhbiBJUCBhZGRyZXNzLgogICAgICAgICB0cnk6Ci0gICAgICAgICAgICBpcF9pbnQgPSBzZWxmLl9pcF9pbnRfZnJvbV9zdHJpbmcoaXBfc3RyKQorICAgICAgICAgICAgaXBfaW50ID0gY2xzLl9pcF9pbnRfZnJvbV9zdHJpbmcoaXBfc3RyKQogICAgICAgICBleGNlcHQgQWRkcmVzc1ZhbHVlRXJyb3I6Ci0gICAgICAgICAgICBzZWxmLl9yZXBvcnRfaW52YWxpZF9uZXRtYXNrKGlwX3N0cikKKyAgICAgICAgICAgIGNscy5fcmVwb3J0X2ludmFsaWRfbmV0bWFzayhpcF9zdHIpCiAKICAgICAgICAgIyBUcnkgbWF0Y2hpbmcgYSBuZXRtYXNrICh0aGlzIHdvdWxkIGJlIC8xKjAqLyBhcyBhIGJpdHdpc2UgcmVnZXhwKS4KICAgICAgICAgIyBOb3RlIHRoYXQgdGhlIHR3byBhbWJpZ3VvdXMgY2FzZXMgKGFsbC1vbmVzIGFuZCBhbGwtemVyb2VzKSBhcmUKICAgICAgICAgIyB0cmVhdGVkIGFzIG5ldG1hc2tzLgogICAgICAgICB0cnk6Ci0gICAgICAgICAgICByZXR1cm4gc2VsZi5fcHJlZml4X2Zyb21faXBfaW50KGlwX2ludCkKKyAgICAgICAgICAgIHJldHVybiBjbHMuX3ByZWZpeF9mcm9tX2lwX2ludChpcF9pbnQpCiAgICAgICAgIGV4Y2VwdCBWYWx1ZUVycm9yOgogICAgICAgICAgICAgcGFzcwogCiAgICAgICAgICMgSW52ZXJ0IHRoZSBiaXRzLCBhbmQgdHJ5IG1hdGNoaW5nIGEgLzArMSsvIGhvc3RtYXNrIGluc3RlYWQuCi0gICAgICAgIGlwX2ludCBePSBzZWxmLl9BTExfT05FUworICAgICAgICBpcF9pbnQgXj0gY2xzLl9BTExfT05FUwogICAgICAgICB0cnk6Ci0gICAgICAgICAgICByZXR1cm4gc2VsZi5fcHJlZml4X2Zyb21faXBfaW50KGlwX2ludCkKKyAgICAgICAgICAgIHJldHVybiBjbHMuX3ByZWZpeF9mcm9tX2lwX2ludChpcF9pbnQpCiAgICAgICAgIGV4Y2VwdCBWYWx1ZUVycm9yOgotICAgICAgICAgICAgc2VsZi5fcmVwb3J0X2ludmFsaWRfbmV0bWFzayhpcF9zdHIpCisgICAgICAgICAgICBjbHMuX3JlcG9ydF9pbnZhbGlkX25ldG1hc2soaXBfc3RyKQorCisgICAgZGVmIF9fcmVkdWNlX18oc2VsZik6CisgICAgICAgIHJldHVybiBzZWxmLl9fY2xhc3NfXywgKHN0cihzZWxmKSwpCiAKIAogQGZ1bmN0b29scy50b3RhbF9vcmRlcmluZwpAQCAtNTMwLDExICs1NDMsNiBAQAogICAgIHVzZWQgYnkgc2luZ2xlIElQIGFkZHJlc3Nlcy4KICAgICAiIiIKIAotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBhZGRyZXNzKToKLSAgICAgICAgaWYgKG5vdCBpc2luc3RhbmNlKGFkZHJlc3MsIGJ5dGVzKQotICAgICAgICAgICAgYW5kICcvJyBpbiBzdHIoYWRkcmVzcykpOgotICAgICAgICAgICAgcmFpc2UgQWRkcmVzc1ZhbHVlRXJyb3IoIlVuZXhwZWN0ZWQgJy8nIGluICVyIiAlIGFkZHJlc3MpCi0KICAgICBkZWYgX19pbnRfXyhzZWxmKToKICAgICAgICAgcmV0dXJuIHNlbGYuX2lwCiAKQEAgLTU3OSw2ICs1ODcsOSBAQAogICAgIGRlZiBfZ2V0X2FkZHJlc3Nfa2V5KHNlbGYpOgogICAgICAgICByZXR1cm4gKHNlbGYuX3ZlcnNpb24sIHNlbGYpCiAKKyAgICBkZWYgX19yZWR1Y2VfXyhzZWxmKToKKyAgICAgICAgcmV0dXJuIHNlbGYuX19jbGFzc19fLCAoc2VsZi5faXAsKQorCiAKIEBmdW5jdG9vbHMudG90YWxfb3JkZXJpbmcKIGNsYXNzIF9CYXNlTmV0d29yayhfSVBBZGRyZXNzQmFzZSk6CkBAIC03NjUsNyArNzc2LDcgQEAKICAgICAgICAgICAgICAgICBvdGhlci5icm9hZGNhc3RfYWRkcmVzcyA8PSBzZWxmLmJyb2FkY2FzdF9hZGRyZXNzKToKICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoJyVzIG5vdCBjb250YWluZWQgaW4gJXMnICUgKG90aGVyLCBzZWxmKSkKICAgICAgICAgaWYgb3RoZXIgPT0gc2VsZjoKLSAgICAgICAgICAgIHJhaXNlIFN0b3BJdGVyYXRpb24KKyAgICAgICAgICAgIHJldHVybgogCiAgICAgICAgICMgTWFrZSBzdXJlIHdlJ3JlIGNvbXBhcmluZyB0aGUgbmV0d29yayBvZiBvdGhlci4KICAgICAgICAgb3RoZXIgPSBvdGhlci5fX2NsYXNzX18oJyVzLyVzJyAlIChvdGhlci5uZXR3b3JrX2FkZHJlc3MsCkBAIC05MDAsMjAgKzkxMSwxMSBAQAogICAgICAgICAgICAgICAgICdwcmVmaXggbGVuZ3RoIGRpZmYgJWQgaXMgaW52YWxpZCBmb3IgbmV0YmxvY2sgJXMnICUgKAogICAgICAgICAgICAgICAgICAgICBuZXdfcHJlZml4bGVuLCBzZWxmKSkKIAotICAgICAgICBmaXJzdCA9IHNlbGYuX19jbGFzc19fKCclcy8lcycgJQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHNlbGYubmV0d29ya19hZGRyZXNzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX3ByZWZpeGxlbiArIHByZWZpeGxlbl9kaWZmKSkKLQotICAgICAgICB5aWVsZCBmaXJzdAotICAgICAgICBjdXJyZW50ID0gZmlyc3QKLSAgICAgICAgd2hpbGUgVHJ1ZToKLSAgICAgICAgICAgIGJyb2FkY2FzdCA9IGN1cnJlbnQuYnJvYWRjYXN0X2FkZHJlc3MKLSAgICAgICAgICAgIGlmIGJyb2FkY2FzdCA9PSBzZWxmLmJyb2FkY2FzdF9hZGRyZXNzOgotICAgICAgICAgICAgICAgIHJldHVybgotICAgICAgICAgICAgbmV3X2FkZHIgPSBzZWxmLl9hZGRyZXNzX2NsYXNzKGludChicm9hZGNhc3QpICsgMSkKLSAgICAgICAgICAgIGN1cnJlbnQgPSBzZWxmLl9fY2xhc3NfXygnJXMvJXMnICUgKG5ld19hZGRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3X3ByZWZpeGxlbikpCi0KKyAgICAgICAgc3RhcnQgPSBpbnQoc2VsZi5uZXR3b3JrX2FkZHJlc3MpCisgICAgICAgIGVuZCA9IGludChzZWxmLmJyb2FkY2FzdF9hZGRyZXNzKQorICAgICAgICBzdGVwID0gKGludChzZWxmLmhvc3RtYXNrKSArIDEpID4+IHByZWZpeGxlbl9kaWZmCisgICAgICAgIGZvciBuZXdfYWRkciBpbiByYW5nZShzdGFydCwgZW5kLCBzdGVwKToKKyAgICAgICAgICAgIGN1cnJlbnQgPSBzZWxmLl9fY2xhc3NfXygobmV3X2FkZHIsIG5ld19wcmVmaXhsZW4pKQogICAgICAgICAgICAgeWllbGQgY3VycmVudAogCiAgICAgZGVmIHN1cGVybmV0KHNlbGYsIHByZWZpeGxlbl9kaWZmPTEsIG5ld19wcmVmaXg9Tm9uZSk6CkBAIC05NDcsMTUgKzk0OSwxNSBAQAogICAgICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoJ2Nhbm5vdCBzZXQgcHJlZml4bGVuX2RpZmYgYW5kIG5ld19wcmVmaXgnKQogICAgICAgICAgICAgcHJlZml4bGVuX2RpZmYgPSBzZWxmLl9wcmVmaXhsZW4gLSBuZXdfcHJlZml4CiAKLSAgICAgICAgaWYgc2VsZi5wcmVmaXhsZW4gLSBwcmVmaXhsZW5fZGlmZiA8IDA6CisgICAgICAgIG5ld19wcmVmaXhsZW4gPSBzZWxmLnByZWZpeGxlbiAtIHByZWZpeGxlbl9kaWZmCisgICAgICAgIGlmIG5ld19wcmVmaXhsZW4gPCAwOgogICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigKICAgICAgICAgICAgICAgICAnY3VycmVudCBwcmVmaXhsZW4gaXMgJWQsIGNhbm5vdCBoYXZlIGEgcHJlZml4bGVuX2RpZmYgb2YgJWQnICUKICAgICAgICAgICAgICAgICAoc2VsZi5wcmVmaXhsZW4sIHByZWZpeGxlbl9kaWZmKSkKLSAgICAgICAgIyBUT0RPIChwbW9vZHkpOiBvcHRpbWl6ZSB0aGlzLgotICAgICAgICB0ID0gc2VsZi5fX2NsYXNzX18oJyVzLyVkJyAlIChzZWxmLm5ldHdvcmtfYWRkcmVzcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5wcmVmaXhsZW4gLSBwcmVmaXhsZW5fZGlmZiksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyaWN0PUZhbHNlKQotICAgICAgICByZXR1cm4gdC5fX2NsYXNzX18oJyVzLyVkJyAlICh0Lm5ldHdvcmtfYWRkcmVzcywgdC5wcmVmaXhsZW4pKQorICAgICAgICByZXR1cm4gc2VsZi5fX2NsYXNzX18oKAorICAgICAgICAgICAgaW50KHNlbGYubmV0d29ya19hZGRyZXNzKSAmIChpbnQoc2VsZi5uZXRtYXNrKSA8PCBwcmVmaXhsZW5fZGlmZiksCisgICAgICAgICAgICBuZXdfcHJlZml4bGVuCisgICAgICAgICAgICApKQogCiAgICAgQHByb3BlcnR5CiAgICAgZGVmIGlzX211bHRpY2FzdChzZWxmKToKQEAgLTEwNTQsMTYgKzEwNTYsNDUgQEAKICAgICBfREVDSU1BTF9ESUdJVFMgPSBmcm96ZW5zZXQoJzAxMjM0NTY3ODknKQogCiAgICAgIyB0aGUgdmFsaWQgb2N0ZXRzIGZvciBob3N0IGFuZCBuZXRtYXNrcy4gb25seSB1c2VmdWwgZm9yIElQdjQuCi0gICAgX3ZhbGlkX21hc2tfb2N0ZXRzID0gZnJvemVuc2V0KCgyNTUsIDI1NCwgMjUyLCAyNDgsIDI0MCwgMjI0LCAxOTIsIDEyOCwgMCkpCisgICAgX3ZhbGlkX21hc2tfb2N0ZXRzID0gZnJvemVuc2V0KHsyNTUsIDI1NCwgMjUyLCAyNDgsIDI0MCwgMjI0LCAxOTIsIDEyOCwgMH0pCisKKyAgICBfbWF4X3ByZWZpeGxlbiA9IElQVjRMRU5HVEgKKyAgICAjIFRoZXJlIGFyZSBvbmx5IGEgaGFuZGZ1bCBvZiB2YWxpZCB2NCBuZXRtYXNrcywgc28gd2UgY2FjaGUgdGhlbSBhbGwKKyAgICAjIHdoZW4gY29uc3RydWN0ZWQgKHNlZSBfbWFrZV9uZXRtYXNrKCkpLgorICAgIF9uZXRtYXNrX2NhY2hlID0ge30KIAogICAgIGRlZiBfX2luaXRfXyhzZWxmLCBhZGRyZXNzKToKICAgICAgICAgc2VsZi5fdmVyc2lvbiA9IDQKLSAgICAgICAgc2VsZi5fbWF4X3ByZWZpeGxlbiA9IElQVjRMRU5HVEgKIAogICAgIGRlZiBfZXhwbG9kZV9zaG9ydGhhbmRfaXBfc3RyaW5nKHNlbGYpOgogICAgICAgICByZXR1cm4gc3RyKHNlbGYpCiAKLSAgICBkZWYgX2lwX2ludF9mcm9tX3N0cmluZyhzZWxmLCBpcF9zdHIpOgorICAgIEBjbGFzc21ldGhvZAorICAgIGRlZiBfbWFrZV9uZXRtYXNrKGNscywgYXJnKToKKyAgICAgICAgIiIiTWFrZSBhIChuZXRtYXNrLCBwcmVmaXhfbGVuKSB0dXBsZSBmcm9tIHRoZSBnaXZlbiBhcmd1bWVudC4KKworICAgICAgICBBcmd1bWVudCBjYW4gYmU6CisgICAgICAgIC0gYW4gaW50ZWdlciAodGhlIHByZWZpeCBsZW5ndGgpCisgICAgICAgIC0gYSBzdHJpbmcgcmVwcmVzZW50aW5nIHRoZSBwcmVmaXggbGVuZ3RoIChlLmcuICIyNCIpCisgICAgICAgIC0gYSBzdHJpbmcgcmVwcmVzZW50aW5nIHRoZSBwcmVmaXggbmV0bWFzayAoZS5nLiAiMjU1LjI1NS4yNTUuMCIpCisgICAgICAgICIiIgorICAgICAgICBpZiBhcmcgbm90IGluIGNscy5fbmV0bWFza19jYWNoZToKKyAgICAgICAgICAgIGlmIGlzaW5zdGFuY2UoYXJnLCBpbnQpOgorICAgICAgICAgICAgICAgIHByZWZpeGxlbiA9IGFyZworICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgICAgICMgQ2hlY2sgZm9yIGEgbmV0bWFzayBpbiBwcmVmaXggbGVuZ3RoIGZvcm0KKyAgICAgICAgICAgICAgICAgICAgcHJlZml4bGVuID0gY2xzLl9wcmVmaXhfZnJvbV9wcmVmaXhfc3RyaW5nKGFyZykKKyAgICAgICAgICAgICAgICBleGNlcHQgTmV0bWFza1ZhbHVlRXJyb3I6CisgICAgICAgICAgICAgICAgICAgICMgQ2hlY2sgZm9yIGEgbmV0bWFzayBvciBob3N0bWFzayBpbiBkb3R0ZWQtcXVhZCBmb3JtLgorICAgICAgICAgICAgICAgICAgICAjIFRoaXMgbWF5IHJhaXNlIE5ldG1hc2tWYWx1ZUVycm9yLgorICAgICAgICAgICAgICAgICAgICBwcmVmaXhsZW4gPSBjbHMuX3ByZWZpeF9mcm9tX2lwX3N0cmluZyhhcmcpCisgICAgICAgICAgICBuZXRtYXNrID0gSVB2NEFkZHJlc3MoY2xzLl9pcF9pbnRfZnJvbV9wcmVmaXgocHJlZml4bGVuKSkKKyAgICAgICAgICAgIGNscy5fbmV0bWFza19jYWNoZVthcmddID0gbmV0bWFzaywgcHJlZml4bGVuCisgICAgICAgIHJldHVybiBjbHMuX25ldG1hc2tfY2FjaGVbYXJnXQorCisgICAgQGNsYXNzbWV0aG9kCisgICAgZGVmIF9pcF9pbnRfZnJvbV9zdHJpbmcoY2xzLCBpcF9zdHIpOgogICAgICAgICAiIiJUdXJuIHRoZSBnaXZlbiBJUCBzdHJpbmcgaW50byBhbiBpbnRlZ2VyIGZvciBjb21wYXJpc29uLgogCiAgICAgICAgIEFyZ3M6CkBAIC0xMDg0LDExICsxMTE1LDEyIEBACiAgICAgICAgICAgICByYWlzZSBBZGRyZXNzVmFsdWVFcnJvcigiRXhwZWN0ZWQgNCBvY3RldHMgaW4gJXIiICUgaXBfc3RyKQogCiAgICAgICAgIHRyeToKLSAgICAgICAgICAgIHJldHVybiBpbnQuZnJvbV9ieXRlcyhtYXAoc2VsZi5fcGFyc2Vfb2N0ZXQsIG9jdGV0cyksICdiaWcnKQorICAgICAgICAgICAgcmV0dXJuIGludC5mcm9tX2J5dGVzKG1hcChjbHMuX3BhcnNlX29jdGV0LCBvY3RldHMpLCAnYmlnJykKICAgICAgICAgZXhjZXB0IFZhbHVlRXJyb3IgYXMgZXhjOgogICAgICAgICAgICAgcmFpc2UgQWRkcmVzc1ZhbHVlRXJyb3IoIiVzIGluICVyIiAlIChleGMsIGlwX3N0cikpIGZyb20gTm9uZQogCi0gICAgZGVmIF9wYXJzZV9vY3RldChzZWxmLCBvY3RldF9zdHIpOgorICAgIEBjbGFzc21ldGhvZAorICAgIGRlZiBfcGFyc2Vfb2N0ZXQoY2xzLCBvY3RldF9zdHIpOgogICAgICAgICAiIiJDb252ZXJ0IGEgZGVjaW1hbCBvY3RldCBpbnRvIGFuIGludGVnZXIuCiAKICAgICAgICAgQXJnczoKQEAgLTExMDQsNyArMTEzNiw3IEBACiAgICAgICAgIGlmIG5vdCBvY3RldF9zdHI6CiAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJFbXB0eSBvY3RldCBub3QgcGVybWl0dGVkIikKICAgICAgICAgIyBXaGl0ZWxpc3QgdGhlIGNoYXJhY3RlcnMsIHNpbmNlIGludCgpIGFsbG93cyBhIGxvdCBvZiBiaXphcnJlIHN0dWZmLgotICAgICAgICBpZiBub3Qgc2VsZi5fREVDSU1BTF9ESUdJVFMuaXNzdXBlcnNldChvY3RldF9zdHIpOgorICAgICAgICBpZiBub3QgY2xzLl9ERUNJTUFMX0RJR0lUUy5pc3N1cGVyc2V0KG9jdGV0X3N0cik6CiAgICAgICAgICAgICBtc2cgPSAiT25seSBkZWNpbWFsIGRpZ2l0cyBwZXJtaXR0ZWQgaW4gJXIiCiAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKG1zZyAlIG9jdGV0X3N0cikKICAgICAgICAgIyBXZSBkbyB0aGUgbGVuZ3RoIGNoZWNrIHNlY29uZCwgc2luY2UgdGhlIGludmFsaWQgY2hhcmFjdGVyIGVycm9yCkBAIC0xMTI0LDcgKzExNTYsOCBAQAogICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigiT2N0ZXQgJWQgKD4gMjU1KSBub3QgcGVybWl0dGVkIiAlIG9jdGV0X2ludCkKICAgICAgICAgcmV0dXJuIG9jdGV0X2ludAogCi0gICAgZGVmIF9zdHJpbmdfZnJvbV9pcF9pbnQoc2VsZiwgaXBfaW50KToKKyAgICBAY2xhc3NtZXRob2QKKyAgICBkZWYgX3N0cmluZ19mcm9tX2lwX2ludChjbHMsIGlwX2ludCk6CiAgICAgICAgICIiIlR1cm5zIGEgMzItYml0IGludGVnZXIgaW50byBkb3R0ZWQgZGVjaW1hbCBub3RhdGlvbi4KIAogICAgICAgICBBcmdzOgpAQCAtMTE4OCw2ICsxMjIxLDE1IEBACiAgICAgICAgICAgICByZXR1cm4gVHJ1ZQogICAgICAgICByZXR1cm4gRmFsc2UKIAorICAgIGRlZiBfcmV2ZXJzZV9wb2ludGVyKHNlbGYpOgorICAgICAgICAiIiJSZXR1cm4gdGhlIHJldmVyc2UgRE5TIHBvaW50ZXIgbmFtZSBmb3IgdGhlIElQdjQgYWRkcmVzcy4KKworICAgICAgICBUaGlzIGltcGxlbWVudHMgdGhlIG1ldGhvZCBkZXNjcmliZWQgaW4gUkZDMTAzNSAzLjUuCisKKyAgICAgICAgIiIiCisgICAgICAgIHJldmVyc2Vfb2N0ZXRzID0gc3RyKHNlbGYpLnNwbGl0KCcuJylbOjotMV0KKyAgICAgICAgcmV0dXJuICcuJy5qb2luKHJldmVyc2Vfb2N0ZXRzKSArICcuaW4tYWRkci5hcnBhJworCiAgICAgQHByb3BlcnR5CiAgICAgZGVmIG1heF9wcmVmaXhsZW4oc2VsZik6CiAgICAgICAgIHJldHVybiBzZWxmLl9tYXhfcHJlZml4bGVuCkBAIC0xMjE3LDcgKzEyNTksNiBAQAogICAgICAgICAgICAgQWRkcmVzc1ZhbHVlRXJyb3I6IElmIGlwYWRkcmVzcyBpc24ndCBhIHZhbGlkIElQdjQgYWRkcmVzcy4KIAogICAgICAgICAiIiIKLSAgICAgICAgX0Jhc2VBZGRyZXNzLl9faW5pdF9fKHNlbGYsIGFkZHJlc3MpCiAgICAgICAgIF9CYXNlVjQuX19pbml0X18oc2VsZiwgYWRkcmVzcykKIAogICAgICAgICAjIEVmZmljaWVudCBjb25zdHJ1Y3RvciBmcm9tIGludGVnZXIuCkBAIC0xMjM1LDYgKzEyNzYsOCBAQAogICAgICAgICAjIEFzc3VtZSBpbnB1dCBhcmd1bWVudCB0byBiZSBzdHJpbmcgb3IgYW55IG9iamVjdCByZXByZXNlbnRhdGlvbgogICAgICAgICAjIHdoaWNoIGNvbnZlcnRzIGludG8gYSBmb3JtYXR0ZWQgSVAgc3RyaW5nLgogICAgICAgICBhZGRyX3N0ciA9IHN0cihhZGRyZXNzKQorICAgICAgICBpZiAnLycgaW4gYWRkcl9zdHI6CisgICAgICAgICAgICByYWlzZSBBZGRyZXNzVmFsdWVFcnJvcigiVW5leHBlY3RlZCAnLycgaW4gJXIiICUgYWRkcmVzcykKICAgICAgICAgc2VsZi5faXAgPSBzZWxmLl9pcF9pbnRfZnJvbV9zdHJpbmcoYWRkcl9zdHIpCiAKICAgICBAcHJvcGVydHkKQEAgLTEyNTEsOCArMTI5NCw3IEBACiAgICAgICAgICAgICAgcmVzZXJ2ZWQgSVB2NCBOZXR3b3JrIHJhbmdlLgogCiAgICAgICAgICIiIgotICAgICAgICByZXNlcnZlZF9uZXR3b3JrID0gSVB2NE5ldHdvcmsoJzI0MC4wLjAuMC80JykKLSAgICAgICAgcmV0dXJuIHNlbGYgaW4gcmVzZXJ2ZWRfbmV0d29yaworICAgICAgICByZXR1cm4gc2VsZiBpbiBzZWxmLl9jb25zdGFudHMuX3Jlc2VydmVkX25ldHdvcmsKIAogICAgIEBwcm9wZXJ0eQogICAgIEBmdW5jdG9vbHMubHJ1X2NhY2hlKCkKQEAgLTEyNjQsMjEgKzEzMDYsNyBAQAogICAgICAgICAgICAgaWFuYS1pcHY0LXNwZWNpYWwtcmVnaXN0cnkuCiAKICAgICAgICAgIiIiCi0gICAgICAgIHJldHVybiAoc2VsZiBpbiBJUHY0TmV0d29yaygnMC4wLjAuMC84Jykgb3IKLSAgICAgICAgICAgICAgICBzZWxmIGluIElQdjROZXR3b3JrKCcxMC4wLjAuMC84Jykgb3IKLSAgICAgICAgICAgICAgICBzZWxmIGluIElQdjROZXR3b3JrKCcxMjcuMC4wLjAvOCcpIG9yCi0gICAgICAgICAgICAgICAgc2VsZiBpbiBJUHY0TmV0d29yaygnMTY5LjI1NC4wLjAvMTYnKSBvcgotICAgICAgICAgICAgICAgIHNlbGYgaW4gSVB2NE5ldHdvcmsoJzE3Mi4xNi4wLjAvMTInKSBvcgotICAgICAgICAgICAgICAgIHNlbGYgaW4gSVB2NE5ldHdvcmsoJzE5Mi4wLjAuMC8yOScpIG9yCi0gICAgICAgICAgICAgICAgc2VsZiBpbiBJUHY0TmV0d29yaygnMTkyLjAuMC4xNzAvMzEnKSBvcgotICAgICAgICAgICAgICAgIHNlbGYgaW4gSVB2NE5ldHdvcmsoJzE5Mi4wLjIuMC8yNCcpIG9yCi0gICAgICAgICAgICAgICAgc2VsZiBpbiBJUHY0TmV0d29yaygnMTkyLjE2OC4wLjAvMTYnKSBvcgotICAgICAgICAgICAgICAgIHNlbGYgaW4gSVB2NE5ldHdvcmsoJzE5OC4xOC4wLjAvMTUnKSBvcgotICAgICAgICAgICAgICAgIHNlbGYgaW4gSVB2NE5ldHdvcmsoJzE5OC41MS4xMDAuMC8yNCcpIG9yCi0gICAgICAgICAgICAgICAgc2VsZiBpbiBJUHY0TmV0d29yaygnMjAzLjAuMTEzLjAvMjQnKSBvcgotICAgICAgICAgICAgICAgIHNlbGYgaW4gSVB2NE5ldHdvcmsoJzI0MC4wLjAuMC80Jykgb3IKLSAgICAgICAgICAgICAgICBzZWxmIGluIElQdjROZXR3b3JrKCcyNTUuMjU1LjI1NS4yNTUvMzInKSkKLQorICAgICAgICByZXR1cm4gYW55KHNlbGYgaW4gbmV0IGZvciBuZXQgaW4gc2VsZi5fY29uc3RhbnRzLl9wcml2YXRlX25ldHdvcmtzKQogCiAgICAgQHByb3BlcnR5CiAgICAgZGVmIGlzX211bHRpY2FzdChzZWxmKToKQEAgLTEyODksOCArMTMxNyw3IEBACiAgICAgICAgICAgICBTZWUgUkZDIDMxNzEgZm9yIGRldGFpbHMuCiAKICAgICAgICAgIiIiCi0gICAgICAgIG11bHRpY2FzdF9uZXR3b3JrID0gSVB2NE5ldHdvcmsoJzIyNC4wLjAuMC80JykKLSAgICAgICAgcmV0dXJuIHNlbGYgaW4gbXVsdGljYXN0X25ldHdvcmsKKyAgICAgICAgcmV0dXJuIHNlbGYgaW4gc2VsZi5fY29uc3RhbnRzLl9tdWx0aWNhc3RfbmV0d29yawogCiAgICAgQHByb3BlcnR5CiAgICAgZGVmIGlzX3Vuc3BlY2lmaWVkKHNlbGYpOgpAQCAtMTMwMSw4ICsxMzI4LDcgQEAKICAgICAgICAgICAgIFJGQyA1NzM1IDMuCiAKICAgICAgICAgIiIiCi0gICAgICAgIHVuc3BlY2lmaWVkX2FkZHJlc3MgPSBJUHY0QWRkcmVzcygnMC4wLjAuMCcpCi0gICAgICAgIHJldHVybiBzZWxmID09IHVuc3BlY2lmaWVkX2FkZHJlc3MKKyAgICAgICAgcmV0dXJuIHNlbGYgPT0gc2VsZi5fY29uc3RhbnRzLl91bnNwZWNpZmllZF9hZGRyZXNzCiAKICAgICBAcHJvcGVydHkKICAgICBkZWYgaXNfbG9vcGJhY2soc2VsZik6CkBAIC0xMzEyLDggKzEzMzgsNyBAQAogICAgICAgICAgICAgQSBib29sZWFuLCBUcnVlIGlmIHRoZSBhZGRyZXNzIGlzIGEgbG9vcGJhY2sgcGVyIFJGQyAzMzMwLgogCiAgICAgICAgICIiIgotICAgICAgICBsb29wYmFja19uZXR3b3JrID0gSVB2NE5ldHdvcmsoJzEyNy4wLjAuMC84JykKLSAgICAgICAgcmV0dXJuIHNlbGYgaW4gbG9vcGJhY2tfbmV0d29yaworICAgICAgICByZXR1cm4gc2VsZiBpbiBzZWxmLl9jb25zdGFudHMuX2xvb3BiYWNrX25ldHdvcmsKIAogICAgIEBwcm9wZXJ0eQogICAgIGRlZiBpc19saW5rX2xvY2FsKHNlbGYpOgpAQCAtMTMyMyw4ICsxMzQ4LDcgQEAKICAgICAgICAgICAgIEEgYm9vbGVhbiwgVHJ1ZSBpZiB0aGUgYWRkcmVzcyBpcyBsaW5rLWxvY2FsIHBlciBSRkMgMzkyNy4KIAogICAgICAgICAiIiIKLSAgICAgICAgbGlua2xvY2FsX25ldHdvcmsgPSBJUHY0TmV0d29yaygnMTY5LjI1NC4wLjAvMTYnKQotICAgICAgICByZXR1cm4gc2VsZiBpbiBsaW5rbG9jYWxfbmV0d29yaworICAgICAgICByZXR1cm4gc2VsZiBpbiBzZWxmLl9jb25zdGFudHMuX2xpbmtsb2NhbF9uZXR3b3JrCiAKIAogY2xhc3MgSVB2NEludGVyZmFjZShJUHY0QWRkcmVzcyk6CkBAIC0xMzM2LDYgKzEzNjAsMTggQEAKICAgICAgICAgICAgIHNlbGYuX3ByZWZpeGxlbiA9IHNlbGYuX21heF9wcmVmaXhsZW4KICAgICAgICAgICAgIHJldHVybgogCisgICAgICAgIGlmIGlzaW5zdGFuY2UoYWRkcmVzcywgdHVwbGUpOgorICAgICAgICAgICAgSVB2NEFkZHJlc3MuX19pbml0X18oc2VsZiwgYWRkcmVzc1swXSkKKyAgICAgICAgICAgIGlmIGxlbihhZGRyZXNzKSA+IDE6CisgICAgICAgICAgICAgICAgc2VsZi5fcHJlZml4bGVuID0gaW50KGFkZHJlc3NbMV0pCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIHNlbGYuX3ByZWZpeGxlbiA9IHNlbGYuX21heF9wcmVmaXhsZW4KKworICAgICAgICAgICAgc2VsZi5uZXR3b3JrID0gSVB2NE5ldHdvcmsoYWRkcmVzcywgc3RyaWN0PUZhbHNlKQorICAgICAgICAgICAgc2VsZi5uZXRtYXNrID0gc2VsZi5uZXR3b3JrLm5ldG1hc2sKKyAgICAgICAgICAgIHNlbGYuaG9zdG1hc2sgPSBzZWxmLm5ldHdvcmsuaG9zdG1hc2sKKyAgICAgICAgICAgIHJldHVybgorCiAgICAgICAgIGFkZHIgPSBfc3BsaXRfb3B0aW9uYWxfbmV0bWFzayhhZGRyZXNzKQogICAgICAgICBJUHY0QWRkcmVzcy5fX2luaXRfXyhzZWxmLCBhZGRyWzBdKQogCkBAIC0xMzc1LDYgKzE0MTEsOCBAQAogICAgIGRlZiBfX2hhc2hfXyhzZWxmKToKICAgICAgICAgcmV0dXJuIHNlbGYuX2lwIF4gc2VsZi5fcHJlZml4bGVuIF4gaW50KHNlbGYubmV0d29yay5uZXR3b3JrX2FkZHJlc3MpCiAKKyAgICBfX3JlZHVjZV9fID0gX0lQQWRkcmVzc0Jhc2UuX19yZWR1Y2VfXworCiAgICAgQHByb3BlcnR5CiAgICAgZGVmIGlwKHNlbGYpOgogICAgICAgICByZXR1cm4gSVB2NEFkZHJlc3Moc2VsZi5faXApCkBAIC0xNDUxLDIwICsxNDg5LDI4IEBACiAgICAgICAgIF9CYXNlVjQuX19pbml0X18oc2VsZiwgYWRkcmVzcykKICAgICAgICAgX0Jhc2VOZXR3b3JrLl9faW5pdF9fKHNlbGYsIGFkZHJlc3MpCiAKLSAgICAgICAgIyBDb25zdHJ1Y3RpbmcgZnJvbSBhIHBhY2tlZCBhZGRyZXNzCi0gICAgICAgIGlmIGlzaW5zdGFuY2UoYWRkcmVzcywgYnl0ZXMpOgorICAgICAgICAjIENvbnN0cnVjdGluZyBmcm9tIGEgcGFja2VkIGFkZHJlc3Mgb3IgaW50ZWdlcgorICAgICAgICBpZiBpc2luc3RhbmNlKGFkZHJlc3MsIChpbnQsIGJ5dGVzKSk6CiAgICAgICAgICAgICBzZWxmLm5ldHdvcmtfYWRkcmVzcyA9IElQdjRBZGRyZXNzKGFkZHJlc3MpCi0gICAgICAgICAgICBzZWxmLl9wcmVmaXhsZW4gPSBzZWxmLl9tYXhfcHJlZml4bGVuCi0gICAgICAgICAgICBzZWxmLm5ldG1hc2sgPSBJUHY0QWRkcmVzcyhzZWxmLl9BTExfT05FUykKLSAgICAgICAgICAgICNmaXhtZTogYWRkcmVzcy9uZXR3b3JrIHRlc3QgaGVyZQorICAgICAgICAgICAgc2VsZi5uZXRtYXNrLCBzZWxmLl9wcmVmaXhsZW4gPSBzZWxmLl9tYWtlX25ldG1hc2soc2VsZi5fbWF4X3ByZWZpeGxlbikKKyAgICAgICAgICAgICNmaXhtZTogYWRkcmVzcy9uZXR3b3JrIHRlc3QgaGVyZS4KICAgICAgICAgICAgIHJldHVybgogCi0gICAgICAgICMgRWZmaWNpZW50IGNvbnN0cnVjdG9yIGZyb20gaW50ZWdlci4KLSAgICAgICAgaWYgaXNpbnN0YW5jZShhZGRyZXNzLCBpbnQpOgotICAgICAgICAgICAgc2VsZi5uZXR3b3JrX2FkZHJlc3MgPSBJUHY0QWRkcmVzcyhhZGRyZXNzKQotICAgICAgICAgICAgc2VsZi5fcHJlZml4bGVuID0gc2VsZi5fbWF4X3ByZWZpeGxlbgotICAgICAgICAgICAgc2VsZi5uZXRtYXNrID0gSVB2NEFkZHJlc3Moc2VsZi5fQUxMX09ORVMpCi0gICAgICAgICAgICAjZml4bWU6IGFkZHJlc3MvbmV0d29yayB0ZXN0IGhlcmUuCisgICAgICAgIGlmIGlzaW5zdGFuY2UoYWRkcmVzcywgdHVwbGUpOgorICAgICAgICAgICAgaWYgbGVuKGFkZHJlc3MpID4gMToKKyAgICAgICAgICAgICAgICBhcmcgPSBhZGRyZXNzWzFdCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICMgV2Ugd2VyZW4ndCBnaXZlbiBhbiBhZGRyZXNzWzFdCisgICAgICAgICAgICAgICAgYXJnID0gc2VsZi5fbWF4X3ByZWZpeGxlbgorICAgICAgICAgICAgc2VsZi5uZXR3b3JrX2FkZHJlc3MgPSBJUHY0QWRkcmVzcyhhZGRyZXNzWzBdKQorICAgICAgICAgICAgc2VsZi5uZXRtYXNrLCBzZWxmLl9wcmVmaXhsZW4gPSBzZWxmLl9tYWtlX25ldG1hc2soYXJnKQorICAgICAgICAgICAgcGFja2VkID0gaW50KHNlbGYubmV0d29ya19hZGRyZXNzKQorICAgICAgICAgICAgaWYgcGFja2VkICYgaW50KHNlbGYubmV0bWFzaykgIT0gcGFja2VkOgorICAgICAgICAgICAgICAgIGlmIHN0cmljdDoKKyAgICAgICAgICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcignJXMgaGFzIGhvc3QgYml0cyBzZXQnICUgc2VsZikKKyAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICBzZWxmLm5ldHdvcmtfYWRkcmVzcyA9IElQdjRBZGRyZXNzKHBhY2tlZCAmCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50KHNlbGYubmV0bWFzaykpCiAgICAgICAgICAgICByZXR1cm4KIAogICAgICAgICAjIEFzc3VtZSBpbnB1dCBhcmd1bWVudCB0byBiZSBzdHJpbmcgb3IgYW55IG9iamVjdCByZXByZXNlbnRhdGlvbgpAQCAtMTQ3MywxNiArMTUxOSwxMCBAQAogICAgICAgICBzZWxmLm5ldHdvcmtfYWRkcmVzcyA9IElQdjRBZGRyZXNzKHNlbGYuX2lwX2ludF9mcm9tX3N0cmluZyhhZGRyWzBdKSkKIAogICAgICAgICBpZiBsZW4oYWRkcikgPT0gMjoKLSAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICAjIENoZWNrIGZvciBhIG5ldG1hc2sgaW4gcHJlZml4IGxlbmd0aCBmb3JtCi0gICAgICAgICAgICAgICAgc2VsZi5fcHJlZml4bGVuID0gc2VsZi5fcHJlZml4X2Zyb21fcHJlZml4X3N0cmluZyhhZGRyWzFdKQotICAgICAgICAgICAgZXhjZXB0IE5ldG1hc2tWYWx1ZUVycm9yOgotICAgICAgICAgICAgICAgICMgQ2hlY2sgZm9yIGEgbmV0bWFzayBvciBob3N0bWFzayBpbiBkb3R0ZWQtcXVhZCBmb3JtLgotICAgICAgICAgICAgICAgICMgVGhpcyBtYXkgcmFpc2UgTmV0bWFza1ZhbHVlRXJyb3IuCi0gICAgICAgICAgICAgICAgc2VsZi5fcHJlZml4bGVuID0gc2VsZi5fcHJlZml4X2Zyb21faXBfc3RyaW5nKGFkZHJbMV0pCisgICAgICAgICAgICBhcmcgPSBhZGRyWzFdCiAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBzZWxmLl9wcmVmaXhsZW4gPSBzZWxmLl9tYXhfcHJlZml4bGVuCi0gICAgICAgIHNlbGYubmV0bWFzayA9IElQdjRBZGRyZXNzKHNlbGYuX2lwX2ludF9mcm9tX3ByZWZpeChzZWxmLl9wcmVmaXhsZW4pKQorICAgICAgICAgICAgYXJnID0gc2VsZi5fbWF4X3ByZWZpeGxlbgorICAgICAgICBzZWxmLm5ldG1hc2ssIHNlbGYuX3ByZWZpeGxlbiA9IHNlbGYuX21ha2VfbmV0bWFzayhhcmcpCiAKICAgICAgICAgaWYgc3RyaWN0OgogICAgICAgICAgICAgaWYgKElQdjRBZGRyZXNzKGludChzZWxmLm5ldHdvcmtfYWRkcmVzcykgJiBpbnQoc2VsZi5uZXRtYXNrKSkgIT0KQEAgLTE1MDksNiArMTU0OSwzNyBAQAogICAgICAgICAgICAgICAgIG5vdCBzZWxmLmlzX3ByaXZhdGUpCiAKIAorY2xhc3MgX0lQdjRDb25zdGFudHM6CisgICAgX2xpbmtsb2NhbF9uZXR3b3JrID0gSVB2NE5ldHdvcmsoJzE2OS4yNTQuMC4wLzE2JykKKworICAgIF9sb29wYmFja19uZXR3b3JrID0gSVB2NE5ldHdvcmsoJzEyNy4wLjAuMC84JykKKworICAgIF9tdWx0aWNhc3RfbmV0d29yayA9IElQdjROZXR3b3JrKCcyMjQuMC4wLjAvNCcpCisKKyAgICBfcHJpdmF0ZV9uZXR3b3JrcyA9IFsKKyAgICAgICAgSVB2NE5ldHdvcmsoJzAuMC4wLjAvOCcpLAorICAgICAgICBJUHY0TmV0d29yaygnMTAuMC4wLjAvOCcpLAorICAgICAgICBJUHY0TmV0d29yaygnMTI3LjAuMC4wLzgnKSwKKyAgICAgICAgSVB2NE5ldHdvcmsoJzE2OS4yNTQuMC4wLzE2JyksCisgICAgICAgIElQdjROZXR3b3JrKCcxNzIuMTYuMC4wLzEyJyksCisgICAgICAgIElQdjROZXR3b3JrKCcxOTIuMC4wLjAvMjknKSwKKyAgICAgICAgSVB2NE5ldHdvcmsoJzE5Mi4wLjAuMTcwLzMxJyksCisgICAgICAgIElQdjROZXR3b3JrKCcxOTIuMC4yLjAvMjQnKSwKKyAgICAgICAgSVB2NE5ldHdvcmsoJzE5Mi4xNjguMC4wLzE2JyksCisgICAgICAgIElQdjROZXR3b3JrKCcxOTguMTguMC4wLzE1JyksCisgICAgICAgIElQdjROZXR3b3JrKCcxOTguNTEuMTAwLjAvMjQnKSwKKyAgICAgICAgSVB2NE5ldHdvcmsoJzIwMy4wLjExMy4wLzI0JyksCisgICAgICAgIElQdjROZXR3b3JrKCcyNDAuMC4wLjAvNCcpLAorICAgICAgICBJUHY0TmV0d29yaygnMjU1LjI1NS4yNTUuMjU1LzMyJyksCisgICAgICAgIF0KKworICAgIF9yZXNlcnZlZF9uZXR3b3JrID0gSVB2NE5ldHdvcmsoJzI0MC4wLjAuMC80JykKKworICAgIF91bnNwZWNpZmllZF9hZGRyZXNzID0gSVB2NEFkZHJlc3MoJzAuMC4wLjAnKQorCisKK0lQdjRBZGRyZXNzLl9jb25zdGFudHMgPSBfSVB2NENvbnN0YW50cworCiAKIGNsYXNzIF9CYXNlVjY6CiAKQEAgLTE1MjIsMTIgKzE1OTMsMzUgQEAKICAgICBfQUxMX09ORVMgPSAoMioqSVBWNkxFTkdUSCkgLSAxCiAgICAgX0hFWFRFVF9DT1VOVCA9IDgKICAgICBfSEVYX0RJR0lUUyA9IGZyb3plbnNldCgnMDEyMzQ1Njc4OUFCQ0RFRmFiY2RlZicpCisgICAgX21heF9wcmVmaXhsZW4gPSBJUFY2TEVOR1RICisKKyAgICAjIFRoZXJlIGFyZSBvbmx5IGEgYnVuY2ggb2YgdmFsaWQgdjYgbmV0bWFza3MsIHNvIHdlIGNhY2hlIHRoZW0gYWxsCisgICAgIyB3aGVuIGNvbnN0cnVjdGVkIChzZWUgX21ha2VfbmV0bWFzaygpKS4KKyAgICBfbmV0bWFza19jYWNoZSA9IHt9CiAKICAgICBkZWYgX19pbml0X18oc2VsZiwgYWRkcmVzcyk6CiAgICAgICAgIHNlbGYuX3ZlcnNpb24gPSA2Ci0gICAgICAgIHNlbGYuX21heF9wcmVmaXhsZW4gPSBJUFY2TEVOR1RICiAKLSAgICBkZWYgX2lwX2ludF9mcm9tX3N0cmluZyhzZWxmLCBpcF9zdHIpOgorICAgIEBjbGFzc21ldGhvZAorICAgIGRlZiBfbWFrZV9uZXRtYXNrKGNscywgYXJnKToKKyAgICAgICAgIiIiTWFrZSBhIChuZXRtYXNrLCBwcmVmaXhfbGVuKSB0dXBsZSBmcm9tIHRoZSBnaXZlbiBhcmd1bWVudC4KKworICAgICAgICBBcmd1bWVudCBjYW4gYmU6CisgICAgICAgIC0gYW4gaW50ZWdlciAodGhlIHByZWZpeCBsZW5ndGgpCisgICAgICAgIC0gYSBzdHJpbmcgcmVwcmVzZW50aW5nIHRoZSBwcmVmaXggbGVuZ3RoIChlLmcuICIyNCIpCisgICAgICAgIC0gYSBzdHJpbmcgcmVwcmVzZW50aW5nIHRoZSBwcmVmaXggbmV0bWFzayAoZS5nLiAiMjU1LjI1NS4yNTUuMCIpCisgICAgICAgICIiIgorICAgICAgICBpZiBhcmcgbm90IGluIGNscy5fbmV0bWFza19jYWNoZToKKyAgICAgICAgICAgIGlmIGlzaW5zdGFuY2UoYXJnLCBpbnQpOgorICAgICAgICAgICAgICAgIHByZWZpeGxlbiA9IGFyZworICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBwcmVmaXhsZW4gPSBjbHMuX3ByZWZpeF9mcm9tX3ByZWZpeF9zdHJpbmcoYXJnKQorICAgICAgICAgICAgbmV0bWFzayA9IElQdjZBZGRyZXNzKGNscy5faXBfaW50X2Zyb21fcHJlZml4KHByZWZpeGxlbikpCisgICAgICAgICAgICBjbHMuX25ldG1hc2tfY2FjaGVbYXJnXSA9IG5ldG1hc2ssIHByZWZpeGxlbgorICAgICAgICByZXR1cm4gY2xzLl9uZXRtYXNrX2NhY2hlW2FyZ10KKworICAgIEBjbGFzc21ldGhvZAorICAgIGRlZiBfaXBfaW50X2Zyb21fc3RyaW5nKGNscywgaXBfc3RyKToKICAgICAgICAgIiIiVHVybiBhbiBJUHY2IGlwX3N0ciBpbnRvIGFuIGludGVnZXIuCiAKICAgICAgICAgQXJnczoKQEAgLTE1NjMsNyArMTY1Nyw3IEBACiAgICAgICAgICMgQW4gSVB2NiBhZGRyZXNzIGNhbid0IGhhdmUgbW9yZSB0aGFuIDggY29sb25zICg5IHBhcnRzKS4KICAgICAgICAgIyBUaGUgZXh0cmEgY29sb24gY29tZXMgZnJvbSB1c2luZyB0aGUgIjo6IiBub3RhdGlvbiBmb3IgYSBzaW5nbGUKICAgICAgICAgIyBsZWFkaW5nIG9yIHRyYWlsaW5nIHplcm8gcGFydC4KLSAgICAgICAgX21heF9wYXJ0cyA9IHNlbGYuX0hFWFRFVF9DT1VOVCArIDEKKyAgICAgICAgX21heF9wYXJ0cyA9IGNscy5fSEVYVEVUX0NPVU5UICsgMQogICAgICAgICBpZiBsZW4ocGFydHMpID4gX21heF9wYXJ0czoKICAgICAgICAgICAgIG1zZyA9ICJBdCBtb3N0ICVkIGNvbG9ucyBwZXJtaXR0ZWQgaW4gJXIiICUgKF9tYXhfcGFydHMtMSwgaXBfc3RyKQogICAgICAgICAgICAgcmFpc2UgQWRkcmVzc1ZhbHVlRXJyb3IobXNnKQpAQCAtMTU5NSwxNyArMTY4OSwxNyBAQAogICAgICAgICAgICAgICAgIGlmIHBhcnRzX2xvOgogICAgICAgICAgICAgICAgICAgICBtc2cgPSAiVHJhaWxpbmcgJzonIG9ubHkgcGVybWl0dGVkIGFzIHBhcnQgb2YgJzo6JyBpbiAlciIKICAgICAgICAgICAgICAgICAgICAgcmFpc2UgQWRkcmVzc1ZhbHVlRXJyb3IobXNnICUgaXBfc3RyKSAgIyA6JCByZXF1aXJlcyA6OiQKLSAgICAgICAgICAgIHBhcnRzX3NraXBwZWQgPSBzZWxmLl9IRVhURVRfQ09VTlQgLSAocGFydHNfaGkgKyBwYXJ0c19sbykKKyAgICAgICAgICAgIHBhcnRzX3NraXBwZWQgPSBjbHMuX0hFWFRFVF9DT1VOVCAtIChwYXJ0c19oaSArIHBhcnRzX2xvKQogICAgICAgICAgICAgaWYgcGFydHNfc2tpcHBlZCA8IDE6CiAgICAgICAgICAgICAgICAgbXNnID0gIkV4cGVjdGVkIGF0IG1vc3QgJWQgb3RoZXIgcGFydHMgd2l0aCAnOjonIGluICVyIgotICAgICAgICAgICAgICAgIHJhaXNlIEFkZHJlc3NWYWx1ZUVycm9yKG1zZyAlIChzZWxmLl9IRVhURVRfQ09VTlQtMSwgaXBfc3RyKSkKKyAgICAgICAgICAgICAgICByYWlzZSBBZGRyZXNzVmFsdWVFcnJvcihtc2cgJSAoY2xzLl9IRVhURVRfQ09VTlQtMSwgaXBfc3RyKSkKICAgICAgICAgZWxzZToKICAgICAgICAgICAgICMgT3RoZXJ3aXNlLCBhbGxvY2F0ZSB0aGUgZW50aXJlIGFkZHJlc3MgdG8gcGFydHNfaGkuICBUaGUKICAgICAgICAgICAgICMgZW5kcG9pbnRzIGNvdWxkIHN0aWxsIGJlIGVtcHR5LCBidXQgX3BhcnNlX2hleHRldCgpIHdpbGwgY2hlY2sKICAgICAgICAgICAgICMgZm9yIHRoYXQuCi0gICAgICAgICAgICBpZiBsZW4ocGFydHMpICE9IHNlbGYuX0hFWFRFVF9DT1VOVDoKKyAgICAgICAgICAgIGlmIGxlbihwYXJ0cykgIT0gY2xzLl9IRVhURVRfQ09VTlQ6CiAgICAgICAgICAgICAgICAgbXNnID0gIkV4YWN0bHkgJWQgcGFydHMgZXhwZWN0ZWQgd2l0aG91dCAnOjonIGluICVyIgotICAgICAgICAgICAgICAgIHJhaXNlIEFkZHJlc3NWYWx1ZUVycm9yKG1zZyAlIChzZWxmLl9IRVhURVRfQ09VTlQsIGlwX3N0cikpCisgICAgICAgICAgICAgICAgcmFpc2UgQWRkcmVzc1ZhbHVlRXJyb3IobXNnICUgKGNscy5fSEVYVEVUX0NPVU5ULCBpcF9zdHIpKQogICAgICAgICAgICAgaWYgbm90IHBhcnRzWzBdOgogICAgICAgICAgICAgICAgIG1zZyA9ICJMZWFkaW5nICc6JyBvbmx5IHBlcm1pdHRlZCBhcyBwYXJ0IG9mICc6OicgaW4gJXIiCiAgICAgICAgICAgICAgICAgcmFpc2UgQWRkcmVzc1ZhbHVlRXJyb3IobXNnICUgaXBfc3RyKSAgIyBeOiByZXF1aXJlcyBeOjoKQEAgLTE2MjEsMTYgKzE3MTUsMTcgQEAKICAgICAgICAgICAgIGlwX2ludCA9IDAKICAgICAgICAgICAgIGZvciBpIGluIHJhbmdlKHBhcnRzX2hpKToKICAgICAgICAgICAgICAgICBpcF9pbnQgPDw9IDE2Ci0gICAgICAgICAgICAgICAgaXBfaW50IHw9IHNlbGYuX3BhcnNlX2hleHRldChwYXJ0c1tpXSkKKyAgICAgICAgICAgICAgICBpcF9pbnQgfD0gY2xzLl9wYXJzZV9oZXh0ZXQocGFydHNbaV0pCiAgICAgICAgICAgICBpcF9pbnQgPDw9IDE2ICogcGFydHNfc2tpcHBlZAogICAgICAgICAgICAgZm9yIGkgaW4gcmFuZ2UoLXBhcnRzX2xvLCAwKToKICAgICAgICAgICAgICAgICBpcF9pbnQgPDw9IDE2Ci0gICAgICAgICAgICAgICAgaXBfaW50IHw9IHNlbGYuX3BhcnNlX2hleHRldChwYXJ0c1tpXSkKKyAgICAgICAgICAgICAgICBpcF9pbnQgfD0gY2xzLl9wYXJzZV9oZXh0ZXQocGFydHNbaV0pCiAgICAgICAgICAgICByZXR1cm4gaXBfaW50CiAgICAgICAgIGV4Y2VwdCBWYWx1ZUVycm9yIGFzIGV4YzoKICAgICAgICAgICAgIHJhaXNlIEFkZHJlc3NWYWx1ZUVycm9yKCIlcyBpbiAlciIgJSAoZXhjLCBpcF9zdHIpKSBmcm9tIE5vbmUKIAotICAgIGRlZiBfcGFyc2VfaGV4dGV0KHNlbGYsIGhleHRldF9zdHIpOgorICAgIEBjbGFzc21ldGhvZAorICAgIGRlZiBfcGFyc2VfaGV4dGV0KGNscywgaGV4dGV0X3N0cik6CiAgICAgICAgICIiIkNvbnZlcnQgYW4gSVB2NiBoZXh0ZXQgc3RyaW5nIGludG8gYW4gaW50ZWdlci4KIAogICAgICAgICBBcmdzOgpAQCAtMTY0NSw3ICsxNzQwLDcgQEAKIAogICAgICAgICAiIiIKICAgICAgICAgIyBXaGl0ZWxpc3QgdGhlIGNoYXJhY3RlcnMsIHNpbmNlIGludCgpIGFsbG93cyBhIGxvdCBvZiBiaXphcnJlIHN0dWZmLgotICAgICAgICBpZiBub3Qgc2VsZi5fSEVYX0RJR0lUUy5pc3N1cGVyc2V0KGhleHRldF9zdHIpOgorICAgICAgICBpZiBub3QgY2xzLl9IRVhfRElHSVRTLmlzc3VwZXJzZXQoaGV4dGV0X3N0cik6CiAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJPbmx5IGhleCBkaWdpdHMgcGVybWl0dGVkIGluICVyIiAlIGhleHRldF9zdHIpCiAgICAgICAgICMgV2UgZG8gdGhlIGxlbmd0aCBjaGVjayBzZWNvbmQsIHNpbmNlIHRoZSBpbnZhbGlkIGNoYXJhY3RlciBlcnJvcgogICAgICAgICAjIGlzIGxpa2VseSB0byBiZSBtb3JlIGluZm9ybWF0aXZlIGZvciB0aGUgdXNlcgpAQCAtMTY1NSw3ICsxNzUwLDggQEAKICAgICAgICAgIyBMZW5ndGggY2hlY2sgbWVhbnMgd2UgY2FuIHNraXAgY2hlY2tpbmcgdGhlIGludGVnZXIgdmFsdWUKICAgICAgICAgcmV0dXJuIGludChoZXh0ZXRfc3RyLCAxNikKIAotICAgIGRlZiBfY29tcHJlc3NfaGV4dGV0cyhzZWxmLCBoZXh0ZXRzKToKKyAgICBAY2xhc3NtZXRob2QKKyAgICBkZWYgX2NvbXByZXNzX2hleHRldHMoY2xzLCBoZXh0ZXRzKToKICAgICAgICAgIiIiQ29tcHJlc3NlcyBhIGxpc3Qgb2YgaGV4dGV0cy4KIAogICAgICAgICBDb21wcmVzc2VzIGEgbGlzdCBvZiBzdHJpbmdzLCByZXBsYWNpbmcgdGhlIGxvbmdlc3QgY29udGludW91cwpAQCAtMTcwMiw3ICsxNzk4LDggQEAKIAogICAgICAgICByZXR1cm4gaGV4dGV0cwogCi0gICAgZGVmIF9zdHJpbmdfZnJvbV9pcF9pbnQoc2VsZiwgaXBfaW50PU5vbmUpOgorICAgIEBjbGFzc21ldGhvZAorICAgIGRlZiBfc3RyaW5nX2Zyb21faXBfaW50KGNscywgaXBfaW50PU5vbmUpOgogICAgICAgICAiIiJUdXJucyBhIDEyOC1iaXQgaW50ZWdlciBpbnRvIGhleGFkZWNpbWFsIG5vdGF0aW9uLgogCiAgICAgICAgIEFyZ3M6CkBAIC0xNzE2LDE1ICsxODEzLDE1IEBACiAKICAgICAgICAgIiIiCiAgICAgICAgIGlmIGlwX2ludCBpcyBOb25lOgotICAgICAgICAgICAgaXBfaW50ID0gaW50KHNlbGYuX2lwKQorICAgICAgICAgICAgaXBfaW50ID0gaW50KGNscy5faXApCiAKLSAgICAgICAgaWYgaXBfaW50ID4gc2VsZi5fQUxMX09ORVM6CisgICAgICAgIGlmIGlwX2ludCA+IGNscy5fQUxMX09ORVM6CiAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCdJUHY2IGFkZHJlc3MgaXMgdG9vIGxhcmdlJykKIAogICAgICAgICBoZXhfc3RyID0gJyUwMzJ4JyAlIGlwX2ludAogICAgICAgICBoZXh0ZXRzID0gWycleCcgJSBpbnQoaGV4X3N0clt4OngrNF0sIDE2KSBmb3IgeCBpbiByYW5nZSgwLCAzMiwgNCldCiAKLSAgICAgICAgaGV4dGV0cyA9IHNlbGYuX2NvbXByZXNzX2hleHRldHMoaGV4dGV0cykKKyAgICAgICAgaGV4dGV0cyA9IGNscy5fY29tcHJlc3NfaGV4dGV0cyhoZXh0ZXRzKQogICAgICAgICByZXR1cm4gJzonLmpvaW4oaGV4dGV0cykKIAogICAgIGRlZiBfZXhwbG9kZV9zaG9ydGhhbmRfaXBfc3RyaW5nKHNlbGYpOgpAQCAtMTc1MSw2ICsxODQ4LDE1IEBACiAgICAgICAgICAgICByZXR1cm4gJyVzLyVkJyAlICgnOicuam9pbihwYXJ0cyksIHNlbGYuX3ByZWZpeGxlbikKICAgICAgICAgcmV0dXJuICc6Jy5qb2luKHBhcnRzKQogCisgICAgZGVmIF9yZXZlcnNlX3BvaW50ZXIoc2VsZik6CisgICAgICAgICIiIlJldHVybiB0aGUgcmV2ZXJzZSBETlMgcG9pbnRlciBuYW1lIGZvciB0aGUgSVB2NiBhZGRyZXNzLgorCisgICAgICAgIFRoaXMgaW1wbGVtZW50cyB0aGUgbWV0aG9kIGRlc2NyaWJlZCBpbiBSRkMzNTk2IDIuNS4KKworICAgICAgICAiIiIKKyAgICAgICAgcmV2ZXJzZV9jaGFycyA9IHNlbGYuZXhwbG9kZWRbOjotMV0ucmVwbGFjZSgnOicsICcnKQorICAgICAgICByZXR1cm4gJy4nLmpvaW4ocmV2ZXJzZV9jaGFycykgKyAnLmlwNi5hcnBhJworCiAgICAgQHByb3BlcnR5CiAgICAgZGVmIG1heF9wcmVmaXhsZW4oc2VsZik6CiAgICAgICAgIHJldHVybiBzZWxmLl9tYXhfcHJlZml4bGVuCkBAIC0xNzgxLDcgKzE4ODcsNiBAQAogICAgICAgICAgICAgQWRkcmVzc1ZhbHVlRXJyb3I6IElmIGFkZHJlc3MgaXNuJ3QgYSB2YWxpZCBJUHY2IGFkZHJlc3MuCiAKICAgICAgICAgIiIiCi0gICAgICAgIF9CYXNlQWRkcmVzcy5fX2luaXRfXyhzZWxmLCBhZGRyZXNzKQogICAgICAgICBfQmFzZVY2Ll9faW5pdF9fKHNlbGYsIGFkZHJlc3MpCiAKICAgICAgICAgIyBFZmZpY2llbnQgY29uc3RydWN0b3IgZnJvbSBpbnRlZ2VyLgpAQCAtMTc5OSw2ICsxOTA0LDggQEAKICAgICAgICAgIyBBc3N1bWUgaW5wdXQgYXJndW1lbnQgdG8gYmUgc3RyaW5nIG9yIGFueSBvYmplY3QgcmVwcmVzZW50YXRpb24KICAgICAgICAgIyB3aGljaCBjb252ZXJ0cyBpbnRvIGEgZm9ybWF0dGVkIElQIHN0cmluZy4KICAgICAgICAgYWRkcl9zdHIgPSBzdHIoYWRkcmVzcykKKyAgICAgICAgaWYgJy8nIGluIGFkZHJfc3RyOgorICAgICAgICAgICAgcmFpc2UgQWRkcmVzc1ZhbHVlRXJyb3IoIlVuZXhwZWN0ZWQgJy8nIGluICVyIiAlIGFkZHJlc3MpCiAgICAgICAgIHNlbGYuX2lwID0gc2VsZi5faXBfaW50X2Zyb21fc3RyaW5nKGFkZHJfc3RyKQogCiAgICAgQHByb3BlcnR5CkBAIC0xODE1LDggKzE5MjIsNyBAQAogICAgICAgICAgICAgU2VlIFJGQyAyMzczIDIuNyBmb3IgZGV0YWlscy4KIAogICAgICAgICAiIiIKLSAgICAgICAgbXVsdGljYXN0X25ldHdvcmsgPSBJUHY2TmV0d29yaygnZmYwMDo6LzgnKQotICAgICAgICByZXR1cm4gc2VsZiBpbiBtdWx0aWNhc3RfbmV0d29yaworICAgICAgICByZXR1cm4gc2VsZiBpbiBzZWxmLl9jb25zdGFudHMuX211bHRpY2FzdF9uZXR3b3JrCiAKICAgICBAcHJvcGVydHkKICAgICBkZWYgaXNfcmVzZXJ2ZWQoc2VsZik6CkBAIC0xODI3LDE2ICsxOTMzLDcgQEAKICAgICAgICAgICAgIHJlc2VydmVkIElQdjYgTmV0d29yayByYW5nZXMuCiAKICAgICAgICAgIiIiCi0gICAgICAgIHJlc2VydmVkX25ldHdvcmtzID0gW0lQdjZOZXR3b3JrKCc6Oi84JyksIElQdjZOZXR3b3JrKCcxMDA6Oi84JyksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIElQdjZOZXR3b3JrKCcyMDA6Oi83JyksIElQdjZOZXR3b3JrKCc0MDA6Oi82JyksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIElQdjZOZXR3b3JrKCc4MDA6Oi81JyksIElQdjZOZXR3b3JrKCcxMDAwOjovNCcpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJUHY2TmV0d29yaygnNDAwMDo6LzMnKSwgSVB2Nk5ldHdvcmsoJzYwMDA6Oi8zJyksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIElQdjZOZXR3b3JrKCc4MDAwOjovMycpLCBJUHY2TmV0d29yaygnQTAwMDo6LzMnKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSVB2Nk5ldHdvcmsoJ0MwMDA6Oi8zJyksIElQdjZOZXR3b3JrKCdFMDAwOjovNCcpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJUHY2TmV0d29yaygnRjAwMDo6LzUnKSwgSVB2Nk5ldHdvcmsoJ0Y4MDA6Oi82JyksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIElQdjZOZXR3b3JrKCdGRTAwOjovOScpXQotCi0gICAgICAgIHJldHVybiBhbnkoc2VsZiBpbiB4IGZvciB4IGluIHJlc2VydmVkX25ldHdvcmtzKQorICAgICAgICByZXR1cm4gYW55KHNlbGYgaW4geCBmb3IgeCBpbiBzZWxmLl9jb25zdGFudHMuX3Jlc2VydmVkX25ldHdvcmtzKQogCiAgICAgQHByb3BlcnR5CiAgICAgZGVmIGlzX2xpbmtfbG9jYWwoc2VsZik6CkBAIC0xODQ2LDggKzE5NDMsNyBAQAogICAgICAgICAgICAgQSBib29sZWFuLCBUcnVlIGlmIHRoZSBhZGRyZXNzIGlzIHJlc2VydmVkIHBlciBSRkMgNDI5MS4KIAogICAgICAgICAiIiIKLSAgICAgICAgbGlua2xvY2FsX25ldHdvcmsgPSBJUHY2TmV0d29yaygnZmU4MDo6LzEwJykKLSAgICAgICAgcmV0dXJuIHNlbGYgaW4gbGlua2xvY2FsX25ldHdvcmsKKyAgICAgICAgcmV0dXJuIHNlbGYgaW4gc2VsZi5fY29uc3RhbnRzLl9saW5rbG9jYWxfbmV0d29yawogCiAgICAgQHByb3BlcnR5CiAgICAgZGVmIGlzX3NpdGVfbG9jYWwoc2VsZik6CkBAIC0xODYxLDggKzE5NTcsNyBAQAogICAgICAgICAgICAgQSBib29sZWFuLCBUcnVlIGlmIHRoZSBhZGRyZXNzIGlzIHJlc2VydmVkIHBlciBSRkMgMzUxMyAyLjUuNi4KIAogICAgICAgICAiIiIKLSAgICAgICAgc2l0ZWxvY2FsX25ldHdvcmsgPSBJUHY2TmV0d29yaygnZmVjMDo6LzEwJykKLSAgICAgICAgcmV0dXJuIHNlbGYgaW4gc2l0ZWxvY2FsX25ldHdvcmsKKyAgICAgICAgcmV0dXJuIHNlbGYgaW4gc2VsZi5fY29uc3RhbnRzLl9zaXRlbG9jYWxfbmV0d29yawogCiAgICAgQHByb3BlcnR5CiAgICAgQGZ1bmN0b29scy5scnVfY2FjaGUoKQpAQCAtMTg3NCwxNiArMTk2OSw3IEBACiAgICAgICAgICAgICBpYW5hLWlwdjYtc3BlY2lhbC1yZWdpc3RyeS4KIAogICAgICAgICAiIiIKLSAgICAgICAgcmV0dXJuIChzZWxmIGluIElQdjZOZXR3b3JrKCc6OjEvMTI4Jykgb3IKLSAgICAgICAgICAgICAgICBzZWxmIGluIElQdjZOZXR3b3JrKCc6Oi8xMjgnKSBvcgotICAgICAgICAgICAgICAgIHNlbGYgaW4gSVB2Nk5ldHdvcmsoJzo6ZmZmZjowOjAvOTYnKSBvcgotICAgICAgICAgICAgICAgIHNlbGYgaW4gSVB2Nk5ldHdvcmsoJzEwMDo6LzY0Jykgb3IKLSAgICAgICAgICAgICAgICBzZWxmIGluIElQdjZOZXR3b3JrKCcyMDAxOjovMjMnKSBvcgotICAgICAgICAgICAgICAgIHNlbGYgaW4gSVB2Nk5ldHdvcmsoJzIwMDE6Mjo6LzQ4Jykgb3IKLSAgICAgICAgICAgICAgICBzZWxmIGluIElQdjZOZXR3b3JrKCcyMDAxOmRiODo6LzMyJykgb3IKLSAgICAgICAgICAgICAgICBzZWxmIGluIElQdjZOZXR3b3JrKCcyMDAxOjEwOjovMjgnKSBvcgotICAgICAgICAgICAgICAgIHNlbGYgaW4gSVB2Nk5ldHdvcmsoJ2ZjMDA6Oi83Jykgb3IKLSAgICAgICAgICAgICAgICBzZWxmIGluIElQdjZOZXR3b3JrKCdmZTgwOjovMTAnKSkKKyAgICAgICAgcmV0dXJuIGFueShzZWxmIGluIG5ldCBmb3IgbmV0IGluIHNlbGYuX2NvbnN0YW50cy5fcHJpdmF0ZV9uZXR3b3JrcykKIAogICAgIEBwcm9wZXJ0eQogICAgIGRlZiBpc19nbG9iYWwoc2VsZik6CkBAIC0xOTY4LDYgKzIwNTQsMTYgQEAKICAgICAgICAgICAgIHNlbGYubmV0d29yayA9IElQdjZOZXR3b3JrKHNlbGYuX2lwKQogICAgICAgICAgICAgc2VsZi5fcHJlZml4bGVuID0gc2VsZi5fbWF4X3ByZWZpeGxlbgogICAgICAgICAgICAgcmV0dXJuCisgICAgICAgIGlmIGlzaW5zdGFuY2UoYWRkcmVzcywgdHVwbGUpOgorICAgICAgICAgICAgSVB2NkFkZHJlc3MuX19pbml0X18oc2VsZiwgYWRkcmVzc1swXSkKKyAgICAgICAgICAgIGlmIGxlbihhZGRyZXNzKSA+IDE6CisgICAgICAgICAgICAgICAgc2VsZi5fcHJlZml4bGVuID0gaW50KGFkZHJlc3NbMV0pCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIHNlbGYuX3ByZWZpeGxlbiA9IHNlbGYuX21heF9wcmVmaXhsZW4KKyAgICAgICAgICAgIHNlbGYubmV0d29yayA9IElQdjZOZXR3b3JrKGFkZHJlc3MsIHN0cmljdD1GYWxzZSkKKyAgICAgICAgICAgIHNlbGYubmV0bWFzayA9IHNlbGYubmV0d29yay5uZXRtYXNrCisgICAgICAgICAgICBzZWxmLmhvc3RtYXNrID0gc2VsZi5uZXR3b3JrLmhvc3RtYXNrCisgICAgICAgICAgICByZXR1cm4KIAogICAgICAgICBhZGRyID0gX3NwbGl0X29wdGlvbmFsX25ldG1hc2soYWRkcmVzcykKICAgICAgICAgSVB2NkFkZHJlc3MuX19pbml0X18oc2VsZiwgYWRkclswXSkKQEAgLTIwMDYsNiArMjEwMiw4IEBACiAgICAgZGVmIF9faGFzaF9fKHNlbGYpOgogICAgICAgICByZXR1cm4gc2VsZi5faXAgXiBzZWxmLl9wcmVmaXhsZW4gXiBpbnQoc2VsZi5uZXR3b3JrLm5ldHdvcmtfYWRkcmVzcykKIAorICAgIF9fcmVkdWNlX18gPSBfSVBBZGRyZXNzQmFzZS5fX3JlZHVjZV9fCisKICAgICBAcHJvcGVydHkKICAgICBkZWYgaXAoc2VsZik6CiAgICAgICAgIHJldHVybiBJUHY2QWRkcmVzcyhzZWxmLl9pcCkKQEAgLTIwODUsMTggKzIxODMsMjYgQEAKICAgICAgICAgX0Jhc2VWNi5fX2luaXRfXyhzZWxmLCBhZGRyZXNzKQogICAgICAgICBfQmFzZU5ldHdvcmsuX19pbml0X18oc2VsZiwgYWRkcmVzcykKIAotICAgICAgICAjIEVmZmljaWVudCBjb25zdHJ1Y3RvciBmcm9tIGludGVnZXIuCi0gICAgICAgIGlmIGlzaW5zdGFuY2UoYWRkcmVzcywgaW50KToKKyAgICAgICAgIyBFZmZpY2llbnQgY29uc3RydWN0b3IgZnJvbSBpbnRlZ2VyIG9yIHBhY2tlZCBhZGRyZXNzCisgICAgICAgIGlmIGlzaW5zdGFuY2UoYWRkcmVzcywgKGJ5dGVzLCBpbnQpKToKICAgICAgICAgICAgIHNlbGYubmV0d29ya19hZGRyZXNzID0gSVB2NkFkZHJlc3MoYWRkcmVzcykKLSAgICAgICAgICAgIHNlbGYuX3ByZWZpeGxlbiA9IHNlbGYuX21heF9wcmVmaXhsZW4KLSAgICAgICAgICAgIHNlbGYubmV0bWFzayA9IElQdjZBZGRyZXNzKHNlbGYuX0FMTF9PTkVTKQorICAgICAgICAgICAgc2VsZi5uZXRtYXNrLCBzZWxmLl9wcmVmaXhsZW4gPSBzZWxmLl9tYWtlX25ldG1hc2soc2VsZi5fbWF4X3ByZWZpeGxlbikKICAgICAgICAgICAgIHJldHVybgogCi0gICAgICAgICMgQ29uc3RydWN0aW5nIGZyb20gYSBwYWNrZWQgYWRkcmVzcwotICAgICAgICBpZiBpc2luc3RhbmNlKGFkZHJlc3MsIGJ5dGVzKToKLSAgICAgICAgICAgIHNlbGYubmV0d29ya19hZGRyZXNzID0gSVB2NkFkZHJlc3MoYWRkcmVzcykKLSAgICAgICAgICAgIHNlbGYuX3ByZWZpeGxlbiA9IHNlbGYuX21heF9wcmVmaXhsZW4KLSAgICAgICAgICAgIHNlbGYubmV0bWFzayA9IElQdjZBZGRyZXNzKHNlbGYuX0FMTF9PTkVTKQorICAgICAgICBpZiBpc2luc3RhbmNlKGFkZHJlc3MsIHR1cGxlKToKKyAgICAgICAgICAgIGlmIGxlbihhZGRyZXNzKSA+IDE6CisgICAgICAgICAgICAgICAgYXJnID0gYWRkcmVzc1sxXQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBhcmcgPSBzZWxmLl9tYXhfcHJlZml4bGVuCisgICAgICAgICAgICBzZWxmLm5ldG1hc2ssIHNlbGYuX3ByZWZpeGxlbiA9IHNlbGYuX21ha2VfbmV0bWFzayhhcmcpCisgICAgICAgICAgICBzZWxmLm5ldHdvcmtfYWRkcmVzcyA9IElQdjZBZGRyZXNzKGFkZHJlc3NbMF0pCisgICAgICAgICAgICBwYWNrZWQgPSBpbnQoc2VsZi5uZXR3b3JrX2FkZHJlc3MpCisgICAgICAgICAgICBpZiBwYWNrZWQgJiBpbnQoc2VsZi5uZXRtYXNrKSAhPSBwYWNrZWQ6CisgICAgICAgICAgICAgICAgaWYgc3RyaWN0OgorICAgICAgICAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCclcyBoYXMgaG9zdCBiaXRzIHNldCcgJSBzZWxmKQorICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgIHNlbGYubmV0d29ya19hZGRyZXNzID0gSVB2NkFkZHJlc3MocGFja2VkICYKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQoc2VsZi5uZXRtYXNrKSkKICAgICAgICAgICAgIHJldHVybgogCiAgICAgICAgICMgQXNzdW1lIGlucHV0IGFyZ3VtZW50IHRvIGJlIHN0cmluZyBvciBhbnkgb2JqZWN0IHJlcHJlc2VudGF0aW9uCkBAIC0yMTA2LDEyICsyMjEyLDExIEBACiAgICAgICAgIHNlbGYubmV0d29ya19hZGRyZXNzID0gSVB2NkFkZHJlc3Moc2VsZi5faXBfaW50X2Zyb21fc3RyaW5nKGFkZHJbMF0pKQogCiAgICAgICAgIGlmIGxlbihhZGRyKSA9PSAyOgotICAgICAgICAgICAgIyBUaGlzIG1heSByYWlzZSBOZXRtYXNrVmFsdWVFcnJvcgotICAgICAgICAgICAgc2VsZi5fcHJlZml4bGVuID0gc2VsZi5fcHJlZml4X2Zyb21fcHJlZml4X3N0cmluZyhhZGRyWzFdKQorICAgICAgICAgICAgYXJnID0gYWRkclsxXQogICAgICAgICBlbHNlOgotICAgICAgICAgICAgc2VsZi5fcHJlZml4bGVuID0gc2VsZi5fbWF4X3ByZWZpeGxlbgorICAgICAgICAgICAgYXJnID0gc2VsZi5fbWF4X3ByZWZpeGxlbgorICAgICAgICBzZWxmLm5ldG1hc2ssIHNlbGYuX3ByZWZpeGxlbiA9IHNlbGYuX21ha2VfbmV0bWFzayhhcmcpCiAKLSAgICAgICAgc2VsZi5uZXRtYXNrID0gSVB2NkFkZHJlc3Moc2VsZi5faXBfaW50X2Zyb21fcHJlZml4KHNlbGYuX3ByZWZpeGxlbikpCiAgICAgICAgIGlmIHN0cmljdDoKICAgICAgICAgICAgIGlmIChJUHY2QWRkcmVzcyhpbnQoc2VsZi5uZXR3b3JrX2FkZHJlc3MpICYgaW50KHNlbGYubmV0bWFzaykpICE9CiAgICAgICAgICAgICAgICAgc2VsZi5uZXR3b3JrX2FkZHJlc3MpOgpAQCAtMjE0OCwzICsyMjUzLDM5IEBACiAgICAgICAgICIiIgogICAgICAgICByZXR1cm4gKHNlbGYubmV0d29ya19hZGRyZXNzLmlzX3NpdGVfbG9jYWwgYW5kCiAgICAgICAgICAgICAgICAgc2VsZi5icm9hZGNhc3RfYWRkcmVzcy5pc19zaXRlX2xvY2FsKQorCisKK2NsYXNzIF9JUHY2Q29uc3RhbnRzOgorCisgICAgX2xpbmtsb2NhbF9uZXR3b3JrID0gSVB2Nk5ldHdvcmsoJ2ZlODA6Oi8xMCcpCisKKyAgICBfbXVsdGljYXN0X25ldHdvcmsgPSBJUHY2TmV0d29yaygnZmYwMDo6LzgnKQorCisgICAgX3ByaXZhdGVfbmV0d29ya3MgPSBbCisgICAgICAgIElQdjZOZXR3b3JrKCc6OjEvMTI4JyksCisgICAgICAgIElQdjZOZXR3b3JrKCc6Oi8xMjgnKSwKKyAgICAgICAgSVB2Nk5ldHdvcmsoJzo6ZmZmZjowOjAvOTYnKSwKKyAgICAgICAgSVB2Nk5ldHdvcmsoJzEwMDo6LzY0JyksCisgICAgICAgIElQdjZOZXR3b3JrKCcyMDAxOjovMjMnKSwKKyAgICAgICAgSVB2Nk5ldHdvcmsoJzIwMDE6Mjo6LzQ4JyksCisgICAgICAgIElQdjZOZXR3b3JrKCcyMDAxOmRiODo6LzMyJyksCisgICAgICAgIElQdjZOZXR3b3JrKCcyMDAxOjEwOjovMjgnKSwKKyAgICAgICAgSVB2Nk5ldHdvcmsoJ2ZjMDA6Oi83JyksCisgICAgICAgIElQdjZOZXR3b3JrKCdmZTgwOjovMTAnKSwKKyAgICAgICAgXQorCisgICAgX3Jlc2VydmVkX25ldHdvcmtzID0gWworICAgICAgICBJUHY2TmV0d29yaygnOjovOCcpLCBJUHY2TmV0d29yaygnMTAwOjovOCcpLAorICAgICAgICBJUHY2TmV0d29yaygnMjAwOjovNycpLCBJUHY2TmV0d29yaygnNDAwOjovNicpLAorICAgICAgICBJUHY2TmV0d29yaygnODAwOjovNScpLCBJUHY2TmV0d29yaygnMTAwMDo6LzQnKSwKKyAgICAgICAgSVB2Nk5ldHdvcmsoJzQwMDA6Oi8zJyksIElQdjZOZXR3b3JrKCc2MDAwOjovMycpLAorICAgICAgICBJUHY2TmV0d29yaygnODAwMDo6LzMnKSwgSVB2Nk5ldHdvcmsoJ0EwMDA6Oi8zJyksCisgICAgICAgIElQdjZOZXR3b3JrKCdDMDAwOjovMycpLCBJUHY2TmV0d29yaygnRTAwMDo6LzQnKSwKKyAgICAgICAgSVB2Nk5ldHdvcmsoJ0YwMDA6Oi81JyksIElQdjZOZXR3b3JrKCdGODAwOjovNicpLAorICAgICAgICBJUHY2TmV0d29yaygnRkUwMDo6LzknKSwKKyAgICBdCisKKyAgICBfc2l0ZWxvY2FsX25ldHdvcmsgPSBJUHY2TmV0d29yaygnZmVjMDo6LzEwJykKKworCitJUHY2QWRkcmVzcy5fY29uc3RhbnRzID0gX0lQdjZDb25zdGFudHMKZGlmZiAtLWdpdCBhL0xpYi9qc29uL19faW5pdF9fLnB5IGIvTGliL2pzb24vX19pbml0X18ucHkKaW5kZXggOTRmN2Q4Yy4uNmNlOTg4MCAxMDA2NDQKLS0tIGEvTGliL2pzb24vX19pbml0X18ucHkKKysrIGIvTGliL2pzb24vX19pbml0X18ucHkKQEAgLTk4LDEyICs5OCwxMiBAQAogX192ZXJzaW9uX18gPSAnMi4wLjknCiBfX2FsbF9fID0gWwogICAgICdkdW1wJywgJ2R1bXBzJywgJ2xvYWQnLCAnbG9hZHMnLAotICAgICdKU09ORGVjb2RlcicsICdKU09ORW5jb2RlcicsCisgICAgJ0pTT05EZWNvZGVyJywgJ0pTT05EZWNvZGVFcnJvcicsICdKU09ORW5jb2RlcicsCiBdCiAKIF9fYXV0aG9yX18gPSAnQm9iIElwcG9saXRvIDxib2JAcmVkaXZpLmNvbT4nCiAKLWZyb20gLmRlY29kZXIgaW1wb3J0IEpTT05EZWNvZGVyCitmcm9tIC5kZWNvZGVyIGltcG9ydCBKU09ORGVjb2RlciwgSlNPTkRlY29kZUVycm9yCiBmcm9tIC5lbmNvZGVyIGltcG9ydCBKU09ORW5jb2RlcgogCiBfZGVmYXVsdF9lbmNvZGVyID0gSlNPTkVuY29kZXIoCkBAIC0zMTEsNyArMzExLDggQEAKICAgICAgICAgcmFpc2UgVHlwZUVycm9yKCd0aGUgSlNPTiBvYmplY3QgbXVzdCBiZSBzdHIsIG5vdCB7IXJ9Jy5mb3JtYXQoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcy5fX2NsYXNzX18uX19uYW1lX18pKQogICAgIGlmIHMuc3RhcnRzd2l0aCh1J1x1ZmVmZicpOgotICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJVbmV4cGVjdGVkIFVURi04IEJPTSAoZGVjb2RlIHVzaW5nIHV0Zi04LXNpZykiKQorICAgICAgICByYWlzZSBKU09ORGVjb2RlRXJyb3IoIlVuZXhwZWN0ZWQgVVRGLTggQk9NIChkZWNvZGUgdXNpbmcgdXRmLTgtc2lnKSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzLCAwKQogICAgIGlmIChjbHMgaXMgTm9uZSBhbmQgb2JqZWN0X2hvb2sgaXMgTm9uZSBhbmQKICAgICAgICAgICAgIHBhcnNlX2ludCBpcyBOb25lIGFuZCBwYXJzZV9mbG9hdCBpcyBOb25lIGFuZAogICAgICAgICAgICAgcGFyc2VfY29uc3RhbnQgaXMgTm9uZSBhbmQgb2JqZWN0X3BhaXJzX2hvb2sgaXMgTm9uZSBhbmQgbm90IGt3KToKZGlmZiAtLWdpdCBhL0xpYi9qc29uL2RlY29kZXIucHkgYi9MaWIvanNvbi9kZWNvZGVyLnB5CmluZGV4IDU5ZTVmNDEuLjBmMDNmMjAgMTAwNjQ0Ci0tLSBhL0xpYi9qc29uL2RlY29kZXIucHkKKysrIGIvTGliL2pzb24vZGVjb2Rlci5weQpAQCAtOCw3ICs4LDcgQEAKIGV4Y2VwdCBJbXBvcnRFcnJvcjoKICAgICBjX3NjYW5zdHJpbmcgPSBOb25lCiAKLV9fYWxsX18gPSBbJ0pTT05EZWNvZGVyJ10KK19fYWxsX18gPSBbJ0pTT05EZWNvZGVyJywgJ0pTT05EZWNvZGVFcnJvciddCiAKIEZMQUdTID0gcmUuVkVSQk9TRSB8IHJlLk1VTFRJTElORSB8IHJlLkRPVEFMTAogCkBAIC0xNywzMiArMTcsMzAgQEAKIE5lZ0luZiA9IGZsb2F0KCctaW5mJykKIAogCi1kZWYgbGluZWNvbChkb2MsIHBvcyk6Ci0gICAgaWYgaXNpbnN0YW5jZShkb2MsIGJ5dGVzKToKLSAgICAgICAgbmV3bGluZSA9IGInXG4nCi0gICAgZWxzZToKLSAgICAgICAgbmV3bGluZSA9ICdcbicKLSAgICBsaW5lbm8gPSBkb2MuY291bnQobmV3bGluZSwgMCwgcG9zKSArIDEKLSAgICBpZiBsaW5lbm8gPT0gMToKLSAgICAgICAgY29sbm8gPSBwb3MgKyAxCi0gICAgZWxzZToKLSAgICAgICAgY29sbm8gPSBwb3MgLSBkb2MucmluZGV4KG5ld2xpbmUsIDAsIHBvcykKLSAgICByZXR1cm4gbGluZW5vLCBjb2xubworY2xhc3MgSlNPTkRlY29kZUVycm9yKFZhbHVlRXJyb3IpOgorICAgICIiIlN1YmNsYXNzIG9mIFZhbHVlRXJyb3Igd2l0aCB0aGUgZm9sbG93aW5nIGFkZGl0aW9uYWwgcHJvcGVydGllczoKIAorICAgIG1zZzogVGhlIHVuZm9ybWF0dGVkIGVycm9yIG1lc3NhZ2UKKyAgICBkb2M6IFRoZSBKU09OIGRvY3VtZW50IGJlaW5nIHBhcnNlZAorICAgIHBvczogVGhlIHN0YXJ0IGluZGV4IG9mIGRvYyB3aGVyZSBwYXJzaW5nIGZhaWxlZAorICAgIGxpbmVubzogVGhlIGxpbmUgY29ycmVzcG9uZGluZyB0byBwb3MKKyAgICBjb2xubzogVGhlIGNvbHVtbiBjb3JyZXNwb25kaW5nIHRvIHBvcwogCi1kZWYgZXJybXNnKG1zZywgZG9jLCBwb3MsIGVuZD1Ob25lKToKLSAgICAjIE5vdGUgdGhhdCB0aGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCBmcm9tIF9qc29uCi0gICAgbGluZW5vLCBjb2xubyA9IGxpbmVjb2woZG9jLCBwb3MpCi0gICAgaWYgZW5kIGlzIE5vbmU6Ci0gICAgICAgIGZtdCA9ICd7MH06IGxpbmUgezF9IGNvbHVtbiB7Mn0gKGNoYXIgezN9KScKLSAgICAgICAgcmV0dXJuIGZtdC5mb3JtYXQobXNnLCBsaW5lbm8sIGNvbG5vLCBwb3MpCi0gICAgICAgICNmbXQgPSAnJXM6IGxpbmUgJWQgY29sdW1uICVkIChjaGFyICVkKScKLSAgICAgICAgI3JldHVybiBmbXQgJSAobXNnLCBsaW5lbm8sIGNvbG5vLCBwb3MpCi0gICAgZW5kbGluZW5vLCBlbmRjb2xubyA9IGxpbmVjb2woZG9jLCBlbmQpCi0gICAgZm10ID0gJ3swfTogbGluZSB7MX0gY29sdW1uIHsyfSAtIGxpbmUgezN9IGNvbHVtbiB7NH0gKGNoYXIgezV9IC0gezZ9KScKLSAgICByZXR1cm4gZm10LmZvcm1hdChtc2csIGxpbmVubywgY29sbm8sIGVuZGxpbmVubywgZW5kY29sbm8sIHBvcywgZW5kKQotICAgICNmbXQgPSAnJXM6IGxpbmUgJWQgY29sdW1uICVkIC0gbGluZSAlZCBjb2x1bW4gJWQgKGNoYXIgJWQgLSAlZCknCi0gICAgI3JldHVybiBmbXQgJSAobXNnLCBsaW5lbm8sIGNvbG5vLCBlbmRsaW5lbm8sIGVuZGNvbG5vLCBwb3MsIGVuZCkKKyAgICAiIiIKKyAgICAjIE5vdGUgdGhhdCB0aGlzIGV4Y2VwdGlvbiBpcyB1c2VkIGZyb20gX2pzb24KKyAgICBkZWYgX19pbml0X18oc2VsZiwgbXNnLCBkb2MsIHBvcyk6CisgICAgICAgIGxpbmVubyA9IGRvYy5jb3VudCgnXG4nLCAwLCBwb3MpICsgMQorICAgICAgICBjb2xubyA9IHBvcyAtIGRvYy5yZmluZCgnXG4nLCAwLCBwb3MpCisgICAgICAgIGVycm1zZyA9ICclczogbGluZSAlZCBjb2x1bW4gJWQgKGNoYXIgJWQpJyAlIChtc2csIGxpbmVubywgY29sbm8sIHBvcykKKyAgICAgICAgVmFsdWVFcnJvci5fX2luaXRfXyhzZWxmLCBlcnJtc2cpCisgICAgICAgIHNlbGYubXNnID0gbXNnCisgICAgICAgIHNlbGYuZG9jID0gZG9jCisgICAgICAgIHNlbGYucG9zID0gcG9zCisgICAgICAgIHNlbGYubGluZW5vID0gbGluZW5vCisgICAgICAgIHNlbGYuY29sbm8gPSBjb2xubworCisgICAgZGVmIF9fcmVkdWNlX18oc2VsZik6CisgICAgICAgIHJldHVybiBzZWxmLl9fY2xhc3NfXywgKHNlbGYubXNnLCBzZWxmLmRvYywgc2VsZi5wb3MpCiAKIAogX0NPTlNUQU5UUyA9IHsKQEAgLTY2LDcgKzY0LDcgQEAKICAgICAgICAgZXhjZXB0IFZhbHVlRXJyb3I6CiAgICAgICAgICAgICBwYXNzCiAgICAgbXNnID0gIkludmFsaWQgXFx1WFhYWCBlc2NhcGUiCi0gICAgcmFpc2UgVmFsdWVFcnJvcihlcnJtc2cobXNnLCBzLCBwb3MpKQorICAgIHJhaXNlIEpTT05EZWNvZGVFcnJvcihtc2csIHMsIHBvcykKIAogZGVmIHB5X3NjYW5zdHJpbmcocywgZW5kLCBzdHJpY3Q9VHJ1ZSwKICAgICAgICAgX2I9QkFDS1NMQVNILCBfbT1TVFJJTkdDSFVOSy5tYXRjaCk6CkBAIC04NCw4ICs4Miw3IEBACiAgICAgd2hpbGUgMToKICAgICAgICAgY2h1bmsgPSBfbShzLCBlbmQpCiAgICAgICAgIGlmIGNodW5rIGlzIE5vbmU6Ci0gICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKAotICAgICAgICAgICAgICAgIGVycm1zZygiVW50ZXJtaW5hdGVkIHN0cmluZyBzdGFydGluZyBhdCIsIHMsIGJlZ2luKSkKKyAgICAgICAgICAgIHJhaXNlIEpTT05EZWNvZGVFcnJvcigiVW50ZXJtaW5hdGVkIHN0cmluZyBzdGFydGluZyBhdCIsIHMsIGJlZ2luKQogICAgICAgICBlbmQgPSBjaHVuay5lbmQoKQogICAgICAgICBjb250ZW50LCB0ZXJtaW5hdG9yID0gY2h1bmsuZ3JvdXBzKCkKICAgICAgICAgIyBDb250ZW50IGlzIGNvbnRhaW5zIHplcm8gb3IgbW9yZSB1bmVzY2FwZWQgc3RyaW5nIGNoYXJhY3RlcnMKQEAgLTk5LDIyICs5NiwyMSBAQAogICAgICAgICAgICAgaWYgc3RyaWN0OgogICAgICAgICAgICAgICAgICNtc2cgPSAiSW52YWxpZCBjb250cm9sIGNoYXJhY3RlciAlciBhdCIgJSAodGVybWluYXRvciwpCiAgICAgICAgICAgICAgICAgbXNnID0gIkludmFsaWQgY29udHJvbCBjaGFyYWN0ZXIgezAhcn0gYXQiLmZvcm1hdCh0ZXJtaW5hdG9yKQotICAgICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoZXJybXNnKG1zZywgcywgZW5kKSkKKyAgICAgICAgICAgICAgICByYWlzZSBKU09ORGVjb2RlRXJyb3IobXNnLCBzLCBlbmQpCiAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgIF9hcHBlbmQodGVybWluYXRvcikKICAgICAgICAgICAgICAgICBjb250aW51ZQogICAgICAgICB0cnk6CiAgICAgICAgICAgICBlc2MgPSBzW2VuZF0KICAgICAgICAgZXhjZXB0IEluZGV4RXJyb3I6Ci0gICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKAotICAgICAgICAgICAgICAgIGVycm1zZygiVW50ZXJtaW5hdGVkIHN0cmluZyBzdGFydGluZyBhdCIsIHMsIGJlZ2luKSkKKyAgICAgICAgICAgIHJhaXNlIEpTT05EZWNvZGVFcnJvcigiVW50ZXJtaW5hdGVkIHN0cmluZyBzdGFydGluZyBhdCIsIHMsIGJlZ2luKQogICAgICAgICAjIElmIG5vdCBhIHVuaWNvZGUgZXNjYXBlIHNlcXVlbmNlLCBtdXN0IGJlIGluIHRoZSBsb29rdXAgdGFibGUKICAgICAgICAgaWYgZXNjICE9ICd1JzoKICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgICBjaGFyID0gX2JbZXNjXQogICAgICAgICAgICAgZXhjZXB0IEtleUVycm9yOgogICAgICAgICAgICAgICAgIG1zZyA9ICJJbnZhbGlkIFxcZXNjYXBlOiB7MCFyfSIuZm9ybWF0KGVzYykKLSAgICAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKGVycm1zZyhtc2csIHMsIGVuZCkpCisgICAgICAgICAgICAgICAgcmFpc2UgSlNPTkRlY29kZUVycm9yKG1zZywgcywgZW5kKQogICAgICAgICAgICAgZW5kICs9IDEKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIHVuaSA9IF9kZWNvZGVfdVhYWFgocywgZW5kKQpAQCAtMTYzLDggKzE1OSw4IEBACiAgICAgICAgICAgICAgICAgcGFpcnMgPSBvYmplY3RfaG9vayhwYWlycykKICAgICAgICAgICAgIHJldHVybiBwYWlycywgZW5kICsgMQogICAgICAgICBlbGlmIG5leHRjaGFyICE9ICciJzoKLSAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoZXJybXNnKAotICAgICAgICAgICAgICAgICJFeHBlY3RpbmcgcHJvcGVydHkgbmFtZSBlbmNsb3NlZCBpbiBkb3VibGUgcXVvdGVzIiwgcywgZW5kKSkKKyAgICAgICAgICAgIHJhaXNlIEpTT05EZWNvZGVFcnJvcigKKyAgICAgICAgICAgICAgICAiRXhwZWN0aW5nIHByb3BlcnR5IG5hbWUgZW5jbG9zZWQgaW4gZG91YmxlIHF1b3RlcyIsIHMsIGVuZCkKICAgICBlbmQgKz0gMQogICAgIHdoaWxlIFRydWU6CiAgICAgICAgIGtleSwgZW5kID0gc2NhbnN0cmluZyhzLCBlbmQsIHN0cmljdCkKQEAgLTE3NCw3ICsxNzAsNyBAQAogICAgICAgICBpZiBzW2VuZDplbmQgKyAxXSAhPSAnOic6CiAgICAgICAgICAgICBlbmQgPSBfdyhzLCBlbmQpLmVuZCgpCiAgICAgICAgICAgICBpZiBzW2VuZDplbmQgKyAxXSAhPSAnOic6Ci0gICAgICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcihlcnJtc2coIkV4cGVjdGluZyAnOicgZGVsaW1pdGVyIiwgcywgZW5kKSkKKyAgICAgICAgICAgICAgICByYWlzZSBKU09ORGVjb2RlRXJyb3IoIkV4cGVjdGluZyAnOicgZGVsaW1pdGVyIiwgcywgZW5kKQogICAgICAgICBlbmQgKz0gMQogCiAgICAgICAgIHRyeToKQEAgLTE4OCw3ICsxODQsNyBAQAogICAgICAgICB0cnk6CiAgICAgICAgICAgICB2YWx1ZSwgZW5kID0gc2Nhbl9vbmNlKHMsIGVuZCkKICAgICAgICAgZXhjZXB0IFN0b3BJdGVyYXRpb24gYXMgZXJyOgotICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcihlcnJtc2coIkV4cGVjdGluZyB2YWx1ZSIsIHMsIGVyci52YWx1ZSkpIGZyb20gTm9uZQorICAgICAgICAgICAgcmFpc2UgSlNPTkRlY29kZUVycm9yKCJFeHBlY3RpbmcgdmFsdWUiLCBzLCBlcnIudmFsdWUpIGZyb20gTm9uZQogICAgICAgICBwYWlyc19hcHBlbmQoKGtleSwgdmFsdWUpKQogICAgICAgICB0cnk6CiAgICAgICAgICAgICBuZXh0Y2hhciA9IHNbZW5kXQpAQCAtMjAyLDEzICsxOTgsMTMgQEAKICAgICAgICAgaWYgbmV4dGNoYXIgPT0gJ30nOgogICAgICAgICAgICAgYnJlYWsKICAgICAgICAgZWxpZiBuZXh0Y2hhciAhPSAnLCc6Ci0gICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKGVycm1zZygiRXhwZWN0aW5nICcsJyBkZWxpbWl0ZXIiLCBzLCBlbmQgLSAxKSkKKyAgICAgICAgICAgIHJhaXNlIEpTT05EZWNvZGVFcnJvcigiRXhwZWN0aW5nICcsJyBkZWxpbWl0ZXIiLCBzLCBlbmQgLSAxKQogICAgICAgICBlbmQgPSBfdyhzLCBlbmQpLmVuZCgpCiAgICAgICAgIG5leHRjaGFyID0gc1tlbmQ6ZW5kICsgMV0KICAgICAgICAgZW5kICs9IDEKICAgICAgICAgaWYgbmV4dGNoYXIgIT0gJyInOgotICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcihlcnJtc2coCi0gICAgICAgICAgICAgICAgIkV4cGVjdGluZyBwcm9wZXJ0eSBuYW1lIGVuY2xvc2VkIGluIGRvdWJsZSBxdW90ZXMiLCBzLCBlbmQgLSAxKSkKKyAgICAgICAgICAgIHJhaXNlIEpTT05EZWNvZGVFcnJvcigKKyAgICAgICAgICAgICAgICAiRXhwZWN0aW5nIHByb3BlcnR5IG5hbWUgZW5jbG9zZWQgaW4gZG91YmxlIHF1b3RlcyIsIHMsIGVuZCAtIDEpCiAgICAgaWYgb2JqZWN0X3BhaXJzX2hvb2sgaXMgbm90IE5vbmU6CiAgICAgICAgIHJlc3VsdCA9IG9iamVjdF9wYWlyc19ob29rKHBhaXJzKQogICAgICAgICByZXR1cm4gcmVzdWx0LCBlbmQKQEAgLTIzMiw3ICsyMjgsNyBAQAogICAgICAgICB0cnk6CiAgICAgICAgICAgICB2YWx1ZSwgZW5kID0gc2Nhbl9vbmNlKHMsIGVuZCkKICAgICAgICAgZXhjZXB0IFN0b3BJdGVyYXRpb24gYXMgZXJyOgotICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcihlcnJtc2coIkV4cGVjdGluZyB2YWx1ZSIsIHMsIGVyci52YWx1ZSkpIGZyb20gTm9uZQorICAgICAgICAgICAgcmFpc2UgSlNPTkRlY29kZUVycm9yKCJFeHBlY3RpbmcgdmFsdWUiLCBzLCBlcnIudmFsdWUpIGZyb20gTm9uZQogICAgICAgICBfYXBwZW5kKHZhbHVlKQogICAgICAgICBuZXh0Y2hhciA9IHNbZW5kOmVuZCArIDFdCiAgICAgICAgIGlmIG5leHRjaGFyIGluIF93czoKQEAgLTI0Miw3ICsyMzgsNyBAQAogICAgICAgICBpZiBuZXh0Y2hhciA9PSAnXSc6CiAgICAgICAgICAgICBicmVhawogICAgICAgICBlbGlmIG5leHRjaGFyICE9ICcsJzoKLSAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoZXJybXNnKCJFeHBlY3RpbmcgJywnIGRlbGltaXRlciIsIHMsIGVuZCAtIDEpKQorICAgICAgICAgICAgcmFpc2UgSlNPTkRlY29kZUVycm9yKCJFeHBlY3RpbmcgJywnIGRlbGltaXRlciIsIHMsIGVuZCAtIDEpCiAgICAgICAgIHRyeToKICAgICAgICAgICAgIGlmIHNbZW5kXSBpbiBfd3M6CiAgICAgICAgICAgICAgICAgZW5kICs9IDEKQEAgLTM0Myw3ICszMzksNyBAQAogICAgICAgICBvYmosIGVuZCA9IHNlbGYucmF3X2RlY29kZShzLCBpZHg9X3cocywgMCkuZW5kKCkpCiAgICAgICAgIGVuZCA9IF93KHMsIGVuZCkuZW5kKCkKICAgICAgICAgaWYgZW5kICE9IGxlbihzKToKLSAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoZXJybXNnKCJFeHRyYSBkYXRhIiwgcywgZW5kLCBsZW4ocykpKQorICAgICAgICAgICAgcmFpc2UgSlNPTkRlY29kZUVycm9yKCJFeHRyYSBkYXRhIiwgcywgZW5kKQogICAgICAgICByZXR1cm4gb2JqCiAKICAgICBkZWYgcmF3X2RlY29kZShzZWxmLCBzLCBpZHg9MCk6CkBAIC0zNTgsNSArMzU0LDUgQEAKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgb2JqLCBlbmQgPSBzZWxmLnNjYW5fb25jZShzLCBpZHgpCiAgICAgICAgIGV4Y2VwdCBTdG9wSXRlcmF0aW9uIGFzIGVycjoKLSAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoZXJybXNnKCJFeHBlY3RpbmcgdmFsdWUiLCBzLCBlcnIudmFsdWUpKSBmcm9tIE5vbmUKKyAgICAgICAgICAgIHJhaXNlIEpTT05EZWNvZGVFcnJvcigiRXhwZWN0aW5nIHZhbHVlIiwgcywgZXJyLnZhbHVlKSBmcm9tIE5vbmUKICAgICAgICAgcmV0dXJuIG9iaiwgZW5kCmRpZmYgLS1naXQgYS9MaWIvanNvbi9lbmNvZGVyLnB5IGIvTGliL2pzb24vZW5jb2Rlci5weQppbmRleCAwNTEzODM4Li4yNmU5ZWIyIDEwMDY0NAotLS0gYS9MaWIvanNvbi9lbmNvZGVyLnB5CisrKyBiL0xpYi9qc29uL2VuY29kZXIucHkKQEAgLTcsNiArNywxMCBAQAogZXhjZXB0IEltcG9ydEVycm9yOgogICAgIGNfZW5jb2RlX2Jhc2VzdHJpbmdfYXNjaWkgPSBOb25lCiB0cnk6CisgICAgZnJvbSBfanNvbiBpbXBvcnQgZW5jb2RlX2Jhc2VzdHJpbmcgYXMgY19lbmNvZGVfYmFzZXN0cmluZworZXhjZXB0IEltcG9ydEVycm9yOgorICAgIGNfZW5jb2RlX2Jhc2VzdHJpbmcgPSBOb25lCit0cnk6CiAgICAgZnJvbSBfanNvbiBpbXBvcnQgbWFrZV9lbmNvZGVyIGFzIGNfbWFrZV9lbmNvZGVyCiBleGNlcHQgSW1wb3J0RXJyb3I6CiAgICAgY19tYWtlX2VuY29kZXIgPSBOb25lCkBAIC0zMCw3ICszNCw3IEBACiBJTkZJTklUWSA9IGZsb2F0KCdpbmYnKQogRkxPQVRfUkVQUiA9IHJlcHIKIAotZGVmIGVuY29kZV9iYXNlc3RyaW5nKHMpOgorZGVmIHB5X2VuY29kZV9iYXNlc3RyaW5nKHMpOgogICAgICIiIlJldHVybiBhIEpTT04gcmVwcmVzZW50YXRpb24gb2YgYSBQeXRob24gc3RyaW5nCiAKICAgICAiIiIKQEAgLTM5LDYgKzQzLDkgQEAKICAgICByZXR1cm4gJyInICsgRVNDQVBFLnN1YihyZXBsYWNlLCBzKSArICciJwogCiAKK2VuY29kZV9iYXNlc3RyaW5nID0gKGNfZW5jb2RlX2Jhc2VzdHJpbmcgb3IgcHlfZW5jb2RlX2Jhc2VzdHJpbmcpCisKKwogZGVmIHB5X2VuY29kZV9iYXNlc3RyaW5nX2FzY2lpKHMpOgogICAgICIiIlJldHVybiBhbiBBU0NJSS1vbmx5IEpTT04gcmVwcmVzZW50YXRpb24gb2YgYSBQeXRob24gc3RyaW5nCiAKZGlmZiAtLWdpdCBhL0xpYi9qc29uL3Rvb2wucHkgYi9MaWIvanNvbi90b29sLnB5CmluZGV4IDdkYjQ1MjguLjRmMzE4MmMgMTAwNjQ0Ci0tLSBhL0xpYi9qc29uL3Rvb2wucHkKKysrIGIvTGliL2pzb24vdG9vbC5weQpAQCAtMTAsMjggKzEwLDM5IEBACiAgICAgRXhwZWN0aW5nIHByb3BlcnR5IG5hbWUgZW5jbG9zZWQgaW4gZG91YmxlIHF1b3RlczogbGluZSAxIGNvbHVtbiAzIChjaGFyIDIpCiAKICIiIgotaW1wb3J0IHN5cworaW1wb3J0IGFyZ3BhcnNlCitpbXBvcnQgY29sbGVjdGlvbnMKIGltcG9ydCBqc29uCitpbXBvcnQgc3lzCisKIAogZGVmIG1haW4oKToKLSAgICBpZiBsZW4oc3lzLmFyZ3YpID09IDE6Ci0gICAgICAgIGluZmlsZSA9IHN5cy5zdGRpbgotICAgICAgICBvdXRmaWxlID0gc3lzLnN0ZG91dAotICAgIGVsaWYgbGVuKHN5cy5hcmd2KSA9PSAyOgotICAgICAgICBpbmZpbGUgPSBvcGVuKHN5cy5hcmd2WzFdLCAncicpCi0gICAgICAgIG91dGZpbGUgPSBzeXMuc3Rkb3V0Ci0gICAgZWxpZiBsZW4oc3lzLmFyZ3YpID09IDM6Ci0gICAgICAgIGluZmlsZSA9IG9wZW4oc3lzLmFyZ3ZbMV0sICdyJykKLSAgICAgICAgb3V0ZmlsZSA9IG9wZW4oc3lzLmFyZ3ZbMl0sICd3JykKLSAgICBlbHNlOgotICAgICAgICByYWlzZSBTeXN0ZW1FeGl0KHN5cy5hcmd2WzBdICsgIiBbaW5maWxlIFtvdXRmaWxlXV0iKQorICAgIHByb2cgPSAncHl0aG9uIC1tIGpzb24udG9vbCcKKyAgICBkZXNjcmlwdGlvbiA9ICgnQSBzaW1wbGUgY29tbWFuZCBsaW5lIGludGVyZmFjZSBmb3IganNvbiBtb2R1bGUgJworICAgICAgICAgICAgICAgICAgICd0byB2YWxpZGF0ZSBhbmQgcHJldHR5LXByaW50IEpTT04gb2JqZWN0cy4nKQorICAgIHBhcnNlciA9IGFyZ3BhcnNlLkFyZ3VtZW50UGFyc2VyKHByb2c9cHJvZywgZGVzY3JpcHRpb249ZGVzY3JpcHRpb24pCisgICAgcGFyc2VyLmFkZF9hcmd1bWVudCgnaW5maWxlJywgbmFyZ3M9Jz8nLCB0eXBlPWFyZ3BhcnNlLkZpbGVUeXBlKCksCisgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSdhIEpTT04gZmlsZSB0byBiZSB2YWxpZGF0ZWQgb3IgcHJldHR5LXByaW50ZWQnKQorICAgIHBhcnNlci5hZGRfYXJndW1lbnQoJ291dGZpbGUnLCBuYXJncz0nPycsIHR5cGU9YXJncGFyc2UuRmlsZVR5cGUoJ3cnKSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9J3dyaXRlIHRoZSBvdXRwdXQgb2YgaW5maWxlIHRvIG91dGZpbGUnKQorICAgIHBhcnNlci5hZGRfYXJndW1lbnQoJy0tc29ydC1rZXlzJywgYWN0aW9uPSdzdG9yZV90cnVlJywgZGVmYXVsdD1GYWxzZSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9J3NvcnQgdGhlIG91dHB1dCBvZiBkaWN0aW9uYXJpZXMgYWxwaGFiZXRpY2FsbHkgYnkga2V5JykKKyAgICBvcHRpb25zID0gcGFyc2VyLnBhcnNlX2FyZ3MoKQorCisgICAgaW5maWxlID0gb3B0aW9ucy5pbmZpbGUgb3Igc3lzLnN0ZGluCisgICAgb3V0ZmlsZSA9IG9wdGlvbnMub3V0ZmlsZSBvciBzeXMuc3Rkb3V0CisgICAgc29ydF9rZXlzID0gb3B0aW9ucy5zb3J0X2tleXMKICAgICB3aXRoIGluZmlsZToKICAgICAgICAgdHJ5OgotICAgICAgICAgICAgb2JqID0ganNvbi5sb2FkKGluZmlsZSkKKyAgICAgICAgICAgIGlmIHNvcnRfa2V5czoKKyAgICAgICAgICAgICAgICBvYmogPSBqc29uLmxvYWQoaW5maWxlKQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBvYmogPSBqc29uLmxvYWQoaW5maWxlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmplY3RfcGFpcnNfaG9vaz1jb2xsZWN0aW9ucy5PcmRlcmVkRGljdCkKICAgICAgICAgZXhjZXB0IFZhbHVlRXJyb3IgYXMgZToKICAgICAgICAgICAgIHJhaXNlIFN5c3RlbUV4aXQoZSkKICAgICB3aXRoIG91dGZpbGU6Ci0gICAgICAgIGpzb24uZHVtcChvYmosIG91dGZpbGUsIHNvcnRfa2V5cz1UcnVlLCBpbmRlbnQ9NCkKKyAgICAgICAganNvbi5kdW1wKG9iaiwgb3V0ZmlsZSwgc29ydF9rZXlzPXNvcnRfa2V5cywgaW5kZW50PTQpCiAgICAgICAgIG91dGZpbGUud3JpdGUoJ1xuJykKIAogCmRpZmYgLS1naXQgYS9MaWIvbG9jYWxlLnB5IGIvTGliL2xvY2FsZS5weQppbmRleCA3ZmY0MzU2Li42YjllYjNhIDEwMDY0NAotLS0gYS9MaWIvbG9jYWxlLnB5CisrKyBiL0xpYi9sb2NhbGUucHkKQEAgLTMwMSw4ICszMDEsOCBAQAogICAgICIiIkNvbnZlcnQgZmxvYXQgdG8gaW50ZWdlciwgdGFraW5nIHRoZSBsb2NhbGUgaW50byBhY2NvdW50LiIiIgogICAgIHJldHVybiBmb3JtYXQoIiUuMTJnIiwgdmFsKQogCi1kZWYgYXRvZihzdHJpbmcsIGZ1bmM9ZmxvYXQpOgotICAgICJQYXJzZXMgYSBzdHJpbmcgYXMgYSBmbG9hdCBhY2NvcmRpbmcgdG8gdGhlIGxvY2FsZSBzZXR0aW5ncy4iCitkZWYgZGVsb2NhbGl6ZShzdHJpbmcpOgorICAgICJQYXJzZXMgYSBzdHJpbmcgYXMgYSBub3JtYWxpemVkIG51bWJlciBhY2NvcmRpbmcgdG8gdGhlIGxvY2FsZSBzZXR0aW5ncy4iCiAgICAgI0ZpcnN0LCBnZXQgcmlkIG9mIHRoZSBncm91cGluZwogICAgIHRzID0gbG9jYWxlY29udigpWyd0aG91c2FuZHNfc2VwJ10KICAgICBpZiB0czoKQEAgLTMxMSwxMiArMzExLDE1IEBACiAgICAgZGQgPSBsb2NhbGVjb252KClbJ2RlY2ltYWxfcG9pbnQnXQogICAgIGlmIGRkOgogICAgICAgICBzdHJpbmcgPSBzdHJpbmcucmVwbGFjZShkZCwgJy4nKQotICAgICNmaW5hbGx5LCBwYXJzZSB0aGUgc3RyaW5nCi0gICAgcmV0dXJuIGZ1bmMoc3RyaW5nKQorICAgIHJldHVybiBzdHJpbmcKIAotZGVmIGF0b2koc3RyKToKK2RlZiBhdG9mKHN0cmluZywgZnVuYz1mbG9hdCk6CisgICAgIlBhcnNlcyBhIHN0cmluZyBhcyBhIGZsb2F0IGFjY29yZGluZyB0byB0aGUgbG9jYWxlIHNldHRpbmdzLiIKKyAgICByZXR1cm4gZnVuYyhkZWxvY2FsaXplKHN0cmluZykpCisKK2RlZiBhdG9pKHN0cmluZyk6CiAgICAgIkNvbnZlcnRzIGEgc3RyaW5nIHRvIGFuIGludGVnZXIgYWNjb3JkaW5nIHRvIHRoZSBsb2NhbGUgc2V0dGluZ3MuIgotICAgIHJldHVybiBhdG9mKHN0ciwgaW50KQorICAgIHJldHVybiBpbnQoZGVsb2NhbGl6ZShzdHJpbmcpKQogCiBkZWYgX3Rlc3QoKToKICAgICBzZXRsb2NhbGUoTENfQUxMLCAiIikKZGlmZiAtLWdpdCBhL0xpYi9sb2dnaW5nL19faW5pdF9fLnB5IGIvTGliL2xvZ2dpbmcvX19pbml0X18ucHkKaW5kZXggOWE4Njg1Yi4uYjFkYzMxOSAxMDA2NDQKLS0tIGEvTGliL2xvZ2dpbmcvX19pbml0X18ucHkKKysrIGIvTGliL2xvZ2dpbmcvX19pbml0X18ucHkKQEAgLTEsNCArMSw0IEBACi0jIENvcHlyaWdodCAyMDAxLTIwMTQgYnkgVmluYXkgU2FqaXAuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisjIENvcHlyaWdodCAyMDAxLTIwMTUgYnkgVmluYXkgU2FqaXAuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAjCiAjIFBlcm1pc3Npb24gdG8gdXNlLCBjb3B5LCBtb2RpZnksIGFuZCBkaXN0cmlidXRlIHRoaXMgc29mdHdhcmUgYW5kIGl0cwogIyBkb2N1bWVudGF0aW9uIGZvciBhbnkgcHVycG9zZSBhbmQgd2l0aG91dCBmZWUgaXMgaGVyZWJ5IGdyYW50ZWQsCkBAIC0xOCw3ICsxOCw3IEBACiBMb2dnaW5nIHBhY2thZ2UgZm9yIFB5dGhvbi4gQmFzZWQgb24gUEVQIDI4MiBhbmQgY29tbWVudHMgdGhlcmV0byBpbgogY29tcC5sYW5nLnB5dGhvbi4KIAotQ29weXJpZ2h0IChDKSAyMDAxLTIwMTQgVmluYXkgU2FqaXAuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCitDb3B5cmlnaHQgKEMpIDIwMDEtMjAxNSBWaW5heSBTYWppcC4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KIAogVG8gdXNlLCBzaW1wbHkgJ2ltcG9ydCBsb2dnaW5nJyBhbmQgbG9nIGF3YXkhCiAiIiIKQEAgLTMxNiw2ICszMTYsOCBAQAogICAgICAgICByZXR1cm4gJzxMb2dSZWNvcmQ6ICVzLCAlcywgJXMsICVzLCAiJXMiPiclKHNlbGYubmFtZSwgc2VsZi5sZXZlbG5vLAogICAgICAgICAgICAgc2VsZi5wYXRobmFtZSwgc2VsZi5saW5lbm8sIHNlbGYubXNnKQogCisgICAgX19yZXByX18gPSBfX3N0cl9fCisKICAgICBkZWYgZ2V0TWVzc2FnZShzZWxmKToKICAgICAgICAgIiIiCiAgICAgICAgIFJldHVybiB0aGUgbWVzc2FnZSBmb3IgdGhpcyBMb2dSZWNvcmQuCkBAIC0xMDg2LDcgKzEwODgsNiBAQAogIwogIyAgIERldGVybWluZSB3aGljaCBjbGFzcyB0byB1c2Ugd2hlbiBpbnN0YW50aWF0aW5nIGxvZ2dlcnMuCiAjCi1fbG9nZ2VyQ2xhc3MgPSBOb25lCiAKIGRlZiBzZXRMb2dnZXJDbGFzcyhrbGFzcyk6CiAgICAgIiIiCkBAIC0xMTA1LDcgKzExMDYsNiBAQAogICAgICIiIgogICAgIFJldHVybiB0aGUgY2xhc3MgdG8gYmUgdXNlZCB3aGVuIGluc3RhbnRpYXRpbmcgYSBsb2dnZXIuCiAgICAgIiIiCi0KICAgICByZXR1cm4gX2xvZ2dlckNsYXNzCiAKIGNsYXNzIE1hbmFnZXIob2JqZWN0KToKQEAgLTEzMDIsMTIgKzEzMDIsMTEgQEAKICAgICAgICAgaWYgc2VsZi5pc0VuYWJsZWRGb3IoRVJST1IpOgogICAgICAgICAgICAgc2VsZi5fbG9nKEVSUk9SLCBtc2csIGFyZ3MsICoqa3dhcmdzKQogCi0gICAgZGVmIGV4Y2VwdGlvbihzZWxmLCBtc2csICphcmdzLCAqKmt3YXJncyk6CisgICAgZGVmIGV4Y2VwdGlvbihzZWxmLCBtc2csICphcmdzLCBleGNfaW5mbz1UcnVlLCAqKmt3YXJncyk6CiAgICAgICAgICIiIgogICAgICAgICBDb252ZW5pZW5jZSBtZXRob2QgZm9yIGxvZ2dpbmcgYW4gRVJST1Igd2l0aCBleGNlcHRpb24gaW5mb3JtYXRpb24uCiAgICAgICAgICIiIgotICAgICAgICBrd2FyZ3NbJ2V4Y19pbmZvJ10gPSBUcnVlCi0gICAgICAgIHNlbGYuZXJyb3IobXNnLCAqYXJncywgKiprd2FyZ3MpCisgICAgICAgIHNlbGYuZXJyb3IobXNnLCAqYXJncywgZXhjX2luZm89ZXhjX2luZm8sICoqa3dhcmdzKQogCiAgICAgZGVmIGNyaXRpY2FsKHNlbGYsIG1zZywgKmFyZ3MsICoqa3dhcmdzKToKICAgICAgICAgIiIiCkBAIC0xNDAyLDcgKzE0MDEsOSBAQAogICAgICAgICBlbHNlOiAjIHByYWdtYTogbm8gY292ZXIKICAgICAgICAgICAgIGZuLCBsbm8sIGZ1bmMgPSAiKHVua25vd24gZmlsZSkiLCAwLCAiKHVua25vd24gZnVuY3Rpb24pIgogICAgICAgICBpZiBleGNfaW5mbzoKLSAgICAgICAgICAgIGlmIG5vdCBpc2luc3RhbmNlKGV4Y19pbmZvLCB0dXBsZSk6CisgICAgICAgICAgICBpZiBpc2luc3RhbmNlKGV4Y19pbmZvLCBCYXNlRXhjZXB0aW9uKToKKyAgICAgICAgICAgICAgICBleGNfaW5mbyA9ICh0eXBlKGV4Y19pbmZvKSwgZXhjX2luZm8sIGV4Y19pbmZvLl9fdHJhY2ViYWNrX18pCisgICAgICAgICAgICBlbGlmIG5vdCBpc2luc3RhbmNlKGV4Y19pbmZvLCB0dXBsZSk6CiAgICAgICAgICAgICAgICAgZXhjX2luZm8gPSBzeXMuZXhjX2luZm8oKQogICAgICAgICByZWNvcmQgPSBzZWxmLm1ha2VSZWNvcmQoc2VsZi5uYW1lLCBsZXZlbCwgZm4sIGxubywgbXNnLCBhcmdzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhjX2luZm8sIGZ1bmMsIGV4dHJhLCBzaW5mbykKQEAgLTE2MTIsMTIgKzE2MTMsMTEgQEAKICAgICAgICAgIiIiCiAgICAgICAgIHNlbGYubG9nKEVSUk9SLCBtc2csICphcmdzLCAqKmt3YXJncykKIAotICAgIGRlZiBleGNlcHRpb24oc2VsZiwgbXNnLCAqYXJncywgKiprd2FyZ3MpOgorICAgIGRlZiBleGNlcHRpb24oc2VsZiwgbXNnLCAqYXJncywgZXhjX2luZm89VHJ1ZSwgKiprd2FyZ3MpOgogICAgICAgICAiIiIKICAgICAgICAgRGVsZWdhdGUgYW4gZXhjZXB0aW9uIGNhbGwgdG8gdGhlIHVuZGVybHlpbmcgbG9nZ2VyLgogICAgICAgICAiIiIKLSAgICAgICAga3dhcmdzWyJleGNfaW5mbyJdID0gVHJ1ZQotICAgICAgICBzZWxmLmxvZyhFUlJPUiwgbXNnLCAqYXJncywgKiprd2FyZ3MpCisgICAgICAgIHNlbGYubG9nKEVSUk9SLCBtc2csICphcmdzLCBleGNfaW5mbz1leGNfaW5mbywgKiprd2FyZ3MpCiAKICAgICBkZWYgY3JpdGljYWwoc2VsZiwgbXNnLCAqYXJncywgKiprd2FyZ3MpOgogICAgICAgICAiIiIKQEAgLTE3OTksMTQgKzE3OTksMTMgQEAKICAgICAgICAgYmFzaWNDb25maWcoKQogICAgIHJvb3QuZXJyb3IobXNnLCAqYXJncywgKiprd2FyZ3MpCiAKLWRlZiBleGNlcHRpb24obXNnLCAqYXJncywgKiprd2FyZ3MpOgorZGVmIGV4Y2VwdGlvbihtc2csICphcmdzLCBleGNfaW5mbz1UcnVlLCAqKmt3YXJncyk6CiAgICAgIiIiCiAgICAgTG9nIGEgbWVzc2FnZSB3aXRoIHNldmVyaXR5ICdFUlJPUicgb24gdGhlIHJvb3QgbG9nZ2VyLCB3aXRoIGV4Y2VwdGlvbgogICAgIGluZm9ybWF0aW9uLiBJZiB0aGUgbG9nZ2VyIGhhcyBubyBoYW5kbGVycywgYmFzaWNDb25maWcoKSBpcyBjYWxsZWQgdG8gYWRkCiAgICAgYSBjb25zb2xlIGhhbmRsZXIgd2l0aCBhIHByZS1kZWZpbmVkIGZvcm1hdC4KICAgICAiIiIKLSAgICBrd2FyZ3NbJ2V4Y19pbmZvJ10gPSBUcnVlCi0gICAgZXJyb3IobXNnLCAqYXJncywgKiprd2FyZ3MpCisgICAgZXJyb3IobXNnLCAqYXJncywgZXhjX2luZm89ZXhjX2luZm8sICoqa3dhcmdzKQogCiBkZWYgd2FybmluZyhtc2csICphcmdzLCAqKmt3YXJncyk6CiAgICAgIiIiCmRpZmYgLS1naXQgYS9MaWIvbG9nZ2luZy9jb25maWcucHkgYi9MaWIvbG9nZ2luZy9jb25maWcucHkKaW5kZXggODk1ZmIyNi4uOGE5OTkyMyAxMDA2NDQKLS0tIGEvTGliL2xvZ2dpbmcvY29uZmlnLnB5CisrKyBiL0xpYi9sb2dnaW5nL2NvbmZpZy5weQpAQCAtMTE2LDExICsxMTYsMTIgQEAKICAgICAgICAgc2VjdG5hbWUgPSAiZm9ybWF0dGVyXyVzIiAlIGZvcm0KICAgICAgICAgZnMgPSBjcC5nZXQoc2VjdG5hbWUsICJmb3JtYXQiLCByYXc9VHJ1ZSwgZmFsbGJhY2s9Tm9uZSkKICAgICAgICAgZGZzID0gY3AuZ2V0KHNlY3RuYW1lLCAiZGF0ZWZtdCIsIHJhdz1UcnVlLCBmYWxsYmFjaz1Ob25lKQorICAgICAgICBzdGwgPSBjcC5nZXQoc2VjdG5hbWUsICJzdHlsZSIsIHJhdz1UcnVlLCBmYWxsYmFjaz0nJScpCiAgICAgICAgIGMgPSBsb2dnaW5nLkZvcm1hdHRlcgogICAgICAgICBjbGFzc19uYW1lID0gY3Bbc2VjdG5hbWVdLmdldCgiY2xhc3MiKQogICAgICAgICBpZiBjbGFzc19uYW1lOgogICAgICAgICAgICAgYyA9IF9yZXNvbHZlKGNsYXNzX25hbWUpCi0gICAgICAgIGYgPSBjKGZzLCBkZnMpCisgICAgICAgIGYgPSBjKGZzLCBkZnMsIHN0bCkKICAgICAgICAgZm9ybWF0dGVyc1tmb3JtXSA9IGYKICAgICByZXR1cm4gZm9ybWF0dGVycwogCkBAIC02NjAsNyArNjYxLDEyIEBACiAgICAgICAgICAgICBmbXQgPSBjb25maWcuZ2V0KCdmb3JtYXQnLCBOb25lKQogICAgICAgICAgICAgZGZtdCA9IGNvbmZpZy5nZXQoJ2RhdGVmbXQnLCBOb25lKQogICAgICAgICAgICAgc3R5bGUgPSBjb25maWcuZ2V0KCdzdHlsZScsICclJykKLSAgICAgICAgICAgIHJlc3VsdCA9IGxvZ2dpbmcuRm9ybWF0dGVyKGZtdCwgZGZtdCwgc3R5bGUpCisgICAgICAgICAgICBjbmFtZSA9IGNvbmZpZy5nZXQoJ2NsYXNzJywgTm9uZSkKKyAgICAgICAgICAgIGlmIG5vdCBjbmFtZToKKyAgICAgICAgICAgICAgICBjID0gbG9nZ2luZy5Gb3JtYXR0ZXIKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgYyA9IF9yZXNvbHZlKGNuYW1lKQorICAgICAgICAgICAgcmVzdWx0ID0gYyhmbXQsIGRmbXQsIHN0eWxlKQogICAgICAgICByZXR1cm4gcmVzdWx0CiAKICAgICBkZWYgY29uZmlndXJlX2ZpbHRlcihzZWxmLCBjb25maWcpOgpkaWZmIC0tZ2l0IGEvTGliL2xvZ2dpbmcvaGFuZGxlcnMucHkgYi9MaWIvbG9nZ2luZy9oYW5kbGVycy5weQppbmRleCBjNjdhYzk5Li5kNGY4YWVmIDEwMDY0NAotLS0gYS9MaWIvbG9nZ2luZy9oYW5kbGVycy5weQorKysgYi9MaWIvbG9nZ2luZy9oYW5kbGVycy5weQpAQCAtMSw0ICsxLDQgQEAKLSMgQ29weXJpZ2h0IDIwMDEtMjAxMyBieSBWaW5heSBTYWppcC4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyMgQ29weXJpZ2h0IDIwMDEtMjAxNSBieSBWaW5heSBTYWppcC4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICMKICMgUGVybWlzc2lvbiB0byB1c2UsIGNvcHksIG1vZGlmeSwgYW5kIGRpc3RyaWJ1dGUgdGhpcyBzb2Z0d2FyZSBhbmQgaXRzCiAjIGRvY3VtZW50YXRpb24gZm9yIGFueSBwdXJwb3NlIGFuZCB3aXRob3V0IGZlZSBpcyBoZXJlYnkgZ3JhbnRlZCwKQEAgLTE4LDcgKzE4LDcgQEAKIEFkZGl0aW9uYWwgaGFuZGxlcnMgZm9yIHRoZSBsb2dnaW5nIHBhY2thZ2UgZm9yIFB5dGhvbi4gVGhlIGNvcmUgcGFja2FnZSBpcwogYmFzZWQgb24gUEVQIDI4MiBhbmQgY29tbWVudHMgdGhlcmV0byBpbiBjb21wLmxhbmcucHl0aG9uLgogCi1Db3B5cmlnaHQgKEMpIDIwMDEtMjAxMyBWaW5heSBTYWppcC4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KK0NvcHlyaWdodCAoQykgMjAwMS0yMDE1IFZpbmF5IFNhamlwLiBBbGwgUmlnaHRzIFJlc2VydmVkLgogCiBUbyB1c2UsIHNpbXBseSAnaW1wb3J0IGxvZ2dpbmcuaGFuZGxlcnMnIGFuZCBsb2cgYXdheSEKICIiIgpAQCAtMTM1MCw3ICsxMzUwLDcgQEAKICAgICAgICAgIiIiCiAgICAgICAgIF9zZW50aW5lbCA9IE5vbmUKIAotICAgICAgICBkZWYgX19pbml0X18oc2VsZiwgcXVldWUsICpoYW5kbGVycyk6CisgICAgICAgIGRlZiBfX2luaXRfXyhzZWxmLCBxdWV1ZSwgKmhhbmRsZXJzLCByZXNwZWN0X2hhbmRsZXJfbGV2ZWw9RmFsc2UpOgogICAgICAgICAgICAgIiIiCiAgICAgICAgICAgICBJbml0aWFsaXNlIGFuIGluc3RhbmNlIHdpdGggdGhlIHNwZWNpZmllZCBxdWV1ZSBhbmQKICAgICAgICAgICAgIGhhbmRsZXJzLgpAQCAtMTM1OSw2ICsxMzU5LDcgQEAKICAgICAgICAgICAgIHNlbGYuaGFuZGxlcnMgPSBoYW5kbGVycwogICAgICAgICAgICAgc2VsZi5fc3RvcCA9IHRocmVhZGluZy5FdmVudCgpCiAgICAgICAgICAgICBzZWxmLl90aHJlYWQgPSBOb25lCisgICAgICAgICAgICBzZWxmLnJlc3BlY3RfaGFuZGxlcl9sZXZlbCA9IHJlc3BlY3RfaGFuZGxlcl9sZXZlbAogCiAgICAgICAgIGRlZiBkZXF1ZXVlKHNlbGYsIGJsb2NrKToKICAgICAgICAgICAgICIiIgpAQCAtMTM5OSw3ICsxNDAwLDEyIEBACiAgICAgICAgICAgICAiIiIKICAgICAgICAgICAgIHJlY29yZCA9IHNlbGYucHJlcGFyZShyZWNvcmQpCiAgICAgICAgICAgICBmb3IgaGFuZGxlciBpbiBzZWxmLmhhbmRsZXJzOgotICAgICAgICAgICAgICAgIGhhbmRsZXIuaGFuZGxlKHJlY29yZCkKKyAgICAgICAgICAgICAgICBpZiBub3Qgc2VsZi5yZXNwZWN0X2hhbmRsZXJfbGV2ZWw6CisgICAgICAgICAgICAgICAgICAgIHByb2Nlc3MgPSBUcnVlCisgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgcHJvY2VzcyA9IHJlY29yZC5sZXZlbG5vID49IGhhbmRsZXIubGV2ZWwKKyAgICAgICAgICAgICAgICBpZiBwcm9jZXNzOgorICAgICAgICAgICAgICAgICAgICBoYW5kbGVyLmhhbmRsZShyZWNvcmQpCiAKICAgICAgICAgZGVmIF9tb25pdG9yKHNlbGYpOgogICAgICAgICAgICAgIiIiCmRpZmYgLS1naXQgYS9MaWIvbWFjcGF0aC5weSBiL0xpYi9tYWNwYXRoLnB5CmluZGV4IDVjYTAwOTcuLmRiY2YzNjggMTAwNjQ0Ci0tLSBhL0xpYi9tYWNwYXRoLnB5CisrKyBiL0xpYi9tYWNwYXRoLnB5CkBAIC01MCwyMCArNTAsMjQgQEAKIAogCiBkZWYgam9pbihzLCAqcCk6Ci0gICAgY29sb24gPSBfZ2V0X2NvbG9uKHMpCi0gICAgcGF0aCA9IHMKLSAgICBmb3IgdCBpbiBwOgotICAgICAgICBpZiAobm90IHBhdGgpIG9yIGlzYWJzKHQpOgotICAgICAgICAgICAgcGF0aCA9IHQKLSAgICAgICAgICAgIGNvbnRpbnVlCi0gICAgICAgIGlmIHRbOjFdID09IGNvbG9uOgotICAgICAgICAgICAgdCA9IHRbMTpdCi0gICAgICAgIGlmIGNvbG9uIG5vdCBpbiBwYXRoOgotICAgICAgICAgICAgcGF0aCA9IGNvbG9uICsgcGF0aAotICAgICAgICBpZiBwYXRoWy0xOl0gIT0gY29sb246Ci0gICAgICAgICAgICBwYXRoID0gcGF0aCArIGNvbG9uCi0gICAgICAgIHBhdGggPSBwYXRoICsgdAotICAgIHJldHVybiBwYXRoCisgICAgdHJ5OgorICAgICAgICBjb2xvbiA9IF9nZXRfY29sb24ocykKKyAgICAgICAgcGF0aCA9IHMKKyAgICAgICAgZm9yIHQgaW4gcDoKKyAgICAgICAgICAgIGlmIChub3QgcGF0aCkgb3IgaXNhYnModCk6CisgICAgICAgICAgICAgICAgcGF0aCA9IHQKKyAgICAgICAgICAgICAgICBjb250aW51ZQorICAgICAgICAgICAgaWYgdFs6MV0gPT0gY29sb246CisgICAgICAgICAgICAgICAgdCA9IHRbMTpdCisgICAgICAgICAgICBpZiBjb2xvbiBub3QgaW4gcGF0aDoKKyAgICAgICAgICAgICAgICBwYXRoID0gY29sb24gKyBwYXRoCisgICAgICAgICAgICBpZiBwYXRoWy0xOl0gIT0gY29sb246CisgICAgICAgICAgICAgICAgcGF0aCA9IHBhdGggKyBjb2xvbgorICAgICAgICAgICAgcGF0aCA9IHBhdGggKyB0CisgICAgICAgIHJldHVybiBwYXRoCisgICAgZXhjZXB0IChUeXBlRXJyb3IsIEF0dHJpYnV0ZUVycm9yLCBCeXRlc1dhcm5pbmcpOgorICAgICAgICBnZW5lcmljcGF0aC5fY2hlY2tfYXJnX3R5cGVzKCdqb2luJywgcywgKnApCisgICAgICAgIHJhaXNlCiAKIAogZGVmIHNwbGl0KHMpOgpkaWZmIC0tZ2l0IGEvTGliL21haWxib3gucHkgYi9MaWIvbWFpbGJveC5weQppbmRleCAyZWVlNzZjLi5lN2YzMWRmIDEwMDY0NAotLS0gYS9MaWIvbWFpbGJveC5weQorKysgYi9MaWIvbWFpbGJveC5weQpAQCAtMTIzMCw4ICsxMjMwLDggQEAKIGNsYXNzIEJhYnlsKF9zaW5nbGVmaWxlTWFpbGJveCk6CiAgICAgIiIiQW4gUm1haWwtc3R5bGUgQmFieWwgbWFpbGJveC4iIiIKIAotICAgIF9zcGVjaWFsX2xhYmVscyA9IGZyb3plbnNldCgoJ3Vuc2VlbicsICdkZWxldGVkJywgJ2ZpbGVkJywgJ2Fuc3dlcmVkJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmb3J3YXJkZWQnLCAnZWRpdGVkJywgJ3Jlc2VudCcpKQorICAgIF9zcGVjaWFsX2xhYmVscyA9IGZyb3plbnNldCh7J3Vuc2VlbicsICdkZWxldGVkJywgJ2ZpbGVkJywgJ2Fuc3dlcmVkJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmb3J3YXJkZWQnLCAnZWRpdGVkJywgJ3Jlc2VudCd9KQogCiAgICAgZGVmIF9faW5pdF9fKHNlbGYsIHBhdGgsIGZhY3Rvcnk9Tm9uZSwgY3JlYXRlPVRydWUpOgogICAgICAgICAiIiJJbml0aWFsaXplIGEgQmFieWwgbWFpbGJveC4iIiIKQEAgLTE5NDksNyArMTk0OSw3IEBACiAgICAgICAgIHdoaWxlIFRydWU6CiAgICAgICAgICAgICBsaW5lID0gc2VsZi5yZWFkbGluZSgpCiAgICAgICAgICAgICBpZiBub3QgbGluZToKLSAgICAgICAgICAgICAgICByYWlzZSBTdG9wSXRlcmF0aW9uCisgICAgICAgICAgICAgICAgcmV0dXJuCiAgICAgICAgICAgICB5aWVsZCBsaW5lCiAKICAgICBkZWYgdGVsbChzZWxmKToKZGlmZiAtLWdpdCBhL0xpYi9tdWx0aXByb2Nlc3NpbmcvY29ubmVjdGlvbi5weSBiL0xpYi9tdWx0aXByb2Nlc3NpbmcvY29ubmVjdGlvbi5weQppbmRleCA4NzExN2Q5Li45YThhZTI5IDEwMDY0NAotLS0gYS9MaWIvbXVsdGlwcm9jZXNzaW5nL2Nvbm5lY3Rpb24ucHkKKysrIGIvTGliL211bHRpcHJvY2Vzc2luZy9jb25uZWN0aW9uLnB5CkBAIC0zNjUsMTAgKzM2NSw3IEBACiAgICAgZGVmIF9zZW5kKHNlbGYsIGJ1Ziwgd3JpdGU9X3dyaXRlKToKICAgICAgICAgcmVtYWluaW5nID0gbGVuKGJ1ZikKICAgICAgICAgd2hpbGUgVHJ1ZToKLSAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICBuID0gd3JpdGUoc2VsZi5faGFuZGxlLCBidWYpCi0gICAgICAgICAgICBleGNlcHQgSW50ZXJydXB0ZWRFcnJvcjoKLSAgICAgICAgICAgICAgICBjb250aW51ZQorICAgICAgICAgICAgbiA9IHdyaXRlKHNlbGYuX2hhbmRsZSwgYnVmKQogICAgICAgICAgICAgcmVtYWluaW5nIC09IG4KICAgICAgICAgICAgIGlmIHJlbWFpbmluZyA9PSAwOgogICAgICAgICAgICAgICAgIGJyZWFrCkBAIC0zNzksMTAgKzM3Niw3IEBACiAgICAgICAgIGhhbmRsZSA9IHNlbGYuX2hhbmRsZQogICAgICAgICByZW1haW5pbmcgPSBzaXplCiAgICAgICAgIHdoaWxlIHJlbWFpbmluZyA+IDA6Ci0gICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgY2h1bmsgPSByZWFkKGhhbmRsZSwgcmVtYWluaW5nKQotICAgICAgICAgICAgZXhjZXB0IEludGVycnVwdGVkRXJyb3I6Ci0gICAgICAgICAgICAgICAgY29udGludWUKKyAgICAgICAgICAgIGNodW5rID0gcmVhZChoYW5kbGUsIHJlbWFpbmluZykKICAgICAgICAgICAgIG4gPSBsZW4oY2h1bmspCiAgICAgICAgICAgICBpZiBuID09IDA6CiAgICAgICAgICAgICAgICAgaWYgcmVtYWluaW5nID09IHNpemU6CkBAIC00MDAsMTcgKzM5NCwxNCBAQAogICAgICAgICBpZiBuID4gMTYzODQ6CiAgICAgICAgICAgICAjIFRoZSBwYXlsb2FkIGlzIGxhcmdlIHNvIE5hZ2xlJ3MgYWxnb3JpdGhtIHdvbid0IGJlIHRyaWdnZXJlZAogICAgICAgICAgICAgIyBhbmQgd2UnZCBiZXR0ZXIgYXZvaWQgdGhlIGNvc3Qgb2YgY29uY2F0ZW5hdGlvbi4KLSAgICAgICAgICAgIGNodW5rcyA9IFtoZWFkZXIsIGJ1Zl0KLSAgICAgICAgZWxpZiBuID4gMDoKKyAgICAgICAgICAgIHNlbGYuX3NlbmQoaGVhZGVyKQorICAgICAgICAgICAgc2VsZi5fc2VuZChidWYpCisgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAjIElzc3VlICPigK8yMDU0MDogY29uY2F0ZW5hdGUgYmVmb3JlIHNlbmRpbmcsIHRvIGF2b2lkIGRlbGF5cyBkdWUKICAgICAgICAgICAgICMgdG8gTmFnbGUncyBhbGdvcml0aG0gb24gYSBUQ1Agc29ja2V0LgotICAgICAgICAgICAgY2h1bmtzID0gW2hlYWRlciArIGJ1Zl0KLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgICMgVGhpcyBjb2RlIHBhdGggaXMgbmVjZXNzYXJ5IHRvIGF2b2lkICJicm9rZW4gcGlwZSIgZXJyb3JzCi0gICAgICAgICAgICAjIHdoZW4gc2VuZGluZyBhIDAtbGVuZ3RoIGJ1ZmZlciBpZiB0aGUgb3RoZXIgZW5kIGNsb3NlZCB0aGUgcGlwZS4KLSAgICAgICAgICAgIGNodW5rcyA9IFtoZWFkZXJdCi0gICAgICAgIGZvciBjaHVuayBpbiBjaHVua3M6Ci0gICAgICAgICAgICBzZWxmLl9zZW5kKGNodW5rKQorICAgICAgICAgICAgIyBBbHNvIG5vdGUgd2Ugd2FudCB0byBhdm9pZCBzZW5kaW5nIGEgMC1sZW5ndGggYnVmZmVyIHNlcGFyYXRlbHksCisgICAgICAgICAgICAjIHRvIGF2b2lkICJicm9rZW4gcGlwZSIgZXJyb3JzIGlmIHRoZSBvdGhlciBlbmQgY2xvc2VkIHRoZSBwaXBlLgorICAgICAgICAgICAgc2VsZi5fc2VuZChoZWFkZXIgKyBidWYpCiAKICAgICBkZWYgX3JlY3ZfYnl0ZXMoc2VsZiwgbWF4c2l6ZT1Ob25lKToKICAgICAgICAgYnVmID0gc2VsZi5fcmVjdig0KQpAQCAtNTk4LDEzICs1ODksNyBAQAogICAgICAgICAgICAgc2VsZi5fdW5saW5rID0gTm9uZQogCiAgICAgZGVmIGFjY2VwdChzZWxmKToKLSAgICAgICAgd2hpbGUgVHJ1ZToKLSAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICBzLCBzZWxmLl9sYXN0X2FjY2VwdGVkID0gc2VsZi5fc29ja2V0LmFjY2VwdCgpCi0gICAgICAgICAgICBleGNlcHQgSW50ZXJydXB0ZWRFcnJvcjoKLSAgICAgICAgICAgICAgICBwYXNzCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIGJyZWFrCisgICAgICAgIHMsIHNlbGYuX2xhc3RfYWNjZXB0ZWQgPSBzZWxmLl9zb2NrZXQuYWNjZXB0KCkKICAgICAgICAgcy5zZXRibG9ja2luZyhUcnVlKQogICAgICAgICByZXR1cm4gQ29ubmVjdGlvbihzLmRldGFjaCgpKQogCmRpZmYgLS1naXQgYS9MaWIvbXVsdGlwcm9jZXNzaW5nL2R1bW15L19faW5pdF9fLnB5IGIvTGliL211bHRpcHJvY2Vzc2luZy9kdW1teS9fX2luaXRfXy5weQppbmRleCAxMzVkYjdmLi4xYWJlYTY0IDEwMDY0NAotLS0gYS9MaWIvbXVsdGlwcm9jZXNzaW5nL2R1bW15L19faW5pdF9fLnB5CisrKyBiL0xpYi9tdWx0aXByb2Nlc3NpbmcvZHVtbXkvX19pbml0X18ucHkKQEAgLTg2LDcgKzg2LDcgQEAKICAgICAgICAgICAgIGlmIG5vdCBuYW1lLnN0YXJ0c3dpdGgoJ18nKToKICAgICAgICAgICAgICAgICB0ZW1wLmFwcGVuZCgnJXM9JXInICUgKG5hbWUsIHZhbHVlKSkKICAgICAgICAgdGVtcC5zb3J0KCkKLSAgICAgICAgcmV0dXJuICdOYW1lc3BhY2UoJXMpJyAlIHN0ci5qb2luKCcsICcsIHRlbXApCisgICAgICAgIHJldHVybiAnJXMoJXMpJyAlIChzZWxmLl9fY2xhc3NfXy5fX25hbWVfXywgJywgJy5qb2luKHRlbXApKQogCiBkaWN0ID0gZGljdAogbGlzdCA9IGxpc3QKZGlmZiAtLWdpdCBhL0xpYi9tdWx0aXByb2Nlc3NpbmcvZHVtbXkvY29ubmVjdGlvbi5weSBiL0xpYi9tdWx0aXByb2Nlc3NpbmcvZHVtbXkvY29ubmVjdGlvbi5weQppbmRleCA2OTRlZjk2Li4xOTg0Mzc1IDEwMDY0NAotLS0gYS9MaWIvbXVsdGlwcm9jZXNzaW5nL2R1bW15L2Nvbm5lY3Rpb24ucHkKKysrIGIvTGliL211bHRpcHJvY2Vzc2luZy9kdW1teS9jb25uZWN0aW9uLnB5CkBAIC01OSw5ICs1OSw4IEBACiAgICAgICAgICAgICByZXR1cm4gVHJ1ZQogICAgICAgICBpZiB0aW1lb3V0IDw9IDAuMDoKICAgICAgICAgICAgIHJldHVybiBGYWxzZQotICAgICAgICBzZWxmLl9pbi5ub3RfZW1wdHkuYWNxdWlyZSgpCi0gICAgICAgIHNlbGYuX2luLm5vdF9lbXB0eS53YWl0KHRpbWVvdXQpCi0gICAgICAgIHNlbGYuX2luLm5vdF9lbXB0eS5yZWxlYXNlKCkKKyAgICAgICAgd2l0aCBzZWxmLl9pbi5ub3RfZW1wdHk6CisgICAgICAgICAgICBzZWxmLl9pbi5ub3RfZW1wdHkud2FpdCh0aW1lb3V0KQogICAgICAgICByZXR1cm4gc2VsZi5faW4ucXNpemUoKSA+IDAKIAogICAgIGRlZiBjbG9zZShzZWxmKToKZGlmZiAtLWdpdCBhL0xpYi9tdWx0aXByb2Nlc3NpbmcvZm9ya3NlcnZlci5weSBiL0xpYi9tdWx0aXByb2Nlc3NpbmcvZm9ya3NlcnZlci5weQppbmRleCAzODc1MTdlLi5iMjdjYmE1IDEwMDY0NAotLS0gYS9MaWIvbXVsdGlwcm9jZXNzaW5nL2ZvcmtzZXJ2ZXIucHkKKysrIGIvTGliL211bHRpcHJvY2Vzc2luZy9mb3Jrc2VydmVyLnB5CkBAIC0xMDcsNyArMTA3LDcgQEAKICAgICAgICAgICAgICAgICBhZGRyZXNzID0gY29ubmVjdGlvbi5hcmJpdHJhcnlfYWRkcmVzcygnQUZfVU5JWCcpCiAgICAgICAgICAgICAgICAgbGlzdGVuZXIuYmluZChhZGRyZXNzKQogICAgICAgICAgICAgICAgIG9zLmNobW9kKGFkZHJlc3MsIDBvNjAwKQotICAgICAgICAgICAgICAgIGxpc3RlbmVyLmxpc3RlbigxMDApCisgICAgICAgICAgICAgICAgbGlzdGVuZXIubGlzdGVuKCkKIAogICAgICAgICAgICAgICAgICMgYWxsIGNsaWVudCBwcm9jZXNzZXMgb3duIHRoZSB3cml0ZSBlbmQgb2YgdGhlICJhbGl2ZSIgcGlwZTsKICAgICAgICAgICAgICAgICAjIHdoZW4gdGhleSBhbGwgdGVybWluYXRlIHRoZSByZWFkIGVuZCBiZWNvbWVzIHJlYWR5LgpAQCAtMTg4LDggKzE4OCw2IEBACiAgICAgICAgICAgICAgICAgICAgICAgICBmaW5hbGx5OgogICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9zLl9leGl0KGNvZGUpCiAKLSAgICAgICAgICAgIGV4Y2VwdCBJbnRlcnJ1cHRlZEVycm9yOgotICAgICAgICAgICAgICAgIHBhc3MKICAgICAgICAgICAgIGV4Y2VwdCBPU0Vycm9yIGFzIGU6CiAgICAgICAgICAgICAgICAgaWYgZS5lcnJubyAhPSBlcnJuby5FQ09OTkFCT1JURUQ6CiAgICAgICAgICAgICAgICAgICAgIHJhaXNlCkBAIC0yMzAsMTMgKzIyOCw3IEBACiAgICAgZGF0YSA9IGInJwogICAgIGxlbmd0aCA9IFVOU0lHTkVEX1NUUlVDVC5zaXplCiAgICAgd2hpbGUgbGVuKGRhdGEpIDwgbGVuZ3RoOgotICAgICAgICB3aGlsZSBUcnVlOgotICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgIHMgPSBvcy5yZWFkKGZkLCBsZW5ndGggLSBsZW4oZGF0YSkpCi0gICAgICAgICAgICBleGNlcHQgSW50ZXJydXB0ZWRFcnJvcjoKLSAgICAgICAgICAgICAgICBwYXNzCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIGJyZWFrCisgICAgICAgIHMgPSBvcy5yZWFkKGZkLCBsZW5ndGggLSBsZW4oZGF0YSkpCiAgICAgICAgIGlmIG5vdCBzOgogICAgICAgICAgICAgcmFpc2UgRU9GRXJyb3IoJ3VuZXhwZWN0ZWQgRU9GJykKICAgICAgICAgZGF0YSArPSBzCkBAIC0yNDUsMTMgKzIzNyw3IEBACiBkZWYgd3JpdGVfdW5zaWduZWQoZmQsIG4pOgogICAgIG1zZyA9IFVOU0lHTkVEX1NUUlVDVC5wYWNrKG4pCiAgICAgd2hpbGUgbXNnOgotICAgICAgICB3aGlsZSBUcnVlOgotICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgIG5ieXRlcyA9IG9zLndyaXRlKGZkLCBtc2cpCi0gICAgICAgICAgICBleGNlcHQgSW50ZXJydXB0ZWRFcnJvcjoKLSAgICAgICAgICAgICAgICBwYXNzCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIGJyZWFrCisgICAgICAgIG5ieXRlcyA9IG9zLndyaXRlKGZkLCBtc2cpCiAgICAgICAgIGlmIG5ieXRlcyA9PSAwOgogICAgICAgICAgICAgcmFpc2UgUnVudGltZUVycm9yKCdzaG91bGQgbm90IGdldCBoZXJlJykKICAgICAgICAgbXNnID0gbXNnW25ieXRlczpdCmRpZmYgLS1naXQgYS9MaWIvbXVsdGlwcm9jZXNzaW5nL2hlYXAucHkgYi9MaWIvbXVsdGlwcm9jZXNzaW5nL2hlYXAucHkKaW5kZXggMzQ0YTQ1Zi4uMzMzYjNiYSAxMDA2NDQKLS0tIGEvTGliL211bHRpcHJvY2Vzc2luZy9oZWFwLnB5CisrKyBiL0xpYi9tdWx0aXByb2Nlc3NpbmcvaGVhcC5weQpAQCAtNTQsNyArNTQsOSBAQAogICAgICAgICBkZWYgX19zZXRzdGF0ZV9fKHNlbGYsIHN0YXRlKToKICAgICAgICAgICAgIHNlbGYuc2l6ZSwgc2VsZi5uYW1lID0gc2VsZi5fc3RhdGUgPSBzdGF0ZQogICAgICAgICAgICAgc2VsZi5idWZmZXIgPSBtbWFwLm1tYXAoLTEsIHNlbGYuc2l6ZSwgdGFnbmFtZT1zZWxmLm5hbWUpCi0gICAgICAgICAgICBhc3NlcnQgX3dpbmFwaS5HZXRMYXN0RXJyb3IoKSA9PSBfd2luYXBpLkVSUk9SX0FMUkVBRFlfRVhJU1RTCisgICAgICAgICAgICAjIFhYWCBUZW1wb3JhcmlseSBwcmV2ZW50aW5nIGJ1aWxkYm90IGZhaWx1cmVzIHdoaWxlIGRldGVybWluaW5nCisgICAgICAgICAgICAjIFhYWCB0aGUgY29ycmVjdCBsb25nLXRlcm0gZml4LiBTZWUgaXNzdWUgMjMwNjAKKyAgICAgICAgICAgICNhc3NlcnQgX3dpbmFwaS5HZXRMYXN0RXJyb3IoKSA9PSBfd2luYXBpLkVSUk9SX0FMUkVBRFlfRVhJU1RTCiAKIGVsc2U6CiAKQEAgLTIxNiw5ICsyMTgsOCBAQAogICAgICAgICBhc3NlcnQgMCA8PSBzaXplIDwgc3lzLm1heHNpemUKICAgICAgICAgaWYgb3MuZ2V0cGlkKCkgIT0gc2VsZi5fbGFzdHBpZDoKICAgICAgICAgICAgIHNlbGYuX19pbml0X18oKSAgICAgICAgICAgICAgICAgICAgICMgcmVpbml0aWFsaXplIGFmdGVyIGZvcmsKLSAgICAgICAgc2VsZi5fbG9jay5hY3F1aXJlKCkKLSAgICAgICAgc2VsZi5fZnJlZV9wZW5kaW5nX2Jsb2NrcygpCi0gICAgICAgIHRyeToKKyAgICAgICAgd2l0aCBzZWxmLl9sb2NrOgorICAgICAgICAgICAgc2VsZi5fZnJlZV9wZW5kaW5nX2Jsb2NrcygpCiAgICAgICAgICAgICBzaXplID0gc2VsZi5fcm91bmR1cChtYXgoc2l6ZSwxKSwgc2VsZi5fYWxpZ25tZW50KQogICAgICAgICAgICAgKGFyZW5hLCBzdGFydCwgc3RvcCkgPSBzZWxmLl9tYWxsb2Moc2l6ZSkKICAgICAgICAgICAgIG5ld19zdG9wID0gc3RhcnQgKyBzaXplCkBAIC0yMjcsOCArMjI4LDYgQEAKICAgICAgICAgICAgIGJsb2NrID0gKGFyZW5hLCBzdGFydCwgbmV3X3N0b3ApCiAgICAgICAgICAgICBzZWxmLl9hbGxvY2F0ZWRfYmxvY2tzLmFkZChibG9jaykKICAgICAgICAgICAgIHJldHVybiBibG9jawotICAgICAgICBmaW5hbGx5OgotICAgICAgICAgICAgc2VsZi5fbG9jay5yZWxlYXNlKCkKIAogIwogIyBDbGFzcyByZXByZXNlbnRpbmcgYSBjaHVuayBvZiBhbiBtbWFwIC0tIGNhbiBiZSBpbmhlcml0ZWQgYnkgY2hpbGQgcHJvY2VzcwpkaWZmIC0tZ2l0IGEvTGliL211bHRpcHJvY2Vzc2luZy9tYW5hZ2Vycy5weSBiL0xpYi9tdWx0aXByb2Nlc3NpbmcvbWFuYWdlcnMucHkKaW5kZXggNjZkNDZmYy4uNzc2NjU2ZSAxMDA2NDQKLS0tIGEvTGliL211bHRpcHJvY2Vzc2luZy9tYW5hZ2Vycy5weQorKysgYi9MaWIvbXVsdGlwcm9jZXNzaW5nL21hbmFnZXJzLnB5CkBAIC02NSw4ICs2NSw4IEBACiAgICAgICAgIChzZWxmLnR5cGVpZCwgc2VsZi5hZGRyZXNzLCBzZWxmLmlkKSA9IHN0YXRlCiAKICAgICBkZWYgX19yZXByX18oc2VsZik6Ci0gICAgICAgIHJldHVybiAnVG9rZW4odHlwZWlkPSVyLCBhZGRyZXNzPSVyLCBpZD0lciknICUgXAotICAgICAgICAgICAgICAgKHNlbGYudHlwZWlkLCBzZWxmLmFkZHJlc3MsIHNlbGYuaWQpCisgICAgICAgIHJldHVybiAnJXModHlwZWlkPSVyLCBhZGRyZXNzPSVyLCBpZD0lciknICUgXAorICAgICAgICAgICAgICAgKHNlbGYuX19jbGFzc19fLl9fbmFtZV9fLCBzZWxmLnR5cGVpZCwgc2VsZi5hZGRyZXNzLCBzZWxmLmlkKQogCiAjCiAjIEZ1bmN0aW9uIGZvciBjb21tdW5pY2F0aW9uIHdpdGggYSBtYW5hZ2VyJ3Mgc2VydmVyIHByb2Nlc3MKQEAgLTMwNiw4ICszMDYsNyBAQAogICAgICAgICAnJycKICAgICAgICAgUmV0dXJuIHNvbWUgaW5mbyAtLS0gdXNlZnVsIHRvIHNwb3QgcHJvYmxlbXMgd2l0aCByZWZjb3VudGluZwogICAgICAgICAnJycKLSAgICAgICAgc2VsZi5tdXRleC5hY3F1aXJlKCkKLSAgICAgICAgdHJ5OgorICAgICAgICB3aXRoIHNlbGYubXV0ZXg6CiAgICAgICAgICAgICByZXN1bHQgPSBbXQogICAgICAgICAgICAga2V5cyA9IGxpc3Qoc2VsZi5pZF90b19vYmoua2V5cygpKQogICAgICAgICAgICAga2V5cy5zb3J0KCkKQEAgLTMxNyw4ICszMTYsNiBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChpZGVudCwgc2VsZi5pZF90b19yZWZjb3VudFtpZGVudF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cihzZWxmLmlkX3RvX29ialtpZGVudF1bMF0pWzo3NV0pKQogICAgICAgICAgICAgcmV0dXJuICdcbicuam9pbihyZXN1bHQpCi0gICAgICAgIGZpbmFsbHk6Ci0gICAgICAgICAgICBzZWxmLm11dGV4LnJlbGVhc2UoKQogCiAgICAgZGVmIG51bWJlcl9vZl9vYmplY3RzKHNlbGYsIGMpOgogICAgICAgICAnJycKQEAgLTM0Myw4ICszNDAsNyBAQAogICAgICAgICAnJycKICAgICAgICAgQ3JlYXRlIGEgbmV3IHNoYXJlZCBvYmplY3QgYW5kIHJldHVybiBpdHMgaWQKICAgICAgICAgJycnCi0gICAgICAgIHNlbGYubXV0ZXguYWNxdWlyZSgpCi0gICAgICAgIHRyeToKKyAgICAgICAgd2l0aCBzZWxmLm11dGV4OgogICAgICAgICAgICAgY2FsbGFibGUsIGV4cG9zZWQsIG1ldGhvZF90b190eXBlaWQsIHByb3h5dHlwZSA9IFwKICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnJlZ2lzdHJ5W3R5cGVpZF0KIApAQCAtMzc0LDggKzM3MCw2IEBACiAgICAgICAgICAgICAjIGhhcyBiZWVuIGNyZWF0ZWQuCiAgICAgICAgICAgICBzZWxmLmluY3JlZihjLCBpZGVudCkKICAgICAgICAgICAgIHJldHVybiBpZGVudCwgdHVwbGUoZXhwb3NlZCkKLSAgICAgICAgZmluYWxseToKLSAgICAgICAgICAgIHNlbGYubXV0ZXgucmVsZWFzZSgpCiAKICAgICBkZWYgZ2V0X21ldGhvZHMoc2VsZiwgYywgdG9rZW4pOgogICAgICAgICAnJycKQEAgLTM5MiwyMiArMzg2LDE2IEBACiAgICAgICAgIHNlbGYuc2VydmVfY2xpZW50KGMpCiAKICAgICBkZWYgaW5jcmVmKHNlbGYsIGMsIGlkZW50KToKLSAgICAgICAgc2VsZi5tdXRleC5hY3F1aXJlKCkKLSAgICAgICAgdHJ5OgorICAgICAgICB3aXRoIHNlbGYubXV0ZXg6CiAgICAgICAgICAgICBzZWxmLmlkX3RvX3JlZmNvdW50W2lkZW50XSArPSAxCi0gICAgICAgIGZpbmFsbHk6Ci0gICAgICAgICAgICBzZWxmLm11dGV4LnJlbGVhc2UoKQogCiAgICAgZGVmIGRlY3JlZihzZWxmLCBjLCBpZGVudCk6Ci0gICAgICAgIHNlbGYubXV0ZXguYWNxdWlyZSgpCi0gICAgICAgIHRyeToKKyAgICAgICAgd2l0aCBzZWxmLm11dGV4OgogICAgICAgICAgICAgYXNzZXJ0IHNlbGYuaWRfdG9fcmVmY291bnRbaWRlbnRdID49IDEKICAgICAgICAgICAgIHNlbGYuaWRfdG9fcmVmY291bnRbaWRlbnRdIC09IDEKICAgICAgICAgICAgIGlmIHNlbGYuaWRfdG9fcmVmY291bnRbaWRlbnRdID09IDA6CiAgICAgICAgICAgICAgICAgZGVsIHNlbGYuaWRfdG9fb2JqW2lkZW50XSwgc2VsZi5pZF90b19yZWZjb3VudFtpZGVudF0KICAgICAgICAgICAgICAgICB1dGlsLmRlYnVnKCdkaXNwb3Npbmcgb2Ygb2JqIHdpdGggaWQgJXInLCBpZGVudCkKLSAgICAgICAgZmluYWxseToKLSAgICAgICAgICAgIHNlbGYubXV0ZXgucmVsZWFzZSgpCiAKICMKICMgQ2xhc3MgdG8gcmVwcmVzZW50IHN0YXRlIG9mIGEgbWFuYWdlcgpAQCAtNjcxLDE0ICs2NTksMTEgQEAKIAogICAgIGRlZiBfX2luaXRfXyhzZWxmLCB0b2tlbiwgc2VyaWFsaXplciwgbWFuYWdlcj1Ob25lLAogICAgICAgICAgICAgICAgICBhdXRoa2V5PU5vbmUsIGV4cG9zZWQ9Tm9uZSwgaW5jcmVmPVRydWUpOgotICAgICAgICBCYXNlUHJveHkuX211dGV4LmFjcXVpcmUoKQotICAgICAgICB0cnk6CisgICAgICAgIHdpdGggQmFzZVByb3h5Ll9tdXRleDoKICAgICAgICAgICAgIHRsc19pZHNldCA9IEJhc2VQcm94eS5fYWRkcmVzc190b19sb2NhbC5nZXQodG9rZW4uYWRkcmVzcywgTm9uZSkKICAgICAgICAgICAgIGlmIHRsc19pZHNldCBpcyBOb25lOgogICAgICAgICAgICAgICAgIHRsc19pZHNldCA9IHV0aWwuRm9ya0F3YXJlTG9jYWwoKSwgUHJvY2Vzc0xvY2FsU2V0KCkKICAgICAgICAgICAgICAgICBCYXNlUHJveHkuX2FkZHJlc3NfdG9fbG9jYWxbdG9rZW4uYWRkcmVzc10gPSB0bHNfaWRzZXQKLSAgICAgICAgZmluYWxseToKLSAgICAgICAgICAgIEJhc2VQcm94eS5fbXV0ZXgucmVsZWFzZSgpCiAKICAgICAgICAgIyBzZWxmLl90bHMgaXMgdXNlZCB0byByZWNvcmQgdGhlIGNvbm5lY3Rpb24gdXNlZCBieSB0aGlzCiAgICAgICAgICMgdGhyZWFkIHRvIGNvbW11bmljYXRlIHdpdGggdGhlIG1hbmFnZXIgYXQgdG9rZW4uYWRkcmVzcwpAQCAtODE4LDggKzgwMyw4IEBACiAgICAgICAgIHJldHVybiBzZWxmLl9nZXR2YWx1ZSgpCiAKICAgICBkZWYgX19yZXByX18oc2VsZik6Ci0gICAgICAgIHJldHVybiAnPCVzIG9iamVjdCwgdHlwZWlkICVyIGF0ICVzPicgJSBcCi0gICAgICAgICAgICAgICAodHlwZShzZWxmKS5fX25hbWVfXywgc2VsZi5fdG9rZW4udHlwZWlkLCAnMHgleCcgJSBpZChzZWxmKSkKKyAgICAgICAgcmV0dXJuICc8JXMgb2JqZWN0LCB0eXBlaWQgJXIgYXQgJSN4PicgJSBcCisgICAgICAgICAgICAgICAodHlwZShzZWxmKS5fX25hbWVfXywgc2VsZi5fdG9rZW4udHlwZWlkLCBpZChzZWxmKSkKIAogICAgIGRlZiBfX3N0cl9fKHNlbGYpOgogICAgICAgICAnJycKQEAgLTkxNiw3ICs5MDEsNyBAQAogICAgICAgICAgICAgaWYgbm90IG5hbWUuc3RhcnRzd2l0aCgnXycpOgogICAgICAgICAgICAgICAgIHRlbXAuYXBwZW5kKCclcz0lcicgJSAobmFtZSwgdmFsdWUpKQogICAgICAgICB0ZW1wLnNvcnQoKQotICAgICAgICByZXR1cm4gJ05hbWVzcGFjZSglcyknICUgc3RyLmpvaW4oJywgJywgdGVtcCkKKyAgICAgICAgcmV0dXJuICclcyglcyknICUgKHNlbGYuX19jbGFzc19fLl9fbmFtZV9fLCAnLCAnLmpvaW4odGVtcCkpCiAKIGNsYXNzIFZhbHVlKG9iamVjdCk6CiAgICAgZGVmIF9faW5pdF9fKHNlbGYsIHR5cGVjb2RlLCB2YWx1ZSwgbG9jaz1UcnVlKToKZGlmZiAtLWdpdCBhL0xpYi9tdWx0aXByb2Nlc3NpbmcvcG9vbC5weSBiL0xpYi9tdWx0aXByb2Nlc3NpbmcvcG9vbC5weQppbmRleCA4ODMyYTVjLi43NWE3NmE0IDEwMDY0NAotLS0gYS9MaWIvbXVsdGlwcm9jZXNzaW5nL3Bvb2wucHkKKysrIGIvTGliL211bHRpcHJvY2Vzc2luZy9wb29sLnB5CkBAIC04Nyw3ICs4Nyw3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5leGMpCiAKICAgICBkZWYgX19yZXByX18oc2VsZik6Ci0gICAgICAgIHJldHVybiAiPE1heWJlRW5jb2RpbmdFcnJvcjogJXM+IiAlIHN0cihzZWxmKQorICAgICAgICByZXR1cm4gIjwlczogJXM+IiAlIChzZWxmLl9fY2xhc3NfXy5fX25hbWVfXywgc2VsZikKIAogCiBkZWYgd29ya2VyKGlucXVldWUsIG91dHF1ZXVlLCBpbml0aWFsaXplcj1Ob25lLCBpbml0YXJncz0oKSwgbWF4dGFza3M9Tm9uZSwKQEAgLTY2Niw4ICs2NjYsNyBAQAogICAgICAgICByZXR1cm4gc2VsZgogCiAgICAgZGVmIG5leHQoc2VsZiwgdGltZW91dD1Ob25lKToKLSAgICAgICAgc2VsZi5fY29uZC5hY3F1aXJlKCkKLSAgICAgICAgdHJ5OgorICAgICAgICB3aXRoIHNlbGYuX2NvbmQ6CiAgICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICAgaXRlbSA9IHNlbGYuX2l0ZW1zLnBvcGxlZnQoKQogICAgICAgICAgICAgZXhjZXB0IEluZGV4RXJyb3I6CkBAIC02ODAsOCArNjc5LDYgQEAKICAgICAgICAgICAgICAgICAgICAgaWYgc2VsZi5faW5kZXggPT0gc2VsZi5fbGVuZ3RoOgogICAgICAgICAgICAgICAgICAgICAgICAgcmFpc2UgU3RvcEl0ZXJhdGlvbgogICAgICAgICAgICAgICAgICAgICByYWlzZSBUaW1lb3V0RXJyb3IKLSAgICAgICAgZmluYWxseToKLSAgICAgICAgICAgIHNlbGYuX2NvbmQucmVsZWFzZSgpCiAKICAgICAgICAgc3VjY2VzcywgdmFsdWUgPSBpdGVtCiAgICAgICAgIGlmIHN1Y2Nlc3M6CkBAIC02OTEsOCArNjg4LDcgQEAKICAgICBfX25leHRfXyA9IG5leHQgICAgICAgICAgICAgICAgICAgICMgWFhYCiAKICAgICBkZWYgX3NldChzZWxmLCBpLCBvYmopOgotICAgICAgICBzZWxmLl9jb25kLmFjcXVpcmUoKQotICAgICAgICB0cnk6CisgICAgICAgIHdpdGggc2VsZi5fY29uZDoKICAgICAgICAgICAgIGlmIHNlbGYuX2luZGV4ID09IGk6CiAgICAgICAgICAgICAgICAgc2VsZi5faXRlbXMuYXBwZW5kKG9iaikKICAgICAgICAgICAgICAgICBzZWxmLl9pbmRleCArPSAxCkBAIC03MDYsMTggKzcwMiwxMyBAQAogCiAgICAgICAgICAgICBpZiBzZWxmLl9pbmRleCA9PSBzZWxmLl9sZW5ndGg6CiAgICAgICAgICAgICAgICAgZGVsIHNlbGYuX2NhY2hlW3NlbGYuX2pvYl0KLSAgICAgICAgZmluYWxseToKLSAgICAgICAgICAgIHNlbGYuX2NvbmQucmVsZWFzZSgpCiAKICAgICBkZWYgX3NldF9sZW5ndGgoc2VsZiwgbGVuZ3RoKToKLSAgICAgICAgc2VsZi5fY29uZC5hY3F1aXJlKCkKLSAgICAgICAgdHJ5OgorICAgICAgICB3aXRoIHNlbGYuX2NvbmQ6CiAgICAgICAgICAgICBzZWxmLl9sZW5ndGggPSBsZW5ndGgKICAgICAgICAgICAgIGlmIHNlbGYuX2luZGV4ID09IHNlbGYuX2xlbmd0aDoKICAgICAgICAgICAgICAgICBzZWxmLl9jb25kLm5vdGlmeSgpCiAgICAgICAgICAgICAgICAgZGVsIHNlbGYuX2NhY2hlW3NlbGYuX2pvYl0KLSAgICAgICAgZmluYWxseToKLSAgICAgICAgICAgIHNlbGYuX2NvbmQucmVsZWFzZSgpCiAKICMKICMgQ2xhc3Mgd2hvc2UgaW5zdGFuY2VzIGFyZSByZXR1cm5lZCBieSBgUG9vbC5pbWFwX3Vub3JkZXJlZCgpYApAQCAtNzI2LDE1ICs3MTcsMTIgQEAKIGNsYXNzIElNYXBVbm9yZGVyZWRJdGVyYXRvcihJTWFwSXRlcmF0b3IpOgogCiAgICAgZGVmIF9zZXQoc2VsZiwgaSwgb2JqKToKLSAgICAgICAgc2VsZi5fY29uZC5hY3F1aXJlKCkKLSAgICAgICAgdHJ5OgorICAgICAgICB3aXRoIHNlbGYuX2NvbmQ6CiAgICAgICAgICAgICBzZWxmLl9pdGVtcy5hcHBlbmQob2JqKQogICAgICAgICAgICAgc2VsZi5faW5kZXggKz0gMQogICAgICAgICAgICAgc2VsZi5fY29uZC5ub3RpZnkoKQogICAgICAgICAgICAgaWYgc2VsZi5faW5kZXggPT0gc2VsZi5fbGVuZ3RoOgogICAgICAgICAgICAgICAgIGRlbCBzZWxmLl9jYWNoZVtzZWxmLl9qb2JdCi0gICAgICAgIGZpbmFsbHk6Ci0gICAgICAgICAgICBzZWxmLl9jb25kLnJlbGVhc2UoKQogCiAjCiAjCkBAIC03NjAsMTAgKzc0OCw3IEBACiAgICAgQHN0YXRpY21ldGhvZAogICAgIGRlZiBfaGVscF9zdHVmZl9maW5pc2goaW5xdWV1ZSwgdGFza19oYW5kbGVyLCBzaXplKToKICAgICAgICAgIyBwdXQgc2VudGluZWxzIGF0IGhlYWQgb2YgaW5xdWV1ZSB0byBtYWtlIHdvcmtlcnMgZmluaXNoCi0gICAgICAgIGlucXVldWUubm90X2VtcHR5LmFjcXVpcmUoKQotICAgICAgICB0cnk6CisgICAgICAgIHdpdGggaW5xdWV1ZS5ub3RfZW1wdHk6CiAgICAgICAgICAgICBpbnF1ZXVlLnF1ZXVlLmNsZWFyKCkKICAgICAgICAgICAgIGlucXVldWUucXVldWUuZXh0ZW5kKFtOb25lXSAqIHNpemUpCiAgICAgICAgICAgICBpbnF1ZXVlLm5vdF9lbXB0eS5ub3RpZnlfYWxsKCkKLSAgICAgICAgZmluYWxseToKLSAgICAgICAgICAgIGlucXVldWUubm90X2VtcHR5LnJlbGVhc2UoKQpkaWZmIC0tZ2l0IGEvTGliL211bHRpcHJvY2Vzc2luZy9wb3Blbl9mb3JrLnB5IGIvTGliL211bHRpcHJvY2Vzc2luZy9wb3Blbl9mb3JrLnB5CmluZGV4IDM2N2U3MmUuLmQyZWJkN2MgMTAwNjQ0Ci0tLSBhL0xpYi9tdWx0aXByb2Nlc3NpbmcvcG9wZW5fZm9yay5weQorKysgYi9MaWIvbXVsdGlwcm9jZXNzaW5nL3BvcGVuX2ZvcmsucHkKQEAgLTEsNyArMSw2IEBACiBpbXBvcnQgb3MKIGltcG9ydCBzeXMKIGltcG9ydCBzaWduYWwKLWltcG9ydCBlcnJubwogCiBmcm9tIC4gaW1wb3J0IHV0aWwKIApAQCAtMjksOCArMjgsNiBAQAogICAgICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgICAgICAgcGlkLCBzdHMgPSBvcy53YWl0cGlkKHNlbGYucGlkLCBmbGFnKQogICAgICAgICAgICAgICAgIGV4Y2VwdCBPU0Vycm9yIGFzIGU6Ci0gICAgICAgICAgICAgICAgICAgIGlmIGUuZXJybm8gPT0gZXJybm8uRUlOVFI6Ci0gICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZQogICAgICAgICAgICAgICAgICAgICAjIENoaWxkIHByb2Nlc3Mgbm90IHlldCBjcmVhdGVkLiBTZWUgIzE3MzE3MTcKICAgICAgICAgICAgICAgICAgICAgIyBlLmVycm5vID09IGVycm5vLkVDSElMRCA9PSAxMAogICAgICAgICAgICAgICAgICAgICByZXR1cm4gTm9uZQpkaWZmIC0tZ2l0IGEvTGliL211bHRpcHJvY2Vzc2luZy9xdWV1ZXMucHkgYi9MaWIvbXVsdGlwcm9jZXNzaW5nL3F1ZXVlcy5weQppbmRleCBmNjUwNzcxLi5jMDdhZDQwIDEwMDY0NAotLS0gYS9MaWIvbXVsdGlwcm9jZXNzaW5nL3F1ZXVlcy5weQorKysgYi9MaWIvbXVsdGlwcm9jZXNzaW5nL3F1ZXVlcy5weQpAQCAtODEsMTQgKzgxLDExIEBACiAgICAgICAgIGlmIG5vdCBzZWxmLl9zZW0uYWNxdWlyZShibG9jaywgdGltZW91dCk6CiAgICAgICAgICAgICByYWlzZSBGdWxsCiAKLSAgICAgICAgc2VsZi5fbm90ZW1wdHkuYWNxdWlyZSgpCi0gICAgICAgIHRyeToKKyAgICAgICAgd2l0aCBzZWxmLl9ub3RlbXB0eToKICAgICAgICAgICAgIGlmIHNlbGYuX3RocmVhZCBpcyBOb25lOgogICAgICAgICAgICAgICAgIHNlbGYuX3N0YXJ0X3RocmVhZCgpCiAgICAgICAgICAgICBzZWxmLl9idWZmZXIuYXBwZW5kKG9iaikKICAgICAgICAgICAgIHNlbGYuX25vdGVtcHR5Lm5vdGlmeSgpCi0gICAgICAgIGZpbmFsbHk6Ci0gICAgICAgICAgICBzZWxmLl9ub3RlbXB0eS5yZWxlYXNlKCkKIAogICAgIGRlZiBnZXQoc2VsZiwgYmxvY2s9VHJ1ZSwgdGltZW91dD1Ob25lKToKICAgICAgICAgaWYgYmxvY2sgYW5kIHRpbWVvdXQgaXMgTm9uZToKQEAgLTIwMSwxMiArMTk4LDkgQEAKICAgICBAc3RhdGljbWV0aG9kCiAgICAgZGVmIF9maW5hbGl6ZV9jbG9zZShidWZmZXIsIG5vdGVtcHR5KToKICAgICAgICAgZGVidWcoJ3RlbGxpbmcgcXVldWUgdGhyZWFkIHRvIHF1aXQnKQotICAgICAgICBub3RlbXB0eS5hY3F1aXJlKCkKLSAgICAgICAgdHJ5OgorICAgICAgICB3aXRoIG5vdGVtcHR5OgogICAgICAgICAgICAgYnVmZmVyLmFwcGVuZChfc2VudGluZWwpCiAgICAgICAgICAgICBub3RlbXB0eS5ub3RpZnkoKQotICAgICAgICBmaW5hbGx5OgotICAgICAgICAgICAgbm90ZW1wdHkucmVsZWFzZSgpCiAKICAgICBAc3RhdGljbWV0aG9kCiAgICAgZGVmIF9mZWVkKGJ1ZmZlciwgbm90ZW1wdHksIHNlbmRfYnl0ZXMsIHdyaXRlbG9jaywgY2xvc2UsIGlnbm9yZV9lcGlwZSk6CkBAIC0yOTUsMzUgKzI4OSwyNCBAQAogICAgICAgICBpZiBub3Qgc2VsZi5fc2VtLmFjcXVpcmUoYmxvY2ssIHRpbWVvdXQpOgogICAgICAgICAgICAgcmFpc2UgRnVsbAogCi0gICAgICAgIHNlbGYuX25vdGVtcHR5LmFjcXVpcmUoKQotICAgICAgICBzZWxmLl9jb25kLmFjcXVpcmUoKQotICAgICAgICB0cnk6CisgICAgICAgIHdpdGggc2VsZi5fbm90ZW1wdHksIHNlbGYuX2NvbmQ6CiAgICAgICAgICAgICBpZiBzZWxmLl90aHJlYWQgaXMgTm9uZToKICAgICAgICAgICAgICAgICBzZWxmLl9zdGFydF90aHJlYWQoKQogICAgICAgICAgICAgc2VsZi5fYnVmZmVyLmFwcGVuZChvYmopCiAgICAgICAgICAgICBzZWxmLl91bmZpbmlzaGVkX3Rhc2tzLnJlbGVhc2UoKQogICAgICAgICAgICAgc2VsZi5fbm90ZW1wdHkubm90aWZ5KCkKLSAgICAgICAgZmluYWxseToKLSAgICAgICAgICAgIHNlbGYuX2NvbmQucmVsZWFzZSgpCi0gICAgICAgICAgICBzZWxmLl9ub3RlbXB0eS5yZWxlYXNlKCkKIAogICAgIGRlZiB0YXNrX2RvbmUoc2VsZik6Ci0gICAgICAgIHNlbGYuX2NvbmQuYWNxdWlyZSgpCi0gICAgICAgIHRyeToKKyAgICAgICAgd2l0aCBzZWxmLl9jb25kOgogICAgICAgICAgICAgaWYgbm90IHNlbGYuX3VuZmluaXNoZWRfdGFza3MuYWNxdWlyZShGYWxzZSk6CiAgICAgICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigndGFza19kb25lKCkgY2FsbGVkIHRvbyBtYW55IHRpbWVzJykKICAgICAgICAgICAgIGlmIHNlbGYuX3VuZmluaXNoZWRfdGFza3MuX3NlbWxvY2suX2lzX3plcm8oKToKICAgICAgICAgICAgICAgICBzZWxmLl9jb25kLm5vdGlmeV9hbGwoKQotICAgICAgICBmaW5hbGx5OgotICAgICAgICAgICAgc2VsZi5fY29uZC5yZWxlYXNlKCkKIAogICAgIGRlZiBqb2luKHNlbGYpOgotICAgICAgICBzZWxmLl9jb25kLmFjcXVpcmUoKQotICAgICAgICB0cnk6CisgICAgICAgIHdpdGggc2VsZi5fY29uZDoKICAgICAgICAgICAgIGlmIG5vdCBzZWxmLl91bmZpbmlzaGVkX3Rhc2tzLl9zZW1sb2NrLl9pc196ZXJvKCk6CiAgICAgICAgICAgICAgICAgc2VsZi5fY29uZC53YWl0KCkKLSAgICAgICAgZmluYWxseToKLSAgICAgICAgICAgIHNlbGYuX2NvbmQucmVsZWFzZSgpCiAKICMKICMgU2ltcGxpZmllZCBRdWV1ZSB0eXBlIC0tIHJlYWxseSBqdXN0IGEgbG9ja2VkIHBpcGUKZGlmZiAtLWdpdCBhL0xpYi9tdWx0aXByb2Nlc3Npbmcvc2hhcmVkY3R5cGVzLnB5IGIvTGliL211bHRpcHJvY2Vzc2luZy9zaGFyZWRjdHlwZXMucHkKaW5kZXggMGMxNzgyNS4uNDI1OGY1OSAxMDA2NDQKLS0tIGEvTGliL211bHRpcHJvY2Vzc2luZy9zaGFyZWRjdHlwZXMucHkKKysrIGIvTGliL211bHRpcHJvY2Vzc2luZy9zaGFyZWRjdHlwZXMucHkKQEAgLTE4OCw2ICsxODgsMTIgQEAKICAgICAgICAgc2VsZi5hY3F1aXJlID0gc2VsZi5fbG9jay5hY3F1aXJlCiAgICAgICAgIHNlbGYucmVsZWFzZSA9IHNlbGYuX2xvY2sucmVsZWFzZQogCisgICAgZGVmIF9fZW50ZXJfXyhzZWxmKToKKyAgICAgICAgcmV0dXJuIHNlbGYuX2xvY2suX19lbnRlcl9fKCkKKworICAgIGRlZiBfX2V4aXRfXyhzZWxmLCAqYXJncyk6CisgICAgICAgIHJldHVybiBzZWxmLl9sb2NrLl9fZXhpdF9fKCphcmdzKQorCiAgICAgZGVmIF9fcmVkdWNlX18oc2VsZik6CiAgICAgICAgIGFzc2VydF9zcGF3bmluZyhzZWxmKQogICAgICAgICByZXR1cm4gc3luY2hyb25pemVkLCAoc2VsZi5fb2JqLCBzZWxmLl9sb2NrKQpAQCAtMjEyLDMyICsyMTgsMjAgQEAKICAgICAgICAgcmV0dXJuIGxlbihzZWxmLl9vYmopCiAKICAgICBkZWYgX19nZXRpdGVtX18oc2VsZiwgaSk6Ci0gICAgICAgIHNlbGYuYWNxdWlyZSgpCi0gICAgICAgIHRyeToKKyAgICAgICAgd2l0aCBzZWxmOgogICAgICAgICAgICAgcmV0dXJuIHNlbGYuX29ialtpXQotICAgICAgICBmaW5hbGx5OgotICAgICAgICAgICAgc2VsZi5yZWxlYXNlKCkKIAogICAgIGRlZiBfX3NldGl0ZW1fXyhzZWxmLCBpLCB2YWx1ZSk6Ci0gICAgICAgIHNlbGYuYWNxdWlyZSgpCi0gICAgICAgIHRyeToKKyAgICAgICAgd2l0aCBzZWxmOgogICAgICAgICAgICAgc2VsZi5fb2JqW2ldID0gdmFsdWUKLSAgICAgICAgZmluYWxseToKLSAgICAgICAgICAgIHNlbGYucmVsZWFzZSgpCiAKICAgICBkZWYgX19nZXRzbGljZV9fKHNlbGYsIHN0YXJ0LCBzdG9wKToKLSAgICAgICAgc2VsZi5hY3F1aXJlKCkKLSAgICAgICAgdHJ5OgorICAgICAgICB3aXRoIHNlbGY6CiAgICAgICAgICAgICByZXR1cm4gc2VsZi5fb2JqW3N0YXJ0OnN0b3BdCi0gICAgICAgIGZpbmFsbHk6Ci0gICAgICAgICAgICBzZWxmLnJlbGVhc2UoKQogCiAgICAgZGVmIF9fc2V0c2xpY2VfXyhzZWxmLCBzdGFydCwgc3RvcCwgdmFsdWVzKToKLSAgICAgICAgc2VsZi5hY3F1aXJlKCkKLSAgICAgICAgdHJ5OgorICAgICAgICB3aXRoIHNlbGY6CiAgICAgICAgICAgICBzZWxmLl9vYmpbc3RhcnQ6c3RvcF0gPSB2YWx1ZXMKLSAgICAgICAgZmluYWxseToKLSAgICAgICAgICAgIHNlbGYucmVsZWFzZSgpCiAKIAogY2xhc3MgU3luY2hyb25pemVkU3RyaW5nKFN5bmNocm9uaXplZEFycmF5KToKZGlmZiAtLWdpdCBhL0xpYi9tdWx0aXByb2Nlc3Npbmcvc3luY2hyb25pemUucHkgYi9MaWIvbXVsdGlwcm9jZXNzaW5nL3N5bmNocm9uaXplLnB5CmluZGV4IGRlYTFjYmQuLmQ0YmRmMGUgMTAwNjQ0Ci0tLSBhL0xpYi9tdWx0aXByb2Nlc3Npbmcvc3luY2hyb25pemUucHkKKysrIGIvTGliL211bHRpcHJvY2Vzc2luZy9zeW5jaHJvbml6ZS5weQpAQCAtMTM0LDcgKzEzNCw3IEBACiAgICAgICAgICAgICB2YWx1ZSA9IHNlbGYuX3NlbWxvY2suX2dldF92YWx1ZSgpCiAgICAgICAgIGV4Y2VwdCBFeGNlcHRpb246CiAgICAgICAgICAgICB2YWx1ZSA9ICd1bmtub3duJwotICAgICAgICByZXR1cm4gJzxTZW1hcGhvcmUodmFsdWU9JXMpPicgJSB2YWx1ZQorICAgICAgICByZXR1cm4gJzwlcyh2YWx1ZT0lcyk+JyAlIChzZWxmLl9fY2xhc3NfXy5fX25hbWVfXywgdmFsdWUpCiAKICMKICMgQm91bmRlZCBzZW1hcGhvcmUKQEAgLTE1MCw4ICsxNTAsOCBAQAogICAgICAgICAgICAgdmFsdWUgPSBzZWxmLl9zZW1sb2NrLl9nZXRfdmFsdWUoKQogICAgICAgICBleGNlcHQgRXhjZXB0aW9uOgogICAgICAgICAgICAgdmFsdWUgPSAndW5rbm93bicKLSAgICAgICAgcmV0dXJuICc8Qm91bmRlZFNlbWFwaG9yZSh2YWx1ZT0lcywgbWF4dmFsdWU9JXMpPicgJSBcCi0gICAgICAgICAgICAgICAodmFsdWUsIHNlbGYuX3NlbWxvY2subWF4dmFsdWUpCisgICAgICAgIHJldHVybiAnPCVzKHZhbHVlPSVzLCBtYXh2YWx1ZT0lcyk+JyAlIFwKKyAgICAgICAgICAgICAgIChzZWxmLl9fY2xhc3NfXy5fX25hbWVfXywgdmFsdWUsIHNlbGYuX3NlbWxvY2subWF4dmFsdWUpCiAKICMKICMgTm9uLXJlY3Vyc2l2ZSBsb2NrCkBAIC0xNzYsNyArMTc2LDcgQEAKICAgICAgICAgICAgICAgICBuYW1lID0gJ1NvbWVPdGhlclByb2Nlc3MnCiAgICAgICAgIGV4Y2VwdCBFeGNlcHRpb246CiAgICAgICAgICAgICBuYW1lID0gJ3Vua25vd24nCi0gICAgICAgIHJldHVybiAnPExvY2sob3duZXI9JXMpPicgJSBuYW1lCisgICAgICAgIHJldHVybiAnPCVzKG93bmVyPSVzKT4nICUgKHNlbGYuX19jbGFzc19fLl9fbmFtZV9fLCBuYW1lKQogCiAjCiAjIFJlY3Vyc2l2ZSBsb2NrCkBAIC0yMDIsNyArMjAyLDcgQEAKICAgICAgICAgICAgICAgICBuYW1lLCBjb3VudCA9ICdTb21lT3RoZXJQcm9jZXNzJywgJ25vbnplcm8nCiAgICAgICAgIGV4Y2VwdCBFeGNlcHRpb246CiAgICAgICAgICAgICBuYW1lLCBjb3VudCA9ICd1bmtub3duJywgJ3Vua25vd24nCi0gICAgICAgIHJldHVybiAnPFJMb2NrKCVzLCAlcyk+JyAlIChuYW1lLCBjb3VudCkKKyAgICAgICAgcmV0dXJuICc8JXMoJXMsICVzKT4nICUgKHNlbGYuX19jbGFzc19fLl9fbmFtZV9fLCBuYW1lLCBjb3VudCkKIAogIwogIyBDb25kaXRpb24gdmFyaWFibGUKQEAgLTI0Myw3ICsyNDMsNyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fd29rZW5fY291bnQuX3NlbWxvY2suX2dldF92YWx1ZSgpKQogICAgICAgICBleGNlcHQgRXhjZXB0aW9uOgogICAgICAgICAgICAgbnVtX3dhaXRlcnMgPSAndW5rbm93bicKLSAgICAgICAgcmV0dXJuICc8Q29uZGl0aW9uKCVzLCAlcyk+JyAlIChzZWxmLl9sb2NrLCBudW1fd2FpdGVycykKKyAgICAgICAgcmV0dXJuICc8JXMoJXMsICVzKT4nICUgKHNlbGYuX19jbGFzc19fLl9fbmFtZV9fLCBzZWxmLl9sb2NrLCBudW1fd2FpdGVycykKIAogICAgIGRlZiB3YWl0KHNlbGYsIHRpbWVvdXQ9Tm9uZSk6CiAgICAgICAgIGFzc2VydCBzZWxmLl9sb2NrLl9zZW1sb2NrLl9pc19taW5lKCksIFwKQEAgLTMzNywzNCArMzM3LDI0IEBACiAgICAgICAgIHNlbGYuX2ZsYWcgPSBjdHguU2VtYXBob3JlKDApCiAKICAgICBkZWYgaXNfc2V0KHNlbGYpOgotICAgICAgICBzZWxmLl9jb25kLmFjcXVpcmUoKQotICAgICAgICB0cnk6CisgICAgICAgIHdpdGggc2VsZi5fY29uZDoKICAgICAgICAgICAgIGlmIHNlbGYuX2ZsYWcuYWNxdWlyZShGYWxzZSk6CiAgICAgICAgICAgICAgICAgc2VsZi5fZmxhZy5yZWxlYXNlKCkKICAgICAgICAgICAgICAgICByZXR1cm4gVHJ1ZQogICAgICAgICAgICAgcmV0dXJuIEZhbHNlCi0gICAgICAgIGZpbmFsbHk6Ci0gICAgICAgICAgICBzZWxmLl9jb25kLnJlbGVhc2UoKQogCiAgICAgZGVmIHNldChzZWxmKToKLSAgICAgICAgc2VsZi5fY29uZC5hY3F1aXJlKCkKLSAgICAgICAgdHJ5OgorICAgICAgICB3aXRoIHNlbGYuX2NvbmQ6CiAgICAgICAgICAgICBzZWxmLl9mbGFnLmFjcXVpcmUoRmFsc2UpCiAgICAgICAgICAgICBzZWxmLl9mbGFnLnJlbGVhc2UoKQogICAgICAgICAgICAgc2VsZi5fY29uZC5ub3RpZnlfYWxsKCkKLSAgICAgICAgZmluYWxseToKLSAgICAgICAgICAgIHNlbGYuX2NvbmQucmVsZWFzZSgpCiAKICAgICBkZWYgY2xlYXIoc2VsZik6Ci0gICAgICAgIHNlbGYuX2NvbmQuYWNxdWlyZSgpCi0gICAgICAgIHRyeToKKyAgICAgICAgd2l0aCBzZWxmLl9jb25kOgogICAgICAgICAgICAgc2VsZi5fZmxhZy5hY3F1aXJlKEZhbHNlKQotICAgICAgICBmaW5hbGx5OgotICAgICAgICAgICAgc2VsZi5fY29uZC5yZWxlYXNlKCkKIAogICAgIGRlZiB3YWl0KHNlbGYsIHRpbWVvdXQ9Tm9uZSk6Ci0gICAgICAgIHNlbGYuX2NvbmQuYWNxdWlyZSgpCi0gICAgICAgIHRyeToKKyAgICAgICAgd2l0aCBzZWxmLl9jb25kOgogICAgICAgICAgICAgaWYgc2VsZi5fZmxhZy5hY3F1aXJlKEZhbHNlKToKICAgICAgICAgICAgICAgICBzZWxmLl9mbGFnLnJlbGVhc2UoKQogICAgICAgICAgICAgZWxzZToKQEAgLTM3NCw4ICszNjQsNiBAQAogICAgICAgICAgICAgICAgIHNlbGYuX2ZsYWcucmVsZWFzZSgpCiAgICAgICAgICAgICAgICAgcmV0dXJuIFRydWUKICAgICAgICAgICAgIHJldHVybiBGYWxzZQotICAgICAgICBmaW5hbGx5OgotICAgICAgICAgICAgc2VsZi5fY29uZC5yZWxlYXNlKCkKIAogIwogIyBCYXJyaWVyCmRpZmYgLS1naXQgYS9MaWIvbXVsdGlwcm9jZXNzaW5nL3V0aWwucHkgYi9MaWIvbXVsdGlwcm9jZXNzaW5nL3V0aWwucHkKaW5kZXggMGI2OTVlNC4uZWE1NDQzZCAxMDA2NDQKLS0tIGEvTGliL211bHRpcHJvY2Vzc2luZy91dGlsLnB5CisrKyBiL0xpYi9tdWx0aXByb2Nlc3NpbmcvdXRpbC5weQpAQCAtMjEyLDEwICsyMTIsMTEgQEAKICAgICAgICAgICAgIG9iaiA9IE5vbmUKIAogICAgICAgICBpZiBvYmogaXMgTm9uZToKLSAgICAgICAgICAgIHJldHVybiAnPEZpbmFsaXplIG9iamVjdCwgZGVhZD4nCisgICAgICAgICAgICByZXR1cm4gJzwlcyBvYmplY3QsIGRlYWQ+JyAlIHNlbGYuX19jbGFzc19fLl9fbmFtZV9fCiAKLSAgICAgICAgeCA9ICc8RmluYWxpemUgb2JqZWN0LCBjYWxsYmFjaz0lcycgJSBcCi0gICAgICAgICAgICBnZXRhdHRyKHNlbGYuX2NhbGxiYWNrLCAnX19uYW1lX18nLCBzZWxmLl9jYWxsYmFjaykKKyAgICAgICAgeCA9ICc8JXMgb2JqZWN0LCBjYWxsYmFjaz0lcycgJSAoCisgICAgICAgICAgICAgICAgc2VsZi5fX2NsYXNzX18uX19uYW1lX18sCisgICAgICAgICAgICAgICAgZ2V0YXR0cihzZWxmLl9jYWxsYmFjaywgJ19fbmFtZV9fJywgc2VsZi5fY2FsbGJhY2spKQogICAgICAgICBpZiBzZWxmLl9hcmdzOgogICAgICAgICAgICAgeCArPSAnLCBhcmdzPScgKyBzdHIoc2VsZi5fYXJncykKICAgICAgICAgaWYgc2VsZi5fa3dhcmdzOgpAQCAtMzI3LDYgKzMyOCwxMyBAQAogICAgICAgICBzZWxmLmFjcXVpcmUgPSBzZWxmLl9sb2NrLmFjcXVpcmUKICAgICAgICAgc2VsZi5yZWxlYXNlID0gc2VsZi5fbG9jay5yZWxlYXNlCiAKKyAgICBkZWYgX19lbnRlcl9fKHNlbGYpOgorICAgICAgICByZXR1cm4gc2VsZi5fbG9jay5fX2VudGVyX18oKQorCisgICAgZGVmIF9fZXhpdF9fKHNlbGYsICphcmdzKToKKyAgICAgICAgcmV0dXJuIHNlbGYuX2xvY2suX19leGl0X18oKmFyZ3MpCisKKwogY2xhc3MgRm9ya0F3YXJlTG9jYWwodGhyZWFkaW5nLmxvY2FsKToKICAgICBkZWYgX19pbml0X18oc2VsZik6CiAgICAgICAgIHJlZ2lzdGVyX2FmdGVyX2Zvcmsoc2VsZiwgbGFtYmRhIG9iaiA6IG9iai5fX2RpY3RfXy5jbGVhcigpKQpkaWZmIC0tZ2l0IGEvTGliL250cGF0aC5weSBiL0xpYi9udHBhdGgucHkKaW5kZXggYWYzZmI4Ny4uZWUxYTIxNSAxMDA2NDQKLS0tIGEvTGliL250cGF0aC5weQorKysgYi9MaWIvbnRwYXRoLnB5CkBAIC0zMiw0OCArMzIsMTIgQEAKICAgICBkZWZwYXRoID0gJ1xcV2luZG93cycKIGRldm51bGwgPSAnbnVsJwogCi1kZWYgX2dldF9lbXB0eShwYXRoKToKLSAgICBpZiBpc2luc3RhbmNlKHBhdGgsIGJ5dGVzKToKLSAgICAgICAgcmV0dXJuIGInJwotICAgIGVsc2U6Ci0gICAgICAgIHJldHVybiAnJwotCi1kZWYgX2dldF9zZXAocGF0aCk6Ci0gICAgaWYgaXNpbnN0YW5jZShwYXRoLCBieXRlcyk6Ci0gICAgICAgIHJldHVybiBiJ1xcJwotICAgIGVsc2U6Ci0gICAgICAgIHJldHVybiAnXFwnCi0KLWRlZiBfZ2V0X2FsdHNlcChwYXRoKToKLSAgICBpZiBpc2luc3RhbmNlKHBhdGgsIGJ5dGVzKToKLSAgICAgICAgcmV0dXJuIGInLycKLSAgICBlbHNlOgotICAgICAgICByZXR1cm4gJy8nCi0KIGRlZiBfZ2V0X2JvdGhzZXBzKHBhdGgpOgogICAgIGlmIGlzaW5zdGFuY2UocGF0aCwgYnl0ZXMpOgogICAgICAgICByZXR1cm4gYidcXC8nCiAgICAgZWxzZToKICAgICAgICAgcmV0dXJuICdcXC8nCiAKLWRlZiBfZ2V0X2RvdChwYXRoKToKLSAgICBpZiBpc2luc3RhbmNlKHBhdGgsIGJ5dGVzKToKLSAgICAgICAgcmV0dXJuIGInLicKLSAgICBlbHNlOgotICAgICAgICByZXR1cm4gJy4nCi0KLWRlZiBfZ2V0X2NvbG9uKHBhdGgpOgotICAgIGlmIGlzaW5zdGFuY2UocGF0aCwgYnl0ZXMpOgotICAgICAgICByZXR1cm4gYic6JwotICAgIGVsc2U6Ci0gICAgICAgIHJldHVybiAnOicKLQotZGVmIF9nZXRfc3BlY2lhbChwYXRoKToKLSAgICBpZiBpc2luc3RhbmNlKHBhdGgsIGJ5dGVzKToKLSAgICAgICAgcmV0dXJuIChiJ1xcXFwuXFwnLCBiJ1xcXFw/XFwnKQotICAgIGVsc2U6Ci0gICAgICAgIHJldHVybiAoJ1xcXFwuXFwnLCAnXFxcXD9cXCcpCi0KICMgTm9ybWFsaXplIHRoZSBjYXNlIG9mIGEgcGF0aG5hbWUgYW5kIG1hcCBzbGFzaGVzIHRvIGJhY2tzbGFzaGVzLgogIyBPdGhlciBub3JtYWxpemF0aW9ucyAoc3VjaCBhcyBvcHRpbWl6aW5nICcuLi8nIGF3YXkpIGFyZSBub3QgZG9uZQogIyAodGhpcyBpcyBkb25lIGJ5IG5vcm1wYXRoKS4KQEAgLTgyLDEwICs0NiwxNiBAQAogICAgICIiIk5vcm1hbGl6ZSBjYXNlIG9mIHBhdGhuYW1lLgogCiAgICAgTWFrZXMgYWxsIGNoYXJhY3RlcnMgbG93ZXJjYXNlIGFuZCBhbGwgc2xhc2hlcyBpbnRvIGJhY2tzbGFzaGVzLiIiIgotICAgIGlmIG5vdCBpc2luc3RhbmNlKHMsIChieXRlcywgc3RyKSk6Ci0gICAgICAgIHJhaXNlIFR5cGVFcnJvcigibm9ybWNhc2UoKSBhcmd1bWVudCBtdXN0IGJlIHN0ciBvciBieXRlcywgIgotICAgICAgICAgICAgICAgICAgICAgICAgIm5vdCAne30nIi5mb3JtYXQocy5fX2NsYXNzX18uX19uYW1lX18pKQotICAgIHJldHVybiBzLnJlcGxhY2UoX2dldF9hbHRzZXAocyksIF9nZXRfc2VwKHMpKS5sb3dlcigpCisgICAgdHJ5OgorICAgICAgICBpZiBpc2luc3RhbmNlKHMsIGJ5dGVzKToKKyAgICAgICAgICAgIHJldHVybiBzLnJlcGxhY2UoYicvJywgYidcXCcpLmxvd2VyKCkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHJldHVybiBzLnJlcGxhY2UoJy8nLCAnXFwnKS5sb3dlcigpCisgICAgZXhjZXB0IChUeXBlRXJyb3IsIEF0dHJpYnV0ZUVycm9yKToKKyAgICAgICAgaWYgbm90IGlzaW5zdGFuY2UocywgKGJ5dGVzLCBzdHIpKToKKyAgICAgICAgICAgIHJhaXNlIFR5cGVFcnJvcigibm9ybWNhc2UoKSBhcmd1bWVudCBtdXN0IGJlIHN0ciBvciBieXRlcywgIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICJub3QgJXIiICUgcy5fX2NsYXNzX18uX19uYW1lX18pIGZyb20gTm9uZQorICAgICAgICByYWlzZQogCiAKICMgUmV0dXJuIHdoZXRoZXIgYSBwYXRoIGlzIGFic29sdXRlLgpAQCAtOTcsNDAgKzY3LDQ5IEBACiBkZWYgaXNhYnMocyk6CiAgICAgIiIiVGVzdCB3aGV0aGVyIGEgcGF0aCBpcyBhYnNvbHV0ZSIiIgogICAgIHMgPSBzcGxpdGRyaXZlKHMpWzFdCi0gICAgcmV0dXJuIGxlbihzKSA+IDAgYW5kIHNbOjFdIGluIF9nZXRfYm90aHNlcHMocykKKyAgICByZXR1cm4gbGVuKHMpID4gMCBhbmQgc1swXSBpbiBfZ2V0X2JvdGhzZXBzKHMpCiAKIAogIyBKb2luIHR3byAob3IgbW9yZSkgcGF0aHMuCiBkZWYgam9pbihwYXRoLCAqcGF0aHMpOgotICAgIHNlcCA9IF9nZXRfc2VwKHBhdGgpCi0gICAgc2VwcyA9IF9nZXRfYm90aHNlcHMocGF0aCkKLSAgICBjb2xvbiA9IF9nZXRfY29sb24ocGF0aCkKLSAgICByZXN1bHRfZHJpdmUsIHJlc3VsdF9wYXRoID0gc3BsaXRkcml2ZShwYXRoKQotICAgIGZvciBwIGluIHBhdGhzOgotICAgICAgICBwX2RyaXZlLCBwX3BhdGggPSBzcGxpdGRyaXZlKHApCi0gICAgICAgIGlmIHBfcGF0aCBhbmQgcF9wYXRoWzBdIGluIHNlcHM6Ci0gICAgICAgICAgICAjIFNlY29uZCBwYXRoIGlzIGFic29sdXRlCi0gICAgICAgICAgICBpZiBwX2RyaXZlIG9yIG5vdCByZXN1bHRfZHJpdmU6Ci0gICAgICAgICAgICAgICAgcmVzdWx0X2RyaXZlID0gcF9kcml2ZQotICAgICAgICAgICAgcmVzdWx0X3BhdGggPSBwX3BhdGgKLSAgICAgICAgICAgIGNvbnRpbnVlCi0gICAgICAgIGVsaWYgcF9kcml2ZSBhbmQgcF9kcml2ZSAhPSByZXN1bHRfZHJpdmU6Ci0gICAgICAgICAgICBpZiBwX2RyaXZlLmxvd2VyKCkgIT0gcmVzdWx0X2RyaXZlLmxvd2VyKCk6Ci0gICAgICAgICAgICAgICAgIyBEaWZmZXJlbnQgZHJpdmVzID0+IGlnbm9yZSB0aGUgZmlyc3QgcGF0aCBlbnRpcmVseQotICAgICAgICAgICAgICAgIHJlc3VsdF9kcml2ZSA9IHBfZHJpdmUKKyAgICBpZiBpc2luc3RhbmNlKHBhdGgsIGJ5dGVzKToKKyAgICAgICAgc2VwID0gYidcXCcKKyAgICAgICAgc2VwcyA9IGInXFwvJworICAgICAgICBjb2xvbiA9IGInOicKKyAgICBlbHNlOgorICAgICAgICBzZXAgPSAnXFwnCisgICAgICAgIHNlcHMgPSAnXFwvJworICAgICAgICBjb2xvbiA9ICc6JworICAgIHRyeToKKyAgICAgICAgcmVzdWx0X2RyaXZlLCByZXN1bHRfcGF0aCA9IHNwbGl0ZHJpdmUocGF0aCkKKyAgICAgICAgZm9yIHAgaW4gcGF0aHM6CisgICAgICAgICAgICBwX2RyaXZlLCBwX3BhdGggPSBzcGxpdGRyaXZlKHApCisgICAgICAgICAgICBpZiBwX3BhdGggYW5kIHBfcGF0aFswXSBpbiBzZXBzOgorICAgICAgICAgICAgICAgICMgU2Vjb25kIHBhdGggaXMgYWJzb2x1dGUKKyAgICAgICAgICAgICAgICBpZiBwX2RyaXZlIG9yIG5vdCByZXN1bHRfZHJpdmU6CisgICAgICAgICAgICAgICAgICAgIHJlc3VsdF9kcml2ZSA9IHBfZHJpdmUKICAgICAgICAgICAgICAgICByZXN1bHRfcGF0aCA9IHBfcGF0aAogICAgICAgICAgICAgICAgIGNvbnRpbnVlCi0gICAgICAgICAgICAjIFNhbWUgZHJpdmUgaW4gZGlmZmVyZW50IGNhc2UKLSAgICAgICAgICAgIHJlc3VsdF9kcml2ZSA9IHBfZHJpdmUKLSAgICAgICAgIyBTZWNvbmQgcGF0aCBpcyByZWxhdGl2ZSB0byB0aGUgZmlyc3QKLSAgICAgICAgaWYgcmVzdWx0X3BhdGggYW5kIHJlc3VsdF9wYXRoWy0xXSBub3QgaW4gc2VwczoKLSAgICAgICAgICAgIHJlc3VsdF9wYXRoID0gcmVzdWx0X3BhdGggKyBzZXAKLSAgICAgICAgcmVzdWx0X3BhdGggPSByZXN1bHRfcGF0aCArIHBfcGF0aAotICAgICMjIGFkZCBzZXBhcmF0b3IgYmV0d2VlbiBVTkMgYW5kIG5vbi1hYnNvbHV0ZSBwYXRoCi0gICAgaWYgKHJlc3VsdF9wYXRoIGFuZCByZXN1bHRfcGF0aFswXSBub3QgaW4gc2VwcyBhbmQKLSAgICAgICAgcmVzdWx0X2RyaXZlIGFuZCByZXN1bHRfZHJpdmVbLTE6XSAhPSBjb2xvbik6Ci0gICAgICAgIHJldHVybiByZXN1bHRfZHJpdmUgKyBzZXAgKyByZXN1bHRfcGF0aAotICAgIHJldHVybiByZXN1bHRfZHJpdmUgKyByZXN1bHRfcGF0aAorICAgICAgICAgICAgZWxpZiBwX2RyaXZlIGFuZCBwX2RyaXZlICE9IHJlc3VsdF9kcml2ZToKKyAgICAgICAgICAgICAgICBpZiBwX2RyaXZlLmxvd2VyKCkgIT0gcmVzdWx0X2RyaXZlLmxvd2VyKCk6CisgICAgICAgICAgICAgICAgICAgICMgRGlmZmVyZW50IGRyaXZlcyA9PiBpZ25vcmUgdGhlIGZpcnN0IHBhdGggZW50aXJlbHkKKyAgICAgICAgICAgICAgICAgICAgcmVzdWx0X2RyaXZlID0gcF9kcml2ZQorICAgICAgICAgICAgICAgICAgICByZXN1bHRfcGF0aCA9IHBfcGF0aAorICAgICAgICAgICAgICAgICAgICBjb250aW51ZQorICAgICAgICAgICAgICAgICMgU2FtZSBkcml2ZSBpbiBkaWZmZXJlbnQgY2FzZQorICAgICAgICAgICAgICAgIHJlc3VsdF9kcml2ZSA9IHBfZHJpdmUKKyAgICAgICAgICAgICMgU2Vjb25kIHBhdGggaXMgcmVsYXRpdmUgdG8gdGhlIGZpcnN0CisgICAgICAgICAgICBpZiByZXN1bHRfcGF0aCBhbmQgcmVzdWx0X3BhdGhbLTFdIG5vdCBpbiBzZXBzOgorICAgICAgICAgICAgICAgIHJlc3VsdF9wYXRoID0gcmVzdWx0X3BhdGggKyBzZXAKKyAgICAgICAgICAgIHJlc3VsdF9wYXRoID0gcmVzdWx0X3BhdGggKyBwX3BhdGgKKyAgICAgICAgIyMgYWRkIHNlcGFyYXRvciBiZXR3ZWVuIFVOQyBhbmQgbm9uLWFic29sdXRlIHBhdGgKKyAgICAgICAgaWYgKHJlc3VsdF9wYXRoIGFuZCByZXN1bHRfcGF0aFswXSBub3QgaW4gc2VwcyBhbmQKKyAgICAgICAgICAgIHJlc3VsdF9kcml2ZSBhbmQgcmVzdWx0X2RyaXZlWy0xOl0gIT0gY29sb24pOgorICAgICAgICAgICAgcmV0dXJuIHJlc3VsdF9kcml2ZSArIHNlcCArIHJlc3VsdF9wYXRoCisgICAgICAgIHJldHVybiByZXN1bHRfZHJpdmUgKyByZXN1bHRfcGF0aAorICAgIGV4Y2VwdCAoVHlwZUVycm9yLCBBdHRyaWJ1dGVFcnJvciwgQnl0ZXNXYXJuaW5nKToKKyAgICAgICAgZ2VuZXJpY3BhdGguX2NoZWNrX2FyZ190eXBlcygnam9pbicsIHBhdGgsICpwYXRocykKKyAgICAgICAgcmFpc2UKIAogCiAjIFNwbGl0IGEgcGF0aCBpbiBhIGRyaXZlIHNwZWNpZmljYXRpb24gKGEgZHJpdmUgbGV0dGVyIGZvbGxvd2VkIGJ5IGEKQEAgLTE1NSwxMCArMTM0LDE2IEBACiAgICAgUGF0aHMgY2Fubm90IGNvbnRhaW4gYm90aCBhIGRyaXZlIGxldHRlciBhbmQgYSBVTkMgcGF0aC4KIAogICAgICIiIgotICAgIGVtcHR5ID0gX2dldF9lbXB0eShwKQotICAgIGlmIGxlbihwKSA+IDE6Ci0gICAgICAgIHNlcCA9IF9nZXRfc2VwKHApCi0gICAgICAgIG5vcm1wID0gcC5yZXBsYWNlKF9nZXRfYWx0c2VwKHApLCBzZXApCisgICAgaWYgbGVuKHApID49IDI6CisgICAgICAgIGlmIGlzaW5zdGFuY2UocCwgYnl0ZXMpOgorICAgICAgICAgICAgc2VwID0gYidcXCcKKyAgICAgICAgICAgIGFsdHNlcCA9IGInLycKKyAgICAgICAgICAgIGNvbG9uID0gYic6JworICAgICAgICBlbHNlOgorICAgICAgICAgICAgc2VwID0gJ1xcJworICAgICAgICAgICAgYWx0c2VwID0gJy8nCisgICAgICAgICAgICBjb2xvbiA9ICc6JworICAgICAgICBub3JtcCA9IHAucmVwbGFjZShhbHRzZXAsIHNlcCkKICAgICAgICAgaWYgKG5vcm1wWzA6Ml0gPT0gc2VwKjIpIGFuZCAobm9ybXBbMjozXSAhPSBzZXApOgogICAgICAgICAgICAgIyBpcyBhIFVOQyBwYXRoOgogICAgICAgICAgICAgIyB2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2diBkcml2ZSBsZXR0ZXIgb3IgVU5DIHBhdGgKQEAgLTE2NiwxOCArMTUxLDE4IEBACiAgICAgICAgICAgICAjICAgICAgICAgICBkaXJlY3RvcnkgXl5eXl5eXl5eXl5eXl5eCiAgICAgICAgICAgICBpbmRleCA9IG5vcm1wLmZpbmQoc2VwLCAyKQogICAgICAgICAgICAgaWYgaW5kZXggPT0gLTE6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIGVtcHR5LCBwCisgICAgICAgICAgICAgICAgcmV0dXJuIHBbOjBdLCBwCiAgICAgICAgICAgICBpbmRleDIgPSBub3JtcC5maW5kKHNlcCwgaW5kZXggKyAxKQogICAgICAgICAgICAgIyBhIFVOQyBwYXRoIGNhbid0IGhhdmUgdHdvIHNsYXNoZXMgaW4gYSByb3cKICAgICAgICAgICAgICMgKGFmdGVyIHRoZSBpbml0aWFsIHR3bykKICAgICAgICAgICAgIGlmIGluZGV4MiA9PSBpbmRleCArIDE6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIGVtcHR5LCBwCisgICAgICAgICAgICAgICAgcmV0dXJuIHBbOjBdLCBwCiAgICAgICAgICAgICBpZiBpbmRleDIgPT0gLTE6CiAgICAgICAgICAgICAgICAgaW5kZXgyID0gbGVuKHApCiAgICAgICAgICAgICByZXR1cm4gcFs6aW5kZXgyXSwgcFtpbmRleDI6XQotICAgICAgICBpZiBub3JtcFsxOjJdID09IF9nZXRfY29sb24ocCk6CisgICAgICAgIGlmIG5vcm1wWzE6Ml0gPT0gY29sb246CiAgICAgICAgICAgICByZXR1cm4gcFs6Ml0sIHBbMjpdCi0gICAgcmV0dXJuIGVtcHR5LCBwCisgICAgcmV0dXJuIHBbOjBdLCBwCiAKIAogIyBQYXJzZSBVTkMgcGF0aHMKQEAgLTIyMSwxMCArMjA2LDcgQEAKICAgICAgICAgaSAtPSAxCiAgICAgaGVhZCwgdGFpbCA9IHBbOmldLCBwW2k6XSAgIyBub3cgdGFpbCBoYXMgbm8gc2xhc2hlcwogICAgICMgcmVtb3ZlIHRyYWlsaW5nIHNsYXNoZXMgZnJvbSBoZWFkLCB1bmxlc3MgaXQncyBhbGwgc2xhc2hlcwotICAgIGhlYWQyID0gaGVhZAotICAgIHdoaWxlIGhlYWQyIGFuZCBoZWFkMlstMTpdIGluIHNlcHM6Ci0gICAgICAgIGhlYWQyID0gaGVhZDJbOi0xXQotICAgIGhlYWQgPSBoZWFkMiBvciBoZWFkCisgICAgaGVhZCA9IGhlYWQucnN0cmlwKHNlcHMpIG9yIGhlYWQKICAgICByZXR1cm4gZCArIGhlYWQsIHRhaWwKIAogCkBAIC0yMzQsOCArMjE2LDEwIEBACiAjIEl0IGlzIGFsd2F5cyB0cnVlIHRoYXQgcm9vdCArIGV4dCA9PSBwLgogCiBkZWYgc3BsaXRleHQocCk6Ci0gICAgcmV0dXJuIGdlbmVyaWNwYXRoLl9zcGxpdGV4dChwLCBfZ2V0X3NlcChwKSwgX2dldF9hbHRzZXAocCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfZ2V0X2RvdChwKSkKKyAgICBpZiBpc2luc3RhbmNlKHAsIGJ5dGVzKToKKyAgICAgICAgcmV0dXJuIGdlbmVyaWNwYXRoLl9zcGxpdGV4dChwLCBiJ1xcJywgYicvJywgYicuJykKKyAgICBlbHNlOgorICAgICAgICByZXR1cm4gZ2VuZXJpY3BhdGguX3NwbGl0ZXh0KHAsICdcXCcsICcvJywgJy4nKQogc3BsaXRleHQuX19kb2NfXyA9IGdlbmVyaWNwYXRoLl9zcGxpdGV4dC5fX2RvY19fCiAKIApAQCAtMzQzLDcgKzMyNyw3IEBACiAgICAgICAgIHVzZXJob21lID0gam9pbihkcml2ZSwgb3MuZW52aXJvblsnSE9NRVBBVEgnXSkKIAogICAgIGlmIGlzaW5zdGFuY2UocGF0aCwgYnl0ZXMpOgotICAgICAgICB1c2VyaG9tZSA9IHVzZXJob21lLmVuY29kZShzeXMuZ2V0ZmlsZXN5c3RlbWVuY29kaW5nKCkpCisgICAgICAgIHVzZXJob21lID0gb3MuZnNlbmNvZGUodXNlcmhvbWUpCiAKICAgICBpZiBpICE9IDE6ICN+dXNlcgogICAgICAgICB1c2VyaG9tZSA9IGpvaW4oZGlybmFtZSh1c2VyaG9tZSksIHBhdGhbMTppXSkKQEAgLTM2OSwxMyArMzUzLDE0IEBACiAKICAgICBVbmtub3duIHZhcmlhYmxlcyBhcmUgbGVmdCB1bmNoYW5nZWQuIiIiCiAgICAgaWYgaXNpbnN0YW5jZShwYXRoLCBieXRlcyk6Ci0gICAgICAgIGlmIG9yZCgnJCcpIG5vdCBpbiBwYXRoIGFuZCBvcmQoJyUnKSBub3QgaW4gcGF0aDoKKyAgICAgICAgaWYgYickJyBub3QgaW4gcGF0aCBhbmQgYiclJyBub3QgaW4gcGF0aDoKICAgICAgICAgICAgIHJldHVybiBwYXRoCiAgICAgICAgIGltcG9ydCBzdHJpbmcKICAgICAgICAgdmFyY2hhcnMgPSBieXRlcyhzdHJpbmcuYXNjaWlfbGV0dGVycyArIHN0cmluZy5kaWdpdHMgKyAnXy0nLCAnYXNjaWknKQogICAgICAgICBxdW90ZSA9IGInXCcnCiAgICAgICAgIHBlcmNlbnQgPSBiJyUnCiAgICAgICAgIGJyYWNlID0gYid7JworICAgICAgICByYnJhY2UgPSBiJ30nCiAgICAgICAgIGRvbGxhciA9IGInJCcKICAgICAgICAgZW52aXJvbiA9IGdldGF0dHIob3MsICdlbnZpcm9uYicsIE5vbmUpCiAgICAgZWxzZToKQEAgLTM4Niw2ICszNzEsNyBAQAogICAgICAgICBxdW90ZSA9ICdcJycKICAgICAgICAgcGVyY2VudCA9ICclJwogICAgICAgICBicmFjZSA9ICd7JworICAgICAgICByYnJhY2UgPSAnfScKICAgICAgICAgZG9sbGFyID0gJyQnCiAgICAgICAgIGVudmlyb24gPSBvcy5lbnZpcm9uCiAgICAgcmVzID0gcGF0aFs6MF0KQEAgLTQzMiwxNSArNDE4LDkgQEAKICAgICAgICAgICAgICAgICBwYXRoID0gcGF0aFtpbmRleCsyOl0KICAgICAgICAgICAgICAgICBwYXRobGVuID0gbGVuKHBhdGgpCiAgICAgICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgICAgICBpZiBpc2luc3RhbmNlKHBhdGgsIGJ5dGVzKToKLSAgICAgICAgICAgICAgICAgICAgICAgIGluZGV4ID0gcGF0aC5pbmRleChiJ30nKQotICAgICAgICAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgICAgICAgICAgaW5kZXggPSBwYXRoLmluZGV4KCd9JykKKyAgICAgICAgICAgICAgICAgICAgaW5kZXggPSBwYXRoLmluZGV4KHJicmFjZSkKICAgICAgICAgICAgICAgICBleGNlcHQgVmFsdWVFcnJvcjoKLSAgICAgICAgICAgICAgICAgICAgaWYgaXNpbnN0YW5jZShwYXRoLCBieXRlcyk6Ci0gICAgICAgICAgICAgICAgICAgICAgICByZXMgKz0gYickeycgKyBwYXRoCi0gICAgICAgICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgICAgICAgICByZXMgKz0gJyR7JyArIHBhdGgKKyAgICAgICAgICAgICAgICAgICAgcmVzICs9IGRvbGxhciArIGJyYWNlICsgcGF0aAogICAgICAgICAgICAgICAgICAgICBpbmRleCA9IHBhdGhsZW4gLSAxCiAgICAgICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICAgICAgdmFyID0gcGF0aFs6aW5kZXhdCkBAIC00NTAsMTAgKzQzMCw3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlID0gZW52aXJvblt2YXJdCiAgICAgICAgICAgICAgICAgICAgIGV4Y2VwdCBLZXlFcnJvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmIGlzaW5zdGFuY2UocGF0aCwgYnl0ZXMpOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlID0gYickeycgKyB2YXIgKyBiJ30nCi0gICAgICAgICAgICAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlID0gJyR7JyArIHZhciArICd9JworICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgPSBkb2xsYXIgKyBicmFjZSArIHZhciArIHJicmFjZQogICAgICAgICAgICAgICAgICAgICByZXMgKz0gdmFsdWUKICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgdmFyID0gcGF0aFs6MF0KQEAgLTQ4NSwxNiArNDYyLDI1IEBACiAKIGRlZiBub3JtcGF0aChwYXRoKToKICAgICAiIiJOb3JtYWxpemUgcGF0aCwgZWxpbWluYXRpbmcgZG91YmxlIHNsYXNoZXMsIGV0Yy4iIiIKLSAgICBzZXAgPSBfZ2V0X3NlcChwYXRoKQotICAgIGRvdGRvdCA9IF9nZXRfZG90KHBhdGgpICogMgotICAgIHNwZWNpYWxfcHJlZml4ZXMgPSBfZ2V0X3NwZWNpYWwocGF0aCkKKyAgICBpZiBpc2luc3RhbmNlKHBhdGgsIGJ5dGVzKToKKyAgICAgICAgc2VwID0gYidcXCcKKyAgICAgICAgYWx0c2VwID0gYicvJworICAgICAgICBjdXJkaXIgPSBiJy4nCisgICAgICAgIHBhcmRpciA9IGInLi4nCisgICAgICAgIHNwZWNpYWxfcHJlZml4ZXMgPSAoYidcXFxcLlxcJywgYidcXFxcP1xcJykKKyAgICBlbHNlOgorICAgICAgICBzZXAgPSAnXFwnCisgICAgICAgIGFsdHNlcCA9ICcvJworICAgICAgICBjdXJkaXIgPSAnLicKKyAgICAgICAgcGFyZGlyID0gJy4uJworICAgICAgICBzcGVjaWFsX3ByZWZpeGVzID0gKCdcXFxcLlxcJywgJ1xcXFw/XFwnKQogICAgIGlmIHBhdGguc3RhcnRzd2l0aChzcGVjaWFsX3ByZWZpeGVzKToKICAgICAgICAgIyBpbiB0aGUgY2FzZSBvZiBwYXRocyB3aXRoIHRoZXNlIHByZWZpeGVzOgogICAgICAgICAjIFxcLlwgLT4gZGV2aWNlIG5hbWVzCiAgICAgICAgICMgXFw/XCAtPiBsaXRlcmFsIHBhdGhzCiAgICAgICAgICMgZG8gbm90IGRvIGFueSBub3JtYWxpemF0aW9uLCBidXQgcmV0dXJuIHRoZSBwYXRoIHVuY2hhbmdlZAogICAgICAgICByZXR1cm4gcGF0aAotICAgIHBhdGggPSBwYXRoLnJlcGxhY2UoX2dldF9hbHRzZXAocGF0aCksIHNlcCkKKyAgICBwYXRoID0gcGF0aC5yZXBsYWNlKGFsdHNlcCwgc2VwKQogICAgIHByZWZpeCwgcGF0aCA9IHNwbGl0ZHJpdmUocGF0aCkKIAogICAgICMgY29sbGFwc2UgaW5pdGlhbCBiYWNrc2xhc2hlcwpAQCAtNTA1LDEzICs0OTEsMTMgQEAKICAgICBjb21wcyA9IHBhdGguc3BsaXQoc2VwKQogICAgIGkgPSAwCiAgICAgd2hpbGUgaSA8IGxlbihjb21wcyk6Ci0gICAgICAgIGlmIG5vdCBjb21wc1tpXSBvciBjb21wc1tpXSA9PSBfZ2V0X2RvdChwYXRoKToKKyAgICAgICAgaWYgbm90IGNvbXBzW2ldIG9yIGNvbXBzW2ldID09IGN1cmRpcjoKICAgICAgICAgICAgIGRlbCBjb21wc1tpXQotICAgICAgICBlbGlmIGNvbXBzW2ldID09IGRvdGRvdDoKLSAgICAgICAgICAgIGlmIGkgPiAwIGFuZCBjb21wc1tpLTFdICE9IGRvdGRvdDoKKyAgICAgICAgZWxpZiBjb21wc1tpXSA9PSBwYXJkaXI6CisgICAgICAgICAgICBpZiBpID4gMCBhbmQgY29tcHNbaS0xXSAhPSBwYXJkaXI6CiAgICAgICAgICAgICAgICAgZGVsIGNvbXBzW2ktMTppKzFdCiAgICAgICAgICAgICAgICAgaSAtPSAxCi0gICAgICAgICAgICBlbGlmIGkgPT0gMCBhbmQgcHJlZml4LmVuZHN3aXRoKF9nZXRfc2VwKHBhdGgpKToKKyAgICAgICAgICAgIGVsaWYgaSA9PSAwIGFuZCBwcmVmaXguZW5kc3dpdGgoc2VwKToKICAgICAgICAgICAgICAgICBkZWwgY29tcHNbaV0KICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgaSArPSAxCkBAIC01MTksNyArNTA1LDcgQEAKICAgICAgICAgICAgIGkgKz0gMQogICAgICMgSWYgdGhlIHBhdGggaXMgbm93IGVtcHR5LCBzdWJzdGl0dXRlICcuJwogICAgIGlmIG5vdCBwcmVmaXggYW5kIG5vdCBjb21wczoKLSAgICAgICAgY29tcHMuYXBwZW5kKF9nZXRfZG90KHBhdGgpKQorICAgICAgICBjb21wcy5hcHBlbmQoY3VyZGlyKQogICAgIHJldHVybiBwcmVmaXggKyBzZXAuam9pbihjb21wcykKIAogCkBAIC01NTksNDIgKzU0NSw0OCBAQAogc3VwcG9ydHNfdW5pY29kZV9maWxlbmFtZXMgPSAoaGFzYXR0cihzeXMsICJnZXR3aW5kb3dzdmVyc2lvbiIpIGFuZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3lzLmdldHdpbmRvd3N2ZXJzaW9uKClbM10gPj0gMikKIAotZGVmIHJlbHBhdGgocGF0aCwgc3RhcnQ9Y3VyZGlyKToKK2RlZiByZWxwYXRoKHBhdGgsIHN0YXJ0PU5vbmUpOgogICAgICIiIlJldHVybiBhIHJlbGF0aXZlIHZlcnNpb24gb2YgYSBwYXRoIiIiCi0gICAgc2VwID0gX2dldF9zZXAocGF0aCkKKyAgICBpZiBpc2luc3RhbmNlKHBhdGgsIGJ5dGVzKToKKyAgICAgICAgc2VwID0gYidcXCcKKyAgICAgICAgY3VyZGlyID0gYicuJworICAgICAgICBwYXJkaXIgPSBiJy4uJworICAgIGVsc2U6CisgICAgICAgIHNlcCA9ICdcXCcKKyAgICAgICAgY3VyZGlyID0gJy4nCisgICAgICAgIHBhcmRpciA9ICcuLicKIAotICAgIGlmIHN0YXJ0IGlzIGN1cmRpcjoKLSAgICAgICAgc3RhcnQgPSBfZ2V0X2RvdChwYXRoKQorICAgIGlmIHN0YXJ0IGlzIE5vbmU6CisgICAgICAgIHN0YXJ0ID0gY3VyZGlyCiAKICAgICBpZiBub3QgcGF0aDoKICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigibm8gcGF0aCBzcGVjaWZpZWQiKQogCi0gICAgc3RhcnRfYWJzID0gYWJzcGF0aChub3JtcGF0aChzdGFydCkpCi0gICAgcGF0aF9hYnMgPSBhYnNwYXRoKG5vcm1wYXRoKHBhdGgpKQotICAgIHN0YXJ0X2RyaXZlLCBzdGFydF9yZXN0ID0gc3BsaXRkcml2ZShzdGFydF9hYnMpCi0gICAgcGF0aF9kcml2ZSwgcGF0aF9yZXN0ID0gc3BsaXRkcml2ZShwYXRoX2FicykKLSAgICBpZiBub3JtY2FzZShzdGFydF9kcml2ZSkgIT0gbm9ybWNhc2UocGF0aF9kcml2ZSk6Ci0gICAgICAgIGVycm9yID0gInBhdGggaXMgb24gbW91bnQgJ3swfScsIHN0YXJ0IG9uIG1vdW50ICd7MX0nIi5mb3JtYXQoCi0gICAgICAgICAgICBwYXRoX2RyaXZlLCBzdGFydF9kcml2ZSkKLSAgICAgICAgcmFpc2UgVmFsdWVFcnJvcihlcnJvcikKKyAgICB0cnk6CisgICAgICAgIHN0YXJ0X2FicyA9IGFic3BhdGgobm9ybXBhdGgoc3RhcnQpKQorICAgICAgICBwYXRoX2FicyA9IGFic3BhdGgobm9ybXBhdGgocGF0aCkpCisgICAgICAgIHN0YXJ0X2RyaXZlLCBzdGFydF9yZXN0ID0gc3BsaXRkcml2ZShzdGFydF9hYnMpCisgICAgICAgIHBhdGhfZHJpdmUsIHBhdGhfcmVzdCA9IHNwbGl0ZHJpdmUocGF0aF9hYnMpCisgICAgICAgIGlmIG5vcm1jYXNlKHN0YXJ0X2RyaXZlKSAhPSBub3JtY2FzZShwYXRoX2RyaXZlKToKKyAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoInBhdGggaXMgb24gbW91bnQgJXIsIHN0YXJ0IG9uIG1vdW50ICVyIiAlICgKKyAgICAgICAgICAgICAgICBwYXRoX2RyaXZlLCBzdGFydF9kcml2ZSkpCiAKLSAgICBzdGFydF9saXN0ID0gW3ggZm9yIHggaW4gc3RhcnRfcmVzdC5zcGxpdChzZXApIGlmIHhdCi0gICAgcGF0aF9saXN0ID0gW3ggZm9yIHggaW4gcGF0aF9yZXN0LnNwbGl0KHNlcCkgaWYgeF0KLSAgICAjIFdvcmsgb3V0IGhvdyBtdWNoIG9mIHRoZSBmaWxlcGF0aCBpcyBzaGFyZWQgYnkgc3RhcnQgYW5kIHBhdGguCi0gICAgaSA9IDAKLSAgICBmb3IgZTEsIGUyIGluIHppcChzdGFydF9saXN0LCBwYXRoX2xpc3QpOgotICAgICAgICBpZiBub3JtY2FzZShlMSkgIT0gbm9ybWNhc2UoZTIpOgotICAgICAgICAgICAgYnJlYWsKLSAgICAgICAgaSArPSAxCisgICAgICAgIHN0YXJ0X2xpc3QgPSBbeCBmb3IgeCBpbiBzdGFydF9yZXN0LnNwbGl0KHNlcCkgaWYgeF0KKyAgICAgICAgcGF0aF9saXN0ID0gW3ggZm9yIHggaW4gcGF0aF9yZXN0LnNwbGl0KHNlcCkgaWYgeF0KKyAgICAgICAgIyBXb3JrIG91dCBob3cgbXVjaCBvZiB0aGUgZmlsZXBhdGggaXMgc2hhcmVkIGJ5IHN0YXJ0IGFuZCBwYXRoLgorICAgICAgICBpID0gMAorICAgICAgICBmb3IgZTEsIGUyIGluIHppcChzdGFydF9saXN0LCBwYXRoX2xpc3QpOgorICAgICAgICAgICAgaWYgbm9ybWNhc2UoZTEpICE9IG5vcm1jYXNlKGUyKToKKyAgICAgICAgICAgICAgICBicmVhaworICAgICAgICAgICAgaSArPSAxCiAKLSAgICBpZiBpc2luc3RhbmNlKHBhdGgsIGJ5dGVzKToKLSAgICAgICAgcGFyZGlyID0gYicuLicKLSAgICBlbHNlOgotICAgICAgICBwYXJkaXIgPSAnLi4nCi0gICAgcmVsX2xpc3QgPSBbcGFyZGlyXSAqIChsZW4oc3RhcnRfbGlzdCktaSkgKyBwYXRoX2xpc3RbaTpdCi0gICAgaWYgbm90IHJlbF9saXN0OgotICAgICAgICByZXR1cm4gX2dldF9kb3QocGF0aCkKLSAgICByZXR1cm4gam9pbigqcmVsX2xpc3QpCisgICAgICAgIHJlbF9saXN0ID0gW3BhcmRpcl0gKiAobGVuKHN0YXJ0X2xpc3QpLWkpICsgcGF0aF9saXN0W2k6XQorICAgICAgICBpZiBub3QgcmVsX2xpc3Q6CisgICAgICAgICAgICByZXR1cm4gY3VyZGlyCisgICAgICAgIHJldHVybiBqb2luKCpyZWxfbGlzdCkKKyAgICBleGNlcHQgKFR5cGVFcnJvciwgVmFsdWVFcnJvciwgQXR0cmlidXRlRXJyb3IsIEJ5dGVzV2FybmluZywgRGVwcmVjYXRpb25XYXJuaW5nKToKKyAgICAgICAgZ2VuZXJpY3BhdGguX2NoZWNrX2FyZ190eXBlcygncmVscGF0aCcsIHBhdGgsIHN0YXJ0KQorICAgICAgICByYWlzZQogCiAKICMgZGV0ZXJtaW5lIGlmIHR3byBmaWxlcyBhcmUgaW4gZmFjdCB0aGUgc2FtZSBmaWxlCmRpZmYgLS1naXQgYS9MaWIvb3Bjb2RlLnB5IGIvTGliL29wY29kZS5weQppbmRleCAwYmQxZWU2Li5iZmQzYzRkIDEwMDY0NAotLS0gYS9MaWIvb3Bjb2RlLnB5CisrKyBiL0xpYi9vcGNvZGUucHkKQEAgLTcwLDYgKzcwLDkgQEAKIAogZGVmX29wKCdVTkFSWV9JTlZFUlQnLCAxNSkKIAorZGVmX29wKCdCSU5BUllfTUFUUklYX01VTFRJUExZJywgMTYpCitkZWZfb3AoJ0lOUExBQ0VfTUFUUklYX01VTFRJUExZJywgMTcpCisKIGRlZl9vcCgnQklOQVJZX1BPV0VSJywgMTkpCiBkZWZfb3AoJ0JJTkFSWV9NVUxUSVBMWScsIDIwKQogCmRpZmYgLS1naXQgYS9MaWIvb3BlcmF0b3IucHkgYi9MaWIvb3BlcmF0b3IucHkKaW5kZXggYjYwMzQ5Zi4uODU2MDM2ZCAxMDA2NDQKLS0tIGEvTGliL29wZXJhdG9yLnB5CisrKyBiL0xpYi9vcGVyYXRvci5weQpAQCAtMTA1LDYgKzEwNSwxMCBAQAogICAgICJTYW1lIGFzIGEgKiBiLiIKICAgICByZXR1cm4gYSAqIGIKIAorZGVmIG1hdG11bChhLCBiKToKKyAgICAiU2FtZSBhcyBhIEAgYi4iCisgICAgcmV0dXJuIGEgQCBiCisKIGRlZiBuZWcoYSk6CiAgICAgIlNhbWUgYXMgLWEuIgogICAgIHJldHVybiAtYQpAQCAtMzI2LDYgKzMzMCwxMSBAQAogICAgIGEgKj0gYgogICAgIHJldHVybiBhCiAKK2RlZiBpbWF0bXVsKGEsIGIpOgorICAgICJTYW1lIGFzIGEgQD0gYi4iCisgICAgYSBAPSBiCisgICAgcmV0dXJuIGEKKwogZGVmIGlvcihhLCBiKToKICAgICAiU2FtZSBhcyBhIHw9IGIuIgogICAgIGEgfD0gYgpAQCAtMzgzLDYgKzM5Miw3IEBACiBfX2xzaGlmdF9fID0gbHNoaWZ0CiBfX21vZF9fID0gbW9kCiBfX211bF9fID0gbXVsCitfX21hdG11bF9fID0gbWF0bXVsCiBfX25lZ19fID0gbmVnCiBfX29yX18gPSBvcl8KIF9fcG9zX18gPSBwb3MKQEAgLTQwMyw2ICs0MTMsNyBAQAogX19pbHNoaWZ0X18gPSBpbHNoaWZ0CiBfX2ltb2RfXyA9IGltb2QKIF9faW11bF9fID0gaW11bAorX19pbWF0bXVsX18gPSBpbWF0bXVsCiBfX2lvcl9fID0gaW9yCiBfX2lwb3dfXyA9IGlwb3cKIF9faXJzaGlmdF9fID0gaXJzaGlmdApkaWZmIC0tZ2l0IGEvTGliL29zLnB5IGIvTGliL29zLnB5CmluZGV4IDU1NmY1OTIuLjNiYjBmNGUgMTAwNjQ0Ci0tLSBhL0xpYi9vcy5weQorKysgYi9MaWIvb3MucHkKQEAgLTYxLDYgKzYxLDEwIEBACiAgICAgZXhjZXB0IEltcG9ydEVycm9yOgogICAgICAgICBwYXNzCiAKKyAgICBpbXBvcnQgcG9zaXgKKyAgICBfX2FsbF9fLmV4dGVuZChfZ2V0X2V4cG9ydHNfbGlzdChwb3NpeCkpCisgICAgZGVsIHBvc2l4CisKIGVsaWYgJ250JyBpbiBfbmFtZXM6CiAgICAgbmFtZSA9ICdudCcKICAgICBsaW5lc2VwID0gJ1xyXG4nCmRpZmYgLS1naXQgYS9MaWIvcGF0aGxpYi5weSBiL0xpYi9wYXRobGliLnB5CmluZGV4IDkxOGFjOGQuLjAxZTY2YTAgMTAwNjQ0Ci0tLSBhL0xpYi9wYXRobGliLnB5CisrKyBiL0xpYi9wYXRobGliLnB5CkBAIC0yMjUsNiArMjI1LDM2IEBACiAgICAgICAgICAgICAjIEl0J3MgYSBwYXRoIG9uIGEgbmV0d29yayBkcml2ZSA9PiAnZmlsZTovL2hvc3Qvc2hhcmUvYS9iJwogICAgICAgICAgICAgcmV0dXJuICdmaWxlOicgKyB1cmxxdW90ZV9mcm9tX2J5dGVzKHBhdGguYXNfcG9zaXgoKS5lbmNvZGUoJ3V0Zi04JykpCiAKKyAgICBkZWYgZ2V0aG9tZWRpcihzZWxmLCB1c2VybmFtZSk6CisgICAgICAgIGlmICdIT01FJyBpbiBvcy5lbnZpcm9uOgorICAgICAgICAgICAgdXNlcmhvbWUgPSBvcy5lbnZpcm9uWydIT01FJ10KKyAgICAgICAgZWxpZiAnVVNFUlBST0ZJTEUnIGluIG9zLmVudmlyb246CisgICAgICAgICAgICB1c2VyaG9tZSA9IG9zLmVudmlyb25bJ1VTRVJQUk9GSUxFJ10KKyAgICAgICAgZWxpZiAnSE9NRVBBVEgnIGluIG9zLmVudmlyb246CisgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgZHJ2ID0gb3MuZW52aXJvblsnSE9NRURSSVZFJ10KKyAgICAgICAgICAgIGV4Y2VwdCBLZXlFcnJvcjoKKyAgICAgICAgICAgICAgICBkcnYgPSAnJworICAgICAgICAgICAgdXNlcmhvbWUgPSBkcnYgKyBvcy5lbnZpcm9uWydIT01FUEFUSCddCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICByYWlzZSBSdW50aW1lRXJyb3IoIkNhbid0IGRldGVybWluZSBob21lIGRpcmVjdG9yeSIpCisKKyAgICAgICAgaWYgdXNlcm5hbWU6CisgICAgICAgICAgICAjIFRyeSB0byBndWVzcyB1c2VyIGhvbWUgZGlyZWN0b3J5LiAgQnkgZGVmYXVsdCBhbGwgdXNlcnMKKyAgICAgICAgICAgICMgZGlyZWN0b3JpZXMgYXJlIGxvY2F0ZWQgaW4gdGhlIHNhbWUgcGxhY2UgYW5kIGFyZSBuYW1lZCBieQorICAgICAgICAgICAgIyBjb3JyZXNwb25kaW5nIHVzZXJuYW1lcy4gIElmIGN1cnJlbnQgdXNlciBob21lIGRpcmVjdG9yeSBwb2ludHMKKyAgICAgICAgICAgICMgdG8gbm9uc3RhbmRhcmQgcGxhY2UsIHRoaXMgZ3Vlc3MgaXMgbGlrZWx5IHdyb25nLgorICAgICAgICAgICAgaWYgb3MuZW52aXJvblsnVVNFUk5BTUUnXSAhPSB1c2VybmFtZToKKyAgICAgICAgICAgICAgICBkcnYsIHJvb3QsIHBhcnRzID0gc2VsZi5wYXJzZV9wYXJ0cygodXNlcmhvbWUsKSkKKyAgICAgICAgICAgICAgICBpZiBwYXJ0c1stMV0gIT0gb3MuZW52aXJvblsnVVNFUk5BTUUnXToKKyAgICAgICAgICAgICAgICAgICAgcmFpc2UgUnVudGltZUVycm9yKCJDYW4ndCBkZXRlcm1pbmUgaG9tZSBkaXJlY3RvcnkgIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImZvciAlciIgJSB1c2VybmFtZSkKKyAgICAgICAgICAgICAgICBwYXJ0c1stMV0gPSB1c2VybmFtZQorICAgICAgICAgICAgICAgIGlmIGRydiBvciByb290OgorICAgICAgICAgICAgICAgICAgICB1c2VyaG9tZSA9IGRydiArIHJvb3QgKyBzZWxmLmpvaW4ocGFydHNbMTpdKQorICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgIHVzZXJob21lID0gc2VsZi5qb2luKHBhcnRzKQorICAgICAgICByZXR1cm4gdXNlcmhvbWUKIAogY2xhc3MgX1Bvc2l4Rmxhdm91cihfRmxhdm91cik6CiAgICAgc2VwID0gJy8nCkBAIC0zMDgsNiArMzM4LDIxIEBACiAgICAgICAgIGJwYXRoID0gYnl0ZXMocGF0aCkKICAgICAgICAgcmV0dXJuICdmaWxlOi8vJyArIHVybHF1b3RlX2Zyb21fYnl0ZXMoYnBhdGgpCiAKKyAgICBkZWYgZ2V0aG9tZWRpcihzZWxmLCB1c2VybmFtZSk6CisgICAgICAgIGlmIG5vdCB1c2VybmFtZToKKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICByZXR1cm4gb3MuZW52aXJvblsnSE9NRSddCisgICAgICAgICAgICBleGNlcHQgS2V5RXJyb3I6CisgICAgICAgICAgICAgICAgaW1wb3J0IHB3ZAorICAgICAgICAgICAgICAgIHJldHVybiBwd2QuZ2V0cHd1aWQob3MuZ2V0dWlkKCkpLnB3X2RpcgorICAgICAgICBlbHNlOgorICAgICAgICAgICAgaW1wb3J0IHB3ZAorICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgIHJldHVybiBwd2QuZ2V0cHduYW0odXNlcm5hbWUpLnB3X2RpcgorICAgICAgICAgICAgZXhjZXB0IEtleUVycm9yOgorICAgICAgICAgICAgICAgIHJhaXNlIFJ1bnRpbWVFcnJvcigiQ2FuJ3QgZGV0ZXJtaW5lIGhvbWUgZGlyZWN0b3J5ICIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImZvciAlciIgJSB1c2VybmFtZSkKKwogCiBfd2luZG93c19mbGF2b3VyID0gX1dpbmRvd3NGbGF2b3VyKCkKIF9wb3NpeF9mbGF2b3VyID0gX1Bvc2l4Rmxhdm91cigpCkBAIC05NjQsNiArMTAwOSwyNCBAQAogICAgICAgICAiIiIKICAgICAgICAgcmV0dXJuIGNscyhvcy5nZXRjd2QoKSkKIAorICAgIEBjbGFzc21ldGhvZAorICAgIGRlZiBob21lKGNscyk6CisgICAgICAgICIiIlJldHVybiBhIG5ldyBwYXRoIHBvaW50aW5nIHRvIHRoZSB1c2VyJ3MgaG9tZSBkaXJlY3RvcnkgKGFzCisgICAgICAgIHJldHVybmVkIGJ5IG9zLnBhdGguZXhwYW5kdXNlcignficpKS4KKyAgICAgICAgIiIiCisgICAgICAgIHJldHVybiBjbHMoY2xzKCkuX2ZsYXZvdXIuZ2V0aG9tZWRpcihOb25lKSkKKworICAgIGRlZiBzYW1lZmlsZShzZWxmLCBvdGhlcl9wYXRoKToKKyAgICAgICAgIiIiUmV0dXJuIHdoZXRoZXIgYG90aGVyX2ZpbGVgIGlzIHRoZSBzYW1lIG9yIG5vdCBhcyB0aGlzIGZpbGUuCisgICAgICAgIChhcyByZXR1cm5lZCBieSBvcy5wYXRoLnNhbWVmaWxlKGZpbGUsIG90aGVyX2ZpbGUpKS4KKyAgICAgICAgIiIiCisgICAgICAgIHN0ID0gc2VsZi5zdGF0KCkKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgb3RoZXJfc3QgPSBvdGhlcl9wYXRoLnN0YXQoKQorICAgICAgICBleGNlcHQgQXR0cmlidXRlRXJyb3I6CisgICAgICAgICAgICBvdGhlcl9zdCA9IG9zLnN0YXQob3RoZXJfcGF0aCkKKyAgICAgICAgcmV0dXJuIG9zLnBhdGguc2FtZXN0YXQoc3QsIG90aGVyX3N0KQorCiAgICAgZGVmIGl0ZXJkaXIoc2VsZik6CiAgICAgICAgICIiIkl0ZXJhdGUgb3ZlciB0aGUgZmlsZXMgaW4gdGhpcyBkaXJlY3RvcnkuICBEb2VzIG5vdCB5aWVsZCBhbnkKICAgICAgICAgcmVzdWx0IGZvciB0aGUgc3BlY2lhbCBwYXRocyAnLicgYW5kICcuLicuCkBAIC0xMDcyLDYgKzExMzUsMzkgQEAKICAgICAgICAgcmV0dXJuIGlvLm9wZW4oc3RyKHNlbGYpLCBtb2RlLCBidWZmZXJpbmcsIGVuY29kaW5nLCBlcnJvcnMsIG5ld2xpbmUsCiAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5lcj1zZWxmLl9vcGVuZXIpCiAKKyAgICBkZWYgcmVhZF9ieXRlcyhzZWxmKToKKyAgICAgICAgIiIiCisgICAgICAgIE9wZW4gdGhlIGZpbGUgaW4gYnl0ZXMgbW9kZSwgcmVhZCBpdCwgYW5kIGNsb3NlIHRoZSBmaWxlLgorICAgICAgICAiIiIKKyAgICAgICAgd2l0aCBzZWxmLm9wZW4obW9kZT0ncmInKSBhcyBmOgorICAgICAgICAgICAgcmV0dXJuIGYucmVhZCgpCisKKyAgICBkZWYgcmVhZF90ZXh0KHNlbGYsIGVuY29kaW5nPU5vbmUsIGVycm9ycz1Ob25lKToKKyAgICAgICAgIiIiCisgICAgICAgIE9wZW4gdGhlIGZpbGUgaW4gdGV4dCBtb2RlLCByZWFkIGl0LCBhbmQgY2xvc2UgdGhlIGZpbGUuCisgICAgICAgICIiIgorICAgICAgICB3aXRoIHNlbGYub3Blbihtb2RlPSdyJywgZW5jb2Rpbmc9ZW5jb2RpbmcsIGVycm9ycz1lcnJvcnMpIGFzIGY6CisgICAgICAgICAgICByZXR1cm4gZi5yZWFkKCkKKworICAgIGRlZiB3cml0ZV9ieXRlcyhzZWxmLCBkYXRhKToKKyAgICAgICAgIiIiCisgICAgICAgIE9wZW4gdGhlIGZpbGUgaW4gYnl0ZXMgbW9kZSwgd3JpdGUgdG8gaXQsIGFuZCBjbG9zZSB0aGUgZmlsZS4KKyAgICAgICAgIiIiCisgICAgICAgICMgdHlwZS1jaGVjayBmb3IgdGhlIGJ1ZmZlciBpbnRlcmZhY2UgYmVmb3JlIHRydW5jYXRpbmcgdGhlIGZpbGUKKyAgICAgICAgdmlldyA9IG1lbW9yeXZpZXcoZGF0YSkKKyAgICAgICAgd2l0aCBzZWxmLm9wZW4obW9kZT0nd2InKSBhcyBmOgorICAgICAgICAgICAgcmV0dXJuIGYud3JpdGUodmlldykKKworICAgIGRlZiB3cml0ZV90ZXh0KHNlbGYsIGRhdGEsIGVuY29kaW5nPU5vbmUsIGVycm9ycz1Ob25lKToKKyAgICAgICAgIiIiCisgICAgICAgIE9wZW4gdGhlIGZpbGUgaW4gdGV4dCBtb2RlLCB3cml0ZSB0byBpdCwgYW5kIGNsb3NlIHRoZSBmaWxlLgorICAgICAgICAiIiIKKyAgICAgICAgaWYgbm90IGlzaW5zdGFuY2UoZGF0YSwgc3RyKToKKyAgICAgICAgICAgIHJhaXNlIFR5cGVFcnJvcignZGF0YSBtdXN0IGJlIHN0ciwgbm90ICVzJyAlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS5fX2NsYXNzX18uX19uYW1lX18pCisgICAgICAgIHdpdGggc2VsZi5vcGVuKG1vZGU9J3cnLCBlbmNvZGluZz1lbmNvZGluZywgZXJyb3JzPWVycm9ycykgYXMgZjoKKyAgICAgICAgICAgIHJldHVybiBmLndyaXRlKGRhdGEpCisKICAgICBkZWYgdG91Y2goc2VsZiwgbW9kZT0wbzY2NiwgZXhpc3Rfb2s9VHJ1ZSk6CiAgICAgICAgICIiIgogICAgICAgICBDcmVhdGUgdGhpcyBmaWxlIHdpdGggdGhlIGdpdmVuIGFjY2VzcyBtb2RlLCBpZiBpdCBkb2Vzbid0IGV4aXN0LgpAQCAtMTA5NSwxNCArMTE5MSwyMSBAQAogICAgICAgICBmZCA9IHNlbGYuX3Jhd19vcGVuKGZsYWdzLCBtb2RlKQogICAgICAgICBvcy5jbG9zZShmZCkKIAotICAgIGRlZiBta2RpcihzZWxmLCBtb2RlPTBvNzc3LCBwYXJlbnRzPUZhbHNlKToKKyAgICBkZWYgbWtkaXIoc2VsZiwgbW9kZT0wbzc3NywgcGFyZW50cz1GYWxzZSwgZXhpc3Rfb2s9RmFsc2UpOgogICAgICAgICBpZiBzZWxmLl9jbG9zZWQ6CiAgICAgICAgICAgICBzZWxmLl9yYWlzZV9jbG9zZWQoKQogICAgICAgICBpZiBub3QgcGFyZW50czoKLSAgICAgICAgICAgIHNlbGYuX2FjY2Vzc29yLm1rZGlyKHNlbGYsIG1vZGUpCisgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgc2VsZi5fYWNjZXNzb3IubWtkaXIoc2VsZiwgbW9kZSkKKyAgICAgICAgICAgIGV4Y2VwdCBGaWxlRXhpc3RzRXJyb3I6CisgICAgICAgICAgICAgICAgaWYgbm90IGV4aXN0X29rIG9yIG5vdCBzZWxmLmlzX2RpcigpOgorICAgICAgICAgICAgICAgICAgICByYWlzZQogICAgICAgICBlbHNlOgogICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgIHNlbGYuX2FjY2Vzc29yLm1rZGlyKHNlbGYsIG1vZGUpCisgICAgICAgICAgICBleGNlcHQgRmlsZUV4aXN0c0Vycm9yOgorICAgICAgICAgICAgICAgIGlmIG5vdCBleGlzdF9vayBvciBub3Qgc2VsZi5pc19kaXIoKToKKyAgICAgICAgICAgICAgICAgICAgcmFpc2UKICAgICAgICAgICAgIGV4Y2VwdCBPU0Vycm9yIGFzIGU6CiAgICAgICAgICAgICAgICAgaWYgZS5lcnJubyAhPSBFTk9FTlQ6CiAgICAgICAgICAgICAgICAgICAgIHJhaXNlCkBAIC0xMjgzLDYgKzEzODYsMTcgQEAKICAgICAgICAgICAgICMgKHNlZSBodHRwczovL2JpdGJ1Y2tldC5vcmcvcGl0cm91L3BhdGhsaWIvaXNzdWUvMTIvKQogICAgICAgICAgICAgcmV0dXJuIEZhbHNlCiAKKyAgICBkZWYgZXhwYW5kdXNlcihzZWxmKToKKyAgICAgICAgIiIiIFJldHVybiBhIG5ldyBwYXRoIHdpdGggZXhwYW5kZWQgfiBhbmQgfnVzZXIgY29uc3RydWN0cworICAgICAgICAoYXMgcmV0dXJuZWQgYnkgb3MucGF0aC5leHBhbmR1c2VyKQorICAgICAgICAiIiIKKyAgICAgICAgaWYgKG5vdCAoc2VsZi5fZHJ2IG9yIHNlbGYuX3Jvb3QpIGFuZAorICAgICAgICAgICAgc2VsZi5fcGFydHMgYW5kIHNlbGYuX3BhcnRzWzBdWzoxXSA9PSAnficpOgorICAgICAgICAgICAgaG9tZWRpciA9IHNlbGYuX2ZsYXZvdXIuZ2V0aG9tZWRpcihzZWxmLl9wYXJ0c1swXVsxOl0pCisgICAgICAgICAgICByZXR1cm4gc2VsZi5fZnJvbV9wYXJ0cyhbaG9tZWRpcl0gKyBzZWxmLl9wYXJ0c1sxOl0pCisKKyAgICAgICAgcmV0dXJuIHNlbGYKKwogCiBjbGFzcyBQb3NpeFBhdGgoUGF0aCwgUHVyZVBvc2l4UGF0aCk6CiAgICAgX19zbG90c19fID0gKCkKZGlmZiAtLWdpdCBhL0xpYi9wZGIucHkgYi9MaWIvcGRiLnB5CmluZGV4IGUyODU2NGIuLmNmMmVkYmYgMTAwNzU1Ci0tLSBhL0xpYi9wZGIucHkKKysrIGIvTGliL3BkYi5weQpAQCAtMTMxNiw3ICsxMzE2LDcgQEAKICAgICAgICAgICAgIHJldHVybgogICAgICAgICAjIElzIGl0IGEgY2xhc3M/CiAgICAgICAgIGlmIHZhbHVlLl9fY2xhc3NfXyBpcyB0eXBlOgotICAgICAgICAgICAgc2VsZi5tZXNzYWdlKCdDbGFzcyAlcy4lcycgJSAodmFsdWUuX19tb2R1bGVfXywgdmFsdWUuX19uYW1lX18pKQorICAgICAgICAgICAgc2VsZi5tZXNzYWdlKCdDbGFzcyAlcy4lcycgJSAodmFsdWUuX19tb2R1bGVfXywgdmFsdWUuX19xdWFsbmFtZV9fKSkKICAgICAgICAgICAgIHJldHVybgogICAgICAgICAjIE5vbmUgb2YgdGhlIGFib3ZlLi4uCiAgICAgICAgIHNlbGYubWVzc2FnZSh0eXBlKHZhbHVlKSkKZGlmZiAtLWdpdCBhL0xpYi9wa2d1dGlsLnB5IGIvTGliL3BrZ3V0aWwucHkKaW5kZXggYTU0ZTk0Ny4uZmM0YTA3NCAxMDA2NDQKLS0tIGEvTGliL3BrZ3V0aWwucHkKKysrIGIvTGliL3BrZ3V0aWwucHkKQEAgLTYxNiw3ICs2MTYsNyBAQAogICAgICAgICByZXR1cm4gTm9uZQogICAgICMgWFhYIG5lZWRzIHRlc3QKICAgICBtb2QgPSAoc3lzLm1vZHVsZXMuZ2V0KHBhY2thZ2UpIG9yCi0gICAgICAgICAgIGltcG9ydGxpYi5fYm9vdHN0cmFwLl9TcGVjTWV0aG9kcyhzcGVjKS5sb2FkKCkpCisgICAgICAgICAgIGltcG9ydGxpYi5fYm9vdHN0cmFwLl9sb2FkKHNwZWMpKQogICAgIGlmIG1vZCBpcyBOb25lIG9yIG5vdCBoYXNhdHRyKG1vZCwgJ19fZmlsZV9fJyk6CiAgICAgICAgIHJldHVybiBOb25lCiAKZGlmZiAtLWdpdCBhL0xpYi9wb3NpeHBhdGgucHkgYi9MaWIvcG9zaXhwYXRoLnB5CmluZGV4IDBhYTUzZmUuLjQ0ZWQ4MzggMTAwNjQ0Ci0tLSBhL0xpYi9wb3NpeHBhdGgucHkKKysrIGIvTGliL3Bvc2l4cGF0aC5weQpAQCAtODIsMTEgKzgyLDggQEAKICAgICAgICAgICAgICAgICBwYXRoICs9IGIKICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgcGF0aCArPSBzZXAgKyBiCi0gICAgZXhjZXB0IFR5cGVFcnJvcjoKLSAgICAgICAgaWYgYWxsKGlzaW5zdGFuY2UocywgKHN0ciwgYnl0ZXMpKSBmb3IgcyBpbiAoYSwpICsgcCk6Ci0gICAgICAgICAgICAjIE11c3QgaGF2ZSBhIG1peHR1cmUgb2YgdGV4dCBhbmQgYmluYXJ5IGRhdGEKLSAgICAgICAgICAgIHJhaXNlIFR5cGVFcnJvcigiQ2FuJ3QgbWl4IHN0cmluZ3MgYW5kIGJ5dGVzIGluIHBhdGggIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjb21wb25lbnRzIikgZnJvbSBOb25lCisgICAgZXhjZXB0IChUeXBlRXJyb3IsIEF0dHJpYnV0ZUVycm9yLCBCeXRlc1dhcm5pbmcpOgorICAgICAgICBnZW5lcmljcGF0aC5fY2hlY2tfYXJnX3R5cGVzKCdqb2luJywgYSwgKnApCiAgICAgICAgIHJhaXNlCiAgICAgcmV0dXJuIHBhdGgKIApAQCAtNDQ1LDEzICs0NDIsMTYgQEAKICAgICBpZiBzdGFydCBpcyBOb25lOgogICAgICAgICBzdGFydCA9IGN1cmRpcgogCi0gICAgc3RhcnRfbGlzdCA9IFt4IGZvciB4IGluIGFic3BhdGgoc3RhcnQpLnNwbGl0KHNlcCkgaWYgeF0KLSAgICBwYXRoX2xpc3QgPSBbeCBmb3IgeCBpbiBhYnNwYXRoKHBhdGgpLnNwbGl0KHNlcCkgaWYgeF0KKyAgICB0cnk6CisgICAgICAgIHN0YXJ0X2xpc3QgPSBbeCBmb3IgeCBpbiBhYnNwYXRoKHN0YXJ0KS5zcGxpdChzZXApIGlmIHhdCisgICAgICAgIHBhdGhfbGlzdCA9IFt4IGZvciB4IGluIGFic3BhdGgocGF0aCkuc3BsaXQoc2VwKSBpZiB4XQorICAgICAgICAjIFdvcmsgb3V0IGhvdyBtdWNoIG9mIHRoZSBmaWxlcGF0aCBpcyBzaGFyZWQgYnkgc3RhcnQgYW5kIHBhdGguCisgICAgICAgIGkgPSBsZW4oY29tbW9ucHJlZml4KFtzdGFydF9saXN0LCBwYXRoX2xpc3RdKSkKIAotICAgICMgV29yayBvdXQgaG93IG11Y2ggb2YgdGhlIGZpbGVwYXRoIGlzIHNoYXJlZCBieSBzdGFydCBhbmQgcGF0aC4KLSAgICBpID0gbGVuKGNvbW1vbnByZWZpeChbc3RhcnRfbGlzdCwgcGF0aF9saXN0XSkpCi0KLSAgICByZWxfbGlzdCA9IFtwYXJkaXJdICogKGxlbihzdGFydF9saXN0KS1pKSArIHBhdGhfbGlzdFtpOl0KLSAgICBpZiBub3QgcmVsX2xpc3Q6Ci0gICAgICAgIHJldHVybiBjdXJkaXIKLSAgICByZXR1cm4gam9pbigqcmVsX2xpc3QpCisgICAgICAgIHJlbF9saXN0ID0gW3BhcmRpcl0gKiAobGVuKHN0YXJ0X2xpc3QpLWkpICsgcGF0aF9saXN0W2k6XQorICAgICAgICBpZiBub3QgcmVsX2xpc3Q6CisgICAgICAgICAgICByZXR1cm4gY3VyZGlyCisgICAgICAgIHJldHVybiBqb2luKCpyZWxfbGlzdCkKKyAgICBleGNlcHQgKFR5cGVFcnJvciwgQXR0cmlidXRlRXJyb3IsIEJ5dGVzV2FybmluZywgRGVwcmVjYXRpb25XYXJuaW5nKToKKyAgICAgICAgZ2VuZXJpY3BhdGguX2NoZWNrX2FyZ190eXBlcygncmVscGF0aCcsIHBhdGgsIHN0YXJ0KQorICAgICAgICByYWlzZQpkaWZmIC0tZ2l0IGEvTGliL3BwcmludC5weSBiL0xpYi9wcHJpbnQucHkKaW5kZXggMmNiZmZlZC4uMDA5MWU2OSAxMDA2NDQKLS0tIGEvTGliL3BwcmludC5weQorKysgYi9MaWIvcHByaW50LnB5CkBAIC0xNjEsNyArMTYxLDcgQEAKICAgICAgICAgICAgIHJldHVybgogICAgICAgICByZXAgPSBzZWxmLl9yZXByKG9iamVjdCwgY29udGV4dCwgbGV2ZWwgLSAxKQogICAgICAgICB0eXAgPSB0eXBlKG9iamVjdCkKLSAgICAgICAgbWF4X3dpZHRoID0gc2VsZi5fd2lkdGggLSAxIC0gaW5kZW50IC0gYWxsb3dhbmNlCisgICAgICAgIG1heF93aWR0aCA9IHNlbGYuX3dpZHRoIC0gaW5kZW50IC0gYWxsb3dhbmNlCiAgICAgICAgIHNlcExpbmVzID0gbGVuKHJlcCkgPiBtYXhfd2lkdGgKICAgICAgICAgd3JpdGUgPSBzdHJlYW0ud3JpdGUKIApAQCAtMTc0LDI0ICsxNzQsMTQgQEAKICAgICAgICAgICAgICAgICBsZW5ndGggPSBsZW4ob2JqZWN0KQogICAgICAgICAgICAgICAgIGlmIGxlbmd0aDoKICAgICAgICAgICAgICAgICAgICAgY29udGV4dFtvYmppZF0gPSAxCi0gICAgICAgICAgICAgICAgICAgIGluZGVudCA9IGluZGVudCArIHNlbGYuX2luZGVudF9wZXJfbGV2ZWwKICAgICAgICAgICAgICAgICAgICAgaWYgaXNzdWJjbGFzcyh0eXAsIF9PcmRlcmVkRGljdCk6CiAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGxpc3Qob2JqZWN0Lml0ZW1zKCkpCiAgICAgICAgICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IHNvcnRlZChvYmplY3QuaXRlbXMoKSwga2V5PV9zYWZlX3R1cGxlKQotICAgICAgICAgICAgICAgICAgICBrZXksIGVudCA9IGl0ZW1zWzBdCi0gICAgICAgICAgICAgICAgICAgIHJlcCA9IHNlbGYuX3JlcHIoa2V5LCBjb250ZXh0LCBsZXZlbCkKLSAgICAgICAgICAgICAgICAgICAgd3JpdGUocmVwKQotICAgICAgICAgICAgICAgICAgICB3cml0ZSgnOiAnKQotICAgICAgICAgICAgICAgICAgICBzZWxmLl9mb3JtYXQoZW50LCBzdHJlYW0sIGluZGVudCArIGxlbihyZXApICsgMiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGxvd2FuY2UgKyAxLCBjb250ZXh0LCBsZXZlbCkKLSAgICAgICAgICAgICAgICAgICAgaWYgbGVuZ3RoID4gMToKLSAgICAgICAgICAgICAgICAgICAgICAgIGZvciBrZXksIGVudCBpbiBpdGVtc1sxOl06Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVwID0gc2VsZi5fcmVwcihrZXksIGNvbnRleHQsIGxldmVsKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdyaXRlKCcsXG4lcyVzOiAnICUgKCcgJyppbmRlbnQsIHJlcCkpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fZm9ybWF0KGVudCwgc3RyZWFtLCBpbmRlbnQgKyBsZW4ocmVwKSArIDIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGxvd2FuY2UgKyAxLCBjb250ZXh0LCBsZXZlbCkKLSAgICAgICAgICAgICAgICAgICAgaW5kZW50ID0gaW5kZW50IC0gc2VsZi5faW5kZW50X3Blcl9sZXZlbAorICAgICAgICAgICAgICAgICAgICBzZWxmLl9mb3JtYXRfZGljdF9pdGVtcyhpdGVtcywgc3RyZWFtLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmRlbnQgKyBzZWxmLl9pbmRlbnRfcGVyX2xldmVsLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGxvd2FuY2UgKyAxLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0LCBsZXZlbCkKICAgICAgICAgICAgICAgICAgICAgZGVsIGNvbnRleHRbb2JqaWRdCiAgICAgICAgICAgICAgICAgd3JpdGUoJ30nKQogICAgICAgICAgICAgICAgIHJldHVybgpAQCAtMjA3LDcgKzE5NywxMCBAQAogICAgICAgICAgICAgICAgICAgICBlbmRjaGFyID0gJ10nCiAgICAgICAgICAgICAgICAgZWxpZiBpc3N1YmNsYXNzKHR5cCwgdHVwbGUpOgogICAgICAgICAgICAgICAgICAgICB3cml0ZSgnKCcpCi0gICAgICAgICAgICAgICAgICAgIGVuZGNoYXIgPSAnKScKKyAgICAgICAgICAgICAgICAgICAgaWYgbGVuZ3RoID09IDE6CisgICAgICAgICAgICAgICAgICAgICAgICBlbmRjaGFyID0gJywpJworICAgICAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICAgICAgZW5kY2hhciA9ICcpJwogICAgICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgICAgIGlmIG5vdCBsZW5ndGg6CiAgICAgICAgICAgICAgICAgICAgICAgICB3cml0ZShyZXApCkBAIC0yMjcsMTAgKzIyMCw5IEBACiAgICAgICAgICAgICAgICAgICAgIGNvbnRleHRbb2JqaWRdID0gMQogICAgICAgICAgICAgICAgICAgICBzZWxmLl9mb3JtYXRfaXRlbXMob2JqZWN0LCBzdHJlYW0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmRlbnQgKyBzZWxmLl9pbmRlbnRfcGVyX2xldmVsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxsb3dhbmNlICsgMSwgY29udGV4dCwgbGV2ZWwpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGxvd2FuY2UgKyBsZW4oZW5kY2hhciksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0LCBsZXZlbCkKICAgICAgICAgICAgICAgICAgICAgZGVsIGNvbnRleHRbb2JqaWRdCi0gICAgICAgICAgICAgICAgaWYgaXNzdWJjbGFzcyh0eXAsIHR1cGxlKSBhbmQgbGVuZ3RoID09IDE6Ci0gICAgICAgICAgICAgICAgICAgIHdyaXRlKCcsJykKICAgICAgICAgICAgICAgICB3cml0ZShlbmRjaGFyKQogICAgICAgICAgICAgICAgIHJldHVybgogCkBAIC0yMzksMTkgKzIzMSwyNyBAQAogICAgICAgICAgICAgICAgIGxpbmVzID0gb2JqZWN0LnNwbGl0bGluZXMoVHJ1ZSkKICAgICAgICAgICAgICAgICBpZiBsZXZlbCA9PSAxOgogICAgICAgICAgICAgICAgICAgICBpbmRlbnQgKz0gMQotICAgICAgICAgICAgICAgICAgICBtYXhfd2lkdGggLT0gMgorICAgICAgICAgICAgICAgICAgICBhbGxvd2FuY2UgKz0gMQorICAgICAgICAgICAgICAgIG1heF93aWR0aDEgPSBtYXhfd2lkdGggPSBzZWxmLl93aWR0aCAtIGluZGVudAogICAgICAgICAgICAgICAgIGZvciBpLCBsaW5lIGluIGVudW1lcmF0ZShsaW5lcyk6CiAgICAgICAgICAgICAgICAgICAgIHJlcCA9IHJlcHIobGluZSkKLSAgICAgICAgICAgICAgICAgICAgaWYgbGVuKHJlcCkgPD0gbWF4X3dpZHRoOgorICAgICAgICAgICAgICAgICAgICBpZiBpID09IGxlbihsaW5lcykgLSAxOgorICAgICAgICAgICAgICAgICAgICAgICAgbWF4X3dpZHRoMSAtPSBhbGxvd2FuY2UKKyAgICAgICAgICAgICAgICAgICAgaWYgbGVuKHJlcCkgPD0gbWF4X3dpZHRoMToKICAgICAgICAgICAgICAgICAgICAgICAgIGNodW5rcy5hcHBlbmQocmVwKQogICAgICAgICAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgICAgICAgICAgIyBBIGxpc3Qgb2YgYWx0ZXJuYXRpbmcgKG5vbi1zcGFjZSwgc3BhY2UpIHN0cmluZ3MKLSAgICAgICAgICAgICAgICAgICAgICAgIHBhcnRzID0gcmUuc3BsaXQocicoXHMrKScsIGxpbmUpICsgWycnXQorICAgICAgICAgICAgICAgICAgICAgICAgcGFydHMgPSByZS5maW5kYWxsKHInXFMqXHMqJywgbGluZSkKKyAgICAgICAgICAgICAgICAgICAgICAgIGFzc2VydCBwYXJ0cworICAgICAgICAgICAgICAgICAgICAgICAgYXNzZXJ0IG5vdCBwYXJ0c1stMV0KKyAgICAgICAgICAgICAgICAgICAgICAgIHBhcnRzLnBvcCgpICAjIGRyb3AgZW1wdHkgbGFzdCBwYXJ0CisgICAgICAgICAgICAgICAgICAgICAgICBtYXhfd2lkdGgyID0gbWF4X3dpZHRoCiAgICAgICAgICAgICAgICAgICAgICAgICBjdXJyZW50ID0gJycKLSAgICAgICAgICAgICAgICAgICAgICAgIGZvciBpIGluIHJhbmdlKDAsIGxlbihwYXJ0cyksIDIpOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcnQgPSBwYXJ0c1tpXSArIHBhcnRzW2krMV0KKyAgICAgICAgICAgICAgICAgICAgICAgIGZvciBqLCBwYXJ0IGluIGVudW1lcmF0ZShwYXJ0cyk6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FuZGlkYXRlID0gY3VycmVudCArIHBhcnQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiBsZW4ocmVwcihjYW5kaWRhdGUpKSA+IG1heF93aWR0aDoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiBqID09IGxlbihwYXJ0cykgLSAxIGFuZCBpID09IGxlbihsaW5lcykgLSAxOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXhfd2lkdGgyIC09IGFsbG93YW5jZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIGxlbihyZXByKGNhbmRpZGF0ZSkpID4gbWF4X3dpZHRoMjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgY3VycmVudDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNodW5rcy5hcHBlbmQocmVwcihjdXJyZW50KSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudCA9IHBhcnQKQEAgLTI3MywxMiArMjczLDQxIEBACiAgICAgICAgICAgICAgICAgcmV0dXJuCiAgICAgICAgIHdyaXRlKHJlcCkKIAorICAgIGRlZiBfZm9ybWF0X2RpY3RfaXRlbXMoc2VsZiwgaXRlbXMsIHN0cmVhbSwgaW5kZW50LCBhbGxvd2FuY2UsIGNvbnRleHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXZlbCk6CisgICAgICAgIHdyaXRlID0gc3RyZWFtLndyaXRlCisgICAgICAgIGRlbGltbmwgPSAnLFxuJyArICcgJyAqIGluZGVudAorICAgICAgICBsYXN0X2luZGV4ID0gbGVuKGl0ZW1zKSAtIDEKKyAgICAgICAgZm9yIGksIChrZXksIGVudCkgaW4gZW51bWVyYXRlKGl0ZW1zKToKKyAgICAgICAgICAgIGxhc3QgPSBpID09IGxhc3RfaW5kZXgKKyAgICAgICAgICAgIHJlcCA9IHNlbGYuX3JlcHIoa2V5LCBjb250ZXh0LCBsZXZlbCkKKyAgICAgICAgICAgIHdyaXRlKHJlcCkKKyAgICAgICAgICAgIHdyaXRlKCc6ICcpCisgICAgICAgICAgICBzZWxmLl9mb3JtYXQoZW50LCBzdHJlYW0sIGluZGVudCArIGxlbihyZXApICsgMiwKKyAgICAgICAgICAgICAgICAgICAgICAgICBhbGxvd2FuY2UgaWYgbGFzdCBlbHNlIDEsCisgICAgICAgICAgICAgICAgICAgICAgICAgY29udGV4dCwgbGV2ZWwpCisgICAgICAgICAgICBpZiBub3QgbGFzdDoKKyAgICAgICAgICAgICAgICB3cml0ZShkZWxpbW5sKQorCiAgICAgZGVmIF9mb3JtYXRfaXRlbXMoc2VsZiwgaXRlbXMsIHN0cmVhbSwgaW5kZW50LCBhbGxvd2FuY2UsIGNvbnRleHQsIGxldmVsKToKICAgICAgICAgd3JpdGUgPSBzdHJlYW0ud3JpdGUKICAgICAgICAgZGVsaW1ubCA9ICcsXG4nICsgJyAnICogaW5kZW50CiAgICAgICAgIGRlbGltID0gJycKLSAgICAgICAgd2lkdGggPSBtYXhfd2lkdGggPSBzZWxmLl93aWR0aCAtIGluZGVudCAtIGFsbG93YW5jZSArIDIKLSAgICAgICAgZm9yIGVudCBpbiBpdGVtczoKKyAgICAgICAgd2lkdGggPSBtYXhfd2lkdGggPSBzZWxmLl93aWR0aCAtIGluZGVudCArIDEKKyAgICAgICAgaXQgPSBpdGVyKGl0ZW1zKQorICAgICAgICB0cnk6CisgICAgICAgICAgICBuZXh0X2VudCA9IG5leHQoaXQpCisgICAgICAgIGV4Y2VwdCBTdG9wSXRlcmF0aW9uOgorICAgICAgICAgICAgcmV0dXJuCisgICAgICAgIGxhc3QgPSBGYWxzZQorICAgICAgICB3aGlsZSBub3QgbGFzdDoKKyAgICAgICAgICAgIGVudCA9IG5leHRfZW50CisgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgbmV4dF9lbnQgPSBuZXh0KGl0KQorICAgICAgICAgICAgZXhjZXB0IFN0b3BJdGVyYXRpb246CisgICAgICAgICAgICAgICAgbGFzdCA9IFRydWUKKyAgICAgICAgICAgICAgICBtYXhfd2lkdGggLT0gYWxsb3dhbmNlCisgICAgICAgICAgICAgICAgd2lkdGggLT0gYWxsb3dhbmNlCiAgICAgICAgICAgICBpZiBzZWxmLl9jb21wYWN0OgogICAgICAgICAgICAgICAgIHJlcCA9IHNlbGYuX3JlcHIoZW50LCBjb250ZXh0LCBsZXZlbCkKICAgICAgICAgICAgICAgICB3ID0gbGVuKHJlcCkgKyAyCkBAIC0yOTQsNyArMzIzLDkgQEAKICAgICAgICAgICAgICAgICAgICAgY29udGludWUKICAgICAgICAgICAgIHdyaXRlKGRlbGltKQogICAgICAgICAgICAgZGVsaW0gPSBkZWxpbW5sCi0gICAgICAgICAgICBzZWxmLl9mb3JtYXQoZW50LCBzdHJlYW0sIGluZGVudCwgYWxsb3dhbmNlLCBjb250ZXh0LCBsZXZlbCkKKyAgICAgICAgICAgIHNlbGYuX2Zvcm1hdChlbnQsIHN0cmVhbSwgaW5kZW50LAorICAgICAgICAgICAgICAgICAgICAgICAgIGFsbG93YW5jZSBpZiBsYXN0IGVsc2UgMSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0LCBsZXZlbCkKIAogICAgIGRlZiBfcmVwcihzZWxmLCBvYmplY3QsIGNvbnRleHQsIGxldmVsKToKICAgICAgICAgcmVwciwgcmVhZGFibGUsIHJlY3Vyc2l2ZSA9IHNlbGYuZm9ybWF0KG9iamVjdCwgY29udGV4dC5jb3B5KCksCmRpZmYgLS1naXQgYS9MaWIvcHlkb2MucHkgYi9MaWIvcHlkb2MucHkKaW5kZXggOGJiZWJjOS4uYjc2MjM4OSAxMDA3NTUKLS0tIGEvTGliL3B5ZG9jLnB5CisrKyBiL0xpYi9weWRvYy5weQpAQCAtMjY0LDkgKzI2NCw4IEBACiAgICAgICAgICAgICAjIFhYWCBXZSBwcm9iYWJseSBkb24ndCBuZWVkIHRvIHBhc3MgaW4gdGhlIGxvYWRlciBoZXJlLgogICAgICAgICAgICAgc3BlYyA9IGltcG9ydGxpYi51dGlsLnNwZWNfZnJvbV9maWxlX2xvY2F0aW9uKCdfX3RlbXBfXycsIGZpbGVuYW1lLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvYWRlcj1sb2FkZXIpCi0gICAgICAgICAgICBfc3BlYyA9IGltcG9ydGxpYi5fYm9vdHN0cmFwLl9TcGVjTWV0aG9kcyhzcGVjKQogICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgIG1vZHVsZSA9IF9zcGVjLmxvYWQoKQorICAgICAgICAgICAgICAgIG1vZHVsZSA9IGltcG9ydGxpYi5fYm9vdHN0cmFwLl9sb2FkKHNwZWMpCiAgICAgICAgICAgICBleGNlcHQ6CiAgICAgICAgICAgICAgICAgcmV0dXJuIE5vbmUKICAgICAgICAgICAgIGRlbCBzeXMubW9kdWxlc1snX190ZW1wX18nXQpAQCAtMjk4LDkgKzI5Nyw4IEBACiAgICAgICAgIGxvYWRlciA9IGltcG9ydGxpYi5fYm9vdHN0cmFwLlNvdXJjZUZpbGVMb2FkZXIobmFtZSwgcGF0aCkKICAgICAjIFhYWCBXZSBwcm9iYWJseSBkb24ndCBuZWVkIHRvIHBhc3MgaW4gdGhlIGxvYWRlciBoZXJlLgogICAgIHNwZWMgPSBpbXBvcnRsaWIudXRpbC5zcGVjX2Zyb21fZmlsZV9sb2NhdGlvbihuYW1lLCBwYXRoLCBsb2FkZXI9bG9hZGVyKQotICAgIF9zcGVjID0gaW1wb3J0bGliLl9ib290c3RyYXAuX1NwZWNNZXRob2RzKHNwZWMpCiAgICAgdHJ5OgotICAgICAgICByZXR1cm4gX3NwZWMubG9hZCgpCisgICAgICAgIHJldHVybiBpbXBvcnRsaWIuX2Jvb3RzdHJhcC5fbG9hZChzcGVjKQogICAgIGV4Y2VwdDoKICAgICAgICAgcmFpc2UgRXJyb3JEdXJpbmdJbXBvcnQocGF0aCwgc3lzLmV4Y19pbmZvKCkpCiAKQEAgLTE4MjMsNyArMTgyMSw4IEBACiAgICAgICAgIGlmIGluc3BlY3Quc3RhY2soKVsxXVszXSA9PSAnPyc6CiAgICAgICAgICAgICBzZWxmKCkKICAgICAgICAgICAgIHJldHVybiAnJwotICAgICAgICByZXR1cm4gJzxweWRvYy5IZWxwZXIgaW5zdGFuY2U+JworICAgICAgICByZXR1cm4gJzwlcy4lcyBpbnN0YW5jZT4nICUgKHNlbGYuX19jbGFzc19fLl9fbW9kdWxlX18sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fX2NsYXNzX18uX19xdWFsbmFtZV9fKQogCiAgICAgX0dvSW50ZXJhY3RpdmUgPSBvYmplY3QoKQogICAgIGRlZiBfX2NhbGxfXyhzZWxmLCByZXF1ZXN0PV9Hb0ludGVyYWN0aXZlKToKQEAgLTIwNzIsOSArMjA3MSw4IEBACiAgICAgICAgICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgICAgICAgICBwYXRoID0gTm9uZQogICAgICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgICAgIF9zcGVjID0gaW1wb3J0bGliLl9ib290c3RyYXAuX1NwZWNNZXRob2RzKHNwZWMpCiAgICAgICAgICAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICAgICAgICAgIG1vZHVsZSA9IF9zcGVjLmxvYWQoKQorICAgICAgICAgICAgICAgICAgICAgICAgbW9kdWxlID0gaW1wb3J0bGliLl9ib290c3RyYXAuX2xvYWQoc3BlYykKICAgICAgICAgICAgICAgICAgICAgZXhjZXB0IEltcG9ydEVycm9yOgogICAgICAgICAgICAgICAgICAgICAgICAgaWYgb25lcnJvcjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbmVycm9yKG1vZG5hbWUpCmRpZmYgLS1naXQgYS9MaWIvcHlkb2NfZGF0YS90b3BpY3MucHkgYi9MaWIvcHlkb2NfZGF0YS90b3BpY3MucHkKaW5kZXggOGMyMGVlYi4uNDg5MjU5ZSAxMDA2NDQKLS0tIGEvTGliL3B5ZG9jX2RhdGEvdG9waWNzLnB5CisrKyBiL0xpYi9weWRvY19kYXRhL3RvcGljcy5weQpAQCAtMSwxMyArMSwxMyBAQAogIyAtKi0gY29kaW5nOiB1dGYtOCAtKi0KLSMgQXV0b2dlbmVyYXRlZCBieSBTcGhpbnggb24gU2F0IEZlYiAgNyAxNTo1Mzo0OSAyMDE1CisjIEF1dG9nZW5lcmF0ZWQgYnkgU3BoaW54IG9uIFNhdCBGZWIgIDcgMTU6NTM6NTYgMjAxNQogdG9waWNzID0geydhc3NlcnQnOiB1J1xuVGhlICJhc3NlcnQiIHN0YXRlbWVudFxuKioqKioqKioqKioqKioqKioqKioqKlxuXG5Bc3NlcnQgc3RhdGVtZW50cyBhcmUgYSBjb252ZW5pZW50IHdheSB0byBpbnNlcnQgZGVidWdnaW5nIGFzc2VydGlvbnNcbmludG8gYSBwcm9ncmFtOlxuXG4gICBhc3NlcnRfc3RtdCA6Oj0gImFzc2VydCIgZXhwcmVzc2lvbiBbIiwiIGV4cHJlc3Npb25dXG5cblRoZSBzaW1wbGUgZm9ybSwgImFzc2VydCBleHByZXNzaW9uIiwgaXMgZXF1aXZhbGVudCB0b1xuXG4gICBpZiBfX2RlYnVnX186XG4gICAgICBpZiBub3QgZXhwcmVzc2lvbjogcmFpc2UgQXNzZXJ0aW9uRXJyb3JcblxuVGhlIGV4dGVuZGVkIGZvcm0sICJhc3NlcnQgZXhwcmVzc2lvbjEsIGV4cHJlc3Npb24yIiwgaXMgZXF1aXZhbGVudCB0b1xuXG4gICBpZiBfX2RlYnVnX186XG4gICAgICBpZiBub3QgZXhwcmVzc2lvbjE6IHJhaXNlIEFzc2VydGlvbkVycm9yKGV4cHJlc3Npb24yKVxuXG5UaGVzZSBlcXVpdmFsZW5jZXMgYXNzdW1lIHRoYXQgIl9fZGVidWdfXyIgYW5kICJBc3NlcnRpb25FcnJvciIgcmVmZXJcbnRvIHRoZSBidWlsdC1pbiB2YXJpYWJsZXMgd2l0aCB0aG9zZSBuYW1lcy4gIEluIHRoZSBjdXJyZW50XG5pbXBsZW1lbnRhdGlvbiwgdGhlIGJ1aWx0LWluIHZhcmlhYmxlICJfX2RlYnVnX18iIGlzICJUcnVlIiB1bmRlclxubm9ybWFsIGNpcmN1bXN0YW5jZXMsICJGYWxzZSIgd2hlbiBvcHRpbWl6YXRpb24gaXMgcmVxdWVzdGVkIChjb21tYW5kXG5saW5lIG9wdGlvbiAtTykuICBUaGUgY3VycmVudCBjb2RlIGdlbmVyYXRvciBlbWl0cyBubyBjb2RlIGZvciBhblxuYXNzZXJ0IHN0YXRlbWVudCB3aGVuIG9wdGltaXphdGlvbiBpcyByZXF1ZXN0ZWQgYXQgY29tcGlsZSB0aW1lLiAgTm90ZVxudGhhdCBpdCBpcyB1bm5lY2Vzc2FyeSB0byBpbmNsdWRlIHRoZSBzb3VyY2UgY29kZSBmb3IgdGhlIGV4cHJlc3Npb25cbnRoYXQgZmFpbGVkIGluIHRoZSBlcnJvciBtZXNzYWdlOyBpdCB3aWxsIGJlIGRpc3BsYXllZCBhcyBwYXJ0IG9mIHRoZVxuc3RhY2sgdHJhY2UuXG5cbkFzc2lnbm1lbnRzIHRvICJfX2RlYnVnX18iIGFyZSBpbGxlZ2FsLiAgVGhlIHZhbHVlIGZvciB0aGUgYnVpbHQtaW5cbnZhcmlhYmxlIGlzIGRldGVybWluZWQgd2hlbiB0aGUgaW50ZXJwcmV0ZXIgc3RhcnRzLlxuJywKLSAnYXNzaWdubWVudCc6IHUnXG5Bc3NpZ25tZW50IHN0YXRlbWVudHNcbioqKioqKioqKioqKioqKioqKioqKlxuXG5Bc3NpZ25tZW50IHN0YXRlbWVudHMgYXJlIHVzZWQgdG8gKHJlKWJpbmQgbmFtZXMgdG8gdmFsdWVzIGFuZCB0b1xubW9kaWZ5IGF0dHJpYnV0ZXMgb3IgaXRlbXMgb2YgbXV0YWJsZSBvYmplY3RzOlxuXG4gICBhc3NpZ25tZW50X3N0bXQgOjo9ICh0YXJnZXRfbGlzdCAiPSIpKyAoZXhwcmVzc2lvbl9saXN0IHwgeWllbGRfZXhwcmVzc2lvbilcbiAgIHRhcmdldF9saXN0ICAgICA6Oj0gdGFyZ2V0ICgiLCIgdGFyZ2V0KSogWyIsIl1cbiAgIHRhcmdldCAgICAgICAgICA6Oj0gaWRlbnRpZmllclxuICAgICAgICAgICAgICB8ICIoIiB0YXJnZXRfbGlzdCAiKSJcbiAgICAgICAgICAgICAgfCAiWyIgdGFyZ2V0X2xpc3QgIl0iXG4gICAgICAgICAgICAgIHwgYXR0cmlidXRlcmVmXG4gICAgICAgICAgICAgIHwgc3Vic2NyaXB0aW9uXG4gICAgICAgICAgICAgIHwgc2xpY2luZ1xuICAgICAgICAgICAgICB8ICIqIiB0YXJnZXRcblxuKFNlZSBzZWN0aW9uICpQcmltYXJpZXMqIGZvciB0aGUgc3ludGF4IGRlZmluaXRpb25zIGZvclxuKmF0dHJpYnV0ZXJlZiosICpzdWJzY3JpcHRpb24qLCBhbmQgKnNsaWNpbmcqLilcblxuQW4gYXNzaWdubWVudCBzdGF0ZW1lbnQgZXZhbHVhdGVzIHRoZSBleHByZXNzaW9uIGxpc3QgKHJlbWVtYmVyIHRoYXRcbnRoaXMgY2FuIGJlIGEgc2luZ2xlIGV4cHJlc3Npb24gb3IgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCwgdGhlIGxhdHRlclxueWllbGRpbmcgYSB0dXBsZSkgYW5kIGFzc2lnbnMgdGhlIHNpbmdsZSByZXN1bHRpbmcgb2JqZWN0IHRvIGVhY2ggb2ZcbnRoZSB0YXJnZXQgbGlzdHMsIGZyb20gbGVmdCB0byByaWdodC5cblxuQXNzaWdubWVudCBpcyBkZWZpbmVkIHJlY3Vyc2l2ZWx5IGRlcGVuZGluZyBvbiB0aGUgZm9ybSBvZiB0aGUgdGFyZ2V0XG4obGlzdCkuIFdoZW4gYSB0YXJnZXQgaXMgcGFydCBvZiBhIG11dGFibGUgb2JqZWN0IChhbiBhdHRyaWJ1dGVcbnJlZmVyZW5jZSwgc3Vic2NyaXB0aW9uIG9yIHNsaWNpbmcpLCB0aGUgbXV0YWJsZSBvYmplY3QgbXVzdFxudWx0aW1hdGVseSBwZXJmb3JtIHRoZSBhc3NpZ25tZW50IGFuZCBkZWNpZGUgYWJvdXQgaXRzIHZhbGlkaXR5LCBhbmRcbm1heSByYWlzZSBhbiBleGNlcHRpb24gaWYgdGhlIGFzc2lnbm1lbnQgaXMgdW5hY2NlcHRhYmxlLiAgVGhlIHJ1bGVzXG5vYnNlcnZlZCBieSB2YXJpb3VzIHR5cGVzIGFuZCB0aGUgZXhjZXB0aW9ucyByYWlzZWQgYXJlIGdpdmVuIHdpdGggdGhlXG5kZWZpbml0aW9uIG9mIHRoZSBvYmplY3QgdHlwZXMgKHNlZSBzZWN0aW9uICpUaGUgc3RhbmRhcmQgdHlwZVxuaGllcmFyY2h5KikuXG5cbkFzc2lnbm1lbnQgb2YgYW4gb2JqZWN0IHRvIGEgdGFyZ2V0IGxpc3QsIG9wdGlvbmFsbHkgZW5jbG9zZWQgaW5cbnBhcmVudGhlc2VzIG9yIHNxdWFyZSBicmFja2V0cywgaXMgcmVjdXJzaXZlbHkgZGVmaW5lZCBhcyBmb2xsb3dzLlxuXG4qIElmIHRoZSB0YXJnZXQgbGlzdCBpcyBhIHNpbmdsZSB0YXJnZXQ6IFRoZSBvYmplY3QgaXMgYXNzaWduZWQgdG9cbiAgdGhhdCB0YXJnZXQuXG5cbiogSWYgdGhlIHRhcmdldCBsaXN0IGlzIGEgY29tbWEtc2VwYXJhdGVkIGxpc3Qgb2YgdGFyZ2V0czogVGhlXG4gIG9iamVjdCBtdXN0IGJlIGFuIGl0ZXJhYmxlIHdpdGggdGhlIHNhbWUgbnVtYmVyIG9mIGl0ZW1zIGFzIHRoZXJlXG4gIGFyZSB0YXJnZXRzIGluIHRoZSB0YXJnZXQgbGlzdCwgYW5kIHRoZSBpdGVtcyBhcmUgYXNzaWduZWQsIGZyb21cbiAgbGVmdCB0byByaWdodCwgdG8gdGhlIGNvcnJlc3BvbmRpbmcgdGFyZ2V0cy5cblxuICAqIElmIHRoZSB0YXJnZXQgbGlzdCBjb250YWlucyBvbmUgdGFyZ2V0IHByZWZpeGVkIHdpdGggYW5cbiAgICBhc3RlcmlzaywgY2FsbGVkIGEgInN0YXJyZWQiIHRhcmdldDogVGhlIG9iamVjdCBtdXN0IGJlIGEgc2VxdWVuY2VcbiAgICB3aXRoIGF0IGxlYXN0IGFzIG1hbnkgaXRlbXMgYXMgdGhlcmUgYXJlIHRhcmdldHMgaW4gdGhlIHRhcmdldFxuICAgIGxpc3QsIG1pbnVzIG9uZS4gIFRoZSBmaXJzdCBpdGVtcyBvZiB0aGUgc2VxdWVuY2UgYXJlIGFzc2lnbmVkLFxuICAgIGZyb20gbGVmdCB0byByaWdodCwgdG8gdGhlIHRhcmdldHMgYmVmb3JlIHRoZSBzdGFycmVkIHRhcmdldC4gIFRoZVxuICAgIGZpbmFsIGl0ZW1zIG9mIHRoZSBzZXF1ZW5jZSBhcmUgYXNzaWduZWQgdG8gdGhlIHRhcmdldHMgYWZ0ZXIgdGhlXG4gICAgc3RhcnJlZCB0YXJnZXQuICBBIGxpc3Qgb2YgdGhlIHJlbWFpbmluZyBpdGVtcyBpbiB0aGUgc2VxdWVuY2UgaXNcbiAgICB0aGVuIGFzc2lnbmVkIHRvIHRoZSBzdGFycmVkIHRhcmdldCAodGhlIGxpc3QgY2FuIGJlIGVtcHR5KS5cblxuICAqIEVsc2U6IFRoZSBvYmplY3QgbXVzdCBiZSBhIHNlcXVlbmNlIHdpdGggdGhlIHNhbWUgbnVtYmVyIG9mXG4gICAgaXRlbXMgYXMgdGhlcmUgYXJlIHRhcmdldHMgaW4gdGhlIHRhcmdldCBsaXN0LCBhbmQgdGhlIGl0ZW1zIGFyZVxuICAgIGFzc2lnbmVkLCBmcm9tIGxlZnQgdG8gcmlnaHQsIHRvIHRoZSBjb3JyZXNwb25kaW5nIHRhcmdldHMuXG5cbkFzc2lnbm1lbnQgb2YgYW4gb2JqZWN0IHRvIGEgc2luZ2xlIHRhcmdldCBpcyByZWN1cnNpdmVseSBkZWZpbmVkIGFzXG5mb2xsb3dzLlxuXG4qIElmIHRoZSB0YXJnZXQgaXMgYW4gaWRlbnRpZmllciAobmFtZSk6XG5cbiAgKiBJZiB0aGUgbmFtZSBkb2VzIG5vdCBvY2N1ciBpbiBhICJnbG9iYWwiIG9yICJub25sb2NhbCIgc3RhdGVtZW50XG4gICAgaW4gdGhlIGN1cnJlbnQgY29kZSBibG9jazogdGhlIG5hbWUgaXMgYm91bmQgdG8gdGhlIG9iamVjdCBpbiB0aGVcbiAgICBjdXJyZW50IGxvY2FsIG5hbWVzcGFjZS5cblxuICAqIE90aGVyd2lzZTogdGhlIG5hbWUgaXMgYm91bmQgdG8gdGhlIG9iamVjdCBpbiB0aGUgZ2xvYmFsXG4gICAgbmFtZXNwYWNlIG9yIHRoZSBvdXRlciBuYW1lc3BhY2UgZGV0ZXJtaW5lZCBieSAibm9ubG9jYWwiLFxuICAgIHJlc3BlY3RpdmVseS5cblxuICBUaGUgbmFtZSBpcyByZWJvdW5kIGlmIGl0IHdhcyBhbHJlYWR5IGJvdW5kLiAgVGhpcyBtYXkgY2F1c2UgdGhlXG4gIHJlZmVyZW5jZSBjb3VudCBmb3IgdGhlIG9iamVjdCBwcmV2aW91c2x5IGJvdW5kIHRvIHRoZSBuYW1lIHRvIHJlYWNoXG4gIHplcm8sIGNhdXNpbmcgdGhlIG9iamVjdCB0byBiZSBkZWFsbG9jYXRlZCBhbmQgaXRzIGRlc3RydWN0b3IgKGlmIGl0XG4gIGhhcyBvbmUpIHRvIGJlIGNhbGxlZC5cblxuKiBJZiB0aGUgdGFyZ2V0IGlzIGEgdGFyZ2V0IGxpc3QgZW5jbG9zZWQgaW4gcGFyZW50aGVzZXMgb3IgaW5cbiAgc3F1YXJlIGJyYWNrZXRzOiBUaGUgb2JqZWN0IG11c3QgYmUgYW4gaXRlcmFibGUgd2l0aCB0aGUgc2FtZSBudW1iZXJcbiAgb2YgaXRlbXMgYXMgdGhlcmUgYXJlIHRhcmdldHMgaW4gdGhlIHRhcmdldCBsaXN0LCBhbmQgaXRzIGl0ZW1zIGFyZVxuICBhc3NpZ25lZCwgZnJvbSBsZWZ0IHRvIHJpZ2h0LCB0byB0aGUgY29ycmVzcG9uZGluZyB0YXJnZXRzLlxuXG4qIElmIHRoZSB0YXJnZXQgaXMgYW4gYXR0cmlidXRlIHJlZmVyZW5jZTogVGhlIHByaW1hcnkgZXhwcmVzc2lvbiBpblxuICB0aGUgcmVmZXJlbmNlIGlzIGV2YWx1YXRlZC4gIEl0IHNob3VsZCB5aWVsZCBhbiBvYmplY3Qgd2l0aFxuICBhc3NpZ25hYmxlIGF0dHJpYnV0ZXM7IGlmIHRoaXMgaXMgbm90IHRoZSBjYXNlLCAiVHlwZUVycm9yIiBpc1xuICByYWlzZWQuICBUaGF0IG9iamVjdCBpcyB0aGVuIGFza2VkIHRvIGFzc2lnbiB0aGUgYXNzaWduZWQgb2JqZWN0IHRvXG4gIHRoZSBnaXZlbiBhdHRyaWJ1dGU7IGlmIGl0IGNhbm5vdCBwZXJmb3JtIHRoZSBhc3NpZ25tZW50LCBpdCByYWlzZXNcbiAgYW4gZXhjZXB0aW9uICh1c3VhbGx5IGJ1dCBub3QgbmVjZXNzYXJpbHkgIkF0dHJpYnV0ZUVycm9yIikuXG5cbiAgTm90ZTogSWYgdGhlIG9iamVjdCBpcyBhIGNsYXNzIGluc3RhbmNlIGFuZCB0aGUgYXR0cmlidXRlIHJlZmVyZW5jZVxuICBvY2N1cnMgb24gYm90aCBzaWRlcyBvZiB0aGUgYXNzaWdubWVudCBvcGVyYXRvciwgdGhlIFJIUyBleHByZXNzaW9uLFxuICAiYS54IiBjYW4gYWNjZXNzIGVpdGhlciBhbiBpbnN0YW5jZSBhdHRyaWJ1dGUgb3IgKGlmIG5vIGluc3RhbmNlXG4gIGF0dHJpYnV0ZSBleGlzdHMpIGEgY2xhc3MgYXR0cmlidXRlLiAgVGhlIExIUyB0YXJnZXQgImEueCIgaXMgYWx3YXlzXG4gIHNldCBhcyBhbiBpbnN0YW5jZSBhdHRyaWJ1dGUsIGNyZWF0aW5nIGl0IGlmIG5lY2Vzc2FyeS4gIFRodXMsIHRoZVxuICB0d28gb2NjdXJyZW5jZXMgb2YgImEueCIgZG8gbm90IG5lY2Vzc2FyaWx5IHJlZmVyIHRvIHRoZSBzYW1lXG4gIGF0dHJpYnV0ZTogaWYgdGhlIFJIUyBleHByZXNzaW9uIHJlZmVycyB0byBhIGNsYXNzIGF0dHJpYnV0ZSwgdGhlXG4gIExIUyBjcmVhdGVzIGEgbmV3IGluc3RhbmNlIGF0dHJpYnV0ZSBhcyB0aGUgdGFyZ2V0IG9mIHRoZVxuICBhc3NpZ25tZW50OlxuXG4gICAgIGNsYXNzIENsczpcbiAgICAgICAgIHggPSAzICAgICAgICAgICAgICMgY2xhc3MgdmFyaWFibGVcbiAgICAgaW5zdCA9IENscygpXG4gICAgIGluc3QueCA9IGluc3QueCArIDEgICAjIHdyaXRlcyBpbnN0LnggYXMgNCBsZWF2aW5nIENscy54IGFzIDNcblxuICBUaGlzIGRlc2NyaXB0aW9uIGRvZXMgbm90IG5lY2Vzc2FyaWx5IGFwcGx5IHRvIGRlc2NyaXB0b3JcbiAgYXR0cmlidXRlcywgc3VjaCBhcyBwcm9wZXJ0aWVzIGNyZWF0ZWQgd2l0aCAicHJvcGVydHkoKSIuXG5cbiogSWYgdGhlIHRhcmdldCBpcyBhIHN1YnNjcmlwdGlvbjogVGhlIHByaW1hcnkgZXhwcmVzc2lvbiBpbiB0aGVcbiAgcmVmZXJlbmNlIGlzIGV2YWx1YXRlZC4gIEl0IHNob3VsZCB5aWVsZCBlaXRoZXIgYSBtdXRhYmxlIHNlcXVlbmNlXG4gIG9iamVjdCAoc3VjaCBhcyBhIGxpc3QpIG9yIGEgbWFwcGluZyBvYmplY3QgKHN1Y2ggYXMgYSBkaWN0aW9uYXJ5KS5cbiAgTmV4dCwgdGhlIHN1YnNjcmlwdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZC5cblxuICBJZiB0aGUgcHJpbWFyeSBpcyBhIG11dGFibGUgc2VxdWVuY2Ugb2JqZWN0IChzdWNoIGFzIGEgbGlzdCksIHRoZVxuICBzdWJzY3JpcHQgbXVzdCB5aWVsZCBhbiBpbnRlZ2VyLiAgSWYgaXQgaXMgbmVnYXRpdmUsIHRoZSBzZXF1ZW5jZVwnc1xuICBsZW5ndGggaXMgYWRkZWQgdG8gaXQuICBUaGUgcmVzdWx0aW5nIHZhbHVlIG11c3QgYmUgYSBub25uZWdhdGl2ZVxuICBpbnRlZ2VyIGxlc3MgdGhhbiB0aGUgc2VxdWVuY2VcJ3MgbGVuZ3RoLCBhbmQgdGhlIHNlcXVlbmNlIGlzIGFza2VkXG4gIHRvIGFzc2lnbiB0aGUgYXNzaWduZWQgb2JqZWN0IHRvIGl0cyBpdGVtIHdpdGggdGhhdCBpbmRleC4gIElmIHRoZVxuICBpbmRleCBpcyBvdXQgb2YgcmFuZ2UsICJJbmRleEVycm9yIiBpcyByYWlzZWQgKGFzc2lnbm1lbnQgdG8gYVxuICBzdWJzY3JpcHRlZCBzZXF1ZW5jZSBjYW5ub3QgYWRkIG5ldyBpdGVtcyB0byBhIGxpc3QpLlxuXG4gIElmIHRoZSBwcmltYXJ5IGlzIGEgbWFwcGluZyBvYmplY3QgKHN1Y2ggYXMgYSBkaWN0aW9uYXJ5KSwgdGhlXG4gIHN1YnNjcmlwdCBtdXN0IGhhdmUgYSB0eXBlIGNvbXBhdGlibGUgd2l0aCB0aGUgbWFwcGluZ1wncyBrZXkgdHlwZSxcbiAgYW5kIHRoZSBtYXBwaW5nIGlzIHRoZW4gYXNrZWQgdG8gY3JlYXRlIGEga2V5L2RhdHVtIHBhaXIgd2hpY2ggbWFwc1xuICB0aGUgc3Vic2NyaXB0IHRvIHRoZSBhc3NpZ25lZCBvYmplY3QuICBUaGlzIGNhbiBlaXRoZXIgcmVwbGFjZSBhblxuICBleGlzdGluZyBrZXkvdmFsdWUgcGFpciB3aXRoIHRoZSBzYW1lIGtleSB2YWx1ZSwgb3IgaW5zZXJ0IGEgbmV3XG4gIGtleS92YWx1ZSBwYWlyIChpZiBubyBrZXkgd2l0aCB0aGUgc2FtZSB2YWx1ZSBleGlzdGVkKS5cblxuICBGb3IgdXNlci1kZWZpbmVkIG9iamVjdHMsIHRoZSAiX19zZXRpdGVtX18oKSIgbWV0aG9kIGlzIGNhbGxlZCB3aXRoXG4gIGFwcHJvcHJpYXRlIGFyZ3VtZW50cy5cblxuKiBJZiB0aGUgdGFyZ2V0IGlzIGEgc2xpY2luZzogVGhlIHByaW1hcnkgZXhwcmVzc2lvbiBpbiB0aGVcbiAgcmVmZXJlbmNlIGlzIGV2YWx1YXRlZC4gIEl0IHNob3VsZCB5aWVsZCBhIG11dGFibGUgc2VxdWVuY2Ugb2JqZWN0XG4gIChzdWNoIGFzIGEgbGlzdCkuICBUaGUgYXNzaWduZWQgb2JqZWN0IHNob3VsZCBiZSBhIHNlcXVlbmNlIG9iamVjdFxuICBvZiB0aGUgc2FtZSB0eXBlLiAgTmV4dCwgdGhlIGxvd2VyIGFuZCB1cHBlciBib3VuZCBleHByZXNzaW9ucyBhcmVcbiAgZXZhbHVhdGVkLCBpbnNvZmFyIHRoZXkgYXJlIHByZXNlbnQ7IGRlZmF1bHRzIGFyZSB6ZXJvIGFuZCB0aGVcbiAgc2VxdWVuY2VcJ3MgbGVuZ3RoLiAgVGhlIGJvdW5kcyBzaG91bGQgZXZhbHVhdGUgdG8gaW50ZWdlcnMuIElmXG4gIGVpdGhlciBib3VuZCBpcyBuZWdhdGl2ZSwgdGhlIHNlcXVlbmNlXCdzIGxlbmd0aCBpcyBhZGRlZCB0byBpdC4gIFRoZVxuICByZXN1bHRpbmcgYm91bmRzIGFyZSBjbGlwcGVkIHRvIGxpZSBiZXR3ZWVuIHplcm8gYW5kIHRoZSBzZXF1ZW5jZVwnc1xuICBsZW5ndGgsIGluY2x1c2l2ZS4gIEZpbmFsbHksIHRoZSBzZXF1ZW5jZSBvYmplY3QgaXMgYXNrZWQgdG8gcmVwbGFjZVxuICB0aGUgc2xpY2Ugd2l0aCB0aGUgaXRlbXMgb2YgdGhlIGFzc2lnbmVkIHNlcXVlbmNlLiAgVGhlIGxlbmd0aCBvZlxuICB0aGUgc2xpY2UgbWF5IGJlIGRpZmZlcmVudCBmcm9tIHRoZSBsZW5ndGggb2YgdGhlIGFzc2lnbmVkIHNlcXVlbmNlLFxuICB0aHVzIGNoYW5naW5nIHRoZSBsZW5ndGggb2YgdGhlIHRhcmdldCBzZXF1ZW5jZSwgaWYgdGhlIHRhcmdldFxuICBzZXF1ZW5jZSBhbGxvd3MgaXQuXG5cbioqQ1B5dGhvbiBpbXBsZW1lbnRhdGlvbiBkZXRhaWw6KiogSW4gdGhlIGN1cnJlbnQgaW1wbGVtZW50YXRpb24sIHRoZVxuc3ludGF4IGZvciB0YXJnZXRzIGlzIHRha2VuIHRvIGJlIHRoZSBzYW1lIGFzIGZvciBleHByZXNzaW9ucywgYW5kXG5pbnZhbGlkIHN5bnRheCBpcyByZWplY3RlZCBkdXJpbmcgdGhlIGNvZGUgZ2VuZXJhdGlvbiBwaGFzZSwgY2F1c2luZ1xubGVzcyBkZXRhaWxlZCBlcnJvciBtZXNzYWdlcy5cblxuQWx0aG91Z2ggdGhlIGRlZmluaXRpb24gb2YgYXNzaWdubWVudCBpbXBsaWVzIHRoYXQgb3ZlcmxhcHMgYmV0d2VlblxudGhlIGxlZnQtaGFuZCBzaWRlIGFuZCB0aGUgcmlnaHQtaGFuZCBzaWRlIGFyZSBcJ3NpbXVsdGFuZW5vdXNcJyAoZm9yXG5leGFtcGxlICJhLCBiID0gYiwgYSIgc3dhcHMgdHdvIHZhcmlhYmxlcyksIG92ZXJsYXBzICp3aXRoaW4qIHRoZVxuY29sbGVjdGlvbiBvZiBhc3NpZ25lZC10byB2YXJpYWJsZXMgb2NjdXIgbGVmdC10by1yaWdodCwgc29tZXRpbWVzXG5yZXN1bHRpbmcgaW4gY29uZnVzaW9uLiAgRm9yIGluc3RhbmNlLCB0aGUgZm9sbG93aW5nIHByb2dyYW0gcHJpbnRzXG4iWzAsIDJdIjpcblxuICAgeCA9IFswLCAxXVxuICAgaSA9IDBcbiAgIGksIHhbaV0gPSAxLCAyICAgICAgICAgIyBpIGlzIHVwZGF0ZWQsIHRoZW4geFtpXSBpcyB1cGRhdGVkXG4gICBwcmludCh4KVxuXG5TZWUgYWxzbzogKipQRVAgMzEzMioqIC0gRXh0ZW5kZWQgSXRlcmFibGUgVW5wYWNraW5nXG5cbiAgICAgVGhlIHNwZWNpZmljYXRpb24gZm9yIHRoZSAiKnRhcmdldCIgZmVhdHVyZS5cblxuXG5BdWdtZW50ZWQgYXNzaWdubWVudCBzdGF0ZW1lbnRzXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkF1Z21lbnRlZCBhc3NpZ25tZW50IGlzIHRoZSBjb21iaW5hdGlvbiwgaW4gYSBzaW5nbGUgc3RhdGVtZW50LCBvZiBhXG5iaW5hcnkgb3BlcmF0aW9uIGFuZCBhbiBhc3NpZ25tZW50IHN0YXRlbWVudDpcblxuICAgYXVnbWVudGVkX2Fzc2lnbm1lbnRfc3RtdCA6Oj0gYXVndGFyZ2V0IGF1Z29wIChleHByZXNzaW9uX2xpc3QgfCB5aWVsZF9leHByZXNzaW9uKVxuICAgYXVndGFyZ2V0ICAgICAgICAgICAgICAgICA6Oj0gaWRlbnRpZmllciB8IGF0dHJpYnV0ZXJlZiB8IHN1YnNjcmlwdGlvbiB8IHNsaWNpbmdcbiAgIGF1Z29wICAgICAgICAgICAgICAgICAgICAgOjo9ICIrPSIgfCAiLT0iIHwgIio9IiB8ICIvPSIgfCAiLy89IiB8ICIlPSIgfCAiKio9IlxuICAgICAgICAgICAgIHwgIj4+PSIgfCAiPDw9IiB8ICImPSIgfCAiXj0iIHwgInw9IlxuXG4oU2VlIHNlY3Rpb24gKlByaW1hcmllcyogZm9yIHRoZSBzeW50YXggZGVmaW5pdGlvbnMgb2YgdGhlIGxhc3QgdGhyZWVcbnN5bWJvbHMuKVxuXG5BbiBhdWdtZW50ZWQgYXNzaWdubWVudCBldmFsdWF0ZXMgdGhlIHRhcmdldCAod2hpY2gsIHVubGlrZSBub3JtYWxcbmFzc2lnbm1lbnQgc3RhdGVtZW50cywgY2Fubm90IGJlIGFuIHVucGFja2luZykgYW5kIHRoZSBleHByZXNzaW9uXG5saXN0LCBwZXJmb3JtcyB0aGUgYmluYXJ5IG9wZXJhdGlvbiBzcGVjaWZpYyB0byB0aGUgdHlwZSBvZiBhc3NpZ25tZW50XG5vbiB0aGUgdHdvIG9wZXJhbmRzLCBhbmQgYXNzaWducyB0aGUgcmVzdWx0IHRvIHRoZSBvcmlnaW5hbCB0YXJnZXQuXG5UaGUgdGFyZ2V0IGlzIG9ubHkgZXZhbHVhdGVkIG9uY2UuXG5cbkFuIGF1Z21lbnRlZCBhc3NpZ25tZW50IGV4cHJlc3Npb24gbGlrZSAieCArPSAxIiBjYW4gYmUgcmV3cml0dGVuIGFzXG4ieCA9IHggKyAxIiB0byBhY2hpZXZlIGEgc2ltaWxhciwgYnV0IG5vdCBleGFjdGx5IGVxdWFsIGVmZmVjdC4gSW4gdGhlXG5hdWdtZW50ZWQgdmVyc2lvbiwgIngiIGlzIG9ubHkgZXZhbHVhdGVkIG9uY2UuIEFsc28sIHdoZW4gcG9zc2libGUsXG50aGUgYWN0dWFsIG9wZXJhdGlvbiBpcyBwZXJmb3JtZWQgKmluLXBsYWNlKiwgbWVhbmluZyB0aGF0IHJhdGhlciB0aGFuXG5jcmVhdGluZyBhIG5ldyBvYmplY3QgYW5kIGFzc2lnbmluZyB0aGF0IHRvIHRoZSB0YXJnZXQsIHRoZSBvbGQgb2JqZWN0XG5pcyBtb2RpZmllZCBpbnN0ZWFkLlxuXG5Vbmxpa2Ugbm9ybWFsIGFzc2lnbm1lbnRzLCBhdWdtZW50ZWQgYXNzaWdubWVudHMgZXZhbHVhdGUgdGhlIGxlZnQtXG5oYW5kIHNpZGUgKmJlZm9yZSogZXZhbHVhdGluZyB0aGUgcmlnaHQtaGFuZCBzaWRlLiAgRm9yIGV4YW1wbGUsICJhW2ldXG4rPSBmKHgpIiBmaXJzdCBsb29rcy11cCAiYVtpXSIsIHRoZW4gaXQgZXZhbHVhdGVzICJmKHgpIiBhbmQgcGVyZm9ybXNcbnRoZSBhZGRpdGlvbiwgYW5kIGxhc3RseSwgaXQgd3JpdGVzIHRoZSByZXN1bHQgYmFjayB0byAiYVtpXSIuXG5cbldpdGggdGhlIGV4Y2VwdGlvbiBvZiBhc3NpZ25pbmcgdG8gdHVwbGVzIGFuZCBtdWx0aXBsZSB0YXJnZXRzIGluIGFcbnNpbmdsZSBzdGF0ZW1lbnQsIHRoZSBhc3NpZ25tZW50IGRvbmUgYnkgYXVnbWVudGVkIGFzc2lnbm1lbnRcbnN0YXRlbWVudHMgaXMgaGFuZGxlZCB0aGUgc2FtZSB3YXkgYXMgbm9ybWFsIGFzc2lnbm1lbnRzLiBTaW1pbGFybHksXG53aXRoIHRoZSBleGNlcHRpb24gb2YgdGhlIHBvc3NpYmxlICppbi1wbGFjZSogYmVoYXZpb3IsIHRoZSBiaW5hcnlcbm9wZXJhdGlvbiBwZXJmb3JtZWQgYnkgYXVnbWVudGVkIGFzc2lnbm1lbnQgaXMgdGhlIHNhbWUgYXMgdGhlIG5vcm1hbFxuYmluYXJ5IG9wZXJhdGlvbnMuXG5cbkZvciB0YXJnZXRzIHdoaWNoIGFyZSBhdHRyaWJ1dGUgcmVmZXJlbmNlcywgdGhlIHNhbWUgKmNhdmVhdCBhYm91dFxuY2xhc3MgYW5kIGluc3RhbmNlIGF0dHJpYnV0ZXMqIGFwcGxpZXMgYXMgZm9yIHJlZ3VsYXIgYXNzaWdubWVudHMuXG4nLAorICdhc3NpZ25tZW50JzogdSdcbkFzc2lnbm1lbnQgc3RhdGVtZW50c1xuKioqKioqKioqKioqKioqKioqKioqXG5cbkFzc2lnbm1lbnQgc3RhdGVtZW50cyBhcmUgdXNlZCB0byAocmUpYmluZCBuYW1lcyB0byB2YWx1ZXMgYW5kIHRvXG5tb2RpZnkgYXR0cmlidXRlcyBvciBpdGVtcyBvZiBtdXRhYmxlIG9iamVjdHM6XG5cbiAgIGFzc2lnbm1lbnRfc3RtdCA6Oj0gKHRhcmdldF9saXN0ICI9IikrIChleHByZXNzaW9uX2xpc3QgfCB5aWVsZF9leHByZXNzaW9uKVxuICAgdGFyZ2V0X2xpc3QgICAgIDo6PSB0YXJnZXQgKCIsIiB0YXJnZXQpKiBbIiwiXVxuICAgdGFyZ2V0ICAgICAgICAgIDo6PSBpZGVudGlmaWVyXG4gICAgICAgICAgICAgIHwgIigiIHRhcmdldF9saXN0ICIpIlxuICAgICAgICAgICAgICB8ICJbIiB0YXJnZXRfbGlzdCAiXSJcbiAgICAgICAgICAgICAgfCBhdHRyaWJ1dGVyZWZcbiAgICAgICAgICAgICAgfCBzdWJzY3JpcHRpb25cbiAgICAgICAgICAgICAgfCBzbGljaW5nXG4gICAgICAgICAgICAgIHwgIioiIHRhcmdldFxuXG4oU2VlIHNlY3Rpb24gKlByaW1hcmllcyogZm9yIHRoZSBzeW50YXggZGVmaW5pdGlvbnMgZm9yXG4qYXR0cmlidXRlcmVmKiwgKnN1YnNjcmlwdGlvbiosIGFuZCAqc2xpY2luZyouKVxuXG5BbiBhc3NpZ25tZW50IHN0YXRlbWVudCBldmFsdWF0ZXMgdGhlIGV4cHJlc3Npb24gbGlzdCAocmVtZW1iZXIgdGhhdFxudGhpcyBjYW4gYmUgYSBzaW5nbGUgZXhwcmVzc2lvbiBvciBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0LCB0aGUgbGF0dGVyXG55aWVsZGluZyBhIHR1cGxlKSBhbmQgYXNzaWducyB0aGUgc2luZ2xlIHJlc3VsdGluZyBvYmplY3QgdG8gZWFjaCBvZlxudGhlIHRhcmdldCBsaXN0cywgZnJvbSBsZWZ0IHRvIHJpZ2h0LlxuXG5Bc3NpZ25tZW50IGlzIGRlZmluZWQgcmVjdXJzaXZlbHkgZGVwZW5kaW5nIG9uIHRoZSBmb3JtIG9mIHRoZSB0YXJnZXRcbihsaXN0KS4gV2hlbiBhIHRhcmdldCBpcyBwYXJ0IG9mIGEgbXV0YWJsZSBvYmplY3QgKGFuIGF0dHJpYnV0ZVxucmVmZXJlbmNlLCBzdWJzY3JpcHRpb24gb3Igc2xpY2luZyksIHRoZSBtdXRhYmxlIG9iamVjdCBtdXN0XG51bHRpbWF0ZWx5IHBlcmZvcm0gdGhlIGFzc2lnbm1lbnQgYW5kIGRlY2lkZSBhYm91dCBpdHMgdmFsaWRpdHksIGFuZFxubWF5IHJhaXNlIGFuIGV4Y2VwdGlvbiBpZiB0aGUgYXNzaWdubWVudCBpcyB1bmFjY2VwdGFibGUuICBUaGUgcnVsZXNcbm9ic2VydmVkIGJ5IHZhcmlvdXMgdHlwZXMgYW5kIHRoZSBleGNlcHRpb25zIHJhaXNlZCBhcmUgZ2l2ZW4gd2l0aCB0aGVcbmRlZmluaXRpb24gb2YgdGhlIG9iamVjdCB0eXBlcyAoc2VlIHNlY3Rpb24gKlRoZSBzdGFuZGFyZCB0eXBlXG5oaWVyYXJjaHkqKS5cblxuQXNzaWdubWVudCBvZiBhbiBvYmplY3QgdG8gYSB0YXJnZXQgbGlzdCwgb3B0aW9uYWxseSBlbmNsb3NlZCBpblxucGFyZW50aGVzZXMgb3Igc3F1YXJlIGJyYWNrZXRzLCBpcyByZWN1cnNpdmVseSBkZWZpbmVkIGFzIGZvbGxvd3MuXG5cbiogSWYgdGhlIHRhcmdldCBsaXN0IGlzIGEgc2luZ2xlIHRhcmdldDogVGhlIG9iamVjdCBpcyBhc3NpZ25lZCB0b1xuICB0aGF0IHRhcmdldC5cblxuKiBJZiB0aGUgdGFyZ2V0IGxpc3QgaXMgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCBvZiB0YXJnZXRzOiBUaGVcbiAgb2JqZWN0IG11c3QgYmUgYW4gaXRlcmFibGUgd2l0aCB0aGUgc2FtZSBudW1iZXIgb2YgaXRlbXMgYXMgdGhlcmVcbiAgYXJlIHRhcmdldHMgaW4gdGhlIHRhcmdldCBsaXN0LCBhbmQgdGhlIGl0ZW1zIGFyZSBhc3NpZ25lZCwgZnJvbVxuICBsZWZ0IHRvIHJpZ2h0LCB0byB0aGUgY29ycmVzcG9uZGluZyB0YXJnZXRzLlxuXG4gICogSWYgdGhlIHRhcmdldCBsaXN0IGNvbnRhaW5zIG9uZSB0YXJnZXQgcHJlZml4ZWQgd2l0aCBhblxuICAgIGFzdGVyaXNrLCBjYWxsZWQgYSAic3RhcnJlZCIgdGFyZ2V0OiBUaGUgb2JqZWN0IG11c3QgYmUgYSBzZXF1ZW5jZVxuICAgIHdpdGggYXQgbGVhc3QgYXMgbWFueSBpdGVtcyBhcyB0aGVyZSBhcmUgdGFyZ2V0cyBpbiB0aGUgdGFyZ2V0XG4gICAgbGlzdCwgbWludXMgb25lLiAgVGhlIGZpcnN0IGl0ZW1zIG9mIHRoZSBzZXF1ZW5jZSBhcmUgYXNzaWduZWQsXG4gICAgZnJvbSBsZWZ0IHRvIHJpZ2h0LCB0byB0aGUgdGFyZ2V0cyBiZWZvcmUgdGhlIHN0YXJyZWQgdGFyZ2V0LiAgVGhlXG4gICAgZmluYWwgaXRlbXMgb2YgdGhlIHNlcXVlbmNlIGFyZSBhc3NpZ25lZCB0byB0aGUgdGFyZ2V0cyBhZnRlciB0aGVcbiAgICBzdGFycmVkIHRhcmdldC4gIEEgbGlzdCBvZiB0aGUgcmVtYWluaW5nIGl0ZW1zIGluIHRoZSBzZXF1ZW5jZSBpc1xuICAgIHRoZW4gYXNzaWduZWQgdG8gdGhlIHN0YXJyZWQgdGFyZ2V0ICh0aGUgbGlzdCBjYW4gYmUgZW1wdHkpLlxuXG4gICogRWxzZTogVGhlIG9iamVjdCBtdXN0IGJlIGEgc2VxdWVuY2Ugd2l0aCB0aGUgc2FtZSBudW1iZXIgb2ZcbiAgICBpdGVtcyBhcyB0aGVyZSBhcmUgdGFyZ2V0cyBpbiB0aGUgdGFyZ2V0IGxpc3QsIGFuZCB0aGUgaXRlbXMgYXJlXG4gICAgYXNzaWduZWQsIGZyb20gbGVmdCB0byByaWdodCwgdG8gdGhlIGNvcnJlc3BvbmRpbmcgdGFyZ2V0cy5cblxuQXNzaWdubWVudCBvZiBhbiBvYmplY3QgdG8gYSBzaW5nbGUgdGFyZ2V0IGlzIHJlY3Vyc2l2ZWx5IGRlZmluZWQgYXNcbmZvbGxvd3MuXG5cbiogSWYgdGhlIHRhcmdldCBpcyBhbiBpZGVudGlmaWVyIChuYW1lKTpcblxuICAqIElmIHRoZSBuYW1lIGRvZXMgbm90IG9jY3VyIGluIGEgImdsb2JhbCIgb3IgIm5vbmxvY2FsIiBzdGF0ZW1lbnRcbiAgICBpbiB0aGUgY3VycmVudCBjb2RlIGJsb2NrOiB0aGUgbmFtZSBpcyBib3VuZCB0byB0aGUgb2JqZWN0IGluIHRoZVxuICAgIGN1cnJlbnQgbG9jYWwgbmFtZXNwYWNlLlxuXG4gICogT3RoZXJ3aXNlOiB0aGUgbmFtZSBpcyBib3VuZCB0byB0aGUgb2JqZWN0IGluIHRoZSBnbG9iYWxcbiAgICBuYW1lc3BhY2Ugb3IgdGhlIG91dGVyIG5hbWVzcGFjZSBkZXRlcm1pbmVkIGJ5ICJub25sb2NhbCIsXG4gICAgcmVzcGVjdGl2ZWx5LlxuXG4gIFRoZSBuYW1lIGlzIHJlYm91bmQgaWYgaXQgd2FzIGFscmVhZHkgYm91bmQuICBUaGlzIG1heSBjYXVzZSB0aGVcbiAgcmVmZXJlbmNlIGNvdW50IGZvciB0aGUgb2JqZWN0IHByZXZpb3VzbHkgYm91bmQgdG8gdGhlIG5hbWUgdG8gcmVhY2hcbiAgemVybywgY2F1c2luZyB0aGUgb2JqZWN0IHRvIGJlIGRlYWxsb2NhdGVkIGFuZCBpdHMgZGVzdHJ1Y3RvciAoaWYgaXRcbiAgaGFzIG9uZSkgdG8gYmUgY2FsbGVkLlxuXG4qIElmIHRoZSB0YXJnZXQgaXMgYSB0YXJnZXQgbGlzdCBlbmNsb3NlZCBpbiBwYXJlbnRoZXNlcyBvciBpblxuICBzcXVhcmUgYnJhY2tldHM6IFRoZSBvYmplY3QgbXVzdCBiZSBhbiBpdGVyYWJsZSB3aXRoIHRoZSBzYW1lIG51bWJlclxuICBvZiBpdGVtcyBhcyB0aGVyZSBhcmUgdGFyZ2V0cyBpbiB0aGUgdGFyZ2V0IGxpc3QsIGFuZCBpdHMgaXRlbXMgYXJlXG4gIGFzc2lnbmVkLCBmcm9tIGxlZnQgdG8gcmlnaHQsIHRvIHRoZSBjb3JyZXNwb25kaW5nIHRhcmdldHMuXG5cbiogSWYgdGhlIHRhcmdldCBpcyBhbiBhdHRyaWJ1dGUgcmVmZXJlbmNlOiBUaGUgcHJpbWFyeSBleHByZXNzaW9uIGluXG4gIHRoZSByZWZlcmVuY2UgaXMgZXZhbHVhdGVkLiAgSXQgc2hvdWxkIHlpZWxkIGFuIG9iamVjdCB3aXRoXG4gIGFzc2lnbmFibGUgYXR0cmlidXRlczsgaWYgdGhpcyBpcyBub3QgdGhlIGNhc2UsICJUeXBlRXJyb3IiIGlzXG4gIHJhaXNlZC4gIFRoYXQgb2JqZWN0IGlzIHRoZW4gYXNrZWQgdG8gYXNzaWduIHRoZSBhc3NpZ25lZCBvYmplY3QgdG9cbiAgdGhlIGdpdmVuIGF0dHJpYnV0ZTsgaWYgaXQgY2Fubm90IHBlcmZvcm0gdGhlIGFzc2lnbm1lbnQsIGl0IHJhaXNlc1xuICBhbiBleGNlcHRpb24gKHVzdWFsbHkgYnV0IG5vdCBuZWNlc3NhcmlseSAiQXR0cmlidXRlRXJyb3IiKS5cblxuICBOb3RlOiBJZiB0aGUgb2JqZWN0IGlzIGEgY2xhc3MgaW5zdGFuY2UgYW5kIHRoZSBhdHRyaWJ1dGUgcmVmZXJlbmNlXG4gIG9jY3VycyBvbiBib3RoIHNpZGVzIG9mIHRoZSBhc3NpZ25tZW50IG9wZXJhdG9yLCB0aGUgUkhTIGV4cHJlc3Npb24sXG4gICJhLngiIGNhbiBhY2Nlc3MgZWl0aGVyIGFuIGluc3RhbmNlIGF0dHJpYnV0ZSBvciAoaWYgbm8gaW5zdGFuY2VcbiAgYXR0cmlidXRlIGV4aXN0cykgYSBjbGFzcyBhdHRyaWJ1dGUuICBUaGUgTEhTIHRhcmdldCAiYS54IiBpcyBhbHdheXNcbiAgc2V0IGFzIGFuIGluc3RhbmNlIGF0dHJpYnV0ZSwgY3JlYXRpbmcgaXQgaWYgbmVjZXNzYXJ5LiAgVGh1cywgdGhlXG4gIHR3byBvY2N1cnJlbmNlcyBvZiAiYS54IiBkbyBub3QgbmVjZXNzYXJpbHkgcmVmZXIgdG8gdGhlIHNhbWVcbiAgYXR0cmlidXRlOiBpZiB0aGUgUkhTIGV4cHJlc3Npb24gcmVmZXJzIHRvIGEgY2xhc3MgYXR0cmlidXRlLCB0aGVcbiAgTEhTIGNyZWF0ZXMgYSBuZXcgaW5zdGFuY2UgYXR0cmlidXRlIGFzIHRoZSB0YXJnZXQgb2YgdGhlXG4gIGFzc2lnbm1lbnQ6XG5cbiAgICAgY2xhc3MgQ2xzOlxuICAgICAgICAgeCA9IDMgICAgICAgICAgICAgIyBjbGFzcyB2YXJpYWJsZVxuICAgICBpbnN0ID0gQ2xzKClcbiAgICAgaW5zdC54ID0gaW5zdC54ICsgMSAgICMgd3JpdGVzIGluc3QueCBhcyA0IGxlYXZpbmcgQ2xzLnggYXMgM1xuXG4gIFRoaXMgZGVzY3JpcHRpb24gZG9lcyBub3QgbmVjZXNzYXJpbHkgYXBwbHkgdG8gZGVzY3JpcHRvclxuICBhdHRyaWJ1dGVzLCBzdWNoIGFzIHByb3BlcnRpZXMgY3JlYXRlZCB3aXRoICJwcm9wZXJ0eSgpIi5cblxuKiBJZiB0aGUgdGFyZ2V0IGlzIGEgc3Vic2NyaXB0aW9uOiBUaGUgcHJpbWFyeSBleHByZXNzaW9uIGluIHRoZVxuICByZWZlcmVuY2UgaXMgZXZhbHVhdGVkLiAgSXQgc2hvdWxkIHlpZWxkIGVpdGhlciBhIG11dGFibGUgc2VxdWVuY2VcbiAgb2JqZWN0IChzdWNoIGFzIGEgbGlzdCkgb3IgYSBtYXBwaW5nIG9iamVjdCAoc3VjaCBhcyBhIGRpY3Rpb25hcnkpLlxuICBOZXh0LCB0aGUgc3Vic2NyaXB0IGV4cHJlc3Npb24gaXMgZXZhbHVhdGVkLlxuXG4gIElmIHRoZSBwcmltYXJ5IGlzIGEgbXV0YWJsZSBzZXF1ZW5jZSBvYmplY3QgKHN1Y2ggYXMgYSBsaXN0KSwgdGhlXG4gIHN1YnNjcmlwdCBtdXN0IHlpZWxkIGFuIGludGVnZXIuICBJZiBpdCBpcyBuZWdhdGl2ZSwgdGhlIHNlcXVlbmNlXCdzXG4gIGxlbmd0aCBpcyBhZGRlZCB0byBpdC4gIFRoZSByZXN1bHRpbmcgdmFsdWUgbXVzdCBiZSBhIG5vbm5lZ2F0aXZlXG4gIGludGVnZXIgbGVzcyB0aGFuIHRoZSBzZXF1ZW5jZVwncyBsZW5ndGgsIGFuZCB0aGUgc2VxdWVuY2UgaXMgYXNrZWRcbiAgdG8gYXNzaWduIHRoZSBhc3NpZ25lZCBvYmplY3QgdG8gaXRzIGl0ZW0gd2l0aCB0aGF0IGluZGV4LiAgSWYgdGhlXG4gIGluZGV4IGlzIG91dCBvZiByYW5nZSwgIkluZGV4RXJyb3IiIGlzIHJhaXNlZCAoYXNzaWdubWVudCB0byBhXG4gIHN1YnNjcmlwdGVkIHNlcXVlbmNlIGNhbm5vdCBhZGQgbmV3IGl0ZW1zIHRvIGEgbGlzdCkuXG5cbiAgSWYgdGhlIHByaW1hcnkgaXMgYSBtYXBwaW5nIG9iamVjdCAoc3VjaCBhcyBhIGRpY3Rpb25hcnkpLCB0aGVcbiAgc3Vic2NyaXB0IG11c3QgaGF2ZSBhIHR5cGUgY29tcGF0aWJsZSB3aXRoIHRoZSBtYXBwaW5nXCdzIGtleSB0eXBlLFxuICBhbmQgdGhlIG1hcHBpbmcgaXMgdGhlbiBhc2tlZCB0byBjcmVhdGUgYSBrZXkvZGF0dW0gcGFpciB3aGljaCBtYXBzXG4gIHRoZSBzdWJzY3JpcHQgdG8gdGhlIGFzc2lnbmVkIG9iamVjdC4gIFRoaXMgY2FuIGVpdGhlciByZXBsYWNlIGFuXG4gIGV4aXN0aW5nIGtleS92YWx1ZSBwYWlyIHdpdGggdGhlIHNhbWUga2V5IHZhbHVlLCBvciBpbnNlcnQgYSBuZXdcbiAga2V5L3ZhbHVlIHBhaXIgKGlmIG5vIGtleSB3aXRoIHRoZSBzYW1lIHZhbHVlIGV4aXN0ZWQpLlxuXG4gIEZvciB1c2VyLWRlZmluZWQgb2JqZWN0cywgdGhlICJfX3NldGl0ZW1fXygpIiBtZXRob2QgaXMgY2FsbGVkIHdpdGhcbiAgYXBwcm9wcmlhdGUgYXJndW1lbnRzLlxuXG4qIElmIHRoZSB0YXJnZXQgaXMgYSBzbGljaW5nOiBUaGUgcHJpbWFyeSBleHByZXNzaW9uIGluIHRoZVxuICByZWZlcmVuY2UgaXMgZXZhbHVhdGVkLiAgSXQgc2hvdWxkIHlpZWxkIGEgbXV0YWJsZSBzZXF1ZW5jZSBvYmplY3RcbiAgKHN1Y2ggYXMgYSBsaXN0KS4gIFRoZSBhc3NpZ25lZCBvYmplY3Qgc2hvdWxkIGJlIGEgc2VxdWVuY2Ugb2JqZWN0XG4gIG9mIHRoZSBzYW1lIHR5cGUuICBOZXh0LCB0aGUgbG93ZXIgYW5kIHVwcGVyIGJvdW5kIGV4cHJlc3Npb25zIGFyZVxuICBldmFsdWF0ZWQsIGluc29mYXIgdGhleSBhcmUgcHJlc2VudDsgZGVmYXVsdHMgYXJlIHplcm8gYW5kIHRoZVxuICBzZXF1ZW5jZVwncyBsZW5ndGguICBUaGUgYm91bmRzIHNob3VsZCBldmFsdWF0ZSB0byBpbnRlZ2Vycy4gSWZcbiAgZWl0aGVyIGJvdW5kIGlzIG5lZ2F0aXZlLCB0aGUgc2VxdWVuY2VcJ3MgbGVuZ3RoIGlzIGFkZGVkIHRvIGl0LiAgVGhlXG4gIHJlc3VsdGluZyBib3VuZHMgYXJlIGNsaXBwZWQgdG8gbGllIGJldHdlZW4gemVybyBhbmQgdGhlIHNlcXVlbmNlXCdzXG4gIGxlbmd0aCwgaW5jbHVzaXZlLiAgRmluYWxseSwgdGhlIHNlcXVlbmNlIG9iamVjdCBpcyBhc2tlZCB0byByZXBsYWNlXG4gIHRoZSBzbGljZSB3aXRoIHRoZSBpdGVtcyBvZiB0aGUgYXNzaWduZWQgc2VxdWVuY2UuICBUaGUgbGVuZ3RoIG9mXG4gIHRoZSBzbGljZSBtYXkgYmUgZGlmZmVyZW50IGZyb20gdGhlIGxlbmd0aCBvZiB0aGUgYXNzaWduZWQgc2VxdWVuY2UsXG4gIHRodXMgY2hhbmdpbmcgdGhlIGxlbmd0aCBvZiB0aGUgdGFyZ2V0IHNlcXVlbmNlLCBpZiB0aGUgdGFyZ2V0XG4gIHNlcXVlbmNlIGFsbG93cyBpdC5cblxuKipDUHl0aG9uIGltcGxlbWVudGF0aW9uIGRldGFpbDoqKiBJbiB0aGUgY3VycmVudCBpbXBsZW1lbnRhdGlvbiwgdGhlXG5zeW50YXggZm9yIHRhcmdldHMgaXMgdGFrZW4gdG8gYmUgdGhlIHNhbWUgYXMgZm9yIGV4cHJlc3Npb25zLCBhbmRcbmludmFsaWQgc3ludGF4IGlzIHJlamVjdGVkIGR1cmluZyB0aGUgY29kZSBnZW5lcmF0aW9uIHBoYXNlLCBjYXVzaW5nXG5sZXNzIGRldGFpbGVkIGVycm9yIG1lc3NhZ2VzLlxuXG5BbHRob3VnaCB0aGUgZGVmaW5pdGlvbiBvZiBhc3NpZ25tZW50IGltcGxpZXMgdGhhdCBvdmVybGFwcyBiZXR3ZWVuXG50aGUgbGVmdC1oYW5kIHNpZGUgYW5kIHRoZSByaWdodC1oYW5kIHNpZGUgYXJlIFwnc2ltdWx0YW5lbm91c1wnIChmb3JcbmV4YW1wbGUgImEsIGIgPSBiLCBhIiBzd2FwcyB0d28gdmFyaWFibGVzKSwgb3ZlcmxhcHMgKndpdGhpbiogdGhlXG5jb2xsZWN0aW9uIG9mIGFzc2lnbmVkLXRvIHZhcmlhYmxlcyBvY2N1ciBsZWZ0LXRvLXJpZ2h0LCBzb21ldGltZXNcbnJlc3VsdGluZyBpbiBjb25mdXNpb24uICBGb3IgaW5zdGFuY2UsIHRoZSBmb2xsb3dpbmcgcHJvZ3JhbSBwcmludHNcbiJbMCwgMl0iOlxuXG4gICB4ID0gWzAsIDFdXG4gICBpID0gMFxuICAgaSwgeFtpXSA9IDEsIDIgICAgICAgICAjIGkgaXMgdXBkYXRlZCwgdGhlbiB4W2ldIGlzIHVwZGF0ZWRcbiAgIHByaW50KHgpXG5cblNlZSBhbHNvOiAqKlBFUCAzMTMyKiogLSBFeHRlbmRlZCBJdGVyYWJsZSBVbnBhY2tpbmdcblxuICAgICBUaGUgc3BlY2lmaWNhdGlvbiBmb3IgdGhlICIqdGFyZ2V0IiBmZWF0dXJlLlxuXG5cbkF1Z21lbnRlZCBhc3NpZ25tZW50IHN0YXRlbWVudHNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQXVnbWVudGVkIGFzc2lnbm1lbnQgaXMgdGhlIGNvbWJpbmF0aW9uLCBpbiBhIHNpbmdsZSBzdGF0ZW1lbnQsIG9mIGFcbmJpbmFyeSBvcGVyYXRpb24gYW5kIGFuIGFzc2lnbm1lbnQgc3RhdGVtZW50OlxuXG4gICBhdWdtZW50ZWRfYXNzaWdubWVudF9zdG10IDo6PSBhdWd0YXJnZXQgYXVnb3AgKGV4cHJlc3Npb25fbGlzdCB8IHlpZWxkX2V4cHJlc3Npb24pXG4gICBhdWd0YXJnZXQgICAgICAgICAgICAgICAgIDo6PSBpZGVudGlmaWVyIHwgYXR0cmlidXRlcmVmIHwgc3Vic2NyaXB0aW9uIHwgc2xpY2luZ1xuICAgYXVnb3AgICAgICAgICAgICAgICAgICAgICA6Oj0gIis9IiB8ICItPSIgfCAiKj0iIHwgIkA9IiB8ICIvPSIgfCAiLy89IiB8ICIlPSIgfCAiKio9IlxuICAgICAgICAgICAgIHwgIj4+PSIgfCAiPDw9IiB8ICImPSIgfCAiXj0iIHwgInw9IlxuXG4oU2VlIHNlY3Rpb24gKlByaW1hcmllcyogZm9yIHRoZSBzeW50YXggZGVmaW5pdGlvbnMgb2YgdGhlIGxhc3QgdGhyZWVcbnN5bWJvbHMuKVxuXG5BbiBhdWdtZW50ZWQgYXNzaWdubWVudCBldmFsdWF0ZXMgdGhlIHRhcmdldCAod2hpY2gsIHVubGlrZSBub3JtYWxcbmFzc2lnbm1lbnQgc3RhdGVtZW50cywgY2Fubm90IGJlIGFuIHVucGFja2luZykgYW5kIHRoZSBleHByZXNzaW9uXG5saXN0LCBwZXJmb3JtcyB0aGUgYmluYXJ5IG9wZXJhdGlvbiBzcGVjaWZpYyB0byB0aGUgdHlwZSBvZiBhc3NpZ25tZW50XG5vbiB0aGUgdHdvIG9wZXJhbmRzLCBhbmQgYXNzaWducyB0aGUgcmVzdWx0IHRvIHRoZSBvcmlnaW5hbCB0YXJnZXQuXG5UaGUgdGFyZ2V0IGlzIG9ubHkgZXZhbHVhdGVkIG9uY2UuXG5cbkFuIGF1Z21lbnRlZCBhc3NpZ25tZW50IGV4cHJlc3Npb24gbGlrZSAieCArPSAxIiBjYW4gYmUgcmV3cml0dGVuIGFzXG4ieCA9IHggKyAxIiB0byBhY2hpZXZlIGEgc2ltaWxhciwgYnV0IG5vdCBleGFjdGx5IGVxdWFsIGVmZmVjdC4gSW4gdGhlXG5hdWdtZW50ZWQgdmVyc2lvbiwgIngiIGlzIG9ubHkgZXZhbHVhdGVkIG9uY2UuIEFsc28sIHdoZW4gcG9zc2libGUsXG50aGUgYWN0dWFsIG9wZXJhdGlvbiBpcyBwZXJmb3JtZWQgKmluLXBsYWNlKiwgbWVhbmluZyB0aGF0IHJhdGhlciB0aGFuXG5jcmVhdGluZyBhIG5ldyBvYmplY3QgYW5kIGFzc2lnbmluZyB0aGF0IHRvIHRoZSB0YXJnZXQsIHRoZSBvbGQgb2JqZWN0XG5pcyBtb2RpZmllZCBpbnN0ZWFkLlxuXG5Vbmxpa2Ugbm9ybWFsIGFzc2lnbm1lbnRzLCBhdWdtZW50ZWQgYXNzaWdubWVudHMgZXZhbHVhdGUgdGhlIGxlZnQtXG5oYW5kIHNpZGUgKmJlZm9yZSogZXZhbHVhdGluZyB0aGUgcmlnaHQtaGFuZCBzaWRlLiAgRm9yIGV4YW1wbGUsICJhW2ldXG4rPSBmKHgpIiBmaXJzdCBsb29rcy11cCAiYVtpXSIsIHRoZW4gaXQgZXZhbHVhdGVzICJmKHgpIiBhbmQgcGVyZm9ybXNcbnRoZSBhZGRpdGlvbiwgYW5kIGxhc3RseSwgaXQgd3JpdGVzIHRoZSByZXN1bHQgYmFjayB0byAiYVtpXSIuXG5cbldpdGggdGhlIGV4Y2VwdGlvbiBvZiBhc3NpZ25pbmcgdG8gdHVwbGVzIGFuZCBtdWx0aXBsZSB0YXJnZXRzIGluIGFcbnNpbmdsZSBzdGF0ZW1lbnQsIHRoZSBhc3NpZ25tZW50IGRvbmUgYnkgYXVnbWVudGVkIGFzc2lnbm1lbnRcbnN0YXRlbWVudHMgaXMgaGFuZGxlZCB0aGUgc2FtZSB3YXkgYXMgbm9ybWFsIGFzc2lnbm1lbnRzLiBTaW1pbGFybHksXG53aXRoIHRoZSBleGNlcHRpb24gb2YgdGhlIHBvc3NpYmxlICppbi1wbGFjZSogYmVoYXZpb3IsIHRoZSBiaW5hcnlcbm9wZXJhdGlvbiBwZXJmb3JtZWQgYnkgYXVnbWVudGVkIGFzc2lnbm1lbnQgaXMgdGhlIHNhbWUgYXMgdGhlIG5vcm1hbFxuYmluYXJ5IG9wZXJhdGlvbnMuXG5cbkZvciB0YXJnZXRzIHdoaWNoIGFyZSBhdHRyaWJ1dGUgcmVmZXJlbmNlcywgdGhlIHNhbWUgKmNhdmVhdCBhYm91dFxuY2xhc3MgYW5kIGluc3RhbmNlIGF0dHJpYnV0ZXMqIGFwcGxpZXMgYXMgZm9yIHJlZ3VsYXIgYXNzaWdubWVudHMuXG4nLAogICdhdG9tLWlkZW50aWZpZXJzJzogdSdcbklkZW50aWZpZXJzIChOYW1lcylcbioqKioqKioqKioqKioqKioqKipcblxuQW4gaWRlbnRpZmllciBvY2N1cnJpbmcgYXMgYW4gYXRvbSBpcyBhIG5hbWUuICBTZWUgc2VjdGlvblxuKklkZW50aWZpZXJzIGFuZCBrZXl3b3JkcyogZm9yIGxleGljYWwgZGVmaW5pdGlvbiBhbmQgc2VjdGlvbiAqTmFtaW5nXG5hbmQgYmluZGluZyogZm9yIGRvY3VtZW50YXRpb24gb2YgbmFtaW5nIGFuZCBiaW5kaW5nLlxuXG5XaGVuIHRoZSBuYW1lIGlzIGJvdW5kIHRvIGFuIG9iamVjdCwgZXZhbHVhdGlvbiBvZiB0aGUgYXRvbSB5aWVsZHNcbnRoYXQgb2JqZWN0LiBXaGVuIGEgbmFtZSBpcyBub3QgYm91bmQsIGFuIGF0dGVtcHQgdG8gZXZhbHVhdGUgaXRcbnJhaXNlcyBhICJOYW1lRXJyb3IiIGV4Y2VwdGlvbi5cblxuKipQcml2YXRlIG5hbWUgbWFuZ2xpbmc6KiogV2hlbiBhbiBpZGVudGlmaWVyIHRoYXQgdGV4dHVhbGx5IG9jY3VycyBpblxuYSBjbGFzcyBkZWZpbml0aW9uIGJlZ2lucyB3aXRoIHR3byBvciBtb3JlIHVuZGVyc2NvcmUgY2hhcmFjdGVycyBhbmRcbmRvZXMgbm90IGVuZCBpbiB0d28gb3IgbW9yZSB1bmRlcnNjb3JlcywgaXQgaXMgY29uc2lkZXJlZCBhICpwcml2YXRlXG5uYW1lKiBvZiB0aGF0IGNsYXNzLiBQcml2YXRlIG5hbWVzIGFyZSB0cmFuc2Zvcm1lZCB0byBhIGxvbmdlciBmb3JtXG5iZWZvcmUgY29kZSBpcyBnZW5lcmF0ZWQgZm9yIHRoZW0uICBUaGUgdHJhbnNmb3JtYXRpb24gaW5zZXJ0cyB0aGVcbmNsYXNzIG5hbWUsIHdpdGggbGVhZGluZyB1bmRlcnNjb3JlcyByZW1vdmVkIGFuZCBhIHNpbmdsZSB1bmRlcnNjb3JlXG5pbnNlcnRlZCwgaW4gZnJvbnQgb2YgdGhlIG5hbWUuICBGb3IgZXhhbXBsZSwgdGhlIGlkZW50aWZpZXIgIl9fc3BhbSJcbm9jY3VycmluZyBpbiBhIGNsYXNzIG5hbWVkICJIYW0iIHdpbGwgYmUgdHJhbnNmb3JtZWQgdG8gIl9IYW1fX3NwYW0iLlxuVGhpcyB0cmFuc2Zvcm1hdGlvbiBpcyBpbmRlcGVuZGVudCBvZiB0aGUgc3ludGFjdGljYWwgY29udGV4dCBpbiB3aGljaFxudGhlIGlkZW50aWZpZXIgaXMgdXNlZC4gIElmIHRoZSB0cmFuc2Zvcm1lZCBuYW1lIGlzIGV4dHJlbWVseSBsb25nXG4obG9uZ2VyIHRoYW4gMjU1IGNoYXJhY3RlcnMpLCBpbXBsZW1lbnRhdGlvbiBkZWZpbmVkIHRydW5jYXRpb24gbWF5XG5oYXBwZW4uIElmIHRoZSBjbGFzcyBuYW1lIGNvbnNpc3RzIG9ubHkgb2YgdW5kZXJzY29yZXMsIG5vXG50cmFuc2Zvcm1hdGlvbiBpcyBkb25lLlxuJywKICAnYXRvbS1saXRlcmFscyc6IHUiXG5MaXRlcmFsc1xuKioqKioqKipcblxuUHl0aG9uIHN1cHBvcnRzIHN0cmluZyBhbmQgYnl0ZXMgbGl0ZXJhbHMgYW5kIHZhcmlvdXMgbnVtZXJpY1xubGl0ZXJhbHM6XG5cbiAgIGxpdGVyYWwgOjo9IHN0cmluZ2xpdGVyYWwgfCBieXRlc2xpdGVyYWxcbiAgICAgICAgICAgICAgIHwgaW50ZWdlciB8IGZsb2F0bnVtYmVyIHwgaW1hZ251bWJlclxuXG5FdmFsdWF0aW9uIG9mIGEgbGl0ZXJhbCB5aWVsZHMgYW4gb2JqZWN0IG9mIHRoZSBnaXZlbiB0eXBlIChzdHJpbmcsXG5ieXRlcywgaW50ZWdlciwgZmxvYXRpbmcgcG9pbnQgbnVtYmVyLCBjb21wbGV4IG51bWJlcikgd2l0aCB0aGUgZ2l2ZW5cbnZhbHVlLiAgVGhlIHZhbHVlIG1heSBiZSBhcHByb3hpbWF0ZWQgaW4gdGhlIGNhc2Ugb2YgZmxvYXRpbmcgcG9pbnRcbmFuZCBpbWFnaW5hcnkgKGNvbXBsZXgpIGxpdGVyYWxzLiAgU2VlIHNlY3Rpb24gKkxpdGVyYWxzKiBmb3IgZGV0YWlscy5cblxuQWxsIGxpdGVyYWxzIGNvcnJlc3BvbmQgdG8gaW1tdXRhYmxlIGRhdGEgdHlwZXMsIGFuZCBoZW5jZSB0aGVcbm9iamVjdCdzIGlkZW50aXR5IGlzIGxlc3MgaW1wb3J0YW50IHRoYW4gaXRzIHZhbHVlLiAgTXVsdGlwbGVcbmV2YWx1YXRpb25zIG9mIGxpdGVyYWxzIHdpdGggdGhlIHNhbWUgdmFsdWUgKGVpdGhlciB0aGUgc2FtZVxub2NjdXJyZW5jZSBpbiB0aGUgcHJvZ3JhbSB0ZXh0IG9yIGEgZGlmZmVyZW50IG9jY3VycmVuY2UpIG1heSBvYnRhaW5cbnRoZSBzYW1lIG9iamVjdCBvciBhIGRpZmZlcmVudCBvYmplY3Qgd2l0aCB0aGUgc2FtZSB2YWx1ZS5cbiIsCiAgJ2F0dHJpYnV0ZS1hY2Nlc3MnOiB1J1xuQ3VzdG9taXppbmcgYXR0cmlidXRlIGFjY2Vzc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuXG5UaGUgZm9sbG93aW5nIG1ldGhvZHMgY2FuIGJlIGRlZmluZWQgdG8gY3VzdG9taXplIHRoZSBtZWFuaW5nIG9mXG5hdHRyaWJ1dGUgYWNjZXNzICh1c2Ugb2YsIGFzc2lnbm1lbnQgdG8sIG9yIGRlbGV0aW9uIG9mICJ4Lm5hbWUiKSBmb3JcbmNsYXNzIGluc3RhbmNlcy5cblxub2JqZWN0Ll9fZ2V0YXR0cl9fKHNlbGYsIG5hbWUpXG5cbiAgIENhbGxlZCB3aGVuIGFuIGF0dHJpYnV0ZSBsb29rdXAgaGFzIG5vdCBmb3VuZCB0aGUgYXR0cmlidXRlIGluIHRoZVxuICAgdXN1YWwgcGxhY2VzIChpLmUuIGl0IGlzIG5vdCBhbiBpbnN0YW5jZSBhdHRyaWJ1dGUgbm9yIGlzIGl0IGZvdW5kXG4gICBpbiB0aGUgY2xhc3MgdHJlZSBmb3IgInNlbGYiKS4gICJuYW1lIiBpcyB0aGUgYXR0cmlidXRlIG5hbWUuIFRoaXNcbiAgIG1ldGhvZCBzaG91bGQgcmV0dXJuIHRoZSAoY29tcHV0ZWQpIGF0dHJpYnV0ZSB2YWx1ZSBvciByYWlzZSBhblxuICAgIkF0dHJpYnV0ZUVycm9yIiBleGNlcHRpb24uXG5cbiAgIE5vdGUgdGhhdCBpZiB0aGUgYXR0cmlidXRlIGlzIGZvdW5kIHRocm91Z2ggdGhlIG5vcm1hbCBtZWNoYW5pc20sXG4gICAiX19nZXRhdHRyX18oKSIgaXMgbm90IGNhbGxlZC4gIChUaGlzIGlzIGFuIGludGVudGlvbmFsIGFzeW1tZXRyeVxuICAgYmV0d2VlbiAiX19nZXRhdHRyX18oKSIgYW5kICJfX3NldGF0dHJfXygpIi4pIFRoaXMgaXMgZG9uZSBib3RoIGZvclxuICAgZWZmaWNpZW5jeSByZWFzb25zIGFuZCBiZWNhdXNlIG90aGVyd2lzZSAiX19nZXRhdHRyX18oKSIgd291bGQgaGF2ZVxuICAgbm8gd2F5IHRvIGFjY2VzcyBvdGhlciBhdHRyaWJ1dGVzIG9mIHRoZSBpbnN0YW5jZS4gIE5vdGUgdGhhdCBhdFxuICAgbGVhc3QgZm9yIGluc3RhbmNlIHZhcmlhYmxlcywgeW91IGNhbiBmYWtlIHRvdGFsIGNvbnRyb2wgYnkgbm90XG4gICBpbnNlcnRpbmcgYW55IHZhbHVlcyBpbiB0aGUgaW5zdGFuY2UgYXR0cmlidXRlIGRpY3Rpb25hcnkgKGJ1dFxuICAgaW5zdGVhZCBpbnNlcnRpbmcgdGhlbSBpbiBhbm90aGVyIG9iamVjdCkuICBTZWUgdGhlXG4gICAiX19nZXRhdHRyaWJ1dGVfXygpIiBtZXRob2QgYmVsb3cgZm9yIGEgd2F5IHRvIGFjdHVhbGx5IGdldCB0b3RhbFxuICAgY29udHJvbCBvdmVyIGF0dHJpYnV0ZSBhY2Nlc3MuXG5cbm9iamVjdC5fX2dldGF0dHJpYnV0ZV9fKHNlbGYsIG5hbWUpXG5cbiAgIENhbGxlZCB1bmNvbmRpdGlvbmFsbHkgdG8gaW1wbGVtZW50IGF0dHJpYnV0ZSBhY2Nlc3NlcyBmb3JcbiAgIGluc3RhbmNlcyBvZiB0aGUgY2xhc3MuIElmIHRoZSBjbGFzcyBhbHNvIGRlZmluZXMgIl9fZ2V0YXR0cl9fKCkiLFxuICAgdGhlIGxhdHRlciB3aWxsIG5vdCBiZSBjYWxsZWQgdW5sZXNzICJfX2dldGF0dHJpYnV0ZV9fKCkiIGVpdGhlclxuICAgY2FsbHMgaXQgZXhwbGljaXRseSBvciByYWlzZXMgYW4gIkF0dHJpYnV0ZUVycm9yIi4gVGhpcyBtZXRob2RcbiAgIHNob3VsZCByZXR1cm4gdGhlIChjb21wdXRlZCkgYXR0cmlidXRlIHZhbHVlIG9yIHJhaXNlIGFuXG4gICAiQXR0cmlidXRlRXJyb3IiIGV4Y2VwdGlvbi4gSW4gb3JkZXIgdG8gYXZvaWQgaW5maW5pdGUgcmVjdXJzaW9uIGluXG4gICB0aGlzIG1ldGhvZCwgaXRzIGltcGxlbWVudGF0aW9uIHNob3VsZCBhbHdheXMgY2FsbCB0aGUgYmFzZSBjbGFzc1xuICAgbWV0aG9kIHdpdGggdGhlIHNhbWUgbmFtZSB0byBhY2Nlc3MgYW55IGF0dHJpYnV0ZXMgaXQgbmVlZHMsIGZvclxuICAgZXhhbXBsZSwgIm9iamVjdC5fX2dldGF0dHJpYnV0ZV9fKHNlbGYsIG5hbWUpIi5cblxuICAgTm90ZTogVGhpcyBtZXRob2QgbWF5IHN0aWxsIGJlIGJ5cGFzc2VkIHdoZW4gbG9va2luZyB1cCBzcGVjaWFsXG4gICAgIG1ldGhvZHMgYXMgdGhlIHJlc3VsdCBvZiBpbXBsaWNpdCBpbnZvY2F0aW9uIHZpYSBsYW5ndWFnZSBzeW50YXhcbiAgICAgb3IgYnVpbHQtaW4gZnVuY3Rpb25zLiBTZWUgKlNwZWNpYWwgbWV0aG9kIGxvb2t1cCouXG5cbm9iamVjdC5fX3NldGF0dHJfXyhzZWxmLCBuYW1lLCB2YWx1ZSlcblxuICAgQ2FsbGVkIHdoZW4gYW4gYXR0cmlidXRlIGFzc2lnbm1lbnQgaXMgYXR0ZW1wdGVkLiAgVGhpcyBpcyBjYWxsZWRcbiAgIGluc3RlYWQgb2YgdGhlIG5vcm1hbCBtZWNoYW5pc20gKGkuZS4gc3RvcmUgdGhlIHZhbHVlIGluIHRoZVxuICAgaW5zdGFuY2UgZGljdGlvbmFyeSkuICpuYW1lKiBpcyB0aGUgYXR0cmlidXRlIG5hbWUsICp2YWx1ZSogaXMgdGhlXG4gICB2YWx1ZSB0byBiZSBhc3NpZ25lZCB0byBpdC5cblxuICAgSWYgIl9fc2V0YXR0cl9fKCkiIHdhbnRzIHRvIGFzc2lnbiB0byBhbiBpbnN0YW5jZSBhdHRyaWJ1dGUsIGl0XG4gICBzaG91bGQgY2FsbCB0aGUgYmFzZSBjbGFzcyBtZXRob2Qgd2l0aCB0aGUgc2FtZSBuYW1lLCBmb3IgZXhhbXBsZSxcbiAgICJvYmplY3QuX19zZXRhdHRyX18oc2VsZiwgbmFtZSwgdmFsdWUpIi5cblxub2JqZWN0Ll9fZGVsYXR0cl9fKHNlbGYsIG5hbWUpXG5cbiAgIExpa2UgIl9fc2V0YXR0cl9fKCkiIGJ1dCBmb3IgYXR0cmlidXRlIGRlbGV0aW9uIGluc3RlYWQgb2ZcbiAgIGFzc2lnbm1lbnQuICBUaGlzIHNob3VsZCBvbmx5IGJlIGltcGxlbWVudGVkIGlmICJkZWwgb2JqLm5hbWUiIGlzXG4gICBtZWFuaW5nZnVsIGZvciB0aGUgb2JqZWN0LlxuXG5vYmplY3QuX19kaXJfXyhzZWxmKVxuXG4gICBDYWxsZWQgd2hlbiAiZGlyKCkiIGlzIGNhbGxlZCBvbiB0aGUgb2JqZWN0LiBBIHNlcXVlbmNlIG11c3QgYmVcbiAgIHJldHVybmVkLiAiZGlyKCkiIGNvbnZlcnRzIHRoZSByZXR1cm5lZCBzZXF1ZW5jZSB0byBhIGxpc3QgYW5kXG4gICBzb3J0cyBpdC5cblxuXG5JbXBsZW1lbnRpbmcgRGVzY3JpcHRvcnNcbj09PT09PT09PT09PT09PT09PT09PT09PVxuXG5UaGUgZm9sbG93aW5nIG1ldGhvZHMgb25seSBhcHBseSB3aGVuIGFuIGluc3RhbmNlIG9mIHRoZSBjbGFzc1xuY29udGFpbmluZyB0aGUgbWV0aG9kIChhIHNvLWNhbGxlZCAqZGVzY3JpcHRvciogY2xhc3MpIGFwcGVhcnMgaW4gYW5cbipvd25lciogY2xhc3MgKHRoZSBkZXNjcmlwdG9yIG11c3QgYmUgaW4gZWl0aGVyIHRoZSBvd25lclwncyBjbGFzc1xuZGljdGlvbmFyeSBvciBpbiB0aGUgY2xhc3MgZGljdGlvbmFyeSBmb3Igb25lIG9mIGl0cyBwYXJlbnRzKS4gIEluIHRoZVxuZXhhbXBsZXMgYmVsb3csICJ0aGUgYXR0cmlidXRlIiByZWZlcnMgdG8gdGhlIGF0dHJpYnV0ZSB3aG9zZSBuYW1lIGlzXG50aGUga2V5IG9mIHRoZSBwcm9wZXJ0eSBpbiB0aGUgb3duZXIgY2xhc3NcJyAiX19kaWN0X18iLlxuXG5vYmplY3QuX19nZXRfXyhzZWxmLCBpbnN0YW5jZSwgb3duZXIpXG5cbiAgIENhbGxlZCB0byBnZXQgdGhlIGF0dHJpYnV0ZSBvZiB0aGUgb3duZXIgY2xhc3MgKGNsYXNzIGF0dHJpYnV0ZVxuICAgYWNjZXNzKSBvciBvZiBhbiBpbnN0YW5jZSBvZiB0aGF0IGNsYXNzIChpbnN0YW5jZSBhdHRyaWJ1dGVcbiAgIGFjY2VzcykuICpvd25lciogaXMgYWx3YXlzIHRoZSBvd25lciBjbGFzcywgd2hpbGUgKmluc3RhbmNlKiBpcyB0aGVcbiAgIGluc3RhbmNlIHRoYXQgdGhlIGF0dHJpYnV0ZSB3YXMgYWNjZXNzZWQgdGhyb3VnaCwgb3IgIk5vbmUiIHdoZW5cbiAgIHRoZSBhdHRyaWJ1dGUgaXMgYWNjZXNzZWQgdGhyb3VnaCB0aGUgKm93bmVyKi4gIFRoaXMgbWV0aG9kIHNob3VsZFxuICAgcmV0dXJuIHRoZSAoY29tcHV0ZWQpIGF0dHJpYnV0ZSB2YWx1ZSBvciByYWlzZSBhbiAiQXR0cmlidXRlRXJyb3IiXG4gICBleGNlcHRpb24uXG5cbm9iamVjdC5fX3NldF9fKHNlbGYsIGluc3RhbmNlLCB2YWx1ZSlcblxuICAgQ2FsbGVkIHRvIHNldCB0aGUgYXR0cmlidXRlIG9uIGFuIGluc3RhbmNlICppbnN0YW5jZSogb2YgdGhlIG93bmVyXG4gICBjbGFzcyB0byBhIG5ldyB2YWx1ZSwgKnZhbHVlKi5cblxub2JqZWN0Ll9fZGVsZXRlX18oc2VsZiwgaW5zdGFuY2UpXG5cbiAgIENhbGxlZCB0byBkZWxldGUgdGhlIGF0dHJpYnV0ZSBvbiBhbiBpbnN0YW5jZSAqaW5zdGFuY2UqIG9mIHRoZVxuICAgb3duZXIgY2xhc3MuXG5cblRoZSBhdHRyaWJ1dGUgIl9fb2JqY2xhc3NfXyIgaXMgaW50ZXJwcmV0ZWQgYnkgdGhlICJpbnNwZWN0IiBtb2R1bGUgYXNcbnNwZWNpZnlpbmcgdGhlIGNsYXNzIHdoZXJlIHRoaXMgb2JqZWN0IHdhcyBkZWZpbmVkIChzZXR0aW5nIHRoaXNcbmFwcHJvcHJpYXRlbHkgY2FuIGFzc2lzdCBpbiBydW50aW1lIGludHJvc3BlY3Rpb24gb2YgZHluYW1pYyBjbGFzc1xuYXR0cmlidXRlcykuIEZvciBjYWxsYWJsZXMsIGl0IG1heSBpbmRpY2F0ZSB0aGF0IGFuIGluc3RhbmNlIG9mIHRoZVxuZ2l2ZW4gdHlwZSAob3IgYSBzdWJjbGFzcykgaXMgZXhwZWN0ZWQgb3IgcmVxdWlyZWQgYXMgdGhlIGZpcnN0XG5wb3NpdGlvbmFsIGFyZ3VtZW50IChmb3IgZXhhbXBsZSwgQ1B5dGhvbiBzZXRzIHRoaXMgYXR0cmlidXRlIGZvclxudW5ib3VuZCBtZXRob2RzIHRoYXQgYXJlIGltcGxlbWVudGVkIGluIEMpLlxuXG5cbkludm9raW5nIERlc2NyaXB0b3JzXG49PT09PT09PT09PT09PT09PT09PVxuXG5JbiBnZW5lcmFsLCBhIGRlc2NyaXB0b3IgaXMgYW4gb2JqZWN0IGF0dHJpYnV0ZSB3aXRoICJiaW5kaW5nXG5iZWhhdmlvciIsIG9uZSB3aG9zZSBhdHRyaWJ1dGUgYWNjZXNzIGhhcyBiZWVuIG92ZXJyaWRkZW4gYnkgbWV0aG9kc1xuaW4gdGhlIGRlc2NyaXB0b3IgcHJvdG9jb2w6ICAiX19nZXRfXygpIiwgIl9fc2V0X18oKSIsIGFuZFxuIl9fZGVsZXRlX18oKSIuIElmIGFueSBvZiB0aG9zZSBtZXRob2RzIGFyZSBkZWZpbmVkIGZvciBhbiBvYmplY3QsIGl0XG5pcyBzYWlkIHRvIGJlIGEgZGVzY3JpcHRvci5cblxuVGhlIGRlZmF1bHQgYmVoYXZpb3IgZm9yIGF0dHJpYnV0ZSBhY2Nlc3MgaXMgdG8gZ2V0LCBzZXQsIG9yIGRlbGV0ZVxudGhlIGF0dHJpYnV0ZSBmcm9tIGFuIG9iamVjdFwncyBkaWN0aW9uYXJ5LiBGb3IgaW5zdGFuY2UsICJhLngiIGhhcyBhXG5sb29rdXAgY2hhaW4gc3RhcnRpbmcgd2l0aCAiYS5fX2RpY3RfX1tcJ3hcJ10iLCB0aGVuXG4idHlwZShhKS5fX2RpY3RfX1tcJ3hcJ10iLCBhbmQgY29udGludWluZyB0aHJvdWdoIHRoZSBiYXNlIGNsYXNzZXMgb2ZcbiJ0eXBlKGEpIiBleGNsdWRpbmcgbWV0YWNsYXNzZXMuXG5cbkhvd2V2ZXIsIGlmIHRoZSBsb29rZWQtdXAgdmFsdWUgaXMgYW4gb2JqZWN0IGRlZmluaW5nIG9uZSBvZiB0aGVcbmRlc2NyaXB0b3IgbWV0aG9kcywgdGhlbiBQeXRob24gbWF5IG92ZXJyaWRlIHRoZSBkZWZhdWx0IGJlaGF2aW9yIGFuZFxuaW52b2tlIHRoZSBkZXNjcmlwdG9yIG1ldGhvZCBpbnN0ZWFkLiAgV2hlcmUgdGhpcyBvY2N1cnMgaW4gdGhlXG5wcmVjZWRlbmNlIGNoYWluIGRlcGVuZHMgb24gd2hpY2ggZGVzY3JpcHRvciBtZXRob2RzIHdlcmUgZGVmaW5lZCBhbmRcbmhvdyB0aGV5IHdlcmUgY2FsbGVkLlxuXG5UaGUgc3RhcnRpbmcgcG9pbnQgZm9yIGRlc2NyaXB0b3IgaW52b2NhdGlvbiBpcyBhIGJpbmRpbmcsICJhLngiLiBIb3dcbnRoZSBhcmd1bWVudHMgYXJlIGFzc2VtYmxlZCBkZXBlbmRzIG9uICJhIjpcblxuRGlyZWN0IENhbGxcbiAgIFRoZSBzaW1wbGVzdCBhbmQgbGVhc3QgY29tbW9uIGNhbGwgaXMgd2hlbiB1c2VyIGNvZGUgZGlyZWN0bHlcbiAgIGludm9rZXMgYSBkZXNjcmlwdG9yIG1ldGhvZDogICAgInguX19nZXRfXyhhKSIuXG5cbkluc3RhbmNlIEJpbmRpbmdcbiAgIElmIGJpbmRpbmcgdG8gYW4gb2JqZWN0IGluc3RhbmNlLCAiYS54IiBpcyB0cmFuc2Zvcm1lZCBpbnRvIHRoZVxuICAgY2FsbDogInR5cGUoYSkuX19kaWN0X19bXCd4XCddLl9fZ2V0X18oYSwgdHlwZShhKSkiLlxuXG5DbGFzcyBCaW5kaW5nXG4gICBJZiBiaW5kaW5nIHRvIGEgY2xhc3MsICJBLngiIGlzIHRyYW5zZm9ybWVkIGludG8gdGhlIGNhbGw6XG4gICAiQS5fX2RpY3RfX1tcJ3hcJ10uX19nZXRfXyhOb25lLCBBKSIuXG5cblN1cGVyIEJpbmRpbmdcbiAgIElmICJhIiBpcyBhbiBpbnN0YW5jZSBvZiAic3VwZXIiLCB0aGVuIHRoZSBiaW5kaW5nICJzdXBlcihCLFxuICAgb2JqKS5tKCkiIHNlYXJjaGVzICJvYmouX19jbGFzc19fLl9fbXJvX18iIGZvciB0aGUgYmFzZSBjbGFzcyAiQSJcbiAgIGltbWVkaWF0ZWx5IHByZWNlZGluZyAiQiIgYW5kIHRoZW4gaW52b2tlcyB0aGUgZGVzY3JpcHRvciB3aXRoIHRoZVxuICAgY2FsbDogIkEuX19kaWN0X19bXCdtXCddLl9fZ2V0X18ob2JqLCBvYmouX19jbGFzc19fKSIuXG5cbkZvciBpbnN0YW5jZSBiaW5kaW5ncywgdGhlIHByZWNlZGVuY2Ugb2YgZGVzY3JpcHRvciBpbnZvY2F0aW9uIGRlcGVuZHNcbm9uIHRoZSB3aGljaCBkZXNjcmlwdG9yIG1ldGhvZHMgYXJlIGRlZmluZWQuICBBIGRlc2NyaXB0b3IgY2FuIGRlZmluZVxuYW55IGNvbWJpbmF0aW9uIG9mICJfX2dldF9fKCkiLCAiX19zZXRfXygpIiBhbmQgIl9fZGVsZXRlX18oKSIuICBJZiBpdFxuZG9lcyBub3QgZGVmaW5lICJfX2dldF9fKCkiLCB0aGVuIGFjY2Vzc2luZyB0aGUgYXR0cmlidXRlIHdpbGwgcmV0dXJuXG50aGUgZGVzY3JpcHRvciBvYmplY3QgaXRzZWxmIHVubGVzcyB0aGVyZSBpcyBhIHZhbHVlIGluIHRoZSBvYmplY3RcJ3Ncbmluc3RhbmNlIGRpY3Rpb25hcnkuICBJZiB0aGUgZGVzY3JpcHRvciBkZWZpbmVzICJfX3NldF9fKCkiIGFuZC9vclxuIl9fZGVsZXRlX18oKSIsIGl0IGlzIGEgZGF0YSBkZXNjcmlwdG9yOyBpZiBpdCBkZWZpbmVzIG5laXRoZXIsIGl0IGlzXG5hIG5vbi1kYXRhIGRlc2NyaXB0b3IuICBOb3JtYWxseSwgZGF0YSBkZXNjcmlwdG9ycyBkZWZpbmUgYm90aFxuIl9fZ2V0X18oKSIgYW5kICJfX3NldF9fKCkiLCB3aGlsZSBub24tZGF0YSBkZXNjcmlwdG9ycyBoYXZlIGp1c3QgdGhlXG4iX19nZXRfXygpIiBtZXRob2QuICBEYXRhIGRlc2NyaXB0b3JzIHdpdGggIl9fc2V0X18oKSIgYW5kICJfX2dldF9fKCkiXG5kZWZpbmVkIGFsd2F5cyBvdmVycmlkZSBhIHJlZGVmaW5pdGlvbiBpbiBhbiBpbnN0YW5jZSBkaWN0aW9uYXJ5LiAgSW5cbmNvbnRyYXN0LCBub24tZGF0YSBkZXNjcmlwdG9ycyBjYW4gYmUgb3ZlcnJpZGRlbiBieSBpbnN0YW5jZXMuXG5cblB5dGhvbiBtZXRob2RzIChpbmNsdWRpbmcgInN0YXRpY21ldGhvZCgpIiBhbmQgImNsYXNzbWV0aG9kKCkiKSBhcmVcbmltcGxlbWVudGVkIGFzIG5vbi1kYXRhIGRlc2NyaXB0b3JzLiAgQWNjb3JkaW5nbHksIGluc3RhbmNlcyBjYW5cbnJlZGVmaW5lIGFuZCBvdmVycmlkZSBtZXRob2RzLiAgVGhpcyBhbGxvd3MgaW5kaXZpZHVhbCBpbnN0YW5jZXMgdG9cbmFjcXVpcmUgYmVoYXZpb3JzIHRoYXQgZGlmZmVyIGZyb20gb3RoZXIgaW5zdGFuY2VzIG9mIHRoZSBzYW1lIGNsYXNzLlxuXG5UaGUgInByb3BlcnR5KCkiIGZ1bmN0aW9uIGlzIGltcGxlbWVudGVkIGFzIGEgZGF0YSBkZXNjcmlwdG9yLlxuQWNjb3JkaW5nbHksIGluc3RhbmNlcyBjYW5ub3Qgb3ZlcnJpZGUgdGhlIGJlaGF2aW9yIG9mIGEgcHJvcGVydHkuXG5cblxuX19zbG90c19fXG49PT09PT09PT1cblxuQnkgZGVmYXVsdCwgaW5zdGFuY2VzIG9mIGNsYXNzZXMgaGF2ZSBhIGRpY3Rpb25hcnkgZm9yIGF0dHJpYnV0ZVxuc3RvcmFnZS4gIFRoaXMgd2FzdGVzIHNwYWNlIGZvciBvYmplY3RzIGhhdmluZyB2ZXJ5IGZldyBpbnN0YW5jZVxudmFyaWFibGVzLiAgVGhlIHNwYWNlIGNvbnN1bXB0aW9uIGNhbiBiZWNvbWUgYWN1dGUgd2hlbiBjcmVhdGluZyBsYXJnZVxubnVtYmVycyBvZiBpbnN0YW5jZXMuXG5cblRoZSBkZWZhdWx0IGNhbiBiZSBvdmVycmlkZGVuIGJ5IGRlZmluaW5nICpfX3Nsb3RzX18qIGluIGEgY2xhc3NcbmRlZmluaXRpb24uIFRoZSAqX19zbG90c19fKiBkZWNsYXJhdGlvbiB0YWtlcyBhIHNlcXVlbmNlIG9mIGluc3RhbmNlXG52YXJpYWJsZXMgYW5kIHJlc2VydmVzIGp1c3QgZW5vdWdoIHNwYWNlIGluIGVhY2ggaW5zdGFuY2UgdG8gaG9sZCBhXG52YWx1ZSBmb3IgZWFjaCB2YXJpYWJsZS4gIFNwYWNlIGlzIHNhdmVkIGJlY2F1c2UgKl9fZGljdF9fKiBpcyBub3RcbmNyZWF0ZWQgZm9yIGVhY2ggaW5zdGFuY2UuXG5cbm9iamVjdC5fX3Nsb3RzX19cblxuICAgVGhpcyBjbGFzcyB2YXJpYWJsZSBjYW4gYmUgYXNzaWduZWQgYSBzdHJpbmcsIGl0ZXJhYmxlLCBvciBzZXF1ZW5jZVxuICAgb2Ygc3RyaW5ncyB3aXRoIHZhcmlhYmxlIG5hbWVzIHVzZWQgYnkgaW5zdGFuY2VzLiAgKl9fc2xvdHNfXypcbiAgIHJlc2VydmVzIHNwYWNlIGZvciB0aGUgZGVjbGFyZWQgdmFyaWFibGVzIGFuZCBwcmV2ZW50cyB0aGVcbiAgIGF1dG9tYXRpYyBjcmVhdGlvbiBvZiAqX19kaWN0X18qIGFuZCAqX193ZWFrcmVmX18qIGZvciBlYWNoXG4gICBpbnN0YW5jZS5cblxuXG5Ob3RlcyBvbiB1c2luZyAqX19zbG90c19fKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuKiBXaGVuIGluaGVyaXRpbmcgZnJvbSBhIGNsYXNzIHdpdGhvdXQgKl9fc2xvdHNfXyosIHRoZSAqX19kaWN0X18qXG4gIGF0dHJpYnV0ZSBvZiB0aGF0IGNsYXNzIHdpbGwgYWx3YXlzIGJlIGFjY2Vzc2libGUsIHNvIGEgKl9fc2xvdHNfXypcbiAgZGVmaW5pdGlvbiBpbiB0aGUgc3ViY2xhc3MgaXMgbWVhbmluZ2xlc3MuXG5cbiogV2l0aG91dCBhICpfX2RpY3RfXyogdmFyaWFibGUsIGluc3RhbmNlcyBjYW5ub3QgYmUgYXNzaWduZWQgbmV3XG4gIHZhcmlhYmxlcyBub3QgbGlzdGVkIGluIHRoZSAqX19zbG90c19fKiBkZWZpbml0aW9uLiAgQXR0ZW1wdHMgdG9cbiAgYXNzaWduIHRvIGFuIHVubGlzdGVkIHZhcmlhYmxlIG5hbWUgcmFpc2VzICJBdHRyaWJ1dGVFcnJvciIuIElmXG4gIGR5bmFtaWMgYXNzaWdubWVudCBvZiBuZXcgdmFyaWFibGVzIGlzIGRlc2lyZWQsIHRoZW4gYWRkXG4gICJcJ19fZGljdF9fXCciIHRvIHRoZSBzZXF1ZW5jZSBvZiBzdHJpbmdzIGluIHRoZSAqX19zbG90c19fKlxuICBkZWNsYXJhdGlvbi5cblxuKiBXaXRob3V0IGEgKl9fd2Vha3JlZl9fKiB2YXJpYWJsZSBmb3IgZWFjaCBpbnN0YW5jZSwgY2xhc3Nlc1xuICBkZWZpbmluZyAqX19zbG90c19fKiBkbyBub3Qgc3VwcG9ydCB3ZWFrIHJlZmVyZW5jZXMgdG8gaXRzXG4gIGluc3RhbmNlcy4gSWYgd2VhayByZWZlcmVuY2Ugc3VwcG9ydCBpcyBuZWVkZWQsIHRoZW4gYWRkXG4gICJcJ19fd2Vha3JlZl9fXCciIHRvIHRoZSBzZXF1ZW5jZSBvZiBzdHJpbmdzIGluIHRoZSAqX19zbG90c19fKlxuICBkZWNsYXJhdGlvbi5cblxuKiAqX19zbG90c19fKiBhcmUgaW1wbGVtZW50ZWQgYXQgdGhlIGNsYXNzIGxldmVsIGJ5IGNyZWF0aW5nXG4gIGRlc2NyaXB0b3JzICgqSW1wbGVtZW50aW5nIERlc2NyaXB0b3JzKikgZm9yIGVhY2ggdmFyaWFibGUgbmFtZS4gIEFzXG4gIGEgcmVzdWx0LCBjbGFzcyBhdHRyaWJ1dGVzIGNhbm5vdCBiZSB1c2VkIHRvIHNldCBkZWZhdWx0IHZhbHVlcyBmb3JcbiAgaW5zdGFuY2UgdmFyaWFibGVzIGRlZmluZWQgYnkgKl9fc2xvdHNfXyo7IG90aGVyd2lzZSwgdGhlIGNsYXNzXG4gIGF0dHJpYnV0ZSB3b3VsZCBvdmVyd3JpdGUgdGhlIGRlc2NyaXB0b3IgYXNzaWdubWVudC5cblxuKiBUaGUgYWN0aW9uIG9mIGEgKl9fc2xvdHNfXyogZGVjbGFyYXRpb24gaXMgbGltaXRlZCB0byB0aGUgY2xhc3NcbiAgd2hlcmUgaXQgaXMgZGVmaW5lZC4gIEFzIGEgcmVzdWx0LCBzdWJjbGFzc2VzIHdpbGwgaGF2ZSBhICpfX2RpY3RfXypcbiAgdW5sZXNzIHRoZXkgYWxzbyBkZWZpbmUgKl9fc2xvdHNfXyogKHdoaWNoIG11c3Qgb25seSBjb250YWluIG5hbWVzXG4gIG9mIGFueSAqYWRkaXRpb25hbCogc2xvdHMpLlxuXG4qIElmIGEgY2xhc3MgZGVmaW5lcyBhIHNsb3QgYWxzbyBkZWZpbmVkIGluIGEgYmFzZSBjbGFzcywgdGhlXG4gIGluc3RhbmNlIHZhcmlhYmxlIGRlZmluZWQgYnkgdGhlIGJhc2UgY2xhc3Mgc2xvdCBpcyBpbmFjY2Vzc2libGVcbiAgKGV4Y2VwdCBieSByZXRyaWV2aW5nIGl0cyBkZXNjcmlwdG9yIGRpcmVjdGx5IGZyb20gdGhlIGJhc2UgY2xhc3MpLlxuICBUaGlzIHJlbmRlcnMgdGhlIG1lYW5pbmcgb2YgdGhlIHByb2dyYW0gdW5kZWZpbmVkLiAgSW4gdGhlIGZ1dHVyZSwgYVxuICBjaGVjayBtYXkgYmUgYWRkZWQgdG8gcHJldmVudCB0aGlzLlxuXG4qIE5vbmVtcHR5ICpfX3Nsb3RzX18qIGRvZXMgbm90IHdvcmsgZm9yIGNsYXNzZXMgZGVyaXZlZCBmcm9tXG4gICJ2YXJpYWJsZS1sZW5ndGgiIGJ1aWx0LWluIHR5cGVzIHN1Y2ggYXMgImludCIsICJieXRlcyIgYW5kICJ0dXBsZSIuXG5cbiogQW55IG5vbi1zdHJpbmcgaXRlcmFibGUgbWF5IGJlIGFzc2lnbmVkIHRvICpfX3Nsb3RzX18qLiBNYXBwaW5nc1xuICBtYXkgYWxzbyBiZSB1c2VkOyBob3dldmVyLCBpbiB0aGUgZnV0dXJlLCBzcGVjaWFsIG1lYW5pbmcgbWF5IGJlXG4gIGFzc2lnbmVkIHRvIHRoZSB2YWx1ZXMgY29ycmVzcG9uZGluZyB0byBlYWNoIGtleS5cblxuKiAqX19jbGFzc19fKiBhc3NpZ25tZW50IHdvcmtzIG9ubHkgaWYgYm90aCBjbGFzc2VzIGhhdmUgdGhlIHNhbWVcbiAgKl9fc2xvdHNfXyouXG4nLAogICdhdHRyaWJ1dGUtcmVmZXJlbmNlcyc6IHUnXG5BdHRyaWJ1dGUgcmVmZXJlbmNlc1xuKioqKioqKioqKioqKioqKioqKipcblxuQW4gYXR0cmlidXRlIHJlZmVyZW5jZSBpcyBhIHByaW1hcnkgZm9sbG93ZWQgYnkgYSBwZXJpb2QgYW5kIGEgbmFtZTpcblxuICAgYXR0cmlidXRlcmVmIDo6PSBwcmltYXJ5ICIuIiBpZGVudGlmaWVyXG5cblRoZSBwcmltYXJ5IG11c3QgZXZhbHVhdGUgdG8gYW4gb2JqZWN0IG9mIGEgdHlwZSB0aGF0IHN1cHBvcnRzXG5hdHRyaWJ1dGUgcmVmZXJlbmNlcywgd2hpY2ggbW9zdCBvYmplY3RzIGRvLiAgVGhpcyBvYmplY3QgaXMgdGhlblxuYXNrZWQgdG8gcHJvZHVjZSB0aGUgYXR0cmlidXRlIHdob3NlIG5hbWUgaXMgdGhlIGlkZW50aWZpZXIuICBUaGlzXG5wcm9kdWN0aW9uIGNhbiBiZSBjdXN0b21pemVkIGJ5IG92ZXJyaWRpbmcgdGhlICJfX2dldGF0dHJfXygpIiBtZXRob2QuXG5JZiB0aGlzIGF0dHJpYnV0ZSBpcyBub3QgYXZhaWxhYmxlLCB0aGUgZXhjZXB0aW9uICJBdHRyaWJ1dGVFcnJvciIgaXNcbnJhaXNlZC4gIE90aGVyd2lzZSwgdGhlIHR5cGUgYW5kIHZhbHVlIG9mIHRoZSBvYmplY3QgcHJvZHVjZWQgaXNcbmRldGVybWluZWQgYnkgdGhlIG9iamVjdC4gIE11bHRpcGxlIGV2YWx1YXRpb25zIG9mIHRoZSBzYW1lIGF0dHJpYnV0ZVxucmVmZXJlbmNlIG1heSB5aWVsZCBkaWZmZXJlbnQgb2JqZWN0cy5cbicsCi0gJ2F1Z2Fzc2lnbic6IHUnXG5BdWdtZW50ZWQgYXNzaWdubWVudCBzdGF0ZW1lbnRzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5cbkF1Z21lbnRlZCBhc3NpZ25tZW50IGlzIHRoZSBjb21iaW5hdGlvbiwgaW4gYSBzaW5nbGUgc3RhdGVtZW50LCBvZiBhXG5iaW5hcnkgb3BlcmF0aW9uIGFuZCBhbiBhc3NpZ25tZW50IHN0YXRlbWVudDpcblxuICAgYXVnbWVudGVkX2Fzc2lnbm1lbnRfc3RtdCA6Oj0gYXVndGFyZ2V0IGF1Z29wIChleHByZXNzaW9uX2xpc3QgfCB5aWVsZF9leHByZXNzaW9uKVxuICAgYXVndGFyZ2V0ICAgICAgICAgICAgICAgICA6Oj0gaWRlbnRpZmllciB8IGF0dHJpYnV0ZXJlZiB8IHN1YnNjcmlwdGlvbiB8IHNsaWNpbmdcbiAgIGF1Z29wICAgICAgICAgICAgICAgICAgICAgOjo9ICIrPSIgfCAiLT0iIHwgIio9IiB8ICIvPSIgfCAiLy89IiB8ICIlPSIgfCAiKio9IlxuICAgICAgICAgICAgIHwgIj4+PSIgfCAiPDw9IiB8ICImPSIgfCAiXj0iIHwgInw9IlxuXG4oU2VlIHNlY3Rpb24gKlByaW1hcmllcyogZm9yIHRoZSBzeW50YXggZGVmaW5pdGlvbnMgb2YgdGhlIGxhc3QgdGhyZWVcbnN5bWJvbHMuKVxuXG5BbiBhdWdtZW50ZWQgYXNzaWdubWVudCBldmFsdWF0ZXMgdGhlIHRhcmdldCAod2hpY2gsIHVubGlrZSBub3JtYWxcbmFzc2lnbm1lbnQgc3RhdGVtZW50cywgY2Fubm90IGJlIGFuIHVucGFja2luZykgYW5kIHRoZSBleHByZXNzaW9uXG5saXN0LCBwZXJmb3JtcyB0aGUgYmluYXJ5IG9wZXJhdGlvbiBzcGVjaWZpYyB0byB0aGUgdHlwZSBvZiBhc3NpZ25tZW50XG5vbiB0aGUgdHdvIG9wZXJhbmRzLCBhbmQgYXNzaWducyB0aGUgcmVzdWx0IHRvIHRoZSBvcmlnaW5hbCB0YXJnZXQuXG5UaGUgdGFyZ2V0IGlzIG9ubHkgZXZhbHVhdGVkIG9uY2UuXG5cbkFuIGF1Z21lbnRlZCBhc3NpZ25tZW50IGV4cHJlc3Npb24gbGlrZSAieCArPSAxIiBjYW4gYmUgcmV3cml0dGVuIGFzXG4ieCA9IHggKyAxIiB0byBhY2hpZXZlIGEgc2ltaWxhciwgYnV0IG5vdCBleGFjdGx5IGVxdWFsIGVmZmVjdC4gSW4gdGhlXG5hdWdtZW50ZWQgdmVyc2lvbiwgIngiIGlzIG9ubHkgZXZhbHVhdGVkIG9uY2UuIEFsc28sIHdoZW4gcG9zc2libGUsXG50aGUgYWN0dWFsIG9wZXJhdGlvbiBpcyBwZXJmb3JtZWQgKmluLXBsYWNlKiwgbWVhbmluZyB0aGF0IHJhdGhlciB0aGFuXG5jcmVhdGluZyBhIG5ldyBvYmplY3QgYW5kIGFzc2lnbmluZyB0aGF0IHRvIHRoZSB0YXJnZXQsIHRoZSBvbGQgb2JqZWN0XG5pcyBtb2RpZmllZCBpbnN0ZWFkLlxuXG5Vbmxpa2Ugbm9ybWFsIGFzc2lnbm1lbnRzLCBhdWdtZW50ZWQgYXNzaWdubWVudHMgZXZhbHVhdGUgdGhlIGxlZnQtXG5oYW5kIHNpZGUgKmJlZm9yZSogZXZhbHVhdGluZyB0aGUgcmlnaHQtaGFuZCBzaWRlLiAgRm9yIGV4YW1wbGUsICJhW2ldXG4rPSBmKHgpIiBmaXJzdCBsb29rcy11cCAiYVtpXSIsIHRoZW4gaXQgZXZhbHVhdGVzICJmKHgpIiBhbmQgcGVyZm9ybXNcbnRoZSBhZGRpdGlvbiwgYW5kIGxhc3RseSwgaXQgd3JpdGVzIHRoZSByZXN1bHQgYmFjayB0byAiYVtpXSIuXG5cbldpdGggdGhlIGV4Y2VwdGlvbiBvZiBhc3NpZ25pbmcgdG8gdHVwbGVzIGFuZCBtdWx0aXBsZSB0YXJnZXRzIGluIGFcbnNpbmdsZSBzdGF0ZW1lbnQsIHRoZSBhc3NpZ25tZW50IGRvbmUgYnkgYXVnbWVudGVkIGFzc2lnbm1lbnRcbnN0YXRlbWVudHMgaXMgaGFuZGxlZCB0aGUgc2FtZSB3YXkgYXMgbm9ybWFsIGFzc2lnbm1lbnRzLiBTaW1pbGFybHksXG53aXRoIHRoZSBleGNlcHRpb24gb2YgdGhlIHBvc3NpYmxlICppbi1wbGFjZSogYmVoYXZpb3IsIHRoZSBiaW5hcnlcbm9wZXJhdGlvbiBwZXJmb3JtZWQgYnkgYXVnbWVudGVkIGFzc2lnbm1lbnQgaXMgdGhlIHNhbWUgYXMgdGhlIG5vcm1hbFxuYmluYXJ5IG9wZXJhdGlvbnMuXG5cbkZvciB0YXJnZXRzIHdoaWNoIGFyZSBhdHRyaWJ1dGUgcmVmZXJlbmNlcywgdGhlIHNhbWUgKmNhdmVhdCBhYm91dFxuY2xhc3MgYW5kIGluc3RhbmNlIGF0dHJpYnV0ZXMqIGFwcGxpZXMgYXMgZm9yIHJlZ3VsYXIgYXNzaWdubWVudHMuXG4nLAotICdiaW5hcnknOiB1J1xuQmluYXJ5IGFyaXRobWV0aWMgb3BlcmF0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuXG5UaGUgYmluYXJ5IGFyaXRobWV0aWMgb3BlcmF0aW9ucyBoYXZlIHRoZSBjb252ZW50aW9uYWwgcHJpb3JpdHlcbmxldmVscy4gIE5vdGUgdGhhdCBzb21lIG9mIHRoZXNlIG9wZXJhdGlvbnMgYWxzbyBhcHBseSB0byBjZXJ0YWluIG5vbi1cbm51bWVyaWMgdHlwZXMuICBBcGFydCBmcm9tIHRoZSBwb3dlciBvcGVyYXRvciwgdGhlcmUgYXJlIG9ubHkgdHdvXG5sZXZlbHMsIG9uZSBmb3IgbXVsdGlwbGljYXRpdmUgb3BlcmF0b3JzIGFuZCBvbmUgZm9yIGFkZGl0aXZlXG5vcGVyYXRvcnM6XG5cbiAgIG1fZXhwciA6Oj0gdV9leHByIHwgbV9leHByICIqIiB1X2V4cHIgfCBtX2V4cHIgIi8vIiB1X2V4cHIgfCBtX2V4cHIgIi8iIHVfZXhwclxuICAgICAgICAgICAgICB8IG1fZXhwciAiJSIgdV9leHByXG4gICBhX2V4cHIgOjo9IG1fZXhwciB8IGFfZXhwciAiKyIgbV9leHByIHwgYV9leHByICItIiBtX2V4cHJcblxuVGhlICIqIiAobXVsdGlwbGljYXRpb24pIG9wZXJhdG9yIHlpZWxkcyB0aGUgcHJvZHVjdCBvZiBpdHMgYXJndW1lbnRzLlxuVGhlIGFyZ3VtZW50cyBtdXN0IGVpdGhlciBib3RoIGJlIG51bWJlcnMsIG9yIG9uZSBhcmd1bWVudCBtdXN0IGJlIGFuXG5pbnRlZ2VyIGFuZCB0aGUgb3RoZXIgbXVzdCBiZSBhIHNlcXVlbmNlLiBJbiB0aGUgZm9ybWVyIGNhc2UsIHRoZVxubnVtYmVycyBhcmUgY29udmVydGVkIHRvIGEgY29tbW9uIHR5cGUgYW5kIHRoZW4gbXVsdGlwbGllZCB0b2dldGhlci5cbkluIHRoZSBsYXR0ZXIgY2FzZSwgc2VxdWVuY2UgcmVwZXRpdGlvbiBpcyBwZXJmb3JtZWQ7IGEgbmVnYXRpdmVcbnJlcGV0aXRpb24gZmFjdG9yIHlpZWxkcyBhbiBlbXB0eSBzZXF1ZW5jZS5cblxuVGhlICIvIiAoZGl2aXNpb24pIGFuZCAiLy8iIChmbG9vciBkaXZpc2lvbikgb3BlcmF0b3JzIHlpZWxkIHRoZVxucXVvdGllbnQgb2YgdGhlaXIgYXJndW1lbnRzLiAgVGhlIG51bWVyaWMgYXJndW1lbnRzIGFyZSBmaXJzdFxuY29udmVydGVkIHRvIGEgY29tbW9uIHR5cGUuIERpdmlzaW9uIG9mIGludGVnZXJzIHlpZWxkcyBhIGZsb2F0LCB3aGlsZVxuZmxvb3IgZGl2aXNpb24gb2YgaW50ZWdlcnMgcmVzdWx0cyBpbiBhbiBpbnRlZ2VyOyB0aGUgcmVzdWx0IGlzIHRoYXRcbm9mIG1hdGhlbWF0aWNhbCBkaXZpc2lvbiB3aXRoIHRoZSBcJ2Zsb29yXCcgZnVuY3Rpb24gYXBwbGllZCB0byB0aGVcbnJlc3VsdC4gIERpdmlzaW9uIGJ5IHplcm8gcmFpc2VzIHRoZSAiWmVyb0RpdmlzaW9uRXJyb3IiIGV4Y2VwdGlvbi5cblxuVGhlICIlIiAobW9kdWxvKSBvcGVyYXRvciB5aWVsZHMgdGhlIHJlbWFpbmRlciBmcm9tIHRoZSBkaXZpc2lvbiBvZlxudGhlIGZpcnN0IGFyZ3VtZW50IGJ5IHRoZSBzZWNvbmQuICBUaGUgbnVtZXJpYyBhcmd1bWVudHMgYXJlIGZpcnN0XG5jb252ZXJ0ZWQgdG8gYSBjb21tb24gdHlwZS4gIEEgemVybyByaWdodCBhcmd1bWVudCByYWlzZXMgdGhlXG4iWmVyb0RpdmlzaW9uRXJyb3IiIGV4Y2VwdGlvbi4gIFRoZSBhcmd1bWVudHMgbWF5IGJlIGZsb2F0aW5nIHBvaW50XG5udW1iZXJzLCBlLmcuLCAiMy4xNCUwLjciIGVxdWFscyAiMC4zNCIgKHNpbmNlICIzLjE0IiBlcXVhbHMgIjQqMC43ICtcbjAuMzQiLikgIFRoZSBtb2R1bG8gb3BlcmF0b3IgYWx3YXlzIHlpZWxkcyBhIHJlc3VsdCB3aXRoIHRoZSBzYW1lIHNpZ25cbmFzIGl0cyBzZWNvbmQgb3BlcmFuZCAob3IgemVybyk7IHRoZSBhYnNvbHV0ZSB2YWx1ZSBvZiB0aGUgcmVzdWx0IGlzXG5zdHJpY3RseSBzbWFsbGVyIHRoYW4gdGhlIGFic29sdXRlIHZhbHVlIG9mIHRoZSBzZWNvbmQgb3BlcmFuZCBbMV0uXG5cblRoZSBmbG9vciBkaXZpc2lvbiBhbmQgbW9kdWxvIG9wZXJhdG9ycyBhcmUgY29ubmVjdGVkIGJ5IHRoZSBmb2xsb3dpbmdcbmlkZW50aXR5OiAieCA9PSAoeC8veSkqeSArICh4JXkpIi4gIEZsb29yIGRpdmlzaW9uIGFuZCBtb2R1bG8gYXJlIGFsc29cbmNvbm5lY3RlZCB3aXRoIHRoZSBidWlsdC1pbiBmdW5jdGlvbiAiZGl2bW9kKCkiOiAiZGl2bW9kKHgsIHkpID09XG4oeC8veSwgeCV5KSIuIFsyXS5cblxuSW4gYWRkaXRpb24gdG8gcGVyZm9ybWluZyB0aGUgbW9kdWxvIG9wZXJhdGlvbiBvbiBudW1iZXJzLCB0aGUgIiUiXG5vcGVyYXRvciBpcyBhbHNvIG92ZXJsb2FkZWQgYnkgc3RyaW5nIG9iamVjdHMgdG8gcGVyZm9ybSBvbGQtc3R5bGVcbnN0cmluZyBmb3JtYXR0aW5nIChhbHNvIGtub3duIGFzIGludGVycG9sYXRpb24pLiAgVGhlIHN5bnRheCBmb3JcbnN0cmluZyBmb3JtYXR0aW5nIGlzIGRlc2NyaWJlZCBpbiB0aGUgUHl0aG9uIExpYnJhcnkgUmVmZXJlbmNlLFxuc2VjdGlvbiAqcHJpbnRmLXN0eWxlIFN0cmluZyBGb3JtYXR0aW5nKi5cblxuVGhlIGZsb29yIGRpdmlzaW9uIG9wZXJhdG9yLCB0aGUgbW9kdWxvIG9wZXJhdG9yLCBhbmQgdGhlICJkaXZtb2QoKSJcbmZ1bmN0aW9uIGFyZSBub3QgZGVmaW5lZCBmb3IgY29tcGxleCBudW1iZXJzLiAgSW5zdGVhZCwgY29udmVydCB0byBhXG5mbG9hdGluZyBwb2ludCBudW1iZXIgdXNpbmcgdGhlICJhYnMoKSIgZnVuY3Rpb24gaWYgYXBwcm9wcmlhdGUuXG5cblRoZSAiKyIgKGFkZGl0aW9uKSBvcGVyYXRvciB5aWVsZHMgdGhlIHN1bSBvZiBpdHMgYXJndW1lbnRzLiAgVGhlXG5hcmd1bWVudHMgbXVzdCBlaXRoZXIgYm90aCBiZSBudW1iZXJzIG9yIGJvdGggYmUgc2VxdWVuY2VzIG9mIHRoZSBzYW1lXG50eXBlLiAgSW4gdGhlIGZvcm1lciBjYXNlLCB0aGUgbnVtYmVycyBhcmUgY29udmVydGVkIHRvIGEgY29tbW9uIHR5cGVcbmFuZCB0aGVuIGFkZGVkIHRvZ2V0aGVyLiBJbiB0aGUgbGF0dGVyIGNhc2UsIHRoZSBzZXF1ZW5jZXMgYXJlXG5jb25jYXRlbmF0ZWQuXG5cblRoZSAiLSIgKHN1YnRyYWN0aW9uKSBvcGVyYXRvciB5aWVsZHMgdGhlIGRpZmZlcmVuY2Ugb2YgaXRzIGFyZ3VtZW50cy5cblRoZSBudW1lcmljIGFyZ3VtZW50cyBhcmUgZmlyc3QgY29udmVydGVkIHRvIGEgY29tbW9uIHR5cGUuXG4nLAorICdhdWdhc3NpZ24nOiB1J1xuQXVnbWVudGVkIGFzc2lnbm1lbnQgc3RhdGVtZW50c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuXG5BdWdtZW50ZWQgYXNzaWdubWVudCBpcyB0aGUgY29tYmluYXRpb24sIGluIGEgc2luZ2xlIHN0YXRlbWVudCwgb2YgYVxuYmluYXJ5IG9wZXJhdGlvbiBhbmQgYW4gYXNzaWdubWVudCBzdGF0ZW1lbnQ6XG5cbiAgIGF1Z21lbnRlZF9hc3NpZ25tZW50X3N0bXQgOjo9IGF1Z3RhcmdldCBhdWdvcCAoZXhwcmVzc2lvbl9saXN0IHwgeWllbGRfZXhwcmVzc2lvbilcbiAgIGF1Z3RhcmdldCAgICAgICAgICAgICAgICAgOjo9IGlkZW50aWZpZXIgfCBhdHRyaWJ1dGVyZWYgfCBzdWJzY3JpcHRpb24gfCBzbGljaW5nXG4gICBhdWdvcCAgICAgICAgICAgICAgICAgICAgIDo6PSAiKz0iIHwgIi09IiB8ICIqPSIgfCAiQD0iIHwgIi89IiB8ICIvLz0iIHwgIiU9IiB8ICIqKj0iXG4gICAgICAgICAgICAgfCAiPj49IiB8ICI8PD0iIHwgIiY9IiB8ICJePSIgfCAifD0iXG5cbihTZWUgc2VjdGlvbiAqUHJpbWFyaWVzKiBmb3IgdGhlIHN5bnRheCBkZWZpbml0aW9ucyBvZiB0aGUgbGFzdCB0aHJlZVxuc3ltYm9scy4pXG5cbkFuIGF1Z21lbnRlZCBhc3NpZ25tZW50IGV2YWx1YXRlcyB0aGUgdGFyZ2V0ICh3aGljaCwgdW5saWtlIG5vcm1hbFxuYXNzaWdubWVudCBzdGF0ZW1lbnRzLCBjYW5ub3QgYmUgYW4gdW5wYWNraW5nKSBhbmQgdGhlIGV4cHJlc3Npb25cbmxpc3QsIHBlcmZvcm1zIHRoZSBiaW5hcnkgb3BlcmF0aW9uIHNwZWNpZmljIHRvIHRoZSB0eXBlIG9mIGFzc2lnbm1lbnRcbm9uIHRoZSB0d28gb3BlcmFuZHMsIGFuZCBhc3NpZ25zIHRoZSByZXN1bHQgdG8gdGhlIG9yaWdpbmFsIHRhcmdldC5cblRoZSB0YXJnZXQgaXMgb25seSBldmFsdWF0ZWQgb25jZS5cblxuQW4gYXVnbWVudGVkIGFzc2lnbm1lbnQgZXhwcmVzc2lvbiBsaWtlICJ4ICs9IDEiIGNhbiBiZSByZXdyaXR0ZW4gYXNcbiJ4ID0geCArIDEiIHRvIGFjaGlldmUgYSBzaW1pbGFyLCBidXQgbm90IGV4YWN0bHkgZXF1YWwgZWZmZWN0LiBJbiB0aGVcbmF1Z21lbnRlZCB2ZXJzaW9uLCAieCIgaXMgb25seSBldmFsdWF0ZWQgb25jZS4gQWxzbywgd2hlbiBwb3NzaWJsZSxcbnRoZSBhY3R1YWwgb3BlcmF0aW9uIGlzIHBlcmZvcm1lZCAqaW4tcGxhY2UqLCBtZWFuaW5nIHRoYXQgcmF0aGVyIHRoYW5cbmNyZWF0aW5nIGEgbmV3IG9iamVjdCBhbmQgYXNzaWduaW5nIHRoYXQgdG8gdGhlIHRhcmdldCwgdGhlIG9sZCBvYmplY3RcbmlzIG1vZGlmaWVkIGluc3RlYWQuXG5cblVubGlrZSBub3JtYWwgYXNzaWdubWVudHMsIGF1Z21lbnRlZCBhc3NpZ25tZW50cyBldmFsdWF0ZSB0aGUgbGVmdC1cbmhhbmQgc2lkZSAqYmVmb3JlKiBldmFsdWF0aW5nIHRoZSByaWdodC1oYW5kIHNpZGUuICBGb3IgZXhhbXBsZSwgImFbaV1cbis9IGYoeCkiIGZpcnN0IGxvb2tzLXVwICJhW2ldIiwgdGhlbiBpdCBldmFsdWF0ZXMgImYoeCkiIGFuZCBwZXJmb3Jtc1xudGhlIGFkZGl0aW9uLCBhbmQgbGFzdGx5LCBpdCB3cml0ZXMgdGhlIHJlc3VsdCBiYWNrIHRvICJhW2ldIi5cblxuV2l0aCB0aGUgZXhjZXB0aW9uIG9mIGFzc2lnbmluZyB0byB0dXBsZXMgYW5kIG11bHRpcGxlIHRhcmdldHMgaW4gYVxuc2luZ2xlIHN0YXRlbWVudCwgdGhlIGFzc2lnbm1lbnQgZG9uZSBieSBhdWdtZW50ZWQgYXNzaWdubWVudFxuc3RhdGVtZW50cyBpcyBoYW5kbGVkIHRoZSBzYW1lIHdheSBhcyBub3JtYWwgYXNzaWdubWVudHMuIFNpbWlsYXJseSxcbndpdGggdGhlIGV4Y2VwdGlvbiBvZiB0aGUgcG9zc2libGUgKmluLXBsYWNlKiBiZWhhdmlvciwgdGhlIGJpbmFyeVxub3BlcmF0aW9uIHBlcmZvcm1lZCBieSBhdWdtZW50ZWQgYXNzaWdubWVudCBpcyB0aGUgc2FtZSBhcyB0aGUgbm9ybWFsXG5iaW5hcnkgb3BlcmF0aW9ucy5cblxuRm9yIHRhcmdldHMgd2hpY2ggYXJlIGF0dHJpYnV0ZSByZWZlcmVuY2VzLCB0aGUgc2FtZSAqY2F2ZWF0IGFib3V0XG5jbGFzcyBhbmQgaW5zdGFuY2UgYXR0cmlidXRlcyogYXBwbGllcyBhcyBmb3IgcmVndWxhciBhc3NpZ25tZW50cy5cbicsCisgJ2JpbmFyeSc6IHUnXG5CaW5hcnkgYXJpdGhtZXRpYyBvcGVyYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5cblRoZSBiaW5hcnkgYXJpdGhtZXRpYyBvcGVyYXRpb25zIGhhdmUgdGhlIGNvbnZlbnRpb25hbCBwcmlvcml0eVxubGV2ZWxzLiAgTm90ZSB0aGF0IHNvbWUgb2YgdGhlc2Ugb3BlcmF0aW9ucyBhbHNvIGFwcGx5IHRvIGNlcnRhaW4gbm9uLVxubnVtZXJpYyB0eXBlcy4gIEFwYXJ0IGZyb20gdGhlIHBvd2VyIG9wZXJhdG9yLCB0aGVyZSBhcmUgb25seSB0d29cbmxldmVscywgb25lIGZvciBtdWx0aXBsaWNhdGl2ZSBvcGVyYXRvcnMgYW5kIG9uZSBmb3IgYWRkaXRpdmVcbm9wZXJhdG9yczpcblxuICAgbV9leHByIDo6PSB1X2V4cHIgfCBtX2V4cHIgIioiIHVfZXhwciB8IG1fZXhwciAiQCIgbV9leHByIHxcbiAgICAgICAgICAgICAgbV9leHByICIvLyIgdV9leHByfCBtX2V4cHIgIi8iIHVfZXhwciB8XG4gICAgICAgICAgICAgIG1fZXhwciAiJSIgdV9leHByXG4gICBhX2V4cHIgOjo9IG1fZXhwciB8IGFfZXhwciAiKyIgbV9leHByIHwgYV9leHByICItIiBtX2V4cHJcblxuVGhlICIqIiAobXVsdGlwbGljYXRpb24pIG9wZXJhdG9yIHlpZWxkcyB0aGUgcHJvZHVjdCBvZiBpdHMgYXJndW1lbnRzLlxuVGhlIGFyZ3VtZW50cyBtdXN0IGVpdGhlciBib3RoIGJlIG51bWJlcnMsIG9yIG9uZSBhcmd1bWVudCBtdXN0IGJlIGFuXG5pbnRlZ2VyIGFuZCB0aGUgb3RoZXIgbXVzdCBiZSBhIHNlcXVlbmNlLiBJbiB0aGUgZm9ybWVyIGNhc2UsIHRoZVxubnVtYmVycyBhcmUgY29udmVydGVkIHRvIGEgY29tbW9uIHR5cGUgYW5kIHRoZW4gbXVsdGlwbGllZCB0b2dldGhlci5cbkluIHRoZSBsYXR0ZXIgY2FzZSwgc2VxdWVuY2UgcmVwZXRpdGlvbiBpcyBwZXJmb3JtZWQ7IGEgbmVnYXRpdmVcbnJlcGV0aXRpb24gZmFjdG9yIHlpZWxkcyBhbiBlbXB0eSBzZXF1ZW5jZS5cblxuVGhlICJAIiAoYXQpIG9wZXJhdG9yIGlzIGludGVuZGVkIHRvIGJlIHVzZWQgZm9yIG1hdHJpeFxubXVsdGlwbGljYXRpb24uICBObyBidWlsdGluIFB5dGhvbiB0eXBlcyBpbXBsZW1lbnQgdGhpcyBvcGVyYXRvci5cblxuTmV3IGluIHZlcnNpb24gMy41LlxuXG5UaGUgIi8iIChkaXZpc2lvbikgYW5kICIvLyIgKGZsb29yIGRpdmlzaW9uKSBvcGVyYXRvcnMgeWllbGQgdGhlXG5xdW90aWVudCBvZiB0aGVpciBhcmd1bWVudHMuICBUaGUgbnVtZXJpYyBhcmd1bWVudHMgYXJlIGZpcnN0XG5jb252ZXJ0ZWQgdG8gYSBjb21tb24gdHlwZS4gRGl2aXNpb24gb2YgaW50ZWdlcnMgeWllbGRzIGEgZmxvYXQsIHdoaWxlXG5mbG9vciBkaXZpc2lvbiBvZiBpbnRlZ2VycyByZXN1bHRzIGluIGFuIGludGVnZXI7IHRoZSByZXN1bHQgaXMgdGhhdFxub2YgbWF0aGVtYXRpY2FsIGRpdmlzaW9uIHdpdGggdGhlIFwnZmxvb3JcJyBmdW5jdGlvbiBhcHBsaWVkIHRvIHRoZVxucmVzdWx0LiAgRGl2aXNpb24gYnkgemVybyByYWlzZXMgdGhlICJaZXJvRGl2aXNpb25FcnJvciIgZXhjZXB0aW9uLlxuXG5UaGUgIiUiIChtb2R1bG8pIG9wZXJhdG9yIHlpZWxkcyB0aGUgcmVtYWluZGVyIGZyb20gdGhlIGRpdmlzaW9uIG9mXG50aGUgZmlyc3QgYXJndW1lbnQgYnkgdGhlIHNlY29uZC4gIFRoZSBudW1lcmljIGFyZ3VtZW50cyBhcmUgZmlyc3RcbmNvbnZlcnRlZCB0byBhIGNvbW1vbiB0eXBlLiAgQSB6ZXJvIHJpZ2h0IGFyZ3VtZW50IHJhaXNlcyB0aGVcbiJaZXJvRGl2aXNpb25FcnJvciIgZXhjZXB0aW9uLiAgVGhlIGFyZ3VtZW50cyBtYXkgYmUgZmxvYXRpbmcgcG9pbnRcbm51bWJlcnMsIGUuZy4sICIzLjE0JTAuNyIgZXF1YWxzICIwLjM0IiAoc2luY2UgIjMuMTQiIGVxdWFscyAiNCowLjcgK1xuMC4zNCIuKSAgVGhlIG1vZHVsbyBvcGVyYXRvciBhbHdheXMgeWllbGRzIGEgcmVzdWx0IHdpdGggdGhlIHNhbWUgc2lnblxuYXMgaXRzIHNlY29uZCBvcGVyYW5kIChvciB6ZXJvKTsgdGhlIGFic29sdXRlIHZhbHVlIG9mIHRoZSByZXN1bHQgaXNcbnN0cmljdGx5IHNtYWxsZXIgdGhhbiB0aGUgYWJzb2x1dGUgdmFsdWUgb2YgdGhlIHNlY29uZCBvcGVyYW5kIFsxXS5cblxuVGhlIGZsb29yIGRpdmlzaW9uIGFuZCBtb2R1bG8gb3BlcmF0b3JzIGFyZSBjb25uZWN0ZWQgYnkgdGhlIGZvbGxvd2luZ1xuaWRlbnRpdHk6ICJ4ID09ICh4Ly95KSp5ICsgKHgleSkiLiAgRmxvb3IgZGl2aXNpb24gYW5kIG1vZHVsbyBhcmUgYWxzb1xuY29ubmVjdGVkIHdpdGggdGhlIGJ1aWx0LWluIGZ1bmN0aW9uICJkaXZtb2QoKSI6ICJkaXZtb2QoeCwgeSkgPT1cbih4Ly95LCB4JXkpIi4gWzJdLlxuXG5JbiBhZGRpdGlvbiB0byBwZXJmb3JtaW5nIHRoZSBtb2R1bG8gb3BlcmF0aW9uIG9uIG51bWJlcnMsIHRoZSAiJSJcbm9wZXJhdG9yIGlzIGFsc28gb3ZlcmxvYWRlZCBieSBzdHJpbmcgb2JqZWN0cyB0byBwZXJmb3JtIG9sZC1zdHlsZVxuc3RyaW5nIGZvcm1hdHRpbmcgKGFsc28ga25vd24gYXMgaW50ZXJwb2xhdGlvbikuICBUaGUgc3ludGF4IGZvclxuc3RyaW5nIGZvcm1hdHRpbmcgaXMgZGVzY3JpYmVkIGluIHRoZSBQeXRob24gTGlicmFyeSBSZWZlcmVuY2UsXG5zZWN0aW9uICpwcmludGYtc3R5bGUgU3RyaW5nIEZvcm1hdHRpbmcqLlxuXG5UaGUgZmxvb3IgZGl2aXNpb24gb3BlcmF0b3IsIHRoZSBtb2R1bG8gb3BlcmF0b3IsIGFuZCB0aGUgImRpdm1vZCgpIlxuZnVuY3Rpb24gYXJlIG5vdCBkZWZpbmVkIGZvciBjb21wbGV4IG51bWJlcnMuICBJbnN0ZWFkLCBjb252ZXJ0IHRvIGFcbmZsb2F0aW5nIHBvaW50IG51bWJlciB1c2luZyB0aGUgImFicygpIiBmdW5jdGlvbiBpZiBhcHByb3ByaWF0ZS5cblxuVGhlICIrIiAoYWRkaXRpb24pIG9wZXJhdG9yIHlpZWxkcyB0aGUgc3VtIG9mIGl0cyBhcmd1bWVudHMuICBUaGVcbmFyZ3VtZW50cyBtdXN0IGVpdGhlciBib3RoIGJlIG51bWJlcnMgb3IgYm90aCBiZSBzZXF1ZW5jZXMgb2YgdGhlIHNhbWVcbnR5cGUuICBJbiB0aGUgZm9ybWVyIGNhc2UsIHRoZSBudW1iZXJzIGFyZSBjb252ZXJ0ZWQgdG8gYSBjb21tb24gdHlwZVxuYW5kIHRoZW4gYWRkZWQgdG9nZXRoZXIuIEluIHRoZSBsYXR0ZXIgY2FzZSwgdGhlIHNlcXVlbmNlcyBhcmVcbmNvbmNhdGVuYXRlZC5cblxuVGhlICItIiAoc3VidHJhY3Rpb24pIG9wZXJhdG9yIHlpZWxkcyB0aGUgZGlmZmVyZW5jZSBvZiBpdHMgYXJndW1lbnRzLlxuVGhlIG51bWVyaWMgYXJndW1lbnRzIGFyZSBmaXJzdCBjb252ZXJ0ZWQgdG8gYSBjb21tb24gdHlwZS5cbicsCiAgJ2JpdHdpc2UnOiB1J1xuQmluYXJ5IGJpdHdpc2Ugb3BlcmF0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKlxuXG5FYWNoIG9mIHRoZSB0aHJlZSBiaXR3aXNlIG9wZXJhdGlvbnMgaGFzIGEgZGlmZmVyZW50IHByaW9yaXR5IGxldmVsOlxuXG4gICBhbmRfZXhwciA6Oj0gc2hpZnRfZXhwciB8IGFuZF9leHByICImIiBzaGlmdF9leHByXG4gICB4b3JfZXhwciA6Oj0gYW5kX2V4cHIgfCB4b3JfZXhwciAiXiIgYW5kX2V4cHJcbiAgIG9yX2V4cHIgIDo6PSB4b3JfZXhwciB8IG9yX2V4cHIgInwiIHhvcl9leHByXG5cblRoZSAiJiIgb3BlcmF0b3IgeWllbGRzIHRoZSBiaXR3aXNlIEFORCBvZiBpdHMgYXJndW1lbnRzLCB3aGljaCBtdXN0XG5iZSBpbnRlZ2Vycy5cblxuVGhlICJeIiBvcGVyYXRvciB5aWVsZHMgdGhlIGJpdHdpc2UgWE9SIChleGNsdXNpdmUgT1IpIG9mIGl0c1xuYXJndW1lbnRzLCB3aGljaCBtdXN0IGJlIGludGVnZXJzLlxuXG5UaGUgInwiIG9wZXJhdG9yIHlpZWxkcyB0aGUgYml0d2lzZSAoaW5jbHVzaXZlKSBPUiBvZiBpdHMgYXJndW1lbnRzLFxud2hpY2ggbXVzdCBiZSBpbnRlZ2Vycy5cbicsCiAgJ2JsdGluLWNvZGUtb2JqZWN0cyc6IHUnXG5Db2RlIE9iamVjdHNcbioqKioqKioqKioqKlxuXG5Db2RlIG9iamVjdHMgYXJlIHVzZWQgYnkgdGhlIGltcGxlbWVudGF0aW9uIHRvIHJlcHJlc2VudCAicHNldWRvLVxuY29tcGlsZWQiIGV4ZWN1dGFibGUgUHl0aG9uIGNvZGUgc3VjaCBhcyBhIGZ1bmN0aW9uIGJvZHkuIFRoZXkgZGlmZmVyXG5mcm9tIGZ1bmN0aW9uIG9iamVjdHMgYmVjYXVzZSB0aGV5IGRvblwndCBjb250YWluIGEgcmVmZXJlbmNlIHRvIHRoZWlyXG5nbG9iYWwgZXhlY3V0aW9uIGVudmlyb25tZW50LiAgQ29kZSBvYmplY3RzIGFyZSByZXR1cm5lZCBieSB0aGUgYnVpbHQtXG5pbiAiY29tcGlsZSgpIiBmdW5jdGlvbiBhbmQgY2FuIGJlIGV4dHJhY3RlZCBmcm9tIGZ1bmN0aW9uIG9iamVjdHNcbnRocm91Z2ggdGhlaXIgIl9fY29kZV9fIiBhdHRyaWJ1dGUuIFNlZSBhbHNvIHRoZSAiY29kZSIgbW9kdWxlLlxuXG5BIGNvZGUgb2JqZWN0IGNhbiBiZSBleGVjdXRlZCBvciBldmFsdWF0ZWQgYnkgcGFzc2luZyBpdCAoaW5zdGVhZCBvZiBhXG5zb3VyY2Ugc3RyaW5nKSB0byB0aGUgImV4ZWMoKSIgb3IgImV2YWwoKSIgIGJ1aWx0LWluIGZ1bmN0aW9ucy5cblxuU2VlICpUaGUgc3RhbmRhcmQgdHlwZSBoaWVyYXJjaHkqIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuJywKICAnYmx0aW4tZWxsaXBzaXMtb2JqZWN0JzogdSdcblRoZSBFbGxpcHNpcyBPYmplY3RcbioqKioqKioqKioqKioqKioqKipcblxuVGhpcyBvYmplY3QgaXMgY29tbW9ubHkgdXNlZCBieSBzbGljaW5nIChzZWUgKlNsaWNpbmdzKikuICBJdCBzdXBwb3J0c1xubm8gc3BlY2lhbCBvcGVyYXRpb25zLiAgVGhlcmUgaXMgZXhhY3RseSBvbmUgZWxsaXBzaXMgb2JqZWN0LCBuYW1lZFxuIkVsbGlwc2lzIiAoYSBidWlsdC1pbiBuYW1lKS4gICJ0eXBlKEVsbGlwc2lzKSgpIiBwcm9kdWNlcyB0aGVcbiJFbGxpcHNpcyIgc2luZ2xldG9uLlxuXG5JdCBpcyB3cml0dGVuIGFzICJFbGxpcHNpcyIgb3IgIi4uLiIuXG4nLApAQCAtNDksOSArNDksOSBAQAogICduYW1pbmcnOiB1J1xuTmFtaW5nIGFuZCBiaW5kaW5nXG4qKioqKioqKioqKioqKioqKipcblxuKk5hbWVzKiByZWZlciB0byBvYmplY3RzLiAgTmFtZXMgYXJlIGludHJvZHVjZWQgYnkgbmFtZSBiaW5kaW5nXG5vcGVyYXRpb25zLiBFYWNoIG9jY3VycmVuY2Ugb2YgYSBuYW1lIGluIHRoZSBwcm9ncmFtIHRleHQgcmVmZXJzIHRvXG50aGUgKmJpbmRpbmcqIG9mIHRoYXQgbmFtZSBlc3RhYmxpc2hlZCBpbiB0aGUgaW5uZXJtb3N0IGZ1bmN0aW9uIGJsb2NrXG5jb250YWluaW5nIHRoZSB1c2UuXG5cbkEgKmJsb2NrKiBpcyBhIHBpZWNlIG9mIFB5dGhvbiBwcm9ncmFtIHRleHQgdGhhdCBpcyBleGVjdXRlZCBhcyBhXG51bml0LiBUaGUgZm9sbG93aW5nIGFyZSBibG9ja3M6IGEgbW9kdWxlLCBhIGZ1bmN0aW9uIGJvZHksIGFuZCBhIGNsYXNzXG5kZWZpbml0aW9uLiBFYWNoIGNvbW1hbmQgdHlwZWQgaW50ZXJhY3RpdmVseSBpcyBhIGJsb2NrLiAgQSBzY3JpcHRcbmZpbGUgKGEgZmlsZSBnaXZlbiBhcyBzdGFuZGFyZCBpbnB1dCB0byB0aGUgaW50ZXJwcmV0ZXIgb3Igc3BlY2lmaWVkXG5hcyBhIGNvbW1hbmQgbGluZSBhcmd1bWVudCB0byB0aGUgaW50ZXJwcmV0ZXIpIGlzIGEgY29kZSBibG9jay4gIEFcbnNjcmlwdCBjb21tYW5kIChhIGNvbW1hbmQgc3BlY2lmaWVkIG9uIHRoZSBpbnRlcnByZXRlciBjb21tYW5kIGxpbmVcbndpdGggdGhlIFwnKiotYyoqXCcgb3B0aW9uKSBpcyBhIGNvZGUgYmxvY2suICBUaGUgc3RyaW5nIGFyZ3VtZW50IHBhc3NlZFxudG8gdGhlIGJ1aWx0LWluIGZ1bmN0aW9ucyAiZXZhbCgpIiBhbmQgImV4ZWMoKSIgaXMgYSBjb2RlIGJsb2NrLlxuXG5BIGNvZGUgYmxvY2sgaXMgZXhlY3V0ZWQgaW4gYW4gKmV4ZWN1dGlvbiBmcmFtZSouICBBIGZyYW1lIGNvbnRhaW5zXG5zb21lIGFkbWluaXN0cmF0aXZlIGluZm9ybWF0aW9uICh1c2VkIGZvciBkZWJ1Z2dpbmcpIGFuZCBkZXRlcm1pbmVzXG53aGVyZSBhbmQgaG93IGV4ZWN1dGlvbiBjb250aW51ZXMgYWZ0ZXIgdGhlIGNvZGUgYmxvY2tcJ3MgZXhlY3V0aW9uIGhhc1xuY29tcGxldGVkLlxuXG5BICpzY29wZSogZGVmaW5lcyB0aGUgdmlzaWJpbGl0eSBvZiBhIG5hbWUgd2l0aGluIGEgYmxvY2suICBJZiBhIGxvY2FsXG52YXJpYWJsZSBpcyBkZWZpbmVkIGluIGEgYmxvY2ssIGl0cyBzY29wZSBpbmNsdWRlcyB0aGF0IGJsb2NrLiAgSWYgdGhlXG5kZWZpbml0aW9uIG9jY3VycyBpbiBhIGZ1bmN0aW9uIGJsb2NrLCB0aGUgc2NvcGUgZXh0ZW5kcyB0byBhbnkgYmxvY2tzXG5jb250YWluZWQgd2l0aGluIHRoZSBkZWZpbmluZyBvbmUsIHVubGVzcyBhIGNvbnRhaW5lZCBibG9jayBpbnRyb2R1Y2VzXG5hIGRpZmZlcmVudCBiaW5kaW5nIGZvciB0aGUgbmFtZS4gIFRoZSBzY29wZSBvZiBuYW1lcyBkZWZpbmVkIGluIGFcbmNsYXNzIGJsb2NrIGlzIGxpbWl0ZWQgdG8gdGhlIGNsYXNzIGJsb2NrOyBpdCBkb2VzIG5vdCBleHRlbmQgdG8gdGhlXG5jb2RlIGJsb2NrcyBvZiBtZXRob2RzIC0tIHRoaXMgaW5jbHVkZXMgY29tcHJlaGVuc2lvbnMgYW5kIGdlbmVyYXRvclxuZXhwcmVzc2lvbnMgc2luY2UgdGhleSBhcmUgaW1wbGVtZW50ZWQgdXNpbmcgYSBmdW5jdGlvbiBzY29wZS4gIFRoaXNcbm1lYW5zIHRoYXQgdGhlIGZvbGxvd2luZyB3aWxsIGZhaWw6XG5cbiAgIGNsYXNzIEE6XG4gICAgICAgYSA9IDQyXG4gICAgICAgYiA9IGxpc3QoYSArIGkgZm9yIGkgaW4gcmFuZ2UoMTApKVxuXG5XaGVuIGEgbmFtZSBpcyB1c2VkIGluIGEgY29kZSBibG9jaywgaXQgaXMgcmVzb2x2ZWQgdXNpbmcgdGhlIG5lYXJlc3RcbmVuY2xvc2luZyBzY29wZS4gIFRoZSBzZXQgb2YgYWxsIHN1Y2ggc2NvcGVzIHZpc2libGUgdG8gYSBjb2RlIGJsb2NrXG5pcyBjYWxsZWQgdGhlIGJsb2NrXCdzICplbnZpcm9ubWVudCouXG5cbklmIGEgbmFtZSBpcyBib3VuZCBpbiBhIGJsb2NrLCBpdCBpcyBhIGxvY2FsIHZhcmlhYmxlIG9mIHRoYXQgYmxvY2ssXG51bmxlc3MgZGVjbGFyZWQgYXMgIm5vbmxvY2FsIi4gIElmIGEgbmFtZSBpcyBib3VuZCBhdCB0aGUgbW9kdWxlXG5sZXZlbCwgaXQgaXMgYSBnbG9iYWwgdmFyaWFibGUuICAoVGhlIHZhcmlhYmxlcyBvZiB0aGUgbW9kdWxlIGNvZGVcbmJsb2NrIGFyZSBsb2NhbCBhbmQgZ2xvYmFsLikgIElmIGEgdmFyaWFibGUgaXMgdXNlZCBpbiBhIGNvZGUgYmxvY2tcbmJ1dCBub3QgZGVmaW5lZCB0aGVyZSwgaXQgaXMgYSAqZnJlZSB2YXJpYWJsZSouXG5cbldoZW4gYSBuYW1lIGlzIG5vdCBmb3VuZCBhdCBhbGwsIGEgIk5hbWVFcnJvciIgZXhjZXB0aW9uIGlzIHJhaXNlZC5cbklmIHRoZSBuYW1lIHJlZmVycyB0byBhIGxvY2FsIHZhcmlhYmxlIHRoYXQgaGFzIG5vdCBiZWVuIGJvdW5kLCBhblxuIlVuYm91bmRMb2NhbEVycm9yIiBleGNlcHRpb24gaXMgcmFpc2VkLiAgIlVuYm91bmRMb2NhbEVycm9yIiBpcyBhXG5zdWJjbGFzcyBvZiAiTmFtZUVycm9yIi5cblxuVGhlIGZvbGxvd2luZyBjb25zdHJ1Y3RzIGJpbmQgbmFtZXM6IGZvcm1hbCBwYXJhbWV0ZXJzIHRvIGZ1bmN0aW9ucyxcbiJpbXBvcnQiIHN0YXRlbWVudHMsIGNsYXNzIGFuZCBmdW5jdGlvbiBkZWZpbml0aW9ucyAodGhlc2UgYmluZCB0aGVcbmNsYXNzIG9yIGZ1bmN0aW9uIG5hbWUgaW4gdGhlIGRlZmluaW5nIGJsb2NrKSwgYW5kIHRhcmdldHMgdGhhdCBhcmVcbmlkZW50aWZpZXJzIGlmIG9jY3VycmluZyBpbiBhbiBhc3NpZ25tZW50LCAiZm9yIiBsb29wIGhlYWRlciwgb3IgYWZ0ZXJcbiJhcyIgaW4gYSAid2l0aCIgc3RhdGVtZW50IG9yICJleGNlcHQiIGNsYXVzZS4gVGhlICJpbXBvcnQiIHN0YXRlbWVudFxub2YgdGhlIGZvcm0gImZyb20gLi4uIGltcG9ydCAqIiBiaW5kcyBhbGwgbmFtZXMgZGVmaW5lZCBpbiB0aGVcbmltcG9ydGVkIG1vZHVsZSwgZXhjZXB0IHRob3NlIGJlZ2lubmluZyB3aXRoIGFuIHVuZGVyc2NvcmUuICBUaGlzIGZvcm1cbm1heSBvbmx5IGJlIHVzZWQgYXQgdGhlIG1vZHVsZSBsZXZlbC5cblxuQSB0YXJnZXQgb2NjdXJyaW5nIGluIGEgImRlbCIgc3RhdGVtZW50IGlzIGFsc28gY29uc2lkZXJlZCBib3VuZCBmb3JcbnRoaXMgcHVycG9zZSAodGhvdWdoIHRoZSBhY3R1YWwgc2VtYW50aWNzIGFyZSB0byB1bmJpbmQgdGhlIG5hbWUpLlxuXG5FYWNoIGFzc2lnbm1lbnQgb3IgaW1wb3J0IHN0YXRlbWVudCBvY2N1cnMgd2l0aGluIGEgYmxvY2sgZGVmaW5lZCBieSBhXG5jbGFzcyBvciBmdW5jdGlvbiBkZWZpbml0aW9uIG9yIGF0IHRoZSBtb2R1bGUgbGV2ZWwgKHRoZSB0b3AtbGV2ZWxcbmNvZGUgYmxvY2spLlxuXG5JZiBhIG5hbWUgYmluZGluZyBvcGVyYXRpb24gb2NjdXJzIGFueXdoZXJlIHdpdGhpbiBhIGNvZGUgYmxvY2ssIGFsbFxudXNlcyBvZiB0aGUgbmFtZSB3aXRoaW4gdGhlIGJsb2NrIGFyZSB0cmVhdGVkIGFzIHJlZmVyZW5jZXMgdG8gdGhlXG5jdXJyZW50IGJsb2NrLiAgVGhpcyBjYW4gbGVhZCB0byBlcnJvcnMgd2hlbiBhIG5hbWUgaXMgdXNlZCB3aXRoaW4gYVxuYmxvY2sgYmVmb3JlIGl0IGlzIGJvdW5kLiAgVGhpcyBydWxlIGlzIHN1YnRsZS4gIFB5dGhvbiBsYWNrc1xuZGVjbGFyYXRpb25zIGFuZCBhbGxvd3MgbmFtZSBiaW5kaW5nIG9wZXJhdGlvbnMgdG8gb2NjdXIgYW55d2hlcmVcbndpdGhpbiBhIGNvZGUgYmxvY2suICBUaGUgbG9jYWwgdmFyaWFibGVzIG9mIGEgY29kZSBibG9jayBjYW4gYmVcbmRldGVybWluZWQgYnkgc2Nhbm5pbmcgdGhlIGVudGlyZSB0ZXh0IG9mIHRoZSBibG9jayBmb3IgbmFtZSBiaW5kaW5nXG5vcGVyYXRpb25zLlxuXG5JZiB0aGUgImdsb2JhbCIgc3RhdGVtZW50IG9jY3VycyB3aXRoaW4gYSBibG9jaywgYWxsIHVzZXMgb2YgdGhlIG5hbWVcbnNwZWNpZmllZCBpbiB0aGUgc3RhdGVtZW50IHJlZmVyIHRvIHRoZSBiaW5kaW5nIG9mIHRoYXQgbmFtZSBpbiB0aGVcbnRvcC1sZXZlbCBuYW1lc3BhY2UuICBOYW1lcyBhcmUgcmVzb2x2ZWQgaW4gdGhlIHRvcC1sZXZlbCBuYW1lc3BhY2UgYnlcbnNlYXJjaGluZyB0aGUgZ2xvYmFsIG5hbWVzcGFjZSwgaS5lLiB0aGUgbmFtZXNwYWNlIG9mIHRoZSBtb2R1bGVcbmNvbnRhaW5pbmcgdGhlIGNvZGUgYmxvY2ssIGFuZCB0aGUgYnVpbHRpbnMgbmFtZXNwYWNlLCB0aGUgbmFtZXNwYWNlXG5vZiB0aGUgbW9kdWxlICJidWlsdGlucyIuICBUaGUgZ2xvYmFsIG5hbWVzcGFjZSBpcyBzZWFyY2hlZCBmaXJzdC4gIElmXG50aGUgbmFtZSBpcyBub3QgZm91bmQgdGhlcmUsIHRoZSBidWlsdGlucyBuYW1lc3BhY2UgaXMgc2VhcmNoZWQuICBUaGVcbiJnbG9iYWwiIHN0YXRlbWVudCBtdXN0IHByZWNlZGUgYWxsIHVzZXMgb2YgdGhlIG5hbWUuXG5cblRoZSBidWlsdGlucyBuYW1lc3BhY2UgYXNzb2NpYXRlZCB3aXRoIHRoZSBleGVjdXRpb24gb2YgYSBjb2RlIGJsb2NrXG5pcyBhY3R1YWxseSBmb3VuZCBieSBsb29raW5nIHVwIHRoZSBuYW1lICJfX2J1aWx0aW5zX18iIGluIGl0cyBnbG9iYWxcbm5hbWVzcGFjZTsgdGhpcyBzaG91bGQgYmUgYSBkaWN0aW9uYXJ5IG9yIGEgbW9kdWxlIChpbiB0aGUgbGF0dGVyIGNhc2VcbnRoZSBtb2R1bGVcJ3MgZGljdGlvbmFyeSBpcyB1c2VkKS4gIEJ5IGRlZmF1bHQsIHdoZW4gaW4gdGhlICJfX21haW5fXyJcbm1vZHVsZSwgIl9fYnVpbHRpbnNfXyIgaXMgdGhlIGJ1aWx0LWluIG1vZHVsZSAiYnVpbHRpbnMiOyB3aGVuIGluIGFueVxub3RoZXIgbW9kdWxlLCAiX19idWlsdGluc19fIiBpcyBhbiBhbGlhcyBmb3IgdGhlIGRpY3Rpb25hcnkgb2YgdGhlXG4iYnVpbHRpbnMiIG1vZHVsZSBpdHNlbGYuICAiX19idWlsdGluc19fIiBjYW4gYmUgc2V0IHRvIGEgdXNlci1jcmVhdGVkXG5kaWN0aW9uYXJ5IHRvIGNyZWF0ZSBhIHdlYWsgZm9ybSBvZiByZXN0cmljdGVkIGV4ZWN1dGlvbi5cblxuKipDUHl0aG9uIGltcGxlbWVudGF0aW9uIGRldGFpbDoqKiBVc2VycyBzaG91bGQgbm90IHRvdWNoXG4iX19idWlsdGluc19fIjsgaXQgaXMgc3RyaWN0bHkgYW4gaW1wbGVtZW50YXRpb24gZGV0YWlsLiAgVXNlcnNcbndhbnRpbmcgdG8gb3ZlcnJpZGUgdmFsdWVzIGluIHRoZSBidWlsdGlucyBuYW1lc3BhY2Ugc2hvdWxkICJpbXBvcnQiXG50aGUgImJ1aWx0aW5zIiBtb2R1bGUgYW5kIG1vZGlmeSBpdHMgYXR0cmlidXRlcyBhcHByb3ByaWF0ZWx5LlxuXG5UaGUgbmFtZXNwYWNlIGZvciBhIG1vZHVsZSBpcyBhdXRvbWF0aWNhbGx5IGNyZWF0ZWQgdGhlIGZpcnN0IHRpbWUgYVxubW9kdWxlIGlzIGltcG9ydGVkLiAgVGhlIG1haW4gbW9kdWxlIGZvciBhIHNjcmlwdCBpcyBhbHdheXMgY2FsbGVkXG4iX19tYWluX18iLlxuXG5UaGUgImdsb2JhbCIgc3RhdGVtZW50IGhhcyB0aGUgc2FtZSBzY29wZSBhcyBhIG5hbWUgYmluZGluZyBvcGVyYXRpb25cbmluIHRoZSBzYW1lIGJsb2NrLiAgSWYgdGhlIG5lYXJlc3QgZW5jbG9zaW5nIHNjb3BlIGZvciBhIGZyZWUgdmFyaWFibGVcbmNvbnRhaW5zIGEgZ2xvYmFsIHN0YXRlbWVudCwgdGhlIGZyZWUgdmFyaWFibGUgaXMgdHJlYXRlZCBhcyBhIGdsb2JhbC5cblxuQSBjbGFzcyBkZWZpbml0aW9uIGlzIGFuIGV4ZWN1dGFibGUgc3RhdGVtZW50IHRoYXQgbWF5IHVzZSBhbmQgZGVmaW5lXG5uYW1lcy4gVGhlc2UgcmVmZXJlbmNlcyBmb2xsb3cgdGhlIG5vcm1hbCBydWxlcyBmb3IgbmFtZSByZXNvbHV0aW9uLlxuVGhlIG5hbWVzcGFjZSBvZiB0aGUgY2xhc3MgZGVmaW5pdGlvbiBiZWNvbWVzIHRoZSBhdHRyaWJ1dGUgZGljdGlvbmFyeVxub2YgdGhlIGNsYXNzLiAgTmFtZXMgZGVmaW5lZCBhdCB0aGUgY2xhc3Mgc2NvcGUgYXJlIG5vdCB2aXNpYmxlIGluXG5tZXRob2RzLlxuXG5cbkludGVyYWN0aW9uIHdpdGggZHluYW1pYyBmZWF0dXJlc1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblRoZXJlIGFyZSBzZXZlcmFsIGNhc2VzIHdoZXJlIFB5dGhvbiBzdGF0ZW1lbnRzIGFyZSBpbGxlZ2FsIHdoZW4gdXNlZFxuaW4gY29uanVuY3Rpb24gd2l0aCBuZXN0ZWQgc2NvcGVzIHRoYXQgY29udGFpbiBmcmVlIHZhcmlhYmxlcy5cblxuSWYgYSB2YXJpYWJsZSBpcyByZWZlcmVuY2VkIGluIGFuIGVuY2xvc2luZyBzY29wZSwgaXQgaXMgaWxsZWdhbCB0b1xuZGVsZXRlIHRoZSBuYW1lLiAgQW4gZXJyb3Igd2lsbCBiZSByZXBvcnRlZCBhdCBjb21waWxlIHRpbWUuXG5cbklmIHRoZSB3aWxkIGNhcmQgZm9ybSBvZiBpbXBvcnQgLS0tICJpbXBvcnQgKiIgLS0tIGlzIHVzZWQgaW4gYVxuZnVuY3Rpb24gYW5kIHRoZSBmdW5jdGlvbiBjb250YWlucyBvciBpcyBhIG5lc3RlZCBibG9jayB3aXRoIGZyZWVcbnZhcmlhYmxlcywgdGhlIGNvbXBpbGVyIHdpbGwgcmFpc2UgYSAiU3ludGF4RXJyb3IiLlxuXG5UaGUgImV2YWwoKSIgYW5kICJleGVjKCkiIGZ1bmN0aW9ucyBkbyBub3QgaGF2ZSBhY2Nlc3MgdG8gdGhlIGZ1bGxcbmVudmlyb25tZW50IGZvciByZXNvbHZpbmcgbmFtZXMuICBOYW1lcyBtYXkgYmUgcmVzb2x2ZWQgaW4gdGhlIGxvY2FsXG5hbmQgZ2xvYmFsIG5hbWVzcGFjZXMgb2YgdGhlIGNhbGxlci4gIEZyZWUgdmFyaWFibGVzIGFyZSBub3QgcmVzb2x2ZWRcbmluIHRoZSBuZWFyZXN0IGVuY2xvc2luZyBuYW1lc3BhY2UsIGJ1dCBpbiB0aGUgZ2xvYmFsIG5hbWVzcGFjZS4gIFsxXVxuVGhlICJleGVjKCkiIGFuZCAiZXZhbCgpIiBmdW5jdGlvbnMgaGF2ZSBvcHRpb25hbCBhcmd1bWVudHMgdG9cbm92ZXJyaWRlIHRoZSBnbG9iYWwgYW5kIGxvY2FsIG5hbWVzcGFjZS4gIElmIG9ubHkgb25lIG5hbWVzcGFjZSBpc1xuc3BlY2lmaWVkLCBpdCBpcyB1c2VkIGZvciBib3RoLlxuJywKICAnbm9ubG9jYWwnOiB1J1xuVGhlICJub25sb2NhbCIgc3RhdGVtZW50XG4qKioqKioqKioqKioqKioqKioqKioqKipcblxuICAgbm9ubG9jYWxfc3RtdCA6Oj0gIm5vbmxvY2FsIiBpZGVudGlmaWVyICgiLCIgaWRlbnRpZmllcikqXG5cblRoZSAibm9ubG9jYWwiIHN0YXRlbWVudCBjYXVzZXMgdGhlIGxpc3RlZCBpZGVudGlmaWVycyB0byByZWZlciB0b1xucHJldmlvdXNseSBib3VuZCB2YXJpYWJsZXMgaW4gdGhlIG5lYXJlc3QgZW5jbG9zaW5nIHNjb3BlIGV4Y2x1ZGluZ1xuZ2xvYmFscy4gVGhpcyBpcyBpbXBvcnRhbnQgYmVjYXVzZSB0aGUgZGVmYXVsdCBiZWhhdmlvciBmb3IgYmluZGluZyBpc1xudG8gc2VhcmNoIHRoZSBsb2NhbCBuYW1lc3BhY2UgZmlyc3QuICBUaGUgc3RhdGVtZW50IGFsbG93c1xuZW5jYXBzdWxhdGVkIGNvZGUgdG8gcmViaW5kIHZhcmlhYmxlcyBvdXRzaWRlIG9mIHRoZSBsb2NhbCBzY29wZVxuYmVzaWRlcyB0aGUgZ2xvYmFsIChtb2R1bGUpIHNjb3BlLlxuXG5OYW1lcyBsaXN0ZWQgaW4gYSAibm9ubG9jYWwiIHN0YXRlbWVudCwgdW5saWtlIHRob3NlIGxpc3RlZCBpbiBhXG4iZ2xvYmFsIiBzdGF0ZW1lbnQsIG11c3QgcmVmZXIgdG8gcHJlLWV4aXN0aW5nIGJpbmRpbmdzIGluIGFuXG5lbmNsb3Npbmcgc2NvcGUgKHRoZSBzY29wZSBpbiB3aGljaCBhIG5ldyBiaW5kaW5nIHNob3VsZCBiZSBjcmVhdGVkXG5jYW5ub3QgYmUgZGV0ZXJtaW5lZCB1bmFtYmlndW91c2x5KS5cblxuTmFtZXMgbGlzdGVkIGluIGEgIm5vbmxvY2FsIiBzdGF0ZW1lbnQgbXVzdCBub3QgY29sbGlkZSB3aXRoIHByZS1cbmV4aXN0aW5nIGJpbmRpbmdzIGluIHRoZSBsb2NhbCBzY29wZS5cblxuU2VlIGFsc286ICoqUEVQIDMxMDQqKiAtIEFjY2VzcyB0byBOYW1lcyBpbiBPdXRlciBTY29wZXNcblxuICAgICBUaGUgc3BlY2lmaWNhdGlvbiBmb3IgdGhlICJub25sb2NhbCIgc3RhdGVtZW50LlxuJywKICAnbnVtYmVycyc6IHUnXG5OdW1lcmljIGxpdGVyYWxzXG4qKioqKioqKioqKioqKioqXG5cblRoZXJlIGFyZSB0aHJlZSB0eXBlcyBvZiBudW1lcmljIGxpdGVyYWxzOiBpbnRlZ2VycywgZmxvYXRpbmcgcG9pbnRcbm51bWJlcnMsIGFuZCBpbWFnaW5hcnkgbnVtYmVycy4gIFRoZXJlIGFyZSBubyBjb21wbGV4IGxpdGVyYWxzXG4oY29tcGxleCBudW1iZXJzIGNhbiBiZSBmb3JtZWQgYnkgYWRkaW5nIGEgcmVhbCBudW1iZXIgYW5kIGFuXG5pbWFnaW5hcnkgbnVtYmVyKS5cblxuTm90ZSB0aGF0IG51bWVyaWMgbGl0ZXJhbHMgZG8gbm90IGluY2x1ZGUgYSBzaWduOyBhIHBocmFzZSBsaWtlICItMSJcbmlzIGFjdHVhbGx5IGFuIGV4cHJlc3Npb24gY29tcG9zZWQgb2YgdGhlIHVuYXJ5IG9wZXJhdG9yIFwnIi0iXCcgYW5kIHRoZVxubGl0ZXJhbCAiMSIuXG4nLAotICdudW1lcmljLXR5cGVzJzogdSdcbkVtdWxhdGluZyBudW1lcmljIHR5cGVzXG4qKioqKioqKioqKioqKioqKioqKioqKlxuXG5UaGUgZm9sbG93aW5nIG1ldGhvZHMgY2FuIGJlIGRlZmluZWQgdG8gZW11bGF0ZSBudW1lcmljIG9iamVjdHMuXG5NZXRob2RzIGNvcnJlc3BvbmRpbmcgdG8gb3BlcmF0aW9ucyB0aGF0IGFyZSBub3Qgc3VwcG9ydGVkIGJ5IHRoZVxucGFydGljdWxhciBraW5kIG9mIG51bWJlciBpbXBsZW1lbnRlZCAoZS5nLiwgYml0d2lzZSBvcGVyYXRpb25zIGZvclxubm9uLWludGVncmFsIG51bWJlcnMpIHNob3VsZCBiZSBsZWZ0IHVuZGVmaW5lZC5cblxub2JqZWN0Ll9fYWRkX18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19zdWJfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX211bF9fKHNlbGYsIG90aGVyKVxub2JqZWN0Ll9fdHJ1ZWRpdl9fKHNlbGYsIG90aGVyKVxub2JqZWN0Ll9fZmxvb3JkaXZfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX21vZF9fKHNlbGYsIG90aGVyKVxub2JqZWN0Ll9fZGl2bW9kX18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19wb3dfXyhzZWxmLCBvdGhlclssIG1vZHVsb10pXG5vYmplY3QuX19sc2hpZnRfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX3JzaGlmdF9fKHNlbGYsIG90aGVyKVxub2JqZWN0Ll9fYW5kX18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX194b3JfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX29yX18oc2VsZiwgb3RoZXIpXG5cbiAgIFRoZXNlIG1ldGhvZHMgYXJlIGNhbGxlZCB0byBpbXBsZW1lbnQgdGhlIGJpbmFyeSBhcml0aG1ldGljXG4gICBvcGVyYXRpb25zICgiKyIsICItIiwgIioiLCAiLyIsICIvLyIsICIlIiwgImRpdm1vZCgpIiwgInBvdygpIixcbiAgICIqKiIsICI8PCIsICI+PiIsICImIiwgIl4iLCAifCIpLiAgRm9yIGluc3RhbmNlLCB0byBldmFsdWF0ZSB0aGVcbiAgIGV4cHJlc3Npb24gInggKyB5Iiwgd2hlcmUgKngqIGlzIGFuIGluc3RhbmNlIG9mIGEgY2xhc3MgdGhhdCBoYXMgYW5cbiAgICJfX2FkZF9fKCkiIG1ldGhvZCwgInguX19hZGRfXyh5KSIgaXMgY2FsbGVkLiAgVGhlICJfX2Rpdm1vZF9fKCkiXG4gICBtZXRob2Qgc2hvdWxkIGJlIHRoZSBlcXVpdmFsZW50IHRvIHVzaW5nICJfX2Zsb29yZGl2X18oKSIgYW5kXG4gICAiX19tb2RfXygpIjsgaXQgc2hvdWxkIG5vdCBiZSByZWxhdGVkIHRvICJfX3RydWVkaXZfXygpIi4gIE5vdGVcbiAgIHRoYXQgIl9fcG93X18oKSIgc2hvdWxkIGJlIGRlZmluZWQgdG8gYWNjZXB0IGFuIG9wdGlvbmFsIHRoaXJkXG4gICBhcmd1bWVudCBpZiB0aGUgdGVybmFyeSB2ZXJzaW9uIG9mIHRoZSBidWlsdC1pbiAicG93KCkiIGZ1bmN0aW9uIGlzXG4gICB0byBiZSBzdXBwb3J0ZWQuXG5cbiAgIElmIG9uZSBvZiB0aG9zZSBtZXRob2RzIGRvZXMgbm90IHN1cHBvcnQgdGhlIG9wZXJhdGlvbiB3aXRoIHRoZVxuICAgc3VwcGxpZWQgYXJndW1lbnRzLCBpdCBzaG91bGQgcmV0dXJuICJOb3RJbXBsZW1lbnRlZCIuXG5cbm9iamVjdC5fX3JhZGRfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX3JzdWJfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX3JtdWxfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX3J0cnVlZGl2X18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19yZmxvb3JkaXZfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX3Jtb2RfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX3JkaXZtb2RfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX3Jwb3dfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX3Jsc2hpZnRfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX3Jyc2hpZnRfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX3JhbmRfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX3J4b3JfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX3Jvcl9fKHNlbGYsIG90aGVyKVxuXG4gICBUaGVzZSBtZXRob2RzIGFyZSBjYWxsZWQgdG8gaW1wbGVtZW50IHRoZSBiaW5hcnkgYXJpdGhtZXRpY1xuICAgb3BlcmF0aW9ucyAoIisiLCAiLSIsICIqIiwgIi8iLCAiLy8iLCAiJSIsICJkaXZtb2QoKSIsICJwb3coKSIsXG4gICAiKioiLCAiPDwiLCAiPj4iLCAiJiIsICJeIiwgInwiKSB3aXRoIHJlZmxlY3RlZCAoc3dhcHBlZCkgb3BlcmFuZHMuXG4gICBUaGVzZSBmdW5jdGlvbnMgYXJlIG9ubHkgY2FsbGVkIGlmIHRoZSBsZWZ0IG9wZXJhbmQgZG9lcyBub3RcbiAgIHN1cHBvcnQgdGhlIGNvcnJlc3BvbmRpbmcgb3BlcmF0aW9uIGFuZCB0aGUgb3BlcmFuZHMgYXJlIG9mXG4gICBkaWZmZXJlbnQgdHlwZXMuIFsyXSAgRm9yIGluc3RhbmNlLCB0byBldmFsdWF0ZSB0aGUgZXhwcmVzc2lvbiAieCAtXG4gICB5Iiwgd2hlcmUgKnkqIGlzIGFuIGluc3RhbmNlIG9mIGEgY2xhc3MgdGhhdCBoYXMgYW4gIl9fcnN1Yl9fKCkiXG4gICBtZXRob2QsICJ5Ll9fcnN1Yl9fKHgpIiBpcyBjYWxsZWQgaWYgInguX19zdWJfXyh5KSIgcmV0dXJuc1xuICAgKk5vdEltcGxlbWVudGVkKi5cblxuICAgTm90ZSB0aGF0IHRlcm5hcnkgInBvdygpIiB3aWxsIG5vdCB0cnkgY2FsbGluZyAiX19ycG93X18oKSIgKHRoZVxuICAgY29lcmNpb24gcnVsZXMgd291bGQgYmVjb21lIHRvbyBjb21wbGljYXRlZCkuXG5cbiAgIE5vdGU6IElmIHRoZSByaWdodCBvcGVyYW5kXCdzIHR5cGUgaXMgYSBzdWJjbGFzcyBvZiB0aGUgbGVmdFxuICAgICBvcGVyYW5kXCdzIHR5cGUgYW5kIHRoYXQgc3ViY2xhc3MgcHJvdmlkZXMgdGhlIHJlZmxlY3RlZCBtZXRob2RcbiAgICAgZm9yIHRoZSBvcGVyYXRpb24sIHRoaXMgbWV0aG9kIHdpbGwgYmUgY2FsbGVkIGJlZm9yZSB0aGUgbGVmdFxuICAgICBvcGVyYW5kXCdzIG5vbi1yZWZsZWN0ZWQgbWV0aG9kLiAgVGhpcyBiZWhhdmlvciBhbGxvd3Mgc3ViY2xhc3Nlc1xuICAgICB0byBvdmVycmlkZSB0aGVpciBhbmNlc3RvcnNcJyBvcGVyYXRpb25zLlxuXG5vYmplY3QuX19pYWRkX18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19pc3ViX18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19pbXVsX18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19pdHJ1ZWRpdl9fKHNlbGYsIG90aGVyKVxub2JqZWN0Ll9faWZsb29yZGl2X18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19pbW9kX18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19pcG93X18oc2VsZiwgb3RoZXJbLCBtb2R1bG9dKVxub2JqZWN0Ll9faWxzaGlmdF9fKHNlbGYsIG90aGVyKVxub2JqZWN0Ll9faXJzaGlmdF9fKHNlbGYsIG90aGVyKVxub2JqZWN0Ll9faWFuZF9fKHNlbGYsIG90aGVyKVxub2JqZWN0Ll9faXhvcl9fKHNlbGYsIG90aGVyKVxub2JqZWN0Ll9faW9yX18oc2VsZiwgb3RoZXIpXG5cbiAgIFRoZXNlIG1ldGhvZHMgYXJlIGNhbGxlZCB0byBpbXBsZW1lbnQgdGhlIGF1Z21lbnRlZCBhcml0aG1ldGljXG4gICBhc3NpZ25tZW50cyAoIis9IiwgIi09IiwgIio9IiwgIi89IiwgIi8vPSIsICIlPSIsICIqKj0iLCAiPDw9IixcbiAgICI+Pj0iLCAiJj0iLCAiXj0iLCAifD0iKS4gIFRoZXNlIG1ldGhvZHMgc2hvdWxkIGF0dGVtcHQgdG8gZG8gdGhlXG4gICBvcGVyYXRpb24gaW4tcGxhY2UgKG1vZGlmeWluZyAqc2VsZiopIGFuZCByZXR1cm4gdGhlIHJlc3VsdCAod2hpY2hcbiAgIGNvdWxkIGJlLCBidXQgZG9lcyBub3QgaGF2ZSB0byBiZSwgKnNlbGYqKS4gIElmIGEgc3BlY2lmaWMgbWV0aG9kXG4gICBpcyBub3QgZGVmaW5lZCwgdGhlIGF1Z21lbnRlZCBhc3NpZ25tZW50IGZhbGxzIGJhY2sgdG8gdGhlIG5vcm1hbFxuICAgbWV0aG9kcy4gIEZvciBpbnN0YW5jZSwgaWYgKngqIGlzIGFuIGluc3RhbmNlIG9mIGEgY2xhc3Mgd2l0aCBhblxuICAgIl9faWFkZF9fKCkiIG1ldGhvZCwgInggKz0geSIgaXMgZXF1aXZhbGVudCB0byAieCA9IHguX19pYWRkX18oeSkiXG4gICAuIE90aGVyd2lzZSwgInguX19hZGRfXyh5KSIgYW5kICJ5Ll9fcmFkZF9fKHgpIiBhcmUgY29uc2lkZXJlZCwgYXNcbiAgIHdpdGggdGhlIGV2YWx1YXRpb24gb2YgInggKyB5Ii4gSW4gY2VydGFpbiBzaXR1YXRpb25zLCBhdWdtZW50ZWRcbiAgIGFzc2lnbm1lbnQgY2FuIHJlc3VsdCBpbiB1bmV4cGVjdGVkIGVycm9ycyAoc2VlICpXaHkgZG9lc1xuICAgYV90dXBsZVtpXSArPSBbXCdpdGVtXCddIHJhaXNlIGFuIGV4Y2VwdGlvbiB3aGVuIHRoZSBhZGRpdGlvblxuICAgd29ya3M/KiksIGJ1dCB0aGlzIGJlaGF2aW9yIGlzIGluIGZhY3QgcGFydCBvZiB0aGUgZGF0YSBtb2RlbC5cblxub2JqZWN0Ll9fbmVnX18oc2VsZilcbm9iamVjdC5fX3Bvc19fKHNlbGYpXG5vYmplY3QuX19hYnNfXyhzZWxmKVxub2JqZWN0Ll9faW52ZXJ0X18oc2VsZilcblxuICAgQ2FsbGVkIHRvIGltcGxlbWVudCB0aGUgdW5hcnkgYXJpdGhtZXRpYyBvcGVyYXRpb25zICgiLSIsICIrIixcbiAgICJhYnMoKSIgYW5kICJ+IikuXG5cbm9iamVjdC5fX2NvbXBsZXhfXyhzZWxmKVxub2JqZWN0Ll9faW50X18oc2VsZilcbm9iamVjdC5fX2Zsb2F0X18oc2VsZilcbm9iamVjdC5fX3JvdW5kX18oc2VsZlssIG5dKVxuXG4gICBDYWxsZWQgdG8gaW1wbGVtZW50IHRoZSBidWlsdC1pbiBmdW5jdGlvbnMgImNvbXBsZXgoKSIsICJpbnQoKSIsXG4gICAiZmxvYXQoKSIgYW5kICJyb3VuZCgpIi4gIFNob3VsZCByZXR1cm4gYSB2YWx1ZSBvZiB0aGUgYXBwcm9wcmlhdGVcbiAgIHR5cGUuXG5cbm9iamVjdC5fX2luZGV4X18oc2VsZilcblxuICAgQ2FsbGVkIHRvIGltcGxlbWVudCAib3BlcmF0b3IuaW5kZXgoKSIsIGFuZCB3aGVuZXZlciBQeXRob24gbmVlZHNcbiAgIHRvIGxvc3NsZXNzbHkgY29udmVydCB0aGUgbnVtZXJpYyBvYmplY3QgdG8gYW4gaW50ZWdlciBvYmplY3QgKHN1Y2hcbiAgIGFzIGluIHNsaWNpbmcsIG9yIGluIHRoZSBidWlsdC1pbiAiYmluKCkiLCAiaGV4KCkiIGFuZCAib2N0KCkiXG4gICBmdW5jdGlvbnMpLiBQcmVzZW5jZSBvZiB0aGlzIG1ldGhvZCBpbmRpY2F0ZXMgdGhhdCB0aGUgbnVtZXJpY1xuICAgb2JqZWN0IGlzIGFuIGludGVnZXIgdHlwZS4gIE11c3QgcmV0dXJuIGFuIGludGVnZXIuXG5cbiAgIE5vdGU6IEluIG9yZGVyIHRvIGhhdmUgYSBjb2hlcmVudCBpbnRlZ2VyIHR5cGUgY2xhc3MsIHdoZW5cbiAgICAgIl9faW5kZXhfXygpIiBpcyBkZWZpbmVkICJfX2ludF9fKCkiIHNob3VsZCBhbHNvIGJlIGRlZmluZWQsIGFuZFxuICAgICBib3RoIHNob3VsZCByZXR1cm4gdGhlIHNhbWUgdmFsdWUuXG4nLAorICdudW1lcmljLXR5cGVzJzogdSdcbkVtdWxhdGluZyBudW1lcmljIHR5cGVzXG4qKioqKioqKioqKioqKioqKioqKioqKlxuXG5UaGUgZm9sbG93aW5nIG1ldGhvZHMgY2FuIGJlIGRlZmluZWQgdG8gZW11bGF0ZSBudW1lcmljIG9iamVjdHMuXG5NZXRob2RzIGNvcnJlc3BvbmRpbmcgdG8gb3BlcmF0aW9ucyB0aGF0IGFyZSBub3Qgc3VwcG9ydGVkIGJ5IHRoZVxucGFydGljdWxhciBraW5kIG9mIG51bWJlciBpbXBsZW1lbnRlZCAoZS5nLiwgYml0d2lzZSBvcGVyYXRpb25zIGZvclxubm9uLWludGVncmFsIG51bWJlcnMpIHNob3VsZCBiZSBsZWZ0IHVuZGVmaW5lZC5cblxub2JqZWN0Ll9fYWRkX18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19zdWJfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX211bF9fKHNlbGYsIG90aGVyKVxub2JqZWN0Ll9fbWF0bXVsX18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX190cnVlZGl2X18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19mbG9vcmRpdl9fKHNlbGYsIG90aGVyKVxub2JqZWN0Ll9fbW9kX18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19kaXZtb2RfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX3Bvd19fKHNlbGYsIG90aGVyWywgbW9kdWxvXSlcbm9iamVjdC5fX2xzaGlmdF9fKHNlbGYsIG90aGVyKVxub2JqZWN0Ll9fcnNoaWZ0X18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19hbmRfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX3hvcl9fKHNlbGYsIG90aGVyKVxub2JqZWN0Ll9fb3JfXyhzZWxmLCBvdGhlcilcblxuICAgVGhlc2UgbWV0aG9kcyBhcmUgY2FsbGVkIHRvIGltcGxlbWVudCB0aGUgYmluYXJ5IGFyaXRobWV0aWNcbiAgIG9wZXJhdGlvbnMgKCIrIiwgIi0iLCAiKiIsICJAIiwgIi8iLCAiLy8iLCAiJSIsICJkaXZtb2QoKSIsXG4gICAicG93KCkiLCAiKioiLCAiPDwiLCAiPj4iLCAiJiIsICJeIiwgInwiKS4gIEZvciBpbnN0YW5jZSwgdG9cbiAgIGV2YWx1YXRlIHRoZSBleHByZXNzaW9uICJ4ICsgeSIsIHdoZXJlICp4KiBpcyBhbiBpbnN0YW5jZSBvZiBhXG4gICBjbGFzcyB0aGF0IGhhcyBhbiAiX19hZGRfXygpIiBtZXRob2QsICJ4Ll9fYWRkX18oeSkiIGlzIGNhbGxlZC5cbiAgIFRoZSAiX19kaXZtb2RfXygpIiBtZXRob2Qgc2hvdWxkIGJlIHRoZSBlcXVpdmFsZW50IHRvIHVzaW5nXG4gICAiX19mbG9vcmRpdl9fKCkiIGFuZCAiX19tb2RfXygpIjsgaXQgc2hvdWxkIG5vdCBiZSByZWxhdGVkIHRvXG4gICAiX190cnVlZGl2X18oKSIuICBOb3RlIHRoYXQgIl9fcG93X18oKSIgc2hvdWxkIGJlIGRlZmluZWQgdG8gYWNjZXB0XG4gICBhbiBvcHRpb25hbCB0aGlyZCBhcmd1bWVudCBpZiB0aGUgdGVybmFyeSB2ZXJzaW9uIG9mIHRoZSBidWlsdC1pblxuICAgInBvdygpIiBmdW5jdGlvbiBpcyB0byBiZSBzdXBwb3J0ZWQuXG5cbiAgIElmIG9uZSBvZiB0aG9zZSBtZXRob2RzIGRvZXMgbm90IHN1cHBvcnQgdGhlIG9wZXJhdGlvbiB3aXRoIHRoZVxuICAgc3VwcGxpZWQgYXJndW1lbnRzLCBpdCBzaG91bGQgcmV0dXJuICJOb3RJbXBsZW1lbnRlZCIuXG5cbm9iamVjdC5fX3JhZGRfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX3JzdWJfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX3JtdWxfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX3JtYXRtdWxfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX3J0cnVlZGl2X18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19yZmxvb3JkaXZfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX3Jtb2RfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX3JkaXZtb2RfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX3Jwb3dfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX3Jsc2hpZnRfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX3Jyc2hpZnRfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX3JhbmRfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX3J4b3JfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX3Jvcl9fKHNlbGYsIG90aGVyKVxuXG4gICBUaGVzZSBtZXRob2RzIGFyZSBjYWxsZWQgdG8gaW1wbGVtZW50IHRoZSBiaW5hcnkgYXJpdGhtZXRpY1xuICAgb3BlcmF0aW9ucyAoIisiLCAiLSIsICIqIiwgIkAiLCAiLyIsICIvLyIsICIlIiwgImRpdm1vZCgpIixcbiAgICJwb3coKSIsICIqKiIsICI8PCIsICI+PiIsICImIiwgIl4iLCAifCIpIHdpdGggcmVmbGVjdGVkIChzd2FwcGVkKVxuICAgb3BlcmFuZHMuICBUaGVzZSBmdW5jdGlvbnMgYXJlIG9ubHkgY2FsbGVkIGlmIHRoZSBsZWZ0IG9wZXJhbmQgZG9lc1xuICAgbm90IHN1cHBvcnQgdGhlIGNvcnJlc3BvbmRpbmcgb3BlcmF0aW9uIGFuZCB0aGUgb3BlcmFuZHMgYXJlIG9mXG4gICBkaWZmZXJlbnQgdHlwZXMuIFsyXSBGb3IgaW5zdGFuY2UsIHRvIGV2YWx1YXRlIHRoZSBleHByZXNzaW9uICJ4IC1cbiAgIHkiLCB3aGVyZSAqeSogaXMgYW4gaW5zdGFuY2Ugb2YgYSBjbGFzcyB0aGF0IGhhcyBhbiAiX19yc3ViX18oKSJcbiAgIG1ldGhvZCwgInkuX19yc3ViX18oeCkiIGlzIGNhbGxlZCBpZiAieC5fX3N1Yl9fKHkpIiByZXR1cm5zXG4gICAqTm90SW1wbGVtZW50ZWQqLlxuXG4gICBOb3RlIHRoYXQgdGVybmFyeSAicG93KCkiIHdpbGwgbm90IHRyeSBjYWxsaW5nICJfX3Jwb3dfXygpIiAodGhlXG4gICBjb2VyY2lvbiBydWxlcyB3b3VsZCBiZWNvbWUgdG9vIGNvbXBsaWNhdGVkKS5cblxuICAgTm90ZTogSWYgdGhlIHJpZ2h0IG9wZXJhbmRcJ3MgdHlwZSBpcyBhIHN1YmNsYXNzIG9mIHRoZSBsZWZ0XG4gICAgIG9wZXJhbmRcJ3MgdHlwZSBhbmQgdGhhdCBzdWJjbGFzcyBwcm92aWRlcyB0aGUgcmVmbGVjdGVkIG1ldGhvZFxuICAgICBmb3IgdGhlIG9wZXJhdGlvbiwgdGhpcyBtZXRob2Qgd2lsbCBiZSBjYWxsZWQgYmVmb3JlIHRoZSBsZWZ0XG4gICAgIG9wZXJhbmRcJ3Mgbm9uLXJlZmxlY3RlZCBtZXRob2QuICBUaGlzIGJlaGF2aW9yIGFsbG93cyBzdWJjbGFzc2VzXG4gICAgIHRvIG92ZXJyaWRlIHRoZWlyIGFuY2VzdG9yc1wnIG9wZXJhdGlvbnMuXG5cbm9iamVjdC5fX2lhZGRfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX2lzdWJfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX2ltdWxfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX2ltYXRtdWxfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX2l0cnVlZGl2X18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19pZmxvb3JkaXZfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX2ltb2RfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX2lwb3dfXyhzZWxmLCBvdGhlclssIG1vZHVsb10pXG5vYmplY3QuX19pbHNoaWZ0X18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19pcnNoaWZ0X18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19pYW5kX18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19peG9yX18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19pb3JfXyhzZWxmLCBvdGhlcilcblxuICAgVGhlc2UgbWV0aG9kcyBhcmUgY2FsbGVkIHRvIGltcGxlbWVudCB0aGUgYXVnbWVudGVkIGFyaXRobWV0aWNcbiAgIGFzc2lnbm1lbnRzICgiKz0iLCAiLT0iLCAiKj0iLCAiQD0iLCAiLz0iLCAiLy89IiwgIiU9IiwgIioqPSIsXG4gICAiPDw9IiwgIj4+PSIsICImPSIsICJePSIsICJ8PSIpLiAgVGhlc2UgbWV0aG9kcyBzaG91bGQgYXR0ZW1wdCB0b1xuICAgZG8gdGhlIG9wZXJhdGlvbiBpbi1wbGFjZSAobW9kaWZ5aW5nICpzZWxmKikgYW5kIHJldHVybiB0aGUgcmVzdWx0XG4gICAod2hpY2ggY291bGQgYmUsIGJ1dCBkb2VzIG5vdCBoYXZlIHRvIGJlLCAqc2VsZiopLiAgSWYgYSBzcGVjaWZpY1xuICAgbWV0aG9kIGlzIG5vdCBkZWZpbmVkLCB0aGUgYXVnbWVudGVkIGFzc2lnbm1lbnQgZmFsbHMgYmFjayB0byB0aGVcbiAgIG5vcm1hbCBtZXRob2RzLiAgRm9yIGluc3RhbmNlLCBpZiAqeCogaXMgYW4gaW5zdGFuY2Ugb2YgYSBjbGFzc1xuICAgd2l0aCBhbiAiX19pYWRkX18oKSIgbWV0aG9kLCAieCArPSB5IiBpcyBlcXVpdmFsZW50IHRvICJ4ID1cbiAgIHguX19pYWRkX18oeSkiIC4gT3RoZXJ3aXNlLCAieC5fX2FkZF9fKHkpIiBhbmQgInkuX19yYWRkX18oeCkiIGFyZVxuICAgY29uc2lkZXJlZCwgYXMgd2l0aCB0aGUgZXZhbHVhdGlvbiBvZiAieCArIHkiLiBJbiBjZXJ0YWluXG4gICBzaXR1YXRpb25zLCBhdWdtZW50ZWQgYXNzaWdubWVudCBjYW4gcmVzdWx0IGluIHVuZXhwZWN0ZWQgZXJyb3JzXG4gICAoc2VlICpXaHkgZG9lcyBhX3R1cGxlW2ldICs9IFtcJ2l0ZW1cJ10gcmFpc2UgYW4gZXhjZXB0aW9uIHdoZW4gdGhlXG4gICBhZGRpdGlvbiB3b3Jrcz8qKSwgYnV0IHRoaXMgYmVoYXZpb3IgaXMgaW4gZmFjdCBwYXJ0IG9mIHRoZSBkYXRhXG4gICBtb2RlbC5cblxub2JqZWN0Ll9fbmVnX18oc2VsZilcbm9iamVjdC5fX3Bvc19fKHNlbGYpXG5vYmplY3QuX19hYnNfXyhzZWxmKVxub2JqZWN0Ll9faW52ZXJ0X18oc2VsZilcblxuICAgQ2FsbGVkIHRvIGltcGxlbWVudCB0aGUgdW5hcnkgYXJpdGhtZXRpYyBvcGVyYXRpb25zICgiLSIsICIrIixcbiAgICJhYnMoKSIgYW5kICJ+IikuXG5cbm9iamVjdC5fX2NvbXBsZXhfXyhzZWxmKVxub2JqZWN0Ll9faW50X18oc2VsZilcbm9iamVjdC5fX2Zsb2F0X18oc2VsZilcbm9iamVjdC5fX3JvdW5kX18oc2VsZlssIG5dKVxuXG4gICBDYWxsZWQgdG8gaW1wbGVtZW50IHRoZSBidWlsdC1pbiBmdW5jdGlvbnMgImNvbXBsZXgoKSIsICJpbnQoKSIsXG4gICAiZmxvYXQoKSIgYW5kICJyb3VuZCgpIi4gIFNob3VsZCByZXR1cm4gYSB2YWx1ZSBvZiB0aGUgYXBwcm9wcmlhdGVcbiAgIHR5cGUuXG5cbm9iamVjdC5fX2luZGV4X18oc2VsZilcblxuICAgQ2FsbGVkIHRvIGltcGxlbWVudCAib3BlcmF0b3IuaW5kZXgoKSIsIGFuZCB3aGVuZXZlciBQeXRob24gbmVlZHNcbiAgIHRvIGxvc3NsZXNzbHkgY29udmVydCB0aGUgbnVtZXJpYyBvYmplY3QgdG8gYW4gaW50ZWdlciBvYmplY3QgKHN1Y2hcbiAgIGFzIGluIHNsaWNpbmcsIG9yIGluIHRoZSBidWlsdC1pbiAiYmluKCkiLCAiaGV4KCkiIGFuZCAib2N0KCkiXG4gICBmdW5jdGlvbnMpLiBQcmVzZW5jZSBvZiB0aGlzIG1ldGhvZCBpbmRpY2F0ZXMgdGhhdCB0aGUgbnVtZXJpY1xuICAgb2JqZWN0IGlzIGFuIGludGVnZXIgdHlwZS4gIE11c3QgcmV0dXJuIGFuIGludGVnZXIuXG5cbiAgIE5vdGU6IEluIG9yZGVyIHRvIGhhdmUgYSBjb2hlcmVudCBpbnRlZ2VyIHR5cGUgY2xhc3MsIHdoZW5cbiAgICAgIl9faW5kZXhfXygpIiBpcyBkZWZpbmVkICJfX2ludF9fKCkiIHNob3VsZCBhbHNvIGJlIGRlZmluZWQsIGFuZFxuICAgICBib3RoIHNob3VsZCByZXR1cm4gdGhlIHNhbWUgdmFsdWUuXG4nLAogICdvYmplY3RzJzogdSdcbk9iamVjdHMsIHZhbHVlcyBhbmQgdHlwZXNcbioqKioqKioqKioqKioqKioqKioqKioqKipcblxuKk9iamVjdHMqIGFyZSBQeXRob25cJ3MgYWJzdHJhY3Rpb24gZm9yIGRhdGEuICBBbGwgZGF0YSBpbiBhIFB5dGhvblxucHJvZ3JhbSBpcyByZXByZXNlbnRlZCBieSBvYmplY3RzIG9yIGJ5IHJlbGF0aW9ucyBiZXR3ZWVuIG9iamVjdHMuIChJblxuYSBzZW5zZSwgYW5kIGluIGNvbmZvcm1hbmNlIHRvIFZvbiBOZXVtYW5uXCdzIG1vZGVsIG9mIGEgInN0b3JlZFxucHJvZ3JhbSBjb21wdXRlciwiIGNvZGUgaXMgYWxzbyByZXByZXNlbnRlZCBieSBvYmplY3RzLilcblxuRXZlcnkgb2JqZWN0IGhhcyBhbiBpZGVudGl0eSwgYSB0eXBlIGFuZCBhIHZhbHVlLiAgQW4gb2JqZWN0XCdzXG4qaWRlbnRpdHkqIG5ldmVyIGNoYW5nZXMgb25jZSBpdCBoYXMgYmVlbiBjcmVhdGVkOyB5b3UgbWF5IHRoaW5rIG9mIGl0XG5hcyB0aGUgb2JqZWN0XCdzIGFkZHJlc3MgaW4gbWVtb3J5LiAgVGhlIFwnImlzIlwnIG9wZXJhdG9yIGNvbXBhcmVzIHRoZVxuaWRlbnRpdHkgb2YgdHdvIG9iamVjdHM7IHRoZSAiaWQoKSIgZnVuY3Rpb24gcmV0dXJucyBhbiBpbnRlZ2VyXG5yZXByZXNlbnRpbmcgaXRzIGlkZW50aXR5LlxuXG4qKkNQeXRob24gaW1wbGVtZW50YXRpb24gZGV0YWlsOioqIEZvciBDUHl0aG9uLCAiaWQoeCkiIGlzIHRoZSBtZW1vcnlcbmFkZHJlc3Mgd2hlcmUgIngiIGlzIHN0b3JlZC5cblxuQW4gb2JqZWN0XCdzIHR5cGUgZGV0ZXJtaW5lcyB0aGUgb3BlcmF0aW9ucyB0aGF0IHRoZSBvYmplY3Qgc3VwcG9ydHNcbihlLmcuLCAiZG9lcyBpdCBoYXZlIGEgbGVuZ3RoPyIpIGFuZCBhbHNvIGRlZmluZXMgdGhlIHBvc3NpYmxlIHZhbHVlc1xuZm9yIG9iamVjdHMgb2YgdGhhdCB0eXBlLiAgVGhlICJ0eXBlKCkiIGZ1bmN0aW9uIHJldHVybnMgYW4gb2JqZWN0XCdzXG50eXBlICh3aGljaCBpcyBhbiBvYmplY3QgaXRzZWxmKS4gIExpa2UgaXRzIGlkZW50aXR5LCBhbiBvYmplY3RcJ3Ncbip0eXBlKiBpcyBhbHNvIHVuY2hhbmdlYWJsZS4gWzFdXG5cblRoZSAqdmFsdWUqIG9mIHNvbWUgb2JqZWN0cyBjYW4gY2hhbmdlLiAgT2JqZWN0cyB3aG9zZSB2YWx1ZSBjYW5cbmNoYW5nZSBhcmUgc2FpZCB0byBiZSAqbXV0YWJsZSo7IG9iamVjdHMgd2hvc2UgdmFsdWUgaXMgdW5jaGFuZ2VhYmxlXG5vbmNlIHRoZXkgYXJlIGNyZWF0ZWQgYXJlIGNhbGxlZCAqaW1tdXRhYmxlKi4gKFRoZSB2YWx1ZSBvZiBhblxuaW1tdXRhYmxlIGNvbnRhaW5lciBvYmplY3QgdGhhdCBjb250YWlucyBhIHJlZmVyZW5jZSB0byBhIG11dGFibGVcbm9iamVjdCBjYW4gY2hhbmdlIHdoZW4gdGhlIGxhdHRlclwncyB2YWx1ZSBpcyBjaGFuZ2VkOyBob3dldmVyIHRoZVxuY29udGFpbmVyIGlzIHN0aWxsIGNvbnNpZGVyZWQgaW1tdXRhYmxlLCBiZWNhdXNlIHRoZSBjb2xsZWN0aW9uIG9mXG5vYmplY3RzIGl0IGNvbnRhaW5zIGNhbm5vdCBiZSBjaGFuZ2VkLiAgU28sIGltbXV0YWJpbGl0eSBpcyBub3RcbnN0cmljdGx5IHRoZSBzYW1lIGFzIGhhdmluZyBhbiB1bmNoYW5nZWFibGUgdmFsdWUsIGl0IGlzIG1vcmUgc3VidGxlLilcbkFuIG9iamVjdFwncyBtdXRhYmlsaXR5IGlzIGRldGVybWluZWQgYnkgaXRzIHR5cGU7IGZvciBpbnN0YW5jZSxcbm51bWJlcnMsIHN0cmluZ3MgYW5kIHR1cGxlcyBhcmUgaW1tdXRhYmxlLCB3aGlsZSBkaWN0aW9uYXJpZXMgYW5kXG5saXN0cyBhcmUgbXV0YWJsZS5cblxuT2JqZWN0cyBhcmUgbmV2ZXIgZXhwbGljaXRseSBkZXN0cm95ZWQ7IGhvd2V2ZXIsIHdoZW4gdGhleSBiZWNvbWVcbnVucmVhY2hhYmxlIHRoZXkgbWF5IGJlIGdhcmJhZ2UtY29sbGVjdGVkLiAgQW4gaW1wbGVtZW50YXRpb24gaXNcbmFsbG93ZWQgdG8gcG9zdHBvbmUgZ2FyYmFnZSBjb2xsZWN0aW9uIG9yIG9taXQgaXQgYWx0b2dldGhlciAtLS0gaXQgaXNcbmEgbWF0dGVyIG9mIGltcGxlbWVudGF0aW9uIHF1YWxpdHkgaG93IGdhcmJhZ2UgY29sbGVjdGlvbiBpc1xuaW1wbGVtZW50ZWQsIGFzIGxvbmcgYXMgbm8gb2JqZWN0cyBhcmUgY29sbGVjdGVkIHRoYXQgYXJlIHN0aWxsXG5yZWFjaGFibGUuXG5cbioqQ1B5dGhvbiBpbXBsZW1lbnRhdGlvbiBkZXRhaWw6KiogQ1B5dGhvbiBjdXJyZW50bHkgdXNlcyBhIHJlZmVyZW5jZS1cbmNvdW50aW5nIHNjaGVtZSB3aXRoIChvcHRpb25hbCkgZGVsYXllZCBkZXRlY3Rpb24gb2YgY3ljbGljYWxseSBsaW5rZWRcbmdhcmJhZ2UsIHdoaWNoIGNvbGxlY3RzIG1vc3Qgb2JqZWN0cyBhcyBzb29uIGFzIHRoZXkgYmVjb21lXG51bnJlYWNoYWJsZSwgYnV0IGlzIG5vdCBndWFyYW50ZWVkIHRvIGNvbGxlY3QgZ2FyYmFnZSBjb250YWluaW5nXG5jaXJjdWxhciByZWZlcmVuY2VzLiAgU2VlIHRoZSBkb2N1bWVudGF0aW9uIG9mIHRoZSAiZ2MiIG1vZHVsZSBmb3JcbmluZm9ybWF0aW9uIG9uIGNvbnRyb2xsaW5nIHRoZSBjb2xsZWN0aW9uIG9mIGN5Y2xpYyBnYXJiYWdlLiBPdGhlclxuaW1wbGVtZW50YXRpb25zIGFjdCBkaWZmZXJlbnRseSBhbmQgQ1B5dGhvbiBtYXkgY2hhbmdlLiBEbyBub3QgZGVwZW5kXG5vbiBpbW1lZGlhdGUgZmluYWxpemF0aW9uIG9mIG9iamVjdHMgd2hlbiB0aGV5IGJlY29tZSB1bnJlYWNoYWJsZSAoc29cbnlvdSBzaG91bGQgYWx3YXlzIGNsb3NlIGZpbGVzIGV4cGxpY2l0bHkpLlxuXG5Ob3RlIHRoYXQgdGhlIHVzZSBvZiB0aGUgaW1wbGVtZW50YXRpb25cJ3MgdHJhY2luZyBvciBkZWJ1Z2dpbmdcbmZhY2lsaXRpZXMgbWF5IGtlZXAgb2JqZWN0cyBhbGl2ZSB0aGF0IHdvdWxkIG5vcm1hbGx5IGJlIGNvbGxlY3RhYmxlLlxuQWxzbyBub3RlIHRoYXQgY2F0Y2hpbmcgYW4gZXhjZXB0aW9uIHdpdGggYSBcJyJ0cnkiLi4uImV4Y2VwdCJcJ1xuc3RhdGVtZW50IG1heSBrZWVwIG9iamVjdHMgYWxpdmUuXG5cblNvbWUgb2JqZWN0cyBjb250YWluIHJlZmVyZW5jZXMgdG8gImV4dGVybmFsIiByZXNvdXJjZXMgc3VjaCBhcyBvcGVuXG5maWxlcyBvciB3aW5kb3dzLiAgSXQgaXMgdW5kZXJzdG9vZCB0aGF0IHRoZXNlIHJlc291cmNlcyBhcmUgZnJlZWRcbndoZW4gdGhlIG9iamVjdCBpcyBnYXJiYWdlLWNvbGxlY3RlZCwgYnV0IHNpbmNlIGdhcmJhZ2UgY29sbGVjdGlvbiBpc1xubm90IGd1YXJhbnRlZWQgdG8gaGFwcGVuLCBzdWNoIG9iamVjdHMgYWxzbyBwcm92aWRlIGFuIGV4cGxpY2l0IHdheSB0b1xucmVsZWFzZSB0aGUgZXh0ZXJuYWwgcmVzb3VyY2UsIHVzdWFsbHkgYSAiY2xvc2UoKSIgbWV0aG9kLiBQcm9ncmFtc1xuYXJlIHN0cm9uZ2x5IHJlY29tbWVuZGVkIHRvIGV4cGxpY2l0bHkgY2xvc2Ugc3VjaCBvYmplY3RzLiAgVGhlXG5cJyJ0cnkiLi4uImZpbmFsbHkiXCcgc3RhdGVtZW50IGFuZCB0aGUgXCcid2l0aCJcJyBzdGF0ZW1lbnQgcHJvdmlkZVxuY29udmVuaWVudCB3YXlzIHRvIGRvIHRoaXMuXG5cblNvbWUgb2JqZWN0cyBjb250YWluIHJlZmVyZW5jZXMgdG8gb3RoZXIgb2JqZWN0czsgdGhlc2UgYXJlIGNhbGxlZFxuKmNvbnRhaW5lcnMqLiBFeGFtcGxlcyBvZiBjb250YWluZXJzIGFyZSB0dXBsZXMsIGxpc3RzIGFuZFxuZGljdGlvbmFyaWVzLiAgVGhlIHJlZmVyZW5jZXMgYXJlIHBhcnQgb2YgYSBjb250YWluZXJcJ3MgdmFsdWUuICBJblxubW9zdCBjYXNlcywgd2hlbiB3ZSB0YWxrIGFib3V0IHRoZSB2YWx1ZSBvZiBhIGNvbnRhaW5lciwgd2UgaW1wbHkgdGhlXG52YWx1ZXMsIG5vdCB0aGUgaWRlbnRpdGllcyBvZiB0aGUgY29udGFpbmVkIG9iamVjdHM7IGhvd2V2ZXIsIHdoZW4gd2VcbnRhbGsgYWJvdXQgdGhlIG11dGFiaWxpdHkgb2YgYSBjb250YWluZXIsIG9ubHkgdGhlIGlkZW50aXRpZXMgb2YgdGhlXG5pbW1lZGlhdGVseSBjb250YWluZWQgb2JqZWN0cyBhcmUgaW1wbGllZC4gIFNvLCBpZiBhbiBpbW11dGFibGVcbmNvbnRhaW5lciAobGlrZSBhIHR1cGxlKSBjb250YWlucyBhIHJlZmVyZW5jZSB0byBhIG11dGFibGUgb2JqZWN0LCBpdHNcbnZhbHVlIGNoYW5nZXMgaWYgdGhhdCBtdXRhYmxlIG9iamVjdCBpcyBjaGFuZ2VkLlxuXG5UeXBlcyBhZmZlY3QgYWxtb3N0IGFsbCBhc3BlY3RzIG9mIG9iamVjdCBiZWhhdmlvci4gIEV2ZW4gdGhlXG5pbXBvcnRhbmNlIG9mIG9iamVjdCBpZGVudGl0eSBpcyBhZmZlY3RlZCBpbiBzb21lIHNlbnNlOiBmb3IgaW1tdXRhYmxlXG50eXBlcywgb3BlcmF0aW9ucyB0aGF0IGNvbXB1dGUgbmV3IHZhbHVlcyBtYXkgYWN0dWFsbHkgcmV0dXJuIGFcbnJlZmVyZW5jZSB0byBhbnkgZXhpc3Rpbmcgb2JqZWN0IHdpdGggdGhlIHNhbWUgdHlwZSBhbmQgdmFsdWUsIHdoaWxlXG5mb3IgbXV0YWJsZSBvYmplY3RzIHRoaXMgaXMgbm90IGFsbG93ZWQuICBFLmcuLCBhZnRlciAiYSA9IDE7IGIgPSAxIixcbiJhIiBhbmQgImIiIG1heSBvciBtYXkgbm90IHJlZmVyIHRvIHRoZSBzYW1lIG9iamVjdCB3aXRoIHRoZSB2YWx1ZVxub25lLCBkZXBlbmRpbmcgb24gdGhlIGltcGxlbWVudGF0aW9uLCBidXQgYWZ0ZXIgImMgPSBbXTsgZCA9IFtdIiwgImMiXG5hbmQgImQiIGFyZSBndWFyYW50ZWVkIHRvIHJlZmVyIHRvIHR3byBkaWZmZXJlbnQsIHVuaXF1ZSwgbmV3bHlcbmNyZWF0ZWQgZW1wdHkgbGlzdHMuIChOb3RlIHRoYXQgImMgPSBkID0gW10iIGFzc2lnbnMgdGhlIHNhbWUgb2JqZWN0XG50byBib3RoICJjIiBhbmQgImQiLilcbicsCi0gJ29wZXJhdG9yLXN1bW1hcnknOiB1J1xuT3BlcmF0b3IgcHJlY2VkZW5jZVxuKioqKioqKioqKioqKioqKioqKlxuXG5UaGUgZm9sbG93aW5nIHRhYmxlIHN1bW1hcml6ZXMgdGhlIG9wZXJhdG9yIHByZWNlZGVuY2UgaW4gUHl0aG9uLCBmcm9tXG5sb3dlc3QgcHJlY2VkZW5jZSAobGVhc3QgYmluZGluZykgdG8gaGlnaGVzdCBwcmVjZWRlbmNlIChtb3N0XG5iaW5kaW5nKS4gIE9wZXJhdG9ycyBpbiB0aGUgc2FtZSBib3ggaGF2ZSB0aGUgc2FtZSBwcmVjZWRlbmNlLiAgVW5sZXNzXG50aGUgc3ludGF4IGlzIGV4cGxpY2l0bHkgZ2l2ZW4sIG9wZXJhdG9ycyBhcmUgYmluYXJ5LiAgT3BlcmF0b3JzIGluXG50aGUgc2FtZSBib3ggZ3JvdXAgbGVmdCB0byByaWdodCAoZXhjZXB0IGZvciBleHBvbmVudGlhdGlvbiwgd2hpY2hcbmdyb3VwcyBmcm9tIHJpZ2h0IHRvIGxlZnQpLlxuXG5Ob3RlIHRoYXQgY29tcGFyaXNvbnMsIG1lbWJlcnNoaXAgdGVzdHMsIGFuZCBpZGVudGl0eSB0ZXN0cywgYWxsIGhhdmVcbnRoZSBzYW1lIHByZWNlZGVuY2UgYW5kIGhhdmUgYSBsZWZ0LXRvLXJpZ2h0IGNoYWluaW5nIGZlYXR1cmUgYXNcbmRlc2NyaWJlZCBpbiB0aGUgKkNvbXBhcmlzb25zKiBzZWN0aW9uLlxuXG4rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rXG58IE9wZXJhdG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgRGVzY3JpcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICB8XG4rPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSs9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0rXG58ICJsYW1iZGEiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgTGFtYmRhIGV4cHJlc3Npb24gICAgICAgICAgICAgICAgICAgICB8XG4rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rXG58ICJpZiIgLS0gImVsc2UiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgQ29uZGl0aW9uYWwgZXhwcmVzc2lvbiAgICAgICAgICAgICAgICB8XG4rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rXG58ICJvciIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgQm9vbGVhbiBPUiAgICAgICAgICAgICAgICAgICAgICAgICAgICB8XG4rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rXG58ICJhbmQiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgQm9vbGVhbiBBTkQgICAgICAgICAgICAgICAgICAgICAgICAgICB8XG4rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rXG58ICJub3QiICJ4IiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgQm9vbGVhbiBOT1QgICAgICAgICAgICAgICAgICAgICAgICAgICB8XG4rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rXG58ICJpbiIsICJub3QgaW4iLCAiaXMiLCAiaXMgbm90IiwgIjwiLCAiPD0iLCAiPiIsIHwgQ29tcGFyaXNvbnMsIGluY2x1ZGluZyBtZW1iZXJzaGlwICAgICB8XG58ICI+PSIsICIhPSIsICI9PSIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgdGVzdHMgYW5kIGlkZW50aXR5IHRlc3RzICAgICAgICAgICAgICB8XG4rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rXG58ICJ8IiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgQml0d2lzZSBPUiAgICAgICAgICAgICAgICAgICAgICAgICAgICB8XG4rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rXG58ICJeIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgQml0d2lzZSBYT1IgICAgICAgICAgICAgICAgICAgICAgICAgICB8XG4rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rXG58ICImIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgQml0d2lzZSBBTkQgICAgICAgICAgICAgICAgICAgICAgICAgICB8XG4rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rXG58ICI8PCIsICI+PiIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgU2hpZnRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8XG4rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rXG58ICIrIiwgIi0iICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgQWRkaXRpb24gYW5kIHN1YnRyYWN0aW9uICAgICAgICAgICAgICB8XG4rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rXG58ICIqIiwgIi8iLCAiLy8iLCAiJSIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgTXVsdGlwbGljYXRpb24sIGRpdmlzaW9uLCByZW1haW5kZXIgICB8XG58ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgWzVdICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8XG4rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rXG58ICIreCIsICIteCIsICJ+eCIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgUG9zaXRpdmUsIG5lZ2F0aXZlLCBiaXR3aXNlIE5PVCAgICAgICB8XG4rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rXG58ICIqKiIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgRXhwb25lbnRpYXRpb24gWzZdICAgICAgICAgICAgICAgICAgICB8XG4rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rXG58ICJ4W2luZGV4XSIsICJ4W2luZGV4OmluZGV4XSIsICAgICAgICAgICAgICAgICAgIHwgU3Vic2NyaXB0aW9uLCBzbGljaW5nLCBjYWxsLCAgICAgICAgICB8XG58ICJ4KGFyZ3VtZW50cy4uLikiLCAieC5hdHRyaWJ1dGUiICAgICAgICAgICAgICAgIHwgYXR0cmlidXRlIHJlZmVyZW5jZSAgICAgICAgICAgICAgICAgICB8XG4rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rXG58ICIoZXhwcmVzc2lvbnMuLi4pIiwgIltleHByZXNzaW9ucy4uLl0iLCAie2tleTogIHwgQmluZGluZyBvciB0dXBsZSBkaXNwbGF5LCBsaXN0ICAgICAgICB8XG58IHZhbHVlLi4ufSIsICJ7ZXhwcmVzc2lvbnMuLi59IiAgICAgICAgICAgICAgICAgIHwgZGlzcGxheSwgZGljdGlvbmFyeSBkaXNwbGF5LCBzZXQgICAgICB8XG58ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgZGlzcGxheSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8XG4rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rXG5cbi1bIEZvb3Rub3RlcyBdLVxuXG5bMV0gV2hpbGUgImFicyh4JXkpIDwgYWJzKHkpIiBpcyB0cnVlIG1hdGhlbWF0aWNhbGx5LCBmb3IgZmxvYXRzXG4gICAgaXQgbWF5IG5vdCBiZSB0cnVlIG51bWVyaWNhbGx5IGR1ZSB0byByb3VuZG9mZi4gIEZvciBleGFtcGxlLCBhbmRcbiAgICBhc3N1bWluZyBhIHBsYXRmb3JtIG9uIHdoaWNoIGEgUHl0aG9uIGZsb2F0IGlzIGFuIElFRUUgNzU0IGRvdWJsZS1cbiAgICBwcmVjaXNpb24gbnVtYmVyLCBpbiBvcmRlciB0aGF0ICItMWUtMTAwICUgMWUxMDAiIGhhdmUgdGhlIHNhbWVcbiAgICBzaWduIGFzICIxZTEwMCIsIHRoZSBjb21wdXRlZCByZXN1bHQgaXMgIi0xZS0xMDAgKyAxZTEwMCIsIHdoaWNoXG4gICAgaXMgbnVtZXJpY2FsbHkgZXhhY3RseSBlcXVhbCB0byAiMWUxMDAiLiAgVGhlIGZ1bmN0aW9uXG4gICAgIm1hdGguZm1vZCgpIiByZXR1cm5zIGEgcmVzdWx0IHdob3NlIHNpZ24gbWF0Y2hlcyB0aGUgc2lnbiBvZiB0aGVcbiAgICBmaXJzdCBhcmd1bWVudCBpbnN0ZWFkLCBhbmQgc28gcmV0dXJucyAiLTFlLTEwMCIgaW4gdGhpcyBjYXNlLlxuICAgIFdoaWNoIGFwcHJvYWNoIGlzIG1vcmUgYXBwcm9wcmlhdGUgZGVwZW5kcyBvbiB0aGUgYXBwbGljYXRpb24uXG5cblsyXSBJZiB4IGlzIHZlcnkgY2xvc2UgdG8gYW4gZXhhY3QgaW50ZWdlciBtdWx0aXBsZSBvZiB5LCBpdFwnc1xuICAgIHBvc3NpYmxlIGZvciAieC8veSIgdG8gYmUgb25lIGxhcmdlciB0aGFuICIoeC14JXkpLy95IiBkdWUgdG9cbiAgICByb3VuZGluZy4gIEluIHN1Y2ggY2FzZXMsIFB5dGhvbiByZXR1cm5zIHRoZSBsYXR0ZXIgcmVzdWx0LCBpblxuICAgIG9yZGVyIHRvIHByZXNlcnZlIHRoYXQgImRpdm1vZCh4LHkpWzBdICogeSArIHggJSB5IiBiZSB2ZXJ5IGNsb3NlXG4gICAgdG8gIngiLlxuXG5bM10gV2hpbGUgY29tcGFyaXNvbnMgYmV0d2VlbiBzdHJpbmdzIG1ha2Ugc2Vuc2UgYXQgdGhlIGJ5dGVcbiAgICBsZXZlbCwgdGhleSBtYXkgYmUgY291bnRlci1pbnR1aXRpdmUgdG8gdXNlcnMuICBGb3IgZXhhbXBsZSwgdGhlXG4gICAgc3RyaW5ncyAiIlxcdTAwQzciIiBhbmQgIiJcXHUwMzI3XFx1MDA0MyIiIGNvbXBhcmUgZGlmZmVyZW50bHksIGV2ZW5cbiAgICB0aG91Z2ggdGhleSBib3RoIHJlcHJlc2VudCB0aGUgc2FtZSB1bmljb2RlIGNoYXJhY3RlciAoTEFUSU5cbiAgICBDQVBJVEFMIExFVFRFUiBDIFdJVEggQ0VESUxMQSkuICBUbyBjb21wYXJlIHN0cmluZ3MgaW4gYSBodW1hblxuICAgIHJlY29nbml6YWJsZSB3YXksIGNvbXBhcmUgdXNpbmcgInVuaWNvZGVkYXRhLm5vcm1hbGl6ZSgpIi5cblxuWzRdIER1ZSB0byBhdXRvbWF0aWMgZ2FyYmFnZS1jb2xsZWN0aW9uLCBmcmVlIGxpc3RzLCBhbmQgdGhlXG4gICAgZHluYW1pYyBuYXR1cmUgb2YgZGVzY3JpcHRvcnMsIHlvdSBtYXkgbm90aWNlIHNlZW1pbmdseSB1bnVzdWFsXG4gICAgYmVoYXZpb3VyIGluIGNlcnRhaW4gdXNlcyBvZiB0aGUgImlzIiBvcGVyYXRvciwgbGlrZSB0aG9zZVxuICAgIGludm9sdmluZyBjb21wYXJpc29ucyBiZXR3ZWVuIGluc3RhbmNlIG1ldGhvZHMsIG9yIGNvbnN0YW50cy5cbiAgICBDaGVjayB0aGVpciBkb2N1bWVudGF0aW9uIGZvciBtb3JlIGluZm8uXG5cbls1XSBUaGUgIiUiIG9wZXJhdG9yIGlzIGFsc28gdXNlZCBmb3Igc3RyaW5nIGZvcm1hdHRpbmc7IHRoZSBzYW1lXG4gICAgcHJlY2VkZW5jZSBhcHBsaWVzLlxuXG5bNl0gVGhlIHBvd2VyIG9wZXJhdG9yICIqKiIgYmluZHMgbGVzcyB0aWdodGx5IHRoYW4gYW4gYXJpdGhtZXRpY1xuICAgIG9yIGJpdHdpc2UgdW5hcnkgb3BlcmF0b3Igb24gaXRzIHJpZ2h0LCB0aGF0IGlzLCAiMioqLTEiIGlzICIwLjUiLlxuJywKKyAnb3BlcmF0b3Itc3VtbWFyeSc6IHUnXG5PcGVyYXRvciBwcmVjZWRlbmNlXG4qKioqKioqKioqKioqKioqKioqXG5cblRoZSBmb2xsb3dpbmcgdGFibGUgc3VtbWFyaXplcyB0aGUgb3BlcmF0b3IgcHJlY2VkZW5jZSBpbiBQeXRob24sIGZyb21cbmxvd2VzdCBwcmVjZWRlbmNlIChsZWFzdCBiaW5kaW5nKSB0byBoaWdoZXN0IHByZWNlZGVuY2UgKG1vc3RcbmJpbmRpbmcpLiAgT3BlcmF0b3JzIGluIHRoZSBzYW1lIGJveCBoYXZlIHRoZSBzYW1lIHByZWNlZGVuY2UuICBVbmxlc3NcbnRoZSBzeW50YXggaXMgZXhwbGljaXRseSBnaXZlbiwgb3BlcmF0b3JzIGFyZSBiaW5hcnkuICBPcGVyYXRvcnMgaW5cbnRoZSBzYW1lIGJveCBncm91cCBsZWZ0IHRvIHJpZ2h0IChleGNlcHQgZm9yIGV4cG9uZW50aWF0aW9uLCB3aGljaFxuZ3JvdXBzIGZyb20gcmlnaHQgdG8gbGVmdCkuXG5cbk5vdGUgdGhhdCBjb21wYXJpc29ucywgbWVtYmVyc2hpcCB0ZXN0cywgYW5kIGlkZW50aXR5IHRlc3RzLCBhbGwgaGF2ZVxudGhlIHNhbWUgcHJlY2VkZW5jZSBhbmQgaGF2ZSBhIGxlZnQtdG8tcmlnaHQgY2hhaW5pbmcgZmVhdHVyZSBhc1xuZGVzY3JpYmVkIGluIHRoZSAqQ29tcGFyaXNvbnMqIHNlY3Rpb24uXG5cbistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLStcbnwgT3BlcmF0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBEZXNjcmlwdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcbis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Kz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PStcbnwgImxhbWJkYSIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBMYW1iZGEgZXhwcmVzc2lvbiAgICAgICAgICAgICAgICAgICAgIHxcbistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLStcbnwgImlmIiAtLSAiZWxzZSIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBDb25kaXRpb25hbCBleHByZXNzaW9uICAgICAgICAgICAgICAgIHxcbistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLStcbnwgIm9yIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBCb29sZWFuIE9SICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcbistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLStcbnwgImFuZCIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBCb29sZWFuIEFORCAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcbistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLStcbnwgIm5vdCIgIngiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBCb29sZWFuIE5PVCAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcbistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLStcbnwgImluIiwgIm5vdCBpbiIsICJpcyIsICJpcyBub3QiLCAiPCIsICI8PSIsICI+IiwgfCBDb21wYXJpc29ucywgaW5jbHVkaW5nIG1lbWJlcnNoaXAgICAgIHxcbnwgIj49IiwgIiE9IiwgIj09IiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCB0ZXN0cyBhbmQgaWRlbnRpdHkgdGVzdHMgICAgICAgICAgICAgIHxcbistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLStcbnwgInwiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBCaXR3aXNlIE9SICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcbistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLStcbnwgIl4iICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBCaXR3aXNlIFhPUiAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcbistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLStcbnwgIiYiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBCaXR3aXNlIEFORCAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcbistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLStcbnwgIjw8IiwgIj4+IiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBTaGlmdHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcbistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLStcbnwgIisiLCAiLSIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBBZGRpdGlvbiBhbmQgc3VidHJhY3Rpb24gICAgICAgICAgICAgIHxcbistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLStcbnwgIioiLCAiQCIsICIvIiwgIi8vIiwgIiUiICAgICAgICAgICAgICAgICAgICAgICAgfCBNdWx0aXBsaWNhdGlvbiwgbWF0cml4IG11bHRpcGxpY2F0aW9uIHxcbnwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBkaXZpc2lvbiwgcmVtYWluZGVyIFs1XSAgICAgICAgICAgICAgIHxcbistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLStcbnwgIit4IiwgIi14IiwgIn54IiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBQb3NpdGl2ZSwgbmVnYXRpdmUsIGJpdHdpc2UgTk9UICAgICAgIHxcbistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLStcbnwgIioqIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBFeHBvbmVudGlhdGlvbiBbNl0gICAgICAgICAgICAgICAgICAgIHxcbistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLStcbnwgInhbaW5kZXhdIiwgInhbaW5kZXg6aW5kZXhdIiwgICAgICAgICAgICAgICAgICAgfCBTdWJzY3JpcHRpb24sIHNsaWNpbmcsIGNhbGwsICAgICAgICAgIHxcbnwgIngoYXJndW1lbnRzLi4uKSIsICJ4LmF0dHJpYnV0ZSIgICAgICAgICAgICAgICAgfCBhdHRyaWJ1dGUgcmVmZXJlbmNlICAgICAgICAgICAgICAgICAgIHxcbistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLStcbnwgIihleHByZXNzaW9ucy4uLikiLCAiW2V4cHJlc3Npb25zLi4uXSIsICJ7a2V5OiAgfCBCaW5kaW5nIG9yIHR1cGxlIGRpc3BsYXksIGxpc3QgICAgICAgIHxcbnwgdmFsdWUuLi59IiwgIntleHByZXNzaW9ucy4uLn0iICAgICAgICAgICAgICAgICAgfCBkaXNwbGF5LCBkaWN0aW9uYXJ5IGRpc3BsYXksIHNldCAgICAgIHxcbnwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBkaXNwbGF5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcbistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLStcblxuLVsgRm9vdG5vdGVzIF0tXG5cblsxXSBXaGlsZSAiYWJzKHgleSkgPCBhYnMoeSkiIGlzIHRydWUgbWF0aGVtYXRpY2FsbHksIGZvciBmbG9hdHNcbiAgICBpdCBtYXkgbm90IGJlIHRydWUgbnVtZXJpY2FsbHkgZHVlIHRvIHJvdW5kb2ZmLiAgRm9yIGV4YW1wbGUsIGFuZFxuICAgIGFzc3VtaW5nIGEgcGxhdGZvcm0gb24gd2hpY2ggYSBQeXRob24gZmxvYXQgaXMgYW4gSUVFRSA3NTQgZG91YmxlLVxuICAgIHByZWNpc2lvbiBudW1iZXIsIGluIG9yZGVyIHRoYXQgIi0xZS0xMDAgJSAxZTEwMCIgaGF2ZSB0aGUgc2FtZVxuICAgIHNpZ24gYXMgIjFlMTAwIiwgdGhlIGNvbXB1dGVkIHJlc3VsdCBpcyAiLTFlLTEwMCArIDFlMTAwIiwgd2hpY2hcbiAgICBpcyBudW1lcmljYWxseSBleGFjdGx5IGVxdWFsIHRvICIxZTEwMCIuICBUaGUgZnVuY3Rpb25cbiAgICAibWF0aC5mbW9kKCkiIHJldHVybnMgYSByZXN1bHQgd2hvc2Ugc2lnbiBtYXRjaGVzIHRoZSBzaWduIG9mIHRoZVxuICAgIGZpcnN0IGFyZ3VtZW50IGluc3RlYWQsIGFuZCBzbyByZXR1cm5zICItMWUtMTAwIiBpbiB0aGlzIGNhc2UuXG4gICAgV2hpY2ggYXBwcm9hY2ggaXMgbW9yZSBhcHByb3ByaWF0ZSBkZXBlbmRzIG9uIHRoZSBhcHBsaWNhdGlvbi5cblxuWzJdIElmIHggaXMgdmVyeSBjbG9zZSB0byBhbiBleGFjdCBpbnRlZ2VyIG11bHRpcGxlIG9mIHksIGl0XCdzXG4gICAgcG9zc2libGUgZm9yICJ4Ly95IiB0byBiZSBvbmUgbGFyZ2VyIHRoYW4gIih4LXgleSkvL3kiIGR1ZSB0b1xuICAgIHJvdW5kaW5nLiAgSW4gc3VjaCBjYXNlcywgUHl0aG9uIHJldHVybnMgdGhlIGxhdHRlciByZXN1bHQsIGluXG4gICAgb3JkZXIgdG8gcHJlc2VydmUgdGhhdCAiZGl2bW9kKHgseSlbMF0gKiB5ICsgeCAlIHkiIGJlIHZlcnkgY2xvc2VcbiAgICB0byAieCIuXG5cblszXSBXaGlsZSBjb21wYXJpc29ucyBiZXR3ZWVuIHN0cmluZ3MgbWFrZSBzZW5zZSBhdCB0aGUgYnl0ZVxuICAgIGxldmVsLCB0aGV5IG1heSBiZSBjb3VudGVyLWludHVpdGl2ZSB0byB1c2Vycy4gIEZvciBleGFtcGxlLCB0aGVcbiAgICBzdHJpbmdzICIiXFx1MDBDNyIiIGFuZCAiIlxcdTAzMjdcXHUwMDQzIiIgY29tcGFyZSBkaWZmZXJlbnRseSwgZXZlblxuICAgIHRob3VnaCB0aGV5IGJvdGggcmVwcmVzZW50IHRoZSBzYW1lIHVuaWNvZGUgY2hhcmFjdGVyIChMQVRJTlxuICAgIENBUElUQUwgTEVUVEVSIEMgV0lUSCBDRURJTExBKS4gIFRvIGNvbXBhcmUgc3RyaW5ncyBpbiBhIGh1bWFuXG4gICAgcmVjb2duaXphYmxlIHdheSwgY29tcGFyZSB1c2luZyAidW5pY29kZWRhdGEubm9ybWFsaXplKCkiLlxuXG5bNF0gRHVlIHRvIGF1dG9tYXRpYyBnYXJiYWdlLWNvbGxlY3Rpb24sIGZyZWUgbGlzdHMsIGFuZCB0aGVcbiAgICBkeW5hbWljIG5hdHVyZSBvZiBkZXNjcmlwdG9ycywgeW91IG1heSBub3RpY2Ugc2VlbWluZ2x5IHVudXN1YWxcbiAgICBiZWhhdmlvdXIgaW4gY2VydGFpbiB1c2VzIG9mIHRoZSAiaXMiIG9wZXJhdG9yLCBsaWtlIHRob3NlXG4gICAgaW52b2x2aW5nIGNvbXBhcmlzb25zIGJldHdlZW4gaW5zdGFuY2UgbWV0aG9kcywgb3IgY29uc3RhbnRzLlxuICAgIENoZWNrIHRoZWlyIGRvY3VtZW50YXRpb24gZm9yIG1vcmUgaW5mby5cblxuWzVdIFRoZSAiJSIgb3BlcmF0b3IgaXMgYWxzbyB1c2VkIGZvciBzdHJpbmcgZm9ybWF0dGluZzsgdGhlIHNhbWVcbiAgICBwcmVjZWRlbmNlIGFwcGxpZXMuXG5cbls2XSBUaGUgcG93ZXIgb3BlcmF0b3IgIioqIiBiaW5kcyBsZXNzIHRpZ2h0bHkgdGhhbiBhbiBhcml0aG1ldGljXG4gICAgb3IgYml0d2lzZSB1bmFyeSBvcGVyYXRvciBvbiBpdHMgcmlnaHQsIHRoYXQgaXMsICIyKiotMSIgaXMgIjAuNSIuXG4nLAogICdwYXNzJzogdSdcblRoZSAicGFzcyIgc3RhdGVtZW50XG4qKioqKioqKioqKioqKioqKioqKlxuXG4gICBwYXNzX3N0bXQgOjo9ICJwYXNzIlxuXG4icGFzcyIgaXMgYSBudWxsIG9wZXJhdGlvbiAtLS0gd2hlbiBpdCBpcyBleGVjdXRlZCwgbm90aGluZyBoYXBwZW5zLlxuSXQgaXMgdXNlZnVsIGFzIGEgcGxhY2Vob2xkZXIgd2hlbiBhIHN0YXRlbWVudCBpcyByZXF1aXJlZFxuc3ludGFjdGljYWxseSwgYnV0IG5vIGNvZGUgbmVlZHMgdG8gYmUgZXhlY3V0ZWQsIGZvciBleGFtcGxlOlxuXG4gICBkZWYgZihhcmcpOiBwYXNzICAgICMgYSBmdW5jdGlvbiB0aGF0IGRvZXMgbm90aGluZyAoeWV0KVxuXG4gICBjbGFzcyBDOiBwYXNzICAgICAgICMgYSBjbGFzcyB3aXRoIG5vIG1ldGhvZHMgKHlldClcbicsCiAgJ3Bvd2VyJzogdSdcblRoZSBwb3dlciBvcGVyYXRvclxuKioqKioqKioqKioqKioqKioqXG5cblRoZSBwb3dlciBvcGVyYXRvciBiaW5kcyBtb3JlIHRpZ2h0bHkgdGhhbiB1bmFyeSBvcGVyYXRvcnMgb24gaXRzXG5sZWZ0OyBpdCBiaW5kcyBsZXNzIHRpZ2h0bHkgdGhhbiB1bmFyeSBvcGVyYXRvcnMgb24gaXRzIHJpZ2h0LiAgVGhlXG5zeW50YXggaXM6XG5cbiAgIHBvd2VyIDo6PSBwcmltYXJ5IFsiKioiIHVfZXhwcl1cblxuVGh1cywgaW4gYW4gdW5wYXJlbnRoZXNpemVkIHNlcXVlbmNlIG9mIHBvd2VyIGFuZCB1bmFyeSBvcGVyYXRvcnMsIHRoZVxub3BlcmF0b3JzIGFyZSBldmFsdWF0ZWQgZnJvbSByaWdodCB0byBsZWZ0ICh0aGlzIGRvZXMgbm90IGNvbnN0cmFpblxudGhlIGV2YWx1YXRpb24gb3JkZXIgZm9yIHRoZSBvcGVyYW5kcyk6ICItMSoqMiIgcmVzdWx0cyBpbiAiLTEiLlxuXG5UaGUgcG93ZXIgb3BlcmF0b3IgaGFzIHRoZSBzYW1lIHNlbWFudGljcyBhcyB0aGUgYnVpbHQtaW4gInBvdygpIlxuZnVuY3Rpb24sIHdoZW4gY2FsbGVkIHdpdGggdHdvIGFyZ3VtZW50czogaXQgeWllbGRzIGl0cyBsZWZ0IGFyZ3VtZW50XG5yYWlzZWQgdG8gdGhlIHBvd2VyIG9mIGl0cyByaWdodCBhcmd1bWVudC4gIFRoZSBudW1lcmljIGFyZ3VtZW50cyBhcmVcbmZpcnN0IGNvbnZlcnRlZCB0byBhIGNvbW1vbiB0eXBlLCBhbmQgdGhlIHJlc3VsdCBpcyBvZiB0aGF0IHR5cGUuXG5cbkZvciBpbnQgb3BlcmFuZHMsIHRoZSByZXN1bHQgaGFzIHRoZSBzYW1lIHR5cGUgYXMgdGhlIG9wZXJhbmRzIHVubGVzc1xudGhlIHNlY29uZCBhcmd1bWVudCBpcyBuZWdhdGl2ZTsgaW4gdGhhdCBjYXNlLCBhbGwgYXJndW1lbnRzIGFyZVxuY29udmVydGVkIHRvIGZsb2F0IGFuZCBhIGZsb2F0IHJlc3VsdCBpcyBkZWxpdmVyZWQuIEZvciBleGFtcGxlLFxuIjEwKioyIiByZXR1cm5zICIxMDAiLCBidXQgIjEwKiotMiIgcmV0dXJucyAiMC4wMSIuXG5cblJhaXNpbmcgIjAuMCIgdG8gYSBuZWdhdGl2ZSBwb3dlciByZXN1bHRzIGluIGEgIlplcm9EaXZpc2lvbkVycm9yIi5cblJhaXNpbmcgYSBuZWdhdGl2ZSBudW1iZXIgdG8gYSBmcmFjdGlvbmFsIHBvd2VyIHJlc3VsdHMgaW4gYSAiY29tcGxleCJcbm51bWJlci4gKEluIGVhcmxpZXIgdmVyc2lvbnMgaXQgcmFpc2VkIGEgIlZhbHVlRXJyb3IiLilcbicsCiAgJ3JhaXNlJzogdSdcblRoZSAicmFpc2UiIHN0YXRlbWVudFxuKioqKioqKioqKioqKioqKioqKioqXG5cbiAgIHJhaXNlX3N0bXQgOjo9ICJyYWlzZSIgW2V4cHJlc3Npb24gWyJmcm9tIiBleHByZXNzaW9uXV1cblxuSWYgbm8gZXhwcmVzc2lvbnMgYXJlIHByZXNlbnQsICJyYWlzZSIgcmUtcmFpc2VzIHRoZSBsYXN0IGV4Y2VwdGlvblxudGhhdCB3YXMgYWN0aXZlIGluIHRoZSBjdXJyZW50IHNjb3BlLiAgSWYgbm8gZXhjZXB0aW9uIGlzIGFjdGl2ZSBpblxudGhlIGN1cnJlbnQgc2NvcGUsIGEgIlJ1bnRpbWVFcnJvciIgZXhjZXB0aW9uIGlzIHJhaXNlZCBpbmRpY2F0aW5nXG50aGF0IHRoaXMgaXMgYW4gZXJyb3IuXG5cbk90aGVyd2lzZSwgInJhaXNlIiBldmFsdWF0ZXMgdGhlIGZpcnN0IGV4cHJlc3Npb24gYXMgdGhlIGV4Y2VwdGlvblxub2JqZWN0LiAgSXQgbXVzdCBiZSBlaXRoZXIgYSBzdWJjbGFzcyBvciBhbiBpbnN0YW5jZSBvZlxuIkJhc2VFeGNlcHRpb24iLiBJZiBpdCBpcyBhIGNsYXNzLCB0aGUgZXhjZXB0aW9uIGluc3RhbmNlIHdpbGwgYmVcbm9idGFpbmVkIHdoZW4gbmVlZGVkIGJ5IGluc3RhbnRpYXRpbmcgdGhlIGNsYXNzIHdpdGggbm8gYXJndW1lbnRzLlxuXG5UaGUgKnR5cGUqIG9mIHRoZSBleGNlcHRpb24gaXMgdGhlIGV4Y2VwdGlvbiBpbnN0YW5jZVwncyBjbGFzcywgdGhlXG4qdmFsdWUqIGlzIHRoZSBpbnN0YW5jZSBpdHNlbGYuXG5cbkEgdHJhY2ViYWNrIG9iamVjdCBpcyBub3JtYWxseSBjcmVhdGVkIGF1dG9tYXRpY2FsbHkgd2hlbiBhbiBleGNlcHRpb25cbmlzIHJhaXNlZCBhbmQgYXR0YWNoZWQgdG8gaXQgYXMgdGhlICJfX3RyYWNlYmFja19fIiBhdHRyaWJ1dGUsIHdoaWNoXG5pcyB3cml0YWJsZS4gWW91IGNhbiBjcmVhdGUgYW4gZXhjZXB0aW9uIGFuZCBzZXQgeW91ciBvd24gdHJhY2ViYWNrIGluXG5vbmUgc3RlcCB1c2luZyB0aGUgIndpdGhfdHJhY2ViYWNrKCkiIGV4Y2VwdGlvbiBtZXRob2QgKHdoaWNoIHJldHVybnNcbnRoZSBzYW1lIGV4Y2VwdGlvbiBpbnN0YW5jZSwgd2l0aCBpdHMgdHJhY2ViYWNrIHNldCB0byBpdHMgYXJndW1lbnQpLFxubGlrZSBzbzpcblxuICAgcmFpc2UgRXhjZXB0aW9uKCJmb28gb2NjdXJyZWQiKS53aXRoX3RyYWNlYmFjayh0cmFjZWJhY2tvYmopXG5cblRoZSAiZnJvbSIgY2xhdXNlIGlzIHVzZWQgZm9yIGV4Y2VwdGlvbiBjaGFpbmluZzogaWYgZ2l2ZW4sIHRoZSBzZWNvbmRcbipleHByZXNzaW9uKiBtdXN0IGJlIGFub3RoZXIgZXhjZXB0aW9uIGNsYXNzIG9yIGluc3RhbmNlLCB3aGljaCB3aWxsXG50aGVuIGJlIGF0dGFjaGVkIHRvIHRoZSByYWlzZWQgZXhjZXB0aW9uIGFzIHRoZSAiX19jYXVzZV9fIiBhdHRyaWJ1dGVcbih3aGljaCBpcyB3cml0YWJsZSkuICBJZiB0aGUgcmFpc2VkIGV4Y2VwdGlvbiBpcyBub3QgaGFuZGxlZCwgYm90aFxuZXhjZXB0aW9ucyB3aWxsIGJlIHByaW50ZWQ6XG5cbiAgID4+PiB0cnk6XG4gICAuLi4gICAgIHByaW50KDEgLyAwKVxuICAgLi4uIGV4Y2VwdCBFeGNlcHRpb24gYXMgZXhjOlxuICAgLi4uICAgICByYWlzZSBSdW50aW1lRXJyb3IoIlNvbWV0aGluZyBiYWQgaGFwcGVuZWQiKSBmcm9tIGV4Y1xuICAgLi4uXG4gICBUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6XG4gICAgIEZpbGUgIjxzdGRpbj4iLCBsaW5lIDIsIGluIDxtb2R1bGU+XG4gICBaZXJvRGl2aXNpb25FcnJvcjogaW50IGRpdmlzaW9uIG9yIG1vZHVsbyBieSB6ZXJvXG5cbiAgIFRoZSBhYm92ZSBleGNlcHRpb24gd2FzIHRoZSBkaXJlY3QgY2F1c2Ugb2YgdGhlIGZvbGxvd2luZyBleGNlcHRpb246XG5cbiAgIFRyYWNlYmFjayAobW9zdCByZWNlbnQgY2FsbCBsYXN0KTpcbiAgICAgRmlsZSAiPHN0ZGluPiIsIGxpbmUgNCwgaW4gPG1vZHVsZT5cbiAgIFJ1bnRpbWVFcnJvcjogU29tZXRoaW5nIGJhZCBoYXBwZW5lZFxuXG5BIHNpbWlsYXIgbWVjaGFuaXNtIHdvcmtzIGltcGxpY2l0bHkgaWYgYW4gZXhjZXB0aW9uIGlzIHJhaXNlZCBpbnNpZGVcbmFuIGV4Y2VwdGlvbiBoYW5kbGVyIG9yIGEgImZpbmFsbHkiIGNsYXVzZTogdGhlIHByZXZpb3VzIGV4Y2VwdGlvbiBpc1xudGhlbiBhdHRhY2hlZCBhcyB0aGUgbmV3IGV4Y2VwdGlvblwncyAiX19jb250ZXh0X18iIGF0dHJpYnV0ZTpcblxuICAgPj4+IHRyeTpcbiAgIC4uLiAgICAgcHJpbnQoMSAvIDApXG4gICAuLi4gZXhjZXB0OlxuICAgLi4uICAgICByYWlzZSBSdW50aW1lRXJyb3IoIlNvbWV0aGluZyBiYWQgaGFwcGVuZWQiKVxuICAgLi4uXG4gICBUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6XG4gICAgIEZpbGUgIjxzdGRpbj4iLCBsaW5lIDIsIGluIDxtb2R1bGU+XG4gICBaZXJvRGl2aXNpb25FcnJvcjogaW50IGRpdmlzaW9uIG9yIG1vZHVsbyBieSB6ZXJvXG5cbiAgIER1cmluZyBoYW5kbGluZyBvZiB0aGUgYWJvdmUgZXhjZXB0aW9uLCBhbm90aGVyIGV4Y2VwdGlvbiBvY2N1cnJlZDpcblxuICAgVHJhY2ViYWNrIChtb3N0IHJlY2VudCBjYWxsIGxhc3QpOlxuICAgICBGaWxlICI8c3RkaW4+IiwgbGluZSA0LCBpbiA8bW9kdWxlPlxuICAgUnVudGltZUVycm9yOiBTb21ldGhpbmcgYmFkIGhhcHBlbmVkXG5cbkFkZGl0aW9uYWwgaW5mb3JtYXRpb24gb24gZXhjZXB0aW9ucyBjYW4gYmUgZm91bmQgaW4gc2VjdGlvblxuKkV4Y2VwdGlvbnMqLCBhbmQgaW5mb3JtYXRpb24gYWJvdXQgaGFuZGxpbmcgZXhjZXB0aW9ucyBpcyBpbiBzZWN0aW9uXG4qVGhlIHRyeSBzdGF0ZW1lbnQqLlxuJywKQEAgLTYwLDcgKzYwLDcgQEAKICAnc2hpZnRpbmcnOiB1J1xuU2hpZnRpbmcgb3BlcmF0aW9uc1xuKioqKioqKioqKioqKioqKioqKlxuXG5UaGUgc2hpZnRpbmcgb3BlcmF0aW9ucyBoYXZlIGxvd2VyIHByaW9yaXR5IHRoYW4gdGhlIGFyaXRobWV0aWNcbm9wZXJhdGlvbnM6XG5cbiAgIHNoaWZ0X2V4cHIgOjo9IGFfZXhwciB8IHNoaWZ0X2V4cHIgKCAiPDwiIHwgIj4+IiApIGFfZXhwclxuXG5UaGVzZSBvcGVyYXRvcnMgYWNjZXB0IGludGVnZXJzIGFzIGFyZ3VtZW50cy4gIFRoZXkgc2hpZnQgdGhlIGZpcnN0XG5hcmd1bWVudCB0byB0aGUgbGVmdCBvciByaWdodCBieSB0aGUgbnVtYmVyIG9mIGJpdHMgZ2l2ZW4gYnkgdGhlXG5zZWNvbmQgYXJndW1lbnQuXG5cbkEgcmlnaHQgc2hpZnQgYnkgKm4qIGJpdHMgaXMgZGVmaW5lZCBhcyBmbG9vciBkaXZpc2lvbiBieSAicG93KDIsbikiLlxuQSBsZWZ0IHNoaWZ0IGJ5ICpuKiBiaXRzIGlzIGRlZmluZWQgYXMgbXVsdGlwbGljYXRpb24gd2l0aCAicG93KDIsbikiLlxuXG5Ob3RlOiBJbiB0aGUgY3VycmVudCBpbXBsZW1lbnRhdGlvbiwgdGhlIHJpZ2h0LWhhbmQgb3BlcmFuZCBpc1xuICByZXF1aXJlZCB0byBiZSBhdCBtb3N0ICJzeXMubWF4c2l6ZSIuICBJZiB0aGUgcmlnaHQtaGFuZCBvcGVyYW5kIGlzXG4gIGxhcmdlciB0aGFuICJzeXMubWF4c2l6ZSIgYW4gIk92ZXJmbG93RXJyb3IiIGV4Y2VwdGlvbiBpcyByYWlzZWQuXG4nLAogICdzbGljaW5ncyc6IHUnXG5TbGljaW5nc1xuKioqKioqKipcblxuQSBzbGljaW5nIHNlbGVjdHMgYSByYW5nZSBvZiBpdGVtcyBpbiBhIHNlcXVlbmNlIG9iamVjdCAoZS5nLiwgYVxuc3RyaW5nLCB0dXBsZSBvciBsaXN0KS4gIFNsaWNpbmdzIG1heSBiZSB1c2VkIGFzIGV4cHJlc3Npb25zIG9yIGFzXG50YXJnZXRzIGluIGFzc2lnbm1lbnQgb3IgImRlbCIgc3RhdGVtZW50cy4gIFRoZSBzeW50YXggZm9yIGEgc2xpY2luZzpcblxuICAgc2xpY2luZyAgICAgIDo6PSBwcmltYXJ5ICJbIiBzbGljZV9saXN0ICJdIlxuICAgc2xpY2VfbGlzdCAgIDo6PSBzbGljZV9pdGVtICgiLCIgc2xpY2VfaXRlbSkqIFsiLCJdXG4gICBzbGljZV9pdGVtICAgOjo9IGV4cHJlc3Npb24gfCBwcm9wZXJfc2xpY2VcbiAgIHByb3Blcl9zbGljZSA6Oj0gW2xvd2VyX2JvdW5kXSAiOiIgW3VwcGVyX2JvdW5kXSBbICI6IiBbc3RyaWRlXSBdXG4gICBsb3dlcl9ib3VuZCAgOjo9IGV4cHJlc3Npb25cbiAgIHVwcGVyX2JvdW5kICA6Oj0gZXhwcmVzc2lvblxuICAgc3RyaWRlICAgICAgIDo6PSBleHByZXNzaW9uXG5cblRoZXJlIGlzIGFtYmlndWl0eSBpbiB0aGUgZm9ybWFsIHN5bnRheCBoZXJlOiBhbnl0aGluZyB0aGF0IGxvb2tzIGxpa2VcbmFuIGV4cHJlc3Npb24gbGlzdCBhbHNvIGxvb2tzIGxpa2UgYSBzbGljZSBsaXN0LCBzbyBhbnkgc3Vic2NyaXB0aW9uXG5jYW4gYmUgaW50ZXJwcmV0ZWQgYXMgYSBzbGljaW5nLiAgUmF0aGVyIHRoYW4gZnVydGhlciBjb21wbGljYXRpbmcgdGhlXG5zeW50YXgsIHRoaXMgaXMgZGlzYW1iaWd1YXRlZCBieSBkZWZpbmluZyB0aGF0IGluIHRoaXMgY2FzZSB0aGVcbmludGVycHJldGF0aW9uIGFzIGEgc3Vic2NyaXB0aW9uIHRha2VzIHByaW9yaXR5IG92ZXIgdGhlXG5pbnRlcnByZXRhdGlvbiBhcyBhIHNsaWNpbmcgKHRoaXMgaXMgdGhlIGNhc2UgaWYgdGhlIHNsaWNlIGxpc3RcbmNvbnRhaW5zIG5vIHByb3BlciBzbGljZSkuXG5cblRoZSBzZW1hbnRpY3MgZm9yIGEgc2xpY2luZyBhcmUgYXMgZm9sbG93cy4gIFRoZSBwcmltYXJ5IGlzIGluZGV4ZWRcbih1c2luZyB0aGUgc2FtZSAiX19nZXRpdGVtX18oKSIgbWV0aG9kIGFzIG5vcm1hbCBzdWJzY3JpcHRpb24pIHdpdGggYVxua2V5IHRoYXQgaXMgY29uc3RydWN0ZWQgZnJvbSB0aGUgc2xpY2UgbGlzdCwgYXMgZm9sbG93cy4gIElmIHRoZSBzbGljZVxubGlzdCBjb250YWlucyBhdCBsZWFzdCBvbmUgY29tbWEsIHRoZSBrZXkgaXMgYSB0dXBsZSBjb250YWluaW5nIHRoZVxuY29udmVyc2lvbiBvZiB0aGUgc2xpY2UgaXRlbXM7IG90aGVyd2lzZSwgdGhlIGNvbnZlcnNpb24gb2YgdGhlIGxvbmVcbnNsaWNlIGl0ZW0gaXMgdGhlIGtleS4gIFRoZSBjb252ZXJzaW9uIG9mIGEgc2xpY2UgaXRlbSB0aGF0IGlzIGFuXG5leHByZXNzaW9uIGlzIHRoYXQgZXhwcmVzc2lvbi4gIFRoZSBjb252ZXJzaW9uIG9mIGEgcHJvcGVyIHNsaWNlIGlzIGFcbnNsaWNlIG9iamVjdCAoc2VlIHNlY3Rpb24gKlRoZSBzdGFuZGFyZCB0eXBlIGhpZXJhcmNoeSopIHdob3NlXG4ic3RhcnQiLCAic3RvcCIgYW5kICJzdGVwIiBhdHRyaWJ1dGVzIGFyZSB0aGUgdmFsdWVzIG9mIHRoZVxuZXhwcmVzc2lvbnMgZ2l2ZW4gYXMgbG93ZXIgYm91bmQsIHVwcGVyIGJvdW5kIGFuZCBzdHJpZGUsXG5yZXNwZWN0aXZlbHksIHN1YnN0aXR1dGluZyAiTm9uZSIgZm9yIG1pc3NpbmcgZXhwcmVzc2lvbnMuXG4nLAogICdzcGVjaWFsYXR0cnMnOiB1J1xuU3BlY2lhbCBBdHRyaWJ1dGVzXG4qKioqKioqKioqKioqKioqKipcblxuVGhlIGltcGxlbWVudGF0aW9uIGFkZHMgYSBmZXcgc3BlY2lhbCByZWFkLW9ubHkgYXR0cmlidXRlcyB0byBzZXZlcmFsXG5vYmplY3QgdHlwZXMsIHdoZXJlIHRoZXkgYXJlIHJlbGV2YW50LiAgU29tZSBvZiB0aGVzZSBhcmUgbm90IHJlcG9ydGVkXG5ieSB0aGUgImRpcigpIiBidWlsdC1pbiBmdW5jdGlvbi5cblxub2JqZWN0Ll9fZGljdF9fXG5cbiAgIEEgZGljdGlvbmFyeSBvciBvdGhlciBtYXBwaW5nIG9iamVjdCB1c2VkIHRvIHN0b3JlIGFuIG9iamVjdFwnc1xuICAgKHdyaXRhYmxlKSBhdHRyaWJ1dGVzLlxuXG5pbnN0YW5jZS5fX2NsYXNzX19cblxuICAgVGhlIGNsYXNzIHRvIHdoaWNoIGEgY2xhc3MgaW5zdGFuY2UgYmVsb25ncy5cblxuY2xhc3MuX19iYXNlc19fXG5cbiAgIFRoZSB0dXBsZSBvZiBiYXNlIGNsYXNzZXMgb2YgYSBjbGFzcyBvYmplY3QuXG5cbmNsYXNzLl9fbmFtZV9fXG5cbiAgIFRoZSBuYW1lIG9mIHRoZSBjbGFzcyBvciB0eXBlLlxuXG5jbGFzcy5fX3F1YWxuYW1lX19cblxuICAgVGhlICpxdWFsaWZpZWQgbmFtZSogb2YgdGhlIGNsYXNzIG9yIHR5cGUuXG5cbiAgIE5ldyBpbiB2ZXJzaW9uIDMuMy5cblxuY2xhc3MuX19tcm9fX1xuXG4gICBUaGlzIGF0dHJpYnV0ZSBpcyBhIHR1cGxlIG9mIGNsYXNzZXMgdGhhdCBhcmUgY29uc2lkZXJlZCB3aGVuXG4gICBsb29raW5nIGZvciBiYXNlIGNsYXNzZXMgZHVyaW5nIG1ldGhvZCByZXNvbHV0aW9uLlxuXG5jbGFzcy5tcm8oKVxuXG4gICBUaGlzIG1ldGhvZCBjYW4gYmUgb3ZlcnJpZGRlbiBieSBhIG1ldGFjbGFzcyB0byBjdXN0b21pemUgdGhlXG4gICBtZXRob2QgcmVzb2x1dGlvbiBvcmRlciBmb3IgaXRzIGluc3RhbmNlcy4gIEl0IGlzIGNhbGxlZCBhdCBjbGFzc1xuICAgaW5zdGFudGlhdGlvbiwgYW5kIGl0cyByZXN1bHQgaXMgc3RvcmVkIGluICJfX21yb19fIi5cblxuY2xhc3MuX19zdWJjbGFzc2VzX18oKVxuXG4gICBFYWNoIGNsYXNzIGtlZXBzIGEgbGlzdCBvZiB3ZWFrIHJlZmVyZW5jZXMgdG8gaXRzIGltbWVkaWF0ZVxuICAgc3ViY2xhc3Nlcy4gIFRoaXMgbWV0aG9kIHJldHVybnMgYSBsaXN0IG9mIGFsbCB0aG9zZSByZWZlcmVuY2VzXG4gICBzdGlsbCBhbGl2ZS4gRXhhbXBsZTpcblxuICAgICAgPj4+IGludC5fX3N1YmNsYXNzZXNfXygpXG4gICAgICBbPGNsYXNzIFwnYm9vbFwnPl1cblxuLVsgRm9vdG5vdGVzIF0tXG5cblsxXSBBZGRpdGlvbmFsIGluZm9ybWF0aW9uIG9uIHRoZXNlIHNwZWNpYWwgbWV0aG9kcyBtYXkgYmUgZm91bmRcbiAgICBpbiB0aGUgUHl0aG9uIFJlZmVyZW5jZSBNYW51YWwgKCpCYXNpYyBjdXN0b21pemF0aW9uKikuXG5cblsyXSBBcyBhIGNvbnNlcXVlbmNlLCB0aGUgbGlzdCAiWzEsIDJdIiBpcyBjb25zaWRlcmVkIGVxdWFsIHRvXG4gICAgIlsxLjAsIDIuMF0iLCBhbmQgc2ltaWxhcmx5IGZvciB0dXBsZXMuXG5cblszXSBUaGV5IG11c3QgaGF2ZSBzaW5jZSB0aGUgcGFyc2VyIGNhblwndCB0ZWxsIHRoZSB0eXBlIG9mIHRoZVxuICAgIG9wZXJhbmRzLlxuXG5bNF0gQ2FzZWQgY2hhcmFjdGVycyBhcmUgdGhvc2Ugd2l0aCBnZW5lcmFsIGNhdGVnb3J5IHByb3BlcnR5XG4gICAgYmVpbmcgb25lIG9mICJMdSIgKExldHRlciwgdXBwZXJjYXNlKSwgIkxsIiAoTGV0dGVyLCBsb3dlcmNhc2UpLFxuICAgIG9yICJMdCIgKExldHRlciwgdGl0bGVjYXNlKS5cblxuWzVdIFRvIGZvcm1hdCBvbmx5IGEgdHVwbGUgeW91IHNob3VsZCB0aGVyZWZvcmUgcHJvdmlkZSBhXG4gICAgc2luZ2xldG9uIHR1cGxlIHdob3NlIG9ubHkgZWxlbWVudCBpcyB0aGUgdHVwbGUgdG8gYmUgZm9ybWF0dGVkLlxuJywKLSAnc3BlY2lhbG5hbWVzJzogdSdcblNwZWNpYWwgbWV0aG9kIG5hbWVzXG4qKioqKioqKioqKioqKioqKioqKlxuXG5BIGNsYXNzIGNhbiBpbXBsZW1lbnQgY2VydGFpbiBvcGVyYXRpb25zIHRoYXQgYXJlIGludm9rZWQgYnkgc3BlY2lhbFxuc3ludGF4IChzdWNoIGFzIGFyaXRobWV0aWMgb3BlcmF0aW9ucyBvciBzdWJzY3JpcHRpbmcgYW5kIHNsaWNpbmcpIGJ5XG5kZWZpbmluZyBtZXRob2RzIHdpdGggc3BlY2lhbCBuYW1lcy4gVGhpcyBpcyBQeXRob25cJ3MgYXBwcm9hY2ggdG9cbipvcGVyYXRvciBvdmVybG9hZGluZyosIGFsbG93aW5nIGNsYXNzZXMgdG8gZGVmaW5lIHRoZWlyIG93biBiZWhhdmlvclxud2l0aCByZXNwZWN0IHRvIGxhbmd1YWdlIG9wZXJhdG9ycy4gIEZvciBpbnN0YW5jZSwgaWYgYSBjbGFzcyBkZWZpbmVzXG5hIG1ldGhvZCBuYW1lZCAiX19nZXRpdGVtX18oKSIsIGFuZCAieCIgaXMgYW4gaW5zdGFuY2Ugb2YgdGhpcyBjbGFzcyxcbnRoZW4gInhbaV0iIGlzIHJvdWdobHkgZXF1aXZhbGVudCB0byAidHlwZSh4KS5fX2dldGl0ZW1fXyh4LCBpKSIuXG5FeGNlcHQgd2hlcmUgbWVudGlvbmVkLCBhdHRlbXB0cyB0byBleGVjdXRlIGFuIG9wZXJhdGlvbiByYWlzZSBhblxuZXhjZXB0aW9uIHdoZW4gbm8gYXBwcm9wcmlhdGUgbWV0aG9kIGlzIGRlZmluZWQgKHR5cGljYWxseVxuIkF0dHJpYnV0ZUVycm9yIiBvciAiVHlwZUVycm9yIikuXG5cbldoZW4gaW1wbGVtZW50aW5nIGEgY2xhc3MgdGhhdCBlbXVsYXRlcyBhbnkgYnVpbHQtaW4gdHlwZSwgaXQgaXNcbmltcG9ydGFudCB0aGF0IHRoZSBlbXVsYXRpb24gb25seSBiZSBpbXBsZW1lbnRlZCB0byB0aGUgZGVncmVlIHRoYXQgaXRcbm1ha2VzIHNlbnNlIGZvciB0aGUgb2JqZWN0IGJlaW5nIG1vZGVsbGVkLiAgRm9yIGV4YW1wbGUsIHNvbWVcbnNlcXVlbmNlcyBtYXkgd29yayB3ZWxsIHdpdGggcmV0cmlldmFsIG9mIGluZGl2aWR1YWwgZWxlbWVudHMsIGJ1dFxuZXh0cmFjdGluZyBhIHNsaWNlIG1heSBub3QgbWFrZSBzZW5zZS4gIChPbmUgZXhhbXBsZSBvZiB0aGlzIGlzIHRoZVxuIk5vZGVMaXN0IiBpbnRlcmZhY2UgaW4gdGhlIFczQ1wncyBEb2N1bWVudCBPYmplY3QgTW9kZWwuKVxuXG5cbkJhc2ljIGN1c3RvbWl6YXRpb25cbj09PT09PT09PT09PT09PT09PT1cblxub2JqZWN0Ll9fbmV3X18oY2xzWywgLi4uXSlcblxuICAgQ2FsbGVkIHRvIGNyZWF0ZSBhIG5ldyBpbnN0YW5jZSBvZiBjbGFzcyAqY2xzKi4gICJfX25ld19fKCkiIGlzIGFcbiAgIHN0YXRpYyBtZXRob2QgKHNwZWNpYWwtY2FzZWQgc28geW91IG5lZWQgbm90IGRlY2xhcmUgaXQgYXMgc3VjaClcbiAgIHRoYXQgdGFrZXMgdGhlIGNsYXNzIG9mIHdoaWNoIGFuIGluc3RhbmNlIHdhcyByZXF1ZXN0ZWQgYXMgaXRzXG4gICBmaXJzdCBhcmd1bWVudC4gIFRoZSByZW1haW5pbmcgYXJndW1lbnRzIGFyZSB0aG9zZSBwYXNzZWQgdG8gdGhlXG4gICBvYmplY3QgY29uc3RydWN0b3IgZXhwcmVzc2lvbiAodGhlIGNhbGwgdG8gdGhlIGNsYXNzKS4gIFRoZSByZXR1cm5cbiAgIHZhbHVlIG9mICJfX25ld19fKCkiIHNob3VsZCBiZSB0aGUgbmV3IG9iamVjdCBpbnN0YW5jZSAodXN1YWxseSBhblxuICAgaW5zdGFuY2Ugb2YgKmNscyopLlxuXG4gICBUeXBpY2FsIGltcGxlbWVudGF0aW9ucyBjcmVhdGUgYSBuZXcgaW5zdGFuY2Ugb2YgdGhlIGNsYXNzIGJ5XG4gICBpbnZva2luZyB0aGUgc3VwZXJjbGFzc1wncyAiX19uZXdfXygpIiBtZXRob2QgdXNpbmdcbiAgICJzdXBlcihjdXJyZW50Y2xhc3MsIGNscykuX19uZXdfXyhjbHNbLCAuLi5dKSIgd2l0aCBhcHByb3ByaWF0ZVxuICAgYXJndW1lbnRzIGFuZCB0aGVuIG1vZGlmeWluZyB0aGUgbmV3bHktY3JlYXRlZCBpbnN0YW5jZSBhc1xuICAgbmVjZXNzYXJ5IGJlZm9yZSByZXR1cm5pbmcgaXQuXG5cbiAgIElmICJfX25ld19fKCkiIHJldHVybnMgYW4gaW5zdGFuY2Ugb2YgKmNscyosIHRoZW4gdGhlIG5ld1xuICAgaW5zdGFuY2VcJ3MgIl9faW5pdF9fKCkiIG1ldGhvZCB3aWxsIGJlIGludm9rZWQgbGlrZVxuICAgIl9faW5pdF9fKHNlbGZbLCAuLi5dKSIsIHdoZXJlICpzZWxmKiBpcyB0aGUgbmV3IGluc3RhbmNlIGFuZCB0aGVcbiAgIHJlbWFpbmluZyBhcmd1bWVudHMgYXJlIHRoZSBzYW1lIGFzIHdlcmUgcGFzc2VkIHRvICJfX25ld19fKCkiLlxuXG4gICBJZiAiX19uZXdfXygpIiBkb2VzIG5vdCByZXR1cm4gYW4gaW5zdGFuY2Ugb2YgKmNscyosIHRoZW4gdGhlIG5ld1xuICAgaW5zdGFuY2VcJ3MgIl9faW5pdF9fKCkiIG1ldGhvZCB3aWxsIG5vdCBiZSBpbnZva2VkLlxuXG4gICAiX19uZXdfXygpIiBpcyBpbnRlbmRlZCBtYWlubHkgdG8gYWxsb3cgc3ViY2xhc3NlcyBvZiBpbW11dGFibGVcbiAgIHR5cGVzIChsaWtlIGludCwgc3RyLCBvciB0dXBsZSkgdG8gY3VzdG9taXplIGluc3RhbmNlIGNyZWF0aW9uLiAgSXRcbiAgIGlzIGFsc28gY29tbW9ubHkgb3ZlcnJpZGRlbiBpbiBjdXN0b20gbWV0YWNsYXNzZXMgaW4gb3JkZXIgdG9cbiAgIGN1c3RvbWl6ZSBjbGFzcyBjcmVhdGlvbi5cblxub2JqZWN0Ll9faW5pdF9fKHNlbGZbLCAuLi5dKVxuXG4gICBDYWxsZWQgYWZ0ZXIgdGhlIGluc3RhbmNlIGhhcyBiZWVuIGNyZWF0ZWQgKGJ5ICJfX25ld19fKCkiKSwgYnV0XG4gICBiZWZvcmUgaXQgaXMgcmV0dXJuZWQgdG8gdGhlIGNhbGxlci4gIFRoZSBhcmd1bWVudHMgYXJlIHRob3NlXG4gICBwYXNzZWQgdG8gdGhlIGNsYXNzIGNvbnN0cnVjdG9yIGV4cHJlc3Npb24uICBJZiBhIGJhc2UgY2xhc3MgaGFzIGFuXG4gICAiX19pbml0X18oKSIgbWV0aG9kLCB0aGUgZGVyaXZlZCBjbGFzc1wncyAiX19pbml0X18oKSIgbWV0aG9kLCBpZlxuICAgYW55LCBtdXN0IGV4cGxpY2l0bHkgY2FsbCBpdCB0byBlbnN1cmUgcHJvcGVyIGluaXRpYWxpemF0aW9uIG9mIHRoZVxuICAgYmFzZSBjbGFzcyBwYXJ0IG9mIHRoZSBpbnN0YW5jZTsgZm9yIGV4YW1wbGU6XG4gICAiQmFzZUNsYXNzLl9faW5pdF9fKHNlbGYsIFthcmdzLi4uXSkiLlxuXG4gICBCZWNhdXNlICJfX25ld19fKCkiIGFuZCAiX19pbml0X18oKSIgd29yayB0b2dldGhlciBpbiBjb25zdHJ1Y3RpbmdcbiAgIG9iamVjdHMgKCJfX25ld19fKCkiIHRvIGNyZWF0ZSBpdCwgYW5kICJfX2luaXRfXygpIiB0byBjdXN0b21pc2VcbiAgIGl0KSwgbm8gbm9uLSJOb25lIiB2YWx1ZSBtYXkgYmUgcmV0dXJuZWQgYnkgIl9faW5pdF9fKCkiOyBkb2luZyBzb1xuICAgd2lsbCBjYXVzZSBhICJUeXBlRXJyb3IiIHRvIGJlIHJhaXNlZCBhdCBydW50aW1lLlxuXG5vYmplY3QuX19kZWxfXyhzZWxmKVxuXG4gICBDYWxsZWQgd2hlbiB0aGUgaW5zdGFuY2UgaXMgYWJvdXQgdG8gYmUgZGVzdHJveWVkLiAgVGhpcyBpcyBhbHNvXG4gICBjYWxsZWQgYSBkZXN0cnVjdG9yLiAgSWYgYSBiYXNlIGNsYXNzIGhhcyBhICJfX2RlbF9fKCkiIG1ldGhvZCwgdGhlXG4gICBkZXJpdmVkIGNsYXNzXCdzICJfX2RlbF9fKCkiIG1ldGhvZCwgaWYgYW55LCBtdXN0IGV4cGxpY2l0bHkgY2FsbCBpdFxuICAgdG8gZW5zdXJlIHByb3BlciBkZWxldGlvbiBvZiB0aGUgYmFzZSBjbGFzcyBwYXJ0IG9mIHRoZSBpbnN0YW5jZS5cbiAgIE5vdGUgdGhhdCBpdCBpcyBwb3NzaWJsZSAodGhvdWdoIG5vdCByZWNvbW1lbmRlZCEpIGZvciB0aGVcbiAgICJfX2RlbF9fKCkiIG1ldGhvZCB0byBwb3N0cG9uZSBkZXN0cnVjdGlvbiBvZiB0aGUgaW5zdGFuY2UgYnlcbiAgIGNyZWF0aW5nIGEgbmV3IHJlZmVyZW5jZSB0byBpdC4gIEl0IG1heSB0aGVuIGJlIGNhbGxlZCBhdCBhIGxhdGVyXG4gICB0aW1lIHdoZW4gdGhpcyBuZXcgcmVmZXJlbmNlIGlzIGRlbGV0ZWQuICBJdCBpcyBub3QgZ3VhcmFudGVlZCB0aGF0XG4gICAiX19kZWxfXygpIiBtZXRob2RzIGFyZSBjYWxsZWQgZm9yIG9iamVjdHMgdGhhdCBzdGlsbCBleGlzdCB3aGVuXG4gICB0aGUgaW50ZXJwcmV0ZXIgZXhpdHMuXG5cbiAgIE5vdGU6ICJkZWwgeCIgZG9lc25cJ3QgZGlyZWN0bHkgY2FsbCAieC5fX2RlbF9fKCkiIC0tLSB0aGUgZm9ybWVyXG4gICAgIGRlY3JlbWVudHMgdGhlIHJlZmVyZW5jZSBjb3VudCBmb3IgIngiIGJ5IG9uZSwgYW5kIHRoZSBsYXR0ZXIgaXNcbiAgICAgb25seSBjYWxsZWQgd2hlbiAieCJcJ3MgcmVmZXJlbmNlIGNvdW50IHJlYWNoZXMgemVyby4gIFNvbWUgY29tbW9uXG4gICAgIHNpdHVhdGlvbnMgdGhhdCBtYXkgcHJldmVudCB0aGUgcmVmZXJlbmNlIGNvdW50IG9mIGFuIG9iamVjdCBmcm9tXG4gICAgIGdvaW5nIHRvIHplcm8gaW5jbHVkZTogY2lyY3VsYXIgcmVmZXJlbmNlcyBiZXR3ZWVuIG9iamVjdHMgKGUuZy4sXG4gICAgIGEgZG91Ymx5LWxpbmtlZCBsaXN0IG9yIGEgdHJlZSBkYXRhIHN0cnVjdHVyZSB3aXRoIHBhcmVudCBhbmRcbiAgICAgY2hpbGQgcG9pbnRlcnMpOyBhIHJlZmVyZW5jZSB0byB0aGUgb2JqZWN0IG9uIHRoZSBzdGFjayBmcmFtZSBvZlxuICAgICBhIGZ1bmN0aW9uIHRoYXQgY2F1Z2h0IGFuIGV4Y2VwdGlvbiAodGhlIHRyYWNlYmFjayBzdG9yZWQgaW5cbiAgICAgInN5cy5leGNfaW5mbygpWzJdIiBrZWVwcyB0aGUgc3RhY2sgZnJhbWUgYWxpdmUpOyBvciBhIHJlZmVyZW5jZVxuICAgICB0byB0aGUgb2JqZWN0IG9uIHRoZSBzdGFjayBmcmFtZSB0aGF0IHJhaXNlZCBhbiB1bmhhbmRsZWRcbiAgICAgZXhjZXB0aW9uIGluIGludGVyYWN0aXZlIG1vZGUgKHRoZSB0cmFjZWJhY2sgc3RvcmVkIGluXG4gICAgICJzeXMubGFzdF90cmFjZWJhY2siIGtlZXBzIHRoZSBzdGFjayBmcmFtZSBhbGl2ZSkuICBUaGUgZmlyc3RcbiAgICAgc2l0dWF0aW9uIGNhbiBvbmx5IGJlIHJlbWVkaWVkIGJ5IGV4cGxpY2l0bHkgYnJlYWtpbmcgdGhlIGN5Y2xlcztcbiAgICAgdGhlIHNlY29uZCBjYW4gYmUgcmVzb2x2ZWQgYnkgZnJlZWluZyB0aGUgcmVmZXJlbmNlIHRvIHRoZVxuICAgICB0cmFjZWJhY2sgb2JqZWN0IHdoZW4gaXQgaXMgbm8gbG9uZ2VyIHVzZWZ1bCwgYW5kIHRoZSB0aGlyZCBjYW5cbiAgICAgYmUgcmVzb2x2ZWQgYnkgc3RvcmluZyAiTm9uZSIgaW4gInN5cy5sYXN0X3RyYWNlYmFjayIuIENpcmN1bGFyXG4gICAgIHJlZmVyZW5jZXMgd2hpY2ggYXJlIGdhcmJhZ2UgYXJlIGRldGVjdGVkIGFuZCBjbGVhbmVkIHVwIHdoZW4gdGhlXG4gICAgIGN5Y2xpYyBnYXJiYWdlIGNvbGxlY3RvciBpcyBlbmFibGVkIChpdFwncyBvbiBieSBkZWZhdWx0KS4gUmVmZXJcbiAgICAgdG8gdGhlIGRvY3VtZW50YXRpb24gZm9yIHRoZSAiZ2MiIG1vZHVsZSBmb3IgbW9yZSBpbmZvcm1hdGlvblxuICAgICBhYm91dCB0aGlzIHRvcGljLlxuXG4gICBXYXJuaW5nOiBEdWUgdG8gdGhlIHByZWNhcmlvdXMgY2lyY3Vtc3RhbmNlcyB1bmRlciB3aGljaFxuICAgICAiX19kZWxfXygpIiBtZXRob2RzIGFyZSBpbnZva2VkLCBleGNlcHRpb25zIHRoYXQgb2NjdXIgZHVyaW5nXG4gICAgIHRoZWlyIGV4ZWN1dGlvbiBhcmUgaWdub3JlZCwgYW5kIGEgd2FybmluZyBpcyBwcmludGVkIHRvXG4gICAgICJzeXMuc3RkZXJyIiBpbnN0ZWFkLiBBbHNvLCB3aGVuICJfX2RlbF9fKCkiIGlzIGludm9rZWQgaW5cbiAgICAgcmVzcG9uc2UgdG8gYSBtb2R1bGUgYmVpbmcgZGVsZXRlZCAoZS5nLiwgd2hlbiBleGVjdXRpb24gb2YgdGhlXG4gICAgIHByb2dyYW0gaXMgZG9uZSksIG90aGVyIGdsb2JhbHMgcmVmZXJlbmNlZCBieSB0aGUgIl9fZGVsX18oKSJcbiAgICAgbWV0aG9kIG1heSBhbHJlYWR5IGhhdmUgYmVlbiBkZWxldGVkIG9yIGluIHRoZSBwcm9jZXNzIG9mIGJlaW5nXG4gICAgIHRvcm4gZG93biAoZS5nLiB0aGUgaW1wb3J0IG1hY2hpbmVyeSBzaHV0dGluZyBkb3duKS4gIEZvciB0aGlzXG4gICAgIHJlYXNvbiwgIl9fZGVsX18oKSIgbWV0aG9kcyBzaG91bGQgZG8gdGhlIGFic29sdXRlIG1pbmltdW0gbmVlZGVkXG4gICAgIHRvIG1haW50YWluIGV4dGVybmFsIGludmFyaWFudHMuICBTdGFydGluZyB3aXRoIHZlcnNpb24gMS41LFxuICAgICBQeXRob24gZ3VhcmFudGVlcyB0aGF0IGdsb2JhbHMgd2hvc2UgbmFtZSBiZWdpbnMgd2l0aCBhIHNpbmdsZVxuICAgICB1bmRlcnNjb3JlIGFyZSBkZWxldGVkIGZyb20gdGhlaXIgbW9kdWxlIGJlZm9yZSBvdGhlciBnbG9iYWxzIGFyZVxuICAgICBkZWxldGVkOyBpZiBubyBvdGhlciByZWZlcmVuY2VzIHRvIHN1Y2ggZ2xvYmFscyBleGlzdCwgdGhpcyBtYXlcbiAgICAgaGVscCBpbiBhc3N1cmluZyB0aGF0IGltcG9ydGVkIG1vZHVsZXMgYXJlIHN0aWxsIGF2YWlsYWJsZSBhdCB0aGVcbiAgICAgdGltZSB3aGVuIHRoZSAiX19kZWxfXygpIiBtZXRob2QgaXMgY2FsbGVkLlxuXG5vYmplY3QuX19yZXByX18oc2VsZilcblxuICAgQ2FsbGVkIGJ5IHRoZSAicmVwcigpIiBidWlsdC1pbiBmdW5jdGlvbiB0byBjb21wdXRlIHRoZSAib2ZmaWNpYWwiXG4gICBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgYW4gb2JqZWN0LiAgSWYgYXQgYWxsIHBvc3NpYmxlLCB0aGlzXG4gICBzaG91bGQgbG9vayBsaWtlIGEgdmFsaWQgUHl0aG9uIGV4cHJlc3Npb24gdGhhdCBjb3VsZCBiZSB1c2VkIHRvXG4gICByZWNyZWF0ZSBhbiBvYmplY3Qgd2l0aCB0aGUgc2FtZSB2YWx1ZSAoZ2l2ZW4gYW4gYXBwcm9wcmlhdGVcbiAgIGVudmlyb25tZW50KS4gIElmIHRoaXMgaXMgbm90IHBvc3NpYmxlLCBhIHN0cmluZyBvZiB0aGUgZm9ybVxuICAgIjwuLi5zb21lIHVzZWZ1bCBkZXNjcmlwdGlvbi4uLj4iIHNob3VsZCBiZSByZXR1cm5lZC4gVGhlIHJldHVyblxuICAgdmFsdWUgbXVzdCBiZSBhIHN0cmluZyBvYmplY3QuIElmIGEgY2xhc3MgZGVmaW5lcyAiX19yZXByX18oKSIgYnV0XG4gICBub3QgIl9fc3RyX18oKSIsIHRoZW4gIl9fcmVwcl9fKCkiIGlzIGFsc28gdXNlZCB3aGVuIGFuICJpbmZvcm1hbCJcbiAgIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiBpbnN0YW5jZXMgb2YgdGhhdCBjbGFzcyBpcyByZXF1aXJlZC5cblxuICAgVGhpcyBpcyB0eXBpY2FsbHkgdXNlZCBmb3IgZGVidWdnaW5nLCBzbyBpdCBpcyBpbXBvcnRhbnQgdGhhdCB0aGVcbiAgIHJlcHJlc2VudGF0aW9uIGlzIGluZm9ybWF0aW9uLXJpY2ggYW5kIHVuYW1iaWd1b3VzLlxuXG5vYmplY3QuX19zdHJfXyhzZWxmKVxuXG4gICBDYWxsZWQgYnkgInN0cihvYmplY3QpIiBhbmQgdGhlIGJ1aWx0LWluIGZ1bmN0aW9ucyAiZm9ybWF0KCkiIGFuZFxuICAgInByaW50KCkiIHRvIGNvbXB1dGUgdGhlICJpbmZvcm1hbCIgb3IgbmljZWx5IHByaW50YWJsZSBzdHJpbmdcbiAgIHJlcHJlc2VudGF0aW9uIG9mIGFuIG9iamVjdC4gIFRoZSByZXR1cm4gdmFsdWUgbXVzdCBiZSBhICpzdHJpbmcqXG4gICBvYmplY3QuXG5cbiAgIFRoaXMgbWV0aG9kIGRpZmZlcnMgZnJvbSAib2JqZWN0Ll9fcmVwcl9fKCkiIGluIHRoYXQgdGhlcmUgaXMgbm9cbiAgIGV4cGVjdGF0aW9uIHRoYXQgIl9fc3RyX18oKSIgcmV0dXJuIGEgdmFsaWQgUHl0aG9uIGV4cHJlc3Npb246IGFcbiAgIG1vcmUgY29udmVuaWVudCBvciBjb25jaXNlIHJlcHJlc2VudGF0aW9uIGNhbiBiZSB1c2VkLlxuXG4gICBUaGUgZGVmYXVsdCBpbXBsZW1lbnRhdGlvbiBkZWZpbmVkIGJ5IHRoZSBidWlsdC1pbiB0eXBlICJvYmplY3QiXG4gICBjYWxscyAib2JqZWN0Ll9fcmVwcl9fKCkiLlxuXG5vYmplY3QuX19ieXRlc19fKHNlbGYpXG5cbiAgIENhbGxlZCBieSAiYnl0ZXMoKSIgdG8gY29tcHV0ZSBhIGJ5dGUtc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIGFuXG4gICBvYmplY3QuIFRoaXMgc2hvdWxkIHJldHVybiBhICJieXRlcyIgb2JqZWN0LlxuXG5vYmplY3QuX19mb3JtYXRfXyhzZWxmLCBmb3JtYXRfc3BlYylcblxuICAgQ2FsbGVkIGJ5IHRoZSAiZm9ybWF0KCkiIGJ1aWx0LWluIGZ1bmN0aW9uIChhbmQgYnkgZXh0ZW5zaW9uLCB0aGVcbiAgICJzdHIuZm9ybWF0KCkiIG1ldGhvZCBvZiBjbGFzcyAic3RyIikgdG8gcHJvZHVjZSBhICJmb3JtYXR0ZWQiXG4gICBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgYW4gb2JqZWN0LiBUaGUgImZvcm1hdF9zcGVjIiBhcmd1bWVudCBpcyBhXG4gICBzdHJpbmcgdGhhdCBjb250YWlucyBhIGRlc2NyaXB0aW9uIG9mIHRoZSBmb3JtYXR0aW5nIG9wdGlvbnNcbiAgIGRlc2lyZWQuIFRoZSBpbnRlcnByZXRhdGlvbiBvZiB0aGUgImZvcm1hdF9zcGVjIiBhcmd1bWVudCBpcyB1cCB0b1xuICAgdGhlIHR5cGUgaW1wbGVtZW50aW5nICJfX2Zvcm1hdF9fKCkiLCBob3dldmVyIG1vc3QgY2xhc3NlcyB3aWxsXG4gICBlaXRoZXIgZGVsZWdhdGUgZm9ybWF0dGluZyB0byBvbmUgb2YgdGhlIGJ1aWx0LWluIHR5cGVzLCBvciB1c2UgYVxuICAgc2ltaWxhciBmb3JtYXR0aW5nIG9wdGlvbiBzeW50YXguXG5cbiAgIFNlZSAqRm9ybWF0IFNwZWNpZmljYXRpb24gTWluaS1MYW5ndWFnZSogZm9yIGEgZGVzY3JpcHRpb24gb2YgdGhlXG4gICBzdGFuZGFyZCBmb3JtYXR0aW5nIHN5bnRheC5cblxuICAgVGhlIHJldHVybiB2YWx1ZSBtdXN0IGJlIGEgc3RyaW5nIG9iamVjdC5cblxuICAgQ2hhbmdlZCBpbiB2ZXJzaW9uIDMuNDogVGhlIF9fZm9ybWF0X18gbWV0aG9kIG9mICJvYmplY3QiIGl0c2VsZlxuICAgcmFpc2VzIGEgIlR5cGVFcnJvciIgaWYgcGFzc2VkIGFueSBub24tZW1wdHkgc3RyaW5nLlxuXG5vYmplY3QuX19sdF9fKHNlbGYsIG90aGVyKVxub2JqZWN0Ll9fbGVfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX2VxX18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19uZV9fKHNlbGYsIG90aGVyKVxub2JqZWN0Ll9fZ3RfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX2dlX18oc2VsZiwgb3RoZXIpXG5cbiAgIFRoZXNlIGFyZSB0aGUgc28tY2FsbGVkICJyaWNoIGNvbXBhcmlzb24iIG1ldGhvZHMuIFRoZVxuICAgY29ycmVzcG9uZGVuY2UgYmV0d2VlbiBvcGVyYXRvciBzeW1ib2xzIGFuZCBtZXRob2QgbmFtZXMgaXMgYXNcbiAgIGZvbGxvd3M6ICJ4PHkiIGNhbGxzICJ4Ll9fbHRfXyh5KSIsICJ4PD15IiBjYWxscyAieC5fX2xlX18oeSkiLFxuICAgIng9PXkiIGNhbGxzICJ4Ll9fZXFfXyh5KSIsICJ4IT15IiBjYWxscyAieC5fX25lX18oeSkiLCAieD55IiBjYWxsc1xuICAgInguX19ndF9fKHkpIiwgYW5kICJ4Pj15IiBjYWxscyAieC5fX2dlX18oeSkiLlxuXG4gICBBIHJpY2ggY29tcGFyaXNvbiBtZXRob2QgbWF5IHJldHVybiB0aGUgc2luZ2xldG9uICJOb3RJbXBsZW1lbnRlZCJcbiAgIGlmIGl0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgb3BlcmF0aW9uIGZvciBhIGdpdmVuIHBhaXIgb2ZcbiAgIGFyZ3VtZW50cy4gQnkgY29udmVudGlvbiwgIkZhbHNlIiBhbmQgIlRydWUiIGFyZSByZXR1cm5lZCBmb3IgYVxuICAgc3VjY2Vzc2Z1bCBjb21wYXJpc29uLiBIb3dldmVyLCB0aGVzZSBtZXRob2RzIGNhbiByZXR1cm4gYW55IHZhbHVlLFxuICAgc28gaWYgdGhlIGNvbXBhcmlzb24gb3BlcmF0b3IgaXMgdXNlZCBpbiBhIEJvb2xlYW4gY29udGV4dCAoZS5nLixcbiAgIGluIHRoZSBjb25kaXRpb24gb2YgYW4gImlmIiBzdGF0ZW1lbnQpLCBQeXRob24gd2lsbCBjYWxsICJib29sKCkiXG4gICBvbiB0aGUgdmFsdWUgdG8gZGV0ZXJtaW5lIGlmIHRoZSByZXN1bHQgaXMgdHJ1ZSBvciBmYWxzZS5cblxuICAgVGhlcmUgYXJlIG5vIGltcGxpZWQgcmVsYXRpb25zaGlwcyBhbW9uZyB0aGUgY29tcGFyaXNvbiBvcGVyYXRvcnMuXG4gICBUaGUgdHJ1dGggb2YgIng9PXkiIGRvZXMgbm90IGltcGx5IHRoYXQgInghPXkiIGlzIGZhbHNlLlxuICAgQWNjb3JkaW5nbHksIHdoZW4gZGVmaW5pbmcgIl9fZXFfXygpIiwgb25lIHNob3VsZCBhbHNvIGRlZmluZVxuICAgIl9fbmVfXygpIiBzbyB0aGF0IHRoZSBvcGVyYXRvcnMgd2lsbCBiZWhhdmUgYXMgZXhwZWN0ZWQuICBTZWUgdGhlXG4gICBwYXJhZ3JhcGggb24gIl9faGFzaF9fKCkiIGZvciBzb21lIGltcG9ydGFudCBub3RlcyBvbiBjcmVhdGluZ1xuICAgKmhhc2hhYmxlKiBvYmplY3RzIHdoaWNoIHN1cHBvcnQgY3VzdG9tIGNvbXBhcmlzb24gb3BlcmF0aW9ucyBhbmRcbiAgIGFyZSB1c2FibGUgYXMgZGljdGlvbmFyeSBrZXlzLlxuXG4gICBUaGVyZSBhcmUgbm8gc3dhcHBlZC1hcmd1bWVudCB2ZXJzaW9ucyBvZiB0aGVzZSBtZXRob2RzICh0byBiZSB1c2VkXG4gICB3aGVuIHRoZSBsZWZ0IGFyZ3VtZW50IGRvZXMgbm90IHN1cHBvcnQgdGhlIG9wZXJhdGlvbiBidXQgdGhlIHJpZ2h0XG4gICBhcmd1bWVudCBkb2VzKTsgcmF0aGVyLCAiX19sdF9fKCkiIGFuZCAiX19ndF9fKCkiIGFyZSBlYWNoIG90aGVyXCdzXG4gICByZWZsZWN0aW9uLCAiX19sZV9fKCkiIGFuZCAiX19nZV9fKCkiIGFyZSBlYWNoIG90aGVyXCdzIHJlZmxlY3Rpb24sXG4gICBhbmQgIl9fZXFfXygpIiBhbmQgIl9fbmVfXygpIiBhcmUgdGhlaXIgb3duIHJlZmxlY3Rpb24uXG5cbiAgIEFyZ3VtZW50cyB0byByaWNoIGNvbXBhcmlzb24gbWV0aG9kcyBhcmUgbmV2ZXIgY29lcmNlZC5cblxuICAgVG8gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBvcmRlcmluZyBvcGVyYXRpb25zIGZyb20gYSBzaW5nbGUgcm9vdFxuICAgb3BlcmF0aW9uLCBzZWUgImZ1bmN0b29scy50b3RhbF9vcmRlcmluZygpIi5cblxub2JqZWN0Ll9faGFzaF9fKHNlbGYpXG5cbiAgIENhbGxlZCBieSBidWlsdC1pbiBmdW5jdGlvbiAiaGFzaCgpIiBhbmQgZm9yIG9wZXJhdGlvbnMgb24gbWVtYmVyc1xuICAgb2YgaGFzaGVkIGNvbGxlY3Rpb25zIGluY2x1ZGluZyAic2V0IiwgImZyb3plbnNldCIsIGFuZCAiZGljdCIuXG4gICAiX19oYXNoX18oKSIgc2hvdWxkIHJldHVybiBhbiBpbnRlZ2VyLiAgVGhlIG9ubHkgcmVxdWlyZWQgcHJvcGVydHlcbiAgIGlzIHRoYXQgb2JqZWN0cyB3aGljaCBjb21wYXJlIGVxdWFsIGhhdmUgdGhlIHNhbWUgaGFzaCB2YWx1ZTsgaXQgaXNcbiAgIGFkdmlzZWQgdG8gc29tZWhvdyBtaXggdG9nZXRoZXIgKGUuZy4gdXNpbmcgZXhjbHVzaXZlIG9yKSB0aGUgaGFzaFxuICAgdmFsdWVzIGZvciB0aGUgY29tcG9uZW50cyBvZiB0aGUgb2JqZWN0IHRoYXQgYWxzbyBwbGF5IGEgcGFydCBpblxuICAgY29tcGFyaXNvbiBvZiBvYmplY3RzLlxuXG4gICBOb3RlOiAiaGFzaCgpIiB0cnVuY2F0ZXMgdGhlIHZhbHVlIHJldHVybmVkIGZyb20gYW4gb2JqZWN0XCdzXG4gICAgIGN1c3RvbSAiX19oYXNoX18oKSIgbWV0aG9kIHRvIHRoZSBzaXplIG9mIGEgIlB5X3NzaXplX3QiLiAgVGhpc1xuICAgICBpcyB0eXBpY2FsbHkgOCBieXRlcyBvbiA2NC1iaXQgYnVpbGRzIGFuZCA0IGJ5dGVzIG9uIDMyLWJpdFxuICAgICBidWlsZHMuIElmIGFuIG9iamVjdFwncyAgICJfX2hhc2hfXygpIiBtdXN0IGludGVyb3BlcmF0ZSBvbiBidWlsZHNcbiAgICAgb2YgZGlmZmVyZW50IGJpdCBzaXplcywgYmUgc3VyZSB0byBjaGVjayB0aGUgd2lkdGggb24gYWxsXG4gICAgIHN1cHBvcnRlZCBidWlsZHMuICBBbiBlYXN5IHdheSB0byBkbyB0aGlzIGlzIHdpdGggInB5dGhvbiAtY1xuICAgICAiaW1wb3J0IHN5czsgcHJpbnQoc3lzLmhhc2hfaW5mby53aWR0aCkiIlxuXG4gICBJZiBhIGNsYXNzIGRvZXMgbm90IGRlZmluZSBhbiAiX19lcV9fKCkiIG1ldGhvZCBpdCBzaG91bGQgbm90XG4gICBkZWZpbmUgYSAiX19oYXNoX18oKSIgb3BlcmF0aW9uIGVpdGhlcjsgaWYgaXQgZGVmaW5lcyAiX19lcV9fKCkiXG4gICBidXQgbm90ICJfX2hhc2hfXygpIiwgaXRzIGluc3RhbmNlcyB3aWxsIG5vdCBiZSB1c2FibGUgYXMgaXRlbXMgaW5cbiAgIGhhc2hhYmxlIGNvbGxlY3Rpb25zLiAgSWYgYSBjbGFzcyBkZWZpbmVzIG11dGFibGUgb2JqZWN0cyBhbmRcbiAgIGltcGxlbWVudHMgYW4gIl9fZXFfXygpIiBtZXRob2QsIGl0IHNob3VsZCBub3QgaW1wbGVtZW50XG4gICAiX19oYXNoX18oKSIsIHNpbmNlIHRoZSBpbXBsZW1lbnRhdGlvbiBvZiBoYXNoYWJsZSBjb2xsZWN0aW9uc1xuICAgcmVxdWlyZXMgdGhhdCBhIGtleVwncyBoYXNoIHZhbHVlIGlzIGltbXV0YWJsZSAoaWYgdGhlIG9iamVjdFwncyBoYXNoXG4gICB2YWx1ZSBjaGFuZ2VzLCBpdCB3aWxsIGJlIGluIHRoZSB3cm9uZyBoYXNoIGJ1Y2tldCkuXG5cbiAgIFVzZXItZGVmaW5lZCBjbGFzc2VzIGhhdmUgIl9fZXFfXygpIiBhbmQgIl9faGFzaF9fKCkiIG1ldGhvZHMgYnlcbiAgIGRlZmF1bHQ7IHdpdGggdGhlbSwgYWxsIG9iamVjdHMgY29tcGFyZSB1bmVxdWFsIChleGNlcHQgd2l0aFxuICAgdGhlbXNlbHZlcykgYW5kICJ4Ll9faGFzaF9fKCkiIHJldHVybnMgYW4gYXBwcm9wcmlhdGUgdmFsdWUgc3VjaFxuICAgdGhhdCAieCA9PSB5IiBpbXBsaWVzIGJvdGggdGhhdCAieCBpcyB5IiBhbmQgImhhc2goeCkgPT0gaGFzaCh5KSIuXG5cbiAgIEEgY2xhc3MgdGhhdCBvdmVycmlkZXMgIl9fZXFfXygpIiBhbmQgZG9lcyBub3QgZGVmaW5lICJfX2hhc2hfXygpIlxuICAgd2lsbCBoYXZlIGl0cyAiX19oYXNoX18oKSIgaW1wbGljaXRseSBzZXQgdG8gIk5vbmUiLiAgV2hlbiB0aGVcbiAgICJfX2hhc2hfXygpIiBtZXRob2Qgb2YgYSBjbGFzcyBpcyAiTm9uZSIsIGluc3RhbmNlcyBvZiB0aGUgY2xhc3NcbiAgIHdpbGwgcmFpc2UgYW4gYXBwcm9wcmlhdGUgIlR5cGVFcnJvciIgd2hlbiBhIHByb2dyYW0gYXR0ZW1wdHMgdG9cbiAgIHJldHJpZXZlIHRoZWlyIGhhc2ggdmFsdWUsIGFuZCB3aWxsIGFsc28gYmUgY29ycmVjdGx5IGlkZW50aWZpZWQgYXNcbiAgIHVuaGFzaGFibGUgd2hlbiBjaGVja2luZyAiaXNpbnN0YW5jZShvYmosIGNvbGxlY3Rpb25zLkhhc2hhYmxlIikuXG5cbiAgIElmIGEgY2xhc3MgdGhhdCBvdmVycmlkZXMgIl9fZXFfXygpIiBuZWVkcyB0byByZXRhaW4gdGhlXG4gICBpbXBsZW1lbnRhdGlvbiBvZiAiX19oYXNoX18oKSIgZnJvbSBhIHBhcmVudCBjbGFzcywgdGhlIGludGVycHJldGVyXG4gICBtdXN0IGJlIHRvbGQgdGhpcyBleHBsaWNpdGx5IGJ5IHNldHRpbmcgIl9faGFzaF9fID1cbiAgIDxQYXJlbnRDbGFzcz4uX19oYXNoX18iLlxuXG4gICBJZiBhIGNsYXNzIHRoYXQgZG9lcyBub3Qgb3ZlcnJpZGUgIl9fZXFfXygpIiB3aXNoZXMgdG8gc3VwcHJlc3NcbiAgIGhhc2ggc3VwcG9ydCwgaXQgc2hvdWxkIGluY2x1ZGUgIl9faGFzaF9fID0gTm9uZSIgaW4gdGhlIGNsYXNzXG4gICBkZWZpbml0aW9uLiBBIGNsYXNzIHdoaWNoIGRlZmluZXMgaXRzIG93biAiX19oYXNoX18oKSIgdGhhdFxuICAgZXhwbGljaXRseSByYWlzZXMgYSAiVHlwZUVycm9yIiB3b3VsZCBiZSBpbmNvcnJlY3RseSBpZGVudGlmaWVkIGFzXG4gICBoYXNoYWJsZSBieSBhbiAiaXNpbnN0YW5jZShvYmosIGNvbGxlY3Rpb25zLkhhc2hhYmxlKSIgY2FsbC5cblxuICAgTm90ZTogQnkgZGVmYXVsdCwgdGhlICJfX2hhc2hfXygpIiB2YWx1ZXMgb2Ygc3RyLCBieXRlcyBhbmRcbiAgICAgZGF0ZXRpbWUgb2JqZWN0cyBhcmUgInNhbHRlZCIgd2l0aCBhbiB1bnByZWRpY3RhYmxlIHJhbmRvbSB2YWx1ZS5cbiAgICAgQWx0aG91Z2ggdGhleSByZW1haW4gY29uc3RhbnQgd2l0aGluIGFuIGluZGl2aWR1YWwgUHl0aG9uXG4gICAgIHByb2Nlc3MsIHRoZXkgYXJlIG5vdCBwcmVkaWN0YWJsZSBiZXR3ZWVuIHJlcGVhdGVkIGludm9jYXRpb25zIG9mXG4gICAgIFB5dGhvbi5UaGlzIGlzIGludGVuZGVkIHRvIHByb3ZpZGUgcHJvdGVjdGlvbiBhZ2FpbnN0IGEgZGVuaWFsLVxuICAgICBvZi1zZXJ2aWNlIGNhdXNlZCBieSBjYXJlZnVsbHktY2hvc2VuIGlucHV0cyB0aGF0IGV4cGxvaXQgdGhlXG4gICAgIHdvcnN0IGNhc2UgcGVyZm9ybWFuY2Ugb2YgYSBkaWN0IGluc2VydGlvbiwgTyhuXjIpIGNvbXBsZXhpdHkuXG4gICAgIFNlZSBodHRwOi8vd3d3Lm9jZXJ0Lm9yZy9hZHZpc29yaWVzL29jZXJ0LTIwMTEtMDAzLmh0bWwgZm9yXG4gICAgIGRldGFpbHMuQ2hhbmdpbmcgaGFzaCB2YWx1ZXMgYWZmZWN0cyB0aGUgaXRlcmF0aW9uIG9yZGVyIG9mXG4gICAgIGRpY3RzLCBzZXRzIGFuZCBvdGhlciBtYXBwaW5ncy4gIFB5dGhvbiBoYXMgbmV2ZXIgbWFkZSBndWFyYW50ZWVzXG4gICAgIGFib3V0IHRoaXMgb3JkZXJpbmcgKGFuZCBpdCB0eXBpY2FsbHkgdmFyaWVzIGJldHdlZW4gMzItYml0IGFuZFxuICAgICA2NC1iaXQgYnVpbGRzKS5TZWUgYWxzbyAiUFlUSE9OSEFTSFNFRUQiLlxuXG4gICBDaGFuZ2VkIGluIHZlcnNpb24gMy4zOiBIYXNoIHJhbmRvbWl6YXRpb24gaXMgZW5hYmxlZCBieSBkZWZhdWx0LlxuXG5vYmplY3QuX19ib29sX18oc2VsZilcblxuICAgQ2FsbGVkIHRvIGltcGxlbWVudCB0cnV0aCB2YWx1ZSB0ZXN0aW5nIGFuZCB0aGUgYnVpbHQtaW4gb3BlcmF0aW9uXG4gICAiYm9vbCgpIjsgc2hvdWxkIHJldHVybiAiRmFsc2UiIG9yICJUcnVlIi4gIFdoZW4gdGhpcyBtZXRob2QgaXMgbm90XG4gICBkZWZpbmVkLCAiX19sZW5fXygpIiBpcyBjYWxsZWQsIGlmIGl0IGlzIGRlZmluZWQsIGFuZCB0aGUgb2JqZWN0IGlzXG4gICBjb25zaWRlcmVkIHRydWUgaWYgaXRzIHJlc3VsdCBpcyBub256ZXJvLiAgSWYgYSBjbGFzcyBkZWZpbmVzXG4gICBuZWl0aGVyICJfX2xlbl9fKCkiIG5vciAiX19ib29sX18oKSIsIGFsbCBpdHMgaW5zdGFuY2VzIGFyZVxuICAgY29uc2lkZXJlZCB0cnVlLlxuXG5cbkN1c3RvbWl6aW5nIGF0dHJpYnV0ZSBhY2Nlc3Ncbj09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuVGhlIGZvbGxvd2luZyBtZXRob2RzIGNhbiBiZSBkZWZpbmVkIHRvIGN1c3RvbWl6ZSB0aGUgbWVhbmluZyBvZlxuYXR0cmlidXRlIGFjY2VzcyAodXNlIG9mLCBhc3NpZ25tZW50IHRvLCBvciBkZWxldGlvbiBvZiAieC5uYW1lIikgZm9yXG5jbGFzcyBpbnN0YW5jZXMuXG5cbm9iamVjdC5fX2dldGF0dHJfXyhzZWxmLCBuYW1lKVxuXG4gICBDYWxsZWQgd2hlbiBhbiBhdHRyaWJ1dGUgbG9va3VwIGhhcyBub3QgZm91bmQgdGhlIGF0dHJpYnV0ZSBpbiB0aGVcbiAgIHVzdWFsIHBsYWNlcyAoaS5lLiBpdCBpcyBub3QgYW4gaW5zdGFuY2UgYXR0cmlidXRlIG5vciBpcyBpdCBmb3VuZFxuICAgaW4gdGhlIGNsYXNzIHRyZWUgZm9yICJzZWxmIikuICAibmFtZSIgaXMgdGhlIGF0dHJpYnV0ZSBuYW1lLiBUaGlzXG4gICBtZXRob2Qgc2hvdWxkIHJldHVybiB0aGUgKGNvbXB1dGVkKSBhdHRyaWJ1dGUgdmFsdWUgb3IgcmFpc2UgYW5cbiAgICJBdHRyaWJ1dGVFcnJvciIgZXhjZXB0aW9uLlxuXG4gICBOb3RlIHRoYXQgaWYgdGhlIGF0dHJpYnV0ZSBpcyBmb3VuZCB0aHJvdWdoIHRoZSBub3JtYWwgbWVjaGFuaXNtLFxuICAgIl9fZ2V0YXR0cl9fKCkiIGlzIG5vdCBjYWxsZWQuICAoVGhpcyBpcyBhbiBpbnRlbnRpb25hbCBhc3ltbWV0cnlcbiAgIGJldHdlZW4gIl9fZ2V0YXR0cl9fKCkiIGFuZCAiX19zZXRhdHRyX18oKSIuKSBUaGlzIGlzIGRvbmUgYm90aCBmb3JcbiAgIGVmZmljaWVuY3kgcmVhc29ucyBhbmQgYmVjYXVzZSBvdGhlcndpc2UgIl9fZ2V0YXR0cl9fKCkiIHdvdWxkIGhhdmVcbiAgIG5vIHdheSB0byBhY2Nlc3Mgb3RoZXIgYXR0cmlidXRlcyBvZiB0aGUgaW5zdGFuY2UuICBOb3RlIHRoYXQgYXRcbiAgIGxlYXN0IGZvciBpbnN0YW5jZSB2YXJpYWJsZXMsIHlvdSBjYW4gZmFrZSB0b3RhbCBjb250cm9sIGJ5IG5vdFxuICAgaW5zZXJ0aW5nIGFueSB2YWx1ZXMgaW4gdGhlIGluc3RhbmNlIGF0dHJpYnV0ZSBkaWN0aW9uYXJ5IChidXRcbiAgIGluc3RlYWQgaW5zZXJ0aW5nIHRoZW0gaW4gYW5vdGhlciBvYmplY3QpLiAgU2VlIHRoZVxuICAgIl9fZ2V0YXR0cmlidXRlX18oKSIgbWV0aG9kIGJlbG93IGZvciBhIHdheSB0byBhY3R1YWxseSBnZXQgdG90YWxcbiAgIGNvbnRyb2wgb3ZlciBhdHRyaWJ1dGUgYWNjZXNzLlxuXG5vYmplY3QuX19nZXRhdHRyaWJ1dGVfXyhzZWxmLCBuYW1lKVxuXG4gICBDYWxsZWQgdW5jb25kaXRpb25hbGx5IHRvIGltcGxlbWVudCBhdHRyaWJ1dGUgYWNjZXNzZXMgZm9yXG4gICBpbnN0YW5jZXMgb2YgdGhlIGNsYXNzLiBJZiB0aGUgY2xhc3MgYWxzbyBkZWZpbmVzICJfX2dldGF0dHJfXygpIixcbiAgIHRoZSBsYXR0ZXIgd2lsbCBub3QgYmUgY2FsbGVkIHVubGVzcyAiX19nZXRhdHRyaWJ1dGVfXygpIiBlaXRoZXJcbiAgIGNhbGxzIGl0IGV4cGxpY2l0bHkgb3IgcmFpc2VzIGFuICJBdHRyaWJ1dGVFcnJvciIuIFRoaXMgbWV0aG9kXG4gICBzaG91bGQgcmV0dXJuIHRoZSAoY29tcHV0ZWQpIGF0dHJpYnV0ZSB2YWx1ZSBvciByYWlzZSBhblxuICAgIkF0dHJpYnV0ZUVycm9yIiBleGNlcHRpb24uIEluIG9yZGVyIHRvIGF2b2lkIGluZmluaXRlIHJlY3Vyc2lvbiBpblxuICAgdGhpcyBtZXRob2QsIGl0cyBpbXBsZW1lbnRhdGlvbiBzaG91bGQgYWx3YXlzIGNhbGwgdGhlIGJhc2UgY2xhc3NcbiAgIG1ldGhvZCB3aXRoIHRoZSBzYW1lIG5hbWUgdG8gYWNjZXNzIGFueSBhdHRyaWJ1dGVzIGl0IG5lZWRzLCBmb3JcbiAgIGV4YW1wbGUsICJvYmplY3QuX19nZXRhdHRyaWJ1dGVfXyhzZWxmLCBuYW1lKSIuXG5cbiAgIE5vdGU6IFRoaXMgbWV0aG9kIG1heSBzdGlsbCBiZSBieXBhc3NlZCB3aGVuIGxvb2tpbmcgdXAgc3BlY2lhbFxuICAgICBtZXRob2RzIGFzIHRoZSByZXN1bHQgb2YgaW1wbGljaXQgaW52b2NhdGlvbiB2aWEgbGFuZ3VhZ2Ugc3ludGF4XG4gICAgIG9yIGJ1aWx0LWluIGZ1bmN0aW9ucy4gU2VlICpTcGVjaWFsIG1ldGhvZCBsb29rdXAqLlxuXG5vYmplY3QuX19zZXRhdHRyX18oc2VsZiwgbmFtZSwgdmFsdWUpXG5cbiAgIENhbGxlZCB3aGVuIGFuIGF0dHJpYnV0ZSBhc3NpZ25tZW50IGlzIGF0dGVtcHRlZC4gIFRoaXMgaXMgY2FsbGVkXG4gICBpbnN0ZWFkIG9mIHRoZSBub3JtYWwgbWVjaGFuaXNtIChpLmUuIHN0b3JlIHRoZSB2YWx1ZSBpbiB0aGVcbiAgIGluc3RhbmNlIGRpY3Rpb25hcnkpLiAqbmFtZSogaXMgdGhlIGF0dHJpYnV0ZSBuYW1lLCAqdmFsdWUqIGlzIHRoZVxuICAgdmFsdWUgdG8gYmUgYXNzaWduZWQgdG8gaXQuXG5cbiAgIElmICJfX3NldGF0dHJfXygpIiB3YW50cyB0byBhc3NpZ24gdG8gYW4gaW5zdGFuY2UgYXR0cmlidXRlLCBpdFxuICAgc2hvdWxkIGNhbGwgdGhlIGJhc2UgY2xhc3MgbWV0aG9kIHdpdGggdGhlIHNhbWUgbmFtZSwgZm9yIGV4YW1wbGUsXG4gICAib2JqZWN0Ll9fc2V0YXR0cl9fKHNlbGYsIG5hbWUsIHZhbHVlKSIuXG5cbm9iamVjdC5fX2RlbGF0dHJfXyhzZWxmLCBuYW1lKVxuXG4gICBMaWtlICJfX3NldGF0dHJfXygpIiBidXQgZm9yIGF0dHJpYnV0ZSBkZWxldGlvbiBpbnN0ZWFkIG9mXG4gICBhc3NpZ25tZW50LiAgVGhpcyBzaG91bGQgb25seSBiZSBpbXBsZW1lbnRlZCBpZiAiZGVsIG9iai5uYW1lIiBpc1xuICAgbWVhbmluZ2Z1bCBmb3IgdGhlIG9iamVjdC5cblxub2JqZWN0Ll9fZGlyX18oc2VsZilcblxuICAgQ2FsbGVkIHdoZW4gImRpcigpIiBpcyBjYWxsZWQgb24gdGhlIG9iamVjdC4gQSBzZXF1ZW5jZSBtdXN0IGJlXG4gICByZXR1cm5lZC4gImRpcigpIiBjb252ZXJ0cyB0aGUgcmV0dXJuZWQgc2VxdWVuY2UgdG8gYSBsaXN0IGFuZFxuICAgc29ydHMgaXQuXG5cblxuSW1wbGVtZW50aW5nIERlc2NyaXB0b3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuVGhlIGZvbGxvd2luZyBtZXRob2RzIG9ubHkgYXBwbHkgd2hlbiBhbiBpbnN0YW5jZSBvZiB0aGUgY2xhc3NcbmNvbnRhaW5pbmcgdGhlIG1ldGhvZCAoYSBzby1jYWxsZWQgKmRlc2NyaXB0b3IqIGNsYXNzKSBhcHBlYXJzIGluIGFuXG4qb3duZXIqIGNsYXNzICh0aGUgZGVzY3JpcHRvciBtdXN0IGJlIGluIGVpdGhlciB0aGUgb3duZXJcJ3MgY2xhc3NcbmRpY3Rpb25hcnkgb3IgaW4gdGhlIGNsYXNzIGRpY3Rpb25hcnkgZm9yIG9uZSBvZiBpdHMgcGFyZW50cykuICBJbiB0aGVcbmV4YW1wbGVzIGJlbG93LCAidGhlIGF0dHJpYnV0ZSIgcmVmZXJzIHRvIHRoZSBhdHRyaWJ1dGUgd2hvc2UgbmFtZSBpc1xudGhlIGtleSBvZiB0aGUgcHJvcGVydHkgaW4gdGhlIG93bmVyIGNsYXNzXCcgIl9fZGljdF9fIi5cblxub2JqZWN0Ll9fZ2V0X18oc2VsZiwgaW5zdGFuY2UsIG93bmVyKVxuXG4gICBDYWxsZWQgdG8gZ2V0IHRoZSBhdHRyaWJ1dGUgb2YgdGhlIG93bmVyIGNsYXNzIChjbGFzcyBhdHRyaWJ1dGVcbiAgIGFjY2Vzcykgb3Igb2YgYW4gaW5zdGFuY2Ugb2YgdGhhdCBjbGFzcyAoaW5zdGFuY2UgYXR0cmlidXRlXG4gICBhY2Nlc3MpLiAqb3duZXIqIGlzIGFsd2F5cyB0aGUgb3duZXIgY2xhc3MsIHdoaWxlICppbnN0YW5jZSogaXMgdGhlXG4gICBpbnN0YW5jZSB0aGF0IHRoZSBhdHRyaWJ1dGUgd2FzIGFjY2Vzc2VkIHRocm91Z2gsIG9yICJOb25lIiB3aGVuXG4gICB0aGUgYXR0cmlidXRlIGlzIGFjY2Vzc2VkIHRocm91Z2ggdGhlICpvd25lciouICBUaGlzIG1ldGhvZCBzaG91bGRcbiAgIHJldHVybiB0aGUgKGNvbXB1dGVkKSBhdHRyaWJ1dGUgdmFsdWUgb3IgcmFpc2UgYW4gIkF0dHJpYnV0ZUVycm9yIlxuICAgZXhjZXB0aW9uLlxuXG5vYmplY3QuX19zZXRfXyhzZWxmLCBpbnN0YW5jZSwgdmFsdWUpXG5cbiAgIENhbGxlZCB0byBzZXQgdGhlIGF0dHJpYnV0ZSBvbiBhbiBpbnN0YW5jZSAqaW5zdGFuY2UqIG9mIHRoZSBvd25lclxuICAgY2xhc3MgdG8gYSBuZXcgdmFsdWUsICp2YWx1ZSouXG5cbm9iamVjdC5fX2RlbGV0ZV9fKHNlbGYsIGluc3RhbmNlKVxuXG4gICBDYWxsZWQgdG8gZGVsZXRlIHRoZSBhdHRyaWJ1dGUgb24gYW4gaW5zdGFuY2UgKmluc3RhbmNlKiBvZiB0aGVcbiAgIG93bmVyIGNsYXNzLlxuXG5UaGUgYXR0cmlidXRlICJfX29iamNsYXNzX18iIGlzIGludGVycHJldGVkIGJ5IHRoZSAiaW5zcGVjdCIgbW9kdWxlIGFzXG5zcGVjaWZ5aW5nIHRoZSBjbGFzcyB3aGVyZSB0aGlzIG9iamVjdCB3YXMgZGVmaW5lZCAoc2V0dGluZyB0aGlzXG5hcHByb3ByaWF0ZWx5IGNhbiBhc3Npc3QgaW4gcnVudGltZSBpbnRyb3NwZWN0aW9uIG9mIGR5bmFtaWMgY2xhc3NcbmF0dHJpYnV0ZXMpLiBGb3IgY2FsbGFibGVzLCBpdCBtYXkgaW5kaWNhdGUgdGhhdCBhbiBpbnN0YW5jZSBvZiB0aGVcbmdpdmVuIHR5cGUgKG9yIGEgc3ViY2xhc3MpIGlzIGV4cGVjdGVkIG9yIHJlcXVpcmVkIGFzIHRoZSBmaXJzdFxucG9zaXRpb25hbCBhcmd1bWVudCAoZm9yIGV4YW1wbGUsIENQeXRob24gc2V0cyB0aGlzIGF0dHJpYnV0ZSBmb3JcbnVuYm91bmQgbWV0aG9kcyB0aGF0IGFyZSBpbXBsZW1lbnRlZCBpbiBDKS5cblxuXG5JbnZva2luZyBEZXNjcmlwdG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuSW4gZ2VuZXJhbCwgYSBkZXNjcmlwdG9yIGlzIGFuIG9iamVjdCBhdHRyaWJ1dGUgd2l0aCAiYmluZGluZ1xuYmVoYXZpb3IiLCBvbmUgd2hvc2UgYXR0cmlidXRlIGFjY2VzcyBoYXMgYmVlbiBvdmVycmlkZGVuIGJ5IG1ldGhvZHNcbmluIHRoZSBkZXNjcmlwdG9yIHByb3RvY29sOiAgIl9fZ2V0X18oKSIsICJfX3NldF9fKCkiLCBhbmRcbiJfX2RlbGV0ZV9fKCkiLiBJZiBhbnkgb2YgdGhvc2UgbWV0aG9kcyBhcmUgZGVmaW5lZCBmb3IgYW4gb2JqZWN0LCBpdFxuaXMgc2FpZCB0byBiZSBhIGRlc2NyaXB0b3IuXG5cblRoZSBkZWZhdWx0IGJlaGF2aW9yIGZvciBhdHRyaWJ1dGUgYWNjZXNzIGlzIHRvIGdldCwgc2V0LCBvciBkZWxldGVcbnRoZSBhdHRyaWJ1dGUgZnJvbSBhbiBvYmplY3RcJ3MgZGljdGlvbmFyeS4gRm9yIGluc3RhbmNlLCAiYS54IiBoYXMgYVxubG9va3VwIGNoYWluIHN0YXJ0aW5nIHdpdGggImEuX19kaWN0X19bXCd4XCddIiwgdGhlblxuInR5cGUoYSkuX19kaWN0X19bXCd4XCddIiwgYW5kIGNvbnRpbnVpbmcgdGhyb3VnaCB0aGUgYmFzZSBjbGFzc2VzIG9mXG4idHlwZShhKSIgZXhjbHVkaW5nIG1ldGFjbGFzc2VzLlxuXG5Ib3dldmVyLCBpZiB0aGUgbG9va2VkLXVwIHZhbHVlIGlzIGFuIG9iamVjdCBkZWZpbmluZyBvbmUgb2YgdGhlXG5kZXNjcmlwdG9yIG1ldGhvZHMsIHRoZW4gUHl0aG9uIG1heSBvdmVycmlkZSB0aGUgZGVmYXVsdCBiZWhhdmlvciBhbmRcbmludm9rZSB0aGUgZGVzY3JpcHRvciBtZXRob2QgaW5zdGVhZC4gIFdoZXJlIHRoaXMgb2NjdXJzIGluIHRoZVxucHJlY2VkZW5jZSBjaGFpbiBkZXBlbmRzIG9uIHdoaWNoIGRlc2NyaXB0b3IgbWV0aG9kcyB3ZXJlIGRlZmluZWQgYW5kXG5ob3cgdGhleSB3ZXJlIGNhbGxlZC5cblxuVGhlIHN0YXJ0aW5nIHBvaW50IGZvciBkZXNjcmlwdG9yIGludm9jYXRpb24gaXMgYSBiaW5kaW5nLCAiYS54Ii4gSG93XG50aGUgYXJndW1lbnRzIGFyZSBhc3NlbWJsZWQgZGVwZW5kcyBvbiAiYSI6XG5cbkRpcmVjdCBDYWxsXG4gICBUaGUgc2ltcGxlc3QgYW5kIGxlYXN0IGNvbW1vbiBjYWxsIGlzIHdoZW4gdXNlciBjb2RlIGRpcmVjdGx5XG4gICBpbnZva2VzIGEgZGVzY3JpcHRvciBtZXRob2Q6ICAgICJ4Ll9fZ2V0X18oYSkiLlxuXG5JbnN0YW5jZSBCaW5kaW5nXG4gICBJZiBiaW5kaW5nIHRvIGFuIG9iamVjdCBpbnN0YW5jZSwgImEueCIgaXMgdHJhbnNmb3JtZWQgaW50byB0aGVcbiAgIGNhbGw6ICJ0eXBlKGEpLl9fZGljdF9fW1wneFwnXS5fX2dldF9fKGEsIHR5cGUoYSkpIi5cblxuQ2xhc3MgQmluZGluZ1xuICAgSWYgYmluZGluZyB0byBhIGNsYXNzLCAiQS54IiBpcyB0cmFuc2Zvcm1lZCBpbnRvIHRoZSBjYWxsOlxuICAgIkEuX19kaWN0X19bXCd4XCddLl9fZ2V0X18oTm9uZSwgQSkiLlxuXG5TdXBlciBCaW5kaW5nXG4gICBJZiAiYSIgaXMgYW4gaW5zdGFuY2Ugb2YgInN1cGVyIiwgdGhlbiB0aGUgYmluZGluZyAic3VwZXIoQixcbiAgIG9iaikubSgpIiBzZWFyY2hlcyAib2JqLl9fY2xhc3NfXy5fX21yb19fIiBmb3IgdGhlIGJhc2UgY2xhc3MgIkEiXG4gICBpbW1lZGlhdGVseSBwcmVjZWRpbmcgIkIiIGFuZCB0aGVuIGludm9rZXMgdGhlIGRlc2NyaXB0b3Igd2l0aCB0aGVcbiAgIGNhbGw6ICJBLl9fZGljdF9fW1wnbVwnXS5fX2dldF9fKG9iaiwgb2JqLl9fY2xhc3NfXykiLlxuXG5Gb3IgaW5zdGFuY2UgYmluZGluZ3MsIHRoZSBwcmVjZWRlbmNlIG9mIGRlc2NyaXB0b3IgaW52b2NhdGlvbiBkZXBlbmRzXG5vbiB0aGUgd2hpY2ggZGVzY3JpcHRvciBtZXRob2RzIGFyZSBkZWZpbmVkLiAgQSBkZXNjcmlwdG9yIGNhbiBkZWZpbmVcbmFueSBjb21iaW5hdGlvbiBvZiAiX19nZXRfXygpIiwgIl9fc2V0X18oKSIgYW5kICJfX2RlbGV0ZV9fKCkiLiAgSWYgaXRcbmRvZXMgbm90IGRlZmluZSAiX19nZXRfXygpIiwgdGhlbiBhY2Nlc3NpbmcgdGhlIGF0dHJpYnV0ZSB3aWxsIHJldHVyblxudGhlIGRlc2NyaXB0b3Igb2JqZWN0IGl0c2VsZiB1bmxlc3MgdGhlcmUgaXMgYSB2YWx1ZSBpbiB0aGUgb2JqZWN0XCdzXG5pbnN0YW5jZSBkaWN0aW9uYXJ5LiAgSWYgdGhlIGRlc2NyaXB0b3IgZGVmaW5lcyAiX19zZXRfXygpIiBhbmQvb3JcbiJfX2RlbGV0ZV9fKCkiLCBpdCBpcyBhIGRhdGEgZGVzY3JpcHRvcjsgaWYgaXQgZGVmaW5lcyBuZWl0aGVyLCBpdCBpc1xuYSBub24tZGF0YSBkZXNjcmlwdG9yLiAgTm9ybWFsbHksIGRhdGEgZGVzY3JpcHRvcnMgZGVmaW5lIGJvdGhcbiJfX2dldF9fKCkiIGFuZCAiX19zZXRfXygpIiwgd2hpbGUgbm9uLWRhdGEgZGVzY3JpcHRvcnMgaGF2ZSBqdXN0IHRoZVxuIl9fZ2V0X18oKSIgbWV0aG9kLiAgRGF0YSBkZXNjcmlwdG9ycyB3aXRoICJfX3NldF9fKCkiIGFuZCAiX19nZXRfXygpIlxuZGVmaW5lZCBhbHdheXMgb3ZlcnJpZGUgYSByZWRlZmluaXRpb24gaW4gYW4gaW5zdGFuY2UgZGljdGlvbmFyeS4gIEluXG5jb250cmFzdCwgbm9uLWRhdGEgZGVzY3JpcHRvcnMgY2FuIGJlIG92ZXJyaWRkZW4gYnkgaW5zdGFuY2VzLlxuXG5QeXRob24gbWV0aG9kcyAoaW5jbHVkaW5nICJzdGF0aWNtZXRob2QoKSIgYW5kICJjbGFzc21ldGhvZCgpIikgYXJlXG5pbXBsZW1lbnRlZCBhcyBub24tZGF0YSBkZXNjcmlwdG9ycy4gIEFjY29yZGluZ2x5LCBpbnN0YW5jZXMgY2FuXG5yZWRlZmluZSBhbmQgb3ZlcnJpZGUgbWV0aG9kcy4gIFRoaXMgYWxsb3dzIGluZGl2aWR1YWwgaW5zdGFuY2VzIHRvXG5hY3F1aXJlIGJlaGF2aW9ycyB0aGF0IGRpZmZlciBmcm9tIG90aGVyIGluc3RhbmNlcyBvZiB0aGUgc2FtZSBjbGFzcy5cblxuVGhlICJwcm9wZXJ0eSgpIiBmdW5jdGlvbiBpcyBpbXBsZW1lbnRlZCBhcyBhIGRhdGEgZGVzY3JpcHRvci5cbkFjY29yZGluZ2x5LCBpbnN0YW5jZXMgY2Fubm90IG92ZXJyaWRlIHRoZSBiZWhhdmlvciBvZiBhIHByb3BlcnR5LlxuXG5cbl9fc2xvdHNfX1xuLS0tLS0tLS0tXG5cbkJ5IGRlZmF1bHQsIGluc3RhbmNlcyBvZiBjbGFzc2VzIGhhdmUgYSBkaWN0aW9uYXJ5IGZvciBhdHRyaWJ1dGVcbnN0b3JhZ2UuICBUaGlzIHdhc3RlcyBzcGFjZSBmb3Igb2JqZWN0cyBoYXZpbmcgdmVyeSBmZXcgaW5zdGFuY2VcbnZhcmlhYmxlcy4gIFRoZSBzcGFjZSBjb25zdW1wdGlvbiBjYW4gYmVjb21lIGFjdXRlIHdoZW4gY3JlYXRpbmcgbGFyZ2Vcbm51bWJlcnMgb2YgaW5zdGFuY2VzLlxuXG5UaGUgZGVmYXVsdCBjYW4gYmUgb3ZlcnJpZGRlbiBieSBkZWZpbmluZyAqX19zbG90c19fKiBpbiBhIGNsYXNzXG5kZWZpbml0aW9uLiBUaGUgKl9fc2xvdHNfXyogZGVjbGFyYXRpb24gdGFrZXMgYSBzZXF1ZW5jZSBvZiBpbnN0YW5jZVxudmFyaWFibGVzIGFuZCByZXNlcnZlcyBqdXN0IGVub3VnaCBzcGFjZSBpbiBlYWNoIGluc3RhbmNlIHRvIGhvbGQgYVxudmFsdWUgZm9yIGVhY2ggdmFyaWFibGUuICBTcGFjZSBpcyBzYXZlZCBiZWNhdXNlICpfX2RpY3RfXyogaXMgbm90XG5jcmVhdGVkIGZvciBlYWNoIGluc3RhbmNlLlxuXG5vYmplY3QuX19zbG90c19fXG5cbiAgIFRoaXMgY2xhc3MgdmFyaWFibGUgY2FuIGJlIGFzc2lnbmVkIGEgc3RyaW5nLCBpdGVyYWJsZSwgb3Igc2VxdWVuY2VcbiAgIG9mIHN0cmluZ3Mgd2l0aCB2YXJpYWJsZSBuYW1lcyB1c2VkIGJ5IGluc3RhbmNlcy4gICpfX3Nsb3RzX18qXG4gICByZXNlcnZlcyBzcGFjZSBmb3IgdGhlIGRlY2xhcmVkIHZhcmlhYmxlcyBhbmQgcHJldmVudHMgdGhlXG4gICBhdXRvbWF0aWMgY3JlYXRpb24gb2YgKl9fZGljdF9fKiBhbmQgKl9fd2Vha3JlZl9fKiBmb3IgZWFjaFxuICAgaW5zdGFuY2UuXG5cblxuTm90ZXMgb24gdXNpbmcgKl9fc2xvdHNfXypcbn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+XG5cbiogV2hlbiBpbmhlcml0aW5nIGZyb20gYSBjbGFzcyB3aXRob3V0ICpfX3Nsb3RzX18qLCB0aGUgKl9fZGljdF9fKlxuICBhdHRyaWJ1dGUgb2YgdGhhdCBjbGFzcyB3aWxsIGFsd2F5cyBiZSBhY2Nlc3NpYmxlLCBzbyBhICpfX3Nsb3RzX18qXG4gIGRlZmluaXRpb24gaW4gdGhlIHN1YmNsYXNzIGlzIG1lYW5pbmdsZXNzLlxuXG4qIFdpdGhvdXQgYSAqX19kaWN0X18qIHZhcmlhYmxlLCBpbnN0YW5jZXMgY2Fubm90IGJlIGFzc2lnbmVkIG5ld1xuICB2YXJpYWJsZXMgbm90IGxpc3RlZCBpbiB0aGUgKl9fc2xvdHNfXyogZGVmaW5pdGlvbi4gIEF0dGVtcHRzIHRvXG4gIGFzc2lnbiB0byBhbiB1bmxpc3RlZCB2YXJpYWJsZSBuYW1lIHJhaXNlcyAiQXR0cmlidXRlRXJyb3IiLiBJZlxuICBkeW5hbWljIGFzc2lnbm1lbnQgb2YgbmV3IHZhcmlhYmxlcyBpcyBkZXNpcmVkLCB0aGVuIGFkZFxuICAiXCdfX2RpY3RfX1wnIiB0byB0aGUgc2VxdWVuY2Ugb2Ygc3RyaW5ncyBpbiB0aGUgKl9fc2xvdHNfXypcbiAgZGVjbGFyYXRpb24uXG5cbiogV2l0aG91dCBhICpfX3dlYWtyZWZfXyogdmFyaWFibGUgZm9yIGVhY2ggaW5zdGFuY2UsIGNsYXNzZXNcbiAgZGVmaW5pbmcgKl9fc2xvdHNfXyogZG8gbm90IHN1cHBvcnQgd2VhayByZWZlcmVuY2VzIHRvIGl0c1xuICBpbnN0YW5jZXMuIElmIHdlYWsgcmVmZXJlbmNlIHN1cHBvcnQgaXMgbmVlZGVkLCB0aGVuIGFkZFxuICAiXCdfX3dlYWtyZWZfX1wnIiB0byB0aGUgc2VxdWVuY2Ugb2Ygc3RyaW5ncyBpbiB0aGUgKl9fc2xvdHNfXypcbiAgZGVjbGFyYXRpb24uXG5cbiogKl9fc2xvdHNfXyogYXJlIGltcGxlbWVudGVkIGF0IHRoZSBjbGFzcyBsZXZlbCBieSBjcmVhdGluZ1xuICBkZXNjcmlwdG9ycyAoKkltcGxlbWVudGluZyBEZXNjcmlwdG9ycyopIGZvciBlYWNoIHZhcmlhYmxlIG5hbWUuICBBc1xuICBhIHJlc3VsdCwgY2xhc3MgYXR0cmlidXRlcyBjYW5ub3QgYmUgdXNlZCB0byBzZXQgZGVmYXVsdCB2YWx1ZXMgZm9yXG4gIGluc3RhbmNlIHZhcmlhYmxlcyBkZWZpbmVkIGJ5ICpfX3Nsb3RzX18qOyBvdGhlcndpc2UsIHRoZSBjbGFzc1xuICBhdHRyaWJ1dGUgd291bGQgb3ZlcndyaXRlIHRoZSBkZXNjcmlwdG9yIGFzc2lnbm1lbnQuXG5cbiogVGhlIGFjdGlvbiBvZiBhICpfX3Nsb3RzX18qIGRlY2xhcmF0aW9uIGlzIGxpbWl0ZWQgdG8gdGhlIGNsYXNzXG4gIHdoZXJlIGl0IGlzIGRlZmluZWQuICBBcyBhIHJlc3VsdCwgc3ViY2xhc3NlcyB3aWxsIGhhdmUgYSAqX19kaWN0X18qXG4gIHVubGVzcyB0aGV5IGFsc28gZGVmaW5lICpfX3Nsb3RzX18qICh3aGljaCBtdXN0IG9ubHkgY29udGFpbiBuYW1lc1xuICBvZiBhbnkgKmFkZGl0aW9uYWwqIHNsb3RzKS5cblxuKiBJZiBhIGNsYXNzIGRlZmluZXMgYSBzbG90IGFsc28gZGVmaW5lZCBpbiBhIGJhc2UgY2xhc3MsIHRoZVxuICBpbnN0YW5jZSB2YXJpYWJsZSBkZWZpbmVkIGJ5IHRoZSBiYXNlIGNsYXNzIHNsb3QgaXMgaW5hY2Nlc3NpYmxlXG4gIChleGNlcHQgYnkgcmV0cmlldmluZyBpdHMgZGVzY3JpcHRvciBkaXJlY3RseSBmcm9tIHRoZSBiYXNlIGNsYXNzKS5cbiAgVGhpcyByZW5kZXJzIHRoZSBtZWFuaW5nIG9mIHRoZSBwcm9ncmFtIHVuZGVmaW5lZC4gIEluIHRoZSBmdXR1cmUsIGFcbiAgY2hlY2sgbWF5IGJlIGFkZGVkIHRvIHByZXZlbnQgdGhpcy5cblxuKiBOb25lbXB0eSAqX19zbG90c19fKiBkb2VzIG5vdCB3b3JrIGZvciBjbGFzc2VzIGRlcml2ZWQgZnJvbVxuICAidmFyaWFibGUtbGVuZ3RoIiBidWlsdC1pbiB0eXBlcyBzdWNoIGFzICJpbnQiLCAiYnl0ZXMiIGFuZCAidHVwbGUiLlxuXG4qIEFueSBub24tc3RyaW5nIGl0ZXJhYmxlIG1heSBiZSBhc3NpZ25lZCB0byAqX19zbG90c19fKi4gTWFwcGluZ3NcbiAgbWF5IGFsc28gYmUgdXNlZDsgaG93ZXZlciwgaW4gdGhlIGZ1dHVyZSwgc3BlY2lhbCBtZWFuaW5nIG1heSBiZVxuICBhc3NpZ25lZCB0byB0aGUgdmFsdWVzIGNvcnJlc3BvbmRpbmcgdG8gZWFjaCBrZXkuXG5cbiogKl9fY2xhc3NfXyogYXNzaWdubWVudCB3b3JrcyBvbmx5IGlmIGJvdGggY2xhc3NlcyBoYXZlIHRoZSBzYW1lXG4gICpfX3Nsb3RzX18qLlxuXG5cbkN1c3RvbWl6aW5nIGNsYXNzIGNyZWF0aW9uXG49PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5CeSBkZWZhdWx0LCBjbGFzc2VzIGFyZSBjb25zdHJ1Y3RlZCB1c2luZyAidHlwZSgpIi4gVGhlIGNsYXNzIGJvZHkgaXNcbmV4ZWN1dGVkIGluIGEgbmV3IG5hbWVzcGFjZSBhbmQgdGhlIGNsYXNzIG5hbWUgaXMgYm91bmQgbG9jYWxseSB0byB0aGVcbnJlc3VsdCBvZiAidHlwZShuYW1lLCBiYXNlcywgbmFtZXNwYWNlKSIuXG5cblRoZSBjbGFzcyBjcmVhdGlvbiBwcm9jZXNzIGNhbiBiZSBjdXN0b21pc2VkIGJ5IHBhc3NpbmcgdGhlXG4ibWV0YWNsYXNzIiBrZXl3b3JkIGFyZ3VtZW50IGluIHRoZSBjbGFzcyBkZWZpbml0aW9uIGxpbmUsIG9yIGJ5XG5pbmhlcml0aW5nIGZyb20gYW4gZXhpc3RpbmcgY2xhc3MgdGhhdCBpbmNsdWRlZCBzdWNoIGFuIGFyZ3VtZW50LiBJblxudGhlIGZvbGxvd2luZyBleGFtcGxlLCBib3RoICJNeUNsYXNzIiBhbmQgIk15U3ViY2xhc3MiIGFyZSBpbnN0YW5jZXNcbm9mICJNZXRhIjpcblxuICAgY2xhc3MgTWV0YSh0eXBlKTpcbiAgICAgICBwYXNzXG5cbiAgIGNsYXNzIE15Q2xhc3MobWV0YWNsYXNzPU1ldGEpOlxuICAgICAgIHBhc3NcblxuICAgY2xhc3MgTXlTdWJjbGFzcyhNeUNsYXNzKTpcbiAgICAgICBwYXNzXG5cbkFueSBvdGhlciBrZXl3b3JkIGFyZ3VtZW50cyB0aGF0IGFyZSBzcGVjaWZpZWQgaW4gdGhlIGNsYXNzIGRlZmluaXRpb25cbmFyZSBwYXNzZWQgdGhyb3VnaCB0byBhbGwgbWV0YWNsYXNzIG9wZXJhdGlvbnMgZGVzY3JpYmVkIGJlbG93LlxuXG5XaGVuIGEgY2xhc3MgZGVmaW5pdGlvbiBpcyBleGVjdXRlZCwgdGhlIGZvbGxvd2luZyBzdGVwcyBvY2N1cjpcblxuKiB0aGUgYXBwcm9wcmlhdGUgbWV0YWNsYXNzIGlzIGRldGVybWluZWRcblxuKiB0aGUgY2xhc3MgbmFtZXNwYWNlIGlzIHByZXBhcmVkXG5cbiogdGhlIGNsYXNzIGJvZHkgaXMgZXhlY3V0ZWRcblxuKiB0aGUgY2xhc3Mgb2JqZWN0IGlzIGNyZWF0ZWRcblxuXG5EZXRlcm1pbmluZyB0aGUgYXBwcm9wcmlhdGUgbWV0YWNsYXNzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblRoZSBhcHByb3ByaWF0ZSBtZXRhY2xhc3MgZm9yIGEgY2xhc3MgZGVmaW5pdGlvbiBpcyBkZXRlcm1pbmVkIGFzXG5mb2xsb3dzOlxuXG4qIGlmIG5vIGJhc2VzIGFuZCBubyBleHBsaWNpdCBtZXRhY2xhc3MgYXJlIGdpdmVuLCB0aGVuICJ0eXBlKCkiIGlzXG4gIHVzZWRcblxuKiBpZiBhbiBleHBsaWNpdCBtZXRhY2xhc3MgaXMgZ2l2ZW4gYW5kIGl0IGlzICpub3QqIGFuIGluc3RhbmNlIG9mXG4gICJ0eXBlKCkiLCB0aGVuIGl0IGlzIHVzZWQgZGlyZWN0bHkgYXMgdGhlIG1ldGFjbGFzc1xuXG4qIGlmIGFuIGluc3RhbmNlIG9mICJ0eXBlKCkiIGlzIGdpdmVuIGFzIHRoZSBleHBsaWNpdCBtZXRhY2xhc3MsIG9yXG4gIGJhc2VzIGFyZSBkZWZpbmVkLCB0aGVuIHRoZSBtb3N0IGRlcml2ZWQgbWV0YWNsYXNzIGlzIHVzZWRcblxuVGhlIG1vc3QgZGVyaXZlZCBtZXRhY2xhc3MgaXMgc2VsZWN0ZWQgZnJvbSB0aGUgZXhwbGljaXRseSBzcGVjaWZpZWRcbm1ldGFjbGFzcyAoaWYgYW55KSBhbmQgdGhlIG1ldGFjbGFzc2VzIChpLmUuICJ0eXBlKGNscykiKSBvZiBhbGxcbnNwZWNpZmllZCBiYXNlIGNsYXNzZXMuIFRoZSBtb3N0IGRlcml2ZWQgbWV0YWNsYXNzIGlzIG9uZSB3aGljaCBpcyBhXG5zdWJ0eXBlIG9mICphbGwqIG9mIHRoZXNlIGNhbmRpZGF0ZSBtZXRhY2xhc3Nlcy4gSWYgbm9uZSBvZiB0aGVcbmNhbmRpZGF0ZSBtZXRhY2xhc3NlcyBtZWV0cyB0aGF0IGNyaXRlcmlvbiwgdGhlbiB0aGUgY2xhc3MgZGVmaW5pdGlvblxud2lsbCBmYWlsIHdpdGggIlR5cGVFcnJvciIuXG5cblxuUHJlcGFyaW5nIHRoZSBjbGFzcyBuYW1lc3BhY2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbk9uY2UgdGhlIGFwcHJvcHJpYXRlIG1ldGFjbGFzcyBoYXMgYmVlbiBpZGVudGlmaWVkLCB0aGVuIHRoZSBjbGFzc1xubmFtZXNwYWNlIGlzIHByZXBhcmVkLiBJZiB0aGUgbWV0YWNsYXNzIGhhcyBhICJfX3ByZXBhcmVfXyIgYXR0cmlidXRlLFxuaXQgaXMgY2FsbGVkIGFzICJuYW1lc3BhY2UgPSBtZXRhY2xhc3MuX19wcmVwYXJlX18obmFtZSwgYmFzZXMsXG4qKmt3ZHMpIiAod2hlcmUgdGhlIGFkZGl0aW9uYWwga2V5d29yZCBhcmd1bWVudHMsIGlmIGFueSwgY29tZSBmcm9tXG50aGUgY2xhc3MgZGVmaW5pdGlvbikuXG5cbklmIHRoZSBtZXRhY2xhc3MgaGFzIG5vICJfX3ByZXBhcmVfXyIgYXR0cmlidXRlLCB0aGVuIHRoZSBjbGFzc1xubmFtZXNwYWNlIGlzIGluaXRpYWxpc2VkIGFzIGFuIGVtcHR5ICJkaWN0KCkiIGluc3RhbmNlLlxuXG5TZWUgYWxzbzogKipQRVAgMzExNSoqIC0gTWV0YWNsYXNzZXMgaW4gUHl0aG9uIDMwMDBcblxuICAgICBJbnRyb2R1Y2VkIHRoZSAiX19wcmVwYXJlX18iIG5hbWVzcGFjZSBob29rXG5cblxuRXhlY3V0aW5nIHRoZSBjbGFzcyBib2R5XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuVGhlIGNsYXNzIGJvZHkgaXMgZXhlY3V0ZWQgKGFwcHJveGltYXRlbHkpIGFzICJleGVjKGJvZHksIGdsb2JhbHMoKSxcbm5hbWVzcGFjZSkiLiBUaGUga2V5IGRpZmZlcmVuY2UgZnJvbSBhIG5vcm1hbCBjYWxsIHRvICJleGVjKCkiIGlzIHRoYXRcbmxleGljYWwgc2NvcGluZyBhbGxvd3MgdGhlIGNsYXNzIGJvZHkgKGluY2x1ZGluZyBhbnkgbWV0aG9kcykgdG9cbnJlZmVyZW5jZSBuYW1lcyBmcm9tIHRoZSBjdXJyZW50IGFuZCBvdXRlciBzY29wZXMgd2hlbiB0aGUgY2xhc3NcbmRlZmluaXRpb24gb2NjdXJzIGluc2lkZSBhIGZ1bmN0aW9uLlxuXG5Ib3dldmVyLCBldmVuIHdoZW4gdGhlIGNsYXNzIGRlZmluaXRpb24gb2NjdXJzIGluc2lkZSB0aGUgZnVuY3Rpb24sXG5tZXRob2RzIGRlZmluZWQgaW5zaWRlIHRoZSBjbGFzcyBzdGlsbCBjYW5ub3Qgc2VlIG5hbWVzIGRlZmluZWQgYXQgdGhlXG5jbGFzcyBzY29wZS4gQ2xhc3MgdmFyaWFibGVzIG11c3QgYmUgYWNjZXNzZWQgdGhyb3VnaCB0aGUgZmlyc3RcbnBhcmFtZXRlciBvZiBpbnN0YW5jZSBvciBjbGFzcyBtZXRob2RzLCBhbmQgY2Fubm90IGJlIGFjY2Vzc2VkIGF0IGFsbFxuZnJvbSBzdGF0aWMgbWV0aG9kcy5cblxuXG5DcmVhdGluZyB0aGUgY2xhc3Mgb2JqZWN0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbk9uY2UgdGhlIGNsYXNzIG5hbWVzcGFjZSBoYXMgYmVlbiBwb3B1bGF0ZWQgYnkgZXhlY3V0aW5nIHRoZSBjbGFzc1xuYm9keSwgdGhlIGNsYXNzIG9iamVjdCBpcyBjcmVhdGVkIGJ5IGNhbGxpbmcgIm1ldGFjbGFzcyhuYW1lLCBiYXNlcyxcbm5hbWVzcGFjZSwgKiprd2RzKSIgKHRoZSBhZGRpdGlvbmFsIGtleXdvcmRzIHBhc3NlZCBoZXJlIGFyZSB0aGUgc2FtZVxuYXMgdGhvc2UgcGFzc2VkIHRvICJfX3ByZXBhcmVfXyIpLlxuXG5UaGlzIGNsYXNzIG9iamVjdCBpcyB0aGUgb25lIHRoYXQgd2lsbCBiZSByZWZlcmVuY2VkIGJ5IHRoZSB6ZXJvLVxuYXJndW1lbnQgZm9ybSBvZiAic3VwZXIoKSIuICJfX2NsYXNzX18iIGlzIGFuIGltcGxpY2l0IGNsb3N1cmVcbnJlZmVyZW5jZSBjcmVhdGVkIGJ5IHRoZSBjb21waWxlciBpZiBhbnkgbWV0aG9kcyBpbiBhIGNsYXNzIGJvZHkgcmVmZXJcbnRvIGVpdGhlciAiX19jbGFzc19fIiBvciAic3VwZXIiLiBUaGlzIGFsbG93cyB0aGUgemVybyBhcmd1bWVudCBmb3JtXG5vZiAic3VwZXIoKSIgdG8gY29ycmVjdGx5IGlkZW50aWZ5IHRoZSBjbGFzcyBiZWluZyBkZWZpbmVkIGJhc2VkIG9uXG5sZXhpY2FsIHNjb3BpbmcsIHdoaWxlIHRoZSBjbGFzcyBvciBpbnN0YW5jZSB0aGF0IHdhcyB1c2VkIHRvIG1ha2UgdGhlXG5jdXJyZW50IGNhbGwgaXMgaWRlbnRpZmllZCBiYXNlZCBvbiB0aGUgZmlyc3QgYXJndW1lbnQgcGFzc2VkIHRvIHRoZVxubWV0aG9kLlxuXG5BZnRlciB0aGUgY2xhc3Mgb2JqZWN0IGlzIGNyZWF0ZWQsIGl0IGlzIHBhc3NlZCB0byB0aGUgY2xhc3NcbmRlY29yYXRvcnMgaW5jbHVkZWQgaW4gdGhlIGNsYXNzIGRlZmluaXRpb24gKGlmIGFueSkgYW5kIHRoZSByZXN1bHRpbmdcbm9iamVjdCBpcyBib3VuZCBpbiB0aGUgbG9jYWwgbmFtZXNwYWNlIGFzIHRoZSBkZWZpbmVkIGNsYXNzLlxuXG5TZWUgYWxzbzogKipQRVAgMzEzNSoqIC0gTmV3IHN1cGVyXG5cbiAgICAgRGVzY3JpYmVzIHRoZSBpbXBsaWNpdCAiX19jbGFzc19fIiBjbG9zdXJlIHJlZmVyZW5jZVxuXG5cbk1ldGFjbGFzcyBleGFtcGxlXG4tLS0tLS0tLS0tLS0tLS0tLVxuXG5UaGUgcG90ZW50aWFsIHVzZXMgZm9yIG1ldGFjbGFzc2VzIGFyZSBib3VuZGxlc3MuIFNvbWUgaWRlYXMgdGhhdCBoYXZlXG5iZWVuIGV4cGxvcmVkIGluY2x1ZGUgbG9nZ2luZywgaW50ZXJmYWNlIGNoZWNraW5nLCBhdXRvbWF0aWNcbmRlbGVnYXRpb24sIGF1dG9tYXRpYyBwcm9wZXJ0eSBjcmVhdGlvbiwgcHJveGllcywgZnJhbWV3b3JrcywgYW5kXG5hdXRvbWF0aWMgcmVzb3VyY2UgbG9ja2luZy9zeW5jaHJvbml6YXRpb24uXG5cbkhlcmUgaXMgYW4gZXhhbXBsZSBvZiBhIG1ldGFjbGFzcyB0aGF0IHVzZXMgYW5cbiJjb2xsZWN0aW9ucy5PcmRlcmVkRGljdCIgdG8gcmVtZW1iZXIgdGhlIG9yZGVyIHRoYXQgY2xhc3MgdmFyaWFibGVzXG5hcmUgZGVmaW5lZDpcblxuICAgY2xhc3MgT3JkZXJlZENsYXNzKHR5cGUpOlxuXG4gICAgICAgIEBjbGFzc21ldGhvZFxuICAgICAgICBkZWYgX19wcmVwYXJlX18obWV0YWNscywgbmFtZSwgYmFzZXMsICoqa3dkcyk6XG4gICAgICAgICAgIHJldHVybiBjb2xsZWN0aW9ucy5PcmRlcmVkRGljdCgpXG5cbiAgICAgICAgZGVmIF9fbmV3X18oY2xzLCBuYW1lLCBiYXNlcywgbmFtZXNwYWNlLCAqKmt3ZHMpOlxuICAgICAgICAgICByZXN1bHQgPSB0eXBlLl9fbmV3X18oY2xzLCBuYW1lLCBiYXNlcywgZGljdChuYW1lc3BhY2UpKVxuICAgICAgICAgICByZXN1bHQubWVtYmVycyA9IHR1cGxlKG5hbWVzcGFjZSlcbiAgICAgICAgICAgcmV0dXJuIHJlc3VsdFxuXG4gICBjbGFzcyBBKG1ldGFjbGFzcz1PcmRlcmVkQ2xhc3MpOlxuICAgICAgIGRlZiBvbmUoc2VsZik6IHBhc3NcbiAgICAgICBkZWYgdHdvKHNlbGYpOiBwYXNzXG4gICAgICAgZGVmIHRocmVlKHNlbGYpOiBwYXNzXG4gICAgICAgZGVmIGZvdXIoc2VsZik6IHBhc3NcblxuICAgPj4+IEEubWVtYmVyc1xuICAgKFwnX19tb2R1bGVfX1wnLCBcJ29uZVwnLCBcJ3R3b1wnLCBcJ3RocmVlXCcsIFwnZm91clwnKVxuXG5XaGVuIHRoZSBjbGFzcyBkZWZpbml0aW9uIGZvciAqQSogZ2V0cyBleGVjdXRlZCwgdGhlIHByb2Nlc3MgYmVnaW5zXG53aXRoIGNhbGxpbmcgdGhlIG1ldGFjbGFzc1wncyAiX19wcmVwYXJlX18oKSIgbWV0aG9kIHdoaWNoIHJldHVybnMgYW5cbmVtcHR5ICJjb2xsZWN0aW9ucy5PcmRlcmVkRGljdCIuICBUaGF0IG1hcHBpbmcgcmVjb3JkcyB0aGUgbWV0aG9kcyBhbmRcbmF0dHJpYnV0ZXMgb2YgKkEqIGFzIHRoZXkgYXJlIGRlZmluZWQgd2l0aGluIHRoZSBib2R5IG9mIHRoZSBjbGFzc1xuc3RhdGVtZW50LiBPbmNlIHRob3NlIGRlZmluaXRpb25zIGFyZSBleGVjdXRlZCwgdGhlIG9yZGVyZWQgZGljdGlvbmFyeVxuaXMgZnVsbHkgcG9wdWxhdGVkIGFuZCB0aGUgbWV0YWNsYXNzXCdzICJfX25ld19fKCkiIG1ldGhvZCBnZXRzXG5pbnZva2VkLiAgVGhhdCBtZXRob2QgYnVpbGRzIHRoZSBuZXcgdHlwZSBhbmQgaXQgc2F2ZXMgdGhlIG9yZGVyZWRcbmRpY3Rpb25hcnkga2V5cyBpbiBhbiBhdHRyaWJ1dGUgY2FsbGVkICJtZW1iZXJzIi5cblxuXG5DdXN0b21pemluZyBpbnN0YW5jZSBhbmQgc3ViY2xhc3MgY2hlY2tzXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblRoZSBmb2xsb3dpbmcgbWV0aG9kcyBhcmUgdXNlZCB0byBvdmVycmlkZSB0aGUgZGVmYXVsdCBiZWhhdmlvciBvZiB0aGVcbiJpc2luc3RhbmNlKCkiIGFuZCAiaXNzdWJjbGFzcygpIiBidWlsdC1pbiBmdW5jdGlvbnMuXG5cbkluIHBhcnRpY3VsYXIsIHRoZSBtZXRhY2xhc3MgImFiYy5BQkNNZXRhIiBpbXBsZW1lbnRzIHRoZXNlIG1ldGhvZHMgaW5cbm9yZGVyIHRvIGFsbG93IHRoZSBhZGRpdGlvbiBvZiBBYnN0cmFjdCBCYXNlIENsYXNzZXMgKEFCQ3MpIGFzXG4idmlydHVhbCBiYXNlIGNsYXNzZXMiIHRvIGFueSBjbGFzcyBvciB0eXBlIChpbmNsdWRpbmcgYnVpbHQtaW5cbnR5cGVzKSwgaW5jbHVkaW5nIG90aGVyIEFCQ3MuXG5cbmNsYXNzLl9faW5zdGFuY2VjaGVja19fKHNlbGYsIGluc3RhbmNlKVxuXG4gICBSZXR1cm4gdHJ1ZSBpZiAqaW5zdGFuY2UqIHNob3VsZCBiZSBjb25zaWRlcmVkIGEgKGRpcmVjdCBvclxuICAgaW5kaXJlY3QpIGluc3RhbmNlIG9mICpjbGFzcyouIElmIGRlZmluZWQsIGNhbGxlZCB0byBpbXBsZW1lbnRcbiAgICJpc2luc3RhbmNlKGluc3RhbmNlLCBjbGFzcykiLlxuXG5jbGFzcy5fX3N1YmNsYXNzY2hlY2tfXyhzZWxmLCBzdWJjbGFzcylcblxuICAgUmV0dXJuIHRydWUgaWYgKnN1YmNsYXNzKiBzaG91bGQgYmUgY29uc2lkZXJlZCBhIChkaXJlY3Qgb3JcbiAgIGluZGlyZWN0KSBzdWJjbGFzcyBvZiAqY2xhc3MqLiAgSWYgZGVmaW5lZCwgY2FsbGVkIHRvIGltcGxlbWVudFxuICAgImlzc3ViY2xhc3Moc3ViY2xhc3MsIGNsYXNzKSIuXG5cbk5vdGUgdGhhdCB0aGVzZSBtZXRob2RzIGFyZSBsb29rZWQgdXAgb24gdGhlIHR5cGUgKG1ldGFjbGFzcykgb2YgYVxuY2xhc3MuICBUaGV5IGNhbm5vdCBiZSBkZWZpbmVkIGFzIGNsYXNzIG1ldGhvZHMgaW4gdGhlIGFjdHVhbCBjbGFzcy5cblRoaXMgaXMgY29uc2lzdGVudCB3aXRoIHRoZSBsb29rdXAgb2Ygc3BlY2lhbCBtZXRob2RzIHRoYXQgYXJlIGNhbGxlZFxub24gaW5zdGFuY2VzLCBvbmx5IGluIHRoaXMgY2FzZSB0aGUgaW5zdGFuY2UgaXMgaXRzZWxmIGEgY2xhc3MuXG5cblNlZSBhbHNvOiAqKlBFUCAzMTE5KiogLSBJbnRyb2R1Y2luZyBBYnN0cmFjdCBCYXNlIENsYXNzZXNcblxuICAgICBJbmNsdWRlcyB0aGUgc3BlY2lmaWNhdGlvbiBmb3IgY3VzdG9taXppbmcgImlzaW5zdGFuY2UoKSIgYW5kXG4gICAgICJpc3N1YmNsYXNzKCkiIGJlaGF2aW9yIHRocm91Z2ggIl9faW5zdGFuY2VjaGVja19fKCkiIGFuZFxuICAgICAiX19zdWJjbGFzc2NoZWNrX18oKSIsIHdpdGggbW90aXZhdGlvbiBmb3IgdGhpcyBmdW5jdGlvbmFsaXR5IGluXG4gICAgIHRoZSBjb250ZXh0IG9mIGFkZGluZyBBYnN0cmFjdCBCYXNlIENsYXNzZXMgKHNlZSB0aGUgImFiYyJcbiAgICAgbW9kdWxlKSB0byB0aGUgbGFuZ3VhZ2UuXG5cblxuRW11bGF0aW5nIGNhbGxhYmxlIG9iamVjdHNcbj09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbm9iamVjdC5fX2NhbGxfXyhzZWxmWywgYXJncy4uLl0pXG5cbiAgIENhbGxlZCB3aGVuIHRoZSBpbnN0YW5jZSBpcyAiY2FsbGVkIiBhcyBhIGZ1bmN0aW9uOyBpZiB0aGlzIG1ldGhvZFxuICAgaXMgZGVmaW5lZCwgIngoYXJnMSwgYXJnMiwgLi4uKSIgaXMgYSBzaG9ydGhhbmQgZm9yXG4gICAieC5fX2NhbGxfXyhhcmcxLCBhcmcyLCAuLi4pIi5cblxuXG5FbXVsYXRpbmcgY29udGFpbmVyIHR5cGVzXG49PT09PT09PT09PT09PT09PT09PT09PT09XG5cblRoZSBmb2xsb3dpbmcgbWV0aG9kcyBjYW4gYmUgZGVmaW5lZCB0byBpbXBsZW1lbnQgY29udGFpbmVyIG9iamVjdHMuXG5Db250YWluZXJzIHVzdWFsbHkgYXJlIHNlcXVlbmNlcyAoc3VjaCBhcyBsaXN0cyBvciB0dXBsZXMpIG9yIG1hcHBpbmdzXG4obGlrZSBkaWN0aW9uYXJpZXMpLCBidXQgY2FuIHJlcHJlc2VudCBvdGhlciBjb250YWluZXJzIGFzIHdlbGwuICBUaGVcbmZpcnN0IHNldCBvZiBtZXRob2RzIGlzIHVzZWQgZWl0aGVyIHRvIGVtdWxhdGUgYSBzZXF1ZW5jZSBvciB0b1xuZW11bGF0ZSBhIG1hcHBpbmc7IHRoZSBkaWZmZXJlbmNlIGlzIHRoYXQgZm9yIGEgc2VxdWVuY2UsIHRoZVxuYWxsb3dhYmxlIGtleXMgc2hvdWxkIGJlIHRoZSBpbnRlZ2VycyAqayogZm9yIHdoaWNoICIwIDw9IGsgPCBOIiB3aGVyZVxuKk4qIGlzIHRoZSBsZW5ndGggb2YgdGhlIHNlcXVlbmNlLCBvciBzbGljZSBvYmplY3RzLCB3aGljaCBkZWZpbmUgYVxucmFuZ2Ugb2YgaXRlbXMuICBJdCBpcyBhbHNvIHJlY29tbWVuZGVkIHRoYXQgbWFwcGluZ3MgcHJvdmlkZSB0aGVcbm1ldGhvZHMgImtleXMoKSIsICJ2YWx1ZXMoKSIsICJpdGVtcygpIiwgImdldCgpIiwgImNsZWFyKCkiLFxuInNldGRlZmF1bHQoKSIsICJwb3AoKSIsICJwb3BpdGVtKCkiLCAiY29weSgpIiwgYW5kICJ1cGRhdGUoKSJcbmJlaGF2aW5nIHNpbWlsYXIgdG8gdGhvc2UgZm9yIFB5dGhvblwncyBzdGFuZGFyZCBkaWN0aW9uYXJ5IG9iamVjdHMuXG5UaGUgImNvbGxlY3Rpb25zIiBtb2R1bGUgcHJvdmlkZXMgYSAiTXV0YWJsZU1hcHBpbmciIGFic3RyYWN0IGJhc2VcbmNsYXNzIHRvIGhlbHAgY3JlYXRlIHRob3NlIG1ldGhvZHMgZnJvbSBhIGJhc2Ugc2V0IG9mICJfX2dldGl0ZW1fXygpIixcbiJfX3NldGl0ZW1fXygpIiwgIl9fZGVsaXRlbV9fKCkiLCBhbmQgImtleXMoKSIuIE11dGFibGUgc2VxdWVuY2VzXG5zaG91bGQgcHJvdmlkZSBtZXRob2RzICJhcHBlbmQoKSIsICJjb3VudCgpIiwgImluZGV4KCkiLCAiZXh0ZW5kKCkiLFxuImluc2VydCgpIiwgInBvcCgpIiwgInJlbW92ZSgpIiwgInJldmVyc2UoKSIgYW5kICJzb3J0KCkiLCBsaWtlIFB5dGhvblxuc3RhbmRhcmQgbGlzdCBvYmplY3RzLiAgRmluYWxseSwgc2VxdWVuY2UgdHlwZXMgc2hvdWxkIGltcGxlbWVudFxuYWRkaXRpb24gKG1lYW5pbmcgY29uY2F0ZW5hdGlvbikgYW5kIG11bHRpcGxpY2F0aW9uIChtZWFuaW5nXG5yZXBldGl0aW9uKSBieSBkZWZpbmluZyB0aGUgbWV0aG9kcyAiX19hZGRfXygpIiwgIl9fcmFkZF9fKCkiLFxuIl9faWFkZF9fKCkiLCAiX19tdWxfXygpIiwgIl9fcm11bF9fKCkiIGFuZCAiX19pbXVsX18oKSIgZGVzY3JpYmVkXG5iZWxvdzsgdGhleSBzaG91bGQgbm90IGRlZmluZSBvdGhlciBudW1lcmljYWwgb3BlcmF0b3JzLiAgSXQgaXNcbnJlY29tbWVuZGVkIHRoYXQgYm90aCBtYXBwaW5ncyBhbmQgc2VxdWVuY2VzIGltcGxlbWVudCB0aGVcbiJfX2NvbnRhaW5zX18oKSIgbWV0aG9kIHRvIGFsbG93IGVmZmljaWVudCB1c2Ugb2YgdGhlICJpbiIgb3BlcmF0b3I7XG5mb3IgbWFwcGluZ3MsICJpbiIgc2hvdWxkIHNlYXJjaCB0aGUgbWFwcGluZ1wncyBrZXlzOyBmb3Igc2VxdWVuY2VzLCBpdFxuc2hvdWxkIHNlYXJjaCB0aHJvdWdoIHRoZSB2YWx1ZXMuICBJdCBpcyBmdXJ0aGVyIHJlY29tbWVuZGVkIHRoYXQgYm90aFxubWFwcGluZ3MgYW5kIHNlcXVlbmNlcyBpbXBsZW1lbnQgdGhlICJfX2l0ZXJfXygpIiBtZXRob2QgdG8gYWxsb3dcbmVmZmljaWVudCBpdGVyYXRpb24gdGhyb3VnaCB0aGUgY29udGFpbmVyOyBmb3IgbWFwcGluZ3MsICJfX2l0ZXJfXygpIlxuc2hvdWxkIGJlIHRoZSBzYW1lIGFzICJrZXlzKCkiOyBmb3Igc2VxdWVuY2VzLCBpdCBzaG91bGQgaXRlcmF0ZVxudGhyb3VnaCB0aGUgdmFsdWVzLlxuXG5vYmplY3QuX19sZW5fXyhzZWxmKVxuXG4gICBDYWxsZWQgdG8gaW1wbGVtZW50IHRoZSBidWlsdC1pbiBmdW5jdGlvbiAibGVuKCkiLiAgU2hvdWxkIHJldHVyblxuICAgdGhlIGxlbmd0aCBvZiB0aGUgb2JqZWN0LCBhbiBpbnRlZ2VyICI+PSIgMC4gIEFsc28sIGFuIG9iamVjdCB0aGF0XG4gICBkb2VzblwndCBkZWZpbmUgYSAiX19ib29sX18oKSIgbWV0aG9kIGFuZCB3aG9zZSAiX19sZW5fXygpIiBtZXRob2RcbiAgIHJldHVybnMgemVybyBpcyBjb25zaWRlcmVkIHRvIGJlIGZhbHNlIGluIGEgQm9vbGVhbiBjb250ZXh0LlxuXG5vYmplY3QuX19sZW5ndGhfaGludF9fKHNlbGYpXG5cbiAgIENhbGxlZCB0byBpbXBsZW1lbnQgIm9wZXJhdG9yLmxlbmd0aF9oaW50KCkiLiBTaG91bGQgcmV0dXJuIGFuXG4gICBlc3RpbWF0ZWQgbGVuZ3RoIGZvciB0aGUgb2JqZWN0ICh3aGljaCBtYXkgYmUgZ3JlYXRlciBvciBsZXNzIHRoYW5cbiAgIHRoZSBhY3R1YWwgbGVuZ3RoKS4gVGhlIGxlbmd0aCBtdXN0IGJlIGFuIGludGVnZXIgIj49IiAwLiBUaGlzXG4gICBtZXRob2QgaXMgcHVyZWx5IGFuIG9wdGltaXphdGlvbiBhbmQgaXMgbmV2ZXIgcmVxdWlyZWQgZm9yXG4gICBjb3JyZWN0bmVzcy5cblxuICAgTmV3IGluIHZlcnNpb24gMy40LlxuXG5Ob3RlOiBTbGljaW5nIGlzIGRvbmUgZXhjbHVzaXZlbHkgd2l0aCB0aGUgZm9sbG93aW5nIHRocmVlIG1ldGhvZHMuXG4gIEEgY2FsbCBsaWtlXG5cbiAgICAgYVsxOjJdID0gYlxuXG4gIGlzIHRyYW5zbGF0ZWQgdG9cblxuICAgICBhW3NsaWNlKDEsIDIsIE5vbmUpXSA9IGJcblxuICBhbmQgc28gZm9ydGguICBNaXNzaW5nIHNsaWNlIGl0ZW1zIGFyZSBhbHdheXMgZmlsbGVkIGluIHdpdGggIk5vbmUiLlxuXG5vYmplY3QuX19nZXRpdGVtX18oc2VsZiwga2V5KVxuXG4gICBDYWxsZWQgdG8gaW1wbGVtZW50IGV2YWx1YXRpb24gb2YgInNlbGZba2V5XSIuIEZvciBzZXF1ZW5jZSB0eXBlcyxcbiAgIHRoZSBhY2NlcHRlZCBrZXlzIHNob3VsZCBiZSBpbnRlZ2VycyBhbmQgc2xpY2Ugb2JqZWN0cy4gIE5vdGUgdGhhdFxuICAgdGhlIHNwZWNpYWwgaW50ZXJwcmV0YXRpb24gb2YgbmVnYXRpdmUgaW5kZXhlcyAoaWYgdGhlIGNsYXNzIHdpc2hlc1xuICAgdG8gZW11bGF0ZSBhIHNlcXVlbmNlIHR5cGUpIGlzIHVwIHRvIHRoZSAiX19nZXRpdGVtX18oKSIgbWV0aG9kLiBJZlxuICAgKmtleSogaXMgb2YgYW4gaW5hcHByb3ByaWF0ZSB0eXBlLCAiVHlwZUVycm9yIiBtYXkgYmUgcmFpc2VkOyBpZiBvZlxuICAgYSB2YWx1ZSBvdXRzaWRlIHRoZSBzZXQgb2YgaW5kZXhlcyBmb3IgdGhlIHNlcXVlbmNlIChhZnRlciBhbnlcbiAgIHNwZWNpYWwgaW50ZXJwcmV0YXRpb24gb2YgbmVnYXRpdmUgdmFsdWVzKSwgIkluZGV4RXJyb3IiIHNob3VsZCBiZVxuICAgcmFpc2VkLiBGb3IgbWFwcGluZyB0eXBlcywgaWYgKmtleSogaXMgbWlzc2luZyAobm90IGluIHRoZVxuICAgY29udGFpbmVyKSwgIktleUVycm9yIiBzaG91bGQgYmUgcmFpc2VkLlxuXG4gICBOb3RlOiAiZm9yIiBsb29wcyBleHBlY3QgdGhhdCBhbiAiSW5kZXhFcnJvciIgd2lsbCBiZSByYWlzZWQgZm9yXG4gICAgIGlsbGVnYWwgaW5kZXhlcyB0byBhbGxvdyBwcm9wZXIgZGV0ZWN0aW9uIG9mIHRoZSBlbmQgb2YgdGhlXG4gICAgIHNlcXVlbmNlLlxuXG5vYmplY3QuX19taXNzaW5nX18oc2VsZiwga2V5KVxuXG4gICBDYWxsZWQgYnkgImRpY3QiLiJfX2dldGl0ZW1fXygpIiB0byBpbXBsZW1lbnQgInNlbGZba2V5XSIgZm9yIGRpY3RcbiAgIHN1YmNsYXNzZXMgd2hlbiBrZXkgaXMgbm90IGluIHRoZSBkaWN0aW9uYXJ5LlxuXG5vYmplY3QuX19zZXRpdGVtX18oc2VsZiwga2V5LCB2YWx1ZSlcblxuICAgQ2FsbGVkIHRvIGltcGxlbWVudCBhc3NpZ25tZW50IHRvICJzZWxmW2tleV0iLiAgU2FtZSBub3RlIGFzIGZvclxuICAgIl9fZ2V0aXRlbV9fKCkiLiAgVGhpcyBzaG91bGQgb25seSBiZSBpbXBsZW1lbnRlZCBmb3IgbWFwcGluZ3MgaWZcbiAgIHRoZSBvYmplY3RzIHN1cHBvcnQgY2hhbmdlcyB0byB0aGUgdmFsdWVzIGZvciBrZXlzLCBvciBpZiBuZXcga2V5c1xuICAgY2FuIGJlIGFkZGVkLCBvciBmb3Igc2VxdWVuY2VzIGlmIGVsZW1lbnRzIGNhbiBiZSByZXBsYWNlZC4gIFRoZVxuICAgc2FtZSBleGNlcHRpb25zIHNob3VsZCBiZSByYWlzZWQgZm9yIGltcHJvcGVyICprZXkqIHZhbHVlcyBhcyBmb3JcbiAgIHRoZSAiX19nZXRpdGVtX18oKSIgbWV0aG9kLlxuXG5vYmplY3QuX19kZWxpdGVtX18oc2VsZiwga2V5KVxuXG4gICBDYWxsZWQgdG8gaW1wbGVtZW50IGRlbGV0aW9uIG9mICJzZWxmW2tleV0iLiAgU2FtZSBub3RlIGFzIGZvclxuICAgIl9fZ2V0aXRlbV9fKCkiLiAgVGhpcyBzaG91bGQgb25seSBiZSBpbXBsZW1lbnRlZCBmb3IgbWFwcGluZ3MgaWZcbiAgIHRoZSBvYmplY3RzIHN1cHBvcnQgcmVtb3ZhbCBvZiBrZXlzLCBvciBmb3Igc2VxdWVuY2VzIGlmIGVsZW1lbnRzXG4gICBjYW4gYmUgcmVtb3ZlZCBmcm9tIHRoZSBzZXF1ZW5jZS4gIFRoZSBzYW1lIGV4Y2VwdGlvbnMgc2hvdWxkIGJlXG4gICByYWlzZWQgZm9yIGltcHJvcGVyICprZXkqIHZhbHVlcyBhcyBmb3IgdGhlICJfX2dldGl0ZW1fXygpIiBtZXRob2QuXG5cbm9iamVjdC5fX2l0ZXJfXyhzZWxmKVxuXG4gICBUaGlzIG1ldGhvZCBpcyBjYWxsZWQgd2hlbiBhbiBpdGVyYXRvciBpcyByZXF1aXJlZCBmb3IgYSBjb250YWluZXIuXG4gICBUaGlzIG1ldGhvZCBzaG91bGQgcmV0dXJuIGEgbmV3IGl0ZXJhdG9yIG9iamVjdCB0aGF0IGNhbiBpdGVyYXRlXG4gICBvdmVyIGFsbCB0aGUgb2JqZWN0cyBpbiB0aGUgY29udGFpbmVyLiAgRm9yIG1hcHBpbmdzLCBpdCBzaG91bGRcbiAgIGl0ZXJhdGUgb3ZlciB0aGUga2V5cyBvZiB0aGUgY29udGFpbmVyLlxuXG4gICBJdGVyYXRvciBvYmplY3RzIGFsc28gbmVlZCB0byBpbXBsZW1lbnQgdGhpcyBtZXRob2Q7IHRoZXkgYXJlXG4gICByZXF1aXJlZCB0byByZXR1cm4gdGhlbXNlbHZlcy4gIEZvciBtb3JlIGluZm9ybWF0aW9uIG9uIGl0ZXJhdG9yXG4gICBvYmplY3RzLCBzZWUgKkl0ZXJhdG9yIFR5cGVzKi5cblxub2JqZWN0Ll9fcmV2ZXJzZWRfXyhzZWxmKVxuXG4gICBDYWxsZWQgKGlmIHByZXNlbnQpIGJ5IHRoZSAicmV2ZXJzZWQoKSIgYnVpbHQtaW4gdG8gaW1wbGVtZW50XG4gICByZXZlcnNlIGl0ZXJhdGlvbi4gIEl0IHNob3VsZCByZXR1cm4gYSBuZXcgaXRlcmF0b3Igb2JqZWN0IHRoYXRcbiAgIGl0ZXJhdGVzIG92ZXIgYWxsIHRoZSBvYmplY3RzIGluIHRoZSBjb250YWluZXIgaW4gcmV2ZXJzZSBvcmRlci5cblxuICAgSWYgdGhlICJfX3JldmVyc2VkX18oKSIgbWV0aG9kIGlzIG5vdCBwcm92aWRlZCwgdGhlICJyZXZlcnNlZCgpIlxuICAgYnVpbHQtaW4gd2lsbCBmYWxsIGJhY2sgdG8gdXNpbmcgdGhlIHNlcXVlbmNlIHByb3RvY29sICgiX19sZW5fXygpIlxuICAgYW5kICJfX2dldGl0ZW1fXygpIikuICBPYmplY3RzIHRoYXQgc3VwcG9ydCB0aGUgc2VxdWVuY2UgcHJvdG9jb2xcbiAgIHNob3VsZCBvbmx5IHByb3ZpZGUgIl9fcmV2ZXJzZWRfXygpIiBpZiB0aGV5IGNhbiBwcm92aWRlIGFuXG4gICBpbXBsZW1lbnRhdGlvbiB0aGF0IGlzIG1vcmUgZWZmaWNpZW50IHRoYW4gdGhlIG9uZSBwcm92aWRlZCBieVxuICAgInJldmVyc2VkKCkiLlxuXG5UaGUgbWVtYmVyc2hpcCB0ZXN0IG9wZXJhdG9ycyAoImluIiBhbmQgIm5vdCBpbiIpIGFyZSBub3JtYWxseVxuaW1wbGVtZW50ZWQgYXMgYW4gaXRlcmF0aW9uIHRocm91Z2ggYSBzZXF1ZW5jZS4gIEhvd2V2ZXIsIGNvbnRhaW5lclxub2JqZWN0cyBjYW4gc3VwcGx5IHRoZSBmb2xsb3dpbmcgc3BlY2lhbCBtZXRob2Qgd2l0aCBhIG1vcmUgZWZmaWNpZW50XG5pbXBsZW1lbnRhdGlvbiwgd2hpY2ggYWxzbyBkb2VzIG5vdCByZXF1aXJlIHRoZSBvYmplY3QgYmUgYSBzZXF1ZW5jZS5cblxub2JqZWN0Ll9fY29udGFpbnNfXyhzZWxmLCBpdGVtKVxuXG4gICBDYWxsZWQgdG8gaW1wbGVtZW50IG1lbWJlcnNoaXAgdGVzdCBvcGVyYXRvcnMuICBTaG91bGQgcmV0dXJuIHRydWVcbiAgIGlmICppdGVtKiBpcyBpbiAqc2VsZiosIGZhbHNlIG90aGVyd2lzZS4gIEZvciBtYXBwaW5nIG9iamVjdHMsIHRoaXNcbiAgIHNob3VsZCBjb25zaWRlciB0aGUga2V5cyBvZiB0aGUgbWFwcGluZyByYXRoZXIgdGhhbiB0aGUgdmFsdWVzIG9yXG4gICB0aGUga2V5LWl0ZW0gcGFpcnMuXG5cbiAgIEZvciBvYmplY3RzIHRoYXQgZG9uXCd0IGRlZmluZSAiX19jb250YWluc19fKCkiLCB0aGUgbWVtYmVyc2hpcCB0ZXN0XG4gICBmaXJzdCB0cmllcyBpdGVyYXRpb24gdmlhICJfX2l0ZXJfXygpIiwgdGhlbiB0aGUgb2xkIHNlcXVlbmNlXG4gICBpdGVyYXRpb24gcHJvdG9jb2wgdmlhICJfX2dldGl0ZW1fXygpIiwgc2VlICp0aGlzIHNlY3Rpb24gaW4gdGhlXG4gICBsYW5ndWFnZSByZWZlcmVuY2UqLlxuXG5cbkVtdWxhdGluZyBudW1lcmljIHR5cGVzXG49PT09PT09PT09PT09PT09PT09PT09PVxuXG5UaGUgZm9sbG93aW5nIG1ldGhvZHMgY2FuIGJlIGRlZmluZWQgdG8gZW11bGF0ZSBudW1lcmljIG9iamVjdHMuXG5NZXRob2RzIGNvcnJlc3BvbmRpbmcgdG8gb3BlcmF0aW9ucyB0aGF0IGFyZSBub3Qgc3VwcG9ydGVkIGJ5IHRoZVxucGFydGljdWxhciBraW5kIG9mIG51bWJlciBpbXBsZW1lbnRlZCAoZS5nLiwgYml0d2lzZSBvcGVyYXRpb25zIGZvclxubm9uLWludGVncmFsIG51bWJlcnMpIHNob3VsZCBiZSBsZWZ0IHVuZGVmaW5lZC5cblxub2JqZWN0Ll9fYWRkX18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19zdWJfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX211bF9fKHNlbGYsIG90aGVyKVxub2JqZWN0Ll9fdHJ1ZWRpdl9fKHNlbGYsIG90aGVyKVxub2JqZWN0Ll9fZmxvb3JkaXZfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX21vZF9fKHNlbGYsIG90aGVyKVxub2JqZWN0Ll9fZGl2bW9kX18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19wb3dfXyhzZWxmLCBvdGhlclssIG1vZHVsb10pXG5vYmplY3QuX19sc2hpZnRfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX3JzaGlmdF9fKHNlbGYsIG90aGVyKVxub2JqZWN0Ll9fYW5kX18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX194b3JfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX29yX18oc2VsZiwgb3RoZXIpXG5cbiAgIFRoZXNlIG1ldGhvZHMgYXJlIGNhbGxlZCB0byBpbXBsZW1lbnQgdGhlIGJpbmFyeSBhcml0aG1ldGljXG4gICBvcGVyYXRpb25zICgiKyIsICItIiwgIioiLCAiLyIsICIvLyIsICIlIiwgImRpdm1vZCgpIiwgInBvdygpIixcbiAgICIqKiIsICI8PCIsICI+PiIsICImIiwgIl4iLCAifCIpLiAgRm9yIGluc3RhbmNlLCB0byBldmFsdWF0ZSB0aGVcbiAgIGV4cHJlc3Npb24gInggKyB5Iiwgd2hlcmUgKngqIGlzIGFuIGluc3RhbmNlIG9mIGEgY2xhc3MgdGhhdCBoYXMgYW5cbiAgICJfX2FkZF9fKCkiIG1ldGhvZCwgInguX19hZGRfXyh5KSIgaXMgY2FsbGVkLiAgVGhlICJfX2Rpdm1vZF9fKCkiXG4gICBtZXRob2Qgc2hvdWxkIGJlIHRoZSBlcXVpdmFsZW50IHRvIHVzaW5nICJfX2Zsb29yZGl2X18oKSIgYW5kXG4gICAiX19tb2RfXygpIjsgaXQgc2hvdWxkIG5vdCBiZSByZWxhdGVkIHRvICJfX3RydWVkaXZfXygpIi4gIE5vdGVcbiAgIHRoYXQgIl9fcG93X18oKSIgc2hvdWxkIGJlIGRlZmluZWQgdG8gYWNjZXB0IGFuIG9wdGlvbmFsIHRoaXJkXG4gICBhcmd1bWVudCBpZiB0aGUgdGVybmFyeSB2ZXJzaW9uIG9mIHRoZSBidWlsdC1pbiAicG93KCkiIGZ1bmN0aW9uIGlzXG4gICB0byBiZSBzdXBwb3J0ZWQuXG5cbiAgIElmIG9uZSBvZiB0aG9zZSBtZXRob2RzIGRvZXMgbm90IHN1cHBvcnQgdGhlIG9wZXJhdGlvbiB3aXRoIHRoZVxuICAgc3VwcGxpZWQgYXJndW1lbnRzLCBpdCBzaG91bGQgcmV0dXJuICJOb3RJbXBsZW1lbnRlZCIuXG5cbm9iamVjdC5fX3JhZGRfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX3JzdWJfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX3JtdWxfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX3J0cnVlZGl2X18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19yZmxvb3JkaXZfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX3Jtb2RfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX3JkaXZtb2RfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX3Jwb3dfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX3Jsc2hpZnRfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX3Jyc2hpZnRfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX3JhbmRfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX3J4b3JfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX3Jvcl9fKHNlbGYsIG90aGVyKVxuXG4gICBUaGVzZSBtZXRob2RzIGFyZSBjYWxsZWQgdG8gaW1wbGVtZW50IHRoZSBiaW5hcnkgYXJpdGhtZXRpY1xuICAgb3BlcmF0aW9ucyAoIisiLCAiLSIsICIqIiwgIi8iLCAiLy8iLCAiJSIsICJkaXZtb2QoKSIsICJwb3coKSIsXG4gICAiKioiLCAiPDwiLCAiPj4iLCAiJiIsICJeIiwgInwiKSB3aXRoIHJlZmxlY3RlZCAoc3dhcHBlZCkgb3BlcmFuZHMuXG4gICBUaGVzZSBmdW5jdGlvbnMgYXJlIG9ubHkgY2FsbGVkIGlmIHRoZSBsZWZ0IG9wZXJhbmQgZG9lcyBub3RcbiAgIHN1cHBvcnQgdGhlIGNvcnJlc3BvbmRpbmcgb3BlcmF0aW9uIGFuZCB0aGUgb3BlcmFuZHMgYXJlIG9mXG4gICBkaWZmZXJlbnQgdHlwZXMuIFsyXSAgRm9yIGluc3RhbmNlLCB0byBldmFsdWF0ZSB0aGUgZXhwcmVzc2lvbiAieCAtXG4gICB5Iiwgd2hlcmUgKnkqIGlzIGFuIGluc3RhbmNlIG9mIGEgY2xhc3MgdGhhdCBoYXMgYW4gIl9fcnN1Yl9fKCkiXG4gICBtZXRob2QsICJ5Ll9fcnN1Yl9fKHgpIiBpcyBjYWxsZWQgaWYgInguX19zdWJfXyh5KSIgcmV0dXJuc1xuICAgKk5vdEltcGxlbWVudGVkKi5cblxuICAgTm90ZSB0aGF0IHRlcm5hcnkgInBvdygpIiB3aWxsIG5vdCB0cnkgY2FsbGluZyAiX19ycG93X18oKSIgKHRoZVxuICAgY29lcmNpb24gcnVsZXMgd291bGQgYmVjb21lIHRvbyBjb21wbGljYXRlZCkuXG5cbiAgIE5vdGU6IElmIHRoZSByaWdodCBvcGVyYW5kXCdzIHR5cGUgaXMgYSBzdWJjbGFzcyBvZiB0aGUgbGVmdFxuICAgICBvcGVyYW5kXCdzIHR5cGUgYW5kIHRoYXQgc3ViY2xhc3MgcHJvdmlkZXMgdGhlIHJlZmxlY3RlZCBtZXRob2RcbiAgICAgZm9yIHRoZSBvcGVyYXRpb24sIHRoaXMgbWV0aG9kIHdpbGwgYmUgY2FsbGVkIGJlZm9yZSB0aGUgbGVmdFxuICAgICBvcGVyYW5kXCdzIG5vbi1yZWZsZWN0ZWQgbWV0aG9kLiAgVGhpcyBiZWhhdmlvciBhbGxvd3Mgc3ViY2xhc3Nlc1xuICAgICB0byBvdmVycmlkZSB0aGVpciBhbmNlc3RvcnNcJyBvcGVyYXRpb25zLlxuXG5vYmplY3QuX19pYWRkX18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19pc3ViX18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19pbXVsX18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19pdHJ1ZWRpdl9fKHNlbGYsIG90aGVyKVxub2JqZWN0Ll9faWZsb29yZGl2X18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19pbW9kX18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19pcG93X18oc2VsZiwgb3RoZXJbLCBtb2R1bG9dKVxub2JqZWN0Ll9faWxzaGlmdF9fKHNlbGYsIG90aGVyKVxub2JqZWN0Ll9faXJzaGlmdF9fKHNlbGYsIG90aGVyKVxub2JqZWN0Ll9faWFuZF9fKHNlbGYsIG90aGVyKVxub2JqZWN0Ll9faXhvcl9fKHNlbGYsIG90aGVyKVxub2JqZWN0Ll9faW9yX18oc2VsZiwgb3RoZXIpXG5cbiAgIFRoZXNlIG1ldGhvZHMgYXJlIGNhbGxlZCB0byBpbXBsZW1lbnQgdGhlIGF1Z21lbnRlZCBhcml0aG1ldGljXG4gICBhc3NpZ25tZW50cyAoIis9IiwgIi09IiwgIio9IiwgIi89IiwgIi8vPSIsICIlPSIsICIqKj0iLCAiPDw9IixcbiAgICI+Pj0iLCAiJj0iLCAiXj0iLCAifD0iKS4gIFRoZXNlIG1ldGhvZHMgc2hvdWxkIGF0dGVtcHQgdG8gZG8gdGhlXG4gICBvcGVyYXRpb24gaW4tcGxhY2UgKG1vZGlmeWluZyAqc2VsZiopIGFuZCByZXR1cm4gdGhlIHJlc3VsdCAod2hpY2hcbiAgIGNvdWxkIGJlLCBidXQgZG9lcyBub3QgaGF2ZSB0byBiZSwgKnNlbGYqKS4gIElmIGEgc3BlY2lmaWMgbWV0aG9kXG4gICBpcyBub3QgZGVmaW5lZCwgdGhlIGF1Z21lbnRlZCBhc3NpZ25tZW50IGZhbGxzIGJhY2sgdG8gdGhlIG5vcm1hbFxuICAgbWV0aG9kcy4gIEZvciBpbnN0YW5jZSwgaWYgKngqIGlzIGFuIGluc3RhbmNlIG9mIGEgY2xhc3Mgd2l0aCBhblxuICAgIl9faWFkZF9fKCkiIG1ldGhvZCwgInggKz0geSIgaXMgZXF1aXZhbGVudCB0byAieCA9IHguX19pYWRkX18oeSkiXG4gICAuIE90aGVyd2lzZSwgInguX19hZGRfXyh5KSIgYW5kICJ5Ll9fcmFkZF9fKHgpIiBhcmUgY29uc2lkZXJlZCwgYXNcbiAgIHdpdGggdGhlIGV2YWx1YXRpb24gb2YgInggKyB5Ii4gSW4gY2VydGFpbiBzaXR1YXRpb25zLCBhdWdtZW50ZWRcbiAgIGFzc2lnbm1lbnQgY2FuIHJlc3VsdCBpbiB1bmV4cGVjdGVkIGVycm9ycyAoc2VlICpXaHkgZG9lc1xuICAgYV90dXBsZVtpXSArPSBbXCdpdGVtXCddIHJhaXNlIGFuIGV4Y2VwdGlvbiB3aGVuIHRoZSBhZGRpdGlvblxuICAgd29ya3M/KiksIGJ1dCB0aGlzIGJlaGF2aW9yIGlzIGluIGZhY3QgcGFydCBvZiB0aGUgZGF0YSBtb2RlbC5cblxub2JqZWN0Ll9fbmVnX18oc2VsZilcbm9iamVjdC5fX3Bvc19fKHNlbGYpXG5vYmplY3QuX19hYnNfXyhzZWxmKVxub2JqZWN0Ll9faW52ZXJ0X18oc2VsZilcblxuICAgQ2FsbGVkIHRvIGltcGxlbWVudCB0aGUgdW5hcnkgYXJpdGhtZXRpYyBvcGVyYXRpb25zICgiLSIsICIrIixcbiAgICJhYnMoKSIgYW5kICJ+IikuXG5cbm9iamVjdC5fX2NvbXBsZXhfXyhzZWxmKVxub2JqZWN0Ll9faW50X18oc2VsZilcbm9iamVjdC5fX2Zsb2F0X18oc2VsZilcbm9iamVjdC5fX3JvdW5kX18oc2VsZlssIG5dKVxuXG4gICBDYWxsZWQgdG8gaW1wbGVtZW50IHRoZSBidWlsdC1pbiBmdW5jdGlvbnMgImNvbXBsZXgoKSIsICJpbnQoKSIsXG4gICAiZmxvYXQoKSIgYW5kICJyb3VuZCgpIi4gIFNob3VsZCByZXR1cm4gYSB2YWx1ZSBvZiB0aGUgYXBwcm9wcmlhdGVcbiAgIHR5cGUuXG5cbm9iamVjdC5fX2luZGV4X18oc2VsZilcblxuICAgQ2FsbGVkIHRvIGltcGxlbWVudCAib3BlcmF0b3IuaW5kZXgoKSIsIGFuZCB3aGVuZXZlciBQeXRob24gbmVlZHNcbiAgIHRvIGxvc3NsZXNzbHkgY29udmVydCB0aGUgbnVtZXJpYyBvYmplY3QgdG8gYW4gaW50ZWdlciBvYmplY3QgKHN1Y2hcbiAgIGFzIGluIHNsaWNpbmcsIG9yIGluIHRoZSBidWlsdC1pbiAiYmluKCkiLCAiaGV4KCkiIGFuZCAib2N0KCkiXG4gICBmdW5jdGlvbnMpLiBQcmVzZW5jZSBvZiB0aGlzIG1ldGhvZCBpbmRpY2F0ZXMgdGhhdCB0aGUgbnVtZXJpY1xuICAgb2JqZWN0IGlzIGFuIGludGVnZXIgdHlwZS4gIE11c3QgcmV0dXJuIGFuIGludGVnZXIuXG5cbiAgIE5vdGU6IEluIG9yZGVyIHRvIGhhdmUgYSBjb2hlcmVudCBpbnRlZ2VyIHR5cGUgY2xhc3MsIHdoZW5cbiAgICAgIl9faW5kZXhfXygpIiBpcyBkZWZpbmVkICJfX2ludF9fKCkiIHNob3VsZCBhbHNvIGJlIGRlZmluZWQsIGFuZFxuICAgICBib3RoIHNob3VsZCByZXR1cm4gdGhlIHNhbWUgdmFsdWUuXG5cblxuV2l0aCBTdGF0ZW1lbnQgQ29udGV4dCBNYW5hZ2Vyc1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5BICpjb250ZXh0IG1hbmFnZXIqIGlzIGFuIG9iamVjdCB0aGF0IGRlZmluZXMgdGhlIHJ1bnRpbWUgY29udGV4dCB0b1xuYmUgZXN0YWJsaXNoZWQgd2hlbiBleGVjdXRpbmcgYSAid2l0aCIgc3RhdGVtZW50LiBUaGUgY29udGV4dCBtYW5hZ2VyXG5oYW5kbGVzIHRoZSBlbnRyeSBpbnRvLCBhbmQgdGhlIGV4aXQgZnJvbSwgdGhlIGRlc2lyZWQgcnVudGltZSBjb250ZXh0XG5mb3IgdGhlIGV4ZWN1dGlvbiBvZiB0aGUgYmxvY2sgb2YgY29kZS4gIENvbnRleHQgbWFuYWdlcnMgYXJlIG5vcm1hbGx5XG5pbnZva2VkIHVzaW5nIHRoZSAid2l0aCIgc3RhdGVtZW50IChkZXNjcmliZWQgaW4gc2VjdGlvbiAqVGhlIHdpdGhcbnN0YXRlbWVudCopLCBidXQgY2FuIGFsc28gYmUgdXNlZCBieSBkaXJlY3RseSBpbnZva2luZyB0aGVpciBtZXRob2RzLlxuXG5UeXBpY2FsIHVzZXMgb2YgY29udGV4dCBtYW5hZ2VycyBpbmNsdWRlIHNhdmluZyBhbmQgcmVzdG9yaW5nIHZhcmlvdXNcbmtpbmRzIG9mIGdsb2JhbCBzdGF0ZSwgbG9ja2luZyBhbmQgdW5sb2NraW5nIHJlc291cmNlcywgY2xvc2luZyBvcGVuZWRcbmZpbGVzLCBldGMuXG5cbkZvciBtb3JlIGluZm9ybWF0aW9uIG9uIGNvbnRleHQgbWFuYWdlcnMsIHNlZSAqQ29udGV4dCBNYW5hZ2VyIFR5cGVzKi5cblxub2JqZWN0Ll9fZW50ZXJfXyhzZWxmKVxuXG4gICBFbnRlciB0aGUgcnVudGltZSBjb250ZXh0IHJlbGF0ZWQgdG8gdGhpcyBvYmplY3QuIFRoZSAid2l0aCJcbiAgIHN0YXRlbWVudCB3aWxsIGJpbmQgdGhpcyBtZXRob2RcJ3MgcmV0dXJuIHZhbHVlIHRvIHRoZSB0YXJnZXQocylcbiAgIHNwZWNpZmllZCBpbiB0aGUgImFzIiBjbGF1c2Ugb2YgdGhlIHN0YXRlbWVudCwgaWYgYW55LlxuXG5vYmplY3QuX19leGl0X18oc2VsZiwgZXhjX3R5cGUsIGV4Y192YWx1ZSwgdHJhY2ViYWNrKVxuXG4gICBFeGl0IHRoZSBydW50aW1lIGNvbnRleHQgcmVsYXRlZCB0byB0aGlzIG9iamVjdC4gVGhlIHBhcmFtZXRlcnNcbiAgIGRlc2NyaWJlIHRoZSBleGNlcHRpb24gdGhhdCBjYXVzZWQgdGhlIGNvbnRleHQgdG8gYmUgZXhpdGVkLiBJZiB0aGVcbiAgIGNvbnRleHQgd2FzIGV4aXRlZCB3aXRob3V0IGFuIGV4Y2VwdGlvbiwgYWxsIHRocmVlIGFyZ3VtZW50cyB3aWxsXG4gICBiZSAiTm9uZSIuXG5cbiAgIElmIGFuIGV4Y2VwdGlvbiBpcyBzdXBwbGllZCwgYW5kIHRoZSBtZXRob2Qgd2lzaGVzIHRvIHN1cHByZXNzIHRoZVxuICAgZXhjZXB0aW9uIChpLmUuLCBwcmV2ZW50IGl0IGZyb20gYmVpbmcgcHJvcGFnYXRlZCksIGl0IHNob3VsZFxuICAgcmV0dXJuIGEgdHJ1ZSB2YWx1ZS4gT3RoZXJ3aXNlLCB0aGUgZXhjZXB0aW9uIHdpbGwgYmUgcHJvY2Vzc2VkXG4gICBub3JtYWxseSB1cG9uIGV4aXQgZnJvbSB0aGlzIG1ldGhvZC5cblxuICAgTm90ZSB0aGF0ICJfX2V4aXRfXygpIiBtZXRob2RzIHNob3VsZCBub3QgcmVyYWlzZSB0aGUgcGFzc2VkLWluXG4gICBleGNlcHRpb247IHRoaXMgaXMgdGhlIGNhbGxlclwncyByZXNwb25zaWJpbGl0eS5cblxuU2VlIGFsc286ICoqUEVQIDAzNDMqKiAtIFRoZSAid2l0aCIgc3RhdGVtZW50XG5cbiAgICAgVGhlIHNwZWNpZmljYXRpb24sIGJhY2tncm91bmQsIGFuZCBleGFtcGxlcyBmb3IgdGhlIFB5dGhvbiAid2l0aCJcbiAgICAgc3RhdGVtZW50LlxuXG5cblNwZWNpYWwgbWV0aG9kIGxvb2t1cFxuPT09PT09PT09PT09PT09PT09PT09XG5cbkZvciBjdXN0b20gY2xhc3NlcywgaW1wbGljaXQgaW52b2NhdGlvbnMgb2Ygc3BlY2lhbCBtZXRob2RzIGFyZSBvbmx5XG5ndWFyYW50ZWVkIHRvIHdvcmsgY29ycmVjdGx5IGlmIGRlZmluZWQgb24gYW4gb2JqZWN0XCdzIHR5cGUsIG5vdCBpblxudGhlIG9iamVjdFwncyBpbnN0YW5jZSBkaWN0aW9uYXJ5LiAgVGhhdCBiZWhhdmlvdXIgaXMgdGhlIHJlYXNvbiB3aHlcbnRoZSBmb2xsb3dpbmcgY29kZSByYWlzZXMgYW4gZXhjZXB0aW9uOlxuXG4gICA+Pj4gY2xhc3MgQzpcbiAgIC4uLiAgICAgcGFzc1xuICAgLi4uXG4gICA+Pj4gYyA9IEMoKVxuICAgPj4+IGMuX19sZW5fXyA9IGxhbWJkYTogNVxuICAgPj4+IGxlbihjKVxuICAgVHJhY2ViYWNrIChtb3N0IHJlY2VudCBjYWxsIGxhc3QpOlxuICAgICBGaWxlICI8c3RkaW4+IiwgbGluZSAxLCBpbiA8bW9kdWxlPlxuICAgVHlwZUVycm9yOiBvYmplY3Qgb2YgdHlwZSBcJ0NcJyBoYXMgbm8gbGVuKClcblxuVGhlIHJhdGlvbmFsZSBiZWhpbmQgdGhpcyBiZWhhdmlvdXIgbGllcyB3aXRoIGEgbnVtYmVyIG9mIHNwZWNpYWxcbm1ldGhvZHMgc3VjaCBhcyAiX19oYXNoX18oKSIgYW5kICJfX3JlcHJfXygpIiB0aGF0IGFyZSBpbXBsZW1lbnRlZCBieVxuYWxsIG9iamVjdHMsIGluY2x1ZGluZyB0eXBlIG9iamVjdHMuIElmIHRoZSBpbXBsaWNpdCBsb29rdXAgb2YgdGhlc2Vcbm1ldGhvZHMgdXNlZCB0aGUgY29udmVudGlvbmFsIGxvb2t1cCBwcm9jZXNzLCB0aGV5IHdvdWxkIGZhaWwgd2hlblxuaW52b2tlZCBvbiB0aGUgdHlwZSBvYmplY3QgaXRzZWxmOlxuXG4gICA+Pj4gMSAuX19oYXNoX18oKSA9PSBoYXNoKDEpXG4gICBUcnVlXG4gICA+Pj4gaW50Ll9faGFzaF9fKCkgPT0gaGFzaChpbnQpXG4gICBUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6XG4gICAgIEZpbGUgIjxzdGRpbj4iLCBsaW5lIDEsIGluIDxtb2R1bGU+XG4gICBUeXBlRXJyb3I6IGRlc2NyaXB0b3IgXCdfX2hhc2hfX1wnIG9mIFwnaW50XCcgb2JqZWN0IG5lZWRzIGFuIGFyZ3VtZW50XG5cbkluY29ycmVjdGx5IGF0dGVtcHRpbmcgdG8gaW52b2tlIGFuIHVuYm91bmQgbWV0aG9kIG9mIGEgY2xhc3MgaW4gdGhpc1xud2F5IGlzIHNvbWV0aW1lcyByZWZlcnJlZCB0byBhcyBcJ21ldGFjbGFzcyBjb25mdXNpb25cJywgYW5kIGlzIGF2b2lkZWRcbmJ5IGJ5cGFzc2luZyB0aGUgaW5zdGFuY2Ugd2hlbiBsb29raW5nIHVwIHNwZWNpYWwgbWV0aG9kczpcblxuICAgPj4+IHR5cGUoMSkuX19oYXNoX18oMSkgPT0gaGFzaCgxKVxuICAgVHJ1ZVxuICAgPj4+IHR5cGUoaW50KS5fX2hhc2hfXyhpbnQpID09IGhhc2goaW50KVxuICAgVHJ1ZVxuXG5JbiBhZGRpdGlvbiB0byBieXBhc3NpbmcgYW55IGluc3RhbmNlIGF0dHJpYnV0ZXMgaW4gdGhlIGludGVyZXN0IG9mXG5jb3JyZWN0bmVzcywgaW1wbGljaXQgc3BlY2lhbCBtZXRob2QgbG9va3VwIGdlbmVyYWxseSBhbHNvIGJ5cGFzc2VzXG50aGUgIl9fZ2V0YXR0cmlidXRlX18oKSIgbWV0aG9kIGV2ZW4gb2YgdGhlIG9iamVjdFwncyBtZXRhY2xhc3M6XG5cbiAgID4+PiBjbGFzcyBNZXRhKHR5cGUpOlxuICAgLi4uICAgIGRlZiBfX2dldGF0dHJpYnV0ZV9fKCphcmdzKTpcbiAgIC4uLiAgICAgICBwcmludCgiTWV0YWNsYXNzIGdldGF0dHJpYnV0ZSBpbnZva2VkIilcbiAgIC4uLiAgICAgICByZXR1cm4gdHlwZS5fX2dldGF0dHJpYnV0ZV9fKCphcmdzKVxuICAgLi4uXG4gICA+Pj4gY2xhc3MgQyhvYmplY3QsIG1ldGFjbGFzcz1NZXRhKTpcbiAgIC4uLiAgICAgZGVmIF9fbGVuX18oc2VsZik6XG4gICAuLi4gICAgICAgICByZXR1cm4gMTBcbiAgIC4uLiAgICAgZGVmIF9fZ2V0YXR0cmlidXRlX18oKmFyZ3MpOlxuICAgLi4uICAgICAgICAgcHJpbnQoIkNsYXNzIGdldGF0dHJpYnV0ZSBpbnZva2VkIilcbiAgIC4uLiAgICAgICAgIHJldHVybiBvYmplY3QuX19nZXRhdHRyaWJ1dGVfXygqYXJncylcbiAgIC4uLlxuICAgPj4+IGMgPSBDKClcbiAgID4+PiBjLl9fbGVuX18oKSAgICAgICAgICAgICAgICAgIyBFeHBsaWNpdCBsb29rdXAgdmlhIGluc3RhbmNlXG4gICBDbGFzcyBnZXRhdHRyaWJ1dGUgaW52b2tlZFxuICAgMTBcbiAgID4+PiB0eXBlKGMpLl9fbGVuX18oYykgICAgICAgICAgIyBFeHBsaWNpdCBsb29rdXAgdmlhIHR5cGVcbiAgIE1ldGFjbGFzcyBnZXRhdHRyaWJ1dGUgaW52b2tlZFxuICAgMTBcbiAgID4+PiBsZW4oYykgICAgICAgICAgICAgICAgICAgICAgIyBJbXBsaWNpdCBsb29rdXBcbiAgIDEwXG5cbkJ5cGFzc2luZyB0aGUgIl9fZ2V0YXR0cmlidXRlX18oKSIgbWFjaGluZXJ5IGluIHRoaXMgZmFzaGlvbiBwcm92aWRlc1xuc2lnbmlmaWNhbnQgc2NvcGUgZm9yIHNwZWVkIG9wdGltaXNhdGlvbnMgd2l0aGluIHRoZSBpbnRlcnByZXRlciwgYXRcbnRoZSBjb3N0IG9mIHNvbWUgZmxleGliaWxpdHkgaW4gdGhlIGhhbmRsaW5nIG9mIHNwZWNpYWwgbWV0aG9kcyAodGhlXG5zcGVjaWFsIG1ldGhvZCAqbXVzdCogYmUgc2V0IG9uIHRoZSBjbGFzcyBvYmplY3QgaXRzZWxmIGluIG9yZGVyIHRvIGJlXG5jb25zaXN0ZW50bHkgaW52b2tlZCBieSB0aGUgaW50ZXJwcmV0ZXIpLlxuXG4tWyBGb290bm90ZXMgXS1cblxuWzFdIEl0ICppcyogcG9zc2libGUgaW4gc29tZSBjYXNlcyB0byBjaGFuZ2UgYW4gb2JqZWN0XCdzIHR5cGUsXG4gICAgdW5kZXIgY2VydGFpbiBjb250cm9sbGVkIGNvbmRpdGlvbnMuIEl0IGdlbmVyYWxseSBpc25cJ3QgYSBnb29kXG4gICAgaWRlYSB0aG91Z2gsIHNpbmNlIGl0IGNhbiBsZWFkIHRvIHNvbWUgdmVyeSBzdHJhbmdlIGJlaGF2aW91ciBpZlxuICAgIGl0IGlzIGhhbmRsZWQgaW5jb3JyZWN0bHkuXG5cblsyXSBGb3Igb3BlcmFuZHMgb2YgdGhlIHNhbWUgdHlwZSwgaXQgaXMgYXNzdW1lZCB0aGF0IGlmIHRoZSBub24tXG4gICAgcmVmbGVjdGVkIG1ldGhvZCAoc3VjaCBhcyAiX19hZGRfXygpIikgZmFpbHMgdGhlIG9wZXJhdGlvbiBpcyBub3RcbiAgICBzdXBwb3J0ZWQsIHdoaWNoIGlzIHdoeSB0aGUgcmVmbGVjdGVkIG1ldGhvZCBpcyBub3QgY2FsbGVkLlxuJywKKyAnc3BlY2lhbG5hbWVzJzogdSdcblNwZWNpYWwgbWV0aG9kIG5hbWVzXG4qKioqKioqKioqKioqKioqKioqKlxuXG5BIGNsYXNzIGNhbiBpbXBsZW1lbnQgY2VydGFpbiBvcGVyYXRpb25zIHRoYXQgYXJlIGludm9rZWQgYnkgc3BlY2lhbFxuc3ludGF4IChzdWNoIGFzIGFyaXRobWV0aWMgb3BlcmF0aW9ucyBvciBzdWJzY3JpcHRpbmcgYW5kIHNsaWNpbmcpIGJ5XG5kZWZpbmluZyBtZXRob2RzIHdpdGggc3BlY2lhbCBuYW1lcy4gVGhpcyBpcyBQeXRob25cJ3MgYXBwcm9hY2ggdG9cbipvcGVyYXRvciBvdmVybG9hZGluZyosIGFsbG93aW5nIGNsYXNzZXMgdG8gZGVmaW5lIHRoZWlyIG93biBiZWhhdmlvclxud2l0aCByZXNwZWN0IHRvIGxhbmd1YWdlIG9wZXJhdG9ycy4gIEZvciBpbnN0YW5jZSwgaWYgYSBjbGFzcyBkZWZpbmVzXG5hIG1ldGhvZCBuYW1lZCAiX19nZXRpdGVtX18oKSIsIGFuZCAieCIgaXMgYW4gaW5zdGFuY2Ugb2YgdGhpcyBjbGFzcyxcbnRoZW4gInhbaV0iIGlzIHJvdWdobHkgZXF1aXZhbGVudCB0byAidHlwZSh4KS5fX2dldGl0ZW1fXyh4LCBpKSIuXG5FeGNlcHQgd2hlcmUgbWVudGlvbmVkLCBhdHRlbXB0cyB0byBleGVjdXRlIGFuIG9wZXJhdGlvbiByYWlzZSBhblxuZXhjZXB0aW9uIHdoZW4gbm8gYXBwcm9wcmlhdGUgbWV0aG9kIGlzIGRlZmluZWQgKHR5cGljYWxseVxuIkF0dHJpYnV0ZUVycm9yIiBvciAiVHlwZUVycm9yIikuXG5cbldoZW4gaW1wbGVtZW50aW5nIGEgY2xhc3MgdGhhdCBlbXVsYXRlcyBhbnkgYnVpbHQtaW4gdHlwZSwgaXQgaXNcbmltcG9ydGFudCB0aGF0IHRoZSBlbXVsYXRpb24gb25seSBiZSBpbXBsZW1lbnRlZCB0byB0aGUgZGVncmVlIHRoYXQgaXRcbm1ha2VzIHNlbnNlIGZvciB0aGUgb2JqZWN0IGJlaW5nIG1vZGVsbGVkLiAgRm9yIGV4YW1wbGUsIHNvbWVcbnNlcXVlbmNlcyBtYXkgd29yayB3ZWxsIHdpdGggcmV0cmlldmFsIG9mIGluZGl2aWR1YWwgZWxlbWVudHMsIGJ1dFxuZXh0cmFjdGluZyBhIHNsaWNlIG1heSBub3QgbWFrZSBzZW5zZS4gIChPbmUgZXhhbXBsZSBvZiB0aGlzIGlzIHRoZVxuIk5vZGVMaXN0IiBpbnRlcmZhY2UgaW4gdGhlIFczQ1wncyBEb2N1bWVudCBPYmplY3QgTW9kZWwuKVxuXG5cbkJhc2ljIGN1c3RvbWl6YXRpb25cbj09PT09PT09PT09PT09PT09PT1cblxub2JqZWN0Ll9fbmV3X18oY2xzWywgLi4uXSlcblxuICAgQ2FsbGVkIHRvIGNyZWF0ZSBhIG5ldyBpbnN0YW5jZSBvZiBjbGFzcyAqY2xzKi4gICJfX25ld19fKCkiIGlzIGFcbiAgIHN0YXRpYyBtZXRob2QgKHNwZWNpYWwtY2FzZWQgc28geW91IG5lZWQgbm90IGRlY2xhcmUgaXQgYXMgc3VjaClcbiAgIHRoYXQgdGFrZXMgdGhlIGNsYXNzIG9mIHdoaWNoIGFuIGluc3RhbmNlIHdhcyByZXF1ZXN0ZWQgYXMgaXRzXG4gICBmaXJzdCBhcmd1bWVudC4gIFRoZSByZW1haW5pbmcgYXJndW1lbnRzIGFyZSB0aG9zZSBwYXNzZWQgdG8gdGhlXG4gICBvYmplY3QgY29uc3RydWN0b3IgZXhwcmVzc2lvbiAodGhlIGNhbGwgdG8gdGhlIGNsYXNzKS4gIFRoZSByZXR1cm5cbiAgIHZhbHVlIG9mICJfX25ld19fKCkiIHNob3VsZCBiZSB0aGUgbmV3IG9iamVjdCBpbnN0YW5jZSAodXN1YWxseSBhblxuICAgaW5zdGFuY2Ugb2YgKmNscyopLlxuXG4gICBUeXBpY2FsIGltcGxlbWVudGF0aW9ucyBjcmVhdGUgYSBuZXcgaW5zdGFuY2Ugb2YgdGhlIGNsYXNzIGJ5XG4gICBpbnZva2luZyB0aGUgc3VwZXJjbGFzc1wncyAiX19uZXdfXygpIiBtZXRob2QgdXNpbmdcbiAgICJzdXBlcihjdXJyZW50Y2xhc3MsIGNscykuX19uZXdfXyhjbHNbLCAuLi5dKSIgd2l0aCBhcHByb3ByaWF0ZVxuICAgYXJndW1lbnRzIGFuZCB0aGVuIG1vZGlmeWluZyB0aGUgbmV3bHktY3JlYXRlZCBpbnN0YW5jZSBhc1xuICAgbmVjZXNzYXJ5IGJlZm9yZSByZXR1cm5pbmcgaXQuXG5cbiAgIElmICJfX25ld19fKCkiIHJldHVybnMgYW4gaW5zdGFuY2Ugb2YgKmNscyosIHRoZW4gdGhlIG5ld1xuICAgaW5zdGFuY2VcJ3MgIl9faW5pdF9fKCkiIG1ldGhvZCB3aWxsIGJlIGludm9rZWQgbGlrZVxuICAgIl9faW5pdF9fKHNlbGZbLCAuLi5dKSIsIHdoZXJlICpzZWxmKiBpcyB0aGUgbmV3IGluc3RhbmNlIGFuZCB0aGVcbiAgIHJlbWFpbmluZyBhcmd1bWVudHMgYXJlIHRoZSBzYW1lIGFzIHdlcmUgcGFzc2VkIHRvICJfX25ld19fKCkiLlxuXG4gICBJZiAiX19uZXdfXygpIiBkb2VzIG5vdCByZXR1cm4gYW4gaW5zdGFuY2Ugb2YgKmNscyosIHRoZW4gdGhlIG5ld1xuICAgaW5zdGFuY2VcJ3MgIl9faW5pdF9fKCkiIG1ldGhvZCB3aWxsIG5vdCBiZSBpbnZva2VkLlxuXG4gICAiX19uZXdfXygpIiBpcyBpbnRlbmRlZCBtYWlubHkgdG8gYWxsb3cgc3ViY2xhc3NlcyBvZiBpbW11dGFibGVcbiAgIHR5cGVzIChsaWtlIGludCwgc3RyLCBvciB0dXBsZSkgdG8gY3VzdG9taXplIGluc3RhbmNlIGNyZWF0aW9uLiAgSXRcbiAgIGlzIGFsc28gY29tbW9ubHkgb3ZlcnJpZGRlbiBpbiBjdXN0b20gbWV0YWNsYXNzZXMgaW4gb3JkZXIgdG9cbiAgIGN1c3RvbWl6ZSBjbGFzcyBjcmVhdGlvbi5cblxub2JqZWN0Ll9faW5pdF9fKHNlbGZbLCAuLi5dKVxuXG4gICBDYWxsZWQgYWZ0ZXIgdGhlIGluc3RhbmNlIGhhcyBiZWVuIGNyZWF0ZWQgKGJ5ICJfX25ld19fKCkiKSwgYnV0XG4gICBiZWZvcmUgaXQgaXMgcmV0dXJuZWQgdG8gdGhlIGNhbGxlci4gIFRoZSBhcmd1bWVudHMgYXJlIHRob3NlXG4gICBwYXNzZWQgdG8gdGhlIGNsYXNzIGNvbnN0cnVjdG9yIGV4cHJlc3Npb24uICBJZiBhIGJhc2UgY2xhc3MgaGFzIGFuXG4gICAiX19pbml0X18oKSIgbWV0aG9kLCB0aGUgZGVyaXZlZCBjbGFzc1wncyAiX19pbml0X18oKSIgbWV0aG9kLCBpZlxuICAgYW55LCBtdXN0IGV4cGxpY2l0bHkgY2FsbCBpdCB0byBlbnN1cmUgcHJvcGVyIGluaXRpYWxpemF0aW9uIG9mIHRoZVxuICAgYmFzZSBjbGFzcyBwYXJ0IG9mIHRoZSBpbnN0YW5jZTsgZm9yIGV4YW1wbGU6XG4gICAiQmFzZUNsYXNzLl9faW5pdF9fKHNlbGYsIFthcmdzLi4uXSkiLlxuXG4gICBCZWNhdXNlICJfX25ld19fKCkiIGFuZCAiX19pbml0X18oKSIgd29yayB0b2dldGhlciBpbiBjb25zdHJ1Y3RpbmdcbiAgIG9iamVjdHMgKCJfX25ld19fKCkiIHRvIGNyZWF0ZSBpdCwgYW5kICJfX2luaXRfXygpIiB0byBjdXN0b21pc2VcbiAgIGl0KSwgbm8gbm9uLSJOb25lIiB2YWx1ZSBtYXkgYmUgcmV0dXJuZWQgYnkgIl9faW5pdF9fKCkiOyBkb2luZyBzb1xuICAgd2lsbCBjYXVzZSBhICJUeXBlRXJyb3IiIHRvIGJlIHJhaXNlZCBhdCBydW50aW1lLlxuXG5vYmplY3QuX19kZWxfXyhzZWxmKVxuXG4gICBDYWxsZWQgd2hlbiB0aGUgaW5zdGFuY2UgaXMgYWJvdXQgdG8gYmUgZGVzdHJveWVkLiAgVGhpcyBpcyBhbHNvXG4gICBjYWxsZWQgYSBkZXN0cnVjdG9yLiAgSWYgYSBiYXNlIGNsYXNzIGhhcyBhICJfX2RlbF9fKCkiIG1ldGhvZCwgdGhlXG4gICBkZXJpdmVkIGNsYXNzXCdzICJfX2RlbF9fKCkiIG1ldGhvZCwgaWYgYW55LCBtdXN0IGV4cGxpY2l0bHkgY2FsbCBpdFxuICAgdG8gZW5zdXJlIHByb3BlciBkZWxldGlvbiBvZiB0aGUgYmFzZSBjbGFzcyBwYXJ0IG9mIHRoZSBpbnN0YW5jZS5cbiAgIE5vdGUgdGhhdCBpdCBpcyBwb3NzaWJsZSAodGhvdWdoIG5vdCByZWNvbW1lbmRlZCEpIGZvciB0aGVcbiAgICJfX2RlbF9fKCkiIG1ldGhvZCB0byBwb3N0cG9uZSBkZXN0cnVjdGlvbiBvZiB0aGUgaW5zdGFuY2UgYnlcbiAgIGNyZWF0aW5nIGEgbmV3IHJlZmVyZW5jZSB0byBpdC4gIEl0IG1heSB0aGVuIGJlIGNhbGxlZCBhdCBhIGxhdGVyXG4gICB0aW1lIHdoZW4gdGhpcyBuZXcgcmVmZXJlbmNlIGlzIGRlbGV0ZWQuICBJdCBpcyBub3QgZ3VhcmFudGVlZCB0aGF0XG4gICAiX19kZWxfXygpIiBtZXRob2RzIGFyZSBjYWxsZWQgZm9yIG9iamVjdHMgdGhhdCBzdGlsbCBleGlzdCB3aGVuXG4gICB0aGUgaW50ZXJwcmV0ZXIgZXhpdHMuXG5cbiAgIE5vdGU6ICJkZWwgeCIgZG9lc25cJ3QgZGlyZWN0bHkgY2FsbCAieC5fX2RlbF9fKCkiIC0tLSB0aGUgZm9ybWVyXG4gICAgIGRlY3JlbWVudHMgdGhlIHJlZmVyZW5jZSBjb3VudCBmb3IgIngiIGJ5IG9uZSwgYW5kIHRoZSBsYXR0ZXIgaXNcbiAgICAgb25seSBjYWxsZWQgd2hlbiAieCJcJ3MgcmVmZXJlbmNlIGNvdW50IHJlYWNoZXMgemVyby4gIFNvbWUgY29tbW9uXG4gICAgIHNpdHVhdGlvbnMgdGhhdCBtYXkgcHJldmVudCB0aGUgcmVmZXJlbmNlIGNvdW50IG9mIGFuIG9iamVjdCBmcm9tXG4gICAgIGdvaW5nIHRvIHplcm8gaW5jbHVkZTogY2lyY3VsYXIgcmVmZXJlbmNlcyBiZXR3ZWVuIG9iamVjdHMgKGUuZy4sXG4gICAgIGEgZG91Ymx5LWxpbmtlZCBsaXN0IG9yIGEgdHJlZSBkYXRhIHN0cnVjdHVyZSB3aXRoIHBhcmVudCBhbmRcbiAgICAgY2hpbGQgcG9pbnRlcnMpOyBhIHJlZmVyZW5jZSB0byB0aGUgb2JqZWN0IG9uIHRoZSBzdGFjayBmcmFtZSBvZlxuICAgICBhIGZ1bmN0aW9uIHRoYXQgY2F1Z2h0IGFuIGV4Y2VwdGlvbiAodGhlIHRyYWNlYmFjayBzdG9yZWQgaW5cbiAgICAgInN5cy5leGNfaW5mbygpWzJdIiBrZWVwcyB0aGUgc3RhY2sgZnJhbWUgYWxpdmUpOyBvciBhIHJlZmVyZW5jZVxuICAgICB0byB0aGUgb2JqZWN0IG9uIHRoZSBzdGFjayBmcmFtZSB0aGF0IHJhaXNlZCBhbiB1bmhhbmRsZWRcbiAgICAgZXhjZXB0aW9uIGluIGludGVyYWN0aXZlIG1vZGUgKHRoZSB0cmFjZWJhY2sgc3RvcmVkIGluXG4gICAgICJzeXMubGFzdF90cmFjZWJhY2siIGtlZXBzIHRoZSBzdGFjayBmcmFtZSBhbGl2ZSkuICBUaGUgZmlyc3RcbiAgICAgc2l0dWF0aW9uIGNhbiBvbmx5IGJlIHJlbWVkaWVkIGJ5IGV4cGxpY2l0bHkgYnJlYWtpbmcgdGhlIGN5Y2xlcztcbiAgICAgdGhlIHNlY29uZCBjYW4gYmUgcmVzb2x2ZWQgYnkgZnJlZWluZyB0aGUgcmVmZXJlbmNlIHRvIHRoZVxuICAgICB0cmFjZWJhY2sgb2JqZWN0IHdoZW4gaXQgaXMgbm8gbG9uZ2VyIHVzZWZ1bCwgYW5kIHRoZSB0aGlyZCBjYW5cbiAgICAgYmUgcmVzb2x2ZWQgYnkgc3RvcmluZyAiTm9uZSIgaW4gInN5cy5sYXN0X3RyYWNlYmFjayIuIENpcmN1bGFyXG4gICAgIHJlZmVyZW5jZXMgd2hpY2ggYXJlIGdhcmJhZ2UgYXJlIGRldGVjdGVkIGFuZCBjbGVhbmVkIHVwIHdoZW4gdGhlXG4gICAgIGN5Y2xpYyBnYXJiYWdlIGNvbGxlY3RvciBpcyBlbmFibGVkIChpdFwncyBvbiBieSBkZWZhdWx0KS4gUmVmZXJcbiAgICAgdG8gdGhlIGRvY3VtZW50YXRpb24gZm9yIHRoZSAiZ2MiIG1vZHVsZSBmb3IgbW9yZSBpbmZvcm1hdGlvblxuICAgICBhYm91dCB0aGlzIHRvcGljLlxuXG4gICBXYXJuaW5nOiBEdWUgdG8gdGhlIHByZWNhcmlvdXMgY2lyY3Vtc3RhbmNlcyB1bmRlciB3aGljaFxuICAgICAiX19kZWxfXygpIiBtZXRob2RzIGFyZSBpbnZva2VkLCBleGNlcHRpb25zIHRoYXQgb2NjdXIgZHVyaW5nXG4gICAgIHRoZWlyIGV4ZWN1dGlvbiBhcmUgaWdub3JlZCwgYW5kIGEgd2FybmluZyBpcyBwcmludGVkIHRvXG4gICAgICJzeXMuc3RkZXJyIiBpbnN0ZWFkLiBBbHNvLCB3aGVuICJfX2RlbF9fKCkiIGlzIGludm9rZWQgaW5cbiAgICAgcmVzcG9uc2UgdG8gYSBtb2R1bGUgYmVpbmcgZGVsZXRlZCAoZS5nLiwgd2hlbiBleGVjdXRpb24gb2YgdGhlXG4gICAgIHByb2dyYW0gaXMgZG9uZSksIG90aGVyIGdsb2JhbHMgcmVmZXJlbmNlZCBieSB0aGUgIl9fZGVsX18oKSJcbiAgICAgbWV0aG9kIG1heSBhbHJlYWR5IGhhdmUgYmVlbiBkZWxldGVkIG9yIGluIHRoZSBwcm9jZXNzIG9mIGJlaW5nXG4gICAgIHRvcm4gZG93biAoZS5nLiB0aGUgaW1wb3J0IG1hY2hpbmVyeSBzaHV0dGluZyBkb3duKS4gIEZvciB0aGlzXG4gICAgIHJlYXNvbiwgIl9fZGVsX18oKSIgbWV0aG9kcyBzaG91bGQgZG8gdGhlIGFic29sdXRlIG1pbmltdW0gbmVlZGVkXG4gICAgIHRvIG1haW50YWluIGV4dGVybmFsIGludmFyaWFudHMuICBTdGFydGluZyB3aXRoIHZlcnNpb24gMS41LFxuICAgICBQeXRob24gZ3VhcmFudGVlcyB0aGF0IGdsb2JhbHMgd2hvc2UgbmFtZSBiZWdpbnMgd2l0aCBhIHNpbmdsZVxuICAgICB1bmRlcnNjb3JlIGFyZSBkZWxldGVkIGZyb20gdGhlaXIgbW9kdWxlIGJlZm9yZSBvdGhlciBnbG9iYWxzIGFyZVxuICAgICBkZWxldGVkOyBpZiBubyBvdGhlciByZWZlcmVuY2VzIHRvIHN1Y2ggZ2xvYmFscyBleGlzdCwgdGhpcyBtYXlcbiAgICAgaGVscCBpbiBhc3N1cmluZyB0aGF0IGltcG9ydGVkIG1vZHVsZXMgYXJlIHN0aWxsIGF2YWlsYWJsZSBhdCB0aGVcbiAgICAgdGltZSB3aGVuIHRoZSAiX19kZWxfXygpIiBtZXRob2QgaXMgY2FsbGVkLlxuXG5vYmplY3QuX19yZXByX18oc2VsZilcblxuICAgQ2FsbGVkIGJ5IHRoZSAicmVwcigpIiBidWlsdC1pbiBmdW5jdGlvbiB0byBjb21wdXRlIHRoZSAib2ZmaWNpYWwiXG4gICBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgYW4gb2JqZWN0LiAgSWYgYXQgYWxsIHBvc3NpYmxlLCB0aGlzXG4gICBzaG91bGQgbG9vayBsaWtlIGEgdmFsaWQgUHl0aG9uIGV4cHJlc3Npb24gdGhhdCBjb3VsZCBiZSB1c2VkIHRvXG4gICByZWNyZWF0ZSBhbiBvYmplY3Qgd2l0aCB0aGUgc2FtZSB2YWx1ZSAoZ2l2ZW4gYW4gYXBwcm9wcmlhdGVcbiAgIGVudmlyb25tZW50KS4gIElmIHRoaXMgaXMgbm90IHBvc3NpYmxlLCBhIHN0cmluZyBvZiB0aGUgZm9ybVxuICAgIjwuLi5zb21lIHVzZWZ1bCBkZXNjcmlwdGlvbi4uLj4iIHNob3VsZCBiZSByZXR1cm5lZC4gVGhlIHJldHVyblxuICAgdmFsdWUgbXVzdCBiZSBhIHN0cmluZyBvYmplY3QuIElmIGEgY2xhc3MgZGVmaW5lcyAiX19yZXByX18oKSIgYnV0XG4gICBub3QgIl9fc3RyX18oKSIsIHRoZW4gIl9fcmVwcl9fKCkiIGlzIGFsc28gdXNlZCB3aGVuIGFuICJpbmZvcm1hbCJcbiAgIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiBpbnN0YW5jZXMgb2YgdGhhdCBjbGFzcyBpcyByZXF1aXJlZC5cblxuICAgVGhpcyBpcyB0eXBpY2FsbHkgdXNlZCBmb3IgZGVidWdnaW5nLCBzbyBpdCBpcyBpbXBvcnRhbnQgdGhhdCB0aGVcbiAgIHJlcHJlc2VudGF0aW9uIGlzIGluZm9ybWF0aW9uLXJpY2ggYW5kIHVuYW1iaWd1b3VzLlxuXG5vYmplY3QuX19zdHJfXyhzZWxmKVxuXG4gICBDYWxsZWQgYnkgInN0cihvYmplY3QpIiBhbmQgdGhlIGJ1aWx0LWluIGZ1bmN0aW9ucyAiZm9ybWF0KCkiIGFuZFxuICAgInByaW50KCkiIHRvIGNvbXB1dGUgdGhlICJpbmZvcm1hbCIgb3IgbmljZWx5IHByaW50YWJsZSBzdHJpbmdcbiAgIHJlcHJlc2VudGF0aW9uIG9mIGFuIG9iamVjdC4gIFRoZSByZXR1cm4gdmFsdWUgbXVzdCBiZSBhICpzdHJpbmcqXG4gICBvYmplY3QuXG5cbiAgIFRoaXMgbWV0aG9kIGRpZmZlcnMgZnJvbSAib2JqZWN0Ll9fcmVwcl9fKCkiIGluIHRoYXQgdGhlcmUgaXMgbm9cbiAgIGV4cGVjdGF0aW9uIHRoYXQgIl9fc3RyX18oKSIgcmV0dXJuIGEgdmFsaWQgUHl0aG9uIGV4cHJlc3Npb246IGFcbiAgIG1vcmUgY29udmVuaWVudCBvciBjb25jaXNlIHJlcHJlc2VudGF0aW9uIGNhbiBiZSB1c2VkLlxuXG4gICBUaGUgZGVmYXVsdCBpbXBsZW1lbnRhdGlvbiBkZWZpbmVkIGJ5IHRoZSBidWlsdC1pbiB0eXBlICJvYmplY3QiXG4gICBjYWxscyAib2JqZWN0Ll9fcmVwcl9fKCkiLlxuXG5vYmplY3QuX19ieXRlc19fKHNlbGYpXG5cbiAgIENhbGxlZCBieSAiYnl0ZXMoKSIgdG8gY29tcHV0ZSBhIGJ5dGUtc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIGFuXG4gICBvYmplY3QuIFRoaXMgc2hvdWxkIHJldHVybiBhICJieXRlcyIgb2JqZWN0LlxuXG5vYmplY3QuX19mb3JtYXRfXyhzZWxmLCBmb3JtYXRfc3BlYylcblxuICAgQ2FsbGVkIGJ5IHRoZSAiZm9ybWF0KCkiIGJ1aWx0LWluIGZ1bmN0aW9uIChhbmQgYnkgZXh0ZW5zaW9uLCB0aGVcbiAgICJzdHIuZm9ybWF0KCkiIG1ldGhvZCBvZiBjbGFzcyAic3RyIikgdG8gcHJvZHVjZSBhICJmb3JtYXR0ZWQiXG4gICBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgYW4gb2JqZWN0LiBUaGUgImZvcm1hdF9zcGVjIiBhcmd1bWVudCBpcyBhXG4gICBzdHJpbmcgdGhhdCBjb250YWlucyBhIGRlc2NyaXB0aW9uIG9mIHRoZSBmb3JtYXR0aW5nIG9wdGlvbnNcbiAgIGRlc2lyZWQuIFRoZSBpbnRlcnByZXRhdGlvbiBvZiB0aGUgImZvcm1hdF9zcGVjIiBhcmd1bWVudCBpcyB1cCB0b1xuICAgdGhlIHR5cGUgaW1wbGVtZW50aW5nICJfX2Zvcm1hdF9fKCkiLCBob3dldmVyIG1vc3QgY2xhc3NlcyB3aWxsXG4gICBlaXRoZXIgZGVsZWdhdGUgZm9ybWF0dGluZyB0byBvbmUgb2YgdGhlIGJ1aWx0LWluIHR5cGVzLCBvciB1c2UgYVxuICAgc2ltaWxhciBmb3JtYXR0aW5nIG9wdGlvbiBzeW50YXguXG5cbiAgIFNlZSAqRm9ybWF0IFNwZWNpZmljYXRpb24gTWluaS1MYW5ndWFnZSogZm9yIGEgZGVzY3JpcHRpb24gb2YgdGhlXG4gICBzdGFuZGFyZCBmb3JtYXR0aW5nIHN5bnRheC5cblxuICAgVGhlIHJldHVybiB2YWx1ZSBtdXN0IGJlIGEgc3RyaW5nIG9iamVjdC5cblxuICAgQ2hhbmdlZCBpbiB2ZXJzaW9uIDMuNDogVGhlIF9fZm9ybWF0X18gbWV0aG9kIG9mICJvYmplY3QiIGl0c2VsZlxuICAgcmFpc2VzIGEgIlR5cGVFcnJvciIgaWYgcGFzc2VkIGFueSBub24tZW1wdHkgc3RyaW5nLlxuXG5vYmplY3QuX19sdF9fKHNlbGYsIG90aGVyKVxub2JqZWN0Ll9fbGVfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX2VxX18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19uZV9fKHNlbGYsIG90aGVyKVxub2JqZWN0Ll9fZ3RfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX2dlX18oc2VsZiwgb3RoZXIpXG5cbiAgIFRoZXNlIGFyZSB0aGUgc28tY2FsbGVkICJyaWNoIGNvbXBhcmlzb24iIG1ldGhvZHMuIFRoZVxuICAgY29ycmVzcG9uZGVuY2UgYmV0d2VlbiBvcGVyYXRvciBzeW1ib2xzIGFuZCBtZXRob2QgbmFtZXMgaXMgYXNcbiAgIGZvbGxvd3M6ICJ4PHkiIGNhbGxzICJ4Ll9fbHRfXyh5KSIsICJ4PD15IiBjYWxscyAieC5fX2xlX18oeSkiLFxuICAgIng9PXkiIGNhbGxzICJ4Ll9fZXFfXyh5KSIsICJ4IT15IiBjYWxscyAieC5fX25lX18oeSkiLCAieD55IiBjYWxsc1xuICAgInguX19ndF9fKHkpIiwgYW5kICJ4Pj15IiBjYWxscyAieC5fX2dlX18oeSkiLlxuXG4gICBBIHJpY2ggY29tcGFyaXNvbiBtZXRob2QgbWF5IHJldHVybiB0aGUgc2luZ2xldG9uICJOb3RJbXBsZW1lbnRlZCJcbiAgIGlmIGl0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgb3BlcmF0aW9uIGZvciBhIGdpdmVuIHBhaXIgb2ZcbiAgIGFyZ3VtZW50cy4gQnkgY29udmVudGlvbiwgIkZhbHNlIiBhbmQgIlRydWUiIGFyZSByZXR1cm5lZCBmb3IgYVxuICAgc3VjY2Vzc2Z1bCBjb21wYXJpc29uLiBIb3dldmVyLCB0aGVzZSBtZXRob2RzIGNhbiByZXR1cm4gYW55IHZhbHVlLFxuICAgc28gaWYgdGhlIGNvbXBhcmlzb24gb3BlcmF0b3IgaXMgdXNlZCBpbiBhIEJvb2xlYW4gY29udGV4dCAoZS5nLixcbiAgIGluIHRoZSBjb25kaXRpb24gb2YgYW4gImlmIiBzdGF0ZW1lbnQpLCBQeXRob24gd2lsbCBjYWxsICJib29sKCkiXG4gICBvbiB0aGUgdmFsdWUgdG8gZGV0ZXJtaW5lIGlmIHRoZSByZXN1bHQgaXMgdHJ1ZSBvciBmYWxzZS5cblxuICAgVGhlcmUgYXJlIG5vIGltcGxpZWQgcmVsYXRpb25zaGlwcyBhbW9uZyB0aGUgY29tcGFyaXNvbiBvcGVyYXRvcnMuXG4gICBUaGUgdHJ1dGggb2YgIng9PXkiIGRvZXMgbm90IGltcGx5IHRoYXQgInghPXkiIGlzIGZhbHNlLlxuICAgQWNjb3JkaW5nbHksIHdoZW4gZGVmaW5pbmcgIl9fZXFfXygpIiwgb25lIHNob3VsZCBhbHNvIGRlZmluZVxuICAgIl9fbmVfXygpIiBzbyB0aGF0IHRoZSBvcGVyYXRvcnMgd2lsbCBiZWhhdmUgYXMgZXhwZWN0ZWQuICBTZWUgdGhlXG4gICBwYXJhZ3JhcGggb24gIl9faGFzaF9fKCkiIGZvciBzb21lIGltcG9ydGFudCBub3RlcyBvbiBjcmVhdGluZ1xuICAgKmhhc2hhYmxlKiBvYmplY3RzIHdoaWNoIHN1cHBvcnQgY3VzdG9tIGNvbXBhcmlzb24gb3BlcmF0aW9ucyBhbmRcbiAgIGFyZSB1c2FibGUgYXMgZGljdGlvbmFyeSBrZXlzLlxuXG4gICBUaGVyZSBhcmUgbm8gc3dhcHBlZC1hcmd1bWVudCB2ZXJzaW9ucyBvZiB0aGVzZSBtZXRob2RzICh0byBiZSB1c2VkXG4gICB3aGVuIHRoZSBsZWZ0IGFyZ3VtZW50IGRvZXMgbm90IHN1cHBvcnQgdGhlIG9wZXJhdGlvbiBidXQgdGhlIHJpZ2h0XG4gICBhcmd1bWVudCBkb2VzKTsgcmF0aGVyLCAiX19sdF9fKCkiIGFuZCAiX19ndF9fKCkiIGFyZSBlYWNoIG90aGVyXCdzXG4gICByZWZsZWN0aW9uLCAiX19sZV9fKCkiIGFuZCAiX19nZV9fKCkiIGFyZSBlYWNoIG90aGVyXCdzIHJlZmxlY3Rpb24sXG4gICBhbmQgIl9fZXFfXygpIiBhbmQgIl9fbmVfXygpIiBhcmUgdGhlaXIgb3duIHJlZmxlY3Rpb24uXG5cbiAgIEFyZ3VtZW50cyB0byByaWNoIGNvbXBhcmlzb24gbWV0aG9kcyBhcmUgbmV2ZXIgY29lcmNlZC5cblxuICAgVG8gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBvcmRlcmluZyBvcGVyYXRpb25zIGZyb20gYSBzaW5nbGUgcm9vdFxuICAgb3BlcmF0aW9uLCBzZWUgImZ1bmN0b29scy50b3RhbF9vcmRlcmluZygpIi5cblxub2JqZWN0Ll9faGFzaF9fKHNlbGYpXG5cbiAgIENhbGxlZCBieSBidWlsdC1pbiBmdW5jdGlvbiAiaGFzaCgpIiBhbmQgZm9yIG9wZXJhdGlvbnMgb24gbWVtYmVyc1xuICAgb2YgaGFzaGVkIGNvbGxlY3Rpb25zIGluY2x1ZGluZyAic2V0IiwgImZyb3plbnNldCIsIGFuZCAiZGljdCIuXG4gICAiX19oYXNoX18oKSIgc2hvdWxkIHJldHVybiBhbiBpbnRlZ2VyLiAgVGhlIG9ubHkgcmVxdWlyZWQgcHJvcGVydHlcbiAgIGlzIHRoYXQgb2JqZWN0cyB3aGljaCBjb21wYXJlIGVxdWFsIGhhdmUgdGhlIHNhbWUgaGFzaCB2YWx1ZTsgaXQgaXNcbiAgIGFkdmlzZWQgdG8gc29tZWhvdyBtaXggdG9nZXRoZXIgKGUuZy4gdXNpbmcgZXhjbHVzaXZlIG9yKSB0aGUgaGFzaFxuICAgdmFsdWVzIGZvciB0aGUgY29tcG9uZW50cyBvZiB0aGUgb2JqZWN0IHRoYXQgYWxzbyBwbGF5IGEgcGFydCBpblxuICAgY29tcGFyaXNvbiBvZiBvYmplY3RzLlxuXG4gICBOb3RlOiAiaGFzaCgpIiB0cnVuY2F0ZXMgdGhlIHZhbHVlIHJldHVybmVkIGZyb20gYW4gb2JqZWN0XCdzXG4gICAgIGN1c3RvbSAiX19oYXNoX18oKSIgbWV0aG9kIHRvIHRoZSBzaXplIG9mIGEgIlB5X3NzaXplX3QiLiAgVGhpc1xuICAgICBpcyB0eXBpY2FsbHkgOCBieXRlcyBvbiA2NC1iaXQgYnVpbGRzIGFuZCA0IGJ5dGVzIG9uIDMyLWJpdFxuICAgICBidWlsZHMuIElmIGFuIG9iamVjdFwncyAgICJfX2hhc2hfXygpIiBtdXN0IGludGVyb3BlcmF0ZSBvbiBidWlsZHNcbiAgICAgb2YgZGlmZmVyZW50IGJpdCBzaXplcywgYmUgc3VyZSB0byBjaGVjayB0aGUgd2lkdGggb24gYWxsXG4gICAgIHN1cHBvcnRlZCBidWlsZHMuICBBbiBlYXN5IHdheSB0byBkbyB0aGlzIGlzIHdpdGggInB5dGhvbiAtY1xuICAgICAiaW1wb3J0IHN5czsgcHJpbnQoc3lzLmhhc2hfaW5mby53aWR0aCkiIlxuXG4gICBJZiBhIGNsYXNzIGRvZXMgbm90IGRlZmluZSBhbiAiX19lcV9fKCkiIG1ldGhvZCBpdCBzaG91bGQgbm90XG4gICBkZWZpbmUgYSAiX19oYXNoX18oKSIgb3BlcmF0aW9uIGVpdGhlcjsgaWYgaXQgZGVmaW5lcyAiX19lcV9fKCkiXG4gICBidXQgbm90ICJfX2hhc2hfXygpIiwgaXRzIGluc3RhbmNlcyB3aWxsIG5vdCBiZSB1c2FibGUgYXMgaXRlbXMgaW5cbiAgIGhhc2hhYmxlIGNvbGxlY3Rpb25zLiAgSWYgYSBjbGFzcyBkZWZpbmVzIG11dGFibGUgb2JqZWN0cyBhbmRcbiAgIGltcGxlbWVudHMgYW4gIl9fZXFfXygpIiBtZXRob2QsIGl0IHNob3VsZCBub3QgaW1wbGVtZW50XG4gICAiX19oYXNoX18oKSIsIHNpbmNlIHRoZSBpbXBsZW1lbnRhdGlvbiBvZiBoYXNoYWJsZSBjb2xsZWN0aW9uc1xuICAgcmVxdWlyZXMgdGhhdCBhIGtleVwncyBoYXNoIHZhbHVlIGlzIGltbXV0YWJsZSAoaWYgdGhlIG9iamVjdFwncyBoYXNoXG4gICB2YWx1ZSBjaGFuZ2VzLCBpdCB3aWxsIGJlIGluIHRoZSB3cm9uZyBoYXNoIGJ1Y2tldCkuXG5cbiAgIFVzZXItZGVmaW5lZCBjbGFzc2VzIGhhdmUgIl9fZXFfXygpIiBhbmQgIl9faGFzaF9fKCkiIG1ldGhvZHMgYnlcbiAgIGRlZmF1bHQ7IHdpdGggdGhlbSwgYWxsIG9iamVjdHMgY29tcGFyZSB1bmVxdWFsIChleGNlcHQgd2l0aFxuICAgdGhlbXNlbHZlcykgYW5kICJ4Ll9faGFzaF9fKCkiIHJldHVybnMgYW4gYXBwcm9wcmlhdGUgdmFsdWUgc3VjaFxuICAgdGhhdCAieCA9PSB5IiBpbXBsaWVzIGJvdGggdGhhdCAieCBpcyB5IiBhbmQgImhhc2goeCkgPT0gaGFzaCh5KSIuXG5cbiAgIEEgY2xhc3MgdGhhdCBvdmVycmlkZXMgIl9fZXFfXygpIiBhbmQgZG9lcyBub3QgZGVmaW5lICJfX2hhc2hfXygpIlxuICAgd2lsbCBoYXZlIGl0cyAiX19oYXNoX18oKSIgaW1wbGljaXRseSBzZXQgdG8gIk5vbmUiLiAgV2hlbiB0aGVcbiAgICJfX2hhc2hfXygpIiBtZXRob2Qgb2YgYSBjbGFzcyBpcyAiTm9uZSIsIGluc3RhbmNlcyBvZiB0aGUgY2xhc3NcbiAgIHdpbGwgcmFpc2UgYW4gYXBwcm9wcmlhdGUgIlR5cGVFcnJvciIgd2hlbiBhIHByb2dyYW0gYXR0ZW1wdHMgdG9cbiAgIHJldHJpZXZlIHRoZWlyIGhhc2ggdmFsdWUsIGFuZCB3aWxsIGFsc28gYmUgY29ycmVjdGx5IGlkZW50aWZpZWQgYXNcbiAgIHVuaGFzaGFibGUgd2hlbiBjaGVja2luZyAiaXNpbnN0YW5jZShvYmosIGNvbGxlY3Rpb25zLkhhc2hhYmxlIikuXG5cbiAgIElmIGEgY2xhc3MgdGhhdCBvdmVycmlkZXMgIl9fZXFfXygpIiBuZWVkcyB0byByZXRhaW4gdGhlXG4gICBpbXBsZW1lbnRhdGlvbiBvZiAiX19oYXNoX18oKSIgZnJvbSBhIHBhcmVudCBjbGFzcywgdGhlIGludGVycHJldGVyXG4gICBtdXN0IGJlIHRvbGQgdGhpcyBleHBsaWNpdGx5IGJ5IHNldHRpbmcgIl9faGFzaF9fID1cbiAgIDxQYXJlbnRDbGFzcz4uX19oYXNoX18iLlxuXG4gICBJZiBhIGNsYXNzIHRoYXQgZG9lcyBub3Qgb3ZlcnJpZGUgIl9fZXFfXygpIiB3aXNoZXMgdG8gc3VwcHJlc3NcbiAgIGhhc2ggc3VwcG9ydCwgaXQgc2hvdWxkIGluY2x1ZGUgIl9faGFzaF9fID0gTm9uZSIgaW4gdGhlIGNsYXNzXG4gICBkZWZpbml0aW9uLiBBIGNsYXNzIHdoaWNoIGRlZmluZXMgaXRzIG93biAiX19oYXNoX18oKSIgdGhhdFxuICAgZXhwbGljaXRseSByYWlzZXMgYSAiVHlwZUVycm9yIiB3b3VsZCBiZSBpbmNvcnJlY3RseSBpZGVudGlmaWVkIGFzXG4gICBoYXNoYWJsZSBieSBhbiAiaXNpbnN0YW5jZShvYmosIGNvbGxlY3Rpb25zLkhhc2hhYmxlKSIgY2FsbC5cblxuICAgTm90ZTogQnkgZGVmYXVsdCwgdGhlICJfX2hhc2hfXygpIiB2YWx1ZXMgb2Ygc3RyLCBieXRlcyBhbmRcbiAgICAgZGF0ZXRpbWUgb2JqZWN0cyBhcmUgInNhbHRlZCIgd2l0aCBhbiB1bnByZWRpY3RhYmxlIHJhbmRvbSB2YWx1ZS5cbiAgICAgQWx0aG91Z2ggdGhleSByZW1haW4gY29uc3RhbnQgd2l0aGluIGFuIGluZGl2aWR1YWwgUHl0aG9uXG4gICAgIHByb2Nlc3MsIHRoZXkgYXJlIG5vdCBwcmVkaWN0YWJsZSBiZXR3ZWVuIHJlcGVhdGVkIGludm9jYXRpb25zIG9mXG4gICAgIFB5dGhvbi5UaGlzIGlzIGludGVuZGVkIHRvIHByb3ZpZGUgcHJvdGVjdGlvbiBhZ2FpbnN0IGEgZGVuaWFsLVxuICAgICBvZi1zZXJ2aWNlIGNhdXNlZCBieSBjYXJlZnVsbHktY2hvc2VuIGlucHV0cyB0aGF0IGV4cGxvaXQgdGhlXG4gICAgIHdvcnN0IGNhc2UgcGVyZm9ybWFuY2Ugb2YgYSBkaWN0IGluc2VydGlvbiwgTyhuXjIpIGNvbXBsZXhpdHkuXG4gICAgIFNlZSBodHRwOi8vd3d3Lm9jZXJ0Lm9yZy9hZHZpc29yaWVzL29jZXJ0LTIwMTEtMDAzLmh0bWwgZm9yXG4gICAgIGRldGFpbHMuQ2hhbmdpbmcgaGFzaCB2YWx1ZXMgYWZmZWN0cyB0aGUgaXRlcmF0aW9uIG9yZGVyIG9mXG4gICAgIGRpY3RzLCBzZXRzIGFuZCBvdGhlciBtYXBwaW5ncy4gIFB5dGhvbiBoYXMgbmV2ZXIgbWFkZSBndWFyYW50ZWVzXG4gICAgIGFib3V0IHRoaXMgb3JkZXJpbmcgKGFuZCBpdCB0eXBpY2FsbHkgdmFyaWVzIGJldHdlZW4gMzItYml0IGFuZFxuICAgICA2NC1iaXQgYnVpbGRzKS5TZWUgYWxzbyAiUFlUSE9OSEFTSFNFRUQiLlxuXG4gICBDaGFuZ2VkIGluIHZlcnNpb24gMy4zOiBIYXNoIHJhbmRvbWl6YXRpb24gaXMgZW5hYmxlZCBieSBkZWZhdWx0LlxuXG5vYmplY3QuX19ib29sX18oc2VsZilcblxuICAgQ2FsbGVkIHRvIGltcGxlbWVudCB0cnV0aCB2YWx1ZSB0ZXN0aW5nIGFuZCB0aGUgYnVpbHQtaW4gb3BlcmF0aW9uXG4gICAiYm9vbCgpIjsgc2hvdWxkIHJldHVybiAiRmFsc2UiIG9yICJUcnVlIi4gIFdoZW4gdGhpcyBtZXRob2QgaXMgbm90XG4gICBkZWZpbmVkLCAiX19sZW5fXygpIiBpcyBjYWxsZWQsIGlmIGl0IGlzIGRlZmluZWQsIGFuZCB0aGUgb2JqZWN0IGlzXG4gICBjb25zaWRlcmVkIHRydWUgaWYgaXRzIHJlc3VsdCBpcyBub256ZXJvLiAgSWYgYSBjbGFzcyBkZWZpbmVzXG4gICBuZWl0aGVyICJfX2xlbl9fKCkiIG5vciAiX19ib29sX18oKSIsIGFsbCBpdHMgaW5zdGFuY2VzIGFyZVxuICAgY29uc2lkZXJlZCB0cnVlLlxuXG5cbkN1c3RvbWl6aW5nIGF0dHJpYnV0ZSBhY2Nlc3Ncbj09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuVGhlIGZvbGxvd2luZyBtZXRob2RzIGNhbiBiZSBkZWZpbmVkIHRvIGN1c3RvbWl6ZSB0aGUgbWVhbmluZyBvZlxuYXR0cmlidXRlIGFjY2VzcyAodXNlIG9mLCBhc3NpZ25tZW50IHRvLCBvciBkZWxldGlvbiBvZiAieC5uYW1lIikgZm9yXG5jbGFzcyBpbnN0YW5jZXMuXG5cbm9iamVjdC5fX2dldGF0dHJfXyhzZWxmLCBuYW1lKVxuXG4gICBDYWxsZWQgd2hlbiBhbiBhdHRyaWJ1dGUgbG9va3VwIGhhcyBub3QgZm91bmQgdGhlIGF0dHJpYnV0ZSBpbiB0aGVcbiAgIHVzdWFsIHBsYWNlcyAoaS5lLiBpdCBpcyBub3QgYW4gaW5zdGFuY2UgYXR0cmlidXRlIG5vciBpcyBpdCBmb3VuZFxuICAgaW4gdGhlIGNsYXNzIHRyZWUgZm9yICJzZWxmIikuICAibmFtZSIgaXMgdGhlIGF0dHJpYnV0ZSBuYW1lLiBUaGlzXG4gICBtZXRob2Qgc2hvdWxkIHJldHVybiB0aGUgKGNvbXB1dGVkKSBhdHRyaWJ1dGUgdmFsdWUgb3IgcmFpc2UgYW5cbiAgICJBdHRyaWJ1dGVFcnJvciIgZXhjZXB0aW9uLlxuXG4gICBOb3RlIHRoYXQgaWYgdGhlIGF0dHJpYnV0ZSBpcyBmb3VuZCB0aHJvdWdoIHRoZSBub3JtYWwgbWVjaGFuaXNtLFxuICAgIl9fZ2V0YXR0cl9fKCkiIGlzIG5vdCBjYWxsZWQuICAoVGhpcyBpcyBhbiBpbnRlbnRpb25hbCBhc3ltbWV0cnlcbiAgIGJldHdlZW4gIl9fZ2V0YXR0cl9fKCkiIGFuZCAiX19zZXRhdHRyX18oKSIuKSBUaGlzIGlzIGRvbmUgYm90aCBmb3JcbiAgIGVmZmljaWVuY3kgcmVhc29ucyBhbmQgYmVjYXVzZSBvdGhlcndpc2UgIl9fZ2V0YXR0cl9fKCkiIHdvdWxkIGhhdmVcbiAgIG5vIHdheSB0byBhY2Nlc3Mgb3RoZXIgYXR0cmlidXRlcyBvZiB0aGUgaW5zdGFuY2UuICBOb3RlIHRoYXQgYXRcbiAgIGxlYXN0IGZvciBpbnN0YW5jZSB2YXJpYWJsZXMsIHlvdSBjYW4gZmFrZSB0b3RhbCBjb250cm9sIGJ5IG5vdFxuICAgaW5zZXJ0aW5nIGFueSB2YWx1ZXMgaW4gdGhlIGluc3RhbmNlIGF0dHJpYnV0ZSBkaWN0aW9uYXJ5IChidXRcbiAgIGluc3RlYWQgaW5zZXJ0aW5nIHRoZW0gaW4gYW5vdGhlciBvYmplY3QpLiAgU2VlIHRoZVxuICAgIl9fZ2V0YXR0cmlidXRlX18oKSIgbWV0aG9kIGJlbG93IGZvciBhIHdheSB0byBhY3R1YWxseSBnZXQgdG90YWxcbiAgIGNvbnRyb2wgb3ZlciBhdHRyaWJ1dGUgYWNjZXNzLlxuXG5vYmplY3QuX19nZXRhdHRyaWJ1dGVfXyhzZWxmLCBuYW1lKVxuXG4gICBDYWxsZWQgdW5jb25kaXRpb25hbGx5IHRvIGltcGxlbWVudCBhdHRyaWJ1dGUgYWNjZXNzZXMgZm9yXG4gICBpbnN0YW5jZXMgb2YgdGhlIGNsYXNzLiBJZiB0aGUgY2xhc3MgYWxzbyBkZWZpbmVzICJfX2dldGF0dHJfXygpIixcbiAgIHRoZSBsYXR0ZXIgd2lsbCBub3QgYmUgY2FsbGVkIHVubGVzcyAiX19nZXRhdHRyaWJ1dGVfXygpIiBlaXRoZXJcbiAgIGNhbGxzIGl0IGV4cGxpY2l0bHkgb3IgcmFpc2VzIGFuICJBdHRyaWJ1dGVFcnJvciIuIFRoaXMgbWV0aG9kXG4gICBzaG91bGQgcmV0dXJuIHRoZSAoY29tcHV0ZWQpIGF0dHJpYnV0ZSB2YWx1ZSBvciByYWlzZSBhblxuICAgIkF0dHJpYnV0ZUVycm9yIiBleGNlcHRpb24uIEluIG9yZGVyIHRvIGF2b2lkIGluZmluaXRlIHJlY3Vyc2lvbiBpblxuICAgdGhpcyBtZXRob2QsIGl0cyBpbXBsZW1lbnRhdGlvbiBzaG91bGQgYWx3YXlzIGNhbGwgdGhlIGJhc2UgY2xhc3NcbiAgIG1ldGhvZCB3aXRoIHRoZSBzYW1lIG5hbWUgdG8gYWNjZXNzIGFueSBhdHRyaWJ1dGVzIGl0IG5lZWRzLCBmb3JcbiAgIGV4YW1wbGUsICJvYmplY3QuX19nZXRhdHRyaWJ1dGVfXyhzZWxmLCBuYW1lKSIuXG5cbiAgIE5vdGU6IFRoaXMgbWV0aG9kIG1heSBzdGlsbCBiZSBieXBhc3NlZCB3aGVuIGxvb2tpbmcgdXAgc3BlY2lhbFxuICAgICBtZXRob2RzIGFzIHRoZSByZXN1bHQgb2YgaW1wbGljaXQgaW52b2NhdGlvbiB2aWEgbGFuZ3VhZ2Ugc3ludGF4XG4gICAgIG9yIGJ1aWx0LWluIGZ1bmN0aW9ucy4gU2VlICpTcGVjaWFsIG1ldGhvZCBsb29rdXAqLlxuXG5vYmplY3QuX19zZXRhdHRyX18oc2VsZiwgbmFtZSwgdmFsdWUpXG5cbiAgIENhbGxlZCB3aGVuIGFuIGF0dHJpYnV0ZSBhc3NpZ25tZW50IGlzIGF0dGVtcHRlZC4gIFRoaXMgaXMgY2FsbGVkXG4gICBpbnN0ZWFkIG9mIHRoZSBub3JtYWwgbWVjaGFuaXNtIChpLmUuIHN0b3JlIHRoZSB2YWx1ZSBpbiB0aGVcbiAgIGluc3RhbmNlIGRpY3Rpb25hcnkpLiAqbmFtZSogaXMgdGhlIGF0dHJpYnV0ZSBuYW1lLCAqdmFsdWUqIGlzIHRoZVxuICAgdmFsdWUgdG8gYmUgYXNzaWduZWQgdG8gaXQuXG5cbiAgIElmICJfX3NldGF0dHJfXygpIiB3YW50cyB0byBhc3NpZ24gdG8gYW4gaW5zdGFuY2UgYXR0cmlidXRlLCBpdFxuICAgc2hvdWxkIGNhbGwgdGhlIGJhc2UgY2xhc3MgbWV0aG9kIHdpdGggdGhlIHNhbWUgbmFtZSwgZm9yIGV4YW1wbGUsXG4gICAib2JqZWN0Ll9fc2V0YXR0cl9fKHNlbGYsIG5hbWUsIHZhbHVlKSIuXG5cbm9iamVjdC5fX2RlbGF0dHJfXyhzZWxmLCBuYW1lKVxuXG4gICBMaWtlICJfX3NldGF0dHJfXygpIiBidXQgZm9yIGF0dHJpYnV0ZSBkZWxldGlvbiBpbnN0ZWFkIG9mXG4gICBhc3NpZ25tZW50LiAgVGhpcyBzaG91bGQgb25seSBiZSBpbXBsZW1lbnRlZCBpZiAiZGVsIG9iai5uYW1lIiBpc1xuICAgbWVhbmluZ2Z1bCBmb3IgdGhlIG9iamVjdC5cblxub2JqZWN0Ll9fZGlyX18oc2VsZilcblxuICAgQ2FsbGVkIHdoZW4gImRpcigpIiBpcyBjYWxsZWQgb24gdGhlIG9iamVjdC4gQSBzZXF1ZW5jZSBtdXN0IGJlXG4gICByZXR1cm5lZC4gImRpcigpIiBjb252ZXJ0cyB0aGUgcmV0dXJuZWQgc2VxdWVuY2UgdG8gYSBsaXN0IGFuZFxuICAgc29ydHMgaXQuXG5cblxuSW1wbGVtZW50aW5nIERlc2NyaXB0b3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuVGhlIGZvbGxvd2luZyBtZXRob2RzIG9ubHkgYXBwbHkgd2hlbiBhbiBpbnN0YW5jZSBvZiB0aGUgY2xhc3NcbmNvbnRhaW5pbmcgdGhlIG1ldGhvZCAoYSBzby1jYWxsZWQgKmRlc2NyaXB0b3IqIGNsYXNzKSBhcHBlYXJzIGluIGFuXG4qb3duZXIqIGNsYXNzICh0aGUgZGVzY3JpcHRvciBtdXN0IGJlIGluIGVpdGhlciB0aGUgb3duZXJcJ3MgY2xhc3NcbmRpY3Rpb25hcnkgb3IgaW4gdGhlIGNsYXNzIGRpY3Rpb25hcnkgZm9yIG9uZSBvZiBpdHMgcGFyZW50cykuICBJbiB0aGVcbmV4YW1wbGVzIGJlbG93LCAidGhlIGF0dHJpYnV0ZSIgcmVmZXJzIHRvIHRoZSBhdHRyaWJ1dGUgd2hvc2UgbmFtZSBpc1xudGhlIGtleSBvZiB0aGUgcHJvcGVydHkgaW4gdGhlIG93bmVyIGNsYXNzXCcgIl9fZGljdF9fIi5cblxub2JqZWN0Ll9fZ2V0X18oc2VsZiwgaW5zdGFuY2UsIG93bmVyKVxuXG4gICBDYWxsZWQgdG8gZ2V0IHRoZSBhdHRyaWJ1dGUgb2YgdGhlIG93bmVyIGNsYXNzIChjbGFzcyBhdHRyaWJ1dGVcbiAgIGFjY2Vzcykgb3Igb2YgYW4gaW5zdGFuY2Ugb2YgdGhhdCBjbGFzcyAoaW5zdGFuY2UgYXR0cmlidXRlXG4gICBhY2Nlc3MpLiAqb3duZXIqIGlzIGFsd2F5cyB0aGUgb3duZXIgY2xhc3MsIHdoaWxlICppbnN0YW5jZSogaXMgdGhlXG4gICBpbnN0YW5jZSB0aGF0IHRoZSBhdHRyaWJ1dGUgd2FzIGFjY2Vzc2VkIHRocm91Z2gsIG9yICJOb25lIiB3aGVuXG4gICB0aGUgYXR0cmlidXRlIGlzIGFjY2Vzc2VkIHRocm91Z2ggdGhlICpvd25lciouICBUaGlzIG1ldGhvZCBzaG91bGRcbiAgIHJldHVybiB0aGUgKGNvbXB1dGVkKSBhdHRyaWJ1dGUgdmFsdWUgb3IgcmFpc2UgYW4gIkF0dHJpYnV0ZUVycm9yIlxuICAgZXhjZXB0aW9uLlxuXG5vYmplY3QuX19zZXRfXyhzZWxmLCBpbnN0YW5jZSwgdmFsdWUpXG5cbiAgIENhbGxlZCB0byBzZXQgdGhlIGF0dHJpYnV0ZSBvbiBhbiBpbnN0YW5jZSAqaW5zdGFuY2UqIG9mIHRoZSBvd25lclxuICAgY2xhc3MgdG8gYSBuZXcgdmFsdWUsICp2YWx1ZSouXG5cbm9iamVjdC5fX2RlbGV0ZV9fKHNlbGYsIGluc3RhbmNlKVxuXG4gICBDYWxsZWQgdG8gZGVsZXRlIHRoZSBhdHRyaWJ1dGUgb24gYW4gaW5zdGFuY2UgKmluc3RhbmNlKiBvZiB0aGVcbiAgIG93bmVyIGNsYXNzLlxuXG5UaGUgYXR0cmlidXRlICJfX29iamNsYXNzX18iIGlzIGludGVycHJldGVkIGJ5IHRoZSAiaW5zcGVjdCIgbW9kdWxlIGFzXG5zcGVjaWZ5aW5nIHRoZSBjbGFzcyB3aGVyZSB0aGlzIG9iamVjdCB3YXMgZGVmaW5lZCAoc2V0dGluZyB0aGlzXG5hcHByb3ByaWF0ZWx5IGNhbiBhc3Npc3QgaW4gcnVudGltZSBpbnRyb3NwZWN0aW9uIG9mIGR5bmFtaWMgY2xhc3NcbmF0dHJpYnV0ZXMpLiBGb3IgY2FsbGFibGVzLCBpdCBtYXkgaW5kaWNhdGUgdGhhdCBhbiBpbnN0YW5jZSBvZiB0aGVcbmdpdmVuIHR5cGUgKG9yIGEgc3ViY2xhc3MpIGlzIGV4cGVjdGVkIG9yIHJlcXVpcmVkIGFzIHRoZSBmaXJzdFxucG9zaXRpb25hbCBhcmd1bWVudCAoZm9yIGV4YW1wbGUsIENQeXRob24gc2V0cyB0aGlzIGF0dHJpYnV0ZSBmb3JcbnVuYm91bmQgbWV0aG9kcyB0aGF0IGFyZSBpbXBsZW1lbnRlZCBpbiBDKS5cblxuXG5JbnZva2luZyBEZXNjcmlwdG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuSW4gZ2VuZXJhbCwgYSBkZXNjcmlwdG9yIGlzIGFuIG9iamVjdCBhdHRyaWJ1dGUgd2l0aCAiYmluZGluZ1xuYmVoYXZpb3IiLCBvbmUgd2hvc2UgYXR0cmlidXRlIGFjY2VzcyBoYXMgYmVlbiBvdmVycmlkZGVuIGJ5IG1ldGhvZHNcbmluIHRoZSBkZXNjcmlwdG9yIHByb3RvY29sOiAgIl9fZ2V0X18oKSIsICJfX3NldF9fKCkiLCBhbmRcbiJfX2RlbGV0ZV9fKCkiLiBJZiBhbnkgb2YgdGhvc2UgbWV0aG9kcyBhcmUgZGVmaW5lZCBmb3IgYW4gb2JqZWN0LCBpdFxuaXMgc2FpZCB0byBiZSBhIGRlc2NyaXB0b3IuXG5cblRoZSBkZWZhdWx0IGJlaGF2aW9yIGZvciBhdHRyaWJ1dGUgYWNjZXNzIGlzIHRvIGdldCwgc2V0LCBvciBkZWxldGVcbnRoZSBhdHRyaWJ1dGUgZnJvbSBhbiBvYmplY3RcJ3MgZGljdGlvbmFyeS4gRm9yIGluc3RhbmNlLCAiYS54IiBoYXMgYVxubG9va3VwIGNoYWluIHN0YXJ0aW5nIHdpdGggImEuX19kaWN0X19bXCd4XCddIiwgdGhlblxuInR5cGUoYSkuX19kaWN0X19bXCd4XCddIiwgYW5kIGNvbnRpbnVpbmcgdGhyb3VnaCB0aGUgYmFzZSBjbGFzc2VzIG9mXG4idHlwZShhKSIgZXhjbHVkaW5nIG1ldGFjbGFzc2VzLlxuXG5Ib3dldmVyLCBpZiB0aGUgbG9va2VkLXVwIHZhbHVlIGlzIGFuIG9iamVjdCBkZWZpbmluZyBvbmUgb2YgdGhlXG5kZXNjcmlwdG9yIG1ldGhvZHMsIHRoZW4gUHl0aG9uIG1heSBvdmVycmlkZSB0aGUgZGVmYXVsdCBiZWhhdmlvciBhbmRcbmludm9rZSB0aGUgZGVzY3JpcHRvciBtZXRob2QgaW5zdGVhZC4gIFdoZXJlIHRoaXMgb2NjdXJzIGluIHRoZVxucHJlY2VkZW5jZSBjaGFpbiBkZXBlbmRzIG9uIHdoaWNoIGRlc2NyaXB0b3IgbWV0aG9kcyB3ZXJlIGRlZmluZWQgYW5kXG5ob3cgdGhleSB3ZXJlIGNhbGxlZC5cblxuVGhlIHN0YXJ0aW5nIHBvaW50IGZvciBkZXNjcmlwdG9yIGludm9jYXRpb24gaXMgYSBiaW5kaW5nLCAiYS54Ii4gSG93XG50aGUgYXJndW1lbnRzIGFyZSBhc3NlbWJsZWQgZGVwZW5kcyBvbiAiYSI6XG5cbkRpcmVjdCBDYWxsXG4gICBUaGUgc2ltcGxlc3QgYW5kIGxlYXN0IGNvbW1vbiBjYWxsIGlzIHdoZW4gdXNlciBjb2RlIGRpcmVjdGx5XG4gICBpbnZva2VzIGEgZGVzY3JpcHRvciBtZXRob2Q6ICAgICJ4Ll9fZ2V0X18oYSkiLlxuXG5JbnN0YW5jZSBCaW5kaW5nXG4gICBJZiBiaW5kaW5nIHRvIGFuIG9iamVjdCBpbnN0YW5jZSwgImEueCIgaXMgdHJhbnNmb3JtZWQgaW50byB0aGVcbiAgIGNhbGw6ICJ0eXBlKGEpLl9fZGljdF9fW1wneFwnXS5fX2dldF9fKGEsIHR5cGUoYSkpIi5cblxuQ2xhc3MgQmluZGluZ1xuICAgSWYgYmluZGluZyB0byBhIGNsYXNzLCAiQS54IiBpcyB0cmFuc2Zvcm1lZCBpbnRvIHRoZSBjYWxsOlxuICAgIkEuX19kaWN0X19bXCd4XCddLl9fZ2V0X18oTm9uZSwgQSkiLlxuXG5TdXBlciBCaW5kaW5nXG4gICBJZiAiYSIgaXMgYW4gaW5zdGFuY2Ugb2YgInN1cGVyIiwgdGhlbiB0aGUgYmluZGluZyAic3VwZXIoQixcbiAgIG9iaikubSgpIiBzZWFyY2hlcyAib2JqLl9fY2xhc3NfXy5fX21yb19fIiBmb3IgdGhlIGJhc2UgY2xhc3MgIkEiXG4gICBpbW1lZGlhdGVseSBwcmVjZWRpbmcgIkIiIGFuZCB0aGVuIGludm9rZXMgdGhlIGRlc2NyaXB0b3Igd2l0aCB0aGVcbiAgIGNhbGw6ICJBLl9fZGljdF9fW1wnbVwnXS5fX2dldF9fKG9iaiwgb2JqLl9fY2xhc3NfXykiLlxuXG5Gb3IgaW5zdGFuY2UgYmluZGluZ3MsIHRoZSBwcmVjZWRlbmNlIG9mIGRlc2NyaXB0b3IgaW52b2NhdGlvbiBkZXBlbmRzXG5vbiB0aGUgd2hpY2ggZGVzY3JpcHRvciBtZXRob2RzIGFyZSBkZWZpbmVkLiAgQSBkZXNjcmlwdG9yIGNhbiBkZWZpbmVcbmFueSBjb21iaW5hdGlvbiBvZiAiX19nZXRfXygpIiwgIl9fc2V0X18oKSIgYW5kICJfX2RlbGV0ZV9fKCkiLiAgSWYgaXRcbmRvZXMgbm90IGRlZmluZSAiX19nZXRfXygpIiwgdGhlbiBhY2Nlc3NpbmcgdGhlIGF0dHJpYnV0ZSB3aWxsIHJldHVyblxudGhlIGRlc2NyaXB0b3Igb2JqZWN0IGl0c2VsZiB1bmxlc3MgdGhlcmUgaXMgYSB2YWx1ZSBpbiB0aGUgb2JqZWN0XCdzXG5pbnN0YW5jZSBkaWN0aW9uYXJ5LiAgSWYgdGhlIGRlc2NyaXB0b3IgZGVmaW5lcyAiX19zZXRfXygpIiBhbmQvb3JcbiJfX2RlbGV0ZV9fKCkiLCBpdCBpcyBhIGRhdGEgZGVzY3JpcHRvcjsgaWYgaXQgZGVmaW5lcyBuZWl0aGVyLCBpdCBpc1xuYSBub24tZGF0YSBkZXNjcmlwdG9yLiAgTm9ybWFsbHksIGRhdGEgZGVzY3JpcHRvcnMgZGVmaW5lIGJvdGhcbiJfX2dldF9fKCkiIGFuZCAiX19zZXRfXygpIiwgd2hpbGUgbm9uLWRhdGEgZGVzY3JpcHRvcnMgaGF2ZSBqdXN0IHRoZVxuIl9fZ2V0X18oKSIgbWV0aG9kLiAgRGF0YSBkZXNjcmlwdG9ycyB3aXRoICJfX3NldF9fKCkiIGFuZCAiX19nZXRfXygpIlxuZGVmaW5lZCBhbHdheXMgb3ZlcnJpZGUgYSByZWRlZmluaXRpb24gaW4gYW4gaW5zdGFuY2UgZGljdGlvbmFyeS4gIEluXG5jb250cmFzdCwgbm9uLWRhdGEgZGVzY3JpcHRvcnMgY2FuIGJlIG92ZXJyaWRkZW4gYnkgaW5zdGFuY2VzLlxuXG5QeXRob24gbWV0aG9kcyAoaW5jbHVkaW5nICJzdGF0aWNtZXRob2QoKSIgYW5kICJjbGFzc21ldGhvZCgpIikgYXJlXG5pbXBsZW1lbnRlZCBhcyBub24tZGF0YSBkZXNjcmlwdG9ycy4gIEFjY29yZGluZ2x5LCBpbnN0YW5jZXMgY2FuXG5yZWRlZmluZSBhbmQgb3ZlcnJpZGUgbWV0aG9kcy4gIFRoaXMgYWxsb3dzIGluZGl2aWR1YWwgaW5zdGFuY2VzIHRvXG5hY3F1aXJlIGJlaGF2aW9ycyB0aGF0IGRpZmZlciBmcm9tIG90aGVyIGluc3RhbmNlcyBvZiB0aGUgc2FtZSBjbGFzcy5cblxuVGhlICJwcm9wZXJ0eSgpIiBmdW5jdGlvbiBpcyBpbXBsZW1lbnRlZCBhcyBhIGRhdGEgZGVzY3JpcHRvci5cbkFjY29yZGluZ2x5LCBpbnN0YW5jZXMgY2Fubm90IG92ZXJyaWRlIHRoZSBiZWhhdmlvciBvZiBhIHByb3BlcnR5LlxuXG5cbl9fc2xvdHNfX1xuLS0tLS0tLS0tXG5cbkJ5IGRlZmF1bHQsIGluc3RhbmNlcyBvZiBjbGFzc2VzIGhhdmUgYSBkaWN0aW9uYXJ5IGZvciBhdHRyaWJ1dGVcbnN0b3JhZ2UuICBUaGlzIHdhc3RlcyBzcGFjZSBmb3Igb2JqZWN0cyBoYXZpbmcgdmVyeSBmZXcgaW5zdGFuY2VcbnZhcmlhYmxlcy4gIFRoZSBzcGFjZSBjb25zdW1wdGlvbiBjYW4gYmVjb21lIGFjdXRlIHdoZW4gY3JlYXRpbmcgbGFyZ2Vcbm51bWJlcnMgb2YgaW5zdGFuY2VzLlxuXG5UaGUgZGVmYXVsdCBjYW4gYmUgb3ZlcnJpZGRlbiBieSBkZWZpbmluZyAqX19zbG90c19fKiBpbiBhIGNsYXNzXG5kZWZpbml0aW9uLiBUaGUgKl9fc2xvdHNfXyogZGVjbGFyYXRpb24gdGFrZXMgYSBzZXF1ZW5jZSBvZiBpbnN0YW5jZVxudmFyaWFibGVzIGFuZCByZXNlcnZlcyBqdXN0IGVub3VnaCBzcGFjZSBpbiBlYWNoIGluc3RhbmNlIHRvIGhvbGQgYVxudmFsdWUgZm9yIGVhY2ggdmFyaWFibGUuICBTcGFjZSBpcyBzYXZlZCBiZWNhdXNlICpfX2RpY3RfXyogaXMgbm90XG5jcmVhdGVkIGZvciBlYWNoIGluc3RhbmNlLlxuXG5vYmplY3QuX19zbG90c19fXG5cbiAgIFRoaXMgY2xhc3MgdmFyaWFibGUgY2FuIGJlIGFzc2lnbmVkIGEgc3RyaW5nLCBpdGVyYWJsZSwgb3Igc2VxdWVuY2VcbiAgIG9mIHN0cmluZ3Mgd2l0aCB2YXJpYWJsZSBuYW1lcyB1c2VkIGJ5IGluc3RhbmNlcy4gICpfX3Nsb3RzX18qXG4gICByZXNlcnZlcyBzcGFjZSBmb3IgdGhlIGRlY2xhcmVkIHZhcmlhYmxlcyBhbmQgcHJldmVudHMgdGhlXG4gICBhdXRvbWF0aWMgY3JlYXRpb24gb2YgKl9fZGljdF9fKiBhbmQgKl9fd2Vha3JlZl9fKiBmb3IgZWFjaFxuICAgaW5zdGFuY2UuXG5cblxuTm90ZXMgb24gdXNpbmcgKl9fc2xvdHNfXypcbn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+XG5cbiogV2hlbiBpbmhlcml0aW5nIGZyb20gYSBjbGFzcyB3aXRob3V0ICpfX3Nsb3RzX18qLCB0aGUgKl9fZGljdF9fKlxuICBhdHRyaWJ1dGUgb2YgdGhhdCBjbGFzcyB3aWxsIGFsd2F5cyBiZSBhY2Nlc3NpYmxlLCBzbyBhICpfX3Nsb3RzX18qXG4gIGRlZmluaXRpb24gaW4gdGhlIHN1YmNsYXNzIGlzIG1lYW5pbmdsZXNzLlxuXG4qIFdpdGhvdXQgYSAqX19kaWN0X18qIHZhcmlhYmxlLCBpbnN0YW5jZXMgY2Fubm90IGJlIGFzc2lnbmVkIG5ld1xuICB2YXJpYWJsZXMgbm90IGxpc3RlZCBpbiB0aGUgKl9fc2xvdHNfXyogZGVmaW5pdGlvbi4gIEF0dGVtcHRzIHRvXG4gIGFzc2lnbiB0byBhbiB1bmxpc3RlZCB2YXJpYWJsZSBuYW1lIHJhaXNlcyAiQXR0cmlidXRlRXJyb3IiLiBJZlxuICBkeW5hbWljIGFzc2lnbm1lbnQgb2YgbmV3IHZhcmlhYmxlcyBpcyBkZXNpcmVkLCB0aGVuIGFkZFxuICAiXCdfX2RpY3RfX1wnIiB0byB0aGUgc2VxdWVuY2Ugb2Ygc3RyaW5ncyBpbiB0aGUgKl9fc2xvdHNfXypcbiAgZGVjbGFyYXRpb24uXG5cbiogV2l0aG91dCBhICpfX3dlYWtyZWZfXyogdmFyaWFibGUgZm9yIGVhY2ggaW5zdGFuY2UsIGNsYXNzZXNcbiAgZGVmaW5pbmcgKl9fc2xvdHNfXyogZG8gbm90IHN1cHBvcnQgd2VhayByZWZlcmVuY2VzIHRvIGl0c1xuICBpbnN0YW5jZXMuIElmIHdlYWsgcmVmZXJlbmNlIHN1cHBvcnQgaXMgbmVlZGVkLCB0aGVuIGFkZFxuICAiXCdfX3dlYWtyZWZfX1wnIiB0byB0aGUgc2VxdWVuY2Ugb2Ygc3RyaW5ncyBpbiB0aGUgKl9fc2xvdHNfXypcbiAgZGVjbGFyYXRpb24uXG5cbiogKl9fc2xvdHNfXyogYXJlIGltcGxlbWVudGVkIGF0IHRoZSBjbGFzcyBsZXZlbCBieSBjcmVhdGluZ1xuICBkZXNjcmlwdG9ycyAoKkltcGxlbWVudGluZyBEZXNjcmlwdG9ycyopIGZvciBlYWNoIHZhcmlhYmxlIG5hbWUuICBBc1xuICBhIHJlc3VsdCwgY2xhc3MgYXR0cmlidXRlcyBjYW5ub3QgYmUgdXNlZCB0byBzZXQgZGVmYXVsdCB2YWx1ZXMgZm9yXG4gIGluc3RhbmNlIHZhcmlhYmxlcyBkZWZpbmVkIGJ5ICpfX3Nsb3RzX18qOyBvdGhlcndpc2UsIHRoZSBjbGFzc1xuICBhdHRyaWJ1dGUgd291bGQgb3ZlcndyaXRlIHRoZSBkZXNjcmlwdG9yIGFzc2lnbm1lbnQuXG5cbiogVGhlIGFjdGlvbiBvZiBhICpfX3Nsb3RzX18qIGRlY2xhcmF0aW9uIGlzIGxpbWl0ZWQgdG8gdGhlIGNsYXNzXG4gIHdoZXJlIGl0IGlzIGRlZmluZWQuICBBcyBhIHJlc3VsdCwgc3ViY2xhc3NlcyB3aWxsIGhhdmUgYSAqX19kaWN0X18qXG4gIHVubGVzcyB0aGV5IGFsc28gZGVmaW5lICpfX3Nsb3RzX18qICh3aGljaCBtdXN0IG9ubHkgY29udGFpbiBuYW1lc1xuICBvZiBhbnkgKmFkZGl0aW9uYWwqIHNsb3RzKS5cblxuKiBJZiBhIGNsYXNzIGRlZmluZXMgYSBzbG90IGFsc28gZGVmaW5lZCBpbiBhIGJhc2UgY2xhc3MsIHRoZVxuICBpbnN0YW5jZSB2YXJpYWJsZSBkZWZpbmVkIGJ5IHRoZSBiYXNlIGNsYXNzIHNsb3QgaXMgaW5hY2Nlc3NpYmxlXG4gIChleGNlcHQgYnkgcmV0cmlldmluZyBpdHMgZGVzY3JpcHRvciBkaXJlY3RseSBmcm9tIHRoZSBiYXNlIGNsYXNzKS5cbiAgVGhpcyByZW5kZXJzIHRoZSBtZWFuaW5nIG9mIHRoZSBwcm9ncmFtIHVuZGVmaW5lZC4gIEluIHRoZSBmdXR1cmUsIGFcbiAgY2hlY2sgbWF5IGJlIGFkZGVkIHRvIHByZXZlbnQgdGhpcy5cblxuKiBOb25lbXB0eSAqX19zbG90c19fKiBkb2VzIG5vdCB3b3JrIGZvciBjbGFzc2VzIGRlcml2ZWQgZnJvbVxuICAidmFyaWFibGUtbGVuZ3RoIiBidWlsdC1pbiB0eXBlcyBzdWNoIGFzICJpbnQiLCAiYnl0ZXMiIGFuZCAidHVwbGUiLlxuXG4qIEFueSBub24tc3RyaW5nIGl0ZXJhYmxlIG1heSBiZSBhc3NpZ25lZCB0byAqX19zbG90c19fKi4gTWFwcGluZ3NcbiAgbWF5IGFsc28gYmUgdXNlZDsgaG93ZXZlciwgaW4gdGhlIGZ1dHVyZSwgc3BlY2lhbCBtZWFuaW5nIG1heSBiZVxuICBhc3NpZ25lZCB0byB0aGUgdmFsdWVzIGNvcnJlc3BvbmRpbmcgdG8gZWFjaCBrZXkuXG5cbiogKl9fY2xhc3NfXyogYXNzaWdubWVudCB3b3JrcyBvbmx5IGlmIGJvdGggY2xhc3NlcyBoYXZlIHRoZSBzYW1lXG4gICpfX3Nsb3RzX18qLlxuXG5cbkN1c3RvbWl6aW5nIGNsYXNzIGNyZWF0aW9uXG49PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5CeSBkZWZhdWx0LCBjbGFzc2VzIGFyZSBjb25zdHJ1Y3RlZCB1c2luZyAidHlwZSgpIi4gVGhlIGNsYXNzIGJvZHkgaXNcbmV4ZWN1dGVkIGluIGEgbmV3IG5hbWVzcGFjZSBhbmQgdGhlIGNsYXNzIG5hbWUgaXMgYm91bmQgbG9jYWxseSB0byB0aGVcbnJlc3VsdCBvZiAidHlwZShuYW1lLCBiYXNlcywgbmFtZXNwYWNlKSIuXG5cblRoZSBjbGFzcyBjcmVhdGlvbiBwcm9jZXNzIGNhbiBiZSBjdXN0b21pc2VkIGJ5IHBhc3NpbmcgdGhlXG4ibWV0YWNsYXNzIiBrZXl3b3JkIGFyZ3VtZW50IGluIHRoZSBjbGFzcyBkZWZpbml0aW9uIGxpbmUsIG9yIGJ5XG5pbmhlcml0aW5nIGZyb20gYW4gZXhpc3RpbmcgY2xhc3MgdGhhdCBpbmNsdWRlZCBzdWNoIGFuIGFyZ3VtZW50LiBJblxudGhlIGZvbGxvd2luZyBleGFtcGxlLCBib3RoICJNeUNsYXNzIiBhbmQgIk15U3ViY2xhc3MiIGFyZSBpbnN0YW5jZXNcbm9mICJNZXRhIjpcblxuICAgY2xhc3MgTWV0YSh0eXBlKTpcbiAgICAgICBwYXNzXG5cbiAgIGNsYXNzIE15Q2xhc3MobWV0YWNsYXNzPU1ldGEpOlxuICAgICAgIHBhc3NcblxuICAgY2xhc3MgTXlTdWJjbGFzcyhNeUNsYXNzKTpcbiAgICAgICBwYXNzXG5cbkFueSBvdGhlciBrZXl3b3JkIGFyZ3VtZW50cyB0aGF0IGFyZSBzcGVjaWZpZWQgaW4gdGhlIGNsYXNzIGRlZmluaXRpb25cbmFyZSBwYXNzZWQgdGhyb3VnaCB0byBhbGwgbWV0YWNsYXNzIG9wZXJhdGlvbnMgZGVzY3JpYmVkIGJlbG93LlxuXG5XaGVuIGEgY2xhc3MgZGVmaW5pdGlvbiBpcyBleGVjdXRlZCwgdGhlIGZvbGxvd2luZyBzdGVwcyBvY2N1cjpcblxuKiB0aGUgYXBwcm9wcmlhdGUgbWV0YWNsYXNzIGlzIGRldGVybWluZWRcblxuKiB0aGUgY2xhc3MgbmFtZXNwYWNlIGlzIHByZXBhcmVkXG5cbiogdGhlIGNsYXNzIGJvZHkgaXMgZXhlY3V0ZWRcblxuKiB0aGUgY2xhc3Mgb2JqZWN0IGlzIGNyZWF0ZWRcblxuXG5EZXRlcm1pbmluZyB0aGUgYXBwcm9wcmlhdGUgbWV0YWNsYXNzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblRoZSBhcHByb3ByaWF0ZSBtZXRhY2xhc3MgZm9yIGEgY2xhc3MgZGVmaW5pdGlvbiBpcyBkZXRlcm1pbmVkIGFzXG5mb2xsb3dzOlxuXG4qIGlmIG5vIGJhc2VzIGFuZCBubyBleHBsaWNpdCBtZXRhY2xhc3MgYXJlIGdpdmVuLCB0aGVuICJ0eXBlKCkiIGlzXG4gIHVzZWRcblxuKiBpZiBhbiBleHBsaWNpdCBtZXRhY2xhc3MgaXMgZ2l2ZW4gYW5kIGl0IGlzICpub3QqIGFuIGluc3RhbmNlIG9mXG4gICJ0eXBlKCkiLCB0aGVuIGl0IGlzIHVzZWQgZGlyZWN0bHkgYXMgdGhlIG1ldGFjbGFzc1xuXG4qIGlmIGFuIGluc3RhbmNlIG9mICJ0eXBlKCkiIGlzIGdpdmVuIGFzIHRoZSBleHBsaWNpdCBtZXRhY2xhc3MsIG9yXG4gIGJhc2VzIGFyZSBkZWZpbmVkLCB0aGVuIHRoZSBtb3N0IGRlcml2ZWQgbWV0YWNsYXNzIGlzIHVzZWRcblxuVGhlIG1vc3QgZGVyaXZlZCBtZXRhY2xhc3MgaXMgc2VsZWN0ZWQgZnJvbSB0aGUgZXhwbGljaXRseSBzcGVjaWZpZWRcbm1ldGFjbGFzcyAoaWYgYW55KSBhbmQgdGhlIG1ldGFjbGFzc2VzIChpLmUuICJ0eXBlKGNscykiKSBvZiBhbGxcbnNwZWNpZmllZCBiYXNlIGNsYXNzZXMuIFRoZSBtb3N0IGRlcml2ZWQgbWV0YWNsYXNzIGlzIG9uZSB3aGljaCBpcyBhXG5zdWJ0eXBlIG9mICphbGwqIG9mIHRoZXNlIGNhbmRpZGF0ZSBtZXRhY2xhc3Nlcy4gSWYgbm9uZSBvZiB0aGVcbmNhbmRpZGF0ZSBtZXRhY2xhc3NlcyBtZWV0cyB0aGF0IGNyaXRlcmlvbiwgdGhlbiB0aGUgY2xhc3MgZGVmaW5pdGlvblxud2lsbCBmYWlsIHdpdGggIlR5cGVFcnJvciIuXG5cblxuUHJlcGFyaW5nIHRoZSBjbGFzcyBuYW1lc3BhY2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbk9uY2UgdGhlIGFwcHJvcHJpYXRlIG1ldGFjbGFzcyBoYXMgYmVlbiBpZGVudGlmaWVkLCB0aGVuIHRoZSBjbGFzc1xubmFtZXNwYWNlIGlzIHByZXBhcmVkLiBJZiB0aGUgbWV0YWNsYXNzIGhhcyBhICJfX3ByZXBhcmVfXyIgYXR0cmlidXRlLFxuaXQgaXMgY2FsbGVkIGFzICJuYW1lc3BhY2UgPSBtZXRhY2xhc3MuX19wcmVwYXJlX18obmFtZSwgYmFzZXMsXG4qKmt3ZHMpIiAod2hlcmUgdGhlIGFkZGl0aW9uYWwga2V5d29yZCBhcmd1bWVudHMsIGlmIGFueSwgY29tZSBmcm9tXG50aGUgY2xhc3MgZGVmaW5pdGlvbikuXG5cbklmIHRoZSBtZXRhY2xhc3MgaGFzIG5vICJfX3ByZXBhcmVfXyIgYXR0cmlidXRlLCB0aGVuIHRoZSBjbGFzc1xubmFtZXNwYWNlIGlzIGluaXRpYWxpc2VkIGFzIGFuIGVtcHR5ICJkaWN0KCkiIGluc3RhbmNlLlxuXG5TZWUgYWxzbzogKipQRVAgMzExNSoqIC0gTWV0YWNsYXNzZXMgaW4gUHl0aG9uIDMwMDBcblxuICAgICBJbnRyb2R1Y2VkIHRoZSAiX19wcmVwYXJlX18iIG5hbWVzcGFjZSBob29rXG5cblxuRXhlY3V0aW5nIHRoZSBjbGFzcyBib2R5XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuVGhlIGNsYXNzIGJvZHkgaXMgZXhlY3V0ZWQgKGFwcHJveGltYXRlbHkpIGFzICJleGVjKGJvZHksIGdsb2JhbHMoKSxcbm5hbWVzcGFjZSkiLiBUaGUga2V5IGRpZmZlcmVuY2UgZnJvbSBhIG5vcm1hbCBjYWxsIHRvICJleGVjKCkiIGlzIHRoYXRcbmxleGljYWwgc2NvcGluZyBhbGxvd3MgdGhlIGNsYXNzIGJvZHkgKGluY2x1ZGluZyBhbnkgbWV0aG9kcykgdG9cbnJlZmVyZW5jZSBuYW1lcyBmcm9tIHRoZSBjdXJyZW50IGFuZCBvdXRlciBzY29wZXMgd2hlbiB0aGUgY2xhc3NcbmRlZmluaXRpb24gb2NjdXJzIGluc2lkZSBhIGZ1bmN0aW9uLlxuXG5Ib3dldmVyLCBldmVuIHdoZW4gdGhlIGNsYXNzIGRlZmluaXRpb24gb2NjdXJzIGluc2lkZSB0aGUgZnVuY3Rpb24sXG5tZXRob2RzIGRlZmluZWQgaW5zaWRlIHRoZSBjbGFzcyBzdGlsbCBjYW5ub3Qgc2VlIG5hbWVzIGRlZmluZWQgYXQgdGhlXG5jbGFzcyBzY29wZS4gQ2xhc3MgdmFyaWFibGVzIG11c3QgYmUgYWNjZXNzZWQgdGhyb3VnaCB0aGUgZmlyc3RcbnBhcmFtZXRlciBvZiBpbnN0YW5jZSBvciBjbGFzcyBtZXRob2RzLCBhbmQgY2Fubm90IGJlIGFjY2Vzc2VkIGF0IGFsbFxuZnJvbSBzdGF0aWMgbWV0aG9kcy5cblxuXG5DcmVhdGluZyB0aGUgY2xhc3Mgb2JqZWN0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbk9uY2UgdGhlIGNsYXNzIG5hbWVzcGFjZSBoYXMgYmVlbiBwb3B1bGF0ZWQgYnkgZXhlY3V0aW5nIHRoZSBjbGFzc1xuYm9keSwgdGhlIGNsYXNzIG9iamVjdCBpcyBjcmVhdGVkIGJ5IGNhbGxpbmcgIm1ldGFjbGFzcyhuYW1lLCBiYXNlcyxcbm5hbWVzcGFjZSwgKiprd2RzKSIgKHRoZSBhZGRpdGlvbmFsIGtleXdvcmRzIHBhc3NlZCBoZXJlIGFyZSB0aGUgc2FtZVxuYXMgdGhvc2UgcGFzc2VkIHRvICJfX3ByZXBhcmVfXyIpLlxuXG5UaGlzIGNsYXNzIG9iamVjdCBpcyB0aGUgb25lIHRoYXQgd2lsbCBiZSByZWZlcmVuY2VkIGJ5IHRoZSB6ZXJvLVxuYXJndW1lbnQgZm9ybSBvZiAic3VwZXIoKSIuICJfX2NsYXNzX18iIGlzIGFuIGltcGxpY2l0IGNsb3N1cmVcbnJlZmVyZW5jZSBjcmVhdGVkIGJ5IHRoZSBjb21waWxlciBpZiBhbnkgbWV0aG9kcyBpbiBhIGNsYXNzIGJvZHkgcmVmZXJcbnRvIGVpdGhlciAiX19jbGFzc19fIiBvciAic3VwZXIiLiBUaGlzIGFsbG93cyB0aGUgemVybyBhcmd1bWVudCBmb3JtXG5vZiAic3VwZXIoKSIgdG8gY29ycmVjdGx5IGlkZW50aWZ5IHRoZSBjbGFzcyBiZWluZyBkZWZpbmVkIGJhc2VkIG9uXG5sZXhpY2FsIHNjb3BpbmcsIHdoaWxlIHRoZSBjbGFzcyBvciBpbnN0YW5jZSB0aGF0IHdhcyB1c2VkIHRvIG1ha2UgdGhlXG5jdXJyZW50IGNhbGwgaXMgaWRlbnRpZmllZCBiYXNlZCBvbiB0aGUgZmlyc3QgYXJndW1lbnQgcGFzc2VkIHRvIHRoZVxubWV0aG9kLlxuXG5BZnRlciB0aGUgY2xhc3Mgb2JqZWN0IGlzIGNyZWF0ZWQsIGl0IGlzIHBhc3NlZCB0byB0aGUgY2xhc3NcbmRlY29yYXRvcnMgaW5jbHVkZWQgaW4gdGhlIGNsYXNzIGRlZmluaXRpb24gKGlmIGFueSkgYW5kIHRoZSByZXN1bHRpbmdcbm9iamVjdCBpcyBib3VuZCBpbiB0aGUgbG9jYWwgbmFtZXNwYWNlIGFzIHRoZSBkZWZpbmVkIGNsYXNzLlxuXG5TZWUgYWxzbzogKipQRVAgMzEzNSoqIC0gTmV3IHN1cGVyXG5cbiAgICAgRGVzY3JpYmVzIHRoZSBpbXBsaWNpdCAiX19jbGFzc19fIiBjbG9zdXJlIHJlZmVyZW5jZVxuXG5cbk1ldGFjbGFzcyBleGFtcGxlXG4tLS0tLS0tLS0tLS0tLS0tLVxuXG5UaGUgcG90ZW50aWFsIHVzZXMgZm9yIG1ldGFjbGFzc2VzIGFyZSBib3VuZGxlc3MuIFNvbWUgaWRlYXMgdGhhdCBoYXZlXG5iZWVuIGV4cGxvcmVkIGluY2x1ZGUgbG9nZ2luZywgaW50ZXJmYWNlIGNoZWNraW5nLCBhdXRvbWF0aWNcbmRlbGVnYXRpb24sIGF1dG9tYXRpYyBwcm9wZXJ0eSBjcmVhdGlvbiwgcHJveGllcywgZnJhbWV3b3JrcywgYW5kXG5hdXRvbWF0aWMgcmVzb3VyY2UgbG9ja2luZy9zeW5jaHJvbml6YXRpb24uXG5cbkhlcmUgaXMgYW4gZXhhbXBsZSBvZiBhIG1ldGFjbGFzcyB0aGF0IHVzZXMgYW5cbiJjb2xsZWN0aW9ucy5PcmRlcmVkRGljdCIgdG8gcmVtZW1iZXIgdGhlIG9yZGVyIHRoYXQgY2xhc3MgdmFyaWFibGVzXG5hcmUgZGVmaW5lZDpcblxuICAgY2xhc3MgT3JkZXJlZENsYXNzKHR5cGUpOlxuXG4gICAgICAgIEBjbGFzc21ldGhvZFxuICAgICAgICBkZWYgX19wcmVwYXJlX18obWV0YWNscywgbmFtZSwgYmFzZXMsICoqa3dkcyk6XG4gICAgICAgICAgIHJldHVybiBjb2xsZWN0aW9ucy5PcmRlcmVkRGljdCgpXG5cbiAgICAgICAgZGVmIF9fbmV3X18oY2xzLCBuYW1lLCBiYXNlcywgbmFtZXNwYWNlLCAqKmt3ZHMpOlxuICAgICAgICAgICByZXN1bHQgPSB0eXBlLl9fbmV3X18oY2xzLCBuYW1lLCBiYXNlcywgZGljdChuYW1lc3BhY2UpKVxuICAgICAgICAgICByZXN1bHQubWVtYmVycyA9IHR1cGxlKG5hbWVzcGFjZSlcbiAgICAgICAgICAgcmV0dXJuIHJlc3VsdFxuXG4gICBjbGFzcyBBKG1ldGFjbGFzcz1PcmRlcmVkQ2xhc3MpOlxuICAgICAgIGRlZiBvbmUoc2VsZik6IHBhc3NcbiAgICAgICBkZWYgdHdvKHNlbGYpOiBwYXNzXG4gICAgICAgZGVmIHRocmVlKHNlbGYpOiBwYXNzXG4gICAgICAgZGVmIGZvdXIoc2VsZik6IHBhc3NcblxuICAgPj4+IEEubWVtYmVyc1xuICAgKFwnX19tb2R1bGVfX1wnLCBcJ29uZVwnLCBcJ3R3b1wnLCBcJ3RocmVlXCcsIFwnZm91clwnKVxuXG5XaGVuIHRoZSBjbGFzcyBkZWZpbml0aW9uIGZvciAqQSogZ2V0cyBleGVjdXRlZCwgdGhlIHByb2Nlc3MgYmVnaW5zXG53aXRoIGNhbGxpbmcgdGhlIG1ldGFjbGFzc1wncyAiX19wcmVwYXJlX18oKSIgbWV0aG9kIHdoaWNoIHJldHVybnMgYW5cbmVtcHR5ICJjb2xsZWN0aW9ucy5PcmRlcmVkRGljdCIuICBUaGF0IG1hcHBpbmcgcmVjb3JkcyB0aGUgbWV0aG9kcyBhbmRcbmF0dHJpYnV0ZXMgb2YgKkEqIGFzIHRoZXkgYXJlIGRlZmluZWQgd2l0aGluIHRoZSBib2R5IG9mIHRoZSBjbGFzc1xuc3RhdGVtZW50LiBPbmNlIHRob3NlIGRlZmluaXRpb25zIGFyZSBleGVjdXRlZCwgdGhlIG9yZGVyZWQgZGljdGlvbmFyeVxuaXMgZnVsbHkgcG9wdWxhdGVkIGFuZCB0aGUgbWV0YWNsYXNzXCdzICJfX25ld19fKCkiIG1ldGhvZCBnZXRzXG5pbnZva2VkLiAgVGhhdCBtZXRob2QgYnVpbGRzIHRoZSBuZXcgdHlwZSBhbmQgaXQgc2F2ZXMgdGhlIG9yZGVyZWRcbmRpY3Rpb25hcnkga2V5cyBpbiBhbiBhdHRyaWJ1dGUgY2FsbGVkICJtZW1iZXJzIi5cblxuXG5DdXN0b21pemluZyBpbnN0YW5jZSBhbmQgc3ViY2xhc3MgY2hlY2tzXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblRoZSBmb2xsb3dpbmcgbWV0aG9kcyBhcmUgdXNlZCB0byBvdmVycmlkZSB0aGUgZGVmYXVsdCBiZWhhdmlvciBvZiB0aGVcbiJpc2luc3RhbmNlKCkiIGFuZCAiaXNzdWJjbGFzcygpIiBidWlsdC1pbiBmdW5jdGlvbnMuXG5cbkluIHBhcnRpY3VsYXIsIHRoZSBtZXRhY2xhc3MgImFiYy5BQkNNZXRhIiBpbXBsZW1lbnRzIHRoZXNlIG1ldGhvZHMgaW5cbm9yZGVyIHRvIGFsbG93IHRoZSBhZGRpdGlvbiBvZiBBYnN0cmFjdCBCYXNlIENsYXNzZXMgKEFCQ3MpIGFzXG4idmlydHVhbCBiYXNlIGNsYXNzZXMiIHRvIGFueSBjbGFzcyBvciB0eXBlIChpbmNsdWRpbmcgYnVpbHQtaW5cbnR5cGVzKSwgaW5jbHVkaW5nIG90aGVyIEFCQ3MuXG5cbmNsYXNzLl9faW5zdGFuY2VjaGVja19fKHNlbGYsIGluc3RhbmNlKVxuXG4gICBSZXR1cm4gdHJ1ZSBpZiAqaW5zdGFuY2UqIHNob3VsZCBiZSBjb25zaWRlcmVkIGEgKGRpcmVjdCBvclxuICAgaW5kaXJlY3QpIGluc3RhbmNlIG9mICpjbGFzcyouIElmIGRlZmluZWQsIGNhbGxlZCB0byBpbXBsZW1lbnRcbiAgICJpc2luc3RhbmNlKGluc3RhbmNlLCBjbGFzcykiLlxuXG5jbGFzcy5fX3N1YmNsYXNzY2hlY2tfXyhzZWxmLCBzdWJjbGFzcylcblxuICAgUmV0dXJuIHRydWUgaWYgKnN1YmNsYXNzKiBzaG91bGQgYmUgY29uc2lkZXJlZCBhIChkaXJlY3Qgb3JcbiAgIGluZGlyZWN0KSBzdWJjbGFzcyBvZiAqY2xhc3MqLiAgSWYgZGVmaW5lZCwgY2FsbGVkIHRvIGltcGxlbWVudFxuICAgImlzc3ViY2xhc3Moc3ViY2xhc3MsIGNsYXNzKSIuXG5cbk5vdGUgdGhhdCB0aGVzZSBtZXRob2RzIGFyZSBsb29rZWQgdXAgb24gdGhlIHR5cGUgKG1ldGFjbGFzcykgb2YgYVxuY2xhc3MuICBUaGV5IGNhbm5vdCBiZSBkZWZpbmVkIGFzIGNsYXNzIG1ldGhvZHMgaW4gdGhlIGFjdHVhbCBjbGFzcy5cblRoaXMgaXMgY29uc2lzdGVudCB3aXRoIHRoZSBsb29rdXAgb2Ygc3BlY2lhbCBtZXRob2RzIHRoYXQgYXJlIGNhbGxlZFxub24gaW5zdGFuY2VzLCBvbmx5IGluIHRoaXMgY2FzZSB0aGUgaW5zdGFuY2UgaXMgaXRzZWxmIGEgY2xhc3MuXG5cblNlZSBhbHNvOiAqKlBFUCAzMTE5KiogLSBJbnRyb2R1Y2luZyBBYnN0cmFjdCBCYXNlIENsYXNzZXNcblxuICAgICBJbmNsdWRlcyB0aGUgc3BlY2lmaWNhdGlvbiBmb3IgY3VzdG9taXppbmcgImlzaW5zdGFuY2UoKSIgYW5kXG4gICAgICJpc3N1YmNsYXNzKCkiIGJlaGF2aW9yIHRocm91Z2ggIl9faW5zdGFuY2VjaGVja19fKCkiIGFuZFxuICAgICAiX19zdWJjbGFzc2NoZWNrX18oKSIsIHdpdGggbW90aXZhdGlvbiBmb3IgdGhpcyBmdW5jdGlvbmFsaXR5IGluXG4gICAgIHRoZSBjb250ZXh0IG9mIGFkZGluZyBBYnN0cmFjdCBCYXNlIENsYXNzZXMgKHNlZSB0aGUgImFiYyJcbiAgICAgbW9kdWxlKSB0byB0aGUgbGFuZ3VhZ2UuXG5cblxuRW11bGF0aW5nIGNhbGxhYmxlIG9iamVjdHNcbj09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbm9iamVjdC5fX2NhbGxfXyhzZWxmWywgYXJncy4uLl0pXG5cbiAgIENhbGxlZCB3aGVuIHRoZSBpbnN0YW5jZSBpcyAiY2FsbGVkIiBhcyBhIGZ1bmN0aW9uOyBpZiB0aGlzIG1ldGhvZFxuICAgaXMgZGVmaW5lZCwgIngoYXJnMSwgYXJnMiwgLi4uKSIgaXMgYSBzaG9ydGhhbmQgZm9yXG4gICAieC5fX2NhbGxfXyhhcmcxLCBhcmcyLCAuLi4pIi5cblxuXG5FbXVsYXRpbmcgY29udGFpbmVyIHR5cGVzXG49PT09PT09PT09PT09PT09PT09PT09PT09XG5cblRoZSBmb2xsb3dpbmcgbWV0aG9kcyBjYW4gYmUgZGVmaW5lZCB0byBpbXBsZW1lbnQgY29udGFpbmVyIG9iamVjdHMuXG5Db250YWluZXJzIHVzdWFsbHkgYXJlIHNlcXVlbmNlcyAoc3VjaCBhcyBsaXN0cyBvciB0dXBsZXMpIG9yIG1hcHBpbmdzXG4obGlrZSBkaWN0aW9uYXJpZXMpLCBidXQgY2FuIHJlcHJlc2VudCBvdGhlciBjb250YWluZXJzIGFzIHdlbGwuICBUaGVcbmZpcnN0IHNldCBvZiBtZXRob2RzIGlzIHVzZWQgZWl0aGVyIHRvIGVtdWxhdGUgYSBzZXF1ZW5jZSBvciB0b1xuZW11bGF0ZSBhIG1hcHBpbmc7IHRoZSBkaWZmZXJlbmNlIGlzIHRoYXQgZm9yIGEgc2VxdWVuY2UsIHRoZVxuYWxsb3dhYmxlIGtleXMgc2hvdWxkIGJlIHRoZSBpbnRlZ2VycyAqayogZm9yIHdoaWNoICIwIDw9IGsgPCBOIiB3aGVyZVxuKk4qIGlzIHRoZSBsZW5ndGggb2YgdGhlIHNlcXVlbmNlLCBvciBzbGljZSBvYmplY3RzLCB3aGljaCBkZWZpbmUgYVxucmFuZ2Ugb2YgaXRlbXMuICBJdCBpcyBhbHNvIHJlY29tbWVuZGVkIHRoYXQgbWFwcGluZ3MgcHJvdmlkZSB0aGVcbm1ldGhvZHMgImtleXMoKSIsICJ2YWx1ZXMoKSIsICJpdGVtcygpIiwgImdldCgpIiwgImNsZWFyKCkiLFxuInNldGRlZmF1bHQoKSIsICJwb3AoKSIsICJwb3BpdGVtKCkiLCAiY29weSgpIiwgYW5kICJ1cGRhdGUoKSJcbmJlaGF2aW5nIHNpbWlsYXIgdG8gdGhvc2UgZm9yIFB5dGhvblwncyBzdGFuZGFyZCBkaWN0aW9uYXJ5IG9iamVjdHMuXG5UaGUgImNvbGxlY3Rpb25zIiBtb2R1bGUgcHJvdmlkZXMgYSAiTXV0YWJsZU1hcHBpbmciIGFic3RyYWN0IGJhc2VcbmNsYXNzIHRvIGhlbHAgY3JlYXRlIHRob3NlIG1ldGhvZHMgZnJvbSBhIGJhc2Ugc2V0IG9mICJfX2dldGl0ZW1fXygpIixcbiJfX3NldGl0ZW1fXygpIiwgIl9fZGVsaXRlbV9fKCkiLCBhbmQgImtleXMoKSIuIE11dGFibGUgc2VxdWVuY2VzXG5zaG91bGQgcHJvdmlkZSBtZXRob2RzICJhcHBlbmQoKSIsICJjb3VudCgpIiwgImluZGV4KCkiLCAiZXh0ZW5kKCkiLFxuImluc2VydCgpIiwgInBvcCgpIiwgInJlbW92ZSgpIiwgInJldmVyc2UoKSIgYW5kICJzb3J0KCkiLCBsaWtlIFB5dGhvblxuc3RhbmRhcmQgbGlzdCBvYmplY3RzLiAgRmluYWxseSwgc2VxdWVuY2UgdHlwZXMgc2hvdWxkIGltcGxlbWVudFxuYWRkaXRpb24gKG1lYW5pbmcgY29uY2F0ZW5hdGlvbikgYW5kIG11bHRpcGxpY2F0aW9uIChtZWFuaW5nXG5yZXBldGl0aW9uKSBieSBkZWZpbmluZyB0aGUgbWV0aG9kcyAiX19hZGRfXygpIiwgIl9fcmFkZF9fKCkiLFxuIl9faWFkZF9fKCkiLCAiX19tdWxfXygpIiwgIl9fcm11bF9fKCkiIGFuZCAiX19pbXVsX18oKSIgZGVzY3JpYmVkXG5iZWxvdzsgdGhleSBzaG91bGQgbm90IGRlZmluZSBvdGhlciBudW1lcmljYWwgb3BlcmF0b3JzLiAgSXQgaXNcbnJlY29tbWVuZGVkIHRoYXQgYm90aCBtYXBwaW5ncyBhbmQgc2VxdWVuY2VzIGltcGxlbWVudCB0aGVcbiJfX2NvbnRhaW5zX18oKSIgbWV0aG9kIHRvIGFsbG93IGVmZmljaWVudCB1c2Ugb2YgdGhlICJpbiIgb3BlcmF0b3I7XG5mb3IgbWFwcGluZ3MsICJpbiIgc2hvdWxkIHNlYXJjaCB0aGUgbWFwcGluZ1wncyBrZXlzOyBmb3Igc2VxdWVuY2VzLCBpdFxuc2hvdWxkIHNlYXJjaCB0aHJvdWdoIHRoZSB2YWx1ZXMuICBJdCBpcyBmdXJ0aGVyIHJlY29tbWVuZGVkIHRoYXQgYm90aFxubWFwcGluZ3MgYW5kIHNlcXVlbmNlcyBpbXBsZW1lbnQgdGhlICJfX2l0ZXJfXygpIiBtZXRob2QgdG8gYWxsb3dcbmVmZmljaWVudCBpdGVyYXRpb24gdGhyb3VnaCB0aGUgY29udGFpbmVyOyBmb3IgbWFwcGluZ3MsICJfX2l0ZXJfXygpIlxuc2hvdWxkIGJlIHRoZSBzYW1lIGFzICJrZXlzKCkiOyBmb3Igc2VxdWVuY2VzLCBpdCBzaG91bGQgaXRlcmF0ZVxudGhyb3VnaCB0aGUgdmFsdWVzLlxuXG5vYmplY3QuX19sZW5fXyhzZWxmKVxuXG4gICBDYWxsZWQgdG8gaW1wbGVtZW50IHRoZSBidWlsdC1pbiBmdW5jdGlvbiAibGVuKCkiLiAgU2hvdWxkIHJldHVyblxuICAgdGhlIGxlbmd0aCBvZiB0aGUgb2JqZWN0LCBhbiBpbnRlZ2VyICI+PSIgMC4gIEFsc28sIGFuIG9iamVjdCB0aGF0XG4gICBkb2VzblwndCBkZWZpbmUgYSAiX19ib29sX18oKSIgbWV0aG9kIGFuZCB3aG9zZSAiX19sZW5fXygpIiBtZXRob2RcbiAgIHJldHVybnMgemVybyBpcyBjb25zaWRlcmVkIHRvIGJlIGZhbHNlIGluIGEgQm9vbGVhbiBjb250ZXh0LlxuXG5vYmplY3QuX19sZW5ndGhfaGludF9fKHNlbGYpXG5cbiAgIENhbGxlZCB0byBpbXBsZW1lbnQgIm9wZXJhdG9yLmxlbmd0aF9oaW50KCkiLiBTaG91bGQgcmV0dXJuIGFuXG4gICBlc3RpbWF0ZWQgbGVuZ3RoIGZvciB0aGUgb2JqZWN0ICh3aGljaCBtYXkgYmUgZ3JlYXRlciBvciBsZXNzIHRoYW5cbiAgIHRoZSBhY3R1YWwgbGVuZ3RoKS4gVGhlIGxlbmd0aCBtdXN0IGJlIGFuIGludGVnZXIgIj49IiAwLiBUaGlzXG4gICBtZXRob2QgaXMgcHVyZWx5IGFuIG9wdGltaXphdGlvbiBhbmQgaXMgbmV2ZXIgcmVxdWlyZWQgZm9yXG4gICBjb3JyZWN0bmVzcy5cblxuICAgTmV3IGluIHZlcnNpb24gMy40LlxuXG5Ob3RlOiBTbGljaW5nIGlzIGRvbmUgZXhjbHVzaXZlbHkgd2l0aCB0aGUgZm9sbG93aW5nIHRocmVlIG1ldGhvZHMuXG4gIEEgY2FsbCBsaWtlXG5cbiAgICAgYVsxOjJdID0gYlxuXG4gIGlzIHRyYW5zbGF0ZWQgdG9cblxuICAgICBhW3NsaWNlKDEsIDIsIE5vbmUpXSA9IGJcblxuICBhbmQgc28gZm9ydGguICBNaXNzaW5nIHNsaWNlIGl0ZW1zIGFyZSBhbHdheXMgZmlsbGVkIGluIHdpdGggIk5vbmUiLlxuXG5vYmplY3QuX19nZXRpdGVtX18oc2VsZiwga2V5KVxuXG4gICBDYWxsZWQgdG8gaW1wbGVtZW50IGV2YWx1YXRpb24gb2YgInNlbGZba2V5XSIuIEZvciBzZXF1ZW5jZSB0eXBlcyxcbiAgIHRoZSBhY2NlcHRlZCBrZXlzIHNob3VsZCBiZSBpbnRlZ2VycyBhbmQgc2xpY2Ugb2JqZWN0cy4gIE5vdGUgdGhhdFxuICAgdGhlIHNwZWNpYWwgaW50ZXJwcmV0YXRpb24gb2YgbmVnYXRpdmUgaW5kZXhlcyAoaWYgdGhlIGNsYXNzIHdpc2hlc1xuICAgdG8gZW11bGF0ZSBhIHNlcXVlbmNlIHR5cGUpIGlzIHVwIHRvIHRoZSAiX19nZXRpdGVtX18oKSIgbWV0aG9kLiBJZlxuICAgKmtleSogaXMgb2YgYW4gaW5hcHByb3ByaWF0ZSB0eXBlLCAiVHlwZUVycm9yIiBtYXkgYmUgcmFpc2VkOyBpZiBvZlxuICAgYSB2YWx1ZSBvdXRzaWRlIHRoZSBzZXQgb2YgaW5kZXhlcyBmb3IgdGhlIHNlcXVlbmNlIChhZnRlciBhbnlcbiAgIHNwZWNpYWwgaW50ZXJwcmV0YXRpb24gb2YgbmVnYXRpdmUgdmFsdWVzKSwgIkluZGV4RXJyb3IiIHNob3VsZCBiZVxuICAgcmFpc2VkLiBGb3IgbWFwcGluZyB0eXBlcywgaWYgKmtleSogaXMgbWlzc2luZyAobm90IGluIHRoZVxuICAgY29udGFpbmVyKSwgIktleUVycm9yIiBzaG91bGQgYmUgcmFpc2VkLlxuXG4gICBOb3RlOiAiZm9yIiBsb29wcyBleHBlY3QgdGhhdCBhbiAiSW5kZXhFcnJvciIgd2lsbCBiZSByYWlzZWQgZm9yXG4gICAgIGlsbGVnYWwgaW5kZXhlcyB0byBhbGxvdyBwcm9wZXIgZGV0ZWN0aW9uIG9mIHRoZSBlbmQgb2YgdGhlXG4gICAgIHNlcXVlbmNlLlxuXG5vYmplY3QuX19taXNzaW5nX18oc2VsZiwga2V5KVxuXG4gICBDYWxsZWQgYnkgImRpY3QiLiJfX2dldGl0ZW1fXygpIiB0byBpbXBsZW1lbnQgInNlbGZba2V5XSIgZm9yIGRpY3RcbiAgIHN1YmNsYXNzZXMgd2hlbiBrZXkgaXMgbm90IGluIHRoZSBkaWN0aW9uYXJ5LlxuXG5vYmplY3QuX19zZXRpdGVtX18oc2VsZiwga2V5LCB2YWx1ZSlcblxuICAgQ2FsbGVkIHRvIGltcGxlbWVudCBhc3NpZ25tZW50IHRvICJzZWxmW2tleV0iLiAgU2FtZSBub3RlIGFzIGZvclxuICAgIl9fZ2V0aXRlbV9fKCkiLiAgVGhpcyBzaG91bGQgb25seSBiZSBpbXBsZW1lbnRlZCBmb3IgbWFwcGluZ3MgaWZcbiAgIHRoZSBvYmplY3RzIHN1cHBvcnQgY2hhbmdlcyB0byB0aGUgdmFsdWVzIGZvciBrZXlzLCBvciBpZiBuZXcga2V5c1xuICAgY2FuIGJlIGFkZGVkLCBvciBmb3Igc2VxdWVuY2VzIGlmIGVsZW1lbnRzIGNhbiBiZSByZXBsYWNlZC4gIFRoZVxuICAgc2FtZSBleGNlcHRpb25zIHNob3VsZCBiZSByYWlzZWQgZm9yIGltcHJvcGVyICprZXkqIHZhbHVlcyBhcyBmb3JcbiAgIHRoZSAiX19nZXRpdGVtX18oKSIgbWV0aG9kLlxuXG5vYmplY3QuX19kZWxpdGVtX18oc2VsZiwga2V5KVxuXG4gICBDYWxsZWQgdG8gaW1wbGVtZW50IGRlbGV0aW9uIG9mICJzZWxmW2tleV0iLiAgU2FtZSBub3RlIGFzIGZvclxuICAgIl9fZ2V0aXRlbV9fKCkiLiAgVGhpcyBzaG91bGQgb25seSBiZSBpbXBsZW1lbnRlZCBmb3IgbWFwcGluZ3MgaWZcbiAgIHRoZSBvYmplY3RzIHN1cHBvcnQgcmVtb3ZhbCBvZiBrZXlzLCBvciBmb3Igc2VxdWVuY2VzIGlmIGVsZW1lbnRzXG4gICBjYW4gYmUgcmVtb3ZlZCBmcm9tIHRoZSBzZXF1ZW5jZS4gIFRoZSBzYW1lIGV4Y2VwdGlvbnMgc2hvdWxkIGJlXG4gICByYWlzZWQgZm9yIGltcHJvcGVyICprZXkqIHZhbHVlcyBhcyBmb3IgdGhlICJfX2dldGl0ZW1fXygpIiBtZXRob2QuXG5cbm9iamVjdC5fX2l0ZXJfXyhzZWxmKVxuXG4gICBUaGlzIG1ldGhvZCBpcyBjYWxsZWQgd2hlbiBhbiBpdGVyYXRvciBpcyByZXF1aXJlZCBmb3IgYSBjb250YWluZXIuXG4gICBUaGlzIG1ldGhvZCBzaG91bGQgcmV0dXJuIGEgbmV3IGl0ZXJhdG9yIG9iamVjdCB0aGF0IGNhbiBpdGVyYXRlXG4gICBvdmVyIGFsbCB0aGUgb2JqZWN0cyBpbiB0aGUgY29udGFpbmVyLiAgRm9yIG1hcHBpbmdzLCBpdCBzaG91bGRcbiAgIGl0ZXJhdGUgb3ZlciB0aGUga2V5cyBvZiB0aGUgY29udGFpbmVyLlxuXG4gICBJdGVyYXRvciBvYmplY3RzIGFsc28gbmVlZCB0byBpbXBsZW1lbnQgdGhpcyBtZXRob2Q7IHRoZXkgYXJlXG4gICByZXF1aXJlZCB0byByZXR1cm4gdGhlbXNlbHZlcy4gIEZvciBtb3JlIGluZm9ybWF0aW9uIG9uIGl0ZXJhdG9yXG4gICBvYmplY3RzLCBzZWUgKkl0ZXJhdG9yIFR5cGVzKi5cblxub2JqZWN0Ll9fcmV2ZXJzZWRfXyhzZWxmKVxuXG4gICBDYWxsZWQgKGlmIHByZXNlbnQpIGJ5IHRoZSAicmV2ZXJzZWQoKSIgYnVpbHQtaW4gdG8gaW1wbGVtZW50XG4gICByZXZlcnNlIGl0ZXJhdGlvbi4gIEl0IHNob3VsZCByZXR1cm4gYSBuZXcgaXRlcmF0b3Igb2JqZWN0IHRoYXRcbiAgIGl0ZXJhdGVzIG92ZXIgYWxsIHRoZSBvYmplY3RzIGluIHRoZSBjb250YWluZXIgaW4gcmV2ZXJzZSBvcmRlci5cblxuICAgSWYgdGhlICJfX3JldmVyc2VkX18oKSIgbWV0aG9kIGlzIG5vdCBwcm92aWRlZCwgdGhlICJyZXZlcnNlZCgpIlxuICAgYnVpbHQtaW4gd2lsbCBmYWxsIGJhY2sgdG8gdXNpbmcgdGhlIHNlcXVlbmNlIHByb3RvY29sICgiX19sZW5fXygpIlxuICAgYW5kICJfX2dldGl0ZW1fXygpIikuICBPYmplY3RzIHRoYXQgc3VwcG9ydCB0aGUgc2VxdWVuY2UgcHJvdG9jb2xcbiAgIHNob3VsZCBvbmx5IHByb3ZpZGUgIl9fcmV2ZXJzZWRfXygpIiBpZiB0aGV5IGNhbiBwcm92aWRlIGFuXG4gICBpbXBsZW1lbnRhdGlvbiB0aGF0IGlzIG1vcmUgZWZmaWNpZW50IHRoYW4gdGhlIG9uZSBwcm92aWRlZCBieVxuICAgInJldmVyc2VkKCkiLlxuXG5UaGUgbWVtYmVyc2hpcCB0ZXN0IG9wZXJhdG9ycyAoImluIiBhbmQgIm5vdCBpbiIpIGFyZSBub3JtYWxseVxuaW1wbGVtZW50ZWQgYXMgYW4gaXRlcmF0aW9uIHRocm91Z2ggYSBzZXF1ZW5jZS4gIEhvd2V2ZXIsIGNvbnRhaW5lclxub2JqZWN0cyBjYW4gc3VwcGx5IHRoZSBmb2xsb3dpbmcgc3BlY2lhbCBtZXRob2Qgd2l0aCBhIG1vcmUgZWZmaWNpZW50XG5pbXBsZW1lbnRhdGlvbiwgd2hpY2ggYWxzbyBkb2VzIG5vdCByZXF1aXJlIHRoZSBvYmplY3QgYmUgYSBzZXF1ZW5jZS5cblxub2JqZWN0Ll9fY29udGFpbnNfXyhzZWxmLCBpdGVtKVxuXG4gICBDYWxsZWQgdG8gaW1wbGVtZW50IG1lbWJlcnNoaXAgdGVzdCBvcGVyYXRvcnMuICBTaG91bGQgcmV0dXJuIHRydWVcbiAgIGlmICppdGVtKiBpcyBpbiAqc2VsZiosIGZhbHNlIG90aGVyd2lzZS4gIEZvciBtYXBwaW5nIG9iamVjdHMsIHRoaXNcbiAgIHNob3VsZCBjb25zaWRlciB0aGUga2V5cyBvZiB0aGUgbWFwcGluZyByYXRoZXIgdGhhbiB0aGUgdmFsdWVzIG9yXG4gICB0aGUga2V5LWl0ZW0gcGFpcnMuXG5cbiAgIEZvciBvYmplY3RzIHRoYXQgZG9uXCd0IGRlZmluZSAiX19jb250YWluc19fKCkiLCB0aGUgbWVtYmVyc2hpcCB0ZXN0XG4gICBmaXJzdCB0cmllcyBpdGVyYXRpb24gdmlhICJfX2l0ZXJfXygpIiwgdGhlbiB0aGUgb2xkIHNlcXVlbmNlXG4gICBpdGVyYXRpb24gcHJvdG9jb2wgdmlhICJfX2dldGl0ZW1fXygpIiwgc2VlICp0aGlzIHNlY3Rpb24gaW4gdGhlXG4gICBsYW5ndWFnZSByZWZlcmVuY2UqLlxuXG5cbkVtdWxhdGluZyBudW1lcmljIHR5cGVzXG49PT09PT09PT09PT09PT09PT09PT09PVxuXG5UaGUgZm9sbG93aW5nIG1ldGhvZHMgY2FuIGJlIGRlZmluZWQgdG8gZW11bGF0ZSBudW1lcmljIG9iamVjdHMuXG5NZXRob2RzIGNvcnJlc3BvbmRpbmcgdG8gb3BlcmF0aW9ucyB0aGF0IGFyZSBub3Qgc3VwcG9ydGVkIGJ5IHRoZVxucGFydGljdWxhciBraW5kIG9mIG51bWJlciBpbXBsZW1lbnRlZCAoZS5nLiwgYml0d2lzZSBvcGVyYXRpb25zIGZvclxubm9uLWludGVncmFsIG51bWJlcnMpIHNob3VsZCBiZSBsZWZ0IHVuZGVmaW5lZC5cblxub2JqZWN0Ll9fYWRkX18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19zdWJfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX211bF9fKHNlbGYsIG90aGVyKVxub2JqZWN0Ll9fbWF0bXVsX18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX190cnVlZGl2X18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19mbG9vcmRpdl9fKHNlbGYsIG90aGVyKVxub2JqZWN0Ll9fbW9kX18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19kaXZtb2RfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX3Bvd19fKHNlbGYsIG90aGVyWywgbW9kdWxvXSlcbm9iamVjdC5fX2xzaGlmdF9fKHNlbGYsIG90aGVyKVxub2JqZWN0Ll9fcnNoaWZ0X18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19hbmRfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX3hvcl9fKHNlbGYsIG90aGVyKVxub2JqZWN0Ll9fb3JfXyhzZWxmLCBvdGhlcilcblxuICAgVGhlc2UgbWV0aG9kcyBhcmUgY2FsbGVkIHRvIGltcGxlbWVudCB0aGUgYmluYXJ5IGFyaXRobWV0aWNcbiAgIG9wZXJhdGlvbnMgKCIrIiwgIi0iLCAiKiIsICJAIiwgIi8iLCAiLy8iLCAiJSIsICJkaXZtb2QoKSIsXG4gICAicG93KCkiLCAiKioiLCAiPDwiLCAiPj4iLCAiJiIsICJeIiwgInwiKS4gIEZvciBpbnN0YW5jZSwgdG9cbiAgIGV2YWx1YXRlIHRoZSBleHByZXNzaW9uICJ4ICsgeSIsIHdoZXJlICp4KiBpcyBhbiBpbnN0YW5jZSBvZiBhXG4gICBjbGFzcyB0aGF0IGhhcyBhbiAiX19hZGRfXygpIiBtZXRob2QsICJ4Ll9fYWRkX18oeSkiIGlzIGNhbGxlZC5cbiAgIFRoZSAiX19kaXZtb2RfXygpIiBtZXRob2Qgc2hvdWxkIGJlIHRoZSBlcXVpdmFsZW50IHRvIHVzaW5nXG4gICAiX19mbG9vcmRpdl9fKCkiIGFuZCAiX19tb2RfXygpIjsgaXQgc2hvdWxkIG5vdCBiZSByZWxhdGVkIHRvXG4gICAiX190cnVlZGl2X18oKSIuICBOb3RlIHRoYXQgIl9fcG93X18oKSIgc2hvdWxkIGJlIGRlZmluZWQgdG8gYWNjZXB0XG4gICBhbiBvcHRpb25hbCB0aGlyZCBhcmd1bWVudCBpZiB0aGUgdGVybmFyeSB2ZXJzaW9uIG9mIHRoZSBidWlsdC1pblxuICAgInBvdygpIiBmdW5jdGlvbiBpcyB0byBiZSBzdXBwb3J0ZWQuXG5cbiAgIElmIG9uZSBvZiB0aG9zZSBtZXRob2RzIGRvZXMgbm90IHN1cHBvcnQgdGhlIG9wZXJhdGlvbiB3aXRoIHRoZVxuICAgc3VwcGxpZWQgYXJndW1lbnRzLCBpdCBzaG91bGQgcmV0dXJuICJOb3RJbXBsZW1lbnRlZCIuXG5cbm9iamVjdC5fX3JhZGRfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX3JzdWJfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX3JtdWxfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX3JtYXRtdWxfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX3J0cnVlZGl2X18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19yZmxvb3JkaXZfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX3Jtb2RfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX3JkaXZtb2RfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX3Jwb3dfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX3Jsc2hpZnRfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX3Jyc2hpZnRfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX3JhbmRfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX3J4b3JfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX3Jvcl9fKHNlbGYsIG90aGVyKVxuXG4gICBUaGVzZSBtZXRob2RzIGFyZSBjYWxsZWQgdG8gaW1wbGVtZW50IHRoZSBiaW5hcnkgYXJpdGhtZXRpY1xuICAgb3BlcmF0aW9ucyAoIisiLCAiLSIsICIqIiwgIkAiLCAiLyIsICIvLyIsICIlIiwgImRpdm1vZCgpIixcbiAgICJwb3coKSIsICIqKiIsICI8PCIsICI+PiIsICImIiwgIl4iLCAifCIpIHdpdGggcmVmbGVjdGVkIChzd2FwcGVkKVxuICAgb3BlcmFuZHMuICBUaGVzZSBmdW5jdGlvbnMgYXJlIG9ubHkgY2FsbGVkIGlmIHRoZSBsZWZ0IG9wZXJhbmQgZG9lc1xuICAgbm90IHN1cHBvcnQgdGhlIGNvcnJlc3BvbmRpbmcgb3BlcmF0aW9uIGFuZCB0aGUgb3BlcmFuZHMgYXJlIG9mXG4gICBkaWZmZXJlbnQgdHlwZXMuIFsyXSBGb3IgaW5zdGFuY2UsIHRvIGV2YWx1YXRlIHRoZSBleHByZXNzaW9uICJ4IC1cbiAgIHkiLCB3aGVyZSAqeSogaXMgYW4gaW5zdGFuY2Ugb2YgYSBjbGFzcyB0aGF0IGhhcyBhbiAiX19yc3ViX18oKSJcbiAgIG1ldGhvZCwgInkuX19yc3ViX18oeCkiIGlzIGNhbGxlZCBpZiAieC5fX3N1Yl9fKHkpIiByZXR1cm5zXG4gICAqTm90SW1wbGVtZW50ZWQqLlxuXG4gICBOb3RlIHRoYXQgdGVybmFyeSAicG93KCkiIHdpbGwgbm90IHRyeSBjYWxsaW5nICJfX3Jwb3dfXygpIiAodGhlXG4gICBjb2VyY2lvbiBydWxlcyB3b3VsZCBiZWNvbWUgdG9vIGNvbXBsaWNhdGVkKS5cblxuICAgTm90ZTogSWYgdGhlIHJpZ2h0IG9wZXJhbmRcJ3MgdHlwZSBpcyBhIHN1YmNsYXNzIG9mIHRoZSBsZWZ0XG4gICAgIG9wZXJhbmRcJ3MgdHlwZSBhbmQgdGhhdCBzdWJjbGFzcyBwcm92aWRlcyB0aGUgcmVmbGVjdGVkIG1ldGhvZFxuICAgICBmb3IgdGhlIG9wZXJhdGlvbiwgdGhpcyBtZXRob2Qgd2lsbCBiZSBjYWxsZWQgYmVmb3JlIHRoZSBsZWZ0XG4gICAgIG9wZXJhbmRcJ3Mgbm9uLXJlZmxlY3RlZCBtZXRob2QuICBUaGlzIGJlaGF2aW9yIGFsbG93cyBzdWJjbGFzc2VzXG4gICAgIHRvIG92ZXJyaWRlIHRoZWlyIGFuY2VzdG9yc1wnIG9wZXJhdGlvbnMuXG5cbm9iamVjdC5fX2lhZGRfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX2lzdWJfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX2ltdWxfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX2ltYXRtdWxfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX2l0cnVlZGl2X18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19pZmxvb3JkaXZfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX2ltb2RfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX2lwb3dfXyhzZWxmLCBvdGhlclssIG1vZHVsb10pXG5vYmplY3QuX19pbHNoaWZ0X18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19pcnNoaWZ0X18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19pYW5kX18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19peG9yX18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19pb3JfXyhzZWxmLCBvdGhlcilcblxuICAgVGhlc2UgbWV0aG9kcyBhcmUgY2FsbGVkIHRvIGltcGxlbWVudCB0aGUgYXVnbWVudGVkIGFyaXRobWV0aWNcbiAgIGFzc2lnbm1lbnRzICgiKz0iLCAiLT0iLCAiKj0iLCAiQD0iLCAiLz0iLCAiLy89IiwgIiU9IiwgIioqPSIsXG4gICAiPDw9IiwgIj4+PSIsICImPSIsICJePSIsICJ8PSIpLiAgVGhlc2UgbWV0aG9kcyBzaG91bGQgYXR0ZW1wdCB0b1xuICAgZG8gdGhlIG9wZXJhdGlvbiBpbi1wbGFjZSAobW9kaWZ5aW5nICpzZWxmKikgYW5kIHJldHVybiB0aGUgcmVzdWx0XG4gICAod2hpY2ggY291bGQgYmUsIGJ1dCBkb2VzIG5vdCBoYXZlIHRvIGJlLCAqc2VsZiopLiAgSWYgYSBzcGVjaWZpY1xuICAgbWV0aG9kIGlzIG5vdCBkZWZpbmVkLCB0aGUgYXVnbWVudGVkIGFzc2lnbm1lbnQgZmFsbHMgYmFjayB0byB0aGVcbiAgIG5vcm1hbCBtZXRob2RzLiAgRm9yIGluc3RhbmNlLCBpZiAqeCogaXMgYW4gaW5zdGFuY2Ugb2YgYSBjbGFzc1xuICAgd2l0aCBhbiAiX19pYWRkX18oKSIgbWV0aG9kLCAieCArPSB5IiBpcyBlcXVpdmFsZW50IHRvICJ4ID1cbiAgIHguX19pYWRkX18oeSkiIC4gT3RoZXJ3aXNlLCAieC5fX2FkZF9fKHkpIiBhbmQgInkuX19yYWRkX18oeCkiIGFyZVxuICAgY29uc2lkZXJlZCwgYXMgd2l0aCB0aGUgZXZhbHVhdGlvbiBvZiAieCArIHkiLiBJbiBjZXJ0YWluXG4gICBzaXR1YXRpb25zLCBhdWdtZW50ZWQgYXNzaWdubWVudCBjYW4gcmVzdWx0IGluIHVuZXhwZWN0ZWQgZXJyb3JzXG4gICAoc2VlICpXaHkgZG9lcyBhX3R1cGxlW2ldICs9IFtcJ2l0ZW1cJ10gcmFpc2UgYW4gZXhjZXB0aW9uIHdoZW4gdGhlXG4gICBhZGRpdGlvbiB3b3Jrcz8qKSwgYnV0IHRoaXMgYmVoYXZpb3IgaXMgaW4gZmFjdCBwYXJ0IG9mIHRoZSBkYXRhXG4gICBtb2RlbC5cblxub2JqZWN0Ll9fbmVnX18oc2VsZilcbm9iamVjdC5fX3Bvc19fKHNlbGYpXG5vYmplY3QuX19hYnNfXyhzZWxmKVxub2JqZWN0Ll9faW52ZXJ0X18oc2VsZilcblxuICAgQ2FsbGVkIHRvIGltcGxlbWVudCB0aGUgdW5hcnkgYXJpdGhtZXRpYyBvcGVyYXRpb25zICgiLSIsICIrIixcbiAgICJhYnMoKSIgYW5kICJ+IikuXG5cbm9iamVjdC5fX2NvbXBsZXhfXyhzZWxmKVxub2JqZWN0Ll9faW50X18oc2VsZilcbm9iamVjdC5fX2Zsb2F0X18oc2VsZilcbm9iamVjdC5fX3JvdW5kX18oc2VsZlssIG5dKVxuXG4gICBDYWxsZWQgdG8gaW1wbGVtZW50IHRoZSBidWlsdC1pbiBmdW5jdGlvbnMgImNvbXBsZXgoKSIsICJpbnQoKSIsXG4gICAiZmxvYXQoKSIgYW5kICJyb3VuZCgpIi4gIFNob3VsZCByZXR1cm4gYSB2YWx1ZSBvZiB0aGUgYXBwcm9wcmlhdGVcbiAgIHR5cGUuXG5cbm9iamVjdC5fX2luZGV4X18oc2VsZilcblxuICAgQ2FsbGVkIHRvIGltcGxlbWVudCAib3BlcmF0b3IuaW5kZXgoKSIsIGFuZCB3aGVuZXZlciBQeXRob24gbmVlZHNcbiAgIHRvIGxvc3NsZXNzbHkgY29udmVydCB0aGUgbnVtZXJpYyBvYmplY3QgdG8gYW4gaW50ZWdlciBvYmplY3QgKHN1Y2hcbiAgIGFzIGluIHNsaWNpbmcsIG9yIGluIHRoZSBidWlsdC1pbiAiYmluKCkiLCAiaGV4KCkiIGFuZCAib2N0KCkiXG4gICBmdW5jdGlvbnMpLiBQcmVzZW5jZSBvZiB0aGlzIG1ldGhvZCBpbmRpY2F0ZXMgdGhhdCB0aGUgbnVtZXJpY1xuICAgb2JqZWN0IGlzIGFuIGludGVnZXIgdHlwZS4gIE11c3QgcmV0dXJuIGFuIGludGVnZXIuXG5cbiAgIE5vdGU6IEluIG9yZGVyIHRvIGhhdmUgYSBjb2hlcmVudCBpbnRlZ2VyIHR5cGUgY2xhc3MsIHdoZW5cbiAgICAgIl9faW5kZXhfXygpIiBpcyBkZWZpbmVkICJfX2ludF9fKCkiIHNob3VsZCBhbHNvIGJlIGRlZmluZWQsIGFuZFxuICAgICBib3RoIHNob3VsZCByZXR1cm4gdGhlIHNhbWUgdmFsdWUuXG5cblxuV2l0aCBTdGF0ZW1lbnQgQ29udGV4dCBNYW5hZ2Vyc1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5BICpjb250ZXh0IG1hbmFnZXIqIGlzIGFuIG9iamVjdCB0aGF0IGRlZmluZXMgdGhlIHJ1bnRpbWUgY29udGV4dCB0b1xuYmUgZXN0YWJsaXNoZWQgd2hlbiBleGVjdXRpbmcgYSAid2l0aCIgc3RhdGVtZW50LiBUaGUgY29udGV4dCBtYW5hZ2VyXG5oYW5kbGVzIHRoZSBlbnRyeSBpbnRvLCBhbmQgdGhlIGV4aXQgZnJvbSwgdGhlIGRlc2lyZWQgcnVudGltZSBjb250ZXh0XG5mb3IgdGhlIGV4ZWN1dGlvbiBvZiB0aGUgYmxvY2sgb2YgY29kZS4gIENvbnRleHQgbWFuYWdlcnMgYXJlIG5vcm1hbGx5XG5pbnZva2VkIHVzaW5nIHRoZSAid2l0aCIgc3RhdGVtZW50IChkZXNjcmliZWQgaW4gc2VjdGlvbiAqVGhlIHdpdGhcbnN0YXRlbWVudCopLCBidXQgY2FuIGFsc28gYmUgdXNlZCBieSBkaXJlY3RseSBpbnZva2luZyB0aGVpciBtZXRob2RzLlxuXG5UeXBpY2FsIHVzZXMgb2YgY29udGV4dCBtYW5hZ2VycyBpbmNsdWRlIHNhdmluZyBhbmQgcmVzdG9yaW5nIHZhcmlvdXNcbmtpbmRzIG9mIGdsb2JhbCBzdGF0ZSwgbG9ja2luZyBhbmQgdW5sb2NraW5nIHJlc291cmNlcywgY2xvc2luZyBvcGVuZWRcbmZpbGVzLCBldGMuXG5cbkZvciBtb3JlIGluZm9ybWF0aW9uIG9uIGNvbnRleHQgbWFuYWdlcnMsIHNlZSAqQ29udGV4dCBNYW5hZ2VyIFR5cGVzKi5cblxub2JqZWN0Ll9fZW50ZXJfXyhzZWxmKVxuXG4gICBFbnRlciB0aGUgcnVudGltZSBjb250ZXh0IHJlbGF0ZWQgdG8gdGhpcyBvYmplY3QuIFRoZSAid2l0aCJcbiAgIHN0YXRlbWVudCB3aWxsIGJpbmQgdGhpcyBtZXRob2RcJ3MgcmV0dXJuIHZhbHVlIHRvIHRoZSB0YXJnZXQocylcbiAgIHNwZWNpZmllZCBpbiB0aGUgImFzIiBjbGF1c2Ugb2YgdGhlIHN0YXRlbWVudCwgaWYgYW55LlxuXG5vYmplY3QuX19leGl0X18oc2VsZiwgZXhjX3R5cGUsIGV4Y192YWx1ZSwgdHJhY2ViYWNrKVxuXG4gICBFeGl0IHRoZSBydW50aW1lIGNvbnRleHQgcmVsYXRlZCB0byB0aGlzIG9iamVjdC4gVGhlIHBhcmFtZXRlcnNcbiAgIGRlc2NyaWJlIHRoZSBleGNlcHRpb24gdGhhdCBjYXVzZWQgdGhlIGNvbnRleHQgdG8gYmUgZXhpdGVkLiBJZiB0aGVcbiAgIGNvbnRleHQgd2FzIGV4aXRlZCB3aXRob3V0IGFuIGV4Y2VwdGlvbiwgYWxsIHRocmVlIGFyZ3VtZW50cyB3aWxsXG4gICBiZSAiTm9uZSIuXG5cbiAgIElmIGFuIGV4Y2VwdGlvbiBpcyBzdXBwbGllZCwgYW5kIHRoZSBtZXRob2Qgd2lzaGVzIHRvIHN1cHByZXNzIHRoZVxuICAgZXhjZXB0aW9uIChpLmUuLCBwcmV2ZW50IGl0IGZyb20gYmVpbmcgcHJvcGFnYXRlZCksIGl0IHNob3VsZFxuICAgcmV0dXJuIGEgdHJ1ZSB2YWx1ZS4gT3RoZXJ3aXNlLCB0aGUgZXhjZXB0aW9uIHdpbGwgYmUgcHJvY2Vzc2VkXG4gICBub3JtYWxseSB1cG9uIGV4aXQgZnJvbSB0aGlzIG1ldGhvZC5cblxuICAgTm90ZSB0aGF0ICJfX2V4aXRfXygpIiBtZXRob2RzIHNob3VsZCBub3QgcmVyYWlzZSB0aGUgcGFzc2VkLWluXG4gICBleGNlcHRpb247IHRoaXMgaXMgdGhlIGNhbGxlclwncyByZXNwb25zaWJpbGl0eS5cblxuU2VlIGFsc286ICoqUEVQIDAzNDMqKiAtIFRoZSAid2l0aCIgc3RhdGVtZW50XG5cbiAgICAgVGhlIHNwZWNpZmljYXRpb24sIGJhY2tncm91bmQsIGFuZCBleGFtcGxlcyBmb3IgdGhlIFB5dGhvbiAid2l0aCJcbiAgICAgc3RhdGVtZW50LlxuXG5cblNwZWNpYWwgbWV0aG9kIGxvb2t1cFxuPT09PT09PT09PT09PT09PT09PT09XG5cbkZvciBjdXN0b20gY2xhc3NlcywgaW1wbGljaXQgaW52b2NhdGlvbnMgb2Ygc3BlY2lhbCBtZXRob2RzIGFyZSBvbmx5XG5ndWFyYW50ZWVkIHRvIHdvcmsgY29ycmVjdGx5IGlmIGRlZmluZWQgb24gYW4gb2JqZWN0XCdzIHR5cGUsIG5vdCBpblxudGhlIG9iamVjdFwncyBpbnN0YW5jZSBkaWN0aW9uYXJ5LiAgVGhhdCBiZWhhdmlvdXIgaXMgdGhlIHJlYXNvbiB3aHlcbnRoZSBmb2xsb3dpbmcgY29kZSByYWlzZXMgYW4gZXhjZXB0aW9uOlxuXG4gICA+Pj4gY2xhc3MgQzpcbiAgIC4uLiAgICAgcGFzc1xuICAgLi4uXG4gICA+Pj4gYyA9IEMoKVxuICAgPj4+IGMuX19sZW5fXyA9IGxhbWJkYTogNVxuICAgPj4+IGxlbihjKVxuICAgVHJhY2ViYWNrIChtb3N0IHJlY2VudCBjYWxsIGxhc3QpOlxuICAgICBGaWxlICI8c3RkaW4+IiwgbGluZSAxLCBpbiA8bW9kdWxlPlxuICAgVHlwZUVycm9yOiBvYmplY3Qgb2YgdHlwZSBcJ0NcJyBoYXMgbm8gbGVuKClcblxuVGhlIHJhdGlvbmFsZSBiZWhpbmQgdGhpcyBiZWhhdmlvdXIgbGllcyB3aXRoIGEgbnVtYmVyIG9mIHNwZWNpYWxcbm1ldGhvZHMgc3VjaCBhcyAiX19oYXNoX18oKSIgYW5kICJfX3JlcHJfXygpIiB0aGF0IGFyZSBpbXBsZW1lbnRlZCBieVxuYWxsIG9iamVjdHMsIGluY2x1ZGluZyB0eXBlIG9iamVjdHMuIElmIHRoZSBpbXBsaWNpdCBsb29rdXAgb2YgdGhlc2Vcbm1ldGhvZHMgdXNlZCB0aGUgY29udmVudGlvbmFsIGxvb2t1cCBwcm9jZXNzLCB0aGV5IHdvdWxkIGZhaWwgd2hlblxuaW52b2tlZCBvbiB0aGUgdHlwZSBvYmplY3QgaXRzZWxmOlxuXG4gICA+Pj4gMSAuX19oYXNoX18oKSA9PSBoYXNoKDEpXG4gICBUcnVlXG4gICA+Pj4gaW50Ll9faGFzaF9fKCkgPT0gaGFzaChpbnQpXG4gICBUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6XG4gICAgIEZpbGUgIjxzdGRpbj4iLCBsaW5lIDEsIGluIDxtb2R1bGU+XG4gICBUeXBlRXJyb3I6IGRlc2NyaXB0b3IgXCdfX2hhc2hfX1wnIG9mIFwnaW50XCcgb2JqZWN0IG5lZWRzIGFuIGFyZ3VtZW50XG5cbkluY29ycmVjdGx5IGF0dGVtcHRpbmcgdG8gaW52b2tlIGFuIHVuYm91bmQgbWV0aG9kIG9mIGEgY2xhc3MgaW4gdGhpc1xud2F5IGlzIHNvbWV0aW1lcyByZWZlcnJlZCB0byBhcyBcJ21ldGFjbGFzcyBjb25mdXNpb25cJywgYW5kIGlzIGF2b2lkZWRcbmJ5IGJ5cGFzc2luZyB0aGUgaW5zdGFuY2Ugd2hlbiBsb29raW5nIHVwIHNwZWNpYWwgbWV0aG9kczpcblxuICAgPj4+IHR5cGUoMSkuX19oYXNoX18oMSkgPT0gaGFzaCgxKVxuICAgVHJ1ZVxuICAgPj4+IHR5cGUoaW50KS5fX2hhc2hfXyhpbnQpID09IGhhc2goaW50KVxuICAgVHJ1ZVxuXG5JbiBhZGRpdGlvbiB0byBieXBhc3NpbmcgYW55IGluc3RhbmNlIGF0dHJpYnV0ZXMgaW4gdGhlIGludGVyZXN0IG9mXG5jb3JyZWN0bmVzcywgaW1wbGljaXQgc3BlY2lhbCBtZXRob2QgbG9va3VwIGdlbmVyYWxseSBhbHNvIGJ5cGFzc2VzXG50aGUgIl9fZ2V0YXR0cmlidXRlX18oKSIgbWV0aG9kIGV2ZW4gb2YgdGhlIG9iamVjdFwncyBtZXRhY2xhc3M6XG5cbiAgID4+PiBjbGFzcyBNZXRhKHR5cGUpOlxuICAgLi4uICAgIGRlZiBfX2dldGF0dHJpYnV0ZV9fKCphcmdzKTpcbiAgIC4uLiAgICAgICBwcmludCgiTWV0YWNsYXNzIGdldGF0dHJpYnV0ZSBpbnZva2VkIilcbiAgIC4uLiAgICAgICByZXR1cm4gdHlwZS5fX2dldGF0dHJpYnV0ZV9fKCphcmdzKVxuICAgLi4uXG4gICA+Pj4gY2xhc3MgQyhvYmplY3QsIG1ldGFjbGFzcz1NZXRhKTpcbiAgIC4uLiAgICAgZGVmIF9fbGVuX18oc2VsZik6XG4gICAuLi4gICAgICAgICByZXR1cm4gMTBcbiAgIC4uLiAgICAgZGVmIF9fZ2V0YXR0cmlidXRlX18oKmFyZ3MpOlxuICAgLi4uICAgICAgICAgcHJpbnQoIkNsYXNzIGdldGF0dHJpYnV0ZSBpbnZva2VkIilcbiAgIC4uLiAgICAgICAgIHJldHVybiBvYmplY3QuX19nZXRhdHRyaWJ1dGVfXygqYXJncylcbiAgIC4uLlxuICAgPj4+IGMgPSBDKClcbiAgID4+PiBjLl9fbGVuX18oKSAgICAgICAgICAgICAgICAgIyBFeHBsaWNpdCBsb29rdXAgdmlhIGluc3RhbmNlXG4gICBDbGFzcyBnZXRhdHRyaWJ1dGUgaW52b2tlZFxuICAgMTBcbiAgID4+PiB0eXBlKGMpLl9fbGVuX18oYykgICAgICAgICAgIyBFeHBsaWNpdCBsb29rdXAgdmlhIHR5cGVcbiAgIE1ldGFjbGFzcyBnZXRhdHRyaWJ1dGUgaW52b2tlZFxuICAgMTBcbiAgID4+PiBsZW4oYykgICAgICAgICAgICAgICAgICAgICAgIyBJbXBsaWNpdCBsb29rdXBcbiAgIDEwXG5cbkJ5cGFzc2luZyB0aGUgIl9fZ2V0YXR0cmlidXRlX18oKSIgbWFjaGluZXJ5IGluIHRoaXMgZmFzaGlvbiBwcm92aWRlc1xuc2lnbmlmaWNhbnQgc2NvcGUgZm9yIHNwZWVkIG9wdGltaXNhdGlvbnMgd2l0aGluIHRoZSBpbnRlcnByZXRlciwgYXRcbnRoZSBjb3N0IG9mIHNvbWUgZmxleGliaWxpdHkgaW4gdGhlIGhhbmRsaW5nIG9mIHNwZWNpYWwgbWV0aG9kcyAodGhlXG5zcGVjaWFsIG1ldGhvZCAqbXVzdCogYmUgc2V0IG9uIHRoZSBjbGFzcyBvYmplY3QgaXRzZWxmIGluIG9yZGVyIHRvIGJlXG5jb25zaXN0ZW50bHkgaW52b2tlZCBieSB0aGUgaW50ZXJwcmV0ZXIpLlxuXG4tWyBGb290bm90ZXMgXS1cblxuWzFdIEl0ICppcyogcG9zc2libGUgaW4gc29tZSBjYXNlcyB0byBjaGFuZ2UgYW4gb2JqZWN0XCdzIHR5cGUsXG4gICAgdW5kZXIgY2VydGFpbiBjb250cm9sbGVkIGNvbmRpdGlvbnMuIEl0IGdlbmVyYWxseSBpc25cJ3QgYSBnb29kXG4gICAgaWRlYSB0aG91Z2gsIHNpbmNlIGl0IGNhbiBsZWFkIHRvIHNvbWUgdmVyeSBzdHJhbmdlIGJlaGF2aW91ciBpZlxuICAgIGl0IGlzIGhhbmRsZWQgaW5jb3JyZWN0bHkuXG5cblsyXSBGb3Igb3BlcmFuZHMgb2YgdGhlIHNhbWUgdHlwZSwgaXQgaXMgYXNzdW1lZCB0aGF0IGlmIHRoZSBub24tXG4gICAgcmVmbGVjdGVkIG1ldGhvZCAoc3VjaCBhcyAiX19hZGRfXygpIikgZmFpbHMgdGhlIG9wZXJhdGlvbiBpcyBub3RcbiAgICBzdXBwb3J0ZWQsIHdoaWNoIGlzIHdoeSB0aGUgcmVmbGVjdGVkIG1ldGhvZCBpcyBub3QgY2FsbGVkLlxuJywKICAnc3RyaW5nLW1ldGhvZHMnOiB1J1xuU3RyaW5nIE1ldGhvZHNcbioqKioqKioqKioqKioqXG5cblN0cmluZ3MgaW1wbGVtZW50IGFsbCBvZiB0aGUgKmNvbW1vbiogc2VxdWVuY2Ugb3BlcmF0aW9ucywgYWxvbmcgd2l0aFxudGhlIGFkZGl0aW9uYWwgbWV0aG9kcyBkZXNjcmliZWQgYmVsb3cuXG5cblN0cmluZ3MgYWxzbyBzdXBwb3J0IHR3byBzdHlsZXMgb2Ygc3RyaW5nIGZvcm1hdHRpbmcsIG9uZSBwcm92aWRpbmcgYVxubGFyZ2UgZGVncmVlIG9mIGZsZXhpYmlsaXR5IGFuZCBjdXN0b21pemF0aW9uIChzZWUgInN0ci5mb3JtYXQoKSIsXG4qRm9ybWF0IFN0cmluZyBTeW50YXgqIGFuZCAqU3RyaW5nIEZvcm1hdHRpbmcqKSBhbmQgdGhlIG90aGVyIGJhc2VkIG9uXG5DICJwcmludGYiIHN0eWxlIGZvcm1hdHRpbmcgdGhhdCBoYW5kbGVzIGEgbmFycm93ZXIgcmFuZ2Ugb2YgdHlwZXMgYW5kXG5pcyBzbGlnaHRseSBoYXJkZXIgdG8gdXNlIGNvcnJlY3RseSwgYnV0IGlzIG9mdGVuIGZhc3RlciBmb3IgdGhlIGNhc2VzXG5pdCBjYW4gaGFuZGxlICgqcHJpbnRmLXN0eWxlIFN0cmluZyBGb3JtYXR0aW5nKikuXG5cblRoZSAqVGV4dCBQcm9jZXNzaW5nIFNlcnZpY2VzKiBzZWN0aW9uIG9mIHRoZSBzdGFuZGFyZCBsaWJyYXJ5IGNvdmVyc1xuYSBudW1iZXIgb2Ygb3RoZXIgbW9kdWxlcyB0aGF0IHByb3ZpZGUgdmFyaW91cyB0ZXh0IHJlbGF0ZWQgdXRpbGl0aWVzXG4oaW5jbHVkaW5nIHJlZ3VsYXIgZXhwcmVzc2lvbiBzdXBwb3J0IGluIHRoZSAicmUiIG1vZHVsZSkuXG5cbnN0ci5jYXBpdGFsaXplKClcblxuICAgUmV0dXJuIGEgY29weSBvZiB0aGUgc3RyaW5nIHdpdGggaXRzIGZpcnN0IGNoYXJhY3RlciBjYXBpdGFsaXplZFxuICAgYW5kIHRoZSByZXN0IGxvd2VyY2FzZWQuXG5cbnN0ci5jYXNlZm9sZCgpXG5cbiAgIFJldHVybiBhIGNhc2Vmb2xkZWQgY29weSBvZiB0aGUgc3RyaW5nLiBDYXNlZm9sZGVkIHN0cmluZ3MgbWF5IGJlXG4gICB1c2VkIGZvciBjYXNlbGVzcyBtYXRjaGluZy5cblxuICAgQ2FzZWZvbGRpbmcgaXMgc2ltaWxhciB0byBsb3dlcmNhc2luZyBidXQgbW9yZSBhZ2dyZXNzaXZlIGJlY2F1c2VcbiAgIGl0IGlzIGludGVuZGVkIHRvIHJlbW92ZSBhbGwgY2FzZSBkaXN0aW5jdGlvbnMgaW4gYSBzdHJpbmcuIEZvclxuICAgZXhhbXBsZSwgdGhlIEdlcm1hbiBsb3dlcmNhc2UgbGV0dGVyICJcJ1x4ZGZcJyIgaXMgZXF1aXZhbGVudCB0byAiInNzIiIuXG4gICBTaW5jZSBpdCBpcyBhbHJlYWR5IGxvd2VyY2FzZSwgImxvd2VyKCkiIHdvdWxkIGRvIG5vdGhpbmcgdG8gIlwnXHhkZlwnIjtcbiAgICJjYXNlZm9sZCgpIiBjb252ZXJ0cyBpdCB0byAiInNzIiIuXG5cbiAgIFRoZSBjYXNlZm9sZGluZyBhbGdvcml0aG0gaXMgZGVzY3JpYmVkIGluIHNlY3Rpb24gMy4xMyBvZiB0aGVcbiAgIFVuaWNvZGUgU3RhbmRhcmQuXG5cbiAgIE5ldyBpbiB2ZXJzaW9uIDMuMy5cblxuc3RyLmNlbnRlcih3aWR0aFssIGZpbGxjaGFyXSlcblxuICAgUmV0dXJuIGNlbnRlcmVkIGluIGEgc3RyaW5nIG9mIGxlbmd0aCAqd2lkdGgqLiBQYWRkaW5nIGlzIGRvbmVcbiAgIHVzaW5nIHRoZSBzcGVjaWZpZWQgKmZpbGxjaGFyKiAoZGVmYXVsdCBpcyBhbiBBU0NJSSBzcGFjZSkuIFRoZVxuICAgb3JpZ2luYWwgc3RyaW5nIGlzIHJldHVybmVkIGlmICp3aWR0aCogaXMgbGVzcyB0aGFuIG9yIGVxdWFsIHRvXG4gICAibGVuKHMpIi5cblxuc3RyLmNvdW50KHN1YlssIHN0YXJ0WywgZW5kXV0pXG5cbiAgIFJldHVybiB0aGUgbnVtYmVyIG9mIG5vbi1vdmVybGFwcGluZyBvY2N1cnJlbmNlcyBvZiBzdWJzdHJpbmcgKnN1YipcbiAgIGluIHRoZSByYW5nZSBbKnN0YXJ0KiwgKmVuZCpdLiAgT3B0aW9uYWwgYXJndW1lbnRzICpzdGFydCogYW5kXG4gICAqZW5kKiBhcmUgaW50ZXJwcmV0ZWQgYXMgaW4gc2xpY2Ugbm90YXRpb24uXG5cbnN0ci5lbmNvZGUoZW5jb2Rpbmc9InV0Zi04IiwgZXJyb3JzPSJzdHJpY3QiKVxuXG4gICBSZXR1cm4gYW4gZW5jb2RlZCB2ZXJzaW9uIG9mIHRoZSBzdHJpbmcgYXMgYSBieXRlcyBvYmplY3QuIERlZmF1bHRcbiAgIGVuY29kaW5nIGlzICJcJ3V0Zi04XCciLiAqZXJyb3JzKiBtYXkgYmUgZ2l2ZW4gdG8gc2V0IGEgZGlmZmVyZW50XG4gICBlcnJvciBoYW5kbGluZyBzY2hlbWUuIFRoZSBkZWZhdWx0IGZvciAqZXJyb3JzKiBpcyAiXCdzdHJpY3RcJyIsXG4gICBtZWFuaW5nIHRoYXQgZW5jb2RpbmcgZXJyb3JzIHJhaXNlIGEgIlVuaWNvZGVFcnJvciIuIE90aGVyIHBvc3NpYmxlXG4gICB2YWx1ZXMgYXJlICJcJ2lnbm9yZVwnIiwgIlwncmVwbGFjZVwnIiwgIlwneG1sY2hhcnJlZnJlcGxhY2VcJyIsXG4gICAiXCdiYWNrc2xhc2hyZXBsYWNlXCciIGFuZCBhbnkgb3RoZXIgbmFtZSByZWdpc3RlcmVkIHZpYVxuICAgImNvZGVjcy5yZWdpc3Rlcl9lcnJvcigpIiwgc2VlIHNlY3Rpb24gKkVycm9yIEhhbmRsZXJzKi4gRm9yIGEgbGlzdFxuICAgb2YgcG9zc2libGUgZW5jb2RpbmdzLCBzZWUgc2VjdGlvbiAqU3RhbmRhcmQgRW5jb2RpbmdzKi5cblxuICAgQ2hhbmdlZCBpbiB2ZXJzaW9uIDMuMTogU3VwcG9ydCBmb3Iga2V5d29yZCBhcmd1bWVudHMgYWRkZWQuXG5cbnN0ci5lbmRzd2l0aChzdWZmaXhbLCBzdGFydFssIGVuZF1dKVxuXG4gICBSZXR1cm4gIlRydWUiIGlmIHRoZSBzdHJpbmcgZW5kcyB3aXRoIHRoZSBzcGVjaWZpZWQgKnN1ZmZpeCosXG4gICBvdGhlcndpc2UgcmV0dXJuICJGYWxzZSIuICAqc3VmZml4KiBjYW4gYWxzbyBiZSBhIHR1cGxlIG9mIHN1ZmZpeGVzXG4gICB0byBsb29rIGZvci4gIFdpdGggb3B0aW9uYWwgKnN0YXJ0KiwgdGVzdCBiZWdpbm5pbmcgYXQgdGhhdFxuICAgcG9zaXRpb24uICBXaXRoIG9wdGlvbmFsICplbmQqLCBzdG9wIGNvbXBhcmluZyBhdCB0aGF0IHBvc2l0aW9uLlxuXG5zdHIuZXhwYW5kdGFicyh0YWJzaXplPTgpXG5cbiAgIFJldHVybiBhIGNvcHkgb2YgdGhlIHN0cmluZyB3aGVyZSBhbGwgdGFiIGNoYXJhY3RlcnMgYXJlIHJlcGxhY2VkXG4gICBieSBvbmUgb3IgbW9yZSBzcGFjZXMsIGRlcGVuZGluZyBvbiB0aGUgY3VycmVudCBjb2x1bW4gYW5kIHRoZVxuICAgZ2l2ZW4gdGFiIHNpemUuICBUYWIgcG9zaXRpb25zIG9jY3VyIGV2ZXJ5ICp0YWJzaXplKiBjaGFyYWN0ZXJzXG4gICAoZGVmYXVsdCBpcyA4LCBnaXZpbmcgdGFiIHBvc2l0aW9ucyBhdCBjb2x1bW5zIDAsIDgsIDE2IGFuZCBzbyBvbikuXG4gICBUbyBleHBhbmQgdGhlIHN0cmluZywgdGhlIGN1cnJlbnQgY29sdW1uIGlzIHNldCB0byB6ZXJvIGFuZCB0aGVcbiAgIHN0cmluZyBpcyBleGFtaW5lZCBjaGFyYWN0ZXIgYnkgY2hhcmFjdGVyLiAgSWYgdGhlIGNoYXJhY3RlciBpcyBhXG4gICB0YWIgKCJcXHQiKSwgb25lIG9yIG1vcmUgc3BhY2UgY2hhcmFjdGVycyBhcmUgaW5zZXJ0ZWQgaW4gdGhlIHJlc3VsdFxuICAgdW50aWwgdGhlIGN1cnJlbnQgY29sdW1uIGlzIGVxdWFsIHRvIHRoZSBuZXh0IHRhYiBwb3NpdGlvbi4gKFRoZVxuICAgdGFiIGNoYXJhY3RlciBpdHNlbGYgaXMgbm90IGNvcGllZC4pICBJZiB0aGUgY2hhcmFjdGVyIGlzIGEgbmV3bGluZVxuICAgKCJcXG4iKSBvciByZXR1cm4gKCJcXHIiKSwgaXQgaXMgY29waWVkIGFuZCB0aGUgY3VycmVudCBjb2x1bW4gaXNcbiAgIHJlc2V0IHRvIHplcm8uICBBbnkgb3RoZXIgY2hhcmFjdGVyIGlzIGNvcGllZCB1bmNoYW5nZWQgYW5kIHRoZVxuICAgY3VycmVudCBjb2x1bW4gaXMgaW5jcmVtZW50ZWQgYnkgb25lIHJlZ2FyZGxlc3Mgb2YgaG93IHRoZVxuICAgY2hhcmFjdGVyIGlzIHJlcHJlc2VudGVkIHdoZW4gcHJpbnRlZC5cblxuICAgPj4+IFwnMDFcXHQwMTJcXHQwMTIzXFx0MDEyMzRcJy5leHBhbmR0YWJzKClcbiAgIFwnMDEgICAgICAwMTIgICAgIDAxMjMgICAgMDEyMzRcJ1xuICAgPj4+IFwnMDFcXHQwMTJcXHQwMTIzXFx0MDEyMzRcJy5leHBhbmR0YWJzKDQpXG4gICBcJzAxICAwMTIgMDEyMyAgICAwMTIzNFwnXG5cbnN0ci5maW5kKHN1YlssIHN0YXJ0WywgZW5kXV0pXG5cbiAgIFJldHVybiB0aGUgbG93ZXN0IGluZGV4IGluIHRoZSBzdHJpbmcgd2hlcmUgc3Vic3RyaW5nICpzdWIqIGlzXG4gICBmb3VuZCwgc3VjaCB0aGF0ICpzdWIqIGlzIGNvbnRhaW5lZCBpbiB0aGUgc2xpY2UgInNbc3RhcnQ6ZW5kXSIuXG4gICBPcHRpb25hbCBhcmd1bWVudHMgKnN0YXJ0KiBhbmQgKmVuZCogYXJlIGludGVycHJldGVkIGFzIGluIHNsaWNlXG4gICBub3RhdGlvbi4gIFJldHVybiAiLTEiIGlmICpzdWIqIGlzIG5vdCBmb3VuZC5cblxuICAgTm90ZTogVGhlICJmaW5kKCkiIG1ldGhvZCBzaG91bGQgYmUgdXNlZCBvbmx5IGlmIHlvdSBuZWVkIHRvIGtub3dcbiAgICAgdGhlIHBvc2l0aW9uIG9mICpzdWIqLiAgVG8gY2hlY2sgaWYgKnN1YiogaXMgYSBzdWJzdHJpbmcgb3Igbm90LFxuICAgICB1c2UgdGhlICJpbiIgb3BlcmF0b3I6XG5cbiAgICAgICAgPj4+IFwnUHlcJyBpbiBcJ1B5dGhvblwnXG4gICAgICAgIFRydWVcblxuc3RyLmZvcm1hdCgqYXJncywgKiprd2FyZ3MpXG5cbiAgIFBlcmZvcm0gYSBzdHJpbmcgZm9ybWF0dGluZyBvcGVyYXRpb24uICBUaGUgc3RyaW5nIG9uIHdoaWNoIHRoaXNcbiAgIG1ldGhvZCBpcyBjYWxsZWQgY2FuIGNvbnRhaW4gbGl0ZXJhbCB0ZXh0IG9yIHJlcGxhY2VtZW50IGZpZWxkc1xuICAgZGVsaW1pdGVkIGJ5IGJyYWNlcyAie30iLiAgRWFjaCByZXBsYWNlbWVudCBmaWVsZCBjb250YWlucyBlaXRoZXJcbiAgIHRoZSBudW1lcmljIGluZGV4IG9mIGEgcG9zaXRpb25hbCBhcmd1bWVudCwgb3IgdGhlIG5hbWUgb2YgYVxuICAga2V5d29yZCBhcmd1bWVudC4gIFJldHVybnMgYSBjb3B5IG9mIHRoZSBzdHJpbmcgd2hlcmUgZWFjaFxuICAgcmVwbGFjZW1lbnQgZmllbGQgaXMgcmVwbGFjZWQgd2l0aCB0aGUgc3RyaW5nIHZhbHVlIG9mIHRoZVxuICAgY29ycmVzcG9uZGluZyBhcmd1bWVudC5cblxuICAgPj4+ICJUaGUgc3VtIG9mIDEgKyAyIGlzIHswfSIuZm9ybWF0KDErMilcbiAgIFwnVGhlIHN1bSBvZiAxICsgMiBpcyAzXCdcblxuICAgU2VlICpGb3JtYXQgU3RyaW5nIFN5bnRheCogZm9yIGEgZGVzY3JpcHRpb24gb2YgdGhlIHZhcmlvdXNcbiAgIGZvcm1hdHRpbmcgb3B0aW9ucyB0aGF0IGNhbiBiZSBzcGVjaWZpZWQgaW4gZm9ybWF0IHN0cmluZ3MuXG5cbnN0ci5mb3JtYXRfbWFwKG1hcHBpbmcpXG5cbiAgIFNpbWlsYXIgdG8gInN0ci5mb3JtYXQoKiptYXBwaW5nKSIsIGV4Y2VwdCB0aGF0ICJtYXBwaW5nIiBpcyB1c2VkXG4gICBkaXJlY3RseSBhbmQgbm90IGNvcGllZCB0byBhICJkaWN0Ii4gIFRoaXMgaXMgdXNlZnVsIGlmIGZvciBleGFtcGxlXG4gICAibWFwcGluZyIgaXMgYSBkaWN0IHN1YmNsYXNzOlxuXG4gICA+Pj4gY2xhc3MgRGVmYXVsdChkaWN0KTpcbiAgIC4uLiAgICAgZGVmIF9fbWlzc2luZ19fKHNlbGYsIGtleSk6XG4gICAuLi4gICAgICAgICByZXR1cm4ga2V5XG4gICAuLi5cbiAgID4+PiBcJ3tuYW1lfSB3YXMgYm9ybiBpbiB7Y291bnRyeX1cJy5mb3JtYXRfbWFwKERlZmF1bHQobmFtZT1cJ0d1aWRvXCcpKVxuICAgXCdHdWlkbyB3YXMgYm9ybiBpbiBjb3VudHJ5XCdcblxuICAgTmV3IGluIHZlcnNpb24gMy4yLlxuXG5zdHIuaW5kZXgoc3ViWywgc3RhcnRbLCBlbmRdXSlcblxuICAgTGlrZSAiZmluZCgpIiwgYnV0IHJhaXNlICJWYWx1ZUVycm9yIiB3aGVuIHRoZSBzdWJzdHJpbmcgaXMgbm90XG4gICBmb3VuZC5cblxuc3RyLmlzYWxudW0oKVxuXG4gICBSZXR1cm4gdHJ1ZSBpZiBhbGwgY2hhcmFjdGVycyBpbiB0aGUgc3RyaW5nIGFyZSBhbHBoYW51bWVyaWMgYW5kXG4gICB0aGVyZSBpcyBhdCBsZWFzdCBvbmUgY2hhcmFjdGVyLCBmYWxzZSBvdGhlcndpc2UuICBBIGNoYXJhY3RlciAiYyJcbiAgIGlzIGFscGhhbnVtZXJpYyBpZiBvbmUgb2YgdGhlIGZvbGxvd2luZyByZXR1cm5zICJUcnVlIjpcbiAgICJjLmlzYWxwaGEoKSIsICJjLmlzZGVjaW1hbCgpIiwgImMuaXNkaWdpdCgpIiwgb3IgImMuaXNudW1lcmljKCkiLlxuXG5zdHIuaXNhbHBoYSgpXG5cbiAgIFJldHVybiB0cnVlIGlmIGFsbCBjaGFyYWN0ZXJzIGluIHRoZSBzdHJpbmcgYXJlIGFscGhhYmV0aWMgYW5kXG4gICB0aGVyZSBpcyBhdCBsZWFzdCBvbmUgY2hhcmFjdGVyLCBmYWxzZSBvdGhlcndpc2UuICBBbHBoYWJldGljXG4gICBjaGFyYWN0ZXJzIGFyZSB0aG9zZSBjaGFyYWN0ZXJzIGRlZmluZWQgaW4gdGhlIFVuaWNvZGUgY2hhcmFjdGVyXG4gICBkYXRhYmFzZSBhcyAiTGV0dGVyIiwgaS5lLiwgdGhvc2Ugd2l0aCBnZW5lcmFsIGNhdGVnb3J5IHByb3BlcnR5XG4gICBiZWluZyBvbmUgb2YgIkxtIiwgIkx0IiwgIkx1IiwgIkxsIiwgb3IgIkxvIi4gIE5vdGUgdGhhdCB0aGlzIGlzXG4gICBkaWZmZXJlbnQgZnJvbSB0aGUgIkFscGhhYmV0aWMiIHByb3BlcnR5IGRlZmluZWQgaW4gdGhlIFVuaWNvZGVcbiAgIFN0YW5kYXJkLlxuXG5zdHIuaXNkZWNpbWFsKClcblxuICAgUmV0dXJuIHRydWUgaWYgYWxsIGNoYXJhY3RlcnMgaW4gdGhlIHN0cmluZyBhcmUgZGVjaW1hbCBjaGFyYWN0ZXJzXG4gICBhbmQgdGhlcmUgaXMgYXQgbGVhc3Qgb25lIGNoYXJhY3RlciwgZmFsc2Ugb3RoZXJ3aXNlLiBEZWNpbWFsXG4gICBjaGFyYWN0ZXJzIGFyZSB0aG9zZSBmcm9tIGdlbmVyYWwgY2F0ZWdvcnkgIk5kIi4gVGhpcyBjYXRlZ29yeVxuICAgaW5jbHVkZXMgZGlnaXQgY2hhcmFjdGVycywgYW5kIGFsbCBjaGFyYWN0ZXJzIHRoYXQgY2FuIGJlIHVzZWQgdG9cbiAgIGZvcm0gZGVjaW1hbC1yYWRpeCBudW1iZXJzLCBlLmcuIFUrMDY2MCwgQVJBQklDLUlORElDIERJR0lUIFpFUk8uXG5cbnN0ci5pc2RpZ2l0KClcblxuICAgUmV0dXJuIHRydWUgaWYgYWxsIGNoYXJhY3RlcnMgaW4gdGhlIHN0cmluZyBhcmUgZGlnaXRzIGFuZCB0aGVyZSBpc1xuICAgYXQgbGVhc3Qgb25lIGNoYXJhY3RlciwgZmFsc2Ugb3RoZXJ3aXNlLiAgRGlnaXRzIGluY2x1ZGUgZGVjaW1hbFxuICAgY2hhcmFjdGVycyBhbmQgZGlnaXRzIHRoYXQgbmVlZCBzcGVjaWFsIGhhbmRsaW5nLCBzdWNoIGFzIHRoZVxuICAgY29tcGF0aWJpbGl0eSBzdXBlcnNjcmlwdCBkaWdpdHMuICBGb3JtYWxseSwgYSBkaWdpdCBpcyBhIGNoYXJhY3RlclxuICAgdGhhdCBoYXMgdGhlIHByb3BlcnR5IHZhbHVlIE51bWVyaWNfVHlwZT1EaWdpdCBvclxuICAgTnVtZXJpY19UeXBlPURlY2ltYWwuXG5cbnN0ci5pc2lkZW50aWZpZXIoKVxuXG4gICBSZXR1cm4gdHJ1ZSBpZiB0aGUgc3RyaW5nIGlzIGEgdmFsaWQgaWRlbnRpZmllciBhY2NvcmRpbmcgdG8gdGhlXG4gICBsYW5ndWFnZSBkZWZpbml0aW9uLCBzZWN0aW9uICpJZGVudGlmaWVycyBhbmQga2V5d29yZHMqLlxuXG4gICBVc2UgImtleXdvcmQuaXNrZXl3b3JkKCkiIHRvIHRlc3QgZm9yIHJlc2VydmVkIGlkZW50aWZpZXJzIHN1Y2ggYXNcbiAgICJkZWYiIGFuZCAiY2xhc3MiLlxuXG5zdHIuaXNsb3dlcigpXG5cbiAgIFJldHVybiB0cnVlIGlmIGFsbCBjYXNlZCBjaGFyYWN0ZXJzIFs0XSBpbiB0aGUgc3RyaW5nIGFyZSBsb3dlcmNhc2VcbiAgIGFuZCB0aGVyZSBpcyBhdCBsZWFzdCBvbmUgY2FzZWQgY2hhcmFjdGVyLCBmYWxzZSBvdGhlcndpc2UuXG5cbnN0ci5pc251bWVyaWMoKVxuXG4gICBSZXR1cm4gdHJ1ZSBpZiBhbGwgY2hhcmFjdGVycyBpbiB0aGUgc3RyaW5nIGFyZSBudW1lcmljIGNoYXJhY3RlcnMsXG4gICBhbmQgdGhlcmUgaXMgYXQgbGVhc3Qgb25lIGNoYXJhY3RlciwgZmFsc2Ugb3RoZXJ3aXNlLiBOdW1lcmljXG4gICBjaGFyYWN0ZXJzIGluY2x1ZGUgZGlnaXQgY2hhcmFjdGVycywgYW5kIGFsbCBjaGFyYWN0ZXJzIHRoYXQgaGF2ZVxuICAgdGhlIFVuaWNvZGUgbnVtZXJpYyB2YWx1ZSBwcm9wZXJ0eSwgZS5nLiBVKzIxNTUsIFZVTEdBUiBGUkFDVElPTlxuICAgT05FIEZJRlRILiAgRm9ybWFsbHksIG51bWVyaWMgY2hhcmFjdGVycyBhcmUgdGhvc2Ugd2l0aCB0aGVcbiAgIHByb3BlcnR5IHZhbHVlIE51bWVyaWNfVHlwZT1EaWdpdCwgTnVtZXJpY19UeXBlPURlY2ltYWwgb3JcbiAgIE51bWVyaWNfVHlwZT1OdW1lcmljLlxuXG5zdHIuaXNwcmludGFibGUoKVxuXG4gICBSZXR1cm4gdHJ1ZSBpZiBhbGwgY2hhcmFjdGVycyBpbiB0aGUgc3RyaW5nIGFyZSBwcmludGFibGUgb3IgdGhlXG4gICBzdHJpbmcgaXMgZW1wdHksIGZhbHNlIG90aGVyd2lzZS4gIE5vbnByaW50YWJsZSBjaGFyYWN0ZXJzIGFyZVxuICAgdGhvc2UgY2hhcmFjdGVycyBkZWZpbmVkIGluIHRoZSBVbmljb2RlIGNoYXJhY3RlciBkYXRhYmFzZSBhc1xuICAgIk90aGVyIiBvciAiU2VwYXJhdG9yIiwgZXhjZXB0aW5nIHRoZSBBU0NJSSBzcGFjZSAoMHgyMCkgd2hpY2ggaXNcbiAgIGNvbnNpZGVyZWQgcHJpbnRhYmxlLiAgKE5vdGUgdGhhdCBwcmludGFibGUgY2hhcmFjdGVycyBpbiB0aGlzXG4gICBjb250ZXh0IGFyZSB0aG9zZSB3aGljaCBzaG91bGQgbm90IGJlIGVzY2FwZWQgd2hlbiAicmVwcigpIiBpc1xuICAgaW52b2tlZCBvbiBhIHN0cmluZy4gIEl0IGhhcyBubyBiZWFyaW5nIG9uIHRoZSBoYW5kbGluZyBvZiBzdHJpbmdzXG4gICB3cml0dGVuIHRvICJzeXMuc3Rkb3V0IiBvciAic3lzLnN0ZGVyciIuKVxuXG5zdHIuaXNzcGFjZSgpXG5cbiAgIFJldHVybiB0cnVlIGlmIHRoZXJlIGFyZSBvbmx5IHdoaXRlc3BhY2UgY2hhcmFjdGVycyBpbiB0aGUgc3RyaW5nXG4gICBhbmQgdGhlcmUgaXMgYXQgbGVhc3Qgb25lIGNoYXJhY3RlciwgZmFsc2Ugb3RoZXJ3aXNlLiAgV2hpdGVzcGFjZVxuICAgY2hhcmFjdGVycyAgYXJlIHRob3NlIGNoYXJhY3RlcnMgZGVmaW5lZCBpbiB0aGUgVW5pY29kZSBjaGFyYWN0ZXJcbiAgIGRhdGFiYXNlIGFzICJPdGhlciIgb3IgIlNlcGFyYXRvciIgYW5kIHRob3NlIHdpdGggYmlkaXJlY3Rpb25hbFxuICAgcHJvcGVydHkgYmVpbmcgb25lIG9mICJXUyIsICJCIiwgb3IgIlMiLlxuXG5zdHIuaXN0aXRsZSgpXG5cbiAgIFJldHVybiB0cnVlIGlmIHRoZSBzdHJpbmcgaXMgYSB0aXRsZWNhc2VkIHN0cmluZyBhbmQgdGhlcmUgaXMgYXRcbiAgIGxlYXN0IG9uZSBjaGFyYWN0ZXIsIGZvciBleGFtcGxlIHVwcGVyY2FzZSBjaGFyYWN0ZXJzIG1heSBvbmx5XG4gICBmb2xsb3cgdW5jYXNlZCBjaGFyYWN0ZXJzIGFuZCBsb3dlcmNhc2UgY2hhcmFjdGVycyBvbmx5IGNhc2VkIG9uZXMuXG4gICBSZXR1cm4gZmFsc2Ugb3RoZXJ3aXNlLlxuXG5zdHIuaXN1cHBlcigpXG5cbiAgIFJldHVybiB0cnVlIGlmIGFsbCBjYXNlZCBjaGFyYWN0ZXJzIFs0XSBpbiB0aGUgc3RyaW5nIGFyZSB1cHBlcmNhc2VcbiAgIGFuZCB0aGVyZSBpcyBhdCBsZWFzdCBvbmUgY2FzZWQgY2hhcmFjdGVyLCBmYWxzZSBvdGhlcndpc2UuXG5cbnN0ci5qb2luKGl0ZXJhYmxlKVxuXG4gICBSZXR1cm4gYSBzdHJpbmcgd2hpY2ggaXMgdGhlIGNvbmNhdGVuYXRpb24gb2YgdGhlIHN0cmluZ3MgaW4gdGhlXG4gICAqaXRlcmFibGUqICppdGVyYWJsZSouICBBICJUeXBlRXJyb3IiIHdpbGwgYmUgcmFpc2VkIGlmIHRoZXJlIGFyZVxuICAgYW55IG5vbi1zdHJpbmcgdmFsdWVzIGluICppdGVyYWJsZSosIGluY2x1ZGluZyAiYnl0ZXMiIG9iamVjdHMuXG4gICBUaGUgc2VwYXJhdG9yIGJldHdlZW4gZWxlbWVudHMgaXMgdGhlIHN0cmluZyBwcm92aWRpbmcgdGhpcyBtZXRob2QuXG5cbnN0ci5sanVzdCh3aWR0aFssIGZpbGxjaGFyXSlcblxuICAgUmV0dXJuIHRoZSBzdHJpbmcgbGVmdCBqdXN0aWZpZWQgaW4gYSBzdHJpbmcgb2YgbGVuZ3RoICp3aWR0aCouXG4gICBQYWRkaW5nIGlzIGRvbmUgdXNpbmcgdGhlIHNwZWNpZmllZCAqZmlsbGNoYXIqIChkZWZhdWx0IGlzIGFuIEFTQ0lJXG4gICBzcGFjZSkuIFRoZSBvcmlnaW5hbCBzdHJpbmcgaXMgcmV0dXJuZWQgaWYgKndpZHRoKiBpcyBsZXNzIHRoYW4gb3JcbiAgIGVxdWFsIHRvICJsZW4ocykiLlxuXG5zdHIubG93ZXIoKVxuXG4gICBSZXR1cm4gYSBjb3B5IG9mIHRoZSBzdHJpbmcgd2l0aCBhbGwgdGhlIGNhc2VkIGNoYXJhY3RlcnMgWzRdXG4gICBjb252ZXJ0ZWQgdG8gbG93ZXJjYXNlLlxuXG4gICBUaGUgbG93ZXJjYXNpbmcgYWxnb3JpdGhtIHVzZWQgaXMgZGVzY3JpYmVkIGluIHNlY3Rpb24gMy4xMyBvZiB0aGVcbiAgIFVuaWNvZGUgU3RhbmRhcmQuXG5cbnN0ci5sc3RyaXAoW2NoYXJzXSlcblxuICAgUmV0dXJuIGEgY29weSBvZiB0aGUgc3RyaW5nIHdpdGggbGVhZGluZyBjaGFyYWN0ZXJzIHJlbW92ZWQuICBUaGVcbiAgICpjaGFycyogYXJndW1lbnQgaXMgYSBzdHJpbmcgc3BlY2lmeWluZyB0aGUgc2V0IG9mIGNoYXJhY3RlcnMgdG8gYmVcbiAgIHJlbW92ZWQuICBJZiBvbWl0dGVkIG9yICJOb25lIiwgdGhlICpjaGFycyogYXJndW1lbnQgZGVmYXVsdHMgdG9cbiAgIHJlbW92aW5nIHdoaXRlc3BhY2UuICBUaGUgKmNoYXJzKiBhcmd1bWVudCBpcyBub3QgYSBwcmVmaXg7IHJhdGhlcixcbiAgIGFsbCBjb21iaW5hdGlvbnMgb2YgaXRzIHZhbHVlcyBhcmUgc3RyaXBwZWQ6XG5cbiAgICAgID4+PiBcJyAgIHNwYWNpb3VzICAgXCcubHN0cmlwKClcbiAgICAgIFwnc3BhY2lvdXMgICBcJ1xuICAgICAgPj4+IFwnd3d3LmV4YW1wbGUuY29tXCcubHN0cmlwKFwnY21vd3ouXCcpXG4gICAgICBcJ2V4YW1wbGUuY29tXCdcblxuc3RhdGljIHN0ci5tYWtldHJhbnMoeFssIHlbLCB6XV0pXG5cbiAgIFRoaXMgc3RhdGljIG1ldGhvZCByZXR1cm5zIGEgdHJhbnNsYXRpb24gdGFibGUgdXNhYmxlIGZvclxuICAgInN0ci50cmFuc2xhdGUoKSIuXG5cbiAgIElmIHRoZXJlIGlzIG9ubHkgb25lIGFyZ3VtZW50LCBpdCBtdXN0IGJlIGEgZGljdGlvbmFyeSBtYXBwaW5nXG4gICBVbmljb2RlIG9yZGluYWxzIChpbnRlZ2Vycykgb3IgY2hhcmFjdGVycyAoc3RyaW5ncyBvZiBsZW5ndGggMSkgdG9cbiAgIFVuaWNvZGUgb3JkaW5hbHMsIHN0cmluZ3MgKG9mIGFyYml0cmFyeSBsZW5ndGhzKSBvciBOb25lLlxuICAgQ2hhcmFjdGVyIGtleXMgd2lsbCB0aGVuIGJlIGNvbnZlcnRlZCB0byBvcmRpbmFscy5cblxuICAgSWYgdGhlcmUgYXJlIHR3byBhcmd1bWVudHMsIHRoZXkgbXVzdCBiZSBzdHJpbmdzIG9mIGVxdWFsIGxlbmd0aCxcbiAgIGFuZCBpbiB0aGUgcmVzdWx0aW5nIGRpY3Rpb25hcnksIGVhY2ggY2hhcmFjdGVyIGluIHggd2lsbCBiZSBtYXBwZWRcbiAgIHRvIHRoZSBjaGFyYWN0ZXIgYXQgdGhlIHNhbWUgcG9zaXRpb24gaW4geS4gIElmIHRoZXJlIGlzIGEgdGhpcmRcbiAgIGFyZ3VtZW50LCBpdCBtdXN0IGJlIGEgc3RyaW5nLCB3aG9zZSBjaGFyYWN0ZXJzIHdpbGwgYmUgbWFwcGVkIHRvXG4gICBOb25lIGluIHRoZSByZXN1bHQuXG5cbnN0ci5wYXJ0aXRpb24oc2VwKVxuXG4gICBTcGxpdCB0aGUgc3RyaW5nIGF0IHRoZSBmaXJzdCBvY2N1cnJlbmNlIG9mICpzZXAqLCBhbmQgcmV0dXJuIGFcbiAgIDMtdHVwbGUgY29udGFpbmluZyB0aGUgcGFydCBiZWZvcmUgdGhlIHNlcGFyYXRvciwgdGhlIHNlcGFyYXRvclxuICAgaXRzZWxmLCBhbmQgdGhlIHBhcnQgYWZ0ZXIgdGhlIHNlcGFyYXRvci4gIElmIHRoZSBzZXBhcmF0b3IgaXMgbm90XG4gICBmb3VuZCwgcmV0dXJuIGEgMy10dXBsZSBjb250YWluaW5nIHRoZSBzdHJpbmcgaXRzZWxmLCBmb2xsb3dlZCBieVxuICAgdHdvIGVtcHR5IHN0cmluZ3MuXG5cbnN0ci5yZXBsYWNlKG9sZCwgbmV3WywgY291bnRdKVxuXG4gICBSZXR1cm4gYSBjb3B5IG9mIHRoZSBzdHJpbmcgd2l0aCBhbGwgb2NjdXJyZW5jZXMgb2Ygc3Vic3RyaW5nICpvbGQqXG4gICByZXBsYWNlZCBieSAqbmV3Ki4gIElmIHRoZSBvcHRpb25hbCBhcmd1bWVudCAqY291bnQqIGlzIGdpdmVuLCBvbmx5XG4gICB0aGUgZmlyc3QgKmNvdW50KiBvY2N1cnJlbmNlcyBhcmUgcmVwbGFjZWQuXG5cbnN0ci5yZmluZChzdWJbLCBzdGFydFssIGVuZF1dKVxuXG4gICBSZXR1cm4gdGhlIGhpZ2hlc3QgaW5kZXggaW4gdGhlIHN0cmluZyB3aGVyZSBzdWJzdHJpbmcgKnN1YiogaXNcbiAgIGZvdW5kLCBzdWNoIHRoYXQgKnN1YiogaXMgY29udGFpbmVkIHdpdGhpbiAic1tzdGFydDplbmRdIi5cbiAgIE9wdGlvbmFsIGFyZ3VtZW50cyAqc3RhcnQqIGFuZCAqZW5kKiBhcmUgaW50ZXJwcmV0ZWQgYXMgaW4gc2xpY2VcbiAgIG5vdGF0aW9uLiAgUmV0dXJuICItMSIgb24gZmFpbHVyZS5cblxuc3RyLnJpbmRleChzdWJbLCBzdGFydFssIGVuZF1dKVxuXG4gICBMaWtlICJyZmluZCgpIiBidXQgcmFpc2VzICJWYWx1ZUVycm9yIiB3aGVuIHRoZSBzdWJzdHJpbmcgKnN1YiogaXNcbiAgIG5vdCBmb3VuZC5cblxuc3RyLnJqdXN0KHdpZHRoWywgZmlsbGNoYXJdKVxuXG4gICBSZXR1cm4gdGhlIHN0cmluZyByaWdodCBqdXN0aWZpZWQgaW4gYSBzdHJpbmcgb2YgbGVuZ3RoICp3aWR0aCouXG4gICBQYWRkaW5nIGlzIGRvbmUgdXNpbmcgdGhlIHNwZWNpZmllZCAqZmlsbGNoYXIqIChkZWZhdWx0IGlzIGFuIEFTQ0lJXG4gICBzcGFjZSkuIFRoZSBvcmlnaW5hbCBzdHJpbmcgaXMgcmV0dXJuZWQgaWYgKndpZHRoKiBpcyBsZXNzIHRoYW4gb3JcbiAgIGVxdWFsIHRvICJsZW4ocykiLlxuXG5zdHIucnBhcnRpdGlvbihzZXApXG5cbiAgIFNwbGl0IHRoZSBzdHJpbmcgYXQgdGhlIGxhc3Qgb2NjdXJyZW5jZSBvZiAqc2VwKiwgYW5kIHJldHVybiBhXG4gICAzLXR1cGxlIGNvbnRhaW5pbmcgdGhlIHBhcnQgYmVmb3JlIHRoZSBzZXBhcmF0b3IsIHRoZSBzZXBhcmF0b3JcbiAgIGl0c2VsZiwgYW5kIHRoZSBwYXJ0IGFmdGVyIHRoZSBzZXBhcmF0b3IuICBJZiB0aGUgc2VwYXJhdG9yIGlzIG5vdFxuICAgZm91bmQsIHJldHVybiBhIDMtdHVwbGUgY29udGFpbmluZyB0d28gZW1wdHkgc3RyaW5ncywgZm9sbG93ZWQgYnlcbiAgIHRoZSBzdHJpbmcgaXRzZWxmLlxuXG5zdHIucnNwbGl0KHNlcD1Ob25lLCBtYXhzcGxpdD0tMSlcblxuICAgUmV0dXJuIGEgbGlzdCBvZiB0aGUgd29yZHMgaW4gdGhlIHN0cmluZywgdXNpbmcgKnNlcCogYXMgdGhlXG4gICBkZWxpbWl0ZXIgc3RyaW5nLiBJZiAqbWF4c3BsaXQqIGlzIGdpdmVuLCBhdCBtb3N0ICptYXhzcGxpdCogc3BsaXRzXG4gICBhcmUgZG9uZSwgdGhlICpyaWdodG1vc3QqIG9uZXMuICBJZiAqc2VwKiBpcyBub3Qgc3BlY2lmaWVkIG9yXG4gICAiTm9uZSIsIGFueSB3aGl0ZXNwYWNlIHN0cmluZyBpcyBhIHNlcGFyYXRvci4gIEV4Y2VwdCBmb3Igc3BsaXR0aW5nXG4gICBmcm9tIHRoZSByaWdodCwgInJzcGxpdCgpIiBiZWhhdmVzIGxpa2UgInNwbGl0KCkiIHdoaWNoIGlzXG4gICBkZXNjcmliZWQgaW4gZGV0YWlsIGJlbG93LlxuXG5zdHIucnN0cmlwKFtjaGFyc10pXG5cbiAgIFJldHVybiBhIGNvcHkgb2YgdGhlIHN0cmluZyB3aXRoIHRyYWlsaW5nIGNoYXJhY3RlcnMgcmVtb3ZlZC4gIFRoZVxuICAgKmNoYXJzKiBhcmd1bWVudCBpcyBhIHN0cmluZyBzcGVjaWZ5aW5nIHRoZSBzZXQgb2YgY2hhcmFjdGVycyB0byBiZVxuICAgcmVtb3ZlZC4gIElmIG9taXR0ZWQgb3IgIk5vbmUiLCB0aGUgKmNoYXJzKiBhcmd1bWVudCBkZWZhdWx0cyB0b1xuICAgcmVtb3Zpbmcgd2hpdGVzcGFjZS4gIFRoZSAqY2hhcnMqIGFyZ3VtZW50IGlzIG5vdCBhIHN1ZmZpeDsgcmF0aGVyLFxuICAgYWxsIGNvbWJpbmF0aW9ucyBvZiBpdHMgdmFsdWVzIGFyZSBzdHJpcHBlZDpcblxuICAgICAgPj4+IFwnICAgc3BhY2lvdXMgICBcJy5yc3RyaXAoKVxuICAgICAgXCcgICBzcGFjaW91c1wnXG4gICAgICA+Pj4gXCdtaXNzaXNzaXBwaVwnLnJzdHJpcChcJ2lwelwnKVxuICAgICAgXCdtaXNzaXNzXCdcblxuc3RyLnNwbGl0KHNlcD1Ob25lLCBtYXhzcGxpdD0tMSlcblxuICAgUmV0dXJuIGEgbGlzdCBvZiB0aGUgd29yZHMgaW4gdGhlIHN0cmluZywgdXNpbmcgKnNlcCogYXMgdGhlXG4gICBkZWxpbWl0ZXIgc3RyaW5nLiAgSWYgKm1heHNwbGl0KiBpcyBnaXZlbiwgYXQgbW9zdCAqbWF4c3BsaXQqXG4gICBzcGxpdHMgYXJlIGRvbmUgKHRodXMsIHRoZSBsaXN0IHdpbGwgaGF2ZSBhdCBtb3N0ICJtYXhzcGxpdCsxIlxuICAgZWxlbWVudHMpLiAgSWYgKm1heHNwbGl0KiBpcyBub3Qgc3BlY2lmaWVkIG9yICItMSIsIHRoZW4gdGhlcmUgaXNcbiAgIG5vIGxpbWl0IG9uIHRoZSBudW1iZXIgb2Ygc3BsaXRzIChhbGwgcG9zc2libGUgc3BsaXRzIGFyZSBtYWRlKS5cblxuICAgSWYgKnNlcCogaXMgZ2l2ZW4sIGNvbnNlY3V0aXZlIGRlbGltaXRlcnMgYXJlIG5vdCBncm91cGVkIHRvZ2V0aGVyXG4gICBhbmQgYXJlIGRlZW1lZCB0byBkZWxpbWl0IGVtcHR5IHN0cmluZ3MgKGZvciBleGFtcGxlLFxuICAgIlwnMSwsMlwnLnNwbGl0KFwnLFwnKSIgcmV0dXJucyAiW1wnMVwnLCBcJ1wnLCBcJzJcJ10iKS4gIFRoZSAqc2VwKiBhcmd1bWVudFxuICAgbWF5IGNvbnNpc3Qgb2YgbXVsdGlwbGUgY2hhcmFjdGVycyAoZm9yIGV4YW1wbGUsXG4gICAiXCcxPD4yPD4zXCcuc3BsaXQoXCc8PlwnKSIgcmV0dXJucyAiW1wnMVwnLCBcJzJcJywgXCczXCddIikuIFNwbGl0dGluZyBhblxuICAgZW1wdHkgc3RyaW5nIHdpdGggYSBzcGVjaWZpZWQgc2VwYXJhdG9yIHJldHVybnMgIltcJ1wnXSIuXG5cbiAgIEZvciBleGFtcGxlOlxuXG4gICAgICA+Pj4gXCcxLDIsM1wnLnNwbGl0KFwnLFwnKVxuICAgICAgW1wnMVwnLCBcJzJcJywgXCczXCddXG4gICAgICA+Pj4gXCcxLDIsM1wnLnNwbGl0KFwnLFwnLCBtYXhzcGxpdD0xKVxuICAgICAgW1wnMVwnLCBcJzIsM1wnXVxuICAgICAgPj4+IFwnMSwyLCwzLFwnLnNwbGl0KFwnLFwnKVxuICAgICAgW1wnMVwnLCBcJzJcJywgXCdcJywgXCczXCcsIFwnXCddXG5cbiAgIElmICpzZXAqIGlzIG5vdCBzcGVjaWZpZWQgb3IgaXMgIk5vbmUiLCBhIGRpZmZlcmVudCBzcGxpdHRpbmdcbiAgIGFsZ29yaXRobSBpcyBhcHBsaWVkOiBydW5zIG9mIGNvbnNlY3V0aXZlIHdoaXRlc3BhY2UgYXJlIHJlZ2FyZGVkXG4gICBhcyBhIHNpbmdsZSBzZXBhcmF0b3IsIGFuZCB0aGUgcmVzdWx0IHdpbGwgY29udGFpbiBubyBlbXB0eSBzdHJpbmdzXG4gICBhdCB0aGUgc3RhcnQgb3IgZW5kIGlmIHRoZSBzdHJpbmcgaGFzIGxlYWRpbmcgb3IgdHJhaWxpbmdcbiAgIHdoaXRlc3BhY2UuICBDb25zZXF1ZW50bHksIHNwbGl0dGluZyBhbiBlbXB0eSBzdHJpbmcgb3IgYSBzdHJpbmdcbiAgIGNvbnNpc3Rpbmcgb2YganVzdCB3aGl0ZXNwYWNlIHdpdGggYSAiTm9uZSIgc2VwYXJhdG9yIHJldHVybnMgIltdIi5cblxuICAgRm9yIGV4YW1wbGU6XG5cbiAgICAgID4+PiBcJzEgMiAzXCcuc3BsaXQoKVxuICAgICAgW1wnMVwnLCBcJzJcJywgXCczXCddXG4gICAgICA+Pj4gXCcxIDIgM1wnLnNwbGl0KG1heHNwbGl0PTEpXG4gICAgICBbXCcxXCcsIFwnMiAzXCddXG4gICAgICA+Pj4gXCcgICAxICAgMiAgIDMgICBcJy5zcGxpdCgpXG4gICAgICBbXCcxXCcsIFwnMlwnLCBcJzNcJ11cblxuc3RyLnNwbGl0bGluZXMoW2tlZXBlbmRzXSlcblxuICAgUmV0dXJuIGEgbGlzdCBvZiB0aGUgbGluZXMgaW4gdGhlIHN0cmluZywgYnJlYWtpbmcgYXQgbGluZVxuICAgYm91bmRhcmllcy4gVGhpcyBtZXRob2QgdXNlcyB0aGUgKnVuaXZlcnNhbCBuZXdsaW5lcyogYXBwcm9hY2ggdG9cbiAgIHNwbGl0dGluZyBsaW5lcy4gTGluZSBicmVha3MgYXJlIG5vdCBpbmNsdWRlZCBpbiB0aGUgcmVzdWx0aW5nIGxpc3RcbiAgIHVubGVzcyAqa2VlcGVuZHMqIGlzIGdpdmVuIGFuZCB0cnVlLlxuXG4gICBGb3IgZXhhbXBsZTpcblxuICAgICAgPj4+IFwnYWIgY1xcblxcbmRlIGZnXFxya2xcXHJcXG5cJy5zcGxpdGxpbmVzKClcbiAgICAgIFtcJ2FiIGNcJywgXCdcJywgXCdkZSBmZ1wnLCBcJ2tsXCddXG4gICAgICA+Pj4gXCdhYiBjXFxuXFxuZGUgZmdcXHJrbFxcclxcblwnLnNwbGl0bGluZXMoa2VlcGVuZHM9VHJ1ZSlcbiAgICAgIFtcJ2FiIGNcXG5cJywgXCdcXG5cJywgXCdkZSBmZ1xcclwnLCBcJ2tsXFxyXFxuXCddXG5cbiAgIFVubGlrZSAic3BsaXQoKSIgd2hlbiBhIGRlbGltaXRlciBzdHJpbmcgKnNlcCogaXMgZ2l2ZW4sIHRoaXNcbiAgIG1ldGhvZCByZXR1cm5zIGFuIGVtcHR5IGxpc3QgZm9yIHRoZSBlbXB0eSBzdHJpbmcsIGFuZCBhIHRlcm1pbmFsXG4gICBsaW5lIGJyZWFrIGRvZXMgbm90IHJlc3VsdCBpbiBhbiBleHRyYSBsaW5lOlxuXG4gICAgICA+Pj4gIiIuc3BsaXRsaW5lcygpXG4gICAgICBbXVxuICAgICAgPj4+ICJPbmUgbGluZVxcbiIuc3BsaXRsaW5lcygpXG4gICAgICBbXCdPbmUgbGluZVwnXVxuXG4gICBGb3IgY29tcGFyaXNvbiwgInNwbGl0KFwnXFxuXCcpIiBnaXZlczpcblxuICAgICAgPj4+IFwnXCcuc3BsaXQoXCdcXG5cJylcbiAgICAgIFtcJ1wnXVxuICAgICAgPj4+IFwnVHdvIGxpbmVzXFxuXCcuc3BsaXQoXCdcXG5cJylcbiAgICAgIFtcJ1R3byBsaW5lc1wnLCBcJ1wnXVxuXG5zdHIuc3RhcnRzd2l0aChwcmVmaXhbLCBzdGFydFssIGVuZF1dKVxuXG4gICBSZXR1cm4gIlRydWUiIGlmIHN0cmluZyBzdGFydHMgd2l0aCB0aGUgKnByZWZpeCosIG90aGVyd2lzZSByZXR1cm5cbiAgICJGYWxzZSIuICpwcmVmaXgqIGNhbiBhbHNvIGJlIGEgdHVwbGUgb2YgcHJlZml4ZXMgdG8gbG9vayBmb3IuXG4gICBXaXRoIG9wdGlvbmFsICpzdGFydCosIHRlc3Qgc3RyaW5nIGJlZ2lubmluZyBhdCB0aGF0IHBvc2l0aW9uLlxuICAgV2l0aCBvcHRpb25hbCAqZW5kKiwgc3RvcCBjb21wYXJpbmcgc3RyaW5nIGF0IHRoYXQgcG9zaXRpb24uXG5cbnN0ci5zdHJpcChbY2hhcnNdKVxuXG4gICBSZXR1cm4gYSBjb3B5IG9mIHRoZSBzdHJpbmcgd2l0aCB0aGUgbGVhZGluZyBhbmQgdHJhaWxpbmdcbiAgIGNoYXJhY3RlcnMgcmVtb3ZlZC4gVGhlICpjaGFycyogYXJndW1lbnQgaXMgYSBzdHJpbmcgc3BlY2lmeWluZyB0aGVcbiAgIHNldCBvZiBjaGFyYWN0ZXJzIHRvIGJlIHJlbW92ZWQuIElmIG9taXR0ZWQgb3IgIk5vbmUiLCB0aGUgKmNoYXJzKlxuICAgYXJndW1lbnQgZGVmYXVsdHMgdG8gcmVtb3Zpbmcgd2hpdGVzcGFjZS4gVGhlICpjaGFycyogYXJndW1lbnQgaXNcbiAgIG5vdCBhIHByZWZpeCBvciBzdWZmaXg7IHJhdGhlciwgYWxsIGNvbWJpbmF0aW9ucyBvZiBpdHMgdmFsdWVzIGFyZVxuICAgc3RyaXBwZWQ6XG5cbiAgICAgID4+PiBcJyAgIHNwYWNpb3VzICAgXCcuc3RyaXAoKVxuICAgICAgXCdzcGFjaW91c1wnXG4gICAgICA+Pj4gXCd3d3cuZXhhbXBsZS5jb21cJy5zdHJpcChcJ2Ntb3d6LlwnKVxuICAgICAgXCdleGFtcGxlXCdcblxuc3RyLnN3YXBjYXNlKClcblxuICAgUmV0dXJuIGEgY29weSBvZiB0aGUgc3RyaW5nIHdpdGggdXBwZXJjYXNlIGNoYXJhY3RlcnMgY29udmVydGVkIHRvXG4gICBsb3dlcmNhc2UgYW5kIHZpY2UgdmVyc2EuIE5vdGUgdGhhdCBpdCBpcyBub3QgbmVjZXNzYXJpbHkgdHJ1ZSB0aGF0XG4gICAicy5zd2FwY2FzZSgpLnN3YXBjYXNlKCkgPT0gcyIuXG5cbnN0ci50aXRsZSgpXG5cbiAgIFJldHVybiBhIHRpdGxlY2FzZWQgdmVyc2lvbiBvZiB0aGUgc3RyaW5nIHdoZXJlIHdvcmRzIHN0YXJ0IHdpdGggYW5cbiAgIHVwcGVyY2FzZSBjaGFyYWN0ZXIgYW5kIHRoZSByZW1haW5pbmcgY2hhcmFjdGVycyBhcmUgbG93ZXJjYXNlLlxuXG4gICBGb3IgZXhhbXBsZTpcblxuICAgICAgPj4+IFwnSGVsbG8gd29ybGRcJy50aXRsZSgpXG4gICAgICBcJ0hlbGxvIFdvcmxkXCdcblxuICAgVGhlIGFsZ29yaXRobSB1c2VzIGEgc2ltcGxlIGxhbmd1YWdlLWluZGVwZW5kZW50IGRlZmluaXRpb24gb2YgYVxuICAgd29yZCBhcyBncm91cHMgb2YgY29uc2VjdXRpdmUgbGV0dGVycy4gIFRoZSBkZWZpbml0aW9uIHdvcmtzIGluXG4gICBtYW55IGNvbnRleHRzIGJ1dCBpdCBtZWFucyB0aGF0IGFwb3N0cm9waGVzIGluIGNvbnRyYWN0aW9ucyBhbmRcbiAgIHBvc3Nlc3NpdmVzIGZvcm0gd29yZCBib3VuZGFyaWVzLCB3aGljaCBtYXkgbm90IGJlIHRoZSBkZXNpcmVkXG4gICByZXN1bHQ6XG5cbiAgICAgID4+PiAidGhleVwncmUgYmlsbFwncyBmcmllbmRzIGZyb20gdGhlIFVLIi50aXRsZSgpXG4gICAgICAiVGhleVwnUmUgQmlsbFwnUyBGcmllbmRzIEZyb20gVGhlIFVrIlxuXG4gICBBIHdvcmthcm91bmQgZm9yIGFwb3N0cm9waGVzIGNhbiBiZSBjb25zdHJ1Y3RlZCB1c2luZyByZWd1bGFyXG4gICBleHByZXNzaW9uczpcblxuICAgICAgPj4+IGltcG9ydCByZVxuICAgICAgPj4+IGRlZiB0aXRsZWNhc2Uocyk6XG4gICAgICAuLi4gICAgIHJldHVybiByZS5zdWIociJbQS1aYS16XSsoXCdbQS1aYS16XSspPyIsXG4gICAgICAuLi4gICAgICAgICAgICAgICAgICAgbGFtYmRhIG1vOiBtby5ncm91cCgwKVswXS51cHBlcigpICtcbiAgICAgIC4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vLmdyb3VwKDApWzE6XS5sb3dlcigpLFxuICAgICAgLi4uICAgICAgICAgICAgICAgICAgIHMpXG4gICAgICAuLi5cbiAgICAgID4+PiB0aXRsZWNhc2UoInRoZXlcJ3JlIGJpbGxcJ3MgZnJpZW5kcy4iKVxuICAgICAgIlRoZXlcJ3JlIEJpbGxcJ3MgRnJpZW5kcy4iXG5cbnN0ci50cmFuc2xhdGUobWFwKVxuXG4gICBSZXR1cm4gYSBjb3B5IG9mIHRoZSAqcyogd2hlcmUgYWxsIGNoYXJhY3RlcnMgaGF2ZSBiZWVuIG1hcHBlZFxuICAgdGhyb3VnaCB0aGUgKm1hcCogd2hpY2ggbXVzdCBiZSBhIGRpY3Rpb25hcnkgb2YgVW5pY29kZSBvcmRpbmFsc1xuICAgKGludGVnZXJzKSB0byBVbmljb2RlIG9yZGluYWxzLCBzdHJpbmdzIG9yICJOb25lIi4gIFVubWFwcGVkXG4gICBjaGFyYWN0ZXJzIGFyZSBsZWZ0IHVudG91Y2hlZC4gQ2hhcmFjdGVycyBtYXBwZWQgdG8gIk5vbmUiIGFyZVxuICAgZGVsZXRlZC5cblxuICAgWW91IGNhbiB1c2UgInN0ci5tYWtldHJhbnMoKSIgdG8gY3JlYXRlIGEgdHJhbnNsYXRpb24gbWFwIGZyb21cbiAgIGNoYXJhY3Rlci10by1jaGFyYWN0ZXIgbWFwcGluZ3MgaW4gZGlmZmVyZW50IGZvcm1hdHMuXG5cbiAgIE5vdGU6IEFuIGV2ZW4gbW9yZSBmbGV4aWJsZSBhcHByb2FjaCBpcyB0byBjcmVhdGUgYSBjdXN0b21cbiAgICAgY2hhcmFjdGVyIG1hcHBpbmcgY29kZWMgdXNpbmcgdGhlICJjb2RlY3MiIG1vZHVsZSAoc2VlXG4gICAgICJlbmNvZGluZ3MuY3AxMjUxIiBmb3IgYW4gZXhhbXBsZSkuXG5cbnN0ci51cHBlcigpXG5cbiAgIFJldHVybiBhIGNvcHkgb2YgdGhlIHN0cmluZyB3aXRoIGFsbCB0aGUgY2FzZWQgY2hhcmFjdGVycyBbNF1cbiAgIGNvbnZlcnRlZCB0byB1cHBlcmNhc2UuICBOb3RlIHRoYXQgInN0ci51cHBlcigpLmlzdXBwZXIoKSIgbWlnaHQgYmVcbiAgICJGYWxzZSIgaWYgInMiIGNvbnRhaW5zIHVuY2FzZWQgY2hhcmFjdGVycyBvciBpZiB0aGUgVW5pY29kZVxuICAgY2F0ZWdvcnkgb2YgdGhlIHJlc3VsdGluZyBjaGFyYWN0ZXIocykgaXMgbm90ICJMdSIgKExldHRlcixcbiAgIHVwcGVyY2FzZSksIGJ1dCBlLmcuICJMdCIgKExldHRlciwgdGl0bGVjYXNlKS5cblxuICAgVGhlIHVwcGVyY2FzaW5nIGFsZ29yaXRobSB1c2VkIGlzIGRlc2NyaWJlZCBpbiBzZWN0aW9uIDMuMTMgb2YgdGhlXG4gICBVbmljb2RlIFN0YW5kYXJkLlxuXG5zdHIuemZpbGwod2lkdGgpXG5cbiAgIFJldHVybiBhIGNvcHkgb2YgdGhlIHN0cmluZyBsZWZ0IGZpbGxlZCB3aXRoIEFTQ0lJICJcJzBcJyIgZGlnaXRzIHRvXG4gICBtYWtlIGEgc3RyaW5nIG9mIGxlbmd0aCAqd2lkdGgqLiBBIGxlYWRpbmcgc2lnbiBwcmVmaXggKCJcJytcJyIvIlwnLVwnIlxuICAgaXMgaGFuZGxlZCBieSBpbnNlcnRpbmcgdGhlIHBhZGRpbmcgKmFmdGVyKiB0aGUgc2lnbiBjaGFyYWN0ZXJcbiAgIHJhdGhlciB0aGFuIGJlZm9yZS4gVGhlIG9yaWdpbmFsIHN0cmluZyBpcyByZXR1cm5lZCBpZiAqd2lkdGgqIGlzXG4gICBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gImxlbihzKSIuXG5cbiAgIEZvciBleGFtcGxlOlxuXG4gICAgICA+Pj4gIjQyIi56ZmlsbCg1KVxuICAgICAgXCcwMDA0MlwnXG4gICAgICA+Pj4gIi00MiIuemZpbGwoNSlcbiAgICAgIFwnLTAwNDJcJ1xuJywKICAnc3RyaW5ncyc6IHUnXG5TdHJpbmcgYW5kIEJ5dGVzIGxpdGVyYWxzXG4qKioqKioqKioqKioqKioqKioqKioqKioqXG5cblN0cmluZyBsaXRlcmFscyBhcmUgZGVzY3JpYmVkIGJ5IHRoZSBmb2xsb3dpbmcgbGV4aWNhbCBkZWZpbml0aW9uczpcblxuICAgc3RyaW5nbGl0ZXJhbCAgIDo6PSBbc3RyaW5ncHJlZml4XShzaG9ydHN0cmluZyB8IGxvbmdzdHJpbmcpXG4gICBzdHJpbmdwcmVmaXggICAgOjo9ICJyIiB8ICJ1IiB8ICJSIiB8ICJVIlxuICAgc2hvcnRzdHJpbmcgICAgIDo6PSAiXCciIHNob3J0c3RyaW5naXRlbSogIlwnIiB8IFwnIlwnIHNob3J0c3RyaW5naXRlbSogXCciXCdcbiAgIGxvbmdzdHJpbmcgICAgICA6Oj0gIlwnXCdcJyIgbG9uZ3N0cmluZ2l0ZW0qICJcJ1wnXCciIHwgXCciIiJcJyBsb25nc3RyaW5naXRlbSogXCciIiJcJ1xuICAgc2hvcnRzdHJpbmdpdGVtIDo6PSBzaG9ydHN0cmluZ2NoYXIgfCBzdHJpbmdlc2NhcGVzZXFcbiAgIGxvbmdzdHJpbmdpdGVtICA6Oj0gbG9uZ3N0cmluZ2NoYXIgfCBzdHJpbmdlc2NhcGVzZXFcbiAgIHNob3J0c3RyaW5nY2hhciA6Oj0gPGFueSBzb3VyY2UgY2hhcmFjdGVyIGV4Y2VwdCAiXFwiIG9yIG5ld2xpbmUgb3IgdGhlIHF1b3RlPlxuICAgbG9uZ3N0cmluZ2NoYXIgIDo6PSA8YW55IHNvdXJjZSBjaGFyYWN0ZXIgZXhjZXB0ICJcXCI+XG4gICBzdHJpbmdlc2NhcGVzZXEgOjo9ICJcXCIgPGFueSBzb3VyY2UgY2hhcmFjdGVyPlxuXG4gICBieXRlc2xpdGVyYWwgICA6Oj0gYnl0ZXNwcmVmaXgoc2hvcnRieXRlcyB8IGxvbmdieXRlcylcbiAgIGJ5dGVzcHJlZml4ICAgIDo6PSAiYiIgfCAiQiIgfCAiYnIiIHwgIkJyIiB8ICJiUiIgfCAiQlIiIHwgInJiIiB8ICJyQiIgfCAiUmIiIHwgIlJCIlxuICAgc2hvcnRieXRlcyAgICAgOjo9ICJcJyIgc2hvcnRieXRlc2l0ZW0qICJcJyIgfCBcJyJcJyBzaG9ydGJ5dGVzaXRlbSogXCciXCdcbiAgIGxvbmdieXRlcyAgICAgIDo6PSAiXCdcJ1wnIiBsb25nYnl0ZXNpdGVtKiAiXCdcJ1wnIiB8IFwnIiIiXCcgbG9uZ2J5dGVzaXRlbSogXCciIiJcJ1xuICAgc2hvcnRieXRlc2l0ZW0gOjo9IHNob3J0Ynl0ZXNjaGFyIHwgYnl0ZXNlc2NhcGVzZXFcbiAgIGxvbmdieXRlc2l0ZW0gIDo6PSBsb25nYnl0ZXNjaGFyIHwgYnl0ZXNlc2NhcGVzZXFcbiAgIHNob3J0Ynl0ZXNjaGFyIDo6PSA8YW55IEFTQ0lJIGNoYXJhY3RlciBleGNlcHQgIlxcIiBvciBuZXdsaW5lIG9yIHRoZSBxdW90ZT5cbiAgIGxvbmdieXRlc2NoYXIgIDo6PSA8YW55IEFTQ0lJIGNoYXJhY3RlciBleGNlcHQgIlxcIj5cbiAgIGJ5dGVzZXNjYXBlc2VxIDo6PSAiXFwiIDxhbnkgQVNDSUkgY2hhcmFjdGVyPlxuXG5PbmUgc3ludGFjdGljIHJlc3RyaWN0aW9uIG5vdCBpbmRpY2F0ZWQgYnkgdGhlc2UgcHJvZHVjdGlvbnMgaXMgdGhhdFxud2hpdGVzcGFjZSBpcyBub3QgYWxsb3dlZCBiZXR3ZWVuIHRoZSAic3RyaW5ncHJlZml4IiBvciAiYnl0ZXNwcmVmaXgiXG5hbmQgdGhlIHJlc3Qgb2YgdGhlIGxpdGVyYWwuIFRoZSBzb3VyY2UgY2hhcmFjdGVyIHNldCBpcyBkZWZpbmVkIGJ5XG50aGUgZW5jb2RpbmcgZGVjbGFyYXRpb247IGl0IGlzIFVURi04IGlmIG5vIGVuY29kaW5nIGRlY2xhcmF0aW9uIGlzXG5naXZlbiBpbiB0aGUgc291cmNlIGZpbGU7IHNlZSBzZWN0aW9uICpFbmNvZGluZyBkZWNsYXJhdGlvbnMqLlxuXG5JbiBwbGFpbiBFbmdsaXNoOiBCb3RoIHR5cGVzIG9mIGxpdGVyYWxzIGNhbiBiZSBlbmNsb3NlZCBpbiBtYXRjaGluZ1xuc2luZ2xlIHF1b3RlcyAoIlwnIikgb3IgZG91YmxlIHF1b3RlcyAoIiIiKS4gIFRoZXkgY2FuIGFsc28gYmUgZW5jbG9zZWRcbmluIG1hdGNoaW5nIGdyb3VwcyBvZiB0aHJlZSBzaW5nbGUgb3IgZG91YmxlIHF1b3RlcyAodGhlc2UgYXJlXG5nZW5lcmFsbHkgcmVmZXJyZWQgdG8gYXMgKnRyaXBsZS1xdW90ZWQgc3RyaW5ncyopLiAgVGhlIGJhY2tzbGFzaFxuKCJcXCIpIGNoYXJhY3RlciBpcyB1c2VkIHRvIGVzY2FwZSBjaGFyYWN0ZXJzIHRoYXQgb3RoZXJ3aXNlIGhhdmUgYVxuc3BlY2lhbCBtZWFuaW5nLCBzdWNoIGFzIG5ld2xpbmUsIGJhY2tzbGFzaCBpdHNlbGYsIG9yIHRoZSBxdW90ZVxuY2hhcmFjdGVyLlxuXG5CeXRlcyBsaXRlcmFscyBhcmUgYWx3YXlzIHByZWZpeGVkIHdpdGggIlwnYlwnIiBvciAiXCdCXCciOyB0aGV5IHByb2R1Y2VcbmFuIGluc3RhbmNlIG9mIHRoZSAiYnl0ZXMiIHR5cGUgaW5zdGVhZCBvZiB0aGUgInN0ciIgdHlwZS4gIFRoZXkgbWF5XG5vbmx5IGNvbnRhaW4gQVNDSUkgY2hhcmFjdGVyczsgYnl0ZXMgd2l0aCBhIG51bWVyaWMgdmFsdWUgb2YgMTI4IG9yXG5ncmVhdGVyIG11c3QgYmUgZXhwcmVzc2VkIHdpdGggZXNjYXBlcy5cblxuQXMgb2YgUHl0aG9uIDMuMyBpdCBpcyBwb3NzaWJsZSBhZ2FpbiB0byBwcmVmaXggc3RyaW5nIGxpdGVyYWxzIHdpdGggYVxuInUiIHByZWZpeCB0byBzaW1wbGlmeSBtYWludGVuYW5jZSBvZiBkdWFsIDIueCBhbmQgMy54IGNvZGViYXNlcy5cblxuQm90aCBzdHJpbmcgYW5kIGJ5dGVzIGxpdGVyYWxzIG1heSBvcHRpb25hbGx5IGJlIHByZWZpeGVkIHdpdGggYVxubGV0dGVyICJcJ3JcJyIgb3IgIlwnUlwnIjsgc3VjaCBzdHJpbmdzIGFyZSBjYWxsZWQgKnJhdyBzdHJpbmdzKiBhbmQgdHJlYXRcbmJhY2tzbGFzaGVzIGFzIGxpdGVyYWwgY2hhcmFjdGVycy4gIEFzIGEgcmVzdWx0LCBpbiBzdHJpbmcgbGl0ZXJhbHMsXG4iXCdcXFVcJyIgYW5kICJcJ1xcdVwnIiBlc2NhcGVzIGluIHJhdyBzdHJpbmdzIGFyZSBub3QgdHJlYXRlZCBzcGVjaWFsbHkuXG5HaXZlbiB0aGF0IFB5dGhvbiAyLnhcJ3MgcmF3IHVuaWNvZGUgbGl0ZXJhbHMgYmVoYXZlIGRpZmZlcmVudGx5IHRoYW5cblB5dGhvbiAzLnhcJ3MgdGhlICJcJ3VyXCciIHN5bnRheCBpcyBub3Qgc3VwcG9ydGVkLlxuXG5OZXcgaW4gdmVyc2lvbiAzLjM6IFRoZSAiXCdyYlwnIiBwcmVmaXggb2YgcmF3IGJ5dGVzIGxpdGVyYWxzIGhhcyBiZWVuXG5hZGRlZCBhcyBhIHN5bm9ueW0gb2YgIlwnYnJcJyIuXG5cbk5ldyBpbiB2ZXJzaW9uIDMuMzogU3VwcG9ydCBmb3IgdGhlIHVuaWNvZGUgbGVnYWN5IGxpdGVyYWxcbigidVwndmFsdWVcJyIpIHdhcyByZWludHJvZHVjZWQgdG8gc2ltcGxpZnkgdGhlIG1haW50ZW5hbmNlIG9mIGR1YWxcblB5dGhvbiAyLnggYW5kIDMueCBjb2RlYmFzZXMuIFNlZSAqKlBFUCA0MTQqKiBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cblxuSW4gdHJpcGxlLXF1b3RlZCBsaXRlcmFscywgdW5lc2NhcGVkIG5ld2xpbmVzIGFuZCBxdW90ZXMgYXJlIGFsbG93ZWRcbihhbmQgYXJlIHJldGFpbmVkKSwgZXhjZXB0IHRoYXQgdGhyZWUgdW5lc2NhcGVkIHF1b3RlcyBpbiBhIHJvd1xudGVybWluYXRlIHRoZSBsaXRlcmFsLiAgKEEgInF1b3RlIiBpcyB0aGUgY2hhcmFjdGVyIHVzZWQgdG8gb3BlbiB0aGVcbmxpdGVyYWwsIGkuZS4gZWl0aGVyICJcJyIgb3IgIiIiLilcblxuVW5sZXNzIGFuICJcJ3JcJyIgb3IgIlwnUlwnIiBwcmVmaXggaXMgcHJlc2VudCwgZXNjYXBlIHNlcXVlbmNlcyBpbiBzdHJpbmdcbmFuZCBieXRlcyBsaXRlcmFscyBhcmUgaW50ZXJwcmV0ZWQgYWNjb3JkaW5nIHRvIHJ1bGVzIHNpbWlsYXIgdG8gdGhvc2VcbnVzZWQgYnkgU3RhbmRhcmQgQy4gIFRoZSByZWNvZ25pemVkIGVzY2FwZSBzZXF1ZW5jZXMgYXJlOlxuXG4rLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rXG58IEVzY2FwZSBTZXF1ZW5jZSAgIHwgTWVhbmluZyAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgTm90ZXMgICB8XG4rPT09PT09PT09PT09PT09PT09PSs9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSs9PT09PT09PT0rXG58ICJcXG5ld2xpbmUiICAgICAgICB8IEJhY2tzbGFzaCBhbmQgbmV3bGluZSBpZ25vcmVkICAgICB8ICAgICAgICAgfFxuKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tK1xufCAiXFxcXCIgICAgICAgICAgICAgIHwgQmFja3NsYXNoICgiXFwiKSAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgfFxuKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tK1xufCAiXFxcJyIgICAgICAgICAgICAgIHwgU2luZ2xlIHF1b3RlICgiXCciKSAgICAgICAgICAgICAgICB8ICAgICAgICAgfFxuKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tK1xufCAiXFwiIiAgICAgICAgICAgICAgfCBEb3VibGUgcXVvdGUgKCIiIikgICAgICAgICAgICAgICAgfCAgICAgICAgIHxcbistLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLStcbnwgIlxcYSIgICAgICAgICAgICAgIHwgQVNDSUkgQmVsbCAoQkVMKSAgICAgICAgICAgICAgICAgIHwgICAgICAgICB8XG4rLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rXG58ICJcXGIiICAgICAgICAgICAgICB8IEFTQ0lJIEJhY2tzcGFjZSAoQlMpICAgICAgICAgICAgICB8ICAgICAgICAgfFxuKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tK1xufCAiXFxmIiAgICAgICAgICAgICAgfCBBU0NJSSBGb3JtZmVlZCAoRkYpICAgICAgICAgICAgICAgfCAgICAgICAgIHxcbistLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLStcbnwgIlxcbiIgICAgICAgICAgICAgIHwgQVNDSUkgTGluZWZlZWQgKExGKSAgICAgICAgICAgICAgIHwgICAgICAgICB8XG4rLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rXG58ICJcXHIiICAgICAgICAgICAgICB8IEFTQ0lJIENhcnJpYWdlIFJldHVybiAoQ1IpICAgICAgICB8ICAgICAgICAgfFxuKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tK1xufCAiXFx0IiAgICAgICAgICAgICAgfCBBU0NJSSBIb3Jpem9udGFsIFRhYiAoVEFCKSAgICAgICAgfCAgICAgICAgIHxcbistLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLStcbnwgIlxcdiIgICAgICAgICAgICAgIHwgQVNDSUkgVmVydGljYWwgVGFiIChWVCkgICAgICAgICAgIHwgICAgICAgICB8XG4rLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rXG58ICJcXG9vbyIgICAgICAgICAgICB8IENoYXJhY3RlciB3aXRoIG9jdGFsIHZhbHVlICpvb28qICB8ICgxLDMpICAgfFxuKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tK1xufCAiXFx4aGgiICAgICAgICAgICAgfCBDaGFyYWN0ZXIgd2l0aCBoZXggdmFsdWUgKmhoKiAgICAgfCAoMiwzKSAgIHxcbistLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLStcblxuRXNjYXBlIHNlcXVlbmNlcyBvbmx5IHJlY29nbml6ZWQgaW4gc3RyaW5nIGxpdGVyYWxzIGFyZTpcblxuKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tK1xufCBFc2NhcGUgU2VxdWVuY2UgICB8IE1lYW5pbmcgICAgICAgICAgICAgICAgICAgICAgICAgICB8IE5vdGVzICAgfFxuKz09PT09PT09PT09PT09PT09PT0rPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0rPT09PT09PT09K1xufCAiXFxOe25hbWV9IiAgICAgICAgfCBDaGFyYWN0ZXIgbmFtZWQgKm5hbWUqIGluIHRoZSAgICAgfCAoNCkgICAgIHxcbnwgICAgICAgICAgICAgICAgICAgfCBVbmljb2RlIGRhdGFiYXNlICAgICAgICAgICAgICAgICAgfCAgICAgICAgIHxcbistLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLStcbnwgIlxcdXh4eHgiICAgICAgICAgIHwgQ2hhcmFjdGVyIHdpdGggMTYtYml0IGhleCB2YWx1ZSAgIHwgKDUpICAgICB8XG58ICAgICAgICAgICAgICAgICAgIHwgKnh4eHgqICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICB8XG4rLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rXG58ICJcXFV4eHh4eHh4eCIgICAgICB8IENoYXJhY3RlciB3aXRoIDMyLWJpdCBoZXggdmFsdWUgICB8ICg2KSAgICAgfFxufCAgICAgICAgICAgICAgICAgICB8ICp4eHh4eHh4eCogICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgfFxuKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tK1xuXG5Ob3RlczpcblxuMS4gQXMgaW4gU3RhbmRhcmQgQywgdXAgdG8gdGhyZWUgb2N0YWwgZGlnaXRzIGFyZSBhY2NlcHRlZC5cblxuMi4gVW5saWtlIGluIFN0YW5kYXJkIEMsIGV4YWN0bHkgdHdvIGhleCBkaWdpdHMgYXJlIHJlcXVpcmVkLlxuXG4zLiBJbiBhIGJ5dGVzIGxpdGVyYWwsIGhleGFkZWNpbWFsIGFuZCBvY3RhbCBlc2NhcGVzIGRlbm90ZSB0aGVcbiAgIGJ5dGUgd2l0aCB0aGUgZ2l2ZW4gdmFsdWUuIEluIGEgc3RyaW5nIGxpdGVyYWwsIHRoZXNlIGVzY2FwZXNcbiAgIGRlbm90ZSBhIFVuaWNvZGUgY2hhcmFjdGVyIHdpdGggdGhlIGdpdmVuIHZhbHVlLlxuXG40LiBDaGFuZ2VkIGluIHZlcnNpb24gMy4zOiBTdXBwb3J0IGZvciBuYW1lIGFsaWFzZXMgWzFdIGhhcyBiZWVuXG4gICBhZGRlZC5cblxuNS4gSW5kaXZpZHVhbCBjb2RlIHVuaXRzIHdoaWNoIGZvcm0gcGFydHMgb2YgYSBzdXJyb2dhdGUgcGFpciBjYW5cbiAgIGJlIGVuY29kZWQgdXNpbmcgdGhpcyBlc2NhcGUgc2VxdWVuY2UuICBFeGFjdGx5IGZvdXIgaGV4IGRpZ2l0cyBhcmVcbiAgIHJlcXVpcmVkLlxuXG42LiBBbnkgVW5pY29kZSBjaGFyYWN0ZXIgY2FuIGJlIGVuY29kZWQgdGhpcyB3YXkuICBFeGFjdGx5IGVpZ2h0XG4gICBoZXggZGlnaXRzIGFyZSByZXF1aXJlZC5cblxuVW5saWtlIFN0YW5kYXJkIEMsIGFsbCB1bnJlY29nbml6ZWQgZXNjYXBlIHNlcXVlbmNlcyBhcmUgbGVmdCBpbiB0aGVcbnN0cmluZyB1bmNoYW5nZWQsIGkuZS4sICp0aGUgYmFja3NsYXNoIGlzIGxlZnQgaW4gdGhlIHJlc3VsdCouICAoVGhpc1xuYmVoYXZpb3IgaXMgdXNlZnVsIHdoZW4gZGVidWdnaW5nOiBpZiBhbiBlc2NhcGUgc2VxdWVuY2UgaXMgbWlzdHlwZWQsXG50aGUgcmVzdWx0aW5nIG91dHB1dCBpcyBtb3JlIGVhc2lseSByZWNvZ25pemVkIGFzIGJyb2tlbi4pICBJdCBpcyBhbHNvXG5pbXBvcnRhbnQgdG8gbm90ZSB0aGF0IHRoZSBlc2NhcGUgc2VxdWVuY2VzIG9ubHkgcmVjb2duaXplZCBpbiBzdHJpbmdcbmxpdGVyYWxzIGZhbGwgaW50byB0aGUgY2F0ZWdvcnkgb2YgdW5yZWNvZ25pemVkIGVzY2FwZXMgZm9yIGJ5dGVzXG5saXRlcmFscy5cblxuRXZlbiBpbiBhIHJhdyBsaXRlcmFsLCBxdW90ZXMgY2FuIGJlIGVzY2FwZWQgd2l0aCBhIGJhY2tzbGFzaCwgYnV0IHRoZVxuYmFja3NsYXNoIHJlbWFpbnMgaW4gdGhlIHJlc3VsdDsgZm9yIGV4YW1wbGUsICJyIlxcIiIiIGlzIGEgdmFsaWRcbnN0cmluZyBsaXRlcmFsIGNvbnNpc3Rpbmcgb2YgdHdvIGNoYXJhY3RlcnM6IGEgYmFja3NsYXNoIGFuZCBhIGRvdWJsZVxucXVvdGU7ICJyIlxcIiIgaXMgbm90IGEgdmFsaWQgc3RyaW5nIGxpdGVyYWwgKGV2ZW4gYSByYXcgc3RyaW5nIGNhbm5vdFxuZW5kIGluIGFuIG9kZCBudW1iZXIgb2YgYmFja3NsYXNoZXMpLiAgU3BlY2lmaWNhbGx5LCAqYSByYXcgbGl0ZXJhbFxuY2Fubm90IGVuZCBpbiBhIHNpbmdsZSBiYWNrc2xhc2gqIChzaW5jZSB0aGUgYmFja3NsYXNoIHdvdWxkIGVzY2FwZVxudGhlIGZvbGxvd2luZyBxdW90ZSBjaGFyYWN0ZXIpLiAgTm90ZSBhbHNvIHRoYXQgYSBzaW5nbGUgYmFja3NsYXNoXG5mb2xsb3dlZCBieSBhIG5ld2xpbmUgaXMgaW50ZXJwcmV0ZWQgYXMgdGhvc2UgdHdvIGNoYXJhY3RlcnMgYXMgcGFydFxub2YgdGhlIGxpdGVyYWwsICpub3QqIGFzIGEgbGluZSBjb250aW51YXRpb24uXG4nLAogICdzdWJzY3JpcHRpb25zJzogdSdcblN1YnNjcmlwdGlvbnNcbioqKioqKioqKioqKipcblxuQSBzdWJzY3JpcHRpb24gc2VsZWN0cyBhbiBpdGVtIG9mIGEgc2VxdWVuY2UgKHN0cmluZywgdHVwbGUgb3IgbGlzdClcbm9yIG1hcHBpbmcgKGRpY3Rpb25hcnkpIG9iamVjdDpcblxuICAgc3Vic2NyaXB0aW9uIDo6PSBwcmltYXJ5ICJbIiBleHByZXNzaW9uX2xpc3QgIl0iXG5cblRoZSBwcmltYXJ5IG11c3QgZXZhbHVhdGUgdG8gYW4gb2JqZWN0IHRoYXQgc3VwcG9ydHMgc3Vic2NyaXB0aW9uXG4obGlzdHMgb3IgZGljdGlvbmFyaWVzIGZvciBleGFtcGxlKS4gIFVzZXItZGVmaW5lZCBvYmplY3RzIGNhbiBzdXBwb3J0XG5zdWJzY3JpcHRpb24gYnkgZGVmaW5pbmcgYSAiX19nZXRpdGVtX18oKSIgbWV0aG9kLlxuXG5Gb3IgYnVpbHQtaW4gb2JqZWN0cywgdGhlcmUgYXJlIHR3byB0eXBlcyBvZiBvYmplY3RzIHRoYXQgc3VwcG9ydFxuc3Vic2NyaXB0aW9uOlxuXG5JZiB0aGUgcHJpbWFyeSBpcyBhIG1hcHBpbmcsIHRoZSBleHByZXNzaW9uIGxpc3QgbXVzdCBldmFsdWF0ZSB0byBhblxub2JqZWN0IHdob3NlIHZhbHVlIGlzIG9uZSBvZiB0aGUga2V5cyBvZiB0aGUgbWFwcGluZywgYW5kIHRoZVxuc3Vic2NyaXB0aW9uIHNlbGVjdHMgdGhlIHZhbHVlIGluIHRoZSBtYXBwaW5nIHRoYXQgY29ycmVzcG9uZHMgdG8gdGhhdFxua2V5LiAgKFRoZSBleHByZXNzaW9uIGxpc3QgaXMgYSB0dXBsZSBleGNlcHQgaWYgaXQgaGFzIGV4YWN0bHkgb25lXG5pdGVtLilcblxuSWYgdGhlIHByaW1hcnkgaXMgYSBzZXF1ZW5jZSwgdGhlIGV4cHJlc3Npb24gKGxpc3QpIG11c3QgZXZhbHVhdGUgdG9cbmFuIGludGVnZXIgb3IgYSBzbGljZSAoYXMgZGlzY3Vzc2VkIGluIHRoZSBmb2xsb3dpbmcgc2VjdGlvbikuXG5cblRoZSBmb3JtYWwgc3ludGF4IG1ha2VzIG5vIHNwZWNpYWwgcHJvdmlzaW9uIGZvciBuZWdhdGl2ZSBpbmRpY2VzIGluXG5zZXF1ZW5jZXM7IGhvd2V2ZXIsIGJ1aWx0LWluIHNlcXVlbmNlcyBhbGwgcHJvdmlkZSBhICJfX2dldGl0ZW1fXygpIlxubWV0aG9kIHRoYXQgaW50ZXJwcmV0cyBuZWdhdGl2ZSBpbmRpY2VzIGJ5IGFkZGluZyB0aGUgbGVuZ3RoIG9mIHRoZVxuc2VxdWVuY2UgdG8gdGhlIGluZGV4IChzbyB0aGF0ICJ4Wy0xXSIgc2VsZWN0cyB0aGUgbGFzdCBpdGVtIG9mICJ4IikuXG5UaGUgcmVzdWx0aW5nIHZhbHVlIG11c3QgYmUgYSBub25uZWdhdGl2ZSBpbnRlZ2VyIGxlc3MgdGhhbiB0aGUgbnVtYmVyXG5vZiBpdGVtcyBpbiB0aGUgc2VxdWVuY2UsIGFuZCB0aGUgc3Vic2NyaXB0aW9uIHNlbGVjdHMgdGhlIGl0ZW0gd2hvc2VcbmluZGV4IGlzIHRoYXQgdmFsdWUgKGNvdW50aW5nIGZyb20gemVybykuIFNpbmNlIHRoZSBzdXBwb3J0IGZvclxubmVnYXRpdmUgaW5kaWNlcyBhbmQgc2xpY2luZyBvY2N1cnMgaW4gdGhlIG9iamVjdFwncyAiX19nZXRpdGVtX18oKSJcbm1ldGhvZCwgc3ViY2xhc3NlcyBvdmVycmlkaW5nIHRoaXMgbWV0aG9kIHdpbGwgbmVlZCB0byBleHBsaWNpdGx5IGFkZFxudGhhdCBzdXBwb3J0LlxuXG5BIHN0cmluZ1wncyBpdGVtcyBhcmUgY2hhcmFjdGVycy4gIEEgY2hhcmFjdGVyIGlzIG5vdCBhIHNlcGFyYXRlIGRhdGFcbnR5cGUgYnV0IGEgc3RyaW5nIG9mIGV4YWN0bHkgb25lIGNoYXJhY3Rlci5cbicsCmRpZmYgLS1naXQgYS9MaWIvcXVldWUucHkgYi9MaWIvcXVldWUucHkKaW5kZXggM2NlZTM2Yi4uNTcyNDI1ZSAxMDA2NDQKLS0tIGEvTGliL3F1ZXVlLnB5CisrKyBiL0xpYi9xdWV1ZS5weQpAQCAtNiwxMCArNiw3IEBACiAgICAgaW1wb3J0IGR1bW15X3RocmVhZGluZyBhcyB0aHJlYWRpbmcKIGZyb20gY29sbGVjdGlvbnMgaW1wb3J0IGRlcXVlCiBmcm9tIGhlYXBxIGltcG9ydCBoZWFwcHVzaCwgaGVhcHBvcAotdHJ5OgotICAgIGZyb20gdGltZSBpbXBvcnQgbW9ub3RvbmljIGFzIHRpbWUKLWV4Y2VwdCBJbXBvcnRFcnJvcjoKLSAgICBmcm9tIHRpbWUgaW1wb3J0IHRpbWUKK2Zyb20gdGltZSBpbXBvcnQgbW9ub3RvbmljIGFzIHRpbWUKIAogX19hbGxfXyA9IFsnRW1wdHknLCAnRnVsbCcsICdRdWV1ZScsICdQcmlvcml0eVF1ZXVlJywgJ0xpZm9RdWV1ZSddCiAKZGlmZiAtLWdpdCBhL0xpYi9yYW5kb20ucHkgYi9MaWIvcmFuZG9tLnB5CmluZGV4IDQ2NDI5MjguLjFmNWJlNDUgMTAwNjQ0Ci0tLSBhL0xpYi9yYW5kb20ucHkKKysrIGIvTGliL3JhbmRvbS5weQpAQCAtNjg3LDcgKzY4Nyw3IEBACiAgICAgcHJpbnQocm91bmQodDEtdDAsIDMpLCAnc2VjLCcsIGVuZD0nICcpCiAgICAgYXZnID0gdG90YWwvbgogICAgIHN0ZGRldiA9IF9zcXJ0KHNxc3VtL24gLSBhdmcqYXZnKQotICAgIHByaW50KCdhdmcgJWcsIHN0ZGRldiAlZywgbWluICVnLCBtYXggJWcnICUgXAorICAgIHByaW50KCdhdmcgJWcsIHN0ZGRldiAlZywgbWluICVnLCBtYXggJWdcbicgJSBcCiAgICAgICAgICAgICAgIChhdmcsIHN0ZGRldiwgc21hbGxlc3QsIGxhcmdlc3QpKQogCiAKZGlmZiAtLWdpdCBhL0xpYi9yZS5weSBiL0xpYi9yZS5weQppbmRleCAxOTlhZmVlLi43ODhmYTZiIDEwMDY0NAotLS0gYS9MaWIvcmUucHkKKysrIGIvTGliL3JlLnB5CkBAIC0xMjgsMTAgKzEyOCwxMyBAQAogICAgIF9sb2NhbGUgPSBOb25lCiAKICMgcHVibGljIHN5bWJvbHMKLV9fYWxsX18gPSBbICJtYXRjaCIsICJmdWxsbWF0Y2giLCAic2VhcmNoIiwgInN1YiIsICJzdWJuIiwgInNwbGl0IiwgImZpbmRhbGwiLAotICAgICJjb21waWxlIiwgInB1cmdlIiwgInRlbXBsYXRlIiwgImVzY2FwZSIsICJBIiwgIkkiLCAiTCIsICJNIiwgIlMiLCAiWCIsCi0gICAgIlUiLCAiQVNDSUkiLCAiSUdOT1JFQ0FTRSIsICJMT0NBTEUiLCAiTVVMVElMSU5FIiwgIkRPVEFMTCIsICJWRVJCT1NFIiwKLSAgICAiVU5JQ09ERSIsICJlcnJvciIgXQorX19hbGxfXyA9IFsKKyAgICAibWF0Y2giLCAiZnVsbG1hdGNoIiwgInNlYXJjaCIsICJzdWIiLCAic3VibiIsICJzcGxpdCIsCisgICAgImZpbmRhbGwiLCAiZmluZGl0ZXIiLCAiY29tcGlsZSIsICJwdXJnZSIsICJ0ZW1wbGF0ZSIsICJlc2NhcGUiLAorICAgICJlcnJvciIsICJBIiwgIkkiLCAiTCIsICJNIiwgIlMiLCAiWCIsICJVIiwKKyAgICAiQVNDSUkiLCAiSUdOT1JFQ0FTRSIsICJMT0NBTEUiLCAiTVVMVElMSU5FIiwgIkRPVEFMTCIsICJWRVJCT1NFIiwKKyAgICAiVU5JQ09ERSIsCitdCiAKIF9fdmVyc2lvbl9fID0gIjIuMi4xIgogCkBAIC0yMDksMTQgKzIxMiwxMiBAQAogICAgIEVtcHR5IG1hdGNoZXMgYXJlIGluY2x1ZGVkIGluIHRoZSByZXN1bHQuIiIiCiAgICAgcmV0dXJuIF9jb21waWxlKHBhdHRlcm4sIGZsYWdzKS5maW5kYWxsKHN0cmluZykKIAotaWYgc3lzLmhleHZlcnNpb24gPj0gMHgwMjAyMDAwMDoKLSAgICBfX2FsbF9fLmFwcGVuZCgiZmluZGl0ZXIiKQotICAgIGRlZiBmaW5kaXRlcihwYXR0ZXJuLCBzdHJpbmcsIGZsYWdzPTApOgotICAgICAgICAiIiJSZXR1cm4gYW4gaXRlcmF0b3Igb3ZlciBhbGwgbm9uLW92ZXJsYXBwaW5nIG1hdGNoZXMgaW4gdGhlCi0gICAgICAgIHN0cmluZy4gIEZvciBlYWNoIG1hdGNoLCB0aGUgaXRlcmF0b3IgcmV0dXJucyBhIG1hdGNoIG9iamVjdC4KK2RlZiBmaW5kaXRlcihwYXR0ZXJuLCBzdHJpbmcsIGZsYWdzPTApOgorICAgICIiIlJldHVybiBhbiBpdGVyYXRvciBvdmVyIGFsbCBub24tb3ZlcmxhcHBpbmcgbWF0Y2hlcyBpbiB0aGUKKyAgICBzdHJpbmcuICBGb3IgZWFjaCBtYXRjaCwgdGhlIGl0ZXJhdG9yIHJldHVybnMgYSBtYXRjaCBvYmplY3QuCiAKLSAgICAgICAgRW1wdHkgbWF0Y2hlcyBhcmUgaW5jbHVkZWQgaW4gdGhlIHJlc3VsdC4iIiIKLSAgICAgICAgcmV0dXJuIF9jb21waWxlKHBhdHRlcm4sIGZsYWdzKS5maW5kaXRlcihzdHJpbmcpCisgICAgRW1wdHkgbWF0Y2hlcyBhcmUgaW5jbHVkZWQgaW4gdGhlIHJlc3VsdC4iIiIKKyAgICByZXR1cm4gX2NvbXBpbGUocGF0dGVybiwgZmxhZ3MpLmZpbmRpdGVyKHN0cmluZykKIAogZGVmIGNvbXBpbGUocGF0dGVybiwgZmxhZ3M9MCk6CiAgICAgIkNvbXBpbGUgYSByZWd1bGFyIGV4cHJlc3Npb24gcGF0dGVybiwgcmV0dXJuaW5nIGEgcGF0dGVybiBvYmplY3QuIgpAQCAtMjc2LDE0ICsyNzcsMTIgQEAKIF9NQVhDQUNIRSA9IDUxMgogZGVmIF9jb21waWxlKHBhdHRlcm4sIGZsYWdzKToKICAgICAjIGludGVybmFsOiBjb21waWxlIHBhdHRlcm4KLSAgICBieXBhc3NfY2FjaGUgPSBmbGFncyAmIERFQlVHCi0gICAgaWYgbm90IGJ5cGFzc19jYWNoZToKLSAgICAgICAgdHJ5OgotICAgICAgICAgICAgcCwgbG9jID0gX2NhY2hlW3R5cGUocGF0dGVybiksIHBhdHRlcm4sIGZsYWdzXQotICAgICAgICAgICAgaWYgbG9jIGlzIE5vbmUgb3IgbG9jID09IF9sb2NhbGUuc2V0bG9jYWxlKF9sb2NhbGUuTENfQ1RZUEUpOgotICAgICAgICAgICAgICAgIHJldHVybiBwCi0gICAgICAgIGV4Y2VwdCBLZXlFcnJvcjoKLSAgICAgICAgICAgIHBhc3MKKyAgICB0cnk6CisgICAgICAgIHAsIGxvYyA9IF9jYWNoZVt0eXBlKHBhdHRlcm4pLCBwYXR0ZXJuLCBmbGFnc10KKyAgICAgICAgaWYgbG9jIGlzIE5vbmUgb3IgbG9jID09IF9sb2NhbGUuc2V0bG9jYWxlKF9sb2NhbGUuTENfQ1RZUEUpOgorICAgICAgICAgICAgcmV0dXJuIHAKKyAgICBleGNlcHQgS2V5RXJyb3I6CisgICAgICAgIHBhc3MKICAgICBpZiBpc2luc3RhbmNlKHBhdHRlcm4sIF9wYXR0ZXJuX3R5cGUpOgogICAgICAgICBpZiBmbGFnczoKICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoCkBAIC0yOTIsNyArMjkxLDcgQEAKICAgICBpZiBub3Qgc3JlX2NvbXBpbGUuaXNzdHJpbmcocGF0dGVybik6CiAgICAgICAgIHJhaXNlIFR5cGVFcnJvcigiZmlyc3QgYXJndW1lbnQgbXVzdCBiZSBzdHJpbmcgb3IgY29tcGlsZWQgcGF0dGVybiIpCiAgICAgcCA9IHNyZV9jb21waWxlLmNvbXBpbGUocGF0dGVybiwgZmxhZ3MpCi0gICAgaWYgbm90IGJ5cGFzc19jYWNoZToKKyAgICBpZiBub3QgKGZsYWdzICYgREVCVUcpOgogICAgICAgICBpZiBsZW4oX2NhY2hlKSA+PSBfTUFYQ0FDSEU6CiAgICAgICAgICAgICBfY2FjaGUuY2xlYXIoKQogICAgICAgICBpZiBwLmZsYWdzICYgTE9DQUxFOgpAQCAtMzUyLDEwICszNTEsMTEgQEAKICAgICAgICAgcyA9IHNyZV9wYXJzZS5QYXR0ZXJuKCkKICAgICAgICAgcy5mbGFncyA9IGZsYWdzCiAgICAgICAgIGZvciBwaHJhc2UsIGFjdGlvbiBpbiBsZXhpY29uOgorICAgICAgICAgICAgZ2lkID0gcy5vcGVuZ3JvdXAoKQogICAgICAgICAgICAgcC5hcHBlbmQoc3JlX3BhcnNlLlN1YlBhdHRlcm4ocywgWwotICAgICAgICAgICAgICAgIChTVUJQQVRURVJOLCAobGVuKHApKzEsIHNyZV9wYXJzZS5wYXJzZShwaHJhc2UsIGZsYWdzKSkpLAorICAgICAgICAgICAgICAgIChTVUJQQVRURVJOLCAoZ2lkLCBzcmVfcGFyc2UucGFyc2UocGhyYXNlLCBmbGFncykpKSwKICAgICAgICAgICAgICAgICBdKSkKLSAgICAgICAgcy5ncm91cHMgPSBsZW4ocCkrMQorICAgICAgICAgICAgcy5jbG9zZWdyb3VwKGdpZCwgcFstMV0pCiAgICAgICAgIHAgPSBzcmVfcGFyc2UuU3ViUGF0dGVybihzLCBbKEJSQU5DSCwgKE5vbmUsIHApKV0pCiAgICAgICAgIHNlbGYuc2Nhbm5lciA9IHNyZV9jb21waWxlLmNvbXBpbGUocCkKICAgICBkZWYgc2NhbihzZWxmLCBzdHJpbmcpOgpAQCAtMzYzLDcgKzM2Myw3IEBACiAgICAgICAgIGFwcGVuZCA9IHJlc3VsdC5hcHBlbmQKICAgICAgICAgbWF0Y2ggPSBzZWxmLnNjYW5uZXIuc2Nhbm5lcihzdHJpbmcpLm1hdGNoCiAgICAgICAgIGkgPSAwCi0gICAgICAgIHdoaWxlIDE6CisgICAgICAgIHdoaWxlIFRydWU6CiAgICAgICAgICAgICBtID0gbWF0Y2goKQogICAgICAgICAgICAgaWYgbm90IG06CiAgICAgICAgICAgICAgICAgYnJlYWsKZGlmZiAtLWdpdCBhL0xpYi9yZXBybGliLnB5IGIvTGliL3JlcHJsaWIucHkKaW5kZXggZjgwMzM2MC4uZWNiZDJjYyAxMDA2NDQKLS0tIGEvTGliL3JlcHJsaWIucHkKKysrIGIvTGliL3JlcHJsaWIucHkKQEAgLTgzLDE2ICs4MywyMiBAQAogICAgICAgICByZXR1cm4gc2VsZi5fcmVwcl9pdGVyYWJsZSh4LCBsZXZlbCwgJ1snLCAnXScsIHNlbGYubWF4bGlzdCkKIAogICAgIGRlZiByZXByX2FycmF5KHNlbGYsIHgsIGxldmVsKToKKyAgICAgICAgaWYgbm90IHg6CisgICAgICAgICAgICByZXR1cm4gImFycmF5KCclcycpIiAlIHgudHlwZWNvZGUKICAgICAgICAgaGVhZGVyID0gImFycmF5KCclcycsIFsiICUgeC50eXBlY29kZQogICAgICAgICByZXR1cm4gc2VsZi5fcmVwcl9pdGVyYWJsZSh4LCBsZXZlbCwgaGVhZGVyLCAnXSknLCBzZWxmLm1heGFycmF5KQogCiAgICAgZGVmIHJlcHJfc2V0KHNlbGYsIHgsIGxldmVsKToKKyAgICAgICAgaWYgbm90IHg6CisgICAgICAgICAgICByZXR1cm4gJ3NldCgpJwogICAgICAgICB4ID0gX3Bvc3NpYmx5X3NvcnRlZCh4KQotICAgICAgICByZXR1cm4gc2VsZi5fcmVwcl9pdGVyYWJsZSh4LCBsZXZlbCwgJ3NldChbJywgJ10pJywgc2VsZi5tYXhzZXQpCisgICAgICAgIHJldHVybiBzZWxmLl9yZXByX2l0ZXJhYmxlKHgsIGxldmVsLCAneycsICd9Jywgc2VsZi5tYXhzZXQpCiAKICAgICBkZWYgcmVwcl9mcm96ZW5zZXQoc2VsZiwgeCwgbGV2ZWwpOgorICAgICAgICBpZiBub3QgeDoKKyAgICAgICAgICAgIHJldHVybiAnZnJvemVuc2V0KCknCiAgICAgICAgIHggPSBfcG9zc2libHlfc29ydGVkKHgpCi0gICAgICAgIHJldHVybiBzZWxmLl9yZXByX2l0ZXJhYmxlKHgsIGxldmVsLCAnZnJvemVuc2V0KFsnLCAnXSknLAorICAgICAgICByZXR1cm4gc2VsZi5fcmVwcl9pdGVyYWJsZSh4LCBsZXZlbCwgJ2Zyb3plbnNldCh7JywgJ30pJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5tYXhmcm96ZW5zZXQpCiAKICAgICBkZWYgcmVwcl9kZXF1ZShzZWxmLCB4LCBsZXZlbCk6CkBAIC0xMzYsNyArMTQyLDcgQEAKICAgICAgICAgICAgICMgQnVncyBpbiB4Ll9fcmVwcl9fKCkgY2FuIGNhdXNlIGFyYml0cmFyeQogICAgICAgICAgICAgIyBleGNlcHRpb25zIC0tIHRoZW4gbWFrZSB1cCBzb21ldGhpbmcKICAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbjoKLSAgICAgICAgICAgIHJldHVybiAnPCVzIGluc3RhbmNlIGF0ICV4PicgJSAoeC5fX2NsYXNzX18uX19uYW1lX18sIGlkKHgpKQorICAgICAgICAgICAgcmV0dXJuICc8JXMgaW5zdGFuY2UgYXQgJSN4PicgJSAoeC5fX2NsYXNzX18uX19uYW1lX18sIGlkKHgpKQogICAgICAgICBpZiBsZW4ocykgPiBzZWxmLm1heG90aGVyOgogICAgICAgICAgICAgaSA9IG1heCgwLCAoc2VsZi5tYXhvdGhlci0zKS8vMikKICAgICAgICAgICAgIGogPSBtYXgoMCwgc2VsZi5tYXhvdGhlci0zLWkpCmRpZmYgLS1naXQgYS9MaWIvcnVucHkucHkgYi9MaWIvcnVucHkucHkKaW5kZXggMGJiNTdkNy4uZDljNjQzZCAxMDA2NDQKLS0tIGEvTGliL3J1bnB5LnB5CisrKyBiL0xpYi9ydW5weS5weQpAQCAtNTgsNyArNTgsNyBAQAogICAgICAgICBzZWxmLnZhbHVlID0gc2VsZi5fc2VudGluZWwKICAgICAgICAgc3lzLmFyZ3ZbMF0gPSBzZWxmLl9zYXZlZF92YWx1ZQogCi0jIFRPRE86IFJlcGxhY2UgdGhlc2UgaGVscGVycyB3aXRoIGltcG9ydGxpYi5fYm9vdHN0cmFwLl9TcGVjTWV0aG9kcworIyBUT0RPOiBSZXBsYWNlIHRoZXNlIGhlbHBlcnMgd2l0aCBpbXBvcnRsaWIuX2Jvb3RzdHJhcCBmdW5jdGlvbnMKIGRlZiBfcnVuX2NvZGUoY29kZSwgcnVuX2dsb2JhbHMsIGluaXRfZ2xvYmFscz1Ob25lLAogICAgICAgICAgICAgICBtb2RfbmFtZT1Ob25lLCBtb2Rfc3BlYz1Ob25lLAogICAgICAgICAgICAgICBwa2dfbmFtZT1Ob25lLCBzY3JpcHRfbmFtZT1Ob25lKToKZGlmZiAtLWdpdCBhL0xpYi9zY2hlZC5weSBiL0xpYi9zY2hlZC5weQppbmRleCAyZTZiMDBhLi5iNDc2NDhkIDEwMDY0NAotLS0gYS9MaWIvc2NoZWQucHkKKysrIGIvTGliL3NjaGVkLnB5CkBAIC0zNSwxNiArMzUsMTIgQEAKICAgICBpbXBvcnQgdGhyZWFkaW5nCiBleGNlcHQgSW1wb3J0RXJyb3I6CiAgICAgaW1wb3J0IGR1bW15X3RocmVhZGluZyBhcyB0aHJlYWRpbmcKLXRyeToKLSAgICBmcm9tIHRpbWUgaW1wb3J0IG1vbm90b25pYyBhcyBfdGltZQotZXhjZXB0IEltcG9ydEVycm9yOgotICAgIGZyb20gdGltZSBpbXBvcnQgdGltZSBhcyBfdGltZQorZnJvbSB0aW1lIGltcG9ydCBtb25vdG9uaWMgYXMgX3RpbWUKIAogX19hbGxfXyA9IFsic2NoZWR1bGVyIl0KIAogY2xhc3MgRXZlbnQobmFtZWR0dXBsZSgnRXZlbnQnLCAndGltZSwgcHJpb3JpdHksIGFjdGlvbiwgYXJndW1lbnQsIGt3YXJncycpKToKICAgICBkZWYgX19lcV9fKHMsIG8pOiByZXR1cm4gKHMudGltZSwgcy5wcmlvcml0eSkgPT0gKG8udGltZSwgby5wcmlvcml0eSkKLSAgICBkZWYgX19uZV9fKHMsIG8pOiByZXR1cm4gKHMudGltZSwgcy5wcmlvcml0eSkgIT0gKG8udGltZSwgby5wcmlvcml0eSkKICAgICBkZWYgX19sdF9fKHMsIG8pOiByZXR1cm4gKHMudGltZSwgcy5wcmlvcml0eSkgPCAgKG8udGltZSwgby5wcmlvcml0eSkKICAgICBkZWYgX19sZV9fKHMsIG8pOiByZXR1cm4gKHMudGltZSwgcy5wcmlvcml0eSkgPD0gKG8udGltZSwgby5wcmlvcml0eSkKICAgICBkZWYgX19ndF9fKHMsIG8pOiByZXR1cm4gKHMudGltZSwgcy5wcmlvcml0eSkgPiAgKG8udGltZSwgby5wcmlvcml0eSkKZGlmZiAtLWdpdCBhL0xpYi9zZWxlY3RvcnMucHkgYi9MaWIvc2VsZWN0b3JzLnB5CmluZGV4IGJlYjdlZjcuLjZkNTY5YzMgMTAwNjQ0Ci0tLSBhL0xpYi9zZWxlY3RvcnMucHkKKysrIGIvTGliL3NlbGVjdG9ycy5weQpAQCAtMTc0LDkgKzE3NCw5IEBACiAgICAgICAgIFNlbGVjdG9yS2V5IGZvciB0aGlzIGZpbGUgb2JqZWN0CiAgICAgICAgICIiIgogICAgICAgICBtYXBwaW5nID0gc2VsZi5nZXRfbWFwKCkKKyAgICAgICAgaWYgbWFwcGluZyBpcyBOb25lOgorICAgICAgICAgICAgcmFpc2UgUnVudGltZUVycm9yKCdTZWxlY3RvciBpcyBjbG9zZWQnKQogICAgICAgICB0cnk6Ci0gICAgICAgICAgICBpZiBtYXBwaW5nIGlzIE5vbmU6Ci0gICAgICAgICAgICAgICAgcmFpc2UgS2V5RXJyb3IKICAgICAgICAgICAgIHJldHVybiBtYXBwaW5nW2ZpbGVvYmpdCiAgICAgICAgIGV4Y2VwdCBLZXlFcnJvcjoKICAgICAgICAgICAgIHJhaXNlIEtleUVycm9yKCJ7IXJ9IGlzIG5vdCByZWdpc3RlcmVkIi5mb3JtYXQoZmlsZW9iaikpIGZyb20gTm9uZQpAQCAtNDQ5LDYgKzQ0OSw2NCBAQAogICAgICAgICAgICAgc3VwZXIoKS5jbG9zZSgpCiAKIAoraWYgaGFzYXR0cihzZWxlY3QsICdkZXZwb2xsJyk6CisKKyAgICBjbGFzcyBEZXZwb2xsU2VsZWN0b3IoX0Jhc2VTZWxlY3RvckltcGwpOgorICAgICAgICAiIiJTb2xhcmlzIC9kZXYvcG9sbCBzZWxlY3Rvci4iIiIKKworICAgICAgICBkZWYgX19pbml0X18oc2VsZik6CisgICAgICAgICAgICBzdXBlcigpLl9faW5pdF9fKCkKKyAgICAgICAgICAgIHNlbGYuX2RldnBvbGwgPSBzZWxlY3QuZGV2cG9sbCgpCisKKyAgICAgICAgZGVmIGZpbGVubyhzZWxmKToKKyAgICAgICAgICAgIHJldHVybiBzZWxmLl9kZXZwb2xsLmZpbGVubygpCisKKyAgICAgICAgZGVmIHJlZ2lzdGVyKHNlbGYsIGZpbGVvYmosIGV2ZW50cywgZGF0YT1Ob25lKToKKyAgICAgICAgICAgIGtleSA9IHN1cGVyKCkucmVnaXN0ZXIoZmlsZW9iaiwgZXZlbnRzLCBkYXRhKQorICAgICAgICAgICAgcG9sbF9ldmVudHMgPSAwCisgICAgICAgICAgICBpZiBldmVudHMgJiBFVkVOVF9SRUFEOgorICAgICAgICAgICAgICAgIHBvbGxfZXZlbnRzIHw9IHNlbGVjdC5QT0xMSU4KKyAgICAgICAgICAgIGlmIGV2ZW50cyAmIEVWRU5UX1dSSVRFOgorICAgICAgICAgICAgICAgIHBvbGxfZXZlbnRzIHw9IHNlbGVjdC5QT0xMT1VUCisgICAgICAgICAgICBzZWxmLl9kZXZwb2xsLnJlZ2lzdGVyKGtleS5mZCwgcG9sbF9ldmVudHMpCisgICAgICAgICAgICByZXR1cm4ga2V5CisKKyAgICAgICAgZGVmIHVucmVnaXN0ZXIoc2VsZiwgZmlsZW9iaik6CisgICAgICAgICAgICBrZXkgPSBzdXBlcigpLnVucmVnaXN0ZXIoZmlsZW9iaikKKyAgICAgICAgICAgIHNlbGYuX2RldnBvbGwudW5yZWdpc3RlcihrZXkuZmQpCisgICAgICAgICAgICByZXR1cm4ga2V5CisKKyAgICAgICAgZGVmIHNlbGVjdChzZWxmLCB0aW1lb3V0PU5vbmUpOgorICAgICAgICAgICAgaWYgdGltZW91dCBpcyBOb25lOgorICAgICAgICAgICAgICAgIHRpbWVvdXQgPSBOb25lCisgICAgICAgICAgICBlbGlmIHRpbWVvdXQgPD0gMDoKKyAgICAgICAgICAgICAgICB0aW1lb3V0ID0gMAorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAjIGRldnBvbGwoKSBoYXMgYSByZXNvbHV0aW9uIG9mIDEgbWlsbGlzZWNvbmQsIHJvdW5kIGF3YXkgZnJvbQorICAgICAgICAgICAgICAgICMgemVybyB0byB3YWl0ICphdCBsZWFzdCogdGltZW91dCBzZWNvbmRzLgorICAgICAgICAgICAgICAgIHRpbWVvdXQgPSBtYXRoLmNlaWwodGltZW91dCAqIDFlMykKKyAgICAgICAgICAgIHJlYWR5ID0gW10KKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICBmZF9ldmVudF9saXN0ID0gc2VsZi5fZGV2cG9sbC5wb2xsKHRpbWVvdXQpCisgICAgICAgICAgICBleGNlcHQgSW50ZXJydXB0ZWRFcnJvcjoKKyAgICAgICAgICAgICAgICByZXR1cm4gcmVhZHkKKyAgICAgICAgICAgIGZvciBmZCwgZXZlbnQgaW4gZmRfZXZlbnRfbGlzdDoKKyAgICAgICAgICAgICAgICBldmVudHMgPSAwCisgICAgICAgICAgICAgICAgaWYgZXZlbnQgJiB+c2VsZWN0LlBPTExJTjoKKyAgICAgICAgICAgICAgICAgICAgZXZlbnRzIHw9IEVWRU5UX1dSSVRFCisgICAgICAgICAgICAgICAgaWYgZXZlbnQgJiB+c2VsZWN0LlBPTExPVVQ6CisgICAgICAgICAgICAgICAgICAgIGV2ZW50cyB8PSBFVkVOVF9SRUFECisKKyAgICAgICAgICAgICAgICBrZXkgPSBzZWxmLl9rZXlfZnJvbV9mZChmZCkKKyAgICAgICAgICAgICAgICBpZiBrZXk6CisgICAgICAgICAgICAgICAgICAgIHJlYWR5LmFwcGVuZCgoa2V5LCBldmVudHMgJiBrZXkuZXZlbnRzKSkKKyAgICAgICAgICAgIHJldHVybiByZWFkeQorCisgICAgICAgIGRlZiBjbG9zZShzZWxmKToKKyAgICAgICAgICAgIHNlbGYuX2RldnBvbGwuY2xvc2UoKQorICAgICAgICAgICAgc3VwZXIoKS5jbG9zZSgpCisKKwogaWYgaGFzYXR0cihzZWxlY3QsICdrcXVldWUnKToKIAogICAgIGNsYXNzIEtxdWV1ZVNlbGVjdG9yKF9CYXNlU2VsZWN0b3JJbXBsKToKQEAgLTUyMSwxMiArNTc5LDE1IEBACiAgICAgICAgICAgICBzdXBlcigpLmNsb3NlKCkKIAogCi0jIENob29zZSB0aGUgYmVzdCBpbXBsZW1lbnRhdGlvbjogcm91Z2hseSwgZXBvbGx8a3F1ZXVlID4gcG9sbCA+IHNlbGVjdC4KKyMgQ2hvb3NlIHRoZSBiZXN0IGltcGxlbWVudGF0aW9uLCByb3VnaGx5OgorIyAgICBlcG9sbHxrcXVldWV8ZGV2cG9sbCA+IHBvbGwgPiBzZWxlY3QuCiAjIHNlbGVjdCgpIGFsc28gY2FuJ3QgYWNjZXB0IGEgRkQgPiBGRF9TRVRTSVpFICh1c3VhbGx5IGFyb3VuZCAxMDI0KQogaWYgJ0txdWV1ZVNlbGVjdG9yJyBpbiBnbG9iYWxzKCk6CiAgICAgRGVmYXVsdFNlbGVjdG9yID0gS3F1ZXVlU2VsZWN0b3IKIGVsaWYgJ0Vwb2xsU2VsZWN0b3InIGluIGdsb2JhbHMoKToKICAgICBEZWZhdWx0U2VsZWN0b3IgPSBFcG9sbFNlbGVjdG9yCitlbGlmICdEZXZwb2xsU2VsZWN0b3InIGluIGdsb2JhbHMoKToKKyAgICBEZWZhdWx0U2VsZWN0b3IgPSBEZXZwb2xsU2VsZWN0b3IKIGVsaWYgJ1BvbGxTZWxlY3RvcicgaW4gZ2xvYmFscygpOgogICAgIERlZmF1bHRTZWxlY3RvciA9IFBvbGxTZWxlY3RvcgogZWxzZToKZGlmZiAtLWdpdCBhL0xpYi9zaHV0aWwucHkgYi9MaWIvc2h1dGlsLnB5CmluZGV4IGFjMDZhZTUuLjYxZGM4MDQgMTAwNjQ0Ci0tLSBhL0xpYi9zaHV0aWwucHkKKysrIGIvTGliL3NodXRpbC5weQpAQCAtNyw3ICs3LDYgQEAKIGltcG9ydCBvcwogaW1wb3J0IHN5cwogaW1wb3J0IHN0YXQKLWZyb20gb3MucGF0aCBpbXBvcnQgYWJzcGF0aAogaW1wb3J0IGZubWF0Y2gKIGltcG9ydCBjb2xsZWN0aW9ucwogaW1wb3J0IGVycm5vCkBAIC0yMSw2ICsyMCwxMyBAQAogICAgIF9CWjJfU1VQUE9SVEVEID0gRmFsc2UKIAogdHJ5OgorICAgIGltcG9ydCBsem1hCisgICAgZGVsIGx6bWEKKyAgICBfTFpNQV9TVVBQT1JURUQgPSBUcnVlCitleGNlcHQgSW1wb3J0RXJyb3I6CisgICAgX0xaTUFfU1VQUE9SVEVEID0gRmFsc2UKKwordHJ5OgogICAgIGZyb20gcHdkIGltcG9ydCBnZXRwd25hbQogZXhjZXB0IEltcG9ydEVycm9yOgogICAgIGdldHB3bmFtID0gTm9uZQpAQCAtNDg3LDcgKzQ5Myw3IEBACiAgICAgc2VwID0gb3MucGF0aC5zZXAgKyAob3MucGF0aC5hbHRzZXAgb3IgJycpCiAgICAgcmV0dXJuIG9zLnBhdGguYmFzZW5hbWUocGF0aC5yc3RyaXAoc2VwKSkKIAotZGVmIG1vdmUoc3JjLCBkc3QpOgorZGVmIG1vdmUoc3JjLCBkc3QsIGNvcHlfZnVuY3Rpb249Y29weTIpOgogICAgICIiIlJlY3Vyc2l2ZWx5IG1vdmUgYSBmaWxlIG9yIGRpcmVjdG9yeSB0byBhbm90aGVyIGxvY2F0aW9uLiBUaGlzIGlzCiAgICAgc2ltaWxhciB0byB0aGUgVW5peCAibXYiIGNvbW1hbmQuIFJldHVybiB0aGUgZmlsZSBvciBkaXJlY3RvcnkncwogICAgIGRlc3RpbmF0aW9uLgpAQCAtNTA0LDYgKzUxMCwxMSBAQAogICAgIHJlY3JlYXRlZCB1bmRlciB0aGUgbmV3IG5hbWUgaWYgb3MucmVuYW1lKCkgZmFpbHMgYmVjYXVzZSBvZiBjcm9zcwogICAgIGZpbGVzeXN0ZW0gcmVuYW1lcy4KIAorICAgIFRoZSBvcHRpb25hbCBgY29weV9mdW5jdGlvbmAgYXJndW1lbnQgaXMgYSBjYWxsYWJsZSB0aGF0IHdpbGwgYmUgdXNlZAorICAgIHRvIGNvcHkgdGhlIHNvdXJjZSBvciBpdCB3aWxsIGJlIGRlbGVnYXRlZCB0byBgY29weXRyZWVgLgorICAgIEJ5IGRlZmF1bHQsIGNvcHkyKCkgaXMgdXNlZCwgYnV0IGFueSBmdW5jdGlvbiB0aGF0IHN1cHBvcnRzIHRoZSBzYW1lCisgICAgc2lnbmF0dXJlIChsaWtlIGNvcHkoKSkgY2FuIGJlIHVzZWQuCisKICAgICBBIGxvdCBtb3JlIGNvdWxkIGJlIGRvbmUgaGVyZS4uLiAgQSBsb29rIGF0IGEgbXYuYyBzaG93cyBhIGxvdCBvZgogICAgIHRoZSBpc3N1ZXMgdGhpcyBpbXBsZW1lbnRhdGlvbiBnbG9zc2VzIG92ZXIuCiAKQEAgLTUyOCwxNyArNTM5LDE5IEBACiAgICAgICAgICAgICBvcy51bmxpbmsoc3JjKQogICAgICAgICBlbGlmIG9zLnBhdGguaXNkaXIoc3JjKToKICAgICAgICAgICAgIGlmIF9kZXN0aW5zcmMoc3JjLCBkc3QpOgotICAgICAgICAgICAgICAgIHJhaXNlIEVycm9yKCJDYW5ub3QgbW92ZSBhIGRpcmVjdG9yeSAnJXMnIGludG8gaXRzZWxmICclcycuIiAlIChzcmMsIGRzdCkpCi0gICAgICAgICAgICBjb3B5dHJlZShzcmMsIHJlYWxfZHN0LCBzeW1saW5rcz1UcnVlKQorICAgICAgICAgICAgICAgIHJhaXNlIEVycm9yKCJDYW5ub3QgbW92ZSBhIGRpcmVjdG9yeSAnJXMnIGludG8gaXRzZWxmIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICIgJyVzJy4iICUgKHNyYywgZHN0KSkKKyAgICAgICAgICAgIGNvcHl0cmVlKHNyYywgcmVhbF9kc3QsIGNvcHlfZnVuY3Rpb249Y29weV9mdW5jdGlvbiwKKyAgICAgICAgICAgICAgICAgICAgIHN5bWxpbmtzPVRydWUpCiAgICAgICAgICAgICBybXRyZWUoc3JjKQogICAgICAgICBlbHNlOgotICAgICAgICAgICAgY29weTIoc3JjLCByZWFsX2RzdCkKKyAgICAgICAgICAgIGNvcHlfZnVuY3Rpb24oc3JjLCByZWFsX2RzdCkKICAgICAgICAgICAgIG9zLnVubGluayhzcmMpCiAgICAgcmV0dXJuIHJlYWxfZHN0CiAKIGRlZiBfZGVzdGluc3JjKHNyYywgZHN0KToKLSAgICBzcmMgPSBhYnNwYXRoKHNyYykKLSAgICBkc3QgPSBhYnNwYXRoKGRzdCkKKyAgICBzcmMgPSBvcy5wYXRoLmFic3BhdGgoc3JjKQorICAgIGRzdCA9IG9zLnBhdGguYWJzcGF0aChkc3QpCiAgICAgaWYgbm90IHNyYy5lbmRzd2l0aChvcy5wYXRoLnNlcCk6CiAgICAgICAgIHNyYyArPSBvcy5wYXRoLnNlcAogICAgIGlmIG5vdCBkc3QuZW5kc3dpdGgob3MucGF0aC5zZXApOgpAQCAtNTc0LDE0ICs1ODcsMTQgQEAKICAgICAiIiJDcmVhdGUgYSAocG9zc2libHkgY29tcHJlc3NlZCkgdGFyIGZpbGUgZnJvbSBhbGwgdGhlIGZpbGVzIHVuZGVyCiAgICAgJ2Jhc2VfZGlyJy4KIAotICAgICdjb21wcmVzcycgbXVzdCBiZSAiZ3ppcCIgKHRoZSBkZWZhdWx0KSwgImJ6aXAyIiwgb3IgTm9uZS4KKyAgICAnY29tcHJlc3MnIG11c3QgYmUgImd6aXAiICh0aGUgZGVmYXVsdCksICJiemlwMiIsICJ4eiIsIG9yIE5vbmUuCiAKICAgICAnb3duZXInIGFuZCAnZ3JvdXAnIGNhbiBiZSB1c2VkIHRvIGRlZmluZSBhbiBvd25lciBhbmQgYSBncm91cCBmb3IgdGhlCiAgICAgYXJjaGl2ZSB0aGF0IGlzIGJlaW5nIGJ1aWx0LiBJZiBub3QgcHJvdmlkZWQsIHRoZSBjdXJyZW50IG93bmVyIGFuZCBncm91cAogICAgIHdpbGwgYmUgdXNlZC4KIAogICAgIFRoZSBvdXRwdXQgdGFyIGZpbGUgd2lsbCBiZSBuYW1lZCAnYmFzZV9uYW1lJyArICAiLnRhciIsIHBvc3NpYmx5IHBsdXMKLSAgICB0aGUgYXBwcm9wcmlhdGUgY29tcHJlc3Npb24gZXh0ZW5zaW9uICgiLmd6Iiwgb3IgIi5iejIiKS4KKyAgICB0aGUgYXBwcm9wcmlhdGUgY29tcHJlc3Npb24gZXh0ZW5zaW9uICgiLmd6IiwgIi5iejIiLCBvciAiLnh6IikuCiAKICAgICBSZXR1cm5zIHRoZSBvdXRwdXQgZmlsZW5hbWUuCiAgICAgIiIiCkBAIC01OTIsNiArNjA1LDEwIEBACiAgICAgICAgIHRhcl9jb21wcmVzc2lvblsnYnppcDInXSA9ICdiejInCiAgICAgICAgIGNvbXByZXNzX2V4dFsnYnppcDInXSA9ICcuYnoyJwogCisgICAgaWYgX0xaTUFfU1VQUE9SVEVEOgorICAgICAgICB0YXJfY29tcHJlc3Npb25bJ3h6J10gPSAneHonCisgICAgICAgIGNvbXByZXNzX2V4dFsneHonXSA9ICcueHonCisKICAgICAjIGZsYWdzIGZvciBjb21wcmVzc2lvbiBwcm9ncmFtLCBlYWNoIGVsZW1lbnQgb2YgbGlzdCB3aWxsIGJlIGFuIGFyZ3VtZW50CiAgICAgaWYgY29tcHJlc3MgaXMgbm90IE5vbmUgYW5kIGNvbXByZXNzIG5vdCBpbiBjb21wcmVzc19leHQ6CiAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoImJhZCB2YWx1ZSBmb3IgJ2NvbXByZXNzJywgb3IgY29tcHJlc3Npb24gZm9ybWF0IG5vdCAiCkBAIC02MzEsMjMgKzY0OCw2IEBACiAKICAgICByZXR1cm4gYXJjaGl2ZV9uYW1lCiAKLWRlZiBfY2FsbF9leHRlcm5hbF96aXAoYmFzZV9kaXIsIHppcF9maWxlbmFtZSwgdmVyYm9zZT1GYWxzZSwgZHJ5X3J1bj1GYWxzZSk6Ci0gICAgIyBYWFggc2VlIGlmIHdlIHdhbnQgdG8ga2VlcCBhbiBleHRlcm5hbCBjYWxsIGhlcmUKLSAgICBpZiB2ZXJib3NlOgotICAgICAgICB6aXBvcHRpb25zID0gIi1yIgotICAgIGVsc2U6Ci0gICAgICAgIHppcG9wdGlvbnMgPSAiLXJxIgotICAgIGZyb20gZGlzdHV0aWxzLmVycm9ycyBpbXBvcnQgRGlzdHV0aWxzRXhlY0Vycm9yCi0gICAgZnJvbSBkaXN0dXRpbHMuc3Bhd24gaW1wb3J0IHNwYXduCi0gICAgdHJ5OgotICAgICAgICBzcGF3bihbInppcCIsIHppcG9wdGlvbnMsIHppcF9maWxlbmFtZSwgYmFzZV9kaXJdLCBkcnlfcnVuPWRyeV9ydW4pCi0gICAgZXhjZXB0IERpc3R1dGlsc0V4ZWNFcnJvcjoKLSAgICAgICAgIyBYWFggcmVhbGx5IHNob3VsZCBkaXN0aW5ndWlzaCBiZXR3ZWVuICJjb3VsZG4ndCBmaW5kCi0gICAgICAgICMgZXh0ZXJuYWwgJ3ppcCcgY29tbWFuZCIgYW5kICJ6aXAgZmFpbGVkIi4KLSAgICAgICAgcmFpc2UgRXhlY0Vycm9yKCJ1bmFibGUgdG8gY3JlYXRlIHppcCBmaWxlICclcyc6ICIKLSAgICAgICAgICAgICJjb3VsZCBuZWl0aGVyIGltcG9ydCB0aGUgJ3ppcGZpbGUnIG1vZHVsZSBub3IgIgotICAgICAgICAgICAgImZpbmQgYSBzdGFuZGFsb25lIHppcCB1dGlsaXR5IikgJSB6aXBfZmlsZW5hbWUKLQogZGVmIF9tYWtlX3ppcGZpbGUoYmFzZV9uYW1lLCBiYXNlX2RpciwgdmVyYm9zZT0wLCBkcnlfcnVuPTAsIGxvZ2dlcj1Ob25lKToKICAgICAiIiJDcmVhdGUgYSB6aXAgZmlsZSBmcm9tIGFsbCB0aGUgZmlsZXMgdW5kZXIgJ2Jhc2VfZGlyJy4KIApAQCAtNjU3LDYgKzY1Nyw4IEBACiAgICAgYXZhaWxhYmxlLCByYWlzZXMgRXhlY0Vycm9yLiAgUmV0dXJucyB0aGUgbmFtZSBvZiB0aGUgb3V0cHV0IHppcAogICAgIGZpbGUuCiAgICAgIiIiCisgICAgaW1wb3J0IHppcGZpbGUKKwogICAgIHppcF9maWxlbmFtZSA9IGJhc2VfbmFtZSArICIuemlwIgogICAgIGFyY2hpdmVfZGlyID0gb3MucGF0aC5kaXJuYW1lKGJhc2VfbmFtZSkKIApAQCAtNjY2LDMwICs2NjgsMjAgQEAKICAgICAgICAgaWYgbm90IGRyeV9ydW46CiAgICAgICAgICAgICBvcy5tYWtlZGlycyhhcmNoaXZlX2RpcikKIAotICAgICMgSWYgemlwZmlsZSBtb2R1bGUgaXMgbm90IGF2YWlsYWJsZSwgdHJ5IHNwYXduaW5nIGFuIGV4dGVybmFsICd6aXAnCi0gICAgIyBjb21tYW5kLgotICAgIHRyeToKLSAgICAgICAgaW1wb3J0IHppcGZpbGUKLSAgICBleGNlcHQgSW1wb3J0RXJyb3I6Ci0gICAgICAgIHppcGZpbGUgPSBOb25lCisgICAgaWYgbG9nZ2VyIGlzIG5vdCBOb25lOgorICAgICAgICBsb2dnZXIuaW5mbygiY3JlYXRpbmcgJyVzJyBhbmQgYWRkaW5nICclcycgdG8gaXQiLAorICAgICAgICAgICAgICAgICAgICB6aXBfZmlsZW5hbWUsIGJhc2VfZGlyKQogCi0gICAgaWYgemlwZmlsZSBpcyBOb25lOgotICAgICAgICBfY2FsbF9leHRlcm5hbF96aXAoYmFzZV9kaXIsIHppcF9maWxlbmFtZSwgdmVyYm9zZSwgZHJ5X3J1bikKLSAgICBlbHNlOgotICAgICAgICBpZiBsb2dnZXIgaXMgbm90IE5vbmU6Ci0gICAgICAgICAgICBsb2dnZXIuaW5mbygiY3JlYXRpbmcgJyVzJyBhbmQgYWRkaW5nICclcycgdG8gaXQiLAotICAgICAgICAgICAgICAgICAgICAgICAgemlwX2ZpbGVuYW1lLCBiYXNlX2RpcikKLQotICAgICAgICBpZiBub3QgZHJ5X3J1bjoKLSAgICAgICAgICAgIHdpdGggemlwZmlsZS5aaXBGaWxlKHppcF9maWxlbmFtZSwgInciLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tcHJlc3Npb249emlwZmlsZS5aSVBfREVGTEFURUQpIGFzIHpmOgotICAgICAgICAgICAgICAgIGZvciBkaXJwYXRoLCBkaXJuYW1lcywgZmlsZW5hbWVzIGluIG9zLndhbGsoYmFzZV9kaXIpOgotICAgICAgICAgICAgICAgICAgICBmb3IgbmFtZSBpbiBmaWxlbmFtZXM6Ci0gICAgICAgICAgICAgICAgICAgICAgICBwYXRoID0gb3MucGF0aC5ub3JtcGF0aChvcy5wYXRoLmpvaW4oZGlycGF0aCwgbmFtZSkpCi0gICAgICAgICAgICAgICAgICAgICAgICBpZiBvcy5wYXRoLmlzZmlsZShwYXRoKToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB6Zi53cml0ZShwYXRoLCBwYXRoKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIGxvZ2dlciBpcyBub3QgTm9uZToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLmluZm8oImFkZGluZyAnJXMnIiwgcGF0aCkKKyAgICBpZiBub3QgZHJ5X3J1bjoKKyAgICAgICAgd2l0aCB6aXBmaWxlLlppcEZpbGUoemlwX2ZpbGVuYW1lLCAidyIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbXByZXNzaW9uPXppcGZpbGUuWklQX0RFRkxBVEVEKSBhcyB6ZjoKKyAgICAgICAgICAgIGZvciBkaXJwYXRoLCBkaXJuYW1lcywgZmlsZW5hbWVzIGluIG9zLndhbGsoYmFzZV9kaXIpOgorICAgICAgICAgICAgICAgIGZvciBuYW1lIGluIGZpbGVuYW1lczoKKyAgICAgICAgICAgICAgICAgICAgcGF0aCA9IG9zLnBhdGgubm9ybXBhdGgob3MucGF0aC5qb2luKGRpcnBhdGgsIG5hbWUpKQorICAgICAgICAgICAgICAgICAgICBpZiBvcy5wYXRoLmlzZmlsZShwYXRoKToKKyAgICAgICAgICAgICAgICAgICAgICAgIHpmLndyaXRlKHBhdGgsIHBhdGgpCisgICAgICAgICAgICAgICAgICAgICAgICBpZiBsb2dnZXIgaXMgbm90IE5vbmU6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLmluZm8oImFkZGluZyAnJXMnIiwgcGF0aCkKIAogICAgIHJldHVybiB6aXBfZmlsZW5hbWUKIApAQCAtNzAzLDYgKzY5NSwxMCBAQAogICAgIF9BUkNISVZFX0ZPUk1BVFNbJ2J6dGFyJ10gPSAoX21ha2VfdGFyYmFsbCwgWygnY29tcHJlc3MnLCAnYnppcDInKV0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJiemlwMidlZCB0YXItZmlsZSIpCiAKK2lmIF9MWk1BX1NVUFBPUlRFRDoKKyAgICBfQVJDSElWRV9GT1JNQVRTWyd4enRhciddID0gKF9tYWtlX3RhcmJhbGwsIFsoJ2NvbXByZXNzJywgJ3h6JyldLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAieHonZWQgdGFyLWZpbGUiKQorCiBkZWYgZ2V0X2FyY2hpdmVfZm9ybWF0cygpOgogICAgICIiIlJldHVybnMgYSBsaXN0IG9mIHN1cHBvcnRlZCBmb3JtYXRzIGZvciBhcmNoaXZpbmcgYW5kIHVuYXJjaGl2aW5nLgogCkBAIC04OTEsNyArODg3LDcgQEAKICAgICAgICAgemlwLmNsb3NlKCkKIAogZGVmIF91bnBhY2tfdGFyZmlsZShmaWxlbmFtZSwgZXh0cmFjdF9kaXIpOgotICAgICIiIlVucGFjayB0YXIvdGFyLmd6L3Rhci5iejIgYGZpbGVuYW1lYCB0byBgZXh0cmFjdF9kaXJgCisgICAgIiIiVW5wYWNrIHRhci90YXIuZ3ovdGFyLmJ6Mi90YXIueHogYGZpbGVuYW1lYCB0byBgZXh0cmFjdF9kaXJgCiAgICAgIiIiCiAgICAgdHJ5OgogICAgICAgICB0YXJvYmogPSB0YXJmaWxlLm9wZW4oZmlsZW5hbWUpCkBAIC05MTAsOSArOTA2LDEzIEBACiAgICAgfQogCiBpZiBfQloyX1NVUFBPUlRFRDoKLSAgICBfVU5QQUNLX0ZPUk1BVFNbJ2J6dGFyJ10gPSAoWycuYnoyJ10sIF91bnBhY2tfdGFyZmlsZSwgW10sCisgICAgX1VOUEFDS19GT1JNQVRTWydienRhciddID0gKFsnLnRhci5iejInLCAnLnRiejInXSwgX3VucGFja190YXJmaWxlLCBbXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImJ6aXAyJ2VkIHRhci1maWxlIikKIAoraWYgX0xaTUFfU1VQUE9SVEVEOgorICAgIF9VTlBBQ0tfRk9STUFUU1sneHp0YXInXSA9IChbJy50YXIueHonLCAnLnR4eiddLCBfdW5wYWNrX3RhcmZpbGUsIFtdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAieHonZWQgdGFyLWZpbGUiKQorCiBkZWYgX2ZpbmRfdW5wYWNrX2Zvcm1hdChmaWxlbmFtZSk6CiAgICAgZm9yIG5hbWUsIGluZm8gaW4gX1VOUEFDS19GT1JNQVRTLml0ZW1zKCk6CiAgICAgICAgIGZvciBleHRlbnNpb24gaW4gaW5mb1swXToKZGlmZiAtLWdpdCBhL0xpYi9zaWduYWwucHkgYi9MaWIvc2lnbmFsLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBkYjNkZjgKLS0tIC9kZXYvbnVsbAorKysgYi9MaWIvc2lnbmFsLnB5CkBAIC0wLDAgKzEsODUgQEAKK2ltcG9ydCBfc2lnbmFsCitmcm9tIF9zaWduYWwgaW1wb3J0ICoKK2Zyb20gZnVuY3Rvb2xzIGltcG9ydCB3cmFwcyBhcyBfd3JhcHMKK2Zyb20gZW51bSBpbXBvcnQgSW50RW51bSBhcyBfSW50RW51bQorCitfZ2xvYmFscyA9IGdsb2JhbHMoKQorCitTaWduYWxzID0gX0ludEVudW0oCisgICAgJ1NpZ25hbHMnLAorICAgIHtuYW1lOiB2YWx1ZSBmb3IgbmFtZSwgdmFsdWUgaW4gX2dsb2JhbHMuaXRlbXMoKQorICAgICBpZiBuYW1lLmlzdXBwZXIoKQorICAgICAgICBhbmQgKG5hbWUuc3RhcnRzd2l0aCgnU0lHJykgYW5kIG5vdCBuYW1lLnN0YXJ0c3dpdGgoJ1NJR18nKSkKKyAgICAgICAgb3IgbmFtZS5zdGFydHN3aXRoKCdDVFJMXycpfSkKKworY2xhc3MgSGFuZGxlcnMoX0ludEVudW0pOgorICAgIFNJR19ERkwgPSBfc2lnbmFsLlNJR19ERkwKKyAgICBTSUdfSUdOID0gX3NpZ25hbC5TSUdfSUdOCisKK19nbG9iYWxzLnVwZGF0ZShTaWduYWxzLl9fbWVtYmVyc19fKQorX2dsb2JhbHMudXBkYXRlKEhhbmRsZXJzLl9fbWVtYmVyc19fKQorCitpZiAncHRocmVhZF9zaWdtYXNrJyBpbiBfZ2xvYmFsczoKKyAgICBjbGFzcyBTaWdtYXNrcyhfSW50RW51bSk6CisgICAgICAgIFNJR19CTE9DSyA9IF9zaWduYWwuU0lHX0JMT0NLCisgICAgICAgIFNJR19VTkJMT0NLID0gX3NpZ25hbC5TSUdfVU5CTE9DSworICAgICAgICBTSUdfU0VUTUFTSyA9IF9zaWduYWwuU0lHX1NFVE1BU0sKKworICAgIF9nbG9iYWxzLnVwZGF0ZShTaWdtYXNrcy5fX21lbWJlcnNfXykKKworCitkZWYgX2ludF90b19lbnVtKHZhbHVlLCBlbnVtX2tsYXNzKToKKyAgICAiIiJDb252ZXJ0IGEgbnVtZXJpYyB2YWx1ZSB0byBhbiBJbnRFbnVtIG1lbWJlci4KKyAgICBJZiBpdCdzIG5vdCBhIGtub3duIG1lbWJlciwgcmV0dXJuIHRoZSBudW1lcmljIHZhbHVlIGl0c2VsZi4KKyAgICAiIiIKKyAgICB0cnk6CisgICAgICAgIHJldHVybiBlbnVtX2tsYXNzKHZhbHVlKQorICAgIGV4Y2VwdCBWYWx1ZUVycm9yOgorICAgICAgICByZXR1cm4gdmFsdWUKKworCitkZWYgX2VudW1fdG9faW50KHZhbHVlKToKKyAgICAiIiJDb252ZXJ0IGFuIEludEVudW0gbWVtYmVyIHRvIGEgbnVtZXJpYyB2YWx1ZS4KKyAgICBJZiBpdCdzIG5vdCBhIEludEVudW0gbWVtYmVyIHJldHVybiB0aGUgdmFsdWUgaXRzZWxmLgorICAgICIiIgorICAgIHRyeToKKyAgICAgICAgcmV0dXJuIGludCh2YWx1ZSkKKyAgICBleGNlcHQgKFZhbHVlRXJyb3IsIFR5cGVFcnJvcik6CisgICAgICAgIHJldHVybiB2YWx1ZQorCisKK0Bfd3JhcHMoX3NpZ25hbC5zaWduYWwpCitkZWYgc2lnbmFsKHNpZ25hbG51bSwgaGFuZGxlcik6CisgICAgaGFuZGxlciA9IF9zaWduYWwuc2lnbmFsKF9lbnVtX3RvX2ludChzaWduYWxudW0pLCBfZW51bV90b19pbnQoaGFuZGxlcikpCisgICAgcmV0dXJuIF9pbnRfdG9fZW51bShoYW5kbGVyLCBIYW5kbGVycykKKworCitAX3dyYXBzKF9zaWduYWwuZ2V0c2lnbmFsKQorZGVmIGdldHNpZ25hbChzaWduYWxudW0pOgorICAgIGhhbmRsZXIgPSBfc2lnbmFsLmdldHNpZ25hbChzaWduYWxudW0pCisgICAgcmV0dXJuIF9pbnRfdG9fZW51bShoYW5kbGVyLCBIYW5kbGVycykKKworCitpZiAncHRocmVhZF9zaWdtYXNrJyBpbiBfZ2xvYmFsczoKKyAgICBAX3dyYXBzKF9zaWduYWwucHRocmVhZF9zaWdtYXNrKQorICAgIGRlZiBwdGhyZWFkX3NpZ21hc2soaG93LCBtYXNrKToKKyAgICAgICAgc2lnc19zZXQgPSBfc2lnbmFsLnB0aHJlYWRfc2lnbWFzayhob3csIG1hc2spCisgICAgICAgIHJldHVybiBzZXQoX2ludF90b19lbnVtKHgsIFNpZ25hbHMpIGZvciB4IGluIHNpZ3Nfc2V0KQorICAgIHB0aHJlYWRfc2lnbWFzay5fX2RvY19fID0gX3NpZ25hbC5wdGhyZWFkX3NpZ21hc2suX19kb2NfXworCisKK2lmICdzaWdwZW5kaW5nJyBpbiBfZ2xvYmFsczoKKyAgICBAX3dyYXBzKF9zaWduYWwuc2lncGVuZGluZykKKyAgICBkZWYgc2lncGVuZGluZygpOgorICAgICAgICBzaWdzID0gX3NpZ25hbC5zaWdwZW5kaW5nKCkKKyAgICAgICAgcmV0dXJuIHNldChfaW50X3RvX2VudW0oeCwgU2lnbmFscykgZm9yIHggaW4gc2lncykKKworCitpZiAnc2lnd2FpdCcgaW4gX2dsb2JhbHM6CisgICAgQF93cmFwcyhfc2lnbmFsLnNpZ3dhaXQpCisgICAgZGVmIHNpZ3dhaXQoc2lnc2V0KToKKyAgICAgICAgcmV0c2lnID0gX3NpZ25hbC5zaWd3YWl0KHNpZ3NldCkKKyAgICAgICAgcmV0dXJuIF9pbnRfdG9fZW51bShyZXRzaWcsIFNpZ25hbHMpCisgICAgc2lnd2FpdC5fX2RvY19fID0gX3NpZ25hbC5zaWd3YWl0CisKK2RlbCBfZ2xvYmFscywgX3dyYXBzCmRpZmYgLS1naXQgYS9MaWIvc2l0ZS5weSBiL0xpYi9zaXRlLnB5CmluZGV4IGFkNWQxMzYuLjQ5NTljZmMgMTAwNjQ0Ci0tLSBhL0xpYi9zaXRlLnB5CisrKyBiL0xpYi9zaXRlLnB5CkBAIC03LDcgKzcsNyBAQAogVGhpcyB3aWxsIGFwcGVuZCBzaXRlLXNwZWNpZmljIHBhdGhzIHRvIHRoZSBtb2R1bGUgc2VhcmNoIHBhdGguICBPbgogVW5peCAoaW5jbHVkaW5nIE1hYyBPU1gpLCBpdCBzdGFydHMgd2l0aCBzeXMucHJlZml4IGFuZAogc3lzLmV4ZWNfcHJlZml4IChpZiBkaWZmZXJlbnQpIGFuZCBhcHBlbmRzCi1saWIvcHl0aG9uPHZlcnNpb24+L3NpdGUtcGFja2FnZXMgYXMgd2VsbCBhcyBsaWIvc2l0ZS1weXRob24uCitsaWIvcHl0aG9uPHZlcnNpb24+L3NpdGUtcGFja2FnZXMuCiBPbiBvdGhlciBwbGF0Zm9ybXMgKHN1Y2ggYXMgV2luZG93cyksIGl0IHRyaWVzIGVhY2ggb2YgdGhlCiBwcmVmaXhlcyBkaXJlY3RseSwgYXMgd2VsbCBhcyB3aXRoIGxpYi9zaXRlLXBhY2thZ2VzIGFwcGVuZGVkLiAgVGhlCiByZXN1bHRpbmcgZGlyZWN0b3JpZXMsIGlmIHRoZXkgZXhpc3QsIGFyZSBhcHBlbmRlZCB0byBzeXMucGF0aCwgYW5kCkBAIC0xNSw3ICsxNSw3IEBACiAKIElmIGEgZmlsZSBuYW1lZCAicHl2ZW52LmNmZyIgZXhpc3RzIG9uZSBkaXJlY3RvcnkgYWJvdmUgc3lzLmV4ZWN1dGFibGUsCiBzeXMucHJlZml4IGFuZCBzeXMuZXhlY19wcmVmaXggYXJlIHNldCB0byB0aGF0IGRpcmVjdG9yeSBhbmQKLWl0IGlzIGFsc28gY2hlY2tlZCBmb3Igc2l0ZS1wYWNrYWdlcyBhbmQgc2l0ZS1weXRob24gKHN5cy5iYXNlX3ByZWZpeCBhbmQKK2l0IGlzIGFsc28gY2hlY2tlZCBmb3Igc2l0ZS1wYWNrYWdlcyAoc3lzLmJhc2VfcHJlZml4IGFuZAogc3lzLmJhc2VfZXhlY19wcmVmaXggd2lsbCBhbHdheXMgYmUgdGhlICJyZWFsIiBwcmVmaXhlcyBvZiB0aGUgUHl0aG9uCiBpbnN0YWxsYXRpb24pLiBJZiAicHl2ZW52LmNmZyIgKGEgYm9vdHN0cmFwIGNvbmZpZ3VyYXRpb24gZmlsZSkgY29udGFpbnMKIHRoZSBrZXkgImluY2x1ZGUtc3lzdGVtLXNpdGUtcGFja2FnZXMiIHNldCB0byBhbnl0aGluZyBvdGhlciB0aGFuICJmYWxzZSIKQEAgLTI4NSw4ICsyODUsNyBAQAogICAgIHJldHVybiBrbm93bl9wYXRocwogCiBkZWYgZ2V0c2l0ZXBhY2thZ2VzKHByZWZpeGVzPU5vbmUpOgotICAgICIiIlJldHVybnMgYSBsaXN0IGNvbnRhaW5pbmcgYWxsIGdsb2JhbCBzaXRlLXBhY2thZ2VzIGRpcmVjdG9yaWVzCi0gICAgKGFuZCBwb3NzaWJseSBzaXRlLXB5dGhvbikuCisgICAgIiIiUmV0dXJucyBhIGxpc3QgY29udGFpbmluZyBhbGwgZ2xvYmFsIHNpdGUtcGFja2FnZXMgZGlyZWN0b3JpZXMuCiAKICAgICBGb3IgZWFjaCBkaXJlY3RvcnkgcHJlc2VudCBpbiBgYHByZWZpeGVzYGAgKG9yIHRoZSBnbG9iYWwgYGBQUkVGSVhFU2BgKSwKICAgICB0aGlzIGZ1bmN0aW9uIHdpbGwgZmluZCBpdHMgYHNpdGUtcGFja2FnZXNgIHN1YmRpcmVjdG9yeSBkZXBlbmRpbmcgb24gdGhlCkBAIC0zMDcsNyArMzA2LDYgQEAKICAgICAgICAgICAgIHNpdGVwYWNrYWdlcy5hcHBlbmQob3MucGF0aC5qb2luKHByZWZpeCwgImxpYiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInB5dGhvbiIgKyBzeXMudmVyc2lvbls6M10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNpdGUtcGFja2FnZXMiKSkKLSAgICAgICAgICAgIHNpdGVwYWNrYWdlcy5hcHBlbmQob3MucGF0aC5qb2luKHByZWZpeCwgImxpYiIsICJzaXRlLXB5dGhvbiIpKQogICAgICAgICBlbHNlOgogICAgICAgICAgICAgc2l0ZXBhY2thZ2VzLmFwcGVuZChwcmVmaXgpCiAgICAgICAgICAgICBzaXRlcGFja2FnZXMuYXBwZW5kKG9zLnBhdGguam9pbihwcmVmaXgsICJsaWIiLCAic2l0ZS1wYWNrYWdlcyIpKQpAQCAtMzIzLDE0ICszMjEsOSBAQAogICAgIHJldHVybiBzaXRlcGFja2FnZXMKIAogZGVmIGFkZHNpdGVwYWNrYWdlcyhrbm93bl9wYXRocywgcHJlZml4ZXM9Tm9uZSk6Ci0gICAgIiIiQWRkIHNpdGUtcGFja2FnZXMgKGFuZCBwb3NzaWJseSBzaXRlLXB5dGhvbikgdG8gc3lzLnBhdGgiIiIKKyAgICAiIiJBZGQgc2l0ZS1wYWNrYWdlcyB0byBzeXMucGF0aCIiIgogICAgIGZvciBzaXRlZGlyIGluIGdldHNpdGVwYWNrYWdlcyhwcmVmaXhlcyk6CiAgICAgICAgIGlmIG9zLnBhdGguaXNkaXIoc2l0ZWRpcik6Ci0gICAgICAgICAgICBpZiAic2l0ZS1weXRob24iIGluIHNpdGVkaXI6Ci0gICAgICAgICAgICAgICAgaW1wb3J0IHdhcm5pbmdzCi0gICAgICAgICAgICAgICAgd2FybmluZ3Mud2FybignInNpdGUtcHl0aG9uIiBkaXJlY3RvcmllcyB3aWxsIG5vdCBiZSAnCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc3VwcG9ydGVkIGluIDMuNSBhbnltb3JlJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERlcHJlY2F0aW9uV2FybmluZykKICAgICAgICAgICAgIGFkZHNpdGVkaXIoc2l0ZWRpciwga25vd25fcGF0aHMpCiAKICAgICByZXR1cm4ga25vd25fcGF0aHMKZGlmZiAtLWdpdCBhL0xpYi9zbXRwZC5weSBiL0xpYi9zbXRwZC5weQppbmRleCAxZmExNTdhLi4zMzY1M2Q0IDEwMDc1NQotLS0gYS9MaWIvc210cGQucHkKKysrIGIvTGliL3NtdHBkLnB5CkBAIC0xLDUgKzEsNSBAQAogIyEgL3Vzci9iaW4vZW52IHB5dGhvbjMKLSIiIkFuIFJGQyA1MzIxIHNtdHAgcHJveHkuCisiIiJBbiBSRkMgNTMyMSBzbXRwIHByb3h5IHdpdGggb3B0aW9uYWwgUkZDIDE4NzAgYW5kIFJGQyA2NTMxIGV4dGVuc2lvbnMuCiAKIFVzYWdlOiAlKHByb2dyYW0pcyBbb3B0aW9uc10gW2xvY2FsaG9zdDpsb2NhbHBvcnQgW3JlbW90ZWhvc3Q6cmVtb3RlcG9ydF1dCiAKQEAgLTI1LDYgKzI1LDEwIEBACiAgICAgICAgIFJlc3RyaWN0IHRoZSB0b3RhbCBzaXplIG9mIHRoZSBpbmNvbWluZyBtZXNzYWdlIHRvICJsaW1pdCIgbnVtYmVyIG9mCiAgICAgICAgIGJ5dGVzIHZpYSB0aGUgUkZDIDE4NzAgU0laRSBleHRlbnNpb24uICBEZWZhdWx0cyB0byAzMzU1NDQzMiBieXRlcy4KIAorICAgIC0tc210cHV0ZjgKKyAgICAtdQorICAgICAgICBFbmFibGUgdGhlIFNNVFBVVEY4IGV4dGVuc2lvbiBhbmQgYmVoYXZlIGFzIGFuIFJGQyA2NTMxIHNtdHAgcHJveHkuCisKICAgICAtLWRlYnVnCiAgICAgLWQKICAgICAgICAgVHVybiBvbiBkZWJ1Z2dpbmcgcHJpbnRzLgpAQCAtOTgsNyArMTAyLDYgQEAKIAogREVCVUdTVFJFQU0gPSBEZXZudWxsKCkKIE5FV0xJTkUgPSAnXG4nCi1FTVBUWVNUUklORyA9ICcnCiBDT01NQVNQQUNFID0gJywgJwogREFUQV9TSVpFX0RFRkFVTFQgPSAzMzU1NDQzMgogCkBAIC0xMTYsMjYgKzExOSw0OCBAQAogCiAgICAgY29tbWFuZF9zaXplX2xpbWl0ID0gNTEyCiAgICAgY29tbWFuZF9zaXplX2xpbWl0cyA9IGNvbGxlY3Rpb25zLmRlZmF1bHRkaWN0KGxhbWJkYSB4PWNvbW1hbmRfc2l6ZV9saW1pdDogeCkKLSAgICBjb21tYW5kX3NpemVfbGltaXRzLnVwZGF0ZSh7Ci0gICAgICAgICdNQUlMJzogY29tbWFuZF9zaXplX2xpbWl0ICsgMjYsCi0gICAgICAgIH0pCi0gICAgbWF4X2NvbW1hbmRfc2l6ZV9saW1pdCA9IG1heChjb21tYW5kX3NpemVfbGltaXRzLnZhbHVlcygpKQorCisgICAgQHByb3BlcnR5CisgICAgZGVmIG1heF9jb21tYW5kX3NpemVfbGltaXQoc2VsZik6CisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHJldHVybiBtYXgoc2VsZi5jb21tYW5kX3NpemVfbGltaXRzLnZhbHVlcygpKQorICAgICAgICBleGNlcHQgVmFsdWVFcnJvcjoKKyAgICAgICAgICAgIHJldHVybiBzZWxmLmNvbW1hbmRfc2l6ZV9saW1pdAogCiAgICAgZGVmIF9faW5pdF9fKHNlbGYsIHNlcnZlciwgY29ubiwgYWRkciwgZGF0YV9zaXplX2xpbWl0PURBVEFfU0laRV9ERUZBVUxULAotICAgICAgICAgICAgICAgICBtYXA9Tm9uZSk6CisgICAgICAgICAgICAgICAgIG1hcD1Ob25lLCBlbmFibGVfU01UUFVURjg9RmFsc2UsIGRlY29kZV9kYXRhPU5vbmUpOgogICAgICAgICBhc3luY2hhdC5hc3luY19jaGF0Ll9faW5pdF9fKHNlbGYsIGNvbm4sIG1hcD1tYXApCiAgICAgICAgIHNlbGYuc210cF9zZXJ2ZXIgPSBzZXJ2ZXIKICAgICAgICAgc2VsZi5jb25uID0gY29ubgogICAgICAgICBzZWxmLmFkZHIgPSBhZGRyCiAgICAgICAgIHNlbGYuZGF0YV9zaXplX2xpbWl0ID0gZGF0YV9zaXplX2xpbWl0Ci0gICAgICAgIHNlbGYucmVjZWl2ZWRfbGluZXMgPSBbXQotICAgICAgICBzZWxmLnNtdHBfc3RhdGUgPSBzZWxmLkNPTU1BTkQKKyAgICAgICAgc2VsZi5lbmFibGVfU01UUFVURjggPSBlbmFibGVfU01UUFVURjgKKyAgICAgICAgaWYgZW5hYmxlX1NNVFBVVEY4OgorICAgICAgICAgICAgaWYgZGVjb2RlX2RhdGE6CisgICAgICAgICAgICAgICAgVmFsdWVFcnJvcigiZGVjb2RlX2RhdGEgYW5kIGVuYWJsZV9TTVRQVVRGOCBjYW5ub3QgYmUgc2V0IHRvIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIiBUcnVlIGF0IHRoZSBzYW1lIHRpbWUiKQorICAgICAgICAgICAgZGVjb2RlX2RhdGEgPSBGYWxzZQorICAgICAgICBpZiBkZWNvZGVfZGF0YSBpcyBOb25lOgorICAgICAgICAgICAgd2FybigiVGhlIGRlY29kZV9kYXRhIGRlZmF1bHQgb2YgVHJ1ZSB3aWxsIGNoYW5nZSB0byBGYWxzZSBpbiAzLjY7IgorICAgICAgICAgICAgICAgICAiIHNwZWNpZnkgYW4gZXhwbGljaXQgdmFsdWUgZm9yIHRoaXMga2V5d29yZCIsCisgICAgICAgICAgICAgICAgIERlcHJlY2F0aW9uV2FybmluZywgMikKKyAgICAgICAgICAgIGRlY29kZV9kYXRhID0gVHJ1ZQorICAgICAgICBzZWxmLl9kZWNvZGVfZGF0YSA9IGRlY29kZV9kYXRhCisgICAgICAgIGlmIGRlY29kZV9kYXRhOgorICAgICAgICAgICAgc2VsZi5fZW1wdHlzdHJpbmcgPSAnJworICAgICAgICAgICAgc2VsZi5fbGluZXNlcCA9ICdcclxuJworICAgICAgICAgICAgc2VsZi5fZG90c2VwID0gJy4nCisgICAgICAgICAgICBzZWxmLl9uZXdsaW5lID0gTkVXTElORQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgc2VsZi5fZW1wdHlzdHJpbmcgPSBiJycKKyAgICAgICAgICAgIHNlbGYuX2xpbmVzZXAgPSBiJ1xyXG4nCisgICAgICAgICAgICBzZWxmLl9kb3RzZXAgPSBiJy4nCisgICAgICAgICAgICBzZWxmLl9uZXdsaW5lID0gYidcbicKKyAgICAgICAgc2VsZi5fc2V0X3JzZXRfc3RhdGUoKQogICAgICAgICBzZWxmLnNlZW5fZ3JlZXRpbmcgPSAnJwotICAgICAgICBzZWxmLm1haWxmcm9tID0gTm9uZQotICAgICAgICBzZWxmLnJjcHR0b3MgPSBbXQotICAgICAgICBzZWxmLnJlY2VpdmVkX2RhdGEgPSAnJworICAgICAgICBzZWxmLmV4dGVuZGVkX3NtdHAgPSBGYWxzZQorICAgICAgICBzZWxmLmNvbW1hbmRfc2l6ZV9saW1pdHMuY2xlYXIoKQogICAgICAgICBzZWxmLmZxZG4gPSBzb2NrZXQuZ2V0ZnFkbigpCi0gICAgICAgIHNlbGYubnVtX2J5dGVzID0gMAogICAgICAgICB0cnk6CiAgICAgICAgICAgICBzZWxmLnBlZXIgPSBjb25uLmdldHBlZXJuYW1lKCkKICAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgZXJyOgpAQCAtMTQ3LDggKzE3MiwyMiBAQAogICAgICAgICAgICAgcmV0dXJuCiAgICAgICAgIHByaW50KCdQZWVyOicsIHJlcHIoc2VsZi5wZWVyKSwgZmlsZT1ERUJVR1NUUkVBTSkKICAgICAgICAgc2VsZi5wdXNoKCcyMjAgJXMgJXMnICUgKHNlbGYuZnFkbiwgX192ZXJzaW9uX18pKQorCisgICAgZGVmIF9zZXRfcG9zdF9kYXRhX3N0YXRlKHNlbGYpOgorICAgICAgICAiIiJSZXNldCBzdGF0ZSB2YXJpYWJsZXMgdG8gdGhlaXIgcG9zdC1EQVRBIHN0YXRlLiIiIgorICAgICAgICBzZWxmLnNtdHBfc3RhdGUgPSBzZWxmLkNPTU1BTkQKKyAgICAgICAgc2VsZi5tYWlsZnJvbSA9IE5vbmUKKyAgICAgICAgc2VsZi5yY3B0dG9zID0gW10KKyAgICAgICAgc2VsZi5yZXF1aXJlX1NNVFBVVEY4ID0gRmFsc2UKKyAgICAgICAgc2VsZi5udW1fYnl0ZXMgPSAwCiAgICAgICAgIHNlbGYuc2V0X3Rlcm1pbmF0b3IoYidcclxuJykKLSAgICAgICAgc2VsZi5leHRlbmRlZF9zbXRwID0gRmFsc2UKKworICAgIGRlZiBfc2V0X3JzZXRfc3RhdGUoc2VsZik6CisgICAgICAgICIiIlJlc2V0IGFsbCBzdGF0ZSB2YXJpYWJsZXMgZXhjZXB0IHRoZSBncmVldGluZy4iIiIKKyAgICAgICAgc2VsZi5fc2V0X3Bvc3RfZGF0YV9zdGF0ZSgpCisgICAgICAgIHNlbGYucmVjZWl2ZWRfZGF0YSA9ICcnCisgICAgICAgIHNlbGYucmVjZWl2ZWRfbGluZXMgPSBbXQorCiAKICAgICAjIHByb3BlcnRpZXMgZm9yIGJhY2t3YXJkcy1jb21wYXRpYmlsaXR5CiAgICAgQHByb3BlcnR5CkBAIC0yNzIsOSArMzExLDEwIEBACiAgICAgICAgICAgICAic2V0ICdhZGRyJyBpbnN0ZWFkIiwgRGVwcmVjYXRpb25XYXJuaW5nLCAyKQogICAgICAgICBzZWxmLmFkZHIgPSB2YWx1ZQogCi0gICAgIyBPdmVycmlkZXMgYmFzZSBjbGFzcyBmb3IgY29udmVuaWVuY2UKKyAgICAjIE92ZXJyaWRlcyBiYXNlIGNsYXNzIGZvciBjb252ZW5pZW5jZS4KICAgICBkZWYgcHVzaChzZWxmLCBtc2cpOgotICAgICAgICBhc3luY2hhdC5hc3luY19jaGF0LnB1c2goc2VsZiwgYnl0ZXMobXNnICsgJ1xyXG4nLCAnYXNjaWknKSkKKyAgICAgICAgYXN5bmNoYXQuYXN5bmNfY2hhdC5wdXNoKHNlbGYsIGJ5dGVzKAorICAgICAgICAgICAgbXNnICsgJ1xyXG4nLCAndXRmLTgnIGlmIHNlbGYucmVxdWlyZV9TTVRQVVRGOCBlbHNlICdhc2NpaScpKQogCiAgICAgIyBJbXBsZW1lbnRhdGlvbiBvZiBiYXNlIGNsYXNzIGFic3RyYWN0IG1ldGhvZAogICAgIGRlZiBjb2xsZWN0X2luY29taW5nX2RhdGEoc2VsZiwgZGF0YSk6CkBAIC0yODcsMTEgKzMyNywxNCBAQAogICAgICAgICAgICAgcmV0dXJuCiAgICAgICAgIGVsaWYgbGltaXQ6CiAgICAgICAgICAgICBzZWxmLm51bV9ieXRlcyArPSBsZW4oZGF0YSkKLSAgICAgICAgc2VsZi5yZWNlaXZlZF9saW5lcy5hcHBlbmQoc3RyKGRhdGEsICJ1dGYtOCIpKQorICAgICAgICBpZiBzZWxmLl9kZWNvZGVfZGF0YToKKyAgICAgICAgICAgIHNlbGYucmVjZWl2ZWRfbGluZXMuYXBwZW5kKHN0cihkYXRhLCAndXRmLTgnKSkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHNlbGYucmVjZWl2ZWRfbGluZXMuYXBwZW5kKGRhdGEpCiAKICAgICAjIEltcGxlbWVudGF0aW9uIG9mIGJhc2UgY2xhc3MgYWJzdHJhY3QgbWV0aG9kCiAgICAgZGVmIGZvdW5kX3Rlcm1pbmF0b3Ioc2VsZik6Ci0gICAgICAgIGxpbmUgPSBFTVBUWVNUUklORy5qb2luKHNlbGYucmVjZWl2ZWRfbGluZXMpCisgICAgICAgIGxpbmUgPSBzZWxmLl9lbXB0eXN0cmluZy5qb2luKHNlbGYucmVjZWl2ZWRfbGluZXMpCiAgICAgICAgIHByaW50KCdEYXRhOicsIHJlcHIobGluZSksIGZpbGU9REVCVUdTVFJFQU0pCiAgICAgICAgIHNlbGYucmVjZWl2ZWRfbGluZXMgPSBbXQogICAgICAgICBpZiBzZWxmLnNtdHBfc3RhdGUgPT0gc2VsZi5DT01NQU5EOgpAQCAtMjk5LDcgKzM0Miw4IEBACiAgICAgICAgICAgICBpZiBub3QgbGluZToKICAgICAgICAgICAgICAgICBzZWxmLnB1c2goJzUwMCBFcnJvcjogYmFkIHN5bnRheCcpCiAgICAgICAgICAgICAgICAgcmV0dXJuCi0gICAgICAgICAgICBtZXRob2QgPSBOb25lCisgICAgICAgICAgICBpZiBub3Qgc2VsZi5fZGVjb2RlX2RhdGE6CisgICAgICAgICAgICAgICAgbGluZSA9IHN0cihsaW5lLCAndXRmLTgnKQogICAgICAgICAgICAgaSA9IGxpbmUuZmluZCgnICcpCiAgICAgICAgICAgICBpZiBpIDwgMDoKICAgICAgICAgICAgICAgICBjb21tYW5kID0gbGluZS51cHBlcigpCkBAIC0zMzAsMjEgKzM3NCwxOCBAQAogICAgICAgICAgICAgIyBSZW1vdmUgZXh0cmFuZW91cyBjYXJyaWFnZSByZXR1cm5zIGFuZCBkZS10cmFuc3BhcmVuY3kgYWNjb3JkaW5nCiAgICAgICAgICAgICAjIHRvIFJGQyA1MzIxLCBTZWN0aW9uIDQuNS4yLgogICAgICAgICAgICAgZGF0YSA9IFtdCi0gICAgICAgICAgICBmb3IgdGV4dCBpbiBsaW5lLnNwbGl0KCdcclxuJyk6Ci0gICAgICAgICAgICAgICAgaWYgdGV4dCBhbmQgdGV4dFswXSA9PSAnLic6CisgICAgICAgICAgICBmb3IgdGV4dCBpbiBsaW5lLnNwbGl0KHNlbGYuX2xpbmVzZXApOgorICAgICAgICAgICAgICAgIGlmIHRleHQgYW5kIHRleHRbMF0gPT0gc2VsZi5fZG90c2VwOgogICAgICAgICAgICAgICAgICAgICBkYXRhLmFwcGVuZCh0ZXh0WzE6XSkKICAgICAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgICAgICBkYXRhLmFwcGVuZCh0ZXh0KQotICAgICAgICAgICAgc2VsZi5yZWNlaXZlZF9kYXRhID0gTkVXTElORS5qb2luKGRhdGEpCi0gICAgICAgICAgICBzdGF0dXMgPSBzZWxmLnNtdHBfc2VydmVyLnByb2Nlc3NfbWVzc2FnZShzZWxmLnBlZXIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLm1haWxmcm9tLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5yY3B0dG9zLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5yZWNlaXZlZF9kYXRhKQotICAgICAgICAgICAgc2VsZi5yY3B0dG9zID0gW10KLSAgICAgICAgICAgIHNlbGYubWFpbGZyb20gPSBOb25lCi0gICAgICAgICAgICBzZWxmLnNtdHBfc3RhdGUgPSBzZWxmLkNPTU1BTkQKLSAgICAgICAgICAgIHNlbGYubnVtX2J5dGVzID0gMAotICAgICAgICAgICAgc2VsZi5zZXRfdGVybWluYXRvcihiJ1xyXG4nKQorICAgICAgICAgICAgc2VsZi5yZWNlaXZlZF9kYXRhID0gc2VsZi5fbmV3bGluZS5qb2luKGRhdGEpCisgICAgICAgICAgICBhcmdzID0gKHNlbGYucGVlciwgc2VsZi5tYWlsZnJvbSwgc2VsZi5yY3B0dG9zLCBzZWxmLnJlY2VpdmVkX2RhdGEpCisgICAgICAgICAgICBpZiBzZWxmLnJlcXVpcmVfU01UUFVURjg6CisgICAgICAgICAgICAgICAgc3RhdHVzID0gc2VsZi5zbXRwX3NlcnZlci5wcm9jZXNzX3NtdHB1dGY4X21lc3NhZ2UoKmFyZ3MpCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIHN0YXR1cyA9IHNlbGYuc210cF9zZXJ2ZXIucHJvY2Vzc19tZXNzYWdlKCphcmdzKQorICAgICAgICAgICAgc2VsZi5fc2V0X3Bvc3RfZGF0YV9zdGF0ZSgpCiAgICAgICAgICAgICBpZiBub3Qgc3RhdHVzOgogICAgICAgICAgICAgICAgIHNlbGYucHVzaCgnMjUwIE9LJykKICAgICAgICAgICAgIGVsc2U6CkBAIC0zNTUsMjYgKzM5NiwzNCBAQAogICAgICAgICBpZiBub3QgYXJnOgogICAgICAgICAgICAgc2VsZi5wdXNoKCc1MDEgU3ludGF4OiBIRUxPIGhvc3RuYW1lJykKICAgICAgICAgICAgIHJldHVybgorICAgICAgICAjIFNlZSBpc3N1ZSAjMjE3ODMgZm9yIGEgZGlzY3Vzc2lvbiBvZiB0aGlzIGJlaGF2aW9yLgogICAgICAgICBpZiBzZWxmLnNlZW5fZ3JlZXRpbmc6CiAgICAgICAgICAgICBzZWxmLnB1c2goJzUwMyBEdXBsaWNhdGUgSEVMTy9FSExPJykKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHNlbGYuc2Vlbl9ncmVldGluZyA9IGFyZwotICAgICAgICAgICAgc2VsZi5leHRlbmRlZF9zbXRwID0gRmFsc2UKLSAgICAgICAgICAgIHNlbGYucHVzaCgnMjUwICVzJyAlIHNlbGYuZnFkbikKKyAgICAgICAgICAgIHJldHVybgorICAgICAgICBzZWxmLl9zZXRfcnNldF9zdGF0ZSgpCisgICAgICAgIHNlbGYuc2Vlbl9ncmVldGluZyA9IGFyZworICAgICAgICBzZWxmLnB1c2goJzI1MCAlcycgJSBzZWxmLmZxZG4pCiAKICAgICBkZWYgc210cF9FSExPKHNlbGYsIGFyZyk6CiAgICAgICAgIGlmIG5vdCBhcmc6CiAgICAgICAgICAgICBzZWxmLnB1c2goJzUwMSBTeW50YXg6IEVITE8gaG9zdG5hbWUnKQogICAgICAgICAgICAgcmV0dXJuCisgICAgICAgICMgU2VlIGlzc3VlICMyMTc4MyBmb3IgYSBkaXNjdXNzaW9uIG9mIHRoaXMgYmVoYXZpb3IuCiAgICAgICAgIGlmIHNlbGYuc2Vlbl9ncmVldGluZzoKICAgICAgICAgICAgIHNlbGYucHVzaCgnNTAzIER1cGxpY2F0ZSBIRUxPL0VITE8nKQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgc2VsZi5zZWVuX2dyZWV0aW5nID0gYXJnCi0gICAgICAgICAgICBzZWxmLmV4dGVuZGVkX3NtdHAgPSBUcnVlCi0gICAgICAgICAgICBzZWxmLnB1c2goJzI1MC0lcycgJSBzZWxmLmZxZG4pCi0gICAgICAgICAgICBpZiBzZWxmLmRhdGFfc2l6ZV9saW1pdDoKLSAgICAgICAgICAgICAgICBzZWxmLnB1c2goJzI1MC1TSVpFICVzJyAlIHNlbGYuZGF0YV9zaXplX2xpbWl0KQotICAgICAgICAgICAgc2VsZi5wdXNoKCcyNTAgSEVMUCcpCisgICAgICAgICAgICByZXR1cm4KKyAgICAgICAgc2VsZi5fc2V0X3JzZXRfc3RhdGUoKQorICAgICAgICBzZWxmLnNlZW5fZ3JlZXRpbmcgPSBhcmcKKyAgICAgICAgc2VsZi5leHRlbmRlZF9zbXRwID0gVHJ1ZQorICAgICAgICBzZWxmLnB1c2goJzI1MC0lcycgJSBzZWxmLmZxZG4pCisgICAgICAgIGlmIHNlbGYuZGF0YV9zaXplX2xpbWl0OgorICAgICAgICAgICAgc2VsZi5wdXNoKCcyNTAtU0laRSAlcycgJSBzZWxmLmRhdGFfc2l6ZV9saW1pdCkKKyAgICAgICAgICAgIHNlbGYuY29tbWFuZF9zaXplX2xpbWl0c1snTUFJTCddICs9IDI2CisgICAgICAgIGlmIHNlbGYuZW5hYmxlX1NNVFBVVEY4OgorICAgICAgICAgICAgc2VsZi5wdXNoKCcyNTAtOEJJVE1JTUUnKQorICAgICAgICAgICAgc2VsZi5wdXNoKCcyNTAtU01UUFVURjgnKQorICAgICAgICAgICAgc2VsZi5jb21tYW5kX3NpemVfbGltaXRzWydNQUlMJ10gKz0gMTAKKyAgICAgICAgc2VsZi5wdXNoKCcyNTAgSEVMUCcpCiAKICAgICBkZWYgc210cF9OT09QKHNlbGYsIGFyZyk6CiAgICAgICAgIGlmIGFyZzoKQEAgLTQwNyw4ICs0NTYsOCBAQAogICAgIGRlZiBfZ2V0cGFyYW1zKHNlbGYsIHBhcmFtcyk6CiAgICAgICAgICMgUmV0dXJuIGFueSBwYXJhbWV0ZXJzIHRoYXQgYXBwZWFyIHRvIGJlIHN5bnRhY3RpY2FsbHkgdmFsaWQgYWNjb3JkaW5nCiAgICAgICAgICMgdG8gUkZDIDE4NjksIGlnbm9yZSBhbGwgb3RoZXJzLiAgKFBvc3RlbCBydWxlOiBhY2NlcHQgd2hhdCB3ZSBjYW4uKQotICAgICAgICBwYXJhbXMgPSBbcGFyYW0uc3BsaXQoJz0nLCAxKSBmb3IgcGFyYW0gaW4gcGFyYW1zLnNwbGl0KCkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgJz0nIGluIHBhcmFtXQorICAgICAgICBwYXJhbXMgPSBbcGFyYW0uc3BsaXQoJz0nLCAxKSBpZiAnPScgaW4gcGFyYW0gZWxzZSAocGFyYW0sIFRydWUpCisgICAgICAgICAgICAgICAgICBmb3IgcGFyYW0gaW4gcGFyYW1zLnNwbGl0KCldCiAgICAgICAgIHJldHVybiB7azogdiBmb3IgaywgdiBpbiBwYXJhbXMgaWYgay5pc2FsbnVtKCl9CiAKICAgICBkZWYgc210cF9IRUxQKHNlbGYsIGFyZyk6CkBAIC00ODYsNiArNTM1LDE0IEBACiAgICAgICAgIGlmIHBhcmFtcyBpcyBOb25lOgogICAgICAgICAgICAgc2VsZi5wdXNoKHN5bnRheGVycikKICAgICAgICAgICAgIHJldHVybgorICAgICAgICBib2R5ID0gcGFyYW1zLnBvcCgnQk9EWScsICc3QklUJykKKyAgICAgICAgaWYgc2VsZi5lbmFibGVfU01UUFVURjggYW5kIHBhcmFtcy5wb3AoJ1NNVFBVVEY4JywgRmFsc2UpOgorICAgICAgICAgICAgaWYgYm9keSAhPSAnOEJJVE1JTUUnOgorICAgICAgICAgICAgICAgIHNlbGYucHVzaCgnNTAxIFN5bnRheDogTUFJTCBGUk9NOiA8YWRkcmVzcz4nCisgICAgICAgICAgICAgICAgICAgICAgICAgICcgW0JPRFk9OEJJVE1JTUUgU01UUFVURjhdJykKKyAgICAgICAgICAgICAgICByZXR1cm4KKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgc2VsZi5yZXF1aXJlX1NNVFBVVEY4ID0gVHJ1ZQogICAgICAgICBzaXplID0gcGFyYW1zLnBvcCgnU0laRScsIE5vbmUpCiAgICAgICAgIGlmIHNpemU6CiAgICAgICAgICAgICBpZiBub3Qgc2l6ZS5pc2RpZ2l0KCk6CkBAIC01NDYsMTEgKzYwMyw3IEBACiAgICAgICAgIGlmIGFyZzoKICAgICAgICAgICAgIHNlbGYucHVzaCgnNTAxIFN5bnRheDogUlNFVCcpCiAgICAgICAgICAgICByZXR1cm4KLSAgICAgICAgIyBSZXNldHMgdGhlIHNlbmRlciwgcmVjaXBpZW50cywgYW5kIGRhdGEsIGJ1dCBub3QgdGhlIGdyZWV0aW5nCi0gICAgICAgIHNlbGYubWFpbGZyb20gPSBOb25lCi0gICAgICAgIHNlbGYucmNwdHRvcyA9IFtdCi0gICAgICAgIHNlbGYucmVjZWl2ZWRfZGF0YSA9ICcnCi0gICAgICAgIHNlbGYuc210cF9zdGF0ZSA9IHNlbGYuQ09NTUFORAorICAgICAgICBzZWxmLl9zZXRfcnNldF9zdGF0ZSgpCiAgICAgICAgIHNlbGYucHVzaCgnMjUwIE9LJykKIAogICAgIGRlZiBzbXRwX0RBVEEoc2VsZiwgYXJnKToKQEAgLTU3NywxMyArNjMwLDI5IEBACiAgICAgY2hhbm5lbF9jbGFzcyA9IFNNVFBDaGFubmVsCiAKICAgICBkZWYgX19pbml0X18oc2VsZiwgbG9jYWxhZGRyLCByZW1vdGVhZGRyLAotICAgICAgICAgICAgICAgICBkYXRhX3NpemVfbGltaXQ9REFUQV9TSVpFX0RFRkFVTFQsIG1hcD1Ob25lKToKKyAgICAgICAgICAgICAgICAgZGF0YV9zaXplX2xpbWl0PURBVEFfU0laRV9ERUZBVUxULCBtYXA9Tm9uZSwKKyAgICAgICAgICAgICAgICAgZW5hYmxlX1NNVFBVVEY4PUZhbHNlLCBkZWNvZGVfZGF0YT1Ob25lKToKICAgICAgICAgc2VsZi5fbG9jYWxhZGRyID0gbG9jYWxhZGRyCiAgICAgICAgIHNlbGYuX3JlbW90ZWFkZHIgPSByZW1vdGVhZGRyCiAgICAgICAgIHNlbGYuZGF0YV9zaXplX2xpbWl0ID0gZGF0YV9zaXplX2xpbWl0CisgICAgICAgIHNlbGYuZW5hYmxlX1NNVFBVVEY4ID0gZW5hYmxlX1NNVFBVVEY4CisgICAgICAgIGlmIGVuYWJsZV9TTVRQVVRGODoKKyAgICAgICAgICAgIGlmIGRlY29kZV9kYXRhOgorICAgICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoIlRoZSBkZWNvZGVfZGF0YSBhbmQgZW5hYmxlX1NNVFBVVEY4IgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiBwYXJhbWV0ZXJzIGNhbm5vdCBiZSBzZXQgdG8gVHJ1ZSBhdCB0aGUiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiIHNhbWUgdGltZS4iKQorICAgICAgICAgICAgZGVjb2RlX2RhdGEgPSBGYWxzZQorICAgICAgICBpZiBkZWNvZGVfZGF0YSBpcyBOb25lOgorICAgICAgICAgICAgd2FybigiVGhlIGRlY29kZV9kYXRhIGRlZmF1bHQgb2YgVHJ1ZSB3aWxsIGNoYW5nZSB0byBGYWxzZSBpbiAzLjY7IgorICAgICAgICAgICAgICAgICAiIHNwZWNpZnkgYW4gZXhwbGljaXQgdmFsdWUgZm9yIHRoaXMga2V5d29yZCIsCisgICAgICAgICAgICAgICAgIERlcHJlY2F0aW9uV2FybmluZywgMikKKyAgICAgICAgICAgIGRlY29kZV9kYXRhID0gVHJ1ZQorICAgICAgICBzZWxmLl9kZWNvZGVfZGF0YSA9IGRlY29kZV9kYXRhCiAgICAgICAgIGFzeW5jb3JlLmRpc3BhdGNoZXIuX19pbml0X18oc2VsZiwgbWFwPW1hcCkKICAgICAgICAgdHJ5OgotICAgICAgICAgICAgc2VsZi5jcmVhdGVfc29ja2V0KHNvY2tldC5BRl9JTkVULCBzb2NrZXQuU09DS19TVFJFQU0pCisgICAgICAgICAgICBnYWlfcmVzdWx0cyA9IHNvY2tldC5nZXRhZGRyaW5mbygqbG9jYWxhZGRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1zb2NrZXQuU09DS19TVFJFQU0pCisgICAgICAgICAgICBzZWxmLmNyZWF0ZV9zb2NrZXQoZ2FpX3Jlc3VsdHNbMF1bMF0sIGdhaV9yZXN1bHRzWzBdWzFdKQogICAgICAgICAgICAgIyB0cnkgdG8gcmUtdXNlIGEgc2VydmVyIHBvcnQgaWYgcG9zc2libGUKICAgICAgICAgICAgIHNlbGYuc2V0X3JldXNlX2FkZHIoKQogICAgICAgICAgICAgc2VsZi5iaW5kKGxvY2FsYWRkcikKQEAgLTU5OCw4ICs2NjcsMTMgQEAKIAogICAgIGRlZiBoYW5kbGVfYWNjZXB0ZWQoc2VsZiwgY29ubiwgYWRkcik6CiAgICAgICAgIHByaW50KCdJbmNvbWluZyBjb25uZWN0aW9uIGZyb20gJXMnICUgcmVwcihhZGRyKSwgZmlsZT1ERUJVR1NUUkVBTSkKLSAgICAgICAgY2hhbm5lbCA9IHNlbGYuY2hhbm5lbF9jbGFzcyhzZWxmLCBjb25uLCBhZGRyLCBzZWxmLmRhdGFfc2l6ZV9saW1pdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9tYXApCisgICAgICAgIGNoYW5uZWwgPSBzZWxmLmNoYW5uZWxfY2xhc3Moc2VsZiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25uLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkZHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5kYXRhX3NpemVfbGltaXQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fbWFwLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuZW5hYmxlX1NNVFBVVEY4LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX2RlY29kZV9kYXRhKQogCiAgICAgIyBBUEkgZm9yICJkb2luZyBzb21ldGhpbmcgdXNlZnVsIHdpdGggdGhlIG1lc3NhZ2UiCiAgICAgZGVmIHByb2Nlc3NfbWVzc2FnZShzZWxmLCBwZWVyLCBtYWlsZnJvbSwgcmNwdHRvcywgZGF0YSk6CkBAIC02MjAsMjkgKzY5NCw2MyBAQAogICAgICAgICBjb250YWluaW5nIGEgYC4nIGZvbGxvd2VkIGJ5IG90aGVyIHRleHQgaGFzIGhhZCB0aGUgbGVhZGluZyBkb3QKICAgICAgICAgcmVtb3ZlZC4KIAotICAgICAgICBUaGlzIGZ1bmN0aW9uIHNob3VsZCByZXR1cm4gTm9uZSwgZm9yIGEgbm9ybWFsIGAyNTAgT2snIHJlc3BvbnNlOwotICAgICAgICBvdGhlcndpc2UgaXQgcmV0dXJucyB0aGUgZGVzaXJlZCByZXNwb25zZSBzdHJpbmcgaW4gUkZDIDgyMSBmb3JtYXQuCisgICAgICAgIFRoaXMgZnVuY3Rpb24gc2hvdWxkIHJldHVybiBOb25lIGZvciBhIG5vcm1hbCBgMjUwIE9rJyByZXNwb25zZTsKKyAgICAgICAgb3RoZXJ3aXNlLCBpdCBzaG91bGQgcmV0dXJuIHRoZSBkZXNpcmVkIHJlc3BvbnNlIHN0cmluZyBpbiBSRkMgODIxCisgICAgICAgIGZvcm1hdC4KKworICAgICAgICAiIiIKKyAgICAgICAgcmFpc2UgTm90SW1wbGVtZW50ZWRFcnJvcgorCisgICAgIyBBUEkgZm9yIHByb2Nlc3NpbmcgbWVzc2VnZXMgbmVlZGluZyBVbmljb2RlIHN1cHBvcnQgKFJGQyA2NTMxLCBSRkMgNjUzMikuCisgICAgZGVmIHByb2Nlc3Nfc210cHV0ZjhfbWVzc2FnZShzZWxmLCBwZWVyLCBtYWlsZnJvbSwgcmNwdHRvcywgZGF0YSk6CisgICAgICAgICIiIlNhbWUgYXMgYGBwcm9jZXNzX21lc3NhZ2VgYCBidXQgZm9yIG1lc3NhZ2VzIGZvciB3aGljaCB0aGUgY2xpZW50CisgICAgICAgIGhhcyBzZW50IHRoZSBTTVRQVVRGOCBwYXJhbWV0ZXIgd2l0aCB0aGUgTUFJTCBjb21tYW5kIChzZWUgdGhlCisgICAgICAgIGVuYWJsZV9TTVRQVVRGOCBwYXJhbWV0ZXIgb2YgdGhlIGNvbnN0cnVjdG9yKS4KKworICAgICAgICBUaGlzIGZ1bmN0aW9uIHNob3VsZCByZXR1cm4gTm9uZSBmb3IgYSBub3JtYWwgYDI1MCBPaycgcmVzcG9uc2U7CisgICAgICAgIG90aGVyd2lzZSwgaXQgc2hvdWxkIHJldHVybiB0aGUgZGVzaXJlZCByZXNwb25zZSBzdHJpbmcgaW4gUkZDIDY1MzEKKyAgICAgICAgZm9ybWF0LgogCiAgICAgICAgICIiIgogICAgICAgICByYWlzZSBOb3RJbXBsZW1lbnRlZEVycm9yCiAKIAogY2xhc3MgRGVidWdnaW5nU2VydmVyKFNNVFBTZXJ2ZXIpOgotICAgICMgRG8gc29tZXRoaW5nIHdpdGggdGhlIGdhdGhlcmVkIG1lc3NhZ2UKLSAgICBkZWYgcHJvY2Vzc19tZXNzYWdlKHNlbGYsIHBlZXIsIG1haWxmcm9tLCByY3B0dG9zLCBkYXRhKToKKworICAgIGRlZiBfcHJpbnRfbWVzc2FnZV9jb250ZW50KHNlbGYsIHBlZXIsIGRhdGEpOgogICAgICAgICBpbmhlYWRlcnMgPSAxCi0gICAgICAgIGxpbmVzID0gZGF0YS5zcGxpdCgnXG4nKQotICAgICAgICBwcmludCgnLS0tLS0tLS0tLSBNRVNTQUdFIEZPTExPV1MgLS0tLS0tLS0tLScpCisgICAgICAgIGxpbmVzID0gZGF0YS5zcGxpdGxpbmVzKCkKICAgICAgICAgZm9yIGxpbmUgaW4gbGluZXM6CiAgICAgICAgICAgICAjIGhlYWRlcnMgZmlyc3QKICAgICAgICAgICAgIGlmIGluaGVhZGVycyBhbmQgbm90IGxpbmU6Ci0gICAgICAgICAgICAgICAgcHJpbnQoJ1gtUGVlcjonLCBwZWVyWzBdKQorICAgICAgICAgICAgICAgIHBlZXJoZWFkZXIgPSAnWC1QZWVyOiAnICsgcGVlclswXQorICAgICAgICAgICAgICAgIGlmIG5vdCBpc2luc3RhbmNlKGRhdGEsIHN0cik6CisgICAgICAgICAgICAgICAgICAgICMgZGVjb2RlZF9kYXRhPWZhbHNlOyBtYWtlIGhlYWRlciBtYXRjaCBvdGhlciBiaW5hcnkgb3V0cHV0CisgICAgICAgICAgICAgICAgICAgIHBlZXJoZWFkZXIgPSByZXByKHBlZXJoZWFkZXIuZW5jb2RlKCd1dGYtOCcpKQorICAgICAgICAgICAgICAgIHByaW50KHBlZXJoZWFkZXIpCiAgICAgICAgICAgICAgICAgaW5oZWFkZXJzID0gMAorICAgICAgICAgICAgaWYgbm90IGlzaW5zdGFuY2UoZGF0YSwgc3RyKToKKyAgICAgICAgICAgICAgICAjIEF2b2lkIHNwdXJpb3VzICdzdHIgb24gYnl0ZXMgaW5zdGFuY2UnIHdhcm5pbmcuCisgICAgICAgICAgICAgICAgbGluZSA9IHJlcHIobGluZSkKICAgICAgICAgICAgIHByaW50KGxpbmUpCisKKyAgICBkZWYgcHJvY2Vzc19tZXNzYWdlKHNlbGYsIHBlZXIsIG1haWxmcm9tLCByY3B0dG9zLCBkYXRhKToKKyAgICAgICAgcHJpbnQoJy0tLS0tLS0tLS0gTUVTU0FHRSBGT0xMT1dTIC0tLS0tLS0tLS0nKQorICAgICAgICBzZWxmLl9wcmludF9tZXNzYWdlX2NvbnRlbnQocGVlciwgZGF0YSkKKyAgICAgICAgcHJpbnQoJy0tLS0tLS0tLS0tLSBFTkQgTUVTU0FHRSAtLS0tLS0tLS0tLS0nKQorCisgICAgZGVmIHByb2Nlc3Nfc210cHV0ZjhfbWVzc2FnZShzZWxmLCBwZWVyLCBtYWlsZnJvbSwgcmNwdHRvcywgZGF0YSk6CisgICAgICAgIHByaW50KCctLS0tLSBTTVRQVVRGOCBNRVNTQUdFIEZPTExPV1MgLS0tLS0tJykKKyAgICAgICAgc2VsZi5fcHJpbnRfbWVzc2FnZV9jb250ZW50KHBlZXIsIGRhdGEpCiAgICAgICAgIHByaW50KCctLS0tLS0tLS0tLS0gRU5EIE1FU1NBR0UgLS0tLS0tLS0tLS0tJykKIAogCiBjbGFzcyBQdXJlUHJveHkoU01UUFNlcnZlcik6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsICphcmdzLCAqKmt3YXJncyk6CisgICAgICAgIGlmICdlbmFibGVfU01UUFVURjgnIGluIGt3YXJncyBhbmQga3dhcmdzWydlbmFibGVfU01UUFVURjgnXToKKyAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoIlB1cmVQcm94eSBkb2VzIG5vdCBzdXBwb3J0IFNNVFBVVEY4LiIpCisgICAgICAgIHN1cGVyKFB1cmVQcm94eSwgc2VsZikuX19pbml0X18oKmFyZ3MsICoqa3dhcmdzKQorCiAgICAgZGVmIHByb2Nlc3NfbWVzc2FnZShzZWxmLCBwZWVyLCBtYWlsZnJvbSwgcmNwdHRvcywgZGF0YSk6CiAgICAgICAgIGxpbmVzID0gZGF0YS5zcGxpdCgnXG4nKQogICAgICAgICAjIExvb2sgZm9yIHRoZSBsYXN0IGhlYWRlcgpAQCAtNjgzLDYgKzc5MSwxMSBAQAogCiAKIGNsYXNzIE1haWxtYW5Qcm94eShQdXJlUHJveHkpOgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCAqYXJncywgKiprd2FyZ3MpOgorICAgICAgICBpZiAnZW5hYmxlX1NNVFBVVEY4JyBpbiBrd2FyZ3MgYW5kIGt3YXJnc1snZW5hYmxlX1NNVFBVVEY4J106CisgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJNYWlsbWFuUHJveHkgZG9lcyBub3Qgc3VwcG9ydCBTTVRQVVRGOC4iKQorICAgICAgICBzdXBlcihQdXJlUHJveHksIHNlbGYpLl9faW5pdF9fKCphcmdzLCAqKmt3YXJncykKKwogICAgIGRlZiBwcm9jZXNzX21lc3NhZ2Uoc2VsZiwgcGVlciwgbWFpbGZyb20sIHJjcHR0b3MsIGRhdGEpOgogICAgICAgICBmcm9tIGlvIGltcG9ydCBTdHJpbmdJTwogICAgICAgICBmcm9tIE1haWxtYW4gaW1wb3J0IFV0aWxzCkBAIC03NjEsMTcgKzg3NCwxOSBAQAogCiAKIGNsYXNzIE9wdGlvbnM6Ci0gICAgc2V0dWlkID0gMQorICAgIHNldHVpZCA9IFRydWUKICAgICBjbGFzc25hbWUgPSAnUHVyZVByb3h5JwogICAgIHNpemVfbGltaXQgPSBOb25lCisgICAgZW5hYmxlX1NNVFBVVEY4ID0gRmFsc2UKIAogCiBkZWYgcGFyc2VhcmdzKCk6CiAgICAgZ2xvYmFsIERFQlVHU1RSRUFNCiAgICAgdHJ5OgogICAgICAgICBvcHRzLCBhcmdzID0gZ2V0b3B0LmdldG9wdCgKLSAgICAgICAgICAgIHN5cy5hcmd2WzE6XSwgJ25WaGM6czpkJywKLSAgICAgICAgICAgIFsnY2xhc3M9JywgJ25vc2V0dWlkJywgJ3ZlcnNpb24nLCAnaGVscCcsICdzaXplPScsICdkZWJ1ZyddKQorICAgICAgICAgICAgc3lzLmFyZ3ZbMTpdLCAnblZoYzpzOmR1JywKKyAgICAgICAgICAgIFsnY2xhc3M9JywgJ25vc2V0dWlkJywgJ3ZlcnNpb24nLCAnaGVscCcsICdzaXplPScsICdkZWJ1ZycsCisgICAgICAgICAgICAgJ3NtdHB1dGY4J10pCiAgICAgZXhjZXB0IGdldG9wdC5lcnJvciBhcyBlOgogICAgICAgICB1c2FnZSgxLCBlKQogCkBAIC03ODMsMTEgKzg5OCwxMyBAQAogICAgICAgICAgICAgcHJpbnQoX192ZXJzaW9uX18pCiAgICAgICAgICAgICBzeXMuZXhpdCgwKQogICAgICAgICBlbGlmIG9wdCBpbiAoJy1uJywgJy0tbm9zZXR1aWQnKToKLSAgICAgICAgICAgIG9wdGlvbnMuc2V0dWlkID0gMAorICAgICAgICAgICAgb3B0aW9ucy5zZXR1aWQgPSBGYWxzZQogICAgICAgICBlbGlmIG9wdCBpbiAoJy1jJywgJy0tY2xhc3MnKToKICAgICAgICAgICAgIG9wdGlvbnMuY2xhc3NuYW1lID0gYXJnCiAgICAgICAgIGVsaWYgb3B0IGluICgnLWQnLCAnLS1kZWJ1ZycpOgogICAgICAgICAgICAgREVCVUdTVFJFQU0gPSBzeXMuc3RkZXJyCisgICAgICAgIGVsaWYgb3B0IGluICgnLXUnLCAnLS1zbXRwdXRmOCcpOgorICAgICAgICAgICAgb3B0aW9ucy5lbmFibGVfU01UUFVURjggPSBUcnVlCiAgICAgICAgIGVsaWYgb3B0IGluICgnLXMnLCAnLS1zaXplJyk6CiAgICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICAgaW50X3NpemUgPSBpbnQoYXJnKQpAQCAtODQyLDcgKzk1OSw3IEBACiAgICAgY2xhc3NfID0gZ2V0YXR0cihtb2QsIGNsYXNzbmFtZSkKICAgICBwcm94eSA9IGNsYXNzXygob3B0aW9ucy5sb2NhbGhvc3QsIG9wdGlvbnMubG9jYWxwb3J0KSwKICAgICAgICAgICAgICAgICAgICAob3B0aW9ucy5yZW1vdGVob3N0LCBvcHRpb25zLnJlbW90ZXBvcnQpLAotICAgICAgICAgICAgICAgICAgIG9wdGlvbnMuc2l6ZV9saW1pdCkKKyAgICAgICAgICAgICAgICAgICBvcHRpb25zLnNpemVfbGltaXQsIGVuYWJsZV9TTVRQVVRGOD1vcHRpb25zLmVuYWJsZV9TTVRQVVRGOCkKICAgICBpZiBvcHRpb25zLnNldHVpZDoKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgaW1wb3J0IHB3ZApkaWZmIC0tZ2l0IGEvTGliL3NtdHBsaWIucHkgYi9MaWIvc210cGxpYi5weQppbmRleCBmYTdmOWU2Li4zMjdhNDU0IDEwMDc1NQotLS0gYS9MaWIvc210cGxpYi5weQorKysgYi9MaWIvc210cGxpYi5weQpAQCAtNTcxLDEyICs1NzEsNjAgQEAKICAgICAgICAgICAgICAgICBpZiBub3QgKDIwMCA8PSBjb2RlIDw9IDI5OSk6CiAgICAgICAgICAgICAgICAgICAgIHJhaXNlIFNNVFBIZWxvRXJyb3IoY29kZSwgcmVzcCkKIAorICAgIGRlZiBhdXRoKHNlbGYsIG1lY2hhbmlzbSwgYXV0aG9iamVjdCk6CisgICAgICAgICIiIkF1dGhlbnRpY2F0aW9uIGNvbW1hbmQgLSByZXF1aXJlcyByZXNwb25zZSBwcm9jZXNzaW5nLgorCisgICAgICAgICdtZWNoYW5pc20nIHNwZWNpZmllcyB3aGljaCBhdXRoZW50aWNhdGlvbiBtZWNoYW5pc20gaXMgdG8KKyAgICAgICAgYmUgdXNlZCAtIHRoZSB2YWxpZCB2YWx1ZXMgYXJlIHRob3NlIGxpc3RlZCBpbiB0aGUgJ2F1dGgnCisgICAgICAgIGVsZW1lbnQgb2YgJ2VzbXRwX2ZlYXR1cmVzJy4KKworICAgICAgICAnYXV0aG9iamVjdCcgbXVzdCBiZSBhIGNhbGxhYmxlIG9iamVjdCB0YWtpbmcgYSBzaW5nbGUgYXJndW1lbnQ6CisKKyAgICAgICAgICAgICAgICBkYXRhID0gYXV0aG9iamVjdChjaGFsbGVuZ2UpCisKKyAgICAgICAgSXQgd2lsbCBiZSBjYWxsZWQgdG8gcHJvY2VzcyB0aGUgc2VydmVyJ3MgY2hhbGxlbmdlIHJlc3BvbnNlOyB0aGUKKyAgICAgICAgY2hhbGxlbmdlIGFyZ3VtZW50IGl0IGlzIHBhc3NlZCB3aWxsIGJlIGEgYnl0ZXMuICBJdCBzaG91bGQgcmV0dXJuCisgICAgICAgIGJ5dGVzIGRhdGEgdGhhdCB3aWxsIGJlIGJhc2U2NCBlbmNvZGVkIGFuZCBzZW50IHRvIHRoZSBzZXJ2ZXIuCisgICAgICAgICIiIgorCisgICAgICAgIG1lY2hhbmlzbSA9IG1lY2hhbmlzbS51cHBlcigpCisgICAgICAgIChjb2RlLCByZXNwKSA9IHNlbGYuZG9jbWQoIkFVVEgiLCBtZWNoYW5pc20pCisgICAgICAgICMgU2VydmVyIHJlcGxpZXMgd2l0aCAzMzQgKGNoYWxsZW5nZSkgb3IgNTM1IChub3Qgc3VwcG9ydGVkKQorICAgICAgICBpZiBjb2RlID09IDMzNDoKKyAgICAgICAgICAgIGNoYWxsZW5nZSA9IGJhc2U2NC5kZWNvZGVieXRlcyhyZXNwKQorICAgICAgICAgICAgcmVzcG9uc2UgPSBlbmNvZGVfYmFzZTY0KAorICAgICAgICAgICAgICAgIGF1dGhvYmplY3QoY2hhbGxlbmdlKS5lbmNvZGUoJ2FzY2lpJyksIGVvbD0nJykKKyAgICAgICAgICAgIChjb2RlLCByZXNwKSA9IHNlbGYuZG9jbWQocmVzcG9uc2UpCisgICAgICAgICAgICBpZiBjb2RlIGluICgyMzUsIDUwMyk6CisgICAgICAgICAgICAgICAgcmV0dXJuIChjb2RlLCByZXNwKQorICAgICAgICByYWlzZSBTTVRQQXV0aGVudGljYXRpb25FcnJvcihjb2RlLCByZXNwKQorCisgICAgZGVmIGF1dGhfY3JhbV9tZDUoc2VsZiwgY2hhbGxlbmdlKToKKyAgICAgICAgIiIiIEF1dGhvYmplY3QgdG8gdXNlIHdpdGggQ1JBTS1NRDUgYXV0aGVudGljYXRpb24uIFJlcXVpcmVzIHNlbGYudXNlcgorICAgICAgICBhbmQgc2VsZi5wYXNzd29yZCB0byBiZSBzZXQuIiIiCisgICAgICAgIHJldHVybiBzZWxmLnVzZXIgKyAiICIgKyBobWFjLkhNQUMoCisgICAgICAgICAgICBzZWxmLnBhc3N3b3JkLmVuY29kZSgnYXNjaWknKSwgY2hhbGxlbmdlLCAnbWQ1JykuaGV4ZGlnZXN0KCkKKworICAgIGRlZiBhdXRoX3BsYWluKHNlbGYsIGNoYWxsZW5nZSk6CisgICAgICAgICIiIiBBdXRob2JqZWN0IHRvIHVzZSB3aXRoIFBMQUlOIGF1dGhlbnRpY2F0aW9uLiBSZXF1aXJlcyBzZWxmLnVzZXIgYW5kCisgICAgICAgIHNlbGYucGFzc3dvcmQgdG8gYmUgc2V0LiIiIgorICAgICAgICByZXR1cm4gIlwwJXNcMCVzIiAlIChzZWxmLnVzZXIsIHNlbGYucGFzc3dvcmQpCisKKyAgICBkZWYgYXV0aF9sb2dpbihzZWxmLCBjaGFsbGVuZ2UpOgorICAgICAgICAiIiIgQXV0aG9iamVjdCB0byB1c2Ugd2l0aCBMT0dJTiBhdXRoZW50aWNhdGlvbi4gUmVxdWlyZXMgc2VsZi51c2VyIGFuZAorICAgICAgICBzZWxmLnBhc3N3b3JkIHRvIGJlIHNldC4iIiIKKyAgICAgICAgKGNvZGUsIHJlc3ApID0gc2VsZi5kb2NtZCgKKyAgICAgICAgICAgIGVuY29kZV9iYXNlNjQoc2VsZi51c2VyLmVuY29kZSgnYXNjaWknKSwgZW9sPScnKSkKKyAgICAgICAgaWYgY29kZSA9PSAzMzQ6CisgICAgICAgICAgICByZXR1cm4gc2VsZi5wYXNzd29yZAorICAgICAgICByYWlzZSBTTVRQQXV0aGVudGljYXRpb25FcnJvcihjb2RlLCByZXNwKQorCiAgICAgZGVmIGxvZ2luKHNlbGYsIHVzZXIsIHBhc3N3b3JkKToKICAgICAgICAgIiIiTG9nIGluIG9uIGFuIFNNVFAgc2VydmVyIHRoYXQgcmVxdWlyZXMgYXV0aGVudGljYXRpb24uCiAKICAgICAgICAgVGhlIGFyZ3VtZW50cyBhcmU6Ci0gICAgICAgICAgICAtIHVzZXI6ICAgICBUaGUgdXNlciBuYW1lIHRvIGF1dGhlbnRpY2F0ZSB3aXRoLgotICAgICAgICAgICAgLSBwYXNzd29yZDogVGhlIHBhc3N3b3JkIGZvciB0aGUgYXV0aGVudGljYXRpb24uCisgICAgICAgICAgICAtIHVzZXI6ICAgICAgICAgVGhlIHVzZXIgbmFtZSB0byBhdXRoZW50aWNhdGUgd2l0aC4KKyAgICAgICAgICAgIC0gcGFzc3dvcmQ6ICAgICBUaGUgcGFzc3dvcmQgZm9yIHRoZSBhdXRoZW50aWNhdGlvbi4KIAogICAgICAgICBJZiB0aGVyZSBoYXMgYmVlbiBubyBwcmV2aW91cyBFSExPIG9yIEhFTE8gY29tbWFuZCB0aGlzIHNlc3Npb24sIHRoaXMKICAgICAgICAgbWV0aG9kIHRyaWVzIEVTTVRQIEVITE8gZmlyc3QuCkBAIC01OTMsNjMgKzY0MSw0MCBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvdW5kLgogICAgICAgICAiIiIKIAotICAgICAgICBkZWYgZW5jb2RlX2NyYW1fbWQ1KGNoYWxsZW5nZSwgdXNlciwgcGFzc3dvcmQpOgotICAgICAgICAgICAgY2hhbGxlbmdlID0gYmFzZTY0LmRlY29kZWJ5dGVzKGNoYWxsZW5nZSkKLSAgICAgICAgICAgIHJlc3BvbnNlID0gdXNlciArICIgIiArIGhtYWMuSE1BQyhwYXNzd29yZC5lbmNvZGUoJ2FzY2lpJyksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhbGxlbmdlLCAnbWQ1JykuaGV4ZGlnZXN0KCkKLSAgICAgICAgICAgIHJldHVybiBlbmNvZGVfYmFzZTY0KHJlc3BvbnNlLmVuY29kZSgnYXNjaWknKSwgZW9sPScnKQotCi0gICAgICAgIGRlZiBlbmNvZGVfcGxhaW4odXNlciwgcGFzc3dvcmQpOgotICAgICAgICAgICAgcyA9ICJcMCVzXDAlcyIgJSAodXNlciwgcGFzc3dvcmQpCi0gICAgICAgICAgICByZXR1cm4gZW5jb2RlX2Jhc2U2NChzLmVuY29kZSgnYXNjaWknKSwgZW9sPScnKQotCi0gICAgICAgIEFVVEhfUExBSU4gPSAiUExBSU4iCi0gICAgICAgIEFVVEhfQ1JBTV9NRDUgPSAiQ1JBTS1NRDUiCi0gICAgICAgIEFVVEhfTE9HSU4gPSAiTE9HSU4iCi0KICAgICAgICAgc2VsZi5laGxvX29yX2hlbG9faWZfbmVlZGVkKCkKLQogICAgICAgICBpZiBub3Qgc2VsZi5oYXNfZXh0bigiYXV0aCIpOgogICAgICAgICAgICAgcmFpc2UgU01UUEV4Y2VwdGlvbigiU01UUCBBVVRIIGV4dGVuc2lvbiBub3Qgc3VwcG9ydGVkIGJ5IHNlcnZlci4iKQogCiAgICAgICAgICMgQXV0aGVudGljYXRpb24gbWV0aG9kcyB0aGUgc2VydmVyIGNsYWltcyB0byBzdXBwb3J0CiAgICAgICAgIGFkdmVydGlzZWRfYXV0aGxpc3QgPSBzZWxmLmVzbXRwX2ZlYXR1cmVzWyJhdXRoIl0uc3BsaXQoKQogCi0gICAgICAgICMgTGlzdCBvZiBhdXRoZW50aWNhdGlvbiBtZXRob2RzIHdlIHN1cHBvcnQ6IGZyb20gcHJlZmVycmVkIHRvCi0gICAgICAgICMgbGVzcyBwcmVmZXJyZWQgbWV0aG9kcy4gRXhjZXB0IGZvciB0aGUgcHVycG9zZSBvZiB0ZXN0aW5nIHRoZSB3ZWFrZXIKLSAgICAgICAgIyBvbmVzLCB3ZSBwcmVmZXIgc3Ryb25nZXIgbWV0aG9kcyBsaWtlIENSQU0tTUQ1OgotICAgICAgICBwcmVmZXJyZWRfYXV0aHMgPSBbQVVUSF9DUkFNX01ENSwgQVVUSF9QTEFJTiwgQVVUSF9MT0dJTl0KKyAgICAgICAgIyBBdXRoZW50aWNhdGlvbiBtZXRob2RzIHdlIGNhbiBoYW5kbGUgaW4gb3VyIHByZWZlcnJlZCBvcmRlcjoKKyAgICAgICAgcHJlZmVycmVkX2F1dGhzID0gWydDUkFNLU1ENScsICdQTEFJTicsICdMT0dJTiddCiAKLSAgICAgICAgIyBXZSB0cnkgdGhlIGF1dGhlbnRpY2F0aW9uIG1ldGhvZHMgdGhlIHNlcnZlciBhZHZlcnRpc2VzLCBidXQgb25seSB0aGUKLSAgICAgICAgIyBvbmVzICp3ZSogc3VwcG9ydC4gQW5kIGluIG91ciBwcmVmZXJyZWQgb3JkZXIuCi0gICAgICAgIGF1dGhsaXN0ID0gW2F1dGggZm9yIGF1dGggaW4gcHJlZmVycmVkX2F1dGhzIGlmIGF1dGggaW4gYWR2ZXJ0aXNlZF9hdXRobGlzdF0KKyAgICAgICAgIyBXZSB0cnkgdGhlIHN1cHBvcnRlZCBhdXRoZW50aWNhdGlvbnMgaW4gb3VyIHByZWZlcnJlZCBvcmRlciwgaWYKKyAgICAgICAgIyB0aGUgc2VydmVyIHN1cHBvcnRzIHRoZW0uCisgICAgICAgIGF1dGhsaXN0ID0gW2F1dGggZm9yIGF1dGggaW4gcHJlZmVycmVkX2F1dGhzCisgICAgICAgICAgICAgICAgICAgIGlmIGF1dGggaW4gYWR2ZXJ0aXNlZF9hdXRobGlzdF0KICAgICAgICAgaWYgbm90IGF1dGhsaXN0OgogICAgICAgICAgICAgcmFpc2UgU01UUEV4Y2VwdGlvbigiTm8gc3VpdGFibGUgYXV0aGVudGljYXRpb24gbWV0aG9kIGZvdW5kLiIpCiAKICAgICAgICAgIyBTb21lIHNlcnZlcnMgYWR2ZXJ0aXNlIGF1dGhlbnRpY2F0aW9uIG1ldGhvZHMgdGhleSBkb24ndCByZWFsbHkKICAgICAgICAgIyBzdXBwb3J0LCBzbyBpZiBhdXRoZW50aWNhdGlvbiBmYWlscywgd2UgY29udGludWUgdW50aWwgd2UndmUgdHJpZWQKICAgICAgICAgIyBhbGwgbWV0aG9kcy4KKyAgICAgICAgc2VsZi51c2VyLCBzZWxmLnBhc3N3b3JkID0gdXNlciwgcGFzc3dvcmQKICAgICAgICAgZm9yIGF1dGhtZXRob2QgaW4gYXV0aGxpc3Q6Ci0gICAgICAgICAgICBpZiBhdXRobWV0aG9kID09IEFVVEhfQ1JBTV9NRDU6Ci0gICAgICAgICAgICAgICAgKGNvZGUsIHJlc3ApID0gc2VsZi5kb2NtZCgiQVVUSCIsIEFVVEhfQ1JBTV9NRDUpCi0gICAgICAgICAgICAgICAgaWYgY29kZSA9PSAzMzQ6Ci0gICAgICAgICAgICAgICAgICAgIChjb2RlLCByZXNwKSA9IHNlbGYuZG9jbWQoZW5jb2RlX2NyYW1fbWQ1KHJlc3AsIHVzZXIsIHBhc3N3b3JkKSkKLSAgICAgICAgICAgIGVsaWYgYXV0aG1ldGhvZCA9PSBBVVRIX1BMQUlOOgotICAgICAgICAgICAgICAgIChjb2RlLCByZXNwKSA9IHNlbGYuZG9jbWQoIkFVVEgiLAotICAgICAgICAgICAgICAgICAgICBBVVRIX1BMQUlOICsgIiAiICsgZW5jb2RlX3BsYWluKHVzZXIsIHBhc3N3b3JkKSkKLSAgICAgICAgICAgIGVsaWYgYXV0aG1ldGhvZCA9PSBBVVRIX0xPR0lOOgotICAgICAgICAgICAgICAgIChjb2RlLCByZXNwKSA9IHNlbGYuZG9jbWQoIkFVVEgiLAotICAgICAgICAgICAgICAgICAgICAiJXMgJXMiICUgKEFVVEhfTE9HSU4sIGVuY29kZV9iYXNlNjQodXNlci5lbmNvZGUoJ2FzY2lpJyksIGVvbD0nJykpKQotICAgICAgICAgICAgICAgIGlmIGNvZGUgPT0gMzM0OgotICAgICAgICAgICAgICAgICAgICAoY29kZSwgcmVzcCkgPSBzZWxmLmRvY21kKGVuY29kZV9iYXNlNjQocGFzc3dvcmQuZW5jb2RlKCdhc2NpaScpLCBlb2w9JycpKQorICAgICAgICAgICAgbWV0aG9kX25hbWUgPSAnYXV0aF8nICsgYXV0aG1ldGhvZC5sb3dlcigpLnJlcGxhY2UoJy0nLCAnXycpCisgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgKGNvZGUsIHJlc3ApID0gc2VsZi5hdXRoKGF1dGhtZXRob2QsIGdldGF0dHIoc2VsZiwgbWV0aG9kX25hbWUpKQorICAgICAgICAgICAgICAgICMgMjM1ID09ICdBdXRoZW50aWNhdGlvbiBzdWNjZXNzZnVsJworICAgICAgICAgICAgICAgICMgNTAzID09ICdFcnJvcjogYWxyZWFkeSBhdXRoZW50aWNhdGVkJworICAgICAgICAgICAgICAgIGlmIGNvZGUgaW4gKDIzNSwgNTAzKToKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChjb2RlLCByZXNwKQorICAgICAgICAgICAgZXhjZXB0IFNNVFBBdXRoZW50aWNhdGlvbkVycm9yIGFzIGU6CisgICAgICAgICAgICAgICAgbGFzdF9leGNlcHRpb24gPSBlCiAKLSAgICAgICAgICAgICMgMjM1ID09ICdBdXRoZW50aWNhdGlvbiBzdWNjZXNzZnVsJwotICAgICAgICAgICAgIyA1MDMgPT0gJ0Vycm9yOiBhbHJlYWR5IGF1dGhlbnRpY2F0ZWQnCi0gICAgICAgICAgICBpZiBjb2RlIGluICgyMzUsIDUwMyk6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIChjb2RlLCByZXNwKQotCi0gICAgICAgICMgV2UgY291bGQgbm90IGxvZ2luIHN1Y2Vzc2Z1bGx5LiBSZXR1cm4gcmVzdWx0IG9mIGxhc3QgYXR0ZW1wdC4KLSAgICAgICAgcmFpc2UgU01UUEF1dGhlbnRpY2F0aW9uRXJyb3IoY29kZSwgcmVzcCkKKyAgICAgICAgIyBXZSBjb3VsZCBub3QgbG9naW4gc3VjY2Vzc2Z1bGx5LiAgUmV0dXJuIHJlc3VsdCBvZiBsYXN0IGF0dGVtcHQuCisgICAgICAgIHJhaXNlIGxhc3RfZXhjZXB0aW9uCiAKICAgICBkZWYgc3RhcnR0bHMoc2VsZiwga2V5ZmlsZT1Ob25lLCBjZXJ0ZmlsZT1Ob25lLCBjb250ZXh0PU5vbmUpOgogICAgICAgICAiIiJQdXRzIHRoZSBjb25uZWN0aW9uIHRvIHRoZSBTTVRQIHNlcnZlciBpbnRvIFRMUyBtb2RlLgpkaWZmIC0tZ2l0IGEvTGliL3NuZGhkci5weSBiL0xpYi9zbmRoZHIucHkKaW5kZXggMjQwZTUwNy4uZTU5MDFlYyAxMDA2NDQKLS0tIGEvTGliL3NuZGhkci5weQorKysgYi9MaWIvc25kaGRyLnB5CkBAIC0zMiw2ICszMiwxMSBAQAogCiBfX2FsbF9fID0gWyd3aGF0JywgJ3doYXRoZHInXQogCitmcm9tIGNvbGxlY3Rpb25zIGltcG9ydCBuYW1lZHR1cGxlCisKK1NuZEhlYWRlcnMgPSBuYW1lZHR1cGxlKCdTbmRIZWFkZXJzJywKKyAgICAgICAgICAgICAgICAgICAgICAgICdmaWxldHlwZSBmcmFtZXJhdGUgbmNoYW5uZWxzIG5mcmFtZXMgc2FtcHdpZHRoJykKKwogZGVmIHdoYXQoZmlsZW5hbWUpOgogICAgICIiIkd1ZXNzIHRoZSB0eXBlIG9mIGEgc291bmQgZmlsZS4iIiIKICAgICByZXMgPSB3aGF0aGRyKGZpbGVuYW1lKQpAQCAtNDUsNyArNTAsNyBAQAogICAgICAgICBmb3IgdGYgaW4gdGVzdHM6CiAgICAgICAgICAgICByZXMgPSB0ZihoLCBmKQogICAgICAgICAgICAgaWYgcmVzOgotICAgICAgICAgICAgICAgIHJldHVybiByZXMKKyAgICAgICAgICAgICAgICByZXR1cm4gU25kSGVhZGVycygqcmVzKQogICAgICAgICByZXR1cm4gTm9uZQogCiAKZGlmZiAtLWdpdCBhL0xpYi9zb2NrZXQucHkgYi9MaWIvc29ja2V0LnB5CmluZGV4IDhlZmQ3NjAuLjljMzljNjkgMTAwNjQ0Ci0tLSBhL0xpYi9zb2NrZXQucHkKKysrIGIvTGliL3NvY2tldC5weQpAQCAtNDksNyArNDksNyBAQAogaW1wb3J0IF9zb2NrZXQKIGZyb20gX3NvY2tldCBpbXBvcnQgKgogCi1pbXBvcnQgb3MsIHN5cywgaW8KK2ltcG9ydCBvcywgc3lzLCBpbywgc2VsZWN0b3JzCiBmcm9tIGVudW0gaW1wb3J0IEludEVudW0KIAogdHJ5OgpAQCAtNzksNiArNzksMTEgQEAKICAgICAgICAgICAgICAgICAgICAgICBpZiBuYW1lLmlzdXBwZXIoKSBhbmQgbmFtZS5zdGFydHN3aXRoKCdTT0NLXycpfSkKIGdsb2JhbHMoKS51cGRhdGUoU29ja2V0S2luZC5fX21lbWJlcnNfXykKIAorCitfTE9DQUxIT1NUICAgID0gJzEyNy4wLjAuMScKK19MT0NBTEhPU1RfVjYgPSAnOjoxJworCisKIGRlZiBfaW50ZW51bV9jb252ZXJ0ZXIodmFsdWUsIGVudW1fa2xhc3MpOgogICAgICIiIkNvbnZlcnQgYSBudW1lcmljIGZhbWlseSB2YWx1ZSB0byBhbiBJbnRFbnVtIG1lbWJlci4KIApAQCAtMTEyLDYgKzExNyw5IEBACiAgICAgX19hbGxfXy5hcHBlbmQoImVycm9yVGFiIikKIAogCitjbGFzcyBfR2l2ZXVwT25TZW5kZmlsZShFeGNlcHRpb24pOiBwYXNzCisKKwogY2xhc3Mgc29ja2V0KF9zb2NrZXQuc29ja2V0KToKIAogICAgICIiIkEgc3ViY2xhc3Mgb2YgX3NvY2tldC5zb2NrZXQgYWRkaW5nIHRoZSBtYWtlZmlsZSgpIG1ldGhvZC4iIiIKQEAgLTE0MSw3ICsxNDksNyBAQAogICAgICAgICBjbG9zZWQgPSBnZXRhdHRyKHNlbGYsICdfY2xvc2VkJywgRmFsc2UpCiAgICAgICAgIHMgPSAiPCVzLiVzJXMgZmQ9JWksIGZhbWlseT0lcywgdHlwZT0lcywgcHJvdG89JWkiIFwKICAgICAgICAgICAgICUgKHNlbGYuX19jbGFzc19fLl9fbW9kdWxlX18sCi0gICAgICAgICAgICAgICBzZWxmLl9fY2xhc3NfXy5fX25hbWVfXywKKyAgICAgICAgICAgICAgIHNlbGYuX19jbGFzc19fLl9fcXVhbG5hbWVfXywKICAgICAgICAgICAgICAgICIgW2Nsb3NlZF0iIGlmIGNsb3NlZCBlbHNlICIiLAogICAgICAgICAgICAgICAgc2VsZi5maWxlbm8oKSwKICAgICAgICAgICAgICAgIHNlbGYuZmFtaWx5LApAQCAtMjM1LDYgKzI0MywxNDkgQEAKICAgICAgICAgdGV4dC5tb2RlID0gbW9kZQogICAgICAgICByZXR1cm4gdGV4dAogCisgICAgaWYgaGFzYXR0cihvcywgJ3NlbmRmaWxlJyk6CisKKyAgICAgICAgZGVmIF9zZW5kZmlsZV91c2Vfc2VuZGZpbGUoc2VsZiwgZmlsZSwgb2Zmc2V0PTAsIGNvdW50PU5vbmUpOgorICAgICAgICAgICAgc2VsZi5fY2hlY2tfc2VuZGZpbGVfcGFyYW1zKGZpbGUsIG9mZnNldCwgY291bnQpCisgICAgICAgICAgICBzb2Nrbm8gPSBzZWxmLmZpbGVubygpCisgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgZmlsZW5vID0gZmlsZS5maWxlbm8oKQorICAgICAgICAgICAgZXhjZXB0IChBdHRyaWJ1dGVFcnJvciwgaW8uVW5zdXBwb3J0ZWRPcGVyYXRpb24pIGFzIGVycjoKKyAgICAgICAgICAgICAgICByYWlzZSBfR2l2ZXVwT25TZW5kZmlsZShlcnIpICAjIG5vdCBhIHJlZ3VsYXIgZmlsZQorICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgIGZzaXplID0gb3MuZnN0YXQoZmlsZW5vKS5zdF9zaXplCisgICAgICAgICAgICBleGNlcHQgT1NFcnJvcjoKKyAgICAgICAgICAgICAgICByYWlzZSBfR2l2ZXVwT25TZW5kZmlsZShlcnIpICAjIG5vdCBhIHJlZ3VsYXIgZmlsZQorICAgICAgICAgICAgaWYgbm90IGZzaXplOgorICAgICAgICAgICAgICAgIHJldHVybiAwICAjIGVtcHR5IGZpbGUKKyAgICAgICAgICAgIGJsb2Nrc2l6ZSA9IGZzaXplIGlmIG5vdCBjb3VudCBlbHNlIGNvdW50CisKKyAgICAgICAgICAgIHRpbWVvdXQgPSBzZWxmLmdldHRpbWVvdXQoKQorICAgICAgICAgICAgaWYgdGltZW91dCA9PSAwOgorICAgICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoIm5vbi1ibG9ja2luZyBzb2NrZXRzIGFyZSBub3Qgc3VwcG9ydGVkIikKKyAgICAgICAgICAgICMgcG9sbC9zZWxlY3QgaGF2ZSB0aGUgYWR2YW50YWdlIG9mIG5vdCByZXF1aXJpbmcgYW55CisgICAgICAgICAgICAjIGV4dHJhIGZpbGUgZGVzY3JpcHRvciwgY29udHJhcmlseSB0byBlcG9sbC9rcXVldWUKKyAgICAgICAgICAgICMgKGFsc28sIHRoZXkgcmVxdWlyZSBhIHNpbmdsZSBzeXNjYWxsKS4KKyAgICAgICAgICAgIGlmIGhhc2F0dHIoc2VsZWN0b3JzLCAnUG9sbFNlbGVjdG9yJyk6CisgICAgICAgICAgICAgICAgc2VsZWN0b3IgPSBzZWxlY3RvcnMuUG9sbFNlbGVjdG9yKCkKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgc2VsZWN0b3IgPSBzZWxlY3RvcnMuU2VsZWN0U2VsZWN0b3IoKQorICAgICAgICAgICAgc2VsZWN0b3IucmVnaXN0ZXIoc29ja25vLCBzZWxlY3RvcnMuRVZFTlRfV1JJVEUpCisKKyAgICAgICAgICAgIHRvdGFsX3NlbnQgPSAwCisgICAgICAgICAgICAjIGxvY2FsaXplIHZhcmlhYmxlIGFjY2VzcyB0byBtaW5pbWl6ZSBvdmVyaGVhZAorICAgICAgICAgICAgc2VsZWN0b3Jfc2VsZWN0ID0gc2VsZWN0b3Iuc2VsZWN0CisgICAgICAgICAgICBvc19zZW5kZmlsZSA9IG9zLnNlbmRmaWxlCisgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgd2hpbGUgVHJ1ZToKKyAgICAgICAgICAgICAgICAgICAgaWYgdGltZW91dCBhbmQgbm90IHNlbGVjdG9yX3NlbGVjdCh0aW1lb3V0KToKKyAgICAgICAgICAgICAgICAgICAgICAgIHJhaXNlIF9zb2NrZXQudGltZW91dCgndGltZWQgb3V0JykKKyAgICAgICAgICAgICAgICAgICAgaWYgY291bnQ6CisgICAgICAgICAgICAgICAgICAgICAgICBibG9ja3NpemUgPSBjb3VudCAtIHRvdGFsX3NlbnQKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIGJsb2Nrc2l6ZSA8PSAwOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrCisgICAgICAgICAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICAgICAgICAgIHNlbnQgPSBvc19zZW5kZmlsZShzb2Nrbm8sIGZpbGVubywgb2Zmc2V0LCBibG9ja3NpemUpCisgICAgICAgICAgICAgICAgICAgIGV4Y2VwdCBCbG9ja2luZ0lPRXJyb3I6CisgICAgICAgICAgICAgICAgICAgICAgICBpZiBub3QgdGltZW91dDoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIEJsb2NrIHVudGlsIHRoZSBzb2NrZXQgaXMgcmVhZHkgdG8gc2VuZCBzb21lCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBkYXRhOyBhdm9pZHMgaG9nZ2luZyBDUFUgcmVzb3VyY2VzLgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdG9yX3NlbGVjdCgpCisgICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZQorICAgICAgICAgICAgICAgICAgICBleGNlcHQgT1NFcnJvciBhcyBlcnI6CisgICAgICAgICAgICAgICAgICAgICAgICBpZiB0b3RhbF9zZW50ID09IDA6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBXZSBjYW4gZ2V0IGhlcmUgZm9yIGRpZmZlcmVudCByZWFzb25zLCB0aGUgbWFpbgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgb25lIGJlaW5nICdmaWxlJyBpcyBub3QgYSByZWd1bGFyIG1tYXAoMiktbGlrZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgZmlsZSwgaW4gd2hpY2ggY2FzZSB3ZSdsbCBmYWxsIGJhY2sgb24gdXNpbmcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIHBsYWluIHNlbmQoKS4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICByYWlzZSBfR2l2ZXVwT25TZW5kZmlsZShlcnIpCisgICAgICAgICAgICAgICAgICAgICAgICByYWlzZSBlcnIgZnJvbSBOb25lCisgICAgICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgICAgICBpZiBzZW50ID09IDA6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWsgICMgRU9GCisgICAgICAgICAgICAgICAgICAgICAgICBvZmZzZXQgKz0gc2VudAorICAgICAgICAgICAgICAgICAgICAgICAgdG90YWxfc2VudCArPSBzZW50CisgICAgICAgICAgICAgICAgcmV0dXJuIHRvdGFsX3NlbnQKKyAgICAgICAgICAgIGZpbmFsbHk6CisgICAgICAgICAgICAgICAgaWYgdG90YWxfc2VudCA+IDAgYW5kIGhhc2F0dHIoZmlsZSwgJ3NlZWsnKToKKyAgICAgICAgICAgICAgICAgICAgZmlsZS5zZWVrKG9mZnNldCkKKyAgICBlbHNlOgorICAgICAgICBkZWYgX3NlbmRmaWxlX3VzZV9zZW5kZmlsZShzZWxmLCBmaWxlLCBvZmZzZXQ9MCwgY291bnQ9Tm9uZSk6CisgICAgICAgICAgICByYWlzZSBfR2l2ZXVwT25TZW5kZmlsZSgKKyAgICAgICAgICAgICAgICAib3Muc2VuZGZpbGUoKSBub3QgYXZhaWxhYmxlIG9uIHRoaXMgcGxhdGZvcm0iKQorCisgICAgZGVmIF9zZW5kZmlsZV91c2Vfc2VuZChzZWxmLCBmaWxlLCBvZmZzZXQ9MCwgY291bnQ9Tm9uZSk6CisgICAgICAgIHNlbGYuX2NoZWNrX3NlbmRmaWxlX3BhcmFtcyhmaWxlLCBvZmZzZXQsIGNvdW50KQorICAgICAgICBpZiBzZWxmLmdldHRpbWVvdXQoKSA9PSAwOgorICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigibm9uLWJsb2NraW5nIHNvY2tldHMgYXJlIG5vdCBzdXBwb3J0ZWQiKQorICAgICAgICBpZiBvZmZzZXQ6CisgICAgICAgICAgICBmaWxlLnNlZWsob2Zmc2V0KQorICAgICAgICBibG9ja3NpemUgPSBtaW4oY291bnQsIDgxOTIpIGlmIGNvdW50IGVsc2UgODE5MgorICAgICAgICB0b3RhbF9zZW50ID0gMAorICAgICAgICAjIGxvY2FsaXplIHZhcmlhYmxlIGFjY2VzcyB0byBtaW5pbWl6ZSBvdmVyaGVhZAorICAgICAgICBmaWxlX3JlYWQgPSBmaWxlLnJlYWQKKyAgICAgICAgc29ja19zZW5kID0gc2VsZi5zZW5kCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHdoaWxlIFRydWU6CisgICAgICAgICAgICAgICAgaWYgY291bnQ6CisgICAgICAgICAgICAgICAgICAgIGJsb2Nrc2l6ZSA9IG1pbihjb3VudCAtIHRvdGFsX3NlbnQsIGJsb2Nrc2l6ZSkKKyAgICAgICAgICAgICAgICAgICAgaWYgYmxvY2tzaXplIDw9IDA6CisgICAgICAgICAgICAgICAgICAgICAgICBicmVhaworICAgICAgICAgICAgICAgIGRhdGEgPSBtZW1vcnl2aWV3KGZpbGVfcmVhZChibG9ja3NpemUpKQorICAgICAgICAgICAgICAgIGlmIG5vdCBkYXRhOgorICAgICAgICAgICAgICAgICAgICBicmVhayAgIyBFT0YKKyAgICAgICAgICAgICAgICB3aGlsZSBUcnVlOgorICAgICAgICAgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgICAgICAgICBzZW50ID0gc29ja19zZW5kKGRhdGEpCisgICAgICAgICAgICAgICAgICAgIGV4Y2VwdCBCbG9ja2luZ0lPRXJyb3I6CisgICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZQorICAgICAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICAgICAgdG90YWxfc2VudCArPSBzZW50CisgICAgICAgICAgICAgICAgICAgICAgICBpZiBzZW50IDwgbGVuKGRhdGEpOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEgPSBkYXRhW3NlbnQ6XQorICAgICAgICAgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaworICAgICAgICAgICAgcmV0dXJuIHRvdGFsX3NlbnQKKyAgICAgICAgZmluYWxseToKKyAgICAgICAgICAgIGlmIHRvdGFsX3NlbnQgPiAwIGFuZCBoYXNhdHRyKGZpbGUsICdzZWVrJyk6CisgICAgICAgICAgICAgICAgZmlsZS5zZWVrKG9mZnNldCArIHRvdGFsX3NlbnQpCisKKyAgICBkZWYgX2NoZWNrX3NlbmRmaWxlX3BhcmFtcyhzZWxmLCBmaWxlLCBvZmZzZXQsIGNvdW50KToKKyAgICAgICAgaWYgJ2InIG5vdCBpbiBnZXRhdHRyKGZpbGUsICdtb2RlJywgJ2InKToKKyAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoImZpbGUgc2hvdWxkIGJlIG9wZW5lZCBpbiBiaW5hcnkgbW9kZSIpCisgICAgICAgIGlmIG5vdCBzZWxmLnR5cGUgJiBTT0NLX1NUUkVBTToKKyAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoIm9ubHkgU09DS19TVFJFQU0gdHlwZSBzb2NrZXRzIGFyZSBzdXBwb3J0ZWQiKQorICAgICAgICBpZiBjb3VudCBpcyBub3QgTm9uZToKKyAgICAgICAgICAgIGlmIG5vdCBpc2luc3RhbmNlKGNvdW50LCBpbnQpOgorICAgICAgICAgICAgICAgIHJhaXNlIFR5cGVFcnJvcigKKyAgICAgICAgICAgICAgICAgICAgImNvdW50IG11c3QgYmUgYSBwb3NpdGl2ZSBpbnRlZ2VyIChnb3QgeyFyfSkiLmZvcm1hdChjb3VudCkpCisgICAgICAgICAgICBpZiBjb3VudCA8PSAwOgorICAgICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoCisgICAgICAgICAgICAgICAgICAgICJjb3VudCBtdXN0IGJlIGEgcG9zaXRpdmUgaW50ZWdlciAoZ290IHshcn0pIi5mb3JtYXQoY291bnQpKQorCisgICAgZGVmIHNlbmRmaWxlKHNlbGYsIGZpbGUsIG9mZnNldD0wLCBjb3VudD1Ob25lKToKKyAgICAgICAgIiIic2VuZGZpbGUoZmlsZVssIG9mZnNldFssIGNvdW50XV0pIC0+IHNlbnQKKworICAgICAgICBTZW5kIGEgZmlsZSB1bnRpbCBFT0YgaXMgcmVhY2hlZCBieSB1c2luZyBoaWdoLXBlcmZvcm1hbmNlCisgICAgICAgIG9zLnNlbmRmaWxlKCkgYW5kIHJldHVybiB0aGUgdG90YWwgbnVtYmVyIG9mIGJ5dGVzIHdoaWNoCisgICAgICAgIHdlcmUgc2VudC4KKyAgICAgICAgKmZpbGUqIG11c3QgYmUgYSByZWd1bGFyIGZpbGUgb2JqZWN0IG9wZW5lZCBpbiBiaW5hcnkgbW9kZS4KKyAgICAgICAgSWYgb3Muc2VuZGZpbGUoKSBpcyBub3QgYXZhaWxhYmxlIChlLmcuIFdpbmRvd3MpIG9yIGZpbGUgaXMKKyAgICAgICAgbm90IGEgcmVndWxhciBmaWxlIHNvY2tldC5zZW5kKCkgd2lsbCBiZSB1c2VkIGluc3RlYWQuCisgICAgICAgICpvZmZzZXQqIHRlbGxzIGZyb20gd2hlcmUgdG8gc3RhcnQgcmVhZGluZyB0aGUgZmlsZS4KKyAgICAgICAgSWYgc3BlY2lmaWVkLCAqY291bnQqIGlzIHRoZSB0b3RhbCBudW1iZXIgb2YgYnl0ZXMgdG8gdHJhbnNtaXQKKyAgICAgICAgYXMgb3Bwb3NlZCB0byBzZW5kaW5nIHRoZSBmaWxlIHVudGlsIEVPRiBpcyByZWFjaGVkLgorICAgICAgICBGaWxlIHBvc2l0aW9uIGlzIHVwZGF0ZWQgb24gcmV0dXJuIG9yIGFsc28gaW4gY2FzZSBvZiBlcnJvciBpbgorICAgICAgICB3aGljaCBjYXNlIGZpbGUudGVsbCgpIGNhbiBiZSB1c2VkIHRvIGZpZ3VyZSBvdXQgdGhlIG51bWJlciBvZgorICAgICAgICBieXRlcyB3aGljaCB3ZXJlIHNlbnQuCisgICAgICAgIFRoZSBzb2NrZXQgbXVzdCBiZSBvZiBTT0NLX1NUUkVBTSB0eXBlLgorICAgICAgICBOb24tYmxvY2tpbmcgc29ja2V0cyBhcmUgbm90IHN1cHBvcnRlZC4KKyAgICAgICAgIiIiCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHJldHVybiBzZWxmLl9zZW5kZmlsZV91c2Vfc2VuZGZpbGUoZmlsZSwgb2Zmc2V0LCBjb3VudCkKKyAgICAgICAgZXhjZXB0IF9HaXZldXBPblNlbmRmaWxlOgorICAgICAgICAgICAgcmV0dXJuIHNlbGYuX3NlbmRmaWxlX3VzZV9zZW5kKGZpbGUsIG9mZnNldCwgY291bnQpCisKICAgICBkZWYgX2RlY3JlZl9zb2NrZXRpb3Moc2VsZik6CiAgICAgICAgIGlmIHNlbGYuX2lvX3JlZnMgPiAwOgogICAgICAgICAgICAgc2VsZi5faW9fcmVmcyAtPSAxCkBAIC0zMjUsNiArNDc2LDUyIEBACiAgICAgICAgIGIgPSBzb2NrZXQoZmFtaWx5LCB0eXBlLCBwcm90bywgYi5kZXRhY2goKSkKICAgICAgICAgcmV0dXJuIGEsIGIKIAorZWxzZToKKworICAgICMgT3JpZ2luOiBodHRwczovL2dpc3QuZ2l0aHViLmNvbS80MzI1NzgzLCBieSBHZWVydCBKYW5zZW4uICBQdWJsaWMgZG9tYWluLgorICAgIGRlZiBzb2NrZXRwYWlyKGZhbWlseT1BRl9JTkVULCB0eXBlPVNPQ0tfU1RSRUFNLCBwcm90bz0wKToKKyAgICAgICAgaWYgZmFtaWx5ID09IEFGX0lORVQ6CisgICAgICAgICAgICBob3N0ID0gX0xPQ0FMSE9TVAorICAgICAgICBlbGlmIGZhbWlseSA9PSBBRl9JTkVUNjoKKyAgICAgICAgICAgIGhvc3QgPSBfTE9DQUxIT1NUX1Y2CisgICAgICAgIGVsc2U6CisgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJPbmx5IEFGX0lORVQgYW5kIEFGX0lORVQ2IHNvY2tldCBhZGRyZXNzIGZhbWlsaWVzICIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImFyZSBzdXBwb3J0ZWQiKQorICAgICAgICBpZiB0eXBlICE9IFNPQ0tfU1RSRUFNOgorICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigiT25seSBTT0NLX1NUUkVBTSBzb2NrZXQgdHlwZSBpcyBzdXBwb3J0ZWQiKQorICAgICAgICBpZiBwcm90byAhPSAwOgorICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigiT25seSBwcm90b2NvbCB6ZXJvIGlzIHN1cHBvcnRlZCIpCisKKyAgICAgICAgIyBXZSBjcmVhdGUgYSBjb25uZWN0ZWQgVENQIHNvY2tldC4gTm90ZSB0aGUgdHJpY2sgd2l0aAorICAgICAgICAjIHNldGJsb2NraW5nKEZhbHNlKSB0aGF0IHByZXZlbnRzIHVzIGZyb20gaGF2aW5nIHRvIGNyZWF0ZSBhIHRocmVhZC4KKyAgICAgICAgbHNvY2sgPSBzb2NrZXQoZmFtaWx5LCB0eXBlLCBwcm90bykKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgbHNvY2suYmluZCgoaG9zdCwgMCkpCisgICAgICAgICAgICBsc29jay5saXN0ZW4oKQorICAgICAgICAgICAgIyBPbiBJUHY2LCBpZ25vcmUgZmxvd19pbmZvIGFuZCBzY29wZV9pZAorICAgICAgICAgICAgYWRkciwgcG9ydCA9IGxzb2NrLmdldHNvY2tuYW1lKClbOjJdCisgICAgICAgICAgICBjc29jayA9IHNvY2tldChmYW1pbHksIHR5cGUsIHByb3RvKQorICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgIGNzb2NrLnNldGJsb2NraW5nKEZhbHNlKQorICAgICAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICAgICAgY3NvY2suY29ubmVjdCgoYWRkciwgcG9ydCkpCisgICAgICAgICAgICAgICAgZXhjZXB0IChCbG9ja2luZ0lPRXJyb3IsIEludGVycnVwdGVkRXJyb3IpOgorICAgICAgICAgICAgICAgICAgICBwYXNzCisgICAgICAgICAgICAgICAgY3NvY2suc2V0YmxvY2tpbmcoVHJ1ZSkKKyAgICAgICAgICAgICAgICBzc29jaywgXyA9IGxzb2NrLmFjY2VwdCgpCisgICAgICAgICAgICBleGNlcHQ6CisgICAgICAgICAgICAgICAgY3NvY2suY2xvc2UoKQorICAgICAgICAgICAgICAgIHJhaXNlCisgICAgICAgIGZpbmFsbHk6CisgICAgICAgICAgICBsc29jay5jbG9zZSgpCisgICAgICAgIHJldHVybiAoc3NvY2ssIGNzb2NrKQorCitzb2NrZXRwYWlyLl9fZG9jX18gPSAiIiJzb2NrZXRwYWlyKFtmYW1pbHlbLCB0eXBlWywgcHJvdG9dXV0pIC0+IChzb2NrZXQgb2JqZWN0LCBzb2NrZXQgb2JqZWN0KQorQ3JlYXRlIGEgcGFpciBvZiBzb2NrZXQgb2JqZWN0cyBmcm9tIHRoZSBzb2NrZXRzIHJldHVybmVkIGJ5IHRoZSBwbGF0Zm9ybQorc29ja2V0cGFpcigpIGZ1bmN0aW9uLgorVGhlIGFyZ3VtZW50cyBhcmUgdGhlIHNhbWUgYXMgZm9yIHNvY2tldCgpIGV4Y2VwdCB0aGUgZGVmYXVsdCBmYW1pbHkgaXMgQUZfVU5JWAoraWYgZGVmaW5lZCBvbiB0aGUgcGxhdGZvcm07IG90aGVyd2lzZSwgdGhlIGRlZmF1bHQgaXMgQUZfSU5FVC4KKyIiIgogCiBfYmxvY2tpbmdfZXJybm9zID0geyBFQUdBSU4sIEVXT1VMREJMT0NLIH0KIApAQCAtMzc1LDggKzU3Miw2IEBACiAgICAgICAgICAgICBleGNlcHQgdGltZW91dDoKICAgICAgICAgICAgICAgICBzZWxmLl90aW1lb3V0X29jY3VycmVkID0gVHJ1ZQogICAgICAgICAgICAgICAgIHJhaXNlCi0gICAgICAgICAgICBleGNlcHQgSW50ZXJydXB0ZWRFcnJvcjoKLSAgICAgICAgICAgICAgICBjb250aW51ZQogICAgICAgICAgICAgZXhjZXB0IGVycm9yIGFzIGU6CiAgICAgICAgICAgICAgICAgaWYgZS5hcmdzWzBdIGluIF9ibG9ja2luZ19lcnJub3M6CiAgICAgICAgICAgICAgICAgICAgIHJldHVybiBOb25lCmRpZmYgLS1naXQgYS9MaWIvc29ja2V0c2VydmVyLnB5IGIvTGliL3NvY2tldHNlcnZlci5weQppbmRleCA1Y2I4OWJlLi4wY2U4ZTgxIDEwMDY0NAotLS0gYS9MaWIvc29ja2V0c2VydmVyLnB5CisrKyBiL0xpYi9zb2NrZXRzZXJ2ZXIucHkKQEAgLTk0LDcgKzk0LDcgQEAKIEFub3RoZXIgYXBwcm9hY2ggdG8gaGFuZGxpbmcgbXVsdGlwbGUgc2ltdWx0YW5lb3VzIHJlcXVlc3RzIGluIGFuCiBlbnZpcm9ubWVudCB0aGF0IHN1cHBvcnRzIG5laXRoZXIgdGhyZWFkcyBub3IgZm9yayAob3Igd2hlcmUgdGhlc2UgYXJlCiB0b28gZXhwZW5zaXZlIG9yIGluYXBwcm9wcmlhdGUgZm9yIHRoZSBzZXJ2aWNlKSBpcyB0byBtYWludGFpbiBhbgotZXhwbGljaXQgdGFibGUgb2YgcGFydGlhbGx5IGZpbmlzaGVkIHJlcXVlc3RzIGFuZCB0byB1c2Ugc2VsZWN0KCkgdG8KK2V4cGxpY2l0IHRhYmxlIG9mIHBhcnRpYWxseSBmaW5pc2hlZCByZXF1ZXN0cyBhbmQgdG8gdXNlIGEgc2VsZWN0b3IgdG8KIGRlY2lkZSB3aGljaCByZXF1ZXN0IHRvIHdvcmsgb24gbmV4dCAob3Igd2hldGhlciB0byBoYW5kbGUgYSBuZXcKIGluY29taW5nIHJlcXVlc3QpLiAgVGhpcyBpcyBwYXJ0aWN1bGFybHkgaW1wb3J0YW50IGZvciBzdHJlYW0gc2VydmljZXMKIHdoZXJlIGVhY2ggY2xpZW50IGNhbiBwb3RlbnRpYWxseSBiZSBjb25uZWN0ZWQgZm9yIGEgbG9uZyB0aW1lIChpZgpAQCAtMTA0LDcgKzEwNCw2IEBACiAtIFN0YW5kYXJkIGNsYXNzZXMgZm9yIFN1biBSUEMgKHdoaWNoIHVzZXMgZWl0aGVyIFVEUCBvciBUQ1ApCiAtIFN0YW5kYXJkIG1peC1pbiBjbGFzc2VzIHRvIGltcGxlbWVudCB2YXJpb3VzIGF1dGhlbnRpY2F0aW9uCiAgIGFuZCBlbmNyeXB0aW9uIHNjaGVtZXMKLS0gU3RhbmRhcmQgZnJhbWV3b3JrIGZvciBzZWxlY3QtYmFzZWQgbXVsdGlwbGV4aW5nCiAKIFhYWCBPcGVuIHByb2JsZW1zOgogLSBXaGF0IHRvIGRvIHdpdGggb3V0LW9mLWJhbmQgZGF0YT8KQEAgLTEzMCwxMyArMTI5LDE0IEBACiAKIAogaW1wb3J0IHNvY2tldAotaW1wb3J0IHNlbGVjdAoraW1wb3J0IHNlbGVjdG9ycwogaW1wb3J0IG9zCiBpbXBvcnQgZXJybm8KIHRyeToKICAgICBpbXBvcnQgdGhyZWFkaW5nCiBleGNlcHQgSW1wb3J0RXJyb3I6CiAgICAgaW1wb3J0IGR1bW15X3RocmVhZGluZyBhcyB0aHJlYWRpbmcKK2Zyb20gdGltZSBpbXBvcnQgbW9ub3RvbmljIGFzIHRpbWUKIAogX19hbGxfXyA9IFsiQmFzZVNlcnZlciIsICJUQ1BTZXJ2ZXIiLCAiVURQU2VydmVyIiwgIkZvcmtpbmdVRFBTZXJ2ZXIiLAogICAgICAgICAgICAiRm9ya2luZ1RDUFNlcnZlciIsICJUaHJlYWRpbmdVRFBTZXJ2ZXIiLCAiVGhyZWFkaW5nVENQU2VydmVyIiwKQEAgLTE0NywxNCArMTQ3LDEzIEBACiAgICAgICAgICAgICAgICAgICAgICJUaHJlYWRpbmdVbml4U3RyZWFtU2VydmVyIiwKICAgICAgICAgICAgICAgICAgICAgIlRocmVhZGluZ1VuaXhEYXRhZ3JhbVNlcnZlciJdKQogCi1kZWYgX2VpbnRyX3JldHJ5KGZ1bmMsICphcmdzKToKLSAgICAiIiJyZXN0YXJ0IGEgc3lzdGVtIGNhbGwgaW50ZXJydXB0ZWQgYnkgRUlOVFIiIiIKLSAgICB3aGlsZSBUcnVlOgotICAgICAgICB0cnk6Ci0gICAgICAgICAgICByZXR1cm4gZnVuYygqYXJncykKLSAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgZToKLSAgICAgICAgICAgIGlmIGUuZXJybm8gIT0gZXJybm8uRUlOVFI6Ci0gICAgICAgICAgICAgICAgcmFpc2UKKyMgcG9sbC9zZWxlY3QgaGF2ZSB0aGUgYWR2YW50YWdlIG9mIG5vdCByZXF1aXJpbmcgYW55IGV4dHJhIGZpbGUgZGVzY3JpcHRvciwKKyMgY29udHJhcmlseSB0byBlcG9sbC9rcXVldWUgKGFsc28sIHRoZXkgcmVxdWlyZSBhIHNpbmdsZSBzeXNjYWxsKS4KK2lmIGhhc2F0dHIoc2VsZWN0b3JzLCAnUG9sbFNlbGVjdG9yJyk6CisgICAgX1NlcnZlclNlbGVjdG9yID0gc2VsZWN0b3JzLlBvbGxTZWxlY3RvcgorZWxzZToKKyAgICBfU2VydmVyU2VsZWN0b3IgPSBzZWxlY3RvcnMuU2VsZWN0U2VsZWN0b3IKKwogCiBjbGFzcyBCYXNlU2VydmVyOgogCkBAIC0xNjYsNyArMTY1LDcgQEAKICAgICAtIHNlcnZlX2ZvcmV2ZXIocG9sbF9pbnRlcnZhbD0wLjUpCiAgICAgLSBzaHV0ZG93bigpCiAgICAgLSBoYW5kbGVfcmVxdWVzdCgpICAjIGlmIHlvdSBkbyBub3QgdXNlIHNlcnZlX2ZvcmV2ZXIoKQotICAgIC0gZmlsZW5vKCkgLT4gaW50ICAgIyBmb3Igc2VsZWN0KCkKKyAgICAtIGZpbGVubygpIC0+IGludCAgICMgZm9yIHNlbGVjdG9yCiAKICAgICBNZXRob2RzIHRoYXQgbWF5IGJlIG92ZXJyaWRkZW46CiAKQEAgLTIyNywxNyArMjI2LDE5IEBACiAgICAgICAgICIiIgogICAgICAgICBzZWxmLl9faXNfc2h1dF9kb3duLmNsZWFyKCkKICAgICAgICAgdHJ5OgotICAgICAgICAgICAgd2hpbGUgbm90IHNlbGYuX19zaHV0ZG93bl9yZXF1ZXN0OgotICAgICAgICAgICAgICAgICMgWFhYOiBDb25zaWRlciB1c2luZyBhbm90aGVyIGZpbGUgZGVzY3JpcHRvciBvcgotICAgICAgICAgICAgICAgICMgY29ubmVjdGluZyB0byB0aGUgc29ja2V0IHRvIHdha2UgdGhpcyB1cCBpbnN0ZWFkIG9mCi0gICAgICAgICAgICAgICAgIyBwb2xsaW5nLiBQb2xsaW5nIHJlZHVjZXMgb3VyIHJlc3BvbnNpdmVuZXNzIHRvIGEKLSAgICAgICAgICAgICAgICAjIHNodXRkb3duIHJlcXVlc3QgYW5kIHdhc3RlcyBjcHUgYXQgYWxsIG90aGVyIHRpbWVzLgotICAgICAgICAgICAgICAgIHIsIHcsIGUgPSBfZWludHJfcmV0cnkoc2VsZWN0LnNlbGVjdCwgW3NlbGZdLCBbXSwgW10sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb2xsX2ludGVydmFsKQotICAgICAgICAgICAgICAgIGlmIHNlbGYgaW4gcjoKLSAgICAgICAgICAgICAgICAgICAgc2VsZi5faGFuZGxlX3JlcXVlc3Rfbm9ibG9jaygpCisgICAgICAgICAgICAjIFhYWDogQ29uc2lkZXIgdXNpbmcgYW5vdGhlciBmaWxlIGRlc2NyaXB0b3Igb3IgY29ubmVjdGluZyB0byB0aGUKKyAgICAgICAgICAgICMgc29ja2V0IHRvIHdha2UgdGhpcyB1cCBpbnN0ZWFkIG9mIHBvbGxpbmcuIFBvbGxpbmcgcmVkdWNlcyBvdXIKKyAgICAgICAgICAgICMgcmVzcG9uc2l2ZW5lc3MgdG8gYSBzaHV0ZG93biByZXF1ZXN0IGFuZCB3YXN0ZXMgY3B1IGF0IGFsbCBvdGhlcgorICAgICAgICAgICAgIyB0aW1lcy4KKyAgICAgICAgICAgIHdpdGggX1NlcnZlclNlbGVjdG9yKCkgYXMgc2VsZWN0b3I6CisgICAgICAgICAgICAgICAgc2VsZWN0b3IucmVnaXN0ZXIoc2VsZiwgc2VsZWN0b3JzLkVWRU5UX1JFQUQpCiAKLSAgICAgICAgICAgICAgICBzZWxmLnNlcnZpY2VfYWN0aW9ucygpCisgICAgICAgICAgICAgICAgd2hpbGUgbm90IHNlbGYuX19zaHV0ZG93bl9yZXF1ZXN0OgorICAgICAgICAgICAgICAgICAgICByZWFkeSA9IHNlbGVjdG9yLnNlbGVjdChwb2xsX2ludGVydmFsKQorICAgICAgICAgICAgICAgICAgICBpZiByZWFkeToKKyAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX2hhbmRsZV9yZXF1ZXN0X25vYmxvY2soKQorCisgICAgICAgICAgICAgICAgICAgIHNlbGYuc2VydmljZV9hY3Rpb25zKCkKICAgICAgICAgZmluYWxseToKICAgICAgICAgICAgIHNlbGYuX19zaHV0ZG93bl9yZXF1ZXN0ID0gRmFsc2UKICAgICAgICAgICAgIHNlbGYuX19pc19zaHV0X2Rvd24uc2V0KCkKQEAgLTI2MCwxNiArMjYxLDE2IEBACiAgICAgICAgICIiIgogICAgICAgICBwYXNzCiAKLSAgICAjIFRoZSBkaXN0aW5jdGlvbiBiZXR3ZWVuIGhhbmRsaW5nLCBnZXR0aW5nLCBwcm9jZXNzaW5nIGFuZAotICAgICMgZmluaXNoaW5nIGEgcmVxdWVzdCBpcyBmYWlybHkgYXJiaXRyYXJ5LiAgUmVtZW1iZXI6CisgICAgIyBUaGUgZGlzdGluY3Rpb24gYmV0d2VlbiBoYW5kbGluZywgZ2V0dGluZywgcHJvY2Vzc2luZyBhbmQgZmluaXNoaW5nIGEKKyAgICAjIHJlcXVlc3QgaXMgZmFpcmx5IGFyYml0cmFyeS4gIFJlbWVtYmVyOgogICAgICMKLSAgICAjIC0gaGFuZGxlX3JlcXVlc3QoKSBpcyB0aGUgdG9wLWxldmVsIGNhbGwuICBJdCBjYWxscwotICAgICMgICBzZWxlY3QsIGdldF9yZXF1ZXN0KCksIHZlcmlmeV9yZXF1ZXN0KCkgYW5kIHByb2Nlc3NfcmVxdWVzdCgpCisgICAgIyAtIGhhbmRsZV9yZXF1ZXN0KCkgaXMgdGhlIHRvcC1sZXZlbCBjYWxsLiAgSXQgY2FsbHMgc2VsZWN0b3Iuc2VsZWN0KCksCisgICAgIyAgIGdldF9yZXF1ZXN0KCksIHZlcmlmeV9yZXF1ZXN0KCkgYW5kIHByb2Nlc3NfcmVxdWVzdCgpCiAgICAgIyAtIGdldF9yZXF1ZXN0KCkgaXMgZGlmZmVyZW50IGZvciBzdHJlYW0gb3IgZGF0YWdyYW0gc29ja2V0cwotICAgICMgLSBwcm9jZXNzX3JlcXVlc3QoKSBpcyB0aGUgcGxhY2UgdGhhdCBtYXkgZm9yayBhIG5ldyBwcm9jZXNzCi0gICAgIyAgIG9yIGNyZWF0ZSBhIG5ldyB0aHJlYWQgdG8gZmluaXNoIHRoZSByZXF1ZXN0Ci0gICAgIyAtIGZpbmlzaF9yZXF1ZXN0KCkgaW5zdGFudGlhdGVzIHRoZSByZXF1ZXN0IGhhbmRsZXIgY2xhc3M7Ci0gICAgIyAgIHRoaXMgY29uc3RydWN0b3Igd2lsbCBoYW5kbGUgdGhlIHJlcXVlc3QgYWxsIGJ5IGl0c2VsZgorICAgICMgLSBwcm9jZXNzX3JlcXVlc3QoKSBpcyB0aGUgcGxhY2UgdGhhdCBtYXkgZm9yayBhIG5ldyBwcm9jZXNzIG9yIGNyZWF0ZSBhCisgICAgIyAgIG5ldyB0aHJlYWQgdG8gZmluaXNoIHRoZSByZXF1ZXN0CisgICAgIyAtIGZpbmlzaF9yZXF1ZXN0KCkgaW5zdGFudGlhdGVzIHRoZSByZXF1ZXN0IGhhbmRsZXIgY2xhc3M7IHRoaXMKKyAgICAjICAgY29uc3RydWN0b3Igd2lsbCBoYW5kbGUgdGhlIHJlcXVlc3QgYWxsIGJ5IGl0c2VsZgogCiAgICAgZGVmIGhhbmRsZV9yZXF1ZXN0KHNlbGYpOgogICAgICAgICAiIiJIYW5kbGUgb25lIHJlcXVlc3QsIHBvc3NpYmx5IGJsb2NraW5nLgpAQCAtMjgzLDE4ICsyODQsMzAgQEAKICAgICAgICAgICAgIHRpbWVvdXQgPSBzZWxmLnRpbWVvdXQKICAgICAgICAgZWxpZiBzZWxmLnRpbWVvdXQgaXMgbm90IE5vbmU6CiAgICAgICAgICAgICB0aW1lb3V0ID0gbWluKHRpbWVvdXQsIHNlbGYudGltZW91dCkKLSAgICAgICAgZmRfc2V0cyA9IF9laW50cl9yZXRyeShzZWxlY3Quc2VsZWN0LCBbc2VsZl0sIFtdLCBbXSwgdGltZW91dCkKLSAgICAgICAgaWYgbm90IGZkX3NldHNbMF06Ci0gICAgICAgICAgICBzZWxmLmhhbmRsZV90aW1lb3V0KCkKLSAgICAgICAgICAgIHJldHVybgotICAgICAgICBzZWxmLl9oYW5kbGVfcmVxdWVzdF9ub2Jsb2NrKCkKKyAgICAgICAgaWYgdGltZW91dCBpcyBub3QgTm9uZToKKyAgICAgICAgICAgIGRlYWRsaW5lID0gdGltZSgpICsgdGltZW91dAorCisgICAgICAgICMgV2FpdCB1bnRpbCBhIHJlcXVlc3QgYXJyaXZlcyBvciB0aGUgdGltZW91dCBleHBpcmVzIC0gdGhlIGxvb3AgaXMKKyAgICAgICAgIyBuZWNlc3NhcnkgdG8gYWNjb21tb2RhdGUgZWFybHkgd2FrZXVwcyBkdWUgdG8gRUlOVFIuCisgICAgICAgIHdpdGggX1NlcnZlclNlbGVjdG9yKCkgYXMgc2VsZWN0b3I6CisgICAgICAgICAgICBzZWxlY3Rvci5yZWdpc3RlcihzZWxmLCBzZWxlY3RvcnMuRVZFTlRfUkVBRCkKKworICAgICAgICAgICAgd2hpbGUgVHJ1ZToKKyAgICAgICAgICAgICAgICByZWFkeSA9IHNlbGVjdG9yLnNlbGVjdCh0aW1lb3V0KQorICAgICAgICAgICAgICAgIGlmIHJlYWR5OgorICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2VsZi5faGFuZGxlX3JlcXVlc3Rfbm9ibG9jaygpCisgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgaWYgdGltZW91dCBpcyBub3QgTm9uZToKKyAgICAgICAgICAgICAgICAgICAgICAgIHRpbWVvdXQgPSBkZWFkbGluZSAtIHRpbWUoKQorICAgICAgICAgICAgICAgICAgICAgICAgaWYgdGltZW91dCA8IDA6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNlbGYuaGFuZGxlX3RpbWVvdXQoKQogCiAgICAgZGVmIF9oYW5kbGVfcmVxdWVzdF9ub2Jsb2NrKHNlbGYpOgogICAgICAgICAiIiJIYW5kbGUgb25lIHJlcXVlc3QsIHdpdGhvdXQgYmxvY2tpbmcuCiAKLSAgICAgICAgSSBhc3N1bWUgdGhhdCBzZWxlY3Quc2VsZWN0IGhhcyByZXR1cm5lZCB0aGF0IHRoZSBzb2NrZXQgaXMKLSAgICAgICAgcmVhZGFibGUgYmVmb3JlIHRoaXMgZnVuY3Rpb24gd2FzIGNhbGxlZCwgc28gdGhlcmUgc2hvdWxkIGJlCi0gICAgICAgIG5vIHJpc2sgb2YgYmxvY2tpbmcgaW4gZ2V0X3JlcXVlc3QoKS4KKyAgICAgICAgSSBhc3N1bWUgdGhhdCBzZWxlY3Rvci5zZWxlY3QoKSBoYXMgcmV0dXJuZWQgdGhhdCB0aGUgc29ja2V0IGlzCisgICAgICAgIHJlYWRhYmxlIGJlZm9yZSB0aGlzIGZ1bmN0aW9uIHdhcyBjYWxsZWQsIHNvIHRoZXJlIHNob3VsZCBiZSBubyByaXNrIG9mCisgICAgICAgIGJsb2NraW5nIGluIGdldF9yZXF1ZXN0KCkuCiAgICAgICAgICIiIgogICAgICAgICB0cnk6CiAgICAgICAgICAgICByZXF1ZXN0LCBjbGllbnRfYWRkcmVzcyA9IHNlbGYuZ2V0X3JlcXVlc3QoKQpAQCAtMzc3LDcgKzM5MCw3IEBACiAgICAgLSBzZXJ2ZV9mb3JldmVyKHBvbGxfaW50ZXJ2YWw9MC41KQogICAgIC0gc2h1dGRvd24oKQogICAgIC0gaGFuZGxlX3JlcXVlc3QoKSAgIyBpZiB5b3UgZG9uJ3QgdXNlIHNlcnZlX2ZvcmV2ZXIoKQotICAgIC0gZmlsZW5vKCkgLT4gaW50ICAgIyBmb3Igc2VsZWN0KCkKKyAgICAtIGZpbGVubygpIC0+IGludCAgICMgZm9yIHNlbGVjdG9yCiAKICAgICBNZXRob2RzIHRoYXQgbWF5IGJlIG92ZXJyaWRkZW46CiAKQEAgLTQ2Myw3ICs0NzYsNyBAQAogICAgIGRlZiBmaWxlbm8oc2VsZik6CiAgICAgICAgICIiIlJldHVybiBzb2NrZXQgZmlsZSBudW1iZXIuCiAKLSAgICAgICAgSW50ZXJmYWNlIHJlcXVpcmVkIGJ5IHNlbGVjdCgpLgorICAgICAgICBJbnRlcmZhY2UgcmVxdWlyZWQgYnkgc2VsZWN0b3IuCiAKICAgICAgICAgIiIiCiAgICAgICAgIHJldHVybiBzZWxmLnNvY2tldC5maWxlbm8oKQpAQCAtNTQwLDggKzU1Myw2IEBACiAgICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICAgcGlkLCBfID0gb3Mud2FpdHBpZCgtMSwgMCkKICAgICAgICAgICAgICAgICBzZWxmLmFjdGl2ZV9jaGlsZHJlbi5kaXNjYXJkKHBpZCkKLSAgICAgICAgICAgIGV4Y2VwdCBJbnRlcnJ1cHRlZEVycm9yOgotICAgICAgICAgICAgICAgIHBhc3MKICAgICAgICAgICAgIGV4Y2VwdCBDaGlsZFByb2Nlc3NFcnJvcjoKICAgICAgICAgICAgICAgICAjIHdlIGRvbid0IGhhdmUgYW55IGNoaWxkcmVuLCB3ZSdyZSBkb25lCiAgICAgICAgICAgICAgICAgc2VsZi5hY3RpdmVfY2hpbGRyZW4uY2xlYXIoKQpkaWZmIC0tZ2l0IGEvTGliL3NyZV9jb21waWxlLnB5IGIvTGliL3NyZV9jb21waWxlLnB5CmluZGV4IDU1MGVhMTUuLjMwYTVmYWUgMTAwNjQ0Ci0tLSBhL0xpYi9zcmVfY29tcGlsZS5weQorKysgYi9MaWIvc3JlX2NvbXBpbGUucHkKQEAgLTEzLDE5ICsxMywxMyBAQAogaW1wb3J0IF9zcmUKIGltcG9ydCBzcmVfcGFyc2UKIGZyb20gc3JlX2NvbnN0YW50cyBpbXBvcnQgKgotZnJvbSBfc3JlIGltcG9ydCBNQVhSRVBFQVQKIAogYXNzZXJ0IF9zcmUuTUFHSUMgPT0gTUFHSUMsICJTUkUgbW9kdWxlIG1pc21hdGNoIgogCi1pZiBfc3JlLkNPREVTSVpFID09IDI6Ci0gICAgTUFYQ09ERSA9IDY1NTM1Ci1lbHNlOgotICAgIE1BWENPREUgPSAweEZGRkZGRkZGCi0KLV9MSVRFUkFMX0NPREVTID0gc2V0KFtMSVRFUkFMLCBOT1RfTElURVJBTF0pCi1fUkVQRUFUSU5HX0NPREVTID0gc2V0KFtSRVBFQVQsIE1JTl9SRVBFQVQsIE1BWF9SRVBFQVRdKQotX1NVQ0NFU1NfQ09ERVMgPSBzZXQoW1NVQ0NFU1MsIEZBSUxVUkVdKQotX0FTU0VSVF9DT0RFUyA9IHNldChbQVNTRVJULCBBU1NFUlRfTk9UXSkKK19MSVRFUkFMX0NPREVTID0ge0xJVEVSQUwsIE5PVF9MSVRFUkFMfQorX1JFUEVBVElOR19DT0RFUyA9IHtSRVBFQVQsIE1JTl9SRVBFQVQsIE1BWF9SRVBFQVR9CitfU1VDQ0VTU19DT0RFUyA9IHtTVUNDRVNTLCBGQUlMVVJFfQorX0FTU0VSVF9DT0RFUyA9IHtBU1NFUlQsIEFTU0VSVF9OT1R9CiAKICMgU2V0cyBvZiBsb3dlcmNhc2UgY2hhcmFjdGVycyB3aGljaCBoYXZlIHRoZSBzYW1lIHVwcGVyY2FzZS4KIF9lcXVpdmFsZW5jZXMgPSAoCkBAIC04Niw3NSArODAsNzUgQEAKICAgICAgICAgICAgIGlmIGZsYWdzICYgU1JFX0ZMQUdfSUdOT1JFQ0FTRToKICAgICAgICAgICAgICAgICBsbyA9IF9zcmUuZ2V0bG93ZXIoYXYsIGZsYWdzKQogICAgICAgICAgICAgICAgIGlmIGZpeGVzIGFuZCBsbyBpbiBmaXhlczoKLSAgICAgICAgICAgICAgICAgICAgZW1pdChPUENPREVTW0lOX0lHTk9SRV0pCisgICAgICAgICAgICAgICAgICAgIGVtaXQoSU5fSUdOT1JFKQogICAgICAgICAgICAgICAgICAgICBza2lwID0gX2xlbihjb2RlKTsgZW1pdCgwKQogICAgICAgICAgICAgICAgICAgICBpZiBvcCBpcyBOT1RfTElURVJBTDoKLSAgICAgICAgICAgICAgICAgICAgICAgIGVtaXQoT1BDT0RFU1tORUdBVEVdKQorICAgICAgICAgICAgICAgICAgICAgICAgZW1pdChORUdBVEUpCiAgICAgICAgICAgICAgICAgICAgIGZvciBrIGluIChsbywpICsgZml4ZXNbbG9dOgotICAgICAgICAgICAgICAgICAgICAgICAgZW1pdChPUENPREVTW0xJVEVSQUxdKQorICAgICAgICAgICAgICAgICAgICAgICAgZW1pdChMSVRFUkFMKQogICAgICAgICAgICAgICAgICAgICAgICAgZW1pdChrKQotICAgICAgICAgICAgICAgICAgICBlbWl0KE9QQ09ERVNbRkFJTFVSRV0pCisgICAgICAgICAgICAgICAgICAgIGVtaXQoRkFJTFVSRSkKICAgICAgICAgICAgICAgICAgICAgY29kZVtza2lwXSA9IF9sZW4oY29kZSkgLSBza2lwCiAgICAgICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICAgICAgZW1pdChPUENPREVTW09QX0lHTk9SRVtvcF1dKQorICAgICAgICAgICAgICAgICAgICBlbWl0KE9QX0lHTk9SRVtvcF0pCiAgICAgICAgICAgICAgICAgICAgIGVtaXQobG8pCiAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIGVtaXQoT1BDT0RFU1tvcF0pCisgICAgICAgICAgICAgICAgZW1pdChvcCkKICAgICAgICAgICAgICAgICBlbWl0KGF2KQogICAgICAgICBlbGlmIG9wIGlzIElOOgogICAgICAgICAgICAgaWYgZmxhZ3MgJiBTUkVfRkxBR19JR05PUkVDQVNFOgotICAgICAgICAgICAgICAgIGVtaXQoT1BDT0RFU1tPUF9JR05PUkVbb3BdXSkKKyAgICAgICAgICAgICAgICBlbWl0KE9QX0lHTk9SRVtvcF0pCiAgICAgICAgICAgICAgICAgZGVmIGZpeHVwKGxpdGVyYWwsIGZsYWdzPWZsYWdzKToKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIF9zcmUuZ2V0bG93ZXIobGl0ZXJhbCwgZmxhZ3MpCiAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIGVtaXQoT1BDT0RFU1tvcF0pCisgICAgICAgICAgICAgICAgZW1pdChvcCkKICAgICAgICAgICAgICAgICBmaXh1cCA9IE5vbmUKICAgICAgICAgICAgIHNraXAgPSBfbGVuKGNvZGUpOyBlbWl0KDApCiAgICAgICAgICAgICBfY29tcGlsZV9jaGFyc2V0KGF2LCBmbGFncywgY29kZSwgZml4dXAsIGZpeGVzKQogICAgICAgICAgICAgY29kZVtza2lwXSA9IF9sZW4oY29kZSkgLSBza2lwCiAgICAgICAgIGVsaWYgb3AgaXMgQU5ZOgogICAgICAgICAgICAgaWYgZmxhZ3MgJiBTUkVfRkxBR19ET1RBTEw6Ci0gICAgICAgICAgICAgICAgZW1pdChPUENPREVTW0FOWV9BTExdKQorICAgICAgICAgICAgICAgIGVtaXQoQU5ZX0FMTCkKICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgZW1pdChPUENPREVTW0FOWV0pCisgICAgICAgICAgICAgICAgZW1pdChBTlkpCiAgICAgICAgIGVsaWYgb3AgaW4gUkVQRUFUSU5HX0NPREVTOgogICAgICAgICAgICAgaWYgZmxhZ3MgJiBTUkVfRkxBR19URU1QTEFURToKICAgICAgICAgICAgICAgICByYWlzZSBlcnJvcigiaW50ZXJuYWw6IHVuc3VwcG9ydGVkIHRlbXBsYXRlIG9wZXJhdG9yIikKICAgICAgICAgICAgIGVsaWYgX3NpbXBsZShhdikgYW5kIG9wIGlzIG5vdCBSRVBFQVQ6CiAgICAgICAgICAgICAgICAgaWYgb3AgaXMgTUFYX1JFUEVBVDoKLSAgICAgICAgICAgICAgICAgICAgZW1pdChPUENPREVTW1JFUEVBVF9PTkVdKQorICAgICAgICAgICAgICAgICAgICBlbWl0KFJFUEVBVF9PTkUpCiAgICAgICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICAgICAgZW1pdChPUENPREVTW01JTl9SRVBFQVRfT05FXSkKKyAgICAgICAgICAgICAgICAgICAgZW1pdChNSU5fUkVQRUFUX09ORSkKICAgICAgICAgICAgICAgICBza2lwID0gX2xlbihjb2RlKTsgZW1pdCgwKQogICAgICAgICAgICAgICAgIGVtaXQoYXZbMF0pCiAgICAgICAgICAgICAgICAgZW1pdChhdlsxXSkKICAgICAgICAgICAgICAgICBfY29tcGlsZShjb2RlLCBhdlsyXSwgZmxhZ3MpCi0gICAgICAgICAgICAgICAgZW1pdChPUENPREVTW1NVQ0NFU1NdKQorICAgICAgICAgICAgICAgIGVtaXQoU1VDQ0VTUykKICAgICAgICAgICAgICAgICBjb2RlW3NraXBdID0gX2xlbihjb2RlKSAtIHNraXAKICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgZW1pdChPUENPREVTW1JFUEVBVF0pCisgICAgICAgICAgICAgICAgZW1pdChSRVBFQVQpCiAgICAgICAgICAgICAgICAgc2tpcCA9IF9sZW4oY29kZSk7IGVtaXQoMCkKICAgICAgICAgICAgICAgICBlbWl0KGF2WzBdKQogICAgICAgICAgICAgICAgIGVtaXQoYXZbMV0pCiAgICAgICAgICAgICAgICAgX2NvbXBpbGUoY29kZSwgYXZbMl0sIGZsYWdzKQogICAgICAgICAgICAgICAgIGNvZGVbc2tpcF0gPSBfbGVuKGNvZGUpIC0gc2tpcAogICAgICAgICAgICAgICAgIGlmIG9wIGlzIE1BWF9SRVBFQVQ6Ci0gICAgICAgICAgICAgICAgICAgIGVtaXQoT1BDT0RFU1tNQVhfVU5USUxdKQorICAgICAgICAgICAgICAgICAgICBlbWl0KE1BWF9VTlRJTCkKICAgICAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgICAgICBlbWl0KE9QQ09ERVNbTUlOX1VOVElMXSkKKyAgICAgICAgICAgICAgICAgICAgZW1pdChNSU5fVU5USUwpCiAgICAgICAgIGVsaWYgb3AgaXMgU1VCUEFUVEVSTjoKICAgICAgICAgICAgIGlmIGF2WzBdOgotICAgICAgICAgICAgICAgIGVtaXQoT1BDT0RFU1tNQVJLXSkKKyAgICAgICAgICAgICAgICBlbWl0KE1BUkspCiAgICAgICAgICAgICAgICAgZW1pdCgoYXZbMF0tMSkqMikKICAgICAgICAgICAgICMgX2NvbXBpbGVfaW5mbyhjb2RlLCBhdlsxXSwgZmxhZ3MpCiAgICAgICAgICAgICBfY29tcGlsZShjb2RlLCBhdlsxXSwgZmxhZ3MpCiAgICAgICAgICAgICBpZiBhdlswXToKLSAgICAgICAgICAgICAgICBlbWl0KE9QQ09ERVNbTUFSS10pCisgICAgICAgICAgICAgICAgZW1pdChNQVJLKQogICAgICAgICAgICAgICAgIGVtaXQoKGF2WzBdLTEpKjIrMSkKICAgICAgICAgZWxpZiBvcCBpbiBTVUNDRVNTX0NPREVTOgotICAgICAgICAgICAgZW1pdChPUENPREVTW29wXSkKKyAgICAgICAgICAgIGVtaXQob3ApCiAgICAgICAgIGVsaWYgb3AgaW4gQVNTRVJUX0NPREVTOgotICAgICAgICAgICAgZW1pdChPUENPREVTW29wXSkKKyAgICAgICAgICAgIGVtaXQob3ApCiAgICAgICAgICAgICBza2lwID0gX2xlbihjb2RlKTsgZW1pdCgwKQogICAgICAgICAgICAgaWYgYXZbMF0gPj0gMDoKICAgICAgICAgICAgICAgICBlbWl0KDApICMgbG9vayBhaGVhZApAQCAtMTY0LDU3ICsxNTgsNTcgQEAKICAgICAgICAgICAgICAgICAgICAgcmFpc2UgZXJyb3IoImxvb2stYmVoaW5kIHJlcXVpcmVzIGZpeGVkLXdpZHRoIHBhdHRlcm4iKQogICAgICAgICAgICAgICAgIGVtaXQobG8pICMgbG9vayBiZWhpbmQKICAgICAgICAgICAgIF9jb21waWxlKGNvZGUsIGF2WzFdLCBmbGFncykKLSAgICAgICAgICAgIGVtaXQoT1BDT0RFU1tTVUNDRVNTXSkKKyAgICAgICAgICAgIGVtaXQoU1VDQ0VTUykKICAgICAgICAgICAgIGNvZGVbc2tpcF0gPSBfbGVuKGNvZGUpIC0gc2tpcAogICAgICAgICBlbGlmIG9wIGlzIENBTEw6Ci0gICAgICAgICAgICBlbWl0KE9QQ09ERVNbb3BdKQorICAgICAgICAgICAgZW1pdChvcCkKICAgICAgICAgICAgIHNraXAgPSBfbGVuKGNvZGUpOyBlbWl0KDApCiAgICAgICAgICAgICBfY29tcGlsZShjb2RlLCBhdiwgZmxhZ3MpCi0gICAgICAgICAgICBlbWl0KE9QQ09ERVNbU1VDQ0VTU10pCisgICAgICAgICAgICBlbWl0KFNVQ0NFU1MpCiAgICAgICAgICAgICBjb2RlW3NraXBdID0gX2xlbihjb2RlKSAtIHNraXAKICAgICAgICAgZWxpZiBvcCBpcyBBVDoKLSAgICAgICAgICAgIGVtaXQoT1BDT0RFU1tvcF0pCisgICAgICAgICAgICBlbWl0KG9wKQogICAgICAgICAgICAgaWYgZmxhZ3MgJiBTUkVfRkxBR19NVUxUSUxJTkU6CiAgICAgICAgICAgICAgICAgYXYgPSBBVF9NVUxUSUxJTkUuZ2V0KGF2LCBhdikKICAgICAgICAgICAgIGlmIGZsYWdzICYgU1JFX0ZMQUdfTE9DQUxFOgogICAgICAgICAgICAgICAgIGF2ID0gQVRfTE9DQUxFLmdldChhdiwgYXYpCiAgICAgICAgICAgICBlbGlmIGZsYWdzICYgU1JFX0ZMQUdfVU5JQ09ERToKICAgICAgICAgICAgICAgICBhdiA9IEFUX1VOSUNPREUuZ2V0KGF2LCBhdikKLSAgICAgICAgICAgIGVtaXQoQVRDT0RFU1thdl0pCisgICAgICAgICAgICBlbWl0KGF2KQogICAgICAgICBlbGlmIG9wIGlzIEJSQU5DSDoKLSAgICAgICAgICAgIGVtaXQoT1BDT0RFU1tvcF0pCisgICAgICAgICAgICBlbWl0KG9wKQogICAgICAgICAgICAgdGFpbCA9IFtdCiAgICAgICAgICAgICB0YWlsYXBwZW5kID0gdGFpbC5hcHBlbmQKICAgICAgICAgICAgIGZvciBhdiBpbiBhdlsxXToKICAgICAgICAgICAgICAgICBza2lwID0gX2xlbihjb2RlKTsgZW1pdCgwKQogICAgICAgICAgICAgICAgICMgX2NvbXBpbGVfaW5mbyhjb2RlLCBhdiwgZmxhZ3MpCiAgICAgICAgICAgICAgICAgX2NvbXBpbGUoY29kZSwgYXYsIGZsYWdzKQotICAgICAgICAgICAgICAgIGVtaXQoT1BDT0RFU1tKVU1QXSkKKyAgICAgICAgICAgICAgICBlbWl0KEpVTVApCiAgICAgICAgICAgICAgICAgdGFpbGFwcGVuZChfbGVuKGNvZGUpKTsgZW1pdCgwKQogICAgICAgICAgICAgICAgIGNvZGVbc2tpcF0gPSBfbGVuKGNvZGUpIC0gc2tpcAotICAgICAgICAgICAgZW1pdCgwKSAjIGVuZCBvZiBicmFuY2gKKyAgICAgICAgICAgIGVtaXQoRkFJTFVSRSkgIyBlbmQgb2YgYnJhbmNoCiAgICAgICAgICAgICBmb3IgdGFpbCBpbiB0YWlsOgogICAgICAgICAgICAgICAgIGNvZGVbdGFpbF0gPSBfbGVuKGNvZGUpIC0gdGFpbAogICAgICAgICBlbGlmIG9wIGlzIENBVEVHT1JZOgotICAgICAgICAgICAgZW1pdChPUENPREVTW29wXSkKKyAgICAgICAgICAgIGVtaXQob3ApCiAgICAgICAgICAgICBpZiBmbGFncyAmIFNSRV9GTEFHX0xPQ0FMRToKICAgICAgICAgICAgICAgICBhdiA9IENIX0xPQ0FMRVthdl0KICAgICAgICAgICAgIGVsaWYgZmxhZ3MgJiBTUkVfRkxBR19VTklDT0RFOgogICAgICAgICAgICAgICAgIGF2ID0gQ0hfVU5JQ09ERVthdl0KLSAgICAgICAgICAgIGVtaXQoQ0hDT0RFU1thdl0pCisgICAgICAgICAgICBlbWl0KGF2KQogICAgICAgICBlbGlmIG9wIGlzIEdST1VQUkVGOgogICAgICAgICAgICAgaWYgZmxhZ3MgJiBTUkVfRkxBR19JR05PUkVDQVNFOgotICAgICAgICAgICAgICAgIGVtaXQoT1BDT0RFU1tPUF9JR05PUkVbb3BdXSkKKyAgICAgICAgICAgICAgICBlbWl0KE9QX0lHTk9SRVtvcF0pCiAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIGVtaXQoT1BDT0RFU1tvcF0pCisgICAgICAgICAgICAgICAgZW1pdChvcCkKICAgICAgICAgICAgIGVtaXQoYXYtMSkKICAgICAgICAgZWxpZiBvcCBpcyBHUk9VUFJFRl9FWElTVFM6Ci0gICAgICAgICAgICBlbWl0KE9QQ09ERVNbb3BdKQorICAgICAgICAgICAgZW1pdChvcCkKICAgICAgICAgICAgIGVtaXQoYXZbMF0tMSkKICAgICAgICAgICAgIHNraXB5ZXMgPSBfbGVuKGNvZGUpOyBlbWl0KDApCiAgICAgICAgICAgICBfY29tcGlsZShjb2RlLCBhdlsxXSwgZmxhZ3MpCiAgICAgICAgICAgICBpZiBhdlsyXToKLSAgICAgICAgICAgICAgICBlbWl0KE9QQ09ERVNbSlVNUF0pCisgICAgICAgICAgICAgICAgZW1pdChKVU1QKQogICAgICAgICAgICAgICAgIHNraXBubyA9IF9sZW4oY29kZSk7IGVtaXQoMCkKICAgICAgICAgICAgICAgICBjb2RlW3NraXB5ZXNdID0gX2xlbihjb2RlKSAtIHNraXB5ZXMgKyAxCiAgICAgICAgICAgICAgICAgX2NvbXBpbGUoY29kZSwgYXZbMl0sIGZsYWdzKQpAQCAtMjI3LDE0ICsyMjEsMTMgQEAKIGRlZiBfY29tcGlsZV9jaGFyc2V0KGNoYXJzZXQsIGZsYWdzLCBjb2RlLCBmaXh1cD1Ob25lLCBmaXhlcz1Ob25lKToKICAgICAjIGNvbXBpbGUgY2hhcnNldCBzdWJwcm9ncmFtCiAgICAgZW1pdCA9IGNvZGUuYXBwZW5kCi0gICAgZm9yIG9wLCBhdiBpbiBfb3B0aW1pemVfY2hhcnNldChjaGFyc2V0LCBmaXh1cCwgZml4ZXMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGFncyAmIFNSRV9GTEFHX1VOSUNPREUpOgotICAgICAgICBlbWl0KE9QQ09ERVNbb3BdKQorICAgIGZvciBvcCwgYXYgaW4gX29wdGltaXplX2NoYXJzZXQoY2hhcnNldCwgZml4dXAsIGZpeGVzKToKKyAgICAgICAgZW1pdChvcCkKICAgICAgICAgaWYgb3AgaXMgTkVHQVRFOgogICAgICAgICAgICAgcGFzcwogICAgICAgICBlbGlmIG9wIGlzIExJVEVSQUw6CiAgICAgICAgICAgICBlbWl0KGF2KQotICAgICAgICBlbGlmIG9wIGlzIFJBTkdFOgorICAgICAgICBlbGlmIG9wIGlzIFJBTkdFIG9yIG9wIGlzIFJBTkdFX0lHTk9SRToKICAgICAgICAgICAgIGVtaXQoYXZbMF0pCiAgICAgICAgICAgICBlbWl0KGF2WzFdKQogICAgICAgICBlbGlmIG9wIGlzIENIQVJTRVQ6CkBAIC0yNDMsMTYgKzIzNiwxNiBAQAogICAgICAgICAgICAgY29kZS5leHRlbmQoYXYpCiAgICAgICAgIGVsaWYgb3AgaXMgQ0FURUdPUlk6CiAgICAgICAgICAgICBpZiBmbGFncyAmIFNSRV9GTEFHX0xPQ0FMRToKLSAgICAgICAgICAgICAgICBlbWl0KENIQ09ERVNbQ0hfTE9DQUxFW2F2XV0pCisgICAgICAgICAgICAgICAgZW1pdChDSF9MT0NBTEVbYXZdKQogICAgICAgICAgICAgZWxpZiBmbGFncyAmIFNSRV9GTEFHX1VOSUNPREU6Ci0gICAgICAgICAgICAgICAgZW1pdChDSENPREVTW0NIX1VOSUNPREVbYXZdXSkKKyAgICAgICAgICAgICAgICBlbWl0KENIX1VOSUNPREVbYXZdKQogICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICBlbWl0KENIQ09ERVNbYXZdKQorICAgICAgICAgICAgICAgIGVtaXQoYXYpCiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICByYWlzZSBlcnJvcigiaW50ZXJuYWw6IHVuc3VwcG9ydGVkIHNldCBvcGVyYXRvciIpCi0gICAgZW1pdChPUENPREVTW0ZBSUxVUkVdKQorICAgIGVtaXQoRkFJTFVSRSkKIAotZGVmIF9vcHRpbWl6ZV9jaGFyc2V0KGNoYXJzZXQsIGZpeHVwLCBmaXhlcywgaXN1bmljb2RlKToKK2RlZiBfb3B0aW1pemVfY2hhcnNldChjaGFyc2V0LCBmaXh1cCwgZml4ZXMpOgogICAgICMgaW50ZXJuYWw6IG9wdGltaXplIGNoYXJhY3RlciBzZXQKICAgICBvdXQgPSBbXQogICAgIHRhaWwgPSBbXQpAQCAtMjYyLDEwICsyNTUsMTAgQEAKICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgICBpZiBvcCBpcyBMSVRFUkFMOgogICAgICAgICAgICAgICAgICAgICBpZiBmaXh1cDoKLSAgICAgICAgICAgICAgICAgICAgICAgIGkgPSBmaXh1cChhdikKLSAgICAgICAgICAgICAgICAgICAgICAgIGNoYXJtYXBbaV0gPSAxCi0gICAgICAgICAgICAgICAgICAgICAgICBpZiBmaXhlcyBhbmQgaSBpbiBmaXhlczoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgayBpbiBmaXhlc1tpXToKKyAgICAgICAgICAgICAgICAgICAgICAgIGxvID0gZml4dXAoYXYpCisgICAgICAgICAgICAgICAgICAgICAgICBjaGFybWFwW2xvXSA9IDEKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIGZpeGVzIGFuZCBsbyBpbiBmaXhlczoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgayBpbiBmaXhlc1tsb106CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYXJtYXBba10gPSAxCiAgICAgICAgICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgICAgICAgICBjaGFybWFwW2F2XSA9IDEKQEAgLTI5MSwyMSArMjg0LDEzIEBACiAgICAgICAgICAgICAgICAgICAgICMgY2hhcmFjdGVyIHNldCBjb250YWlucyBub24tVUNTMSBjaGFyYWN0ZXIgY29kZXMKICAgICAgICAgICAgICAgICAgICAgY2hhcm1hcCArPSBiJ1wwJyAqIDB4ZmYwMAogICAgICAgICAgICAgICAgICAgICBjb250aW51ZQotICAgICAgICAgICAgICAgICMgY2hhcmFjdGVyIHNldCBjb250YWlucyBub24tQk1QIGNoYXJhY3RlciBjb2RlcwotICAgICAgICAgICAgICAgIGlmIGZpeHVwIGFuZCBpc3VuaWNvZGUgYW5kIG9wIGlzIFJBTkdFOgotICAgICAgICAgICAgICAgICAgICBsbywgaGkgPSBhdgotICAgICAgICAgICAgICAgICAgICByYW5nZXMgPSBbYXZdCi0gICAgICAgICAgICAgICAgICAgICMgVGhlcmUgYXJlIG9ubHkgdHdvIHJhbmdlcyBvZiBjYXNlZCBhc3RyYWwgY2hhcmFjdGVyczoKLSAgICAgICAgICAgICAgICAgICAgIyAxMDQwMC0xMDQ0RiAoRGVzZXJldCkgYW5kIDExOEEwLTExOERGIChXYXJhbmcgQ2l0aSkuCi0gICAgICAgICAgICAgICAgICAgIF9maXh1cF9yYW5nZShtYXgoMHgxMDAwMCwgbG8pLCBtaW4oMHgxMWZmZiwgaGkpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmFuZ2VzLCBmaXh1cCkKLSAgICAgICAgICAgICAgICAgICAgZm9yIGxvLCBoaSBpbiByYW5nZXM6Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiBsbyA9PSBoaToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YWlsLmFwcGVuZCgoTElURVJBTCwgaGkpKQotICAgICAgICAgICAgICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YWlsLmFwcGVuZCgoUkFOR0UsIChsbywgaGkpKSkKLSAgICAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgICAgICB0YWlsLmFwcGVuZCgob3AsIGF2KSkKKyAgICAgICAgICAgICAgICAjIENoYXJhY3RlciBzZXQgY29udGFpbnMgbm9uLUJNUCBjaGFyYWN0ZXIgY29kZXMuCisgICAgICAgICAgICAgICAgIyBUaGVyZSBhcmUgb25seSB0d28gcmFuZ2VzIG9mIGNhc2VkIG5vbi1CTVAgY2hhcmFjdGVyczoKKyAgICAgICAgICAgICAgICAjIDEwNDAwLTEwNDRGIChEZXNlcmV0KSBhbmQgMTE4QTAtMTE4REYgKFdhcmFuZyBDaXRpKSwKKyAgICAgICAgICAgICAgICAjIGFuZCBmb3IgYm90aCByYW5nZXMgUkFOR0VfSUdOT1JFIHdvcmtzLgorICAgICAgICAgICAgICAgIGlmIGZpeHVwIGFuZCBvcCBpcyBSQU5HRToKKyAgICAgICAgICAgICAgICAgICAgb3AgPSBSQU5HRV9JR05PUkUKKyAgICAgICAgICAgICAgICB0YWlsLmFwcGVuZCgob3AsIGF2KSkKICAgICAgICAgICAgIGJyZWFrCiAKICAgICAjIGNvbXByZXNzIGNoYXJhY3RlciBtYXAKQEAgLTM4MywyNSArMzY4LDggQEAKICAgICBvdXQgKz0gdGFpbAogICAgIHJldHVybiBvdXQKIAotZGVmIF9maXh1cF9yYW5nZShsbywgaGksIHJhbmdlcywgZml4dXApOgotICAgIGZvciBpIGluIG1hcChmaXh1cCwgcmFuZ2UobG8sIGhpKzEpKToKLSAgICAgICAgZm9yIGssIChsbywgaGkpIGluIGVudW1lcmF0ZShyYW5nZXMpOgotICAgICAgICAgICAgaWYgaSA8IGxvOgotICAgICAgICAgICAgICAgIGlmIGwgPT0gbG8gLSAxOgotICAgICAgICAgICAgICAgICAgICByYW5nZXNba10gPSAoaSwgaGkpCi0gICAgICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICAgICAgcmFuZ2VzLmluc2VydChrLCAoaSwgaSkpCi0gICAgICAgICAgICAgICAgYnJlYWsKLSAgICAgICAgICAgIGVsaWYgaSA+IGhpOgotICAgICAgICAgICAgICAgIGlmIGkgPT0gaGkgKyAxOgotICAgICAgICAgICAgICAgICAgICByYW5nZXNba10gPSAobG8sIGkpCi0gICAgICAgICAgICAgICAgICAgIGJyZWFrCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIGJyZWFrCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICByYW5nZXMuYXBwZW5kKChpLCBpKSkKLQogX0NPREVCSVRTID0gX3NyZS5DT0RFU0laRSAqIDgKK01BWENPREUgPSAoMSA8PCBfQ09ERUJJVFMpIC0gMQogX0JJVFNfVFJBTlMgPSBiJzAnICsgYicxJyAqIDI1NQogZGVmIF9ta19iaXRtYXAoYml0cywgX0NPREVCSVRTPV9DT0RFQklUUywgX2ludD1pbnQpOgogICAgIHMgPSBiaXRzLnRyYW5zbGF0ZShfQklUU19UUkFOUylbOjotMV0KQEAgLTQ0Niw4ICs0MTQsMTEgQEAKICAgICAjIHRoaXMgY29udGFpbnMgbWluL21heCBwYXR0ZXJuIHdpZHRoLCBhbmQgYW4gb3B0aW9uYWwgbGl0ZXJhbAogICAgICMgcHJlZml4IG9yIGEgY2hhcmFjdGVyIG1hcAogICAgIGxvLCBoaSA9IHBhdHRlcm4uZ2V0d2lkdGgoKQorICAgIGlmIGhpID4gTUFYQ09ERToKKyAgICAgICAgaGkgPSBNQVhDT0RFCiAgICAgaWYgbG8gPT0gMDoKLSAgICAgICAgcmV0dXJuICMgbm90IHdvcnRoIGl0CisgICAgICAgIGNvZGUuZXh0ZW5kKFtJTkZPLCA0LCAwLCBsbywgaGldKQorICAgICAgICByZXR1cm4KICAgICAjIGxvb2sgZm9yIGEgbGl0ZXJhbCBwcmVmaXgKICAgICBwcmVmaXggPSBbXQogICAgIHByZWZpeGFwcGVuZCA9IHByZWZpeC5hcHBlbmQKQEAgLTUwNSwyMSArNDc2LDIxIEBACiAgICAgICAgICAgICBlbGlmIG9wIGlzIElOOgogICAgICAgICAgICAgICAgIGNoYXJzZXQgPSBhdgogIyMgICAgIGlmIHByZWZpeDoKLSMjICAgICAgICAgcHJpbnQgIioqKiBQUkVGSVgiLCBwcmVmaXgsIHByZWZpeF9za2lwCisjIyAgICAgICAgIHByaW50KCIqKiogUFJFRklYIiwgcHJlZml4LCBwcmVmaXhfc2tpcCkKICMjICAgICBpZiBjaGFyc2V0OgotIyMgICAgICAgICBwcmludCAiKioqIENIQVJTRVQiLCBjaGFyc2V0CisjIyAgICAgICAgIHByaW50KCIqKiogQ0hBUlNFVCIsIGNoYXJzZXQpCiAgICAgIyBhZGQgYW4gaW5mbyBibG9jawogICAgIGVtaXQgPSBjb2RlLmFwcGVuZAotICAgIGVtaXQoT1BDT0RFU1tJTkZPXSkKKyAgICBlbWl0KElORk8pCiAgICAgc2tpcCA9IGxlbihjb2RlKTsgZW1pdCgwKQogICAgICMgbGl0ZXJhbCBmbGFnCiAgICAgbWFzayA9IDAKICAgICBpZiBwcmVmaXg6CiAgICAgICAgIG1hc2sgPSBTUkVfSU5GT19QUkVGSVgKICAgICAgICAgaWYgbGVuKHByZWZpeCkgPT0gcHJlZml4X3NraXAgPT0gbGVuKHBhdHRlcm4uZGF0YSk6Ci0gICAgICAgICAgICBtYXNrID0gbWFzayArIFNSRV9JTkZPX0xJVEVSQUwKKyAgICAgICAgICAgIG1hc2sgPSBtYXNrIHwgU1JFX0lORk9fTElURVJBTAogICAgIGVsaWYgY2hhcnNldDoKLSAgICAgICAgbWFzayA9IG1hc2sgKyBTUkVfSU5GT19DSEFSU0VUCisgICAgICAgIG1hc2sgPSBtYXNrIHwgU1JFX0lORk9fQ0hBUlNFVAogICAgIGVtaXQobWFzaykKICAgICAjIHBhdHRlcm4gbGVuZ3RoCiAgICAgaWYgbG8gPCBNQVhDT0RFOgpAQCAtNTI3LDEwICs0OTgsNyBAQAogICAgIGVsc2U6CiAgICAgICAgIGVtaXQoTUFYQ09ERSkKICAgICAgICAgcHJlZml4ID0gcHJlZml4WzpNQVhDT0RFXQotICAgIGlmIGhpIDwgTUFYQ09ERToKLSAgICAgICAgZW1pdChoaSkKLSAgICBlbHNlOgotICAgICAgICBlbWl0KDApCisgICAgZW1pdChtaW4oaGksIE1BWENPREUpKQogICAgICMgYWRkIGxpdGVyYWwgcHJlZml4CiAgICAgaWYgcHJlZml4OgogICAgICAgICBlbWl0KGxlbihwcmVmaXgpKSAjIGxlbmd0aApAQCAtNTU2LDcgKzUyNCw3IEBACiAgICAgIyBjb21waWxlIHRoZSBwYXR0ZXJuCiAgICAgX2NvbXBpbGUoY29kZSwgcC5kYXRhLCBmbGFncykKIAotICAgIGNvZGUuYXBwZW5kKE9QQ09ERVNbU1VDQ0VTU10pCisgICAgY29kZS5hcHBlbmQoU1VDQ0VTUykKIAogICAgIHJldHVybiBjb2RlCiAKQEAgLTU3MSwxMyArNTM5LDcgQEAKIAogICAgIGNvZGUgPSBfY29kZShwLCBmbGFncykKIAotICAgICMgcHJpbnQgY29kZQotCi0gICAgIyBYWFg6IDxmbD4gZ2V0IHJpZCBvZiB0aGlzIGxpbWl0YXRpb24hCi0gICAgaWYgcC5wYXR0ZXJuLmdyb3VwcyA+IDEwMDoKLSAgICAgICAgcmFpc2UgQXNzZXJ0aW9uRXJyb3IoCi0gICAgICAgICAgICAic29ycnksIGJ1dCB0aGlzIHZlcnNpb24gb25seSBzdXBwb3J0cyAxMDAgbmFtZWQgZ3JvdXBzIgotICAgICAgICAgICAgKQorICAgICMgcHJpbnQoY29kZSkKIAogICAgICMgbWFwIGluIGVpdGhlciBkaXJlY3Rpb24KICAgICBncm91cGluZGV4ID0gcC5wYXR0ZXJuLmdyb3VwZGljdApkaWZmIC0tZ2l0IGEvTGliL3NyZV9jb25zdGFudHMucHkgYi9MaWIvc3JlX2NvbnN0YW50cy5weQppbmRleCAyM2UzNTE2Li44YjZiYmZhIDEwMDY0NAotLS0gYS9MaWIvc3JlX2NvbnN0YW50cy5weQorKysgYi9MaWIvc3JlX2NvbnN0YW50cy5weQpAQCAtMTMsMTUzICsxMywxMTUgQEAKIAogIyB1cGRhdGUgd2hlbiBjb25zdGFudHMgYXJlIGFkZGVkIG9yIHJlbW92ZWQKIAotTUFHSUMgPSAyMDAzMTAxNworTUFHSUMgPSAyMDE0MDkxNwogCi1mcm9tIF9zcmUgaW1wb3J0IE1BWFJFUEVBVAorZnJvbSBfc3JlIGltcG9ydCBNQVhSRVBFQVQsIE1BWEdST1VQUwogCiAjIFNSRSBzdGFuZGFyZCBleGNlcHRpb24gKGFjY2VzcyBhcyBzcmUuZXJyb3IpCiAjIHNob3VsZCB0aGlzIHJlYWxseSBiZSBoZXJlPwogCiBjbGFzcyBlcnJvcihFeGNlcHRpb24pOgotICAgIHBhc3MKKyAgICBkZWYgX19pbml0X18oc2VsZiwgbXNnLCBwYXR0ZXJuPU5vbmUsIHBvcz1Ob25lKToKKyAgICAgICAgc2VsZi5tc2cgPSBtc2cKKyAgICAgICAgc2VsZi5wYXR0ZXJuID0gcGF0dGVybgorICAgICAgICBzZWxmLnBvcyA9IHBvcworICAgICAgICBpZiBwYXR0ZXJuIGlzIG5vdCBOb25lIGFuZCBwb3MgaXMgbm90IE5vbmU6CisgICAgICAgICAgICBtc2cgPSAnJXMgYXQgcG9zaXRpb24gJWQnICUgKG1zZywgcG9zKQorICAgICAgICAgICAgaWYgaXNpbnN0YW5jZShwYXR0ZXJuLCBzdHIpOgorICAgICAgICAgICAgICAgIG5ld2xpbmUgPSAnXG4nCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIG5ld2xpbmUgPSBiJ1xuJworICAgICAgICAgICAgc2VsZi5saW5lbm8gPSBwYXR0ZXJuLmNvdW50KG5ld2xpbmUsIDAsIHBvcykgKyAxCisgICAgICAgICAgICBzZWxmLmNvbG5vID0gcG9zIC0gcGF0dGVybi5yZmluZChuZXdsaW5lLCAwLCBwb3MpCisgICAgICAgICAgICBpZiBuZXdsaW5lIGluIHBhdHRlcm46CisgICAgICAgICAgICAgICAgbXNnID0gJyVzIChsaW5lICVkLCBjb2x1bW4gJWQpJyAlIChtc2csIHNlbGYubGluZW5vLCBzZWxmLmNvbG5vKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgc2VsZi5saW5lbm8gPSBzZWxmLmNvbG5vID0gTm9uZQorICAgICAgICBzdXBlcigpLl9faW5pdF9fKG1zZykKKworCitjbGFzcyBfTmFtZWRJbnRDb25zdGFudChpbnQpOgorICAgIGRlZiBfX25ld19fKGNscywgdmFsdWUsIG5hbWUpOgorICAgICAgICBzZWxmID0gc3VwZXIoX05hbWVkSW50Q29uc3RhbnQsIGNscykuX19uZXdfXyhjbHMsIHZhbHVlKQorICAgICAgICBzZWxmLm5hbWUgPSBuYW1lCisgICAgICAgIHJldHVybiBzZWxmCisKKyAgICBkZWYgX19zdHJfXyhzZWxmKToKKyAgICAgICAgcmV0dXJuIHNlbGYubmFtZQorCisgICAgX19yZXByX18gPSBfX3N0cl9fCisKK01BWFJFUEVBVCA9IF9OYW1lZEludENvbnN0YW50KE1BWFJFUEVBVCwgJ01BWFJFUEVBVCcpCisKK2RlZiBfbWFrZWNvZGVzKG5hbWVzKToKKyAgICBuYW1lcyA9IG5hbWVzLnN0cmlwKCkuc3BsaXQoKQorICAgIGl0ZW1zID0gW19OYW1lZEludENvbnN0YW50KGksIG5hbWUpIGZvciBpLCBuYW1lIGluIGVudW1lcmF0ZShuYW1lcyldCisgICAgZ2xvYmFscygpLnVwZGF0ZSh7aXRlbS5uYW1lOiBpdGVtIGZvciBpdGVtIGluIGl0ZW1zfSkKKyAgICByZXR1cm4gaXRlbXMKIAogIyBvcGVyYXRvcnMKKyMgZmFpbHVyZT0wIHN1Y2Nlc3M9MSAoanVzdCBiZWNhdXNlIGl0IGxvb2tzIGJldHRlciB0aGF0IHdheSA6LSkKK09QQ09ERVMgPSBfbWFrZWNvZGVzKCIiIgorICAgIEZBSUxVUkUgU1VDQ0VTUwogCi1GQUlMVVJFID0gImZhaWx1cmUiCi1TVUNDRVNTID0gInN1Y2Nlc3MiCisgICAgQU5ZIEFOWV9BTEwKKyAgICBBU1NFUlQgQVNTRVJUX05PVAorICAgIEFUCisgICAgQlJBTkNICisgICAgQ0FMTAorICAgIENBVEVHT1JZCisgICAgQ0hBUlNFVCBCSUdDSEFSU0VUCisgICAgR1JPVVBSRUYgR1JPVVBSRUZfRVhJU1RTIEdST1VQUkVGX0lHTk9SRQorICAgIElOIElOX0lHTk9SRQorICAgIElORk8KKyAgICBKVU1QCisgICAgTElURVJBTCBMSVRFUkFMX0lHTk9SRQorICAgIE1BUksKKyAgICBNQVhfVU5USUwKKyAgICBNSU5fVU5USUwKKyAgICBOT1RfTElURVJBTCBOT1RfTElURVJBTF9JR05PUkUKKyAgICBORUdBVEUKKyAgICBSQU5HRQorICAgIFJFUEVBVAorICAgIFJFUEVBVF9PTkUKKyAgICBTVUJQQVRURVJOCisgICAgTUlOX1JFUEVBVF9PTkUKKyAgICBSQU5HRV9JR05PUkUKIAotQU5ZID0gImFueSIKLUFOWV9BTEwgPSAiYW55X2FsbCIKLUFTU0VSVCA9ICJhc3NlcnQiCi1BU1NFUlRfTk9UID0gImFzc2VydF9ub3QiCi1BVCA9ICJhdCIKLUJJR0NIQVJTRVQgPSAiYmlnY2hhcnNldCIKLUJSQU5DSCA9ICJicmFuY2giCi1DQUxMID0gImNhbGwiCi1DQVRFR09SWSA9ICJjYXRlZ29yeSIKLUNIQVJTRVQgPSAiY2hhcnNldCIKLUdST1VQUkVGID0gImdyb3VwcmVmIgotR1JPVVBSRUZfSUdOT1JFID0gImdyb3VwcmVmX2lnbm9yZSIKLUdST1VQUkVGX0VYSVNUUyA9ICJncm91cHJlZl9leGlzdHMiCi1JTiA9ICJpbiIKLUlOX0lHTk9SRSA9ICJpbl9pZ25vcmUiCi1JTkZPID0gImluZm8iCi1KVU1QID0gImp1bXAiCi1MSVRFUkFMID0gImxpdGVyYWwiCi1MSVRFUkFMX0lHTk9SRSA9ICJsaXRlcmFsX2lnbm9yZSIKLU1BUksgPSAibWFyayIKLU1BWF9SRVBFQVQgPSAibWF4X3JlcGVhdCIKLU1BWF9VTlRJTCA9ICJtYXhfdW50aWwiCi1NSU5fUkVQRUFUID0gIm1pbl9yZXBlYXQiCi1NSU5fVU5USUwgPSAibWluX3VudGlsIgotTkVHQVRFID0gIm5lZ2F0ZSIKLU5PVF9MSVRFUkFMID0gIm5vdF9saXRlcmFsIgotTk9UX0xJVEVSQUxfSUdOT1JFID0gIm5vdF9saXRlcmFsX2lnbm9yZSIKLVJBTkdFID0gInJhbmdlIgotUkVQRUFUID0gInJlcGVhdCIKLVJFUEVBVF9PTkUgPSAicmVwZWF0X29uZSIKLVNVQlBBVFRFUk4gPSAic3VicGF0dGVybiIKLU1JTl9SRVBFQVRfT05FID0gIm1pbl9yZXBlYXRfb25lIgorICAgIE1JTl9SRVBFQVQgTUFYX1JFUEVBVAorIiIiKQorZGVsIE9QQ09ERVNbLTI6XSAjIHJlbW92ZSBNSU5fUkVQRUFUIGFuZCBNQVhfUkVQRUFUCiAKICMgcG9zaXRpb25zCi1BVF9CRUdJTk5JTkcgPSAiYXRfYmVnaW5uaW5nIgotQVRfQkVHSU5OSU5HX0xJTkUgPSAiYXRfYmVnaW5uaW5nX2xpbmUiCi1BVF9CRUdJTk5JTkdfU1RSSU5HID0gImF0X2JlZ2lubmluZ19zdHJpbmciCi1BVF9CT1VOREFSWSA9ICJhdF9ib3VuZGFyeSIKLUFUX05PTl9CT1VOREFSWSA9ICJhdF9ub25fYm91bmRhcnkiCi1BVF9FTkQgPSAiYXRfZW5kIgotQVRfRU5EX0xJTkUgPSAiYXRfZW5kX2xpbmUiCi1BVF9FTkRfU1RSSU5HID0gImF0X2VuZF9zdHJpbmciCi1BVF9MT0NfQk9VTkRBUlkgPSAiYXRfbG9jX2JvdW5kYXJ5IgotQVRfTE9DX05PTl9CT1VOREFSWSA9ICJhdF9sb2Nfbm9uX2JvdW5kYXJ5IgotQVRfVU5JX0JPVU5EQVJZID0gImF0X3VuaV9ib3VuZGFyeSIKLUFUX1VOSV9OT05fQk9VTkRBUlkgPSAiYXRfdW5pX25vbl9ib3VuZGFyeSIKK0FUQ09ERVMgPSBfbWFrZWNvZGVzKCIiIgorICAgIEFUX0JFR0lOTklORyBBVF9CRUdJTk5JTkdfTElORSBBVF9CRUdJTk5JTkdfU1RSSU5HCisgICAgQVRfQk9VTkRBUlkgQVRfTk9OX0JPVU5EQVJZCisgICAgQVRfRU5EIEFUX0VORF9MSU5FIEFUX0VORF9TVFJJTkcKKyAgICBBVF9MT0NfQk9VTkRBUlkgQVRfTE9DX05PTl9CT1VOREFSWQorICAgIEFUX1VOSV9CT1VOREFSWSBBVF9VTklfTk9OX0JPVU5EQVJZCisiIiIpCiAKICMgY2F0ZWdvcmllcwotQ0FURUdPUllfRElHSVQgPSAiY2F0ZWdvcnlfZGlnaXQiCi1DQVRFR09SWV9OT1RfRElHSVQgPSAiY2F0ZWdvcnlfbm90X2RpZ2l0IgotQ0FURUdPUllfU1BBQ0UgPSAiY2F0ZWdvcnlfc3BhY2UiCi1DQVRFR09SWV9OT1RfU1BBQ0UgPSAiY2F0ZWdvcnlfbm90X3NwYWNlIgotQ0FURUdPUllfV09SRCA9ICJjYXRlZ29yeV93b3JkIgotQ0FURUdPUllfTk9UX1dPUkQgPSAiY2F0ZWdvcnlfbm90X3dvcmQiCi1DQVRFR09SWV9MSU5FQlJFQUsgPSAiY2F0ZWdvcnlfbGluZWJyZWFrIgotQ0FURUdPUllfTk9UX0xJTkVCUkVBSyA9ICJjYXRlZ29yeV9ub3RfbGluZWJyZWFrIgotQ0FURUdPUllfTE9DX1dPUkQgPSAiY2F0ZWdvcnlfbG9jX3dvcmQiCi1DQVRFR09SWV9MT0NfTk9UX1dPUkQgPSAiY2F0ZWdvcnlfbG9jX25vdF93b3JkIgotQ0FURUdPUllfVU5JX0RJR0lUID0gImNhdGVnb3J5X3VuaV9kaWdpdCIKLUNBVEVHT1JZX1VOSV9OT1RfRElHSVQgPSAiY2F0ZWdvcnlfdW5pX25vdF9kaWdpdCIKLUNBVEVHT1JZX1VOSV9TUEFDRSA9ICJjYXRlZ29yeV91bmlfc3BhY2UiCi1DQVRFR09SWV9VTklfTk9UX1NQQUNFID0gImNhdGVnb3J5X3VuaV9ub3Rfc3BhY2UiCi1DQVRFR09SWV9VTklfV09SRCA9ICJjYXRlZ29yeV91bmlfd29yZCIKLUNBVEVHT1JZX1VOSV9OT1RfV09SRCA9ICJjYXRlZ29yeV91bmlfbm90X3dvcmQiCi1DQVRFR09SWV9VTklfTElORUJSRUFLID0gImNhdGVnb3J5X3VuaV9saW5lYnJlYWsiCi1DQVRFR09SWV9VTklfTk9UX0xJTkVCUkVBSyA9ICJjYXRlZ29yeV91bmlfbm90X2xpbmVicmVhayIKK0NIQ09ERVMgPSBfbWFrZWNvZGVzKCIiIgorICAgIENBVEVHT1JZX0RJR0lUIENBVEVHT1JZX05PVF9ESUdJVAorICAgIENBVEVHT1JZX1NQQUNFIENBVEVHT1JZX05PVF9TUEFDRQorICAgIENBVEVHT1JZX1dPUkQgQ0FURUdPUllfTk9UX1dPUkQKKyAgICBDQVRFR09SWV9MSU5FQlJFQUsgQ0FURUdPUllfTk9UX0xJTkVCUkVBSworICAgIENBVEVHT1JZX0xPQ19XT1JEIENBVEVHT1JZX0xPQ19OT1RfV09SRAorICAgIENBVEVHT1JZX1VOSV9ESUdJVCBDQVRFR09SWV9VTklfTk9UX0RJR0lUCisgICAgQ0FURUdPUllfVU5JX1NQQUNFIENBVEVHT1JZX1VOSV9OT1RfU1BBQ0UKKyAgICBDQVRFR09SWV9VTklfV09SRCBDQVRFR09SWV9VTklfTk9UX1dPUkQKKyAgICBDQVRFR09SWV9VTklfTElORUJSRUFLIENBVEVHT1JZX1VOSV9OT1RfTElORUJSRUFLCisiIiIpCiAKLU9QQ09ERVMgPSBbCi0KLSAgICAjIGZhaWx1cmU9MCBzdWNjZXNzPTEgKGp1c3QgYmVjYXVzZSBpdCBsb29rcyBiZXR0ZXIgdGhhdCB3YXkgOi0pCi0gICAgRkFJTFVSRSwgU1VDQ0VTUywKLQotICAgIEFOWSwgQU5ZX0FMTCwKLSAgICBBU1NFUlQsIEFTU0VSVF9OT1QsCi0gICAgQVQsCi0gICAgQlJBTkNILAotICAgIENBTEwsCi0gICAgQ0FURUdPUlksCi0gICAgQ0hBUlNFVCwgQklHQ0hBUlNFVCwKLSAgICBHUk9VUFJFRiwgR1JPVVBSRUZfRVhJU1RTLCBHUk9VUFJFRl9JR05PUkUsCi0gICAgSU4sIElOX0lHTk9SRSwKLSAgICBJTkZPLAotICAgIEpVTVAsCi0gICAgTElURVJBTCwgTElURVJBTF9JR05PUkUsCi0gICAgTUFSSywKLSAgICBNQVhfVU5USUwsCi0gICAgTUlOX1VOVElMLAotICAgIE5PVF9MSVRFUkFMLCBOT1RfTElURVJBTF9JR05PUkUsCi0gICAgTkVHQVRFLAotICAgIFJBTkdFLAotICAgIFJFUEVBVCwKLSAgICBSRVBFQVRfT05FLAotICAgIFNVQlBBVFRFUk4sCi0gICAgTUlOX1JFUEVBVF9PTkUKLQotXQotCi1BVENPREVTID0gWwotICAgIEFUX0JFR0lOTklORywgQVRfQkVHSU5OSU5HX0xJTkUsIEFUX0JFR0lOTklOR19TVFJJTkcsIEFUX0JPVU5EQVJZLAotICAgIEFUX05PTl9CT1VOREFSWSwgQVRfRU5ELCBBVF9FTkRfTElORSwgQVRfRU5EX1NUUklORywKLSAgICBBVF9MT0NfQk9VTkRBUlksIEFUX0xPQ19OT05fQk9VTkRBUlksIEFUX1VOSV9CT1VOREFSWSwKLSAgICBBVF9VTklfTk9OX0JPVU5EQVJZCi1dCi0KLUNIQ09ERVMgPSBbCi0gICAgQ0FURUdPUllfRElHSVQsIENBVEVHT1JZX05PVF9ESUdJVCwgQ0FURUdPUllfU1BBQ0UsCi0gICAgQ0FURUdPUllfTk9UX1NQQUNFLCBDQVRFR09SWV9XT1JELCBDQVRFR09SWV9OT1RfV09SRCwKLSAgICBDQVRFR09SWV9MSU5FQlJFQUssIENBVEVHT1JZX05PVF9MSU5FQlJFQUssIENBVEVHT1JZX0xPQ19XT1JELAotICAgIENBVEVHT1JZX0xPQ19OT1RfV09SRCwgQ0FURUdPUllfVU5JX0RJR0lULCBDQVRFR09SWV9VTklfTk9UX0RJR0lULAotICAgIENBVEVHT1JZX1VOSV9TUEFDRSwgQ0FURUdPUllfVU5JX05PVF9TUEFDRSwgQ0FURUdPUllfVU5JX1dPUkQsCi0gICAgQ0FURUdPUllfVU5JX05PVF9XT1JELCBDQVRFR09SWV9VTklfTElORUJSRUFLLAotICAgIENBVEVHT1JZX1VOSV9OT1RfTElORUJSRUFLCi1dCi0KLWRlZiBtYWtlZGljdChsaXN0KToKLSAgICBkID0ge30KLSAgICBpID0gMAotICAgIGZvciBpdGVtIGluIGxpc3Q6Ci0gICAgICAgIGRbaXRlbV0gPSBpCi0gICAgICAgIGkgPSBpICsgMQotICAgIHJldHVybiBkCi0KLU9QQ09ERVMgPSBtYWtlZGljdChPUENPREVTKQotQVRDT0RFUyA9IG1ha2VkaWN0KEFUQ09ERVMpCi1DSENPREVTID0gbWFrZWRpY3QoQ0hDT0RFUykKIAogIyByZXBsYWNlbWVudCBvcGVyYXRpb25zIGZvciAiaWdub3JlIGNhc2UiIG1vZGUKIE9QX0lHTk9SRSA9IHsKICAgICBHUk9VUFJFRjogR1JPVVBSRUZfSUdOT1JFLAogICAgIElOOiBJTl9JR05PUkUsCiAgICAgTElURVJBTDogTElURVJBTF9JR05PUkUsCi0gICAgTk9UX0xJVEVSQUw6IE5PVF9MSVRFUkFMX0lHTk9SRQorICAgIE5PVF9MSVRFUkFMOiBOT1RfTElURVJBTF9JR05PUkUsCisgICAgUkFOR0U6IFJBTkdFX0lHTk9SRSwKIH0KIAogQVRfTVVMVElMSU5FID0gewpAQCAtMjE3LDkgKzE3OSw5IEBACiAKIGlmIF9fbmFtZV9fID09ICJfX21haW5fXyI6CiAgICAgZGVmIGR1bXAoZiwgZCwgcHJlZml4KToKLSAgICAgICAgaXRlbXMgPSBzb3J0ZWQoZC5pdGVtcygpLCBrZXk9bGFtYmRhIGE6IGFbMV0pCi0gICAgICAgIGZvciBrLCB2IGluIGl0ZW1zOgotICAgICAgICAgICAgZi53cml0ZSgiI2RlZmluZSAlc18lcyAlc1xuIiAlIChwcmVmaXgsIGsudXBwZXIoKSwgdikpCisgICAgICAgIGl0ZW1zID0gc29ydGVkKGQpCisgICAgICAgIGZvciBpdGVtIGluIGl0ZW1zOgorICAgICAgICAgICAgZi53cml0ZSgiI2RlZmluZSAlc18lcyAlZFxuIiAlIChwcmVmaXgsIGl0ZW0sIGl0ZW0pKQogICAgIGYgPSBvcGVuKCJzcmVfY29uc3RhbnRzLmgiLCAidyIpCiAgICAgZi53cml0ZSgiIiJcCiAvKgpkaWZmIC0tZ2l0IGEvTGliL3NyZV9wYXJzZS5weSBiL0xpYi9zcmVfcGFyc2UucHkKaW5kZXggZGYxZTY0My4uOThhZmQ3YyAxMDA2NDQKLS0tIGEvTGliL3NyZV9wYXJzZS5weQorKysgYi9MaWIvc3JlX3BhcnNlLnB5CkBAIC0xMywxNyArMTMsMTkgQEAKICMgWFhYOiBzaG93IHN0cmluZyBvZmZzZXQgYW5kIG9mZmVuZGluZyBjaGFyYWN0ZXIgZm9yIGFsbCBlcnJvcnMKIAogZnJvbSBzcmVfY29uc3RhbnRzIGltcG9ydCAqCi1mcm9tIF9zcmUgaW1wb3J0IE1BWFJFUEVBVAogCiBTUEVDSUFMX0NIQVJTID0gIi5cXFt7KCkqKz9eJHwiCiBSRVBFQVRfQ0hBUlMgPSAiKis/eyIKIAotRElHSVRTID0gc2V0KCIwMTIzNDU2Nzg5IikKK0RJR0lUUyA9IGZyb3plbnNldCgiMDEyMzQ1Njc4OSIpCiAKLU9DVERJR0lUUyA9IHNldCgiMDEyMzQ1NjciKQotSEVYRElHSVRTID0gc2V0KCIwMTIzNDU2Nzg5YWJjZGVmQUJDREVGIikKK09DVERJR0lUUyA9IGZyb3plbnNldCgiMDEyMzQ1NjciKQorSEVYRElHSVRTID0gZnJvemVuc2V0KCIwMTIzNDU2Nzg5YWJjZGVmQUJDREVGIikKIAotV0hJVEVTUEFDRSA9IHNldCgiIFx0XG5cclx2XGYiKQorV0hJVEVTUEFDRSA9IGZyb3plbnNldCgiIFx0XG5cclx2XGYiKQorCitfUkVQRUFUQ09ERVMgPSBmcm96ZW5zZXQoe01JTl9SRVBFQVQsIE1BWF9SRVBFQVR9KQorX1VOSVRDT0RFUyA9IGZyb3plbnNldCh7QU5ZLCBSQU5HRSwgSU4sIExJVEVSQUwsIE5PVF9MSVRFUkFMLCBDQVRFR09SWX0pCiAKIEVTQ0FQRVMgPSB7CiAgICAgciJcYSI6IChMSVRFUkFMLCBvcmQoIlxhIikpLApAQCAtNjYsMjYgKzY4LDM2IEBACiAgICAgIyBtYXN0ZXIgcGF0dGVybiBvYmplY3QuICBrZWVwcyB0cmFjayBvZiBnbG9iYWwgYXR0cmlidXRlcwogICAgIGRlZiBfX2luaXRfXyhzZWxmKToKICAgICAgICAgc2VsZi5mbGFncyA9IDAKLSAgICAgICAgc2VsZi5vcGVuID0gW10KLSAgICAgICAgc2VsZi5ncm91cHMgPSAxCiAgICAgICAgIHNlbGYuZ3JvdXBkaWN0ID0ge30KLSAgICAgICAgc2VsZi5sb29rYmVoaW5kID0gMAotCisgICAgICAgIHNlbGYuc3VicGF0dGVybnMgPSBbTm9uZV0gICMgZ3JvdXAgMAorICAgICAgICBzZWxmLmxvb2tiZWhpbmRncm91cHMgPSBOb25lCisgICAgQHByb3BlcnR5CisgICAgZGVmIGdyb3VwcyhzZWxmKToKKyAgICAgICAgcmV0dXJuIGxlbihzZWxmLnN1YnBhdHRlcm5zKQogICAgIGRlZiBvcGVuZ3JvdXAoc2VsZiwgbmFtZT1Ob25lKToKICAgICAgICAgZ2lkID0gc2VsZi5ncm91cHMKLSAgICAgICAgc2VsZi5ncm91cHMgPSBnaWQgKyAxCisgICAgICAgIHNlbGYuc3VicGF0dGVybnMuYXBwZW5kKE5vbmUpCisgICAgICAgIGlmIHNlbGYuZ3JvdXBzID4gTUFYR1JPVVBTOgorICAgICAgICAgICAgcmFpc2UgZXJyb3IoImdyb3VwcyBudW1iZXIgaXMgdG9vIGxhcmdlIikKICAgICAgICAgaWYgbmFtZSBpcyBub3QgTm9uZToKICAgICAgICAgICAgIG9naWQgPSBzZWxmLmdyb3VwZGljdC5nZXQobmFtZSwgTm9uZSkKICAgICAgICAgICAgIGlmIG9naWQgaXMgbm90IE5vbmU6Ci0gICAgICAgICAgICAgICAgcmFpc2UgZXJyb3IoInJlZGVmaW5pdGlvbiBvZiBncm91cCBuYW1lICVzIGFzIGdyb3VwICVkOyAiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIndhcyBncm91cCAlZCIgJSAocmVwcihuYW1lKSwgZ2lkLCAgb2dpZCkpCisgICAgICAgICAgICAgICAgcmFpc2UgZXJyb3IoInJlZGVmaW5pdGlvbiBvZiBncm91cCBuYW1lICVyIGFzIGdyb3VwICVkOyAiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIndhcyBncm91cCAlZCIgJSAobmFtZSwgZ2lkLCAgb2dpZCkpCiAgICAgICAgICAgICBzZWxmLmdyb3VwZGljdFtuYW1lXSA9IGdpZAotICAgICAgICBzZWxmLm9wZW4uYXBwZW5kKGdpZCkKICAgICAgICAgcmV0dXJuIGdpZAotICAgIGRlZiBjbG9zZWdyb3VwKHNlbGYsIGdpZCk6Ci0gICAgICAgIHNlbGYub3Blbi5yZW1vdmUoZ2lkKQorICAgIGRlZiBjbG9zZWdyb3VwKHNlbGYsIGdpZCwgcCk6CisgICAgICAgIHNlbGYuc3VicGF0dGVybnNbZ2lkXSA9IHAKICAgICBkZWYgY2hlY2tncm91cChzZWxmLCBnaWQpOgotICAgICAgICByZXR1cm4gZ2lkIDwgc2VsZi5ncm91cHMgYW5kIGdpZCBub3QgaW4gc2VsZi5vcGVuCisgICAgICAgIHJldHVybiBnaWQgPCBzZWxmLmdyb3VwcyBhbmQgc2VsZi5zdWJwYXR0ZXJuc1tnaWRdIGlzIG5vdCBOb25lCisKKyAgICBkZWYgY2hlY2tsb29rYmVoaW5kZ3JvdXAoc2VsZiwgZ2lkLCBzb3VyY2UpOgorICAgICAgICBpZiBzZWxmLmxvb2tiZWhpbmRncm91cHMgaXMgbm90IE5vbmU6CisgICAgICAgICAgICBpZiBub3Qgc2VsZi5jaGVja2dyb3VwKGdpZCk6CisgICAgICAgICAgICAgICAgcmFpc2Ugc291cmNlLmVycm9yKCdjYW5ub3QgcmVmZXIgdG8gYW4gb3BlbiBncm91cCcpCisgICAgICAgICAgICBpZiBnaWQgPj0gc2VsZi5sb29rYmVoaW5kZ3JvdXBzOgorICAgICAgICAgICAgICAgIHJhaXNlIHNvdXJjZS5lcnJvcignY2Fubm90IHJlZmVyIHRvIGdyb3VwIGRlZmluZWQgaW4gdGhlIHNhbWUgJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbG9va2JlaGluZCBzdWJwYXR0ZXJuJykKIAogY2xhc3MgU3ViUGF0dGVybjoKICAgICAjIGEgc3VicGF0dGVybiwgaW4gaW50ZXJtZWRpYXRlIGZvcm0KQEAgLTk5LDI0ICsxMTEsMjQgQEAKICAgICAgICAgbmwgPSBUcnVlCiAgICAgICAgIHNlcXR5cGVzID0gKHR1cGxlLCBsaXN0KQogICAgICAgICBmb3Igb3AsIGF2IGluIHNlbGYuZGF0YToKLSAgICAgICAgICAgIHByaW50KGxldmVsKiIgICIgKyBvcCwgZW5kPScnKQotICAgICAgICAgICAgaWYgb3AgPT0gSU46CisgICAgICAgICAgICBwcmludChsZXZlbCoiICAiICsgc3RyKG9wKSwgZW5kPScnKQorICAgICAgICAgICAgaWYgb3AgaXMgSU46CiAgICAgICAgICAgICAgICAgIyBtZW1iZXIgc3VibGFuZ3VhZ2UKICAgICAgICAgICAgICAgICBwcmludCgpCiAgICAgICAgICAgICAgICAgZm9yIG9wLCBhIGluIGF2OgotICAgICAgICAgICAgICAgICAgICBwcmludCgobGV2ZWwrMSkqIiAgIiArIG9wLCBhKQotICAgICAgICAgICAgZWxpZiBvcCA9PSBCUkFOQ0g6CisgICAgICAgICAgICAgICAgICAgIHByaW50KChsZXZlbCsxKSoiICAiICsgc3RyKG9wKSwgYSkKKyAgICAgICAgICAgIGVsaWYgb3AgaXMgQlJBTkNIOgogICAgICAgICAgICAgICAgIHByaW50KCkKICAgICAgICAgICAgICAgICBmb3IgaSwgYSBpbiBlbnVtZXJhdGUoYXZbMV0pOgogICAgICAgICAgICAgICAgICAgICBpZiBpOgotICAgICAgICAgICAgICAgICAgICAgICAgcHJpbnQobGV2ZWwqIiAgIiArICJvciIpCisgICAgICAgICAgICAgICAgICAgICAgICBwcmludChsZXZlbCoiICAiICsgIk9SIikKICAgICAgICAgICAgICAgICAgICAgYS5kdW1wKGxldmVsKzEpCi0gICAgICAgICAgICBlbGlmIG9wID09IEdST1VQUkVGX0VYSVNUUzoKKyAgICAgICAgICAgIGVsaWYgb3AgaXMgR1JPVVBSRUZfRVhJU1RTOgogICAgICAgICAgICAgICAgIGNvbmRncm91cCwgaXRlbV95ZXMsIGl0ZW1fbm8gPSBhdgogICAgICAgICAgICAgICAgIHByaW50KCcnLCBjb25kZ3JvdXApCiAgICAgICAgICAgICAgICAgaXRlbV95ZXMuZHVtcChsZXZlbCsxKQogICAgICAgICAgICAgICAgIGlmIGl0ZW1fbm86Ci0gICAgICAgICAgICAgICAgICAgIHByaW50KGxldmVsKiIgICIgKyAiZWxzZSIpCisgICAgICAgICAgICAgICAgICAgIHByaW50KGxldmVsKiIgICIgKyAiRUxTRSIpCiAgICAgICAgICAgICAgICAgICAgIGl0ZW1fbm8uZHVtcChsZXZlbCsxKQogICAgICAgICAgICAgZWxpZiBpc2luc3RhbmNlKGF2LCBzZXF0eXBlcyk6CiAgICAgICAgICAgICAgICAgbmwgPSBGYWxzZQpAQCAtMTUzLDExICsxNjUsOSBAQAogICAgICAgICBzZWxmLmRhdGEuYXBwZW5kKGNvZGUpCiAgICAgZGVmIGdldHdpZHRoKHNlbGYpOgogICAgICAgICAjIGRldGVybWluZSB0aGUgd2lkdGggKG1pbiwgbWF4KSBmb3IgdGhpcyBzdWJwYXR0ZXJuCi0gICAgICAgIGlmIHNlbGYud2lkdGg6CisgICAgICAgIGlmIHNlbGYud2lkdGggaXMgbm90IE5vbmU6CiAgICAgICAgICAgICByZXR1cm4gc2VsZi53aWR0aAogICAgICAgICBsbyA9IGhpID0gMAotICAgICAgICBVTklUQ09ERVMgPSAoQU5ZLCBSQU5HRSwgSU4sIExJVEVSQUwsIE5PVF9MSVRFUkFMLCBDQVRFR09SWSkKLSAgICAgICAgUkVQRUFUQ09ERVMgPSAoTUlOX1JFUEVBVCwgTUFYX1JFUEVBVCkKICAgICAgICAgZm9yIG9wLCBhdiBpbiBzZWxmLmRhdGE6CiAgICAgICAgICAgICBpZiBvcCBpcyBCUkFOQ0g6CiAgICAgICAgICAgICAgICAgaSA9IE1BWFJFUEVBVCAtIDEKQEAgLTE3NiwxNCArMTg2LDI4IEBACiAgICAgICAgICAgICAgICAgaSwgaiA9IGF2WzFdLmdldHdpZHRoKCkKICAgICAgICAgICAgICAgICBsbyA9IGxvICsgaQogICAgICAgICAgICAgICAgIGhpID0gaGkgKyBqCi0gICAgICAgICAgICBlbGlmIG9wIGluIFJFUEVBVENPREVTOgorICAgICAgICAgICAgZWxpZiBvcCBpbiBfUkVQRUFUQ09ERVM6CiAgICAgICAgICAgICAgICAgaSwgaiA9IGF2WzJdLmdldHdpZHRoKCkKICAgICAgICAgICAgICAgICBsbyA9IGxvICsgaSAqIGF2WzBdCiAgICAgICAgICAgICAgICAgaGkgPSBoaSArIGogKiBhdlsxXQotICAgICAgICAgICAgZWxpZiBvcCBpbiBVTklUQ09ERVM6CisgICAgICAgICAgICBlbGlmIG9wIGluIF9VTklUQ09ERVM6CiAgICAgICAgICAgICAgICAgbG8gPSBsbyArIDEKICAgICAgICAgICAgICAgICBoaSA9IGhpICsgMQotICAgICAgICAgICAgZWxpZiBvcCA9PSBTVUNDRVNTOgorICAgICAgICAgICAgZWxpZiBvcCBpcyBHUk9VUFJFRjoKKyAgICAgICAgICAgICAgICBpLCBqID0gc2VsZi5wYXR0ZXJuLnN1YnBhdHRlcm5zW2F2XS5nZXR3aWR0aCgpCisgICAgICAgICAgICAgICAgbG8gPSBsbyArIGkKKyAgICAgICAgICAgICAgICBoaSA9IGhpICsgagorICAgICAgICAgICAgZWxpZiBvcCBpcyBHUk9VUFJFRl9FWElTVFM6CisgICAgICAgICAgICAgICAgaSwgaiA9IGF2WzFdLmdldHdpZHRoKCkKKyAgICAgICAgICAgICAgICBpZiBhdlsyXSBpcyBub3QgTm9uZToKKyAgICAgICAgICAgICAgICAgICAgbCwgaCA9IGF2WzJdLmdldHdpZHRoKCkKKyAgICAgICAgICAgICAgICAgICAgaSA9IG1pbihpLCBsKQorICAgICAgICAgICAgICAgICAgICBqID0gbWF4KGosIGgpCisgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgaSA9IDAKKyAgICAgICAgICAgICAgICBsbyA9IGxvICsgaQorICAgICAgICAgICAgICAgIGhpID0gaGkgKyBqCisgICAgICAgICAgICBlbGlmIG9wIGlzIFNVQ0NFU1M6CiAgICAgICAgICAgICAgICAgYnJlYWsKICAgICAgICAgc2VsZi53aWR0aCA9IG1pbihsbywgTUFYUkVQRUFUIC0gMSksIG1pbihoaSwgTUFYUkVQRUFUKQogICAgICAgICByZXR1cm4gc2VsZi53aWR0aApAQCAtMTkyLDMzICsyMTYsMzMgQEAKICAgICBkZWYgX19pbml0X18oc2VsZiwgc3RyaW5nKToKICAgICAgICAgc2VsZi5pc3RleHQgPSBpc2luc3RhbmNlKHN0cmluZywgc3RyKQogICAgICAgICBzZWxmLnN0cmluZyA9IHN0cmluZworICAgICAgICBpZiBub3Qgc2VsZi5pc3RleHQ6CisgICAgICAgICAgICBzdHJpbmcgPSBzdHIoc3RyaW5nLCAnbGF0aW4xJykKKyAgICAgICAgc2VsZi5kZWNvZGVkX3N0cmluZyA9IHN0cmluZwogICAgICAgICBzZWxmLmluZGV4ID0gMAorICAgICAgICBzZWxmLm5leHQgPSBOb25lCiAgICAgICAgIHNlbGYuX19uZXh0KCkKICAgICBkZWYgX19uZXh0KHNlbGYpOgotICAgICAgICBpZiBzZWxmLmluZGV4ID49IGxlbihzZWxmLnN0cmluZyk6CisgICAgICAgIGluZGV4ID0gc2VsZi5pbmRleAorICAgICAgICB0cnk6CisgICAgICAgICAgICBjaGFyID0gc2VsZi5kZWNvZGVkX3N0cmluZ1tpbmRleF0KKyAgICAgICAgZXhjZXB0IEluZGV4RXJyb3I6CiAgICAgICAgICAgICBzZWxmLm5leHQgPSBOb25lCiAgICAgICAgICAgICByZXR1cm4KLSAgICAgICAgY2hhciA9IHNlbGYuc3RyaW5nW3NlbGYuaW5kZXg6c2VsZi5pbmRleCsxXQotICAgICAgICAjIFNwZWNpYWwgY2FzZSBmb3IgdGhlIHN0cjgsIHNpbmNlIGluZGV4aW5nIHJldHVybnMgYSBpbnRlZ2VyCi0gICAgICAgICMgWFhYIFRoaXMgaXMgb25seSBuZWVkZWQgZm9yIHRlc3RfYnVnXzkyNjA3NSBpbiB0ZXN0X3JlLnB5Ci0gICAgICAgIGlmIGNoYXIgYW5kIG5vdCBzZWxmLmlzdGV4dDoKLSAgICAgICAgICAgIGNoYXIgPSBjaHIoY2hhclswXSkKICAgICAgICAgaWYgY2hhciA9PSAiXFwiOgorICAgICAgICAgICAgaW5kZXggKz0gMQogICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgIGMgPSBzZWxmLnN0cmluZ1tzZWxmLmluZGV4ICsgMV0KKyAgICAgICAgICAgICAgICBjaGFyICs9IHNlbGYuZGVjb2RlZF9zdHJpbmdbaW5kZXhdCiAgICAgICAgICAgICBleGNlcHQgSW5kZXhFcnJvcjoKLSAgICAgICAgICAgICAgICByYWlzZSBlcnJvcigiYm9ndXMgZXNjYXBlIChlbmQgb2YgbGluZSkiKQotICAgICAgICAgICAgaWYgbm90IHNlbGYuaXN0ZXh0OgotICAgICAgICAgICAgICAgIGMgPSBjaHIoYykKLSAgICAgICAgICAgIGNoYXIgPSBjaGFyICsgYwotICAgICAgICBzZWxmLmluZGV4ID0gc2VsZi5pbmRleCArIGxlbihjaGFyKQorICAgICAgICAgICAgICAgIHJhaXNlIGVycm9yKCJib2d1cyBlc2NhcGUgKGVuZCBvZiBsaW5lKSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5zdHJpbmcsIGxlbihzZWxmLnN0cmluZykgLSAxKSBmcm9tIE5vbmUKKyAgICAgICAgc2VsZi5pbmRleCA9IGluZGV4ICsgMQogICAgICAgICBzZWxmLm5leHQgPSBjaGFyCi0gICAgZGVmIG1hdGNoKHNlbGYsIGNoYXIsIHNraXA9MSk6CisgICAgZGVmIG1hdGNoKHNlbGYsIGNoYXIpOgogICAgICAgICBpZiBjaGFyID09IHNlbGYubmV4dDoKLSAgICAgICAgICAgIGlmIHNraXA6Ci0gICAgICAgICAgICAgICAgc2VsZi5fX25leHQoKQotICAgICAgICAgICAgcmV0dXJuIDEKLSAgICAgICAgcmV0dXJuIDAKKyAgICAgICAgICAgIHNlbGYuX19uZXh0KCkKKyAgICAgICAgICAgIHJldHVybiBUcnVlCisgICAgICAgIHJldHVybiBGYWxzZQogICAgIGRlZiBnZXQoc2VsZik6CiAgICAgICAgIHRoaXMgPSBzZWxmLm5leHQKICAgICAgICAgc2VsZi5fX25leHQoKQpAQCAtMjMyLDEwICsyNTYsMjUgQEAKICAgICAgICAgICAgIHJlc3VsdCArPSBjCiAgICAgICAgICAgICBzZWxmLl9fbmV4dCgpCiAgICAgICAgIHJldHVybiByZXN1bHQKKyAgICBkZWYgZ2V0dW50aWwoc2VsZiwgdGVybWluYXRvcik6CisgICAgICAgIHJlc3VsdCA9ICcnCisgICAgICAgIHdoaWxlIFRydWU6CisgICAgICAgICAgICBjID0gc2VsZi5uZXh0CisgICAgICAgICAgICBzZWxmLl9fbmV4dCgpCisgICAgICAgICAgICBpZiBjIGlzIE5vbmU6CisgICAgICAgICAgICAgICAgcmFpc2Ugc2VsZi5lcnJvcigidW50ZXJtaW5hdGVkIG5hbWUiKQorICAgICAgICAgICAgaWYgYyA9PSB0ZXJtaW5hdG9yOgorICAgICAgICAgICAgICAgIGJyZWFrCisgICAgICAgICAgICByZXN1bHQgKz0gYworICAgICAgICByZXR1cm4gcmVzdWx0CiAgICAgZGVmIHRlbGwoc2VsZik6Ci0gICAgICAgIHJldHVybiBzZWxmLmluZGV4LCBzZWxmLm5leHQKKyAgICAgICAgcmV0dXJuIHNlbGYuaW5kZXggLSBsZW4oc2VsZi5uZXh0IG9yICcnKQogICAgIGRlZiBzZWVrKHNlbGYsIGluZGV4KToKLSAgICAgICAgc2VsZi5pbmRleCwgc2VsZi5uZXh0ID0gaW5kZXgKKyAgICAgICAgc2VsZi5pbmRleCA9IGluZGV4CisgICAgICAgIHNlbGYuX19uZXh0KCkKKworICAgIGRlZiBlcnJvcihzZWxmLCBtc2csIG9mZnNldD0wKToKKyAgICAgICAgcmV0dXJuIGVycm9yKG1zZywgc2VsZi5zdHJpbmcsIHNlbGYudGVsbCgpIC0gb2Zmc2V0KQogCiAjIFRoZSBmb2xsb3dpbmcgdGhyZWUgZnVuY3Rpb25zIGFyZSBub3QgdXNlZCBpbiB0aGlzIG1vZHVsZSBhbnltb3JlLCBidXQgd2Uga2VlcAogIyB0aGVtIGhlcmUgKHdpdGggRGVwcmVjYXRpb25XYXJuaW5ncykgZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5LgpAQCAtMjcwLDcgKzMwOSw3IEBACiAgICAgaWYgY29kZToKICAgICAgICAgcmV0dXJuIGNvZGUKICAgICBjb2RlID0gQ0FURUdPUklFUy5nZXQoZXNjYXBlKQotICAgIGlmIGNvZGUgYW5kIGNvZGVbMF0gPT0gSU46CisgICAgaWYgY29kZSBhbmQgY29kZVswXSBpcyBJTjoKICAgICAgICAgcmV0dXJuIGNvZGUKICAgICB0cnk6CiAgICAgICAgIGMgPSBlc2NhcGVbMToyXQpAQCAtMjc5LDcgKzMxOCw3IEBACiAgICAgICAgICAgICBlc2NhcGUgKz0gc291cmNlLmdldHdoaWxlKDIsIEhFWERJR0lUUykKICAgICAgICAgICAgIGlmIGxlbihlc2NhcGUpICE9IDQ6CiAgICAgICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcgotICAgICAgICAgICAgcmV0dXJuIExJVEVSQUwsIGludChlc2NhcGVbMjpdLCAxNikgJiAweGZmCisgICAgICAgICAgICByZXR1cm4gTElURVJBTCwgaW50KGVzY2FwZVsyOl0sIDE2KQogICAgICAgICBlbGlmIGMgPT0gInUiIGFuZCBzb3VyY2UuaXN0ZXh0OgogICAgICAgICAgICAgIyB1bmljb2RlIGVzY2FwZSAoZXhhY3RseSBmb3VyIGRpZ2l0cykKICAgICAgICAgICAgIGVzY2FwZSArPSBzb3VyY2UuZ2V0d2hpbGUoNCwgSEVYRElHSVRTKQpAQCAtMjk3LDE0ICszMzYsMTggQEAKICAgICAgICAgZWxpZiBjIGluIE9DVERJR0lUUzoKICAgICAgICAgICAgICMgb2N0YWwgZXNjYXBlICh1cCB0byB0aHJlZSBkaWdpdHMpCiAgICAgICAgICAgICBlc2NhcGUgKz0gc291cmNlLmdldHdoaWxlKDIsIE9DVERJR0lUUykKLSAgICAgICAgICAgIHJldHVybiBMSVRFUkFMLCBpbnQoZXNjYXBlWzE6XSwgOCkgJiAweGZmCisgICAgICAgICAgICBjID0gaW50KGVzY2FwZVsxOl0sIDgpCisgICAgICAgICAgICBpZiBjID4gMG8zNzc6CisgICAgICAgICAgICAgICAgcmFpc2Ugc291cmNlLmVycm9yKCdvY3RhbCBlc2NhcGUgdmFsdWUgJXIgb3V0c2lkZSBvZiAnCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyYW5nZSAwLTBvMzc3JyAlIGVzY2FwZSwgbGVuKGVzY2FwZSkpCisgICAgICAgICAgICByZXR1cm4gTElURVJBTCwgYwogICAgICAgICBlbGlmIGMgaW4gRElHSVRTOgogICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcgogICAgICAgICBpZiBsZW4oZXNjYXBlKSA9PSAyOgogICAgICAgICAgICAgcmV0dXJuIExJVEVSQUwsIG9yZChlc2NhcGVbMV0pCiAgICAgZXhjZXB0IFZhbHVlRXJyb3I6CiAgICAgICAgIHBhc3MKLSAgICByYWlzZSBlcnJvcigiYm9ndXMgZXNjYXBlOiAlcyIgJSByZXByKGVzY2FwZSkpCisgICAgcmFpc2Ugc291cmNlLmVycm9yKCJib2d1cyBlc2NhcGU6ICVyIiAlIGVzY2FwZSwgbGVuKGVzY2FwZSkpCiAKIGRlZiBfZXNjYXBlKHNvdXJjZSwgZXNjYXBlLCBzdGF0ZSk6CiAgICAgIyBoYW5kbGUgZXNjYXBlIGNvZGUgaW4gZXhwcmVzc2lvbgpAQCAtMzIxLDcgKzM2NCw3IEBACiAgICAgICAgICAgICBlc2NhcGUgKz0gc291cmNlLmdldHdoaWxlKDIsIEhFWERJR0lUUykKICAgICAgICAgICAgIGlmIGxlbihlc2NhcGUpICE9IDQ6CiAgICAgICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcgotICAgICAgICAgICAgcmV0dXJuIExJVEVSQUwsIGludChlc2NhcGVbMjpdLCAxNikgJiAweGZmCisgICAgICAgICAgICByZXR1cm4gTElURVJBTCwgaW50KGVzY2FwZVsyOl0sIDE2KQogICAgICAgICBlbGlmIGMgPT0gInUiIGFuZCBzb3VyY2UuaXN0ZXh0OgogICAgICAgICAgICAgIyB1bmljb2RlIGVzY2FwZSAoZXhhY3RseSBmb3VyIGRpZ2l0cykKICAgICAgICAgICAgIGVzY2FwZSArPSBzb3VyY2UuZ2V0d2hpbGUoNCwgSEVYRElHSVRTKQpAQCAtMzM5LDUwICszODIsNDggQEAKICAgICAgICAgZWxpZiBjID09ICIwIjoKICAgICAgICAgICAgICMgb2N0YWwgZXNjYXBlCiAgICAgICAgICAgICBlc2NhcGUgKz0gc291cmNlLmdldHdoaWxlKDIsIE9DVERJR0lUUykKLSAgICAgICAgICAgIHJldHVybiBMSVRFUkFMLCBpbnQoZXNjYXBlWzE6XSwgOCkgJiAweGZmCisgICAgICAgICAgICByZXR1cm4gTElURVJBTCwgaW50KGVzY2FwZVsxOl0sIDgpCiAgICAgICAgIGVsaWYgYyBpbiBESUdJVFM6CiAgICAgICAgICAgICAjIG9jdGFsIGVzY2FwZSAqb3IqIGRlY2ltYWwgZ3JvdXAgcmVmZXJlbmNlIChzaWdoKQogICAgICAgICAgICAgaWYgc291cmNlLm5leHQgaW4gRElHSVRTOgotICAgICAgICAgICAgICAgIGVzY2FwZSA9IGVzY2FwZSArIHNvdXJjZS5nZXQoKQorICAgICAgICAgICAgICAgIGVzY2FwZSArPSBzb3VyY2UuZ2V0KCkKICAgICAgICAgICAgICAgICBpZiAoZXNjYXBlWzFdIGluIE9DVERJR0lUUyBhbmQgZXNjYXBlWzJdIGluIE9DVERJR0lUUyBhbmQKICAgICAgICAgICAgICAgICAgICAgc291cmNlLm5leHQgaW4gT0NURElHSVRTKToKICAgICAgICAgICAgICAgICAgICAgIyBnb3QgdGhyZWUgb2N0YWwgZGlnaXRzOyB0aGlzIGlzIGFuIG9jdGFsIGVzY2FwZQotICAgICAgICAgICAgICAgICAgICBlc2NhcGUgPSBlc2NhcGUgKyBzb3VyY2UuZ2V0KCkKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIExJVEVSQUwsIGludChlc2NhcGVbMTpdLCA4KSAmIDB4ZmYKKyAgICAgICAgICAgICAgICAgICAgZXNjYXBlICs9IHNvdXJjZS5nZXQoKQorICAgICAgICAgICAgICAgICAgICBjID0gaW50KGVzY2FwZVsxOl0sIDgpCisgICAgICAgICAgICAgICAgICAgIGlmIGMgPiAwbzM3NzoKKyAgICAgICAgICAgICAgICAgICAgICAgIHJhaXNlIHNvdXJjZS5lcnJvcignb2N0YWwgZXNjYXBlIHZhbHVlICVyIG91dHNpZGUgb2YgJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyYW5nZSAwLTBvMzc3JyAlIGVzY2FwZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZW4oZXNjYXBlKSkKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIExJVEVSQUwsIGMKICAgICAgICAgICAgICMgbm90IGFuIG9jdGFsIGVzY2FwZSwgc28gdGhpcyBpcyBhIGdyb3VwIHJlZmVyZW5jZQogICAgICAgICAgICAgZ3JvdXAgPSBpbnQoZXNjYXBlWzE6XSkKICAgICAgICAgICAgIGlmIGdyb3VwIDwgc3RhdGUuZ3JvdXBzOgogICAgICAgICAgICAgICAgIGlmIG5vdCBzdGF0ZS5jaGVja2dyb3VwKGdyb3VwKToKLSAgICAgICAgICAgICAgICAgICAgcmFpc2UgZXJyb3IoImNhbm5vdCByZWZlciB0byBvcGVuIGdyb3VwIikKLSAgICAgICAgICAgICAgICBpZiBzdGF0ZS5sb29rYmVoaW5kOgotICAgICAgICAgICAgICAgICAgICBpbXBvcnQgd2FybmluZ3MKLSAgICAgICAgICAgICAgICAgICAgd2FybmluZ3Mud2FybignZ3JvdXAgcmVmZXJlbmNlcyBpbiBsb29rYmVoaW5kICcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYXNzZXJ0aW9ucyBhcmUgbm90IHN1cHBvcnRlZCcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUnVudGltZVdhcm5pbmcpCisgICAgICAgICAgICAgICAgICAgIHJhaXNlIHNvdXJjZS5lcnJvcigiY2Fubm90IHJlZmVyIHRvIG9wZW4gZ3JvdXAiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVuKGVzY2FwZSkpCisgICAgICAgICAgICAgICAgc3RhdGUuY2hlY2tsb29rYmVoaW5kZ3JvdXAoZ3JvdXAsIHNvdXJjZSkKICAgICAgICAgICAgICAgICByZXR1cm4gR1JPVVBSRUYsIGdyb3VwCiAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yCiAgICAgICAgIGlmIGxlbihlc2NhcGUpID09IDI6CiAgICAgICAgICAgICByZXR1cm4gTElURVJBTCwgb3JkKGVzY2FwZVsxXSkKICAgICBleGNlcHQgVmFsdWVFcnJvcjoKICAgICAgICAgcGFzcwotICAgIHJhaXNlIGVycm9yKCJib2d1cyBlc2NhcGU6ICVzIiAlIHJlcHIoZXNjYXBlKSkKKyAgICByYWlzZSBzb3VyY2UuZXJyb3IoImJvZ3VzIGVzY2FwZTogJXIiICUgZXNjYXBlLCBsZW4oZXNjYXBlKSkKIAotZGVmIF9wYXJzZV9zdWIoc291cmNlLCBzdGF0ZSwgbmVzdGVkPTEpOgorZGVmIF9wYXJzZV9zdWIoc291cmNlLCBzdGF0ZSwgbmVzdGVkPVRydWUpOgogICAgICMgcGFyc2UgYW4gYWx0ZXJuYXRpb246IGF8YnxjCiAKICAgICBpdGVtcyA9IFtdCiAgICAgaXRlbXNhcHBlbmQgPSBpdGVtcy5hcHBlbmQKICAgICBzb3VyY2VtYXRjaCA9IHNvdXJjZS5tYXRjaAotICAgIHdoaWxlIDE6CisgICAgd2hpbGUgVHJ1ZToKICAgICAgICAgaXRlbXNhcHBlbmQoX3BhcnNlKHNvdXJjZSwgc3RhdGUpKQotICAgICAgICBpZiBzb3VyY2VtYXRjaCgifCIpOgotICAgICAgICAgICAgY29udGludWUKLSAgICAgICAgaWYgbm90IG5lc3RlZDoKKyAgICAgICAgaWYgbm90IHNvdXJjZW1hdGNoKCJ8Iik6CiAgICAgICAgICAgICBicmVhawotICAgICAgICBpZiBub3Qgc291cmNlLm5leHQgb3Igc291cmNlbWF0Y2goIikiLCAwKToKLSAgICAgICAgICAgIGJyZWFrCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICByYWlzZSBlcnJvcigicGF0dGVybiBub3QgcHJvcGVybHkgY2xvc2VkIikKKyAgICBpZiBuZXN0ZWQgYW5kIHNvdXJjZS5uZXh0IGlzIG5vdCBOb25lIGFuZCBzb3VyY2UubmV4dCAhPSAiKSI6CisgICAgICAgIHJhaXNlIHNvdXJjZS5lcnJvcigicGF0dGVybiBub3QgcHJvcGVybHkgY2xvc2VkIikKIAogICAgIGlmIGxlbihpdGVtcykgPT0gMToKICAgICAgICAgcmV0dXJuIGl0ZW1zWzBdCkBAIC0zOTEsNyArNDMyLDcgQEAKICAgICBzdWJwYXR0ZXJuYXBwZW5kID0gc3VicGF0dGVybi5hcHBlbmQKIAogICAgICMgY2hlY2sgaWYgYWxsIGl0ZW1zIHNoYXJlIGEgY29tbW9uIHByZWZpeAotICAgIHdoaWxlIDE6CisgICAgd2hpbGUgVHJ1ZToKICAgICAgICAgcHJlZml4ID0gTm9uZQogICAgICAgICBmb3IgaXRlbSBpbiBpdGVtczoKICAgICAgICAgICAgIGlmIG5vdCBpdGVtOgpAQCAtNDExLDE2ICs0NTIsMTIgQEAKIAogICAgICMgY2hlY2sgaWYgdGhlIGJyYW5jaCBjYW4gYmUgcmVwbGFjZWQgYnkgYSBjaGFyYWN0ZXIgc2V0CiAgICAgZm9yIGl0ZW0gaW4gaXRlbXM6Ci0gICAgICAgIGlmIGxlbihpdGVtKSAhPSAxIG9yIGl0ZW1bMF1bMF0gIT0gTElURVJBTDoKKyAgICAgICAgaWYgbGVuKGl0ZW0pICE9IDEgb3IgaXRlbVswXVswXSBpcyBub3QgTElURVJBTDoKICAgICAgICAgICAgIGJyZWFrCiAgICAgZWxzZToKICAgICAgICAgIyB3ZSBjYW4gc3RvcmUgdGhpcyBhcyBhIGNoYXJhY3RlciBzZXQgaW5zdGVhZCBvZiBhCiAgICAgICAgICMgYnJhbmNoICh0aGUgY29tcGlsZXIgbWF5IG9wdGltaXplIHRoaXMgZXZlbiBtb3JlKQotICAgICAgICBzZXQgPSBbXQotICAgICAgICBzZXRhcHBlbmQgPSBzZXQuYXBwZW5kCi0gICAgICAgIGZvciBpdGVtIGluIGl0ZW1zOgotICAgICAgICAgICAgc2V0YXBwZW5kKGl0ZW1bMF0pCi0gICAgICAgIHN1YnBhdHRlcm5hcHBlbmQoKElOLCBzZXQpKQorICAgICAgICBzdWJwYXR0ZXJuYXBwZW5kKChJTiwgW2l0ZW1bMF0gZm9yIGl0ZW0gaW4gaXRlbXNdKSkKICAgICAgICAgcmV0dXJuIHN1YnBhdHRlcm4KIAogICAgIHN1YnBhdHRlcm4uYXBwZW5kKChCUkFOQ0gsIChOb25lLCBpdGVtcykpKQpAQCAtNDMwLDIxICs0NjcsMTYgQEAKICAgICBpdGVtX3llcyA9IF9wYXJzZShzb3VyY2UsIHN0YXRlKQogICAgIGlmIHNvdXJjZS5tYXRjaCgifCIpOgogICAgICAgICBpdGVtX25vID0gX3BhcnNlKHNvdXJjZSwgc3RhdGUpCi0gICAgICAgIGlmIHNvdXJjZS5tYXRjaCgifCIpOgotICAgICAgICAgICAgcmFpc2UgZXJyb3IoImNvbmRpdGlvbmFsIGJhY2tyZWYgd2l0aCBtb3JlIHRoYW4gdHdvIGJyYW5jaGVzIikKKyAgICAgICAgaWYgc291cmNlLm5leHQgPT0gInwiOgorICAgICAgICAgICAgcmFpc2Ugc291cmNlLmVycm9yKCJjb25kaXRpb25hbCBiYWNrcmVmIHdpdGggbW9yZSB0aGFuIHR3byBicmFuY2hlcyIpCiAgICAgZWxzZToKICAgICAgICAgaXRlbV9ubyA9IE5vbmUKLSAgICBpZiBzb3VyY2UubmV4dCBhbmQgbm90IHNvdXJjZS5tYXRjaCgiKSIsIDApOgotICAgICAgICByYWlzZSBlcnJvcigicGF0dGVybiBub3QgcHJvcGVybHkgY2xvc2VkIikKKyAgICBpZiBzb3VyY2UubmV4dCBpcyBub3QgTm9uZSBhbmQgc291cmNlLm5leHQgIT0gIikiOgorICAgICAgICByYWlzZSBzb3VyY2UuZXJyb3IoInBhdHRlcm4gbm90IHByb3Blcmx5IGNsb3NlZCIpCiAgICAgc3VicGF0dGVybiA9IFN1YlBhdHRlcm4oc3RhdGUpCiAgICAgc3VicGF0dGVybi5hcHBlbmQoKEdST1VQUkVGX0VYSVNUUywgKGNvbmRncm91cCwgaXRlbV95ZXMsIGl0ZW1fbm8pKSkKICAgICByZXR1cm4gc3VicGF0dGVybgogCi1fUEFUVEVSTkVOREVSUyA9IHNldCgifCkiKQotX0FTU0VSVENIQVJTID0gc2V0KCI9ITwiKQotX0xPT0tCRUhJTkRBU1NFUlRDSEFSUyA9IHNldCgiPSEiKQotX1JFUEVBVENPREVTID0gc2V0KFtNSU5fUkVQRUFULCBNQVhfUkVQRUFUXSkKLQogZGVmIF9wYXJzZShzb3VyY2UsIHN0YXRlKToKICAgICAjIHBhcnNlIGEgc2ltcGxlIHBhdHRlcm4KICAgICBzdWJwYXR0ZXJuID0gU3ViUGF0dGVybihzdGF0ZSkKQEAgLTQ1NCwzMiArNDg2LDM1IEBACiAgICAgc291cmNlZ2V0ID0gc291cmNlLmdldAogICAgIHNvdXJjZW1hdGNoID0gc291cmNlLm1hdGNoCiAgICAgX2xlbiA9IGxlbgotICAgIFBBVFRFUk5FTkRFUlMgPSBfUEFUVEVSTkVOREVSUwotICAgIEFTU0VSVENIQVJTID0gX0FTU0VSVENIQVJTCi0gICAgTE9PS0JFSElOREFTU0VSVENIQVJTID0gX0xPT0tCRUhJTkRBU1NFUlRDSEFSUwotICAgIFJFUEVBVENPREVTID0gX1JFUEVBVENPREVTCisgICAgX29yZCA9IG9yZAorICAgIHZlcmJvc2UgPSBzdGF0ZS5mbGFncyAmIFNSRV9GTEFHX1ZFUkJPU0UKIAotICAgIHdoaWxlIDE6CisgICAgd2hpbGUgVHJ1ZToKIAotICAgICAgICBpZiBzb3VyY2UubmV4dCBpbiBQQVRURVJORU5ERVJTOgotICAgICAgICAgICAgYnJlYWsgIyBlbmQgb2Ygc3VicGF0dGVybgotICAgICAgICB0aGlzID0gc291cmNlZ2V0KCkKKyAgICAgICAgdGhpcyA9IHNvdXJjZS5uZXh0CiAgICAgICAgIGlmIHRoaXMgaXMgTm9uZToKICAgICAgICAgICAgIGJyZWFrICMgZW5kIG9mIHBhdHRlcm4KKyAgICAgICAgaWYgdGhpcyBpbiAifCkiOgorICAgICAgICAgICAgYnJlYWsgIyBlbmQgb2Ygc3VicGF0dGVybgorICAgICAgICBzb3VyY2VnZXQoKQogCi0gICAgICAgIGlmIHN0YXRlLmZsYWdzICYgU1JFX0ZMQUdfVkVSQk9TRToKKyAgICAgICAgaWYgdmVyYm9zZToKICAgICAgICAgICAgICMgc2tpcCB3aGl0ZXNwYWNlIGFuZCBjb21tZW50cwogICAgICAgICAgICAgaWYgdGhpcyBpbiBXSElURVNQQUNFOgogICAgICAgICAgICAgICAgIGNvbnRpbnVlCiAgICAgICAgICAgICBpZiB0aGlzID09ICIjIjoKLSAgICAgICAgICAgICAgICB3aGlsZSAxOgorICAgICAgICAgICAgICAgIHdoaWxlIFRydWU6CiAgICAgICAgICAgICAgICAgICAgIHRoaXMgPSBzb3VyY2VnZXQoKQotICAgICAgICAgICAgICAgICAgICBpZiB0aGlzIGluIChOb25lLCAiXG4iKToKKyAgICAgICAgICAgICAgICAgICAgaWYgdGhpcyBpcyBOb25lIG9yIHRoaXMgPT0gIlxuIjoKICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrCiAgICAgICAgICAgICAgICAgY29udGludWUKIAotICAgICAgICBpZiB0aGlzIGFuZCB0aGlzWzBdIG5vdCBpbiBTUEVDSUFMX0NIQVJTOgotICAgICAgICAgICAgc3VicGF0dGVybmFwcGVuZCgoTElURVJBTCwgb3JkKHRoaXMpKSkKKyAgICAgICAgaWYgdGhpc1swXSA9PSAiXFwiOgorICAgICAgICAgICAgY29kZSA9IF9lc2NhcGUoc291cmNlLCB0aGlzLCBzdGF0ZSkKKyAgICAgICAgICAgIHN1YnBhdHRlcm5hcHBlbmQoY29kZSkKKworICAgICAgICBlbGlmIHRoaXMgbm90IGluIFNQRUNJQUxfQ0hBUlM6CisgICAgICAgICAgICBzdWJwYXR0ZXJuYXBwZW5kKChMSVRFUkFMLCBfb3JkKHRoaXMpKSkKIAogICAgICAgICBlbGlmIHRoaXMgPT0gIlsiOgogICAgICAgICAgICAgIyBjaGFyYWN0ZXIgc2V0CkBAIC00OTEsMzkgKzUyNiwzOCBAQAogICAgICAgICAgICAgICAgIHNldGFwcGVuZCgoTkVHQVRFLCBOb25lKSkKICAgICAgICAgICAgICMgY2hlY2sgcmVtYWluaW5nIGNoYXJhY3RlcnMKICAgICAgICAgICAgIHN0YXJ0ID0gc2V0WzpdCi0gICAgICAgICAgICB3aGlsZSAxOgorICAgICAgICAgICAgd2hpbGUgVHJ1ZToKICAgICAgICAgICAgICAgICB0aGlzID0gc291cmNlZ2V0KCkKKyAgICAgICAgICAgICAgICBpZiB0aGlzIGlzIE5vbmU6CisgICAgICAgICAgICAgICAgICAgIHJhaXNlIHNvdXJjZS5lcnJvcigidW5leHBlY3RlZCBlbmQgb2YgcmVndWxhciBleHByZXNzaW9uIikKICAgICAgICAgICAgICAgICBpZiB0aGlzID09ICJdIiBhbmQgc2V0ICE9IHN0YXJ0OgogICAgICAgICAgICAgICAgICAgICBicmVhawotICAgICAgICAgICAgICAgIGVsaWYgdGhpcyBhbmQgdGhpc1swXSA9PSAiXFwiOgorICAgICAgICAgICAgICAgIGVsaWYgdGhpc1swXSA9PSAiXFwiOgogICAgICAgICAgICAgICAgICAgICBjb2RlMSA9IF9jbGFzc19lc2NhcGUoc291cmNlLCB0aGlzKQotICAgICAgICAgICAgICAgIGVsaWYgdGhpczoKLSAgICAgICAgICAgICAgICAgICAgY29kZTEgPSBMSVRFUkFMLCBvcmQodGhpcykKICAgICAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgICAgICByYWlzZSBlcnJvcigidW5leHBlY3RlZCBlbmQgb2YgcmVndWxhciBleHByZXNzaW9uIikKKyAgICAgICAgICAgICAgICAgICAgY29kZTEgPSBMSVRFUkFMLCBfb3JkKHRoaXMpCiAgICAgICAgICAgICAgICAgaWYgc291cmNlbWF0Y2goIi0iKToKICAgICAgICAgICAgICAgICAgICAgIyBwb3RlbnRpYWwgcmFuZ2UKICAgICAgICAgICAgICAgICAgICAgdGhpcyA9IHNvdXJjZWdldCgpCisgICAgICAgICAgICAgICAgICAgIGlmIHRoaXMgaXMgTm9uZToKKyAgICAgICAgICAgICAgICAgICAgICAgIHJhaXNlIHNvdXJjZS5lcnJvcigidW5leHBlY3RlZCBlbmQgb2YgcmVndWxhciBleHByZXNzaW9uIikKICAgICAgICAgICAgICAgICAgICAgaWYgdGhpcyA9PSAiXSI6CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiBjb2RlMVswXSBpcyBJTjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2RlMSA9IGNvZGUxWzFdWzBdCiAgICAgICAgICAgICAgICAgICAgICAgICBzZXRhcHBlbmQoY29kZTEpCi0gICAgICAgICAgICAgICAgICAgICAgICBzZXRhcHBlbmQoKExJVEVSQUwsIG9yZCgiLSIpKSkKKyAgICAgICAgICAgICAgICAgICAgICAgIHNldGFwcGVuZCgoTElURVJBTCwgX29yZCgiLSIpKSkKICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrCi0gICAgICAgICAgICAgICAgICAgIGVsaWYgdGhpczoKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmIHRoaXNbMF0gPT0gIlxcIjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2RlMiA9IF9jbGFzc19lc2NhcGUoc291cmNlLCB0aGlzKQotICAgICAgICAgICAgICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2RlMiA9IExJVEVSQUwsIG9yZCh0aGlzKQotICAgICAgICAgICAgICAgICAgICAgICAgaWYgY29kZTFbMF0gIT0gTElURVJBTCBvciBjb2RlMlswXSAhPSBMSVRFUkFMOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJhaXNlIGVycm9yKCJiYWQgY2hhcmFjdGVyIHJhbmdlIikKLSAgICAgICAgICAgICAgICAgICAgICAgIGxvID0gY29kZTFbMV0KLSAgICAgICAgICAgICAgICAgICAgICAgIGhpID0gY29kZTJbMV0KLSAgICAgICAgICAgICAgICAgICAgICAgIGlmIGhpIDwgbG86Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmFpc2UgZXJyb3IoImJhZCBjaGFyYWN0ZXIgcmFuZ2UiKQotICAgICAgICAgICAgICAgICAgICAgICAgc2V0YXBwZW5kKChSQU5HRSwgKGxvLCBoaSkpKQorICAgICAgICAgICAgICAgICAgICBpZiB0aGlzWzBdID09ICJcXCI6CisgICAgICAgICAgICAgICAgICAgICAgICBjb2RlMiA9IF9jbGFzc19lc2NhcGUoc291cmNlLCB0aGlzKQogICAgICAgICAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgICAgICAgICAgcmFpc2UgZXJyb3IoInVuZXhwZWN0ZWQgZW5kIG9mIHJlZ3VsYXIgZXhwcmVzc2lvbiIpCisgICAgICAgICAgICAgICAgICAgICAgICBjb2RlMiA9IExJVEVSQUwsIF9vcmQodGhpcykKKyAgICAgICAgICAgICAgICAgICAgaWYgY29kZTFbMF0gIT0gTElURVJBTCBvciBjb2RlMlswXSAhPSBMSVRFUkFMOgorICAgICAgICAgICAgICAgICAgICAgICAgcmFpc2Ugc291cmNlLmVycm9yKCJiYWQgY2hhcmFjdGVyIHJhbmdlIiwgbGVuKHRoaXMpKQorICAgICAgICAgICAgICAgICAgICBsbyA9IGNvZGUxWzFdCisgICAgICAgICAgICAgICAgICAgIGhpID0gY29kZTJbMV0KKyAgICAgICAgICAgICAgICAgICAgaWYgaGkgPCBsbzoKKyAgICAgICAgICAgICAgICAgICAgICAgIHJhaXNlIHNvdXJjZS5lcnJvcigiYmFkIGNoYXJhY3RlciByYW5nZSIsIGxlbih0aGlzKSkKKyAgICAgICAgICAgICAgICAgICAgc2V0YXBwZW5kKChSQU5HRSwgKGxvLCBoaSkpKQogICAgICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgICAgIGlmIGNvZGUxWzBdIGlzIElOOgogICAgICAgICAgICAgICAgICAgICAgICAgY29kZTEgPSBjb2RlMVsxXVswXQpAQCAtNTM4LDggKzU3Miw5IEBACiAgICAgICAgICAgICAgICAgIyBYWFg6IDxmbD4gc2hvdWxkIGFkZCBjaGFybWFwIG9wdGltaXphdGlvbiBoZXJlCiAgICAgICAgICAgICAgICAgc3VicGF0dGVybmFwcGVuZCgoSU4sIHNldCkpCiAKLSAgICAgICAgZWxpZiB0aGlzIGFuZCB0aGlzWzBdIGluIFJFUEVBVF9DSEFSUzoKKyAgICAgICAgZWxpZiB0aGlzIGluIFJFUEVBVF9DSEFSUzoKICAgICAgICAgICAgICMgcmVwZWF0IHByZXZpb3VzIGl0ZW0KKyAgICAgICAgICAgIGhlcmUgPSBzb3VyY2UudGVsbCgpCiAgICAgICAgICAgICBpZiB0aGlzID09ICI/IjoKICAgICAgICAgICAgICAgICBtaW4sIG1heCA9IDAsIDEKICAgICAgICAgICAgIGVsaWYgdGhpcyA9PSAiKiI6CkBAIC01NDksMjAgKzU4NCwxOSBAQAogICAgICAgICAgICAgICAgIG1pbiwgbWF4ID0gMSwgTUFYUkVQRUFUCiAgICAgICAgICAgICBlbGlmIHRoaXMgPT0gInsiOgogICAgICAgICAgICAgICAgIGlmIHNvdXJjZS5uZXh0ID09ICJ9IjoKLSAgICAgICAgICAgICAgICAgICAgc3VicGF0dGVybmFwcGVuZCgoTElURVJBTCwgb3JkKHRoaXMpKSkKKyAgICAgICAgICAgICAgICAgICAgc3VicGF0dGVybmFwcGVuZCgoTElURVJBTCwgX29yZCh0aGlzKSkpCiAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCi0gICAgICAgICAgICAgICAgaGVyZSA9IHNvdXJjZS50ZWxsKCkKICAgICAgICAgICAgICAgICBtaW4sIG1heCA9IDAsIE1BWFJFUEVBVAogICAgICAgICAgICAgICAgIGxvID0gaGkgPSAiIgogICAgICAgICAgICAgICAgIHdoaWxlIHNvdXJjZS5uZXh0IGluIERJR0lUUzoKLSAgICAgICAgICAgICAgICAgICAgbG8gPSBsbyArIHNvdXJjZS5nZXQoKQorICAgICAgICAgICAgICAgICAgICBsbyArPSBzb3VyY2VnZXQoKQogICAgICAgICAgICAgICAgIGlmIHNvdXJjZW1hdGNoKCIsIik6CiAgICAgICAgICAgICAgICAgICAgIHdoaWxlIHNvdXJjZS5uZXh0IGluIERJR0lUUzoKLSAgICAgICAgICAgICAgICAgICAgICAgIGhpID0gaGkgKyBzb3VyY2VnZXQoKQorICAgICAgICAgICAgICAgICAgICAgICAgaGkgKz0gc291cmNlZ2V0KCkKICAgICAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgICAgICBoaSA9IGxvCiAgICAgICAgICAgICAgICAgaWYgbm90IHNvdXJjZW1hdGNoKCJ9Iik6Ci0gICAgICAgICAgICAgICAgICAgIHN1YnBhdHRlcm5hcHBlbmQoKExJVEVSQUwsIG9yZCh0aGlzKSkpCisgICAgICAgICAgICAgICAgICAgIHN1YnBhdHRlcm5hcHBlbmQoKExJVEVSQUwsIF9vcmQodGhpcykpKQogICAgICAgICAgICAgICAgICAgICBzb3VyY2Uuc2VlayhoZXJlKQogICAgICAgICAgICAgICAgICAgICBjb250aW51ZQogICAgICAgICAgICAgICAgIGlmIGxvOgpAQCAtNTc0LDE4ICs2MDgsMjEgQEAKICAgICAgICAgICAgICAgICAgICAgaWYgbWF4ID49IE1BWFJFUEVBVDoKICAgICAgICAgICAgICAgICAgICAgICAgIHJhaXNlIE92ZXJmbG93RXJyb3IoInRoZSByZXBldGl0aW9uIG51bWJlciBpcyB0b28gbGFyZ2UiKQogICAgICAgICAgICAgICAgICAgICBpZiBtYXggPCBtaW46Ci0gICAgICAgICAgICAgICAgICAgICAgICByYWlzZSBlcnJvcigiYmFkIHJlcGVhdCBpbnRlcnZhbCIpCisgICAgICAgICAgICAgICAgICAgICAgICByYWlzZSBzb3VyY2UuZXJyb3IoImJhZCByZXBlYXQgaW50ZXJ2YWwiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNvdXJjZS50ZWxsKCkgLSBoZXJlKQogICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICByYWlzZSBlcnJvcigibm90IHN1cHBvcnRlZCIpCisgICAgICAgICAgICAgICAgcmFpc2Ugc291cmNlLmVycm9yKCJub3Qgc3VwcG9ydGVkIiwgbGVuKHRoaXMpKQogICAgICAgICAgICAgIyBmaWd1cmUgb3V0IHdoaWNoIGl0ZW0gdG8gcmVwZWF0CiAgICAgICAgICAgICBpZiBzdWJwYXR0ZXJuOgogICAgICAgICAgICAgICAgIGl0ZW0gPSBzdWJwYXR0ZXJuWy0xOl0KICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgaXRlbSA9IE5vbmUKLSAgICAgICAgICAgIGlmIG5vdCBpdGVtIG9yIChfbGVuKGl0ZW0pID09IDEgYW5kIGl0ZW1bMF1bMF0gPT0gQVQpOgotICAgICAgICAgICAgICAgIHJhaXNlIGVycm9yKCJub3RoaW5nIHRvIHJlcGVhdCIpCi0gICAgICAgICAgICBpZiBpdGVtWzBdWzBdIGluIFJFUEVBVENPREVTOgotICAgICAgICAgICAgICAgIHJhaXNlIGVycm9yKCJtdWx0aXBsZSByZXBlYXQiKQorICAgICAgICAgICAgaWYgbm90IGl0ZW0gb3IgKF9sZW4oaXRlbSkgPT0gMSBhbmQgaXRlbVswXVswXSBpcyBBVCk6CisgICAgICAgICAgICAgICAgcmFpc2Ugc291cmNlLmVycm9yKCJub3RoaW5nIHRvIHJlcGVhdCIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNvdXJjZS50ZWxsKCkgLSBoZXJlICsgbGVuKHRoaXMpKQorICAgICAgICAgICAgaWYgaXRlbVswXVswXSBpbiBfUkVQRUFUQ09ERVM6CisgICAgICAgICAgICAgICAgcmFpc2Ugc291cmNlLmVycm9yKCJtdWx0aXBsZSByZXBlYXQiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzb3VyY2UudGVsbCgpIC0gaGVyZSArIGxlbih0aGlzKSkKICAgICAgICAgICAgIGlmIHNvdXJjZW1hdGNoKCI/Iik6CiAgICAgICAgICAgICAgICAgc3VicGF0dGVyblstMV0gPSAoTUlOX1JFUEVBVCwgKG1pbiwgbWF4LCBpdGVtKSkKICAgICAgICAgICAgIGVsc2U6CkBAIC02MDEsMTQ0ICs2MzgsMTM3IEBACiAgICAgICAgICAgICBpZiBzb3VyY2VtYXRjaCgiPyIpOgogICAgICAgICAgICAgICAgIGdyb3VwID0gMAogICAgICAgICAgICAgICAgICMgb3B0aW9ucwotICAgICAgICAgICAgICAgIGlmIHNvdXJjZW1hdGNoKCJQIik6CisgICAgICAgICAgICAgICAgY2hhciA9IHNvdXJjZWdldCgpCisgICAgICAgICAgICAgICAgaWYgY2hhciBpcyBOb25lOgorICAgICAgICAgICAgICAgICAgICByYWlzZSBzZWxmLmVycm9yKCJ1bmV4cGVjdGVkIGVuZCBvZiBwYXR0ZXJuIikKKyAgICAgICAgICAgICAgICBpZiBjaGFyID09ICJQIjoKICAgICAgICAgICAgICAgICAgICAgIyBweXRob24gZXh0ZW5zaW9ucwogICAgICAgICAgICAgICAgICAgICBpZiBzb3VyY2VtYXRjaCgiPCIpOgogICAgICAgICAgICAgICAgICAgICAgICAgIyBuYW1lZCBncm91cDogc2tpcCBmb3J3YXJkIHRvIGVuZCBvZiBuYW1lCi0gICAgICAgICAgICAgICAgICAgICAgICBuYW1lID0gIiIKLSAgICAgICAgICAgICAgICAgICAgICAgIHdoaWxlIDE6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhciA9IHNvdXJjZWdldCgpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgY2hhciBpcyBOb25lOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByYWlzZSBlcnJvcigidW50ZXJtaW5hdGVkIG5hbWUiKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIGNoYXIgPT0gIj4iOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhawotICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWUgPSBuYW1lICsgY2hhcgorICAgICAgICAgICAgICAgICAgICAgICAgbmFtZSA9IHNvdXJjZS5nZXR1bnRpbCgiPiIpCiAgICAgICAgICAgICAgICAgICAgICAgICBncm91cCA9IDEKICAgICAgICAgICAgICAgICAgICAgICAgIGlmIG5vdCBuYW1lOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJhaXNlIGVycm9yKCJtaXNzaW5nIGdyb3VwIG5hbWUiKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJhaXNlIHNvdXJjZS5lcnJvcigibWlzc2luZyBncm91cCBuYW1lIiwgMSkKICAgICAgICAgICAgICAgICAgICAgICAgIGlmIG5vdCBuYW1lLmlzaWRlbnRpZmllcigpOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJhaXNlIGVycm9yKCJiYWQgY2hhcmFjdGVyIGluIGdyb3VwIG5hbWUgJXIiICUgbmFtZSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICByYWlzZSBzb3VyY2UuZXJyb3IoImJhZCBjaGFyYWN0ZXIgaW4gZ3JvdXAgbmFtZSAiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIlciIgJSBuYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZW4obmFtZSkgKyAxKQogICAgICAgICAgICAgICAgICAgICBlbGlmIHNvdXJjZW1hdGNoKCI9Iik6CiAgICAgICAgICAgICAgICAgICAgICAgICAjIG5hbWVkIGJhY2tyZWZlcmVuY2UKLSAgICAgICAgICAgICAgICAgICAgICAgIG5hbWUgPSAiIgotICAgICAgICAgICAgICAgICAgICAgICAgd2hpbGUgMToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFyID0gc291cmNlZ2V0KCkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiBjaGFyIGlzIE5vbmU6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJhaXNlIGVycm9yKCJ1bnRlcm1pbmF0ZWQgbmFtZSIpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgY2hhciA9PSAiKSI6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZSA9IG5hbWUgKyBjaGFyCisgICAgICAgICAgICAgICAgICAgICAgICBuYW1lID0gc291cmNlLmdldHVudGlsKCIpIikKICAgICAgICAgICAgICAgICAgICAgICAgIGlmIG5vdCBuYW1lOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJhaXNlIGVycm9yKCJtaXNzaW5nIGdyb3VwIG5hbWUiKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJhaXNlIHNvdXJjZS5lcnJvcigibWlzc2luZyBncm91cCBuYW1lIiwgMSkKICAgICAgICAgICAgICAgICAgICAgICAgIGlmIG5vdCBuYW1lLmlzaWRlbnRpZmllcigpOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJhaXNlIGVycm9yKCJiYWQgY2hhcmFjdGVyIGluIGJhY2tyZWYgZ3JvdXAgbmFtZSAiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiVyIiAlIG5hbWUpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmFpc2Ugc291cmNlLmVycm9yKCJiYWQgY2hhcmFjdGVyIGluIGJhY2tyZWYgIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ3JvdXAgbmFtZSAlciIgJSBuYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZW4obmFtZSkgKyAxKQogICAgICAgICAgICAgICAgICAgICAgICAgZ2lkID0gc3RhdGUuZ3JvdXBkaWN0LmdldChuYW1lKQogICAgICAgICAgICAgICAgICAgICAgICAgaWYgZ2lkIGlzIE5vbmU6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNnID0gInVua25vd24gZ3JvdXAgbmFtZTogezAhcn0iLmZvcm1hdChuYW1lKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJhaXNlIGVycm9yKG1zZykKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmIHN0YXRlLmxvb2tiZWhpbmQ6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW1wb3J0IHdhcm5pbmdzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2FybmluZ3Mud2FybignZ3JvdXAgcmVmZXJlbmNlcyBpbiBsb29rYmVoaW5kICcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhc3NlcnRpb25zIGFyZSBub3Qgc3VwcG9ydGVkJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJ1bnRpbWVXYXJuaW5nKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJhaXNlIHNvdXJjZS5lcnJvcihtc2csIGxlbihuYW1lKSArIDEpCisgICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZS5jaGVja2xvb2tiZWhpbmRncm91cChnaWQsIHNvdXJjZSkKICAgICAgICAgICAgICAgICAgICAgICAgIHN1YnBhdHRlcm5hcHBlbmQoKEdST1VQUkVGLCBnaWQpKQogICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWUKICAgICAgICAgICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICAgICAgICAgIGNoYXIgPSBzb3VyY2VnZXQoKQogICAgICAgICAgICAgICAgICAgICAgICAgaWYgY2hhciBpcyBOb25lOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJhaXNlIGVycm9yKCJ1bmV4cGVjdGVkIGVuZCBvZiBwYXR0ZXJuIikKLSAgICAgICAgICAgICAgICAgICAgICAgIHJhaXNlIGVycm9yKCJ1bmtub3duIHNwZWNpZmllcjogP1AlcyIgJSBjaGFyKQotICAgICAgICAgICAgICAgIGVsaWYgc291cmNlbWF0Y2goIjoiKToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICByYWlzZSBzb3VyY2UuZXJyb3IoInVuZXhwZWN0ZWQgZW5kIG9mIHBhdHRlcm4iKQorICAgICAgICAgICAgICAgICAgICAgICAgcmFpc2Ugc291cmNlLmVycm9yKCJ1bmtub3duIHNwZWNpZmllcjogP1AlcyIgJSBjaGFyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlbihjaGFyKSkKKyAgICAgICAgICAgICAgICBlbGlmIGNoYXIgPT0gIjoiOgogICAgICAgICAgICAgICAgICAgICAjIG5vbi1jYXB0dXJpbmcgZ3JvdXAKICAgICAgICAgICAgICAgICAgICAgZ3JvdXAgPSAyCi0gICAgICAgICAgICAgICAgZWxpZiBzb3VyY2VtYXRjaCgiIyIpOgorICAgICAgICAgICAgICAgIGVsaWYgY2hhciA9PSAiIyI6CiAgICAgICAgICAgICAgICAgICAgICMgY29tbWVudAotICAgICAgICAgICAgICAgICAgICB3aGlsZSAxOgotICAgICAgICAgICAgICAgICAgICAgICAgaWYgc291cmNlLm5leHQgaXMgTm9uZSBvciBzb3VyY2UubmV4dCA9PSAiKSI6CisgICAgICAgICAgICAgICAgICAgIHdoaWxlIFRydWU6CisgICAgICAgICAgICAgICAgICAgICAgICBpZiBzb3VyY2UubmV4dCBpcyBOb25lOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJhaXNlIHNvdXJjZS5lcnJvcigidW5iYWxhbmNlZCBwYXJlbnRoZXNpcyIpCisgICAgICAgICAgICAgICAgICAgICAgICBpZiBzb3VyY2VnZXQoKSA9PSAiKSI6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWsKLSAgICAgICAgICAgICAgICAgICAgICAgIHNvdXJjZWdldCgpCi0gICAgICAgICAgICAgICAgICAgIGlmIG5vdCBzb3VyY2VtYXRjaCgiKSIpOgotICAgICAgICAgICAgICAgICAgICAgICAgcmFpc2UgZXJyb3IoInVuYmFsYW5jZWQgcGFyZW50aGVzaXMiKQogICAgICAgICAgICAgICAgICAgICBjb250aW51ZQotICAgICAgICAgICAgICAgIGVsaWYgc291cmNlLm5leHQgaW4gQVNTRVJUQ0hBUlM6CisgICAgICAgICAgICAgICAgZWxpZiBjaGFyIGluICI9ITwiOgogICAgICAgICAgICAgICAgICAgICAjIGxvb2thaGVhZCBhc3NlcnRpb25zCi0gICAgICAgICAgICAgICAgICAgIGNoYXIgPSBzb3VyY2VnZXQoKQogICAgICAgICAgICAgICAgICAgICBkaXIgPSAxCiAgICAgICAgICAgICAgICAgICAgIGlmIGNoYXIgPT0gIjwiOgotICAgICAgICAgICAgICAgICAgICAgICAgaWYgc291cmNlLm5leHQgbm90IGluIExPT0tCRUhJTkRBU1NFUlRDSEFSUzoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICByYWlzZSBlcnJvcigic3ludGF4IGVycm9yIikKLSAgICAgICAgICAgICAgICAgICAgICAgIGRpciA9IC0xICMgbG9va2JlaGluZAogICAgICAgICAgICAgICAgICAgICAgICAgY2hhciA9IHNvdXJjZWdldCgpCi0gICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZS5sb29rYmVoaW5kICs9IDEKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIGNoYXIgaXMgTm9uZSBvciBjaGFyIG5vdCBpbiAiPSEiOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJhaXNlIHNvdXJjZS5lcnJvcigic3ludGF4IGVycm9yIikKKyAgICAgICAgICAgICAgICAgICAgICAgIGRpciA9IC0xICMgbG9va2JlaGluZAorICAgICAgICAgICAgICAgICAgICAgICAgbG9va2JlaGluZGdyb3VwcyA9IHN0YXRlLmxvb2tiZWhpbmRncm91cHMKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIGxvb2tiZWhpbmRncm91cHMgaXMgTm9uZToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZS5sb29rYmVoaW5kZ3JvdXBzID0gc3RhdGUuZ3JvdXBzCiAgICAgICAgICAgICAgICAgICAgIHAgPSBfcGFyc2Vfc3ViKHNvdXJjZSwgc3RhdGUpCiAgICAgICAgICAgICAgICAgICAgIGlmIGRpciA8IDA6Ci0gICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZS5sb29rYmVoaW5kIC09IDEKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIGxvb2tiZWhpbmRncm91cHMgaXMgTm9uZToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZS5sb29rYmVoaW5kZ3JvdXBzID0gTm9uZQogICAgICAgICAgICAgICAgICAgICBpZiBub3Qgc291cmNlbWF0Y2goIikiKToKLSAgICAgICAgICAgICAgICAgICAgICAgIHJhaXNlIGVycm9yKCJ1bmJhbGFuY2VkIHBhcmVudGhlc2lzIikKKyAgICAgICAgICAgICAgICAgICAgICAgIHJhaXNlIHNvdXJjZS5lcnJvcigidW5iYWxhbmNlZCBwYXJlbnRoZXNpcyIpCiAgICAgICAgICAgICAgICAgICAgIGlmIGNoYXIgPT0gIj0iOgogICAgICAgICAgICAgICAgICAgICAgICAgc3VicGF0dGVybmFwcGVuZCgoQVNTRVJULCAoZGlyLCBwKSkpCiAgICAgICAgICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgICAgICAgICBzdWJwYXR0ZXJuYXBwZW5kKChBU1NFUlRfTk9ULCAoZGlyLCBwKSkpCiAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCi0gICAgICAgICAgICAgICAgZWxpZiBzb3VyY2VtYXRjaCgiKCIpOgorICAgICAgICAgICAgICAgIGVsaWYgY2hhciA9PSAiKCI6CiAgICAgICAgICAgICAgICAgICAgICMgY29uZGl0aW9uYWwgYmFja3JlZmVyZW5jZSBncm91cAotICAgICAgICAgICAgICAgICAgICBjb25kbmFtZSA9ICIiCi0gICAgICAgICAgICAgICAgICAgIHdoaWxlIDE6Ci0gICAgICAgICAgICAgICAgICAgICAgICBjaGFyID0gc291cmNlZ2V0KCkKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmIGNoYXIgaXMgTm9uZToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICByYWlzZSBlcnJvcigidW50ZXJtaW5hdGVkIG5hbWUiKQotICAgICAgICAgICAgICAgICAgICAgICAgaWYgY2hhciA9PSAiKSI6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWsKLSAgICAgICAgICAgICAgICAgICAgICAgIGNvbmRuYW1lID0gY29uZG5hbWUgKyBjaGFyCisgICAgICAgICAgICAgICAgICAgIGNvbmRuYW1lID0gc291cmNlLmdldHVudGlsKCIpIikKICAgICAgICAgICAgICAgICAgICAgZ3JvdXAgPSAyCiAgICAgICAgICAgICAgICAgICAgIGlmIG5vdCBjb25kbmFtZToKLSAgICAgICAgICAgICAgICAgICAgICAgIHJhaXNlIGVycm9yKCJtaXNzaW5nIGdyb3VwIG5hbWUiKQorICAgICAgICAgICAgICAgICAgICAgICAgcmFpc2Ugc291cmNlLmVycm9yKCJtaXNzaW5nIGdyb3VwIG5hbWUiLCAxKQogICAgICAgICAgICAgICAgICAgICBpZiBjb25kbmFtZS5pc2lkZW50aWZpZXIoKToKICAgICAgICAgICAgICAgICAgICAgICAgIGNvbmRncm91cCA9IHN0YXRlLmdyb3VwZGljdC5nZXQoY29uZG5hbWUpCiAgICAgICAgICAgICAgICAgICAgICAgICBpZiBjb25kZ3JvdXAgaXMgTm9uZToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc2cgPSAidW5rbm93biBncm91cCBuYW1lOiB7MCFyfSIuZm9ybWF0KGNvbmRuYW1lKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJhaXNlIGVycm9yKG1zZykKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICByYWlzZSBzb3VyY2UuZXJyb3IobXNnLCBsZW4oY29uZG5hbWUpICsgMSkKICAgICAgICAgICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25kZ3JvdXAgPSBpbnQoY29uZG5hbWUpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgY29uZGdyb3VwIDwgMDoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcgogICAgICAgICAgICAgICAgICAgICAgICAgZXhjZXB0IFZhbHVlRXJyb3I6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmFpc2UgZXJyb3IoImJhZCBjaGFyYWN0ZXIgaW4gZ3JvdXAgbmFtZSIpCi0gICAgICAgICAgICAgICAgICAgIGlmIHN0YXRlLmxvb2tiZWhpbmQ6Ci0gICAgICAgICAgICAgICAgICAgICAgICBpbXBvcnQgd2FybmluZ3MKLSAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdzLndhcm4oJ2dyb3VwIHJlZmVyZW5jZXMgaW4gbG9va2JlaGluZCAnCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhc3NlcnRpb25zIGFyZSBub3Qgc3VwcG9ydGVkJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUnVudGltZVdhcm5pbmcpCi0gICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICByYWlzZSBzb3VyY2UuZXJyb3IoImJhZCBjaGFyYWN0ZXIgaW4gZ3JvdXAgbmFtZSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlbihjb25kbmFtZSkgKyAxKQorICAgICAgICAgICAgICAgICAgICAgICAgaWYgbm90IGNvbmRncm91cDoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICByYWlzZSBzb3VyY2UuZXJyb3IoImJhZCBncm91cCBudW1iZXIiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZW4oY29uZG5hbWUpICsgMSkKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIGNvbmRncm91cCA+PSBNQVhHUk9VUFM6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmFpc2Ugc291cmNlLmVycm9yKCJ0aGUgZ3JvdXAgbnVtYmVyIGlzIHRvbyBsYXJnZSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlbihjb25kbmFtZSkgKyAxKQorICAgICAgICAgICAgICAgICAgICBzdGF0ZS5jaGVja2xvb2tiZWhpbmRncm91cChjb25kZ3JvdXAsIHNvdXJjZSkKKyAgICAgICAgICAgICAgICBlbGlmIGNoYXIgaW4gRkxBR1M6CiAgICAgICAgICAgICAgICAgICAgICMgZmxhZ3MKLSAgICAgICAgICAgICAgICAgICAgaWYgbm90IHNvdXJjZS5uZXh0IGluIEZMQUdTOgotICAgICAgICAgICAgICAgICAgICAgICAgcmFpc2UgZXJyb3IoInVuZXhwZWN0ZWQgZW5kIG9mIHBhdHRlcm4iKQorICAgICAgICAgICAgICAgICAgICBzdGF0ZS5mbGFncyB8PSBGTEFHU1tjaGFyXQogICAgICAgICAgICAgICAgICAgICB3aGlsZSBzb3VyY2UubmV4dCBpbiBGTEFHUzoKLSAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRlLmZsYWdzID0gc3RhdGUuZmxhZ3MgfCBGTEFHU1tzb3VyY2VnZXQoKV0KKyAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRlLmZsYWdzIHw9IEZMQUdTW3NvdXJjZWdldCgpXQorICAgICAgICAgICAgICAgICAgICB2ZXJib3NlID0gc3RhdGUuZmxhZ3MgJiBTUkVfRkxBR19WRVJCT1NFCisgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgcmFpc2Ugc291cmNlLmVycm9yKCJ1bmV4cGVjdGVkIGVuZCBvZiBwYXR0ZXJuIikKICAgICAgICAgICAgIGlmIGdyb3VwOgogICAgICAgICAgICAgICAgICMgcGFyc2UgZ3JvdXAgY29udGVudHMKICAgICAgICAgICAgICAgICBpZiBncm91cCA9PSAyOgogICAgICAgICAgICAgICAgICAgICAjIGFub255bW91cyBncm91cAogICAgICAgICAgICAgICAgICAgICBncm91cCA9IE5vbmUKICAgICAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgICAgICBncm91cCA9IHN0YXRlLm9wZW5ncm91cChuYW1lKQorICAgICAgICAgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgICAgICAgICBncm91cCA9IHN0YXRlLm9wZW5ncm91cChuYW1lKQorICAgICAgICAgICAgICAgICAgICBleGNlcHQgZXJyb3IgYXMgZXJyOgorICAgICAgICAgICAgICAgICAgICAgICAgcmFpc2Ugc291cmNlLmVycm9yKGVyci5tc2csIGxlbihuYW1lKSArIDEpCiAgICAgICAgICAgICAgICAgaWYgY29uZGdyb3VwOgogICAgICAgICAgICAgICAgICAgICBwID0gX3BhcnNlX3N1Yl9jb25kKHNvdXJjZSwgc3RhdGUsIGNvbmRncm91cCkKICAgICAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgICAgICBwID0gX3BhcnNlX3N1Yihzb3VyY2UsIHN0YXRlKQogICAgICAgICAgICAgICAgIGlmIG5vdCBzb3VyY2VtYXRjaCgiKSIpOgotICAgICAgICAgICAgICAgICAgICByYWlzZSBlcnJvcigidW5iYWxhbmNlZCBwYXJlbnRoZXNpcyIpCisgICAgICAgICAgICAgICAgICAgIHJhaXNlIHNvdXJjZS5lcnJvcigidW5iYWxhbmNlZCBwYXJlbnRoZXNpcyIpCiAgICAgICAgICAgICAgICAgaWYgZ3JvdXAgaXMgbm90IE5vbmU6Ci0gICAgICAgICAgICAgICAgICAgIHN0YXRlLmNsb3NlZ3JvdXAoZ3JvdXApCisgICAgICAgICAgICAgICAgICAgIHN0YXRlLmNsb3NlZ3JvdXAoZ3JvdXAsIHApCiAgICAgICAgICAgICAgICAgc3VicGF0dGVybmFwcGVuZCgoU1VCUEFUVEVSTiwgKGdyb3VwLCBwKSkpCiAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIHdoaWxlIDE6CisgICAgICAgICAgICAgICAgd2hpbGUgVHJ1ZToKICAgICAgICAgICAgICAgICAgICAgY2hhciA9IHNvdXJjZWdldCgpCiAgICAgICAgICAgICAgICAgICAgIGlmIGNoYXIgaXMgTm9uZToKLSAgICAgICAgICAgICAgICAgICAgICAgIHJhaXNlIGVycm9yKCJ1bmV4cGVjdGVkIGVuZCBvZiBwYXR0ZXJuIikKKyAgICAgICAgICAgICAgICAgICAgICAgIHJhaXNlIHNvdXJjZS5lcnJvcigidW5leHBlY3RlZCBlbmQgb2YgcGF0dGVybiIpCiAgICAgICAgICAgICAgICAgICAgIGlmIGNoYXIgPT0gIikiOgogICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWsKLSAgICAgICAgICAgICAgICAgICAgcmFpc2UgZXJyb3IoInVua25vd24gZXh0ZW5zaW9uIikKKyAgICAgICAgICAgICAgICAgICAgcmFpc2Ugc291cmNlLmVycm9yKCJ1bmtub3duIGV4dGVuc2lvbiIsIGxlbihjaGFyKSkKIAogICAgICAgICBlbGlmIHRoaXMgPT0gIl4iOgogICAgICAgICAgICAgc3VicGF0dGVybmFwcGVuZCgoQVQsIEFUX0JFR0lOTklORykpCkBAIC03NDYsMTggKzc3NiwxOSBAQAogICAgICAgICBlbGlmIHRoaXMgPT0gIiQiOgogICAgICAgICAgICAgc3VicGF0dGVybi5hcHBlbmQoKEFULCBBVF9FTkQpKQogCi0gICAgICAgIGVsaWYgdGhpcyBhbmQgdGhpc1swXSA9PSAiXFwiOgotICAgICAgICAgICAgY29kZSA9IF9lc2NhcGUoc291cmNlLCB0aGlzLCBzdGF0ZSkKLSAgICAgICAgICAgIHN1YnBhdHRlcm5hcHBlbmQoY29kZSkKLQogICAgICAgICBlbHNlOgotICAgICAgICAgICAgcmFpc2UgZXJyb3IoInBhcnNlciBlcnJvciIpCisgICAgICAgICAgICByYWlzZSBzb3VyY2UuZXJyb3IoInBhcnNlciBlcnJvciIsIGxlbih0aGlzKSkKIAogICAgIHJldHVybiBzdWJwYXR0ZXJuCiAKIGRlZiBmaXhfZmxhZ3Moc3JjLCBmbGFncyk6CiAgICAgIyBDaGVjayBhbmQgZml4IGZsYWdzIGFjY29yZGluZyB0byB0aGUgdHlwZSBvZiBwYXR0ZXJuIChzdHIgb3IgYnl0ZXMpCiAgICAgaWYgaXNpbnN0YW5jZShzcmMsIHN0cik6CisgICAgICAgIGlmIGZsYWdzICYgU1JFX0ZMQUdfTE9DQUxFOgorICAgICAgICAgICAgaW1wb3J0IHdhcm5pbmdzCisgICAgICAgICAgICB3YXJuaW5ncy53YXJuKCJMT0NBTEUgZmxhZyB3aXRoIGEgc3RyIHBhdHRlcm4gaXMgZGVwcmVjYXRlZC4gIgorICAgICAgICAgICAgICAgICAgICAgICAgICAiV2lsbCBiZSBhbiBlcnJvciBpbiAzLjYiLAorICAgICAgICAgICAgICAgICAgICAgICAgICBEZXByZWNhdGlvbldhcm5pbmcsIHN0YWNrbGV2ZWw9NikKICAgICAgICAgaWYgbm90IGZsYWdzICYgU1JFX0ZMQUdfQVNDSUk6CiAgICAgICAgICAgICBmbGFncyB8PSBTUkVfRkxBR19VTklDT0RFCiAgICAgICAgIGVsaWYgZmxhZ3MgJiBTUkVfRkxBR19VTklDT0RFOgpAQCAtNzY1LDYgKzc5NiwxMSBAQAogICAgIGVsc2U6CiAgICAgICAgIGlmIGZsYWdzICYgU1JFX0ZMQUdfVU5JQ09ERToKICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoImNhbid0IHVzZSBVTklDT0RFIGZsYWcgd2l0aCBhIGJ5dGVzIHBhdHRlcm4iKQorICAgICAgICBpZiBmbGFncyAmIFNSRV9GTEFHX0xPQ0FMRSBhbmQgZmxhZ3MgJiBTUkVfRkxBR19BU0NJSToKKyAgICAgICAgICAgIGltcG9ydCB3YXJuaW5ncworICAgICAgICAgICAgd2FybmluZ3Mud2FybigiQVNDSUkgYW5kIExPQ0FMRSBmbGFncyBhcmUgaW5jb21wYXRpYmxlLiAiCisgICAgICAgICAgICAgICAgICAgICAgICAgICJXaWxsIGJlIGFuIGVycm9yIGluIDMuNiIsCisgICAgICAgICAgICAgICAgICAgICAgICAgIERlcHJlY2F0aW9uV2FybmluZywgc3RhY2tsZXZlbD02KQogICAgIHJldHVybiBmbGFncwogCiBkZWYgcGFyc2Uoc3RyLCBmbGFncz0wLCBwYXR0ZXJuPU5vbmUpOgpAQCAtNzgwLDExICs4MTYsMTIgQEAKICAgICBwID0gX3BhcnNlX3N1Yihzb3VyY2UsIHBhdHRlcm4sIDApCiAgICAgcC5wYXR0ZXJuLmZsYWdzID0gZml4X2ZsYWdzKHN0ciwgcC5wYXR0ZXJuLmZsYWdzKQogCi0gICAgdGFpbCA9IHNvdXJjZS5nZXQoKQotICAgIGlmIHRhaWwgPT0gIikiOgotICAgICAgICByYWlzZSBlcnJvcigidW5iYWxhbmNlZCBwYXJlbnRoZXNpcyIpCi0gICAgZWxpZiB0YWlsOgotICAgICAgICByYWlzZSBlcnJvcigiYm9ndXMgY2hhcmFjdGVycyBhdCBlbmQgb2YgcmVndWxhciBleHByZXNzaW9uIikKKyAgICBpZiBzb3VyY2UubmV4dCBpcyBub3QgTm9uZToKKyAgICAgICAgaWYgc291cmNlLm5leHQgPT0gIikiOgorICAgICAgICAgICAgcmFpc2Ugc291cmNlLmVycm9yKCJ1bmJhbGFuY2VkIHBhcmVudGhlc2lzIikKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHJhaXNlIHNvdXJjZS5lcnJvcigiYm9ndXMgY2hhcmFjdGVycyBhdCBlbmQgb2YgcmVndWxhciBleHByZXNzaW9uIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZW4odGFpbCkpCiAKICAgICBpZiBmbGFncyAmIFNSRV9GTEFHX0RFQlVHOgogICAgICAgICBwLmR1bXAoKQpAQCAtODIxLDIyICs4NTgsMjAgQEAKICAgICAgICAgICAgIGlmIGMgPT0gImciOgogICAgICAgICAgICAgICAgIG5hbWUgPSAiIgogICAgICAgICAgICAgICAgIGlmIHMubWF0Y2goIjwiKToKLSAgICAgICAgICAgICAgICAgICAgd2hpbGUgVHJ1ZToKLSAgICAgICAgICAgICAgICAgICAgICAgIGNoYXIgPSBzZ2V0KCkKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmIGNoYXIgaXMgTm9uZToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICByYWlzZSBlcnJvcigidW50ZXJtaW5hdGVkIGdyb3VwIG5hbWUiKQotICAgICAgICAgICAgICAgICAgICAgICAgaWYgY2hhciA9PSAiPiI6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWsKLSAgICAgICAgICAgICAgICAgICAgICAgIG5hbWUgKz0gY2hhcgorICAgICAgICAgICAgICAgICAgICBuYW1lID0gcy5nZXR1bnRpbCgiPiIpCiAgICAgICAgICAgICAgICAgaWYgbm90IG5hbWU6Ci0gICAgICAgICAgICAgICAgICAgIHJhaXNlIGVycm9yKCJtaXNzaW5nIGdyb3VwIG5hbWUiKQorICAgICAgICAgICAgICAgICAgICByYWlzZSBzLmVycm9yKCJtaXNzaW5nIGdyb3VwIG5hbWUiLCAxKQogICAgICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgICAgICAgaW5kZXggPSBpbnQobmFtZSkKICAgICAgICAgICAgICAgICAgICAgaWYgaW5kZXggPCAwOgotICAgICAgICAgICAgICAgICAgICAgICAgcmFpc2UgZXJyb3IoIm5lZ2F0aXZlIGdyb3VwIG51bWJlciIpCisgICAgICAgICAgICAgICAgICAgICAgICByYWlzZSBzLmVycm9yKCJuZWdhdGl2ZSBncm91cCBudW1iZXIiLCBsZW4obmFtZSkgKyAxKQorICAgICAgICAgICAgICAgICAgICBpZiBpbmRleCA+PSBNQVhHUk9VUFM6CisgICAgICAgICAgICAgICAgICAgICAgICByYWlzZSBzLmVycm9yKCJ0aGUgZ3JvdXAgbnVtYmVyIGlzIHRvbyBsYXJnZSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlbihuYW1lKSArIDEpCiAgICAgICAgICAgICAgICAgZXhjZXB0IFZhbHVlRXJyb3I6CiAgICAgICAgICAgICAgICAgICAgIGlmIG5vdCBuYW1lLmlzaWRlbnRpZmllcigpOgotICAgICAgICAgICAgICAgICAgICAgICAgcmFpc2UgZXJyb3IoImJhZCBjaGFyYWN0ZXIgaW4gZ3JvdXAgbmFtZSIpCisgICAgICAgICAgICAgICAgICAgICAgICByYWlzZSBzLmVycm9yKCJiYWQgY2hhcmFjdGVyIGluIGdyb3VwIG5hbWUiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZW4obmFtZSkgKyAxKQogICAgICAgICAgICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICAgICAgICAgICBpbmRleCA9IHBhdHRlcm4uZ3JvdXBpbmRleFtuYW1lXQogICAgICAgICAgICAgICAgICAgICBleGNlcHQgS2V5RXJyb3I6CkBAIC04NTcsNyArODkyLDExIEBACiAgICAgICAgICAgICAgICAgICAgICAgICBzLm5leHQgaW4gT0NURElHSVRTKToKICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMgKz0gc2dldCgpCiAgICAgICAgICAgICAgICAgICAgICAgICBpc29jdGFsID0gVHJ1ZQotICAgICAgICAgICAgICAgICAgICAgICAgbGFwcGVuZChjaHIoaW50KHRoaXNbMTpdLCA4KSAmIDB4ZmYpKQorICAgICAgICAgICAgICAgICAgICAgICAgYyA9IGludCh0aGlzWzE6XSwgOCkKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIGMgPiAwbzM3NzoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICByYWlzZSBzLmVycm9yKCdvY3RhbCBlc2NhcGUgdmFsdWUgJXIgb3V0c2lkZSBvZiAnCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmFuZ2UgMC0wbzM3NycgJSB0aGlzLCBsZW4odGhpcykpCisgICAgICAgICAgICAgICAgICAgICAgICBsYXBwZW5kKGNocihjKSkKICAgICAgICAgICAgICAgICBpZiBub3QgaXNvY3RhbDoKICAgICAgICAgICAgICAgICAgICAgYWRkZ3JvdXAoaW50KHRoaXNbMTpdKSkKICAgICAgICAgICAgIGVsc2U6CkBAIC04NzgsMTQgKzkxNywxMiBAQAogCiBkZWYgZXhwYW5kX3RlbXBsYXRlKHRlbXBsYXRlLCBtYXRjaCk6CiAgICAgZyA9IG1hdGNoLmdyb3VwCi0gICAgc2VwID0gbWF0Y2guc3RyaW5nWzowXQorICAgIGVtcHR5ID0gbWF0Y2guc3RyaW5nWzowXQogICAgIGdyb3VwcywgbGl0ZXJhbHMgPSB0ZW1wbGF0ZQogICAgIGxpdGVyYWxzID0gbGl0ZXJhbHNbOl0KICAgICB0cnk6CiAgICAgICAgIGZvciBpbmRleCwgZ3JvdXAgaW4gZ3JvdXBzOgotICAgICAgICAgICAgbGl0ZXJhbHNbaW5kZXhdID0gcyA9IGcoZ3JvdXApCi0gICAgICAgICAgICBpZiBzIGlzIE5vbmU6Ci0gICAgICAgICAgICAgICAgcmFpc2UgZXJyb3IoInVubWF0Y2hlZCBncm91cCIpCisgICAgICAgICAgICBsaXRlcmFsc1tpbmRleF0gPSBnKGdyb3VwKSBvciBlbXB0eQogICAgIGV4Y2VwdCBJbmRleEVycm9yOgogICAgICAgICByYWlzZSBlcnJvcigiaW52YWxpZCBncm91cCByZWZlcmVuY2UiKQotICAgIHJldHVybiBzZXAuam9pbihsaXRlcmFscykKKyAgICByZXR1cm4gZW1wdHkuam9pbihsaXRlcmFscykKZGlmZiAtLWdpdCBhL0xpYi9zc2wucHkgYi9MaWIvc3NsLnB5CmluZGV4IDcyMTE1ZTQuLjM3YTQ4NGEgMTAwNjQ0Ci0tLSBhL0xpYi9zc2wucHkKKysrIGIvTGliL3NzbC5weQpAQCAtODcsMTcgKzg3LDE4IEBACiBBTEVSVF9ERVNDUklQVElPTl9VTktOT1dOX1BTS19JREVOVElUWQogIiIiCiAKK2ltcG9ydCBpcGFkZHJlc3MKIGltcG9ydCB0ZXh0d3JhcAogaW1wb3J0IHJlCiBpbXBvcnQgc3lzCiBpbXBvcnQgb3MKIGZyb20gY29sbGVjdGlvbnMgaW1wb3J0IG5hbWVkdHVwbGUKLWZyb20gZW51bSBpbXBvcnQgRW51bSBhcyBfRW51bQorZnJvbSBlbnVtIGltcG9ydCBFbnVtIGFzIF9FbnVtLCBJbnRFbnVtIGFzIF9JbnRFbnVtCiAKIGltcG9ydCBfc3NsICAgICAgICAgICAgICMgaWYgd2UgY2FuJ3QgaW1wb3J0IGl0LCBsZXQgdGhlIGVycm9yIHByb3BhZ2F0ZQogCiBmcm9tIF9zc2wgaW1wb3J0IE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIsIE9QRU5TU0xfVkVSU0lPTl9JTkZPLCBPUEVOU1NMX1ZFUlNJT04KLWZyb20gX3NzbCBpbXBvcnQgX1NTTENvbnRleHQKK2Zyb20gX3NzbCBpbXBvcnQgX1NTTENvbnRleHQsIE1lbW9yeUJJTwogZnJvbSBfc3NsIGltcG9ydCAoCiAgICAgU1NMRXJyb3IsIFNTTFplcm9SZXR1cm5FcnJvciwgU1NMV2FudFJlYWRFcnJvciwgU1NMV2FudFdyaXRlRXJyb3IsCiAgICAgU1NMU3lzY2FsbEVycm9yLCBTU0xFT0ZFcnJvciwKQEAgLTEyMSwyOSArMTIyLDIyIEBACiBfaW1wb3J0X3N5bWJvbHMoJ09QXycpCiBfaW1wb3J0X3N5bWJvbHMoJ0FMRVJUX0RFU0NSSVBUSU9OXycpCiBfaW1wb3J0X3N5bWJvbHMoJ1NTTF9FUlJPUl8nKQotX2ltcG9ydF9zeW1ib2xzKCdQUk9UT0NPTF8nKQogCi1mcm9tIF9zc2wgaW1wb3J0IEhBU19TTkksIEhBU19FQ0RILCBIQVNfTlBOCitmcm9tIF9zc2wgaW1wb3J0IEhBU19TTkksIEhBU19FQ0RILCBIQVNfTlBOLCBIQVNfQUxQTgogCiBmcm9tIF9zc2wgaW1wb3J0IF9PUEVOU1NMX0FQSV9WRVJTSU9OCiAKK19TU0xNZXRob2QgPSBfSW50RW51bSgnX1NTTE1ldGhvZCcsCisgICAgICAgICAgICAgICAgICAgICAge25hbWU6IHZhbHVlIGZvciBuYW1lLCB2YWx1ZSBpbiB2YXJzKF9zc2wpLml0ZW1zKCkKKyAgICAgICAgICAgICAgICAgICAgICAgaWYgbmFtZS5zdGFydHN3aXRoKCdQUk9UT0NPTF8nKX0pCitnbG9iYWxzKCkudXBkYXRlKF9TU0xNZXRob2QuX19tZW1iZXJzX18pCiAKLV9QUk9UT0NPTF9OQU1FUyA9IHt2YWx1ZTogbmFtZSBmb3IgbmFtZSwgdmFsdWUgaW4gZ2xvYmFscygpLml0ZW1zKCkgaWYgbmFtZS5zdGFydHN3aXRoKCdQUk9UT0NPTF8nKX0KK19QUk9UT0NPTF9OQU1FUyA9IHt2YWx1ZTogbmFtZSBmb3IgbmFtZSwgdmFsdWUgaW4gX1NTTE1ldGhvZC5fX21lbWJlcnNfXy5pdGVtcygpfQorCiB0cnk6Ci0gICAgZnJvbSBfc3NsIGltcG9ydCBQUk9UT0NPTF9TU0x2MgogICAgIF9TU0x2Ml9JRl9FWElTVFMgPSBQUk9UT0NPTF9TU0x2MgotZXhjZXB0IEltcG9ydEVycm9yOgorZXhjZXB0IE5hbWVFcnJvcjoKICAgICBfU1NMdjJfSUZfRVhJU1RTID0gTm9uZQotZWxzZToKLSAgICBfUFJPVE9DT0xfTkFNRVNbUFJPVE9DT0xfU1NMdjJdID0gIlNTTHYyIgotCi10cnk6Ci0gICAgZnJvbSBfc3NsIGltcG9ydCBQUk9UT0NPTF9UTFN2MV8xLCBQUk9UT0NPTF9UTFN2MV8yCi1leGNlcHQgSW1wb3J0RXJyb3I6Ci0gICAgcGFzcwotZWxzZToKLSAgICBfUFJPVE9DT0xfTkFNRVNbUFJPVE9DT0xfVExTdjFfMV0gPSAiVExTdjEuMSIKLSAgICBfUFJPVE9DT0xfTkFNRVNbUFJPVE9DT0xfVExTdjFfMl0gPSAiVExTdjEuMiIKIAogaWYgc3lzLnBsYXRmb3JtID09ICJ3aW4zMiI6CiAgICAgZnJvbSBfc3NsIGltcG9ydCBlbnVtX2NlcnRpZmljYXRlcywgZW51bV9jcmxzCkBAIC0yNDcsNiArMjQxLDE3IEBACiAgICAgcmV0dXJuIHBhdC5tYXRjaChob3N0bmFtZSkKIAogCitkZWYgX2lwYWRkcmVzc19tYXRjaChpcG5hbWUsIGhvc3RfaXApOgorICAgICIiIkV4YWN0IG1hdGNoaW5nIG9mIElQIGFkZHJlc3Nlcy4KKworICAgIFJGQyA2MTI1IGV4cGxpY2l0bHkgZG9lc24ndCBkZWZpbmUgYW4gYWxnb3JpdGhtIGZvciB0aGlzCisgICAgKHNlY3Rpb24gMS43LjIgLSAiT3V0IG9mIFNjb3BlIikuCisgICAgIiIiCisgICAgIyBPcGVuU1NMIG1heSBhZGQgYSB0cmFpbGluZyBuZXdsaW5lIHRvIGEgc3ViamVjdEFsdE5hbWUncyBJUCBhZGRyZXNzCisgICAgaXAgPSBpcGFkZHJlc3MuaXBfYWRkcmVzcyhpcG5hbWUucnN0cmlwKCkpCisgICAgcmV0dXJuIGlwID09IGhvc3RfaXAKKworCiBkZWYgbWF0Y2hfaG9zdG5hbWUoY2VydCwgaG9zdG5hbWUpOgogICAgICIiIlZlcmlmeSB0aGF0ICpjZXJ0KiAoaW4gZGVjb2RlZCBmb3JtYXQgYXMgcmV0dXJuZWQgYnkKICAgICBTU0xTb2NrZXQuZ2V0cGVlcmNlcnQoKSkgbWF0Y2hlcyB0aGUgKmhvc3RuYW1lKi4gIFJGQyAyODE4IGFuZCBSRkMgNjEyNQpAQCAtMjU5LDExICsyNjQsMjAgQEAKICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigiZW1wdHkgb3Igbm8gY2VydGlmaWNhdGUsIG1hdGNoX2hvc3RuYW1lIG5lZWRzIGEgIgogICAgICAgICAgICAgICAgICAgICAgICAgICJTU0wgc29ja2V0IG9yIFNTTCBjb250ZXh0IHdpdGggZWl0aGVyICIKICAgICAgICAgICAgICAgICAgICAgICAgICAiQ0VSVF9PUFRJT05BTCBvciBDRVJUX1JFUVVJUkVEIikKKyAgICB0cnk6CisgICAgICAgIGhvc3RfaXAgPSBpcGFkZHJlc3MuaXBfYWRkcmVzcyhob3N0bmFtZSkKKyAgICBleGNlcHQgVmFsdWVFcnJvcjoKKyAgICAgICAgIyBOb3QgYW4gSVAgYWRkcmVzcyAoY29tbW9uIGNhc2UpCisgICAgICAgIGhvc3RfaXAgPSBOb25lCiAgICAgZG5zbmFtZXMgPSBbXQogICAgIHNhbiA9IGNlcnQuZ2V0KCdzdWJqZWN0QWx0TmFtZScsICgpKQogICAgIGZvciBrZXksIHZhbHVlIGluIHNhbjoKICAgICAgICAgaWYga2V5ID09ICdETlMnOgotICAgICAgICAgICAgaWYgX2Ruc25hbWVfbWF0Y2godmFsdWUsIGhvc3RuYW1lKToKKyAgICAgICAgICAgIGlmIGhvc3RfaXAgaXMgTm9uZSBhbmQgX2Ruc25hbWVfbWF0Y2godmFsdWUsIGhvc3RuYW1lKToKKyAgICAgICAgICAgICAgICByZXR1cm4KKyAgICAgICAgICAgIGRuc25hbWVzLmFwcGVuZCh2YWx1ZSkKKyAgICAgICAgZWxpZiBrZXkgPT0gJ0lQIEFkZHJlc3MnOgorICAgICAgICAgICAgaWYgaG9zdF9pcCBpcyBub3QgTm9uZSBhbmQgX2lwYWRkcmVzc19tYXRjaCh2YWx1ZSwgaG9zdF9pcCk6CiAgICAgICAgICAgICAgICAgcmV0dXJuCiAgICAgICAgICAgICBkbnNuYW1lcy5hcHBlbmQodmFsdWUpCiAgICAgaWYgbm90IGRuc25hbWVzOgpAQCAtMzYyLDYgKzM3NiwxMiBAQAogICAgICAgICAgICAgICAgICAgICAgICAgIHNlcnZlcl9ob3N0bmFtZT1zZXJ2ZXJfaG9zdG5hbWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgX2NvbnRleHQ9c2VsZikKIAorICAgIGRlZiB3cmFwX2JpbyhzZWxmLCBpbmNvbWluZywgb3V0Z29pbmcsIHNlcnZlcl9zaWRlPUZhbHNlLAorICAgICAgICAgICAgICAgICBzZXJ2ZXJfaG9zdG5hbWU9Tm9uZSk6CisgICAgICAgIHNzbG9iaiA9IHNlbGYuX3dyYXBfYmlvKGluY29taW5nLCBvdXRnb2luZywgc2VydmVyX3NpZGU9c2VydmVyX3NpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlcnZlcl9ob3N0bmFtZT1zZXJ2ZXJfaG9zdG5hbWUpCisgICAgICAgIHJldHVybiBTU0xPYmplY3Qoc3Nsb2JqKQorCiAgICAgZGVmIHNldF9ucG5fcHJvdG9jb2xzKHNlbGYsIG5wbl9wcm90b2NvbHMpOgogICAgICAgICBwcm90b3MgPSBieXRlYXJyYXkoKQogICAgICAgICBmb3IgcHJvdG9jb2wgaW4gbnBuX3Byb3RvY29sczoKQEAgLTM3Myw2ICszOTMsMTcgQEAKIAogICAgICAgICBzZWxmLl9zZXRfbnBuX3Byb3RvY29scyhwcm90b3MpCiAKKyAgICBkZWYgc2V0X2FscG5fcHJvdG9jb2xzKHNlbGYsIGFscG5fcHJvdG9jb2xzKToKKyAgICAgICAgcHJvdG9zID0gYnl0ZWFycmF5KCkKKyAgICAgICAgZm9yIHByb3RvY29sIGluIGFscG5fcHJvdG9jb2xzOgorICAgICAgICAgICAgYiA9IGJ5dGVzKHByb3RvY29sLCAnYXNjaWknKQorICAgICAgICAgICAgaWYgbGVuKGIpID09IDAgb3IgbGVuKGIpID4gMjU1OgorICAgICAgICAgICAgICAgIHJhaXNlIFNTTEVycm9yKCdBTFBOIHByb3RvY29scyBtdXN0IGJlIDEgdG8gMjU1IGluIGxlbmd0aCcpCisgICAgICAgICAgICBwcm90b3MuYXBwZW5kKGxlbihiKSkKKyAgICAgICAgICAgIHByb3Rvcy5leHRlbmQoYikKKworICAgICAgICBzZWxmLl9zZXRfYWxwbl9wcm90b2NvbHMocHJvdG9zKQorCiAgICAgZGVmIF9sb2FkX3dpbmRvd3Nfc3RvcmVfY2VydHMoc2VsZiwgc3RvcmVuYW1lLCBwdXJwb3NlKToKICAgICAgICAgY2VydHMgPSBieXRlYXJyYXkoKQogICAgICAgICBmb3IgY2VydCwgZW5jb2RpbmcsIHRydXN0IGluIGVudW1fY2VydGlmaWNhdGVzKHN0b3JlbmFtZSk6CkBAIC00ODksNiArNTIwLDE0MSBAQAogX2NyZWF0ZV9zdGRsaWJfY29udGV4dCA9IF9jcmVhdGVfdW52ZXJpZmllZF9jb250ZXh0CiAKIAorY2xhc3MgU1NMT2JqZWN0OgorICAgICIiIlRoaXMgY2xhc3MgaW1wbGVtZW50cyBhbiBpbnRlcmZhY2Ugb24gdG9wIG9mIGEgbG93LWxldmVsIFNTTCBvYmplY3QgYXMKKyAgICBpbXBsZW1lbnRlZCBieSBPcGVuU1NMLiBUaGlzIG9iamVjdCBjYXB0dXJlcyB0aGUgc3RhdGUgb2YgYW4gU1NMIGNvbm5lY3Rpb24KKyAgICBidXQgZG9lcyBub3QgcHJvdmlkZSBhbnkgbmV0d29yayBJTyBpdHNlbGYuIElPIG5lZWRzIHRvIGJlIHBlcmZvcm1lZAorICAgIHRocm91Z2ggc2VwYXJhdGUgIkJJTyIgb2JqZWN0cyB3aGljaCBhcmUgT3BlblNTTCdzIElPIGFic3RyYWN0aW9uIGxheWVyLgorCisgICAgVGhpcyBjbGFzcyBkb2VzIG5vdCBoYXZlIGEgcHVibGljIGNvbnN0cnVjdG9yLiBJbnN0YW5jZXMgYXJlIHJldHVybmVkIGJ5CisgICAgYGBTU0xDb250ZXh0LndyYXBfYmlvYGAuIFRoaXMgY2xhc3MgaXMgdHlwaWNhbGx5IHVzZWQgYnkgZnJhbWV3b3JrIGF1dGhvcnMKKyAgICB0aGF0IHdhbnQgdG8gaW1wbGVtZW50IGFzeW5jaHJvbm91cyBJTyBmb3IgU1NMIHRocm91Z2ggbWVtb3J5IGJ1ZmZlcnMuCisKKyAgICBXaGVuIGNvbXBhcmVkIHRvIGBgU1NMU29ja2V0YGAsIHRoaXMgb2JqZWN0IGxhY2tzIHRoZSBmb2xsb3dpbmcgZmVhdHVyZXM6CisKKyAgICAgKiBBbnkgZm9ybSBvZiBuZXR3b3JrIElPIGluY2x1Z2luZyBtZXRob2RzIHN1Y2ggYXMgYGByZWN2YGAgYW5kIGBgc2VuZGBgLgorICAgICAqIFRoZSBgYGRvX2hhbmRzaGFrZV9vbl9jb25uZWN0YGAgYW5kIGBgc3VwcHJlc3NfcmFnZ2VkX2VvZnNgYCBtYWNoaW5lcnkuCisgICAgIiIiCisKKyAgICBkZWYgX19pbml0X18oc2VsZiwgc3Nsb2JqLCBvd25lcj1Ob25lKToKKyAgICAgICAgc2VsZi5fc3Nsb2JqID0gc3Nsb2JqCisgICAgICAgICMgTm90ZTogX3NzbG9iaiB0YWtlcyBhIHdlYWsgcmVmZXJlbmNlIHRvIG93bmVyCisgICAgICAgIHNlbGYuX3NzbG9iai5vd25lciA9IG93bmVyIG9yIHNlbGYKKworICAgIEBwcm9wZXJ0eQorICAgIGRlZiBjb250ZXh0KHNlbGYpOgorICAgICAgICAiIiJUaGUgU1NMQ29udGV4dCB0aGF0IGlzIGN1cnJlbnRseSBpbiB1c2UuIiIiCisgICAgICAgIHJldHVybiBzZWxmLl9zc2xvYmouY29udGV4dAorCisgICAgQGNvbnRleHQuc2V0dGVyCisgICAgZGVmIGNvbnRleHQoc2VsZiwgY3R4KToKKyAgICAgICAgc2VsZi5fc3Nsb2JqLmNvbnRleHQgPSBjdHgKKworICAgIEBwcm9wZXJ0eQorICAgIGRlZiBzZXJ2ZXJfc2lkZShzZWxmKToKKyAgICAgICAgIiIiV2hldGhlciB0aGlzIGlzIGEgc2VydmVyLXNpZGUgc29ja2V0LiIiIgorICAgICAgICByZXR1cm4gc2VsZi5fc3Nsb2JqLnNlcnZlcl9zaWRlCisKKyAgICBAcHJvcGVydHkKKyAgICBkZWYgc2VydmVyX2hvc3RuYW1lKHNlbGYpOgorICAgICAgICAiIiJUaGUgY3VycmVudGx5IHNldCBzZXJ2ZXIgaG9zdG5hbWUgKGZvciBTTkkpLCBvciBgYE5vbmVgYCBpZiBubworICAgICAgICBzZXJ2ZXIgaG9zdGFtZSBpcyBzZXQuIiIiCisgICAgICAgIHJldHVybiBzZWxmLl9zc2xvYmouc2VydmVyX2hvc3RuYW1lCisKKyAgICBkZWYgcmVhZChzZWxmLCBsZW49MCwgYnVmZmVyPU5vbmUpOgorICAgICAgICAiIiJSZWFkIHVwIHRvICdsZW4nIGJ5dGVzIGZyb20gdGhlIFNTTCBvYmplY3QgYW5kIHJldHVybiB0aGVtLgorCisgICAgICAgIElmICdidWZmZXInIGlzIHByb3ZpZGVkLCByZWFkIGludG8gdGhpcyBidWZmZXIgYW5kIHJldHVybiB0aGUgbnVtYmVyIG9mCisgICAgICAgIGJ5dGVzIHJlYWQuCisgICAgICAgICIiIgorICAgICAgICBpZiBidWZmZXIgaXMgbm90IE5vbmU6CisgICAgICAgICAgICB2ID0gc2VsZi5fc3Nsb2JqLnJlYWQobGVuLCBidWZmZXIpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICB2ID0gc2VsZi5fc3Nsb2JqLnJlYWQobGVuIG9yIDEwMjQpCisgICAgICAgIHJldHVybiB2CisKKyAgICBkZWYgd3JpdGUoc2VsZiwgZGF0YSk6CisgICAgICAgICIiIldyaXRlICdkYXRhJyB0byB0aGUgU1NMIG9iamVjdCBhbmQgcmV0dXJuIHRoZSBudW1iZXIgb2YgYnl0ZXMKKyAgICAgICAgd3JpdHRlbi4KKworICAgICAgICBUaGUgJ2RhdGEnIGFyZ3VtZW50IG11c3Qgc3VwcG9ydCB0aGUgYnVmZmVyIGludGVyZmFjZS4KKyAgICAgICAgIiIiCisgICAgICAgIHJldHVybiBzZWxmLl9zc2xvYmoud3JpdGUoZGF0YSkKKworICAgIGRlZiBnZXRwZWVyY2VydChzZWxmLCBiaW5hcnlfZm9ybT1GYWxzZSk6CisgICAgICAgICIiIlJldHVybnMgYSBmb3JtYXR0ZWQgdmVyc2lvbiBvZiB0aGUgZGF0YSBpbiB0aGUgY2VydGlmaWNhdGUgcHJvdmlkZWQKKyAgICAgICAgYnkgdGhlIG90aGVyIGVuZCBvZiB0aGUgU1NMIGNoYW5uZWwuCisKKyAgICAgICAgUmV0dXJuIE5vbmUgaWYgbm8gY2VydGlmaWNhdGUgd2FzIHByb3ZpZGVkLCB7fSBpZiBhIGNlcnRpZmljYXRlIHdhcworICAgICAgICBwcm92aWRlZCwgYnV0IG5vdCB2YWxpZGF0ZWQuCisgICAgICAgICIiIgorICAgICAgICByZXR1cm4gc2VsZi5fc3Nsb2JqLnBlZXJfY2VydGlmaWNhdGUoYmluYXJ5X2Zvcm0pCisKKyAgICBkZWYgc2VsZWN0ZWRfbnBuX3Byb3RvY29sKHNlbGYpOgorICAgICAgICAiIiJSZXR1cm4gdGhlIGN1cnJlbnRseSBzZWxlY3RlZCBOUE4gcHJvdG9jb2wgYXMgYSBzdHJpbmcsIG9yIGBgTm9uZWBgCisgICAgICAgIGlmIGEgbmV4dCBwcm90b2NvbCB3YXMgbm90IG5lZ290aWF0ZWQgb3IgaWYgTlBOIGlzIG5vdCBzdXBwb3J0ZWQgYnkgb25lCisgICAgICAgIG9mIHRoZSBwZWVycy4iIiIKKyAgICAgICAgaWYgX3NzbC5IQVNfTlBOOgorICAgICAgICAgICAgcmV0dXJuIHNlbGYuX3NzbG9iai5zZWxlY3RlZF9ucG5fcHJvdG9jb2woKQorCisgICAgZGVmIHNlbGVjdGVkX2FscG5fcHJvdG9jb2woc2VsZik6CisgICAgICAgICIiIlJldHVybiB0aGUgY3VycmVudGx5IHNlbGVjdGVkIEFMUE4gcHJvdG9jb2wgYXMgYSBzdHJpbmcsIG9yIGBgTm9uZWBgCisgICAgICAgIGlmIGEgbmV4dCBwcm90b2NvbCB3YXMgbm90IG5lZ290aWF0ZWQgb3IgaWYgQUxQTiBpcyBub3Qgc3VwcG9ydGVkIGJ5IG9uZQorICAgICAgICBvZiB0aGUgcGVlcnMuIiIiCisgICAgICAgIGlmIF9zc2wuSEFTX0FMUE46CisgICAgICAgICAgICByZXR1cm4gc2VsZi5fc3Nsb2JqLnNlbGVjdGVkX2FscG5fcHJvdG9jb2woKQorCisgICAgZGVmIGNpcGhlcihzZWxmKToKKyAgICAgICAgIiIiUmV0dXJuIHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgY2lwaGVyIGFzIGEgMy10dXBsZSBgYChuYW1lLAorICAgICAgICBzc2xfdmVyc2lvbiwgc2VjcmV0X2JpdHMpYGAuIiIiCisgICAgICAgIHJldHVybiBzZWxmLl9zc2xvYmouY2lwaGVyKCkKKworICAgIGRlZiBzaGFyZWRfY2lwaGVycyhzZWxmKToKKyAgICAgICAgIiIiUmV0dXJuIGEgbGlzdCBvZiBjaXBoZXJzIHNoYXJlZCBieSB0aGUgY2xpZW50IGR1cmluZyB0aGUgaGFuZHNoYWtlIG9yCisgICAgICAgIE5vbmUgaWYgdGhpcyBpcyBub3QgYSB2YWxpZCBzZXJ2ZXIgY29ubmVjdGlvbi4KKyAgICAgICAgIiIiCisgICAgICAgIHJldHVybiBzZWxmLl9zc2xvYmouc2hhcmVkX2NpcGhlcnMoKQorCisgICAgZGVmIGNvbXByZXNzaW9uKHNlbGYpOgorICAgICAgICAiIiJSZXR1cm4gdGhlIGN1cnJlbnQgY29tcHJlc3Npb24gYWxnb3JpdGhtIGluIHVzZSwgb3IgYGBOb25lYGAgaWYKKyAgICAgICAgY29tcHJlc3Npb24gd2FzIG5vdCBuZWdvdGlhdGVkIG9yIG5vdCBzdXBwb3J0ZWQgYnkgb25lIG9mIHRoZSBwZWVycy4iIiIKKyAgICAgICAgcmV0dXJuIHNlbGYuX3NzbG9iai5jb21wcmVzc2lvbigpCisKKyAgICBkZWYgcGVuZGluZyhzZWxmKToKKyAgICAgICAgIiIiUmV0dXJuIHRoZSBudW1iZXIgb2YgYnl0ZXMgdGhhdCBjYW4gYmUgcmVhZCBpbW1lZGlhdGVseS4iIiIKKyAgICAgICAgcmV0dXJuIHNlbGYuX3NzbG9iai5wZW5kaW5nKCkKKworICAgIGRlZiBkb19oYW5kc2hha2Uoc2VsZik6CisgICAgICAgICIiIlN0YXJ0IHRoZSBTU0wvVExTIGhhbmRzaGFrZS4iIiIKKyAgICAgICAgc2VsZi5fc3Nsb2JqLmRvX2hhbmRzaGFrZSgpCisgICAgICAgIGlmIHNlbGYuY29udGV4dC5jaGVja19ob3N0bmFtZToKKyAgICAgICAgICAgIGlmIG5vdCBzZWxmLnNlcnZlcl9ob3N0bmFtZToKKyAgICAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJjaGVja19ob3N0bmFtZSBuZWVkcyBzZXJ2ZXJfaG9zdG5hbWUgIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImFyZ3VtZW50IikKKyAgICAgICAgICAgIG1hdGNoX2hvc3RuYW1lKHNlbGYuZ2V0cGVlcmNlcnQoKSwgc2VsZi5zZXJ2ZXJfaG9zdG5hbWUpCisKKyAgICBkZWYgdW53cmFwKHNlbGYpOgorICAgICAgICAiIiJTdGFydCB0aGUgU1NMIHNodXRkb3duIGhhbmRzaGFrZS4iIiIKKyAgICAgICAgcmV0dXJuIHNlbGYuX3NzbG9iai5zaHV0ZG93bigpCisKKyAgICBkZWYgZ2V0X2NoYW5uZWxfYmluZGluZyhzZWxmLCBjYl90eXBlPSJ0bHMtdW5pcXVlIik6CisgICAgICAgICIiIkdldCBjaGFubmVsIGJpbmRpbmcgZGF0YSBmb3IgY3VycmVudCBjb25uZWN0aW9uLiAgUmFpc2UgVmFsdWVFcnJvcgorICAgICAgICBpZiB0aGUgcmVxdWVzdGVkIGBjYl90eXBlYCBpcyBub3Qgc3VwcG9ydGVkLiAgUmV0dXJuIGJ5dGVzIG9mIHRoZSBkYXRhCisgICAgICAgIG9yIE5vbmUgaWYgdGhlIGRhdGEgaXMgbm90IGF2YWlsYWJsZSAoZS5nLiBiZWZvcmUgdGhlIGhhbmRzaGFrZSkuIiIiCisgICAgICAgIGlmIGNiX3R5cGUgbm90IGluIENIQU5ORUxfQklORElOR19UWVBFUzoKKyAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoIlVuc3VwcG9ydGVkIGNoYW5uZWwgYmluZGluZyB0eXBlIikKKyAgICAgICAgaWYgY2JfdHlwZSAhPSAidGxzLXVuaXF1ZSI6CisgICAgICAgICAgICByYWlzZSBOb3RJbXBsZW1lbnRlZEVycm9yKAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ7MH0gY2hhbm5lbCBiaW5kaW5nIHR5cGUgbm90IGltcGxlbWVudGVkIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5mb3JtYXQoY2JfdHlwZSkpCisgICAgICAgIHJldHVybiBzZWxmLl9zc2xvYmoudGxzX3VuaXF1ZV9jYigpCisKKyAgICBkZWYgdmVyc2lvbihzZWxmKToKKyAgICAgICAgIiIiUmV0dXJuIGEgc3RyaW5nIGlkZW50aWZ5aW5nIHRoZSBwcm90b2NvbCB2ZXJzaW9uIHVzZWQgYnkgdGhlCisgICAgICAgIGN1cnJlbnQgU1NMIGNoYW5uZWwuICIiIgorICAgICAgICByZXR1cm4gc2VsZi5fc3Nsb2JqLnZlcnNpb24oKQorCisKIGNsYXNzIFNTTFNvY2tldChzb2NrZXQpOgogICAgICIiIlRoaXMgY2xhc3MgaW1wbGVtZW50cyBhIHN1YnR5cGUgb2Ygc29ja2V0LnNvY2tldCB0aGF0IHdyYXBzCiAgICAgdGhlIHVuZGVybHlpbmcgT1Mgc29ja2V0IGluIGFuIFNTTCBjb250ZXh0IHdoZW4gbmVjZXNzYXJ5LCBhbmQKQEAgLTU3MSw4ICs3MzcsOSBAQAogICAgICAgICBpZiBjb25uZWN0ZWQ6CiAgICAgICAgICAgICAjIGNyZWF0ZSB0aGUgU1NMIG9iamVjdAogICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgIHNlbGYuX3NzbG9iaiA9IHNlbGYuX2NvbnRleHQuX3dyYXBfc29ja2V0KHNlbGYsIHNlcnZlcl9zaWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VydmVyX2hvc3RuYW1lKQorICAgICAgICAgICAgICAgIHNzbG9iaiA9IHNlbGYuX2NvbnRleHQuX3dyYXBfc29ja2V0KHNlbGYsIHNlcnZlcl9zaWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlcnZlcl9ob3N0bmFtZSkKKyAgICAgICAgICAgICAgICBzZWxmLl9zc2xvYmogPSBTU0xPYmplY3Qoc3Nsb2JqLCBvd25lcj1zZWxmKQogICAgICAgICAgICAgICAgIGlmIGRvX2hhbmRzaGFrZV9vbl9jb25uZWN0OgogICAgICAgICAgICAgICAgICAgICB0aW1lb3V0ID0gc2VsZi5nZXR0aW1lb3V0KCkKICAgICAgICAgICAgICAgICAgICAgaWYgdGltZW91dCA9PSAwLjA6CkBAIC02MTcsMTEgKzc4NCw3IEBACiAgICAgICAgIGlmIG5vdCBzZWxmLl9zc2xvYmo6CiAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJSZWFkIG9uIGNsb3NlZCBvciB1bndyYXBwZWQgU1NMIHNvY2tldC4iKQogICAgICAgICB0cnk6Ci0gICAgICAgICAgICBpZiBidWZmZXIgaXMgbm90IE5vbmU6Ci0gICAgICAgICAgICAgICAgdiA9IHNlbGYuX3NzbG9iai5yZWFkKGxlbiwgYnVmZmVyKQotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICB2ID0gc2VsZi5fc3Nsb2JqLnJlYWQobGVuIG9yIDEwMjQpCi0gICAgICAgICAgICByZXR1cm4gdgorICAgICAgICAgICAgcmV0dXJuIHNlbGYuX3NzbG9iai5yZWFkKGxlbiwgYnVmZmVyKQogICAgICAgICBleGNlcHQgU1NMRXJyb3IgYXMgeDoKICAgICAgICAgICAgIGlmIHguYXJnc1swXSA9PSBTU0xfRVJST1JfRU9GIGFuZCBzZWxmLnN1cHByZXNzX3JhZ2dlZF9lb2ZzOgogICAgICAgICAgICAgICAgIGlmIGJ1ZmZlciBpcyBub3QgTm9uZToKQEAgLTY0OCw3ICs4MTEsNyBAQAogCiAgICAgICAgIHNlbGYuX2NoZWNrQ2xvc2VkKCkKICAgICAgICAgc2VsZi5fY2hlY2tfY29ubmVjdGVkKCkKLSAgICAgICAgcmV0dXJuIHNlbGYuX3NzbG9iai5wZWVyX2NlcnRpZmljYXRlKGJpbmFyeV9mb3JtKQorICAgICAgICByZXR1cm4gc2VsZi5fc3Nsb2JqLmdldHBlZXJjZXJ0KGJpbmFyeV9mb3JtKQogCiAgICAgZGVmIHNlbGVjdGVkX25wbl9wcm90b2NvbChzZWxmKToKICAgICAgICAgc2VsZi5fY2hlY2tDbG9zZWQoKQpAQCAtNjU3LDYgKzgyMCwxMyBAQAogICAgICAgICBlbHNlOgogICAgICAgICAgICAgcmV0dXJuIHNlbGYuX3NzbG9iai5zZWxlY3RlZF9ucG5fcHJvdG9jb2woKQogCisgICAgZGVmIHNlbGVjdGVkX2FscG5fcHJvdG9jb2woc2VsZik6CisgICAgICAgIHNlbGYuX2NoZWNrQ2xvc2VkKCkKKyAgICAgICAgaWYgbm90IHNlbGYuX3NzbG9iaiBvciBub3QgX3NzbC5IQVNfQUxQTjoKKyAgICAgICAgICAgIHJldHVybiBOb25lCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICByZXR1cm4gc2VsZi5fc3Nsb2JqLnNlbGVjdGVkX2FscG5fcHJvdG9jb2woKQorCiAgICAgZGVmIGNpcGhlcihzZWxmKToKICAgICAgICAgc2VsZi5fY2hlY2tDbG9zZWQoKQogICAgICAgICBpZiBub3Qgc2VsZi5fc3Nsb2JqOgpAQCAtNjY0LDYgKzgzNCwxMiBAQAogICAgICAgICBlbHNlOgogICAgICAgICAgICAgcmV0dXJuIHNlbGYuX3NzbG9iai5jaXBoZXIoKQogCisgICAgZGVmIHNoYXJlZF9jaXBoZXJzKHNlbGYpOgorICAgICAgICBzZWxmLl9jaGVja0Nsb3NlZCgpCisgICAgICAgIGlmIG5vdCBzZWxmLl9zc2xvYmo6CisgICAgICAgICAgICByZXR1cm4gTm9uZQorICAgICAgICByZXR1cm4gc2VsZi5fc3Nsb2JqLnNoYXJlZF9jaXBoZXJzKCkKKwogICAgIGRlZiBjb21wcmVzc2lvbihzZWxmKToKICAgICAgICAgc2VsZi5fY2hlY2tDbG9zZWQoKQogICAgICAgICBpZiBub3Qgc2VsZi5fc3Nsb2JqOgpAQCAtNjc4LDE3ICs4NTQsNyBAQAogICAgICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoCiAgICAgICAgICAgICAgICAgICAgICJub24temVybyBmbGFncyBub3QgYWxsb3dlZCBpbiBjYWxscyB0byBzZW5kKCkgb24gJXMiICUKICAgICAgICAgICAgICAgICAgICAgc2VsZi5fX2NsYXNzX18pCi0gICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgdiA9IHNlbGYuX3NzbG9iai53cml0ZShkYXRhKQotICAgICAgICAgICAgZXhjZXB0IFNTTEVycm9yIGFzIHg6Ci0gICAgICAgICAgICAgICAgaWYgeC5hcmdzWzBdID09IFNTTF9FUlJPUl9XQU5UX1JFQUQ6Ci0gICAgICAgICAgICAgICAgICAgIHJldHVybiAwCi0gICAgICAgICAgICAgICAgZWxpZiB4LmFyZ3NbMF0gPT0gU1NMX0VSUk9SX1dBTlRfV1JJVEU6Ci0gICAgICAgICAgICAgICAgICAgIHJldHVybiAwCi0gICAgICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICAgICAgcmFpc2UKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIHYKKyAgICAgICAgICAgIHJldHVybiBzZWxmLl9zc2xvYmoud3JpdGUoZGF0YSkKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIHJldHVybiBzb2NrZXQuc2VuZChzZWxmLCBkYXRhLCBmbGFncykKIApAQCAtNzI0LDYgKzg5MCwxNiBAQAogICAgICAgICBlbHNlOgogICAgICAgICAgICAgcmV0dXJuIHNvY2tldC5zZW5kYWxsKHNlbGYsIGRhdGEsIGZsYWdzKQogCisgICAgZGVmIHNlbmRmaWxlKHNlbGYsIGZpbGUsIG9mZnNldD0wLCBjb3VudD1Ob25lKToKKyAgICAgICAgIiIiU2VuZCBhIGZpbGUsIHBvc3NpYmx5IGJ5IHVzaW5nIG9zLnNlbmRmaWxlKCkgaWYgdGhpcyBpcyBhCisgICAgICAgIGNsZWFyLXRleHQgc29ja2V0LiAgUmV0dXJuIHRoZSB0b3RhbCBudW1iZXIgb2YgYnl0ZXMgc2VudC4KKyAgICAgICAgIiIiCisgICAgICAgIGlmIHNlbGYuX3NzbG9iaiBpcyBOb25lOgorICAgICAgICAgICAgIyBvcy5zZW5kZmlsZSgpIHdvcmtzIHdpdGggcGxhaW4gc29ja2V0cyBvbmx5CisgICAgICAgICAgICByZXR1cm4gc3VwZXIoKS5zZW5kZmlsZShmaWxlLCBvZmZzZXQsIGNvdW50KQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgcmV0dXJuIHNlbGYuX3NlbmRmaWxlX3VzZV9zZW5kKGZpbGUsIG9mZnNldCwgY291bnQpCisKICAgICBkZWYgcmVjdihzZWxmLCBidWZsZW49MTAyNCwgZmxhZ3M9MCk6CiAgICAgICAgIHNlbGYuX2NoZWNrQ2xvc2VkKCkKICAgICAgICAgaWYgc2VsZi5fc3Nsb2JqOgpAQCAtNzg4LDcgKzk2NCw3IEBACiAKICAgICBkZWYgdW53cmFwKHNlbGYpOgogICAgICAgICBpZiBzZWxmLl9zc2xvYmo6Ci0gICAgICAgICAgICBzID0gc2VsZi5fc3Nsb2JqLnNodXRkb3duKCkKKyAgICAgICAgICAgIHMgPSBzZWxmLl9zc2xvYmoudW53cmFwKCkKICAgICAgICAgICAgIHNlbGYuX3NzbG9iaiA9IE5vbmUKICAgICAgICAgICAgIHJldHVybiBzCiAgICAgICAgIGVsc2U6CkBAIC04MDksMTIgKzk4NSw2IEBACiAgICAgICAgIGZpbmFsbHk6CiAgICAgICAgICAgICBzZWxmLnNldHRpbWVvdXQodGltZW91dCkKIAotICAgICAgICBpZiBzZWxmLmNvbnRleHQuY2hlY2tfaG9zdG5hbWU6Ci0gICAgICAgICAgICBpZiBub3Qgc2VsZi5zZXJ2ZXJfaG9zdG5hbWU6Ci0gICAgICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigiY2hlY2tfaG9zdG5hbWUgbmVlZHMgc2VydmVyX2hvc3RuYW1lICIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJhcmd1bWVudCIpCi0gICAgICAgICAgICBtYXRjaF9ob3N0bmFtZShzZWxmLmdldHBlZXJjZXJ0KCksIHNlbGYuc2VydmVyX2hvc3RuYW1lKQotCiAgICAgZGVmIF9yZWFsX2Nvbm5lY3Qoc2VsZiwgYWRkciwgY29ubmVjdF9leCk6CiAgICAgICAgIGlmIHNlbGYuc2VydmVyX3NpZGU6CiAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJjYW4ndCBjb25uZWN0IGluIHNlcnZlci1zaWRlIG1vZGUiKQpAQCAtODIyLDcgKzk5Miw4IEBACiAgICAgICAgICMgY29ubmVjdGVkIGF0IHRoZSB0aW1lIG9mIHRoZSBjYWxsLiAgV2UgY29ubmVjdCBpdCwgdGhlbiB3cmFwIGl0LgogICAgICAgICBpZiBzZWxmLl9jb25uZWN0ZWQ6CiAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJhdHRlbXB0IHRvIGNvbm5lY3QgYWxyZWFkeS1jb25uZWN0ZWQgU1NMU29ja2V0ISIpCi0gICAgICAgIHNlbGYuX3NzbG9iaiA9IHNlbGYuY29udGV4dC5fd3JhcF9zb2NrZXQoc2VsZiwgRmFsc2UsIHNlbGYuc2VydmVyX2hvc3RuYW1lKQorICAgICAgICBzc2xvYmogPSBzZWxmLmNvbnRleHQuX3dyYXBfc29ja2V0KHNlbGYsIEZhbHNlLCBzZWxmLnNlcnZlcl9ob3N0bmFtZSkKKyAgICAgICAgc2VsZi5fc3Nsb2JqID0gU1NMT2JqZWN0KHNzbG9iaiwgb3duZXI9c2VsZikKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgaWYgY29ubmVjdF9leDoKICAgICAgICAgICAgICAgICByYyA9IHNvY2tldC5jb25uZWN0X2V4KHNlbGYsIGFkZHIpCkBAIC04NjUsMTUgKzEwMzYsMTggQEAKICAgICAgICAgaWYgdGhlIHJlcXVlc3RlZCBgY2JfdHlwZWAgaXMgbm90IHN1cHBvcnRlZC4gIFJldHVybiBieXRlcyBvZiB0aGUgZGF0YQogICAgICAgICBvciBOb25lIGlmIHRoZSBkYXRhIGlzIG5vdCBhdmFpbGFibGUgKGUuZy4gYmVmb3JlIHRoZSBoYW5kc2hha2UpLgogICAgICAgICAiIiIKLSAgICAgICAgaWYgY2JfdHlwZSBub3QgaW4gQ0hBTk5FTF9CSU5ESU5HX1RZUEVTOgotICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigiVW5zdXBwb3J0ZWQgY2hhbm5lbCBiaW5kaW5nIHR5cGUiKQotICAgICAgICBpZiBjYl90eXBlICE9ICJ0bHMtdW5pcXVlIjoKLSAgICAgICAgICAgIHJhaXNlIE5vdEltcGxlbWVudGVkRXJyb3IoCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInswfSBjaGFubmVsIGJpbmRpbmcgdHlwZSBub3QgaW1wbGVtZW50ZWQiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgLmZvcm1hdChjYl90eXBlKSkKICAgICAgICAgaWYgc2VsZi5fc3Nsb2JqIGlzIE5vbmU6CiAgICAgICAgICAgICByZXR1cm4gTm9uZQotICAgICAgICByZXR1cm4gc2VsZi5fc3Nsb2JqLnRsc191bmlxdWVfY2IoKQorICAgICAgICByZXR1cm4gc2VsZi5fc3Nsb2JqLmdldF9jaGFubmVsX2JpbmRpbmcoY2JfdHlwZSkKKworICAgIGRlZiB2ZXJzaW9uKHNlbGYpOgorICAgICAgICAiIiIKKyAgICAgICAgUmV0dXJuIGEgc3RyaW5nIGlkZW50aWZ5aW5nIHRoZSBwcm90b2NvbCB2ZXJzaW9uIHVzZWQgYnkgdGhlCisgICAgICAgIGN1cnJlbnQgU1NMIGNoYW5uZWwsIG9yIE5vbmUgaWYgdGhlcmUgaXMgbm8gZXN0YWJsaXNoZWQgY2hhbm5lbC4KKyAgICAgICAgIiIiCisgICAgICAgIGlmIHNlbGYuX3NzbG9iaiBpcyBOb25lOgorICAgICAgICAgICAgcmV0dXJuIE5vbmUKKyAgICAgICAgcmV0dXJuIHNlbGYuX3NzbG9iai52ZXJzaW9uKCkKIAogCiBkZWYgd3JhcF9zb2NrZXQoc29jaywga2V5ZmlsZT1Ob25lLCBjZXJ0ZmlsZT1Ob25lLApAQCAtODkzLDEyICsxMDY3LDM0IEBACiAjIHNvbWUgdXRpbGl0eSBmdW5jdGlvbnMKIAogZGVmIGNlcnRfdGltZV90b19zZWNvbmRzKGNlcnRfdGltZSk6Ci0gICAgIiIiVGFrZXMgYSBkYXRlLXRpbWUgc3RyaW5nIGluIHN0YW5kYXJkIEFTTjFfcHJpbnQgZm9ybQotICAgICgiTU9OIERBWSAyNEhPVVI6TUlOVVRFOlNFQyBZRUFSIFRJTUVaT05FIikgYW5kIHJldHVybgotICAgIGEgUHl0aG9uIHRpbWUgdmFsdWUgaW4gc2Vjb25kcyBwYXN0IHRoZSBlcG9jaC4iIiIKKyAgICAiIiJSZXR1cm4gdGhlIHRpbWUgaW4gc2Vjb25kcyBzaW5jZSB0aGUgRXBvY2gsIGdpdmVuIHRoZSB0aW1lc3RyaW5nCisgICAgcmVwcmVzZW50aW5nIHRoZSAibm90QmVmb3JlIiBvciAibm90QWZ0ZXIiIGRhdGUgZnJvbSBhIGNlcnRpZmljYXRlCisgICAgaW4gYGAiJWIgJWQgJUg6JU06JVMgJVkgJVoiYGAgc3RycHRpbWUgZm9ybWF0IChDIGxvY2FsZSkuCiAKLSAgICBpbXBvcnQgdGltZQotICAgIHJldHVybiB0aW1lLm1rdGltZSh0aW1lLnN0cnB0aW1lKGNlcnRfdGltZSwgIiViICVkICVIOiVNOiVTICVZIEdNVCIpKQorICAgICJub3RCZWZvcmUiIG9yICJub3RBZnRlciIgZGF0ZXMgbXVzdCB1c2UgVVRDIChSRkMgNTI4MCkuCisKKyAgICBNb250aCBpcyBvbmUgb2Y6IEphbiBGZWIgTWFyIEFwciBNYXkgSnVuIEp1bCBBdWcgU2VwIE9jdCBOb3YgRGVjCisgICAgVVRDIHNob3VsZCBiZSBzcGVjaWZpZWQgYXMgR01UIChzZWUgQVNOMV9USU1FX3ByaW50KCkpCisgICAgIiIiCisgICAgZnJvbSB0aW1lIGltcG9ydCBzdHJwdGltZQorICAgIGZyb20gY2FsZW5kYXIgaW1wb3J0IHRpbWVnbQorCisgICAgbW9udGhzID0gKAorICAgICAgICAiSmFuIiwiRmViIiwiTWFyIiwiQXByIiwiTWF5IiwiSnVuIiwKKyAgICAgICAgIkp1bCIsIkF1ZyIsIlNlcCIsIk9jdCIsIk5vdiIsIkRlYyIKKyAgICApCisgICAgdGltZV9mb3JtYXQgPSAnICVkICVIOiVNOiVTICVZIEdNVCcgIyBOT1RFOiBubyBtb250aCwgZml4ZWQgR01UCisgICAgdHJ5OgorICAgICAgICBtb250aF9udW1iZXIgPSBtb250aHMuaW5kZXgoY2VydF90aW1lWzozXS50aXRsZSgpKSArIDEKKyAgICBleGNlcHQgVmFsdWVFcnJvcjoKKyAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigndGltZSBkYXRhICVyIGRvZXMgbm90IG1hdGNoICcKKyAgICAgICAgICAgICAgICAgICAgICAgICAnZm9ybWF0ICIlJWIlcyInICUgKGNlcnRfdGltZSwgdGltZV9mb3JtYXQpKQorICAgIGVsc2U6CisgICAgICAgICMgZm91bmQgdmFsaWQgbW9udGgKKyAgICAgICAgdHQgPSBzdHJwdGltZShjZXJ0X3RpbWVbMzpdLCB0aW1lX2Zvcm1hdCkKKyAgICAgICAgIyByZXR1cm4gYW4gaW50ZWdlciwgdGhlIHByZXZpb3VzIG1rdGltZSgpLWJhc2VkIGltcGxlbWVudGF0aW9uCisgICAgICAgICMgcmV0dXJuZWQgYSBmbG9hdCAoZnJhY3Rpb25hbCBzZWNvbmRzIGFyZSBhbHdheXMgemVybyBoZXJlKS4KKyAgICAgICAgcmV0dXJuIHRpbWVnbSgodHRbMF0sIG1vbnRoX251bWJlcikgKyB0dFsyOjZdKQogCiBQRU1fSEVBREVSID0gIi0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLSIKIFBFTV9GT09URVIgPSAiLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLSIKZGlmZiAtLWdpdCBhL0xpYi9zdGF0LnB5IGIvTGliL3N0YXQucHkKaW5kZXggM2VlY2MzZS4uNDY4MzdjMCAxMDA2NDQKLS0tIGEvTGliL3N0YXQucHkKKysrIGIvTGliL3N0YXQucHkKQEAgLTE0OCw2ICsxNDgsMjkgQEAKICAgICAgICAgICAgIHBlcm0uYXBwZW5kKCItIikKICAgICByZXR1cm4gIiIuam9pbihwZXJtKQogCisKKyMgV2luZG93cyBGSUxFX0FUVFJJQlVURSBjb25zdGFudHMgZm9yIGludGVycHJldGluZyBvcy5zdGF0KCkncworIyAic3RfZmlsZV9hdHRyaWJ1dGVzIiBtZW1iZXIKKworRklMRV9BVFRSSUJVVEVfQVJDSElWRSA9IDMyCitGSUxFX0FUVFJJQlVURV9DT01QUkVTU0VEID0gMjA0OAorRklMRV9BVFRSSUJVVEVfREVWSUNFID0gNjQKK0ZJTEVfQVRUUklCVVRFX0RJUkVDVE9SWSA9IDE2CitGSUxFX0FUVFJJQlVURV9FTkNSWVBURUQgPSAxNjM4NAorRklMRV9BVFRSSUJVVEVfSElEREVOID0gMgorRklMRV9BVFRSSUJVVEVfSU5URUdSSVRZX1NUUkVBTSA9IDMyNzY4CitGSUxFX0FUVFJJQlVURV9OT1JNQUwgPSAxMjgKK0ZJTEVfQVRUUklCVVRFX05PVF9DT05URU5UX0lOREVYRUQgPSA4MTkyCitGSUxFX0FUVFJJQlVURV9OT19TQ1JVQl9EQVRBID0gMTMxMDcyCitGSUxFX0FUVFJJQlVURV9PRkZMSU5FID0gNDA5NgorRklMRV9BVFRSSUJVVEVfUkVBRE9OTFkgPSAxCitGSUxFX0FUVFJJQlVURV9SRVBBUlNFX1BPSU5UID0gMTAyNAorRklMRV9BVFRSSUJVVEVfU1BBUlNFX0ZJTEUgPSA1MTIKK0ZJTEVfQVRUUklCVVRFX1NZU1RFTSA9IDQKK0ZJTEVfQVRUUklCVVRFX1RFTVBPUkFSWSA9IDI1NgorRklMRV9BVFRSSUJVVEVfVklSVFVBTCA9IDY1NTM2CisKKwogIyBJZiBhdmFpbGFibGUsIHVzZSBDIGltcGxlbWVudGF0aW9uCiB0cnk6CiAgICAgZnJvbSBfc3RhdCBpbXBvcnQgKgpkaWZmIC0tZ2l0IGEvTGliL3N0YXRpc3RpY3MucHkgYi9MaWIvc3RhdGlzdGljcy5weQppbmRleCAyNWEyNmQ0Li4zOTcyZWQyIDEwMDY0NAotLS0gYS9MaWIvc3RhdGlzdGljcy5weQorKysgYi9MaWIvc3RhdGlzdGljcy5weQpAQCAtMTUwLDcgKzE1MCw3IEBACiAgICAgIyBXZSBmYWlsIGFzIHNvb24gYXMgd2UgcmVhY2ggYSB2YWx1ZSB0aGF0IGlzIG5vdCBhbiBpbnQgb3IgdGhlIHR5cGUgb2YKICAgICAjIHRoZSBmaXJzdCB2YWx1ZSB3aGljaCBpcyBub3QgYW4gaW50LiBFLmcuIF9zdW0oW2ludCwgaW50LCBmbG9hdCwgaW50XSkKICAgICAjIGlzIG9rYXksIGJ1dCBzdW0oW2ludCwgaW50LCBmbG9hdCwgRnJhY3Rpb25dKSBpcyBub3QuCi0gICAgYWxsb3dlZF90eXBlcyA9IHNldChbaW50LCB0eXBlKHN0YXJ0KV0pCisgICAgYWxsb3dlZF90eXBlcyA9IHtpbnQsIHR5cGUoc3RhcnQpfQogICAgIG4sIGQgPSBfZXhhY3RfcmF0aW8oc3RhcnQpCiAgICAgcGFydGlhbHMgPSB7ZDogbn0gICMgbWFwIHtkZW5vbWluYXRvcjogc3VtIG9mIG51bWVyYXRvcnN9CiAgICAgIyBNaWNyby1vcHRpbWl6YXRpb25zLgpAQCAtMTY4LDcgKzE2OCw3IEBACiAgICAgICAgIGFzc2VydCBhbGxvd2VkX3R5cGVzLnBvcCgpIGlzIGludAogICAgICAgICBUID0gaW50CiAgICAgZWxzZToKLSAgICAgICAgVCA9IChhbGxvd2VkX3R5cGVzIC0gc2V0KFtpbnRdKSkucG9wKCkKKyAgICAgICAgVCA9IChhbGxvd2VkX3R5cGVzIC0ge2ludH0pLnBvcCgpCiAgICAgaWYgTm9uZSBpbiBwYXJ0aWFsczoKICAgICAgICAgYXNzZXJ0IGlzc3ViY2xhc3MoVCwgKGZsb2F0LCBEZWNpbWFsKSkKICAgICAgICAgYXNzZXJ0IG5vdCBtYXRoLmlzZmluaXRlKHBhcnRpYWxzW05vbmVdKQpkaWZmIC0tZ2l0IGEvTGliL3N1YnByb2Nlc3MucHkgYi9MaWIvc3VicHJvY2Vzcy5weQppbmRleCBiYzBlZjBiLi4yNWZmZWZmIDEwMDY0NAotLS0gYS9MaWIvc3VicHJvY2Vzcy5weQorKysgYi9MaWIvc3VicHJvY2Vzcy5weQpAQCAtMTA0LDE3ICsxMDQsMjEgQEAKIElmIGVudiBpcyBub3QgTm9uZSwgaXQgZGVmaW5lcyB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGVzIGZvciB0aGUgbmV3CiBwcm9jZXNzLgogCi1JZiB1bml2ZXJzYWxfbmV3bGluZXMgaXMgZmFsc2UsIHRoZSBmaWxlIG9iamVjdHMgc3RkaW4sIHN0ZG91dCBhbmQgc3RkZXJyCitJZiB1bml2ZXJzYWxfbmV3bGluZXMgaXMgRmFsc2UsIHRoZSBmaWxlIG9iamVjdHMgc3RkaW4sIHN0ZG91dCBhbmQgc3RkZXJyCiBhcmUgb3BlbmVkIGFzIGJpbmFyeSBmaWxlcywgYW5kIG5vIGxpbmUgZW5kaW5nIGNvbnZlcnNpb24gaXMgZG9uZS4KIAotSWYgdW5pdmVyc2FsX25ld2xpbmVzIGlzIHRydWUsIHRoZSBmaWxlIG9iamVjdHMgc3Rkb3V0IGFuZCBzdGRlcnIgYXJlCi1vcGVuZWQgYXMgYSB0ZXh0IGZpbGVzLCBidXQgbGluZXMgbWF5IGJlIHRlcm1pbmF0ZWQgYnkgYW55IG9mICdcbicsCitJZiB1bml2ZXJzYWxfbmV3bGluZXMgaXMgVHJ1ZSwgdGhlIGZpbGUgb2JqZWN0cyBzdGRvdXQgYW5kIHN0ZGVyciBhcmUKK29wZW5lZCBhcyBhIHRleHQgZmlsZSwgYnV0IGxpbmVzIG1heSBiZSB0ZXJtaW5hdGVkIGJ5IGFueSBvZiAnXG4nLAogdGhlIFVuaXggZW5kLW9mLWxpbmUgY29udmVudGlvbiwgJ1xyJywgdGhlIG9sZCBNYWNpbnRvc2ggY29udmVudGlvbiBvcgogJ1xyXG4nLCB0aGUgV2luZG93cyBjb252ZW50aW9uLiAgQWxsIG9mIHRoZXNlIGV4dGVybmFsIHJlcHJlc2VudGF0aW9ucwogYXJlIHNlZW4gYXMgJ1xuJyBieSB0aGUgUHl0aG9uIHByb2dyYW0uICBBbHNvLCB0aGUgbmV3bGluZXMgYXR0cmlidXRlCiBvZiB0aGUgZmlsZSBvYmplY3RzIHN0ZG91dCwgc3RkaW4gYW5kIHN0ZGVyciBhcmUgbm90IHVwZGF0ZWQgYnkgdGhlCiBjb21tdW5pY2F0ZSgpIG1ldGhvZC4KIAorSW4gZWl0aGVyIGNhc2UsIHRoZSBwcm9jZXNzIGJlaW5nIGNvbW11bmljYXRlZCB3aXRoIHNob3VsZCBzdGFydCB1cAorZXhwZWN0aW5nIHRvIHJlY2VpdmUgYnl0ZXMgb24gaXRzIHN0YW5kYXJkIGlucHV0IGFuZCBkZWNvZGUgdGhlbSB3aXRoCit0aGUgc2FtZSBlbmNvZGluZyB0aGV5IGFyZSBzZW50IGluLgorCiBUaGUgc3RhcnR1cGluZm8gYW5kIGNyZWF0aW9uZmxhZ3MsIGlmIGdpdmVuLCB3aWxsIGJlIHBhc3NlZCB0byB0aGUKIHVuZGVybHlpbmcgQ3JlYXRlUHJvY2VzcygpIGZ1bmN0aW9uLiAgVGhleSBjYW4gc3BlY2lmeSB0aGluZ3Mgc3VjaCBhcwogYXBwZWFyYW5jZSBvZiB0aGUgbWFpbiB3aW5kb3cgYW5kIHByaW9yaXR5IGZvciB0aGUgbmV3IHByb2Nlc3MuCkBAIC0xODQsNiArMTg4LDkgQEAKICAgICBwYXNzIGEgc3RyaW5nIHRvIHRoZSBzdWJwcm9jZXNzJ3Mgc3RkaW4uICBJZiB5b3UgdXNlIHRoaXMgYXJndW1lbnQKICAgICB5b3UgbWF5IG5vdCBhbHNvIHVzZSB0aGUgUG9wZW4gY29uc3RydWN0b3IncyAic3RkaW4iIGFyZ3VtZW50LgogCisgICAgSWYgdW5pdmVyc2FsX25ld2xpbmVzIGlzIHNldCB0byBUcnVlLCB0aGUgImlucHV0IiBhcmd1bWVudCBtdXN0CisgICAgYmUgYSBzdHJpbmcgcmF0aGVyIHRoYW4gYnl0ZXMsIGFuZCB0aGUgcmV0dXJuIHZhbHVlIHdpbGwgYmUgYSBzdHJpbmcuCisKIEV4Y2VwdGlvbnMKIC0tLS0tLS0tLS0KIEV4Y2VwdGlvbnMgcmFpc2VkIGluIHRoZSBjaGlsZCBwcm9jZXNzLCBiZWZvcmUgdGhlIG5ldyBwcm9ncmFtIGhhcwpAQCAtMjI1LDkgKzIzMiwxMyBAQAogY29tbXVuaWNhdGUoaW5wdXQ9Tm9uZSkKICAgICBJbnRlcmFjdCB3aXRoIHByb2Nlc3M6IFNlbmQgZGF0YSB0byBzdGRpbi4gIFJlYWQgZGF0YSBmcm9tIHN0ZG91dAogICAgIGFuZCBzdGRlcnIsIHVudGlsIGVuZC1vZi1maWxlIGlzIHJlYWNoZWQuICBXYWl0IGZvciBwcm9jZXNzIHRvCi0gICAgdGVybWluYXRlLiAgVGhlIG9wdGlvbmFsIGlucHV0IGFyZ3VtZW50IHNob3VsZCBiZSBhIHN0cmluZyB0byBiZQorICAgIHRlcm1pbmF0ZS4gIFRoZSBvcHRpb25hbCBpbnB1dCBhcmd1bWVudCBzaG91bGQgYmUgZGF0YSB0byBiZQogICAgIHNlbnQgdG8gdGhlIGNoaWxkIHByb2Nlc3MsIG9yIE5vbmUsIGlmIG5vIGRhdGEgc2hvdWxkIGJlIHNlbnQgdG8KLSAgICB0aGUgY2hpbGQuCisgICAgdGhlIGNoaWxkLiBJZiB0aGUgUG9wZW4gaW5zdGFuY2Ugd2FzIGNvbnN0cnVjdGVkIHdpdGggdW5pdmVyc2FsX25ld2xpbmVzCisgICAgc2V0IHRvIFRydWUsIHRoZSBpbnB1dCBhcmd1bWVudCBzaG91bGQgYmUgYSBzdHJpbmcgYW5kIHdpbGwgYmUgZW5jb2RlZAorICAgIHVzaW5nIHRoZSBwcmVmZXJyZWQgc3lzdGVtIGVuY29kaW5nIChzZWUgbG9jYWxlLmdldHByZWZlcnJlZGVuY29kaW5nKTsKKyAgICBpZiB1bml2ZXJzYWxfbmV3bGluZXMgaXMgRmFsc2UsIHRoZSBpbnB1dCBhcmd1bWVudCBzaG91bGQgYmUgYQorICAgIGJ5dGUgc3RyaW5nLgogCiAgICAgY29tbXVuaWNhdGUoKSByZXR1cm5zIGEgdHVwbGUgKHN0ZG91dCwgc3RkZXJyKS4KIApAQCAtMzU0LDEwICszNjUsNyBAQAogaW1wb3J0IGJ1aWx0aW5zCiBpbXBvcnQgd2FybmluZ3MKIGltcG9ydCBlcnJubwotdHJ5OgotICAgIGZyb20gdGltZSBpbXBvcnQgbW9ub3RvbmljIGFzIF90aW1lCi1leGNlcHQgSW1wb3J0RXJyb3I6Ci0gICAgZnJvbSB0aW1lIGltcG9ydCB0aW1lIGFzIF90aW1lCitmcm9tIHRpbWUgaW1wb3J0IG1vbm90b25pYyBhcyBfdGltZQogCiAjIEV4Y2VwdGlvbiBjbGFzc2VzIHVzZWQgYnkgdGhpcyBtb2R1bGUuCiBjbGFzcyBTdWJwcm9jZXNzRXJyb3IoRXhjZXB0aW9uKTogcGFzcwpAQCAtNDUzLDE1ICs0NjEsMTEgQEAKICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoImFscmVhZHkgY2xvc2VkIikKIAogICAgICAgICBkZWYgX19yZXByX18oc2VsZik6Ci0gICAgICAgICAgICByZXR1cm4gIkhhbmRsZSglZCkiICUgaW50KHNlbGYpCisgICAgICAgICAgICByZXR1cm4gIiVzKCVkKSIgJSAoc2VsZi5fX2NsYXNzX18uX19uYW1lX18sIGludChzZWxmKSkKIAogICAgICAgICBfX2RlbF9fID0gQ2xvc2UKICAgICAgICAgX19zdHJfXyA9IF9fcmVwcl9fCiAKLXRyeToKLSAgICBNQVhGRCA9IG9zLnN5c2NvbmYoIlNDX09QRU5fTUFYIikKLWV4Y2VwdDoKLSAgICBNQVhGRCA9IDI1NgogCiAjIFRoaXMgbGlzdHMgaG9sZHMgUG9wZW4gaW5zdGFuY2VzIGZvciB3aGljaCB0aGUgdW5kZXJseWluZyBwcm9jZXNzIGhhZCBub3QKICMgZXhpdGVkIGF0IHRoZSB0aW1lIGl0cyBfX2RlbF9fIG1ldGhvZCBnb3QgY2FsbGVkOiB0aG9zZSBwcm9jZXNzZXMgYXJlIHdhaXQoKWVkCkBAIC00ODUsMTQgKzQ4OSw2IEBACiBERVZOVUxMID0gLTMKIAogCi1kZWYgX2VpbnRyX3JldHJ5X2NhbGwoZnVuYywgKmFyZ3MpOgotICAgIHdoaWxlIFRydWU6Ci0gICAgICAgIHRyeToKLSAgICAgICAgICAgIHJldHVybiBmdW5jKCphcmdzKQotICAgICAgICBleGNlcHQgSW50ZXJydXB0ZWRFcnJvcjoKLSAgICAgICAgICAgIGNvbnRpbnVlCi0KLQogIyBYWFggVGhpcyBmdW5jdGlvbiBpcyBvbmx5IHVzZWQgYnkgbXVsdGlwcm9jZXNzaW5nIGFuZCB0aGUgdGVzdCBzdWl0ZSwKICMgYnV0IGl0J3MgaGVyZSBzbyB0aGF0IGl0IGNhbiBiZSBpbXBvcnRlZCB3aGVuIFB5dGhvbiBpcyBjb21waWxlZCB3aXRob3V0CiAjIHRocmVhZHMuCkBAIC01OTEsOCArNTg3LDggQEAKICAgICAuLi4gICAgICAgICAgICAgIGlucHV0PWIid2hlbiBpbiB0aGUgY291cnNlIG9mIGZvb21hbiBldmVudHNcbiIpCiAgICAgYid3aGVuIGluIHRoZSBjb3Vyc2Ugb2YgYmFybWFuIGV2ZW50c1xuJwogCi0gICAgSWYgdW5pdmVyc2FsX25ld2xpbmVzPVRydWUgaXMgcGFzc2VkLCB0aGUgcmV0dXJuIHZhbHVlIHdpbGwgYmUgYQotICAgIHN0cmluZyByYXRoZXIgdGhhbiBieXRlcy4KKyAgICBJZiB1bml2ZXJzYWxfbmV3bGluZXM9VHJ1ZSBpcyBwYXNzZWQsIHRoZSAiaW5wdXQiIGFyZ3VtZW50IG11c3QgYmUgYQorICAgIHN0cmluZyBhbmQgdGhlIHJldHVybiB2YWx1ZSB3aWxsIGJlIGEgc3RyaW5nIHJhdGhlciB0aGFuIGJ5dGVzLgogICAgICIiIgogICAgIGlmICdzdGRvdXQnIGluIGt3YXJnczoKICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcignc3Rkb3V0IGFyZ3VtZW50IG5vdCBhbGxvd2VkLCBpdCB3aWxsIGJlIG92ZXJyaWRkZW4uJykKQEAgLTkxNiwxNCArOTEyLDM1IEBACiAgICAgICAgICAgICBzZWxmLl9kZXZudWxsID0gb3Mub3Blbihvcy5kZXZudWxsLCBvcy5PX1JEV1IpCiAgICAgICAgIHJldHVybiBzZWxmLl9kZXZudWxsCiAKKyAgICBkZWYgX3N0ZGluX3dyaXRlKHNlbGYsIGlucHV0KToKKyAgICAgICAgaWYgaW5wdXQ6CisgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgc2VsZi5zdGRpbi53cml0ZShpbnB1dCkKKyAgICAgICAgICAgIGV4Y2VwdCBCcm9rZW5QaXBlRXJyb3I6CisgICAgICAgICAgICAgICAgIyBjb21tdW5pY2F0ZSgpIG11c3QgaWdub3JlIGJyb2tlbiBwaXBlIGVycm9yCisgICAgICAgICAgICAgICAgcGFzcworICAgICAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgZToKKyAgICAgICAgICAgICAgICBpZiBlLmVycm5vID09IGVycm5vLkVJTlZBTCBhbmQgc2VsZi5wb2xsKCkgaXMgbm90IE5vbmU6CisgICAgICAgICAgICAgICAgICAgICMgSXNzdWUgIzE5NjEyOiBPbiBXaW5kb3dzLCBzdGRpbi53cml0ZSgpIGZhaWxzIHdpdGggRUlOVkFMCisgICAgICAgICAgICAgICAgICAgICMgaWYgdGhlIHByb2Nlc3MgYWxyZWFkeSBleGl0ZWQgYmVmb3JlIHRoZSB3cml0ZQorICAgICAgICAgICAgICAgICAgICBwYXNzCisgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgcmFpc2UKKyAgICAgICAgc2VsZi5zdGRpbi5jbG9zZSgpCisKICAgICBkZWYgY29tbXVuaWNhdGUoc2VsZiwgaW5wdXQ9Tm9uZSwgdGltZW91dD1Ob25lKToKICAgICAgICAgIiIiSW50ZXJhY3Qgd2l0aCBwcm9jZXNzOiBTZW5kIGRhdGEgdG8gc3RkaW4uICBSZWFkIGRhdGEgZnJvbQogICAgICAgICBzdGRvdXQgYW5kIHN0ZGVyciwgdW50aWwgZW5kLW9mLWZpbGUgaXMgcmVhY2hlZC4gIFdhaXQgZm9yCi0gICAgICAgIHByb2Nlc3MgdG8gdGVybWluYXRlLiAgVGhlIG9wdGlvbmFsIGlucHV0IGFyZ3VtZW50IHNob3VsZCBiZQotICAgICAgICBieXRlcyB0byBiZSBzZW50IHRvIHRoZSBjaGlsZCBwcm9jZXNzLCBvciBOb25lLCBpZiBubyBkYXRhCi0gICAgICAgIHNob3VsZCBiZSBzZW50IHRvIHRoZSBjaGlsZC4KKyAgICAgICAgcHJvY2VzcyB0byB0ZXJtaW5hdGUuCiAKLSAgICAgICAgY29tbXVuaWNhdGUoKSByZXR1cm5zIGEgdHVwbGUgKHN0ZG91dCwgc3RkZXJyKS4iIiIKKyAgICAgICAgVGhlIG9wdGlvbmFsICJpbnB1dCIgYXJndW1lbnQgc2hvdWxkIGJlIGRhdGEgdG8gYmUgc2VudCB0byB0aGUKKyAgICAgICAgY2hpbGQgcHJvY2VzcyAoaWYgc2VsZi51bml2ZXJzYWxfbmV3bGluZXMgaXMgVHJ1ZSwgdGhpcyBzaG91bGQKKyAgICAgICAgYmUgYSBzdHJpbmc7IGlmIGl0IGlzIEZhbHNlLCAiaW5wdXQiIHNob3VsZCBiZSBieXRlcyksIG9yCisgICAgICAgIE5vbmUsIGlmIG5vIGRhdGEgc2hvdWxkIGJlIHNlbnQgdG8gdGhlIGNoaWxkLgorCisgICAgICAgIGNvbW11bmljYXRlKCkgcmV0dXJucyBhIHR1cGxlIChzdGRvdXQsIHN0ZGVycikuICBUaGVzZSB3aWxsIGJlCisgICAgICAgIGJ5dGVzIG9yLCBpZiBzZWxmLnVuaXZlcnNhbF9uZXdsaW5lcyB3YXMgVHJ1ZSwgYSBzdHJpbmcuCisgICAgICAgICIiIgogCiAgICAgICAgIGlmIHNlbGYuX2NvbW11bmljYXRpb25fc3RhcnRlZCBhbmQgaW5wdXQ6CiAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJDYW5ub3Qgc2VuZCBpbnB1dCBhZnRlciBzdGFydGluZyBjb21tdW5pY2F0aW9uIikKQEAgLTkzNiwxOCArOTUzLDEyIEBACiAgICAgICAgICAgICBzdGRvdXQgPSBOb25lCiAgICAgICAgICAgICBzdGRlcnIgPSBOb25lCiAgICAgICAgICAgICBpZiBzZWxmLnN0ZGluOgotICAgICAgICAgICAgICAgIGlmIGlucHV0OgotICAgICAgICAgICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnN0ZGluLndyaXRlKGlucHV0KQotICAgICAgICAgICAgICAgICAgICBleGNlcHQgT1NFcnJvciBhcyBlOgotICAgICAgICAgICAgICAgICAgICAgICAgaWYgZS5lcnJubyAhPSBlcnJuby5FUElQRSBhbmQgZS5lcnJubyAhPSBlcnJuby5FSU5WQUw6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmFpc2UKLSAgICAgICAgICAgICAgICBzZWxmLnN0ZGluLmNsb3NlKCkKKyAgICAgICAgICAgICAgICBzZWxmLl9zdGRpbl93cml0ZShpbnB1dCkKICAgICAgICAgICAgIGVsaWYgc2VsZi5zdGRvdXQ6Ci0gICAgICAgICAgICAgICAgc3Rkb3V0ID0gX2VpbnRyX3JldHJ5X2NhbGwoc2VsZi5zdGRvdXQucmVhZCkKKyAgICAgICAgICAgICAgICBzdGRvdXQgPSBzZWxmLnN0ZG91dC5yZWFkKCkKICAgICAgICAgICAgICAgICBzZWxmLnN0ZG91dC5jbG9zZSgpCiAgICAgICAgICAgICBlbGlmIHNlbGYuc3RkZXJyOgotICAgICAgICAgICAgICAgIHN0ZGVyciA9IF9laW50cl9yZXRyeV9jYWxsKHNlbGYuc3RkZXJyLnJlYWQpCisgICAgICAgICAgICAgICAgc3RkZXJyID0gc2VsZi5zdGRlcnIucmVhZCgpCiAgICAgICAgICAgICAgICAgc2VsZi5zdGRlcnIuY2xvc2UoKQogICAgICAgICAgICAgc2VsZi53YWl0KCkKICAgICAgICAgZWxzZToKQEAgLTExOTEsMjEgKzEyMDIsNyBAQAogICAgICAgICAgICAgICAgIHNlbGYuc3RkZXJyX3RocmVhZC5zdGFydCgpCiAKICAgICAgICAgICAgIGlmIHNlbGYuc3RkaW46Ci0gICAgICAgICAgICAgICAgaWYgaW5wdXQgaXMgbm90IE5vbmU6Ci0gICAgICAgICAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuc3RkaW4ud3JpdGUoaW5wdXQpCi0gICAgICAgICAgICAgICAgICAgIGV4Y2VwdCBPU0Vycm9yIGFzIGU6Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiBlLmVycm5vID09IGVycm5vLkVQSVBFOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgY29tbXVuaWNhdGUoKSBzaG91bGQgaWdub3JlIHBpcGUgZnVsbCBlcnJvcgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhc3MKLSAgICAgICAgICAgICAgICAgICAgICAgIGVsaWYgKGUuZXJybm8gPT0gZXJybm8uRUlOVkFMCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgc2VsZi5wb2xsKCkgaXMgbm90IE5vbmUpOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgSXNzdWUgIzE5NjEyOiBzdGRpbi53cml0ZSgpIGZhaWxzIHdpdGggRUlOVkFMCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBpZiB0aGUgcHJvY2VzcyBhbHJlYWR5IGV4aXRlZCBiZWZvcmUgdGhlIHdyaXRlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFzcwotICAgICAgICAgICAgICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICByYWlzZQotICAgICAgICAgICAgICAgIHNlbGYuc3RkaW4uY2xvc2UoKQorICAgICAgICAgICAgICAgIHNlbGYuX3N0ZGluX3dyaXRlKGlucHV0KQogCiAgICAgICAgICAgICAjIFdhaXQgZm9yIHRoZSByZWFkZXIgdGhyZWFkcywgb3IgdGltZSBvdXQuICBJZiB3ZSB0aW1lIG91dCwgdGhlCiAgICAgICAgICAgICAjIHRocmVhZHMgcmVtYWluIHJlYWRpbmcgYW5kIHRoZSBmZHMgbGVmdCBvcGVuIGluIGNhc2UgdGhlIHVzZXIKQEAgLTEzMjAsMTYgKzEzMTcsNiBAQAogICAgICAgICAgICAgICAgICAgICBlcnJyZWFkLCBlcnJ3cml0ZSkKIAogCi0gICAgICAgIGRlZiBfY2xvc2VfZmRzKHNlbGYsIGZkc190b19rZWVwKToKLSAgICAgICAgICAgIHN0YXJ0X2ZkID0gMwotICAgICAgICAgICAgZm9yIGZkIGluIHNvcnRlZChmZHNfdG9fa2VlcCk6Ci0gICAgICAgICAgICAgICAgaWYgZmQgPj0gc3RhcnRfZmQ6Ci0gICAgICAgICAgICAgICAgICAgIG9zLmNsb3NlcmFuZ2Uoc3RhcnRfZmQsIGZkKQotICAgICAgICAgICAgICAgICAgICBzdGFydF9mZCA9IGZkICsgMQotICAgICAgICAgICAgaWYgc3RhcnRfZmQgPD0gTUFYRkQ6Ci0gICAgICAgICAgICAgICAgb3MuY2xvc2VyYW5nZShzdGFydF9mZCwgTUFYRkQpCi0KLQogICAgICAgICBkZWYgX2V4ZWN1dGVfY2hpbGQoc2VsZiwgYXJncywgZXhlY3V0YWJsZSwgcHJlZXhlY19mbiwgY2xvc2VfZmRzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFzc19mZHMsIGN3ZCwgZW52LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhcnR1cGluZm8sIGNyZWF0aW9uZmxhZ3MsIHNoZWxsLApAQCAtMTQxNSw3ICsxNDAyLDcgQEAKICAgICAgICAgICAgICAgICAjIGV4Y2VwdGlvbiAobGltaXRlZCBpbiBzaXplKQogICAgICAgICAgICAgICAgIGVycnBpcGVfZGF0YSA9IGJ5dGVhcnJheSgpCiAgICAgICAgICAgICAgICAgd2hpbGUgVHJ1ZToKLSAgICAgICAgICAgICAgICAgICAgcGFydCA9IF9laW50cl9yZXRyeV9jYWxsKG9zLnJlYWQsIGVycnBpcGVfcmVhZCwgNTAwMDApCisgICAgICAgICAgICAgICAgICAgIHBhcnQgPSBvcy5yZWFkKGVycnBpcGVfcmVhZCwgNTAwMDApCiAgICAgICAgICAgICAgICAgICAgIGVycnBpcGVfZGF0YSArPSBwYXJ0CiAgICAgICAgICAgICAgICAgICAgIGlmIG5vdCBwYXJ0IG9yIGxlbihlcnJwaXBlX2RhdGEpID4gNTAwMDA6CiAgICAgICAgICAgICAgICAgICAgICAgICBicmVhawpAQCAtMTQyNSwxMCArMTQxMiw5IEBACiAKICAgICAgICAgICAgIGlmIGVycnBpcGVfZGF0YToKICAgICAgICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgICAgIF9laW50cl9yZXRyeV9jYWxsKG9zLndhaXRwaWQsIHNlbGYucGlkLCAwKQotICAgICAgICAgICAgICAgIGV4Y2VwdCBPU0Vycm9yIGFzIGU6Ci0gICAgICAgICAgICAgICAgICAgIGlmIGUuZXJybm8gIT0gZXJybm8uRUNISUxEOgotICAgICAgICAgICAgICAgICAgICAgICAgcmFpc2UKKyAgICAgICAgICAgICAgICAgICAgb3Mud2FpdHBpZChzZWxmLnBpZCwgMCkKKyAgICAgICAgICAgICAgICBleGNlcHQgQ2hpbGRQcm9jZXNzRXJyb3I6CisgICAgICAgICAgICAgICAgICAgIHBhc3MKICAgICAgICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICAgICAgIGV4Y2VwdGlvbl9uYW1lLCBoZXhfZXJybm8sIGVycl9tc2cgPSAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJycGlwZV9kYXRhLnNwbGl0KGInOicsIDIpKQpAQCAtMTUxMSwxMCArMTQ5Nyw4IEBACiAgICAgICAgIGRlZiBfdHJ5X3dhaXQoc2VsZiwgd2FpdF9mbGFncyk6CiAgICAgICAgICAgICAiIiJBbGwgY2FsbGVycyB0byB0aGlzIGZ1bmN0aW9uIE1VU1QgaG9sZCBzZWxmLl93YWl0cGlkX2xvY2suIiIiCiAgICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgKHBpZCwgc3RzKSA9IF9laW50cl9yZXRyeV9jYWxsKG9zLndhaXRwaWQsIHNlbGYucGlkLCB3YWl0X2ZsYWdzKQotICAgICAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgZToKLSAgICAgICAgICAgICAgICBpZiBlLmVycm5vICE9IGVycm5vLkVDSElMRDoKLSAgICAgICAgICAgICAgICAgICAgcmFpc2UKKyAgICAgICAgICAgICAgICAocGlkLCBzdHMpID0gb3Mud2FpdHBpZChzZWxmLnBpZCwgd2FpdF9mbGFncykKKyAgICAgICAgICAgIGV4Y2VwdCBDaGlsZFByb2Nlc3NFcnJvcjoKICAgICAgICAgICAgICAgICAjIFRoaXMgaGFwcGVucyBpZiBTSUdDTEQgaXMgc2V0IHRvIGJlIGlnbm9yZWQgb3Igd2FpdGluZwogICAgICAgICAgICAgICAgICMgZm9yIGNoaWxkIHByb2Nlc3NlcyBoYXMgb3RoZXJ3aXNlIGJlZW4gZGlzYWJsZWQgZm9yIG91cgogICAgICAgICAgICAgICAgICMgcHJvY2Vzcy4gIFRoaXMgY2hpbGQgaXMgZGVhZCwgd2UgY2FuJ3QgZ2V0IHRoZSBzdGF0dXMuCkBAIC0xNjI2LDEyICsxNjEwLDkgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5faW5wdXRfb2Zmc2V0ICsgX1BJUEVfQlVGXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5faW5wdXRfb2Zmc2V0ICs9IG9zLndyaXRlKGtleS5mZCwgY2h1bmspCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgZToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgZS5lcnJubyA9PSBlcnJuby5FUElQRToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdG9yLnVucmVnaXN0ZXIoa2V5LmZpbGVvYmopCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXkuZmlsZW9iai5jbG9zZSgpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByYWlzZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4Y2VwdCBCcm9rZW5QaXBlRXJyb3I6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdG9yLnVucmVnaXN0ZXIoa2V5LmZpbGVvYmopCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleS5maWxlb2JqLmNsb3NlKCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiBzZWxmLl9pbnB1dF9vZmZzZXQgPj0gbGVuKHNlbGYuX2lucHV0KToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdG9yLnVucmVnaXN0ZXIoa2V5LmZpbGVvYmopCmRpZmYgLS1naXQgYS9MaWIvc3lzY29uZmlnLnB5IGIvTGliL3N5c2NvbmZpZy5weQppbmRleCBkYmY3NzY3Li4xMzc5MzJlIDEwMDY0NAotLS0gYS9MaWIvc3lzY29uZmlnLnB5CisrKyBiL0xpYi9zeXNjb25maWcucHkKQEAgLTU3LDcgKzU3LDcgQEAKICAgICAgICAgJ3B1cmVsaWInOiAne3VzZXJiYXNlfS9QeXRob257cHlfdmVyc2lvbl9ub2RvdH0vc2l0ZS1wYWNrYWdlcycsCiAgICAgICAgICdwbGF0bGliJzogJ3t1c2VyYmFzZX0vUHl0aG9ue3B5X3ZlcnNpb25fbm9kb3R9L3NpdGUtcGFja2FnZXMnLAogICAgICAgICAnaW5jbHVkZSc6ICd7dXNlcmJhc2V9L1B5dGhvbntweV92ZXJzaW9uX25vZG90fS9JbmNsdWRlJywKLSAgICAgICAgJ3NjcmlwdHMnOiAne3VzZXJiYXNlfS9TY3JpcHRzJywKKyAgICAgICAgJ3NjcmlwdHMnOiAne3VzZXJiYXNlfS9QeXRob257cHlfdmVyc2lvbl9ub2RvdH0vU2NyaXB0cycsCiAgICAgICAgICdkYXRhJzogJ3t1c2VyYmFzZX0nLAogICAgICAgICB9LAogICAgICdwb3NpeF91c2VyJzogewpAQCAtMTA5LDEzICsxMDksOCBAQAogICAgICMgdW5hYmxlIHRvIHJldHJpZXZlIHRoZSByZWFsIHByb2dyYW0gbmFtZQogICAgIF9QUk9KRUNUX0JBU0UgPSBfc2FmZV9yZWFscGF0aChvcy5nZXRjd2QoKSkKIAotaWYgb3MubmFtZSA9PSAibnQiIGFuZCAicGNidWlsZCIgaW4gX1BST0pFQ1RfQkFTRVstODpdLmxvd2VyKCk6Ci0gICAgX1BST0pFQ1RfQkFTRSA9IF9zYWZlX3JlYWxwYXRoKG9zLnBhdGguam9pbihfUFJPSkVDVF9CQVNFLCBwYXJkaXIpKQotIyBQQy9WUzcuMQotaWYgb3MubmFtZSA9PSAibnQiIGFuZCAiXFxwY1xcdiIgaW4gX1BST0pFQ1RfQkFTRVstMTA6XS5sb3dlcigpOgotICAgIF9QUk9KRUNUX0JBU0UgPSBfc2FmZV9yZWFscGF0aChvcy5wYXRoLmpvaW4oX1BST0pFQ1RfQkFTRSwgcGFyZGlyLCBwYXJkaXIpKQotIyBQQy9BTUQ2NAotaWYgb3MubmFtZSA9PSAibnQiIGFuZCAiXFxwY2J1aWxkXFxhbWQ2NCIgaW4gX1BST0pFQ1RfQkFTRVstMTQ6XS5sb3dlcigpOgoraWYgKG9zLm5hbWUgPT0gJ250JyBhbmQKKyAgICBfUFJPSkVDVF9CQVNFLmxvd2VyKCkuZW5kc3dpdGgoKCdcXHBjYnVpbGRcXHdpbjMyJywgJ1xccGNidWlsZFxcYW1kNjQnKSkpOgogICAgIF9QUk9KRUNUX0JBU0UgPSBfc2FmZV9yZWFscGF0aChvcy5wYXRoLmpvaW4oX1BST0pFQ1RfQkFTRSwgcGFyZGlyLCBwYXJkaXIpKQogCiAjIHNldCBmb3IgY3Jvc3MgYnVpbGRzCkBAIC0xMjksMTEgKzEyNCw5IEBACiAgICAgcmV0dXJuIEZhbHNlCiAKIF9zeXNfaG9tZSA9IGdldGF0dHIoc3lzLCAnX2hvbWUnLCBOb25lKQotaWYgX3N5c19ob21lIGFuZCBvcy5uYW1lID09ICdudCcgYW5kIFwKLSAgICBfc3lzX2hvbWUubG93ZXIoKS5lbmRzd2l0aCgoJ3BjYnVpbGQnLCAncGNidWlsZFxcYW1kNjQnKSk6Ci0gICAgX3N5c19ob21lID0gb3MucGF0aC5kaXJuYW1lKF9zeXNfaG9tZSkKLSAgICBpZiBfc3lzX2hvbWUuZW5kc3dpdGgoJ3BjYnVpbGQnKTogICAjIG11c3QgYmUgYW1kNjQKLSAgICAgICAgX3N5c19ob21lID0gb3MucGF0aC5kaXJuYW1lKF9zeXNfaG9tZSkKK2lmIChfc3lzX2hvbWUgYW5kIG9zLm5hbWUgPT0gJ250JyBhbmQKKyAgICBfc3lzX2hvbWUubG93ZXIoKS5lbmRzd2l0aCgoJ1xccGNidWlsZFxcd2luMzInLCAnXFxwY2J1aWxkXFxhbWQ2NCcpKSk6CisgICAgX3N5c19ob21lID0gb3MucGF0aC5kaXJuYW1lKG9zLnBhdGguZGlybmFtZShfc3lzX2hvbWUpKQogZGVmIGlzX3B5dGhvbl9idWlsZChjaGVja19ob21lPUZhbHNlKToKICAgICBpZiBjaGVja19ob21lIGFuZCBfc3lzX2hvbWU6CiAgICAgICAgIHJldHVybiBfaXNfcHl0aG9uX3NvdXJjZV9kaXIoX3N5c19ob21lKQpkaWZmIC0tZ2l0IGEvTGliL3RhcmZpbGUucHkgYi9MaWIvdGFyZmlsZS5weQppbmRleCAzN2U0ZGNkLi5lYTdhODlhIDEwMDc1NQotLS0gYS9MaWIvdGFyZmlsZS5weQorKysgYi9MaWIvdGFyZmlsZS5weQpAQCAtMTQwOSw5ICsxNDA5LDkgQEAKICAgICAgICAgICAgY2FuIGJlIGRldGVybWluZWQsIGBtb2RlJyBpcyBvdmVycmlkZGVuIGJ5IGBmaWxlb2JqJ3MgbW9kZS4KICAgICAgICAgICAgYGZpbGVvYmonIGlzIG5vdCBjbG9zZWQsIHdoZW4gVGFyRmlsZSBpcyBjbG9zZWQuCiAgICAgICAgICIiIgotICAgICAgICBtb2RlcyA9IHsiciI6ICJyYiIsICJhIjogInIrYiIsICJ3IjogIndiIn0KKyAgICAgICAgbW9kZXMgPSB7InIiOiAicmIiLCAiYSI6ICJyK2IiLCAidyI6ICJ3YiIsICJ4IjogInhiIn0KICAgICAgICAgaWYgbW9kZSBub3QgaW4gbW9kZXM6Ci0gICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJtb2RlIG11c3QgYmUgJ3InLCAnYScgb3IgJ3cnIikKKyAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoIm1vZGUgbXVzdCBiZSAncicsICdhJywgJ3cnIG9yICd4JyIpCiAgICAgICAgIHNlbGYubW9kZSA9IG1vZGUKICAgICAgICAgc2VsZi5fbW9kZSA9IG1vZGVzW21vZGVdCiAKQEAgLTE1MjQsNiArMTUyNCwxNSBAQAogICAgICAgICAgICAndzpiejInICAgICAgb3BlbiBmb3Igd3JpdGluZyB3aXRoIGJ6aXAyIGNvbXByZXNzaW9uCiAgICAgICAgICAgICd3Onh6JyAgICAgICBvcGVuIGZvciB3cml0aW5nIHdpdGggbHptYSBjb21wcmVzc2lvbgogCisgICAgICAgICAgICd4JyBvciAneDonICBjcmVhdGUgYSB0YXJmaWxlIGV4Y2x1c2l2ZWx5IHdpdGhvdXQgY29tcHJlc3Npb24sIHJhaXNlCisgICAgICAgICAgICAgICAgICAgICAgICBhbiBleGNlcHRpb24gaWYgdGhlIGZpbGUgaXMgYWxyZWFkeSBjcmVhdGVkCisgICAgICAgICAgICd4Omd6JyAgICAgICBjcmVhdGUgYW4gZ3ppcCBjb21wcmVzc2VkIHRhcmZpbGUsIHJhaXNlIGFuIGV4Y2VwdGlvbgorICAgICAgICAgICAgICAgICAgICAgICAgaWYgdGhlIGZpbGUgaXMgYWxyZWFkeSBjcmVhdGVkCisgICAgICAgICAgICd4OmJ6MicgICAgICBjcmVhdGUgYW4gYnppcDIgY29tcHJlc3NlZCB0YXJmaWxlLCByYWlzZSBhbiBleGNlcHRpb24KKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIHRoZSBmaWxlIGlzIGFscmVhZHkgY3JlYXRlZAorICAgICAgICAgICAneDp4eicgICAgICAgY3JlYXRlIGFuIGx6bWEgY29tcHJlc3NlZCB0YXJmaWxlLCByYWlzZSBhbiBleGNlcHRpb24KKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIHRoZSBmaWxlIGlzIGFscmVhZHkgY3JlYXRlZAorCiAgICAgICAgICAgICdyfConICAgICAgICBvcGVuIGEgc3RyZWFtIG9mIHRhciBibG9ja3Mgd2l0aCB0cmFuc3BhcmVudCBjb21wcmVzc2lvbgogICAgICAgICAgICAncnwnICAgICAgICAgb3BlbiBhbiB1bmNvbXByZXNzZWQgc3RyZWFtIG9mIHRhciBibG9ja3MgZm9yIHJlYWRpbmcKICAgICAgICAgICAgJ3J8Z3onICAgICAgIG9wZW4gYSBnemlwIGNvbXByZXNzZWQgc3RyZWFtIG9mIHRhciBibG9ja3MKQEAgLTE1ODIsNyArMTU5MSw3IEBACiAgICAgICAgICAgICB0Ll9leHRmaWxlb2JqID0gRmFsc2UKICAgICAgICAgICAgIHJldHVybiB0CiAKLSAgICAgICAgZWxpZiBtb2RlIGluICgiYSIsICJ3Iik6CisgICAgICAgIGVsaWYgbW9kZSBpbiAoImEiLCAidyIsICJ4Iik6CiAgICAgICAgICAgICByZXR1cm4gY2xzLnRhcm9wZW4obmFtZSwgbW9kZSwgZmlsZW9iaiwgKiprd2FyZ3MpCiAKICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigidW5kaXNjZXJuaWJsZSBtb2RlIikKQEAgLTE1OTEsOCArMTYwMCw4IEBACiAgICAgZGVmIHRhcm9wZW4oY2xzLCBuYW1lLCBtb2RlPSJyIiwgZmlsZW9iaj1Ob25lLCAqKmt3YXJncyk6CiAgICAgICAgICIiIk9wZW4gdW5jb21wcmVzc2VkIHRhciBhcmNoaXZlIG5hbWUgZm9yIHJlYWRpbmcgb3Igd3JpdGluZy4KICAgICAgICAgIiIiCi0gICAgICAgIGlmIG1vZGUgbm90IGluICgiciIsICJhIiwgInciKToKLSAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoIm1vZGUgbXVzdCBiZSAncicsICdhJyBvciAndyciKQorICAgICAgICBpZiBtb2RlIG5vdCBpbiAoInIiLCAiYSIsICJ3IiwgIngiKToKKyAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoIm1vZGUgbXVzdCBiZSAncicsICdhJywgJ3cnIG9yICd4JyIpCiAgICAgICAgIHJldHVybiBjbHMobmFtZSwgbW9kZSwgZmlsZW9iaiwgKiprd2FyZ3MpCiAKICAgICBAY2xhc3NtZXRob2QKQEAgLTE2MDAsOCArMTYwOSw4IEBACiAgICAgICAgICIiIk9wZW4gZ3ppcCBjb21wcmVzc2VkIHRhciBhcmNoaXZlIG5hbWUgZm9yIHJlYWRpbmcgb3Igd3JpdGluZy4KICAgICAgICAgICAgQXBwZW5kaW5nIGlzIG5vdCBhbGxvd2VkLgogICAgICAgICAiIiIKLSAgICAgICAgaWYgbW9kZSBub3QgaW4gKCJyIiwgInciKToKLSAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoIm1vZGUgbXVzdCBiZSAncicgb3IgJ3cnIikKKyAgICAgICAgaWYgbW9kZSBub3QgaW4gKCJyIiwgInciLCAieCIpOgorICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigibW9kZSBtdXN0IGJlICdyJywgJ3cnIG9yICd4JyIpCiAKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgaW1wb3J0IGd6aXAKQEAgLTE2MzQsOCArMTY0Myw4IEBACiAgICAgICAgICIiIk9wZW4gYnppcDIgY29tcHJlc3NlZCB0YXIgYXJjaGl2ZSBuYW1lIGZvciByZWFkaW5nIG9yIHdyaXRpbmcuCiAgICAgICAgICAgIEFwcGVuZGluZyBpcyBub3QgYWxsb3dlZC4KICAgICAgICAgIiIiCi0gICAgICAgIGlmIG1vZGUgbm90IGluICgiciIsICJ3Iik6Ci0gICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJtb2RlIG11c3QgYmUgJ3InIG9yICd3Jy4iKQorICAgICAgICBpZiBtb2RlIG5vdCBpbiAoInIiLCAidyIsICJ4Iik6CisgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJtb2RlIG11c3QgYmUgJ3InLCAndycgb3IgJ3gnIikKIAogICAgICAgICB0cnk6CiAgICAgICAgICAgICBpbXBvcnQgYnoyCkBAIC0xNjYzLDggKzE2NzIsOCBAQAogICAgICAgICAiIiJPcGVuIGx6bWEgY29tcHJlc3NlZCB0YXIgYXJjaGl2ZSBuYW1lIGZvciByZWFkaW5nIG9yIHdyaXRpbmcuCiAgICAgICAgICAgIEFwcGVuZGluZyBpcyBub3QgYWxsb3dlZC4KICAgICAgICAgIiIiCi0gICAgICAgIGlmIG1vZGUgbm90IGluICgiciIsICJ3Iik6Ci0gICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJtb2RlIG11c3QgYmUgJ3InIG9yICd3JyIpCisgICAgICAgIGlmIG1vZGUgbm90IGluICgiciIsICJ3IiwgIngiKToKKyAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoIm1vZGUgbXVzdCBiZSAncicsICd3JyBvciAneCciKQogCiAgICAgICAgIHRyeToKICAgICAgICAgICAgIGltcG9ydCBsem1hCkBAIC0xNzUxLDcgKzE3NjAsNyBAQAogICAgICAgICAgICBhZGRmaWxlKCkuIElmIGdpdmVuLCBgYXJjbmFtZScgc3BlY2lmaWVzIGFuIGFsdGVybmF0aXZlIG5hbWUgZm9yIHRoZQogICAgICAgICAgICBmaWxlIGluIHRoZSBhcmNoaXZlLgogICAgICAgICAiIiIKLSAgICAgICAgc2VsZi5fY2hlY2soImF3IikKKyAgICAgICAgc2VsZi5fY2hlY2soImF3eCIpCiAKICAgICAgICAgIyBXaGVuIGZpbGVvYmogaXMgZ2l2ZW4sIHJlcGxhY2UgbmFtZSBieQogICAgICAgICAjIGZpbGVvYmoncyByZWFsIG5hbWUuCkBAIC0xODQyLDE0ICsxODUxLDE3IEBACiAgICAgICAgICAgICAgICAgdGFyaW5mby5kZXZtaW5vciA9IG9zLm1pbm9yKHN0YXRyZXMuc3RfcmRldikKICAgICAgICAgcmV0dXJuIHRhcmluZm8KIAotICAgIGRlZiBsaXN0KHNlbGYsIHZlcmJvc2U9VHJ1ZSk6CisgICAgZGVmIGxpc3Qoc2VsZiwgdmVyYm9zZT1UcnVlLCAqLCBtZW1iZXJzPU5vbmUpOgogICAgICAgICAiIiJQcmludCBhIHRhYmxlIG9mIGNvbnRlbnRzIHRvIHN5cy5zdGRvdXQuIElmIGB2ZXJib3NlJyBpcyBGYWxzZSwgb25seQogICAgICAgICAgICB0aGUgbmFtZXMgb2YgdGhlIG1lbWJlcnMgYXJlIHByaW50ZWQuIElmIGl0IGlzIFRydWUsIGFuIGBscyAtbCctbGlrZQotICAgICAgICAgICBvdXRwdXQgaXMgcHJvZHVjZWQuCisgICAgICAgICAgIG91dHB1dCBpcyBwcm9kdWNlZC4gYG1lbWJlcnMnIGlzIG9wdGlvbmFsIGFuZCBtdXN0IGJlIGEgc3Vic2V0IG9mIHRoZQorICAgICAgICAgICBsaXN0IHJldHVybmVkIGJ5IGdldG1lbWJlcnMoKS4KICAgICAgICAgIiIiCiAgICAgICAgIHNlbGYuX2NoZWNrKCkKIAotICAgICAgICBmb3IgdGFyaW5mbyBpbiBzZWxmOgorICAgICAgICBpZiBtZW1iZXJzIGlzIE5vbmU6CisgICAgICAgICAgICBtZW1iZXJzID0gc2VsZgorICAgICAgICBmb3IgdGFyaW5mbyBpbiBtZW1iZXJzOgogICAgICAgICAgICAgaWYgdmVyYm9zZToKICAgICAgICAgICAgICAgICBfc2FmZV9wcmludChzdGF0LmZpbGVtb2RlKHRhcmluZm8ubW9kZSkpCiAgICAgICAgICAgICAgICAgX3NhZmVfcHJpbnQoIiVzLyVzIiAlICh0YXJpbmZvLnVuYW1lIG9yIHRhcmluZm8udWlkLApAQCAtMTg4Miw3ICsxODk0LDcgQEAKICAgICAgICAgICAgVGFySW5mbyBvYmplY3QsIGlmIGl0IHJldHVybnMgTm9uZSB0aGUgVGFySW5mbyBvYmplY3Qgd2lsbCBiZQogICAgICAgICAgICBleGNsdWRlZCBmcm9tIHRoZSBhcmNoaXZlLgogICAgICAgICAiIiIKLSAgICAgICAgc2VsZi5fY2hlY2soImF3IikKKyAgICAgICAgc2VsZi5fY2hlY2soImF3eCIpCiAKICAgICAgICAgaWYgYXJjbmFtZSBpcyBOb25lOgogICAgICAgICAgICAgYXJjbmFtZSA9IG5hbWUKQEAgLTE5MzksNyArMTk1MSw3IEBACiAgICAgICAgICAgIE9uIFdpbmRvd3MgcGxhdGZvcm1zLCBgZmlsZW9iaicgc2hvdWxkIGFsd2F5cyBiZSBvcGVuZWQgd2l0aCBtb2RlCiAgICAgICAgICAgICdyYicgdG8gYXZvaWQgaXJyaXRhdGlvbiBhYm91dCB0aGUgZmlsZSBzaXplLgogICAgICAgICAiIiIKLSAgICAgICAgc2VsZi5fY2hlY2soImF3IikKKyAgICAgICAgc2VsZi5fY2hlY2soImF3eCIpCiAKICAgICAgICAgdGFyaW5mbyA9IGNvcHkuY29weSh0YXJpbmZvKQogCmRpZmYgLS1naXQgYS9MaWIvdGVsbmV0bGliLnB5IGIvTGliL3RlbG5ldGxpYi5weQppbmRleCAwY2FjYWM4Li5lZWJiOTUyIDEwMDY0NAotLS0gYS9MaWIvdGVsbmV0bGliLnB5CisrKyBiL0xpYi90ZWxuZXRsaWIucHkKQEAgLTM2LDEwICszNiw3IEBACiBpbXBvcnQgc3lzCiBpbXBvcnQgc29ja2V0CiBpbXBvcnQgc2VsZWN0b3JzCi10cnk6Ci0gICAgZnJvbSB0aW1lIGltcG9ydCBtb25vdG9uaWMgYXMgX3RpbWUKLWV4Y2VwdCBJbXBvcnRFcnJvcjoKLSAgICBmcm9tIHRpbWUgaW1wb3J0IHRpbWUgYXMgX3RpbWUKK2Zyb20gdGltZSBpbXBvcnQgbW9ub3RvbmljIGFzIF90aW1lCiAKIF9fYWxsX18gPSBbIlRlbG5ldCJdCiAKZGlmZiAtLWdpdCBhL0xpYi90ZW1wZmlsZS5weSBiL0xpYi90ZW1wZmlsZS5weQppbmRleCBiNmVlY2EzLi4wNTIyYzc5IDEwMDY0NAotLS0gYS9MaWIvdGVtcGZpbGUucHkKKysrIGIvTGliL3RlbXBmaWxlLnB5CkBAIC00NzMsNiArNDczLDExIEBACiAgICAgVGVtcG9yYXJ5RmlsZSA9IE5hbWVkVGVtcG9yYXJ5RmlsZQogCiBlbHNlOgorICAgICMgSXMgdGhlIE9fVE1QRklMRSBmbGFnIGF2YWlsYWJsZSBhbmQgZG9lcyBpdCB3b3JrPworICAgICMgVGhlIGZsYWcgaXMgc2V0IHRvIEZhbHNlIGlmIG9zLm9wZW4oZGlyLCBvcy5PX1RNUEZJTEUpIHJhaXNlcyBhbgorICAgICMgSXNBRGlyZWN0b3J5RXJyb3IgZXhjZXB0aW9uCisgICAgX09fVE1QRklMRV9XT1JLUyA9IGhhc2F0dHIoX29zLCAnT19UTVBGSUxFJykKKwogICAgIGRlZiBUZW1wb3JhcnlGaWxlKG1vZGU9J3crYicsIGJ1ZmZlcmluZz0tMSwgZW5jb2Rpbmc9Tm9uZSwKICAgICAgICAgICAgICAgICAgICAgICBuZXdsaW5lPU5vbmUsIHN1ZmZpeD0iIiwgcHJlZml4PXRlbXBsYXRlLAogICAgICAgICAgICAgICAgICAgICAgIGRpcj1Ob25lKToKQEAgLTQ4OCwxMSArNDkzLDMyIEBACiAgICAgICAgIFJldHVybnMgYW4gb2JqZWN0IHdpdGggYSBmaWxlLWxpa2UgaW50ZXJmYWNlLiAgVGhlIGZpbGUgaGFzIG5vCiAgICAgICAgIG5hbWUsIGFuZCB3aWxsIGNlYXNlIHRvIGV4aXN0IHdoZW4gaXQgaXMgY2xvc2VkLgogICAgICAgICAiIiIKKyAgICAgICAgZ2xvYmFsIF9PX1RNUEZJTEVfV09SS1MKIAogICAgICAgICBpZiBkaXIgaXMgTm9uZToKICAgICAgICAgICAgIGRpciA9IGdldHRlbXBkaXIoKQogCiAgICAgICAgIGZsYWdzID0gX2Jpbl9vcGVuZmxhZ3MKKyAgICAgICAgaWYgX09fVE1QRklMRV9XT1JLUzoKKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICBmbGFnczIgPSAoZmxhZ3MgfCBfb3MuT19UTVBGSUxFKSAmIH5fb3MuT19DUkVBVAorICAgICAgICAgICAgICAgIGZkID0gX29zLm9wZW4oZGlyLCBmbGFnczIsIDBvNjAwKQorICAgICAgICAgICAgZXhjZXB0IElzQURpcmVjdG9yeUVycm9yOgorICAgICAgICAgICAgICAgICMgTGludXgga2VybmVsIG9sZGVyIHRoYW4gMy4xMSBpZ25vcmVzIE9fVE1QRklMRSBmbGFnLgorICAgICAgICAgICAgICAgICMgU2V0IGZsYWcgdG8gRmFsc2UgdG8gbm90IHRyeSBhZ2Fpbi4KKyAgICAgICAgICAgICAgICBfT19UTVBGSUxFX1dPUktTID0gRmFsc2UKKyAgICAgICAgICAgIGV4Y2VwdCBPU0Vycm9yOgorICAgICAgICAgICAgICAgICMgVGhlIGZpbGVzeXN0ZW0gb2YgdGhlIGRpcmVjdG9yeSBkb2VzIG5vdCBzdXBwb3J0IE9fVE1QRklMRS4KKyAgICAgICAgICAgICAgICAjIEZvciBleGFtcGxlLCBPU0Vycm9yKDk1LCAnT3BlcmF0aW9uIG5vdCBzdXBwb3J0ZWQnKS4KKyAgICAgICAgICAgICAgICBwYXNzCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIF9pby5vcGVuKGZkLCBtb2RlLCBidWZmZXJpbmc9YnVmZmVyaW5nLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3bGluZT1uZXdsaW5lLCBlbmNvZGluZz1lbmNvZGluZykKKyAgICAgICAgICAgICAgICBleGNlcHQ6CisgICAgICAgICAgICAgICAgICAgIF9vcy5jbG9zZShmZCkKKyAgICAgICAgICAgICAgICAgICAgcmFpc2UKKyAgICAgICAgICAgICMgRmFsbGJhY2sgdG8gX21rc3RlbXBfaW5uZXIoKS4KIAogICAgICAgICAoZmQsIG5hbWUpID0gX21rc3RlbXBfaW5uZXIoZGlyLCBwcmVmaXgsIHN1ZmZpeCwgZmxhZ3MpCiAgICAgICAgIHRyeToKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L190ZXN0X211bHRpcHJvY2Vzc2luZy5weSBiL0xpYi90ZXN0L190ZXN0X211bHRpcHJvY2Vzc2luZy5weQppbmRleCA5NDY2ZDRlLi5kMDQ4ZjZmIDEwMDY0NAotLS0gYS9MaWIvdGVzdC9fdGVzdF9tdWx0aXByb2Nlc3NpbmcucHkKKysrIGIvTGliL3Rlc3QvX3Rlc3RfbXVsdGlwcm9jZXNzaW5nLnB5CkBAIC0yNTUxLDcgKzI1NTEsNyBAQAogCiAgICAgICAgIGwgPSBzb2NrZXQuc29ja2V0KCkKICAgICAgICAgbC5iaW5kKCh0ZXN0LnN1cHBvcnQuSE9TVCwgMCkpCi0gICAgICAgIGwubGlzdGVuKDEpCisgICAgICAgIGwubGlzdGVuKCkKICAgICAgICAgY29ubi5zZW5kKGwuZ2V0c29ja25hbWUoKSkKICAgICAgICAgbmV3X2Nvbm4sIGFkZHIgPSBsLmFjY2VwdCgpCiAgICAgICAgIGNvbm4uc2VuZChuZXdfY29ubikKQEAgLTMxOTgsNyArMzE5OCw3IEBACiAgICAgICAgIGZyb20gbXVsdGlwcm9jZXNzaW5nLmNvbm5lY3Rpb24gaW1wb3J0IHdhaXQKICAgICAgICAgbCA9IHNvY2tldC5zb2NrZXQoKQogICAgICAgICBsLmJpbmQoKHRlc3Quc3VwcG9ydC5IT1NULCAwKSkKLSAgICAgICAgbC5saXN0ZW4oNCkKKyAgICAgICAgbC5saXN0ZW4oKQogICAgICAgICBhZGRyID0gbC5nZXRzb2NrbmFtZSgpCiAgICAgICAgIHJlYWRlcnMgPSBbXQogICAgICAgICBwcm9jcyA9IFtdCmRpZmYgLS1naXQgYS9MaWIvdGVzdC9kYXRldGltZXRlc3Rlci5weSBiL0xpYi90ZXN0L2RhdGV0aW1ldGVzdGVyLnB5CmluZGV4IGY0MmIwZjkuLjc5MzVjZjIgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L2RhdGV0aW1ldGVzdGVyLnB5CisrKyBiL0xpYi90ZXN0L2RhdGV0aW1ldGVzdGVyLnB5CkBAIC0zLDYgKzMsNyBAQAogU2VlIGh0dHA6Ly93d3cuem9wZS5vcmcvTWVtYmVycy9mZHJha2UvRGF0ZVRpbWVXaWtpL1Rlc3RDYXNlcwogIiIiCiAKK2ltcG9ydCBkZWNpbWFsCiBpbXBvcnQgc3lzCiBpbXBvcnQgcGlja2xlCiBpbXBvcnQgcmFuZG9tCkBAIC01MCw2ICs1MSwxNyBAQAogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRhdGV0aW1lLk1JTllFQVIsIDEpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZGF0ZXRpbWUuTUFYWUVBUiwgOTk5OSkKIAorICAgIGRlZiB0ZXN0X25hbWVfY2xlYW51cChzZWxmKToKKyAgICAgICAgaWYgJ19GYXN0JyBub3QgaW4gc3RyKHNlbGYpOgorICAgICAgICAgICAgcmV0dXJuCisgICAgICAgIGRhdGV0aW1lID0gZGF0ZXRpbWVfbW9kdWxlCisgICAgICAgIG5hbWVzID0gc2V0KG5hbWUgZm9yIG5hbWUgaW4gZGlyKGRhdGV0aW1lKQorICAgICAgICAgICAgICAgICAgICBpZiBub3QgbmFtZS5zdGFydHN3aXRoKCdfXycpIGFuZCBub3QgbmFtZS5lbmRzd2l0aCgnX18nKSkKKyAgICAgICAgYWxsb3dlZCA9IHNldChbJ01BWFlFQVInLCAnTUlOWUVBUicsICdkYXRlJywgJ2RhdGV0aW1lJywKKyAgICAgICAgICAgICAgICAgICAgICAgJ2RhdGV0aW1lX0NBUEknLCAndGltZScsICd0aW1lZGVsdGEnLCAndGltZXpvbmUnLAorICAgICAgICAgICAgICAgICAgICAgICAndHppbmZvJ10pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobmFtZXMgLSBhbGxvd2VkLCBzZXQoW10pKQorCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogIyB0emluZm8gdGVzdHMKIApAQCAtNjE2LDggKzYyOCwxMiBAQAogICAgICAgICAjIFNpbmdsZS1maWVsZCByb3VuZGluZy4KICAgICAgICAgZXEodGQobWlsbGlzZWNvbmRzPTAuNC8xMDAwKSwgdGQoMCkpICAgICMgcm91bmRzIHRvIDAKICAgICAgICAgZXEodGQobWlsbGlzZWNvbmRzPS0wLjQvMTAwMCksIHRkKDApKSAgICAjIHJvdW5kcyB0byAwCisgICAgICAgIGVxKHRkKG1pbGxpc2Vjb25kcz0wLjUvMTAwMCksIHRkKG1pY3Jvc2Vjb25kcz0wKSkKKyAgICAgICAgZXEodGQobWlsbGlzZWNvbmRzPS0wLjUvMTAwMCksIHRkKG1pY3Jvc2Vjb25kcz0wKSkKICAgICAgICAgZXEodGQobWlsbGlzZWNvbmRzPTAuNi8xMDAwKSwgdGQobWljcm9zZWNvbmRzPTEpKQogICAgICAgICBlcSh0ZChtaWxsaXNlY29uZHM9LTAuNi8xMDAwKSwgdGQobWljcm9zZWNvbmRzPS0xKSkKKyAgICAgICAgZXEodGQoc2Vjb25kcz0wLjUvMTAqKjYpLCB0ZChtaWNyb3NlY29uZHM9MCkpCisgICAgICAgIGVxKHRkKHNlY29uZHM9LTAuNS8xMCoqNiksIHRkKG1pY3Jvc2Vjb25kcz0wKSkKIAogICAgICAgICAjIFJvdW5kaW5nIGR1ZSB0byBjb250cmlidXRpb25zIGZyb20gbW9yZSB0aGFuIG9uZSBmaWVsZC4KICAgICAgICAgdXNfcGVyX2hvdXIgPSAzNjAwZTYKQEAgLTExMzEsMTEgKzExNDcsMTMgQEAKICAgICAgICAgI2NoZWNrIHRoYXQgdGhpcyBzdGFuZGFyZCBleHRlbnNpb24gd29ya3MKICAgICAgICAgdC5zdHJmdGltZSgiJWYiKQogCi0KICAgICBkZWYgdGVzdF9mb3JtYXQoc2VsZik6CiAgICAgICAgIGR0ID0gc2VsZi50aGVjbGFzcygyMDA3LCA5LCAxMCkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkdC5fX2Zvcm1hdF9fKCcnKSwgc3RyKGR0KSkKIAorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgoVHlwZUVycm9yLCAnXm11c3QgYmUgc3RyLCBub3QgaW50JCcpOgorICAgICAgICAgICAgZHQuX19mb3JtYXRfXygxMjMpCisKICAgICAgICAgIyBjaGVjayB0aGF0IGEgZGVyaXZlZCBjbGFzcydzIF9fc3RyX18oKSBnZXRzIGNhbGxlZAogICAgICAgICBjbGFzcyBBKHNlbGYudGhlY2xhc3MpOgogICAgICAgICAgICAgZGVmIF9fc3RyX18oc2VsZik6CkBAIC0xMjg3LDggKzEzMDUsNiBAQAogICAgICAgICAgICAgICAgIHJldHVybiBpc2luc3RhbmNlKG90aGVyLCBMYXJnZXJUaGFuQW55dGhpbmcpCiAgICAgICAgICAgICBkZWYgX19lcV9fKHNlbGYsIG90aGVyKToKICAgICAgICAgICAgICAgICByZXR1cm4gaXNpbnN0YW5jZShvdGhlciwgTGFyZ2VyVGhhbkFueXRoaW5nKQotICAgICAgICAgICAgZGVmIF9fbmVfXyhzZWxmLCBvdGhlcik6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIG5vdCBpc2luc3RhbmNlKG90aGVyLCBMYXJnZXJUaGFuQW55dGhpbmcpCiAgICAgICAgICAgICBkZWYgX19ndF9fKHNlbGYsIG90aGVyKToKICAgICAgICAgICAgICAgICByZXR1cm4gbm90IGlzaW5zdGFuY2Uob3RoZXIsIExhcmdlclRoYW5Bbnl0aGluZykKICAgICAgICAgICAgIGRlZiBfX2dlX18oc2VsZiwgb3RoZXIpOgpAQCAtMTM5MSw5ICsxNDA3LDEwIEBACiAgICAgICAgIGZvciBtb250aF9ieXRlIGluIGInOScsIGInXDAnLCBiJ1xyJywgYidceGZmJzoKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgc2VsZi50aGVjbGFzcywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFzZVs6Ml0gKyBtb250aF9ieXRlICsgYmFzZVszOl0pCi0gICAgICAgICMgR29vZCBieXRlcywgYnV0IGJhZCB0emluZm86Ci0gICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgc2VsZi50aGVjbGFzcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgYnl0ZXMoWzFdICogbGVuKGJhc2UpKSwgJ0VTVCcpCisgICAgICAgIGlmIGlzc3ViY2xhc3Moc2VsZi50aGVjbGFzcywgZGF0ZXRpbWUpOgorICAgICAgICAgICAgIyBHb29kIGJ5dGVzLCBidXQgYmFkIHR6aW5mbzoKKyAgICAgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXNSZWdleChUeXBlRXJyb3IsICdeYmFkIHR6aW5mbyBzdGF0ZSBhcmckJyk6CisgICAgICAgICAgICAgICAgc2VsZi50aGVjbGFzcyhieXRlcyhbMV0gKiBsZW4oYmFzZSkpLCAnRVNUJykKIAogICAgICAgICBmb3Igb3JkX2J5dGUgaW4gcmFuZ2UoMSwgMTMpOgogICAgICAgICAgICAgIyBUaGlzIHNob3VsZG4ndCBibG93IHVwIGJlY2F1c2Ugb2YgdGhlIG1vbnRoIGJ5dGUgYWxvbmUuICBJZgpAQCAtMTQ2OSw2ICsxNDg2LDkgQEAKICAgICAgICAgZHQgPSBzZWxmLnRoZWNsYXNzKDIwMDcsIDksIDEwLCA0LCA1LCAxLCAxMjMpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZHQuX19mb3JtYXRfXygnJyksIHN0cihkdCkpCiAKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlc1JlZ2V4KFR5cGVFcnJvciwgJ15tdXN0IGJlIHN0ciwgbm90IGludCQnKToKKyAgICAgICAgICAgIGR0Ll9fZm9ybWF0X18oMTIzKQorCiAgICAgICAgICMgY2hlY2sgdGhhdCBhIGRlcml2ZWQgY2xhc3MncyBfX3N0cl9fKCkgZ2V0cyBjYWxsZWQKICAgICAgICAgY2xhc3MgQShzZWxmLnRoZWNsYXNzKToKICAgICAgICAgICAgIGRlZiBfX3N0cl9fKHNlbGYpOgpAQCAtMTc5MCw2ICsxODEwLDcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgdHppbmZvPXRpbWV6b25lKHRpbWVkZWx0YShob3Vycz0tNSksICdFU1QnKSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh0LnRpbWVzdGFtcCgpLAogICAgICAgICAgICAgICAgICAgICAgICAgIDE4MDAwICsgMzYwMCArIDIqNjAgKyAzICsgNCoxZS02KQorCiAgICAgZGVmIHRlc3RfbWljcm9zZWNvbmRfcm91bmRpbmcoc2VsZik6CiAgICAgICAgIGZvciBmdHMgaW4gW3NlbGYudGhlY2xhc3MuZnJvbXRpbWVzdGFtcCwKICAgICAgICAgICAgICAgICAgICAgc2VsZi50aGVjbGFzcy51dGNmcm9tdGltZXN0YW1wXToKQEAgLTE4NDAsNiArMTg2MSw3IEBACiAgICAgICAgIGZvciBpbnNhbmUgaW4gLTFlMjAwLCAxZTIwMDoKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKE92ZXJmbG93RXJyb3IsIHNlbGYudGhlY2xhc3MudXRjZnJvbXRpbWVzdGFtcCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluc2FuZSkKKwogICAgIEB1bml0dGVzdC5za2lwSWYoc3lzLnBsYXRmb3JtID09ICJ3aW4zMiIsICJXaW5kb3dzIGRvZXNuJ3QgYWNjZXB0IG5lZ2F0aXZlIHRpbWVzdGFtcHMiKQogICAgIGRlZiB0ZXN0X25lZ2F0aXZlX2Zsb2F0X2Zyb210aW1lc3RhbXAoc2VsZik6CiAgICAgICAgICMgVGhlIHJlc3VsdCBpcyB0ei1kZXBlbmRlbnQ7IGF0IGxlYXN0IHRlc3QgdGhhdCB0aGlzIGRvZXNuJ3QKQEAgLTIyMTksNiArMjI0MSw5IEBACiAgICAgICAgIHQgPSBzZWxmLnRoZWNsYXNzKDEsIDIsIDMsIDQpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodC5fX2Zvcm1hdF9fKCcnKSwgc3RyKHQpKQogCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXNSZWdleChUeXBlRXJyb3IsICdebXVzdCBiZSBzdHIsIG5vdCBpbnQkJyk6CisgICAgICAgICAgICB0Ll9fZm9ybWF0X18oMTIzKQorCiAgICAgICAgICMgY2hlY2sgdGhhdCBhIGRlcml2ZWQgY2xhc3MncyBfX3N0cl9fKCkgZ2V0cyBjYWxsZWQKICAgICAgICAgY2xhc3MgQShzZWxmLnRoZWNsYXNzKToKICAgICAgICAgICAgIGRlZiBfX3N0cl9fKHNlbGYpOgpAQCAtMjI4MiwxMyArMjMwNywxNCBAQAogICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChvcmlnLCBkZXJpdmVkKQogCiAgICAgZGVmIHRlc3RfYm9vbChzZWxmKToKKyAgICAgICAgIyB0aW1lIGlzIGFsd2F5cyBUcnVlLgogICAgICAgICBjbHMgPSBzZWxmLnRoZWNsYXNzCiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShjbHMoMSkpCiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShjbHMoMCwgMSkpCiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShjbHMoMCwgMCwgMSkpCiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShjbHMoMCwgMCwgMCwgMSkpCi0gICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoY2xzKDApKQotICAgICAgICBzZWxmLmFzc2VydEZhbHNlKGNscygpKQorICAgICAgICBzZWxmLmFzc2VydFRydWUoY2xzKDApKQorICAgICAgICBzZWxmLmFzc2VydFRydWUoY2xzKCkpCiAKICAgICBkZWYgdGVzdF9yZXBsYWNlKHNlbGYpOgogICAgICAgICBjbHMgPSBzZWxmLnRoZWNsYXNzCkBAIC0yMzQ3LDYgKzIzNzMsOSBAQAogICAgICAgICBmb3IgaG91cl9ieXRlIGluICcgJywgJzknLCBjaHIoMjQpLCAnXHhmZic6CiAgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIHNlbGYudGhlY2xhc3MsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhvdXJfYnl0ZSArIGJhc2VbMTpdKQorICAgICAgICAjIEdvb2QgYnl0ZXMsIGJ1dCBiYWQgdHppbmZvOgorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgoVHlwZUVycm9yLCAnXmJhZCB0emluZm8gc3RhdGUgYXJnJCcpOgorICAgICAgICAgICAgc2VsZi50aGVjbGFzcyhieXRlcyhbMV0gKiBsZW4oYmFzZSkpLCAnRVNUJykKIAogIyBBIG1peGluIGZvciBjbGFzc2VzIHdpdGggYSB0emluZm89IGFyZ3VtZW50LiAgU3ViY2xhc3NlcyBtdXN0IGRlZmluZQogIyB0aGVjbGFzcyBhcyBhIGNsYXNzIGF0cmlidXRlLCBhbmQgdGhlY2xhc3MoMSwgMSwgMSwgdHppbmZvPXdoYXRldmVyKQpAQCAtMjYwNiw3ICsyNjM1LDcgQEAKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCB0LnN0cmZ0aW1lLCAiJVoiKQogCiAgICAgICAgICMgSXNzdWUgIzY2OTc6Ci0gICAgICAgIGlmICdfRmFzdCcgaW4gc3RyKHR5cGUoc2VsZikpOgorICAgICAgICBpZiAnX0Zhc3QnIGluIHN0cihzZWxmKToKICAgICAgICAgICAgIEJhZHR6bmFtZS50eiA9ICdcdWQ4MDAnCiAgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCB0LnN0cmZ0aW1lLCAiJVoiKQogCkBAIC0yNjQxLDcgKzI2NzAsNyBAQAogICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkZXJpdmVkLnR6bmFtZSgpLCAnY29va2llJykKIAogICAgIGRlZiB0ZXN0X21vcmVfYm9vbChzZWxmKToKLSAgICAgICAgIyBUZXN0IGNhc2VzIHdpdGggbm9uLU5vbmUgdHppbmZvLgorICAgICAgICAjIHRpbWUgaXMgYWx3YXlzIFRydWUuCiAgICAgICAgIGNscyA9IHNlbGYudGhlY2xhc3MKIAogICAgICAgICB0ID0gY2xzKDAsIHR6aW5mbz1GaXhlZE9mZnNldCgtMzAwLCAiIikpCkBAIC0yNjUxLDIyICsyNjgwLDEwIEBACiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZSh0KQogCiAgICAgICAgIHQgPSBjbHMoNSwgdHppbmZvPUZpeGVkT2Zmc2V0KDMwMCwgIiIpKQotICAgICAgICBzZWxmLmFzc2VydEZhbHNlKHQpCi0KLSAgICAgICAgdCA9IGNscygyMywgNTksIHR6aW5mbz1GaXhlZE9mZnNldCgyMyo2MCArIDU5LCAiIikpCi0gICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UodCkKLQotICAgICAgICAjIE1vc3RseSBlbnN1cmluZyB0aGlzIGRvZXNuJ3Qgb3ZlcmZsb3cgaW50ZXJuYWxseS4KLSAgICAgICAgdCA9IGNscygwLCB0emluZm89Rml4ZWRPZmZzZXQoMjMqNjAgKyA1OSwgIiIpKQogICAgICAgICBzZWxmLmFzc2VydFRydWUodCkKIAotICAgICAgICAjIEJ1dCB0aGlzIHNob3VsZCB5aWVsZCBhIHZhbHVlIGVycm9yIC0tIHRoZSB1dGNvZmZzZXQgaXMgYm9ndXMuCi0gICAgICAgIHQgPSBjbHMoMCwgdHppbmZvPUZpeGVkT2Zmc2V0KDI0KjYwLCAiIikpCi0gICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIGxhbWJkYTogYm9vbCh0KSkKLQotICAgICAgICAjIExpa2V3aXNlLgotICAgICAgICB0ID0gY2xzKDAsIHR6aW5mbz1GaXhlZE9mZnNldCgtMjQqNjAsICIiKSkKLSAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgbGFtYmRhOiBib29sKHQpKQorICAgICAgICB0ID0gY2xzKDIzLCA1OSwgdHppbmZvPUZpeGVkT2Zmc2V0KDIzKjYwICsgNTksICIiKSkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHQpCiAKICAgICBkZWYgdGVzdF9yZXBsYWNlKHNlbGYpOgogICAgICAgICBjbHMgPSBzZWxmLnRoZWNsYXNzCkBAIC0zNzgwLDYgKzM3OTcsNjAgQEAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChhc19kYXRldGltZSwgZGF0ZXRpbWVfc2MpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZGF0ZXRpbWVfc2MsIGFzX2RhdGV0aW1lKQogCisgICAgZGVmIHRlc3RfZXh0cmFfYXR0cmlidXRlcyhzZWxmKToKKyAgICAgICAgZm9yIHggaW4gW2RhdGUudG9kYXkoKSwKKyAgICAgICAgICAgICAgICAgIHRpbWUoKSwKKyAgICAgICAgICAgICAgICAgIGRhdGV0aW1lLnV0Y25vdygpLAorICAgICAgICAgICAgICAgICAgdGltZWRlbHRhKCksCisgICAgICAgICAgICAgICAgICB0emluZm8oKSwKKyAgICAgICAgICAgICAgICAgIHRpbWV6b25lKHRpbWVkZWx0YSgpKV06CisgICAgICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKEF0dHJpYnV0ZUVycm9yKToKKyAgICAgICAgICAgICAgICB4LmFiYyA9IDEKKworICAgIGRlZiB0ZXN0X2NoZWNrX2FyZ190eXBlcyhzZWxmKToKKyAgICAgICAgY2xhc3MgTnVtYmVyOgorICAgICAgICAgICAgZGVmIF9faW5pdF9fKHNlbGYsIHZhbHVlKToKKyAgICAgICAgICAgICAgICBzZWxmLnZhbHVlID0gdmFsdWUKKyAgICAgICAgICAgIGRlZiBfX2ludF9fKHNlbGYpOgorICAgICAgICAgICAgICAgIHJldHVybiBzZWxmLnZhbHVlCisKKyAgICAgICAgZm9yIHh4IGluIFtkZWNpbWFsLkRlY2ltYWwoMTApLAorICAgICAgICAgICAgICAgICAgIGRlY2ltYWwuRGVjaW1hbCgnMTAuOScpLAorICAgICAgICAgICAgICAgICAgIE51bWJlcigxMCldOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkYXRldGltZSgxMCwgMTAsIDEwLCAxMCwgMTAsIDEwLCAxMCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGV0aW1lKHh4LCB4eCwgeHgsIHh4LCB4eCwgeHgsIHh4KSkKKworICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgoVHlwZUVycm9yLCAnXmFuIGludGVnZXIgaXMgcmVxdWlyZWQgJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnXChnb3QgdHlwZSBzdHJcKSQnKToKKyAgICAgICAgICAgIGRhdGV0aW1lKDEwLCAxMCwgJzEwJykKKworICAgICAgICBmMTAgPSBOdW1iZXIoMTAuOSkKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlc1JlZ2V4KFR5cGVFcnJvciwgJ15fX2ludF9fIHJldHVybmVkIG5vbi1pbnQgJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnXCh0eXBlIGZsb2F0XCkkJyk6CisgICAgICAgICAgICBkYXRldGltZSgxMCwgMTAsIGYxMCkKKworICAgICAgICBjbGFzcyBGbG9hdChmbG9hdCk6CisgICAgICAgICAgICBwYXNzCisgICAgICAgIHMxMCA9IEZsb2F0KDEwLjkpCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXNSZWdleChUeXBlRXJyb3IsICdeaW50ZWdlciBhcmd1bWVudCBleHBlY3RlZCwgJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZ290IGZsb2F0JCcpOgorICAgICAgICAgICAgZGF0ZXRpbWUoMTAsIDEwLCBzMTApCisKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IpOgorICAgICAgICAgICAgZGF0ZXRpbWUoMTAuLCAxMCwgMTApCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yKToKKyAgICAgICAgICAgIGRhdGV0aW1lKDEwLCAxMC4sIDEwKQorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvcik6CisgICAgICAgICAgICBkYXRldGltZSgxMCwgMTAsIDEwLikKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IpOgorICAgICAgICAgICAgZGF0ZXRpbWUoMTAsIDEwLCAxMCwgMTAuKQorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvcik6CisgICAgICAgICAgICBkYXRldGltZSgxMCwgMTAsIDEwLCAxMCwgMTAuKQorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvcik6CisgICAgICAgICAgICBkYXRldGltZSgxMCwgMTAsIDEwLCAxMCwgMTAsIDEwLikKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IpOgorICAgICAgICAgICAgZGF0ZXRpbWUoMTAsIDEwLCAxMCwgMTAsIDEwLCAxMCwgMTAuKQorCiBkZWYgdGVzdF9tYWluKCk6CiAgICAgc3VwcG9ydC5ydW5fdW5pdHRlc3QoX19uYW1lX18pCiAKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L2VpbnRyZGF0YS9laW50cl90ZXN0ZXIucHkgYi9MaWIvdGVzdC9laW50cmRhdGEvZWludHJfdGVzdGVyLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQwZGNhODQKLS0tIC9kZXYvbnVsbAorKysgYi9MaWIvdGVzdC9laW50cmRhdGEvZWludHJfdGVzdGVyLnB5CkBAIC0wLDAgKzEsMjYwIEBACisiIiIKK1RoaXMgdGVzdCBzdWl0ZSBleGVyY2lzZXMgc29tZSBzeXN0ZW0gY2FsbHMgc3ViamVjdCB0byBpbnRlcnJ1cHRpb24gd2l0aCBFSU5UUiwKK3RvIGNoZWNrIHRoYXQgaXQgaXMgYWN0dWFsbHkgaGFuZGxlZCB0cmFuc3BhcmVudGx5LgorSXQgaXMgaW50ZW5kZWQgdG8gYmUgcnVuIGJ5IHRoZSBtYWluIHRlc3Qgc3VpdGUgd2l0aGluIGEgY2hpbGQgcHJvY2VzcywgdG8KK2Vuc3VyZSB0aGVyZSBpcyBubyBiYWNrZ3JvdW5kIHRocmVhZCBydW5uaW5nIChzbyB0aGF0IHNpZ25hbHMgYXJlIGRlbGl2ZXJlZCB0bwordGhlIGNvcnJlY3QgdGhyZWFkKS4KK1NpZ25hbHMgYXJlIGdlbmVyYXRlZCBpbi1wcm9jZXNzIHVzaW5nIHNldGl0aW1lcihJVElNRVJfUkVBTCksIHdoaWNoIGFsbG93cworc3ViLXNlY29uZCBwZXJpb2RpY2l0eSAoY29udHJhcmlseSB0byBzaWduYWwoKSkuCisiIiIKKworaW1wb3J0IGlvCitpbXBvcnQgb3MKK2ltcG9ydCBzaWduYWwKK2ltcG9ydCBzb2NrZXQKK2ltcG9ydCB0aW1lCitpbXBvcnQgdW5pdHRlc3QKKworZnJvbSB0ZXN0IGltcG9ydCBzdXBwb3J0CisKKworQHVuaXR0ZXN0LnNraXBVbmxlc3MoaGFzYXR0cihzaWduYWwsICJzZXRpdGltZXIiKSwgInJlcXVpcmVzIHNldGl0aW1lcigpIikKK2NsYXNzIEVJTlRSQmFzZVRlc3QodW5pdHRlc3QuVGVzdENhc2UpOgorICAgICIiIiBCYXNlIGNsYXNzIGZvciBFSU5UUiB0ZXN0cy4gIiIiCisKKyAgICAjIGRlbGF5IGZvciBpbml0aWFsIHNpZ25hbCBkZWxpdmVyeQorICAgIHNpZ25hbF9kZWxheSA9IDAuMQorICAgICMgc2lnbmFsIGRlbGl2ZXJ5IHBlcmlvZGljaXR5CisgICAgc2lnbmFsX3BlcmlvZCA9IDAuMQorICAgICMgZGVmYXVsdCBzbGVlcCB0aW1lIGZvciB0ZXN0cyAtIHNob3VsZCBvYnZpb3VzbHkgaGF2ZToKKyAgICAjwqBzbGVlcF90aW1lID4gc2lnbmFsX3BlcmlvZAorICAgIHNsZWVwX3RpbWUgPSAwLjIKKworICAgIEBjbGFzc21ldGhvZAorICAgIGRlZiBzZXRVcENsYXNzKGNscyk6CisgICAgICAgIGNscy5vcmlnX2hhbmRsZXIgPSBzaWduYWwuc2lnbmFsKHNpZ25hbC5TSUdBTFJNLCBsYW1iZGEgKmFyZ3M6IE5vbmUpCisgICAgICAgIHNpZ25hbC5zZXRpdGltZXIoc2lnbmFsLklUSU1FUl9SRUFMLCBjbHMuc2lnbmFsX2RlbGF5LAorICAgICAgICAgICAgICAgICAgICAgICAgIGNscy5zaWduYWxfcGVyaW9kKQorCisgICAgQGNsYXNzbWV0aG9kCisgICAgZGVmIHRlYXJEb3duQ2xhc3MoY2xzKToKKyAgICAgICAgc2lnbmFsLnNldGl0aW1lcihzaWduYWwuSVRJTUVSX1JFQUwsIDAsIDApCisgICAgICAgIHNpZ25hbC5zaWduYWwoc2lnbmFsLlNJR0FMUk0sIGNscy5vcmlnX2hhbmRsZXIpCisKKyAgICBAY2xhc3NtZXRob2QKKyAgICBkZWYgX3NsZWVwKGNscyk6CisgICAgICAgICMgZGVmYXVsdCBzbGVlcCB0aW1lCisgICAgICAgIHRpbWUuc2xlZXAoY2xzLnNsZWVwX3RpbWUpCisKKworQHVuaXR0ZXN0LnNraXBVbmxlc3MoaGFzYXR0cihzaWduYWwsICJzZXRpdGltZXIiKSwgInJlcXVpcmVzIHNldGl0aW1lcigpIikKK2NsYXNzIE9TRUlOVFJUZXN0KEVJTlRSQmFzZVRlc3QpOgorICAgICIiIiBFSU5UUiB0ZXN0cyBmb3IgdGhlIG9zIG1vZHVsZS4gIiIiCisKKyAgICBkZWYgX3Rlc3Rfd2FpdF9tdWx0aXBsZShzZWxmLCB3YWl0X2Z1bmMpOgorICAgICAgICBudW0gPSAzCisgICAgICAgIGZvciBfIGluIHJhbmdlKG51bSk6CisgICAgICAgICAgICBwaWQgPSBvcy5mb3JrKCkKKyAgICAgICAgICAgIGlmIHBpZCA9PSAwOgorICAgICAgICAgICAgICAgIHNlbGYuX3NsZWVwKCkKKyAgICAgICAgICAgICAgICBvcy5fZXhpdCgwKQorICAgICAgICBmb3IgXyBpbiByYW5nZShudW0pOgorICAgICAgICAgICAgd2FpdF9mdW5jKCkKKworICAgIGRlZiB0ZXN0X3dhaXQoc2VsZik6CisgICAgICAgIHNlbGYuX3Rlc3Rfd2FpdF9tdWx0aXBsZShvcy53YWl0KQorCisgICAgQHVuaXR0ZXN0LnNraXBVbmxlc3MoaGFzYXR0cihvcywgJ3dhaXQzJyksICdyZXF1aXJlcyB3YWl0MygpJykKKyAgICBkZWYgdGVzdF93YWl0MyhzZWxmKToKKyAgICAgICAgc2VsZi5fdGVzdF93YWl0X211bHRpcGxlKGxhbWJkYTogb3Mud2FpdDMoMCkpCisKKyAgICBkZWYgX3Rlc3Rfd2FpdF9zaW5nbGUoc2VsZiwgd2FpdF9mdW5jKToKKyAgICAgICAgcGlkID0gb3MuZm9yaygpCisgICAgICAgIGlmIHBpZCA9PSAwOgorICAgICAgICAgICAgc2VsZi5fc2xlZXAoKQorICAgICAgICAgICAgb3MuX2V4aXQoMCkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHdhaXRfZnVuYyhwaWQpCisKKyAgICBkZWYgdGVzdF93YWl0cGlkKHNlbGYpOgorICAgICAgICBzZWxmLl90ZXN0X3dhaXRfc2luZ2xlKGxhbWJkYSBwaWQ6IG9zLndhaXRwaWQocGlkLCAwKSkKKworICAgIEB1bml0dGVzdC5za2lwVW5sZXNzKGhhc2F0dHIob3MsICd3YWl0NCcpLCAncmVxdWlyZXMgd2FpdDQoKScpCisgICAgZGVmIHRlc3Rfd2FpdDQoc2VsZik6CisgICAgICAgIHNlbGYuX3Rlc3Rfd2FpdF9zaW5nbGUobGFtYmRhIHBpZDogb3Mud2FpdDQocGlkLCAwKSkKKworICAgIGRlZiB0ZXN0X3JlYWQoc2VsZik6CisgICAgICAgIHJkLCB3ciA9IG9zLnBpcGUoKQorICAgICAgICBzZWxmLmFkZENsZWFudXAob3MuY2xvc2UsIHJkKQorICAgICAgICAjIHdyIGNsb3NlZCBleHBsaWNpdGx5IGJ5IHBhcmVudAorCisgICAgICAgICMgdGhlIHBheWxvYWQgYmVsb3cgYXJlIHNtYWxsZXIgdGhhbiBQSVBFX0JVRiwgaGVuY2UgdGhlIHdyaXRlcyB3aWxsIGJlCisgICAgICAgICMgYXRvbWljCisgICAgICAgIGRhdGFzID0gW2IiaGVsbG8iLCBiIndvcmxkIiwgYiJzcGFtIl0KKworICAgICAgICBwaWQgPSBvcy5mb3JrKCkKKyAgICAgICAgaWYgcGlkID09IDA6CisgICAgICAgICAgICBvcy5jbG9zZShyZCkKKyAgICAgICAgICAgIGZvciBkYXRhIGluIGRhdGFzOgorICAgICAgICAgICAgICAgICMgbGV0IHRoZSBwYXJlbnQgYmxvY2sgb24gcmVhZCgpCisgICAgICAgICAgICAgICAgc2VsZi5fc2xlZXAoKQorICAgICAgICAgICAgICAgIG9zLndyaXRlKHdyLCBkYXRhKQorICAgICAgICAgICAgb3MuX2V4aXQoMCkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHNlbGYuYWRkQ2xlYW51cChvcy53YWl0cGlkLCBwaWQsIDApCisgICAgICAgICAgICBvcy5jbG9zZSh3cikKKyAgICAgICAgICAgIGZvciBkYXRhIGluIGRhdGFzOgorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZGF0YSwgb3MucmVhZChyZCwgbGVuKGRhdGEpKSkKKworICAgIGRlZiB0ZXN0X3dyaXRlKHNlbGYpOgorICAgICAgICByZCwgd3IgPSBvcy5waXBlKCkKKyAgICAgICAgc2VsZi5hZGRDbGVhbnVwKG9zLmNsb3NlLCB3cikKKyAgICAgICAgIyByZCBjbG9zZWQgZXhwbGljaXRseSBieSBwYXJlbnQKKworICAgICAgICAjIHdlIG11c3Qgd3JpdGUgZW5vdWdoIGRhdGEgZm9yIHRoZSB3cml0ZSgpIHRvIGJsb2NrCisgICAgICAgIGRhdGEgPSBiInh5eiIgKiBzdXBwb3J0LlBJUEVfTUFYX1NJWkUKKworICAgICAgICBwaWQgPSBvcy5mb3JrKCkKKyAgICAgICAgaWYgcGlkID09IDA6CisgICAgICAgICAgICBvcy5jbG9zZSh3cikKKyAgICAgICAgICAgIHJlYWRfZGF0YSA9IGlvLkJ5dGVzSU8oKQorICAgICAgICAgICAgIyBsZXQgdGhlIHBhcmVudCBibG9jayBvbiB3cml0ZSgpCisgICAgICAgICAgICBzZWxmLl9zbGVlcCgpCisgICAgICAgICAgICB3aGlsZSBsZW4ocmVhZF9kYXRhLmdldHZhbHVlKCkpIDwgbGVuKGRhdGEpOgorICAgICAgICAgICAgICAgIGNodW5rID0gb3MucmVhZChyZCwgMiAqIGxlbihkYXRhKSkKKyAgICAgICAgICAgICAgICByZWFkX2RhdGEud3JpdGUoY2h1bmspCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlYWRfZGF0YS5nZXR2YWx1ZSgpLCBkYXRhKQorICAgICAgICAgICAgb3MuX2V4aXQoMCkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIG9zLmNsb3NlKHJkKQorICAgICAgICAgICAgd3JpdHRlbiA9IDAKKyAgICAgICAgICAgIHdoaWxlIHdyaXR0ZW4gPCBsZW4oZGF0YSk6CisgICAgICAgICAgICAgICAgd3JpdHRlbiArPSBvcy53cml0ZSh3ciwgbWVtb3J5dmlldyhkYXRhKVt3cml0dGVuOl0pCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKDAsIG9zLndhaXRwaWQocGlkLCAwKVsxXSkKKworCitAdW5pdHRlc3Quc2tpcFVubGVzcyhoYXNhdHRyKHNpZ25hbCwgInNldGl0aW1lciIpLCAicmVxdWlyZXMgc2V0aXRpbWVyKCkiKQorY2xhc3MgU29ja2V0RUlOVFJUZXN0KEVJTlRSQmFzZVRlc3QpOgorICAgICIiIiBFSU5UUiB0ZXN0cyBmb3IgdGhlIHNvY2tldCBtb2R1bGUuICIiIgorCisgICAgQHVuaXR0ZXN0LnNraXBVbmxlc3MoaGFzYXR0cihzb2NrZXQsICdzb2NrZXRwYWlyJyksICduZWVkcyBzb2NrZXRwYWlyKCknKQorICAgIGRlZiBfdGVzdF9yZWN2KHNlbGYsIHJlY3ZfZnVuYyk6CisgICAgICAgIHJkLCB3ciA9IHNvY2tldC5zb2NrZXRwYWlyKCkKKyAgICAgICAgc2VsZi5hZGRDbGVhbnVwKHJkLmNsb3NlKQorICAgICAgICAjIHdyIGNsb3NlZCBleHBsaWNpdGx5IGJ5IHBhcmVudAorCisgICAgICAgICMgc2luZ2xlLWJ5dGUgcGF5bG9hZCBndWFyZCB1cyBhZ2FpbnN0IHBhcnRpYWwgcmVjdgorICAgICAgICBkYXRhcyA9IFtiIngiLCBiInkiLCBiInoiXQorCisgICAgICAgIHBpZCA9IG9zLmZvcmsoKQorICAgICAgICBpZiBwaWQgPT0gMDoKKyAgICAgICAgICAgIHJkLmNsb3NlKCkKKyAgICAgICAgICAgIGZvciBkYXRhIGluIGRhdGFzOgorICAgICAgICAgICAgICAgICMgbGV0IHRoZSBwYXJlbnQgYmxvY2sgb24gcmVjdigpCisgICAgICAgICAgICAgICAgc2VsZi5fc2xlZXAoKQorICAgICAgICAgICAgICAgIHdyLnNlbmRhbGwoZGF0YSkKKyAgICAgICAgICAgIG9zLl9leGl0KDApCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBzZWxmLmFkZENsZWFudXAob3Mud2FpdHBpZCwgcGlkLCAwKQorICAgICAgICAgICAgd3IuY2xvc2UoKQorICAgICAgICAgICAgZm9yIGRhdGEgaW4gZGF0YXM6CisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkYXRhLCByZWN2X2Z1bmMocmQsIGxlbihkYXRhKSkpCisKKyAgICBkZWYgdGVzdF9yZWN2KHNlbGYpOgorICAgICAgICBzZWxmLl90ZXN0X3JlY3Yoc29ja2V0LnNvY2tldC5yZWN2KQorCisgICAgQHVuaXR0ZXN0LnNraXBVbmxlc3MoaGFzYXR0cihzb2NrZXQuc29ja2V0LCAncmVjdm1zZycpLCAnbmVlZHMgcmVjdm1zZygpJykKKyAgICBkZWYgdGVzdF9yZWN2bXNnKHNlbGYpOgorICAgICAgICBzZWxmLl90ZXN0X3JlY3YobGFtYmRhIHNvY2ssIGRhdGE6IHNvY2sucmVjdm1zZyhkYXRhKVswXSkKKworICAgIGRlZiBfdGVzdF9zZW5kKHNlbGYsIHNlbmRfZnVuYyk6CisgICAgICAgIHJkLCB3ciA9IHNvY2tldC5zb2NrZXRwYWlyKCkKKyAgICAgICAgc2VsZi5hZGRDbGVhbnVwKHdyLmNsb3NlKQorICAgICAgICAjIHJkIGNsb3NlZCBleHBsaWNpdGx5IGJ5IHBhcmVudAorCisgICAgICAgICMgd2UgbXVzdCBzZW5kIGVub3VnaCBkYXRhIGZvciB0aGUgc2VuZCgpIHRvIGJsb2NrCisgICAgICAgIGRhdGEgPSBiInh5eiIgKiAoc3VwcG9ydC5TT0NLX01BWF9TSVpFIC8vIDMpCisKKyAgICAgICAgcGlkID0gb3MuZm9yaygpCisgICAgICAgIGlmIHBpZCA9PSAwOgorICAgICAgICAgICAgd3IuY2xvc2UoKQorICAgICAgICAgICAgIyBsZXQgdGhlIHBhcmVudCBibG9jayBvbiBzZW5kKCkKKyAgICAgICAgICAgIHNlbGYuX3NsZWVwKCkKKyAgICAgICAgICAgIHJlY2VpdmVkX2RhdGEgPSBieXRlYXJyYXkobGVuKGRhdGEpKQorICAgICAgICAgICAgbiA9IDAKKyAgICAgICAgICAgIHdoaWxlIG4gPCBsZW4oZGF0YSk6CisgICAgICAgICAgICAgICAgbiArPSByZC5yZWN2X2ludG8obWVtb3J5dmlldyhyZWNlaXZlZF9kYXRhKVtuOl0pCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlY2VpdmVkX2RhdGEsIGRhdGEpCisgICAgICAgICAgICBvcy5fZXhpdCgwKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgcmQuY2xvc2UoKQorICAgICAgICAgICAgd3JpdHRlbiA9IDAKKyAgICAgICAgICAgIHdoaWxlIHdyaXR0ZW4gPCBsZW4oZGF0YSk6CisgICAgICAgICAgICAgICAgc2VudCA9IHNlbmRfZnVuYyh3ciwgbWVtb3J5dmlldyhkYXRhKVt3cml0dGVuOl0pCisgICAgICAgICAgICAgICAgIyBzZW5kYWxsKCkgcmV0dXJucyBOb25lCisgICAgICAgICAgICAgICAgd3JpdHRlbiArPSBsZW4oZGF0YSkgaWYgc2VudCBpcyBOb25lIGVsc2Ugc2VudAorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgwLCBvcy53YWl0cGlkKHBpZCwgMClbMV0pCisKKyAgICBkZWYgdGVzdF9zZW5kKHNlbGYpOgorICAgICAgICBzZWxmLl90ZXN0X3NlbmQoc29ja2V0LnNvY2tldC5zZW5kKQorCisgICAgZGVmIHRlc3Rfc2VuZGFsbChzZWxmKToKKyAgICAgICAgc2VsZi5fdGVzdF9zZW5kKHNvY2tldC5zb2NrZXQuc2VuZGFsbCkKKworICAgIEB1bml0dGVzdC5za2lwVW5sZXNzKGhhc2F0dHIoc29ja2V0LnNvY2tldCwgJ3NlbmRtc2cnKSwgJ25lZWRzIHNlbmRtc2coKScpCisgICAgZGVmIHRlc3Rfc2VuZG1zZyhzZWxmKToKKyAgICAgICAgc2VsZi5fdGVzdF9zZW5kKGxhbWJkYSBzb2NrLCBkYXRhOiBzb2NrLnNlbmRtc2coW2RhdGFdKSkKKworICAgIGRlZiB0ZXN0X2FjY2VwdChzZWxmKToKKyAgICAgICAgc29jayA9IHNvY2tldC5zb2NrZXQoc29ja2V0LkFGX0lORVQsIHNvY2tldC5TT0NLX1NUUkVBTSkKKyAgICAgICAgc2VsZi5hZGRDbGVhbnVwKHNvY2suY2xvc2UpCisKKyAgICAgICAgc29jay5iaW5kKChzdXBwb3J0LkhPU1QsIDApKQorICAgICAgICBfLCBwb3J0ID0gc29jay5nZXRzb2NrbmFtZSgpCisgICAgICAgIHNvY2subGlzdGVuKCkKKworICAgICAgICBwaWQgPSBvcy5mb3JrKCkKKyAgICAgICAgaWYgcGlkID09IDA6CisgICAgICAgICAgICAjIGxldCBwYXJlbnQgYmxvY2sgb24gYWNjZXB0KCkKKyAgICAgICAgICAgIHNlbGYuX3NsZWVwKCkKKyAgICAgICAgICAgIHdpdGggc29ja2V0LmNyZWF0ZV9jb25uZWN0aW9uKChzdXBwb3J0LkhPU1QsIHBvcnQpKToKKyAgICAgICAgICAgICAgICBzZWxmLl9zbGVlcCgpCisgICAgICAgICAgICBvcy5fZXhpdCgwKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgc2VsZi5hZGRDbGVhbnVwKG9zLndhaXRwaWQsIHBpZCwgMCkKKyAgICAgICAgICAgIGNsaWVudF9zb2NrLCBfID0gc29jay5hY2NlcHQoKQorICAgICAgICAgICAgY2xpZW50X3NvY2suY2xvc2UoKQorCisgICAgQHVuaXR0ZXN0LnNraXBVbmxlc3MoaGFzYXR0cihvcywgJ21rZmlmbycpLCAnbmVlZHMgbWtmaWZvKCknKQorICAgIGRlZiBfdGVzdF9vcGVuKHNlbGYsIGRvX29wZW5fY2xvc2VfcmVhZGVyLCBkb19vcGVuX2Nsb3NlX3dyaXRlcik6CisgICAgICAgICMgVXNlIGEgZmlmbzogdW50aWwgdGhlIGNoaWxkIG9wZW5zIGl0IGZvciByZWFkaW5nLCB0aGUgcGFyZW50IHdpbGwKKyAgICAgICAgIyBibG9jayB3aGVuIHRyeWluZyB0byBvcGVuIGl0IGZvciB3cml0aW5nLgorICAgICAgICBzdXBwb3J0LnVubGluayhzdXBwb3J0LlRFU1RGTikKKyAgICAgICAgb3MubWtmaWZvKHN1cHBvcnQuVEVTVEZOKQorICAgICAgICBzZWxmLmFkZENsZWFudXAoc3VwcG9ydC51bmxpbmssIHN1cHBvcnQuVEVTVEZOKQorCisgICAgICAgIHBpZCA9IG9zLmZvcmsoKQorICAgICAgICBpZiBwaWQgPT0gMDoKKyAgICAgICAgICAgICMgbGV0IHRoZSBwYXJlbnQgYmxvY2sKKyAgICAgICAgICAgIHNlbGYuX3NsZWVwKCkKKyAgICAgICAgICAgIGRvX29wZW5fY2xvc2VfcmVhZGVyKHN1cHBvcnQuVEVTVEZOKQorICAgICAgICAgICAgb3MuX2V4aXQoMCkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHNlbGYuYWRkQ2xlYW51cChvcy53YWl0cGlkLCBwaWQsIDApCisgICAgICAgICAgICBkb19vcGVuX2Nsb3NlX3dyaXRlcihzdXBwb3J0LlRFU1RGTikKKworICAgIGRlZiB0ZXN0X29wZW4oc2VsZik6CisgICAgICAgIHNlbGYuX3Rlc3Rfb3BlbihsYW1iZGEgcGF0aDogb3BlbihwYXRoLCAncicpLmNsb3NlKCksCisgICAgICAgICAgICAgICAgICAgICAgICBsYW1iZGEgcGF0aDogb3BlbihwYXRoLCAndycpLmNsb3NlKCkpCisKKyAgICBkZWYgdGVzdF9vc19vcGVuKHNlbGYpOgorICAgICAgICBzZWxmLl90ZXN0X29wZW4obGFtYmRhIHBhdGg6IG9zLmNsb3NlKG9zLm9wZW4ocGF0aCwgb3MuT19SRE9OTFkpKSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGxhbWJkYSBwYXRoOiBvcy5jbG9zZShvcy5vcGVuKHBhdGgsIG9zLk9fV1JPTkxZKSkpCisKKworZGVmIHRlc3RfbWFpbigpOgorICAgIHN1cHBvcnQucnVuX3VuaXR0ZXN0KE9TRUlOVFJUZXN0LCBTb2NrZXRFSU5UUlRlc3QpCisKKworaWYgX19uYW1lX18gPT0gIl9fbWFpbl9fIjoKKyAgICB0ZXN0X21haW4oKQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvZm9ya193YWl0LnB5IGIvTGliL3Rlc3QvZm9ya193YWl0LnB5CmluZGV4IDE5YjU0ZWMuLjcxMzAzOWQgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L2Zvcmtfd2FpdC5weQorKysgYi9MaWIvdGVzdC9mb3JrX3dhaXQucHkKQEAgLTQ4LDcgKzQ4LDEyIEBACiAgICAgICAgIGZvciBpIGluIHJhbmdlKE5VTV9USFJFQURTKToKICAgICAgICAgICAgIF90aHJlYWQuc3RhcnRfbmV3KHNlbGYuZiwgKGksKSkKIAotICAgICAgICB0aW1lLnNsZWVwKExPTkdTTEVFUCkKKyAgICAgICAgIyBidXN5LWxvb3AgdG8gd2FpdCBmb3IgdGhyZWFkcworICAgICAgICBkZWFkbGluZSA9IHRpbWUubW9ub3RvbmljKCkgKyAxMC4wCisgICAgICAgIHdoaWxlIGxlbihzZWxmLmFsaXZlKSA8IE5VTV9USFJFQURTOgorICAgICAgICAgICAgdGltZS5zbGVlcCgwLjEpCisgICAgICAgICAgICBpZiBkZWFkbGluZSA8IHRpbWUubW9ub3RvbmljKCk6CisgICAgICAgICAgICAgICAgYnJlYWsKIAogICAgICAgICBhID0gc29ydGVkKHNlbGYuYWxpdmUua2V5cygpKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGEsIGxpc3QocmFuZ2UoTlVNX1RIUkVBRFMpKSkKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L2ltZ2hkcmRhdGEvcHl0aG9uLmV4ciBiL0xpYi90ZXN0L2ltZ2hkcmRhdGEvcHl0aG9uLmV4cgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NzNjODFlCi0tLSAvZGV2L251bGwKKysrIGIvTGliL3Rlc3QvaW1naGRyZGF0YS9weXRob24uZXhyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L2ltZ2hkcmRhdGEvcHl0aG9uLndlYnAgYi9MaWIvdGVzdC9pbWdoZHJkYXRhL3B5dGhvbi53ZWJwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU4MjRlYzcKLS0tIC9kZXYvbnVsbAorKysgYi9MaWIvdGVzdC9pbWdoZHJkYXRhL3B5dGhvbi53ZWJwCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L2luc3BlY3RfZm9kZGVyMi5weSBiL0xpYi90ZXN0L2luc3BlY3RfZm9kZGVyMi5weQppbmRleCBiZDcxMDZmLi5lNDUyMjM1IDEwMDY0NAotLS0gYS9MaWIvdGVzdC9pbnNwZWN0X2ZvZGRlcjIucHkKKysrIGIvTGliL3Rlc3QvaW5zcGVjdF9mb2RkZXIyLnB5CkBAIC0xMDksMyArMTA5LDE2IEBACiAjbGluZSAxMDkKIGRlZiBrZXl3b3JkX29ubHlfYXJnKCosIGFyZyk6CiAgICAgcGFzcworCitmcm9tIGZ1bmN0b29scyBpbXBvcnQgd3JhcHMKKworZGVmIGRlY29yYXRvcihmdW5jKToKKyAgICBAd3JhcHMoZnVuYykKKyAgICBkZWYgZmFrZSgpOgorICAgICAgICByZXR1cm4gNDIKKyAgICByZXR1cm4gZmFrZQorCisjbGluZSAxMjEKK0BkZWNvcmF0b3IKK2RlZiByZWFsKCk6CisgICAgcmV0dXJuIDIwCmRpZmYgLS1naXQgYS9MaWIvdGVzdC9saXN0X3Rlc3RzLnB5IGIvTGliL3Rlc3QvbGlzdF90ZXN0cy5weQppbmRleCA0MmUxMThiLi45MDY5MzM3IDEwMDY0NAotLS0gYS9MaWIvdGVzdC9saXN0X3Rlc3RzLnB5CisrKyBiL0xpYi90ZXN0L2xpc3RfdGVzdHMucHkKQEAgLTMwLDYgKzMwLDEyIEBACiAgICAgICAgIHNlbGYuYXNzZXJ0Tm90RXF1YWwoaWQoYSksIGlkKGIpKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGEsIGIpCiAKKyAgICBkZWYgdGVzdF9nZXRpdGVtX2Vycm9yKHNlbGYpOgorICAgICAgICBtc2cgPSAibGlzdCBpbmRpY2VzIG11c3QgYmUgaW50ZWdlcnMgb3Igc2xpY2VzIgorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgoVHlwZUVycm9yLCBtc2cpOgorICAgICAgICAgICAgYSA9IFtdCisgICAgICAgICAgICBhWydhJ10gPSAicHl0aG9uIgorCiAgICAgZGVmIHRlc3RfcmVwcihzZWxmKToKICAgICAgICAgbDAgPSBbXQogICAgICAgICBsMiA9IFswLCAxLCAyXQpAQCAtMTIwLDYgKzEyNiwxMCBAQAogICAgICAgICBhWy0xXSA9IDkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChhLCBzZWxmLnR5cGUydGVzdChbNSw2LDcsOCw5XSkpCiAKKyAgICAgICAgbXNnID0gImxpc3QgaW5kaWNlcyBtdXN0IGJlIGludGVnZXJzIG9yIHNsaWNlcyIKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlc1JlZ2V4KFR5cGVFcnJvciwgbXNnKToKKyAgICAgICAgICAgIGFbJ2EnXSA9ICJweXRob24iCisKICAgICBkZWYgdGVzdF9kZWxpdGVtKHNlbGYpOgogICAgICAgICBhID0gc2VsZi50eXBlMnRlc3QoWzAsIDFdKQogICAgICAgICBkZWwgYVsxXQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvbG9ja190ZXN0cy5weSBiL0xpYi90ZXN0L2xvY2tfdGVzdHMucHkKaW5kZXggMWNiY2VhMi4uMTM2ZjFjMyAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvbG9ja190ZXN0cy5weQorKysgYi9MaWIvdGVzdC9sb2NrX3Rlc3RzLnB5CkBAIC04Miw3ICs4MiwxMyBAQAogCiAgICAgZGVmIHRlc3RfcmVwcihzZWxmKToKICAgICAgICAgbG9jayA9IHNlbGYubG9ja3R5cGUoKQotICAgICAgICByZXByKGxvY2spCisgICAgICAgIHNlbGYuYXNzZXJ0UmVnZXgocmVwcihsb2NrKSwgIjx1bmxvY2tlZCAuKiBvYmplY3QgKC4qKT9hdCAuKj4iKQorICAgICAgICBkZWwgbG9jaworCisgICAgZGVmIHRlc3RfbG9ja2VkX3JlcHIoc2VsZik6CisgICAgICAgIGxvY2sgPSBzZWxmLmxvY2t0eXBlKCkKKyAgICAgICAgbG9jay5hY3F1aXJlKCkKKyAgICAgICAgc2VsZi5hc3NlcnRSZWdleChyZXByKGxvY2spLCAiPGxvY2tlZCAuKiBvYmplY3QgKC4qKT9hdCAuKj4iKQogICAgICAgICBkZWwgbG9jawogCiAgICAgZGVmIHRlc3RfYWNxdWlyZV9kZXN0cm95KHNlbGYpOgpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvbW9ja19zb2NrZXQucHkgYi9MaWIvdGVzdC9tb2NrX3NvY2tldC5weQppbmRleCBlMzY3MjRmLi5iMjhjNDczIDEwMDY0NAotLS0gYS9MaWIvdGVzdC9tb2NrX3NvY2tldC5weQorKysgYi9MaWIvdGVzdC9tb2NrX3NvY2tldC5weQpAQCAtMzUsOCArMzUsOSBAQAogY2xhc3MgTW9ja1NvY2tldDoKICAgICAiIiJNb2NrIHNvY2tldCBvYmplY3QgdXNlZCBieSBzbXRwZCBhbmQgc210cGxpYiB0ZXN0cy4KICAgICAiIiIKLSAgICBkZWYgX19pbml0X18oc2VsZik6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIGZhbWlseT1Ob25lKToKICAgICAgICAgZ2xvYmFsIF9yZXBseV9kYXRhCisgICAgICAgIHNlbGYuZmFtaWx5ID0gZmFtaWx5CiAgICAgICAgIHNlbGYub3V0cHV0ID0gW10KICAgICAgICAgc2VsZi5saW5lcyA9IFtdCiAgICAgICAgIGlmIF9yZXBseV9kYXRhOgpAQCAtMTAxLDE1ICsxMDIsMTQgQEAKICAgICAgICAgcmV0dXJuIGxlbihkYXRhKQogCiAgICAgZGVmIGdldHBlZXJuYW1lKHNlbGYpOgotICAgICAgICByZXR1cm4gJ3BlZXInCisgICAgICAgIHJldHVybiAoJ3BlZXItYWRkcmVzcycsICdwZWVyLXBvcnQnKQogCiAgICAgZGVmIGNsb3NlKHNlbGYpOgogICAgICAgICBwYXNzCiAKIAogZGVmIHNvY2tldChmYW1pbHk9Tm9uZSwgdHlwZT1Ob25lLCBwcm90bz1Ob25lKToKLSAgICByZXR1cm4gTW9ja1NvY2tldCgpCi0KKyAgICByZXR1cm4gTW9ja1NvY2tldChmYW1pbHkpCiAKIGRlZiBjcmVhdGVfY29ubmVjdGlvbihhZGRyZXNzLCB0aW1lb3V0PXNvY2tldF9tb2R1bGUuX0dMT0JBTF9ERUZBVUxUX1RJTUVPVVQsCiAgICAgICAgICAgICAgICAgICAgICAgc291cmNlX2FkZHJlc3M9Tm9uZSk6CkBAIC0xNDQsMTMgKzE0NCwxNiBAQAogZGVmIGdldGhvc3RieW5hbWUobmFtZSk6CiAgICAgcmV0dXJuICIiCiAKK2RlZiBnZXRhZGRyaW5mbygqYXJncywgKiprdyk6CisgICAgcmV0dXJuIHNvY2tldF9tb2R1bGUuZ2V0YWRkcmluZm8oKmFyZ3MsICoqa3cpCiAKIGdhaWVycm9yID0gc29ja2V0X21vZHVsZS5nYWllcnJvcgogZXJyb3IgPSBzb2NrZXRfbW9kdWxlLmVycm9yCiAKIAogIyBDb25zdGFudHMKLUFGX0lORVQgPSBOb25lCi1TT0NLX1NUUkVBTSA9IE5vbmUKK0FGX0lORVQgPSBzb2NrZXRfbW9kdWxlLkFGX0lORVQKK0FGX0lORVQ2ID0gc29ja2V0X21vZHVsZS5BRl9JTkVUNgorU09DS19TVFJFQU0gPSBzb2NrZXRfbW9kdWxlLlNPQ0tfU1RSRUFNCiBTT0xfU09DS0VUID0gTm9uZQogU09fUkVVU0VBRERSID0gTm9uZQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvcGlja2xldGVzdGVyLnB5IGIvTGliL3Rlc3QvcGlja2xldGVzdGVyLnB5CmluZGV4IDU1MjA1ZDEuLmY4MzcyZTMgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3BpY2tsZXRlc3Rlci5weQorKysgYi9MaWIvdGVzdC9waWNrbGV0ZXN0ZXIucHkKQEAgLTExNTQsMTYgKzExNTQsNjIgQEAKICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEdyZWF0ZXJFcXVhbChudW1fYWRkaXRlbXMsIDIpCiAKICAgICBkZWYgdGVzdF9zaW1wbGVfbmV3b2JqKHNlbGYpOgotICAgICAgICB4ID0gb2JqZWN0Ll9fbmV3X18oU2ltcGxlTmV3T2JqKSAgIyBhdm9pZCBfX2luaXRfXworICAgICAgICB4ID0gU2ltcGxlTmV3T2JqLl9fbmV3X18oU2ltcGxlTmV3T2JqLCAweGZhY2UpICAjIGF2b2lkIF9faW5pdF9fCiAgICAgICAgIHguYWJjID0gNjY2CiAgICAgICAgIGZvciBwcm90byBpbiBwcm90b2NvbHM6Ci0gICAgICAgICAgICBzID0gc2VsZi5kdW1wcyh4LCBwcm90bykKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwob3Bjb2RlX2luX3BpY2tsZShwaWNrbGUuTkVXT0JKLCBzKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMiA8PSBwcm90byA8IDQpCi0gICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG9wY29kZV9pbl9waWNrbGUocGlja2xlLk5FV09CSl9FWCwgcyksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3RvID49IDQpCi0gICAgICAgICAgICB5ID0gc2VsZi5sb2FkcyhzKSAgICMgd2lsbCByYWlzZSBUeXBlRXJyb3IgaWYgX19pbml0X18gY2FsbGVkCi0gICAgICAgICAgICBzZWxmLmFzc2VydF9pc19jb3B5KHgsIHkpCisgICAgICAgICAgICB3aXRoIHNlbGYuc3ViVGVzdChwcm90bz1wcm90byk6CisgICAgICAgICAgICAgICAgcyA9IHNlbGYuZHVtcHMoeCwgcHJvdG8pCisgICAgICAgICAgICAgICAgaWYgcHJvdG8gPCAxOgorICAgICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEluKGInXG5MNjQyMDYnLCBzKSAgIyBMT05HCisgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRJbihiJ01ceGNlXHhmYScsIHMpICAjIEJJTklOVDIKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG9wY29kZV9pbl9waWNrbGUocGlja2xlLk5FV09CSiwgcyksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyIDw9IHByb3RvKQorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2Uob3Bjb2RlX2luX3BpY2tsZShwaWNrbGUuTkVXT0JKX0VYLCBzKSkKKyAgICAgICAgICAgICAgICB5ID0gc2VsZi5sb2FkcyhzKSAgICMgd2lsbCByYWlzZSBUeXBlRXJyb3IgaWYgX19pbml0X18gY2FsbGVkCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRfaXNfY29weSh4LCB5KQorCisgICAgZGVmIHRlc3RfY29tcGxleF9uZXdvYmooc2VsZik6CisgICAgICAgIHggPSBDb21wbGV4TmV3T2JqLl9fbmV3X18oQ29tcGxleE5ld09iaiwgMHhmYWNlKSAgIyBhdm9pZCBfX2luaXRfXworICAgICAgICB4LmFiYyA9IDY2NgorICAgICAgICBmb3IgcHJvdG8gaW4gcHJvdG9jb2xzOgorICAgICAgICAgICAgd2l0aCBzZWxmLnN1YlRlc3QocHJvdG89cHJvdG8pOgorICAgICAgICAgICAgICAgIHMgPSBzZWxmLmR1bXBzKHgsIHByb3RvKQorICAgICAgICAgICAgICAgIGlmIHByb3RvIDwgMToKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRJbihiJ1xuTDY0MjA2JywgcykgICMgTE9ORworICAgICAgICAgICAgICAgIGVsaWYgcHJvdG8gPCAyOgorICAgICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEluKGInTVx4Y2VceGZhJywgcykgICMgQklOSU5UMgorICAgICAgICAgICAgICAgIGVsaWYgcHJvdG8gPCA0OgorICAgICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEluKGInWFx4MDRceDAwXHgwMFx4MDBGQUNFJywgcykgICMgQklOVU5JQ09ERQorICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0SW4oYidceDhjXHgwNEZBQ0UnLCBzKSAgIyBTSE9SVF9CSU5VTklDT0RFCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChvcGNvZGVfaW5fcGlja2xlKHBpY2tsZS5ORVdPQkosIHMpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMiA8PSBwcm90bykKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEZhbHNlKG9wY29kZV9pbl9waWNrbGUocGlja2xlLk5FV09CSl9FWCwgcykpCisgICAgICAgICAgICAgICAgeSA9IHNlbGYubG9hZHMocykgICAjIHdpbGwgcmFpc2UgVHlwZUVycm9yIGlmIF9faW5pdF9fIGNhbGxlZAorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0X2lzX2NvcHkoeCwgeSkKKworICAgIGRlZiB0ZXN0X2NvbXBsZXhfbmV3b2JqX2V4KHNlbGYpOgorICAgICAgICB4ID0gQ29tcGxleE5ld09iakV4Ll9fbmV3X18oQ29tcGxleE5ld09iakV4LCAweGZhY2UpICAjIGF2b2lkIF9faW5pdF9fCisgICAgICAgIHguYWJjID0gNjY2CisgICAgICAgIGZvciBwcm90byBpbiBwcm90b2NvbHM6CisgICAgICAgICAgICB3aXRoIHNlbGYuc3ViVGVzdChwcm90bz1wcm90byk6CisgICAgICAgICAgICAgICAgaWYgMiA8PSBwcm90byA8IDQ6CisgICAgICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIHNlbGYuZHVtcHMsIHgsIHByb3RvKQorICAgICAgICAgICAgICAgICAgICBjb250aW51ZQorICAgICAgICAgICAgICAgIHMgPSBzZWxmLmR1bXBzKHgsIHByb3RvKQorICAgICAgICAgICAgICAgIGlmIHByb3RvIDwgMToKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRJbihiJ1xuTDY0MjA2JywgcykgICMgTE9ORworICAgICAgICAgICAgICAgIGVsaWYgcHJvdG8gPCAyOgorICAgICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEluKGInTVx4Y2VceGZhJywgcykgICMgQklOSU5UMgorICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgIGFzc2VydCBwcm90byA+PSA0CisgICAgICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0SW4oYidceDhjXHgwNEZBQ0UnLCBzKSAgIyBTSE9SVF9CSU5VTklDT0RFCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShvcGNvZGVfaW5fcGlja2xlKHBpY2tsZS5ORVdPQkosIHMpKQorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwob3Bjb2RlX2luX3BpY2tsZShwaWNrbGUuTkVXT0JKX0VYLCBzKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQgPD0gcHJvdG8pCisgICAgICAgICAgICAgICAgeSA9IHNlbGYubG9hZHMocykgICAjIHdpbGwgcmFpc2UgVHlwZUVycm9yIGlmIF9faW5pdF9fIGNhbGxlZAorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0X2lzX2NvcHkoeCwgeSkKIAogICAgIGRlZiB0ZXN0X25ld29ial9saXN0X3Nsb3RzKHNlbGYpOgogICAgICAgICB4ID0gU2xvdExpc3QoWzEsIDIsIDNdKQpAQCAtMTY0NSw2ICsxNjkxLDI3IEBACiAgICAgICAgICAgICAgICAgICAgIHVucGlja2xlZCA9IHNlbGYubG9hZHMoc2VsZi5kdW1wcyhtZXRob2QsIHByb3RvKSkKICAgICAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtZXRob2QoKmFyZ3MpLCB1bnBpY2tsZWQoKmFyZ3MpKQogCisgICAgZGVmIHRlc3RfbG9jYWxfbG9va3VwX2Vycm9yKHNlbGYpOgorICAgICAgICAjIFRlc3QgdGhhdCB3aGljaG1vZHVsZSgpIGVycm9ycyBvdXQgY2xlYW5seSB3aGVuIGxvb2tpbmcgdXAKKyAgICAgICAgIyBhbiBhc3N1bWVkIGdsb2JhbGx5LXJlYWNoYWJsZSBvYmplY3QgZmFpbHMuCisgICAgICAgIGRlZiBmKCk6CisgICAgICAgICAgICBwYXNzCisgICAgICAgICMgU2luY2UgdGhlIGZ1bmN0aW9uIGlzIGxvY2FsLCBsb29rdXAgd2lsbCBmYWlsCisgICAgICAgIGZvciBwcm90byBpbiByYW5nZSgwLCBwaWNrbGUuSElHSEVTVF9QUk9UT0NPTCArIDEpOgorICAgICAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcygoQXR0cmlidXRlRXJyb3IsIHBpY2tsZS5QaWNrbGluZ0Vycm9yKSk6CisgICAgICAgICAgICAgICAgcGlja2xldG9vbHMuZGlzKHNlbGYuZHVtcHMoZiwgcHJvdG8pKQorICAgICAgICAjIFNhbWUgd2l0aG91dCBhIF9fbW9kdWxlX18gYXR0cmlidXRlIChleGVyY2lzZXMgYSBkaWZmZXJlbnQgcGF0aAorICAgICAgICAjIGluIF9waWNrbGUuYykuCisgICAgICAgIGRlbCBmLl9fbW9kdWxlX18KKyAgICAgICAgZm9yIHByb3RvIGluIHJhbmdlKDAsIHBpY2tsZS5ISUdIRVNUX1BST1RPQ09MICsgMSk6CisgICAgICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKChBdHRyaWJ1dGVFcnJvciwgcGlja2xlLlBpY2tsaW5nRXJyb3IpKToKKyAgICAgICAgICAgICAgICBwaWNrbGV0b29scy5kaXMoc2VsZi5kdW1wcyhmLCBwcm90bykpCisgICAgICAgICMgWWV0IGEgZGlmZmVyZW50IHBhdGguCisgICAgICAgIGYuX19uYW1lX18gPSBmLl9fcXVhbG5hbWVfXworICAgICAgICBmb3IgcHJvdG8gaW4gcmFuZ2UoMCwgcGlja2xlLkhJR0hFU1RfUFJPVE9DT0wgKyAxKToKKyAgICAgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoKEF0dHJpYnV0ZUVycm9yLCBwaWNrbGUuUGlja2xpbmdFcnJvcikpOgorICAgICAgICAgICAgICAgIHBpY2tsZXRvb2xzLmRpcyhzZWxmLmR1bXBzKGYsIHByb3RvKSkKKwogCiBjbGFzcyBCaWdtZW1QaWNrbGVUZXN0cyh1bml0dGVzdC5UZXN0Q2FzZSk6CiAKQEAgLTE4NzksMTIgKzE5NDYsMjAgQEAKIGNsYXNzIFNsb3RMaXN0KE15TGlzdCk6CiAgICAgX19zbG90c19fID0gWyJmb28iXQogCi1jbGFzcyBTaW1wbGVOZXdPYmoob2JqZWN0KToKLSAgICBkZWYgX19pbml0X18oc2VsZiwgYSwgYiwgYyk6CitjbGFzcyBTaW1wbGVOZXdPYmooaW50KToKKyAgICBkZWYgX19pbml0X18oc2VsZiwgKmFyZ3MsICoqa3dhcmdzKToKICAgICAgICAgIyByYWlzZSBhbiBlcnJvciwgdG8gbWFrZSBzdXJlIHRoaXMgaXNuJ3QgY2FsbGVkCiAgICAgICAgIHJhaXNlIFR5cGVFcnJvcigiU2ltcGxlTmV3T2JqLl9faW5pdF9fKCkgZGlkbid0IGV4cGVjdCB0byBnZXQgY2FsbGVkIikKICAgICBkZWYgX19lcV9fKHNlbGYsIG90aGVyKToKLSAgICAgICAgcmV0dXJuIHNlbGYuX19kaWN0X18gPT0gb3RoZXIuX19kaWN0X18KKyAgICAgICAgcmV0dXJuIGludChzZWxmKSA9PSBpbnQob3RoZXIpIGFuZCBzZWxmLl9fZGljdF9fID09IG90aGVyLl9fZGljdF9fCisKK2NsYXNzIENvbXBsZXhOZXdPYmooU2ltcGxlTmV3T2JqKToKKyAgICBkZWYgX19nZXRuZXdhcmdzX18oc2VsZik6CisgICAgICAgIHJldHVybiAoJyVYJyAlIHNlbGYsIDE2KQorCitjbGFzcyBDb21wbGV4TmV3T2JqRXgoU2ltcGxlTmV3T2JqKToKKyAgICBkZWYgX19nZXRuZXdhcmdzX2V4X18oc2VsZik6CisgICAgICAgIHJldHVybiAoJyVYJyAlIHNlbGYsKSwgeydiYXNlJzogMTZ9CiAKIGNsYXNzIEJhZEdldGF0dHI6CiAgICAgZGVmIF9fZ2V0YXR0cl9fKHNlbGYsIGtleSk6CmRpZmYgLS1naXQgYS9MaWIvdGVzdC9weXN0b25lLnB5IGIvTGliL3Rlc3QvcHlzdG9uZS5weQppbmRleCBhNDFmMWU1Li4xZjY3ZTY2IDEwMDc1NQotLS0gYS9MaWIvdGVzdC9weXN0b25lLnB5CisrKyBiL0xpYi90ZXN0L3B5c3RvbmUucHkKQEAgLTQxLDcgKzQxLDcgQEAKIAogTE9PUFMgPSA1MDAwMAogCi1mcm9tIHRpbWUgaW1wb3J0IGNsb2NrCitmcm9tIHRpbWUgaW1wb3J0IHRpbWUKIAogX192ZXJzaW9uX18gPSAiMS4yIgogCkBAIC05MywxMCArOTMsMTAgQEAKICAgICBnbG9iYWwgUHRyR2xiCiAgICAgZ2xvYmFsIFB0ckdsYk5leHQKIAotICAgIHN0YXJ0dGltZSA9IGNsb2NrKCkKKyAgICBzdGFydHRpbWUgPSB0aW1lKCkKICAgICBmb3IgaSBpbiByYW5nZShsb29wcyk6CiAgICAgICAgIHBhc3MKLSAgICBudWxsdGltZSA9IGNsb2NrKCkgLSBzdGFydHRpbWUKKyAgICBudWxsdGltZSA9IHRpbWUoKSAtIHN0YXJ0dGltZQogCiAgICAgUHRyR2xiTmV4dCA9IFJlY29yZCgpCiAgICAgUHRyR2xiID0gUmVjb3JkKCkKQEAgLTEwOCw3ICsxMDgsNyBAQAogICAgIFN0cmluZzFMb2MgPSAiREhSWVNUT05FIFBST0dSQU0sIDEnU1QgU1RSSU5HIgogICAgIEFycmF5Mkdsb2JbOF1bN10gPSAxMAogCi0gICAgc3RhcnR0aW1lID0gY2xvY2soKQorICAgIHN0YXJ0dGltZSA9IHRpbWUoKQogCiAgICAgZm9yIGkgaW4gcmFuZ2UobG9vcHMpOgogICAgICAgICBQcm9jNSgpCkBAIC0xMzQsNyArMTM0LDcgQEAKICAgICAgICAgSW50TG9jMiA9IDcgKiAoSW50TG9jMyAtIEludExvYzIpIC0gSW50TG9jMQogICAgICAgICBJbnRMb2MxID0gUHJvYzIoSW50TG9jMSkKIAotICAgIGJlbmNodGltZSA9IGNsb2NrKCkgLSBzdGFydHRpbWUgLSBudWxsdGltZQorICAgIGJlbmNodGltZSA9IHRpbWUoKSAtIHN0YXJ0dGltZSAtIG51bGx0aW1lCiAgICAgaWYgYmVuY2h0aW1lID09IDAuMDoKICAgICAgICAgbG9vcHNQZXJCZW5jaHRpbWUgPSAwLjAKICAgICBlbHNlOgpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvcmVncnRlc3QucHkgYi9MaWIvdGVzdC9yZWdydGVzdC5weQppbmRleCBiNjMzNjMxLi5lYTEyODdkIDEwMDc1NQotLS0gYS9MaWIvdGVzdC9yZWdydGVzdC5weQorKysgYi9MaWIvdGVzdC9yZWdydGVzdC5weQpAQCAtMTI3Niw2ICsxMjc2LDEwIEBACiAgICAgICAgICAgICAgICAgZGVmIHRlc3RfcnVubmVyKCk6CiAgICAgICAgICAgICAgICAgICAgIGxvYWRlciA9IHVuaXR0ZXN0LlRlc3RMb2FkZXIoKQogICAgICAgICAgICAgICAgICAgICB0ZXN0cyA9IGxvYWRlci5sb2FkVGVzdHNGcm9tTW9kdWxlKHRoZV9tb2R1bGUpCisgICAgICAgICAgICAgICAgICAgIGZvciBlcnJvciBpbiBsb2FkZXIuZXJyb3JzOgorICAgICAgICAgICAgICAgICAgICAgICAgcHJpbnQoZXJyb3IsIGZpbGU9c3lzLnN0ZGVycikKKyAgICAgICAgICAgICAgICAgICAgaWYgbG9hZGVyLmVycm9yczoKKyAgICAgICAgICAgICAgICAgICAgICAgIHJhaXNlIEV4Y2VwdGlvbigiZXJyb3JzIHdoaWxlIGxvYWRpbmcgdGVzdHMiKQogICAgICAgICAgICAgICAgICAgICBzdXBwb3J0LnJ1bl91bml0dGVzdCh0ZXN0cykKICAgICAgICAgICAgIHRlc3RfcnVubmVyKCkKICAgICAgICAgICAgIGlmIGh1bnRybGVha3M6CmRpZmYgLS1naXQgYS9MaWIvdGVzdC9zY3JpcHRfaGVscGVyLnB5IGIvTGliL3Rlc3Qvc2NyaXB0X2hlbHBlci5weQppbmRleCA4YzU5OWQxLi41NTMxYTM0IDEwMDY0NAotLS0gYS9MaWIvdGVzdC9zY3JpcHRfaGVscGVyLnB5CisrKyBiL0xpYi90ZXN0L3NjcmlwdF9oZWxwZXIucHkKQEAgLTE5LDcgKzE5LDcgQEAKICMgQ2FjaGVkIHJlc3VsdCBvZiB0aGUgZXhwZW5zaXZlIHRlc3QgcGVyZm9ybWVkIGluIHRoZSBmdW5jdGlvbiBiZWxvdy4KIF9fY2FjaGVkX2ludGVycF9yZXF1aXJlc19lbnZpcm9ubWVudCA9IE5vbmUKIAotZGVmIF9pbnRlcnByZXRlcl9yZXF1aXJlc19lbnZpcm9ubWVudCgpOgorZGVmIGludGVycHJldGVyX3JlcXVpcmVzX2Vudmlyb25tZW50KCk6CiAgICAgIiIiCiAgICAgUmV0dXJucyBUcnVlIGlmIG91ciBzeXMuZXhlY3V0YWJsZSBpbnRlcnByZXRlciByZXF1aXJlcyBlbnZpcm9ubWVudAogICAgIHZhcmlhYmxlcyBpbiBvcmRlciB0byBiZSBhYmxlIHRvIHJ1biBhdCBhbGwuCkBAIC01Miw3ICs1Miw3IEBACiAKICMgRXhlY3V0aW5nIHRoZSBpbnRlcnByZXRlciBpbiBhIHN1YnByb2Nlc3MKIGRlZiBfYXNzZXJ0X3B5dGhvbihleHBlY3RlZF9zdWNjZXNzLCAqYXJncywgKiplbnZfdmFycyk6Ci0gICAgZW52X3JlcXVpcmVkID0gX2ludGVycHJldGVyX3JlcXVpcmVzX2Vudmlyb25tZW50KCkKKyAgICBlbnZfcmVxdWlyZWQgPSBpbnRlcnByZXRlcl9yZXF1aXJlc19lbnZpcm9ubWVudCgpCiAgICAgaWYgJ19faXNvbGF0ZWQnIGluIGVudl92YXJzOgogICAgICAgICBpc29sYXRlZCA9IGVudl92YXJzLnBvcCgnX19pc29sYXRlZCcpCiAgICAgZWxzZToKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3NzbF9zZXJ2ZXJzLnB5IGIvTGliL3Rlc3Qvc3NsX3NlcnZlcnMucHkKaW5kZXggNzU5YjNmNC4uZjlkMzBjZiAxMDA2NDQKLS0tIGEvTGliL3Rlc3Qvc3NsX3NlcnZlcnMucHkKKysrIGIvTGliL3Rlc3Qvc3NsX3NlcnZlcnMucHkKQEAgLTE1MCw3ICsxNTAsNyBAQAogZGVmIG1ha2VfaHR0cHNfc2VydmVyKGNhc2UsICosIGNvbnRleHQ9Tm9uZSwgY2VydGZpbGU9Q0VSVEZJTEUsCiAgICAgICAgICAgICAgICAgICAgICAgaG9zdD1IT1NULCBoYW5kbGVyX2NsYXNzPU5vbmUpOgogICAgIGlmIGNvbnRleHQgaXMgTm9uZToKLSAgICAgICAgY29udGV4dCA9IHNzbC5TU0xDb250ZXh0KHNzbC5QUk9UT0NPTF9TU0x2MjMpCisgICAgICAgIGNvbnRleHQgPSBzc2wuY3JlYXRlX2RlZmF1bHRfY29udGV4dChzc2wuUHVycG9zZS5DTElFTlRfQVVUSCkKICAgICAjIFdlIGFzc3VtZSB0aGUgY2VydGZpbGUgY29udGFpbnMgYm90aCBwcml2YXRlIGtleSBhbmQgY2VydGlmaWNhdGUKICAgICBjb250ZXh0LmxvYWRfY2VydF9jaGFpbihjZXJ0ZmlsZSkKICAgICBzZXJ2ZXIgPSBIVFRQU1NlcnZlclRocmVhZChjb250ZXh0LCBob3N0LCBoYW5kbGVyX2NsYXNzKQpAQCAtMTgyLDYgKzE4Miw4IEBACiAgICAgcGFyc2VyLmFkZF9hcmd1bWVudCgnLS1jdXJ2ZS1uYW1lJywgZGVzdD0nY3VydmVfbmFtZScsIHR5cGU9c3RyLAogICAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9uPSdzdG9yZScsCiAgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSdjdXJ2ZSBuYW1lIGZvciBFQy1iYXNlZCBEaWZmaWUtSGVsbG1hbicpCisgICAgcGFyc2VyLmFkZF9hcmd1bWVudCgnLS1jaXBoZXJzJywgZGVzdD0nY2lwaGVycycsIHR5cGU9c3RyLAorICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0nYWxsb3dlZCBjaXBoZXIgbGlzdCcpCiAgICAgcGFyc2VyLmFkZF9hcmd1bWVudCgnLS1kaCcsIGRlc3Q9J2RoX2ZpbGUnLCB0eXBlPXN0ciwgYWN0aW9uPSdzdG9yZScsCiAgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSdQRU0gZmlsZSBjb250YWluaW5nIERIIHBhcmFtZXRlcnMnKQogICAgIGFyZ3MgPSBwYXJzZXIucGFyc2VfYXJncygpCkBAIC0xOTIsMTIgKzE5NCwxNCBAQAogICAgIGVsc2U6CiAgICAgICAgIGhhbmRsZXJfY2xhc3MgPSBSb290ZWRIVFRQUmVxdWVzdEhhbmRsZXIKICAgICAgICAgaGFuZGxlcl9jbGFzcy5yb290ID0gb3MuZ2V0Y3dkKCkKLSAgICBjb250ZXh0ID0gc3NsLlNTTENvbnRleHQoc3NsLlBST1RPQ09MX1RMU3YxKQorICAgIGNvbnRleHQgPSBzc2wuY3JlYXRlX2RlZmF1bHRfY29udGV4dChzc2wuUHVycG9zZS5DTElFTlRfQVVUSCkKICAgICBjb250ZXh0LmxvYWRfY2VydF9jaGFpbihDRVJURklMRSkKICAgICBpZiBhcmdzLmN1cnZlX25hbWU6CiAgICAgICAgIGNvbnRleHQuc2V0X2VjZGhfY3VydmUoYXJncy5jdXJ2ZV9uYW1lKQogICAgIGlmIGFyZ3MuZGhfZmlsZToKICAgICAgICAgY29udGV4dC5sb2FkX2RoX3BhcmFtcyhhcmdzLmRoX2ZpbGUpCisgICAgaWYgYXJncy5jaXBoZXJzOgorICAgICAgICBjb250ZXh0LnNldF9jaXBoZXJzKGFyZ3MuY2lwaGVycykKIAogICAgIHNlcnZlciA9IEhUVFBTU2VydmVyKCgiIiwgYXJncy5wb3J0KSwgaGFuZGxlcl9jbGFzcywgY29udGV4dCkKICAgICBpZiBhcmdzLnZlcmJvc2U6CmRpZmYgLS1naXQgYS9MaWIvdGVzdC9zdHJpbmdfdGVzdHMucHkgYi9MaWIvdGVzdC9zdHJpbmdfdGVzdHMucHkKaW5kZXggMjQyYTkzMS4uNmUyNjQ3NCAxMDA2NDQKLS0tIGEvTGliL3Rlc3Qvc3RyaW5nX3Rlc3RzLnB5CisrKyBiL0xpYi90ZXN0L3N0cmluZ190ZXN0cy5weQpAQCAtMTE3Niw4ICsxMTc2LDcgQEAKICAgICAgICAgc2VsZi5jaGVja3JhaXNlcyhUeXBlRXJyb3IsICdhYmMnLCAnX19tb2RfXycpCiAgICAgICAgIHNlbGYuY2hlY2tyYWlzZXMoVHlwZUVycm9yLCAnJShmb28pcycsICdfX21vZF9fJywgNDIpCiAgICAgICAgIHNlbGYuY2hlY2tyYWlzZXMoVHlwZUVycm9yLCAnJXMlcycsICdfX21vZF9fJywgKDQyLCkpCi0gICAgICAgIHdpdGggc2VsZi5hc3NlcnRXYXJucyhEZXByZWNhdGlvbldhcm5pbmcpOgotICAgICAgICAgICAgc2VsZi5jaGVja3JhaXNlcyhUeXBlRXJyb3IsICclYycsICdfX21vZF9fJywgKE5vbmUsKSkKKyAgICAgICAgc2VsZi5jaGVja3JhaXNlcyhUeXBlRXJyb3IsICclYycsICdfX21vZF9fJywgKE5vbmUsKSkKICAgICAgICAgc2VsZi5jaGVja3JhaXNlcyhWYWx1ZUVycm9yLCAnJShmb28nLCAnX19tb2RfXycsIHt9KQogICAgICAgICBzZWxmLmNoZWNrcmFpc2VzKFR5cGVFcnJvciwgJyUoZm9vKXMgJShiYXIpcycsICdfX21vZF9fJywgKCdmb28nLCA0MikpCiAgICAgICAgIHNlbGYuY2hlY2tyYWlzZXMoVHlwZUVycm9yLCAnJWQnLCAnX19tb2RfXycsICI0MiIpICMgbm90IG51bWVyaWMKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3N1cHBvcnQvX19pbml0X18ucHkgYi9MaWIvdGVzdC9zdXBwb3J0L19faW5pdF9fLnB5CmluZGV4IGQ5ODA2OGMuLjIwNWM0N2MgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3N1cHBvcnQvX19pbml0X18ucHkKKysrIGIvTGliL3Rlc3Qvc3VwcG9ydC9fX2luaXRfXy5weQpAQCAtMTA0MCw3ICsxMDQwLDggQEAKICAgICAjIFZlcmlmeSB0aGUgcmVxdWlyZW1lbnQgYmVmb3JlIGRvd25sb2FkaW5nIHRoZSBmaWxlCiAgICAgcmVxdWlyZXMoJ3VybGZldGNoJykKIAotICAgIHByaW50KCdcdGZldGNoaW5nICVzIC4uLicgJSB1cmwsIGZpbGU9Z2V0X29yaWdpbmFsX3N0ZG91dCgpKQorICAgIGlmIHZlcmJvc2U6CisgICAgICAgIHByaW50KCdcdGZldGNoaW5nICVzIC4uLicgJSB1cmwsIGZpbGU9Z2V0X29yaWdpbmFsX3N0ZG91dCgpKQogICAgIG9wZW5lciA9IHVybGxpYi5yZXF1ZXN0LmJ1aWxkX29wZW5lcigpCiAgICAgaWYgZ3ppcDoKICAgICAgICAgb3BlbmVyLmFkZGhlYWRlcnMuYXBwZW5kKCgnQWNjZXB0LUVuY29kaW5nJywgJ2d6aXAnKSkKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfYXJncGFyc2UucHkgYi9MaWIvdGVzdC90ZXN0X2FyZ3BhcnNlLnB5CmluZGV4IDExNjRmM2YuLmQ3ZjkwY2QgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfYXJncGFyc2UucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9hcmdwYXJzZS5weQpAQCAtMjAsMTUgKzIwLDYgQEAKIAogY2xhc3MgVGVzdENhc2UodW5pdHRlc3QuVGVzdENhc2UpOgogCi0gICAgZGVmIGFzc2VydEVxdWFsKHNlbGYsIG9iajEsIG9iajIpOgotICAgICAgICBpZiBvYmoxICE9IG9iajI6Ci0gICAgICAgICAgICBwcmludCgnJykKLSAgICAgICAgICAgIHByaW50KHJlcHIob2JqMSkpCi0gICAgICAgICAgICBwcmludChyZXByKG9iajIpKQotICAgICAgICAgICAgcHJpbnQob2JqMSkKLSAgICAgICAgICAgIHByaW50KG9iajIpCi0gICAgICAgIHN1cGVyKFRlc3RDYXNlLCBzZWxmKS5hc3NlcnRFcXVhbChvYmoxLCBvYmoyKQotCiAgICAgZGVmIHNldFVwKHNlbGYpOgogICAgICAgICAjIFRoZSB0ZXN0cyBhc3N1bWUgdGhhdCBsaW5lIHdyYXBwaW5nIG9jY3VycyBhdCA4MCBjb2x1bW5zLCBidXQgdGhpcwogICAgICAgICAjIGJlaGF2aW91ciBjYW4gYmUgb3ZlcnJpZGRlbiBieSBzZXR0aW5nIHRoZSBDT0xVTU5TIGVudmlyb25tZW50CkBAIC03OCw5ICs2OSw2IEBACiAgICAgZGVmIF9fZXFfXyhzZWxmLCBvdGhlcik6CiAgICAgICAgIHJldHVybiB2YXJzKHNlbGYpID09IHZhcnMob3RoZXIpCiAKLSAgICBkZWYgX19uZV9fKHNlbGYsIG90aGVyKToKLSAgICAgICAgcmV0dXJuIG5vdCAoc2VsZiA9PSBvdGhlcikKLQogCiBjbGFzcyBBcmd1bWVudFBhcnNlckVycm9yKEV4Y2VwdGlvbik6CiAKQEAgLTc2NSw2ICs3NTMsMzkgQEAKICAgICBdCiAKIAorY2xhc3MgVGVzdE9wdGlvbmFsc0FsbG93TG9uZ0FiYnJldmlhdGlvbihQYXJzZXJUZXN0Q2FzZSk6CisgICAgIiIiQWxsb3cgbG9uZyBvcHRpb25zIHRvIGJlIGFiYnJldmlhdGVkIHVuYW1iaWd1b3VzbHkiIiIKKworICAgIGFyZ3VtZW50X3NpZ25hdHVyZXMgPSBbCisgICAgICAgIFNpZygnLS1mb28nKSwKKyAgICAgICAgU2lnKCctLWZvb2JheicpLAorICAgICAgICBTaWcoJy0tZm9vYmxlJywgYWN0aW9uPSdzdG9yZV90cnVlJyksCisgICAgXQorICAgIGZhaWx1cmVzID0gWyctLWZvb2IgNScsICctLWZvb2InXQorICAgIHN1Y2Nlc3NlcyA9IFsKKyAgICAgICAgKCcnLCBOUyhmb289Tm9uZSwgZm9vYmF6PU5vbmUsIGZvb2JsZT1GYWxzZSkpLAorICAgICAgICAoJy0tZm9vIDcnLCBOUyhmb289JzcnLCBmb29iYXo9Tm9uZSwgZm9vYmxlPUZhbHNlKSksCisgICAgICAgICgnLS1mb29iYSBhJywgTlMoZm9vPU5vbmUsIGZvb2Jhej0nYScsIGZvb2JsZT1GYWxzZSkpLAorICAgICAgICAoJy0tZm9vYmwgLS1mb28gZycsIE5TKGZvbz0nZycsIGZvb2Jhej1Ob25lLCBmb29ibGU9VHJ1ZSkpLAorICAgIF0KKworCitjbGFzcyBUZXN0T3B0aW9uYWxzRGlzYWxsb3dMb25nQWJicmV2aWF0aW9uKFBhcnNlclRlc3RDYXNlKToKKyAgICAiIiJEbyBub3QgYWxsb3cgYWJicmV2aWF0aW9ucyBvZiBsb25nIG9wdGlvbnMgYXQgYWxsIiIiCisKKyAgICBwYXJzZXJfc2lnbmF0dXJlID0gU2lnKGFsbG93X2FiYnJldj1GYWxzZSkKKyAgICBhcmd1bWVudF9zaWduYXR1cmVzID0gWworICAgICAgICBTaWcoJy0tZm9vJyksCisgICAgICAgIFNpZygnLS1mb29kbGUnLCBhY3Rpb249J3N0b3JlX3RydWUnKSwKKyAgICAgICAgU2lnKCctLWZvb25seScpLAorICAgIF0KKyAgICBmYWlsdXJlcyA9IFsnLWZvb24gMycsICctLWZvb24gMycsICctLWZvb2QnLCAnLS1mb29kIC0tZm9vIDInXQorICAgIHN1Y2Nlc3NlcyA9IFsKKyAgICAgICAgKCcnLCBOUyhmb289Tm9uZSwgZm9vZGxlPUZhbHNlLCBmb29ubHk9Tm9uZSkpLAorICAgICAgICAoJy0tZm9vIDMnLCBOUyhmb289JzMnLCBmb29kbGU9RmFsc2UsIGZvb25seT1Ob25lKSksCisgICAgICAgICgnLS1mb29ubHkgNyAtLWZvb2RsZSAtLWZvbyAyJywgTlMoZm9vPScyJywgZm9vZGxlPVRydWUsIGZvb25seT0nNycpKSwKKyAgICBdCisKICMgPT09PT09PT09PT09PT09PQogIyBQb3NpdGlvbmFsIHRlc3RzCiAjID09PT09PT09PT09PT09PT0KQEAgLTE5OTMsMTQgKzIwMTQsOSBAQAogICAgICAgICAgICAgJycnKSkKIAogICAgIGRlZiBfdGVzdF9zdWJwYXJzZXJfaGVscChzZWxmLCBhcmdzX3N0ciwgZXhwZWN0ZWRfaGVscCk6Ci0gICAgICAgIHRyeToKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhBcmd1bWVudFBhcnNlckVycm9yKSBhcyBjbToKICAgICAgICAgICAgIHNlbGYucGFyc2VyLnBhcnNlX2FyZ3MoYXJnc19zdHIuc3BsaXQoKSkKLSAgICAgICAgZXhjZXB0IEFyZ3VtZW50UGFyc2VyRXJyb3I6Ci0gICAgICAgICAgICBlcnIgPSBzeXMuZXhjX2luZm8oKVsxXQotICAgICAgICAgICAgaWYgZXJyLnN0ZG91dCAhPSBleHBlY3RlZF9oZWxwOgotICAgICAgICAgICAgICAgIHByaW50KHJlcHIoZXhwZWN0ZWRfaGVscCkpCi0gICAgICAgICAgICAgICAgcHJpbnQocmVwcihlcnIuc3Rkb3V0KSkKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZXJyLnN0ZG91dCwgZXhwZWN0ZWRfaGVscCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChleHBlY3RlZF9oZWxwLCBjbS5leGNlcHRpb24uc3Rkb3V0KQogCiAgICAgZGVmIHRlc3Rfc3VicGFyc2VyMV9oZWxwKHNlbGYpOgogICAgICAgICBzZWxmLl90ZXN0X3N1YnBhcnNlcl9oZWxwKCc1LjAgMSAtaCcsIHRleHR3cmFwLmRlZGVudCgnJydcCkBAIC0yODQ2LDE1ICsyODYyLDE1IEBACiAKICAgICBkZWYgdGVzdF9nZXRfZGVmYXVsdChzZWxmKToKICAgICAgICAgcGFyc2VyID0gRXJyb3JSYWlzaW5nQXJndW1lbnRQYXJzZXIoKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKE5vbmUsIHBhcnNlci5nZXRfZGVmYXVsdCgiZm9vIikpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoTm9uZSwgcGFyc2VyLmdldF9kZWZhdWx0KCJiYXIiKSkKKyAgICAgICAgc2VsZi5hc3NlcnRJc05vbmUocGFyc2VyLmdldF9kZWZhdWx0KCJmb28iKSkKKyAgICAgICAgc2VsZi5hc3NlcnRJc05vbmUocGFyc2VyLmdldF9kZWZhdWx0KCJiYXIiKSkKIAogICAgICAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCItLWZvbyIpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoTm9uZSwgcGFyc2VyLmdldF9kZWZhdWx0KCJmb28iKSkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChOb25lLCBwYXJzZXIuZ2V0X2RlZmF1bHQoImJhciIpKQorICAgICAgICBzZWxmLmFzc2VydElzTm9uZShwYXJzZXIuZ2V0X2RlZmF1bHQoImZvbyIpKQorICAgICAgICBzZWxmLmFzc2VydElzTm9uZShwYXJzZXIuZ2V0X2RlZmF1bHQoImJhciIpKQogCiAgICAgICAgIHBhcnNlci5hZGRfYXJndW1lbnQoIi0tYmFyIiwgdHlwZT1pbnQsIGRlZmF1bHQ9NDIpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoTm9uZSwgcGFyc2VyLmdldF9kZWZhdWx0KCJmb28iKSkKKyAgICAgICAgc2VsZi5hc3NlcnRJc05vbmUocGFyc2VyLmdldF9kZWZhdWx0KCJmb28iKSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCg0MiwgcGFyc2VyLmdldF9kZWZhdWx0KCJiYXIiKSkKIAogICAgICAgICBwYXJzZXIuc2V0X2RlZmF1bHRzKGZvbz0iYmFkZ2VyIikKQEAgLTI4NjksMTggKzI4ODUsMTYgQEAKIAogICAgIGRlZiB0ZXN0X2VtcHR5KHNlbGYpOgogICAgICAgICBucyA9IGFyZ3BhcnNlLk5hbWVzcGFjZSgpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoJycgaW4gbnMsIEZhbHNlKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCcnIG5vdCBpbiBucywgVHJ1ZSkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgneCcgaW4gbnMsIEZhbHNlKQorICAgICAgICBzZWxmLmFzc2VydE5vdEluKCcnLCBucykKKyAgICAgICAgc2VsZi5hc3NlcnROb3RJbigneCcsIG5zKQogCiAgICAgZGVmIHRlc3Rfbm9uX2VtcHR5KHNlbGYpOgogICAgICAgICBucyA9IGFyZ3BhcnNlLk5hbWVzcGFjZSh4PTEsIHk9MikKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgneCcgaW4gbnMsIFRydWUpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoJ3gnIG5vdCBpbiBucywgRmFsc2UpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoJ3knIGluIG5zLCBUcnVlKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCcnIGluIG5zLCBGYWxzZSkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgneHgnIGluIG5zLCBGYWxzZSkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgneicgaW4gbnMsIEZhbHNlKQorICAgICAgICBzZWxmLmFzc2VydE5vdEluKCcnLCBucykKKyAgICAgICAgc2VsZi5hc3NlcnRJbigneCcsIG5zKQorICAgICAgICBzZWxmLmFzc2VydEluKCd5JywgbnMpCisgICAgICAgIHNlbGYuYXNzZXJ0Tm90SW4oJ3h4JywgbnMpCisgICAgICAgIHNlbGYuYXNzZXJ0Tm90SW4oJ3onLCBucykKIAogIyA9PT09PT09PT09PT09PT09PT09PT0KICMgSGVscCBmb3JtYXR0aW5nIHRlc3RzCkBAIC0yOTM2LDEzICsyOTUwLDYgQEAKICAgICAgICAgICAgIGRlZiBfdGVzdChzZWxmLCB0ZXN0ZXIsIHBhcnNlcl90ZXh0KToKICAgICAgICAgICAgICAgICBleHBlY3RlZF90ZXh0ID0gZ2V0YXR0cih0ZXN0ZXIsIHNlbGYuZnVuY19zdWZmaXgpCiAgICAgICAgICAgICAgICAgZXhwZWN0ZWRfdGV4dCA9IHRleHR3cmFwLmRlZGVudChleHBlY3RlZF90ZXh0KQotICAgICAgICAgICAgICAgIGlmIGV4cGVjdGVkX3RleHQgIT0gcGFyc2VyX3RleHQ6Ci0gICAgICAgICAgICAgICAgICAgIHByaW50KHJlcHIoZXhwZWN0ZWRfdGV4dCkpCi0gICAgICAgICAgICAgICAgICAgIHByaW50KHJlcHIocGFyc2VyX3RleHQpKQotICAgICAgICAgICAgICAgICAgICBmb3IgY2hhcjEsIGNoYXIyIGluIHppcChleHBlY3RlZF90ZXh0LCBwYXJzZXJfdGV4dCk6Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiBjaGFyMSAhPSBjaGFyMjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmludCgnZmlyc3QgZGlmZjogJXIgJXInICUgKGNoYXIxLCBjaGFyMikpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWsKICAgICAgICAgICAgICAgICB0ZXN0ZXIuYXNzZXJ0RXF1YWwoZXhwZWN0ZWRfdGV4dCwgcGFyc2VyX3RleHQpCiAKICAgICAgICAgICAgIGRlZiB0ZXN0X2Zvcm1hdChzZWxmLCB0ZXN0ZXIpOgpAQCAtNDIyMywyNCArNDIzMCwxNyBAQAogICAgICAgICBzZWxmLmFzc2VydFZhbHVlRXJyb3IoJ2ZvbycsIGFjdGlvbj0nYmF6JykKICAgICAgICAgc2VsZi5hc3NlcnRWYWx1ZUVycm9yKCctLWZvbycsIGFjdGlvbj0oJ3N0b3JlJywgJ2FwcGVuZCcpKQogICAgICAgICBwYXJzZXIgPSBhcmdwYXJzZS5Bcmd1bWVudFBhcnNlcigpCi0gICAgICAgIHRyeToKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yKSBhcyBjbToKICAgICAgICAgICAgIHBhcnNlci5hZGRfYXJndW1lbnQoIi0tZm9vIiwgYWN0aW9uPSJzdG9yZS10cnVlIikKLSAgICAgICAgZXhjZXB0IFZhbHVlRXJyb3I6Ci0gICAgICAgICAgICBlID0gc3lzLmV4Y19pbmZvKClbMV0KLSAgICAgICAgICAgIGV4cGVjdGVkID0gJ3Vua25vd24gYWN0aW9uJwotICAgICAgICAgICAgbXNnID0gJ2V4cGVjdGVkICVyLCBmb3VuZCAlcicgJSAoZXhwZWN0ZWQsIGUpCi0gICAgICAgICAgICBzZWxmLmFzc2VydFRydWUoZXhwZWN0ZWQgaW4gc3RyKGUpLCBtc2cpCisgICAgICAgIHNlbGYuYXNzZXJ0SW4oJ3Vua25vd24gYWN0aW9uJywgc3RyKGNtLmV4Y2VwdGlvbikpCiAKICAgICBkZWYgdGVzdF9tdWx0aXBsZV9kZXN0KHNlbGYpOgogICAgICAgICBwYXJzZXIgPSBhcmdwYXJzZS5Bcmd1bWVudFBhcnNlcigpCiAgICAgICAgIHBhcnNlci5hZGRfYXJndW1lbnQoZGVzdD0nZm9vJykKLSAgICAgICAgdHJ5OgorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IpIGFzIGNtOgogICAgICAgICAgICAgcGFyc2VyLmFkZF9hcmd1bWVudCgnYmFyJywgZGVzdD0nYmF6JykKLSAgICAgICAgZXhjZXB0IFZhbHVlRXJyb3I6Ci0gICAgICAgICAgICBlID0gc3lzLmV4Y19pbmZvKClbMV0KLSAgICAgICAgICAgIGV4cGVjdGVkID0gJ2Rlc3Qgc3VwcGxpZWQgdHdpY2UgZm9yIHBvc2l0aW9uYWwgYXJndW1lbnQnCi0gICAgICAgICAgICBtc2cgPSAnZXhwZWN0ZWQgJXIsIGZvdW5kICVyJyAlIChleHBlY3RlZCwgZSkKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShleHBlY3RlZCBpbiBzdHIoZSksIG1zZykKKyAgICAgICAgc2VsZi5hc3NlcnRJbignZGVzdCBzdXBwbGllZCB0d2ljZSBmb3IgcG9zaXRpb25hbCBhcmd1bWVudCcsCisgICAgICAgICAgICAgICAgICAgICAgc3RyKGNtLmV4Y2VwdGlvbikpCiAKICAgICBkZWYgdGVzdF9ub19hcmd1bWVudF9hY3Rpb25zKHNlbGYpOgogICAgICAgICBmb3IgYWN0aW9uIGluIFsnc3RvcmVfY29uc3QnLCAnc3RvcmVfdHJ1ZScsICdzdG9yZV9mYWxzZScsCkBAIC00Mzk3LDE4ICs0Mzk3LDEwIEBACiBjbGFzcyBUZXN0T3B0aW9uYWxzSGVscFZlcnNpb25BY3Rpb25zKFRlc3RDYXNlKToKICAgICAiIiJUZXN0IHRoZSBoZWxwIGFuZCB2ZXJzaW9uIGFjdGlvbnMiIiIKIAotICAgIGRlZiBfZ2V0X2Vycm9yKHNlbGYsIGZ1bmMsICphcmdzLCAqKmt3YXJncyk6Ci0gICAgICAgIHRyeToKLSAgICAgICAgICAgIGZ1bmMoKmFyZ3MsICoqa3dhcmdzKQotICAgICAgICBleGNlcHQgQXJndW1lbnRQYXJzZXJFcnJvcjoKLSAgICAgICAgICAgIHJldHVybiBzeXMuZXhjX2luZm8oKVsxXQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoQXJndW1lbnRQYXJzZXJFcnJvciwgZnVuYywgKmFyZ3MsICoqa3dhcmdzKQotCiAgICAgZGVmIGFzc2VydFByaW50SGVscEV4aXQoc2VsZiwgcGFyc2VyLCBhcmdzX3N0cik6Ci0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCi0gICAgICAgICAgICBwYXJzZXIuZm9ybWF0X2hlbHAoKSwKLSAgICAgICAgICAgIHNlbGYuX2dldF9lcnJvcihwYXJzZXIucGFyc2VfYXJncywgYXJnc19zdHIuc3BsaXQoKSkuc3Rkb3V0KQorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKEFyZ3VtZW50UGFyc2VyRXJyb3IpIGFzIGNtOgorICAgICAgICAgICAgcGFyc2VyLnBhcnNlX2FyZ3MoYXJnc19zdHIuc3BsaXQoKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwYXJzZXIuZm9ybWF0X2hlbHAoKSwgY20uZXhjZXB0aW9uLnN0ZG91dCkKIAogICAgIGRlZiBhc3NlcnRBcmd1bWVudFBhcnNlckVycm9yKHNlbGYsIHBhcnNlciwgKmFyZ3MpOgogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhBcmd1bWVudFBhcnNlckVycm9yLCBwYXJzZXIucGFyc2VfYXJncywgYXJncykKQEAgLTQ0MjMsOCArNDQxNSw5IEBACiAgICAgZGVmIHRlc3RfdmVyc2lvbl9mb3JtYXQoc2VsZik6CiAgICAgICAgIHBhcnNlciA9IEVycm9yUmFpc2luZ0FyZ3VtZW50UGFyc2VyKHByb2c9J1BQUCcpCiAgICAgICAgIHBhcnNlci5hZGRfYXJndW1lbnQoJy12JywgJy0tdmVyc2lvbicsIGFjdGlvbj0ndmVyc2lvbicsIHZlcnNpb249JyUocHJvZylzIDMuNScpCi0gICAgICAgIG1zZyA9IHNlbGYuX2dldF9lcnJvcihwYXJzZXIucGFyc2VfYXJncywgWyctdiddKS5zdGRvdXQKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgnUFBQIDMuNVxuJywgbXNnKQorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKEFyZ3VtZW50UGFyc2VyRXJyb3IpIGFzIGNtOgorICAgICAgICAgICAgcGFyc2VyLnBhcnNlX2FyZ3MoWyctdiddKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCdQUFAgMy41XG4nLCBjbS5leGNlcHRpb24uc3Rkb3V0KQogCiAgICAgZGVmIHRlc3RfdmVyc2lvbl9ub19oZWxwKHNlbGYpOgogICAgICAgICBwYXJzZXIgPSBFcnJvclJhaXNpbmdBcmd1bWVudFBhcnNlcihhZGRfaGVscD1GYWxzZSkKQEAgLTQ0MzYsOCArNDQyOSw5IEBACiAgICAgZGVmIHRlc3RfdmVyc2lvbl9hY3Rpb24oc2VsZik6CiAgICAgICAgIHBhcnNlciA9IEVycm9yUmFpc2luZ0FyZ3VtZW50UGFyc2VyKHByb2c9J1hYWCcpCiAgICAgICAgIHBhcnNlci5hZGRfYXJndW1lbnQoJy1WJywgYWN0aW9uPSd2ZXJzaW9uJywgdmVyc2lvbj0nJShwcm9nKXMgMy43JykKLSAgICAgICAgbXNnID0gc2VsZi5fZ2V0X2Vycm9yKHBhcnNlci5wYXJzZV9hcmdzLCBbJy1WJ10pLnN0ZG91dAotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCdYWFggMy43XG4nLCBtc2cpCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoQXJndW1lbnRQYXJzZXJFcnJvcikgYXMgY206CisgICAgICAgICAgICBwYXJzZXIucGFyc2VfYXJncyhbJy1WJ10pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoJ1hYWCAzLjdcbicsIGNtLmV4Y2VwdGlvbi5zdGRvdXQpCiAKICAgICBkZWYgdGVzdF9ub19oZWxwKHNlbGYpOgogICAgICAgICBwYXJzZXIgPSBFcnJvclJhaXNpbmdBcmd1bWVudFBhcnNlcihhZGRfaGVscD1GYWxzZSkKQEAgLTQ2MDcsMTQgKzQ2MDEsMTAgQEAKIAogICAgICAgICBwYXJzZXIgPSBFcnJvclJhaXNpbmdBcmd1bWVudFBhcnNlcihwcm9nPSdQUk9HJywgYWRkX2hlbHA9RmFsc2UpCiAgICAgICAgIHBhcnNlci5hZGRfYXJndW1lbnQoJ3gnLCB0eXBlPXNwYW0pCi0gICAgICAgIHRyeToKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhBcmd1bWVudFBhcnNlckVycm9yKSBhcyBjbToKICAgICAgICAgICAgIHBhcnNlci5wYXJzZV9hcmdzKFsnWFhYJ10pCi0gICAgICAgIGV4Y2VwdCBBcmd1bWVudFBhcnNlckVycm9yOgotICAgICAgICAgICAgZXhwZWN0ZWQgPSAndXNhZ2U6IFBST0cgeFxuUFJPRzogZXJyb3I6IGFyZ3VtZW50IHg6IHNwYW0hXG4nCi0gICAgICAgICAgICBtc2cgPSBzeXMuZXhjX2luZm8oKVsxXS5zdGRlcnIKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZXhwZWN0ZWQsIG1zZykKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHNlbGYuZmFpbCgpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoJ3VzYWdlOiBQUk9HIHhcblBST0c6IGVycm9yOiBhcmd1bWVudCB4OiBzcGFtIVxuJywKKyAgICAgICAgICAgICAgICAgICAgICAgICBjbS5leGNlcHRpb24uc3RkZXJyKQogCiAjID09PT09PT09PT09PT09PT09PT09PT09PT0KICMgTWVzc2FnZUNvbnRlbnRFcnJvciB0ZXN0cwpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9hcnJheS5weSBiL0xpYi90ZXN0L3Rlc3RfYXJyYXkucHkKaW5kZXggMDdjOWJmOS4uMTBkOTk0NiAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9hcnJheS5weQorKysgYi9MaWIvdGVzdC90ZXN0X2FycmF5LnB5CkBAIC0zOTQsNyArMzk0LDkgQEAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChhLCBiKQogCiAgICAgZGVmIHRlc3RfdG9mcm9tc3RyaW5nKHNlbGYpOgotICAgICAgICBuYl93YXJuaW5ncyA9IDQKKyAgICAgICAgIyBXYXJuaW5ncyBub3QgcmFpc2VkIHdoZW4gYXJndW1lbnRzIGFyZSBpbmNvcnJlY3QgYXMgQXJndW1lbnQgQ2xpbmljCisgICAgICAgICMgaGFuZGxlcyB0aGF0IGJlZm9yZSB0aGUgd2FybmluZyBjYW4gYmUgcmFpc2VkLgorICAgICAgICBuYl93YXJuaW5ncyA9IDIKICAgICAgICAgd2l0aCB3YXJuaW5ncy5jYXRjaF93YXJuaW5ncyhyZWNvcmQ9VHJ1ZSkgYXMgcjoKICAgICAgICAgICAgIHdhcm5pbmdzLmZpbHRlcndhcm5pbmdzKCJhbHdheXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZT1yIih0b3xmcm9tKXN0cmluZ1woXCkgaXMgZGVwcmVjYXRlZCIsCkBAIC0xMDM5LDYgKzEwNDEsMTEgQEAKICAgICAgICAgICAgIGEgPSBhcnJheS5hcnJheShzZWxmLnR5cGVjb2RlLCAiZm9vIikKICAgICAgICAgICAgIGEgPSBhcnJheS5hcnJheShzZWxmLnR5cGVjb2RlLCBhcnJheS5hcnJheSgndScsICdmb28nKSkKIAorICAgIEBzdXBwb3J0LmNweXRob25fb25seQorICAgIGRlZiB0ZXN0X29ic29sZXRlX3dyaXRlX2xvY2soc2VsZik6CisgICAgICAgIGZyb20gX3Rlc3RjYXBpIGltcG9ydCBnZXRidWZmZXJfd2l0aF9udWxsX3ZpZXcKKyAgICAgICAgYSA9IGFycmF5LmFycmF5KCdCJywgYiIiKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhCdWZmZXJFcnJvciwgZ2V0YnVmZmVyX3dpdGhfbnVsbF92aWV3LCBhKQogCiBjbGFzcyBTdHJpbmdUZXN0KEJhc2VUZXN0KToKIApkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9hc2RsX3BhcnNlci5weSBiL0xpYi90ZXN0L3Rlc3RfYXNkbF9wYXJzZXIucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2E2NDI2YQotLS0gL2Rldi9udWxsCisrKyBiL0xpYi90ZXN0L3Rlc3RfYXNkbF9wYXJzZXIucHkKQEAgLTAsMCArMSwxMjIgQEAKKyIiIlRlc3RzIGZvciB0aGUgYXNkbCBwYXJzZXIgaW4gUGFyc2VyL2FzZGwucHkiIiIKKworaW1wb3J0IGltcG9ydGxpYi5tYWNoaW5lcnkKK2ltcG9ydCBvcworZnJvbSBvcy5wYXRoIGltcG9ydCBkaXJuYW1lCitpbXBvcnQgc3lzCitpbXBvcnQgc3lzY29uZmlnCitpbXBvcnQgdW5pdHRlc3QKKworCisjIFRoaXMgdGVzdCBpcyBvbmx5IHJlbGV2YW50IGZvciBmcm9tLXNvdXJjZSBidWlsZHMgb2YgUHl0aG9uLgoraWYgbm90IHN5c2NvbmZpZy5pc19weXRob25fYnVpbGQoKToKKyAgICByYWlzZSB1bml0dGVzdC5Ta2lwVGVzdCgndGVzdCBpcnJlbGV2YW50IGZvciBhbiBpbnN0YWxsZWQgUHl0aG9uJykKKworc3JjX2Jhc2UgPSBkaXJuYW1lKGRpcm5hbWUoZGlybmFtZShfX2ZpbGVfXykpKQorcGFyc2VyX2RpciA9IG9zLnBhdGguam9pbihzcmNfYmFzZSwgJ1BhcnNlcicpCisKKworY2xhc3MgVGVzdEFzZGxQYXJzZXIodW5pdHRlc3QuVGVzdENhc2UpOgorICAgIEBjbGFzc21ldGhvZAorICAgIGRlZiBzZXRVcENsYXNzKGNscyk6CisgICAgICAgICMgTG9hZHMgdGhlIGFzZGwgbW9kdWxlIGR5bmFtaWNhbGx5LCBzaW5jZSBpdCdzIG5vdCBpbiBhIHJlYWwgaW1wb3J0YWJsZQorICAgICAgICAjIHBhY2thZ2UuCisgICAgICAgICMgUGFyc2VzIFB5dGhvbi5hc2RsIGludG8gYSBhc3QuTW9kdWxlIGFuZCBydW4gdGhlIGNoZWNrIG9uIGl0LgorICAgICAgICAjIFRoZXJlJ3Mgbm8gbmVlZCB0byBkbyB0aGlzIGZvciBlYWNoIHRlc3QgbWV0aG9kLCBoZW5jZSBzZXRVcENsYXNzLgorICAgICAgICBzeXMucGF0aC5pbnNlcnQoMCwgcGFyc2VyX2RpcikKKyAgICAgICAgbG9hZGVyID0gaW1wb3J0bGliLm1hY2hpbmVyeS5Tb3VyY2VGaWxlTG9hZGVyKAorICAgICAgICAgICAgICAgICdhc2RsJywgb3MucGF0aC5qb2luKHBhcnNlcl9kaXIsICdhc2RsLnB5JykpCisgICAgICAgIGNscy5hc2RsID0gbG9hZGVyLmxvYWRfbW9kdWxlKCkKKyAgICAgICAgY2xzLm1vZCA9IGNscy5hc2RsLnBhcnNlKG9zLnBhdGguam9pbihwYXJzZXJfZGlyLCAnUHl0aG9uLmFzZGwnKSkKKyAgICAgICAgY2xzLmFzc2VydFRydWUoY2xzLmFzZGwuY2hlY2soY2xzLm1vZCksICdNb2R1bGUgdmFsaWRhdGlvbiBmYWlsZWQnKQorCisgICAgQGNsYXNzbWV0aG9kCisgICAgZGVmIHRlYXJEb3duQ2xhc3MoY2xzKToKKyAgICAgICAgZGVsIHN5cy5wYXRoWzBdCisKKyAgICBkZWYgc2V0VXAoc2VsZik6CisgICAgICAgICMgYWxpYXMgc3R1ZmYgZnJvbSB0aGUgY2xhc3MsIGZvciBjb252ZW5pZW5jZQorICAgICAgICBzZWxmLmFzZGwgPSBUZXN0QXNkbFBhcnNlci5hc2RsCisgICAgICAgIHNlbGYubW9kID0gVGVzdEFzZGxQYXJzZXIubW9kCisgICAgICAgIHNlbGYudHlwZXMgPSBzZWxmLm1vZC50eXBlcworCisgICAgZGVmIHRlc3RfbW9kdWxlKHNlbGYpOgorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYubW9kLm5hbWUsICdQeXRob24nKQorICAgICAgICBzZWxmLmFzc2VydEluKCdzdG10Jywgc2VsZi50eXBlcykKKyAgICAgICAgc2VsZi5hc3NlcnRJbignZXhwcicsIHNlbGYudHlwZXMpCisgICAgICAgIHNlbGYuYXNzZXJ0SW4oJ21vZCcsIHNlbGYudHlwZXMpCisKKyAgICBkZWYgdGVzdF9kZWZpbml0aW9ucyhzZWxmKToKKyAgICAgICAgZGVmcyA9IHNlbGYubW9kLmRmbnMKKyAgICAgICAgc2VsZi5hc3NlcnRJc0luc3RhbmNlKGRlZnNbMF0sIHNlbGYuYXNkbC5UeXBlKQorICAgICAgICBzZWxmLmFzc2VydElzSW5zdGFuY2UoZGVmc1swXS52YWx1ZSwgc2VsZi5hc2RsLlN1bSkKKworICAgICAgICBzZWxmLmFzc2VydElzSW5zdGFuY2Uoc2VsZi50eXBlc1snd2l0aGl0ZW0nXSwgc2VsZi5hc2RsLlByb2R1Y3QpCisgICAgICAgIHNlbGYuYXNzZXJ0SXNJbnN0YW5jZShzZWxmLnR5cGVzWydhbGlhcyddLCBzZWxmLmFzZGwuUHJvZHVjdCkKKworICAgIGRlZiB0ZXN0X3Byb2R1Y3Qoc2VsZik6CisgICAgICAgIGFsaWFzID0gc2VsZi50eXBlc1snYWxpYXMnXQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKAorICAgICAgICAgICAgc3RyKGFsaWFzKSwKKyAgICAgICAgICAgICdQcm9kdWN0KFtGaWVsZChpZGVudGlmaWVyLCBuYW1lKSwgRmllbGQoaWRlbnRpZmllciwgYXNuYW1lLCBvcHQ9VHJ1ZSldKScpCisKKyAgICBkZWYgdGVzdF9hdHRyaWJ1dGVzKHNlbGYpOgorICAgICAgICBzdG10ID0gc2VsZi50eXBlc1snc3RtdCddCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKHN0bXQuYXR0cmlidXRlcyksIDIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RyKHN0bXQuYXR0cmlidXRlc1swXSksICdGaWVsZChpbnQsIGxpbmVubyknKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0cihzdG10LmF0dHJpYnV0ZXNbMV0pLCAnRmllbGQoaW50LCBjb2xfb2Zmc2V0KScpCisKKyAgICBkZWYgdGVzdF9jb25zdHJ1Y3Rvcl9maWVsZHMoc2VsZik6CisgICAgICAgIGVoYW5kbGVyID0gc2VsZi50eXBlc1snZXhjZXB0aGFuZGxlciddCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKGVoYW5kbGVyLnR5cGVzKSwgMSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4oZWhhbmRsZXIuYXR0cmlidXRlcyksIDIpCisKKyAgICAgICAgY29ucyA9IGVoYW5kbGVyLnR5cGVzWzBdCisgICAgICAgIHNlbGYuYXNzZXJ0SXNJbnN0YW5jZShjb25zLCBzZWxmLmFzZGwuQ29uc3RydWN0b3IpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKGNvbnMuZmllbGRzKSwgMykKKworICAgICAgICBmMCA9IGNvbnMuZmllbGRzWzBdCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZjAudHlwZSwgJ2V4cHInKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGYwLm5hbWUsICd0eXBlJykKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGYwLm9wdCkKKworICAgICAgICBmMSA9IGNvbnMuZmllbGRzWzFdCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZjEudHlwZSwgJ2lkZW50aWZpZXInKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGYxLm5hbWUsICduYW1lJykKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGYxLm9wdCkKKworICAgICAgICBmMiA9IGNvbnMuZmllbGRzWzJdCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZjIudHlwZSwgJ3N0bXQnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGYyLm5hbWUsICdib2R5JykKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShmMi5vcHQpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShmMi5zZXEpCisKKyAgICBkZWYgdGVzdF92aXNpdG9yKHNlbGYpOgorICAgICAgICBjbGFzcyBDdXN0b21WaXNpdG9yKHNlbGYuYXNkbC5WaXNpdG9yQmFzZSk6CisgICAgICAgICAgICBkZWYgX19pbml0X18oc2VsZik6CisgICAgICAgICAgICAgICAgc3VwZXIoKS5fX2luaXRfXygpCisgICAgICAgICAgICAgICAgc2VsZi5uYW1lc193aXRoX3NlcSA9IFtdCisKKyAgICAgICAgICAgIGRlZiB2aXNpdE1vZHVsZShzZWxmLCBtb2QpOgorICAgICAgICAgICAgICAgIGZvciBkZm4gaW4gbW9kLmRmbnM6CisgICAgICAgICAgICAgICAgICAgIHNlbGYudmlzaXQoZGZuKQorCisgICAgICAgICAgICBkZWYgdmlzaXRUeXBlKHNlbGYsIHR5cGUpOgorICAgICAgICAgICAgICAgIHNlbGYudmlzaXQodHlwZS52YWx1ZSkKKworICAgICAgICAgICAgZGVmIHZpc2l0U3VtKHNlbGYsIHN1bSk6CisgICAgICAgICAgICAgICAgZm9yIHQgaW4gc3VtLnR5cGVzOgorICAgICAgICAgICAgICAgICAgICBzZWxmLnZpc2l0KHQpCisKKyAgICAgICAgICAgIGRlZiB2aXNpdENvbnN0cnVjdG9yKHNlbGYsIGNvbnMpOgorICAgICAgICAgICAgICAgIGZvciBmIGluIGNvbnMuZmllbGRzOgorICAgICAgICAgICAgICAgICAgICBpZiBmLnNlcToKKyAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYubmFtZXNfd2l0aF9zZXEuYXBwZW5kKGNvbnMubmFtZSkKKworICAgICAgICB2ID0gQ3VzdG9tVmlzaXRvcigpCisgICAgICAgIHYudmlzaXQoc2VsZi50eXBlc1snbW9kJ10pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodi5uYW1lc193aXRoX3NlcSwgWydNb2R1bGUnLCAnSW50ZXJhY3RpdmUnLCAnU3VpdGUnXSkKKworCitpZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgorICAgIHVuaXR0ZXN0Lm1haW4oKQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9hc3luY2hhdC5weSBiL0xpYi90ZXN0L3Rlc3RfYXN5bmNoYXQucHkKaW5kZXggMmRjOWQwYy4uM2EzM2ZjOCAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9hc3luY2hhdC5weQorKysgYi9MaWIvdGVzdC90ZXN0X2FzeW5jaGF0LnB5CkBAIC0xMiw2ICsxMiw3IEBACiBpbXBvcnQgc3lzCiBpbXBvcnQgdGltZQogaW1wb3J0IHVuaXR0ZXN0CitpbXBvcnQgd2FybmluZ3MKIGltcG9ydCB1bml0dGVzdC5tb2NrCiB0cnk6CiAgICAgaW1wb3J0IHRocmVhZGluZwpAQCAtMzgsNyArMzksNyBAQAogICAgICAgICAgICAgc2VsZi5zdGFydF9yZXNlbmRfZXZlbnQgPSBOb25lCiAKICAgICAgICAgZGVmIHJ1bihzZWxmKToKLSAgICAgICAgICAgIHNlbGYuc29jay5saXN0ZW4oMSkKKyAgICAgICAgICAgIHNlbGYuc29jay5saXN0ZW4oKQogICAgICAgICAgICAgc2VsZi5ldmVudC5zZXQoKQogICAgICAgICAgICAgY29ubiwgY2xpZW50ID0gc2VsZi5zb2NrLmFjY2VwdCgpCiAgICAgICAgICAgICBzZWxmLmJ1ZmZlciA9IGIiIgpAQCAtMjk4LDcgKzI5OSwxMCBAQAogCiBjbGFzcyBUZXN0Rmlmbyh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgZGVmIHRlc3RfYmFzaWMoc2VsZik6Ci0gICAgICAgIGYgPSBhc3luY2hhdC5maWZvKCkKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFdhcm5zKERlcHJlY2F0aW9uV2FybmluZykgYXMgY206CisgICAgICAgICAgICBmID0gYXN5bmNoYXQuZmlmbygpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RyKGNtLndhcm5pbmcpLAorICAgICAgICAgICAgICAgICAgICAgICAgICJmaWZvIGNsYXNzIHdpbGwgYmUgcmVtb3ZlZCBpbiBQeXRob24gMy42IikKICAgICAgICAgZi5wdXNoKDcpCiAgICAgICAgIGYucHVzaChiJ2EnKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihmKSwgMikKQEAgLTMxMyw3ICszMTcsMTAgQEAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChmLnBvcCgpLCAoMCwgTm9uZSkpCiAKICAgICBkZWYgdGVzdF9naXZlbl9saXN0KHNlbGYpOgotICAgICAgICBmID0gYXN5bmNoYXQuZmlmbyhbYid4JywgMTcsIDNdKQorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0V2FybnMoRGVwcmVjYXRpb25XYXJuaW5nKSBhcyBjbToKKyAgICAgICAgICAgIGYgPSBhc3luY2hhdC5maWZvKFtiJ3gnLCAxNywgM10pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RyKGNtLndhcm5pbmcpLAorICAgICAgICAgICAgICAgICAgICAgICAgICJmaWZvIGNsYXNzIHdpbGwgYmUgcmVtb3ZlZCBpbiBQeXRob24gMy42IikKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4oZiksIDMpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZi5wb3AoKSwgKDEsIGIneCcpKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGYucG9wKCksICgxLCAxNykpCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2FzeW5jb3JlLnB5IGIvTGliL3Rlc3QvdGVzdF9hc3luY29yZS5weQppbmRleCBkNDQ3MjZkLi4zODU3OTE2IDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2FzeW5jb3JlLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfYXN5bmNvcmUucHkKQEAgLTcsNyArNyw2IEBACiBpbXBvcnQgdGltZQogaW1wb3J0IGVycm5vCiBpbXBvcnQgc3RydWN0Ci1pbXBvcnQgd2FybmluZ3MKIAogZnJvbSB0ZXN0IGltcG9ydCBzdXBwb3J0CiBmcm9tIGlvIGltcG9ydCBCeXRlc0lPCkBAIC02NSw3ICs2NCw3IEBACiAjIHVzZWQgd2hlbiB0ZXN0aW5nIHNlbmRlcnM7IGp1c3QgY29sbGVjdHMgd2hhdCBpdCBnZXRzIHVudGlsIG5ld2xpbmUgaXMgc2VudAogZGVmIGNhcHR1cmVfc2VydmVyKGV2dCwgYnVmLCBzZXJ2KToKICAgICB0cnk6Ci0gICAgICAgIHNlcnYubGlzdGVuKDUpCisgICAgICAgIHNlcnYubGlzdGVuKCkKICAgICAgICAgY29ubiwgYWRkciA9IHNlcnYuYWNjZXB0KCkKICAgICBleGNlcHQgc29ja2V0LnRpbWVvdXQ6CiAgICAgICAgIHBhc3MKQEAgLTI5OCwyMyArMjk3LDYgQEAKICAgICAgICAgICAgICAgICAgICAgJ3dhcm5pbmc6IHVuaGFuZGxlZCBjb25uZWN0IGV2ZW50J10KICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsaW5lcywgZXhwZWN0ZWQpCiAKLSAgICBkZWYgdGVzdF9pc3N1ZV84NTk0KHNlbGYpOgotICAgICAgICAjIFhYWCAtIHRoaXMgdGVzdCBpcyBzdXBwb3NlZCB0byBiZSByZW1vdmVkIGluIG5leHQgbWFqb3IgUHl0aG9uCi0gICAgICAgICMgdmVyc2lvbgotICAgICAgICBkID0gYXN5bmNvcmUuZGlzcGF0Y2hlcihzb2NrZXQuc29ja2V0KCkpCi0gICAgICAgICMgbWFrZSBzdXJlIHRoZSBlcnJvciBtZXNzYWdlIG5vIGxvbmdlciByZWZlcnMgdG8gdGhlIHNvY2tldAotICAgICAgICAjIG9iamVjdCBidXQgdGhlIGRpc3BhdGNoZXIgaW5zdGFuY2UgaW5zdGVhZAotICAgICAgICBzZWxmLmFzc2VydFJhaXNlc1JlZ2V4KEF0dHJpYnV0ZUVycm9yLCAnZGlzcGF0Y2hlciBpbnN0YW5jZScsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0YXR0ciwgZCwgJ2ZvbycpCi0gICAgICAgICMgY2hlYXAgaW5oZXJpdGFuY2Ugd2l0aCB0aGUgdW5kZXJseWluZyBzb2NrZXQgaXMgc3VwcG9zZWQKLSAgICAgICAgIyB0byBzdGlsbCB3b3JrIGJ1dCBhIERlcHJlY2F0aW9uV2FybmluZyBpcyBleHBlY3RlZAotICAgICAgICB3aXRoIHdhcm5pbmdzLmNhdGNoX3dhcm5pbmdzKHJlY29yZD1UcnVlKSBhcyB3OgotICAgICAgICAgICAgd2FybmluZ3Muc2ltcGxlZmlsdGVyKCJhbHdheXMiKQotICAgICAgICAgICAgZmFtaWx5ID0gZC5mYW1pbHkKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZmFtaWx5LCBzb2NrZXQuQUZfSU5FVCkKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKHcpLCAxKQotICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGlzc3ViY2xhc3Mod1swXS5jYXRlZ29yeSwgRGVwcmVjYXRpb25XYXJuaW5nKSkKLQogICAgIGRlZiB0ZXN0X3N0cmVycm9yKHNlbGYpOgogICAgICAgICAjIHJlZmVycyB0byBidWcgIzg1NzMKICAgICAgICAgZXJyID0gYXN5bmNvcmUuX3N0cmVycm9yKGVycm5vLkVQRVJNKQpAQCAtMzMxLDkgKzMxMyw4IEBACiAgICAgZGVmIGhhbmRsZV9jb25uZWN0KHNlbGYpOgogICAgICAgICBwYXNzCiAKLWNsYXNzIERpc3BhdGNoZXJXaXRoU2VuZFRlc3RzKHVuaXR0ZXN0LlRlc3RDYXNlKToKLSAgICB1c2Vwb2xsID0gRmFsc2UKIAorY2xhc3MgRGlzcGF0Y2hlcldpdGhTZW5kVGVzdHModW5pdHRlc3QuVGVzdENhc2UpOgogICAgIGRlZiBzZXRVcChzZWxmKToKICAgICAgICAgcGFzcwogCkBAIC0zODMsMTAgKzM2NCw2IEBACiAgICAgICAgICAgICAgICAgc2VsZi5mYWlsKCJqb2luKCkgdGltZWQgb3V0IikKIAogCi0KLWNsYXNzIERpc3BhdGNoZXJXaXRoU2VuZFRlc3RzX1VzZVBvbGwoRGlzcGF0Y2hlcldpdGhTZW5kVGVzdHMpOgotICAgIHVzZXBvbGwgPSBUcnVlCi0KIEB1bml0dGVzdC5za2lwVW5sZXNzKGhhc2F0dHIoYXN5bmNvcmUsICdmaWxlX3dyYXBwZXInKSwKICAgICAgICAgICAgICAgICAgICAgICdhc3luY29yZS5maWxlX3dyYXBwZXIgcmVxdWlyZWQnKQogY2xhc3MgRmlsZVdyYXBwZXJUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfYXVnYXNzaWduLnB5IGIvTGliL3Rlc3QvdGVzdF9hdWdhc3NpZ24ucHkKaW5kZXggOWE1OWM1OC4uMTliNzY4NyAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9hdWdhc3NpZ24ucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9hdWdhc3NpZ24ucHkKQEAgLTEzNiw2ICsxMzYsMTQgQEAKICAgICAgICAgICAgICAgICBvdXRwdXQuYXBwZW5kKCJfX2ltdWxfXyBjYWxsZWQiKQogICAgICAgICAgICAgICAgIHJldHVybiBzZWxmCiAKKyAgICAgICAgICAgIGRlZiBfX21hdG11bF9fKHNlbGYsIHZhbCk6CisgICAgICAgICAgICAgICAgb3V0cHV0LmFwcGVuZCgiX19tYXRtdWxfXyBjYWxsZWQiKQorICAgICAgICAgICAgZGVmIF9fcm1hdG11bF9fKHNlbGYsIHZhbCk6CisgICAgICAgICAgICAgICAgb3V0cHV0LmFwcGVuZCgiX19ybWF0bXVsX18gY2FsbGVkIikKKyAgICAgICAgICAgIGRlZiBfX2ltYXRtdWxfXyhzZWxmLCB2YWwpOgorICAgICAgICAgICAgICAgIG91dHB1dC5hcHBlbmQoIl9faW1hdG11bF9fIGNhbGxlZCIpCisgICAgICAgICAgICAgICAgcmV0dXJuIHNlbGYKKwogICAgICAgICAgICAgZGVmIF9fZGl2X18oc2VsZiwgdmFsKToKICAgICAgICAgICAgICAgICBvdXRwdXQuYXBwZW5kKCJfX2Rpdl9fIGNhbGxlZCIpCiAgICAgICAgICAgICBkZWYgX19yZGl2X18oc2VsZiwgdmFsKToKQEAgLTIzMyw2ICsyNDEsMTAgQEAKICAgICAgICAgMSAqIHgKICAgICAgICAgeCAqPSAxCiAKKyAgICAgICAgeCBAIDEKKyAgICAgICAgMSBAIHgKKyAgICAgICAgeCBAPSAxCisKICAgICAgICAgeCAvIDEKICAgICAgICAgMSAvIHgKICAgICAgICAgeCAvPSAxCkBAIC0yNzksNiArMjkxLDkgQEAKIF9fbXVsX18gY2FsbGVkCiBfX3JtdWxfXyBjYWxsZWQKIF9faW11bF9fIGNhbGxlZAorX19tYXRtdWxfXyBjYWxsZWQKK19fcm1hdG11bF9fIGNhbGxlZAorX19pbWF0bXVsX18gY2FsbGVkCiBfX3RydWVkaXZfXyBjYWxsZWQKIF9fcnRydWVkaXZfXyBjYWxsZWQKIF9faXRydWVkaXZfXyBjYWxsZWQKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfYnVmZmVyLnB5IGIvTGliL3Rlc3QvdGVzdF9idWZmZXIucHkKaW5kZXggMTY2Nzg0Ny4uMDk3NmZhOSAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9idWZmZXIucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9idWZmZXIucHkKQEAgLTIxNiw3ICsyMTYsNyBAQAogICAgIGZvciB0IGluIGl0ZXJfbW9kZShuaXRlbXMsIHRlc3RvYmopOgogICAgICAgICB5aWVsZCB0CiAgICAgaWYgdGVzdG9iaiAhPSAnbmRhcnJheSc6Ci0gICAgICAgIHJhaXNlIFN0b3BJdGVyYXRpb24KKyAgICAgICAgcmV0dXJuCiAgICAgeWllbGQgc3RydWN0X2l0ZW1zKG5pdGVtcywgdGVzdG9iaikKIAogCkBAIC0xMDA3LDYgKzEwMDcsNyBAQAogICAgICAgICAjIHNoYXBlLCBzdHJpZGVzLCBvZmZzZXQKICAgICAgICAgc3RydWN0dXJlID0gKAogICAgICAgICAgICAgKFtdLCBbXSwgMCksCisgICAgICAgICAgICAoWzEsMywxXSwgW10sIDApLAogICAgICAgICAgICAgKFsxMl0sIFtdLCAwKSwKICAgICAgICAgICAgIChbMTJdLCBbLTFdLCAxMSksCiAgICAgICAgICAgICAoWzZdLCBbMl0sIDApLApAQCAtMTA3OCw2ICsxMDc5LDE4IEBACiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKEJ1ZmZlckVycm9yLCBuZGFycmF5LCBleCwgZ2V0YnVmPVB5QlVGX0FOWV9DT05USUdVT1VTKQogICAgICAgICBuZCA9IG5kYXJyYXkoZXgsIGdldGJ1Zj1QeUJVRl9TSU1QTEUpCiAKKyAgICAgICAgIyBJc3N1ZSAjMjI0NDU6IE5ldyBwcmVjaXNlIGNvbnRpZ3VpdHkgZGVmaW5pdGlvbi4KKyAgICAgICAgZm9yIHNoYXBlIGluIFsxLDEyLDFdLCBbNywwLDddOgorICAgICAgICAgICAgZm9yIG9yZGVyIGluIDAsIE5EX0ZPUlRSQU46CisgICAgICAgICAgICAgICAgZXggPSBuZGFycmF5KGl0ZW1zLCBzaGFwZT1zaGFwZSwgZmxhZ3M9b3JkZXJ8TkRfV1JJVEFCTEUpCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGlzX2NvbnRpZ3VvdXMoZXgsICdGJykpCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGlzX2NvbnRpZ3VvdXMoZXgsICdDJykpCisKKyAgICAgICAgICAgICAgICBmb3IgZmxhZ3MgaW4gcmVxdWVzdHM6CisgICAgICAgICAgICAgICAgICAgIG5kID0gbmRhcnJheShleCwgZ2V0YnVmPWZsYWdzKQorICAgICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUoaXNfY29udGlndW91cyhuZCwgJ0YnKSkKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGlzX2NvbnRpZ3VvdXMobmQsICdDJykpCisKICAgICBkZWYgdGVzdF9uZGFycmF5X2V4Y2VwdGlvbnMoc2VsZik6CiAgICAgICAgIG5kID0gbmRhcnJheShbOV0sIFsxXSkKICAgICAgICAgbmRtID0gbmRhcnJheShbOV0sIFsxXSwgZmxhZ3M9TkRfVkFSRVhQT1JUKQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9idWlsdGluLnB5IGIvTGliL3Rlc3QvdGVzdF9idWlsdGluLnB5CmluZGV4IDE0MzY2YzYuLjYxNjZkYTUgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfYnVpbHRpbi5weQorKysgYi9MaWIvdGVzdC90ZXN0X2J1aWx0aW4ucHkKQEAgLTMxMiwxMSArMzEyLDExIEBACiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgY29tcGlsZSkKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgY29tcGlsZSwgJ3ByaW50KDQyKVxuJywgJzxzdHJpbmc+JywgJ2JhZG1vZGUnKQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBjb21waWxlLCAncHJpbnQoNDIpXG4nLCAnPHN0cmluZz4nLCAnc2luZ2xlJywgMHhmZikKLSAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBjb21waWxlLCBjaHIoMCksICdmJywgJ2V4ZWMnKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBjb21waWxlLCBjaHIoMCksICdmJywgJ2V4ZWMnKQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIGNvbXBpbGUsICdwYXNzJywgJz8nLCAnZXhlYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vZGU9J2V2YWwnLCBzb3VyY2U9JzAnLCBmaWxlbmFtZT0ndG1wJykKICAgICAgICAgY29tcGlsZSgncHJpbnQoIlx4ZTUiKVxuJywgJycsICdleGVjJykKLSAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBjb21waWxlLCBjaHIoMCksICdmJywgJ2V4ZWMnKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBjb21waWxlLCBjaHIoMCksICdmJywgJ2V4ZWMnKQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBjb21waWxlLCBzdHIoJ2EgPSAxJyksICdmJywgJ2JhZCcpCiAKICAgICAgICAgIyB0ZXN0IHRoZSBvcHRpbWl6ZSBhcmd1bWVudApAQCAtMTA5NCw3ICsxMDk0LDcgQEAKICAgICAgICAgc2VsZi5hc3NlcnRBbG1vc3RFcXVhbChwb3coLTEsIDAuNSksIDFqKQogICAgICAgICBzZWxmLmFzc2VydEFsbW9zdEVxdWFsKHBvdygtMSwgMS8zKSwgMC41ICsgMC44NjYwMjU0MDM3ODQ0Mzg2aikKIAotICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIHBvdywgLTEsIC0yLCAzKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBwb3csIC0xLCAtMiwgMykKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgcG93LCAxLCAyLCAwKQogCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgcG93KQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9ieXRlcy5weSBiL0xpYi90ZXN0L3Rlc3RfYnl0ZXMucHkKaW5kZXggZTE1ODA3ZS4uYTlmNjRhMCAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9ieXRlcy5weQorKysgYi9MaWIvdGVzdC90ZXN0X2J5dGVzLnB5CkBAIC00NjEsNiArNDYxLDI4IEBACiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYi5yaW5kZXgoaSwgMywgOSksIDcpCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIGIucmluZGV4LCB3LCAxLCAzKQogCisgICAgZGVmIHRlc3RfbW9kKHNlbGYpOgorICAgICAgICBiID0gYidoZWxsbywgJWIhJworICAgICAgICBvcmlnID0gYgorICAgICAgICBiID0gYiAlIGInd29ybGQnCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYiwgYidoZWxsbywgd29ybGQhJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChvcmlnLCBiJ2hlbGxvLCAlYiEnKQorICAgICAgICBzZWxmLmFzc2VydEZhbHNlKGIgaXMgb3JpZykKKyAgICAgICAgYiA9IGInJXMgLyAxMDAgPSAlZCUlJworICAgICAgICBhID0gYiAlIChiJ3NldmVudHktbmluZScsIDc5KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGEsIGInc2V2ZW50eS1uaW5lIC8gMTAwID0gNzklJykKKworICAgIGRlZiB0ZXN0X2ltb2Qoc2VsZik6CisgICAgICAgIGIgPSBiJ2hlbGxvLCAlYiEnCisgICAgICAgIG9yaWcgPSBiCisgICAgICAgIGIgJT0gYid3b3JsZCcKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChiLCBiJ2hlbGxvLCB3b3JsZCEnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG9yaWcsIGInaGVsbG8sICViIScpCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoYiBpcyBvcmlnKQorICAgICAgICBiID0gYiclcyAvIDEwMCA9ICVkJSUnCisgICAgICAgIGIgJT0gKGInc2V2ZW50eS1uaW5lJywgNzkpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYiwgYidzZXZlbnR5LW5pbmUgLyAxMDAgPSA3OSUnKQorCiAgICAgZGVmIHRlc3RfcmVwbGFjZShzZWxmKToKICAgICAgICAgYiA9IHNlbGYudHlwZTJ0ZXN0KGInbWlzc2lzc2lwcGknKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGIucmVwbGFjZShiJ2knLCBiJ2EnKSwgYidtYXNzYXNzYXBwYScpCkBAIC03MjIsNiArNzQ0LDExIEBACiBjbGFzcyBCeXRlc1Rlc3QoQmFzZUJ5dGVzVGVzdCwgdW5pdHRlc3QuVGVzdENhc2UpOgogICAgIHR5cGUydGVzdCA9IGJ5dGVzCiAKKyAgICBkZWYgdGVzdF9nZXRpdGVtX2Vycm9yKHNlbGYpOgorICAgICAgICBtc2cgPSAiYnl0ZSBpbmRpY2VzIG11c3QgYmUgaW50ZWdlcnMgb3Igc2xpY2VzIgorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgoVHlwZUVycm9yLCBtc2cpOgorICAgICAgICAgICAgYidweXRob24nWydhJ10KKwogICAgIGRlZiB0ZXN0X2J1ZmZlcl9pc19yZWFkb25seShzZWxmKToKICAgICAgICAgZmQgPSBvcy5vcGVuKF9fZmlsZV9fLCBvcy5PX1JET05MWSkKICAgICAgICAgd2l0aCBvcGVuKGZkLCAicmIiLCBidWZmZXJpbmc9MCkgYXMgZjoKQEAgLTc3Niw2ICs4MDMsMTcgQEAKIGNsYXNzIEJ5dGVBcnJheVRlc3QoQmFzZUJ5dGVzVGVzdCwgdW5pdHRlc3QuVGVzdENhc2UpOgogICAgIHR5cGUydGVzdCA9IGJ5dGVhcnJheQogCisgICAgZGVmIHRlc3RfZ2V0aXRlbV9lcnJvcihzZWxmKToKKyAgICAgICAgbXNnID0gImJ5dGVhcnJheSBpbmRpY2VzIG11c3QgYmUgaW50ZWdlcnMgb3Igc2xpY2VzIgorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgoVHlwZUVycm9yLCBtc2cpOgorICAgICAgICAgICAgYnl0ZWFycmF5KGIncHl0aG9uJylbJ2EnXQorCisgICAgZGVmIHRlc3Rfc2V0aXRlbV9lcnJvcihzZWxmKToKKyAgICAgICAgbXNnID0gImJ5dGVhcnJheSBpbmRpY2VzIG11c3QgYmUgaW50ZWdlcnMgb3Igc2xpY2VzIgorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgoVHlwZUVycm9yLCBtc2cpOgorICAgICAgICAgICAgYiA9IGJ5dGVhcnJheShiJ3B5dGhvbicpCisgICAgICAgICAgICBiWydhJ10gPSAicHl0aG9uIgorCiAgICAgZGVmIHRlc3Rfbm9oYXNoKHNlbGYpOgogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIGhhc2gsIGJ5dGVhcnJheSgpKQogCkBAIC05NzQsNiArMTAxMiwyOCBAQAogICAgICAgICBiWzg6XSA9IGIKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChiLCBieXRlYXJyYXkobGlzdChyYW5nZSg4KSkgKyBsaXN0KHJhbmdlKDI1NikpKSkKIAorICAgIGRlZiB0ZXN0X21vZChzZWxmKToKKyAgICAgICAgYiA9IGJ5dGVhcnJheShiJ2hlbGxvLCAlYiEnKQorICAgICAgICBvcmlnID0gYgorICAgICAgICBiID0gYiAlIGInd29ybGQnCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYiwgYidoZWxsbywgd29ybGQhJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChvcmlnLCBieXRlYXJyYXkoYidoZWxsbywgJWIhJykpCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoYiBpcyBvcmlnKQorICAgICAgICBiID0gYnl0ZWFycmF5KGInJXMgLyAxMDAgPSAlZCUlJykKKyAgICAgICAgYSA9IGIgJSAoYidzZXZlbnR5LW5pbmUnLCA3OSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChhLCBieXRlYXJyYXkoYidzZXZlbnR5LW5pbmUgLyAxMDAgPSA3OSUnKSkKKworICAgIGRlZiB0ZXN0X2ltb2Qoc2VsZik6CisgICAgICAgIGIgPSBieXRlYXJyYXkoYidoZWxsbywgJWIhJykKKyAgICAgICAgb3JpZyA9IGIKKyAgICAgICAgYiAlPSBiJ3dvcmxkJworICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGIsIGInaGVsbG8sIHdvcmxkIScpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwob3JpZywgYnl0ZWFycmF5KGInaGVsbG8sICViIScpKQorICAgICAgICBzZWxmLmFzc2VydEZhbHNlKGIgaXMgb3JpZykKKyAgICAgICAgYiA9IGJ5dGVhcnJheShiJyVzIC8gMTAwID0gJWQlJScpCisgICAgICAgIGIgJT0gKGInc2V2ZW50eS1uaW5lJywgNzkpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYiwgYnl0ZWFycmF5KGInc2V2ZW50eS1uaW5lIC8gMTAwID0gNzklJykpCisKICAgICBkZWYgdGVzdF9pY29uY2F0KHNlbGYpOgogICAgICAgICBiID0gYnl0ZWFycmF5KGIiYWJjIikKICAgICAgICAgYjEgPSBiCkBAIC0xMTY0LDYgKzEyMjQsMTAgQEAKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoQnVmZmVyRXJyb3IsIGRlbHNsaWNlKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGIsIG9yaWcpCiAKKyAgICBAdGVzdC5zdXBwb3J0LmNweXRob25fb25seQorICAgIGRlZiB0ZXN0X29ic29sZXRlX3dyaXRlX2xvY2soc2VsZik6CisgICAgICAgIGZyb20gX3Rlc3RjYXBpIGltcG9ydCBnZXRidWZmZXJfd2l0aF9udWxsX3ZpZXcKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoQnVmZmVyRXJyb3IsIGdldGJ1ZmZlcl93aXRoX251bGxfdmlldywgYnl0ZWFycmF5KCkpCiAKIGNsYXNzIEFzc29ydGVkQnl0ZXNUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAjCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2NhcGkucHkgYi9MaWIvdGVzdC90ZXN0X2NhcGkucHkKaW5kZXggYmE3YzM4ZC4uZGU4ZDY1YSAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9jYXBpLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfY2FwaS5weQpAQCAtMTUwLDYgKzE1MCwyMyBAQAogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKF90ZXN0Y2FwaS5kb2NzdHJpbmdfd2l0aF9zaWduYXR1cmVfYW5kX2V4dHJhX25ld2xpbmVzLl9fdGV4dF9zaWduYXR1cmVfXywKICAgICAgICAgICAgICIoJG1vZHVsZSwgLywgcGFyYW1ldGVyKSIpCiAKKyAgICBkZWYgdGVzdF9jX3R5cGVfd2l0aF9tYXRyaXhfbXVsdGlwbGljYXRpb24oc2VsZik6CisgICAgICAgIE0gPSBfdGVzdGNhcGkubWF0bXVsVHlwZQorICAgICAgICBtMSA9IE0oKQorICAgICAgICBtMiA9IE0oKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG0xIEAgbTIsICgibWF0bXVsIiwgbTEsIG0yKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtMSBAIDQyLCAoIm1hdG11bCIsIG0xLCA0MikpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoNDIgQCBtMSwgKCJtYXRtdWwiLCA0MiwgbTEpKQorICAgICAgICBvID0gbTEKKyAgICAgICAgbyBAPSBtMgorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG8sICgiaW1hdG11bCIsIG0xLCBtMikpCisgICAgICAgIG8gPSBtMQorICAgICAgICBvIEA9IDQyCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobywgKCJpbWF0bXVsIiwgbTEsIDQyKSkKKyAgICAgICAgbyA9IDQyCisgICAgICAgIG8gQD0gbTEKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChvLCAoIm1hdG11bCIsIDQyLCBtMSkpCisKIAogQHVuaXR0ZXN0LnNraXBVbmxlc3ModGhyZWFkaW5nLCAnVGhyZWFkaW5nIHJlcXVpcmVkIGZvciB0aGlzIHRlc3QuJykKIGNsYXNzIFRlc3RQZW5kaW5nQ2FsbHModW5pdHRlc3QuVGVzdENhc2UpOgpAQCAtMjY4LDcgKzI4NSw3IEBACiAgICAgICAgICAgICBleGVuYW1lICs9IGV4dAogICAgICAgICAgICAgZXhlcGF0aCA9IG9zLnBhdGguZGlybmFtZShzeXMuZXhlY3V0YWJsZSkKICAgICAgICAgZWxzZToKLSAgICAgICAgICAgIGV4ZXBhdGggPSBvcy5wYXRoLmpvaW4oYmFzZXBhdGgsICJNb2R1bGVzIikKKyAgICAgICAgICAgIGV4ZXBhdGggPSBvcy5wYXRoLmpvaW4oYmFzZXBhdGgsICJQcm9ncmFtcyIpCiAgICAgICAgIHNlbGYudGVzdF9leGUgPSBleGUgPSBvcy5wYXRoLmpvaW4oZXhlcGF0aCwgZXhlbmFtZSkKICAgICAgICAgaWYgbm90IG9zLnBhdGguZXhpc3RzKGV4ZSk6CiAgICAgICAgICAgICBzZWxmLnNraXBUZXN0KCIlciBkb2Vzbid0IGV4aXN0IiAlIGV4ZSkKQEAgLTI4NywxMiArMzA0LDEzIEBACiAgICAgICAgIGNtZC5leHRlbmQoYXJncykKICAgICAgICAgcCA9IHN1YnByb2Nlc3MuUG9wZW4oY21kLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGRvdXQ9c3VicHJvY2Vzcy5QSVBFLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGRlcnI9c3VicHJvY2Vzcy5QSVBFKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGRlcnI9c3VicHJvY2Vzcy5QSVBFLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bml2ZXJzYWxfbmV3bGluZXM9VHJ1ZSkKICAgICAgICAgKG91dCwgZXJyKSA9IHAuY29tbXVuaWNhdGUoKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHAucmV0dXJuY29kZSwgMCwKICAgICAgICAgICAgICAgICAgICAgICAgICAiYmFkIHJldHVybmNvZGUgJWQsIHN0ZGVyciBpcyAlciIgJQogICAgICAgICAgICAgICAgICAgICAgICAgIChwLnJldHVybmNvZGUsIGVycikpCi0gICAgICAgIHJldHVybiBvdXQuZGVjb2RlKCJsYXRpbjEiKSwgZXJyLmRlY29kZSgibGF0aW4xIikKKyAgICAgICAgcmV0dXJuIG91dCwgZXJyCiAKICAgICBkZWYgdGVzdF9zdWJpbnRlcnBzKHNlbGYpOgogICAgICAgICAjIFRoaXMgaXMganVzdCBhICJkb24ndCBjcmFzaCIgdGVzdApAQCAtMzE5LDM0ICszMzcsMzggQEAKICAgICAgICAgICAgIHByaW50KCkKICAgICAgICAgICAgIHByaW50KG91dCkKICAgICAgICAgICAgIHByaW50KGVycikKKyAgICAgICAgZXhwZWN0ZWRfZXJyb3JzID0gc3lzLl9fc3Rkb3V0X18uZXJyb3JzCiAgICAgICAgIGV4cGVjdGVkX3N0ZGluX2VuY29kaW5nID0gc3lzLl9fc3RkaW5fXy5lbmNvZGluZwogICAgICAgICBleHBlY3RlZF9waXBlX2VuY29kaW5nID0gc2VsZi5fZ2V0X2RlZmF1bHRfcGlwZV9lbmNvZGluZygpCi0gICAgICAgIGV4cGVjdGVkX291dHB1dCA9IG9zLmxpbmVzZXAuam9pbihbCisgICAgICAgIGV4cGVjdGVkX291dHB1dCA9ICdcbicuam9pbihbCiAgICAgICAgICItLS0gVXNlIGRlZmF1bHRzIC0tLSIsCiAgICAgICAgICJFeHBlY3RlZCBlbmNvZGluZzogZGVmYXVsdCIsCiAgICAgICAgICJFeHBlY3RlZCBlcnJvcnM6IGRlZmF1bHQiLAotICAgICAgICAic3RkaW46IHswfTpzdHJpY3QiLAotICAgICAgICAic3Rkb3V0OiB7MX06c3RyaWN0IiwKLSAgICAgICAgInN0ZGVycjogezF9OmJhY2tzbGFzaHJlcGxhY2UiLAorICAgICAgICAic3RkaW46IHtpbl9lbmNvZGluZ306e2Vycm9yc30iLAorICAgICAgICAic3Rkb3V0OiB7b3V0X2VuY29kaW5nfTp7ZXJyb3JzfSIsCisgICAgICAgICJzdGRlcnI6IHtvdXRfZW5jb2Rpbmd9OmJhY2tzbGFzaHJlcGxhY2UiLAogICAgICAgICAiLS0tIFNldCBlcnJvcnMgb25seSAtLS0iLAogICAgICAgICAiRXhwZWN0ZWQgZW5jb2Rpbmc6IGRlZmF1bHQiLAotICAgICAgICAiRXhwZWN0ZWQgZXJyb3JzOiBzdXJyb2dhdGVlc2NhcGUiLAotICAgICAgICAic3RkaW46IHswfTpzdXJyb2dhdGVlc2NhcGUiLAotICAgICAgICAic3Rkb3V0OiB7MX06c3Vycm9nYXRlZXNjYXBlIiwKLSAgICAgICAgInN0ZGVycjogezF9OmJhY2tzbGFzaHJlcGxhY2UiLAorICAgICAgICAiRXhwZWN0ZWQgZXJyb3JzOiBpZ25vcmUiLAorICAgICAgICAic3RkaW46IHtpbl9lbmNvZGluZ306aWdub3JlIiwKKyAgICAgICAgInN0ZG91dDoge291dF9lbmNvZGluZ306aWdub3JlIiwKKyAgICAgICAgInN0ZGVycjoge291dF9lbmNvZGluZ306YmFja3NsYXNocmVwbGFjZSIsCiAgICAgICAgICItLS0gU2V0IGVuY29kaW5nIG9ubHkgLS0tIiwKICAgICAgICAgIkV4cGVjdGVkIGVuY29kaW5nOiBsYXRpbi0xIiwKICAgICAgICAgIkV4cGVjdGVkIGVycm9yczogZGVmYXVsdCIsCi0gICAgICAgICJzdGRpbjogbGF0aW4tMTpzdHJpY3QiLAotICAgICAgICAic3Rkb3V0OiBsYXRpbi0xOnN0cmljdCIsCisgICAgICAgICJzdGRpbjogbGF0aW4tMTp7ZXJyb3JzfSIsCisgICAgICAgICJzdGRvdXQ6IGxhdGluLTE6e2Vycm9yc30iLAogICAgICAgICAic3RkZXJyOiBsYXRpbi0xOmJhY2tzbGFzaHJlcGxhY2UiLAogICAgICAgICAiLS0tIFNldCBlbmNvZGluZyBhbmQgZXJyb3JzIC0tLSIsCiAgICAgICAgICJFeHBlY3RlZCBlbmNvZGluZzogbGF0aW4tMSIsCi0gICAgICAgICJFeHBlY3RlZCBlcnJvcnM6IHN1cnJvZ2F0ZWVzY2FwZSIsCi0gICAgICAgICJzdGRpbjogbGF0aW4tMTpzdXJyb2dhdGVlc2NhcGUiLAotICAgICAgICAic3Rkb3V0OiBsYXRpbi0xOnN1cnJvZ2F0ZWVzY2FwZSIsCi0gICAgICAgICJzdGRlcnI6IGxhdGluLTE6YmFja3NsYXNocmVwbGFjZSJdKS5mb3JtYXQoZXhwZWN0ZWRfc3RkaW5fZW5jb2RpbmcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhwZWN0ZWRfcGlwZV9lbmNvZGluZykKKyAgICAgICAgIkV4cGVjdGVkIGVycm9yczogcmVwbGFjZSIsCisgICAgICAgICJzdGRpbjogbGF0aW4tMTpyZXBsYWNlIiwKKyAgICAgICAgInN0ZG91dDogbGF0aW4tMTpyZXBsYWNlIiwKKyAgICAgICAgInN0ZGVycjogbGF0aW4tMTpiYWNrc2xhc2hyZXBsYWNlIl0pCisgICAgICAgIGV4cGVjdGVkX291dHB1dCA9IGV4cGVjdGVkX291dHB1dC5mb3JtYXQoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluX2VuY29kaW5nPWV4cGVjdGVkX3N0ZGluX2VuY29kaW5nLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdXRfZW5jb2Rpbmc9ZXhwZWN0ZWRfcGlwZV9lbmNvZGluZywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3JzPWV4cGVjdGVkX2Vycm9ycykKICAgICAgICAgIyBUaGlzIGlzIHVzZWZ1bCBpZiB3ZSBldmVyIHRyaXAgb3ZlciBvZGQgcGxhdGZvcm0gYmVoYXZpb3VyCiAgICAgICAgIHNlbGYubWF4RGlmZiA9IE5vbmUKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChvdXQuc3RyaXAoKSwgZXhwZWN0ZWRfb3V0cHV0KQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9jZ2kucHkgYi9MaWIvdGVzdC90ZXN0X2NnaS5weQppbmRleCAxMTI3ZGQxLi43MTViZDczIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2NnaS5weQorKysgYi9MaWIvdGVzdC90ZXN0X2NnaS5weQpAQCAtMSw0ICsxLDQgQEAKLWZyb20gdGVzdC5zdXBwb3J0IGltcG9ydCBydW5fdW5pdHRlc3QsIGNoZWNrX3dhcm5pbmdzCitmcm9tIHRlc3Quc3VwcG9ydCBpbXBvcnQgY2hlY2tfd2FybmluZ3MKIGltcG9ydCBjZ2kKIGltcG9ydCBvcwogaW1wb3J0IHN5cwpAQCAtMzA3LDYgKzMwNywxNyBAQAogICAgICAgICAgICAgICAgIGdvdCA9IGdldGF0dHIoZmlsZXNbeF0sIGspCiAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChnb3QsIGV4cCkKIAorICAgIGRlZiB0ZXN0X2ZpZWxkc3RvcmFnZV9hc19jb250ZXh0X21hbmFnZXIoc2VsZik6CisgICAgICAgIGZwID0gQnl0ZXNJTyhiJ3gnICogMTApCisgICAgICAgIGVudiA9IHsnUkVRVUVTVF9NRVRIT0QnOiAnUFVUJ30KKyAgICAgICAgd2l0aCBjZ2kuRmllbGRTdG9yYWdlKGZwPWZwLCBlbnZpcm9uPWVudikgYXMgZnM6CisgICAgICAgICAgICBjb250ZW50ID0gZnMuZmlsZS5yZWFkKCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoZnMuZmlsZS5jbG9zZWQpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShmcy5maWxlLmNsb3NlZCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjb250ZW50LCAneCcgKiAxMCkKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlc1JlZ2V4KFZhbHVlRXJyb3IsICdJL08gb3BlcmF0aW9uIG9uIGNsb3NlZCBmaWxlJyk6CisgICAgICAgICAgICBmcy5maWxlLnJlYWQoKQorCiAgICAgX3FzX3Jlc3VsdCA9IHsKICAgICAgICAgJ2tleTEnOiAndmFsdWUxJywKICAgICAgICAgJ2tleTInOiBbJ3ZhbHVlMngnLCAndmFsdWUyeSddLApAQCAtNDgxLDkgKzQ5Miw1IEBACiAtLUFhQjAzeC0tCiAiIiIKIAotCi1kZWYgdGVzdF9tYWluKCk6Ci0gICAgcnVuX3VuaXR0ZXN0KENnaVRlc3RzKQotCiBpZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgotICAgIHRlc3RfbWFpbigpCisgICAgdW5pdHRlc3QubWFpbigpCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2NtZF9saW5lLnB5IGIvTGliL3Rlc3QvdGVzdF9jbWRfbGluZS5weQppbmRleCAzNjgzYTQ4Li5lYmU1NTdlIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2NtZF9saW5lLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfY21kX2xpbmUucHkKQEAgLTQ0MCw3ICs0NDAsNyBAQAogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGVyci5zcGxpdGxpbmVzKCkuY291bnQoYidVbmtub3duIG9wdGlvbjogLWEnKSwgMSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChiJycsIG91dCkKIAotICAgIEB1bml0dGVzdC5za2lwSWYoc2NyaXB0X2hlbHBlci5faW50ZXJwcmV0ZXJfcmVxdWlyZXNfZW52aXJvbm1lbnQoKSwKKyAgICBAdW5pdHRlc3Quc2tpcElmKHNjcmlwdF9oZWxwZXIuaW50ZXJwcmV0ZXJfcmVxdWlyZXNfZW52aXJvbm1lbnQoKSwKICAgICAgICAgICAgICAgICAgICAgICdDYW5ub3QgcnVuIC1JIHRlc3RzIHdoZW4gUFlUSE9OIGVudiB2YXJzIGFyZSByZXF1aXJlZC4nKQogICAgIGRlZiB0ZXN0X2lzb2xhdGVkbW9kZShzZWxmKToKICAgICAgICAgc2VsZi52ZXJpZnlfdmFsaWRfZmxhZygnLUknKQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9jb2RlX21vZHVsZS5weSBiL0xpYi90ZXN0L3Rlc3RfY29kZV9tb2R1bGUucHkKaW5kZXggN2E4MGE4MC4uOWIxNzc2NyAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9jb2RlX21vZHVsZS5weQorKysgYi9MaWIvdGVzdC90ZXN0X2NvZGVfbW9kdWxlLnB5CkBAIC0xLDYgKzEsNyBAQAogIlRlc3QgSW50ZXJhY3RpdmVDb25zb2xlIGFuZCBJbnRlcmFjdGl2ZUludGVycHJldGVyIGZyb20gY29kZSBtb2R1bGUiCiBpbXBvcnQgc3lzCiBpbXBvcnQgdW5pdHRlc3QKK2Zyb20gdGV4dHdyYXAgaW1wb3J0IGRlZGVudAogZnJvbSBjb250ZXh0bGliIGltcG9ydCBFeGl0U3RhY2sKIGZyb20gdW5pdHRlc3QgaW1wb3J0IG1vY2sKIGZyb20gdGVzdCBpbXBvcnQgc3VwcG9ydApAQCAtNzgsNiArNzksNDAgQEAKICAgICAgICAgc2VsZi5jb25zb2xlLmludGVyYWN0KGJhbm5lcj0nJykKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4oc2VsZi5zdGRlcnIubWV0aG9kX2NhbGxzKSwgMSkKIAorICAgIGRlZiB0ZXN0X2NhdXNlX3RiKHNlbGYpOgorICAgICAgICBzZWxmLmluZnVuYy5zaWRlX2VmZmVjdCA9IFsicmFpc2UgVmFsdWVFcnJvcignJykgZnJvbSBBdHRyaWJ1dGVFcnJvciIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFT0ZFcnJvcignRmluaXNoZWQnKV0KKyAgICAgICAgc2VsZi5jb25zb2xlLmludGVyYWN0KCkKKyAgICAgICAgb3V0cHV0ID0gJycuam9pbignJy5qb2luKGNhbGxbMV0pIGZvciBjYWxsIGluIHNlbGYuc3RkZXJyLm1ldGhvZF9jYWxscykKKyAgICAgICAgZXhwZWN0ZWQgPSBkZWRlbnQoIiIiCisgICAgICAgIEF0dHJpYnV0ZUVycm9yCisKKyAgICAgICAgVGhlIGFib3ZlIGV4Y2VwdGlvbiB3YXMgdGhlIGRpcmVjdCBjYXVzZSBvZiB0aGUgZm9sbG93aW5nIGV4Y2VwdGlvbjoKKworICAgICAgICBUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CisgICAgICAgICAgRmlsZSAiPGNvbnNvbGU+IiwgbGluZSAxLCBpbiA8bW9kdWxlPgorICAgICAgICBWYWx1ZUVycm9yCisgICAgICAgICIiIikKKyAgICAgICAgc2VsZi5hc3NlcnRJbihleHBlY3RlZCwgb3V0cHV0KQorCisgICAgZGVmIHRlc3RfY29udGV4dF90YihzZWxmKToKKyAgICAgICAgc2VsZi5pbmZ1bmMuc2lkZV9lZmZlY3QgPSBbInRyeTogaGFtXG5leGNlcHQ6IGVnZ3NcbiIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFT0ZFcnJvcignRmluaXNoZWQnKV0KKyAgICAgICAgc2VsZi5jb25zb2xlLmludGVyYWN0KCkKKyAgICAgICAgb3V0cHV0ID0gJycuam9pbignJy5qb2luKGNhbGxbMV0pIGZvciBjYWxsIGluIHNlbGYuc3RkZXJyLm1ldGhvZF9jYWxscykKKyAgICAgICAgZXhwZWN0ZWQgPSBkZWRlbnQoIiIiCisgICAgICAgIFRyYWNlYmFjayAobW9zdCByZWNlbnQgY2FsbCBsYXN0KToKKyAgICAgICAgICBGaWxlICI8Y29uc29sZT4iLCBsaW5lIDEsIGluIDxtb2R1bGU+CisgICAgICAgIE5hbWVFcnJvcjogbmFtZSAnaGFtJyBpcyBub3QgZGVmaW5lZAorCisgICAgICAgIER1cmluZyBoYW5kbGluZyBvZiB0aGUgYWJvdmUgZXhjZXB0aW9uLCBhbm90aGVyIGV4Y2VwdGlvbiBvY2N1cnJlZDoKKworICAgICAgICBUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CisgICAgICAgICAgRmlsZSAiPGNvbnNvbGU+IiwgbGluZSAyLCBpbiA8bW9kdWxlPgorICAgICAgICBOYW1lRXJyb3I6IG5hbWUgJ2VnZ3MnIGlzIG5vdCBkZWZpbmVkCisgICAgICAgICIiIikKKyAgICAgICAgc2VsZi5hc3NlcnRJbihleHBlY3RlZCwgb3V0cHV0KQorCiAKIGRlZiB0ZXN0X21haW4oKToKICAgICBzdXBwb3J0LnJ1bl91bml0dGVzdChUZXN0SW50ZXJhY3RpdmVDb25zb2xlKQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9jb2RlY2NhbGxiYWNrcy5weSBiL0xpYi90ZXN0L3Rlc3RfY29kZWNjYWxsYmFja3MucHkKaW5kZXggODQ4MDRiYi4uZTI5YWM1MyAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9jb2RlY2NhbGxiYWNrcy5weQorKysgYi9MaWIvdGVzdC90ZXN0X2NvZGVjY2FsbGJhY2tzLnB5CkBAIC0xNTgsNiArMTU4LDIyIEBACiAgICAgICAgIHNvdXQgPSBiImFceGFjXFx1MTIzNFx4YTRcXHU4MDAwXFxVMDAxMGZmZmYiCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2luLmVuY29kZSgiaXNvLTg4NTktMTUiLCAiYmFja3NsYXNocmVwbGFjZSIpLCBzb3V0KQogCisgICAgZGVmIHRlc3RfbmFtZWVzY2FwZShzZWxmKToKKyAgICAgICAgIyBEb2VzIHRoZSBzYW1lIGFzIGJhY2tzbGFzaGVzY2FwZSwgYnV0IHByZWZlcnMgYGBcTnsuLi59YGAgZXNjYXBlCisgICAgICAgICMgc2VxdWVuY2VzLgorICAgICAgICBzaW4gPSAiYVx4YWNcdTEyMzRcdTIwYWNcdTgwMDBcVTAwMTBmZmZmIgorICAgICAgICBzb3V0ID0gKGInYVxcTntOT1QgU0lHTn1cXE57RVRISU9QSUMgU1lMTEFCTEUgU0VFfVxcTntFVVJPIFNJR059JworICAgICAgICAgICAgICAgIGInXFxOe0NKSyBVTklGSUVEIElERU9HUkFQSC04MDAwfVxcVTAwMTBmZmZmJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzaW4uZW5jb2RlKCJhc2NpaSIsICJuYW1lcmVwbGFjZSIpLCBzb3V0KQorCisgICAgICAgIHNvdXQgPSAoYidhXHhhY1xcTntFVEhJT1BJQyBTWUxMQUJMRSBTRUV9XFxOe0VVUk8gU0lHTn0nCisgICAgICAgICAgICAgICAgYidcXE57Q0pLIFVOSUZJRUQgSURFT0dSQVBILTgwMDB9XFxVMDAxMGZmZmYnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNpbi5lbmNvZGUoImxhdGluLTEiLCAibmFtZXJlcGxhY2UiKSwgc291dCkKKworICAgICAgICBzb3V0ID0gKGInYVx4YWNcXE57RVRISU9QSUMgU1lMTEFCTEUgU0VFfVx4YTQnCisgICAgICAgICAgICAgICAgYidcXE57Q0pLIFVOSUZJRUQgSURFT0dSQVBILTgwMDB9XFxVMDAxMGZmZmYnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNpbi5lbmNvZGUoImlzby04ODU5LTE1IiwgIm5hbWVyZXBsYWNlIiksIHNvdXQpCisKICAgICBkZWYgdGVzdF9kZWNvZGluZ19jYWxsYmFja3Moc2VsZik6CiAgICAgICAgICMgVGhpcyBpcyBhIHRlc3QgZm9yIGEgZGVjb2RpbmcgY2FsbGJhY2sgaGFuZGxlcgogICAgICAgICAjIHRoYXQgYWxsb3dzIHRoZSBkZWNvZGluZyBvZiB0aGUgaW52YWxpZCBzZXF1ZW5jZQpAQCAtMjMwLDYgKzI0NiwxMSBAQAogICAgICAgICAgICAgICAgICAgICAiXHUwMDAwXHVmZmZkIgogICAgICAgICAgICAgICAgICkKIAorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCisgICAgICAgICAgICAgICAgICAgIGIiXHgwMFx4MDBceDAwXHgwMFx4MDAiLmRlY29kZSgidW5pY29kZS1pbnRlcm5hbCIsICJiYWNrc2xhc2hyZXBsYWNlIiksCisgICAgICAgICAgICAgICAgICAgICJcdTAwMDBcXHgwMCIKKyAgICAgICAgICAgICAgICApCisKICAgICAgICAgICAgICAgICBjb2RlY3MucmVnaXN0ZXJfZXJyb3IoInRlc3QuaHVpIiwgaGFuZGxlcl91bmljb2RlaW50ZXJuYWwpCiAKICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKApAQCAtMjk3LDcgKzMxOCw3IEBACiAgICAgZGVmIHRlc3RfbG9uZ3N0cmluZ3Moc2VsZik6CiAgICAgICAgICMgdGVzdCBsb25nIHN0cmluZ3MgdG8gY2hlY2sgZm9yIG1lbW9yeSBvdmVyZmxvdyBwcm9ibGVtcwogICAgICAgICBlcnJvcnMgPSBbICJzdHJpY3QiLCAiaWdub3JlIiwgInJlcGxhY2UiLCAieG1sY2hhcnJlZnJlcGxhY2UiLAotICAgICAgICAgICAgICAgICAgICJiYWNrc2xhc2hyZXBsYWNlIl0KKyAgICAgICAgICAgICAgICAgICAiYmFja3NsYXNocmVwbGFjZSIsICJuYW1lcmVwbGFjZSJdCiAgICAgICAgICMgcmVnaXN0ZXIgdGhlIGhhbmRsZXJzIHVuZGVyIGRpZmZlcmVudCBuYW1lcywKICAgICAgICAgIyB0byBwcmV2ZW50IHRoZSBjb2RlYyBmcm9tIHJlY29nbml6aW5nIHRoZSBuYW1lCiAgICAgICAgIGZvciBlcnIgaW4gZXJyb3JzOgpAQCAtNTQ5LDE3ICs1NzAsNiBAQAogICAgICAgICAgICBjb2RlY3MuYmFja3NsYXNocmVwbGFjZV9lcnJvcnMsCiAgICAgICAgICAgIFVuaWNvZGVFcnJvcigib3VjaCIpCiAgICAgICAgICkKLSAgICAgICAgIyAiYmFja3NsYXNocmVwbGFjZSIgY2FuIG9ubHkgYmUgdXNlZCBmb3IgZW5jb2RpbmcKLSAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoCi0gICAgICAgICAgICBUeXBlRXJyb3IsCi0gICAgICAgICAgICBjb2RlY3MuYmFja3NsYXNocmVwbGFjZV9lcnJvcnMsCi0gICAgICAgICAgICBVbmljb2RlRGVjb2RlRXJyb3IoImFzY2lpIiwgYnl0ZWFycmF5KGIiXHhmZiIpLCAwLCAxLCAib3VjaCIpCi0gICAgICAgICkKLSAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoCi0gICAgICAgICAgICBUeXBlRXJyb3IsCi0gICAgICAgICAgICBjb2RlY3MuYmFja3NsYXNocmVwbGFjZV9lcnJvcnMsCi0gICAgICAgICAgICBVbmljb2RlVHJhbnNsYXRlRXJyb3IoIlx1MzA0MiIsIDAsIDEsICJvdWNoIikKLSAgICAgICAgKQogICAgICAgICAjIFVzZSB0aGUgY29ycmVjdCBleGNlcHRpb24KICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgKICAgICAgICAgICAgIGNvZGVjcy5iYWNrc2xhc2hyZXBsYWNlX2Vycm9ycygKQEAgLTYxMSw2ICs2MjEsOTEgQEAKICAgICAgICAgICAgICAgICAoIlxcdWRmZmYiLCAxKQogICAgICAgICAgICAgKQogCisgICAgZGVmIHRlc3RfYmFkYW5kZ29vZG5hbWVyZXBsYWNlZXhjZXB0aW9ucyhzZWxmKToKKyAgICAgICAgIyAibmFtZXJlcGxhY2UiIGNvbXBsYWlucyBhYm91dCBhIG5vbi1leGNlcHRpb24gcGFzc2VkIGluCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKAorICAgICAgICAgICBUeXBlRXJyb3IsCisgICAgICAgICAgIGNvZGVjcy5uYW1lcmVwbGFjZV9lcnJvcnMsCisgICAgICAgICAgIDQyCisgICAgICAgICkKKyAgICAgICAgIyAibmFtZXJlcGxhY2UiIGNvbXBsYWlucyBhYm91dCB0aGUgd3JvbmcgZXhjZXB0aW9uIHR5cGVzCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKAorICAgICAgICAgICBUeXBlRXJyb3IsCisgICAgICAgICAgIGNvZGVjcy5uYW1lcmVwbGFjZV9lcnJvcnMsCisgICAgICAgICAgIFVuaWNvZGVFcnJvcigib3VjaCIpCisgICAgICAgICkKKyAgICAgICAgIyAibmFtZXJlcGxhY2UiIGNhbiBvbmx5IGJlIHVzZWQgZm9yIGVuY29kaW5nCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKAorICAgICAgICAgICAgVHlwZUVycm9yLAorICAgICAgICAgICAgY29kZWNzLm5hbWVyZXBsYWNlX2Vycm9ycywKKyAgICAgICAgICAgIFVuaWNvZGVEZWNvZGVFcnJvcigiYXNjaWkiLCBieXRlYXJyYXkoYiJceGZmIiksIDAsIDEsICJvdWNoIikKKyAgICAgICAgKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcygKKyAgICAgICAgICAgIFR5cGVFcnJvciwKKyAgICAgICAgICAgIGNvZGVjcy5uYW1lcmVwbGFjZV9lcnJvcnMsCisgICAgICAgICAgICBVbmljb2RlVHJhbnNsYXRlRXJyb3IoIlx1MzA0MiIsIDAsIDEsICJvdWNoIikKKyAgICAgICAgKQorICAgICAgICAjIFVzZSB0aGUgY29ycmVjdCBleGNlcHRpb24KKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgKKyAgICAgICAgICAgIGNvZGVjcy5uYW1lcmVwbGFjZV9lcnJvcnMoCisgICAgICAgICAgICAgICAgVW5pY29kZUVuY29kZUVycm9yKCJhc2NpaSIsICJcdTMwNDIiLCAwLCAxLCAib3VjaCIpKSwKKyAgICAgICAgICAgICgiXFxOe0hJUkFHQU5BIExFVFRFUiBBfSIsIDEpCisgICAgICAgICkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgKKyAgICAgICAgICAgIGNvZGVjcy5uYW1lcmVwbGFjZV9lcnJvcnMoCisgICAgICAgICAgICAgICAgVW5pY29kZUVuY29kZUVycm9yKCJhc2NpaSIsICJceDAwIiwgMCwgMSwgIm91Y2giKSksCisgICAgICAgICAgICAoIlxceDAwIiwgMSkKKyAgICAgICAgKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKAorICAgICAgICAgICAgY29kZWNzLm5hbWVyZXBsYWNlX2Vycm9ycygKKyAgICAgICAgICAgICAgICBVbmljb2RlRW5jb2RlRXJyb3IoImFzY2lpIiwgIlx4ZmYiLCAwLCAxLCAib3VjaCIpKSwKKyAgICAgICAgICAgICgiXFxOe0xBVElOIFNNQUxMIExFVFRFUiBZIFdJVEggRElBRVJFU0lTfSIsIDEpCisgICAgICAgICkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgKKyAgICAgICAgICAgIGNvZGVjcy5uYW1lcmVwbGFjZV9lcnJvcnMoCisgICAgICAgICAgICAgICAgVW5pY29kZUVuY29kZUVycm9yKCJhc2NpaSIsICJcdTAxMDAiLCAwLCAxLCAib3VjaCIpKSwKKyAgICAgICAgICAgICgiXFxOe0xBVElOIENBUElUQUwgTEVUVEVSIEEgV0lUSCBNQUNST059IiwgMSkKKyAgICAgICAgKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKAorICAgICAgICAgICAgY29kZWNzLm5hbWVyZXBsYWNlX2Vycm9ycygKKyAgICAgICAgICAgICAgICBVbmljb2RlRW5jb2RlRXJyb3IoImFzY2lpIiwgIlx1ZmZmZiIsIDAsIDEsICJvdWNoIikpLAorICAgICAgICAgICAgKCJcXHVmZmZmIiwgMSkKKyAgICAgICAgKQorICAgICAgICBpZiBTSVpFT0ZfV0NIQVJfVCA+IDA6CisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKAorICAgICAgICAgICAgICAgIGNvZGVjcy5uYW1lcmVwbGFjZV9lcnJvcnMoCisgICAgICAgICAgICAgICAgICAgIFVuaWNvZGVFbmNvZGVFcnJvcigiYXNjaWkiLCAiXFUwMDAxMDAwMCIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLCAxLCAib3VjaCIpKSwKKyAgICAgICAgICAgICAgICAoIlxcTntMSU5FQVIgQiBTWUxMQUJMRSBCMDA4IEF9IiwgMSkKKyAgICAgICAgICAgICkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCisgICAgICAgICAgICAgICAgY29kZWNzLm5hbWVyZXBsYWNlX2Vycm9ycygKKyAgICAgICAgICAgICAgICAgICAgVW5pY29kZUVuY29kZUVycm9yKCJhc2NpaSIsICJcVTAwMTBmZmZmIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAsIDEsICJvdWNoIikpLAorICAgICAgICAgICAgICAgICgiXFxVMDAxMGZmZmYiLCAxKQorICAgICAgICAgICAgKQorICAgICAgICAgICAgIyBMb25lIHN1cnJvZ2F0ZXMgKHJlZ2FyZGxlc3Mgb2YgdW5pY29kZSB3aWR0aCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCisgICAgICAgICAgICAgICAgY29kZWNzLm5hbWVyZXBsYWNlX2Vycm9ycygKKyAgICAgICAgICAgICAgICAgICAgVW5pY29kZUVuY29kZUVycm9yKCJhc2NpaSIsICJcdWQ4MDAiLCAwLCAxLCAib3VjaCIpKSwKKyAgICAgICAgICAgICAgICAoIlxcdWQ4MDAiLCAxKQorICAgICAgICAgICAgKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgKKyAgICAgICAgICAgICAgICBjb2RlY3MubmFtZXJlcGxhY2VfZXJyb3JzKAorICAgICAgICAgICAgICAgICAgICBVbmljb2RlRW5jb2RlRXJyb3IoImFzY2lpIiwgIlx1ZGZmZiIsIDAsIDEsICJvdWNoIikpLAorICAgICAgICAgICAgICAgICgiXFx1ZGZmZiIsIDEpCisgICAgICAgICAgICApCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCisgICAgICAgICAgICBjb2RlY3MuYmFja3NsYXNocmVwbGFjZV9lcnJvcnMoCisgICAgICAgICAgICAgICAgVW5pY29kZURlY29kZUVycm9yKCJhc2NpaSIsIGJ5dGVhcnJheShiIlx4ZmYiKSwgMCwgMSwgIm91Y2giKSksCisgICAgICAgICAgICAoIlxceGZmIiwgMSkKKyAgICAgICAgKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKAorICAgICAgICAgICAgY29kZWNzLmJhY2tzbGFzaHJlcGxhY2VfZXJyb3JzKAorICAgICAgICAgICAgICAgIFVuaWNvZGVUcmFuc2xhdGVFcnJvcigiXHUzMDQyIiwgMCwgMSwgIm91Y2giKSksCisgICAgICAgICAgICAoIlxcdTMwNDIiLCAxKQorICAgICAgICApCisKICAgICBkZWYgdGVzdF9iYWRoYW5kbGVycmVzdWx0cyhzZWxmKToKICAgICAgICAgcmVzdWx0cyA9ICggNDIsICJmb28iLCAoMSwyLDMpLCAoImZvbyIsIDEsIDMpLCAoImZvbyIsIE5vbmUpLCAoImZvbyIsKSwgKCJmb28iLCAxLCAzKSwgKCJmb28iLCBOb25lKSwgKCJmb28iLCkgKQogICAgICAgICBlbmNzID0gKCJhc2NpaSIsICJsYXRpbi0xIiwgImlzby04ODU5LTEiLCAiaXNvLTg4NTktMTUiKQpAQCAtNjUxLDYgKzc0NiwxMCBAQAogICAgICAgICAgICAgY29kZWNzLmJhY2tzbGFzaHJlcGxhY2VfZXJyb3JzLAogICAgICAgICAgICAgY29kZWNzLmxvb2t1cF9lcnJvcigiYmFja3NsYXNocmVwbGFjZSIpCiAgICAgICAgICkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgKKyAgICAgICAgICAgIGNvZGVjcy5uYW1lcmVwbGFjZV9lcnJvcnMsCisgICAgICAgICAgICBjb2RlY3MubG9va3VwX2Vycm9yKCJuYW1lcmVwbGFjZSIpCisgICAgICAgICkKIAogICAgIGRlZiB0ZXN0X3VuZW5jb2RhYmxlcmVwbGFjZW1lbnQoc2VsZik6CiAgICAgICAgIGRlZiB1bmVuY3JlcGwoZXhjKToKQEAgLTgwNCw3ICs5MDMsOCBAQAogICAgICAgICBjbGFzcyBEKGRpY3QpOgogICAgICAgICAgICAgZGVmIF9fZ2V0aXRlbV9fKHNlbGYsIGtleSk6CiAgICAgICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcgotICAgICAgICBmb3IgZXJyIGluICgic3RyaWN0IiwgInJlcGxhY2UiLCAieG1sY2hhcnJlZnJlcGxhY2UiLCAiYmFja3NsYXNocmVwbGFjZSIsICJ0ZXN0LnBvc3JldHVybiIpOgorICAgICAgICBmb3IgZXJyIGluICgic3RyaWN0IiwgInJlcGxhY2UiLCAieG1sY2hhcnJlZnJlcGxhY2UiLAorICAgICAgICAgICAgICAgICAgICAiYmFja3NsYXNocmVwbGFjZSIsICJuYW1lcmVwbGFjZSIsICJ0ZXN0LnBvc3JldHVybiIpOgogICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVW5pY29kZUVycm9yLCBjb2RlY3MuY2hhcm1hcF9lbmNvZGUsICJceGZmIiwgZXJyLCB7MHhmZjogTm9uZX0pCiAgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBjb2RlY3MuY2hhcm1hcF9lbmNvZGUsICJceGZmIiwgZXJyLCBEKCkpCiAgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIGNvZGVjcy5jaGFybWFwX2VuY29kZSwgIlx4ZmYiLCBlcnIsIHsweGZmOiAzMDB9KQpAQCAtODE5LDcgKzkxOSw3IEBACiAgICAgICAgICAgICBkZWYgX19nZXRpdGVtX18oc2VsZiwga2V5KToKICAgICAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yCiAgICAgICAgICNzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCAiXHhmZiIudHJhbnNsYXRlLCBEKCkpCi0gICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgIlx4ZmYiLnRyYW5zbGF0ZSwgezB4ZmY6IHN5cy5tYXh1bmljb2RlKzF9KQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCAiXHhmZiIudHJhbnNsYXRlLCB7MHhmZjogc3lzLm1heHVuaWNvZGUrMX0pCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgIlx4ZmYiLnRyYW5zbGF0ZSwgezB4ZmY6ICgpfSkKIAogICAgIGRlZiB0ZXN0X2J1ZzgyODczNyhzZWxmKToKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfY29kZWNzLnB5IGIvTGliL3Rlc3QvdGVzdF9jb2RlY3MucHkKaW5kZXggNjYyOWNjZC4uNGQ1ZDdiYiAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9jb2RlY3MucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9jb2RlY3MucHkKQEAgLTM0OSw2ICszNDksOCBAQAogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhVbmljb2RlRW5jb2RlRXJyb3IsICJcdWQ4MDAiLmVuY29kZSwgc2VsZi5lbmNvZGluZykKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgiW1x1REM4MF0iLmVuY29kZShzZWxmLmVuY29kaW5nLCAiYmFja3NsYXNocmVwbGFjZSIpLAogICAgICAgICAgICAgICAgICAgICAgICAgICJbXFx1ZGM4MF0iLmVuY29kZShzZWxmLmVuY29kaW5nKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgiW1x1REM4MF0iLmVuY29kZShzZWxmLmVuY29kaW5nLCAibmFtZXJlcGxhY2UiKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAiW1xcdWRjODBdIi5lbmNvZGUoc2VsZi5lbmNvZGluZykpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoIltcdURDODBdIi5lbmNvZGUoc2VsZi5lbmNvZGluZywgInhtbGNoYXJyZWZyZXBsYWNlIiksCiAgICAgICAgICAgICAgICAgICAgICAgICAgIlsmIzU2NDQ4O10iLmVuY29kZShzZWxmLmVuY29kaW5nKSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgiW1x1REM4MF0iLmVuY29kZShzZWxmLmVuY29kaW5nLCAiaWdub3JlIiksCkBAIC0zNzYsNiArMzc4LDEwIEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJlZm9yZSArIGFmdGVyKQogICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh0ZXN0X3NlcXVlbmNlLmRlY29kZShzZWxmLmVuY29kaW5nLCAicmVwbGFjZSIpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZWZvcmUgKyBzZWxmLmlsbF9mb3JtZWRfc2VxdWVuY2VfcmVwbGFjZSArIGFmdGVyKQorICAgICAgICAgICAgYmFja3NsYXNocmVwbGFjZSA9ICcnLmpvaW4oJ1xceCUwMngnICUgYgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIGIgaW4gc2VsZi5pbGxfZm9ybWVkX3NlcXVlbmNlKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh0ZXN0X3NlcXVlbmNlLmRlY29kZShzZWxmLmVuY29kaW5nLCAiYmFja3NsYXNocmVwbGFjZSIpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZWZvcmUgKyBiYWNrc2xhc2hyZXBsYWNlICsgYWZ0ZXIpCiAKIGNsYXNzIFVURjMyVGVzdChSZWFkVGVzdCwgdW5pdHRlc3QuVGVzdENhc2UpOgogICAgIGVuY29kaW5nID0gInV0Zi0zMiIKQEAgLTgwOCw2ICs4MTQsNyBAQAogICAgICAgICAgICAgICAgICgnXHVkYzgwJywgJ2lnbm9yZScsIGInJyksCiAgICAgICAgICAgICAgICAgKCdcdWRjODAnLCAncmVwbGFjZScsIGInPycpLAogICAgICAgICAgICAgICAgICgnXHVkYzgwJywgJ2JhY2tzbGFzaHJlcGxhY2UnLCBiJ1xcdWRjODAnKSwKKyAgICAgICAgICAgICAgICAoJ1x1ZGM4MCcsICduYW1lcmVwbGFjZScsIGInXFx1ZGM4MCcpLAogICAgICAgICAgICAgICAgICgnXHVkYzgwJywgJ3N1cnJvZ2F0ZXBhc3MnLCBiJ1x4ZWRceGIyXHg4MCcpLAogICAgICAgICAgICAgKSkKICAgICAgICAgZWxzZToKQEAgLTg2OSw2ICs4NzYsOCBAQAogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhVbmljb2RlRGVjb2RlRXJyb3IsIGIiXHhlZFx4YTBceDgwIi5kZWNvZGUsICJjcDY1MDAxIikKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgiW1x1REM4MF0iLmVuY29kZSgiY3A2NTAwMSIsICJiYWNrc2xhc2hyZXBsYWNlIiksCiAgICAgICAgICAgICAgICAgICAgICAgICAgYidbXFx1ZGM4MF0nKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCJbXHVEQzgwXSIuZW5jb2RlKCJjcDY1MDAxIiwgIm5hbWVyZXBsYWNlIiksCisgICAgICAgICAgICAgICAgICAgICAgICAgYidbXFx1ZGM4MF0nKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCJbXHVEQzgwXSIuZW5jb2RlKCJjcDY1MDAxIiwgInhtbGNoYXJyZWZyZXBsYWNlIiksCiAgICAgICAgICAgICAgICAgICAgICAgICAgYidbJiM1NjQ0ODtdJykKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgiW1x1REM4MF0iLmVuY29kZSgiY3A2NTAwMSIsICJzdXJyb2dhdGVlc2NhcGUiKSwKQEAgLTg5MCwxMCArODk5LDYgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAiXFUwMDAxMGZmZlx1RDgwMCIpCiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShjb2RlY3MubG9va3VwX2Vycm9yKCJzdXJyb2dhdGVwYXNzIikpCiAKLSAgICBkZWYgdGVzdF9yZWFkbGluZShzZWxmKToKLSAgICAgICAgc2VsZi5za2lwVGVzdCgiaXNzdWUgIzIwNTcxOiBjb2RlIHBhZ2UgNjUwMDEgY29kZWMgZG9lcyBub3QgIgotICAgICAgICAgICAgICAgICAgICAgICJzdXBwb3J0IHBhcnRpYWwgZGVjb2RlciB5ZXQiKQotCiAKIGNsYXNzIFVURjdUZXN0KFJlYWRUZXN0LCB1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgZW5jb2RpbmcgPSAidXRmLTciCkBAIC0xMjk5LDE0ICsxMzA0LDE5IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaWNvZGVfaW50ZXJuYWwiKQogICAgICAgICBpZiBzeXMuYnl0ZW9yZGVyID09ICJsaXR0bGUiOgogICAgICAgICAgICAgaW52YWxpZCA9IGIiXHgwMFx4MDBceDExXHgwMCIKKyAgICAgICAgICAgIGludmFsaWRfYmFja3NsYXNocmVwbGFjZSA9IHIiXHgwMFx4MDBceDExXHgwMCIKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIGludmFsaWQgPSBiIlx4MDBceDExXHgwMFx4MDAiCisgICAgICAgICAgICBpbnZhbGlkX2JhY2tzbGFzaHJlcGxhY2UgPSByIlx4MDBceDExXHgwMFx4MDAiCiAgICAgICAgIHdpdGggc3VwcG9ydC5jaGVja193YXJuaW5ncygpOgogICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVW5pY29kZURlY29kZUVycm9yLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW52YWxpZC5kZWNvZGUsICJ1bmljb2RlX2ludGVybmFsIikKICAgICAgICAgd2l0aCBzdXBwb3J0LmNoZWNrX3dhcm5pbmdzKCk6CiAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGludmFsaWQuZGVjb2RlKCJ1bmljb2RlX2ludGVybmFsIiwgInJlcGxhY2UiKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1x1ZmZmZCcpCisgICAgICAgIHdpdGggc3VwcG9ydC5jaGVja193YXJuaW5ncygpOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChpbnZhbGlkLmRlY29kZSgidW5pY29kZV9pbnRlcm5hbCIsICJiYWNrc2xhc2hyZXBsYWNlIiksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludmFsaWRfYmFja3NsYXNocmVwbGFjZSkKIAogICAgIEB1bml0dGVzdC5za2lwVW5sZXNzKFNJWkVPRl9XQ0hBUl9UID09IDQsICdzcGVjaWZpYyB0byAzMi1iaXQgd2NoYXJfdCcpCiAgICAgZGVmIHRlc3RfZGVjb2RlX2Vycm9yX2F0dHJpYnV0ZXMoc2VsZik6CkBAIC0xNjEyLDYgKzE2MjIsMTIgQEAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjb2RlY3MuZGVjb2RlKGInYWJjJyksICdhYmMnKQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhVbmljb2RlRGVjb2RlRXJyb3IsIGNvZGVjcy5kZWNvZGUsIGInXHhmZicsICdhc2NpaScpCiAKKyAgICAgICAgIyB0ZXN0IGtleXdvcmRzCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY29kZWNzLmRlY29kZShvYmo9YidceGU0XHhmNlx4ZmMnLCBlbmNvZGluZz0nbGF0aW4tMScpLAorICAgICAgICAgICAgICAgICAgICAgICAgICdceGU0XHhmNlx4ZmMnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNvZGVjcy5kZWNvZGUoYidbXHhmZl0nLCAnYXNjaWknLCBlcnJvcnM9J2lnbm9yZScpLAorICAgICAgICAgICAgICAgICAgICAgICAgICdbXScpCisKICAgICBkZWYgdGVzdF9lbmNvZGUoc2VsZik6CiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY29kZWNzLmVuY29kZSgnXHhlNFx4ZjZceGZjJywgJ2xhdGluLTEnKSwKICAgICAgICAgICAgICAgICAgICAgICAgICBiJ1x4ZTRceGY2XHhmYycpCkBAIC0xNjIwLDYgKzE2MzYsMTIgQEAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjb2RlY3MuZW5jb2RlKCdhYmMnKSwgYidhYmMnKQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhVbmljb2RlRW5jb2RlRXJyb3IsIGNvZGVjcy5lbmNvZGUsICdceGZmZmYnLCAnYXNjaWknKQogCisgICAgICAgICMgdGVzdCBrZXl3b3JkcworICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNvZGVjcy5lbmNvZGUob2JqPSdceGU0XHhmNlx4ZmMnLCBlbmNvZGluZz0nbGF0aW4tMScpLAorICAgICAgICAgICAgICAgICAgICAgICAgIGInXHhlNFx4ZjZceGZjJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjb2RlY3MuZW5jb2RlKCdbXHhmZl0nLCAnYXNjaWknLCBlcnJvcnM9J2lnbm9yZScpLAorICAgICAgICAgICAgICAgICAgICAgICAgIGInW10nKQorCiAgICAgZGVmIHRlc3RfcmVnaXN0ZXIoc2VsZik6CiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgY29kZWNzLnJlZ2lzdGVyKQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIGNvZGVjcy5yZWdpc3RlciwgNDIpCkBAIC0xNjY4LDYgKzE2OTAsNyBAQAogICAgICAgICAgICAgInJlZ2lzdGVyX2Vycm9yIiwgImxvb2t1cF9lcnJvciIsCiAgICAgICAgICAgICAic3RyaWN0X2Vycm9ycyIsICJyZXBsYWNlX2Vycm9ycyIsICJpZ25vcmVfZXJyb3JzIiwKICAgICAgICAgICAgICJ4bWxjaGFycmVmcmVwbGFjZV9lcnJvcnMiLCAiYmFja3NsYXNocmVwbGFjZV9lcnJvcnMiLAorICAgICAgICAgICAgIm5hbWVyZXBsYWNlX2Vycm9ycyIsCiAgICAgICAgICAgICAib3BlbiIsICJFbmNvZGVkRmlsZSIsCiAgICAgICAgICAgICAiaXRlcmVuY29kZSIsICJpdGVyZGVjb2RlIiwKICAgICAgICAgICAgICJCT00iLCAiQk9NX0JFIiwgIkJPTV9MRSIsCkBAIC0yMDI5LDYgKzIwNTIsMTYgQEAKICAgICAgICAgKQogCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCisgICAgICAgICAgICBjb2RlY3MuY2hhcm1hcF9kZWNvZGUoYiJceDAwXHgwMVx4MDIiLCAiYmFja3NsYXNocmVwbGFjZSIsICJhYiIpLAorICAgICAgICAgICAgKCJhYlxceDAyIiwgMykKKyAgICAgICAgKQorCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCisgICAgICAgICAgICBjb2RlY3MuY2hhcm1hcF9kZWNvZGUoYiJceDAwXHgwMVx4MDIiLCAiYmFja3NsYXNocmVwbGFjZSIsICJhYlx1ZmZmZSIpLAorICAgICAgICAgICAgKCJhYlxceDAyIiwgMykKKyAgICAgICAgKQorCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCiAgICAgICAgICAgICBjb2RlY3MuY2hhcm1hcF9kZWNvZGUoYiJceDAwXHgwMVx4MDIiLCAiaWdub3JlIiwgImFiIiksCiAgICAgICAgICAgICAoImFiIiwgMykKICAgICAgICAgKQpAQCAtMjEwNSw2ICsyMTM4LDI1IEBACiAgICAgICAgICkKIAogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKAorICAgICAgICAgICAgY29kZWNzLmNoYXJtYXBfZGVjb2RlKGIiXHgwMFx4MDFceDAyIiwgImJhY2tzbGFzaHJlcGxhY2UiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHswOiAnYScsIDE6ICdiJ30pLAorICAgICAgICAgICAgKCJhYlxceDAyIiwgMykKKyAgICAgICAgKQorCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCisgICAgICAgICAgICBjb2RlY3MuY2hhcm1hcF9kZWNvZGUoYiJceDAwXHgwMVx4MDIiLCAiYmFja3NsYXNocmVwbGFjZSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgezA6ICdhJywgMTogJ2InLCAyOiBOb25lfSksCisgICAgICAgICAgICAoImFiXFx4MDIiLCAzKQorICAgICAgICApCisKKyAgICAgICAgIyBJc3N1ZSAjMTQ4NTAKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgKKyAgICAgICAgICAgIGNvZGVjcy5jaGFybWFwX2RlY29kZShiIlx4MDBceDAxXHgwMiIsICJiYWNrc2xhc2hyZXBsYWNlIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7MDogJ2EnLCAxOiAnYicsIDI6ICdcdWZmZmUnfSksCisgICAgICAgICAgICAoImFiXFx4MDIiLCAzKQorICAgICAgICApCisKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgKICAgICAgICAgICAgIGNvZGVjcy5jaGFybWFwX2RlY29kZShiIlx4MDBceDAxXHgwMiIsICJpZ25vcmUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHswOiAnYScsIDE6ICdiJ30pLAogICAgICAgICAgICAgKCJhYiIsIDMpCkBAIC0yMTgxLDYgKzIyMzMsMTggQEAKICAgICAgICAgKQogCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCisgICAgICAgICAgICBjb2RlY3MuY2hhcm1hcF9kZWNvZGUoYiJceDAwXHgwMVx4MDIiLCAiYmFja3NsYXNocmVwbGFjZSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgezA6IGEsIDE6IGJ9KSwKKyAgICAgICAgICAgICgiYWJcXHgwMiIsIDMpCisgICAgICAgICkKKworICAgICAgICBzZWxmLmFzc2VydEVxdWFsKAorICAgICAgICAgICAgY29kZWNzLmNoYXJtYXBfZGVjb2RlKGIiXHgwMFx4MDFceDAyIiwgImJhY2tzbGFzaHJlcGxhY2UiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHswOiBhLCAxOiBiLCAyOiAweEZGRkV9KSwKKyAgICAgICAgICAgICgiYWJcXHgwMiIsIDMpCisgICAgICAgICkKKworICAgICAgICBzZWxmLmFzc2VydEVxdWFsKAogICAgICAgICAgICAgY29kZWNzLmNoYXJtYXBfZGVjb2RlKGIiXHgwMFx4MDFceDAyIiwgImlnbm9yZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgezA6IGEsIDE6IGJ9KSwKICAgICAgICAgICAgICgiYWIiLCAzKQpAQCAtMjIzOSw5ICsyMzAzLDEzIEBACiAKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVW5pY29kZURlY29kZUVycm9yLCBjb2RlY3MudW5pY29kZV9lc2NhcGVfZGVjb2RlLCBiciJcVTAwMTEwMDAwIikKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjb2RlY3MudW5pY29kZV9lc2NhcGVfZGVjb2RlKHIiXFUwMDExMDAwMCIsICJyZXBsYWNlIiksICgiXHVmZmZkIiwgMTApKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNvZGVjcy51bmljb2RlX2VzY2FwZV9kZWNvZGUociJcVTAwMTEwMDAwIiwgImJhY2tzbGFzaHJlcGxhY2UiKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAociJceDVjXHg1NVx4MzBceDMwXHgzMVx4MzFceDMwXHgzMFx4MzBceDMwIiwgMTApKQogCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFVuaWNvZGVEZWNvZGVFcnJvciwgY29kZWNzLnJhd191bmljb2RlX2VzY2FwZV9kZWNvZGUsIGJyIlxVMDAxMTAwMDAiKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNvZGVjcy5yYXdfdW5pY29kZV9lc2NhcGVfZGVjb2RlKHIiXFUwMDExMDAwMCIsICJyZXBsYWNlIiksICgiXHVmZmZkIiwgMTApKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNvZGVjcy5yYXdfdW5pY29kZV9lc2NhcGVfZGVjb2RlKHIiXFUwMDExMDAwMCIsICJiYWNrc2xhc2hyZXBsYWNlIiksCisgICAgICAgICAgICAgICAgICAgICAgICAgKHIiXHg1Y1x4NTVceDMwXHgzMFx4MzFceDMxXHgzMFx4MzBceDMwXHgzMCIsIDEwKSkKIAogCiBjbGFzcyBVbmljb2RlRXNjYXBlVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CkBAIC0yODE4LDE1ICsyODg2LDE1IEBACiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgoVW5pY29kZUVuY29kZUVycm9yLCAnY3A5MzInLAogICAgICAgICAgICAgY29kZWNzLmNvZGVfcGFnZV9lbmNvZGUsIDkzMiwgJ1x4ZmYnKQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlc1JlZ2V4KFVuaWNvZGVEZWNvZGVFcnJvciwgJ2NwOTMyJywKLSAgICAgICAgICAgIGNvZGVjcy5jb2RlX3BhZ2VfZGVjb2RlLCA5MzIsIGInXHg4MVx4MDAnKQorICAgICAgICAgICAgY29kZWNzLmNvZGVfcGFnZV9kZWNvZGUsIDkzMiwgYidceDgxXHgwMCcsICdzdHJpY3QnLCBUcnVlKQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlc1JlZ2V4KFVuaWNvZGVEZWNvZGVFcnJvciwgJ0NQX1VURjgnLAotICAgICAgICAgICAgY29kZWNzLmNvZGVfcGFnZV9kZWNvZGUsIHNlbGYuQ1BfVVRGOCwgYidceGZmJykKKyAgICAgICAgICAgIGNvZGVjcy5jb2RlX3BhZ2VfZGVjb2RlLCBzZWxmLkNQX1VURjgsIGInXHhmZicsICdzdHJpY3QnLCBUcnVlKQogCiAgICAgZGVmIGNoZWNrX2RlY29kZShzZWxmLCBjcCwgdGVzdHMpOgogICAgICAgICBmb3IgcmF3LCBlcnJvcnMsIGV4cGVjdGVkIGluIHRlc3RzOgogICAgICAgICAgICAgaWYgZXhwZWN0ZWQgaXMgbm90IE5vbmU6CiAgICAgICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgICAgICBkZWNvZGVkID0gY29kZWNzLmNvZGVfcGFnZV9kZWNvZGUoY3AsIHJhdywgZXJyb3JzKQorICAgICAgICAgICAgICAgICAgICBkZWNvZGVkID0gY29kZWNzLmNvZGVfcGFnZV9kZWNvZGUoY3AsIHJhdywgZXJyb3JzLCBUcnVlKQogICAgICAgICAgICAgICAgIGV4Y2VwdCBVbmljb2RlRGVjb2RlRXJyb3IgYXMgZXJyOgogICAgICAgICAgICAgICAgICAgICBzZWxmLmZhaWwoJ1VuYWJsZSB0byBkZWNvZGUgJWEgZnJvbSAiY3AlcyIgd2l0aCAnCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZXJyb3JzPSVyOiAlcycgJSAocmF3LCBjcCwgZXJyb3JzLCBlcnIpKQpAQCAtMjgzOCw3ICsyOTA2LDcgQEAKICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydExlc3NFcXVhbChkZWNvZGVkWzFdLCBsZW4ocmF3KSkKICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVW5pY29kZURlY29kZUVycm9yLAotICAgICAgICAgICAgICAgICAgICBjb2RlY3MuY29kZV9wYWdlX2RlY29kZSwgY3AsIHJhdywgZXJyb3JzKQorICAgICAgICAgICAgICAgICAgICBjb2RlY3MuY29kZV9wYWdlX2RlY29kZSwgY3AsIHJhdywgZXJyb3JzLCBUcnVlKQogCiAgICAgZGVmIGNoZWNrX2VuY29kZShzZWxmLCBjcCwgdGVzdHMpOgogICAgICAgICBmb3IgdGV4dCwgZXJyb3JzLCBleHBlY3RlZCBpbiB0ZXN0czoKQEAgLTI4NjYsNyArMjkzNCwxMiBAQAogICAgICAgICAgICAgKCdbXHhmZl0nLCAncmVwbGFjZScsIGInW3ldJyksCiAgICAgICAgICAgICAoJ1tcdTIwYWNdJywgJ3JlcGxhY2UnLCBiJ1s/XScpLAogICAgICAgICAgICAgKCdbXHhmZl0nLCAnYmFja3NsYXNocmVwbGFjZScsIGInW1xceGZmXScpLAorICAgICAgICAgICAgKCdbXHhmZl0nLCAnbmFtZXJlcGxhY2UnLAorICAgICAgICAgICAgIGInW1xcTntMQVRJTiBTTUFMTCBMRVRURVIgWSBXSVRIIERJQUVSRVNJU31dJyksCiAgICAgICAgICAgICAoJ1tceGZmXScsICd4bWxjaGFycmVmcmVwbGFjZScsIGInWyYjMjU1O10nKSwKKyAgICAgICAgICAgICgnXHVkY2ZmJywgJ3N0cmljdCcsIE5vbmUpLAorICAgICAgICAgICAgKCdbXHVkY2ZmXScsICdzdXJyb2dhdGVlc2NhcGUnLCBiJ1tceGZmXScpLAorICAgICAgICAgICAgKCdbXHVkY2ZmXScsICdzdXJyb2dhdGVwYXNzJywgTm9uZSksCiAgICAgICAgICkpCiAgICAgICAgIHNlbGYuY2hlY2tfZGVjb2RlKDkzMiwgKAogICAgICAgICAgICAgKGInYWJjJywgJ3N0cmljdCcsICdhYmMnKSwKQEAgLTI4NzUsMTAgKzI5NDgsMTMgQEAKICAgICAgICAgICAgIChiJ1tceGZmXScsICdzdHJpY3QnLCBOb25lKSwKICAgICAgICAgICAgIChiJ1tceGZmXScsICdpZ25vcmUnLCAnW10nKSwKICAgICAgICAgICAgIChiJ1tceGZmXScsICdyZXBsYWNlJywgJ1tcdWZmZmRdJyksCisgICAgICAgICAgICAoYidbXHhmZl0nLCAnYmFja3NsYXNocmVwbGFjZScsICdbXFx4ZmZdJyksCiAgICAgICAgICAgICAoYidbXHhmZl0nLCAnc3Vycm9nYXRlZXNjYXBlJywgJ1tcdWRjZmZdJyksCisgICAgICAgICAgICAoYidbXHhmZl0nLCAnc3Vycm9nYXRlcGFzcycsIE5vbmUpLAogICAgICAgICAgICAgKGInXHg4MVx4MDBhYmMnLCAnc3RyaWN0JywgTm9uZSksCiAgICAgICAgICAgICAoYidceDgxXHgwMGFiYycsICdpZ25vcmUnLCAnXHgwMGFiYycpLAogICAgICAgICAgICAgKGInXHg4MVx4MDBhYmMnLCAncmVwbGFjZScsICdcdWZmZmRceDAwYWJjJyksCisgICAgICAgICAgICAoYidceDgxXHgwMGFiYycsICdiYWNrc2xhc2hyZXBsYWNlJywgJ1xceDgxXHgwMGFiYycpLAogICAgICAgICApKQogCiAgICAgZGVmIHRlc3RfY3AxMjUyKHNlbGYpOgpAQCAtMjg4Niw5ICsyOTYyLDEyIEBACiAgICAgICAgICAgICAoJ2FiYycsICdzdHJpY3QnLCBiJ2FiYycpLAogICAgICAgICAgICAgKCdceGU5XHUyMGFjJywgJ3N0cmljdCcsICBiJ1x4ZTlceDgwJyksCiAgICAgICAgICAgICAoJ1x4ZmYnLCAnc3RyaWN0JywgYidceGZmJyksCisgICAgICAgICAgICAjIHRlc3QgZXJyb3IgaGFuZGxlcnMKICAgICAgICAgICAgICgnXHUwMTQxJywgJ3N0cmljdCcsIE5vbmUpLAogICAgICAgICAgICAgKCdcdTAxNDEnLCAnaWdub3JlJywgYicnKSwKICAgICAgICAgICAgICgnXHUwMTQxJywgJ3JlcGxhY2UnLCBiJ0wnKSwKKyAgICAgICAgICAgICgnXHVkYzk4JywgJ3N1cnJvZ2F0ZWVzY2FwZScsIGInXHg5OCcpLAorICAgICAgICAgICAgKCdcdWRjOTgnLCAnc3Vycm9nYXRlcGFzcycsIE5vbmUpLAogICAgICAgICApKQogICAgICAgICBzZWxmLmNoZWNrX2RlY29kZSgxMjUyLCAoCiAgICAgICAgICAgICAoYidhYmMnLCAnc3RyaWN0JywgJ2FiYycpLApkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9jb2xsZWN0aW9ucy5weSBiL0xpYi90ZXN0L3Rlc3RfY29sbGVjdGlvbnMucHkKaW5kZXggZGYxYzYzYy4uYTk0YjVkYSAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9jb2xsZWN0aW9ucy5weQorKysgYi9MaWIvdGVzdC90ZXN0X2NvbGxlY3Rpb25zLnB5CkBAIC01MTgsNyArNTE4LDcgQEAKICAgICAgICAgY2xhc3MgTmV4dE9ubHk6CiAgICAgICAgICAgICBkZWYgX19uZXh0X18oc2VsZik6CiAgICAgICAgICAgICAgICAgeWllbGQgMQotICAgICAgICAgICAgICAgIHJhaXNlIFN0b3BJdGVyYXRpb24KKyAgICAgICAgICAgICAgICByZXR1cm4KICAgICAgICAgc2VsZi5hc3NlcnROb3RJc0luc3RhbmNlKE5leHRPbmx5KCksIEl0ZXJhdG9yKQogCiAgICAgZGVmIHRlc3RfU2l6ZWQoc2VsZik6CkBAIC02NDcsNiArNjQ3LDU5IEBACiAgICAgICAgIGEsIGIgPSBPbmVUd29UaHJlZVNldCgpLCBPbmVUd29UaHJlZVNldCgpCiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShoYXNoKGEpID09IGhhc2goYikpCiAKKyAgICBkZWYgdGVzdF9pc2Rpc2pvaW50X1NldChzZWxmKToKKyAgICAgICAgY2xhc3MgTXlTZXQoU2V0KToKKyAgICAgICAgICAgIGRlZiBfX2luaXRfXyhzZWxmLCBpdHIpOgorICAgICAgICAgICAgICAgIHNlbGYuY29udGVudHMgPSBpdHIKKyAgICAgICAgICAgIGRlZiBfX2NvbnRhaW5zX18oc2VsZiwgeCk6CisgICAgICAgICAgICAgICAgcmV0dXJuIHggaW4gc2VsZi5jb250ZW50cworICAgICAgICAgICAgZGVmIF9faXRlcl9fKHNlbGYpOgorICAgICAgICAgICAgICAgIHJldHVybiBpdGVyKHNlbGYuY29udGVudHMpCisgICAgICAgICAgICBkZWYgX19sZW5fXyhzZWxmKToKKyAgICAgICAgICAgICAgICByZXR1cm4gbGVuKFt4IGZvciB4IGluIHNlbGYuY29udGVudHNdKQorICAgICAgICBzMSA9IE15U2V0KCgxLCAyLCAzKSkKKyAgICAgICAgczIgPSBNeVNldCgoNCwgNSwgNikpCisgICAgICAgIHMzID0gTXlTZXQoKDEsIDUsIDYpKQorICAgICAgICBzZWxmLmFzc2VydFRydWUoczEuaXNkaXNqb2ludChzMikpCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoczEuaXNkaXNqb2ludChzMykpCisKKyAgICBkZWYgdGVzdF9lcXVhbGl0eV9TZXQoc2VsZik6CisgICAgICAgIGNsYXNzIE15U2V0KFNldCk6CisgICAgICAgICAgICBkZWYgX19pbml0X18oc2VsZiwgaXRyKToKKyAgICAgICAgICAgICAgICBzZWxmLmNvbnRlbnRzID0gaXRyCisgICAgICAgICAgICBkZWYgX19jb250YWluc19fKHNlbGYsIHgpOgorICAgICAgICAgICAgICAgIHJldHVybiB4IGluIHNlbGYuY29udGVudHMKKyAgICAgICAgICAgIGRlZiBfX2l0ZXJfXyhzZWxmKToKKyAgICAgICAgICAgICAgICByZXR1cm4gaXRlcihzZWxmLmNvbnRlbnRzKQorICAgICAgICAgICAgZGVmIF9fbGVuX18oc2VsZik6CisgICAgICAgICAgICAgICAgcmV0dXJuIGxlbihbeCBmb3IgeCBpbiBzZWxmLmNvbnRlbnRzXSkKKyAgICAgICAgczEgPSBNeVNldCgoMSwpKQorICAgICAgICBzMiA9IE15U2V0KCgxLCAyKSkKKyAgICAgICAgczMgPSBNeVNldCgoMywgNCkpCisgICAgICAgIHM0ID0gTXlTZXQoKDMsIDQpKQorICAgICAgICBzZWxmLmFzc2VydFRydWUoczIgPiBzMSkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHMxIDwgczIpCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoczIgPD0gczEpCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoczIgPD0gczMpCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoczEgPj0gczIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoczMsIHM0KQorICAgICAgICBzZWxmLmFzc2VydE5vdEVxdWFsKHMyLCBzMykKKworICAgIGRlZiB0ZXN0X2FyaXRobWV0aWNfU2V0KHNlbGYpOgorICAgICAgICBjbGFzcyBNeVNldChTZXQpOgorICAgICAgICAgICAgZGVmIF9faW5pdF9fKHNlbGYsIGl0cik6CisgICAgICAgICAgICAgICAgc2VsZi5jb250ZW50cyA9IGl0cgorICAgICAgICAgICAgZGVmIF9fY29udGFpbnNfXyhzZWxmLCB4KToKKyAgICAgICAgICAgICAgICByZXR1cm4geCBpbiBzZWxmLmNvbnRlbnRzCisgICAgICAgICAgICBkZWYgX19pdGVyX18oc2VsZik6CisgICAgICAgICAgICAgICAgcmV0dXJuIGl0ZXIoc2VsZi5jb250ZW50cykKKyAgICAgICAgICAgIGRlZiBfX2xlbl9fKHNlbGYpOgorICAgICAgICAgICAgICAgIHJldHVybiBsZW4oW3ggZm9yIHggaW4gc2VsZi5jb250ZW50c10pCisgICAgICAgIHMxID0gTXlTZXQoKDEsIDIsIDMpKQorICAgICAgICBzMiA9IE15U2V0KCgzLCA0LCA1KSkKKyAgICAgICAgczMgPSBzMSAmIHMyCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoczMsIE15U2V0KCgzLCkpKQorCiAgICAgZGVmIHRlc3RfTXV0YWJsZVNldChzZWxmKToKICAgICAgICAgc2VsZi5hc3NlcnRJc0luc3RhbmNlKHNldCgpLCBNdXRhYmxlU2V0KQogICAgICAgICBzZWxmLmFzc2VydFRydWUoaXNzdWJjbGFzcyhzZXQsIE11dGFibGVTZXQpKQpAQCAtMTM3OCw2ICsxNDMxLDIxIEBACiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGlzdChvZC5pdGVtcygpKSwgcGFpcnMpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGlzdChyZXZlcnNlZChvZCkpLAogICAgICAgICAgICAgICAgICAgICAgICAgIFt0WzBdIGZvciB0IGluIHJldmVyc2VkKHBhaXJzKV0pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGlzdChyZXZlcnNlZChvZC5rZXlzKCkpKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBbdFswXSBmb3IgdCBpbiByZXZlcnNlZChwYWlycyldKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxpc3QocmV2ZXJzZWQob2QudmFsdWVzKCkpKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBbdFsxXSBmb3IgdCBpbiByZXZlcnNlZChwYWlycyldKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxpc3QocmV2ZXJzZWQob2QuaXRlbXMoKSkpLCBsaXN0KHJldmVyc2VkKHBhaXJzKSkpCisKKyAgICBkZWYgdGVzdF9kZXRlY3RfZGVsZXRpb25fZHVyaW5nX2l0ZXJhdGlvbihzZWxmKToKKyAgICAgICAgb2QgPSBPcmRlcmVkRGljdC5mcm9ta2V5cygnYWJjJykKKyAgICAgICAgaXQgPSBpdGVyKG9kKQorICAgICAgICBrZXkgPSBuZXh0KGl0KQorICAgICAgICBkZWwgb2Rba2V5XQorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKEV4Y2VwdGlvbik6CisgICAgICAgICAgICAjIE5vdGUsIHRoZSBleGFjdCBleGNlcHRpb24gcmFpc2VkIGlzIG5vdCBndWFyYW50ZWVkCisgICAgICAgICAgICAjIFRoZSBvbmx5IGd1YXJhbnRlZSB0aGF0IHRoZSBuZXh0KCkgd2lsbCBub3Qgc3VjY2VlZAorICAgICAgICAgICAgbmV4dChpdCkKIAogICAgIGRlZiB0ZXN0X3BvcGl0ZW0oc2VsZik6CiAgICAgICAgIHBhaXJzID0gWygnYycsIDEpLCAoJ2InLCAyKSwgKCdhJywgMyksICgnZCcsIDQpLCAoJ2UnLCA1KSwgKCdmJywgNildCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2NvbXBpbGVhbGwucHkgYi9MaWIvdGVzdC90ZXN0X2NvbXBpbGVhbGwucHkKaW5kZXggMmE0MjIzOC4uNzUwNmM3MCAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9jb21waWxlYWxsLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfY29tcGlsZWFsbC5weQpAQCAtMTAsNiArMTAsMTMgQEAKIGltcG9ydCB1bml0dGVzdAogaW1wb3J0IGlvCiAKK2Zyb20gdW5pdHRlc3QgaW1wb3J0IG1vY2ssIHNraXBVbmxlc3MKK3RyeToKKyAgICBmcm9tIGNvbmN1cnJlbnQuZnV0dXJlcyBpbXBvcnQgUHJvY2Vzc1Bvb2xFeGVjdXRvcgorICAgIF9oYXZlX211bHRpcHJvY2Vzc2luZyA9IFRydWUKK2V4Y2VwdCBJbXBvcnRFcnJvcjoKKyAgICBfaGF2ZV9tdWx0aXByb2Nlc3NpbmcgPSBGYWxzZQorCiBmcm9tIHRlc3QgaW1wb3J0IHN1cHBvcnQsIHNjcmlwdF9oZWxwZXIKIAogY2xhc3MgQ29tcGlsZWFsbFRlc3RzKHVuaXR0ZXN0LlRlc3RDYXNlKToKQEAgLTEwNiw2ICsxMTMsMzMgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlYnVnX292ZXJyaWRlPW5vdCBvcHRpbWl6ZSkKICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKG9zLnBhdGguaXNmaWxlKGNhY2hlZDMpKQogCisgICAgQG1vY2sucGF0Y2goJ2NvbXBpbGVhbGwuUHJvY2Vzc1Bvb2xFeGVjdXRvcicpCisgICAgZGVmIHRlc3RfY29tcGlsZV9wb29sX2NhbGxlZChzZWxmLCBwb29sX21vY2spOgorICAgICAgICBjb21waWxlYWxsLmNvbXBpbGVfZGlyKHNlbGYuZGlyZWN0b3J5LCBxdWlldD1UcnVlLCB3b3JrZXJzPTUpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShwb29sX21vY2suY2FsbGVkKQorCisgICAgZGVmIHRlc3RfY29tcGlsZV93b3JrZXJzX25vbl9wb3NpdGl2ZShzZWxmKToKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlc1JlZ2V4KFZhbHVlRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAid29ya2VycyBtdXN0IGJlIGdyZWF0ZXIgb3IgZXF1YWwgdG8gMCIpOgorICAgICAgICAgICAgY29tcGlsZWFsbC5jb21waWxlX2RpcihzZWxmLmRpcmVjdG9yeSwgd29ya2Vycz0tMSkKKworICAgIEBtb2NrLnBhdGNoKCdjb21waWxlYWxsLlByb2Nlc3NQb29sRXhlY3V0b3InKQorICAgIGRlZiB0ZXN0X2NvbXBpbGVfd29ya2Vyc19jcHVfY291bnQoc2VsZiwgcG9vbF9tb2NrKToKKyAgICAgICAgY29tcGlsZWFsbC5jb21waWxlX2RpcihzZWxmLmRpcmVjdG9yeSwgcXVpZXQ9VHJ1ZSwgd29ya2Vycz0wKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHBvb2xfbW9jay5jYWxsX2FyZ3NbMV1bJ21heF93b3JrZXJzJ10sIE5vbmUpCisKKyAgICBAbW9jay5wYXRjaCgnY29tcGlsZWFsbC5Qcm9jZXNzUG9vbEV4ZWN1dG9yJykKKyAgICBAbW9jay5wYXRjaCgnY29tcGlsZWFsbC5jb21waWxlX2ZpbGUnKQorICAgIGRlZiB0ZXN0X2NvbXBpbGVfb25lX3dvcmtlcihzZWxmLCBjb21waWxlX2ZpbGVfbW9jaywgcG9vbF9tb2NrKToKKyAgICAgICAgY29tcGlsZWFsbC5jb21waWxlX2RpcihzZWxmLmRpcmVjdG9yeSwgcXVpZXQ9VHJ1ZSkKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShwb29sX21vY2suY2FsbGVkKQorICAgICAgICBzZWxmLmFzc2VydFRydWUoY29tcGlsZV9maWxlX21vY2suY2FsbGVkKQorCisgICAgQG1vY2sucGF0Y2goJ2NvbXBpbGVhbGwuUHJvY2Vzc1Bvb2xFeGVjdXRvcicsIG5ldz1Ob25lKQorICAgIGRlZiB0ZXN0X2NvbXBpbGVfbWlzc2luZ19tdWx0aXByb2Nlc3Npbmcoc2VsZik6CisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXNSZWdleChOb3RJbXBsZW1lbnRlZEVycm9yLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm11bHRpcHJvY2Vzc2luZyBzdXBwb3J0IG5vdCBhdmFpbGFibGUiKToKKyAgICAgICAgICAgIGNvbXBpbGVhbGwuY29tcGlsZV9kaXIoc2VsZi5kaXJlY3RvcnksIHF1aWV0PVRydWUsIHdvcmtlcnM9NSkKIAogY2xhc3MgRW5jb2RpbmdUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAiIiJJc3N1ZSA2NzE2OiBjb21waWxlYWxsIHNob3VsZCBlc2NhcGUgc291cmNlIGNvZGUgd2hlbiBwcmludGluZyBlcnJvcnMKQEAgLTI3MywxMiArMzA3LDUzIEBACiAgICAgICAgIHNlbGYuYXNzZXJ0Q29tcGlsZWQoc3ViaW5pdGZuKQogICAgICAgICBzZWxmLmFzc2VydENvbXBpbGVkKGhhbWZuKQogCisgICAgZGVmIHRlc3RfcmVjdXJzaW9uX2xpbWl0KHNlbGYpOgorICAgICAgICBzdWJwYWNrYWdlID0gb3MucGF0aC5qb2luKHNlbGYucGtnZGlyLCAnc3BhbScpCisgICAgICAgIHN1YnBhY2thZ2UyID0gb3MucGF0aC5qb2luKHN1YnBhY2thZ2UsICdoYW0nKQorICAgICAgICBzdWJwYWNrYWdlMyA9IG9zLnBhdGguam9pbihzdWJwYWNrYWdlMiwgJ2VnZ3MnKQorICAgICAgICBmb3IgcGtnIGluIChzdWJwYWNrYWdlLCBzdWJwYWNrYWdlMiwgc3VicGFja2FnZTMpOgorICAgICAgICAgICAgc2NyaXB0X2hlbHBlci5tYWtlX3BrZyhwa2cpCisKKyAgICAgICAgc3ViaW5pdGZuID0gb3MucGF0aC5qb2luKHN1YnBhY2thZ2UsICdfX2luaXRfXy5weScpCisgICAgICAgIGhhbWZuID0gc2NyaXB0X2hlbHBlci5tYWtlX3NjcmlwdChzdWJwYWNrYWdlLCAnaGFtJywgJycpCisgICAgICAgIHNwYW1mbiA9IHNjcmlwdF9oZWxwZXIubWFrZV9zY3JpcHQoc3VicGFja2FnZTIsICdzcGFtJywgJycpCisgICAgICAgIGVnZ2ZuID0gc2NyaXB0X2hlbHBlci5tYWtlX3NjcmlwdChzdWJwYWNrYWdlMywgJ2VnZycsICcnKQorCisgICAgICAgIHNlbGYuYXNzZXJ0UnVuT0soJy1xJywgJy1yIDAnLCBzZWxmLnBrZ2RpcikKKyAgICAgICAgc2VsZi5hc3NlcnROb3RDb21waWxlZChzdWJpbml0Zm4pCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoCisgICAgICAgICAgICBvcy5wYXRoLmV4aXN0cyhvcy5wYXRoLmpvaW4oc3VicGFja2FnZSwgJ19fcHljYWNoZV9fJykpKQorCisgICAgICAgIHNlbGYuYXNzZXJ0UnVuT0soJy1xJywgJy1yIDEnLCBzZWxmLnBrZ2RpcikKKyAgICAgICAgc2VsZi5hc3NlcnRDb21waWxlZChzdWJpbml0Zm4pCisgICAgICAgIHNlbGYuYXNzZXJ0Q29tcGlsZWQoaGFtZm4pCisgICAgICAgIHNlbGYuYXNzZXJ0Tm90Q29tcGlsZWQoc3BhbWZuKQorCisgICAgICAgIHNlbGYuYXNzZXJ0UnVuT0soJy1xJywgJy1yIDInLCBzZWxmLnBrZ2RpcikKKyAgICAgICAgc2VsZi5hc3NlcnRDb21waWxlZChzdWJpbml0Zm4pCisgICAgICAgIHNlbGYuYXNzZXJ0Q29tcGlsZWQoaGFtZm4pCisgICAgICAgIHNlbGYuYXNzZXJ0Q29tcGlsZWQoc3BhbWZuKQorICAgICAgICBzZWxmLmFzc2VydE5vdENvbXBpbGVkKGVnZ2ZuKQorCisgICAgICAgIHNlbGYuYXNzZXJ0UnVuT0soJy1xJywgJy1yIDUnLCBzZWxmLnBrZ2RpcikKKyAgICAgICAgc2VsZi5hc3NlcnRDb21waWxlZChzdWJpbml0Zm4pCisgICAgICAgIHNlbGYuYXNzZXJ0Q29tcGlsZWQoaGFtZm4pCisgICAgICAgIHNlbGYuYXNzZXJ0Q29tcGlsZWQoc3BhbWZuKQorICAgICAgICBzZWxmLmFzc2VydENvbXBpbGVkKGVnZ2ZuKQorCiAgICAgZGVmIHRlc3RfcXVpZXQoc2VsZik6CiAgICAgICAgIG5vaXN5ID0gc2VsZi5hc3NlcnRSdW5PSyhzZWxmLnBrZ2RpcikKICAgICAgICAgcXVpZXQgPSBzZWxmLmFzc2VydFJ1bk9LKCctcScsIHNlbGYucGtnZGlyKQogICAgICAgICBzZWxmLmFzc2VydE5vdEVxdWFsKGInJywgbm9pc3kpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYicnLCBxdWlldCkKIAorICAgIGRlZiB0ZXN0X3NpbGVudChzZWxmKToKKyAgICAgICAgc2NyaXB0X2hlbHBlci5tYWtlX3NjcmlwdChzZWxmLnBrZ2RpciwgJ2NydW5jaHlmcm9nJywgJ2JhZChzeW50YXgnKQorICAgICAgICBfLCBxdWlldCwgXyA9IHNlbGYuYXNzZXJ0UnVuTm90T0soJy1xJywgc2VsZi5wa2dkaXIpCisgICAgICAgIF8sIHNpbGVudCwgXyA9IHNlbGYuYXNzZXJ0UnVuTm90T0soJy1xcScsIHNlbGYucGtnZGlyKQorICAgICAgICBzZWxmLmFzc2VydE5vdEVxdWFsKGInJywgcXVpZXQpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYicnLCBzaWxlbnQpCisKICAgICBkZWYgdGVzdF9yZWdleHAoc2VsZik6CiAgICAgICAgIHNlbGYuYXNzZXJ0UnVuT0soJy1xJywgJy14JywgcidiYVteXFwvXSokJywgc2VsZi5wa2dkaXIpCiAgICAgICAgIHNlbGYuYXNzZXJ0Tm90Q29tcGlsZWQoc2VsZi5iYXJmbikKQEAgLTM3OSw2ICs0NTQsMjkgQEAKICAgICAgICAgb3V0ID0gc2VsZi5hc3NlcnRSdW5PSygnYmFkZmlsZW5hbWUnKQogICAgICAgICBzZWxmLmFzc2VydFJlZ2V4KG91dCwgYiJDYW4ndCBsaXN0ICdiYWRmaWxlbmFtZSciKQogCisgICAgQHNraXBVbmxlc3MoX2hhdmVfbXVsdGlwcm9jZXNzaW5nLCAicmVxdWlyZXMgbXVsdGlwcm9jZXNzaW5nIikKKyAgICBkZWYgdGVzdF93b3JrZXJzKHNlbGYpOgorICAgICAgICBiYXIyZm4gPSBzY3JpcHRfaGVscGVyLm1ha2Vfc2NyaXB0KHNlbGYuZGlyZWN0b3J5LCAnYmFyMicsICcnKQorICAgICAgICBmaWxlcyA9IFtdCisgICAgICAgIGZvciBzdWZmaXggaW4gcmFuZ2UoNSk6CisgICAgICAgICAgICBwa2dkaXIgPSBvcy5wYXRoLmpvaW4oc2VsZi5kaXJlY3RvcnksICdmb297fScuZm9ybWF0KHN1ZmZpeCkpCisgICAgICAgICAgICBvcy5ta2Rpcihwa2dkaXIpCisgICAgICAgICAgICBmbiA9IHNjcmlwdF9oZWxwZXIubWFrZV9zY3JpcHQocGtnZGlyLCAnX19pbml0X18nLCAnJykKKyAgICAgICAgICAgIGZpbGVzLmFwcGVuZChzY3JpcHRfaGVscGVyLm1ha2Vfc2NyaXB0KHBrZ2RpciwgJ2JhcjInLCAnJykpCisKKyAgICAgICAgc2VsZi5hc3NlcnRSdW5PSyhzZWxmLmRpcmVjdG9yeSwgJy1qJywgJzAnKQorICAgICAgICBzZWxmLmFzc2VydENvbXBpbGVkKGJhcjJmbikKKyAgICAgICAgZm9yIGZpbGUgaW4gZmlsZXM6CisgICAgICAgICAgICBzZWxmLmFzc2VydENvbXBpbGVkKGZpbGUpCisKKyAgICBAbW9jay5wYXRjaCgnY29tcGlsZWFsbC5jb21waWxlX2RpcicpCisgICAgZGVmIHRlc3Rfd29ya2Vyc19hdmFpbGFibGVfY29yZXMoc2VsZiwgY29tcGlsZV9kaXIpOgorICAgICAgICB3aXRoIG1vY2sucGF0Y2goInN5cy5hcmd2IiwKKyAgICAgICAgICAgICAgICAgICAgICAgIG5ldz1bc3lzLmV4ZWN1dGFibGUsIHNlbGYuZGlyZWN0b3J5LCAiLWowIl0pOgorICAgICAgICAgICAgY29tcGlsZWFsbC5tYWluKCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShjb21waWxlX2Rpci5jYWxsZWQpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNvbXBpbGVfZGlyLmNhbGxfYXJnc1stMV1bJ3dvcmtlcnMnXSwgTm9uZSkKKwogCiBpZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgogICAgIHVuaXR0ZXN0Lm1haW4oKQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9jb25jdXJyZW50X2Z1dHVyZXMucHkgYi9MaWIvdGVzdC90ZXN0X2NvbmN1cnJlbnRfZnV0dXJlcy5weQppbmRleCBjNzRiMmNhLi44NjgwMmMyIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2NvbmN1cnJlbnRfZnV0dXJlcy5weQorKysgYi9MaWIvdGVzdC90ZXN0X2NvbmN1cnJlbnRfZnV0dXJlcy5weQpAQCAtMTEsNiArMTEsNyBAQAogCiBmcm9tIHRlc3Quc2NyaXB0X2hlbHBlciBpbXBvcnQgYXNzZXJ0X3B5dGhvbl9vawogCitpbXBvcnQgb3MKIGltcG9ydCBzeXMKIGltcG9ydCB0aHJlYWRpbmcKIGltcG9ydCB0aW1lCkBAIC00MjUsNiArNDI2LDEzIEBACiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShjb2xsZWN0ZWQsCiAgICAgICAgICAgICAgICAgICAgICAgICAiU3RhbGUgcmVmZXJlbmNlIG5vdCBjb2xsZWN0ZWQgd2l0aGluIHRpbWVvdXQuIikKIAorICAgIGRlZiB0ZXN0X21heF93b3JrZXJzX25lZ2F0aXZlKHNlbGYpOgorICAgICAgICBmb3IgbnVtYmVyIGluICgwLCAtMSk6CisgICAgICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgoVmFsdWVFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibWF4X3dvcmtlcnMgbXVzdCBiZSBncmVhdGVyICIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGhhbiAwIik6CisgICAgICAgICAgICAgICAgc2VsZi5leGVjdXRvcl90eXBlKG1heF93b3JrZXJzPW51bWJlcikKKwogCiBjbGFzcyBUaHJlYWRQb29sRXhlY3V0b3JUZXN0KFRocmVhZFBvb2xNaXhpbiwgRXhlY3V0b3JUZXN0LCB1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgZGVmIHRlc3RfbWFwX3N1Ym1pdHNfd2l0aG91dF9pdGVyYXRpb24oc2VsZik6CkBAIC00MzcsNiArNDQ1LDExIEBACiAgICAgICAgIHNlbGYuZXhlY3V0b3Iuc2h1dGRvd24od2FpdD1UcnVlKQogICAgICAgICBzZWxmLmFzc2VydENvdW50RXF1YWwoZmluaXNoZWQsIHJhbmdlKDEwKSkKIAorICAgIGRlZiB0ZXN0X2RlZmF1bHRfd29ya2VycyhzZWxmKToKKyAgICAgICAgZXhlY3V0b3IgPSBzZWxmLmV4ZWN1dG9yX3R5cGUoKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGV4ZWN1dG9yLl9tYXhfd29ya2VycywKKyAgICAgICAgICAgICAgICAgICAgICAgICAob3MuY3B1X2NvdW50KCkgb3IgMSkgKiA1KQorCiAKIGNsYXNzIFByb2Nlc3NQb29sRXhlY3V0b3JUZXN0KFByb2Nlc3NQb29sTWl4aW4sIEV4ZWN1dG9yVGVzdCwgdW5pdHRlc3QuVGVzdENhc2UpOgogICAgIGRlZiB0ZXN0X2tpbGxlZF9jaGlsZChzZWxmKToKQEAgLTQ1MSw2ICs0NjQsNDggQEAKICAgICAgICAgIyBTdWJtaXR0aW5nIG90aGVyIGpvYnMgZmFpbHMgYXMgd2VsbC4KICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoQnJva2VuUHJvY2Vzc1Bvb2wsIHNlbGYuZXhlY3V0b3Iuc3VibWl0LCBwb3csIDIsIDgpCiAKKyAgICBkZWYgdGVzdF9tYXBfY2h1bmtzaXplKHNlbGYpOgorICAgICAgICBkZWYgYmFkX21hcCgpOgorICAgICAgICAgICAgbGlzdChzZWxmLmV4ZWN1dG9yLm1hcChwb3csIHJhbmdlKDQwKSwgcmFuZ2UoNDApLCBjaHVua3NpemU9LTEpKQorCisgICAgICAgIHJlZiA9IGxpc3QobWFwKHBvdywgcmFuZ2UoNDApLCByYW5nZSg0MCkpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKAorICAgICAgICAgICAgbGlzdChzZWxmLmV4ZWN1dG9yLm1hcChwb3csIHJhbmdlKDQwKSwgcmFuZ2UoNDApLCBjaHVua3NpemU9NikpLAorICAgICAgICAgICAgcmVmKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKAorICAgICAgICAgICAgbGlzdChzZWxmLmV4ZWN1dG9yLm1hcChwb3csIHJhbmdlKDQwKSwgcmFuZ2UoNDApLCBjaHVua3NpemU9NTApKSwKKyAgICAgICAgICAgIHJlZikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgKKyAgICAgICAgICAgIGxpc3Qoc2VsZi5leGVjdXRvci5tYXAocG93LCByYW5nZSg0MCksIHJhbmdlKDQwKSwgY2h1bmtzaXplPTQwKSksCisgICAgICAgICAgICByZWYpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIGJhZF9tYXApCisKKyAgICBAY2xhc3NtZXRob2QKKyAgICBkZWYgX3Rlc3RfdHJhY2ViYWNrKGNscyk6CisgICAgICAgIHJhaXNlIFJ1bnRpbWVFcnJvcigxMjMpICMgc29tZSBjb21tZW50CisKKyAgICBkZWYgdGVzdF90cmFjZWJhY2soc2VsZik6CisgICAgICAgICMgV2Ugd2FudCBlbnN1cmUgdGhhdCB0aGUgdHJhY2ViYWNrIGZyb20gdGhlIGNoaWxkIHByb2Nlc3MgaXMKKyAgICAgICAgIyBjb250YWluZWQgaW4gdGhlIHRyYWNlYmFjayByYWlzZWQgaW4gdGhlIG1haW4gcHJvY2Vzcy4KKyAgICAgICAgZnV0dXJlID0gc2VsZi5leGVjdXRvci5zdWJtaXQoc2VsZi5fdGVzdF90cmFjZWJhY2spCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoRXhjZXB0aW9uKSBhcyBjbToKKyAgICAgICAgICAgIGZ1dHVyZS5yZXN1bHQoKQorCisgICAgICAgIGV4YyA9IGNtLmV4Y2VwdGlvbgorICAgICAgICBzZWxmLmFzc2VydElzKHR5cGUoZXhjKSwgUnVudGltZUVycm9yKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGV4Yy5hcmdzLCAoMTIzLCkpCisgICAgICAgIGNhdXNlID0gZXhjLl9fY2F1c2VfXworICAgICAgICBzZWxmLmFzc2VydElzKHR5cGUoY2F1c2UpLCBmdXR1cmVzLnByb2Nlc3MuX1JlbW90ZVRyYWNlYmFjaykKKyAgICAgICAgc2VsZi5hc3NlcnRJbigncmFpc2UgUnVudGltZUVycm9yKDEyMykgIyBzb21lIGNvbW1lbnQnLCBjYXVzZS50YikKKworICAgICAgICB3aXRoIHRlc3Quc3VwcG9ydC5jYXB0dXJlZF9zdGRlcnIoKSBhcyBmMToKKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICByYWlzZSBleGMKKyAgICAgICAgICAgIGV4Y2VwdCBSdW50aW1lRXJyb3I6CisgICAgICAgICAgICAgICAgc3lzLmV4Y2VwdGhvb2soKnN5cy5leGNfaW5mbygpKQorICAgICAgICBzZWxmLmFzc2VydEluKCdyYWlzZSBSdW50aW1lRXJyb3IoMTIzKSAjIHNvbWUgY29tbWVudCcsCisgICAgICAgICAgICAgICAgICAgICAgZjEuZ2V0dmFsdWUoKSkKKwogCiBjbGFzcyBGdXR1cmVUZXN0cyh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgZGVmIHRlc3RfZG9uZV9jYWxsYmFja193aXRoX3Jlc3VsdChzZWxmKToKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfY29uZmlncGFyc2VyLnB5IGIvTGliL3Rlc3QvdGVzdF9jb25maWdwYXJzZXIucHkKaW5kZXggMDljMjI5YS4uNDcwZDJjZCAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9jb25maWdwYXJzZXIucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9jb25maWdwYXJzZXIucHkKQEAgLTU3OSw3ICs1NzksNyBAQAogICAgICAgICAgICAgcmV0dXJuIGUKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIHNlbGYuZmFpbCgiZXhwZWN0ZWQgZXhjZXB0aW9uIHR5cGUgJXMuJXMiCi0gICAgICAgICAgICAgICAgICAgICAgJSAoZXhjLl9fbW9kdWxlX18sIGV4Yy5fX25hbWVfXykpCisgICAgICAgICAgICAgICAgICAgICAgJSAoZXhjLl9fbW9kdWxlX18sIGV4Yy5fX3F1YWxuYW1lX18pKQogCiAgICAgZGVmIHRlc3RfYm9vbGVhbihzZWxmKToKICAgICAgICAgY2YgPSBzZWxmLmZyb21zdHJpbmcoCkBAIC0xNTg0LDYgKzE1ODQsMzQgQEAKICAgICAgICAgIiIiKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlcHIocGFyc2VyWydzZWN0aW9uJ10pLCAnPFNlY3Rpb246IHNlY3Rpb24+JykKIAorICAgIGRlZiB0ZXN0X2luY29uc2lzdGVudF9jb252ZXJ0ZXJzX3N0YXRlKHNlbGYpOgorICAgICAgICBwYXJzZXIgPSBjb25maWdwYXJzZXIuQ29uZmlnUGFyc2VyKCkKKyAgICAgICAgaW1wb3J0IGRlY2ltYWwKKyAgICAgICAgcGFyc2VyLmNvbnZlcnRlcnNbJ2RlY2ltYWwnXSA9IGRlY2ltYWwuRGVjaW1hbAorICAgICAgICBwYXJzZXIucmVhZF9zdHJpbmcoIiIiCisgICAgICAgICAgICBbczFdCisgICAgICAgICAgICBvbmUgPSAxCisgICAgICAgICAgICBbczJdCisgICAgICAgICAgICB0d28gPSAyCisgICAgICAgICIiIikKKyAgICAgICAgc2VsZi5hc3NlcnRJbignZGVjaW1hbCcsIHBhcnNlci5jb252ZXJ0ZXJzKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHBhcnNlci5nZXRkZWNpbWFsKCdzMScsICdvbmUnKSwgMSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwYXJzZXIuZ2V0ZGVjaW1hbCgnczInLCAndHdvJyksIDIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocGFyc2VyWydzMSddLmdldGRlY2ltYWwoJ29uZScpLCAxKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHBhcnNlclsnczInXS5nZXRkZWNpbWFsKCd0d28nKSwgMikKKyAgICAgICAgZGVsIHBhcnNlci5nZXRkZWNpbWFsCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoQXR0cmlidXRlRXJyb3IpOgorICAgICAgICAgICAgcGFyc2VyLmdldGRlY2ltYWwoJ3MxJywgJ29uZScpCisgICAgICAgIHNlbGYuYXNzZXJ0SW4oJ2RlY2ltYWwnLCBwYXJzZXIuY29udmVydGVycykKKyAgICAgICAgZGVsIHBhcnNlci5jb252ZXJ0ZXJzWydkZWNpbWFsJ10KKyAgICAgICAgc2VsZi5hc3NlcnROb3RJbignZGVjaW1hbCcsIHBhcnNlci5jb252ZXJ0ZXJzKQorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKEF0dHJpYnV0ZUVycm9yKToKKyAgICAgICAgICAgIHBhcnNlci5nZXRkZWNpbWFsKCdzMScsICdvbmUnKQorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKEF0dHJpYnV0ZUVycm9yKToKKyAgICAgICAgICAgIHBhcnNlclsnczEnXS5nZXRkZWNpbWFsKCdvbmUnKQorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKEF0dHJpYnV0ZUVycm9yKToKKyAgICAgICAgICAgIHBhcnNlclsnczInXS5nZXRkZWNpbWFsKCd0d28nKQorCiAKIGNsYXNzIEV4Y2VwdGlvblBpY2tsaW5nVGVzdENhc2UodW5pdHRlc3QuVGVzdENhc2UpOgogICAgICIiIlRlc3RzIGZvciBpc3N1ZSAjMTM3NjA6IENvbmZpZ1BhcnNlciBleGNlcHRpb25zIGFyZSBub3QgcGlja2xhYmxlLiIiIgpAQCAtMTc3Niw1ICsxODA0LDI1MiBAQAogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNbJ2szJ10sICd2MzsjLy9zdGlsbCB2MyMgYW5kIHN0aWxsIHYzJykKIAogCitjbGFzcyBFeGNlcHRpb25Db250ZXh0VGVzdENhc2UodW5pdHRlc3QuVGVzdENhc2UpOgorICAgICIiIiBUZXN0IHRoYXQgaW1wbGVtZW50YXRpb24gZGV0YWlscyBkb2Vzbid0IGxlYWsKKyAgICB0aHJvdWdoIHJhaXNpbmcgZXhjZXB0aW9ucy4gIiIiCisKKyAgICBkZWYgdGVzdF9nZXRfYmFzaWNfaW50ZXJwb2xhdGlvbihzZWxmKToKKyAgICAgICAgcGFyc2VyID0gY29uZmlncGFyc2VyLkNvbmZpZ1BhcnNlcigpCisgICAgICAgIHBhcnNlci5yZWFkX3N0cmluZygiIiIKKyAgICAgICAgW1BhdGhzXQorICAgICAgICBob21lX2RpcjogL1VzZXJzCisgICAgICAgIG15X2RpcjogJShob21lX2RpcjEpcy9sdW1iZXJqYWNrCisgICAgICAgIG15X3BpY3R1cmVzOiAlKG15X2RpcilzL1BpY3R1cmVzCisgICAgICAgICIiIikKKyAgICAgICAgY20gPSBzZWxmLmFzc2VydFJhaXNlcyhjb25maWdwYXJzZXIuSW50ZXJwb2xhdGlvbk1pc3NpbmdPcHRpb25FcnJvcikKKyAgICAgICAgd2l0aCBjbToKKyAgICAgICAgICAgIHBhcnNlci5nZXQoJ1BhdGhzJywgJ215X2RpcicpCisgICAgICAgIHNlbGYuYXNzZXJ0SXMoY20uZXhjZXB0aW9uLl9fc3VwcHJlc3NfY29udGV4dF9fLCBUcnVlKQorCisgICAgZGVmIHRlc3RfZ2V0X2V4dGVuZGVkX2ludGVycG9sYXRpb24oc2VsZik6CisgICAgICAgIHBhcnNlciA9IGNvbmZpZ3BhcnNlci5Db25maWdQYXJzZXIoCisgICAgICAgICAgaW50ZXJwb2xhdGlvbj1jb25maWdwYXJzZXIuRXh0ZW5kZWRJbnRlcnBvbGF0aW9uKCkpCisgICAgICAgIHBhcnNlci5yZWFkX3N0cmluZygiIiIKKyAgICAgICAgW1BhdGhzXQorICAgICAgICBob21lX2RpcjogL1VzZXJzCisgICAgICAgIG15X2RpcjogJHtob21lX2RpcjF9L2x1bWJlcmphY2sKKyAgICAgICAgbXlfcGljdHVyZXM6ICR7bXlfZGlyfS9QaWN0dXJlcworICAgICAgICAiIiIpCisgICAgICAgIGNtID0gc2VsZi5hc3NlcnRSYWlzZXMoY29uZmlncGFyc2VyLkludGVycG9sYXRpb25NaXNzaW5nT3B0aW9uRXJyb3IpCisgICAgICAgIHdpdGggY206CisgICAgICAgICAgICBwYXJzZXIuZ2V0KCdQYXRocycsICdteV9kaXInKQorICAgICAgICBzZWxmLmFzc2VydElzKGNtLmV4Y2VwdGlvbi5fX3N1cHByZXNzX2NvbnRleHRfXywgVHJ1ZSkKKworICAgIGRlZiB0ZXN0X21pc3Npbmdfb3B0aW9ucyhzZWxmKToKKyAgICAgICAgcGFyc2VyID0gY29uZmlncGFyc2VyLkNvbmZpZ1BhcnNlcigpCisgICAgICAgIHBhcnNlci5yZWFkX3N0cmluZygiIiIKKyAgICAgICAgW1BhdGhzXQorICAgICAgICBob21lX2RpcjogL1VzZXJzCisgICAgICAgICIiIikKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhjb25maWdwYXJzZXIuTm9TZWN0aW9uRXJyb3IpIGFzIGNtOgorICAgICAgICAgICAgcGFyc2VyLm9wdGlvbnMoJ3Rlc3QnKQorICAgICAgICBzZWxmLmFzc2VydElzKGNtLmV4Y2VwdGlvbi5fX3N1cHByZXNzX2NvbnRleHRfXywgVHJ1ZSkKKworICAgIGRlZiB0ZXN0X21pc3Npbmdfc2VjdGlvbihzZWxmKToKKyAgICAgICAgY29uZmlnID0gY29uZmlncGFyc2VyLkNvbmZpZ1BhcnNlcigpCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoY29uZmlncGFyc2VyLk5vU2VjdGlvbkVycm9yKSBhcyBjbToKKyAgICAgICAgICAgIGNvbmZpZy5zZXQoJ1NlY3Rpb24xJywgJ2FuX2ludCcsICcxNScpCisgICAgICAgIHNlbGYuYXNzZXJ0SXMoY20uZXhjZXB0aW9uLl9fc3VwcHJlc3NfY29udGV4dF9fLCBUcnVlKQorCisgICAgZGVmIHRlc3RfcmVtb3ZlX29wdGlvbihzZWxmKToKKyAgICAgICAgY29uZmlnID0gY29uZmlncGFyc2VyLkNvbmZpZ1BhcnNlcigpCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoY29uZmlncGFyc2VyLk5vU2VjdGlvbkVycm9yKSBhcyBjbToKKyAgICAgICAgICAgIGNvbmZpZy5yZW1vdmVfb3B0aW9uKCdTZWN0aW9uMScsICdhbl9pbnQnKQorICAgICAgICBzZWxmLmFzc2VydElzKGNtLmV4Y2VwdGlvbi5fX3N1cHByZXNzX2NvbnRleHRfXywgVHJ1ZSkKKworCitjbGFzcyBDb252ZXJ0ZXJzVGVzdENhc2UoQmFzaWNUZXN0Q2FzZSwgdW5pdHRlc3QuVGVzdENhc2UpOgorICAgICIiIkludHJvZHVjZWQgaW4gMy41LCBpc3N1ZSAjMTgxNTkuIiIiCisKKyAgICBjb25maWdfY2xhc3MgPSBjb25maWdwYXJzZXIuQ29uZmlnUGFyc2VyCisKKyAgICBkZWYgbmV3Y29uZmlnKHNlbGYsIGRlZmF1bHRzPU5vbmUpOgorICAgICAgICBpbnN0YW5jZSA9IHN1cGVyKCkubmV3Y29uZmlnKGRlZmF1bHRzPWRlZmF1bHRzKQorICAgICAgICBpbnN0YW5jZS5jb252ZXJ0ZXJzWydsaXN0J10gPSBsYW1iZGEgdjogW2Uuc3RyaXAoKSBmb3IgZSBpbiB2LnNwbGl0KCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiBlLnN0cmlwKCldCisgICAgICAgIHJldHVybiBpbnN0YW5jZQorCisgICAgZGVmIHRlc3RfY29udmVydGVycyhzZWxmKToKKyAgICAgICAgY2ZnID0gc2VsZi5uZXdjb25maWcoKQorICAgICAgICBzZWxmLmFzc2VydEluKCdib29sZWFuJywgY2ZnLmNvbnZlcnRlcnMpCisgICAgICAgIHNlbGYuYXNzZXJ0SW4oJ2xpc3QnLCBjZmcuY29udmVydGVycykKKyAgICAgICAgc2VsZi5hc3NlcnRJc05vbmUoY2ZnLmNvbnZlcnRlcnNbJ2ludCddKQorICAgICAgICBzZWxmLmFzc2VydElzTm9uZShjZmcuY29udmVydGVyc1snZmxvYXQnXSkKKyAgICAgICAgc2VsZi5hc3NlcnRJc05vbmUoY2ZnLmNvbnZlcnRlcnNbJ2Jvb2xlYW4nXSkKKyAgICAgICAgc2VsZi5hc3NlcnRJc05vdE5vbmUoY2ZnLmNvbnZlcnRlcnNbJ2xpc3QnXSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4oY2ZnLmNvbnZlcnRlcnMpLCA0KQorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IpOgorICAgICAgICAgICAgY2ZnLmNvbnZlcnRlcnNbJyddID0gbGFtYmRhIHY6IHYKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yKToKKyAgICAgICAgICAgIGNmZy5jb252ZXJ0ZXJzW05vbmVdID0gbGFtYmRhIHY6IHYKKyAgICAgICAgY2ZnLnJlYWRfc3RyaW5nKCIiIgorICAgICAgICBbc10KKyAgICAgICAgc3RyID0gc3RyaW5nCisgICAgICAgIGludCA9IDEKKyAgICAgICAgZmxvYXQgPSAwLjUKKyAgICAgICAgbGlzdCA9IGEgYiBjIGQgZSBmIGcKKyAgICAgICAgYm9vbCA9IHllcworICAgICAgICAiIiIpCisgICAgICAgIHMgPSBjZmdbJ3MnXQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNbJ3N0ciddLCAnc3RyaW5nJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzWydpbnQnXSwgJzEnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNbJ2Zsb2F0J10sICcwLjUnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNbJ2xpc3QnXSwgJ2EgYiBjIGQgZSBmIGcnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNbJ2Jvb2wnXSwgJ3llcycpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY2ZnLmdldCgncycsICdzdHInKSwgJ3N0cmluZycpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY2ZnLmdldCgncycsICdpbnQnKSwgJzEnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNmZy5nZXQoJ3MnLCAnZmxvYXQnKSwgJzAuNScpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY2ZnLmdldCgncycsICdsaXN0JyksICdhIGIgYyBkIGUgZiBnJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjZmcuZ2V0KCdzJywgJ2Jvb2wnKSwgJ3llcycpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY2ZnLmdldCgncycsICdzdHInKSwgJ3N0cmluZycpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY2ZnLmdldGludCgncycsICdpbnQnKSwgMSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjZmcuZ2V0ZmxvYXQoJ3MnLCAnZmxvYXQnKSwgMC41KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNmZy5nZXRsaXN0KCdzJywgJ2xpc3QnKSwgWydhJywgJ2InLCAnYycsICdkJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZScsICdmJywgJ2cnXSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjZmcuZ2V0Ym9vbGVhbigncycsICdib29sJyksIFRydWUpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocy5nZXQoJ3N0cicpLCAnc3RyaW5nJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzLmdldGludCgnaW50JyksIDEpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocy5nZXRmbG9hdCgnZmxvYXQnKSwgMC41KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHMuZ2V0bGlzdCgnbGlzdCcpLCBbJ2EnLCAnYicsICdjJywgJ2QnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2UnLCAnZicsICdnJ10pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocy5nZXRib29sZWFuKCdib29sJyksIFRydWUpCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoQXR0cmlidXRlRXJyb3IpOgorICAgICAgICAgICAgY2ZnLmdldGRlY2ltYWwoJ3MnLCAnZmxvYXQnKQorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKEF0dHJpYnV0ZUVycm9yKToKKyAgICAgICAgICAgIHMuZ2V0ZGVjaW1hbCgnZmxvYXQnKQorICAgICAgICBpbXBvcnQgZGVjaW1hbAorICAgICAgICBjZmcuY29udmVydGVyc1snZGVjaW1hbCddID0gZGVjaW1hbC5EZWNpbWFsCisgICAgICAgIHNlbGYuYXNzZXJ0SW4oJ2RlY2ltYWwnLCBjZmcuY29udmVydGVycykKKyAgICAgICAgc2VsZi5hc3NlcnRJc05vdE5vbmUoY2ZnLmNvbnZlcnRlcnNbJ2RlY2ltYWwnXSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4oY2ZnLmNvbnZlcnRlcnMpLCA1KQorICAgICAgICBkZWMwXzUgPSBkZWNpbWFsLkRlY2ltYWwoJzAuNScpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY2ZnLmdldGRlY2ltYWwoJ3MnLCAnZmxvYXQnKSwgZGVjMF81KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHMuZ2V0ZGVjaW1hbCgnZmxvYXQnKSwgZGVjMF81KQorICAgICAgICBkZWwgY2ZnLmNvbnZlcnRlcnNbJ2RlY2ltYWwnXQorICAgICAgICBzZWxmLmFzc2VydE5vdEluKCdkZWNpbWFsJywgY2ZnLmNvbnZlcnRlcnMpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKGNmZy5jb252ZXJ0ZXJzKSwgNCkKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhBdHRyaWJ1dGVFcnJvcik6CisgICAgICAgICAgICBjZmcuZ2V0ZGVjaW1hbCgncycsICdmbG9hdCcpCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoQXR0cmlidXRlRXJyb3IpOgorICAgICAgICAgICAgcy5nZXRkZWNpbWFsKCdmbG9hdCcpCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoS2V5RXJyb3IpOgorICAgICAgICAgICAgZGVsIGNmZy5jb252ZXJ0ZXJzWydkZWNpbWFsJ10KKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhLZXlFcnJvcik6CisgICAgICAgICAgICBkZWwgY2ZnLmNvbnZlcnRlcnNbJyddCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoS2V5RXJyb3IpOgorICAgICAgICAgICAgZGVsIGNmZy5jb252ZXJ0ZXJzW05vbmVdCisKKworY2xhc3MgQmxhdGFudE92ZXJyaWRlQ29udmVydGVyc1Rlc3RDYXNlKHVuaXR0ZXN0LlRlc3RDYXNlKToKKyAgICAiIiJXaGF0IGlmIHNvbWVib2R5IG92ZXJyb2RlIGEgZ2V0Ym9vbGVhbigpPyBXZSB3YW50IHRvIG1ha2Ugc3VyZSB0aGF0IGluCisgICAgdGhpcyBjYXNlIHRoZSBhdXRvbWF0aWMgY29udmVydGVycyBkbyBub3Qga2ljayBpbi4iIiIKKworICAgIGNvbmZpZyA9ICIiIgorICAgICAgICBbb25lXQorICAgICAgICBvbmUgPSBmYWxzZQorICAgICAgICB0d28gPSBmYWxzZQorICAgICAgICB0aHJlZSA9IGxvbmcgc3Rvcnkgc2hvcnQKKworICAgICAgICBbdHdvXQorICAgICAgICBvbmUgPSBmYWxzZQorICAgICAgICB0d28gPSBmYWxzZQorICAgICAgICB0aHJlZSA9IGZvdXIKKyAgICAiIiIKKworICAgIGRlZiB0ZXN0X2NvbnZlcnRlcnNfYXRfaW5pdChzZWxmKToKKyAgICAgICAgY2ZnID0gY29uZmlncGFyc2VyLkNvbmZpZ1BhcnNlcihjb252ZXJ0ZXJzPXsnbGVuJzogbGVufSkKKyAgICAgICAgY2ZnLnJlYWRfc3RyaW5nKHNlbGYuY29uZmlnKQorICAgICAgICBzZWxmLl90ZXN0X2xlbihjZmcpCisgICAgICAgIHNlbGYuYXNzZXJ0SXNOb3ROb25lKGNmZy5jb252ZXJ0ZXJzWydsZW4nXSkKKworICAgIGRlZiB0ZXN0X2luaGVyaXRhbmNlKHNlbGYpOgorICAgICAgICBjbGFzcyBTdHJhbmdlQ29uZmlnUGFyc2VyKGNvbmZpZ3BhcnNlci5Db25maWdQYXJzZXIpOgorICAgICAgICAgICAgZ2V0dHlzYnVyZyA9ICdhIGhpc3RvcmljIGJvcm91Z2ggaW4gc291dGggY2VudHJhbCBQZW5uc3lsdmFuaWEnCisKKyAgICAgICAgICAgIGRlZiBnZXRib29sZWFuKHNlbGYsIHNlY3Rpb24sIG9wdGlvbiwgKiwgcmF3PUZhbHNlLCB2YXJzPU5vbmUsCisgICAgICAgICAgICAgICAgICAgICAgICBmYWxsYmFjaz1jb25maWdwYXJzZXIuX1VOU0VUKToKKyAgICAgICAgICAgICAgICBpZiBzZWN0aW9uID09IG9wdGlvbjoKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFRydWUKKyAgICAgICAgICAgICAgICByZXR1cm4gc3VwZXIoKS5nZXRib29sZWFuKHNlY3Rpb24sIG9wdGlvbiwgcmF3PXJhdywgdmFycz12YXJzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFsbGJhY2s9ZmFsbGJhY2spCisgICAgICAgICAgICBkZWYgZ2V0bGVuKHNlbGYsIHNlY3Rpb24sIG9wdGlvbiwgKiwgcmF3PUZhbHNlLCB2YXJzPU5vbmUsCisgICAgICAgICAgICAgICAgICAgICAgIGZhbGxiYWNrPWNvbmZpZ3BhcnNlci5fVU5TRVQpOgorICAgICAgICAgICAgICAgIHJldHVybiBzZWxmLl9nZXRfY29udihzZWN0aW9uLCBvcHRpb24sIGxlbiwgcmF3PXJhdywgdmFycz12YXJzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYWxsYmFjaz1mYWxsYmFjaykKKworICAgICAgICBjZmcgPSBTdHJhbmdlQ29uZmlnUGFyc2VyKCkKKyAgICAgICAgY2ZnLnJlYWRfc3RyaW5nKHNlbGYuY29uZmlnKQorICAgICAgICBzZWxmLl90ZXN0X2xlbihjZmcpCisgICAgICAgIHNlbGYuYXNzZXJ0SXNOb25lKGNmZy5jb252ZXJ0ZXJzWydsZW4nXSkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGNmZy5nZXRib29sZWFuKCdvbmUnLCAnb25lJykpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShjZmcuZ2V0Ym9vbGVhbigndHdvJywgJ3R3bycpKQorICAgICAgICBzZWxmLmFzc2VydEZhbHNlKGNmZy5nZXRib29sZWFuKCdvbmUnLCAndHdvJykpCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoY2ZnLmdldGJvb2xlYW4oJ3R3bycsICdvbmUnKSkKKyAgICAgICAgY2ZnLmNvbnZlcnRlcnNbJ2Jvb2xlYW4nXSA9IGNmZy5fY29udmVydF90b19ib29sZWFuCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoY2ZnLmdldGJvb2xlYW4oJ29uZScsICdvbmUnKSkKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShjZmcuZ2V0Ym9vbGVhbigndHdvJywgJ3R3bycpKQorICAgICAgICBzZWxmLmFzc2VydEZhbHNlKGNmZy5nZXRib29sZWFuKCdvbmUnLCAndHdvJykpCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoY2ZnLmdldGJvb2xlYW4oJ3R3bycsICdvbmUnKSkKKworICAgIGRlZiBfdGVzdF9sZW4oc2VsZiwgY2ZnKToKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4oY2ZnLmNvbnZlcnRlcnMpLCA0KQorICAgICAgICBzZWxmLmFzc2VydEluKCdib29sZWFuJywgY2ZnLmNvbnZlcnRlcnMpCisgICAgICAgIHNlbGYuYXNzZXJ0SW4oJ2xlbicsIGNmZy5jb252ZXJ0ZXJzKQorICAgICAgICBzZWxmLmFzc2VydE5vdEluKCd0eXNidXJnJywgY2ZnLmNvbnZlcnRlcnMpCisgICAgICAgIHNlbGYuYXNzZXJ0SXNOb25lKGNmZy5jb252ZXJ0ZXJzWydpbnQnXSkKKyAgICAgICAgc2VsZi5hc3NlcnRJc05vbmUoY2ZnLmNvbnZlcnRlcnNbJ2Zsb2F0J10pCisgICAgICAgIHNlbGYuYXNzZXJ0SXNOb25lKGNmZy5jb252ZXJ0ZXJzWydib29sZWFuJ10pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY2ZnLmdldGxlbignb25lJywgJ29uZScpLCA1KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNmZy5nZXRsZW4oJ29uZScsICd0d28nKSwgNSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjZmcuZ2V0bGVuKCdvbmUnLCAndGhyZWUnKSwgMTYpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY2ZnLmdldGxlbigndHdvJywgJ29uZScpLCA1KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNmZy5nZXRsZW4oJ3R3bycsICd0d28nKSwgNSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjZmcuZ2V0bGVuKCd0d28nLCAndGhyZWUnKSwgNCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjZmcuZ2V0bGVuKCd0d28nLCAnZm91cicsIGZhbGxiYWNrPTApLCAwKQorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKGNvbmZpZ3BhcnNlci5Ob09wdGlvbkVycm9yKToKKyAgICAgICAgICAgIGNmZy5nZXRsZW4oJ3R3bycsICdmb3VyJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjZmdbJ29uZSddLmdldGxlbignb25lJyksIDUpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY2ZnWydvbmUnXS5nZXRsZW4oJ3R3bycpLCA1KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNmZ1snb25lJ10uZ2V0bGVuKCd0aHJlZScpLCAxNikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjZmdbJ3R3byddLmdldGxlbignb25lJyksIDUpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY2ZnWyd0d28nXS5nZXRsZW4oJ3R3bycpLCA1KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNmZ1sndHdvJ10uZ2V0bGVuKCd0aHJlZScpLCA0KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNmZ1sndHdvJ10uZ2V0bGVuKCdmb3VyJywgMCksIDApCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY2ZnWyd0d28nXS5nZXRsZW4oJ2ZvdXInKSwgTm9uZSkKKworICAgIGRlZiB0ZXN0X2luc3RhbmNlX2Fzc2lnbm1lbnQoc2VsZik6CisgICAgICAgIGNmZyA9IGNvbmZpZ3BhcnNlci5Db25maWdQYXJzZXIoKQorICAgICAgICBjZmcuZ2V0Ym9vbGVhbiA9IGxhbWJkYSBzZWN0aW9uLCBvcHRpb246IFRydWUKKyAgICAgICAgY2ZnLmdldGxlbiA9IGxhbWJkYSBzZWN0aW9uLCBvcHRpb246IGxlbihjZmdbc2VjdGlvbl1bb3B0aW9uXSkKKyAgICAgICAgY2ZnLnJlYWRfc3RyaW5nKHNlbGYuY29uZmlnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihjZmcuY29udmVydGVycyksIDMpCisgICAgICAgIHNlbGYuYXNzZXJ0SW4oJ2Jvb2xlYW4nLCBjZmcuY29udmVydGVycykKKyAgICAgICAgc2VsZi5hc3NlcnROb3RJbignbGVuJywgY2ZnLmNvbnZlcnRlcnMpCisgICAgICAgIHNlbGYuYXNzZXJ0SXNOb25lKGNmZy5jb252ZXJ0ZXJzWydpbnQnXSkKKyAgICAgICAgc2VsZi5hc3NlcnRJc05vbmUoY2ZnLmNvbnZlcnRlcnNbJ2Zsb2F0J10pCisgICAgICAgIHNlbGYuYXNzZXJ0SXNOb25lKGNmZy5jb252ZXJ0ZXJzWydib29sZWFuJ10pCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShjZmcuZ2V0Ym9vbGVhbignb25lJywgJ29uZScpKQorICAgICAgICBzZWxmLmFzc2VydFRydWUoY2ZnLmdldGJvb2xlYW4oJ3R3bycsICd0d28nKSkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGNmZy5nZXRib29sZWFuKCdvbmUnLCAndHdvJykpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShjZmcuZ2V0Ym9vbGVhbigndHdvJywgJ29uZScpKQorICAgICAgICBjZmcuY29udmVydGVyc1snYm9vbGVhbiddID0gY2ZnLl9jb252ZXJ0X3RvX2Jvb2xlYW4KKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShjZmcuZ2V0Ym9vbGVhbignb25lJywgJ29uZScpKQorICAgICAgICBzZWxmLmFzc2VydEZhbHNlKGNmZy5nZXRib29sZWFuKCd0d28nLCAndHdvJykpCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoY2ZnLmdldGJvb2xlYW4oJ29uZScsICd0d28nKSkKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShjZmcuZ2V0Ym9vbGVhbigndHdvJywgJ29uZScpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNmZy5nZXRsZW4oJ29uZScsICdvbmUnKSwgNSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjZmcuZ2V0bGVuKCdvbmUnLCAndHdvJyksIDUpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY2ZnLmdldGxlbignb25lJywgJ3RocmVlJyksIDE2KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNmZy5nZXRsZW4oJ3R3bycsICdvbmUnKSwgNSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjZmcuZ2V0bGVuKCd0d28nLCAndHdvJyksIDUpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY2ZnLmdldGxlbigndHdvJywgJ3RocmVlJyksIDQpCisgICAgICAgICMgSWYgYSBnZXR0ZXIgaW1wbCBpcyBhc3NpZ25lZCBzdHJhaWdodCB0byB0aGUgaW5zdGFuY2UsIGl0IHdvbid0CisgICAgICAgICMgYmUgYXZhaWxhYmxlIG9uIHRoZSBzZWN0aW9uIHByb3hpZXMuCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoQXR0cmlidXRlRXJyb3IpOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjZmdbJ29uZSddLmdldGxlbignb25lJyksIDUpCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoQXR0cmlidXRlRXJyb3IpOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjZmdbJ3R3byddLmdldGxlbignb25lJyksIDUpCisKKwogaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoKICAgICB1bml0dGVzdC5tYWluKCkKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfY29udGV4dGxpYi5weSBiL0xpYi90ZXN0L3Rlc3RfY29udGV4dGxpYi5weQppbmRleCAzOWNjNzc2Li5jNTIwNjZiIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2NvbnRleHRsaWIucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9jb250ZXh0bGliLnB5CkBAIC03MTgsNjAgKzcxOCw3NiBAQAogICAgICAgICBzdGFjay5wdXNoKGNtKQogICAgICAgICBzZWxmLmFzc2VydElzKHN0YWNrLl9leGl0X2NhbGxiYWNrc1stMV0sIGNtKQogCi1jbGFzcyBUZXN0UmVkaXJlY3RTdGRvdXQodW5pdHRlc3QuVGVzdENhc2UpOgorCitjbGFzcyBUZXN0UmVkaXJlY3RTdHJlYW06CisKKyAgICByZWRpcmVjdF9zdHJlYW0gPSBOb25lCisgICAgb3JpZ19zdHJlYW0gPSBOb25lCiAKICAgICBAc3VwcG9ydC5yZXF1aXJlc19kb2NzdHJpbmdzCiAgICAgZGVmIHRlc3RfaW5zdGFuY2VfZG9jcyhzZWxmKToKICAgICAgICAgIyBJc3N1ZSAxOTMzMDogZW5zdXJlIGNvbnRleHQgbWFuYWdlciBpbnN0YW5jZXMgaGF2ZSBnb29kIGRvY3N0cmluZ3MKLSAgICAgICAgY21fZG9jc3RyaW5nID0gcmVkaXJlY3Rfc3Rkb3V0Ll9fZG9jX18KLSAgICAgICAgb2JqID0gcmVkaXJlY3Rfc3Rkb3V0KE5vbmUpCisgICAgICAgIGNtX2RvY3N0cmluZyA9IHNlbGYucmVkaXJlY3Rfc3RyZWFtLl9fZG9jX18KKyAgICAgICAgb2JqID0gc2VsZi5yZWRpcmVjdF9zdHJlYW0oTm9uZSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChvYmouX19kb2NfXywgY21fZG9jc3RyaW5nKQogCiAgICAgZGVmIHRlc3Rfbm9fcmVkaXJlY3RfaW5faW5pdChzZWxmKToKLSAgICAgICAgb3JpZ19zdGRvdXQgPSBzeXMuc3Rkb3V0Ci0gICAgICAgIHJlZGlyZWN0X3N0ZG91dChOb25lKQotICAgICAgICBzZWxmLmFzc2VydElzKHN5cy5zdGRvdXQsIG9yaWdfc3Rkb3V0KQorICAgICAgICBvcmlnX3N0ZG91dCA9IGdldGF0dHIoc3lzLCBzZWxmLm9yaWdfc3RyZWFtKQorICAgICAgICBzZWxmLnJlZGlyZWN0X3N0cmVhbShOb25lKQorICAgICAgICBzZWxmLmFzc2VydElzKGdldGF0dHIoc3lzLCBzZWxmLm9yaWdfc3RyZWFtKSwgb3JpZ19zdGRvdXQpCiAKICAgICBkZWYgdGVzdF9yZWRpcmVjdF90b19zdHJpbmdfaW8oc2VsZik6CiAgICAgICAgIGYgPSBpby5TdHJpbmdJTygpCiAgICAgICAgIG1zZyA9ICJDb25zaWRlciBhbiBBUEkgbGlrZSBoZWxwKCksIHdoaWNoIHByaW50cyBkaXJlY3RseSB0byBzdGRvdXQiCi0gICAgICAgIG9yaWdfc3Rkb3V0ID0gc3lzLnN0ZG91dAotICAgICAgICB3aXRoIHJlZGlyZWN0X3N0ZG91dChmKToKLSAgICAgICAgICAgIHByaW50KG1zZykKLSAgICAgICAgc2VsZi5hc3NlcnRJcyhzeXMuc3Rkb3V0LCBvcmlnX3N0ZG91dCkKKyAgICAgICAgb3JpZ19zdGRvdXQgPSBnZXRhdHRyKHN5cywgc2VsZi5vcmlnX3N0cmVhbSkKKyAgICAgICAgd2l0aCBzZWxmLnJlZGlyZWN0X3N0cmVhbShmKToKKyAgICAgICAgICAgIHByaW50KG1zZywgZmlsZT1nZXRhdHRyKHN5cywgc2VsZi5vcmlnX3N0cmVhbSkpCisgICAgICAgIHNlbGYuYXNzZXJ0SXMoZ2V0YXR0cihzeXMsIHNlbGYub3JpZ19zdHJlYW0pLCBvcmlnX3N0ZG91dCkKICAgICAgICAgcyA9IGYuZ2V0dmFsdWUoKS5zdHJpcCgpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocywgbXNnKQogCiAgICAgZGVmIHRlc3RfZW50ZXJfcmVzdWx0X2lzX3RhcmdldChzZWxmKToKICAgICAgICAgZiA9IGlvLlN0cmluZ0lPKCkKLSAgICAgICAgd2l0aCByZWRpcmVjdF9zdGRvdXQoZikgYXMgZW50ZXJfcmVzdWx0OgorICAgICAgICB3aXRoIHNlbGYucmVkaXJlY3Rfc3RyZWFtKGYpIGFzIGVudGVyX3Jlc3VsdDoKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXMoZW50ZXJfcmVzdWx0LCBmKQogCiAgICAgZGVmIHRlc3RfY21faXNfcmV1c2FibGUoc2VsZik6CiAgICAgICAgIGYgPSBpby5TdHJpbmdJTygpCi0gICAgICAgIHdyaXRlX3RvX2YgPSByZWRpcmVjdF9zdGRvdXQoZikKLSAgICAgICAgb3JpZ19zdGRvdXQgPSBzeXMuc3Rkb3V0CisgICAgICAgIHdyaXRlX3RvX2YgPSBzZWxmLnJlZGlyZWN0X3N0cmVhbShmKQorICAgICAgICBvcmlnX3N0ZG91dCA9IGdldGF0dHIoc3lzLCBzZWxmLm9yaWdfc3RyZWFtKQogICAgICAgICB3aXRoIHdyaXRlX3RvX2Y6Ci0gICAgICAgICAgICBwcmludCgiSGVsbG8iLCBlbmQ9IiAiKQorICAgICAgICAgICAgcHJpbnQoIkhlbGxvIiwgZW5kPSIgIiwgZmlsZT1nZXRhdHRyKHN5cywgc2VsZi5vcmlnX3N0cmVhbSkpCiAgICAgICAgIHdpdGggd3JpdGVfdG9fZjoKLSAgICAgICAgICAgIHByaW50KCJXb3JsZCEiKQotICAgICAgICBzZWxmLmFzc2VydElzKHN5cy5zdGRvdXQsIG9yaWdfc3Rkb3V0KQorICAgICAgICAgICAgcHJpbnQoIldvcmxkISIsIGZpbGU9Z2V0YXR0cihzeXMsIHNlbGYub3JpZ19zdHJlYW0pKQorICAgICAgICBzZWxmLmFzc2VydElzKGdldGF0dHIoc3lzLCBzZWxmLm9yaWdfc3RyZWFtKSwgb3JpZ19zdGRvdXQpCiAgICAgICAgIHMgPSBmLmdldHZhbHVlKCkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzLCAiSGVsbG8gV29ybGQhXG4iKQogCiAgICAgZGVmIHRlc3RfY21faXNfcmVlbnRyYW50KHNlbGYpOgogICAgICAgICBmID0gaW8uU3RyaW5nSU8oKQotICAgICAgICB3cml0ZV90b19mID0gcmVkaXJlY3Rfc3Rkb3V0KGYpCi0gICAgICAgIG9yaWdfc3Rkb3V0ID0gc3lzLnN0ZG91dAorICAgICAgICB3cml0ZV90b19mID0gc2VsZi5yZWRpcmVjdF9zdHJlYW0oZikKKyAgICAgICAgb3JpZ19zdGRvdXQgPSBnZXRhdHRyKHN5cywgc2VsZi5vcmlnX3N0cmVhbSkKICAgICAgICAgd2l0aCB3cml0ZV90b19mOgotICAgICAgICAgICAgcHJpbnQoIkhlbGxvIiwgZW5kPSIgIikKKyAgICAgICAgICAgIHByaW50KCJIZWxsbyIsIGVuZD0iICIsIGZpbGU9Z2V0YXR0cihzeXMsIHNlbGYub3JpZ19zdHJlYW0pKQogICAgICAgICAgICAgd2l0aCB3cml0ZV90b19mOgotICAgICAgICAgICAgICAgIHByaW50KCJXb3JsZCEiKQotICAgICAgICBzZWxmLmFzc2VydElzKHN5cy5zdGRvdXQsIG9yaWdfc3Rkb3V0KQorICAgICAgICAgICAgICAgIHByaW50KCJXb3JsZCEiLCBmaWxlPWdldGF0dHIoc3lzLCBzZWxmLm9yaWdfc3RyZWFtKSkKKyAgICAgICAgc2VsZi5hc3NlcnRJcyhnZXRhdHRyKHN5cywgc2VsZi5vcmlnX3N0cmVhbSksIG9yaWdfc3Rkb3V0KQogICAgICAgICBzID0gZi5nZXR2YWx1ZSgpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocywgIkhlbGxvIFdvcmxkIVxuIikKIAogCitjbGFzcyBUZXN0UmVkaXJlY3RTdGRvdXQoVGVzdFJlZGlyZWN0U3RyZWFtLCB1bml0dGVzdC5UZXN0Q2FzZSk6CisKKyAgICByZWRpcmVjdF9zdHJlYW0gPSByZWRpcmVjdF9zdGRvdXQKKyAgICBvcmlnX3N0cmVhbSA9ICJzdGRvdXQiCisKKworY2xhc3MgVGVzdFJlZGlyZWN0U3RkZXJyKFRlc3RSZWRpcmVjdFN0cmVhbSwgdW5pdHRlc3QuVGVzdENhc2UpOgorCisgICAgcmVkaXJlY3Rfc3RyZWFtID0gcmVkaXJlY3Rfc3RkZXJyCisgICAgb3JpZ19zdHJlYW0gPSAic3RkZXJyIgorCisKIGNsYXNzIFRlc3RTdXBwcmVzcyh1bml0dGVzdC5UZXN0Q2FzZSk6CiAKICAgICBAc3VwcG9ydC5yZXF1aXJlc19kb2NzdHJpbmdzCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2Nwcm9maWxlLnB5IGIvTGliL3Rlc3QvdGVzdF9jcHJvZmlsZS5weQppbmRleCBjZTVkMjdlLi5mMTg5ODNmIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2Nwcm9maWxlLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfY3Byb2ZpbGUucHkKQEAgLTExLDcgKzExLDcgQEAKIGNsYXNzIENQcm9maWxlVGVzdChQcm9maWxlVGVzdCk6CiAgICAgcHJvZmlsZXJjbGFzcyA9IGNQcm9maWxlLlByb2ZpbGUKICAgICBwcm9maWxlcm1vZHVsZSA9IGNQcm9maWxlCi0gICAgZXhwZWN0ZWRfbWF4X291dHB1dCA9ICJ7YnVpbHQtaW4gbWV0aG9kIG1heH0iCisgICAgZXhwZWN0ZWRfbWF4X291dHB1dCA9ICJ7YnVpbHQtaW4gbWV0aG9kIGJ1aWx0aW5zLm1heH0iCiAKICAgICBkZWYgZ2V0X2V4cGVjdGVkX291dHB1dChzZWxmKToKICAgICAgICAgcmV0dXJuIF9Qcm9maWxlT3V0cHV0CkBAIC03Miw5ICs3Miw5IEBACiBwcm9maWxlZS5weTo4OChoZWxwZXIyKSAgICAgICAgICAgICAgICAgICAgICAgICAgIDwtICAgICAgIDYgICAgMC4yMzQgICAgMC4zMDAgIHByb2ZpbGVlLnB5OjU1KGhlbHBlcikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMiAgICAwLjA3OCAgICAwLjEwMCAgcHJvZmlsZWUucHk6ODQoaGVscGVyMl9pbmRpcmVjdCkKIHByb2ZpbGVlLnB5Ojk4KHN1YmhlbHBlcikgICAgICAgICAgICAgICAgICAgICAgICAgPC0gICAgICAgOCAgICAwLjA2NCAgICAwLjA4MCAgcHJvZmlsZWUucHk6ODgoaGVscGVyMikKLXtidWlsdC1pbiBtZXRob2QgZXhjX2luZm99ICAgICAgICAgICAgICAgICAgICAgICAgPC0gICAgICAgNCAgICAwLjAwMCAgICAwLjAwMCAgcHJvZmlsZWUucHk6NzMoaGVscGVyMSkKLXtidWlsdC1pbiBtZXRob2QgaGFzYXR0cn0gICAgICAgICAgICAgICAgICAgICAgICAgPC0gICAgICAgNCAgICAwLjAwMCAgICAwLjAwNCAgcHJvZmlsZWUucHk6NzMoaGVscGVyMSkKK3tidWlsdC1pbiBtZXRob2QgYnVpbHRpbnMuaGFzYXR0cn0gICAgICAgICAgICAgICAgPC0gICAgICAgNCAgICAwLjAwMCAgICAwLjAwNCAgcHJvZmlsZWUucHk6NzMoaGVscGVyMSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOCAgICAwLjAwMCAgICAwLjAwOCAgcHJvZmlsZWUucHk6ODgoaGVscGVyMikKK3tidWlsdC1pbiBtZXRob2Qgc3lzLmV4Y19pbmZvfSAgICAgICAgICAgICAgICAgICAgPC0gICAgICAgNCAgICAwLjAwMCAgICAwLjAwMCAgcHJvZmlsZWUucHk6NzMoaGVscGVyMSkKIHttZXRob2QgJ2FwcGVuZCcgb2YgJ2xpc3QnIG9iamVjdHN9ICAgICAgICAgICAgICAgPC0gICAgICAgNCAgICAwLjAwMCAgICAwLjAwMCAgcHJvZmlsZWUucHk6NzMoaGVscGVyMSkiIiIKIF9Qcm9maWxlT3V0cHV0WydwcmludF9jYWxsZWVzJ10gPSAiIiJcCiA8c3RyaW5nPjoxKDxtb2R1bGU+KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+ICAgICAgIDEgICAgMC4yNzAgICAgMS4wMDAgIHByb2ZpbGVlLnB5OjI1KHRlc3RmdW5jKQpAQCAtODcsMTIgKzg3LDEyIEBACiBwcm9maWxlZS5weTo1NShoZWxwZXIpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+ICAgICAgIDQgICAgMC4xMTYgICAgMC4xMjAgIHByb2ZpbGVlLnB5OjczKGhlbHBlcjEpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIgICAgMC4wMDAgICAgMC4xNDAgIHByb2ZpbGVlLnB5Ojg0KGhlbHBlcjJfaW5kaXJlY3QpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDYgICAgMC4yMzQgICAgMC4zMDAgIHByb2ZpbGVlLnB5Ojg4KGhlbHBlcjIpCi1wcm9maWxlZS5weTo3MyhoZWxwZXIxKSAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+ICAgICAgIDQgICAgMC4wMDAgICAgMC4wMDAgIHtidWlsdC1pbiBtZXRob2QgZXhjX2luZm99Citwcm9maWxlZS5weTo3MyhoZWxwZXIxKSAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+ICAgICAgIDQgICAgMC4wMDAgICAgMC4wMDQgIHtidWlsdC1pbiBtZXRob2QgYnVpbHRpbnMuaGFzYXR0cn0KIHByb2ZpbGVlLnB5Ojg0KGhlbHBlcjJfaW5kaXJlY3QpICAgICAgICAgICAgICAgICAgLT4gICAgICAgMiAgICAwLjAwNiAgICAwLjA0MCAgcHJvZmlsZWUucHk6MzUoZmFjdG9yaWFsKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyICAgIDAuMDc4ICAgIDAuMTAwICBwcm9maWxlZS5weTo4OChoZWxwZXIyKQogcHJvZmlsZWUucHk6ODgoaGVscGVyMikgICAgICAgICAgICAgICAgICAgICAgICAgICAtPiAgICAgICA4ICAgIDAuMDY0ICAgIDAuMDgwICBwcm9maWxlZS5weTo5OChzdWJoZWxwZXIpCiBwcm9maWxlZS5weTo5OChzdWJoZWxwZXIpICAgICAgICAgICAgICAgICAgICAgICAgIC0+ICAgICAgMTYgICAgMC4wMTYgICAgMC4wMTYgIHByb2ZpbGVlLnB5OjExMChfX2dldGF0dHJfXykKLXtidWlsdC1pbiBtZXRob2QgaGFzYXR0cn0gICAgICAgICAgICAgICAgICAgICAgICAgLT4gICAgICAxMiAgICAwLjAxMiAgICAwLjAxMiAgcHJvZmlsZWUucHk6MTEwKF9fZ2V0YXR0cl9fKSIiIgore2J1aWx0LWluIG1ldGhvZCBidWlsdGlucy5oYXNhdHRyfSAgICAgICAgICAgICAgICAtPiAgICAgIDEyICAgIDAuMDEyICAgIDAuMDEyICBwcm9maWxlZS5weToxMTAoX19nZXRhdHRyX18pIiIiCiAKIGlmIF9fbmFtZV9fID09ICJfX21haW5fXyI6CiAgICAgbWFpbigpCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2Nzdi5weSBiL0xpYi90ZXN0L3Rlc3RfY3N2LnB5CmluZGV4IDdlMjQ4NWYuLjNmM2YzMjggMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfY3N2LnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfY3N2LnB5CkBAIC01NzUsNiArNTc1LDE2IEBACiAgICAgICAgICAgICBmaWxlb2JqLnJlYWRsaW5lKCkgIyBoZWFkZXIKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZmlsZW9iai5yZWFkKCksICIxMCwsYWJjXHJcbiIpCiAKKyAgICBkZWYgdGVzdF93cml0ZV9tdWx0aXBsZV9kaWN0X3Jvd3Moc2VsZik6CisgICAgICAgIGZpbGVvYmogPSBTdHJpbmdJTygpCisgICAgICAgIHdyaXRlciA9IGNzdi5EaWN0V3JpdGVyKGZpbGVvYmosIGZpZWxkbmFtZXM9WyJmMSIsICJmMiIsICJmMyJdKQorICAgICAgICB3cml0ZXIud3JpdGVoZWFkZXIoKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGZpbGVvYmouZ2V0dmFsdWUoKSwgImYxLGYyLGYzXHJcbiIpCisgICAgICAgIHdyaXRlci53cml0ZXJvd3MoW3siZjEiOiAxLCAiZjIiOiAiYWJjIiwgImYzIjogImYifSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgeyJmMSI6IDIsICJmMiI6IDUsICJmMyI6ICJ4eXoifV0pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZmlsZW9iai5nZXR2YWx1ZSgpLAorICAgICAgICAgICAgICAgICAgICAgICAgICJmMSxmMixmM1xyXG4xLGFiYyxmXHJcbjIsNSx4eXpcclxuIikKKwogICAgIGRlZiB0ZXN0X3dyaXRlX25vX2ZpZWxkcyhzZWxmKToKICAgICAgICAgZmlsZW9iaiA9IFN0cmluZ0lPKCkKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBjc3YuRGljdFdyaXRlciwgZmlsZW9iaikKQEAgLTc3Myw3ICs3ODMsNyBAQAogICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKGNzdi5FcnJvcikgYXMgY206CiAgICAgICAgICAgICBteWRpYWxlY3QoKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0cihjbS5leGNlcHRpb24pLAotICAgICAgICAgICAgICAgICAgICAgICAgICcicXVvdGVjaGFyIiBtdXN0IGJlIGFuIDEtY2hhcmFjdGVyIHN0cmluZycpCisgICAgICAgICAgICAgICAgICAgICAgICAgJyJxdW90ZWNoYXIiIG11c3QgYmUgYSAxLWNoYXJhY3RlciBzdHJpbmcnKQogCiAgICAgICAgIG15ZGlhbGVjdC5xdW90ZWNoYXIgPSA0CiAgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoY3N2LkVycm9yKSBhcyBjbToKQEAgLTc5NiwxMyArODA2LDEzIEBACiAgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoY3N2LkVycm9yKSBhcyBjbToKICAgICAgICAgICAgIG15ZGlhbGVjdCgpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RyKGNtLmV4Y2VwdGlvbiksCi0gICAgICAgICAgICAgICAgICAgICAgICAgJyJkZWxpbWl0ZXIiIG11c3QgYmUgYW4gMS1jaGFyYWN0ZXIgc3RyaW5nJykKKyAgICAgICAgICAgICAgICAgICAgICAgICAnImRlbGltaXRlciIgbXVzdCBiZSBhIDEtY2hhcmFjdGVyIHN0cmluZycpCiAKICAgICAgICAgbXlkaWFsZWN0LmRlbGltaXRlciA9ICIiCiAgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoY3N2LkVycm9yKSBhcyBjbToKICAgICAgICAgICAgIG15ZGlhbGVjdCgpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RyKGNtLmV4Y2VwdGlvbiksCi0gICAgICAgICAgICAgICAgICAgICAgICAgJyJkZWxpbWl0ZXIiIG11c3QgYmUgYW4gMS1jaGFyYWN0ZXIgc3RyaW5nJykKKyAgICAgICAgICAgICAgICAgICAgICAgICAnImRlbGltaXRlciIgbXVzdCBiZSBhIDEtY2hhcmFjdGVyIHN0cmluZycpCiAKICAgICAgICAgbXlkaWFsZWN0LmRlbGltaXRlciA9IGIiLCIKICAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhjc3YuRXJyb3IpIGFzIGNtOgpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9kYXRldGltZS5weSBiL0xpYi90ZXN0L3Rlc3RfZGF0ZXRpbWUucHkKaW5kZXggZDlkZGIzMi4uMmQ0ZWI1MiAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9kYXRldGltZS5weQorKysgYi9MaWIvdGVzdC90ZXN0X2RhdGV0aW1lLnB5CkBAIC0xLDIwICsxLDIwIEBACiBpbXBvcnQgdW5pdHRlc3QKIGltcG9ydCBzeXMKKwogZnJvbSB0ZXN0LnN1cHBvcnQgaW1wb3J0IGltcG9ydF9mcmVzaF9tb2R1bGUsIHJ1bl91bml0dGVzdAogCiBURVNUUyA9ICd0ZXN0LmRhdGV0aW1ldGVzdGVyJwogCi0jIFhYWDogaW1wb3J0X2ZyZXNoX21vZHVsZSgpIGlzIHN1cHBvc2VkIHRvIGxlYXZlIHN5cy5tb2R1bGUgY2FjaGUgdW50b3VjaGVkLAotIyBYWFg6IGJ1dCBpdCBkb2VzIG5vdCwgc28gd2UgaGF2ZSB0byBzYXZlIGFuZCByZXN0b3JlIGl0IG91cnNlbHZlcy4KLXNhdmVfc3lzX21vZHVsZXMgPSBzeXMubW9kdWxlcy5jb3B5KCkKIHRyeToKICAgICBwdXJlX3Rlc3RzID0gaW1wb3J0X2ZyZXNoX21vZHVsZShURVNUUywgZnJlc2g9WydkYXRldGltZScsICdfc3RycHRpbWUnXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibG9ja2VkPVsnX2RhdGV0aW1lJ10pCiAgICAgZmFzdF90ZXN0cyA9IGltcG9ydF9mcmVzaF9tb2R1bGUoVEVTVFMsIGZyZXNoPVsnZGF0ZXRpbWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ19kYXRldGltZScsICdfc3RycHRpbWUnXSkKIGZpbmFsbHk6Ci0gICAgc3lzLm1vZHVsZXMuY2xlYXIoKQotICAgIHN5cy5tb2R1bGVzLnVwZGF0ZShzYXZlX3N5c19tb2R1bGVzKQorICAgICMgWFhYOiBpbXBvcnRfZnJlc2hfbW9kdWxlKCkgaXMgc3VwcG9zZWQgdG8gbGVhdmUgc3lzLm1vZHVsZSBjYWNoZSB1bnRvdWNoZWQsCisgICAgIyBYWFg6IGJ1dCBpdCBkb2VzIG5vdCwgc28gd2UgaGF2ZSB0byBjbGVhbnVwIG91cnNlbHZlcy4KKyAgICBmb3IgbW9kbmFtZSBpbiBbJ2RhdGV0aW1lJywgJ19kYXRldGltZScsICdfc3RycHRpbWUnXToKKyAgICAgICAgc3lzLm1vZHVsZXMucG9wKG1vZG5hbWUsIE5vbmUpCiB0ZXN0X21vZHVsZXMgPSBbcHVyZV90ZXN0cywgZmFzdF90ZXN0c10KIHRlc3Rfc3VmZml4ZXMgPSBbIl9QdXJlIiwgIl9GYXN0Il0KICMgWFhYKGdiKSBGaXJzdCBydW4gYWxsIHRoZSBfUHVyZSB0ZXN0cywgdGhlbiBhbGwgdGhlIF9GYXN0IHRlc3RzLiAgWW91IG1pZ2h0CmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2RibV9kdW1iLnB5IGIvTGliL3Rlc3QvdGVzdF9kYm1fZHVtYi5weQppbmRleCBkYzg4Y2E2Li5mZjYzYzg4IDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2RibV9kdW1iLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfZGJtX2R1bWIucHkKQEAgLTIxNyw2ICsyMTcsMTQgQEAKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RyKGNtLmV4Y2VwdGlvbiksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJEQk0gb2JqZWN0IGhhcyBhbHJlYWR5IGJlZW4gY2xvc2VkIikKIAorICAgIGRlZiB0ZXN0X2NyZWF0ZV9uZXcoc2VsZik6CisgICAgICAgIHdpdGggZHVtYmRibS5vcGVuKF9mbmFtZSwgJ24nKSBhcyBmOgorICAgICAgICAgICAgZm9yIGsgaW4gc2VsZi5fZGljdDoKKyAgICAgICAgICAgICAgICBmW2tdID0gc2VsZi5fZGljdFtrXQorCisgICAgICAgIHdpdGggZHVtYmRibS5vcGVuKF9mbmFtZSwgJ24nKSBhcyBmOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChmLmtleXMoKSwgW10pCisKICAgICBkZWYgdGVzdF9ldmFsKHNlbGYpOgogICAgICAgICB3aXRoIG9wZW4oX2ZuYW1lICsgJy5kaXInLCAndycpIGFzIHN0cmVhbToKICAgICAgICAgICAgIHN0cmVhbS53cml0ZSgic3RyKHByaW50KCdIYWNrZWQhJykpLCAwXG4iKQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9kZWNpbWFsLnB5IGIvTGliL3Rlc3QvdGVzdF9kZWNpbWFsLnB5CmluZGV4IGExNzhmNmYuLjEzN2FhYTUgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfZGVjaW1hbC5weQorKysgYi9MaWIvdGVzdC90ZXN0X2RlY2ltYWwucHkKQEAgLTMzLDEyICszMywxMyBAQAogaW1wb3J0IG51bWJlcnMKIGltcG9ydCBsb2NhbGUKIGZyb20gdGVzdC5zdXBwb3J0IGltcG9ydCAocnVuX3VuaXR0ZXN0LCBydW5fZG9jdGVzdCwgaXNfcmVzb3VyY2VfZW5hYmxlZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZXNfSUVFRV83NTQpCisgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVzX0lFRUVfNzU0LCByZXF1aXJlc19kb2NzdHJpbmdzKQogZnJvbSB0ZXN0LnN1cHBvcnQgaW1wb3J0IChjaGVja193YXJuaW5ncywgaW1wb3J0X2ZyZXNoX21vZHVsZSwgVGVzdEZhaWxlZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgcnVuX3dpdGhfbG9jYWxlLCBjcHl0aG9uX29ubHkpCiBpbXBvcnQgcmFuZG9tCiBpbXBvcnQgdGltZQogaW1wb3J0IHdhcm5pbmdzCitpbXBvcnQgaW5zcGVjdAogdHJ5OgogICAgIGltcG9ydCB0aHJlYWRpbmcKIGV4Y2VwdCBJbXBvcnRFcnJvcjoKQEAgLTQxNzQsOSArNDE3NSw3IEBACiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoQy5fX3ZlcnNpb25fXywgUC5fX3ZlcnNpb25fXykKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChDLl9fbGlibXBkZWNfdmVyc2lvbl9fLCBQLl9fbGlibXBkZWNfdmVyc2lvbl9fKQogCi0gICAgICAgIHggPSBkaXIoQykKLSAgICAgICAgeSA9IFtzIGZvciBzIGluIGRpcihQKSBpZiAnX18nIGluIHMgb3Igbm90IHMuc3RhcnRzd2l0aCgnXycpXQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNldCh4KSAtIHNldCh5KSwgc2V0KCkpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZGlyKEMpLCBkaXIoUCkpCiAKICAgICBkZWYgdGVzdF9jb250ZXh0X2F0dHJpYnV0ZXMoc2VsZik6CiAKQEAgLTQ0NTUsMTggKzQ0NTQsNiBAQAogY2xhc3MgUHlGdW5jdGlvbmFsaXR5KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAiIiJFeHRyYSBmdW5jdGlvbmFsaXR5IGluIGRlY2ltYWwucHkiIiIKIAotICAgIGRlZiB0ZXN0X3B5X3F1YW50aXplX3dhdGNoZXhwKHNlbGYpOgotICAgICAgICAjIHdhdGNoZXhwIGZ1bmN0aW9uYWxpdHkKLSAgICAgICAgRGVjaW1hbCA9IFAuRGVjaW1hbAotICAgICAgICBsb2NhbGNvbnRleHQgPSBQLmxvY2FsY29udGV4dAotCi0gICAgICAgIHdpdGggbG9jYWxjb250ZXh0KCkgYXMgYzoKLSAgICAgICAgICAgIGMucHJlYyA9IDEKLSAgICAgICAgICAgIGMuRW1heCA9IDEKLSAgICAgICAgICAgIGMuRW1pbiA9IC0xCi0gICAgICAgICAgICB4ID0gRGVjaW1hbCg5OTk5OSkucXVhbnRpemUoRGVjaW1hbCgiMWUzIiksIHdhdGNoZXhwPUZhbHNlKQotICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh4LCBEZWNpbWFsKCcxLjAwRSs1JykpCi0KICAgICBkZWYgdGVzdF9weV9hbHRlcm5hdGVfZm9ybWF0dGluZyhzZWxmKToKICAgICAgICAgIyB0cmlwbGVzIGdpdmluZyBhIGZvcm1hdCwgYSBEZWNpbWFsLCBhbmQgdGhlIGV4cGVjdGVkIHJlc3VsdAogICAgICAgICBEZWNpbWFsID0gUC5EZWNpbWFsCkBAIC01NDA5LDYgKzUzOTYsMTQzIEBACiAgICAgICAgICAgICB5ID0gRGVjaW1hbCgxMCoqKDkqMjUpKS5fX3NpemVvZl9fKCkKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoeSwgeCs0KQogCitAcmVxdWlyZXNfZG9jc3RyaW5ncworQHVuaXR0ZXN0LnNraXBVbmxlc3MoQywgInRlc3QgcmVxdWlyZXMgQyB2ZXJzaW9uIikKK2NsYXNzIFNpZ25hdHVyZVRlc3QodW5pdHRlc3QuVGVzdENhc2UpOgorICAgICIiIkZ1bmN0aW9uIHNpZ25hdHVyZXMiIiIKKworICAgIGRlZiB0ZXN0X2luc3BlY3RfbW9kdWxlKHNlbGYpOgorICAgICAgICBmb3IgYXR0ciBpbiBkaXIoUCk6CisgICAgICAgICAgICBpZiBhdHRyLnN0YXJ0c3dpdGgoJ18nKToKKyAgICAgICAgICAgICAgICBjb250aW51ZQorICAgICAgICAgICAgcF9mdW5jID0gZ2V0YXR0cihQLCBhdHRyKQorICAgICAgICAgICAgY19mdW5jID0gZ2V0YXR0cihDLCBhdHRyKQorICAgICAgICAgICAgaWYgKGF0dHIgPT0gJ0RlY2ltYWwnIG9yIGF0dHIgPT0gJ0NvbnRleHQnIG9yCisgICAgICAgICAgICAgICAgaW5zcGVjdC5pc2Z1bmN0aW9uKHBfZnVuYykpOgorICAgICAgICAgICAgICAgIHBfc2lnID0gaW5zcGVjdC5zaWduYXR1cmUocF9mdW5jKQorICAgICAgICAgICAgICAgIGNfc2lnID0gaW5zcGVjdC5zaWduYXR1cmUoY19mdW5jKQorCisgICAgICAgICAgICAgICAgIyBwYXJhbWV0ZXIgbmFtZXM6CisgICAgICAgICAgICAgICAgY19uYW1lcyA9IGxpc3QoY19zaWcucGFyYW1ldGVycy5rZXlzKCkpCisgICAgICAgICAgICAgICAgcF9uYW1lcyA9IFt4IGZvciB4IGluIHBfc2lnLnBhcmFtZXRlcnMua2V5cygpIGlmIG5vdAorICAgICAgICAgICAgICAgICAgICAgICAgICAgeC5zdGFydHN3aXRoKCdfJyldCisKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNfbmFtZXMsIHBfbmFtZXMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc2c9InBhcmFtZXRlciBuYW1lIG1pc21hdGNoIGluICVzIiAlIHBfZnVuYykKKworICAgICAgICAgICAgICAgIGNfa2luZCA9IFt4LmtpbmQgZm9yIHggaW4gY19zaWcucGFyYW1ldGVycy52YWx1ZXMoKV0KKyAgICAgICAgICAgICAgICBwX2tpbmQgPSBbeFsxXS5raW5kIGZvciB4IGluIHBfc2lnLnBhcmFtZXRlcnMuaXRlbXMoKSBpZiBub3QKKyAgICAgICAgICAgICAgICAgICAgICAgICAgeFswXS5zdGFydHN3aXRoKCdfJyldCisKKyAgICAgICAgICAgICAgICAjIHBhcmFtZXRlcnM6CisgICAgICAgICAgICAgICAgaWYgYXR0ciAhPSAnc2V0Y29udGV4dCc6CisgICAgICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY19raW5kLCBwX2tpbmQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNnPSJwYXJhbWV0ZXIga2luZCBtaXNtYXRjaCBpbiAlcyIgJSBwX2Z1bmMpCisKKyAgICBkZWYgdGVzdF9pbnNwZWN0X3R5cGVzKHNlbGYpOgorCisgICAgICAgIFBPUyA9IGluc3BlY3QuX1BhcmFtZXRlcktpbmQuUE9TSVRJT05BTF9PTkxZCisgICAgICAgIFBPU19LV0QgPSBpbnNwZWN0Ll9QYXJhbWV0ZXJLaW5kLlBPU0lUSU9OQUxfT1JfS0VZV09SRAorCisgICAgICAgICMgVHlwZSBoZXVyaXN0aWMgKHR5cGUgYW5ub3RhdGlvbnMgd291bGQgaGVscCEpOgorICAgICAgICBwZGljdCA9IHtDOiB7J290aGVyJzogQy5EZWNpbWFsKDEpLAorICAgICAgICAgICAgICAgICAgICAgJ3RoaXJkJzogQy5EZWNpbWFsKDEpLAorICAgICAgICAgICAgICAgICAgICAgJ3gnOiBDLkRlY2ltYWwoMSksCisgICAgICAgICAgICAgICAgICAgICAneSc6IEMuRGVjaW1hbCgxKSwKKyAgICAgICAgICAgICAgICAgICAgICd6JzogQy5EZWNpbWFsKDEpLAorICAgICAgICAgICAgICAgICAgICAgJ2EnOiBDLkRlY2ltYWwoMSksCisgICAgICAgICAgICAgICAgICAgICAnYic6IEMuRGVjaW1hbCgxKSwKKyAgICAgICAgICAgICAgICAgICAgICdjJzogQy5EZWNpbWFsKDEpLAorICAgICAgICAgICAgICAgICAgICAgJ2V4cCc6IEMuRGVjaW1hbCgxKSwKKyAgICAgICAgICAgICAgICAgICAgICdtb2R1bG8nOiBDLkRlY2ltYWwoMSksCisgICAgICAgICAgICAgICAgICAgICAnbnVtJzogIjEiLAorICAgICAgICAgICAgICAgICAgICAgJ2YnOiAxLjAsCisgICAgICAgICAgICAgICAgICAgICAncm91bmRpbmcnOiBDLlJPVU5EX0hBTEZfVVAsCisgICAgICAgICAgICAgICAgICAgICAnY29udGV4dCc6IEMuZ2V0Y29udGV4dCgpfSwKKyAgICAgICAgICAgICAgICAgUDogeydvdGhlcic6IFAuRGVjaW1hbCgxKSwKKyAgICAgICAgICAgICAgICAgICAgICd0aGlyZCc6IFAuRGVjaW1hbCgxKSwKKyAgICAgICAgICAgICAgICAgICAgICdhJzogUC5EZWNpbWFsKDEpLAorICAgICAgICAgICAgICAgICAgICAgJ2InOiBQLkRlY2ltYWwoMSksCisgICAgICAgICAgICAgICAgICAgICAnYyc6IFAuRGVjaW1hbCgxKSwKKyAgICAgICAgICAgICAgICAgICAgICdleHAnOiBQLkRlY2ltYWwoMSksCisgICAgICAgICAgICAgICAgICAgICAnbW9kdWxvJzogUC5EZWNpbWFsKDEpLAorICAgICAgICAgICAgICAgICAgICAgJ251bSc6ICIxIiwKKyAgICAgICAgICAgICAgICAgICAgICdmJzogMS4wLAorICAgICAgICAgICAgICAgICAgICAgJ3JvdW5kaW5nJzogUC5ST1VORF9IQUxGX1VQLAorICAgICAgICAgICAgICAgICAgICAgJ2NvbnRleHQnOiBQLmdldGNvbnRleHQoKX19CisKKyAgICAgICAgZGVmIG1rYXJncyhtb2R1bGUsIHNpZyk6CisgICAgICAgICAgICBhcmdzID0gW10KKyAgICAgICAgICAgIGt3YXJncyA9IHt9CisgICAgICAgICAgICBmb3IgbmFtZSwgcGFyYW0gaW4gc2lnLnBhcmFtZXRlcnMuaXRlbXMoKToKKyAgICAgICAgICAgICAgICBpZiBuYW1lID09ICdzZWxmJzogY29udGludWUKKyAgICAgICAgICAgICAgICBpZiBwYXJhbS5raW5kID09IFBPUzoKKyAgICAgICAgICAgICAgICAgICAgYXJncy5hcHBlbmQocGRpY3RbbW9kdWxlXVtuYW1lXSkKKyAgICAgICAgICAgICAgICBlbGlmIHBhcmFtLmtpbmQgPT0gUE9TX0tXRDoKKyAgICAgICAgICAgICAgICAgICAga3dhcmdzW25hbWVdID0gcGRpY3RbbW9kdWxlXVtuYW1lXQorICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgIHJhaXNlIFRlc3RGYWlsZWQoInVuZXhwZWN0ZWQgcGFyYW1ldGVyIGtpbmQiKQorICAgICAgICAgICAgcmV0dXJuIGFyZ3MsIGt3YXJncworCisgICAgICAgIGRlZiB0cihzKToKKyAgICAgICAgICAgICIiIlRoZSBDIENvbnRleHQgZG9jc3RyaW5ncyB1c2UgJ3gnIGluIG9yZGVyIHRvIHByZXZlbnQgY29uZnVzaW9uCisgICAgICAgICAgICAgICB3aXRoIHRoZSBhcnRpY2xlICdhJyBpbiB0aGUgZGVzY3JpcHRpb25zLiIiIgorICAgICAgICAgICAgaWYgcyA9PSAneCc6IHJldHVybiAnYScKKyAgICAgICAgICAgIGlmIHMgPT0gJ3knOiByZXR1cm4gJ2InCisgICAgICAgICAgICBpZiBzID09ICd6JzogcmV0dXJuICdjJworICAgICAgICAgICAgcmV0dXJuIHMKKworICAgICAgICBkZWYgZG9pdCh0eSk6CisgICAgICAgICAgICBwX3R5cGUgPSBnZXRhdHRyKFAsIHR5KQorICAgICAgICAgICAgY190eXBlID0gZ2V0YXR0cihDLCB0eSkKKyAgICAgICAgICAgIGZvciBhdHRyIGluIGRpcihwX3R5cGUpOgorICAgICAgICAgICAgICAgIGlmIGF0dHIuc3RhcnRzd2l0aCgnXycpOgorICAgICAgICAgICAgICAgICAgICBjb250aW51ZQorICAgICAgICAgICAgICAgIHBfZnVuYyA9IGdldGF0dHIocF90eXBlLCBhdHRyKQorICAgICAgICAgICAgICAgIGNfZnVuYyA9IGdldGF0dHIoY190eXBlLCBhdHRyKQorICAgICAgICAgICAgICAgIGlmIGluc3BlY3QuaXNmdW5jdGlvbihwX2Z1bmMpOgorICAgICAgICAgICAgICAgICAgICBwX3NpZyA9IGluc3BlY3Quc2lnbmF0dXJlKHBfZnVuYykKKyAgICAgICAgICAgICAgICAgICAgY19zaWcgPSBpbnNwZWN0LnNpZ25hdHVyZShjX2Z1bmMpCisKKyAgICAgICAgICAgICAgICAgICAgIyBwYXJhbWV0ZXIgbmFtZXM6CisgICAgICAgICAgICAgICAgICAgIHBfbmFtZXMgPSBsaXN0KHBfc2lnLnBhcmFtZXRlcnMua2V5cygpKQorICAgICAgICAgICAgICAgICAgICBjX25hbWVzID0gW3RyKHgpIGZvciB4IGluIGNfc2lnLnBhcmFtZXRlcnMua2V5cygpXQorCisgICAgICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY19uYW1lcywgcF9uYW1lcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc2c9InBhcmFtZXRlciBuYW1lIG1pc21hdGNoIGluICVzIiAlIHBfZnVuYykKKworICAgICAgICAgICAgICAgICAgICBwX2tpbmQgPSBbeC5raW5kIGZvciB4IGluIHBfc2lnLnBhcmFtZXRlcnMudmFsdWVzKCldCisgICAgICAgICAgICAgICAgICAgIGNfa2luZCA9IFt4LmtpbmQgZm9yIHggaW4gY19zaWcucGFyYW1ldGVycy52YWx1ZXMoKV0KKworICAgICAgICAgICAgICAgICAgICAjICdzZWxmJyBwYXJhbWV0ZXI6CisgICAgICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXMocF9raW5kWzBdLCBQT1NfS1dEKQorICAgICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydElzKGNfa2luZFswXSwgUE9TKQorCisgICAgICAgICAgICAgICAgICAgICMgcmVtYWluaW5nIHBhcmFtZXRlcnM6CisgICAgICAgICAgICAgICAgICAgIGlmIHR5ID09ICdEZWNpbWFsJzoKKyAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY19raW5kWzE6XSwgcF9raW5kWzE6XSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNnPSJwYXJhbWV0ZXIga2luZCBtaXNtYXRjaCBpbiAlcyIgJSBwX2Z1bmMpCisgICAgICAgICAgICAgICAgICAgIGVsc2U6ICMgQ29udGV4dCBtZXRob2RzIGFyZSBwb3NpdGlvbmFsIG9ubHkgaW4gdGhlIEMgdmVyc2lvbi4KKyAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKGNfa2luZCksIGxlbihwX2tpbmQpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc2c9InBhcmFtZXRlciBraW5kIG1pc21hdGNoIGluICVzIiAlIHBfZnVuYykKKworICAgICAgICAgICAgICAgICAgICAjIFJ1biB0aGUgZnVuY3Rpb246CisgICAgICAgICAgICAgICAgICAgIGFyZ3MsIGt3ZHMgPSBta2FyZ3MoQywgY19zaWcpCisgICAgICAgICAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICAgICAgICAgIGdldGF0dHIoY190eXBlKDkpLCBhdHRyKSgqYXJncywgKiprd2RzKQorICAgICAgICAgICAgICAgICAgICBleGNlcHQgRXhjZXB0aW9uIGFzIGVycjoKKyAgICAgICAgICAgICAgICAgICAgICAgIHJhaXNlIFRlc3RGYWlsZWQoImludmFsaWQgc2lnbmF0dXJlIGZvciAlczogJXMgJXMiICUgKGNfZnVuYywgYXJncywga3dkcykpCisKKyAgICAgICAgICAgICAgICAgICAgYXJncywga3dkcyA9IG1rYXJncyhQLCBwX3NpZykKKyAgICAgICAgICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgICAgICAgICAgZ2V0YXR0cihwX3R5cGUoOSksIGF0dHIpKCphcmdzLCAqKmt3ZHMpCisgICAgICAgICAgICAgICAgICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZXJyOgorICAgICAgICAgICAgICAgICAgICAgICAgcmFpc2UgVGVzdEZhaWxlZCgiaW52YWxpZCBzaWduYXR1cmUgZm9yICVzOiAlcyAlcyIgJSAocF9mdW5jLCBhcmdzLCBrd2RzKSkKKworICAgICAgICBkb2l0KCdEZWNpbWFsJykKKyAgICAgICAgZG9pdCgnQ29udGV4dCcpCisKKwogYWxsX3Rlc3RzID0gWwogICBDRXhwbGljaXRDb25zdHJ1Y3Rpb25UZXN0LCBQeUV4cGxpY2l0Q29uc3RydWN0aW9uVGVzdCwKICAgQ0ltcGxpY2l0Q29uc3RydWN0aW9uVGVzdCwgUHlJbXBsaWNpdENvbnN0cnVjdGlvblRlc3QsCkBAIC01NDM0LDYgKzU1NTgsNyBAQAogICAgIGFsbF90ZXN0cyA9IGFsbF90ZXN0c1sxOjoyXQogZWxzZToKICAgICBhbGxfdGVzdHMuaW5zZXJ0KDAsIENoZWNrQXR0cmlidXRlcykKKyAgICBhbGxfdGVzdHMuaW5zZXJ0KDEsIFNpZ25hdHVyZVRlc3QpCiAKIAogZGVmIHRlc3RfbWFpbihhcml0aD1Ob25lLCB2ZXJib3NlPU5vbmUsIHRvZG9fdGVzdHM9Tm9uZSwgZGVidWc9Tm9uZSk6CmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2RlZmF1bHRkaWN0LnB5IGIvTGliL3Rlc3QvdGVzdF9kZWZhdWx0ZGljdC5weQppbmRleCA1MzJkNTM1Li40OGQxY2I1IDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2RlZmF1bHRkaWN0LnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfZGVmYXVsdGRpY3QucHkKQEAgLTE1Nyw4ICsxNTcsOSBAQAogICAgICAgICAgICAgZGVmIF9mYWN0b3J5KHNlbGYpOgogICAgICAgICAgICAgICAgIHJldHVybiBbXQogICAgICAgICBkID0gc3ViKCkKLSAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHJlcHIoZCkuc3RhcnRzd2l0aCgKLSAgICAgICAgICAgICJkZWZhdWx0ZGljdCg8Ym91bmQgbWV0aG9kIHN1Yi5fZmFjdG9yeSBvZiBkZWZhdWx0ZGljdCguLi4iKSkKKyAgICAgICAgc2VsZi5hc3NlcnRSZWdleChyZXByKGQpLAorICAgICAgICAgICAgciJkZWZhdWx0ZGljdFwoPGJvdW5kIG1ldGhvZCAuKnN1YlwuX2ZhY3RvcnkgIgorICAgICAgICAgICAgciJvZiBkZWZhdWx0ZGljdFwoXC5cLlwuLCBce1x9XCk+LCBce1x9XCkiKQogCiAgICAgICAgICMgTk9URTogcHJpbnRpbmcgYSBzdWJjbGFzcyBvZiBhIGJ1aWx0aW4gdHlwZSBkb2VzIG5vdCBjYWxsIGl0cwogICAgICAgICAjIHRwX3ByaW50IHNsb3QuIFNvIHRoaXMgcGFydCBpcyBlc3NlbnRpYWxseSB0aGUgc2FtZSB0ZXN0IGFzIGFib3ZlLgpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9kZXF1ZS5weSBiL0xpYi90ZXN0L3Rlc3RfZGVxdWUucHkKaW5kZXggNWVjYmM3My4uZTMzNmU1YSAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9kZXF1ZS5weQorKysgYi9MaWIvdGVzdC90ZXN0X2RlcXVlLnB5CkBAIC01MDgsNiArNTA4LDExIEBACiAgICAgICAgIGZvciBzIGluICgnYWJjZCcsIHJhbmdlKDIwMDApKToKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGlzdChyZXZlcnNlZChkZXF1ZShzKSkpLCBsaXN0KHJldmVyc2VkKHMpKSkKIAorICAgIGRlZiB0ZXN0X3JldmVyc2VkX25ldyhzZWxmKToKKyAgICAgICAga2xhc3MgPSB0eXBlKHJldmVyc2VkKGRlcXVlKCkpKQorICAgICAgICBmb3IgcyBpbiAoJ2FiY2QnLCByYW5nZSgyMDAwKSk6CisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxpc3Qoa2xhc3MoZGVxdWUocykpKSwgbGlzdChyZXZlcnNlZChzKSkpCisKICAgICBkZWYgdGVzdF9nY19kb2VzbnRfYmxvd3VwKHNlbGYpOgogICAgICAgICBpbXBvcnQgZ2MKICAgICAgICAgIyBUaGlzIHVzZWQgdG8gYXNzZXJ0LWZhaWwgaW4gZGVxdWVfdHJhdmVyc2UoKSB1bmRlciBhIGRlYnVnCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2Rlc2NyLnB5IGIvTGliL3Rlc3QvdGVzdF9kZXNjci5weQppbmRleCAxZGUyYTk5Li44ZDYyMDVhIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2Rlc2NyLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfZGVzY3IucHkKQEAgLTEwMjYsNiArMTAyNiwyMiBAQAogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHguZm9vLCAxKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHguX19kaWN0X18sIHsnZm9vJzogMX0pCiAKKyAgICBkZWYgdGVzdF9vYmplY3RfY2xhc3NfYXNzaWdubWVudF9iZXR3ZWVuX2hlYXB0eXBlc19hbmRfbm9uaGVhcHR5cGVzKHNlbGYpOgorICAgICAgICBjbGFzcyBTdWJUeXBlKHR5cGVzLk1vZHVsZVR5cGUpOgorICAgICAgICAgICAgYSA9IDEKKworICAgICAgICBtID0gdHlwZXMuTW9kdWxlVHlwZSgibSIpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShtLl9fY2xhc3NfXyBpcyB0eXBlcy5Nb2R1bGVUeXBlKQorICAgICAgICBzZWxmLmFzc2VydEZhbHNlKGhhc2F0dHIobSwgImEiKSkKKworICAgICAgICBtLl9fY2xhc3NfXyA9IFN1YlR5cGUKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKG0uX19jbGFzc19fIGlzIFN1YlR5cGUpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShoYXNhdHRyKG0sICJhIikpCisKKyAgICAgICAgbS5fX2NsYXNzX18gPSB0eXBlcy5Nb2R1bGVUeXBlCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShtLl9fY2xhc3NfXyBpcyB0eXBlcy5Nb2R1bGVUeXBlKQorICAgICAgICBzZWxmLmFzc2VydEZhbHNlKGhhc2F0dHIobSwgImEiKSkKKwogICAgIGRlZiB0ZXN0X3Nsb3RzKHNlbGYpOgogICAgICAgICAjIFRlc3RpbmcgX19zbG90c19fLi4uCiAgICAgICAgIGNsYXNzIEMwKG9iamVjdCk6CkBAIC00MTYwLDYgKzQxNzYsNyBAQAogICAgICAgICAgICAgICAgICgnX19hZGRfXycsICAgICAgJ3ggKyB5JywgICAgICAgICAgICAgICAgICAgJ3ggKz0geScpLAogICAgICAgICAgICAgICAgICgnX19zdWJfXycsICAgICAgJ3ggLSB5JywgICAgICAgICAgICAgICAgICAgJ3ggLT0geScpLAogICAgICAgICAgICAgICAgICgnX19tdWxfXycsICAgICAgJ3ggKiB5JywgICAgICAgICAgICAgICAgICAgJ3ggKj0geScpLAorICAgICAgICAgICAgICAgICgnX19tYXRtdWxfXycsICAgJ3ggQCB5JywgICAgICAgICAgICAgICAgICAgJ3ggQD0geScpLAogICAgICAgICAgICAgICAgICgnX190cnVlZGl2X18nLCAgJ29wZXJhdG9yLnRydWVkaXYoeCwgeSknLCAgTm9uZSksCiAgICAgICAgICAgICAgICAgKCdfX2Zsb29yZGl2X18nLCAnb3BlcmF0b3IuZmxvb3JkaXYoeCwgeSknLCBOb25lKSwKICAgICAgICAgICAgICAgICAoJ19fZGl2X18nLCAgICAgICd4IC8geScsICAgICAgICAgICAgICAgICAgICd4IC89IHknKSwKQEAgLTQ0MjIsNiArNDQzOSw2MSBAQAogICAgICAgICBzZWxmLmFzc2VydEluKCJfX2RpY3RfXyIsIEJhc2UuX19kaWN0X18pCiAgICAgICAgIHNlbGYuYXNzZXJ0Tm90SW4oIl9fZGljdF9fIiwgU3ViLl9fZGljdF9fKQogCisgICAgZGVmIHRlc3RfYm91bmRfbWV0aG9kX3JlcHIoc2VsZik6CisgICAgICAgIGNsYXNzIEZvbzoKKyAgICAgICAgICAgIGRlZiBtZXRob2Qoc2VsZik6CisgICAgICAgICAgICAgICAgcGFzcworICAgICAgICBzZWxmLmFzc2VydFJlZ2V4KHJlcHIoRm9vKCkubWV0aG9kKSwKKyAgICAgICAgICAgIHIiPGJvdW5kIG1ldGhvZCAuKkZvb1wubWV0aG9kIG9mIDwuKkZvbyBvYmplY3QgYXQgLio+PiIpCisKKworICAgICAgICBjbGFzcyBCYXNlOgorICAgICAgICAgICAgZGVmIG1ldGhvZChzZWxmKToKKyAgICAgICAgICAgICAgICBwYXNzCisgICAgICAgIGNsYXNzIERlcml2ZWQxKEJhc2UpOgorICAgICAgICAgICAgcGFzcworICAgICAgICBjbGFzcyBEZXJpdmVkMihCYXNlKToKKyAgICAgICAgICAgIGRlZiBtZXRob2Qoc2VsZik6CisgICAgICAgICAgICAgICAgcGFzcworICAgICAgICBiYXNlID0gQmFzZSgpCisgICAgICAgIGRlcml2ZWQxID0gRGVyaXZlZDEoKQorICAgICAgICBkZXJpdmVkMiA9IERlcml2ZWQyKCkKKyAgICAgICAgc3VwZXJfZDIgPSBzdXBlcihEZXJpdmVkMiwgZGVyaXZlZDIpCisgICAgICAgIHNlbGYuYXNzZXJ0UmVnZXgocmVwcihiYXNlLm1ldGhvZCksCisgICAgICAgICAgICByIjxib3VuZCBtZXRob2QgLipCYXNlXC5tZXRob2Qgb2YgPC4qQmFzZSBvYmplY3QgYXQgLio+PiIpCisgICAgICAgIHNlbGYuYXNzZXJ0UmVnZXgocmVwcihkZXJpdmVkMS5tZXRob2QpLAorICAgICAgICAgICAgciI8Ym91bmQgbWV0aG9kIC4qQmFzZVwubWV0aG9kIG9mIDwuKkRlcml2ZWQxIG9iamVjdCBhdCAuKj4+IikKKyAgICAgICAgc2VsZi5hc3NlcnRSZWdleChyZXByKGRlcml2ZWQyLm1ldGhvZCksCisgICAgICAgICAgICByIjxib3VuZCBtZXRob2QgLipEZXJpdmVkMlwubWV0aG9kIG9mIDwuKkRlcml2ZWQyIG9iamVjdCBhdCAuKj4+IikKKyAgICAgICAgc2VsZi5hc3NlcnRSZWdleChyZXByKHN1cGVyX2QyLm1ldGhvZCksCisgICAgICAgICAgICByIjxib3VuZCBtZXRob2QgLipCYXNlXC5tZXRob2Qgb2YgPC4qRGVyaXZlZDIgb2JqZWN0IGF0IC4qPj4iKQorCisgICAgICAgIGNsYXNzIEZvbzoKKyAgICAgICAgICAgIEBjbGFzc21ldGhvZAorICAgICAgICAgICAgZGVmIG1ldGhvZChjbHMpOgorICAgICAgICAgICAgICAgIHBhc3MKKyAgICAgICAgZm9vID0gRm9vKCkKKyAgICAgICAgc2VsZi5hc3NlcnRSZWdleChyZXByKGZvby5tZXRob2QpLCAjIGFjY2VzcyB2aWEgaW5zdGFuY2UKKyAgICAgICAgICAgIHIiPGJvdW5kIG1ldGhvZCAuKkZvb1wubWV0aG9kIG9mIDxjbGFzcyAnLipGb28nPj4iKQorICAgICAgICBzZWxmLmFzc2VydFJlZ2V4KHJlcHIoRm9vLm1ldGhvZCksICMgYWNjZXNzIHZpYSB0aGUgY2xhc3MKKyAgICAgICAgICAgIHIiPGJvdW5kIG1ldGhvZCAuKkZvb1wubWV0aG9kIG9mIDxjbGFzcyAnLipGb28nPj4iKQorCisKKyAgICAgICAgY2xhc3MgTXlDYWxsYWJsZToKKyAgICAgICAgICAgIGRlZiBfX2NhbGxfXyhzZWxmLCBhcmcpOgorICAgICAgICAgICAgICAgIHBhc3MKKyAgICAgICAgZnVuYyA9IE15Q2FsbGFibGUoKSAjIGZ1bmMgaGFzIG5vIF9fbmFtZV9fIG9yIF9fcXVhbG5hbWVfXyBhdHRyaWJ1dGVzCisgICAgICAgIGluc3RhbmNlID0gb2JqZWN0KCkKKyAgICAgICAgbWV0aG9kID0gdHlwZXMuTWV0aG9kVHlwZShmdW5jLCBpbnN0YW5jZSkKKyAgICAgICAgc2VsZi5hc3NlcnRSZWdleChyZXByKG1ldGhvZCksCisgICAgICAgICAgICByIjxib3VuZCBtZXRob2QgXD8gb2YgPG9iamVjdCBvYmplY3QgYXQgLio+PiIpCisgICAgICAgIGZ1bmMuX19uYW1lX18gPSAibmFtZSIKKyAgICAgICAgc2VsZi5hc3NlcnRSZWdleChyZXByKG1ldGhvZCksCisgICAgICAgICAgICByIjxib3VuZCBtZXRob2QgbmFtZSBvZiA8b2JqZWN0IG9iamVjdCBhdCAuKj4+IikKKyAgICAgICAgZnVuYy5fX3F1YWxuYW1lX18gPSAicXVhbG5hbWUiCisgICAgICAgIHNlbGYuYXNzZXJ0UmVnZXgocmVwcihtZXRob2QpLAorICAgICAgICAgICAgciI8Ym91bmQgbWV0aG9kIHF1YWxuYW1lIG9mIDxvYmplY3Qgb2JqZWN0IGF0IC4qPj4iKQorCiAKIGNsYXNzIERpY3RQcm94eVRlc3RzKHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICBkZWYgc2V0VXAoc2VsZik6CkBAIC00NTM2LDI2ICs0NjA4LDE1IEBACiAKICAgICBkZWYgX2NoZWNrX3JlZHVjZShzZWxmLCBwcm90bywgb2JqLCBhcmdzPSgpLCBrd2FyZ3M9e30sIHN0YXRlPU5vbmUsCiAgICAgICAgICAgICAgICAgICAgICAgbGlzdGl0ZW1zPU5vbmUsIGRpY3RpdGVtcz1Ob25lKToKLSAgICAgICAgaWYgcHJvdG8gPj0gNDoKKyAgICAgICAgaWYgcHJvdG8gPj0gMjoKICAgICAgICAgICAgIHJlZHVjZV92YWx1ZSA9IG9iai5fX3JlZHVjZV9leF9fKHByb3RvKQotICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZWR1Y2VfdmFsdWVbOjNdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY29weXJlZy5fX25ld29ial9leF9fLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHR5cGUob2JqKSwgYXJncywga3dhcmdzKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRlKSkKLSAgICAgICAgICAgIGlmIGxpc3RpdGVtcyBpcyBub3QgTm9uZToKLSAgICAgICAgICAgICAgICBzZWxmLmFzc2VydExpc3RFcXVhbChsaXN0KHJlZHVjZV92YWx1ZVszXSksIGxpc3RpdGVtcykKKyAgICAgICAgICAgIGlmIGt3YXJnczoKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlZHVjZV92YWx1ZVswXSwgY29weXJlZy5fX25ld29ial9leF9fKQorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVkdWNlX3ZhbHVlWzFdLCAodHlwZShvYmopLCBhcmdzLCBrd2FyZ3MpKQogICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICBzZWxmLmFzc2VydElzTm9uZShyZWR1Y2VfdmFsdWVbM10pCi0gICAgICAgICAgICBpZiBkaWN0aXRlbXMgaXMgbm90IE5vbmU6Ci0gICAgICAgICAgICAgICAgc2VsZi5hc3NlcnREaWN0RXF1YWwoZGljdChyZWR1Y2VfdmFsdWVbNF0pLCBkaWN0aXRlbXMpCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXNOb25lKHJlZHVjZV92YWx1ZVs0XSkKLSAgICAgICAgZWxpZiBwcm90byA+PSAyOgotICAgICAgICAgICAgcmVkdWNlX3ZhbHVlID0gb2JqLl9fcmVkdWNlX2V4X18ocHJvdG8pCi0gICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlZHVjZV92YWx1ZVs6M10sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjb3B5cmVnLl9fbmV3b2JqX18sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodHlwZShvYmopLCkgKyBhcmdzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGUpKQorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVkdWNlX3ZhbHVlWzBdLCBjb3B5cmVnLl9fbmV3b2JqX18pCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZWR1Y2VfdmFsdWVbMV0sICh0eXBlKG9iaiksKSArIGFyZ3MpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlZHVjZV92YWx1ZVsyXSwgc3RhdGUpCiAgICAgICAgICAgICBpZiBsaXN0aXRlbXMgaXMgbm90IE5vbmU6CiAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRMaXN0RXF1YWwobGlzdChyZWR1Y2VfdmFsdWVbM10pLCBsaXN0aXRlbXMpCiAgICAgICAgICAgICBlbHNlOgpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9kaXMucHkgYi9MaWIvdGVzdC90ZXN0X2Rpcy5weQppbmRleCBiOGRhZmY3Li40ZjMwMTgzIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2Rpcy5weQorKysgYi9MaWIvdGVzdC90ZXN0X2Rpcy5weQpAQCAtMjMwLDYgKzIzMCw5IEBACiAgICAgICAgVFJBQ0VCQUNLX0NPREUuY29fZmlyc3RsaW5lbm8gKyA0LAogICAgICAgIFRSQUNFQkFDS19DT0RFLmNvX2ZpcnN0bGluZW5vICsgNSkKIAorZGVmIF9nKHgpOgorICAgIHlpZWxkIHgKKwogY2xhc3MgRGlzVGVzdHModW5pdHRlc3QuVGVzdENhc2UpOgogCiAgICAgZGVmIGdldF9kaXNhc3NlbWJseShzZWxmLCBmdW5jLCBsYXN0aT0tMSwgd3JhcHBlcj1UcnVlKToKQEAgLTMxNSw2ICszMTgsMTEgQEAKICAgICAgICAgbWV0aG9kX2J5dGVjb2RlID0gX0MoMSkuX19pbml0X18uX19jb2RlX18uY29fY29kZQogICAgICAgICBzZWxmLmRvX2Rpc2Fzc2VtYmx5X3Rlc3QobWV0aG9kX2J5dGVjb2RlLCBkaXNfY19pbnN0YW5jZV9tZXRob2RfYnl0ZXMpCiAKKyAgICBkZWYgdGVzdF9kaXNhc3NlbWJsZV9nZW5lcmF0b3Ioc2VsZik6CisgICAgICAgIGdlbl9mdW5jX2Rpc2FzID0gc2VsZi5nZXRfZGlzYXNzZW1ibHkoX2cpICAjIERpc2Fzc2VtYmxlIGdlbmVyYXRvciBmdW5jdGlvbgorICAgICAgICBnZW5fZGlzYXMgPSBzZWxmLmdldF9kaXNhc3NlbWJseShfZygxKSkgICMgRGlzYXNzZW1ibGUgZ2VuZXJhdG9yIGl0c2VsZgorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGdlbl9kaXNhcywgZ2VuX2Z1bmNfZGlzYXMpCisKICAgICBkZWYgdGVzdF9kaXNfbm9uZShzZWxmKToKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgZGVsIHN5cy5sYXN0X3RyYWNlYmFjawpAQCAtNTYxLDEwICs1NjksMTAgQEAKICNfaW5zdHJ1Y3Rpb25zID0gZGlzLmdldF9pbnN0cnVjdGlvbnMob3V0ZXIsIGZpcnN0X2xpbmU9ZXhwZWN0ZWRfb3V0ZXJfbGluZSkKICNwcmludCgnZXhwZWN0ZWRfb3BpbmZvX291dGVyID0gW1xuICAnLAogICAgICAgIycsXG4gICcuam9pbihtYXAoc3RyLCBfaW5zdHJ1Y3Rpb25zKSksICcsXG5dJywgc2VwPScnKQotI19pbnN0cnVjdGlvbnMgPSBkaXMuZ2V0X2luc3RydWN0aW9ucyhvdXRlcigpLCBmaXJzdF9saW5lPWV4cGVjdGVkX291dGVyX2xpbmUpCisjX2luc3RydWN0aW9ucyA9IGRpcy5nZXRfaW5zdHJ1Y3Rpb25zKG91dGVyKCksIGZpcnN0X2xpbmU9ZXhwZWN0ZWRfZl9saW5lKQogI3ByaW50KCdleHBlY3RlZF9vcGluZm9fZiA9IFtcbiAgJywKICAgICAgICMnLFxuICAnLmpvaW4obWFwKHN0ciwgX2luc3RydWN0aW9ucykpLCAnLFxuXScsIHNlcD0nJykKLSNfaW5zdHJ1Y3Rpb25zID0gZGlzLmdldF9pbnN0cnVjdGlvbnMob3V0ZXIoKSgpLCBmaXJzdF9saW5lPWV4cGVjdGVkX291dGVyX2xpbmUpCisjX2luc3RydWN0aW9ucyA9IGRpcy5nZXRfaW5zdHJ1Y3Rpb25zKG91dGVyKCkoKSwgZmlyc3RfbGluZT1leHBlY3RlZF9pbm5lcl9saW5lKQogI3ByaW50KCdleHBlY3RlZF9vcGluZm9faW5uZXIgPSBbXG4gICcsCiAgICAgICAjJyxcbiAgJy5qb2luKG1hcChzdHIsIF9pbnN0cnVjdGlvbnMpKSwgJyxcbl0nLCBzZXA9JycpCiAjX2luc3RydWN0aW9ucyA9IGRpcy5nZXRfaW5zdHJ1Y3Rpb25zKGp1bXB5LCBmaXJzdF9saW5lPWV4cGVjdGVkX2p1bXB5X2xpbmUpCkBAIC02MzUsMTIgKzY0MywxMiBAQAogXQogCiBleHBlY3RlZF9vcGluZm9fanVtcHkgPSBbCi0gIEluc3RydWN0aW9uKG9wbmFtZT0nU0VUVVBfTE9PUCcsIG9wY29kZT0xMjAsIGFyZz03NCwgYXJndmFsPTc3LCBhcmdyZXByPSd0byA3NycsIG9mZnNldD0wLCBzdGFydHNfbGluZT0zLCBpc19qdW1wX3RhcmdldD1GYWxzZSksCisgIEluc3RydWN0aW9uKG9wbmFtZT0nU0VUVVBfTE9PUCcsIG9wY29kZT0xMjAsIGFyZz02OCwgYXJndmFsPTcxLCBhcmdyZXByPSd0byA3MScsIG9mZnNldD0wLCBzdGFydHNfbGluZT0zLCBpc19qdW1wX3RhcmdldD1GYWxzZSksCiAgIEluc3RydWN0aW9uKG9wbmFtZT0nTE9BRF9HTE9CQUwnLCBvcGNvZGU9MTE2LCBhcmc9MCwgYXJndmFsPSdyYW5nZScsIGFyZ3JlcHI9J3JhbmdlJywgb2Zmc2V0PTMsIHN0YXJ0c19saW5lPU5vbmUsIGlzX2p1bXBfdGFyZ2V0PUZhbHNlKSwKICAgSW5zdHJ1Y3Rpb24ob3BuYW1lPSdMT0FEX0NPTlNUJywgb3Bjb2RlPTEwMCwgYXJnPTEsIGFyZ3ZhbD0xMCwgYXJncmVwcj0nMTAnLCBvZmZzZXQ9Niwgc3RhcnRzX2xpbmU9Tm9uZSwgaXNfanVtcF90YXJnZXQ9RmFsc2UpLAogICBJbnN0cnVjdGlvbihvcG5hbWU9J0NBTExfRlVOQ1RJT04nLCBvcGNvZGU9MTMxLCBhcmc9MSwgYXJndmFsPTEsIGFyZ3JlcHI9JzEgcG9zaXRpb25hbCwgMCBrZXl3b3JkIHBhaXInLCBvZmZzZXQ9OSwgc3RhcnRzX2xpbmU9Tm9uZSwgaXNfanVtcF90YXJnZXQ9RmFsc2UpLAogICBJbnN0cnVjdGlvbihvcG5hbWU9J0dFVF9JVEVSJywgb3Bjb2RlPTY4LCBhcmc9Tm9uZSwgYXJndmFsPU5vbmUsIGFyZ3JlcHI9JycsIG9mZnNldD0xMiwgc3RhcnRzX2xpbmU9Tm9uZSwgaXNfanVtcF90YXJnZXQ9RmFsc2UpLAotICBJbnN0cnVjdGlvbihvcG5hbWU9J0ZPUl9JVEVSJywgb3Bjb2RlPTkzLCBhcmc9NTAsIGFyZ3ZhbD02NiwgYXJncmVwcj0ndG8gNjYnLCBvZmZzZXQ9MTMsIHN0YXJ0c19saW5lPU5vbmUsIGlzX2p1bXBfdGFyZ2V0PVRydWUpLAorICBJbnN0cnVjdGlvbihvcG5hbWU9J0ZPUl9JVEVSJywgb3Bjb2RlPTkzLCBhcmc9NDQsIGFyZ3ZhbD02MCwgYXJncmVwcj0ndG8gNjAnLCBvZmZzZXQ9MTMsIHN0YXJ0c19saW5lPU5vbmUsIGlzX2p1bXBfdGFyZ2V0PVRydWUpLAogICBJbnN0cnVjdGlvbihvcG5hbWU9J1NUT1JFX0ZBU1QnLCBvcGNvZGU9MTI1LCBhcmc9MCwgYXJndmFsPSdpJywgYXJncmVwcj0naScsIG9mZnNldD0xNiwgc3RhcnRzX2xpbmU9Tm9uZSwgaXNfanVtcF90YXJnZXQ9RmFsc2UpLAogICBJbnN0cnVjdGlvbihvcG5hbWU9J0xPQURfR0xPQkFMJywgb3Bjb2RlPTExNiwgYXJnPTEsIGFyZ3ZhbD0ncHJpbnQnLCBhcmdyZXByPSdwcmludCcsIG9mZnNldD0xOSwgc3RhcnRzX2xpbmU9NCwgaXNfanVtcF90YXJnZXQ9RmFsc2UpLAogICBJbnN0cnVjdGlvbihvcG5hbWU9J0xPQURfRkFTVCcsIG9wY29kZT0xMjQsIGFyZz0wLCBhcmd2YWw9J2knLCBhcmdyZXByPSdpJywgb2Zmc2V0PTIyLCBzdGFydHNfbGluZT1Ob25lLCBpc19qdW1wX3RhcmdldD1GYWxzZSksCkBAIC02NDksOTIgKzY1Nyw4OCBAQAogICBJbnN0cnVjdGlvbihvcG5hbWU9J0xPQURfRkFTVCcsIG9wY29kZT0xMjQsIGFyZz0wLCBhcmd2YWw9J2knLCBhcmdyZXByPSdpJywgb2Zmc2V0PTI5LCBzdGFydHNfbGluZT01LCBpc19qdW1wX3RhcmdldD1GYWxzZSksCiAgIEluc3RydWN0aW9uKG9wbmFtZT0nTE9BRF9DT05TVCcsIG9wY29kZT0xMDAsIGFyZz0yLCBhcmd2YWw9NCwgYXJncmVwcj0nNCcsIG9mZnNldD0zMiwgc3RhcnRzX2xpbmU9Tm9uZSwgaXNfanVtcF90YXJnZXQ9RmFsc2UpLAogICBJbnN0cnVjdGlvbihvcG5hbWU9J0NPTVBBUkVfT1AnLCBvcGNvZGU9MTA3LCBhcmc9MCwgYXJndmFsPSc8JywgYXJncmVwcj0nPCcsIG9mZnNldD0zNSwgc3RhcnRzX2xpbmU9Tm9uZSwgaXNfanVtcF90YXJnZXQ9RmFsc2UpLAotICBJbnN0cnVjdGlvbihvcG5hbWU9J1BPUF9KVU1QX0lGX0ZBTFNFJywgb3Bjb2RlPTExNCwgYXJnPTQ3LCBhcmd2YWw9NDcsIGFyZ3JlcHI9JycsIG9mZnNldD0zOCwgc3RhcnRzX2xpbmU9Tm9uZSwgaXNfanVtcF90YXJnZXQ9RmFsc2UpLAorICBJbnN0cnVjdGlvbihvcG5hbWU9J1BPUF9KVU1QX0lGX0ZBTFNFJywgb3Bjb2RlPTExNCwgYXJnPTQ0LCBhcmd2YWw9NDQsIGFyZ3JlcHI9JycsIG9mZnNldD0zOCwgc3RhcnRzX2xpbmU9Tm9uZSwgaXNfanVtcF90YXJnZXQ9RmFsc2UpLAogICBJbnN0cnVjdGlvbihvcG5hbWU9J0pVTVBfQUJTT0xVVEUnLCBvcGNvZGU9MTEzLCBhcmc9MTMsIGFyZ3ZhbD0xMywgYXJncmVwcj0nJywgb2Zmc2V0PTQxLCBzdGFydHNfbGluZT02LCBpc19qdW1wX3RhcmdldD1GYWxzZSksCi0gIEluc3RydWN0aW9uKG9wbmFtZT0nSlVNUF9GT1JXQVJEJywgb3Bjb2RlPTExMCwgYXJnPTAsIGFyZ3ZhbD00NywgYXJncmVwcj0ndG8gNDcnLCBvZmZzZXQ9NDQsIHN0YXJ0c19saW5lPU5vbmUsIGlzX2p1bXBfdGFyZ2V0PUZhbHNlKSwKLSAgSW5zdHJ1Y3Rpb24ob3BuYW1lPSdMT0FEX0ZBU1QnLCBvcGNvZGU9MTI0LCBhcmc9MCwgYXJndmFsPSdpJywgYXJncmVwcj0naScsIG9mZnNldD00Nywgc3RhcnRzX2xpbmU9NywgaXNfanVtcF90YXJnZXQ9VHJ1ZSksCi0gIEluc3RydWN0aW9uKG9wbmFtZT0nTE9BRF9DT05TVCcsIG9wY29kZT0xMDAsIGFyZz0zLCBhcmd2YWw9NiwgYXJncmVwcj0nNicsIG9mZnNldD01MCwgc3RhcnRzX2xpbmU9Tm9uZSwgaXNfanVtcF90YXJnZXQ9RmFsc2UpLAotICBJbnN0cnVjdGlvbihvcG5hbWU9J0NPTVBBUkVfT1AnLCBvcGNvZGU9MTA3LCBhcmc9NCwgYXJndmFsPSc+JywgYXJncmVwcj0nPicsIG9mZnNldD01Mywgc3RhcnRzX2xpbmU9Tm9uZSwgaXNfanVtcF90YXJnZXQ9RmFsc2UpLAotICBJbnN0cnVjdGlvbihvcG5hbWU9J1BPUF9KVU1QX0lGX0ZBTFNFJywgb3Bjb2RlPTExNCwgYXJnPTEzLCBhcmd2YWw9MTMsIGFyZ3JlcHI9JycsIG9mZnNldD01Niwgc3RhcnRzX2xpbmU9Tm9uZSwgaXNfanVtcF90YXJnZXQ9RmFsc2UpLAotICBJbnN0cnVjdGlvbihvcG5hbWU9J0JSRUFLX0xPT1AnLCBvcGNvZGU9ODAsIGFyZz1Ob25lLCBhcmd2YWw9Tm9uZSwgYXJncmVwcj0nJywgb2Zmc2V0PTU5LCBzdGFydHNfbGluZT04LCBpc19qdW1wX3RhcmdldD1GYWxzZSksCi0gIEluc3RydWN0aW9uKG9wbmFtZT0nSlVNUF9BQlNPTFVURScsIG9wY29kZT0xMTMsIGFyZz0xMywgYXJndmFsPTEzLCBhcmdyZXByPScnLCBvZmZzZXQ9NjAsIHN0YXJ0c19saW5lPU5vbmUsIGlzX2p1bXBfdGFyZ2V0PUZhbHNlKSwKLSAgSW5zdHJ1Y3Rpb24ob3BuYW1lPSdKVU1QX0FCU09MVVRFJywgb3Bjb2RlPTExMywgYXJnPTEzLCBhcmd2YWw9MTMsIGFyZ3JlcHI9JycsIG9mZnNldD02Mywgc3RhcnRzX2xpbmU9Tm9uZSwgaXNfanVtcF90YXJnZXQ9RmFsc2UpLAotICBJbnN0cnVjdGlvbihvcG5hbWU9J1BPUF9CTE9DSycsIG9wY29kZT04NywgYXJnPU5vbmUsIGFyZ3ZhbD1Ob25lLCBhcmdyZXByPScnLCBvZmZzZXQ9NjYsIHN0YXJ0c19saW5lPU5vbmUsIGlzX2p1bXBfdGFyZ2V0PVRydWUpLAotICBJbnN0cnVjdGlvbihvcG5hbWU9J0xPQURfR0xPQkFMJywgb3Bjb2RlPTExNiwgYXJnPTEsIGFyZ3ZhbD0ncHJpbnQnLCBhcmdyZXByPSdwcmludCcsIG9mZnNldD02Nywgc3RhcnRzX2xpbmU9MTAsIGlzX2p1bXBfdGFyZ2V0PUZhbHNlKSwKLSAgSW5zdHJ1Y3Rpb24ob3BuYW1lPSdMT0FEX0NPTlNUJywgb3Bjb2RlPTEwMCwgYXJnPTQsIGFyZ3ZhbD0nSSBjYW4gaGF6IGVsc2UgY2xhdXNlPycsIGFyZ3JlcHI9IidJIGNhbiBoYXogZWxzZSBjbGF1c2U/JyIsIG9mZnNldD03MCwgc3RhcnRzX2xpbmU9Tm9uZSwgaXNfanVtcF90YXJnZXQ9RmFsc2UpLAotICBJbnN0cnVjdGlvbihvcG5hbWU9J0NBTExfRlVOQ1RJT04nLCBvcGNvZGU9MTMxLCBhcmc9MSwgYXJndmFsPTEsIGFyZ3JlcHI9JzEgcG9zaXRpb25hbCwgMCBrZXl3b3JkIHBhaXInLCBvZmZzZXQ9NzMsIHN0YXJ0c19saW5lPU5vbmUsIGlzX2p1bXBfdGFyZ2V0PUZhbHNlKSwKLSAgSW5zdHJ1Y3Rpb24ob3BuYW1lPSdQT1BfVE9QJywgb3Bjb2RlPTEsIGFyZz1Ob25lLCBhcmd2YWw9Tm9uZSwgYXJncmVwcj0nJywgb2Zmc2V0PTc2LCBzdGFydHNfbGluZT1Ob25lLCBpc19qdW1wX3RhcmdldD1GYWxzZSksCi0gIEluc3RydWN0aW9uKG9wbmFtZT0nU0VUVVBfTE9PUCcsIG9wY29kZT0xMjAsIGFyZz03NCwgYXJndmFsPTE1NCwgYXJncmVwcj0ndG8gMTU0Jywgb2Zmc2V0PTc3LCBzdGFydHNfbGluZT0xMSwgaXNfanVtcF90YXJnZXQ9VHJ1ZSksCi0gIEluc3RydWN0aW9uKG9wbmFtZT0nTE9BRF9GQVNUJywgb3Bjb2RlPTEyNCwgYXJnPTAsIGFyZ3ZhbD0naScsIGFyZ3JlcHI9J2knLCBvZmZzZXQ9ODAsIHN0YXJ0c19saW5lPU5vbmUsIGlzX2p1bXBfdGFyZ2V0PVRydWUpLAotICBJbnN0cnVjdGlvbihvcG5hbWU9J1BPUF9KVU1QX0lGX0ZBTFNFJywgb3Bjb2RlPTExNCwgYXJnPTE0MywgYXJndmFsPTE0MywgYXJncmVwcj0nJywgb2Zmc2V0PTgzLCBzdGFydHNfbGluZT1Ob25lLCBpc19qdW1wX3RhcmdldD1GYWxzZSksCi0gIEluc3RydWN0aW9uKG9wbmFtZT0nTE9BRF9HTE9CQUwnLCBvcGNvZGU9MTE2LCBhcmc9MSwgYXJndmFsPSdwcmludCcsIGFyZ3JlcHI9J3ByaW50Jywgb2Zmc2V0PTg2LCBzdGFydHNfbGluZT0xMiwgaXNfanVtcF90YXJnZXQ9RmFsc2UpLAotICBJbnN0cnVjdGlvbihvcG5hbWU9J0xPQURfRkFTVCcsIG9wY29kZT0xMjQsIGFyZz0wLCBhcmd2YWw9J2knLCBhcmdyZXByPSdpJywgb2Zmc2V0PTg5LCBzdGFydHNfbGluZT1Ob25lLCBpc19qdW1wX3RhcmdldD1GYWxzZSksCi0gIEluc3RydWN0aW9uKG9wbmFtZT0nQ0FMTF9GVU5DVElPTicsIG9wY29kZT0xMzEsIGFyZz0xLCBhcmd2YWw9MSwgYXJncmVwcj0nMSBwb3NpdGlvbmFsLCAwIGtleXdvcmQgcGFpcicsIG9mZnNldD05Miwgc3RhcnRzX2xpbmU9Tm9uZSwgaXNfanVtcF90YXJnZXQ9RmFsc2UpLAotICBJbnN0cnVjdGlvbihvcG5hbWU9J1BPUF9UT1AnLCBvcGNvZGU9MSwgYXJnPU5vbmUsIGFyZ3ZhbD1Ob25lLCBhcmdyZXByPScnLCBvZmZzZXQ9OTUsIHN0YXJ0c19saW5lPU5vbmUsIGlzX2p1bXBfdGFyZ2V0PUZhbHNlKSwKLSAgSW5zdHJ1Y3Rpb24ob3BuYW1lPSdMT0FEX0ZBU1QnLCBvcGNvZGU9MTI0LCBhcmc9MCwgYXJndmFsPSdpJywgYXJncmVwcj0naScsIG9mZnNldD05Niwgc3RhcnRzX2xpbmU9MTMsIGlzX2p1bXBfdGFyZ2V0PUZhbHNlKSwKLSAgSW5zdHJ1Y3Rpb24ob3BuYW1lPSdMT0FEX0NPTlNUJywgb3Bjb2RlPTEwMCwgYXJnPTUsIGFyZ3ZhbD0xLCBhcmdyZXByPScxJywgb2Zmc2V0PTk5LCBzdGFydHNfbGluZT1Ob25lLCBpc19qdW1wX3RhcmdldD1GYWxzZSksCi0gIEluc3RydWN0aW9uKG9wbmFtZT0nSU5QTEFDRV9TVUJUUkFDVCcsIG9wY29kZT01NiwgYXJnPU5vbmUsIGFyZ3ZhbD1Ob25lLCBhcmdyZXByPScnLCBvZmZzZXQ9MTAyLCBzdGFydHNfbGluZT1Ob25lLCBpc19qdW1wX3RhcmdldD1GYWxzZSksCi0gIEluc3RydWN0aW9uKG9wbmFtZT0nU1RPUkVfRkFTVCcsIG9wY29kZT0xMjUsIGFyZz0wLCBhcmd2YWw9J2knLCBhcmdyZXByPSdpJywgb2Zmc2V0PTEwMywgc3RhcnRzX2xpbmU9Tm9uZSwgaXNfanVtcF90YXJnZXQ9RmFsc2UpLAotICBJbnN0cnVjdGlvbihvcG5hbWU9J0xPQURfRkFTVCcsIG9wY29kZT0xMjQsIGFyZz0wLCBhcmd2YWw9J2knLCBhcmdyZXByPSdpJywgb2Zmc2V0PTEwNiwgc3RhcnRzX2xpbmU9MTQsIGlzX2p1bXBfdGFyZ2V0PUZhbHNlKSwKLSAgSW5zdHJ1Y3Rpb24ob3BuYW1lPSdMT0FEX0NPTlNUJywgb3Bjb2RlPTEwMCwgYXJnPTMsIGFyZ3ZhbD02LCBhcmdyZXByPSc2Jywgb2Zmc2V0PTEwOSwgc3RhcnRzX2xpbmU9Tm9uZSwgaXNfanVtcF90YXJnZXQ9RmFsc2UpLAotICBJbnN0cnVjdGlvbihvcG5hbWU9J0NPTVBBUkVfT1AnLCBvcGNvZGU9MTA3LCBhcmc9NCwgYXJndmFsPSc+JywgYXJncmVwcj0nPicsIG9mZnNldD0xMTIsIHN0YXJ0c19saW5lPU5vbmUsIGlzX2p1bXBfdGFyZ2V0PUZhbHNlKSwKLSAgSW5zdHJ1Y3Rpb24ob3BuYW1lPSdQT1BfSlVNUF9JRl9GQUxTRScsIG9wY29kZT0xMTQsIGFyZz0xMjQsIGFyZ3ZhbD0xMjQsIGFyZ3JlcHI9JycsIG9mZnNldD0xMTUsIHN0YXJ0c19saW5lPU5vbmUsIGlzX2p1bXBfdGFyZ2V0PUZhbHNlKSwKLSAgSW5zdHJ1Y3Rpb24ob3BuYW1lPSdKVU1QX0FCU09MVVRFJywgb3Bjb2RlPTExMywgYXJnPTgwLCBhcmd2YWw9ODAsIGFyZ3JlcHI9JycsIG9mZnNldD0xMTgsIHN0YXJ0c19saW5lPTE1LCBpc19qdW1wX3RhcmdldD1GYWxzZSksCi0gIEluc3RydWN0aW9uKG9wbmFtZT0nSlVNUF9GT1JXQVJEJywgb3Bjb2RlPTExMCwgYXJnPTAsIGFyZ3ZhbD0xMjQsIGFyZ3JlcHI9J3RvIDEyNCcsIG9mZnNldD0xMjEsIHN0YXJ0c19saW5lPU5vbmUsIGlzX2p1bXBfdGFyZ2V0PUZhbHNlKSwKLSAgSW5zdHJ1Y3Rpb24ob3BuYW1lPSdMT0FEX0ZBU1QnLCBvcGNvZGU9MTI0LCBhcmc9MCwgYXJndmFsPSdpJywgYXJncmVwcj0naScsIG9mZnNldD0xMjQsIHN0YXJ0c19saW5lPTE2LCBpc19qdW1wX3RhcmdldD1UcnVlKSwKLSAgSW5zdHJ1Y3Rpb24ob3BuYW1lPSdMT0FEX0NPTlNUJywgb3Bjb2RlPTEwMCwgYXJnPTIsIGFyZ3ZhbD00LCBhcmdyZXByPSc0Jywgb2Zmc2V0PTEyNywgc3RhcnRzX2xpbmU9Tm9uZSwgaXNfanVtcF90YXJnZXQ9RmFsc2UpLAotICBJbnN0cnVjdGlvbihvcG5hbWU9J0NPTVBBUkVfT1AnLCBvcGNvZGU9MTA3LCBhcmc9MCwgYXJndmFsPSc8JywgYXJncmVwcj0nPCcsIG9mZnNldD0xMzAsIHN0YXJ0c19saW5lPU5vbmUsIGlzX2p1bXBfdGFyZ2V0PUZhbHNlKSwKLSAgSW5zdHJ1Y3Rpb24ob3BuYW1lPSdQT1BfSlVNUF9JRl9GQUxTRScsIG9wY29kZT0xMTQsIGFyZz04MCwgYXJndmFsPTgwLCBhcmdyZXByPScnLCBvZmZzZXQ9MTMzLCBzdGFydHNfbGluZT1Ob25lLCBpc19qdW1wX3RhcmdldD1GYWxzZSksCi0gIEluc3RydWN0aW9uKG9wbmFtZT0nQlJFQUtfTE9PUCcsIG9wY29kZT04MCwgYXJnPU5vbmUsIGFyZ3ZhbD1Ob25lLCBhcmdyZXByPScnLCBvZmZzZXQ9MTM2LCBzdGFydHNfbGluZT0xNywgaXNfanVtcF90YXJnZXQ9RmFsc2UpLAotICBJbnN0cnVjdGlvbihvcG5hbWU9J0pVTVBfQUJTT0xVVEUnLCBvcGNvZGU9MTEzLCBhcmc9ODAsIGFyZ3ZhbD04MCwgYXJncmVwcj0nJywgb2Zmc2V0PTEzNywgc3RhcnRzX2xpbmU9Tm9uZSwgaXNfanVtcF90YXJnZXQ9RmFsc2UpLAotICBJbnN0cnVjdGlvbihvcG5hbWU9J0pVTVBfQUJTT0xVVEUnLCBvcGNvZGU9MTEzLCBhcmc9ODAsIGFyZ3ZhbD04MCwgYXJncmVwcj0nJywgb2Zmc2V0PTE0MCwgc3RhcnRzX2xpbmU9Tm9uZSwgaXNfanVtcF90YXJnZXQ9RmFsc2UpLAotICBJbnN0cnVjdGlvbihvcG5hbWU9J1BPUF9CTE9DSycsIG9wY29kZT04NywgYXJnPU5vbmUsIGFyZ3ZhbD1Ob25lLCBhcmdyZXByPScnLCBvZmZzZXQ9MTQzLCBzdGFydHNfbGluZT1Ob25lLCBpc19qdW1wX3RhcmdldD1UcnVlKSwKLSAgSW5zdHJ1Y3Rpb24ob3BuYW1lPSdMT0FEX0dMT0JBTCcsIG9wY29kZT0xMTYsIGFyZz0xLCBhcmd2YWw9J3ByaW50JywgYXJncmVwcj0ncHJpbnQnLCBvZmZzZXQ9MTQ0LCBzdGFydHNfbGluZT0xOSwgaXNfanVtcF90YXJnZXQ9RmFsc2UpLAotICBJbnN0cnVjdGlvbihvcG5hbWU9J0xPQURfQ09OU1QnLCBvcGNvZGU9MTAwLCBhcmc9NiwgYXJndmFsPSdXaG8gbGV0IGxvbGNhdHogaW50byB0aGlzIHRlc3Qgc3VpdGU/JywgYXJncmVwcj0iJ1dobyBsZXQgbG9sY2F0eiBpbnRvIHRoaXMgdGVzdCBzdWl0ZT8nIiwgb2Zmc2V0PTE0Nywgc3RhcnRzX2xpbmU9Tm9uZSwgaXNfanVtcF90YXJnZXQ9RmFsc2UpLAotICBJbnN0cnVjdGlvbihvcG5hbWU9J0NBTExfRlVOQ1RJT04nLCBvcGNvZGU9MTMxLCBhcmc9MSwgYXJndmFsPTEsIGFyZ3JlcHI9JzEgcG9zaXRpb25hbCwgMCBrZXl3b3JkIHBhaXInLCBvZmZzZXQ9MTUwLCBzdGFydHNfbGluZT1Ob25lLCBpc19qdW1wX3RhcmdldD1GYWxzZSksCi0gIEluc3RydWN0aW9uKG9wbmFtZT0nUE9QX1RPUCcsIG9wY29kZT0xLCBhcmc9Tm9uZSwgYXJndmFsPU5vbmUsIGFyZ3JlcHI9JycsIG9mZnNldD0xNTMsIHN0YXJ0c19saW5lPU5vbmUsIGlzX2p1bXBfdGFyZ2V0PUZhbHNlKSwKLSAgSW5zdHJ1Y3Rpb24ob3BuYW1lPSdTRVRVUF9GSU5BTExZJywgb3Bjb2RlPTEyMiwgYXJnPTcyLCBhcmd2YWw9MjI5LCBhcmdyZXByPSd0byAyMjknLCBvZmZzZXQ9MTU0LCBzdGFydHNfbGluZT0yMCwgaXNfanVtcF90YXJnZXQ9VHJ1ZSksCi0gIEluc3RydWN0aW9uKG9wbmFtZT0nU0VUVVBfRVhDRVBUJywgb3Bjb2RlPTEyMSwgYXJnPTEyLCBhcmd2YWw9MTcyLCBhcmdyZXByPSd0byAxNzInLCBvZmZzZXQ9MTU3LCBzdGFydHNfbGluZT1Ob25lLCBpc19qdW1wX3RhcmdldD1GYWxzZSksCi0gIEluc3RydWN0aW9uKG9wbmFtZT0nTE9BRF9DT05TVCcsIG9wY29kZT0xMDAsIGFyZz01LCBhcmd2YWw9MSwgYXJncmVwcj0nMScsIG9mZnNldD0xNjAsIHN0YXJ0c19saW5lPTIxLCBpc19qdW1wX3RhcmdldD1GYWxzZSksCi0gIEluc3RydWN0aW9uKG9wbmFtZT0nTE9BRF9DT05TVCcsIG9wY29kZT0xMDAsIGFyZz03LCBhcmd2YWw9MCwgYXJncmVwcj0nMCcsIG9mZnNldD0xNjMsIHN0YXJ0c19saW5lPU5vbmUsIGlzX2p1bXBfdGFyZ2V0PUZhbHNlKSwKLSAgSW5zdHJ1Y3Rpb24ob3BuYW1lPSdCSU5BUllfVFJVRV9ESVZJREUnLCBvcGNvZGU9MjcsIGFyZz1Ob25lLCBhcmd2YWw9Tm9uZSwgYXJncmVwcj0nJywgb2Zmc2V0PTE2Niwgc3RhcnRzX2xpbmU9Tm9uZSwgaXNfanVtcF90YXJnZXQ9RmFsc2UpLAotICBJbnN0cnVjdGlvbihvcG5hbWU9J1BPUF9UT1AnLCBvcGNvZGU9MSwgYXJnPU5vbmUsIGFyZ3ZhbD1Ob25lLCBhcmdyZXByPScnLCBvZmZzZXQ9MTY3LCBzdGFydHNfbGluZT1Ob25lLCBpc19qdW1wX3RhcmdldD1GYWxzZSksCi0gIEluc3RydWN0aW9uKG9wbmFtZT0nUE9QX0JMT0NLJywgb3Bjb2RlPTg3LCBhcmc9Tm9uZSwgYXJndmFsPU5vbmUsIGFyZ3JlcHI9JycsIG9mZnNldD0xNjgsIHN0YXJ0c19saW5lPU5vbmUsIGlzX2p1bXBfdGFyZ2V0PUZhbHNlKSwKLSAgSW5zdHJ1Y3Rpb24ob3BuYW1lPSdKVU1QX0ZPUldBUkQnLCBvcGNvZGU9MTEwLCBhcmc9MjgsIGFyZ3ZhbD0yMDAsIGFyZ3JlcHI9J3RvIDIwMCcsIG9mZnNldD0xNjksIHN0YXJ0c19saW5lPU5vbmUsIGlzX2p1bXBfdGFyZ2V0PUZhbHNlKSwKLSAgSW5zdHJ1Y3Rpb24ob3BuYW1lPSdEVVBfVE9QJywgb3Bjb2RlPTQsIGFyZz1Ob25lLCBhcmd2YWw9Tm9uZSwgYXJncmVwcj0nJywgb2Zmc2V0PTE3Miwgc3RhcnRzX2xpbmU9MjIsIGlzX2p1bXBfdGFyZ2V0PVRydWUpLAotICBJbnN0cnVjdGlvbihvcG5hbWU9J0xPQURfR0xPQkFMJywgb3Bjb2RlPTExNiwgYXJnPTIsIGFyZ3ZhbD0nWmVyb0RpdmlzaW9uRXJyb3InLCBhcmdyZXByPSdaZXJvRGl2aXNpb25FcnJvcicsIG9mZnNldD0xNzMsIHN0YXJ0c19saW5lPU5vbmUsIGlzX2p1bXBfdGFyZ2V0PUZhbHNlKSwKLSAgSW5zdHJ1Y3Rpb24ob3BuYW1lPSdDT01QQVJFX09QJywgb3Bjb2RlPTEwNywgYXJnPTEwLCBhcmd2YWw9J2V4Y2VwdGlvbiBtYXRjaCcsIGFyZ3JlcHI9J2V4Y2VwdGlvbiBtYXRjaCcsIG9mZnNldD0xNzYsIHN0YXJ0c19saW5lPU5vbmUsIGlzX2p1bXBfdGFyZ2V0PUZhbHNlKSwKLSAgSW5zdHJ1Y3Rpb24ob3BuYW1lPSdQT1BfSlVNUF9JRl9GQUxTRScsIG9wY29kZT0xMTQsIGFyZz0xOTksIGFyZ3ZhbD0xOTksIGFyZ3JlcHI9JycsIG9mZnNldD0xNzksIHN0YXJ0c19saW5lPU5vbmUsIGlzX2p1bXBfdGFyZ2V0PUZhbHNlKSwKKyAgSW5zdHJ1Y3Rpb24ob3BuYW1lPSdMT0FEX0ZBU1QnLCBvcGNvZGU9MTI0LCBhcmc9MCwgYXJndmFsPSdpJywgYXJncmVwcj0naScsIG9mZnNldD00NCwgc3RhcnRzX2xpbmU9NywgaXNfanVtcF90YXJnZXQ9VHJ1ZSksCisgIEluc3RydWN0aW9uKG9wbmFtZT0nTE9BRF9DT05TVCcsIG9wY29kZT0xMDAsIGFyZz0zLCBhcmd2YWw9NiwgYXJncmVwcj0nNicsIG9mZnNldD00Nywgc3RhcnRzX2xpbmU9Tm9uZSwgaXNfanVtcF90YXJnZXQ9RmFsc2UpLAorICBJbnN0cnVjdGlvbihvcG5hbWU9J0NPTVBBUkVfT1AnLCBvcGNvZGU9MTA3LCBhcmc9NCwgYXJndmFsPSc+JywgYXJncmVwcj0nPicsIG9mZnNldD01MCwgc3RhcnRzX2xpbmU9Tm9uZSwgaXNfanVtcF90YXJnZXQ9RmFsc2UpLAorICBJbnN0cnVjdGlvbihvcG5hbWU9J1BPUF9KVU1QX0lGX0ZBTFNFJywgb3Bjb2RlPTExNCwgYXJnPTEzLCBhcmd2YWw9MTMsIGFyZ3JlcHI9JycsIG9mZnNldD01Mywgc3RhcnRzX2xpbmU9Tm9uZSwgaXNfanVtcF90YXJnZXQ9RmFsc2UpLAorICBJbnN0cnVjdGlvbihvcG5hbWU9J0JSRUFLX0xPT1AnLCBvcGNvZGU9ODAsIGFyZz1Ob25lLCBhcmd2YWw9Tm9uZSwgYXJncmVwcj0nJywgb2Zmc2V0PTU2LCBzdGFydHNfbGluZT04LCBpc19qdW1wX3RhcmdldD1GYWxzZSksCisgIEluc3RydWN0aW9uKG9wbmFtZT0nSlVNUF9BQlNPTFVURScsIG9wY29kZT0xMTMsIGFyZz0xMywgYXJndmFsPTEzLCBhcmdyZXByPScnLCBvZmZzZXQ9NTcsIHN0YXJ0c19saW5lPU5vbmUsIGlzX2p1bXBfdGFyZ2V0PUZhbHNlKSwKKyAgSW5zdHJ1Y3Rpb24ob3BuYW1lPSdQT1BfQkxPQ0snLCBvcGNvZGU9ODcsIGFyZz1Ob25lLCBhcmd2YWw9Tm9uZSwgYXJncmVwcj0nJywgb2Zmc2V0PTYwLCBzdGFydHNfbGluZT1Ob25lLCBpc19qdW1wX3RhcmdldD1UcnVlKSwKKyAgSW5zdHJ1Y3Rpb24ob3BuYW1lPSdMT0FEX0dMT0JBTCcsIG9wY29kZT0xMTYsIGFyZz0xLCBhcmd2YWw9J3ByaW50JywgYXJncmVwcj0ncHJpbnQnLCBvZmZzZXQ9NjEsIHN0YXJ0c19saW5lPTEwLCBpc19qdW1wX3RhcmdldD1GYWxzZSksCisgIEluc3RydWN0aW9uKG9wbmFtZT0nTE9BRF9DT05TVCcsIG9wY29kZT0xMDAsIGFyZz00LCBhcmd2YWw9J0kgY2FuIGhheiBlbHNlIGNsYXVzZT8nLCBhcmdyZXByPSInSSBjYW4gaGF6IGVsc2UgY2xhdXNlPyciLCBvZmZzZXQ9NjQsIHN0YXJ0c19saW5lPU5vbmUsIGlzX2p1bXBfdGFyZ2V0PUZhbHNlKSwKKyAgSW5zdHJ1Y3Rpb24ob3BuYW1lPSdDQUxMX0ZVTkNUSU9OJywgb3Bjb2RlPTEzMSwgYXJnPTEsIGFyZ3ZhbD0xLCBhcmdyZXByPScxIHBvc2l0aW9uYWwsIDAga2V5d29yZCBwYWlyJywgb2Zmc2V0PTY3LCBzdGFydHNfbGluZT1Ob25lLCBpc19qdW1wX3RhcmdldD1GYWxzZSksCisgIEluc3RydWN0aW9uKG9wbmFtZT0nUE9QX1RPUCcsIG9wY29kZT0xLCBhcmc9Tm9uZSwgYXJndmFsPU5vbmUsIGFyZ3JlcHI9JycsIG9mZnNldD03MCwgc3RhcnRzX2xpbmU9Tm9uZSwgaXNfanVtcF90YXJnZXQ9RmFsc2UpLAorICBJbnN0cnVjdGlvbihvcG5hbWU9J1NFVFVQX0xPT1AnLCBvcGNvZGU9MTIwLCBhcmc9NjgsIGFyZ3ZhbD0xNDIsIGFyZ3JlcHI9J3RvIDE0MicsIG9mZnNldD03MSwgc3RhcnRzX2xpbmU9MTEsIGlzX2p1bXBfdGFyZ2V0PVRydWUpLAorICBJbnN0cnVjdGlvbihvcG5hbWU9J0xPQURfRkFTVCcsIG9wY29kZT0xMjQsIGFyZz0wLCBhcmd2YWw9J2knLCBhcmdyZXByPSdpJywgb2Zmc2V0PTc0LCBzdGFydHNfbGluZT1Ob25lLCBpc19qdW1wX3RhcmdldD1UcnVlKSwKKyAgSW5zdHJ1Y3Rpb24ob3BuYW1lPSdQT1BfSlVNUF9JRl9GQUxTRScsIG9wY29kZT0xMTQsIGFyZz0xMzEsIGFyZ3ZhbD0xMzEsIGFyZ3JlcHI9JycsIG9mZnNldD03Nywgc3RhcnRzX2xpbmU9Tm9uZSwgaXNfanVtcF90YXJnZXQ9RmFsc2UpLAorICBJbnN0cnVjdGlvbihvcG5hbWU9J0xPQURfR0xPQkFMJywgb3Bjb2RlPTExNiwgYXJnPTEsIGFyZ3ZhbD0ncHJpbnQnLCBhcmdyZXByPSdwcmludCcsIG9mZnNldD04MCwgc3RhcnRzX2xpbmU9MTIsIGlzX2p1bXBfdGFyZ2V0PUZhbHNlKSwKKyAgSW5zdHJ1Y3Rpb24ob3BuYW1lPSdMT0FEX0ZBU1QnLCBvcGNvZGU9MTI0LCBhcmc9MCwgYXJndmFsPSdpJywgYXJncmVwcj0naScsIG9mZnNldD04Mywgc3RhcnRzX2xpbmU9Tm9uZSwgaXNfanVtcF90YXJnZXQ9RmFsc2UpLAorICBJbnN0cnVjdGlvbihvcG5hbWU9J0NBTExfRlVOQ1RJT04nLCBvcGNvZGU9MTMxLCBhcmc9MSwgYXJndmFsPTEsIGFyZ3JlcHI9JzEgcG9zaXRpb25hbCwgMCBrZXl3b3JkIHBhaXInLCBvZmZzZXQ9ODYsIHN0YXJ0c19saW5lPU5vbmUsIGlzX2p1bXBfdGFyZ2V0PUZhbHNlKSwKKyAgSW5zdHJ1Y3Rpb24ob3BuYW1lPSdQT1BfVE9QJywgb3Bjb2RlPTEsIGFyZz1Ob25lLCBhcmd2YWw9Tm9uZSwgYXJncmVwcj0nJywgb2Zmc2V0PTg5LCBzdGFydHNfbGluZT1Ob25lLCBpc19qdW1wX3RhcmdldD1GYWxzZSksCisgIEluc3RydWN0aW9uKG9wbmFtZT0nTE9BRF9GQVNUJywgb3Bjb2RlPTEyNCwgYXJnPTAsIGFyZ3ZhbD0naScsIGFyZ3JlcHI9J2knLCBvZmZzZXQ9OTAsIHN0YXJ0c19saW5lPTEzLCBpc19qdW1wX3RhcmdldD1GYWxzZSksCisgIEluc3RydWN0aW9uKG9wbmFtZT0nTE9BRF9DT05TVCcsIG9wY29kZT0xMDAsIGFyZz01LCBhcmd2YWw9MSwgYXJncmVwcj0nMScsIG9mZnNldD05Mywgc3RhcnRzX2xpbmU9Tm9uZSwgaXNfanVtcF90YXJnZXQ9RmFsc2UpLAorICBJbnN0cnVjdGlvbihvcG5hbWU9J0lOUExBQ0VfU1VCVFJBQ1QnLCBvcGNvZGU9NTYsIGFyZz1Ob25lLCBhcmd2YWw9Tm9uZSwgYXJncmVwcj0nJywgb2Zmc2V0PTk2LCBzdGFydHNfbGluZT1Ob25lLCBpc19qdW1wX3RhcmdldD1GYWxzZSksCisgIEluc3RydWN0aW9uKG9wbmFtZT0nU1RPUkVfRkFTVCcsIG9wY29kZT0xMjUsIGFyZz0wLCBhcmd2YWw9J2knLCBhcmdyZXByPSdpJywgb2Zmc2V0PTk3LCBzdGFydHNfbGluZT1Ob25lLCBpc19qdW1wX3RhcmdldD1GYWxzZSksCisgIEluc3RydWN0aW9uKG9wbmFtZT0nTE9BRF9GQVNUJywgb3Bjb2RlPTEyNCwgYXJnPTAsIGFyZ3ZhbD0naScsIGFyZ3JlcHI9J2knLCBvZmZzZXQ9MTAwLCBzdGFydHNfbGluZT0xNCwgaXNfanVtcF90YXJnZXQ9RmFsc2UpLAorICBJbnN0cnVjdGlvbihvcG5hbWU9J0xPQURfQ09OU1QnLCBvcGNvZGU9MTAwLCBhcmc9MywgYXJndmFsPTYsIGFyZ3JlcHI9JzYnLCBvZmZzZXQ9MTAzLCBzdGFydHNfbGluZT1Ob25lLCBpc19qdW1wX3RhcmdldD1GYWxzZSksCisgIEluc3RydWN0aW9uKG9wbmFtZT0nQ09NUEFSRV9PUCcsIG9wY29kZT0xMDcsIGFyZz00LCBhcmd2YWw9Jz4nLCBhcmdyZXByPSc+Jywgb2Zmc2V0PTEwNiwgc3RhcnRzX2xpbmU9Tm9uZSwgaXNfanVtcF90YXJnZXQ9RmFsc2UpLAorICBJbnN0cnVjdGlvbihvcG5hbWU9J1BPUF9KVU1QX0lGX0ZBTFNFJywgb3Bjb2RlPTExNCwgYXJnPTExNSwgYXJndmFsPTExNSwgYXJncmVwcj0nJywgb2Zmc2V0PTEwOSwgc3RhcnRzX2xpbmU9Tm9uZSwgaXNfanVtcF90YXJnZXQ9RmFsc2UpLAorICBJbnN0cnVjdGlvbihvcG5hbWU9J0pVTVBfQUJTT0xVVEUnLCBvcGNvZGU9MTEzLCBhcmc9NzQsIGFyZ3ZhbD03NCwgYXJncmVwcj0nJywgb2Zmc2V0PTExMiwgc3RhcnRzX2xpbmU9MTUsIGlzX2p1bXBfdGFyZ2V0PUZhbHNlKSwKKyAgSW5zdHJ1Y3Rpb24ob3BuYW1lPSdMT0FEX0ZBU1QnLCBvcGNvZGU9MTI0LCBhcmc9MCwgYXJndmFsPSdpJywgYXJncmVwcj0naScsIG9mZnNldD0xMTUsIHN0YXJ0c19saW5lPTE2LCBpc19qdW1wX3RhcmdldD1UcnVlKSwKKyAgSW5zdHJ1Y3Rpb24ob3BuYW1lPSdMT0FEX0NPTlNUJywgb3Bjb2RlPTEwMCwgYXJnPTIsIGFyZ3ZhbD00LCBhcmdyZXByPSc0Jywgb2Zmc2V0PTExOCwgc3RhcnRzX2xpbmU9Tm9uZSwgaXNfanVtcF90YXJnZXQ9RmFsc2UpLAorICBJbnN0cnVjdGlvbihvcG5hbWU9J0NPTVBBUkVfT1AnLCBvcGNvZGU9MTA3LCBhcmc9MCwgYXJndmFsPSc8JywgYXJncmVwcj0nPCcsIG9mZnNldD0xMjEsIHN0YXJ0c19saW5lPU5vbmUsIGlzX2p1bXBfdGFyZ2V0PUZhbHNlKSwKKyAgSW5zdHJ1Y3Rpb24ob3BuYW1lPSdQT1BfSlVNUF9JRl9GQUxTRScsIG9wY29kZT0xMTQsIGFyZz03NCwgYXJndmFsPTc0LCBhcmdyZXByPScnLCBvZmZzZXQ9MTI0LCBzdGFydHNfbGluZT1Ob25lLCBpc19qdW1wX3RhcmdldD1GYWxzZSksCisgIEluc3RydWN0aW9uKG9wbmFtZT0nQlJFQUtfTE9PUCcsIG9wY29kZT04MCwgYXJnPU5vbmUsIGFyZ3ZhbD1Ob25lLCBhcmdyZXByPScnLCBvZmZzZXQ9MTI3LCBzdGFydHNfbGluZT0xNywgaXNfanVtcF90YXJnZXQ9RmFsc2UpLAorICBJbnN0cnVjdGlvbihvcG5hbWU9J0pVTVBfQUJTT0xVVEUnLCBvcGNvZGU9MTEzLCBhcmc9NzQsIGFyZ3ZhbD03NCwgYXJncmVwcj0nJywgb2Zmc2V0PTEyOCwgc3RhcnRzX2xpbmU9Tm9uZSwgaXNfanVtcF90YXJnZXQ9RmFsc2UpLAorICBJbnN0cnVjdGlvbihvcG5hbWU9J1BPUF9CTE9DSycsIG9wY29kZT04NywgYXJnPU5vbmUsIGFyZ3ZhbD1Ob25lLCBhcmdyZXByPScnLCBvZmZzZXQ9MTMxLCBzdGFydHNfbGluZT1Ob25lLCBpc19qdW1wX3RhcmdldD1UcnVlKSwKKyAgSW5zdHJ1Y3Rpb24ob3BuYW1lPSdMT0FEX0dMT0JBTCcsIG9wY29kZT0xMTYsIGFyZz0xLCBhcmd2YWw9J3ByaW50JywgYXJncmVwcj0ncHJpbnQnLCBvZmZzZXQ9MTMyLCBzdGFydHNfbGluZT0xOSwgaXNfanVtcF90YXJnZXQ9RmFsc2UpLAorICBJbnN0cnVjdGlvbihvcG5hbWU9J0xPQURfQ09OU1QnLCBvcGNvZGU9MTAwLCBhcmc9NiwgYXJndmFsPSdXaG8gbGV0IGxvbGNhdHogaW50byB0aGlzIHRlc3Qgc3VpdGU/JywgYXJncmVwcj0iJ1dobyBsZXQgbG9sY2F0eiBpbnRvIHRoaXMgdGVzdCBzdWl0ZT8nIiwgb2Zmc2V0PTEzNSwgc3RhcnRzX2xpbmU9Tm9uZSwgaXNfanVtcF90YXJnZXQ9RmFsc2UpLAorICBJbnN0cnVjdGlvbihvcG5hbWU9J0NBTExfRlVOQ1RJT04nLCBvcGNvZGU9MTMxLCBhcmc9MSwgYXJndmFsPTEsIGFyZ3JlcHI9JzEgcG9zaXRpb25hbCwgMCBrZXl3b3JkIHBhaXInLCBvZmZzZXQ9MTM4LCBzdGFydHNfbGluZT1Ob25lLCBpc19qdW1wX3RhcmdldD1GYWxzZSksCisgIEluc3RydWN0aW9uKG9wbmFtZT0nUE9QX1RPUCcsIG9wY29kZT0xLCBhcmc9Tm9uZSwgYXJndmFsPU5vbmUsIGFyZ3JlcHI9JycsIG9mZnNldD0xNDEsIHN0YXJ0c19saW5lPU5vbmUsIGlzX2p1bXBfdGFyZ2V0PUZhbHNlKSwKKyAgSW5zdHJ1Y3Rpb24ob3BuYW1lPSdTRVRVUF9GSU5BTExZJywgb3Bjb2RlPTEyMiwgYXJnPTcyLCBhcmd2YWw9MjE3LCBhcmdyZXByPSd0byAyMTcnLCBvZmZzZXQ9MTQyLCBzdGFydHNfbGluZT0yMCwgaXNfanVtcF90YXJnZXQ9VHJ1ZSksCisgIEluc3RydWN0aW9uKG9wbmFtZT0nU0VUVVBfRVhDRVBUJywgb3Bjb2RlPTEyMSwgYXJnPTEyLCBhcmd2YWw9MTYwLCBhcmdyZXByPSd0byAxNjAnLCBvZmZzZXQ9MTQ1LCBzdGFydHNfbGluZT1Ob25lLCBpc19qdW1wX3RhcmdldD1GYWxzZSksCisgIEluc3RydWN0aW9uKG9wbmFtZT0nTE9BRF9DT05TVCcsIG9wY29kZT0xMDAsIGFyZz01LCBhcmd2YWw9MSwgYXJncmVwcj0nMScsIG9mZnNldD0xNDgsIHN0YXJ0c19saW5lPTIxLCBpc19qdW1wX3RhcmdldD1GYWxzZSksCisgIEluc3RydWN0aW9uKG9wbmFtZT0nTE9BRF9DT05TVCcsIG9wY29kZT0xMDAsIGFyZz03LCBhcmd2YWw9MCwgYXJncmVwcj0nMCcsIG9mZnNldD0xNTEsIHN0YXJ0c19saW5lPU5vbmUsIGlzX2p1bXBfdGFyZ2V0PUZhbHNlKSwKKyAgSW5zdHJ1Y3Rpb24ob3BuYW1lPSdCSU5BUllfVFJVRV9ESVZJREUnLCBvcGNvZGU9MjcsIGFyZz1Ob25lLCBhcmd2YWw9Tm9uZSwgYXJncmVwcj0nJywgb2Zmc2V0PTE1NCwgc3RhcnRzX2xpbmU9Tm9uZSwgaXNfanVtcF90YXJnZXQ9RmFsc2UpLAorICBJbnN0cnVjdGlvbihvcG5hbWU9J1BPUF9UT1AnLCBvcGNvZGU9MSwgYXJnPU5vbmUsIGFyZ3ZhbD1Ob25lLCBhcmdyZXByPScnLCBvZmZzZXQ9MTU1LCBzdGFydHNfbGluZT1Ob25lLCBpc19qdW1wX3RhcmdldD1GYWxzZSksCisgIEluc3RydWN0aW9uKG9wbmFtZT0nUE9QX0JMT0NLJywgb3Bjb2RlPTg3LCBhcmc9Tm9uZSwgYXJndmFsPU5vbmUsIGFyZ3JlcHI9JycsIG9mZnNldD0xNTYsIHN0YXJ0c19saW5lPU5vbmUsIGlzX2p1bXBfdGFyZ2V0PUZhbHNlKSwKKyAgSW5zdHJ1Y3Rpb24ob3BuYW1lPSdKVU1QX0ZPUldBUkQnLCBvcGNvZGU9MTEwLCBhcmc9MjgsIGFyZ3ZhbD0xODgsIGFyZ3JlcHI9J3RvIDE4OCcsIG9mZnNldD0xNTcsIHN0YXJ0c19saW5lPU5vbmUsIGlzX2p1bXBfdGFyZ2V0PUZhbHNlKSwKKyAgSW5zdHJ1Y3Rpb24ob3BuYW1lPSdEVVBfVE9QJywgb3Bjb2RlPTQsIGFyZz1Ob25lLCBhcmd2YWw9Tm9uZSwgYXJncmVwcj0nJywgb2Zmc2V0PTE2MCwgc3RhcnRzX2xpbmU9MjIsIGlzX2p1bXBfdGFyZ2V0PVRydWUpLAorICBJbnN0cnVjdGlvbihvcG5hbWU9J0xPQURfR0xPQkFMJywgb3Bjb2RlPTExNiwgYXJnPTIsIGFyZ3ZhbD0nWmVyb0RpdmlzaW9uRXJyb3InLCBhcmdyZXByPSdaZXJvRGl2aXNpb25FcnJvcicsIG9mZnNldD0xNjEsIHN0YXJ0c19saW5lPU5vbmUsIGlzX2p1bXBfdGFyZ2V0PUZhbHNlKSwKKyAgSW5zdHJ1Y3Rpb24ob3BuYW1lPSdDT01QQVJFX09QJywgb3Bjb2RlPTEwNywgYXJnPTEwLCBhcmd2YWw9J2V4Y2VwdGlvbiBtYXRjaCcsIGFyZ3JlcHI9J2V4Y2VwdGlvbiBtYXRjaCcsIG9mZnNldD0xNjQsIHN0YXJ0c19saW5lPU5vbmUsIGlzX2p1bXBfdGFyZ2V0PUZhbHNlKSwKKyAgSW5zdHJ1Y3Rpb24ob3BuYW1lPSdQT1BfSlVNUF9JRl9GQUxTRScsIG9wY29kZT0xMTQsIGFyZz0xODcsIGFyZ3ZhbD0xODcsIGFyZ3JlcHI9JycsIG9mZnNldD0xNjcsIHN0YXJ0c19saW5lPU5vbmUsIGlzX2p1bXBfdGFyZ2V0PUZhbHNlKSwKKyAgSW5zdHJ1Y3Rpb24ob3BuYW1lPSdQT1BfVE9QJywgb3Bjb2RlPTEsIGFyZz1Ob25lLCBhcmd2YWw9Tm9uZSwgYXJncmVwcj0nJywgb2Zmc2V0PTE3MCwgc3RhcnRzX2xpbmU9Tm9uZSwgaXNfanVtcF90YXJnZXQ9RmFsc2UpLAorICBJbnN0cnVjdGlvbihvcG5hbWU9J1BPUF9UT1AnLCBvcGNvZGU9MSwgYXJnPU5vbmUsIGFyZ3ZhbD1Ob25lLCBhcmdyZXByPScnLCBvZmZzZXQ9MTcxLCBzdGFydHNfbGluZT1Ob25lLCBpc19qdW1wX3RhcmdldD1GYWxzZSksCisgIEluc3RydWN0aW9uKG9wbmFtZT0nUE9QX1RPUCcsIG9wY29kZT0xLCBhcmc9Tm9uZSwgYXJndmFsPU5vbmUsIGFyZ3JlcHI9JycsIG9mZnNldD0xNzIsIHN0YXJ0c19saW5lPU5vbmUsIGlzX2p1bXBfdGFyZ2V0PUZhbHNlKSwKKyAgSW5zdHJ1Y3Rpb24ob3BuYW1lPSdMT0FEX0dMT0JBTCcsIG9wY29kZT0xMTYsIGFyZz0xLCBhcmd2YWw9J3ByaW50JywgYXJncmVwcj0ncHJpbnQnLCBvZmZzZXQ9MTczLCBzdGFydHNfbGluZT0yMywgaXNfanVtcF90YXJnZXQ9RmFsc2UpLAorICBJbnN0cnVjdGlvbihvcG5hbWU9J0xPQURfQ09OU1QnLCBvcGNvZGU9MTAwLCBhcmc9OCwgYXJndmFsPSdIZXJlIHdlIGdvLCBoZXJlIHdlIGdvLCBoZXJlIHdlIGdvLi4uJywgYXJncmVwcj0iJ0hlcmUgd2UgZ28sIGhlcmUgd2UgZ28sIGhlcmUgd2UgZ28uLi4nIiwgb2Zmc2V0PTE3Niwgc3RhcnRzX2xpbmU9Tm9uZSwgaXNfanVtcF90YXJnZXQ9RmFsc2UpLAorICBJbnN0cnVjdGlvbihvcG5hbWU9J0NBTExfRlVOQ1RJT04nLCBvcGNvZGU9MTMxLCBhcmc9MSwgYXJndmFsPTEsIGFyZ3JlcHI9JzEgcG9zaXRpb25hbCwgMCBrZXl3b3JkIHBhaXInLCBvZmZzZXQ9MTc5LCBzdGFydHNfbGluZT1Ob25lLCBpc19qdW1wX3RhcmdldD1GYWxzZSksCiAgIEluc3RydWN0aW9uKG9wbmFtZT0nUE9QX1RPUCcsIG9wY29kZT0xLCBhcmc9Tm9uZSwgYXJndmFsPU5vbmUsIGFyZ3JlcHI9JycsIG9mZnNldD0xODIsIHN0YXJ0c19saW5lPU5vbmUsIGlzX2p1bXBfdGFyZ2V0PUZhbHNlKSwKLSAgSW5zdHJ1Y3Rpb24ob3BuYW1lPSdQT1BfVE9QJywgb3Bjb2RlPTEsIGFyZz1Ob25lLCBhcmd2YWw9Tm9uZSwgYXJncmVwcj0nJywgb2Zmc2V0PTE4Mywgc3RhcnRzX2xpbmU9Tm9uZSwgaXNfanVtcF90YXJnZXQ9RmFsc2UpLAotICBJbnN0cnVjdGlvbihvcG5hbWU9J1BPUF9UT1AnLCBvcGNvZGU9MSwgYXJnPU5vbmUsIGFyZ3ZhbD1Ob25lLCBhcmdyZXByPScnLCBvZmZzZXQ9MTg0LCBzdGFydHNfbGluZT1Ob25lLCBpc19qdW1wX3RhcmdldD1GYWxzZSksCi0gIEluc3RydWN0aW9uKG9wbmFtZT0nTE9BRF9HTE9CQUwnLCBvcGNvZGU9MTE2LCBhcmc9MSwgYXJndmFsPSdwcmludCcsIGFyZ3JlcHI9J3ByaW50Jywgb2Zmc2V0PTE4NSwgc3RhcnRzX2xpbmU9MjMsIGlzX2p1bXBfdGFyZ2V0PUZhbHNlKSwKLSAgSW5zdHJ1Y3Rpb24ob3BuYW1lPSdMT0FEX0NPTlNUJywgb3Bjb2RlPTEwMCwgYXJnPTgsIGFyZ3ZhbD0nSGVyZSB3ZSBnbywgaGVyZSB3ZSBnbywgaGVyZSB3ZSBnby4uLicsIGFyZ3JlcHI9IidIZXJlIHdlIGdvLCBoZXJlIHdlIGdvLCBoZXJlIHdlIGdvLi4uJyIsIG9mZnNldD0xODgsIHN0YXJ0c19saW5lPU5vbmUsIGlzX2p1bXBfdGFyZ2V0PUZhbHNlKSwKLSAgSW5zdHJ1Y3Rpb24ob3BuYW1lPSdDQUxMX0ZVTkNUSU9OJywgb3Bjb2RlPTEzMSwgYXJnPTEsIGFyZ3ZhbD0xLCBhcmdyZXByPScxIHBvc2l0aW9uYWwsIDAga2V5d29yZCBwYWlyJywgb2Zmc2V0PTE5MSwgc3RhcnRzX2xpbmU9Tm9uZSwgaXNfanVtcF90YXJnZXQ9RmFsc2UpLAotICBJbnN0cnVjdGlvbihvcG5hbWU9J1BPUF9UT1AnLCBvcGNvZGU9MSwgYXJnPU5vbmUsIGFyZ3ZhbD1Ob25lLCBhcmdyZXByPScnLCBvZmZzZXQ9MTk0LCBzdGFydHNfbGluZT1Ob25lLCBpc19qdW1wX3RhcmdldD1GYWxzZSksCi0gIEluc3RydWN0aW9uKG9wbmFtZT0nUE9QX0VYQ0VQVCcsIG9wY29kZT04OSwgYXJnPU5vbmUsIGFyZ3ZhbD1Ob25lLCBhcmdyZXByPScnLCBvZmZzZXQ9MTk1LCBzdGFydHNfbGluZT1Ob25lLCBpc19qdW1wX3RhcmdldD1GYWxzZSksCi0gIEluc3RydWN0aW9uKG9wbmFtZT0nSlVNUF9GT1JXQVJEJywgb3Bjb2RlPTExMCwgYXJnPTI2LCBhcmd2YWw9MjI1LCBhcmdyZXByPSd0byAyMjUnLCBvZmZzZXQ9MTk2LCBzdGFydHNfbGluZT1Ob25lLCBpc19qdW1wX3RhcmdldD1GYWxzZSksCi0gIEluc3RydWN0aW9uKG9wbmFtZT0nRU5EX0ZJTkFMTFknLCBvcGNvZGU9ODgsIGFyZz1Ob25lLCBhcmd2YWw9Tm9uZSwgYXJncmVwcj0nJywgb2Zmc2V0PTE5OSwgc3RhcnRzX2xpbmU9Tm9uZSwgaXNfanVtcF90YXJnZXQ9VHJ1ZSksCi0gIEluc3RydWN0aW9uKG9wbmFtZT0nTE9BRF9GQVNUJywgb3Bjb2RlPTEyNCwgYXJnPTAsIGFyZ3ZhbD0naScsIGFyZ3JlcHI9J2knLCBvZmZzZXQ9MjAwLCBzdGFydHNfbGluZT0yNSwgaXNfanVtcF90YXJnZXQ9VHJ1ZSksCi0gIEluc3RydWN0aW9uKG9wbmFtZT0nU0VUVVBfV0lUSCcsIG9wY29kZT0xNDMsIGFyZz0xNywgYXJndmFsPTIyMywgYXJncmVwcj0ndG8gMjIzJywgb2Zmc2V0PTIwMywgc3RhcnRzX2xpbmU9Tm9uZSwgaXNfanVtcF90YXJnZXQ9RmFsc2UpLAotICBJbnN0cnVjdGlvbihvcG5hbWU9J1NUT1JFX0ZBU1QnLCBvcGNvZGU9MTI1LCBhcmc9MSwgYXJndmFsPSdkb2RneScsIGFyZ3JlcHI9J2RvZGd5Jywgb2Zmc2V0PTIwNiwgc3RhcnRzX2xpbmU9Tm9uZSwgaXNfanVtcF90YXJnZXQ9RmFsc2UpLAotICBJbnN0cnVjdGlvbihvcG5hbWU9J0xPQURfR0xPQkFMJywgb3Bjb2RlPTExNiwgYXJnPTEsIGFyZ3ZhbD0ncHJpbnQnLCBhcmdyZXByPSdwcmludCcsIG9mZnNldD0yMDksIHN0YXJ0c19saW5lPTI2LCBpc19qdW1wX3RhcmdldD1GYWxzZSksCi0gIEluc3RydWN0aW9uKG9wbmFtZT0nTE9BRF9DT05TVCcsIG9wY29kZT0xMDAsIGFyZz05LCBhcmd2YWw9J05ldmVyIHJlYWNoIHRoaXMnLCBhcmdyZXByPSInTmV2ZXIgcmVhY2ggdGhpcyciLCBvZmZzZXQ9MjEyLCBzdGFydHNfbGluZT1Ob25lLCBpc19qdW1wX3RhcmdldD1GYWxzZSksCi0gIEluc3RydWN0aW9uKG9wbmFtZT0nQ0FMTF9GVU5DVElPTicsIG9wY29kZT0xMzEsIGFyZz0xLCBhcmd2YWw9MSwgYXJncmVwcj0nMSBwb3NpdGlvbmFsLCAwIGtleXdvcmQgcGFpcicsIG9mZnNldD0yMTUsIHN0YXJ0c19saW5lPU5vbmUsIGlzX2p1bXBfdGFyZ2V0PUZhbHNlKSwKLSAgSW5zdHJ1Y3Rpb24ob3BuYW1lPSdQT1BfVE9QJywgb3Bjb2RlPTEsIGFyZz1Ob25lLCBhcmd2YWw9Tm9uZSwgYXJncmVwcj0nJywgb2Zmc2V0PTIxOCwgc3RhcnRzX2xpbmU9Tm9uZSwgaXNfanVtcF90YXJnZXQ9RmFsc2UpLAotICBJbnN0cnVjdGlvbihvcG5hbWU9J1BPUF9CTE9DSycsIG9wY29kZT04NywgYXJnPU5vbmUsIGFyZ3ZhbD1Ob25lLCBhcmdyZXByPScnLCBvZmZzZXQ9MjE5LCBzdGFydHNfbGluZT1Ob25lLCBpc19qdW1wX3RhcmdldD1GYWxzZSksCi0gIEluc3RydWN0aW9uKG9wbmFtZT0nTE9BRF9DT05TVCcsIG9wY29kZT0xMDAsIGFyZz0wLCBhcmd2YWw9Tm9uZSwgYXJncmVwcj0nTm9uZScsIG9mZnNldD0yMjAsIHN0YXJ0c19saW5lPU5vbmUsIGlzX2p1bXBfdGFyZ2V0PUZhbHNlKSwKLSAgSW5zdHJ1Y3Rpb24ob3BuYW1lPSdXSVRIX0NMRUFOVVAnLCBvcGNvZGU9ODEsIGFyZz1Ob25lLCBhcmd2YWw9Tm9uZSwgYXJncmVwcj0nJywgb2Zmc2V0PTIyMywgc3RhcnRzX2xpbmU9Tm9uZSwgaXNfanVtcF90YXJnZXQ9VHJ1ZSksCi0gIEluc3RydWN0aW9uKG9wbmFtZT0nRU5EX0ZJTkFMTFknLCBvcGNvZGU9ODgsIGFyZz1Ob25lLCBhcmd2YWw9Tm9uZSwgYXJncmVwcj0nJywgb2Zmc2V0PTIyNCwgc3RhcnRzX2xpbmU9Tm9uZSwgaXNfanVtcF90YXJnZXQ9RmFsc2UpLAotICBJbnN0cnVjdGlvbihvcG5hbWU9J1BPUF9CTE9DSycsIG9wY29kZT04NywgYXJnPU5vbmUsIGFyZ3ZhbD1Ob25lLCBhcmdyZXByPScnLCBvZmZzZXQ9MjI1LCBzdGFydHNfbGluZT1Ob25lLCBpc19qdW1wX3RhcmdldD1UcnVlKSwKLSAgSW5zdHJ1Y3Rpb24ob3BuYW1lPSdMT0FEX0NPTlNUJywgb3Bjb2RlPTEwMCwgYXJnPTAsIGFyZ3ZhbD1Ob25lLCBhcmdyZXByPSdOb25lJywgb2Zmc2V0PTIyNiwgc3RhcnRzX2xpbmU9Tm9uZSwgaXNfanVtcF90YXJnZXQ9RmFsc2UpLAotICBJbnN0cnVjdGlvbihvcG5hbWU9J0xPQURfR0xPQkFMJywgb3Bjb2RlPTExNiwgYXJnPTEsIGFyZ3ZhbD0ncHJpbnQnLCBhcmdyZXByPSdwcmludCcsIG9mZnNldD0yMjksIHN0YXJ0c19saW5lPTI4LCBpc19qdW1wX3RhcmdldD1UcnVlKSwKLSAgSW5zdHJ1Y3Rpb24ob3BuYW1lPSdMT0FEX0NPTlNUJywgb3Bjb2RlPTEwMCwgYXJnPTEwLCBhcmd2YWw9Ik9LLCBub3cgd2UncmUgZG9uZSIsIGFyZ3JlcHI9JyJPSywgbm93IHdlXCdyZSBkb25lIicsIG9mZnNldD0yMzIsIHN0YXJ0c19saW5lPU5vbmUsIGlzX2p1bXBfdGFyZ2V0PUZhbHNlKSwKLSAgSW5zdHJ1Y3Rpb24ob3BuYW1lPSdDQUxMX0ZVTkNUSU9OJywgb3Bjb2RlPTEzMSwgYXJnPTEsIGFyZ3ZhbD0xLCBhcmdyZXByPScxIHBvc2l0aW9uYWwsIDAga2V5d29yZCBwYWlyJywgb2Zmc2V0PTIzNSwgc3RhcnRzX2xpbmU9Tm9uZSwgaXNfanVtcF90YXJnZXQ9RmFsc2UpLAotICBJbnN0cnVjdGlvbihvcG5hbWU9J1BPUF9UT1AnLCBvcGNvZGU9MSwgYXJnPU5vbmUsIGFyZ3ZhbD1Ob25lLCBhcmdyZXByPScnLCBvZmZzZXQ9MjM4LCBzdGFydHNfbGluZT1Ob25lLCBpc19qdW1wX3RhcmdldD1GYWxzZSksCi0gIEluc3RydWN0aW9uKG9wbmFtZT0nRU5EX0ZJTkFMTFknLCBvcGNvZGU9ODgsIGFyZz1Ob25lLCBhcmd2YWw9Tm9uZSwgYXJncmVwcj0nJywgb2Zmc2V0PTIzOSwgc3RhcnRzX2xpbmU9Tm9uZSwgaXNfanVtcF90YXJnZXQ9RmFsc2UpLAotICBJbnN0cnVjdGlvbihvcG5hbWU9J0xPQURfQ09OU1QnLCBvcGNvZGU9MTAwLCBhcmc9MCwgYXJndmFsPU5vbmUsIGFyZ3JlcHI9J05vbmUnLCBvZmZzZXQ9MjQwLCBzdGFydHNfbGluZT1Ob25lLCBpc19qdW1wX3RhcmdldD1GYWxzZSksCi0gIEluc3RydWN0aW9uKG9wbmFtZT0nUkVUVVJOX1ZBTFVFJywgb3Bjb2RlPTgzLCBhcmc9Tm9uZSwgYXJndmFsPU5vbmUsIGFyZ3JlcHI9JycsIG9mZnNldD0yNDMsIHN0YXJ0c19saW5lPU5vbmUsIGlzX2p1bXBfdGFyZ2V0PUZhbHNlKSwKKyAgSW5zdHJ1Y3Rpb24ob3BuYW1lPSdQT1BfRVhDRVBUJywgb3Bjb2RlPTg5LCBhcmc9Tm9uZSwgYXJndmFsPU5vbmUsIGFyZ3JlcHI9JycsIG9mZnNldD0xODMsIHN0YXJ0c19saW5lPU5vbmUsIGlzX2p1bXBfdGFyZ2V0PUZhbHNlKSwKKyAgSW5zdHJ1Y3Rpb24ob3BuYW1lPSdKVU1QX0ZPUldBUkQnLCBvcGNvZGU9MTEwLCBhcmc9MjYsIGFyZ3ZhbD0yMTMsIGFyZ3JlcHI9J3RvIDIxMycsIG9mZnNldD0xODQsIHN0YXJ0c19saW5lPU5vbmUsIGlzX2p1bXBfdGFyZ2V0PUZhbHNlKSwKKyAgSW5zdHJ1Y3Rpb24ob3BuYW1lPSdFTkRfRklOQUxMWScsIG9wY29kZT04OCwgYXJnPU5vbmUsIGFyZ3ZhbD1Ob25lLCBhcmdyZXByPScnLCBvZmZzZXQ9MTg3LCBzdGFydHNfbGluZT1Ob25lLCBpc19qdW1wX3RhcmdldD1UcnVlKSwKKyAgSW5zdHJ1Y3Rpb24ob3BuYW1lPSdMT0FEX0ZBU1QnLCBvcGNvZGU9MTI0LCBhcmc9MCwgYXJndmFsPSdpJywgYXJncmVwcj0naScsIG9mZnNldD0xODgsIHN0YXJ0c19saW5lPTI1LCBpc19qdW1wX3RhcmdldD1UcnVlKSwKKyAgSW5zdHJ1Y3Rpb24ob3BuYW1lPSdTRVRVUF9XSVRIJywgb3Bjb2RlPTE0MywgYXJnPTE3LCBhcmd2YWw9MjExLCBhcmdyZXByPSd0byAyMTEnLCBvZmZzZXQ9MTkxLCBzdGFydHNfbGluZT1Ob25lLCBpc19qdW1wX3RhcmdldD1GYWxzZSksCisgIEluc3RydWN0aW9uKG9wbmFtZT0nU1RPUkVfRkFTVCcsIG9wY29kZT0xMjUsIGFyZz0xLCBhcmd2YWw9J2RvZGd5JywgYXJncmVwcj0nZG9kZ3knLCBvZmZzZXQ9MTk0LCBzdGFydHNfbGluZT1Ob25lLCBpc19qdW1wX3RhcmdldD1GYWxzZSksCisgIEluc3RydWN0aW9uKG9wbmFtZT0nTE9BRF9HTE9CQUwnLCBvcGNvZGU9MTE2LCBhcmc9MSwgYXJndmFsPSdwcmludCcsIGFyZ3JlcHI9J3ByaW50Jywgb2Zmc2V0PTE5Nywgc3RhcnRzX2xpbmU9MjYsIGlzX2p1bXBfdGFyZ2V0PUZhbHNlKSwKKyAgSW5zdHJ1Y3Rpb24ob3BuYW1lPSdMT0FEX0NPTlNUJywgb3Bjb2RlPTEwMCwgYXJnPTksIGFyZ3ZhbD0nTmV2ZXIgcmVhY2ggdGhpcycsIGFyZ3JlcHI9IidOZXZlciByZWFjaCB0aGlzJyIsIG9mZnNldD0yMDAsIHN0YXJ0c19saW5lPU5vbmUsIGlzX2p1bXBfdGFyZ2V0PUZhbHNlKSwKKyAgSW5zdHJ1Y3Rpb24ob3BuYW1lPSdDQUxMX0ZVTkNUSU9OJywgb3Bjb2RlPTEzMSwgYXJnPTEsIGFyZ3ZhbD0xLCBhcmdyZXByPScxIHBvc2l0aW9uYWwsIDAga2V5d29yZCBwYWlyJywgb2Zmc2V0PTIwMywgc3RhcnRzX2xpbmU9Tm9uZSwgaXNfanVtcF90YXJnZXQ9RmFsc2UpLAorICBJbnN0cnVjdGlvbihvcG5hbWU9J1BPUF9UT1AnLCBvcGNvZGU9MSwgYXJnPU5vbmUsIGFyZ3ZhbD1Ob25lLCBhcmdyZXByPScnLCBvZmZzZXQ9MjA2LCBzdGFydHNfbGluZT1Ob25lLCBpc19qdW1wX3RhcmdldD1GYWxzZSksCisgIEluc3RydWN0aW9uKG9wbmFtZT0nUE9QX0JMT0NLJywgb3Bjb2RlPTg3LCBhcmc9Tm9uZSwgYXJndmFsPU5vbmUsIGFyZ3JlcHI9JycsIG9mZnNldD0yMDcsIHN0YXJ0c19saW5lPU5vbmUsIGlzX2p1bXBfdGFyZ2V0PUZhbHNlKSwKKyAgSW5zdHJ1Y3Rpb24ob3BuYW1lPSdMT0FEX0NPTlNUJywgb3Bjb2RlPTEwMCwgYXJnPTAsIGFyZ3ZhbD1Ob25lLCBhcmdyZXByPSdOb25lJywgb2Zmc2V0PTIwOCwgc3RhcnRzX2xpbmU9Tm9uZSwgaXNfanVtcF90YXJnZXQ9RmFsc2UpLAorICBJbnN0cnVjdGlvbihvcG5hbWU9J1dJVEhfQ0xFQU5VUCcsIG9wY29kZT04MSwgYXJnPU5vbmUsIGFyZ3ZhbD1Ob25lLCBhcmdyZXByPScnLCBvZmZzZXQ9MjExLCBzdGFydHNfbGluZT1Ob25lLCBpc19qdW1wX3RhcmdldD1UcnVlKSwKKyAgSW5zdHJ1Y3Rpb24ob3BuYW1lPSdFTkRfRklOQUxMWScsIG9wY29kZT04OCwgYXJnPU5vbmUsIGFyZ3ZhbD1Ob25lLCBhcmdyZXByPScnLCBvZmZzZXQ9MjEyLCBzdGFydHNfbGluZT1Ob25lLCBpc19qdW1wX3RhcmdldD1GYWxzZSksCisgIEluc3RydWN0aW9uKG9wbmFtZT0nUE9QX0JMT0NLJywgb3Bjb2RlPTg3LCBhcmc9Tm9uZSwgYXJndmFsPU5vbmUsIGFyZ3JlcHI9JycsIG9mZnNldD0yMTMsIHN0YXJ0c19saW5lPU5vbmUsIGlzX2p1bXBfdGFyZ2V0PVRydWUpLAorICBJbnN0cnVjdGlvbihvcG5hbWU9J0xPQURfQ09OU1QnLCBvcGNvZGU9MTAwLCBhcmc9MCwgYXJndmFsPU5vbmUsIGFyZ3JlcHI9J05vbmUnLCBvZmZzZXQ9MjE0LCBzdGFydHNfbGluZT1Ob25lLCBpc19qdW1wX3RhcmdldD1GYWxzZSksCisgIEluc3RydWN0aW9uKG9wbmFtZT0nTE9BRF9HTE9CQUwnLCBvcGNvZGU9MTE2LCBhcmc9MSwgYXJndmFsPSdwcmludCcsIGFyZ3JlcHI9J3ByaW50Jywgb2Zmc2V0PTIxNywgc3RhcnRzX2xpbmU9MjgsIGlzX2p1bXBfdGFyZ2V0PVRydWUpLAorICBJbnN0cnVjdGlvbihvcG5hbWU9J0xPQURfQ09OU1QnLCBvcGNvZGU9MTAwLCBhcmc9MTAsIGFyZ3ZhbD0iT0ssIG5vdyB3ZSdyZSBkb25lIiwgYXJncmVwcj0nIk9LLCBub3cgd2VcJ3JlIGRvbmUiJywgb2Zmc2V0PTIyMCwgc3RhcnRzX2xpbmU9Tm9uZSwgaXNfanVtcF90YXJnZXQ9RmFsc2UpLAorICBJbnN0cnVjdGlvbihvcG5hbWU9J0NBTExfRlVOQ1RJT04nLCBvcGNvZGU9MTMxLCBhcmc9MSwgYXJndmFsPTEsIGFyZ3JlcHI9JzEgcG9zaXRpb25hbCwgMCBrZXl3b3JkIHBhaXInLCBvZmZzZXQ9MjIzLCBzdGFydHNfbGluZT1Ob25lLCBpc19qdW1wX3RhcmdldD1GYWxzZSksCisgIEluc3RydWN0aW9uKG9wbmFtZT0nUE9QX1RPUCcsIG9wY29kZT0xLCBhcmc9Tm9uZSwgYXJndmFsPU5vbmUsIGFyZ3JlcHI9JycsIG9mZnNldD0yMjYsIHN0YXJ0c19saW5lPU5vbmUsIGlzX2p1bXBfdGFyZ2V0PUZhbHNlKSwKKyAgSW5zdHJ1Y3Rpb24ob3BuYW1lPSdFTkRfRklOQUxMWScsIG9wY29kZT04OCwgYXJnPU5vbmUsIGFyZ3ZhbD1Ob25lLCBhcmdyZXByPScnLCBvZmZzZXQ9MjI3LCBzdGFydHNfbGluZT1Ob25lLCBpc19qdW1wX3RhcmdldD1GYWxzZSksCisgIEluc3RydWN0aW9uKG9wbmFtZT0nTE9BRF9DT05TVCcsIG9wY29kZT0xMDAsIGFyZz0wLCBhcmd2YWw9Tm9uZSwgYXJncmVwcj0nTm9uZScsIG9mZnNldD0yMjgsIHN0YXJ0c19saW5lPU5vbmUsIGlzX2p1bXBfdGFyZ2V0PUZhbHNlKSwKKyAgSW5zdHJ1Y3Rpb24ob3BuYW1lPSdSRVRVUk5fVkFMVUUnLCBvcGNvZGU9ODMsIGFyZz1Ob25lLCBhcmd2YWw9Tm9uZSwgYXJncmVwcj0nJywgb2Zmc2V0PTIzMSwgc3RhcnRzX2xpbmU9Tm9uZSwgaXNfanVtcF90YXJnZXQ9RmFsc2UpLAogXQogCiAjIE9uZSBsYXN0IHBpZWNlIG9mIGluc3BlY3QgZm9kZGVyIHRvIGNoZWNrIHRoZSBkZWZhdWx0IGxpbmUgbnVtYmVyIGhhbmRsaW5nCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2RvY3Rlc3QucHkgYi9MaWIvdGVzdC90ZXN0X2RvY3Rlc3QucHkKaW5kZXggNDEzN2Q1YS4uOTU3MDBhMyAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9kb2N0ZXN0LnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfZG9jdGVzdC5weQpAQCAtNCw2ICs0LDcgQEAKIAogZnJvbSB0ZXN0IGltcG9ydCBzdXBwb3J0CiBpbXBvcnQgZG9jdGVzdAoraW1wb3J0IGZ1bmN0b29scwogaW1wb3J0IG9zCiBpbXBvcnQgc3lzCiAKQEAgLTQzNCw3ICs0MzUsNyBAQAogICAgID4+PiB0ZXN0cyA9IGZpbmRlci5maW5kKHNhbXBsZV9mdW5jKQogCiAgICAgPj4+IHByaW50KHRlc3RzKSAgIyBkb2N0ZXN0OiArRUxMSVBTSVMKLSAgICBbPERvY1Rlc3Qgc2FtcGxlX2Z1bmMgZnJvbSAuLi46MTggKDEgZXhhbXBsZSk+XQorICAgIFs8RG9jVGVzdCBzYW1wbGVfZnVuYyBmcm9tIC4uLjoxOSAoMSBleGFtcGxlKT5dCiAKIFRoZSBleGFjdCBuYW1lIGRlcGVuZHMgb24gaG93IHRlc3RfZG9jdGVzdCB3YXMgaW52b2tlZCwgc28gYWxsb3cgZm9yCiBsZWFkaW5nIHBhdGggY29tcG9uZW50cy4KQEAgLTIwOTYsMjIgKzIwOTcsOSBAQAogICAgICAgICAgPj4+IHN1aXRlLnJ1bih1bml0dGVzdC5UZXN0UmVzdWx0KCkpCiAgICAgICAgICA8dW5pdHRlc3QucmVzdWx0LlRlc3RSZXN1bHQgcnVuPTAgZXJyb3JzPTAgZmFpbHVyZXM9MD4KIAotICAgICAgIEhvd2V2ZXIsIGlmIERvY1Rlc3RTdWl0ZSBmaW5kcyBubyBkb2NzdHJpbmdzLCBpdCByYWlzZXMgYW4gZXJyb3I6CisgICAgICAgVGhlIG1vZHVsZSBuZWVkIG5vdCBjb250YWluIGFueSBkb2NzdHJpbmdzIGVpdGhlcjoKIAotICAgICAgICAgPj4+IHRyeToKLSAgICAgICAgIC4uLiAgICAgZG9jdGVzdC5Eb2NUZXN0U3VpdGUoJ3Rlc3Quc2FtcGxlX2RvY3Rlc3Rfbm9fZG9jc3RyaW5ncycpCi0gICAgICAgICAuLi4gZXhjZXB0IFZhbHVlRXJyb3IgYXMgZToKLSAgICAgICAgIC4uLiAgICAgZXJyb3IgPSBlCi0KLSAgICAgICAgID4+PiBwcmludChlcnJvci5hcmdzWzFdKQotICAgICAgICAgaGFzIG5vIGRvY3N0cmluZ3MKLQotICAgICAgIFlvdSBjYW4gcHJldmVudCB0aGlzIGVycm9yIGJ5IHBhc3NpbmcgYSBEb2NUZXN0RmluZGVyIGluc3RhbmNlIHdpdGgKLSAgICAgICB0aGUgYGV4Y2x1ZGVfZW1wdHlgIGtleXdvcmQgYXJndW1lbnQgc2V0IHRvIEZhbHNlOgotCi0gICAgICAgICA+Pj4gZmluZGVyID0gZG9jdGVzdC5Eb2NUZXN0RmluZGVyKGV4Y2x1ZGVfZW1wdHk9RmFsc2UpCi0gICAgICAgICA+Pj4gc3VpdGUgPSBkb2N0ZXN0LkRvY1Rlc3RTdWl0ZSgndGVzdC5zYW1wbGVfZG9jdGVzdF9ub19kb2NzdHJpbmdzJywKLSAgICAgICAgIC4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RfZmluZGVyPWZpbmRlcikKKyAgICAgICAgID4+PiBzdWl0ZSA9IGRvY3Rlc3QuRG9jVGVzdFN1aXRlKCd0ZXN0LnNhbXBsZV9kb2N0ZXN0X25vX2RvY3N0cmluZ3MnKQogICAgICAgICAgPj4+IHN1aXRlLnJ1bih1bml0dGVzdC5UZXN0UmVzdWx0KCkpCiAgICAgICAgICA8dW5pdHRlc3QucmVzdWx0LlRlc3RSZXN1bHQgcnVuPTAgZXJyb3JzPTAgZmFpbHVyZXM9MD4KIApAQCAtMjEyMSw2ICsyMTA5LDIyIEBACiAgICAgICAgICA+Pj4gc3VpdGUucnVuKHVuaXR0ZXN0LlRlc3RSZXN1bHQoKSkKICAgICAgICAgIDx1bml0dGVzdC5yZXN1bHQuVGVzdFJlc3VsdCBydW49OSBlcnJvcnM9MCBmYWlsdXJlcz00PgogCisgICAgICAgV2UgY2FuIGFsc28gcHJvdmlkZSBhIERvY1Rlc3RGaW5kZXI6CisKKyAgICAgICAgID4+PiBmaW5kZXIgPSBkb2N0ZXN0LkRvY1Rlc3RGaW5kZXIoKQorICAgICAgICAgPj4+IHN1aXRlID0gZG9jdGVzdC5Eb2NUZXN0U3VpdGUoJ3Rlc3Quc2FtcGxlX2RvY3Rlc3QnLAorICAgICAgICAgLi4uICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0X2ZpbmRlcj1maW5kZXIpCisgICAgICAgICA+Pj4gc3VpdGUucnVuKHVuaXR0ZXN0LlRlc3RSZXN1bHQoKSkKKyAgICAgICAgIDx1bml0dGVzdC5yZXN1bHQuVGVzdFJlc3VsdCBydW49OSBlcnJvcnM9MCBmYWlsdXJlcz00PgorCisgICAgICAgVGhlIERvY1Rlc3RGaW5kZXIgbmVlZCBub3QgcmV0dXJuIGFueSB0ZXN0czoKKworICAgICAgICAgPj4+IGZpbmRlciA9IGRvY3Rlc3QuRG9jVGVzdEZpbmRlcigpCisgICAgICAgICA+Pj4gc3VpdGUgPSBkb2N0ZXN0LkRvY1Rlc3RTdWl0ZSgndGVzdC5zYW1wbGVfZG9jdGVzdF9ub19kb2NzdHJpbmdzJywKKyAgICAgICAgIC4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdF9maW5kZXI9ZmluZGVyKQorICAgICAgICAgPj4+IHN1aXRlLnJ1bih1bml0dGVzdC5UZXN0UmVzdWx0KCkpCisgICAgICAgICA8dW5pdHRlc3QucmVzdWx0LlRlc3RSZXN1bHQgcnVuPTAgZXJyb3JzPTAgZmFpbHVyZXM9MD4KKwogICAgICAgIFdlIGNhbiBzdXBwbHkgZ2xvYmFsIHZhcmlhYmxlcy4gIElmIHdlIHBhc3MgZ2xvYnMsIHRoZXkgd2lsbCBiZQogICAgICAgIHVzZWQgaW5zdGVhZCBvZiB0aGUgbW9kdWxlIGdsb2JhbHMuICBIZXJlIHdlJ2xsIHBhc3MgYW4gZW1wdHkKICAgICAgICBnbG9iYWxzLCB0cmlnZ2VyaW5nIGFuIGV4dHJhIGVycm9yOgpAQCAtMjE2OCw3ICsyMTcyLDcgQEAKICAgICAgICAgID4+PiB0ZXN0LnRlc3RfZG9jdGVzdC5zaWxseVNldHVwCiAgICAgICAgICBUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CiAgICAgICAgICAuLi4KLSAgICAgICAgIEF0dHJpYnV0ZUVycm9yOiAnbW9kdWxlJyBvYmplY3QgaGFzIG5vIGF0dHJpYnV0ZSAnc2lsbHlTZXR1cCcKKyAgICAgICAgIEF0dHJpYnV0ZUVycm9yOiBtb2R1bGUgJ3Rlc3QudGVzdF9kb2N0ZXN0JyBoYXMgbm8gYXR0cmlidXRlICdzaWxseVNldHVwJwogCiAgICAgICAgVGhlIHNldFVwIGFuZCB0ZWFyRG93biBmdW50aW9ucyBhcmUgcGFzc2VkIHRlc3Qgb2JqZWN0cy4gSGVyZQogICAgICAgIHdlJ2xsIHVzZSB0aGUgc2V0VXAgZnVuY3Rpb24gdG8gc3VwcGx5IHRoZSBtaXNzaW5nIHZhcmlhYmxlIHk6CkBAIC0yMzE0LDcgKzIzMTgsNyBAQAogICAgICAgICAgPj4+IHRlc3QudGVzdF9kb2N0ZXN0LnNpbGx5U2V0dXAKICAgICAgICAgIFRyYWNlYmFjayAobW9zdCByZWNlbnQgY2FsbCBsYXN0KToKICAgICAgICAgIC4uLgotICAgICAgICAgQXR0cmlidXRlRXJyb3I6ICdtb2R1bGUnIG9iamVjdCBoYXMgbm8gYXR0cmlidXRlICdzaWxseVNldHVwJworICAgICAgICAgQXR0cmlidXRlRXJyb3I6IG1vZHVsZSAndGVzdC50ZXN0X2RvY3Rlc3QnIGhhcyBubyBhdHRyaWJ1dGUgJ3NpbGx5U2V0dXAnCiAKICAgICAgICBUaGUgc2V0VXAgYW5kIHRlYXJEb3duIGZ1bnRpb25zIGFyZSBwYXNzZWQgdGVzdCBvYmplY3RzLgogICAgICAgIEhlcmUsIHdlJ2xsIHVzZSBhIHNldFVwIGZ1bmN0aW9uIHRvIHNldCB0aGUgZmF2b3JpdGUgY29sb3IgaW4KQEAgLTIzNjEsNiArMjM2NSwyMiBAQAogICAgICAgZm9vIFxuCiAgICAgIiIiCiAKK2NsYXNzIFdyYXBwZXI6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIGZ1bmMpOgorICAgICAgICBzZWxmLmZ1bmMgPSBmdW5jCisgICAgICAgIGZ1bmN0b29scy51cGRhdGVfd3JhcHBlcihzZWxmLCBmdW5jKQorCisgICAgZGVmIF9fY2FsbF9fKHNlbGYsICphcmdzLCAqKmt3YXJncyk6CisgICAgICAgIHNlbGYuZnVuYygqYXJncywgKiprd2FyZ3MpCisKK0BXcmFwcGVyCitkZWYgdGVzdF9sb29rX2luX3Vud3JhcHBlZCgpOgorICAgICIiIgorICAgIERvY3N0cmluZ3MgaW4gd3JhcHBlZCBmdW5jdGlvbnMgbXVzdCBiZSBkZXRlY3RlZCBhcyB3ZWxsLgorCisgICAgPj4+ICdvbmUgb3RoZXIgdGVzdCcKKyAgICAnb25lIG90aGVyIHRlc3QnCisgICAgIiIiCiAKIGRlZiB0ZXN0X3VuaXR0ZXN0X3JlcG9ydGZsYWdzKCk6CiAgICAgIiIiRGVmYXVsdCB1bml0dGVzdCByZXBvcnRpbmcgZmxhZ3MgY2FuIGJlIHNldCB0byBjb250cm9sIHJlcG9ydGluZwpAQCAtMjkyNyw3ICsyOTQ3LDcgQEAKIAogZGVmIHRlc3RfbWFpbigpOgogICAgICMgQ2hlY2sgdGhlIGRvY3Rlc3QgY2FzZXMgaW4gZG9jdGVzdCBpdHNlbGY6Ci0gICAgc3VwcG9ydC5ydW5fZG9jdGVzdChkb2N0ZXN0LCB2ZXJib3NpdHk9VHJ1ZSkKKyAgICByZXQgPSBzdXBwb3J0LnJ1bl9kb2N0ZXN0KGRvY3Rlc3QsIHZlcmJvc2l0eT1UcnVlKQogICAgICMgQ2hlY2sgdGhlIGRvY3Rlc3QgY2FzZXMgZGVmaW5lZCBoZXJlOgogICAgIGZyb20gdGVzdCBpbXBvcnQgdGVzdF9kb2N0ZXN0CiAgICAgc3VwcG9ydC5ydW5fZG9jdGVzdCh0ZXN0X2RvY3Rlc3QsIHZlcmJvc2l0eT1UcnVlKQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9kb2N4bWxycGMucHkgYi9MaWIvdGVzdC90ZXN0X2RvY3htbHJwYy5weQppbmRleCAwNjE2MWYyLi5kOWZkOTE3IDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2RvY3htbHJwYy5weQorKysgYi9MaWIvdGVzdC90ZXN0X2RvY3htbHJwYy5weQpAQCAtODcsMTAgKzg3LDExIEBACiAgICAgICAgIHRocmVhZGluZy5UaHJlYWQodGFyZ2V0PXNlcnZlciwgYXJncz0oc2VsZi5ldnQsIDEpKS5zdGFydCgpCiAKICAgICAgICAgIyB3YWl0IGZvciBwb3J0IHRvIGJlIGFzc2lnbmVkCi0gICAgICAgIG4gPSAxMDAwCi0gICAgICAgIHdoaWxlIG4gPiAwIGFuZCBQT1JUIGlzIE5vbmU6Ci0gICAgICAgICAgICB0aW1lLnNsZWVwKDAuMDAxKQotICAgICAgICAgICAgbiAtPSAxCisgICAgICAgIGRlYWRsaW5lID0gdGltZS5tb25vdG9uaWMoKSArIDEwLjAKKyAgICAgICAgd2hpbGUgUE9SVCBpcyBOb25lOgorICAgICAgICAgICAgdGltZS5zbGVlcCgwLjAxMCkKKyAgICAgICAgICAgIGlmIHRpbWUubW9ub3RvbmljKCkgPiBkZWFkbGluZToKKyAgICAgICAgICAgICAgICBicmVhawogCiAgICAgICAgIHNlbGYuY2xpZW50ID0gaHR0cC5jbGllbnQuSFRUUENvbm5lY3Rpb24oImxvY2FsaG9zdDolZCIgJSBQT1JUKQogCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2VpbnRyLnB5IGIvTGliL3Rlc3QvdGVzdF9laW50ci5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44YjVmNTA3Ci0tLSAvZGV2L251bGwKKysrIGIvTGliL3Rlc3QvdGVzdF9laW50ci5weQpAQCAtMCwwICsxLDIwIEBACitpbXBvcnQgb3MKK2ltcG9ydCBzaWduYWwKK2ltcG9ydCB1bml0dGVzdAorCitmcm9tIHRlc3QgaW1wb3J0IHNjcmlwdF9oZWxwZXIsIHN1cHBvcnQKKworCitAdW5pdHRlc3Quc2tpcFVubGVzcyhvcy5uYW1lID09ICJwb3NpeCIsICJvbmx5IHN1cHBvcnRlZCBvbiBVbml4IikKK2NsYXNzIEVJTlRSVGVzdHModW5pdHRlc3QuVGVzdENhc2UpOgorCisgICAgQHVuaXR0ZXN0LnNraXBVbmxlc3MoaGFzYXR0cihzaWduYWwsICJzZXRpdGltZXIiKSwgInJlcXVpcmVzIHNldGl0aW1lcigpIikKKyAgICBkZWYgdGVzdF9hbGwoc2VsZik6CisgICAgICAgICMgUnVuIHRoZSB0ZXN0ZXIgaW4gYSBzdWItcHJvY2VzcywgdG8gbWFrZSBzdXJlIHRoZXJlIGlzIG9ubHkgb25lCisgICAgICAgICMgdGhyZWFkIChmb3IgcmVsaWFibGUgc2lnbmFsIGRlbGl2ZXJ5KS4KKyAgICAgICAgdGVzdGVyID0gc3VwcG9ydC5maW5kZmlsZSgiZWludHJfdGVzdGVyLnB5Iiwgc3ViZGlyPSJlaW50cmRhdGEiKQorICAgICAgICBzY3JpcHRfaGVscGVyLmFzc2VydF9weXRob25fb2sodGVzdGVyKQorCisKK2lmIF9fbmFtZV9fID09ICJfX21haW5fXyI6CisgICAgdW5pdHRlc3QubWFpbigpCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2VtYWlsL3Rlc3RfZW1haWwucHkgYi9MaWIvdGVzdC90ZXN0X2VtYWlsL3Rlc3RfZW1haWwucHkKaW5kZXggMjI3MTEwZi4uMjE4Y2UwYyAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9lbWFpbC90ZXN0X2VtYWlsLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfZW1haWwvdGVzdF9lbWFpbC5weQpAQCAtMTYzNiw2ICsxNjM2LDEwIEBACiAgICAgICAgIG1zZyA9IE1JTUVUZXh0KCdoZWxsbyB0aGVyZScsIF9jaGFyc2V0PSd1cy1hc2NpaScpCiAgICAgICAgIGVxKG1zZy5nZXRfY2hhcnNldCgpLmlucHV0X2NoYXJzZXQsICd1cy1hc2NpaScpCiAgICAgICAgIGVxKG1zZ1snY29udGVudC10eXBlJ10sICd0ZXh0L3BsYWluOyBjaGFyc2V0PSJ1cy1hc2NpaSInKQorICAgICAgICAjIEFsc28gYWNjZXB0IGEgQ2hhcnNldCBpbnN0YW5jZQorICAgICAgICBtc2cgPSBNSU1FVGV4dCgnaGVsbG8gdGhlcmUnLCBfY2hhcnNldD1DaGFyc2V0KCd1dGYtOCcpKQorICAgICAgICBlcShtc2cuZ2V0X2NoYXJzZXQoKS5pbnB1dF9jaGFyc2V0LCAndXRmLTgnKQorICAgICAgICBlcShtc2dbJ2NvbnRlbnQtdHlwZSddLCAndGV4dC9wbGFpbjsgY2hhcnNldD0idXRmLTgiJykKIAogICAgIGRlZiB0ZXN0XzdiaXRfaW5wdXQoc2VsZik6CiAgICAgICAgIGVxID0gc2VsZi5hc3NlcnRFcXVhbApkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9lbWFpbC90ZXN0X21lc3NhZ2UucHkgYi9MaWIvdGVzdC90ZXN0X2VtYWlsL3Rlc3RfbWVzc2FnZS5weQppbmRleCA1MGUxYTYzLi5kNzgwNDllIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2VtYWlsL3Rlc3RfbWVzc2FnZS5weQorKysgYi9MaWIvdGVzdC90ZXN0X2VtYWlsL3Rlc3RfbWVzc2FnZS5weQpAQCAtNzIzLDI0ICs3MjMsMTQgQEAKICAgICBkZWYgdGVzdF9pc19hdHRhY2htZW50KHNlbGYpOgogICAgICAgICBtID0gc2VsZi5fbWFrZV9tZXNzYWdlKCkKICAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShtLmlzX2F0dGFjaG1lbnQoKSkKLSAgICAgICAgd2l0aCBzZWxmLmFzc2VydFdhcm5zKERlcHJlY2F0aW9uV2FybmluZyk6Ci0gICAgICAgICAgICBzZWxmLmFzc2VydEZhbHNlKG0uaXNfYXR0YWNobWVudCkKICAgICAgICAgbVsnQ29udGVudC1EaXNwb3NpdGlvbiddID0gJ2lubGluZScKICAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShtLmlzX2F0dGFjaG1lbnQoKSkKLSAgICAgICAgd2l0aCBzZWxmLmFzc2VydFdhcm5zKERlcHJlY2F0aW9uV2FybmluZyk6Ci0gICAgICAgICAgICBzZWxmLmFzc2VydEZhbHNlKG0uaXNfYXR0YWNobWVudCkKICAgICAgICAgbS5yZXBsYWNlX2hlYWRlcignQ29udGVudC1EaXNwb3NpdGlvbicsICdhdHRhY2htZW50JykKICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKG0uaXNfYXR0YWNobWVudCgpKQotICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0V2FybnMoRGVwcmVjYXRpb25XYXJuaW5nKToKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShtLmlzX2F0dGFjaG1lbnQpCiAgICAgICAgIG0ucmVwbGFjZV9oZWFkZXIoJ0NvbnRlbnQtRGlzcG9zaXRpb24nLCAnQXRUYWNoTWVudCcpCiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShtLmlzX2F0dGFjaG1lbnQoKSkKLSAgICAgICAgd2l0aCBzZWxmLmFzc2VydFdhcm5zKERlcHJlY2F0aW9uV2FybmluZyk6Ci0gICAgICAgICAgICBzZWxmLmFzc2VydFRydWUobS5pc19hdHRhY2htZW50KQogICAgICAgICBtLnNldF9wYXJhbSgnZmlsZW5hbWUnLCAnYWJjLnBuZycsICdDb250ZW50LURpc3Bvc2l0aW9uJykKICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKG0uaXNfYXR0YWNobWVudCgpKQotICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0V2FybnMoRGVwcmVjYXRpb25XYXJuaW5nKToKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShtLmlzX2F0dGFjaG1lbnQpCiAKIAogY2xhc3MgVGVzdEVtYWlsTWVzc2FnZShUZXN0RW1haWxNZXNzYWdlQmFzZSwgVGVzdEVtYWlsQmFzZSk6CmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2VudW0ucHkgYi9MaWIvdGVzdC90ZXN0X2VudW0ucHkKaW5kZXggZGNjYWE0Zi4uN2QxNzJjOCAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9lbnVtLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfZW51bS5weQpAQCAtNjQ2LDYgKzY0NiwyMyBAQAogICAgICAgICAgICAgc2VsZi5hc3NlcnRJbihlLCBTdW1tZXJNb250aCkKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXModHlwZShlKSwgU3VtbWVyTW9udGgpCiAKKyAgICBkZWYgdGVzdF9wcm9ncmFtYXRpY19mdW5jdGlvbl9zdHJpbmdfd2l0aF9zdGFydChzZWxmKToKKyAgICAgICAgU3VtbWVyTW9udGggPSBFbnVtKCdTdW1tZXJNb250aCcsICdqdW5lIGp1bHkgYXVndXN0Jywgc3RhcnQ9MTApCisgICAgICAgIGxzdCA9IGxpc3QoU3VtbWVyTW9udGgpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKGxzdCksIGxlbihTdW1tZXJNb250aCkpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKFN1bW1lck1vbnRoKSwgMywgU3VtbWVyTW9udGgpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCisgICAgICAgICAgICAgICAgW1N1bW1lck1vbnRoLmp1bmUsIFN1bW1lck1vbnRoLmp1bHksIFN1bW1lck1vbnRoLmF1Z3VzdF0sCisgICAgICAgICAgICAgICAgbHN0LAorICAgICAgICAgICAgICAgICkKKyAgICAgICAgZm9yIGksIG1vbnRoIGluIGVudW1lcmF0ZSgnanVuZSBqdWx5IGF1Z3VzdCcuc3BsaXQoKSwgMTApOgorICAgICAgICAgICAgZSA9IFN1bW1lck1vbnRoKGkpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGludChlLnZhbHVlKSwgaSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0Tm90RXF1YWwoZSwgaSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZS5uYW1lLCBtb250aCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0SW4oZSwgU3VtbWVyTW9udGgpCisgICAgICAgICAgICBzZWxmLmFzc2VydElzKHR5cGUoZSksIFN1bW1lck1vbnRoKQorCiAgICAgZGVmIHRlc3RfcHJvZ3JhbWF0aWNfZnVuY3Rpb25fc3RyaW5nX2xpc3Qoc2VsZik6CiAgICAgICAgIFN1bW1lck1vbnRoID0gRW51bSgnU3VtbWVyTW9udGgnLCBbJ2p1bmUnLCAnanVseScsICdhdWd1c3QnXSkKICAgICAgICAgbHN0ID0gbGlzdChTdW1tZXJNb250aCkKQEAgLTY2Myw2ICs2ODAsMjMgQEAKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0SW4oZSwgU3VtbWVyTW9udGgpCiAgICAgICAgICAgICBzZWxmLmFzc2VydElzKHR5cGUoZSksIFN1bW1lck1vbnRoKQogCisgICAgZGVmIHRlc3RfcHJvZ3JhbWF0aWNfZnVuY3Rpb25fc3RyaW5nX2xpc3Rfd2l0aF9zdGFydChzZWxmKToKKyAgICAgICAgU3VtbWVyTW9udGggPSBFbnVtKCdTdW1tZXJNb250aCcsIFsnanVuZScsICdqdWx5JywgJ2F1Z3VzdCddLCBzdGFydD0yMCkKKyAgICAgICAgbHN0ID0gbGlzdChTdW1tZXJNb250aCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4obHN0KSwgbGVuKFN1bW1lck1vbnRoKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4oU3VtbWVyTW9udGgpLCAzLCBTdW1tZXJNb250aCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgKKyAgICAgICAgICAgICAgICBbU3VtbWVyTW9udGguanVuZSwgU3VtbWVyTW9udGguanVseSwgU3VtbWVyTW9udGguYXVndXN0XSwKKyAgICAgICAgICAgICAgICBsc3QsCisgICAgICAgICAgICAgICAgKQorICAgICAgICBmb3IgaSwgbW9udGggaW4gZW51bWVyYXRlKCdqdW5lIGp1bHkgYXVndXN0Jy5zcGxpdCgpLCAyMCk6CisgICAgICAgICAgICBlID0gU3VtbWVyTW9udGgoaSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoaW50KGUudmFsdWUpLCBpKQorICAgICAgICAgICAgc2VsZi5hc3NlcnROb3RFcXVhbChlLCBpKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChlLm5hbWUsIG1vbnRoKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRJbihlLCBTdW1tZXJNb250aCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXModHlwZShlKSwgU3VtbWVyTW9udGgpCisKICAgICBkZWYgdGVzdF9wcm9ncmFtYXRpY19mdW5jdGlvbl9pdGVyYWJsZShzZWxmKToKICAgICAgICAgU3VtbWVyTW9udGggPSBFbnVtKAogICAgICAgICAgICAgICAgICdTdW1tZXJNb250aCcsCkBAIC03MTksNiArNzUzLDIyIEBACiAgICAgICAgICAgICBzZWxmLmFzc2VydEluKGUsIFN1bW1lck1vbnRoKQogICAgICAgICAgICAgc2VsZi5hc3NlcnRJcyh0eXBlKGUpLCBTdW1tZXJNb250aCkKIAorICAgIGRlZiB0ZXN0X3Byb2dyYW1hdGljX2Z1bmN0aW9uX3R5cGVfd2l0aF9zdGFydChzZWxmKToKKyAgICAgICAgU3VtbWVyTW9udGggPSBFbnVtKCdTdW1tZXJNb250aCcsICdqdW5lIGp1bHkgYXVndXN0JywgdHlwZT1pbnQsIHN0YXJ0PTMwKQorICAgICAgICBsc3QgPSBsaXN0KFN1bW1lck1vbnRoKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihsc3QpLCBsZW4oU3VtbWVyTW9udGgpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihTdW1tZXJNb250aCksIDMsIFN1bW1lck1vbnRoKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKAorICAgICAgICAgICAgICAgIFtTdW1tZXJNb250aC5qdW5lLCBTdW1tZXJNb250aC5qdWx5LCBTdW1tZXJNb250aC5hdWd1c3RdLAorICAgICAgICAgICAgICAgIGxzdCwKKyAgICAgICAgICAgICAgICApCisgICAgICAgIGZvciBpLCBtb250aCBpbiBlbnVtZXJhdGUoJ2p1bmUganVseSBhdWd1c3QnLnNwbGl0KCksIDMwKToKKyAgICAgICAgICAgIGUgPSBTdW1tZXJNb250aChpKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChlLCBpKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChlLm5hbWUsIG1vbnRoKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRJbihlLCBTdW1tZXJNb250aCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXModHlwZShlKSwgU3VtbWVyTW9udGgpCisKICAgICBkZWYgdGVzdF9wcm9ncmFtYXRpY19mdW5jdGlvbl90eXBlX2Zyb21fc3ViY2xhc3Moc2VsZik6CiAgICAgICAgIFN1bW1lck1vbnRoID0gSW50RW51bSgnU3VtbWVyTW9udGgnLCAnanVuZSBqdWx5IGF1Z3VzdCcpCiAgICAgICAgIGxzdCA9IGxpc3QoU3VtbWVyTW9udGgpCkBAIC03MzUsNiArNzg1LDIyIEBACiAgICAgICAgICAgICBzZWxmLmFzc2VydEluKGUsIFN1bW1lck1vbnRoKQogICAgICAgICAgICAgc2VsZi5hc3NlcnRJcyh0eXBlKGUpLCBTdW1tZXJNb250aCkKIAorICAgIGRlZiB0ZXN0X3Byb2dyYW1hdGljX2Z1bmN0aW9uX3R5cGVfZnJvbV9zdWJjbGFzc193aXRoX3N0YXJ0KHNlbGYpOgorICAgICAgICBTdW1tZXJNb250aCA9IEludEVudW0oJ1N1bW1lck1vbnRoJywgJ2p1bmUganVseSBhdWd1c3QnLCBzdGFydD00MCkKKyAgICAgICAgbHN0ID0gbGlzdChTdW1tZXJNb250aCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4obHN0KSwgbGVuKFN1bW1lck1vbnRoKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4oU3VtbWVyTW9udGgpLCAzLCBTdW1tZXJNb250aCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgKKyAgICAgICAgICAgICAgICBbU3VtbWVyTW9udGguanVuZSwgU3VtbWVyTW9udGguanVseSwgU3VtbWVyTW9udGguYXVndXN0XSwKKyAgICAgICAgICAgICAgICBsc3QsCisgICAgICAgICAgICAgICAgKQorICAgICAgICBmb3IgaSwgbW9udGggaW4gZW51bWVyYXRlKCdqdW5lIGp1bHkgYXVndXN0Jy5zcGxpdCgpLCA0MCk6CisgICAgICAgICAgICBlID0gU3VtbWVyTW9udGgoaSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZSwgaSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZS5uYW1lLCBtb250aCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0SW4oZSwgU3VtbWVyTW9udGgpCisgICAgICAgICAgICBzZWxmLmFzc2VydElzKHR5cGUoZSksIFN1bW1lck1vbnRoKQorCiAgICAgZGVmIHRlc3Rfc3ViY2xhc3Npbmcoc2VsZik6CiAgICAgICAgIGlmIGlzaW5zdGFuY2UoTmFtZSwgRXhjZXB0aW9uKToKICAgICAgICAgICAgIHJhaXNlIE5hbWUKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfZXBvbGwucHkgYi9MaWIvdGVzdC90ZXN0X2Vwb2xsLnB5CmluZGV4IGIzN2YwMzMuLmQ3Mjc0MDMgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfZXBvbGwucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9lcG9sbC5weQpAQCAtNDQsNyArNDQsNyBAQAogICAgIGRlZiBzZXRVcChzZWxmKToKICAgICAgICAgc2VsZi5zZXJ2ZXJTb2NrZXQgPSBzb2NrZXQuc29ja2V0KCkKICAgICAgICAgc2VsZi5zZXJ2ZXJTb2NrZXQuYmluZCgoJzEyNy4wLjAuMScsIDApKQotICAgICAgICBzZWxmLnNlcnZlclNvY2tldC5saXN0ZW4oMSkKKyAgICAgICAgc2VsZi5zZXJ2ZXJTb2NrZXQubGlzdGVuKCkKICAgICAgICAgc2VsZi5jb25uZWN0aW9ucyA9IFtzZWxmLnNlcnZlclNvY2tldF0KIAogICAgIGRlZiB0ZWFyRG93bihzZWxmKToKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfZmF1bHRoYW5kbGVyLnB5IGIvTGliL3Rlc3QvdGVzdF9mYXVsdGhhbmRsZXIucHkKaW5kZXggZTY4YTA5ZS4uMzUxMjliNiAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9mYXVsdGhhbmRsZXIucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9mYXVsdGhhbmRsZXIucHkKQEAgLTE3LDYgKzE3LDEwIEBACiAgICAgSEFWRV9USFJFQURTID0gVHJ1ZQogZXhjZXB0IEltcG9ydEVycm9yOgogICAgIEhBVkVfVEhSRUFEUyA9IEZhbHNlCit0cnk6CisgICAgaW1wb3J0IF90ZXN0Y2FwaQorZXhjZXB0IEltcG9ydEVycm9yOgorICAgIF90ZXN0Y2FwaSA9IE5vbmUKIAogVElNRU9VVCA9IDAuNQogCkBAIC0xMzUsMjYgKzEzOSwzMiBAQAogICAgICAgICAgICAgMywKICAgICAgICAgICAgICdGbG9hdGluZyBwb2ludCBleGNlcHRpb24nKQogCi0gICAgQHVuaXR0ZXN0LnNraXBJZihub3QgaGFzYXR0cihmYXVsdGhhbmRsZXIsICdfc2lnYnVzJyksCi0gICAgICAgICAgICAgICAgICAgICAibmVlZCBmYXVsdGhhbmRsZXIuX3NpZ2J1cygpIikKKyAgICBAdW5pdHRlc3Quc2tpcElmKF90ZXN0Y2FwaSBpcyBOb25lLCAnbmVlZCBfdGVzdGNhcGknKQorICAgIEB1bml0dGVzdC5za2lwVW5sZXNzKGhhc2F0dHIoc2lnbmFsLCAnU0lHQlVTJyksICduZWVkIHNpZ25hbC5TSUdCVVMnKQogICAgIGRlZiB0ZXN0X3NpZ2J1cyhzZWxmKToKICAgICAgICAgc2VsZi5jaGVja19mYXRhbF9lcnJvcigiIiIKKyAgICAgICAgICAgIGltcG9ydCBfdGVzdGNhcGkKICAgICAgICAgICAgIGltcG9ydCBmYXVsdGhhbmRsZXIKKyAgICAgICAgICAgIGltcG9ydCBzaWduYWwKKwogICAgICAgICAgICAgZmF1bHRoYW5kbGVyLmVuYWJsZSgpCi0gICAgICAgICAgICBmYXVsdGhhbmRsZXIuX3NpZ2J1cygpCisgICAgICAgICAgICBfdGVzdGNhcGkucmFpc2Vfc2lnbmFsKHNpZ25hbC5TSUdCVVMpCiAgICAgICAgICAgICAiIiIsCi0gICAgICAgICAgICAzLAorICAgICAgICAgICAgNiwKICAgICAgICAgICAgICdCdXMgZXJyb3InKQogCi0gICAgQHVuaXR0ZXN0LnNraXBJZihub3QgaGFzYXR0cihmYXVsdGhhbmRsZXIsICdfc2lnaWxsJyksCi0gICAgICAgICAgICAgICAgICAgICAibmVlZCBmYXVsdGhhbmRsZXIuX3NpZ2lsbCgpIikKKyAgICBAdW5pdHRlc3Quc2tpcElmKF90ZXN0Y2FwaSBpcyBOb25lLCAnbmVlZCBfdGVzdGNhcGknKQorICAgIEB1bml0dGVzdC5za2lwVW5sZXNzKGhhc2F0dHIoc2lnbmFsLCAnU0lHSUxMJyksICduZWVkIHNpZ25hbC5TSUdJTEwnKQogICAgIGRlZiB0ZXN0X3NpZ2lsbChzZWxmKToKICAgICAgICAgc2VsZi5jaGVja19mYXRhbF9lcnJvcigiIiIKKyAgICAgICAgICAgIGltcG9ydCBfdGVzdGNhcGkKICAgICAgICAgICAgIGltcG9ydCBmYXVsdGhhbmRsZXIKKyAgICAgICAgICAgIGltcG9ydCBzaWduYWwKKwogICAgICAgICAgICAgZmF1bHRoYW5kbGVyLmVuYWJsZSgpCi0gICAgICAgICAgICBmYXVsdGhhbmRsZXIuX3NpZ2lsbCgpCisgICAgICAgICAgICBfdGVzdGNhcGkucmFpc2Vfc2lnbmFsKHNpZ25hbC5TSUdJTEwpCiAgICAgICAgICAgICAiIiIsCi0gICAgICAgICAgICAzLAorICAgICAgICAgICAgNiwKICAgICAgICAgICAgICdJbGxlZ2FsIGluc3RydWN0aW9uJykKIAogICAgIGRlZiB0ZXN0X2ZhdGFsX2Vycm9yKHNlbGYpOgpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9maWxlaW8ucHkgYi9MaWIvdGVzdC90ZXN0X2ZpbGVpby5weQppbmRleCBjMzc0ODJlLi43NDNjYTVjIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2ZpbGVpby5weQorKysgYi9MaWIvdGVzdC90ZXN0X2ZpbGVpby5weQpAQCAtNjAsNiArNjAsMTUgQEAKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKChBdHRyaWJ1dGVFcnJvciwgVHlwZUVycm9yKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldGF0dHIsIGYsIGF0dHIsICdvb3BzJykKIAorICAgIGRlZiB0ZXN0Qmxrc2l6ZShzZWxmKToKKyAgICAgICAgIyB0ZXN0IHByaXZhdGUgX2Jsa3NpemUgYXR0cmlidXRlCisgICAgICAgIGJsa3NpemUgPSBpby5ERUZBVUxUX0JVRkZFUl9TSVpFCisgICAgICAgICMgdHJ5IHRvIGdldCBwcmVmZXJyZWQgYmxrc2l6ZSBmcm9tIHN0YXQuc3RfYmxrc2l6ZSwgaWYgYXZhaWxhYmxlCisgICAgICAgIGlmIGhhc2F0dHIob3MsICdmc3RhdCcpOgorICAgICAgICAgICAgZnN0ID0gb3MuZnN0YXQoc2VsZi5mLmZpbGVubygpKQorICAgICAgICAgICAgYmxrc2l6ZSA9IGdldGF0dHIoZnN0LCAnc3RfYmxrc2l6ZScsIGJsa3NpemUpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5mLl9ibGtzaXplLCBibGtzaXplKQorCiAgICAgZGVmIHRlc3RSZWFkaW50byhzZWxmKToKICAgICAgICAgIyB2ZXJpZnkgcmVhZGludG8KICAgICAgICAgc2VsZi5mLndyaXRlKGJ5dGVzKFsxLCAyXSkpCkBAIC0xMDMsMTQgKzExMiwyNiBAQAogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIHNlbGYuZi53cml0ZSwgIkhlbGxvISIpCiAKICAgICBkZWYgdGVzdFJlcHIoc2VsZik6Ci0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVwcihzZWxmLmYpLCAiPF9pby5GaWxlSU8gbmFtZT0lciBtb2RlPSVyPiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAlIChzZWxmLmYubmFtZSwgc2VsZi5mLm1vZGUpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKAorICAgICAgICAgICAgcmVwcihzZWxmLmYpLCAiPF9pby5GaWxlSU8gbmFtZT0lciBtb2RlPSVyIGNsb3NlZmQ9VHJ1ZT4iCisgICAgICAgICAgICAgICAgICAgICAgICAgICUgKHNlbGYuZi5uYW1lLCBzZWxmLmYubW9kZSkpCiAgICAgICAgIGRlbCBzZWxmLmYubmFtZQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlcHIoc2VsZi5mKSwgIjxfaW8uRmlsZUlPIGZkPSVyIG1vZGU9JXI+IgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICUgKHNlbGYuZi5maWxlbm8oKSwgc2VsZi5mLm1vZGUpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKAorICAgICAgICAgICAgcmVwcihzZWxmLmYpLCAiPF9pby5GaWxlSU8gZmQ9JXIgbW9kZT0lciBjbG9zZWZkPVRydWU+IgorICAgICAgICAgICAgICAgICAgICAgICAgICAlIChzZWxmLmYuZmlsZW5vKCksIHNlbGYuZi5tb2RlKSkKICAgICAgICAgc2VsZi5mLmNsb3NlKCkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZXByKHNlbGYuZiksICI8X2lvLkZpbGVJTyBbY2xvc2VkXT4iKQogCisgICAgZGVmIHRlc3RSZXByTm9DbG9zZUZEKHNlbGYpOgorICAgICAgICBmZCA9IG9zLm9wZW4oVEVTVEZOLCBvcy5PX1JET05MWSkKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgd2l0aCBfRmlsZUlPKGZkLCAncicsIGNsb3NlZmQ9RmFsc2UpIGFzIGY6CisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZXByKGYpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIjxfaW8uRmlsZUlPIG5hbWU9JXIgbW9kZT0lciBjbG9zZWZkPUZhbHNlPiIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICUgKGYubmFtZSwgZi5tb2RlKSkKKyAgICAgICAgZmluYWxseToKKyAgICAgICAgICAgIG9zLmNsb3NlKGZkKQorCiAgICAgZGVmIHRlc3RFcnJvcnMoc2VsZik6CiAgICAgICAgIGYgPSBzZWxmLmYKICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKG5vdCBmLmlzYXR0eSgpKQpAQCAtMTQxLDcgKzE2Miw3IEBACiAgICAgZGVmIHRlc3RPcGVuZGlyKHNlbGYpOgogICAgICAgICAjIElzc3VlIDM3MDM6IG9wZW5pbmcgYSBkaXJlY3Rvcnkgc2hvdWxkIGZpbGwgdGhlIGVycm5vCiAgICAgICAgICMgV2luZG93cyBhbHdheXMgcmV0dXJucyAiW0Vycm5vIDEzXTogUGVybWlzc2lvbiBkZW5pZWQKLSAgICAgICAgIyBVbml4IGNhbGxzIGRpcmNoZWNrKCkgYW5kIHJldHVybnMgIltFcnJubyAyMV06IElzIGEgZGlyZWN0b3J5IgorICAgICAgICAjIFVuaXggdXNlcyBmc3RhdCBhbmQgcmV0dXJucyAiW0Vycm5vIDIxXTogSXMgYSBkaXJlY3RvcnkiCiAgICAgICAgIHRyeToKICAgICAgICAgICAgIF9GaWxlSU8oJy4nLCAncicpCiAgICAgICAgIGV4Y2VwdCBPU0Vycm9yIGFzIGU6CkBAIC0zNTIsOCArMzczLDggQEAKIAogICAgIGRlZiB0ZXN0Q29uc3RydWN0b3JIYW5kbGVzTlVMQ2hhcnMoc2VsZik6CiAgICAgICAgIGZuX3dpdGhfTlVMID0gJ2Zvb1wwYmFyJwotICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIF9GaWxlSU8sIGZuX3dpdGhfTlVMLCAndycpCi0gICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgX0ZpbGVJTywgYnl0ZXMoZm5fd2l0aF9OVUwsICdhc2NpaScpLCAndycpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIF9GaWxlSU8sIGZuX3dpdGhfTlVMLCAndycpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIF9GaWxlSU8sIGJ5dGVzKGZuX3dpdGhfTlVMLCAnYXNjaWknKSwgJ3cnKQogCiAgICAgZGVmIHRlc3RJbnZhbGlkRmQoc2VsZik6CiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIF9GaWxlSU8sIC0xMCkKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfZm9yazEucHkgYi9MaWIvdGVzdC90ZXN0X2ZvcmsxLnB5CmluZGV4IGUwNjI2ZGYuLjhiY2JkNDYgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfZm9yazEucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9mb3JrMS5weQpAQCAtMTgsMTMgKzE4LDE0IEBACiAKIGNsYXNzIEZvcmtUZXN0KEZvcmtXYWl0KToKICAgICBkZWYgd2FpdF9pbXBsKHNlbGYsIGNwaWQpOgotICAgICAgICBmb3IgaSBpbiByYW5nZSgxMCk6CisgICAgICAgIGRlYWRsaW5lID0gdGltZS5tb25vdG9uaWMoKSArIDEwLjAKKyAgICAgICAgd2hpbGUgdGltZS5tb25vdG9uaWMoKSA8PSBkZWFkbGluZToKICAgICAgICAgICAgICMgd2FpdHBpZCgpIHNob3VsZG4ndCBoYW5nLCBidXQgc29tZSBvZiB0aGUgYnVpbGRib3RzIHNlZW0gdG8gaGFuZwogICAgICAgICAgICAgIyBpbiB0aGUgZm9ya2luZyB0ZXN0cy4gIFRoaXMgaXMgYW4gYXR0ZW1wdCB0byBmaXggdGhlIHByb2JsZW0uCiAgICAgICAgICAgICBzcGlkLCBzdGF0dXMgPSBvcy53YWl0cGlkKGNwaWQsIG9zLldOT0hBTkcpCiAgICAgICAgICAgICBpZiBzcGlkID09IGNwaWQ6CiAgICAgICAgICAgICAgICAgYnJlYWsKLSAgICAgICAgICAgIHRpbWUuc2xlZXAoMS4wKQorICAgICAgICAgICAgdGltZS5zbGVlcCgwLjEpCiAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzcGlkLCBjcGlkKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0YXR1cywgMCwgImNhdXNlID0gJWQsIGV4aXQgPSAlZCIgJSAoc3RhdHVzJjB4ZmYsIHN0YXR1cz4+OCkpCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2Zvcm1hdC5weSBiL0xpYi90ZXN0L3Rlc3RfZm9ybWF0LnB5CmluZGV4IGZjNzFlNDguLjlkMWY1ZDMgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfZm9ybWF0LnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfZm9ybWF0LnB5CkBAIC05LDcgKzksNyBAQAogIyB0ZXN0IHN0cmluZyBmb3JtYXR0aW5nIG9wZXJhdG9yIChJIGFtIG5vdCBzdXJlIGlmIHRoaXMgaXMgYmVpbmcgdGVzdGVkCiAjIGVsc2V3aGVyZSBidXQsIHN1cmVseSwgc29tZSBvZiB0aGUgZ2l2ZW4gY2FzZXMgYXJlICpub3QqIHRlc3RlZCBiZWNhdXNlCiAjIHRoZXkgY3Jhc2ggcHl0aG9uKQotIyB0ZXN0IG9uIHVuaWNvZGUgc3RyaW5ncyBhcyB3ZWxsCisjIHRlc3Qgb24gYnl0ZXMgb2JqZWN0IGFzIHdlbGwKIAogZGVmIHRlc3Rmb3JtYXQoZm9ybWF0c3RyLCBhcmdzLCBvdXRwdXQ9Tm9uZSwgbGltaXQ9Tm9uZSwgb3ZlcmZsb3dvaz1GYWxzZSk6CiAgICAgaWYgdmVyYm9zZToKQEAgLTQ2LDE5MSArNDYsMjA5IEBACiAgICAgICAgICAgICBpZiB2ZXJib3NlOgogICAgICAgICAgICAgICAgIHByaW50KCd5ZXMnKQogCitkZWYgdGVzdGNvbW1vbihmb3JtYXRzdHIsIGFyZ3MsIG91dHB1dD1Ob25lLCBsaW1pdD1Ob25lLCBvdmVyZmxvd29rPUZhbHNlKToKKyAgICAjIGlmIGZvcm1hdHN0ciBpcyBhIHN0ciwgdGVzdCBzdHIsIGJ5dGVzLCBhbmQgYnl0ZWFycmF5OworICAgICMgb3RoZXJ3aXNlLCB0ZXN0IGJ5dGVzIGFuZCBieXRlYXJyeQorICAgIGlmIGlzaW5zdGFuY2UoZm9ybWF0c3RyLCBzdHIpOgorICAgICAgICB0ZXN0Zm9ybWF0KGZvcm1hdHN0ciwgYXJncywgb3V0cHV0LCBsaW1pdCwgb3ZlcmZsb3dvaykKKyAgICAgICAgYl9mb3JtYXQgPSBmb3JtYXRzdHIuZW5jb2RlKCdhc2NpaScpCisgICAgZWxzZToKKyAgICAgICAgYl9mb3JtYXQgPSBmb3JtYXRzdHIKKyAgICBiYV9mb3JtYXQgPSBieXRlYXJyYXkoYl9mb3JtYXQpCisgICAgYl9hcmdzID0gW10KKyAgICBpZiBub3QgaXNpbnN0YW5jZShhcmdzLCB0dXBsZSk6CisgICAgICAgIGFyZ3MgPSAoYXJncywgKQorICAgIGJfYXJncyA9IHR1cGxlKGFyZ3MpCisgICAgaWYgb3V0cHV0IGlzIE5vbmU6CisgICAgICAgIGJfb3V0cHV0ID0gYmFfb3V0cHV0ID0gTm9uZQorICAgIGVsc2U6CisgICAgICAgIGlmIGlzaW5zdGFuY2Uob3V0cHV0LCBzdHIpOgorICAgICAgICAgICAgYl9vdXRwdXQgPSBvdXRwdXQuZW5jb2RlKCdhc2NpaScpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBiX291dHB1dCA9IG91dHB1dAorICAgICAgICBiYV9vdXRwdXQgPSBieXRlYXJyYXkoYl9vdXRwdXQpCisgICAgdGVzdGZvcm1hdChiX2Zvcm1hdCwgYl9hcmdzLCBiX291dHB1dCwgbGltaXQsIG92ZXJmbG93b2spCisgICAgdGVzdGZvcm1hdChiYV9mb3JtYXQsIGJfYXJncywgYmFfb3V0cHV0LCBsaW1pdCwgb3ZlcmZsb3dvaykKKwogCiBjbGFzcyBGb3JtYXRUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKLSAgICBkZWYgdGVzdF9mb3JtYXQoc2VsZik6Ci0gICAgICAgIHRlc3Rmb3JtYXQoIiUuMWQiLCAoMSwpLCAiMSIpCi0gICAgICAgIHRlc3Rmb3JtYXQoIiUuKmQiLCAoc3lzLm1heHNpemUsMSksIG92ZXJmbG93b2s9VHJ1ZSkgICMgZXhwZWN0IG92ZXJmbG93Ci0gICAgICAgIHRlc3Rmb3JtYXQoIiUuMTAwZCIsICgxLCksICcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCcKKworICAgIGRlZiB0ZXN0X2NvbW1vbl9mb3JtYXQoc2VsZik6CisgICAgICAgICMgdGVzdCB0aGUgZm9ybWF0IGlkZW50aWZpZXJzIHRoYXQgd29yayB0aGUgc2FtZSBhY3Jvc3MKKyAgICAgICAgIyBzdHIsIGJ5dGVzLCBhbmQgYnl0ZWFycmF5cyAoaW50ZWdlciwgZmxvYXQsIG9jdCwgaGV4KQorICAgICAgICB0ZXN0Y29tbW9uKCIlLjFkIiwgKDEsKSwgIjEiKQorICAgICAgICB0ZXN0Y29tbW9uKCIlLipkIiwgKHN5cy5tYXhzaXplLDEpLCBvdmVyZmxvd29rPVRydWUpICAjIGV4cGVjdCBvdmVyZmxvdworICAgICAgICB0ZXN0Y29tbW9uKCIlLjEwMGQiLCAoMSwpLCAnMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAnCiAgICAgICAgICAgICAgICAgICcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAnCiAgICAgICAgICAgICAgICAgICcwMDAwMDAwMScsIG92ZXJmbG93b2s9VHJ1ZSkKLSAgICAgICAgdGVzdGZvcm1hdCgiJSMuMTE3eCIsICgxLCksICcweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwJworICAgICAgICB0ZXN0Y29tbW9uKCIlIy4xMTd4IiwgKDEsKSwgJzB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAnCiAgICAgICAgICAgICAgICAgICcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAnCiAgICAgICAgICAgICAgICAgICcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxJywKICAgICAgICAgICAgICAgICAgb3ZlcmZsb3dvaz1UcnVlKQotICAgICAgICB0ZXN0Zm9ybWF0KCIlIy4xMTh4IiwgKDEsKSwgJzB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAnCisgICAgICAgIHRlc3Rjb21tb24oIiUjLjExOHgiLCAoMSwpLCAnMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCcKICAgICAgICAgICAgICAgICAgJzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCcKICAgICAgICAgICAgICAgICAgJzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxJywKICAgICAgICAgICAgICAgICAgb3ZlcmZsb3dvaz1UcnVlKQogCi0gICAgICAgIHRlc3Rmb3JtYXQoIiVmIiwgKDEuMCwpLCAiMS4wMDAwMDAiKQorICAgICAgICB0ZXN0Y29tbW9uKCIlZiIsICgxLjAsKSwgIjEuMDAwMDAwIikKICAgICAgICAgIyB0aGVzZSBhcmUgdHJ5aW5nIHRvIHRlc3QgdGhlIGxpbWl0cyBvZiB0aGUgaW50ZXJuYWwgbWFnaWMtbnVtYmVyLWxlbmd0aAogICAgICAgICAjIGZvcm1hdHRpbmcgYnVmZmVyLCBpZiB0aGF0IG51bWJlciBjaGFuZ2VzIHRoZW4gdGhlc2UgdGVzdHMgYXJlIGxlc3MKICAgICAgICAgIyBlZmZlY3RpdmUKLSAgICAgICAgdGVzdGZvcm1hdCgiJSMuKmciLCAoMTA5LCAtMS5lKzQ5LzMuKSkKLSAgICAgICAgdGVzdGZvcm1hdCgiJSMuKmciLCAoMTEwLCAtMS5lKzQ5LzMuKSkKLSAgICAgICAgdGVzdGZvcm1hdCgiJSMuKmciLCAoMTEwLCAtMS5lKzEwMC8zLikpCisgICAgICAgIHRlc3Rjb21tb24oIiUjLipnIiwgKDEwOSwgLTEuZSs0OS8zLikpCisgICAgICAgIHRlc3Rjb21tb24oIiUjLipnIiwgKDExMCwgLTEuZSs0OS8zLikpCisgICAgICAgIHRlc3Rjb21tb24oIiUjLipnIiwgKDExMCwgLTEuZSsxMDAvMy4pKQogICAgICAgICAjIHRlc3Qgc29tZSByaWRpY3Vsb3VzbHkgbGFyZ2UgcHJlY2lzaW9uLCBleHBlY3Qgb3ZlcmZsb3cKLSAgICAgICAgdGVzdGZvcm1hdCgnJTEyLipmJywgKDEyMzQ1NiwgMS4wKSkKKyAgICAgICAgdGVzdGNvbW1vbignJTEyLipmJywgKDEyMzQ1NiwgMS4wKSkKIAogICAgICAgICAjIGNoZWNrIGZvciBpbnRlcm5hbCBvdmVyZmxvdyB2YWxpZGF0aW9uIG9uIGxlbmd0aCBvZiBwcmVjaXNpb24KICAgICAgICAgIyB0aGVzZSB0ZXN0cyBzaG91bGQgbm8gbG9uZ2VyIGNhdXNlIG92ZXJmbG93IGluIFB5dGhvbgogICAgICAgICAjIDIuNy8zLjEgYW5kIGxhdGVyLgotICAgICAgICB0ZXN0Zm9ybWF0KCIlIy4qZyIsICgxMTAsIC0xLmUrMTAwLzMuKSkKLSAgICAgICAgdGVzdGZvcm1hdCgiJSMuKkciLCAoMTEwLCAtMS5lKzEwMC8zLikpCi0gICAgICAgIHRlc3Rmb3JtYXQoIiUjLipmIiwgKDExMCwgLTEuZSsxMDAvMy4pKQotICAgICAgICB0ZXN0Zm9ybWF0KCIlIy4qRiIsICgxMTAsIC0xLmUrMTAwLzMuKSkKKyAgICAgICAgdGVzdGNvbW1vbigiJSMuKmciLCAoMTEwLCAtMS5lKzEwMC8zLikpCisgICAgICAgIHRlc3Rjb21tb24oIiUjLipHIiwgKDExMCwgLTEuZSsxMDAvMy4pKQorICAgICAgICB0ZXN0Y29tbW9uKCIlIy4qZiIsICgxMTAsIC0xLmUrMTAwLzMuKSkKKyAgICAgICAgdGVzdGNvbW1vbigiJSMuKkYiLCAoMTEwLCAtMS5lKzEwMC8zLikpCiAgICAgICAgICMgRm9ybWF0dGluZyBvZiBpbnRlZ2Vycy4gT3ZlcmZsb3cgaXMgbm90IG9rCi0gICAgICAgIHRlc3Rmb3JtYXQoIiV4IiwgMTAsICJhIikKLSAgICAgICAgdGVzdGZvcm1hdCgiJXgiLCAxMDAwMDAwMDAwMDAsICIxNzQ4NzZlODAwIikKLSAgICAgICAgdGVzdGZvcm1hdCgiJW8iLCAxMCwgIjEyIikKLSAgICAgICAgdGVzdGZvcm1hdCgiJW8iLCAxMDAwMDAwMDAwMDAsICIxMzUxMDM1NTY0MDAwIikKLSAgICAgICAgdGVzdGZvcm1hdCgiJWQiLCAxMCwgIjEwIikKLSAgICAgICAgdGVzdGZvcm1hdCgiJWQiLCAxMDAwMDAwMDAwMDAsICIxMDAwMDAwMDAwMDAiKQorICAgICAgICB0ZXN0Y29tbW9uKCIleCIsIDEwLCAiYSIpCisgICAgICAgIHRlc3Rjb21tb24oIiV4IiwgMTAwMDAwMDAwMDAwLCAiMTc0ODc2ZTgwMCIpCisgICAgICAgIHRlc3Rjb21tb24oIiVvIiwgMTAsICIxMiIpCisgICAgICAgIHRlc3Rjb21tb24oIiVvIiwgMTAwMDAwMDAwMDAwLCAiMTM1MTAzNTU2NDAwMCIpCisgICAgICAgIHRlc3Rjb21tb24oIiVkIiwgMTAsICIxMCIpCisgICAgICAgIHRlc3Rjb21tb24oIiVkIiwgMTAwMDAwMDAwMDAwLCAiMTAwMDAwMDAwMDAwIikKICAgICAgICAgYmlnID0gMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwCi0gICAgICAgIHRlc3Rmb3JtYXQoIiVkIiwgYmlnLCAiMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwIikKLSAgICAgICAgdGVzdGZvcm1hdCgiJWQiLCAtYmlnLCAiLTEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MCIpCi0gICAgICAgIHRlc3Rmb3JtYXQoIiU1ZCIsIC1iaWcsICItMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwIikKLSAgICAgICAgdGVzdGZvcm1hdCgiJTMxZCIsIC1iaWcsICItMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwIikKLSAgICAgICAgdGVzdGZvcm1hdCgiJTMyZCIsIC1iaWcsICIgLTEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MCIpCi0gICAgICAgIHRlc3Rmb3JtYXQoIiUtMzJkIiwgLWJpZywgIi0xMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAgIikKLSAgICAgICAgdGVzdGZvcm1hdCgiJTAzMmQiLCAtYmlnLCAiLTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAiKQotICAgICAgICB0ZXN0Zm9ybWF0KCIlLTAzMmQiLCAtYmlnLCAiLTEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MCAiKQotICAgICAgICB0ZXN0Zm9ybWF0KCIlMDM0ZCIsIC1iaWcsICItMDAwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwIikKLSAgICAgICAgdGVzdGZvcm1hdCgiJTAzNGQiLCBiaWcsICIwMDAwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwIikKLSAgICAgICAgdGVzdGZvcm1hdCgiJTArMzRkIiwgYmlnLCAiKzAwMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MCIpCi0gICAgICAgIHRlc3Rmb3JtYXQoIiUrMzRkIiwgYmlnLCAiICAgKzEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MCIpCi0gICAgICAgIHRlc3Rmb3JtYXQoIiUzNGQiLCBiaWcsICIgICAgMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwIikKLSAgICAgICAgdGVzdGZvcm1hdCgiJS4yZCIsIGJpZywgIjEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MCIpCi0gICAgICAgIHRlc3Rmb3JtYXQoIiUuMzBkIiwgYmlnLCAiMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwIikKLSAgICAgICAgdGVzdGZvcm1hdCgiJS4zMWQiLCBiaWcsICIwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwIikKLSAgICAgICAgdGVzdGZvcm1hdCgiJTMyLjMxZCIsIGJpZywgIiAwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwIikKLSAgICAgICAgdGVzdGZvcm1hdCgiJWQiLCBmbG9hdChiaWcpLCAiMTIzNDU2X19fX19fX19fX19fX19fX19fX19fX19fIiwgNikKKyAgICAgICAgdGVzdGNvbW1vbigiJWQiLCBiaWcsICIxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAiKQorICAgICAgICB0ZXN0Y29tbW9uKCIlZCIsIC1iaWcsICItMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwIikKKyAgICAgICAgdGVzdGNvbW1vbigiJTVkIiwgLWJpZywgIi0xMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAiKQorICAgICAgICB0ZXN0Y29tbW9uKCIlMzFkIiwgLWJpZywgIi0xMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAiKQorICAgICAgICB0ZXN0Y29tbW9uKCIlMzJkIiwgLWJpZywgIiAtMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwIikKKyAgICAgICAgdGVzdGNvbW1vbigiJS0zMmQiLCAtYmlnLCAiLTEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MCAiKQorICAgICAgICB0ZXN0Y29tbW9uKCIlMDMyZCIsIC1iaWcsICItMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MCIpCisgICAgICAgIHRlc3Rjb21tb24oIiUtMDMyZCIsIC1iaWcsICItMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwICIpCisgICAgICAgIHRlc3Rjb21tb24oIiUwMzRkIiwgLWJpZywgIi0wMDAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAiKQorICAgICAgICB0ZXN0Y29tbW9uKCIlMDM0ZCIsIGJpZywgIjAwMDAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAiKQorICAgICAgICB0ZXN0Y29tbW9uKCIlMCszNGQiLCBiaWcsICIrMDAwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwIikKKyAgICAgICAgdGVzdGNvbW1vbigiJSszNGQiLCBiaWcsICIgICArMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwIikKKyAgICAgICAgdGVzdGNvbW1vbigiJTM0ZCIsIGJpZywgIiAgICAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAiKQorICAgICAgICB0ZXN0Y29tbW9uKCIlLjJkIiwgYmlnLCAiMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwIikKKyAgICAgICAgdGVzdGNvbW1vbigiJS4zMGQiLCBiaWcsICIxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAiKQorICAgICAgICB0ZXN0Y29tbW9uKCIlLjMxZCIsIGJpZywgIjAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAiKQorICAgICAgICB0ZXN0Y29tbW9uKCIlMzIuMzFkIiwgYmlnLCAiIDAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAiKQorICAgICAgICB0ZXN0Y29tbW9uKCIlZCIsIGZsb2F0KGJpZyksICIxMjM0NTZfX19fX19fX19fX19fX19fX19fX19fX18iLCA2KQogICAgICAgICBiaWcgPSAweDEyMzQ1Njc4OTBhYmNkZWYxMjM0NSAgIyAyMSBoZXggZGlnaXRzCi0gICAgICAgIHRlc3Rmb3JtYXQoIiV4IiwgYmlnLCAiMTIzNDU2Nzg5MGFiY2RlZjEyMzQ1IikKLSAgICAgICAgdGVzdGZvcm1hdCgiJXgiLCAtYmlnLCAiLTEyMzQ1Njc4OTBhYmNkZWYxMjM0NSIpCi0gICAgICAgIHRlc3Rmb3JtYXQoIiU1eCIsIC1iaWcsICItMTIzNDU2Nzg5MGFiY2RlZjEyMzQ1IikKLSAgICAgICAgdGVzdGZvcm1hdCgiJTIyeCIsIC1iaWcsICItMTIzNDU2Nzg5MGFiY2RlZjEyMzQ1IikKLSAgICAgICAgdGVzdGZvcm1hdCgiJTIzeCIsIC1iaWcsICIgLTEyMzQ1Njc4OTBhYmNkZWYxMjM0NSIpCi0gICAgICAgIHRlc3Rmb3JtYXQoIiUtMjN4IiwgLWJpZywgIi0xMjM0NTY3ODkwYWJjZGVmMTIzNDUgIikKLSAgICAgICAgdGVzdGZvcm1hdCgiJTAyM3giLCAtYmlnLCAiLTAxMjM0NTY3ODkwYWJjZGVmMTIzNDUiKQotICAgICAgICB0ZXN0Zm9ybWF0KCIlLTAyM3giLCAtYmlnLCAiLTEyMzQ1Njc4OTBhYmNkZWYxMjM0NSAiKQotICAgICAgICB0ZXN0Zm9ybWF0KCIlMDI1eCIsIC1iaWcsICItMDAwMTIzNDU2Nzg5MGFiY2RlZjEyMzQ1IikKLSAgICAgICAgdGVzdGZvcm1hdCgiJTAyNXgiLCBiaWcsICIwMDAwMTIzNDU2Nzg5MGFiY2RlZjEyMzQ1IikKLSAgICAgICAgdGVzdGZvcm1hdCgiJTArMjV4IiwgYmlnLCAiKzAwMDEyMzQ1Njc4OTBhYmNkZWYxMjM0NSIpCi0gICAgICAgIHRlc3Rmb3JtYXQoIiUrMjV4IiwgYmlnLCAiICAgKzEyMzQ1Njc4OTBhYmNkZWYxMjM0NSIpCi0gICAgICAgIHRlc3Rmb3JtYXQoIiUyNXgiLCBiaWcsICIgICAgMTIzNDU2Nzg5MGFiY2RlZjEyMzQ1IikKLSAgICAgICAgdGVzdGZvcm1hdCgiJS4yeCIsIGJpZywgIjEyMzQ1Njc4OTBhYmNkZWYxMjM0NSIpCi0gICAgICAgIHRlc3Rmb3JtYXQoIiUuMjF4IiwgYmlnLCAiMTIzNDU2Nzg5MGFiY2RlZjEyMzQ1IikKLSAgICAgICAgdGVzdGZvcm1hdCgiJS4yMngiLCBiaWcsICIwMTIzNDU2Nzg5MGFiY2RlZjEyMzQ1IikKLSAgICAgICAgdGVzdGZvcm1hdCgiJTIzLjIyeCIsIGJpZywgIiAwMTIzNDU2Nzg5MGFiY2RlZjEyMzQ1IikKLSAgICAgICAgdGVzdGZvcm1hdCgiJS0yMy4yMngiLCBiaWcsICIwMTIzNDU2Nzg5MGFiY2RlZjEyMzQ1ICIpCi0gICAgICAgIHRlc3Rmb3JtYXQoIiVYIiwgYmlnLCAiMTIzNDU2Nzg5MEFCQ0RFRjEyMzQ1IikKLSAgICAgICAgdGVzdGZvcm1hdCgiJSNYIiwgYmlnLCAiMFgxMjM0NTY3ODkwQUJDREVGMTIzNDUiKQotICAgICAgICB0ZXN0Zm9ybWF0KCIlI3giLCBiaWcsICIweDEyMzQ1Njc4OTBhYmNkZWYxMjM0NSIpCi0gICAgICAgIHRlc3Rmb3JtYXQoIiUjeCIsIC1iaWcsICItMHgxMjM0NTY3ODkwYWJjZGVmMTIzNDUiKQotICAgICAgICB0ZXN0Zm9ybWF0KCIlIy4yM3giLCAtYmlnLCAiLTB4MDAxMjM0NTY3ODkwYWJjZGVmMTIzNDUiKQotICAgICAgICB0ZXN0Zm9ybWF0KCIlIysuMjN4IiwgYmlnLCAiKzB4MDAxMjM0NTY3ODkwYWJjZGVmMTIzNDUiKQotICAgICAgICB0ZXN0Zm9ybWF0KCIlIyAuMjN4IiwgYmlnLCAiIDB4MDAxMjM0NTY3ODkwYWJjZGVmMTIzNDUiKQotICAgICAgICB0ZXN0Zm9ybWF0KCIlIysuMjNYIiwgYmlnLCAiKzBYMDAxMjM0NTY3ODkwQUJDREVGMTIzNDUiKQotICAgICAgICB0ZXN0Zm9ybWF0KCIlIy0rLjIzWCIsIGJpZywgIiswWDAwMTIzNDU2Nzg5MEFCQ0RFRjEyMzQ1IikKLSAgICAgICAgdGVzdGZvcm1hdCgiJSMtKzI2LjIzWCIsIGJpZywgIiswWDAwMTIzNDU2Nzg5MEFCQ0RFRjEyMzQ1IikKLSAgICAgICAgdGVzdGZvcm1hdCgiJSMtKzI3LjIzWCIsIGJpZywgIiswWDAwMTIzNDU2Nzg5MEFCQ0RFRjEyMzQ1ICIpCi0gICAgICAgIHRlc3Rmb3JtYXQoIiUjKzI3LjIzWCIsIGJpZywgIiArMFgwMDEyMzQ1Njc4OTBBQkNERUYxMjM0NSIpCisgICAgICAgIHRlc3Rjb21tb24oIiV4IiwgYmlnLCAiMTIzNDU2Nzg5MGFiY2RlZjEyMzQ1IikKKyAgICAgICAgdGVzdGNvbW1vbigiJXgiLCAtYmlnLCAiLTEyMzQ1Njc4OTBhYmNkZWYxMjM0NSIpCisgICAgICAgIHRlc3Rjb21tb24oIiU1eCIsIC1iaWcsICItMTIzNDU2Nzg5MGFiY2RlZjEyMzQ1IikKKyAgICAgICAgdGVzdGNvbW1vbigiJTIyeCIsIC1iaWcsICItMTIzNDU2Nzg5MGFiY2RlZjEyMzQ1IikKKyAgICAgICAgdGVzdGNvbW1vbigiJTIzeCIsIC1iaWcsICIgLTEyMzQ1Njc4OTBhYmNkZWYxMjM0NSIpCisgICAgICAgIHRlc3Rjb21tb24oIiUtMjN4IiwgLWJpZywgIi0xMjM0NTY3ODkwYWJjZGVmMTIzNDUgIikKKyAgICAgICAgdGVzdGNvbW1vbigiJTAyM3giLCAtYmlnLCAiLTAxMjM0NTY3ODkwYWJjZGVmMTIzNDUiKQorICAgICAgICB0ZXN0Y29tbW9uKCIlLTAyM3giLCAtYmlnLCAiLTEyMzQ1Njc4OTBhYmNkZWYxMjM0NSAiKQorICAgICAgICB0ZXN0Y29tbW9uKCIlMDI1eCIsIC1iaWcsICItMDAwMTIzNDU2Nzg5MGFiY2RlZjEyMzQ1IikKKyAgICAgICAgdGVzdGNvbW1vbigiJTAyNXgiLCBiaWcsICIwMDAwMTIzNDU2Nzg5MGFiY2RlZjEyMzQ1IikKKyAgICAgICAgdGVzdGNvbW1vbigiJTArMjV4IiwgYmlnLCAiKzAwMDEyMzQ1Njc4OTBhYmNkZWYxMjM0NSIpCisgICAgICAgIHRlc3Rjb21tb24oIiUrMjV4IiwgYmlnLCAiICAgKzEyMzQ1Njc4OTBhYmNkZWYxMjM0NSIpCisgICAgICAgIHRlc3Rjb21tb24oIiUyNXgiLCBiaWcsICIgICAgMTIzNDU2Nzg5MGFiY2RlZjEyMzQ1IikKKyAgICAgICAgdGVzdGNvbW1vbigiJS4yeCIsIGJpZywgIjEyMzQ1Njc4OTBhYmNkZWYxMjM0NSIpCisgICAgICAgIHRlc3Rjb21tb24oIiUuMjF4IiwgYmlnLCAiMTIzNDU2Nzg5MGFiY2RlZjEyMzQ1IikKKyAgICAgICAgdGVzdGNvbW1vbigiJS4yMngiLCBiaWcsICIwMTIzNDU2Nzg5MGFiY2RlZjEyMzQ1IikKKyAgICAgICAgdGVzdGNvbW1vbigiJTIzLjIyeCIsIGJpZywgIiAwMTIzNDU2Nzg5MGFiY2RlZjEyMzQ1IikKKyAgICAgICAgdGVzdGNvbW1vbigiJS0yMy4yMngiLCBiaWcsICIwMTIzNDU2Nzg5MGFiY2RlZjEyMzQ1ICIpCisgICAgICAgIHRlc3Rjb21tb24oIiVYIiwgYmlnLCAiMTIzNDU2Nzg5MEFCQ0RFRjEyMzQ1IikKKyAgICAgICAgdGVzdGNvbW1vbigiJSNYIiwgYmlnLCAiMFgxMjM0NTY3ODkwQUJDREVGMTIzNDUiKQorICAgICAgICB0ZXN0Y29tbW9uKCIlI3giLCBiaWcsICIweDEyMzQ1Njc4OTBhYmNkZWYxMjM0NSIpCisgICAgICAgIHRlc3Rjb21tb24oIiUjeCIsIC1iaWcsICItMHgxMjM0NTY3ODkwYWJjZGVmMTIzNDUiKQorICAgICAgICB0ZXN0Y29tbW9uKCIlIy4yM3giLCAtYmlnLCAiLTB4MDAxMjM0NTY3ODkwYWJjZGVmMTIzNDUiKQorICAgICAgICB0ZXN0Y29tbW9uKCIlIysuMjN4IiwgYmlnLCAiKzB4MDAxMjM0NTY3ODkwYWJjZGVmMTIzNDUiKQorICAgICAgICB0ZXN0Y29tbW9uKCIlIyAuMjN4IiwgYmlnLCAiIDB4MDAxMjM0NTY3ODkwYWJjZGVmMTIzNDUiKQorICAgICAgICB0ZXN0Y29tbW9uKCIlIysuMjNYIiwgYmlnLCAiKzBYMDAxMjM0NTY3ODkwQUJDREVGMTIzNDUiKQorICAgICAgICB0ZXN0Y29tbW9uKCIlIy0rLjIzWCIsIGJpZywgIiswWDAwMTIzNDU2Nzg5MEFCQ0RFRjEyMzQ1IikKKyAgICAgICAgdGVzdGNvbW1vbigiJSMtKzI2LjIzWCIsIGJpZywgIiswWDAwMTIzNDU2Nzg5MEFCQ0RFRjEyMzQ1IikKKyAgICAgICAgdGVzdGNvbW1vbigiJSMtKzI3LjIzWCIsIGJpZywgIiswWDAwMTIzNDU2Nzg5MEFCQ0RFRjEyMzQ1ICIpCisgICAgICAgIHRlc3Rjb21tb24oIiUjKzI3LjIzWCIsIGJpZywgIiArMFgwMDEyMzQ1Njc4OTBBQkNERUYxMjM0NSIpCiAgICAgICAgICMgbmV4dCBvbmUgZ2V0cyB0d28gbGVhZGluZyB6ZXJvZXMgZnJvbSBwcmVjaXNpb24sIGFuZCBhbm90aGVyIGZyb20gdGhlCiAgICAgICAgICMgMCBmbGFnIGFuZCB0aGUgd2lkdGgKLSAgICAgICAgdGVzdGZvcm1hdCgiJSMrMDI3LjIzWCIsIGJpZywgIiswWDAwMDEyMzQ1Njc4OTBBQkNERUYxMjM0NSIpCisgICAgICAgIHRlc3Rjb21tb24oIiUjKzAyNy4yM1giLCBiaWcsICIrMFgwMDAxMjM0NTY3ODkwQUJDREVGMTIzNDUiKQogICAgICAgICAjIHNhbWUsIGV4Y2VwdCBubyAwIGZsYWcKLSAgICAgICAgdGVzdGZvcm1hdCgiJSMrMjcuMjNYIiwgYmlnLCAiICswWDAwMTIzNDU2Nzg5MEFCQ0RFRjEyMzQ1IikKLSAgICAgICAgd2l0aCBzZWxmLmFzc2VydFdhcm5zKERlcHJlY2F0aW9uV2FybmluZyk6Ci0gICAgICAgICAgICB0ZXN0Zm9ybWF0KCIleCIsIGZsb2F0KGJpZyksICIxMjM0NTZfX19fX19fX19fX19fX18iLCA2KQorICAgICAgICB0ZXN0Y29tbW9uKCIlIysyNy4yM1giLCBiaWcsICIgKzBYMDAxMjM0NTY3ODkwQUJDREVGMTIzNDUiKQogICAgICAgICBiaWcgPSAwbzEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwICAjIDMyIG9jdGFsIGRpZ2l0cwotICAgICAgICB0ZXN0Zm9ybWF0KCIlbyIsIGJpZywgIjEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwIikKLSAgICAgICAgdGVzdGZvcm1hdCgiJW8iLCAtYmlnLCAiLTEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwIikKLSAgICAgICAgdGVzdGZvcm1hdCgiJTVvIiwgLWJpZywgIi0xMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MCIpCi0gICAgICAgIHRlc3Rmb3JtYXQoIiUzM28iLCAtYmlnLCAiLTEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwIikKLSAgICAgICAgdGVzdGZvcm1hdCgiJTM0byIsIC1iaWcsICIgLTEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwIikKLSAgICAgICAgdGVzdGZvcm1hdCgiJS0zNG8iLCAtYmlnLCAiLTEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwICIpCi0gICAgICAgIHRlc3Rmb3JtYXQoIiUwMzRvIiwgLWJpZywgIi0wMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAiKQotICAgICAgICB0ZXN0Zm9ybWF0KCIlLTAzNG8iLCAtYmlnLCAiLTEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwICIpCi0gICAgICAgIHRlc3Rmb3JtYXQoIiUwMzZvIiwgLWJpZywgIi0wMDAxMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MCIpCi0gICAgICAgIHRlc3Rmb3JtYXQoIiUwMzZvIiwgYmlnLCAiMDAwMDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwIikKLSAgICAgICAgdGVzdGZvcm1hdCgiJTArMzZvIiwgYmlnLCAiKzAwMDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwIikKLSAgICAgICAgdGVzdGZvcm1hdCgiJSszNm8iLCBiaWcsICIgICArMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAiKQotICAgICAgICB0ZXN0Zm9ybWF0KCIlMzZvIiwgYmlnLCAiICAgIDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwIikKLSAgICAgICAgdGVzdGZvcm1hdCgiJS4ybyIsIGJpZywgIjEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwIikKLSAgICAgICAgdGVzdGZvcm1hdCgiJS4zMm8iLCBiaWcsICIxMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MCIpCi0gICAgICAgIHRlc3Rmb3JtYXQoIiUuMzNvIiwgYmlnLCAiMDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwIikKLSAgICAgICAgdGVzdGZvcm1hdCgiJTM0LjMzbyIsIGJpZywgIiAwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAiKQotICAgICAgICB0ZXN0Zm9ybWF0KCIlLTM0LjMzbyIsIGJpZywgIjAxMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MCAiKQotICAgICAgICB0ZXN0Zm9ybWF0KCIlbyIsIGJpZywgIjEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwIikKLSAgICAgICAgdGVzdGZvcm1hdCgiJSNvIiwgYmlnLCAiMG8xMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MCIpCi0gICAgICAgIHRlc3Rmb3JtYXQoIiUjbyIsIC1iaWcsICItMG8xMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MCIpCi0gICAgICAgIHRlc3Rmb3JtYXQoIiUjLjM0byIsIC1iaWcsICItMG8wMDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwIikKLSAgICAgICAgdGVzdGZvcm1hdCgiJSMrLjM0byIsIGJpZywgIiswbzAwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAiKQotICAgICAgICB0ZXN0Zm9ybWF0KCIlIyAuMzRvIiwgYmlnLCAiIDBvMDAxMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MCIpCi0gICAgICAgIHRlc3Rmb3JtYXQoIiUjKy4zNG8iLCBiaWcsICIrMG8wMDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwIikKLSAgICAgICAgdGVzdGZvcm1hdCgiJSMtKy4zNG8iLCBiaWcsICIrMG8wMDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwIikKLSAgICAgICAgdGVzdGZvcm1hdCgiJSMtKzM3LjM0byIsIGJpZywgIiswbzAwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAiKQotICAgICAgICB0ZXN0Zm9ybWF0KCIlIyszNy4zNG8iLCBiaWcsICIrMG8wMDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwIikKKyAgICAgICAgdGVzdGNvbW1vbigiJW8iLCBiaWcsICIxMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MCIpCisgICAgICAgIHRlc3Rjb21tb24oIiVvIiwgLWJpZywgIi0xMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MCIpCisgICAgICAgIHRlc3Rjb21tb24oIiU1byIsIC1iaWcsICItMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAiKQorICAgICAgICB0ZXN0Y29tbW9uKCIlMzNvIiwgLWJpZywgIi0xMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MCIpCisgICAgICAgIHRlc3Rjb21tb24oIiUzNG8iLCAtYmlnLCAiIC0xMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MCIpCisgICAgICAgIHRlc3Rjb21tb24oIiUtMzRvIiwgLWJpZywgIi0xMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MCAiKQorICAgICAgICB0ZXN0Y29tbW9uKCIlMDM0byIsIC1iaWcsICItMDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwIikKKyAgICAgICAgdGVzdGNvbW1vbigiJS0wMzRvIiwgLWJpZywgIi0xMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MCAiKQorICAgICAgICB0ZXN0Y29tbW9uKCIlMDM2byIsIC1iaWcsICItMDAwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAiKQorICAgICAgICB0ZXN0Y29tbW9uKCIlMDM2byIsIGJpZywgIjAwMDAxMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MCIpCisgICAgICAgIHRlc3Rjb21tb24oIiUwKzM2byIsIGJpZywgIiswMDAxMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MCIpCisgICAgICAgIHRlc3Rjb21tb24oIiUrMzZvIiwgYmlnLCAiICAgKzEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwIikKKyAgICAgICAgdGVzdGNvbW1vbigiJTM2byIsIGJpZywgIiAgICAxMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MCIpCisgICAgICAgIHRlc3Rjb21tb24oIiUuMm8iLCBiaWcsICIxMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MCIpCisgICAgICAgIHRlc3Rjb21tb24oIiUuMzJvIiwgYmlnLCAiMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAiKQorICAgICAgICB0ZXN0Y29tbW9uKCIlLjMzbyIsIGJpZywgIjAxMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MCIpCisgICAgICAgIHRlc3Rjb21tb24oIiUzNC4zM28iLCBiaWcsICIgMDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwIikKKyAgICAgICAgdGVzdGNvbW1vbigiJS0zNC4zM28iLCBiaWcsICIwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAgIikKKyAgICAgICAgdGVzdGNvbW1vbigiJW8iLCBiaWcsICIxMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MCIpCisgICAgICAgIHRlc3Rjb21tb24oIiUjbyIsIGJpZywgIjBvMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAiKQorICAgICAgICB0ZXN0Y29tbW9uKCIlI28iLCAtYmlnLCAiLTBvMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAiKQorICAgICAgICB0ZXN0Y29tbW9uKCIlIy4zNG8iLCAtYmlnLCAiLTBvMDAxMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MCIpCisgICAgICAgIHRlc3Rjb21tb24oIiUjKy4zNG8iLCBiaWcsICIrMG8wMDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwIikKKyAgICAgICAgdGVzdGNvbW1vbigiJSMgLjM0byIsIGJpZywgIiAwbzAwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAiKQorICAgICAgICB0ZXN0Y29tbW9uKCIlIysuMzRvIiwgYmlnLCAiKzBvMDAxMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MCIpCisgICAgICAgIHRlc3Rjb21tb24oIiUjLSsuMzRvIiwgYmlnLCAiKzBvMDAxMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MCIpCisgICAgICAgIHRlc3Rjb21tb24oIiUjLSszNy4zNG8iLCBiaWcsICIrMG8wMDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwIikKKyAgICAgICAgdGVzdGNvbW1vbigiJSMrMzcuMzRvIiwgYmlnLCAiKzBvMDAxMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MCIpCiAgICAgICAgICMgbmV4dCBvbmUgZ2V0cyBvbmUgbGVhZGluZyB6ZXJvIGZyb20gcHJlY2lzaW9uCi0gICAgICAgIHRlc3Rmb3JtYXQoIiUuMzNvIiwgYmlnLCAiMDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwIikKKyAgICAgICAgdGVzdGNvbW1vbigiJS4zM28iLCBiaWcsICIwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAiKQogICAgICAgICAjIGJhc2UgbWFya2VyIHNob3VsZG4ndCBjaGFuZ2UgdGhhdCwgc2luY2UgIjAiIGlzIHJlZHVuZGFudAotICAgICAgICB0ZXN0Zm9ybWF0KCIlIy4zM28iLCBiaWcsICIwbzAxMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MCIpCisgICAgICAgIHRlc3Rjb21tb24oIiUjLjMzbyIsIGJpZywgIjBvMDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwIikKICAgICAgICAgIyBidXQgcmVkdWNlIHByZWNpc2lvbiwgYW5kIGJhc2UgbWFya2VyIHNob3VsZCBhZGQgYSB6ZXJvCi0gICAgICAgIHRlc3Rmb3JtYXQoIiUjLjMybyIsIGJpZywgIjBvMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAiKQorICAgICAgICB0ZXN0Y29tbW9uKCIlIy4zMm8iLCBiaWcsICIwbzEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwIikKICAgICAgICAgIyBvbmUgbGVhZGluZyB6ZXJvIGZyb20gcHJlY2lzaW9uLCBhbmQgYW5vdGhlciBmcm9tICIwIiBmbGFnICYgd2lkdGgKLSAgICAgICAgdGVzdGZvcm1hdCgiJTAzNC4zM28iLCBiaWcsICIwMDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwIikKKyAgICAgICAgdGVzdGNvbW1vbigiJTAzNC4zM28iLCBiaWcsICIwMDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwIikKICAgICAgICAgIyBiYXNlIG1hcmtlciBzaG91bGRuJ3QgY2hhbmdlIHRoYXQKLSAgICAgICAgdGVzdGZvcm1hdCgiJTAjMzQuMzNvIiwgYmlnLCAiMG8wMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAiKQotICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0V2FybnMoRGVwcmVjYXRpb25XYXJuaW5nKToKLSAgICAgICAgICAgIHRlc3Rmb3JtYXQoIiVvIiwgZmxvYXQoYmlnKSwgIjEyMzQ1Nl9fX19fX19fX19fX19fX19fX19fX19fX19fIiwgNikKKyAgICAgICAgdGVzdGNvbW1vbigiJTAjMzQuMzNvIiwgYmlnLCAiMG8wMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAiKQogICAgICAgICAjIFNvbWUgc21hbGwgaW50cywgaW4gYm90aCBQeXRob24gaW50IGFuZCBmbGF2b3JzKS4KLSAgICAgICAgdGVzdGZvcm1hdCgiJWQiLCA0MiwgIjQyIikKLSAgICAgICAgdGVzdGZvcm1hdCgiJWQiLCAtNDIsICItNDIiKQotICAgICAgICB0ZXN0Zm9ybWF0KCIlZCIsIDQyLCAiNDIiKQotICAgICAgICB0ZXN0Zm9ybWF0KCIlZCIsIC00MiwgIi00MiIpCi0gICAgICAgIHRlc3Rmb3JtYXQoIiVkIiwgNDIuMCwgIjQyIikKLSAgICAgICAgdGVzdGZvcm1hdCgiJSN4IiwgMSwgIjB4MSIpCi0gICAgICAgIHRlc3Rmb3JtYXQoIiUjeCIsIDEsICIweDEiKQotICAgICAgICB0ZXN0Zm9ybWF0KCIlI1giLCAxLCAiMFgxIikKLSAgICAgICAgdGVzdGZvcm1hdCgiJSNYIiwgMSwgIjBYMSIpCi0gICAgICAgIHdpdGggc2VsZi5hc3NlcnRXYXJucyhEZXByZWNhdGlvbldhcm5pbmcpOgotICAgICAgICAgICAgdGVzdGZvcm1hdCgiJSN4IiwgMS4wLCAiMHgxIikKLSAgICAgICAgdGVzdGZvcm1hdCgiJSNvIiwgMSwgIjBvMSIpCi0gICAgICAgIHRlc3Rmb3JtYXQoIiUjbyIsIDEsICIwbzEiKQotICAgICAgICB0ZXN0Zm9ybWF0KCIlI28iLCAwLCAiMG8wIikKLSAgICAgICAgdGVzdGZvcm1hdCgiJSNvIiwgMCwgIjBvMCIpCi0gICAgICAgIHRlc3Rmb3JtYXQoIiVvIiwgMCwgIjAiKQotICAgICAgICB0ZXN0Zm9ybWF0KCIlbyIsIDAsICIwIikKLSAgICAgICAgdGVzdGZvcm1hdCgiJWQiLCAwLCAiMCIpCi0gICAgICAgIHRlc3Rmb3JtYXQoIiVkIiwgMCwgIjAiKQotICAgICAgICB0ZXN0Zm9ybWF0KCIlI3giLCAwLCAiMHgwIikKLSAgICAgICAgdGVzdGZvcm1hdCgiJSN4IiwgMCwgIjB4MCIpCi0gICAgICAgIHRlc3Rmb3JtYXQoIiUjWCIsIDAsICIwWDAiKQotICAgICAgICB0ZXN0Zm9ybWF0KCIlI1giLCAwLCAiMFgwIikKLSAgICAgICAgdGVzdGZvcm1hdCgiJXgiLCAweDQyLCAiNDIiKQotICAgICAgICB0ZXN0Zm9ybWF0KCIleCIsIC0weDQyLCAiLTQyIikKLSAgICAgICAgdGVzdGZvcm1hdCgiJXgiLCAweDQyLCAiNDIiKQotICAgICAgICB0ZXN0Zm9ybWF0KCIleCIsIC0weDQyLCAiLTQyIikKLSAgICAgICAgd2l0aCBzZWxmLmFzc2VydFdhcm5zKERlcHJlY2F0aW9uV2FybmluZyk6Ci0gICAgICAgICAgICB0ZXN0Zm9ybWF0KCIleCIsIGZsb2F0KDB4NDIpLCAiNDIiKQotICAgICAgICB0ZXN0Zm9ybWF0KCIlbyIsIDBvNDIsICI0MiIpCi0gICAgICAgIHRlc3Rmb3JtYXQoIiVvIiwgLTBvNDIsICItNDIiKQotICAgICAgICB0ZXN0Zm9ybWF0KCIlbyIsIDBvNDIsICI0MiIpCi0gICAgICAgIHRlc3Rmb3JtYXQoIiVvIiwgLTBvNDIsICItNDIiKQotICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0V2FybnMoRGVwcmVjYXRpb25XYXJuaW5nKToKLSAgICAgICAgICAgIHRlc3Rmb3JtYXQoIiVvIiwgZmxvYXQoMG80MiksICI0MiIpCisgICAgICAgIHRlc3Rjb21tb24oIiVkIiwgNDIsICI0MiIpCisgICAgICAgIHRlc3Rjb21tb24oIiVkIiwgLTQyLCAiLTQyIikKKyAgICAgICAgdGVzdGNvbW1vbigiJWQiLCA0MiwgIjQyIikKKyAgICAgICAgdGVzdGNvbW1vbigiJWQiLCAtNDIsICItNDIiKQorICAgICAgICB0ZXN0Y29tbW9uKCIlZCIsIDQyLjAsICI0MiIpCisgICAgICAgIHRlc3Rjb21tb24oIiUjeCIsIDEsICIweDEiKQorICAgICAgICB0ZXN0Y29tbW9uKCIlI3giLCAxLCAiMHgxIikKKyAgICAgICAgdGVzdGNvbW1vbigiJSNYIiwgMSwgIjBYMSIpCisgICAgICAgIHRlc3Rjb21tb24oIiUjWCIsIDEsICIwWDEiKQorICAgICAgICB0ZXN0Y29tbW9uKCIlI28iLCAxLCAiMG8xIikKKyAgICAgICAgdGVzdGNvbW1vbigiJSNvIiwgMSwgIjBvMSIpCisgICAgICAgIHRlc3Rjb21tb24oIiUjbyIsIDAsICIwbzAiKQorICAgICAgICB0ZXN0Y29tbW9uKCIlI28iLCAwLCAiMG8wIikKKyAgICAgICAgdGVzdGNvbW1vbigiJW8iLCAwLCAiMCIpCisgICAgICAgIHRlc3Rjb21tb24oIiVvIiwgMCwgIjAiKQorICAgICAgICB0ZXN0Y29tbW9uKCIlZCIsIDAsICIwIikKKyAgICAgICAgdGVzdGNvbW1vbigiJWQiLCAwLCAiMCIpCisgICAgICAgIHRlc3Rjb21tb24oIiUjeCIsIDAsICIweDAiKQorICAgICAgICB0ZXN0Y29tbW9uKCIlI3giLCAwLCAiMHgwIikKKyAgICAgICAgdGVzdGNvbW1vbigiJSNYIiwgMCwgIjBYMCIpCisgICAgICAgIHRlc3Rjb21tb24oIiUjWCIsIDAsICIwWDAiKQorICAgICAgICB0ZXN0Y29tbW9uKCIleCIsIDB4NDIsICI0MiIpCisgICAgICAgIHRlc3Rjb21tb24oIiV4IiwgLTB4NDIsICItNDIiKQorICAgICAgICB0ZXN0Y29tbW9uKCIleCIsIDB4NDIsICI0MiIpCisgICAgICAgIHRlc3Rjb21tb24oIiV4IiwgLTB4NDIsICItNDIiKQorICAgICAgICB0ZXN0Y29tbW9uKCIlbyIsIDBvNDIsICI0MiIpCisgICAgICAgIHRlc3Rjb21tb24oIiVvIiwgLTBvNDIsICItNDIiKQorICAgICAgICB0ZXN0Y29tbW9uKCIlbyIsIDBvNDIsICI0MiIpCisgICAgICAgIHRlc3Rjb21tb24oIiVvIiwgLTBvNDIsICItNDIiKQorICAgICAgICAjIGFsdGVybmF0ZSBmbG9hdCBmb3JtYXR0aW5nCisgICAgICAgIHRlc3Rjb21tb24oJyVnJywgMS4xLCAnMS4xJykKKyAgICAgICAgdGVzdGNvbW1vbignJSNnJywgMS4xLCAnMS4xMDAwMCcpCisKKyAgICBkZWYgdGVzdF9zdHJfZm9ybWF0KHNlbGYpOgogICAgICAgICB0ZXN0Zm9ybWF0KCIlciIsICJcdTAzNzgiLCAiJ1xcdTAzNzgnIikgICMgbm9uIHByaW50YWJsZQogICAgICAgICB0ZXN0Zm9ybWF0KCIlYSIsICJcdTAzNzgiLCAiJ1xcdTAzNzgnIikgICMgbm9uIHByaW50YWJsZQogICAgICAgICB0ZXN0Zm9ybWF0KCIlciIsICJcdTAzNzQiLCAiJ1x1MDM3NCciKSAgICMgcHJpbnRhYmxlCiAgICAgICAgIHRlc3Rmb3JtYXQoIiVhIiwgIlx1MDM3NCIsICInXFx1MDM3NCciKSAgIyBwcmludGFibGUKIAotICAgICAgICAjIGFsdGVybmF0ZSBmbG9hdCBmb3JtYXR0aW5nCi0gICAgICAgIHRlc3Rmb3JtYXQoJyVnJywgMS4xLCAnMS4xJykKLSAgICAgICAgdGVzdGZvcm1hdCgnJSNnJywgMS4xLCAnMS4xMDAwMCcpCi0KLSAgICAgICAgIyBUZXN0IGV4Y2VwdGlvbiBmb3IgdW5rbm93biBmb3JtYXQgY2hhcmFjdGVycworICAgICAgICAjIFRlc3QgZXhjZXB0aW9uIGZvciB1bmtub3duIGZvcm1hdCBjaGFyYWN0ZXJzLCBldGMuCiAgICAgICAgIGlmIHZlcmJvc2U6CiAgICAgICAgICAgICBwcmludCgnVGVzdGluZyBleGNlcHRpb25zJykKICAgICAgICAgZGVmIHRlc3RfZXhjKGZvcm1hdHN0ciwgYXJncywgZXhjZXB0aW9uLCBleGNtc2cpOgpAQCAtMjU3LDggKzI3NSw4MyBAQAogICAgICAgICB0ZXN0X2V4YygnJWcnLCAnMScsIFR5cGVFcnJvciwgImEgZmxvYXQgaXMgcmVxdWlyZWQiKQogICAgICAgICB0ZXN0X2V4Yygnbm8gZm9ybWF0JywgJzEnLCBUeXBlRXJyb3IsCiAgICAgICAgICAgICAgICAgICJub3QgYWxsIGFyZ3VtZW50cyBjb252ZXJ0ZWQgZHVyaW5nIHN0cmluZyBmb3JtYXR0aW5nIikKLSAgICAgICAgdGVzdF9leGMoJ25vIGZvcm1hdCcsICcxJywgVHlwZUVycm9yLAotICAgICAgICAgICAgICAgICAibm90IGFsbCBhcmd1bWVudHMgY29udmVydGVkIGR1cmluZyBzdHJpbmcgZm9ybWF0dGluZyIpCisKKyAgICAgICAgaWYgbWF4c2l6ZSA9PSAyKiozMS0xOgorICAgICAgICAgICAgIyBjcmFzaGVzIDIuMi4xIGFuZCBlYXJsaWVyOgorICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgICIlKmQiJShtYXhzaXplLCAtMTI3KQorICAgICAgICAgICAgZXhjZXB0IE1lbW9yeUVycm9yOgorICAgICAgICAgICAgICAgIHBhc3MKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgcmFpc2UgVGVzdEZhaWxlZCgnIiUqZCIlKG1heHNpemUsIC0xMjcpIHNob3VsZCBmYWlsJykKKworICAgIGRlZiB0ZXN0X2J5dGVzX2FuZF9ieXRlYXJyYXlfZm9ybWF0KHNlbGYpOgorICAgICAgICAjICVjIHdpbGwgaW5zZXJ0IGEgc2luZ2xlIGJ5dGUsIGVpdGhlciBmcm9tIGFuIGludCBpbiByYW5nZSgyNTYpLCBvcgorICAgICAgICAjIGZyb20gYSBieXRlcyBhcmd1bWVudCBvZiBsZW5ndGggMSwgbm90IGZyb20gYSBzdHIuCisgICAgICAgIHRlc3Rjb21tb24oYiIlYyIsIDcsIGIiXHgwNyIpCisgICAgICAgIHRlc3Rjb21tb24oYiIlYyIsIGIiWiIsIGIiWiIpCisgICAgICAgIHRlc3Rjb21tb24oYiIlYyIsIGJ5dGVhcnJheShiIloiKSwgYiJaIikKKyAgICAgICAgIyAlYiB3aWxsIGluc2VydCBhIHNlcmllcyBvZiBieXRlcywgZWl0aGVyIGZyb20gYSB0eXBlIHRoYXQgc3VwcG9ydHMKKyAgICAgICAgIyB0aGUgUHlfYnVmZmVyIHByb3RvY29sLCBvciBzb21ldGhpbmcgdGhhdCBoYXMgYSBfX2J5dGVzX18gbWV0aG9kCisgICAgICAgIGNsYXNzIEZha2VCeXRlcyhvYmplY3QpOgorICAgICAgICAgICAgZGVmIF9fYnl0ZXNfXyhzZWxmKToKKyAgICAgICAgICAgICAgICByZXR1cm4gYicxMjMnCisgICAgICAgIGZiID0gRmFrZUJ5dGVzKCkKKyAgICAgICAgdGVzdGNvbW1vbihiIiViIiwgYiJhYmMiLCBiImFiYyIpCisgICAgICAgIHRlc3Rjb21tb24oYiIlYiIsIGJ5dGVhcnJheShiImRlZiIpLCBiImRlZiIpCisgICAgICAgIHRlc3Rjb21tb24oYiIlYiIsIGZiLCBiIjEyMyIpCisgICAgICAgICMgIyAlcyBpcyBhbiBhbGlhcyBmb3IgJWIgLS0gc2hvdWxkIG9ubHkgYmUgdXNlZCBmb3IgUHkyLzMgY29kZQorICAgICAgICB0ZXN0Y29tbW9uKGIiJXMiLCBiImFiYyIsIGIiYWJjIikKKyAgICAgICAgdGVzdGNvbW1vbihiIiVzIiwgYnl0ZWFycmF5KGIiZGVmIiksIGIiZGVmIikKKyAgICAgICAgdGVzdGNvbW1vbihiIiVzIiwgZmIsIGIiMTIzIikKKyAgICAgICAgIyAlYSB3aWxsIGdpdmUgdGhlIGVxdWl2YWxlbnQgb2YKKyAgICAgICAgIyByZXByKHNvbWVfb2JqKS5lbmNvZGUoJ2FzY2lpJywgJ2JhY2tzbGFzaHJlcGxhY2UnKQorICAgICAgICB0ZXN0Y29tbW9uKGIiJWEiLCAzLjE0LCBiIjMuMTQiKQorICAgICAgICB0ZXN0Y29tbW9uKGIiJWEiLCBiImdoaSIsIGIiYidnaGknIikKKyAgICAgICAgdGVzdGNvbW1vbihiIiVhIiwgImprbCIsIGIiJ2prbCciKQorICAgICAgICB0ZXN0Y29tbW9uKGIiJWEiLCAiXHUwNTQ0IiwgYiInXFx1MDU0NCciKQorCisgICAgICAgICMgVGVzdCBleGNlcHRpb24gZm9yIHVua25vd24gZm9ybWF0IGNoYXJhY3RlcnMsIGV0Yy4KKyAgICAgICAgaWYgdmVyYm9zZToKKyAgICAgICAgICAgIHByaW50KCdUZXN0aW5nIGV4Y2VwdGlvbnMnKQorICAgICAgICBkZWYgdGVzdF9leGMoZm9ybWF0c3RyLCBhcmdzLCBleGNlcHRpb24sIGV4Y21zZyk6CisgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgdGVzdGZvcm1hdChmb3JtYXRzdHIsIGFyZ3MpCisgICAgICAgICAgICBleGNlcHQgZXhjZXB0aW9uIGFzIGV4YzoKKyAgICAgICAgICAgICAgICBpZiBzdHIoZXhjKSA9PSBleGNtc2c6CisgICAgICAgICAgICAgICAgICAgIGlmIHZlcmJvc2U6CisgICAgICAgICAgICAgICAgICAgICAgICBwcmludCgieWVzIikKKyAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICBpZiB2ZXJib3NlOiBwcmludCgnbm8nKQorICAgICAgICAgICAgICAgICAgICBwcmludCgnVW5leHBlY3RlZCAnLCBleGNlcHRpb24sICc6JywgcmVwcihzdHIoZXhjKSkpCisgICAgICAgICAgICBleGNlcHQ6CisgICAgICAgICAgICAgICAgaWYgdmVyYm9zZTogcHJpbnQoJ25vJykKKyAgICAgICAgICAgICAgICBwcmludCgnVW5leHBlY3RlZCBleGNlcHRpb24nKQorICAgICAgICAgICAgICAgIHJhaXNlCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIHJhaXNlIFRlc3RGYWlsZWQoJ2RpZCBub3QgZ2V0IGV4cGVjdGVkIGV4Y2VwdGlvbjogJXMnICUgZXhjbXNnKQorICAgICAgICB0ZXN0X2V4YyhiJyVkJywgJzEnLCBUeXBlRXJyb3IsCisgICAgICAgICAgICAgICAgIiVkIGZvcm1hdDogYSBudW1iZXIgaXMgcmVxdWlyZWQsIG5vdCBzdHIiKQorICAgICAgICB0ZXN0X2V4YyhiJyVkJywgYicxJywgVHlwZUVycm9yLAorICAgICAgICAgICAgICAgICIlZCBmb3JtYXQ6IGEgbnVtYmVyIGlzIHJlcXVpcmVkLCBub3QgYnl0ZXMiKQorICAgICAgICB0ZXN0X2V4YyhiJyVnJywgJzEnLCBUeXBlRXJyb3IsICJmbG9hdCBhcmd1bWVudCByZXF1aXJlZCwgbm90IHN0ciIpCisgICAgICAgIHRlc3RfZXhjKGInJWcnLCBiJzEnLCBUeXBlRXJyb3IsICJmbG9hdCBhcmd1bWVudCByZXF1aXJlZCwgbm90IGJ5dGVzIikKKyAgICAgICAgdGVzdF9leGMoYidubyBmb3JtYXQnLCA3LCBUeXBlRXJyb3IsCisgICAgICAgICAgICAgICAgICJub3QgYWxsIGFyZ3VtZW50cyBjb252ZXJ0ZWQgZHVyaW5nIGJ5dGVzIGZvcm1hdHRpbmciKQorICAgICAgICB0ZXN0X2V4YyhiJ25vIGZvcm1hdCcsIGInMScsIFR5cGVFcnJvciwKKyAgICAgICAgICAgICAgICAgIm5vdCBhbGwgYXJndW1lbnRzIGNvbnZlcnRlZCBkdXJpbmcgYnl0ZXMgZm9ybWF0dGluZyIpCisgICAgICAgIHRlc3RfZXhjKGInbm8gZm9ybWF0JywgYnl0ZWFycmF5KGInMScpLCBUeXBlRXJyb3IsCisgICAgICAgICAgICAgICAgICJub3QgYWxsIGFyZ3VtZW50cyBjb252ZXJ0ZWQgZHVyaW5nIGJ5dGVzIGZvcm1hdHRpbmciKQorICAgICAgICB0ZXN0X2V4YyhiIiVjIiwgMjU2LCBUeXBlRXJyb3IsCisgICAgICAgICAgICAgICAgIiVjIHJlcXVpcmVzIGFuIGludGVnZXIgaW4gcmFuZ2UoMjU2KSBvciBhIHNpbmdsZSBieXRlIikKKyAgICAgICAgdGVzdF9leGMoYiIlYyIsIGIiWmEiLCBUeXBlRXJyb3IsCisgICAgICAgICAgICAgICAgIiVjIHJlcXVpcmVzIGFuIGludGVnZXIgaW4gcmFuZ2UoMjU2KSBvciBhIHNpbmdsZSBieXRlIikKKyAgICAgICAgdGVzdF9leGMoYiIlYyIsICJZYiIsIFR5cGVFcnJvciwKKyAgICAgICAgICAgICAgICAiJWMgcmVxdWlyZXMgYW4gaW50ZWdlciBpbiByYW5nZSgyNTYpIG9yIGEgc2luZ2xlIGJ5dGUiKQorICAgICAgICB0ZXN0X2V4YyhiIiViIiwgIlhjIiwgVHlwZUVycm9yLAorICAgICAgICAgICAgICAgICIlYiByZXF1aXJlcyBieXRlcywgb3IgYW4gb2JqZWN0IHRoYXQgaW1wbGVtZW50cyBfX2J5dGVzX18sIG5vdCAnc3RyJyIpCisgICAgICAgIHRlc3RfZXhjKGIiJXMiLCAiV2QiLCBUeXBlRXJyb3IsCisgICAgICAgICAgICAgICAgIiViIHJlcXVpcmVzIGJ5dGVzLCBvciBhbiBvYmplY3QgdGhhdCBpbXBsZW1lbnRzIF9fYnl0ZXNfXywgbm90ICdzdHInIikKIAogICAgICAgICBpZiBtYXhzaXplID09IDIqKjMxLTE6CiAgICAgICAgICAgICAjIGNyYXNoZXMgMi4yLjEgYW5kIGVhcmxpZXI6CmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2ZyYWN0aW9ucy5weSBiL0xpYi90ZXN0L3Rlc3RfZnJhY3Rpb25zLnB5CmluZGV4IDMzMzY1MzIuLmU4NmQ1Y2UgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfZnJhY3Rpb25zLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfZnJhY3Rpb25zLnB5CkBAIC0zMzAsNyArMzMwLDYgQEAKICAgICAgICAgc2VsZi5hc3NlcnRUeXBlZEVxdWFscyhGKC0yLCAxMCksIHJvdW5kKEYoLTE1LCAxMDApLCAxKSkKICAgICAgICAgc2VsZi5hc3NlcnRUeXBlZEVxdWFscyhGKC0yLCAxMCksIHJvdW5kKEYoLTI1LCAxMDApLCAxKSkKIAotCiAgICAgZGVmIHRlc3RBcml0aG1ldGljKHNlbGYpOgogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKEYoMSwgMiksIEYoMSwgMTApICsgRigyLCA1KSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChGKC0zLCAxMCksIEYoMSwgMTApIC0gRigyLCA1KSkKQEAgLTQwMiw2ICs0MDEsOCBAQAogICAgICAgICBzZWxmLmFzc2VydFR5cGVkRXF1YWxzKDIuMCAsIDQgKiogRigxLCAyKSkKICAgICAgICAgc2VsZi5hc3NlcnRUeXBlZEVxdWFscygwLjI1LCAyLjAgKiogRigtMiwgMSkpCiAgICAgICAgIHNlbGYuYXNzZXJ0VHlwZWRFcXVhbHMoMS4wICsgMGosICgxLjAgKyAwaikgKiogRigxLCAxMCkpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFplcm9EaXZpc2lvbkVycm9yLCBvcGVyYXRvci5wb3csCisgICAgICAgICAgICAgICAgICAgICAgICAgIEYoMCwgMSksIC0yKQogCiAgICAgZGVmIHRlc3RNaXhpbmdXaXRoRGVjaW1hbChzZWxmKToKICAgICAgICAgIyBEZWNpbWFsIHJlZnVzZXMgbWl4ZWQgYXJpdGhtZXRpYyAoYnV0IG5vdCBtaXhlZCBjb21wYXJpc29ucykKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfZnRwbGliLnB5IGIvTGliL3Rlc3QvdGVzdF9mdHBsaWIucHkKaW5kZXggZDNiZTdkNi4uYWVmNjZkYSAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9mdHBsaWIucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9mdHBsaWIucHkKQEAgLTczLDcgKzczLDcgQEAKICAgICAgICAgc3VwZXIoRHVtbXlEVFBIYW5kbGVyLCBzZWxmKS5wdXNoKHdoYXQuZW5jb2RlKCdhc2NpaScpKQogCiAgICAgZGVmIGhhbmRsZV9lcnJvcihzZWxmKToKLSAgICAgICAgcmFpc2UKKyAgICAgICAgcmFpc2UgRXhjZXB0aW9uCiAKIAogY2xhc3MgRHVtbXlGVFBIYW5kbGVyKGFzeW5jaGF0LmFzeW5jX2NoYXQpOgpAQCAtMTE4LDcgKzExOCw3IEBACiAgICAgICAgICAgICBzZWxmLnB1c2goJzU1MCBjb21tYW5kICIlcyIgbm90IHVuZGVyc3Rvb2QuJyAlY21kKQogCiAgICAgZGVmIGhhbmRsZV9lcnJvcihzZWxmKToKLSAgICAgICAgcmFpc2UKKyAgICAgICAgcmFpc2UgRXhjZXB0aW9uCiAKICAgICBkZWYgcHVzaChzZWxmLCBkYXRhKToKICAgICAgICAgYXN5bmNoYXQuYXN5bmNfY2hhdC5wdXNoKHNlbGYsIGRhdGEuZW5jb2RlKCdhc2NpaScpICsgYidcclxuJykKQEAgLTEzNCw3ICsxMzQsNyBAQAogICAgIGRlZiBjbWRfcGFzdihzZWxmLCBhcmcpOgogICAgICAgICB3aXRoIHNvY2tldC5zb2NrZXQoKSBhcyBzb2NrOgogICAgICAgICAgICAgc29jay5iaW5kKChzZWxmLnNvY2tldC5nZXRzb2NrbmFtZSgpWzBdLCAwKSkKLSAgICAgICAgICAgIHNvY2subGlzdGVuKDUpCisgICAgICAgICAgICBzb2NrLmxpc3RlbigpCiAgICAgICAgICAgICBzb2NrLnNldHRpbWVvdXQoVElNRU9VVCkKICAgICAgICAgICAgIGlwLCBwb3J0ID0gc29jay5nZXRzb2NrbmFtZSgpWzoyXQogICAgICAgICAgICAgaXAgPSBpcC5yZXBsYWNlKCcuJywgJywnKTsgcDEgPSBwb3J0IC8gMjU2OyBwMiA9IHBvcnQgJSAyNTYKQEAgLTE1Miw3ICsxNTIsNyBAQAogICAgIGRlZiBjbWRfZXBzdihzZWxmLCBhcmcpOgogICAgICAgICB3aXRoIHNvY2tldC5zb2NrZXQoc29ja2V0LkFGX0lORVQ2KSBhcyBzb2NrOgogICAgICAgICAgICAgc29jay5iaW5kKChzZWxmLnNvY2tldC5nZXRzb2NrbmFtZSgpWzBdLCAwKSkKLSAgICAgICAgICAgIHNvY2subGlzdGVuKDUpCisgICAgICAgICAgICBzb2NrLmxpc3RlbigpCiAgICAgICAgICAgICBzb2NrLnNldHRpbWVvdXQoVElNRU9VVCkKICAgICAgICAgICAgIHBvcnQgPSBzb2NrLmdldHNvY2tuYW1lKClbMV0KICAgICAgICAgICAgIHNlbGYucHVzaCgnMjI5IGVudGVyaW5nIGV4dGVuZGVkIHBhc3NpdmUgbW9kZSAofHx8JWR8KScgJXBvcnQpCkBAIC0yOTYsNyArMjk2LDcgQEAKICAgICAgICAgcmV0dXJuIDAKIAogICAgIGRlZiBoYW5kbGVfZXJyb3Ioc2VsZik6Ci0gICAgICAgIHJhaXNlCisgICAgICAgIHJhaXNlIEV4Y2VwdGlvbgogCiAKIGlmIHNzbCBpcyBub3QgTm9uZToKQEAgLTM5NCw3ICszOTQsNyBAQAogICAgICAgICAgICAgICAgIHJhaXNlCiAKICAgICAgICAgZGVmIGhhbmRsZV9lcnJvcihzZWxmKToKLSAgICAgICAgICAgIHJhaXNlCisgICAgICAgICAgICByYWlzZSBFeGNlcHRpb24KIAogICAgICAgICBkZWYgY2xvc2Uoc2VsZik6CiAgICAgICAgICAgICBpZiAoaXNpbnN0YW5jZShzZWxmLnNvY2tldCwgc3NsLlNTTFNvY2tldCkgYW5kCkBAIC02NzAsNyArNjcwLDcgQEAKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoU3RvcEl0ZXJhdGlvbiwgbmV4dCwgc2VsZi5jbGllbnQubWxzZCgpKQogICAgICAgICBzZXRfZGF0YSgnJykKICAgICAgICAgZm9yIHggaW4gc2VsZi5jbGllbnQubWxzZCgpOgotICAgICAgICAgICAgc2VsZi5mYWlsKCJ1bmV4cGVjdGVkIGRhdGEgJXMiICUgZGF0YSkKKyAgICAgICAgICAgIHNlbGYuZmFpbCgidW5leHBlY3RlZCBkYXRhICVzIiAlIHgpCiAKICAgICBkZWYgdGVzdF9tYWtlcG9ydChzZWxmKToKICAgICAgICAgd2l0aCBzZWxmLmNsaWVudC5tYWtlcG9ydCgpOgpAQCAtOTc5LDcgKzk3OSw3IEBACiAgICAgICAgICMgIDEpIHdoZW4gdGhlIGNvbm5lY3Rpb24gaXMgcmVhZHkgdG8gYmUgYWNjZXB0ZWQuCiAgICAgICAgICMgIDIpIHdoZW4gaXQgaXMgc2FmZSBmb3IgdGhlIGNhbGxlciB0byBjbG9zZSB0aGUgY29ubmVjdGlvbgogICAgICAgICAjICAzKSB3aGVuIHdlIGhhdmUgY2xvc2VkIHRoZSBzb2NrZXQKLSAgICAgICAgc2VsZi5zb2NrLmxpc3Rlbig1KQorICAgICAgICBzZWxmLnNvY2subGlzdGVuKCkKICAgICAgICAgIyAoMSkgU2lnbmFsIHRoZSBjYWxsZXIgdGhhdCB3ZSBhcmUgcmVhZHkgdG8gYWNjZXB0IHRoZSBjb25uZWN0aW9uLgogICAgICAgICBzZWxmLmV2dC5zZXQoKQogICAgICAgICB0cnk6CkBAIC0xMDQ5LDE5ICsxMDQ5LDggQEAKICAgICAgICAgZnRwLmNsb3NlKCkKIAogCi1jbGFzcyBUZXN0TmV0cmNEZXByZWNhdGlvbihUZXN0Q2FzZSk6Ci0KLSAgICBkZWYgdGVzdF9kZXByZWNhdGlvbihzZWxmKToKLSAgICAgICAgd2l0aCBzdXBwb3J0LnRlbXBfY3dkKCksIHN1cHBvcnQuRW52aXJvbm1lbnRWYXJHdWFyZCgpIGFzIGVudjoKLSAgICAgICAgICAgIGVudlsnSE9NRSddID0gb3MuZ2V0Y3dkKCkKLSAgICAgICAgICAgIG9wZW4oJy5uZXRyYycsICd3JykuY2xvc2UoKQotICAgICAgICAgICAgd2l0aCBzZWxmLmFzc2VydFdhcm5zKERlcHJlY2F0aW9uV2FybmluZyk6Ci0gICAgICAgICAgICAgICAgZnRwbGliLk5ldHJjKCkKLQotCi0KIGRlZiB0ZXN0X21haW4oKToKLSAgICB0ZXN0cyA9IFtUZXN0RlRQQ2xhc3MsIFRlc3RUaW1lb3V0cywgVGVzdE5ldHJjRGVwcmVjYXRpb24sCisgICAgdGVzdHMgPSBbVGVzdEZUUENsYXNzLCBUZXN0VGltZW91dHMsCiAgICAgICAgICAgICAgVGVzdElQdjZFbnZpcm9ubWVudCwKICAgICAgICAgICAgICBUZXN0VExTX0ZUUENsYXNzTWl4aW4sIFRlc3RUTFNfRlRQQ2xhc3NdCiAKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfZnVuY3Rvb2xzLnB5IGIvTGliL3Rlc3QvdGVzdF9mdW5jdG9vbHMucHkKaW5kZXggMDM3NTYwMWMuLjU1Yjk2YjQgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfZnVuY3Rvb2xzLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfZnVuY3Rvb2xzLnB5CkBAIC04ODIsNiArODgyLDI0IEBACiAgICAgICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvcik6CiAgICAgICAgICAgICAgICAgYSA8PSBiCiAKKyAgICBkZWYgdGVzdF9waWNrbGUoc2VsZik6CisgICAgICAgIGZvciBwcm90byBpbiByYW5nZSg0LCBwaWNrbGUuSElHSEVTVF9QUk9UT0NPTCArIDEpOgorICAgICAgICAgICAgZm9yIG5hbWUgaW4gJ19fbHRfXycsICdfX2d0X18nLCAnX19sZV9fJywgJ19fZ2VfXyc6CisgICAgICAgICAgICAgICAgd2l0aCBzZWxmLnN1YlRlc3QobWV0aG9kPW5hbWUsIHByb3RvPXByb3RvKToKKyAgICAgICAgICAgICAgICAgICAgbWV0aG9kID0gZ2V0YXR0cihPcmRlcmFibGVfTFQsIG5hbWUpCisgICAgICAgICAgICAgICAgICAgIG1ldGhvZF9jb3B5ID0gcGlja2xlLmxvYWRzKHBpY2tsZS5kdW1wcyhtZXRob2QsIHByb3RvKSkKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRJcyhtZXRob2RfY29weSwgbWV0aG9kKQorCitAZnVuY3Rvb2xzLnRvdGFsX29yZGVyaW5nCitjbGFzcyBPcmRlcmFibGVfTFQ6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIHZhbHVlKToKKyAgICAgICAgc2VsZi52YWx1ZSA9IHZhbHVlCisgICAgZGVmIF9fbHRfXyhzZWxmLCBvdGhlcik6CisgICAgICAgIHJldHVybiBzZWxmLnZhbHVlIDwgb3RoZXIudmFsdWUKKyAgICBkZWYgX19lcV9fKHNlbGYsIG90aGVyKToKKyAgICAgICAgcmV0dXJuIHNlbGYudmFsdWUgPT0gb3RoZXIudmFsdWUKKworCiBjbGFzcyBUZXN0TFJVKHVuaXR0ZXN0LlRlc3RDYXNlKToKIAogICAgIGRlZiB0ZXN0X2xydShzZWxmKToKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfZ2VuZXJhdG9ycy5weSBiL0xpYi90ZXN0L3Rlc3RfZ2VuZXJhdG9ycy5weQppbmRleCA3ODI1YTc3Li45ZTYxMDEzIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2dlbmVyYXRvcnMucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9nZW5lcmF0b3JzLnB5CkBAIC01MCw2ICs1MCw0NSBAQAogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGdjLmdhcmJhZ2UsIG9sZF9nYXJiYWdlKQogCiAKK2NsYXNzIEdlbmVyYXRvclRlc3QodW5pdHRlc3QuVGVzdENhc2UpOgorCisgICAgZGVmIHRlc3RfbmFtZShzZWxmKToKKyAgICAgICAgZGVmIGZ1bmMoKToKKyAgICAgICAgICAgIHlpZWxkIDEKKworICAgICAgICAjIGNoZWNrIGdlbmVyYXRvciBuYW1lcworICAgICAgICBnZW4gPSBmdW5jKCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChnZW4uX19uYW1lX18sICJmdW5jIikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChnZW4uX19xdWFsbmFtZV9fLAorICAgICAgICAgICAgICAgICAgICAgICAgICJHZW5lcmF0b3JUZXN0LnRlc3RfbmFtZS48bG9jYWxzPi5mdW5jIikKKworICAgICAgICAjIG1vZGlmeSBnZW5lcmF0b3IgbmFtZXMKKyAgICAgICAgZ2VuLl9fbmFtZV9fID0gIm5hbWUiCisgICAgICAgIGdlbi5fX3F1YWxuYW1lX18gPSAicXVhbG5hbWUiCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZ2VuLl9fbmFtZV9fLCAibmFtZSIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZ2VuLl9fcXVhbG5hbWVfXywgInF1YWxuYW1lIikKKworICAgICAgICAjIGdlbmVyYXRvciBuYW1lcyBtdXN0IGJlIGEgc3RyaW5nIGFuZCBjYW5ub3QgYmUgZGVsZXRlZAorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIHNldGF0dHIsIGdlbiwgJ19fbmFtZV9fJywgMTIzKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIHNldGF0dHIsIGdlbiwgJ19fcXVhbG5hbWVfXycsIDEyMykKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBkZWxhdHRyLCBnZW4sICdfX25hbWVfXycpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgZGVsYXR0ciwgZ2VuLCAnX19xdWFsbmFtZV9fJykKKworICAgICAgICAjIG1vZGlmeSBuYW1lcyBvZiB0aGUgZnVuY3Rpb24gY3JlYXRpbmcgdGhlIGdlbmVyYXRvcgorICAgICAgICBmdW5jLl9fcXVhbG5hbWVfXyA9ICJmdW5jX3F1YWxuYW1lIgorICAgICAgICBmdW5jLl9fbmFtZV9fID0gImZ1bmNfbmFtZSIKKyAgICAgICAgZ2VuID0gZnVuYygpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZ2VuLl9fbmFtZV9fLCAiZnVuY19uYW1lIikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChnZW4uX19xdWFsbmFtZV9fLCAiZnVuY19xdWFsbmFtZSIpCisKKyAgICAgICAgIyB1bm5hbWVkIGdlbmVyYXRvcgorICAgICAgICBnZW4gPSAoeCBmb3IgeCBpbiByYW5nZSgxMCkpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZ2VuLl9fbmFtZV9fLAorICAgICAgICAgICAgICAgICAgICAgICAgICI8Z2VuZXhwcj4iKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGdlbi5fX3F1YWxuYW1lX18sCisgICAgICAgICAgICAgICAgICAgICAgICAgIkdlbmVyYXRvclRlc3QudGVzdF9uYW1lLjxsb2NhbHM+LjxnZW5leHByPiIpCisKKwogY2xhc3MgRXhjZXB0aW9uVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgIyBUZXN0cyBmb3IgdGhlIGlzc3VlICMyMzM1MzogY2hlY2sgdGhhdCB0aGUgY3VycmVudGx5IGhhbmRsZWQgZXhjZXB0aW9uCiAgICAgIyBpcyBjb3JyZWN0bHkgc2F2ZWQvcmVzdG9yZWQgaW4gUHlFdmFsX0V2YWxGcmFtZUV4KCkuCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2dlbmVyaWNwYXRoLnB5IGIvTGliL3Rlc3QvdGVzdF9nZW5lcmljcGF0aC5weQppbmRleCBlNTllZDRkLi5mMjcyMmJjIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2dlbmVyaWNwYXRoLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfZ2VuZXJpY3BhdGgucHkKQEAgLTQzNCw2ICs0MzQsNDAgQEAKICAgICAgICAgICAgIHdpdGggc3VwcG9ydC50ZW1wX2N3ZChuYW1lKToKICAgICAgICAgICAgICAgICBzZWxmLnRlc3RfYWJzcGF0aCgpCiAKKyAgICBkZWYgdGVzdF9qb2luX2Vycm9ycyhzZWxmKToKKyAgICAgICAgIyBDaGVjayBqb2luKCkgcmFpc2VzIGZyaWVuZGx5IFR5cGVFcnJvcnMuCisgICAgICAgIHdpdGggc3VwcG9ydC5jaGVja193YXJuaW5ncygoJycsIEJ5dGVzV2FybmluZyksIHF1aWV0PVRydWUpOgorICAgICAgICAgICAgZXJybXNnID0gIkNhbid0IG1peCBzdHJpbmdzIGFuZCBieXRlcyBpbiBwYXRoIGNvbXBvbmVudHMiCisgICAgICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgoVHlwZUVycm9yLCBlcnJtc2cpOgorICAgICAgICAgICAgICAgIHNlbGYucGF0aG1vZHVsZS5qb2luKGInYnl0ZXMnLCAnc3RyJykKKyAgICAgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXNSZWdleChUeXBlRXJyb3IsIGVycm1zZyk6CisgICAgICAgICAgICAgICAgc2VsZi5wYXRobW9kdWxlLmpvaW4oJ3N0cicsIGInYnl0ZXMnKQorICAgICAgICAgICAgIyByZWdyZXNzaW9uLCBzZWUgIzE1Mzc3CisgICAgICAgICAgICBlcnJtc2cgPSByJ2pvaW5cKFwpIGFyZ3VtZW50IG11c3QgYmUgc3RyIG9yIGJ5dGVzLCBub3QgJXInCisgICAgICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgoVHlwZUVycm9yLCBlcnJtc2cgJSAnaW50Jyk6CisgICAgICAgICAgICAgICAgc2VsZi5wYXRobW9kdWxlLmpvaW4oNDIsICdzdHInKQorICAgICAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlc1JlZ2V4KFR5cGVFcnJvciwgZXJybXNnICUgJ2ludCcpOgorICAgICAgICAgICAgICAgIHNlbGYucGF0aG1vZHVsZS5qb2luKCdzdHInLCA0MikKKyAgICAgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXNSZWdleChUeXBlRXJyb3IsIGVycm1zZyAlICdieXRlYXJyYXknKToKKyAgICAgICAgICAgICAgICBzZWxmLnBhdGhtb2R1bGUuam9pbihieXRlYXJyYXkoYidmb28nKSwgYnl0ZWFycmF5KGInYmFyJykpCisKKyAgICBkZWYgdGVzdF9yZWxwYXRoX2Vycm9ycyhzZWxmKToKKyAgICAgICAgIyBDaGVjayByZWxwYXRoKCkgcmFpc2VzIGZyaWVuZGx5IFR5cGVFcnJvcnMuCisgICAgICAgIHdpdGggc3VwcG9ydC5jaGVja193YXJuaW5ncygoJycsIChCeXRlc1dhcm5pbmcsIERlcHJlY2F0aW9uV2FybmluZykpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcXVpZXQ9VHJ1ZSk6CisgICAgICAgICAgICBlcnJtc2cgPSAiQ2FuJ3QgbWl4IHN0cmluZ3MgYW5kIGJ5dGVzIGluIHBhdGggY29tcG9uZW50cyIKKyAgICAgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXNSZWdleChUeXBlRXJyb3IsIGVycm1zZyk6CisgICAgICAgICAgICAgICAgc2VsZi5wYXRobW9kdWxlLnJlbHBhdGgoYidieXRlcycsICdzdHInKQorICAgICAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlc1JlZ2V4KFR5cGVFcnJvciwgZXJybXNnKToKKyAgICAgICAgICAgICAgICBzZWxmLnBhdGhtb2R1bGUucmVscGF0aCgnc3RyJywgYidieXRlcycpCisgICAgICAgICAgICBlcnJtc2cgPSByJ3JlbHBhdGhcKFwpIGFyZ3VtZW50IG11c3QgYmUgc3RyIG9yIGJ5dGVzLCBub3QgJXInCisgICAgICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgoVHlwZUVycm9yLCBlcnJtc2cgJSAnaW50Jyk6CisgICAgICAgICAgICAgICAgc2VsZi5wYXRobW9kdWxlLnJlbHBhdGgoNDIsICdzdHInKQorICAgICAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlc1JlZ2V4KFR5cGVFcnJvciwgZXJybXNnICUgJ2ludCcpOgorICAgICAgICAgICAgICAgIHNlbGYucGF0aG1vZHVsZS5yZWxwYXRoKCdzdHInLCA0MikKKyAgICAgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXNSZWdleChUeXBlRXJyb3IsIGVycm1zZyAlICdieXRlYXJyYXknKToKKyAgICAgICAgICAgICAgICBzZWxmLnBhdGhtb2R1bGUucmVscGF0aChieXRlYXJyYXkoYidmb28nKSwgYnl0ZWFycmF5KGInYmFyJykpCisKIAogaWYgX19uYW1lX189PSJfX21haW5fXyI6CiAgICAgdW5pdHRlc3QubWFpbigpCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2dldGFyZ3MyLnB5IGIvTGliL3Rlc3QvdGVzdF9nZXRhcmdzMi5weQppbmRleCAxODUzYTJkLi43MTQ3MmNkIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2dldGFyZ3MyLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfZ2V0YXJnczIucHkKQEAgLTM0LDggKzM0LDggQEAKICMgPiAqKiBDaGFuZ2VkIGZyb20gcHJldmlvdXMgInJhbmdlLWFuZC1hLWhhbGYiIHRvICJub25lIjsgdGhlCiAjID4gcmFuZ2UtYW5kLWEtaGFsZiBjaGVja2luZyB3YXNuJ3QgcGFydGljdWxhcmx5IHVzZWZ1bC4KICMKLSMgUGx1cyBhIEMgQVBJIG9yIHR3bywgZS5nLiBQeUludF9Bc0xvbmdNYXNrKCkgLT4KLSMgdW5zaWduZWQgbG9uZyBhbmQgUHlJbnRfQXNMb25nTG9uZ01hc2soKSAtPiB1bnNpZ25lZAorIyBQbHVzIGEgQyBBUEkgb3IgdHdvLCBlLmcuIFB5TG9uZ19Bc1Vuc2lnbmVkTG9uZ01hc2soKSAtPgorIyB1bnNpZ25lZCBsb25nIGFuZCBQeUxvbmdfQXNVbnNpZ25lZExvbmdMb25nTWFzaygpIC0+IHVuc2lnbmVkCiAjIGxvbmcgbG9uZyAoaWYgdGhhdCBleGlzdHMpLgogCiBMQVJHRSA9IDB4N0ZGRkZGRkYKQEAgLTQ4Miw3ICs0ODIsNyBAQAogICAgIGRlZiB0ZXN0X3Moc2VsZik6CiAgICAgICAgIGZyb20gX3Rlc3RjYXBpIGltcG9ydCBnZXRhcmdzX3MKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChnZXRhcmdzX3MoJ2FiY1x4ZTknKSwgYidhYmNceGMzXHhhOScpCi0gICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgZ2V0YXJnc19zLCAnbnVsOlwwJykKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgZ2V0YXJnc19zLCAnbnVsOlwwJykKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBnZXRhcmdzX3MsIGInYnl0ZXMnKQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIGdldGFyZ3NfcywgYnl0ZWFycmF5KGInYnl0ZWFycmF5JykpCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgZ2V0YXJnc19zLCBtZW1vcnl2aWV3KGInbWVtb3J5dmlldycpKQpAQCAtNTA5LDcgKzUwOSw3IEBACiAgICAgZGVmIHRlc3RfeihzZWxmKToKICAgICAgICAgZnJvbSBfdGVzdGNhcGkgaW1wb3J0IGdldGFyZ3NfegogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGdldGFyZ3NfeignYWJjXHhlOScpLCBiJ2FiY1x4YzNceGE5JykKLSAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBnZXRhcmdzX3osICdudWw6XDAnKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBnZXRhcmdzX3osICdudWw6XDAnKQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIGdldGFyZ3NfeiwgYidieXRlcycpCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgZ2V0YXJnc196LCBieXRlYXJyYXkoYidieXRlYXJyYXknKSkKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBnZXRhcmdzX3osIG1lbW9yeXZpZXcoYidtZW1vcnl2aWV3JykpCkBAIC01MzcsNyArNTM3LDcgQEAKICAgICAgICAgZnJvbSBfdGVzdGNhcGkgaW1wb3J0IGdldGFyZ3NfeQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIGdldGFyZ3NfeSwgJ2FiY1x4ZTknKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGdldGFyZ3NfeShiJ2J5dGVzJyksIGInYnl0ZXMnKQotICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIGdldGFyZ3NfeSwgYidudWw6XDAnKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBnZXRhcmdzX3ksIGInbnVsOlwwJykKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBnZXRhcmdzX3ksIGJ5dGVhcnJheShiJ2J5dGVhcnJheScpKQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIGdldGFyZ3NfeSwgbWVtb3J5dmlldyhiJ21lbW9yeXZpZXcnKSkKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBnZXRhcmdzX3ksIE5vbmUpCkBAIC01NzcsNyArNTc3LDcgQEAKICAgICBkZWYgdGVzdF91KHNlbGYpOgogICAgICAgICBmcm9tIF90ZXN0Y2FwaSBpbXBvcnQgZ2V0YXJnc191CiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZ2V0YXJnc191KCdhYmNceGU5JyksICdhYmNceGU5JykKLSAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBnZXRhcmdzX3UsICdudWw6XDAnKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBnZXRhcmdzX3UsICdudWw6XDAnKQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIGdldGFyZ3NfdSwgYidieXRlcycpCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgZ2V0YXJnc191LCBieXRlYXJyYXkoYidieXRlYXJyYXknKSkKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBnZXRhcmdzX3UsIG1lbW9yeXZpZXcoYidtZW1vcnl2aWV3JykpCkBAIC01OTUsNyArNTk1LDcgQEAKICAgICBkZWYgdGVzdF9aKHNlbGYpOgogICAgICAgICBmcm9tIF90ZXN0Y2FwaSBpbXBvcnQgZ2V0YXJnc19aCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZ2V0YXJnc19aKCdhYmNceGU5JyksICdhYmNceGU5JykKLSAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBnZXRhcmdzX1osICdudWw6XDAnKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBnZXRhcmdzX1osICdudWw6XDAnKQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIGdldGFyZ3NfWiwgYidieXRlcycpCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgZ2V0YXJnc19aLCBieXRlYXJyYXkoYidieXRlYXJyYXknKSkKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBnZXRhcmdzX1osIG1lbW9yeXZpZXcoYidtZW1vcnl2aWV3JykpCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2dldHRleHQucHkgYi9MaWIvdGVzdC90ZXN0X2dldHRleHQucHkKaW5kZXggYWJiMzEyZi4uYzdjZWIzZiAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9nZXR0ZXh0LnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfZ2V0dGV4dC5weQpAQCAtMzMsNiArMzMsNTUgQEAKIGNpQlVRVWdLZEhKblozSnJaeUI2Y21abWJuUnlJSEJ1WjI1NVluUWdlWFp2Wlc1bGJDNEFZbUZqYjI0QWQybHVheUIzYVc1ckFBPT0KICcnJwogCisjIFRoaXMgZGF0YSBjb250YWlucyBhbiBpbnZhbGlkIG1ham9yIHZlcnNpb24gbnVtYmVyICg1KQorIyBBbiB1bmV4cGVjdGVkIG1ham9yIHZlcnNpb24gbnVtYmVyIHNob3VsZCBiZSB0cmVhdGVkIGFzIGFuIGVycm9yIHdoZW4KKyMgcGFyc2luZyBhIC5tbyBmaWxlCisKK0dOVV9NT19EQVRBX0JBRF9NQUpPUl9WRVJTSU9OID0gYicnJ1wKKzNoSUVsUUFBQlFBR0FBQUFIQUFBQUV3QUFBQUxBQUFBZkFBQUFBQUFBQUNvQUFBQUZRQUFBS2tBQUFBakFBQUF2d0FBQUtFQUFBRGoKK0FBQUFCd0FBQUlVQkFBQUxBQUFBalFFQUFFVUJBQUNaQVFBQUZnQUFBTjhDQUFBZUFBQUE5Z0lBQUtFQUFBQVZBd0FBQlFBQUFMY0QKK0FBQUpBQUFBdlFNQUFBRUFBQUFEQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUVBQUFBQlFBQUFBWUFBQUFDQUFBQUFGSmgKK2VXMXZibVFnVEhWNGRYSjVJRmxoWTJndGRBQlVhR1Z5WlNCcGN5QWxjeUJtYVd4bEFGUm9aWEpsSUdGeVpTQWxjeUJtYVd4bGN3QlUKK2FHbHpJRzF2WkhWc1pTQndjbTkyYVdSbGN5QnBiblJsY201aGRHbHZibUZzYVhwaGRHbHZiaUJoYm1RZ2JHOWpZV3hwZW1GMGFXOXUKK0NuTjFjSEJ2Y25RZ1ptOXlJSGx2ZFhJZ1VIbDBhRzl1SUhCeWIyZHlZVzF6SUdKNUlIQnliM1pwWkdsdVp5QmhiaUJwYm5SbGNtWmgKK1kyVWdkRzhnZEdobElFZE9WUXBuWlhSMFpYaDBJRzFsYzNOaFoyVWdZMkYwWVd4dlp5QnNhV0p5WVhKNUxnQnRkV3hzZFhOckFHNTEKK1pHZGxJRzUxWkdkbEFGQnliMnBsWTNRdFNXUXRWbVZ5YzJsdmJqb2dNaTR3Q2xCUExWSmxkbWx6YVc5dUxVUmhkR1U2SURJd01EQXQKK01EZ3RNamtnTVRJNk1Ua3RNRFE2TURBS1RHRnpkQzFVY21GdWMyeGhkRzl5T2lCS0xpQkVZWFpwWkNCSllzT2h3N0ZsZWlBOGFpMWsKK1lYWnBaRUJ1YjI5ekxtWnlQZ3BNWVc1bmRXRm5aUzFVWldGdE9pQllXQ0E4Y0hsMGFHOXVMV1JsZGtCd2VYUm9iMjR1YjNKblBncE4KK1NVMUZMVlpsY25OcGIyNDZJREV1TUFwRGIyNTBaVzUwTFZSNWNHVTZJSFJsZUhRdmNHeGhhVzQ3SUdOb1lYSnpaWFE5YVhOdkxUZzQKK05Ua3RNUXBEYjI1MFpXNTBMVlJ5WVc1elptVnlMVVZ1WTI5a2FXNW5PaUJ1YjI1bENrZGxibVZ5WVhSbFpDMUNlVG9nY0hsblpYUjAKK1pYaDBMbkI1SURFdU1RcFFiSFZ5WVd3dFJtOXliWE02SUc1d2JIVnlZV3h6UFRJN0lIQnNkWEpoYkQxdUlUMHhPd29BVkdoeWIyRjAKK2QyOWlZbXhsY2lCTllXNW5jbTkyWlFCSVlYa2dKWE1nWm1samFHVnlid0JJWVhrZ0pYTWdabWxqYUdWeWIzTUFSM1YyWmlCNlluRm8KK2VYSWdZMlZpYVhaeGNtWWdkbUZuY21WaGJtZDJZbUZ1ZVhadGJtZDJZbUVnYm1GeElIbGljRzU1ZG0xdVozWmlZUXBtYUdOalltVm4KK0lITmlaU0JzWW1obElFTnNaM1ZpWVNCalpXSjBaVzU2WmlCdmJDQmpaV0pwZG5GMllYUWdibUVnZG1GbmNtVnpibkJ5SUdkaUlHZDEKK2NpQlVRVWdLZEhKblozSnJaeUI2Y21abWJuUnlJSEJ1WjI1NVluUWdlWFp2Wlc1bGJDNEFZbUZqYjI0QWQybHVheUIzYVc1ckFBPT0KKycnJworCisjIFRoaXMgZGF0YSBjb250YWlucyBhbiBpbnZhbGlkIG1pbm9yIHZlcnNpb24gbnVtYmVyICg3KQorIyBBbiB1bmV4cGVjdGVkIG1pbm9yIHZlcnNpb24gbnVtYmVyIG9ubHkgaW5kaWNhdGVzIHRoYXQgc29tZSBvZiB0aGUgZmlsZSdzCisjIGNvbnRlbnRzIG1heSBub3QgYmUgYWJsZSB0byBiZSByZWFkLiBJdCBkb2VzIG5vdCBpbmRpY2F0ZSBhbiBlcnJvci4KKworR05VX01PX0RBVEFfQkFEX01JTk9SX1ZFUlNJT04gPSBiJycnXAorM2hJRWxRY0FBQUFHQUFBQUhBQUFBRXdBQUFBTEFBQUFmQUFBQUFBQUFBQ29BQUFBRlFBQUFLa0FBQUFqQUFBQXZ3QUFBS0VBQUFEagorQUFBQUJ3QUFBSVVCQUFBTEFBQUFqUUVBQUVVQkFBQ1pBUUFBRmdBQUFOOENBQUFlQUFBQTlnSUFBS0VBQUFBVkF3QUFCUUFBQUxjRAorQUFBSkFBQUF2UU1BQUFFQUFBQURBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRUFBQUFCUUFBQUFZQUFBQUNBQUFBQUZKaAorZVcxdmJtUWdUSFY0ZFhKNUlGbGhZMmd0ZEFCVWFHVnlaU0JwY3lBbGN5Qm1hV3hsQUZSb1pYSmxJR0Z5WlNBbGN5Qm1hV3hsY3dCVQorYUdseklHMXZaSFZzWlNCd2NtOTJhV1JsY3lCcGJuUmxjbTVoZEdsdmJtRnNhWHBoZEdsdmJpQmhibVFnYkc5allXeHBlbUYwYVc5dQorQ25OMWNIQnZjblFnWm05eUlIbHZkWElnVUhsMGFHOXVJSEJ5YjJkeVlXMXpJR0o1SUhCeWIzWnBaR2x1WnlCaGJpQnBiblJsY21aaAorWTJVZ2RHOGdkR2hsSUVkT1ZRcG5aWFIwWlhoMElHMWxjM05oWjJVZ1kyRjBZV3h2WnlCc2FXSnlZWEo1TGdCdGRXeHNkWE5yQUc1MQorWkdkbElHNTFaR2RsQUZCeWIycGxZM1F0U1dRdFZtVnljMmx2YmpvZ01pNHdDbEJQTFZKbGRtbHphVzl1TFVSaGRHVTZJREl3TURBdAorTURndE1qa2dNVEk2TVRrdE1EUTZNREFLVEdGemRDMVVjbUZ1YzJ4aGRHOXlPaUJLTGlCRVlYWnBaQ0JKWXNPaHc3RmxlaUE4YWkxaworWVhacFpFQnViMjl6TG1aeVBncE1ZVzVuZFdGblpTMVVaV0Z0T2lCWVdDQThjSGwwYUc5dUxXUmxka0J3ZVhSb2IyNHViM0puUGdwTgorU1UxRkxWWmxjbk5wYjI0NklERXVNQXBEYjI1MFpXNTBMVlI1Y0dVNklIUmxlSFF2Y0d4aGFXNDdJR05vWVhKelpYUTlhWE52TFRnNAorTlRrdE1RcERiMjUwWlc1MExWUnlZVzV6Wm1WeUxVVnVZMjlrYVc1bk9pQnViMjVsQ2tkbGJtVnlZWFJsWkMxQ2VUb2djSGxuWlhSMAorWlhoMExuQjVJREV1TVFwUWJIVnlZV3d0Um05eWJYTTZJRzV3YkhWeVlXeHpQVEk3SUhCc2RYSmhiRDF1SVQweE93b0FWR2h5YjJGMAorZDI5aVlteGxjaUJOWVc1bmNtOTJaUUJJWVhrZ0pYTWdabWxqYUdWeWJ3QklZWGtnSlhNZ1ptbGphR1Z5YjNNQVIzVjJaaUI2WW5GbworZVhJZ1kyVmlhWFp4Y21ZZ2RtRm5jbVZoYm1kMlltRnVlWFp0Ym1kMlltRWdibUZ4SUhsaWNHNTVkbTF1WjNaaVlRcG1hR05qWW1WbgorSUhOaVpTQnNZbWhsSUVOc1ozVmlZU0JqWldKMFpXNTZaaUJ2YkNCalpXSnBkbkYyWVhRZ2JtRWdkbUZuY21WemJuQnlJR2RpSUdkMQorY2lCVVFVZ0tkSEpuWjNKclp5QjZjbVptYm5SeUlIQnVaMjU1WW5RZ2VYWnZaVzVsYkM0QVltRmpiMjRBZDJsdWF5QjNhVzVyQUE9PQorJycnCisKKwogVU1PX0RBVEEgPSBiJycnXAogM2hJRWxRQUFBQUFDQUFBQUhBQUFBQ3dBQUFBRkFBQUFQQUFBQUFBQUFBQlFBQUFBQkFBQUFGRUFBQUFQQVFBQVZnQUFBQVFBQUFCbQogQVFBQUFRQUFBQUlBQUFBQUFBQUFBQUFBQUFBQUFBQUFZV0xEbmdCUWNtOXFaV04wTFVsa0xWWmxjbk5wYjI0NklESXVNQXBRVHkxUwpAQCAtNTYsNiArMTA1LDggQEAKIAogTE9DQUxFRElSID0gb3MucGF0aC5qb2luKCd4eCcsICdMQ19NRVNTQUdFUycpCiBNT0ZJTEUgPSBvcy5wYXRoLmpvaW4oTE9DQUxFRElSLCAnZ2V0dGV4dC5tbycpCitNT0ZJTEVfQkFEX01BSk9SX1ZFUlNJT04gPSBvcy5wYXRoLmpvaW4oTE9DQUxFRElSLCAnZ2V0dGV4dF9iYWRfbWFqb3JfdmVyc2lvbi5tbycpCitNT0ZJTEVfQkFEX01JTk9SX1ZFUlNJT04gPSBvcy5wYXRoLmpvaW4oTE9DQUxFRElSLCAnZ2V0dGV4dF9iYWRfbWlub3JfdmVyc2lvbi5tbycpCiBVTU9GSUxFID0gb3MucGF0aC5qb2luKExPQ0FMRURJUiwgJ3VnZXR0ZXh0Lm1vJykKIE1NT0ZJTEUgPSBvcy5wYXRoLmpvaW4oTE9DQUxFRElSLCAnbWV0YWRhdGEubW8nKQogCkBAIC02Niw2ICsxMTcsMTAgQEAKICAgICAgICAgICAgIG9zLm1ha2VkaXJzKExPQ0FMRURJUikKICAgICAgICAgd2l0aCBvcGVuKE1PRklMRSwgJ3diJykgYXMgZnA6CiAgICAgICAgICAgICBmcC53cml0ZShiYXNlNjQuZGVjb2RlYnl0ZXMoR05VX01PX0RBVEEpKQorICAgICAgICB3aXRoIG9wZW4oTU9GSUxFX0JBRF9NQUpPUl9WRVJTSU9OLCAnd2InKSBhcyBmcDoKKyAgICAgICAgICAgIGZwLndyaXRlKGJhc2U2NC5kZWNvZGVieXRlcyhHTlVfTU9fREFUQV9CQURfTUFKT1JfVkVSU0lPTikpCisgICAgICAgIHdpdGggb3BlbihNT0ZJTEVfQkFEX01JTk9SX1ZFUlNJT04sICd3YicpIGFzIGZwOgorICAgICAgICAgICAgZnAud3JpdGUoYmFzZTY0LmRlY29kZWJ5dGVzKEdOVV9NT19EQVRBX0JBRF9NSU5PUl9WRVJTSU9OKSkKICAgICAgICAgd2l0aCBvcGVuKFVNT0ZJTEUsICd3YicpIGFzIGZwOgogICAgICAgICAgICAgZnAud3JpdGUoYmFzZTY0LmRlY29kZWJ5dGVzKFVNT19EQVRBKSkKICAgICAgICAgd2l0aCBvcGVuKE1NT0ZJTEUsICd3YicpIGFzIGZwOgpAQCAtMTY2LDYgKzIyMSwyMSBAQAogICAgIGRlZiB0ZXN0X3RleHRkb21haW4oc2VsZik6CiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZ2V0dGV4dC50ZXh0ZG9tYWluKCksICdnZXR0ZXh0JykKIAorICAgIGRlZiB0ZXN0X2JhZF9tYWpvcl92ZXJzaW9uKHNlbGYpOgorICAgICAgICB3aXRoIG9wZW4oTU9GSUxFX0JBRF9NQUpPUl9WRVJTSU9OLCAncmInKSBhcyBmcDoKKyAgICAgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoT1NFcnJvcikgYXMgY206CisgICAgICAgICAgICAgICAgZ2V0dGV4dC5HTlVUcmFuc2xhdGlvbnMoZnApCisKKyAgICAgICAgICAgIGV4Y2VwdGlvbiA9IGNtLmV4Y2VwdGlvbgorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChleGNlcHRpb24uZXJybm8sIDApCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGV4Y2VwdGlvbi5zdHJlcnJvciwgIkJhZCB2ZXJzaW9uIG51bWJlciA1IikKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZXhjZXB0aW9uLmZpbGVuYW1lLCBNT0ZJTEVfQkFEX01BSk9SX1ZFUlNJT04pCisKKyAgICBkZWYgdGVzdF9iYWRfbWlub3JfdmVyc2lvbihzZWxmKToKKyAgICAgICAgd2l0aCBvcGVuKE1PRklMRV9CQURfTUlOT1JfVkVSU0lPTiwgJ3JiJykgYXMgZnA6CisgICAgICAgICAgICAjIENoZWNrIHRoYXQgbm8gZXJyb3IgaXMgdGhyb3duIHdpdGggYSBiYWQgbWlub3IgdmVyc2lvbiBudW1iZXIKKyAgICAgICAgICAgIGdldHRleHQuR05VVHJhbnNsYXRpb25zKGZwKQorCiAgICAgZGVmIHRlc3Rfc29tZV90cmFuc2xhdGlvbnMoc2VsZik6CiAgICAgICAgIGVxID0gc2VsZi5hc3NlcnRFcXVhbAogICAgICAgICAjIHRlc3Qgc29tZSB0cmFuc2xhdGlvbnMKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfZ2xvYi5weSBiL0xpYi90ZXN0L3Rlc3RfZ2xvYi5weQppbmRleCBhNWFiOGQ2Li4yMWIwMTUzIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2dsb2IucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9nbG9iLnB5CkBAIC00LDggKzQsOCBAQAogaW1wb3J0IHN5cwogaW1wb3J0IHVuaXR0ZXN0CiAKLWZyb20gdGVzdC5zdXBwb3J0IGltcG9ydCAocnVuX3VuaXR0ZXN0LCBURVNURk4sIHNraXBfdW5sZXNzX3N5bWxpbmssCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGNhbl9zeW1saW5rLCBjcmVhdGVfZW1wdHlfZmlsZSkKK2Zyb20gdGVzdC5zdXBwb3J0IGltcG9ydCAoVEVTVEZOLCBza2lwX3VubGVzc19zeW1saW5rLAorICAgICAgICAgICAgICAgICAgICAgICAgICBjYW5fc3ltbGluaywgY3JlYXRlX2VtcHR5X2ZpbGUsIGNoYW5nZV9jd2QpCiAKIAogY2xhc3MgR2xvYlRlc3RzKHVuaXR0ZXN0LlRlc3RDYXNlKToKQEAgLTEzLDYgKzEzLDkgQEAKICAgICBkZWYgbm9ybShzZWxmLCAqcGFydHMpOgogICAgICAgICByZXR1cm4gb3MucGF0aC5ub3JtcGF0aChvcy5wYXRoLmpvaW4oc2VsZi50ZW1wZGlyLCAqcGFydHMpKQogCisgICAgZGVmIGpvaW5zKHNlbGYsICp0dXBsZXMpOgorICAgICAgICByZXR1cm4gW29zLnBhdGguam9pbihzZWxmLnRlbXBkaXIsICpwYXJ0cykgZm9yIHBhcnRzIGluIHR1cGxlc10KKwogICAgIGRlZiBta3RlbXAoc2VsZiwgKnBhcnRzKToKICAgICAgICAgZmlsZW5hbWUgPSBzZWxmLm5vcm0oKnBhcnRzKQogICAgICAgICBiYXNlLCBmaWxlID0gb3MucGF0aC5zcGxpdChmaWxlbmFtZSkKQEAgLTM4LDE3ICs0MSwxNyBAQAogICAgIGRlZiB0ZWFyRG93bihzZWxmKToKICAgICAgICAgc2h1dGlsLnJtdHJlZShzZWxmLnRlbXBkaXIpCiAKLSAgICBkZWYgZ2xvYihzZWxmLCAqcGFydHMpOgorICAgIGRlZiBnbG9iKHNlbGYsICpwYXJ0cywgKiprd2FyZ3MpOgogICAgICAgICBpZiBsZW4ocGFydHMpID09IDE6CiAgICAgICAgICAgICBwYXR0ZXJuID0gcGFydHNbMF0KICAgICAgICAgZWxzZToKICAgICAgICAgICAgIHBhdHRlcm4gPSBvcy5wYXRoLmpvaW4oKnBhcnRzKQogICAgICAgICBwID0gb3MucGF0aC5qb2luKHNlbGYudGVtcGRpciwgcGF0dGVybikKLSAgICAgICAgcmVzID0gZ2xvYi5nbG9iKHApCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGlzdChnbG9iLmlnbG9iKHApKSwgcmVzKQorICAgICAgICByZXMgPSBnbG9iLmdsb2IocCwgKiprd2FyZ3MpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGlzdChnbG9iLmlnbG9iKHAsICoqa3dhcmdzKSksIHJlcykKICAgICAgICAgYnJlcyA9IFtvcy5mc2VuY29kZSh4KSBmb3IgeCBpbiByZXNdCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZ2xvYi5nbG9iKG9zLmZzZW5jb2RlKHApKSwgYnJlcykKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsaXN0KGdsb2IuaWdsb2Iob3MuZnNlbmNvZGUocCkpKSwgYnJlcykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChnbG9iLmdsb2Iob3MuZnNlbmNvZGUocCksICoqa3dhcmdzKSwgYnJlcykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsaXN0KGdsb2IuaWdsb2Iob3MuZnNlbmNvZGUocCksICoqa3dhcmdzKSksIGJyZXMpCiAgICAgICAgIHJldHVybiByZXMKIAogICAgIGRlZiBhc3NlcnRTZXF1ZW5jZXNFcXVhbF9ub29yZGVyKHNlbGYsIGwxLCBsMik6CkBAIC0xOTIsOSArMTk1LDExOCBAQAogICAgICAgICBjaGVjaygnLy8/L2M6Lz8nLCAnLy8/L2M6L1s/XScpCiAgICAgICAgIGNoZWNrKCcvLyovKi8qJywgJy8vKi8qL1sqXScpCiAKLWRlZiB0ZXN0X21haW4oKToKLSAgICBydW5fdW5pdHRlc3QoR2xvYlRlc3RzKQorICAgIGRlZiByZ2xvYihzZWxmLCAqcGFydHMsICoqa3dhcmdzKToKKyAgICAgICAgcmV0dXJuIHNlbGYuZ2xvYigqcGFydHMsIHJlY3Vyc2l2ZT1UcnVlLCAqKmt3YXJncykKKworICAgIGRlZiB0ZXN0X3JlY3Vyc2l2ZV9nbG9iKHNlbGYpOgorICAgICAgICBlcSA9IHNlbGYuYXNzZXJ0U2VxdWVuY2VzRXF1YWxfbm9vcmRlcgorICAgICAgICBmdWxsID0gWygnWlpaJywpLAorICAgICAgICAgICAgICAgICgnYScsKSwgKCdhJywgJ0QnKSwKKyAgICAgICAgICAgICAgICAoJ2EnLCAnYmNkJyksCisgICAgICAgICAgICAgICAgKCdhJywgJ2JjZCcsICdFRicpLAorICAgICAgICAgICAgICAgICgnYScsICdiY2QnLCAnZWZnJyksCisgICAgICAgICAgICAgICAgKCdhJywgJ2JjZCcsICdlZmcnLCAnaGEnKSwKKyAgICAgICAgICAgICAgICAoJ2FhYScsKSwgKCdhYWEnLCAnenp6RicpLAorICAgICAgICAgICAgICAgICgnYWFiJywpLCAoJ2FhYicsICdGJyksCisgICAgICAgICAgICAgICBdCisgICAgICAgIGlmIGNhbl9zeW1saW5rKCk6CisgICAgICAgICAgICBmdWxsICs9IFsoJ3N5bTEnLCksICgnc3ltMicsKSwKKyAgICAgICAgICAgICAgICAgICAgICgnc3ltMycsKSwKKyAgICAgICAgICAgICAgICAgICAgICgnc3ltMycsICdFRicpLAorICAgICAgICAgICAgICAgICAgICAgKCdzeW0zJywgJ2VmZycpLAorICAgICAgICAgICAgICAgICAgICAgKCdzeW0zJywgJ2VmZycsICdoYScpLAorICAgICAgICAgICAgICAgICAgICBdCisgICAgICAgIGVxKHNlbGYucmdsb2IoJyoqJyksIHNlbGYuam9pbnMoKCcnLCksICpmdWxsKSkKKyAgICAgICAgZXEoc2VsZi5yZ2xvYignLicsICcqKicpLCBzZWxmLmpvaW5zKCgnLicsJycpLAorICAgICAgICAgICAgKigoJy4nLCkgKyBpIGZvciBpIGluIGZ1bGwpKSkKKyAgICAgICAgZGlycyA9IFsoJ2EnLCAnJyksICgnYScsICdiY2QnLCAnJyksICgnYScsICdiY2QnLCAnZWZnJywgJycpLAorICAgICAgICAgICAgICAgICgnYWFhJywgJycpLCAoJ2FhYicsICcnKV0KKyAgICAgICAgaWYgY2FuX3N5bWxpbmsoKToKKyAgICAgICAgICAgIGRpcnMgKz0gWygnc3ltMycsICcnKSwgKCdzeW0zJywgJ2VmZycsICcnKV0KKyAgICAgICAgZXEoc2VsZi5yZ2xvYignKionLCAnJyksIHNlbGYuam9pbnMoKCcnLCksICpkaXJzKSkKKworICAgICAgICBlcShzZWxmLnJnbG9iKCdhJywgJyoqJyksIHNlbGYuam9pbnMoCisgICAgICAgICAgICAoJ2EnLCAnJyksICgnYScsICdEJyksICgnYScsICdiY2QnKSwgKCdhJywgJ2JjZCcsICdFRicpLAorICAgICAgICAgICAgKCdhJywgJ2JjZCcsICdlZmcnKSwgKCdhJywgJ2JjZCcsICdlZmcnLCAnaGEnKSkpCisgICAgICAgIGVxKHNlbGYucmdsb2IoJ2EqKicpLCBzZWxmLmpvaW5zKCgnYScsKSwgKCdhYWEnLCksICgnYWFiJywpKSkKKyAgICAgICAgZXhwZWN0ID0gWygnYScsICdiY2QnLCAnRUYnKV0KKyAgICAgICAgaWYgY2FuX3N5bWxpbmsoKToKKyAgICAgICAgICAgIGV4cGVjdCArPSBbKCdzeW0zJywgJ0VGJyldCisgICAgICAgIGVxKHNlbGYucmdsb2IoJyoqJywgJ0VGJyksIHNlbGYuam9pbnMoKmV4cGVjdCkpCisgICAgICAgIGV4cGVjdCA9IFsoJ2EnLCAnYmNkJywgJ0VGJyksICgnYWFhJywgJ3p6ekYnKSwgKCdhYWInLCAnRicpXQorICAgICAgICBpZiBjYW5fc3ltbGluaygpOgorICAgICAgICAgICAgZXhwZWN0ICs9IFsoJ3N5bTMnLCAnRUYnKV0KKyAgICAgICAgZXEoc2VsZi5yZ2xvYignKionLCAnKkYnKSwgc2VsZi5qb2lucygqZXhwZWN0KSkKKyAgICAgICAgZXEoc2VsZi5yZ2xvYignKionLCAnKkYnLCAnJyksIFtdKQorICAgICAgICBlcShzZWxmLnJnbG9iKCcqKicsICdiY2QnLCAnKicpLCBzZWxmLmpvaW5zKAorICAgICAgICAgICAgKCdhJywgJ2JjZCcsICdFRicpLCAoJ2EnLCAnYmNkJywgJ2VmZycpKSkKKyAgICAgICAgZXEoc2VsZi5yZ2xvYignYScsICcqKicsICdiY2QnKSwgc2VsZi5qb2lucygoJ2EnLCAnYmNkJykpKQorCisgICAgICAgIHByZWRpciA9IG9zLnBhdGguYWJzcGF0aChvcy5jdXJkaXIpCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIG9zLmNoZGlyKHNlbGYudGVtcGRpcikKKyAgICAgICAgICAgIGpvaW4gPSBvcy5wYXRoLmpvaW4KKyAgICAgICAgICAgIGVxKGdsb2IuZ2xvYignKionLCByZWN1cnNpdmU9VHJ1ZSksIFtqb2luKCppKSBmb3IgaSBpbiBmdWxsXSkKKyAgICAgICAgICAgIGVxKGdsb2IuZ2xvYihqb2luKCcqKicsICcnKSwgcmVjdXJzaXZlPVRydWUpLAorICAgICAgICAgICAgICAgIFtqb2luKCppKSBmb3IgaSBpbiBkaXJzXSkKKyAgICAgICAgICAgIGVxKGdsb2IuZ2xvYihqb2luKCcqKicsJ3p6KkYnKSwgcmVjdXJzaXZlPVRydWUpLAorICAgICAgICAgICAgICAgIFtqb2luKCdhYWEnLCAnenp6RicpXSkKKyAgICAgICAgICAgIGVxKGdsb2IuZ2xvYignKip6eipGJywgcmVjdXJzaXZlPVRydWUpLCBbXSkKKyAgICAgICAgICAgIGV4cGVjdCA9IFtqb2luKCdhJywgJ2JjZCcsICdFRicpXQorICAgICAgICAgICAgaWYgY2FuX3N5bWxpbmsoKToKKyAgICAgICAgICAgICAgICBleHBlY3QgKz0gW2pvaW4oJ3N5bTMnLCAnRUYnKV0KKyAgICAgICAgICAgIGVxKGdsb2IuZ2xvYihqb2luKCcqKicsICdFRicpLCByZWN1cnNpdmU9VHJ1ZSksIGV4cGVjdCkKKyAgICAgICAgZmluYWxseToKKyAgICAgICAgICAgIG9zLmNoZGlyKHByZWRpcikKKworCitAc2tpcF91bmxlc3Nfc3ltbGluaworY2xhc3MgU3ltbGlua0xvb3BHbG9iVGVzdHModW5pdHRlc3QuVGVzdENhc2UpOgorCisgICAgZGVmIHRlc3Rfc2VsZmxpbmsoc2VsZik6CisgICAgICAgIHRlbXBkaXIgPSBURVNURk4gKyAiX2RpciIKKyAgICAgICAgb3MubWFrZWRpcnModGVtcGRpcikKKyAgICAgICAgc2VsZi5hZGRDbGVhbnVwKHNodXRpbC5ybXRyZWUsIHRlbXBkaXIpCisgICAgICAgIHdpdGggY2hhbmdlX2N3ZCh0ZW1wZGlyKToKKyAgICAgICAgICAgIG9zLm1ha2VkaXJzKCdkaXInKQorICAgICAgICAgICAgY3JlYXRlX2VtcHR5X2ZpbGUob3MucGF0aC5qb2luKCdkaXInLCAnZmlsZScpKQorICAgICAgICAgICAgb3Muc3ltbGluayhvcy5jdXJkaXIsIG9zLnBhdGguam9pbignZGlyJywgJ2xpbmsnKSkKKworICAgICAgICAgICAgcmVzdWx0cyA9IGdsb2IuZ2xvYignKionLCByZWN1cnNpdmU9VHJ1ZSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKHJlc3VsdHMpLCBsZW4oc2V0KHJlc3VsdHMpKSkKKyAgICAgICAgICAgIHJlc3VsdHMgPSBzZXQocmVzdWx0cykKKyAgICAgICAgICAgIGRlcHRoID0gMAorICAgICAgICAgICAgd2hpbGUgcmVzdWx0czoKKyAgICAgICAgICAgICAgICBwYXRoID0gb3MucGF0aC5qb2luKCooWydkaXInXSArIFsnbGluayddICogZGVwdGgpKQorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0SW4ocGF0aCwgcmVzdWx0cykKKyAgICAgICAgICAgICAgICByZXN1bHRzLnJlbW92ZShwYXRoKQorICAgICAgICAgICAgICAgIGlmIG5vdCByZXN1bHRzOgorICAgICAgICAgICAgICAgICAgICBicmVhaworICAgICAgICAgICAgICAgIHBhdGggPSBvcy5wYXRoLmpvaW4ocGF0aCwgJ2ZpbGUnKQorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0SW4ocGF0aCwgcmVzdWx0cykKKyAgICAgICAgICAgICAgICByZXN1bHRzLnJlbW92ZShwYXRoKQorICAgICAgICAgICAgICAgIGRlcHRoICs9IDEKKworICAgICAgICAgICAgcmVzdWx0cyA9IGdsb2IuZ2xvYihvcy5wYXRoLmpvaW4oJyoqJywgJ2ZpbGUnKSwgcmVjdXJzaXZlPVRydWUpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihyZXN1bHRzKSwgbGVuKHNldChyZXN1bHRzKSkpCisgICAgICAgICAgICByZXN1bHRzID0gc2V0KHJlc3VsdHMpCisgICAgICAgICAgICBkZXB0aCA9IDAKKyAgICAgICAgICAgIHdoaWxlIHJlc3VsdHM6CisgICAgICAgICAgICAgICAgcGF0aCA9IG9zLnBhdGguam9pbigqKFsnZGlyJ10gKyBbJ2xpbmsnXSAqIGRlcHRoICsgWydmaWxlJ10pKQorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0SW4ocGF0aCwgcmVzdWx0cykKKyAgICAgICAgICAgICAgICByZXN1bHRzLnJlbW92ZShwYXRoKQorICAgICAgICAgICAgICAgIGRlcHRoICs9IDEKKworICAgICAgICAgICAgcmVzdWx0cyA9IGdsb2IuZ2xvYihvcy5wYXRoLmpvaW4oJyoqJywgJycpLCByZWN1cnNpdmU9VHJ1ZSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKHJlc3VsdHMpLCBsZW4oc2V0KHJlc3VsdHMpKSkKKyAgICAgICAgICAgIHJlc3VsdHMgPSBzZXQocmVzdWx0cykKKyAgICAgICAgICAgIGRlcHRoID0gMAorICAgICAgICAgICAgd2hpbGUgcmVzdWx0czoKKyAgICAgICAgICAgICAgICBwYXRoID0gb3MucGF0aC5qb2luKCooWydkaXInXSArIFsnbGluayddICogZGVwdGggKyBbJyddKSkKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEluKHBhdGgsIHJlc3VsdHMpCisgICAgICAgICAgICAgICAgcmVzdWx0cy5yZW1vdmUocGF0aCkKKyAgICAgICAgICAgICAgICBkZXB0aCArPSAxCiAKIAogaWYgX19uYW1lX18gPT0gIl9fbWFpbl9fIjoKLSAgICB0ZXN0X21haW4oKQorICAgIHVuaXR0ZXN0Lm1haW4oKQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9ncmFtbWFyLnB5IGIvTGliL3Rlc3QvdGVzdF9ncmFtbWFyLnB5CmluZGV4IDcwZDg1YjEuLjcwNjlmYjkgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfZ3JhbW1hci5weQorKysgYi9MaWIvdGVzdC90ZXN0X2dyYW1tYXIucHkKQEAgLTEwMTYsNiArMTAxNiwyMCBAQAogICAgICAgICBzZWxmLmFzc2VydEZhbHNlKChGYWxzZSBpcyAyKSBpcyAzKQogICAgICAgICBzZWxmLmFzc2VydEZhbHNlKEZhbHNlIGlzIDIgaXMgMykKIAorICAgIGRlZiB0ZXN0X21hdHJpeF9tdWwoc2VsZik6CisgICAgICAgICMgVGhpcyBpcyBub3QgaW50ZW5kZWQgdG8gYmUgYSBjb21wcmVoZW5zaXZlIHRlc3QsIHJhdGhlciBqdXN0IHRvIGJlIGZldworICAgICAgICAjIHNhbXBsZXMgb2YgdGhlIEAgb3BlcmF0b3IgaW4gdGVzdF9ncmFtbWFyLnB5LgorICAgICAgICBjbGFzcyBNOgorICAgICAgICAgICAgZGVmIF9fbWF0bXVsX18oc2VsZiwgbyk6CisgICAgICAgICAgICAgICAgcmV0dXJuIDQKKyAgICAgICAgICAgIGRlZiBfX2ltYXRtdWxfXyhzZWxmLCBvKToKKyAgICAgICAgICAgICAgICBzZWxmLm90aGVyID0gbworICAgICAgICAgICAgICAgIHJldHVybiBzZWxmCisgICAgICAgIG0gPSBNKCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtIEAgbSwgNCkKKyAgICAgICAgbSBAPSA0MgorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG0ub3RoZXIsIDQyKQorCiAKIGRlZiB0ZXN0X21haW4oKToKICAgICBydW5fdW5pdHRlc3QoVG9rZW5UZXN0cywgR3JhbW1hclRlc3RzKQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9oZWFwcS5weSBiL0xpYi90ZXN0L3Rlc3RfaGVhcHEucHkKaW5kZXggYjVhMmZkOC4uMGRjZDhjNSAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9oZWFwcS5weQorKysgYi9MaWIvdGVzdC90ZXN0X2hlYXBxLnB5CkBAIC02LDE0ICs2LDE1IEBACiAKIGZyb20gdGVzdCBpbXBvcnQgc3VwcG9ydAogZnJvbSB1bml0dGVzdCBpbXBvcnQgVGVzdENhc2UsIHNraXBVbmxlc3MKK2Zyb20gb3BlcmF0b3IgaW1wb3J0IGl0ZW1nZXR0ZXIKIAogcHlfaGVhcHEgPSBzdXBwb3J0LmltcG9ydF9mcmVzaF9tb2R1bGUoJ2hlYXBxJywgYmxvY2tlZD1bJ19oZWFwcSddKQogY19oZWFwcSA9IHN1cHBvcnQuaW1wb3J0X2ZyZXNoX21vZHVsZSgnaGVhcHEnLCBmcmVzaD1bJ19oZWFwcSddKQogCiAjIF9oZWFwcS5ubGFyZ2VzdC9uc21hbGxlc3QgYXJlIHNhdmVkIGluIGhlYXBxLl9ubGFyZ2VzdC9fc21hbGxlc3Qgd2hlbgogIyBfaGVhcHEgaXMgaW1wb3J0ZWQsIHNvIGNoZWNrIHRoZW0gdGhlcmUKLWZ1bmNfbmFtZXMgPSBbJ2hlYXBpZnknLCAnaGVhcHBvcCcsICdoZWFwcHVzaCcsICdoZWFwcHVzaHBvcCcsCi0gICAgICAgICAgICAgICdoZWFwcmVwbGFjZScsICdfbmxhcmdlc3QnLCAnX25zbWFsbGVzdCddCitmdW5jX25hbWVzID0gWydoZWFwaWZ5JywgJ2hlYXBwb3AnLCAnaGVhcHB1c2gnLCAnaGVhcHB1c2hwb3AnLCAnaGVhcHJlcGxhY2UnLAorICAgICAgICAgICAgICAnX2hlYXBwb3BfbWF4JywgJ19oZWFwcmVwbGFjZV9tYXgnLCAnX2hlYXBpZnlfbWF4J10KIAogY2xhc3MgVGVzdE1vZHVsZXMoVGVzdENhc2UpOgogICAgIGRlZiB0ZXN0X3B5X2Z1bmN0aW9ucyhzZWxmKToKQEAgLTE1MiwxMSArMTUzLDIxIEBACiAKICAgICBkZWYgdGVzdF9tZXJnZShzZWxmKToKICAgICAgICAgaW5wdXRzID0gW10KLSAgICAgICAgZm9yIGkgaW4gcmFuZ2UocmFuZG9tLnJhbmRyYW5nZSg1KSk6Ci0gICAgICAgICAgICByb3cgPSBzb3J0ZWQocmFuZG9tLnJhbmRyYW5nZSgxMDAwKSBmb3IgaiBpbiByYW5nZShyYW5kb20ucmFuZHJhbmdlKDEwKSkpCisgICAgICAgIGZvciBpIGluIHJhbmdlKHJhbmRvbS5yYW5kcmFuZ2UoMjUpKToKKyAgICAgICAgICAgIHJvdyA9IFtdCisgICAgICAgICAgICBmb3IgaiBpbiByYW5nZShyYW5kb20ucmFuZHJhbmdlKDEwMCkpOgorICAgICAgICAgICAgICAgIHR1cCA9IHJhbmRvbS5jaG9pY2UoJ0FCQycpLCByYW5kb20ucmFuZHJhbmdlKC01MDAsIDUwMCkKKyAgICAgICAgICAgICAgICByb3cuYXBwZW5kKHR1cCkKICAgICAgICAgICAgIGlucHV0cy5hcHBlbmQocm93KQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNvcnRlZChjaGFpbigqaW5wdXRzKSksIGxpc3Qoc2VsZi5tb2R1bGUubWVyZ2UoKmlucHV0cykpKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxpc3Qoc2VsZi5tb2R1bGUubWVyZ2UoKSksIFtdKQorCisgICAgICAgIGZvciBrZXkgaW4gW05vbmUsIGl0ZW1nZXR0ZXIoMCksIGl0ZW1nZXR0ZXIoMSksIGl0ZW1nZXR0ZXIoMSwgMCldOgorICAgICAgICAgICAgZm9yIHJldmVyc2UgaW4gW0ZhbHNlLCBUcnVlXToKKyAgICAgICAgICAgICAgICBzZXFzID0gW10KKyAgICAgICAgICAgICAgICBmb3Igc2VxIGluIGlucHV0czoKKyAgICAgICAgICAgICAgICAgICAgc2Vxcy5hcHBlbmQoc29ydGVkKHNlcSwga2V5PWtleSwgcmV2ZXJzZT1yZXZlcnNlKSkKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNvcnRlZChjaGFpbigqaW5wdXRzKSwga2V5PWtleSwgcmV2ZXJzZT1yZXZlcnNlKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpc3Qoc2VsZi5tb2R1bGUubWVyZ2UoKnNlcXMsIGtleT1rZXksIHJldmVyc2U9cmV2ZXJzZSkpKQorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGlzdChzZWxmLm1vZHVsZS5tZXJnZSgpKSwgW10pCiAKICAgICBkZWYgdGVzdF9tZXJnZV9kb2VzX25vdF9zdXBwcmVzc19pbmRleF9lcnJvcihzZWxmKToKICAgICAgICAgIyBJc3N1ZSAxOTAxODogSGVhcHEubWVyZ2Ugc3VwcHJlc3NlcyBJbmRleEVycm9yIGZyb20gdXNlciBnZW5lcmF0b3IKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfaHRtbHBhcnNlci5weSBiL0xpYi90ZXN0L3Rlc3RfaHRtbHBhcnNlci5weQppbmRleCAyZDc3MWEyLi5kZThmM2U4IDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2h0bWxwYXJzZXIucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9odG1scGFyc2VyLnB5CkBAIC04NSw3ICs4NSw3IEBACiBjbGFzcyBUZXN0Q2FzZUJhc2UodW5pdHRlc3QuVGVzdENhc2UpOgogCiAgICAgZGVmIGdldF9jb2xsZWN0b3Ioc2VsZik6Ci0gICAgICAgIHJhaXNlIE5vdEltcGxlbWVudGVkRXJyb3IKKyAgICAgICAgcmV0dXJuIEV2ZW50Q29sbGVjdG9yKGNvbnZlcnRfY2hhcnJlZnM9RmFsc2UpCiAKICAgICBkZWYgX3J1bl9jaGVjayhzZWxmLCBzb3VyY2UsIGV4cGVjdGVkX2V2ZW50cywgY29sbGVjdG9yPU5vbmUpOgogICAgICAgICBpZiBjb2xsZWN0b3IgaXMgTm9uZToKQEAgLTEwNSwyMSArMTA1LDggQEAKICAgICAgICAgc2VsZi5fcnVuX2NoZWNrKHNvdXJjZSwgZXZlbnRzLAogICAgICAgICAgICAgICAgICAgICAgICAgRXZlbnRDb2xsZWN0b3JFeHRyYShjb252ZXJ0X2NoYXJyZWZzPUZhbHNlKSkKIAotICAgIGRlZiBfcGFyc2VfZXJyb3Ioc2VsZiwgc291cmNlKToKLSAgICAgICAgZGVmIHBhcnNlKHNvdXJjZT1zb3VyY2UpOgotICAgICAgICAgICAgcGFyc2VyID0gc2VsZi5nZXRfY29sbGVjdG9yKCkKLSAgICAgICAgICAgIHBhcnNlci5mZWVkKHNvdXJjZSkKLSAgICAgICAgICAgIHBhcnNlci5jbG9zZSgpCi0gICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoaHRtbC5wYXJzZXIuSFRNTFBhcnNlRXJyb3IpOgotICAgICAgICAgICAgd2l0aCBzZWxmLmFzc2VydFdhcm5zKERlcHJlY2F0aW9uV2FybmluZyk6Ci0gICAgICAgICAgICAgICAgcGFyc2UoKQogCi0KLWNsYXNzIEhUTUxQYXJzZXJTdHJpY3RUZXN0Q2FzZShUZXN0Q2FzZUJhc2UpOgotCi0gICAgZGVmIGdldF9jb2xsZWN0b3Ioc2VsZik6Ci0gICAgICAgIHdpdGggc3VwcG9ydC5jaGVja193YXJuaW5ncygoIiIsIERlcHJlY2F0aW9uV2FybmluZyksIHF1aXRlPUZhbHNlKToKLSAgICAgICAgICAgIHJldHVybiBFdmVudENvbGxlY3RvcihzdHJpY3Q9VHJ1ZSwgY29udmVydF9jaGFycmVmcz1GYWxzZSkKK2NsYXNzIEhUTUxQYXJzZXJUZXN0Q2FzZShUZXN0Q2FzZUJhc2UpOgogCiAgICAgZGVmIHRlc3RfcHJvY2Vzc2luZ19pbnN0cnVjdGlvbl9vbmx5KHNlbGYpOgogICAgICAgICBzZWxmLl9ydW5fY2hlY2soIjw/cHJvY2Vzc2luZyBpbnN0cnVjdGlvbj4iLCBbCkBAIC0yMDEsOSArMTg4LDYgQEAKICAgICAgICAgICAgICgiZGF0YSIsICJ0aGlzIDwgdGV4dCA+IGNvbnRhaW5zIDwgYmFyZT5wb2ludHk8IGJyYWNrZXRzIiksCiAgICAgICAgICAgICBdKQogCi0gICAgZGVmIHRlc3RfaWxsZWdhbF9kZWNsYXJhdGlvbnMoc2VsZik6Ci0gICAgICAgIHNlbGYuX3BhcnNlX2Vycm9yKCc8IXNwYWNlciB0eXBlPSJibG9jayIgaGVpZ2h0PSIyNSI+JykKLQogICAgIGRlZiB0ZXN0X3N0YXJ0dGFnX2VuZF9ib3VuZGFyeShzZWxmKToKICAgICAgICAgc2VsZi5fcnVuX2NoZWNrKCIiIjxhIGI9JzwnPiIiIiwgWygic3RhcnR0YWciLCAiYSIsIFsoImIiLCAiPCIpXSldKQogICAgICAgICBzZWxmLl9ydW5fY2hlY2soIiIiPGEgYj0nPic+IiIiLCBbKCJzdGFydHRhZyIsICJhIiwgWygiYiIsICI+IildKV0pCkBAIC0yMzgsMjUgKzIyMiw2IEBACiAgICAgICAgIHNlbGYuX3J1bl9jaGVjayhbIjwhLS1hYmMtLSIsICI+Il0sIG91dHB1dCkKICAgICAgICAgc2VsZi5fcnVuX2NoZWNrKFsiPCEtLWFiYy0tPiIsICIiXSwgb3V0cHV0KQogCi0gICAgZGVmIHRlc3Rfc3RhcnR0YWdfanVua19jaGFycyhzZWxmKToKLSAgICAgICAgc2VsZi5fcGFyc2VfZXJyb3IoIjwvPiIpCi0gICAgICAgIHNlbGYuX3BhcnNlX2Vycm9yKCI8LyQ+IikKLSAgICAgICAgc2VsZi5fcGFyc2VfZXJyb3IoIjwvIikKLSAgICAgICAgc2VsZi5fcGFyc2VfZXJyb3IoIjwvYSIpCi0gICAgICAgIHNlbGYuX3BhcnNlX2Vycm9yKCI8YTxhPiIpCi0gICAgICAgIHNlbGYuX3BhcnNlX2Vycm9yKCI8L2E8YT4iKQotICAgICAgICBzZWxmLl9wYXJzZV9lcnJvcigiPCEiKQotICAgICAgICBzZWxmLl9wYXJzZV9lcnJvcigiPGEiKQotICAgICAgICBzZWxmLl9wYXJzZV9lcnJvcigiPGEgZm9vPSdiYXInIikKLSAgICAgICAgc2VsZi5fcGFyc2VfZXJyb3IoIjxhIGZvbz0nYmFyIikKLSAgICAgICAgc2VsZi5fcGFyc2VfZXJyb3IoIjxhIGZvbz0nPiciKQotICAgICAgICBzZWxmLl9wYXJzZV9lcnJvcigiPGEgZm9vPSc+IikKLSAgICAgICAgc2VsZi5fcGFyc2VfZXJyb3IoIjxhJD4iKQotICAgICAgICBzZWxmLl9wYXJzZV9lcnJvcigiPGEkYj4iKQotICAgICAgICBzZWxmLl9wYXJzZV9lcnJvcigiPGEkYi8+IikKLSAgICAgICAgc2VsZi5fcGFyc2VfZXJyb3IoIjxhJGIgID4iKQotICAgICAgICBzZWxmLl9wYXJzZV9lcnJvcigiPGEkYiAgLz4iKQotCiAgICAgZGVmIHRlc3RfdmFsaWRfZG9jdHlwZXMoc2VsZik6CiAgICAgICAgICMgZnJvbSBodHRwOi8vd3d3LnczLm9yZy9RQS8yMDAyLzA0L3ZhbGlkLWR0ZC1saXN0Lmh0bWwKICAgICAgICAgZHRkcyA9IFsnSFRNTCcsICAjIEhUTUw1IGRvY3R5cGUKQEAgLTI4MSw5ICsyNDYsNiBAQAogICAgICAgICAgICAgc2VsZi5fcnVuX2NoZWNrKCI8IURPQ1RZUEUgJXM+IiAlIGR0ZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKCdkZWNsJywgJ0RPQ1RZUEUgJyArIGR0ZCldKQogCi0gICAgZGVmIHRlc3RfZGVjbGFyYXRpb25fanVua19jaGFycyhzZWxmKToKLSAgICAgICAgc2VsZi5fcGFyc2VfZXJyb3IoIjwhRE9DVFlQRSBmb28gJCA+IikKLQogICAgIGRlZiB0ZXN0X3N0YXJ0ZW5kdGFnKHNlbGYpOgogICAgICAgICBzZWxmLl9ydW5fY2hlY2soIjxwLz4iLCBbCiAgICAgICAgICAgICAoInN0YXJ0ZW5kdGFnIiwgInAiLCBbXSksCkBAIC0zODQsNyArMzQ2LDggQEAKICAgICAgICAgc2VsZi5fcnVuX2NoZWNrKGh0bWwsIGV4cGVjdGVkKQogCiAgICAgZGVmIHRlc3RfY29udmVydF9jaGFycmVmcyhzZWxmKToKLSAgICAgICAgY29sbGVjdG9yID0gbGFtYmRhOiBFdmVudENvbGxlY3RvckNoYXJyZWZzKGNvbnZlcnRfY2hhcnJlZnM9VHJ1ZSkKKyAgICAgICAgIyBkZWZhdWx0IHZhbHVlIGZvciBjb252ZXJ0X2NoYXJyZWZzIGlzIG5vdyBUcnVlCisgICAgICAgIGNvbGxlY3RvciA9IGxhbWJkYTogRXZlbnRDb2xsZWN0b3JDaGFycmVmcygpCiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShjb2xsZWN0b3IoKS5jb252ZXJ0X2NoYXJyZWZzKQogICAgICAgICBjaGFycmVmcyA9IFsnJnF1b3Q7JywgJyYjMzQ7JywgJyYjeDIyOycsICcmcXVvdCcsICcmIzM0JywgJyYjeDIyJ10KICAgICAgICAgIyBjaGVjayBjaGFycmVmcyBpbiB0aGUgbWlkZGxlIG9mIHRoZSB0ZXh0L2F0dHJpYnV0ZXMKQEAgLTQyMSwyMyArMzg0LDggQEAKICAgICAgICAgc2VsZi5fcnVuX2NoZWNrKCdubyBjaGFycmVmcyBoZXJlJywgWygnZGF0YScsICdubyBjaGFycmVmcyBoZXJlJyldLAogICAgICAgICAgICAgICAgICAgICAgICAgY29sbGVjdG9yPWNvbGxlY3RvcigpKQogCi0KLWNsYXNzIEhUTUxQYXJzZXJUb2xlcmFudFRlc3RDYXNlKEhUTUxQYXJzZXJTdHJpY3RUZXN0Q2FzZSk6Ci0KLSAgICBkZWYgZ2V0X2NvbGxlY3RvcihzZWxmKToKLSAgICAgICAgcmV0dXJuIEV2ZW50Q29sbGVjdG9yKGNvbnZlcnRfY2hhcnJlZnM9RmFsc2UpCi0KLSAgICBkZWYgdGVzdF9kZXByZWNhdGlvbl93YXJuaW5ncyhzZWxmKToKLSAgICAgICAgd2l0aCBzZWxmLmFzc2VydFdhcm5zKERlcHJlY2F0aW9uV2FybmluZyk6Ci0gICAgICAgICAgICBFdmVudENvbGxlY3RvcigpICAjIGNvbnZlcnRfY2hhcnJlZnMgbm90IHBhc3NlZCBleHBsaWNpdGx5Ci0gICAgICAgIHdpdGggc2VsZi5hc3NlcnRXYXJucyhEZXByZWNhdGlvbldhcm5pbmcpOgotICAgICAgICAgICAgRXZlbnRDb2xsZWN0b3Ioc3RyaWN0PVRydWUpCi0gICAgICAgIHdpdGggc2VsZi5hc3NlcnRXYXJucyhEZXByZWNhdGlvbldhcm5pbmcpOgotICAgICAgICAgICAgRXZlbnRDb2xsZWN0b3Ioc3RyaWN0PUZhbHNlKQotICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKGh0bWwucGFyc2VyLkhUTUxQYXJzZUVycm9yKToKLSAgICAgICAgICAgIHdpdGggc2VsZi5hc3NlcnRXYXJucyhEZXByZWNhdGlvbldhcm5pbmcpOgotICAgICAgICAgICAgICAgIEV2ZW50Q29sbGVjdG9yKCkuZXJyb3IoJ3Rlc3QnKQotCisgICAgIyB0aGUgcmVtYWluaW5nIHRlc3RzIHdlcmUgZm9yIHRoZSAidG9sZXJhbnQiIHBhcnNlciAod2hpY2ggaXMgbm93CisgICAgIyB0aGUgZGVmYXVsdCksIGFuZCBjaGVjayB2YXJpb3VzIGtpbmQgb2YgYnJva2VuIG1hcmt1cAogICAgIGRlZiB0ZXN0X3RvbGVyYW50X3BhcnNpbmcoc2VsZik6CiAgICAgICAgIHNlbGYuX3J1bl9jaGVjaygnPGh0bWwgPGh0bWw+dGU+Pnh0JmE8PGJjPC9hPjwvaHRtbD5cbicKICAgICAgICAgICAgICAgICAgICAgICAgICc8aW1nIHNyYz0iVVJMPjwvL2ltZz48L2h0bWw8L2h0bWw+JywgWwpAQCAtNjg2LDExICs2MzQsNyBAQAogICAgICAgICBzZWxmLl9ydW5fY2hlY2soaHRtbCwgZXhwZWN0ZWQpCiAKIAotY2xhc3MgQXR0cmlidXRlc1N0cmljdFRlc3RDYXNlKFRlc3RDYXNlQmFzZSk6Ci0KLSAgICBkZWYgZ2V0X2NvbGxlY3RvcihzZWxmKToKLSAgICAgICAgd2l0aCBzdXBwb3J0LmNoZWNrX3dhcm5pbmdzKCgiIiwgRGVwcmVjYXRpb25XYXJuaW5nKSwgcXVpdGU9RmFsc2UpOgotICAgICAgICAgICAgcmV0dXJuIEV2ZW50Q29sbGVjdG9yKHN0cmljdD1UcnVlLCBjb252ZXJ0X2NoYXJyZWZzPUZhbHNlKQorY2xhc3MgQXR0cmlidXRlc1Rlc3RDYXNlKFRlc3RDYXNlQmFzZSk6CiAKICAgICBkZWYgdGVzdF9hdHRyX3N5bnRheChzZWxmKToKICAgICAgICAgb3V0cHV0ID0gWwpAQCAtNzQ3LDEyICs2OTEsNiBAQAogICAgICAgICAgICAgWygic3RhcnR0YWciLCAiaHRtbCIsIFsoImZvbyIsICJcdTIwQUMmYWEmdW5zdXBwb3J0ZWQ7IildKV0pCiAKIAotCi1jbGFzcyBBdHRyaWJ1dGVzVG9sZXJhbnRUZXN0Q2FzZShBdHRyaWJ1dGVzU3RyaWN0VGVzdENhc2UpOgotCi0gICAgZGVmIGdldF9jb2xsZWN0b3Ioc2VsZik6Ci0gICAgICAgIHJldHVybiBFdmVudENvbGxlY3Rvcihjb252ZXJ0X2NoYXJyZWZzPUZhbHNlKQotCiAgICAgZGVmIHRlc3RfYXR0cl9mdW5reV9uYW1lczIoc2VsZik6CiAgICAgICAgIHNlbGYuX3J1bl9jaGVjaygKICAgICAgICAgICAgICI8YSAkPjxiICQ9JT48YyBcPS8+IiwKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfaHR0cF9jb29raWVzLnB5IGIvTGliL3Rlc3QvdGVzdF9odHRwX2Nvb2tpZXMucHkKaW5kZXggZTk4NDI1Mi4uZWUzMGYxNyAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9odHRwX2Nvb2tpZXMucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9odHRwX2Nvb2tpZXMucHkKQEAgLTE0MSwxMyArMTQxLDYgQEAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChDWydlZ2dzJ11bJ2h0dHBvbmx5J10sICdmb28nKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKENbJ2VnZ3MnXVsnc2VjdXJlJ10sICdiYXInKQogCi0gICAgZGVmIHRlc3RfYmFkX2F0dHJzKHNlbGYpOgotICAgICAgICAjIGlzc3VlIDE2NjExOiBtYWtlIHN1cmUgd2UgZG9uJ3QgYnJlYWsgYmFja3dhcmQgY29tcGF0aWJpbGl0eS4KLSAgICAgICAgQyA9IGNvb2tpZXMuU2ltcGxlQ29va2llKCkKLSAgICAgICAgQy5sb2FkKCdjb29raWU9d2l0aDsgaW52YWxpZDsgdmVyc2lvbjsgc2Vjb25kPWNvb2tpZTsnKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKEMub3V0cHV0KCksCi0gICAgICAgICAgICAnU2V0LUNvb2tpZTogY29va2llPXdpdGhcclxuU2V0LUNvb2tpZTogc2Vjb25kPWNvb2tpZScpCi0KICAgICBkZWYgdGVzdF9leHRyYV9zcGFjZXMoc2VsZik6CiAgICAgICAgIEMgPSBjb29raWVzLlNpbXBsZUNvb2tpZSgpCiAgICAgICAgIEMubG9hZCgnZWdncyAgPSAgc2NyYW1ibGVkICA7ICBzZWN1cmUgIDsgIHBhdGggID0gIGJhciAgIDsgZm9vPWZvbyAgICcpCkBAIC0xODIsNyArMTc1LDEwIEBACiAgICAgZGVmIHRlc3RfaW52YWxpZF9jb29raWVzKHNlbGYpOgogICAgICAgICAjIEFjY2VwdGluZyB0aGVzZSBjb3VsZCBiZSBhIHNlY3VyaXR5IGlzc3VlCiAgICAgICAgIEMgPSBjb29raWVzLlNpbXBsZUNvb2tpZSgpCi0gICAgICAgIGZvciBzIGluICgnXWZvbz14JywgJ1tmb289eCcsICdibGFoXWZvbz14JywgJ2JsYWhbZm9vPXgnKToKKyAgICAgICAgZm9yIHMgaW4gKCddZm9vPXgnLCAnW2Zvbz14JywgJ2JsYWhdZm9vPXgnLCAnYmxhaFtmb289eCcsCisgICAgICAgICAgICAgICAgICAnU2V0LUNvb2tpZTogZm9vPWJhcicsICdTZXQtQ29va2llOiBmb28nLAorICAgICAgICAgICAgICAgICAgJ2Zvbz1iYXI7IGJheicsICdiYXo7IGZvbz1iYXInLAorICAgICAgICAgICAgICAgICAgJ3NlY3VyZTtmb289YmFyJywgJ1ZlcnNpb249MTtmb289YmFyJyk6CiAgICAgICAgICAgICBDLmxvYWQocykKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZGljdChDKSwge30pCiAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKEMub3V0cHV0KCksICcnKQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9odHRwbGliLnB5IGIvTGliL3Rlc3QvdGVzdF9odHRwbGliLnB5CmluZGV4IGQwYTBlOGQuLjUwZGRmMTggMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfaHR0cGxpYi5weQorKysgYi9MaWIvdGVzdC90ZXN0X2h0dHBsaWIucHkKQEAgLTE4LDYgKzE4LDI2IEBACiAjIFNlbGYtc2lnbmVkIGNlcnQgZmlsZSBmb3Igc2VsZi1zaWduZWQucHl0aG9udGVzdC5uZXQKIENFUlRfc2VsZnNpZ25lZF9weXRob250ZXN0ZG90bmV0ID0gb3MucGF0aC5qb2luKGhlcmUsICdzZWxmc2lnbmVkX3B5dGhvbnRlc3Rkb3RuZXQucGVtJykKIAorIyBjb25zdGFudHMgZm9yIHRlc3RpbmcgY2h1bmtlZCBlbmNvZGluZworY2h1bmtlZF9zdGFydCA9ICgKKyAgICAnSFRUUC8xLjEgMjAwIE9LXHJcbicKKyAgICAnVHJhbnNmZXItRW5jb2Rpbmc6IGNodW5rZWRcclxuXHJcbicKKyAgICAnYVxyXG4nCisgICAgJ2hlbGxvIHdvcmxcclxuJworICAgICczXHJcbicKKyAgICAnZCEgXHJcbicKKyAgICAnOFxyXG4nCisgICAgJ2FuZCBub3cgXHJcbicKKyAgICAnMjJcclxuJworICAgICdmb3Igc29tZXRoaW5nIGNvbXBsZXRlbHkgZGlmZmVyZW50XHJcbicKKykKK2NodW5rZWRfZXhwZWN0ZWQgPSBiJ2hlbGxvIHdvcmxkISBhbmQgbm93IGZvciBzb21ldGhpbmcgY29tcGxldGVseSBkaWZmZXJlbnQnCitjaHVua19leHRlbnNpb24gPSAiO2Zvbz1iYXIiCitsYXN0X2NodW5rID0gIjBcclxuIgorbGFzdF9jaHVua19leHRlbmRlZCA9ICIwIiArIGNodW5rX2V4dGVuc2lvbiArICJcclxuIgordHJhaWxlcnMgPSAiWC1EdW1teTogZm9vXHJcblgtRHVtbTI6IGJhclxyXG4iCitjaHVua2VkX2VuZCA9ICJcclxuIgorCiBIT1NUID0gc3VwcG9ydC5IT1NUCiAKIGNsYXNzIEZha2VTb2NrZXQ6CkBAIC01MCw2ICs3MCw5IEBACiAgICAgZGVmIGNsb3NlKHNlbGYpOgogICAgICAgICBwYXNzCiAKKyAgICBkZWYgc2V0c29ja29wdChzZWxmLCBsZXZlbCwgb3B0bmFtZSwgdmFsdWUpOgorICAgICAgICBwYXNzCisKIGNsYXNzIEVQaXBlU29ja2V0KEZha2VTb2NrZXQpOgogCiAgICAgZGVmIF9faW5pdF9fKHNlbGYsIHRleHQsIHBpcGVfdHJpZ2dlcik6CkBAIC00NTIsMjAgKzQ3NSw4IEBACiAgICAgICAgICAgICBjb25uLnJlcXVlc3QoJ1BPU1QnLCAndGVzdCcsIGNvbm4pCiAKICAgICBkZWYgdGVzdF9jaHVua2VkKHNlbGYpOgotICAgICAgICBjaHVua2VkX3N0YXJ0ID0gKAotICAgICAgICAgICAgJ0hUVFAvMS4xIDIwMCBPS1xyXG4nCi0gICAgICAgICAgICAnVHJhbnNmZXItRW5jb2Rpbmc6IGNodW5rZWRcclxuXHJcbicKLSAgICAgICAgICAgICdhXHJcbicKLSAgICAgICAgICAgICdoZWxsbyB3b3JsXHJcbicKLSAgICAgICAgICAgICczXHJcbicKLSAgICAgICAgICAgICdkISBcclxuJwotICAgICAgICAgICAgJzhcclxuJwotICAgICAgICAgICAgJ2FuZCBub3cgXHJcbicKLSAgICAgICAgICAgICcyMlxyXG4nCi0gICAgICAgICAgICAnZm9yIHNvbWV0aGluZyBjb21wbGV0ZWx5IGRpZmZlcmVudFxyXG4nCi0gICAgICAgICkKLSAgICAgICAgZXhwZWN0ZWQgPSBiJ2hlbGxvIHdvcmxkISBhbmQgbm93IGZvciBzb21ldGhpbmcgY29tcGxldGVseSBkaWZmZXJlbnQnCi0gICAgICAgIHNvY2sgPSBGYWtlU29ja2V0KGNodW5rZWRfc3RhcnQgKyAnMFxyXG4nKQorICAgICAgICBleHBlY3RlZCA9IGNodW5rZWRfZXhwZWN0ZWQKKyAgICAgICAgc29jayA9IEZha2VTb2NrZXQoY2h1bmtlZF9zdGFydCArIGxhc3RfY2h1bmsgKyBjaHVua2VkX2VuZCkKICAgICAgICAgcmVzcCA9IGNsaWVudC5IVFRQUmVzcG9uc2Uoc29jaywgbWV0aG9kPSJHRVQiKQogICAgICAgICByZXNwLmJlZ2luKCkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZXNwLnJlYWQoKSwgZXhwZWN0ZWQpCkBAIC00NzMsNyArNDg0LDcgQEAKIAogICAgICAgICAjIFZhcmlvdXMgcmVhZCBzaXplcwogICAgICAgICBmb3IgbiBpbiByYW5nZSgxLCAxMik6Ci0gICAgICAgICAgICBzb2NrID0gRmFrZVNvY2tldChjaHVua2VkX3N0YXJ0ICsgJzBcclxuJykKKyAgICAgICAgICAgIHNvY2sgPSBGYWtlU29ja2V0KGNodW5rZWRfc3RhcnQgKyBsYXN0X2NodW5rICsgY2h1bmtlZF9lbmQpCiAgICAgICAgICAgICByZXNwID0gY2xpZW50LkhUVFBSZXNwb25zZShzb2NrLCBtZXRob2Q9IkdFVCIpCiAgICAgICAgICAgICByZXNwLmJlZ2luKCkKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVzcC5yZWFkKG4pICsgcmVzcC5yZWFkKG4pICsgcmVzcC5yZWFkKCksIGV4cGVjdGVkKQpAQCAtNDk2LDIzICs1MDcsMTIgQEAKICAgICAgICAgICAgICAgICByZXNwLmNsb3NlKCkKIAogICAgIGRlZiB0ZXN0X3JlYWRpbnRvX2NodW5rZWQoc2VsZik6Ci0gICAgICAgIGNodW5rZWRfc3RhcnQgPSAoCi0gICAgICAgICAgICAnSFRUUC8xLjEgMjAwIE9LXHJcbicKLSAgICAgICAgICAgICdUcmFuc2Zlci1FbmNvZGluZzogY2h1bmtlZFxyXG5cclxuJwotICAgICAgICAgICAgJ2FcclxuJwotICAgICAgICAgICAgJ2hlbGxvIHdvcmxcclxuJwotICAgICAgICAgICAgJzNcclxuJwotICAgICAgICAgICAgJ2QhIFxyXG4nCi0gICAgICAgICAgICAnOFxyXG4nCi0gICAgICAgICAgICAnYW5kIG5vdyBcclxuJwotICAgICAgICAgICAgJzIyXHJcbicKLSAgICAgICAgICAgICdmb3Igc29tZXRoaW5nIGNvbXBsZXRlbHkgZGlmZmVyZW50XHJcbicKLSAgICAgICAgKQotICAgICAgICBleHBlY3RlZCA9IGInaGVsbG8gd29ybGQhIGFuZCBub3cgZm9yIHNvbWV0aGluZyBjb21wbGV0ZWx5IGRpZmZlcmVudCcKKworICAgICAgICBleHBlY3RlZCA9IGNodW5rZWRfZXhwZWN0ZWQKICAgICAgICAgbmV4cGVjdGVkID0gbGVuKGV4cGVjdGVkKQogICAgICAgICBiID0gYnl0ZWFycmF5KDEyOCkKIAotICAgICAgICBzb2NrID0gRmFrZVNvY2tldChjaHVua2VkX3N0YXJ0ICsgJzBcclxuJykKKyAgICAgICAgc29jayA9IEZha2VTb2NrZXQoY2h1bmtlZF9zdGFydCArIGxhc3RfY2h1bmsgKyBjaHVua2VkX2VuZCkKICAgICAgICAgcmVzcCA9IGNsaWVudC5IVFRQUmVzcG9uc2Uoc29jaywgbWV0aG9kPSJHRVQiKQogICAgICAgICByZXNwLmJlZ2luKCkKICAgICAgICAgbiA9IHJlc3AucmVhZGludG8oYikKQEAgLTUyMiw3ICs1MjIsNyBAQAogCiAgICAgICAgICMgVmFyaW91cyByZWFkIHNpemVzCiAgICAgICAgIGZvciBuIGluIHJhbmdlKDEsIDEyKToKLSAgICAgICAgICAgIHNvY2sgPSBGYWtlU29ja2V0KGNodW5rZWRfc3RhcnQgKyAnMFxyXG4nKQorICAgICAgICAgICAgc29jayA9IEZha2VTb2NrZXQoY2h1bmtlZF9zdGFydCArIGxhc3RfY2h1bmsgKyBjaHVua2VkX2VuZCkKICAgICAgICAgICAgIHJlc3AgPSBjbGllbnQuSFRUUFJlc3BvbnNlKHNvY2ssIG1ldGhvZD0iR0VUIikKICAgICAgICAgICAgIHJlc3AuYmVnaW4oKQogICAgICAgICAgICAgbSA9IG1lbW9yeXZpZXcoYikKQEAgLTU1OCw3ICs1NTgsNyBAQAogICAgICAgICAgICAgJzFcclxuJwogICAgICAgICAgICAgJ2RcclxuJwogICAgICAgICApCi0gICAgICAgIHNvY2sgPSBGYWtlU29ja2V0KGNodW5rZWRfc3RhcnQgKyAnMFxyXG4nKQorICAgICAgICBzb2NrID0gRmFrZVNvY2tldChjaHVua2VkX3N0YXJ0ICsgbGFzdF9jaHVuayArIGNodW5rZWRfZW5kKQogICAgICAgICByZXNwID0gY2xpZW50LkhUVFBSZXNwb25zZShzb2NrLCBtZXRob2Q9IkhFQUQiKQogICAgICAgICByZXNwLmJlZ2luKCkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZXNwLnJlYWQoKSwgYicnKQpAQCAtNTc4LDcgKzU3OCw3IEBACiAgICAgICAgICAgICAnMVxyXG4nCiAgICAgICAgICAgICAnZFxyXG4nCiAgICAgICAgICkKLSAgICAgICAgc29jayA9IEZha2VTb2NrZXQoY2h1bmtlZF9zdGFydCArICcwXHJcbicpCisgICAgICAgIHNvY2sgPSBGYWtlU29ja2V0KGNodW5rZWRfc3RhcnQgKyBsYXN0X2NodW5rICsgY2h1bmtlZF9lbmQpCiAgICAgICAgIHJlc3AgPSBjbGllbnQuSFRUUFJlc3BvbnNlKHNvY2ssIG1ldGhvZD0iSEVBRCIpCiAgICAgICAgIHJlc3AuYmVnaW4oKQogICAgICAgICBiID0gYnl0ZWFycmF5KDUpCkBAIC02NTMsNiArNjUzLDcgQEAKICAgICAgICAgICAgICsgJzAnICogNjU1MzYgKyAnYVxyXG4nCiAgICAgICAgICAgICAnaGVsbG8gd29ybGRcclxuJwogICAgICAgICAgICAgJzBcclxuJworICAgICAgICAgICAgJ1xyXG4nCiAgICAgICAgICkKICAgICAgICAgcmVzcCA9IGNsaWVudC5IVFRQUmVzcG9uc2UoRmFrZVNvY2tldChib2R5KSkKICAgICAgICAgcmVzcC5iZWdpbigpCkBAIC02NzAsMjggKzY3MSw2IEBACiAgICAgICAgIHJlc3AuY2xvc2UoKQogICAgICAgICBzZWxmLmFzc2VydFRydWUocmVzcC5jbG9zZWQpCiAKLSAgICBkZWYgdGVzdF9kZWxheWVkX2Fja19vcHQoc2VsZik6Ci0gICAgICAgICMgVGVzdCB0aGF0IE5hZ2xlL2RlbGF5ZWRfYWNrIG9wdGltaXN0YWlvbiB3b3JrcyBjb3JyZWN0bHkuCi0KLSAgICAgICAgIyBGb3Igc21hbGwgcGF5bG9hZHMsIGl0IHNob3VsZCBjb2FsZXNjZSB0aGUgYm9keSB3aXRoCi0gICAgICAgICMgaGVhZGVycywgcmVzdWx0aW5nIGluIGEgc2luZ2xlIHNlbmRhbGwoKSBjYWxsCi0gICAgICAgIGNvbm4gPSBjbGllbnQuSFRUUENvbm5lY3Rpb24oJ2V4YW1wbGUuY29tJykKLSAgICAgICAgc29jayA9IEZha2VTb2NrZXQoTm9uZSkKLSAgICAgICAgY29ubi5zb2NrID0gc29jawotICAgICAgICBib2R5ID0gYid4JyAqIChjb25uLm1zcyAtIDEpCi0gICAgICAgIGNvbm4ucmVxdWVzdCgnUE9TVCcsICcvJywgYm9keSkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzb2NrLnNlbmRhbGxfY2FsbHMsIDEpCi0KLSAgICAgICAgIyBGb3IgbGFyZ2UgcGF5bG9hZHMsIGl0IHNob3VsZCBzZW5kIHRoZSBoZWFkZXJzIGFuZAotICAgICAgICAjIHRoZW4gdGhlIGJvZHksIHJlc3VsdGluZyBpbiBtb3JlIHRoYW4gb25lIHNlbmRhbGwoKQotICAgICAgICAjIGNhbGwKLSAgICAgICAgY29ubiA9IGNsaWVudC5IVFRQQ29ubmVjdGlvbignZXhhbXBsZS5jb20nKQotICAgICAgICBzb2NrID0gRmFrZVNvY2tldChOb25lKQotICAgICAgICBjb25uLnNvY2sgPSBzb2NrCi0gICAgICAgIGJvZHkgPSBiJ3gnICogY29ubi5tc3MKLSAgICAgICAgY29ubi5yZXF1ZXN0KCdQT1NUJywgJy8nLCBib2R5KQotICAgICAgICBzZWxmLmFzc2VydEdyZWF0ZXIoc29jay5zZW5kYWxsX2NhbGxzLCAxKQotCiAgICAgZGVmIHRlc3RfZXJyb3JfbGVhayhzZWxmKToKICAgICAgICAgIyBUZXN0IHRoYXQgdGhlIHNvY2tldCBpcyBub3QgbGVha2VkIGlmIGdldHJlc3BvbnNlKCkgZmFpbHMKICAgICAgICAgY29ubiA9IGNsaWVudC5IVFRQQ29ubmVjdGlvbignZXhhbXBsZS5jb20nKQpAQCAtNzA4LDYgKzY4NywyMzkgQEAKICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHJlc3BvbnNlLmNsb3NlZCkKICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGNvbm4uc29jay5maWxlX2Nsb3NlZCkKIAorICAgIGRlZiB0ZXN0X2NodW5rZWRfZXh0ZW5zaW9uKHNlbGYpOgorICAgICAgICBleHRyYSA9ICczO2Zvbz1iYXJcclxuJyArICdhYmNcclxuJworICAgICAgICBleHBlY3RlZCA9IGNodW5rZWRfZXhwZWN0ZWQgKyBiJ2FiYycKKworICAgICAgICBzb2NrID0gRmFrZVNvY2tldChjaHVua2VkX3N0YXJ0ICsgZXh0cmEgKyBsYXN0X2NodW5rX2V4dGVuZGVkICsgY2h1bmtlZF9lbmQpCisgICAgICAgIHJlc3AgPSBjbGllbnQuSFRUUFJlc3BvbnNlKHNvY2ssIG1ldGhvZD0iR0VUIikKKyAgICAgICAgcmVzcC5iZWdpbigpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVzcC5yZWFkKCksIGV4cGVjdGVkKQorICAgICAgICByZXNwLmNsb3NlKCkKKworICAgIGRlZiB0ZXN0X2NodW5rZWRfbWlzc2luZ19lbmQoc2VsZik6CisgICAgICAgICIiInNvbWUgc2VydmVycyBtYXkgc2VydmUgdXAgYSBzaG9ydCBjaHVua2VkIGVuY29kaW5nIHN0cmVhbSIiIgorICAgICAgICBleHBlY3RlZCA9IGNodW5rZWRfZXhwZWN0ZWQKKyAgICAgICAgc29jayA9IEZha2VTb2NrZXQoY2h1bmtlZF9zdGFydCArIGxhc3RfY2h1bmspICAjbm8gdGVybWluYXRpbmcgY3JsZgorICAgICAgICByZXNwID0gY2xpZW50LkhUVFBSZXNwb25zZShzb2NrLCBtZXRob2Q9IkdFVCIpCisgICAgICAgIHJlc3AuYmVnaW4oKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlc3AucmVhZCgpLCBleHBlY3RlZCkKKyAgICAgICAgcmVzcC5jbG9zZSgpCisKKyAgICBkZWYgdGVzdF9jaHVua2VkX3RyYWlsZXJzKHNlbGYpOgorICAgICAgICAiIiJTZWUgdGhhdCB0cmFpbGVycyBhcmUgcmVhZCBhbmQgaWdub3JlZCIiIgorICAgICAgICBleHBlY3RlZCA9IGNodW5rZWRfZXhwZWN0ZWQKKyAgICAgICAgc29jayA9IEZha2VTb2NrZXQoY2h1bmtlZF9zdGFydCArIGxhc3RfY2h1bmsgKyB0cmFpbGVycyArIGNodW5rZWRfZW5kKQorICAgICAgICByZXNwID0gY2xpZW50LkhUVFBSZXNwb25zZShzb2NrLCBtZXRob2Q9IkdFVCIpCisgICAgICAgIHJlc3AuYmVnaW4oKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlc3AucmVhZCgpLCBleHBlY3RlZCkKKyAgICAgICAgIyB3ZSBzaG91bGQgaGF2ZSByZWFjaGVkIHRoZSBlbmQgb2YgdGhlIGZpbGUKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzb2NrLmZpbGUucmVhZCgxMDApLCBiIiIpICN3ZSByZWFkIHRvIHRoZSBlbmQKKyAgICAgICAgcmVzcC5jbG9zZSgpCisKKyAgICBkZWYgdGVzdF9jaHVua2VkX3N5bmMoc2VsZik6CisgICAgICAgICIiIkNoZWNrIHRoYXQgd2UgZG9uJ3QgcmVhZCBwYXN0IHRoZSBlbmQgb2YgdGhlIGNodW5rZWQtZW5jb2Rpbmcgc3RyZWFtIiIiCisgICAgICAgIGV4cGVjdGVkID0gY2h1bmtlZF9leHBlY3RlZAorICAgICAgICBleHRyYWRhdGEgPSAiZXh0cmFkYXRhIgorICAgICAgICBzb2NrID0gRmFrZVNvY2tldChjaHVua2VkX3N0YXJ0ICsgbGFzdF9jaHVuayArIHRyYWlsZXJzICsgY2h1bmtlZF9lbmQgKyBleHRyYWRhdGEpCisgICAgICAgIHJlc3AgPSBjbGllbnQuSFRUUFJlc3BvbnNlKHNvY2ssIG1ldGhvZD0iR0VUIikKKyAgICAgICAgcmVzcC5iZWdpbigpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVzcC5yZWFkKCksIGV4cGVjdGVkKQorICAgICAgICAjIHRoZSBmaWxlIHNob3VsZCBub3cgaGF2ZSBvdXIgZXh0cmFkYXRhIHJlYWR5IHRvIGJlIHJlYWQKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzb2NrLmZpbGUucmVhZCgxMDApLCBleHRyYWRhdGEuZW5jb2RlKCJhc2NpaSIpKSAjd2UgcmVhZCB0byB0aGUgZW5kCisgICAgICAgIHJlc3AuY2xvc2UoKQorCisgICAgZGVmIHRlc3RfY29udGVudF9sZW5ndGhfc3luYyhzZWxmKToKKyAgICAgICAgIiIiQ2hlY2sgdGhhdCB3ZSBkb24ndCByZWFkIHBhc3QgdGhlIGVuZCBvZiB0aGUgQ29udGVudC1MZW5ndGggc3RyZWFtIiIiCisgICAgICAgIGV4dHJhZGF0YSA9ICJleHRyYWRhdGEiCisgICAgICAgIGV4cGVjdGVkID0gYiJIZWxsbzEyM1xyXG4iCisgICAgICAgIHNvY2sgPSBGYWtlU29ja2V0KCdIVFRQLzEuMSAyMDAgT0tcclxuQ29udGVudC1MZW5ndGg6IDEwXHJcblxyXG5IZWxsbzEyM1xyXG4nICsgZXh0cmFkYXRhKQorICAgICAgICByZXNwID0gY2xpZW50LkhUVFBSZXNwb25zZShzb2NrLCBtZXRob2Q9IkdFVCIpCisgICAgICAgIHJlc3AuYmVnaW4oKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlc3AucmVhZCgpLCBleHBlY3RlZCkKKyAgICAgICAgIyB0aGUgZmlsZSBzaG91bGQgbm93IGhhdmUgb3VyIGV4dHJhZGF0YSByZWFkeSB0byBiZSByZWFkCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc29jay5maWxlLnJlYWQoMTAwKSwgZXh0cmFkYXRhLmVuY29kZSgiYXNjaWkiKSkgI3dlIHJlYWQgdG8gdGhlIGVuZAorICAgICAgICByZXNwLmNsb3NlKCkKKworY2xhc3MgRXh0ZW5kZWRSZWFkVGVzdChUZXN0Q2FzZSk6CisgICAgIiIiCisgICAgVGVzdCBwZWVrKCksIHJlYWQxKCksIHJlYWRsaW5lKCkKKyAgICAiIiIKKyAgICBsaW5lcyA9ICgKKyAgICAgICAgJ0hUVFAvMS4xIDIwMCBPS1xyXG4nCisgICAgICAgICdcclxuJworICAgICAgICAnaGVsbG8gd29ybGQhXG4nCisgICAgICAgICdhbmQgbm93IFxuJworICAgICAgICAnZm9yIHNvbWV0aGluZyBjb21wbGV0ZWx5IGRpZmZlcmVudFxuJworICAgICAgICAnZm9vJworICAgICAgICApCisgICAgbGluZXNfZXhwZWN0ZWQgPSBsaW5lc1tsaW5lcy5maW5kKCdoZWxsbycpOl0uZW5jb2RlKCJhc2NpaSIpCisgICAgbGluZXNfY2h1bmtlZCA9ICgKKyAgICAgICAgJ0hUVFAvMS4xIDIwMCBPS1xyXG4nCisgICAgICAgICdUcmFuc2Zlci1FbmNvZGluZzogY2h1bmtlZFxyXG5cclxuJworICAgICAgICAnYVxyXG4nCisgICAgICAgICdoZWxsbyB3b3JsXHJcbicKKyAgICAgICAgJzNcclxuJworICAgICAgICAnZCFcblxyXG4nCisgICAgICAgICc5XHJcbicKKyAgICAgICAgJ2FuZCBub3cgXG5cclxuJworICAgICAgICAnMjNcclxuJworICAgICAgICAnZm9yIHNvbWV0aGluZyBjb21wbGV0ZWx5IGRpZmZlcmVudFxuXHJcbicKKyAgICAgICAgJzNcclxuJworICAgICAgICAnZm9vXHJcbicKKyAgICAgICAgJzBcclxuJyAjIHRlcm1pbmF0aW5nIGNodW5rCisgICAgICAgICdcclxuJyAgIyBlbmQgb2YgdHJhaWxlcnMKKyAgICApCisKKyAgICBkZWYgc2V0VXAoc2VsZik6CisgICAgICAgIHNvY2sgPSBGYWtlU29ja2V0KHNlbGYubGluZXMpCisgICAgICAgIHJlc3AgPSBjbGllbnQuSFRUUFJlc3BvbnNlKHNvY2ssIG1ldGhvZD0iR0VUIikKKyAgICAgICAgcmVzcC5iZWdpbigpCisgICAgICAgIHJlc3AuZnAgPSBpby5CdWZmZXJlZFJlYWRlcihyZXNwLmZwKQorICAgICAgICBzZWxmLnJlc3AgPSByZXNwCisKKworCisgICAgZGVmIHRlc3RfcGVlayhzZWxmKToKKyAgICAgICAgcmVzcCA9IHNlbGYucmVzcAorICAgICAgICAjIHBhdGNoIHVwIHRoZSBidWZmZXJlZCBwZWVrIHNvIHRoYXQgaXQgcmV0dXJucyBub3QgdG9vIG11Y2ggc3R1ZmYKKyAgICAgICAgb2xkcGVlayA9IHJlc3AuZnAucGVlaworICAgICAgICBkZWYgbXlwZWVrKG49LTEpOgorICAgICAgICAgICAgcCA9IG9sZHBlZWsobikKKyAgICAgICAgICAgIGlmIG4gPj0gMDoKKyAgICAgICAgICAgICAgICByZXR1cm4gcFs6bl0KKyAgICAgICAgICAgIHJldHVybiBwWzoxMF0KKyAgICAgICAgcmVzcC5mcC5wZWVrID0gbXlwZWVrCisKKyAgICAgICAgYWxsID0gW10KKyAgICAgICAgd2hpbGUgVHJ1ZToKKyAgICAgICAgICAgICMgdHJ5IGEgc2hvcnQgcGVlaworICAgICAgICAgICAgcCA9IHJlc3AucGVlaygzKQorICAgICAgICAgICAgaWYgcDoKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEdyZWF0ZXIobGVuKHApLCAwKQorICAgICAgICAgICAgICAgICMgdGhlbiB1bmJvdW5kZWQgcGVlaworICAgICAgICAgICAgICAgIHAyID0gcmVzcC5wZWVrKCkKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEdyZWF0ZXJFcXVhbChsZW4ocDIpLCBsZW4ocCkpCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHAyLnN0YXJ0c3dpdGgocCkpCisgICAgICAgICAgICAgICAgbmV4dCA9IHJlc3AucmVhZChsZW4ocDIpKQorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobmV4dCwgcDIpCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIG5leHQgPSByZXNwLnJlYWQoKQorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UobmV4dCkKKyAgICAgICAgICAgIGFsbC5hcHBlbmQobmV4dCkKKyAgICAgICAgICAgIGlmIG5vdCBuZXh0OgorICAgICAgICAgICAgICAgIGJyZWFrCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYiIiLmpvaW4oYWxsKSwgc2VsZi5saW5lc19leHBlY3RlZCkKKworICAgIGRlZiB0ZXN0X3JlYWRsaW5lKHNlbGYpOgorICAgICAgICByZXNwID0gc2VsZi5yZXNwCisgICAgICAgIHNlbGYuX3ZlcmlmeV9yZWFkbGluZShzZWxmLnJlc3AucmVhZGxpbmUsIHNlbGYubGluZXNfZXhwZWN0ZWQpCisKKyAgICBkZWYgX3ZlcmlmeV9yZWFkbGluZShzZWxmLCByZWFkbGluZSwgZXhwZWN0ZWQpOgorICAgICAgICBhbGwgPSBbXQorICAgICAgICB3aGlsZSBUcnVlOgorICAgICAgICAgICAgIyBzaG9ydCByZWFkbGluZXMKKyAgICAgICAgICAgIGxpbmUgPSByZWFkbGluZSg1KQorICAgICAgICAgICAgaWYgbGluZSBhbmQgbGluZSAhPSBiImZvbyI6CisgICAgICAgICAgICAgICAgaWYgbGVuKGxpbmUpIDwgNToKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGxpbmUuZW5kc3dpdGgoYiJcbiIpKQorICAgICAgICAgICAgYWxsLmFwcGVuZChsaW5lKQorICAgICAgICAgICAgaWYgbm90IGxpbmU6CisgICAgICAgICAgICAgICAgYnJlYWsKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChiIiIuam9pbihhbGwpLCBleHBlY3RlZCkKKworICAgIGRlZiB0ZXN0X3JlYWQxKHNlbGYpOgorICAgICAgICByZXNwID0gc2VsZi5yZXNwCisgICAgICAgIGRlZiByKCk6CisgICAgICAgICAgICByZXMgPSByZXNwLnJlYWQxKDQpCisgICAgICAgICAgICBzZWxmLmFzc2VydExlc3NFcXVhbChsZW4ocmVzKSwgNCkKKyAgICAgICAgICAgIHJldHVybiByZXMKKyAgICAgICAgcmVhZGxpbmVyID0gUmVhZGxpbmVyKHIpCisgICAgICAgIHNlbGYuX3ZlcmlmeV9yZWFkbGluZShyZWFkbGluZXIucmVhZGxpbmUsIHNlbGYubGluZXNfZXhwZWN0ZWQpCisKKyAgICBkZWYgdGVzdF9yZWFkMV91bmJvdW5kZWQoc2VsZik6CisgICAgICAgIHJlc3AgPSBzZWxmLnJlc3AKKyAgICAgICAgYWxsID0gW10KKyAgICAgICAgd2hpbGUgVHJ1ZToKKyAgICAgICAgICAgIGRhdGEgPSByZXNwLnJlYWQxKCkKKyAgICAgICAgICAgIGlmIG5vdCBkYXRhOgorICAgICAgICAgICAgICAgIGJyZWFrCisgICAgICAgICAgICBhbGwuYXBwZW5kKGRhdGEpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYiIiLmpvaW4oYWxsKSwgc2VsZi5saW5lc19leHBlY3RlZCkKKworICAgIGRlZiB0ZXN0X3JlYWQxX2JvdW5kZWQoc2VsZik6CisgICAgICAgIHJlc3AgPSBzZWxmLnJlc3AKKyAgICAgICAgYWxsID0gW10KKyAgICAgICAgd2hpbGUgVHJ1ZToKKyAgICAgICAgICAgIGRhdGEgPSByZXNwLnJlYWQxKDEwKQorICAgICAgICAgICAgaWYgbm90IGRhdGE6CisgICAgICAgICAgICAgICAgYnJlYWsKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0TGVzc0VxdWFsKGxlbihkYXRhKSwgMTApCisgICAgICAgICAgICBhbGwuYXBwZW5kKGRhdGEpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYiIiLmpvaW4oYWxsKSwgc2VsZi5saW5lc19leHBlY3RlZCkKKworICAgIGRlZiB0ZXN0X3JlYWQxXzAoc2VsZik6CisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5yZXNwLnJlYWQxKDApLCBiIiIpCisKKyAgICBkZWYgdGVzdF9wZWVrXzAoc2VsZik6CisgICAgICAgIHAgPSBzZWxmLnJlc3AucGVlaygwKQorICAgICAgICBzZWxmLmFzc2VydExlc3NFcXVhbCgwLCBsZW4ocCkpCisKK2NsYXNzIEV4dGVuZGVkUmVhZFRlc3RDaHVua2VkKEV4dGVuZGVkUmVhZFRlc3QpOgorICAgICIiIgorICAgIFRlc3QgcGVlaygpLCByZWFkMSgpLCByZWFkbGluZSgpIGluIGNodW5rZWQgbW9kZQorICAgICIiIgorICAgIGxpbmVzID0gKAorICAgICAgICAnSFRUUC8xLjEgMjAwIE9LXHJcbicKKyAgICAgICAgJ1RyYW5zZmVyLUVuY29kaW5nOiBjaHVua2VkXHJcblxyXG4nCisgICAgICAgICdhXHJcbicKKyAgICAgICAgJ2hlbGxvIHdvcmxcclxuJworICAgICAgICAnM1xyXG4nCisgICAgICAgICdkIVxuXHJcbicKKyAgICAgICAgJzlcclxuJworICAgICAgICAnYW5kIG5vdyBcblxyXG4nCisgICAgICAgICcyM1xyXG4nCisgICAgICAgICdmb3Igc29tZXRoaW5nIGNvbXBsZXRlbHkgZGlmZmVyZW50XG5cclxuJworICAgICAgICAnM1xyXG4nCisgICAgICAgICdmb29cclxuJworICAgICAgICAnMFxyXG4nICMgdGVybWluYXRpbmcgY2h1bmsKKyAgICAgICAgJ1xyXG4nICAjIGVuZCBvZiB0cmFpbGVycworICAgICkKKworCitjbGFzcyBSZWFkbGluZXI6CisgICAgIiIiCisgICAgYSBzaW1wbGUgcmVhZGxpbmUgY2xhc3MgdGhhdCB1c2VzIGFuIGFyYml0cmFyeSByZWFkIGZ1bmN0aW9uIGFuZCBidWZmZXJpbmcKKyAgICAiIiIKKyAgICBkZWYgX19pbml0X18oc2VsZiwgcmVhZGZ1bmMpOgorICAgICAgICBzZWxmLnJlYWRmdW5jID0gcmVhZGZ1bmMKKyAgICAgICAgc2VsZi5yZW1haW5kZXIgPSBiIiIKKworICAgIGRlZiByZWFkbGluZShzZWxmLCBsaW1pdCk6CisgICAgICAgIGRhdGEgPSBbXQorICAgICAgICBkYXRhbGVuID0gMAorICAgICAgICByZWFkID0gc2VsZi5yZW1haW5kZXIKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgd2hpbGUgVHJ1ZToKKyAgICAgICAgICAgICAgICBpZHggPSByZWFkLmZpbmQoYidcbicpCisgICAgICAgICAgICAgICAgaWYgaWR4ICE9IC0xOgorICAgICAgICAgICAgICAgICAgICBicmVhaworICAgICAgICAgICAgICAgIGlmIGRhdGFsZW4gKyBsZW4ocmVhZCkgPj0gbGltaXQ6CisgICAgICAgICAgICAgICAgICAgIGlkeCA9IGxpbWl0IC0gZGF0YWxlbiAtIDEKKyAgICAgICAgICAgICAgICAjIHJlYWQgbW9yZSBkYXRhCisgICAgICAgICAgICAgICAgZGF0YS5hcHBlbmQocmVhZCkKKyAgICAgICAgICAgICAgICByZWFkID0gc2VsZi5yZWFkZnVuYygpCisgICAgICAgICAgICAgICAgaWYgbm90IHJlYWQ6CisgICAgICAgICAgICAgICAgICAgIGlkeCA9IDAgI2VvZiBjb25kaXRpb24KKyAgICAgICAgICAgICAgICAgICAgYnJlYWsKKyAgICAgICAgICAgIGlkeCArPSAxCisgICAgICAgICAgICBkYXRhLmFwcGVuZChyZWFkWzppZHhdKQorICAgICAgICAgICAgc2VsZi5yZW1haW5kZXIgPSByZWFkW2lkeDpdCisgICAgICAgICAgICByZXR1cm4gYiIiLmpvaW4oZGF0YSkKKyAgICAgICAgZXhjZXB0OgorICAgICAgICAgICAgc2VsZi5yZW1haW5kZXIgPSBiIiIuam9pbihkYXRhKQorICAgICAgICAgICAgcmFpc2UKKwogCiBjbGFzcyBPZmZsaW5lVGVzdChUZXN0Q2FzZSk6CiAgICAgZGVmIHRlc3RfYWxsKHNlbGYpOgpAQCAtNzI3LDEzICs5MzksNzQgQEAKICAgICBkZWYgdGVzdF9yZXNwb25zZXMoc2VsZik6CiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY2xpZW50LnJlc3BvbnNlc1tjbGllbnQuTk9UX0ZPVU5EXSwgIk5vdCBGb3VuZCIpCiAKKyAgICBkZWYgdGVzdF9jbGllbnRfY29uc3RhbnRzKHNlbGYpOgorICAgICAgICAjIE1ha2Ugc3VyZSB3ZSBkb24ndCBicmVhayBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IHdpdGggMy40CisgICAgICAgIGV4cGVjdGVkID0gWworICAgICAgICAgICAgJ0NPTlRJTlVFJywKKyAgICAgICAgICAgICdTV0lUQ0hJTkdfUFJPVE9DT0xTJywKKyAgICAgICAgICAgICdQUk9DRVNTSU5HJywKKyAgICAgICAgICAgICdPSycsCisgICAgICAgICAgICAnQ1JFQVRFRCcsCisgICAgICAgICAgICAnQUNDRVBURUQnLAorICAgICAgICAgICAgJ05PTl9BVVRIT1JJVEFUSVZFX0lORk9STUFUSU9OJywKKyAgICAgICAgICAgICdOT19DT05URU5UJywKKyAgICAgICAgICAgICdSRVNFVF9DT05URU5UJywKKyAgICAgICAgICAgICdQQVJUSUFMX0NPTlRFTlQnLAorICAgICAgICAgICAgJ01VTFRJX1NUQVRVUycsCisgICAgICAgICAgICAnSU1fVVNFRCcsCisgICAgICAgICAgICAnTVVMVElQTEVfQ0hPSUNFUycsCisgICAgICAgICAgICAnTU9WRURfUEVSTUFORU5UTFknLAorICAgICAgICAgICAgJ0ZPVU5EJywKKyAgICAgICAgICAgICdTRUVfT1RIRVInLAorICAgICAgICAgICAgJ05PVF9NT0RJRklFRCcsCisgICAgICAgICAgICAnVVNFX1BST1hZJywKKyAgICAgICAgICAgICdURU1QT1JBUllfUkVESVJFQ1QnLAorICAgICAgICAgICAgJ0JBRF9SRVFVRVNUJywKKyAgICAgICAgICAgICdVTkFVVEhPUklaRUQnLAorICAgICAgICAgICAgJ1BBWU1FTlRfUkVRVUlSRUQnLAorICAgICAgICAgICAgJ0ZPUkJJRERFTicsCisgICAgICAgICAgICAnTk9UX0ZPVU5EJywKKyAgICAgICAgICAgICdNRVRIT0RfTk9UX0FMTE9XRUQnLAorICAgICAgICAgICAgJ05PVF9BQ0NFUFRBQkxFJywKKyAgICAgICAgICAgICdQUk9YWV9BVVRIRU5USUNBVElPTl9SRVFVSVJFRCcsCisgICAgICAgICAgICAnUkVRVUVTVF9USU1FT1VUJywKKyAgICAgICAgICAgICdDT05GTElDVCcsCisgICAgICAgICAgICAnR09ORScsCisgICAgICAgICAgICAnTEVOR1RIX1JFUVVJUkVEJywKKyAgICAgICAgICAgICdQUkVDT05ESVRJT05fRkFJTEVEJywKKyAgICAgICAgICAgICdSRVFVRVNUX0VOVElUWV9UT09fTEFSR0UnLAorICAgICAgICAgICAgJ1JFUVVFU1RfVVJJX1RPT19MT05HJywKKyAgICAgICAgICAgICdVTlNVUFBPUlRFRF9NRURJQV9UWVBFJywKKyAgICAgICAgICAgICdSRVFVRVNURURfUkFOR0VfTk9UX1NBVElTRklBQkxFJywKKyAgICAgICAgICAgICdFWFBFQ1RBVElPTl9GQUlMRUQnLAorICAgICAgICAgICAgJ1VOUFJPQ0VTU0FCTEVfRU5USVRZJywKKyAgICAgICAgICAgICdMT0NLRUQnLAorICAgICAgICAgICAgJ0ZBSUxFRF9ERVBFTkRFTkNZJywKKyAgICAgICAgICAgICdVUEdSQURFX1JFUVVJUkVEJywKKyAgICAgICAgICAgICdQUkVDT05ESVRJT05fUkVRVUlSRUQnLAorICAgICAgICAgICAgJ1RPT19NQU5ZX1JFUVVFU1RTJywKKyAgICAgICAgICAgICdSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFJywKKyAgICAgICAgICAgICdJTlRFUk5BTF9TRVJWRVJfRVJST1InLAorICAgICAgICAgICAgJ05PVF9JTVBMRU1FTlRFRCcsCisgICAgICAgICAgICAnQkFEX0dBVEVXQVknLAorICAgICAgICAgICAgJ1NFUlZJQ0VfVU5BVkFJTEFCTEUnLAorICAgICAgICAgICAgJ0dBVEVXQVlfVElNRU9VVCcsCisgICAgICAgICAgICAnSFRUUF9WRVJTSU9OX05PVF9TVVBQT1JURUQnLAorICAgICAgICAgICAgJ0lOU1VGRklDSUVOVF9TVE9SQUdFJywKKyAgICAgICAgICAgICdOT1RfRVhURU5ERUQnLAorICAgICAgICAgICAgJ05FVFdPUktfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQnLAorICAgICAgICBdCisgICAgICAgIGZvciBjb25zdCBpbiBleHBlY3RlZDoKKyAgICAgICAgICAgIHdpdGggc2VsZi5zdWJUZXN0KGNvbnN0YW50PWNvbnN0KToKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUoaGFzYXR0cihjbGllbnQsIGNvbnN0KSkKKwogCiBjbGFzcyBTb3VyY2VBZGRyZXNzVGVzdChUZXN0Q2FzZSk6CiAgICAgZGVmIHNldFVwKHNlbGYpOgogICAgICAgICBzZWxmLnNlcnYgPSBzb2NrZXQuc29ja2V0KHNvY2tldC5BRl9JTkVULCBzb2NrZXQuU09DS19TVFJFQU0pCiAgICAgICAgIHNlbGYucG9ydCA9IHN1cHBvcnQuYmluZF9wb3J0KHNlbGYuc2VydikKICAgICAgICAgc2VsZi5zb3VyY2VfcG9ydCA9IHN1cHBvcnQuZmluZF91bnVzZWRfcG9ydCgpCi0gICAgICAgIHNlbGYuc2Vydi5saXN0ZW4oNSkKKyAgICAgICAgc2VsZi5zZXJ2Lmxpc3RlbigpCiAgICAgICAgIHNlbGYuY29ubiA9IE5vbmUKIAogICAgIGRlZiB0ZWFyRG93bihzZWxmKToKQEAgLTc2NSw3ICsxMDM4LDcgQEAKICAgICBkZWYgc2V0VXAoc2VsZik6CiAgICAgICAgIHNlbGYuc2VydiA9IHNvY2tldC5zb2NrZXQoc29ja2V0LkFGX0lORVQsIHNvY2tldC5TT0NLX1NUUkVBTSkKICAgICAgICAgVGltZW91dFRlc3QuUE9SVCA9IHN1cHBvcnQuYmluZF9wb3J0KHNlbGYuc2VydikKLSAgICAgICAgc2VsZi5zZXJ2Lmxpc3Rlbig1KQorICAgICAgICBzZWxmLnNlcnYubGlzdGVuKCkKIAogICAgIGRlZiB0ZWFyRG93bihzZWxmKToKICAgICAgICAgc2VsZi5zZXJ2LmNsb3NlKCkKQEAgLTEwNzIsMTcgKzEzNDUsMTggQEAKICAgICAgICAgICAgICdIVFRQLzEuMSAyMDAgT0tcclxuJyAjIFJlcGx5IHRvIEhFQUQKICAgICAgICAgICAgICdDb250ZW50LUxlbmd0aDogNDJcclxuXHJcbicKICAgICAgICAgKQotCi0gICAgICAgIGRlZiBjcmVhdGVfY29ubmVjdGlvbihhZGRyZXNzLCB0aW1lb3V0PU5vbmUsIHNvdXJjZV9hZGRyZXNzPU5vbmUpOgotICAgICAgICAgICAgcmV0dXJuIEZha2VTb2NrZXQocmVzcG9uc2VfdGV4dCwgaG9zdD1hZGRyZXNzWzBdLCBwb3J0PWFkZHJlc3NbMV0pCi0KICAgICAgICAgc2VsZi5ob3N0ID0gJ3Byb3h5LmNvbScKICAgICAgICAgc2VsZi5jb25uID0gY2xpZW50LkhUVFBDb25uZWN0aW9uKHNlbGYuaG9zdCkKLSAgICAgICAgc2VsZi5jb25uLl9jcmVhdGVfY29ubmVjdGlvbiA9IGNyZWF0ZV9jb25uZWN0aW9uCisgICAgICAgIHNlbGYuY29ubi5fY3JlYXRlX2Nvbm5lY3Rpb24gPSBzZWxmLl9jcmVhdGVfY29ubmVjdGlvbihyZXNwb25zZV90ZXh0KQogCiAgICAgZGVmIHRlYXJEb3duKHNlbGYpOgogICAgICAgICBzZWxmLmNvbm4uY2xvc2UoKQogCisgICAgZGVmIF9jcmVhdGVfY29ubmVjdGlvbihzZWxmLCByZXNwb25zZV90ZXh0KToKKyAgICAgICAgZGVmIGNyZWF0ZV9jb25uZWN0aW9uKGFkZHJlc3MsIHRpbWVvdXQ9Tm9uZSwgc291cmNlX2FkZHJlc3M9Tm9uZSk6CisgICAgICAgICAgICByZXR1cm4gRmFrZVNvY2tldChyZXNwb25zZV90ZXh0LCBob3N0PWFkZHJlc3NbMF0sIHBvcnQ9YWRkcmVzc1sxXSkKKyAgICAgICAgcmV0dXJuIGNyZWF0ZV9jb25uZWN0aW9uCisKICAgICBkZWYgdGVzdF9zZXRfdHVubmVsX2hvc3RfcG9ydF9oZWFkZXJzKHNlbGYpOgogICAgICAgICB0dW5uZWxfaG9zdCA9ICdkZXN0aW5hdGlvbi5jb20nCiAgICAgICAgIHR1bm5lbF9wb3J0ID0gODg4OApAQCAtMTEyMywxMyArMTM5NywyNiBAQAogICAgICAgICBzZWxmLmFzc2VydEluKGInQ09OTkVDVCBkZXN0aW5hdGlvbi5jb20nLCBzZWxmLmNvbm4uc29jay5kYXRhKQogICAgICAgICBzZWxmLmFzc2VydEluKGInSG9zdDogZGVzdGluYXRpb24uY29tJywgc2VsZi5jb25uLnNvY2suZGF0YSkKIAorICAgIGRlZiB0ZXN0X3R1bm5lbF9kZWJ1Z2xvZyhzZWxmKToKKyAgICAgICAgZXhwZWN0ZWRfaGVhZGVyID0gJ1gtRHVtbXk6IDEnCisgICAgICAgIHJlc3BvbnNlX3RleHQgPSAnSFRUUC8xLjAgMjAwIE9LXHJcbnt9XHJcblxyXG4nLmZvcm1hdChleHBlY3RlZF9oZWFkZXIpCisKKyAgICAgICAgc2VsZi5jb25uLnNldF9kZWJ1Z2xldmVsKDEpCisgICAgICAgIHNlbGYuY29ubi5fY3JlYXRlX2Nvbm5lY3Rpb24gPSBzZWxmLl9jcmVhdGVfY29ubmVjdGlvbihyZXNwb25zZV90ZXh0KQorICAgICAgICBzZWxmLmNvbm4uc2V0X3R1bm5lbCgnZGVzdGluYXRpb24uY29tJykKKworICAgICAgICB3aXRoIHN1cHBvcnQuY2FwdHVyZWRfc3Rkb3V0KCkgYXMgb3V0cHV0OgorICAgICAgICAgICAgc2VsZi5jb25uLnJlcXVlc3QoJ1BVVCcsICcvJywgJycpCisgICAgICAgIGxpbmVzID0gb3V0cHV0LmdldHZhbHVlKCkuc3BsaXRsaW5lcygpCisgICAgICAgIHNlbGYuYXNzZXJ0SW4oJ2hlYWRlcjoge30nLmZvcm1hdChleHBlY3RlZF9oZWFkZXIpLCBsaW5lcykKIAogCiBAc3VwcG9ydC5yZWFwX3RocmVhZHMKIGRlZiB0ZXN0X21haW4odmVyYm9zZT1Ob25lKToKICAgICBzdXBwb3J0LnJ1bl91bml0dGVzdChIZWFkZXJUZXN0cywgT2ZmbGluZVRlc3QsIEJhc2ljVGVzdCwgVGltZW91dFRlc3QsCiAgICAgICAgICAgICAgICAgICAgICAgICAgSFRUUFNUZXN0LCBSZXF1ZXN0Qm9keVRlc3QsIFNvdXJjZUFkZHJlc3NUZXN0LAotICAgICAgICAgICAgICAgICAgICAgICAgIEhUVFBSZXNwb25zZVRlc3QsIFR1bm5lbFRlc3RzKQorICAgICAgICAgICAgICAgICAgICAgICAgIEhUVFBSZXNwb25zZVRlc3QsIEV4dGVuZGVkUmVhZFRlc3QsCisgICAgICAgICAgICAgICAgICAgICAgICAgRXh0ZW5kZWRSZWFkVGVzdENodW5rZWQsIFR1bm5lbFRlc3RzKQogCiBpZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgogICAgIHRlc3RfbWFpbigpCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2ltYXBsaWIucHkgYi9MaWIvdGVzdC90ZXN0X2ltYXBsaWIucHkKaW5kZXggYjM0ZTY1Mi4uNTQ4NWEyYSAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9pbWFwbGliLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfaW1hcGxpYi5weQpAQCAtMTEsNyArMTEsOCBAQAogaW1wb3J0IHRpbWUKIGltcG9ydCBjYWxlbmRhcgogCi1mcm9tIHRlc3Quc3VwcG9ydCBpbXBvcnQgcmVhcF90aHJlYWRzLCB2ZXJib3NlLCB0cmFuc2llbnRfaW50ZXJuZXQsIHJ1bl93aXRoX3R6LCBydW5fd2l0aF9sb2NhbGUKK2Zyb20gdGVzdC5zdXBwb3J0IGltcG9ydCAocmVhcF90aHJlYWRzLCB2ZXJib3NlLCB0cmFuc2llbnRfaW50ZXJuZXQsCisgICAgICAgICAgICAgICAgICAgICAgICAgIHJ1bl93aXRoX3R6LCBydW5fd2l0aF9sb2NhbGUpCiBpbXBvcnQgdW5pdHRlc3QKIGZyb20gZGF0ZXRpbWUgaW1wb3J0IGRhdGV0aW1lLCB0aW1lem9uZSwgdGltZWRlbHRhCiB0cnk6CkBAIC0xOSw4ICsyMCw4IEBACiBleGNlcHQgSW1wb3J0RXJyb3I6CiAgICAgc3NsID0gTm9uZQogCi1DRVJURklMRSA9IE5vbmUKLUNBRklMRSA9IE5vbmUKK0NFUlRGSUxFID0gb3MucGF0aC5qb2luKG9zLnBhdGguZGlybmFtZShfX2ZpbGVfXykgb3Igb3MuY3VyZGlyLCAia2V5Y2VydDMucGVtIikKK0NBRklMRSA9IG9zLnBhdGguam9pbihvcy5wYXRoLmRpcm5hbWUoX19maWxlX18pIG9yIG9zLmN1cmRpciwgInB5Y2FjZXJ0LnBlbSIpCiAKIAogY2xhc3MgVGVzdEltYXBsaWIodW5pdHRlc3QuVGVzdENhc2UpOgpAQCAtNDEsMTcgKzQyLDE1IEBACiAgICAgZGVmIHRlc3RfSW50ZXJuYWxkYXRlMnR1cGxlX2lzc3VlMTA5NDEoc2VsZik6CiAgICAgICAgIHNlbGYuYXNzZXJ0Tm90RXF1YWwoaW1hcGxpYi5JbnRlcm5hbGRhdGUydHVwbGUoCiAgICAgICAgICAgICBiJzI1IChJTlRFUk5BTERBVEUgIjAyLUFwci0yMDAwIDAyOjMwOjAwICswMDAwIiknKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbWFwbGliLkludGVybmFsZGF0ZTJ0dXBsZSgKLSAgICAgICAgICAgIGInMjUgKElOVEVSTkFMREFURSAiMDItQXByLTIwMDAgMDM6MzA6MDAgKzAwMDAiKScpKQotCi0KKyAgICAgICAgICAgIGltYXBsaWIuSW50ZXJuYWxkYXRlMnR1cGxlKAorICAgICAgICAgICAgICAgIGInMjUgKElOVEVSTkFMREFURSAiMDItQXByLTIwMDAgMDM6MzA6MDAgKzAwMDAiKScpKQogCiAgICAgZGVmIHRpbWV2YWx1ZXMoc2VsZik6CiAgICAgICAgIHJldHVybiBbMjAwMDAwMDAwMCwgMjAwMDAwMDAwMC4wLCB0aW1lLmxvY2FsdGltZSgyMDAwMDAwMDAwKSwKICAgICAgICAgICAgICAgICAoMjAzMywgNSwgMTgsIDUsIDMzLCAyMCwgLTEsIC0xLCAtMSksCiAgICAgICAgICAgICAgICAgKDIwMzMsIDUsIDE4LCA1LCAzMywgMjAsIC0xLCAtMSwgMSksCiAgICAgICAgICAgICAgICAgZGF0ZXRpbWUuZnJvbXRpbWVzdGFtcCgyMDAwMDAwMDAwLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGltZXpvbmUodGltZWRlbHRhKDAsIDIqNjAqNjApKSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aW1lem9uZSh0aW1lZGVsdGEoMCwgMiAqIDYwICogNjApKSksCiAgICAgICAgICAgICAgICAgJyIxOC1NYXktMjAzMyAwNTozMzoyMCArMDIwMCInXQogCiAgICAgQHJ1bl93aXRoX2xvY2FsZSgnTENfQUxMJywgJ2RlX0RFJywgJ2ZyX0ZSJykKQEAgLTcyLDcgKzcxLDYgQEAKIAogCiBpZiBzc2w6Ci0KICAgICBjbGFzcyBTZWN1cmVUQ1BTZXJ2ZXIoc29ja2V0c2VydmVyLlRDUFNlcnZlcik6CiAKICAgICAgICAgZGVmIGdldF9yZXF1ZXN0KHNlbGYpOgpAQCAtOTMsMTMgKzkxLDE3IEBACiAKIAogY2xhc3MgU2ltcGxlSU1BUEhhbmRsZXIoc29ja2V0c2VydmVyLlN0cmVhbVJlcXVlc3RIYW5kbGVyKToKLQogICAgIHRpbWVvdXQgPSAxCiAgICAgY29udGludWF0aW9uID0gTm9uZQogICAgIGNhcGFiaWxpdGllcyA9ICcnCiAKKyAgICBkZWYgc2V0dXAoc2VsZik6CisgICAgICAgIHN1cGVyKCkuc2V0dXAoKQorICAgICAgICBzZWxmLnNlcnZlci5sb2dnZWQgPSBOb25lCisKICAgICBkZWYgX3NlbmQoc2VsZiwgbWVzc2FnZSk6Ci0gICAgICAgIGlmIHZlcmJvc2U6IHByaW50KCJTRU5UOiAlciIgJSBtZXNzYWdlLnN0cmlwKCkpCisgICAgICAgIGlmIHZlcmJvc2U6CisgICAgICAgICAgICBwcmludCgiU0VOVDogJXIiICUgbWVzc2FnZS5zdHJpcCgpKQogICAgICAgICBzZWxmLndmaWxlLndyaXRlKG1lc3NhZ2UpCiAKICAgICBkZWYgX3NlbmRfbGluZShzZWxmLCBtZXNzYWdlKToKQEAgLTEzMiw3ICsxMzQsOCBAQAogICAgICAgICAgICAgICAgIGlmIGxpbmUuZW5kc3dpdGgoYidcclxuJyk6CiAgICAgICAgICAgICAgICAgICAgIGJyZWFrCiAKLSAgICAgICAgICAgIGlmIHZlcmJvc2U6IHByaW50KCdHT1Q6ICVyJyAlIGxpbmUuc3RyaXAoKSkKKyAgICAgICAgICAgIGlmIHZlcmJvc2U6CisgICAgICAgICAgICAgICAgcHJpbnQoJ0dPVDogJXInICUgbGluZS5zdHJpcCgpKQogICAgICAgICAgICAgaWYgc2VsZi5jb250aW51YXRpb246CiAgICAgICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgICAgICBzZWxmLmNvbnRpbnVhdGlvbi5zZW5kKGxpbmUpCkBAIC0xNDQsOCArMTQ3LDggQEAKICAgICAgICAgICAgIGNtZCA9IHNwbGl0bGluZVsxXQogICAgICAgICAgICAgYXJncyA9IHNwbGl0bGluZVsyOl0KIAotICAgICAgICAgICAgaWYgaGFzYXR0cihzZWxmLCAnY21kXycrY21kKToKLSAgICAgICAgICAgICAgICBjb250aW51YXRpb24gPSBnZXRhdHRyKHNlbGYsICdjbWRfJytjbWQpKHRhZywgYXJncykKKyAgICAgICAgICAgIGlmIGhhc2F0dHIoc2VsZiwgJ2NtZF8nICsgY21kKToKKyAgICAgICAgICAgICAgICBjb250aW51YXRpb24gPSBnZXRhdHRyKHNlbGYsICdjbWRfJyArIGNtZCkodGFnLCBhcmdzKQogICAgICAgICAgICAgICAgIGlmIGNvbnRpbnVhdGlvbjoKICAgICAgICAgICAgICAgICAgICAgc2VsZi5jb250aW51YXRpb24gPSBjb250aW51YXRpb24KICAgICAgICAgICAgICAgICAgICAgbmV4dChjb250aW51YXRpb24pCkBAIC0xNTMsMTYgKzE1NiwyNSBAQAogICAgICAgICAgICAgICAgIHNlbGYuX3NlbmRfdGFnZ2VkKHRhZywgJ0JBRCcsIGNtZCArICcgdW5rbm93bicpCiAKICAgICBkZWYgY21kX0NBUEFCSUxJVFkoc2VsZiwgdGFnLCBhcmdzKToKLSAgICAgICAgY2FwcyA9ICdJTUFQNHJldjEgJyArIHNlbGYuY2FwYWJpbGl0aWVzIGlmIHNlbGYuY2FwYWJpbGl0aWVzIGVsc2UgJ0lNQVA0cmV2MScKKyAgICAgICAgY2FwcyA9ICgnSU1BUDRyZXYxICcgKyBzZWxmLmNhcGFiaWxpdGllcworICAgICAgICAgICAgICAgIGlmIHNlbGYuY2FwYWJpbGl0aWVzCisgICAgICAgICAgICAgICAgZWxzZSAnSU1BUDRyZXYxJykKICAgICAgICAgc2VsZi5fc2VuZF90ZXh0bGluZSgnKiBDQVBBQklMSVRZICcgKyBjYXBzKQogICAgICAgICBzZWxmLl9zZW5kX3RhZ2dlZCh0YWcsICdPSycsICdDQVBBQklMSVRZIGNvbXBsZXRlZCcpCiAKICAgICBkZWYgY21kX0xPR09VVChzZWxmLCB0YWcsIGFyZ3MpOgorICAgICAgICBzZWxmLnNlcnZlci5sb2dnZWQgPSBOb25lCiAgICAgICAgIHNlbGYuX3NlbmRfdGV4dGxpbmUoJyogQllFIElNQVA0cmVmMSBTZXJ2ZXIgbG9nZ2luZyBvdXQnKQogICAgICAgICBzZWxmLl9zZW5kX3RhZ2dlZCh0YWcsICdPSycsICdMT0dPVVQgY29tcGxldGVkJykKIAorICAgIGRlZiBjbWRfTE9HSU4oc2VsZiwgdGFnLCBhcmdzKToKKyAgICAgICAgc2VsZi5zZXJ2ZXIubG9nZ2VkID0gYXJnc1swXQorICAgICAgICBzZWxmLl9zZW5kX3RhZ2dlZCh0YWcsICdPSycsICdMT0dJTiBjb21wbGV0ZWQnKQogCi1jbGFzcyBCYXNlVGhyZWFkZWROZXR3b3JrZWRUZXN0cyh1bml0dGVzdC5UZXN0Q2FzZSk6CisKK2NsYXNzIFRocmVhZGVkTmV0d29ya2VkVGVzdHModW5pdHRlc3QuVGVzdENhc2UpOgorICAgIHNlcnZlcl9jbGFzcyA9IHNvY2tldHNlcnZlci5UQ1BTZXJ2ZXIKKyAgICBpbWFwX2NsYXNzID0gaW1hcGxpYi5JTUFQNAogCiAgICAgZGVmIG1ha2Vfc2VydmVyKHNlbGYsIGFkZHIsIGhkbHIpOgogCkBAIC0xNzIsNyArMTg0LDggQEAKICAgICAgICAgICAgICAgICBzZWxmLnNlcnZlcl9jbG9zZSgpCiAgICAgICAgICAgICAgICAgcmFpc2UKIAotICAgICAgICBpZiB2ZXJib3NlOiBwcmludCgiY3JlYXRpbmcgc2VydmVyIikKKyAgICAgICAgaWYgdmVyYm9zZToKKyAgICAgICAgICAgIHByaW50KCJjcmVhdGluZyBzZXJ2ZXIiKQogICAgICAgICBzZXJ2ZXIgPSBNeVNlcnZlcihhZGRyLCBoZGxyKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlcnZlci5zZXJ2ZXJfYWRkcmVzcywgc2VydmVyLnNvY2tldC5nZXRzb2NrbmFtZSgpKQogCkBAIC0xODgsMTggKzIwMSwyMSBAQAogICAgICAgICAgICAgIyBTaG9ydCBwb2xsIGludGVydmFsIHRvIG1ha2UgdGhlIHRlc3QgZmluaXNoIHF1aWNrbHkuCiAgICAgICAgICAgICAjIFRpbWUgYmV0d2VlbiByZXF1ZXN0cyBpcyBzaG9ydCBlbm91Z2ggdGhhdCB3ZSB3b24ndCB3YWtlCiAgICAgICAgICAgICAjIHVwIHNwdXJpb3VzbHkgdG9vIG1hbnkgdGltZXMuCi0gICAgICAgICAgICBrd2FyZ3M9eydwb2xsX2ludGVydmFsJzowLjAxfSkKKyAgICAgICAgICAgIGt3YXJncz17J3BvbGxfaW50ZXJ2YWwnOiAwLjAxfSkKICAgICAgICAgdC5kYWVtb24gPSBUcnVlICAjIEluIGNhc2UgdGhpcyBmdW5jdGlvbiByYWlzZXMuCiAgICAgICAgIHQuc3RhcnQoKQotICAgICAgICBpZiB2ZXJib3NlOiBwcmludCgic2VydmVyIHJ1bm5pbmciKQorICAgICAgICBpZiB2ZXJib3NlOgorICAgICAgICAgICAgcHJpbnQoInNlcnZlciBydW5uaW5nIikKICAgICAgICAgcmV0dXJuIHNlcnZlciwgdAogCiAgICAgZGVmIHJlYXBfc2VydmVyKHNlbGYsIHNlcnZlciwgdGhyZWFkKToKLSAgICAgICAgaWYgdmVyYm9zZTogcHJpbnQoIndhaXRpbmcgZm9yIHNlcnZlciIpCisgICAgICAgIGlmIHZlcmJvc2U6CisgICAgICAgICAgICBwcmludCgid2FpdGluZyBmb3Igc2VydmVyIikKICAgICAgICAgc2VydmVyLnNodXRkb3duKCkKICAgICAgICAgc2VydmVyLnNlcnZlcl9jbG9zZSgpCiAgICAgICAgIHRocmVhZC5qb2luKCkKLSAgICAgICAgaWYgdmVyYm9zZTogcHJpbnQoImRvbmUiKQorICAgICAgICBpZiB2ZXJib3NlOgorICAgICAgICAgICAgcHJpbnQoImRvbmUiKQogCiAgICAgQGNvbnRleHRtYW5hZ2VyCiAgICAgZGVmIHJlYXBlZF9zZXJ2ZXIoc2VsZiwgaGRscik6CkBAIC0yNTYsNyArMjcyLDcgQEAKIAogICAgICAgICAgICAgZGVmIGNtZF9BVVRIRU5USUNBVEUoc2VsZiwgdGFnLCBhcmdzKToKICAgICAgICAgICAgICAgICBzZWxmLl9zZW5kX3RhZ2dlZCh0YWcsICdOTycsICd1bnJlY29nbml6ZWQgYXV0aGVudGljYXRpb24gJwotICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cGUge30nLmZvcm1hdChhcmdzWzBdKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZSB7fScuZm9ybWF0KGFyZ3NbMF0pKQogCiAgICAgICAgIHdpdGggc2VsZi5yZWFwZWRfcGFpcihNeVNlcnZlcikgYXMgKHNlcnZlciwgY2xpZW50KToKICAgICAgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoaW1hcGxpYi5JTUFQNC5lcnJvcik6CkBAIC0yOTAsMTMgKzMwNiwxMyBAQAogICAgICAgICAgICAgY29kZSwgZGF0YSA9IGNsaWVudC5hdXRoZW50aWNhdGUoJ01ZQVVUSCcsIGxhbWJkYSB4OiBiJ2Zha2UnKQogICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjb2RlLCAnT0snKQogICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZXJ2ZXIucmVzcG9uc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGInWm1GclpRPT1cclxuJykgI2I2NCBlbmNvZGVkICdmYWtlJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiJ1ptRnJaUT09XHJcbicpICAjIGI2NCBlbmNvZGVkICdmYWtlJwogCiAgICAgICAgIHdpdGggc2VsZi5yZWFwZWRfcGFpcihNeVNlcnZlcikgYXMgKHNlcnZlciwgY2xpZW50KToKICAgICAgICAgICAgIGNvZGUsIGRhdGEgPSBjbGllbnQuYXV0aGVudGljYXRlKCdNWUFVVEgnLCBsYW1iZGEgeDogJ2Zha2UnKQogICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjb2RlLCAnT0snKQogICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZXJ2ZXIucmVzcG9uc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGInWm1GclpRPT1cclxuJykgI2I2NCBlbmNvZGVkICdmYWtlJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiJ1ptRnJaUT09XHJcbicpICAjIGI2NCBlbmNvZGVkICdmYWtlJwogCiAgICAgQHJlYXBfdGhyZWFkcwogICAgIGRlZiB0ZXN0X2xvZ2luX2NyYW1fbWQ1KHNlbGYpOgpAQCAtMzA3LDkgKzMyMywxMCBAQAogCiAgICAgICAgICAgICBkZWYgY21kX0FVVEhFTlRJQ0FURShzZWxmLCB0YWcsIGFyZ3MpOgogICAgICAgICAgICAgICAgIHNlbGYuX3NlbmRfdGV4dGxpbmUoJysgUERFNE9UWXVOamszTVRjd09UVXlRSEJ2YzNSdlptWnBZMlV1Y20nCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVnpkRzl1TG0xamFTNXVaWFE9JykKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdWemRHOXVMbTFqYVM1dVpYUT0nKQogICAgICAgICAgICAgICAgIHIgPSB5aWVsZAotICAgICAgICAgICAgICAgIGlmIHIgPT0gIGInZEdsdElHWXhZMkUyWW1VME5qUmlPV1ZtWVRGalkyRTJabVprTm1ObU1tUTVaak15XHJcbic6CisgICAgICAgICAgICAgICAgaWYgKHIgPT0gYidkR2x0SUdZeFkyRTJZbVUwTmpSaU9XVm1ZVCcKKyAgICAgICAgICAgICAgICAgICAgICAgICBiJ0ZqWTJFMlptWmtObU5tTW1RNVpqTXlcclxuJyk6CiAgICAgICAgICAgICAgICAgICAgIHNlbGYuX3NlbmRfdGFnZ2VkKHRhZywgJ09LJywgJ0NSQU0tTUQ1IHN1Y2Nlc3NmdWwnKQogICAgICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgICAgIHNlbGYuX3NlbmRfdGFnZ2VkKHRhZywgJ05PJywgJ05vIGFjY2VzcycpCkBAIC0zMjQsMjcgKzM0MSw0NSBAQAogICAgICAgICAgICAgcmV0LCBkYXRhID0gY2xpZW50LmxvZ2luX2NyYW1fbWQ1KCJ0aW0iLCBiInRhbnN0YWFmdGFuc3RhYWYiKQogICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZXQsICJPSyIpCiAKLQogICAgIGRlZiB0ZXN0X2xpbmV0b29sb25nKHNlbGYpOgogICAgICAgICBjbGFzcyBUb29Mb25nSGFuZGxlcihTaW1wbGVJTUFQSGFuZGxlcik6CiAgICAgICAgICAgICBkZWYgaGFuZGxlKHNlbGYpOgogICAgICAgICAgICAgICAgICMgU2VuZCBhIHZlcnkgbG9uZyByZXNwb25zZSBsaW5lCi0gICAgICAgICAgICAgICAgc2VsZi53ZmlsZS53cml0ZShiJyogT0sgJyArIGltYXBsaWIuX01BWExJTkUqYid4JyArIGInXHJcbicpCisgICAgICAgICAgICAgICAgc2VsZi53ZmlsZS53cml0ZShiJyogT0sgJyArIGltYXBsaWIuX01BWExJTkUgKiBiJ3gnICsgYidcclxuJykKIAogICAgICAgICB3aXRoIHNlbGYucmVhcGVkX3NlcnZlcihUb29Mb25nSGFuZGxlcikgYXMgc2VydmVyOgogICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoaW1hcGxpYi5JTUFQNC5lcnJvciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuaW1hcF9jbGFzcywgKnNlcnZlci5zZXJ2ZXJfYWRkcmVzcykKIAorICAgIEByZWFwX3RocmVhZHMKKyAgICBkZWYgdGVzdF9zaW1wbGVfd2l0aF9zdGF0ZW1lbnQoc2VsZik6CisgICAgICAgICMgc2ltcGxlc3QgY2FsbAorICAgICAgICB3aXRoIHNlbGYucmVhcGVkX3NlcnZlcihTaW1wbGVJTUFQSGFuZGxlcikgYXMgc2VydmVyOgorICAgICAgICAgICAgd2l0aCBzZWxmLmltYXBfY2xhc3MoKnNlcnZlci5zZXJ2ZXJfYWRkcmVzcyk6CisgICAgICAgICAgICAgICAgcGFzcwogCi1jbGFzcyBUaHJlYWRlZE5ldHdvcmtlZFRlc3RzKEJhc2VUaHJlYWRlZE5ldHdvcmtlZFRlc3RzKToKKyAgICBAcmVhcF90aHJlYWRzCisgICAgZGVmIHRlc3Rfd2l0aF9zdGF0ZW1lbnQoc2VsZik6CisgICAgICAgIHdpdGggc2VsZi5yZWFwZWRfc2VydmVyKFNpbXBsZUlNQVBIYW5kbGVyKSBhcyBzZXJ2ZXI6CisgICAgICAgICAgICB3aXRoIHNlbGYuaW1hcF9jbGFzcygqc2VydmVyLnNlcnZlcl9hZGRyZXNzKSBhcyBpbWFwOgorICAgICAgICAgICAgICAgIGltYXAubG9naW4oJ3VzZXInLCAncGFzcycpCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZXJ2ZXIubG9nZ2VkLCAndXNlcicpCisgICAgICAgICAgICBzZWxmLmFzc2VydElzTm9uZShzZXJ2ZXIubG9nZ2VkKQogCi0gICAgc2VydmVyX2NsYXNzID0gc29ja2V0c2VydmVyLlRDUFNlcnZlcgotICAgIGltYXBfY2xhc3MgPSBpbWFwbGliLklNQVA0CisgICAgQHJlYXBfdGhyZWFkcworICAgIGRlZiB0ZXN0X3dpdGhfc3RhdGVtZW50X2xvZ291dChzZWxmKToKKyAgICAgICAgIyB3aGF0IGhhcHBlbnMgaWYgYWxyZWFkeSBsb2dvdXQgaW4gdGhlIGJsb2NrPworICAgICAgICB3aXRoIHNlbGYucmVhcGVkX3NlcnZlcihTaW1wbGVJTUFQSGFuZGxlcikgYXMgc2VydmVyOgorICAgICAgICAgICAgd2l0aCBzZWxmLmltYXBfY2xhc3MoKnNlcnZlci5zZXJ2ZXJfYWRkcmVzcykgYXMgaW1hcDoKKyAgICAgICAgICAgICAgICBpbWFwLmxvZ2luKCd1c2VyJywgJ3Bhc3MnKQorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VydmVyLmxvZ2dlZCwgJ3VzZXInKQorICAgICAgICAgICAgICAgIGltYXAubG9nb3V0KCkKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydElzTm9uZShzZXJ2ZXIubG9nZ2VkKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRJc05vbmUoc2VydmVyLmxvZ2dlZCkKIAogCiBAdW5pdHRlc3Quc2tpcFVubGVzcyhzc2wsICJTU0wgbm90IGF2YWlsYWJsZSIpCi1jbGFzcyBUaHJlYWRlZE5ldHdvcmtlZFRlc3RzU1NMKEJhc2VUaHJlYWRlZE5ldHdvcmtlZFRlc3RzKToKLQorY2xhc3MgVGhyZWFkZWROZXR3b3JrZWRUZXN0c1NTTChUaHJlYWRlZE5ldHdvcmtlZFRlc3RzKToKICAgICBzZXJ2ZXJfY2xhc3MgPSBTZWN1cmVUQ1BTZXJ2ZXIKICAgICBpbWFwX2NsYXNzID0gSU1BUDRfU1NMCiAKQEAgLTM1NSw4ICszOTAsOSBAQAogICAgICAgICBzc2xfY29udGV4dC5jaGVja19ob3N0bmFtZSA9IFRydWUKICAgICAgICAgc3NsX2NvbnRleHQubG9hZF92ZXJpZnlfbG9jYXRpb25zKENBRklMRSkKIAotICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgoc3NsLkNlcnRpZmljYXRlRXJyb3IsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaG9zdG5hbWUgJzEyNy4wLjAuMScgZG9lc24ndCBtYXRjaCAnbG9jYWxob3N0JyIpOgorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgoCisgICAgICAgICAgICAgICAgc3NsLkNlcnRpZmljYXRlRXJyb3IsCisgICAgICAgICAgICAgICAgImhvc3RuYW1lICcxMjcuMC4wLjEnIGRvZXNuJ3QgbWF0Y2ggJ2xvY2FsaG9zdCciKToKICAgICAgICAgICAgIHdpdGggc2VsZi5yZWFwZWRfc2VydmVyKFNpbXBsZUlNQVBIYW5kbGVyKSBhcyBzZXJ2ZXI6CiAgICAgICAgICAgICAgICAgY2xpZW50ID0gc2VsZi5pbWFwX2NsYXNzKCpzZXJ2ZXIuc2VydmVyX2FkZHJlc3MsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNzbF9jb250ZXh0PXNzbF9jb250ZXh0KQpAQCAtMzY4LDYgKzQwNCw4IEBACiAgICAgICAgICAgICBjbGllbnQuc2h1dGRvd24oKQogCiAKK0B1bml0dGVzdC5za2lwVW5sZXNzKAorICAgIHN1cHBvcnQuaXNfcmVzb3VyY2VfZW5hYmxlZCgnbmV0d29yaycpLCAnbmV0d29yayByZXNvdXJjZSBkaXNhYmxlZCcpCiBjbGFzcyBSZW1vdGVJTUFQVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgaG9zdCA9ICdjeXJ1cy5hbmRyZXcuY211LmVkdScKICAgICBwb3J0ID0gMTQzCkBAIC00MDEsNiArNDM5LDggQEAKIAogCiBAdW5pdHRlc3Quc2tpcFVubGVzcyhzc2wsICJTU0wgbm90IGF2YWlsYWJsZSIpCitAdW5pdHRlc3Quc2tpcFVubGVzcygKKyAgICBzdXBwb3J0LmlzX3Jlc291cmNlX2VuYWJsZWQoJ25ldHdvcmsnKSwgJ25ldHdvcmsgcmVzb3VyY2UgZGlzYWJsZWQnKQogY2xhc3MgUmVtb3RlSU1BUF9TVEFSVFRMU1Rlc3QoUmVtb3RlSU1BUFRlc3QpOgogCiAgICAgZGVmIHNldFVwKHNlbGYpOgpAQCAtNDU0LDcgKzQ5NCw4IEBACiAKICAgICBkZWYgdGVzdF9sb2dpbmNhcGFfd2l0aF9jbGllbnRfc3NsX2NvbnRleHQoc2VsZik6CiAgICAgICAgIHdpdGggdHJhbnNpZW50X2ludGVybmV0KHNlbGYuaG9zdCk6Ci0gICAgICAgICAgICBfc2VydmVyID0gc2VsZi5pbWFwX2NsYXNzKHNlbGYuaG9zdCwgc2VsZi5wb3J0LCBzc2xfY29udGV4dD1zZWxmLmNyZWF0ZV9zc2xfY29udGV4dCgpKQorICAgICAgICAgICAgX3NlcnZlciA9IHNlbGYuaW1hcF9jbGFzcygKKyAgICAgICAgICAgICAgICBzZWxmLmhvc3QsIHNlbGYucG9ydCwgc3NsX2NvbnRleHQ9c2VsZi5jcmVhdGVfc3NsX2NvbnRleHQoKSkKICAgICAgICAgICAgIHNlbGYuY2hlY2tfbG9naW5jYXBhKF9zZXJ2ZXIpCiAKICAgICBkZWYgdGVzdF9sb2dvdXQoc2VsZik6CkBAIC00NjUsMzUgKzUwNiwxNSBAQAogCiAgICAgZGVmIHRlc3Rfc3NsX2NvbnRleHRfY2VydGZpbGVfZXhjbHVzaXZlKHNlbGYpOgogICAgICAgICB3aXRoIHRyYW5zaWVudF9pbnRlcm5ldChzZWxmLmhvc3QpOgotICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgc2VsZi5pbWFwX2NsYXNzLCBzZWxmLmhvc3QsIHNlbGYucG9ydCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNlcnRmaWxlPUNFUlRGSUxFLCBzc2xfY29udGV4dD1zZWxmLmNyZWF0ZV9zc2xfY29udGV4dCgpKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoCisgICAgICAgICAgICAgICAgVmFsdWVFcnJvciwgc2VsZi5pbWFwX2NsYXNzLCBzZWxmLmhvc3QsIHNlbGYucG9ydCwKKyAgICAgICAgICAgICAgICBjZXJ0ZmlsZT1DRVJURklMRSwgc3NsX2NvbnRleHQ9c2VsZi5jcmVhdGVfc3NsX2NvbnRleHQoKSkKIAogICAgIGRlZiB0ZXN0X3NzbF9jb250ZXh0X2tleWZpbGVfZXhjbHVzaXZlKHNlbGYpOgogICAgICAgICB3aXRoIHRyYW5zaWVudF9pbnRlcm5ldChzZWxmLmhvc3QpOgotICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgc2VsZi5pbWFwX2NsYXNzLCBzZWxmLmhvc3QsIHNlbGYucG9ydCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleWZpbGU9Q0VSVEZJTEUsIHNzbF9jb250ZXh0PXNlbGYuY3JlYXRlX3NzbF9jb250ZXh0KCkpCi0KLQotZGVmIGxvYWRfdGVzdHMoKmFyZ3MpOgotICAgIHRlc3RzID0gW1Rlc3RJbWFwbGliXQotCi0gICAgaWYgc3VwcG9ydC5pc19yZXNvdXJjZV9lbmFibGVkKCduZXR3b3JrJyk6Ci0gICAgICAgIGlmIHNzbDoKLSAgICAgICAgICAgIGdsb2JhbCBDRVJURklMRSwgQ0FGSUxFCi0gICAgICAgICAgICBDRVJURklMRSA9IG9zLnBhdGguam9pbihvcy5wYXRoLmRpcm5hbWUoX19maWxlX18pIG9yIG9zLmN1cmRpciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJrZXljZXJ0My5wZW0iKQotICAgICAgICAgICAgaWYgbm90IG9zLnBhdGguZXhpc3RzKENFUlRGSUxFKToKLSAgICAgICAgICAgICAgICByYWlzZSBzdXBwb3J0LlRlc3RGYWlsZWQoIkNhbid0IHJlYWQgY2VydGlmaWNhdGUgZmlsZXMhIikKLSAgICAgICAgICAgIENBRklMRSA9IG9zLnBhdGguam9pbihvcy5wYXRoLmRpcm5hbWUoX19maWxlX18pIG9yIG9zLmN1cmRpciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJweWNhY2VydC5wZW0iKQotICAgICAgICAgICAgaWYgbm90IG9zLnBhdGguZXhpc3RzKENBRklMRSk6Ci0gICAgICAgICAgICAgICAgcmFpc2Ugc3VwcG9ydC5UZXN0RmFpbGVkKCJDYW4ndCByZWFkIENBIGZpbGUhIikKLSAgICAgICAgdGVzdHMuZXh0ZW5kKFsKLSAgICAgICAgICAgIFRocmVhZGVkTmV0d29ya2VkVGVzdHMsIFRocmVhZGVkTmV0d29ya2VkVGVzdHNTU0wsCi0gICAgICAgICAgICBSZW1vdGVJTUFQVGVzdCwgUmVtb3RlSU1BUF9TU0xUZXN0LCBSZW1vdGVJTUFQX1NUQVJUVExTVGVzdCwKLSAgICAgICAgXSkKLQotICAgIHJldHVybiB1bml0dGVzdC5UZXN0U3VpdGUoW3VuaXR0ZXN0Lm1ha2VTdWl0ZSh0ZXN0KSBmb3IgdGVzdCBpbiB0ZXN0c10pCisgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcygKKyAgICAgICAgICAgICAgICBWYWx1ZUVycm9yLCBzZWxmLmltYXBfY2xhc3MsIHNlbGYuaG9zdCwgc2VsZi5wb3J0LAorICAgICAgICAgICAgICAgIGtleWZpbGU9Q0VSVEZJTEUsIHNzbF9jb250ZXh0PXNlbGYuY3JlYXRlX3NzbF9jb250ZXh0KCkpCiAKIAogaWYgX19uYW1lX18gPT0gIl9fbWFpbl9fIjoKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfaW1naGRyLnB5IGIvTGliL3Rlc3QvdGVzdF9pbWdoZHIucHkKaW5kZXggMGFkNDM0My4uYjU0ZGFmOCAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9pbWdoZHIucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9pbWdoZHIucHkKQEAgLTE2LDcgKzE2LDkgQEAKICAgICAoJ3B5dGhvbi5yYXMnLCAncmFzdCcpLAogICAgICgncHl0aG9uLnNnaScsICdyZ2InKSwKICAgICAoJ3B5dGhvbi50aWZmJywgJ3RpZmYnKSwKLSAgICAoJ3B5dGhvbi54Ym0nLCAneGJtJykKKyAgICAoJ3B5dGhvbi54Ym0nLCAneGJtJyksCisgICAgKCdweXRob24ud2VicCcsICd3ZWJwJyksCisgICAgKCdweXRob24uZXhyJywgJ2V4cicpLAogKQogCiBjbGFzcyBVbnNlZWthYmxlSU8oaW8uRmlsZUlPKToKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfaW1wb3J0LnB5IGIvTGliL3Rlc3QvdGVzdF9pbXBvcnQvX19pbml0X18ucHkKc2ltaWxhcml0eSBpbmRleCA5NSUKcmVuYW1lIGZyb20gTGliL3Rlc3QvdGVzdF9pbXBvcnQucHkKcmVuYW1lIHRvIExpYi90ZXN0L3Rlc3RfaW1wb3J0L19faW5pdF9fLnB5CmluZGV4IGI0ODQyYzUuLmZkMjFmYTIgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfaW1wb3J0LnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfaW1wb3J0L19faW5pdF9fLnB5CkBAIC01NjgsNyArNTY4LDcgQEAKIAogICAgIGRlZiB0ZXN0X3JlbGltcG9ydF9zdGFyKHNlbGYpOgogICAgICAgICAjIFRoaXMgd2lsbCBpbXBvcnQgKiBmcm9tIC50ZXN0X2ltcG9ydC4KLSAgICAgICAgZnJvbSAuIGltcG9ydCByZWxpbXBvcnQKKyAgICAgICAgZnJvbSAuLiBpbXBvcnQgcmVsaW1wb3J0CiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShoYXNhdHRyKHJlbGltcG9ydCwgIlJlbGF0aXZlSW1wb3J0VGVzdHMiKSkKIAogICAgIGRlZiB0ZXN0X2lzc3VlMzIyMShzZWxmKToKQEAgLTEwNjgsNiArMTA2OCw0NiBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19pc29sYXRlZD1GYWxzZSkKIAogCitjbGFzcyBDaXJjdWxhckltcG9ydFRlc3RzKHVuaXR0ZXN0LlRlc3RDYXNlKToKKworICAgICIiIlNlZSB0aGUgZG9jc3RyaW5ncyBvZiB0aGUgbW9kdWxlcyBiZWluZyBpbXBvcnRlZCBmb3IgdGhlIHB1cnBvc2Ugb2YgdGhlCisgICAgdGVzdC4iIiIKKworICAgIGRlZiB0ZWFyRG93bihzZWxmKToKKyAgICAgICAgIiIiTWFrZSBzdXJlIG5vIG1vZHVsZXMgcHJlLWV4aXN0IGluIHN5cy5tb2R1bGVzIHdoaWNoIGFyZSBiZWluZyB1c2VkIHRvCisgICAgICAgIHRlc3QuIiIiCisgICAgICAgIGZvciBrZXkgaW4gbGlzdChzeXMubW9kdWxlcy5rZXlzKCkpOgorICAgICAgICAgICAgaWYga2V5LnN0YXJ0c3dpdGgoJ3Rlc3QudGVzdF9pbXBvcnQuZGF0YS5jaXJjdWxhcl9pbXBvcnRzJyk6CisgICAgICAgICAgICAgICAgZGVsIHN5cy5tb2R1bGVzW2tleV0KKworICAgIGRlZiB0ZXN0X2RpcmVjdChzZWxmKToKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgaW1wb3J0IHRlc3QudGVzdF9pbXBvcnQuZGF0YS5jaXJjdWxhcl9pbXBvcnRzLmJhc2ljCisgICAgICAgIGV4Y2VwdCBJbXBvcnRFcnJvcjoKKyAgICAgICAgICAgIHNlbGYuZmFpbCgnY2lyY3VsYXIgaW1wb3J0IHRocm91Z2ggcmVsYXRpdmUgaW1wb3J0cyBmYWlsZWQnKQorCisgICAgZGVmIHRlc3RfaW5kaXJlY3Qoc2VsZik6CisgICAgICAgIHRyeToKKyAgICAgICAgICAgIGltcG9ydCB0ZXN0LnRlc3RfaW1wb3J0LmRhdGEuY2lyY3VsYXJfaW1wb3J0cy5pbmRpcmVjdAorICAgICAgICBleGNlcHQgSW1wb3J0RXJyb3I6CisgICAgICAgICAgICBzZWxmLmZhaWwoJ3JlbGF0aXZlIGltcG9ydCBpbiBtb2R1bGUgY29udHJpYnV0aW5nIHRvIGNpcmN1bGFyICcKKyAgICAgICAgICAgICAgICAgICAgICAnaW1wb3J0IGZhaWxlZCcpCisKKyAgICBkZWYgdGVzdF9zdWJwYWNrYWdlKHNlbGYpOgorICAgICAgICB0cnk6CisgICAgICAgICAgICBpbXBvcnQgdGVzdC50ZXN0X2ltcG9ydC5kYXRhLmNpcmN1bGFyX2ltcG9ydHMuc3VicGFja2FnZQorICAgICAgICBleGNlcHQgSW1wb3J0RXJyb3I6CisgICAgICAgICAgICBzZWxmLmZhaWwoJ2NpcmN1bGFyIGltcG9ydCBpbnZvbHZpbmcgYSBzdWJwYWNrYWdlIGZhaWxlZCcpCisKKyAgICBkZWYgdGVzdF9yZWJpbmRpbmcoc2VsZik6CisgICAgICAgIHRyeToKKyAgICAgICAgICAgIGltcG9ydCB0ZXN0LnRlc3RfaW1wb3J0LmRhdGEuY2lyY3VsYXJfaW1wb3J0cy5yZWJpbmRpbmcgYXMgcmViaW5kaW5nCisgICAgICAgIGV4Y2VwdCBJbXBvcnRFcnJvcjoKKyAgICAgICAgICAgIHNlbGYuZmFpbCgnY2lyY3VsYXIgaW1wb3J0IHdpdGggcmViaW5kaW5nIG9mIG1vZHVsZSBhdHRyaWJ1dGUgZmFpbGVkJykKKyAgICAgICAgZnJvbSB0ZXN0LnRlc3RfaW1wb3J0LmRhdGEuY2lyY3VsYXJfaW1wb3J0cy5zdWJwa2cgaW1wb3J0IHV0aWwKKyAgICAgICAgc2VsZi5hc3NlcnRJcyh1dGlsLnV0aWwsIHJlYmluZGluZy51dGlsKQorCisKIGlmIF9fbmFtZV9fID09ICdfX21haW5fXyc6CiAgICAgIyBUZXN0IG5lZWRzIHRvIGJlIGEgcGFja2FnZSwgc28gd2UgY2FuIGRvIHJlbGF0aXZlIGltcG9ydHMuCiAgICAgdW5pdHRlc3QubWFpbigpCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2ltcG9ydC9fX21haW5fXy5weSBiL0xpYi90ZXN0L3Rlc3RfaW1wb3J0L19fbWFpbl9fLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI0ZjAyYTEKLS0tIC9kZXYvbnVsbAorKysgYi9MaWIvdGVzdC90ZXN0X2ltcG9ydC9fX21haW5fXy5weQpAQCAtMCwwICsxLDMgQEAKK2ltcG9ydCB1bml0dGVzdAorCit1bml0dGVzdC5tYWluKCd0ZXN0LnRlc3RfaW1wb3J0JykKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfaW1wb3J0L2RhdGEvY2lyY3VsYXJfaW1wb3J0cy9iYXNpYy5weSBiL0xpYi90ZXN0L3Rlc3RfaW1wb3J0L2RhdGEvY2lyY3VsYXJfaW1wb3J0cy9iYXNpYy5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZTQxZTM5Ci0tLSAvZGV2L251bGwKKysrIGIvTGliL3Rlc3QvdGVzdF9pbXBvcnQvZGF0YS9jaXJjdWxhcl9pbXBvcnRzL2Jhc2ljLnB5CkBAIC0wLDAgKzEsMiBAQAorIiIiQ2lyY3VsYXIgaW1wb3J0cyB0aHJvdWdoIGRpcmVjdCwgcmVsYXRpdmUgaW1wb3J0cy4iIiIKK2Zyb20gLiBpbXBvcnQgYmFzaWMyCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2ltcG9ydC9kYXRhL2NpcmN1bGFyX2ltcG9ydHMvYmFzaWMyLnB5IGIvTGliL3Rlc3QvdGVzdF9pbXBvcnQvZGF0YS9jaXJjdWxhcl9pbXBvcnRzL2Jhc2ljMi5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wMGJkMmYyCi0tLSAvZGV2L251bGwKKysrIGIvTGliL3Rlc3QvdGVzdF9pbXBvcnQvZGF0YS9jaXJjdWxhcl9pbXBvcnRzL2Jhc2ljMi5weQpAQCAtMCwwICsxIEBACitmcm9tIC4gaW1wb3J0IGJhc2ljCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2ltcG9ydC9kYXRhL2NpcmN1bGFyX2ltcG9ydHMvaW5kaXJlY3QucHkgYi9MaWIvdGVzdC90ZXN0X2ltcG9ydC9kYXRhL2NpcmN1bGFyX2ltcG9ydHMvaW5kaXJlY3QucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjkyNTc4OAotLS0gL2Rldi9udWxsCisrKyBiL0xpYi90ZXN0L3Rlc3RfaW1wb3J0L2RhdGEvY2lyY3VsYXJfaW1wb3J0cy9pbmRpcmVjdC5weQpAQCAtMCwwICsxIEBACitmcm9tIC4gaW1wb3J0IGJhc2ljLCBiYXNpYzIKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfaW1wb3J0L2RhdGEvY2lyY3VsYXJfaW1wb3J0cy9yZWJpbmRpbmcucHkgYi9MaWIvdGVzdC90ZXN0X2ltcG9ydC9kYXRhL2NpcmN1bGFyX2ltcG9ydHMvcmViaW5kaW5nLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJiNzczNzUKLS0tIC9kZXYvbnVsbAorKysgYi9MaWIvdGVzdC90ZXN0X2ltcG9ydC9kYXRhL2NpcmN1bGFyX2ltcG9ydHMvcmViaW5kaW5nLnB5CkBAIC0wLDAgKzEsMyBAQAorIiIiVGVzdCB0aGUgYmluZGluZyBvZiBuYW1lcyB3aGVuIGEgY2lyY3VsYXIgaW1wb3J0IHNoYXJlcyB0aGUgc2FtZSBuYW1lIGFzIGFuCithdHRyaWJ1dGUuIiIiCitmcm9tIC5yZWJpbmRpbmcyIGltcG9ydCB1dGlsCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2ltcG9ydC9kYXRhL2NpcmN1bGFyX2ltcG9ydHMvcmViaW5kaW5nMi5weSBiL0xpYi90ZXN0L3Rlc3RfaW1wb3J0L2RhdGEvY2lyY3VsYXJfaW1wb3J0cy9yZWJpbmRpbmcyLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU3YTllNjkKLS0tIC9kZXYvbnVsbAorKysgYi9MaWIvdGVzdC90ZXN0X2ltcG9ydC9kYXRhL2NpcmN1bGFyX2ltcG9ydHMvcmViaW5kaW5nMi5weQpAQCAtMCwwICsxLDMgQEAKK2Zyb20gLnN1YnBrZyBpbXBvcnQgdXRpbAorZnJvbSAuIGltcG9ydCByZWJpbmRpbmcKK3V0aWwgPSB1dGlsLnV0aWwKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfaW1wb3J0L2RhdGEvY2lyY3VsYXJfaW1wb3J0cy9zdWJwYWNrYWdlLnB5IGIvTGliL3Rlc3QvdGVzdF9pbXBvcnQvZGF0YS9jaXJjdWxhcl9pbXBvcnRzL3N1YnBhY2thZ2UucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2I0MTJmNwotLS0gL2Rldi9udWxsCisrKyBiL0xpYi90ZXN0L3Rlc3RfaW1wb3J0L2RhdGEvY2lyY3VsYXJfaW1wb3J0cy9zdWJwYWNrYWdlLnB5CkBAIC0wLDAgKzEsMiBAQAorIiIiQ2lyY3VsYXIgaW1wb3J0IGludm9sdmluZyBhIHN1Yi1wYWNrYWdlLiIiIgorZnJvbSAuc3VicGtnIGltcG9ydCBzdWJwYWNrYWdlMgpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9pbXBvcnQvZGF0YS9jaXJjdWxhcl9pbXBvcnRzL3N1YnBrZy9zdWJwYWNrYWdlMi5weSBiL0xpYi90ZXN0L3Rlc3RfaW1wb3J0L2RhdGEvY2lyY3VsYXJfaW1wb3J0cy9zdWJwa2cvc3VicGFja2FnZTIucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTdiODkzYQotLS0gL2Rldi9udWxsCisrKyBiL0xpYi90ZXN0L3Rlc3RfaW1wb3J0L2RhdGEvY2lyY3VsYXJfaW1wb3J0cy9zdWJwa2cvc3VicGFja2FnZTIucHkKQEAgLTAsMCArMSwyIEBACisjZnJvbSAudXRpbCBpbXBvcnQgdXRpbAorZnJvbSAuLiBpbXBvcnQgc3VicGFja2FnZQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9pbXBvcnQvZGF0YS9jaXJjdWxhcl9pbXBvcnRzL3N1YnBrZy91dGlsLnB5IGIvTGliL3Rlc3QvdGVzdF9pbXBvcnQvZGF0YS9jaXJjdWxhcl9pbXBvcnRzL3N1YnBrZy91dGlsLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM0M2JkODQKLS0tIC9kZXYvbnVsbAorKysgYi9MaWIvdGVzdC90ZXN0X2ltcG9ydC9kYXRhL2NpcmN1bGFyX2ltcG9ydHMvc3VicGtnL3V0aWwucHkKQEAgLTAsMCArMSwyIEBACitkZWYgdXRpbCgpOgorICAgIHBhc3MKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfaW1wb3J0L2RhdGEvY2lyY3VsYXJfaW1wb3J0cy91dGlsLnB5IGIvTGliL3Rlc3QvdGVzdF9pbXBvcnQvZGF0YS9jaXJjdWxhcl9pbXBvcnRzL3V0aWwucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzQzYmQ4NAotLS0gL2Rldi9udWxsCisrKyBiL0xpYi90ZXN0L3Rlc3RfaW1wb3J0L2RhdGEvY2lyY3VsYXJfaW1wb3J0cy91dGlsLnB5CkBAIC0wLDAgKzEsMiBAQAorZGVmIHV0aWwoKToKKyAgICBwYXNzCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi9idWlsdGluL3Rlc3RfZmluZGVyLnB5IGIvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvYnVpbHRpbi90ZXN0X2ZpbmRlci5weQppbmRleCA5MzQ1NjJmLi5hMmU2ZTFlIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi9idWlsdGluL3Rlc3RfZmluZGVyLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL2J1aWx0aW4vdGVzdF9maW5kZXIucHkKQEAgLTEsMjEgKzEsMjEgQEAKIGZyb20gLi4gaW1wb3J0IGFiYwogZnJvbSAuLiBpbXBvcnQgdXRpbAotZnJvbSAuIGltcG9ydCB1dGlsIGFzIGJ1aWx0aW5fdXRpbAogCi1mcm96ZW5fbWFjaGluZXJ5LCBzb3VyY2VfbWFjaGluZXJ5ID0gdXRpbC5pbXBvcnRfaW1wb3J0bGliKCdpbXBvcnRsaWIubWFjaGluZXJ5JykKK21hY2hpbmVyeSA9IHV0aWwuaW1wb3J0X2ltcG9ydGxpYignaW1wb3J0bGliLm1hY2hpbmVyeScpCiAKIGltcG9ydCBzeXMKIGltcG9ydCB1bml0dGVzdAogCiAKK0B1bml0dGVzdC5za2lwSWYodXRpbC5CVUlMVElOUy5nb29kX25hbWUgaXMgTm9uZSwgJ25vIHJlYXNvbmFibGUgYnVpbHRpbiBtb2R1bGUnKQogY2xhc3MgRmluZFNwZWNUZXN0cyhhYmMuRmluZGVyVGVzdHMpOgogCiAgICAgIiIiVGVzdCBmaW5kX3NwZWMoKSBmb3IgYnVpbHQtaW4gbW9kdWxlcy4iIiIKIAogICAgIGRlZiB0ZXN0X21vZHVsZShzZWxmKToKICAgICAgICAgIyBDb21tb24gY2FzZS4KLSAgICAgICAgd2l0aCB1dGlsLnVuY2FjaGUoYnVpbHRpbl91dGlsLk5BTUUpOgotICAgICAgICAgICAgZm91bmQgPSBzZWxmLm1hY2hpbmVyeS5CdWlsdGluSW1wb3J0ZXIuZmluZF9zcGVjKGJ1aWx0aW5fdXRpbC5OQU1FKQorICAgICAgICB3aXRoIHV0aWwudW5jYWNoZSh1dGlsLkJVSUxUSU5TLmdvb2RfbmFtZSk6CisgICAgICAgICAgICBmb3VuZCA9IHNlbGYubWFjaGluZXJ5LkJ1aWx0aW5JbXBvcnRlci5maW5kX3NwZWModXRpbC5CVUlMVElOUy5nb29kX25hbWUpCiAgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUoZm91bmQpCiAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGZvdW5kLm9yaWdpbiwgJ2J1aWx0LWluJykKIApAQCAtMzksMjMgKzM5LDI2IEBACiAKICAgICBkZWYgdGVzdF9pZ25vcmVfcGF0aChzZWxmKToKICAgICAgICAgIyBUaGUgdmFsdWUgZm9yICdwYXRoJyBzaG91bGQgYWx3YXlzIHRyaWdnZXIgYSBmYWlsZWQgaW1wb3J0LgotICAgICAgICB3aXRoIHV0aWwudW5jYWNoZShidWlsdGluX3V0aWwuTkFNRSk6Ci0gICAgICAgICAgICBzcGVjID0gc2VsZi5tYWNoaW5lcnkuQnVpbHRpbkltcG9ydGVyLmZpbmRfc3BlYyhidWlsdGluX3V0aWwuTkFNRSwKKyAgICAgICAgd2l0aCB1dGlsLnVuY2FjaGUodXRpbC5CVUlMVElOUy5nb29kX25hbWUpOgorICAgICAgICAgICAgc3BlYyA9IHNlbGYubWFjaGluZXJ5LkJ1aWx0aW5JbXBvcnRlci5maW5kX3NwZWModXRpbC5CVUlMVElOUy5nb29kX25hbWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbJ3BrZyddKQogICAgICAgICAgICAgc2VsZi5hc3NlcnRJc05vbmUoc3BlYykKIAotRnJvemVuX0ZpbmRTcGVjVGVzdHMsIFNvdXJjZV9GaW5kU3BlY1Rlc3RzID0gdXRpbC50ZXN0X2JvdGgoRmluZFNwZWNUZXN0cywKLSAgICAgICAgbWFjaGluZXJ5PVtmcm96ZW5fbWFjaGluZXJ5LCBzb3VyY2VfbWFjaGluZXJ5XSkKKworKEZyb3plbl9GaW5kU3BlY1Rlc3RzLAorIFNvdXJjZV9GaW5kU3BlY1Rlc3RzCisgKSA9IHV0aWwudGVzdF9ib3RoKEZpbmRTcGVjVGVzdHMsIG1hY2hpbmVyeT1tYWNoaW5lcnkpCiAKIAorQHVuaXR0ZXN0LnNraXBJZih1dGlsLkJVSUxUSU5TLmdvb2RfbmFtZSBpcyBOb25lLCAnbm8gcmVhc29uYWJsZSBidWlsdGluIG1vZHVsZScpCiBjbGFzcyBGaW5kZXJUZXN0cyhhYmMuRmluZGVyVGVzdHMpOgogCiAgICAgIiIiVGVzdCBmaW5kX21vZHVsZSgpIGZvciBidWlsdC1pbiBtb2R1bGVzLiIiIgogCiAgICAgZGVmIHRlc3RfbW9kdWxlKHNlbGYpOgogICAgICAgICAjIENvbW1vbiBjYXNlLgotICAgICAgICB3aXRoIHV0aWwudW5jYWNoZShidWlsdGluX3V0aWwuTkFNRSk6Ci0gICAgICAgICAgICBmb3VuZCA9IHNlbGYubWFjaGluZXJ5LkJ1aWx0aW5JbXBvcnRlci5maW5kX21vZHVsZShidWlsdGluX3V0aWwuTkFNRSkKKyAgICAgICAgd2l0aCB1dGlsLnVuY2FjaGUodXRpbC5CVUlMVElOUy5nb29kX25hbWUpOgorICAgICAgICAgICAgZm91bmQgPSBzZWxmLm1hY2hpbmVyeS5CdWlsdGluSW1wb3J0ZXIuZmluZF9tb2R1bGUodXRpbC5CVUlMVElOUy5nb29kX25hbWUpCiAgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUoZm91bmQpCiAgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUoaGFzYXR0cihmb3VuZCwgJ2xvYWRfbW9kdWxlJykpCiAKQEAgLTcyLDEzICs3NSwxNSBAQAogCiAgICAgZGVmIHRlc3RfaWdub3JlX3BhdGgoc2VsZik6CiAgICAgICAgICMgVGhlIHZhbHVlIGZvciAncGF0aCcgc2hvdWxkIGFsd2F5cyB0cmlnZ2VyIGEgZmFpbGVkIGltcG9ydC4KLSAgICAgICAgd2l0aCB1dGlsLnVuY2FjaGUoYnVpbHRpbl91dGlsLk5BTUUpOgotICAgICAgICAgICAgbG9hZGVyID0gc2VsZi5tYWNoaW5lcnkuQnVpbHRpbkltcG9ydGVyLmZpbmRfbW9kdWxlKGJ1aWx0aW5fdXRpbC5OQU1FLAorICAgICAgICB3aXRoIHV0aWwudW5jYWNoZSh1dGlsLkJVSUxUSU5TLmdvb2RfbmFtZSk6CisgICAgICAgICAgICBsb2FkZXIgPSBzZWxmLm1hY2hpbmVyeS5CdWlsdGluSW1wb3J0ZXIuZmluZF9tb2R1bGUodXRpbC5CVUlMVElOUy5nb29kX25hbWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbJ3BrZyddKQogICAgICAgICAgICAgc2VsZi5hc3NlcnRJc05vbmUobG9hZGVyKQogCi1Gcm96ZW5fRmluZGVyVGVzdHMsIFNvdXJjZV9GaW5kZXJUZXN0cyA9IHV0aWwudGVzdF9ib3RoKEZpbmRlclRlc3RzLAotICAgICAgICBtYWNoaW5lcnk9W2Zyb3plbl9tYWNoaW5lcnksIHNvdXJjZV9tYWNoaW5lcnldKQorCisoRnJvemVuX0ZpbmRlclRlc3RzLAorIFNvdXJjZV9GaW5kZXJUZXN0cworICkgPSB1dGlsLnRlc3RfYm90aChGaW5kZXJUZXN0cywgbWFjaGluZXJ5PW1hY2hpbmVyeSkKIAogCiBpZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvYnVpbHRpbi90ZXN0X2xvYWRlci5weSBiL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL2J1aWx0aW4vdGVzdF9sb2FkZXIucHkKaW5kZXggMWY4MzU3NC4uMTY4NGFiNiAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvYnVpbHRpbi90ZXN0X2xvYWRlci5weQorKysgYi9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi9idWlsdGluL3Rlc3RfbG9hZGVyLnB5CkBAIC0xLDE0ICsxLDEzIEBACiBmcm9tIC4uIGltcG9ydCBhYmMKIGZyb20gLi4gaW1wb3J0IHV0aWwKLWZyb20gLiBpbXBvcnQgdXRpbCBhcyBidWlsdGluX3V0aWwKIAotZnJvemVuX21hY2hpbmVyeSwgc291cmNlX21hY2hpbmVyeSA9IHV0aWwuaW1wb3J0X2ltcG9ydGxpYignaW1wb3J0bGliLm1hY2hpbmVyeScpCittYWNoaW5lcnkgPSB1dGlsLmltcG9ydF9pbXBvcnRsaWIoJ2ltcG9ydGxpYi5tYWNoaW5lcnknKQogCiBpbXBvcnQgc3lzCiBpbXBvcnQgdHlwZXMKIGltcG9ydCB1bml0dGVzdAogCi0KK0B1bml0dGVzdC5za2lwSWYodXRpbC5CVUlMVElOUy5nb29kX25hbWUgaXMgTm9uZSwgJ25vIHJlYXNvbmFibGUgYnVpbHRpbiBtb2R1bGUnKQogY2xhc3MgTG9hZGVyVGVzdHMoYWJjLkxvYWRlclRlc3RzKToKIAogICAgICIiIlRlc3QgbG9hZF9tb2R1bGUoKSBmb3IgYnVpbHQtaW4gbW9kdWxlcy4iIiIKQEAgLTI5LDggKzI4LDggQEAKIAogICAgIGRlZiB0ZXN0X21vZHVsZShzZWxmKToKICAgICAgICAgIyBDb21tb24gY2FzZS4KLSAgICAgICAgd2l0aCB1dGlsLnVuY2FjaGUoYnVpbHRpbl91dGlsLk5BTUUpOgotICAgICAgICAgICAgbW9kdWxlID0gc2VsZi5sb2FkX21vZHVsZShidWlsdGluX3V0aWwuTkFNRSkKKyAgICAgICAgd2l0aCB1dGlsLnVuY2FjaGUodXRpbC5CVUlMVElOUy5nb29kX25hbWUpOgorICAgICAgICAgICAgbW9kdWxlID0gc2VsZi5sb2FkX21vZHVsZSh1dGlsLkJVSUxUSU5TLmdvb2RfbmFtZSkKICAgICAgICAgICAgIHNlbGYudmVyaWZ5KG1vZHVsZSkKIAogICAgICMgQnVpbHQtaW4gbW9kdWxlcyBjYW5ub3QgYmUgYSBwYWNrYWdlLgpAQCAtNDEsOSArNDAsOSBAQAogCiAgICAgZGVmIHRlc3RfbW9kdWxlX3JldXNlKHNlbGYpOgogICAgICAgICAjIFRlc3QgdGhhdCB0aGUgc2FtZSBtb2R1bGUgaXMgdXNlZCBpbiBhIHJlbG9hZC4KLSAgICAgICAgd2l0aCB1dGlsLnVuY2FjaGUoYnVpbHRpbl91dGlsLk5BTUUpOgotICAgICAgICAgICAgbW9kdWxlMSA9IHNlbGYubG9hZF9tb2R1bGUoYnVpbHRpbl91dGlsLk5BTUUpCi0gICAgICAgICAgICBtb2R1bGUyID0gc2VsZi5sb2FkX21vZHVsZShidWlsdGluX3V0aWwuTkFNRSkKKyAgICAgICAgd2l0aCB1dGlsLnVuY2FjaGUodXRpbC5CVUlMVElOUy5nb29kX25hbWUpOgorICAgICAgICAgICAgbW9kdWxlMSA9IHNlbGYubG9hZF9tb2R1bGUodXRpbC5CVUlMVElOUy5nb29kX25hbWUpCisgICAgICAgICAgICBtb2R1bGUyID0gc2VsZi5sb2FkX21vZHVsZSh1dGlsLkJVSUxUSU5TLmdvb2RfbmFtZSkKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXMobW9kdWxlMSwgbW9kdWxlMikKIAogICAgIGRlZiB0ZXN0X3VubG9hZGFibGUoc2VsZik6CkBAIC02Niw0MCArNjUsNDQgQEAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjbS5leGNlcHRpb24ubmFtZSwgbW9kdWxlX25hbWUpCiAKIAotRnJvemVuX0xvYWRlclRlc3RzLCBTb3VyY2VfTG9hZGVyVGVzdHMgPSB1dGlsLnRlc3RfYm90aChMb2FkZXJUZXN0cywKLSAgICAgICAgbWFjaGluZXJ5PVtmcm96ZW5fbWFjaGluZXJ5LCBzb3VyY2VfbWFjaGluZXJ5XSkKKyhGcm96ZW5fTG9hZGVyVGVzdHMsCisgU291cmNlX0xvYWRlclRlc3RzCisgKSA9IHV0aWwudGVzdF9ib3RoKExvYWRlclRlc3RzLCBtYWNoaW5lcnk9bWFjaGluZXJ5KQogCiAKK0B1bml0dGVzdC5za2lwSWYodXRpbC5CVUlMVElOUy5nb29kX25hbWUgaXMgTm9uZSwgJ25vIHJlYXNvbmFibGUgYnVpbHRpbiBtb2R1bGUnKQogY2xhc3MgSW5zcGVjdExvYWRlclRlc3RzOgogCiAgICAgIiIiVGVzdHMgZm9yIEluc3BlY3RMb2FkZXIgbWV0aG9kcyBmb3IgQnVpbHRpbkltcG9ydGVyLiIiIgogCiAgICAgZGVmIHRlc3RfZ2V0X2NvZGUoc2VsZik6CiAgICAgICAgICMgVGhlcmUgaXMgbm8gY29kZSBvYmplY3QuCi0gICAgICAgIHJlc3VsdCA9IHNlbGYubWFjaGluZXJ5LkJ1aWx0aW5JbXBvcnRlci5nZXRfY29kZShidWlsdGluX3V0aWwuTkFNRSkKKyAgICAgICAgcmVzdWx0ID0gc2VsZi5tYWNoaW5lcnkuQnVpbHRpbkltcG9ydGVyLmdldF9jb2RlKHV0aWwuQlVJTFRJTlMuZ29vZF9uYW1lKQogICAgICAgICBzZWxmLmFzc2VydElzTm9uZShyZXN1bHQpCiAKICAgICBkZWYgdGVzdF9nZXRfc291cmNlKHNlbGYpOgogICAgICAgICAjIFRoZXJlIGlzIG5vIHNvdXJjZS4KLSAgICAgICAgcmVzdWx0ID0gc2VsZi5tYWNoaW5lcnkuQnVpbHRpbkltcG9ydGVyLmdldF9zb3VyY2UoYnVpbHRpbl91dGlsLk5BTUUpCisgICAgICAgIHJlc3VsdCA9IHNlbGYubWFjaGluZXJ5LkJ1aWx0aW5JbXBvcnRlci5nZXRfc291cmNlKHV0aWwuQlVJTFRJTlMuZ29vZF9uYW1lKQogICAgICAgICBzZWxmLmFzc2VydElzTm9uZShyZXN1bHQpCiAKICAgICBkZWYgdGVzdF9pc19wYWNrYWdlKHNlbGYpOgogICAgICAgICAjIENhbm5vdCBiZSBhIHBhY2thZ2UuCi0gICAgICAgIHJlc3VsdCA9IHNlbGYubWFjaGluZXJ5LkJ1aWx0aW5JbXBvcnRlci5pc19wYWNrYWdlKGJ1aWx0aW5fdXRpbC5OQU1FKQorICAgICAgICByZXN1bHQgPSBzZWxmLm1hY2hpbmVyeS5CdWlsdGluSW1wb3J0ZXIuaXNfcGFja2FnZSh1dGlsLkJVSUxUSU5TLmdvb2RfbmFtZSkKICAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShyZXN1bHQpCiAKKyAgICBAdW5pdHRlc3Quc2tpcElmKHV0aWwuQlVJTFRJTlMuYmFkX25hbWUgaXMgTm9uZSwgJ2FsbCBtb2R1bGVzIGFyZSBidWlsdCBpbicpCiAgICAgZGVmIHRlc3Rfbm90X2J1aWx0aW4oc2VsZik6CiAgICAgICAgICMgTW9kdWxlcyBub3QgYnVpbHQtaW4gc2hvdWxkIHJhaXNlIEltcG9ydEVycm9yLgogICAgICAgICBmb3IgbWV0aF9uYW1lIGluICgnZ2V0X2NvZGUnLCAnZ2V0X3NvdXJjZScsICdpc19wYWNrYWdlJyk6CiAgICAgICAgICAgICBtZXRob2QgPSBnZXRhdHRyKHNlbGYubWFjaGluZXJ5LkJ1aWx0aW5JbXBvcnRlciwgbWV0aF9uYW1lKQogICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKEltcG9ydEVycm9yKSBhcyBjbToKLSAgICAgICAgICAgIG1ldGhvZChidWlsdGluX3V0aWwuQkFEX05BTUUpCi0gICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKGJ1aWx0aW5fdXRpbC5CQURfTkFNRSkKKyAgICAgICAgICAgIG1ldGhvZCh1dGlsLkJVSUxUSU5TLmJhZF9uYW1lKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyh1dGlsLkJVSUxUSU5TLmJhZF9uYW1lKQogCi1Gcm96ZW5fSW5zcGVjdExvYWRlclRlc3RzLCBTb3VyY2VfSW5zcGVjdExvYWRlclRlc3RzID0gdXRpbC50ZXN0X2JvdGgoCi0gICAgICAgIEluc3BlY3RMb2FkZXJUZXN0cywKLSAgICAgICAgbWFjaGluZXJ5PVtmcm96ZW5fbWFjaGluZXJ5LCBzb3VyY2VfbWFjaGluZXJ5XSkKKworKEZyb3plbl9JbnNwZWN0TG9hZGVyVGVzdHMsCisgU291cmNlX0luc3BlY3RMb2FkZXJUZXN0cworICkgPSB1dGlsLnRlc3RfYm90aChJbnNwZWN0TG9hZGVyVGVzdHMsIG1hY2hpbmVyeT1tYWNoaW5lcnkpCiAKIAogaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL2J1aWx0aW4vdXRpbC5weSBiL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL2J1aWx0aW4vdXRpbC5weQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTcwNDY5OS4uMDAwMDAwMAotLS0gYS9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi9idWlsdGluL3V0aWwucHkKKysrIC9kZXYvbnVsbApAQCAtMSw3ICswLDAgQEAKLWltcG9ydCBzeXMKLQotYXNzZXJ0ICdlcnJubycgaW4gc3lzLmJ1aWx0aW5fbW9kdWxlX25hbWVzCi1OQU1FID0gJ2Vycm5vJwotCi1hc3NlcnQgJ2ltcG9ydGxpYicgbm90IGluIHN5cy5idWlsdGluX21vZHVsZV9uYW1lcwotQkFEX05BTUUgPSAnaW1wb3J0bGliJwpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvZXh0ZW5zaW9uL3Rlc3RfY2FzZV9zZW5zaXRpdml0eS5weSBiL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL2V4dGVuc2lvbi90ZXN0X2Nhc2Vfc2Vuc2l0aXZpdHkucHkKaW5kZXggYmIyNTI4ZS4uYzdkNmNhNiAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvZXh0ZW5zaW9uL3Rlc3RfY2FzZV9zZW5zaXRpdml0eS5weQorKysgYi9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi9leHRlbnNpb24vdGVzdF9jYXNlX3NlbnNpdGl2aXR5LnB5CkBAIC00LDIyICs0LDIxIEBACiBpbXBvcnQgdW5pdHRlc3QKIAogZnJvbSAuLiBpbXBvcnQgdXRpbAotZnJvbSAuIGltcG9ydCB1dGlsIGFzIGV4dF91dGlsCiAKLWZyb3plbl9tYWNoaW5lcnksIHNvdXJjZV9tYWNoaW5lcnkgPSB1dGlsLmltcG9ydF9pbXBvcnRsaWIoJ2ltcG9ydGxpYi5tYWNoaW5lcnknKQorbWFjaGluZXJ5ID0gdXRpbC5pbXBvcnRfaW1wb3J0bGliKCdpbXBvcnRsaWIubWFjaGluZXJ5JykKIAogCiAjIFhYWCBmaW5kX3NwZWMgdGVzdHMKIAotQHVuaXR0ZXN0LnNraXBJZihleHRfdXRpbC5GSUxFTkFNRSBpcyBOb25lLCAnX3Rlc3RjYXBpIG5vdCBhdmFpbGFibGUnKQorQHVuaXR0ZXN0LnNraXBJZih1dGlsLkVYVEVOU0lPTlMuZmlsZW5hbWUgaXMgTm9uZSwgJ190ZXN0Y2FwaSBub3QgYXZhaWxhYmxlJykKIEB1dGlsLmNhc2VfaW5zZW5zaXRpdmVfdGVzdHMKIGNsYXNzIEV4dGVuc2lvbk1vZHVsZUNhc2VTZW5zaXRpdml0eVRlc3Q6CiAKICAgICBkZWYgZmluZF9tb2R1bGUoc2VsZik6Ci0gICAgICAgIGdvb2RfbmFtZSA9IGV4dF91dGlsLk5BTUUKKyAgICAgICAgZ29vZF9uYW1lID0gdXRpbC5FWFRFTlNJT05TLm5hbWUKICAgICAgICAgYmFkX25hbWUgPSBnb29kX25hbWUudXBwZXIoKQogICAgICAgICBhc3NlcnQgZ29vZF9uYW1lICE9IGJhZF9uYW1lCi0gICAgICAgIGZpbmRlciA9IHNlbGYubWFjaGluZXJ5LkZpbGVGaW5kZXIoZXh0X3V0aWwuUEFUSCwKKyAgICAgICAgZmluZGVyID0gc2VsZi5tYWNoaW5lcnkuRmlsZUZpbmRlcih1dGlsLkVYVEVOU0lPTlMucGF0aCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzZWxmLm1hY2hpbmVyeS5FeHRlbnNpb25GaWxlTG9hZGVyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYubWFjaGluZXJ5LkVYVEVOU0lPTl9TVUZGSVhFUykpCiAgICAgICAgIHJldHVybiBmaW5kZXIuZmluZF9tb2R1bGUoYmFkX25hbWUpCkBAIC00Miw5ICs0MSwxMCBAQAogICAgICAgICAgICAgbG9hZGVyID0gc2VsZi5maW5kX21vZHVsZSgpCiAgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUoaGFzYXR0cihsb2FkZXIsICdsb2FkX21vZHVsZScpKQogCi1Gcm96ZW5fRXh0ZW5zaW9uQ2FzZVNlbnNpdGl2aXR5LCBTb3VyY2VfRXh0ZW5zaW9uQ2FzZVNlbnNpdGl2aXR5ID0gdXRpbC50ZXN0X2JvdGgoCi0gICAgICAgIEV4dGVuc2lvbk1vZHVsZUNhc2VTZW5zaXRpdml0eVRlc3QsCi0gICAgICAgIG1hY2hpbmVyeT1bZnJvemVuX21hY2hpbmVyeSwgc291cmNlX21hY2hpbmVyeV0pCisKKyhGcm96ZW5fRXh0ZW5zaW9uQ2FzZVNlbnNpdGl2aXR5LAorIFNvdXJjZV9FeHRlbnNpb25DYXNlU2Vuc2l0aXZpdHkKKyApID0gdXRpbC50ZXN0X2JvdGgoRXh0ZW5zaW9uTW9kdWxlQ2FzZVNlbnNpdGl2aXR5VGVzdCwgbWFjaGluZXJ5PW1hY2hpbmVyeSkKIAogCiBpZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvZXh0ZW5zaW9uL3Rlc3RfZmluZGVyLnB5IGIvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvZXh0ZW5zaW9uL3Rlc3RfZmluZGVyLnB5CmluZGV4IDk5MGYyOWMuLjcxYmY2N2YgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL2V4dGVuc2lvbi90ZXN0X2ZpbmRlci5weQorKysgYi9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi9leHRlbnNpb24vdGVzdF9maW5kZXIucHkKQEAgLTEsOCArMSw3IEBACiBmcm9tIC4uIGltcG9ydCBhYmMKLWZyb20gLi4gaW1wb3J0IHV0aWwgYXMgdGVzdF91dGlsCi1mcm9tIC4gaW1wb3J0IHV0aWwKK2Zyb20gLi4gaW1wb3J0IHV0aWwKIAotbWFjaGluZXJ5ID0gdGVzdF91dGlsLmltcG9ydF9pbXBvcnRsaWIoJ2ltcG9ydGxpYi5tYWNoaW5lcnknKQorbWFjaGluZXJ5ID0gdXRpbC5pbXBvcnRfaW1wb3J0bGliKCdpbXBvcnRsaWIubWFjaGluZXJ5JykKIAogaW1wb3J0IHVuaXR0ZXN0CiBpbXBvcnQgd2FybmluZ3MKQEAgLTE0LDcgKzEzLDcgQEAKICAgICAiIiJUZXN0IHRoZSBmaW5kZXIgZm9yIGV4dGVuc2lvbiBtb2R1bGVzLiIiIgogCiAgICAgZGVmIGZpbmRfbW9kdWxlKHNlbGYsIGZ1bGxuYW1lKToKLSAgICAgICAgaW1wb3J0ZXIgPSBzZWxmLm1hY2hpbmVyeS5GaWxlRmluZGVyKHV0aWwuUEFUSCwKKyAgICAgICAgaW1wb3J0ZXIgPSBzZWxmLm1hY2hpbmVyeS5GaWxlRmluZGVyKHV0aWwuRVhURU5TSU9OUy5wYXRoLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc2VsZi5tYWNoaW5lcnkuRXh0ZW5zaW9uRmlsZUxvYWRlciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYubWFjaGluZXJ5LkVYVEVOU0lPTl9TVUZGSVhFUykpCiAgICAgICAgIHdpdGggd2FybmluZ3MuY2F0Y2hfd2FybmluZ3MoKToKQEAgLTIyLDcgKzIxLDcgQEAKICAgICAgICAgICAgIHJldHVybiBpbXBvcnRlci5maW5kX21vZHVsZShmdWxsbmFtZSkKIAogICAgIGRlZiB0ZXN0X21vZHVsZShzZWxmKToKLSAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHNlbGYuZmluZF9tb2R1bGUodXRpbC5OQU1FKSkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHNlbGYuZmluZF9tb2R1bGUodXRpbC5FWFRFTlNJT05TLm5hbWUpKQogCiAgICAgIyBObyBleHRlbnNpb24gbW9kdWxlIGFzIGFuIF9faW5pdF9fIGF2YWlsYWJsZSBmb3IgdGVzdGluZy4KICAgICB0ZXN0X3BhY2thZ2UgPSB0ZXN0X3BhY2thZ2VfaW5fcGFja2FnZSA9IE5vbmUKQEAgLTM2LDggKzM1LDEwIEBACiAgICAgZGVmIHRlc3RfZmFpbHVyZShzZWxmKToKICAgICAgICAgc2VsZi5hc3NlcnRJc05vbmUoc2VsZi5maW5kX21vZHVsZSgnYXNkZmprbDsnKSkKIAotRnJvemVuX0ZpbmRlclRlc3RzLCBTb3VyY2VfRmluZGVyVGVzdHMgPSB0ZXN0X3V0aWwudGVzdF9ib3RoKAotICAgICAgICBGaW5kZXJUZXN0cywgbWFjaGluZXJ5PW1hY2hpbmVyeSkKKworKEZyb3plbl9GaW5kZXJUZXN0cywKKyBTb3VyY2VfRmluZGVyVGVzdHMKKyApID0gdXRpbC50ZXN0X2JvdGgoRmluZGVyVGVzdHMsIG1hY2hpbmVyeT1tYWNoaW5lcnkpCiAKIAogaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL2V4dGVuc2lvbi90ZXN0X2xvYWRlci5weSBiL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL2V4dGVuc2lvbi90ZXN0X2xvYWRlci5weQppbmRleCBmZDlhYmYyLi5hZWZkMDUwIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi9leHRlbnNpb24vdGVzdF9sb2FkZXIucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvZXh0ZW5zaW9uL3Rlc3RfbG9hZGVyLnB5CkBAIC0xLDQgKzEsMyBAQAotZnJvbSAuIGltcG9ydCB1dGlsIGFzIGV4dF91dGlsCiBmcm9tIC4uIGltcG9ydCBhYmMKIGZyb20gLi4gaW1wb3J0IHV0aWwKIApAQCAtMTUsOCArMTQsOCBAQAogICAgICIiIlRlc3QgbG9hZF9tb2R1bGUoKSBmb3IgZXh0ZW5zaW9uIG1vZHVsZXMuIiIiCiAKICAgICBkZWYgc2V0VXAoc2VsZik6Ci0gICAgICAgIHNlbGYubG9hZGVyID0gc2VsZi5tYWNoaW5lcnkuRXh0ZW5zaW9uRmlsZUxvYWRlcihleHRfdXRpbC5OQU1FLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXh0X3V0aWwuRklMRVBBVEgpCisgICAgICAgIHNlbGYubG9hZGVyID0gc2VsZi5tYWNoaW5lcnkuRXh0ZW5zaW9uRmlsZUxvYWRlcih1dGlsLkVYVEVOU0lPTlMubmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHV0aWwuRVhURU5TSU9OUy5maWxlX3BhdGgpCiAKICAgICBkZWYgbG9hZF9tb2R1bGUoc2VsZiwgZnVsbG5hbWUpOgogICAgICAgICByZXR1cm4gc2VsZi5sb2FkZXIubG9hZF9tb2R1bGUoZnVsbG5hbWUpCkBAIC0yOSwyMyArMjgsMjMgQEAKICAgICAgICAgICAgIHNlbGYubG9hZF9tb2R1bGUoJ1hYWCcpCiAKICAgICBkZWYgdGVzdF9lcXVhbGl0eShzZWxmKToKLSAgICAgICAgb3RoZXIgPSBzZWxmLm1hY2hpbmVyeS5FeHRlbnNpb25GaWxlTG9hZGVyKGV4dF91dGlsLk5BTUUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHRfdXRpbC5GSUxFUEFUSCkKKyAgICAgICAgb3RoZXIgPSBzZWxmLm1hY2hpbmVyeS5FeHRlbnNpb25GaWxlTG9hZGVyKHV0aWwuRVhURU5TSU9OUy5uYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXRpbC5FWFRFTlNJT05TLmZpbGVfcGF0aCkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLmxvYWRlciwgb3RoZXIpCiAKICAgICBkZWYgdGVzdF9pbmVxdWFsaXR5KHNlbGYpOgotICAgICAgICBvdGhlciA9IHNlbGYubWFjaGluZXJ5LkV4dGVuc2lvbkZpbGVMb2FkZXIoJ18nICsgZXh0X3V0aWwuTkFNRSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4dF91dGlsLkZJTEVQQVRIKQorICAgICAgICBvdGhlciA9IHNlbGYubWFjaGluZXJ5LkV4dGVuc2lvbkZpbGVMb2FkZXIoJ18nICsgdXRpbC5FWFRFTlNJT05TLm5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1dGlsLkVYVEVOU0lPTlMuZmlsZV9wYXRoKQogICAgICAgICBzZWxmLmFzc2VydE5vdEVxdWFsKHNlbGYubG9hZGVyLCBvdGhlcikKIAogICAgIGRlZiB0ZXN0X21vZHVsZShzZWxmKToKLSAgICAgICAgd2l0aCB1dGlsLnVuY2FjaGUoZXh0X3V0aWwuTkFNRSk6Ci0gICAgICAgICAgICBtb2R1bGUgPSBzZWxmLmxvYWRfbW9kdWxlKGV4dF91dGlsLk5BTUUpCi0gICAgICAgICAgICBmb3IgYXR0ciwgdmFsdWUgaW4gWygnX19uYW1lX18nLCBleHRfdXRpbC5OQU1FKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCdfX2ZpbGVfXycsIGV4dF91dGlsLkZJTEVQQVRIKSwKKyAgICAgICAgd2l0aCB1dGlsLnVuY2FjaGUodXRpbC5FWFRFTlNJT05TLm5hbWUpOgorICAgICAgICAgICAgbW9kdWxlID0gc2VsZi5sb2FkX21vZHVsZSh1dGlsLkVYVEVOU0lPTlMubmFtZSkKKyAgICAgICAgICAgIGZvciBhdHRyLCB2YWx1ZSBpbiBbKCdfX25hbWVfXycsIHV0aWwuRVhURU5TSU9OUy5uYW1lKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCdfX2ZpbGVfXycsIHV0aWwuRVhURU5TSU9OUy5maWxlX3BhdGgpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoJ19fcGFja2FnZV9fJywgJycpXToKICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGdldGF0dHIobW9kdWxlLCBhdHRyKSwgdmFsdWUpCi0gICAgICAgICAgICBzZWxmLmFzc2VydEluKGV4dF91dGlsLk5BTUUsIHN5cy5tb2R1bGVzKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRJbih1dGlsLkVYVEVOU0lPTlMubmFtZSwgc3lzLm1vZHVsZXMpCiAgICAgICAgICAgICBzZWxmLmFzc2VydElzSW5zdGFuY2UobW9kdWxlLl9fbG9hZGVyX18sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5tYWNoaW5lcnkuRXh0ZW5zaW9uRmlsZUxvYWRlcikKIApAQCAtNTYsOSArNTUsOSBAQAogICAgIHRlc3RfbGFja2luZ19wYXJlbnQgPSBOb25lCiAKICAgICBkZWYgdGVzdF9tb2R1bGVfcmV1c2Uoc2VsZik6Ci0gICAgICAgIHdpdGggdXRpbC51bmNhY2hlKGV4dF91dGlsLk5BTUUpOgotICAgICAgICAgICAgbW9kdWxlMSA9IHNlbGYubG9hZF9tb2R1bGUoZXh0X3V0aWwuTkFNRSkKLSAgICAgICAgICAgIG1vZHVsZTIgPSBzZWxmLmxvYWRfbW9kdWxlKGV4dF91dGlsLk5BTUUpCisgICAgICAgIHdpdGggdXRpbC51bmNhY2hlKHV0aWwuRVhURU5TSU9OUy5uYW1lKToKKyAgICAgICAgICAgIG1vZHVsZTEgPSBzZWxmLmxvYWRfbW9kdWxlKHV0aWwuRVhURU5TSU9OUy5uYW1lKQorICAgICAgICAgICAgbW9kdWxlMiA9IHNlbGYubG9hZF9tb2R1bGUodXRpbC5FWFRFTlNJT05TLm5hbWUpCiAgICAgICAgICAgICBzZWxmLmFzc2VydElzKG1vZHVsZTEsIG1vZHVsZTIpCiAKICAgICAjIE5vIGVhc3kgd2F5IHRvIHRyaWdnZXIgYSBmYWlsdXJlIGFmdGVyIGEgc3VjY2Vzc2Z1bCBpbXBvcnQuCkBAIC03MSwxNCArNzAsMTUgQEAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjbS5leGNlcHRpb24ubmFtZSwgbmFtZSkKIAogICAgIGRlZiB0ZXN0X2lzX3BhY2thZ2Uoc2VsZik6Ci0gICAgICAgIHNlbGYuYXNzZXJ0RmFsc2Uoc2VsZi5sb2FkZXIuaXNfcGFja2FnZShleHRfdXRpbC5OQU1FKSkKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShzZWxmLmxvYWRlci5pc19wYWNrYWdlKHV0aWwuRVhURU5TSU9OUy5uYW1lKSkKICAgICAgICAgZm9yIHN1ZmZpeCBpbiBzZWxmLm1hY2hpbmVyeS5FWFRFTlNJT05fU1VGRklYRVM6CiAgICAgICAgICAgICBwYXRoID0gb3MucGF0aC5qb2luKCdzb21lJywgJ3BhdGgnLCAncGtnJywgJ19faW5pdF9fJyArIHN1ZmZpeCkKICAgICAgICAgICAgIGxvYWRlciA9IHNlbGYubWFjaGluZXJ5LkV4dGVuc2lvbkZpbGVMb2FkZXIoJ3BrZycsIHBhdGgpCiAgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUobG9hZGVyLmlzX3BhY2thZ2UoJ3BrZycpKQogCi1Gcm96ZW5fTG9hZGVyVGVzdHMsIFNvdXJjZV9Mb2FkZXJUZXN0cyA9IHV0aWwudGVzdF9ib3RoKAotICAgICAgICBMb2FkZXJUZXN0cywgbWFjaGluZXJ5PW1hY2hpbmVyeSkKKyhGcm96ZW5fTG9hZGVyVGVzdHMsCisgU291cmNlX0xvYWRlclRlc3RzCisgKSA9IHV0aWwudGVzdF9ib3RoKExvYWRlclRlc3RzLCBtYWNoaW5lcnk9bWFjaGluZXJ5KQogCiAKIApkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvZXh0ZW5zaW9uL3Rlc3RfcGF0aF9ob29rLnB5IGIvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvZXh0ZW5zaW9uL3Rlc3RfcGF0aF9ob29rLnB5CmluZGV4IDQ5ZDY3MzQuLjhmNGI4YmIgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL2V4dGVuc2lvbi90ZXN0X3BhdGhfaG9vay5weQorKysgYi9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi9leHRlbnNpb24vdGVzdF9wYXRoX2hvb2sucHkKQEAgLTEsNyArMSw2IEBACi1mcm9tIC4uIGltcG9ydCB1dGlsIGFzIHRlc3RfdXRpbAotZnJvbSAuIGltcG9ydCB1dGlsCitmcm9tIC4uIGltcG9ydCB1dGlsCiAKLW1hY2hpbmVyeSA9IHRlc3RfdXRpbC5pbXBvcnRfaW1wb3J0bGliKCdpbXBvcnRsaWIubWFjaGluZXJ5JykKK21hY2hpbmVyeSA9IHV0aWwuaW1wb3J0X2ltcG9ydGxpYignaW1wb3J0bGliLm1hY2hpbmVyeScpCiAKIGltcG9ydCBjb2xsZWN0aW9ucwogaW1wb3J0IHN5cwpAQCAtMjIsMTAgKzIxLDEyIEBACiAgICAgZGVmIHRlc3Rfc3VjY2VzcyhzZWxmKToKICAgICAgICAgIyBQYXRoIGhvb2sgc2hvdWxkIGhhbmRsZSBhIGRpcmVjdG9yeSB3aGVyZSBhIGtub3duIGV4dGVuc2lvbiBtb2R1bGUKICAgICAgICAgIyBleGlzdHMuCi0gICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShoYXNhdHRyKHNlbGYuaG9vayh1dGlsLlBBVEgpLCAnZmluZF9tb2R1bGUnKSkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGhhc2F0dHIoc2VsZi5ob29rKHV0aWwuRVhURU5TSU9OUy5wYXRoKSwgJ2ZpbmRfbW9kdWxlJykpCiAKLUZyb3plbl9QYXRoSG9va3NUZXN0cywgU291cmNlX1BhdGhIb29rc1Rlc3RzID0gdGVzdF91dGlsLnRlc3RfYm90aCgKLSAgICAgICAgUGF0aEhvb2tUZXN0cywgbWFjaGluZXJ5PW1hY2hpbmVyeSkKKworKEZyb3plbl9QYXRoSG9va3NUZXN0cywKKyBTb3VyY2VfUGF0aEhvb2tzVGVzdHMKKyApID0gdXRpbC50ZXN0X2JvdGgoUGF0aEhvb2tUZXN0cywgbWFjaGluZXJ5PW1hY2hpbmVyeSkKIAogCiBpZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvZXh0ZW5zaW9uL3V0aWwucHkgYi9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi9leHRlbnNpb24vdXRpbC5weQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOGQwODlmMC4uMDAwMDAwMAotLS0gYS9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi9leHRlbnNpb24vdXRpbC5weQorKysgL2Rldi9udWxsCkBAIC0xLDE5ICswLDAgQEAKLWZyb20gaW1wb3J0bGliIGltcG9ydCBtYWNoaW5lcnkKLWltcG9ydCBvcwotaW1wb3J0IHN5cwotCi1QQVRIID0gTm9uZQotRVhUID0gTm9uZQotRklMRU5BTUUgPSBOb25lCi1OQU1FID0gJ190ZXN0Y2FwaScKLXRyeToKLSAgICBmb3IgUEFUSCBpbiBzeXMucGF0aDoKLSAgICAgICAgZm9yIEVYVCBpbiBtYWNoaW5lcnkuRVhURU5TSU9OX1NVRkZJWEVTOgotICAgICAgICAgICAgRklMRU5BTUUgPSBOQU1FICsgRVhUCi0gICAgICAgICAgICBGSUxFUEFUSCA9IG9zLnBhdGguam9pbihQQVRILCBGSUxFTkFNRSkKLSAgICAgICAgICAgIGlmIG9zLnBhdGguZXhpc3RzKG9zLnBhdGguam9pbihQQVRILCBGSUxFTkFNRSkpOgotICAgICAgICAgICAgICAgIHJhaXNlIFN0b3BJdGVyYXRpb24KLSAgICBlbHNlOgotICAgICAgICBQQVRIID0gRVhUID0gRklMRU5BTUUgPSBGSUxFUEFUSCA9IE5vbmUKLWV4Y2VwdCBTdG9wSXRlcmF0aW9uOgotICAgIHBhc3MKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL2Zyb3plbi90ZXN0X2ZpbmRlci5weSBiL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL2Zyb3plbi90ZXN0X2ZpbmRlci5weQppbmRleCBmOWY5N2YzLi41MTlhYTAyIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi9mcm96ZW4vdGVzdF9maW5kZXIucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvZnJvemVuL3Rlc3RfZmluZGVyLnB5CkBAIC0zNyw4ICszNywxMCBAQAogICAgICAgICBzcGVjID0gc2VsZi5maW5kKCc8bm90IHJlYWw+JykKICAgICAgICAgc2VsZi5hc3NlcnRJc05vbmUoc3BlYykKIAotRnJvemVuX0ZpbmRTcGVjVGVzdHMsIFNvdXJjZV9GaW5kU3BlY1Rlc3RzID0gdXRpbC50ZXN0X2JvdGgoRmluZFNwZWNUZXN0cywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hY2hpbmVyeT1tYWNoaW5lcnkpCisKKyhGcm96ZW5fRmluZFNwZWNUZXN0cywKKyBTb3VyY2VfRmluZFNwZWNUZXN0cworICkgPSB1dGlsLnRlc3RfYm90aChGaW5kU3BlY1Rlc3RzLCBtYWNoaW5lcnk9bWFjaGluZXJ5KQogCiAKIGNsYXNzIEZpbmRlclRlc3RzKGFiYy5GaW5kZXJUZXN0cyk6CkBAIC03Miw4ICs3NCwxMCBAQAogICAgICAgICBsb2FkZXIgPSBzZWxmLmZpbmQoJzxub3QgcmVhbD4nKQogICAgICAgICBzZWxmLmFzc2VydElzTm9uZShsb2FkZXIpCiAKLUZyb3plbl9GaW5kZXJUZXN0cywgU291cmNlX0ZpbmRlclRlc3RzID0gdXRpbC50ZXN0X2JvdGgoRmluZGVyVGVzdHMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hY2hpbmVyeT1tYWNoaW5lcnkpCisKKyhGcm96ZW5fRmluZGVyVGVzdHMsCisgU291cmNlX0ZpbmRlclRlc3RzCisgKSA9IHV0aWwudGVzdF9ib3RoKEZpbmRlclRlc3RzLCBtYWNoaW5lcnk9bWFjaGluZXJ5KQogCiAKIGlmIF9fbmFtZV9fID09ICdfX21haW5fXyc6CmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi9mcm96ZW4vdGVzdF9sb2FkZXIucHkgYi9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi9mcm96ZW4vdGVzdF9sb2FkZXIucHkKaW5kZXggN2MwMTQ2NC4uNjAzYzdkNyAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvZnJvemVuL3Rlc3RfbG9hZGVyLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL2Zyb3plbi90ZXN0X2xvYWRlci5weQpAQCAtODUsOCArODUsMTAgQEAKICAgICAgICAgICAgIHNlbGYuZXhlY19tb2R1bGUoJ19ub3RfcmVhbCcpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY20uZXhjZXB0aW9uLm5hbWUsICdfbm90X3JlYWwnKQogCi1Gcm96ZW5fRXhlY01vZHVsZVRlc3RzLCBTb3VyY2VfRXhlY01vZHVsZVRlc3RzID0gdXRpbC50ZXN0X2JvdGgoRXhlY01vZHVsZVRlc3RzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWNoaW5lcnk9bWFjaGluZXJ5KQorCisoRnJvemVuX0V4ZWNNb2R1bGVUZXN0cywKKyBTb3VyY2VfRXhlY01vZHVsZVRlc3RzCisgKSA9IHV0aWwudGVzdF9ib3RoKEV4ZWNNb2R1bGVUZXN0cywgbWFjaGluZXJ5PW1hY2hpbmVyeSkKIAogCiBjbGFzcyBMb2FkZXJUZXN0cyhhYmMuTG9hZGVyVGVzdHMpOgpAQCAtMTc1LDggKzE3NywxMCBAQAogICAgICAgICAgICAgc2VsZi5tYWNoaW5lcnkuRnJvemVuSW1wb3J0ZXIubG9hZF9tb2R1bGUoJ19ub3RfcmVhbCcpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY20uZXhjZXB0aW9uLm5hbWUsICdfbm90X3JlYWwnKQogCi1Gcm96ZW5fTG9hZGVyVGVzdHMsIFNvdXJjZV9Mb2FkZXJUZXN0cyA9IHV0aWwudGVzdF9ib3RoKExvYWRlclRlc3RzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWNoaW5lcnk9bWFjaGluZXJ5KQorCisoRnJvemVuX0xvYWRlclRlc3RzLAorIFNvdXJjZV9Mb2FkZXJUZXN0cworICkgPSB1dGlsLnRlc3RfYm90aChMb2FkZXJUZXN0cywgbWFjaGluZXJ5PW1hY2hpbmVyeSkKIAogCiBjbGFzcyBJbnNwZWN0TG9hZGVyVGVzdHM6CkBAIC0yMTQsOCArMjE4LDkgQEAKICAgICAgICAgICAgICAgICBtZXRob2QoJ2ltcG9ydGxpYicpCiAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNtLmV4Y2VwdGlvbi5uYW1lLCAnaW1wb3J0bGliJykKIAotRnJvemVuX0lMVGVzdHMsIFNvdXJjZV9JTFRlc3RzID0gdXRpbC50ZXN0X2JvdGgoSW5zcGVjdExvYWRlclRlc3RzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFjaGluZXJ5PW1hY2hpbmVyeSkKKyhGcm96ZW5fSUxUZXN0cywKKyBTb3VyY2VfSUxUZXN0cworICkgPSB1dGlsLnRlc3RfYm90aChJbnNwZWN0TG9hZGVyVGVzdHMsIG1hY2hpbmVyeT1tYWNoaW5lcnkpCiAKIAogaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL2ltcG9ydF8vdGVzdF9fX2xvYWRlcl9fLnB5IGIvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvaW1wb3J0Xy90ZXN0X19fbG9hZGVyX18ucHkKaW5kZXggNmRmODAxMC4uNGIxODA5MyAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvaW1wb3J0Xy90ZXN0X19fbG9hZGVyX18ucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvaW1wb3J0Xy90ZXN0X19fbG9hZGVyX18ucHkKQEAgLTQsNyArNCw2IEBACiBpbXBvcnQgdW5pdHRlc3QKIAogZnJvbSAuLiBpbXBvcnQgdXRpbAotZnJvbSAuIGltcG9ydCB1dGlsIGFzIGltcG9ydF91dGlsCiAKIAogY2xhc3MgU3BlY0xvYWRlck1vY2s6CkBAIC0xMiw2ICsxMSw5IEBACiAgICAgZGVmIGZpbmRfc3BlYyhzZWxmLCBmdWxsbmFtZSwgcGF0aD1Ob25lLCB0YXJnZXQ9Tm9uZSk6CiAgICAgICAgIHJldHVybiBtYWNoaW5lcnkuTW9kdWxlU3BlYyhmdWxsbmFtZSwgc2VsZikKIAorICAgIGRlZiBjcmVhdGVfbW9kdWxlKHNlbGYsIHNwZWMpOgorICAgICAgICByZXR1cm4gTm9uZQorCiAgICAgZGVmIGV4ZWNfbW9kdWxlKHNlbGYsIG1vZHVsZSk6CiAgICAgICAgIHBhc3MKIApAQCAtMjQsOCArMjYsMTAgQEAKICAgICAgICAgICAgIG1vZHVsZSA9IHNlbGYuX19pbXBvcnRfXygnYmxhaCcpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobG9hZGVyLCBtb2R1bGUuX19sb2FkZXJfXykKIAotRnJvemVuX1NwZWNUZXN0cywgU291cmNlX1NwZWNUZXN0cyA9IHV0aWwudGVzdF9ib3RoKAotICAgICAgICBTcGVjTG9hZGVyQXR0cmlidXRlVGVzdHMsIF9faW1wb3J0X189aW1wb3J0X3V0aWwuX19pbXBvcnRfXykKKworKEZyb3plbl9TcGVjVGVzdHMsCisgU291cmNlX1NwZWNUZXN0cworICkgPSB1dGlsLnRlc3RfYm90aChTcGVjTG9hZGVyQXR0cmlidXRlVGVzdHMsIF9faW1wb3J0X189dXRpbC5fX2ltcG9ydF9fKQogCiAKIGNsYXNzIExvYWRlck1vY2s6CkBAIC02Miw4ICs2Niw5IEBACiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobG9hZGVyLCBtb2R1bGUuX19sb2FkZXJfXykKIAogCi1Gcm96ZW5fVGVzdHMsIFNvdXJjZV9UZXN0cyA9IHV0aWwudGVzdF9ib3RoKExvYWRlckF0dHJpYnV0ZVRlc3RzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX2ltcG9ydF9fPWltcG9ydF91dGlsLl9faW1wb3J0X18pCisoRnJvemVuX1Rlc3RzLAorIFNvdXJjZV9UZXN0cworICkgPSB1dGlsLnRlc3RfYm90aChMb2FkZXJBdHRyaWJ1dGVUZXN0cywgX19pbXBvcnRfXz11dGlsLl9faW1wb3J0X18pCiAKIAogaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL2ltcG9ydF8vdGVzdF9fX3BhY2thZ2VfXy5weSBiL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL2ltcG9ydF8vdGVzdF9fX3BhY2thZ2VfXy5weQppbmRleCAyZTE5NzI1Li5jN2QzYTJhIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi9pbXBvcnRfL3Rlc3RfX19wYWNrYWdlX18ucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvaW1wb3J0Xy90ZXN0X19fcGFja2FnZV9fLnB5CkBAIC02LDcgKzYsNiBAQAogIiIiCiBpbXBvcnQgdW5pdHRlc3QKIGZyb20gLi4gaW1wb3J0IHV0aWwKLWZyb20gLiBpbXBvcnQgdXRpbCBhcyBpbXBvcnRfdXRpbAogCiAKIGNsYXNzIFVzaW5nX19wYWNrYWdlX186CkBAIC03MCwxNyArNjksMjMgQEAKICAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IpOgogICAgICAgICAgICAgc2VsZi5fX2ltcG9ydF9fKCcnLCBnbG9iYWxzLCB7fSwgWydyZWxpbXBvcnQnXSwgMSkKIAorCiBjbGFzcyBVc2luZ19fcGFja2FnZV9fUEVQMzAyKFVzaW5nX19wYWNrYWdlX18pOgogICAgIG1vY2tfbW9kdWxlcyA9IHV0aWwubW9ja19tb2R1bGVzCiAKLUZyb3plbl9Vc2luZ1BhY2thZ2VQRVAzMDIsIFNvdXJjZV9Vc2luZ1BhY2thZ2VQRVAzMDIgPSB1dGlsLnRlc3RfYm90aCgKLSAgICAgICAgVXNpbmdfX3BhY2thZ2VfX1BFUDMwMiwgX19pbXBvcnRfXz1pbXBvcnRfdXRpbC5fX2ltcG9ydF9fKQogCi1jbGFzcyBVc2luZ19fcGFja2FnZV9fUEVQMzAyKFVzaW5nX19wYWNrYWdlX18pOgorKEZyb3plbl9Vc2luZ1BhY2thZ2VQRVAzMDIsCisgU291cmNlX1VzaW5nUGFja2FnZVBFUDMwMgorICkgPSB1dGlsLnRlc3RfYm90aChVc2luZ19fcGFja2FnZV9fUEVQMzAyLCBfX2ltcG9ydF9fPXV0aWwuX19pbXBvcnRfXykKKworCitjbGFzcyBVc2luZ19fcGFja2FnZV9fUEVQNDUxKFVzaW5nX19wYWNrYWdlX18pOgogICAgIG1vY2tfbW9kdWxlcyA9IHV0aWwubW9ja19zcGVjCiAKLUZyb3plbl9Vc2luZ1BhY2thZ2VQRVA0NTEsIFNvdXJjZV9Vc2luZ1BhY2thZ2VQRVA0NTEgPSB1dGlsLnRlc3RfYm90aCgKLSAgICAgICAgVXNpbmdfX3BhY2thZ2VfX1BFUDMwMiwgX19pbXBvcnRfXz1pbXBvcnRfdXRpbC5fX2ltcG9ydF9fKQorCisoRnJvemVuX1VzaW5nUGFja2FnZVBFUDQ1MSwKKyBTb3VyY2VfVXNpbmdQYWNrYWdlUEVQNDUxCisgKSA9IHV0aWwudGVzdF9ib3RoKFVzaW5nX19wYWNrYWdlX19QRVA0NTEsIF9faW1wb3J0X189dXRpbC5fX2ltcG9ydF9fKQogCiAKIGNsYXNzIFNldHRpbmdfX3BhY2thZ2VfXzoKQEAgLTk1LDcgKzEwMCw3IEBACiAKICAgICAiIiIKIAotICAgIF9faW1wb3J0X18gPSBpbXBvcnRfdXRpbC5fX2ltcG9ydF9fWzFdCisgICAgX19pbXBvcnRfXyA9IHV0aWwuX19pbXBvcnRfX1snU291cmNlJ10KIAogICAgICMgW3RvcC1sZXZlbF0KICAgICBkZWYgdGVzdF90b3BfbGV2ZWwoc2VsZik6CmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi9pbXBvcnRfL3Rlc3RfYXBpLnB5IGIvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvaW1wb3J0Xy90ZXN0X2FwaS5weQppbmRleCA0MzljMTA1Li43MDY5ZDllIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi9pbXBvcnRfL3Rlc3RfYXBpLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL2ltcG9ydF8vdGVzdF9hcGkucHkKQEAgLTEsNSArMSw0IEBACiBmcm9tIC4uIGltcG9ydCB1dGlsCi1mcm9tIC4gaW1wb3J0IHV0aWwgYXMgaW1wb3J0X3V0aWwKIAogZnJvbSBpbXBvcnRsaWIgaW1wb3J0IG1hY2hpbmVyeQogaW1wb3J0IHN5cwpAQCAtMTgsNiArMTcsMTAgQEAKICAgICAgICAgICAgIHJldHVybiBzcGVjCiAKICAgICBAc3RhdGljbWV0aG9kCisgICAgZGVmIGNyZWF0ZV9tb2R1bGUoc3BlYyk6CisgICAgICAgIHJldHVybiBOb25lCisKKyAgICBAc3RhdGljbWV0aG9kCiAgICAgZGVmIGV4ZWNfbW9kdWxlKG1vZHVsZSk6CiAgICAgICAgIGlmIG1vZHVsZS5fX25hbWVfXyA9PSBTVUJNT0RfTkFNRToKICAgICAgICAgICAgIHJhaXNlIEltcG9ydEVycm9yKCdJIGNhbm5vdCBiZSBsb2FkZWQhJykKQEAgLTc5LDE1ICs4MiwxOSBAQAogY2xhc3MgT2xkQVBJVGVzdHMoQVBJVGVzdCk6CiAgICAgYmFkX2ZpbmRlcl9sb2FkZXIgPSBCYWRMb2FkZXJGaW5kZXIKIAotRnJvemVuX09sZEFQSVRlc3RzLCBTb3VyY2VfT2xkQVBJVGVzdHMgPSB1dGlsLnRlc3RfYm90aCgKLSAgICAgICAgT2xkQVBJVGVzdHMsIF9faW1wb3J0X189aW1wb3J0X3V0aWwuX19pbXBvcnRfXykKKworKEZyb3plbl9PbGRBUElUZXN0cywKKyBTb3VyY2VfT2xkQVBJVGVzdHMKKyApID0gdXRpbC50ZXN0X2JvdGgoT2xkQVBJVGVzdHMsIF9faW1wb3J0X189dXRpbC5fX2ltcG9ydF9fKQogCiAKIGNsYXNzIFNwZWNBUElUZXN0cyhBUElUZXN0KToKICAgICBiYWRfZmluZGVyX2xvYWRlciA9IEJhZFNwZWNGaW5kZXJMb2FkZXIKIAotRnJvemVuX1NwZWNBUElUZXN0cywgU291cmNlX1NwZWNBUElUZXN0cyA9IHV0aWwudGVzdF9ib3RoKAotICAgICAgICBTcGVjQVBJVGVzdHMsIF9faW1wb3J0X189aW1wb3J0X3V0aWwuX19pbXBvcnRfXykKKworKEZyb3plbl9TcGVjQVBJVGVzdHMsCisgU291cmNlX1NwZWNBUElUZXN0cworICkgPSB1dGlsLnRlc3RfYm90aChTcGVjQVBJVGVzdHMsIF9faW1wb3J0X189dXRpbC5fX2ltcG9ydF9fKQogCiAKIGlmIF9fbmFtZV9fID09ICdfX21haW5fXyc6CmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi9pbXBvcnRfL3Rlc3RfY2FjaGluZy5weSBiL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL2ltcG9ydF8vdGVzdF9jYWNoaW5nLnB5CmluZGV4IGMyOTJlZTQuLjgwNzlhZGQgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL2ltcG9ydF8vdGVzdF9jYWNoaW5nLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL2ltcG9ydF8vdGVzdF9jYWNoaW5nLnB5CkBAIC0xLDYgKzEsNSBAQAogIiIiVGVzdCB0aGF0IHN5cy5tb2R1bGVzIGlzIHVzZWQgcHJvcGVybHkgYnkgaW1wb3J0LiIiIgogZnJvbSAuLiBpbXBvcnQgdXRpbAotZnJvbSAuIGltcG9ydCB1dGlsIGFzIGltcG9ydF91dGlsCiBpbXBvcnQgc3lzCiBmcm9tIHR5cGVzIGltcG9ydCBNZXRob2RUeXBlCiBpbXBvcnQgdW5pdHRlc3QKQEAgLTM5LDE1ICszOCwxNyBAQAogICAgICAgICAgICAgICAgIHNlbGYuX19pbXBvcnRfXyhuYW1lKQogICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjbS5leGNlcHRpb24ubmFtZSwgbmFtZSkKIAotRnJvemVuX1VzZUNhY2hlLCBTb3VyY2VfVXNlQ2FjaGUgPSB1dGlsLnRlc3RfYm90aCgKLSAgICAgICAgVXNlQ2FjaGUsIF9faW1wb3J0X189aW1wb3J0X3V0aWwuX19pbXBvcnRfXykKKworKEZyb3plbl9Vc2VDYWNoZSwKKyBTb3VyY2VfVXNlQ2FjaGUKKyApID0gdXRpbC50ZXN0X2JvdGgoVXNlQ2FjaGUsIF9faW1wb3J0X189dXRpbC5fX2ltcG9ydF9fKQogCiAKIGNsYXNzIEltcG9ydGxpYlVzZUNhY2hlKFVzZUNhY2hlLCB1bml0dGVzdC5UZXN0Q2FzZSk6CiAKICAgICAjIFBlcnRpbmVudCBvbmx5IHRvIFBFUCAzMDI7IGV4ZWNfbW9kdWxlKCkgZG9lc24ndCByZXR1cm4gYSBtb2R1bGUuCiAKLSAgICBfX2ltcG9ydF9fID0gaW1wb3J0X3V0aWwuX19pbXBvcnRfX1sxXQorICAgIF9faW1wb3J0X18gPSB1dGlsLl9faW1wb3J0X19bJ1NvdXJjZSddCiAKICAgICBkZWYgY3JlYXRlX21vY2soc2VsZiwgKm5hbWVzLCByZXR1cm5fPU5vbmUpOgogICAgICAgICBtb2NrID0gdXRpbC5tb2NrX21vZHVsZXMoKm5hbWVzKQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvaW1wb3J0Xy90ZXN0X2Zyb21saXN0LnB5IGIvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvaW1wb3J0Xy90ZXN0X2Zyb21saXN0LnB5CmluZGV4IGE3NTViNzUuLjgwNDU0NjUgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL2ltcG9ydF8vdGVzdF9mcm9tbGlzdC5weQorKysgYi9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi9pbXBvcnRfL3Rlc3RfZnJvbWxpc3QucHkKQEAgLTEsNiArMSw1IEBACiAiIiJUZXN0IHRoYXQgdGhlIHNlbWFudGljcyByZWxhdGluZyB0byB0aGUgJ2Zyb21saXN0JyBhcmd1bWVudCBhcmUgY29ycmVjdC4iIiIKIGZyb20gLi4gaW1wb3J0IHV0aWwKLWZyb20gLiBpbXBvcnQgdXRpbCBhcyBpbXBvcnRfdXRpbAogaW1wb3J0IHVuaXR0ZXN0CiAKIApAQCAtMjksOCArMjgsMTAgQEAKICAgICAgICAgICAgICAgICBtb2R1bGUgPSBzZWxmLl9faW1wb3J0X18oJ3BrZy5tb2R1bGUnLCBmcm9tbGlzdD1bJ2F0dHInXSkKICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1vZHVsZS5fX25hbWVfXywgJ3BrZy5tb2R1bGUnKQogCi1Gcm96ZW5fUmV0dXJuVmFsdWUsIFNvdXJjZV9SZXR1cm5WYWx1ZSA9IHV0aWwudGVzdF9ib3RoKAotICAgICAgICBSZXR1cm5WYWx1ZSwgX19pbXBvcnRfXz1pbXBvcnRfdXRpbC5fX2ltcG9ydF9fKQorCisoRnJvemVuX1JldHVyblZhbHVlLAorIFNvdXJjZV9SZXR1cm5WYWx1ZQorICkgPSB1dGlsLnRlc3RfYm90aChSZXR1cm5WYWx1ZSwgX19pbXBvcnRfXz11dGlsLl9faW1wb3J0X18pCiAKIAogY2xhc3MgSGFuZGxpbmdGcm9tbGlzdDoKQEAgLTEyMSw4ICsxMjIsMTAgQEAKICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1vZHVsZS5tb2R1bGUxLl9fbmFtZV9fLCAncGtnLm1vZHVsZTEnKQogICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobW9kdWxlLm1vZHVsZTIuX19uYW1lX18sICdwa2cubW9kdWxlMicpCiAKLUZyb3plbl9Gcm9tTGlzdCwgU291cmNlX0Zyb21MaXN0ID0gdXRpbC50ZXN0X2JvdGgoCi0gICAgICAgIEhhbmRsaW5nRnJvbWxpc3QsIF9faW1wb3J0X189aW1wb3J0X3V0aWwuX19pbXBvcnRfXykKKworKEZyb3plbl9Gcm9tTGlzdCwKKyBTb3VyY2VfRnJvbUxpc3QKKyApID0gdXRpbC50ZXN0X2JvdGgoSGFuZGxpbmdGcm9tbGlzdCwgX19pbXBvcnRfXz11dGlsLl9faW1wb3J0X18pCiAKIAogaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL2ltcG9ydF8vdGVzdF9tZXRhX3BhdGgucHkgYi9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi9pbXBvcnRfL3Rlc3RfbWV0YV9wYXRoLnB5CmluZGV4IDVlZWIxNDUuLmM0NTJjZGQgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL2ltcG9ydF8vdGVzdF9tZXRhX3BhdGgucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvaW1wb3J0Xy90ZXN0X21ldGFfcGF0aC5weQpAQCAtMSw1ICsxLDQgQEAKIGZyb20gLi4gaW1wb3J0IHV0aWwKLWZyb20gLiBpbXBvcnQgdXRpbCBhcyBpbXBvcnRfdXRpbAogaW1wb3J0IGltcG9ydGxpYi5fYm9vdHN0cmFwCiBpbXBvcnQgc3lzCiBmcm9tIHR5cGVzIGltcG9ydCBNZXRob2RUeXBlCkBAIC00Niw4ICs0NSwxMCBAQAogICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKHcpLCAxKQogICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShpc3N1YmNsYXNzKHdbLTFdLmNhdGVnb3J5LCBJbXBvcnRXYXJuaW5nKSkKIAotRnJvemVuX0NhbGxpbmdPcmRlciwgU291cmNlX0NhbGxpbmdPcmRlciA9IHV0aWwudGVzdF9ib3RoKAotICAgICAgICBDYWxsaW5nT3JkZXIsIF9faW1wb3J0X189aW1wb3J0X3V0aWwuX19pbXBvcnRfXykKKworKEZyb3plbl9DYWxsaW5nT3JkZXIsCisgU291cmNlX0NhbGxpbmdPcmRlcgorICkgPSB1dGlsLnRlc3RfYm90aChDYWxsaW5nT3JkZXIsIF9faW1wb3J0X189dXRpbC5fX2ltcG9ydF9fKQogCiAKIGNsYXNzIENhbGxTaWduYXR1cmU6CkBAIC0xMDAsMTkgKzEwMSwyNSBAQAogICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYXJnc1swXSwgbW9kX25hbWUpCiAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRJcyhhcmdzWzFdLCBwYXRoKQogCisKIGNsYXNzIENhbGxTaWduYXR1cmVQRVAzMDIoQ2FsbFNpZ25hdHVyZSk6CiAgICAgbW9ja19tb2R1bGVzID0gdXRpbC5tb2NrX21vZHVsZXMKICAgICBmaW5kZXJfbmFtZSA9ICdmaW5kX21vZHVsZScKIAotRnJvemVuX0NhbGxTaWduYXR1cmVQRVAzMDIsIFNvdXJjZV9DYWxsU2lnbmF0dXJlUEVQMzAyID0gdXRpbC50ZXN0X2JvdGgoCi0gICAgICAgIENhbGxTaWduYXR1cmVQRVAzMDIsIF9faW1wb3J0X189aW1wb3J0X3V0aWwuX19pbXBvcnRfXykKKworKEZyb3plbl9DYWxsU2lnbmF0dXJlUEVQMzAyLAorIFNvdXJjZV9DYWxsU2lnbmF0dXJlUEVQMzAyCisgKSA9IHV0aWwudGVzdF9ib3RoKENhbGxTaWduYXR1cmVQRVAzMDIsIF9faW1wb3J0X189dXRpbC5fX2ltcG9ydF9fKQorCiAKIGNsYXNzIENhbGxTaWduYXR1cmVQRVA0NTEoQ2FsbFNpZ25hdHVyZSk6CiAgICAgbW9ja19tb2R1bGVzID0gdXRpbC5tb2NrX3NwZWMKICAgICBmaW5kZXJfbmFtZSA9ICdmaW5kX3NwZWMnCiAKLUZyb3plbl9DYWxsU2lnbmF0dXJlUEVQNDUxLCBTb3VyY2VfQ2FsbFNpZ25hdHVyZVBFUDQ1MSA9IHV0aWwudGVzdF9ib3RoKAotICAgICAgICBDYWxsU2lnbmF0dXJlUEVQNDUxLCBfX2ltcG9ydF9fPWltcG9ydF91dGlsLl9faW1wb3J0X18pCisKKyhGcm96ZW5fQ2FsbFNpZ25hdHVyZVBFUDQ1MSwKKyBTb3VyY2VfQ2FsbFNpZ25hdHVyZVBFUDQ1MQorICkgPSB1dGlsLnRlc3RfYm90aChDYWxsU2lnbmF0dXJlUEVQNDUxLCBfX2ltcG9ydF9fPXV0aWwuX19pbXBvcnRfXykKIAogCiBpZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvaW1wb3J0Xy90ZXN0X3BhY2thZ2VzLnB5IGIvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvaW1wb3J0Xy90ZXN0X3BhY2thZ2VzLnB5CmluZGV4IDU1YTVkMTQuLjM3NTViODQgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL2ltcG9ydF8vdGVzdF9wYWNrYWdlcy5weQorKysgYi9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi9pbXBvcnRfL3Rlc3RfcGFja2FnZXMucHkKQEAgLTEsNSArMSw0IEBACiBmcm9tIC4uIGltcG9ydCB1dGlsCi1mcm9tIC4gaW1wb3J0IHV0aWwgYXMgaW1wb3J0X3V0aWwKIGltcG9ydCBzeXMKIGltcG9ydCB1bml0dGVzdAogaW1wb3J0IGltcG9ydGxpYgpAQCAtMTAyLDggKzEwMSwxMCBAQAogICAgICAgICAgICAgICAgIGZpbmFsbHk6CiAgICAgICAgICAgICAgICAgICAgIHN1cHBvcnQudW5sb2FkKHN1Ym5hbWUpCiAKLUZyb3plbl9QYXJlbnRUZXN0cywgU291cmNlX1BhcmVudFRlc3RzID0gdXRpbC50ZXN0X2JvdGgoCi0gICAgICAgIFBhcmVudE1vZHVsZVRlc3RzLCBfX2ltcG9ydF9fPWltcG9ydF91dGlsLl9faW1wb3J0X18pCisKKyhGcm96ZW5fUGFyZW50VGVzdHMsCisgU291cmNlX1BhcmVudFRlc3RzCisgKSA9IHV0aWwudGVzdF9ib3RoKFBhcmVudE1vZHVsZVRlc3RzLCBfX2ltcG9ydF9fPXV0aWwuX19pbXBvcnRfXykKIAogCiBpZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvaW1wb3J0Xy90ZXN0X3BhdGgucHkgYi9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi9pbXBvcnRfL3Rlc3RfcGF0aC5weQppbmRleCAxMjc0ZjhjLi5mMjU3ZjExIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi9pbXBvcnRfL3Rlc3RfcGF0aC5weQorKysgYi9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi9pbXBvcnRfL3Rlc3RfcGF0aC5weQpAQCAtMSwxMSArMSwxMSBAQAogZnJvbSAuLiBpbXBvcnQgdXRpbAotZnJvbSAuIGltcG9ydCB1dGlsIGFzIGltcG9ydF91dGlsCiAKIGltcG9ydGxpYiA9IHV0aWwuaW1wb3J0X2ltcG9ydGxpYignaW1wb3J0bGliJykKIG1hY2hpbmVyeSA9IHV0aWwuaW1wb3J0X2ltcG9ydGxpYignaW1wb3J0bGliLm1hY2hpbmVyeScpCiAKIGltcG9ydCBvcwogaW1wb3J0IHN5cworaW1wb3J0IHRlbXBmaWxlCiBmcm9tIHR5cGVzIGltcG9ydCBNb2R1bGVUeXBlCiBpbXBvcnQgdW5pdHRlc3QKIGltcG9ydCB3YXJuaW5ncwpAQCAtNTgsNyArNTgsNyBAQAogICAgICAgICBtb2R1bGUgPSAnPHRlc3QgbW9kdWxlPicKICAgICAgICAgcGF0aCA9ICc8dGVzdCBwYXRoPicKICAgICAgICAgaW1wb3J0ZXIgPSB1dGlsLm1vY2tfc3BlYyhtb2R1bGUpCi0gICAgICAgIGhvb2sgPSBpbXBvcnRfdXRpbC5tb2NrX3BhdGhfaG9vayhwYXRoLCBpbXBvcnRlcj1pbXBvcnRlcikKKyAgICAgICAgaG9vayA9IHV0aWwubW9ja19wYXRoX2hvb2socGF0aCwgaW1wb3J0ZXI9aW1wb3J0ZXIpCiAgICAgICAgIHdpdGggdXRpbC5pbXBvcnRfc3RhdGUocGF0aF9ob29rcz1baG9va10pOgogICAgICAgICAgICAgbG9hZGVyID0gc2VsZi5tYWNoaW5lcnkuUGF0aEZpbmRlci5maW5kX21vZHVsZShtb2R1bGUsIFtwYXRoXSkKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXMobG9hZGVyLCBpbXBvcnRlcikKQEAgLTgzLDcgKzgzLDcgQEAKICAgICAgICAgcGF0aCA9ICcnCiAgICAgICAgIG1vZHVsZSA9ICc8dGVzdCBtb2R1bGU+JwogICAgICAgICBpbXBvcnRlciA9IHV0aWwubW9ja19zcGVjKG1vZHVsZSkKLSAgICAgICAgaG9vayA9IGltcG9ydF91dGlsLm1vY2tfcGF0aF9ob29rKG9zLmdldGN3ZCgpLCBpbXBvcnRlcj1pbXBvcnRlcikKKyAgICAgICAgaG9vayA9IHV0aWwubW9ja19wYXRoX2hvb2sob3MuZ2V0Y3dkKCksIGltcG9ydGVyPWltcG9ydGVyKQogICAgICAgICB3aXRoIHV0aWwuaW1wb3J0X3N0YXRlKHBhdGg9W3BhdGhdLCBwYXRoX2hvb2tzPVtob29rXSk6CiAgICAgICAgICAgICBsb2FkZXIgPSBzZWxmLm1hY2hpbmVyeS5QYXRoRmluZGVyLmZpbmRfbW9kdWxlKG1vZHVsZSkKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXMobG9hZGVyLCBpbXBvcnRlcikKQEAgLTExMiw4ICsxMTIsNzUgQEAKICAgICAgICAgICAgIGlmIGVtYWlsIGlzIG5vdCBtaXNzaW5nOgogICAgICAgICAgICAgICAgIHN5cy5tb2R1bGVzWydlbWFpbCddID0gZW1haWwKIAotRnJvemVuX0ZpbmRlclRlc3RzLCBTb3VyY2VfRmluZGVyVGVzdHMgPSB1dGlsLnRlc3RfYm90aCgKLSAgICAgICAgRmluZGVyVGVzdHMsIGltcG9ydGxpYj1pbXBvcnRsaWIsIG1hY2hpbmVyeT1tYWNoaW5lcnkpCisgICAgZGVmIHRlc3RfZmluZGVyX3dpdGhfZmluZF9tb2R1bGUoc2VsZik6CisgICAgICAgIGNsYXNzIFRlc3RGaW5kZXI6CisgICAgICAgICAgICBkZWYgZmluZF9tb2R1bGUoc2VsZiwgZnVsbG5hbWUpOgorICAgICAgICAgICAgICAgIHJldHVybiBzZWxmLnRvX3JldHVybgorICAgICAgICBmYWlsaW5nX2ZpbmRlciA9IFRlc3RGaW5kZXIoKQorICAgICAgICBmYWlsaW5nX2ZpbmRlci50b19yZXR1cm4gPSBOb25lCisgICAgICAgIHBhdGggPSAndGVzdGluZyBwYXRoJworICAgICAgICB3aXRoIHV0aWwuaW1wb3J0X3N0YXRlKHBhdGhfaW1wb3J0ZXJfY2FjaGU9e3BhdGg6IGZhaWxpbmdfZmluZGVyfSk6CisgICAgICAgICAgICBzZWxmLmFzc2VydElzTm9uZSgKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5tYWNoaW5lcnkuUGF0aEZpbmRlci5maW5kX3NwZWMoJ3doYXRldmVyJywgW3BhdGhdKSkKKyAgICAgICAgc3VjY2Vzc19maW5kZXIgPSBUZXN0RmluZGVyKCkKKyAgICAgICAgc3VjY2Vzc19maW5kZXIudG9fcmV0dXJuID0gX19sb2FkZXJfXworICAgICAgICB3aXRoIHV0aWwuaW1wb3J0X3N0YXRlKHBhdGhfaW1wb3J0ZXJfY2FjaGU9e3BhdGg6IHN1Y2Nlc3NfZmluZGVyfSk6CisgICAgICAgICAgICBzcGVjID0gc2VsZi5tYWNoaW5lcnkuUGF0aEZpbmRlci5maW5kX3NwZWMoJ3doYXRldmVyJywgW3BhdGhdKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNwZWMubG9hZGVyLCBfX2xvYWRlcl9fKQorCisgICAgZGVmIHRlc3RfZmluZGVyX3dpdGhfZmluZF9sb2FkZXIoc2VsZik6CisgICAgICAgIGNsYXNzIFRlc3RGaW5kZXI6CisgICAgICAgICAgICBsb2FkZXIgPSBOb25lCisgICAgICAgICAgICBwb3J0aW9ucyA9IFtdCisgICAgICAgICAgICBkZWYgZmluZF9sb2FkZXIoc2VsZiwgZnVsbG5hbWUpOgorICAgICAgICAgICAgICAgIHJldHVybiBzZWxmLmxvYWRlciwgc2VsZi5wb3J0aW9ucworICAgICAgICBwYXRoID0gJ3Rlc3RpbmcgcGF0aCcKKyAgICAgICAgd2l0aCB1dGlsLmltcG9ydF9zdGF0ZShwYXRoX2ltcG9ydGVyX2NhY2hlPXtwYXRoOiBUZXN0RmluZGVyKCl9KToKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXNOb25lKAorICAgICAgICAgICAgICAgICAgICBzZWxmLm1hY2hpbmVyeS5QYXRoRmluZGVyLmZpbmRfc3BlYygnd2hhdGV2ZXInLCBbcGF0aF0pKQorICAgICAgICBzdWNjZXNzX2ZpbmRlciA9IFRlc3RGaW5kZXIoKQorICAgICAgICBzdWNjZXNzX2ZpbmRlci5sb2FkZXIgPSBfX2xvYWRlcl9fCisgICAgICAgIHdpdGggdXRpbC5pbXBvcnRfc3RhdGUocGF0aF9pbXBvcnRlcl9jYWNoZT17cGF0aDogc3VjY2Vzc19maW5kZXJ9KToKKyAgICAgICAgICAgIHNwZWMgPSBzZWxmLm1hY2hpbmVyeS5QYXRoRmluZGVyLmZpbmRfc3BlYygnd2hhdGV2ZXInLCBbcGF0aF0pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3BlYy5sb2FkZXIsIF9fbG9hZGVyX18pCisKKyAgICBkZWYgdGVzdF9maW5kZXJfd2l0aF9maW5kX3NwZWMoc2VsZik6CisgICAgICAgIGNsYXNzIFRlc3RGaW5kZXI6CisgICAgICAgICAgICBzcGVjID0gTm9uZQorICAgICAgICAgICAgZGVmIGZpbmRfc3BlYyhzZWxmLCBmdWxsbmFtZSwgdGFyZ2V0PU5vbmUpOgorICAgICAgICAgICAgICAgIHJldHVybiBzZWxmLnNwZWMKKyAgICAgICAgcGF0aCA9ICd0ZXN0aW5nIHBhdGgnCisgICAgICAgIHdpdGggdXRpbC5pbXBvcnRfc3RhdGUocGF0aF9pbXBvcnRlcl9jYWNoZT17cGF0aDogVGVzdEZpbmRlcigpfSk6CisgICAgICAgICAgICBzZWxmLmFzc2VydElzTm9uZSgKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5tYWNoaW5lcnkuUGF0aEZpbmRlci5maW5kX3NwZWMoJ3doYXRldmVyJywgW3BhdGhdKSkKKyAgICAgICAgc3VjY2Vzc19maW5kZXIgPSBUZXN0RmluZGVyKCkKKyAgICAgICAgc3VjY2Vzc19maW5kZXIuc3BlYyA9IHNlbGYubWFjaGluZXJ5Lk1vZHVsZVNwZWMoJ3doYXRldmVyJywgX19sb2FkZXJfXykKKyAgICAgICAgd2l0aCB1dGlsLmltcG9ydF9zdGF0ZShwYXRoX2ltcG9ydGVyX2NhY2hlPXtwYXRoOiBzdWNjZXNzX2ZpbmRlcn0pOgorICAgICAgICAgICAgZ290ID0gc2VsZi5tYWNoaW5lcnkuUGF0aEZpbmRlci5maW5kX3NwZWMoJ3doYXRldmVyJywgW3BhdGhdKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGdvdCwgc3VjY2Vzc19maW5kZXIuc3BlYykKKworICAgIEB1bml0dGVzdC5za2lwSWYoc3lzLnBsYXRmb3JtID09ICd3aW4zMicsICJjd2QgY2FuJ3Qgbm90IGV4aXN0IG9uIFdpbmRvd3MiKQorICAgIGRlZiB0ZXN0X2RlbGV0ZWRfY3dkKHNlbGYpOgorICAgICAgICAjIElzc3VlICMyMjgzNAorICAgICAgICBzZWxmLmFkZENsZWFudXAob3MuY2hkaXIsIG9zLmdldGN3ZCgpKQorICAgICAgICB0cnk6CisgICAgICAgICAgICB3aXRoIHRlbXBmaWxlLlRlbXBvcmFyeURpcmVjdG9yeSgpIGFzIHBhdGg6CisgICAgICAgICAgICAgICAgb3MuY2hkaXIocGF0aCkKKyAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgZXhjOgorICAgICAgICAgICAgaWYgZXhjLmVycm5vID09IDIyOgorICAgICAgICAgICAgICAgICMgaXNzdWUgIzIyODM0CisgICAgICAgICAgICAgICAgc2VsZi5za2lwVGVzdCgicGxhdGZvcm0gZG9lcyBub3QgYWxsb3cgdGhlIGRlbGV0aW9uIG9mIHRoZSBjd2QiKQorICAgICAgICAgICAgcmFpc2UKKyAgICAgICAgd2l0aCB1dGlsLmltcG9ydF9zdGF0ZShwYXRoPVsnJ10pOgorICAgICAgICAgICAgIyBEbyBub3Qgd2FudCBGaWxlTm90Rm91bmRFcnJvciByYWlzZWQuCisgICAgICAgICAgICBzZWxmLmFzc2VydElzTm9uZShzZWxmLm1hY2hpbmVyeS5QYXRoRmluZGVyLmZpbmRfc3BlYygnd2hhdGV2ZXInKSkKKworCisKKworKEZyb3plbl9GaW5kZXJUZXN0cywKKyBTb3VyY2VfRmluZGVyVGVzdHMKKyApID0gdXRpbC50ZXN0X2JvdGgoRmluZGVyVGVzdHMsIGltcG9ydGxpYj1pbXBvcnRsaWIsIG1hY2hpbmVyeT1tYWNoaW5lcnkpCiAKIAogY2xhc3MgUGF0aEVudHJ5RmluZGVyVGVzdHM6CkBAIC0xMzYsOCArMjAzLDEwIEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0aF9ob29rcz1bRmluZGVyXSk6CiAgICAgICAgICAgICBzZWxmLm1hY2hpbmVyeS5QYXRoRmluZGVyLmZpbmRfc3BlYygnaW1wb3J0bGliJykKIAotRnJvemVuX1BFRlRlc3RzLCBTb3VyY2VfUEVGVGVzdHMgPSB1dGlsLnRlc3RfYm90aCgKLSAgICAgICAgUGF0aEVudHJ5RmluZGVyVGVzdHMsIG1hY2hpbmVyeT1tYWNoaW5lcnkpCisKKyhGcm96ZW5fUEVGVGVzdHMsCisgU291cmNlX1BFRlRlc3RzCisgKSA9IHV0aWwudGVzdF9ib3RoKFBhdGhFbnRyeUZpbmRlclRlc3RzLCBtYWNoaW5lcnk9bWFjaGluZXJ5KQogCiAKIGlmIF9fbmFtZV9fID09ICdfX21haW5fXyc6CmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi9pbXBvcnRfL3Rlc3RfcmVsYXRpdmVfaW1wb3J0cy5weSBiL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL2ltcG9ydF8vdGVzdF9yZWxhdGl2ZV9pbXBvcnRzLnB5CmluZGV4IGIyMTZlOWMuLjI4YmI2ZjcgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL2ltcG9ydF8vdGVzdF9yZWxhdGl2ZV9pbXBvcnRzLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL2ltcG9ydF8vdGVzdF9yZWxhdGl2ZV9pbXBvcnRzLnB5CkBAIC0xLDYgKzEsNSBAQAogIiIiVGVzdCByZWxhdGl2ZSBpbXBvcnRzIChQRVAgMzI4KS4iIiIKIGZyb20gLi4gaW1wb3J0IHV0aWwKLWZyb20gLiBpbXBvcnQgdXRpbCBhcyBpbXBvcnRfdXRpbAogaW1wb3J0IHN5cwogaW1wb3J0IHVuaXR0ZXN0CiAKQEAgLTIwOCw4ICsyMDcsMTAgQEAKICAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhLZXlFcnJvcik6CiAgICAgICAgICAgICBzZWxmLl9faW1wb3J0X18oJ3N5cycsIGxldmVsPTEpCiAKLUZyb3plbl9SZWxhdGl2ZUltcG9ydHMsIFNvdXJjZV9SZWxhdGl2ZUltcG9ydHMgPSB1dGlsLnRlc3RfYm90aCgKLSAgICAgICAgUmVsYXRpdmVJbXBvcnRzLCBfX2ltcG9ydF9fPWltcG9ydF91dGlsLl9faW1wb3J0X18pCisKKyhGcm96ZW5fUmVsYXRpdmVJbXBvcnRzLAorIFNvdXJjZV9SZWxhdGl2ZUltcG9ydHMKKyApID0gdXRpbC50ZXN0X2JvdGgoUmVsYXRpdmVJbXBvcnRzLCBfX2ltcG9ydF9fPXV0aWwuX19pbXBvcnRfXykKIAogCiBpZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvaW1wb3J0Xy91dGlsLnB5IGIvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvaW1wb3J0Xy91dGlsLnB5CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkY2I0OTBmLi4wMDAwMDAwCi0tLSBhL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL2ltcG9ydF8vdXRpbC5weQorKysgL2Rldi9udWxsCkBAIC0xLDIwICswLDAgQEAKLWZyb20gLi4gaW1wb3J0IHV0aWwKLQotZnJvemVuX2ltcG9ydGxpYiwgc291cmNlX2ltcG9ydGxpYiA9IHV0aWwuaW1wb3J0X2ltcG9ydGxpYignaW1wb3J0bGliJykKLQotaW1wb3J0IGJ1aWx0aW5zCi1pbXBvcnQgZnVuY3Rvb2xzCi1pbXBvcnQgaW1wb3J0bGliCi1pbXBvcnQgdW5pdHRlc3QKLQotCi1fX2ltcG9ydF9fID0gc3RhdGljbWV0aG9kKGJ1aWx0aW5zLl9faW1wb3J0X18pLCBzdGF0aWNtZXRob2Qoc291cmNlX2ltcG9ydGxpYi5fX2ltcG9ydF9fKQotCi0KLWRlZiBtb2NrX3BhdGhfaG9vaygqZW50cmllcywgaW1wb3J0ZXIpOgotICAgICIiIkEgbW9jayBzeXMucGF0aF9ob29rcyBlbnRyeS4iIiIKLSAgICBkZWYgaG9vayhlbnRyeSk6Ci0gICAgICAgIGlmIGVudHJ5IG5vdCBpbiBlbnRyaWVzOgotICAgICAgICAgICAgcmFpc2UgSW1wb3J0RXJyb3IKLSAgICAgICAgcmV0dXJuIGltcG9ydGVyCi0gICAgcmV0dXJuIGhvb2sKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL3NvdXJjZS90ZXN0X2Nhc2Vfc2Vuc2l0aXZpdHkucHkgYi9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi9zb3VyY2UvdGVzdF9jYXNlX3NlbnNpdGl2aXR5LnB5CmluZGV4IGVmZDMxNDYuLjI5ZTk1YjIgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL3NvdXJjZS90ZXN0X2Nhc2Vfc2Vuc2l0aXZpdHkucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvc291cmNlL3Rlc3RfY2FzZV9zZW5zaXRpdml0eS5weQpAQCAtMSw2ICsxLDUgQEAKICIiIlRlc3QgY2FzZS1zZW5zaXRpdml0eSAoUEVQIDIzNSkuIiIiCiBmcm9tIC4uIGltcG9ydCB1dGlsCi1mcm9tIC4gaW1wb3J0IHV0aWwgYXMgc291cmNlX3V0aWwKIAogaW1wb3J0bGliID0gdXRpbC5pbXBvcnRfaW1wb3J0bGliKCdpbXBvcnRsaWInKQogbWFjaGluZXJ5ID0gdXRpbC5pbXBvcnRfaW1wb3J0bGliKCdpbXBvcnRsaWIubWFjaGluZXJ5JykKQEAgLTMyLDcgKzMxLDcgQEAKICAgICAgICAgIiIiTG9vayBmb3IgYSBtb2R1bGUgd2l0aCBtYXRjaGluZyBhbmQgbm9uLW1hdGNoaW5nIHNlbnNpdGl2aXR5LiIiIgogICAgICAgICBzZW5zaXRpdmVfcGtnID0gJ3NlbnNpdGl2ZS57MH0nLmZvcm1hdChzZWxmLm5hbWUpCiAgICAgICAgIGluc2Vuc2l0aXZlX3BrZyA9ICdpbnNlbnNpdGl2ZS57MH0nLmZvcm1hdChzZWxmLm5hbWUubG93ZXIoKSkKLSAgICAgICAgY29udGV4dCA9IHNvdXJjZV91dGlsLmNyZWF0ZV9tb2R1bGVzKGluc2Vuc2l0aXZlX3BrZywgc2Vuc2l0aXZlX3BrZykKKyAgICAgICAgY29udGV4dCA9IHV0aWwuY3JlYXRlX21vZHVsZXMoaW5zZW5zaXRpdmVfcGtnLCBzZW5zaXRpdmVfcGtnKQogICAgICAgICB3aXRoIGNvbnRleHQgYXMgbWFwcGluZzoKICAgICAgICAgICAgIHNlbnNpdGl2ZV9wYXRoID0gb3MucGF0aC5qb2luKG1hcHBpbmdbJy5yb290J10sICdzZW5zaXRpdmUnKQogICAgICAgICAgICAgaW5zZW5zaXRpdmVfcGF0aCA9IG9zLnBhdGguam9pbihtYXBwaW5nWycucm9vdCddLCAnaW5zZW5zaXRpdmUnKQpAQCAtNjMsMjAgKzYyLDI4IEBACiAgICAgICAgICAgICBzZWxmLmFzc2VydElzTm90Tm9uZShpbnNlbnNpdGl2ZSkKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0SW4oc2VsZi5uYW1lLCBpbnNlbnNpdGl2ZS5nZXRfZmlsZW5hbWUoc2VsZi5uYW1lKSkKIAorCiBjbGFzcyBDYXNlU2Vuc2l0aXZpdHlUZXN0UEVQMzAyKENhc2VTZW5zaXRpdml0eVRlc3QpOgogICAgIGRlZiBmaW5kKHNlbGYsIGZpbmRlcik6CiAgICAgICAgIHJldHVybiBmaW5kZXIuZmluZF9tb2R1bGUoc2VsZi5uYW1lKQogCi1Gcm96ZW5fQ2FzZVNlbnNpdGl2aXR5VGVzdFBFUDMwMiwgU291cmNlX0Nhc2VTZW5zaXRpdml0eVRlc3RQRVAzMDIgPSB1dGlsLnRlc3RfYm90aCgKLSAgICBDYXNlU2Vuc2l0aXZpdHlUZXN0UEVQMzAyLCBpbXBvcnRsaWI9aW1wb3J0bGliLCBtYWNoaW5lcnk9bWFjaGluZXJ5KQorCisoRnJvemVuX0Nhc2VTZW5zaXRpdml0eVRlc3RQRVAzMDIsCisgU291cmNlX0Nhc2VTZW5zaXRpdml0eVRlc3RQRVAzMDIKKyApID0gdXRpbC50ZXN0X2JvdGgoQ2FzZVNlbnNpdGl2aXR5VGVzdFBFUDMwMiwgaW1wb3J0bGliPWltcG9ydGxpYiwKKyAgICAgICAgICAgICAgICAgICAgbWFjaGluZXJ5PW1hY2hpbmVyeSkKKwogCiBjbGFzcyBDYXNlU2Vuc2l0aXZpdHlUZXN0UEVQNDUxKENhc2VTZW5zaXRpdml0eVRlc3QpOgogICAgIGRlZiBmaW5kKHNlbGYsIGZpbmRlcik6CiAgICAgICAgIGZvdW5kID0gZmluZGVyLmZpbmRfc3BlYyhzZWxmLm5hbWUpCiAgICAgICAgIHJldHVybiBmb3VuZC5sb2FkZXIgaWYgZm91bmQgaXMgbm90IE5vbmUgZWxzZSBmb3VuZAogCi1Gcm96ZW5fQ2FzZVNlbnNpdGl2aXR5VGVzdFBFUDQ1MSwgU291cmNlX0Nhc2VTZW5zaXRpdml0eVRlc3RQRVA0NTEgPSB1dGlsLnRlc3RfYm90aCgKLSAgICBDYXNlU2Vuc2l0aXZpdHlUZXN0UEVQNDUxLCBpbXBvcnRsaWI9aW1wb3J0bGliLCBtYWNoaW5lcnk9bWFjaGluZXJ5KQorCisoRnJvemVuX0Nhc2VTZW5zaXRpdml0eVRlc3RQRVA0NTEsCisgU291cmNlX0Nhc2VTZW5zaXRpdml0eVRlc3RQRVA0NTEKKyApID0gdXRpbC50ZXN0X2JvdGgoQ2FzZVNlbnNpdGl2aXR5VGVzdFBFUDQ1MSwgaW1wb3J0bGliPWltcG9ydGxpYiwKKyAgICAgICAgICAgICAgICAgICAgbWFjaGluZXJ5PW1hY2hpbmVyeSkKIAogCiBpZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvc291cmNlL3Rlc3RfZmlsZV9sb2FkZXIucHkgYi9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi9zb3VyY2UvdGVzdF9maWxlX2xvYWRlci5weQppbmRleCAyZDQxNWY5Li43M2Y0YzYyIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi9zb3VyY2UvdGVzdF9maWxlX2xvYWRlci5weQorKysgYi9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi9zb3VyY2UvdGVzdF9maWxlX2xvYWRlci5weQpAQCAtMSw2ICsxLDUgQEAKIGZyb20gLi4gaW1wb3J0IGFiYwogZnJvbSAuLiBpbXBvcnQgdXRpbAotZnJvbSAuIGltcG9ydCB1dGlsIGFzIHNvdXJjZV91dGlsCiAKIGltcG9ydGxpYiA9IHV0aWwuaW1wb3J0X2ltcG9ydGxpYignaW1wb3J0bGliJykKIGltcG9ydGxpYl9hYmMgPSB1dGlsLmltcG9ydF9pbXBvcnRsaWIoJ2ltcG9ydGxpYi5hYmMnKQpAQCAtNzEsNyArNzAsNyBAQAogCiAgICAgIyBbYmFzaWNdCiAgICAgZGVmIHRlc3RfbW9kdWxlKHNlbGYpOgotICAgICAgICB3aXRoIHNvdXJjZV91dGlsLmNyZWF0ZV9tb2R1bGVzKCdfdGVtcCcpIGFzIG1hcHBpbmc6CisgICAgICAgIHdpdGggdXRpbC5jcmVhdGVfbW9kdWxlcygnX3RlbXAnKSBhcyBtYXBwaW5nOgogICAgICAgICAgICAgbG9hZGVyID0gc2VsZi5tYWNoaW5lcnkuU291cmNlRmlsZUxvYWRlcignX3RlbXAnLCBtYXBwaW5nWydfdGVtcCddKQogICAgICAgICAgICAgd2l0aCB3YXJuaW5ncy5jYXRjaF93YXJuaW5ncygpOgogICAgICAgICAgICAgICAgIHdhcm5pbmdzLnNpbXBsZWZpbHRlcignaWdub3JlJywgRGVwcmVjYXRpb25XYXJuaW5nKQpAQCAtODMsNyArODIsNyBAQAogICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZ2V0YXR0cihtb2R1bGUsIGF0dHIpLCB2YWx1ZSkKIAogICAgIGRlZiB0ZXN0X3BhY2thZ2Uoc2VsZik6Ci0gICAgICAgIHdpdGggc291cmNlX3V0aWwuY3JlYXRlX21vZHVsZXMoJ19wa2cuX19pbml0X18nKSBhcyBtYXBwaW5nOgorICAgICAgICB3aXRoIHV0aWwuY3JlYXRlX21vZHVsZXMoJ19wa2cuX19pbml0X18nKSBhcyBtYXBwaW5nOgogICAgICAgICAgICAgbG9hZGVyID0gc2VsZi5tYWNoaW5lcnkuU291cmNlRmlsZUxvYWRlcignX3BrZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwcGluZ1snX3BrZy5fX2luaXRfXyddKQogICAgICAgICAgICAgd2l0aCB3YXJuaW5ncy5jYXRjaF93YXJuaW5ncygpOgpAQCAtOTgsNyArOTcsNyBAQAogCiAKICAgICBkZWYgdGVzdF9sYWNraW5nX3BhcmVudChzZWxmKToKLSAgICAgICAgd2l0aCBzb3VyY2VfdXRpbC5jcmVhdGVfbW9kdWxlcygnX3BrZy5fX2luaXRfXycsICdfcGtnLm1vZCcpYXMgbWFwcGluZzoKKyAgICAgICAgd2l0aCB1dGlsLmNyZWF0ZV9tb2R1bGVzKCdfcGtnLl9faW5pdF9fJywgJ19wa2cubW9kJylhcyBtYXBwaW5nOgogICAgICAgICAgICAgbG9hZGVyID0gc2VsZi5tYWNoaW5lcnkuU291cmNlRmlsZUxvYWRlcignX3BrZy5tb2QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcHBpbmdbJ19wa2cubW9kJ10pCiAgICAgICAgICAgICB3aXRoIHdhcm5pbmdzLmNhdGNoX3dhcm5pbmdzKCk6CkBAIC0xMTUsNyArMTE0LDcgQEAKICAgICAgICAgcmV0dXJuIGxhbWJkYSBuYW1lOiBmeG4obmFtZSkgKyAxCiAKICAgICBkZWYgdGVzdF9tb2R1bGVfcmV1c2Uoc2VsZik6Ci0gICAgICAgIHdpdGggc291cmNlX3V0aWwuY3JlYXRlX21vZHVsZXMoJ190ZW1wJykgYXMgbWFwcGluZzoKKyAgICAgICAgd2l0aCB1dGlsLmNyZWF0ZV9tb2R1bGVzKCdfdGVtcCcpIGFzIG1hcHBpbmc6CiAgICAgICAgICAgICBsb2FkZXIgPSBzZWxmLm1hY2hpbmVyeS5Tb3VyY2VGaWxlTG9hZGVyKCdfdGVtcCcsIG1hcHBpbmdbJ190ZW1wJ10pCiAgICAgICAgICAgICB3aXRoIHdhcm5pbmdzLmNhdGNoX3dhcm5pbmdzKCk6CiAgICAgICAgICAgICAgICAgd2FybmluZ3Muc2ltcGxlZmlsdGVyKCdpZ25vcmUnLCBEZXByZWNhdGlvbldhcm5pbmcpCkBAIC0xMzksNyArMTM4LDcgQEAKICAgICAgICAgYXR0cmlidXRlcyA9ICgnX19maWxlX18nLCAnX19wYXRoX18nLCAnX19wYWNrYWdlX18nKQogICAgICAgICB2YWx1ZSA9ICc8dGVzdD4nCiAgICAgICAgIG5hbWUgPSAnX3RlbXAnCi0gICAgICAgIHdpdGggc291cmNlX3V0aWwuY3JlYXRlX21vZHVsZXMobmFtZSkgYXMgbWFwcGluZzoKKyAgICAgICAgd2l0aCB1dGlsLmNyZWF0ZV9tb2R1bGVzKG5hbWUpIGFzIG1hcHBpbmc6CiAgICAgICAgICAgICBvcmlnX21vZHVsZSA9IHR5cGVzLk1vZHVsZVR5cGUobmFtZSkKICAgICAgICAgICAgIGZvciBhdHRyIGluIGF0dHJpYnV0ZXM6CiAgICAgICAgICAgICAgICAgc2V0YXR0cihvcmlnX21vZHVsZSwgYXR0ciwgdmFsdWUpCkBAIC0xNTksNyArMTU4LDcgQEAKIAogICAgICMgW3N5bnRheCBlcnJvcl0KICAgICBkZWYgdGVzdF9iYWRfc3ludGF4KHNlbGYpOgotICAgICAgICB3aXRoIHNvdXJjZV91dGlsLmNyZWF0ZV9tb2R1bGVzKCdfdGVtcCcpIGFzIG1hcHBpbmc6CisgICAgICAgIHdpdGggdXRpbC5jcmVhdGVfbW9kdWxlcygnX3RlbXAnKSBhcyBtYXBwaW5nOgogICAgICAgICAgICAgd2l0aCBvcGVuKG1hcHBpbmdbJ190ZW1wJ10sICd3JykgYXMgZmlsZToKICAgICAgICAgICAgICAgICBmaWxlLndyaXRlKCc9JykKICAgICAgICAgICAgIGxvYWRlciA9IHNlbGYubWFjaGluZXJ5LlNvdXJjZUZpbGVMb2FkZXIoJ190ZW1wJywgbWFwcGluZ1snX3RlbXAnXSkKQEAgLTE5MCwxMSArMTg5LDExIEBACiAgICAgICAgICAgICBpZiBvcy5wYXRoLmV4aXN0cyhweWNhY2hlKToKICAgICAgICAgICAgICAgICBzaHV0aWwucm10cmVlKHB5Y2FjaGUpCiAKLSAgICBAc291cmNlX3V0aWwud3JpdGVzX2J5dGVjb2RlX2ZpbGVzCisgICAgQHV0aWwud3JpdGVzX2J5dGVjb2RlX2ZpbGVzCiAgICAgZGVmIHRlc3RfdGltZXN0YW1wX292ZXJmbG93KHNlbGYpOgogICAgICAgICAjIFdoZW4gYSBtb2RpZmljYXRpb24gdGltZXN0YW1wIGlzIGxhcmdlciB0aGFuIDIqKjMyLCBpdCBzaG91bGQgYmUKICAgICAgICAgIyB0cnVuY2F0ZWQgcmF0aGVyIHRoYW4gcmFpc2UgYW4gT3ZlcmZsb3dFcnJvci4KLSAgICAgICAgd2l0aCBzb3VyY2VfdXRpbC5jcmVhdGVfbW9kdWxlcygnX3RlbXAnKSBhcyBtYXBwaW5nOgorICAgICAgICB3aXRoIHV0aWwuY3JlYXRlX21vZHVsZXMoJ190ZW1wJykgYXMgbWFwcGluZzoKICAgICAgICAgICAgIHNvdXJjZSA9IG1hcHBpbmdbJ190ZW1wJ10KICAgICAgICAgICAgIGNvbXBpbGVkID0gc2VsZi51dGlsLmNhY2hlX2Zyb21fc291cmNlKHNvdXJjZSkKICAgICAgICAgICAgIHdpdGggb3Blbihzb3VyY2UsICd3JykgYXMgZjoKQEAgLTIzNiw5ICsyMzUsMTEgQEAKICAgICAgICAgICAgICAgICB3YXJuaW5ncy5zaW1wbGVmaWx0ZXIoJ2lnbm9yZScsIERlcHJlY2F0aW9uV2FybmluZykKICAgICAgICAgICAgICAgICBsb2FkZXIubG9hZF9tb2R1bGUoJ2JhZCBuYW1lJykKIAotRnJvemVuX1NpbXBsZVRlc3QsIFNvdXJjZV9TaW1wbGVUZXN0ID0gdXRpbC50ZXN0X2JvdGgoCi0gICAgICAgIFNpbXBsZVRlc3QsIGltcG9ydGxpYj1pbXBvcnRsaWIsIG1hY2hpbmVyeT1tYWNoaW5lcnksIGFiYz1pbXBvcnRsaWJfYWJjLAotICAgICAgICB1dGlsPWltcG9ydGxpYl91dGlsKQorCisoRnJvemVuX1NpbXBsZVRlc3QsCisgU291cmNlX1NpbXBsZVRlc3QKKyApID0gdXRpbC50ZXN0X2JvdGgoU2ltcGxlVGVzdCwgaW1wb3J0bGliPWltcG9ydGxpYiwgbWFjaGluZXJ5PW1hY2hpbmVyeSwKKyAgICAgICAgICAgICAgICAgICAgYWJjPWltcG9ydGxpYl9hYmMsIHV0aWw9aW1wb3J0bGliX3V0aWwpCiAKIAogY2xhc3MgQmFkQnl0ZWNvZGVUZXN0OgpAQCAtMjc1LDQ1ICsyNzYsNDUgQEAKICAgICAgICAgcmV0dXJuIGJ5dGVjb2RlX3BhdGgKIAogICAgIGRlZiBfdGVzdF9lbXB0eV9maWxlKHNlbGYsIHRlc3QsICosIGRlbF9zb3VyY2U9RmFsc2UpOgotICAgICAgICB3aXRoIHNvdXJjZV91dGlsLmNyZWF0ZV9tb2R1bGVzKCdfdGVtcCcpIGFzIG1hcHBpbmc6CisgICAgICAgIHdpdGggdXRpbC5jcmVhdGVfbW9kdWxlcygnX3RlbXAnKSBhcyBtYXBwaW5nOgogICAgICAgICAgICAgYmNfcGF0aCA9IHNlbGYubWFuaXB1bGF0ZV9ieXRlY29kZSgnX3RlbXAnLCBtYXBwaW5nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFtYmRhIGJjOiBiJycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWxfc291cmNlPWRlbF9zb3VyY2UpCiAgICAgICAgICAgICB0ZXN0KCdfdGVtcCcsIG1hcHBpbmcsIGJjX3BhdGgpCiAKLSAgICBAc291cmNlX3V0aWwud3JpdGVzX2J5dGVjb2RlX2ZpbGVzCisgICAgQHV0aWwud3JpdGVzX2J5dGVjb2RlX2ZpbGVzCiAgICAgZGVmIF90ZXN0X3BhcnRpYWxfbWFnaWMoc2VsZiwgdGVzdCwgKiwgZGVsX3NvdXJjZT1GYWxzZSk6CiAgICAgICAgICMgV2hlbiB0aGVpciBhcmUgbGVzcyB0aGFuIDQgYnl0ZXMgdG8gYSAucHljLCByZWdlbmVyYXRlIGl0IGlmCiAgICAgICAgICMgcG9zc2libGUsIGVsc2UgcmFpc2UgSW1wb3J0RXJyb3IuCi0gICAgICAgIHdpdGggc291cmNlX3V0aWwuY3JlYXRlX21vZHVsZXMoJ190ZW1wJykgYXMgbWFwcGluZzoKKyAgICAgICAgd2l0aCB1dGlsLmNyZWF0ZV9tb2R1bGVzKCdfdGVtcCcpIGFzIG1hcHBpbmc6CiAgICAgICAgICAgICBiY19wYXRoID0gc2VsZi5tYW5pcHVsYXRlX2J5dGVjb2RlKCdfdGVtcCcsIG1hcHBpbmcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYW1iZGEgYmM6IGJjWzozXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlbF9zb3VyY2U9ZGVsX3NvdXJjZSkKICAgICAgICAgICAgIHRlc3QoJ190ZW1wJywgbWFwcGluZywgYmNfcGF0aCkKIAogICAgIGRlZiBfdGVzdF9tYWdpY19vbmx5KHNlbGYsIHRlc3QsICosIGRlbF9zb3VyY2U9RmFsc2UpOgotICAgICAgICB3aXRoIHNvdXJjZV91dGlsLmNyZWF0ZV9tb2R1bGVzKCdfdGVtcCcpIGFzIG1hcHBpbmc6CisgICAgICAgIHdpdGggdXRpbC5jcmVhdGVfbW9kdWxlcygnX3RlbXAnKSBhcyBtYXBwaW5nOgogICAgICAgICAgICAgYmNfcGF0aCA9IHNlbGYubWFuaXB1bGF0ZV9ieXRlY29kZSgnX3RlbXAnLCBtYXBwaW5nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFtYmRhIGJjOiBiY1s6NF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWxfc291cmNlPWRlbF9zb3VyY2UpCiAgICAgICAgICAgICB0ZXN0KCdfdGVtcCcsIG1hcHBpbmcsIGJjX3BhdGgpCiAKICAgICBkZWYgX3Rlc3RfcGFydGlhbF90aW1lc3RhbXAoc2VsZiwgdGVzdCwgKiwgZGVsX3NvdXJjZT1GYWxzZSk6Ci0gICAgICAgIHdpdGggc291cmNlX3V0aWwuY3JlYXRlX21vZHVsZXMoJ190ZW1wJykgYXMgbWFwcGluZzoKKyAgICAgICAgd2l0aCB1dGlsLmNyZWF0ZV9tb2R1bGVzKCdfdGVtcCcpIGFzIG1hcHBpbmc6CiAgICAgICAgICAgICBiY19wYXRoID0gc2VsZi5tYW5pcHVsYXRlX2J5dGVjb2RlKCdfdGVtcCcsIG1hcHBpbmcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYW1iZGEgYmM6IGJjWzo3XSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlbF9zb3VyY2U9ZGVsX3NvdXJjZSkKICAgICAgICAgICAgIHRlc3QoJ190ZW1wJywgbWFwcGluZywgYmNfcGF0aCkKIAogICAgIGRlZiBfdGVzdF9wYXJ0aWFsX3NpemUoc2VsZiwgdGVzdCwgKiwgZGVsX3NvdXJjZT1GYWxzZSk6Ci0gICAgICAgIHdpdGggc291cmNlX3V0aWwuY3JlYXRlX21vZHVsZXMoJ190ZW1wJykgYXMgbWFwcGluZzoKKyAgICAgICAgd2l0aCB1dGlsLmNyZWF0ZV9tb2R1bGVzKCdfdGVtcCcpIGFzIG1hcHBpbmc6CiAgICAgICAgICAgICBiY19wYXRoID0gc2VsZi5tYW5pcHVsYXRlX2J5dGVjb2RlKCdfdGVtcCcsIG1hcHBpbmcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYW1iZGEgYmM6IGJjWzoxMV0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWxfc291cmNlPWRlbF9zb3VyY2UpCiAgICAgICAgICAgICB0ZXN0KCdfdGVtcCcsIG1hcHBpbmcsIGJjX3BhdGgpCiAKICAgICBkZWYgX3Rlc3Rfbm9fbWFyc2hhbChzZWxmLCAqLCBkZWxfc291cmNlPUZhbHNlKToKLSAgICAgICAgd2l0aCBzb3VyY2VfdXRpbC5jcmVhdGVfbW9kdWxlcygnX3RlbXAnKSBhcyBtYXBwaW5nOgorICAgICAgICB3aXRoIHV0aWwuY3JlYXRlX21vZHVsZXMoJ190ZW1wJykgYXMgbWFwcGluZzoKICAgICAgICAgICAgIGJjX3BhdGggPSBzZWxmLm1hbmlwdWxhdGVfYnl0ZWNvZGUoJ190ZW1wJywgbWFwcGluZywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhbWJkYSBiYzogYmNbOjEyXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlbF9zb3VyY2U9ZGVsX3NvdXJjZSkKQEAgLTMyMiw3ICszMjMsNyBAQAogICAgICAgICAgICAgICAgIHNlbGYuaW1wb3J0XyhmaWxlX3BhdGgsICdfdGVtcCcpCiAKICAgICBkZWYgX3Rlc3Rfbm9uX2NvZGVfbWFyc2hhbChzZWxmLCAqLCBkZWxfc291cmNlPUZhbHNlKToKLSAgICAgICAgd2l0aCBzb3VyY2VfdXRpbC5jcmVhdGVfbW9kdWxlcygnX3RlbXAnKSBhcyBtYXBwaW5nOgorICAgICAgICB3aXRoIHV0aWwuY3JlYXRlX21vZHVsZXMoJ190ZW1wJykgYXMgbWFwcGluZzoKICAgICAgICAgICAgIGJ5dGVjb2RlX3BhdGggPSBzZWxmLm1hbmlwdWxhdGVfYnl0ZWNvZGUoJ190ZW1wJywgbWFwcGluZywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhbWJkYSBiYzogYmNbOjEyXSArIG1hcnNoYWwuZHVtcHMoYidhYmNkJyksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWxfc291cmNlPWRlbF9zb3VyY2UpCkBAIC0zMzMsNyArMzM0LDcgQEAKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY20uZXhjZXB0aW9uLnBhdGgsIGJ5dGVjb2RlX3BhdGgpCiAKICAgICBkZWYgX3Rlc3RfYmFkX21hcnNoYWwoc2VsZiwgKiwgZGVsX3NvdXJjZT1GYWxzZSk6Ci0gICAgICAgIHdpdGggc291cmNlX3V0aWwuY3JlYXRlX21vZHVsZXMoJ190ZW1wJykgYXMgbWFwcGluZzoKKyAgICAgICAgd2l0aCB1dGlsLmNyZWF0ZV9tb2R1bGVzKCdfdGVtcCcpIGFzIG1hcHBpbmc6CiAgICAgICAgICAgICBieXRlY29kZV9wYXRoID0gc2VsZi5tYW5pcHVsYXRlX2J5dGVjb2RlKCdfdGVtcCcsIG1hcHBpbmcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYW1iZGEgYmM6IGJjWzoxMl0gKyBiJzx0ZXN0PicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWxfc291cmNlPWRlbF9zb3VyY2UpCkBAIC0zNDIsMTEgKzM0MywxMiBAQAogICAgICAgICAgICAgICAgIHNlbGYuaW1wb3J0XyhmaWxlX3BhdGgsICdfdGVtcCcpCiAKICAgICBkZWYgX3Rlc3RfYmFkX21hZ2ljKHNlbGYsIHRlc3QsICosIGRlbF9zb3VyY2U9RmFsc2UpOgotICAgICAgICB3aXRoIHNvdXJjZV91dGlsLmNyZWF0ZV9tb2R1bGVzKCdfdGVtcCcpIGFzIG1hcHBpbmc6CisgICAgICAgIHdpdGggdXRpbC5jcmVhdGVfbW9kdWxlcygnX3RlbXAnKSBhcyBtYXBwaW5nOgogICAgICAgICAgICAgYmNfcGF0aCA9IHNlbGYubWFuaXB1bGF0ZV9ieXRlY29kZSgnX3RlbXAnLCBtYXBwaW5nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFtYmRhIGJjOiBiJ1x4MDBceDAwXHgwMFx4MDAnICsgYmNbNDpdKQogICAgICAgICAgICAgdGVzdCgnX3RlbXAnLCBtYXBwaW5nLCBiY19wYXRoKQogCisKIGNsYXNzIEJhZEJ5dGVjb2RlVGVzdFBFUDQ1MShCYWRCeXRlY29kZVRlc3QpOgogCiAgICAgZGVmIGltcG9ydF8oc2VsZiwgZmlsZSwgbW9kdWxlX25hbWUpOgpAQCAtMzU1LDYgKzM1Nyw3IEBACiAgICAgICAgIG1vZHVsZS5fX3NwZWNfXyA9IHNlbGYudXRpbC5zcGVjX2Zyb21fbG9hZGVyKG1vZHVsZV9uYW1lLCBsb2FkZXIpCiAgICAgICAgIGxvYWRlci5leGVjX21vZHVsZShtb2R1bGUpCiAKKwogY2xhc3MgQmFkQnl0ZWNvZGVUZXN0UEVQMzAyKEJhZEJ5dGVjb2RlVGVzdCk6CiAKICAgICBkZWYgaW1wb3J0XyhzZWxmLCBmaWxlLCBtb2R1bGVfbmFtZSk6CkBAIC0zNzEsNyArMzc0LDcgQEAKICAgICBkZWYgc2V0VXBDbGFzcyhjbHMpOgogICAgICAgICBjbHMubG9hZGVyID0gY2xzLm1hY2hpbmVyeS5Tb3VyY2VGaWxlTG9hZGVyCiAKLSAgICBAc291cmNlX3V0aWwud3JpdGVzX2J5dGVjb2RlX2ZpbGVzCisgICAgQHV0aWwud3JpdGVzX2J5dGVjb2RlX2ZpbGVzCiAgICAgZGVmIHRlc3RfZW1wdHlfZmlsZShzZWxmKToKICAgICAgICAgIyBXaGVuIGEgLnB5YyBpcyBlbXB0eSwgcmVnZW5lcmF0ZSBpdCBpZiBwb3NzaWJsZSwgZWxzZSByYWlzZQogICAgICAgICAjIEltcG9ydEVycm9yLgpAQCAtMzkwLDcgKzM5Myw3IEBACiAKICAgICAgICAgc2VsZi5fdGVzdF9wYXJ0aWFsX21hZ2ljKHRlc3QpCiAKLSAgICBAc291cmNlX3V0aWwud3JpdGVzX2J5dGVjb2RlX2ZpbGVzCisgICAgQHV0aWwud3JpdGVzX2J5dGVjb2RlX2ZpbGVzCiAgICAgZGVmIHRlc3RfbWFnaWNfb25seShzZWxmKToKICAgICAgICAgIyBXaGVuIHRoZXJlIGlzIG9ubHkgdGhlIG1hZ2ljIG51bWJlciwgcmVnZW5lcmF0ZSB0aGUgLnB5YyBpZiBwb3NzaWJsZSwKICAgICAgICAgIyBlbHNlIHJhaXNlIEVPRkVycm9yLgpAQCAtNDAxLDcgKzQwNCw3IEBACiAKICAgICAgICAgc2VsZi5fdGVzdF9tYWdpY19vbmx5KHRlc3QpCiAKLSAgICBAc291cmNlX3V0aWwud3JpdGVzX2J5dGVjb2RlX2ZpbGVzCisgICAgQHV0aWwud3JpdGVzX2J5dGVjb2RlX2ZpbGVzCiAgICAgZGVmIHRlc3RfYmFkX21hZ2ljKHNlbGYpOgogICAgICAgICAjIFdoZW4gdGhlIG1hZ2ljIG51bWJlciBpcyBkaWZmZXJlbnQsIHRoZSBieXRlY29kZSBzaG91bGQgYmUKICAgICAgICAgIyByZWdlbmVyYXRlZC4KQEAgLTQxMyw3ICs0MTYsNyBAQAogCiAgICAgICAgIHNlbGYuX3Rlc3RfYmFkX21hZ2ljKHRlc3QpCiAKLSAgICBAc291cmNlX3V0aWwud3JpdGVzX2J5dGVjb2RlX2ZpbGVzCisgICAgQHV0aWwud3JpdGVzX2J5dGVjb2RlX2ZpbGVzCiAgICAgZGVmIHRlc3RfcGFydGlhbF90aW1lc3RhbXAoc2VsZik6CiAgICAgICAgICMgV2hlbiB0aGUgdGltZXN0YW1wIGlzIHBhcnRpYWwsIHJlZ2VuZXJhdGUgdGhlIC5weWMsIGVsc2UKICAgICAgICAgIyByYWlzZSBFT0ZFcnJvci4KQEAgLTQyNCw3ICs0MjcsNyBAQAogCiAgICAgICAgIHNlbGYuX3Rlc3RfcGFydGlhbF90aW1lc3RhbXAodGVzdCkKIAotICAgIEBzb3VyY2VfdXRpbC53cml0ZXNfYnl0ZWNvZGVfZmlsZXMKKyAgICBAdXRpbC53cml0ZXNfYnl0ZWNvZGVfZmlsZXMKICAgICBkZWYgdGVzdF9wYXJ0aWFsX3NpemUoc2VsZik6CiAgICAgICAgICMgV2hlbiB0aGUgc2l6ZSBpcyBwYXJ0aWFsLCByZWdlbmVyYXRlIHRoZSAucHljLCBlbHNlCiAgICAgICAgICMgcmFpc2UgRU9GRXJyb3IuCkBAIC00MzUsMjkgKzQzOCwyOSBAQAogCiAgICAgICAgIHNlbGYuX3Rlc3RfcGFydGlhbF9zaXplKHRlc3QpCiAKLSAgICBAc291cmNlX3V0aWwud3JpdGVzX2J5dGVjb2RlX2ZpbGVzCisgICAgQHV0aWwud3JpdGVzX2J5dGVjb2RlX2ZpbGVzCiAgICAgZGVmIHRlc3Rfbm9fbWFyc2hhbChzZWxmKToKICAgICAgICAgIyBXaGVuIHRoZXJlIGlzIG9ubHkgdGhlIG1hZ2ljIG51bWJlciBhbmQgdGltZXN0YW1wLCByYWlzZSBFT0ZFcnJvci4KICAgICAgICAgc2VsZi5fdGVzdF9ub19tYXJzaGFsKCkKIAotICAgIEBzb3VyY2VfdXRpbC53cml0ZXNfYnl0ZWNvZGVfZmlsZXMKKyAgICBAdXRpbC53cml0ZXNfYnl0ZWNvZGVfZmlsZXMKICAgICBkZWYgdGVzdF9ub25fY29kZV9tYXJzaGFsKHNlbGYpOgogICAgICAgICBzZWxmLl90ZXN0X25vbl9jb2RlX21hcnNoYWwoKQogICAgICAgICAjIFhYWCBJbXBvcnRFcnJvciB3aGVuIHNvdXJjZWxlc3MKIAogICAgICMgW2JhZCBtYXJzaGFsXQotICAgIEBzb3VyY2VfdXRpbC53cml0ZXNfYnl0ZWNvZGVfZmlsZXMKKyAgICBAdXRpbC53cml0ZXNfYnl0ZWNvZGVfZmlsZXMKICAgICBkZWYgdGVzdF9iYWRfbWFyc2hhbChzZWxmKToKICAgICAgICAgIyBCYWQgbWFyc2hhbCBkYXRhIHNob3VsZCByYWlzZSBhIFZhbHVlRXJyb3IuCiAgICAgICAgIHNlbGYuX3Rlc3RfYmFkX21hcnNoYWwoKQogCiAgICAgIyBbYmFkIHRpbWVzdGFtcF0KLSAgICBAc291cmNlX3V0aWwud3JpdGVzX2J5dGVjb2RlX2ZpbGVzCisgICAgQHV0aWwud3JpdGVzX2J5dGVjb2RlX2ZpbGVzCiAgICAgZGVmIHRlc3Rfb2xkX3RpbWVzdGFtcChzZWxmKToKICAgICAgICAgIyBXaGVuIHRoZSB0aW1lc3RhbXAgaXMgb2xkZXIgdGhhbiB0aGUgc291cmNlLCBieXRlY29kZSBzaG91bGQgYmUKICAgICAgICAgIyByZWdlbmVyYXRlZC4KICAgICAgICAgemVyb3MgPSBiJ1x4MDBceDAwXHgwMFx4MDAnCi0gICAgICAgIHdpdGggc291cmNlX3V0aWwuY3JlYXRlX21vZHVsZXMoJ190ZW1wJykgYXMgbWFwcGluZzoKKyAgICAgICAgd2l0aCB1dGlsLmNyZWF0ZV9tb2R1bGVzKCdfdGVtcCcpIGFzIG1hcHBpbmc6CiAgICAgICAgICAgICBweV9jb21waWxlLmNvbXBpbGUobWFwcGluZ1snX3RlbXAnXSkKICAgICAgICAgICAgIGJ5dGVjb2RlX3BhdGggPSBzZWxmLnV0aWwuY2FjaGVfZnJvbV9zb3VyY2UobWFwcGluZ1snX3RlbXAnXSkKICAgICAgICAgICAgIHdpdGggb3BlbihieXRlY29kZV9wYXRoLCAncitiJykgYXMgYnl0ZWNvZGVfZmlsZToKQEAgLTQ3MSwxMCArNDc0LDEwIEBACiAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChieXRlY29kZV9maWxlLnJlYWQoNCksIHNvdXJjZV90aW1lc3RhbXApCiAKICAgICAjIFtieXRlY29kZSByZWFkLW9ubHldCi0gICAgQHNvdXJjZV91dGlsLndyaXRlc19ieXRlY29kZV9maWxlcworICAgIEB1dGlsLndyaXRlc19ieXRlY29kZV9maWxlcwogICAgIGRlZiB0ZXN0X3JlYWRfb25seV9ieXRlY29kZShzZWxmKToKICAgICAgICAgIyBXaGVuIGJ5dGVjb2RlIGlzIHJlYWQtb25seSBidXQgc2hvdWxkIGJlIHJld3JpdHRlbiwgZmFpbCBzaWxlbnRseS4KLSAgICAgICAgd2l0aCBzb3VyY2VfdXRpbC5jcmVhdGVfbW9kdWxlcygnX3RlbXAnKSBhcyBtYXBwaW5nOgorICAgICAgICB3aXRoIHV0aWwuY3JlYXRlX21vZHVsZXMoJ190ZW1wJykgYXMgbWFwcGluZzoKICAgICAgICAgICAgICMgQ3JlYXRlIGJ5dGVjb2RlIHRoYXQgd2lsbCBuZWVkIHRvIGJlIHJlLWNyZWF0ZWQuCiAgICAgICAgICAgICBweV9jb21waWxlLmNvbXBpbGUobWFwcGluZ1snX3RlbXAnXSkKICAgICAgICAgICAgIGJ5dGVjb2RlX3BhdGggPSBzZWxmLnV0aWwuY2FjaGVfZnJvbV9zb3VyY2UobWFwcGluZ1snX3RlbXAnXSkKQEAgLTQ5MSwyMSArNDk0LDI5IEBACiAgICAgICAgICAgICAgICAgIyBNYWtlIHdyaXRhYmxlIGZvciBldmVudHVhbCBjbGVhbi11cC4KICAgICAgICAgICAgICAgICBvcy5jaG1vZChieXRlY29kZV9wYXRoLCBzdGF0LlNfSVdVU1IpCiAKKwogY2xhc3MgU291cmNlTG9hZGVyQmFkQnl0ZWNvZGVUZXN0UEVQNDUxKAogICAgICAgICBTb3VyY2VMb2FkZXJCYWRCeXRlY29kZVRlc3QsIEJhZEJ5dGVjb2RlVGVzdFBFUDQ1MSk6CiAgICAgcGFzcwogCi1Gcm96ZW5fU291cmNlQmFkQnl0ZWNvZGVQRVA0NTEsIFNvdXJjZV9Tb3VyY2VCYWRCeXRlY29kZVBFUDQ1MSA9IHV0aWwudGVzdF9ib3RoKAotICAgICAgICBTb3VyY2VMb2FkZXJCYWRCeXRlY29kZVRlc3RQRVA0NTEsIGltcG9ydGxpYj1pbXBvcnRsaWIsIG1hY2hpbmVyeT1tYWNoaW5lcnksCi0gICAgICAgIGFiYz1pbXBvcnRsaWJfYWJjLCB1dGlsPWltcG9ydGxpYl91dGlsKQorCisoRnJvemVuX1NvdXJjZUJhZEJ5dGVjb2RlUEVQNDUxLAorIFNvdXJjZV9Tb3VyY2VCYWRCeXRlY29kZVBFUDQ1MQorICkgPSB1dGlsLnRlc3RfYm90aChTb3VyY2VMb2FkZXJCYWRCeXRlY29kZVRlc3RQRVA0NTEsIGltcG9ydGxpYj1pbXBvcnRsaWIsCisgICAgICAgICAgICAgICAgICAgIG1hY2hpbmVyeT1tYWNoaW5lcnksIGFiYz1pbXBvcnRsaWJfYWJjLAorICAgICAgICAgICAgICAgICAgICB1dGlsPWltcG9ydGxpYl91dGlsKQorCiAKIGNsYXNzIFNvdXJjZUxvYWRlckJhZEJ5dGVjb2RlVGVzdFBFUDMwMigKICAgICAgICAgU291cmNlTG9hZGVyQmFkQnl0ZWNvZGVUZXN0LCBCYWRCeXRlY29kZVRlc3RQRVAzMDIpOgogICAgIHBhc3MKIAotRnJvemVuX1NvdXJjZUJhZEJ5dGVjb2RlUEVQMzAyLCBTb3VyY2VfU291cmNlQmFkQnl0ZWNvZGVQRVAzMDIgPSB1dGlsLnRlc3RfYm90aCgKLSAgICAgICAgU291cmNlTG9hZGVyQmFkQnl0ZWNvZGVUZXN0UEVQMzAyLCBpbXBvcnRsaWI9aW1wb3J0bGliLCBtYWNoaW5lcnk9bWFjaGluZXJ5LAotICAgICAgICBhYmM9aW1wb3J0bGliX2FiYywgdXRpbD1pbXBvcnRsaWJfdXRpbCkKKworKEZyb3plbl9Tb3VyY2VCYWRCeXRlY29kZVBFUDMwMiwKKyBTb3VyY2VfU291cmNlQmFkQnl0ZWNvZGVQRVAzMDIKKyApID0gdXRpbC50ZXN0X2JvdGgoU291cmNlTG9hZGVyQmFkQnl0ZWNvZGVUZXN0UEVQMzAyLCBpbXBvcnRsaWI9aW1wb3J0bGliLAorICAgICAgICAgICAgICAgICAgICBtYWNoaW5lcnk9bWFjaGluZXJ5LCBhYmM9aW1wb3J0bGliX2FiYywKKyAgICAgICAgICAgICAgICAgICAgdXRpbD1pbXBvcnRsaWJfdXRpbCkKIAogCiBjbGFzcyBTb3VyY2VsZXNzTG9hZGVyQmFkQnl0ZWNvZGVUZXN0OgpAQCAtNTY3LDIxICs1NzgsMjkgQEAKICAgICBkZWYgdGVzdF9ub25fY29kZV9tYXJzaGFsKHNlbGYpOgogICAgICAgICBzZWxmLl90ZXN0X25vbl9jb2RlX21hcnNoYWwoZGVsX3NvdXJjZT1UcnVlKQogCisKIGNsYXNzIFNvdXJjZWxlc3NMb2FkZXJCYWRCeXRlY29kZVRlc3RQRVA0NTEoU291cmNlbGVzc0xvYWRlckJhZEJ5dGVjb2RlVGVzdCwKICAgICAgICAgQmFkQnl0ZWNvZGVUZXN0UEVQNDUxKToKICAgICBwYXNzCiAKLUZyb3plbl9Tb3VyY2VsZXNzQmFkQnl0ZWNvZGVQRVA0NTEsIFNvdXJjZV9Tb3VyY2VsZXNzQmFkQnl0ZWNvZGVQRVA0NTEgPSB1dGlsLnRlc3RfYm90aCgKLSAgICAgICAgU291cmNlbGVzc0xvYWRlckJhZEJ5dGVjb2RlVGVzdFBFUDQ1MSwgaW1wb3J0bGliPWltcG9ydGxpYiwKLSAgICAgICAgbWFjaGluZXJ5PW1hY2hpbmVyeSwgYWJjPWltcG9ydGxpYl9hYmMsIHV0aWw9aW1wb3J0bGliX3V0aWwpCisKKyhGcm96ZW5fU291cmNlbGVzc0JhZEJ5dGVjb2RlUEVQNDUxLAorIFNvdXJjZV9Tb3VyY2VsZXNzQmFkQnl0ZWNvZGVQRVA0NTEKKyApID0gdXRpbC50ZXN0X2JvdGgoU291cmNlbGVzc0xvYWRlckJhZEJ5dGVjb2RlVGVzdFBFUDQ1MSwgaW1wb3J0bGliPWltcG9ydGxpYiwKKyAgICAgICAgICAgICAgICAgICAgbWFjaGluZXJ5PW1hY2hpbmVyeSwgYWJjPWltcG9ydGxpYl9hYmMsCisgICAgICAgICAgICAgICAgICAgIHV0aWw9aW1wb3J0bGliX3V0aWwpCisKIAogY2xhc3MgU291cmNlbGVzc0xvYWRlckJhZEJ5dGVjb2RlVGVzdFBFUDMwMihTb3VyY2VsZXNzTG9hZGVyQmFkQnl0ZWNvZGVUZXN0LAogICAgICAgICBCYWRCeXRlY29kZVRlc3RQRVAzMDIpOgogICAgIHBhc3MKIAotRnJvemVuX1NvdXJjZWxlc3NCYWRCeXRlY29kZVBFUDMwMiwgU291cmNlX1NvdXJjZWxlc3NCYWRCeXRlY29kZVBFUDMwMiA9IHV0aWwudGVzdF9ib3RoKAotICAgICAgICBTb3VyY2VsZXNzTG9hZGVyQmFkQnl0ZWNvZGVUZXN0UEVQMzAyLCBpbXBvcnRsaWI9aW1wb3J0bGliLAotICAgICAgICBtYWNoaW5lcnk9bWFjaGluZXJ5LCBhYmM9aW1wb3J0bGliX2FiYywgdXRpbD1pbXBvcnRsaWJfdXRpbCkKKworKEZyb3plbl9Tb3VyY2VsZXNzQmFkQnl0ZWNvZGVQRVAzMDIsCisgU291cmNlX1NvdXJjZWxlc3NCYWRCeXRlY29kZVBFUDMwMgorICkgPSB1dGlsLnRlc3RfYm90aChTb3VyY2VsZXNzTG9hZGVyQmFkQnl0ZWNvZGVUZXN0UEVQMzAyLCBpbXBvcnRsaWI9aW1wb3J0bGliLAorICAgICAgICAgICAgICAgICAgICBtYWNoaW5lcnk9bWFjaGluZXJ5LCBhYmM9aW1wb3J0bGliX2FiYywKKyAgICAgICAgICAgICAgICAgICAgdXRpbD1pbXBvcnRsaWJfdXRpbCkKIAogCiBpZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvc291cmNlL3Rlc3RfZmluZGVyLnB5IGIvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvc291cmNlL3Rlc3RfZmluZGVyLnB5CmluZGV4IDQ3MzI5N2IuLmYzNzJiODUgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL3NvdXJjZS90ZXN0X2ZpbmRlci5weQorKysgYi9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi9zb3VyY2UvdGVzdF9maW5kZXIucHkKQEAgLTEsNiArMSw1IEBACiBmcm9tIC4uIGltcG9ydCBhYmMKIGZyb20gLi4gaW1wb3J0IHV0aWwKLWZyb20gLiBpbXBvcnQgdXRpbCBhcyBzb3VyY2VfdXRpbAogCiBtYWNoaW5lcnkgPSB1dGlsLmltcG9ydF9pbXBvcnRsaWIoJ2ltcG9ydGxpYi5tYWNoaW5lcnknKQogCkBAIC02MCw3ICs1OSw3IEBACiAgICAgICAgICIiIgogICAgICAgICBpZiBjcmVhdGUgaXMgTm9uZToKICAgICAgICAgICAgIGNyZWF0ZSA9IHt0ZXN0fQotICAgICAgICB3aXRoIHNvdXJjZV91dGlsLmNyZWF0ZV9tb2R1bGVzKCpjcmVhdGUpIGFzIG1hcHBpbmc6CisgICAgICAgIHdpdGggdXRpbC5jcmVhdGVfbW9kdWxlcygqY3JlYXRlKSBhcyBtYXBwaW5nOgogICAgICAgICAgICAgaWYgY29tcGlsZV86CiAgICAgICAgICAgICAgICAgZm9yIG5hbWUgaW4gY29tcGlsZV86CiAgICAgICAgICAgICAgICAgICAgIHB5X2NvbXBpbGUuY29tcGlsZShtYXBwaW5nW25hbWVdKQpAQCAtMTAwLDE0ICs5OSwxNCBAQAogCiAgICAgIyBbc3ViIG1vZHVsZV0KICAgICBkZWYgdGVzdF9tb2R1bGVfaW5fcGFja2FnZShzZWxmKToKLSAgICAgICAgd2l0aCBzb3VyY2VfdXRpbC5jcmVhdGVfbW9kdWxlcygncGtnLl9faW5pdF9fJywgJ3BrZy5zdWInKSBhcyBtYXBwaW5nOgorICAgICAgICB3aXRoIHV0aWwuY3JlYXRlX21vZHVsZXMoJ3BrZy5fX2luaXRfXycsICdwa2cuc3ViJykgYXMgbWFwcGluZzoKICAgICAgICAgICAgIHBrZ19kaXIgPSBvcy5wYXRoLmRpcm5hbWUobWFwcGluZ1sncGtnLl9faW5pdF9fJ10pCiAgICAgICAgICAgICBsb2FkZXIgPSBzZWxmLmltcG9ydF8ocGtnX2RpciwgJ3BrZy5zdWInKQogICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGhhc2F0dHIobG9hZGVyLCAnbG9hZF9tb2R1bGUnKSkKIAogICAgICMgW3N1YiBwYWNrYWdlXQogICAgIGRlZiB0ZXN0X3BhY2thZ2VfaW5fcGFja2FnZShzZWxmKToKLSAgICAgICAgY29udGV4dCA9IHNvdXJjZV91dGlsLmNyZWF0ZV9tb2R1bGVzKCdwa2cuX19pbml0X18nLCAncGtnLnN1Yi5fX2luaXRfXycpCisgICAgICAgIGNvbnRleHQgPSB1dGlsLmNyZWF0ZV9tb2R1bGVzKCdwa2cuX19pbml0X18nLCAncGtnLnN1Yi5fX2luaXRfXycpCiAgICAgICAgIHdpdGggY29udGV4dCBhcyBtYXBwaW5nOgogICAgICAgICAgICAgcGtnX2RpciA9IG9zLnBhdGguZGlybmFtZShtYXBwaW5nWydwa2cuX19pbml0X18nXSkKICAgICAgICAgICAgIGxvYWRlciA9IHNlbGYuaW1wb3J0Xyhwa2dfZGlyLCAncGtnLnN1YicpCkBAIC0xMjAsNyArMTE5LDcgQEAKICAgICAgICAgc2VsZi5hc3NlcnRJbignX19pbml0X18nLCBsb2FkZXIuZ2V0X2ZpbGVuYW1lKG5hbWUpKQogCiAgICAgZGVmIHRlc3RfZmFpbHVyZShzZWxmKToKLSAgICAgICAgd2l0aCBzb3VyY2VfdXRpbC5jcmVhdGVfbW9kdWxlcygnYmxhaCcpIGFzIG1hcHBpbmc6CisgICAgICAgIHdpdGggdXRpbC5jcmVhdGVfbW9kdWxlcygnYmxhaCcpIGFzIG1hcHBpbmc6CiAgICAgICAgICAgICBub3RoaW5nID0gc2VsZi5pbXBvcnRfKG1hcHBpbmdbJy5yb290J10sICdzZGZzYWRzYWRmJykKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXNOb25lKG5vdGhpbmcpCiAKQEAgLTE0Nyw3ICsxNDYsNyBAQAogICAgICMgUmVncmVzc2lvbiB0ZXN0IGZvciBodHRwOi8vYnVncy5weXRob24ub3JnL2lzc3VlMTQ4NDYKICAgICBkZWYgdGVzdF9kaXJfcmVtb3ZhbF9oYW5kbGluZyhzZWxmKToKICAgICAgICAgbW9kID0gJ21vZCcKLSAgICAgICAgd2l0aCBzb3VyY2VfdXRpbC5jcmVhdGVfbW9kdWxlcyhtb2QpIGFzIG1hcHBpbmc6CisgICAgICAgIHdpdGggdXRpbC5jcmVhdGVfbW9kdWxlcyhtb2QpIGFzIG1hcHBpbmc6CiAgICAgICAgICAgICBmaW5kZXIgPSBzZWxmLmdldF9maW5kZXIobWFwcGluZ1snLnJvb3QnXSkKICAgICAgICAgICAgIGZvdW5kID0gc2VsZi5fZmluZChmaW5kZXIsICdtb2QnLCBsb2FkZXJfb25seT1UcnVlKQogICAgICAgICAgICAgc2VsZi5hc3NlcnRJc05vdE5vbmUoZm91bmQpCkBAIC0xOTYsOCArMTk1LDEwIEBACiAgICAgICAgIHNwZWMgPSBmaW5kZXIuZmluZF9zcGVjKG5hbWUpCiAgICAgICAgIHJldHVybiBzcGVjLmxvYWRlciBpZiBzcGVjIGlzIG5vdCBOb25lIGVsc2Ugc3BlYwogCi1Gcm96ZW5fRmluZGVyVGVzdHNQRVA0NTEsIFNvdXJjZV9GaW5kZXJUZXN0c1BFUDQ1MSA9IHV0aWwudGVzdF9ib3RoKAotICAgICAgICBGaW5kZXJUZXN0c1BFUDQ1MSwgbWFjaGluZXJ5PW1hY2hpbmVyeSkKKworKEZyb3plbl9GaW5kZXJUZXN0c1BFUDQ1MSwKKyBTb3VyY2VfRmluZGVyVGVzdHNQRVA0NTEKKyApID0gdXRpbC50ZXN0X2JvdGgoRmluZGVyVGVzdHNQRVA0NTEsIG1hY2hpbmVyeT1tYWNoaW5lcnkpCiAKIAogY2xhc3MgRmluZGVyVGVzdHNQRVA0MjAoRmluZGVyVGVzdHMpOgpAQCAtMjEwLDggKzIxMSwxMCBAQAogICAgICAgICAgICAgbG9hZGVyX3BvcnRpb25zID0gZmluZGVyLmZpbmRfbG9hZGVyKG5hbWUpCiAgICAgICAgICAgICByZXR1cm4gbG9hZGVyX3BvcnRpb25zWzBdIGlmIGxvYWRlcl9vbmx5IGVsc2UgbG9hZGVyX3BvcnRpb25zCiAKLUZyb3plbl9GaW5kZXJUZXN0c1BFUDQyMCwgU291cmNlX0ZpbmRlclRlc3RzUEVQNDIwID0gdXRpbC50ZXN0X2JvdGgoCi0gICAgICAgIEZpbmRlclRlc3RzUEVQNDIwLCBtYWNoaW5lcnk9bWFjaGluZXJ5KQorCisoRnJvemVuX0ZpbmRlclRlc3RzUEVQNDIwLAorIFNvdXJjZV9GaW5kZXJUZXN0c1BFUDQyMAorICkgPSB1dGlsLnRlc3RfYm90aChGaW5kZXJUZXN0c1BFUDQyMCwgbWFjaGluZXJ5PW1hY2hpbmVyeSkKIAogCiBjbGFzcyBGaW5kZXJUZXN0c1BFUDMwMihGaW5kZXJUZXN0cyk6CkBAIC0yMjMsOSArMjI2LDEwIEBACiAgICAgICAgICAgICB3YXJuaW5ncy5zaW1wbGVmaWx0ZXIoImlnbm9yZSIsIERlcHJlY2F0aW9uV2FybmluZykKICAgICAgICAgICAgIHJldHVybiBmaW5kZXIuZmluZF9tb2R1bGUobmFtZSkKIAotRnJvemVuX0ZpbmRlclRlc3RzUEVQMzAyLCBTb3VyY2VfRmluZGVyVGVzdHNQRVAzMDIgPSB1dGlsLnRlc3RfYm90aCgKLSAgICAgICAgRmluZGVyVGVzdHNQRVAzMDIsIG1hY2hpbmVyeT1tYWNoaW5lcnkpCiAKKyhGcm96ZW5fRmluZGVyVGVzdHNQRVAzMDIsCisgU291cmNlX0ZpbmRlclRlc3RzUEVQMzAyCisgKSA9IHV0aWwudGVzdF9ib3RoKEZpbmRlclRlc3RzUEVQMzAyLCBtYWNoaW5lcnk9bWFjaGluZXJ5KQogCiAKIGlmIF9fbmFtZV9fID09ICdfX21haW5fXyc6CmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi9zb3VyY2UvdGVzdF9wYXRoX2hvb2sucHkgYi9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi9zb3VyY2UvdGVzdF9wYXRoX2hvb2sucHkKaW5kZXggOTJkYTc3Mi4uZTZhMjQxNSAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvc291cmNlL3Rlc3RfcGF0aF9ob29rLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL3NvdXJjZS90ZXN0X3BhdGhfaG9vay5weQpAQCAtMSw1ICsxLDQgQEAKIGZyb20gLi4gaW1wb3J0IHV0aWwKLWZyb20gLiBpbXBvcnQgdXRpbCBhcyBzb3VyY2VfdXRpbAogCiBtYWNoaW5lcnkgPSB1dGlsLmltcG9ydF9pbXBvcnRsaWIoJ2ltcG9ydGxpYi5tYWNoaW5lcnknKQogCkBAIC0xNSw3ICsxNCw3IEBACiAgICAgICAgICAgICBzZWxmLm1hY2hpbmVyeS5TT1VSQ0VfU1VGRklYRVMpKQogCiAgICAgZGVmIHRlc3Rfc3VjY2VzcyhzZWxmKToKLSAgICAgICAgd2l0aCBzb3VyY2VfdXRpbC5jcmVhdGVfbW9kdWxlcygnZHVtbXknKSBhcyBtYXBwaW5nOgorICAgICAgICB3aXRoIHV0aWwuY3JlYXRlX21vZHVsZXMoJ2R1bW15JykgYXMgbWFwcGluZzoKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShoYXNhdHRyKHNlbGYucGF0aF9ob29rKCkobWFwcGluZ1snLnJvb3QnXSksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZmluZF9tb2R1bGUnKSkKIApAQCAtMjMsNyArMjIsMTAgQEAKICAgICAgICAgIyBUaGUgZW1wdHkgc3RyaW5nIHJlcHJlc2VudHMgdGhlIGN3ZC4KICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGhhc2F0dHIoc2VsZi5wYXRoX2hvb2soKSgnJyksICdmaW5kX21vZHVsZScpKQogCi1Gcm96ZW5fUGF0aEhvb2tUZXN0LCBTb3VyY2VfUGF0aEhvb2t0ZXN0ID0gdXRpbC50ZXN0X2JvdGgoUGF0aEhvb2tUZXN0LCBtYWNoaW5lcnk9bWFjaGluZXJ5KQorCisoRnJvemVuX1BhdGhIb29rVGVzdCwKKyBTb3VyY2VfUGF0aEhvb2t0ZXN0CisgKSA9IHV0aWwudGVzdF9ib3RoKFBhdGhIb29rVGVzdCwgbWFjaGluZXJ5PW1hY2hpbmVyeSkKIAogCiBpZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvc291cmNlL3Rlc3Rfc291cmNlX2VuY29kaW5nLnB5IGIvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvc291cmNlL3Rlc3Rfc291cmNlX2VuY29kaW5nLnB5CmluZGV4IGM2MmRmYTEuLmI2MDRhZmIgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL3NvdXJjZS90ZXN0X3NvdXJjZV9lbmNvZGluZy5weQorKysgYi9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi9zb3VyY2UvdGVzdF9zb3VyY2VfZW5jb2RpbmcucHkKQEAgLTEsNSArMSw0IEBACiBmcm9tIC4uIGltcG9ydCB1dGlsCi1mcm9tIC4gaW1wb3J0IHV0aWwgYXMgc291cmNlX3V0aWwKIAogbWFjaGluZXJ5ID0gdXRpbC5pbXBvcnRfaW1wb3J0bGliKCdpbXBvcnRsaWIubWFjaGluZXJ5JykKIApAQCAtMzcsNyArMzYsNyBAQAogICAgIG1vZHVsZV9uYW1lID0gJ190ZW1wJwogCiAgICAgZGVmIHJ1bl90ZXN0KHNlbGYsIHNvdXJjZSk6Ci0gICAgICAgIHdpdGggc291cmNlX3V0aWwuY3JlYXRlX21vZHVsZXMoc2VsZi5tb2R1bGVfbmFtZSkgYXMgbWFwcGluZzoKKyAgICAgICAgd2l0aCB1dGlsLmNyZWF0ZV9tb2R1bGVzKHNlbGYubW9kdWxlX25hbWUpIGFzIG1hcHBpbmc6CiAgICAgICAgICAgICB3aXRoIG9wZW4obWFwcGluZ1tzZWxmLm1vZHVsZV9uYW1lXSwgJ3diJykgYXMgZmlsZToKICAgICAgICAgICAgICAgICBmaWxlLndyaXRlKHNvdXJjZSkKICAgICAgICAgICAgIGxvYWRlciA9IHNlbGYubWFjaGluZXJ5LlNvdXJjZUZpbGVMb2FkZXIoc2VsZi5tb2R1bGVfbmFtZSwKQEAgLTg5LDYgKzg4LDcgQEAKICAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhTeW50YXhFcnJvcik6CiAgICAgICAgICAgICBzZWxmLnJ1bl90ZXN0KHNvdXJjZSkKIAorCiBjbGFzcyBFbmNvZGluZ1Rlc3RQRVA0NTEoRW5jb2RpbmdUZXN0KToKIAogICAgIGRlZiBsb2FkKHNlbGYsIGxvYWRlcik6CkBAIC05Nyw4ICs5NywxMSBAQAogICAgICAgICBsb2FkZXIuZXhlY19tb2R1bGUobW9kdWxlKQogICAgICAgICByZXR1cm4gbW9kdWxlCiAKLUZyb3plbl9FbmNvZGluZ1Rlc3RQRVA0NTEsIFNvdXJjZV9FbmNvZGluZ1Rlc3RQRVA0NTEgPSB1dGlsLnRlc3RfYm90aCgKLSAgICAgICAgRW5jb2RpbmdUZXN0UEVQNDUxLCBtYWNoaW5lcnk9bWFjaGluZXJ5KQorCisoRnJvemVuX0VuY29kaW5nVGVzdFBFUDQ1MSwKKyBTb3VyY2VfRW5jb2RpbmdUZXN0UEVQNDUxCisgKSA9IHV0aWwudGVzdF9ib3RoKEVuY29kaW5nVGVzdFBFUDQ1MSwgbWFjaGluZXJ5PW1hY2hpbmVyeSkKKwogCiBjbGFzcyBFbmNvZGluZ1Rlc3RQRVAzMDIoRW5jb2RpbmdUZXN0KToKIApAQCAtMTA3LDggKzExMCwxMCBAQAogICAgICAgICAgICAgd2FybmluZ3Muc2ltcGxlZmlsdGVyKCdpZ25vcmUnLCBEZXByZWNhdGlvbldhcm5pbmcpCiAgICAgICAgICAgICByZXR1cm4gbG9hZGVyLmxvYWRfbW9kdWxlKHNlbGYubW9kdWxlX25hbWUpCiAKLUZyb3plbl9FbmNvZGluZ1Rlc3RQRVAzMDIsIFNvdXJjZV9FbmNvZGluZ1Rlc3RQRVAzMDIgPSB1dGlsLnRlc3RfYm90aCgKLSAgICAgICAgRW5jb2RpbmdUZXN0UEVQMzAyLCBtYWNoaW5lcnk9bWFjaGluZXJ5KQorCisoRnJvemVuX0VuY29kaW5nVGVzdFBFUDMwMiwKKyBTb3VyY2VfRW5jb2RpbmdUZXN0UEVQMzAyCisgKSA9IHV0aWwudGVzdF9ib3RoKEVuY29kaW5nVGVzdFBFUDMwMiwgbWFjaGluZXJ5PW1hY2hpbmVyeSkKIAogCiBjbGFzcyBMaW5lRW5kaW5nVGVzdDoKQEAgLTEyMCw3ICsxMjUsNyBAQAogICAgICAgICBtb2R1bGVfbmFtZSA9ICdfdGVtcCcKICAgICAgICAgc291cmNlX2xpbmVzID0gW2IiYSA9IDQyIiwgYiJiID0gLTEzIiwgYicnXQogICAgICAgICBzb3VyY2UgPSBsaW5lX2VuZGluZy5qb2luKHNvdXJjZV9saW5lcykKLSAgICAgICAgd2l0aCBzb3VyY2VfdXRpbC5jcmVhdGVfbW9kdWxlcyhtb2R1bGVfbmFtZSkgYXMgbWFwcGluZzoKKyAgICAgICAgd2l0aCB1dGlsLmNyZWF0ZV9tb2R1bGVzKG1vZHVsZV9uYW1lKSBhcyBtYXBwaW5nOgogICAgICAgICAgICAgd2l0aCBvcGVuKG1hcHBpbmdbbW9kdWxlX25hbWVdLCAnd2InKSBhcyBmaWxlOgogICAgICAgICAgICAgICAgIGZpbGUud3JpdGUoc291cmNlKQogICAgICAgICAgICAgbG9hZGVyID0gc2VsZi5tYWNoaW5lcnkuU291cmNlRmlsZUxvYWRlcihtb2R1bGVfbmFtZSwKQEAgLTEzOSw2ICsxNDQsNyBAQAogICAgIGRlZiB0ZXN0X2xmKHNlbGYpOgogICAgICAgICBzZWxmLnJ1bl90ZXN0KGInXG4nKQogCisKIGNsYXNzIExpbmVFbmRpbmdUZXN0UEVQNDUxKExpbmVFbmRpbmdUZXN0KToKIAogICAgIGRlZiBsb2FkKHNlbGYsIGxvYWRlciwgbW9kdWxlX25hbWUpOgpAQCAtMTQ3LDggKzE1MywxMSBAQAogICAgICAgICBsb2FkZXIuZXhlY19tb2R1bGUobW9kdWxlKQogICAgICAgICByZXR1cm4gbW9kdWxlCiAKLUZyb3plbl9MaW5lRW5kaW5nVGVzdFBFUDQ1MSwgU291cmNlX0xpbmVFbmRpbmdUZXN0UEVQNDUxID0gdXRpbC50ZXN0X2JvdGgoCi0gICAgICAgIExpbmVFbmRpbmdUZXN0UEVQNDUxLCBtYWNoaW5lcnk9bWFjaGluZXJ5KQorCisoRnJvemVuX0xpbmVFbmRpbmdUZXN0UEVQNDUxLAorIFNvdXJjZV9MaW5lRW5kaW5nVGVzdFBFUDQ1MQorICkgPSB1dGlsLnRlc3RfYm90aChMaW5lRW5kaW5nVGVzdFBFUDQ1MSwgbWFjaGluZXJ5PW1hY2hpbmVyeSkKKwogCiBjbGFzcyBMaW5lRW5kaW5nVGVzdFBFUDMwMihMaW5lRW5kaW5nVGVzdCk6CiAKQEAgLTE1Nyw4ICsxNjYsMTAgQEAKICAgICAgICAgICAgIHdhcm5pbmdzLnNpbXBsZWZpbHRlcignaWdub3JlJywgRGVwcmVjYXRpb25XYXJuaW5nKQogICAgICAgICAgICAgcmV0dXJuIGxvYWRlci5sb2FkX21vZHVsZShtb2R1bGVfbmFtZSkKIAotRnJvemVuX0xpbmVFbmRpbmdUZXN0UEVQMzAyLCBTb3VyY2VfTGluZUVuZGluZ1Rlc3RQRVAzMDIgPSB1dGlsLnRlc3RfYm90aCgKLSAgICAgICAgTGluZUVuZGluZ1Rlc3RQRVAzMDIsIG1hY2hpbmVyeT1tYWNoaW5lcnkpCisKKyhGcm96ZW5fTGluZUVuZGluZ1Rlc3RQRVAzMDIsCisgU291cmNlX0xpbmVFbmRpbmdUZXN0UEVQMzAyCisgKSA9IHV0aWwudGVzdF9ib3RoKExpbmVFbmRpbmdUZXN0UEVQMzAyLCBtYWNoaW5lcnk9bWFjaGluZXJ5KQogCiAKIGlmIF9fbmFtZV9fID09ICdfX21haW5fXyc6CmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi9zb3VyY2UvdXRpbC5weSBiL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL3NvdXJjZS91dGlsLnB5CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2M2NkMjVhLi4wMDAwMDAwCi0tLSBhL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL3NvdXJjZS91dGlsLnB5CisrKyAvZGV2L251bGwKQEAgLTEsOTYgKzAsMCBAQAotZnJvbSAuLiBpbXBvcnQgdXRpbAotaW1wb3J0IGNvbnRleHRsaWIKLWltcG9ydCBlcnJubwotaW1wb3J0IGZ1bmN0b29scwotaW1wb3J0IG9zCi1pbXBvcnQgb3MucGF0aAotaW1wb3J0IHN5cwotaW1wb3J0IHRlbXBmaWxlCi1mcm9tIHRlc3QgaW1wb3J0IHN1cHBvcnQKLQotCi1kZWYgd3JpdGVzX2J5dGVjb2RlX2ZpbGVzKGZ4bik6Ci0gICAgIiIiRGVjb3JhdG9yIHRvIHByb3RlY3Qgc3lzLmRvbnRfd3JpdGVfYnl0ZWNvZGUgZnJvbSBtdXRhdGlvbiBhbmQgdG8gc2tpcAotICAgIHRlc3RzIHRoYXQgcmVxdWlyZSBpdCB0byBiZSBzZXQgdG8gRmFsc2UuIiIiCi0gICAgaWYgc3lzLmRvbnRfd3JpdGVfYnl0ZWNvZGU6Ci0gICAgICAgIHJldHVybiBsYW1iZGEgKmFyZ3MsICoqa3dhcmdzOiBOb25lCi0gICAgQGZ1bmN0b29scy53cmFwcyhmeG4pCi0gICAgZGVmIHdyYXBwZXIoKmFyZ3MsICoqa3dhcmdzKToKLSAgICAgICAgb3JpZ2luYWwgPSBzeXMuZG9udF93cml0ZV9ieXRlY29kZQotICAgICAgICBzeXMuZG9udF93cml0ZV9ieXRlY29kZSA9IEZhbHNlCi0gICAgICAgIHRyeToKLSAgICAgICAgICAgIHRvX3JldHVybiA9IGZ4bigqYXJncywgKiprd2FyZ3MpCi0gICAgICAgIGZpbmFsbHk6Ci0gICAgICAgICAgICBzeXMuZG9udF93cml0ZV9ieXRlY29kZSA9IG9yaWdpbmFsCi0gICAgICAgIHJldHVybiB0b19yZXR1cm4KLSAgICByZXR1cm4gd3JhcHBlcgotCi0KLWRlZiBlbnN1cmVfYnl0ZWNvZGVfcGF0aChieXRlY29kZV9wYXRoKToKLSAgICAiIiJFbnN1cmUgdGhhdCB0aGUgX19weWNhY2hlX18gZGlyZWN0b3J5IGZvciBQRVAgMzE0NyBweWMgZmlsZSBleGlzdHMuCi0KLSAgICA6cGFyYW0gYnl0ZWNvZGVfcGF0aDogRmlsZSBzeXN0ZW0gcGF0aCB0byBQRVAgMzE0NyBweWMgZmlsZS4KLSAgICAiIiIKLSAgICB0cnk6Ci0gICAgICAgIG9zLm1rZGlyKG9zLnBhdGguZGlybmFtZShieXRlY29kZV9wYXRoKSkKLSAgICBleGNlcHQgT1NFcnJvciBhcyBlcnJvcjoKLSAgICAgICAgaWYgZXJyb3IuZXJybm8gIT0gZXJybm8uRUVYSVNUOgotICAgICAgICAgICAgcmFpc2UKLQotCi1AY29udGV4dGxpYi5jb250ZXh0bWFuYWdlcgotZGVmIGNyZWF0ZV9tb2R1bGVzKCpuYW1lcyk6Ci0gICAgIiIiVGVtcG9yYXJpbHkgY3JlYXRlIGVhY2ggbmFtZWQgbW9kdWxlIHdpdGggYW4gYXR0cmlidXRlIChuYW1lZCAnYXR0cicpCi0gICAgdGhhdCBjb250YWlucyB0aGUgbmFtZSBwYXNzZWQgaW50byB0aGUgY29udGV4dCBtYW5hZ2VyIHRoYXQgY2F1c2VkIHRoZQotICAgIGNyZWF0aW9uIG9mIHRoZSBtb2R1bGUuCi0KLSAgICBBbGwgZmlsZXMgYXJlIGNyZWF0ZWQgaW4gYSB0ZW1wb3JhcnkgZGlyZWN0b3J5IHJldHVybmVkIGJ5Ci0gICAgdGVtcGZpbGUubWtkdGVtcCgpLiBUaGlzIGRpcmVjdG9yeSBpcyBpbnNlcnRlZCBhdCB0aGUgYmVnaW5uaW5nIG9mCi0gICAgc3lzLnBhdGguIFdoZW4gdGhlIGNvbnRleHQgbWFuYWdlciBleGl0cyBhbGwgY3JlYXRlZCBmaWxlcyAoc291cmNlIGFuZAotICAgIGJ5dGVjb2RlKSBhcmUgZXhwbGljaXRseSBkZWxldGVkLgotCi0gICAgTm8gbWFnaWMgaXMgcGVyZm9ybWVkIHdoZW4gY3JlYXRpbmcgcGFja2FnZXMhIFRoaXMgbWVhbnMgdGhhdCBpZiB5b3UgY3JlYXRlCi0gICAgYSBtb2R1bGUgd2l0aGluIGEgcGFja2FnZSB5b3UgbXVzdCBhbHNvIGNyZWF0ZSB0aGUgcGFja2FnZSdzIF9faW5pdF9fIGFzCi0gICAgd2VsbC4KLQotICAgICIiIgotICAgIHNvdXJjZSA9ICdhdHRyID0gezAhcn0nCi0gICAgY3JlYXRlZF9wYXRocyA9IFtdCi0gICAgbWFwcGluZyA9IHt9Ci0gICAgc3RhdGVfbWFuYWdlciA9IE5vbmUKLSAgICB1bmNhY2hlX21hbmFnZXIgPSBOb25lCi0gICAgdHJ5OgotICAgICAgICB0ZW1wX2RpciA9IHRlbXBmaWxlLm1rZHRlbXAoKQotICAgICAgICBtYXBwaW5nWycucm9vdCddID0gdGVtcF9kaXIKLSAgICAgICAgaW1wb3J0X25hbWVzID0gc2V0KCkKLSAgICAgICAgZm9yIG5hbWUgaW4gbmFtZXM6Ci0gICAgICAgICAgICBpZiBub3QgbmFtZS5lbmRzd2l0aCgnX19pbml0X18nKToKLSAgICAgICAgICAgICAgICBpbXBvcnRfbmFtZSA9IG5hbWUKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgaW1wb3J0X25hbWUgPSBuYW1lWzotbGVuKCcuX19pbml0X18nKV0KLSAgICAgICAgICAgIGltcG9ydF9uYW1lcy5hZGQoaW1wb3J0X25hbWUpCi0gICAgICAgICAgICBpZiBpbXBvcnRfbmFtZSBpbiBzeXMubW9kdWxlczoKLSAgICAgICAgICAgICAgICBkZWwgc3lzLm1vZHVsZXNbaW1wb3J0X25hbWVdCi0gICAgICAgICAgICBuYW1lX3BhcnRzID0gbmFtZS5zcGxpdCgnLicpCi0gICAgICAgICAgICBmaWxlX3BhdGggPSB0ZW1wX2RpcgotICAgICAgICAgICAgZm9yIGRpcmVjdG9yeSBpbiBuYW1lX3BhcnRzWzotMV06Ci0gICAgICAgICAgICAgICAgZmlsZV9wYXRoID0gb3MucGF0aC5qb2luKGZpbGVfcGF0aCwgZGlyZWN0b3J5KQotICAgICAgICAgICAgICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0cyhmaWxlX3BhdGgpOgotICAgICAgICAgICAgICAgICAgICBvcy5ta2RpcihmaWxlX3BhdGgpCi0gICAgICAgICAgICAgICAgICAgIGNyZWF0ZWRfcGF0aHMuYXBwZW5kKGZpbGVfcGF0aCkKLSAgICAgICAgICAgIGZpbGVfcGF0aCA9IG9zLnBhdGguam9pbihmaWxlX3BhdGgsIG5hbWVfcGFydHNbLTFdICsgJy5weScpCi0gICAgICAgICAgICB3aXRoIG9wZW4oZmlsZV9wYXRoLCAndycpIGFzIGZpbGU6Ci0gICAgICAgICAgICAgICAgZmlsZS53cml0ZShzb3VyY2UuZm9ybWF0KG5hbWUpKQotICAgICAgICAgICAgY3JlYXRlZF9wYXRocy5hcHBlbmQoZmlsZV9wYXRoKQotICAgICAgICAgICAgbWFwcGluZ1tuYW1lXSA9IGZpbGVfcGF0aAotICAgICAgICB1bmNhY2hlX21hbmFnZXIgPSB1dGlsLnVuY2FjaGUoKmltcG9ydF9uYW1lcykKLSAgICAgICAgdW5jYWNoZV9tYW5hZ2VyLl9fZW50ZXJfXygpCi0gICAgICAgIHN0YXRlX21hbmFnZXIgPSB1dGlsLmltcG9ydF9zdGF0ZShwYXRoPVt0ZW1wX2Rpcl0pCi0gICAgICAgIHN0YXRlX21hbmFnZXIuX19lbnRlcl9fKCkKLSAgICAgICAgeWllbGQgbWFwcGluZwotICAgIGZpbmFsbHk6Ci0gICAgICAgIGlmIHN0YXRlX21hbmFnZXIgaXMgbm90IE5vbmU6Ci0gICAgICAgICAgICBzdGF0ZV9tYW5hZ2VyLl9fZXhpdF9fKE5vbmUsIE5vbmUsIE5vbmUpCi0gICAgICAgIGlmIHVuY2FjaGVfbWFuYWdlciBpcyBub3QgTm9uZToKLSAgICAgICAgICAgIHVuY2FjaGVfbWFuYWdlci5fX2V4aXRfXyhOb25lLCBOb25lLCBOb25lKQotICAgICAgICBzdXBwb3J0LnJtdHJlZSh0ZW1wX2RpcikKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL3Rlc3RfYWJjLnB5IGIvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvdGVzdF9hYmMucHkKaW5kZXggYTFmOGU3Ni4uZDRiZjkxNSAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvdGVzdF9hYmMucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvdGVzdF9hYmMucHkKQEAgLTEwLDEyICsxMCwxMyBAQAogZnJvbSB1bml0dGVzdCBpbXBvcnQgbW9jawogaW1wb3J0IHdhcm5pbmdzCiAKLWZyb20gLiBpbXBvcnQgdXRpbAorZnJvbSAuIGltcG9ydCB1dGlsIGFzIHRlc3RfdXRpbAogCi1mcm96ZW5faW5pdCwgc291cmNlX2luaXQgPSB1dGlsLmltcG9ydF9pbXBvcnRsaWIoJ2ltcG9ydGxpYicpCi1mcm96ZW5fYWJjLCBzb3VyY2VfYWJjID0gdXRpbC5pbXBvcnRfaW1wb3J0bGliKCdpbXBvcnRsaWIuYWJjJykKLW1hY2hpbmVyeSA9IHV0aWwuaW1wb3J0X2ltcG9ydGxpYignaW1wb3J0bGliLm1hY2hpbmVyeScpCi1mcm96ZW5fdXRpbCwgc291cmNlX3V0aWwgPSB1dGlsLmltcG9ydF9pbXBvcnRsaWIoJ2ltcG9ydGxpYi51dGlsJykKK2luaXQgPSB0ZXN0X3V0aWwuaW1wb3J0X2ltcG9ydGxpYignaW1wb3J0bGliJykKK2FiYyA9IHRlc3RfdXRpbC5pbXBvcnRfaW1wb3J0bGliKCdpbXBvcnRsaWIuYWJjJykKK21hY2hpbmVyeSA9IHRlc3RfdXRpbC5pbXBvcnRfaW1wb3J0bGliKCdpbXBvcnRsaWIubWFjaGluZXJ5JykKK3V0aWwgPSB0ZXN0X3V0aWwuaW1wb3J0X2ltcG9ydGxpYignaW1wb3J0bGliLnV0aWwnKQorCiAKICMjIyMjIEluaGVyaXRhbmNlICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiBjbGFzcyBJbmhlcml0YW5jZVRlc3RzOgpAQCAtMjYsOCArMjcsNyBAQAogICAgIHN1YmNsYXNzZXMgPSBbXQogICAgIHN1cGVyY2xhc3NlcyA9IFtdCiAKLSAgICBkZWYgX19pbml0X18oc2VsZiwgKmFyZ3MsICoqa3dhcmdzKToKLSAgICAgICAgc3VwZXIoKS5fX2luaXRfXygqYXJncywgKiprd2FyZ3MpCisgICAgZGVmIHNldFVwKHNlbGYpOgogICAgICAgICBzZWxmLnN1cGVyY2xhc3NlcyA9IFtnZXRhdHRyKHNlbGYuYWJjLCBjbGFzc19uYW1lKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgY2xhc3NfbmFtZSBpbiBzZWxmLnN1cGVyY2xhc3NfbmFtZXNdCiAgICAgICAgIGlmIGhhc2F0dHIoc2VsZiwgJ3N1YmNsYXNzX25hbWVzJyk6CkBAIC0zNiwxMSArMzYsMTEgQEAKICAgICAgICAgICAgICMgY2hlY2tpbmcgYWNyb3NzIG1vZHVsZSBib3VuZGFyaWVzIChpLmUuIHRoZSBfYm9vdHN0cmFwIGluIGFiYyBpcwogICAgICAgICAgICAgIyBub3QgdGhlIHNhbWUgYXMgdGhlIG9uZSBpbiBtYWNoaW5lcnkpLiBUaGF0IG1lYW5zIHN0ZWFsaW5nIG9uZSBvZgogICAgICAgICAgICAgIyB0aGUgbW9kdWxlcyBmcm9tIHRoZSBvdGhlciB0byBtYWtlIHN1cmUgdGhlIHNhbWUgaW5zdGFuY2UgaXMgdXNlZC4KLSAgICAgICAgICAgIHNlbGYuc3ViY2xhc3NlcyA9IFtnZXRhdHRyKHNlbGYuYWJjLm1hY2hpbmVyeSwgY2xhc3NfbmFtZSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIGNsYXNzX25hbWUgaW4gc2VsZi5zdWJjbGFzc19uYW1lc10KKyAgICAgICAgICAgIG1hY2hpbmVyeSA9IHNlbGYuYWJjLm1hY2hpbmVyeQorICAgICAgICAgICAgc2VsZi5zdWJjbGFzc2VzID0gW2dldGF0dHIobWFjaGluZXJ5LCBjbGFzc19uYW1lKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciBjbGFzc19uYW1lIGluIHNlbGYuc3ViY2xhc3NfbmFtZXNdCiAgICAgICAgIGFzc2VydCBzZWxmLnN1YmNsYXNzZXMgb3Igc2VsZi5zdXBlcmNsYXNzZXMsIHNlbGYuX19jbGFzc19fCi0gICAgICAgIHRlc3RpbmcgPSBzZWxmLl9fY2xhc3NfXy5fX25hbWVfXy5wYXJ0aXRpb24oJ18nKVsyXQotICAgICAgICBzZWxmLl9fdGVzdCA9IGdldGF0dHIoc2VsZi5hYmMsIHRlc3RpbmcpCisgICAgICAgIHNlbGYuX190ZXN0ID0gZ2V0YXR0cihzZWxmLmFiYywgc2VsZi5fTkFNRSkKIAogICAgIGRlZiB0ZXN0X3N1YmNsYXNzZXMoc2VsZik6CiAgICAgICAgICMgVGVzdCB0aGF0IHRoZSBleHBlY3RlZCBzdWJjbGFzc2VzIGluaGVyaXQuCkBAIC01NCw5NCArNTQsOTcgQEAKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShpc3N1YmNsYXNzKHNlbGYuX190ZXN0LCBzdXBlcmNsYXNzKSwKICAgICAgICAgICAgICAgICJ7MH0gaXMgbm90IGEgc3VwZXJjbGFzcyBvZiB7MX0iLmZvcm1hdChzdXBlcmNsYXNzLCBzZWxmLl9fdGVzdCkpCiAKLWRlZiBjcmVhdGVfaW5oZXJpdGFuY2VfdGVzdHMoYmFzZV9jbGFzcyk6Ci0gICAgZGVmIHNldF9mcm96ZW4obnMpOgotICAgICAgICBuc1snYWJjJ10gPSBmcm96ZW5fYWJjCi0gICAgZGVmIHNldF9zb3VyY2UobnMpOgotICAgICAgICBuc1snYWJjJ10gPSBzb3VyY2VfYWJjCi0KLSAgICBjbGFzc2VzID0gW10KLSAgICBmb3IgcHJlZml4LCBuc19zZXQgaW4gWygnRnJvemVuJywgc2V0X2Zyb3plbiksICgnU291cmNlJywgc2V0X3NvdXJjZSldOgotICAgICAgICBjbGFzc2VzLmFwcGVuZCh0eXBlcy5uZXdfY2xhc3MoJ18nLmpvaW4oW3ByZWZpeCwgYmFzZV9jbGFzcy5fX25hbWVfX10pLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGJhc2VfY2xhc3MsIHVuaXR0ZXN0LlRlc3RDYXNlKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4ZWNfYm9keT1uc19zZXQpKQotICAgIHJldHVybiBjbGFzc2VzCi0KIAogY2xhc3MgTWV0YVBhdGhGaW5kZXIoSW5oZXJpdGFuY2VUZXN0cyk6CiAgICAgc3VwZXJjbGFzc19uYW1lcyA9IFsnRmluZGVyJ10KICAgICBzdWJjbGFzc19uYW1lcyA9IFsnQnVpbHRpbkltcG9ydGVyJywgJ0Zyb3plbkltcG9ydGVyJywgJ1BhdGhGaW5kZXInLAogICAgICAgICAgICAgICAgICAgICAgICdXaW5kb3dzUmVnaXN0cnlGaW5kZXInXQogCi10ZXN0cyA9IGNyZWF0ZV9pbmhlcml0YW5jZV90ZXN0cyhNZXRhUGF0aEZpbmRlcikKLUZyb3plbl9NZXRhUGF0aEZpbmRlckluaGVyaXRhbmNlVGVzdHMsIFNvdXJjZV9NZXRhUGF0aEZpbmRlckluaGVyaXRhbmNlVGVzdHMgPSB0ZXN0cworCisoRnJvemVuX01ldGFQYXRoRmluZGVySW5oZXJpdGFuY2VUZXN0cywKKyBTb3VyY2VfTWV0YVBhdGhGaW5kZXJJbmhlcml0YW5jZVRlc3RzCisgKSA9IHRlc3RfdXRpbC50ZXN0X2JvdGgoTWV0YVBhdGhGaW5kZXIsIGFiYz1hYmMpCiAKIAogY2xhc3MgUGF0aEVudHJ5RmluZGVyKEluaGVyaXRhbmNlVGVzdHMpOgogICAgIHN1cGVyY2xhc3NfbmFtZXMgPSBbJ0ZpbmRlciddCiAgICAgc3ViY2xhc3NfbmFtZXMgPSBbJ0ZpbGVGaW5kZXInXQogCi10ZXN0cyA9IGNyZWF0ZV9pbmhlcml0YW5jZV90ZXN0cyhQYXRoRW50cnlGaW5kZXIpCi1Gcm96ZW5fUGF0aEVudHJ5RmluZGVySW5oZXJpdGFuY2VUZXN0cywgU291cmNlX1BhdGhFbnRyeUZpbmRlckluaGVyaXRhbmNlVGVzdHMgPSB0ZXN0cworCisoRnJvemVuX1BhdGhFbnRyeUZpbmRlckluaGVyaXRhbmNlVGVzdHMsCisgU291cmNlX1BhdGhFbnRyeUZpbmRlckluaGVyaXRhbmNlVGVzdHMKKyApID0gdGVzdF91dGlsLnRlc3RfYm90aChQYXRoRW50cnlGaW5kZXIsIGFiYz1hYmMpCiAKIAogY2xhc3MgUmVzb3VyY2VMb2FkZXIoSW5oZXJpdGFuY2VUZXN0cyk6CiAgICAgc3VwZXJjbGFzc19uYW1lcyA9IFsnTG9hZGVyJ10KIAotdGVzdHMgPSBjcmVhdGVfaW5oZXJpdGFuY2VfdGVzdHMoUmVzb3VyY2VMb2FkZXIpCi1Gcm96ZW5fUmVzb3VyY2VMb2FkZXJJbmhlcml0YW5jZVRlc3RzLCBTb3VyY2VfUmVzb3VyY2VMb2FkZXJJbmhlcml0YW5jZVRlc3RzID0gdGVzdHMKKworKEZyb3plbl9SZXNvdXJjZUxvYWRlckluaGVyaXRhbmNlVGVzdHMsCisgU291cmNlX1Jlc291cmNlTG9hZGVySW5oZXJpdGFuY2VUZXN0cworICkgPSB0ZXN0X3V0aWwudGVzdF9ib3RoKFJlc291cmNlTG9hZGVyLCBhYmM9YWJjKQogCiAKIGNsYXNzIEluc3BlY3RMb2FkZXIoSW5oZXJpdGFuY2VUZXN0cyk6CiAgICAgc3VwZXJjbGFzc19uYW1lcyA9IFsnTG9hZGVyJ10KICAgICBzdWJjbGFzc19uYW1lcyA9IFsnQnVpbHRpbkltcG9ydGVyJywgJ0Zyb3plbkltcG9ydGVyJywgJ0V4dGVuc2lvbkZpbGVMb2FkZXInXQogCi10ZXN0cyA9IGNyZWF0ZV9pbmhlcml0YW5jZV90ZXN0cyhJbnNwZWN0TG9hZGVyKQotRnJvemVuX0luc3BlY3RMb2FkZXJJbmhlcml0YW5jZVRlc3RzLCBTb3VyY2VfSW5zcGVjdExvYWRlckluaGVyaXRhbmNlVGVzdHMgPSB0ZXN0cworCisoRnJvemVuX0luc3BlY3RMb2FkZXJJbmhlcml0YW5jZVRlc3RzLAorIFNvdXJjZV9JbnNwZWN0TG9hZGVySW5oZXJpdGFuY2VUZXN0cworICkgPSB0ZXN0X3V0aWwudGVzdF9ib3RoKEluc3BlY3RMb2FkZXIsIGFiYz1hYmMpCiAKIAogY2xhc3MgRXhlY3V0aW9uTG9hZGVyKEluaGVyaXRhbmNlVGVzdHMpOgogICAgIHN1cGVyY2xhc3NfbmFtZXMgPSBbJ0luc3BlY3RMb2FkZXInXQogICAgIHN1YmNsYXNzX25hbWVzID0gWydFeHRlbnNpb25GaWxlTG9hZGVyJ10KIAotdGVzdHMgPSBjcmVhdGVfaW5oZXJpdGFuY2VfdGVzdHMoRXhlY3V0aW9uTG9hZGVyKQotRnJvemVuX0V4ZWN1dGlvbkxvYWRlckluaGVyaXRhbmNlVGVzdHMsIFNvdXJjZV9FeGVjdXRpb25Mb2FkZXJJbmhlcml0YW5jZVRlc3RzID0gdGVzdHMKKworKEZyb3plbl9FeGVjdXRpb25Mb2FkZXJJbmhlcml0YW5jZVRlc3RzLAorIFNvdXJjZV9FeGVjdXRpb25Mb2FkZXJJbmhlcml0YW5jZVRlc3RzCisgKSA9IHRlc3RfdXRpbC50ZXN0X2JvdGgoRXhlY3V0aW9uTG9hZGVyLCBhYmM9YWJjKQogCiAKIGNsYXNzIEZpbGVMb2FkZXIoSW5oZXJpdGFuY2VUZXN0cyk6CiAgICAgc3VwZXJjbGFzc19uYW1lcyA9IFsnUmVzb3VyY2VMb2FkZXInLCAnRXhlY3V0aW9uTG9hZGVyJ10KICAgICBzdWJjbGFzc19uYW1lcyA9IFsnU291cmNlRmlsZUxvYWRlcicsICdTb3VyY2VsZXNzRmlsZUxvYWRlciddCiAKLXRlc3RzID0gY3JlYXRlX2luaGVyaXRhbmNlX3Rlc3RzKEZpbGVMb2FkZXIpCi1Gcm96ZW5fRmlsZUxvYWRlckluaGVyaXRhbmNlVGVzdHMsIFNvdXJjZV9GaWxlTG9hZGVySW5oZXJpdGFuY2VUZXN0cyA9IHRlc3RzCisKKyhGcm96ZW5fRmlsZUxvYWRlckluaGVyaXRhbmNlVGVzdHMsCisgU291cmNlX0ZpbGVMb2FkZXJJbmhlcml0YW5jZVRlc3RzCisgKSA9IHRlc3RfdXRpbC50ZXN0X2JvdGgoRmlsZUxvYWRlciwgYWJjPWFiYykKIAogCiBjbGFzcyBTb3VyY2VMb2FkZXIoSW5oZXJpdGFuY2VUZXN0cyk6CiAgICAgc3VwZXJjbGFzc19uYW1lcyA9IFsnUmVzb3VyY2VMb2FkZXInLCAnRXhlY3V0aW9uTG9hZGVyJ10KICAgICBzdWJjbGFzc19uYW1lcyA9IFsnU291cmNlRmlsZUxvYWRlciddCiAKLXRlc3RzID0gY3JlYXRlX2luaGVyaXRhbmNlX3Rlc3RzKFNvdXJjZUxvYWRlcikKLUZyb3plbl9Tb3VyY2VMb2FkZXJJbmhlcml0YW5jZVRlc3RzLCBTb3VyY2VfU291cmNlTG9hZGVySW5oZXJpdGFuY2VUZXN0cyA9IHRlc3RzCisKKyhGcm96ZW5fU291cmNlTG9hZGVySW5oZXJpdGFuY2VUZXN0cywKKyBTb3VyY2VfU291cmNlTG9hZGVySW5oZXJpdGFuY2VUZXN0cworICkgPSB0ZXN0X3V0aWwudGVzdF9ib3RoKFNvdXJjZUxvYWRlciwgYWJjPWFiYykKKwogCiAjIyMjIyBEZWZhdWx0IHJldHVybiB2YWx1ZXMgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwotZGVmIG1ha2VfYWJjX3N1YmNsYXNzZXMoYmFzZV9jbGFzcyk6Ci0gICAgY2xhc3NlcyA9IFtdCi0gICAgZm9yIGtpbmQsIGFiYyBpbiBbKCdGcm96ZW4nLCBmcm96ZW5fYWJjKSwgKCdTb3VyY2UnLCBzb3VyY2VfYWJjKV06Ci0gICAgICAgIG5hbWUgPSAnXycuam9pbihba2luZCwgYmFzZV9jbGFzcy5fX25hbWVfX10pCi0gICAgICAgIGJhc2VfY2xhc3NlcyA9IGJhc2VfY2xhc3MsIGdldGF0dHIoYWJjLCBiYXNlX2NsYXNzLl9fbmFtZV9fKQotICAgICAgICBjbGFzc2VzLmFwcGVuZCh0eXBlcy5uZXdfY2xhc3MobmFtZSwgYmFzZV9jbGFzc2VzKSkKLSAgICByZXR1cm4gY2xhc3NlcwogCi1kZWYgbWFrZV9yZXR1cm5fdmFsdWVfdGVzdHMoYmFzZV9jbGFzcywgdGVzdF9jbGFzcyk6Ci0gICAgZnJvemVuX2NsYXNzLCBzb3VyY2VfY2xhc3MgPSBtYWtlX2FiY19zdWJjbGFzc2VzKGJhc2VfY2xhc3MpCi0gICAgdGVzdHMgPSBbXQotICAgIGZvciBwcmVmaXgsIGNsYXNzX2luX3Rlc3QgaW4gWygnRnJvemVuJywgZnJvemVuX2NsYXNzKSwgKCdTb3VyY2UnLCBzb3VyY2VfY2xhc3MpXToKLSAgICAgICAgZGVmIHNldF9ucyhucyk6Ci0gICAgICAgICAgICBuc1snaW5zJ10gPSBjbGFzc19pbl90ZXN0KCkKLSAgICAgICAgdGVzdHMuYXBwZW5kKHR5cGVzLm5ld19jbGFzcygnXycuam9pbihbcHJlZml4LCB0ZXN0X2NsYXNzLl9fbmFtZV9fXSksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHRlc3RfY2xhc3MsIHVuaXR0ZXN0LlRlc3RDYXNlKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleGVjX2JvZHk9c2V0X25zKSkKLSAgICByZXR1cm4gdGVzdHMKK2RlZiBtYWtlX2FiY19zdWJjbGFzc2VzKGJhc2VfY2xhc3MsIG5hbWU9Tm9uZSwgaW5zdD1GYWxzZSwgKiprd2FyZ3MpOgorICAgIGlmIG5hbWUgaXMgTm9uZToKKyAgICAgICAgbmFtZSA9IGJhc2VfY2xhc3MuX19uYW1lX18KKyAgICBiYXNlID0ge2tpbmQ6IGdldGF0dHIoc3BsaXRhYmMsIG5hbWUpCisgICAgICAgICAgICBmb3Iga2luZCwgc3BsaXRhYmMgaW4gYWJjLml0ZW1zKCl9CisgICAgcmV0dXJuIHtjbHMuX0tJTkQ6IGNscygpIGlmIGluc3QgZWxzZSBjbHMKKyAgICAgICAgICAgIGZvciBjbHMgaW4gdGVzdF91dGlsLnNwbGl0X2Zyb3plbihiYXNlX2NsYXNzLCBiYXNlLCAqKmt3YXJncyl9CisKKworY2xhc3MgQUJDVGVzdEhhcm5lc3M6CisKKyAgICBAcHJvcGVydHkKKyAgICBkZWYgaW5zKHNlbGYpOgorICAgICAgICAjIExhemlseSBzZXQgaW5zIG9uIHRoZSBjbGFzcy4KKyAgICAgICAgY2xzID0gc2VsZi5TUExJVFtzZWxmLl9LSU5EXQorICAgICAgICBpbnMgPSBjbHMoKQorICAgICAgICBzZWxmLl9fY2xhc3NfXy5pbnMgPSBpbnMKKyAgICAgICAgcmV0dXJuIGlucwogCiAKIGNsYXNzIE1ldGFQYXRoRmluZGVyOgpAQCAtMTQ5LDEwICsxNTIsMTAgQEAKICAgICBkZWYgZmluZF9tb2R1bGUoc2VsZiwgZnVsbG5hbWUsIHBhdGgpOgogICAgICAgICByZXR1cm4gc3VwZXIoKS5maW5kX21vZHVsZShmdWxsbmFtZSwgcGF0aCkKIAotRnJvemVuX01QRiwgU291cmNlX01QRiA9IG1ha2VfYWJjX3N1YmNsYXNzZXMoTWV0YVBhdGhGaW5kZXIpCiAKK2NsYXNzIE1ldGFQYXRoRmluZGVyRGVmYXVsdHNUZXN0cyhBQkNUZXN0SGFybmVzcyk6CiAKLWNsYXNzIE1ldGFQYXRoRmluZGVyRGVmYXVsdHNUZXN0czoKKyAgICBTUExJVCA9IG1ha2VfYWJjX3N1YmNsYXNzZXMoTWV0YVBhdGhGaW5kZXIpCiAKICAgICBkZWYgdGVzdF9maW5kX21vZHVsZShzZWxmKToKICAgICAgICAgIyBEZWZhdWx0IHNob3VsZCByZXR1cm4gTm9uZS4KQEAgLTE2Myw4ICsxNjYsOSBAQAogICAgICAgICBzZWxmLmlucy5pbnZhbGlkYXRlX2NhY2hlcygpCiAKIAotdGVzdHMgPSBtYWtlX3JldHVybl92YWx1ZV90ZXN0cyhNZXRhUGF0aEZpbmRlciwgTWV0YVBhdGhGaW5kZXJEZWZhdWx0c1Rlc3RzKQotRnJvemVuX01QRkRlZmF1bHRUZXN0cywgU291cmNlX01QRkRlZmF1bHRUZXN0cyA9IHRlc3RzCisoRnJvemVuX01QRkRlZmF1bHRUZXN0cywKKyBTb3VyY2VfTVBGRGVmYXVsdFRlc3RzCisgKSA9IHRlc3RfdXRpbC50ZXN0X2JvdGgoTWV0YVBhdGhGaW5kZXJEZWZhdWx0c1Rlc3RzKQogCiAKIGNsYXNzIFBhdGhFbnRyeUZpbmRlcjoKQEAgLTE3MiwxMCArMTc2LDEwIEBACiAgICAgZGVmIGZpbmRfbG9hZGVyKHNlbGYsIGZ1bGxuYW1lKToKICAgICAgICAgcmV0dXJuIHN1cGVyKCkuZmluZF9sb2FkZXIoZnVsbG5hbWUpCiAKLUZyb3plbl9QRUYsIFNvdXJjZV9QRUYgPSBtYWtlX2FiY19zdWJjbGFzc2VzKFBhdGhFbnRyeUZpbmRlcikKIAorY2xhc3MgUGF0aEVudHJ5RmluZGVyRGVmYXVsdHNUZXN0cyhBQkNUZXN0SGFybmVzcyk6CiAKLWNsYXNzIFBhdGhFbnRyeUZpbmRlckRlZmF1bHRzVGVzdHM6CisgICAgU1BMSVQgPSBtYWtlX2FiY19zdWJjbGFzc2VzKFBhdGhFbnRyeUZpbmRlcikKIAogICAgIGRlZiB0ZXN0X2ZpbmRfbG9hZGVyKHNlbGYpOgogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKChOb25lLCBbXSksIHNlbGYuaW5zLmZpbmRfbG9hZGVyKCdzb21ldGhpbmcnKSkKQEAgLTE4OCw4ICsxOTIsOSBAQAogICAgICAgICBzZWxmLmlucy5pbnZhbGlkYXRlX2NhY2hlcygpCiAKIAotdGVzdHMgPSBtYWtlX3JldHVybl92YWx1ZV90ZXN0cyhQYXRoRW50cnlGaW5kZXIsIFBhdGhFbnRyeUZpbmRlckRlZmF1bHRzVGVzdHMpCi1Gcm96ZW5fUEVGRGVmYXVsdFRlc3RzLCBTb3VyY2VfUEVGRGVmYXVsdFRlc3RzID0gdGVzdHMKKyhGcm96ZW5fUEVGRGVmYXVsdFRlc3RzLAorIFNvdXJjZV9QRUZEZWZhdWx0VGVzdHMKKyApID0gdGVzdF91dGlsLnRlc3RfYm90aChQYXRoRW50cnlGaW5kZXJEZWZhdWx0c1Rlc3RzKQogCiAKIGNsYXNzIExvYWRlcjoKQEAgLTE5OCwxMCArMjAzLDkgQEAKICAgICAgICAgcmV0dXJuIHN1cGVyKCkubG9hZF9tb2R1bGUoZnVsbG5hbWUpCiAKIAotRnJvemVuX0wsIFNvdXJjZV9MID0gbWFrZV9hYmNfc3ViY2xhc3NlcyhMb2FkZXIpCitjbGFzcyBMb2FkZXJEZWZhdWx0c1Rlc3RzKEFCQ1Rlc3RIYXJuZXNzKToKIAotCi1jbGFzcyBMb2FkZXJEZWZhdWx0c1Rlc3RzOgorICAgIFNQTElUID0gbWFrZV9hYmNfc3ViY2xhc3NlcyhMb2FkZXIpCiAKICAgICBkZWYgdGVzdF9sb2FkX21vZHVsZShzZWxmKToKICAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhJbXBvcnRFcnJvcik6CkBAIC0yMTcsOCArMjIxLDkgQEAKICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHJlcHIobW9kKSkKIAogCi10ZXN0cyA9IG1ha2VfcmV0dXJuX3ZhbHVlX3Rlc3RzKExvYWRlciwgTG9hZGVyRGVmYXVsdHNUZXN0cykKLUZyb3plbl9MRGVmYXVsdFRlc3RzLCBTb3VyY2VMRGVmYXVsdFRlc3RzID0gdGVzdHMKKyhGcm96ZW5fTERlZmF1bHRUZXN0cywKKyBTb3VyY2VMRGVmYXVsdFRlc3RzCisgKSA9IHRlc3RfdXRpbC50ZXN0X2JvdGgoTG9hZGVyRGVmYXVsdHNUZXN0cykKIAogCiBjbGFzcyBSZXNvdXJjZUxvYWRlcihMb2FkZXIpOgpAQCAtMjI3LDE4ICsyMzIsMTggQEAKICAgICAgICAgcmV0dXJuIHN1cGVyKCkuZ2V0X2RhdGEocGF0aCkKIAogCi1Gcm96ZW5fUkwsIFNvdXJjZV9STCA9IG1ha2VfYWJjX3N1YmNsYXNzZXMoUmVzb3VyY2VMb2FkZXIpCitjbGFzcyBSZXNvdXJjZUxvYWRlckRlZmF1bHRzVGVzdHMoQUJDVGVzdEhhcm5lc3MpOgogCi0KLWNsYXNzIFJlc291cmNlTG9hZGVyRGVmYXVsdHNUZXN0czoKKyAgICBTUExJVCA9IG1ha2VfYWJjX3N1YmNsYXNzZXMoUmVzb3VyY2VMb2FkZXIpCiAKICAgICBkZWYgdGVzdF9nZXRfZGF0YShzZWxmKToKICAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhJT0Vycm9yKToKICAgICAgICAgICAgIHNlbGYuaW5zLmdldF9kYXRhKCcvc29tZS9wYXRoJykKIAogCi10ZXN0cyA9IG1ha2VfcmV0dXJuX3ZhbHVlX3Rlc3RzKFJlc291cmNlTG9hZGVyLCBSZXNvdXJjZUxvYWRlckRlZmF1bHRzVGVzdHMpCi1Gcm96ZW5fUkxEZWZhdWx0VGVzdHMsIFNvdXJjZV9STERlZmF1bHRUZXN0cyA9IHRlc3RzCisoRnJvemVuX1JMRGVmYXVsdFRlc3RzLAorIFNvdXJjZV9STERlZmF1bHRUZXN0cworICkgPSB0ZXN0X3V0aWwudGVzdF9ib3RoKFJlc291cmNlTG9hZGVyRGVmYXVsdHNUZXN0cykKIAogCiBjbGFzcyBJbnNwZWN0TG9hZGVyKExvYWRlcik6CkBAIC0yNTAsMTAgKzI1NSwxMiBAQAogICAgICAgICByZXR1cm4gc3VwZXIoKS5nZXRfc291cmNlKGZ1bGxuYW1lKQogCiAKLUZyb3plbl9JTCwgU291cmNlX0lMID0gbWFrZV9hYmNfc3ViY2xhc3NlcyhJbnNwZWN0TG9hZGVyKQorU1BMSVRfSUwgPSBtYWtlX2FiY19zdWJjbGFzc2VzKEluc3BlY3RMb2FkZXIpCiAKIAotY2xhc3MgSW5zcGVjdExvYWRlckRlZmF1bHRzVGVzdHM6CitjbGFzcyBJbnNwZWN0TG9hZGVyRGVmYXVsdHNUZXN0cyhBQkNUZXN0SGFybmVzcyk6CisKKyAgICBTUExJVCA9IFNQTElUX0lMCiAKICAgICBkZWYgdGVzdF9pc19wYWNrYWdlKHNlbGYpOgogICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKEltcG9ydEVycm9yKToKQEAgLTI2NCw4ICsyNzEsOSBAQAogICAgICAgICAgICAgc2VsZi5pbnMuZ2V0X3NvdXJjZSgnYmxhaCcpCiAKIAotdGVzdHMgPSBtYWtlX3JldHVybl92YWx1ZV90ZXN0cyhJbnNwZWN0TG9hZGVyLCBJbnNwZWN0TG9hZGVyRGVmYXVsdHNUZXN0cykKLUZyb3plbl9JTERlZmF1bHRUZXN0cywgU291cmNlX0lMRGVmYXVsdFRlc3RzID0gdGVzdHMKKyhGcm96ZW5fSUxEZWZhdWx0VGVzdHMsCisgU291cmNlX0lMRGVmYXVsdFRlc3RzCisgKSA9IHRlc3RfdXRpbC50ZXN0X2JvdGgoSW5zcGVjdExvYWRlckRlZmF1bHRzVGVzdHMpCiAKIAogY2xhc3MgRXhlY3V0aW9uTG9hZGVyKEluc3BlY3RMb2FkZXIpOgpAQCAtMjczLDIxICsyODEsMjUgQEAKICAgICBkZWYgZ2V0X2ZpbGVuYW1lKHNlbGYsIGZ1bGxuYW1lKToKICAgICAgICAgcmV0dXJuIHN1cGVyKCkuZ2V0X2ZpbGVuYW1lKGZ1bGxuYW1lKQogCi1Gcm96ZW5fRUwsIFNvdXJjZV9FTCA9IG1ha2VfYWJjX3N1YmNsYXNzZXMoRXhlY3V0aW9uTG9hZGVyKQorCitTUExJVF9FTCA9IG1ha2VfYWJjX3N1YmNsYXNzZXMoRXhlY3V0aW9uTG9hZGVyKQogCiAKLWNsYXNzIEV4ZWN1dGlvbkxvYWRlckRlZmF1bHRzVGVzdHM6CitjbGFzcyBFeGVjdXRpb25Mb2FkZXJEZWZhdWx0c1Rlc3RzKEFCQ1Rlc3RIYXJuZXNzKToKKworICAgIFNQTElUID0gU1BMSVRfRUwKIAogICAgIGRlZiB0ZXN0X2dldF9maWxlbmFtZShzZWxmKToKICAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhJbXBvcnRFcnJvcik6CiAgICAgICAgICAgICBzZWxmLmlucy5nZXRfZmlsZW5hbWUoJ2JsYWgnKQogCiAKLXRlc3RzID0gbWFrZV9yZXR1cm5fdmFsdWVfdGVzdHMoRXhlY3V0aW9uTG9hZGVyLCBJbnNwZWN0TG9hZGVyRGVmYXVsdHNUZXN0cykKLUZyb3plbl9FTERlZmF1bHRUZXN0cywgU291cmNlX0VMRGVmYXVsdHNUZXN0cyA9IHRlc3RzCisoRnJvemVuX0VMRGVmYXVsdFRlc3RzLAorIFNvdXJjZV9FTERlZmF1bHRzVGVzdHMKKyApID0gdGVzdF91dGlsLnRlc3RfYm90aChJbnNwZWN0TG9hZGVyRGVmYXVsdHNUZXN0cykKKwogCiAjIyMjIyBNZXRhUGF0aEZpbmRlciBjb25jcmV0ZSBtZXRob2RzICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwotCiBjbGFzcyBNZXRhUGF0aEZpbmRlckZpbmRNb2R1bGVUZXN0czoKIAogICAgIEBjbGFzc21ldGhvZApAQCAtMzE3LDEzICszMjksMTIgQEAKICAgICAgICAgc2VsZi5hc3NlcnRJcyhmb3VuZCwgc3BlYy5sb2FkZXIpCiAKIAotRnJvemVuX01QRkZpbmRNb2R1bGVUZXN0cywgU291cmNlX01QRkZpbmRNb2R1bGVUZXN0cyA9IHV0aWwudGVzdF9ib3RoKAotICAgICAgICBNZXRhUGF0aEZpbmRlckZpbmRNb2R1bGVUZXN0cywKLSAgICAgICAgYWJjPShmcm96ZW5fYWJjLCBzb3VyY2VfYWJjKSwKLSAgICAgICAgdXRpbD0oZnJvemVuX3V0aWwsIHNvdXJjZV91dGlsKSkKKyhGcm96ZW5fTVBGRmluZE1vZHVsZVRlc3RzLAorIFNvdXJjZV9NUEZGaW5kTW9kdWxlVGVzdHMKKyApID0gdGVzdF91dGlsLnRlc3RfYm90aChNZXRhUGF0aEZpbmRlckZpbmRNb2R1bGVUZXN0cywgYWJjPWFiYywgdXRpbD11dGlsKQorCiAKICMjIyMjIFBhdGhFbnRyeUZpbmRlciBjb25jcmV0ZSBtZXRob2RzICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCi0KIGNsYXNzIFBhdGhFbnRyeUZpbmRlckZpbmRMb2FkZXJUZXN0czoKIAogICAgIEBjbGFzc21ldGhvZApAQCAtMzYxLDExICszNzIsMTAgQEAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwYXRocywgZm91bmRbMV0pCiAKIAotRnJvemVuX1BFRkZpbmRMb2FkZXJUZXN0cywgU291cmNlX1BFRkZpbmRMb2FkZXJUZXN0cyA9IHV0aWwudGVzdF9ib3RoKAotICAgICAgICBQYXRoRW50cnlGaW5kZXJGaW5kTG9hZGVyVGVzdHMsCi0gICAgICAgIGFiYz0oZnJvemVuX2FiYywgc291cmNlX2FiYyksCi0gICAgICAgIG1hY2hpbmVyeT1tYWNoaW5lcnksCi0gICAgICAgIHV0aWw9KGZyb3plbl91dGlsLCBzb3VyY2VfdXRpbCkpCisoRnJvemVuX1BFRkZpbmRMb2FkZXJUZXN0cywKKyBTb3VyY2VfUEVGRmluZExvYWRlclRlc3RzCisgKSA9IHRlc3RfdXRpbC50ZXN0X2JvdGgoUGF0aEVudHJ5RmluZGVyRmluZExvYWRlclRlc3RzLCBhYmM9YWJjLCB1dGlsPXV0aWwsCisgICAgICAgICAgICAgICAgICAgICAgICAgbWFjaGluZXJ5PW1hY2hpbmVyeSkKIAogCiAjIyMjIyBMb2FkZXIgY29uY3JldGUgbWV0aG9kcyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwpAQCAtMzg2LDcgKzM5Niw3IEBACiAgICAgZGVmIHRlc3RfZnJlc2goc2VsZik6CiAgICAgICAgIGxvYWRlciA9IHNlbGYubG9hZGVyKCkKICAgICAgICAgbmFtZSA9ICdibGFoJwotICAgICAgICB3aXRoIHV0aWwudW5jYWNoZShuYW1lKToKKyAgICAgICAgd2l0aCB0ZXN0X3V0aWwudW5jYWNoZShuYW1lKToKICAgICAgICAgICAgIGxvYWRlci5sb2FkX21vZHVsZShuYW1lKQogICAgICAgICAgICAgbW9kdWxlID0gbG9hZGVyLmZvdW5kCiAgICAgICAgICAgICBzZWxmLmFzc2VydElzKHN5cy5tb2R1bGVzW25hbWVdLCBtb2R1bGUpCkBAIC00MDQsNyArNDE0LDcgQEAKICAgICAgICAgbW9kdWxlID0gdHlwZXMuTW9kdWxlVHlwZShuYW1lKQogICAgICAgICBtb2R1bGUuX19zcGVjX18gPSBzZWxmLnV0aWwuc3BlY19mcm9tX2xvYWRlcihuYW1lLCBsb2FkZXIpCiAgICAgICAgIG1vZHVsZS5fX2xvYWRlcl9fID0gbG9hZGVyCi0gICAgICAgIHdpdGggdXRpbC51bmNhY2hlKG5hbWUpOgorICAgICAgICB3aXRoIHRlc3RfdXRpbC51bmNhY2hlKG5hbWUpOgogICAgICAgICAgICAgc3lzLm1vZHVsZXNbbmFtZV0gPSBtb2R1bGUKICAgICAgICAgICAgIGxvYWRlci5sb2FkX21vZHVsZShuYW1lKQogICAgICAgICAgICAgZm91bmQgPSBsb2FkZXIuZm91bmQKQEAgLTQxMiwxMCArNDIyLDkgQEAKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXMobW9kdWxlLCBzeXMubW9kdWxlc1tuYW1lXSkKIAogCi1Gcm96ZW5fTG9hZGVyTG9hZE1vZHVsZVRlc3RzLCBTb3VyY2VfTG9hZGVyTG9hZE1vZHVsZVRlc3RzID0gdXRpbC50ZXN0X2JvdGgoCi0gICAgICAgIExvYWRlckxvYWRNb2R1bGVUZXN0cywKLSAgICAgICAgYWJjPShmcm96ZW5fYWJjLCBzb3VyY2VfYWJjKSwKLSAgICAgICAgdXRpbD0oZnJvemVuX3V0aWwsIHNvdXJjZV91dGlsKSkKKyhGcm96ZW5fTG9hZGVyTG9hZE1vZHVsZVRlc3RzLAorIFNvdXJjZV9Mb2FkZXJMb2FkTW9kdWxlVGVzdHMKKyApID0gdGVzdF91dGlsLnRlc3RfYm90aChMb2FkZXJMb2FkTW9kdWxlVGVzdHMsIGFiYz1hYmMsIHV0aWw9dXRpbCkKIAogCiAjIyMjIyBJbnNwZWN0TG9hZGVyIGNvbmNyZXRlIG1ldGhvZHMgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwpAQCAtNDYxLDExICs0NzAsMTAgQEAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjb2RlLmNvX2ZpbGVuYW1lLCAnPHN0cmluZz4nKQogCiAKLWNsYXNzIEZyb3plbl9JTFNvdXJjZVRvQ29kZVRlc3RzKEluc3BlY3RMb2FkZXJTb3VyY2VUb0NvZGVUZXN0cywgdW5pdHRlc3QuVGVzdENhc2UpOgotICAgIEluc3BlY3RMb2FkZXJTdWJjbGFzcyA9IEZyb3plbl9JTAotCi1jbGFzcyBTb3VyY2VfSUxTb3VyY2VUb0NvZGVUZXN0cyhJbnNwZWN0TG9hZGVyU291cmNlVG9Db2RlVGVzdHMsIHVuaXR0ZXN0LlRlc3RDYXNlKToKLSAgICBJbnNwZWN0TG9hZGVyU3ViY2xhc3MgPSBTb3VyY2VfSUwKKyhGcm96ZW5fSUxTb3VyY2VUb0NvZGVUZXN0cywKKyBTb3VyY2VfSUxTb3VyY2VUb0NvZGVUZXN0cworICkgPSB0ZXN0X3V0aWwudGVzdF9ib3RoKEluc3BlY3RMb2FkZXJTb3VyY2VUb0NvZGVUZXN0cywKKyAgICAgICAgICAgICAgICAgICAgICAgICBJbnNwZWN0TG9hZGVyU3ViY2xhc3M9U1BMSVRfSUwpCiAKIAogY2xhc3MgSW5zcGVjdExvYWRlckdldENvZGVUZXN0czoKQEAgLTQ5NSwxMSArNTAzLDEwIEBACiAgICAgICAgICAgICBsb2FkZXIuZ2V0X2NvZGUoJ2JsYWgnKQogCiAKLWNsYXNzIEZyb3plbl9JTEdldENvZGVUZXN0cyhJbnNwZWN0TG9hZGVyR2V0Q29kZVRlc3RzLCB1bml0dGVzdC5UZXN0Q2FzZSk6Ci0gICAgSW5zcGVjdExvYWRlclN1YmNsYXNzID0gRnJvemVuX0lMCi0KLWNsYXNzIFNvdXJjZV9JTEdldENvZGVUZXN0cyhJbnNwZWN0TG9hZGVyR2V0Q29kZVRlc3RzLCB1bml0dGVzdC5UZXN0Q2FzZSk6Ci0gICAgSW5zcGVjdExvYWRlclN1YmNsYXNzID0gU291cmNlX0lMCisoRnJvemVuX0lMR2V0Q29kZVRlc3RzLAorIFNvdXJjZV9JTEdldENvZGVUZXN0cworICkgPSB0ZXN0X3V0aWwudGVzdF9ib3RoKEluc3BlY3RMb2FkZXJHZXRDb2RlVGVzdHMsCisgICAgICAgICAgICAgICAgICAgICAgICAgSW5zcGVjdExvYWRlclN1YmNsYXNzPVNQTElUX0lMKQogCiAKIGNsYXNzIEluc3BlY3RMb2FkZXJMb2FkTW9kdWxlVGVzdHM6CkBAIC01NDMsMTEgKzU1MCwxMCBAQAogICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtb2R1bGUsIHN5cy5tb2R1bGVzW3NlbGYubW9kdWxlX25hbWVdKQogCiAKLWNsYXNzIEZyb3plbl9JTExvYWRNb2R1bGVUZXN0cyhJbnNwZWN0TG9hZGVyTG9hZE1vZHVsZVRlc3RzLCB1bml0dGVzdC5UZXN0Q2FzZSk6Ci0gICAgSW5zcGVjdExvYWRlclN1YmNsYXNzID0gRnJvemVuX0lMCi0KLWNsYXNzIFNvdXJjZV9JTExvYWRNb2R1bGVUZXN0cyhJbnNwZWN0TG9hZGVyTG9hZE1vZHVsZVRlc3RzLCB1bml0dGVzdC5UZXN0Q2FzZSk6Ci0gICAgSW5zcGVjdExvYWRlclN1YmNsYXNzID0gU291cmNlX0lMCisoRnJvemVuX0lMTG9hZE1vZHVsZVRlc3RzLAorIFNvdXJjZV9JTExvYWRNb2R1bGVUZXN0cworICkgPSB0ZXN0X3V0aWwudGVzdF9ib3RoKEluc3BlY3RMb2FkZXJMb2FkTW9kdWxlVGVzdHMsCisgICAgICAgICAgICAgICAgICAgICAgICAgSW5zcGVjdExvYWRlclN1YmNsYXNzPVNQTElUX0lMKQogCiAKICMjIyMjIEV4ZWN1dGlvbkxvYWRlciBjb25jcmV0ZSBtZXRob2RzICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCkBAIC02MDgsMTUgKzYxNCwxNCBAQAogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1vZHVsZS5hdHRyLCA0MikKIAogCi1jbGFzcyBGcm96ZW5fRUxHZXRDb2RlVGVzdHMoRXhlY3V0aW9uTG9hZGVyR2V0Q29kZVRlc3RzLCB1bml0dGVzdC5UZXN0Q2FzZSk6Ci0gICAgRXhlY3V0aW9uTG9hZGVyU3ViY2xhc3MgPSBGcm96ZW5fRUwKLQotY2xhc3MgU291cmNlX0VMR2V0Q29kZVRlc3RzKEV4ZWN1dGlvbkxvYWRlckdldENvZGVUZXN0cywgdW5pdHRlc3QuVGVzdENhc2UpOgotICAgIEV4ZWN1dGlvbkxvYWRlclN1YmNsYXNzID0gU291cmNlX0VMCisoRnJvemVuX0VMR2V0Q29kZVRlc3RzLAorIFNvdXJjZV9FTEdldENvZGVUZXN0cworICkgPSB0ZXN0X3V0aWwudGVzdF9ib3RoKEV4ZWN1dGlvbkxvYWRlckdldENvZGVUZXN0cywKKyAgICAgICAgICAgICAgICAgICAgICAgICBFeGVjdXRpb25Mb2FkZXJTdWJjbGFzcz1TUExJVF9FTCkKIAogCiAjIyMjIyBTb3VyY2VMb2FkZXIgY29uY3JldGUgbWV0aG9kcyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwotY2xhc3MgU291cmNlTG9hZGVyOgorY2xhc3MgU291cmNlT25seUxvYWRlcjoKIAogICAgICMgR2xvYmFscyB0aGF0IHNob3VsZCBiZSBkZWZpbmVkIGZvciBhbGwgbW9kdWxlcy4KICAgICBzb3VyY2UgPSAoYiJfID0gJzo6Jy5qb2luKFtfX25hbWVfXywgX19maWxlX18sIF9fY2FjaGVkX18sIF9fcGFja2FnZV9fLCAiCkBAIC02MzcsMTAgKzY0MiwxMCBAQAogICAgICAgICByZXR1cm4gJzxtb2R1bGU+JwogCiAKLUZyb3plbl9Tb3VyY2VPbmx5TCwgU291cmNlX1NvdXJjZU9ubHlMID0gbWFrZV9hYmNfc3ViY2xhc3NlcyhTb3VyY2VMb2FkZXIpCitTUExJVF9TT0wgPSBtYWtlX2FiY19zdWJjbGFzc2VzKFNvdXJjZU9ubHlMb2FkZXIsICdTb3VyY2VMb2FkZXInKQogCiAKLWNsYXNzIFNvdXJjZUxvYWRlcihTb3VyY2VMb2FkZXIpOgorY2xhc3MgU291cmNlTG9hZGVyKFNvdXJjZU9ubHlMb2FkZXIpOgogCiAgICAgc291cmNlX210aW1lID0gMQogCkBAIC02NzcsMTEgKzY4Miw3IEBACiAgICAgICAgIHJldHVybiBwYXRoID09IHNlbGYuYnl0ZWNvZGVfcGF0aAogCiAKLUZyb3plbl9TTCwgU291cmNlX1NMID0gbWFrZV9hYmNfc3ViY2xhc3NlcyhTb3VyY2VMb2FkZXIpCi1Gcm96ZW5fU0wudXRpbCA9IGZyb3plbl91dGlsCi1Tb3VyY2VfU0wudXRpbCA9IHNvdXJjZV91dGlsCi1Gcm96ZW5fU0wuaW5pdCA9IGZyb3plbl9pbml0Ci1Tb3VyY2VfU0wuaW5pdCA9IHNvdXJjZV9pbml0CitTUExJVF9TTCA9IG1ha2VfYWJjX3N1YmNsYXNzZXMoU291cmNlTG9hZGVyLCB1dGlsPXV0aWwsIGluaXQ9aW5pdCkKIAogCiBjbGFzcyBTb3VyY2VMb2FkZXJUZXN0SGFybmVzczoKQEAgLTc2NSw3ICs3NjYsNyBAQAogICAgICAgICAjIExvYWRpbmcgYSBtb2R1bGUgc2hvdWxkIHNldCBfX25hbWVfXywgX19sb2FkZXJfXywgX19wYWNrYWdlX18sCiAgICAgICAgICMgX19wYXRoX18gKGZvciBwYWNrYWdlcyksIF9fZmlsZV9fLCBhbmQgX19jYWNoZWRfXy4KICAgICAgICAgIyBUaGUgbW9kdWxlIHNob3VsZCBhbHNvIGJlIHB1dCBpbnRvIHN5cy5tb2R1bGVzLgotICAgICAgICB3aXRoIHV0aWwudW5jYWNoZShzZWxmLm5hbWUpOgorICAgICAgICB3aXRoIHRlc3RfdXRpbC51bmNhY2hlKHNlbGYubmFtZSk6CiAgICAgICAgICAgICB3aXRoIHdhcm5pbmdzLmNhdGNoX3dhcm5pbmdzKCk6CiAgICAgICAgICAgICAgICAgd2FybmluZ3Muc2ltcGxlZmlsdGVyKCdpZ25vcmUnLCBEZXByZWNhdGlvbldhcm5pbmcpCiAgICAgICAgICAgICAgICAgbW9kdWxlID0gc2VsZi5sb2FkZXIubG9hZF9tb2R1bGUoc2VsZi5uYW1lKQpAQCAtNzc4LDcgKzc3OSw3IEBACiAgICAgICAgICMgaXMgYSBwYWNrYWdlLgogICAgICAgICAjIFRlc3RpbmcgdGhlIHZhbHVlcyBmb3IgYSBwYWNrYWdlIGFyZSBjb3ZlcmVkIGJ5IHRlc3RfbG9hZF9tb2R1bGUuCiAgICAgICAgIHNlbGYuc2V0VXAoaXNfcGFja2FnZT1GYWxzZSkKLSAgICAgICAgd2l0aCB1dGlsLnVuY2FjaGUoc2VsZi5uYW1lKToKKyAgICAgICAgd2l0aCB0ZXN0X3V0aWwudW5jYWNoZShzZWxmLm5hbWUpOgogICAgICAgICAgICAgd2l0aCB3YXJuaW5ncy5jYXRjaF93YXJuaW5ncygpOgogICAgICAgICAgICAgICAgIHdhcm5pbmdzLnNpbXBsZWZpbHRlcignaWdub3JlJywgRGVwcmVjYXRpb25XYXJuaW5nKQogICAgICAgICAgICAgICAgIG1vZHVsZSA9IHNlbGYubG9hZGVyLmxvYWRfbW9kdWxlKHNlbGYubmFtZSkKQEAgLTc5OCwxMyArNzk5LDEwIEBACiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmV0dXJuZWRfc291cmNlLCBzb3VyY2UpCiAKIAotY2xhc3MgRnJvemVuX1NvdXJjZU9ubHlMVGVzdHMoU291cmNlT25seUxvYWRlclRlc3RzLCB1bml0dGVzdC5UZXN0Q2FzZSk6Ci0gICAgbG9hZGVyX21vY2sgPSBGcm96ZW5fU291cmNlT25seUwKLSAgICB1dGlsID0gZnJvemVuX3V0aWwKLQotY2xhc3MgU291cmNlX1NvdXJjZU9ubHlMVGVzdHMoU291cmNlT25seUxvYWRlclRlc3RzLCB1bml0dGVzdC5UZXN0Q2FzZSk6Ci0gICAgbG9hZGVyX21vY2sgPSBTb3VyY2VfU291cmNlT25seUwKLSAgICB1dGlsID0gc291cmNlX3V0aWwKKyhGcm96ZW5fU291cmNlT25seUxvYWRlclRlc3RzLAorIFNvdXJjZV9Tb3VyY2VPbmx5TG9hZGVyVGVzdHMKKyApID0gdGVzdF91dGlsLnRlc3RfYm90aChTb3VyY2VPbmx5TG9hZGVyVGVzdHMsIHV0aWw9dXRpbCwKKyAgICAgICAgICAgICAgICAgICAgICAgICBsb2FkZXJfbW9jaz1TUExJVF9TT0wpCiAKIAogQHVuaXR0ZXN0LnNraXBJZihzeXMuZG9udF93cml0ZV9ieXRlY29kZSwgInN5cy5kb250X3dyaXRlX2J5dGVjb2RlIGlzIHRydWUiKQpAQCAtODk2LDE1ICs4OTQsMTAgQEAKICAgICAgICAgc2VsZi52ZXJpZnlfY29kZShjb2RlX29iamVjdCkKIAogCi1jbGFzcyBGcm96ZW5fU0xCeXRlY29kZVRlc3RzKFNvdXJjZUxvYWRlckJ5dGVjb2RlVGVzdHMsIHVuaXR0ZXN0LlRlc3RDYXNlKToKLSAgICBsb2FkZXJfbW9jayA9IEZyb3plbl9TTAotICAgIGluaXQgPSBmcm96ZW5faW5pdAotICAgIHV0aWwgPSBmcm96ZW5fdXRpbAotCi1jbGFzcyBTb3VyY2VTTEJ5dGVjb2RlVGVzdHMoU291cmNlTG9hZGVyQnl0ZWNvZGVUZXN0cywgdW5pdHRlc3QuVGVzdENhc2UpOgotICAgIGxvYWRlcl9tb2NrID0gU291cmNlX1NMCi0gICAgaW5pdCA9IHNvdXJjZV9pbml0Ci0gICAgdXRpbCA9IHNvdXJjZV91dGlsCisoRnJvemVuX1NMQnl0ZWNvZGVUZXN0cywKKyBTb3VyY2VTTEJ5dGVjb2RlVGVzdHMKKyApID0gdGVzdF91dGlsLnRlc3RfYm90aChTb3VyY2VMb2FkZXJCeXRlY29kZVRlc3RzLCBpbml0PWluaXQsIHV0aWw9dXRpbCwKKyAgICAgICAgICAgICAgICAgICAgICAgICBsb2FkZXJfbW9jaz1TUExJVF9TTCkKIAogCiBjbGFzcyBTb3VyY2VMb2FkZXJHZXRTb3VyY2VUZXN0czoKQEAgLTk0MCwxMSArOTMzLDEwIEBACiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobW9jay5nZXRfc291cmNlKG5hbWUpLCBleHBlY3QpCiAKIAotY2xhc3MgRnJvemVuX1NvdXJjZU9ubHlMR2V0U291cmNlVGVzdHMoU291cmNlTG9hZGVyR2V0U291cmNlVGVzdHMsIHVuaXR0ZXN0LlRlc3RDYXNlKToKLSAgICBTb3VyY2VPbmx5TG9hZGVyTW9jayA9IEZyb3plbl9Tb3VyY2VPbmx5TAotCi1jbGFzcyBTb3VyY2VfU291cmNlT25seUxHZXRTb3VyY2VUZXN0cyhTb3VyY2VMb2FkZXJHZXRTb3VyY2VUZXN0cywgdW5pdHRlc3QuVGVzdENhc2UpOgotICAgIFNvdXJjZU9ubHlMb2FkZXJNb2NrID0gU291cmNlX1NvdXJjZU9ubHlMCisoRnJvemVuX1NvdXJjZU9ubHlMb2FkZXJHZXRTb3VyY2VUZXN0cywKKyBTb3VyY2VfU291cmNlT25seUxvYWRlckdldFNvdXJjZVRlc3RzCisgKSA9IHRlc3RfdXRpbC50ZXN0X2JvdGgoU291cmNlTG9hZGVyR2V0U291cmNlVGVzdHMsCisgICAgICAgICAgICAgICAgICAgICAgICAgU291cmNlT25seUxvYWRlck1vY2s9U1BMSVRfU09MKQogCiAKIGlmIF9fbmFtZV9fID09ICdfX21haW5fXyc6CmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi90ZXN0X2FwaS5weSBiL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL3Rlc3RfYXBpLnB5CmluZGV4IDJhMmQ0MmIuLjZiYzNjNTYgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL3Rlc3RfYXBpLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL3Rlc3RfYXBpLnB5CkBAIC0xLDggKzEsOCBAQAotZnJvbSAuIGltcG9ydCB1dGlsCitmcm9tIC4gaW1wb3J0IHV0aWwgYXMgdGVzdF91dGlsCiAKLWZyb3plbl9pbml0LCBzb3VyY2VfaW5pdCA9IHV0aWwuaW1wb3J0X2ltcG9ydGxpYignaW1wb3J0bGliJykKLWZyb3plbl91dGlsLCBzb3VyY2VfdXRpbCA9IHV0aWwuaW1wb3J0X2ltcG9ydGxpYignaW1wb3J0bGliLnV0aWwnKQotZnJvemVuX21hY2hpbmVyeSwgc291cmNlX21hY2hpbmVyeSA9IHV0aWwuaW1wb3J0X2ltcG9ydGxpYignaW1wb3J0bGliLm1hY2hpbmVyeScpCitpbml0ID0gdGVzdF91dGlsLmltcG9ydF9pbXBvcnRsaWIoJ2ltcG9ydGxpYicpCit1dGlsID0gdGVzdF91dGlsLmltcG9ydF9pbXBvcnRsaWIoJ2ltcG9ydGxpYi51dGlsJykKK21hY2hpbmVyeSA9IHRlc3RfdXRpbC5pbXBvcnRfaW1wb3J0bGliKCdpbXBvcnRsaWIubWFjaGluZXJ5JykKIAogaW1wb3J0IG9zLnBhdGgKIGltcG9ydCBzeXMKQEAgLTE4LDggKzE4LDggQEAKIAogICAgIGRlZiB0ZXN0X21vZHVsZV9pbXBvcnQoc2VsZik6CiAgICAgICAgICMgVGVzdCBpbXBvcnRpbmcgYSB0b3AtbGV2ZWwgbW9kdWxlLgotICAgICAgICB3aXRoIHV0aWwubW9ja19tb2R1bGVzKCd0b3BfbGV2ZWwnKSBhcyBtb2NrOgotICAgICAgICAgICAgd2l0aCB1dGlsLmltcG9ydF9zdGF0ZShtZXRhX3BhdGg9W21vY2tdKToKKyAgICAgICAgd2l0aCB0ZXN0X3V0aWwubW9ja19tb2R1bGVzKCd0b3BfbGV2ZWwnKSBhcyBtb2NrOgorICAgICAgICAgICAgd2l0aCB0ZXN0X3V0aWwuaW1wb3J0X3N0YXRlKG1ldGFfcGF0aD1bbW9ja10pOgogICAgICAgICAgICAgICAgIG1vZHVsZSA9IHNlbGYuaW5pdC5pbXBvcnRfbW9kdWxlKCd0b3BfbGV2ZWwnKQogICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobW9kdWxlLl9fbmFtZV9fLCAndG9wX2xldmVsJykKIApAQCAtMjgsOCArMjgsOCBAQAogICAgICAgICBwa2dfbmFtZSA9ICdwa2cnCiAgICAgICAgIHBrZ19sb25nX25hbWUgPSAnezB9Ll9faW5pdF9fJy5mb3JtYXQocGtnX25hbWUpCiAgICAgICAgIG5hbWUgPSAnezB9Lm1vZCcuZm9ybWF0KHBrZ19uYW1lKQotICAgICAgICB3aXRoIHV0aWwubW9ja19tb2R1bGVzKHBrZ19sb25nX25hbWUsIG5hbWUpIGFzIG1vY2s6Ci0gICAgICAgICAgICB3aXRoIHV0aWwuaW1wb3J0X3N0YXRlKG1ldGFfcGF0aD1bbW9ja10pOgorICAgICAgICB3aXRoIHRlc3RfdXRpbC5tb2NrX21vZHVsZXMocGtnX2xvbmdfbmFtZSwgbmFtZSkgYXMgbW9jazoKKyAgICAgICAgICAgIHdpdGggdGVzdF91dGlsLmltcG9ydF9zdGF0ZShtZXRhX3BhdGg9W21vY2tdKToKICAgICAgICAgICAgICAgICBtb2R1bGUgPSBzZWxmLmluaXQuaW1wb3J0X21vZHVsZShuYW1lKQogICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobW9kdWxlLl9fbmFtZV9fLCBuYW1lKQogCkBAIC00MCwxNiArNDAsMTYgQEAKICAgICAgICAgbW9kdWxlX25hbWUgPSAnbW9kJwogICAgICAgICBhYnNvbHV0ZV9uYW1lID0gJ3swfS57MX0nLmZvcm1hdChwa2dfbmFtZSwgbW9kdWxlX25hbWUpCiAgICAgICAgIHJlbGF0aXZlX25hbWUgPSAnLnswfScuZm9ybWF0KG1vZHVsZV9uYW1lKQotICAgICAgICB3aXRoIHV0aWwubW9ja19tb2R1bGVzKHBrZ19sb25nX25hbWUsIGFic29sdXRlX25hbWUpIGFzIG1vY2s6Ci0gICAgICAgICAgICB3aXRoIHV0aWwuaW1wb3J0X3N0YXRlKG1ldGFfcGF0aD1bbW9ja10pOgorICAgICAgICB3aXRoIHRlc3RfdXRpbC5tb2NrX21vZHVsZXMocGtnX2xvbmdfbmFtZSwgYWJzb2x1dGVfbmFtZSkgYXMgbW9jazoKKyAgICAgICAgICAgIHdpdGggdGVzdF91dGlsLmltcG9ydF9zdGF0ZShtZXRhX3BhdGg9W21vY2tdKToKICAgICAgICAgICAgICAgICBzZWxmLmluaXQuaW1wb3J0X21vZHVsZShwa2dfbmFtZSkKICAgICAgICAgICAgICAgICBtb2R1bGUgPSBzZWxmLmluaXQuaW1wb3J0X21vZHVsZShyZWxhdGl2ZV9uYW1lLCBwa2dfbmFtZSkKICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1vZHVsZS5fX25hbWVfXywgYWJzb2x1dGVfbmFtZSkKIAogICAgIGRlZiB0ZXN0X2RlZXBfcmVsYXRpdmVfcGFja2FnZV9pbXBvcnQoc2VsZik6CiAgICAgICAgIG1vZHVsZXMgPSBbJ2EuX19pbml0X18nLCAnYS5iLl9faW5pdF9fJywgJ2EuYyddCi0gICAgICAgIHdpdGggdXRpbC5tb2NrX21vZHVsZXMoKm1vZHVsZXMpIGFzIG1vY2s6Ci0gICAgICAgICAgICB3aXRoIHV0aWwuaW1wb3J0X3N0YXRlKG1ldGFfcGF0aD1bbW9ja10pOgorICAgICAgICB3aXRoIHRlc3RfdXRpbC5tb2NrX21vZHVsZXMoKm1vZHVsZXMpIGFzIG1vY2s6CisgICAgICAgICAgICB3aXRoIHRlc3RfdXRpbC5pbXBvcnRfc3RhdGUobWV0YV9wYXRoPVttb2NrXSk6CiAgICAgICAgICAgICAgICAgc2VsZi5pbml0LmltcG9ydF9tb2R1bGUoJ2EnKQogICAgICAgICAgICAgICAgIHNlbGYuaW5pdC5pbXBvcnRfbW9kdWxlKCdhLmInKQogICAgICAgICAgICAgICAgIG1vZHVsZSA9IHNlbGYuaW5pdC5pbXBvcnRfbW9kdWxlKCcuLmMnLCAnYS5iJykKQEAgLTYxLDggKzYxLDggQEAKICAgICAgICAgcGtnX25hbWUgPSAncGtnJwogICAgICAgICBwa2dfbG9uZ19uYW1lID0gJ3swfS5fX2luaXRfXycuZm9ybWF0KHBrZ19uYW1lKQogICAgICAgICBuYW1lID0gJ3swfS5tb2QnLmZvcm1hdChwa2dfbmFtZSkKLSAgICAgICAgd2l0aCB1dGlsLm1vY2tfbW9kdWxlcyhwa2dfbG9uZ19uYW1lLCBuYW1lKSBhcyBtb2NrOgotICAgICAgICAgICAgd2l0aCB1dGlsLmltcG9ydF9zdGF0ZShtZXRhX3BhdGg9W21vY2tdKToKKyAgICAgICAgd2l0aCB0ZXN0X3V0aWwubW9ja19tb2R1bGVzKHBrZ19sb25nX25hbWUsIG5hbWUpIGFzIG1vY2s6CisgICAgICAgICAgICB3aXRoIHRlc3RfdXRpbC5pbXBvcnRfc3RhdGUobWV0YV9wYXRoPVttb2NrXSk6CiAgICAgICAgICAgICAgICAgc2VsZi5pbml0LmltcG9ydF9tb2R1bGUocGtnX25hbWUpCiAgICAgICAgICAgICAgICAgbW9kdWxlID0gc2VsZi5pbml0LmltcG9ydF9tb2R1bGUobmFtZSwgcGtnX25hbWUpCiAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtb2R1bGUuX19uYW1lX18sIG5hbWUpCkBAIC04NiwxNiArODYsMTUgQEAKICAgICAgICAgICAgIGJfbG9hZF9jb3VudCArPSAxCiAgICAgICAgIGNvZGUgPSB7J2EnOiBsb2FkX2EsICdhLmInOiBsb2FkX2J9CiAgICAgICAgIG1vZHVsZXMgPSBbJ2EuX19pbml0X18nLCAnYS5iJ10KLSAgICAgICAgd2l0aCB1dGlsLm1vY2tfbW9kdWxlcygqbW9kdWxlcywgbW9kdWxlX2NvZGU9Y29kZSkgYXMgbW9jazoKLSAgICAgICAgICAgIHdpdGggdXRpbC5pbXBvcnRfc3RhdGUobWV0YV9wYXRoPVttb2NrXSk6CisgICAgICAgIHdpdGggdGVzdF91dGlsLm1vY2tfbW9kdWxlcygqbW9kdWxlcywgbW9kdWxlX2NvZGU9Y29kZSkgYXMgbW9jazoKKyAgICAgICAgICAgIHdpdGggdGVzdF91dGlsLmltcG9ydF9zdGF0ZShtZXRhX3BhdGg9W21vY2tdKToKICAgICAgICAgICAgICAgICBzZWxmLmluaXQuaW1wb3J0X21vZHVsZSgnYS5iJykKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChiX2xvYWRfY291bnQsIDEpCiAKLWNsYXNzIEZyb3plbl9JbXBvcnRNb2R1bGVUZXN0cyhJbXBvcnRNb2R1bGVUZXN0cywgdW5pdHRlc3QuVGVzdENhc2UpOgotICAgIGluaXQgPSBmcm96ZW5faW5pdAogCi1jbGFzcyBTb3VyY2VfSW1wb3J0TW9kdWxlVGVzdHMoSW1wb3J0TW9kdWxlVGVzdHMsIHVuaXR0ZXN0LlRlc3RDYXNlKToKLSAgICBpbml0ID0gc291cmNlX2luaXQKKyhGcm96ZW5fSW1wb3J0TW9kdWxlVGVzdHMsCisgU291cmNlX0ltcG9ydE1vZHVsZVRlc3RzCisgKSA9IHRlc3RfdXRpbC50ZXN0X2JvdGgoSW1wb3J0TW9kdWxlVGVzdHMsIGluaXQ9aW5pdCkKIAogCiBjbGFzcyBGaW5kTG9hZGVyVGVzdHM6CkBAIC0xMDcsNyArMTA2LDcgQEAKICAgICBkZWYgdGVzdF9zeXNfbW9kdWxlcyhzZWxmKToKICAgICAgICAgIyBJZiBhIG1vZHVsZSB3aXRoIF9fbG9hZGVyX18gaXMgaW4gc3lzLm1vZHVsZXMsIHRoZW4gcmV0dXJuIGl0LgogICAgICAgICBuYW1lID0gJ3NvbWVfbW9kJwotICAgICAgICB3aXRoIHV0aWwudW5jYWNoZShuYW1lKToKKyAgICAgICAgd2l0aCB0ZXN0X3V0aWwudW5jYWNoZShuYW1lKToKICAgICAgICAgICAgIG1vZHVsZSA9IHR5cGVzLk1vZHVsZVR5cGUobmFtZSkKICAgICAgICAgICAgIGxvYWRlciA9ICdhIGxvYWRlciEnCiAgICAgICAgICAgICBtb2R1bGUuX19sb2FkZXJfXyA9IGxvYWRlcgpAQCAtMTIwLDcgKzExOSw3IEBACiAgICAgZGVmIHRlc3Rfc3lzX21vZHVsZXNfbG9hZGVyX2lzX05vbmUoc2VsZik6CiAgICAgICAgICMgSWYgc3lzLm1vZHVsZXNbbmFtZV0uX19sb2FkZXJfXyBpcyBOb25lLCByYWlzZSBWYWx1ZUVycm9yLgogICAgICAgICBuYW1lID0gJ3NvbWVfbW9kJwotICAgICAgICB3aXRoIHV0aWwudW5jYWNoZShuYW1lKToKKyAgICAgICAgd2l0aCB0ZXN0X3V0aWwudW5jYWNoZShuYW1lKToKICAgICAgICAgICAgIG1vZHVsZSA9IHR5cGVzLk1vZHVsZVR5cGUobmFtZSkKICAgICAgICAgICAgIG1vZHVsZS5fX2xvYWRlcl9fID0gTm9uZQogICAgICAgICAgICAgc3lzLm1vZHVsZXNbbmFtZV0gPSBtb2R1bGUKQEAgLTEzMyw3ICsxMzIsNyBAQAogICAgICAgICAjIFNob3VsZCByYWlzZSBWYWx1ZUVycm9yCiAgICAgICAgICMgSXNzdWUgIzE3MDk5CiAgICAgICAgIG5hbWUgPSAnc29tZV9tb2QnCi0gICAgICAgIHdpdGggdXRpbC51bmNhY2hlKG5hbWUpOgorICAgICAgICB3aXRoIHRlc3RfdXRpbC51bmNhY2hlKG5hbWUpOgogICAgICAgICAgICAgbW9kdWxlID0gdHlwZXMuTW9kdWxlVHlwZShuYW1lKQogICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgIGRlbCBtb2R1bGUuX19sb2FkZXJfXwpAQCAtMTQ4LDggKzE0Nyw4IEBACiAgICAgZGVmIHRlc3Rfc3VjY2VzcyhzZWxmKToKICAgICAgICAgIyBSZXR1cm4gdGhlIGxvYWRlciBmb3VuZCBvbiBzeXMubWV0YV9wYXRoLgogICAgICAgICBuYW1lID0gJ3NvbWVfbW9kJwotICAgICAgICB3aXRoIHV0aWwudW5jYWNoZShuYW1lKToKLSAgICAgICAgICAgIHdpdGggdXRpbC5pbXBvcnRfc3RhdGUobWV0YV9wYXRoPVtzZWxmLkZha2VNZXRhRmluZGVyXSk6CisgICAgICAgIHdpdGggdGVzdF91dGlsLnVuY2FjaGUobmFtZSk6CisgICAgICAgICAgICB3aXRoIHRlc3RfdXRpbC5pbXBvcnRfc3RhdGUobWV0YV9wYXRoPVtzZWxmLkZha2VNZXRhRmluZGVyXSk6CiAgICAgICAgICAgICAgICAgd2l0aCB3YXJuaW5ncy5jYXRjaF93YXJuaW5ncygpOgogICAgICAgICAgICAgICAgICAgICB3YXJuaW5ncy5zaW1wbGVmaWx0ZXIoJ2lnbm9yZScsIERlcHJlY2F0aW9uV2FybmluZykKICAgICAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgobmFtZSwgTm9uZSksIHNlbGYuaW5pdC5maW5kX2xvYWRlcihuYW1lKSkKQEAgLTE1OCw4ICsxNTcsOCBAQAogICAgICAgICAjIFNlYXJjaGluZyBvbiBhIHBhdGggc2hvdWxkIHdvcmsuCiAgICAgICAgIG5hbWUgPSAnc29tZV9tb2QnCiAgICAgICAgIHBhdGggPSAncGF0aCB0byBzb21lIHBsYWNlJwotICAgICAgICB3aXRoIHV0aWwudW5jYWNoZShuYW1lKToKLSAgICAgICAgICAgIHdpdGggdXRpbC5pbXBvcnRfc3RhdGUobWV0YV9wYXRoPVtzZWxmLkZha2VNZXRhRmluZGVyXSk6CisgICAgICAgIHdpdGggdGVzdF91dGlsLnVuY2FjaGUobmFtZSk6CisgICAgICAgICAgICB3aXRoIHRlc3RfdXRpbC5pbXBvcnRfc3RhdGUobWV0YV9wYXRoPVtzZWxmLkZha2VNZXRhRmluZGVyXSk6CiAgICAgICAgICAgICAgICAgd2l0aCB3YXJuaW5ncy5jYXRjaF93YXJuaW5ncygpOgogICAgICAgICAgICAgICAgICAgICB3YXJuaW5ncy5zaW1wbGVmaWx0ZXIoJ2lnbm9yZScsIERlcHJlY2F0aW9uV2FybmluZykKICAgICAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgobmFtZSwgcGF0aCksCkBAIC0xNzEsMTEgKzE3MCwxMCBAQAogICAgICAgICAgICAgd2FybmluZ3Muc2ltcGxlZmlsdGVyKCdpZ25vcmUnLCBEZXByZWNhdGlvbldhcm5pbmcpCiAgICAgICAgICAgICBzZWxmLmFzc2VydElzTm9uZShzZWxmLmluaXQuZmluZF9sb2FkZXIoJ25ldmVyZ29pbmd0b2ZpbmR0aGlzbW9kdWxlJykpCiAKLWNsYXNzIEZyb3plbl9GaW5kTG9hZGVyVGVzdHMoRmluZExvYWRlclRlc3RzLCB1bml0dGVzdC5UZXN0Q2FzZSk6Ci0gICAgaW5pdCA9IGZyb3plbl9pbml0CiAKLWNsYXNzIFNvdXJjZV9GaW5kTG9hZGVyVGVzdHMoRmluZExvYWRlclRlc3RzLCB1bml0dGVzdC5UZXN0Q2FzZSk6Ci0gICAgaW5pdCA9IHNvdXJjZV9pbml0CisoRnJvemVuX0ZpbmRMb2FkZXJUZXN0cywKKyBTb3VyY2VfRmluZExvYWRlclRlc3RzCisgKSA9IHRlc3RfdXRpbC50ZXN0X2JvdGgoRmluZExvYWRlclRlc3RzLCBpbml0PWluaXQpCiAKIAogY2xhc3MgUmVsb2FkVGVzdHM6CkBAIC0xOTUsMTAgKzE5MywxMCBAQAogICAgICAgICAgICAgbW9kdWxlID0gdHlwZShzeXMpKCd0b3BfbGV2ZWwnKQogICAgICAgICAgICAgbW9kdWxlLnNwYW0gPSAzCiAgICAgICAgICAgICBzeXMubW9kdWxlc1sndG9wX2xldmVsJ10gPSBtb2R1bGUKLSAgICAgICAgbW9jayA9IHV0aWwubW9ja19tb2R1bGVzKCd0b3BfbGV2ZWwnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9kdWxlX2NvZGU9eyd0b3BfbGV2ZWwnOiBjb2RlfSkKKyAgICAgICAgbW9jayA9IHRlc3RfdXRpbC5tb2NrX21vZHVsZXMoJ3RvcF9sZXZlbCcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vZHVsZV9jb2RlPXsndG9wX2xldmVsJzogY29kZX0pCiAgICAgICAgIHdpdGggbW9jazoKLSAgICAgICAgICAgIHdpdGggdXRpbC5pbXBvcnRfc3RhdGUobWV0YV9wYXRoPVttb2NrXSk6CisgICAgICAgICAgICB3aXRoIHRlc3RfdXRpbC5pbXBvcnRfc3RhdGUobWV0YV9wYXRoPVttb2NrXSk6CiAgICAgICAgICAgICAgICAgbW9kdWxlID0gc2VsZi5pbml0LmltcG9ydF9tb2R1bGUoJ3RvcF9sZXZlbCcpCiAgICAgICAgICAgICAgICAgcmVsb2FkZWQgPSBzZWxmLmluaXQucmVsb2FkKG1vZHVsZSkKICAgICAgICAgICAgICAgICBhY3R1YWwgPSBzeXMubW9kdWxlc1sndG9wX2xldmVsJ10KQEAgLTIzMCw3ICsyMjgsNyBAQAogICAgIGRlZiB0ZXN0X3JlbG9hZF9sb2NhdGlvbl9jaGFuZ2VkKHNlbGYpOgogICAgICAgICBuYW1lID0gJ3NwYW0nCiAgICAgICAgIHdpdGggc3VwcG9ydC50ZW1wX2N3ZChOb25lKSBhcyBjd2Q6Ci0gICAgICAgICAgICB3aXRoIHV0aWwudW5jYWNoZSgnc3BhbScpOgorICAgICAgICAgICAgd2l0aCB0ZXN0X3V0aWwudW5jYWNoZSgnc3BhbScpOgogICAgICAgICAgICAgICAgIHdpdGggc3VwcG9ydC5EaXJzT25TeXNQYXRoKGN3ZCk6CiAgICAgICAgICAgICAgICAgICAgICMgU3RhcnQgYXMgYSBwbGFpbiBtb2R1bGUuCiAgICAgICAgICAgICAgICAgICAgIHNlbGYuaW5pdC5pbnZhbGlkYXRlX2NhY2hlcygpCkBAIC0yODEsNyArMjc5LDcgQEAKICAgICBkZWYgdGVzdF9yZWxvYWRfbmFtZXNwYWNlX2NoYW5nZWQoc2VsZik6CiAgICAgICAgIG5hbWUgPSAnc3BhbScKICAgICAgICAgd2l0aCBzdXBwb3J0LnRlbXBfY3dkKE5vbmUpIGFzIGN3ZDoKLSAgICAgICAgICAgIHdpdGggdXRpbC51bmNhY2hlKCdzcGFtJyk6CisgICAgICAgICAgICB3aXRoIHRlc3RfdXRpbC51bmNhY2hlKCdzcGFtJyk6CiAgICAgICAgICAgICAgICAgd2l0aCBzdXBwb3J0LkRpcnNPblN5c1BhdGgoY3dkKToKICAgICAgICAgICAgICAgICAgICAgIyBTdGFydCBhcyBhIG5hbWVzcGFjZSBwYWNrYWdlLgogICAgICAgICAgICAgICAgICAgICBzZWxmLmluaXQuaW52YWxpZGF0ZV9jYWNoZXMoKQpAQCAtMzM4LDIwICszMzYsMTYgQEAKICAgICAgICAgIyBTZWUgIzE5ODUxLgogICAgICAgICBuYW1lID0gJ3NwYW0nCiAgICAgICAgIHN1Ym5hbWUgPSAnaGFtJwotICAgICAgICB3aXRoIHV0aWwudGVtcF9tb2R1bGUobmFtZSwgcGtnPVRydWUpIGFzIHBrZ19kaXI6Ci0gICAgICAgICAgICBmdWxsbmFtZSwgXyA9IHV0aWwuc3VibW9kdWxlKG5hbWUsIHN1Ym5hbWUsIHBrZ19kaXIpCisgICAgICAgIHdpdGggdGVzdF91dGlsLnRlbXBfbW9kdWxlKG5hbWUsIHBrZz1UcnVlKSBhcyBwa2dfZGlyOgorICAgICAgICAgICAgZnVsbG5hbWUsIF8gPSB0ZXN0X3V0aWwuc3VibW9kdWxlKG5hbWUsIHN1Ym5hbWUsIHBrZ19kaXIpCiAgICAgICAgICAgICBoYW0gPSBzZWxmLmluaXQuaW1wb3J0X21vZHVsZShmdWxsbmFtZSkKICAgICAgICAgICAgIHJlbG9hZGVkID0gc2VsZi5pbml0LnJlbG9hZChoYW0pCiAgICAgICAgICAgICBzZWxmLmFzc2VydElzKHJlbG9hZGVkLCBoYW0pCiAKIAotY2xhc3MgRnJvemVuX1JlbG9hZFRlc3RzKFJlbG9hZFRlc3RzLCB1bml0dGVzdC5UZXN0Q2FzZSk6Ci0gICAgaW5pdCA9IGZyb3plbl9pbml0Ci0gICAgdXRpbCA9IGZyb3plbl91dGlsCi0KLWNsYXNzIFNvdXJjZV9SZWxvYWRUZXN0cyhSZWxvYWRUZXN0cywgdW5pdHRlc3QuVGVzdENhc2UpOgotICAgIGluaXQgPSBzb3VyY2VfaW5pdAotICAgIHV0aWwgPSBzb3VyY2VfdXRpbAorKEZyb3plbl9SZWxvYWRUZXN0cywKKyBTb3VyY2VfUmVsb2FkVGVzdHMKKyApID0gdGVzdF91dGlsLnRlc3RfYm90aChSZWxvYWRUZXN0cywgaW5pdD1pbml0LCB1dGlsPXV0aWwpCiAKIAogY2xhc3MgSW52YWxpZGF0ZUNhY2hlVGVzdHM6CkBAIC0zODQsMTEgKzM3OCwxMCBAQAogICAgICAgICBzZWxmLmFkZENsZWFudXAobGFtYmRhOiBzeXMucGF0aF9pbXBvcnRlcl9jYWNoZS5fX2RlbGl0ZW1fXyhrZXkpKQogICAgICAgICBzZWxmLmluaXQuaW52YWxpZGF0ZV9jYWNoZXMoKSAgIyBTaG91bGRuJ3QgdHJpZ2dlciBhbiBleGNlcHRpb24uCiAKLWNsYXNzIEZyb3plbl9JbnZhbGlkYXRlQ2FjaGVUZXN0cyhJbnZhbGlkYXRlQ2FjaGVUZXN0cywgdW5pdHRlc3QuVGVzdENhc2UpOgotICAgIGluaXQgPSBmcm96ZW5faW5pdAogCi1jbGFzcyBTb3VyY2VfSW52YWxpZGF0ZUNhY2hlVGVzdHMoSW52YWxpZGF0ZUNhY2hlVGVzdHMsIHVuaXR0ZXN0LlRlc3RDYXNlKToKLSAgICBpbml0ID0gc291cmNlX2luaXQKKyhGcm96ZW5fSW52YWxpZGF0ZUNhY2hlVGVzdHMsCisgU291cmNlX0ludmFsaWRhdGVDYWNoZVRlc3RzCisgKSA9IHRlc3RfdXRpbC50ZXN0X2JvdGgoSW52YWxpZGF0ZUNhY2hlVGVzdHMsIGluaXQ9aW5pdCkKIAogCiBjbGFzcyBGcm96ZW5JbXBvcnRsaWJUZXN0cyh1bml0dGVzdC5UZXN0Q2FzZSk6CkBAIC0zOTgsNiArMzkxLDcgQEAKICAgICAgICAgIyBDYW4ndCBkbyBhbiBpc2luc3RhbmNlKCkgY2hlY2sgc2luY2Ugc2VwYXJhdGUgY29waWVzIG9mIGltcG9ydGxpYgogICAgICAgICAjIG1heSBoYXZlIGJlZW4gdXNlZCBmb3IgaW1wb3J0LCBzbyBqdXN0IGNoZWNrIHRoZSBuYW1lIGlzIG5vdCBmb3IgdGhlCiAgICAgICAgICMgZnJvemVuIGxvYWRlci4KKyAgICAgICAgc291cmNlX2luaXQgPSBpbml0WydTb3VyY2UnXQogICAgICAgICBzZWxmLmFzc2VydE5vdEVxdWFsKHNvdXJjZV9pbml0Ll9fbG9hZGVyX18uX19jbGFzc19fLl9fbmFtZV9fLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICdGcm96ZW5JbXBvcnRlcicpCiAKQEAgLTQyNiwxMSArNDIwLDEwIEBACiAgICAgICAgICAgICAgICAgICAgIGVsaWYgc2VsZi5tYWNoaW5lcnkuRnJvemVuSW1wb3J0ZXIuZmluZF9tb2R1bGUobmFtZSk6CiAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydElzTm90KG1vZHVsZS5fX3NwZWNfXywgTm9uZSkKIAotY2xhc3MgRnJvemVuX1N0YXJ0dXBUZXN0cyhTdGFydHVwVGVzdHMsIHVuaXR0ZXN0LlRlc3RDYXNlKToKLSAgICBtYWNoaW5lcnkgPSBmcm96ZW5fbWFjaGluZXJ5CiAKLWNsYXNzIFNvdXJjZV9TdGFydHVwVGVzdHMoU3RhcnR1cFRlc3RzLCB1bml0dGVzdC5UZXN0Q2FzZSk6Ci0gICAgbWFjaGluZXJ5ID0gc291cmNlX21hY2hpbmVyeQorKEZyb3plbl9TdGFydHVwVGVzdHMsCisgU291cmNlX1N0YXJ0dXBUZXN0cworICkgPSB0ZXN0X3V0aWwudGVzdF9ib3RoKFN0YXJ0dXBUZXN0cywgbWFjaGluZXJ5PW1hY2hpbmVyeSkKIAogCiBpZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvdGVzdF9sYXp5LnB5IGIvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvdGVzdF9sYXp5LnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJlMTkxYmIKLS0tIC9kZXYvbnVsbAorKysgYi9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi90ZXN0X2xhenkucHkKQEAgLTAsMCArMSwxMzIgQEAKK2ltcG9ydCBpbXBvcnRsaWIKK2Zyb20gaW1wb3J0bGliIGltcG9ydCBhYmMKK2Zyb20gaW1wb3J0bGliIGltcG9ydCB1dGlsCitpbXBvcnQgdW5pdHRlc3QKKworZnJvbSAuIGltcG9ydCB1dGlsIGFzIHRlc3RfdXRpbAorCisKK2NsYXNzIENvbGxlY3RJbml0OgorCisgICAgZGVmIF9faW5pdF9fKHNlbGYsICphcmdzLCAqKmt3YXJncyk6CisgICAgICAgIHNlbGYuYXJncyA9IGFyZ3MKKyAgICAgICAgc2VsZi5rd2FyZ3MgPSBrd2FyZ3MKKworICAgIGRlZiBleGVjX21vZHVsZShzZWxmLCBtb2R1bGUpOgorICAgICAgICByZXR1cm4gc2VsZgorCisKK2NsYXNzIExhenlMb2FkZXJGYWN0b3J5VGVzdHModW5pdHRlc3QuVGVzdENhc2UpOgorCisgICAgZGVmIHRlc3RfaW5pdChzZWxmKToKKyAgICAgICAgZmFjdG9yeSA9IHV0aWwuTGF6eUxvYWRlci5mYWN0b3J5KENvbGxlY3RJbml0KQorICAgICAgICAjIEUuZy4gd2hhdCBpbXBvcnRsaWIubWFjaGluZXJ5LkZpbGVGaW5kZXIgaW5zdGFudGlhdGVzIGxvYWRlcnMgd2l0aAorICAgICAgICAjIHBsdXMga2V5d29yZCBhcmd1bWVudHMuCisgICAgICAgIGxhenlfbG9hZGVyID0gZmFjdG9yeSgnbW9kdWxlIG5hbWUnLCAnbW9kdWxlIHBhdGgnLCBrdz0na3cnKQorICAgICAgICBsb2FkZXIgPSBsYXp5X2xvYWRlci5sb2FkZXIKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgoJ21vZHVsZSBuYW1lJywgJ21vZHVsZSBwYXRoJyksIGxvYWRlci5hcmdzKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHsna3cnOiAna3cnfSwgbG9hZGVyLmt3YXJncykKKworICAgIGRlZiB0ZXN0X3ZhbGlkYXRpb24oc2VsZik6CisgICAgICAgICMgTm8gZXhlY19tb2R1bGUoKSwgbm8gbGF6eSBsb2FkaW5nLgorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvcik6CisgICAgICAgICAgICB1dGlsLkxhenlMb2FkZXIuZmFjdG9yeShvYmplY3QpCisKKworY2xhc3MgVGVzdGluZ0ltcG9ydGVyKGFiYy5NZXRhUGF0aEZpbmRlciwgYWJjLkxvYWRlcik6CisKKyAgICBtb2R1bGVfbmFtZSA9ICdsYXp5X2xvYWRlcl90ZXN0JworICAgIG11dGF0ZWRfbmFtZSA9ICdjaGFuZ2VkJworICAgIGxvYWRlZCA9IE5vbmUKKyAgICBzb3VyY2VfY29kZSA9ICdhdHRyID0gNDI7IF9fbmFtZV9fID0geyFyfScuZm9ybWF0KG11dGF0ZWRfbmFtZSkKKworICAgIGRlZiBmaW5kX3NwZWMoc2VsZiwgbmFtZSwgcGF0aCwgdGFyZ2V0PU5vbmUpOgorICAgICAgICBpZiBuYW1lICE9IHNlbGYubW9kdWxlX25hbWU6CisgICAgICAgICAgICByZXR1cm4gTm9uZQorICAgICAgICByZXR1cm4gdXRpbC5zcGVjX2Zyb21fbG9hZGVyKG5hbWUsIHV0aWwuTGF6eUxvYWRlcihzZWxmKSkKKworICAgIGRlZiBleGVjX21vZHVsZShzZWxmLCBtb2R1bGUpOgorICAgICAgICBleGVjKHNlbGYuc291cmNlX2NvZGUsIG1vZHVsZS5fX2RpY3RfXykKKyAgICAgICAgc2VsZi5sb2FkZWQgPSBtb2R1bGUKKworCitjbGFzcyBMYXp5TG9hZGVyVGVzdHModW5pdHRlc3QuVGVzdENhc2UpOgorCisgICAgZGVmIHRlc3RfaW5pdChzZWxmKToKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IpOgorICAgICAgICAgICAgdXRpbC5MYXp5TG9hZGVyKG9iamVjdCkKKworICAgIGRlZiBuZXdfbW9kdWxlKHNlbGYsIHNvdXJjZV9jb2RlPU5vbmUpOgorICAgICAgICBsb2FkZXIgPSBUZXN0aW5nSW1wb3J0ZXIoKQorICAgICAgICBpZiBzb3VyY2VfY29kZSBpcyBub3QgTm9uZToKKyAgICAgICAgICAgIGxvYWRlci5zb3VyY2VfY29kZSA9IHNvdXJjZV9jb2RlCisgICAgICAgIHNwZWMgPSB1dGlsLnNwZWNfZnJvbV9sb2FkZXIoVGVzdGluZ0ltcG9ydGVyLm1vZHVsZV9uYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHV0aWwuTGF6eUxvYWRlcihsb2FkZXIpKQorICAgICAgICBtb2R1bGUgPSBzcGVjLmxvYWRlci5jcmVhdGVfbW9kdWxlKHNwZWMpCisgICAgICAgIG1vZHVsZS5fX3NwZWNfXyA9IHNwZWMKKyAgICAgICAgbW9kdWxlLl9fbG9hZGVyX18gPSBzcGVjLmxvYWRlcgorICAgICAgICBzcGVjLmxvYWRlci5leGVjX21vZHVsZShtb2R1bGUpCisgICAgICAgICMgTW9kdWxlIGlzIG5vdyBsYXp5LgorICAgICAgICBzZWxmLmFzc2VydElzTm9uZShsb2FkZXIubG9hZGVkKQorICAgICAgICByZXR1cm4gbW9kdWxlCisKKyAgICBkZWYgdGVzdF9lMmUoc2VsZik6CisgICAgICAgICMgRW5kLXRvLWVuZCB0ZXN0IHRvIHZlcmlmeSB0aGUgbG9hZCBpcyBpbiBmYWN0IGxhenkuCisgICAgICAgIGltcG9ydGVyID0gVGVzdGluZ0ltcG9ydGVyKCkKKyAgICAgICAgYXNzZXJ0IGltcG9ydGVyLmxvYWRlZCBpcyBOb25lCisgICAgICAgIHdpdGggdGVzdF91dGlsLnVuY2FjaGUoaW1wb3J0ZXIubW9kdWxlX25hbWUpOgorICAgICAgICAgICAgd2l0aCB0ZXN0X3V0aWwuaW1wb3J0X3N0YXRlKG1ldGFfcGF0aD1baW1wb3J0ZXJdKToKKyAgICAgICAgICAgICAgICBtb2R1bGUgPSBpbXBvcnRsaWIuaW1wb3J0X21vZHVsZShpbXBvcnRlci5tb2R1bGVfbmFtZSkKKyAgICAgICAgc2VsZi5hc3NlcnRJc05vbmUoaW1wb3J0ZXIubG9hZGVkKQorICAgICAgICAjIFRyaWdnZXIgbG9hZC4KKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtb2R1bGUuX19sb2FkZXJfXywgaW1wb3J0ZXIpCisgICAgICAgIHNlbGYuYXNzZXJ0SXNOb3ROb25lKGltcG9ydGVyLmxvYWRlZCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtb2R1bGUsIGltcG9ydGVyLmxvYWRlZCkKKworICAgIGRlZiB0ZXN0X2F0dHJfdW5jaGFuZ2VkKHNlbGYpOgorICAgICAgICAjIEFuIGF0dHJpYnV0ZSBvbmx5IG11dGF0ZWQgYXMgYSBzaWRlLWVmZmVjdCBvZiBpbXBvcnQgc2hvdWxkIG5vdCBiZQorICAgICAgICAjIGNoYW5nZWQgbmVlZGxlc3NseS4KKyAgICAgICAgbW9kdWxlID0gc2VsZi5uZXdfbW9kdWxlKCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChUZXN0aW5nSW1wb3J0ZXIubXV0YXRlZF9uYW1lLCBtb2R1bGUuX19uYW1lX18pCisKKyAgICBkZWYgdGVzdF9uZXdfYXR0cihzZWxmKToKKyAgICAgICAgIyBBIG5ldyBhdHRyaWJ1dGUgc2hvdWxkIHBlcnNpc3QuCisgICAgICAgIG1vZHVsZSA9IHNlbGYubmV3X21vZHVsZSgpCisgICAgICAgIG1vZHVsZS5uZXdfYXR0ciA9IDQyCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoNDIsIG1vZHVsZS5uZXdfYXR0cikKKworICAgIGRlZiB0ZXN0X211dGF0ZWRfcHJlZXhpc3RpbmdfYXR0cihzZWxmKToKKyAgICAgICAgIyBDaGFuZ2luZyBhbiBhdHRyaWJ1dGUgdGhhdCBhbHJlYWR5IGV4aXN0ZWQgb24gdGhlIG1vZHVsZSAtLQorICAgICAgICAjIGUuZy4gX19uYW1lX18gLS0gc2hvdWxkIHBlcnNpc3QuCisgICAgICAgIG1vZHVsZSA9IHNlbGYubmV3X21vZHVsZSgpCisgICAgICAgIG1vZHVsZS5fX25hbWVfXyA9ICdib2d1cycKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgnYm9ndXMnLCBtb2R1bGUuX19uYW1lX18pCisKKyAgICBkZWYgdGVzdF9tdXRhdGVkX2F0dHIoc2VsZik6CisgICAgICAgICMgQ2hhbmdpbmcgYW4gYXR0cmlidXRlIHRoYXQgY29tZXMgaW50byBleGlzdGVuY2UgYWZ0ZXIgYW4gaW1wb3J0CisgICAgICAgICMgc2hvdWxkIHBlcnNpc3QuCisgICAgICAgIG1vZHVsZSA9IHNlbGYubmV3X21vZHVsZSgpCisgICAgICAgIG1vZHVsZS5hdHRyID0gNgorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKDYsIG1vZHVsZS5hdHRyKQorCisgICAgZGVmIHRlc3RfZGVsZXRlX2V2ZW50dWFsX2F0dHIoc2VsZik6CisgICAgICAgICMgRGVsZXRpbmcgYW4gYXR0cmlidXRlIHNob3VsZCBzdGF5IGRlbGV0ZWQuCisgICAgICAgIG1vZHVsZSA9IHNlbGYubmV3X21vZHVsZSgpCisgICAgICAgIGRlbCBtb2R1bGUuYXR0cgorICAgICAgICBzZWxmLmFzc2VydEZhbHNlKGhhc2F0dHIobW9kdWxlLCAnYXR0cicpKQorCisgICAgZGVmIHRlc3RfZGVsZXRlX3ByZWV4aXN0aW5nX2F0dHIoc2VsZik6CisgICAgICAgIG1vZHVsZSA9IHNlbGYubmV3X21vZHVsZSgpCisgICAgICAgIGRlbCBtb2R1bGUuX19uYW1lX18KKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShoYXNhdHRyKG1vZHVsZSwgJ19fbmFtZV9fJykpCisKKyAgICBkZWYgdGVzdF9tb2R1bGVfc3Vic3RpdHV0aW9uX2Vycm9yKHNlbGYpOgorICAgICAgICBzb3VyY2VfY29kZSA9ICdpbXBvcnQgc3lzOyBzeXMubW9kdWxlc1tfX25hbWVfX10gPSA0MicKKyAgICAgICAgbW9kdWxlID0gc2VsZi5uZXdfbW9kdWxlKHNvdXJjZV9jb2RlKQorICAgICAgICB3aXRoIHRlc3RfdXRpbC51bmNhY2hlKFRlc3RpbmdJbXBvcnRlci5tb2R1bGVfbmFtZSk6CisgICAgICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IpOgorICAgICAgICAgICAgICAgIG1vZHVsZS5fX25hbWVfXworCisKK2lmIF9fbmFtZV9fID09ICdfX21haW5fXyc6CisgICAgdW5pdHRlc3QubWFpbigpCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi90ZXN0X2xvY2tzLnB5IGIvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvdGVzdF9sb2Nrcy5weQppbmRleCBkYzk3YmExLi5kZjBhZjEyIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi90ZXN0X2xvY2tzLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL3Rlc3RfbG9ja3MucHkKQEAgLTEsNyArMSw2IEBACi1mcm9tIC4gaW1wb3J0IHV0aWwKLWZyb3plbl9pbml0LCBzb3VyY2VfaW5pdCA9IHV0aWwuaW1wb3J0X2ltcG9ydGxpYignaW1wb3J0bGliJykKLWZyb3plbl9ib290c3RyYXAgPSBmcm96ZW5faW5pdC5fYm9vdHN0cmFwCi1zb3VyY2VfYm9vdHN0cmFwID0gc291cmNlX2luaXQuX2Jvb3RzdHJhcAorZnJvbSAuIGltcG9ydCB1dGlsIGFzIHRlc3RfdXRpbAorCitpbml0ID0gdGVzdF91dGlsLmltcG9ydF9pbXBvcnRsaWIoJ2ltcG9ydGxpYicpCiAKIGltcG9ydCBzeXMKIGltcG9ydCB0aW1lCkBAIC0zMiwxNCArMzEsMjAgQEAKICAgICAgICAgdGVzdF90aW1lb3V0ID0gTm9uZQogICAgICAgICAjIF9yZWxlYXNlX3NhdmUoKSB1bnN1cHBvcnRlZAogICAgICAgICB0ZXN0X3JlbGVhc2Vfc2F2ZV91bmFjcXVpcmVkID0gTm9uZQorICAgICAgICAjIGxvY2sgc3RhdHVzIGluIHJlcHIgdW5zdXBwb3J0ZWQKKyAgICAgICAgdGVzdF9yZXByID0gTm9uZQorICAgICAgICB0ZXN0X2xvY2tlZF9yZXByID0gTm9uZQogCi0gICAgY2xhc3MgRnJvemVuX01vZHVsZUxvY2tBc1JMb2NrVGVzdHMoTW9kdWxlTG9ja0FzUkxvY2tUZXN0cywgbG9ja190ZXN0cy5STG9ja1Rlc3RzKToKLSAgICAgICAgTG9ja1R5cGUgPSBmcm96ZW5fYm9vdHN0cmFwLl9Nb2R1bGVMb2NrCisgICAgTE9DS19UWVBFUyA9IHtraW5kOiBzcGxpdGluaXQuX2Jvb3RzdHJhcC5fTW9kdWxlTG9jaworICAgICAgICAgICAgICAgICAgZm9yIGtpbmQsIHNwbGl0aW5pdCBpbiBpbml0Lml0ZW1zKCl9CiAKLSAgICBjbGFzcyBTb3VyY2VfTW9kdWxlTG9ja0FzUkxvY2tUZXN0cyhNb2R1bGVMb2NrQXNSTG9ja1Rlc3RzLCBsb2NrX3Rlc3RzLlJMb2NrVGVzdHMpOgotICAgICAgICBMb2NrVHlwZSA9IHNvdXJjZV9ib290c3RyYXAuX01vZHVsZUxvY2sKLQorICAgIChGcm96ZW5fTW9kdWxlTG9ja0FzUkxvY2tUZXN0cywKKyAgICAgU291cmNlX01vZHVsZUxvY2tBc1JMb2NrVGVzdHMKKyAgICAgKSA9IHRlc3RfdXRpbC50ZXN0X2JvdGgoTW9kdWxlTG9ja0FzUkxvY2tUZXN0cywgbG9ja190ZXN0cy5STG9ja1Rlc3RzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMb2NrVHlwZT1MT0NLX1RZUEVTKQogZWxzZToKKyAgICBMT0NLX1RZUEVTID0ge30KKwogICAgIGNsYXNzIEZyb3plbl9Nb2R1bGVMb2NrQXNSTG9ja1Rlc3RzKHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgcGFzcwogCkBAIC00Nyw3OCArNTIsOTQgQEAKICAgICAgICAgcGFzcwogCiAKLWNsYXNzIERlYWRsb2NrQXZvaWRhbmNlVGVzdHM6CitpZiB0aHJlYWRpbmcgaXMgbm90IE5vbmU6CisgICAgY2xhc3MgRGVhZGxvY2tBdm9pZGFuY2VUZXN0czoKIAotICAgIGRlZiBzZXRVcChzZWxmKToKLSAgICAgICAgdHJ5OgotICAgICAgICAgICAgc2VsZi5vbGRfc3dpdGNoaW50ZXJ2YWwgPSBzeXMuZ2V0c3dpdGNoaW50ZXJ2YWwoKQotICAgICAgICAgICAgc3lzLnNldHN3aXRjaGludGVydmFsKDAuMDAwMDAxKQotICAgICAgICBleGNlcHQgQXR0cmlidXRlRXJyb3I6Ci0gICAgICAgICAgICBzZWxmLm9sZF9zd2l0Y2hpbnRlcnZhbCA9IE5vbmUKLQotICAgIGRlZiB0ZWFyRG93bihzZWxmKToKLSAgICAgICAgaWYgc2VsZi5vbGRfc3dpdGNoaW50ZXJ2YWwgaXMgbm90IE5vbmU6Ci0gICAgICAgICAgICBzeXMuc2V0c3dpdGNoaW50ZXJ2YWwoc2VsZi5vbGRfc3dpdGNoaW50ZXJ2YWwpCi0KLSAgICBkZWYgcnVuX2RlYWRsb2NrX2F2b2lkYW5jZV90ZXN0KHNlbGYsIGNyZWF0ZV9kZWFkbG9jayk6Ci0gICAgICAgIE5MT0NLUyA9IDEwCi0gICAgICAgIGxvY2tzID0gW3NlbGYuTG9ja1R5cGUoc3RyKGkpKSBmb3IgaSBpbiByYW5nZShOTE9DS1MpXQotICAgICAgICBwYWlycyA9IFsobG9ja3NbaV0sIGxvY2tzWyhpKzEpJU5MT0NLU10pIGZvciBpIGluIHJhbmdlKE5MT0NLUyldCi0gICAgICAgIGlmIGNyZWF0ZV9kZWFkbG9jazoKLSAgICAgICAgICAgIE5USFJFQURTID0gTkxPQ0tTCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBOVEhSRUFEUyA9IE5MT0NLUyAtIDEKLSAgICAgICAgYmFycmllciA9IHRocmVhZGluZy5CYXJyaWVyKE5USFJFQURTKQotICAgICAgICByZXN1bHRzID0gW10KLSAgICAgICAgZGVmIF9hY3F1aXJlKGxvY2spOgotICAgICAgICAgICAgIiIiVHJ5IHRvIGFjcXVpcmUgdGhlIGxvY2suIFJldHVybiBUcnVlIG9uIHN1Y2Nlc3MsIEZhbHNlIG9uIGRlYWRsb2NrLiIiIgorICAgICAgICBkZWYgc2V0VXAoc2VsZik6CiAgICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgbG9jay5hY3F1aXJlKCkKLSAgICAgICAgICAgIGV4Y2VwdCBzZWxmLkRlYWRsb2NrRXJyb3I6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIEZhbHNlCisgICAgICAgICAgICAgICAgc2VsZi5vbGRfc3dpdGNoaW50ZXJ2YWwgPSBzeXMuZ2V0c3dpdGNoaW50ZXJ2YWwoKQorICAgICAgICAgICAgICAgIHN5cy5zZXRzd2l0Y2hpbnRlcnZhbCgwLjAwMDAwMSkKKyAgICAgICAgICAgIGV4Y2VwdCBBdHRyaWJ1dGVFcnJvcjoKKyAgICAgICAgICAgICAgICBzZWxmLm9sZF9zd2l0Y2hpbnRlcnZhbCA9IE5vbmUKKworICAgICAgICBkZWYgdGVhckRvd24oc2VsZik6CisgICAgICAgICAgICBpZiBzZWxmLm9sZF9zd2l0Y2hpbnRlcnZhbCBpcyBub3QgTm9uZToKKyAgICAgICAgICAgICAgICBzeXMuc2V0c3dpdGNoaW50ZXJ2YWwoc2VsZi5vbGRfc3dpdGNoaW50ZXJ2YWwpCisKKyAgICAgICAgZGVmIHJ1bl9kZWFkbG9ja19hdm9pZGFuY2VfdGVzdChzZWxmLCBjcmVhdGVfZGVhZGxvY2spOgorICAgICAgICAgICAgTkxPQ0tTID0gMTAKKyAgICAgICAgICAgIGxvY2tzID0gW3NlbGYuTG9ja1R5cGUoc3RyKGkpKSBmb3IgaSBpbiByYW5nZShOTE9DS1MpXQorICAgICAgICAgICAgcGFpcnMgPSBbKGxvY2tzW2ldLCBsb2Nrc1soaSsxKSVOTE9DS1NdKSBmb3IgaSBpbiByYW5nZShOTE9DS1MpXQorICAgICAgICAgICAgaWYgY3JlYXRlX2RlYWRsb2NrOgorICAgICAgICAgICAgICAgIE5USFJFQURTID0gTkxPQ0tTCiAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIHJldHVybiBUcnVlCi0gICAgICAgIGRlZiBmKCk6Ci0gICAgICAgICAgICBhLCBiID0gcGFpcnMucG9wKCkKLSAgICAgICAgICAgIHJhID0gX2FjcXVpcmUoYSkKLSAgICAgICAgICAgIGJhcnJpZXIud2FpdCgpCi0gICAgICAgICAgICByYiA9IF9hY3F1aXJlKGIpCi0gICAgICAgICAgICByZXN1bHRzLmFwcGVuZCgocmEsIHJiKSkKLSAgICAgICAgICAgIGlmIHJiOgotICAgICAgICAgICAgICAgIGIucmVsZWFzZSgpCi0gICAgICAgICAgICBpZiByYToKLSAgICAgICAgICAgICAgICBhLnJlbGVhc2UoKQotICAgICAgICBsb2NrX3Rlc3RzLkJ1bmNoKGYsIE5USFJFQURTKS53YWl0X2Zvcl9maW5pc2hlZCgpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKHJlc3VsdHMpLCBOVEhSRUFEUykKLSAgICAgICAgcmV0dXJuIHJlc3VsdHMKKyAgICAgICAgICAgICAgICBOVEhSRUFEUyA9IE5MT0NLUyAtIDEKKyAgICAgICAgICAgIGJhcnJpZXIgPSB0aHJlYWRpbmcuQmFycmllcihOVEhSRUFEUykKKyAgICAgICAgICAgIHJlc3VsdHMgPSBbXQogCi0gICAgZGVmIHRlc3RfZGVhZGxvY2soc2VsZik6Ci0gICAgICAgIHJlc3VsdHMgPSBzZWxmLnJ1bl9kZWFkbG9ja19hdm9pZGFuY2VfdGVzdChUcnVlKQotICAgICAgICAjIEF0IGxlYXN0IG9uZSBvZiB0aGUgdGhyZWFkcyBkZXRlY3RlZCBhIHBvdGVudGlhbCBkZWFkbG9jayBvbiBpdHMKLSAgICAgICAgIyBzZWNvbmQgYWNxdWlyZSgpIGNhbGwuICBJdCBtYXkgYmUgc2V2ZXJhbCBvZiB0aGVtLCBiZWNhdXNlIHRoZQotICAgICAgICAjIGRlYWRsb2NrIGF2b2lkYW5jZSBtZWNoYW5pc20gaXMgY29uc2VydmF0aXZlLgotICAgICAgICBuYl9kZWFkbG9ja3MgPSByZXN1bHRzLmNvdW50KChUcnVlLCBGYWxzZSkpCi0gICAgICAgIHNlbGYuYXNzZXJ0R3JlYXRlckVxdWFsKG5iX2RlYWRsb2NrcywgMSkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZXN1bHRzLmNvdW50KChUcnVlLCBUcnVlKSksIGxlbihyZXN1bHRzKSAtIG5iX2RlYWRsb2NrcykKKyAgICAgICAgICAgIGRlZiBfYWNxdWlyZShsb2NrKToKKyAgICAgICAgICAgICAgICAiIiJUcnkgdG8gYWNxdWlyZSB0aGUgbG9jay4gUmV0dXJuIFRydWUgb24gc3VjY2VzcywKKyAgICAgICAgICAgICAgICBGYWxzZSBvbiBkZWFkbG9jay4iIiIKKyAgICAgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgICAgIGxvY2suYWNxdWlyZSgpCisgICAgICAgICAgICAgICAgZXhjZXB0IHNlbGYuRGVhZGxvY2tFcnJvcjoKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEZhbHNlCisgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFRydWUKIAotICAgIGRlZiB0ZXN0X25vX2RlYWRsb2NrKHNlbGYpOgotICAgICAgICByZXN1bHRzID0gc2VsZi5ydW5fZGVhZGxvY2tfYXZvaWRhbmNlX3Rlc3QoRmFsc2UpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVzdWx0cy5jb3VudCgoVHJ1ZSwgRmFsc2UpKSwgMCkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZXN1bHRzLmNvdW50KChUcnVlLCBUcnVlKSksIGxlbihyZXN1bHRzKSkKKyAgICAgICAgICAgIGRlZiBmKCk6CisgICAgICAgICAgICAgICAgYSwgYiA9IHBhaXJzLnBvcCgpCisgICAgICAgICAgICAgICAgcmEgPSBfYWNxdWlyZShhKQorICAgICAgICAgICAgICAgIGJhcnJpZXIud2FpdCgpCisgICAgICAgICAgICAgICAgcmIgPSBfYWNxdWlyZShiKQorICAgICAgICAgICAgICAgIHJlc3VsdHMuYXBwZW5kKChyYSwgcmIpKQorICAgICAgICAgICAgICAgIGlmIHJiOgorICAgICAgICAgICAgICAgICAgICBiLnJlbGVhc2UoKQorICAgICAgICAgICAgICAgIGlmIHJhOgorICAgICAgICAgICAgICAgICAgICBhLnJlbGVhc2UoKQorICAgICAgICAgICAgbG9ja190ZXN0cy5CdW5jaChmLCBOVEhSRUFEUykud2FpdF9mb3JfZmluaXNoZWQoKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4ocmVzdWx0cyksIE5USFJFQURTKQorICAgICAgICAgICAgcmV0dXJuIHJlc3VsdHMKIAotQHVuaXR0ZXN0LnNraXBVbmxlc3ModGhyZWFkaW5nLCAidGhyZWFkcyBuZWVkZWQgZm9yIHRoaXMgdGVzdCIpCi1jbGFzcyBGcm96ZW5fRGVhZGxvY2tBdm9pZGFuY2VUZXN0cyhEZWFkbG9ja0F2b2lkYW5jZVRlc3RzLCB1bml0dGVzdC5UZXN0Q2FzZSk6Ci0gICAgTG9ja1R5cGUgPSBmcm96ZW5fYm9vdHN0cmFwLl9Nb2R1bGVMb2NrCi0gICAgRGVhZGxvY2tFcnJvciA9IGZyb3plbl9ib290c3RyYXAuX0RlYWRsb2NrRXJyb3IKKyAgICAgICAgZGVmIHRlc3RfZGVhZGxvY2soc2VsZik6CisgICAgICAgICAgICByZXN1bHRzID0gc2VsZi5ydW5fZGVhZGxvY2tfYXZvaWRhbmNlX3Rlc3QoVHJ1ZSkKKyAgICAgICAgICAgICMgQXQgbGVhc3Qgb25lIG9mIHRoZSB0aHJlYWRzIGRldGVjdGVkIGEgcG90ZW50aWFsIGRlYWRsb2NrIG9uIGl0cworICAgICAgICAgICAgIyBzZWNvbmQgYWNxdWlyZSgpIGNhbGwuICBJdCBtYXkgYmUgc2V2ZXJhbCBvZiB0aGVtLCBiZWNhdXNlIHRoZQorICAgICAgICAgICAgIyBkZWFkbG9jayBhdm9pZGFuY2UgbWVjaGFuaXNtIGlzIGNvbnNlcnZhdGl2ZS4KKyAgICAgICAgICAgIG5iX2RlYWRsb2NrcyA9IHJlc3VsdHMuY291bnQoKFRydWUsIEZhbHNlKSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0R3JlYXRlckVxdWFsKG5iX2RlYWRsb2NrcywgMSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVzdWx0cy5jb3VudCgoVHJ1ZSwgVHJ1ZSkpLCBsZW4ocmVzdWx0cykgLSBuYl9kZWFkbG9ja3MpCiAKLUB1bml0dGVzdC5za2lwVW5sZXNzKHRocmVhZGluZywgInRocmVhZHMgbmVlZGVkIGZvciB0aGlzIHRlc3QiKQotY2xhc3MgU291cmNlX0RlYWRsb2NrQXZvaWRhbmNlVGVzdHMoRGVhZGxvY2tBdm9pZGFuY2VUZXN0cywgdW5pdHRlc3QuVGVzdENhc2UpOgotICAgIExvY2tUeXBlID0gc291cmNlX2Jvb3RzdHJhcC5fTW9kdWxlTG9jawotICAgIERlYWRsb2NrRXJyb3IgPSBzb3VyY2VfYm9vdHN0cmFwLl9EZWFkbG9ja0Vycm9yCisgICAgICAgIGRlZiB0ZXN0X25vX2RlYWRsb2NrKHNlbGYpOgorICAgICAgICAgICAgcmVzdWx0cyA9IHNlbGYucnVuX2RlYWRsb2NrX2F2b2lkYW5jZV90ZXN0KEZhbHNlKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZXN1bHRzLmNvdW50KChUcnVlLCBGYWxzZSkpLCAwKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZXN1bHRzLmNvdW50KChUcnVlLCBUcnVlKSksIGxlbihyZXN1bHRzKSkKKworCisgICAgREVBRExPQ0tfRVJST1JTID0ge2tpbmQ6IHNwbGl0aW5pdC5fYm9vdHN0cmFwLl9EZWFkbG9ja0Vycm9yCisgICAgICAgICAgICAgICAgICAgICAgIGZvciBraW5kLCBzcGxpdGluaXQgaW4gaW5pdC5pdGVtcygpfQorCisgICAgKEZyb3plbl9EZWFkbG9ja0F2b2lkYW5jZVRlc3RzLAorICAgICBTb3VyY2VfRGVhZGxvY2tBdm9pZGFuY2VUZXN0cworICAgICApID0gdGVzdF91dGlsLnRlc3RfYm90aChEZWFkbG9ja0F2b2lkYW5jZVRlc3RzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMb2NrVHlwZT1MT0NLX1RZUEVTLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZWFkbG9ja0Vycm9yPURFQURMT0NLX0VSUk9SUykKK2Vsc2U6CisgICAgREVBRExPQ0tfRVJST1JTID0ge30KKworICAgIGNsYXNzIEZyb3plbl9EZWFkbG9ja0F2b2lkYW5jZVRlc3RzKHVuaXR0ZXN0LlRlc3RDYXNlKToKKyAgICAgICAgcGFzcworCisgICAgY2xhc3MgU291cmNlX0RlYWRsb2NrQXZvaWRhbmNlVGVzdHModW5pdHRlc3QuVGVzdENhc2UpOgorICAgICAgICBwYXNzCiAKIAogY2xhc3MgTGlmZXRpbWVUZXN0czoKIAorICAgIEBwcm9wZXJ0eQorICAgIGRlZiBib290c3RyYXAoc2VsZik6CisgICAgICAgIHJldHVybiBzZWxmLmluaXQuX2Jvb3RzdHJhcAorCiAgICAgZGVmIHRlc3RfbG9ja19saWZldGltZShzZWxmKToKICAgICAgICAgbmFtZSA9ICJ4eXp6eSIKICAgICAgICAgc2VsZi5hc3NlcnROb3RJbihuYW1lLCBzZWxmLmJvb3RzdHJhcC5fbW9kdWxlX2xvY2tzKQpAQCAtMTM1LDExICsxNTYsMTAgQEAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgwLCBsZW4oc2VsZi5ib290c3RyYXAuX21vZHVsZV9sb2NrcyksCiAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5ib290c3RyYXAuX21vZHVsZV9sb2NrcykKIAotY2xhc3MgRnJvemVuX0xpZmV0aW1lVGVzdHMoTGlmZXRpbWVUZXN0cywgdW5pdHRlc3QuVGVzdENhc2UpOgotICAgIGJvb3RzdHJhcCA9IGZyb3plbl9ib290c3RyYXAKIAotY2xhc3MgU291cmNlX0xpZmV0aW1lVGVzdHMoTGlmZXRpbWVUZXN0cywgdW5pdHRlc3QuVGVzdENhc2UpOgotICAgIGJvb3RzdHJhcCA9IHNvdXJjZV9ib290c3RyYXAKKyhGcm96ZW5fTGlmZXRpbWVUZXN0cywKKyBTb3VyY2VfTGlmZXRpbWVUZXN0cworICkgPSB0ZXN0X3V0aWwudGVzdF9ib3RoKExpZmV0aW1lVGVzdHMsIGluaXQ9aW5pdCkKIAogCiBAc3VwcG9ydC5yZWFwX3RocmVhZHMKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL3Rlc3Rfc3BlYy5weSBiL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL3Rlc3Rfc3BlYy5weQppbmRleCA3MTU0MWY2Li44YjMzM2U4IDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi90ZXN0X3NwZWMucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvdGVzdF9zcGVjLnB5CkBAIC0xLDEwICsxLDggQEAKLWZyb20gLiBpbXBvcnQgdXRpbAorZnJvbSAuIGltcG9ydCB1dGlsIGFzIHRlc3RfdXRpbAogCi1mcm96ZW5faW5pdCwgc291cmNlX2luaXQgPSB1dGlsLmltcG9ydF9pbXBvcnRsaWIoJ2ltcG9ydGxpYicpCi1mcm96ZW5fYm9vdHN0cmFwID0gZnJvemVuX2luaXQuX2Jvb3RzdHJhcAotc291cmNlX2Jvb3RzdHJhcCA9IHNvdXJjZV9pbml0Ll9ib290c3RyYXAKLWZyb3plbl9tYWNoaW5lcnksIHNvdXJjZV9tYWNoaW5lcnkgPSB1dGlsLmltcG9ydF9pbXBvcnRsaWIoJ2ltcG9ydGxpYi5tYWNoaW5lcnknKQotZnJvemVuX3V0aWwsIHNvdXJjZV91dGlsID0gdXRpbC5pbXBvcnRfaW1wb3J0bGliKCdpbXBvcnRsaWIudXRpbCcpCitpbml0ID0gdGVzdF91dGlsLmltcG9ydF9pbXBvcnRsaWIoJ2ltcG9ydGxpYicpCittYWNoaW5lcnkgPSB0ZXN0X3V0aWwuaW1wb3J0X2ltcG9ydGxpYignaW1wb3J0bGliLm1hY2hpbmVyeScpCit1dGlsID0gdGVzdF91dGlsLmltcG9ydF9pbXBvcnRsaWIoJ2ltcG9ydGxpYi51dGlsJykKIAogaW1wb3J0IG9zLnBhdGgKIGZyb20gdGVzdC5zdXBwb3J0IGltcG9ydCBDbGVhbkltcG9ydApAQCAtMzYsNiArMzQsOSBAQAogICAgIGRlZiBfaXNfcGFja2FnZShzZWxmLCBuYW1lKToKICAgICAgICAgcmV0dXJuIHNlbGYucGFja2FnZQogCisgICAgZGVmIGNyZWF0ZV9tb2R1bGUoc2VsZiwgc3BlYyk6CisgICAgICAgIHJldHVybiBOb25lCisKIAogY2xhc3MgTmV3TG9hZGVyKFRlc3RMb2FkZXIpOgogCkBAIC01Miw2ICs1Myw4IEBACiAgICAgd2l0aCB3YXJuaW5ncy5jYXRjaF93YXJuaW5ncygpOgogICAgICAgICB3YXJuaW5ncy5zaW1wbGVmaWx0ZXIoImlnbm9yZSIsIERlcHJlY2F0aW9uV2FybmluZykKIAorICAgICAgICBmcm96ZW5fdXRpbCA9IHV0aWxbJ0Zyb3plbiddCisKICAgICAgICAgQGZyb3plbl91dGlsLm1vZHVsZV9mb3JfbG9hZGVyCiAgICAgICAgIGRlZiBsb2FkX21vZHVsZShzZWxmLCBtb2R1bGUpOgogICAgICAgICAgICAgbW9kdWxlLmhhbSA9IHNlbGYuSEFNCkBAIC0yMjEsMTggKzIyNCwxNyBAQAogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYubG9jX3NwZWMuY2FjaGVkLCAnc3BhbS5weWMnKQogCiAKLWNsYXNzIEZyb3plbl9Nb2R1bGVTcGVjVGVzdHMoTW9kdWxlU3BlY1Rlc3RzLCB1bml0dGVzdC5UZXN0Q2FzZSk6Ci0gICAgdXRpbCA9IGZyb3plbl91dGlsCi0gICAgbWFjaGluZXJ5ID0gZnJvemVuX21hY2hpbmVyeQotCi0KLWNsYXNzIFNvdXJjZV9Nb2R1bGVTcGVjVGVzdHMoTW9kdWxlU3BlY1Rlc3RzLCB1bml0dGVzdC5UZXN0Q2FzZSk6Ci0gICAgdXRpbCA9IHNvdXJjZV91dGlsCi0gICAgbWFjaGluZXJ5ID0gc291cmNlX21hY2hpbmVyeQorKEZyb3plbl9Nb2R1bGVTcGVjVGVzdHMsCisgU291cmNlX01vZHVsZVNwZWNUZXN0cworICkgPSB0ZXN0X3V0aWwudGVzdF9ib3RoKE1vZHVsZVNwZWNUZXN0cywgdXRpbD11dGlsLCBtYWNoaW5lcnk9bWFjaGluZXJ5KQogCiAKIGNsYXNzIE1vZHVsZVNwZWNNZXRob2RzVGVzdHM6CiAKKyAgICBAcHJvcGVydHkKKyAgICBkZWYgYm9vdHN0cmFwKHNlbGYpOgorICAgICAgICByZXR1cm4gc2VsZi5pbml0Ll9ib290c3RyYXAKKwogICAgIGRlZiBzZXRVcChzZWxmKToKICAgICAgICAgc2VsZi5uYW1lID0gJ3NwYW0nCiAgICAgICAgIHNlbGYucGF0aCA9ICdzcGFtLnB5JwpAQCAtMjQzLDE1MiArMjQ1LDE0IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9yaWdpbj1zZWxmLnBhdGgpCiAgICAgICAgIHNlbGYubG9jX3NwZWMuX3NldF9maWxlYXR0ciA9IFRydWUKIAotICAgICMgaW5pdF9tb2R1bGVfYXR0cnMKLQotICAgIGRlZiB0ZXN0X2luaXRfbW9kdWxlX2F0dHJzKHNlbGYpOgotICAgICAgICBtb2R1bGUgPSB0eXBlKHN5cykoc2VsZi5uYW1lKQotICAgICAgICBzcGVjID0gc2VsZi5tYWNoaW5lcnkuTW9kdWxlU3BlYyhzZWxmLm5hbWUsIHNlbGYubG9hZGVyKQotICAgICAgICBzZWxmLmJvb3RzdHJhcC5fU3BlY01ldGhvZHMoc3BlYykuaW5pdF9tb2R1bGVfYXR0cnMobW9kdWxlKQotCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobW9kdWxlLl9fbmFtZV9fLCBzcGVjLm5hbWUpCi0gICAgICAgIHNlbGYuYXNzZXJ0SXMobW9kdWxlLl9fbG9hZGVyX18sIHNwZWMubG9hZGVyKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1vZHVsZS5fX3BhY2thZ2VfXywgc3BlYy5wYXJlbnQpCi0gICAgICAgIHNlbGYuYXNzZXJ0SXMobW9kdWxlLl9fc3BlY19fLCBzcGVjKQotICAgICAgICBzZWxmLmFzc2VydEZhbHNlKGhhc2F0dHIobW9kdWxlLCAnX19wYXRoX18nKSkKLSAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShoYXNhdHRyKG1vZHVsZSwgJ19fZmlsZV9fJykpCi0gICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoaGFzYXR0cihtb2R1bGUsICdfX2NhY2hlZF9fJykpCi0KLSAgICBkZWYgdGVzdF9pbml0X21vZHVsZV9hdHRyc19wYWNrYWdlKHNlbGYpOgotICAgICAgICBtb2R1bGUgPSB0eXBlKHN5cykoc2VsZi5uYW1lKQotICAgICAgICBzcGVjID0gc2VsZi5tYWNoaW5lcnkuTW9kdWxlU3BlYyhzZWxmLm5hbWUsIHNlbGYubG9hZGVyKQotICAgICAgICBzcGVjLnN1Ym1vZHVsZV9zZWFyY2hfbG9jYXRpb25zID0gWydzcGFtJywgJ2hhbSddCi0gICAgICAgIHNlbGYuYm9vdHN0cmFwLl9TcGVjTWV0aG9kcyhzcGVjKS5pbml0X21vZHVsZV9hdHRycyhtb2R1bGUpCi0KLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtb2R1bGUuX19uYW1lX18sIHNwZWMubmFtZSkKLSAgICAgICAgc2VsZi5hc3NlcnRJcyhtb2R1bGUuX19sb2FkZXJfXywgc3BlYy5sb2FkZXIpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobW9kdWxlLl9fcGFja2FnZV9fLCBzcGVjLnBhcmVudCkKLSAgICAgICAgc2VsZi5hc3NlcnRJcyhtb2R1bGUuX19zcGVjX18sIHNwZWMpCi0gICAgICAgIHNlbGYuYXNzZXJ0SXMobW9kdWxlLl9fcGF0aF9fLCBzcGVjLnN1Ym1vZHVsZV9zZWFyY2hfbG9jYXRpb25zKQotICAgICAgICBzZWxmLmFzc2VydEZhbHNlKGhhc2F0dHIobW9kdWxlLCAnX19maWxlX18nKSkKLSAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShoYXNhdHRyKG1vZHVsZSwgJ19fY2FjaGVkX18nKSkKLQotICAgIGRlZiB0ZXN0X2luaXRfbW9kdWxlX2F0dHJzX2xvY2F0aW9uKHNlbGYpOgotICAgICAgICBtb2R1bGUgPSB0eXBlKHN5cykoc2VsZi5uYW1lKQotICAgICAgICBzcGVjID0gc2VsZi5sb2Nfc3BlYwotICAgICAgICBzZWxmLmJvb3RzdHJhcC5fU3BlY01ldGhvZHMoc3BlYykuaW5pdF9tb2R1bGVfYXR0cnMobW9kdWxlKQotCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobW9kdWxlLl9fbmFtZV9fLCBzcGVjLm5hbWUpCi0gICAgICAgIHNlbGYuYXNzZXJ0SXMobW9kdWxlLl9fbG9hZGVyX18sIHNwZWMubG9hZGVyKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1vZHVsZS5fX3BhY2thZ2VfXywgc3BlYy5wYXJlbnQpCi0gICAgICAgIHNlbGYuYXNzZXJ0SXMobW9kdWxlLl9fc3BlY19fLCBzcGVjKQotICAgICAgICBzZWxmLmFzc2VydEZhbHNlKGhhc2F0dHIobW9kdWxlLCAnX19wYXRoX18nKSkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtb2R1bGUuX19maWxlX18sIHNwZWMub3JpZ2luKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1vZHVsZS5fX2NhY2hlZF9fLAotICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYudXRpbC5jYWNoZV9mcm9tX3NvdXJjZShzcGVjLm9yaWdpbikpCi0KLSAgICBkZWYgdGVzdF9pbml0X21vZHVsZV9hdHRyc19kaWZmZXJlbnRfbmFtZShzZWxmKToKLSAgICAgICAgbW9kdWxlID0gdHlwZShzeXMpKCdlZ2dzJykKLSAgICAgICAgc3BlYyA9IHNlbGYubWFjaGluZXJ5Lk1vZHVsZVNwZWMoc2VsZi5uYW1lLCBzZWxmLmxvYWRlcikKLSAgICAgICAgc2VsZi5ib290c3RyYXAuX1NwZWNNZXRob2RzKHNwZWMpLmluaXRfbW9kdWxlX2F0dHJzKG1vZHVsZSkKLQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1vZHVsZS5fX25hbWVfXywgc3BlYy5uYW1lKQotCi0gICAgZGVmIHRlc3RfaW5pdF9tb2R1bGVfYXR0cnNfZGlmZmVyZW50X3NwZWMoc2VsZik6Ci0gICAgICAgIG1vZHVsZSA9IHR5cGUoc3lzKShzZWxmLm5hbWUpCi0gICAgICAgIG1vZHVsZS5fX3NwZWNfXyA9IHNlbGYubWFjaGluZXJ5Lk1vZHVsZVNwZWMoJ2VnZ3MnLCBvYmplY3QoKSkKLSAgICAgICAgc3BlYyA9IHNlbGYubWFjaGluZXJ5Lk1vZHVsZVNwZWMoc2VsZi5uYW1lLCBzZWxmLmxvYWRlcikKLSAgICAgICAgc2VsZi5ib290c3RyYXAuX1NwZWNNZXRob2RzKHNwZWMpLmluaXRfbW9kdWxlX2F0dHJzKG1vZHVsZSkKLQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1vZHVsZS5fX25hbWVfXywgc3BlYy5uYW1lKQotICAgICAgICBzZWxmLmFzc2VydElzKG1vZHVsZS5fX2xvYWRlcl9fLCBzcGVjLmxvYWRlcikKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtb2R1bGUuX19wYWNrYWdlX18sIHNwZWMucGFyZW50KQotICAgICAgICBzZWxmLmFzc2VydElzKG1vZHVsZS5fX3NwZWNfXywgc3BlYykKLQotICAgIGRlZiB0ZXN0X2luaXRfbW9kdWxlX2F0dHJzX2FscmVhZHlfc2V0KHNlbGYpOgotICAgICAgICBtb2R1bGUgPSB0eXBlKHN5cykoJ2hhbS5lZ2dzJykKLSAgICAgICAgbW9kdWxlLl9fbG9hZGVyX18gPSBvYmplY3QoKQotICAgICAgICBtb2R1bGUuX19wYWNrYWdlX18gPSAnaGFtJwotICAgICAgICBtb2R1bGUuX19wYXRoX18gPSBbJ2VnZ3MnXQotICAgICAgICBtb2R1bGUuX19maWxlX18gPSAnaGFtL2VnZ3MvX19pbml0X18ucHknCi0gICAgICAgIG1vZHVsZS5fX2NhY2hlZF9fID0gc2VsZi51dGlsLmNhY2hlX2Zyb21fc291cmNlKG1vZHVsZS5fX2ZpbGVfXykKLSAgICAgICAgb3JpZ2luYWwgPSB2YXJzKG1vZHVsZSkuY29weSgpCi0gICAgICAgIHNwZWMgPSBzZWxmLmxvY19zcGVjCi0gICAgICAgIHNwZWMuc3VibW9kdWxlX3NlYXJjaF9sb2NhdGlvbnMgPSBbJyddCi0gICAgICAgIHNlbGYuYm9vdHN0cmFwLl9TcGVjTWV0aG9kcyhzcGVjKS5pbml0X21vZHVsZV9hdHRycyhtb2R1bGUpCi0KLSAgICAgICAgc2VsZi5hc3NlcnRJcyhtb2R1bGUuX19sb2FkZXJfXywgb3JpZ2luYWxbJ19fbG9hZGVyX18nXSkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtb2R1bGUuX19wYWNrYWdlX18sIG9yaWdpbmFsWydfX3BhY2thZ2VfXyddKQotICAgICAgICBzZWxmLmFzc2VydElzKG1vZHVsZS5fX3BhdGhfXywgb3JpZ2luYWxbJ19fcGF0aF9fJ10pCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobW9kdWxlLl9fZmlsZV9fLCBvcmlnaW5hbFsnX19maWxlX18nXSkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtb2R1bGUuX19jYWNoZWRfXywgb3JpZ2luYWxbJ19fY2FjaGVkX18nXSkKLQotICAgIGRlZiB0ZXN0X2luaXRfbW9kdWxlX2F0dHJzX2ltbXV0YWJsZShzZWxmKToKLSAgICAgICAgbW9kdWxlID0gb2JqZWN0KCkKLSAgICAgICAgc3BlYyA9IHNlbGYubG9jX3NwZWMKLSAgICAgICAgc3BlYy5zdWJtb2R1bGVfc2VhcmNoX2xvY2F0aW9ucyA9IFsnJ10KLSAgICAgICAgc2VsZi5ib290c3RyYXAuX1NwZWNNZXRob2RzKHNwZWMpLmluaXRfbW9kdWxlX2F0dHJzKG1vZHVsZSkKLQotICAgICAgICBzZWxmLmFzc2VydEZhbHNlKGhhc2F0dHIobW9kdWxlLCAnX19uYW1lX18nKSkKLSAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShoYXNhdHRyKG1vZHVsZSwgJ19fbG9hZGVyX18nKSkKLSAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShoYXNhdHRyKG1vZHVsZSwgJ19fcGFja2FnZV9fJykpCi0gICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoaGFzYXR0cihtb2R1bGUsICdfX3NwZWNfXycpKQotICAgICAgICBzZWxmLmFzc2VydEZhbHNlKGhhc2F0dHIobW9kdWxlLCAnX19wYXRoX18nKSkKLSAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShoYXNhdHRyKG1vZHVsZSwgJ19fZmlsZV9fJykpCi0gICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoaGFzYXR0cihtb2R1bGUsICdfX2NhY2hlZF9fJykpCi0KLSAgICAjIGNyZWF0ZSgpCi0KLSAgICBkZWYgdGVzdF9jcmVhdGUoc2VsZik6Ci0gICAgICAgIGNyZWF0ZWQgPSBzZWxmLmJvb3RzdHJhcC5fU3BlY01ldGhvZHMoc2VsZi5zcGVjKS5jcmVhdGUoKQotCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY3JlYXRlZC5fX25hbWVfXywgc2VsZi5zcGVjLm5hbWUpCi0gICAgICAgIHNlbGYuYXNzZXJ0SXMoY3JlYXRlZC5fX2xvYWRlcl9fLCBzZWxmLnNwZWMubG9hZGVyKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNyZWF0ZWQuX19wYWNrYWdlX18sIHNlbGYuc3BlYy5wYXJlbnQpCi0gICAgICAgIHNlbGYuYXNzZXJ0SXMoY3JlYXRlZC5fX3NwZWNfXywgc2VsZi5zcGVjKQotICAgICAgICBzZWxmLmFzc2VydEZhbHNlKGhhc2F0dHIoY3JlYXRlZCwgJ19fcGF0aF9fJykpCi0gICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoaGFzYXR0cihjcmVhdGVkLCAnX19maWxlX18nKSkKLSAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShoYXNhdHRyKGNyZWF0ZWQsICdfX2NhY2hlZF9fJykpCi0KLSAgICBkZWYgdGVzdF9jcmVhdGVfZnJvbV9sb2FkZXIoc2VsZik6Ci0gICAgICAgIG1vZHVsZSA9IHR5cGUoc3lzLmltcGxlbWVudGF0aW9uKSgpCi0gICAgICAgIGNsYXNzIENyZWF0aW5nTG9hZGVyKFRlc3RMb2FkZXIpOgotICAgICAgICAgICAgZGVmIGNyZWF0ZV9tb2R1bGUoc2VsZiwgc3BlYyk6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIG1vZHVsZQotICAgICAgICBzZWxmLnNwZWMubG9hZGVyID0gQ3JlYXRpbmdMb2FkZXIoKQotICAgICAgICBjcmVhdGVkID0gc2VsZi5ib290c3RyYXAuX1NwZWNNZXRob2RzKHNlbGYuc3BlYykuY3JlYXRlKCkKLQotICAgICAgICBzZWxmLmFzc2VydElzKGNyZWF0ZWQsIG1vZHVsZSkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjcmVhdGVkLl9fbmFtZV9fLCBzZWxmLnNwZWMubmFtZSkKLSAgICAgICAgc2VsZi5hc3NlcnRJcyhjcmVhdGVkLl9fbG9hZGVyX18sIHNlbGYuc3BlYy5sb2FkZXIpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY3JlYXRlZC5fX3BhY2thZ2VfXywgc2VsZi5zcGVjLnBhcmVudCkKLSAgICAgICAgc2VsZi5hc3NlcnRJcyhjcmVhdGVkLl9fc3BlY19fLCBzZWxmLnNwZWMpCi0gICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoaGFzYXR0cihjcmVhdGVkLCAnX19wYXRoX18nKSkKLSAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShoYXNhdHRyKGNyZWF0ZWQsICdfX2ZpbGVfXycpKQotICAgICAgICBzZWxmLmFzc2VydEZhbHNlKGhhc2F0dHIoY3JlYXRlZCwgJ19fY2FjaGVkX18nKSkKLQotICAgIGRlZiB0ZXN0X2NyZWF0ZV9mcm9tX2xvYWRlcl9ub3RfaGFuZGxlZChzZWxmKToKLSAgICAgICAgY2xhc3MgQ3JlYXRpbmdMb2FkZXIoVGVzdExvYWRlcik6Ci0gICAgICAgICAgICBkZWYgY3JlYXRlX21vZHVsZShzZWxmLCBzcGVjKToKLSAgICAgICAgICAgICAgICByZXR1cm4gTm9uZQotICAgICAgICBzZWxmLnNwZWMubG9hZGVyID0gQ3JlYXRpbmdMb2FkZXIoKQotICAgICAgICBjcmVhdGVkID0gc2VsZi5ib290c3RyYXAuX1NwZWNNZXRob2RzKHNlbGYuc3BlYykuY3JlYXRlKCkKLQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNyZWF0ZWQuX19uYW1lX18sIHNlbGYuc3BlYy5uYW1lKQotICAgICAgICBzZWxmLmFzc2VydElzKGNyZWF0ZWQuX19sb2FkZXJfXywgc2VsZi5zcGVjLmxvYWRlcikKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjcmVhdGVkLl9fcGFja2FnZV9fLCBzZWxmLnNwZWMucGFyZW50KQotICAgICAgICBzZWxmLmFzc2VydElzKGNyZWF0ZWQuX19zcGVjX18sIHNlbGYuc3BlYykKLSAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShoYXNhdHRyKGNyZWF0ZWQsICdfX3BhdGhfXycpKQotICAgICAgICBzZWxmLmFzc2VydEZhbHNlKGhhc2F0dHIoY3JlYXRlZCwgJ19fZmlsZV9fJykpCi0gICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoaGFzYXR0cihjcmVhdGVkLCAnX19jYWNoZWRfXycpKQotCiAgICAgIyBleGVjKCkKIAogICAgIGRlZiB0ZXN0X2V4ZWMoc2VsZik6CiAgICAgICAgIHNlbGYuc3BlYy5sb2FkZXIgPSBOZXdMb2FkZXIoKQotICAgICAgICBtb2R1bGUgPSBzZWxmLmJvb3RzdHJhcC5fU3BlY01ldGhvZHMoc2VsZi5zcGVjKS5jcmVhdGUoKQorICAgICAgICBtb2R1bGUgPSBzZWxmLnV0aWwubW9kdWxlX2Zyb21fc3BlYyhzZWxmLnNwZWMpCiAgICAgICAgIHN5cy5tb2R1bGVzW3NlbGYubmFtZV0gPSBtb2R1bGUKICAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShoYXNhdHRyKG1vZHVsZSwgJ2VnZ3MnKSkKLSAgICAgICAgc2VsZi5ib290c3RyYXAuX1NwZWNNZXRob2RzKHNlbGYuc3BlYykuZXhlYyhtb2R1bGUpCisgICAgICAgIHNlbGYuYm9vdHN0cmFwLl9leGVjKHNlbGYuc3BlYywgbW9kdWxlKQogCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobW9kdWxlLmVnZ3MsIDEpCiAKQEAgLTM5Nyw3ICsyNjEsNyBAQAogICAgIGRlZiB0ZXN0X2xvYWQoc2VsZik6CiAgICAgICAgIHNlbGYuc3BlYy5sb2FkZXIgPSBOZXdMb2FkZXIoKQogICAgICAgICB3aXRoIENsZWFuSW1wb3J0KHNlbGYuc3BlYy5uYW1lKToKLSAgICAgICAgICAgIGxvYWRlZCA9IHNlbGYuYm9vdHN0cmFwLl9TcGVjTWV0aG9kcyhzZWxmLnNwZWMpLmxvYWQoKQorICAgICAgICAgICAgbG9hZGVkID0gc2VsZi5ib290c3RyYXAuX2xvYWQoc2VsZi5zcGVjKQogICAgICAgICAgICAgaW5zdGFsbGVkID0gc3lzLm1vZHVsZXNbc2VsZi5zcGVjLm5hbWVdCiAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsb2FkZWQuZWdncywgMSkKQEAgLTQxMCw3ICsyNzQsNyBAQAogICAgICAgICAgICAgICAgIHN5cy5tb2R1bGVzW21vZHVsZS5fX25hbWVfX10gPSByZXBsYWNlbWVudAogICAgICAgICBzZWxmLnNwZWMubG9hZGVyID0gUmVwbGFjaW5nTG9hZGVyKCkKICAgICAgICAgd2l0aCBDbGVhbkltcG9ydChzZWxmLnNwZWMubmFtZSk6Ci0gICAgICAgICAgICBsb2FkZWQgPSBzZWxmLmJvb3RzdHJhcC5fU3BlY01ldGhvZHMoc2VsZi5zcGVjKS5sb2FkKCkKKyAgICAgICAgICAgIGxvYWRlZCA9IHNlbGYuYm9vdHN0cmFwLl9sb2FkKHNlbGYuc3BlYykKICAgICAgICAgICAgIGluc3RhbGxlZCA9IHN5cy5tb2R1bGVzW3NlbGYuc3BlYy5uYW1lXQogCiAgICAgICAgIHNlbGYuYXNzZXJ0SXMobG9hZGVkLCByZXBsYWNlbWVudCkKQEAgLTQyMyw3ICsyODcsNyBAQAogICAgICAgICBzZWxmLnNwZWMubG9hZGVyID0gRmFpbGVkTG9hZGVyKCkKICAgICAgICAgd2l0aCBDbGVhbkltcG9ydChzZWxmLnNwZWMubmFtZSk6CiAgICAgICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFJ1bnRpbWVFcnJvcik6Ci0gICAgICAgICAgICAgICAgbG9hZGVkID0gc2VsZi5ib290c3RyYXAuX1NwZWNNZXRob2RzKHNlbGYuc3BlYykubG9hZCgpCisgICAgICAgICAgICAgICAgbG9hZGVkID0gc2VsZi5ib290c3RyYXAuX2xvYWQoc2VsZi5zcGVjKQogICAgICAgICAgICAgc2VsZi5hc3NlcnROb3RJbihzZWxmLnNwZWMubmFtZSwgc3lzLm1vZHVsZXMpCiAKICAgICBkZWYgdGVzdF9sb2FkX2ZhaWxlZF9yZW1vdmVkKHNlbGYpOgpAQCAtNDM0LDIwICsyOTgsMjAgQEAKICAgICAgICAgc2VsZi5zcGVjLmxvYWRlciA9IEZhaWxlZExvYWRlcigpCiAgICAgICAgIHdpdGggQ2xlYW5JbXBvcnQoc2VsZi5zcGVjLm5hbWUpOgogICAgICAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhSdW50aW1lRXJyb3IpOgotICAgICAgICAgICAgICAgIGxvYWRlZCA9IHNlbGYuYm9vdHN0cmFwLl9TcGVjTWV0aG9kcyhzZWxmLnNwZWMpLmxvYWQoKQorICAgICAgICAgICAgICAgIGxvYWRlZCA9IHNlbGYuYm9vdHN0cmFwLl9sb2FkKHNlbGYuc3BlYykKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0Tm90SW4oc2VsZi5zcGVjLm5hbWUsIHN5cy5tb2R1bGVzKQogCiAgICAgZGVmIHRlc3RfbG9hZF9sZWdhY3koc2VsZik6CiAgICAgICAgIHNlbGYuc3BlYy5sb2FkZXIgPSBMZWdhY3lMb2FkZXIoKQogICAgICAgICB3aXRoIENsZWFuSW1wb3J0KHNlbGYuc3BlYy5uYW1lKToKLSAgICAgICAgICAgIGxvYWRlZCA9IHNlbGYuYm9vdHN0cmFwLl9TcGVjTWV0aG9kcyhzZWxmLnNwZWMpLmxvYWQoKQorICAgICAgICAgICAgbG9hZGVkID0gc2VsZi5ib290c3RyYXAuX2xvYWQoc2VsZi5zcGVjKQogCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobG9hZGVkLmhhbSwgLTEpCiAKICAgICBkZWYgdGVzdF9sb2FkX2xlZ2FjeV9hdHRyaWJ1dGVzKHNlbGYpOgogICAgICAgICBzZWxmLnNwZWMubG9hZGVyID0gTGVnYWN5TG9hZGVyKCkKICAgICAgICAgd2l0aCBDbGVhbkltcG9ydChzZWxmLnNwZWMubmFtZSk6Ci0gICAgICAgICAgICBsb2FkZWQgPSBzZWxmLmJvb3RzdHJhcC5fU3BlY01ldGhvZHMoc2VsZi5zcGVjKS5sb2FkKCkKKyAgICAgICAgICAgIGxvYWRlZCA9IHNlbGYuYm9vdHN0cmFwLl9sb2FkKHNlbGYuc3BlYykKIAogICAgICAgICBzZWxmLmFzc2VydElzKGxvYWRlZC5fX2xvYWRlcl9fLCBzZWxmLnNwZWMubG9hZGVyKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxvYWRlZC5fX3BhY2thZ2VfXywgc2VsZi5zcGVjLnBhcmVudCkKQEAgLTQ2MSw3ICszMjUsNyBAQAogICAgICAgICAgICAgICAgIHJldHVybiBtb2R1bGUKICAgICAgICAgc2VsZi5zcGVjLmxvYWRlciA9IEltbXV0YWJsZUxvYWRlcigpCiAgICAgICAgIHdpdGggQ2xlYW5JbXBvcnQoc2VsZi5zcGVjLm5hbWUpOgotICAgICAgICAgICAgbG9hZGVkID0gc2VsZi5ib290c3RyYXAuX1NwZWNNZXRob2RzKHNlbGYuc3BlYykubG9hZCgpCisgICAgICAgICAgICBsb2FkZWQgPSBzZWxmLmJvb3RzdHJhcC5fbG9hZChzZWxmLnNwZWMpCiAKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXMoc3lzLm1vZHVsZXNbc2VsZi5zcGVjLm5hbWVdLCBtb2R1bGUpCiAKQEAgLTQ3MCw4ICszMzQsOCBAQAogICAgIGRlZiB0ZXN0X3JlbG9hZChzZWxmKToKICAgICAgICAgc2VsZi5zcGVjLmxvYWRlciA9IE5ld0xvYWRlcigpCiAgICAgICAgIHdpdGggQ2xlYW5JbXBvcnQoc2VsZi5zcGVjLm5hbWUpOgotICAgICAgICAgICAgbG9hZGVkID0gc2VsZi5ib290c3RyYXAuX1NwZWNNZXRob2RzKHNlbGYuc3BlYykubG9hZCgpCi0gICAgICAgICAgICByZWxvYWRlZCA9IHNlbGYuYm9vdHN0cmFwLl9TcGVjTWV0aG9kcyhzZWxmLnNwZWMpLmV4ZWMobG9hZGVkKQorICAgICAgICAgICAgbG9hZGVkID0gc2VsZi5ib290c3RyYXAuX2xvYWQoc2VsZi5zcGVjKQorICAgICAgICAgICAgcmVsb2FkZWQgPSBzZWxmLmJvb3RzdHJhcC5fZXhlYyhzZWxmLnNwZWMsIGxvYWRlZCkKICAgICAgICAgICAgIGluc3RhbGxlZCA9IHN5cy5tb2R1bGVzW3NlbGYuc3BlYy5uYW1lXQogCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobG9hZGVkLmVnZ3MsIDEpCkBAIC00ODEsOSArMzQ1LDkgQEAKICAgICBkZWYgdGVzdF9yZWxvYWRfbW9kaWZpZWQoc2VsZik6CiAgICAgICAgIHNlbGYuc3BlYy5sb2FkZXIgPSBOZXdMb2FkZXIoKQogICAgICAgICB3aXRoIENsZWFuSW1wb3J0KHNlbGYuc3BlYy5uYW1lKToKLSAgICAgICAgICAgIGxvYWRlZCA9IHNlbGYuYm9vdHN0cmFwLl9TcGVjTWV0aG9kcyhzZWxmLnNwZWMpLmxvYWQoKQorICAgICAgICAgICAgbG9hZGVkID0gc2VsZi5ib290c3RyYXAuX2xvYWQoc2VsZi5zcGVjKQogICAgICAgICAgICAgbG9hZGVkLmVnZ3MgPSAyCi0gICAgICAgICAgICByZWxvYWRlZCA9IHNlbGYuYm9vdHN0cmFwLl9TcGVjTWV0aG9kcyhzZWxmLnNwZWMpLmV4ZWMobG9hZGVkKQorICAgICAgICAgICAgcmVsb2FkZWQgPSBzZWxmLmJvb3RzdHJhcC5fZXhlYyhzZWxmLnNwZWMsIGxvYWRlZCkKIAogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxvYWRlZC5lZ2dzLCAxKQogICAgICAgICBzZWxmLmFzc2VydElzKHJlbG9hZGVkLCBsb2FkZWQpCkBAIC00OTEsOSArMzU1LDkgQEAKICAgICBkZWYgdGVzdF9yZWxvYWRfZXh0cmFfYXR0cmlidXRlcyhzZWxmKToKICAgICAgICAgc2VsZi5zcGVjLmxvYWRlciA9IE5ld0xvYWRlcigpCiAgICAgICAgIHdpdGggQ2xlYW5JbXBvcnQoc2VsZi5zcGVjLm5hbWUpOgotICAgICAgICAgICAgbG9hZGVkID0gc2VsZi5ib290c3RyYXAuX1NwZWNNZXRob2RzKHNlbGYuc3BlYykubG9hZCgpCisgICAgICAgICAgICBsb2FkZWQgPSBzZWxmLmJvb3RzdHJhcC5fbG9hZChzZWxmLnNwZWMpCiAgICAgICAgICAgICBsb2FkZWQuYXZhaWxhYmxlID0gRmFsc2UKLSAgICAgICAgICAgIHJlbG9hZGVkID0gc2VsZi5ib290c3RyYXAuX1NwZWNNZXRob2RzKHNlbGYuc3BlYykuZXhlYyhsb2FkZWQpCisgICAgICAgICAgICByZWxvYWRlZCA9IHNlbGYuYm9vdHN0cmFwLl9leGVjKHNlbGYuc3BlYywgbG9hZGVkKQogCiAgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UobG9hZGVkLmF2YWlsYWJsZSkKICAgICAgICAgc2VsZi5hc3NlcnRJcyhyZWxvYWRlZCwgbG9hZGVkKQpAQCAtNTAxLDEyICszNjUsMTIgQEAKICAgICBkZWYgdGVzdF9yZWxvYWRfaW5pdF9tb2R1bGVfYXR0cnMoc2VsZik6CiAgICAgICAgIHNlbGYuc3BlYy5sb2FkZXIgPSBOZXdMb2FkZXIoKQogICAgICAgICB3aXRoIENsZWFuSW1wb3J0KHNlbGYuc3BlYy5uYW1lKToKLSAgICAgICAgICAgIGxvYWRlZCA9IHNlbGYuYm9vdHN0cmFwLl9TcGVjTWV0aG9kcyhzZWxmLnNwZWMpLmxvYWQoKQorICAgICAgICAgICAgbG9hZGVkID0gc2VsZi5ib290c3RyYXAuX2xvYWQoc2VsZi5zcGVjKQogICAgICAgICAgICAgbG9hZGVkLl9fbmFtZV9fID0gJ2hhbScKICAgICAgICAgICAgIGRlbCBsb2FkZWQuX19sb2FkZXJfXwogICAgICAgICAgICAgZGVsIGxvYWRlZC5fX3BhY2thZ2VfXwogICAgICAgICAgICAgZGVsIGxvYWRlZC5fX3NwZWNfXwotICAgICAgICAgICAgc2VsZi5ib290c3RyYXAuX1NwZWNNZXRob2RzKHNlbGYuc3BlYykuZXhlYyhsb2FkZWQpCisgICAgICAgICAgICBzZWxmLmJvb3RzdHJhcC5fZXhlYyhzZWxmLnNwZWMsIGxvYWRlZCkKIAogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxvYWRlZC5fX25hbWVfXywgc2VsZi5zcGVjLm5hbWUpCiAgICAgICAgIHNlbGYuYXNzZXJ0SXMobG9hZGVkLl9fbG9hZGVyX18sIHNlbGYuc3BlYy5sb2FkZXIpCkBAIC01MTksOCArMzgzLDggQEAKICAgICBkZWYgdGVzdF9yZWxvYWRfbGVnYWN5KHNlbGYpOgogICAgICAgICBzZWxmLnNwZWMubG9hZGVyID0gTGVnYWN5TG9hZGVyKCkKICAgICAgICAgd2l0aCBDbGVhbkltcG9ydChzZWxmLnNwZWMubmFtZSk6Ci0gICAgICAgICAgICBsb2FkZWQgPSBzZWxmLmJvb3RzdHJhcC5fU3BlY01ldGhvZHMoc2VsZi5zcGVjKS5sb2FkKCkKLSAgICAgICAgICAgIHJlbG9hZGVkID0gc2VsZi5ib290c3RyYXAuX1NwZWNNZXRob2RzKHNlbGYuc3BlYykuZXhlYyhsb2FkZWQpCisgICAgICAgICAgICBsb2FkZWQgPSBzZWxmLmJvb3RzdHJhcC5fbG9hZChzZWxmLnNwZWMpCisgICAgICAgICAgICByZWxvYWRlZCA9IHNlbGYuYm9vdHN0cmFwLl9leGVjKHNlbGYuc3BlYywgbG9hZGVkKQogICAgICAgICAgICAgaW5zdGFsbGVkID0gc3lzLm1vZHVsZXNbc2VsZi5zcGVjLm5hbWVdCiAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsb2FkZWQuaGFtLCAtMSkKQEAgLTUyOCwyMCArMzkyLDE4IEBACiAgICAgICAgIHNlbGYuYXNzZXJ0SXMoaW5zdGFsbGVkLCBsb2FkZWQpCiAKIAotY2xhc3MgRnJvemVuX01vZHVsZVNwZWNNZXRob2RzVGVzdHMoTW9kdWxlU3BlY01ldGhvZHNUZXN0cywgdW5pdHRlc3QuVGVzdENhc2UpOgotICAgIGJvb3RzdHJhcCA9IGZyb3plbl9ib290c3RyYXAKLSAgICBtYWNoaW5lcnkgPSBmcm96ZW5fbWFjaGluZXJ5Ci0gICAgdXRpbCA9IGZyb3plbl91dGlsCi0KLQotY2xhc3MgU291cmNlX01vZHVsZVNwZWNNZXRob2RzVGVzdHMoTW9kdWxlU3BlY01ldGhvZHNUZXN0cywgdW5pdHRlc3QuVGVzdENhc2UpOgotICAgIGJvb3RzdHJhcCA9IHNvdXJjZV9ib290c3RyYXAKLSAgICBtYWNoaW5lcnkgPSBzb3VyY2VfbWFjaGluZXJ5Ci0gICAgdXRpbCA9IHNvdXJjZV91dGlsCisoRnJvemVuX01vZHVsZVNwZWNNZXRob2RzVGVzdHMsCisgU291cmNlX01vZHVsZVNwZWNNZXRob2RzVGVzdHMKKyApID0gdGVzdF91dGlsLnRlc3RfYm90aChNb2R1bGVTcGVjTWV0aG9kc1Rlc3RzLCBpbml0PWluaXQsIHV0aWw9dXRpbCwKKyAgICAgICAgICAgICAgICAgICAgICAgICBtYWNoaW5lcnk9bWFjaGluZXJ5KQogCiAKIGNsYXNzIE1vZHVsZVJlcHJUZXN0czoKIAorICAgIEBwcm9wZXJ0eQorICAgIGRlZiBib290c3RyYXAoc2VsZik6CisgICAgICAgIHJldHVybiBzZWxmLmluaXQuX2Jvb3RzdHJhcAorCiAgICAgZGVmIHNldFVwKHNlbGYpOgogICAgICAgICBzZWxmLm1vZHVsZSA9IHR5cGUob3MpKCdzcGFtJykKICAgICAgICAgc2VsZi5zcGVjID0gc2VsZi5tYWNoaW5lcnkuTW9kdWxlU3BlYygnc3BhbScsIFRlc3RMb2FkZXIoKSkKQEAgLTYyNSwxNiArNDg3LDEwIEBACiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobW9kcmVwciwgJzxtb2R1bGUgeyFyfT4nLmZvcm1hdCgnc3BhbScpKQogCiAKLWNsYXNzIEZyb3plbl9Nb2R1bGVSZXByVGVzdHMoTW9kdWxlUmVwclRlc3RzLCB1bml0dGVzdC5UZXN0Q2FzZSk6Ci0gICAgYm9vdHN0cmFwID0gZnJvemVuX2Jvb3RzdHJhcAotICAgIG1hY2hpbmVyeSA9IGZyb3plbl9tYWNoaW5lcnkKLSAgICB1dGlsID0gZnJvemVuX3V0aWwKLQotCi1jbGFzcyBTb3VyY2VfTW9kdWxlUmVwclRlc3RzKE1vZHVsZVJlcHJUZXN0cywgdW5pdHRlc3QuVGVzdENhc2UpOgotICAgIGJvb3RzdHJhcCA9IHNvdXJjZV9ib290c3RyYXAKLSAgICBtYWNoaW5lcnkgPSBzb3VyY2VfbWFjaGluZXJ5Ci0gICAgdXRpbCA9IHNvdXJjZV91dGlsCisoRnJvemVuX01vZHVsZVJlcHJUZXN0cywKKyBTb3VyY2VfTW9kdWxlUmVwclRlc3RzCisgKSA9IHRlc3RfdXRpbC50ZXN0X2JvdGgoTW9kdWxlUmVwclRlc3RzLCBpbml0PWluaXQsIHV0aWw9dXRpbCwKKyAgICAgICAgICAgICAgICAgICAgICAgICBtYWNoaW5lcnk9bWFjaGluZXJ5KQogCiAKIGNsYXNzIEZhY3RvcnlUZXN0czoKQEAgLTc4NywxMyArNjQzLDE0IEBACiAgICAgIyBzcGVjX2Zyb21fZmlsZV9sb2NhdGlvbigpCiAKICAgICBkZWYgdGVzdF9zcGVjX2Zyb21fZmlsZV9sb2NhdGlvbl9kZWZhdWx0KHNlbGYpOgotICAgICAgICBpZiBzZWxmLm1hY2hpbmVyeSBpcyBzb3VyY2VfbWFjaGluZXJ5OgotICAgICAgICAgICAgcmFpc2UgdW5pdHRlc3QuU2tpcFRlc3QoJ25vdCBzdXJlIHdoeSB0aGlzIGlzIGJyZWFraW5nLi4uJykKICAgICAgICAgc3BlYyA9IHNlbGYudXRpbC5zcGVjX2Zyb21fZmlsZV9sb2NhdGlvbihzZWxmLm5hbWUsIHNlbGYucGF0aCkKIAogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNwZWMubmFtZSwgc2VsZi5uYW1lKQorICAgICAgICAjIE5lZWQgdG8gdXNlIGEgY2lyY3VpdG91cyByb3V0ZSB0byBnZXQgYXQgaW1wb3J0bGliLm1hY2hpbmVyeSB0byBtYWtlCisgICAgICAgICMgc3VyZSB0aGUgc2FtZSBjbGFzcyBvYmplY3QgaXMgdXNlZCBpbiB0aGUgaXNpbnN0YW5jZSgpIGNoZWNrIGFzCisgICAgICAgICMgd291bGQgaGF2ZSBiZWVuIHVzZWQgdG8gY3JlYXRlIHRoZSBsb2FkZXIuCiAgICAgICAgIHNlbGYuYXNzZXJ0SXNJbnN0YW5jZShzcGVjLmxvYWRlciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYubWFjaGluZXJ5LlNvdXJjZUZpbGVMb2FkZXIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnV0aWwuYWJjLm1hY2hpbmVyeS5Tb3VyY2VGaWxlTG9hZGVyKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNwZWMubG9hZGVyLm5hbWUsIHNlbGYubmFtZSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzcGVjLmxvYWRlci5wYXRoLCBzZWxmLnBhdGgpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3BlYy5vcmlnaW4sIHNlbGYucGF0aCkKQEAgLTk0NywxMSArODA0LDEwIEBACiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShzcGVjLmhhc19sb2NhdGlvbikKIAogCi1jbGFzcyBGcm96ZW5fRmFjdG9yeVRlc3RzKEZhY3RvcnlUZXN0cywgdW5pdHRlc3QuVGVzdENhc2UpOgotICAgIHV0aWwgPSBmcm96ZW5fdXRpbAotICAgIG1hY2hpbmVyeSA9IGZyb3plbl9tYWNoaW5lcnkKKyhGcm96ZW5fRmFjdG9yeVRlc3RzLAorIFNvdXJjZV9GYWN0b3J5VGVzdHMKKyApID0gdGVzdF91dGlsLnRlc3RfYm90aChGYWN0b3J5VGVzdHMsIHV0aWw9dXRpbCwgbWFjaGluZXJ5PW1hY2hpbmVyeSkKIAogCi1jbGFzcyBTb3VyY2VfRmFjdG9yeVRlc3RzKEZhY3RvcnlUZXN0cywgdW5pdHRlc3QuVGVzdENhc2UpOgotICAgIHV0aWwgPSBzb3VyY2VfdXRpbAotICAgIG1hY2hpbmVyeSA9IHNvdXJjZV9tYWNoaW5lcnkKK2lmIF9fbmFtZV9fID09ICdfX21haW5fXyc6CisgICAgdW5pdHRlc3QubWFpbigpCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi90ZXN0X3V0aWwucHkgYi9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi90ZXN0X3V0aWwucHkKaW5kZXggYjI4MjNjNi4uMjQ5M2FmNyAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvdGVzdF91dGlsLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL3Rlc3RfdXRpbC5weQpAQCAtMSw4ICsxLDggQEAKLWZyb20gaW1wb3J0bGliIGltcG9ydCB1dGlsCi1mcm9tIC4gaW1wb3J0IHV0aWwgYXMgdGVzdF91dGlsCi1mcm96ZW5faW5pdCwgc291cmNlX2luaXQgPSB0ZXN0X3V0aWwuaW1wb3J0X2ltcG9ydGxpYignaW1wb3J0bGliJykKLWZyb3plbl9tYWNoaW5lcnksIHNvdXJjZV9tYWNoaW5lcnkgPSB0ZXN0X3V0aWwuaW1wb3J0X2ltcG9ydGxpYignaW1wb3J0bGliLm1hY2hpbmVyeScpCi1mcm96ZW5fdXRpbCwgc291cmNlX3V0aWwgPSB0ZXN0X3V0aWwuaW1wb3J0X2ltcG9ydGxpYignaW1wb3J0bGliLnV0aWwnKQorZnJvbSAuIGltcG9ydCB1dGlsCithYmMgPSB1dGlsLmltcG9ydF9pbXBvcnRsaWIoJ2ltcG9ydGxpYi5hYmMnKQoraW5pdCA9IHV0aWwuaW1wb3J0X2ltcG9ydGxpYignaW1wb3J0bGliJykKK21hY2hpbmVyeSA9IHV0aWwuaW1wb3J0X2ltcG9ydGxpYignaW1wb3J0bGliLm1hY2hpbmVyeScpCitpbXBvcnRsaWJfdXRpbCA9IHV0aWwuaW1wb3J0X2ltcG9ydGxpYignaW1wb3J0bGliLnV0aWwnKQogCiBpbXBvcnQgb3MKIGltcG9ydCBzeXMKQEAgLTMyLDggKzMyLDk0IEBACiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi51dGlsLmRlY29kZV9zb3VyY2Uoc291cmNlX2J5dGVzKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAnXG4nLmpvaW4oW3NlbGYuc291cmNlLCBzZWxmLnNvdXJjZV0pKQogCi1Gcm96ZW5fRGVjb2RlU291cmNlQnl0ZXNUZXN0cywgU291cmNlX0RlY29kZVNvdXJjZUJ5dGVzVGVzdHMgPSB0ZXN0X3V0aWwudGVzdF9ib3RoKAotICAgICAgICBEZWNvZGVTb3VyY2VCeXRlc1Rlc3RzLCB1dGlsPVtmcm96ZW5fdXRpbCwgc291cmNlX3V0aWxdKQorCisoRnJvemVuX0RlY29kZVNvdXJjZUJ5dGVzVGVzdHMsCisgU291cmNlX0RlY29kZVNvdXJjZUJ5dGVzVGVzdHMKKyApID0gdXRpbC50ZXN0X2JvdGgoRGVjb2RlU291cmNlQnl0ZXNUZXN0cywgdXRpbD1pbXBvcnRsaWJfdXRpbCkKKworCitjbGFzcyBNb2R1bGVGcm9tU3BlY1Rlc3RzOgorCisgICAgZGVmIHRlc3Rfbm9fY3JlYXRlX21vZHVsZShzZWxmKToKKyAgICAgICAgY2xhc3MgTG9hZGVyOgorICAgICAgICAgICAgZGVmIGV4ZWNfbW9kdWxlKHNlbGYsIG1vZHVsZSk6CisgICAgICAgICAgICAgICAgcGFzcworICAgICAgICBzcGVjID0gc2VsZi5tYWNoaW5lcnkuTW9kdWxlU3BlYygndGVzdCcsIExvYWRlcigpKQorICAgICAgICB3aXRoIHdhcm5pbmdzLmNhdGNoX3dhcm5pbmdzKHJlY29yZD1UcnVlKSBhcyB3OgorICAgICAgICAgICAgd2FybmluZ3Muc2ltcGxlZmlsdGVyKCdhbHdheXMnKQorICAgICAgICAgICAgbW9kdWxlID0gc2VsZi51dGlsLm1vZHVsZV9mcm9tX3NwZWMoc3BlYykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgxLCBsZW4odykpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShpc3N1YmNsYXNzKHdbMF0uY2F0ZWdvcnksIERlcHJlY2F0aW9uV2FybmluZykpCisgICAgICAgIHNlbGYuYXNzZXJ0SW4oJ2NyZWF0ZV9tb2R1bGUnLCBzdHIod1swXS5tZXNzYWdlKSkKKyAgICAgICAgc2VsZi5hc3NlcnRJc0luc3RhbmNlKG1vZHVsZSwgdHlwZXMuTW9kdWxlVHlwZSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtb2R1bGUuX19uYW1lX18sIHNwZWMubmFtZSkKKworICAgIGRlZiB0ZXN0X2NyZWF0ZV9tb2R1bGVfcmV0dXJuc19Ob25lKHNlbGYpOgorICAgICAgICBjbGFzcyBMb2FkZXIoc2VsZi5hYmMuTG9hZGVyKToKKyAgICAgICAgICAgIGRlZiBjcmVhdGVfbW9kdWxlKHNlbGYsIHNwZWMpOgorICAgICAgICAgICAgICAgIHJldHVybiBOb25lCisgICAgICAgIHNwZWMgPSBzZWxmLm1hY2hpbmVyeS5Nb2R1bGVTcGVjKCd0ZXN0JywgTG9hZGVyKCkpCisgICAgICAgIG1vZHVsZSA9IHNlbGYudXRpbC5tb2R1bGVfZnJvbV9zcGVjKHNwZWMpCisgICAgICAgIHNlbGYuYXNzZXJ0SXNJbnN0YW5jZShtb2R1bGUsIHR5cGVzLk1vZHVsZVR5cGUpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobW9kdWxlLl9fbmFtZV9fLCBzcGVjLm5hbWUpCisKKyAgICBkZWYgdGVzdF9jcmVhdGVfbW9kdWxlKHNlbGYpOgorICAgICAgICBuYW1lID0gJ2FscmVhZHkgc2V0JworICAgICAgICBjbGFzcyBDdXN0b21Nb2R1bGUodHlwZXMuTW9kdWxlVHlwZSk6CisgICAgICAgICAgICBwYXNzCisgICAgICAgIGNsYXNzIExvYWRlcihzZWxmLmFiYy5Mb2FkZXIpOgorICAgICAgICAgICAgZGVmIGNyZWF0ZV9tb2R1bGUoc2VsZiwgc3BlYyk6CisgICAgICAgICAgICAgICAgbW9kdWxlID0gQ3VzdG9tTW9kdWxlKHNwZWMubmFtZSkKKyAgICAgICAgICAgICAgICBtb2R1bGUuX19uYW1lX18gPSBuYW1lCisgICAgICAgICAgICAgICAgcmV0dXJuIG1vZHVsZQorICAgICAgICBzcGVjID0gc2VsZi5tYWNoaW5lcnkuTW9kdWxlU3BlYygndGVzdCcsIExvYWRlcigpKQorICAgICAgICBtb2R1bGUgPSBzZWxmLnV0aWwubW9kdWxlX2Zyb21fc3BlYyhzcGVjKQorICAgICAgICBzZWxmLmFzc2VydElzSW5zdGFuY2UobW9kdWxlLCBDdXN0b21Nb2R1bGUpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobW9kdWxlLl9fbmFtZV9fLCBuYW1lKQorCisgICAgZGVmIHRlc3RfX19uYW1lX18oc2VsZik6CisgICAgICAgIHNwZWMgPSBzZWxmLm1hY2hpbmVyeS5Nb2R1bGVTcGVjKCd0ZXN0Jywgb2JqZWN0KCkpCisgICAgICAgIG1vZHVsZSA9IHNlbGYudXRpbC5tb2R1bGVfZnJvbV9zcGVjKHNwZWMpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobW9kdWxlLl9fbmFtZV9fLCBzcGVjLm5hbWUpCisKKyAgICBkZWYgdGVzdF9fX3NwZWNfXyhzZWxmKToKKyAgICAgICAgc3BlYyA9IHNlbGYubWFjaGluZXJ5Lk1vZHVsZVNwZWMoJ3Rlc3QnLCBvYmplY3QoKSkKKyAgICAgICAgbW9kdWxlID0gc2VsZi51dGlsLm1vZHVsZV9mcm9tX3NwZWMoc3BlYykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtb2R1bGUuX19zcGVjX18sIHNwZWMpCisKKyAgICBkZWYgdGVzdF9fX2xvYWRlcl9fKHNlbGYpOgorICAgICAgICBsb2FkZXIgPSBvYmplY3QoKQorICAgICAgICBzcGVjID0gc2VsZi5tYWNoaW5lcnkuTW9kdWxlU3BlYygndGVzdCcsIGxvYWRlcikKKyAgICAgICAgbW9kdWxlID0gc2VsZi51dGlsLm1vZHVsZV9mcm9tX3NwZWMoc3BlYykKKyAgICAgICAgc2VsZi5hc3NlcnRJcyhtb2R1bGUuX19sb2FkZXJfXywgbG9hZGVyKQorCisgICAgZGVmIHRlc3RfX19wYWNrYWdlX18oc2VsZik6CisgICAgICAgIHNwZWMgPSBzZWxmLm1hY2hpbmVyeS5Nb2R1bGVTcGVjKCd0ZXN0LnBrZycsIG9iamVjdCgpKQorICAgICAgICBtb2R1bGUgPSBzZWxmLnV0aWwubW9kdWxlX2Zyb21fc3BlYyhzcGVjKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1vZHVsZS5fX3BhY2thZ2VfXywgc3BlYy5wYXJlbnQpCisKKyAgICBkZWYgdGVzdF9fX3BhdGhfXyhzZWxmKToKKyAgICAgICAgc3BlYyA9IHNlbGYubWFjaGluZXJ5Lk1vZHVsZVNwZWMoJ3Rlc3QnLCBvYmplY3QoKSwgaXNfcGFja2FnZT1UcnVlKQorICAgICAgICBtb2R1bGUgPSBzZWxmLnV0aWwubW9kdWxlX2Zyb21fc3BlYyhzcGVjKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1vZHVsZS5fX3BhdGhfXywgc3BlYy5zdWJtb2R1bGVfc2VhcmNoX2xvY2F0aW9ucykKKworICAgIGRlZiB0ZXN0X19fZmlsZV9fKHNlbGYpOgorICAgICAgICBzcGVjID0gc2VsZi5tYWNoaW5lcnkuTW9kdWxlU3BlYygndGVzdCcsIG9iamVjdCgpLCBvcmlnaW49J3NvbWUvcGF0aCcpCisgICAgICAgIHNwZWMuaGFzX2xvY2F0aW9uID0gVHJ1ZQorICAgICAgICBtb2R1bGUgPSBzZWxmLnV0aWwubW9kdWxlX2Zyb21fc3BlYyhzcGVjKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1vZHVsZS5fX2ZpbGVfXywgc3BlYy5vcmlnaW4pCisKKyAgICBkZWYgdGVzdF9fX2NhY2hlZF9fKHNlbGYpOgorICAgICAgICBzcGVjID0gc2VsZi5tYWNoaW5lcnkuTW9kdWxlU3BlYygndGVzdCcsIG9iamVjdCgpKQorICAgICAgICBzcGVjLmNhY2hlZCA9ICdzb21lL3BhdGgnCisgICAgICAgIHNwZWMuaGFzX2xvY2F0aW9uID0gVHJ1ZQorICAgICAgICBtb2R1bGUgPSBzZWxmLnV0aWwubW9kdWxlX2Zyb21fc3BlYyhzcGVjKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1vZHVsZS5fX2NhY2hlZF9fLCBzcGVjLmNhY2hlZCkKKworKEZyb3plbl9Nb2R1bGVGcm9tU3BlY1Rlc3RzLAorIFNvdXJjZV9Nb2R1bGVGcm9tU3BlY1Rlc3RzCispID0gdXRpbC50ZXN0X2JvdGgoTW9kdWxlRnJvbVNwZWNUZXN0cywgYWJjPWFiYywgbWFjaGluZXJ5PW1hY2hpbmVyeSwKKyAgICAgICAgICAgICAgICAgICB1dGlsPWltcG9ydGxpYl91dGlsKQogCiAKIGNsYXNzIE1vZHVsZUZvckxvYWRlclRlc3RzOgpAQCAtNzAsNyArMTU2LDcgQEAKICAgICAgICAgIyBUZXN0IHRoYXQgd2hlbiBubyBtb2R1bGUgZXhpc3RzIGluIHN5cy5tb2R1bGVzIGEgbmV3IG1vZHVsZSBpcwogICAgICAgICAjIGNyZWF0ZWQuCiAgICAgICAgIG1vZHVsZV9uYW1lID0gJ2EuYi5jJwotICAgICAgICB3aXRoIHRlc3RfdXRpbC51bmNhY2hlKG1vZHVsZV9uYW1lKToKKyAgICAgICAgd2l0aCB1dGlsLnVuY2FjaGUobW9kdWxlX25hbWUpOgogICAgICAgICAgICAgbW9kdWxlID0gc2VsZi5yZXR1cm5fbW9kdWxlKG1vZHVsZV9uYW1lKQogICAgICAgICAgICAgc2VsZi5hc3NlcnRJbihtb2R1bGVfbmFtZSwgc3lzLm1vZHVsZXMpCiAgICAgICAgIHNlbGYuYXNzZXJ0SXNJbnN0YW5jZShtb2R1bGUsIHR5cGVzLk1vZHVsZVR5cGUpCkBAIC04OCw3ICsxNzQsNyBAQAogICAgICAgICBtb2R1bGUgPSB0eXBlcy5Nb2R1bGVUeXBlKCdhLmIuYycpCiAgICAgICAgIG1vZHVsZS5fX2xvYWRlcl9fID0gNDIKICAgICAgICAgbW9kdWxlLl9fcGFja2FnZV9fID0gNDIKLSAgICAgICAgd2l0aCB0ZXN0X3V0aWwudW5jYWNoZShuYW1lKToKKyAgICAgICAgd2l0aCB1dGlsLnVuY2FjaGUobmFtZSk6CiAgICAgICAgICAgICBzeXMubW9kdWxlc1tuYW1lXSA9IG1vZHVsZQogICAgICAgICAgICAgbG9hZGVyID0gRmFrZUxvYWRlcigpCiAgICAgICAgICAgICByZXR1cm5lZF9tb2R1bGUgPSBsb2FkZXIubG9hZF9tb2R1bGUobmFtZSkKQEAgLTEwMCw3ICsxODYsNyBAQAogICAgICAgICAjIFRlc3QgdGhhdCBhIG1vZHVsZSBpcyByZW1vdmVkIGZyb20gc3lzLm1vZHVsZXMgaWYgYWRkZWQgYnV0IGFuCiAgICAgICAgICMgZXhjZXB0aW9uIGlzIHJhaXNlZC4KICAgICAgICAgbmFtZSA9ICdhLmIuYycKLSAgICAgICAgd2l0aCB0ZXN0X3V0aWwudW5jYWNoZShuYW1lKToKKyAgICAgICAgd2l0aCB1dGlsLnVuY2FjaGUobmFtZSk6CiAgICAgICAgICAgICBzZWxmLnJhaXNlX2V4Y2VwdGlvbihuYW1lKQogICAgICAgICAgICAgc2VsZi5hc3NlcnROb3RJbihuYW1lLCBzeXMubW9kdWxlcykKIApAQCAtMTA4LDcgKzE5NCw3IEBACiAgICAgICAgICMgVGVzdCB0aGF0IGEgZmFpbHVyZSBvbiByZWxvYWQgbGVhdmVzIHRoZSBtb2R1bGUgaW4tcGxhY2UuCiAgICAgICAgIG5hbWUgPSAnYS5iLmMnCiAgICAgICAgIG1vZHVsZSA9IHR5cGVzLk1vZHVsZVR5cGUobmFtZSkKLSAgICAgICAgd2l0aCB0ZXN0X3V0aWwudW5jYWNoZShuYW1lKToKKyAgICAgICAgd2l0aCB1dGlsLnVuY2FjaGUobmFtZSk6CiAgICAgICAgICAgICBzeXMubW9kdWxlc1tuYW1lXSA9IG1vZHVsZQogICAgICAgICAgICAgc2VsZi5yYWlzZV9leGNlcHRpb24obmFtZSkKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXMobW9kdWxlLCBzeXMubW9kdWxlc1tuYW1lXSkKQEAgLTEyNyw3ICsyMTMsNyBAQAogCiAgICAgICAgIG5hbWUgPSAnbW9kJwogICAgICAgICBtb2R1bGUgPSBGYWxzZU1vZHVsZShuYW1lKQotICAgICAgICB3aXRoIHRlc3RfdXRpbC51bmNhY2hlKG5hbWUpOgorICAgICAgICB3aXRoIHV0aWwudW5jYWNoZShuYW1lKToKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UobW9kdWxlKQogICAgICAgICAgICAgc3lzLm1vZHVsZXNbbmFtZV0gPSBtb2R1bGUKICAgICAgICAgICAgIGdpdmVuID0gc2VsZi5yZXR1cm5fbW9kdWxlKG5hbWUpCkBAIC0xNDYsNyArMjMyLDcgQEAKICAgICAgICAgICAgICAgICByZXR1cm4gbW9kdWxlCiAKICAgICAgICAgbmFtZSA9ICdwa2cubW9kJwotICAgICAgICB3aXRoIHRlc3RfdXRpbC51bmNhY2hlKG5hbWUpOgorICAgICAgICB3aXRoIHV0aWwudW5jYWNoZShuYW1lKToKICAgICAgICAgICAgIGxvYWRlciA9IEZha2VMb2FkZXIoRmFsc2UpCiAgICAgICAgICAgICBtb2R1bGUgPSBsb2FkZXIubG9hZF9tb2R1bGUobmFtZSkKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobW9kdWxlLl9fbmFtZV9fLCBuYW1lKQpAQCAtMTU0LDE1ICsyNDAsMTcgQEAKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobW9kdWxlLl9fcGFja2FnZV9fLCAncGtnJykKIAogICAgICAgICBuYW1lID0gJ3BrZy5zdWInCi0gICAgICAgIHdpdGggdGVzdF91dGlsLnVuY2FjaGUobmFtZSk6CisgICAgICAgIHdpdGggdXRpbC51bmNhY2hlKG5hbWUpOgogICAgICAgICAgICAgbG9hZGVyID0gRmFrZUxvYWRlcihUcnVlKQogICAgICAgICAgICAgbW9kdWxlID0gbG9hZGVyLmxvYWRfbW9kdWxlKG5hbWUpCiAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1vZHVsZS5fX25hbWVfXywgbmFtZSkKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXMobW9kdWxlLl9fbG9hZGVyX18sIGxvYWRlcikKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobW9kdWxlLl9fcGFja2FnZV9fLCBuYW1lKQogCi1Gcm96ZW5fTW9kdWxlRm9yTG9hZGVyVGVzdHMsIFNvdXJjZV9Nb2R1bGVGb3JMb2FkZXJUZXN0cyA9IHRlc3RfdXRpbC50ZXN0X2JvdGgoCi0gICAgICAgIE1vZHVsZUZvckxvYWRlclRlc3RzLCB1dGlsPVtmcm96ZW5fdXRpbCwgc291cmNlX3V0aWxdKQorCisoRnJvemVuX01vZHVsZUZvckxvYWRlclRlc3RzLAorIFNvdXJjZV9Nb2R1bGVGb3JMb2FkZXJUZXN0cworICkgPSB1dGlsLnRlc3RfYm90aChNb2R1bGVGb3JMb2FkZXJUZXN0cywgdXRpbD1pbXBvcnRsaWJfdXRpbCkKIAogCiBjbGFzcyBTZXRQYWNrYWdlVGVzdHM6CkBAIC0yMjIsMTggKzMxMCwyNSBAQAogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHdyYXBwZWQuX19uYW1lX18sIGZ4bi5fX25hbWVfXykKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh3cmFwcGVkLl9fcXVhbG5hbWVfXywgZnhuLl9fcXVhbG5hbWVfXykKIAotRnJvemVuX1NldFBhY2thZ2VUZXN0cywgU291cmNlX1NldFBhY2thZ2VUZXN0cyA9IHRlc3RfdXRpbC50ZXN0X2JvdGgoCi0gICAgICAgIFNldFBhY2thZ2VUZXN0cywgdXRpbD1bZnJvemVuX3V0aWwsIHNvdXJjZV91dGlsXSkKKworKEZyb3plbl9TZXRQYWNrYWdlVGVzdHMsCisgU291cmNlX1NldFBhY2thZ2VUZXN0cworICkgPSB1dGlsLnRlc3RfYm90aChTZXRQYWNrYWdlVGVzdHMsIHV0aWw9aW1wb3J0bGliX3V0aWwpCiAKIAogY2xhc3MgU2V0TG9hZGVyVGVzdHM6CiAKICAgICAiIiJUZXN0cyBpbXBvcnRsaWIudXRpbC5zZXRfbG9hZGVyKCkuIiIiCiAKLSAgICBjbGFzcyBEdW1teUxvYWRlcjoKLSAgICAgICAgQHV0aWwuc2V0X2xvYWRlcgotICAgICAgICBkZWYgbG9hZF9tb2R1bGUoc2VsZiwgbW9kdWxlKToKLSAgICAgICAgICAgIHJldHVybiBzZWxmLm1vZHVsZQorICAgIEBwcm9wZXJ0eQorICAgIGRlZiBEdW1teUxvYWRlcihzZWxmKToKKyAgICAgICAgIyBTZXQgRHVtbXlMb2FkZXIgb24gdGhlIGNsYXNzIGxhemlseS4KKyAgICAgICAgY2xhc3MgRHVtbXlMb2FkZXI6CisgICAgICAgICAgICBAc2VsZi51dGlsLnNldF9sb2FkZXIKKyAgICAgICAgICAgIGRlZiBsb2FkX21vZHVsZShzZWxmLCBtb2R1bGUpOgorICAgICAgICAgICAgICAgIHJldHVybiBzZWxmLm1vZHVsZQorICAgICAgICBzZWxmLl9fY2xhc3NfXy5EdW1teUxvYWRlciA9IER1bW15TG9hZGVyCisgICAgICAgIHJldHVybiBEdW1teUxvYWRlcgogCiAgICAgZGVmIHRlc3Rfbm9fYXR0cmlidXRlKHNlbGYpOgogICAgICAgICBsb2FkZXIgPSBzZWxmLkR1bW15TG9hZGVyKCkKQEAgLTI2MiwxNyArMzU3LDEwIEBACiAgICAgICAgICAgICB3YXJuaW5ncy5zaW1wbGVmaWx0ZXIoJ2lnbm9yZScsIERlcHJlY2F0aW9uV2FybmluZykKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoNDIsIGxvYWRlci5sb2FkX21vZHVsZSgnYmxhaCcpLl9fbG9hZGVyX18pCiAKLWNsYXNzIEZyb3plbl9TZXRMb2FkZXJUZXN0cyhTZXRMb2FkZXJUZXN0cywgdW5pdHRlc3QuVGVzdENhc2UpOgotICAgIGNsYXNzIER1bW15TG9hZGVyOgotICAgICAgICBAZnJvemVuX3V0aWwuc2V0X2xvYWRlcgotICAgICAgICBkZWYgbG9hZF9tb2R1bGUoc2VsZiwgbW9kdWxlKToKLSAgICAgICAgICAgIHJldHVybiBzZWxmLm1vZHVsZQogCi1jbGFzcyBTb3VyY2VfU2V0TG9hZGVyVGVzdHMoU2V0TG9hZGVyVGVzdHMsIHVuaXR0ZXN0LlRlc3RDYXNlKToKLSAgICBjbGFzcyBEdW1teUxvYWRlcjoKLSAgICAgICAgQHNvdXJjZV91dGlsLnNldF9sb2FkZXIKLSAgICAgICAgZGVmIGxvYWRfbW9kdWxlKHNlbGYsIG1vZHVsZSk6Ci0gICAgICAgICAgICByZXR1cm4gc2VsZi5tb2R1bGUKKyhGcm96ZW5fU2V0TG9hZGVyVGVzdHMsCisgU291cmNlX1NldExvYWRlclRlc3RzCisgKSA9IHV0aWwudGVzdF9ib3RoKFNldExvYWRlclRlc3RzLCB1dGlsPWltcG9ydGxpYl91dGlsKQogCiAKIGNsYXNzIFJlc29sdmVOYW1lVGVzdHM6CkBAIC0zMDcsOSArMzk1LDEwIEBACiAgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvcik6CiAgICAgICAgICAgICBzZWxmLnV0aWwucmVzb2x2ZV9uYW1lKCcuLmJhY29uJywgJ3NwYW0nKQogCi1Gcm96ZW5fUmVzb2x2ZU5hbWVUZXN0cywgU291cmNlX1Jlc29sdmVOYW1lVGVzdHMgPSB0ZXN0X3V0aWwudGVzdF9ib3RoKAotICAgICAgICBSZXNvbHZlTmFtZVRlc3RzLAotICAgICAgICB1dGlsPVtmcm96ZW5fdXRpbCwgc291cmNlX3V0aWxdKQorCisoRnJvemVuX1Jlc29sdmVOYW1lVGVzdHMsCisgU291cmNlX1Jlc29sdmVOYW1lVGVzdHMKKyApID0gdXRpbC50ZXN0X2JvdGgoUmVzb2x2ZU5hbWVUZXN0cywgdXRpbD1pbXBvcnRsaWJfdXRpbCkKIAogCiBjbGFzcyBGaW5kU3BlY1Rlc3RzOgpAQCAtMzIwLDcgKzQwOSw3IEBACiAKICAgICBkZWYgdGVzdF9zeXNfbW9kdWxlcyhzZWxmKToKICAgICAgICAgbmFtZSA9ICdzb21lX21vZCcKLSAgICAgICAgd2l0aCB0ZXN0X3V0aWwudW5jYWNoZShuYW1lKToKKyAgICAgICAgd2l0aCB1dGlsLnVuY2FjaGUobmFtZSk6CiAgICAgICAgICAgICBtb2R1bGUgPSB0eXBlcy5Nb2R1bGVUeXBlKG5hbWUpCiAgICAgICAgICAgICBsb2FkZXIgPSAnYSBsb2FkZXIhJwogICAgICAgICAgICAgc3BlYyA9IHNlbGYubWFjaGluZXJ5Lk1vZHVsZVNwZWMobmFtZSwgbG9hZGVyKQpAQCAtMzMyLDcgKzQyMSw3IEBACiAKICAgICBkZWYgdGVzdF9zeXNfbW9kdWxlc193aXRob3V0X19fbG9hZGVyX18oc2VsZik6CiAgICAgICAgIG5hbWUgPSAnc29tZV9tb2QnCi0gICAgICAgIHdpdGggdGVzdF91dGlsLnVuY2FjaGUobmFtZSk6CisgICAgICAgIHdpdGggdXRpbC51bmNhY2hlKG5hbWUpOgogICAgICAgICAgICAgbW9kdWxlID0gdHlwZXMuTW9kdWxlVHlwZShuYW1lKQogICAgICAgICAgICAgZGVsIG1vZHVsZS5fX2xvYWRlcl9fCiAgICAgICAgICAgICBsb2FkZXIgPSAnYSBsb2FkZXIhJwpAQCAtMzQ0LDcgKzQzMyw3IEBACiAKICAgICBkZWYgdGVzdF9zeXNfbW9kdWxlc19zcGVjX2lzX05vbmUoc2VsZik6CiAgICAgICAgIG5hbWUgPSAnc29tZV9tb2QnCi0gICAgICAgIHdpdGggdGVzdF91dGlsLnVuY2FjaGUobmFtZSk6CisgICAgICAgIHdpdGggdXRpbC51bmNhY2hlKG5hbWUpOgogICAgICAgICAgICAgbW9kdWxlID0gdHlwZXMuTW9kdWxlVHlwZShuYW1lKQogICAgICAgICAgICAgbW9kdWxlLl9fc3BlY19fID0gTm9uZQogICAgICAgICAgICAgc3lzLm1vZHVsZXNbbmFtZV0gPSBtb2R1bGUKQEAgLTM1Myw3ICs0NDIsNyBAQAogCiAgICAgZGVmIHRlc3Rfc3lzX21vZHVsZXNfbG9hZGVyX2lzX05vbmUoc2VsZik6CiAgICAgICAgIG5hbWUgPSAnc29tZV9tb2QnCi0gICAgICAgIHdpdGggdGVzdF91dGlsLnVuY2FjaGUobmFtZSk6CisgICAgICAgIHdpdGggdXRpbC51bmNhY2hlKG5hbWUpOgogICAgICAgICAgICAgbW9kdWxlID0gdHlwZXMuTW9kdWxlVHlwZShuYW1lKQogICAgICAgICAgICAgc3BlYyA9IHNlbGYubWFjaGluZXJ5Lk1vZHVsZVNwZWMobmFtZSwgTm9uZSkKICAgICAgICAgICAgIG1vZHVsZS5fX3NwZWNfXyA9IHNwZWMKQEAgLTM2Myw3ICs0NTIsNyBAQAogCiAgICAgZGVmIHRlc3Rfc3lzX21vZHVsZXNfc3BlY19pc19ub3Rfc2V0KHNlbGYpOgogICAgICAgICBuYW1lID0gJ3NvbWVfbW9kJwotICAgICAgICB3aXRoIHRlc3RfdXRpbC51bmNhY2hlKG5hbWUpOgorICAgICAgICB3aXRoIHV0aWwudW5jYWNoZShuYW1lKToKICAgICAgICAgICAgIG1vZHVsZSA9IHR5cGVzLk1vZHVsZVR5cGUobmFtZSkKICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgICBkZWwgbW9kdWxlLl9fc3BlY19fCkBAIC0zNzUsOCArNDY0LDggQEAKIAogICAgIGRlZiB0ZXN0X3N1Y2Nlc3Moc2VsZik6CiAgICAgICAgIG5hbWUgPSAnc29tZV9tb2QnCi0gICAgICAgIHdpdGggdGVzdF91dGlsLnVuY2FjaGUobmFtZSk6Ci0gICAgICAgICAgICB3aXRoIHRlc3RfdXRpbC5pbXBvcnRfc3RhdGUobWV0YV9wYXRoPVtzZWxmLkZha2VNZXRhRmluZGVyXSk6CisgICAgICAgIHdpdGggdXRpbC51bmNhY2hlKG5hbWUpOgorICAgICAgICAgICAgd2l0aCB1dGlsLmltcG9ydF9zdGF0ZShtZXRhX3BhdGg9W3NlbGYuRmFrZU1ldGFGaW5kZXJdKToKICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKChuYW1lLCBOb25lLCBOb25lKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYudXRpbC5maW5kX3NwZWMobmFtZSkpCiAKQEAgLTM4NCw4ICs0NzMsOCBAQAogIyAgICAgICAgIyBTZWFyY2hpbmcgb24gYSBwYXRoIHNob3VsZCB3b3JrLgogIyAgICAgICAgbmFtZSA9ICdzb21lX21vZCcKICMgICAgICAgIHBhdGggPSAncGF0aCB0byBzb21lIHBsYWNlJwotIyAgICAgICAgd2l0aCB0ZXN0X3V0aWwudW5jYWNoZShuYW1lKToKLSMgICAgICAgICAgICB3aXRoIHRlc3RfdXRpbC5pbXBvcnRfc3RhdGUobWV0YV9wYXRoPVtzZWxmLkZha2VNZXRhRmluZGVyXSk6CisjICAgICAgICB3aXRoIHV0aWwudW5jYWNoZShuYW1lKToKKyMgICAgICAgICAgICB3aXRoIHV0aWwuaW1wb3J0X3N0YXRlKG1ldGFfcGF0aD1bc2VsZi5GYWtlTWV0YUZpbmRlcl0pOgogIyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKChuYW1lLCBwYXRoLCBOb25lKSwKICMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnV0aWwuZmluZF9zcGVjKG5hbWUsIHBhdGgpKQogCkBAIC0zOTYsOCArNDg1LDggQEAKICAgICBkZWYgdGVzdF9maW5kX3N1Ym1vZHVsZShzZWxmKToKICAgICAgICAgbmFtZSA9ICdzcGFtJwogICAgICAgICBzdWJuYW1lID0gJ2hhbScKLSAgICAgICAgd2l0aCB0ZXN0X3V0aWwudGVtcF9tb2R1bGUobmFtZSwgcGtnPVRydWUpIGFzIHBrZ19kaXI6Ci0gICAgICAgICAgICBmdWxsbmFtZSwgXyA9IHRlc3RfdXRpbC5zdWJtb2R1bGUobmFtZSwgc3VibmFtZSwgcGtnX2RpcikKKyAgICAgICAgd2l0aCB1dGlsLnRlbXBfbW9kdWxlKG5hbWUsIHBrZz1UcnVlKSBhcyBwa2dfZGlyOgorICAgICAgICAgICAgZnVsbG5hbWUsIF8gPSB1dGlsLnN1Ym1vZHVsZShuYW1lLCBzdWJuYW1lLCBwa2dfZGlyKQogICAgICAgICAgICAgc3BlYyA9IHNlbGYudXRpbC5maW5kX3NwZWMoZnVsbG5hbWUpCiAgICAgICAgICAgICBzZWxmLmFzc2VydElzTm90KHNwZWMsIE5vbmUpCiAgICAgICAgICAgICBzZWxmLmFzc2VydEluKG5hbWUsIHNvcnRlZChzeXMubW9kdWxlcykpCkBAIC00MDksOSArNDk4LDkgQEAKICAgICBkZWYgdGVzdF9maW5kX3N1Ym1vZHVsZV9wYXJlbnRfYWxyZWFkeV9pbXBvcnRlZChzZWxmKToKICAgICAgICAgbmFtZSA9ICdzcGFtJwogICAgICAgICBzdWJuYW1lID0gJ2hhbScKLSAgICAgICAgd2l0aCB0ZXN0X3V0aWwudGVtcF9tb2R1bGUobmFtZSwgcGtnPVRydWUpIGFzIHBrZ19kaXI6CisgICAgICAgIHdpdGggdXRpbC50ZW1wX21vZHVsZShuYW1lLCBwa2c9VHJ1ZSkgYXMgcGtnX2RpcjoKICAgICAgICAgICAgIHNlbGYuaW5pdC5pbXBvcnRfbW9kdWxlKG5hbWUpCi0gICAgICAgICAgICBmdWxsbmFtZSwgXyA9IHRlc3RfdXRpbC5zdWJtb2R1bGUobmFtZSwgc3VibmFtZSwgcGtnX2RpcikKKyAgICAgICAgICAgIGZ1bGxuYW1lLCBfID0gdXRpbC5zdWJtb2R1bGUobmFtZSwgc3VibmFtZSwgcGtnX2RpcikKICAgICAgICAgICAgIHNwZWMgPSBzZWxmLnV0aWwuZmluZF9zcGVjKGZ1bGxuYW1lKQogICAgICAgICAgICAgc2VsZi5hc3NlcnRJc05vdChzcGVjLCBOb25lKQogICAgICAgICAgICAgc2VsZi5hc3NlcnRJbihuYW1lLCBzb3J0ZWQoc3lzLm1vZHVsZXMpKQpAQCAtNDIzLDggKzUxMiw4IEBACiAgICAgZGVmIHRlc3RfZmluZF9yZWxhdGl2ZV9tb2R1bGUoc2VsZik6CiAgICAgICAgIG5hbWUgPSAnc3BhbScKICAgICAgICAgc3VibmFtZSA9ICdoYW0nCi0gICAgICAgIHdpdGggdGVzdF91dGlsLnRlbXBfbW9kdWxlKG5hbWUsIHBrZz1UcnVlKSBhcyBwa2dfZGlyOgotICAgICAgICAgICAgZnVsbG5hbWUsIF8gPSB0ZXN0X3V0aWwuc3VibW9kdWxlKG5hbWUsIHN1Ym5hbWUsIHBrZ19kaXIpCisgICAgICAgIHdpdGggdXRpbC50ZW1wX21vZHVsZShuYW1lLCBwa2c9VHJ1ZSkgYXMgcGtnX2RpcjoKKyAgICAgICAgICAgIGZ1bGxuYW1lLCBfID0gdXRpbC5zdWJtb2R1bGUobmFtZSwgc3VibmFtZSwgcGtnX2RpcikKICAgICAgICAgICAgIHJlbG5hbWUgPSAnLicgKyBzdWJuYW1lCiAgICAgICAgICAgICBzcGVjID0gc2VsZi51dGlsLmZpbmRfc3BlYyhyZWxuYW1lLCBuYW1lKQogICAgICAgICAgICAgc2VsZi5hc3NlcnRJc05vdChzcGVjLCBOb25lKQpAQCAtNDM3LDggKzUyNiw4IEBACiAgICAgZGVmIHRlc3RfZmluZF9yZWxhdGl2ZV9tb2R1bGVfbWlzc2luZ19wYWNrYWdlKHNlbGYpOgogICAgICAgICBuYW1lID0gJ3NwYW0nCiAgICAgICAgIHN1Ym5hbWUgPSAnaGFtJwotICAgICAgICB3aXRoIHRlc3RfdXRpbC50ZW1wX21vZHVsZShuYW1lLCBwa2c9VHJ1ZSkgYXMgcGtnX2RpcjoKLSAgICAgICAgICAgIGZ1bGxuYW1lLCBfID0gdGVzdF91dGlsLnN1Ym1vZHVsZShuYW1lLCBzdWJuYW1lLCBwa2dfZGlyKQorICAgICAgICB3aXRoIHV0aWwudGVtcF9tb2R1bGUobmFtZSwgcGtnPVRydWUpIGFzIHBrZ19kaXI6CisgICAgICAgICAgICBmdWxsbmFtZSwgXyA9IHV0aWwuc3VibW9kdWxlKG5hbWUsIHN1Ym5hbWUsIHBrZ19kaXIpCiAgICAgICAgICAgICByZWxuYW1lID0gJy4nICsgc3VibmFtZQogICAgICAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yKToKICAgICAgICAgICAgICAgICBzZWxmLnV0aWwuZmluZF9zcGVjKHJlbG5hbWUpCkBAIC00NDYsMTUgKzUzNSwxMCBAQAogICAgICAgICAgICAgc2VsZi5hc3NlcnROb3RJbihmdWxsbmFtZSwgc29ydGVkKHN5cy5tb2R1bGVzKSkKIAogCi1jbGFzcyBGcm96ZW5fRmluZFNwZWNUZXN0cyhGaW5kU3BlY1Rlc3RzLCB1bml0dGVzdC5UZXN0Q2FzZSk6Ci0gICAgaW5pdCA9IGZyb3plbl9pbml0Ci0gICAgbWFjaGluZXJ5ID0gZnJvemVuX21hY2hpbmVyeQotICAgIHV0aWwgPSBmcm96ZW5fdXRpbAotCi1jbGFzcyBTb3VyY2VfRmluZFNwZWNUZXN0cyhGaW5kU3BlY1Rlc3RzLCB1bml0dGVzdC5UZXN0Q2FzZSk6Ci0gICAgaW5pdCA9IHNvdXJjZV9pbml0Ci0gICAgbWFjaGluZXJ5ID0gc291cmNlX21hY2hpbmVyeQotICAgIHV0aWwgPSBzb3VyY2VfdXRpbAorKEZyb3plbl9GaW5kU3BlY1Rlc3RzLAorIFNvdXJjZV9GaW5kU3BlY1Rlc3RzCisgKSA9IHV0aWwudGVzdF9ib3RoKEZpbmRTcGVjVGVzdHMsIGluaXQ9aW5pdCwgdXRpbD1pbXBvcnRsaWJfdXRpbCwKKyAgICAgICAgICAgICAgICAgICAgICAgICBtYWNoaW5lcnk9bWFjaGluZXJ5KQogCiAKIGNsYXNzIE1hZ2ljTnVtYmVyVGVzdHM6CkBAIC00NjcsOCArNTUxLDEwIEBACiAgICAgICAgICMgVGhlIG1hZ2ljIG51bWJlciB1c2VzIFxyXG4gdG8gY29tZSBvdXQgd3Jvbmcgd2hlbiBzcGxpdHRpbmcgb24gbGluZXMuCiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShzZWxmLnV0aWwuTUFHSUNfTlVNQkVSLmVuZHN3aXRoKGInXHJcbicpKQogCi1Gcm96ZW5fTWFnaWNOdW1iZXJUZXN0cywgU291cmNlX01hZ2ljTnVtYmVyVGVzdHMgPSB0ZXN0X3V0aWwudGVzdF9ib3RoKAotICAgICAgICBNYWdpY051bWJlclRlc3RzLCB1dGlsPVtmcm96ZW5fdXRpbCwgc291cmNlX3V0aWxdKQorCisoRnJvemVuX01hZ2ljTnVtYmVyVGVzdHMsCisgU291cmNlX01hZ2ljTnVtYmVyVGVzdHMKKyApID0gdXRpbC50ZXN0X2JvdGgoTWFnaWNOdW1iZXJUZXN0cywgdXRpbD1pbXBvcnRsaWJfdXRpbCkKIAogCiBjbGFzcyBQRVAzMTQ3VGVzdHM6CkBAIC01ODMsOSArNjY5LDEwIEBACiAgICAgICAgICAgICBWYWx1ZUVycm9yLCBzZWxmLnV0aWwuc291cmNlX2Zyb21fY2FjaGUsCiAgICAgICAgICAgICAnL2Zvby9iYXIvZm9vLmNweXRob24tMzIuZm9vLnB5YycpCiAKLUZyb3plbl9QRVAzMTQ3VGVzdHMsIFNvdXJjZV9QRVAzMTQ3VGVzdHMgPSB0ZXN0X3V0aWwudGVzdF9ib3RoKAotICAgICAgICBQRVAzMTQ3VGVzdHMsCi0gICAgICAgIHV0aWw9W2Zyb3plbl91dGlsLCBzb3VyY2VfdXRpbF0pCisKKyhGcm96ZW5fUEVQMzE0N1Rlc3RzLAorIFNvdXJjZV9QRVAzMTQ3VGVzdHMKKyApID0gdXRpbC50ZXN0X2JvdGgoUEVQMzE0N1Rlc3RzLCB1dGlsPWltcG9ydGxpYl91dGlsKQogCiAKIGlmIF9fbmFtZV9fID09ICdfX21haW5fXyc6CmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi90ZXN0X3dpbmRvd3MucHkgYi9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi90ZXN0X3dpbmRvd3MucHkKaW5kZXggOTZiNGFkYy4uYzg5M2JjZiAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvdGVzdF93aW5kb3dzLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL3Rlc3Rfd2luZG93cy5weQpAQCAtMSwxNCArMSw2NCBAQAotZnJvbSAuIGltcG9ydCB1dGlsCi1mcm96ZW5fbWFjaGluZXJ5LCBzb3VyY2VfbWFjaGluZXJ5ID0gdXRpbC5pbXBvcnRfaW1wb3J0bGliKCdpbXBvcnRsaWIubWFjaGluZXJ5JykKK2Zyb20gLiBpbXBvcnQgdXRpbCBhcyB0ZXN0X3V0aWwKK21hY2hpbmVyeSA9IHRlc3RfdXRpbC5pbXBvcnRfaW1wb3J0bGliKCdpbXBvcnRsaWIubWFjaGluZXJ5JykKIAoraW1wb3J0IG9zCitpbXBvcnQgcmUKIGltcG9ydCBzeXMKIGltcG9ydCB1bml0dGVzdAorZnJvbSB0ZXN0IGltcG9ydCBzdXBwb3J0Citmcm9tIGRpc3R1dGlscy51dGlsIGltcG9ydCBnZXRfcGxhdGZvcm0KK2Zyb20gY29udGV4dGxpYiBpbXBvcnQgY29udGV4dG1hbmFnZXIKK2Zyb20gLnV0aWwgaW1wb3J0IHRlbXBfbW9kdWxlCisKK3N1cHBvcnQuaW1wb3J0X21vZHVsZSgnd2lucmVnJywgcmVxdWlyZWRfb249Wyd3aW4nXSkKK2Zyb20gd2lucmVnIGltcG9ydCAoCisgICAgQ3JlYXRlS2V5LCBIS0VZX0NVUlJFTlRfVVNFUiwKKyAgICBTZXRWYWx1ZSwgUkVHX1NaLCBLRVlfQUxMX0FDQ0VTUywKKyAgICBFbnVtS2V5LCBDbG9zZUtleSwgRGVsZXRlS2V5LCBPcGVuS2V5CispCisKK2RlZiBkZWxldGVfcmVnaXN0cnlfdHJlZShyb290LCBzdWJrZXkpOgorICAgIHRyeToKKyAgICAgICAgaGtleSA9IE9wZW5LZXkocm9vdCwgc3Via2V5LCBhY2Nlc3M9S0VZX0FMTF9BQ0NFU1MpCisgICAgZXhjZXB0IE9TRXJyb3I6CisgICAgICAgICMgc3Via2V5IGRvZXMgbm90IGV4aXN0CisgICAgICAgIHJldHVybgorICAgIHdoaWxlIFRydWU6CisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHN1YnN1YmtleSA9IEVudW1LZXkoaGtleSwgMCkKKyAgICAgICAgZXhjZXB0IE9TRXJyb3I6CisgICAgICAgICAgICAjIG5vIG1vcmUgc3Via2V5cworICAgICAgICAgICAgYnJlYWsKKyAgICAgICAgZGVsZXRlX3JlZ2lzdHJ5X3RyZWUoaGtleSwgc3Vic3Via2V5KQorICAgIENsb3NlS2V5KGhrZXkpCisgICAgRGVsZXRlS2V5KHJvb3QsIHN1YmtleSkKKworQGNvbnRleHRtYW5hZ2VyCitkZWYgc2V0dXBfbW9kdWxlKG1hY2hpbmVyeSwgbmFtZSwgcGF0aD1Ob25lKToKKyAgICBpZiBtYWNoaW5lcnkuV2luZG93c1JlZ2lzdHJ5RmluZGVyLkRFQlVHX0JVSUxEOgorICAgICAgICByb290ID0gbWFjaGluZXJ5LldpbmRvd3NSZWdpc3RyeUZpbmRlci5SRUdJU1RSWV9LRVlfREVCVUcKKyAgICBlbHNlOgorICAgICAgICByb290ID0gbWFjaGluZXJ5LldpbmRvd3NSZWdpc3RyeUZpbmRlci5SRUdJU1RSWV9LRVkKKyAgICBrZXkgPSByb290LmZvcm1hdChmdWxsbmFtZT1uYW1lLAorICAgICAgICAgICAgICAgICAgICAgIHN5c192ZXJzaW9uPXN5cy52ZXJzaW9uWzozXSkKKyAgICB0cnk6CisgICAgICAgIHdpdGggdGVtcF9tb2R1bGUobmFtZSwgImEgPSAxIikgYXMgbG9jYXRpb246CisgICAgICAgICAgICBzdWJrZXkgPSBDcmVhdGVLZXkoSEtFWV9DVVJSRU5UX1VTRVIsIGtleSkKKyAgICAgICAgICAgIGlmIHBhdGggaXMgTm9uZToKKyAgICAgICAgICAgICAgICBwYXRoID0gbG9jYXRpb24gKyAiLnB5IgorICAgICAgICAgICAgU2V0VmFsdWUoc3Via2V5LCAiIiwgUkVHX1NaLCBwYXRoKQorICAgICAgICAgICAgeWllbGQKKyAgICBmaW5hbGx5OgorICAgICAgICBpZiBtYWNoaW5lcnkuV2luZG93c1JlZ2lzdHJ5RmluZGVyLkRFQlVHX0JVSUxEOgorICAgICAgICAgICAga2V5ID0gb3MucGF0aC5kaXJuYW1lKGtleSkKKyAgICAgICAgZGVsZXRlX3JlZ2lzdHJ5X3RyZWUoSEtFWV9DVVJSRU5UX1VTRVIsIGtleSkKIAogCiBAdW5pdHRlc3Quc2tpcFVubGVzcyhzeXMucGxhdGZvcm0uc3RhcnRzd2l0aCgnd2luJyksICdyZXF1aXJlcyBXaW5kb3dzJykKIGNsYXNzIFdpbmRvd3NSZWdpc3RyeUZpbmRlclRlc3RzOgotCi0gICAgIyBYWFggTmVlZCBhIHRlc3QgdGhhdCBmaW5kcyB0aGUgc3BlYyB2aWEgdGhlIHJlZ2lzdHJ5LgorICAgICMgVGhlIG1vZHVsZSBuYW1lIGlzIHByb2Nlc3Mtc3BlY2lmaWMsIGFsbG93aW5nIGZvcgorICAgICMgc2ltdWx0YW5lb3VzIHJ1bnMgb2YgdGhlIHNhbWUgdGVzdCBvbiBhIHNpbmdsZSBtYWNoaW5lLgorICAgIHRlc3RfbW9kdWxlID0gInNwYW1oYW17fSIuZm9ybWF0KG9zLmdldHBpZCgpKQogCiAgICAgZGVmIHRlc3RfZmluZF9zcGVjX21pc3Npbmcoc2VsZik6CiAgICAgICAgIHNwZWMgPSBzZWxmLm1hY2hpbmVyeS5XaW5kb3dzUmVnaXN0cnlGaW5kZXIuZmluZF9zcGVjKCdzcGFtJykKQEAgLTE4LDEyICs2OCw0MiBAQAogICAgICAgICBsb2FkZXIgPSBzZWxmLm1hY2hpbmVyeS5XaW5kb3dzUmVnaXN0cnlGaW5kZXIuZmluZF9tb2R1bGUoJ3NwYW0nKQogICAgICAgICBzZWxmLmFzc2VydElzKGxvYWRlciwgTm9uZSkKIAorICAgIGRlZiB0ZXN0X21vZHVsZV9mb3VuZChzZWxmKToKKyAgICAgICAgd2l0aCBzZXR1cF9tb2R1bGUoc2VsZi5tYWNoaW5lcnksIHNlbGYudGVzdF9tb2R1bGUpOgorICAgICAgICAgICAgbG9hZGVyID0gc2VsZi5tYWNoaW5lcnkuV2luZG93c1JlZ2lzdHJ5RmluZGVyLmZpbmRfbW9kdWxlKHNlbGYudGVzdF9tb2R1bGUpCisgICAgICAgICAgICBzcGVjID0gc2VsZi5tYWNoaW5lcnkuV2luZG93c1JlZ2lzdHJ5RmluZGVyLmZpbmRfc3BlYyhzZWxmLnRlc3RfbW9kdWxlKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRJc05vdChsb2FkZXIsIE5vbmUpCisgICAgICAgICAgICBzZWxmLmFzc2VydElzTm90KHNwZWMsIE5vbmUpCiAKLWNsYXNzIEZyb3plbl9XaW5kb3dzUmVnaXN0cnlGaW5kZXJUZXN0cyhXaW5kb3dzUmVnaXN0cnlGaW5kZXJUZXN0cywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bml0dGVzdC5UZXN0Q2FzZSk6Ci0gICAgbWFjaGluZXJ5ID0gZnJvemVuX21hY2hpbmVyeQorICAgIGRlZiB0ZXN0X21vZHVsZV9ub3RfZm91bmQoc2VsZik6CisgICAgICAgIHdpdGggc2V0dXBfbW9kdWxlKHNlbGYubWFjaGluZXJ5LCBzZWxmLnRlc3RfbW9kdWxlLCBwYXRoPSIuIik6CisgICAgICAgICAgICBsb2FkZXIgPSBzZWxmLm1hY2hpbmVyeS5XaW5kb3dzUmVnaXN0cnlGaW5kZXIuZmluZF9tb2R1bGUoc2VsZi50ZXN0X21vZHVsZSkKKyAgICAgICAgICAgIHNwZWMgPSBzZWxmLm1hY2hpbmVyeS5XaW5kb3dzUmVnaXN0cnlGaW5kZXIuZmluZF9zcGVjKHNlbGYudGVzdF9tb2R1bGUpCisgICAgICAgICAgICBzZWxmLmFzc2VydElzTm9uZShsb2FkZXIpCisgICAgICAgICAgICBzZWxmLmFzc2VydElzTm9uZShzcGVjKQogCisoRnJvemVuX1dpbmRvd3NSZWdpc3RyeUZpbmRlclRlc3RzLAorIFNvdXJjZV9XaW5kb3dzUmVnaXN0cnlGaW5kZXJUZXN0cworICkgPSB0ZXN0X3V0aWwudGVzdF9ib3RoKFdpbmRvd3NSZWdpc3RyeUZpbmRlclRlc3RzLCBtYWNoaW5lcnk9bWFjaGluZXJ5KQogCi1jbGFzcyBTb3VyY2VfV2luZG93c1JlZ2lzdHJ5RmluZGVyVGVzdHMoV2luZG93c1JlZ2lzdHJ5RmluZGVyVGVzdHMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5pdHRlc3QuVGVzdENhc2UpOgotICAgIG1hY2hpbmVyeSA9IHNvdXJjZV9tYWNoaW5lcnkKK0B1bml0dGVzdC5za2lwVW5sZXNzKHN5cy5wbGF0Zm9ybS5zdGFydHN3aXRoKCd3aW4nKSwgJ3JlcXVpcmVzIFdpbmRvd3MnKQorY2xhc3MgV2luZG93c0V4dGVuc2lvblN1ZmZpeFRlc3RzOgorICAgIGRlZiB0ZXN0X3RhZ2dlZF9zdWZmaXgoc2VsZik6CisgICAgICAgIHN1ZmZpeGVzID0gc2VsZi5tYWNoaW5lcnkuRVhURU5TSU9OX1NVRkZJWEVTCisgICAgICAgIGV4cGVjdGVkX3RhZyA9ICIuY3B7MC5tYWpvcn17MC5taW5vcn0tezF9LnB5ZCIuZm9ybWF0KHN5cy52ZXJzaW9uX2luZm8sCisgICAgICAgICAgICByZS5zdWIoJ1teYS16QS1aMC05XScsICdfJywgZ2V0X3BsYXRmb3JtKCkpKQorICAgICAgICB0cnk6CisgICAgICAgICAgICB1bnRhZ2dlZF9pID0gc3VmZml4ZXMuaW5kZXgoIi5weWQiKQorICAgICAgICBleGNlcHQgVmFsdWVFcnJvcjoKKyAgICAgICAgICAgIHVudGFnZ2VkX2kgPSBzdWZmaXhlcy5pbmRleCgiX2QucHlkIikKKyAgICAgICAgICAgIGV4cGVjdGVkX3RhZyA9ICJfZCIgKyBleHBlY3RlZF90YWcKKworICAgICAgICBzZWxmLmFzc2VydEluKGV4cGVjdGVkX3RhZywgc3VmZml4ZXMpCisKKyAgICAgICAgIyBFbnN1cmUgdGhlIHRhZ3MgYXJlIGluIHRoZSBjb3JyZWN0IG9yZGVyCisgICAgICAgIHRhZ2dlZF9pID0gc3VmZml4ZXMuaW5kZXgoZXhwZWN0ZWRfdGFnKQorICAgICAgICBzZWxmLmFzc2VydExlc3ModGFnZ2VkX2ksIHVudGFnZ2VkX2kpCisKKyhGcm96ZW5fV2luZG93c0V4dGVuc2lvblN1ZmZpeFRlc3RzLAorIFNvdXJjZV9XaW5kb3dzRXh0ZW5zaW9uU3VmZml4VGVzdHMKKyApID0gdGVzdF91dGlsLnRlc3RfYm90aChXaW5kb3dzRXh0ZW5zaW9uU3VmZml4VGVzdHMsIG1hY2hpbmVyeT1tYWNoaW5lcnkpCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi91dGlsLnB5IGIvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvdXRpbC5weQppbmRleCA4ODVjZWMzLi5hYTRjZDdlIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi91dGlsLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL3V0aWwucHkKQEAgLTEsMzEgKzEsODUgQEAKLWZyb20gY29udGV4dGxpYiBpbXBvcnQgY29udGV4dG1hbmFnZXIKLWZyb20gaW1wb3J0bGliIGltcG9ydCB1dGlsLCBpbnZhbGlkYXRlX2NhY2hlcworaW1wb3J0IGJ1aWx0aW5zCitpbXBvcnQgY29udGV4dGxpYgoraW1wb3J0IGVycm5vCitpbXBvcnQgZnVuY3Rvb2xzCitpbXBvcnQgaW1wb3J0bGliCitmcm9tIGltcG9ydGxpYiBpbXBvcnQgbWFjaGluZXJ5LCB1dGlsLCBpbnZhbGlkYXRlX2NhY2hlcworaW1wb3J0IG9zCiBpbXBvcnQgb3MucGF0aAogZnJvbSB0ZXN0IGltcG9ydCBzdXBwb3J0CiBpbXBvcnQgdW5pdHRlc3QKIGltcG9ydCBzeXMKK2ltcG9ydCB0ZW1wZmlsZQogaW1wb3J0IHR5cGVzCiAKIAorQlVJTFRJTlMgPSB0eXBlcy5TaW1wbGVOYW1lc3BhY2UoKQorQlVJTFRJTlMuZ29vZF9uYW1lID0gTm9uZQorQlVJTFRJTlMuYmFkX25hbWUgPSBOb25lCitpZiAnZXJybm8nIGluIHN5cy5idWlsdGluX21vZHVsZV9uYW1lczoKKyAgICBCVUlMVElOUy5nb29kX25hbWUgPSAnZXJybm8nCitpZiAnaW1wb3J0bGliJyBub3QgaW4gc3lzLmJ1aWx0aW5fbW9kdWxlX25hbWVzOgorICAgIEJVSUxUSU5TLmJhZF9uYW1lID0gJ2ltcG9ydGxpYicKKworRVhURU5TSU9OUyA9IHR5cGVzLlNpbXBsZU5hbWVzcGFjZSgpCitFWFRFTlNJT05TLnBhdGggPSBOb25lCitFWFRFTlNJT05TLmV4dCA9IE5vbmUKK0VYVEVOU0lPTlMuZmlsZW5hbWUgPSBOb25lCitFWFRFTlNJT05TLmZpbGVfcGF0aCA9IE5vbmUKK0VYVEVOU0lPTlMubmFtZSA9ICdfdGVzdGNhcGknCisKK2RlZiBfZXh0ZW5zaW9uX2RldGFpbHMoKToKKyAgICBnbG9iYWwgRVhURU5TSU9OUworICAgIGZvciBwYXRoIGluIHN5cy5wYXRoOgorICAgICAgICBmb3IgZXh0IGluIG1hY2hpbmVyeS5FWFRFTlNJT05fU1VGRklYRVM6CisgICAgICAgICAgICBmaWxlbmFtZSA9IEVYVEVOU0lPTlMubmFtZSArIGV4dAorICAgICAgICAgICAgZmlsZV9wYXRoID0gb3MucGF0aC5qb2luKHBhdGgsIGZpbGVuYW1lKQorICAgICAgICAgICAgaWYgb3MucGF0aC5leGlzdHMoZmlsZV9wYXRoKToKKyAgICAgICAgICAgICAgICBFWFRFTlNJT05TLnBhdGggPSBwYXRoCisgICAgICAgICAgICAgICAgRVhURU5TSU9OUy5leHQgPSBleHQKKyAgICAgICAgICAgICAgICBFWFRFTlNJT05TLmZpbGVuYW1lID0gZmlsZW5hbWUKKyAgICAgICAgICAgICAgICBFWFRFTlNJT05TLmZpbGVfcGF0aCA9IGZpbGVfcGF0aAorICAgICAgICAgICAgICAgIHJldHVybgorCitfZXh0ZW5zaW9uX2RldGFpbHMoKQorCisKIGRlZiBpbXBvcnRfaW1wb3J0bGliKG1vZHVsZV9uYW1lKToKICAgICAiIiJJbXBvcnQgYSBtb2R1bGUgZnJvbSBpbXBvcnRsaWIgYm90aCB3LyBhbmQgdy9vIF9mcm96ZW5faW1wb3J0bGliLiIiIgogICAgIGZyZXNoID0gKCdpbXBvcnRsaWInLCkgaWYgJy4nIGluIG1vZHVsZV9uYW1lIGVsc2UgKCkKICAgICBmcm96ZW4gPSBzdXBwb3J0LmltcG9ydF9mcmVzaF9tb2R1bGUobW9kdWxlX25hbWUpCiAgICAgc291cmNlID0gc3VwcG9ydC5pbXBvcnRfZnJlc2hfbW9kdWxlKG1vZHVsZV9uYW1lLCBmcmVzaD1mcmVzaCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxvY2tlZD0oJ19mcm96ZW5faW1wb3J0bGliJywpKQorICAgIHJldHVybiB7J0Zyb3plbic6IGZyb3plbiwgJ1NvdXJjZSc6IHNvdXJjZX0KKworCitkZWYgc3BlY2lhbGl6ZV9jbGFzcyhjbHMsIGtpbmQsIGJhc2U9Tm9uZSwgKiprd2FyZ3MpOgorICAgICMgWFhYIFN1cHBvcnQgcGFzc2luZyBpbiBzdWJtb2R1bGUgbmFtZXMtLWxvYWQgKGFuZCBjYWNoZSkgdGhlbT8KKyAgICAjIFRoYXQgd291bGQgY2xlYW4gdXAgdGhlIHRlc3QgbW9kdWxlcyBhIGJpdCBtb3JlLgorICAgIGlmIGJhc2UgaXMgTm9uZToKKyAgICAgICAgYmFzZSA9IHVuaXR0ZXN0LlRlc3RDYXNlCisgICAgZWxpZiBub3QgaXNpbnN0YW5jZShiYXNlLCB0eXBlKToKKyAgICAgICAgYmFzZSA9IGJhc2Vba2luZF0KKyAgICBuYW1lID0gJ3t9X3t9Jy5mb3JtYXQoa2luZCwgY2xzLl9fbmFtZV9fKQorICAgIGJhc2VzID0gKGNscywgYmFzZSkKKyAgICBzcGVjaWFsaXplZCA9IHR5cGVzLm5ld19jbGFzcyhuYW1lLCBiYXNlcykKKyAgICBzcGVjaWFsaXplZC5fX21vZHVsZV9fID0gY2xzLl9fbW9kdWxlX18KKyAgICBzcGVjaWFsaXplZC5fTkFNRSA9IGNscy5fX25hbWVfXworICAgIHNwZWNpYWxpemVkLl9LSU5EID0ga2luZAorICAgIGZvciBhdHRyLCB2YWx1ZXMgaW4ga3dhcmdzLml0ZW1zKCk6CisgICAgICAgIHZhbHVlID0gdmFsdWVzW2tpbmRdCisgICAgICAgIHNldGF0dHIoc3BlY2lhbGl6ZWQsIGF0dHIsIHZhbHVlKQorICAgIHJldHVybiBzcGVjaWFsaXplZAorCisKK2RlZiBzcGxpdF9mcm96ZW4oY2xzLCBiYXNlPU5vbmUsICoqa3dhcmdzKToKKyAgICBmcm96ZW4gPSBzcGVjaWFsaXplX2NsYXNzKGNscywgJ0Zyb3plbicsIGJhc2UsICoqa3dhcmdzKQorICAgIHNvdXJjZSA9IHNwZWNpYWxpemVfY2xhc3MoY2xzLCAnU291cmNlJywgYmFzZSwgKiprd2FyZ3MpCiAgICAgcmV0dXJuIGZyb3plbiwgc291cmNlCiAKIAotZGVmIHRlc3RfYm90aCh0ZXN0X2NsYXNzLCAqKmt3YXJncyk6Ci0gICAgZnJvemVuX3Rlc3RzID0gdHlwZXMubmV3X2NsYXNzKCdGcm96ZW5fJyt0ZXN0X2NsYXNzLl9fbmFtZV9fLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodGVzdF9jbGFzcywgdW5pdHRlc3QuVGVzdENhc2UpKQotICAgIHNvdXJjZV90ZXN0cyA9IHR5cGVzLm5ld19jbGFzcygnU291cmNlXycrdGVzdF9jbGFzcy5fX25hbWVfXywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHRlc3RfY2xhc3MsIHVuaXR0ZXN0LlRlc3RDYXNlKSkKLSAgICBmcm96ZW5fdGVzdHMuX19tb2R1bGVfXyA9IHNvdXJjZV90ZXN0cy5fX21vZHVsZV9fID0gdGVzdF9jbGFzcy5fX21vZHVsZV9fCi0gICAgZm9yIGF0dHIsIChmcm96ZW5fdmFsdWUsIHNvdXJjZV92YWx1ZSkgaW4ga3dhcmdzLml0ZW1zKCk6Ci0gICAgICAgIHNldGF0dHIoZnJvemVuX3Rlc3RzLCBhdHRyLCBmcm96ZW5fdmFsdWUpCi0gICAgICAgIHNldGF0dHIoc291cmNlX3Rlc3RzLCBhdHRyLCBzb3VyY2VfdmFsdWUpCi0gICAgcmV0dXJuIGZyb3plbl90ZXN0cywgc291cmNlX3Rlc3RzCitkZWYgdGVzdF9ib3RoKHRlc3RfY2xhc3MsIGJhc2U9Tm9uZSwgKiprd2FyZ3MpOgorICAgIHJldHVybiBzcGxpdF9mcm96ZW4odGVzdF9jbGFzcywgYmFzZSwgKiprd2FyZ3MpCiAKIAogQ0FTRV9JTlNFTlNJVElWRV9GUyA9IFRydWUKQEAgLTM4LDYgKzkyLDEwIEBACiAgICAgaWYgbm90IG9zLnBhdGguZXhpc3RzKGNoYW5nZWRfbmFtZSk6CiAgICAgICAgIENBU0VfSU5TRU5TSVRJVkVfRlMgPSBGYWxzZQogCitzb3VyY2VfaW1wb3J0bGliID0gaW1wb3J0X2ltcG9ydGxpYignaW1wb3J0bGliJylbJ1NvdXJjZSddCitfX2ltcG9ydF9fID0geydGcm96ZW4nOiBzdGF0aWNtZXRob2QoYnVpbHRpbnMuX19pbXBvcnRfXyksCisgICAgICAgICAgICAgICdTb3VyY2UnOiBzdGF0aWNtZXRob2Qoc291cmNlX2ltcG9ydGxpYi5fX2ltcG9ydF9fKX0KKwogCiBkZWYgY2FzZV9pbnNlbnNpdGl2ZV90ZXN0cyh0ZXN0KToKICAgICAiIiJDbGFzcyBkZWNvcmF0b3IgdGhhdCBudWxsaWZpZXMgdGVzdHMgcmVxdWlyaW5nIGEgY2FzZS1pbnNlbnNpdGl2ZQpAQCAtNTMsNyArMTExLDcgQEAKICAgICByZXR1cm4gJ3t9Lnt9Jy5mb3JtYXQocGFyZW50LCBuYW1lKSwgcGF0aAogCiAKLUBjb250ZXh0bWFuYWdlcgorQGNvbnRleHRsaWIuY29udGV4dG1hbmFnZXIKIGRlZiB1bmNhY2hlKCpuYW1lcyk6CiAgICAgIiIiVW5jYWNoZSBhIG1vZHVsZSBmcm9tIHN5cy5tb2R1bGVzLgogCkBAIC03OSw3ICsxMzcsNyBAQAogICAgICAgICAgICAgICAgIHBhc3MKIAogCi1AY29udGV4dG1hbmFnZXIKK0Bjb250ZXh0bGliLmNvbnRleHRtYW5hZ2VyCiBkZWYgdGVtcF9tb2R1bGUobmFtZSwgY29udGVudD0nJywgKiwgcGtnPUZhbHNlKToKICAgICBjb25mbGljdHMgPSBbbiBmb3IgbiBpbiBzeXMubW9kdWxlcyBpZiBuLnBhcnRpdGlvbignLicpWzBdID09IG5hbWVdCiAgICAgd2l0aCBzdXBwb3J0LnRlbXBfY3dkKE5vbmUpIGFzIGN3ZDoKQEAgLTEwMyw3ICsxNjEsNyBAQAogICAgICAgICAgICAgICAgIHlpZWxkIGxvY2F0aW9uCiAKIAotQGNvbnRleHRtYW5hZ2VyCitAY29udGV4dGxpYi5jb250ZXh0bWFuYWdlcgogZGVmIGltcG9ydF9zdGF0ZSgqKmt3YXJncyk6CiAgICAgIiIiQ29udGV4dCBtYW5hZ2VyIHRvIG1hbmFnZSB0aGUgdmFyaW91cyBpbXBvcnRlcnMgYW5kIHN0b3JlZCBzdGF0ZSBpbiB0aGUKICAgICBzeXMgbW9kdWxlLgpAQCAtMTk4LDYgKzI1Niw3IEBACiAgICAgICAgICAgICAgICAgICAgIHJhaXNlCiAgICAgICAgICAgICByZXR1cm4gc2VsZi5tb2R1bGVzW2Z1bGxuYW1lXQogCisKIGNsYXNzIG1vY2tfc3BlYyhfSW1wb3J0ZXJNb2NrKToKIAogICAgICIiIkltcG9ydGVyIG1vY2sgdXNpbmcgUEVQIDQ1MSBBUElzLiIiIgpAQCAtMjIzLDMgKzI4Miw5OSBAQAogICAgICAgICAgICAgc2VsZi5tb2R1bGVfY29kZVttb2R1bGUuX19zcGVjX18ubmFtZV0oKQogICAgICAgICBleGNlcHQgS2V5RXJyb3I6CiAgICAgICAgICAgICBwYXNzCisKKworZGVmIHdyaXRlc19ieXRlY29kZV9maWxlcyhmeG4pOgorICAgICIiIkRlY29yYXRvciB0byBwcm90ZWN0IHN5cy5kb250X3dyaXRlX2J5dGVjb2RlIGZyb20gbXV0YXRpb24gYW5kIHRvIHNraXAKKyAgICB0ZXN0cyB0aGF0IHJlcXVpcmUgaXQgdG8gYmUgc2V0IHRvIEZhbHNlLiIiIgorICAgIGlmIHN5cy5kb250X3dyaXRlX2J5dGVjb2RlOgorICAgICAgICByZXR1cm4gbGFtYmRhICphcmdzLCAqKmt3YXJnczogTm9uZQorICAgIEBmdW5jdG9vbHMud3JhcHMoZnhuKQorICAgIGRlZiB3cmFwcGVyKCphcmdzLCAqKmt3YXJncyk6CisgICAgICAgIG9yaWdpbmFsID0gc3lzLmRvbnRfd3JpdGVfYnl0ZWNvZGUKKyAgICAgICAgc3lzLmRvbnRfd3JpdGVfYnl0ZWNvZGUgPSBGYWxzZQorICAgICAgICB0cnk6CisgICAgICAgICAgICB0b19yZXR1cm4gPSBmeG4oKmFyZ3MsICoqa3dhcmdzKQorICAgICAgICBmaW5hbGx5OgorICAgICAgICAgICAgc3lzLmRvbnRfd3JpdGVfYnl0ZWNvZGUgPSBvcmlnaW5hbAorICAgICAgICByZXR1cm4gdG9fcmV0dXJuCisgICAgcmV0dXJuIHdyYXBwZXIKKworCitkZWYgZW5zdXJlX2J5dGVjb2RlX3BhdGgoYnl0ZWNvZGVfcGF0aCk6CisgICAgIiIiRW5zdXJlIHRoYXQgdGhlIF9fcHljYWNoZV9fIGRpcmVjdG9yeSBmb3IgUEVQIDMxNDcgcHljIGZpbGUgZXhpc3RzLgorCisgICAgOnBhcmFtIGJ5dGVjb2RlX3BhdGg6IEZpbGUgc3lzdGVtIHBhdGggdG8gUEVQIDMxNDcgcHljIGZpbGUuCisgICAgIiIiCisgICAgdHJ5OgorICAgICAgICBvcy5ta2Rpcihvcy5wYXRoLmRpcm5hbWUoYnl0ZWNvZGVfcGF0aCkpCisgICAgZXhjZXB0IE9TRXJyb3IgYXMgZXJyb3I6CisgICAgICAgIGlmIGVycm9yLmVycm5vICE9IGVycm5vLkVFWElTVDoKKyAgICAgICAgICAgIHJhaXNlCisKKworQGNvbnRleHRsaWIuY29udGV4dG1hbmFnZXIKK2RlZiBjcmVhdGVfbW9kdWxlcygqbmFtZXMpOgorICAgICIiIlRlbXBvcmFyaWx5IGNyZWF0ZSBlYWNoIG5hbWVkIG1vZHVsZSB3aXRoIGFuIGF0dHJpYnV0ZSAobmFtZWQgJ2F0dHInKQorICAgIHRoYXQgY29udGFpbnMgdGhlIG5hbWUgcGFzc2VkIGludG8gdGhlIGNvbnRleHQgbWFuYWdlciB0aGF0IGNhdXNlZCB0aGUKKyAgICBjcmVhdGlvbiBvZiB0aGUgbW9kdWxlLgorCisgICAgQWxsIGZpbGVzIGFyZSBjcmVhdGVkIGluIGEgdGVtcG9yYXJ5IGRpcmVjdG9yeSByZXR1cm5lZCBieQorICAgIHRlbXBmaWxlLm1rZHRlbXAoKS4gVGhpcyBkaXJlY3RvcnkgaXMgaW5zZXJ0ZWQgYXQgdGhlIGJlZ2lubmluZyBvZgorICAgIHN5cy5wYXRoLiBXaGVuIHRoZSBjb250ZXh0IG1hbmFnZXIgZXhpdHMgYWxsIGNyZWF0ZWQgZmlsZXMgKHNvdXJjZSBhbmQKKyAgICBieXRlY29kZSkgYXJlIGV4cGxpY2l0bHkgZGVsZXRlZC4KKworICAgIE5vIG1hZ2ljIGlzIHBlcmZvcm1lZCB3aGVuIGNyZWF0aW5nIHBhY2thZ2VzISBUaGlzIG1lYW5zIHRoYXQgaWYgeW91IGNyZWF0ZQorICAgIGEgbW9kdWxlIHdpdGhpbiBhIHBhY2thZ2UgeW91IG11c3QgYWxzbyBjcmVhdGUgdGhlIHBhY2thZ2UncyBfX2luaXRfXyBhcworICAgIHdlbGwuCisKKyAgICAiIiIKKyAgICBzb3VyY2UgPSAnYXR0ciA9IHswIXJ9JworICAgIGNyZWF0ZWRfcGF0aHMgPSBbXQorICAgIG1hcHBpbmcgPSB7fQorICAgIHN0YXRlX21hbmFnZXIgPSBOb25lCisgICAgdW5jYWNoZV9tYW5hZ2VyID0gTm9uZQorICAgIHRyeToKKyAgICAgICAgdGVtcF9kaXIgPSB0ZW1wZmlsZS5ta2R0ZW1wKCkKKyAgICAgICAgbWFwcGluZ1snLnJvb3QnXSA9IHRlbXBfZGlyCisgICAgICAgIGltcG9ydF9uYW1lcyA9IHNldCgpCisgICAgICAgIGZvciBuYW1lIGluIG5hbWVzOgorICAgICAgICAgICAgaWYgbm90IG5hbWUuZW5kc3dpdGgoJ19faW5pdF9fJyk6CisgICAgICAgICAgICAgICAgaW1wb3J0X25hbWUgPSBuYW1lCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIGltcG9ydF9uYW1lID0gbmFtZVs6LWxlbignLl9faW5pdF9fJyldCisgICAgICAgICAgICBpbXBvcnRfbmFtZXMuYWRkKGltcG9ydF9uYW1lKQorICAgICAgICAgICAgaWYgaW1wb3J0X25hbWUgaW4gc3lzLm1vZHVsZXM6CisgICAgICAgICAgICAgICAgZGVsIHN5cy5tb2R1bGVzW2ltcG9ydF9uYW1lXQorICAgICAgICAgICAgbmFtZV9wYXJ0cyA9IG5hbWUuc3BsaXQoJy4nKQorICAgICAgICAgICAgZmlsZV9wYXRoID0gdGVtcF9kaXIKKyAgICAgICAgICAgIGZvciBkaXJlY3RvcnkgaW4gbmFtZV9wYXJ0c1s6LTFdOgorICAgICAgICAgICAgICAgIGZpbGVfcGF0aCA9IG9zLnBhdGguam9pbihmaWxlX3BhdGgsIGRpcmVjdG9yeSkKKyAgICAgICAgICAgICAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMoZmlsZV9wYXRoKToKKyAgICAgICAgICAgICAgICAgICAgb3MubWtkaXIoZmlsZV9wYXRoKQorICAgICAgICAgICAgICAgICAgICBjcmVhdGVkX3BhdGhzLmFwcGVuZChmaWxlX3BhdGgpCisgICAgICAgICAgICBmaWxlX3BhdGggPSBvcy5wYXRoLmpvaW4oZmlsZV9wYXRoLCBuYW1lX3BhcnRzWy0xXSArICcucHknKQorICAgICAgICAgICAgd2l0aCBvcGVuKGZpbGVfcGF0aCwgJ3cnKSBhcyBmaWxlOgorICAgICAgICAgICAgICAgIGZpbGUud3JpdGUoc291cmNlLmZvcm1hdChuYW1lKSkKKyAgICAgICAgICAgIGNyZWF0ZWRfcGF0aHMuYXBwZW5kKGZpbGVfcGF0aCkKKyAgICAgICAgICAgIG1hcHBpbmdbbmFtZV0gPSBmaWxlX3BhdGgKKyAgICAgICAgdW5jYWNoZV9tYW5hZ2VyID0gdW5jYWNoZSgqaW1wb3J0X25hbWVzKQorICAgICAgICB1bmNhY2hlX21hbmFnZXIuX19lbnRlcl9fKCkKKyAgICAgICAgc3RhdGVfbWFuYWdlciA9IGltcG9ydF9zdGF0ZShwYXRoPVt0ZW1wX2Rpcl0pCisgICAgICAgIHN0YXRlX21hbmFnZXIuX19lbnRlcl9fKCkKKyAgICAgICAgeWllbGQgbWFwcGluZworICAgIGZpbmFsbHk6CisgICAgICAgIGlmIHN0YXRlX21hbmFnZXIgaXMgbm90IE5vbmU6CisgICAgICAgICAgICBzdGF0ZV9tYW5hZ2VyLl9fZXhpdF9fKE5vbmUsIE5vbmUsIE5vbmUpCisgICAgICAgIGlmIHVuY2FjaGVfbWFuYWdlciBpcyBub3QgTm9uZToKKyAgICAgICAgICAgIHVuY2FjaGVfbWFuYWdlci5fX2V4aXRfXyhOb25lLCBOb25lLCBOb25lKQorICAgICAgICBzdXBwb3J0LnJtdHJlZSh0ZW1wX2RpcikKKworCitkZWYgbW9ja19wYXRoX2hvb2soKmVudHJpZXMsIGltcG9ydGVyKToKKyAgICAiIiJBIG1vY2sgc3lzLnBhdGhfaG9va3MgZW50cnkuIiIiCisgICAgZGVmIGhvb2soZW50cnkpOgorICAgICAgICBpZiBlbnRyeSBub3QgaW4gZW50cmllczoKKyAgICAgICAgICAgIHJhaXNlIEltcG9ydEVycm9yCisgICAgICAgIHJldHVybiBpbXBvcnRlcgorICAgIHJldHVybiBob29rCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2luc3BlY3QucHkgYi9MaWIvdGVzdC90ZXN0X2luc3BlY3QucHkKaW5kZXggZmMzYmYwNy4uYmJjNTM4NSAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9pbnNwZWN0LnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfaW5zcGVjdC5weQpAQCAtMSwzICsxLDQgQEAKK2ltcG9ydCBidWlsdGlucwogaW1wb3J0IGNvbGxlY3Rpb25zCiBpbXBvcnQgZGF0ZXRpbWUKIGltcG9ydCBmdW5jdG9vbHMKQEAgLTgsNiArOSw3IEBACiBpbXBvcnQgb3MKIGZyb20gb3MucGF0aCBpbXBvcnQgbm9ybWNhc2UKIGltcG9ydCBfcGlja2xlCitpbXBvcnQgcGlja2xlCiBpbXBvcnQgcmUKIGltcG9ydCBzaHV0aWwKIGltcG9ydCBzeXMKQEAgLTIzLDcgKzI1LDcgQEAKICAgICBUaHJlYWRQb29sRXhlY3V0b3IgPSBOb25lCiAKIGZyb20gdGVzdC5zdXBwb3J0IGltcG9ydCBydW5fdW5pdHRlc3QsIFRFU1RGTiwgRGlyc09uU3lzUGF0aCwgY3B5dGhvbl9vbmx5Ci1mcm9tIHRlc3Quc3VwcG9ydCBpbXBvcnQgTUlTU0lOR19DX0RPQ1NUUklOR1MKK2Zyb20gdGVzdC5zdXBwb3J0IGltcG9ydCBNSVNTSU5HX0NfRE9DU1RSSU5HUywgY3B5dGhvbl9vbmx5CiBmcm9tIHRlc3Quc2NyaXB0X2hlbHBlciBpbXBvcnQgYXNzZXJ0X3B5dGhvbl9vaywgYXNzZXJ0X3B5dGhvbl9mYWlsdXJlCiBmcm9tIHRlc3QgaW1wb3J0IGluc3BlY3RfZm9kZGVyIGFzIG1vZAogZnJvbSB0ZXN0IGltcG9ydCBpbnNwZWN0X2ZvZGRlcjIgYXMgbW9kMgpAQCAtNzYsNiArNzgsNyBAQAogICAgIGZvciBpIGluIHJhbmdlKDIpOgogICAgICAgICB5aWVsZCBpCiAKKwogY2xhc3MgVGVzdFByZWRpY2F0ZXMoSXNUZXN0QmFzZSk6CiAgICAgZGVmIHRlc3Rfc2l4dGVlbihzZWxmKToKICAgICAgICAgY291bnQgPSBsZW4oW3ggZm9yIHggaW4gZGlyKGluc3BlY3QpIGlmIHguc3RhcnRzd2l0aCgnaXMnKV0pCkBAIC0xODIsNiArMTg1LDE0IEBACiAgICAgICAgICAgICAgKG1vZGZpbGUsIDQzLCAnYXJndWUnLCBbJyAgICAgICAgICAgIHNwYW0oYSwgYiwgYylcbiddLCAwKSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZXZpc2UoKm1vZC5zdFszXVsxOl0pLAogICAgICAgICAgICAgIChtb2RmaWxlLCAzOSwgJ2FidXNlJywgWycgICAgICAgIHNlbGYuYXJndWUoYSwgYiwgYylcbiddLCAwKSkKKyAgICAgICAgIyBUZXN0IG5hbWVkIHR1cGxlIGZpZWxkcworICAgICAgICByZWNvcmQgPSBtb2Quc3RbMF0KKyAgICAgICAgc2VsZi5hc3NlcnRJcyhyZWNvcmQuZnJhbWUsIG1vZC5mcikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZWNvcmQubGluZW5vLCAxNikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZWNvcmQuZmlsZW5hbWUsIG1vZC5fX2ZpbGVfXykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZWNvcmQuZnVuY3Rpb24sICdlZ2dzJykKKyAgICAgICAgc2VsZi5hc3NlcnRJbignaW5zcGVjdC5zdGFjaygpJywgcmVjb3JkLmNvZGVfY29udGV4dFswXSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZWNvcmQuaW5kZXgsIDApCiAKICAgICBkZWYgdGVzdF90cmFjZShzZWxmKToKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4oZ2l0LnRyKSwgMykKQEAgLTM2OSw2ICszODAsOSBAQAogICAgIGRlZiB0ZXN0X3JlcGxhY2luZ19kZWNvcmF0b3Ioc2VsZik6CiAgICAgICAgIHNlbGYuYXNzZXJ0U291cmNlRXF1YWwobW9kMi5nb25lLCA5LCAxMCkKIAorICAgIGRlZiB0ZXN0X2dldHNvdXJjZV91bndyYXAoc2VsZik6CisgICAgICAgIHNlbGYuYXNzZXJ0U291cmNlRXF1YWwobW9kMi5yZWFsLCAxMjIsIDEyNCkKKwogY2xhc3MgVGVzdE9uZWxpbmVycyhHZXRTb3VyY2VCYXNlKToKICAgICBmb2RkZXJNb2R1bGUgPSBtb2QyCiAgICAgZGVmIHRlc3Rfb25lbGluZV9sYW1iZGEoc2VsZik6CkBAIC0xNjE1LDYgKzE2MjksNjggQEAKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBpbnNwZWN0LmdldGdlbmVyYXRvcmxvY2FscywgKDIsMykpCiAKIAorY2xhc3MgTXlTaWduYXR1cmUoaW5zcGVjdC5TaWduYXR1cmUpOgorICAgICMgVG9wLWxldmVsIHRvIG1ha2UgaXQgcGlja2xhYmxlOworICAgICMgdXNlZCBpbiB0ZXN0X3NpZ25hdHVyZV9vYmplY3RfcGlja2xlCisgICAgcGFzcworCitjbGFzcyBNeVBhcmFtZXRlcihpbnNwZWN0LlBhcmFtZXRlcik6CisgICAgIyBUb3AtbGV2ZWwgdG8gbWFrZSBpdCBwaWNrbGFibGU7CisgICAgIyB1c2VkIGluIHRlc3Rfc2lnbmF0dXJlX29iamVjdF9waWNrbGUKKyAgICBwYXNzCisKKyAgICBAY3B5dGhvbl9vbmx5CisgICAgQHVuaXR0ZXN0LnNraXBJZihNSVNTSU5HX0NfRE9DU1RSSU5HUywKKyAgICAgICAgICAgICAgICAgICAgICJTaWduYXR1cmUgaW5mb3JtYXRpb24gZm9yIGJ1aWx0aW5zIHJlcXVpcmVzIGRvY3N0cmluZ3MiKQorICAgIGRlZiB0ZXN0X2J1aWx0aW5zX2hhdmVfc2lnbmF0dXJlcyhzZWxmKToKKyAgICAgICAgIyBUaGlzIGNoZWNrcyBhbGwgYnVpbHRpbiBjYWxsYWJsZXMgaW4gQ1B5dGhvbiBoYXZlIHNpZ25hdHVyZXMKKyAgICAgICAgIyBBIGZldyBoYXZlIHNpZ25hdHVyZXMgU2lnbmF0dXJlIGNhbid0IHlldCBoYW5kbGUsIHNvIHdlIHNraXAgdGhvc2UKKyAgICAgICAgIyBzaW5jZSB0aGV5IHdpbGwgaGF2ZSB0byB3YWl0IHVudGlsIFBFUCA0NTcgYWRkcyB0aGUgcmVxdWlyZWQKKyAgICAgICAgIyBpbnRyb3NwZWN0aW9uIHN1cHBvcnQgdG8gdGhlIGluc3BlY3QgbW9kdWxlCisgICAgICAgICMgU29tZSBvdGhlcnMgYWxzbyBoYXZlbid0IGJlZW4gY29udmVydGVkIHlldCBmb3IgdmFyaW91cyBvdGhlcgorICAgICAgICAjIHJlYXNvbnMsIHNvIHdlIGFsc28gc2tpcCB0aG9zZSBmb3IgdGhlIHRpbWUgYmVpbmcsIGJ1dCBkZXNpZ24KKyAgICAgICAgIyB0aGUgdGVzdCB0byBmYWlsIGluIG9yZGVyIHRvIGluZGljYXRlIHdoZW4gaXQgbmVlZHMgdG8gYmUKKyAgICAgICAgIyB1cGRhdGVkLgorICAgICAgICBub19zaWduYXR1cmUgPSBzZXQoKQorICAgICAgICAjIFRoZXNlIG5lZWQgUEVQIDQ1NyBncm91cHMKKyAgICAgICAgbmVlZHNfZ3JvdXBzID0gWyJyYW5nZSIsICJzbGljZSIsICJkaXIiLCAiZ2V0YXR0ciIsCisgICAgICAgICAgICAgICAgICAgICAgICAibmV4dCIsICJpdGVyIiwgInZhcnMiXQorICAgICAgICBub19zaWduYXR1cmUgfD0gbmVlZHNfZ3JvdXBzCisgICAgICAgICMgVGhlc2UgbmVlZCBQRVAgNDU3IGdyb3VwcyBvciBhIHNpZ25hdHVyZSBjaGFuZ2UgdG8gYWNjZXB0IE5vbmUKKyAgICAgICAgbmVlZHNfc2VtYW50aWNfdXBkYXRlID0gWyJyb3VuZCJdCisgICAgICAgIG5vX3NpZ25hdHVyZSB8PSBuZWVkc19zZW1hbnRpY191cGRhdGUKKyAgICAgICAgIyBUaGVzZSBuZWVkICphcmdzIHN1cHBvcnQgaW4gQXJndW1lbnQgQ2xpbmljCisgICAgICAgIG5lZWRzX3ZhcmFyZ3MgPSBbIm1pbiIsICJtYXgiLCAicHJpbnQiLCAiX19idWlsZF9jbGFzc19fIl0KKyAgICAgICAgbm9fc2lnbmF0dXJlIHw9IG5lZWRzX3ZhcmFyZ3MKKyAgICAgICAgIyBUaGVzZSBzaW1wbHkgd2VyZW4ndCBjb3ZlcmVkIGluIHRoZSBpbml0aWFsIEFDIGNvbnZlcnNpb24KKyAgICAgICAgIyBmb3IgYnVpbHRpbiBjYWxsYWJsZXMKKyAgICAgICAgbm90X2NvbnZlcnRlZF95ZXQgPSBbIm9wZW4iLCAiX19pbXBvcnRfXyJdCisgICAgICAgIG5vX3NpZ25hdHVyZSB8PSBub3RfY29udmVydGVkX3lldAorICAgICAgICAjIFRoZXNlIGJ1aWx0aW4gdHlwZXMgYXJlIGV4cGVjdGVkIHRvIHByb3ZpZGUgaW50cm9zcGVjdGlvbiBpbmZvCisgICAgICAgIHR5cGVzX3dpdGhfc2lnbmF0dXJlcyA9IHNldCgpCisgICAgICAgICMgQ2hlY2sgdGhlIHNpZ25hdHVyZXMgd2UgZXhwZWN0IHRvIGJlIHRoZXJlCisgICAgICAgIG5zID0gdmFycyhidWlsdGlucykKKyAgICAgICAgZm9yIG5hbWUsIG9iaiBpbiBzb3J0ZWQobnMuaXRlbXMoKSk6CisgICAgICAgICAgICBpZiBub3QgY2FsbGFibGUob2JqKToKKyAgICAgICAgICAgICAgICBjb250aW51ZQorICAgICAgICAgICAgIyBUaGUgYnVpbHRpbiB0eXBlcyBoYXZlbid0IGJlZW4gY29udmVydGVkIHRvIEFDIHlldAorICAgICAgICAgICAgaWYgaXNpbnN0YW5jZShvYmosIHR5cGUpIGFuZCAobmFtZSBub3QgaW4gdHlwZXNfd2l0aF9zaWduYXR1cmVzKToKKyAgICAgICAgICAgICAgICAjIE5vdGUgdGhhdCB0aGlzIGFsc28gc2tpcHMgYWxsIHRoZSBleGNlcHRpb24gdHlwZXMKKyAgICAgICAgICAgICAgICBub19zaWduYXR1cmUuYXBwZW5kKG5hbWUpCisgICAgICAgICAgICBpZiAobmFtZSBpbiBub19zaWduYXR1cmUpOgorICAgICAgICAgICAgICAgICMgTm90IHlldCBjb252ZXJ0ZWQKKyAgICAgICAgICAgICAgICBjb250aW51ZQorICAgICAgICAgICAgd2l0aCBzZWxmLnN1YlRlc3QoYnVpbHRpbj1uYW1lKToKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydElzTm90Tm9uZShpbnNwZWN0LnNpZ25hdHVyZShvYmopKQorICAgICAgICAjIENoZWNrIGNhbGxhYmxlcyB0aGF0IGhhdmVuJ3QgYmVlbiBjb252ZXJ0ZWQgZG9uJ3QgY2xhaW0gYSBzaWduYXR1cmUKKyAgICAgICAgIyBUaGlzIGVuc3VyZXMgdGhpcyB0ZXN0IHdpbGwgc3RhcnQgZmFpbGluZyBhcyBtb3JlIHNpZ25hdHVyZXMgYXJlCisgICAgICAgICMgYWRkZWQsIHNvIHRoZSBhZmZlY3RlZCBpdGVtcyBjYW4gYmUgbW92ZWQgaW50byB0aGUgc2NvcGUgb2YgdGhlCisgICAgICAgICMgcmVncmVzc2lvbiB0ZXN0IGFib3ZlCisgICAgICAgIGZvciBuYW1lIGluIG5vX3NpZ25hdHVyZToKKyAgICAgICAgICAgIHdpdGggc2VsZi5zdWJUZXN0KGJ1aWx0aW49bmFtZSk6CisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRJc05vbmUobnNbbmFtZV0uX190ZXh0X3NpZ25hdHVyZV9fKQorCisKIGNsYXNzIFRlc3RTaWduYXR1cmVPYmplY3QodW5pdHRlc3QuVGVzdENhc2UpOgogICAgIEBzdGF0aWNtZXRob2QKICAgICBkZWYgc2lnbmF0dXJlKGZ1bmMpOgpAQCAtMTY3Miw2ICsxNzQ4LDM3IEBACiAgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXNSZWdleChWYWx1ZUVycm9yLCAnZm9sbG93cyBkZWZhdWx0IGFyZ3VtZW50Jyk6CiAgICAgICAgICAgICBTKChwa2QsIHBrKSkKIAorICAgICAgICBzZWxmLmFzc2VydFRydWUocmVwcihzaWcpLnN0YXJ0c3dpdGgoJzxTaWduYXR1cmUnKSkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKCciKHBvLCBwaycgaW4gcmVwcihzaWcpKQorCisgICAgZGVmIHRlc3Rfc2lnbmF0dXJlX29iamVjdF9waWNrbGUoc2VsZik6CisgICAgICAgIGRlZiBmb28oYSwgYiwgKiwgYzoxPXt9LCAqKmt3KSAtPiB7NDI6J2hhbSd9OiBwYXNzCisgICAgICAgIGZvb19wYXJ0aWFsID0gZnVuY3Rvb2xzLnBhcnRpYWwoZm9vLCBhPTEpCisKKyAgICAgICAgc2lnID0gaW5zcGVjdC5zaWduYXR1cmUoZm9vX3BhcnRpYWwpCisKKyAgICAgICAgZm9yIHZlciBpbiByYW5nZShwaWNrbGUuSElHSEVTVF9QUk9UT0NPTCArIDEpOgorICAgICAgICAgICAgd2l0aCBzZWxmLnN1YlRlc3QocGlja2xlX3Zlcj12ZXIsIHN1YmNsYXNzPUZhbHNlKToKKyAgICAgICAgICAgICAgICBzaWdfcGlja2xlZCA9IHBpY2tsZS5sb2FkcyhwaWNrbGUuZHVtcHMoc2lnLCB2ZXIpKQorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2lnLCBzaWdfcGlja2xlZCkKKworICAgICAgICAjIFRlc3QgdGhhdCBiYXNpYyBzdWItY2xhc3Npbmcgd29ya3MKKyAgICAgICAgc2lnID0gaW5zcGVjdC5zaWduYXR1cmUoZm9vKQorICAgICAgICBteXBhcmFtID0gTXlQYXJhbWV0ZXIobmFtZT0neicsIGtpbmQ9aW5zcGVjdC5QYXJhbWV0ZXIuUE9TSVRJT05BTF9PTkxZKQorICAgICAgICBteXBhcmFtcyA9IGNvbGxlY3Rpb25zLk9yZGVyZWREaWN0KHNpZy5wYXJhbWV0ZXJzLCBhPW15cGFyYW0pCisgICAgICAgIG15c2lnID0gTXlTaWduYXR1cmUoKS5yZXBsYWNlKHBhcmFtZXRlcnM9bXlwYXJhbXMudmFsdWVzKCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybl9hbm5vdGF0aW9uPXNpZy5yZXR1cm5fYW5ub3RhdGlvbikKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGlzaW5zdGFuY2UobXlzaWcsIE15U2lnbmF0dXJlKSkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGlzaW5zdGFuY2UobXlzaWcucGFyYW1ldGVyc1sneiddLCBNeVBhcmFtZXRlcikpCisKKyAgICAgICAgZm9yIHZlciBpbiByYW5nZShwaWNrbGUuSElHSEVTVF9QUk9UT0NPTCArIDEpOgorICAgICAgICAgICAgd2l0aCBzZWxmLnN1YlRlc3QocGlja2xlX3Zlcj12ZXIsIHN1YmNsYXNzPVRydWUpOgorICAgICAgICAgICAgICAgIHNpZ19waWNrbGVkID0gcGlja2xlLmxvYWRzKHBpY2tsZS5kdW1wcyhteXNpZywgdmVyKSkKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG15c2lnLCBzaWdfcGlja2xlZCkKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUoaXNpbnN0YW5jZShzaWdfcGlja2xlZCwgTXlTaWduYXR1cmUpKQorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShpc2luc3RhbmNlKHNpZ19waWNrbGVkLnBhcmFtZXRlcnNbJ3onXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNeVBhcmFtZXRlcikpCisKICAgICBkZWYgdGVzdF9zaWduYXR1cmVfaW1tdXRhYmlsaXR5KHNlbGYpOgogICAgICAgICBkZWYgdGVzdChhKToKICAgICAgICAgICAgIHBhc3MKQEAgLTI0MzUsNDkgKzI1NDIsOTEgQEAKIAogICAgICAgICBkZWYgYmFyKGEsICosIGI6aW50KSAtPiBmbG9hdDogcGFzcwogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGluc3BlY3Quc2lnbmF0dXJlKGZvbyksIGluc3BlY3Quc2lnbmF0dXJlKGJhcikpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCisgICAgICAgICAgICBoYXNoKGluc3BlY3Quc2lnbmF0dXJlKGZvbykpLCBoYXNoKGluc3BlY3Quc2lnbmF0dXJlKGJhcikpKQogCiAgICAgICAgIGRlZiBiYXIoYSwgKiwgYjppbnQpIC0+IGludDogcGFzcwogICAgICAgICBzZWxmLmFzc2VydE5vdEVxdWFsKGluc3BlY3Quc2lnbmF0dXJlKGZvbyksIGluc3BlY3Quc2lnbmF0dXJlKGJhcikpCisgICAgICAgIHNlbGYuYXNzZXJ0Tm90RXF1YWwoCisgICAgICAgICAgICBoYXNoKGluc3BlY3Quc2lnbmF0dXJlKGZvbykpLCBoYXNoKGluc3BlY3Quc2lnbmF0dXJlKGJhcikpKQogCiAgICAgICAgIGRlZiBiYXIoYSwgKiwgYjppbnQpOiBwYXNzCiAgICAgICAgIHNlbGYuYXNzZXJ0Tm90RXF1YWwoaW5zcGVjdC5zaWduYXR1cmUoZm9vKSwgaW5zcGVjdC5zaWduYXR1cmUoYmFyKSkKKyAgICAgICAgc2VsZi5hc3NlcnROb3RFcXVhbCgKKyAgICAgICAgICAgIGhhc2goaW5zcGVjdC5zaWduYXR1cmUoZm9vKSksIGhhc2goaW5zcGVjdC5zaWduYXR1cmUoYmFyKSkpCiAKICAgICAgICAgZGVmIGJhcihhLCAqLCBiOmludD00MikgLT4gZmxvYXQ6IHBhc3MKICAgICAgICAgc2VsZi5hc3NlcnROb3RFcXVhbChpbnNwZWN0LnNpZ25hdHVyZShmb28pLCBpbnNwZWN0LnNpZ25hdHVyZShiYXIpKQorICAgICAgICBzZWxmLmFzc2VydE5vdEVxdWFsKAorICAgICAgICAgICAgaGFzaChpbnNwZWN0LnNpZ25hdHVyZShmb28pKSwgaGFzaChpbnNwZWN0LnNpZ25hdHVyZShiYXIpKSkKIAogICAgICAgICBkZWYgYmFyKGEsICosIGMpIC0+IGZsb2F0OiBwYXNzCiAgICAgICAgIHNlbGYuYXNzZXJ0Tm90RXF1YWwoaW5zcGVjdC5zaWduYXR1cmUoZm9vKSwgaW5zcGVjdC5zaWduYXR1cmUoYmFyKSkKKyAgICAgICAgc2VsZi5hc3NlcnROb3RFcXVhbCgKKyAgICAgICAgICAgIGhhc2goaW5zcGVjdC5zaWduYXR1cmUoZm9vKSksIGhhc2goaW5zcGVjdC5zaWduYXR1cmUoYmFyKSkpCiAKICAgICAgICAgZGVmIGJhcihhLCBiOmludCkgLT4gZmxvYXQ6IHBhc3MKICAgICAgICAgc2VsZi5hc3NlcnROb3RFcXVhbChpbnNwZWN0LnNpZ25hdHVyZShmb28pLCBpbnNwZWN0LnNpZ25hdHVyZShiYXIpKQorICAgICAgICBzZWxmLmFzc2VydE5vdEVxdWFsKAorICAgICAgICAgICAgaGFzaChpbnNwZWN0LnNpZ25hdHVyZShmb28pKSwgaGFzaChpbnNwZWN0LnNpZ25hdHVyZShiYXIpKSkKICAgICAgICAgZGVmIHNwYW0oYjppbnQsIGEpIC0+IGZsb2F0OiBwYXNzCiAgICAgICAgIHNlbGYuYXNzZXJ0Tm90RXF1YWwoaW5zcGVjdC5zaWduYXR1cmUoc3BhbSksIGluc3BlY3Quc2lnbmF0dXJlKGJhcikpCisgICAgICAgIHNlbGYuYXNzZXJ0Tm90RXF1YWwoCisgICAgICAgICAgICBoYXNoKGluc3BlY3Quc2lnbmF0dXJlKHNwYW0pKSwgaGFzaChpbnNwZWN0LnNpZ25hdHVyZShiYXIpKSkKIAogICAgICAgICBkZWYgZm9vKCosIGEsIGIsIGMpOiBwYXNzCiAgICAgICAgIGRlZiBiYXIoKiwgYywgYiwgYSk6IHBhc3MKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChpbnNwZWN0LnNpZ25hdHVyZShmb28pLCBpbnNwZWN0LnNpZ25hdHVyZShiYXIpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKAorICAgICAgICAgICAgaGFzaChpbnNwZWN0LnNpZ25hdHVyZShmb28pKSwgaGFzaChpbnNwZWN0LnNpZ25hdHVyZShiYXIpKSkKIAogICAgICAgICBkZWYgZm9vKCosIGE9MSwgYiwgYyk6IHBhc3MKICAgICAgICAgZGVmIGJhcigqLCBjLCBiLCBhPTEpOiBwYXNzCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoaW5zcGVjdC5zaWduYXR1cmUoZm9vKSwgaW5zcGVjdC5zaWduYXR1cmUoYmFyKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgKKyAgICAgICAgICAgIGhhc2goaW5zcGVjdC5zaWduYXR1cmUoZm9vKSksIGhhc2goaW5zcGVjdC5zaWduYXR1cmUoYmFyKSkpCiAKICAgICAgICAgZGVmIGZvbyhwb3MsICosIGE9MSwgYiwgYyk6IHBhc3MKICAgICAgICAgZGVmIGJhcihwb3MsICosIGMsIGIsIGE9MSk6IHBhc3MKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChpbnNwZWN0LnNpZ25hdHVyZShmb28pLCBpbnNwZWN0LnNpZ25hdHVyZShiYXIpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKAorICAgICAgICAgICAgaGFzaChpbnNwZWN0LnNpZ25hdHVyZShmb28pKSwgaGFzaChpbnNwZWN0LnNpZ25hdHVyZShiYXIpKSkKIAogICAgICAgICBkZWYgZm9vKHBvcywgKiwgYSwgYiwgYyk6IHBhc3MKICAgICAgICAgZGVmIGJhcihwb3MsICosIGMsIGIsIGE9MSk6IHBhc3MKICAgICAgICAgc2VsZi5hc3NlcnROb3RFcXVhbChpbnNwZWN0LnNpZ25hdHVyZShmb28pLCBpbnNwZWN0LnNpZ25hdHVyZShiYXIpKQorICAgICAgICBzZWxmLmFzc2VydE5vdEVxdWFsKAorICAgICAgICAgICAgaGFzaChpbnNwZWN0LnNpZ25hdHVyZShmb28pKSwgaGFzaChpbnNwZWN0LnNpZ25hdHVyZShiYXIpKSkKIAogICAgICAgICBkZWYgZm9vKHBvcywgKmFyZ3MsIGE9NDIsIGIsIGMsICoqa3dhcmdzOmludCk6IHBhc3MKICAgICAgICAgZGVmIGJhcihwb3MsICphcmdzLCBjLCBiLCBhPTQyLCAqKmt3YXJnczppbnQpOiBwYXNzCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoaW5zcGVjdC5zaWduYXR1cmUoZm9vKSwgaW5zcGVjdC5zaWduYXR1cmUoYmFyKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgKKyAgICAgICAgICAgIGhhc2goaW5zcGVjdC5zaWduYXR1cmUoZm9vKSksIGhhc2goaW5zcGVjdC5zaWduYXR1cmUoYmFyKSkpCiAKLSAgICBkZWYgdGVzdF9zaWduYXR1cmVfdW5oYXNoYWJsZShzZWxmKToKKyAgICBkZWYgdGVzdF9zaWduYXR1cmVfaGFzaGFibGUoc2VsZik6CisgICAgICAgIFMgPSBpbnNwZWN0LlNpZ25hdHVyZQorICAgICAgICBQID0gaW5zcGVjdC5QYXJhbWV0ZXIKKwogICAgICAgICBkZWYgZm9vKGEpOiBwYXNzCi0gICAgICAgIHNpZyA9IGluc3BlY3Quc2lnbmF0dXJlKGZvbykKKyAgICAgICAgZm9vX3NpZyA9IGluc3BlY3Quc2lnbmF0dXJlKGZvbykKKworICAgICAgICBtYW51YWxfc2lnID0gUyhwYXJhbWV0ZXJzPVtQKCdhJywgUC5QT1NJVElPTkFMX09SX0tFWVdPUkQpXSkKKworICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGhhc2goZm9vX3NpZyksIGhhc2gobWFudWFsX3NpZykpCisgICAgICAgIHNlbGYuYXNzZXJ0Tm90RXF1YWwoaGFzaChmb29fc2lnKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYXNoKG1hbnVhbF9zaWcucmVwbGFjZShyZXR1cm5fYW5ub3RhdGlvbj0nc3BhbScpKSkKKworICAgICAgICBkZWYgYmFyKGEpIC0+IDE6IHBhc3MKKyAgICAgICAgc2VsZi5hc3NlcnROb3RFcXVhbChoYXNoKGZvb19zaWcpLCBoYXNoKGluc3BlY3Quc2lnbmF0dXJlKGJhcikpKQorCisgICAgICAgIGRlZiBmb28oYT17fSk6IHBhc3MKICAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlc1JlZ2V4KFR5cGVFcnJvciwgJ3VuaGFzaGFibGUgdHlwZScpOgotICAgICAgICAgICAgaGFzaChzaWcpCisgICAgICAgICAgICBoYXNoKGluc3BlY3Quc2lnbmF0dXJlKGZvbykpCisKKyAgICAgICAgZGVmIGZvbyhhKSAtPiB7fTogcGFzcworICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgoVHlwZUVycm9yLCAndW5oYXNoYWJsZSB0eXBlJyk6CisgICAgICAgICAgICBoYXNoKGluc3BlY3Quc2lnbmF0dXJlKGZvbykpCiAKICAgICBkZWYgdGVzdF9zaWduYXR1cmVfc3RyKHNlbGYpOgogICAgICAgICBkZWYgZm9vKGE6aW50PTEsICosIGIsIGM9Tm9uZSwgKiprd2FyZ3MpIC0+IDQyOgpAQCAtMjU1MSw2ICsyNzAwLDE5IEBACiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5zaWduYXR1cmUoU3BhbS5mb28pLAogICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuc2lnbmF0dXJlKEhhbS5mb28pKQogCisgICAgZGVmIHRlc3Rfc2lnbmF0dXJlX2Zyb21fY2FsbGFibGVfcHl0aG9uX29iaihzZWxmKToKKyAgICAgICAgY2xhc3MgTXlTaWduYXR1cmUoaW5zcGVjdC5TaWduYXR1cmUpOiBwYXNzCisgICAgICAgIGRlZiBmb28oYSwgKiwgYjoxKTogcGFzcworICAgICAgICBmb29fc2lnID0gTXlTaWduYXR1cmUuZnJvbV9jYWxsYWJsZShmb28pCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShpc2luc3RhbmNlKGZvb19zaWcsIE15U2lnbmF0dXJlKSkKKworICAgIEB1bml0dGVzdC5za2lwSWYoTUlTU0lOR19DX0RPQ1NUUklOR1MsCisgICAgICAgICAgICAgICAgICAgICAiU2lnbmF0dXJlIGluZm9ybWF0aW9uIGZvciBidWlsdGlucyByZXF1aXJlcyBkb2NzdHJpbmdzIikKKyAgICBkZWYgdGVzdF9zaWduYXR1cmVfZnJvbV9jYWxsYWJsZV9idWlsdGluX29iaihzZWxmKToKKyAgICAgICAgY2xhc3MgTXlTaWduYXR1cmUoaW5zcGVjdC5TaWduYXR1cmUpOiBwYXNzCisgICAgICAgIHNpZyA9IE15U2lnbmF0dXJlLmZyb21fY2FsbGFibGUoX3BpY2tsZS5QaWNrbGVyKQorICAgICAgICBzZWxmLmFzc2VydFRydWUoaXNpbnN0YW5jZShzaWcsIE15U2lnbmF0dXJlKSkKKwogCiBjbGFzcyBUZXN0UGFyYW1ldGVyT2JqZWN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICBkZWYgdGVzdF9zaWduYXR1cmVfcGFyYW1ldGVyX2tpbmRzKHNlbGYpOgpAQCAtMjU5Niw2ICsyNzU4LDE2IEBACiAgICAgICAgICAgICBwLnJlcGxhY2Uoa2luZD1pbnNwZWN0LlBhcmFtZXRlci5WQVJfUE9TSVRJT05BTCkKIAogICAgICAgICBzZWxmLmFzc2VydFRydWUocmVwcihwKS5zdGFydHN3aXRoKCc8UGFyYW1ldGVyJykpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZSgnImE9NDIiJyBpbiByZXByKHApKQorCisgICAgZGVmIHRlc3Rfc2lnbmF0dXJlX3BhcmFtZXRlcl9oYXNoYWJsZShzZWxmKToKKyAgICAgICAgUCA9IGluc3BlY3QuUGFyYW1ldGVyCisgICAgICAgIGZvbyA9IFAoJ2ZvbycsIGtpbmQ9UC5QT1NJVElPTkFMX09OTFkpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoaGFzaChmb28pLCBoYXNoKFAoJ2ZvbycsIGtpbmQ9UC5QT1NJVElPTkFMX09OTFkpKSkKKyAgICAgICAgc2VsZi5hc3NlcnROb3RFcXVhbChoYXNoKGZvbyksIGhhc2goUCgnZm9vJywga2luZD1QLlBPU0lUSU9OQUxfT05MWSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0PTQyKSkpCisgICAgICAgIHNlbGYuYXNzZXJ0Tm90RXF1YWwoaGFzaChmb28pLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhc2goZm9vLnJlcGxhY2Uoa2luZD1QLlZBUl9QT1NJVElPTkFMKSkpCiAKICAgICBkZWYgdGVzdF9zaWduYXR1cmVfcGFyYW1ldGVyX2VxdWFsaXR5KHNlbGYpOgogICAgICAgICBQID0gaW5zcGVjdC5QYXJhbWV0ZXIKQEAgLTI2MDcsMTMgKzI3NzksNiBAQAogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHAsIFAoJ2ZvbycsIGRlZmF1bHQ9NDIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBraW5kPWluc3BlY3QuUGFyYW1ldGVyLktFWVdPUkRfT05MWSkpCiAKLSAgICBkZWYgdGVzdF9zaWduYXR1cmVfcGFyYW1ldGVyX3VuaGFzaGFibGUoc2VsZik6Ci0gICAgICAgIHAgPSBpbnNwZWN0LlBhcmFtZXRlcignZm9vJywgZGVmYXVsdD00MiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtpbmQ9aW5zcGVjdC5QYXJhbWV0ZXIuS0VZV09SRF9PTkxZKQotCi0gICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXNSZWdleChUeXBlRXJyb3IsICd1bmhhc2hhYmxlIHR5cGUnKToKLSAgICAgICAgICAgIGhhc2gocCkKLQogICAgIGRlZiB0ZXN0X3NpZ25hdHVyZV9wYXJhbWV0ZXJfcmVwbGFjZShzZWxmKToKICAgICAgICAgcCA9IGluc3BlY3QuUGFyYW1ldGVyKCdmb28nLCBkZWZhdWx0PTQyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2luZD1pbnNwZWN0LlBhcmFtZXRlci5LRVlXT1JEX09OTFkpCkBAIC0yOTIyLDYgKzMwODcsMTYgQEAKICAgICAgICAgYmE0ID0gaW5zcGVjdC5zaWduYXR1cmUoYmFyKS5iaW5kKDEpCiAgICAgICAgIHNlbGYuYXNzZXJ0Tm90RXF1YWwoYmEsIGJhNCkKIAorICAgIGRlZiB0ZXN0X3NpZ25hdHVyZV9ib3VuZF9hcmd1bWVudHNfcGlja2xlKHNlbGYpOgorICAgICAgICBkZWYgZm9vKGEsIGIsICosIGM6MT17fSwgKiprdykgLT4gezQyOidoYW0nfTogcGFzcworICAgICAgICBzaWcgPSBpbnNwZWN0LnNpZ25hdHVyZShmb28pCisgICAgICAgIGJhID0gc2lnLmJpbmQoMjAsIDMwLCB6PXt9KQorCisgICAgICAgIGZvciB2ZXIgaW4gcmFuZ2UocGlja2xlLkhJR0hFU1RfUFJPVE9DT0wgKyAxKToKKyAgICAgICAgICAgIHdpdGggc2VsZi5zdWJUZXN0KHBpY2tsZV92ZXI9dmVyKToKKyAgICAgICAgICAgICAgICBiYV9waWNrbGVkID0gcGlja2xlLmxvYWRzKHBpY2tsZS5kdW1wcyhiYSwgdmVyKSkKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGJhLCBiYV9waWNrbGVkKQorCiAKIGNsYXNzIFRlc3RTaWduYXR1cmVQcml2YXRlSGVscGVycyh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgZGVmIHRlc3Rfc2lnbmF0dXJlX2dldF9ib3VuZF9wYXJhbShzZWxmKToKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfaW8ucHkgYi9MaWIvdGVzdC90ZXN0X2lvLnB5CmluZGV4IDc5Y2Q4N2IuLjE5OGNjNWQgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfaW8ucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9pby5weQpAQCAtNDQsMTAgKzQ0LDYgQEAKICAgICBpbXBvcnQgdGhyZWFkaW5nCiBleGNlcHQgSW1wb3J0RXJyb3I6CiAgICAgdGhyZWFkaW5nID0gTm9uZQotdHJ5OgotICAgIGltcG9ydCBmY250bAotZXhjZXB0IEltcG9ydEVycm9yOgotICAgIGZjbnRsID0gTm9uZQogCiBkZWYgX2RlZmF1bHRfY2h1bmtfc2l6ZSgpOgogICAgICIiIkdldCB0aGUgZGVmYXVsdCBUZXh0SU9XcmFwcGVyIGNodW5rIHNpemUiIiIKQEAgLTM2Nyw4ICszNjMsOCBAQAogCiAgICAgZGVmIHRlc3Rfb3Blbl9oYW5kbGVzX05VTF9jaGFycyhzZWxmKToKICAgICAgICAgZm5fd2l0aF9OVUwgPSAnZm9vXDBiYXInCi0gICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgc2VsZi5vcGVuLCBmbl93aXRoX05VTCwgJ3cnKQotICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIHNlbGYub3BlbiwgYnl0ZXMoZm5fd2l0aF9OVUwsICdhc2NpaScpLCAndycpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIHNlbGYub3BlbiwgZm5fd2l0aF9OVUwsICd3JykKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgc2VsZi5vcGVuLCBieXRlcyhmbl93aXRoX05VTCwgJ2FzY2lpJyksICd3JykKIAogICAgIGRlZiB0ZXN0X3Jhd19maWxlX2lvKHNlbGYpOgogICAgICAgICB3aXRoIHNlbGYub3BlbihzdXBwb3J0LlRFU1RGTiwgIndiIiwgYnVmZmVyaW5nPTApIGFzIGY6CkBAIC04MTAsNyArODA2LDcgQEAKICAgICBkZWYgdGVzdF9yZXByKHNlbGYpOgogICAgICAgICByYXcgPSBzZWxmLk1vY2tSYXdJTygpCiAgICAgICAgIGIgPSBzZWxmLnRwKHJhdykKLSAgICAgICAgY2xzbmFtZSA9ICIlcy4lcyIgJSAoc2VsZi50cC5fX21vZHVsZV9fLCBzZWxmLnRwLl9fbmFtZV9fKQorICAgICAgICBjbHNuYW1lID0gIiVzLiVzIiAlIChzZWxmLnRwLl9fbW9kdWxlX18sIHNlbGYudHAuX19xdWFsbmFtZV9fKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlcHIoYiksICI8JXM+IiAlIGNsc25hbWUpCiAgICAgICAgIHJhdy5uYW1lID0gImR1bW15IgogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlcHIoYiksICI8JXMgbmFtZT0nZHVtbXknPiIgJSBjbHNuYW1lKQpAQCAtOTgzLDYgKzk3OSw3MSBAQAogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGJ1ZmlvLnJlYWRpbnRvKGIpLCAxKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGIsIGIiY2IiKQogCisgICAgZGVmIHRlc3RfcmVhZGludG8xKHNlbGYpOgorICAgICAgICBidWZmZXJfc2l6ZSA9IDEwCisgICAgICAgIHJhd2lvID0gc2VsZi5Nb2NrUmF3SU8oKGIiYWJjIiwgYiJkZSIsIGIiZmdoIiwgYiJqa2wiKSkKKyAgICAgICAgYnVmaW8gPSBzZWxmLnRwKHJhd2lvLCBidWZmZXJfc2l6ZT1idWZmZXJfc2l6ZSkKKyAgICAgICAgYiA9IGJ5dGVhcnJheSgyKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGJ1ZmlvLnBlZWsoMyksIGInYWJjJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyYXdpby5fcmVhZHMsIDEpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYnVmaW8ucmVhZGludG8xKGIpLCAyKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGIsIGIiYWIiKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJhd2lvLl9yZWFkcywgMSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChidWZpby5yZWFkaW50bzEoYiksIDEpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYls6MV0sIGIiYyIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmF3aW8uX3JlYWRzLCAxKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGJ1ZmlvLnJlYWRpbnRvMShiKSwgMikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChiLCBiImRlIikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyYXdpby5fcmVhZHMsIDIpCisgICAgICAgIGIgPSBieXRlYXJyYXkoMipidWZmZXJfc2l6ZSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChidWZpby5wZWVrKDMpLCBiJ2ZnaCcpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmF3aW8uX3JlYWRzLCAzKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGJ1ZmlvLnJlYWRpbnRvMShiKSwgNikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChiWzo2XSwgYiJmZ2hqa2wiKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJhd2lvLl9yZWFkcywgNCkKKworICAgIGRlZiB0ZXN0X3JlYWRpbnRvX2FycmF5KHNlbGYpOgorICAgICAgICBidWZmZXJfc2l6ZSA9IDYwCisgICAgICAgIGRhdGEgPSBiImEiICogMjYKKyAgICAgICAgcmF3aW8gPSBzZWxmLk1vY2tSYXdJTygoZGF0YSwpKQorICAgICAgICBidWZpbyA9IHNlbGYudHAocmF3aW8sIGJ1ZmZlcl9zaXplPWJ1ZmZlcl9zaXplKQorCisgICAgICAgICMgQ3JlYXRlIGFuIGFycmF5IHdpdGggZWxlbWVudCBzaXplID4gMSBieXRlCisgICAgICAgIGIgPSBhcnJheS5hcnJheSgnaScsIGIneCcgKiAzMikKKyAgICAgICAgYXNzZXJ0IGxlbihiKSAhPSAxNgorCisgICAgICAgICMgUmVhZCBpbnRvIGl0LiBXZSBzaG91bGQgZ2V0IGFzIG1hbnkgKmJ5dGVzKiBhcyB3ZSBjYW4gZml0IGludG8gYgorICAgICAgICAjICh3aGljaCBpcyBtb3JlIHRoYW4gdGhlIG51bWJlciBvZiBlbGVtZW50cykKKyAgICAgICAgbiA9IGJ1ZmlvLnJlYWRpbnRvKGIpCisgICAgICAgIHNlbGYuYXNzZXJ0R3JlYXRlcihuLCBsZW4oYikpCisKKyAgICAgICAgIyBDaGVjayB0aGF0IG9sZCBjb250ZW50cyBvZiBiIGFyZSBwcmVzZXJ2ZWQKKyAgICAgICAgYm0gPSBtZW1vcnl2aWV3KGIpLmNhc3QoJ0InKQorICAgICAgICBzZWxmLmFzc2VydExlc3MobiwgbGVuKGJtKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChibVs6bl0sIGRhdGFbOm5dKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGJtW246XSwgYid4JyAqIChsZW4oYm1bbjpdKSkpCisKKyAgICBkZWYgdGVzdF9yZWFkaW50bzFfYXJyYXkoc2VsZik6CisgICAgICAgIGJ1ZmZlcl9zaXplID0gNjAKKyAgICAgICAgZGF0YSA9IGIiYSIgKiAyNgorICAgICAgICByYXdpbyA9IHNlbGYuTW9ja1Jhd0lPKChkYXRhLCkpCisgICAgICAgIGJ1ZmlvID0gc2VsZi50cChyYXdpbywgYnVmZmVyX3NpemU9YnVmZmVyX3NpemUpCisKKyAgICAgICAgIyBDcmVhdGUgYW4gYXJyYXkgd2l0aCBlbGVtZW50IHNpemUgPiAxIGJ5dGUKKyAgICAgICAgYiA9IGFycmF5LmFycmF5KCdpJywgYid4JyAqIDMyKQorICAgICAgICBhc3NlcnQgbGVuKGIpICE9IDE2CisKKyAgICAgICAgIyBSZWFkIGludG8gaXQuIFdlIHNob3VsZCBnZXQgYXMgbWFueSAqYnl0ZXMqIGFzIHdlIGNhbiBmaXQgaW50byBiCisgICAgICAgICMgKHdoaWNoIGlzIG1vcmUgdGhhbiB0aGUgbnVtYmVyIG9mIGVsZW1lbnRzKQorICAgICAgICBuID0gYnVmaW8ucmVhZGludG8xKGIpCisgICAgICAgIHNlbGYuYXNzZXJ0R3JlYXRlcihuLCBsZW4oYikpCisKKyAgICAgICAgIyBDaGVjayB0aGF0IG9sZCBjb250ZW50cyBvZiBiIGFyZSBwcmVzZXJ2ZWQKKyAgICAgICAgYm0gPSBtZW1vcnl2aWV3KGIpLmNhc3QoJ0InKQorICAgICAgICBzZWxmLmFzc2VydExlc3MobiwgbGVuKGJtKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChibVs6bl0sIGRhdGFbOm5dKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGJtW246XSwgYid4JyAqIChsZW4oYm1bbjpdKSkpCisKICAgICBkZWYgdGVzdF9yZWFkbGluZXMoc2VsZik6CiAgICAgICAgIGRlZiBidWZpbygpOgogICAgICAgICAgICAgcmF3aW8gPSBzZWxmLk1vY2tSYXdJTygoYiJhYmNcbiIsIGIiZFxuIiwgYiJlZiIpKQpAQCAtMjg0MSw2ICsyOTAyLDE3IEBACiAgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoZXJyKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCJvayIsIG91dC5kZWNvZGUoKS5zdHJpcCgpKQogCisgICAgZGVmIHRlc3RfcmVhZF9ieXRlc2xpa2Uoc2VsZik6CisgICAgICAgIHIgPSBNZW12aWV3Qnl0ZXNJTyhiJ0p1c3Qgc29tZSByYW5kb20gc3RyaW5nXG4nKQorICAgICAgICB0ID0gc2VsZi5UZXh0SU9XcmFwcGVyKHIsICd1dGYtOCcpCisKKyAgICAgICAgIyBUZXh0SU93cmFwcGVyIHdpbGwgbm90IHJlYWQgdGhlIGZ1bGwgc3RyaW5nLCBiZWNhdXNlCisgICAgICAgICMgd2UgdHJ1bmNhdGUgaXQgdG8gYSBtdWx0aXBsZSBvZiB0aGUgbmF0aXZlIGludCBzaXplCisgICAgICAgICMgc28gdGhhdCB3ZSBjYW4gY29uc3RydWN0IGEgbW9yZSBjb21wbGV4IG1lbW9yeXZpZXcuCisgICAgICAgIGJ5dGVzX3ZhbCA9ICBfdG9fbWVtb3J5dmlldyhyLmdldHZhbHVlKCkpLnRvYnl0ZXMoKQorCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodC5yZWFkKDIwMCksIGJ5dGVzX3ZhbC5kZWNvZGUoJ3V0Zi04JykpCisKICAgICBkZWYgdGVzdF9pc3N1ZTIyODQ5KHNlbGYpOgogICAgICAgICBjbGFzcyBGKG9iamVjdCk6CiAgICAgICAgICAgICBkZWYgcmVhZGFibGUoc2VsZik6IHJldHVybiBUcnVlCkBAIC0yODU3LDYgKzI5MjksMjUgQEAKICAgICAgICAgdCA9IHNlbGYuVGV4dElPV3JhcHBlcihGKCksIGVuY29kaW5nPSd1dGYtOCcpCiAKIAorY2xhc3MgTWVtdmlld0J5dGVzSU8oaW8uQnl0ZXNJTyk6CisgICAgJycnQSBCeXRlc0lPIG9iamVjdCB3aG9zZSByZWFkIG1ldGhvZCByZXR1cm5zIG1lbW9yeXZpZXdzCisgICAgICAgcmF0aGVyIHRoYW4gYnl0ZXMnJycKKworICAgIGRlZiByZWFkMShzZWxmLCBsZW5fKToKKyAgICAgICAgcmV0dXJuIF90b19tZW1vcnl2aWV3KHN1cGVyKCkucmVhZDEobGVuXykpCisKKyAgICBkZWYgcmVhZChzZWxmLCBsZW5fKToKKyAgICAgICAgcmV0dXJuIF90b19tZW1vcnl2aWV3KHN1cGVyKCkucmVhZChsZW5fKSkKKworZGVmIF90b19tZW1vcnl2aWV3KGJ1Zik6CisgICAgJycnQ29udmVydCBieXRlcy1vYmplY3QgKmJ1ZiogdG8gYSBub24tdHJpdmlhbCBtZW1vcnl2aWV3JycnCisKKyAgICBhcnIgPSBhcnJheS5hcnJheSgnaScpCisgICAgaWR4ID0gbGVuKGJ1ZikgLSBsZW4oYnVmKSAlIGFyci5pdGVtc2l6ZQorICAgIGFyci5mcm9tYnl0ZXMoYnVmWzppZHhdKQorICAgIHJldHVybiBtZW1vcnl2aWV3KGFycikKKworCiBjbGFzcyBDVGV4dElPV3JhcHBlclRlc3QoVGV4dElPV3JhcHBlclRlc3QpOgogICAgIGlvID0gaW8KICAgICBzaHV0ZG93bl9lcnJvciA9ICJSdW50aW1lRXJyb3I6IGNvdWxkIG5vdCBmaW5kIGlvIG1vZHVsZSBzdGF0ZSIKQEAgLTMxMDMsNiArMzE5NCw4IEBACiAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgZi5yZWFkYWxsKQogICAgICAgICAgICAgaWYgaGFzYXR0cihmLCAicmVhZGludG8iKToKICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBmLnJlYWRpbnRvLCBieXRlYXJyYXkoMTAyNCkpCisgICAgICAgICAgICBpZiBoYXNhdHRyKGYsICJyZWFkaW50bzEiKToKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBmLnJlYWRpbnRvMSwgYnl0ZWFycmF5KDEwMjQpKQogICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgZi5yZWFkbGluZSkKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIGYucmVhZGxpbmVzKQogICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgZi5zZWVrLCAwKQpAQCAtMzIxNiwyNiArMzMwOSwyMCBAQAogICAgICAgICAgICAgICAgIHdpdGggc2VsZi5vcGVuKHN1cHBvcnQuVEVTVEZOLCAqKmt3YXJncykgYXMgZjoKICAgICAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBwaWNrbGUuZHVtcHMsIGYsIHByb3RvY29sKQogCi0gICAgQHVuaXR0ZXN0LnNraXBVbmxlc3MoZmNudGwsICdmY250bCByZXF1aXJlZCBmb3IgdGhpcyB0ZXN0JykKICAgICBkZWYgdGVzdF9ub25ibG9ja19waXBlX3dyaXRlX2JpZ2J1ZihzZWxmKToKICAgICAgICAgc2VsZi5fdGVzdF9ub25ibG9ja19waXBlX3dyaXRlKDE2KjEwMjQpCiAKLSAgICBAdW5pdHRlc3Quc2tpcFVubGVzcyhmY250bCwgJ2ZjbnRsIHJlcXVpcmVkIGZvciB0aGlzIHRlc3QnKQogICAgIGRlZiB0ZXN0X25vbmJsb2NrX3BpcGVfd3JpdGVfc21hbGxidWYoc2VsZik6CiAgICAgICAgIHNlbGYuX3Rlc3Rfbm9uYmxvY2tfcGlwZV93cml0ZSgxMDI0KQogCi0gICAgZGVmIF9zZXRfbm9uX2Jsb2NraW5nKHNlbGYsIGZkKToKLSAgICAgICAgZmxhZ3MgPSBmY250bC5mY250bChmZCwgZmNudGwuRl9HRVRGTCkKLSAgICAgICAgc2VsZi5hc3NlcnROb3RFcXVhbChmbGFncywgLTEpCi0gICAgICAgIHJlcyA9IGZjbnRsLmZjbnRsKGZkLCBmY250bC5GX1NFVEZMLCBmbGFncyB8IG9zLk9fTk9OQkxPQ0spCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVzLCAwKQotCisgICAgQHVuaXR0ZXN0LnNraXBVbmxlc3MoaGFzYXR0cihvcywgJ3NldF9ibG9ja2luZycpLAorICAgICAgICAgICAgICAgICAgICAgICAgICdvcy5zZXRfYmxvY2tpbmcoKSByZXF1aXJlZCBmb3IgdGhpcyB0ZXN0JykKICAgICBkZWYgX3Rlc3Rfbm9uYmxvY2tfcGlwZV93cml0ZShzZWxmLCBidWZzaXplKToKICAgICAgICAgc2VudCA9IFtdCiAgICAgICAgIHJlY2VpdmVkID0gW10KICAgICAgICAgciwgdyA9IG9zLnBpcGUoKQotICAgICAgICBzZWxmLl9zZXRfbm9uX2Jsb2NraW5nKHIpCi0gICAgICAgIHNlbGYuX3NldF9ub25fYmxvY2tpbmcodykKKyAgICAgICAgb3Muc2V0X2Jsb2NraW5nKHIsIEZhbHNlKQorICAgICAgICBvcy5zZXRfYmxvY2tpbmcodywgRmFsc2UpCiAKICAgICAgICAgIyBUbyBleGVyY2lzZSBhbGwgY29kZSBwYXRocyBpbiB0aGUgQyBpbXBsZW1lbnRhdGlvbiB3ZSBuZWVkCiAgICAgICAgICMgdG8gcGxheSB3aXRoIGJ1ZmZlciBzaXplcy4gIEZvciBpbnN0YW5jZSwgaWYgd2UgY2hvb3NlIGEKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfaXBhZGRyZXNzLnB5IGIvTGliL3Rlc3QvdGVzdF9pcGFkZHJlc3MucHkKaW5kZXggYmZiNTY5OS4uZTk4NTMyOSAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9pcGFkZHJlc3MucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9pcGFkZHJlc3MucHkKQEAgLTksNiArOSw3IEBACiBpbXBvcnQgY29udGV4dGxpYgogaW1wb3J0IGZ1bmN0b29scwogaW1wb3J0IG9wZXJhdG9yCitpbXBvcnQgcGlja2xlCiBpbXBvcnQgaXBhZGRyZXNzCiAKIApAQCAtODMsNiArODQsMTMgQEAKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBoZXgsIHNlbGYuZmFjdG9yeSgxKSkKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBieXRlcywgc2VsZi5mYWN0b3J5KDEpKQogCisgICAgZGVmIHBpY2tsZV90ZXN0KHNlbGYsIGFkZHIpOgorICAgICAgICBmb3IgcHJvdG8gaW4gcmFuZ2UocGlja2xlLkhJR0hFU1RfUFJPVE9DT0wgKyAxKToKKyAgICAgICAgICAgIHdpdGggc2VsZi5zdWJUZXN0KHByb3RvPXByb3RvKToKKyAgICAgICAgICAgICAgICB4ID0gc2VsZi5mYWN0b3J5KGFkZHIpCisgICAgICAgICAgICAgICAgeSA9IHBpY2tsZS5sb2FkcyhwaWNrbGUuZHVtcHMoeCwgcHJvdG8pKQorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoeSwgeCkKKwogCiBjbGFzcyBDb21tb25UZXN0TWl4aW5fdjQoQ29tbW9uVGVzdE1peGluKToKIApAQCAtMjQ4LDYgKzI1Niw5IEBACiAgICAgICAgIGFzc2VydEJhZE9jdGV0KCIyNTcuMC4wLjAiLCAyNTcpCiAgICAgICAgIGFzc2VydEJhZE9jdGV0KCIxOTIuMTY4LjAuOTk5IiwgOTk5KQogCisgICAgZGVmIHRlc3RfcGlja2xlKHNlbGYpOgorICAgICAgICBzZWxmLnBpY2tsZV90ZXN0KCcxOTIuMC4yLjEnKQorCiAKIGNsYXNzIEFkZHJlc3NUZXN0Q2FzZV92NihCYXNlVGVzdENhc2UsIENvbW1vblRlc3RNaXhpbl92Nik6CiAgICAgZmFjdG9yeSA9IGlwYWRkcmVzcy5JUHY2QWRkcmVzcwpAQCAtMzgwLDYgKzM5MSw5IEBACiAgICAgICAgIGFzc2VydEJhZFBhcnQoIjAyMDAxOmRiODo6IiwgIjAyMDAxIikKICAgICAgICAgYXNzZXJ0QmFkUGFydCgnMjAwMTo4ODg4ODg6OjEnLCAiODg4ODg4IikKIAorICAgIGRlZiB0ZXN0X3BpY2tsZShzZWxmKToKKyAgICAgICAgc2VsZi5waWNrbGVfdGVzdCgnMjAwMTpkYjg6OicpCisKIAogY2xhc3MgTmV0bWFza1Rlc3RNaXhpbl92NChDb21tb25UZXN0TWl4aW5fdjQpOgogICAgICIiIklucHV0IHZhbGlkYXRpb24gb24gaW50ZXJmYWNlcyBhbmQgbmV0d29ya3MgaXMgdmVyeSBzaW1pbGFyIiIiCkBAIC00NDMsNiArNDU3LDExIEBACiAgICAgICAgIGFzc2VydEJhZE5ldG1hc2soIjEuMS4xLjEiLCAicHVkZGluZyIpCiAgICAgICAgIGFzc2VydEJhZE5ldG1hc2soIjEuMS4xLjEiLCAiOjoiKQogCisgICAgZGVmIHRlc3RfcGlja2xlKHNlbGYpOgorICAgICAgICBzZWxmLnBpY2tsZV90ZXN0KCcxOTIuMC4yLjAvMjcnKQorICAgICAgICBzZWxmLnBpY2tsZV90ZXN0KCcxOTIuMC4yLjAvMzEnKSAgIyBJUFY0TEVOR1RIIC0gMQorICAgICAgICBzZWxmLnBpY2tsZV90ZXN0KCcxOTIuMC4yLjAnKSAgICAgIyBJUFY0TEVOR1RICisKIAogY2xhc3MgSW50ZXJmYWNlVGVzdENhc2VfdjQoQmFzZVRlc3RDYXNlLCBOZXRtYXNrVGVzdE1peGluX3Y0KToKICAgICBmYWN0b3J5ID0gaXBhZGRyZXNzLklQdjRJbnRlcmZhY2UKQEAgLTUwMSw2ICs1MjAsMTEgQEAKICAgICAgICAgYXNzZXJ0QmFkTmV0bWFzaygiOjoxIiwgInB1ZGRpbmciKQogICAgICAgICBhc3NlcnRCYWROZXRtYXNrKCI6OiIsICI6OiIpCiAKKyAgICBkZWYgdGVzdF9waWNrbGUoc2VsZik6CisgICAgICAgIHNlbGYucGlja2xlX3Rlc3QoJzIwMDE6ZGI4OjoxMDAwLzEyNCcpCisgICAgICAgIHNlbGYucGlja2xlX3Rlc3QoJzIwMDE6ZGI4OjoxMDAwLzEyNycpICAjIElQVjZMRU5HVEggLSAxCisgICAgICAgIHNlbGYucGlja2xlX3Rlc3QoJzIwMDE6ZGI4OjoxMDAwJykgICAgICAjIElQVjZMRU5HVEgKKwogCiBjbGFzcyBJbnRlcmZhY2VUZXN0Q2FzZV92NihCYXNlVGVzdENhc2UsIE5ldG1hc2tUZXN0TWl4aW5fdjYpOgogICAgIGZhY3RvcnkgPSBpcGFkZHJlc3MuSVB2NkludGVyZmFjZQpAQCAtNjcwLDYgKzY5NCwxMTkgQEAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgiSVB2NkludGVyZmFjZSgnOjoxLzEyOCcpIiwKICAgICAgICAgICAgICAgICAgICAgICAgICByZXByKGlwYWRkcmVzcy5JUHY2SW50ZXJmYWNlKCc6OjEnKSkpCiAKKyAgICAjIGlzc3VlICMxNjUzMTogY29uc3RydWN0aW5nIElQdjROZXR3b3JrIGZyb20gYSAoYWRkcmVzcywgbWFzaykgdHVwbGUKKyAgICBkZWYgdGVzdElQdjRUdXBsZShzZWxmKToKKyAgICAgICAgIyAvMzIKKyAgICAgICAgaXAgPSBpcGFkZHJlc3MuSVB2NEFkZHJlc3MoJzE5Mi4wLjIuMScpCisgICAgICAgIG5ldCA9IGlwYWRkcmVzcy5JUHY0TmV0d29yaygnMTkyLjAuMi4xLzMyJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChpcGFkZHJlc3MuSVB2NE5ldHdvcmsoKCcxOTIuMC4yLjEnLCAzMikpLCBuZXQpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoaXBhZGRyZXNzLklQdjROZXR3b3JrKChpcCwgMzIpKSwgbmV0KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGlwYWRkcmVzcy5JUHY0TmV0d29yaygoMzIyMTIyNTk4NSwgMzIpKSwgbmV0KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGlwYWRkcmVzcy5JUHY0TmV0d29yaygoJzE5Mi4wLjIuMScsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnMjU1LjI1NS4yNTUuMjU1JykpLCBuZXQpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoaXBhZGRyZXNzLklQdjROZXR3b3JrKChpcCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcyNTUuMjU1LjI1NS4yNTUnKSksIG5ldCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChpcGFkZHJlc3MuSVB2NE5ldHdvcmsoKDMyMjEyMjU5ODUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnMjU1LjI1NS4yNTUuMjU1JykpLCBuZXQpCisgICAgICAgICMgc3RyaWN0PVRydWUgYW5kIGhvc3QgYml0cyBzZXQKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yKToKKyAgICAgICAgICAgIGlwYWRkcmVzcy5JUHY0TmV0d29yaygoJzE5Mi4wLjIuMScsIDI0KSkKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yKToKKyAgICAgICAgICAgIGlwYWRkcmVzcy5JUHY0TmV0d29yaygoaXAsIDI0KSkKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yKToKKyAgICAgICAgICAgIGlwYWRkcmVzcy5JUHY0TmV0d29yaygoMzIyMTIyNTk4NSwgMjQpKQorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IpOgorICAgICAgICAgICAgaXBhZGRyZXNzLklQdjROZXR3b3JrKCgnMTkyLjAuMi4xJywgJzI1NS4yNTUuMjU1LjAnKSkKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yKToKKyAgICAgICAgICAgIGlwYWRkcmVzcy5JUHY0TmV0d29yaygoaXAsICcyNTUuMjU1LjI1NS4wJykpCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvcik6CisgICAgICAgICAgICBpcGFkZHJlc3MuSVB2NE5ldHdvcmsoKDMyMjEyMjU5ODUsICcyNTUuMjU1LjI1NS4wJykpCisgICAgICAgICMgc3RyaWN0PUZhbHNlIGFuZCBob3N0IGJpdHMgc2V0CisgICAgICAgIG5ldCA9IGlwYWRkcmVzcy5JUHY0TmV0d29yaygnMTkyLjAuMi4wLzI0JykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChpcGFkZHJlc3MuSVB2NE5ldHdvcmsoKCcxOTIuMC4yLjEnLCAyNCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cmljdD1GYWxzZSksIG5ldCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChpcGFkZHJlc3MuSVB2NE5ldHdvcmsoKGlwLCAyNCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cmljdD1GYWxzZSksIG5ldCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChpcGFkZHJlc3MuSVB2NE5ldHdvcmsoKDMyMjEyMjU5ODUsIDI0KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyaWN0PUZhbHNlKSwgbmV0KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGlwYWRkcmVzcy5JUHY0TmV0d29yaygoJzE5Mi4wLjIuMScsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnMjU1LjI1NS4yNTUuMCcpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJpY3Q9RmFsc2UpLCBuZXQpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoaXBhZGRyZXNzLklQdjROZXR3b3JrKChpcCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcyNTUuMjU1LjI1NS4wJyksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cmljdD1GYWxzZSksIG5ldCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChpcGFkZHJlc3MuSVB2NE5ldHdvcmsoKDMyMjEyMjU5ODUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnMjU1LjI1NS4yNTUuMCcpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJpY3Q9RmFsc2UpLCBuZXQpCisKKyAgICAgICAgIyAvMjQKKyAgICAgICAgaXAgPSBpcGFkZHJlc3MuSVB2NEFkZHJlc3MoJzE5Mi4wLjIuMCcpCisgICAgICAgIG5ldCA9IGlwYWRkcmVzcy5JUHY0TmV0d29yaygnMTkyLjAuMi4wLzI0JykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChpcGFkZHJlc3MuSVB2NE5ldHdvcmsoKCcxOTIuMC4yLjAnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJzI1NS4yNTUuMjU1LjAnKSksIG5ldCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChpcGFkZHJlc3MuSVB2NE5ldHdvcmsoKGlwLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJzI1NS4yNTUuMjU1LjAnKSksIG5ldCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChpcGFkZHJlc3MuSVB2NE5ldHdvcmsoKDMyMjEyMjU5ODQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnMjU1LjI1NS4yNTUuMCcpKSwgbmV0KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGlwYWRkcmVzcy5JUHY0TmV0d29yaygoJzE5Mi4wLjIuMCcsIDI0KSksIG5ldCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChpcGFkZHJlc3MuSVB2NE5ldHdvcmsoKGlwLCAyNCkpLCBuZXQpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoaXBhZGRyZXNzLklQdjROZXR3b3JrKCgzMjIxMjI1OTg0LCAyNCkpLCBuZXQpCisKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChpcGFkZHJlc3MuSVB2NEludGVyZmFjZSgoJzE5Mi4wLjIuMScsIDI0KSksCisgICAgICAgICAgICAgICAgICAgICAgICAgaXBhZGRyZXNzLklQdjRJbnRlcmZhY2UoJzE5Mi4wLjIuMS8yNCcpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGlwYWRkcmVzcy5JUHY0SW50ZXJmYWNlKCgzMjIxMjI1OTg1LCAyNCkpLAorICAgICAgICAgICAgICAgICAgICAgICAgIGlwYWRkcmVzcy5JUHY0SW50ZXJmYWNlKCcxOTIuMC4yLjEvMjQnKSkKKworICAgICMgaXNzdWUgIzE2NTMxOiBjb25zdHJ1Y3RpbmcgSVB2Nk5ldHdvcmsgZnJvbSBhIChhZGRyZXNzLCBtYXNrKSB0dXBsZQorICAgIGRlZiB0ZXN0SVB2NlR1cGxlKHNlbGYpOgorICAgICAgICAjIC8xMjgKKyAgICAgICAgaXAgPSBpcGFkZHJlc3MuSVB2NkFkZHJlc3MoJzIwMDE6ZGI4OjonKQorICAgICAgICBuZXQgPSBpcGFkZHJlc3MuSVB2Nk5ldHdvcmsoJzIwMDE6ZGI4OjovMTI4JykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChpcGFkZHJlc3MuSVB2Nk5ldHdvcmsoKCcyMDAxOmRiODo6JywgJzEyOCcpKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBuZXQpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoaXBhZGRyZXNzLklQdjZOZXR3b3JrKAorICAgICAgICAgICAgICAgICg0MjU0MDc2NjQxMTI4MjU5Mjg1NjkwMzk4NDk1MTY1MzgyNjU2MCwgMTI4KSksCisgICAgICAgICAgICAgICAgICAgICAgICAgbmV0KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGlwYWRkcmVzcy5JUHY2TmV0d29yaygoaXAsICcxMjgnKSksCisgICAgICAgICAgICAgICAgICAgICAgICAgbmV0KQorICAgICAgICBpcCA9IGlwYWRkcmVzcy5JUHY2QWRkcmVzcygnMjAwMTpkYjg6OicpCisgICAgICAgIG5ldCA9IGlwYWRkcmVzcy5JUHY2TmV0d29yaygnMjAwMTpkYjg6Oi85NicpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoaXBhZGRyZXNzLklQdjZOZXR3b3JrKCgnMjAwMTpkYjg6OicsICc5NicpKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBuZXQpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoaXBhZGRyZXNzLklQdjZOZXR3b3JrKAorICAgICAgICAgICAgICAgICg0MjU0MDc2NjQxMTI4MjU5Mjg1NjkwMzk4NDk1MTY1MzgyNjU2MCwgOTYpKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBuZXQpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoaXBhZGRyZXNzLklQdjZOZXR3b3JrKChpcCwgJzk2JykpLAorICAgICAgICAgICAgICAgICAgICAgICAgIG5ldCkKKworICAgICAgICAjIHN0cmljdD1UcnVlIGFuZCBob3N0IGJpdHMgc2V0CisgICAgICAgIGlwID0gaXBhZGRyZXNzLklQdjZBZGRyZXNzKCcyMDAxOmRiODo6MScpCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvcik6CisgICAgICAgICAgICBpcGFkZHJlc3MuSVB2Nk5ldHdvcmsoKCcyMDAxOmRiODo6MScsIDk2KSkKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yKToKKyAgICAgICAgICAgIGlwYWRkcmVzcy5JUHY2TmV0d29yaygoCisgICAgICAgICAgICAgICAgNDI1NDA3NjY0MTEyODI1OTI4NTY5MDM5ODQ5NTE2NTM4MjY1NjEsIDk2KSkKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yKToKKyAgICAgICAgICAgIGlwYWRkcmVzcy5JUHY2TmV0d29yaygoaXAsIDk2KSkKKyAgICAgICAgIyBzdHJpY3Q9RmFsc2UgYW5kIGhvc3QgYml0cyBzZXQKKyAgICAgICAgbmV0ID0gaXBhZGRyZXNzLklQdjZOZXR3b3JrKCcyMDAxOmRiODo6Lzk2JykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChpcGFkZHJlc3MuSVB2Nk5ldHdvcmsoKCcyMDAxOmRiODo6MScsIDk2KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyaWN0PUZhbHNlKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBuZXQpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoaXBhZGRyZXNzLklQdjZOZXR3b3JrKAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoNDI1NDA3NjY0MTEyODI1OTI4NTY5MDM5ODQ5NTE2NTM4MjY1NjEsIDk2KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyaWN0PUZhbHNlKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBuZXQpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoaXBhZGRyZXNzLklQdjZOZXR3b3JrKChpcCwgOTYpLCBzdHJpY3Q9RmFsc2UpLAorICAgICAgICAgICAgICAgICAgICAgICAgIG5ldCkKKworICAgICAgICAjIC85NgorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGlwYWRkcmVzcy5JUHY2SW50ZXJmYWNlKCgnMjAwMTpkYjg6OjEnLCAnOTYnKSksCisgICAgICAgICAgICAgICAgICAgICAgICAgaXBhZGRyZXNzLklQdjZJbnRlcmZhY2UoJzIwMDE6ZGI4OjoxLzk2JykpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoaXBhZGRyZXNzLklQdjZJbnRlcmZhY2UoCisgICAgICAgICAgICAgICAgKDQyNTQwNzY2NDExMjgyNTkyODU2OTAzOTg0OTUxNjUzODI2NTYxLCAnOTYnKSksCisgICAgICAgICAgICAgICAgICAgICAgICAgaXBhZGRyZXNzLklQdjZJbnRlcmZhY2UoJzIwMDE6ZGI4OjoxLzk2JykpCisKICAgICAjIGlzc3VlNTcKICAgICBkZWYgdGVzdEFkZHJlc3NJbnRNYXRoKHNlbGYpOgogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGlwYWRkcmVzcy5JUHY0QWRkcmVzcygnMS4xLjEuMScpICsgMjU1LApAQCAtNjkwLDIwICs4MjcsMTggQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgMiAqKiBpcGFkZHJlc3MuSVBWNkxFTkdUSCkKIAogICAgIGRlZiB0ZXN0SW50ZXJuYWxzKHNlbGYpOgotICAgICAgICBmaXJzdCwgbGFzdCA9IGlwYWRkcmVzcy5fZmluZF9hZGRyZXNzX3JhbmdlKFsKLSAgICAgICAgICAgIGlwYWRkcmVzcy5JUHY0QWRkcmVzcygnMTAuMTAuMTAuMTAnKSwKLSAgICAgICAgICAgIGlwYWRkcmVzcy5JUHY0QWRkcmVzcygnMTAuMTAuMTAuMTInKV0pCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZmlyc3QsIGxhc3QpCisgICAgICAgIGlwMSA9IGlwYWRkcmVzcy5JUHY0QWRkcmVzcygnMTAuMTAuMTAuMTAnKQorICAgICAgICBpcDIgPSBpcGFkZHJlc3MuSVB2NEFkZHJlc3MoJzEwLjEwLjEwLjExJykKKyAgICAgICAgaXAzID0gaXBhZGRyZXNzLklQdjRBZGRyZXNzKCcxMC4xMC4xMC4xMicpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGlzdChpcGFkZHJlc3MuX2ZpbmRfYWRkcmVzc19yYW5nZShbaXAxXSkpLAorICAgICAgICAgICAgICAgICAgICAgICAgIFsoaXAxLCBpcDEpXSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsaXN0KGlwYWRkcmVzcy5fZmluZF9hZGRyZXNzX3JhbmdlKFtpcDEsIGlwM10pKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBbKGlwMSwgaXAxKSwgKGlwMywgaXAzKV0pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGlzdChpcGFkZHJlc3MuX2ZpbmRfYWRkcmVzc19yYW5nZShbaXAxLCBpcDIsIGlwM10pKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBbKGlwMSwgaXAzKV0pCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoMTI4LCBpcGFkZHJlc3MuX2NvdW50X3JpZ2h0aGFuZF96ZXJvX2JpdHMoMCwgMTI4KSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgiSVB2NE5ldHdvcmsoJzEuMi4zLjAvMjQnKSIsIHJlcHIoc2VsZi5pcHY0X25ldHdvcmspKQogCi0gICAgZGVmIHRlc3RNaXNzaW5nQWRkcmVzc1ZlcnNpb24oc2VsZik6Ci0gICAgICAgIGNsYXNzIEJyb2tlbihpcGFkZHJlc3MuX0Jhc2VBZGRyZXNzKToKLSAgICAgICAgICAgIHBhc3MKLSAgICAgICAgYnJva2VuID0gQnJva2VuKCcxMjcuMC4wLjEnKQotICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgoTm90SW1wbGVtZW50ZWRFcnJvciwgIkJyb2tlbi4qdmVyc2lvbiIpOgotICAgICAgICAgICAgYnJva2VuLnZlcnNpb24KLQogICAgIGRlZiB0ZXN0TWlzc2luZ05ldHdvcmtWZXJzaW9uKHNlbGYpOgogICAgICAgICBjbGFzcyBCcm9rZW4oaXBhZGRyZXNzLl9CYXNlTmV0d29yayk6CiAgICAgICAgICAgICBwYXNzCkBAIC0xNjM1LDYgKzE3NzAsMTQgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICBhZGRyMy5leHBsb2RlZCkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgnMTkyLjE2OC4xNzguMScsIGFkZHI0LmV4cGxvZGVkKQogCisgICAgZGVmIHRlc3RSZXZlcnNlUG9pbnRlcihzZWxmKToKKyAgICAgICAgYWRkcjEgPSBpcGFkZHJlc3MuSVB2NEFkZHJlc3MoJzEyNy4wLjAuMScpCisgICAgICAgIGFkZHIyID0gaXBhZGRyZXNzLklQdjZBZGRyZXNzKCcyMDAxOmRiODo6MScpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoJzEuMC4wLjEyNy5pbi1hZGRyLmFycGEnLCBhZGRyMS5yZXZlcnNlX3BvaW50ZXIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoJzEuMC4wLjAuMC4wLjAuMC4wLjAuMC4wLjAuMC4wLjAuMC4wLjAuMC4wLjAuMC4wLjguJyArCisgICAgICAgICAgICAgICAgICAgICAgICAgJ2IuZC4wLjEuMC4wLjIuaXA2LmFycGEnLAorICAgICAgICAgICAgICAgICAgICAgICAgIGFkZHIyLnJldmVyc2VfcG9pbnRlcikKKwogICAgIGRlZiB0ZXN0SW50UmVwcmVzZW50YXRpb24oc2VsZik6CiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoMTY5MDkwNjAsIGludChzZWxmLmlwdjRfYWRkcmVzcykpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoNDI1NDA2MTY4MjkxODI0Njk0MzM1NDc3NjI0ODIwOTc5NDY2MjUsCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2l0ZXJ0b29scy5weSBiL0xpYi90ZXN0L3Rlc3RfaXRlcnRvb2xzLnB5CmluZGV4IDI0NDU5OGIuLjZhMDEzMGUgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfaXRlcnRvb2xzLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfaXRlcnRvb2xzLnB5CkBAIC0xODU2LDggKzE4NTYsNiBAQAogICAgICAgICAgICAgaGlzdC5hcHBlbmQoMykKICAgICAgICAgICAgIHlpZWxkIDIKICAgICAgICAgICAgIGhpc3QuYXBwZW5kKDQpCi0gICAgICAgICAgICBpZiB4OgotICAgICAgICAgICAgICAgIHJhaXNlIFN0b3BJdGVyYXRpb24KIAogICAgICAgICBoaXN0ID0gW10KICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoQXNzZXJ0aW9uRXJyb3IsIGxpc3QsIGNoYWluKGdlbjEoKSwgZ2VuMihGYWxzZSkpKQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9qc29uL19faW5pdF9fLnB5IGIvTGliL3Rlc3QvdGVzdF9qc29uL19faW5pdF9fLnB5CmluZGV4IDJjZjEwMzIuLjA4MDdlNmYgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfanNvbi9fX2luaXRfXy5weQorKysgYi9MaWIvdGVzdC90ZXN0X2pzb24vX19pbml0X18ucHkKQEAgLTksMTIgKzksMTUgQEAKICMgaW1wb3J0IGpzb24gd2l0aCBhbmQgd2l0aG91dCBhY2NlbGVyYXRpb25zCiBjanNvbiA9IHN1cHBvcnQuaW1wb3J0X2ZyZXNoX21vZHVsZSgnanNvbicsIGZyZXNoPVsnX2pzb24nXSkKIHB5anNvbiA9IHN1cHBvcnQuaW1wb3J0X2ZyZXNoX21vZHVsZSgnanNvbicsIGJsb2NrZWQ9WydfanNvbiddKQorIyBKU09ORGVjb2RlRXJyb3IgaXMgY2FjaGVkIGluc2lkZSB0aGUgX2pzb24gbW9kdWxlCitjanNvbi5KU09ORGVjb2RlRXJyb3IgPSBjanNvbi5kZWNvZGVyLkpTT05EZWNvZGVFcnJvciA9IGpzb24uSlNPTkRlY29kZUVycm9yCiAKICMgY3JlYXRlIHR3byBiYXNlIGNsYXNzZXMgdGhhdCB3aWxsIGJlIHVzZWQgYnkgdGhlIG90aGVyIHRlc3RzCiBjbGFzcyBQeVRlc3QodW5pdHRlc3QuVGVzdENhc2UpOgogICAgIGpzb24gPSBweWpzb24KICAgICBsb2FkcyA9IHN0YXRpY21ldGhvZChweWpzb24ubG9hZHMpCiAgICAgZHVtcHMgPSBzdGF0aWNtZXRob2QocHlqc29uLmR1bXBzKQorICAgIEpTT05EZWNvZGVFcnJvciA9IHN0YXRpY21ldGhvZChweWpzb24uSlNPTkRlY29kZUVycm9yKQogCiBAdW5pdHRlc3Quc2tpcFVubGVzcyhjanNvbiwgJ3JlcXVpcmVzIF9qc29uJykKIGNsYXNzIENUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKQEAgLTIyLDYgKzI1LDcgQEAKICAgICAgICAganNvbiA9IGNqc29uCiAgICAgICAgIGxvYWRzID0gc3RhdGljbWV0aG9kKGNqc29uLmxvYWRzKQogICAgICAgICBkdW1wcyA9IHN0YXRpY21ldGhvZChjanNvbi5kdW1wcykKKyAgICAgICAgSlNPTkRlY29kZUVycm9yID0gc3RhdGljbWV0aG9kKGNqc29uLkpTT05EZWNvZGVFcnJvcikKIAogIyB0ZXN0IFB5VGVzdCBhbmQgQ1Rlc3QgY2hlY2tpbmcgaWYgdGhlIGZ1bmN0aW9ucyBjb21lIGZyb20gdGhlIHJpZ2h0IG1vZHVsZQogY2xhc3MgVGVzdFB5VGVzdChQeVRlc3QpOgpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9qc29uL3Rlc3RfZGVjb2RlLnB5IGIvTGliL3Rlc3QvdGVzdF9qc29uL3Rlc3RfZGVjb2RlLnB5CmluZGV4IDU5MWIyZTIuLmNjODNiNDUgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfanNvbi90ZXN0X2RlY29kZS5weQorKysgYi9MaWIvdGVzdC90ZXN0X2pzb24vdGVzdF9kZWNvZGUucHkKQEAgLTYzLDEyICs2MywxMiBAQAogICAgIGRlZiB0ZXN0X2V4dHJhX2RhdGEoc2VsZik6CiAgICAgICAgIHMgPSAnWzEsIDIsIDNdNScKICAgICAgICAgbXNnID0gJ0V4dHJhIGRhdGEnCi0gICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgoVmFsdWVFcnJvciwgbXNnLCBzZWxmLmxvYWRzLCBzKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlc1JlZ2V4KHNlbGYuSlNPTkRlY29kZUVycm9yLCBtc2csIHNlbGYubG9hZHMsIHMpCiAKICAgICBkZWYgdGVzdF9pbnZhbGlkX2VzY2FwZShzZWxmKToKICAgICAgICAgcyA9ICdbImFiY1xceSJdJwogICAgICAgICBtc2cgPSAnZXNjYXBlJwotICAgICAgICBzZWxmLmFzc2VydFJhaXNlc1JlZ2V4KFZhbHVlRXJyb3IsIG1zZywgc2VsZi5sb2FkcywgcykKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXNSZWdleChzZWxmLkpTT05EZWNvZGVFcnJvciwgbXNnLCBzZWxmLmxvYWRzLCBzKQogCiAgICAgZGVmIHRlc3RfaW52YWxpZF9pbnB1dF90eXBlKHNlbGYpOgogICAgICAgICBtc2cgPSAndGhlIEpTT04gb2JqZWN0IG11c3QgYmUgc3RyJwpAQCAtODAsMTAgKzgwLDEwIEBACiAgICAgZGVmIHRlc3Rfc3RyaW5nX3dpdGhfdXRmOF9ib20oc2VsZik6CiAgICAgICAgICMgc2VlICMxODk1OAogICAgICAgICBib21fanNvbiA9ICJbMSwyLDNdIi5lbmNvZGUoJ3V0Zi04LXNpZycpLmRlY29kZSgndXRmLTgnKQotICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IpIGFzIGNtOgorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKHNlbGYuSlNPTkRlY29kZUVycm9yKSBhcyBjbToKICAgICAgICAgICAgIHNlbGYubG9hZHMoYm9tX2pzb24pCiAgICAgICAgIHNlbGYuYXNzZXJ0SW4oJ0JPTScsIHN0cihjbS5leGNlcHRpb24pKQotICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IpIGFzIGNtOgorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKHNlbGYuSlNPTkRlY29kZUVycm9yKSBhcyBjbToKICAgICAgICAgICAgIHNlbGYuanNvbi5sb2FkKFN0cmluZ0lPKGJvbV9qc29uKSkKICAgICAgICAgc2VsZi5hc3NlcnRJbignQk9NJywgc3RyKGNtLmV4Y2VwdGlvbikpCiAgICAgICAgICMgbWFrZSBzdXJlIHRoYXQgdGhlIEJPTSBpcyBub3QgZGV0ZWN0ZWQgaW4gdGhlIG1pZGRsZSBvZiBhIHN0cmluZwpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9qc29uL3Rlc3RfZW5jb2RlX2Jhc2VzdHJpbmdfYXNjaWkucHkgYi9MaWIvdGVzdC90ZXN0X2pzb24vdGVzdF9lbmNvZGVfYmFzZXN0cmluZ19hc2NpaS5weQppbmRleCAyMTIyZGExLi40YmJjNmM3IDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2pzb24vdGVzdF9lbmNvZGVfYmFzZXN0cmluZ19hc2NpaS5weQorKysgYi9MaWIvdGVzdC90ZXN0X2pzb24vdGVzdF9lbmNvZGVfYmFzZXN0cmluZ19hc2NpaS5weQpAQCAtMTIsOSArMTIsNiBAQAogICAgICgnIHMgcCBhIGMgZSBkICcsICciIHMgcCBhIGMgZSBkICInKSwKICAgICAoJ1xVMDAwMWQxMjAnLCAnIlxcdWQ4MzRcXHVkZDIwIicpLAogICAgICgnXHUwM2IxXHUwM2E5JywgJyJcXHUwM2IxXFx1MDNhOSInKSwKLSAgICAoJ1x1MDNiMVx1MDNhOScsICciXFx1MDNiMVxcdTAzYTkiJyksCi0gICAgKCdcdTAzYjFcdTAzYTknLCAnIlxcdTAzYjFcXHUwM2E5IicpLAotICAgICgnXHUwM2IxXHUwM2E5JywgJyJcXHUwM2IxXFx1MDNhOSInKSwKICAgICAoImAxfiFAIyQlXiYqKClfKy09eyc6WyxdfXw7LjwvPj8iLCAnImAxfiFAIyQlXiYqKClfKy09e1wnOlssXX18Oy48Lz4/IicpLAogICAgICgnXHgwOFx4MGNcblxyXHQnLCAnIlxcYlxcZlxcblxcclxcdCInKSwKICAgICAoJ1x1MDEyM1x1NDU2N1x1ODlhYlx1Y2RlZlx1YWJjZFx1ZWY0YScsICciXFx1MDEyM1xcdTQ1NjdcXHU4OWFiXFx1Y2RlZlxcdWFiY2RcXHVlZjRhIicpLApkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9qc29uL3Rlc3RfZmFpbC5weSBiL0xpYi90ZXN0L3Rlc3RfanNvbi90ZXN0X2ZhaWwucHkKaW5kZXggN2NhYWZkYi4uOTVmZjViOCAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9qc29uL3Rlc3RfZmFpbC5weQorKysgYi9MaWIvdGVzdC90ZXN0X2pzb24vdGVzdF9mYWlsLnB5CkBAIC04Nyw3ICs4Nyw3IEBACiAgICAgICAgICAgICAgICAgY29udGludWUKICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgICBzZWxmLmxvYWRzKGRvYykKLSAgICAgICAgICAgIGV4Y2VwdCBWYWx1ZUVycm9yOgorICAgICAgICAgICAgZXhjZXB0IHNlbGYuSlNPTkRlY29kZUVycm9yOgogICAgICAgICAgICAgICAgIHBhc3MKICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgc2VsZi5mYWlsKCJFeHBlY3RlZCBmYWlsdXJlIGZvciBmYWlsezB9Lmpzb246IHsxIXJ9Ii5mb3JtYXQoaWR4LCBkb2MpKQpAQCAtMTI0LDEwICsxMjQsMTYgQEAKICAgICAgICAgICAgICgnInNwYW0nLCAnVW50ZXJtaW5hdGVkIHN0cmluZyBzdGFydGluZyBhdCcsIDApLAogICAgICAgICBdCiAgICAgICAgIGZvciBkYXRhLCBtc2csIGlkeCBpbiB0ZXN0X2Nhc2VzOgotICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXNSZWdleChWYWx1ZUVycm9yLAotICAgICAgICAgICAgICAgIHInXnswfTogbGluZSAxIGNvbHVtbiB7MX0gXChjaGFyIHsyfVwpJy5mb3JtYXQoCi0gICAgICAgICAgICAgICAgICAgIHJlLmVzY2FwZShtc2cpLCBpZHggKyAxLCBpZHgpLAotICAgICAgICAgICAgICAgIHNlbGYubG9hZHMsIGRhdGEpCisgICAgICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKHNlbGYuSlNPTkRlY29kZUVycm9yKSBhcyBjbToKKyAgICAgICAgICAgICAgICBzZWxmLmxvYWRzKGRhdGEpCisgICAgICAgICAgICBlcnIgPSBjbS5leGNlcHRpb24KKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZXJyLm1zZywgbXNnKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChlcnIucG9zLCBpZHgpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGVyci5saW5lbm8sIDEpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGVyci5jb2xubywgaWR4ICsgMSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RyKGVyciksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICclczogbGluZSAxIGNvbHVtbiAlZCAoY2hhciAlZCknICUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG1zZywgaWR4ICsgMSwgaWR4KSkKIAogICAgIGRlZiB0ZXN0X3VuZXhwZWN0ZWRfZGF0YShzZWxmKToKICAgICAgICAgdGVzdF9jYXNlcyA9IFsKQEAgLTE1NCwxMCArMTYwLDE2IEBACiAgICAgICAgICAgICAoJ3sic3BhbSI6NDIsfScsICdFeHBlY3RpbmcgcHJvcGVydHkgbmFtZSBlbmNsb3NlZCBpbiBkb3VibGUgcXVvdGVzJywgMTEpLAogICAgICAgICBdCiAgICAgICAgIGZvciBkYXRhLCBtc2csIGlkeCBpbiB0ZXN0X2Nhc2VzOgotICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXNSZWdleChWYWx1ZUVycm9yLAotICAgICAgICAgICAgICAgIHInXnswfTogbGluZSAxIGNvbHVtbiB7MX0gXChjaGFyIHsyfVwpJy5mb3JtYXQoCi0gICAgICAgICAgICAgICAgICAgIHJlLmVzY2FwZShtc2cpLCBpZHggKyAxLCBpZHgpLAotICAgICAgICAgICAgICAgIHNlbGYubG9hZHMsIGRhdGEpCisgICAgICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKHNlbGYuSlNPTkRlY29kZUVycm9yKSBhcyBjbToKKyAgICAgICAgICAgICAgICBzZWxmLmxvYWRzKGRhdGEpCisgICAgICAgICAgICBlcnIgPSBjbS5leGNlcHRpb24KKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZXJyLm1zZywgbXNnKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChlcnIucG9zLCBpZHgpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGVyci5saW5lbm8sIDEpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGVyci5jb2xubywgaWR4ICsgMSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RyKGVyciksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICclczogbGluZSAxIGNvbHVtbiAlZCAoY2hhciAlZCknICUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG1zZywgaWR4ICsgMSwgaWR4KSkKIAogICAgIGRlZiB0ZXN0X2V4dHJhX2RhdGEoc2VsZik6CiAgICAgICAgIHRlc3RfY2FzZXMgPSBbCkBAIC0xNzEsMTEgKzE4MywxNiBAQAogICAgICAgICAgICAgKCcic3BhbSIsNDInLCAnRXh0cmEgZGF0YScsIDYpLAogICAgICAgICBdCiAgICAgICAgIGZvciBkYXRhLCBtc2csIGlkeCBpbiB0ZXN0X2Nhc2VzOgotICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXNSZWdleChWYWx1ZUVycm9yLAotICAgICAgICAgICAgICAgIHInXnswfTogbGluZSAxIGNvbHVtbiB7MX0gLSBsaW5lIDEgY29sdW1uIHsyfScKLSAgICAgICAgICAgICAgICByJyBcKGNoYXIgezN9IC0gezR9XCknLmZvcm1hdCgKLSAgICAgICAgICAgICAgICAgICAgcmUuZXNjYXBlKG1zZyksIGlkeCArIDEsIGxlbihkYXRhKSArIDEsIGlkeCwgbGVuKGRhdGEpKSwKLSAgICAgICAgICAgICAgICBzZWxmLmxvYWRzLCBkYXRhKQorICAgICAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhzZWxmLkpTT05EZWNvZGVFcnJvcikgYXMgY206CisgICAgICAgICAgICAgICAgc2VsZi5sb2FkcyhkYXRhKQorICAgICAgICAgICAgZXJyID0gY20uZXhjZXB0aW9uCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGVyci5tc2csIG1zZykKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZXJyLnBvcywgaWR4KQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChlcnIubGluZW5vLCAxKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChlcnIuY29sbm8sIGlkeCArIDEpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0cihlcnIpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnJXM6IGxpbmUgMSBjb2x1bW4gJWQgKGNoYXIgJWQpJyAlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChtc2csIGlkeCArIDEsIGlkeCkpCiAKICAgICBkZWYgdGVzdF9saW5lY29sKHNlbGYpOgogICAgICAgICB0ZXN0X2Nhc2VzID0gWwpAQCAtMTg1LDEwICsyMDIsMTYgQEAKICAgICAgICAgICAgICgnXG4gIFxuXG4gICAgICEnLCA0LCA2LCAxMCksCiAgICAgICAgIF0KICAgICAgICAgZm9yIGRhdGEsIGxpbmUsIGNvbCwgaWR4IGluIHRlc3RfY2FzZXM6Ci0gICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlc1JlZ2V4KFZhbHVlRXJyb3IsCi0gICAgICAgICAgICAgICAgcideRXhwZWN0aW5nIHZhbHVlOiBsaW5lIHswfSBjb2x1bW4gezF9JwotICAgICAgICAgICAgICAgIHInIFwoY2hhciB7Mn1cKSQnLmZvcm1hdChsaW5lLCBjb2wsIGlkeCksCi0gICAgICAgICAgICAgICAgc2VsZi5sb2FkcywgZGF0YSkKKyAgICAgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoc2VsZi5KU09ORGVjb2RlRXJyb3IpIGFzIGNtOgorICAgICAgICAgICAgICAgIHNlbGYubG9hZHMoZGF0YSkKKyAgICAgICAgICAgIGVyciA9IGNtLmV4Y2VwdGlvbgorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChlcnIubXNnLCAnRXhwZWN0aW5nIHZhbHVlJykKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZXJyLnBvcywgaWR4KQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChlcnIubGluZW5vLCBsaW5lKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChlcnIuY29sbm8sIGNvbCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RyKGVyciksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdFeHBlY3RpbmcgdmFsdWU6IGxpbmUgJXMgY29sdW1uICVkIChjaGFyICVkKScgJQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobGluZSwgY29sLCBpZHgpKQogCiBjbGFzcyBUZXN0UHlGYWlsKFRlc3RGYWlsLCBQeVRlc3QpOiBwYXNzCiBjbGFzcyBUZXN0Q0ZhaWwoVGVzdEZhaWwsIENUZXN0KTogcGFzcwpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9qc29uL3Rlc3Rfc2NhbnN0cmluZy5weSBiL0xpYi90ZXN0L3Rlc3RfanNvbi90ZXN0X3NjYW5zdHJpbmcucHkKaW5kZXggMDdmNDM1OC4uMmQzZWU4YSAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9qc29uL3Rlc3Rfc2NhbnN0cmluZy5weQorKysgYi9MaWIvdGVzdC90ZXN0X2pzb24vdGVzdF9zY2Fuc3RyaW5nLnB5CkBAIC0xMjksNyArMTI5LDcgQEAKICAgICAgICAgICAgICciXFx1ZDgzNFxcdTBYMjAiJywKICAgICAgICAgXQogICAgICAgICBmb3IgcyBpbiBiYWRfZXNjYXBlczoKLSAgICAgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgbXNnPXMpOgorICAgICAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhzZWxmLkpTT05EZWNvZGVFcnJvciwgbXNnPXMpOgogICAgICAgICAgICAgICAgIHNjYW5zdHJpbmcocywgMSwgVHJ1ZSkKIAogICAgIGRlZiB0ZXN0X292ZXJmbG93KHNlbGYpOgpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9qc29uL3Rlc3RfdG9vbC5weSBiL0xpYi90ZXN0L3Rlc3RfanNvbi90ZXN0X3Rvb2wucHkKaW5kZXggMGMzOWU1Ni4uYmQ2M2UyYiAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9qc29uL3Rlc3RfdG9vbC5weQorKysgYi9MaWIvdGVzdC90ZXN0X2pzb24vdGVzdF90b29sLnB5CkBAIC02LDYgKzYsNyBAQAogZnJvbSB0ZXN0IGltcG9ydCBzdXBwb3J0CiBmcm9tIHRlc3Quc2NyaXB0X2hlbHBlciBpbXBvcnQgYXNzZXJ0X3B5dGhvbl9vawogCisKIGNsYXNzIFRlc3RUb29sKHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICBkYXRhID0gIiIiCiAKQEAgLTE1LDcgKzE2LDcgQEAKICAgICAgICAgICAgIDoieWVzIn0gIF0KICAgICAgICAgICAgIiIiCiAKLSAgICBleHBlY3QgPSB0ZXh0d3JhcC5kZWRlbnQoIiIiXAorICAgIGV4cGVjdF93aXRob3V0X3NvcnRfa2V5cyA9IHRleHR3cmFwLmRlZGVudCgiIiJcCiAgICAgWwogICAgICAgICBbCiAgICAgICAgICAgICAiYmxvcnBpZSIKQEAgLTM3LDYgKzM4LDI4IEBACiAgICAgXQogICAgICIiIikKIAorICAgIGV4cGVjdCA9IHRleHR3cmFwLmRlZGVudCgiIiJcCisgICAgWworICAgICAgICBbCisgICAgICAgICAgICAiYmxvcnBpZSIKKyAgICAgICAgXSwKKyAgICAgICAgWworICAgICAgICAgICAgIndob29wcyIKKyAgICAgICAgXSwKKyAgICAgICAgW10sCisgICAgICAgICJkLXNodGFlb3UiLAorICAgICAgICAiZC1udGhpb3VoIiwKKyAgICAgICAgImktdmhiamtobnRoIiwKKyAgICAgICAgeworICAgICAgICAgICAgIm5pZnR5IjogODcKKyAgICAgICAgfSwKKyAgICAgICAgeworICAgICAgICAgICAgIm1vcmVmaWVsZCI6IGZhbHNlLAorICAgICAgICAgICAgImZpZWxkIjogInllcyIKKyAgICAgICAgfQorICAgIF0KKyAgICAiIiIpCisKICAgICBkZWYgdGVzdF9zdGRpbl9zdGRvdXQoc2VsZik6CiAgICAgICAgIHdpdGggc3VicHJvY2Vzcy5Qb3BlbigKICAgICAgICAgICAgICAgICAoc3lzLmV4ZWN1dGFibGUsICctbScsICdqc29uLnRvb2wnKSwKQEAgLTU1LDYgKzc4LDcgQEAKICAgICBkZWYgdGVzdF9pbmZpbGVfc3Rkb3V0KHNlbGYpOgogICAgICAgICBpbmZpbGUgPSBzZWxmLl9jcmVhdGVfaW5maWxlKCkKICAgICAgICAgcmMsIG91dCwgZXJyID0gYXNzZXJ0X3B5dGhvbl9vaygnLW0nLCAnanNvbi50b29sJywgaW5maWxlKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJjLCAwKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG91dC5zcGxpdGxpbmVzKCksIHNlbGYuZXhwZWN0LmVuY29kZSgpLnNwbGl0bGluZXMoKSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChlcnIsIGInJykKIApAQCAtNjUsNSArODksMjAgQEAKICAgICAgICAgc2VsZi5hZGRDbGVhbnVwKG9zLnJlbW92ZSwgb3V0ZmlsZSkKICAgICAgICAgd2l0aCBvcGVuKG91dGZpbGUsICJyIikgYXMgZnA6CiAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGZwLnJlYWQoKSwgc2VsZi5leHBlY3QpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmMsIDApCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwob3V0LCBiJycpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZXJyLCBiJycpCisKKyAgICBkZWYgdGVzdF9oZWxwX2ZsYWcoc2VsZik6CisgICAgICAgIHJjLCBvdXQsIGVyciA9IGFzc2VydF9weXRob25fb2soJy1tJywgJ2pzb24udG9vbCcsICctaCcpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmMsIDApCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShvdXQuc3RhcnRzd2l0aChiJ3VzYWdlOiAnKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChlcnIsIGInJykKKworICAgIGRlZiB0ZXN0X3NvcnRfa2V5c19mbGFnKHNlbGYpOgorICAgICAgICBpbmZpbGUgPSBzZWxmLl9jcmVhdGVfaW5maWxlKCkKKyAgICAgICAgcmMsIG91dCwgZXJyID0gYXNzZXJ0X3B5dGhvbl9vaygnLW0nLCAnanNvbi50b29sJywgJy0tc29ydC1rZXlzJywgaW5maWxlKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJjLCAwKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG91dC5zcGxpdGxpbmVzKCksCisgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5leHBlY3Rfd2l0aG91dF9zb3J0X2tleXMuZW5jb2RlKCkuc3BsaXRsaW5lcygpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGVyciwgYicnKQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9rcXVldWUucHkgYi9MaWIvdGVzdC90ZXN0X2txdWV1ZS5weQppbmRleCBmNzliZDg5Li4yNTg1Y2E2IDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2txdWV1ZS5weQorKysgYi9MaWIvdGVzdC90ZXN0X2txdWV1ZS5weQpAQCAtMTE0LDcgKzExNCw3IEBACiAgICAgZGVmIHRlc3RfcXVldWVfZXZlbnQoc2VsZik6CiAgICAgICAgIHNlcnZlclNvY2tldCA9IHNvY2tldC5zb2NrZXQoKQogICAgICAgICBzZXJ2ZXJTb2NrZXQuYmluZCgoJzEyNy4wLjAuMScsIDApKQotICAgICAgICBzZXJ2ZXJTb2NrZXQubGlzdGVuKDEpCisgICAgICAgIHNlcnZlclNvY2tldC5saXN0ZW4oKQogICAgICAgICBjbGllbnQgPSBzb2NrZXQuc29ja2V0KCkKICAgICAgICAgY2xpZW50LnNldGJsb2NraW5nKEZhbHNlKQogICAgICAgICB0cnk6CmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2xvY2FsZS5weSBiL0xpYi90ZXN0L3Rlc3RfbG9jYWxlLnB5CmluZGV4IDkzNjlhMjUuLmZhZTJjM2QgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfbG9jYWxlLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfbG9jYWxlLnB5CkBAIC01MjQsNSArNTI0LDU5IEBACiAgICAgICAgICAgICBsb2NhbGUuc2V0bG9jYWxlKGxvY2FsZS5MQ19BTEwsIChiJ25vdCcsIGIndmFsaWQnKSkKIAogCitjbGFzcyBCYXNlRGVsb2NhbGl6ZVRlc3QoQmFzZUxvY2FsaXplZFRlc3QpOgorCisgICAgZGVmIF90ZXN0X2RlbG9jYWxpemUoc2VsZiwgdmFsdWUsIG91dCk6CisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobG9jYWxlLmRlbG9jYWxpemUodmFsdWUpLCBvdXQpCisKKyAgICBkZWYgX3Rlc3RfYXRvZihzZWxmLCB2YWx1ZSwgb3V0KToKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsb2NhbGUuYXRvZih2YWx1ZSksIG91dCkKKworICAgIGRlZiBfdGVzdF9hdG9pKHNlbGYsIHZhbHVlLCBvdXQpOgorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxvY2FsZS5hdG9pKHZhbHVlKSwgb3V0KQorCisKK2NsYXNzIFRlc3RFblVTRGVsb2NhbGl6ZShFblVTQ29va2VkVGVzdCwgQmFzZURlbG9jYWxpemVUZXN0KToKKworICAgIGRlZiB0ZXN0X2RlbG9jYWxpemUoc2VsZik6CisgICAgICAgIHNlbGYuX3Rlc3RfZGVsb2NhbGl6ZSgnNTAwMDAuMDAnLCAnNTAwMDAuMDAnKQorICAgICAgICBzZWxmLl90ZXN0X2RlbG9jYWxpemUoJzUwLDAwMC4wMCcsICc1MDAwMC4wMCcpCisKKyAgICBkZWYgdGVzdF9hdG9mKHNlbGYpOgorICAgICAgICBzZWxmLl90ZXN0X2F0b2YoJzUwMDAwLjAwJywgNTAwMDAuKQorICAgICAgICBzZWxmLl90ZXN0X2F0b2YoJzUwLDAwMC4wMCcsIDUwMDAwLikKKworICAgIGRlZiB0ZXN0X2F0b2koc2VsZik6CisgICAgICAgIHNlbGYuX3Rlc3RfYXRvaSgnNTAwMDAnLCA1MDAwMCkKKyAgICAgICAgc2VsZi5fdGVzdF9hdG9pKCc1MCwwMDAnLCA1MDAwMCkKKworCitjbGFzcyBUZXN0Q0RlbG9jYWxpemVUZXN0KENDb29rZWRUZXN0LCBCYXNlRGVsb2NhbGl6ZVRlc3QpOgorCisgICAgZGVmIHRlc3RfZGVsb2NhbGl6ZShzZWxmKToKKyAgICAgICAgc2VsZi5fdGVzdF9kZWxvY2FsaXplKCc1MDAwMC4wMCcsICc1MDAwMC4wMCcpCisKKyAgICBkZWYgdGVzdF9hdG9mKHNlbGYpOgorICAgICAgICBzZWxmLl90ZXN0X2F0b2YoJzUwMDAwLjAwJywgNTAwMDAuKQorCisgICAgZGVmIHRlc3RfYXRvaShzZWxmKToKKyAgICAgICAgc2VsZi5fdGVzdF9hdG9pKCc1MDAwMCcsIDUwMDAwKQorCisKK2NsYXNzIFRlc3RmckZSRGVsb2NhbGl6ZVRlc3QoRnJGUkNvb2tlZFRlc3QsIEJhc2VEZWxvY2FsaXplVGVzdCk6CisKKyAgICBkZWYgdGVzdF9kZWxvY2FsaXplKHNlbGYpOgorICAgICAgICBzZWxmLl90ZXN0X2RlbG9jYWxpemUoJzUwMDAwLDAwJywgJzUwMDAwLjAwJykKKyAgICAgICAgc2VsZi5fdGVzdF9kZWxvY2FsaXplKCc1MCAwMDAsMDAnLCAnNTAwMDAuMDAnKQorCisgICAgZGVmIHRlc3RfYXRvZihzZWxmKToKKyAgICAgICAgc2VsZi5fdGVzdF9hdG9mKCc1MDAwMCwwMCcsIDUwMDAwLikKKyAgICAgICAgc2VsZi5fdGVzdF9hdG9mKCc1MCAwMDAsMDAnLCA1MDAwMC4pCisKKyAgICBkZWYgdGVzdF9hdG9pKHNlbGYpOgorICAgICAgICBzZWxmLl90ZXN0X2F0b2koJzUwMDAwJywgNTAwMDApCisgICAgICAgIHNlbGYuX3Rlc3RfYXRvaSgnNTAgMDAwJywgNTAwMDApCisKKwogaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoKICAgICB1bml0dGVzdC5tYWluKCkKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfbG9nZ2luZy5weSBiL0xpYi90ZXN0L3Rlc3RfbG9nZ2luZy5weQppbmRleCA1NGJlMjE3Li5jOGI2YTk4IDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2xvZ2dpbmcucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9sb2dnaW5nLnB5CkBAIC0xLDQgKzEsNCBAQAotIyBDb3B5cmlnaHQgMjAwMS0yMDEzIGJ5IFZpbmF5IFNhamlwLiBBbGwgUmlnaHRzIFJlc2VydmVkLgorIyBDb3B5cmlnaHQgMjAwMS0yMDE0IGJ5IFZpbmF5IFNhamlwLiBBbGwgUmlnaHRzIFJlc2VydmVkLgogIwogIyBQZXJtaXNzaW9uIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBhbmQgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlIGFuZCBpdHMKICMgZG9jdW1lbnRhdGlvbiBmb3IgYW55IHB1cnBvc2UgYW5kIHdpdGhvdXQgZmVlIGlzIGhlcmVieSBncmFudGVkLApAQCAtMTYsNyArMTYsNyBAQAogCiAiIiJUZXN0IGhhcm5lc3MgZm9yIHRoZSBsb2dnaW5nIG1vZHVsZS4gUnVuIGFsbCB0ZXN0cy4KIAotQ29weXJpZ2h0IChDKSAyMDAxLTIwMTMgVmluYXkgU2FqaXAuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCitDb3B5cmlnaHQgKEMpIDIwMDEtMjAxNCBWaW5heSBTYWppcC4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICIiIgogCiBpbXBvcnQgbG9nZ2luZwpAQCAtMzQsMTQgKzM0LDEyIEBACiBpbXBvcnQgcXVldWUKIGltcG9ydCByYW5kb20KIGltcG9ydCByZQotaW1wb3J0IHNlbGVjdAogaW1wb3J0IHNvY2tldAogaW1wb3J0IHN0cnVjdAogaW1wb3J0IHN5cwogaW1wb3J0IHRlbXBmaWxlCiBmcm9tIHRlc3Quc2NyaXB0X2hlbHBlciBpbXBvcnQgYXNzZXJ0X3B5dGhvbl9vawotZnJvbSB0ZXN0LnN1cHBvcnQgaW1wb3J0IChjYXB0dXJlZF9zdGRvdXQsIHJ1bl93aXRoX2xvY2FsZSwgcnVuX3VuaXR0ZXN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICBwYXRjaCwgcmVxdWlyZXNfemxpYiwgVGVzdEhhbmRsZXIsIE1hdGNoZXIsIEhPU1QpCitmcm9tIHRlc3QgaW1wb3J0IHN1cHBvcnQKIGltcG9ydCB0ZXh0d3JhcAogaW1wb3J0IHRpbWUKIGltcG9ydCB1bml0dGVzdApAQCAtNTEsMTYgKzQ5LDEyIEBACiAgICAgaW1wb3J0IHRocmVhZGluZwogICAgICMgVGhlIGZvbGxvd2luZyBpbXBvcnRzIGFyZSBuZWVkZWQgb25seSBmb3IgdGVzdHMgd2hpY2gKICAgICAjIHJlcXVpcmUgdGhyZWFkaW5nCi0gICAgaW1wb3J0IGFzeW5jaGF0CiAgICAgaW1wb3J0IGFzeW5jb3JlCi0gICAgaW1wb3J0IGVycm5vCiAgICAgZnJvbSBodHRwLnNlcnZlciBpbXBvcnQgSFRUUFNlcnZlciwgQmFzZUhUVFBSZXF1ZXN0SGFuZGxlcgogICAgIGltcG9ydCBzbXRwZAogICAgIGZyb20gdXJsbGliLnBhcnNlIGltcG9ydCB1cmxwYXJzZSwgcGFyc2VfcXMKICAgICBmcm9tIHNvY2tldHNlcnZlciBpbXBvcnQgKFRocmVhZGluZ1VEUFNlcnZlciwgRGF0YWdyYW1SZXF1ZXN0SGFuZGxlciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRocmVhZGluZ1RDUFNlcnZlciwgU3RyZWFtUmVxdWVzdEhhbmRsZXIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaHJlYWRpbmdVbml4U3RyZWFtU2VydmVyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhyZWFkaW5nVW5peERhdGFncmFtU2VydmVyKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhyZWFkaW5nVENQU2VydmVyLCBTdHJlYW1SZXF1ZXN0SGFuZGxlcikKIGV4Y2VwdCBJbXBvcnRFcnJvcjoKICAgICB0aHJlYWRpbmcgPSBOb25lCiB0cnk6CkBAIC02NDUsMjIgKzYzOSwyMyBAQAogICAgICAgICBoID0gVGVzdFN0cmVhbUhhbmRsZXIoQmFkU3RyZWFtKCkpCiAgICAgICAgIHIgPSBsb2dnaW5nLm1ha2VMb2dSZWNvcmQoe30pCiAgICAgICAgIG9sZF9yYWlzZSA9IGxvZ2dpbmcucmFpc2VFeGNlcHRpb25zCi0gICAgICAgIG9sZF9zdGRlcnIgPSBzeXMuc3RkZXJyCisKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgaC5oYW5kbGUocikKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXMoaC5lcnJvcl9yZWNvcmQsIHIpCisKICAgICAgICAgICAgIGggPSBsb2dnaW5nLlN0cmVhbUhhbmRsZXIoQmFkU3RyZWFtKCkpCi0gICAgICAgICAgICBzeXMuc3RkZXJyID0gc2lvID0gaW8uU3RyaW5nSU8oKQotICAgICAgICAgICAgaC5oYW5kbGUocikKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0SW4oJ1xuUnVudGltZUVycm9yOiBkZWxpYmVyYXRlIG1pc3Rha2VcbicsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIHNpby5nZXR2YWx1ZSgpKQorICAgICAgICAgICAgd2l0aCBzdXBwb3J0LmNhcHR1cmVkX3N0ZGVycigpIGFzIHN0ZGVycjoKKyAgICAgICAgICAgICAgICBoLmhhbmRsZShyKQorICAgICAgICAgICAgICAgIG1zZyA9ICdcblJ1bnRpbWVFcnJvcjogZGVsaWJlcmF0ZSBtaXN0YWtlXG4nCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRJbihtc2csIHN0ZGVyci5nZXR2YWx1ZSgpKQorCiAgICAgICAgICAgICBsb2dnaW5nLnJhaXNlRXhjZXB0aW9ucyA9IEZhbHNlCi0gICAgICAgICAgICBzeXMuc3RkZXJyID0gc2lvID0gaW8uU3RyaW5nSU8oKQotICAgICAgICAgICAgaC5oYW5kbGUocikKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoJycsIHNpby5nZXR2YWx1ZSgpKQorICAgICAgICAgICAgd2l0aCBzdXBwb3J0LmNhcHR1cmVkX3N0ZGVycigpIGFzIHN0ZGVycjoKKyAgICAgICAgICAgICAgICBoLmhhbmRsZShyKQorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoJycsIHN0ZGVyci5nZXR2YWx1ZSgpKQogICAgICAgICBmaW5hbGx5OgogICAgICAgICAgICAgbG9nZ2luZy5yYWlzZUV4Y2VwdGlvbnMgPSBvbGRfcmFpc2UKLSAgICAgICAgICAgIHN5cy5zdGRlcnIgPSBvbGRfc3RkZXJyCiAKICMgLS0gVGhlIGZvbGxvd2luZyBzZWN0aW9uIGNvdWxkIGJlIG1vdmVkIGludG8gYSBzZXJ2ZXJfaGVscGVyLnB5IG1vZHVsZQogIyAtLSBpZiBpdCBwcm92ZXMgdG8gYmUgb2Ygd2lkZXIgdXRpbGl0eSB0aGFuIGp1c3QgdGVzdF9sb2dnaW5nCkBAIC02ODgsNyArNjgzLDggQEAKICAgICAgICAgIiIiCiAKICAgICAgICAgZGVmIF9faW5pdF9fKHNlbGYsIGFkZHIsIGhhbmRsZXIsIHBvbGxfaW50ZXJ2YWwsIHNvY2ttYXApOgotICAgICAgICAgICAgc210cGQuU01UUFNlcnZlci5fX2luaXRfXyhzZWxmLCBhZGRyLCBOb25lLCBtYXA9c29ja21hcCkKKyAgICAgICAgICAgIHNtdHBkLlNNVFBTZXJ2ZXIuX19pbml0X18oc2VsZiwgYWRkciwgTm9uZSwgbWFwPXNvY2ttYXAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlY29kZV9kYXRhPVRydWUpCiAgICAgICAgICAgICBzZWxmLnBvcnQgPSBzZWxmLnNvY2tldC5nZXRzb2NrbmFtZSgpWzFdCiAgICAgICAgICAgICBzZWxmLl9oYW5kbGVyID0gaGFuZGxlcgogICAgICAgICAgICAgc2VsZi5fdGhyZWFkID0gTm9uZQpAQCAtOTMwLDEwICs5MjYsMTAgQEAKICAgICBUSU1FT1VUID0gOC4wCiAgICAgZGVmIHRlc3RfYmFzaWMoc2VsZik6CiAgICAgICAgIHNvY2ttYXAgPSB7fQotICAgICAgICBzZXJ2ZXIgPSBUZXN0U01UUFNlcnZlcigoSE9TVCwgMCksIHNlbGYucHJvY2Vzc19tZXNzYWdlLCAwLjAwMSwKKyAgICAgICAgc2VydmVyID0gVGVzdFNNVFBTZXJ2ZXIoKHN1cHBvcnQuSE9TVCwgMCksIHNlbGYucHJvY2Vzc19tZXNzYWdlLCAwLjAwMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc29ja21hcCkKICAgICAgICAgc2VydmVyLnN0YXJ0KCkKLSAgICAgICAgYWRkciA9IChIT1NULCBzZXJ2ZXIucG9ydCkKKyAgICAgICAgYWRkciA9IChzdXBwb3J0LkhPU1QsIHNlcnZlci5wb3J0KQogICAgICAgICBoID0gbG9nZ2luZy5oYW5kbGVycy5TTVRQSGFuZGxlcihhZGRyLCAnbWUnLCAneW91JywgJ0xvZycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpbWVvdXQ9c2VsZi5USU1FT1VUKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGgudG9hZGRycywgWyd5b3UnXSkKQEAgLTEyNDksNyArMTI0NSw3IEBACiAKICAgICBkZWYgdGVzdF9jb25maWcwX29rKHNlbGYpOgogICAgICAgICAjIEEgc2ltcGxlIGNvbmZpZyBmaWxlIHdoaWNoIG92ZXJyaWRlcyB0aGUgZGVmYXVsdCBzZXR0aW5ncy4KLSAgICAgICAgd2l0aCBjYXB0dXJlZF9zdGRvdXQoKSBhcyBvdXRwdXQ6CisgICAgICAgIHdpdGggc3VwcG9ydC5jYXB0dXJlZF9zdGRvdXQoKSBhcyBvdXRwdXQ6CiAgICAgICAgICAgICBzZWxmLmFwcGx5X2NvbmZpZyhzZWxmLmNvbmZpZzApCiAgICAgICAgICAgICBsb2dnZXIgPSBsb2dnaW5nLmdldExvZ2dlcigpCiAgICAgICAgICAgICAjIFdvbid0IG91dHB1dCBhbnl0aGluZwpAQCAtMTI2NCw3ICsxMjYwLDcgQEAKIAogICAgIGRlZiB0ZXN0X2NvbmZpZzBfdXNpbmdfY3Bfb2soc2VsZik6CiAgICAgICAgICMgQSBzaW1wbGUgY29uZmlnIGZpbGUgd2hpY2ggb3ZlcnJpZGVzIHRoZSBkZWZhdWx0IHNldHRpbmdzLgotICAgICAgICB3aXRoIGNhcHR1cmVkX3N0ZG91dCgpIGFzIG91dHB1dDoKKyAgICAgICAgd2l0aCBzdXBwb3J0LmNhcHR1cmVkX3N0ZG91dCgpIGFzIG91dHB1dDoKICAgICAgICAgICAgIGZpbGUgPSBpby5TdHJpbmdJTyh0ZXh0d3JhcC5kZWRlbnQoc2VsZi5jb25maWcwKSkKICAgICAgICAgICAgIGNwID0gY29uZmlncGFyc2VyLkNvbmZpZ1BhcnNlcigpCiAgICAgICAgICAgICBjcC5yZWFkX2ZpbGUoZmlsZSkKQEAgLTEyODIsNyArMTI3OCw3IEBACiAKICAgICBkZWYgdGVzdF9jb25maWcxX29rKHNlbGYsIGNvbmZpZz1jb25maWcxKToKICAgICAgICAgIyBBIGNvbmZpZyBmaWxlIGRlZmluaW5nIGEgc3ViLXBhcnNlciBhcyB3ZWxsLgotICAgICAgICB3aXRoIGNhcHR1cmVkX3N0ZG91dCgpIGFzIG91dHB1dDoKKyAgICAgICAgd2l0aCBzdXBwb3J0LmNhcHR1cmVkX3N0ZG91dCgpIGFzIG91dHB1dDoKICAgICAgICAgICAgIHNlbGYuYXBwbHlfY29uZmlnKGNvbmZpZykKICAgICAgICAgICAgIGxvZ2dlciA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKCJjb21waWxlci5wYXJzZXIiKQogICAgICAgICAgICAgIyBCb3RoIHdpbGwgb3V0cHV0IGEgbWVzc2FnZQpAQCAtMTMwNSw3ICsxMzAxLDcgQEAKIAogICAgIGRlZiB0ZXN0X2NvbmZpZzRfb2soc2VsZik6CiAgICAgICAgICMgQSBjb25maWcgZmlsZSBzcGVjaWZ5aW5nIGEgY3VzdG9tIGZvcm1hdHRlciBjbGFzcy4KLSAgICAgICAgd2l0aCBjYXB0dXJlZF9zdGRvdXQoKSBhcyBvdXRwdXQ6CisgICAgICAgIHdpdGggc3VwcG9ydC5jYXB0dXJlZF9zdGRvdXQoKSBhcyBvdXRwdXQ6CiAgICAgICAgICAgICBzZWxmLmFwcGx5X2NvbmZpZyhzZWxmLmNvbmZpZzQpCiAgICAgICAgICAgICBsb2dnZXIgPSBsb2dnaW5nLmdldExvZ2dlcigpCiAgICAgICAgICAgICB0cnk6CkBAIC0xMzI1LDcgKzEzMjEsNyBAQAogICAgICAgICBzZWxmLnRlc3RfY29uZmlnMV9vayhjb25maWc9c2VsZi5jb25maWc2KQogCiAgICAgZGVmIHRlc3RfY29uZmlnN19vayhzZWxmKToKLSAgICAgICAgd2l0aCBjYXB0dXJlZF9zdGRvdXQoKSBhcyBvdXRwdXQ6CisgICAgICAgIHdpdGggc3VwcG9ydC5jYXB0dXJlZF9zdGRvdXQoKSBhcyBvdXRwdXQ6CiAgICAgICAgICAgICBzZWxmLmFwcGx5X2NvbmZpZyhzZWxmLmNvbmZpZzFhKQogICAgICAgICAgICAgbG9nZ2VyID0gbG9nZ2luZy5nZXRMb2dnZXIoImNvbXBpbGVyLnBhcnNlciIpCiAgICAgICAgICAgICAjIFNlZSBpc3N1ZSAjMTE0MjQuIGNvbXBpbGVyLWh5cGhlbmF0ZWQgc29ydHMKQEAgLTEzNDUsNyArMTM0MSw3IEBACiAgICAgICAgICAgICBdLCBzdHJlYW09b3V0cHV0KQogICAgICAgICAgICAgIyBPcmlnaW5hbCBsb2dnZXIgb3V0cHV0IGlzIGVtcHR5LgogICAgICAgICAgICAgc2VsZi5hc3NlcnRfbG9nX2xpbmVzKFtdKQotICAgICAgICB3aXRoIGNhcHR1cmVkX3N0ZG91dCgpIGFzIG91dHB1dDoKKyAgICAgICAgd2l0aCBzdXBwb3J0LmNhcHR1cmVkX3N0ZG91dCgpIGFzIG91dHB1dDoKICAgICAgICAgICAgIHNlbGYuYXBwbHlfY29uZmlnKHNlbGYuY29uZmlnNykKICAgICAgICAgICAgIGxvZ2dlciA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKCJjb21waWxlci5wYXJzZXIiKQogICAgICAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShsb2dnZXIuZGlzYWJsZWQpCkBAIC0yNDkyLDcgKzI0ODgsNyBAQAogCiAgICAgZGVmIHRlc3RfY29uZmlnMF9vayhzZWxmKToKICAgICAgICAgIyBBIHNpbXBsZSBjb25maWcgd2hpY2ggb3ZlcnJpZGVzIHRoZSBkZWZhdWx0IHNldHRpbmdzLgotICAgICAgICB3aXRoIGNhcHR1cmVkX3N0ZG91dCgpIGFzIG91dHB1dDoKKyAgICAgICAgd2l0aCBzdXBwb3J0LmNhcHR1cmVkX3N0ZG91dCgpIGFzIG91dHB1dDoKICAgICAgICAgICAgIHNlbGYuYXBwbHlfY29uZmlnKHNlbGYuY29uZmlnMCkKICAgICAgICAgICAgIGxvZ2dlciA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKCkKICAgICAgICAgICAgICMgV29uJ3Qgb3V0cHV0IGFueXRoaW5nCkBAIC0yNTA3LDcgKzI1MDMsNyBAQAogCiAgICAgZGVmIHRlc3RfY29uZmlnMV9vayhzZWxmLCBjb25maWc9Y29uZmlnMSk6CiAgICAgICAgICMgQSBjb25maWcgZGVmaW5pbmcgYSBzdWItcGFyc2VyIGFzIHdlbGwuCi0gICAgICAgIHdpdGggY2FwdHVyZWRfc3Rkb3V0KCkgYXMgb3V0cHV0OgorICAgICAgICB3aXRoIHN1cHBvcnQuY2FwdHVyZWRfc3Rkb3V0KCkgYXMgb3V0cHV0OgogICAgICAgICAgICAgc2VsZi5hcHBseV9jb25maWcoY29uZmlnKQogICAgICAgICAgICAgbG9nZ2VyID0gbG9nZ2luZy5nZXRMb2dnZXIoImNvbXBpbGVyLnBhcnNlciIpCiAgICAgICAgICAgICAjIEJvdGggd2lsbCBvdXRwdXQgYSBtZXNzYWdlCkBAIC0yNTM4LDcgKzI1MzQsNyBAQAogCiAgICAgZGVmIHRlc3RfY29uZmlnNF9vayhzZWxmKToKICAgICAgICAgIyBBIGNvbmZpZyBzcGVjaWZ5aW5nIGEgY3VzdG9tIGZvcm1hdHRlciBjbGFzcy4KLSAgICAgICAgd2l0aCBjYXB0dXJlZF9zdGRvdXQoKSBhcyBvdXRwdXQ6CisgICAgICAgIHdpdGggc3VwcG9ydC5jYXB0dXJlZF9zdGRvdXQoKSBhcyBvdXRwdXQ6CiAgICAgICAgICAgICBzZWxmLmFwcGx5X2NvbmZpZyhzZWxmLmNvbmZpZzQpCiAgICAgICAgICAgICAjbG9nZ2VyID0gbG9nZ2luZy5nZXRMb2dnZXIoKQogICAgICAgICAgICAgdHJ5OgpAQCAtMjU1Myw3ICsyNTQ5LDcgQEAKIAogICAgIGRlZiB0ZXN0X2NvbmZpZzRhX29rKHNlbGYpOgogICAgICAgICAjIEEgY29uZmlnIHNwZWNpZnlpbmcgYSBjdXN0b20gZm9ybWF0dGVyIGNsYXNzLgotICAgICAgICB3aXRoIGNhcHR1cmVkX3N0ZG91dCgpIGFzIG91dHB1dDoKKyAgICAgICAgd2l0aCBzdXBwb3J0LmNhcHR1cmVkX3N0ZG91dCgpIGFzIG91dHB1dDoKICAgICAgICAgICAgIHNlbGYuYXBwbHlfY29uZmlnKHNlbGYuY29uZmlnNGEpCiAgICAgICAgICAgICAjbG9nZ2VyID0gbG9nZ2luZy5nZXRMb2dnZXIoKQogICAgICAgICAgICAgdHJ5OgpAQCAtMjU3Myw3ICsyNTY5LDcgQEAKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoRXhjZXB0aW9uLCBzZWxmLmFwcGx5X2NvbmZpZywgc2VsZi5jb25maWc2KQogCiAgICAgZGVmIHRlc3RfY29uZmlnN19vayhzZWxmKToKLSAgICAgICAgd2l0aCBjYXB0dXJlZF9zdGRvdXQoKSBhcyBvdXRwdXQ6CisgICAgICAgIHdpdGggc3VwcG9ydC5jYXB0dXJlZF9zdGRvdXQoKSBhcyBvdXRwdXQ6CiAgICAgICAgICAgICBzZWxmLmFwcGx5X2NvbmZpZyhzZWxmLmNvbmZpZzEpCiAgICAgICAgICAgICBsb2dnZXIgPSBsb2dnaW5nLmdldExvZ2dlcigiY29tcGlsZXIucGFyc2VyIikKICAgICAgICAgICAgICMgQm90aCB3aWxsIG91dHB1dCBhIG1lc3NhZ2UKQEAgLTI1ODUsNyArMjU4MSw3IEBACiAgICAgICAgICAgICBdLCBzdHJlYW09b3V0cHV0KQogICAgICAgICAgICAgIyBPcmlnaW5hbCBsb2dnZXIgb3V0cHV0IGlzIGVtcHR5LgogICAgICAgICAgICAgc2VsZi5hc3NlcnRfbG9nX2xpbmVzKFtdKQotICAgICAgICB3aXRoIGNhcHR1cmVkX3N0ZG91dCgpIGFzIG91dHB1dDoKKyAgICAgICAgd2l0aCBzdXBwb3J0LmNhcHR1cmVkX3N0ZG91dCgpIGFzIG91dHB1dDoKICAgICAgICAgICAgIHNlbGYuYXBwbHlfY29uZmlnKHNlbGYuY29uZmlnNykKICAgICAgICAgICAgIGxvZ2dlciA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKCJjb21waWxlci5wYXJzZXIiKQogICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGxvZ2dlci5kaXNhYmxlZCkKQEAgLTI2MDIsNyArMjU5OCw3IEBACiAKICAgICAjU2FtZSBhcyB0ZXN0X2NvbmZpZ183X29rIGJ1dCBkb24ndCBkaXNhYmxlIG9sZCBsb2dnZXJzLgogICAgIGRlZiB0ZXN0X2NvbmZpZ184X29rKHNlbGYpOgotICAgICAgICB3aXRoIGNhcHR1cmVkX3N0ZG91dCgpIGFzIG91dHB1dDoKKyAgICAgICAgd2l0aCBzdXBwb3J0LmNhcHR1cmVkX3N0ZG91dCgpIGFzIG91dHB1dDoKICAgICAgICAgICAgIHNlbGYuYXBwbHlfY29uZmlnKHNlbGYuY29uZmlnMSkKICAgICAgICAgICAgIGxvZ2dlciA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKCJjb21waWxlci5wYXJzZXIiKQogICAgICAgICAgICAgIyBBbGwgd2lsbCBvdXRwdXQgYSBtZXNzYWdlCkBAIC0yNjE0LDcgKzI2MTAsNyBAQAogICAgICAgICAgICAgXSwgc3RyZWFtPW91dHB1dCkKICAgICAgICAgICAgICMgT3JpZ2luYWwgbG9nZ2VyIG91dHB1dCBpcyBlbXB0eS4KICAgICAgICAgICAgIHNlbGYuYXNzZXJ0X2xvZ19saW5lcyhbXSkKLSAgICAgICAgd2l0aCBjYXB0dXJlZF9zdGRvdXQoKSBhcyBvdXRwdXQ6CisgICAgICAgIHdpdGggc3VwcG9ydC5jYXB0dXJlZF9zdGRvdXQoKSBhcyBvdXRwdXQ6CiAgICAgICAgICAgICBzZWxmLmFwcGx5X2NvbmZpZyhzZWxmLmNvbmZpZzgpCiAgICAgICAgICAgICBsb2dnZXIgPSBsb2dnaW5nLmdldExvZ2dlcigiY29tcGlsZXIucGFyc2VyIikKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UobG9nZ2VyLmRpc2FibGVkKQpAQCAtMjYzNSw3ICsyNjMxLDcgQEAKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0X2xvZ19saW5lcyhbXSkKIAogICAgIGRlZiB0ZXN0X2NvbmZpZ184YV9vayhzZWxmKToKLSAgICAgICAgd2l0aCBjYXB0dXJlZF9zdGRvdXQoKSBhcyBvdXRwdXQ6CisgICAgICAgIHdpdGggc3VwcG9ydC5jYXB0dXJlZF9zdGRvdXQoKSBhcyBvdXRwdXQ6CiAgICAgICAgICAgICBzZWxmLmFwcGx5X2NvbmZpZyhzZWxmLmNvbmZpZzFhKQogICAgICAgICAgICAgbG9nZ2VyID0gbG9nZ2luZy5nZXRMb2dnZXIoImNvbXBpbGVyLnBhcnNlciIpCiAgICAgICAgICAgICAjIFNlZSBpc3N1ZSAjMTE0MjQuIGNvbXBpbGVyLWh5cGhlbmF0ZWQgc29ydHMKQEAgLTI2NTUsNyArMjY1MSw3IEBACiAgICAgICAgICAgICBdLCBzdHJlYW09b3V0cHV0KQogICAgICAgICAgICAgIyBPcmlnaW5hbCBsb2dnZXIgb3V0cHV0IGlzIGVtcHR5LgogICAgICAgICAgICAgc2VsZi5hc3NlcnRfbG9nX2xpbmVzKFtdKQotICAgICAgICB3aXRoIGNhcHR1cmVkX3N0ZG91dCgpIGFzIG91dHB1dDoKKyAgICAgICAgd2l0aCBzdXBwb3J0LmNhcHR1cmVkX3N0ZG91dCgpIGFzIG91dHB1dDoKICAgICAgICAgICAgIHNlbGYuYXBwbHlfY29uZmlnKHNlbGYuY29uZmlnOGEpCiAgICAgICAgICAgICBsb2dnZXIgPSBsb2dnaW5nLmdldExvZ2dlcigiY29tcGlsZXIucGFyc2VyIikKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UobG9nZ2VyLmRpc2FibGVkKQpAQCAtMjY3OCw3ICsyNjc0LDcgQEAKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0X2xvZ19saW5lcyhbXSkKIAogICAgIGRlZiB0ZXN0X2NvbmZpZ185X29rKHNlbGYpOgotICAgICAgICB3aXRoIGNhcHR1cmVkX3N0ZG91dCgpIGFzIG91dHB1dDoKKyAgICAgICAgd2l0aCBzdXBwb3J0LmNhcHR1cmVkX3N0ZG91dCgpIGFzIG91dHB1dDoKICAgICAgICAgICAgIHNlbGYuYXBwbHlfY29uZmlnKHNlbGYuY29uZmlnOSkKICAgICAgICAgICAgIGxvZ2dlciA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKCJjb21waWxlci5wYXJzZXIiKQogICAgICAgICAgICAgI05vdGhpbmcgd2lsbCBiZSBvdXRwdXQgc2luY2UgYm90aCBoYW5kbGVyIGFuZCBsb2dnZXIgYXJlIHNldCB0byBXQVJOSU5HCkBAIC0yNjk2LDcgKzI2OTIsNyBAQAogICAgICAgICAgICAgXSwgc3RyZWFtPW91dHB1dCkKIAogICAgIGRlZiB0ZXN0X2NvbmZpZ18xMF9vayhzZWxmKToKLSAgICAgICAgd2l0aCBjYXB0dXJlZF9zdGRvdXQoKSBhcyBvdXRwdXQ6CisgICAgICAgIHdpdGggc3VwcG9ydC5jYXB0dXJlZF9zdGRvdXQoKSBhcyBvdXRwdXQ6CiAgICAgICAgICAgICBzZWxmLmFwcGx5X2NvbmZpZyhzZWxmLmNvbmZpZzEwKQogICAgICAgICAgICAgbG9nZ2VyID0gbG9nZ2luZy5nZXRMb2dnZXIoImNvbXBpbGVyLnBhcnNlciIpCiAgICAgICAgICAgICBsb2dnZXIud2FybmluZyhzZWxmLm5leHRfbWVzc2FnZSgpKQpAQCAtMjcyNCw3ICsyNzIwLDcgQEAKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoRXhjZXB0aW9uLCBzZWxmLmFwcGx5X2NvbmZpZywgc2VsZi5jb25maWcxMykKIAogICAgIGRlZiB0ZXN0X2NvbmZpZzE0X29rKHNlbGYpOgotICAgICAgICB3aXRoIGNhcHR1cmVkX3N0ZG91dCgpIGFzIG91dHB1dDoKKyAgICAgICAgd2l0aCBzdXBwb3J0LmNhcHR1cmVkX3N0ZG91dCgpIGFzIG91dHB1dDoKICAgICAgICAgICAgIHNlbGYuYXBwbHlfY29uZmlnKHNlbGYuY29uZmlnMTQpCiAgICAgICAgICAgICBoID0gbG9nZ2luZy5faGFuZGxlcnNbJ2hhbmQxJ10KICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoaC5mb28sICdiYXInKQpAQCAtMjc2Myw3ICsyNzU5LDcgQEAKIAogICAgIEB1bml0dGVzdC5za2lwVW5sZXNzKHRocmVhZGluZywgJ1RocmVhZGluZyByZXF1aXJlZCBmb3IgdGhpcyB0ZXN0LicpCiAgICAgZGVmIHRlc3RfbGlzdGVuX2NvbmZpZ18xMF9vayhzZWxmKToKLSAgICAgICAgd2l0aCBjYXB0dXJlZF9zdGRvdXQoKSBhcyBvdXRwdXQ6CisgICAgICAgIHdpdGggc3VwcG9ydC5jYXB0dXJlZF9zdGRvdXQoKSBhcyBvdXRwdXQ6CiAgICAgICAgICAgICBzZWxmLnNldHVwX3ZpYV9saXN0ZW5lcihqc29uLmR1bXBzKHNlbGYuY29uZmlnMTApKQogICAgICAgICAgICAgbG9nZ2VyID0gbG9nZ2luZy5nZXRMb2dnZXIoImNvbXBpbGVyLnBhcnNlciIpCiAgICAgICAgICAgICBsb2dnZXIud2FybmluZyhzZWxmLm5leHRfbWVzc2FnZSgpKQpAQCAtMjc4Myw3ICsyNzc5LDcgQEAKIAogICAgIEB1bml0dGVzdC5za2lwVW5sZXNzKHRocmVhZGluZywgJ1RocmVhZGluZyByZXF1aXJlZCBmb3IgdGhpcyB0ZXN0LicpCiAgICAgZGVmIHRlc3RfbGlzdGVuX2NvbmZpZ18xX29rKHNlbGYpOgotICAgICAgICB3aXRoIGNhcHR1cmVkX3N0ZG91dCgpIGFzIG91dHB1dDoKKyAgICAgICAgd2l0aCBzdXBwb3J0LmNhcHR1cmVkX3N0ZG91dCgpIGFzIG91dHB1dDoKICAgICAgICAgICAgIHNlbGYuc2V0dXBfdmlhX2xpc3RlbmVyKHRleHR3cmFwLmRlZGVudChDb25maWdGaWxlVGVzdC5jb25maWcxKSkKICAgICAgICAgICAgIGxvZ2dlciA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKCJjb21waWxlci5wYXJzZXIiKQogICAgICAgICAgICAgIyBCb3RoIHdpbGwgb3V0cHV0IGEgbWVzc2FnZQpAQCAtMjgxMCw3ICsyODA2LDcgQEAKICAgICAgICAgIyBGaXJzdCwgc3BlY2lmeSBhIHZlcmlmaWNhdGlvbiBmdW5jdGlvbiB0aGF0IHdpbGwgZmFpbC4KICAgICAgICAgIyBXZSBleHBlY3QgdG8gc2VlIG5vIG91dHB1dCwgc2luY2Ugb3VyIGNvbmZpZ3VyYXRpb24KICAgICAgICAgIyBuZXZlciB0b29rIGVmZmVjdC4KLSAgICAgICAgd2l0aCBjYXB0dXJlZF9zdGRvdXQoKSBhcyBvdXRwdXQ6CisgICAgICAgIHdpdGggc3VwcG9ydC5jYXB0dXJlZF9zdGRvdXQoKSBhcyBvdXRwdXQ6CiAgICAgICAgICAgICBzZWxmLnNldHVwX3ZpYV9saXN0ZW5lcih0b19zZW5kLCB2ZXJpZnlfZmFpbCkKICAgICAgICAgICAgICMgQm90aCB3aWxsIG91dHB1dCBhIG1lc3NhZ2UKICAgICAgICAgICAgIGxvZ2dlci5pbmZvKHNlbGYubmV4dF9tZXNzYWdlKCkpCkBAIC0yODI1LDcgKzI4MjEsNyBAQAogICAgICAgICAjIE5vdywgcGVyZm9ybSBubyB2ZXJpZmljYXRpb24uIE91ciBjb25maWd1cmF0aW9uCiAgICAgICAgICMgc2hvdWxkIHRha2UgZWZmZWN0LgogCi0gICAgICAgIHdpdGggY2FwdHVyZWRfc3Rkb3V0KCkgYXMgb3V0cHV0OgorICAgICAgICB3aXRoIHN1cHBvcnQuY2FwdHVyZWRfc3Rkb3V0KCkgYXMgb3V0cHV0OgogICAgICAgICAgICAgc2VsZi5zZXR1cF92aWFfbGlzdGVuZXIodG9fc2VuZCkgICAgIyBubyB2ZXJpZnkgY2FsbGFibGUgc3BlY2lmaWVkCiAgICAgICAgICAgICBsb2dnZXIgPSBsb2dnaW5nLmdldExvZ2dlcigiY29tcGlsZXIucGFyc2VyIikKICAgICAgICAgICAgICMgQm90aCB3aWxsIG91dHB1dCBhIG1lc3NhZ2UKQEAgLTI4NDMsNyArMjgzOSw3IEBACiAKICAgICAgICAgIyBOb3csIHBlcmZvcm0gdmVyaWZpY2F0aW9uIHdoaWNoIHRyYW5zZm9ybXMgdGhlIGJ5dGVzLgogCi0gICAgICAgIHdpdGggY2FwdHVyZWRfc3Rkb3V0KCkgYXMgb3V0cHV0OgorICAgICAgICB3aXRoIHN1cHBvcnQuY2FwdHVyZWRfc3Rkb3V0KCkgYXMgb3V0cHV0OgogICAgICAgICAgICAgc2VsZi5zZXR1cF92aWFfbGlzdGVuZXIodG9fc2VuZFs6Oi0xXSwgdmVyaWZ5X3JldmVyc2UpCiAgICAgICAgICAgICBsb2dnZXIgPSBsb2dnaW5nLmdldExvZ2dlcigiY29tcGlsZXIucGFyc2VyIikKICAgICAgICAgICAgICMgQm90aCB3aWxsIG91dHB1dCBhIG1lc3NhZ2UKQEAgLTI5OTgsNyArMjk5NCw3IEBACiAgICAgQHVuaXR0ZXN0LnNraXBVbmxlc3MoaGFzYXR0cihsb2dnaW5nLmhhbmRsZXJzLCAnUXVldWVMaXN0ZW5lcicpLAogICAgICAgICAgICAgICAgICAgICAgICAgICdsb2dnaW5nLmhhbmRsZXJzLlF1ZXVlTGlzdGVuZXIgcmVxdWlyZWQgZm9yIHRoaXMgdGVzdCcpCiAgICAgZGVmIHRlc3RfcXVldWVfbGlzdGVuZXIoc2VsZik6Ci0gICAgICAgIGhhbmRsZXIgPSBUZXN0SGFuZGxlcihNYXRjaGVyKCkpCisgICAgICAgIGhhbmRsZXIgPSBzdXBwb3J0LlRlc3RIYW5kbGVyKHN1cHBvcnQuTWF0Y2hlcigpKQogICAgICAgICBsaXN0ZW5lciA9IGxvZ2dpbmcuaGFuZGxlcnMuUXVldWVMaXN0ZW5lcihzZWxmLnF1ZXVlLCBoYW5kbGVyKQogICAgICAgICBsaXN0ZW5lci5zdGFydCgpCiAgICAgICAgIHRyeToKQEAgLTMwMTAsNiArMzAwNiwyNSBAQAogICAgICAgICBzZWxmLmFzc2VydFRydWUoaGFuZGxlci5tYXRjaGVzKGxldmVsbm89bG9nZ2luZy5XQVJOSU5HLCBtZXNzYWdlPScxJykpCiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShoYW5kbGVyLm1hdGNoZXMobGV2ZWxubz1sb2dnaW5nLkVSUk9SLCBtZXNzYWdlPScyJykpCiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShoYW5kbGVyLm1hdGNoZXMobGV2ZWxubz1sb2dnaW5nLkNSSVRJQ0FMLCBtZXNzYWdlPSczJykpCisgICAgICAgIGhhbmRsZXIuY2xvc2UoKQorCisgICAgICAgICMgTm93IHRlc3Qgd2l0aCByZXNwZWN0X2hhbmRsZXJfbGV2ZWwgc2V0CisKKyAgICAgICAgaGFuZGxlciA9IHN1cHBvcnQuVGVzdEhhbmRsZXIoc3VwcG9ydC5NYXRjaGVyKCkpCisgICAgICAgIGhhbmRsZXIuc2V0TGV2ZWwobG9nZ2luZy5DUklUSUNBTCkKKyAgICAgICAgbGlzdGVuZXIgPSBsb2dnaW5nLmhhbmRsZXJzLlF1ZXVlTGlzdGVuZXIoc2VsZi5xdWV1ZSwgaGFuZGxlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzcGVjdF9oYW5kbGVyX2xldmVsPVRydWUpCisgICAgICAgIGxpc3RlbmVyLnN0YXJ0KCkKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgc2VsZi5xdWVfbG9nZ2VyLndhcm5pbmcoc2VsZi5uZXh0X21lc3NhZ2UoKSkKKyAgICAgICAgICAgIHNlbGYucXVlX2xvZ2dlci5lcnJvcihzZWxmLm5leHRfbWVzc2FnZSgpKQorICAgICAgICAgICAgc2VsZi5xdWVfbG9nZ2VyLmNyaXRpY2FsKHNlbGYubmV4dF9tZXNzYWdlKCkpCisgICAgICAgIGZpbmFsbHk6CisgICAgICAgICAgICBsaXN0ZW5lci5zdG9wKCkKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShoYW5kbGVyLm1hdGNoZXMobGV2ZWxubz1sb2dnaW5nLldBUk5JTkcsIG1lc3NhZ2U9JzQnKSkKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShoYW5kbGVyLm1hdGNoZXMobGV2ZWxubz1sb2dnaW5nLkVSUk9SLCBtZXNzYWdlPSc1JykpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShoYW5kbGVyLm1hdGNoZXMobGV2ZWxubz1sb2dnaW5nLkNSSVRJQ0FMLCBtZXNzYWdlPSc2JykpCisKIAogWkVSTyA9IGRhdGV0aW1lLnRpbWVkZWx0YSgwKQogCkBAIC0zMTY2LDMyICszMTgxLDM1IEBACiAgICAgICAgICMgVGVzdCB0aGUgbGFzdCByZXNvcnQgaGFuZGxlcgogICAgICAgICByb290ID0gc2VsZi5yb290X2xvZ2dlcgogICAgICAgICByb290LnJlbW92ZUhhbmRsZXIoc2VsZi5yb290X2hkbHIpCi0gICAgICAgIG9sZF9zdGRlcnIgPSBzeXMuc3RkZXJyCiAgICAgICAgIG9sZF9sYXN0cmVzb3J0ID0gbG9nZ2luZy5sYXN0UmVzb3J0CiAgICAgICAgIG9sZF9yYWlzZV9leGNlcHRpb25zID0gbG9nZ2luZy5yYWlzZUV4Y2VwdGlvbnMKKwogICAgICAgICB0cnk6Ci0gICAgICAgICAgICBzeXMuc3RkZXJyID0gc2lvID0gaW8uU3RyaW5nSU8oKQotICAgICAgICAgICAgcm9vdC5kZWJ1ZygnVGhpcyBzaG91bGQgbm90IGFwcGVhcicpCi0gICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNpby5nZXR2YWx1ZSgpLCAnJykKLSAgICAgICAgICAgIHJvb3Qud2FybmluZygnVGhpcyBpcyB5b3VyIGZpbmFsIGNoYW5jZSEnKQotICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzaW8uZ2V0dmFsdWUoKSwgJ1RoaXMgaXMgeW91ciBmaW5hbCBjaGFuY2UhXG4nKQotICAgICAgICAgICAgI05vIGhhbmRsZXJzIGFuZCBubyBsYXN0IHJlc29ydCwgc28gJ05vIGhhbmRsZXJzJyBtZXNzYWdlCisgICAgICAgICAgICB3aXRoIHN1cHBvcnQuY2FwdHVyZWRfc3RkZXJyKCkgYXMgc3RkZXJyOgorICAgICAgICAgICAgICAgIHJvb3QuZGVidWcoJ1RoaXMgc2hvdWxkIG5vdCBhcHBlYXInKQorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RkZXJyLmdldHZhbHVlKCksICcnKQorICAgICAgICAgICAgICAgIHJvb3Qud2FybmluZygnRmluYWwgY2hhbmNlIScpCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdGRlcnIuZ2V0dmFsdWUoKSwgJ0ZpbmFsIGNoYW5jZSFcbicpCisKKyAgICAgICAgICAgICMgTm8gaGFuZGxlcnMgYW5kIG5vIGxhc3QgcmVzb3J0LCBzbyAnTm8gaGFuZGxlcnMnIG1lc3NhZ2UKICAgICAgICAgICAgIGxvZ2dpbmcubGFzdFJlc29ydCA9IE5vbmUKLSAgICAgICAgICAgIHN5cy5zdGRlcnIgPSBzaW8gPSBpby5TdHJpbmdJTygpCi0gICAgICAgICAgICByb290Lndhcm5pbmcoJ1RoaXMgaXMgeW91ciBmaW5hbCBjaGFuY2UhJykKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2lvLmdldHZhbHVlKCksICdObyBoYW5kbGVycyBjb3VsZCBiZSBmb3VuZCBmb3IgbG9nZ2VyICJyb290IlxuJykKKyAgICAgICAgICAgIHdpdGggc3VwcG9ydC5jYXB0dXJlZF9zdGRlcnIoKSBhcyBzdGRlcnI6CisgICAgICAgICAgICAgICAgcm9vdC53YXJuaW5nKCdGaW5hbCBjaGFuY2UhJykKKyAgICAgICAgICAgICAgICBtc2cgPSAnTm8gaGFuZGxlcnMgY291bGQgYmUgZm91bmQgZm9yIGxvZ2dlciAicm9vdCJcbicKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0ZGVyci5nZXR2YWx1ZSgpLCBtc2cpCisKICAgICAgICAgICAgICMgJ05vIGhhbmRsZXJzJyBtZXNzYWdlIG9ubHkgcHJpbnRlZCBvbmNlCi0gICAgICAgICAgICBzeXMuc3RkZXJyID0gc2lvID0gaW8uU3RyaW5nSU8oKQotICAgICAgICAgICAgcm9vdC53YXJuaW5nKCdUaGlzIGlzIHlvdXIgZmluYWwgY2hhbmNlIScpCi0gICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNpby5nZXR2YWx1ZSgpLCAnJykKKyAgICAgICAgICAgIHdpdGggc3VwcG9ydC5jYXB0dXJlZF9zdGRlcnIoKSBhcyBzdGRlcnI6CisgICAgICAgICAgICAgICAgcm9vdC53YXJuaW5nKCdGaW5hbCBjaGFuY2UhJykKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0ZGVyci5nZXR2YWx1ZSgpLCAnJykKKworICAgICAgICAgICAgIyBJZiByYWlzZUV4Y2VwdGlvbnMgaXMgRmFsc2UsIG5vIG1lc3NhZ2UgaXMgcHJpbnRlZAogICAgICAgICAgICAgcm9vdC5tYW5hZ2VyLmVtaXR0ZWROb0hhbmRsZXJXYXJuaW5nID0gRmFsc2UKLSAgICAgICAgICAgICNJZiByYWlzZUV4Y2VwdGlvbnMgaXMgRmFsc2UsIG5vIG1lc3NhZ2UgaXMgcHJpbnRlZAogICAgICAgICAgICAgbG9nZ2luZy5yYWlzZUV4Y2VwdGlvbnMgPSBGYWxzZQotICAgICAgICAgICAgc3lzLnN0ZGVyciA9IHNpbyA9IGlvLlN0cmluZ0lPKCkKLSAgICAgICAgICAgIHJvb3Qud2FybmluZygnVGhpcyBpcyB5b3VyIGZpbmFsIGNoYW5jZSEnKQotICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzaW8uZ2V0dmFsdWUoKSwgJycpCisgICAgICAgICAgICB3aXRoIHN1cHBvcnQuY2FwdHVyZWRfc3RkZXJyKCkgYXMgc3RkZXJyOgorICAgICAgICAgICAgICAgIHJvb3Qud2FybmluZygnRmluYWwgY2hhbmNlIScpCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdGRlcnIuZ2V0dmFsdWUoKSwgJycpCiAgICAgICAgIGZpbmFsbHk6Ci0gICAgICAgICAgICBzeXMuc3RkZXJyID0gb2xkX3N0ZGVycgogICAgICAgICAgICAgcm9vdC5hZGRIYW5kbGVyKHNlbGYucm9vdF9oZGxyKQogICAgICAgICAgICAgbG9nZ2luZy5sYXN0UmVzb3J0ID0gb2xkX2xhc3RyZXNvcnQKICAgICAgICAgICAgIGxvZ2dpbmcucmFpc2VFeGNlcHRpb25zID0gb2xkX3JhaXNlX2V4Y2VwdGlvbnMKQEAgLTMzMjIsOCArMzM0MCw4IEBACiAKICAgICBkZWYgX3Rlc3RfbG9nKHNlbGYsIG1ldGhvZCwgbGV2ZWw9Tm9uZSk6CiAgICAgICAgIGNhbGxlZCA9IFtdCi0gICAgICAgIHBhdGNoKHNlbGYsIGxvZ2dpbmcsICdiYXNpY0NvbmZpZycsCi0gICAgICAgICAgICAgIGxhbWJkYSAqYSwgKiprdzogY2FsbGVkLmFwcGVuZCgoYSwga3cpKSkKKyAgICAgICAgc3VwcG9ydC5wYXRjaChzZWxmLCBsb2dnaW5nLCAnYmFzaWNDb25maWcnLAorICAgICAgICAgICAgICAgICAgICAgIGxhbWJkYSAqYSwgKiprdzogY2FsbGVkLmFwcGVuZCgoYSwga3cpKSkKIAogICAgICAgICByZWNvcmRpbmcgPSBSZWNvcmRpbmdIYW5kbGVyKCkKICAgICAgICAgbG9nZ2luZy5yb290LmFkZEhhbmRsZXIocmVjb3JkaW5nKQpAQCAtMzQ5NCw3ICszNTEyLDcgQEAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsb2dnaW5nLnJvb3QubGV2ZWwsIHNlbGYub3JpZ2luYWxfbG9nZ2luZ19sZXZlbCkKIAogICAgIGRlZiB0ZXN0X3N0cmZvcm1hdHN0eWxlKHNlbGYpOgotICAgICAgICB3aXRoIGNhcHR1cmVkX3N0ZG91dCgpIGFzIG91dHB1dDoKKyAgICAgICAgd2l0aCBzdXBwb3J0LmNhcHR1cmVkX3N0ZG91dCgpIGFzIG91dHB1dDoKICAgICAgICAgICAgIGxvZ2dpbmcuYmFzaWNDb25maWcoc3RyZWFtPXN5cy5zdGRvdXQsIHN0eWxlPSJ7IikKICAgICAgICAgICAgIGxvZ2dpbmcuZXJyb3IoIkxvZyBhbiBlcnJvciIpCiAgICAgICAgICAgICBzeXMuc3Rkb3V0LnNlZWsoMCkKQEAgLTM1MDIsNyArMzUyMCw3IEBACiAgICAgICAgICAgICAgICAgIkVSUk9SOnJvb3Q6TG9nIGFuIGVycm9yIikKIAogICAgIGRlZiB0ZXN0X3N0cmluZ3RlbXBsYXRlc3R5bGUoc2VsZik6Ci0gICAgICAgIHdpdGggY2FwdHVyZWRfc3Rkb3V0KCkgYXMgb3V0cHV0OgorICAgICAgICB3aXRoIHN1cHBvcnQuY2FwdHVyZWRfc3Rkb3V0KCkgYXMgb3V0cHV0OgogICAgICAgICAgICAgbG9nZ2luZy5iYXNpY0NvbmZpZyhzdHJlYW09c3lzLnN0ZG91dCwgc3R5bGU9IiQiKQogICAgICAgICAgICAgbG9nZ2luZy5lcnJvcigiTG9nIGFuIGVycm9yIikKICAgICAgICAgICAgIHN5cy5zdGRvdXQuc2VlaygwKQpAQCAtMzYxOSw3ICszNjM3LDcgQEAKICAgICAgICAgICAgIHNlbGYuYWRkQ2xlYW51cChsb2dnaW5nLnJvb3Quc2V0TGV2ZWwsIG9sZF9sZXZlbCkKICAgICAgICAgICAgIGNhbGxlZC5hcHBlbmQoKGEsIGt3KSkKIAotICAgICAgICBwYXRjaChzZWxmLCBsb2dnaW5nLCAnYmFzaWNDb25maWcnLCBteV9iYXNpY19jb25maWcpCisgICAgICAgIHN1cHBvcnQucGF0Y2goc2VsZiwgbG9nZ2luZywgJ2Jhc2ljQ29uZmlnJywgbXlfYmFzaWNfY29uZmlnKQogCiAgICAgICAgIGxvZ19tZXRob2QgPSBnZXRhdHRyKGxvZ2dpbmcsIG1ldGhvZCkKICAgICAgICAgaWYgbGV2ZWwgaXMgbm90IE5vbmU6CkBAIC0zNjg1LDYgKzM3MDMsMTkgQEAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZWNvcmQuZXhjX2luZm8sCiAgICAgICAgICAgICAgICAgICAgICAgICAgKGV4Yy5fX2NsYXNzX18sIGV4YywgZXhjLl9fdHJhY2ViYWNrX18pKQogCisgICAgZGVmIHRlc3RfZXhjZXB0aW9uX2V4Y2luZm8oc2VsZik6CisgICAgICAgIHRyeToKKyAgICAgICAgICAgIDEgLyAwCisgICAgICAgIGV4Y2VwdCBaZXJvRGl2aXNpb25FcnJvciBhcyBlOgorICAgICAgICAgICAgZXhjID0gZQorCisgICAgICAgIHNlbGYuYWRhcHRlci5leGNlcHRpb24oJ2V4Y19pbmZvIHRlc3QnLCBleGNfaW5mbz1leGMpCisKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4oc2VsZi5yZWNvcmRpbmcucmVjb3JkcyksIDEpCisgICAgICAgIHJlY29yZCA9IHNlbGYucmVjb3JkaW5nLnJlY29yZHNbMF0KKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZWNvcmQuZXhjX2luZm8sCisgICAgICAgICAgICAgICAgICAgICAgICAgKGV4Yy5fX2NsYXNzX18sIGV4YywgZXhjLl9fdHJhY2ViYWNrX18pKQorCiAgICAgZGVmIHRlc3RfY3JpdGljYWwoc2VsZik6CiAgICAgICAgIG1zZyA9ICdjcml0aWNhbCB0ZXN0ISAlcicKICAgICAgICAgc2VsZi5hZGFwdGVyLmNyaXRpY2FsKG1zZywgc2VsZi5yZWNvcmRpbmcpCkBAIC0zNzU5LDggKzM3OTAsOCBAQAogCiAgICAgZGVmIHRlc3RfZmluZF9jYWxsZXJfd2l0aF9zdGFja19pbmZvKHNlbGYpOgogICAgICAgICBjYWxsZWQgPSBbXQotICAgICAgICBwYXRjaChzZWxmLCBsb2dnaW5nLnRyYWNlYmFjaywgJ3ByaW50X3N0YWNrJywKLSAgICAgICAgICAgICAgbGFtYmRhIGYsIGZpbGU6IGNhbGxlZC5hcHBlbmQoZmlsZS5nZXR2YWx1ZSgpKSkKKyAgICAgICAgc3VwcG9ydC5wYXRjaChzZWxmLCBsb2dnaW5nLnRyYWNlYmFjaywgJ3ByaW50X3N0YWNrJywKKyAgICAgICAgICAgICAgICAgICAgICBsYW1iZGEgZiwgZmlsZTogY2FsbGVkLmFwcGVuZChmaWxlLmdldHZhbHVlKCkpKQogCiAgICAgICAgIHNlbGYubG9nZ2VyLmZpbmRDYWxsZXIoc3RhY2tfaW5mbz1UcnVlKQogCkBAIC0zODk3LDcgKzM5MjgsNyBAQAogICAgICAgICBzZWxmLmFzc2VydEZhbHNlKG9zLnBhdGguZXhpc3RzKG5hbWVyKHNlbGYuZm4gKyAiLjMiKSkpCiAgICAgICAgIHJoLmNsb3NlKCkKIAotICAgIEByZXF1aXJlc196bGliCisgICAgQHN1cHBvcnQucmVxdWlyZXNfemxpYgogICAgIGRlZiB0ZXN0X3JvdGF0b3Ioc2VsZik6CiAgICAgICAgIGRlZiBuYW1lcihuYW1lKToKICAgICAgICAgICAgIHJldHVybiBuYW1lICsgIi5neiIKQEAgLTQxMzAsMjIgKzQxNjEsMjAgQEAKICMgU2V0IHRoZSBsb2NhbGUgdG8gdGhlIHBsYXRmb3JtLWRlcGVuZGVudCBkZWZhdWx0LiAgSSBoYXZlIG5vIGlkZWEKICMgd2h5IHRoZSB0ZXN0IGRvZXMgdGhpcywgYnV0IGluIGFueSBjYXNlIHdlIHNhdmUgdGhlIGN1cnJlbnQgbG9jYWxlCiAjIGZpcnN0IGFuZCByZXN0b3JlIGl0IGF0IHRoZSBlbmQuCi1AcnVuX3dpdGhfbG9jYWxlKCdMQ19BTEwnLCAnJykKK0BzdXBwb3J0LnJ1bl93aXRoX2xvY2FsZSgnTENfQUxMJywgJycpCiBkZWYgdGVzdF9tYWluKCk6Ci0gICAgcnVuX3VuaXR0ZXN0KEJ1aWx0aW5MZXZlbHNUZXN0LCBCYXNpY0ZpbHRlclRlc3QsCi0gICAgICAgICAgICAgICAgIEN1c3RvbUxldmVsc0FuZEZpbHRlcnNUZXN0LCBIYW5kbGVyVGVzdCwgTWVtb3J5SGFuZGxlclRlc3QsCi0gICAgICAgICAgICAgICAgIENvbmZpZ0ZpbGVUZXN0LCBTb2NrZXRIYW5kbGVyVGVzdCwgRGF0YWdyYW1IYW5kbGVyVGVzdCwKLSAgICAgICAgICAgICAgICAgTWVtb3J5VGVzdCwgRW5jb2RpbmdUZXN0LCBXYXJuaW5nc1Rlc3QsIENvbmZpZ0RpY3RUZXN0LAotICAgICAgICAgICAgICAgICBNYW5hZ2VyVGVzdCwgRm9ybWF0dGVyVGVzdCwgQnVmZmVyaW5nRm9ybWF0dGVyVGVzdCwKLSAgICAgICAgICAgICAgICAgU3RyZWFtSGFuZGxlclRlc3QsIExvZ1JlY29yZEZhY3RvcnlUZXN0LCBDaGlsZExvZ2dlclRlc3QsCi0gICAgICAgICAgICAgICAgIFF1ZXVlSGFuZGxlclRlc3QsIFNodXRkb3duVGVzdCwgTW9kdWxlTGV2ZWxNaXNjVGVzdCwKLSAgICAgICAgICAgICAgICAgQmFzaWNDb25maWdUZXN0LCBMb2dnZXJBZGFwdGVyVGVzdCwgTG9nZ2VyVGVzdCwKLSAgICAgICAgICAgICAgICAgU01UUEhhbmRsZXJUZXN0LCBGaWxlSGFuZGxlclRlc3QsIFJvdGF0aW5nRmlsZUhhbmRsZXJUZXN0LAotICAgICAgICAgICAgICAgICBMYXN0UmVzb3J0VGVzdCwgTG9nUmVjb3JkVGVzdCwgRXhjZXB0aW9uVGVzdCwKLSAgICAgICAgICAgICAgICAgU3lzTG9nSGFuZGxlclRlc3QsIEhUVFBIYW5kbGVyVGVzdCwgTlRFdmVudExvZ0hhbmRsZXJUZXN0LAotICAgICAgICAgICAgICAgICBUaW1lZFJvdGF0aW5nRmlsZUhhbmRsZXJUZXN0LCBVbml4U29ja2V0SGFuZGxlclRlc3QsCi0gICAgICAgICAgICAgICAgIFVuaXhEYXRhZ3JhbUhhbmRsZXJUZXN0LCBVbml4U3lzTG9nSGFuZGxlclRlc3QKLSAgICAgICAgICAgICAgICApCisgICAgc3VwcG9ydC5ydW5fdW5pdHRlc3QoCisgICAgICAgIEJ1aWx0aW5MZXZlbHNUZXN0LCBCYXNpY0ZpbHRlclRlc3QsIEN1c3RvbUxldmVsc0FuZEZpbHRlcnNUZXN0LAorICAgICAgICBIYW5kbGVyVGVzdCwgTWVtb3J5SGFuZGxlclRlc3QsIENvbmZpZ0ZpbGVUZXN0LCBTb2NrZXRIYW5kbGVyVGVzdCwKKyAgICAgICAgRGF0YWdyYW1IYW5kbGVyVGVzdCwgTWVtb3J5VGVzdCwgRW5jb2RpbmdUZXN0LCBXYXJuaW5nc1Rlc3QsCisgICAgICAgIENvbmZpZ0RpY3RUZXN0LCBNYW5hZ2VyVGVzdCwgRm9ybWF0dGVyVGVzdCwgQnVmZmVyaW5nRm9ybWF0dGVyVGVzdCwKKyAgICAgICAgU3RyZWFtSGFuZGxlclRlc3QsIExvZ1JlY29yZEZhY3RvcnlUZXN0LCBDaGlsZExvZ2dlclRlc3QsCisgICAgICAgIFF1ZXVlSGFuZGxlclRlc3QsIFNodXRkb3duVGVzdCwgTW9kdWxlTGV2ZWxNaXNjVGVzdCwgQmFzaWNDb25maWdUZXN0LAorICAgICAgICBMb2dnZXJBZGFwdGVyVGVzdCwgTG9nZ2VyVGVzdCwgU01UUEhhbmRsZXJUZXN0LCBGaWxlSGFuZGxlclRlc3QsCisgICAgICAgIFJvdGF0aW5nRmlsZUhhbmRsZXJUZXN0LCAgTGFzdFJlc29ydFRlc3QsIExvZ1JlY29yZFRlc3QsCisgICAgICAgIEV4Y2VwdGlvblRlc3QsIFN5c0xvZ0hhbmRsZXJUZXN0LCBIVFRQSGFuZGxlclRlc3QsCisgICAgICAgIE5URXZlbnRMb2dIYW5kbGVyVGVzdCwgVGltZWRSb3RhdGluZ0ZpbGVIYW5kbGVyVGVzdCwKKyAgICAgICAgVW5peFNvY2tldEhhbmRsZXJUZXN0LCBVbml4RGF0YWdyYW1IYW5kbGVyVGVzdCwgVW5peFN5c0xvZ0hhbmRsZXJUZXN0KQogCiBpZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgogICAgIHRlc3RfbWFpbigpCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2xvbmcucHkgYi9MaWIvdGVzdC90ZXN0X2xvbmcucHkKaW5kZXggNWYxNDc5NS4uNTc4NDdkOCAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9sb25nLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfbG9uZy5weQpAQCAtNTk5LDggKzU5OSw2IEBACiAgICAgICAgICAgICAgICAgcmV0dXJuICh4ID4geSkgLSAoeCA8IHkpCiAgICAgICAgICAgICBkZWYgX19lcV9fKHNlbGYsIG90aGVyKToKICAgICAgICAgICAgICAgICByZXR1cm4gc2VsZi5fY21wX18ob3RoZXIpID09IDAKLSAgICAgICAgICAgIGRlZiBfX25lX18oc2VsZiwgb3RoZXIpOgotICAgICAgICAgICAgICAgIHJldHVybiBzZWxmLl9jbXBfXyhvdGhlcikgIT0gMAogICAgICAgICAgICAgZGVmIF9fZ2VfXyhzZWxmLCBvdGhlcik6CiAgICAgICAgICAgICAgICAgcmV0dXJuIHNlbGYuX2NtcF9fKG90aGVyKSA+PSAwCiAgICAgICAgICAgICBkZWYgX19ndF9fKHNlbGYsIG90aGVyKToKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfbHptYS5weSBiL0xpYi90ZXN0L3Rlc3RfbHptYS5weQppbmRleCAwN2ZhZGJkLi5jZGVkMjhjIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2x6bWEucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9sem1hLnB5CkBAIC0xMzUsNiArMTM1LDk3IEBACiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShsemQuZW9mKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGx6ZC51bnVzZWRfZGF0YSwgYiIiKQogCisgICAgZGVmIHRlc3RfZGVjb21wcmVzc29yX2NodW5rc19tYXhzaXplKHNlbGYpOgorICAgICAgICBsemQgPSBMWk1BRGVjb21wcmVzc29yKCkKKyAgICAgICAgbWF4X2xlbmd0aCA9IDEwMAorICAgICAgICBvdXQgPSBbXQorCisgICAgICAgICMgRmVlZCBmaXJzdCBoYWxmIHRoZSBpbnB1dAorICAgICAgICBsZW5fID0gbGVuKENPTVBSRVNTRURfWFopIC8vIDIKKyAgICAgICAgb3V0LmFwcGVuZChsemQuZGVjb21wcmVzcyhDT01QUkVTU0VEX1haWzpsZW5fXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXhfbGVuZ3RoPW1heF9sZW5ndGgpKQorICAgICAgICBzZWxmLmFzc2VydEZhbHNlKGx6ZC5uZWVkc19pbnB1dCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4ob3V0Wy0xXSksIG1heF9sZW5ndGgpCisKKyAgICAgICAgIyBSZXRyaWV2ZSBtb3JlIGRhdGEgd2l0aG91dCBwcm92aWRpbmcgbW9yZSBpbnB1dAorICAgICAgICBvdXQuYXBwZW5kKGx6ZC5kZWNvbXByZXNzKGInJywgbWF4X2xlbmd0aD1tYXhfbGVuZ3RoKSkKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShsemQubmVlZHNfaW5wdXQpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKG91dFstMV0pLCBtYXhfbGVuZ3RoKQorCisgICAgICAgICMgUmV0cmlldmUgbW9yZSBkYXRhIHdoaWxlIHByb3ZpZGluZyBtb3JlIGlucHV0CisgICAgICAgIG91dC5hcHBlbmQobHpkLmRlY29tcHJlc3MoQ09NUFJFU1NFRF9YWltsZW5fOl0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4X2xlbmd0aD1tYXhfbGVuZ3RoKSkKKyAgICAgICAgc2VsZi5hc3NlcnRMZXNzRXF1YWwobGVuKG91dFstMV0pLCBtYXhfbGVuZ3RoKQorCisgICAgICAgICMgUmV0cmlldmUgcmVtYWluaW5nIHVuY29tcHJlc3NlZCBkYXRhCisgICAgICAgIHdoaWxlIG5vdCBsemQuZW9mOgorICAgICAgICAgICAgb3V0LmFwcGVuZChsemQuZGVjb21wcmVzcyhiJycsIG1heF9sZW5ndGg9bWF4X2xlbmd0aCkpCisgICAgICAgICAgICBzZWxmLmFzc2VydExlc3NFcXVhbChsZW4ob3V0Wy0xXSksIG1heF9sZW5ndGgpCisKKyAgICAgICAgb3V0ID0gYiIiLmpvaW4ob3V0KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG91dCwgSU5QVVQpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobHpkLmNoZWNrLCBsem1hLkNIRUNLX0NSQzY0KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGx6ZC51bnVzZWRfZGF0YSwgYiIiKQorCisgICAgZGVmIHRlc3RfZGVjb21wcmVzc29yX2lucHV0YnVmXzEoc2VsZik6CisgICAgICAgICMgVGVzdCByZXVzaW5nIGlucHV0IGJ1ZmZlciBhZnRlciBtb3ZpbmcgZXhpc3RpbmcKKyAgICAgICAgIyBjb250ZW50cyB0byBiZWdpbm5pbmcKKyAgICAgICAgbHpkID0gTFpNQURlY29tcHJlc3NvcigpCisgICAgICAgIG91dCA9IFtdCisKKyAgICAgICAgIyBDcmVhdGUgaW5wdXQgYnVmZmVyIGFuZCBmaWxsIGl0CisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobHpkLmRlY29tcHJlc3MoQ09NUFJFU1NFRF9YWls6MTAwXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXhfbGVuZ3RoPTApLCBiJycpCisKKyAgICAgICAgIyBSZXRyaWV2ZSBzb21lIHJlc3VsdHMsIGZyZWVpbmcgY2FwYWNpdHkgYXQgYmVnaW5uaW5nCisgICAgICAgICMgb2YgaW5wdXQgYnVmZmVyCisgICAgICAgIG91dC5hcHBlbmQobHpkLmRlY29tcHJlc3MoYicnLCAyKSkKKworICAgICAgICAjIEFkZCBtb3JlIGRhdGEgdGhhdCBmaXRzIGludG8gaW5wdXQgYnVmZmVyIGFmdGVyCisgICAgICAgICMgbW92aW5nIGV4aXN0aW5nIGRhdGEgdG8gYmVnaW5uaW5nCisgICAgICAgIG91dC5hcHBlbmQobHpkLmRlY29tcHJlc3MoQ09NUFJFU1NFRF9YWlsxMDA6MTA1XSwgMTUpKQorCisgICAgICAgICMgRGVjb21wcmVzcyByZXN0IG9mIGRhdGEKKyAgICAgICAgb3V0LmFwcGVuZChsemQuZGVjb21wcmVzcyhDT01QUkVTU0VEX1haWzEwNTpdKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChiJycuam9pbihvdXQpLCBJTlBVVCkKKworICAgIGRlZiB0ZXN0X2RlY29tcHJlc3Nvcl9pbnB1dGJ1Zl8yKHNlbGYpOgorICAgICAgICAjIFRlc3QgcmV1c2luZyBpbnB1dCBidWZmZXIgYnkgYXBwZW5kaW5nIGRhdGEgYXQgdGhlCisgICAgICAgICMgZW5kIHJpZ2h0IGF3YXkKKyAgICAgICAgbHpkID0gTFpNQURlY29tcHJlc3NvcigpCisgICAgICAgIG91dCA9IFtdCisKKyAgICAgICAgIyBDcmVhdGUgaW5wdXQgYnVmZmVyIGFuZCBlbXB0eSBpdAorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGx6ZC5kZWNvbXByZXNzKENPTVBSRVNTRURfWFpbOjIwMF0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4X2xlbmd0aD0wKSwgYicnKQorICAgICAgICBvdXQuYXBwZW5kKGx6ZC5kZWNvbXByZXNzKGInJykpCisKKyAgICAgICAgIyBGaWxsIGJ1ZmZlciB3aXRoIG5ldyBkYXRhCisgICAgICAgIG91dC5hcHBlbmQobHpkLmRlY29tcHJlc3MoQ09NUFJFU1NFRF9YWlsyMDA6MjgwXSwgMikpCisKKyAgICAgICAgIyBBcHBlbmQgc29tZSBtb3JlIGRhdGEsIG5vdCBlbm91Z2ggdG8gcmVxdWlyZSByZXNpemUKKyAgICAgICAgb3V0LmFwcGVuZChsemQuZGVjb21wcmVzcyhDT01QUkVTU0VEX1haWzI4MDozMDBdLCAyKSkKKworICAgICAgICAjIERlY29tcHJlc3MgcmVzdCBvZiBkYXRhCisgICAgICAgIG91dC5hcHBlbmQobHpkLmRlY29tcHJlc3MoQ09NUFJFU1NFRF9YWlszMDA6XSkpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYicnLmpvaW4ob3V0KSwgSU5QVVQpCisKKyAgICBkZWYgdGVzdF9kZWNvbXByZXNzb3JfaW5wdXRidWZfMyhzZWxmKToKKyAgICAgICAgIyBUZXN0IHJldXNpbmcgaW5wdXQgYnVmZmVyIGFmdGVyIGV4dGVuZGluZyBpdAorCisgICAgICAgIGx6ZCA9IExaTUFEZWNvbXByZXNzb3IoKQorICAgICAgICBvdXQgPSBbXQorCisgICAgICAgICMgQ3JlYXRlIGFsbW9zdCBmdWxsIGlucHV0IGJ1ZmZlcgorICAgICAgICBvdXQuYXBwZW5kKGx6ZC5kZWNvbXByZXNzKENPTVBSRVNTRURfWFpbOjIwMF0sIDUpKQorCisgICAgICAgICMgQWRkIGV2ZW4gbW9yZSBkYXRhIHRvIGl0LCByZXF1aXJpbmcgcmVzaXplCisgICAgICAgIG91dC5hcHBlbmQobHpkLmRlY29tcHJlc3MoQ09NUFJFU1NFRF9YWlsyMDA6MzAwXSwgNSkpCisKKyAgICAgICAgIyBEZWNvbXByZXNzIHJlc3Qgb2YgZGF0YQorICAgICAgICBvdXQuYXBwZW5kKGx6ZC5kZWNvbXByZXNzKENPTVBSRVNTRURfWFpbMzAwOl0pKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGInJy5qb2luKG91dCksIElOUFVUKQorCiAgICAgZGVmIHRlc3RfZGVjb21wcmVzc29yX3VudXNlZF9kYXRhKHNlbGYpOgogICAgICAgICBsemQgPSBMWk1BRGVjb21wcmVzc29yKCkKICAgICAgICAgZXh0cmEgPSBiImZvb2JsaWJhciIKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfbWFjcGF0aC5weSBiL0xpYi90ZXN0L3Rlc3RfbWFjcGF0aC5weQppbmRleCAyMmY4NDkxLi44MGJlYzdhIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X21hY3BhdGgucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9tYWNwYXRoLnB5CkBAIC0xNDIsNiArMTQyLDggQEAKIGNsYXNzIE1hY0NvbW1vblRlc3QodGVzdF9nZW5lcmljcGF0aC5Db21tb25UZXN0LCB1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgcGF0aG1vZHVsZSA9IG1hY3BhdGgKIAorICAgIHRlc3RfcmVscGF0aF9lcnJvcnMgPSBOb25lCisKIAogaWYgX19uYW1lX18gPT0gIl9fbWFpbl9fIjoKICAgICB1bml0dGVzdC5tYWluKCkKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfbWFyc2hhbC5weSBiL0xpYi90ZXN0L3Rlc3RfbWFyc2hhbC5weQppbmRleCA5MDNlMTJjLi5jN2RlZjlhIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X21hcnNoYWwucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9tYXJzaGFsLnB5CkBAIC0xOTMsNyArMTkzLDcgQEAKICAgICAgICAgaGVhZCA9IGxhc3QgPSBbXQogICAgICAgICAjIFRoZSBtYXggc3RhY2sgZGVwdGggc2hvdWxkIG1hdGNoIHRoZSB2YWx1ZSBpbiBQeXRob24vbWFyc2hhbC5jLgogICAgICAgICBpZiBvcy5uYW1lID09ICdudCcgYW5kIGhhc2F0dHIoc3lzLCAnZ2V0dG90YWxyZWZjb3VudCcpOgotICAgICAgICAgICAgTUFYX01BUlNIQUxfU1RBQ0tfREVQVEggPSAxNTAwCisgICAgICAgICAgICBNQVhfTUFSU0hBTF9TVEFDS19ERVBUSCA9IDEwMDAKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIE1BWF9NQVJTSEFMX1NUQUNLX0RFUFRIID0gMjAwMAogICAgICAgICBmb3IgaSBpbiByYW5nZShNQVhfTUFSU0hBTF9TVEFDS19ERVBUSCAtIDIpOgpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9tYXRoLnB5IGIvTGliL3Rlc3QvdGVzdF9tYXRoLnB5CmluZGV4IDQ4Zjg0YmEuLjAyM2RlYTkgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfbWF0aC5weQorKysgYi9MaWIvdGVzdC90ZXN0X21hdGgucHkKQEAgLTQyMiw5ICs0MjIsMTcgQEAKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobWF0aC5mYWN0b3JpYWwoaSksIHB5X2ZhY3RvcmlhbChpKSkKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgbWF0aC5mYWN0b3JpYWwsIC0xKQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBtYXRoLmZhY3RvcmlhbCwgLTEuMCkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgbWF0aC5mYWN0b3JpYWwsIC0xMCoqMTAwKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBtYXRoLmZhY3RvcmlhbCwgLTFlMTAwKQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBtYXRoLmZhY3RvcmlhbCwgbWF0aC5waSkKLSAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoT3ZlcmZsb3dFcnJvciwgbWF0aC5mYWN0b3JpYWwsIHN5cy5tYXhzaXplKzEpCi0gICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKE92ZXJmbG93RXJyb3IsIG1hdGguZmFjdG9yaWFsLCAxMGUxMDApCisKKyAgICAjIE90aGVyIGltcGxlbWVudGF0aW9ucyBtYXkgcGxhY2UgZGlmZmVyZW50IHVwcGVyIGJvdW5kcy4KKyAgICBAc3VwcG9ydC5jcHl0aG9uX29ubHkKKyAgICBkZWYgdGVzdEZhY3RvcmlhbEh1Z2VJbnB1dHMoc2VsZik6CisgICAgICAgICMgQ3VycmVudGx5IHJhaXNlcyBWYWx1ZUVycm9yIGZvciBpbnB1dHMgdGhhdCBhcmUgdG9vIGxhcmdlCisgICAgICAgICMgdG8gZml0IGludG8gYSBDIGxvbmcuCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKE92ZXJmbG93RXJyb3IsIG1hdGguZmFjdG9yaWFsLCAxMCoqMTAwKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhPdmVyZmxvd0Vycm9yLCBtYXRoLmZhY3RvcmlhbCwgMWUxMDApCiAKICAgICBkZWYgdGVzdEZsb29yKHNlbGYpOgogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIG1hdGguZmxvb3IpCkBAIC05NzUsNiArOTgzLDE3IEBACiAgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UobWF0aC5pc2luZigwLikpCiAgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UobWF0aC5pc2luZigxLikpCiAKKyAgICBAcmVxdWlyZXNfSUVFRV83NTQKKyAgICBkZWYgdGVzdF9uYW5fY29uc3RhbnQoc2VsZik6CisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShtYXRoLmlzbmFuKG1hdGgubmFuKSkKKworICAgIEByZXF1aXJlc19JRUVFXzc1NAorICAgIGRlZiB0ZXN0X2luZl9jb25zdGFudChzZWxmKToKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKG1hdGguaXNpbmYobWF0aC5pbmYpKQorICAgICAgICBzZWxmLmFzc2VydEdyZWF0ZXIobWF0aC5pbmYsIDAuMCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtYXRoLmluZiwgZmxvYXQoImluZiIpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKC1tYXRoLmluZiwgZmxvYXQoIi1pbmYiKSkKKwogICAgICMgUkVEX0ZMQUcgMTYtT2N0LTIwMDAgVGltCiAgICAgIyBXaGlsZSAyLjAgaXMgbW9yZSBjb25zaXN0ZW50IGFib3V0IGV4Y2VwdGlvbnMgdGhhbiBwcmV2aW91cyByZWxlYXNlcywgaXQKICAgICAjIHN0aWxsIGZhaWxzIHRoaXMgcGFydCBvZiB0aGUgdGVzdCBvbiBzb21lIHBsYXRmb3Jtcy4gIEZvciBub3csIHdlIG9ubHkKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfbWVtb3J5aW8ucHkgYi9MaWIvdGVzdC90ZXN0X21lbW9yeWlvLnB5CmluZGV4IDlhMjQ2MWQuLjc3NzQ5ZTcgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfbWVtb3J5aW8ucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9tZW1vcnlpby5weQpAQCAtOSw2ICs5LDcgQEAKIGltcG9ydCBpbwogaW1wb3J0IF9weWlvIGFzIHB5aW8KIGltcG9ydCBwaWNrbGUKK2ltcG9ydCBzeXMKIAogY2xhc3MgTWVtb3J5U2Vla1Rlc3RNaXhpbjoKIApAQCAtNzE3LDEyICs3MTgsNTYgQEAKIAogICAgIEBzdXBwb3J0LmNweXRob25fb25seQogICAgIGRlZiB0ZXN0X3NpemVvZihzZWxmKToKLSAgICAgICAgYmFzZXNpemUgPSBzdXBwb3J0LmNhbGNvYmpzaXplKCdQMm5OMlBuJykKKyAgICAgICAgYmFzZXNpemUgPSBzdXBwb3J0LmNhbGNvYmpzaXplKCdQMm4yUG4nKQogICAgICAgICBjaGVjayA9IHNlbGYuY2hlY2tfc2l6ZW9mCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwob2JqZWN0Ll9fc2l6ZW9mX18oaW8uQnl0ZXNJTygpKSwgYmFzZXNpemUpCiAgICAgICAgIGNoZWNrKGlvLkJ5dGVzSU8oKSwgYmFzZXNpemUgKQotICAgICAgICBjaGVjayhpby5CeXRlc0lPKGInYScpLCBiYXNlc2l6ZSArIDEgKyAxICkKLSAgICAgICAgY2hlY2soaW8uQnl0ZXNJTyhiJ2EnICogMTAwMCksIGJhc2VzaXplICsgMTAwMCArIDEgKQorICAgICAgICBjaGVjayhpby5CeXRlc0lPKGInYScgKiAxMDAwKSwgYmFzZXNpemUgKyBzeXMuZ2V0c2l6ZW9mKGInYScgKiAxMDAwKSkKKworICAgICMgVmFyaW91cyB0ZXN0cyBvZiBjb3B5LW9uLXdyaXRlIGJlaGF2aW91ciBmb3IgQnl0ZXNJTy4KKworICAgIGRlZiBfdGVzdF9jb3dfbXV0YXRpb24oc2VsZiwgbXV0YXRpb24pOgorICAgICAgICAjIENvbW1vbiBjb2RlIGZvciBhbGwgQnl0ZXNJTyBjb3B5LW9uLXdyaXRlIG11dGF0aW9uIHRlc3RzLgorICAgICAgICBpbW0gPSBiJyAnICogMTAyNAorICAgICAgICBvbGRfcmMgPSBzeXMuZ2V0cmVmY291bnQoaW1tKQorICAgICAgICBtZW1pbyA9IHNlbGYuaW9jbGFzcyhpbW0pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3lzLmdldHJlZmNvdW50KGltbSksIG9sZF9yYyArIDEpCisgICAgICAgIG11dGF0aW9uKG1lbWlvKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN5cy5nZXRyZWZjb3VudChpbW0pLCBvbGRfcmMpCisKKyAgICBAc3VwcG9ydC5jcHl0aG9uX29ubHkKKyAgICBkZWYgdGVzdF9jb3dfdHJ1bmNhdGUoc2VsZik6CisgICAgICAgICMgRW5zdXJlIHRydW5jYXRlIGNhdXNlcyBhIGNvcHkuCisgICAgICAgIGRlZiBtdXRhdGlvbihtZW1pbyk6CisgICAgICAgICAgICBtZW1pby50cnVuY2F0ZSgxKQorICAgICAgICBzZWxmLl90ZXN0X2Nvd19tdXRhdGlvbihtdXRhdGlvbikKKworICAgIEBzdXBwb3J0LmNweXRob25fb25seQorICAgIGRlZiB0ZXN0X2Nvd193cml0ZShzZWxmKToKKyAgICAgICAgIyBFbnN1cmUgd3JpdGUgdGhhdCB3b3VsZCBub3QgY2F1c2UgYSByZXNpemUgc3RpbGwgcmVzdWx0cyBpbiBhIGNvcHkuCisgICAgICAgIGRlZiBtdXRhdGlvbihtZW1pbyk6CisgICAgICAgICAgICBtZW1pby5zZWVrKDApCisgICAgICAgICAgICBtZW1pby53cml0ZShiJ2ZvbycpCisgICAgICAgIHNlbGYuX3Rlc3RfY293X211dGF0aW9uKG11dGF0aW9uKQorCisgICAgQHN1cHBvcnQuY3B5dGhvbl9vbmx5CisgICAgZGVmIHRlc3RfY293X3NldHN0YXRlKHNlbGYpOgorICAgICAgICAjIF9fc2V0c3RhdGVfXyBzaG91bGQgY2F1c2UgYnVmZmVyIHRvIGJlIHJlbGVhc2VkLgorICAgICAgICBtZW1pbyA9IHNlbGYuaW9jbGFzcyhiJ2Zvb29vb28nKQorICAgICAgICBzdGF0ZSA9IG1lbWlvLl9fZ2V0c3RhdGVfXygpCisgICAgICAgIGRlZiBtdXRhdGlvbihtZW1pbyk6CisgICAgICAgICAgICBtZW1pby5fX3NldHN0YXRlX18oc3RhdGUpCisgICAgICAgIHNlbGYuX3Rlc3RfY293X211dGF0aW9uKG11dGF0aW9uKQorCisgICAgQHN1cHBvcnQuY3B5dGhvbl9vbmx5CisgICAgZGVmIHRlc3RfY293X211dGFibGUoc2VsZik6CisgICAgICAgICMgQnl0ZXNJTyBzaG91bGQgYWNjZXB0IG9ubHkgQnl0ZXMgZm9yIGNvcHktb24td3JpdGUgc2hhcmluZywgc2luY2UKKyAgICAgICAgIyBhcmJpdHJhcnkgYnVmZmVyLWV4cG9ydGluZyBvYmplY3RzIGxpa2UgYnl0ZWFycmF5KCkgYXJlbid0IGd1YXJhbnRlZWQKKyAgICAgICAgIyB0byBiZSBpbW11dGFibGUuCisgICAgICAgIGJhID0gYnl0ZWFycmF5KDEwMjQpCisgICAgICAgIG9sZF9yYyA9IHN5cy5nZXRyZWZjb3VudChiYSkKKyAgICAgICAgbWVtaW8gPSBzZWxmLmlvY2xhc3MoYmEpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3lzLmdldHJlZmNvdW50KGJhKSwgb2xkX3JjKQogCiBjbGFzcyBDU3RyaW5nSU9UZXN0KFB5U3RyaW5nSU9UZXN0KToKICAgICBpb2NsYXNzID0gaW8uU3RyaW5nSU8KZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfbWVtb3J5dmlldy5weSBiL0xpYi90ZXN0L3Rlc3RfbWVtb3J5dmlldy5weQppbmRleCA0YmMzMTMzLi5lOWJkOWZkIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X21lbW9yeXZpZXcucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9tZW1vcnl2aWV3LnB5CkBAIC0zNjksMTIgKzM2OSwxMiBAQAogICAgICAgICBkID0gbWVtb3J5dmlldyhiKQogCiAgICAgICAgIGRlbCBiCi0gCisKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjWzBdLCAyNTYpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZFswXSwgMjU2KQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGMuZm9ybWF0LCAiSCIpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZC5mb3JtYXQsICJIIikKLSAKKwogICAgICAgICBfID0gbS5jYXN0KCdJJykKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjWzBdLCAyNTYpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZFswXSwgMjU2KQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9tb2R1bGUucHkgYi9MaWIvdGVzdC90ZXN0X21vZHVsZS5weQppbmRleCAxMjMwMjkzLi45ZGEzNTM2IDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X21vZHVsZS5weQorKysgYi9MaWIvdGVzdC90ZXN0X21vZHVsZS5weQpAQCAtMzAsNiArMzAsMjIgQEAKICAgICAgICAgICAgIHBhc3MKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChmb28uX19kb2NfXywgTW9kdWxlVHlwZS5fX2RvY19fKQogCisgICAgZGVmIHRlc3RfdW5pbnRpYWxpemVkX21pc3NpbmdfZ2V0YXR0cihzZWxmKToKKyAgICAgICAgIyBJc3N1ZSA4Mjk3CisgICAgICAgICMgdGVzdCB0aGUgdGV4dCBpbiB0aGUgQXR0cmlidXRlRXJyb3Igb2YgYW4gdW5pbml0aWFsaXplZCBtb2R1bGUKKyAgICAgICAgZm9vID0gTW9kdWxlVHlwZS5fX25ld19fKE1vZHVsZVR5cGUpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgoCisgICAgICAgICAgICAgICAgQXR0cmlidXRlRXJyb3IsICJtb2R1bGUgaGFzIG5vIGF0dHJpYnV0ZSAnbm90X2hlcmUnIiwKKyAgICAgICAgICAgICAgICBnZXRhdHRyLCBmb28sICJub3RfaGVyZSIpCisKKyAgICBkZWYgdGVzdF9taXNzaW5nX2dldGF0dHIoc2VsZik6CisgICAgICAgICMgSXNzdWUgODI5NworICAgICAgICAjIHRlc3QgdGhlIHRleHQgaW4gdGhlIEF0dHJpYnV0ZUVycm9yCisgICAgICAgIGZvbyA9IE1vZHVsZVR5cGUoImZvbyIpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgoCisgICAgICAgICAgICAgICAgQXR0cmlidXRlRXJyb3IsICJtb2R1bGUgJ2ZvbycgaGFzIG5vIGF0dHJpYnV0ZSAnbm90X2hlcmUnIiwKKyAgICAgICAgICAgICAgICBnZXRhdHRyLCBmb28sICJub3RfaGVyZSIpCisKICAgICBkZWYgdGVzdF9ub19kb2NzdHJpbmcoc2VsZik6CiAgICAgICAgICMgUmVndWxhcmx5IGluaXRpYWxpemVkIG1vZHVsZSwgbm8gZG9jc3RyaW5nCiAgICAgICAgIGZvbyA9IE1vZHVsZVR5cGUoImZvbyIpCkBAIC0yMTEsNiArMjI3LDE0IEBACiAgICAgICAgICAgICBiImxlbiA9IGxlbiIsCiAgICAgICAgICAgICBiInNodXRpbC5ybXRyZWUgPSBybXRyZWUifSkKIAorICAgIGRlZiB0ZXN0X2Rlc2NyaXB0b3JfZXJyb3JzX3Byb3BvZ2F0ZShzZWxmKToKKyAgICAgICAgY2xhc3MgRGVzY3I6CisgICAgICAgICAgICBkZWYgX19nZXRfXyhzZWxmLCBvLCB0KToKKyAgICAgICAgICAgICAgICByYWlzZSBSdW50aW1lRXJyb3IKKyAgICAgICAgY2xhc3MgTShNb2R1bGVUeXBlKToKKyAgICAgICAgICAgIG1lbG9uID0gRGVzY3IoKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhSdW50aW1lRXJyb3IsIGdldGF0dHIsIE0oIm15bW9kIiksICJtZWxvbiIpCisKICAgICAjIGZyb3plbiBhbmQgbmFtZXNwYWNlIG1vZHVsZSByZXBycyBhcmUgdGVzdGVkIGluIGltcG9ydGxpYi4KIAogCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X29wZXJhdG9yLnB5IGIvTGliL3Rlc3QvdGVzdF9vcGVyYXRvci5weQppbmRleCBhYjU4YTk4Li4xYmQwMzkxIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X29wZXJhdG9yLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3Rfb3BlcmF0b3IucHkKQEAgLTIwMyw2ICsyMDMsMTUgQEAKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBvcGVyYXRvci5tdWwsIE5vbmUsIE5vbmUpCiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShvcGVyYXRvci5tdWwoNSwgMikgPT0gMTApCiAKKyAgICBkZWYgdGVzdF9tYXRtdWwoc2VsZik6CisgICAgICAgIG9wZXJhdG9yID0gc2VsZi5tb2R1bGUKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBvcGVyYXRvci5tYXRtdWwpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgb3BlcmF0b3IubWF0bXVsLCA0MiwgNDIpCisgICAgICAgIGNsYXNzIE06CisgICAgICAgICAgICBkZWYgX19tYXRtdWxfXyhzZWxmLCBvdGhlcik6CisgICAgICAgICAgICAgICAgcmV0dXJuIG90aGVyIC0gMQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKE0oKSBAIDQyLCA0MSkKKwogICAgIGRlZiB0ZXN0X25lZyhzZWxmKToKICAgICAgICAgb3BlcmF0b3IgPSBzZWxmLm1vZHVsZQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIG9wZXJhdG9yLm5lZykKQEAgLTQxNiw2ICs0MjUsNyBAQAogICAgICAgICAgICAgZGVmIF9faWxzaGlmdF9fICAoc2VsZiwgb3RoZXIpOiByZXR1cm4gImlsc2hpZnQiCiAgICAgICAgICAgICBkZWYgX19pbW9kX18gICAgIChzZWxmLCBvdGhlcik6IHJldHVybiAiaW1vZCIKICAgICAgICAgICAgIGRlZiBfX2ltdWxfXyAgICAgKHNlbGYsIG90aGVyKTogcmV0dXJuICJpbXVsIgorICAgICAgICAgICAgZGVmIF9faW1hdG11bF9fICAoc2VsZiwgb3RoZXIpOiByZXR1cm4gImltYXRtdWwiCiAgICAgICAgICAgICBkZWYgX19pb3JfXyAgICAgIChzZWxmLCBvdGhlcik6IHJldHVybiAiaW9yIgogICAgICAgICAgICAgZGVmIF9faXBvd19fICAgICAoc2VsZiwgb3RoZXIpOiByZXR1cm4gImlwb3ciCiAgICAgICAgICAgICBkZWYgX19pcnNoaWZ0X18gIChzZWxmLCBvdGhlcik6IHJldHVybiAiaXJzaGlmdCIKQEAgLTQzMCw2ICs0NDAsNyBAQAogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG9wZXJhdG9yLmlsc2hpZnQgIChjLCA1KSwgImlsc2hpZnQiKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG9wZXJhdG9yLmltb2QgICAgIChjLCA1KSwgImltb2QiKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG9wZXJhdG9yLmltdWwgICAgIChjLCA1KSwgImltdWwiKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG9wZXJhdG9yLmltYXRtdWwgIChjLCA1KSwgImltYXRtdWwiKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG9wZXJhdG9yLmlvciAgICAgIChjLCA1KSwgImlvciIpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwob3BlcmF0b3IuaXBvdyAgICAgKGMsIDUpLCAiaXBvdyIpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwob3BlcmF0b3IuaXJzaGlmdCAgKGMsIDUpLCAiaXJzaGlmdCIpCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X29zLnB5IGIvTGliL3Rlc3QvdGVzdF9vcy5weQppbmRleCAxNTJiYTkzLi5hZmE3YTRhIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X29zLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3Rfb3MucHkKQEAgLTQsNiArNCw3IEBACiAKIGltcG9ydCBvcwogaW1wb3J0IGVycm5vCitpbXBvcnQgZ2V0cGFzcwogaW1wb3J0IHVuaXR0ZXN0CiBpbXBvcnQgd2FybmluZ3MKIGltcG9ydCBzeXMKQEAgLTQwLDkgKzQxLDM1IEBACiAgICAgaW1wb3J0IGZjbnRsCiBleGNlcHQgSW1wb3J0RXJyb3I6CiAgICAgZmNudGwgPSBOb25lCit0cnk6CisgICAgaW1wb3J0IF93aW5hcGkKK2V4Y2VwdCBJbXBvcnRFcnJvcjoKKyAgICBfd2luYXBpID0gTm9uZQordHJ5OgorICAgIGltcG9ydCBncnAKKyAgICBncm91cHMgPSBbZy5ncl9naWQgZm9yIGcgaW4gZ3JwLmdldGdyYWxsKCkgaWYgZ2V0cGFzcy5nZXR1c2VyKCkgaW4gZy5ncl9tZW1dCisgICAgaWYgaGFzYXR0cihvcywgJ2dldGdpZCcpOgorICAgICAgICBwcm9jZXNzX2dpZCA9IG9zLmdldGdpZCgpCisgICAgICAgIGlmIHByb2Nlc3NfZ2lkIG5vdCBpbiBncm91cHM6CisgICAgICAgICAgICBncm91cHMuYXBwZW5kKHByb2Nlc3NfZ2lkKQorZXhjZXB0IEltcG9ydEVycm9yOgorICAgIGdyb3VwcyA9IFtdCit0cnk6CisgICAgaW1wb3J0IHB3ZAorICAgIGFsbF91c2VycyA9IFt1LnB3X3VpZCBmb3IgdSBpbiBwd2QuZ2V0cHdhbGwoKV0KK2V4Y2VwdCBJbXBvcnRFcnJvcjoKKyAgICBhbGxfdXNlcnMgPSBbXQordHJ5OgorICAgIGZyb20gX3Rlc3RjYXBpIGltcG9ydCBJTlRfTUFYLCBQWV9TU0laRV9UX01BWAorZXhjZXB0IEltcG9ydEVycm9yOgorICAgIElOVF9NQVggPSBQWV9TU0laRV9UX01BWCA9IHN5cy5tYXhzaXplCiAKIGZyb20gdGVzdC5zY3JpcHRfaGVscGVyIGltcG9ydCBhc3NlcnRfcHl0aG9uX29rCiAKK3Jvb3RfaW5fcG9zaXggPSBGYWxzZQoraWYgaGFzYXR0cihvcywgJ2dldGV1aWQnKToKKyAgICByb290X2luX3Bvc2l4ID0gKG9zLmdldGV1aWQoKSA9PSAwKQorCiB3aXRoIHdhcm5pbmdzLmNhdGNoX3dhcm5pbmdzKCk6CiAgICAgd2FybmluZ3Muc2ltcGxlZmlsdGVyKCJpZ25vcmUiLCBEZXByZWNhdGlvbldhcm5pbmcpCiAgICAgb3Muc3RhdF9mbG9hdF90aW1lcyhUcnVlKQpAQCAtMTE2LDYgKzE0MywyNiBAQAogICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh0eXBlKHMpLCBieXRlcykKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocywgYiJzcGFtIikKIAorICAgIEBzdXBwb3J0LmNweXRob25fb25seQorICAgICMgU2tpcCB0aGUgdGVzdCBvbiAzMi1iaXQgcGxhdGZvcm1zOiB0aGUgbnVtYmVyIG9mIGJ5dGVzIG11c3QgZml0IGluIGEKKyAgICAjIFB5X3NzaXplX3QgdHlwZQorICAgIEB1bml0dGVzdC5za2lwVW5sZXNzKElOVF9NQVggPCBQWV9TU0laRV9UX01BWCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAibmVlZHMgSU5UX01BWCA8IFBZX1NTSVpFX1RfTUFYIikKKyAgICBAc3VwcG9ydC5iaWdtZW10ZXN0KHNpemU9SU5UX01BWCArIDEwLCBtZW11c2U9MSwgZHJ5X3J1bj1GYWxzZSkKKyAgICBkZWYgdGVzdF9sYXJnZV9yZWFkKHNlbGYsIHNpemUpOgorICAgICAgICB3aXRoIG9wZW4oc3VwcG9ydC5URVNURk4sICJ3YiIpIGFzIGZwOgorICAgICAgICAgICAgZnAud3JpdGUoYid0ZXN0JykKKyAgICAgICAgc2VsZi5hZGRDbGVhbnVwKHN1cHBvcnQudW5saW5rLCBzdXBwb3J0LlRFU1RGTikKKworICAgICAgICAjIElzc3VlICMyMTkzMjogTWFrZSBzdXJlIHRoYXQgb3MucmVhZCgpIGRvZXMgbm90IHJhaXNlIGFuCisgICAgICAgICMgT3ZlcmZsb3dFcnJvciBmb3Igc2l6ZSBsYXJnZXIgdGhhbiBJTlRfTUFYCisgICAgICAgIHdpdGggb3BlbihzdXBwb3J0LlRFU1RGTiwgInJiIikgYXMgZnA6CisgICAgICAgICAgICBkYXRhID0gb3MucmVhZChmcC5maWxlbm8oKSwgc2l6ZSkKKworICAgICAgICAjIFRoZSB0ZXN0IGRvZXMgbm90IHRyeSB0byByZWFkIG1vcmUgdGhhbiAyIEdCIGF0IG9uY2UgYmVjYXVzZSB0aGUKKyAgICAgICAgIyBvcGVyYXRpbmcgc3lzdGVtIGlzIGZyZWUgdG8gcmV0dXJuIGxlc3MgYnl0ZXMgdGhhbiByZXF1ZXN0ZWQuCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZGF0YSwgYid0ZXN0JykKKwogICAgIGRlZiB0ZXN0X3dyaXRlKHNlbGYpOgogICAgICAgICAjIG9zLndyaXRlKCkgYWNjZXB0cyBieXRlcy0gYW5kIGJ1ZmZlci1saWtlIG9iamVjdHMgYnV0IG5vdCBzdHJpbmdzCiAgICAgICAgIGZkID0gb3Mub3BlbihzdXBwb3J0LlRFU1RGTiwgb3MuT19DUkVBVCB8IG9zLk9fV1JPTkxZKQpAQCAtNTMzLDYgKzU4MCwyOCBAQAogICAgICAgICAgICAgb3Muc3RhdChyKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGN0eC5leGNlcHRpb24uZXJybm8sIGVycm5vLkVCQURGKQogCisgICAgZGVmIGNoZWNrX2ZpbGVfYXR0cmlidXRlcyhzZWxmLCByZXN1bHQpOgorICAgICAgICBzZWxmLmFzc2VydFRydWUoaGFzYXR0cihyZXN1bHQsICdzdF9maWxlX2F0dHJpYnV0ZXMnKSkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGlzaW5zdGFuY2UocmVzdWx0LnN0X2ZpbGVfYXR0cmlidXRlcywgaW50KSkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKDAgPD0gcmVzdWx0LnN0X2ZpbGVfYXR0cmlidXRlcyA8PSAweEZGRkZGRkZGKQorCisgICAgQHVuaXR0ZXN0LnNraXBVbmxlc3Moc3lzLnBsYXRmb3JtID09ICJ3aW4zMiIsCisgICAgICAgICAgICAgICAgICAgICAgICAgInN0X2ZpbGVfYXR0cmlidXRlcyBpcyBXaW4zMiBzcGVjaWZpYyIpCisgICAgZGVmIHRlc3RfZmlsZV9hdHRyaWJ1dGVzKHNlbGYpOgorICAgICAgICAjIHRlc3QgZmlsZSBzdF9maWxlX2F0dHJpYnV0ZXMgKEZJTEVfQVRUUklCVVRFX0RJUkVDVE9SWSBub3Qgc2V0KQorICAgICAgICByZXN1bHQgPSBvcy5zdGF0KHNlbGYuZm5hbWUpCisgICAgICAgIHNlbGYuY2hlY2tfZmlsZV9hdHRyaWJ1dGVzKHJlc3VsdCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgKKyAgICAgICAgICAgIHJlc3VsdC5zdF9maWxlX2F0dHJpYnV0ZXMgJiBzdGF0LkZJTEVfQVRUUklCVVRFX0RJUkVDVE9SWSwKKyAgICAgICAgICAgIDApCisKKyAgICAgICAgIyB0ZXN0IGRpcmVjdG9yeSBzdF9maWxlX2F0dHJpYnV0ZXMgKEZJTEVfQVRUUklCVVRFX0RJUkVDVE9SWSBzZXQpCisgICAgICAgIHJlc3VsdCA9IG9zLnN0YXQoc3VwcG9ydC5URVNURk4pCisgICAgICAgIHNlbGYuY2hlY2tfZmlsZV9hdHRyaWJ1dGVzKHJlc3VsdCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgKKyAgICAgICAgICAgIHJlc3VsdC5zdF9maWxlX2F0dHJpYnV0ZXMgJiBzdGF0LkZJTEVfQVRUUklCVVRFX0RJUkVDVE9SWSwKKyAgICAgICAgICAgIHN0YXQuRklMRV9BVFRSSUJVVEVfRElSRUNUT1JZKQorCiBmcm9tIHRlc3QgaW1wb3J0IG1hcHBpbmdfdGVzdHMKIAogY2xhc3MgRW52aXJvblRlc3RzKG1hcHBpbmdfdGVzdHMuQmFzaWNUZXN0TWFwcGluZ1Byb3RvY29sKToKQEAgLTkxMiwxNyArOTgxLDYgQEAKICAgICAgICAgb3MubWFrZWRpcnMocGF0aCwgbW9kZT1tb2RlLCBleGlzdF9vaz1UcnVlKQogICAgICAgICBvcy51bWFzayhvbGRfbWFzaykKIAotICAgIEB1bml0dGVzdC5za2lwVW5sZXNzKGhhc2F0dHIob3MsICdjaG93bicpLCAndGVzdCBuZWVkcyBvcy5jaG93bicpCi0gICAgZGVmIHRlc3RfY2hvd25fdWlkX2dpZF9hcmd1bWVudHNfbXVzdF9iZV9pbmRleChzZWxmKToKLSAgICAgICAgc3RhdCA9IG9zLnN0YXQoc3VwcG9ydC5URVNURk4pCi0gICAgICAgIHVpZCA9IHN0YXQuc3RfdWlkCi0gICAgICAgIGdpZCA9IHN0YXQuc3RfZ2lkCi0gICAgICAgIGZvciB2YWx1ZSBpbiAoLTEuMCwgLTFqLCBkZWNpbWFsLkRlY2ltYWwoLTEpLCBmcmFjdGlvbnMuRnJhY3Rpb24oLTIsIDIpKToKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgb3MuY2hvd24sIHN1cHBvcnQuVEVTVEZOLCB2YWx1ZSwgZ2lkKQotICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBvcy5jaG93biwgc3VwcG9ydC5URVNURk4sIHVpZCwgdmFsdWUpCi0gICAgICAgIHNlbGYuYXNzZXJ0SXNOb25lKG9zLmNob3duKHN1cHBvcnQuVEVTVEZOLCB1aWQsIGdpZCkpCi0gICAgICAgIHNlbGYuYXNzZXJ0SXNOb25lKG9zLmNob3duKHN1cHBvcnQuVEVTVEZOLCAtMSwgLTEpKQotCiAgICAgZGVmIHRlc3RfZXhpc3Rfb2tfc19pc2dpZF9kaXJlY3Rvcnkoc2VsZik6CiAgICAgICAgIHBhdGggPSBvcy5wYXRoLmpvaW4oc3VwcG9ydC5URVNURk4sICdkaXIxJykKICAgICAgICAgU19JU0dJRCA9IHN0YXQuU19JU0dJRApAQCAtOTczLDYgKzEwMzEsNTggQEAKICAgICAgICAgb3MucmVtb3ZlZGlycyhwYXRoKQogCiAKK0B1bml0dGVzdC5za2lwVW5sZXNzKGhhc2F0dHIob3MsICdjaG93bicpLCAiVGVzdCBuZWVkcyBjaG93biIpCitjbGFzcyBDaG93bkZpbGVUZXN0cyh1bml0dGVzdC5UZXN0Q2FzZSk6CisKKyAgICBkZWYgc2V0VXBDbGFzcygpOgorICAgICAgICBvcy5ta2RpcihzdXBwb3J0LlRFU1RGTikKKworICAgIGRlZiB0ZXN0X2Nob3duX3VpZF9naWRfYXJndW1lbnRzX211c3RfYmVfaW5kZXgoc2VsZik6CisgICAgICAgIHN0YXQgPSBvcy5zdGF0KHN1cHBvcnQuVEVTVEZOKQorICAgICAgICB1aWQgPSBzdGF0LnN0X3VpZAorICAgICAgICBnaWQgPSBzdGF0LnN0X2dpZAorICAgICAgICBmb3IgdmFsdWUgaW4gKC0xLjAsIC0xaiwgZGVjaW1hbC5EZWNpbWFsKC0xKSwgZnJhY3Rpb25zLkZyYWN0aW9uKC0yLCAyKSk6CisgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIG9zLmNob3duLCBzdXBwb3J0LlRFU1RGTiwgdmFsdWUsIGdpZCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgb3MuY2hvd24sIHN1cHBvcnQuVEVTVEZOLCB1aWQsIHZhbHVlKQorICAgICAgICBzZWxmLmFzc2VydElzTm9uZShvcy5jaG93bihzdXBwb3J0LlRFU1RGTiwgdWlkLCBnaWQpKQorICAgICAgICBzZWxmLmFzc2VydElzTm9uZShvcy5jaG93bihzdXBwb3J0LlRFU1RGTiwgLTEsIC0xKSkKKworICAgIEB1bml0dGVzdC5za2lwVW5sZXNzKGxlbihncm91cHMpID4gMSwgInRlc3QgbmVlZHMgbW9yZSB0aGFuIG9uZSBncm91cCIpCisgICAgZGVmIHRlc3RfY2hvd24oc2VsZik6CisgICAgICAgIGdpZF8xLCBnaWRfMiA9IGdyb3Vwc1s6Ml0KKyAgICAgICAgdWlkID0gb3Muc3RhdChzdXBwb3J0LlRFU1RGTikuc3RfdWlkCisgICAgICAgIG9zLmNob3duKHN1cHBvcnQuVEVTVEZOLCB1aWQsIGdpZF8xKQorICAgICAgICBnaWQgPSBvcy5zdGF0KHN1cHBvcnQuVEVTVEZOKS5zdF9naWQKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChnaWQsIGdpZF8xKQorICAgICAgICBvcy5jaG93bihzdXBwb3J0LlRFU1RGTiwgdWlkLCBnaWRfMikKKyAgICAgICAgZ2lkID0gb3Muc3RhdChzdXBwb3J0LlRFU1RGTikuc3RfZ2lkCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZ2lkLCBnaWRfMikKKworICAgIEB1bml0dGVzdC5za2lwVW5sZXNzKHJvb3RfaW5fcG9zaXggYW5kIGxlbihhbGxfdXNlcnMpID4gMSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAidGVzdCBuZWVkcyByb290IHByaXZpbGVnZSBhbmQgbW9yZSB0aGFuIG9uZSB1c2VyIikKKyAgICBkZWYgdGVzdF9jaG93bl93aXRoX3Jvb3Qoc2VsZik6CisgICAgICAgIHVpZF8xLCB1aWRfMiA9IGFsbF91c2Vyc1s6Ml0KKyAgICAgICAgZ2lkID0gb3Muc3RhdChzdXBwb3J0LlRFU1RGTikuc3RfZ2lkCisgICAgICAgIG9zLmNob3duKHN1cHBvcnQuVEVTVEZOLCB1aWRfMSwgZ2lkKQorICAgICAgICB1aWQgPSBvcy5zdGF0KHN1cHBvcnQuVEVTVEZOKS5zdF91aWQKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh1aWQsIHVpZF8xKQorICAgICAgICBvcy5jaG93bihzdXBwb3J0LlRFU1RGTiwgdWlkXzIsIGdpZCkKKyAgICAgICAgdWlkID0gb3Muc3RhdChzdXBwb3J0LlRFU1RGTikuc3RfdWlkCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodWlkLCB1aWRfMikKKworICAgIEB1bml0dGVzdC5za2lwVW5sZXNzKG5vdCByb290X2luX3Bvc2l4IGFuZCBsZW4oYWxsX3VzZXJzKSA+IDEsCisgICAgICAgICAgICAgICAgICAgICAgICAgInRlc3QgbmVlZHMgbm9uLXJvb3QgYWNjb3VudCBhbmQgbW9yZSB0aGFuIG9uZSB1c2VyIikKKyAgICBkZWYgdGVzdF9jaG93bl93aXRob3V0X3Blcm1pc3Npb24oc2VsZik6CisgICAgICAgIHVpZF8xLCB1aWRfMiA9IGFsbF91c2Vyc1s6Ml0KKyAgICAgICAgZ2lkID0gb3Muc3RhdChzdXBwb3J0LlRFU1RGTikuc3RfZ2lkCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoUGVybWlzc2lvbkVycm9yKToKKyAgICAgICAgICAgIG9zLmNob3duKHN1cHBvcnQuVEVTVEZOLCB1aWRfMSwgZ2lkKQorICAgICAgICAgICAgb3MuY2hvd24oc3VwcG9ydC5URVNURk4sIHVpZF8yLCBnaWQpCisKKyAgICBkZWYgdGVhckRvd25DbGFzcygpOgorICAgICAgICBvcy5ybWRpcihzdXBwb3J0LlRFU1RGTikKKworCiBjbGFzcyBSZW1vdmVEaXJzVGVzdHModW5pdHRlc3QuVGVzdENhc2UpOgogICAgIGRlZiBzZXRVcChzZWxmKToKICAgICAgICAgb3MubWFrZWRpcnMoc3VwcG9ydC5URVNURk4pCkBAIC0xMzM5LDYgKzE0NDksMTYgQEAKICAgICBkZWYgdGVzdF93cml0ZXYoc2VsZik6CiAgICAgICAgIHNlbGYuY2hlY2sob3Mud3JpdGV2LCBbYidhYmMnXSkKIAorICAgIGRlZiB0ZXN0X2luaGVyaXRhYmxlKHNlbGYpOgorICAgICAgICBzZWxmLmNoZWNrKG9zLmdldF9pbmhlcml0YWJsZSkKKyAgICAgICAgc2VsZi5jaGVjayhvcy5zZXRfaW5oZXJpdGFibGUsIFRydWUpCisKKyAgICBAdW5pdHRlc3Quc2tpcFVubGVzcyhoYXNhdHRyKG9zLCAnZ2V0X2Jsb2NraW5nJyksCisgICAgICAgICAgICAgICAgICAgICAgICAgJ25lZWRzIG9zLmdldF9ibG9ja2luZygpIGFuZCBvcy5zZXRfYmxvY2tpbmcoKScpCisgICAgZGVmIHRlc3RfYmxvY2tpbmcoc2VsZik6CisgICAgICAgIHNlbGYuY2hlY2sob3MuZ2V0X2Jsb2NraW5nKQorICAgICAgICBzZWxmLmNoZWNrKG9zLnNldF9ibG9ja2luZywgVHJ1ZSkKKwogCiBjbGFzcyBMaW5rVGVzdHModW5pdHRlc3QuVGVzdENhc2UpOgogICAgIGRlZiBzZXRVcChzZWxmKToKQEAgLTE3ODYsNiArMTkwNiwzNyBAQAogICAgICAgICAgICAgc2h1dGlsLnJtdHJlZShsZXZlbDEpCiAKIAorQHVuaXR0ZXN0LnNraXBVbmxlc3Moc3lzLnBsYXRmb3JtID09ICJ3aW4zMiIsICJXaW4zMiBzcGVjaWZpYyB0ZXN0cyIpCitjbGFzcyBXaW4zMkp1bmN0aW9uVGVzdHModW5pdHRlc3QuVGVzdENhc2UpOgorICAgIGp1bmN0aW9uID0gJ2p1bmN0aW9udGVzdCcKKyAgICBqdW5jdGlvbl90YXJnZXQgPSBvcy5wYXRoLmRpcm5hbWUob3MucGF0aC5hYnNwYXRoKF9fZmlsZV9fKSkKKworICAgIGRlZiBzZXRVcChzZWxmKToKKyAgICAgICAgYXNzZXJ0IG9zLnBhdGguZXhpc3RzKHNlbGYuanVuY3Rpb25fdGFyZ2V0KQorICAgICAgICBhc3NlcnQgbm90IG9zLnBhdGguZXhpc3RzKHNlbGYuanVuY3Rpb24pCisKKyAgICBkZWYgdGVhckRvd24oc2VsZik6CisgICAgICAgIGlmIG9zLnBhdGguZXhpc3RzKHNlbGYuanVuY3Rpb24pOgorICAgICAgICAgICAgIyBvcy5ybWRpciBkZWxlZ2F0ZXMgdG8gV2luZG93cycgUmVtb3ZlRGlyZWN0b3J5VywKKyAgICAgICAgICAgICMgd2hpY2ggcmVtb3ZlcyBqdW5jdGlvbiBwb2ludHMgc2FmZWx5LgorICAgICAgICAgICAgb3Mucm1kaXIoc2VsZi5qdW5jdGlvbikKKworICAgIGRlZiB0ZXN0X2NyZWF0ZV9qdW5jdGlvbihzZWxmKToKKyAgICAgICAgX3dpbmFwaS5DcmVhdGVKdW5jdGlvbihzZWxmLmp1bmN0aW9uX3RhcmdldCwgc2VsZi5qdW5jdGlvbikKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKG9zLnBhdGguZXhpc3RzKHNlbGYuanVuY3Rpb24pKQorICAgICAgICBzZWxmLmFzc2VydFRydWUob3MucGF0aC5pc2RpcihzZWxmLmp1bmN0aW9uKSkKKworICAgICAgICAjIEp1bmN0aW9ucyBhcmUgbm90IHJlY29nbml6ZWQgYXMgbGlua3MuCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2Uob3MucGF0aC5pc2xpbmsoc2VsZi5qdW5jdGlvbikpCisKKyAgICBkZWYgdGVzdF91bmxpbmtfcmVtb3Zlc19qdW5jdGlvbihzZWxmKToKKyAgICAgICAgX3dpbmFwaS5DcmVhdGVKdW5jdGlvbihzZWxmLmp1bmN0aW9uX3RhcmdldCwgc2VsZi5qdW5jdGlvbikKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKG9zLnBhdGguZXhpc3RzKHNlbGYuanVuY3Rpb24pKQorCisgICAgICAgIG9zLnVubGluayhzZWxmLmp1bmN0aW9uKQorICAgICAgICBzZWxmLmFzc2VydEZhbHNlKG9zLnBhdGguZXhpc3RzKHNlbGYuanVuY3Rpb24pKQorCisKIEBzdXBwb3J0LnNraXBfdW5sZXNzX3N5bWxpbmsKIGNsYXNzIE5vbkxvY2FsU3ltbGlua1Rlc3RzKHVuaXR0ZXN0LlRlc3RDYXNlKToKIApAQCAtMTk5MiwxMSArMjE0MywxMyBAQAogCiAgICAgQGNsYXNzbWV0aG9kCiAgICAgZGVmIHNldFVwQ2xhc3MoY2xzKToKKyAgICAgICAgY2xzLmtleSA9IHN1cHBvcnQudGhyZWFkaW5nX3NldHVwKCkKICAgICAgICAgd2l0aCBvcGVuKHN1cHBvcnQuVEVTVEZOLCAid2IiKSBhcyBmOgogICAgICAgICAgICAgZi53cml0ZShjbHMuREFUQSkKIAogICAgIEBjbGFzc21ldGhvZAogICAgIGRlZiB0ZWFyRG93bkNsYXNzKGNscyk6CisgICAgICAgIHN1cHBvcnQudGhyZWFkaW5nX2NsZWFudXAoKmNscy5rZXkpCiAgICAgICAgIHN1cHBvcnQudW5saW5rKHN1cHBvcnQuVEVTVEZOKQogCiAgICAgZGVmIHNldFVwKHNlbGYpOgpAQCAtMjUyMyw0MSArMjY3NiwyNyBAQAogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG9zLmdldF9pbmhlcml0YWJsZShzbGF2ZV9mZCksIEZhbHNlKQogCiAKLUBzdXBwb3J0LnJlYXBfdGhyZWFkcwotZGVmIHRlc3RfbWFpbigpOgotICAgIHN1cHBvcnQucnVuX3VuaXR0ZXN0KAotICAgICAgICBGaWxlVGVzdHMsCi0gICAgICAgIFN0YXRBdHRyaWJ1dGVUZXN0cywKLSAgICAgICAgRW52aXJvblRlc3RzLAotICAgICAgICBXYWxrVGVzdHMsCi0gICAgICAgIEZ3YWxrVGVzdHMsCi0gICAgICAgIE1ha2VkaXJUZXN0cywKLSAgICAgICAgRGV2TnVsbFRlc3RzLAotICAgICAgICBVUmFuZG9tVGVzdHMsCi0gICAgICAgIEV4ZWNUZXN0cywKLSAgICAgICAgV2luMzJFcnJvclRlc3RzLAotICAgICAgICBUZXN0SW52YWxpZEZELAotICAgICAgICBQb3NpeFVpZEdpZFRlc3RzLAotICAgICAgICBQZXAzODNUZXN0cywKLSAgICAgICAgV2luMzJLaWxsVGVzdHMsCi0gICAgICAgIFdpbjMyTGlzdGRpclRlc3RzLAotICAgICAgICBXaW4zMlN5bWxpbmtUZXN0cywKLSAgICAgICAgTm9uTG9jYWxTeW1saW5rVGVzdHMsCi0gICAgICAgIEZTRW5jb2RpbmdUZXN0cywKLSAgICAgICAgRGV2aWNlRW5jb2RpbmdUZXN0cywKLSAgICAgICAgUGlkVGVzdHMsCi0gICAgICAgIExvZ2luVGVzdHMsCi0gICAgICAgIExpbmtUZXN0cywKLSAgICAgICAgVGVzdFNlbmRmaWxlLAotICAgICAgICBQcm9ncmFtUHJpb3JpdHlUZXN0cywKLSAgICAgICAgRXh0ZW5kZWRBdHRyaWJ1dGVUZXN0cywKLSAgICAgICAgV2luMzJEZXByZWNhdGVkQnl0ZXNBUEksCi0gICAgICAgIFRlcm1zaXplVGVzdHMsCi0gICAgICAgIE9TRXJyb3JUZXN0cywKLSAgICAgICAgUmVtb3ZlRGlyc1Rlc3RzLAotICAgICAgICBDUFVDb3VudFRlc3RzLAotICAgICAgICBGREluaGVyaXRhbmNlVGVzdHMsCi0gICAgKQorQHVuaXR0ZXN0LnNraXBVbmxlc3MoaGFzYXR0cihvcywgJ2dldF9ibG9ja2luZycpLAorICAgICAgICAgICAgICAgICAgICAgJ25lZWRzIG9zLmdldF9ibG9ja2luZygpIGFuZCBvcy5zZXRfYmxvY2tpbmcoKScpCitjbGFzcyBCbG9ja2luZ1Rlc3RzKHVuaXR0ZXN0LlRlc3RDYXNlKToKKyAgICBkZWYgdGVzdF9ibG9ja2luZyhzZWxmKToKKyAgICAgICAgZmQgPSBvcy5vcGVuKF9fZmlsZV9fLCBvcy5PX1JET05MWSkKKyAgICAgICAgc2VsZi5hZGRDbGVhbnVwKG9zLmNsb3NlLCBmZCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChvcy5nZXRfYmxvY2tpbmcoZmQpLCBUcnVlKQorCisgICAgICAgIG9zLnNldF9ibG9ja2luZyhmZCwgRmFsc2UpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwob3MuZ2V0X2Jsb2NraW5nKGZkKSwgRmFsc2UpCisKKyAgICAgICAgb3Muc2V0X2Jsb2NraW5nKGZkLCBUcnVlKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG9zLmdldF9ibG9ja2luZyhmZCksIFRydWUpCisKKworCitjbGFzcyBFeHBvcnRzVGVzdHModW5pdHRlc3QuVGVzdENhc2UpOgorICAgIGRlZiB0ZXN0X29zX2FsbChzZWxmKToKKyAgICAgICAgc2VsZi5hc3NlcnRJbignb3BlbicsIG9zLl9fYWxsX18pCisgICAgICAgIHNlbGYuYXNzZXJ0SW4oJ3dhbGsnLCBvcy5fX2FsbF9fKQorCiAKIGlmIF9fbmFtZV9fID09ICJfX21haW5fXyI6Ci0gICAgdGVzdF9tYWluKCkKKyAgICB1bml0dGVzdC5tYWluKCkKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfcGF0aGxpYi5weSBiL0xpYi90ZXN0L3Rlc3RfcGF0aGxpYi5weQppbmRleCAxMTQyMGUyLi4xYzUzYWI3IDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X3BhdGhsaWIucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9wYXRobGliLnB5CkBAIC00LDEzICs0LDEwIEBACiBpbXBvcnQgZXJybm8KIGltcG9ydCBwYXRobGliCiBpbXBvcnQgcGlja2xlCi1pbXBvcnQgc2h1dGlsCiBpbXBvcnQgc29ja2V0CiBpbXBvcnQgc3RhdAotaW1wb3J0IHN5cwogaW1wb3J0IHRlbXBmaWxlCiBpbXBvcnQgdW5pdHRlc3QKLWZyb20gY29udGV4dGxpYiBpbXBvcnQgY29udGV4dG1hbmFnZXIKIAogZnJvbSB0ZXN0IGltcG9ydCBzdXBwb3J0CiBURVNURk4gPSBzdXBwb3J0LlRFU1RGTgpAQCAtNzQ3LDcgKzc0NCw2IEBACiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoUCgnLy9Tb21lL1NIQVJFL2EvQicpLCBQKCcvL3NvbUUvc2hhcmUvQS9iJykpCiAKICAgICBkZWYgdGVzdF9hc191cmkoc2VsZik6Ci0gICAgICAgIGZyb20gdXJsbGliLnBhcnNlIGltcG9ydCBxdW90ZV9mcm9tX2J5dGVzCiAgICAgICAgIFAgPSBzZWxmLmNscwogICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IpOgogICAgICAgICAgICAgUCgnL2EvYicpLmFzX3VyaSgpCkBAIC0xMjY5LDExICsxMjY1LDU1IEBACiAgICAgICAgIHAgPSBzZWxmLmNscy5jd2QoKQogICAgICAgICBzZWxmLl90ZXN0X2N3ZChwKQogCisgICAgZGVmIF90ZXN0X2hvbWUoc2VsZiwgcCk6CisgICAgICAgIHEgPSBzZWxmLmNscyhvcy5wYXRoLmV4cGFuZHVzZXIoJ34nKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwLCBxKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0cihwKSwgc3RyKHEpKQorICAgICAgICBzZWxmLmFzc2VydElzKHR5cGUocCksIHR5cGUocSkpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShwLmlzX2Fic29sdXRlKCkpCisKKyAgICBkZWYgdGVzdF9ob21lKHNlbGYpOgorICAgICAgICBwID0gc2VsZi5jbHMuaG9tZSgpCisgICAgICAgIHNlbGYuX3Rlc3RfaG9tZShwKQorCisgICAgZGVmIHRlc3Rfc2FtZWZpbGUoc2VsZik6CisgICAgICAgIGZpbGVBX3BhdGggPSBvcy5wYXRoLmpvaW4oQkFTRSwgJ2ZpbGVBJykKKyAgICAgICAgZmlsZUJfcGF0aCA9IG9zLnBhdGguam9pbihCQVNFLCAnZGlyQicsICdmaWxlQicpCisgICAgICAgIHAgPSBzZWxmLmNscyhmaWxlQV9wYXRoKQorICAgICAgICBwcCA9IHNlbGYuY2xzKGZpbGVBX3BhdGgpCisgICAgICAgIHEgPSBzZWxmLmNscyhmaWxlQl9wYXRoKQorICAgICAgICBzZWxmLmFzc2VydFRydWUocC5zYW1lZmlsZShmaWxlQV9wYXRoKSkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHAuc2FtZWZpbGUocHApKQorICAgICAgICBzZWxmLmFzc2VydEZhbHNlKHAuc2FtZWZpbGUoZmlsZUJfcGF0aCkpCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UocC5zYW1lZmlsZShxKSkKKyAgICAgICAgIyBUZXN0IHRoZSBub24tZXhpc3RlbnQgZmlsZSBjYXNlCisgICAgICAgIG5vbl9leGlzdGVudCA9IG9zLnBhdGguam9pbihCQVNFLCAnZm9vJykKKyAgICAgICAgciA9IHNlbGYuY2xzKG5vbl9leGlzdGVudCkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoRmlsZU5vdEZvdW5kRXJyb3IsIHAuc2FtZWZpbGUsIHIpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKEZpbGVOb3RGb3VuZEVycm9yLCBwLnNhbWVmaWxlLCBub25fZXhpc3RlbnQpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKEZpbGVOb3RGb3VuZEVycm9yLCByLnNhbWVmaWxlLCBwKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhGaWxlTm90Rm91bmRFcnJvciwgci5zYW1lZmlsZSwgbm9uX2V4aXN0ZW50KQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhGaWxlTm90Rm91bmRFcnJvciwgci5zYW1lZmlsZSwgcikKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoRmlsZU5vdEZvdW5kRXJyb3IsIHIuc2FtZWZpbGUsIG5vbl9leGlzdGVudCkKKwogICAgIGRlZiB0ZXN0X2VtcHR5X3BhdGgoc2VsZik6CiAgICAgICAgICMgVGhlIGVtcHR5IHBhdGggcG9pbnRzIHRvICcuJwogICAgICAgICBwID0gc2VsZi5jbHMoJycpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocC5zdGF0KCksIG9zLnN0YXQoJy4nKSkKIAorICAgIGRlZiB0ZXN0X2V4cGFuZHVzZXJfY29tbW9uKHNlbGYpOgorICAgICAgICBQID0gc2VsZi5jbHMKKyAgICAgICAgcCA9IFAoJ34nKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHAuZXhwYW5kdXNlcigpLCBQKG9zLnBhdGguZXhwYW5kdXNlcignficpKSkKKyAgICAgICAgcCA9IFAoJ2ZvbycpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocC5leHBhbmR1c2VyKCksIHApCisgICAgICAgIHAgPSBQKCcvficpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocC5leHBhbmR1c2VyKCksIHApCisgICAgICAgIHAgPSBQKCcuLi9+JykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwLmV4cGFuZHVzZXIoKSwgcCkKKyAgICAgICAgcCA9IFAoUCgnJykuYWJzb2x1dGUoKS5hbmNob3IpIC8gJ34nCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocC5leHBhbmR1c2VyKCksIHApCisKICAgICBkZWYgdGVzdF9leGlzdHMoc2VsZik6CiAgICAgICAgIFAgPSBzZWxmLmNscwogICAgICAgICBwID0gUChCQVNFKQpAQCAtMTMwMSw2ICsxMzQxLDIzIEBACiAgICAgICAgICAgICBzZWxmLmFzc2VydElzSW5zdGFuY2UoZiwgaW8uUmF3SU9CYXNlKQogICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChmLnJlYWQoKS5zdHJpcCgpLCBiInRoaXMgaXMgZmlsZSBBIikKIAorICAgIGRlZiB0ZXN0X3JlYWRfd3JpdGVfYnl0ZXMoc2VsZik6CisgICAgICAgIHAgPSBzZWxmLmNscyhCQVNFKQorICAgICAgICAocCAvICdmaWxlQScpLndyaXRlX2J5dGVzKGInYWJjZGVmZycpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoKHAgLyAnZmlsZUEnKS5yZWFkX2J5dGVzKCksIGInYWJjZGVmZycpCisgICAgICAgICMgY2hlY2sgdGhhdCB0cnlpbmcgdG8gd3JpdGUgc3RyIGRvZXMgbm90IHRydW5jYXRlIHRoZSBmaWxlCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgKHAgLyAnZmlsZUEnKS53cml0ZV9ieXRlcywgJ3NvbWVzdHInKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKChwIC8gJ2ZpbGVBJykucmVhZF9ieXRlcygpLCBiJ2FiY2RlZmcnKQorCisgICAgZGVmIHRlc3RfcmVhZF93cml0ZV90ZXh0KHNlbGYpOgorICAgICAgICBwID0gc2VsZi5jbHMoQkFTRSkKKyAgICAgICAgKHAgLyAnZmlsZUEnKS53cml0ZV90ZXh0KCfDpGJjZGVmZycsIGVuY29kaW5nPSdsYXRpbi0xJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgocCAvICdmaWxlQScpLnJlYWRfdGV4dCgKKyAgICAgICAgICAgIGVuY29kaW5nPSd1dGYtOCcsIGVycm9ycz0naWdub3JlJyksICdiY2RlZmcnKQorICAgICAgICAjIGNoZWNrIHRoYXQgdHJ5aW5nIHRvIHdyaXRlIGJ5dGVzIGRvZXMgbm90IHRydW5jYXRlIHRoZSBmaWxlCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgKHAgLyAnZmlsZUEnKS53cml0ZV90ZXh0LCBiJ3NvbWVieXRlcycpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoKHAgLyAnZmlsZUEnKS5yZWFkX3RleHQoZW5jb2Rpbmc9J2xhdGluLTEnKSwgJ8OkYmNkZWZnJykKKwogICAgIGRlZiB0ZXN0X2l0ZXJkaXIoc2VsZik6CiAgICAgICAgIFAgPSBzZWxmLmNscwogICAgICAgICBwID0gUChCQVNFKQpAQCAtMTYwNCw2ICsxNjYxLDU5IEBACiAgICAgICAgICMgdGhlIHBhcmVudCdzIHBlcm1pc3Npb25zIGZvbGxvdyB0aGUgZGVmYXVsdCBwcm9jZXNzIHNldHRpbmdzCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RhdC5TX0lNT0RFKHAucGFyZW50LnN0YXQoKS5zdF9tb2RlKSwgbW9kZSkKIAorICAgIGRlZiB0ZXN0X21rZGlyX2V4aXN0X29rKHNlbGYpOgorICAgICAgICBwID0gc2VsZi5jbHMoQkFTRSwgJ2RpckInKQorICAgICAgICBzdF9jdGltZV9maXJzdCA9IHAuc3RhdCgpLnN0X2N0aW1lCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShwLmV4aXN0cygpKQorICAgICAgICBzZWxmLmFzc2VydFRydWUocC5pc19kaXIoKSkKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhGaWxlRXhpc3RzRXJyb3IpIGFzIGNtOgorICAgICAgICAgICAgcC5ta2RpcigpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY20uZXhjZXB0aW9uLmVycm5vLCBlcnJuby5FRVhJU1QpCisgICAgICAgIHAubWtkaXIoZXhpc3Rfb2s9VHJ1ZSkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHAuZXhpc3RzKCkpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocC5zdGF0KCkuc3RfY3RpbWUsIHN0X2N0aW1lX2ZpcnN0KQorCisgICAgZGVmIHRlc3RfbWtkaXJfZXhpc3Rfb2tfd2l0aF9wYXJlbnQoc2VsZik6CisgICAgICAgIHAgPSBzZWxmLmNscyhCQVNFLCAnZGlyQycpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShwLmV4aXN0cygpKQorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKEZpbGVFeGlzdHNFcnJvcikgYXMgY206CisgICAgICAgICAgICBwLm1rZGlyKCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjbS5leGNlcHRpb24uZXJybm8sIGVycm5vLkVFWElTVCkKKyAgICAgICAgcCA9IHAgLyAnbmV3ZGlyQycKKyAgICAgICAgcC5ta2RpcihwYXJlbnRzPVRydWUpCisgICAgICAgIHN0X2N0aW1lX2ZpcnN0ID0gcC5zdGF0KCkuc3RfY3RpbWUKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHAuZXhpc3RzKCkpCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoRmlsZUV4aXN0c0Vycm9yKSBhcyBjbToKKyAgICAgICAgICAgIHAubWtkaXIocGFyZW50cz1UcnVlKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNtLmV4Y2VwdGlvbi5lcnJubywgZXJybm8uRUVYSVNUKQorICAgICAgICBwLm1rZGlyKHBhcmVudHM9VHJ1ZSwgZXhpc3Rfb2s9VHJ1ZSkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHAuZXhpc3RzKCkpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocC5zdGF0KCkuc3RfY3RpbWUsIHN0X2N0aW1lX2ZpcnN0KQorCisgICAgZGVmIHRlc3RfbWtkaXJfd2l0aF9jaGlsZF9maWxlKHNlbGYpOgorICAgICAgICBwID0gc2VsZi5jbHMoQkFTRSwgJ2RpckInLCAnZmlsZUInKQorICAgICAgICBzZWxmLmFzc2VydFRydWUocC5leGlzdHMoKSkKKyAgICAgICAgIyBBbiBleGNlcHRpb24gaXMgcmFpc2VkIHdoZW4gdGhlIGxhc3QgcGF0aCBjb21wb25lbnQgaXMgYW4gZXhpc3RpbmcKKyAgICAgICAgIyByZWd1bGFyIGZpbGUsIHJlZ2FyZGxlc3Mgb2Ygd2hldGhlciBleGlzdF9vayBpcyB0cnVlIG9yIG5vdC4KKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhGaWxlRXhpc3RzRXJyb3IpIGFzIGNtOgorICAgICAgICAgICAgcC5ta2RpcihwYXJlbnRzPVRydWUpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY20uZXhjZXB0aW9uLmVycm5vLCBlcnJuby5FRVhJU1QpCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoRmlsZUV4aXN0c0Vycm9yKSBhcyBjbToKKyAgICAgICAgICAgIHAubWtkaXIocGFyZW50cz1UcnVlLCBleGlzdF9vaz1UcnVlKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNtLmV4Y2VwdGlvbi5lcnJubywgZXJybm8uRUVYSVNUKQorCisgICAgZGVmIHRlc3RfbWtkaXJfbm9fcGFyZW50c19maWxlKHNlbGYpOgorICAgICAgICBwID0gc2VsZi5jbHMoQkFTRSwgJ2ZpbGVBJykKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHAuZXhpc3RzKCkpCisgICAgICAgICMgQW4gZXhjZXB0aW9uIGlzIHJhaXNlZCB3aGVuIHRoZSBsYXN0IHBhdGggY29tcG9uZW50IGlzIGFuIGV4aXN0aW5nCisgICAgICAgICMgcmVndWxhciBmaWxlLCByZWdhcmRsZXNzIG9mIHdoZXRoZXIgZXhpc3Rfb2sgaXMgdHJ1ZSBvciBub3QuCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoRmlsZUV4aXN0c0Vycm9yKSBhcyBjbToKKyAgICAgICAgICAgIHAubWtkaXIoKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNtLmV4Y2VwdGlvbi5lcnJubywgZXJybm8uRUVYSVNUKQorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKEZpbGVFeGlzdHNFcnJvcikgYXMgY206CisgICAgICAgICAgICBwLm1rZGlyKGV4aXN0X29rPVRydWUpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY20uZXhjZXB0aW9uLmVycm5vLCBlcnJuby5FRVhJU1QpCisKICAgICBAd2l0aF9zeW1saW5rcwogICAgIGRlZiB0ZXN0X3N5bWxpbmtfdG8oc2VsZik6CiAgICAgICAgIFAgPSBzZWxmLmNscyhCQVNFKQpAQCAtMTg0Niw3ICsxOTU2LDYgQEAKICAgICBAd2l0aF9zeW1saW5rcwogICAgIGRlZiB0ZXN0X3Jlc29sdmVfbG9vcChzZWxmKToKICAgICAgICAgIyBMb29wIGRldGVjdGlvbiBmb3IgYnJva2VuIHN5bWxpbmtzIHVuZGVyIFBPU0lYCi0gICAgICAgIFAgPSBzZWxmLmNscwogICAgICAgICAjIExvb3BzIHdpdGggcmVsYXRpdmUgc3ltbGlua3MKICAgICAgICAgb3Muc3ltbGluaygnbGlua1gvaW5zaWRlJywgam9pbignbGlua1gnKSkKICAgICAgICAgc2VsZi5fY2hlY2tfc3ltbGlua19sb29wKEJBU0UsICdsaW5rWCcpCkBAIC0xODc4LDYgKzE5ODcsNDggQEAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChnaXZlbiwgZXhwZWN0KQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNldChwLnJnbG9iKCJGSUxFZCoiKSksIHNldCgpKQogCisgICAgZGVmIHRlc3RfZXhwYW5kdXNlcihzZWxmKToKKyAgICAgICAgUCA9IHNlbGYuY2xzCisgICAgICAgIHN1cHBvcnQuaW1wb3J0X21vZHVsZSgncHdkJykKKyAgICAgICAgaW1wb3J0IHB3ZAorICAgICAgICBwd2RlbnQgPSBwd2QuZ2V0cHd1aWQob3MuZ2V0dWlkKCkpCisgICAgICAgIHVzZXJuYW1lID0gcHdkZW50LnB3X25hbWUKKyAgICAgICAgdXNlcmhvbWUgPSBwd2RlbnQucHdfZGlyLnJzdHJpcCgnLycpCisgICAgICAgICMgZmluZCBhcmJpdHJhcnkgZGlmZmVyZW50IHVzZXIgKGlmIGV4aXN0cykKKyAgICAgICAgZm9yIHB3ZGVudCBpbiBwd2QuZ2V0cHdhbGwoKToKKyAgICAgICAgICAgIG90aGVybmFtZSA9IHB3ZGVudC5wd19uYW1lCisgICAgICAgICAgICBvdGhlcmhvbWUgPSBwd2RlbnQucHdfZGlyLnJzdHJpcCgnLycpCisgICAgICAgICAgICBpZiBvdGhlcm5hbWUgIT0gdXNlcm5hbWUgYW5kIG90aGVyaG9tZToKKyAgICAgICAgICAgICAgICBicmVhaworCisgICAgICAgIHAxID0gUCgnfi9Eb2N1bWVudHMnKQorICAgICAgICBwMiA9IFAoJ34nICsgdXNlcm5hbWUgKyAnL0RvY3VtZW50cycpCisgICAgICAgIHAzID0gUCgnficgKyBvdGhlcm5hbWUgKyAnL0RvY3VtZW50cycpCisgICAgICAgIHA0ID0gUCgnLi4vficgKyB1c2VybmFtZSArICcvRG9jdW1lbnRzJykKKyAgICAgICAgcDUgPSBQKCcvficgKyB1c2VybmFtZSArICcvRG9jdW1lbnRzJykKKyAgICAgICAgcDYgPSBQKCcnKQorICAgICAgICBwNyA9IFAoJ35mYWtldXNlci9Eb2N1bWVudHMnKQorCisgICAgICAgIHdpdGggc3VwcG9ydC5FbnZpcm9ubWVudFZhckd1YXJkKCkgYXMgZW52OgorICAgICAgICAgICAgZW52LnBvcCgnSE9NRScsIE5vbmUpCisKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocDEuZXhwYW5kdXNlcigpLCBQKHVzZXJob21lKSAvICdEb2N1bWVudHMnKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwMi5leHBhbmR1c2VyKCksIFAodXNlcmhvbWUpIC8gJ0RvY3VtZW50cycpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHAzLmV4cGFuZHVzZXIoKSwgUChvdGhlcmhvbWUpIC8gJ0RvY3VtZW50cycpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHA0LmV4cGFuZHVzZXIoKSwgcDQpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHA1LmV4cGFuZHVzZXIoKSwgcDUpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHA2LmV4cGFuZHVzZXIoKSwgcDYpCisgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhSdW50aW1lRXJyb3IsIHA3LmV4cGFuZHVzZXIpCisKKyAgICAgICAgICAgIGVudlsnSE9NRSddID0gJy90bXAnCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHAxLmV4cGFuZHVzZXIoKSwgUCgnL3RtcC9Eb2N1bWVudHMnKSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocDIuZXhwYW5kdXNlcigpLCBQKHVzZXJob21lKSAvICdEb2N1bWVudHMnKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwMy5leHBhbmR1c2VyKCksIFAob3RoZXJob21lKSAvICdEb2N1bWVudHMnKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwNC5leHBhbmR1c2VyKCksIHA0KQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwNS5leHBhbmR1c2VyKCksIHA1KQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwNi5leHBhbmR1c2VyKCksIHA2KQorICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoUnVudGltZUVycm9yLCBwNy5leHBhbmR1c2VyKQorCiAKIEBvbmx5X250CiBjbGFzcyBXaW5kb3dzUGF0aFRlc3QoX0Jhc2VQYXRoVGVzdCwgdW5pdHRlc3QuVGVzdENhc2UpOgpAQCAtMTg5Myw2ICsyMDQ0LDYxIEBACiAgICAgICAgIHAgPSBQKEJBU0UsICJkaXJDIikKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZXQocC5yZ2xvYigiRklMRWQiKSksIHsgUChCQVNFLCAiZGlyQy9kaXJEL2ZpbGVEIikgfSkKIAorICAgIGRlZiB0ZXN0X2V4cGFuZHVzZXIoc2VsZik6CisgICAgICAgIFAgPSBzZWxmLmNscworICAgICAgICB3aXRoIHN1cHBvcnQuRW52aXJvbm1lbnRWYXJHdWFyZCgpIGFzIGVudjoKKyAgICAgICAgICAgIGVudi5wb3AoJ0hPTUUnLCBOb25lKQorICAgICAgICAgICAgZW52LnBvcCgnVVNFUlBST0ZJTEUnLCBOb25lKQorICAgICAgICAgICAgZW52LnBvcCgnSE9NRVBBVEgnLCBOb25lKQorICAgICAgICAgICAgZW52LnBvcCgnSE9NRURSSVZFJywgTm9uZSkKKyAgICAgICAgICAgIGVudlsnVVNFUk5BTUUnXSA9ICdhbGljZScKKworICAgICAgICAgICAgIyB0ZXN0IHRoYXQgdGhlIHBhdGggcmV0dXJucyB1bmNoYW5nZWQKKyAgICAgICAgICAgIHAxID0gUCgnfi9NeSBEb2N1bWVudHMnKQorICAgICAgICAgICAgcDIgPSBQKCd+YWxpY2UvTXkgRG9jdW1lbnRzJykKKyAgICAgICAgICAgIHAzID0gUCgnfmJvYi9NeSBEb2N1bWVudHMnKQorICAgICAgICAgICAgcDQgPSBQKCcvfi9NeSBEb2N1bWVudHMnKQorICAgICAgICAgICAgcDUgPSBQKCdkOn4vTXkgRG9jdW1lbnRzJykKKyAgICAgICAgICAgIHA2ID0gUCgnJykKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFJ1bnRpbWVFcnJvciwgcDEuZXhwYW5kdXNlcikKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFJ1bnRpbWVFcnJvciwgcDIuZXhwYW5kdXNlcikKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFJ1bnRpbWVFcnJvciwgcDMuZXhwYW5kdXNlcikKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocDQuZXhwYW5kdXNlcigpLCBwNCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocDUuZXhwYW5kdXNlcigpLCBwNSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocDYuZXhwYW5kdXNlcigpLCBwNikKKworICAgICAgICAgICAgZGVmIGNoZWNrKCk6CisgICAgICAgICAgICAgICAgZW52LnBvcCgnVVNFUk5BTUUnLCBOb25lKQorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocDEuZXhwYW5kdXNlcigpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUCgnQzovVXNlcnMvYWxpY2UvTXkgRG9jdW1lbnRzJykpCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoS2V5RXJyb3IsIHAyLmV4cGFuZHVzZXIpCisgICAgICAgICAgICAgICAgZW52WydVU0VSTkFNRSddID0gJ2FsaWNlJworICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocDIuZXhwYW5kdXNlcigpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUCgnQzovVXNlcnMvYWxpY2UvTXkgRG9jdW1lbnRzJykpCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwMy5leHBhbmR1c2VyKCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQKCdDOi9Vc2Vycy9ib2IvTXkgRG9jdW1lbnRzJykpCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwNC5leHBhbmR1c2VyKCksIHA0KQorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocDUuZXhwYW5kdXNlcigpLCBwNSkKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHA2LmV4cGFuZHVzZXIoKSwgcDYpCisKKyAgICAgICAgICAgICMgdGVzdCB0aGUgZmlyc3QgbG9va3VwIGtleSBpbiB0aGUgZW52IHZhcnMKKyAgICAgICAgICAgIGVudlsnSE9NRSddID0gJ0M6XFxVc2Vyc1xcYWxpY2UnCisgICAgICAgICAgICBjaGVjaygpCisKKyAgICAgICAgICAgICMgdGVzdCB0aGF0IEhPTUVQQVRIIGlzIGF2YWlsYWJsZSBpbnN0ZWFkCisgICAgICAgICAgICBlbnYucG9wKCdIT01FJywgTm9uZSkKKyAgICAgICAgICAgIGVudlsnSE9NRVBBVEgnXSA9ICdDOlxcVXNlcnNcXGFsaWNlJworICAgICAgICAgICAgY2hlY2soKQorCisgICAgICAgICAgICBlbnZbJ0hPTUVEUklWRSddID0gJ0M6XFwnCisgICAgICAgICAgICBlbnZbJ0hPTUVQQVRIJ10gPSAnVXNlcnNcXGFsaWNlJworICAgICAgICAgICAgY2hlY2soKQorCisgICAgICAgICAgICBlbnYucG9wKCdIT01FRFJJVkUnLCBOb25lKQorICAgICAgICAgICAgZW52LnBvcCgnSE9NRVBBVEgnLCBOb25lKQorICAgICAgICAgICAgZW52WydVU0VSUFJPRklMRSddID0gJ0M6XFxVc2Vyc1xcYWxpY2UnCisgICAgICAgICAgICBjaGVjaygpCisKIAogaWYgX19uYW1lX18gPT0gIl9fbWFpbl9fIjoKICAgICB1bml0dGVzdC5tYWluKCkKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfcGtndXRpbC5weSBiL0xpYi90ZXN0L3Rlc3RfcGtndXRpbC5weQppbmRleCBlMGM4NjM1ZGUuLjU3ZWJmMWYgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfcGtndXRpbC5weQorKysgYi9MaWIvdGVzdC90ZXN0X3BrZ3V0aWwucHkKQEAgLTEwNCw2ICsxMDQsOSBAQAogY2xhc3MgUGtndXRpbFBFUDMwMlRlc3RzKHVuaXR0ZXN0LlRlc3RDYXNlKToKIAogICAgIGNsYXNzIE15VGVzdExvYWRlcihvYmplY3QpOgorICAgICAgICBkZWYgY3JlYXRlX21vZHVsZShzZWxmLCBzcGVjKToKKyAgICAgICAgICAgIHJldHVybiBOb25lCisKICAgICAgICAgZGVmIGV4ZWNfbW9kdWxlKHNlbGYsIG1vZCk6CiAgICAgICAgICAgICAjIENvdW50IGhvdyBtYW55IHRpbWVzIHRoZSBtb2R1bGUgaXMgcmVsb2FkZWQKICAgICAgICAgICAgIG1vZC5fX2RpY3RfX1snbG9hZHMnXSA9IG1vZC5fX2RpY3RfXy5nZXQoJ2xvYWRzJywgMCkgKyAxCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X3BsYXRmb3JtLnB5IGIvTGliL3Rlc3QvdGVzdF9wbGF0Zm9ybS5weQppbmRleCBiM2RlNDNiLi5lZGVkYmRiIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X3BsYXRmb3JtLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfcGxhdGZvcm0ucHkKQEAgLTMwNyw3ICszMDcsNyBAQAogICAgICAgICAgICAgd2l0aCBtb2NrLnBhdGNoKCdwbGF0Zm9ybS5fVU5JWENPTkZESVInLCB0ZW1wZGlyKToKICAgICAgICAgICAgICAgICBkaXN0bmFtZSwgdmVyc2lvbiwgZGlzdGlkID0gcGxhdGZvcm0ubGludXhfZGlzdHJpYnV0aW9uKCkKIAotICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkaXN0bmFtZSwgJ0ZlZG9yYScpCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkaXN0bmFtZSwgJ0ZlZG9yYScpCiAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHZlcnNpb24sICcxOScpCiAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRpc3RpZCwgJ1NjaHJceGY2ZGluZ2VyXHUyMDE5cyBDYXQnKQogCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X3BvcGxpYi5weSBiL0xpYi90ZXN0L3Rlc3RfcG9wbGliLnB5CmluZGV4IDhhM2M5ZjQuLjE0YTUxOWQgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfcG9wbGliLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfcG9wbGliLnB5CkBAIC0zNDUsMjMgKzM0NSwxOCBAQAogCiAKIGlmIFNVUFBPUlRTX1NTTDoKKyAgICBmcm9tIHRlc3QudGVzdF9mdHBsaWIgaW1wb3J0IFNTTENvbm5lY3Rpb24KIAotICAgIGNsYXNzIER1bW15UE9QM19TU0xIYW5kbGVyKER1bW15UE9QM0hhbmRsZXIpOgorICAgIGNsYXNzIER1bW15UE9QM19TU0xIYW5kbGVyKFNTTENvbm5lY3Rpb24sIER1bW15UE9QM0hhbmRsZXIpOgogCiAgICAgICAgIGRlZiBfX2luaXRfXyhzZWxmLCBjb25uKToKICAgICAgICAgICAgIGFzeW5jaGF0LmFzeW5jX2NoYXQuX19pbml0X18oc2VsZiwgY29ubikKLSAgICAgICAgICAgIHNzbF9zb2NrZXQgPSBzc2wud3JhcF9zb2NrZXQoc2VsZi5zb2NrZXQsIGNlcnRmaWxlPUNFUlRGSUxFLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VydmVyX3NpZGU9VHJ1ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvX2hhbmRzaGFrZV9vbl9jb25uZWN0PUZhbHNlKQotICAgICAgICAgICAgc2VsZi5kZWxfY2hhbm5lbCgpCi0gICAgICAgICAgICBzZWxmLnNldF9zb2NrZXQoc3NsX3NvY2tldCkKLSAgICAgICAgICAgICMgTXVzdCB0cnkgaGFuZHNoYWtlIGJlZm9yZSBjYWxsaW5nIHB1c2goKQotICAgICAgICAgICAgc2VsZi50bHNfYWN0aXZlID0gVHJ1ZQotICAgICAgICAgICAgc2VsZi50bHNfc3RhcnRpbmcgPSBUcnVlCi0gICAgICAgICAgICBzZWxmLl9kb190bHNfaGFuZHNoYWtlKCkKKyAgICAgICAgICAgIHNlbGYuc2VjdXJlX2Nvbm5lY3Rpb24oKQogICAgICAgICAgICAgc2VsZi5zZXRfdGVybWluYXRvcihiIlxyXG4iKQogICAgICAgICAgICAgc2VsZi5pbl9idWZmZXIgPSBbXQogICAgICAgICAgICAgc2VsZi5wdXNoKCcrT0sgZHVtbXkgcG9wMyBzZXJ2ZXIgcmVhZHkuIDx0aW1lc3RhbXA+JykKKyAgICAgICAgICAgIHNlbGYudGxzX2FjdGl2ZSA9IFRydWUKKyAgICAgICAgICAgIHNlbGYudGxzX3N0YXJ0aW5nID0gRmFsc2UKIAogCiBAcmVxdWlyZXNfc3NsCkBAIC00NTIsNyArNDQ3LDcgQEAKICAgICAgICAgZGVsIHNlbGYudGhyZWFkICAjIENsZWFyIG91dCBhbnkgZGFuZ2xpbmcgVGhyZWFkIG9iamVjdHMuCiAKICAgICBkZWYgc2VydmVyKHNlbGYsIGV2dCwgc2Vydik6Ci0gICAgICAgIHNlcnYubGlzdGVuKDUpCisgICAgICAgIHNlcnYubGlzdGVuKCkKICAgICAgICAgZXZ0LnNldCgpCiAgICAgICAgIHRyeToKICAgICAgICAgICAgIGNvbm4sIGFkZHIgPSBzZXJ2LmFjY2VwdCgpCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X3Bvc2l4LnB5IGIvTGliL3Rlc3QvdGVzdF9wb3NpeC5weQppbmRleCA3MmZkZDE2Li5mMzdmMmRlIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X3Bvc2l4LnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfcG9zaXgucHkKQEAgLTksNyArOSw2IEBACiBpbXBvcnQgc3lzCiBpbXBvcnQgdGltZQogaW1wb3J0IG9zCi1pbXBvcnQgZmNudGwKIGltcG9ydCBwbGF0Zm9ybQogaW1wb3J0IHB3ZAogaW1wb3J0IHNodXRpbApAQCAtMzU1LDcgKzM1NCw3IEBACiAgICAgZGVmIHRlc3Rfb3NjbG9leGVjKHNlbGYpOgogICAgICAgICBmZCA9IG9zLm9wZW4oc3VwcG9ydC5URVNURk4sIG9zLk9fUkRPTkxZfG9zLk9fQ0xPRVhFQykKICAgICAgICAgc2VsZi5hZGRDbGVhbnVwKG9zLmNsb3NlLCBmZCkKLSAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGZjbnRsLmZjbnRsKGZkLCBmY250bC5GX0dFVEZEKSAmIGZjbnRsLkZEX0NMT0VYRUMpCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2Uob3MuZ2V0X2luaGVyaXRhYmxlKGZkKSkKIAogICAgIEB1bml0dGVzdC5za2lwVW5sZXNzKGhhc2F0dHIocG9zaXgsICdPX0VYTE9DSycpLAogICAgICAgICAgICAgICAgICAgICAgICAgICd0ZXN0IG5lZWRzIHBvc2l4Lk9fRVhMT0NLJykKQEAgLTYwNSw4ICs2MDQsOCBAQAogICAgICAgICBzZWxmLmFkZENsZWFudXAob3MuY2xvc2UsIHcpCiAgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2Uob3MuZ2V0X2luaGVyaXRhYmxlKHIpKQogICAgICAgICBzZWxmLmFzc2VydEZhbHNlKG9zLmdldF9pbmhlcml0YWJsZSh3KSkKLSAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGZjbnRsLmZjbnRsKHIsIGZjbnRsLkZfR0VURkwpICYgb3MuT19OT05CTE9DSykKLSAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGZjbnRsLmZjbnRsKHcsIGZjbnRsLkZfR0VURkwpICYgb3MuT19OT05CTE9DSykKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShvcy5nZXRfYmxvY2tpbmcocikpCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2Uob3MuZ2V0X2Jsb2NraW5nKHcpKQogICAgICAgICAjIHRyeSByZWFkaW5nIGZyb20gYW4gZW1wdHkgcGlwZTogdGhpcyBzaG91bGQgZmFpbCwgbm90IGJsb2NrCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKE9TRXJyb3IsIG9zLnJlYWQsIHIsIDEpCiAgICAgICAgICMgdHJ5IGEgd3JpdGUgYmlnIGVub3VnaCB0byBmaWxsLXVwIHRoZSBwaXBlOiB0aGlzIHNob3VsZCBlaXRoZXIKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfcG9zaXhwYXRoLnB5IGIvTGliL3Rlc3QvdGVzdF9wb3NpeHBhdGgucHkKaW5kZXggZWMyZmJhZS4uYjI0NTQ3OTQgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfcG9zaXhwYXRoLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfcG9zaXhwYXRoLnB5CkBAIC01NywxOCArNTcsNiBAQAogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHBvc2l4cGF0aC5qb2luKGIiL2Zvby8iLCBiImJhci8iLCBiImJhei8iKSwKICAgICAgICAgICAgICAgICAgICAgICAgICBiIi9mb28vYmFyL2Jhei8iKQogCi0gICAgZGVmIHRlc3Rfam9pbl9lcnJvcnMoc2VsZik6Ci0gICAgICAgICMgQ2hlY2sgcG9zaXhwYXRoLmpvaW4gcmFpc2VzIGZyaWVuZGx5IFR5cGVFcnJvcnMuCi0gICAgICAgIGVycm1zZyA9ICJDYW4ndCBtaXggc3RyaW5ncyBhbmQgYnl0ZXMgaW4gcGF0aCBjb21wb25lbnRzIgotICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgoVHlwZUVycm9yLCBlcnJtc2cpOgotICAgICAgICAgICAgcG9zaXhwYXRoLmpvaW4oYidieXRlcycsICdzdHInKQotICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgoVHlwZUVycm9yLCBlcnJtc2cpOgotICAgICAgICAgICAgcG9zaXhwYXRoLmpvaW4oJ3N0cicsIGInYnl0ZXMnKQotICAgICAgICAjIHJlZ3Jlc3Npb24sIHNlZSAjMTUzNzcKLSAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IpIGFzIGNtOgotICAgICAgICAgICAgcG9zaXhwYXRoLmpvaW4oTm9uZSwgJ3N0cicpCi0gICAgICAgIHNlbGYuYXNzZXJ0Tm90RXF1YWwoY20uZXhjZXB0aW9uLmFyZ3NbMF0sIGVycm1zZykKLQogICAgIGRlZiB0ZXN0X3NwbGl0KHNlbGYpOgogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHBvc2l4cGF0aC5zcGxpdCgiL2Zvby9iYXIiKSwgKCIvZm9vIiwgImJhciIpKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHBvc2l4cGF0aC5zcGxpdCgiLyIpLCAoIi8iLCAiIikpCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X3BwcmludC5weSBiL0xpYi90ZXN0L3Rlc3RfcHByaW50LnB5CmluZGV4IGFkNmE3YTEuLmMwNTY4ODAgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfcHByaW50LnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfcHByaW50LnB5CkBAIC0xOTIsMTAgKzE5Miw1MiBAQAogICAgICAgICBvID0gW28xLCBvMl0KICAgICAgICAgZXhwZWN0ZWQgPSAiIiJcCiBbICAgWzAsIDEsIDIsIDMsIDQsIDUsIDYsIDcsIDgsIDldLAorICAgIHsnZmlyc3QnOiAxLCAnc2Vjb25kJzogMiwgJ3RoaXJkJzogM31dIiIiCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocHByaW50LnBmb3JtYXQobywgaW5kZW50PTQsIHdpZHRoPTQyKSwgZXhwZWN0ZWQpCisgICAgICAgIGV4cGVjdGVkID0gIiIiXAorWyAgIFswLCAxLCAyLCAzLCA0LCA1LCA2LCA3LCA4LCA5XSwKICAgICB7ICAgJ2ZpcnN0JzogMSwKICAgICAgICAgJ3NlY29uZCc6IDIsCiAgICAgICAgICd0aGlyZCc6IDN9XSIiIgotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHBwcmludC5wZm9ybWF0KG8sIGluZGVudD00LCB3aWR0aD00MiksIGV4cGVjdGVkKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHBwcmludC5wZm9ybWF0KG8sIGluZGVudD00LCB3aWR0aD00MSksIGV4cGVjdGVkKQorCisgICAgZGVmIHRlc3Rfd2lkdGgoc2VsZik6CisgICAgICAgIGV4cGVjdGVkID0gIiIiXAorW1tbW1tbMSwgMiwgM10sCisgICAgICcxIDInXV1dXSwKKyB7MTogWzEsIDIsIDNdLAorICAyOiBbMTIsIDM0XX0sCisgJ2FiYyBkZWYgZ2hpJywKKyAoJ2FiIGNkIGVmJywpLAorIHNldDIoezEsIDIzfSksCisgW1tbW1sxLCAyLCAzXSwKKyAgICAgJzEgMiddXV1dXSIiIgorICAgICAgICBvID0gZXZhbChleHBlY3RlZCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwcHJpbnQucGZvcm1hdChvLCB3aWR0aD0xNSksIGV4cGVjdGVkKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHBwcmludC5wZm9ybWF0KG8sIHdpZHRoPTE2KSwgZXhwZWN0ZWQpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocHByaW50LnBmb3JtYXQobywgd2lkdGg9MjUpLCBleHBlY3RlZCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwcHJpbnQucGZvcm1hdChvLCB3aWR0aD0xNCksICIiIlwKK1tbW1tbWzEsCisgICAgICAyLAorICAgICAgM10sCisgICAgICcxICcKKyAgICAgJzInXV1dXSwKKyB7MTogWzEsCisgICAgICAyLAorICAgICAgM10sCisgIDI6IFsxMiwKKyAgICAgIDM0XX0sCisgJ2FiYyBkZWYgJworICdnaGknLAorICgnYWIgY2QgJworICAnZWYnLCksCisgc2V0Mih7MSwKKyAgICAgICAyM30pLAorIFtbW1tbMSwKKyAgICAgIDIsCisgICAgICAzXSwKKyAgICAgJzEgJworICAgICAnMiddXV1dXSIiIikKIAogICAgIGRlZiB0ZXN0X3NvcnRlZF9kaWN0KHNlbGYpOgogICAgICAgICAjIFN0YXJ0aW5nIGluIFB5dGhvbiAyLjUsIHBwcmludCBzb3J0cyBkaWN0IGRpc3BsYXlzIGJ5IGtleSByZWdhcmRsZXNzCkBAIC01MzUsMTMgKzU3NywxMiBAQAogICAgIGRlZiB0ZXN0X3N0cl93cmFwKHNlbGYpOgogICAgICAgICAjIHBwcmludCB0cmllcyB0byB3cmFwIHN0cmluZ3MgaW50ZWxsaWdlbnRseQogICAgICAgICBmb3ggPSAndGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciBhIGxhenkgZG9nJwotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHBwcmludC5wZm9ybWF0KGZveCwgd2lkdGg9MjApLCAiIiJcCi0oJ3RoZSBxdWljayAnCi0gJ2Jyb3duIGZveCAnCi0gJ2p1bXBlZCBvdmVyIGEgJwotICdsYXp5IGRvZycpIiIiKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHBwcmludC5wZm9ybWF0KGZveCwgd2lkdGg9MTkpLCAiIiJcCisoJ3RoZSBxdWljayBicm93biAnCisgJ2ZveCBqdW1wZWQgb3ZlciAnCisgJ2EgbGF6eSBkb2cnKSIiIikKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwcHJpbnQucGZvcm1hdCh7J2EnOiAxLCAnYic6IGZveCwgJ2MnOiAyfSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD0yNiksICIiIlwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD0yNSksICIiIlwKIHsnYSc6IDEsCiAgJ2InOiAndGhlIHF1aWNrIGJyb3duICcKICAgICAgICdmb3gganVtcGVkIG92ZXIgJwpAQCAtNTUzLDEyICs1OTQsMzQgQEAKICAgICAgICAgIyAtIG5vbi1BU0NJSSBpcyBhbGxvd2VkCiAgICAgICAgICMgLSBhbiBhcG9zdHJvcGhlIGRvZXNuJ3QgZGlzcnVwdCB0aGUgcHByaW50CiAgICAgICAgIHNwZWNpYWwgPSAiUG9ydG9ucyBkaXggYm9ucyBcIndoaXNreXNcIlxuw6AgbCdhdm9jYXQgZ291amF0XHQgcXVpIGZ1bWFpdCBhdSB6b28iCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocHByaW50LnBmb3JtYXQoc3BlY2lhbCwgd2lkdGg9MjEpLCAiIiJcCi0oJ1BvcnRvbnMgZGl4ICcKLSAnYm9ucyAid2hpc2t5cyJcXG4nCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocHByaW50LnBmb3JtYXQoc3BlY2lhbCwgd2lkdGg9NjgpLCByZXByKHNwZWNpYWwpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHBwcmludC5wZm9ybWF0KHNwZWNpYWwsIHdpZHRoPTMxKSwgIiIiXAorKCdQb3J0b25zIGRpeCBib25zICJ3aGlza3lzIlxcbicKKyAiw6AgbCdhdm9jYXQgZ291amF0XFx0IHF1aSAiCisgJ2Z1bWFpdCBhdSB6b28nKSIiIikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwcHJpbnQucGZvcm1hdChzcGVjaWFsLCB3aWR0aD0yMCksICIiIlwKKygnUG9ydG9ucyBkaXggYm9ucyAnCisgJyJ3aGlza3lzIlxcbicKICAiw6AgbCdhdm9jYXQgIgogICdnb3VqYXRcXHQgcXVpICcKICAnZnVtYWl0IGF1IHpvbycpIiIiKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHBwcmludC5wZm9ybWF0KFtbW1tbc3BlY2lhbF1dXV1dLCB3aWR0aD0zNSksICIiIlwKK1tbW1tbJ1BvcnRvbnMgZGl4IGJvbnMgIndoaXNreXMiXFxuJworICAgICAiw6AgbCdhdm9jYXQgZ291amF0XFx0IHF1aSAiCisgICAgICdmdW1haXQgYXUgem9vJ11dXV1dIiIiKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHBwcmludC5wZm9ybWF0KFtbW1tbc3BlY2lhbF1dXV1dLCB3aWR0aD0yNSksICIiIlwKK1tbW1tbJ1BvcnRvbnMgZGl4IGJvbnMgJworICAgICAnIndoaXNreXMiXFxuJworICAgICAiw6AgbCdhdm9jYXQgIgorICAgICAnZ291amF0XFx0IHF1aSAnCisgICAgICdmdW1haXQgYXUgem9vJ11dXV1dIiIiKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHBwcmludC5wZm9ybWF0KFtbW1tbc3BlY2lhbF1dXV1dLCB3aWR0aD0yMyksICIiIlwKK1tbW1tbJ1BvcnRvbnMgZGl4ICcKKyAgICAgJ2JvbnMgIndoaXNreXMiXFxuJworICAgICAiw6AgbCdhdm9jYXQgIgorICAgICAnZ291amF0XFx0IHF1aSAnCisgICAgICdmdW1haXQgYXUgJworICAgICAnem9vJ11dXV1dIiIiKQogICAgICAgICAjIEFuIHVud3JhcHBhYmxlIHN0cmluZyBpcyBmb3JtYXR0ZWQgYXMgaXRzIHJlcHIKICAgICAgICAgdW53cmFwcGFibGUgPSAieCIgKiAxMDAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwcHJpbnQucGZvcm1hdCh1bndyYXBwYWJsZSwgd2lkdGg9ODApLCByZXByKHVud3JhcHBhYmxlKSkKQEAgLTU4MSw3ICs2NDQsMTkgQEAKICAgMTQsIDE1XSwKICBbXSwgWzBdLCBbMCwgMV0sIFswLCAxLCAyXSwgWzAsIDEsIDIsIDNdLAogIFswLCAxLCAyLCAzLCA0XV0iIiIKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwcHJpbnQucGZvcm1hdChvLCB3aWR0aD00OCwgY29tcGFjdD1UcnVlKSwgZXhwZWN0ZWQpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocHByaW50LnBmb3JtYXQobywgd2lkdGg9NDcsIGNvbXBhY3Q9VHJ1ZSksIGV4cGVjdGVkKQorCisgICAgZGVmIHRlc3RfY29tcGFjdF93aWR0aChzZWxmKToKKyAgICAgICAgbGV2ZWxzID0gMjAKKyAgICAgICAgbnVtYmVyID0gMTAKKyAgICAgICAgbyA9IFswXSAqIG51bWJlcgorICAgICAgICBmb3IgaSBpbiByYW5nZShsZXZlbHMgLSAxKToKKyAgICAgICAgICAgIG8gPSBbb10KKyAgICAgICAgZm9yIHcgaW4gcmFuZ2UobGV2ZWxzICogMiArIDEsIGxldmVscyArIDMgKiBudW1iZXIgLSAxKToKKyAgICAgICAgICAgIGxpbmVzID0gcHByaW50LnBmb3JtYXQobywgd2lkdGg9dywgY29tcGFjdD1UcnVlKS5zcGxpdGxpbmVzKCkKKyAgICAgICAgICAgIG1heHdpZHRoID0gbWF4KG1hcChsZW4sIGxpbmVzKSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0TGVzc0VxdWFsKG1heHdpZHRoLCB3KQorICAgICAgICAgICAgc2VsZi5hc3NlcnRHcmVhdGVyKG1heHdpZHRoLCB3IC0gMykKIAogCiBjbGFzcyBEb3R0ZWRQcmV0dHlQcmludGVyKHBwcmludC5QcmV0dHlQcmludGVyKToKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfcHR5LnB5IGIvTGliL3Rlc3QvdGVzdF9wdHkucHkKaW5kZXggODkxNjg2MS4uOWI3ODNjMyAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9wdHkucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9wdHkucHkKQEAgLTEsNyArMSw2IEBACiBmcm9tIHRlc3Quc3VwcG9ydCBpbXBvcnQgdmVyYm9zZSwgcnVuX3VuaXR0ZXN0LCBpbXBvcnRfbW9kdWxlLCByZWFwX2NoaWxkcmVuCiAKLSNTa2lwIHRoZXNlIHRlc3RzIGlmIGVpdGhlciBmY250bCBvciB0ZXJtaW9zIGlzIG5vdCBhdmFpbGFibGUKLWZjbnRsID0gaW1wb3J0X21vZHVsZSgnZmNudGwnKQorIyBTa2lwIHRoZXNlIHRlc3RzIGlmIHRlcm1pb3MgaXMgbm90IGF2YWlsYWJsZQogaW1wb3J0X21vZHVsZSgndGVybWlvcycpCiAKIGltcG9ydCBlcnJubwpAQCAtODQsMTYgKzgzLDE4IEBACiAgICAgICAgICMgaW4gbWFzdGVyX29wZW4oKSwgd2UgbmVlZCB0byByZWFkIHRoZSBFT0YuCiAKICAgICAgICAgIyBFbnN1cmUgdGhlIGZkIGlzIG5vbi1ibG9ja2luZyBpbiBjYXNlIHRoZXJlJ3Mgbm90aGluZyB0byByZWFkLgotICAgICAgICBvcmlnX2ZsYWdzID0gZmNudGwuZmNudGwobWFzdGVyX2ZkLCBmY250bC5GX0dFVEZMKQotICAgICAgICBmY250bC5mY250bChtYXN0ZXJfZmQsIGZjbnRsLkZfU0VURkwsIG9yaWdfZmxhZ3MgfCBvcy5PX05PTkJMT0NLKQorICAgICAgICBibG9ja2luZyA9IG9zLmdldF9ibG9ja2luZyhtYXN0ZXJfZmQpCiAgICAgICAgIHRyeToKLSAgICAgICAgICAgIHMxID0gb3MucmVhZChtYXN0ZXJfZmQsIDEwMjQpCi0gICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGInJywgczEpCi0gICAgICAgIGV4Y2VwdCBPU0Vycm9yIGFzIGU6Ci0gICAgICAgICAgICBpZiBlLmVycm5vICE9IGVycm5vLkVBR0FJTjoKLSAgICAgICAgICAgICAgICByYWlzZQotICAgICAgICAjIFJlc3RvcmUgdGhlIG9yaWdpbmFsIGZsYWdzLgotICAgICAgICBmY250bC5mY250bChtYXN0ZXJfZmQsIGZjbnRsLkZfU0VURkwsIG9yaWdfZmxhZ3MpCisgICAgICAgICAgICBvcy5zZXRfYmxvY2tpbmcobWFzdGVyX2ZkLCBGYWxzZSkKKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICBzMSA9IG9zLnJlYWQobWFzdGVyX2ZkLCAxMDI0KQorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYicnLCBzMSkKKyAgICAgICAgICAgIGV4Y2VwdCBPU0Vycm9yIGFzIGU6CisgICAgICAgICAgICAgICAgaWYgZS5lcnJubyAhPSBlcnJuby5FQUdBSU46CisgICAgICAgICAgICAgICAgICAgIHJhaXNlCisgICAgICAgIGZpbmFsbHk6CisgICAgICAgICAgICAjIFJlc3RvcmUgdGhlIG9yaWdpbmFsIGZsYWdzLgorICAgICAgICAgICAgb3Muc2V0X2Jsb2NraW5nKG1hc3Rlcl9mZCwgYmxvY2tpbmcpCiAKICAgICAgICAgZGVidWcoIldyaXRpbmcgdG8gc2xhdmVfZmQiKQogICAgICAgICBvcy53cml0ZShzbGF2ZV9mZCwgVEVTVF9TVFJJTkdfMSkKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfcHlkb2MucHkgYi9MaWIvdGVzdC90ZXN0X3B5ZG9jLnB5CmluZGV4IDZhNDRjMjIuLmU5ZmVkMGEgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfcHlkb2MucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9weWRvYy5weQpAQCAtMiw3ICsyLDYgQEAKIGltcG9ydCBzeXMKIGltcG9ydCBidWlsdGlucwogaW1wb3J0IGNvbnRleHRsaWIKLWltcG9ydCBkaWZmbGliCiBpbXBvcnQgaW1wb3J0bGliLnV0aWwKIGltcG9ydCBpbnNwZWN0CiBpbXBvcnQgcHlkb2MKQEAgLTM2NCwxNSArMzYzLDYgQEAKICAgICBvdXRwdXQgPSBwYXR0LnN1YignJywgb3V0cHV0KQogICAgIHJldHVybiBvdXRwdXQuc3RyaXAoKSwgbG9jCiAKLWRlZiBwcmludF9kaWZmcyh0ZXh0MSwgdGV4dDIpOgotICAgICJQcmludHMgdW5pZmllZCBkaWZmcyBmb3IgdHdvIHRleHRzIgotICAgICMgWFhYIG5vdyBvYnNvbGV0ZSwgdXNlIHVuaXR0ZXN0IGJ1aWx0LWluIHN1cHBvcnQKLSAgICBsaW5lczEgPSB0ZXh0MS5zcGxpdGxpbmVzKGtlZXBlbmRzPVRydWUpCi0gICAgbGluZXMyID0gdGV4dDIuc3BsaXRsaW5lcyhrZWVwZW5kcz1UcnVlKQotICAgIGRpZmZzID0gZGlmZmxpYi51bmlmaWVkX2RpZmYobGluZXMxLCBsaW5lczIsIG49MCwgZnJvbWZpbGU9J2V4cGVjdGVkJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvZmlsZT0nZ290JykKLSAgICBwcmludCgnXG4nICsgJycuam9pbihkaWZmcykpCi0KIGRlZiBnZXRfaHRtbF90aXRsZSh0ZXh0KToKICAgICAjIEJpdCBvZiBoYWNrLCBidXQgZ29vZCBlbm91Z2ggZm9yIHRlc3QgcHVycG9zZXMKICAgICBoZWFkZXIsIF8sIF8gPSB0ZXh0LnBhcnRpdGlvbigiPC9oZWFkPiIpCkBAIC00MTgsOSArNDA4LDcgQEAKICAgICAgICAgZXhwZWN0ZWRfaHRtbCA9IGV4cGVjdGVkX2h0bWxfcGF0dGVybiAlICgKICAgICAgICAgICAgICAgICAgICAgICAgIChtb2RfdXJsLCBtb2RfZmlsZSwgZG9jX2xvYykgKwogICAgICAgICAgICAgICAgICAgICAgICAgZXhwZWN0ZWRfaHRtbF9kYXRhX2RvY3N0cmluZ3MpCi0gICAgICAgIGlmIHJlc3VsdCAhPSBleHBlY3RlZF9odG1sOgotICAgICAgICAgICAgcHJpbnRfZGlmZnMoZXhwZWN0ZWRfaHRtbCwgcmVzdWx0KQotICAgICAgICAgICAgc2VsZi5mYWlsKCJvdXRwdXRzIGFyZSBub3QgZXF1YWwsIHNlZSBkaWZmIGFib3ZlIikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZXN1bHQsIGV4cGVjdGVkX2h0bWwpCiAKICAgICBAdW5pdHRlc3Quc2tpcElmKHN5cy5mbGFncy5vcHRpbWl6ZSA+PSAyLAogICAgICAgICAgICAgICAgICAgICAgIkRvY3N0cmluZ3MgYXJlIG9taXR0ZWQgd2l0aCAtTzIgYW5kIGFib3ZlIikKQEAgLTQzMyw5ICs0MjEsNyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgKGRvY19sb2MsKSArCiAgICAgICAgICAgICAgICAgICAgICAgICBleHBlY3RlZF90ZXh0X2RhdGFfZG9jc3RyaW5ncyArCiAgICAgICAgICAgICAgICAgICAgICAgICAoaW5zcGVjdC5nZXRhYnNmaWxlKHB5ZG9jX21vZCksKSkKLSAgICAgICAgaWYgcmVzdWx0ICE9IGV4cGVjdGVkX3RleHQ6Ci0gICAgICAgICAgICBwcmludF9kaWZmcyhleHBlY3RlZF90ZXh0LCByZXN1bHQpCi0gICAgICAgICAgICBzZWxmLmZhaWwoIm91dHB1dHMgYXJlIG5vdCBlcXVhbCwgc2VlIGRpZmYgYWJvdmUiKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGV4cGVjdGVkX3RleHQsIHJlc3VsdCkKIAogICAgIGRlZiB0ZXN0X3RleHRfZW51bV9tZW1iZXJfd2l0aF92YWx1ZV96ZXJvKHNlbGYpOgogICAgICAgICAjIFRlc3QgaXNzdWUgIzIwNjU0IHRvIGVuc3VyZSBlbnVtIG1lbWJlciB3aXRoIHZhbHVlIDAgY2FuIGJlCkBAIC05MjcsOSArOTEzLDcgQEAKICAgICAgICAgZXhwZWN0ZWRfdGV4dCA9IGV4cGVjdGVkX2R5bmFtaWNhdHRyaWJ1dGVfcGF0dGVybiAlICgKICAgICAgICAgICAgICAgICAoX19uYW1lX18sKSArIGV4cGVjdGVkX3RleHRfZGF0YV9kb2NzdHJpbmdzWzoyXSkKICAgICAgICAgcmVzdWx0ID0gb3V0cHV0LmdldHZhbHVlKCkuc3RyaXAoKQotICAgICAgICBpZiByZXN1bHQgIT0gZXhwZWN0ZWRfdGV4dDoKLSAgICAgICAgICAgIHByaW50X2RpZmZzKGV4cGVjdGVkX3RleHQsIHJlc3VsdCkKLSAgICAgICAgICAgIHNlbGYuZmFpbCgib3V0cHV0cyBhcmUgbm90IGVxdWFsLCBzZWUgZGlmZiBhYm92ZSIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZXhwZWN0ZWRfdGV4dCwgcmVzdWx0KQogCiAgICAgQHVuaXR0ZXN0LnNraXBJZihzeXMuZmxhZ3Mub3B0aW1pemUgPj0gMiwKICAgICAgICAgICAgICAgICAgICAgICJEb2NzdHJpbmdzIGFyZSBvbWl0dGVkIHdpdGggLU8yIGFuZCBhYm92ZSIpCkBAIC05NTAsOSArOTM0LDcgQEAKICAgICAgICAgaGVscGVyKENsYXNzKQogICAgICAgICBleHBlY3RlZF90ZXh0ID0gZXhwZWN0ZWRfdmlydHVhbGF0dHJpYnV0ZV9wYXR0ZXJuMSAlIF9fbmFtZV9fCiAgICAgICAgIHJlc3VsdCA9IG91dHB1dC5nZXR2YWx1ZSgpLnN0cmlwKCkKLSAgICAgICAgaWYgcmVzdWx0ICE9IGV4cGVjdGVkX3RleHQ6Ci0gICAgICAgICAgICBwcmludF9kaWZmcyhleHBlY3RlZF90ZXh0LCByZXN1bHQpCi0gICAgICAgICAgICBzZWxmLmZhaWwoIm91dHB1dHMgYXJlIG5vdCBlcXVhbCwgc2VlIGRpZmYgYWJvdmUiKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGV4cGVjdGVkX3RleHQsIHJlc3VsdCkKIAogICAgIEB1bml0dGVzdC5za2lwSWYoc3lzLmZsYWdzLm9wdGltaXplID49IDIsCiAgICAgICAgICAgICAgICAgICAgICAiRG9jc3RyaW5ncyBhcmUgb21pdHRlZCB3aXRoIC1PMiBhbmQgYWJvdmUiKQpAQCAtOTkyLDE5ICs5NzQsMTMgQEAKICAgICAgICAgaGVscGVyKENsYXNzMSkKICAgICAgICAgZXhwZWN0ZWRfdGV4dDEgPSBleHBlY3RlZF92aXJ0dWFsYXR0cmlidXRlX3BhdHRlcm4yICUgX19uYW1lX18KICAgICAgICAgcmVzdWx0MSA9IG91dHB1dC5nZXR2YWx1ZSgpLnN0cmlwKCkKLSAgICAgICAgaWYgcmVzdWx0MSAhPSBleHBlY3RlZF90ZXh0MToKLSAgICAgICAgICAgIHByaW50X2RpZmZzKGV4cGVjdGVkX3RleHQxLCByZXN1bHQxKQotICAgICAgICAgICAgZmFpbDEgPSBUcnVlCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZXhwZWN0ZWRfdGV4dDEsIHJlc3VsdDEpCiAgICAgICAgIG91dHB1dCA9IFN0cmluZ0lPKCkKICAgICAgICAgaGVscGVyID0gcHlkb2MuSGVscGVyKG91dHB1dD1vdXRwdXQpCiAgICAgICAgIGhlbHBlcihDbGFzczIpCiAgICAgICAgIGV4cGVjdGVkX3RleHQyID0gZXhwZWN0ZWRfdmlydHVhbGF0dHJpYnV0ZV9wYXR0ZXJuMyAlIF9fbmFtZV9fCiAgICAgICAgIHJlc3VsdDIgPSBvdXRwdXQuZ2V0dmFsdWUoKS5zdHJpcCgpCi0gICAgICAgIGlmIHJlc3VsdDIgIT0gZXhwZWN0ZWRfdGV4dDI6Ci0gICAgICAgICAgICBwcmludF9kaWZmcyhleHBlY3RlZF90ZXh0MiwgcmVzdWx0MikKLSAgICAgICAgICAgIGZhaWwyID0gVHJ1ZQotICAgICAgICBpZiBmYWlsMSBvciBmYWlsMjoKLSAgICAgICAgICAgIHNlbGYuZmFpbCgib3V0cHV0cyBhcmUgbm90IGVxdWFsLCBzZWUgZGlmZiBhYm92ZSIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZXhwZWN0ZWRfdGV4dDIsIHJlc3VsdDIpCiAKICAgICBAdW5pdHRlc3Quc2tpcElmKHN5cy5mbGFncy5vcHRpbWl6ZSA+PSAyLAogICAgICAgICAgICAgICAgICAgICAgIkRvY3N0cmluZ3MgYXJlIG9taXR0ZWQgd2l0aCAtTzIgYW5kIGFib3ZlIikKQEAgLTEwMjEsOSArOTk3LDcgQEAKICAgICAgICAgaGVscGVyKEMpCiAgICAgICAgIGV4cGVjdGVkX3RleHQgPSBleHBlY3RlZF9taXNzaW5nYXR0cmlidXRlX3BhdHRlcm4gJSBfX25hbWVfXwogICAgICAgICByZXN1bHQgPSBvdXRwdXQuZ2V0dmFsdWUoKS5zdHJpcCgpCi0gICAgICAgIGlmIHJlc3VsdCAhPSBleHBlY3RlZF90ZXh0OgotICAgICAgICAgICAgcHJpbnRfZGlmZnMoZXhwZWN0ZWRfdGV4dCwgcmVzdWx0KQotICAgICAgICAgICAgc2VsZi5mYWlsKCJvdXRwdXRzIGFyZSBub3QgZXF1YWwsIHNlZSBkaWZmIGFib3ZlIikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChleHBlY3RlZF90ZXh0LCByZXN1bHQpCiAKIAogQHJlYXBfdGhyZWFkcwpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9yZS5weSBiL0xpYi90ZXN0L3Rlc3RfcmUucHkKaW5kZXggNzM0OGFmMy4uMGZiZjhjNSAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9yZS5weQorKysgYi9MaWIvdGVzdC90ZXN0X3JlLnB5CkBAIC04NCw3ICs4NCw3IEBACiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmUuc3ViKCIoP2kpYisiLCAieCIsICJiYmJiIEJCQkIiKSwgJ3ggeCcpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmUuc3ViKHInXGQrJywgc2VsZi5idW1wX251bSwgJzA4LjIgLTIgMjN4OTl5JyksCiAgICAgICAgICAgICAgICAgICAgICAgICAgJzkuMyAtMyAyNHgxMDB5JykKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZS5zdWIocidcZCsnLCBzZWxmLmJ1bXBfbnVtLCAnMDguMiAtMiAyM3g5OXknLCAzKSwKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZS5zdWIocidcZCsnLCBzZWxmLmJ1bXBfbnVtLCAnMDguMiAtMiAyM3g5OXknLCBjb3VudD0zKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAnOS4zIC0zIDIzeDk5eScpCiAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZS5zdWIoJy4nLCBsYW1iZGEgbTogciJcbiIsICd4JyksICdcXG4nKQpAQCAtMTU1LDggKzE1NSw4IEBACiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmUuc3ViKCd4JywgcidcMDknLCAneCcpLCAnXDAnICsgJzknKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlLnN1YigneCcsIHInXDBhJywgJ3gnKSwgJ1wwJyArICdhJykKIAotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlLnN1YigneCcsIHInXDQwMCcsICd4JyksICdcMCcpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmUuc3ViKCd4JywgcidcNzc3JywgJ3gnKSwgJ1wzNzcnKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhyZS5lcnJvciwgcmUuc3ViLCAneCcsIHInXDQwMCcsICd4JykKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMocmUuZXJyb3IsIHJlLnN1YiwgJ3gnLCByJ1w3NzcnLCAneCcpCiAKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMocmUuZXJyb3IsIHJlLnN1YiwgJ3gnLCByJ1wxJywgJ3gnKQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhyZS5lcnJvciwgcmUuc3ViLCAneCcsIHInXDgnLCAneCcpCkBAIC0xODAsNyArMTgwLDcgQEAKIAogICAgIGRlZiB0ZXN0X3F1YWxpZmllZF9yZV9zdWIoc2VsZik6CiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmUuc3ViKCdhJywgJ2InLCAnYWFhYWEnKSwgJ2JiYmJiJykKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZS5zdWIoJ2EnLCAnYicsICdhYWFhYScsIDEpLCAnYmFhYWEnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlLnN1YignYScsICdiJywgJ2FhYWFhJywgY291bnQ9MSksICdiYWFhYScpCiAKICAgICBkZWYgdGVzdF9idWdfMTE0NjYwKHNlbGYpOgogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlLnN1YihyJyhcUylccysoXFMpJywgcidcMSBcMicsICdoZWxsbyAgdGhlcmUnKSwKQEAgLTE5NCw2ICsxOTQsNyBAQAogICAgIGRlZiB0ZXN0X3N5bWJvbGljX2dyb3VwcyhzZWxmKToKICAgICAgICAgcmUuY29tcGlsZSgnKD9QPGE+eCkoP1A9YSkoPyhhKXkpJykKICAgICAgICAgcmUuY29tcGlsZSgnKD9QPGExPngpKD9QPWExKSg/KGExKXkpJykKKyAgICAgICAgcmUuY29tcGlsZSgnKD9QPGExPngpXDEoPygxKXkpJykKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMocmUuZXJyb3IsIHJlLmNvbXBpbGUsICcoP1A8YT4pKD9QPGE+KScpCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKHJlLmVycm9yLCByZS5jb21waWxlLCAnKD9QeCknKQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhyZS5lcnJvciwgcmUuY29tcGlsZSwgJyg/UD0pJykKQEAgLTIxMyw2ICsyMTQsMTAgQEAKICAgICAgICAgcmUuY29tcGlsZSgnKD9QPMK1PngpKD9QPcK1KSg/KMK1KXkpJykKICAgICAgICAgcmUuY29tcGlsZSgnKD9QPPCdlJjwnZSr8J2UpvCdlKDwnZSs8J2UofCdlKI+eCkoP1A98J2UmPCdlKvwnZSm8J2UoPCdlKzwnZSh8J2UoikoPyjwnZSY8J2Uq/CdlKbwnZSg8J2UrPCdlKHwnZSiKXkpJykKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMocmUuZXJyb3IsIHJlLmNvbXBpbGUsICcoP1A8wqk+eCknKQorICAgICAgICAjIFN1cHBvcnQgPiAxMDAgZ3JvdXBzLgorICAgICAgICBwYXQgPSAnfCcuam9pbigneCg/UDxhJWQ+JXgpeScgJSAoaSwgaSkgZm9yIGkgaW4gcmFuZ2UoMSwgMjAwICsgMSkpCisgICAgICAgIHBhdCA9ICcoPzolcykoPygyMDApenx0KScgJSBwYXQKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZS5tYXRjaChwYXQsICd4Yzh5eicpLnNwYW4oKSwgKDAsIDUpKQogCiAgICAgZGVmIHRlc3Rfc3ltYm9saWNfcmVmcyhzZWxmKToKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMocmUuZXJyb3IsIHJlLnN1YiwgJyg/UDxhPngpJywgJ1xnPGEnLCAneHgnKQpAQCAtMjIxLDQ4ICsyMjYsNTMgQEAKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMocmUuZXJyb3IsIHJlLnN1YiwgJyg/UDxhPngpJywgJ1xnPGEgYT4nLCAneHgnKQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhyZS5lcnJvciwgcmUuc3ViLCAnKD9QPGE+eCknLCAnXGc8PicsICd4eCcpCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKHJlLmVycm9yLCByZS5zdWIsICcoP1A8YT54KScsICdcZzwxYTE+JywgJ3h4JykKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMocmUuZXJyb3IsIHJlLnN1YiwgJyg/UDxhPngpJywgcidcZzwyPicsICd4eCcpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKHJlLmVycm9yLCByZS5zdWIsICcoP1A8YT54KScsIHInXDInLCAneHgnKQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhJbmRleEVycm9yLCByZS5zdWIsICcoP1A8YT54KScsICdcZzxhYj4nLCAneHgnKQotICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhyZS5lcnJvciwgcmUuc3ViLCAnKD9QPGE+eCl8KD9QPGI+eSknLCAnXGc8Yj4nLCAneHgnKQotICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhyZS5lcnJvciwgcmUuc3ViLCAnKD9QPGE+eCl8KD9QPGI+eSknLCAnXFwyJywgJ3h4JykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZS5zdWIoJyg/UDxhPngpfCg/UDxiPnkpJywgcidcZzxiPicsICd4eCcpLCAnJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZS5zdWIoJyg/UDxhPngpfCg/UDxiPnkpJywgcidcMicsICd4eCcpLCAnJykKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMocmUuZXJyb3IsIHJlLnN1YiwgJyg/UDxhPngpJywgJ1xnPC0xPicsICd4eCcpCiAgICAgICAgICMgTmV3IHZhbGlkL2ludmFsaWQgaWRlbnRpZmllcnMgaW4gUHl0aG9uIDMKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZS5zdWIoJyg/UDzCtT54KScsIHInXGc8wrU+JywgJ3h4JyksICd4eCcpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmUuc3ViKCcoP1A88J2UmPCdlKvwnZSm8J2UoPCdlKzwnZSh8J2Uoj54KScsIHInXGc88J2UmPCdlKvwnZSm8J2UoPCdlKzwnZSh8J2Uoj4nLCAneHgnKSwgJ3h4JykKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMocmUuZXJyb3IsIHJlLnN1YiwgJyg/UDxhPngpJywgcidcZzzCqT4nLCAneHgnKQorICAgICAgICAjIFN1cHBvcnQgPiAxMDAgZ3JvdXBzLgorICAgICAgICBwYXQgPSAnfCcuam9pbigneCg/UDxhJWQ+JXgpeScgJSAoaSwgaSkgZm9yIGkgaW4gcmFuZ2UoMSwgMjAwICsgMSkpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmUuc3ViKHBhdCwgJ1xnPDIwMD4nLCAneGM4eXp4Yzh5JyksICdjOHpjOCcpCiAKICAgICBkZWYgdGVzdF9yZV9zdWJuKHNlbGYpOgogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlLnN1Ym4oIig/aSliKyIsICJ4IiwgImJiYmIgQkJCQiIpLCAoJ3ggeCcsIDIpKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlLnN1Ym4oImIrIiwgIngiLCAiYmJiYiBCQkJCIiksICgneCBCQkJCJywgMSkpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmUuc3VibigiYisiLCAieCIsICJ4eXoiKSwgKCd4eXonLCAwKSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZS5zdWJuKCJiKiIsICJ4IiwgInh5eiIpLCAoJ3h4eHl4engnLCA0KSkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZS5zdWJuKCJiKiIsICJ4IiwgInh5eiIsIDIpLCAoJ3h4eHl6JywgMikpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmUuc3VibigiYioiLCAieCIsICJ4eXoiLCBjb3VudD0yKSwgKCd4eHh5eicsIDIpKQogCiAgICAgZGVmIHRlc3RfcmVfc3BsaXQoc2VsZik6CiAgICAgICAgIGZvciBzdHJpbmcgaW4gIjphOmI6OmMiLCBTKCI6YTpiOjpjIik6CiAgICAgICAgICAgICBzZWxmLmFzc2VydFR5cGVkRXF1YWwocmUuc3BsaXQoIjoiLCBzdHJpbmcpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsnJywgJ2EnLCAnYicsICcnLCAnYyddKQotICAgICAgICAgICAgc2VsZi5hc3NlcnRUeXBlZEVxdWFsKHJlLnNwbGl0KCI6KiIsIHN0cmluZyksCisgICAgICAgICAgICBzZWxmLmFzc2VydFR5cGVkRXF1YWwocmUuc3BsaXQoIjorIiwgc3RyaW5nKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbJycsICdhJywgJ2InLCAnYyddKQotICAgICAgICAgICAgc2VsZi5hc3NlcnRUeXBlZEVxdWFsKHJlLnNwbGl0KCIoOiopIiwgc3RyaW5nKSwKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHlwZWRFcXVhbChyZS5zcGxpdCgiKDorKSIsIHN0cmluZyksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWycnLCAnOicsICdhJywgJzonLCAnYicsICc6OicsICdjJ10pCiAgICAgICAgIGZvciBzdHJpbmcgaW4gKGIiOmE6Yjo6YyIsIEIoYiI6YTpiOjpjIiksIGJ5dGVhcnJheShiIjphOmI6OmMiKSwKICAgICAgICAgICAgICAgICAgICAgICAgbWVtb3J5dmlldyhiIjphOmI6OmMiKSk6CiAgICAgICAgICAgICBzZWxmLmFzc2VydFR5cGVkRXF1YWwocmUuc3BsaXQoYiI6Iiwgc3RyaW5nKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYicnLCBiJ2EnLCBiJ2InLCBiJycsIGInYyddKQotICAgICAgICAgICAgc2VsZi5hc3NlcnRUeXBlZEVxdWFsKHJlLnNwbGl0KGIiOioiLCBzdHJpbmcpLAorICAgICAgICAgICAgc2VsZi5hc3NlcnRUeXBlZEVxdWFsKHJlLnNwbGl0KGIiOisiLCBzdHJpbmcpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtiJycsIGInYScsIGInYicsIGInYyddKQotICAgICAgICAgICAgc2VsZi5hc3NlcnRUeXBlZEVxdWFsKHJlLnNwbGl0KGIiKDoqKSIsIHN0cmluZyksCisgICAgICAgICAgICBzZWxmLmFzc2VydFR5cGVkRXF1YWwocmUuc3BsaXQoYiIoOispIiwgc3RyaW5nKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYicnLCBiJzonLCBiJ2EnLCBiJzonLCBiJ2InLCBiJzo6JywgYidjJ10pCiAgICAgICAgIGZvciBhLCBiLCBjIGluICgiXHhlMFx4ZGZceGU3IiwgIlx1MDQzMFx1MDQzMVx1MDQzMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAiXFUwMDAxZDQ5Y1xVMDAwMWQ0OWVcVTAwMDFkNGI1Iik6CiAgICAgICAgICAgICBzdHJpbmcgPSAiOiVzOiVzOjolcyIgJSAoYSwgYiwgYykKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmUuc3BsaXQoIjoiLCBzdHJpbmcpLCBbJycsIGEsIGIsICcnLCBjXSkKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmUuc3BsaXQoIjoqIiwgc3RyaW5nKSwgWycnLCBhLCBiLCBjXSkKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmUuc3BsaXQoIig6KikiLCBzdHJpbmcpLAorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZS5zcGxpdCgiOisiLCBzdHJpbmcpLCBbJycsIGEsIGIsIGNdKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZS5zcGxpdCgiKDorKSIsIHN0cmluZyksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsnJywgJzonLCBhLCAnOicsIGIsICc6OicsIGNdKQogCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmUuc3BsaXQoIig/OjoqKSIsICI6YTpiOjpjIiksIFsnJywgJ2EnLCAnYicsICdjJ10pCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmUuc3BsaXQoIig6KSoiLCAiOmE6Yjo6YyIpLAorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlLnNwbGl0KCIoPzo6KykiLCAiOmE6Yjo6YyIpLCBbJycsICdhJywgJ2InLCAnYyddKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlLnNwbGl0KCIoOikrIiwgIjphOmI6OmMiKSwKICAgICAgICAgICAgICAgICAgICAgICAgICBbJycsICc6JywgJ2EnLCAnOicsICdiJywgJzonLCAnYyddKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlLnNwbGl0KCIoW2I6XSspIiwgIjphOmI6OmMiKSwKICAgICAgICAgICAgICAgICAgICAgICAgICBbJycsICc6JywgJ2EnLCAnOmI6OicsICdjJ10pCkBAIC0yNzIsMTMgKzI4MiwzNCBAQAogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlLnNwbGl0KCIoPzpiKXwoPzo6KykiLCAiOmE6Yjo6YyIpLAogICAgICAgICAgICAgICAgICAgICAgICAgIFsnJywgJ2EnLCAnJywgJycsICdjJ10pCiAKKyAgICAgICAgZm9yIHNlcCwgZXhwZWN0ZWQgaW4gWworICAgICAgICAgICAgKCc6KicsIFsnJywgJ2EnLCAnYicsICdjJ10pLAorICAgICAgICAgICAgKCcoPzo6KiknLCBbJycsICdhJywgJ2InLCAnYyddKSwKKyAgICAgICAgICAgICgnKDoqKScsIFsnJywgJzonLCAnYScsICc6JywgJ2InLCAnOjonLCAnYyddKSwKKyAgICAgICAgICAgICgnKDopKicsIFsnJywgJzonLCAnYScsICc6JywgJ2InLCAnOicsICdjJ10pLAorICAgICAgICBdOgorICAgICAgICAgICAgd2l0aCBzZWxmLnN1YlRlc3Qoc2VwPXNlcCksIHNlbGYuYXNzZXJ0V2FybnMoRnV0dXJlV2FybmluZyk6CisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRUeXBlZEVxdWFsKHJlLnNwbGl0KHNlcCwgJzphOmI6OmMnKSwgZXhwZWN0ZWQpCisKKyAgICAgICAgZm9yIHNlcCwgZXhwZWN0ZWQgaW4gWworICAgICAgICAgICAgKCcnLCBbJzphOmI6OmMnXSksCisgICAgICAgICAgICAocidcYicsIFsnOmE6Yjo6YyddKSwKKyAgICAgICAgICAgIChyJyg/PTopJywgWyc6YTpiOjpjJ10pLAorICAgICAgICAgICAgKHInKD88PTopJywgWyc6YTpiOjpjJ10pLAorICAgICAgICBdOgorICAgICAgICAgICAgd2l0aCBzZWxmLnN1YlRlc3Qoc2VwPXNlcCksIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IpOgorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHlwZWRFcXVhbChyZS5zcGxpdChzZXAsICc6YTpiOjpjJyksIGV4cGVjdGVkKQorCiAgICAgZGVmIHRlc3RfcXVhbGlmaWVkX3JlX3NwbGl0KHNlbGYpOgotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlLnNwbGl0KCI6IiwgIjphOmI6OmMiLCAyKSwgWycnLCAnYScsICdiOjpjJ10pCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmUuc3BsaXQoJzonLCAnYTpiOmM6ZCcsIDIpLCBbJ2EnLCAnYicsICdjOmQnXSkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZS5zcGxpdCgiKDopIiwgIjphOmI6OmMiLCAyKSwKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZS5zcGxpdCgiOiIsICI6YTpiOjpjIiwgbWF4c3BsaXQ9MiksIFsnJywgJ2EnLCAnYjo6YyddKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlLnNwbGl0KCc6JywgJ2E6YjpjOmQnLCBtYXhzcGxpdD0yKSwgWydhJywgJ2InLCAnYzpkJ10pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmUuc3BsaXQoIig6KSIsICI6YTpiOjpjIiwgbWF4c3BsaXQ9MiksCiAgICAgICAgICAgICAgICAgICAgICAgICAgWycnLCAnOicsICdhJywgJzonLCAnYjo6YyddKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlLnNwbGl0KCIoOiopIiwgIjphOmI6OmMiLCAyKSwKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZS5zcGxpdCgiKDorKSIsICI6YTpiOjpjIiwgbWF4c3BsaXQ9MiksCiAgICAgICAgICAgICAgICAgICAgICAgICAgWycnLCAnOicsICdhJywgJzonLCAnYjo6YyddKQorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0V2FybnMoRnV0dXJlV2FybmluZyk6CisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlLnNwbGl0KCIoOiopIiwgIjphOmI6OmMiLCBtYXhzcGxpdD0yKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWycnLCAnOicsICdhJywgJzonLCAnYjo6YyddKQogCiAgICAgZGVmIHRlc3RfcmVfZmluZGFsbChzZWxmKToKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZS5maW5kYWxsKCI6KyIsICJhYmMiKSwgW10pCkBAIC00MDUsNiArNDM2LDEwIEBACiAgICAgICAgIHNlbGYuYXNzZXJ0SXNOb25lKHAubWF0Y2goJ2FiZCcpKQogICAgICAgICBzZWxmLmFzc2VydElzTm9uZShwLm1hdGNoKCdhYycpKQogCisgICAgICAgICMgU3VwcG9ydCA+IDEwMCBncm91cHMuCisgICAgICAgIHBhdCA9ICd8Jy5qb2luKCd4KD9QPGElZD4leCl5JyAlIChpLCBpKSBmb3IgaSBpbiByYW5nZSgxLCAyMDAgKyAxKSkKKyAgICAgICAgcGF0ID0gJyg/OiVzKSg/KDIwMCl6KScgJSBwYXQKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZS5tYXRjaChwYXQsICd4Yzh5eicpLnNwYW4oKSwgKDAsIDUpKQogCiAgICAgZGVmIHRlc3RfcmVfZ3JvdXByZWYoc2VsZik6CiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmUubWF0Y2gocideKFx8KT8oW14oKV0rKVwxJCcsICd8YXwnKS5ncm91cHMoKSwKQEAgLTQyOCw2ICs0NjMsMTAgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZmlyc3Qgc2Vjb25kIikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZXhwYW5kKHIiXDIgXDEgXGc8c2Vjb25kPiBcZzxmaXJzdD4iKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAic2Vjb25kIGZpcnN0IHNlY29uZCBmaXJzdCIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmUubWF0Y2goIig/UDxmaXJzdD5maXJzdCl8KD9QPHNlY29uZD5zZWNvbmQpIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZmlyc3QiKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5leHBhbmQociJcMiBcZzxzZWNvbmQ+IiksCisgICAgICAgICAgICAgICAgICAgICAgICAgIiAiKQogCiAgICAgZGVmIHRlc3RfcmVwZWF0X21pbm1heChzZWxmKToKICAgICAgICAgc2VsZi5hc3NlcnRJc05vbmUocmUubWF0Y2goIl4oXHcpezF9JCIsICJhYmMiKSkKQEAgLTQ4NCwxMCArNTIzLDYgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImFiY2QgYWJjIGJjZCBieCIsIHJlLkFTQ0lJKS5ncm91cCgxKSwgImJ4IikKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZS5zZWFyY2gociJcQihiLilcQiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJhYmMgYmNkIGJjIGFieGQiLCByZS5BU0NJSSkuZ3JvdXAoMSksICJieCIpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmUuc2VhcmNoKHIiXGIoYi4pXGIiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYWJjZCBhYmMgYmNkIGJ4IiwgcmUuTE9DQUxFKS5ncm91cCgxKSwgImJ4IikKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZS5zZWFyY2gociJcQihiLilcQiIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJhYmMgYmNkIGJjIGFieGQiLCByZS5MT0NBTEUpLmdyb3VwKDEpLCAiYngiKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlLnNlYXJjaChyIl5hYmMkIiwgIlxuYWJjXG4iLCByZS5NKS5ncm91cCgwKSwgImFiYyIpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmUuc2VhcmNoKHIiXlxBYWJjXFokIiwgImFiYyIsIHJlLk0pLmdyb3VwKDApLCAiYWJjIikKICAgICAgICAgc2VsZi5hc3NlcnRJc05vbmUocmUuc2VhcmNoKHIiXlxBYWJjXFokIiwgIlxuYWJjXG4iLCByZS5NKSkKQEAgLTUwOCwxMSArNTQzLDIzIEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGIiMWFhISBhIikuZ3JvdXAoMCksIGIiMWFhISBhIikKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZS5zZWFyY2gociJcZFxEXHdcV1xzXFMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiMWFhISBhIiwgcmUuQVNDSUkpLmdyb3VwKDApLCAiMWFhISBhIikKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZS5zZWFyY2gociJcZFxEXHdcV1xzXFMiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiMWFhISBhIiwgcmUuTE9DQUxFKS5ncm91cCgwKSwgIjFhYSEgYSIpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmUuc2VhcmNoKGJyIlxkXERcd1xXXHNcUyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGIiMWFhISBhIiwgcmUuTE9DQUxFKS5ncm91cCgwKSwgYiIxYWEhIGEiKQogCisgICAgZGVmIHRlc3Rfb3RoZXJfZXNjYXBlcyhzZWxmKToKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMocmUuZXJyb3IsIHJlLmNvbXBpbGUsICJcXCIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmUubWF0Y2gociJcKCIsICcoJykuZ3JvdXAoKSwgJygnKQorICAgICAgICBzZWxmLmFzc2VydElzTm9uZShyZS5tYXRjaChyIlwoIiwgJyknKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZS5tYXRjaChyIlxcIiwgJ1xcJykuZ3JvdXAoKSwgJ1xcJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZS5tYXRjaChyIlx5IiwgJ3knKS5ncm91cCgpLCAneScpCisgICAgICAgIHNlbGYuYXNzZXJ0SXNOb25lKHJlLm1hdGNoKHIiXHkiLCAneicpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlLm1hdGNoKHIiW1xdXSIsICddJykuZ3JvdXAoKSwgJ10nKQorICAgICAgICBzZWxmLmFzc2VydElzTm9uZShyZS5tYXRjaChyIltcXV0iLCAnWycpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlLm1hdGNoKHIiW2FcLWNdIiwgJy0nKS5ncm91cCgpLCAnLScpCisgICAgICAgIHNlbGYuYXNzZXJ0SXNOb25lKHJlLm1hdGNoKHIiW2FcLWNdIiwgJ2InKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZS5tYXRjaChyIltcXmFdKyIsICdhXicpLmdyb3VwKCksICdhXicpCisgICAgICAgIHNlbGYuYXNzZXJ0SXNOb25lKHJlLm1hdGNoKHIiW1xeYV0rIiwgJ2InKSkKKwogICAgIGRlZiB0ZXN0X3N0cmluZ19ib3VuZGFyaWVzKHNlbGYpOgogICAgICAgICAjIFNlZSBodHRwOi8vYnVncy5weXRob24ub3JnL2lzc3VlMTA3MTMKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZS5zZWFyY2gociJcYihhYmMpXGIiLCAiYWJjIikuZ3JvdXAoMSksCkBAIC01NzQsOSArNjIxLDYgQEAKICAgICAgICAgIyBHcm91cCByZWZlcmVuY2UuCiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShyZS5tYXRjaChyJyhhKWIoPz1cMSlhJywgJ2FiYScpKQogICAgICAgICBzZWxmLmFzc2VydElzTm9uZShyZS5tYXRjaChyJyhhKWIoPz1cMSljJywgJ2FiYWMnKSkKLSAgICAgICAgIyBOYW1lZCBncm91cCByZWZlcmVuY2UuCi0gICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShyZS5tYXRjaChyJyg/UDxnPmEpYig/PSg/UD1nKSlhJywgJ2FiYScpKQotICAgICAgICBzZWxmLmFzc2VydElzTm9uZShyZS5tYXRjaChyJyg/UDxnPmEpYig/PSg/UD1nKSljJywgJ2FiYWMnKSkKICAgICAgICAgIyBDb25kaXRpb25hbCBncm91cCByZWZlcmVuY2UuCiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShyZS5tYXRjaChyJyg/OihhKXwoeCkpYig/PSg/KDIpeHxjKSljJywgJ2FiYycpKQogICAgICAgICBzZWxmLmFzc2VydElzTm9uZShyZS5tYXRjaChyJyg/OihhKXwoeCkpYig/PSg/KDIpY3x4KSljJywgJ2FiYycpKQpAQCAtNTk0LDEzICs2MzgsMjUgQEAKICAgICAgICAgc2VsZi5hc3NlcnRJc05vbmUocmUubWF0Y2gocidhYig/PCFiKWMnLCAnYWJjJykpCiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShyZS5tYXRjaChyJ2FiKD88IWMpYycsICdhYmMnKSkKICAgICAgICAgIyBHcm91cCByZWZlcmVuY2UuCi0gICAgICAgIHNlbGYuYXNzZXJ0V2FybnMoUnVudGltZVdhcm5pbmcsIHJlLmNvbXBpbGUsIHInKGEpYSg/PD1cMSljJykKLSAgICAgICAgIyBOYW1lZCBncm91cCByZWZlcmVuY2UuCi0gICAgICAgIHNlbGYuYXNzZXJ0V2FybnMoUnVudGltZVdhcm5pbmcsIHJlLmNvbXBpbGUsIHInKD9QPGc+YSlhKD88PSg/UD1nKSljJykKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHJlLm1hdGNoKHInKGEpYSg/PD1cMSljJywgJ2FhYycpKQorICAgICAgICBzZWxmLmFzc2VydElzTm9uZShyZS5tYXRjaChyJyhhKWIoPzw9XDEpYScsICdhYmFhJykpCisgICAgICAgIHNlbGYuYXNzZXJ0SXNOb25lKHJlLm1hdGNoKHInKGEpYSg/PCFcMSljJywgJ2FhYycpKQorICAgICAgICBzZWxmLmFzc2VydFRydWUocmUubWF0Y2gocicoYSliKD88IVwxKWEnLCAnYWJhYScpKQogICAgICAgICAjIENvbmRpdGlvbmFsIGdyb3VwIHJlZmVyZW5jZS4KLSAgICAgICAgc2VsZi5hc3NlcnRXYXJucyhSdW50aW1lV2FybmluZywgcmUuY29tcGlsZSwgcicoYSliKD88PSg/KDEpYnx4KSljJykKKyAgICAgICAgc2VsZi5hc3NlcnRJc05vbmUocmUubWF0Y2gocicoPzooYSl8KHgpKWIoPzw9KD8oMil4fGMpKWMnLCAnYWJjJykpCisgICAgICAgIHNlbGYuYXNzZXJ0SXNOb25lKHJlLm1hdGNoKHInKD86KGEpfCh4KSliKD88PSg/KDIpYnx4KSljJywgJ2FiYycpKQorICAgICAgICBzZWxmLmFzc2VydFRydWUocmUubWF0Y2gocicoPzooYSl8KHgpKWIoPzw9KD8oMil4fGIpKWMnLCAnYWJjJykpCisgICAgICAgIHNlbGYuYXNzZXJ0SXNOb25lKHJlLm1hdGNoKHInKD86KGEpfCh4KSliKD88PSg/KDEpY3x4KSljJywgJ2FiYycpKQorICAgICAgICBzZWxmLmFzc2VydFRydWUocmUubWF0Y2gocicoPzooYSl8KHgpKWIoPzw9KD8oMSlifHgpKWMnLCAnYWJjJykpCiAgICAgICAgICMgR3JvdXAgdXNlZCBiZWZvcmUgZGVmaW5lZC4KLSAgICAgICAgc2VsZi5hc3NlcnRXYXJucyhSdW50aW1lV2FybmluZywgcmUuY29tcGlsZSwgcicoYSliKD88PSg/KDIpYnx4KSkoYyknKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhyZS5lcnJvciwgcmUuY29tcGlsZSwgcicoYSliKD88PSg/KDIpYnx4KSkoYyknKQorICAgICAgICBzZWxmLmFzc2VydElzTm9uZShyZS5tYXRjaChyJyhhKWIoPzw9KD8oMSljfHgpKShjKScsICdhYmMnKSkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHJlLm1hdGNoKHInKGEpYig/PD0oPygxKWJ8eCkpKGMpJywgJ2FiYycpKQorICAgICAgICAjIEdyb3VwIGRlZmluZWQgaW4gdGhlIHNhbWUgbG9va2JlaGluZCBwYXR0ZXJuCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKHJlLmVycm9yLCByZS5jb21waWxlLCByJyhhKWIoPzw9KC4pXDIpKGMpJykKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMocmUuZXJyb3IsIHJlLmNvbXBpbGUsIHInKGEpYig/PD0oP1A8YT4uKSg/UD1hKSkoYyknKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhyZS5lcnJvciwgcmUuY29tcGlsZSwgcicoYSliKD88PShhKSg/KDIpYnx4KSkoYyknKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhyZS5lcnJvciwgcmUuY29tcGlsZSwgcicoYSliKD88PSguKSg/PD1cMikpKGMpJykKIAogICAgIGRlZiB0ZXN0X2lnbm9yZV9jYXNlKHNlbGYpOgogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlLm1hdGNoKCJhYmMiLCAiQUJDIiwgcmUuSSkuZ3JvdXAoMCksICJBQkMiKQpAQCAtNjkyLDkgKzc0OCwxMiBAQAogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKF9zcmUuZ2V0bG93ZXIob3JkKCdBJyksIDApLCBvcmQoJ2EnKSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChfc3JlLmdldGxvd2VyKG9yZCgnQScpLCByZS5MT0NBTEUpLCBvcmQoJ2EnKSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChfc3JlLmdldGxvd2VyKG9yZCgnQScpLCByZS5VTklDT0RFKSwgb3JkKCdhJykpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoX3NyZS5nZXRsb3dlcihvcmQoJ0EnKSwgcmUuQVNDSUkpLCBvcmQoJ2EnKSkKIAogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlLm1hdGNoKCJhYmMiLCAiQUJDIiwgcmUuSSkuZ3JvdXAoMCksICJBQkMiKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlLm1hdGNoKGIiYWJjIiwgYiJBQkMiLCByZS5JKS5ncm91cCgwKSwgYiJBQkMiKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlLm1hdGNoKCJhYmMiLCAiQUJDIiwgcmUuSXxyZS5BKS5ncm91cCgwKSwgIkFCQyIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmUubWF0Y2goYiJhYmMiLCBiIkFCQyIsIHJlLkl8cmUuTCkuZ3JvdXAoMCksIGIiQUJDIikKIAogICAgIGRlZiB0ZXN0X25vdF9saXRlcmFsKHNlbGYpOgogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlLnNlYXJjaCgiXHMoW15hXSkiLCAiIGIiKS5ncm91cCgxKSwgImIiKQpAQCAtNzc5LDggKzgzOCwxMCBAQAogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlLlgsIHJlLlZFUkJPU0UpCiAKICAgICBkZWYgdGVzdF9mbGFncyhzZWxmKToKLSAgICAgICAgZm9yIGZsYWcgaW4gW3JlLkksIHJlLk0sIHJlLlgsIHJlLlMsIHJlLkxdOgorICAgICAgICBmb3IgZmxhZyBpbiBbcmUuSSwgcmUuTSwgcmUuWCwgcmUuUywgcmUuQSwgcmUuVV06CiAgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUocmUuY29tcGlsZSgnXnBhdHRlcm4kJywgZmxhZykpCisgICAgICAgIGZvciBmbGFnIGluIFtyZS5JLCByZS5NLCByZS5YLCByZS5TLCByZS5BLCByZS5MXToKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShyZS5jb21waWxlKGInXnBhdHRlcm4kJywgZmxhZykpCiAKICAgICBkZWYgdGVzdF9zcmVfY2hhcmFjdGVyX2xpdGVyYWxzKHNlbGYpOgogICAgICAgICBmb3IgaSBpbiBbMCwgOCwgMTYsIDMyLCA2NCwgMTI3LCAxMjgsIDI1NSwgMjU2LCAweEZGRkYsIDB4MTAwMDAsIDB4MTBGRkZGXToKQEAgLTgwMiw3ICs4NjMsNyBAQAogICAgICAgICBzZWxmLmFzc2VydFRydWUocmUubWF0Y2gociJcMDgiLCAiXDAwMDgiKSkKICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHJlLm1hdGNoKHIiXDAxIiwgIlwwMDEiKSkKICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHJlLm1hdGNoKHIiXDAxOCIsICJcMDAxOCIpKQotICAgICAgICBzZWxmLmFzc2VydFRydWUocmUubWF0Y2gociJcNTY3IiwgY2hyKDBvMTY3KSkpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKHJlLmVycm9yLCByZS5tYXRjaCwgciJcNTY3IiwgIiIpCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKHJlLmVycm9yLCByZS5tYXRjaCwgciJcOTExIiwgIiIpCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKHJlLmVycm9yLCByZS5tYXRjaCwgciJceDEiLCAiIikKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMocmUuZXJyb3IsIHJlLm1hdGNoLCByIlx4MXoiLCAiIikKQEAgLTgzMCwxMiArODkxLDEzIEBACiAgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUocmUubWF0Y2gociJbXFUlMDh4XSIgJSBpLCBjaHIoaSkpKQogICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHJlLm1hdGNoKHIiW1xVJTA4eDBdIiAlIGksIGNocihpKSsiMCIpKQogICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHJlLm1hdGNoKHIiW1xVJTA4eHpdIiAlIGksIGNocihpKSsieiIpKQotICAgICAgICBzZWxmLmFzc2VydFRydWUocmUubWF0Y2gociJbXFUwMDAxZDQ5Yy1cVTAwMDFkNGI1XSIsICJcVTAwMDFkNDllIikpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKHJlLmVycm9yLCByZS5tYXRjaCwgciJbXDU2N10iLCAiIikKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMocmUuZXJyb3IsIHJlLm1hdGNoLCByIltcOTExXSIsICIiKQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhyZS5lcnJvciwgcmUubWF0Y2gsIHIiW1x4MXpdIiwgIiIpCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKHJlLmVycm9yLCByZS5tYXRjaCwgciJbXHUxMjN6XSIsICIiKQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhyZS5lcnJvciwgcmUubWF0Y2gsIHIiW1xVMDAwMTIzNHpdIiwgIiIpCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKHJlLmVycm9yLCByZS5tYXRjaCwgciJbXFUwMDExMDAwMF0iLCAiIikKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHJlLm1hdGNoKHIiW1xVMDAwMWQ0OWMtXFUwMDAxZDRiNV0iLCAiXFUwMDAxZDQ5ZSIpKQogCiAgICAgZGVmIHRlc3Rfc3JlX2J5dGVfbGl0ZXJhbHMoc2VsZik6CiAgICAgICAgIGZvciBpIGluIFswLCA4LCAxNiwgMzIsIDY0LCAxMjcsIDEyOCwgMjU1XToKQEAgLTg1MSw3ICs5MTMsNyBAQAogICAgICAgICBzZWxmLmFzc2VydFRydWUocmUubWF0Y2goYnIiXDA4IiwgYiJcMDAwOCIpKQogICAgICAgICBzZWxmLmFzc2VydFRydWUocmUubWF0Y2goYnIiXDAxIiwgYiJcMDAxIikpCiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShyZS5tYXRjaChiciJcMDE4IiwgYiJcMDAxOCIpKQotICAgICAgICBzZWxmLmFzc2VydFRydWUocmUubWF0Y2goYnIiXDU2NyIsIGJ5dGVzKFswbzE2N10pKSkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMocmUuZXJyb3IsIHJlLm1hdGNoLCBiciJcNTY3IiwgYiIiKQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhyZS5lcnJvciwgcmUubWF0Y2gsIGJyIlw5MTEiLCBiIiIpCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKHJlLmVycm9yLCByZS5tYXRjaCwgYnIiXHgxIiwgYiIiKQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhyZS5lcnJvciwgcmUubWF0Y2gsIGJyIlx4MXoiLCBiIiIpCkBAIC04NjgsNiArOTMwLDcgQEAKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShyZS5tYXRjaCgociJbXHglMDJ4el0iICUgaSkuZW5jb2RlKCksIGJ5dGVzKFtpXSkpKQogICAgICAgICBzZWxmLmFzc2VydFRydWUocmUubWF0Y2goYnIiW1x1XSIsIGIndScpKQogICAgICAgICBzZWxmLmFzc2VydFRydWUocmUubWF0Y2goYnIiW1xVXSIsIGInVScpKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhyZS5lcnJvciwgcmUubWF0Y2gsIGJyIltcNTY3XSIsIGIiIikKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMocmUuZXJyb3IsIHJlLm1hdGNoLCBiciJbXDkxMV0iLCBiIiIpCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKHJlLmVycm9yLCByZS5tYXRjaCwgYnIiW1x4MXpdIiwgYiIiKQogCkBAIC0xMDYyLDggKzExMjUsOCBAQAogCiAgICAgZGVmIHRlc3RfaW5saW5lX2ZsYWdzKHNlbGYpOgogICAgICAgICAjIEJ1ZyAjMTcwMAotICAgICAgICB1cHBlcl9jaGFyID0gY2hyKDB4MWVhMCkgIyBMYXRpbiBDYXBpdGFsIExldHRlciBBIHdpdGggRG90IEJlbGxvdwotICAgICAgICBsb3dlcl9jaGFyID0gY2hyKDB4MWVhMSkgIyBMYXRpbiBTbWFsbCBMZXR0ZXIgQSB3aXRoIERvdCBCZWxsb3cKKyAgICAgICAgdXBwZXJfY2hhciA9ICdcdTFlYTAnICMgTGF0aW4gQ2FwaXRhbCBMZXR0ZXIgQSB3aXRoIERvdCBCZWxvdworICAgICAgICBsb3dlcl9jaGFyID0gJ1x1MWVhMScgIyBMYXRpbiBTbWFsbCBMZXR0ZXIgQSB3aXRoIERvdCBCZWxvdwogCiAgICAgICAgIHAgPSByZS5jb21waWxlKHVwcGVyX2NoYXIsIHJlLkkgfCByZS5VKQogICAgICAgICBxID0gcC5tYXRjaChsb3dlcl9jaGFyKQpAQCAtMTE0Myw2ICsxMjA2LDUyIEBACiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIHJlLmNvbXBpbGUsICcoP2EpXHcnLCByZS5VTklDT0RFKQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCByZS5jb21waWxlLCAnKD9hdSlcdycpCiAKKyAgICBkZWYgdGVzdF9sb2NhbGVfZmxhZyhzZWxmKToKKyAgICAgICAgaW1wb3J0IGxvY2FsZQorICAgICAgICBfLCBlbmMgPSBsb2NhbGUuZ2V0bG9jYWxlKGxvY2FsZS5MQ19DVFlQRSkKKyAgICAgICAgIyBTZWFyY2ggbm9uLUFTQ0lJIGxldHRlcgorICAgICAgICBmb3IgaSBpbiByYW5nZSgxMjgsIDI1Nik6CisgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgYyA9IGJ5dGVzKFtpXSkuZGVjb2RlKGVuYykKKyAgICAgICAgICAgICAgICBzbGV0dGVyID0gYy5sb3dlcigpCisgICAgICAgICAgICAgICAgaWYgc2xldHRlciA9PSBjOiBjb250aW51ZQorICAgICAgICAgICAgICAgIGJsZXR0ZXIgPSBzbGV0dGVyLmVuY29kZShlbmMpCisgICAgICAgICAgICAgICAgaWYgbGVuKGJsZXR0ZXIpICE9IDE6IGNvbnRpbnVlCisgICAgICAgICAgICAgICAgaWYgYmxldHRlci5kZWNvZGUoZW5jKSAhPSBzbGV0dGVyOiBjb250aW51ZQorICAgICAgICAgICAgICAgIGJwYXQgPSByZS5lc2NhcGUoYnl0ZXMoW2ldKSkKKyAgICAgICAgICAgICAgICBicmVhaworICAgICAgICAgICAgZXhjZXB0IChVbmljb2RlRXJyb3IsIFR5cGVFcnJvcik6CisgICAgICAgICAgICAgICAgcGFzcworICAgICAgICBlbHNlOgorICAgICAgICAgICAgYmxldHRlciA9IE5vbmUKKyAgICAgICAgICAgIGJwYXQgPSBiJ0EnCisgICAgICAgICMgQnl0ZXMgcGF0dGVybnMKKyAgICAgICAgcGF0ID0gcmUuY29tcGlsZShicGF0LCByZS5MT0NBTEUgfCByZS5JR05PUkVDQVNFKQorICAgICAgICBpZiBibGV0dGVyOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHBhdC5tYXRjaChibGV0dGVyKSkKKyAgICAgICAgcGF0ID0gcmUuY29tcGlsZShiJyg/TCknICsgYnBhdCwgcmUuSUdOT1JFQ0FTRSkKKyAgICAgICAgaWYgYmxldHRlcjoKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShwYXQubWF0Y2goYmxldHRlcikpCisgICAgICAgIHBhdCA9IHJlLmNvbXBpbGUoYnBhdCwgcmUuSUdOT1JFQ0FTRSkKKyAgICAgICAgaWYgYmxldHRlcjoKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXNOb25lKHBhdC5tYXRjaChibGV0dGVyKSkKKyAgICAgICAgcGF0ID0gcmUuY29tcGlsZShiJ1x3JywgcmUuTE9DQUxFKQorICAgICAgICBpZiBibGV0dGVyOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHBhdC5tYXRjaChibGV0dGVyKSkKKyAgICAgICAgcGF0ID0gcmUuY29tcGlsZShiJyg/TClcdycpCisgICAgICAgIGlmIGJsZXR0ZXI6CisgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUocGF0Lm1hdGNoKGJsZXR0ZXIpKQorICAgICAgICBwYXQgPSByZS5jb21waWxlKGInXHcnKQorICAgICAgICBpZiBibGV0dGVyOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRJc05vbmUocGF0Lm1hdGNoKGJsZXR0ZXIpKQorICAgICAgICAjIEluY29tcGF0aWJpbGl0aWVzCisgICAgICAgIHNlbGYuYXNzZXJ0V2FybnMoRGVwcmVjYXRpb25XYXJuaW5nLCByZS5jb21waWxlLCAnJywgcmUuTE9DQUxFKQorICAgICAgICBzZWxmLmFzc2VydFdhcm5zKERlcHJlY2F0aW9uV2FybmluZywgcmUuY29tcGlsZSwgJyg/TCknKQorICAgICAgICBzZWxmLmFzc2VydFdhcm5zKERlcHJlY2F0aW9uV2FybmluZywgcmUuY29tcGlsZSwgYicnLCByZS5MT0NBTEUgfCByZS5BU0NJSSkKKyAgICAgICAgc2VsZi5hc3NlcnRXYXJucyhEZXByZWNhdGlvbldhcm5pbmcsIHJlLmNvbXBpbGUsIGInKD9MKScsIHJlLkFTQ0lJKQorICAgICAgICBzZWxmLmFzc2VydFdhcm5zKERlcHJlY2F0aW9uV2FybmluZywgcmUuY29tcGlsZSwgYicoP2EpJywgcmUuTE9DQUxFKQorICAgICAgICBzZWxmLmFzc2VydFdhcm5zKERlcHJlY2F0aW9uV2FybmluZywgcmUuY29tcGlsZSwgYicoP2FMKScpCisKICAgICBkZWYgdGVzdF9idWdfNjUwOShzZWxmKToKICAgICAgICAgIyBSZXBsYWNlbWVudCBzdHJpbmdzIG9mIGJvdGggdHlwZXMgbXVzdCBwYXJzZSBwcm9wZXJseS4KICAgICAgICAgIyBhbGwgc3RyaW5ncwpAQCAtMTE3MCw4ICsxMjc5LDEwIEBACiAgICAgICAgICMgYSBSdW50aW1lRXJyb3IgaXMgcmFpc2VkIGluc3RlYWQgb2YgT3ZlcmZsb3dFcnJvci4KICAgICAgICAgbG9uZ19vdmVyZmxvdyA9IDIqKjEyOAogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIHJlLmZpbmRpdGVyLCAiYSIsIHt9KQotICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhPdmVyZmxvd0Vycm9yLCBfc3JlLmNvbXBpbGUsICJhYmMiLCAwLCBbbG9uZ19vdmVyZmxvd10pCi0gICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgX3NyZS5jb21waWxlLCB7fSwgMCwgW10pCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoT3ZlcmZsb3dFcnJvcik6CisgICAgICAgICAgICBfc3JlLmNvbXBpbGUoImFiYyIsIDAsIFtsb25nX292ZXJmbG93XSwgMCwgW10sIFtdKQorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvcik6CisgICAgICAgICAgICBfc3JlLmNvbXBpbGUoe30sIDAsIFtdLCAwLCBbXSwgW10pCiAKICAgICBkZWYgdGVzdF9zZWFyY2hfZG90X3VuaWNvZGUoc2VsZik6CiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShyZS5zZWFyY2goIjEyMy4qLSIsICcxMjNhYmMtJykpCkBAIC0xMzA5LDIyICsxNDIwLDIyIEBACiAgICAgICAgIHdpdGggY2FwdHVyZWRfc3Rkb3V0KCkgYXMgb3V0OgogICAgICAgICAgICAgcmUuY29tcGlsZShwYXQsIHJlLkRFQlVHKQogICAgICAgICBkdW1wID0gJycnXAotc3VicGF0dGVybiAxCi0gIGxpdGVyYWwgNDYKLXN1YnBhdHRlcm4gTm9uZQotICBicmFuY2gKLSAgICBpbgotICAgICAgbGl0ZXJhbCA5OQotICAgICAgbGl0ZXJhbCAxMDQKLSAgb3IKLSAgICBsaXRlcmFsIDExMgotICAgIGxpdGVyYWwgMTIxCi1zdWJwYXR0ZXJuIE5vbmUKLSAgZ3JvdXByZWZfZXhpc3RzIDEKLSAgICBhdCBhdF9lbmQKLSAgZWxzZQotICAgIGxpdGVyYWwgNTgKLSAgICBsaXRlcmFsIDMyCitTVUJQQVRURVJOIDEKKyAgTElURVJBTCA0NgorU1VCUEFUVEVSTiBOb25lCisgIEJSQU5DSAorICAgIElOCisgICAgICBMSVRFUkFMIDk5CisgICAgICBMSVRFUkFMIDEwNAorICBPUgorICAgIExJVEVSQUwgMTEyCisgICAgTElURVJBTCAxMjEKK1NVQlBBVFRFUk4gTm9uZQorICBHUk9VUFJFRl9FWElTVFMgMQorICAgIEFUIEFUX0VORAorICBFTFNFCisgICAgTElURVJBTCA1OAorICAgIExJVEVSQUwgMzIKICcnJwogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG91dC5nZXR2YWx1ZSgpLCBkdW1wKQogICAgICAgICAjIERlYnVnIG91dHB1dCBpcyBvdXRwdXQgYWdhaW4gZXZlbiBhIHNlY29uZCB0aW1lIChieXBhc3NpbmcKQEAgLTEzOTIsNiArMTUwMyw0MiBAQAogICAgICAgICBzZWxmLmFzc2VydElzTm9uZShyZS5tYXRjaChiJyg/TGkpXHhjNScsIGInXHhlNScpKQogICAgICAgICBzZWxmLmFzc2VydElzTm9uZShyZS5tYXRjaChiJyg/TGkpXHhlNScsIGInXHhjNScpKQogCisgICAgZGVmIHRlc3RfZXJyb3Ioc2VsZik6CisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMocmUuZXJyb3IpIGFzIGNtOgorICAgICAgICAgICAgcmUuY29tcGlsZSgnKFx1MjBhYykpJykKKyAgICAgICAgZXJyID0gY20uZXhjZXB0aW9uCisgICAgICAgIHNlbGYuYXNzZXJ0SXNJbnN0YW5jZShlcnIucGF0dGVybiwgc3RyKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGVyci5wYXR0ZXJuLCAnKFx1MjBhYykpJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChlcnIucG9zLCAzKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGVyci5saW5lbm8sIDEpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZXJyLmNvbG5vLCA0KQorICAgICAgICBzZWxmLmFzc2VydEluKGVyci5tc2csIHN0cihlcnIpKQorICAgICAgICBzZWxmLmFzc2VydEluKCcgYXQgcG9zaXRpb24gMycsIHN0cihlcnIpKQorICAgICAgICBzZWxmLmFzc2VydE5vdEluKCcgYXQgcG9zaXRpb24gMycsIGVyci5tc2cpCisgICAgICAgICMgQnl0ZXMgcGF0dGVybgorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKHJlLmVycm9yKSBhcyBjbToKKyAgICAgICAgICAgIHJlLmNvbXBpbGUoYicoXHhhNCkpJykKKyAgICAgICAgZXJyID0gY20uZXhjZXB0aW9uCisgICAgICAgIHNlbGYuYXNzZXJ0SXNJbnN0YW5jZShlcnIucGF0dGVybiwgYnl0ZXMpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZXJyLnBhdHRlcm4sIGInKFx4YTQpKScpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZXJyLnBvcywgMykKKyAgICAgICAgIyBNdWx0aWxpbmUgcGF0dGVybgorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKHJlLmVycm9yKSBhcyBjbToKKyAgICAgICAgICAgIHJlLmNvbXBpbGUoIiIiCisgICAgICAgICAgICAgICAgKAorICAgICAgICAgICAgICAgICAgICBhYmMKKyAgICAgICAgICAgICAgICApCisgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgICAgICgKKyAgICAgICAgICAgICAgICAiIiIsIHJlLlZFUkJPU0UpCisgICAgICAgIGVyciA9IGNtLmV4Y2VwdGlvbgorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGVyci5wb3MsIDc3KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGVyci5saW5lbm8sIDUpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZXJyLmNvbG5vLCAxNykKKyAgICAgICAgc2VsZi5hc3NlcnRJbihlcnIubXNnLCBzdHIoZXJyKSkKKyAgICAgICAgc2VsZi5hc3NlcnRJbignIGF0IHBvc2l0aW9uIDc3Jywgc3RyKGVycikpCisgICAgICAgIHNlbGYuYXNzZXJ0SW4oJyhsaW5lIDUsIGNvbHVtbiAxNyknLCBzdHIoZXJyKSkKKwogCiBjbGFzcyBQYXR0ZXJuUmVwclRlc3RzKHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICBkZWYgY2hlY2soc2VsZiwgcGF0dGVybiwgZXhwZWN0ZWQpOgpAQCAtMTQzNiw2ICsxNTgzLDEwIEBACiAgICAgICAgIHNlbGYuY2hlY2tfZmxhZ3MoYidieXRlcyBwYXR0ZXJuJywgcmUuQSwKICAgICAgICAgICAgICAgICAgICAgICAgICAicmUuY29tcGlsZShiJ2J5dGVzIHBhdHRlcm4nLCByZS5BU0NJSSkiKQogCisgICAgZGVmIHRlc3RfbG9jYWxlKHNlbGYpOgorICAgICAgICBzZWxmLmNoZWNrX2ZsYWdzKGInYnl0ZXMgcGF0dGVybicsIHJlLkwsCisgICAgICAgICAgICAgICAgICAgICAgICAgInJlLmNvbXBpbGUoYidieXRlcyBwYXR0ZXJuJywgcmUuTE9DQUxFKSIpCisKICAgICBkZWYgdGVzdF9xdW90ZXMoc2VsZik6CiAgICAgICAgIHNlbGYuY2hlY2soJ3JhbmRvbSAiZG91YmxlIHF1b3RlZCIgcGF0dGVybicsCiAgICAgICAgICAgICAnJydyZS5jb21waWxlKCdyYW5kb20gImRvdWJsZSBxdW90ZWQiIHBhdHRlcm4nKScnJykKQEAgLTE1NDksOCArMTcwMCwxNiBAQAogICAgICAgICAgICAgICAgICAgICBwYXNzCiAgICAgICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICAgICAgd2l0aCBzZWxmLnN1YlRlc3QoJ2J5dGVzIHBhdHRlcm4gbWF0Y2gnKToKLSAgICAgICAgICAgICAgICAgICAgICAgIGJwYXQgPSByZS5jb21waWxlKGJwYXQpCi0gICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUoYnBhdC5zZWFyY2goYnMpKQorICAgICAgICAgICAgICAgICAgICAgICAgb2JqID0gcmUuY29tcGlsZShicGF0KQorICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKG9iai5zZWFyY2goYnMpKQorCisgICAgICAgICAgICAgICAgICAgICMgVHJ5IHRoZSBtYXRjaCB3aXRoIExPQ0FMRSBlbmFibGVkLCBhbmQgY2hlY2sgdGhhdCBpdAorICAgICAgICAgICAgICAgICAgICAjIHN0aWxsIHN1Y2NlZWRzLgorICAgICAgICAgICAgICAgICAgICB3aXRoIHNlbGYuc3ViVGVzdCgnbG9jYWxlLXNlbnNpdGl2ZSBtYXRjaCcpOgorICAgICAgICAgICAgICAgICAgICAgICAgb2JqID0gcmUuY29tcGlsZShicGF0LCByZS5MT0NBTEUpCisgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQgPSBvYmouc2VhcmNoKGJzKQorICAgICAgICAgICAgICAgICAgICAgICAgaWYgcmVzdWx0IGlzIE5vbmU6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJpbnQoJz09PSBGYWlscyBvbiBsb2NhbGUtc2Vuc2l0aXZlIG1hdGNoJywgdCkKIAogICAgICAgICAgICAgICAgICMgVHJ5IHRoZSBtYXRjaCB3aXRoIHRoZSBzZWFyY2ggYXJlYSBsaW1pdGVkIHRvIHRoZSBleHRlbnQKICAgICAgICAgICAgICAgICAjIG9mIHRoZSBtYXRjaCBhbmQgc2VlIGlmIGl0IHN0aWxsIHN1Y2NlZWRzLiAgXEIgd2lsbApAQCAtMTU2OCwxMyArMTcyNyw2IEBACiAgICAgICAgICAgICAgICAgICAgIG9iaiA9IHJlLmNvbXBpbGUocGF0dGVybiwgcmUuSUdOT1JFQ0FTRSkKICAgICAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKG9iai5zZWFyY2gocykpCiAKLSAgICAgICAgICAgICAgICAjIFRyeSB0aGUgbWF0Y2ggd2l0aCBMT0NBTEUgZW5hYmxlZCwgYW5kIGNoZWNrIHRoYXQgaXQKLSAgICAgICAgICAgICAgICAjIHN0aWxsIHN1Y2NlZWRzLgotICAgICAgICAgICAgICAgIGlmICcoP3UpJyBub3QgaW4gcGF0dGVybjoKLSAgICAgICAgICAgICAgICAgICAgd2l0aCBzZWxmLnN1YlRlc3QoJ2xvY2FsZS1zZW5zaXRpdmUgbWF0Y2gnKToKLSAgICAgICAgICAgICAgICAgICAgICAgIG9iaiA9IHJlLmNvbXBpbGUocGF0dGVybiwgcmUuTE9DQUxFKQotICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKG9iai5zZWFyY2gocykpCi0KICAgICAgICAgICAgICAgICAjIFRyeSB0aGUgbWF0Y2ggd2l0aCBVTklDT0RFIGxvY2FsZSBlbmFibGVkLCBhbmQgY2hlY2sKICAgICAgICAgICAgICAgICAjIHRoYXQgaXQgc3RpbGwgc3VjY2VlZHMuCiAgICAgICAgICAgICAgICAgd2l0aCBzZWxmLnN1YlRlc3QoJ3VuaWNvZGUtc2Vuc2l0aXZlIG1hdGNoJyk6CmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X3JlYWRsaW5lLnB5IGIvTGliL3Rlc3QvdGVzdF9yZWFkbGluZS5weQppbmRleCAwYjJiMGE1Li4yM2Q2MTk0IDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X3JlYWRsaW5lLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfcmVhZGxpbmUucHkKQEAgLTIsOCArMiw5IEBACiBWZXJ5IG1pbmltYWwgdW5pdHRlc3RzIGZvciBwYXJ0cyBvZiB0aGUgcmVhZGxpbmUgbW9kdWxlLgogIiIiCiBpbXBvcnQgb3MKK2ltcG9ydCB0ZW1wZmlsZQogaW1wb3J0IHVuaXR0ZXN0Ci1mcm9tIHRlc3Quc3VwcG9ydCBpbXBvcnQgcnVuX3VuaXR0ZXN0LCBpbXBvcnRfbW9kdWxlCitmcm9tIHRlc3Quc3VwcG9ydCBpbXBvcnQgcnVuX3VuaXR0ZXN0LCBpbXBvcnRfbW9kdWxlLCB1bmxpbmsKIGZyb20gdGVzdC5zY3JpcHRfaGVscGVyIGltcG9ydCBhc3NlcnRfcHl0aG9uX29rCiAKICMgU2tpcCB0ZXN0cyBpZiB0aGVyZSBpcyBubyByZWFkbGluZSBtb2R1bGUKQEAgLTQyLDYgKzQzLDQ1IEBACiAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZWFkbGluZS5nZXRfY3VycmVudF9oaXN0b3J5X2xlbmd0aCgpLCAxKQogCisgICAgQHVuaXR0ZXN0LnNraXBVbmxlc3MoaGFzYXR0cihyZWFkbGluZSwgImFwcGVuZF9oaXN0b3J5X2ZpbGUiKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAiYXBwZW5kX2hpc3Rvcnkgbm90IGF2YWlsYWJsZSIpCisgICAgZGVmIHRlc3Rfd3JpdGVfcmVhZF9hcHBlbmQoc2VsZik6CisgICAgICAgIGhmaWxlID0gdGVtcGZpbGUuTmFtZWRUZW1wb3JhcnlGaWxlKGRlbGV0ZT1GYWxzZSkKKyAgICAgICAgaGZpbGUuY2xvc2UoKQorICAgICAgICBoZmlsZW5hbWUgPSBoZmlsZS5uYW1lCisgICAgICAgIHNlbGYuYWRkQ2xlYW51cCh1bmxpbmssIGhmaWxlbmFtZSkKKworICAgICAgICAjIHRlc3Qgd3JpdGUtY2xlYXItcmVhZCA9PSBub3AKKyAgICAgICAgcmVhZGxpbmUuY2xlYXJfaGlzdG9yeSgpCisgICAgICAgIHJlYWRsaW5lLmFkZF9oaXN0b3J5KCJmaXJzdCBsaW5lIikKKyAgICAgICAgcmVhZGxpbmUuYWRkX2hpc3RvcnkoInNlY29uZCBsaW5lIikKKyAgICAgICAgcmVhZGxpbmUud3JpdGVfaGlzdG9yeV9maWxlKGhmaWxlbmFtZSkKKworICAgICAgICByZWFkbGluZS5jbGVhcl9oaXN0b3J5KCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZWFkbGluZS5nZXRfY3VycmVudF9oaXN0b3J5X2xlbmd0aCgpLCAwKQorCisgICAgICAgIHJlYWRsaW5lLnJlYWRfaGlzdG9yeV9maWxlKGhmaWxlbmFtZSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZWFkbGluZS5nZXRfY3VycmVudF9oaXN0b3J5X2xlbmd0aCgpLCAyKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlYWRsaW5lLmdldF9oaXN0b3J5X2l0ZW0oMSksICJmaXJzdCBsaW5lIikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZWFkbGluZS5nZXRfaGlzdG9yeV9pdGVtKDIpLCAic2Vjb25kIGxpbmUiKQorCisgICAgICAgICMgdGVzdCBhcHBlbmQKKyAgICAgICAgcmVhZGxpbmUuYXBwZW5kX2hpc3RvcnlfZmlsZSgxLCBoZmlsZW5hbWUpCisgICAgICAgIHJlYWRsaW5lLmNsZWFyX2hpc3RvcnkoKQorICAgICAgICByZWFkbGluZS5yZWFkX2hpc3RvcnlfZmlsZShoZmlsZW5hbWUpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVhZGxpbmUuZ2V0X2N1cnJlbnRfaGlzdG9yeV9sZW5ndGgoKSwgMykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZWFkbGluZS5nZXRfaGlzdG9yeV9pdGVtKDEpLCAiZmlyc3QgbGluZSIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVhZGxpbmUuZ2V0X2hpc3RvcnlfaXRlbSgyKSwgInNlY29uZCBsaW5lIikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZWFkbGluZS5nZXRfaGlzdG9yeV9pdGVtKDMpLCAic2Vjb25kIGxpbmUiKQorCisgICAgICAgICMgdGVzdCAnbm8gc3VjaCBmaWxlJyBiZWhhdmlvdXIKKyAgICAgICAgb3MudW5saW5rKGhmaWxlbmFtZSkKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhGaWxlTm90Rm91bmRFcnJvcik6CisgICAgICAgICAgICByZWFkbGluZS5hcHBlbmRfaGlzdG9yeV9maWxlKDEsIGhmaWxlbmFtZSkKKworICAgICAgICAjIHdyaXRlX2hpc3RvcnlfZmlsZSBjYW4gY3JlYXRlIHRoZSB0YXJnZXQKKyAgICAgICAgcmVhZGxpbmUud3JpdGVfaGlzdG9yeV9maWxlKGhmaWxlbmFtZSkKKwogCiBjbGFzcyBUZXN0UmVhZGxpbmUodW5pdHRlc3QuVGVzdENhc2UpOgogCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X3JlcHJsaWIucHkgYi9MaWIvdGVzdC90ZXN0X3JlcHJsaWIucHkKaW5kZXggYWU2N2YwNi4uYTUxYzRkNyAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9yZXBybGliLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfcmVwcmxpYi5weQpAQCAtMTAsNyArMTAsNyBAQAogaW1wb3J0IGltcG9ydGxpYi51dGlsCiBpbXBvcnQgdW5pdHRlc3QKIAotZnJvbSB0ZXN0LnN1cHBvcnQgaW1wb3J0IHJ1bl91bml0dGVzdCwgY3JlYXRlX2VtcHR5X2ZpbGUsIHZlcmJvc2UKK2Zyb20gdGVzdC5zdXBwb3J0IGltcG9ydCBjcmVhdGVfZW1wdHlfZmlsZSwgdmVyYm9zZQogZnJvbSByZXBybGliIGltcG9ydCByZXByIGFzIHIgIyBEb24ndCBzaGFkb3cgYnVpbHRpbiByZXByCiBmcm9tIHJlcHJsaWIgaW1wb3J0IFJlcHIKIGZyb20gcmVwcmxpYiBpbXBvcnQgcmVjdXJzaXZlX3JlcHIKQEAgLTcwLDE4ICs3MCwxOCBAQAogICAgICAgICBlcShyKFsxLCAyLCAzLCA0LCA1LCA2LCA3XSksICJbMSwgMiwgMywgNCwgNSwgNiwgLi4uXSIpCiAKICAgICAgICAgIyBTZXRzIGdpdmUgdXAgYWZ0ZXIgNiBhcyB3ZWxsCi0gICAgICAgIGVxKHIoc2V0KFtdKSksICJzZXQoW10pIikKLSAgICAgICAgZXEocihzZXQoWzFdKSksICJzZXQoWzFdKSIpCi0gICAgICAgIGVxKHIoc2V0KFsxLCAyLCAzXSkpLCAic2V0KFsxLCAyLCAzXSkiKQotICAgICAgICBlcShyKHNldChbMSwgMiwgMywgNCwgNSwgNl0pKSwgInNldChbMSwgMiwgMywgNCwgNSwgNl0pIikKLSAgICAgICAgZXEocihzZXQoWzEsIDIsIDMsIDQsIDUsIDYsIDddKSksICJzZXQoWzEsIDIsIDMsIDQsIDUsIDYsIC4uLl0pIikKKyAgICAgICAgZXEocihzZXQoW10pKSwgInNldCgpIikKKyAgICAgICAgZXEocihzZXQoWzFdKSksICJ7MX0iKQorICAgICAgICBlcShyKHNldChbMSwgMiwgM10pKSwgInsxLCAyLCAzfSIpCisgICAgICAgIGVxKHIoc2V0KFsxLCAyLCAzLCA0LCA1LCA2XSkpLCAiezEsIDIsIDMsIDQsIDUsIDZ9IikKKyAgICAgICAgZXEocihzZXQoWzEsIDIsIDMsIDQsIDUsIDYsIDddKSksICJ7MSwgMiwgMywgNCwgNSwgNiwgLi4ufSIpCiAKICAgICAgICAgIyBGcm96ZW5zZXRzIGdpdmUgdXAgYWZ0ZXIgNiBhcyB3ZWxsCi0gICAgICAgIGVxKHIoZnJvemVuc2V0KFtdKSksICJmcm96ZW5zZXQoW10pIikKLSAgICAgICAgZXEocihmcm96ZW5zZXQoWzFdKSksICJmcm96ZW5zZXQoWzFdKSIpCi0gICAgICAgIGVxKHIoZnJvemVuc2V0KFsxLCAyLCAzXSkpLCAiZnJvemVuc2V0KFsxLCAyLCAzXSkiKQotICAgICAgICBlcShyKGZyb3plbnNldChbMSwgMiwgMywgNCwgNSwgNl0pKSwgImZyb3plbnNldChbMSwgMiwgMywgNCwgNSwgNl0pIikKLSAgICAgICAgZXEocihmcm96ZW5zZXQoWzEsIDIsIDMsIDQsIDUsIDYsIDddKSksICJmcm96ZW5zZXQoWzEsIDIsIDMsIDQsIDUsIDYsIC4uLl0pIikKKyAgICAgICAgZXEocihmcm96ZW5zZXQoW10pKSwgImZyb3plbnNldCgpIikKKyAgICAgICAgZXEocihmcm96ZW5zZXQoWzFdKSksICJmcm96ZW5zZXQoezF9KSIpCisgICAgICAgIGVxKHIoZnJvemVuc2V0KFsxLCAyLCAzXSkpLCAiZnJvemVuc2V0KHsxLCAyLCAzfSkiKQorICAgICAgICBlcShyKGZyb3plbnNldChbMSwgMiwgMywgNCwgNSwgNl0pKSwgImZyb3plbnNldCh7MSwgMiwgMywgNCwgNSwgNn0pIikKKyAgICAgICAgZXEocihmcm96ZW5zZXQoWzEsIDIsIDMsIDQsIDUsIDYsIDddKSksICJmcm96ZW5zZXQoezEsIDIsIDMsIDQsIDUsIDYsIC4uLn0pIikKIAogICAgICAgICAjIGNvbGxlY3Rpb25zLmRlcXVlIGFmdGVyIDYKICAgICAgICAgZXEocihkZXF1ZShbMSwgMiwgMywgNCwgNSwgNiwgN10pKSwgImRlcXVlKFsxLCAyLCAzLCA0LCA1LCA2LCAuLi5dKSIpCkBAIC05NCw3ICs5NCw3IEBACiAgICAgICAgIGVxKHIoZCksICJ7J2FsaWNlJzogMSwgJ2FydGh1cic6IDEsICdib2InOiAyLCAnY2hhcmxlcyc6IDMsIC4uLn0iKQogCiAgICAgICAgICMgYXJyYXkuYXJyYXkgYWZ0ZXIgNS4KLSAgICAgICAgZXEocihhcnJheSgnaScpKSwgImFycmF5KCdpJywgW10pIikKKyAgICAgICAgZXEocihhcnJheSgnaScpKSwgImFycmF5KCdpJykiKQogICAgICAgICBlcShyKGFycmF5KCdpJywgWzFdKSksICJhcnJheSgnaScsIFsxXSkiKQogICAgICAgICBlcShyKGFycmF5KCdpJywgWzEsIDJdKSksICJhcnJheSgnaScsIFsxLCAyXSkiKQogICAgICAgICBlcShyKGFycmF5KCdpJywgWzEsIDIsIDNdKSksICJhcnJheSgnaScsIFsxLCAyLCAzXSkiKQpAQCAtMTAzLDYgKzEwMywyMCBAQAogICAgICAgICBlcShyKGFycmF5KCdpJywgWzEsIDIsIDMsIDQsIDUsIDZdKSksCiAgICAgICAgICAgICAgICAgICAgImFycmF5KCdpJywgWzEsIDIsIDMsIDQsIDUsIC4uLl0pIikKIAorICAgIGRlZiB0ZXN0X3NldF9saXRlcmFsKHNlbGYpOgorICAgICAgICBlcSA9IHNlbGYuYXNzZXJ0RXF1YWwKKyAgICAgICAgZXEocih7MX0pLCAiezF9IikKKyAgICAgICAgZXEocih7MSwgMiwgM30pLCAiezEsIDIsIDN9IikKKyAgICAgICAgZXEocih7MSwgMiwgMywgNCwgNSwgNn0pLCAiezEsIDIsIDMsIDQsIDUsIDZ9IikKKyAgICAgICAgZXEocih7MSwgMiwgMywgNCwgNSwgNiwgN30pLCAiezEsIDIsIDMsIDQsIDUsIDYsIC4uLn0iKQorCisgICAgZGVmIHRlc3RfZnJvemVuc2V0KHNlbGYpOgorICAgICAgICBlcSA9IHNlbGYuYXNzZXJ0RXF1YWwKKyAgICAgICAgZXEocihmcm96ZW5zZXQoezF9KSksICJmcm96ZW5zZXQoezF9KSIpCisgICAgICAgIGVxKHIoZnJvemVuc2V0KHsxLCAyLCAzfSkpLCAiZnJvemVuc2V0KHsxLCAyLCAzfSkiKQorICAgICAgICBlcShyKGZyb3plbnNldCh7MSwgMiwgMywgNCwgNSwgNn0pKSwgImZyb3plbnNldCh7MSwgMiwgMywgNCwgNSwgNn0pIikKKyAgICAgICAgZXEocihmcm96ZW5zZXQoezEsIDIsIDMsIDQsIDUsIDYsIDd9KSksICJmcm96ZW5zZXQoezEsIDIsIDMsIDQsIDUsIDYsIC4uLn0pIikKKwogICAgIGRlZiB0ZXN0X251bWJlcnMoc2VsZik6CiAgICAgICAgIGVxID0gc2VsZi5hc3NlcnRFcXVhbAogICAgICAgICBlcShyKDEyMyksIHJlcHIoMTIzKSkKQEAgLTEyMyw3ICsxMzcsNyBAQAogICAgICAgICBlcShyKGkyKSwgZXhwZWN0ZWQpCiAKICAgICAgICAgaTMgPSBDbGFzc1dpdGhGYWlsaW5nUmVwcigpCi0gICAgICAgIGVxKHIoaTMpLCAoIjxDbGFzc1dpdGhGYWlsaW5nUmVwciBpbnN0YW5jZSBhdCAleD4iJWlkKGkzKSkpCisgICAgICAgIGVxKHIoaTMpLCAoIjxDbGFzc1dpdGhGYWlsaW5nUmVwciBpbnN0YW5jZSBhdCAlI3g+IiVpZChpMykpKQogCiAgICAgICAgIHMgPSByKENsYXNzV2l0aEZhaWxpbmdSZXByKQogICAgICAgICBzZWxmLmFzc2VydFRydWUocy5zdGFydHN3aXRoKCI8Y2xhc3MgIikpCkBAIC0zNzMsMTEgKzM4Nyw1IEBACiAgICAgICAgIG0uYXBwZW5kKG0pCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVwcihtKSwgJzxhLCBiLCBjLCBkLCBlLCArKyssIHgsICsrKz4nKQogCi1kZWYgdGVzdF9tYWluKCk6Ci0gICAgcnVuX3VuaXR0ZXN0KFJlcHJUZXN0cykKLSAgICBydW5fdW5pdHRlc3QoTG9uZ1JlcHJUZXN0KQotICAgIHJ1bl91bml0dGVzdChUZXN0UmVjdXJzaXZlUmVwcikKLQotCiBpZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgotICAgIHRlc3RfbWFpbigpCisgICAgdW5pdHRlc3QubWFpbigpCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X3NjcmlwdF9oZWxwZXIucHkgYi9MaWIvdGVzdC90ZXN0X3NjcmlwdF9oZWxwZXIucHkKaW5kZXggNzU0MGUyZS4uNzQzMzNjOSAxMDA3NTUKLS0tIGEvTGliL3Rlc3QvdGVzdF9zY3JpcHRfaGVscGVyLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3Rfc2NyaXB0X2hlbHBlci5weQpAQCAtMzYsNyArMzYsNyBAQAogICAgIEBtb2NrLnBhdGNoKCdzdWJwcm9jZXNzLlBvcGVuJykKICAgICBkZWYgdGVzdF9hc3NlcnRfcHl0aG9uX2lzb2xhdGVkX3doZW5fZW52X25vdF9yZXF1aXJlZChzZWxmLCBtb2NrX3BvcGVuKToKICAgICAgICAgd2l0aCBtb2NrLnBhdGNoLm9iamVjdChzY3JpcHRfaGVscGVyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdfaW50ZXJwcmV0ZXJfcmVxdWlyZXNfZW52aXJvbm1lbnQnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpbnRlcnByZXRlcl9yZXF1aXJlc19lbnZpcm9ubWVudCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuX3ZhbHVlPUZhbHNlKSBhcyBtb2NrX2lyZV9mdW5jOgogICAgICAgICAgICAgbW9ja19wb3Blbi5zaWRlX2VmZmVjdCA9IFJ1bnRpbWVFcnJvcignYmFpbCBvdXQgb2YgdW5pdHRlc3QnKQogICAgICAgICAgICAgdHJ5OgpAQCAtNTUsNyArNTUsNyBAQAogICAgIGRlZiB0ZXN0X2Fzc2VydF9weXRob25fbm90X2lzb2xhdGVkX3doZW5fZW52X2lzX3JlcXVpcmVkKHNlbGYsIG1vY2tfcG9wZW4pOgogICAgICAgICAiIiJFbnN1cmUgdGhhdCAtSSBpcyBub3QgcGFzc2VkIHdoZW4gdGhlIGVudmlyb25tZW50IGlzIHJlcXVpcmVkLiIiIgogICAgICAgICB3aXRoIG1vY2sucGF0Y2gub2JqZWN0KHNjcmlwdF9oZWxwZXIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ19pbnRlcnByZXRlcl9yZXF1aXJlc19lbnZpcm9ubWVudCcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ludGVycHJldGVyX3JlcXVpcmVzX2Vudmlyb25tZW50JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm5fdmFsdWU9VHJ1ZSkgYXMgbW9ja19pcmVfZnVuYzoKICAgICAgICAgICAgIG1vY2tfcG9wZW4uc2lkZV9lZmZlY3QgPSBSdW50aW1lRXJyb3IoJ2JhaWwgb3V0IG9mIHVuaXR0ZXN0JykKICAgICAgICAgICAgIHRyeToKQEAgLTY4LDcgKzY4LDcgQEAKIAogCiBjbGFzcyBUZXN0U2NyaXB0SGVscGVyRW52aXJvbm1lbnQodW5pdHRlc3QuVGVzdENhc2UpOgotICAgICIiIkNvZGUgY292ZXJhZ2UgZm9yIF9pbnRlcnByZXRlcl9yZXF1aXJlc19lbnZpcm9ubWVudCgpLiIiIgorICAgICIiIkNvZGUgY292ZXJhZ2UgZm9yIGludGVycHJldGVyX3JlcXVpcmVzX2Vudmlyb25tZW50KCkuIiIiCiAKICAgICBkZWYgc2V0VXAoc2VsZik6CiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZSgKQEAgLTgzLDIyICs4MywyMiBAQAogICAgIEBtb2NrLnBhdGNoKCdzdWJwcm9jZXNzLmNoZWNrX2NhbGwnKQogICAgIGRlZiB0ZXN0X2ludGVycHJldGVyX3JlcXVpcmVzX2Vudmlyb25tZW50X3RydWUoc2VsZiwgbW9ja19jaGVja19jYWxsKToKICAgICAgICAgbW9ja19jaGVja19jYWxsLnNpZGVfZWZmZWN0ID0gc3VicHJvY2Vzcy5DYWxsZWRQcm9jZXNzRXJyb3IoJycsICcnKQotICAgICAgICBzZWxmLmFzc2VydFRydWUoc2NyaXB0X2hlbHBlci5faW50ZXJwcmV0ZXJfcmVxdWlyZXNfZW52aXJvbm1lbnQoKSkKLSAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHNjcmlwdF9oZWxwZXIuX2ludGVycHJldGVyX3JlcXVpcmVzX2Vudmlyb25tZW50KCkpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShzY3JpcHRfaGVscGVyLmludGVycHJldGVyX3JlcXVpcmVzX2Vudmlyb25tZW50KCkpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShzY3JpcHRfaGVscGVyLmludGVycHJldGVyX3JlcXVpcmVzX2Vudmlyb25tZW50KCkpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoMSwgbW9ja19jaGVja19jYWxsLmNhbGxfY291bnQpCiAKICAgICBAbW9jay5wYXRjaCgnc3VicHJvY2Vzcy5jaGVja19jYWxsJykKICAgICBkZWYgdGVzdF9pbnRlcnByZXRlcl9yZXF1aXJlc19lbnZpcm9ubWVudF9mYWxzZShzZWxmLCBtb2NrX2NoZWNrX2NhbGwpOgogICAgICAgICAjIFRoZSBtb2NrZWQgc3VicHJvY2Vzcy5jaGVja19jYWxsIGZha2VzIGEgbm8tZXJyb3IgcHJvY2Vzcy4KLSAgICAgICAgc2NyaXB0X2hlbHBlci5faW50ZXJwcmV0ZXJfcmVxdWlyZXNfZW52aXJvbm1lbnQoKQotICAgICAgICBzZWxmLmFzc2VydEZhbHNlKHNjcmlwdF9oZWxwZXIuX2ludGVycHJldGVyX3JlcXVpcmVzX2Vudmlyb25tZW50KCkpCisgICAgICAgIHNjcmlwdF9oZWxwZXIuaW50ZXJwcmV0ZXJfcmVxdWlyZXNfZW52aXJvbm1lbnQoKQorICAgICAgICBzZWxmLmFzc2VydEZhbHNlKHNjcmlwdF9oZWxwZXIuaW50ZXJwcmV0ZXJfcmVxdWlyZXNfZW52aXJvbm1lbnQoKSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgxLCBtb2NrX2NoZWNrX2NhbGwuY2FsbF9jb3VudCkKIAogICAgIEBtb2NrLnBhdGNoKCdzdWJwcm9jZXNzLmNoZWNrX2NhbGwnKQogICAgIGRlZiB0ZXN0X2ludGVycHJldGVyX3JlcXVpcmVzX2Vudmlyb25tZW50X2RldGFpbHMoc2VsZiwgbW9ja19jaGVja19jYWxsKToKLSAgICAgICAgc2NyaXB0X2hlbHBlci5faW50ZXJwcmV0ZXJfcmVxdWlyZXNfZW52aXJvbm1lbnQoKQotICAgICAgICBzZWxmLmFzc2VydEZhbHNlKHNjcmlwdF9oZWxwZXIuX2ludGVycHJldGVyX3JlcXVpcmVzX2Vudmlyb25tZW50KCkpCi0gICAgICAgIHNlbGYuYXNzZXJ0RmFsc2Uoc2NyaXB0X2hlbHBlci5faW50ZXJwcmV0ZXJfcmVxdWlyZXNfZW52aXJvbm1lbnQoKSkKKyAgICAgICAgc2NyaXB0X2hlbHBlci5pbnRlcnByZXRlcl9yZXF1aXJlc19lbnZpcm9ubWVudCgpCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2Uoc2NyaXB0X2hlbHBlci5pbnRlcnByZXRlcl9yZXF1aXJlc19lbnZpcm9ubWVudCgpKQorICAgICAgICBzZWxmLmFzc2VydEZhbHNlKHNjcmlwdF9oZWxwZXIuaW50ZXJwcmV0ZXJfcmVxdWlyZXNfZW52aXJvbm1lbnQoKSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgxLCBtb2NrX2NoZWNrX2NhbGwuY2FsbF9jb3VudCkKICAgICAgICAgY2hlY2tfY2FsbF9jb21tYW5kID0gbW9ja19jaGVja19jYWxsLmNhbGxfYXJnc1swXVswXQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN5cy5leGVjdXRhYmxlLCBjaGVja19jYWxsX2NvbW1hbmRbMF0pCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X3NlbGVjdG9ycy5weSBiL0xpYi90ZXN0L3Rlc3Rfc2VsZWN0b3JzLnB5CmluZGV4IDk1MmZkYTYuLjk1MjE0ODEgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3Rfc2VsZWN0b3JzLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3Rfc2VsZWN0b3JzLnB5CkBAIC05LDEwICs5LDcgQEAKIGZyb20gdGltZSBpbXBvcnQgc2xlZXAKIGltcG9ydCB1bml0dGVzdAogaW1wb3J0IHVuaXR0ZXN0Lm1vY2sKLXRyeToKLSAgICBmcm9tIHRpbWUgaW1wb3J0IG1vbm90b25pYyBhcyB0aW1lCi1leGNlcHQgSW1wb3J0RXJyb3I6Ci0gICAgZnJvbSB0aW1lIGltcG9ydCB0aW1lIGFzIHRpbWUKK2Zyb20gdGltZSBpbXBvcnQgbW9ub3RvbmljIGFzIHRpbWUKIHRyeToKICAgICBpbXBvcnQgcmVzb3VyY2UKIGV4Y2VwdCBJbXBvcnRFcnJvcjoKQEAgLTI1LDcgKzIyLDcgQEAKICAgICBkZWYgc29ja2V0cGFpcihmYW1pbHk9c29ja2V0LkFGX0lORVQsIHR5cGU9c29ja2V0LlNPQ0tfU1RSRUFNLCBwcm90bz0wKToKICAgICAgICAgd2l0aCBzb2NrZXQuc29ja2V0KGZhbWlseSwgdHlwZSwgcHJvdG8pIGFzIGw6CiAgICAgICAgICAgICBsLmJpbmQoKHN1cHBvcnQuSE9TVCwgMCkpCi0gICAgICAgICAgICBsLmxpc3RlbigzKQorICAgICAgICAgICAgbC5saXN0ZW4oKQogICAgICAgICAgICAgYyA9IHNvY2tldC5zb2NrZXQoZmFtaWx5LCB0eXBlLCBwcm90bykKICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgICBjLmNvbm5lY3QobC5nZXRzb2NrbmFtZSgpKQpAQCAtMTg4LDggKzE4NSw4IEBACiAgICAgICAgIHMucmVnaXN0ZXIod3IsIHNlbGVjdG9ycy5FVkVOVF9XUklURSkKIAogICAgICAgICBzLmNsb3NlKCkKLSAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoS2V5RXJyb3IsIHMuZ2V0X2tleSwgcmQpCi0gICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKEtleUVycm9yLCBzLmdldF9rZXksIHdyKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhSdW50aW1lRXJyb3IsIHMuZ2V0X2tleSwgcmQpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFJ1bnRpbWVFcnJvciwgcy5nZXRfa2V5LCB3cikKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoS2V5RXJyb3IsIG1hcHBpbmcuX19nZXRpdGVtX18sIHJkKQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhLZXlFcnJvciwgbWFwcGluZy5fX2dldGl0ZW1fXywgd3IpCiAKQEAgLTI1OCw4ICsyNTUsOCBAQAogICAgICAgICAgICAgc2VsLnJlZ2lzdGVyKHJkLCBzZWxlY3RvcnMuRVZFTlRfUkVBRCkKICAgICAgICAgICAgIHNlbC5yZWdpc3Rlcih3ciwgc2VsZWN0b3JzLkVWRU5UX1dSSVRFKQogCi0gICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKEtleUVycm9yLCBzLmdldF9rZXksIHJkKQotICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhLZXlFcnJvciwgcy5nZXRfa2V5LCB3cikKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoUnVudGltZUVycm9yLCBzLmdldF9rZXksIHJkKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhSdW50aW1lRXJyb3IsIHMuZ2V0X2tleSwgd3IpCiAKICAgICBkZWYgdGVzdF9maWxlbm8oc2VsZik6CiAgICAgICAgIHMgPSBzZWxmLlNFTEVDVE9SKCkKQEAgLTQ1NSwxMCArNDUyLDE4IEBACiAgICAgU0VMRUNUT1IgPSBnZXRhdHRyKHNlbGVjdG9ycywgJ0txdWV1ZVNlbGVjdG9yJywgTm9uZSkKIAogCitAdW5pdHRlc3Quc2tpcFVubGVzcyhoYXNhdHRyKHNlbGVjdG9ycywgJ0RldnBvbGxTZWxlY3RvcicpLAorICAgICAgICAgICAgICAgICAgICAgIlRlc3QgbmVlZHMgc2VsZWN0b3JzLkRldnBvbGxTZWxlY3RvciIpCitjbGFzcyBEZXZwb2xsU2VsZWN0b3JUZXN0Q2FzZShCYXNlU2VsZWN0b3JUZXN0Q2FzZSwgU2NhbGFibGVTZWxlY3Rvck1peEluKToKKworICAgIFNFTEVDVE9SID0gZ2V0YXR0cihzZWxlY3RvcnMsICdEZXZwb2xsU2VsZWN0b3InLCBOb25lKQorCisKKwogZGVmIHRlc3RfbWFpbigpOgogICAgIHRlc3RzID0gW0RlZmF1bHRTZWxlY3RvclRlc3RDYXNlLCBTZWxlY3RTZWxlY3RvclRlc3RDYXNlLAogICAgICAgICAgICAgIFBvbGxTZWxlY3RvclRlc3RDYXNlLCBFcG9sbFNlbGVjdG9yVGVzdENhc2UsCi0gICAgICAgICAgICAgS3F1ZXVlU2VsZWN0b3JUZXN0Q2FzZV0KKyAgICAgICAgICAgICBLcXVldWVTZWxlY3RvclRlc3RDYXNlLCBEZXZwb2xsU2VsZWN0b3JUZXN0Q2FzZV0KICAgICBzdXBwb3J0LnJ1bl91bml0dGVzdCgqdGVzdHMpCiAgICAgc3VwcG9ydC5yZWFwX2NoaWxkcmVuKCkKIApkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9zZXQucHkgYi9MaWIvdGVzdC90ZXN0X3NldC5weQppbmRleCA2NWU0MjQzLi5jMjUzODZmIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X3NldC5weQorKysgYi9MaWIvdGVzdC90ZXN0X3NldC5weQpAQCAtOTMxLDcgKzkzMSw3IEBACiAKIGNsYXNzIFRlc3RCYXNpY09wc0J5dGVzKFRlc3RCYXNpY09wcywgdW5pdHRlc3QuVGVzdENhc2UpOgogICAgIGRlZiBzZXRVcChzZWxmKToKLSAgICAgICAgc2VsZi5jYXNlICAgPSAic3RyaW5nIHNldCIKKyAgICAgICAgc2VsZi5jYXNlICAgPSAiYnl0ZXMgc2V0IgogICAgICAgICBzZWxmLnZhbHVlcyA9IFtiImEiLCBiImIiLCBiImMiXQogICAgICAgICBzZWxmLnNldCAgICA9IHNldChzZWxmLnZhbHVlcykKICAgICAgICAgc2VsZi5kdXAgICAgPSBzZXQoc2VsZi52YWx1ZXMpCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X3NodXRpbC5weSBiL0xpYi90ZXN0L3Rlc3Rfc2h1dGlsLnB5CmluZGV4IDkzMjViYzcuLmM1NTQ1YmEgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3Rfc2h1dGlsLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3Rfc2h1dGlsLnB5CkBAIC0zNCw2ICszNCwxMiBAQAogZXhjZXB0IEltcG9ydEVycm9yOgogICAgIEJaMl9TVVBQT1JURUQgPSBGYWxzZQogCit0cnk6CisgICAgaW1wb3J0IGx6bWEKKyAgICBMWk1BX1NVUFBPUlRFRCA9IFRydWUKK2V4Y2VwdCBJbXBvcnRFcnJvcjoKKyAgICBMWk1BX1NVUFBPUlRFRCA9IEZhbHNlCisKIFRFU1RGTjIgPSBURVNURk4gKyAiMiIKIAogdHJ5OgpAQCAtMTE4OSw2ICsxMTk1LDggQEAKICAgICAgICAgZm9ybWF0cyA9IFsndGFyJywgJ2d6dGFyJywgJ3ppcCddCiAgICAgICAgIGlmIEJaMl9TVVBQT1JURUQ6CiAgICAgICAgICAgICBmb3JtYXRzLmFwcGVuZCgnYnp0YXInKQorICAgICAgICBpZiBMWk1BX1NVUFBPUlRFRDoKKyAgICAgICAgICAgIGZvcm1hdHMuYXBwZW5kKCd4enRhcicpCiAKICAgICAgICAgZm9yIGZvcm1hdCBpbiBmb3JtYXRzOgogICAgICAgICAgICAgdG1wZGlyID0gc2VsZi5ta2R0ZW1wKCkKQEAgLTE2MjUsNiArMTYzMywyNCBAQAogICAgICAgICBydiA9IHNodXRpbC5tb3ZlKHNlbGYuc3JjX2ZpbGUsIG9zLnBhdGguam9pbihzZWxmLmRzdF9kaXIsICdiYXInKSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChydiwgb3MucGF0aC5qb2luKHNlbGYuZHN0X2RpciwgJ2JhcicpKQogCisgICAgQG1vY2tfcmVuYW1lCisgICAgZGVmIHRlc3RfbW92ZV9maWxlX3NwZWNpYWxfZnVuY3Rpb24oc2VsZik6CisgICAgICAgIG1vdmVkID0gW10KKyAgICAgICAgZGVmIF9jb3B5KHNyYywgZHN0KToKKyAgICAgICAgICAgIG1vdmVkLmFwcGVuZCgoc3JjLCBkc3QpKQorICAgICAgICBzaHV0aWwubW92ZShzZWxmLnNyY19maWxlLCBzZWxmLmRzdF9kaXIsIGNvcHlfZnVuY3Rpb249X2NvcHkpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKG1vdmVkKSwgMSkKKworICAgIEBtb2NrX3JlbmFtZQorICAgIGRlZiB0ZXN0X21vdmVfZGlyX3NwZWNpYWxfZnVuY3Rpb24oc2VsZik6CisgICAgICAgIG1vdmVkID0gW10KKyAgICAgICAgZGVmIF9jb3B5KHNyYywgZHN0KToKKyAgICAgICAgICAgIG1vdmVkLmFwcGVuZCgoc3JjLCBkc3QpKQorICAgICAgICBzdXBwb3J0LmNyZWF0ZV9lbXB0eV9maWxlKG9zLnBhdGguam9pbihzZWxmLnNyY19kaXIsICdjaGlsZCcpKQorICAgICAgICBzdXBwb3J0LmNyZWF0ZV9lbXB0eV9maWxlKG9zLnBhdGguam9pbihzZWxmLnNyY19kaXIsICdjaGlsZDEnKSkKKyAgICAgICAgc2h1dGlsLm1vdmUoc2VsZi5zcmNfZGlyLCBzZWxmLmRzdF9kaXIsIGNvcHlfZnVuY3Rpb249X2NvcHkpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKG1vdmVkKSwgMykKKwogCiBjbGFzcyBUZXN0Q29weUZpbGUodW5pdHRlc3QuVGVzdENhc2UpOgogCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X3NpZ25hbC5weSBiL0xpYi90ZXN0L3Rlc3Rfc2lnbmFsLnB5CmluZGV4IDc0Zjc0YWYuLjc3NGZjODAgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3Rfc2lnbmFsLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3Rfc2lnbmFsLnB5CkBAIC0xLDEwICsxLDEyIEBACiBpbXBvcnQgdW5pdHRlc3QKIGZyb20gdGVzdCBpbXBvcnQgc3VwcG9ydAogZnJvbSBjb250ZXh0bGliIGltcG9ydCBjbG9zaW5nCitpbXBvcnQgZW51bQogaW1wb3J0IGdjCiBpbXBvcnQgcGlja2xlCiBpbXBvcnQgc2VsZWN0CiBpbXBvcnQgc2lnbmFsCitpbXBvcnQgc29ja2V0CiBpbXBvcnQgc3RydWN0CiBpbXBvcnQgc3VicHJvY2VzcwogaW1wb3J0IHRyYWNlYmFjawpAQCAtMTQsNiArMTYsMTAgQEAKICAgICBpbXBvcnQgdGhyZWFkaW5nCiBleGNlcHQgSW1wb3J0RXJyb3I6CiAgICAgdGhyZWFkaW5nID0gTm9uZQordHJ5OgorICAgIGltcG9ydCBfdGVzdGNhcGkKK2V4Y2VwdCBJbXBvcnRFcnJvcjoKKyAgICBfdGVzdGNhcGkgPSBOb25lCiAKIAogY2xhc3MgSGFuZGxlckJDYWxsZWQoRXhjZXB0aW9uKToKQEAgLTM5LDYgKzQ1LDIzIEBACiAgICAgICAgIHJldHVybiBOb25lCiAKIAorY2xhc3MgR2VuZXJpY1Rlc3RzKHVuaXR0ZXN0LlRlc3RDYXNlKToKKworICAgIEB1bml0dGVzdC5za2lwSWYodGhyZWFkaW5nIGlzIE5vbmUsICJ0ZXN0IG5lZWRzIHRocmVhZGluZyBtb2R1bGUiKQorICAgIGRlZiB0ZXN0X2VudW1zKHNlbGYpOgorICAgICAgICBmb3IgbmFtZSBpbiBkaXIoc2lnbmFsKToKKyAgICAgICAgICAgIHNpZyA9IGdldGF0dHIoc2lnbmFsLCBuYW1lKQorICAgICAgICAgICAgaWYgbmFtZSBpbiB7J1NJR19ERkwnLCAnU0lHX0lHTid9OgorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXNJbnN0YW5jZShzaWcsIHNpZ25hbC5IYW5kbGVycykKKyAgICAgICAgICAgIGVsaWYgbmFtZSBpbiB7J1NJR19CTE9DSycsICdTSUdfVU5CTE9DSycsICdTSUdfU0VUTUFTSyd9OgorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXNJbnN0YW5jZShzaWcsIHNpZ25hbC5TaWdtYXNrcykKKyAgICAgICAgICAgIGVsaWYgbmFtZS5zdGFydHN3aXRoKCdTSUcnKSBhbmQgbm90IG5hbWUuc3RhcnRzd2l0aCgnU0lHXycpOgorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXNJbnN0YW5jZShzaWcsIHNpZ25hbC5TaWduYWxzKQorICAgICAgICAgICAgZWxpZiBuYW1lLnN0YXJ0c3dpdGgoJ0NUUkxfJyk6CisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRJc0luc3RhbmNlKHNpZywgc2lnbmFsLlNpZ25hbHMpCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzeXMucGxhdGZvcm0sICJ3aW4zMiIpCisKKwogQHVuaXR0ZXN0LnNraXBJZihzeXMucGxhdGZvcm0gPT0gIndpbjMyIiwgIk5vdCB2YWxpZCBvbiBXaW5kb3dzIikKIGNsYXNzIEludGVyUHJvY2Vzc1NpZ25hbFRlc3RzKHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICBNQVhfRFVSQVRJT04gPSAyMCAgICMgRW50aXJlIHRlc3Qgc2hvdWxkIGxhc3QgYXQgbW9zdCAyMCBzZWMuCkBAIC0xOTUsNiArMjE4LDcgQEAKIAogICAgIGRlZiB0ZXN0X2dldHNpZ25hbChzZWxmKToKICAgICAgICAgaHVwID0gc2lnbmFsLnNpZ25hbChzaWduYWwuU0lHSFVQLCBzZWxmLnRyaXZpYWxfc2lnbmFsX2hhbmRsZXIpCisgICAgICAgIHNlbGYuYXNzZXJ0SXNJbnN0YW5jZShodXAsIHNpZ25hbC5IYW5kbGVycykKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzaWduYWwuZ2V0c2lnbmFsKHNpZ25hbC5TSUdIVVApLAogICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYudHJpdmlhbF9zaWduYWxfaGFuZGxlcikKICAgICAgICAgc2lnbmFsLnNpZ25hbChzaWduYWwuU0lHSFVQLCBodXApCkBAIC0yMjksMTUgKzI1Myw3NyBAQAogCiAgICAgZGVmIHRlc3RfaW52YWxpZF9mZChzZWxmKToKICAgICAgICAgZmQgPSBzdXBwb3J0Lm1ha2VfYmFkX2ZkKCkKLSAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgc2lnbmFsLnNldF93YWtldXBfZmQsIGZkKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcygoVmFsdWVFcnJvciwgT1NFcnJvciksCisgICAgICAgICAgICAgICAgICAgICAgICAgIHNpZ25hbC5zZXRfd2FrZXVwX2ZkLCBmZCkKKworICAgIGRlZiB0ZXN0X2ludmFsaWRfc29ja2V0KHNlbGYpOgorICAgICAgICBzb2NrID0gc29ja2V0LnNvY2tldCgpCisgICAgICAgIGZkID0gc29jay5maWxlbm8oKQorICAgICAgICBzb2NrLmNsb3NlKCkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoKFZhbHVlRXJyb3IsIE9TRXJyb3IpLAorICAgICAgICAgICAgICAgICAgICAgICAgICBzaWduYWwuc2V0X3dha2V1cF9mZCwgZmQpCisKKyAgICBkZWYgdGVzdF9zZXRfd2FrZXVwX2ZkX3Jlc3VsdChzZWxmKToKKyAgICAgICAgcjEsIHcxID0gb3MucGlwZSgpCisgICAgICAgIHNlbGYuYWRkQ2xlYW51cChvcy5jbG9zZSwgcjEpCisgICAgICAgIHNlbGYuYWRkQ2xlYW51cChvcy5jbG9zZSwgdzEpCisgICAgICAgIHIyLCB3MiA9IG9zLnBpcGUoKQorICAgICAgICBzZWxmLmFkZENsZWFudXAob3MuY2xvc2UsIHIyKQorICAgICAgICBzZWxmLmFkZENsZWFudXAob3MuY2xvc2UsIHcyKQorCisgICAgICAgIGlmIGhhc2F0dHIob3MsICdzZXRfYmxvY2tpbmcnKToKKyAgICAgICAgICAgIG9zLnNldF9ibG9ja2luZyh3MSwgRmFsc2UpCisgICAgICAgICAgICBvcy5zZXRfYmxvY2tpbmcodzIsIEZhbHNlKQorCisgICAgICAgIHNpZ25hbC5zZXRfd2FrZXVwX2ZkKHcxKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNpZ25hbC5zZXRfd2FrZXVwX2ZkKHcyKSwgdzEpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2lnbmFsLnNldF93YWtldXBfZmQoLTEpLCB3MikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzaWduYWwuc2V0X3dha2V1cF9mZCgtMSksIC0xKQorCisgICAgZGVmIHRlc3Rfc2V0X3dha2V1cF9mZF9zb2NrZXRfcmVzdWx0KHNlbGYpOgorICAgICAgICBzb2NrMSA9IHNvY2tldC5zb2NrZXQoKQorICAgICAgICBzZWxmLmFkZENsZWFudXAoc29jazEuY2xvc2UpCisgICAgICAgIHNvY2sxLnNldGJsb2NraW5nKEZhbHNlKQorICAgICAgICBmZDEgPSBzb2NrMS5maWxlbm8oKQorCisgICAgICAgIHNvY2syID0gc29ja2V0LnNvY2tldCgpCisgICAgICAgIHNlbGYuYWRkQ2xlYW51cChzb2NrMi5jbG9zZSkKKyAgICAgICAgc29jazIuc2V0YmxvY2tpbmcoRmFsc2UpCisgICAgICAgIGZkMiA9IHNvY2syLmZpbGVubygpCisKKyAgICAgICAgc2lnbmFsLnNldF93YWtldXBfZmQoZmQxKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNpZ25hbC5zZXRfd2FrZXVwX2ZkKGZkMiksIGZkMSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzaWduYWwuc2V0X3dha2V1cF9mZCgtMSksIGZkMikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzaWduYWwuc2V0X3dha2V1cF9mZCgtMSksIC0xKQorCisgICAgIyBPbiBXaW5kb3dzLCBmaWxlcyBhcmUgYWx3YXlzIGJsb2NraW5nIGFuZCBXaW5kb3dzIGRvZXMgbm90IHByb3ZpZGUgYQorICAgICMgZnVuY3Rpb24gdG8gdGVzdCBpZiBhIHNvY2tldCBpcyBpbiBub24tYmxvY2tpbmcgbW9kZS4KKyAgICBAdW5pdHRlc3Quc2tpcElmKHN5cy5wbGF0Zm9ybSA9PSAid2luMzIiLCAidGVzdHMgc3BlY2lmaWMgdG8gUE9TSVgiKQorICAgIGRlZiB0ZXN0X3NldF93YWtldXBfZmRfYmxvY2tpbmcoc2VsZik6CisgICAgICAgIHJmZCwgd2ZkID0gb3MucGlwZSgpCisgICAgICAgIHNlbGYuYWRkQ2xlYW51cChvcy5jbG9zZSwgcmZkKQorICAgICAgICBzZWxmLmFkZENsZWFudXAob3MuY2xvc2UsIHdmZCkKKworICAgICAgICAjIGZkIG11c3QgYmUgbm9uLWJsb2NraW5nCisgICAgICAgIG9zLnNldF9ibG9ja2luZyh3ZmQsIFRydWUpCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvcikgYXMgY206CisgICAgICAgICAgICBzaWduYWwuc2V0X3dha2V1cF9mZCh3ZmQpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RyKGNtLmV4Y2VwdGlvbiksCisgICAgICAgICAgICAgICAgICAgICAgICAgInRoZSBmZCAlcyBtdXN0IGJlIGluIG5vbi1ibG9ja2luZyBtb2RlIiAlIHdmZCkKKworICAgICAgICAjIG5vbi1ibG9ja2luZyBpcyBvaworICAgICAgICBvcy5zZXRfYmxvY2tpbmcod2ZkLCBGYWxzZSkKKyAgICAgICAgc2lnbmFsLnNldF93YWtldXBfZmQod2ZkKQorICAgICAgICBzaWduYWwuc2V0X3dha2V1cF9mZCgtMSkKIAogCiBAdW5pdHRlc3Quc2tpcElmKHN5cy5wbGF0Zm9ybSA9PSAid2luMzIiLCAiTm90IHZhbGlkIG9uIFdpbmRvd3MiKQogY2xhc3MgV2FrZXVwU2lnbmFsVGVzdHModW5pdHRlc3QuVGVzdENhc2UpOgorICAgIEB1bml0dGVzdC5za2lwSWYoX3Rlc3RjYXBpIGlzIE5vbmUsICduZWVkIF90ZXN0Y2FwaScpCiAgICAgZGVmIGNoZWNrX3dha2V1cChzZWxmLCB0ZXN0X2JvZHksICpzaWduYWxzLCBvcmRlcmVkPVRydWUpOgogICAgICAgICAjIHVzZSBhIHN1YnByb2Nlc3MgdG8gaGF2ZSBvbmx5IG9uZSB0aHJlYWQKICAgICAgICAgY29kZSA9ICIiImlmIDE6Ci0gICAgICAgIGltcG9ydCBmY250bAorICAgICAgICBpbXBvcnQgX3Rlc3RjYXBpCiAgICAgICAgIGltcG9ydCBvcwogICAgICAgICBpbXBvcnQgc2lnbmFsCiAgICAgICAgIGltcG9ydCBzdHJ1Y3QKQEAgLTI2MCwxMCArMzQ2LDcgQEAKIAogICAgICAgICBzaWduYWwuc2lnbmFsKHNpZ25hbC5TSUdBTFJNLCBoYW5kbGVyKQogICAgICAgICByZWFkLCB3cml0ZSA9IG9zLnBpcGUoKQotICAgICAgICBmb3IgZmQgaW4gKHJlYWQsIHdyaXRlKToKLSAgICAgICAgICAgIGZsYWdzID0gZmNudGwuZmNudGwoZmQsIGZjbnRsLkZfR0VURkwsIDApCi0gICAgICAgICAgICBmbGFncyA9IGZsYWdzIHwgb3MuT19OT05CTE9DSwotICAgICAgICAgICAgZmNudGwuZmNudGwoZmQsIGZjbnRsLkZfU0VURkwsIGZsYWdzKQorICAgICAgICBvcy5zZXRfYmxvY2tpbmcod3JpdGUsIEZhbHNlKQogICAgICAgICBzaWduYWwuc2V0X3dha2V1cF9mZCh3cml0ZSkKIAogICAgICAgICB0ZXN0KCkKQEAgLTI3MSwyMSArMzU0LDIxIEBACiAKICAgICAgICAgb3MuY2xvc2UocmVhZCkKICAgICAgICAgb3MuY2xvc2Uod3JpdGUpCi0gICAgICAgICIiIi5mb3JtYXQoc2lnbmFscywgb3JkZXJlZCwgdGVzdF9ib2R5KQorICAgICAgICAiIiIuZm9ybWF0KHR1cGxlKG1hcChpbnQsIHNpZ25hbHMpKSwgb3JkZXJlZCwgdGVzdF9ib2R5KQogCiAgICAgICAgIGFzc2VydF9weXRob25fb2soJy1jJywgY29kZSkKIAorICAgIEB1bml0dGVzdC5za2lwSWYoX3Rlc3RjYXBpIGlzIE5vbmUsICduZWVkIF90ZXN0Y2FwaScpCiAgICAgZGVmIHRlc3Rfd2FrZXVwX3dyaXRlX2Vycm9yKHNlbGYpOgogICAgICAgICAjIElzc3VlICMxNjEwNTogd3JpdGUoKSBlcnJvcnMgaW4gdGhlIEMgc2lnbmFsIGhhbmRsZXIgc2hvdWxkIG5vdAogICAgICAgICAjIHBhc3Mgc2lsZW50bHkuCiAgICAgICAgICMgVXNlIGEgc3VicHJvY2VzcyB0byBoYXZlIG9ubHkgb25lIHRocmVhZC4KICAgICAgICAgY29kZSA9ICIiImlmIDE6CisgICAgICAgIGltcG9ydCBfdGVzdGNhcGkKICAgICAgICAgaW1wb3J0IGVycm5vCi0gICAgICAgIGltcG9ydCBmY250bAogICAgICAgICBpbXBvcnQgb3MKICAgICAgICAgaW1wb3J0IHNpZ25hbAogICAgICAgICBpbXBvcnQgc3lzCi0gICAgICAgIGltcG9ydCB0aW1lCiAgICAgICAgIGZyb20gdGVzdC5zdXBwb3J0IGltcG9ydCBjYXB0dXJlZF9zdGRlcnIKIAogICAgICAgICBkZWYgaGFuZGxlcihzaWdudW0sIGZyYW1lKToKQEAgLTI5MywxNSArMzc2LDEzIEBACiAKICAgICAgICAgc2lnbmFsLnNpZ25hbChzaWduYWwuU0lHQUxSTSwgaGFuZGxlcikKICAgICAgICAgciwgdyA9IG9zLnBpcGUoKQotICAgICAgICBmbGFncyA9IGZjbnRsLmZjbnRsKHIsIGZjbnRsLkZfR0VURkwsIDApCi0gICAgICAgIGZjbnRsLmZjbnRsKHIsIGZjbnRsLkZfU0VURkwsIGZsYWdzIHwgb3MuT19OT05CTE9DSykKKyAgICAgICAgb3Muc2V0X2Jsb2NraW5nKHIsIEZhbHNlKQogCiAgICAgICAgICMgU2V0IHdha2V1cF9mZCBhIHJlYWQtb25seSBmaWxlIGRlc2NyaXB0b3IgdG8gdHJpZ2dlciB0aGUgZXJyb3IKICAgICAgICAgc2lnbmFsLnNldF93YWtldXBfZmQocikKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgd2l0aCBjYXB0dXJlZF9zdGRlcnIoKSBhcyBlcnI6Ci0gICAgICAgICAgICAgICAgc2lnbmFsLmFsYXJtKDEpCi0gICAgICAgICAgICAgICAgdGltZS5zbGVlcCg1LjApCisgICAgICAgICAgICAgICAgX3Rlc3RjYXBpLnJhaXNlX3NpZ25hbChzaWduYWwuU0lHQUxSTSkKICAgICAgICAgZXhjZXB0IFplcm9EaXZpc2lvbkVycm9yOgogICAgICAgICAgICAgIyBBbiBpZ25vcmVkIGV4Y2VwdGlvbiBzaG91bGQgaGF2ZSBiZWVuIHByaW50ZWQgb3V0IG9uIHN0ZGVycgogICAgICAgICAgICAgZXJyID0gZXJyLmdldHZhbHVlKCkKQEAgLTMxMiw2ICszOTMsOSBAQAogICAgICAgICAgICAgICAgIHJhaXNlIEFzc2VydGlvbkVycm9yKGVycikKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIHJhaXNlIEFzc2VydGlvbkVycm9yKCJaZXJvRGl2aXNpb25FcnJvciBub3QgcmFpc2VkIikKKworICAgICAgICBvcy5jbG9zZShyKQorICAgICAgICBvcy5jbG9zZSh3KQogICAgICAgICAiIiIKICAgICAgICAgciwgdyA9IG9zLnBpcGUoKQogICAgICAgICB0cnk6CkBAIC0zNzUsOSArNDU5LDEwIEBACiAKICAgICBkZWYgdGVzdF9zaWdudW0oc2VsZik6CiAgICAgICAgIHNlbGYuY2hlY2tfd2FrZXVwKCIiImRlZiB0ZXN0KCk6CisgICAgICAgICAgICBpbXBvcnQgX3Rlc3RjYXBpCiAgICAgICAgICAgICBzaWduYWwuc2lnbmFsKHNpZ25hbC5TSUdVU1IxLCBoYW5kbGVyKQotICAgICAgICAgICAgb3Mua2lsbChvcy5nZXRwaWQoKSwgc2lnbmFsLlNJR1VTUjEpCi0gICAgICAgICAgICBvcy5raWxsKG9zLmdldHBpZCgpLCBzaWduYWwuU0lHQUxSTSkKKyAgICAgICAgICAgIF90ZXN0Y2FwaS5yYWlzZV9zaWduYWwoc2lnbmFsLlNJR1VTUjEpCisgICAgICAgICAgICBfdGVzdGNhcGkucmFpc2Vfc2lnbmFsKHNpZ25hbC5TSUdBTFJNKQogICAgICAgICAiIiIsIHNpZ25hbC5TSUdVU1IxLCBzaWduYWwuU0lHQUxSTSkKIAogICAgIEB1bml0dGVzdC5za2lwVW5sZXNzKGhhc2F0dHIoc2lnbmFsLCAncHRocmVhZF9zaWdtYXNrJyksCkBAIC0zOTEsMTMgKzQ3Niw5NyBAQAogICAgICAgICAgICAgc2lnbmFsLnNpZ25hbChzaWdudW0yLCBoYW5kbGVyKQogCiAgICAgICAgICAgICBzaWduYWwucHRocmVhZF9zaWdtYXNrKHNpZ25hbC5TSUdfQkxPQ0ssIChzaWdudW0xLCBzaWdudW0yKSkKLSAgICAgICAgICAgIG9zLmtpbGwob3MuZ2V0cGlkKCksIHNpZ251bTEpCi0gICAgICAgICAgICBvcy5raWxsKG9zLmdldHBpZCgpLCBzaWdudW0yKQorICAgICAgICAgICAgX3Rlc3RjYXBpLnJhaXNlX3NpZ25hbChzaWdudW0xKQorICAgICAgICAgICAgX3Rlc3RjYXBpLnJhaXNlX3NpZ25hbChzaWdudW0yKQogICAgICAgICAgICAgIyBVbmJsb2NraW5nIHRoZSAyIHNpZ25hbHMgY2FsbHMgdGhlIEMgc2lnbmFsIGhhbmRsZXIgdHdpY2UKICAgICAgICAgICAgIHNpZ25hbC5wdGhyZWFkX3NpZ21hc2soc2lnbmFsLlNJR19VTkJMT0NLLCAoc2lnbnVtMSwgc2lnbnVtMikpCiAgICAgICAgICIiIiwgIHNpZ25hbC5TSUdVU1IxLCBzaWduYWwuU0lHVVNSMiwgb3JkZXJlZD1GYWxzZSkKIAogCitAdW5pdHRlc3Quc2tpcFVubGVzcyhoYXNhdHRyKHNvY2tldCwgJ3NvY2tldHBhaXInKSwgJ25lZWQgc29ja2V0LnNvY2tldHBhaXInKQorY2xhc3MgV2FrZXVwU29ja2V0U2lnbmFsVGVzdHModW5pdHRlc3QuVGVzdENhc2UpOgorCisgICAgQHVuaXR0ZXN0LnNraXBJZihfdGVzdGNhcGkgaXMgTm9uZSwgJ25lZWQgX3Rlc3RjYXBpJykKKyAgICBkZWYgdGVzdF9zb2NrZXQoc2VsZik6CisgICAgICAgICMgdXNlIGEgc3VicHJvY2VzcyB0byBoYXZlIG9ubHkgb25lIHRocmVhZAorICAgICAgICBjb2RlID0gIiIiaWYgMToKKyAgICAgICAgaW1wb3J0IHNpZ25hbAorICAgICAgICBpbXBvcnQgc29ja2V0CisgICAgICAgIGltcG9ydCBzdHJ1Y3QKKyAgICAgICAgaW1wb3J0IF90ZXN0Y2FwaQorCisgICAgICAgIHNpZ251bSA9IHNpZ25hbC5TSUdJTlQKKyAgICAgICAgc2lnbmFscyA9IChzaWdudW0sKQorCisgICAgICAgIGRlZiBoYW5kbGVyKHNpZ251bSwgZnJhbWUpOgorICAgICAgICAgICAgcGFzcworCisgICAgICAgIHNpZ25hbC5zaWduYWwoc2lnbnVtLCBoYW5kbGVyKQorCisgICAgICAgIHJlYWQsIHdyaXRlID0gc29ja2V0LnNvY2tldHBhaXIoKQorICAgICAgICByZWFkLnNldGJsb2NraW5nKEZhbHNlKQorICAgICAgICB3cml0ZS5zZXRibG9ja2luZyhGYWxzZSkKKyAgICAgICAgc2lnbmFsLnNldF93YWtldXBfZmQod3JpdGUuZmlsZW5vKCkpCisKKyAgICAgICAgX3Rlc3RjYXBpLnJhaXNlX3NpZ25hbChzaWdudW0pCisKKyAgICAgICAgZGF0YSA9IHJlYWQucmVjdigxKQorICAgICAgICBpZiBub3QgZGF0YToKKyAgICAgICAgICAgIHJhaXNlIEV4Y2VwdGlvbigibm8gc2lnbnVtIHdyaXR0ZW4iKQorICAgICAgICByYWlzZWQgPSBzdHJ1Y3QudW5wYWNrKCdCJywgZGF0YSkKKyAgICAgICAgaWYgcmFpc2VkICE9IHNpZ25hbHM6CisgICAgICAgICAgICByYWlzZSBFeGNlcHRpb24oIiVyICE9ICVyIiAlIChyYWlzZWQsIHNpZ25hbHMpKQorCisgICAgICAgIHJlYWQuY2xvc2UoKQorICAgICAgICB3cml0ZS5jbG9zZSgpCisgICAgICAgICIiIgorCisgICAgICAgIGFzc2VydF9weXRob25fb2soJy1jJywgY29kZSkKKworICAgIEB1bml0dGVzdC5za2lwSWYoX3Rlc3RjYXBpIGlzIE5vbmUsICduZWVkIF90ZXN0Y2FwaScpCisgICAgZGVmIHRlc3Rfc2VuZF9lcnJvcihzZWxmKToKKyAgICAgICAgIyBVc2UgYSBzdWJwcm9jZXNzIHRvIGhhdmUgb25seSBvbmUgdGhyZWFkLgorICAgICAgICBpZiBvcy5uYW1lID09ICdudCc6CisgICAgICAgICAgICBhY3Rpb24gPSAnc2VuZCcKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGFjdGlvbiA9ICd3cml0ZScKKyAgICAgICAgY29kZSA9ICIiImlmIDE6CisgICAgICAgIGltcG9ydCBlcnJubworICAgICAgICBpbXBvcnQgc2lnbmFsCisgICAgICAgIGltcG9ydCBzb2NrZXQKKyAgICAgICAgaW1wb3J0IHN5cworICAgICAgICBpbXBvcnQgdGltZQorICAgICAgICBpbXBvcnQgX3Rlc3RjYXBpCisgICAgICAgIGZyb20gdGVzdC5zdXBwb3J0IGltcG9ydCBjYXB0dXJlZF9zdGRlcnIKKworICAgICAgICBzaWdudW0gPSBzaWduYWwuU0lHSU5UCisKKyAgICAgICAgZGVmIGhhbmRsZXIoc2lnbnVtLCBmcmFtZSk6CisgICAgICAgICAgICBwYXNzCisKKyAgICAgICAgc2lnbmFsLnNpZ25hbChzaWdudW0sIGhhbmRsZXIpCisKKyAgICAgICAgcmVhZCwgd3JpdGUgPSBzb2NrZXQuc29ja2V0cGFpcigpCisgICAgICAgIHJlYWQuc2V0YmxvY2tpbmcoRmFsc2UpCisgICAgICAgIHdyaXRlLnNldGJsb2NraW5nKEZhbHNlKQorCisgICAgICAgIHNpZ25hbC5zZXRfd2FrZXVwX2ZkKHdyaXRlLmZpbGVubygpKQorCisgICAgICAgICMgQ2xvc2Ugc29ja2V0czogc2VuZCgpIHdpbGwgZmFpbAorICAgICAgICByZWFkLmNsb3NlKCkKKyAgICAgICAgd3JpdGUuY2xvc2UoKQorCisgICAgICAgIHdpdGggY2FwdHVyZWRfc3RkZXJyKCkgYXMgZXJyOgorICAgICAgICAgICAgX3Rlc3RjYXBpLnJhaXNlX3NpZ25hbChzaWdudW0pCisKKyAgICAgICAgZXJyID0gZXJyLmdldHZhbHVlKCkKKyAgICAgICAgaWYgKCdFeGNlcHRpb24gaWdub3JlZCB3aGVuIHRyeWluZyB0byB7YWN0aW9ufSB0byB0aGUgc2lnbmFsIHdha2V1cCBmZCcKKyAgICAgICAgICAgIG5vdCBpbiBlcnIpOgorICAgICAgICAgICAgcmFpc2UgQXNzZXJ0aW9uRXJyb3IoZXJyKQorICAgICAgICAiIiIuZm9ybWF0KGFjdGlvbj1hY3Rpb24pCisgICAgICAgIGFzc2VydF9weXRob25fb2soJy1jJywgY29kZSkKKworCiBAdW5pdHRlc3Quc2tpcElmKHN5cy5wbGF0Zm9ybSA9PSAid2luMzIiLCAiTm90IHZhbGlkIG9uIFdpbmRvd3MiKQogY2xhc3MgU2lnaW50ZXJydXB0VGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAKQEAgLTQxOCw3ICs1ODcsNyBAQAogICAgICAgICAgICAgciwgdyA9IG9zLnBpcGUoKQogCiAgICAgICAgICAgICBkZWYgaGFuZGxlcihzaWdudW0sIGZyYW1lKToKLSAgICAgICAgICAgICAgICBwYXNzCisgICAgICAgICAgICAgICAgMSAvIDAKIAogICAgICAgICAgICAgc2lnbmFsLnNpZ25hbChzaWduYWwuU0lHQUxSTSwgaGFuZGxlcikKICAgICAgICAgICAgIGlmIGludGVycnVwdCBpcyBub3QgTm9uZToKQEAgLTQyOCwxOCArNTk3LDIxIEBACiAgICAgICAgICAgICBzeXMuc3Rkb3V0LmZsdXNoKCkKIAogICAgICAgICAgICAgIyBydW4gdGhlIHRlc3QgdHdpY2UKLSAgICAgICAgICAgIGZvciBsb29wIGluIHJhbmdlKDIpOgotICAgICAgICAgICAgICAgICMgc2VuZCBhIFNJR0FMUk0gaW4gYSBzZWNvbmQgKGR1cmluZyB0aGUgcmVhZCkKLSAgICAgICAgICAgICAgICBzaWduYWwuYWxhcm0oMSkKLSAgICAgICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgICAgICMgYmxvY2tpbmcgY2FsbDogcmVhZCBmcm9tIGEgcGlwZSB3aXRob3V0IGRhdGEKLSAgICAgICAgICAgICAgICAgICAgb3MucmVhZChyLCAxKQotICAgICAgICAgICAgICAgIGV4Y2VwdCBPU0Vycm9yIGFzIGVycjoKLSAgICAgICAgICAgICAgICAgICAgaWYgZXJyLmVycm5vICE9IGVycm5vLkVJTlRSOgotICAgICAgICAgICAgICAgICAgICAgICAgcmFpc2UKLSAgICAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgICAgICBzeXMuZXhpdCgyKQotICAgICAgICAgICAgc3lzLmV4aXQoMykKKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICBmb3IgbG9vcCBpbiByYW5nZSgyKToKKyAgICAgICAgICAgICAgICAgICAgIyBzZW5kIGEgU0lHQUxSTSBpbiBhIHNlY29uZCAoZHVyaW5nIHRoZSByZWFkKQorICAgICAgICAgICAgICAgICAgICBzaWduYWwuYWxhcm0oMSkKKyAgICAgICAgICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgICAgICAgICAgIyBibG9ja2luZyBjYWxsOiByZWFkIGZyb20gYSBwaXBlIHdpdGhvdXQgZGF0YQorICAgICAgICAgICAgICAgICAgICAgICAgb3MucmVhZChyLCAxKQorICAgICAgICAgICAgICAgICAgICBleGNlcHQgWmVyb0RpdmlzaW9uRXJyb3I6CisgICAgICAgICAgICAgICAgICAgICAgICBwYXNzCisgICAgICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgICAgICBzeXMuZXhpdCgyKQorICAgICAgICAgICAgICAgIHN5cy5leGl0KDMpCisgICAgICAgICAgICBmaW5hbGx5OgorICAgICAgICAgICAgICAgIG9zLmNsb3NlKHIpCisgICAgICAgICAgICAgICAgb3MuY2xvc2UodykKICAgICAgICAgIiIiICUgKGludGVycnVwdCwpCiAgICAgICAgIHdpdGggc3Bhd25fcHl0aG9uKCctYycsIGNvZGUpIGFzIHByb2Nlc3M6CiAgICAgICAgICAgICB0cnk6CkBAIC02MDQsNiArNzc2LDggQEAKICAgICAgICAgICAgIHNpZ25hbC5wdGhyZWFkX3NpZ21hc2soc2lnbmFsLlNJR19CTE9DSywgW3NpZ251bV0pCiAgICAgICAgICAgICBvcy5raWxsKG9zLmdldHBpZCgpLCBzaWdudW0pCiAgICAgICAgICAgICBwZW5kaW5nID0gc2lnbmFsLnNpZ3BlbmRpbmcoKQorICAgICAgICAgICAgZm9yIHNpZyBpbiBwZW5kaW5nOgorICAgICAgICAgICAgICAgIGFzc2VydCBpc2luc3RhbmNlKHNpZywgc2lnbmFsLlNpZ25hbHMpLCByZXByKHBlbmRpbmcpCiAgICAgICAgICAgICBpZiBwZW5kaW5nICE9IHtzaWdudW19OgogICAgICAgICAgICAgICAgIHJhaXNlIEV4Y2VwdGlvbignJXMgIT0geyVzfScgJSAocGVuZGluZywgc2lnbnVtKSkKICAgICAgICAgICAgIHRyeToKQEAgLTY2MCw2ICs4MzQsNyBAQAogICAgICAgICBjb2RlID0gJycnaWYgMToKICAgICAgICAgaW1wb3J0IHNpZ25hbAogICAgICAgICBpbXBvcnQgc3lzCisgICAgICAgIGZyb20gc2lnbmFsIGltcG9ydCBTaWduYWxzCiAKICAgICAgICAgZGVmIGhhbmRsZXIoc2lnbnVtLCBmcmFtZSk6CiAgICAgICAgICAgICAxLzAKQEAgLTcwMiw2ICs4NzcsNyBAQAogICAgICAgICBkZWYgdGVzdChzaWdudW0pOgogICAgICAgICAgICAgc2lnbmFsLmFsYXJtKDEpCiAgICAgICAgICAgICByZWNlaXZlZCA9IHNpZ25hbC5zaWd3YWl0KFtzaWdudW1dKQorICAgICAgICAgICAgYXNzZXJ0IGlzaW5zdGFuY2UocmVjZWl2ZWQsIHNpZ25hbC5TaWduYWxzKSwgcmVjZWl2ZWQKICAgICAgICAgICAgIGlmIHJlY2VpdmVkICE9IHNpZ251bToKICAgICAgICAgICAgICAgICByYWlzZSBFeGNlcHRpb24oJ3JlY2VpdmVkICVzLCBub3QgJXMnICUgKHJlY2VpdmVkLCBzaWdudW0pKQogICAgICAgICAnJycpCkBAIC04NDIsOCArMTAxOCwxNCBAQAogICAgICAgICBkZWYga2lsbChzaWdudW0pOgogICAgICAgICAgICAgb3Mua2lsbChvcy5nZXRwaWQoKSwgc2lnbnVtKQogCisgICAgICAgIGRlZiBjaGVja19tYXNrKG1hc2spOgorICAgICAgICAgICAgZm9yIHNpZyBpbiBtYXNrOgorICAgICAgICAgICAgICAgIGFzc2VydCBpc2luc3RhbmNlKHNpZywgc2lnbmFsLlNpZ25hbHMpLCByZXByKHNpZykKKwogICAgICAgICBkZWYgcmVhZF9zaWdtYXNrKCk6Ci0gICAgICAgICAgICByZXR1cm4gc2lnbmFsLnB0aHJlYWRfc2lnbWFzayhzaWduYWwuU0lHX0JMT0NLLCBbXSkKKyAgICAgICAgICAgIHNpZ21hc2sgPSBzaWduYWwucHRocmVhZF9zaWdtYXNrKHNpZ25hbC5TSUdfQkxPQ0ssIFtdKQorICAgICAgICAgICAgY2hlY2tfbWFzayhzaWdtYXNrKQorICAgICAgICAgICAgcmV0dXJuIHNpZ21hc2sKIAogICAgICAgICBzaWdudW0gPSBzaWduYWwuU0lHVVNSMQogCkBAIC04NTIsNiArMTAzNCw3IEBACiAKICAgICAgICAgIyBVbmJsb2NrIFNJR1VTUjEgKGFuZCBjb3B5IHRoZSBvbGQgbWFzaykgdG8gdGVzdCBvdXIgc2lnbmFsIGhhbmRsZXIKICAgICAgICAgb2xkX21hc2sgPSBzaWduYWwucHRocmVhZF9zaWdtYXNrKHNpZ25hbC5TSUdfVU5CTE9DSywgW3NpZ251bV0pCisgICAgICAgIGNoZWNrX21hc2sob2xkX21hc2spCiAgICAgICAgIHRyeToKICAgICAgICAgICAgIGtpbGwoc2lnbnVtKQogICAgICAgICBleGNlcHQgWmVyb0RpdmlzaW9uRXJyb3I6CkBAIC04NjEsMTEgKzEwNDQsMTMgQEAKIAogICAgICAgICAjIEJsb2NrIGFuZCB0aGVuIHJhaXNlIFNJR1VTUjEuIFRoZSBzaWduYWwgaXMgYmxvY2tlZDogdGhlIHNpZ25hbAogICAgICAgICAjIGhhbmRsZXIgaXMgbm90IGNhbGxlZCwgYW5kIHRoZSBzaWduYWwgaXMgbm93IHBlbmRpbmcKLSAgICAgICAgc2lnbmFsLnB0aHJlYWRfc2lnbWFzayhzaWduYWwuU0lHX0JMT0NLLCBbc2lnbnVtXSkKKyAgICAgICAgbWFzayA9IHNpZ25hbC5wdGhyZWFkX3NpZ21hc2soc2lnbmFsLlNJR19CTE9DSywgW3NpZ251bV0pCisgICAgICAgIGNoZWNrX21hc2sobWFzaykKICAgICAgICAga2lsbChzaWdudW0pCiAKICAgICAgICAgIyBDaGVjayB0aGUgbmV3IG1hc2sKICAgICAgICAgYmxvY2tlZCA9IHJlYWRfc2lnbWFzaygpCisgICAgICAgIGNoZWNrX21hc2soYmxvY2tlZCkKICAgICAgICAgaWYgc2lnbnVtIG5vdCBpbiBibG9ja2VkOgogICAgICAgICAgICAgcmFpc2UgRXhjZXB0aW9uKCIlcyBub3QgaW4gJXMiICUgKHNpZ251bSwgYmxvY2tlZCkpCiAgICAgICAgIGlmIG9sZF9tYXNrIF4gYmxvY2tlZCAhPSB7c2lnbnVtfToKQEAgLTkyOCw4ICsxMTEzLDkgQEAKIAogZGVmIHRlc3RfbWFpbigpOgogICAgIHRyeToKLSAgICAgICAgc3VwcG9ydC5ydW5fdW5pdHRlc3QoUG9zaXhUZXN0cywgSW50ZXJQcm9jZXNzU2lnbmFsVGVzdHMsCisgICAgICAgIHN1cHBvcnQucnVuX3VuaXR0ZXN0KEdlbmVyaWNUZXN0cywgUG9zaXhUZXN0cywgSW50ZXJQcm9jZXNzU2lnbmFsVGVzdHMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdha2V1cEZEVGVzdHMsIFdha2V1cFNpZ25hbFRlc3RzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXYWtldXBTb2NrZXRTaWduYWxUZXN0cywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU2lnaW50ZXJydXB0VGVzdCwgSXRpbWVyVGVzdCwgV2luZG93c1NpZ25hbFRlc3RzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQZW5kaW5nU2lnbmFsc1Rlc3RzKQogICAgIGZpbmFsbHk6CmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X3NpdGUucHkgYi9MaWIvdGVzdC90ZXN0X3NpdGUucHkKaW5kZXggZjcxY2Y3My4uZTIzNDE2NCAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9zaXRlLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3Rfc2l0ZS5weQpAQCAtMTQ3LDcgKzE0Nyw3IEBACiAgICAgICAgICAgICByZS5lc2NhcGUob3MucGF0aC5qb2luKHB0aF9kaXIsIHB0aF9mbikpKQogICAgICAgICAjIFhYWDogZGl0dG8gcHJldmlvdXMgWFhYIGNvbW1lbnQuCiAgICAgICAgIHNlbGYuYXNzZXJ0UmVnZXgoZXJyX291dC5nZXR2YWx1ZSgpLCAnVHJhY2ViYWNrJykKLSAgICAgICAgc2VsZi5hc3NlcnRSZWdleChlcnJfb3V0LmdldHZhbHVlKCksICdUeXBlRXJyb3InKQorICAgICAgICBzZWxmLmFzc2VydFJlZ2V4KGVycl9vdXQuZ2V0dmFsdWUoKSwgJ1ZhbHVlRXJyb3InKQogCiAgICAgZGVmIHRlc3RfYWRkc2l0ZWRpcihzZWxmKToKICAgICAgICAgIyBTYW1lIHRlc3RzIGZvciB0ZXN0X2FkZHBhY2thZ2Ugc2luY2UgYWRkc2l0ZWRpcigpIGVzc2VudGlhbGx5IGp1c3QKQEAgLTIzNSwyMCArMjM1LDE4IEBACiAgICAgICAgICAgICAjIE9TIFggZnJhbWV3b3JrIGJ1aWxkcwogICAgICAgICAgICAgc2l0ZS5QUkVGSVhFUyA9IFsnUHl0aG9uLmZyYW1ld29yayddCiAgICAgICAgICAgICBkaXJzID0gc2l0ZS5nZXRzaXRlcGFja2FnZXMoKQotICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4oZGlycyksIDMpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihkaXJzKSwgMikKICAgICAgICAgICAgIHdhbnRlZCA9IG9zLnBhdGguam9pbignL0xpYnJhcnknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN5c2NvbmZpZy5nZXRfY29uZmlnX3ZhcigiUFlUSE9ORlJBTUVXT1JLIiksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3lzLnZlcnNpb25bOjNdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzaXRlLXBhY2thZ2VzJykKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZGlyc1syXSwgd2FudGVkKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkaXJzWzFdLCB3YW50ZWQpCiAgICAgICAgIGVsaWYgb3Muc2VwID09ICcvJzoKICAgICAgICAgICAgICMgT1MgWCBub24tZnJhbXdld29yayBidWlsZHMsIExpbnV4LCBGcmVlQlNELCBldGMKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKGRpcnMpLCAyKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4oZGlycyksIDEpCiAgICAgICAgICAgICB3YW50ZWQgPSBvcy5wYXRoLmpvaW4oJ3hveG8nLCAnbGliJywgJ3B5dGhvbicgKyBzeXMudmVyc2lvbls6M10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NpdGUtcGFja2FnZXMnKQogICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkaXJzWzBdLCB3YW50ZWQpCi0gICAgICAgICAgICB3YW50ZWQgPSBvcy5wYXRoLmpvaW4oJ3hveG8nLCAnbGliJywgJ3NpdGUtcHl0aG9uJykKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZGlyc1sxXSwgd2FudGVkKQogICAgICAgICBlbHNlOgogICAgICAgICAgICAgIyBvdGhlciBwbGF0Zm9ybXMKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKGRpcnMpLCAyKQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9zbXRwZC5weSBiL0xpYi90ZXN0L3Rlc3Rfc210cGQucHkKaW5kZXggOTNmMTRjNC4uNmViNDdmMSAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9zbXRwZC5weQorKysgYi9MaWIvdGVzdC90ZXN0X3NtdHBkLnB5CkBAIC0xLDQgKzEsNSBAQAogaW1wb3J0IHVuaXR0ZXN0CitpbXBvcnQgdGV4dHdyYXAKIGZyb20gdGVzdCBpbXBvcnQgc3VwcG9ydCwgbW9ja19zb2NrZXQKIGltcG9ydCBzb2NrZXQKIGltcG9ydCBpbwpAQCAtNywxNSArOCwyMiBAQAogCiAKIGNsYXNzIER1bW15U2VydmVyKHNtdHBkLlNNVFBTZXJ2ZXIpOgotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBsb2NhbGFkZHIsIHJlbW90ZWFkZHIpOgotICAgICAgICBzbXRwZC5TTVRQU2VydmVyLl9faW5pdF9fKHNlbGYsIGxvY2FsYWRkciwgcmVtb3RlYWRkcikKKyAgICBkZWYgX19pbml0X18oc2VsZiwgKmFyZ3MsICoqa3dhcmdzKToKKyAgICAgICAgc210cGQuU01UUFNlcnZlci5fX2luaXRfXyhzZWxmLCAqYXJncywgKiprd2FyZ3MpCiAgICAgICAgIHNlbGYubWVzc2FnZXMgPSBbXQorICAgICAgICBpZiBzZWxmLl9kZWNvZGVfZGF0YToKKyAgICAgICAgICAgIHNlbGYucmV0dXJuX3N0YXR1cyA9ICdyZXR1cm4gc3RhdHVzJworICAgICAgICBlbHNlOgorICAgICAgICAgICAgc2VsZi5yZXR1cm5fc3RhdHVzID0gYidyZXR1cm4gc3RhdHVzJwogCiAgICAgZGVmIHByb2Nlc3NfbWVzc2FnZShzZWxmLCBwZWVyLCBtYWlsZnJvbSwgcmNwdHRvcywgZGF0YSk6CiAgICAgICAgIHNlbGYubWVzc2FnZXMuYXBwZW5kKChwZWVyLCBtYWlsZnJvbSwgcmNwdHRvcywgZGF0YSkpCi0gICAgICAgIGlmIGRhdGEgPT0gJ3JldHVybiBzdGF0dXMnOgorICAgICAgICBpZiBkYXRhID09IHNlbGYucmV0dXJuX3N0YXR1czoKICAgICAgICAgICAgIHJldHVybiAnMjUwIE9raXNoJwogCisgICAgZGVmIHByb2Nlc3Nfc210cHV0ZjhfbWVzc2FnZShzZWxmLCAqYXJncywgKiprd2FyZ3MpOgorICAgICAgICByZXR1cm4gJzI1MCBTTVRQVVRGOCBtZXNzYWdlIG9raXNoJworCiAKIGNsYXNzIER1bW15RGlzcGF0Y2hlckJyb2tlbihFeGNlcHRpb24pOgogICAgIHBhc3MKQEAgLTMxLDkgKzM5LDEwIEBACiAgICAgICAgIHNtdHBkLnNvY2tldCA9IGFzeW5jb3JlLnNvY2tldCA9IG1vY2tfc29ja2V0CiAKICAgICBkZWYgdGVzdF9wcm9jZXNzX21lc3NhZ2VfdW5pbXBsZW1lbnRlZChzZWxmKToKLSAgICAgICAgc2VydmVyID0gc210cGQuU01UUFNlcnZlcignYScsICdiJykKKyAgICAgICAgc2VydmVyID0gc210cGQuU01UUFNlcnZlcigoc3VwcG9ydC5IT1NULCAwKSwgKCdiJywgMCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVjb2RlX2RhdGE9VHJ1ZSkKICAgICAgICAgY29ubiwgYWRkciA9IHNlcnZlci5hY2NlcHQoKQotICAgICAgICBjaGFubmVsID0gc210cGQuU01UUENoYW5uZWwoc2VydmVyLCBjb25uLCBhZGRyKQorICAgICAgICBjaGFubmVsID0gc210cGQuU01UUENoYW5uZWwoc2VydmVyLCBjb25uLCBhZGRyLCBkZWNvZGVfZGF0YT1UcnVlKQogCiAgICAgICAgIGRlZiB3cml0ZV9saW5lKGxpbmUpOgogICAgICAgICAgICAgY2hhbm5lbC5zb2NrZXQucXVldWVfcmVjdihsaW5lKQpAQCAtNDUsMTkgKzU0LDE2MyBAQAogICAgICAgICB3cml0ZV9saW5lKGInREFUQScpCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKE5vdEltcGxlbWVudGVkRXJyb3IsIHdyaXRlX2xpbmUsIGInc3BhbVxyXG4uXHJcbicpCiAKKyAgICBkZWYgdGVzdF9wcm9jZXNzX3NtdHB1dGY4X21lc3NhZ2VfdW5pbXBsZW1lbnRlZChzZWxmKToKKyAgICAgICAgc2VydmVyID0gc210cGQuU01UUFNlcnZlcigoc3VwcG9ydC5IT1NULCAwKSwgKCdiJywgMCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5hYmxlX1NNVFBVVEY4PVRydWUpCisgICAgICAgIGNvbm4sIGFkZHIgPSBzZXJ2ZXIuYWNjZXB0KCkKKyAgICAgICAgY2hhbm5lbCA9IHNtdHBkLlNNVFBDaGFubmVsKHNlcnZlciwgY29ubiwgYWRkciwgZW5hYmxlX1NNVFBVVEY4PVRydWUpCisKKyAgICAgICAgZGVmIHdyaXRlX2xpbmUobGluZSk6CisgICAgICAgICAgICBjaGFubmVsLnNvY2tldC5xdWV1ZV9yZWN2KGxpbmUpCisgICAgICAgICAgICBjaGFubmVsLmhhbmRsZV9yZWFkKCkKKworICAgICAgICB3cml0ZV9saW5lKGInRUhMTyBleGFtcGxlJykKKyAgICAgICAgd3JpdGVfbGluZShiJ01BSUwgRnJvbTogPGVnZ3NAZXhhbXBsZT4gQk9EWT04QklUTUlNRSBTTVRQVVRGOCcpCisgICAgICAgIHdyaXRlX2xpbmUoYidSQ1BUIFRvOiA8c3BhbUBleGFtcGxlPicpCisgICAgICAgIHdyaXRlX2xpbmUoYidEQVRBJykKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoTm90SW1wbGVtZW50ZWRFcnJvciwgd3JpdGVfbGluZSwgYidzcGFtXHJcbi5cclxuJykKKworICAgIGRlZiB0ZXN0X2RlY29kZV9kYXRhX2RlZmF1bHRfd2FybnMoc2VsZik6CisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRXYXJucyhEZXByZWNhdGlvbldhcm5pbmcpOgorICAgICAgICAgICAgc210cGQuU01UUFNlcnZlcigoc3VwcG9ydC5IT1NULCAwKSwgKCdiJywgMCkpCisKKyAgICBkZWYgdGVzdF9kZWNvZGVfZGF0YV9hbmRfZW5hYmxlX1NNVFBVVEY4X3JhaXNlcyhzZWxmKToKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoCisgICAgICAgICAgICBWYWx1ZUVycm9yLAorICAgICAgICAgICAgc210cGQuU01UUFNlcnZlciwKKyAgICAgICAgICAgIChzdXBwb3J0LkhPU1QsIDApLAorICAgICAgICAgICAgKCdiJywgMCksCisgICAgICAgICAgICBlbmFibGVfU01UUFVURjg9VHJ1ZSwKKyAgICAgICAgICAgIGRlY29kZV9kYXRhPVRydWUpCisKICAgICBkZWYgdGVhckRvd24oc2VsZik6CiAgICAgICAgIGFzeW5jb3JlLmNsb3NlX2FsbCgpCiAgICAgICAgIGFzeW5jb3JlLnNvY2tldCA9IHNtdHBkLnNvY2tldCA9IHNvY2tldAogCiAKK2NsYXNzIERlYnVnZ2luZ1NlcnZlclRlc3QodW5pdHRlc3QuVGVzdENhc2UpOgorCisgICAgZGVmIHNldFVwKHNlbGYpOgorICAgICAgICBzbXRwZC5zb2NrZXQgPSBhc3luY29yZS5zb2NrZXQgPSBtb2NrX3NvY2tldAorCisgICAgZGVmIHNlbmRfZGF0YShzZWxmLCBjaGFubmVsLCBkYXRhLCBlbmFibGVfU01UUFVURjg9RmFsc2UpOgorICAgICAgICBkZWYgd3JpdGVfbGluZShsaW5lKToKKyAgICAgICAgICAgIGNoYW5uZWwuc29ja2V0LnF1ZXVlX3JlY3YobGluZSkKKyAgICAgICAgICAgIGNoYW5uZWwuaGFuZGxlX3JlYWQoKQorICAgICAgICB3cml0ZV9saW5lKGInRUhMTyBleGFtcGxlJykKKyAgICAgICAgaWYgZW5hYmxlX1NNVFBVVEY4OgorICAgICAgICAgICAgd3JpdGVfbGluZShiJ01BSUwgRnJvbTplZ2dzQGV4YW1wbGUgQk9EWT04QklUTUlNRSBTTVRQVVRGOCcpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICB3cml0ZV9saW5lKGInTUFJTCBGcm9tOmVnZ3NAZXhhbXBsZScpCisgICAgICAgIHdyaXRlX2xpbmUoYidSQ1BUIFRvOnNwYW1AZXhhbXBsZScpCisgICAgICAgIHdyaXRlX2xpbmUoYidEQVRBJykKKyAgICAgICAgd3JpdGVfbGluZShkYXRhKQorICAgICAgICB3cml0ZV9saW5lKGInLicpCisKKyAgICBkZWYgdGVzdF9wcm9jZXNzX21lc3NhZ2Vfd2l0aF9kZWNvZGVfZGF0YV90cnVlKHNlbGYpOgorICAgICAgICBzZXJ2ZXIgPSBzbXRwZC5EZWJ1Z2dpbmdTZXJ2ZXIoKHN1cHBvcnQuSE9TVCwgMCksICgnYicsIDApLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVjb2RlX2RhdGE9VHJ1ZSkKKyAgICAgICAgY29ubiwgYWRkciA9IHNlcnZlci5hY2NlcHQoKQorICAgICAgICBjaGFubmVsID0gc210cGQuU01UUENoYW5uZWwoc2VydmVyLCBjb25uLCBhZGRyLCBkZWNvZGVfZGF0YT1UcnVlKQorICAgICAgICB3aXRoIHN1cHBvcnQuY2FwdHVyZWRfc3Rkb3V0KCkgYXMgczoKKyAgICAgICAgICAgIHNlbGYuc2VuZF9kYXRhKGNoYW5uZWwsIGInRnJvbTogdGVzdFxuXG5oZWxsb1xuJykKKyAgICAgICAgc3Rkb3V0ID0gcy5nZXR2YWx1ZSgpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3Rkb3V0LCB0ZXh0d3JhcC5kZWRlbnQoIiIiXAorICAgICAgICAgICAgIC0tLS0tLS0tLS0gTUVTU0FHRSBGT0xMT1dTIC0tLS0tLS0tLS0KKyAgICAgICAgICAgICBGcm9tOiB0ZXN0CisgICAgICAgICAgICAgWC1QZWVyOiBwZWVyLWFkZHJlc3MKKworICAgICAgICAgICAgIGhlbGxvCisgICAgICAgICAgICAgLS0tLS0tLS0tLS0tIEVORCBNRVNTQUdFIC0tLS0tLS0tLS0tLQorICAgICAgICAgICAgICIiIikpCisKKyAgICBkZWYgdGVzdF9wcm9jZXNzX21lc3NhZ2Vfd2l0aF9kZWNvZGVfZGF0YV9mYWxzZShzZWxmKToKKyAgICAgICAgc2VydmVyID0gc210cGQuRGVidWdnaW5nU2VydmVyKChzdXBwb3J0LkhPU1QsIDApLCAoJ2InLCAwKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlY29kZV9kYXRhPUZhbHNlKQorICAgICAgICBjb25uLCBhZGRyID0gc2VydmVyLmFjY2VwdCgpCisgICAgICAgIGNoYW5uZWwgPSBzbXRwZC5TTVRQQ2hhbm5lbChzZXJ2ZXIsIGNvbm4sIGFkZHIsIGRlY29kZV9kYXRhPUZhbHNlKQorICAgICAgICB3aXRoIHN1cHBvcnQuY2FwdHVyZWRfc3Rkb3V0KCkgYXMgczoKKyAgICAgICAgICAgIHNlbGYuc2VuZF9kYXRhKGNoYW5uZWwsIGInRnJvbTogdGVzdFxuXG5oXHhjM1x4YTlsbG9ceGZmXG4nKQorICAgICAgICBzdGRvdXQgPSBzLmdldHZhbHVlKCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdGRvdXQsIHRleHR3cmFwLmRlZGVudCgiIiJcCisgICAgICAgICAgICAgLS0tLS0tLS0tLSBNRVNTQUdFIEZPTExPV1MgLS0tLS0tLS0tLQorICAgICAgICAgICAgIGInRnJvbTogdGVzdCcKKyAgICAgICAgICAgICBiJ1gtUGVlcjogcGVlci1hZGRyZXNzJworICAgICAgICAgICAgIGInJworICAgICAgICAgICAgIGInaFxceGMzXFx4YTlsbG9cXHhmZicKKyAgICAgICAgICAgICAtLS0tLS0tLS0tLS0gRU5EIE1FU1NBR0UgLS0tLS0tLS0tLS0tCisgICAgICAgICAgICAgIiIiKSkKKworICAgIGRlZiB0ZXN0X3Byb2Nlc3NfbWVzc2FnZV93aXRoX2VuYWJsZV9TTVRQVVRGOF90cnVlKHNlbGYpOgorICAgICAgICBzZXJ2ZXIgPSBzbXRwZC5EZWJ1Z2dpbmdTZXJ2ZXIoKHN1cHBvcnQuSE9TVCwgMCksICgnYicsIDApLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5hYmxlX1NNVFBVVEY4PVRydWUpCisgICAgICAgIGNvbm4sIGFkZHIgPSBzZXJ2ZXIuYWNjZXB0KCkKKyAgICAgICAgY2hhbm5lbCA9IHNtdHBkLlNNVFBDaGFubmVsKHNlcnZlciwgY29ubiwgYWRkciwgZW5hYmxlX1NNVFBVVEY4PVRydWUpCisgICAgICAgIHdpdGggc3VwcG9ydC5jYXB0dXJlZF9zdGRvdXQoKSBhcyBzOgorICAgICAgICAgICAgc2VsZi5zZW5kX2RhdGEoY2hhbm5lbCwgYidGcm9tOiB0ZXN0XG5cbmhceGMzXHhhOWxsb1x4ZmZcbicpCisgICAgICAgIHN0ZG91dCA9IHMuZ2V0dmFsdWUoKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0ZG91dCwgdGV4dHdyYXAuZGVkZW50KCIiIlwKKyAgICAgICAgICAgICAtLS0tLS0tLS0tIE1FU1NBR0UgRk9MTE9XUyAtLS0tLS0tLS0tCisgICAgICAgICAgICAgYidGcm9tOiB0ZXN0JworICAgICAgICAgICAgIGInWC1QZWVyOiBwZWVyLWFkZHJlc3MnCisgICAgICAgICAgICAgYicnCisgICAgICAgICAgICAgYidoXFx4YzNcXHhhOWxsb1xceGZmJworICAgICAgICAgICAgIC0tLS0tLS0tLS0tLSBFTkQgTUVTU0FHRSAtLS0tLS0tLS0tLS0KKyAgICAgICAgICAgICAiIiIpKQorCisgICAgZGVmIHRlc3RfcHJvY2Vzc19TTVRQVVRGOF9tZXNzYWdlX3dpdGhfZW5hYmxlX1NNVFBVVEY4X3RydWUoc2VsZik6CisgICAgICAgIHNlcnZlciA9IHNtdHBkLkRlYnVnZ2luZ1NlcnZlcigoc3VwcG9ydC5IT1NULCAwKSwgKCdiJywgMCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbmFibGVfU01UUFVURjg9VHJ1ZSkKKyAgICAgICAgY29ubiwgYWRkciA9IHNlcnZlci5hY2NlcHQoKQorICAgICAgICBjaGFubmVsID0gc210cGQuU01UUENoYW5uZWwoc2VydmVyLCBjb25uLCBhZGRyLCBlbmFibGVfU01UUFVURjg9VHJ1ZSkKKyAgICAgICAgd2l0aCBzdXBwb3J0LmNhcHR1cmVkX3N0ZG91dCgpIGFzIHM6CisgICAgICAgICAgICBzZWxmLnNlbmRfZGF0YShjaGFubmVsLCBiJ0Zyb206IHRlc3RcblxuaFx4YzNceGE5bGxvXHhmZlxuJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuYWJsZV9TTVRQVVRGOD1UcnVlKQorICAgICAgICBzdGRvdXQgPSBzLmdldHZhbHVlKCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdGRvdXQsIHRleHR3cmFwLmRlZGVudCgiIiJcCisgICAgICAgICAgICAgLS0tLS0gU01UUFVURjggTUVTU0FHRSBGT0xMT1dTIC0tLS0tLQorICAgICAgICAgICAgIGInRnJvbTogdGVzdCcKKyAgICAgICAgICAgICBiJ1gtUGVlcjogcGVlci1hZGRyZXNzJworICAgICAgICAgICAgIGInJworICAgICAgICAgICAgIGInaFxceGMzXFx4YTlsbG9cXHhmZicKKyAgICAgICAgICAgICAtLS0tLS0tLS0tLS0gRU5EIE1FU1NBR0UgLS0tLS0tLS0tLS0tCisgICAgICAgICAgICAgIiIiKSkKKworICAgIGRlZiB0ZWFyRG93bihzZWxmKToKKyAgICAgICAgYXN5bmNvcmUuY2xvc2VfYWxsKCkKKyAgICAgICAgYXN5bmNvcmUuc29ja2V0ID0gc210cGQuc29ja2V0ID0gc29ja2V0CisKKworY2xhc3MgVGVzdEZhbWlseURldGVjdGlvbih1bml0dGVzdC5UZXN0Q2FzZSk6CisgICAgZGVmIHNldFVwKHNlbGYpOgorICAgICAgICBzbXRwZC5zb2NrZXQgPSBhc3luY29yZS5zb2NrZXQgPSBtb2NrX3NvY2tldAorCisgICAgZGVmIHRlYXJEb3duKHNlbGYpOgorICAgICAgICBhc3luY29yZS5jbG9zZV9hbGwoKQorICAgICAgICBhc3luY29yZS5zb2NrZXQgPSBzbXRwZC5zb2NrZXQgPSBzb2NrZXQKKworICAgIEB1bml0dGVzdC5za2lwVW5sZXNzKHN1cHBvcnQuSVBWNl9FTkFCTEVELCAiSVB2NiBub3QgZW5hYmxlZCIpCisgICAgZGVmIHRlc3Rfc29ja2V0X3VzZXNfSVB2NihzZWxmKToKKyAgICAgICAgc2VydmVyID0gc210cGQuU01UUFNlcnZlcigoc3VwcG9ydC5IT1NUdjYsIDApLCAoc3VwcG9ydC5IT1NULCAwKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWNvZGVfZGF0YT1GYWxzZSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZXJ2ZXIuc29ja2V0LmZhbWlseSwgc29ja2V0LkFGX0lORVQ2KQorCisgICAgZGVmIHRlc3Rfc29ja2V0X3VzZXNfSVB2NChzZWxmKToKKyAgICAgICAgc2VydmVyID0gc210cGQuU01UUFNlcnZlcigoc3VwcG9ydC5IT1NULCAwKSwgKHN1cHBvcnQuSE9TVHY2LCAwKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWNvZGVfZGF0YT1GYWxzZSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZXJ2ZXIuc29ja2V0LmZhbWlseSwgc29ja2V0LkFGX0lORVQpCisKKwogY2xhc3MgU01UUERDaGFubmVsVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgZGVmIHNldFVwKHNlbGYpOgogICAgICAgICBzbXRwZC5zb2NrZXQgPSBhc3luY29yZS5zb2NrZXQgPSBtb2NrX3NvY2tldAogICAgICAgICBzZWxmLm9sZF9kZWJ1Z3N0cmVhbSA9IHNtdHBkLkRFQlVHU1RSRUFNCiAgICAgICAgIHNlbGYuZGVidWcgPSBzbXRwZC5ERUJVR1NUUkVBTSA9IGlvLlN0cmluZ0lPKCkKLSAgICAgICAgc2VsZi5zZXJ2ZXIgPSBEdW1teVNlcnZlcignYScsICdiJykKKyAgICAgICAgc2VsZi5zZXJ2ZXIgPSBEdW1teVNlcnZlcigoc3VwcG9ydC5IT1NULCAwKSwgKCdiJywgMCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVjb2RlX2RhdGE9VHJ1ZSkKICAgICAgICAgY29ubiwgYWRkciA9IHNlbGYuc2VydmVyLmFjY2VwdCgpCi0gICAgICAgIHNlbGYuY2hhbm5lbCA9IHNtdHBkLlNNVFBDaGFubmVsKHNlbGYuc2VydmVyLCBjb25uLCBhZGRyKQorICAgICAgICBzZWxmLmNoYW5uZWwgPSBzbXRwZC5TTVRQQ2hhbm5lbChzZWxmLnNlcnZlciwgY29ubiwgYWRkciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVjb2RlX2RhdGE9VHJ1ZSkKIAogICAgIGRlZiB0ZWFyRG93bihzZWxmKToKICAgICAgICAgYXN5bmNvcmUuY2xvc2VfYWxsKCkKQEAgLTY5LDcgKzIyMiw5IEBACiAgICAgICAgIHNlbGYuY2hhbm5lbC5oYW5kbGVfcmVhZCgpCiAKICAgICBkZWYgdGVzdF9icm9rZW5fY29ubmVjdChzZWxmKToKLSAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoRHVtbXlEaXNwYXRjaGVyQnJva2VuLCBCcm9rZW5EdW1teVNlcnZlciwgJ2EnLCAnYicpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKAorICAgICAgICAgICAgRHVtbXlEaXNwYXRjaGVyQnJva2VuLCBCcm9rZW5EdW1teVNlcnZlciwKKyAgICAgICAgICAgIChzdXBwb3J0LkhPU1QsIDApLCAoJ2InLCAwKSwgZGVjb2RlX2RhdGE9VHJ1ZSkKIAogICAgIGRlZiB0ZXN0X3NlcnZlcl9hY2NlcHQoc2VsZik6CiAgICAgICAgIHNlbGYuc2VydmVyLmhhbmRsZV9hY2NlcHQoKQpAQCAtMjE0LDYgKzM2OSwxMiBAQAogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuY2hhbm5lbC5zb2NrZXQubGFzdCwKICAgICAgICAgICAgICAgICAgICAgICAgICBiJzUwMCBFcnJvcjogbGluZSB0b28gbG9uZ1xyXG4nKQogCisgICAgZGVmIHRlc3RfTUFJTF9jb21tYW5kX3JlamVjdHNfU01UUFVURjhfYnlfZGVmYXVsdChzZWxmKToKKyAgICAgICAgc2VsZi53cml0ZV9saW5lKGInRUhMTyBleGFtcGxlJykKKyAgICAgICAgc2VsZi53cml0ZV9saW5lKAorICAgICAgICAgICAgYidNQUlMIGZyb206IDxuYWl2ZUBleGFtcGxlLmNvbT4gQk9EWT04QklUTUlNRSBTTVRQVVRGOCcpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5jaGFubmVsLnNvY2tldC5sYXN0WzA6MV0sIGInNScpCisKICAgICBkZWYgdGVzdF9kYXRhX2xvbmdlcl90aGFuX2RlZmF1bHRfZGF0YV9zaXplX2xpbWl0KHNlbGYpOgogICAgICAgICAjIEhhY2sgdGhlIGRlZmF1bHQgc28gd2UgZG9uJ3QgaGF2ZSB0byBnZW5lcmF0ZSBzbyBtdWNoIGRhdGEuCiAgICAgICAgIHNlbGYuY2hhbm5lbC5kYXRhX3NpemVfbGltaXQgPSAxMDQ4CkBAIC0zODcsNyArNTQ4LDEwIEBACiAgICAgICAgIHNlbGYud3JpdGVfbGluZShiJ2RhdGFcclxubW9yZVxyXG4uJykKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLmNoYW5uZWwuc29ja2V0Lmxhc3QsIGInMjUwIE9LXHJcbicpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5zZXJ2ZXIubWVzc2FnZXMsCi0gICAgICAgICAgICBbKCdwZWVyJywgJ2VnZ3NAZXhhbXBsZScsIFsnc3BhbUBleGFtcGxlJ10sICdkYXRhXG5tb3JlJyldKQorICAgICAgICAgICAgWygoJ3BlZXItYWRkcmVzcycsICdwZWVyLXBvcnQnKSwKKyAgICAgICAgICAgICAgJ2VnZ3NAZXhhbXBsZScsCisgICAgICAgICAgICAgIFsnc3BhbUBleGFtcGxlJ10sCisgICAgICAgICAgICAgICdkYXRhXG5tb3JlJyldKQogCiAgICAgZGVmIHRlc3RfREFUQV9zeW50YXgoc2VsZik6CiAgICAgICAgIHNlbGYud3JpdGVfbGluZShiJ0hFTE8gZXhhbXBsZScpCkBAIC00MTcsNyArNTgxLDEwIEBACiAgICAgICAgIHNlbGYud3JpdGVfbGluZShiJ0RBVEEnKQogICAgICAgICBzZWxmLndyaXRlX2xpbmUoYidkYXRhXHJcbi4nKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuc2VydmVyLm1lc3NhZ2VzLAotICAgICAgICAgICAgWygncGVlcicsICdlZ2dzQGV4YW1wbGUnLCBbJ3NwYW1AZXhhbXBsZScsJ2hhbUBleGFtcGxlJ10sICdkYXRhJyldKQorICAgICAgICAgICAgWygoJ3BlZXItYWRkcmVzcycsICdwZWVyLXBvcnQnKSwKKyAgICAgICAgICAgICAgJ2VnZ3NAZXhhbXBsZScsCisgICAgICAgICAgICAgIFsnc3BhbUBleGFtcGxlJywnaGFtQGV4YW1wbGUnXSwKKyAgICAgICAgICAgICAgJ2RhdGEnKV0pCiAKICAgICBkZWYgdGVzdF9tYW51YWxfc3RhdHVzKHNlbGYpOgogICAgICAgICAjIGNoZWNrcyB0aGF0IHRoZSBDaGFubmVsIGlzIGFibGUgdG8gcmV0dXJuIGEgY3VzdG9tIHN0YXR1cyBtZXNzYWdlCkBAIC00MzksNyArNjA2LDEwIEBACiAgICAgICAgIHNlbGYud3JpdGVfbGluZShiJ0RBVEEnKQogICAgICAgICBzZWxmLndyaXRlX2xpbmUoYidkYXRhXHJcbi4nKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuc2VydmVyLm1lc3NhZ2VzLAotICAgICAgICAgICAgWygncGVlcicsICdmb29AZXhhbXBsZScsIFsnZWdnc0BleGFtcGxlJ10sICdkYXRhJyldKQorICAgICAgICAgICAgWygoJ3BlZXItYWRkcmVzcycsICdwZWVyLXBvcnQnKSwKKyAgICAgICAgICAgICAgICdmb29AZXhhbXBsZScsCisgICAgICAgICAgICAgICBbJ2VnZ3NAZXhhbXBsZSddLAorICAgICAgICAgICAgICAgJ2RhdGEnKV0pCiAKICAgICBkZWYgdGVzdF9IRUxPX1JTRVQoc2VsZik6CiAgICAgICAgIHNlbGYud3JpdGVfbGluZShiJ0hFTE8gZXhhbXBsZScpCkBAIC01MDIsNiArNjcyLDI0IEBACiAgICAgICAgIHdpdGggc3VwcG9ydC5jaGVja193YXJuaW5ncygoJycsIERlcHJlY2F0aW9uV2FybmluZykpOgogICAgICAgICAgICAgc2VsZi5jaGFubmVsLl9TTVRQQ2hhbm5lbF9fYWRkciA9ICdzcGFtJwogCisgICAgZGVmIHRlc3RfZGVjb2RlX2RhdGFfZGVmYXVsdF93YXJuaW5nKHNlbGYpOgorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0V2FybnMoRGVwcmVjYXRpb25XYXJuaW5nKToKKyAgICAgICAgICAgIHNlcnZlciA9IER1bW15U2VydmVyKChzdXBwb3J0LkhPU1QsIDApLCAoJ2InLCAwKSkKKyAgICAgICAgY29ubiwgYWRkciA9IHNlbGYuc2VydmVyLmFjY2VwdCgpCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRXYXJucyhEZXByZWNhdGlvbldhcm5pbmcpOgorICAgICAgICAgICAgc210cGQuU01UUENoYW5uZWwoc2VydmVyLCBjb25uLCBhZGRyKQorCitAdW5pdHRlc3Quc2tpcFVubGVzcyhzdXBwb3J0LklQVjZfRU5BQkxFRCwgIklQdjYgbm90IGVuYWJsZWQiKQorY2xhc3MgU01UUERDaGFubmVsSVB2NlRlc3QoU01UUERDaGFubmVsVGVzdCk6CisgICAgZGVmIHNldFVwKHNlbGYpOgorICAgICAgICBzbXRwZC5zb2NrZXQgPSBhc3luY29yZS5zb2NrZXQgPSBtb2NrX3NvY2tldAorICAgICAgICBzZWxmLm9sZF9kZWJ1Z3N0cmVhbSA9IHNtdHBkLkRFQlVHU1RSRUFNCisgICAgICAgIHNlbGYuZGVidWcgPSBzbXRwZC5ERUJVR1NUUkVBTSA9IGlvLlN0cmluZ0lPKCkKKyAgICAgICAgc2VsZi5zZXJ2ZXIgPSBEdW1teVNlcnZlcigoc3VwcG9ydC5IT1NUdjYsIDApLCAoJ2InLCAwKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWNvZGVfZGF0YT1UcnVlKQorICAgICAgICBjb25uLCBhZGRyID0gc2VsZi5zZXJ2ZXIuYWNjZXB0KCkKKyAgICAgICAgc2VsZi5jaGFubmVsID0gc210cGQuU01UUENoYW5uZWwoc2VsZi5zZXJ2ZXIsIGNvbm4sIGFkZHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlY29kZV9kYXRhPVRydWUpCiAKIGNsYXNzIFNNVFBEQ2hhbm5lbFdpdGhEYXRhU2l6ZUxpbWl0VGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAKQEAgLTUwOSwxMCArNjk3LDEyIEBACiAgICAgICAgIHNtdHBkLnNvY2tldCA9IGFzeW5jb3JlLnNvY2tldCA9IG1vY2tfc29ja2V0CiAgICAgICAgIHNlbGYub2xkX2RlYnVnc3RyZWFtID0gc210cGQuREVCVUdTVFJFQU0KICAgICAgICAgc2VsZi5kZWJ1ZyA9IHNtdHBkLkRFQlVHU1RSRUFNID0gaW8uU3RyaW5nSU8oKQotICAgICAgICBzZWxmLnNlcnZlciA9IER1bW15U2VydmVyKCdhJywgJ2InKQorICAgICAgICBzZWxmLnNlcnZlciA9IER1bW15U2VydmVyKChzdXBwb3J0LkhPU1QsIDApLCAoJ2InLCAwKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWNvZGVfZGF0YT1UcnVlKQogICAgICAgICBjb25uLCBhZGRyID0gc2VsZi5zZXJ2ZXIuYWNjZXB0KCkKICAgICAgICAgIyBTZXQgREFUQSBzaXplIGxpbWl0IHRvIDMyIGJ5dGVzIGZvciBlYXN5IHRlc3RpbmcKLSAgICAgICAgc2VsZi5jaGFubmVsID0gc210cGQuU01UUENoYW5uZWwoc2VsZi5zZXJ2ZXIsIGNvbm4sIGFkZHIsIDMyKQorICAgICAgICBzZWxmLmNoYW5uZWwgPSBzbXRwZC5TTVRQQ2hhbm5lbChzZWxmLnNlcnZlciwgY29ubiwgYWRkciwgMzIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlY29kZV9kYXRhPVRydWUpCiAKICAgICBkZWYgdGVhckRvd24oc2VsZik6CiAgICAgICAgIGFzeW5jb3JlLmNsb3NlX2FsbCgpCkBAIC01MzYsNyArNzI2LDEwIEBACiAgICAgICAgIHNlbGYud3JpdGVfbGluZShiJ2RhdGFcclxubW9yZVxyXG4uJykKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLmNoYW5uZWwuc29ja2V0Lmxhc3QsIGInMjUwIE9LXHJcbicpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5zZXJ2ZXIubWVzc2FnZXMsCi0gICAgICAgICAgICBbKCdwZWVyJywgJ2VnZ3NAZXhhbXBsZScsIFsnc3BhbUBleGFtcGxlJ10sICdkYXRhXG5tb3JlJyldKQorICAgICAgICAgICAgWygoJ3BlZXItYWRkcmVzcycsICdwZWVyLXBvcnQnKSwKKyAgICAgICAgICAgICAgJ2VnZ3NAZXhhbXBsZScsCisgICAgICAgICAgICAgIFsnc3BhbUBleGFtcGxlJ10sCisgICAgICAgICAgICAgICdkYXRhXG5tb3JlJyldKQogCiAgICAgZGVmIHRlc3RfZGF0YV9saW1pdF9kaWFsb2dfdG9vX211Y2hfZGF0YShzZWxmKToKICAgICAgICAgc2VsZi53cml0ZV9saW5lKGInSEVMTyBleGFtcGxlJykKQEAgLTU1Myw1ICs3NDYsMTgxIEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgYic1NTIgRXJyb3I6IFRvbyBtdWNoIG1haWwgZGF0YVxyXG4nKQogCiAKK2NsYXNzIFNNVFBEQ2hhbm5lbFdpdGhEZWNvZGVEYXRhRmFsc2UodW5pdHRlc3QuVGVzdENhc2UpOgorCisgICAgZGVmIHNldFVwKHNlbGYpOgorICAgICAgICBzbXRwZC5zb2NrZXQgPSBhc3luY29yZS5zb2NrZXQgPSBtb2NrX3NvY2tldAorICAgICAgICBzZWxmLm9sZF9kZWJ1Z3N0cmVhbSA9IHNtdHBkLkRFQlVHU1RSRUFNCisgICAgICAgIHNlbGYuZGVidWcgPSBzbXRwZC5ERUJVR1NUUkVBTSA9IGlvLlN0cmluZ0lPKCkKKyAgICAgICAgc2VsZi5zZXJ2ZXIgPSBEdW1teVNlcnZlcigoc3VwcG9ydC5IT1NULCAwKSwgKCdiJywgMCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVjb2RlX2RhdGE9RmFsc2UpCisgICAgICAgIGNvbm4sIGFkZHIgPSBzZWxmLnNlcnZlci5hY2NlcHQoKQorICAgICAgICAjIFNldCBkZWNvZGVfZGF0YSB0byBGYWxzZQorICAgICAgICBzZWxmLmNoYW5uZWwgPSBzbXRwZC5TTVRQQ2hhbm5lbChzZWxmLnNlcnZlciwgY29ubiwgYWRkciwKKyAgICAgICAgICAgICAgICBkZWNvZGVfZGF0YT1GYWxzZSkKKworICAgIGRlZiB0ZWFyRG93bihzZWxmKToKKyAgICAgICAgYXN5bmNvcmUuY2xvc2VfYWxsKCkKKyAgICAgICAgYXN5bmNvcmUuc29ja2V0ID0gc210cGQuc29ja2V0ID0gc29ja2V0CisgICAgICAgIHNtdHBkLkRFQlVHU1RSRUFNID0gc2VsZi5vbGRfZGVidWdzdHJlYW0KKworICAgIGRlZiB3cml0ZV9saW5lKHNlbGYsIGxpbmUpOgorICAgICAgICBzZWxmLmNoYW5uZWwuc29ja2V0LnF1ZXVlX3JlY3YobGluZSkKKyAgICAgICAgc2VsZi5jaGFubmVsLmhhbmRsZV9yZWFkKCkKKworICAgIGRlZiB0ZXN0X2FzY2lpX2RhdGEoc2VsZik6CisgICAgICAgIHNlbGYud3JpdGVfbGluZShiJ0hFTE8gZXhhbXBsZScpCisgICAgICAgIHNlbGYud3JpdGVfbGluZShiJ01BSUwgRnJvbTplZ2dzQGV4YW1wbGUnKQorICAgICAgICBzZWxmLndyaXRlX2xpbmUoYidSQ1BUIFRvOnNwYW1AZXhhbXBsZScpCisgICAgICAgIHNlbGYud3JpdGVfbGluZShiJ0RBVEEnKQorICAgICAgICBzZWxmLndyaXRlX2xpbmUoYidwbGFpbiBhc2NpaSB0ZXh0JykKKyAgICAgICAgc2VsZi53cml0ZV9saW5lKGInLicpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5jaGFubmVsLnJlY2VpdmVkX2RhdGEsIGIncGxhaW4gYXNjaWkgdGV4dCcpCisKKyAgICBkZWYgdGVzdF91dGY4X2RhdGEoc2VsZik6CisgICAgICAgIHNlbGYud3JpdGVfbGluZShiJ0hFTE8gZXhhbXBsZScpCisgICAgICAgIHNlbGYud3JpdGVfbGluZShiJ01BSUwgRnJvbTplZ2dzQGV4YW1wbGUnKQorICAgICAgICBzZWxmLndyaXRlX2xpbmUoYidSQ1BUIFRvOnNwYW1AZXhhbXBsZScpCisgICAgICAgIHNlbGYud3JpdGVfbGluZShiJ0RBVEEnKQorICAgICAgICBzZWxmLndyaXRlX2xpbmUoYid1dGY4IGVucmljaGVkIHRleHQ6IFx4YzVceGJjXHhjNVx4YmFceGM0XHg4NycpCisgICAgICAgIHNlbGYud3JpdGVfbGluZShiJ2FuZCBzb21lIHBsYWluIGFzY2lpJykKKyAgICAgICAgc2VsZi53cml0ZV9saW5lKGInLicpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCisgICAgICAgICAgICBzZWxmLmNoYW5uZWwucmVjZWl2ZWRfZGF0YSwKKyAgICAgICAgICAgIGIndXRmOCBlbnJpY2hlZCB0ZXh0OiBceGM1XHhiY1x4YzVceGJhXHhjNFx4ODdcbicKKyAgICAgICAgICAgICAgICBiJ2FuZCBzb21lIHBsYWluIGFzY2lpJykKKworCitjbGFzcyBTTVRQRENoYW5uZWxXaXRoRGVjb2RlRGF0YVRydWUodW5pdHRlc3QuVGVzdENhc2UpOgorCisgICAgZGVmIHNldFVwKHNlbGYpOgorICAgICAgICBzbXRwZC5zb2NrZXQgPSBhc3luY29yZS5zb2NrZXQgPSBtb2NrX3NvY2tldAorICAgICAgICBzZWxmLm9sZF9kZWJ1Z3N0cmVhbSA9IHNtdHBkLkRFQlVHU1RSRUFNCisgICAgICAgIHNlbGYuZGVidWcgPSBzbXRwZC5ERUJVR1NUUkVBTSA9IGlvLlN0cmluZ0lPKCkKKyAgICAgICAgc2VsZi5zZXJ2ZXIgPSBEdW1teVNlcnZlcigoc3VwcG9ydC5IT1NULCAwKSwgKCdiJywgMCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVjb2RlX2RhdGE9VHJ1ZSkKKyAgICAgICAgY29ubiwgYWRkciA9IHNlbGYuc2VydmVyLmFjY2VwdCgpCisgICAgICAgICMgU2V0IGRlY29kZV9kYXRhIHRvIFRydWUKKyAgICAgICAgc2VsZi5jaGFubmVsID0gc210cGQuU01UUENoYW5uZWwoc2VsZi5zZXJ2ZXIsIGNvbm4sIGFkZHIsCisgICAgICAgICAgICAgICAgZGVjb2RlX2RhdGE9VHJ1ZSkKKworICAgIGRlZiB0ZWFyRG93bihzZWxmKToKKyAgICAgICAgYXN5bmNvcmUuY2xvc2VfYWxsKCkKKyAgICAgICAgYXN5bmNvcmUuc29ja2V0ID0gc210cGQuc29ja2V0ID0gc29ja2V0CisgICAgICAgIHNtdHBkLkRFQlVHU1RSRUFNID0gc2VsZi5vbGRfZGVidWdzdHJlYW0KKworICAgIGRlZiB3cml0ZV9saW5lKHNlbGYsIGxpbmUpOgorICAgICAgICBzZWxmLmNoYW5uZWwuc29ja2V0LnF1ZXVlX3JlY3YobGluZSkKKyAgICAgICAgc2VsZi5jaGFubmVsLmhhbmRsZV9yZWFkKCkKKworICAgIGRlZiB0ZXN0X2FzY2lpX2RhdGEoc2VsZik6CisgICAgICAgIHNlbGYud3JpdGVfbGluZShiJ0hFTE8gZXhhbXBsZScpCisgICAgICAgIHNlbGYud3JpdGVfbGluZShiJ01BSUwgRnJvbTplZ2dzQGV4YW1wbGUnKQorICAgICAgICBzZWxmLndyaXRlX2xpbmUoYidSQ1BUIFRvOnNwYW1AZXhhbXBsZScpCisgICAgICAgIHNlbGYud3JpdGVfbGluZShiJ0RBVEEnKQorICAgICAgICBzZWxmLndyaXRlX2xpbmUoYidwbGFpbiBhc2NpaSB0ZXh0JykKKyAgICAgICAgc2VsZi53cml0ZV9saW5lKGInLicpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5jaGFubmVsLnJlY2VpdmVkX2RhdGEsICdwbGFpbiBhc2NpaSB0ZXh0JykKKworICAgIGRlZiB0ZXN0X3V0ZjhfZGF0YShzZWxmKToKKyAgICAgICAgc2VsZi53cml0ZV9saW5lKGInSEVMTyBleGFtcGxlJykKKyAgICAgICAgc2VsZi53cml0ZV9saW5lKGInTUFJTCBGcm9tOmVnZ3NAZXhhbXBsZScpCisgICAgICAgIHNlbGYud3JpdGVfbGluZShiJ1JDUFQgVG86c3BhbUBleGFtcGxlJykKKyAgICAgICAgc2VsZi53cml0ZV9saW5lKGInREFUQScpCisgICAgICAgIHNlbGYud3JpdGVfbGluZShiJ3V0ZjggZW5yaWNoZWQgdGV4dDogXHhjNVx4YmNceGM1XHhiYVx4YzRceDg3JykKKyAgICAgICAgc2VsZi53cml0ZV9saW5lKGInYW5kIHNvbWUgcGxhaW4gYXNjaWknKQorICAgICAgICBzZWxmLndyaXRlX2xpbmUoYicuJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgKKyAgICAgICAgICAgIHNlbGYuY2hhbm5lbC5yZWNlaXZlZF9kYXRhLAorICAgICAgICAgICAgJ3V0ZjggZW5yaWNoZWQgdGV4dDogxbzFusSHXG5hbmQgc29tZSBwbGFpbiBhc2NpaScpCisKKworY2xhc3MgU01UUERDaGFubmVsVGVzdFdpdGhFbmFibGVTTVRQVVRGOFRydWUodW5pdHRlc3QuVGVzdENhc2UpOgorICAgIGRlZiBzZXRVcChzZWxmKToKKyAgICAgICAgc210cGQuc29ja2V0ID0gYXN5bmNvcmUuc29ja2V0ID0gbW9ja19zb2NrZXQKKyAgICAgICAgc2VsZi5vbGRfZGVidWdzdHJlYW0gPSBzbXRwZC5ERUJVR1NUUkVBTQorICAgICAgICBzZWxmLmRlYnVnID0gc210cGQuREVCVUdTVFJFQU0gPSBpby5TdHJpbmdJTygpCisgICAgICAgIHNlbGYuc2VydmVyID0gRHVtbXlTZXJ2ZXIoKHN1cHBvcnQuSE9TVCwgMCksICgnYicsIDApLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuYWJsZV9TTVRQVVRGOD1UcnVlKQorICAgICAgICBjb25uLCBhZGRyID0gc2VsZi5zZXJ2ZXIuYWNjZXB0KCkKKyAgICAgICAgc2VsZi5jaGFubmVsID0gc210cGQuU01UUENoYW5uZWwoc2VsZi5zZXJ2ZXIsIGNvbm4sIGFkZHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuYWJsZV9TTVRQVVRGOD1UcnVlKQorCisgICAgZGVmIHRlYXJEb3duKHNlbGYpOgorICAgICAgICBhc3luY29yZS5jbG9zZV9hbGwoKQorICAgICAgICBhc3luY29yZS5zb2NrZXQgPSBzbXRwZC5zb2NrZXQgPSBzb2NrZXQKKyAgICAgICAgc210cGQuREVCVUdTVFJFQU0gPSBzZWxmLm9sZF9kZWJ1Z3N0cmVhbQorCisgICAgZGVmIHdyaXRlX2xpbmUoc2VsZiwgbGluZSk6CisgICAgICAgIHNlbGYuY2hhbm5lbC5zb2NrZXQucXVldWVfcmVjdihsaW5lKQorICAgICAgICBzZWxmLmNoYW5uZWwuaGFuZGxlX3JlYWQoKQorCisgICAgZGVmIHRlc3RfTUFJTF9jb21tYW5kX2FjY2VwdHNfU01UUFVURjhfd2hlbl9hbm5vdW5jZWQoc2VsZik6CisgICAgICAgIHNlbGYud3JpdGVfbGluZShiJ0VITE8gZXhhbXBsZScpCisgICAgICAgIHNlbGYud3JpdGVfbGluZSgKKyAgICAgICAgICAgICdNQUlMIGZyb206IDxuYWnMiHZlQGV4YW1wbGUuY29tPiBCT0RZPThCSVRNSU1FIFNNVFBVVEY4Jy5lbmNvZGUoCisgICAgICAgICAgICAgICAgJ3V0Zi04JykKKyAgICAgICAgKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuY2hhbm5lbC5zb2NrZXQubGFzdCwgYicyNTAgT0tcclxuJykKKworICAgIGRlZiB0ZXN0X3Byb2Nlc3Nfc210cHV0ZjhfbWVzc2FnZShzZWxmKToKKyAgICAgICAgc2VsZi53cml0ZV9saW5lKGInRUhMTyBleGFtcGxlJykKKyAgICAgICAgZm9yIG1haWxfcGFyYW1ldGVycyBpbiBbYicnLCBiJ0JPRFk9OEJJVE1JTUUgU01UUFVURjgnXToKKyAgICAgICAgICAgIHNlbGYud3JpdGVfbGluZShiJ01BSUwgZnJvbTogPGFAZXhhbXBsZT4gJyArIG1haWxfcGFyYW1ldGVycykKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5jaGFubmVsLnNvY2tldC5sYXN0WzA6M10sIGInMjUwJykKKyAgICAgICAgICAgIHNlbGYud3JpdGVfbGluZShiJ3JjcHQgdG86PGJAZXhhbXBsZS5jb20+JykKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5jaGFubmVsLnNvY2tldC5sYXN0WzA6M10sIGInMjUwJykKKyAgICAgICAgICAgIHNlbGYud3JpdGVfbGluZShiJ2RhdGEnKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLmNoYW5uZWwuc29ja2V0Lmxhc3RbMDozXSwgYiczNTQnKQorICAgICAgICAgICAgc2VsZi53cml0ZV9saW5lKGInY1xyXG4uJykKKyAgICAgICAgICAgIGlmIG1haWxfcGFyYW1ldGVycyA9PSBiJyc6CisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLmNoYW5uZWwuc29ja2V0Lmxhc3QsIGInMjUwIE9LXHJcbicpCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5jaGFubmVsLnNvY2tldC5sYXN0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYicyNTAgU01UUFVURjggbWVzc2FnZSBva2lzaFxyXG4nKQorCisgICAgZGVmIHRlc3RfdXRmOF9kYXRhKHNlbGYpOgorICAgICAgICBzZWxmLndyaXRlX2xpbmUoYidFSExPIGV4YW1wbGUnKQorICAgICAgICBzZWxmLndyaXRlX2xpbmUoCisgICAgICAgICAgICAnTUFJTCBGcm9tOiBuYWnMiHZlQGV4YW1wbMOpIEJPRFk9OEJJVE1JTUUgU01UUFVURjgnLmVuY29kZSgndXRmLTgnKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLmNoYW5uZWwuc29ja2V0Lmxhc3RbMDozXSwgYicyNTAnKQorICAgICAgICBzZWxmLndyaXRlX2xpbmUoJ1JDUFQgVG86c3DDpG1AZXhhbXBsw6knLmVuY29kZSgndXRmLTgnKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLmNoYW5uZWwuc29ja2V0Lmxhc3RbMDozXSwgYicyNTAnKQorICAgICAgICBzZWxmLndyaXRlX2xpbmUoYidEQVRBJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLmNoYW5uZWwuc29ja2V0Lmxhc3RbMDozXSwgYiczNTQnKQorICAgICAgICBzZWxmLndyaXRlX2xpbmUoYid1dGY4IGVucmljaGVkIHRleHQ6IFx4YzVceGJjXHhjNVx4YmFceGM0XHg4NycpCisgICAgICAgIHNlbGYud3JpdGVfbGluZShiJy4nKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKAorICAgICAgICAgICAgc2VsZi5jaGFubmVsLnJlY2VpdmVkX2RhdGEsCisgICAgICAgICAgICBiJ3V0ZjggZW5yaWNoZWQgdGV4dDogXHhjNVx4YmNceGM1XHhiYVx4YzRceDg3JykKKworICAgIGRlZiB0ZXN0X01BSUxfY29tbWFuZF9saW1pdF9leHRlbmRlZF93aXRoX1NJWkVfYW5kX1NNVFBVVEY4KHNlbGYpOgorICAgICAgICBzZWxmLndyaXRlX2xpbmUoYidlaGxvIGV4YW1wbGUnKQorICAgICAgICBmaWxsX2xlbiA9ICg1MTIgKyAyNiArIDEwKSAtIGxlbignbWFpbCBmcm9tOjxAZXhhbXBsZT4nKQorICAgICAgICBzZWxmLndyaXRlX2xpbmUoYidNQUlMIGZyb206PCcgKworICAgICAgICAgICAgICAgICAgICAgICAgYidhJyAqIChmaWxsX2xlbiArIDEpICsKKyAgICAgICAgICAgICAgICAgICAgICAgIGInQGV4YW1wbGU+JykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLmNoYW5uZWwuc29ja2V0Lmxhc3QsCisgICAgICAgICAgICAgICAgICAgICAgICAgYic1MDAgRXJyb3I6IGxpbmUgdG9vIGxvbmdcclxuJykKKyAgICAgICAgc2VsZi53cml0ZV9saW5lKGInTUFJTCBmcm9tOjwnICsKKyAgICAgICAgICAgICAgICAgICAgICAgIGInYScgKiBmaWxsX2xlbiArCisgICAgICAgICAgICAgICAgICAgICAgICBiJ0BleGFtcGxlPicpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5jaGFubmVsLnNvY2tldC5sYXN0LCBiJzI1MCBPS1xyXG4nKQorCisgICAgZGVmIHRlc3RfbXVsdGlwbGVfZW1haWxzX3dpdGhfZXh0ZW5kZWRfY29tbWFuZF9sZW5ndGgoc2VsZik6CisgICAgICAgIHNlbGYud3JpdGVfbGluZShiJ2VobG8gZXhhbXBsZScpCisgICAgICAgIGZpbGxfbGVuID0gKDUxMiArIDI2ICsgMTApIC0gbGVuKCdtYWlsIGZyb206PEBleGFtcGxlPicpCisgICAgICAgIGZvciBjaGFyIGluIFtiJ2EnLCBiJ2InLCBiJ2MnXToKKyAgICAgICAgICAgIHNlbGYud3JpdGVfbGluZShiJ01BSUwgZnJvbTo8JyArIGNoYXIgKiBmaWxsX2xlbiArIGInYUBleGFtcGxlPicpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuY2hhbm5lbC5zb2NrZXQubGFzdFswOjNdLCBiJzUwMCcpCisgICAgICAgICAgICBzZWxmLndyaXRlX2xpbmUoYidNQUlMIGZyb206PCcgKyBjaGFyICogZmlsbF9sZW4gKyBiJ0BleGFtcGxlPicpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuY2hhbm5lbC5zb2NrZXQubGFzdFswOjNdLCBiJzI1MCcpCisgICAgICAgICAgICBzZWxmLndyaXRlX2xpbmUoYidyY3B0IHRvOjxoYW5zQGV4YW1wbGUuY29tPicpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuY2hhbm5lbC5zb2NrZXQubGFzdFswOjNdLCBiJzI1MCcpCisgICAgICAgICAgICBzZWxmLndyaXRlX2xpbmUoYidkYXRhJykKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5jaGFubmVsLnNvY2tldC5sYXN0WzA6M10sIGInMzU0JykKKyAgICAgICAgICAgIHNlbGYud3JpdGVfbGluZShiJ3Rlc3RcclxuLicpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuY2hhbm5lbC5zb2NrZXQubGFzdFswOjNdLCBiJzI1MCcpCisKIGlmIF9fbmFtZV9fID09ICJfX21haW5fXyI6CiAgICAgdW5pdHRlc3QubWFpbigpCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X3NtdHBsaWIucHkgYi9MaWIvdGVzdC90ZXN0X3NtdHBsaWIucHkKaW5kZXggOTVhOWRiZS4uNWYxMmQyOCAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9zbXRwbGliLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3Rfc210cGxpYi5weQpAQCAtMTAsNiArMTAsNyBAQAogaW1wb3J0IHRpbWUKIGltcG9ydCBzZWxlY3QKIGltcG9ydCBlcnJubworaW1wb3J0IGJhc2U2NAogCiBpbXBvcnQgdW5pdHRlc3QKIGZyb20gdGVzdCBpbXBvcnQgc3VwcG9ydCwgbW9ja19zb2NrZXQKQEAgLTMwLDcgKzMxLDcgQEAKIAogCiBkZWYgc2VydmVyKGV2dCwgYnVmLCBzZXJ2KToKLSAgICBzZXJ2Lmxpc3Rlbig1KQorICAgIHNlcnYubGlzdGVuKCkKICAgICBldnQuc2V0KCkKICAgICB0cnk6CiAgICAgICAgIGNvbm4sIGFkZHIgPSBzZXJ2LmFjY2VwdCgpCkBAIC0xODQsNyArMTg1LDggQEAKICAgICAgICAgc2VsZi5vbGRfREVCVUdTVFJFQU0gPSBzbXRwZC5ERUJVR1NUUkVBTQogICAgICAgICBzbXRwZC5ERUJVR1NUUkVBTSA9IGlvLlN0cmluZ0lPKCkKICAgICAgICAgIyBQaWNrIGEgcmFuZG9tIHVudXNlZCBwb3J0IGJ5IHBhc3NpbmcgMCBmb3IgdGhlIHBvcnQgbnVtYmVyCi0gICAgICAgIHNlbGYuc2VydiA9IHNtdHBkLkRlYnVnZ2luZ1NlcnZlcigoSE9TVCwgMCksICgnbm93aGVyZScsIC0xKSkKKyAgICAgICAgc2VsZi5zZXJ2ID0gc210cGQuRGVidWdnaW5nU2VydmVyKChIT1NULCAwKSwgKCdub3doZXJlJywgLTEpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVjb2RlX2RhdGE9VHJ1ZSkKICAgICAgICAgIyBLZWVwIGEgbm90ZSBvZiB3aGF0IHBvcnQgd2FzIGFzc2lnbmVkCiAgICAgICAgIHNlbGYucG9ydCA9IHNlbGYuc2Vydi5zb2NrZXQuZ2V0c29ja25hbWUoKVsxXQogICAgICAgICBzZXJ2X2FyZ3MgPSAoc2VsZi5zZXJ2LCBzZWxmLnNlcnZfZXZ0LCBzZWxmLmNsaWVudF9ldnQpCkBAIC02MDQsNyArNjA2LDggQEAKICAgICAnY3JhbS1tZDUnOiAoJ1RYSVVRVUJaQjIxTEQySExDTVVVWTI5VElERzRPV1EwTUonCiAgICAgICAgICAgICAgICAgICdLV1pHUTRPRE5NTkRBNE5UR1hNRFJMWldNWVpKRE1PREcxJyksCiAgICAgfQotc2ltX2F1dGhfbG9naW5fcGFzc3dvcmQgPSAnQzI5VFpYQkhDM04zQjNKSycKK3NpbV9hdXRoX2xvZ2luX3VzZXIgPSAnVFhJVVFVQlpCMjFMRDJITENNVVVZMjlUJworc2ltX2F1dGhfcGxhaW4gPSAnQUUxWUxLRkFDMjlUWlhET1pYSkxMTU5WQlFCWkIyMUxDR0ZaQzNEVkNNUT0nCiAKIHNpbV9saXN0cyA9IHsnbGlzdC0xJzpbJ01yLkFAc29tZXdoZXJlLmNvbScsJ01ycy5DQHNvbWV3aGVyZWVzbGUuY29tJ10sCiAgICAgICAgICAgICAgJ2xpc3QtMic6WydNcy5CQHhuLS1mby1ma2EuY29tJyxdLApAQCAtNjU4LDE4ICs2NjEsMTYgQEAKICAgICAgICAgICAgIHNlbGYucHVzaCgnNTUwIE5vIGFjY2VzcyBmb3IgeW91IScpCiAKICAgICBkZWYgc210cF9BVVRIKHNlbGYsIGFyZyk6Ci0gICAgICAgIGlmIGFyZy5zdHJpcCgpLmxvd2VyKCk9PSdjcmFtLW1kNSc6CisgICAgICAgIG1lY2ggPSBhcmcuc3RyaXAoKS5sb3dlcigpCisgICAgICAgIGlmIG1lY2g9PSdjcmFtLW1kNSc6CiAgICAgICAgICAgICBzZWxmLnB1c2goJzMzNCB7fScuZm9ybWF0KHNpbV9jcmFtX21kNV9jaGFsbGVuZ2UpKQotICAgICAgICAgICAgcmV0dXJuCi0gICAgICAgIG1lY2gsIGF1dGggPSBhcmcuc3BsaXQoKQotICAgICAgICBtZWNoID0gbWVjaC5sb3dlcigpCi0gICAgICAgIGlmIG1lY2ggbm90IGluIHNpbV9hdXRoX2NyZWRlbnRpYWxzOgorICAgICAgICBlbGlmIG1lY2ggbm90IGluIHNpbV9hdXRoX2NyZWRlbnRpYWxzOgogICAgICAgICAgICAgc2VsZi5wdXNoKCc1MDQgYXV0aCB0eXBlIHVuaW1wbGVtZW50ZWQnKQogICAgICAgICAgICAgcmV0dXJuCi0gICAgICAgIGlmIG1lY2ggPT0gJ3BsYWluJyBhbmQgYXV0aD09c2ltX2F1dGhfY3JlZGVudGlhbHNbJ3BsYWluJ106Ci0gICAgICAgICAgICBzZWxmLnB1c2goJzIzNSBwbGFpbiBhdXRoIG9rJykKLSAgICAgICAgZWxpZiBtZWNoPT0nbG9naW4nIGFuZCBhdXRoPT1zaW1fYXV0aF9jcmVkZW50aWFsc1snbG9naW4nXToKLSAgICAgICAgICAgIHNlbGYucHVzaCgnMzM0IFBhc3N3b3JkOicpCisgICAgICAgIGVsaWYgbWVjaD09J3BsYWluJzoKKyAgICAgICAgICAgIHNlbGYucHVzaCgnMzM0ICcpCisgICAgICAgIGVsaWYgbWVjaD09J2xvZ2luJzoKKyAgICAgICAgICAgIHNlbGYucHVzaCgnMzM0ICcpCiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICBzZWxmLnB1c2goJzU1MCBObyBhY2Nlc3MgZm9yIHlvdSEnKQogCkBAIC03MTksNyArNzIwLDggQEAKIAogICAgIGRlZiBoYW5kbGVfYWNjZXB0ZWQoc2VsZiwgY29ubiwgYWRkcik6CiAgICAgICAgIHNlbGYuX1NNVFBjaGFubmVsID0gc2VsZi5jaGFubmVsX2NsYXNzKAotICAgICAgICAgICAgc2VsZi5fZXh0cmFfZmVhdHVyZXMsIHNlbGYsIGNvbm4sIGFkZHIpCisgICAgICAgICAgICBzZWxmLl9leHRyYV9mZWF0dXJlcywgc2VsZiwgY29ubiwgYWRkciwKKyAgICAgICAgICAgIGRlY29kZV9kYXRhPXNlbGYuX2RlY29kZV9kYXRhKQogCiAgICAgZGVmIHByb2Nlc3NfbWVzc2FnZShzZWxmLCBwZWVyLCBtYWlsZnJvbSwgcmNwdHRvcywgZGF0YSk6CiAgICAgICAgIHBhc3MKQEAgLTc0Miw3ICs3NDQsNyBAQAogICAgICAgICBzZWxmLnNlcnZfZXZ0ID0gdGhyZWFkaW5nLkV2ZW50KCkKICAgICAgICAgc2VsZi5jbGllbnRfZXZ0ID0gdGhyZWFkaW5nLkV2ZW50KCkKICAgICAgICAgIyBQaWNrIGEgcmFuZG9tIHVudXNlZCBwb3J0IGJ5IHBhc3NpbmcgMCBmb3IgdGhlIHBvcnQgbnVtYmVyCi0gICAgICAgIHNlbGYuc2VydiA9IFNpbVNNVFBTZXJ2ZXIoKEhPU1QsIDApLCAoJ25vd2hlcmUnLCAtMSkpCisgICAgICAgIHNlbGYuc2VydiA9IFNpbVNNVFBTZXJ2ZXIoKEhPU1QsIDApLCAoJ25vd2hlcmUnLCAtMSksIGRlY29kZV9kYXRhPVRydWUpCiAgICAgICAgICMgS2VlcCBhIG5vdGUgb2Ygd2hhdCBwb3J0IHdhcyBhc3NpZ25lZAogICAgICAgICBzZWxmLnBvcnQgPSBzZWxmLnNlcnYuc29ja2V0LmdldHNvY2tuYW1lKClbMV0KICAgICAgICAgc2Vydl9hcmdzID0gKHNlbGYuc2Vydiwgc2VsZi5zZXJ2X2V2dCwgc2VsZi5jbGllbnRfZXZ0KQpAQCAtODE2LDI4ICs4MTgsMjggQEAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzbXRwLmV4cG4odSksIGV4cGVjdGVkX3Vua25vd24pCiAgICAgICAgIHNtdHAucXVpdCgpCiAKLSAgICBkZWYgdGVzdEFVVEhfUExBSU4oc2VsZik6Ci0gICAgICAgIHNlbGYuc2Vydi5hZGRfZmVhdHVyZSgiQVVUSCBQTEFJTiIpCi0gICAgICAgIHNtdHAgPSBzbXRwbGliLlNNVFAoSE9TVCwgc2VsZi5wb3J0LCBsb2NhbF9ob3N0bmFtZT0nbG9jYWxob3N0JywgdGltZW91dD0xNSkKLQotICAgICAgICBleHBlY3RlZF9hdXRoX29rID0gKDIzNSwgYidwbGFpbiBhdXRoIG9rJykKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzbXRwLmxvZ2luKHNpbV9hdXRoWzBdLCBzaW1fYXV0aFsxXSksIGV4cGVjdGVkX2F1dGhfb2spCi0gICAgICAgIHNtdHAuY2xvc2UoKQotCi0gICAgIyBTaW1TTVRQQ2hhbm5lbCBkb2Vzbid0IGZ1bGx5IHN1cHBvcnQgTE9HSU4gb3IgQ1JBTS1NRDUgYXV0aCBiZWNhdXNlIHRoZXkKLSAgICAjIHJlcXVpcmUgYSBzeW5jaHJvbm91cyByZWFkIHRvIG9idGFpbiB0aGUgY3JlZGVudGlhbHMuLi5zbyBpbnN0ZWFkIHNtdHBkCisgICAgIyBTaW1TTVRQQ2hhbm5lbCBkb2Vzbid0IGZ1bGx5IHN1cHBvcnQgQVVUSCBiZWNhdXNlIGl0IHJlcXVpcmVzIGEKKyAgICAjIHN5bmNocm9ub3VzIHJlYWQgdG8gb2J0YWluIHRoZSBjcmVkZW50aWFscy4uLnNvIGluc3RlYWQgc210cGQKICAgICAjIHNlZXMgdGhlIGNyZWRlbnRpYWwgc2VudCBieSBzbXRwbGliJ3MgbG9naW4gbWV0aG9kIGFzIGFuIHVua25vd24gY29tbWFuZCwKICAgICAjIHdoaWNoIHJlc3VsdHMgaW4gc210cGxpYiByYWlzaW5nIGFuIGF1dGggZXJyb3IuICBGb3J0dW5hdGVseSB0aGUgZXJyb3IKICAgICAjIG1lc3NhZ2UgY29udGFpbnMgdGhlIGVuY29kZWQgY3JlZGVudGlhbCwgc28gd2UgY2FuIHBhcnRpYWxseSBjaGVjayB0aGF0IGl0CiAgICAgIyB3YXMgZ2VuZXJhdGVkIGNvcnJlY3RseSAocGFydGlhbGx5LCBiZWNhdXNlIHRoZSAnd29yZCcgaXMgdXBwZXJjYXNlZCBpbgogICAgICMgdGhlIGVycm9yIG1lc3NhZ2UpLgogCisgICAgZGVmIHRlc3RBVVRIX1BMQUlOKHNlbGYpOgorICAgICAgICBzZWxmLnNlcnYuYWRkX2ZlYXR1cmUoIkFVVEggUExBSU4iKQorICAgICAgICBzbXRwID0gc210cGxpYi5TTVRQKEhPU1QsIHNlbGYucG9ydCwgbG9jYWxfaG9zdG5hbWU9J2xvY2FsaG9zdCcsIHRpbWVvdXQ9MTUpCisgICAgICAgIHRyeTogc210cC5sb2dpbihzaW1fYXV0aFswXSwgc2ltX2F1dGhbMV0pCisgICAgICAgIGV4Y2VwdCBzbXRwbGliLlNNVFBBdXRoZW50aWNhdGlvbkVycm9yIGFzIGVycjoKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0SW4oc2ltX2F1dGhfcGxhaW4sIHN0cihlcnIpKQorICAgICAgICBzbXRwLmNsb3NlKCkKKwogICAgIGRlZiB0ZXN0QVVUSF9MT0dJTihzZWxmKToKICAgICAgICAgc2VsZi5zZXJ2LmFkZF9mZWF0dXJlKCJBVVRIIExPR0lOIikKICAgICAgICAgc210cCA9IHNtdHBsaWIuU01UUChIT1NULCBzZWxmLnBvcnQsIGxvY2FsX2hvc3RuYW1lPSdsb2NhbGhvc3QnLCB0aW1lb3V0PTE1KQogICAgICAgICB0cnk6IHNtdHAubG9naW4oc2ltX2F1dGhbMF0sIHNpbV9hdXRoWzFdKQogICAgICAgICBleGNlcHQgc210cGxpYi5TTVRQQXV0aGVudGljYXRpb25FcnJvciBhcyBlcnI6Ci0gICAgICAgICAgICBzZWxmLmFzc2VydEluKHNpbV9hdXRoX2xvZ2luX3Bhc3N3b3JkLCBzdHIoZXJyKSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0SW4oc2ltX2F1dGhfbG9naW5fdXNlciwgc3RyKGVycikpCiAgICAgICAgIHNtdHAuY2xvc2UoKQogCiAgICAgZGVmIHRlc3RBVVRIX0NSQU1fTUQ1KHNlbGYpOgpAQCAtODU1LDcgKzg1NywyMyBAQAogICAgICAgICBzbXRwID0gc210cGxpYi5TTVRQKEhPU1QsIHNlbGYucG9ydCwgbG9jYWxfaG9zdG5hbWU9J2xvY2FsaG9zdCcsIHRpbWVvdXQ9MTUpCiAgICAgICAgIHRyeTogc210cC5sb2dpbihzaW1fYXV0aFswXSwgc2ltX2F1dGhbMV0pCiAgICAgICAgIGV4Y2VwdCBzbXRwbGliLlNNVFBBdXRoZW50aWNhdGlvbkVycm9yIGFzIGVycjoKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0SW4oc2ltX2F1dGhfbG9naW5fcGFzc3dvcmQsIHN0cihlcnIpKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRJbihzaW1fYXV0aF9sb2dpbl91c2VyLCBzdHIoZXJyKSkKKyAgICAgICAgc210cC5jbG9zZSgpCisKKyAgICBkZWYgdGVzdF9hdXRoX2Z1bmN0aW9uKHNlbGYpOgorICAgICAgICBzbXRwID0gc210cGxpYi5TTVRQKEhPU1QsIHNlbGYucG9ydCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2NhbF9ob3N0bmFtZT0nbG9jYWxob3N0JywgdGltZW91dD0xNSkKKyAgICAgICAgc2VsZi5zZXJ2LmFkZF9mZWF0dXJlKCJBVVRIIENSQU0tTUQ1IikKKyAgICAgICAgc210cC51c2VyLCBzbXRwLnBhc3N3b3JkID0gc2ltX2F1dGhbMF0sIHNpbV9hdXRoWzFdCisgICAgICAgIHN1cHBvcnRlZCA9IHsnQ1JBTS1NRDUnOiBzbXRwLmF1dGhfY3JhbV9tZDUsCisgICAgICAgICAgICAgICAgICAgICAnUExBSU4nOiBzbXRwLmF1dGhfcGxhaW4sCisgICAgICAgICAgICAgICAgICAgICAnTE9HSU4nOiBzbXRwLmF1dGhfbG9naW4sCisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgZm9yIG1lY2hhbmlzbSwgbWV0aG9kIGluIHN1cHBvcnRlZC5pdGVtcygpOgorICAgICAgICAgICAgdHJ5OiBzbXRwLmF1dGgobWVjaGFuaXNtLCBtZXRob2QpCisgICAgICAgICAgICBleGNlcHQgc210cGxpYi5TTVRQQXV0aGVudGljYXRpb25FcnJvciBhcyBlcnI6CisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRJbihzaW1fYXV0aF9jcmVkZW50aWFsc1ttZWNoYW5pc20ubG93ZXIoKV0udXBwZXIoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cihlcnIpKQogICAgICAgICBzbXRwLmNsb3NlKCkKIAogICAgIGRlZiB0ZXN0X3F1aXRfcmVzZXRzX2dyZWV0aW5nKHNlbGYpOgpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9zbmRoZHIucHkgYi9MaWIvdGVzdC90ZXN0X3NuZGhkci5weQppbmRleCA1ZTBhYmUwLi40MjY0MTdjIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X3NuZGhkci5weQorKysgYi9MaWIvdGVzdC90ZXN0X3NuZGhkci5weQpAQCAtMSw0ICsxLDUgQEAKIGltcG9ydCBzbmRoZHIKK2ltcG9ydCBwaWNrbGUKIGltcG9ydCB1bml0dGVzdAogZnJvbSB0ZXN0LnN1cHBvcnQgaW1wb3J0IGZpbmRmaWxlCiAKQEAgLTE4LDYgKzE5LDE5IEBACiAgICAgICAgICAgICB3aGF0ID0gc25kaGRyLndoYXQoZmlsZW5hbWUpCiAgICAgICAgICAgICBzZWxmLmFzc2VydE5vdEVxdWFsKHdoYXQsIE5vbmUsIGZpbGVuYW1lKQogICAgICAgICAgICAgc2VsZi5hc3NlcnRTZXF1ZW5jZUVxdWFsKHdoYXQsIGV4cGVjdGVkKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh3aGF0LmZpbGV0eXBlLCBleHBlY3RlZFswXSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwod2hhdC5mcmFtZXJhdGUsIGV4cGVjdGVkWzFdKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh3aGF0Lm5jaGFubmVscywgZXhwZWN0ZWRbMl0pCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHdoYXQubmZyYW1lcywgZXhwZWN0ZWRbM10pCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHdoYXQuc2FtcHdpZHRoLCBleHBlY3RlZFs0XSkKKworICAgIGRlZiB0ZXN0X3BpY2tsZWFibGUoc2VsZik6CisgICAgICAgIGZpbGVuYW1lID0gZmluZGZpbGUoJ3NuZGhkci5haWZjJywgc3ViZGlyPSJzbmRoZHJkYXRhIikKKyAgICAgICAgd2hhdCA9IHNuZGhkci53aGF0KGZpbGVuYW1lKQorICAgICAgICBmb3IgcHJvdG8gaW4gcmFuZ2UocGlja2xlLkhJR0hFU1RfUFJPVE9DT0wgKyAxKToKKyAgICAgICAgICAgIGR1bXAgPSBwaWNrbGUuZHVtcHMod2hhdCwgcHJvdG8pCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHBpY2tsZS5sb2FkcyhkdW1wKSwgd2hhdCkKKwogCiBpZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgogICAgIHVuaXR0ZXN0Lm1haW4oKQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9zb2NrZXQucHkgYi9MaWIvdGVzdC90ZXN0X3NvY2tldC5weQppbmRleCBiNDEyMzg2Li5jZjQ1YjczIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X3NvY2tldC5weQorKysgYi9MaWIvdGVzdC90ZXN0X3NvY2tldC5weQpAQCAtMjAsNiArMjAsOCBAQAogaW1wb3J0IG1hdGgKIGltcG9ydCBwaWNrbGUKIGltcG9ydCBzdHJ1Y3QKK2ltcG9ydCByYW5kb20KK2ltcG9ydCBzdHJpbmcKIHRyeToKICAgICBpbXBvcnQgbXVsdGlwcm9jZXNzaW5nCiBleGNlcHQgSW1wb3J0RXJyb3I6CkBAIC03Niw3ICs3OCw3IEBACiAgICAgZGVmIHNldFVwKHNlbGYpOgogICAgICAgICBzZWxmLnNlcnYgPSBzb2NrZXQuc29ja2V0KHNvY2tldC5BRl9JTkVULCBzb2NrZXQuU09DS19TVFJFQU0pCiAgICAgICAgIHNlbGYucG9ydCA9IHN1cHBvcnQuYmluZF9wb3J0KHNlbGYuc2VydikKLSAgICAgICAgc2VsZi5zZXJ2Lmxpc3RlbigxKQorICAgICAgICBzZWxmLnNlcnYubGlzdGVuKCkKIAogICAgIGRlZiB0ZWFyRG93bihzZWxmKToKICAgICAgICAgc2VsZi5zZXJ2LmNsb3NlKCkKQEAgLTQ0NSw3ICs0NDcsNyBAQAogCiAgICAgZGVmIHNldFVwKHNlbGYpOgogICAgICAgICBzdXBlcigpLnNldFVwKCkKLSAgICAgICAgc2VsZi5zZXJ2Lmxpc3RlbigxKQorICAgICAgICBzZWxmLnNlcnYubGlzdGVuKCkKIAogCiBjbGFzcyBUaHJlYWRlZFNvY2tldFRlc3RNaXhpbihUaHJlYWRTYWZlQ2xlYW51cFRlc3RDYXNlLCBTb2NrZXRUZXN0QmFzZSwKQEAgLTcxNiwxMSArNzE4LDExIEBACiAgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yKSBhcyBjbToKICAgICAgICAgICAgIHMuc2VuZHRvKCdcdTI2MjAnLCBzb2NrbmFtZSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdHIoY20uZXhjZXB0aW9uKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAiJ3N0cicgZG9lcyBub3Qgc3VwcG9ydCB0aGUgYnVmZmVyIGludGVyZmFjZSIpCisgICAgICAgICAgICAgICAgICAgICAgICAgImEgYnl0ZXMtbGlrZSBvYmplY3QgaXMgcmVxdWlyZWQsIG5vdCAnc3RyJyIpCiAgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yKSBhcyBjbToKICAgICAgICAgICAgIHMuc2VuZHRvKDVqLCBzb2NrbmFtZSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdHIoY20uZXhjZXB0aW9uKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAiJ2NvbXBsZXgnIGRvZXMgbm90IHN1cHBvcnQgdGhlIGJ1ZmZlciBpbnRlcmZhY2UiKQorICAgICAgICAgICAgICAgICAgICAgICAgICJhIGJ5dGVzLWxpa2Ugb2JqZWN0IGlzIHJlcXVpcmVkLCBub3QgJ2NvbXBsZXgnIikKICAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IpIGFzIGNtOgogICAgICAgICAgICAgcy5zZW5kdG8oYidmb28nLCBOb25lKQogICAgICAgICBzZWxmLmFzc2VydEluKCdub3QgTm9uZVR5cGUnLHN0cihjbS5leGNlcHRpb24pKQpAQCAtNzI4LDExICs3MzAsMTEgQEAKICAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IpIGFzIGNtOgogICAgICAgICAgICAgcy5zZW5kdG8oJ1x1MjYyMCcsIDAsIHNvY2tuYW1lKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0cihjbS5leGNlcHRpb24pLAotICAgICAgICAgICAgICAgICAgICAgICAgICInc3RyJyBkb2VzIG5vdCBzdXBwb3J0IHRoZSBidWZmZXIgaW50ZXJmYWNlIikKKyAgICAgICAgICAgICAgICAgICAgICAgICAiYSBieXRlcy1saWtlIG9iamVjdCBpcyByZXF1aXJlZCwgbm90ICdzdHInIikKICAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IpIGFzIGNtOgogICAgICAgICAgICAgcy5zZW5kdG8oNWosIDAsIHNvY2tuYW1lKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0cihjbS5leGNlcHRpb24pLAotICAgICAgICAgICAgICAgICAgICAgICAgICInY29tcGxleCcgZG9lcyBub3Qgc3VwcG9ydCB0aGUgYnVmZmVyIGludGVyZmFjZSIpCisgICAgICAgICAgICAgICAgICAgICAgICAgImEgYnl0ZXMtbGlrZSBvYmplY3QgaXMgcmVxdWlyZWQsIG5vdCAnY29tcGxleCciKQogICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvcikgYXMgY206CiAgICAgICAgICAgICBzLnNlbmR0byhiJ2ZvbycsIDAsIE5vbmUpCiAgICAgICAgIHNlbGYuYXNzZXJ0SW4oJ25vdCBOb25lVHlwZScsIHN0cihjbS5leGNlcHRpb24pKQpAQCAtMTM3OCwxMCArMTM4MCwxMyBAQAogCiAgICAgZGVmIHRlc3RfbGlzdGVuX2JhY2tsb2coc2VsZik6CiAgICAgICAgIGZvciBiYWNrbG9nIGluIDAsIC0xOgotICAgICAgICAgICAgc3J2ID0gc29ja2V0LnNvY2tldChzb2NrZXQuQUZfSU5FVCwgc29ja2V0LlNPQ0tfU1RSRUFNKQorICAgICAgICAgICAgd2l0aCBzb2NrZXQuc29ja2V0KHNvY2tldC5BRl9JTkVULCBzb2NrZXQuU09DS19TVFJFQU0pIGFzIHNydjoKKyAgICAgICAgICAgICAgICBzcnYuYmluZCgoSE9TVCwgMCkpCisgICAgICAgICAgICAgICAgc3J2Lmxpc3RlbihiYWNrbG9nKQorCisgICAgICAgIHdpdGggc29ja2V0LnNvY2tldChzb2NrZXQuQUZfSU5FVCwgc29ja2V0LlNPQ0tfU1RSRUFNKSBhcyBzcnY6CiAgICAgICAgICAgICBzcnYuYmluZCgoSE9TVCwgMCkpCi0gICAgICAgICAgICBzcnYubGlzdGVuKGJhY2tsb2cpCi0gICAgICAgICAgICBzcnYuY2xvc2UoKQorICAgICAgICAgICAgc3J2Lmxpc3RlbigpCiAKICAgICBAc3VwcG9ydC5jcHl0aG9uX29ubHkKICAgICBkZWYgdGVzdF9saXN0ZW5fYmFja2xvZ19vdmVyZmxvdyhzZWxmKToKQEAgLTM1ODUsNyArMzU5MCw3IEBACiAgICAgZGVmIHNldFVwKHNlbGYpOgogICAgICAgICBzdXBlcigpLnNldFVwKCkKICAgICAgICAgb3JpZ19hbHJtX2hhbmRsZXIgPSBzaWduYWwuc2lnbmFsKHNpZ25hbC5TSUdBTFJNLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFtYmRhIHNpZ251bSwgZnJhbWU6IE5vbmUpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYW1iZGEgc2lnbnVtLCBmcmFtZTogMSAvIDApCiAgICAgICAgIHNlbGYuYWRkQ2xlYW51cChzaWduYWwuc2lnbmFsLCBzaWduYWwuU0lHQUxSTSwgb3JpZ19hbHJtX2hhbmRsZXIpCiAgICAgICAgIHNlbGYuYWRkQ2xlYW51cChzZWxmLnNldEFsYXJtLCAwKQogCkBAIC0zNjIyLDEzICszNjI3LDExIEBACiAgICAgICAgIHNlbGYuc2Vydi5zZXR0aW1lb3V0KHNlbGYudGltZW91dCkKIAogICAgIGRlZiBjaGVja0ludGVycnVwdGVkUmVjdihzZWxmLCBmdW5jLCAqYXJncywgKiprd2FyZ3MpOgotICAgICAgICAjIENoZWNrIHRoYXQgZnVuYygqYXJncywgKiprd2FyZ3MpIHJhaXNlcyBPU0Vycm9yIHdpdGggYW4KKyAgICAgICAgIyBDaGVjayB0aGF0IGZ1bmMoKmFyZ3MsICoqa3dhcmdzKSByYWlzZXMKICAgICAgICAgIyBlcnJubyBvZiBFSU5UUiB3aGVuIGludGVycnVwdGVkIGJ5IGEgc2lnbmFsLgogICAgICAgICBzZWxmLnNldEFsYXJtKHNlbGYuYWxhcm1fdGltZSkKLSAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhPU0Vycm9yKSBhcyBjbToKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhaZXJvRGl2aXNpb25FcnJvcikgYXMgY206CiAgICAgICAgICAgICBmdW5jKCphcmdzLCAqKmt3YXJncykKLSAgICAgICAgc2VsZi5hc3NlcnROb3RJc0luc3RhbmNlKGNtLmV4Y2VwdGlvbiwgc29ja2V0LnRpbWVvdXQpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY20uZXhjZXB0aW9uLmVycm5vLCBlcnJuby5FSU5UUikKIAogICAgIGRlZiB0ZXN0SW50ZXJydXB0ZWRSZWN2VGltZW91dChzZWxmKToKICAgICAgICAgc2VsZi5jaGVja0ludGVycnVwdGVkUmVjdihzZWxmLnNlcnYucmVjdiwgMTAyNCkKQEAgLTM2ODQsMTIgKzM2ODcsMTAgQEAKICAgICAgICAgIyBDaGVjayB0aGF0IGZ1bmMoKmFyZ3MsICoqa3dhcmdzKSwgcnVuIGluIGEgbG9vcCwgcmFpc2VzCiAgICAgICAgICMgT1NFcnJvciB3aXRoIGFuIGVycm5vIG9mIEVJTlRSIHdoZW4gaW50ZXJydXB0ZWQgYnkgYQogICAgICAgICAjIHNpZ25hbC4KLSAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhPU0Vycm9yKSBhcyBjbToKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhaZXJvRGl2aXNpb25FcnJvcikgYXMgY206CiAgICAgICAgICAgICB3aGlsZSBUcnVlOgogICAgICAgICAgICAgICAgIHNlbGYuc2V0QWxhcm0oc2VsZi5hbGFybV90aW1lKQogICAgICAgICAgICAgICAgIGZ1bmMoKmFyZ3MsICoqa3dhcmdzKQotICAgICAgICBzZWxmLmFzc2VydE5vdElzSW5zdGFuY2UoY20uZXhjZXB0aW9uLCBzb2NrZXQudGltZW91dCkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjbS5leGNlcHRpb24uZXJybm8sIGVycm5vLkVJTlRSKQogCiAgICAgIyBJc3N1ZSAjMTI5NTg6IFRoZSBmb2xsb3dpbmcgdGVzdHMgaGF2ZSBwcm9ibGVtcyBvbiBPUyBYIHByaW9yIHRvIDEwLjcKICAgICBAc3VwcG9ydC5yZXF1aXJlc19tYWNfdmVyKDEwLCA3KQpAQCAtMzczMSw4ICszNzMyLDYgQEAKICAgICAgICAgc2VsZi5jbGkuY29ubmVjdCgoSE9TVCwgc2VsZi5wb3J0KSkKICAgICAgICAgdGltZS5zbGVlcCgxLjApCiAKLUB1bml0dGVzdC5za2lwVW5sZXNzKGhhc2F0dHIoc29ja2V0LCAnc29ja2V0cGFpcicpLAotICAgICAgICAgICAgICAgICAgICAgJ3Rlc3QgbmVlZHMgc29ja2V0LnNvY2tldHBhaXIoKScpCiBAdW5pdHRlc3Quc2tpcFVubGVzcyh0aHJlYWQsICdUaHJlYWRpbmcgcmVxdWlyZWQgZm9yIHRoaXMgdGVzdC4nKQogY2xhc3MgQmFzaWNTb2NrZXRQYWlyVGVzdChTb2NrZXRQYWlyVGVzdCk6CiAKQEAgLTM4MTMsNyArMzgxMiw3IEBACiAgICAgICAgIHNlbGYuc2VydiA9IHNvY2tldC5zb2NrZXQoc29ja2V0LkFGX0lORVQsIHNvY2tldC5TT0NLX1NUUkVBTSB8CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNvY2tldC5TT0NLX05PTkJMT0NLKQogICAgICAgICBzZWxmLnBvcnQgPSBzdXBwb3J0LmJpbmRfcG9ydChzZWxmLnNlcnYpCi0gICAgICAgIHNlbGYuc2Vydi5saXN0ZW4oMSkKKyAgICAgICAgc2VsZi5zZXJ2Lmxpc3RlbigpCiAgICAgICAgICMgYWN0dWFsIHRlc3RpbmcKICAgICAgICAgc3RhcnQgPSB0aW1lLnRpbWUoKQogICAgICAgICB0cnk6CkBAIC00MDU5LDExNyArNDA1OCw2IEBACiAgICAgICAgIHBhc3MKIAogCi1jbGFzcyBGaWxlT2JqZWN0SW50ZXJydXB0ZWRUZXN0Q2FzZSh1bml0dGVzdC5UZXN0Q2FzZSk6Ci0gICAgIiIiVGVzdCB0aGF0IHRoZSBmaWxlIG9iamVjdCBjb3JyZWN0bHkgaGFuZGxlcyBFSU5UUiBpbnRlcm5hbGx5LiIiIgotCi0gICAgY2xhc3MgTW9ja1NvY2tldChvYmplY3QpOgotICAgICAgICBkZWYgX19pbml0X18oc2VsZiwgcmVjdl9mdW5jcz0oKSk6Ci0gICAgICAgICAgICAjIEEgZ2VuZXJhdG9yIHRoYXQgcmV0dXJucyBjYWxsYWJsZXMgdGhhdCB3ZSdsbCBjYWxsIGZvciBlYWNoCi0gICAgICAgICAgICAjIGNhbGwgdG8gcmVjdigpLgotICAgICAgICAgICAgc2VsZi5fcmVjdl9zdGVwID0gaXRlcihyZWN2X2Z1bmNzKQotCi0gICAgICAgIGRlZiByZWN2X2ludG8oc2VsZiwgYnVmZmVyKToKLSAgICAgICAgICAgIGRhdGEgPSBuZXh0KHNlbGYuX3JlY3Zfc3RlcCkoKQotICAgICAgICAgICAgYXNzZXJ0IGxlbihidWZmZXIpID49IGxlbihkYXRhKQotICAgICAgICAgICAgYnVmZmVyWzpsZW4oZGF0YSldID0gZGF0YQotICAgICAgICAgICAgcmV0dXJuIGxlbihkYXRhKQotCi0gICAgICAgIGRlZiBfZGVjcmVmX3NvY2tldGlvcyhzZWxmKToKLSAgICAgICAgICAgIHBhc3MKLQotICAgICAgICBkZWYgX3RleHRpb3dyYXBfZm9yX3Rlc3Qoc2VsZiwgYnVmZmVyaW5nPS0xKToKLSAgICAgICAgICAgIHJhdyA9IHNvY2tldC5Tb2NrZXRJTyhzZWxmLCAiciIpCi0gICAgICAgICAgICBpZiBidWZmZXJpbmcgPCAwOgotICAgICAgICAgICAgICAgIGJ1ZmZlcmluZyA9IGlvLkRFRkFVTFRfQlVGRkVSX1NJWkUKLSAgICAgICAgICAgIGlmIGJ1ZmZlcmluZyA9PSAwOgotICAgICAgICAgICAgICAgIHJldHVybiByYXcKLSAgICAgICAgICAgIGJ1ZmZlciA9IGlvLkJ1ZmZlcmVkUmVhZGVyKHJhdywgYnVmZmVyaW5nKQotICAgICAgICAgICAgdGV4dCA9IGlvLlRleHRJT1dyYXBwZXIoYnVmZmVyLCBOb25lLCBOb25lKQotICAgICAgICAgICAgdGV4dC5tb2RlID0gInJiIgotICAgICAgICAgICAgcmV0dXJuIHRleHQKLQotICAgIEBzdGF0aWNtZXRob2QKLSAgICBkZWYgX3JhaXNlX2VpbnRyKCk6Ci0gICAgICAgIHJhaXNlIE9TRXJyb3IoZXJybm8uRUlOVFIsICJpbnRlcnJ1cHRlZCIpCi0KLSAgICBkZWYgX3RleHRpb3dyYXBfbW9ja19zb2NrZXQoc2VsZiwgbW9jaywgYnVmZmVyaW5nPS0xKToKLSAgICAgICAgcmF3ID0gc29ja2V0LlNvY2tldElPKG1vY2ssICJyIikKLSAgICAgICAgaWYgYnVmZmVyaW5nIDwgMDoKLSAgICAgICAgICAgIGJ1ZmZlcmluZyA9IGlvLkRFRkFVTFRfQlVGRkVSX1NJWkUKLSAgICAgICAgaWYgYnVmZmVyaW5nID09IDA6Ci0gICAgICAgICAgICByZXR1cm4gcmF3Ci0gICAgICAgIGJ1ZmZlciA9IGlvLkJ1ZmZlcmVkUmVhZGVyKHJhdywgYnVmZmVyaW5nKQotICAgICAgICB0ZXh0ID0gaW8uVGV4dElPV3JhcHBlcihidWZmZXIsIE5vbmUsIE5vbmUpCi0gICAgICAgIHRleHQubW9kZSA9ICJyYiIKLSAgICAgICAgcmV0dXJuIHRleHQKLQotICAgIGRlZiBfdGVzdF9yZWFkbGluZShzZWxmLCBzaXplPS0xLCBidWZmZXJpbmc9LTEpOgotICAgICAgICBtb2NrX3NvY2sgPSBzZWxmLk1vY2tTb2NrZXQocmVjdl9mdW5jcz1bCi0gICAgICAgICAgICAgICAgbGFtYmRhIDogYiJUaGlzIGlzIHRoZSBmaXJzdCBsaW5lXG5BbmQgdGhlIHNlYyIsCi0gICAgICAgICAgICAgICAgc2VsZi5fcmFpc2VfZWludHIsCi0gICAgICAgICAgICAgICAgbGFtYmRhIDogYiJvbmQgbGluZSBpcyBoZXJlXG4iLAotICAgICAgICAgICAgICAgIGxhbWJkYSA6IGIiIiwKLSAgICAgICAgICAgICAgICBsYW1iZGEgOiBiIiIsICAjIFhYWChncHMpOiBpbyBsaWJyYXJ5IGRvZXMgYW4gZXh0cmEgRU9GIHJlYWQKLSAgICAgICAgICAgIF0pCi0gICAgICAgIGZvID0gbW9ja19zb2NrLl90ZXh0aW93cmFwX2Zvcl90ZXN0KGJ1ZmZlcmluZz1idWZmZXJpbmcpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZm8ucmVhZGxpbmUoc2l6ZSksICJUaGlzIGlzIHRoZSBmaXJzdCBsaW5lXG4iKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGZvLnJlYWRsaW5lKHNpemUpLCAiQW5kIHRoZSBzZWNvbmQgbGluZSBpcyBoZXJlXG4iKQotCi0gICAgZGVmIF90ZXN0X3JlYWQoc2VsZiwgc2l6ZT0tMSwgYnVmZmVyaW5nPS0xKToKLSAgICAgICAgbW9ja19zb2NrID0gc2VsZi5Nb2NrU29ja2V0KHJlY3ZfZnVuY3M9WwotICAgICAgICAgICAgICAgIGxhbWJkYSA6IGIiVGhpcyBpcyB0aGUgZmlyc3QgbGluZVxuQW5kIHRoZSBzZWMiLAotICAgICAgICAgICAgICAgIHNlbGYuX3JhaXNlX2VpbnRyLAotICAgICAgICAgICAgICAgIGxhbWJkYSA6IGIib25kIGxpbmUgaXMgaGVyZVxuIiwKLSAgICAgICAgICAgICAgICBsYW1iZGEgOiBiIiIsCi0gICAgICAgICAgICAgICAgbGFtYmRhIDogYiIiLCAgIyBYWFgoZ3BzKTogaW8gbGlicmFyeSBkb2VzIGFuIGV4dHJhIEVPRiByZWFkCi0gICAgICAgICAgICBdKQotICAgICAgICBleHBlY3RpbmcgPSAoYiJUaGlzIGlzIHRoZSBmaXJzdCBsaW5lXG4iCi0gICAgICAgICAgICAgICAgICAgICBiIkFuZCB0aGUgc2Vjb25kIGxpbmUgaXMgaGVyZVxuIikKLSAgICAgICAgZm8gPSBtb2NrX3NvY2suX3RleHRpb3dyYXBfZm9yX3Rlc3QoYnVmZmVyaW5nPWJ1ZmZlcmluZykKLSAgICAgICAgaWYgYnVmZmVyaW5nID09IDA6Ci0gICAgICAgICAgICBkYXRhID0gYicnCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBkYXRhID0gJycKLSAgICAgICAgICAgIGV4cGVjdGluZyA9IGV4cGVjdGluZy5kZWNvZGUoJ3V0Zi04JykKLSAgICAgICAgd2hpbGUgbGVuKGRhdGEpICE9IGxlbihleHBlY3RpbmcpOgotICAgICAgICAgICAgcGFydCA9IGZvLnJlYWQoc2l6ZSkKLSAgICAgICAgICAgIGlmIG5vdCBwYXJ0OgotICAgICAgICAgICAgICAgIGJyZWFrCi0gICAgICAgICAgICBkYXRhICs9IHBhcnQKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkYXRhLCBleHBlY3RpbmcpCi0KLSAgICBkZWYgdGVzdF9kZWZhdWx0KHNlbGYpOgotICAgICAgICBzZWxmLl90ZXN0X3JlYWRsaW5lKCkKLSAgICAgICAgc2VsZi5fdGVzdF9yZWFkbGluZShzaXplPTEwMCkKLSAgICAgICAgc2VsZi5fdGVzdF9yZWFkKCkKLSAgICAgICAgc2VsZi5fdGVzdF9yZWFkKHNpemU9MTAwKQotCi0gICAgZGVmIHRlc3Rfd2l0aF8xa19idWZmZXIoc2VsZik6Ci0gICAgICAgIHNlbGYuX3Rlc3RfcmVhZGxpbmUoYnVmZmVyaW5nPTEwMjQpCi0gICAgICAgIHNlbGYuX3Rlc3RfcmVhZGxpbmUoc2l6ZT0xMDAsIGJ1ZmZlcmluZz0xMDI0KQotICAgICAgICBzZWxmLl90ZXN0X3JlYWQoYnVmZmVyaW5nPTEwMjQpCi0gICAgICAgIHNlbGYuX3Rlc3RfcmVhZChzaXplPTEwMCwgYnVmZmVyaW5nPTEwMjQpCi0KLSAgICBkZWYgX3Rlc3RfcmVhZGxpbmVfbm9fYnVmZmVyKHNlbGYsIHNpemU9LTEpOgotICAgICAgICBtb2NrX3NvY2sgPSBzZWxmLk1vY2tTb2NrZXQocmVjdl9mdW5jcz1bCi0gICAgICAgICAgICAgICAgbGFtYmRhIDogYiJhIiwKLSAgICAgICAgICAgICAgICBsYW1iZGEgOiBiIlxuIiwKLSAgICAgICAgICAgICAgICBsYW1iZGEgOiBiIkIiLAotICAgICAgICAgICAgICAgIHNlbGYuX3JhaXNlX2VpbnRyLAotICAgICAgICAgICAgICAgIGxhbWJkYSA6IGIiYiIsCi0gICAgICAgICAgICAgICAgbGFtYmRhIDogYiIiLAotICAgICAgICAgICAgXSkKLSAgICAgICAgZm8gPSBtb2NrX3NvY2suX3RleHRpb3dyYXBfZm9yX3Rlc3QoYnVmZmVyaW5nPTApCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZm8ucmVhZGxpbmUoc2l6ZSksIGIiYVxuIikKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChmby5yZWFkbGluZShzaXplKSwgYiJCYiIpCi0KLSAgICBkZWYgdGVzdF9ub19idWZmZXIoc2VsZik6Ci0gICAgICAgIHNlbGYuX3Rlc3RfcmVhZGxpbmVfbm9fYnVmZmVyKCkKLSAgICAgICAgc2VsZi5fdGVzdF9yZWFkbGluZV9ub19idWZmZXIoc2l6ZT00KQotICAgICAgICBzZWxmLl90ZXN0X3JlYWQoYnVmZmVyaW5nPTApCi0gICAgICAgIHNlbGYuX3Rlc3RfcmVhZChzaXplPTEwMCwgYnVmZmVyaW5nPTApCi0KLQogY2xhc3MgVW5idWZmZXJlZEZpbGVPYmplY3RDbGFzc1Rlc3RDYXNlKEZpbGVPYmplY3RDbGFzc1Rlc3RDYXNlKToKIAogICAgICIiIlJlcGVhdCB0aGUgdGVzdHMgZnJvbSBGaWxlT2JqZWN0Q2xhc3NUZXN0Q2FzZSB3aXRoIGJ1ZnNpemU9PTAuCkBAIC00NTg4LDcgKzQ0NzYsNyBAQAogICAgICAgICBhZGRyZXNzID0gYiJceDAwcHl0aG9uLXRlc3QtaGVsbG9ceDAwXHhmZiIKICAgICAgICAgd2l0aCBzb2NrZXQuc29ja2V0KHNvY2tldC5BRl9VTklYLCBzb2NrZXQuU09DS19TVFJFQU0pIGFzIHMxOgogICAgICAgICAgICAgczEuYmluZChhZGRyZXNzKQotICAgICAgICAgICAgczEubGlzdGVuKDEpCisgICAgICAgICAgICBzMS5saXN0ZW4oKQogICAgICAgICAgICAgd2l0aCBzb2NrZXQuc29ja2V0KHNvY2tldC5BRl9VTklYLCBzb2NrZXQuU09DS19TVFJFQU0pIGFzIHMyOgogICAgICAgICAgICAgICAgIHMyLmNvbm5lY3QoczEuZ2V0c29ja25hbWUoKSkKICAgICAgICAgICAgICAgICB3aXRoIHMxLmFjY2VwdCgpWzBdIGFzIHMzOgpAQCAtNDgyMCw3ICs0NzA4LDcgQEAKICAgICAgICAgc3J2YWRkciA9IChzb2NrZXQuVElQQ19BRERSX05BTUVTRVEsIFRJUENfU1RZUEUsCiAgICAgICAgICAgICAgICAgVElQQ19MT1dFUiwgVElQQ19VUFBFUikKICAgICAgICAgc2VsZi5zcnYuYmluZChzcnZhZGRyKQotICAgICAgICBzZWxmLnNydi5saXN0ZW4oNSkKKyAgICAgICAgc2VsZi5zcnYubGlzdGVuKCkKICAgICAgICAgc2VsZi5zZXJ2ZXJFeHBsaWNpdFJlYWR5KCkKICAgICAgICAgc2VsZi5jb25uLCBzZWxmLmNvbm5hZGRyID0gc2VsZi5zcnYuYWNjZXB0KCkKICAgICAgICAgc2VsZi5hZGRDbGVhbnVwKHNlbGYuY29ubi5jbG9zZSkKQEAgLTUxMDksNiArNDk5NywyNzUgQEAKICAgICAgICAgICAgICAgICAgICAgc291cmNlLmNsb3NlKCkKIAogCitAdW5pdHRlc3Quc2tpcFVubGVzcyh0aHJlYWQsICdUaHJlYWRpbmcgcmVxdWlyZWQgZm9yIHRoaXMgdGVzdC4nKQorY2xhc3MgU2VuZGZpbGVVc2luZ1NlbmRUZXN0KFRocmVhZGVkVENQU29ja2V0VGVzdCk6CisgICAgIiIiCisgICAgVGVzdCB0aGUgc2VuZCgpIGltcGxlbWVudGF0aW9uIG9mIHNvY2tldC5zZW5kZmlsZSgpLgorICAgICIiIgorCisgICAgRklMRVNJWkUgPSAoMTAgKiAxMDI0ICogMTAyNCkgICMgMTBNQgorICAgIEJVRlNJWkUgPSA4MTkyCisgICAgRklMRURBVEEgPSBiIiIKKyAgICBUSU1FT1VUID0gMgorCisgICAgQGNsYXNzbWV0aG9kCisgICAgZGVmIHNldFVwQ2xhc3MoY2xzKToKKyAgICAgICAgZGVmIGNodW5rcyh0b3RhbCwgc3RlcCk6CisgICAgICAgICAgICBhc3NlcnQgdG90YWwgPj0gc3RlcAorICAgICAgICAgICAgd2hpbGUgdG90YWwgPiBzdGVwOgorICAgICAgICAgICAgICAgIHlpZWxkIHN0ZXAKKyAgICAgICAgICAgICAgICB0b3RhbCAtPSBzdGVwCisgICAgICAgICAgICBpZiB0b3RhbDoKKyAgICAgICAgICAgICAgICB5aWVsZCB0b3RhbAorCisgICAgICAgIGNodW5rID0gYiIiLmpvaW4oW3JhbmRvbS5jaG9pY2Uoc3RyaW5nLmFzY2lpX2xldHRlcnMpLmVuY29kZSgpCisgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciBpIGluIHJhbmdlKGNscy5CVUZTSVpFKV0pCisgICAgICAgIHdpdGggb3BlbihzdXBwb3J0LlRFU1RGTiwgJ3diJykgYXMgZjoKKyAgICAgICAgICAgIGZvciBjc2l6ZSBpbiBjaHVua3MoY2xzLkZJTEVTSVpFLCBjbHMuQlVGU0laRSk6CisgICAgICAgICAgICAgICAgZi53cml0ZShjaHVuaykKKyAgICAgICAgd2l0aCBvcGVuKHN1cHBvcnQuVEVTVEZOLCAncmInKSBhcyBmOgorICAgICAgICAgICAgY2xzLkZJTEVEQVRBID0gZi5yZWFkKCkKKyAgICAgICAgICAgIGFzc2VydCBsZW4oY2xzLkZJTEVEQVRBKSA9PSBjbHMuRklMRVNJWkUKKworICAgIEBjbGFzc21ldGhvZAorICAgIGRlZiB0ZWFyRG93bkNsYXNzKGNscyk6CisgICAgICAgIHN1cHBvcnQudW5saW5rKHN1cHBvcnQuVEVTVEZOKQorCisgICAgZGVmIGFjY2VwdF9jb25uKHNlbGYpOgorICAgICAgICBzZWxmLnNlcnYuc2V0dGltZW91dChzZWxmLlRJTUVPVVQpCisgICAgICAgIGNvbm4sIGFkZHIgPSBzZWxmLnNlcnYuYWNjZXB0KCkKKyAgICAgICAgY29ubi5zZXR0aW1lb3V0KHNlbGYuVElNRU9VVCkKKyAgICAgICAgc2VsZi5hZGRDbGVhbnVwKGNvbm4uY2xvc2UpCisgICAgICAgIHJldHVybiBjb25uCisKKyAgICBkZWYgcmVjdl9kYXRhKHNlbGYsIGNvbm4pOgorICAgICAgICByZWNlaXZlZCA9IFtdCisgICAgICAgIHdoaWxlIFRydWU6CisgICAgICAgICAgICBjaHVuayA9IGNvbm4ucmVjdihzZWxmLkJVRlNJWkUpCisgICAgICAgICAgICBpZiBub3QgY2h1bms6CisgICAgICAgICAgICAgICAgYnJlYWsKKyAgICAgICAgICAgIHJlY2VpdmVkLmFwcGVuZChjaHVuaykKKyAgICAgICAgcmV0dXJuIGInJy5qb2luKHJlY2VpdmVkKQorCisgICAgZGVmIG1ldGhfZnJvbV9zb2NrKHNlbGYsIHNvY2spOgorICAgICAgICAjIERlcGVuZGluZyBvbiB0aGUgbWl4aW4gY2xhc3MgYmVpbmcgcnVuIHJldHVybiBlaXRoZXIgc2VuZCgpCisgICAgICAgICMgb3Igc2VuZGZpbGUoKSBtZXRob2QgaW1wbGVtZW50YXRpb24uCisgICAgICAgIHJldHVybiBnZXRhdHRyKHNvY2ssICJfc2VuZGZpbGVfdXNlX3NlbmQiKQorCisgICAgIyByZWd1bGFyIGZpbGUKKworICAgIGRlZiBfdGVzdFJlZ3VsYXJGaWxlKHNlbGYpOgorICAgICAgICBhZGRyZXNzID0gc2VsZi5zZXJ2LmdldHNvY2tuYW1lKCkKKyAgICAgICAgZmlsZSA9IG9wZW4oc3VwcG9ydC5URVNURk4sICdyYicpCisgICAgICAgIHdpdGggc29ja2V0LmNyZWF0ZV9jb25uZWN0aW9uKGFkZHJlc3MpIGFzIHNvY2ssIGZpbGUgYXMgZmlsZToKKyAgICAgICAgICAgIG1ldGggPSBzZWxmLm1ldGhfZnJvbV9zb2NrKHNvY2spCisgICAgICAgICAgICBzZW50ID0gbWV0aChmaWxlKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZW50LCBzZWxmLkZJTEVTSVpFKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChmaWxlLnRlbGwoKSwgc2VsZi5GSUxFU0laRSkKKworICAgIGRlZiB0ZXN0UmVndWxhckZpbGUoc2VsZik6CisgICAgICAgIGNvbm4gPSBzZWxmLmFjY2VwdF9jb25uKCkKKyAgICAgICAgZGF0YSA9IHNlbGYucmVjdl9kYXRhKGNvbm4pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKGRhdGEpLCBzZWxmLkZJTEVTSVpFKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRhdGEsIHNlbGYuRklMRURBVEEpCisKKyAgICAjIG5vbiByZWd1bGFyIGZpbGUKKworICAgIGRlZiBfdGVzdE5vblJlZ3VsYXJGaWxlKHNlbGYpOgorICAgICAgICBhZGRyZXNzID0gc2VsZi5zZXJ2LmdldHNvY2tuYW1lKCkKKyAgICAgICAgZmlsZSA9IGlvLkJ5dGVzSU8oc2VsZi5GSUxFREFUQSkKKyAgICAgICAgd2l0aCBzb2NrZXQuY3JlYXRlX2Nvbm5lY3Rpb24oYWRkcmVzcykgYXMgc29jaywgZmlsZSBhcyBmaWxlOgorICAgICAgICAgICAgc2VudCA9IHNvY2suc2VuZGZpbGUoZmlsZSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VudCwgc2VsZi5GSUxFU0laRSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZmlsZS50ZWxsKCksIHNlbGYuRklMRVNJWkUpCisgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhzb2NrZXQuX0dpdmV1cE9uU2VuZGZpbGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzb2NrLl9zZW5kZmlsZV91c2Vfc2VuZGZpbGUsIGZpbGUpCisKKyAgICBkZWYgdGVzdE5vblJlZ3VsYXJGaWxlKHNlbGYpOgorICAgICAgICBjb25uID0gc2VsZi5hY2NlcHRfY29ubigpCisgICAgICAgIGRhdGEgPSBzZWxmLnJlY3ZfZGF0YShjb25uKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihkYXRhKSwgc2VsZi5GSUxFU0laRSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkYXRhLCBzZWxmLkZJTEVEQVRBKQorCisgICAgIyBlbXB0eSBmaWxlCisKKyAgICBkZWYgX3Rlc3RFbXB0eUZpbGVTZW5kKHNlbGYpOgorICAgICAgICBhZGRyZXNzID0gc2VsZi5zZXJ2LmdldHNvY2tuYW1lKCkKKyAgICAgICAgZmlsZW5hbWUgPSBzdXBwb3J0LlRFU1RGTiArICIyIgorICAgICAgICB3aXRoIG9wZW4oZmlsZW5hbWUsICd3YicpOgorICAgICAgICAgICAgc2VsZi5hZGRDbGVhbnVwKHN1cHBvcnQudW5saW5rLCBmaWxlbmFtZSkKKyAgICAgICAgZmlsZSA9IG9wZW4oZmlsZW5hbWUsICdyYicpCisgICAgICAgIHdpdGggc29ja2V0LmNyZWF0ZV9jb25uZWN0aW9uKGFkZHJlc3MpIGFzIHNvY2ssIGZpbGUgYXMgZmlsZToKKyAgICAgICAgICAgIG1ldGggPSBzZWxmLm1ldGhfZnJvbV9zb2NrKHNvY2spCisgICAgICAgICAgICBzZW50ID0gbWV0aChmaWxlKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZW50LCAwKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChmaWxlLnRlbGwoKSwgMCkKKworICAgIGRlZiB0ZXN0RW1wdHlGaWxlU2VuZChzZWxmKToKKyAgICAgICAgY29ubiA9IHNlbGYuYWNjZXB0X2Nvbm4oKQorICAgICAgICBkYXRhID0gc2VsZi5yZWN2X2RhdGEoY29ubikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkYXRhLCBiIiIpCisKKyAgICAjIG9mZnNldAorCisgICAgZGVmIF90ZXN0T2Zmc2V0KHNlbGYpOgorICAgICAgICBhZGRyZXNzID0gc2VsZi5zZXJ2LmdldHNvY2tuYW1lKCkKKyAgICAgICAgZmlsZSA9IG9wZW4oc3VwcG9ydC5URVNURk4sICdyYicpCisgICAgICAgIHdpdGggc29ja2V0LmNyZWF0ZV9jb25uZWN0aW9uKGFkZHJlc3MpIGFzIHNvY2ssIGZpbGUgYXMgZmlsZToKKyAgICAgICAgICAgIG1ldGggPSBzZWxmLm1ldGhfZnJvbV9zb2NrKHNvY2spCisgICAgICAgICAgICBzZW50ID0gbWV0aChmaWxlLCBvZmZzZXQ9NTAwMCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VudCwgc2VsZi5GSUxFU0laRSAtIDUwMDApCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGZpbGUudGVsbCgpLCBzZWxmLkZJTEVTSVpFKQorCisgICAgZGVmIHRlc3RPZmZzZXQoc2VsZik6CisgICAgICAgIGNvbm4gPSBzZWxmLmFjY2VwdF9jb25uKCkKKyAgICAgICAgZGF0YSA9IHNlbGYucmVjdl9kYXRhKGNvbm4pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKGRhdGEpLCBzZWxmLkZJTEVTSVpFIC0gNTAwMCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkYXRhLCBzZWxmLkZJTEVEQVRBWzUwMDA6XSkKKworICAgICMgY291bnQKKworICAgIGRlZiBfdGVzdENvdW50KHNlbGYpOgorICAgICAgICBhZGRyZXNzID0gc2VsZi5zZXJ2LmdldHNvY2tuYW1lKCkKKyAgICAgICAgZmlsZSA9IG9wZW4oc3VwcG9ydC5URVNURk4sICdyYicpCisgICAgICAgIHdpdGggc29ja2V0LmNyZWF0ZV9jb25uZWN0aW9uKGFkZHJlc3MsIHRpbWVvdXQ9MikgYXMgc29jaywgZmlsZSBhcyBmaWxlOgorICAgICAgICAgICAgY291bnQgPSA1MDAwMDA3CisgICAgICAgICAgICBtZXRoID0gc2VsZi5tZXRoX2Zyb21fc29jayhzb2NrKQorICAgICAgICAgICAgc2VudCA9IG1ldGgoZmlsZSwgY291bnQ9Y291bnQpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbnQsIGNvdW50KQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChmaWxlLnRlbGwoKSwgY291bnQpCisKKyAgICBkZWYgdGVzdENvdW50KHNlbGYpOgorICAgICAgICBjb3VudCA9IDUwMDAwMDcKKyAgICAgICAgY29ubiA9IHNlbGYuYWNjZXB0X2Nvbm4oKQorICAgICAgICBkYXRhID0gc2VsZi5yZWN2X2RhdGEoY29ubikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4oZGF0YSksIGNvdW50KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRhdGEsIHNlbGYuRklMRURBVEFbOmNvdW50XSkKKworICAgICMgY291bnQgc21hbGwKKworICAgIGRlZiBfdGVzdENvdW50U21hbGwoc2VsZik6CisgICAgICAgIGFkZHJlc3MgPSBzZWxmLnNlcnYuZ2V0c29ja25hbWUoKQorICAgICAgICBmaWxlID0gb3BlbihzdXBwb3J0LlRFU1RGTiwgJ3JiJykKKyAgICAgICAgd2l0aCBzb2NrZXQuY3JlYXRlX2Nvbm5lY3Rpb24oYWRkcmVzcywgdGltZW91dD0yKSBhcyBzb2NrLCBmaWxlIGFzIGZpbGU6CisgICAgICAgICAgICBjb3VudCA9IDEKKyAgICAgICAgICAgIG1ldGggPSBzZWxmLm1ldGhfZnJvbV9zb2NrKHNvY2spCisgICAgICAgICAgICBzZW50ID0gbWV0aChmaWxlLCBjb3VudD1jb3VudCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VudCwgY291bnQpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGZpbGUudGVsbCgpLCBjb3VudCkKKworICAgIGRlZiB0ZXN0Q291bnRTbWFsbChzZWxmKToKKyAgICAgICAgY291bnQgPSAxCisgICAgICAgIGNvbm4gPSBzZWxmLmFjY2VwdF9jb25uKCkKKyAgICAgICAgZGF0YSA9IHNlbGYucmVjdl9kYXRhKGNvbm4pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKGRhdGEpLCBjb3VudCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkYXRhLCBzZWxmLkZJTEVEQVRBWzpjb3VudF0pCisKKyAgICAjIGNvdW50ICsgb2Zmc2V0CisKKyAgICBkZWYgX3Rlc3RDb3VudFdpdGhPZmZzZXQoc2VsZik6CisgICAgICAgIGFkZHJlc3MgPSBzZWxmLnNlcnYuZ2V0c29ja25hbWUoKQorICAgICAgICBmaWxlID0gb3BlbihzdXBwb3J0LlRFU1RGTiwgJ3JiJykKKyAgICAgICAgd2l0aCBzb2NrZXQuY3JlYXRlX2Nvbm5lY3Rpb24oYWRkcmVzcywgdGltZW91dD0yKSBhcyBzb2NrLCBmaWxlIGFzIGZpbGU6CisgICAgICAgICAgICBjb3VudCA9IDEwMDAwNworICAgICAgICAgICAgbWV0aCA9IHNlbGYubWV0aF9mcm9tX3NvY2soc29jaykKKyAgICAgICAgICAgIHNlbnQgPSBtZXRoKGZpbGUsIG9mZnNldD0yMDA3LCBjb3VudD1jb3VudCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VudCwgY291bnQpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGZpbGUudGVsbCgpLCBjb3VudCArIDIwMDcpCisKKyAgICBkZWYgdGVzdENvdW50V2l0aE9mZnNldChzZWxmKToKKyAgICAgICAgY291bnQgPSAxMDAwMDcKKyAgICAgICAgY29ubiA9IHNlbGYuYWNjZXB0X2Nvbm4oKQorICAgICAgICBkYXRhID0gc2VsZi5yZWN2X2RhdGEoY29ubikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4oZGF0YSksIGNvdW50KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRhdGEsIHNlbGYuRklMRURBVEFbMjAwNzpjb3VudCsyMDA3XSkKKworICAgICMgbm9uIGJsb2NraW5nIHNvY2tldHMgYXJlIG5vdCBzdXBwb3NlZCB0byB3b3JrCisKKyAgICBkZWYgX3Rlc3ROb25CbG9ja2luZyhzZWxmKToKKyAgICAgICAgYWRkcmVzcyA9IHNlbGYuc2Vydi5nZXRzb2NrbmFtZSgpCisgICAgICAgIGZpbGUgPSBvcGVuKHN1cHBvcnQuVEVTVEZOLCAncmInKQorICAgICAgICB3aXRoIHNvY2tldC5jcmVhdGVfY29ubmVjdGlvbihhZGRyZXNzKSBhcyBzb2NrLCBmaWxlIGFzIGZpbGU6CisgICAgICAgICAgICBzb2NrLnNldGJsb2NraW5nKEZhbHNlKQorICAgICAgICAgICAgbWV0aCA9IHNlbGYubWV0aF9mcm9tX3NvY2soc29jaykKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIG1ldGgsIGZpbGUpCisgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBzb2NrLnNlbmRmaWxlLCBmaWxlKQorCisgICAgZGVmIHRlc3ROb25CbG9ja2luZyhzZWxmKToKKyAgICAgICAgY29ubiA9IHNlbGYuYWNjZXB0X2Nvbm4oKQorICAgICAgICBpZiBjb25uLnJlY3YoODE5Mik6CisgICAgICAgICAgICBzZWxmLmZhaWwoJ3dhcyBub3Qgc3VwcG9zZWQgdG8gcmVjZWl2ZSBhbnkgZGF0YScpCisKKyAgICAjIHRpbWVvdXQgKG5vbi10cmlnZ2VyZWQpCisKKyAgICBkZWYgX3Rlc3RXaXRoVGltZW91dChzZWxmKToKKyAgICAgICAgYWRkcmVzcyA9IHNlbGYuc2Vydi5nZXRzb2NrbmFtZSgpCisgICAgICAgIGZpbGUgPSBvcGVuKHN1cHBvcnQuVEVTVEZOLCAncmInKQorICAgICAgICB3aXRoIHNvY2tldC5jcmVhdGVfY29ubmVjdGlvbihhZGRyZXNzLCB0aW1lb3V0PTIpIGFzIHNvY2ssIGZpbGUgYXMgZmlsZToKKyAgICAgICAgICAgIG1ldGggPSBzZWxmLm1ldGhfZnJvbV9zb2NrKHNvY2spCisgICAgICAgICAgICBzZW50ID0gbWV0aChmaWxlKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZW50LCBzZWxmLkZJTEVTSVpFKQorCisgICAgZGVmIHRlc3RXaXRoVGltZW91dChzZWxmKToKKyAgICAgICAgY29ubiA9IHNlbGYuYWNjZXB0X2Nvbm4oKQorICAgICAgICBkYXRhID0gc2VsZi5yZWN2X2RhdGEoY29ubikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4oZGF0YSksIHNlbGYuRklMRVNJWkUpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZGF0YSwgc2VsZi5GSUxFREFUQSkKKworICAgICMgdGltZW91dCAodHJpZ2dlcmVkKQorCisgICAgZGVmIF90ZXN0V2l0aFRpbWVvdXRUcmlnZ2VyZWRTZW5kKHNlbGYpOgorICAgICAgICBhZGRyZXNzID0gc2VsZi5zZXJ2LmdldHNvY2tuYW1lKCkKKyAgICAgICAgZmlsZSA9IG9wZW4oc3VwcG9ydC5URVNURk4sICdyYicpCisgICAgICAgIHdpdGggc29ja2V0LmNyZWF0ZV9jb25uZWN0aW9uKGFkZHJlc3MsIHRpbWVvdXQ9MC4wMSkgYXMgc29jaywgXAorICAgICAgICAgICAgICAgIGZpbGUgYXMgZmlsZToKKyAgICAgICAgICAgIG1ldGggPSBzZWxmLm1ldGhfZnJvbV9zb2NrKHNvY2spCisgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhzb2NrZXQudGltZW91dCwgbWV0aCwgZmlsZSkKKworICAgIGRlZiB0ZXN0V2l0aFRpbWVvdXRUcmlnZ2VyZWRTZW5kKHNlbGYpOgorICAgICAgICBjb25uID0gc2VsZi5hY2NlcHRfY29ubigpCisgICAgICAgIGNvbm4ucmVjdig4ODE5MikKKworICAgICMgZXJyb3JzCisKKyAgICBkZWYgX3Rlc3RfZXJyb3JzKHNlbGYpOgorICAgICAgICBwYXNzCisKKyAgICBkZWYgdGVzdF9lcnJvcnMoc2VsZik6CisgICAgICAgIHdpdGggb3BlbihzdXBwb3J0LlRFU1RGTiwgJ3JiJykgYXMgZmlsZToKKyAgICAgICAgICAgIHdpdGggc29ja2V0LnNvY2tldCh0eXBlPXNvY2tldC5TT0NLX0RHUkFNKSBhcyBzOgorICAgICAgICAgICAgICAgIG1ldGggPSBzZWxmLm1ldGhfZnJvbV9zb2NrKHMpCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXNSZWdleCgKKyAgICAgICAgICAgICAgICAgICAgVmFsdWVFcnJvciwgIlNPQ0tfU1RSRUFNIiwgbWV0aCwgZmlsZSkKKyAgICAgICAgd2l0aCBvcGVuKHN1cHBvcnQuVEVTVEZOLCAncnQnKSBhcyBmaWxlOgorICAgICAgICAgICAgd2l0aCBzb2NrZXQuc29ja2V0KCkgYXMgczoKKyAgICAgICAgICAgICAgICBtZXRoID0gc2VsZi5tZXRoX2Zyb21fc29jayhzKQorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgoCisgICAgICAgICAgICAgICAgICAgIFZhbHVlRXJyb3IsICJiaW5hcnkgbW9kZSIsIG1ldGgsIGZpbGUpCisgICAgICAgIHdpdGggb3BlbihzdXBwb3J0LlRFU1RGTiwgJ3JiJykgYXMgZmlsZToKKyAgICAgICAgICAgIHdpdGggc29ja2V0LnNvY2tldCgpIGFzIHM6CisgICAgICAgICAgICAgICAgbWV0aCA9IHNlbGYubWV0aF9mcm9tX3NvY2socykKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlc1JlZ2V4KFR5cGVFcnJvciwgInBvc2l0aXZlIGludGVnZXIiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWV0aCwgZmlsZSwgY291bnQ9JzInKQorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgoVHlwZUVycm9yLCAicG9zaXRpdmUgaW50ZWdlciIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXRoLCBmaWxlLCBjb3VudD0wLjEpCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXNSZWdleChWYWx1ZUVycm9yLCAicG9zaXRpdmUgaW50ZWdlciIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXRoLCBmaWxlLCBjb3VudD0wKQorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgoVmFsdWVFcnJvciwgInBvc2l0aXZlIGludGVnZXIiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWV0aCwgZmlsZSwgY291bnQ9LTEpCisKKworQHVuaXR0ZXN0LnNraXBVbmxlc3ModGhyZWFkLCAnVGhyZWFkaW5nIHJlcXVpcmVkIGZvciB0aGlzIHRlc3QuJykKK0B1bml0dGVzdC5za2lwVW5sZXNzKGhhc2F0dHIob3MsICJzZW5kZmlsZSIpLAorICAgICAgICAgICAgICAgICAgICAgJ29zLnNlbmRmaWxlKCkgcmVxdWlyZWQgZm9yIHRoaXMgdGVzdC4nKQorY2xhc3MgU2VuZGZpbGVVc2luZ1NlbmRmaWxlVGVzdChTZW5kZmlsZVVzaW5nU2VuZFRlc3QpOgorICAgICIiIgorICAgIFRlc3QgdGhlIHNlbmRmaWxlKCkgaW1wbGVtZW50YXRpb24gb2Ygc29ja2V0LnNlbmRmaWxlKCkuCisgICAgIiIiCisgICAgZGVmIG1ldGhfZnJvbV9zb2NrKHNlbGYsIHNvY2spOgorICAgICAgICByZXR1cm4gZ2V0YXR0cihzb2NrLCAiX3NlbmRmaWxlX3VzZV9zZW5kZmlsZSIpCisKKwogZGVmIHRlc3RfbWFpbigpOgogICAgIHRlc3RzID0gW0dlbmVyYWxNb2R1bGVUZXN0cywgQmFzaWNUQ1BUZXN0LCBUQ1BDbG9zZXJUZXN0LCBUQ1BUaW1lb3V0VGVzdCwKICAgICAgICAgICAgICBUZXN0RXhjZXB0aW9ucywgQnVmZmVySU9UZXN0LCBCYXNpY1RDUFRlc3QyLCBCYXNpY1VEUFRlc3QsIFVEUFRpbWVvdXRUZXN0IF0KQEAgLTUxMTYsNyArNTI3Myw2IEBACiAgICAgdGVzdHMuZXh0ZW5kKFsKICAgICAgICAgTm9uQmxvY2tpbmdUQ1BUZXN0cywKICAgICAgICAgRmlsZU9iamVjdENsYXNzVGVzdENhc2UsCi0gICAgICAgIEZpbGVPYmplY3RJbnRlcnJ1cHRlZFRlc3RDYXNlLAogICAgICAgICBVbmJ1ZmZlcmVkRmlsZU9iamVjdENsYXNzVGVzdENhc2UsCiAgICAgICAgIExpbmVCdWZmZXJlZEZpbGVPYmplY3RDbGFzc1Rlc3RDYXNlLAogICAgICAgICBTbWFsbEJ1ZmZlcmVkRmlsZU9iamVjdENsYXNzVGVzdENhc2UsCkBAIC01MTYxLDYgKzUzMTcsOCBAQAogICAgICAgICBJbnRlcnJ1cHRlZFJlY3ZUaW1lb3V0VGVzdCwKICAgICAgICAgSW50ZXJydXB0ZWRTZW5kVGltZW91dFRlc3QsCiAgICAgICAgIFRlc3RTb2NrZXRTaGFyaW5nLAorICAgICAgICBTZW5kZmlsZVVzaW5nU2VuZFRlc3QsCisgICAgICAgIFNlbmRmaWxlVXNpbmdTZW5kZmlsZVRlc3QsCiAgICAgXSkKIAogICAgIHRocmVhZF9pbmZvID0gc3VwcG9ydC50aHJlYWRpbmdfc2V0dXAoKQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9zb2NrZXRzZXJ2ZXIucHkgYi9MaWIvdGVzdC90ZXN0X3NvY2tldHNlcnZlci5weQppbmRleCA5MjRiOWM0Li4zMWFiM2I2IDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X3NvY2tldHNlcnZlci5weQorKysgYi9MaWIvdGVzdC90ZXN0X3NvY2tldHNlcnZlci5weQpAQCAtMjIxLDM4ICsyMjEsNiBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNvY2tldHNlcnZlci5EYXRhZ3JhbVJlcXVlc3RIYW5kbGVyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuZGdyYW1fZXhhbWluZSkKIAotICAgIEBjb250ZXh0bGliLmNvbnRleHRtYW5hZ2VyCi0gICAgZGVmIG1vY2tlZF9zZWxlY3RfbW9kdWxlKHNlbGYpOgotICAgICAgICAiIiJNb2NrcyB0aGUgc2VsZWN0LnNlbGVjdCgpIGNhbGwgdG8gcmFpc2UgRUlOVFIgZm9yIGZpcnN0IGNhbGwiIiIKLSAgICAgICAgb2xkX3NlbGVjdCA9IHNlbGVjdC5zZWxlY3QKLQotICAgICAgICBjbGFzcyBNb2NrU2VsZWN0OgotICAgICAgICAgICAgZGVmIF9faW5pdF9fKHNlbGYpOgotICAgICAgICAgICAgICAgIHNlbGYuY2FsbGVkID0gMAotCi0gICAgICAgICAgICBkZWYgX19jYWxsX18oc2VsZiwgKmFyZ3MpOgotICAgICAgICAgICAgICAgIHNlbGYuY2FsbGVkICs9IDEKLSAgICAgICAgICAgICAgICBpZiBzZWxmLmNhbGxlZCA9PSAxOgotICAgICAgICAgICAgICAgICAgICAjIHJhaXNlIHRoZSBleGNlcHRpb24gb24gZmlyc3QgY2FsbAotICAgICAgICAgICAgICAgICAgICByYWlzZSBPU0Vycm9yKGVycm5vLkVJTlRSLCBvcy5zdHJlcnJvcihlcnJuby5FSU5UUikpCi0gICAgICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICAgICAgIyBSZXR1cm4gcmVhbCBzZWxlY3QgdmFsdWUgZm9yIGNvbnNlY3V0aXZlIGNhbGxzCi0gICAgICAgICAgICAgICAgICAgIHJldHVybiBvbGRfc2VsZWN0KCphcmdzKQotCi0gICAgICAgIHNlbGVjdC5zZWxlY3QgPSBNb2NrU2VsZWN0KCkKLSAgICAgICAgdHJ5OgotICAgICAgICAgICAgeWllbGQgc2VsZWN0LnNlbGVjdAotICAgICAgICBmaW5hbGx5OgotICAgICAgICAgICAgc2VsZWN0LnNlbGVjdCA9IG9sZF9zZWxlY3QKLQotICAgIGRlZiB0ZXN0X0ludGVycnVwdFNlcnZlclNlbGVjdENhbGwoc2VsZik6Ci0gICAgICAgIHdpdGggc2VsZi5tb2NrZWRfc2VsZWN0X21vZHVsZSgpIGFzIG1vY2tfc2VsZWN0OgotICAgICAgICAgICAgcGlkID0gc2VsZi5ydW5fc2VydmVyKHNvY2tldHNlcnZlci5UQ1BTZXJ2ZXIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc29ja2V0c2VydmVyLlN0cmVhbVJlcXVlc3RIYW5kbGVyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuc3RyZWFtX2V4YW1pbmUpCi0gICAgICAgICAgICAjIE1ha2Ugc3VyZSBzZWxlY3Qgd2FzIGNhbGxlZCBhZ2FpbjoKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0R3JlYXRlcihtb2NrX3NlbGVjdC5jYWxsZWQsIDEpCi0KICAgICAjIEFsYXMsIG9uIExpbnV4IChhdCBsZWFzdCkgcmVjdmZyb20oKSBkb2Vzbid0IHJldHVybiBhIG1lYW5pbmdmdWwKICAgICAjIGNsaWVudCBhZGRyZXNzIHNvIHRoaXMgY2Fubm90IHdvcms6CiAKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3Rfc3NsLnB5IGIvTGliL3Rlc3QvdGVzdF9zc2wucHkKaW5kZXggZGM4MjQ3NS4uY2U0MjdiNCAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9zc2wucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9zc2wucHkKQEAgLTg2LDYgKzg2LDEyIEBACiAgICAgIyAwLjkuOCBvciBoaWdoZXIKICAgICByZXR1cm4gc3NsLk9QRU5TU0xfVkVSU0lPTl9JTkZPID49ICgwLCA5LCA4LCAwLCAxNSkKIAorZGVmIHV0Y19vZmZzZXQoKTogI05PVEU6IGlnbm9yZSBpc3N1ZXMgbGlrZSAjMTY0NzY1NAorICAgICMgbG9jYWwgdGltZSA9IHV0YyB0aW1lICsgdXRjIG9mZnNldAorICAgIGlmIHRpbWUuZGF5bGlnaHQgYW5kIHRpbWUubG9jYWx0aW1lKCkudG1faXNkc3QgPiAwOgorICAgICAgICByZXR1cm4gLXRpbWUuYWx0em9uZSAgIyBzZWNvbmRzCisgICAgcmV0dXJuIC10aW1lLnRpbWV6b25lCisKIGRlZiBhc24xdGltZShjZXJ0X3RpbWUpOgogICAgICMgU29tZSB2ZXJzaW9ucyBvZiBPcGVuU1NMIGlnbm9yZSBzZWNvbmRzLCBzZWUgIzE4MjA3CiAgICAgIyAwLjkuOC5pCkBAIC0xMzQsNiArMTQwLDE0IEBACiAgICAgICAgIHNlbGYuYXNzZXJ0SW4oc3NsLkhBU19TTkksIHtUcnVlLCBGYWxzZX0pCiAgICAgICAgIHNlbGYuYXNzZXJ0SW4oc3NsLkhBU19FQ0RILCB7VHJ1ZSwgRmFsc2V9KQogCisgICAgZGVmIHRlc3Rfc3RyX2Zvcl9lbnVtcyhzZWxmKToKKyAgICAgICAgIyBNYWtlIHN1cmUgdGhhdCB0aGUgUFJPVE9DT0xfKiBjb25zdGFudHMgaGF2ZSBlbnVtLWxpa2Ugc3RyaW5nCisgICAgICAgICMgcmVwcnMuCisgICAgICAgIHByb3RvID0gc3NsLlBST1RPQ09MX1NTTHYyMworICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0cihwcm90byksICdfU1NMTWV0aG9kLlBST1RPQ09MX1NTTHYyMycpCisgICAgICAgIGN0eCA9IHNzbC5TU0xDb250ZXh0KHByb3RvKQorICAgICAgICBzZWxmLmFzc2VydElzKGN0eC5wcm90b2NvbCwgcHJvdG8pCisKICAgICBkZWYgdGVzdF9yYW5kb20oc2VsZik6CiAgICAgICAgIHYgPSBzc2wuUkFORF9zdGF0dXMoKQogICAgICAgICBpZiBzdXBwb3J0LnZlcmJvc2U6CkBAIC0yOTgsMTAgKzMxMiwxMCBAQAogICAgICAgICAjIFZlcnNpb24gc3RyaW5nIGFzIHJldHVybmVkIGJ5IHtPcGVuLExpYnJlfVNTTCwgdGhlIGZvcm1hdCBtaWdodCBjaGFuZ2UKICAgICAgICAgaWYgIkxpYnJlU1NMIiBpbiBzOgogICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHMuc3RhcnRzd2l0aCgiTGlicmVTU0wgezpkfS57OmR9Ii5mb3JtYXQobWFqb3IsIG1pbm9yKSksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgKHMsIHQpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzLCB0LCBoZXgobikpKQogICAgICAgICBlbHNlOgogICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHMuc3RhcnRzd2l0aCgiT3BlblNTTCB7OmR9Lns6ZH0uezpkfSIuZm9ybWF0KG1ham9yLCBtaW5vciwgZml4KSksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgKHMsIHQpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzLCB0LCBoZXgobikpKQogCiAgICAgQHN1cHBvcnQuY3B5dGhvbl9vbmx5CiAgICAgZGVmIHRlc3RfcmVmY3ljbGUoc2VsZik6CkBAIC0zNjksNiArMzgzLDggQEAKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKHNzbC5DZXJ0aWZpY2F0ZUVycm9yLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3NsLm1hdGNoX2hvc3RuYW1lLCBjZXJ0LCBob3N0bmFtZSkKIAorICAgICAgICAjIC0tIEhvc3RuYW1lIG1hdGNoaW5nIC0tCisKICAgICAgICAgY2VydCA9IHsnc3ViamVjdCc6ICgoKCdjb21tb25OYW1lJywgJ2V4YW1wbGUuY29tJyksKSwpfQogICAgICAgICBvayhjZXJ0LCAnZXhhbXBsZS5jb20nKQogICAgICAgICBvayhjZXJ0LCAnRXhBbXBsZS5jT20nKQpAQCAtNDU0LDYgKzQ3MCwyOCBAQAogICAgICAgICAjIE9ubHkgY29tbW9uTmFtZSBpcyBjb25zaWRlcmVkCiAgICAgICAgIGZhaWwoY2VydCwgJ0NhbGlmb3JuaWEnKQogCisgICAgICAgICMgLS0gSVB2NCBtYXRjaGluZyAtLQorICAgICAgICBjZXJ0ID0geydzdWJqZWN0JzogKCgoJ2NvbW1vbk5hbWUnLCAnZXhhbXBsZS5jb20nKSwpLCksCisgICAgICAgICAgICAgICAgJ3N1YmplY3RBbHROYW1lJzogKCgnRE5TJywgJ2V4YW1wbGUuY29tJyksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgnSVAgQWRkcmVzcycsICcxMC4xMS4xMi4xMycpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoJ0lQIEFkZHJlc3MnLCAnMTQuMTUuMTYuMTcnKSl9CisgICAgICAgIG9rKGNlcnQsICcxMC4xMS4xMi4xMycpCisgICAgICAgIG9rKGNlcnQsICcxNC4xNS4xNi4xNycpCisgICAgICAgIGZhaWwoY2VydCwgJzE0LjE1LjE2LjE4JykKKyAgICAgICAgZmFpbChjZXJ0LCAnZXhhbXBsZS5uZXQnKQorCisgICAgICAgICMgLS0gSVB2NiBtYXRjaGluZyAtLQorICAgICAgICBjZXJ0ID0geydzdWJqZWN0JzogKCgoJ2NvbW1vbk5hbWUnLCAnZXhhbXBsZS5jb20nKSwpLCksCisgICAgICAgICAgICAgICAgJ3N1YmplY3RBbHROYW1lJzogKCgnRE5TJywgJ2V4YW1wbGUuY29tJyksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgnSVAgQWRkcmVzcycsICcyMDAxOjA6MDowOjA6MDowOkNBRkVcbicpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoJ0lQIEFkZHJlc3MnLCAnMjAwMzowOjA6MDowOjA6MDpCQUJBXG4nKSl9CisgICAgICAgIG9rKGNlcnQsICcyMDAxOjpjYWZlJykKKyAgICAgICAgb2soY2VydCwgJzIwMDM6OmJhYmEnKQorICAgICAgICBmYWlsKGNlcnQsICcyMDAzOjpiZWJlJykKKyAgICAgICAgZmFpbChjZXJ0LCAnZXhhbXBsZS5uZXQnKQorCisgICAgICAgICMgLS0gTWlzY2VsbGFuZW91cyAtLQorCiAgICAgICAgICMgTmVpdGhlciBjb21tb25OYW1lIG5vciBzdWJqZWN0QWx0TmFtZQogICAgICAgICBjZXJ0ID0geydub3RBZnRlcic6ICdEZWMgMTggMjM6NTk6NTkgMjAxMSBHTVQnLAogICAgICAgICAgICAgICAgICdzdWJqZWN0JzogKCgoJ2NvdW50cnlOYW1lJywgJ1VTJyksKSwKQEAgLTUwNSw5ICs1NDMsMTQgQEAKICAgICBkZWYgdGVzdF91bmtub3duX2NoYW5uZWxfYmluZGluZyhzZWxmKToKICAgICAgICAgIyBzaG91bGQgcmFpc2UgVmFsdWVFcnJvciBmb3IgdW5rbm93biB0eXBlCiAgICAgICAgIHMgPSBzb2NrZXQuc29ja2V0KHNvY2tldC5BRl9JTkVUKQotICAgICAgICB3aXRoIHNzbC53cmFwX3NvY2tldChzKSBhcyBzczoKKyAgICAgICAgcy5iaW5kKCgnMTI3LjAuMC4xJywgMCkpCisgICAgICAgIHMubGlzdGVuKCkKKyAgICAgICAgYyA9IHNvY2tldC5zb2NrZXQoc29ja2V0LkFGX0lORVQpCisgICAgICAgIGMuY29ubmVjdChzLmdldHNvY2tuYW1lKCkpCisgICAgICAgIHdpdGggc3NsLndyYXBfc29ja2V0KGMsIGRvX2hhbmRzaGFrZV9vbl9jb25uZWN0PUZhbHNlKSBhcyBzczoKICAgICAgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvcik6CiAgICAgICAgICAgICAgICAgc3MuZ2V0X2NoYW5uZWxfYmluZGluZygidW5rbm93bi10eXBlIikKKyAgICAgICAgcy5jbG9zZSgpCiAKICAgICBAdW5pdHRlc3Quc2tpcFVubGVzcygidGxzLXVuaXF1ZSIgaW4gc3NsLkNIQU5ORUxfQklORElOR19UWVBFUywKICAgICAgICAgICAgICAgICAgICAgICAgICAiJ3Rscy11bmlxdWUnIGNoYW5uZWwgYmluZGluZyBub3QgYXZhaWxhYmxlIikKQEAgLTY0OCw2ICs2OTEsNzEgQEAKICAgICAgICAgICAgIGN0eC53cmFwX3NvY2tldChzKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0cihjeC5leGNlcHRpb24pLCAib25seSBzdHJlYW0gc29ja2V0cyBhcmUgc3VwcG9ydGVkIikKIAorICAgIGRlZiBjZXJ0X3RpbWVfb2soc2VsZiwgdGltZXN0cmluZywgdGltZXN0YW1wKToKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzc2wuY2VydF90aW1lX3RvX3NlY29uZHModGltZXN0cmluZyksIHRpbWVzdGFtcCkKKworICAgIGRlZiBjZXJ0X3RpbWVfZmFpbChzZWxmLCB0aW1lc3RyaW5nKToKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yKToKKyAgICAgICAgICAgIHNzbC5jZXJ0X3RpbWVfdG9fc2Vjb25kcyh0aW1lc3RyaW5nKQorCisgICAgQHVuaXR0ZXN0LnNraXBVbmxlc3ModXRjX29mZnNldCgpLAorICAgICAgICAgICAgICAgICAgICAgICAgICdsb2NhbCB0aW1lIG5lZWRzIHRvIGJlIGRpZmZlcmVudCBmcm9tIFVUQycpCisgICAgZGVmIHRlc3RfY2VydF90aW1lX3RvX3NlY29uZHNfdGltZXpvbmUoc2VsZik6CisgICAgICAgICMgSXNzdWUgIzE5OTQwOiBzc2wuY2VydF90aW1lX3RvX3NlY29uZHMoKSByZXR1cm5zIHdyb25nCisgICAgICAgICMgICAgICAgICAgICAgICByZXN1bHRzIGlmIGxvY2FsIHRpbWV6b25lIGlzIG5vdCBVVEMKKyAgICAgICAgc2VsZi5jZXJ0X3RpbWVfb2soIk1heSAgOSAwMDowMDowMCAyMDA3IEdNVCIsIDExNzg2Njg4MDAuMCkKKyAgICAgICAgc2VsZi5jZXJ0X3RpbWVfb2soIkphbiAgNSAwOTozNDo0MyAyMDE4IEdNVCIsIDE1MTUxNDQ4ODMuMCkKKworICAgIGRlZiB0ZXN0X2NlcnRfdGltZV90b19zZWNvbmRzKHNlbGYpOgorICAgICAgICB0aW1lc3RyaW5nID0gIkphbiAgNSAwOTozNDo0MyAyMDE4IEdNVCIKKyAgICAgICAgdHMgPSAxNTE1MTQ0ODgzLjAKKyAgICAgICAgc2VsZi5jZXJ0X3RpbWVfb2sodGltZXN0cmluZywgdHMpCisgICAgICAgICMgYWNjZXB0IGtleXdvcmQgcGFyYW1ldGVyLCBhc3NlcnQgaXRzIG5hbWUKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzc2wuY2VydF90aW1lX3RvX3NlY29uZHMoY2VydF90aW1lPXRpbWVzdHJpbmcpLCB0cykKKyAgICAgICAgIyBhY2NlcHQgYm90aCAlZSBhbmQgJWQgKHNwYWNlIG9yIHplcm8gZ2VuZXJhdGVkIGJ5IHN0cmZ0aW1lKQorICAgICAgICBzZWxmLmNlcnRfdGltZV9vaygiSmFuIDA1IDA5OjM0OjQzIDIwMTggR01UIiwgdHMpCisgICAgICAgICMgY2FzZS1pbnNlbnNpdGl2ZQorICAgICAgICBzZWxmLmNlcnRfdGltZV9vaygiSmFOICA1IDA5OjM0OjQzIDIwMTggR21UIiwgdHMpCisgICAgICAgIHNlbGYuY2VydF90aW1lX2ZhaWwoIkphbiAgNSAwOTozNCAyMDE4IEdNVCIpICAgICAjIG5vIHNlY29uZHMKKyAgICAgICAgc2VsZi5jZXJ0X3RpbWVfZmFpbCgiSmFuICA1IDA5OjM0OjQzIDIwMTgiKSAgICAgICMgbm8gR01UCisgICAgICAgIHNlbGYuY2VydF90aW1lX2ZhaWwoIkphbiAgNSAwOTozNDo0MyAyMDE4IFVUQyIpICAjIG5vdCBHTVQgdGltZXpvbmUKKyAgICAgICAgc2VsZi5jZXJ0X3RpbWVfZmFpbCgiSmFuIDM1IDA5OjM0OjQzIDIwMTggR01UIikgICMgaW52YWxpZCBkYXkKKyAgICAgICAgc2VsZi5jZXJ0X3RpbWVfZmFpbCgiSm9uICA1IDA5OjM0OjQzIDIwMTggR01UIikgICMgaW52YWxpZCBtb250aAorICAgICAgICBzZWxmLmNlcnRfdGltZV9mYWlsKCJKYW4gIDUgMjQ6MDA6MDAgMjAxOCBHTVQiKSAgIyBpbnZhbGlkIGhvdXIKKyAgICAgICAgc2VsZi5jZXJ0X3RpbWVfZmFpbCgiSmFuICA1IDA5OjYwOjQzIDIwMTggR01UIikgICMgaW52YWxpZCBtaW51dGUKKworICAgICAgICBuZXd5ZWFyX3RzID0gMTIzMDc2ODAwMC4wCisgICAgICAgICMgbGVhcCBzZWNvbmRzCisgICAgICAgIHNlbGYuY2VydF90aW1lX29rKCJEZWMgMzEgMjM6NTk6NjAgMjAwOCBHTVQiLCBuZXd5ZWFyX3RzKQorICAgICAgICAjIHNhbWUgdGltZXN0YW1wCisgICAgICAgIHNlbGYuY2VydF90aW1lX29rKCJKYW4gIDEgMDA6MDA6MDAgMjAwOSBHTVQiLCBuZXd5ZWFyX3RzKQorCisgICAgICAgIHNlbGYuY2VydF90aW1lX29rKCJKYW4gIDUgMDk6MzQ6NTkgMjAxOCBHTVQiLCAxNTE1MTQ0ODk5KQorICAgICAgICAjICBhbGxvdyA2MHRoIHNlY29uZCAoZXZlbiBpZiBpdCBpcyBub3QgYSBsZWFwIHNlY29uZCkKKyAgICAgICAgc2VsZi5jZXJ0X3RpbWVfb2soIkphbiAgNSAwOTozNDo2MCAyMDE4IEdNVCIsIDE1MTUxNDQ5MDApCisgICAgICAgICMgIGFsbG93IDJuZCBsZWFwIHNlY29uZCBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIHRpbWUuc3RycHRpbWUoKQorICAgICAgICBzZWxmLmNlcnRfdGltZV9vaygiSmFuICA1IDA5OjM0OjYxIDIwMTggR01UIiwgMTUxNTE0NDkwMSkKKyAgICAgICAgc2VsZi5jZXJ0X3RpbWVfZmFpbCgiSmFuICA1IDA5OjM0OjYyIDIwMTggR01UIikgICMgaW52YWxpZCBzZWNvbmRzCisKKyAgICAgICAgIyBubyBzcGVjaWFsIHRyZWF0ZW1lbnQgZm9yIHRoZSBzcGVjaWFsIHZhbHVlOgorICAgICAgICAjICAgOTk5OTEyMzEyMzU5NTlaIChyZmMgNTI4MCkKKyAgICAgICAgc2VsZi5jZXJ0X3RpbWVfb2soIkRlYyAzMSAyMzo1OTo1OSA5OTk5IEdNVCIsIDI1MzQwMjMwMDc5OS4wKQorCisgICAgQHN1cHBvcnQucnVuX3dpdGhfbG9jYWxlKCdMQ19BTEwnLCAnJykKKyAgICBkZWYgdGVzdF9jZXJ0X3RpbWVfdG9fc2Vjb25kc19sb2NhbGUoc2VsZik6CisgICAgICAgICMgYGNlcnRfdGltZV90b19zZWNvbmRzKClgIHNob3VsZCBiZSBsb2NhbGUgaW5kZXBlbmRlbnQKKworICAgICAgICBkZWYgbG9jYWxfZmVicnVhcnlfbmFtZSgpOgorICAgICAgICAgICAgcmV0dXJuIHRpbWUuc3RyZnRpbWUoJyViJywgKDEsIDIsIDMsIDQsIDUsIDYsIDAsIDAsIDApKQorCisgICAgICAgIGlmIGxvY2FsX2ZlYnJ1YXJ5X25hbWUoKS5sb3dlcigpID09ICdmZWInOgorICAgICAgICAgICAgc2VsZi5za2lwVGVzdCgibG9jYWxlLXNwZWNpZmljIG1vbnRoIG5hbWUgbmVlZHMgdG8gYmUgIgorICAgICAgICAgICAgICAgICAgICAgICAgICAiZGlmZmVyZW50IGZyb20gQyBsb2NhbGUiKQorCisgICAgICAgICMgbG9jYWxlLWluZGVwZW5kZW50CisgICAgICAgIHNlbGYuY2VydF90aW1lX29rKCJGZWIgIDkgMDA6MDA6MDAgMjAwNyBHTVQiLCAxMTcwOTc5MjAwLjApCisgICAgICAgIHNlbGYuY2VydF90aW1lX2ZhaWwobG9jYWxfZmVicnVhcnlfbmFtZSgpICsgIiAgOSAwMDowMDowMCAyMDA3IEdNVCIpCisKIAogY2xhc3MgQ29udGV4dFRlc3RzKHVuaXR0ZXN0LlRlc3RDYXNlKToKIApAQCAtMTE1Niw3ICsxMjY0LDcgQEAKICAgICAgICAgY3R4ID0gc3NsLlNTTENvbnRleHQoc3NsLlBST1RPQ09MX1RMU3YxKQogICAgICAgICB3aXRoIHNvY2tldC5zb2NrZXQoKSBhcyBzOgogICAgICAgICAgICAgcy5iaW5kKCgiMTI3LjAuMC4xIiwgMCkpCi0gICAgICAgICAgICBzLmxpc3Rlbig1KQorICAgICAgICAgICAgcy5saXN0ZW4oKQogICAgICAgICAgICAgYyA9IHNvY2tldC5zb2NrZXQoKQogICAgICAgICAgICAgYy5jb25uZWN0KHMuZ2V0c29ja25hbWUoKSkKICAgICAgICAgICAgIGMuc2V0YmxvY2tpbmcoRmFsc2UpCkBAIC0xMTY5LDYgKzEyNzcsNjkgQEAKICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNtLmV4Y2VwdGlvbi5lcnJubywgc3NsLlNTTF9FUlJPUl9XQU5UX1JFQUQpCiAKIAorY2xhc3MgTWVtb3J5QklPVGVzdHModW5pdHRlc3QuVGVzdENhc2UpOgorCisgICAgZGVmIHRlc3RfcmVhZF93cml0ZShzZWxmKToKKyAgICAgICAgYmlvID0gc3NsLk1lbW9yeUJJTygpCisgICAgICAgIGJpby53cml0ZShiJ2ZvbycpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYmlvLnJlYWQoKSwgYidmb28nKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGJpby5yZWFkKCksIGInJykKKyAgICAgICAgYmlvLndyaXRlKGInZm9vJykKKyAgICAgICAgYmlvLndyaXRlKGInYmFyJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChiaW8ucmVhZCgpLCBiJ2Zvb2JhcicpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYmlvLnJlYWQoKSwgYicnKQorICAgICAgICBiaW8ud3JpdGUoYidiYXonKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGJpby5yZWFkKDIpLCBiJ2JhJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChiaW8ucmVhZCgxKSwgYid6JykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChiaW8ucmVhZCgxKSwgYicnKQorCisgICAgZGVmIHRlc3RfZW9mKHNlbGYpOgorICAgICAgICBiaW8gPSBzc2wuTWVtb3J5QklPKCkKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShiaW8uZW9mKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGJpby5yZWFkKCksIGInJykKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShiaW8uZW9mKQorICAgICAgICBiaW8ud3JpdGUoYidmb28nKQorICAgICAgICBzZWxmLmFzc2VydEZhbHNlKGJpby5lb2YpCisgICAgICAgIGJpby53cml0ZV9lb2YoKQorICAgICAgICBzZWxmLmFzc2VydEZhbHNlKGJpby5lb2YpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYmlvLnJlYWQoMiksIGInZm8nKQorICAgICAgICBzZWxmLmFzc2VydEZhbHNlKGJpby5lb2YpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYmlvLnJlYWQoMSksIGInbycpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShiaW8uZW9mKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGJpby5yZWFkKCksIGInJykKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGJpby5lb2YpCisKKyAgICBkZWYgdGVzdF9wZW5kaW5nKHNlbGYpOgorICAgICAgICBiaW8gPSBzc2wuTWVtb3J5QklPKCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChiaW8ucGVuZGluZywgMCkKKyAgICAgICAgYmlvLndyaXRlKGInZm9vJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChiaW8ucGVuZGluZywgMykKKyAgICAgICAgZm9yIGkgaW4gcmFuZ2UoMyk6CisgICAgICAgICAgICBiaW8ucmVhZCgxKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChiaW8ucGVuZGluZywgMy1pLTEpCisgICAgICAgIGZvciBpIGluIHJhbmdlKDMpOgorICAgICAgICAgICAgYmlvLndyaXRlKGIneCcpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGJpby5wZW5kaW5nLCBpKzEpCisgICAgICAgIGJpby5yZWFkKCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChiaW8ucGVuZGluZywgMCkKKworICAgIGRlZiB0ZXN0X2J1ZmZlcl90eXBlcyhzZWxmKToKKyAgICAgICAgYmlvID0gc3NsLk1lbW9yeUJJTygpCisgICAgICAgIGJpby53cml0ZShiJ2ZvbycpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYmlvLnJlYWQoKSwgYidmb28nKQorICAgICAgICBiaW8ud3JpdGUoYnl0ZWFycmF5KGInYmFyJykpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYmlvLnJlYWQoKSwgYidiYXInKQorICAgICAgICBiaW8ud3JpdGUobWVtb3J5dmlldyhiJ2JheicpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGJpby5yZWFkKCksIGInYmF6JykKKworICAgIGRlZiB0ZXN0X2Vycm9yX3R5cGVzKHNlbGYpOgorICAgICAgICBiaW8gPSBzc2wuTWVtb3J5QklPKCkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBiaW8ud3JpdGUsICdmb28nKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIGJpby53cml0ZSwgTm9uZSkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBiaW8ud3JpdGUsIFRydWUpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgYmlvLndyaXRlLCAxKQorCisKIGNsYXNzIE5ldHdvcmtlZFRlc3RzKHVuaXR0ZXN0LlRlc3RDYXNlKToKIAogICAgIGRlZiB0ZXN0X2Nvbm5lY3Qoc2VsZik6CkBAIC0xMzk2LDE0ICsxNTY3LDEyIEBACiAgICAgZGVmIHRlc3RfZ2V0X3NlcnZlcl9jZXJ0aWZpY2F0ZShzZWxmKToKICAgICAgICAgZGVmIF90ZXN0X2dldF9zZXJ2ZXJfY2VydGlmaWNhdGUoaG9zdCwgcG9ydCwgY2VydD1Ob25lKToKICAgICAgICAgICAgIHdpdGggc3VwcG9ydC50cmFuc2llbnRfaW50ZXJuZXQoaG9zdCk6Ci0gICAgICAgICAgICAgICAgcGVtID0gc3NsLmdldF9zZXJ2ZXJfY2VydGlmaWNhdGUoKGhvc3QsIHBvcnQpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNzbC5QUk9UT0NPTF9TU0x2MjMpCisgICAgICAgICAgICAgICAgcGVtID0gc3NsLmdldF9zZXJ2ZXJfY2VydGlmaWNhdGUoKGhvc3QsIHBvcnQpKQogICAgICAgICAgICAgICAgIGlmIG5vdCBwZW06CiAgICAgICAgICAgICAgICAgICAgIHNlbGYuZmFpbCgiTm8gc2VydmVyIGNlcnRpZmljYXRlIG9uICVzOiVzISIgJSAoaG9zdCwgcG9ydCkpCiAKICAgICAgICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICAgICAgIHBlbSA9IHNzbC5nZXRfc2VydmVyX2NlcnRpZmljYXRlKChob3N0LCBwb3J0KSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3NsLlBST1RPQ09MX1NTTHYyMywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FfY2VydHM9Q0VSVEZJTEUpCiAgICAgICAgICAgICAgICAgZXhjZXB0IHNzbC5TU0xFcnJvciBhcyB4OgogICAgICAgICAgICAgICAgICAgICAjc2hvdWxkIGZhaWwKQEAgLTE0MTMsNyArMTU4Miw2IEBACiAgICAgICAgICAgICAgICAgICAgIHNlbGYuZmFpbCgiR290IHNlcnZlciBjZXJ0aWZpY2F0ZSAlcyBmb3IgJXM6JXMhIiAlIChwZW0sIGhvc3QsIHBvcnQpKQogCiAgICAgICAgICAgICAgICAgcGVtID0gc3NsLmdldF9zZXJ2ZXJfY2VydGlmaWNhdGUoKGhvc3QsIHBvcnQpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNzbC5QUk9UT0NPTF9TU0x2MjMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FfY2VydHM9Y2VydCkKICAgICAgICAgICAgICAgICBpZiBub3QgcGVtOgogICAgICAgICAgICAgICAgICAgICBzZWxmLmZhaWwoIk5vIHNlcnZlciBjZXJ0aWZpY2F0ZSBvbiAlczolcyEiICUgKGhvc3QsIHBvcnQpKQpAQCAtMTQ5OSw2ICsxNjY3LDkzIEBACiAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRJcyhzcy5jb250ZXh0LCBjdHgyKQogICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXMoc3MuX3NzbG9iai5jb250ZXh0LCBjdHgyKQogCisKK2NsYXNzIE5ldHdvcmtlZEJJT1Rlc3RzKHVuaXR0ZXN0LlRlc3RDYXNlKToKKworICAgIGRlZiBzc2xfaW9fbG9vcChzZWxmLCBzb2NrLCBpbmNvbWluZywgb3V0Z29pbmcsIGZ1bmMsICphcmdzLCAqKmt3YXJncyk6CisgICAgICAgICMgQSBzaW1wbGUgSU8gbG9vcC4gQ2FsbCBmdW5jKCphcmdzKSBkZXBlbmRpbmcgb24gdGhlIGVycm9yIHdlIGdldAorICAgICAgICAjIChXQU5UX1JFQUQgb3IgV0FOVF9XUklURSkgbW92ZSBkYXRhIGJldHdlZW4gdGhlIHNvY2tldCBhbmQgdGhlIEJJT3MuCisgICAgICAgIHRpbWVvdXQgPSBrd2FyZ3MuZ2V0KCd0aW1lb3V0JywgMTApCisgICAgICAgIGNvdW50ID0gMAorICAgICAgICB3aGlsZSBUcnVlOgorICAgICAgICAgICAgZXJybm8gPSBOb25lCisgICAgICAgICAgICBjb3VudCArPSAxCisgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgcmV0ID0gZnVuYygqYXJncykKKyAgICAgICAgICAgIGV4Y2VwdCBzc2wuU1NMRXJyb3IgYXMgZToKKyAgICAgICAgICAgICAgICAjIE5vdGUgdGhhdCB3ZSBnZXQgYSBzcHVyaW91cyAtMS9TU0xfRVJST1JfU1lTQ0FMTCBmb3IKKyAgICAgICAgICAgICAgICAjIG5vbi1ibG9ja2luZyBJTy4gVGhlIFNTTF9zaHV0ZG93biBtYW5wYWdlIGhpbnRzIGF0IHRoaXMuCisgICAgICAgICAgICAgICAgIyBJdCAqc2hvdWxkKiBiZSBzYWZlIHRvIGp1c3QgaWdub3JlIFNZU19FUlJPUl9TWVNDQUxMIGJlY2F1c2UKKyAgICAgICAgICAgICAgICAjIHdpdGggYSBNZW1vcnkgQklPIHRoZXJlJ3Mgbm8gc3lzY2FsbHMgKGZvciBJTyBhdCBsZWFzdCkuCisgICAgICAgICAgICAgICAgaWYgZS5lcnJubyBub3QgaW4gKHNzbC5TU0xfRVJST1JfV0FOVF9SRUFELAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzc2wuU1NMX0VSUk9SX1dBTlRfV1JJVEUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNzbC5TU0xfRVJST1JfU1lTQ0FMTCk6CisgICAgICAgICAgICAgICAgICAgIHJhaXNlCisgICAgICAgICAgICAgICAgZXJybm8gPSBlLmVycm5vCisgICAgICAgICAgICAjIEdldCBhbnkgZGF0YSBmcm9tIHRoZSBvdXRnb2luZyBCSU8gaXJyZXNwZWN0aXZlIG9mIGFueSBlcnJvciwgYW5kCisgICAgICAgICAgICAjIHNlbmQgaXQgdG8gdGhlIHNvY2tldC4KKyAgICAgICAgICAgIGJ1ZiA9IG91dGdvaW5nLnJlYWQoKQorICAgICAgICAgICAgc29jay5zZW5kYWxsKGJ1ZikKKyAgICAgICAgICAgICMgSWYgdGhlcmUncyBubyBlcnJvciwgd2UncmUgZG9uZS4gRm9yIFdBTlRfUkVBRCwgd2UgbmVlZCB0byBnZXQKKyAgICAgICAgICAgICMgZGF0YSBmcm9tIHRoZSBzb2NrZXQgYW5kIHB1dCBpdCBpbiB0aGUgaW5jb21pbmcgQklPLgorICAgICAgICAgICAgaWYgZXJybm8gaXMgTm9uZToKKyAgICAgICAgICAgICAgICBicmVhaworICAgICAgICAgICAgZWxpZiBlcnJubyA9PSBzc2wuU1NMX0VSUk9SX1dBTlRfUkVBRDoKKyAgICAgICAgICAgICAgICBidWYgPSBzb2NrLnJlY3YoMzI3NjgpCisgICAgICAgICAgICAgICAgaWYgYnVmOgorICAgICAgICAgICAgICAgICAgICBpbmNvbWluZy53cml0ZShidWYpCisgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgaW5jb21pbmcud3JpdGVfZW9mKCkKKyAgICAgICAgaWYgc3VwcG9ydC52ZXJib3NlOgorICAgICAgICAgICAgc3lzLnN0ZG91dC53cml0ZSgiTmVlZGVkICVkIGNhbGxzIHRvIGNvbXBsZXRlICVzKCkuXG4iCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICUgKGNvdW50LCBmdW5jLl9fbmFtZV9fKSkKKyAgICAgICAgcmV0dXJuIHJldAorCisgICAgZGVmIHRlc3RfaGFuZHNoYWtlKHNlbGYpOgorICAgICAgICB3aXRoIHN1cHBvcnQudHJhbnNpZW50X2ludGVybmV0KCJzdm4ucHl0aG9uLm9yZyIpOgorICAgICAgICAgICAgc29jayA9IHNvY2tldC5zb2NrZXQoc29ja2V0LkFGX0lORVQpCisgICAgICAgICAgICBzb2NrLmNvbm5lY3QoKCJzdm4ucHl0aG9uLm9yZyIsIDQ0MykpCisgICAgICAgICAgICBpbmNvbWluZyA9IHNzbC5NZW1vcnlCSU8oKQorICAgICAgICAgICAgb3V0Z29pbmcgPSBzc2wuTWVtb3J5QklPKCkKKyAgICAgICAgICAgIGN0eCA9IHNzbC5TU0xDb250ZXh0KHNzbC5QUk9UT0NPTF9TU0x2MjMpCisgICAgICAgICAgICBjdHgudmVyaWZ5X21vZGUgPSBzc2wuQ0VSVF9SRVFVSVJFRAorICAgICAgICAgICAgY3R4LmxvYWRfdmVyaWZ5X2xvY2F0aW9ucyhTVk5fUFlUSE9OX09SR19ST09UX0NFUlQpCisgICAgICAgICAgICBjdHguY2hlY2tfaG9zdG5hbWUgPSBUcnVlCisgICAgICAgICAgICBzc2xvYmogPSBjdHgud3JhcF9iaW8oaW5jb21pbmcsIG91dGdvaW5nLCBGYWxzZSwgJ3N2bi5weXRob24ub3JnJykKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXMoc3Nsb2JqLl9zc2xvYmoub3duZXIsIHNzbG9iaikKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXNOb25lKHNzbG9iai5jaXBoZXIoKSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXNOb25lKHNzbG9iai5zaGFyZWRfY2lwaGVycygpKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgc3Nsb2JqLmdldHBlZXJjZXJ0KQorICAgICAgICAgICAgaWYgJ3Rscy11bmlxdWUnIGluIHNzbC5DSEFOTkVMX0JJTkRJTkdfVFlQRVM6CisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRJc05vbmUoc3Nsb2JqLmdldF9jaGFubmVsX2JpbmRpbmcoJ3Rscy11bmlxdWUnKSkKKyAgICAgICAgICAgIHNlbGYuc3NsX2lvX2xvb3Aoc29jaywgaW5jb21pbmcsIG91dGdvaW5nLCBzc2xvYmouZG9faGFuZHNoYWtlKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHNzbG9iai5jaXBoZXIoKSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXNOb25lKHNzbG9iai5zaGFyZWRfY2lwaGVycygpKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHNzbG9iai5nZXRwZWVyY2VydCgpKQorICAgICAgICAgICAgaWYgJ3Rscy11bmlxdWUnIGluIHNzbC5DSEFOTkVMX0JJTkRJTkdfVFlQRVM6CisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHNzbG9iai5nZXRfY2hhbm5lbF9iaW5kaW5nKCd0bHMtdW5pcXVlJykpCisgICAgICAgICAgICBzZWxmLnNzbF9pb19sb29wKHNvY2ssIGluY29taW5nLCBvdXRnb2luZywgc3Nsb2JqLnVud3JhcCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKHNzbC5TU0xFcnJvciwgc3Nsb2JqLndyaXRlLCBiJ2ZvbycpCisgICAgICAgICAgICBzb2NrLmNsb3NlKCkKKworICAgIGRlZiB0ZXN0X3JlYWRfd3JpdGVfZGF0YShzZWxmKToKKyAgICAgICAgd2l0aCBzdXBwb3J0LnRyYW5zaWVudF9pbnRlcm5ldCgic3ZuLnB5dGhvbi5vcmciKToKKyAgICAgICAgICAgIHNvY2sgPSBzb2NrZXQuc29ja2V0KHNvY2tldC5BRl9JTkVUKQorICAgICAgICAgICAgc29jay5jb25uZWN0KCgic3ZuLnB5dGhvbi5vcmciLCA0NDMpKQorICAgICAgICAgICAgaW5jb21pbmcgPSBzc2wuTWVtb3J5QklPKCkKKyAgICAgICAgICAgIG91dGdvaW5nID0gc3NsLk1lbW9yeUJJTygpCisgICAgICAgICAgICBjdHggPSBzc2wuU1NMQ29udGV4dChzc2wuUFJPVE9DT0xfU1NMdjIzKQorICAgICAgICAgICAgY3R4LnZlcmlmeV9tb2RlID0gc3NsLkNFUlRfTk9ORQorICAgICAgICAgICAgc3Nsb2JqID0gY3R4LndyYXBfYmlvKGluY29taW5nLCBvdXRnb2luZywgRmFsc2UpCisgICAgICAgICAgICBzZWxmLnNzbF9pb19sb29wKHNvY2ssIGluY29taW5nLCBvdXRnb2luZywgc3Nsb2JqLmRvX2hhbmRzaGFrZSkKKyAgICAgICAgICAgIHJlcSA9IGInR0VUIC8gSFRUUC8xLjBcclxuXHJcbicKKyAgICAgICAgICAgIHNlbGYuc3NsX2lvX2xvb3Aoc29jaywgaW5jb21pbmcsIG91dGdvaW5nLCBzc2xvYmoud3JpdGUsIHJlcSkKKyAgICAgICAgICAgIGJ1ZiA9IHNlbGYuc3NsX2lvX2xvb3Aoc29jaywgaW5jb21pbmcsIG91dGdvaW5nLCBzc2xvYmoucmVhZCwgMTAyNCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYnVmWzo1XSwgYidIVFRQLycpCisgICAgICAgICAgICBzZWxmLnNzbF9pb19sb29wKHNvY2ssIGluY29taW5nLCBvdXRnb2luZywgc3Nsb2JqLnVud3JhcCkKKyAgICAgICAgICAgIHNvY2suY2xvc2UoKQorCisKIHRyeToKICAgICBpbXBvcnQgdGhyZWFkaW5nCiBleGNlcHQgSW1wb3J0RXJyb3I6CkBAIC0xNTMwLDcgKzE3ODUsOCBAQAogICAgICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgICAgICAgc2VsZi5zc2xjb25uID0gc2VsZi5zZXJ2ZXIuY29udGV4dC53cmFwX3NvY2tldCgKICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuc29jaywgc2VydmVyX3NpZGU9VHJ1ZSkKLSAgICAgICAgICAgICAgICAgICAgc2VsZi5zZXJ2ZXIuc2VsZWN0ZWRfcHJvdG9jb2xzLmFwcGVuZChzZWxmLnNzbGNvbm4uc2VsZWN0ZWRfbnBuX3Byb3RvY29sKCkpCisgICAgICAgICAgICAgICAgICAgIHNlbGYuc2VydmVyLnNlbGVjdGVkX25wbl9wcm90b2NvbHMuYXBwZW5kKHNlbGYuc3NsY29ubi5zZWxlY3RlZF9ucG5fcHJvdG9jb2woKSkKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5zZXJ2ZXIuc2VsZWN0ZWRfYWxwbl9wcm90b2NvbHMuYXBwZW5kKHNlbGYuc3NsY29ubi5zZWxlY3RlZF9hbHBuX3Byb3RvY29sKCkpCiAgICAgICAgICAgICAgICAgZXhjZXB0IChzc2wuU1NMRXJyb3IsIENvbm5lY3Rpb25SZXNldEVycm9yKSBhcyBlOgogICAgICAgICAgICAgICAgICAgICAjIFdlIHRyZWF0IENvbm5lY3Rpb25SZXNldEVycm9yIGFzIHRob3VnaCBpdCB3ZXJlIGFuCiAgICAgICAgICAgICAgICAgICAgICMgU1NMRXJyb3IgLSBPcGVuU1NMIG9uIFVidW50dSBhYnJ1cHRseSBjbG9zZXMgdGhlCkBAIC0xNTQ3LDYgKzE4MDMsNyBAQAogICAgICAgICAgICAgICAgICAgICBzZWxmLmNsb3NlKCkKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEZhbHNlCiAgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5zZXJ2ZXIuc2hhcmVkX2NpcGhlcnMuYXBwZW5kKHNlbGYuc3NsY29ubi5zaGFyZWRfY2lwaGVycygpKQogICAgICAgICAgICAgICAgICAgICBpZiBzZWxmLnNlcnZlci5jb250ZXh0LnZlcmlmeV9tb2RlID09IHNzbC5DRVJUX1JFUVVJUkVEOgogICAgICAgICAgICAgICAgICAgICAgICAgY2VydCA9IHNlbGYuc3NsY29ubi5nZXRwZWVyY2VydCgpCiAgICAgICAgICAgICAgICAgICAgICAgICBpZiBzdXBwb3J0LnZlcmJvc2UgYW5kIHNlbGYuc2VydmVyLmNoYXR0eToKQEAgLTE2MzcsNyArMTg5NCw4IEBACiAgICAgICAgIGRlZiBfX2luaXRfXyhzZWxmLCBjZXJ0aWZpY2F0ZT1Ob25lLCBzc2xfdmVyc2lvbj1Ob25lLAogICAgICAgICAgICAgICAgICAgICAgY2VydHJlcXM9Tm9uZSwgY2FjZXJ0cz1Ob25lLAogICAgICAgICAgICAgICAgICAgICAgY2hhdHR5PVRydWUsIGNvbm5lY3Rpb25jaGF0dHk9RmFsc2UsIHN0YXJ0dGxzX3NlcnZlcj1GYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgIG5wbl9wcm90b2NvbHM9Tm9uZSwgY2lwaGVycz1Ob25lLCBjb250ZXh0PU5vbmUpOgorICAgICAgICAgICAgICAgICAgICAgbnBuX3Byb3RvY29scz1Ob25lLCBhbHBuX3Byb3RvY29scz1Ob25lLAorICAgICAgICAgICAgICAgICAgICAgY2lwaGVycz1Ob25lLCBjb250ZXh0PU5vbmUpOgogICAgICAgICAgICAgaWYgY29udGV4dDoKICAgICAgICAgICAgICAgICBzZWxmLmNvbnRleHQgPSBjb250ZXh0CiAgICAgICAgICAgICBlbHNlOgpAQCAtMTY1Miw2ICsxOTEwLDggQEAKICAgICAgICAgICAgICAgICAgICAgc2VsZi5jb250ZXh0LmxvYWRfY2VydF9jaGFpbihjZXJ0aWZpY2F0ZSkKICAgICAgICAgICAgICAgICBpZiBucG5fcHJvdG9jb2xzOgogICAgICAgICAgICAgICAgICAgICBzZWxmLmNvbnRleHQuc2V0X25wbl9wcm90b2NvbHMobnBuX3Byb3RvY29scykKKyAgICAgICAgICAgICAgICBpZiBhbHBuX3Byb3RvY29sczoKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5jb250ZXh0LnNldF9hbHBuX3Byb3RvY29scyhhbHBuX3Byb3RvY29scykKICAgICAgICAgICAgICAgICBpZiBjaXBoZXJzOgogICAgICAgICAgICAgICAgICAgICBzZWxmLmNvbnRleHQuc2V0X2NpcGhlcnMoY2lwaGVycykKICAgICAgICAgICAgIHNlbGYuY2hhdHR5ID0gY2hhdHR5CkBAIC0xNjYxLDcgKzE5MjEsOSBAQAogICAgICAgICAgICAgc2VsZi5wb3J0ID0gc3VwcG9ydC5iaW5kX3BvcnQoc2VsZi5zb2NrKQogICAgICAgICAgICAgc2VsZi5mbGFnID0gTm9uZQogICAgICAgICAgICAgc2VsZi5hY3RpdmUgPSBGYWxzZQotICAgICAgICAgICAgc2VsZi5zZWxlY3RlZF9wcm90b2NvbHMgPSBbXQorICAgICAgICAgICAgc2VsZi5zZWxlY3RlZF9ucG5fcHJvdG9jb2xzID0gW10KKyAgICAgICAgICAgIHNlbGYuc2VsZWN0ZWRfYWxwbl9wcm90b2NvbHMgPSBbXQorICAgICAgICAgICAgc2VsZi5zaGFyZWRfY2lwaGVycyA9IFtdCiAgICAgICAgICAgICBzZWxmLmNvbm5fZXJyb3JzID0gW10KICAgICAgICAgICAgIHRocmVhZGluZy5UaHJlYWQuX19pbml0X18oc2VsZikKICAgICAgICAgICAgIHNlbGYuZGFlbW9uID0gVHJ1ZQpAQCAtMTY4MSw3ICsxOTQzLDcgQEAKIAogICAgICAgICBkZWYgcnVuKHNlbGYpOgogICAgICAgICAgICAgc2VsZi5zb2NrLnNldHRpbWVvdXQoMC4wNSkKLSAgICAgICAgICAgIHNlbGYuc29jay5saXN0ZW4oNSkKKyAgICAgICAgICAgIHNlbGYuc29jay5saXN0ZW4oKQogICAgICAgICAgICAgc2VsZi5hY3RpdmUgPSBUcnVlCiAgICAgICAgICAgICBpZiBzZWxmLmZsYWc6CiAgICAgICAgICAgICAgICAgIyBzaWduYWwgYW4gZXZlbnQKQEAgLTE4ODcsMTQgKzIxNDksMjUgQEAKICAgICAgICAgICAgICAgICAgICAgJ2NvbXByZXNzaW9uJzogcy5jb21wcmVzc2lvbigpLAogICAgICAgICAgICAgICAgICAgICAnY2lwaGVyJzogcy5jaXBoZXIoKSwKICAgICAgICAgICAgICAgICAgICAgJ3BlZXJjZXJ0Jzogcy5nZXRwZWVyY2VydCgpLAotICAgICAgICAgICAgICAgICAgICAnY2xpZW50X25wbl9wcm90b2NvbCc6IHMuc2VsZWN0ZWRfbnBuX3Byb3RvY29sKCkKKyAgICAgICAgICAgICAgICAgICAgJ2NsaWVudF9hbHBuX3Byb3RvY29sJzogcy5zZWxlY3RlZF9hbHBuX3Byb3RvY29sKCksCisgICAgICAgICAgICAgICAgICAgICdjbGllbnRfbnBuX3Byb3RvY29sJzogcy5zZWxlY3RlZF9ucG5fcHJvdG9jb2woKSwKKyAgICAgICAgICAgICAgICAgICAgJ3ZlcnNpb24nOiBzLnZlcnNpb24oKSwKICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgIHMuY2xvc2UoKQotICAgICAgICAgICAgc3RhdHNbJ3NlcnZlcl9ucG5fcHJvdG9jb2xzJ10gPSBzZXJ2ZXIuc2VsZWN0ZWRfcHJvdG9jb2xzCisgICAgICAgICAgICBzdGF0c1snc2VydmVyX2FscG5fcHJvdG9jb2xzJ10gPSBzZXJ2ZXIuc2VsZWN0ZWRfYWxwbl9wcm90b2NvbHMKKyAgICAgICAgICAgIHN0YXRzWydzZXJ2ZXJfbnBuX3Byb3RvY29scyddID0gc2VydmVyLnNlbGVjdGVkX25wbl9wcm90b2NvbHMKKyAgICAgICAgICAgIHN0YXRzWydzZXJ2ZXJfc2hhcmVkX2NpcGhlcnMnXSA9IHNlcnZlci5zaGFyZWRfY2lwaGVycwogICAgICAgICByZXR1cm4gc3RhdHMKIAogICAgIGRlZiB0cnlfcHJvdG9jb2xfY29tYm8oc2VydmVyX3Byb3RvY29sLCBjbGllbnRfcHJvdG9jb2wsIGV4cGVjdF9zdWNjZXNzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2VydHNyZXFzPU5vbmUsIHNlcnZlcl9vcHRpb25zPTAsIGNsaWVudF9vcHRpb25zPTApOgorICAgICAgICAiIiIKKyAgICAgICAgVHJ5IHRvIFNTTC1jb25uZWN0IHVzaW5nICpjbGllbnRfcHJvdG9jb2wqIHRvICpzZXJ2ZXJfcHJvdG9jb2wqLgorICAgICAgICBJZiAqZXhwZWN0X3N1Y2Nlc3MqIGlzIHRydWUsIGFzc2VydCB0aGF0IHRoZSBjb25uZWN0aW9uIHN1Y2NlZWRzLAorICAgICAgICBpZiBpdCdzIGZhbHNlLCBhc3NlcnQgdGhhdCB0aGUgY29ubmVjdGlvbiBmYWlscy4KKyAgICAgICAgQWxzbywgaWYgKmV4cGVjdF9zdWNjZXNzKiBpcyBhIHN0cmluZywgYXNzZXJ0IHRoYXQgaXQgaXMgdGhlIHByb3RvY29sCisgICAgICAgIHZlcnNpb24gYWN0dWFsbHkgdXNlZCBieSB0aGUgY29ubmVjdGlvbi4KKyAgICAgICAgIiIiCiAgICAgICAgIGlmIGNlcnRzcmVxcyBpcyBOb25lOgogICAgICAgICAgICAgY2VydHNyZXFzID0gc3NsLkNFUlRfTk9ORQogICAgICAgICBjZXJ0dHlwZSA9IHsKQEAgLTE5MjQsOCArMjE5Nyw4IEBACiAgICAgICAgICAgICBjdHgubG9hZF9jZXJ0X2NoYWluKENFUlRGSUxFKQogICAgICAgICAgICAgY3R4LmxvYWRfdmVyaWZ5X2xvY2F0aW9ucyhDRVJURklMRSkKICAgICAgICAgdHJ5OgotICAgICAgICAgICAgc2VydmVyX3BhcmFtc190ZXN0KGNsaWVudF9jb250ZXh0LCBzZXJ2ZXJfY29udGV4dCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGF0dHk9RmFsc2UsIGNvbm5lY3Rpb25jaGF0dHk9RmFsc2UpCisgICAgICAgICAgICBzdGF0cyA9IHNlcnZlcl9wYXJhbXNfdGVzdChjbGllbnRfY29udGV4dCwgc2VydmVyX2NvbnRleHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGF0dHk9RmFsc2UsIGNvbm5lY3Rpb25jaGF0dHk9RmFsc2UpCiAgICAgICAgICMgUHJvdG9jb2wgbWlzbWF0Y2ggY2FuIHJlc3VsdCBpbiBlaXRoZXIgYW4gU1NMRXJyb3IsIG9yIGEKICAgICAgICAgIyAiQ29ubmVjdGlvbiByZXNldCBieSBwZWVyIiBlcnJvci4KICAgICAgICAgZXhjZXB0IHNzbC5TU0xFcnJvcjoKQEAgLTE5NDAsNiArMjIxMywxMCBAQAogICAgICAgICAgICAgICAgICAgICAiQ2xpZW50IHByb3RvY29sICVzIHN1Y2NlZWRlZCB3aXRoIHNlcnZlciBwcm90b2NvbCAlcyEiCiAgICAgICAgICAgICAgICAgICAgICUgKHNzbC5nZXRfcHJvdG9jb2xfbmFtZShjbGllbnRfcHJvdG9jb2wpLAogICAgICAgICAgICAgICAgICAgICAgICBzc2wuZ2V0X3Byb3RvY29sX25hbWUoc2VydmVyX3Byb3RvY29sKSkpCisgICAgICAgICAgICBlbGlmIChleHBlY3Rfc3VjY2VzcyBpcyBub3QgVHJ1ZQorICAgICAgICAgICAgICAgICAgYW5kIGV4cGVjdF9zdWNjZXNzICE9IHN0YXRzWyd2ZXJzaW9uJ10pOgorICAgICAgICAgICAgICAgIHJhaXNlIEFzc2VydGlvbkVycm9yKCJ2ZXJzaW9uIG1pc21hdGNoOiBleHBlY3RlZCAlciwgZ290ICVyIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICUgKGV4cGVjdF9zdWNjZXNzLCBzdGF0c1sndmVyc2lvbiddKSkKIAogCiAgICAgY2xhc3MgVGhyZWFkZWRUZXN0cyh1bml0dGVzdC5UZXN0Q2FzZSk6CkBAIC0yMTA2LDcgKzIzODMsNyBAQAogICAgICAgICAgICAgIyBhbmQgc2V0cyBFdmVudCBgbGlzdGVuZXJfZ29uZWAgdG8gbGV0IHRoZSBtYWluIHRocmVhZCBrbm93CiAgICAgICAgICAgICAjIHRoZSBzb2NrZXQgaXMgZ29uZS4KICAgICAgICAgICAgIGRlZiBsaXN0ZW5lcigpOgotICAgICAgICAgICAgICAgIHMubGlzdGVuKDUpCisgICAgICAgICAgICAgICAgcy5saXN0ZW4oKQogICAgICAgICAgICAgICAgIGxpc3RlbmVyX3JlYWR5LnNldCgpCiAgICAgICAgICAgICAgICAgbmV3c29jaywgYWRkciA9IHMuYWNjZXB0KCkKICAgICAgICAgICAgICAgICBuZXdzb2NrLmNsb3NlKCkKQEAgLTIxNzEsMTkgKzI0NDgsMTkgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiIFNTTDIgY2xpZW50IHRvIFNTTDIzIHNlcnZlciB0ZXN0IHVuZXhwZWN0ZWRseSBmYWlsZWQ6XG4gJXNcbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAlIHN0cih4KSkKICAgICAgICAgICAgIGlmIGhhc2F0dHIoc3NsLCAnUFJPVE9DT0xfU1NMdjMnKToKLSAgICAgICAgICAgICAgICB0cnlfcHJvdG9jb2xfY29tYm8oc3NsLlBST1RPQ09MX1NTTHYyMywgc3NsLlBST1RPQ09MX1NTTHYzLCBUcnVlKQorICAgICAgICAgICAgICAgIHRyeV9wcm90b2NvbF9jb21ibyhzc2wuUFJPVE9DT0xfU1NMdjIzLCBzc2wuUFJPVE9DT0xfU1NMdjMsICdTU0x2MycpCiAgICAgICAgICAgICB0cnlfcHJvdG9jb2xfY29tYm8oc3NsLlBST1RPQ09MX1NTTHYyMywgc3NsLlBST1RPQ09MX1NTTHYyMywgVHJ1ZSkKLSAgICAgICAgICAgIHRyeV9wcm90b2NvbF9jb21ibyhzc2wuUFJPVE9DT0xfU1NMdjIzLCBzc2wuUFJPVE9DT0xfVExTdjEsIFRydWUpCisgICAgICAgICAgICB0cnlfcHJvdG9jb2xfY29tYm8oc3NsLlBST1RPQ09MX1NTTHYyMywgc3NsLlBST1RPQ09MX1RMU3YxLCAnVExTdjEnKQogCiAgICAgICAgICAgICBpZiBoYXNhdHRyKHNzbCwgJ1BST1RPQ09MX1NTTHYzJyk6Ci0gICAgICAgICAgICAgICAgdHJ5X3Byb3RvY29sX2NvbWJvKHNzbC5QUk9UT0NPTF9TU0x2MjMsIHNzbC5QUk9UT0NPTF9TU0x2MywgVHJ1ZSwgc3NsLkNFUlRfT1BUSU9OQUwpCisgICAgICAgICAgICAgICAgdHJ5X3Byb3RvY29sX2NvbWJvKHNzbC5QUk9UT0NPTF9TU0x2MjMsIHNzbC5QUk9UT0NPTF9TU0x2MywgJ1NTTHYzJywgc3NsLkNFUlRfT1BUSU9OQUwpCiAgICAgICAgICAgICB0cnlfcHJvdG9jb2xfY29tYm8oc3NsLlBST1RPQ09MX1NTTHYyMywgc3NsLlBST1RPQ09MX1NTTHYyMywgVHJ1ZSwgc3NsLkNFUlRfT1BUSU9OQUwpCi0gICAgICAgICAgICB0cnlfcHJvdG9jb2xfY29tYm8oc3NsLlBST1RPQ09MX1NTTHYyMywgc3NsLlBST1RPQ09MX1RMU3YxLCBUcnVlLCBzc2wuQ0VSVF9PUFRJT05BTCkKKyAgICAgICAgICAgIHRyeV9wcm90b2NvbF9jb21ibyhzc2wuUFJPVE9DT0xfU1NMdjIzLCBzc2wuUFJPVE9DT0xfVExTdjEsICdUTFN2MScsIHNzbC5DRVJUX09QVElPTkFMKQogCiAgICAgICAgICAgICBpZiBoYXNhdHRyKHNzbCwgJ1BST1RPQ09MX1NTTHYzJyk6Ci0gICAgICAgICAgICAgICAgdHJ5X3Byb3RvY29sX2NvbWJvKHNzbC5QUk9UT0NPTF9TU0x2MjMsIHNzbC5QUk9UT0NPTF9TU0x2MywgVHJ1ZSwgc3NsLkNFUlRfUkVRVUlSRUQpCisgICAgICAgICAgICAgICAgdHJ5X3Byb3RvY29sX2NvbWJvKHNzbC5QUk9UT0NPTF9TU0x2MjMsIHNzbC5QUk9UT0NPTF9TU0x2MywgJ1NTTHYzJywgc3NsLkNFUlRfUkVRVUlSRUQpCiAgICAgICAgICAgICB0cnlfcHJvdG9jb2xfY29tYm8oc3NsLlBST1RPQ09MX1NTTHYyMywgc3NsLlBST1RPQ09MX1NTTHYyMywgVHJ1ZSwgc3NsLkNFUlRfUkVRVUlSRUQpCi0gICAgICAgICAgICB0cnlfcHJvdG9jb2xfY29tYm8oc3NsLlBST1RPQ09MX1NTTHYyMywgc3NsLlBST1RPQ09MX1RMU3YxLCBUcnVlLCBzc2wuQ0VSVF9SRVFVSVJFRCkKKyAgICAgICAgICAgIHRyeV9wcm90b2NvbF9jb21ibyhzc2wuUFJPVE9DT0xfU1NMdjIzLCBzc2wuUFJPVE9DT0xfVExTdjEsICdUTFN2MScsIHNzbC5DRVJUX1JFUVVJUkVEKQogCiAgICAgICAgICAgICAjIFNlcnZlciB3aXRoIHNwZWNpZmljIFNTTCBvcHRpb25zCiAgICAgICAgICAgICBpZiBoYXNhdHRyKHNzbCwgJ1BST1RPQ09MX1NTTHYzJyk6CkBAIC0yMjAzLDkgKzI0ODAsOSBAQAogICAgICAgICAgICAgIiIiQ29ubmVjdGluZyB0byBhbiBTU0x2MyBzZXJ2ZXIgd2l0aCB2YXJpb3VzIGNsaWVudCBvcHRpb25zIiIiCiAgICAgICAgICAgICBpZiBzdXBwb3J0LnZlcmJvc2U6CiAgICAgICAgICAgICAgICAgc3lzLnN0ZG91dC53cml0ZSgiXG4iKQotICAgICAgICAgICAgdHJ5X3Byb3RvY29sX2NvbWJvKHNzbC5QUk9UT0NPTF9TU0x2Mywgc3NsLlBST1RPQ09MX1NTTHYzLCBUcnVlKQotICAgICAgICAgICAgdHJ5X3Byb3RvY29sX2NvbWJvKHNzbC5QUk9UT0NPTF9TU0x2Mywgc3NsLlBST1RPQ09MX1NTTHYzLCBUcnVlLCBzc2wuQ0VSVF9PUFRJT05BTCkKLSAgICAgICAgICAgIHRyeV9wcm90b2NvbF9jb21ibyhzc2wuUFJPVE9DT0xfU1NMdjMsIHNzbC5QUk9UT0NPTF9TU0x2MywgVHJ1ZSwgc3NsLkNFUlRfUkVRVUlSRUQpCisgICAgICAgICAgICB0cnlfcHJvdG9jb2xfY29tYm8oc3NsLlBST1RPQ09MX1NTTHYzLCBzc2wuUFJPVE9DT0xfU1NMdjMsICdTU0x2MycpCisgICAgICAgICAgICB0cnlfcHJvdG9jb2xfY29tYm8oc3NsLlBST1RPQ09MX1NTTHYzLCBzc2wuUFJPVE9DT0xfU1NMdjMsICdTU0x2MycsIHNzbC5DRVJUX09QVElPTkFMKQorICAgICAgICAgICAgdHJ5X3Byb3RvY29sX2NvbWJvKHNzbC5QUk9UT0NPTF9TU0x2Mywgc3NsLlBST1RPQ09MX1NTTHYzLCAnU1NMdjMnLCBzc2wuQ0VSVF9SRVFVSVJFRCkKICAgICAgICAgICAgIGlmIGhhc2F0dHIoc3NsLCAnUFJPVE9DT0xfU1NMdjInKToKICAgICAgICAgICAgICAgICB0cnlfcHJvdG9jb2xfY29tYm8oc3NsLlBST1RPQ09MX1NTTHYzLCBzc2wuUFJPVE9DT0xfU1NMdjIsIEZhbHNlKQogICAgICAgICAgICAgdHJ5X3Byb3RvY29sX2NvbWJvKHNzbC5QUk9UT0NPTF9TU0x2Mywgc3NsLlBST1RPQ09MX1NTTHYyMywgRmFsc2UsCkBAIC0yMjEzLDcgKzI0OTAsNyBAQAogICAgICAgICAgICAgdHJ5X3Byb3RvY29sX2NvbWJvKHNzbC5QUk9UT0NPTF9TU0x2Mywgc3NsLlBST1RPQ09MX1RMU3YxLCBGYWxzZSkKICAgICAgICAgICAgIGlmIG5vX3NzbHYyX2ltcGxpZXNfc3NsdjNfaGVsbG8oKToKICAgICAgICAgICAgICAgICAjIE5vIFNTTHYyID0+IGNsaWVudCB3aWxsIHVzZSBhbiBTU0x2MyBoZWxsbyBvbiByZWNlbnQgT3BlblNTTHMKLSAgICAgICAgICAgICAgICB0cnlfcHJvdG9jb2xfY29tYm8oc3NsLlBST1RPQ09MX1NTTHYzLCBzc2wuUFJPVE9DT0xfU1NMdjIzLCBUcnVlLAorICAgICAgICAgICAgICAgIHRyeV9wcm90b2NvbF9jb21ibyhzc2wuUFJPVE9DT0xfU1NMdjMsIHNzbC5QUk9UT0NPTF9TU0x2MjMsICdTU0x2MycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsaWVudF9vcHRpb25zPXNzbC5PUF9OT19TU0x2MikKIAogICAgICAgICBAc2tpcF9pZl9icm9rZW5fdWJ1bnR1X3NzbApAQCAtMjIyMSw5ICsyNDk4LDkgQEAKICAgICAgICAgICAgICIiIkNvbm5lY3RpbmcgdG8gYSBUTFN2MSBzZXJ2ZXIgd2l0aCB2YXJpb3VzIGNsaWVudCBvcHRpb25zIiIiCiAgICAgICAgICAgICBpZiBzdXBwb3J0LnZlcmJvc2U6CiAgICAgICAgICAgICAgICAgc3lzLnN0ZG91dC53cml0ZSgiXG4iKQotICAgICAgICAgICAgdHJ5X3Byb3RvY29sX2NvbWJvKHNzbC5QUk9UT0NPTF9UTFN2MSwgc3NsLlBST1RPQ09MX1RMU3YxLCBUcnVlKQotICAgICAgICAgICAgdHJ5X3Byb3RvY29sX2NvbWJvKHNzbC5QUk9UT0NPTF9UTFN2MSwgc3NsLlBST1RPQ09MX1RMU3YxLCBUcnVlLCBzc2wuQ0VSVF9PUFRJT05BTCkKLSAgICAgICAgICAgIHRyeV9wcm90b2NvbF9jb21ibyhzc2wuUFJPVE9DT0xfVExTdjEsIHNzbC5QUk9UT0NPTF9UTFN2MSwgVHJ1ZSwgc3NsLkNFUlRfUkVRVUlSRUQpCisgICAgICAgICAgICB0cnlfcHJvdG9jb2xfY29tYm8oc3NsLlBST1RPQ09MX1RMU3YxLCBzc2wuUFJPVE9DT0xfVExTdjEsICdUTFN2MScpCisgICAgICAgICAgICB0cnlfcHJvdG9jb2xfY29tYm8oc3NsLlBST1RPQ09MX1RMU3YxLCBzc2wuUFJPVE9DT0xfVExTdjEsICdUTFN2MScsIHNzbC5DRVJUX09QVElPTkFMKQorICAgICAgICAgICAgdHJ5X3Byb3RvY29sX2NvbWJvKHNzbC5QUk9UT0NPTF9UTFN2MSwgc3NsLlBST1RPQ09MX1RMU3YxLCAnVExTdjEnLCBzc2wuQ0VSVF9SRVFVSVJFRCkKICAgICAgICAgICAgIGlmIGhhc2F0dHIoc3NsLCAnUFJPVE9DT0xfU1NMdjInKToKICAgICAgICAgICAgICAgICB0cnlfcHJvdG9jb2xfY29tYm8oc3NsLlBST1RPQ09MX1RMU3YxLCBzc2wuUFJPVE9DT0xfU1NMdjIsIEZhbHNlKQogICAgICAgICAgICAgaWYgaGFzYXR0cihzc2wsICdQUk9UT0NPTF9TU0x2MycpOgpAQCAtMjIzOSw3ICsyNTE2LDcgQEAKICAgICAgICAgICAgICAgIFRlc3RpbmcgYWdhaW5zdCBvbGRlciBUTFMgdmVyc2lvbnMuIiIiCiAgICAgICAgICAgICBpZiBzdXBwb3J0LnZlcmJvc2U6CiAgICAgICAgICAgICAgICAgc3lzLnN0ZG91dC53cml0ZSgiXG4iKQotICAgICAgICAgICAgdHJ5X3Byb3RvY29sX2NvbWJvKHNzbC5QUk9UT0NPTF9UTFN2MV8xLCBzc2wuUFJPVE9DT0xfVExTdjFfMSwgVHJ1ZSkKKyAgICAgICAgICAgIHRyeV9wcm90b2NvbF9jb21ibyhzc2wuUFJPVE9DT0xfVExTdjFfMSwgc3NsLlBST1RPQ09MX1RMU3YxXzEsICdUTFN2MS4xJykKICAgICAgICAgICAgIGlmIGhhc2F0dHIoc3NsLCAnUFJPVE9DT0xfU1NMdjInKToKICAgICAgICAgICAgICAgICB0cnlfcHJvdG9jb2xfY29tYm8oc3NsLlBST1RPQ09MX1RMU3YxXzEsIHNzbC5QUk9UT0NPTF9TU0x2MiwgRmFsc2UpCiAgICAgICAgICAgICBpZiBoYXNhdHRyKHNzbCwgJ1BST1RPQ09MX1NTTHYzJyk6CkBAIC0yMjQ3LDcgKzI1MjQsNyBAQAogICAgICAgICAgICAgdHJ5X3Byb3RvY29sX2NvbWJvKHNzbC5QUk9UT0NPTF9UTFN2MV8xLCBzc2wuUFJPVE9DT0xfU1NMdjIzLCBGYWxzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGllbnRfb3B0aW9ucz1zc2wuT1BfTk9fVExTdjFfMSkKIAotICAgICAgICAgICAgdHJ5X3Byb3RvY29sX2NvbWJvKHNzbC5QUk9UT0NPTF9TU0x2MjMsIHNzbC5QUk9UT0NPTF9UTFN2MV8xLCBUcnVlKQorICAgICAgICAgICAgdHJ5X3Byb3RvY29sX2NvbWJvKHNzbC5QUk9UT0NPTF9TU0x2MjMsIHNzbC5QUk9UT0NPTF9UTFN2MV8xLCAnVExTdjEuMScpCiAgICAgICAgICAgICB0cnlfcHJvdG9jb2xfY29tYm8oc3NsLlBST1RPQ09MX1RMU3YxXzEsIHNzbC5QUk9UT0NPTF9UTFN2MSwgRmFsc2UpCiAgICAgICAgICAgICB0cnlfcHJvdG9jb2xfY29tYm8oc3NsLlBST1RPQ09MX1RMU3YxLCBzc2wuUFJPVE9DT0xfVExTdjFfMSwgRmFsc2UpCiAKQEAgLTIyNjAsNyArMjUzNyw3IEBACiAgICAgICAgICAgICAgICBUZXN0aW5nIGFnYWluc3Qgb2xkZXIgVExTIHZlcnNpb25zLiIiIgogICAgICAgICAgICAgaWYgc3VwcG9ydC52ZXJib3NlOgogICAgICAgICAgICAgICAgIHN5cy5zdGRvdXQud3JpdGUoIlxuIikKLSAgICAgICAgICAgIHRyeV9wcm90b2NvbF9jb21ibyhzc2wuUFJPVE9DT0xfVExTdjFfMiwgc3NsLlBST1RPQ09MX1RMU3YxXzIsIFRydWUsCisgICAgICAgICAgICB0cnlfcHJvdG9jb2xfY29tYm8oc3NsLlBST1RPQ09MX1RMU3YxXzIsIHNzbC5QUk9UT0NPTF9UTFN2MV8yLCAnVExTdjEuMicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VydmVyX29wdGlvbnM9c3NsLk9QX05PX1NTTHYzfHNzbC5PUF9OT19TU0x2MiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGllbnRfb3B0aW9ucz1zc2wuT1BfTk9fU1NMdjN8c3NsLk9QX05PX1NTTHYyLCkKICAgICAgICAgICAgIGlmIGhhc2F0dHIoc3NsLCAnUFJPVE9DT0xfU1NMdjInKToKQEAgLTIyNzAsNyArMjU0Nyw3IEBACiAgICAgICAgICAgICB0cnlfcHJvdG9jb2xfY29tYm8oc3NsLlBST1RPQ09MX1RMU3YxXzIsIHNzbC5QUk9UT0NPTF9TU0x2MjMsIEZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsaWVudF9vcHRpb25zPXNzbC5PUF9OT19UTFN2MV8yKQogCi0gICAgICAgICAgICB0cnlfcHJvdG9jb2xfY29tYm8oc3NsLlBST1RPQ09MX1NTTHYyMywgc3NsLlBST1RPQ09MX1RMU3YxXzIsIFRydWUpCisgICAgICAgICAgICB0cnlfcHJvdG9jb2xfY29tYm8oc3NsLlBST1RPQ09MX1NTTHYyMywgc3NsLlBST1RPQ09MX1RMU3YxXzIsICdUTFN2MS4yJykKICAgICAgICAgICAgIHRyeV9wcm90b2NvbF9jb21ibyhzc2wuUFJPVE9DT0xfVExTdjFfMiwgc3NsLlBST1RPQ09MX1RMU3YxLCBGYWxzZSkKICAgICAgICAgICAgIHRyeV9wcm90b2NvbF9jb21ibyhzc2wuUFJPVE9DT0xfVExTdjEsIHNzbC5QUk9UT0NPTF9UTFN2MV8yLCBGYWxzZSkKICAgICAgICAgICAgIHRyeV9wcm90b2NvbF9jb21ibyhzc2wuUFJPVE9DT0xfVExTdjFfMiwgc3NsLlBST1RPQ09MX1RMU3YxXzEsIEZhbHNlKQpAQCAtMjUwNiw2ICsyNzgzLDM2IEBACiAgICAgICAgICAgICAgICAgcy53cml0ZShiIm92ZXJcbiIpCiAgICAgICAgICAgICAgICAgcy5jbG9zZSgpCiAKKyAgICAgICAgZGVmIHRlc3Rfbm9uYmxvY2tpbmdfc2VuZChzZWxmKToKKyAgICAgICAgICAgIHNlcnZlciA9IFRocmVhZGVkRWNob1NlcnZlcihDRVJURklMRSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjZXJ0cmVxcz1zc2wuQ0VSVF9OT05FLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNzbF92ZXJzaW9uPXNzbC5QUk9UT0NPTF9UTFN2MSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYWNlcnRzPUNFUlRGSUxFLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYXR0eT1UcnVlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbm5lY3Rpb25jaGF0dHk9RmFsc2UpCisgICAgICAgICAgICB3aXRoIHNlcnZlcjoKKyAgICAgICAgICAgICAgICBzID0gc3NsLndyYXBfc29ja2V0KHNvY2tldC5zb2NrZXQoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlcnZlcl9zaWRlPUZhbHNlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2VydGZpbGU9Q0VSVEZJTEUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYV9jZXJ0cz1DRVJURklMRSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNlcnRfcmVxcz1zc2wuQ0VSVF9OT05FLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3NsX3ZlcnNpb249c3NsLlBST1RPQ09MX1RMU3YxKQorICAgICAgICAgICAgICAgIHMuY29ubmVjdCgoSE9TVCwgc2VydmVyLnBvcnQpKQorICAgICAgICAgICAgICAgIHMuc2V0YmxvY2tpbmcoRmFsc2UpCisKKyAgICAgICAgICAgICAgICAjIElmIHdlIGtlZXAgc2VuZGluZyBkYXRhLCBhdCBzb21lIHBvaW50IHRoZSBidWZmZXJzCisgICAgICAgICAgICAgICAgIyB3aWxsIGJlIGZ1bGwgYW5kIHRoZSBjYWxsIHdpbGwgYmxvY2sKKyAgICAgICAgICAgICAgICBidWYgPSBieXRlYXJyYXkoODE5MikKKyAgICAgICAgICAgICAgICBkZWYgZmlsbF9idWZmZXIoKToKKyAgICAgICAgICAgICAgICAgICAgd2hpbGUgVHJ1ZToKKyAgICAgICAgICAgICAgICAgICAgICAgIHMuc2VuZChidWYpCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoKHNzbC5TU0xXYW50V3JpdGVFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3NsLlNTTFdhbnRSZWFkRXJyb3IpLCBmaWxsX2J1ZmZlcikKKworICAgICAgICAgICAgICAgICMgTm93IHJlYWQgYWxsIHRoZSBvdXRwdXQgYW5kIGRpc2NhcmQgaXQKKyAgICAgICAgICAgICAgICBzLnNldGJsb2NraW5nKFRydWUpCisgICAgICAgICAgICAgICAgcy5jbG9zZSgpCisKICAgICAgICAgZGVmIHRlc3RfaGFuZHNoYWtlX3RpbWVvdXQoc2VsZik6CiAgICAgICAgICAgICAjIElzc3VlICM1MTAzOiBTU0wgaGFuZHNoYWtlIG11c3QgcmVzcGVjdCB0aGUgc29ja2V0IHRpbWVvdXQKICAgICAgICAgICAgIHNlcnZlciA9IHNvY2tldC5zb2NrZXQoc29ja2V0LkFGX0lORVQpCkBAIC0yNTE1LDcgKzI4MjIsNyBAQAogICAgICAgICAgICAgZmluaXNoID0gRmFsc2UKIAogICAgICAgICAgICAgZGVmIHNlcnZlKCk6Ci0gICAgICAgICAgICAgICAgc2VydmVyLmxpc3Rlbig1KQorICAgICAgICAgICAgICAgIHNlcnZlci5saXN0ZW4oKQogICAgICAgICAgICAgICAgIHN0YXJ0ZWQuc2V0KCkKICAgICAgICAgICAgICAgICBjb25ucyA9IFtdCiAgICAgICAgICAgICAgICAgd2hpbGUgbm90IGZpbmlzaDoKQEAgLTI1NzIsNyArMjg3OSw3IEBACiAgICAgICAgICAgICBwZWVyID0gTm9uZQogICAgICAgICAgICAgZGVmIHNlcnZlKCk6CiAgICAgICAgICAgICAgICAgbm9ubG9jYWwgcmVtb3RlLCBwZWVyCi0gICAgICAgICAgICAgICAgc2VydmVyLmxpc3Rlbig1KQorICAgICAgICAgICAgICAgIHNlcnZlci5saXN0ZW4oKQogICAgICAgICAgICAgICAgICMgQmxvY2sgb24gdGhlIGFjY2VwdCBhbmQgd2FpdCBvbiB0aGUgY29ubmVjdGlvbiB0byBjbG9zZS4KICAgICAgICAgICAgICAgICBldnQuc2V0KCkKICAgICAgICAgICAgICAgICByZW1vdGUsIHBlZXIgPSBzZXJ2ZXIuYWNjZXB0KCkKQEAgLTI2MjIsNiArMjkyOSwyMSBAQAogICAgICAgICAgICAgICAgICAgICAgICAgcy5jb25uZWN0KChIT1NULCBzZXJ2ZXIucG9ydCkpCiAgICAgICAgICAgICBzZWxmLmFzc2VydEluKCJubyBzaGFyZWQgY2lwaGVyIiwgc3RyKHNlcnZlci5jb25uX2Vycm9yc1swXSkpCiAKKyAgICAgICAgZGVmIHRlc3RfdmVyc2lvbl9iYXNpYyhzZWxmKToKKyAgICAgICAgICAgICIiIgorICAgICAgICAgICAgQmFzaWMgdGVzdHMgZm9yIFNTTFNvY2tldC52ZXJzaW9uKCkuCisgICAgICAgICAgICBNb3JlIHRlc3RzIGFyZSBkb25lIGluIHRoZSB0ZXN0X3Byb3RvY29sXyooKSBtZXRob2RzLgorICAgICAgICAgICAgIiIiCisgICAgICAgICAgICBjb250ZXh0ID0gc3NsLlNTTENvbnRleHQoc3NsLlBST1RPQ09MX1RMU3YxKQorICAgICAgICAgICAgd2l0aCBUaHJlYWRlZEVjaG9TZXJ2ZXIoQ0VSVEZJTEUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzc2xfdmVyc2lvbj1zc2wuUFJPVE9DT0xfVExTdjEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGF0dHk9RmFsc2UpIGFzIHNlcnZlcjoKKyAgICAgICAgICAgICAgICB3aXRoIGNvbnRleHQud3JhcF9zb2NrZXQoc29ja2V0LnNvY2tldCgpKSBhcyBzOgorICAgICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydElzKHMudmVyc2lvbigpLCBOb25lKQorICAgICAgICAgICAgICAgICAgICBzLmNvbm5lY3QoKEhPU1QsIHNlcnZlci5wb3J0KSkKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzLnZlcnNpb24oKSwgIlRMU3YxIikKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydElzKHMudmVyc2lvbigpLCBOb25lKQorCiAgICAgICAgIEB1bml0dGVzdC5za2lwVW5sZXNzKHNzbC5IQVNfRUNESCwgInRlc3QgcmVxdWlyZXMgRUNESC1lbmFibGVkIE9wZW5TU0wiKQogICAgICAgICBkZWYgdGVzdF9kZWZhdWx0X2VjZGhfY3VydmUoc2VsZik6CiAgICAgICAgICAgICAjIElzc3VlICMyMTAxNTogZWxsaXB0aWMgY3VydmUtYmFzZWQgRGlmZmllIEhlbGxtYW4ga2V5IGV4Y2hhbmdlCkBAIC0yNzMxLDYgKzMwNTMsNTUgQEAKICAgICAgICAgICAgIGlmICJBREgiIG5vdCBpbiBwYXJ0cyBhbmQgIkVESCIgbm90IGluIHBhcnRzIGFuZCAiREhFIiBub3QgaW4gcGFydHM6CiAgICAgICAgICAgICAgICAgc2VsZi5mYWlsKCJOb24tREggY2lwaGVyOiAiICsgY2lwaGVyWzBdKQogCisgICAgICAgIGRlZiB0ZXN0X3NlbGVjdGVkX2FscG5fcHJvdG9jb2woc2VsZik6CisgICAgICAgICAgICAjIHNlbGVjdGVkX2FscG5fcHJvdG9jb2woKSBpcyBOb25lIHVubGVzcyBBTFBOIGlzIHVzZWQuCisgICAgICAgICAgICBjb250ZXh0ID0gc3NsLlNTTENvbnRleHQoc3NsLlBST1RPQ09MX1RMU3YxKQorICAgICAgICAgICAgY29udGV4dC5sb2FkX2NlcnRfY2hhaW4oQ0VSVEZJTEUpCisgICAgICAgICAgICBzdGF0cyA9IHNlcnZlcl9wYXJhbXNfdGVzdChjb250ZXh0LCBjb250ZXh0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhdHR5PVRydWUsIGNvbm5lY3Rpb25jaGF0dHk9VHJ1ZSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXMoc3RhdHNbJ2NsaWVudF9hbHBuX3Byb3RvY29sJ10sIE5vbmUpCisKKyAgICAgICAgQHVuaXR0ZXN0LnNraXBVbmxlc3Moc3NsLkhBU19BTFBOLCAiQUxQTiBzdXBwb3J0IHJlcXVpcmVkIikKKyAgICAgICAgZGVmIHRlc3Rfc2VsZWN0ZWRfYWxwbl9wcm90b2NvbF9pZl9zZXJ2ZXJfdXNlc19hbHBuKHNlbGYpOgorICAgICAgICAgICAgIyBzZWxlY3RlZF9hbHBuX3Byb3RvY29sKCkgaXMgTm9uZSB1bmxlc3MgQUxQTiBpcyB1c2VkIGJ5IHRoZSBjbGllbnQuCisgICAgICAgICAgICBjbGllbnRfY29udGV4dCA9IHNzbC5TU0xDb250ZXh0KHNzbC5QUk9UT0NPTF9UTFN2MSkKKyAgICAgICAgICAgIGNsaWVudF9jb250ZXh0LmxvYWRfdmVyaWZ5X2xvY2F0aW9ucyhDRVJURklMRSkKKyAgICAgICAgICAgIHNlcnZlcl9jb250ZXh0ID0gc3NsLlNTTENvbnRleHQoc3NsLlBST1RPQ09MX1RMU3YxKQorICAgICAgICAgICAgc2VydmVyX2NvbnRleHQubG9hZF9jZXJ0X2NoYWluKENFUlRGSUxFKQorICAgICAgICAgICAgc2VydmVyX2NvbnRleHQuc2V0X2FscG5fcHJvdG9jb2xzKFsnZm9vJywgJ2JhciddKQorICAgICAgICAgICAgc3RhdHMgPSBzZXJ2ZXJfcGFyYW1zX3Rlc3QoY2xpZW50X2NvbnRleHQsIHNlcnZlcl9jb250ZXh0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhdHR5PVRydWUsIGNvbm5lY3Rpb25jaGF0dHk9VHJ1ZSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXMoc3RhdHNbJ2NsaWVudF9hbHBuX3Byb3RvY29sJ10sIE5vbmUpCisKKyAgICAgICAgQHVuaXR0ZXN0LnNraXBVbmxlc3Moc3NsLkhBU19BTFBOLCAiQUxQTiBzdXBwb3J0IG5lZWRlZCBmb3IgdGhpcyB0ZXN0IikKKyAgICAgICAgZGVmIHRlc3RfYWxwbl9wcm90b2NvbHMoc2VsZik6CisgICAgICAgICAgICBzZXJ2ZXJfcHJvdG9jb2xzID0gWydmb28nLCAnYmFyJywgJ21pbGtzaGFrZSddCisgICAgICAgICAgICBwcm90b2NvbF90ZXN0cyA9IFsKKyAgICAgICAgICAgICAgICAoWydmb28nLCAnYmFyJ10sICdmb28nKSwKKyAgICAgICAgICAgICAgICAoWydiYXInLCAnZm9vJ10sICdmb28nKSwKKyAgICAgICAgICAgICAgICAoWydtaWxrc2hha2UnXSwgJ21pbGtzaGFrZScpLAorICAgICAgICAgICAgICAgIChbJ2h0dHAvMy4wJywgJ2h0dHAvNC4wJ10sIE5vbmUpCisgICAgICAgICAgICBdCisgICAgICAgICAgICBmb3IgY2xpZW50X3Byb3RvY29scywgZXhwZWN0ZWQgaW4gcHJvdG9jb2xfdGVzdHM6CisgICAgICAgICAgICAgICAgc2VydmVyX2NvbnRleHQgPSBzc2wuU1NMQ29udGV4dChzc2wuUFJPVE9DT0xfVExTdjEpCisgICAgICAgICAgICAgICAgc2VydmVyX2NvbnRleHQubG9hZF9jZXJ0X2NoYWluKENFUlRGSUxFKQorICAgICAgICAgICAgICAgIHNlcnZlcl9jb250ZXh0LnNldF9hbHBuX3Byb3RvY29scyhzZXJ2ZXJfcHJvdG9jb2xzKQorICAgICAgICAgICAgICAgIGNsaWVudF9jb250ZXh0ID0gc3NsLlNTTENvbnRleHQoc3NsLlBST1RPQ09MX1RMU3YxKQorICAgICAgICAgICAgICAgIGNsaWVudF9jb250ZXh0LmxvYWRfY2VydF9jaGFpbihDRVJURklMRSkKKyAgICAgICAgICAgICAgICBjbGllbnRfY29udGV4dC5zZXRfYWxwbl9wcm90b2NvbHMoY2xpZW50X3Byb3RvY29scykKKyAgICAgICAgICAgICAgICBzdGF0cyA9IHNlcnZlcl9wYXJhbXNfdGVzdChjbGllbnRfY29udGV4dCwgc2VydmVyX2NvbnRleHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhdHR5PVRydWUsIGNvbm5lY3Rpb25jaGF0dHk9VHJ1ZSkKKworICAgICAgICAgICAgICAgIG1zZyA9ICJmYWlsZWQgdHJ5aW5nICVzIChzKSBhbmQgJXMgKGMpLlxuIiBcCisgICAgICAgICAgICAgICAgICAgICAgIndhcyBleHBlY3RpbmcgJXMsIGJ1dCBnb3QgJSVzIGZyb20gdGhlICUlcyIgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAlIChzdHIoc2VydmVyX3Byb3RvY29scyksIHN0cihjbGllbnRfcHJvdG9jb2xzKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyKGV4cGVjdGVkKSkKKyAgICAgICAgICAgICAgICBjbGllbnRfcmVzdWx0ID0gc3RhdHNbJ2NsaWVudF9hbHBuX3Byb3RvY29sJ10KKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNsaWVudF9yZXN1bHQsIGV4cGVjdGVkLCBtc2cgJSAoY2xpZW50X3Jlc3VsdCwgImNsaWVudCIpKQorICAgICAgICAgICAgICAgIHNlcnZlcl9yZXN1bHQgPSBzdGF0c1snc2VydmVyX2FscG5fcHJvdG9jb2xzJ11bLTFdIFwKKyAgICAgICAgICAgICAgICAgICAgaWYgbGVuKHN0YXRzWydzZXJ2ZXJfYWxwbl9wcm90b2NvbHMnXSkgZWxzZSAnbm90aGluZycKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlcnZlcl9yZXN1bHQsIGV4cGVjdGVkLCBtc2cgJSAoc2VydmVyX3Jlc3VsdCwgInNlcnZlciIpKQorCiAgICAgICAgIGRlZiB0ZXN0X3NlbGVjdGVkX25wbl9wcm90b2NvbChzZWxmKToKICAgICAgICAgICAgICMgc2VsZWN0ZWRfbnBuX3Byb3RvY29sKCkgaXMgTm9uZSB1bmxlc3MgTlBOIGlzIHVzZWQKICAgICAgICAgICAgIGNvbnRleHQgPSBzc2wuU1NMQ29udGV4dChzc2wuUFJPVE9DT0xfVExTdjEpCkBAIC0yODcxLDYgKzMyNDIsMjAgQEAKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY20uZXhjZXB0aW9uLnJlYXNvbiwgJ1RMU1YxX0FMRVJUX0lOVEVSTkFMX0VSUk9SJykKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0SW4oIlR5cGVFcnJvciIsIHN0ZGVyci5nZXR2YWx1ZSgpKQogCisgICAgICAgIGRlZiB0ZXN0X3NoYXJlZF9jaXBoZXJzKHNlbGYpOgorICAgICAgICAgICAgc2VydmVyX2NvbnRleHQgPSBzc2wuU1NMQ29udGV4dChzc2wuUFJPVE9DT0xfVExTdjEpCisgICAgICAgICAgICBzZXJ2ZXJfY29udGV4dC5sb2FkX2NlcnRfY2hhaW4oU0lHTkVEX0NFUlRGSUxFKQorICAgICAgICAgICAgY2xpZW50X2NvbnRleHQgPSBzc2wuU1NMQ29udGV4dChzc2wuUFJPVE9DT0xfVExTdjEpCisgICAgICAgICAgICBjbGllbnRfY29udGV4dC52ZXJpZnlfbW9kZSA9IHNzbC5DRVJUX1JFUVVJUkVECisgICAgICAgICAgICBjbGllbnRfY29udGV4dC5sb2FkX3ZlcmlmeV9sb2NhdGlvbnMoU0lHTklOR19DQSkKKyAgICAgICAgICAgIGNsaWVudF9jb250ZXh0LnNldF9jaXBoZXJzKCJSQzQiKQorICAgICAgICAgICAgc2VydmVyX2NvbnRleHQuc2V0X2NpcGhlcnMoIkFFUzpSQzQiKQorICAgICAgICAgICAgc3RhdHMgPSBzZXJ2ZXJfcGFyYW1zX3Rlc3QoY2xpZW50X2NvbnRleHQsIHNlcnZlcl9jb250ZXh0KQorICAgICAgICAgICAgY2lwaGVycyA9IHN0YXRzWydzZXJ2ZXJfc2hhcmVkX2NpcGhlcnMnXVswXQorICAgICAgICAgICAgc2VsZi5hc3NlcnRHcmVhdGVyKGxlbihjaXBoZXJzKSwgMCkKKyAgICAgICAgICAgIGZvciBuYW1lLCB0bHNfdmVyc2lvbiwgYml0cyBpbiBjaXBoZXJzOgorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0SW4oIlJDNCIsIG5hbWUuc3BsaXQoIi0iKSkKKwogICAgICAgICBkZWYgdGVzdF9yZWFkX3dyaXRlX2FmdGVyX2Nsb3NlX3JhaXNlc192YWx1ZXJyb3Ioc2VsZik6CiAgICAgICAgICAgICBjb250ZXh0ID0gc3NsLlNTTENvbnRleHQoc3NsLlBST1RPQ09MX1NTTHYyMykKICAgICAgICAgICAgIGNvbnRleHQudmVyaWZ5X21vZGUgPSBzc2wuQ0VSVF9SRVFVSVJFRApAQCAtMjg4Niw2ICszMjcxLDIzIEBACiAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgcy5yZWFkLCAxMDI0KQogICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIHMud3JpdGUsIGInaGVsbG8nKQogCisgICAgICAgIGRlZiB0ZXN0X3NlbmRmaWxlKHNlbGYpOgorICAgICAgICAgICAgVEVTVF9EQVRBID0gYiJ4IiAqIDUxMgorICAgICAgICAgICAgd2l0aCBvcGVuKHN1cHBvcnQuVEVTVEZOLCAnd2InKSBhcyBmOgorICAgICAgICAgICAgICAgIGYud3JpdGUoVEVTVF9EQVRBKQorICAgICAgICAgICAgc2VsZi5hZGRDbGVhbnVwKHN1cHBvcnQudW5saW5rLCBzdXBwb3J0LlRFU1RGTikKKyAgICAgICAgICAgIGNvbnRleHQgPSBzc2wuU1NMQ29udGV4dChzc2wuUFJPVE9DT0xfU1NMdjIzKQorICAgICAgICAgICAgY29udGV4dC52ZXJpZnlfbW9kZSA9IHNzbC5DRVJUX1JFUVVJUkVECisgICAgICAgICAgICBjb250ZXh0LmxvYWRfdmVyaWZ5X2xvY2F0aW9ucyhDRVJURklMRSkKKyAgICAgICAgICAgIGNvbnRleHQubG9hZF9jZXJ0X2NoYWluKENFUlRGSUxFKQorICAgICAgICAgICAgc2VydmVyID0gVGhyZWFkZWRFY2hvU2VydmVyKGNvbnRleHQ9Y29udGV4dCwgY2hhdHR5PUZhbHNlKQorICAgICAgICAgICAgd2l0aCBzZXJ2ZXI6CisgICAgICAgICAgICAgICAgd2l0aCBjb250ZXh0LndyYXBfc29ja2V0KHNvY2tldC5zb2NrZXQoKSkgYXMgczoKKyAgICAgICAgICAgICAgICAgICAgcy5jb25uZWN0KChIT1NULCBzZXJ2ZXIucG9ydCkpCisgICAgICAgICAgICAgICAgICAgIHdpdGggb3BlbihzdXBwb3J0LlRFU1RGTiwgJ3JiJykgYXMgZmlsZToKKyAgICAgICAgICAgICAgICAgICAgICAgIHMuc2VuZGZpbGUoZmlsZSkKKyAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocy5yZWN2KDEwMjQpLCBURVNUX0RBVEEpCisKIAogZGVmIHRlc3RfbWFpbih2ZXJib3NlPUZhbHNlKToKICAgICBpZiBzdXBwb3J0LnZlcmJvc2U6CkBAIC0yOTE5LDEwICszMzIxLDExIEBACiAgICAgICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0cyhmaWxlbmFtZSk6CiAgICAgICAgICAgICByYWlzZSBzdXBwb3J0LlRlc3RGYWlsZWQoIkNhbid0IHJlYWQgY2VydGlmaWNhdGUgZmlsZSAlciIgJSBmaWxlbmFtZSkKIAotICAgIHRlc3RzID0gW0NvbnRleHRUZXN0cywgQmFzaWNTb2NrZXRUZXN0cywgU1NMRXJyb3JUZXN0c10KKyAgICB0ZXN0cyA9IFtDb250ZXh0VGVzdHMsIEJhc2ljU29ja2V0VGVzdHMsIFNTTEVycm9yVGVzdHMsIE1lbW9yeUJJT1Rlc3RzXQogCiAgICAgaWYgc3VwcG9ydC5pc19yZXNvdXJjZV9lbmFibGVkKCduZXR3b3JrJyk6CiAgICAgICAgIHRlc3RzLmFwcGVuZChOZXR3b3JrZWRUZXN0cykKKyAgICAgICAgdGVzdHMuYXBwZW5kKE5ldHdvcmtlZEJJT1Rlc3RzKQogCiAgICAgaWYgX2hhdmVfdGhyZWFkczoKICAgICAgICAgdGhyZWFkX2luZm8gPSBzdXBwb3J0LnRocmVhZGluZ19zZXR1cCgpCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X3N0YXQucHkgYi9MaWIvdGVzdC90ZXN0X3N0YXQucHkKaW5kZXggYWY2Y2VkNC4uZjFhNTkzOCAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9zdGF0LnB5CisrKyBiL0xpYi90ZXN0L3Rlc3Rfc3RhdC5weQpAQCAtMSw1ICsxLDYgQEAKIGltcG9ydCB1bml0dGVzdAogaW1wb3J0IG9zCitpbXBvcnQgc3lzCiBmcm9tIHRlc3Quc3VwcG9ydCBpbXBvcnQgVEVTVEZOLCBpbXBvcnRfZnJlc2hfbW9kdWxlCiAKIGNfc3RhdCA9IGltcG9ydF9mcmVzaF9tb2R1bGUoJ3N0YXQnLCBmcmVzaD1bJ19zdGF0J10pCkBAIC01Miw2ICs1MywyNiBAQAogICAgICAgICAnU19JV09USCc6IDBvMDAyLAogICAgICAgICAnU19JWE9USCc6IDBvMDAxfQogCisgICAgIyBkZWZpbmVkIGJ5IHRoZSBXaW5kb3dzIEFQSSBkb2N1bWVudGF0aW9uCisgICAgZmlsZV9hdHRyaWJ1dGVzID0geworICAgICAgICAnRklMRV9BVFRSSUJVVEVfQVJDSElWRSc6IDMyLAorICAgICAgICAnRklMRV9BVFRSSUJVVEVfQ09NUFJFU1NFRCc6IDIwNDgsCisgICAgICAgICdGSUxFX0FUVFJJQlVURV9ERVZJQ0UnOiA2NCwKKyAgICAgICAgJ0ZJTEVfQVRUUklCVVRFX0RJUkVDVE9SWSc6IDE2LAorICAgICAgICAnRklMRV9BVFRSSUJVVEVfRU5DUllQVEVEJzogMTYzODQsCisgICAgICAgICdGSUxFX0FUVFJJQlVURV9ISURERU4nOiAyLAorICAgICAgICAnRklMRV9BVFRSSUJVVEVfSU5URUdSSVRZX1NUUkVBTSc6IDMyNzY4LAorICAgICAgICAnRklMRV9BVFRSSUJVVEVfTk9STUFMJzogMTI4LAorICAgICAgICAnRklMRV9BVFRSSUJVVEVfTk9UX0NPTlRFTlRfSU5ERVhFRCc6IDgxOTIsCisgICAgICAgICdGSUxFX0FUVFJJQlVURV9OT19TQ1JVQl9EQVRBJzogMTMxMDcyLAorICAgICAgICAnRklMRV9BVFRSSUJVVEVfT0ZGTElORSc6IDQwOTYsCisgICAgICAgICdGSUxFX0FUVFJJQlVURV9SRUFET05MWSc6IDEsCisgICAgICAgICdGSUxFX0FUVFJJQlVURV9SRVBBUlNFX1BPSU5UJzogMTAyNCwKKyAgICAgICAgJ0ZJTEVfQVRUUklCVVRFX1NQQVJTRV9GSUxFJzogNTEyLAorICAgICAgICAnRklMRV9BVFRSSUJVVEVfU1lTVEVNJzogNCwKKyAgICAgICAgJ0ZJTEVfQVRUUklCVVRFX1RFTVBPUkFSWSc6IDI1NiwKKyAgICAgICAgJ0ZJTEVfQVRUUklCVVRFX1ZJUlRVQUwnOiA2NTUzNn0KKwogICAgIGRlZiBzZXRVcChzZWxmKToKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgb3MucmVtb3ZlKFRFU1RGTikKQEAgLTE4NSw2ICsyMDYsMTQgQEAKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShjYWxsYWJsZShmdW5jKSkKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZnVuYygwKSwgMCkKIAorICAgIEB1bml0dGVzdC5za2lwVW5sZXNzKHN5cy5wbGF0Zm9ybSA9PSAid2luMzIiLAorICAgICAgICAgICAgICAgICAgICAgICAgICJGSUxFX0FUVFJJQlVURV8qIGNvbnN0YW50cyBhcmUgV2luMzIgc3BlY2lmaWMiKQorICAgIGRlZiB0ZXN0X2ZpbGVfYXR0cmlidXRlX2NvbnN0YW50cyhzZWxmKToKKyAgICAgICAgZm9yIGtleSwgdmFsdWUgaW4gc29ydGVkKHNlbGYuZmlsZV9hdHRyaWJ1dGVzLml0ZW1zKCkpOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGhhc2F0dHIoc2VsZi5zdGF0bW9kLCBrZXkpLCBrZXkpCisgICAgICAgICAgICBtb2R2YWx1ZSA9IGdldGF0dHIoc2VsZi5zdGF0bW9kLCBrZXkpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHZhbHVlLCBtb2R2YWx1ZSwga2V5KQorCiAKIGNsYXNzIFRlc3RGaWxlbW9kZUNTdGF0KFRlc3RGaWxlbW9kZSwgdW5pdHRlc3QuVGVzdENhc2UpOgogICAgIHN0YXRtb2QgPSBjX3N0YXQKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3Rfc3VicHJvY2Vzcy5weSBiL0xpYi90ZXN0L3Rlc3Rfc3VicHJvY2Vzcy5weQppbmRleCAwOGFmNzFmLi40NjA4NzZmIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X3N1YnByb2Nlc3MucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9zdWJwcm9jZXNzLnB5CkBAIC0yNDIxLDI1ICsyNDIxLDYgQEAKICAgICAgICAgUHJvY2Vzc1Rlc3RDYXNlLnRlYXJEb3duKHNlbGYpCiAKIAotY2xhc3MgSGVscGVyRnVuY3Rpb25UZXN0cyh1bml0dGVzdC5UZXN0Q2FzZSk6Ci0gICAgQHVuaXR0ZXN0LnNraXBJZihtc3dpbmRvd3MsICJlcnJubyBhbmQgRUlOVFIgbWFrZSBubyBzZW5zZSBvbiB3aW5kb3dzIikKLSAgICBkZWYgdGVzdF9laW50cl9yZXRyeV9jYWxsKHNlbGYpOgotICAgICAgICByZWNvcmRfY2FsbHMgPSBbXQotICAgICAgICBkZWYgZmFrZV9vc19mdW5jKCphcmdzKToKLSAgICAgICAgICAgIHJlY29yZF9jYWxscy5hcHBlbmQoYXJncykKLSAgICAgICAgICAgIGlmIGxlbihyZWNvcmRfY2FsbHMpID09IDI6Ci0gICAgICAgICAgICAgICAgcmFpc2UgT1NFcnJvcihlcnJuby5FSU5UUiwgImZha2UgaW50ZXJydXB0ZWQgc3lzdGVtIGNhbGwiKQotICAgICAgICAgICAgcmV0dXJuIHR1cGxlKHJldmVyc2VkKGFyZ3MpKQotCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoKDk5OSwgMjU2KSwKLSAgICAgICAgICAgICAgICAgICAgICAgICBzdWJwcm9jZXNzLl9laW50cl9yZXRyeV9jYWxsKGZha2Vfb3NfZnVuYywgMjU2LCA5OTkpKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKFsoMjU2LCA5OTkpXSwgcmVjb3JkX2NhbGxzKQotICAgICAgICAjIFRoaXMgdGltZSB0aGVyZSB3aWxsIGJlIGFuIEVJTlRSIHNvIGl0IHdpbGwgbG9vcCBvbmNlLgotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCg2NjYsKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICBzdWJwcm9jZXNzLl9laW50cl9yZXRyeV9jYWxsKGZha2Vfb3NfZnVuYywgNjY2KSkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChbKDI1NiwgOTk5KSwgKDY2NiwpLCAoNjY2LCldLCByZWNvcmRfY2FsbHMpCi0KLQogQHVuaXR0ZXN0LnNraXBVbmxlc3MobXN3aW5kb3dzLCAiV2luZG93cy1zcGVjaWZpYyB0ZXN0cyIpCiBjbGFzcyBDb21tYW5kc1dpdGhTcGFjZXMgKEJhc2VUZXN0Q2FzZSk6CiAKQEAgLTI1MjgsNyArMjUwOSw2IEBACiAgICAgICAgICAgICAgICAgICBXaW4zMlByb2Nlc3NUZXN0Q2FzZSwKICAgICAgICAgICAgICAgICAgIENvbW1hbmRUZXN0cywKICAgICAgICAgICAgICAgICAgIFByb2Nlc3NUZXN0Q2FzZU5vUG9sbCwKLSAgICAgICAgICAgICAgICAgIEhlbHBlckZ1bmN0aW9uVGVzdHMsCiAgICAgICAgICAgICAgICAgICBDb21tYW5kc1dpdGhTcGFjZXMsCiAgICAgICAgICAgICAgICAgICBDb250ZXh0TWFuYWdlclRlc3RzLAogICAgICAgICAgICAgICAgICAgKQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9zdXBwb3J0LnB5IGIvTGliL3Rlc3QvdGVzdF9zdXBwb3J0LnB5CmluZGV4IDAzY2U5ZDEuLmEwMmQyZjQgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3Rfc3VwcG9ydC5weQorKysgYi9MaWIvdGVzdC90ZXN0X3N1cHBvcnQucHkKQEAgLTg1LDcgKzg1LDcgQEAKICAgICBkZWYgdGVzdF9iaW5kX3BvcnQoc2VsZik6CiAgICAgICAgIHMgPSBzb2NrZXQuc29ja2V0KCkKICAgICAgICAgc3VwcG9ydC5iaW5kX3BvcnQocykKLSAgICAgICAgcy5saXN0ZW4oMSkKKyAgICAgICAgcy5saXN0ZW4oKQogICAgICAgICBzLmNsb3NlKCkKIAogICAgICMgVGVzdHMgZm9yIHRlbXBfZGlyKCkKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3Rfc3lzLnB5IGIvTGliL3Rlc3QvdGVzdF9zeXMucHkKaW5kZXggMmY2NmViNy4uZWQ2YjQ3ZCAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9zeXMucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9zeXMucHkKQEAgLTYzNiw2ICs2MzYsNTMgQEAKICAgICAgICAgICAgIGV4cGVjdGVkID0gTm9uZQogICAgICAgICBzZWxmLmNoZWNrX2ZzZW5jb2RpbmcoZnNfZW5jb2RpbmcsIGV4cGVjdGVkKQogCisgICAgZGVmIGNfbG9jYWxlX2dldF9lcnJvcl9oYW5kbGVyKHNlbGYsIGlzb2xhdGVkPUZhbHNlLCBlbmNvZGluZz1Ob25lKToKKyAgICAgICAgIyBGb3JjZSB0aGUgUE9TSVggbG9jYWxlCisgICAgICAgIGVudiA9IG9zLmVudmlyb24uY29weSgpCisgICAgICAgIGVudlsiTENfQUxMIl0gPSAiQyIKKyAgICAgICAgY29kZSA9ICdcbicuam9pbigoCisgICAgICAgICAgICAnaW1wb3J0IHN5cycsCisgICAgICAgICAgICAnZGVmIGR1bXAobmFtZSk6JywKKyAgICAgICAgICAgICcgICAgc3RkID0gZ2V0YXR0cihzeXMsIG5hbWUpJywKKyAgICAgICAgICAgICcgICAgcHJpbnQoIiVzOiAlcyIgJSAobmFtZSwgc3RkLmVycm9ycykpJywKKyAgICAgICAgICAgICdkdW1wKCJzdGRpbiIpJywKKyAgICAgICAgICAgICdkdW1wKCJzdGRvdXQiKScsCisgICAgICAgICAgICAnZHVtcCgic3RkZXJyIiknLAorICAgICAgICApKQorICAgICAgICBhcmdzID0gW3N5cy5leGVjdXRhYmxlLCAiLWMiLCBjb2RlXQorICAgICAgICBpZiBpc29sYXRlZDoKKyAgICAgICAgICAgIGFyZ3MuYXBwZW5kKCItSSIpCisgICAgICAgIGVsaWYgZW5jb2Rpbmc6CisgICAgICAgICAgICBlbnZbJ1BZVEhPTklPRU5DT0RJTkcnXSA9IGVuY29kaW5nCisgICAgICAgIHAgPSBzdWJwcm9jZXNzLlBvcGVuKGFyZ3MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGRvdXQ9c3VicHJvY2Vzcy5QSVBFLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RkZXJyPXN1YnByb2Nlc3MuU1RET1VULAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW52PWVudiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuaXZlcnNhbF9uZXdsaW5lcz1UcnVlKQorICAgICAgICBzdGRvdXQsIHN0ZGVyciA9IHAuY29tbXVuaWNhdGUoKQorICAgICAgICByZXR1cm4gc3Rkb3V0CisKKyAgICBkZWYgdGVzdF9jX2xvY2FsZV9zdXJyb2dhdGVlc2NhcGUoc2VsZik6CisgICAgICAgIG91dCA9IHNlbGYuY19sb2NhbGVfZ2V0X2Vycm9yX2hhbmRsZXIoaXNvbGF0ZWQ9VHJ1ZSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChvdXQsCisgICAgICAgICAgICAgICAgICAgICAgICAgJ3N0ZGluOiBzdXJyb2dhdGVlc2NhcGVcbicKKyAgICAgICAgICAgICAgICAgICAgICAgICAnc3Rkb3V0OiBzdXJyb2dhdGVlc2NhcGVcbicKKyAgICAgICAgICAgICAgICAgICAgICAgICAnc3RkZXJyOiBiYWNrc2xhc2hyZXBsYWNlXG4nKQorCisgICAgICAgICMgcmVwbGFjZSB0aGUgZGVmYXVsdCBlcnJvciBoYW5kbGVyCisgICAgICAgIG91dCA9IHNlbGYuY19sb2NhbGVfZ2V0X2Vycm9yX2hhbmRsZXIoZW5jb2Rpbmc9JzpzdHJpY3QnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG91dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAnc3RkaW46IHN0cmljdFxuJworICAgICAgICAgICAgICAgICAgICAgICAgICdzdGRvdXQ6IHN0cmljdFxuJworICAgICAgICAgICAgICAgICAgICAgICAgICdzdGRlcnI6IGJhY2tzbGFzaHJlcGxhY2VcbicpCisKKyAgICAgICAgIyBmb3JjZSB0aGUgZW5jb2RpbmcKKyAgICAgICAgb3V0ID0gc2VsZi5jX2xvY2FsZV9nZXRfZXJyb3JfaGFuZGxlcihlbmNvZGluZz0naXNvODg1OS0xJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChvdXQsCisgICAgICAgICAgICAgICAgICAgICAgICAgJ3N0ZGluOiBzdXJyb2dhdGVlc2NhcGVcbicKKyAgICAgICAgICAgICAgICAgICAgICAgICAnc3Rkb3V0OiBzdXJyb2dhdGVlc2NhcGVcbicKKyAgICAgICAgICAgICAgICAgICAgICAgICAnc3RkZXJyOiBiYWNrc2xhc2hyZXBsYWNlXG4nKQorCiAgICAgZGVmIHRlc3RfaW1wbGVtZW50YXRpb24oc2VsZik6CiAgICAgICAgICMgVGhpcyB0ZXN0IGFwcGxpZXMgdG8gYWxsIGltcGxlbWVudGF0aW9ucyBlcXVhbGx5LgogCkBAIC02OTgsNiArNzQ1LDI3IEBACiAgICAgICAgIGMgPSBzeXMuZ2V0YWxsb2NhdGVkYmxvY2tzKCkKICAgICAgICAgc2VsZi5hc3NlcnRJbihjLCByYW5nZShiIC0gNTAsIGIgKyA1MCkpCiAKKyAgICBkZWYgdGVzdF9pc19maW5hbGl6aW5nKHNlbGYpOgorICAgICAgICBzZWxmLmFzc2VydElzKHN5cy5pc19maW5hbGl6aW5nKCksIEZhbHNlKQorICAgICAgICAjIERvbid0IHVzZSB0aGUgYXRleGl0IG1vZHVsZSBiZWNhdXNlIF9QeV9GaW5hbGl6aW5nIGlzIG9ubHkgc2V0CisgICAgICAgICMgYWZ0ZXIgY2FsbGluZyBhdGV4aXQgY2FsbGJhY2tzCisgICAgICAgIGNvZGUgPSAiIiJpZiAxOgorICAgICAgICAgICAgaW1wb3J0IHN5cworCisgICAgICAgICAgICBjbGFzcyBBdEV4aXQ6CisgICAgICAgICAgICAgICAgaXNfZmluYWxpemluZyA9IHN5cy5pc19maW5hbGl6aW5nCisgICAgICAgICAgICAgICAgcHJpbnQgPSBwcmludAorCisgICAgICAgICAgICAgICAgZGVmIF9fZGVsX18oc2VsZik6CisgICAgICAgICAgICAgICAgICAgIHNlbGYucHJpbnQoc2VsZi5pc19maW5hbGl6aW5nKCksIGZsdXNoPVRydWUpCisKKyAgICAgICAgICAgICMgS2VlcCBhIHJlZmVyZW5jZSBpbiB0aGUgX19tYWluX18gbW9kdWxlIG5hbWVzcGFjZSwgc28gdGhlCisgICAgICAgICAgICAjIEF0RXhpdCBkZXN0cnVjdG9yIHdpbGwgYmUgY2FsbGVkIGF0IFB5dGhvbiBleGl0CisgICAgICAgICAgICByZWYgPSBBdEV4aXQoKQorICAgICAgICAiIiIKKyAgICAgICAgcmMsIHN0ZG91dCwgc3RkZXJyID0gYXNzZXJ0X3B5dGhvbl9vaygnLWMnLCBjb2RlKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0ZG91dC5yc3RyaXAoKSwgYidUcnVlJykKKwogCiBAdGVzdC5zdXBwb3J0LmNweXRob25fb25seQogY2xhc3MgU2l6ZW9mVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CkBAIC03NzAsNyArODM4LDcgQEAKICAgICAgICAgIyBidWZmZXIKICAgICAgICAgIyBYWFgKICAgICAgICAgIyBidWlsdGluX2Z1bmN0aW9uX29yX21ldGhvZAotICAgICAgICBjaGVjayhsZW4sIHNpemUoJzNQJykpICMgWFhYIGNoZWNrIGxheW91dAorICAgICAgICBjaGVjayhsZW4sIHNpemUoJzRQJykpICMgWFhYIGNoZWNrIGxheW91dAogICAgICAgICAjIGJ5dGVhcnJheQogICAgICAgICBzYW1wbGVzID0gW2InJywgYid1JyoxMDAwMDBdCiAgICAgICAgIGZvciBzYW1wbGUgaW4gc2FtcGxlczoKQEAgLTg3MSw3ICs5MzksNyBAQAogICAgICAgICAgICAgY2hlY2soYmFyLCBzaXplKCdQUCcpKQogICAgICAgICAjIGdlbmVyYXRvcgogICAgICAgICBkZWYgZ2V0X2dlbigpOiB5aWVsZCAxCi0gICAgICAgIGNoZWNrKGdldF9nZW4oKSwgc2l6ZSgnUGIyUCcpKQorICAgICAgICBjaGVjayhnZXRfZ2VuKCksIHNpemUoJ1BiMlBQUCcpKQogICAgICAgICAjIGl0ZXJhdG9yCiAgICAgICAgIGNoZWNrKGl0ZXIoJ2FiYycpLCBzaXplKCdsUCcpKQogICAgICAgICAjIGNhbGxhYmxlLWl0ZXJhdG9yCkBAIC04OTgsNyArOTY2LDcgQEAKICAgICAgICAgY2hlY2soaW50KFB5TG9uZ19CQVNFKioyLTEpLCB2c2l6ZSgnJykgKyAyKnNlbGYubG9uZ2RpZ2l0KQogICAgICAgICBjaGVjayhpbnQoUHlMb25nX0JBU0UqKjIpLCB2c2l6ZSgnJykgKyAzKnNlbGYubG9uZ2RpZ2l0KQogICAgICAgICAjIG1lbW9yeXZpZXcKLSAgICAgICAgY2hlY2sobWVtb3J5dmlldyhiJycpLCBzaXplKCdQbmluIDJQMm4yaTVQIDNjUG4nKSkKKyAgICAgICAgY2hlY2sobWVtb3J5dmlldyhiJycpLCBzaXplKCdQbmluIDJQMm4yaTVQIFBuJykpCiAgICAgICAgICMgbW9kdWxlCiAgICAgICAgIGNoZWNrKHVuaXR0ZXN0LCBzaXplKCdQblBQUCcpKQogICAgICAgICAjIE5vbmUKQEAgLTkyNyw3ICs5OTUsNyBAQAogICAgICAgICAjIGZyb3plbnNldAogICAgICAgICBQeVNldF9NSU5TSVpFID0gOAogICAgICAgICBzYW1wbGVzID0gW1tdLCByYW5nZSgxMCksIHJhbmdlKDUwKV0KLSAgICAgICAgcyA9IHNpemUoJzNuMlAnICsgUHlTZXRfTUlOU0laRSonblAnICsgJ25QJykKKyAgICAgICAgcyA9IHNpemUoJzNuUCcgKyBQeVNldF9NSU5TSVpFKiduUCcgKyAnMm5QJykKICAgICAgICAgZm9yIHNhbXBsZSBpbiBzYW1wbGVzOgogICAgICAgICAgICAgbWludXNlZCA9IGxlbihzYW1wbGUpCiAgICAgICAgICAgICBpZiBtaW51c2VkID09IDA6IHRtcCA9IDEKQEAgLTk1OCw3ICsxMDI2LDcgQEAKICAgICAgICAgY2hlY2soaW50LCBzKQogICAgICAgICAjIChQeVR5cGVPYmplY3QgKyBQeU51bWJlck1ldGhvZHMgKyBQeU1hcHBpbmdNZXRob2RzICsKICAgICAgICAgIyAgUHlTZXF1ZW5jZU1ldGhvZHMgKyBQeUJ1ZmZlclByb2NzICsgNFApCi0gICAgICAgIHMgPSB2c2l6ZSgnUDJuMTVQbDRQbjlQbjExUElQJykgKyBzdHJ1Y3QuY2FsY3NpemUoJzM0UCAzUCAxMFAgMlAgNFAnKQorICAgICAgICBzID0gdnNpemUoJ1AybjE3UGw0UG45UG4xMVBJUCcpICsgc3RydWN0LmNhbGNzaXplKCczNFAgM1AgMTBQIDJQIDRQJykKICAgICAgICAgIyBTZXBhcmF0ZSBibG9jayBmb3IgUHlEaWN0S2V5c09iamVjdCB3aXRoIDQgZW50cmllcwogICAgICAgICBzICs9IHN0cnVjdC5jYWxjc2l6ZSgiMm5QbiIpICsgNCpzdHJ1Y3QuY2FsY3NpemUoIm4yUCIpCiAgICAgICAgICMgY2xhc3MKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3Rfc3lzX3NldHByb2ZpbGUucHkgYi9MaWIvdGVzdC90ZXN0X3N5c19zZXRwcm9maWxlLnB5CmluZGV4IDk4MTZlM2UuLmU1OTMyMGIgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3Rfc3lzX3NldHByb2ZpbGUucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9zeXNfc2V0cHJvZmlsZS5weQpAQCAtMjYwLDcgKzI2MCw2IEBACiAgICAgICAgIGRlZiBmKCk6CiAgICAgICAgICAgICBmb3IgaSBpbiByYW5nZSgyKToKICAgICAgICAgICAgICAgICB5aWVsZCBpCi0gICAgICAgICAgICByYWlzZSBTdG9wSXRlcmF0aW9uCiAgICAgICAgIGRlZiBnKHApOgogICAgICAgICAgICAgZm9yIGkgaW4gZigpOgogICAgICAgICAgICAgICAgIHBhc3MKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfdGFyZmlsZS5weSBiL0xpYi90ZXN0L3Rlc3RfdGFyZmlsZS5weQppbmRleCBjMTM1MzA0Li4wMWQxYTkyIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X3RhcmZpbGUucHkKKysrIGIvTGliL3Rlc3QvdGVzdF90YXJmaWxlLnB5CkBAIC0yODUsNiArMjg1LDE4IEBACiAgICAgICAgIHNlbGYuYXNzZXJ0SW4oYidwYXgnICsgKGInLzEyMycgKiAxMjUpICsgYicvbG9uZ2xpbmsgbGluayB0byBwYXgnICsKICAgICAgICAgICAgICAgICAgICAgICAoYicvMTIzJyAqIDEyNSkgKyBiJy9sb25nbmFtZScsIG91dCkKIAorICAgIGRlZiB0ZXN0X2xpc3RfbWVtYmVycyhzZWxmKToKKyAgICAgICAgdGlvID0gaW8uVGV4dElPV3JhcHBlcihpby5CeXRlc0lPKCksICdhc2NpaScsIG5ld2xpbmU9J1xuJykKKyAgICAgICAgZGVmIG1lbWJlcnModGFyKToKKyAgICAgICAgICAgIGZvciB0YXJpbmZvIGluIHRhci5nZXRtZW1iZXJzKCk6CisgICAgICAgICAgICAgICAgaWYgJ3JlZycgaW4gdGFyaW5mby5uYW1lOgorICAgICAgICAgICAgICAgICAgICB5aWVsZCB0YXJpbmZvCisgICAgICAgIHdpdGggc3VwcG9ydC5zd2FwX2F0dHIoc3lzLCAnc3Rkb3V0JywgdGlvKToKKyAgICAgICAgICAgIHNlbGYudGFyLmxpc3QodmVyYm9zZT1GYWxzZSwgbWVtYmVycz1tZW1iZXJzKHNlbGYudGFyKSkKKyAgICAgICAgb3V0ID0gdGlvLmRldGFjaCgpLmdldHZhbHVlKCkKKyAgICAgICAgc2VsZi5hc3NlcnRJbihiJ3VzdGFyL3JlZ3R5cGUnLCBvdXQpCisgICAgICAgIHNlbGYuYXNzZXJ0Tm90SW4oYid1c3Rhci9jb250dHlwZScsIG91dCkKKwogCiBjbGFzcyBHemlwTGlzdFRlc3QoR3ppcFRlc3QsIExpc3RUZXN0KToKICAgICBwYXNzCkBAIC0xNDE2LDYgKzE0MjgsODggQEAKICAgICAgICAgICAgICAgICAgICAoImxvbmdsbmsvIiAqIDEyNykgKyAibG9uZ2xpbmtfIikKIAogCitjbGFzcyBDcmVhdGVUZXN0KFRhclRlc3QsIHVuaXR0ZXN0LlRlc3RDYXNlKToKKworICAgIHByZWZpeCA9ICJ4OiIKKworICAgIGZpbGVfcGF0aCA9IG9zLnBhdGguam9pbihURU1QRElSLCAic3BhbWVnZ3M0MiIpCisKKyAgICBkZWYgc2V0VXAoc2VsZik6CisgICAgICAgIHN1cHBvcnQudW5saW5rKHRtcG5hbWUpCisKKyAgICBAY2xhc3NtZXRob2QKKyAgICBkZWYgc2V0VXBDbGFzcyhjbHMpOgorICAgICAgICB3aXRoIG9wZW4oY2xzLmZpbGVfcGF0aCwgIndiIikgYXMgZm9iajoKKyAgICAgICAgICAgIGZvYmoud3JpdGUoYiJhYWEiKQorCisgICAgQGNsYXNzbWV0aG9kCisgICAgZGVmIHRlYXJEb3duQ2xhc3MoY2xzKToKKyAgICAgICAgc3VwcG9ydC51bmxpbmsoY2xzLmZpbGVfcGF0aCkKKworICAgIGRlZiB0ZXN0X2NyZWF0ZShzZWxmKToKKyAgICAgICAgd2l0aCB0YXJmaWxlLm9wZW4odG1wbmFtZSwgc2VsZi5tb2RlKSBhcyB0b2JqOgorICAgICAgICAgICAgdG9iai5hZGQoc2VsZi5maWxlX3BhdGgpCisKKyAgICAgICAgd2l0aCBzZWxmLnRhcm9wZW4odG1wbmFtZSkgYXMgdG9iajoKKyAgICAgICAgICAgIG5hbWVzID0gdG9iai5nZXRuYW1lcygpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKG5hbWVzKSwgMSkKKyAgICAgICAgc2VsZi5hc3NlcnRJbignc3BhbWVnZ3M0MicsIG5hbWVzWzBdKQorCisgICAgZGVmIHRlc3RfY3JlYXRlX2V4aXN0aW5nKHNlbGYpOgorICAgICAgICB3aXRoIHRhcmZpbGUub3Blbih0bXBuYW1lLCBzZWxmLm1vZGUpIGFzIHRvYmo6CisgICAgICAgICAgICB0b2JqLmFkZChzZWxmLmZpbGVfcGF0aCkKKworICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKEZpbGVFeGlzdHNFcnJvcik6CisgICAgICAgICAgICB0b2JqID0gdGFyZmlsZS5vcGVuKHRtcG5hbWUsIHNlbGYubW9kZSkKKworICAgICAgICB3aXRoIHNlbGYudGFyb3Blbih0bXBuYW1lKSBhcyB0b2JqOgorICAgICAgICAgICAgbmFtZXMgPSB0b2JqLmdldG5hbWVzKCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4obmFtZXMpLCAxKQorICAgICAgICBzZWxmLmFzc2VydEluKCdzcGFtZWdnczQyJywgbmFtZXNbMF0pCisKKyAgICBkZWYgdGVzdF9jcmVhdGVfdGFyb3BlbihzZWxmKToKKyAgICAgICAgd2l0aCBzZWxmLnRhcm9wZW4odG1wbmFtZSwgIngiKSBhcyB0b2JqOgorICAgICAgICAgICAgdG9iai5hZGQoc2VsZi5maWxlX3BhdGgpCisKKyAgICAgICAgd2l0aCBzZWxmLnRhcm9wZW4odG1wbmFtZSkgYXMgdG9iajoKKyAgICAgICAgICAgIG5hbWVzID0gdG9iai5nZXRuYW1lcygpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKG5hbWVzKSwgMSkKKyAgICAgICAgc2VsZi5hc3NlcnRJbignc3BhbWVnZ3M0MicsIG5hbWVzWzBdKQorCisgICAgZGVmIHRlc3RfY3JlYXRlX2V4aXN0aW5nX3Rhcm9wZW4oc2VsZik6CisgICAgICAgIHdpdGggc2VsZi50YXJvcGVuKHRtcG5hbWUsICJ4IikgYXMgdG9iajoKKyAgICAgICAgICAgIHRvYmouYWRkKHNlbGYuZmlsZV9wYXRoKQorCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoRmlsZUV4aXN0c0Vycm9yKToKKyAgICAgICAgICAgIHdpdGggc2VsZi50YXJvcGVuKHRtcG5hbWUsICJ4Iik6CisgICAgICAgICAgICAgICAgcGFzcworCisgICAgICAgIHdpdGggc2VsZi50YXJvcGVuKHRtcG5hbWUpIGFzIHRvYmo6CisgICAgICAgICAgICBuYW1lcyA9IHRvYmouZ2V0bmFtZXMoKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihuYW1lcyksIDEpCisgICAgICAgIHNlbGYuYXNzZXJ0SW4oInNwYW1lZ2dzNDIiLCBuYW1lc1swXSkKKworCitjbGFzcyBHemlwQ3JlYXRlVGVzdChHemlwVGVzdCwgQ3JlYXRlVGVzdCk6CisgICAgcGFzcworCisKK2NsYXNzIEJ6MkNyZWF0ZVRlc3QoQnoyVGVzdCwgQ3JlYXRlVGVzdCk6CisgICAgcGFzcworCisKK2NsYXNzIEx6bWFDcmVhdGVUZXN0KEx6bWFUZXN0LCBDcmVhdGVUZXN0KToKKyAgICBwYXNzCisKKworY2xhc3MgQ3JlYXRlV2l0aFhNb2RlVGVzdChDcmVhdGVUZXN0KToKKworICAgIHByZWZpeCA9ICJ4IgorCisgICAgdGVzdF9jcmVhdGVfdGFyb3BlbiA9IE5vbmUKKyAgICB0ZXN0X2NyZWF0ZV9leGlzdGluZ190YXJvcGVuID0gTm9uZQorCisKIEB1bml0dGVzdC5za2lwVW5sZXNzKGhhc2F0dHIob3MsICJsaW5rIiksICJNaXNzaW5nIGhhcmRsaW5rIGltcGxlbWVudGF0aW9uIikKIGNsYXNzIEhhcmRsaW5rVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgIyBUZXN0IHRoZSBjcmVhdGlvbiBvZiBMTktUWVBFIChoYXJkbGluaykgbWVtYmVycyBpbiBhbiBhcmNoaXZlLgpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF90Y2wucHkgYi9MaWIvdGVzdC90ZXN0X3RjbC5weQppbmRleCBkYThmNjI5Li5kMDI1MWFhIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X3RjbC5weQorKysgYi9MaWIvdGVzdC90ZXN0X3RjbC5weQpAQCAtNDE1LDYgKzQxNSw4IEBACiAgICAgICAgICAgICAjIFhYWCBOYU4gcmVwcmVzZW50YXRpb24gY2FuIGJlIG5vdCBwYXJzYWJsZSBieSBmbG9hdCgpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocGFzc1ZhbHVlKCgxLCAnMicsICgzLjQsKSkpLAogICAgICAgICAgICAgICAgICAgICAgICAgICgxLCAnMicsICgzLjQsKSkgaWYgc2VsZi53YW50b2JqZWN0cyBlbHNlICcxIDIgMy40JykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwYXNzVmFsdWUoWydhJywgWydiJywgJ2MnXV0pLAorICAgICAgICAgICAgICAgICAgICAgICAgICgnYScsICgnYicsICdjJykpIGlmIHNlbGYud2FudG9iamVjdHMgZWxzZSAnYSB7YiBjfScpCiAKICAgICBkZWYgdGVzdF91c2VyX2NvbW1hbmQoc2VsZik6CiAgICAgICAgIHJlc3VsdCA9IE5vbmUKQEAgLTQ2Niw2ICs0NjgsNyBAQAogICAgICAgICAjIFhYWCBOYU4gcmVwcmVzZW50YXRpb24gY2FuIGJlIG5vdCBwYXJzYWJsZSBieSBmbG9hdCgpCiAgICAgICAgIGNoZWNrKCgpLCAnJykKICAgICAgICAgY2hlY2soKDEsICgyLCksICgzLCA0KSwgJzUgNicsICgpKSwgJzEgMiB7MyA0fSB7NSA2fSB7fScpCisgICAgICAgIGNoZWNrKFsxLCBbMixdLCBbMywgNF0sICc1IDYnLCBbXV0sICcxIDIgezMgNH0gezUgNn0ge30nKQogCiAgICAgZGVmIHRlc3Rfc3BsaXRsaXN0KHNlbGYpOgogICAgICAgICBzcGxpdGxpc3QgPSBzZWxmLmludGVycC50ay5zcGxpdGxpc3QKQEAgLTQ5MSwxMiArNDk0LDE1IEBACiAgICAgICAgICAgICAoJ2EgMy40JywgKCdhJywgJzMuNCcpKSwKICAgICAgICAgICAgICgoJ2EnLCAzLjQpLCAoJ2EnLCAzLjQpKSwKICAgICAgICAgICAgICgoKSwgKCkpLAorICAgICAgICAgICAgKFtdLCAoKSksCisgICAgICAgICAgICAoWydhJywgWydiJywgJ2MnXV0sICgnYScsIFsnYicsICdjJ10pKSwKICAgICAgICAgICAgIChjYWxsKCdsaXN0JywgMSwgJzInLCAoMy40LCkpLAogICAgICAgICAgICAgICAgICgxLCAnMicsICgzLjQsKSkgaWYgc2VsZi53YW50b2JqZWN0cyBlbHNlCiAgICAgICAgICAgICAgICAgKCcxJywgJzInLCAnMy40JykpLAogICAgICAgICBdCisgICAgICAgIHRrX3BhdGNobGV2ZWwgPSBnZXRfdGtfcGF0Y2hsZXZlbCgpCiAgICAgICAgIGlmIHRjbF92ZXJzaW9uID49ICg4LCA1KToKLSAgICAgICAgICAgIGlmIG5vdCBzZWxmLndhbnRvYmplY3RzIG9yIGdldF90a19wYXRjaGxldmVsKCkgPCAoOCwgNSwgNSk6CisgICAgICAgICAgICBpZiBub3Qgc2VsZi53YW50b2JqZWN0cyBvciB0a19wYXRjaGxldmVsIDwgKDgsIDUsIDUpOgogICAgICAgICAgICAgICAgICMgQmVmb3JlIDguNS41IGRpY3RzIHdlcmUgY29udmVydGVkIHRvIGxpc3RzIHRocm91Z2ggc3RyaW5nCiAgICAgICAgICAgICAgICAgZXhwZWN0ZWQgPSAoJzEyJywgJ1x1MjBhYycsICdceGUyXHg4Mlx4YWMnLCAnMy40JykKICAgICAgICAgICAgIGVsc2U6CkBAIC01MDUsOCArNTExLDExIEBACiAgICAgICAgICAgICAgICAgKGNhbGwoJ2RpY3QnLCAnY3JlYXRlJywgMTIsICdcdTIwYWMnLCBiJ1x4ZTJceDgyXHhhYycsICgzLjQsKSksCiAgICAgICAgICAgICAgICAgICAgIGV4cGVjdGVkKSwKICAgICAgICAgICAgIF0KKyAgICAgICAgZGJnX2luZm8gPSAoJ3dhbnQgb2JqZWN0cz8gJXMsIFRjbCB2ZXJzaW9uOiAlcywgVGsgcGF0Y2hsZXZlbDogJXMnCisgICAgICAgICAgICAgICAgICAgICUgKHNlbGYud2FudG9iamVjdHMsIHRjbF92ZXJzaW9uLCB0a19wYXRjaGxldmVsKSkKICAgICAgICAgZm9yIGFyZywgcmVzIGluIHRlc3RjYXNlczoKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3BsaXRsaXN0KGFyZyksIHJlcywgbXNnPWFyZykKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3BsaXRsaXN0KGFyZyksIHJlcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FyZz0lYSwgJXMnICUgKGFyZywgZGJnX2luZm8pKQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUY2xFcnJvciwgc3BsaXRsaXN0LCAneycpCiAKICAgICBkZWYgdGVzdF9zcGxpdChzZWxmKToKQEAgLTUzOCw2ICs1NDcsOSBAQAogICAgICAgICAgICAgKCgnYScsIDMuNCksICgnYScsIDMuNCkpLAogICAgICAgICAgICAgKCgnYScsICgyLCAzLjQpKSwgKCdhJywgKDIsIDMuNCkpKSwKICAgICAgICAgICAgICgoKSwgKCkpLAorICAgICAgICAgICAgKFtdLCAoKSksCisgICAgICAgICAgICAoWydhJywgJ2IgYyddLCAoJ2EnLCAoJ2InLCAnYycpKSksCisgICAgICAgICAgICAoWydhJywgWydiJywgJ2MnXV0sICgnYScsICgnYicsICdjJykpKSwKICAgICAgICAgICAgIChjYWxsKCdsaXN0JywgMSwgJzInLCAoMy40LCkpLAogICAgICAgICAgICAgICAgICgxLCAnMicsICgzLjQsKSkgaWYgc2VsZi53YW50b2JqZWN0cyBlbHNlCiAgICAgICAgICAgICAgICAgKCcxJywgJzInLCAnMy40JykpLApkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF90ZWxuZXRsaWIucHkgYi9MaWIvdGVzdC90ZXN0X3RlbG5ldGxpYi5weQppbmRleCBlZTFjMzU3Li5lMWVmOTlhIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X3RlbG5ldGxpYi5weQorKysgYi9MaWIvdGVzdC90ZXN0X3RlbG5ldGxpYi5weQpAQCAtMTEsNyArMTEsNyBAQAogSE9TVCA9IHN1cHBvcnQuSE9TVAogCiBkZWYgc2VydmVyKGV2dCwgc2Vydik6Ci0gICAgc2Vydi5saXN0ZW4oNSkKKyAgICBzZXJ2Lmxpc3RlbigpCiAgICAgZXZ0LnNldCgpCiAgICAgdHJ5OgogICAgICAgICBjb25uLCBhZGRyID0gc2Vydi5hY2NlcHQoKQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF90aHJlYWRlZF9pbXBvcnQucHkgYi9MaWIvdGVzdC90ZXN0X3RocmVhZGVkX2ltcG9ydC5weQppbmRleCAxOTJmYTA4Li41YmY2NzBjIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X3RocmVhZGVkX2ltcG9ydC5weQorKysgYi9MaWIvdGVzdC90ZXN0X3RocmVhZGVkX2ltcG9ydC5weQpAQCAtMTE1LDEyICsxMTUsMTggQEAKICAgICAgICAgICAgIGVycm9ycyA9IFtdCiAgICAgICAgICAgICBkb25lX3Rhc2tzID0gW10KICAgICAgICAgICAgIGRvbmUuY2xlYXIoKQorICAgICAgICAgICAgdDAgPSB0aW1lLm1vbm90b25pYygpCiAgICAgICAgICAgICBmb3IgaSBpbiByYW5nZShOKToKICAgICAgICAgICAgICAgICB0ID0gdGhyZWFkaW5nLlRocmVhZCh0YXJnZXQ9dGFzaywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmdzPShOLCBkb25lLCBkb25lX3Rhc2tzLCBlcnJvcnMsKSkKICAgICAgICAgICAgICAgICB0LnN0YXJ0KCkKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShkb25lLndhaXQoNjApKQotICAgICAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShlcnJvcnMpCisgICAgICAgICAgICBjb21wbGV0ZWQgPSBkb25lLndhaXQoMTAgKiA2MCkKKyAgICAgICAgICAgIGR0ID0gdGltZS5tb25vdG9uaWMoKSAtIHQwCisgICAgICAgICAgICBpZiB2ZXJib3NlOgorICAgICAgICAgICAgICAgIHByaW50KCIlLjFmIG1zIiAlIChkdCoxZTMpLCBmbHVzaD1UcnVlLCBlbmQ9IiAiKQorICAgICAgICAgICAgZGJnX2luZm8gPSAnZG9uZTogJXMvJXMnICUgKGxlbihkb25lX3Rhc2tzKSwgTikKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoZXJyb3JzLCBkYmdfaW5mbykKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShjb21wbGV0ZWQsIGRiZ19pbmZvKQogICAgICAgICAgICAgaWYgdmVyYm9zZToKICAgICAgICAgICAgICAgICBwcmludCgiT0suIikKIApkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF90aW1laXQucHkgYi9MaWIvdGVzdC90ZXN0X3RpbWVpdC5weQppbmRleCAwOWU3NmUwLi4yNjdkMmM4IDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X3RpbWVpdC5weQorKysgYi9MaWIvdGVzdC90ZXN0X3RpbWVpdC5weQpAQCAtOTgsOSArOTgsMTAgQEAKICAgICBkZWYgZmFrZV9jYWxsYWJsZV9zdG10KHNlbGYpOgogICAgICAgICBzZWxmLmZha2VfdGltZXIuaW5jKCkKIAotICAgIGRlZiB0aW1laXQoc2VsZiwgc3RtdCwgc2V0dXAsIG51bWJlcj1Ob25lKToKKyAgICBkZWYgdGltZWl0KHNlbGYsIHN0bXQsIHNldHVwLCBudW1iZXI9Tm9uZSwgZ2xvYmFscz1Ob25lKToKICAgICAgICAgc2VsZi5mYWtlX3RpbWVyID0gRmFrZVRpbWVyKCkKLSAgICAgICAgdCA9IHRpbWVpdC5UaW1lcihzdG10PXN0bXQsIHNldHVwPXNldHVwLCB0aW1lcj1zZWxmLmZha2VfdGltZXIpCisgICAgICAgIHQgPSB0aW1laXQuVGltZXIoc3RtdD1zdG10LCBzZXR1cD1zZXR1cCwgdGltZXI9c2VsZi5mYWtlX3RpbWVyLAorICAgICAgICAgICAgICAgIGdsb2JhbHM9Z2xvYmFscykKICAgICAgICAga3dhcmdzID0ge30KICAgICAgICAgaWYgbnVtYmVyIGlzIE5vbmU6CiAgICAgICAgICAgICBudW1iZXIgPSBERUZBVUxUX05VTUJFUgpAQCAtMTM5LDYgKzE0MCwxNyBAQAogICAgICAgICAgICAgICAgIHRpbWVyPUZha2VUaW1lcigpKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRlbHRhX3RpbWUsIDApCiAKKyAgICBkZWYgdGVzdF90aW1laXRfZ2xvYmFsc19hcmdzKHNlbGYpOgorICAgICAgICBnbG9iYWwgX2dsb2JhbF90aW1lcgorICAgICAgICBfZ2xvYmFsX3RpbWVyID0gRmFrZVRpbWVyKCkKKyAgICAgICAgdCA9IHRpbWVpdC5UaW1lcihzdG10PSdfZ2xvYmFsX3RpbWVyLmluYygpJywgdGltZXI9X2dsb2JhbF90aW1lcikKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoTmFtZUVycm9yLCB0LnRpbWVpdCwgbnVtYmVyPTMpCisgICAgICAgIHRpbWVpdC50aW1laXQoc3RtdD0nX2dsb2JhbF90aW1lci5pbmMoKScsIHRpbWVyPV9nbG9iYWxfdGltZXIsCisgICAgICAgICAgICAgICAgICAgICAgZ2xvYmFscz1nbG9iYWxzKCksIG51bWJlcj0zKQorICAgICAgICBsb2NhbF90aW1lciA9IEZha2VUaW1lcigpCisgICAgICAgIHRpbWVpdC50aW1laXQoc3RtdD0nbG9jYWxfdGltZXIuaW5jKCknLCB0aW1lcj1sb2NhbF90aW1lciwKKyAgICAgICAgICAgICAgICAgICAgICBnbG9iYWxzPWxvY2FscygpLCBudW1iZXI9MykKKwogICAgIGRlZiByZXBlYXQoc2VsZiwgc3RtdCwgc2V0dXAsIHJlcGVhdD1Ob25lLCBudW1iZXI9Tm9uZSk6CiAgICAgICAgIHNlbGYuZmFrZV90aW1lciA9IEZha2VUaW1lcigpCiAgICAgICAgIHQgPSB0aW1laXQuVGltZXIoc3RtdD1zdG10LCBzZXR1cD1zZXR1cCwgdGltZXI9c2VsZi5mYWtlX3RpbWVyKQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF90aW1lb3V0LnB5IGIvTGliL3Rlc3QvdGVzdF90aW1lb3V0LnB5CmluZGV4IDcwM2M0M2EuLjNjNzVkY2MgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfdGltZW91dC5weQorKysgYi9MaWIvdGVzdC90ZXN0X3RpbWVvdXQucHkKQEAgLTI0MywxNCArMjQzLDE0IEBACiAgICAgZGVmIHRlc3RBY2NlcHRUaW1lb3V0KHNlbGYpOgogICAgICAgICAjIFRlc3QgYWNjZXB0KCkgdGltZW91dAogICAgICAgICBzdXBwb3J0LmJpbmRfcG9ydChzZWxmLnNvY2ssIHNlbGYubG9jYWxob3N0KQotICAgICAgICBzZWxmLnNvY2subGlzdGVuKDUpCisgICAgICAgIHNlbGYuc29jay5saXN0ZW4oKQogICAgICAgICBzZWxmLl9zb2NrX29wZXJhdGlvbigxLCAxLjUsICdhY2NlcHQnKQogCiAgICAgZGVmIHRlc3RTZW5kKHNlbGYpOgogICAgICAgICAjIFRlc3Qgc2VuZCgpIHRpbWVvdXQKICAgICAgICAgd2l0aCBzb2NrZXQuc29ja2V0KHNvY2tldC5BRl9JTkVULCBzb2NrZXQuU09DS19TVFJFQU0pIGFzIHNlcnY6CiAgICAgICAgICAgICBzdXBwb3J0LmJpbmRfcG9ydChzZXJ2LCBzZWxmLmxvY2FsaG9zdCkKLSAgICAgICAgICAgIHNlcnYubGlzdGVuKDUpCisgICAgICAgICAgICBzZXJ2Lmxpc3RlbigpCiAgICAgICAgICAgICBzZWxmLnNvY2suY29ubmVjdChzZXJ2LmdldHNvY2tuYW1lKCkpCiAgICAgICAgICAgICAjIFNlbmQgYSBsb3Qgb2YgZGF0YSBpbiBvcmRlciB0byBieXBhc3MgYnVmZmVyaW5nIGluIHRoZSBUQ1Agc3RhY2suCiAgICAgICAgICAgICBzZWxmLl9zb2NrX29wZXJhdGlvbigxMDAsIDEuNSwgJ3NlbmQnLCBiIlgiICogMjAwMDAwKQpAQCAtMjU5LDcgKzI1OSw3IEBACiAgICAgICAgICMgVGVzdCBzZW5kdG8oKSB0aW1lb3V0CiAgICAgICAgIHdpdGggc29ja2V0LnNvY2tldChzb2NrZXQuQUZfSU5FVCwgc29ja2V0LlNPQ0tfU1RSRUFNKSBhcyBzZXJ2OgogICAgICAgICAgICAgc3VwcG9ydC5iaW5kX3BvcnQoc2Vydiwgc2VsZi5sb2NhbGhvc3QpCi0gICAgICAgICAgICBzZXJ2Lmxpc3Rlbig1KQorICAgICAgICAgICAgc2Vydi5saXN0ZW4oKQogICAgICAgICAgICAgc2VsZi5zb2NrLmNvbm5lY3Qoc2Vydi5nZXRzb2NrbmFtZSgpKQogICAgICAgICAgICAgIyBUaGUgYWRkcmVzcyBhcmd1bWVudCBpcyBpZ25vcmVkIHNpbmNlIHdlIGFscmVhZHkgY29ubmVjdGVkLgogICAgICAgICAgICAgc2VsZi5fc29ja19vcGVyYXRpb24oMTAwLCAxLjUsICdzZW5kdG8nLCBiIlgiICogMjAwMDAwLApAQCAtMjY5LDcgKzI2OSw3IEBACiAgICAgICAgICMgVGVzdCBzZW5kYWxsKCkgdGltZW91dAogICAgICAgICB3aXRoIHNvY2tldC5zb2NrZXQoc29ja2V0LkFGX0lORVQsIHNvY2tldC5TT0NLX1NUUkVBTSkgYXMgc2VydjoKICAgICAgICAgICAgIHN1cHBvcnQuYmluZF9wb3J0KHNlcnYsIHNlbGYubG9jYWxob3N0KQotICAgICAgICAgICAgc2Vydi5saXN0ZW4oNSkKKyAgICAgICAgICAgIHNlcnYubGlzdGVuKCkKICAgICAgICAgICAgIHNlbGYuc29jay5jb25uZWN0KHNlcnYuZ2V0c29ja25hbWUoKSkKICAgICAgICAgICAgICMgU2VuZCBhIGxvdCBvZiBkYXRhIGluIG9yZGVyIHRvIGJ5cGFzcyBidWZmZXJpbmcgaW4gdGhlIFRDUCBzdGFjay4KICAgICAgICAgICAgIHNlbGYuX3NvY2tfb3BlcmF0aW9uKDEwMCwgMS41LCAnc2VuZGFsbCcsIGIiWCIgKiAyMDAwMDApCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X3Rva2VuaXplLnB5IGIvTGliL3Rlc3QvdGVzdF90b2tlbml6ZS5weQppbmRleCAzODYxMWE3Li44Zjc0YTA2IDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X3Rva2VuaXplLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfdG9rZW5pemUucHkKQEAgLTQ2NCw3ICs0NjQsNyBAQAogCiBNdWx0aXBsaWNhdGl2ZQogCi0gICAgPj4+IGR1bXBfdG9rZW5zKCJ4ID0gMS8vMSoxLzUqMTIlMHgxMiIpCisgICAgPj4+IGR1bXBfdG9rZW5zKCJ4ID0gMS8vMSoxLzUqMTIlMHgxMkA0MiIpCiAgICAgRU5DT0RJTkcgICAndXRmLTgnICAgICAgICgwLCAwKSAoMCwgMCkKICAgICBOQU1FICAgICAgICd4JyAgICAgICAgICAgKDEsIDApICgxLCAxKQogICAgIE9QICAgICAgICAgJz0nICAgICAgICAgICAoMSwgMikgKDEsIDMpCkBAIC00NzksNiArNDc5LDggQEAKICAgICBOVU1CRVIgICAgICcxMicgICAgICAgICAgKDEsIDEzKSAoMSwgMTUpCiAgICAgT1AgICAgICAgICAnJScgICAgICAgICAgICgxLCAxNSkgKDEsIDE2KQogICAgIE5VTUJFUiAgICAgJzB4MTInICAgICAgICAoMSwgMTYpICgxLCAyMCkKKyAgICBPUCAgICAgICAgICdAJyAgICAgICAgICAgKDEsIDIwKSAoMSwgMjEpCisgICAgTlVNQkVSICAgICAnNDInICAgICAgICAgICgxLCAyMSkgKDEsIDIzKQogCiBVbmFyeQogCkBAIC0xMTU0LDYgKzExNTYsNyBAQAogICAgICAgICBzZWxmLmFzc2VydEV4YWN0VHlwZUVxdWFsKCcvLycsIHRva2VuLkRPVUJMRVNMQVNIKQogICAgICAgICBzZWxmLmFzc2VydEV4YWN0VHlwZUVxdWFsKCcvLz0nLCB0b2tlbi5ET1VCTEVTTEFTSEVRVUFMKQogICAgICAgICBzZWxmLmFzc2VydEV4YWN0VHlwZUVxdWFsKCdAJywgdG9rZW4uQVQpCisgICAgICAgIHNlbGYuYXNzZXJ0RXhhY3RUeXBlRXF1YWwoJ0A9JywgdG9rZW4uQVRFUVVBTCkKIAogICAgICAgICBzZWxmLmFzc2VydEV4YWN0VHlwZUVxdWFsKCdhKioyK2IqKjI9PWMqKjInLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5BTUUsIHRva2VuLkRPVUJMRVNUQVIsIE5VTUJFUiwKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfdHJhY2UucHkgYi9MaWIvdGVzdC90ZXN0X3RyYWNlLnB5CmluZGV4IDFjZWM3MTAuLjA1YmYyNzQgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfdHJhY2UucHkKKysrIGIvTGliL3Rlc3QvdGVzdF90cmFjZS5weQpAQCAtMTAsNyArMTAsNiBAQAogCiBmcm9tIHRlc3QudHJhY2VkbW9kdWxlcyBpbXBvcnQgdGVzdG1vZAogCi0KICMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIFV0aWxpdGllcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSMKIAogZGVmIGZpeF9leHRfcHkoZmlsZW5hbWUpOgpAQCAtMjI0LDYgKzIyMywxMSBAQAogICAgICAgICBzZWxmLmFkZENsZWFudXAoc3lzLnNldHRyYWNlLCBzeXMuZ2V0dHJhY2UoKSkKICAgICAgICAgc2VsZi50cmFjZXIgPSBUcmFjZShjb3VudD0wLCB0cmFjZT0wLCBjb3VudGZ1bmNzPTEpCiAgICAgICAgIHNlbGYuZmlsZW1vZCA9IG15X2ZpbGVfYW5kX21vZG5hbWUoKQorICAgICAgICBzZWxmLl9zYXZlZF90cmFjZWZ1bmMgPSBzeXMuZ2V0dHJhY2UoKQorCisgICAgZGVmIHRlYXJEb3duKHNlbGYpOgorICAgICAgICBpZiBzZWxmLl9zYXZlZF90cmFjZWZ1bmMgaXMgbm90IE5vbmU6CisgICAgICAgICAgICBzeXMuc2V0dHJhY2Uoc2VsZi5fc2F2ZWRfdHJhY2VmdW5jKQogCiAgICAgZGVmIHRlc3Rfc2ltcGxlX2NhbGxlcihzZWxmKToKICAgICAgICAgc2VsZi50cmFjZXIucnVuZnVuYyh0cmFjZWRfZnVuY19zaW1wbGVfY2FsbGVyLCAxKQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF90cmFjZWJhY2sucHkgYi9MaWIvdGVzdC90ZXN0X3RyYWNlYmFjay5weQppbmRleCBjMjk1NTYzLi42YmQ2ZmE2IDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X3RyYWNlYmFjay5weQorKysgYi9MaWIvdGVzdC90ZXN0X3RyYWNlYmFjay5weQpAQCAtNiw2ICs2LDggQEAKIGltcG9ydCByZQogZnJvbSB0ZXN0LnN1cHBvcnQgaW1wb3J0IHJ1bl91bml0dGVzdCwgRXJyb3IsIGNhcHR1cmVkX291dHB1dAogZnJvbSB0ZXN0LnN1cHBvcnQgaW1wb3J0IFRFU1RGTiwgdW5saW5rLCBjcHl0aG9uX29ubHkKK2Zyb20gdGVzdC5zY3JpcHRfaGVscGVyIGltcG9ydCBhc3NlcnRfcHl0aG9uX29rCitpbXBvcnQgdGV4dHdyYXAKIAogaW1wb3J0IHRyYWNlYmFjawogCkBAIC05Miw5ICs5NCw5IEBACiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKGVyciksIDEpCiAgICAgICAgIHN0cl92YWx1ZSA9ICc8dW5wcmludGFibGUgJXMgb2JqZWN0PicgJSBYLl9fbmFtZV9fCiAgICAgICAgIGlmIFguX19tb2R1bGVfXyBpbiAoJ19fbWFpbl9fJywgJ2J1aWx0aW5zJyk6Ci0gICAgICAgICAgICBzdHJfbmFtZSA9IFguX19uYW1lX18KKyAgICAgICAgICAgIHN0cl9uYW1lID0gWC5fX3F1YWxuYW1lX18KICAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHN0cl9uYW1lID0gJy4nLmpvaW4oW1guX19tb2R1bGVfXywgWC5fX25hbWVfX10pCisgICAgICAgICAgICBzdHJfbmFtZSA9ICcuJy5qb2luKFtYLl9fbW9kdWxlX18sIFguX19xdWFsbmFtZV9fXSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChlcnJbMF0sICIlczogJXNcbiIgJSAoc3RyX25hbWUsIHN0cl92YWx1ZSkpCiAKICAgICBkZWYgdGVzdF93aXRob3V0X2V4Y2VwdGlvbihzZWxmKToKQEAgLTE2OSw2ICsxNzEsMzcgQEAKICAgICAgICAgIyBJc3N1ZSAjMTg5NjA6IGNvZGluZyBzcGVjIHNob3VsZCBoYXMgbm8gZWZmZWN0CiAgICAgICAgIGRvX3Rlc3QoIjBcbiMgY29kaW5nOiBHQktcbiIsICJoXHhlOSBobyIsICd1dGYtOCcsIDUpCiAKKyAgICBkZWYgdGVzdF9wcmludF90cmFjZWJhY2tfYXRfZXhpdChzZWxmKToKKyAgICAgICAgIyBJc3N1ZSAjMjI1OTk6IEVuc3VyZSB0aGF0IGl0IGlzIHBvc3NpYmxlIHRvIHVzZSB0aGUgdHJhY2ViYWNrIG1vZHVsZQorICAgICAgICAjIHRvIGRpc3BsYXkgYW4gZXhjZXB0aW9uIGF0IFB5dGhvbiBleGl0CisgICAgICAgIGNvZGUgPSB0ZXh0d3JhcC5kZWRlbnQoIiIiCisgICAgICAgICAgICBpbXBvcnQgc3lzCisgICAgICAgICAgICBpbXBvcnQgdHJhY2ViYWNrCisKKyAgICAgICAgICAgIGNsYXNzIFByaW50RXhjZXB0aW9uQXRFeGl0KG9iamVjdCk6CisgICAgICAgICAgICAgICAgZGVmIF9faW5pdF9fKHNlbGYpOgorICAgICAgICAgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgICAgICAgICB4ID0gMSAvIDAKKyAgICAgICAgICAgICAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbjoKKyAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuZXhjX2luZm8gPSBzeXMuZXhjX2luZm8oKQorICAgICAgICAgICAgICAgICAgICAgICAgIyBzZWxmLmV4Y19pbmZvWzFdICh0cmFjZWJhY2spIGNvbnRhaW5zIGZyYW1lczoKKyAgICAgICAgICAgICAgICAgICAgICAgICMgZXhwbGljaXRseSBjbGVhciB0aGUgcmVmZXJlbmNlIHRvIHNlbGYgaW4gdGhlIGN1cnJlbnQKKyAgICAgICAgICAgICAgICAgICAgICAgICMgZnJhbWUgdG8gYnJlYWsgYSByZWZlcmVuY2UgY3ljbGUKKyAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYgPSBOb25lCisKKyAgICAgICAgICAgICAgICBkZWYgX19kZWxfXyhzZWxmKToKKyAgICAgICAgICAgICAgICAgICAgdHJhY2ViYWNrLnByaW50X2V4Y2VwdGlvbigqc2VsZi5leGNfaW5mbykKKworICAgICAgICAgICAgIyBLZWVwIGEgcmVmZXJlbmNlIGluIHRoZSBtb2R1bGUgbmFtZXNwYWNlIHRvIGNhbGwgdGhlIGRlc3RydWN0b3IKKyAgICAgICAgICAgICMgd2hlbiB0aGUgbW9kdWxlIGlzIHVubG9hZGVkCisgICAgICAgICAgICBvYmogPSBQcmludEV4Y2VwdGlvbkF0RXhpdCgpCisgICAgICAgICIiIikKKyAgICAgICAgcmMsIHN0ZG91dCwgc3RkZXJyID0gYXNzZXJ0X3B5dGhvbl9vaygnLWMnLCBjb2RlKQorICAgICAgICBleHBlY3RlZCA9IFtiJ1RyYWNlYmFjayAobW9zdCByZWNlbnQgY2FsbCBsYXN0KTonLAorICAgICAgICAgICAgICAgICAgICBiJyAgRmlsZSAiPHN0cmluZz4iLCBsaW5lIDgsIGluIF9faW5pdF9fJywKKyAgICAgICAgICAgICAgICAgICAgYidaZXJvRGl2aXNpb25FcnJvcjogZGl2aXNpb24gYnkgemVybyddCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RkZXJyLnNwbGl0bGluZXMoKSwgZXhwZWN0ZWQpCisKIAogY2xhc3MgVHJhY2ViYWNrRm9ybWF0VGVzdHModW5pdHRlc3QuVGVzdENhc2UpOgogCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X3RyYWNlbWFsbG9jLnB5IGIvTGliL3Rlc3QvdGVzdF90cmFjZW1hbGxvYy5weQppbmRleCA0OGNjYWIyLi4xOWQzZmQ4IDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X3RyYWNlbWFsbG9jLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfdHJhY2VtYWxsb2MucHkKQEAgLTc1NSw3ICs3NTUsNyBAQAogICAgICAgICBzdGRvdXQgPSBzdGRvdXQucnN0cmlwKCkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdGRvdXQsIGInRmFsc2UnKQogCi0gICAgQHVuaXR0ZXN0LnNraXBJZihzY3JpcHRfaGVscGVyLl9pbnRlcnByZXRlcl9yZXF1aXJlc19lbnZpcm9ubWVudCgpLAorICAgIEB1bml0dGVzdC5za2lwSWYoc2NyaXB0X2hlbHBlci5pbnRlcnByZXRlcl9yZXF1aXJlc19lbnZpcm9ubWVudCgpLAogICAgICAgICAgICAgICAgICAgICAgJ0Nhbm5vdCBydW4gLUUgdGVzdHMgd2hlbiBQWVRIT04gZW52IHZhcnMgYXJlIHJlcXVpcmVkLicpCiAgICAgZGVmIHRlc3RfZW52X3Zhcl9pZ25vcmVkX3dpdGhfRShzZWxmKToKICAgICAgICAgIiIiUFlUSE9OKiBlbnZpcm9ubWVudCB2YXJpYWJsZXMgbXVzdCBiZSBpZ25vcmVkIHdoZW4gLUUgaXMgcHJlc2VudC4iIiIKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfdHVwbGUucHkgYi9MaWIvdGVzdC90ZXN0X3R1cGxlLnB5CmluZGV4IDUxODc1YTEuLmQ3MTExMTYgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfdHVwbGUucHkKKysrIGIvTGliL3Rlc3QvdGVzdF90dXBsZS5weQpAQCAtNiw2ICs2LDExIEBACiBjbGFzcyBUdXBsZVRlc3Qoc2VxX3Rlc3RzLkNvbW1vblRlc3QpOgogICAgIHR5cGUydGVzdCA9IHR1cGxlCiAKKyAgICBkZWYgdGVzdF9nZXRpdGVtX2Vycm9yKHNlbGYpOgorICAgICAgICBtc2cgPSAidHVwbGUgaW5kaWNlcyBtdXN0IGJlIGludGVnZXJzIG9yIHNsaWNlcyIKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlc1JlZ2V4KFR5cGVFcnJvciwgbXNnKToKKyAgICAgICAgICAgICgpWydhJ10KKwogICAgIGRlZiB0ZXN0X2NvbnN0cnVjdG9ycyhzZWxmKToKICAgICAgICAgc3VwZXIoKS50ZXN0X2NvbnN0cnVjdG9ycygpCiAgICAgICAgICMgY2FsbGluZyBidWlsdC1pbiB0eXBlcyB3aXRob3V0IGFyZ3VtZW50IG11c3QgcmV0dXJuIGVtcHR5CkBAIC0yMDMsNiArMjA4LDE0IEBACiAgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yKToKICAgICAgICAgICAgIFszLF0gKyBUKCgxLDIpKQogCisgICAgZGVmIHRlc3RfbGV4aWNvZ3JhcGhpY19vcmRlcmluZyhzZWxmKToKKyAgICAgICAgIyBJc3N1ZSAyMTEwMAorICAgICAgICBhID0gc2VsZi50eXBlMnRlc3QoWzEsIDJdKQorICAgICAgICBiID0gc2VsZi50eXBlMnRlc3QoWzEsIDIsIDBdKQorICAgICAgICBjID0gc2VsZi50eXBlMnRlc3QoWzEsIDNdKQorICAgICAgICBzZWxmLmFzc2VydExlc3MoYSwgYikKKyAgICAgICAgc2VsZi5hc3NlcnRMZXNzKGIsIGMpCisKIGRlZiB0ZXN0X21haW4oKToKICAgICBzdXBwb3J0LnJ1bl91bml0dGVzdChUdXBsZVRlc3QpCiAKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfdHlwZXMucHkgYi9MaWIvdGVzdC90ZXN0X3R5cGVzLnB5CmluZGV4IGVjMTA3NTIuLjExZDk1NDYgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfdHlwZXMucHkKKysrIGIvTGliL3Rlc3QvdGVzdF90eXBlcy5weQpAQCAtMzQzLDYgKzM0Myw4IEBACiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIDMgLl9fZm9ybWF0X18sICIsbiIpCiAgICAgICAgICMgY2FuJ3QgaGF2ZSAnLCcgd2l0aCAnYycKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgMyAuX19mb3JtYXRfXywgIixjIikKKyAgICAgICAgIyBjYW4ndCBoYXZlICcjJyB3aXRoICdjJworICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCAzIC5fX2Zvcm1hdF9fLCAiI2MiKQogCiAgICAgICAgICMgZW5zdXJlIHRoYXQgb25seSBpbnQgYW5kIGZsb2F0IHR5cGUgc3BlY2lmaWVycyB3b3JrCiAgICAgICAgIGZvciBmb3JtYXRfc3BlYyBpbiAoW2Nocih4KSBmb3IgeCBpbiByYW5nZShvcmQoJ2EnKSwgb3JkKCd6JykrMSldICsKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfdW5pY29kZS5weSBiL0xpYi90ZXN0L3Rlc3RfdW5pY29kZS5weQppbmRleCA3NzM1YTZiLi5lNGNkOTliIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X3VuaWNvZGUucHkKKysrIGIvTGliL3Rlc3QvdGVzdF91bmljb2RlLnB5CkBAIC04LDYgKzgsNyBAQAogaW1wb3J0IF9zdHJpbmcKIGltcG9ydCBjb2RlY3MKIGltcG9ydCBpdGVydG9vbHMKK2ltcG9ydCBvcGVyYXRvcgogaW1wb3J0IHN0cnVjdAogaW1wb3J0IHN5cwogaW1wb3J0IHVuaXR0ZXN0CkBAIC0yNTAsNiArMjUxLDcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge29yZCgnYScpOiBOb25lLCBvcmQoJ2InKTogJyd9KQogICAgICAgICBzZWxmLmNoZWNrZXF1YWxub2ZpeCgneHl5eCcsICd4engnLCAndHJhbnNsYXRlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge29yZCgneicpOiAneXknfSkKKwogICAgICAgICAjIHRoaXMgbmVlZHMgbWFrZXRyYW5zKCkKICAgICAgICAgc2VsZi5jaGVja2VxdWFsbm9maXgoJ2FiYWJhYmMnLCAnYWJhYmFiYycsICd0cmFuc2xhdGUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7J2InOiAnPGk+J30pCkBAIC0yNTksNiArMjYxLDMzIEBACiAgICAgICAgIHRibCA9IHNlbGYudHlwZTJ0ZXN0Lm1ha2V0cmFucygnYWJjJywgJ3h5eicsICdkJykKICAgICAgICAgc2VsZi5jaGVja2VxdWFsbm9maXgoJ3h5enp5JywgJ2FiZGNkY2JkZGRkJywgJ3RyYW5zbGF0ZScsIHRibCkKIAorICAgICAgICAjIHZhcmlvdXMgdGVzdHMgc3dpdGNoaW5nIGZyb20gQVNDSUkgdG8gbGF0aW4xIG9yIHRoZSBvcHBvc2l0ZTsKKyAgICAgICAgIyBzYW1lIGxlbmd0aCwgcmVtb3ZlIGEgbGV0dGVyLCBvciByZXBsYWNlIHdpdGggYSBsb25nZXIgc3RyaW5nLgorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCJbYV0iLnRyYW5zbGF0ZShzdHIubWFrZXRyYW5zKCdhJywgJ1gnKSksCisgICAgICAgICAgICAgICAgICAgICAgICAgIltYXSIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoIlthXSIudHJhbnNsYXRlKHN0ci5tYWtldHJhbnMoeydhJzogJ1gnfSkpLAorICAgICAgICAgICAgICAgICAgICAgICAgICJbWF0iKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCJbYV0iLnRyYW5zbGF0ZShzdHIubWFrZXRyYW5zKHsnYSc6IE5vbmV9KSksCisgICAgICAgICAgICAgICAgICAgICAgICAgIltdIikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgiW2FdIi50cmFuc2xhdGUoc3RyLm1ha2V0cmFucyh7J2EnOiAnWFhYJ30pKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAiW1hYWF0iKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCJbYV0iLnRyYW5zbGF0ZShzdHIubWFrZXRyYW5zKHsnYSc6ICdceGU5J30pKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAiW1x4ZTldIikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgiW2FdIi50cmFuc2xhdGUoc3RyLm1ha2V0cmFucyh7J2EnOiAnPFx4ZTk+J30pKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAiWzxceGU5Pl0iKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCJbXHhlOV0iLnRyYW5zbGF0ZShzdHIubWFrZXRyYW5zKHsnXHhlOSc6ICdhJ30pKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAiW2FdIikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgiW1x4ZTldIi50cmFuc2xhdGUoc3RyLm1ha2V0cmFucyh7J1x4ZTknOiBOb25lfSkpLAorICAgICAgICAgICAgICAgICAgICAgICAgICJbXSIpCisKKyAgICAgICAgIyBpbnZhbGlkIFVuaWNvZGUgY2hhcmFjdGVycworICAgICAgICBpbnZhbGlkX2NoYXIgPSAweDEwZmZmZisxCisgICAgICAgIGZvciBiZWZvcmUgaW4gImFceGU5XHUyMGFjXFUwMDEwZmZmZiI6CisgICAgICAgICAgICBtYXBwaW5nID0gc3RyLm1ha2V0cmFucyh7YmVmb3JlOiBpbnZhbGlkX2NoYXJ9KQorICAgICAgICAgICAgdGV4dCA9ICJbJXNdIiAlIGJlZm9yZQorICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgdGV4dC50cmFuc2xhdGUsIG1hcHBpbmcpCisKKyAgICAgICAgIyBlcnJvcnMKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBzZWxmLnR5cGUydGVzdC5tYWtldHJhbnMpCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIHNlbGYudHlwZTJ0ZXN0Lm1ha2V0cmFucywgJ2FiYycsICdkZWZnJykKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBzZWxmLnR5cGUydGVzdC5tYWtldHJhbnMsIDIsICdkZWYnKQpAQCAtMTE1NCwyMCArMTE4MywyMCBAQAogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCclLjJzJyAlICJhXHhlOVx1MjBhYyIsICdhXHhlOScpCiAKICAgICAgICAgI2lzc3VlIDE5OTk1Ci0gICAgICAgIGNsYXNzIFBzdWVkb0ludDoKKyAgICAgICAgY2xhc3MgUHNldWRvSW50OgogICAgICAgICAgICAgZGVmIF9faW5pdF9fKHNlbGYsIHZhbHVlKToKICAgICAgICAgICAgICAgICBzZWxmLnZhbHVlID0gaW50KHZhbHVlKQogICAgICAgICAgICAgZGVmIF9faW50X18oc2VsZik6CiAgICAgICAgICAgICAgICAgcmV0dXJuIHNlbGYudmFsdWUKICAgICAgICAgICAgIGRlZiBfX2luZGV4X18oc2VsZik6CiAgICAgICAgICAgICAgICAgcmV0dXJuIHNlbGYudmFsdWUKLSAgICAgICAgY2xhc3MgUHN1ZWRvRmxvYXQ6CisgICAgICAgIGNsYXNzIFBzZXVkb0Zsb2F0OgogICAgICAgICAgICAgZGVmIF9faW5pdF9fKHNlbGYsIHZhbHVlKToKICAgICAgICAgICAgICAgICBzZWxmLnZhbHVlID0gZmxvYXQodmFsdWUpCiAgICAgICAgICAgICBkZWYgX19pbnRfXyhzZWxmKToKICAgICAgICAgICAgICAgICByZXR1cm4gaW50KHNlbGYudmFsdWUpCi0gICAgICAgIHBpID0gUHN1ZWRvRmxvYXQoMy4xNDE1KQotICAgICAgICBsZXR0ZXJfbSA9IFBzdWVkb0ludCgxMDkpCisgICAgICAgIHBpID0gUHNldWRvRmxvYXQoMy4xNDE1KQorICAgICAgICBsZXR0ZXJfbSA9IFBzZXVkb0ludCgxMDkpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoJyV4JyAlIDQyLCAnMmEnKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCclWCcgJSAxNSwgJ0YnKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCclbycgJSA5LCAnMTEnKQpAQCAtMTE3NiwxMSArMTIwNSwxMSBAQAogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCclWCcgJSBsZXR0ZXJfbSwgJzZEJykKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgnJW8nICUgbGV0dGVyX20sICcxNTUnKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCclYycgJSBsZXR0ZXJfbSwgJ20nKQotICAgICAgICBzZWxmLmFzc2VydFdhcm5zKERlcHJlY2F0aW9uV2FybmluZywgJyV4Jy5fX21vZF9fLCBwaSksCi0gICAgICAgIHNlbGYuYXNzZXJ0V2FybnMoRGVwcmVjYXRpb25XYXJuaW5nLCAnJXgnLl9fbW9kX18sIDMuMTQpLAotICAgICAgICBzZWxmLmFzc2VydFdhcm5zKERlcHJlY2F0aW9uV2FybmluZywgJyVYJy5fX21vZF9fLCAyLjExKSwKLSAgICAgICAgc2VsZi5hc3NlcnRXYXJucyhEZXByZWNhdGlvbldhcm5pbmcsICclbycuX19tb2RfXywgMS43OSksCi0gICAgICAgIHNlbGYuYXNzZXJ0V2FybnMoRGVwcmVjYXRpb25XYXJuaW5nLCAnJWMnLl9fbW9kX18sIHBpKSwKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXNSZWdleChUeXBlRXJyb3IsICcleCBmb3JtYXQ6IGFuIGludGVnZXIgaXMgcmVxdWlyZWQsIG5vdCBmbG9hdCcsIG9wZXJhdG9yLm1vZCwgJyV4JywgMy4xNCksCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgoVHlwZUVycm9yLCAnJVggZm9ybWF0OiBhbiBpbnRlZ2VyIGlzIHJlcXVpcmVkLCBub3QgZmxvYXQnLCBvcGVyYXRvci5tb2QsICclWCcsIDIuMTEpLAorICAgICAgICBzZWxmLmFzc2VydFJhaXNlc1JlZ2V4KFR5cGVFcnJvciwgJyVvIGZvcm1hdDogYW4gaW50ZWdlciBpcyByZXF1aXJlZCwgbm90IGZsb2F0Jywgb3BlcmF0b3IubW9kLCAnJW8nLCAxLjc5KSwKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXNSZWdleChUeXBlRXJyb3IsICcleCBmb3JtYXQ6IGFuIGludGVnZXIgaXMgcmVxdWlyZWQsIG5vdCBQc2V1ZG9GbG9hdCcsIG9wZXJhdG9yLm1vZCwgJyV4JywgcGkpLAorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIG9wZXJhdG9yLm1vZCwgJyVjJywgcGkpLAogCiAgICAgZGVmIHRlc3RfZm9ybWF0dGluZ193aXRoX2VudW0oc2VsZik6CiAgICAgICAgICMgaXNzdWUxODc4MApkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF91bmljb2RlZGF0YS5weSBiL0xpYi90ZXN0L3Rlc3RfdW5pY29kZWRhdGEucHkKaW5kZXggNzA3YjMwZS4uZjg3ODhhMCAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF91bmljb2RlZGF0YS5weQorKysgYi9MaWIvdGVzdC90ZXN0X3VuaWNvZGVkYXRhLnB5CkBAIC0yMSw3ICsyMSw3IEBACiBjbGFzcyBVbmljb2RlTWV0aG9kc1Rlc3QodW5pdHRlc3QuVGVzdENhc2UpOgogCiAgICAgIyB1cGRhdGUgdGhpcywgaWYgdGhlIGRhdGFiYXNlIGNoYW5nZXMKLSAgICBleHBlY3RlZGNoZWNrc3VtID0gJ2U3NGU4NzhkZTcxYjZlNzgwZmZhYzI3MTc4NWMzY2I1OGY2MjUxZjMnCisgICAgZXhwZWN0ZWRjaGVja3N1bSA9ICc2MThlMmMxYTIyZWU3OWQyMjM1MzE5NzA5ZjE2YzUwZjk4N2VlMjFmJwogCiAgICAgZGVmIHRlc3RfbWV0aG9kX2NoZWNrc3VtKHNlbGYpOgogICAgICAgICBoID0gaGFzaGxpYi5zaGExKCkKQEAgLTc5LDggKzc5LDkgQEAKIAogY2xhc3MgVW5pY29kZUZ1bmN0aW9uc1Rlc3QoVW5pY29kZURhdGFiYXNlVGVzdCk6CiAKLSAgICAjIHVwZGF0ZSB0aGlzLCBpZiB0aGUgZGF0YWJhc2UgY2hhbmdlcwotICAgIGV4cGVjdGVkY2hlY2tzdW0gPSAnZjBiNzRkMjY3NzYzMzFjYzdiZGMzYTQ2OThmMDM3ZDczZjJjZWUyYicKKyAgICAjIFVwZGF0ZSB0aGlzIGlmIHRoZSBkYXRhYmFzZSBjaGFuZ2VzLiBNYWtlIHN1cmUgdG8gZG8gYSBmdWxsIHJlYnVpbGQKKyAgICAjIChlLmcuICdtYWtlIGRpc3RjbGVhbiAmJiBtYWtlJykgdG8gZ2V0IHRoZSBjb3JyZWN0IGNoZWNrc3VtLgorICAgIGV4cGVjdGVkY2hlY2tzdW0gPSAnNTg1MzAyODk1ZGVlYWQwYzFjODQ3OGM1MWRhOTI0MWQ0ZWZlZGNhOScKICAgICBkZWYgdGVzdF9mdW5jdGlvbl9jaGVja3N1bShzZWxmKToKICAgICAgICAgZGF0YSA9IFtdCiAgICAgICAgIGggPSBoYXNobGliLnNoYTEoKQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF91cmxsaWIucHkgYi9MaWIvdGVzdC90ZXN0X3VybGxpYi5weQppbmRleCA0ZjM4ZjBmLi5mY2QyMDczIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X3VybGxpYi5weQorKysgYi9MaWIvdGVzdC90ZXN0X3VybGxpYi5weQpAQCAtMTAsNyArMTAsMTAgQEAKIGZyb20gdW5pdHRlc3QubW9jayBpbXBvcnQgcGF0Y2gKIGZyb20gdGVzdCBpbXBvcnQgc3VwcG9ydAogaW1wb3J0IG9zCi1pbXBvcnQgc3NsCit0cnk6CisgICAgaW1wb3J0IHNzbAorZXhjZXB0IEltcG9ydEVycm9yOgorICAgIHNzbCA9IE5vbmUKIGltcG9ydCBzeXMKIGltcG9ydCB0ZW1wZmlsZQogZnJvbSBudHVybDJwYXRoIGltcG9ydCB1cmwycGF0aG5hbWUsIHBhdGhuYW1lMnVybApAQCAtMzgwLDYgKzM4Myw3IEBACiAgICAgICAgIHdpdGggc3VwcG9ydC5jaGVja193YXJuaW5ncygoJycsRGVwcmVjYXRpb25XYXJuaW5nKSk6CiAgICAgICAgICAgICB1cmxsaWIucmVxdWVzdC5VUkxvcGVuZXIoKQogCisgICAgQHVuaXR0ZXN0LnNraXBVbmxlc3Moc3NsLCAic3NsIG1vZHVsZSByZXF1aXJlZCIpCiAgICAgZGVmIHRlc3RfY2FmaWxlX2FuZF9jb250ZXh0KHNlbGYpOgogICAgICAgICBjb250ZXh0ID0gc3NsLmNyZWF0ZV9kZWZhdWx0X2NvbnRleHQoKQogICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IpOgpAQCAtMTM0Niw3ICsxMzUwLDcgQEAKICMgICAgIHNlcnYuc2V0dGltZW91dCgzKQogIyAgICAgc2Vydi5zZXRzb2Nrb3B0KHNvY2tldC5TT0xfU09DS0VULCBzb2NrZXQuU09fUkVVU0VBRERSLCAxKQogIyAgICAgc2Vydi5iaW5kKCgiIiwgOTA5MykpCi0jICAgICBzZXJ2Lmxpc3Rlbig1KQorIyAgICAgc2Vydi5saXN0ZW4oKQogIyAgICAgdHJ5OgogIyAgICAgICAgIGNvbm4sIGFkZHIgPSBzZXJ2LmFjY2VwdCgpCiAjICAgICAgICAgY29ubi5zZW5kKCIxIEhvbGEgbXVuZG9cbiIpCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X3VybGxpYjIucHkgYi9MaWIvdGVzdC90ZXN0X3VybGxpYjIucHkKaW5kZXggYzc0NmI5YS4uMzE4MjM5MCAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF91cmxsaWIyLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfdXJsbGliMi5weQpAQCAtMTQyMiw2ICsxNDIyLDIxIEBACiAgICAgICAgICAgICBoYW5kbGVyLmRvX29wZW4oY29ubiwgcmVxKQogICAgICAgICBzZWxmLmFzc2VydFRydWUoY29ubi5mYWtlc29jay5jbG9zZWQsICJDb25uZWN0aW9uIG5vdCBjbG9zZWQiKQogCisgICAgZGVmIHRlc3RfYXV0aF9wcmlvcl9oYW5kbGVyKHNlbGYpOgorICAgICAgICBwd2RfbWFuYWdlciA9IE1vY2tQYXNzd29yZE1hbmFnZXIoKQorICAgICAgICBwd2RfbWFuYWdlci5hZGRfcGFzc3dvcmQoTm9uZSwgJ2h0dHBzOi8vZXhhbXBsZS5jb20nLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NvbWVib2R5JywgJ3ZlcnlzZWNyZXQnKQorICAgICAgICBhdXRoX3ByaW9yX2hhbmRsZXIgPSB1cmxsaWIucmVxdWVzdC5IVFRQQmFzaWNQcmlvckF1dGhIYW5kbGVyKAorICAgICAgICAgICAgcHdkX21hbmFnZXIpCisgICAgICAgIGh0dHBfaGFuZCA9IE1vY2tIVFRQU0hhbmRsZXIoKQorCisgICAgICAgIG9wZW5lciA9IE9wZW5lckRpcmVjdG9yKCkKKyAgICAgICAgb3BlbmVyLmFkZF9oYW5kbGVyKGh0dHBfaGFuZCkKKyAgICAgICAgb3BlbmVyLmFkZF9oYW5kbGVyKGF1dGhfcHJpb3JfaGFuZGxlcikKKworICAgICAgICByZXEgPSBSZXF1ZXN0KCJodHRwczovL2V4YW1wbGUuY29tIikKKyAgICAgICAgb3BlbmVyLm9wZW4ocmVxKQorICAgICAgICBzZWxmLmFzc2VydE5vdEluKCdBdXRob3JpemF0aW9uJywgaHR0cF9oYW5kLmh0dHBjb25uLnJlcV9oZWFkZXJzKQogCiBjbGFzcyBNaXNjVGVzdHModW5pdHRlc3QuVGVzdENhc2UpOgogCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X3VybGxpYm5ldC5weSBiL0xpYi90ZXN0L3Rlc3RfdXJsbGlibmV0LnB5CmluZGV4IDRjOGJhMmQuLjQyZWJiNmUgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfdXJsbGlibmV0LnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfdXJsbGlibmV0LnB5CkBAIC05MSw3ICs5MSw4IEBACiAgICAgICAgICMgdGVzdCBnZXRjb2RlKCkgd2l0aCB0aGUgZmFuY3kgb3BlbmVyIHRvIGdldCA0MDQgZXJyb3IgY29kZXMKICAgICAgICAgVVJMID0gImh0dHA6Ly93d3cuZXhhbXBsZS5jb20vWFhYaW52YWxpZFhYWCIKICAgICAgICAgd2l0aCBzdXBwb3J0LnRyYW5zaWVudF9pbnRlcm5ldChVUkwpOgotICAgICAgICAgICAgb3Blbl91cmwgPSB1cmxsaWIucmVxdWVzdC5GYW5jeVVSTG9wZW5lcigpLm9wZW4oVVJMKQorICAgICAgICAgICAgd2l0aCBzZWxmLmFzc2VydFdhcm5zKERlcHJlY2F0aW9uV2FybmluZyk6CisgICAgICAgICAgICAgICAgb3Blbl91cmwgPSB1cmxsaWIucmVxdWVzdC5GYW5jeVVSTG9wZW5lcigpLm9wZW4oVVJMKQogICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgIGNvZGUgPSBvcGVuX3VybC5nZXRjb2RlKCkKICAgICAgICAgICAgIGZpbmFsbHk6CmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X3VybHBhcnNlLnB5IGIvTGliL3Rlc3QvdGVzdF91cmxwYXJzZS5weQppbmRleCAzOTM0ODExLi5jYjMyM2QzIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X3VybHBhcnNlLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfdXJscGFyc2UucHkKQEAgLTIxMSwxMCArMjExLDYgQEAKIAogICAgICAgICAjICJhYm5vcm1hbCIgY2FzZXMgZnJvbSBSRkMgMTgwODoKICAgICAgICAgc2VsZi5jaGVja0pvaW4oUkZDMTgwOF9CQVNFLCAnJywgJ2h0dHA6Ly9hL2IvYy9kO3A/cSNmJykKLSAgICAgICAgc2VsZi5jaGVja0pvaW4oUkZDMTgwOF9CQVNFLCAnLi4vLi4vLi4vZycsICdodHRwOi8vYS8uLi9nJykKLSAgICAgICAgc2VsZi5jaGVja0pvaW4oUkZDMTgwOF9CQVNFLCAnLi4vLi4vLi4vLi4vZycsICdodHRwOi8vYS8uLi8uLi9nJykKLSAgICAgICAgc2VsZi5jaGVja0pvaW4oUkZDMTgwOF9CQVNFLCAnLy4vZycsICdodHRwOi8vYS8uL2cnKQotICAgICAgICBzZWxmLmNoZWNrSm9pbihSRkMxODA4X0JBU0UsICcvLi4vZycsICdodHRwOi8vYS8uLi9nJykKICAgICAgICAgc2VsZi5jaGVja0pvaW4oUkZDMTgwOF9CQVNFLCAnZy4nLCAnaHR0cDovL2EvYi9jL2cuJykKICAgICAgICAgc2VsZi5jaGVja0pvaW4oUkZDMTgwOF9CQVNFLCAnLmcnLCAnaHR0cDovL2EvYi9jLy5nJykKICAgICAgICAgc2VsZi5jaGVja0pvaW4oUkZDMTgwOF9CQVNFLCAnZy4uJywgJ2h0dHA6Ly9hL2IvYy9nLi4nKQpAQCAtMjI5LDYgKzIyNSwxMyBAQAogICAgICAgICAjc2VsZi5jaGVja0pvaW4oUkZDMTgwOF9CQVNFLCAnaHR0cDpnJywgJ2h0dHA6ZycpCiAgICAgICAgICNzZWxmLmNoZWNrSm9pbihSRkMxODA4X0JBU0UsICdodHRwOicsICdodHRwOicpCiAKKyAgICAgICAgIyBYWFg6IFRoZSBmb2xsb3dpbmcgdGVzdHMgYXJlIG5vIGxvbmdlciBjb21wYXRpYmxlIHdpdGggUkZDMzk4NgorICAgICAgICAjIHNlbGYuY2hlY2tKb2luKFJGQzE4MDhfQkFTRSwgJy4uLy4uLy4uL2cnLCAnaHR0cDovL2EvLi4vZycpCisgICAgICAgICMgc2VsZi5jaGVja0pvaW4oUkZDMTgwOF9CQVNFLCAnLi4vLi4vLi4vLi4vZycsICdodHRwOi8vYS8uLi8uLi9nJykKKyAgICAgICAgIyBzZWxmLmNoZWNrSm9pbihSRkMxODA4X0JBU0UsICcvLi9nJywgJ2h0dHA6Ly9hLy4vZycpCisgICAgICAgICMgc2VsZi5jaGVja0pvaW4oUkZDMTgwOF9CQVNFLCAnLy4uL2cnLCAnaHR0cDovL2EvLi4vZycpCisKKwogICAgIGRlZiB0ZXN0X1JGQzIzNjgoc2VsZik6CiAgICAgICAgICMgSXNzdWUgMTE0Njc6IHBhdGggdGhhdCBzdGFydHMgd2l0aCBhIG51bWJlciBpcyBub3QgcGFyc2VkIGNvcnJlY3RseQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHVybGxpYi5wYXJzZS51cmxwYXJzZSgnbWFpbHRvOjEzMzdAZXhhbXBsZS5vcmcnKSwKQEAgLTI1OSwxMCArMjYyLDYgQEAKICAgICAgICAgc2VsZi5jaGVja0pvaW4oUkZDMjM5Nl9CQVNFLCAnLi4vLi4vJywgJ2h0dHA6Ly9hLycpCiAgICAgICAgIHNlbGYuY2hlY2tKb2luKFJGQzIzOTZfQkFTRSwgJy4uLy4uL2cnLCAnaHR0cDovL2EvZycpCiAgICAgICAgIHNlbGYuY2hlY2tKb2luKFJGQzIzOTZfQkFTRSwgJycsIFJGQzIzOTZfQkFTRSkKLSAgICAgICAgc2VsZi5jaGVja0pvaW4oUkZDMjM5Nl9CQVNFLCAnLi4vLi4vLi4vZycsICdodHRwOi8vYS8uLi9nJykKLSAgICAgICAgc2VsZi5jaGVja0pvaW4oUkZDMjM5Nl9CQVNFLCAnLi4vLi4vLi4vLi4vZycsICdodHRwOi8vYS8uLi8uLi9nJykKLSAgICAgICAgc2VsZi5jaGVja0pvaW4oUkZDMjM5Nl9CQVNFLCAnLy4vZycsICdodHRwOi8vYS8uL2cnKQotICAgICAgICBzZWxmLmNoZWNrSm9pbihSRkMyMzk2X0JBU0UsICcvLi4vZycsICdodHRwOi8vYS8uLi9nJykKICAgICAgICAgc2VsZi5jaGVja0pvaW4oUkZDMjM5Nl9CQVNFLCAnZy4nLCAnaHR0cDovL2EvYi9jL2cuJykKICAgICAgICAgc2VsZi5jaGVja0pvaW4oUkZDMjM5Nl9CQVNFLCAnLmcnLCAnaHR0cDovL2EvYi9jLy5nJykKICAgICAgICAgc2VsZi5jaGVja0pvaW4oUkZDMjM5Nl9CQVNFLCAnZy4uJywgJ2h0dHA6Ly9hL2IvYy9nLi4nKQpAQCAtMjc4LDEwICsyNzcsMTcgQEAKICAgICAgICAgc2VsZi5jaGVja0pvaW4oUkZDMjM5Nl9CQVNFLCAnZyNzLy4veCcsICdodHRwOi8vYS9iL2MvZyNzLy4veCcpCiAgICAgICAgIHNlbGYuY2hlY2tKb2luKFJGQzIzOTZfQkFTRSwgJ2cjcy8uLi94JywgJ2h0dHA6Ly9hL2IvYy9nI3MvLi4veCcpCiAKKyAgICAgICAgIyBYWFg6IFRoZSBmb2xsb3dpbmcgdGVzdHMgYXJlIG5vIGxvbmdlciBjb21wYXRpYmxlIHdpdGggUkZDMzk4NgorICAgICAgICAjIHNlbGYuY2hlY2tKb2luKFJGQzIzOTZfQkFTRSwgJy4uLy4uLy4uL2cnLCAnaHR0cDovL2EvLi4vZycpCisgICAgICAgICMgc2VsZi5jaGVja0pvaW4oUkZDMjM5Nl9CQVNFLCAnLi4vLi4vLi4vLi4vZycsICdodHRwOi8vYS8uLi8uLi9nJykKKyAgICAgICAgIyBzZWxmLmNoZWNrSm9pbihSRkMyMzk2X0JBU0UsICcvLi9nJywgJ2h0dHA6Ly9hLy4vZycpCisgICAgICAgICMgc2VsZi5jaGVja0pvaW4oUkZDMjM5Nl9CQVNFLCAnLy4uL2cnLCAnaHR0cDovL2EvLi4vZycpCisKKwogICAgIGRlZiB0ZXN0X1JGQzM5ODYoc2VsZik6CiAgICAgICAgICMgVGVzdCBjYXNlcyBmcm9tIFJGQzM5ODYKICAgICAgICAgc2VsZi5jaGVja0pvaW4oUkZDMzk4Nl9CQVNFLCAnP3knLCdodHRwOi8vYS9iL2MvZDtwP3knKQotICAgICAgICBzZWxmLmNoZWNrSm9pbihSRkMyMzk2X0JBU0UsICc7eCcsICdodHRwOi8vYS9iL2MvO3gnKQorICAgICAgICBzZWxmLmNoZWNrSm9pbihSRkMzOTg2X0JBU0UsICc7eCcsICdodHRwOi8vYS9iL2MvO3gnKQogICAgICAgICBzZWxmLmNoZWNrSm9pbihSRkMzOTg2X0JBU0UsICdnOmgnLCdnOmgnKQogICAgICAgICBzZWxmLmNoZWNrSm9pbihSRkMzOTg2X0JBU0UsICdnJywnaHR0cDovL2EvYi9jL2cnKQogICAgICAgICBzZWxmLmNoZWNrSm9pbihSRkMzOTg2X0JBU0UsICcuL2cnLCdodHRwOi8vYS9iL2MvZycpCkBAIC0zMDUsMTcgKzMxMSwxNyBAQAogICAgICAgICBzZWxmLmNoZWNrSm9pbihSRkMzOTg2X0JBU0UsICcuLi8uLicsJ2h0dHA6Ly9hLycpCiAgICAgICAgIHNlbGYuY2hlY2tKb2luKFJGQzM5ODZfQkFTRSwgJy4uLy4uLycsJ2h0dHA6Ly9hLycpCiAgICAgICAgIHNlbGYuY2hlY2tKb2luKFJGQzM5ODZfQkFTRSwgJy4uLy4uL2cnLCdodHRwOi8vYS9nJykKKyAgICAgICAgc2VsZi5jaGVja0pvaW4oUkZDMzk4Nl9CQVNFLCAnLi4vLi4vLi4vZycsICdodHRwOi8vYS9nJykKIAogICAgICAgICAjQWJub3JtYWwgRXhhbXBsZXMKIAogICAgICAgICAjIFRoZSAnYWJub3JtYWwgc2NlbmFyaW9zJyBhcmUgaW5jb21wYXRpYmxlIHdpdGggUkZDMjk4NiBwYXJzaW5nCiAgICAgICAgICMgVGVzdHMgYXJlIGhlcmUgZm9yIHJlZmVyZW5jZS4KIAotICAgICAgICAjc2VsZi5jaGVja0pvaW4oUkZDMzk4Nl9CQVNFLCAnLi4vLi4vLi4vZycsJ2h0dHA6Ly9hL2cnKQotICAgICAgICAjc2VsZi5jaGVja0pvaW4oUkZDMzk4Nl9CQVNFLCAnLi4vLi4vLi4vLi4vZycsJ2h0dHA6Ly9hL2cnKQotICAgICAgICAjc2VsZi5jaGVja0pvaW4oUkZDMzk4Nl9CQVNFLCAnLy4vZycsJ2h0dHA6Ly9hL2cnKQotICAgICAgICAjc2VsZi5jaGVja0pvaW4oUkZDMzk4Nl9CQVNFLCAnLy4uL2cnLCdodHRwOi8vYS9nJykKLQorICAgICAgICBzZWxmLmNoZWNrSm9pbihSRkMzOTg2X0JBU0UsICcuLi8uLi8uLi9nJywnaHR0cDovL2EvZycpCisgICAgICAgIHNlbGYuY2hlY2tKb2luKFJGQzM5ODZfQkFTRSwgJy4uLy4uLy4uLy4uL2cnLCdodHRwOi8vYS9nJykKKyAgICAgICAgc2VsZi5jaGVja0pvaW4oUkZDMzk4Nl9CQVNFLCAnLy4vZycsJ2h0dHA6Ly9hL2cnKQorICAgICAgICBzZWxmLmNoZWNrSm9pbihSRkMzOTg2X0JBU0UsICcvLi4vZycsJ2h0dHA6Ly9hL2cnKQogICAgICAgICBzZWxmLmNoZWNrSm9pbihSRkMzOTg2X0JBU0UsICdnLicsJ2h0dHA6Ly9hL2IvYy9nLicpCiAgICAgICAgIHNlbGYuY2hlY2tKb2luKFJGQzM5ODZfQkFTRSwgJy5nJywnaHR0cDovL2EvYi9jLy5nJykKICAgICAgICAgc2VsZi5jaGVja0pvaW4oUkZDMzk4Nl9CQVNFLCAnZy4uJywnaHR0cDovL2EvYi9jL2cuLicpCkBAIC0zNTUsMTAgKzM2MSw4IEBACiAgICAgICAgIHNlbGYuY2hlY2tKb2luKFNJTVBMRV9CQVNFLCAnLi4vZycsJ2h0dHA6Ly9hL2IvZycpCiAgICAgICAgIHNlbGYuY2hlY2tKb2luKFNJTVBMRV9CQVNFLCAnLi4vLi4nLCdodHRwOi8vYS8nKQogICAgICAgICBzZWxmLmNoZWNrSm9pbihTSU1QTEVfQkFTRSwgJy4uLy4uL2cnLCdodHRwOi8vYS9nJykKLSAgICAgICAgc2VsZi5jaGVja0pvaW4oU0lNUExFX0JBU0UsICcuLi8uLi8uLi9nJywnaHR0cDovL2EvLi4vZycpCiAgICAgICAgIHNlbGYuY2hlY2tKb2luKFNJTVBMRV9CQVNFLCAnLi8uLi9nJywnaHR0cDovL2EvYi9nJykKICAgICAgICAgc2VsZi5jaGVja0pvaW4oU0lNUExFX0JBU0UsICcuL2cvLicsJ2h0dHA6Ly9hL2IvYy9nLycpCi0gICAgICAgIHNlbGYuY2hlY2tKb2luKFNJTVBMRV9CQVNFLCAnLy4vZycsJ2h0dHA6Ly9hLy4vZycpCiAgICAgICAgIHNlbGYuY2hlY2tKb2luKFNJTVBMRV9CQVNFLCAnZy8uL2gnLCdodHRwOi8vYS9iL2MvZy9oJykKICAgICAgICAgc2VsZi5jaGVja0pvaW4oU0lNUExFX0JBU0UsICdnLy4uL2gnLCdodHRwOi8vYS9iL2MvaCcpCiAgICAgICAgIHNlbGYuY2hlY2tKb2luKFNJTVBMRV9CQVNFLCAnaHR0cDpnJywnaHR0cDovL2EvYi9jL2cnKQpAQCAtMzcyLDYgKzM3NiwyMiBAQAogICAgICAgICBzZWxmLmNoZWNrSm9pbignc3ZuOi8vcGF0aHRvcmVwby9kaXIxJywgJ2RpcjInLCAnc3ZuOi8vcGF0aHRvcmVwby9kaXIyJykKICAgICAgICAgc2VsZi5jaGVja0pvaW4oJ3N2bitzc2g6Ly9wYXRodG9yZXBvL2RpcjEnLCAnZGlyMicsICdzdm4rc3NoOi8vcGF0aHRvcmVwby9kaXIyJykKIAorICAgICAgICAjIFhYWDogVGhlIGZvbGxvd2luZyB0ZXN0cyBhcmUgbm8gbG9uZ2VyIGNvbXBhdGlibGUgd2l0aCBSRkMzOTg2CisgICAgICAgICMgc2VsZi5jaGVja0pvaW4oU0lNUExFX0JBU0UsICcuLi8uLi8uLi9nJywnaHR0cDovL2EvLi4vZycpCisgICAgICAgICMgc2VsZi5jaGVja0pvaW4oU0lNUExFX0JBU0UsICcvLi9nJywnaHR0cDovL2EvLi9nJykKKworICAgICAgICAjIHRlc3QgZm9yIGlzc3VlMjIxMTggZHVwbGljYXRlIHNsYXNoZXMKKyAgICAgICAgc2VsZi5jaGVja0pvaW4oU0lNUExFX0JBU0UgKyAnLycsICdmb28nLCBTSU1QTEVfQkFTRSArICcvZm9vJykKKworICAgICAgICAjIE5vbi1SRkMtZGVmaW5lZCB0ZXN0cywgY292ZXJpbmcgdmFyaWF0aW9ucyBvZiBiYXNlIGFuZCB0cmFpbGluZworICAgICAgICAjIHNsYXNoZXMKKyAgICAgICAgc2VsZi5jaGVja0pvaW4oJ2h0dHA6Ly9hL2IvYy9kL2UvJywgJy4uLy4uL2YvZy8nLCAnaHR0cDovL2EvYi9jL2YvZy8nKQorICAgICAgICBzZWxmLmNoZWNrSm9pbignaHR0cDovL2EvYi9jL2QvZScsICcuLi8uLi9mL2cvJywgJ2h0dHA6Ly9hL2IvZi9nLycpCisgICAgICAgIHNlbGYuY2hlY2tKb2luKCdodHRwOi8vYS9iL2MvZC9lLycsICcvLi4vLi4vZi9nLycsICdodHRwOi8vYS9mL2cvJykKKyAgICAgICAgc2VsZi5jaGVja0pvaW4oJ2h0dHA6Ly9hL2IvYy9kL2UnLCAnLy4uLy4uL2YvZy8nLCAnaHR0cDovL2EvZi9nLycpCisgICAgICAgIHNlbGYuY2hlY2tKb2luKCdodHRwOi8vYS9iL2MvZC9lLycsICcuLi8uLi9mL2cnLCAnaHR0cDovL2EvYi9jL2YvZycpCisgICAgICAgIHNlbGYuY2hlY2tKb2luKCdodHRwOi8vYS9iLycsICcuLi8uLi9mL2cvJywgJ2h0dHA6Ly9hL2YvZy8nKQorCiAgICAgZGVmIHRlc3RfUkZDMjczMihzZWxmKToKICAgICAgICAgc3RyX2Nhc2VzID0gWwogICAgICAgICAgICAgKCdodHRwOi8vVGVzdC5weXRob24ub3JnOjU0MzIvZm9vLycsICd0ZXN0LnB5dGhvbi5vcmcnLCA1NDMyKSwKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfdXVpZC5weSBiL0xpYi90ZXN0L3Rlc3RfdXVpZC5weQppbmRleCAxZThjYmEzLi5mY2I4NDU0IDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X3V1aWQucHkKKysrIGIvTGliL3Rlc3QvdGVzdF91dWlkLnB5CkBAIC0xLDkgKzEsMTAgQEAKLWltcG9ydCB1bml0dGVzdAoraW1wb3J0IHVuaXR0ZXN0Lm1vY2sKIGZyb20gdGVzdCBpbXBvcnQgc3VwcG9ydAogaW1wb3J0IGJ1aWx0aW5zCiBpbXBvcnQgaW8KIGltcG9ydCBvcwogaW1wb3J0IHNodXRpbAoraW1wb3J0IHN1YnByb2Nlc3MKIGltcG9ydCB1dWlkCiAKIGRlZiBpbXBvcnRhYmxlKG5hbWUpOgpAQCAtNDEyLDI4ICs0MTMsMjcgQEAKIGNsYXNzIFRlc3RJbnRlcm5hbHModW5pdHRlc3QuVGVzdENhc2UpOgogICAgIEB1bml0dGVzdC5za2lwVW5sZXNzKG9zLm5hbWUgPT0gJ3Bvc2l4JywgJ3JlcXVpcmVzIFBvc2l4JykKICAgICBkZWYgdGVzdF9maW5kX21hYyhzZWxmKToKLSAgICAgICAgZGF0YSA9ICcnJ1wKLQorICAgICAgICBkYXRhID0gJycnCiBmYWtlIGh3YWRkcgogY3Njb3R1bjAgIExpbmsgZW5jYXA6VU5TUEVDICBIV2FkZHIgMDAtMDAtMDAtMDAtMDAtMDAtMDAtMDAtMDAtMDAtMDAtMDAtMDAtMDAtMDAtMDAKIGV0aDAgICAgICBMaW5rIGVuY2FwOkV0aGVybmV0ICBIV2FkZHIgMTI6MzQ6NTY6Nzg6OTA6YWIKICcnJwotICAgICAgICBkZWYgbW9ja19wb3BlbihjbWQpOgotICAgICAgICAgICAgcmV0dXJuIGlvLlN0cmluZ0lPKGRhdGEpCiAKLSAgICAgICAgaWYgc2h1dGlsLndoaWNoKCdpZmNvbmZpZycpIGlzIE5vbmU6Ci0gICAgICAgICAgICBwYXRoID0gb3MucGF0aHNlcC5qb2luKCgnL3NiaW4nLCAnL3Vzci9zYmluJykpCi0gICAgICAgICAgICBpZiBzaHV0aWwud2hpY2goJ2lmY29uZmlnJywgcGF0aD1wYXRoKSBpcyBOb25lOgotICAgICAgICAgICAgICAgIHNlbGYuc2tpcFRlc3QoJ3JlcXVpcmVzIGlmY29uZmlnJykKKyAgICAgICAgcG9wZW4gPSB1bml0dGVzdC5tb2NrLk1hZ2ljTW9jaygpCisgICAgICAgIHBvcGVuLnN0ZG91dCA9IGlvLkJ5dGVzSU8oZGF0YS5lbmNvZGUoKSkKIAotICAgICAgICB3aXRoIHN1cHBvcnQuc3dhcF9hdHRyKG9zLCAncG9wZW4nLCBtb2NrX3BvcGVuKToKLSAgICAgICAgICAgIG1hYyA9IHV1aWQuX2ZpbmRfbWFjKAotICAgICAgICAgICAgICAgIGNvbW1hbmQ9J2lmY29uZmlnJywKLSAgICAgICAgICAgICAgICBhcmdzPScnLAotICAgICAgICAgICAgICAgIGh3X2lkZW50aWZpZXJzPVsnaHdhZGRyJ10sCi0gICAgICAgICAgICAgICAgZ2V0X2luZGV4PWxhbWJkYSB4OiB4ICsgMSwKLSAgICAgICAgICAgICkKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobWFjLCAweDEyMzQ1Njc4OTBhYikKKyAgICAgICAgd2l0aCB1bml0dGVzdC5tb2NrLnBhdGNoLm9iamVjdChzaHV0aWwsICd3aGljaCcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuX3ZhbHVlPScvc2Jpbi9pZmNvbmZpZycpOgorICAgICAgICAgICAgd2l0aCB1bml0dGVzdC5tb2NrLnBhdGNoLm9iamVjdChzdWJwcm9jZXNzLCAnUG9wZW4nLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm5fdmFsdWU9cG9wZW4pOgorICAgICAgICAgICAgICAgIG1hYyA9IHV1aWQuX2ZpbmRfbWFjKAorICAgICAgICAgICAgICAgICAgICBjb21tYW5kPSdpZmNvbmZpZycsCisgICAgICAgICAgICAgICAgICAgIGFyZ3M9JycsCisgICAgICAgICAgICAgICAgICAgIGh3X2lkZW50aWZpZXJzPVtiJ2h3YWRkciddLAorICAgICAgICAgICAgICAgICAgICBnZXRfaW5kZXg9bGFtYmRhIHg6IHggKyAxLAorICAgICAgICAgICAgICAgICkKKworICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1hYywgMHgxMjM0NTY3ODkwYWIpCiAKICAgICBkZWYgY2hlY2tfbm9kZShzZWxmLCBub2RlLCByZXF1aXJlcz1Ob25lLCBuZXR3b3JrPUZhbHNlKToKICAgICAgICAgaWYgcmVxdWlyZXMgYW5kIG5vZGUgaXMgTm9uZToKQEAgLTQ1NCw2ICs0NTQsMTEgQEAKICAgICAgICAgc2VsZi5jaGVja19ub2RlKG5vZGUsICdpZmNvbmZpZycsIFRydWUpCiAKICAgICBAdW5pdHRlc3Quc2tpcFVubGVzcyhvcy5uYW1lID09ICdwb3NpeCcsICdyZXF1aXJlcyBQb3NpeCcpCisgICAgZGVmIHRlc3RfaXBfZ2V0bm9kZShzZWxmKToKKyAgICAgICAgbm9kZSA9IHV1aWQuX2lwX2dldG5vZGUoKQorICAgICAgICBzZWxmLmNoZWNrX25vZGUobm9kZSwgJ2lwJywgVHJ1ZSkKKworICAgIEB1bml0dGVzdC5za2lwVW5sZXNzKG9zLm5hbWUgPT0gJ3Bvc2l4JywgJ3JlcXVpcmVzIFBvc2l4JykKICAgICBkZWYgdGVzdF9hcnBfZ2V0bm9kZShzZWxmKToKICAgICAgICAgbm9kZSA9IHV1aWQuX2FycF9nZXRub2RlKCkKICAgICAgICAgc2VsZi5jaGVja19ub2RlKG5vZGUsICdhcnAnLCBUcnVlKQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF93YWl0My5weSBiL0xpYi90ZXN0L3Rlc3Rfd2FpdDMucHkKaW5kZXggZjZhMDY1ZC4uYmI3MTQ4MSAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF93YWl0My5weQorKysgYi9MaWIvdGVzdC90ZXN0X3dhaXQzLnB5CkBAIC0xOCw3ICsxOCw4IEBACiAgICAgICAgICMgVGhpcyBtYW55IGl0ZXJhdGlvbnMgY2FuIGJlIHJlcXVpcmVkLCBzaW5jZSBzb21lIHByZXZpb3VzbHkgcnVuCiAgICAgICAgICMgdGVzdHMgKGUuZy4gdGVzdF9jdHlwZXMpIGNvdWxkIGhhdmUgc3Bhd25lZCBhIGxvdCBvZiBjaGlsZHJlbgogICAgICAgICAjIHZlcnkgcXVpY2tseS4KLSAgICAgICAgZm9yIGkgaW4gcmFuZ2UoMzApOgorICAgICAgICBkZWFkbGluZSA9IHRpbWUubW9ub3RvbmljKCkgKyAxMC4wCisgICAgICAgIHdoaWxlIHRpbWUubW9ub3RvbmljKCkgPD0gZGVhZGxpbmU6CiAgICAgICAgICAgICAjIHdhaXQzKCkgc2hvdWxkbid0IGhhbmcsIGJ1dCBzb21lIG9mIHRoZSBidWlsZGJvdHMgc2VlbSB0byBoYW5nCiAgICAgICAgICAgICAjIGluIHRoZSBmb3JraW5nIHRlc3RzLiAgVGhpcyBpcyBhbiBhdHRlbXB0IHRvIGZpeCB0aGUgcHJvYmxlbS4KICAgICAgICAgICAgIHNwaWQsIHN0YXR1cywgcnVzYWdlID0gb3Mud2FpdDMob3MuV05PSEFORykKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3Rfd2FpdDQucHkgYi9MaWIvdGVzdC90ZXN0X3dhaXQ0LnB5CmluZGV4IDM1MmMxMWEuLmI0MjdhOWIgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3Rfd2FpdDQucHkKKysrIGIvTGliL3Rlc3QvdGVzdF93YWl0NC5weQpAQCAtMTksMTMgKzE5LDE0IEBACiAgICAgICAgICAgICAjIElzc3VlICMxMTE4NTogd2FpdDQgaXMgYnJva2VuIG9uIEFJWCBhbmQgd2lsbCBhbHdheXMgcmV0dXJuIDAKICAgICAgICAgICAgICMgd2l0aCBXTk9IQU5HLgogICAgICAgICAgICAgb3B0aW9uID0gMAotICAgICAgICBmb3IgaSBpbiByYW5nZSgxMCk6CisgICAgICAgIGRlYWRsaW5lID0gdGltZS5tb25vdG9uaWMoKSArIDEwLjAKKyAgICAgICAgd2hpbGUgdGltZS5tb25vdG9uaWMoKSA8PSBkZWFkbGluZToKICAgICAgICAgICAgICMgd2FpdDQoKSBzaG91bGRuJ3QgaGFuZywgYnV0IHNvbWUgb2YgdGhlIGJ1aWxkYm90cyBzZWVtIHRvIGhhbmcKICAgICAgICAgICAgICMgaW4gdGhlIGZvcmtpbmcgdGVzdHMuICBUaGlzIGlzIGFuIGF0dGVtcHQgdG8gZml4IHRoZSBwcm9ibGVtLgogICAgICAgICAgICAgc3BpZCwgc3RhdHVzLCBydXNhZ2UgPSBvcy53YWl0NChjcGlkLCBvcHRpb24pCiAgICAgICAgICAgICBpZiBzcGlkID09IGNwaWQ6CiAgICAgICAgICAgICAgICAgYnJlYWsKLSAgICAgICAgICAgIHRpbWUuc2xlZXAoMS4wKQorICAgICAgICAgICAgdGltZS5zbGVlcCgwLjEpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3BpZCwgY3BpZCkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdGF0dXMsIDAsICJjYXVzZSA9ICVkLCBleGl0ID0gJWQiICUgKHN0YXR1cyYweGZmLCBzdGF0dXM+PjgpKQogICAgICAgICBzZWxmLmFzc2VydFRydWUocnVzYWdlKQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF93YXJuaW5ncy5weSBiL0xpYi90ZXN0L3Rlc3Rfd2FybmluZ3MucHkKaW5kZXggZmIwMWI4My4uOWFjMjEzOSAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF93YXJuaW5ncy5weQorKysgYi9MaWIvdGVzdC90ZXN0X3dhcm5pbmdzLnB5CkBAIC01LDcgKzUsNyBAQAogaW1wb3J0IHN5cwogaW1wb3J0IHVuaXR0ZXN0CiBmcm9tIHRlc3QgaW1wb3J0IHN1cHBvcnQKLWZyb20gdGVzdC5zY3JpcHRfaGVscGVyIGltcG9ydCBhc3NlcnRfcHl0aG9uX29rCitmcm9tIHRlc3Quc2NyaXB0X2hlbHBlciBpbXBvcnQgYXNzZXJ0X3B5dGhvbl9vaywgYXNzZXJ0X3B5dGhvbl9mYWlsdXJlCiAKIGZyb20gdGVzdCBpbXBvcnQgd2FybmluZ190ZXN0cwogCkBAIC00MzIsNiArNDMyLDQxIEBACiAgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvcik6CiAgICAgICAgICAgICBzZWxmLm1vZHVsZS53YXJuKEJhZFN0cldhcm5pbmcoKSkKIAorICAgIGRlZiB0ZXN0X3dhcm5pbmdfY2xhc3NlcyhzZWxmKToKKyAgICAgICAgY2xhc3MgTXlXYXJuaW5nQ2xhc3MoV2FybmluZyk6CisgICAgICAgICAgICBwYXNzCisKKyAgICAgICAgY2xhc3MgTm9uV2FybmluZ1N1YmNsYXNzOgorICAgICAgICAgICAgcGFzcworCisgICAgICAgICMgcGFzc2luZyBhIG5vbi1zdWJjbGFzcyBvZiBXYXJuaW5nIHNob3VsZCByYWlzZSBhIFR5cGVFcnJvcgorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvcikgYXMgY206CisgICAgICAgICAgICBzZWxmLm1vZHVsZS53YXJuKCdiYWQgd2FybmluZyBjYXRlZ29yeScsICcnKQorICAgICAgICBzZWxmLmFzc2VydEluKCdjYXRlZ29yeSBtdXN0IGJlIGEgV2FybmluZyBzdWJjbGFzcywgbm90ICcsCisgICAgICAgICAgICAgICAgICAgICAgc3RyKGNtLmV4Y2VwdGlvbikpCisKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IpIGFzIGNtOgorICAgICAgICAgICAgc2VsZi5tb2R1bGUud2FybignYmFkIHdhcm5pbmcgY2F0ZWdvcnknLCBOb25XYXJuaW5nU3ViY2xhc3MpCisgICAgICAgIHNlbGYuYXNzZXJ0SW4oJ2NhdGVnb3J5IG11c3QgYmUgYSBXYXJuaW5nIHN1YmNsYXNzLCBub3QgJywKKyAgICAgICAgICAgICAgICAgICAgICBzdHIoY20uZXhjZXB0aW9uKSkKKworICAgICAgICAjIGNoZWNrIHRoYXQgd2FybmluZyBpbnN0YW5jZXMgYWxzbyByYWlzZSBhIFR5cGVFcnJvcgorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvcikgYXMgY206CisgICAgICAgICAgICBzZWxmLm1vZHVsZS53YXJuKCdiYWQgd2FybmluZyBjYXRlZ29yeScsIE15V2FybmluZ0NsYXNzKCkpCisgICAgICAgIHNlbGYuYXNzZXJ0SW4oJ2NhdGVnb3J5IG11c3QgYmUgYSBXYXJuaW5nIHN1YmNsYXNzLCBub3QgJywKKyAgICAgICAgICAgICAgICAgICAgICBzdHIoY20uZXhjZXB0aW9uKSkKKworICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0V2FybnMoTXlXYXJuaW5nQ2xhc3MpIGFzIGNtOgorICAgICAgICAgICAgc2VsZi5tb2R1bGUud2FybignZ29vZCB3YXJuaW5nIGNhdGVnb3J5JywgTXlXYXJuaW5nQ2xhc3MpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoJ2dvb2Qgd2FybmluZyBjYXRlZ29yeScsIHN0cihjbS53YXJuaW5nKSkKKworICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0V2FybnMoVXNlcldhcm5pbmcpIGFzIGNtOgorICAgICAgICAgICAgc2VsZi5tb2R1bGUud2FybignZ29vZCB3YXJuaW5nIGNhdGVnb3J5JywgTm9uZSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgnZ29vZCB3YXJuaW5nIGNhdGVnb3J5Jywgc3RyKGNtLndhcm5pbmcpKQorCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRXYXJucyhNeVdhcm5pbmdDbGFzcykgYXMgY206CisgICAgICAgICAgICBzZWxmLm1vZHVsZS53YXJuKCdnb29kIHdhcm5pbmcgY2F0ZWdvcnknLCBNeVdhcm5pbmdDbGFzcykKKyAgICAgICAgc2VsZi5hc3NlcnRJc0luc3RhbmNlKGNtLndhcm5pbmcsIFdhcm5pbmcpCiAKIGNsYXNzIENXYXJuVGVzdHMoV2FyblRlc3RzLCB1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgbW9kdWxlID0gY193YXJuaW5ncwpAQCAtODIxLDcgKzg1NiwxOSBAQAogICAgICAgICAgICAgImltcG9ydCBzeXM7IHN5cy5zdGRvdXQud3JpdGUoc3RyKHN5cy53YXJub3B0aW9ucykpIiwKICAgICAgICAgICAgIFBZVEhPTldBUk5JTkdTPSJpZ25vcmU6OkRlcHJlY2F0aW9uV2FybmluZyIpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3Rkb3V0LAotICAgICAgICAgICAgYiJbJ2lnbm9yZTo6VW5pY29kZVdhcm5pbmcnLCAnaWdub3JlOjpEZXByZWNhdGlvbldhcm5pbmcnXSIpCisgICAgICAgICAgICBiIlsnaWdub3JlOjpEZXByZWNhdGlvbldhcm5pbmcnLCAnaWdub3JlOjpVbmljb2RlV2FybmluZyddIikKKworICAgIGRlZiB0ZXN0X2NvbmZsaWN0aW5nX2VudnZhcl9hbmRfY29tbWFuZF9saW5lKHNlbGYpOgorICAgICAgICByYywgc3Rkb3V0LCBzdGRlcnIgPSBhc3NlcnRfcHl0aG9uX2ZhaWx1cmUoIi1XZXJyb3I6OkRlcHJlY2F0aW9uV2FybmluZyIsICItYyIsCisgICAgICAgICAgICAiaW1wb3J0IHN5cywgd2FybmluZ3M7IHN5cy5zdGRvdXQud3JpdGUoc3RyKHN5cy53YXJub3B0aW9ucykpOyAiCisgICAgICAgICAgICAid2FybmluZ3Mud2FybignTWVzc2FnZScsIERlcHJlY2F0aW9uV2FybmluZykiLAorICAgICAgICAgICAgUFlUSE9OV0FSTklOR1M9ImRlZmF1bHQ6OkRlcHJlY2F0aW9uV2FybmluZyIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3Rkb3V0LAorICAgICAgICAgICAgYiJbJ2RlZmF1bHQ6OkRlcHJlY2F0aW9uV2FybmluZycsICdlcnJvcjo6RGVwcmVjYXRpb25XYXJuaW5nJ10iKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0ZGVyci5zcGxpdGxpbmVzKCksCisgICAgICAgICAgICBbYiJUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6IiwKKyAgICAgICAgICAgICBiIiAgRmlsZSBcIjxzdHJpbmc+XCIsIGxpbmUgMSwgaW4gPG1vZHVsZT4iLAorICAgICAgICAgICAgIGIiRGVwcmVjYXRpb25XYXJuaW5nOiBNZXNzYWdlIl0pCiAKICAgICBAdW5pdHRlc3Quc2tpcFVubGVzcyhzeXMuZ2V0ZmlsZXN5c3RlbWVuY29kaW5nKCkgIT0gJ2FzY2lpJywKICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZXMgbm9uLWFzY2lpIGZpbGVzeXN0ZW1lbmNvZGluZycpCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X3dlYWtyZWYucHkgYi9MaWIvdGVzdC90ZXN0X3dlYWtyZWYucHkKaW5kZXggM2U3MzQ3Yy4uZTczNTM3NiAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF93ZWFrcmVmLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3Rfd2Vha3JlZi5weQpAQCAtOTIsNiArOTIsMTggQEAKICAgICAgICAgc2VsZi5jaGVja19iYXNpY19jYWxsYmFjayhjcmVhdGVfZnVuY3Rpb24pCiAgICAgICAgIHNlbGYuY2hlY2tfYmFzaWNfY2FsbGJhY2soY3JlYXRlX2JvdW5kX21ldGhvZCkKIAorICAgIEBzdXBwb3J0LmNweXRob25fb25seQorICAgIGRlZiB0ZXN0X2NmdW5jdGlvbihzZWxmKToKKyAgICAgICAgaW1wb3J0IF90ZXN0Y2FwaQorICAgICAgICBjcmVhdGVfY2Z1bmN0aW9uID0gX3Rlc3RjYXBpLmNyZWF0ZV9jZnVuY3Rpb24KKyAgICAgICAgZiA9IGNyZWF0ZV9jZnVuY3Rpb24oKQorICAgICAgICB3ciA9IHdlYWtyZWYucmVmKGYpCisgICAgICAgIHNlbGYuYXNzZXJ0SXMod3IoKSwgZikKKyAgICAgICAgZGVsIGYKKyAgICAgICAgc2VsZi5hc3NlcnRJc05vbmUod3IoKSkKKyAgICAgICAgc2VsZi5jaGVja19iYXNpY19yZWYoY3JlYXRlX2NmdW5jdGlvbikKKyAgICAgICAgc2VsZi5jaGVja19iYXNpY19jYWxsYmFjayhjcmVhdGVfY2Z1bmN0aW9uKQorCiAgICAgZGVmIHRlc3RfbXVsdGlwbGVfY2FsbGJhY2tzKHNlbGYpOgogICAgICAgICBvID0gQygpCiAgICAgICAgIHJlZjEgPSB3ZWFrcmVmLnJlZihvLCBzZWxmLmNhbGxiYWNrKQpAQCAtMTU3NCw2ICsxNTg2LDE0IEBACiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKGQpLCAwKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNvdW50LCAyKQogCisgICAgZGVmIHRlc3RfbWFrZV93ZWFrX3ZhbHVlZF9kaWN0X3JlcHIoc2VsZik6CisgICAgICAgIGRpY3QgPSB3ZWFrcmVmLldlYWtWYWx1ZURpY3Rpb25hcnkoKQorICAgICAgICBzZWxmLmFzc2VydFJlZ2V4KHJlcHIoZGljdCksICc8V2Vha1ZhbHVlRGljdGlvbmFyeSBhdCAweC4qPicpCisKKyAgICBkZWYgdGVzdF9tYWtlX3dlYWtfa2V5ZWRfZGljdF9yZXByKHNlbGYpOgorICAgICAgICBkaWN0ID0gd2Vha3JlZi5XZWFrS2V5RGljdGlvbmFyeSgpCisgICAgICAgIHNlbGYuYXNzZXJ0UmVnZXgocmVwcihkaWN0KSwgJzxXZWFrS2V5RGljdGlvbmFyeSBhdCAweC4qPicpCisKIGZyb20gdGVzdCBpbXBvcnQgbWFwcGluZ190ZXN0cwogCiBjbGFzcyBXZWFrVmFsdWVEaWN0aW9uYXJ5VGVzdENhc2UobWFwcGluZ190ZXN0cy5CYXNpY1Rlc3RNYXBwaW5nUHJvdG9jb2wpOgpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF93c2dpcmVmLnB5IGIvTGliL3Rlc3QvdGVzdF93c2dpcmVmLnB5CmluZGV4IGUyMTNkNzcuLjQ3OWZjYmMgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3Rfd3NnaXJlZi5weQorKysgYi9MaWIvdGVzdC90ZXN0X3dzZ2lyZWYucHkKQEAgLTM0Myw2ICszNDMsNyBAQAogCiAgICAgZGVmIHRlc3RNYXBwaW5nSW50ZXJmYWNlKHNlbGYpOgogICAgICAgICB0ZXN0ID0gWygneCcsJ3knKV0KKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4oSGVhZGVycygpKSwgMCkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4oSGVhZGVycyhbXSkpLDApCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKEhlYWRlcnModGVzdFs6XSkpLDEpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoSGVhZGVycyh0ZXN0WzpdKS5rZXlzKCksIFsneCddKQpAQCAtMzUwLDcgKzM1MSw3IEBACiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoSGVhZGVycyh0ZXN0WzpdKS5pdGVtcygpLCB0ZXN0KQogICAgICAgICBzZWxmLmFzc2VydElzTm90KEhlYWRlcnModGVzdCkuaXRlbXMoKSwgdGVzdCkgICMgbXVzdCBiZSBjb3B5IQogCi0gICAgICAgIGg9SGVhZGVycyhbXSkKKyAgICAgICAgaCA9IEhlYWRlcnMoKQogICAgICAgICBkZWwgaFsnZm9vJ10gICAjIHNob3VsZCBub3QgcmFpc2UgYW4gZXJyb3IKIAogICAgICAgICBoWydGb28nXSA9ICdiYXInCkBAIC0zNzUsOSArMzc2LDggQEAKICAgICBkZWYgdGVzdFJlcXVpcmVMaXN0KHNlbGYpOgogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIEhlYWRlcnMsICJmb28iKQogCi0KICAgICBkZWYgdGVzdEV4dHJhcyhzZWxmKToKLSAgICAgICAgaCA9IEhlYWRlcnMoW10pCisgICAgICAgIGggPSBIZWFkZXJzKCkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdHIoaCksJ1xyXG4nKQogCiAgICAgICAgIGguYWRkX2hlYWRlcignZm9vJywnYmFyJyxiYXo9InNwYW0iKQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF94bWxfZXRyZWVfYy5weSBiL0xpYi90ZXN0L3Rlc3RfeG1sX2V0cmVlX2MucHkKaW5kZXggODE2YWE4Ni4uZDBkZjM4ZCAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF94bWxfZXRyZWVfYy5weQorKysgYi9MaWIvdGVzdC90ZXN0X3htbF9ldHJlZV9jLnB5CkBAIC01NSw3ICs1NSw3IEBACiAgICAgZGVmIHNldFVwKHNlbGYpOgogICAgICAgICBzZWxmLmVsZW1lbnRzaXplID0gc3VwcG9ydC5jYWxjb2Jqc2l6ZSgnNVAnKQogICAgICAgICAjIGV4dHJhCi0gICAgICAgIHNlbGYuZXh0cmEgPSBzdHJ1Y3QuY2FsY3NpemUoJ1BpaVA0UCcpCisgICAgICAgIHNlbGYuZXh0cmEgPSBzdHJ1Y3QuY2FsY3NpemUoJ1BublA0UCcpCiAKICAgICBjaGVja19zaXplb2YgPSBzdXBwb3J0LmNoZWNrX3NpemVvZgogCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X3htbHJwYy5weSBiL0xpYi90ZXN0L3Rlc3RfeG1scnBjLnB5CmluZGV4IDcxYjU5MGMuLmRjMzdiZTIgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfeG1scnBjLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfeG1scnBjLnB5CkBAIC0yODcsNyArMjg3LDcgQEAKICAgICBkZWYgdGVzdF9yZXByKHNlbGYpOgogICAgICAgICBkID0gZGF0ZXRpbWUuZGF0ZXRpbWUoMjAwNywxLDIsMyw0LDUpCiAgICAgICAgIHQgPSB4bWxycGNsaWIuRGF0ZVRpbWUoZCkKLSAgICAgICAgdmFsID0iPERhdGVUaW1lICcyMDA3MDEwMlQwMzowNDowNScgYXQgJXg+IiAlIGlkKHQpCisgICAgICAgIHZhbCA9IjxEYXRlVGltZSAnMjAwNzAxMDJUMDM6MDQ6MDUnIGF0ICUjeD4iICUgaWQodCkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZXByKHQpLCB2YWwpCiAKICAgICBkZWYgdGVzdF9kZWNvZGUoc2VsZik6CkBAIC03MTMsNiArNzEzLDIzIEBACiAgICAgICAgIGNvbm4ucmVxdWVzdCgnUE9TVCcsICcvUlBDMiBIVFRQLzEuMFxyXG5Db250ZW50LUxlbmd0aDogMTAwXHJcblxyXG5ieWUnKQogICAgICAgICBjb25uLmNsb3NlKCkKIAorICAgIGRlZiB0ZXN0X2NvbnRleHRfbWFuYWdlcihzZWxmKToKKyAgICAgICAgd2l0aCB4bWxycGNsaWIuU2VydmVyUHJveHkoVVJMKSBhcyBzZXJ2ZXI6CisgICAgICAgICAgICBzZXJ2ZXIuYWRkKDIsIDMpCisgICAgICAgICAgICBzZWxmLmFzc2VydE5vdEVxdWFsKHNlcnZlcigndHJhbnNwb3J0JykuX2Nvbm5lY3Rpb24sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChOb25lLCBOb25lKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZXJ2ZXIoJ3RyYW5zcG9ydCcpLl9jb25uZWN0aW9uLAorICAgICAgICAgICAgICAgICAgICAgICAgIChOb25lLCBOb25lKSkKKworICAgIGRlZiB0ZXN0X2NvbnRleHRfbWFuYWdlcl9tZXRob2RfZXJyb3Ioc2VsZik6CisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHdpdGggeG1scnBjbGliLlNlcnZlclByb3h5KFVSTCkgYXMgc2VydmVyOgorICAgICAgICAgICAgICAgIHNlcnZlci5hZGQoMiwgImEiKQorICAgICAgICBleGNlcHQgeG1scnBjbGliLkZhdWx0OgorICAgICAgICAgICAgcGFzcworICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlcnZlcigndHJhbnNwb3J0JykuX2Nvbm5lY3Rpb24sCisgICAgICAgICAgICAgICAgICAgICAgICAgKE5vbmUsIE5vbmUpKQorCiAKIGNsYXNzIE11bHRpUGF0aFNlcnZlclRlc3RDYXNlKEJhc2VTZXJ2ZXJUZXN0Q2FzZSk6CiAgICAgdGhyZWFkRnVuYyA9IHN0YXRpY21ldGhvZChodHRwX211bHRpX3NlcnZlcikKQEAgLTg5MSw3ICs5MDgsNyBAQAogICAgICAgICBkYXRhID0gYidcMCcgKiAobWF4X2d6aXBfZGVjb2RlICsgMSkKICAgICAgICAgZW5jb2RlZCA9IHhtbHJwY2xpYi5nemlwX2VuY29kZShkYXRhKQogCi0gICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXNSZWdleHAoVmFsdWVFcnJvciwKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlc1JlZ2V4KFZhbHVlRXJyb3IsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1heCBnemlwcGVkIHBheWxvYWQgbGVuZ3RoIGV4Y2VlZGVkIik6CiAgICAgICAgICAgICB4bWxycGNsaWIuZ3ppcF9kZWNvZGUoZW5jb2RlZCkKIApAQCAtOTE5LDYgKzkzNiw3IEBACiAgICAgICAgIHAgPSB4bWxycGNsaWIuU2VydmVyUHJveHkoc2VsZi51cmwsIHRyYW5zcG9ydD10KQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHAoJ3RyYW5zcG9ydCcpLCB0KQogCisKICMgVGhpcyBpcyBhIGNvbnRyaXZlZCB3YXkgdG8gbWFrZSBhIGZhaWx1cmUgb2NjdXIgb24gdGhlIHNlcnZlciBzaWRlCiAjIGluIG9yZGVyIHRvIHRlc3QgdGhlIF9zZW5kX3RyYWNlYmFja19oZWFkZXIgZmxhZyBvbiB0aGUgc2VydmVyCiBjbGFzcyBGYWlsaW5nTWVzc2FnZUNsYXNzKGh0dHAuY2xpZW50LkhUVFBNZXNzYWdlKToKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfemlwZmlsZS5weSBiL0xpYi90ZXN0L3Rlc3RfemlwZmlsZS5weQppbmRleCAzZDhmOWJjLi5mNDU4ZjMwIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X3ppcGZpbGUucHkKKysrIGIvTGliL3Rlc3QvdGVzdF96aXBmaWxlLnB5CkBAIC0zMzAsNiArMzMwLDM3IEBACiAgICAgICAgICAgICAgICAgICAgIHdoaWxlIHppcG9wZW4ucmVhZDEoMTAwKToKICAgICAgICAgICAgICAgICAgICAgICAgIHBhc3MKIAorICAgIGRlZiB0ZXN0X3JlcHIoc2VsZik6CisgICAgICAgIGZuYW1lID0gJ2ZpbGUubmFtZScKKyAgICAgICAgZm9yIGYgaW4gZ2V0X2ZpbGVzKHNlbGYpOgorICAgICAgICAgICAgd2l0aCB6aXBmaWxlLlppcEZpbGUoZiwgJ3cnLCBzZWxmLmNvbXByZXNzaW9uKSBhcyB6aXBmcDoKKyAgICAgICAgICAgICAgICB6aXBmcC53cml0ZShURVNURk4sIGZuYW1lKQorICAgICAgICAgICAgICAgIHIgPSByZXByKHppcGZwKQorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0SW4oIm1vZGU9J3cnIiwgcikKKworICAgICAgICAgICAgd2l0aCB6aXBmaWxlLlppcEZpbGUoZiwgJ3InKSBhcyB6aXBmcDoKKyAgICAgICAgICAgICAgICByID0gcmVwcih6aXBmcCkKKyAgICAgICAgICAgICAgICBpZiBpc2luc3RhbmNlKGYsIHN0cik6CisgICAgICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0SW4oJ2ZpbGVuYW1lPSVyJyAlIGYsIHIpCisgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRJbignZmlsZT0lcicgJSBmLCByKQorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0SW4oIm1vZGU9J3InIiwgcikKKyAgICAgICAgICAgICAgICByID0gcmVwcih6aXBmcC5nZXRpbmZvKGZuYW1lKSkKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEluKCdmaWxlbmFtZT0lcicgJSBmbmFtZSwgcikKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEluKCdmaWxlbW9kZT0nLCByKQorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0SW4oJ2ZpbGVfc2l6ZT0nLCByKQorICAgICAgICAgICAgICAgIGlmIHNlbGYuY29tcHJlc3Npb24gIT0gemlwZmlsZS5aSVBfU1RPUkVEOgorICAgICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEluKCdjb21wcmVzc190eXBlPScsIHIpCisgICAgICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0SW4oJ2NvbXByZXNzX3NpemU9JywgcikKKyAgICAgICAgICAgICAgICB3aXRoIHppcGZwLm9wZW4oZm5hbWUpIGFzIHppcG9wZW46CisgICAgICAgICAgICAgICAgICAgIHIgPSByZXByKHppcG9wZW4pCisgICAgICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0SW4oJ25hbWU9JXInICUgZm5hbWUsIHIpCisgICAgICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0SW4oIm1vZGU9J3InIiwgcikKKyAgICAgICAgICAgICAgICAgICAgaWYgc2VsZi5jb21wcmVzc2lvbiAhPSB6aXBmaWxlLlpJUF9TVE9SRUQ6CisgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEluKCdjb21wcmVzc190eXBlPScsIHIpCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRJbignW2Nsb3NlZF0nLCByZXByKHppcG9wZW4pKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRJbignW2Nsb3NlZF0nLCByZXByKHppcGZwKSkKKwogICAgIGRlZiB0ZWFyRG93bihzZWxmKToKICAgICAgICAgdW5saW5rKFRFU1RGTikKICAgICAgICAgdW5saW5rKFRFU1RGTjIpCkBAIC0xNjQ3LDYgKzE2NzgsMzQgQEAKICAgICBjb21wcmVzc2lvbiA9IHppcGZpbGUuWklQX0xaTUEKIAogCisjIFByaXZpZGUgdGhlIHRlbGwoKSBtZXRob2QgYnV0IG5vdCBzZWVrKCkKK2NsYXNzIFRlbGxhYmxlOgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBmcCk6CisgICAgICAgIHNlbGYuZnAgPSBmcAorICAgICAgICBzZWxmLm9mZnNldCA9IDAKKworICAgIGRlZiB3cml0ZShzZWxmLCBkYXRhKToKKyAgICAgICAgc2VsZi5vZmZzZXQgKz0gc2VsZi5mcC53cml0ZShkYXRhKQorCisgICAgZGVmIHRlbGwoc2VsZik6CisgICAgICAgIHJldHVybiBzZWxmLm9mZnNldAorCisgICAgZGVmIGZsdXNoKHNlbGYpOgorICAgICAgICBwYXNzCisKK2NsYXNzIFVuc2Vla2FibGVUZXN0cyh1bml0dGVzdC5UZXN0Q2FzZSk6CisgICAgZGVmIHRlc3Rfd3JpdGVzdHJfdGVsbGFibGUoc2VsZik6CisgICAgICAgIGYgPSBpby5CeXRlc0lPKCkKKyAgICAgICAgd2l0aCB6aXBmaWxlLlppcEZpbGUoVGVsbGFibGUoZiksICd3JywgemlwZmlsZS5aSVBfU1RPUkVEKSBhcyB6aXBmcDoKKyAgICAgICAgICAgIHppcGZwLndyaXRlc3RyKCdvbmVzJywgYicxMTEnKQorICAgICAgICAgICAgemlwZnAud3JpdGVzdHIoJ3R3b3MnLCBiJzIyMicpCisgICAgICAgIHdpdGggemlwZmlsZS5aaXBGaWxlKGYsIG1vZGU9J3InKSBhcyB6aXBmOgorICAgICAgICAgICAgd2l0aCB6aXBmLm9wZW4oJ29uZXMnKSBhcyB6b3BlbjoKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHpvcGVuLnJlYWQoKSwgYicxMTEnKQorICAgICAgICAgICAgd2l0aCB6aXBmLm9wZW4oJ3R3b3MnKSBhcyB6b3BlbjoKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHpvcGVuLnJlYWQoKSwgYicyMjInKQorCisKIEByZXF1aXJlc196bGliCiBjbGFzcyBUZXN0c1dpdGhNdWx0aXBsZU9wZW5zKHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICBAY2xhc3NtZXRob2QKQEAgLTE2NjMsMzUgKzE3MjIsNTIgQEAKICAgICBkZWYgdGVzdF9zYW1lX2ZpbGUoc2VsZik6CiAgICAgICAgICMgVmVyaWZ5IHRoYXQgKHdoZW4gdGhlIFppcEZpbGUgaXMgaW4gY29udHJvbCBvZiBjcmVhdGluZyBmaWxlIG9iamVjdHMpCiAgICAgICAgICMgbXVsdGlwbGUgb3BlbigpIGNhbGxzIGNhbiBiZSBtYWRlIHdpdGhvdXQgaW50ZXJmZXJpbmcgd2l0aCBlYWNoIG90aGVyLgotICAgICAgICBzZWxmLm1ha2VfdGVzdF9hcmNoaXZlKFRFU1RGTjIpCi0gICAgICAgIHdpdGggemlwZmlsZS5aaXBGaWxlKFRFU1RGTjIsIG1vZGU9InIiKSBhcyB6aXBmOgotICAgICAgICAgICAgd2l0aCB6aXBmLm9wZW4oJ29uZXMnKSBhcyB6b3BlbjEsIHppcGYub3Blbignb25lcycpIGFzIHpvcGVuMjoKLSAgICAgICAgICAgICAgICBkYXRhMSA9IHpvcGVuMS5yZWFkKDUwMCkKLSAgICAgICAgICAgICAgICBkYXRhMiA9IHpvcGVuMi5yZWFkKDUwMCkKLSAgICAgICAgICAgICAgICBkYXRhMSArPSB6b3BlbjEucmVhZCgpCi0gICAgICAgICAgICAgICAgZGF0YTIgKz0gem9wZW4yLnJlYWQoKQotICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkYXRhMSwgZGF0YTIpCi0gICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRhdGExLCBzZWxmLmRhdGExKQorICAgICAgICBmb3IgZiBpbiBnZXRfZmlsZXMoc2VsZik6CisgICAgICAgICAgICBzZWxmLm1ha2VfdGVzdF9hcmNoaXZlKGYpCisgICAgICAgICAgICB3aXRoIHppcGZpbGUuWmlwRmlsZShmLCBtb2RlPSJyIikgYXMgemlwZjoKKyAgICAgICAgICAgICAgICB3aXRoIHppcGYub3Blbignb25lcycpIGFzIHpvcGVuMSwgemlwZi5vcGVuKCdvbmVzJykgYXMgem9wZW4yOgorICAgICAgICAgICAgICAgICAgICBkYXRhMSA9IHpvcGVuMS5yZWFkKDUwMCkKKyAgICAgICAgICAgICAgICAgICAgZGF0YTIgPSB6b3BlbjIucmVhZCg1MDApCisgICAgICAgICAgICAgICAgICAgIGRhdGExICs9IHpvcGVuMS5yZWFkKCkKKyAgICAgICAgICAgICAgICAgICAgZGF0YTIgKz0gem9wZW4yLnJlYWQoKQorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZGF0YTEsIGRhdGEyKQorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZGF0YTEsIHNlbGYuZGF0YTEpCiAKICAgICBkZWYgdGVzdF9kaWZmZXJlbnRfZmlsZShzZWxmKToKICAgICAgICAgIyBWZXJpZnkgdGhhdCAod2hlbiB0aGUgWmlwRmlsZSBpcyBpbiBjb250cm9sIG9mIGNyZWF0aW5nIGZpbGUgb2JqZWN0cykKICAgICAgICAgIyBtdWx0aXBsZSBvcGVuKCkgY2FsbHMgY2FuIGJlIG1hZGUgd2l0aG91dCBpbnRlcmZlcmluZyB3aXRoIGVhY2ggb3RoZXIuCi0gICAgICAgIHNlbGYubWFrZV90ZXN0X2FyY2hpdmUoVEVTVEZOMikKLSAgICAgICAgd2l0aCB6aXBmaWxlLlppcEZpbGUoVEVTVEZOMiwgbW9kZT0iciIpIGFzIHppcGY6Ci0gICAgICAgICAgICB3aXRoIHppcGYub3Blbignb25lcycpIGFzIHpvcGVuMSwgemlwZi5vcGVuKCd0d29zJykgYXMgem9wZW4yOgotICAgICAgICAgICAgICAgIGRhdGExID0gem9wZW4xLnJlYWQoNTAwKQotICAgICAgICAgICAgICAgIGRhdGEyID0gem9wZW4yLnJlYWQoNTAwKQotICAgICAgICAgICAgICAgIGRhdGExICs9IHpvcGVuMS5yZWFkKCkKLSAgICAgICAgICAgICAgICBkYXRhMiArPSB6b3BlbjIucmVhZCgpCi0gICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRhdGExLCBzZWxmLmRhdGExKQotICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkYXRhMiwgc2VsZi5kYXRhMikKKyAgICAgICAgZm9yIGYgaW4gZ2V0X2ZpbGVzKHNlbGYpOgorICAgICAgICAgICAgc2VsZi5tYWtlX3Rlc3RfYXJjaGl2ZShmKQorICAgICAgICAgICAgd2l0aCB6aXBmaWxlLlppcEZpbGUoZiwgbW9kZT0iciIpIGFzIHppcGY6CisgICAgICAgICAgICAgICAgd2l0aCB6aXBmLm9wZW4oJ29uZXMnKSBhcyB6b3BlbjEsIHppcGYub3BlbigndHdvcycpIGFzIHpvcGVuMjoKKyAgICAgICAgICAgICAgICAgICAgZGF0YTEgPSB6b3BlbjEucmVhZCg1MDApCisgICAgICAgICAgICAgICAgICAgIGRhdGEyID0gem9wZW4yLnJlYWQoNTAwKQorICAgICAgICAgICAgICAgICAgICBkYXRhMSArPSB6b3BlbjEucmVhZCgpCisgICAgICAgICAgICAgICAgICAgIGRhdGEyICs9IHpvcGVuMi5yZWFkKCkKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRhdGExLCBzZWxmLmRhdGExKQorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZGF0YTIsIHNlbGYuZGF0YTIpCiAKICAgICBkZWYgdGVzdF9pbnRlcmxlYXZlZChzZWxmKToKICAgICAgICAgIyBWZXJpZnkgdGhhdCAod2hlbiB0aGUgWmlwRmlsZSBpcyBpbiBjb250cm9sIG9mIGNyZWF0aW5nIGZpbGUgb2JqZWN0cykKICAgICAgICAgIyBtdWx0aXBsZSBvcGVuKCkgY2FsbHMgY2FuIGJlIG1hZGUgd2l0aG91dCBpbnRlcmZlcmluZyB3aXRoIGVhY2ggb3RoZXIuCi0gICAgICAgIHNlbGYubWFrZV90ZXN0X2FyY2hpdmUoVEVTVEZOMikKLSAgICAgICAgd2l0aCB6aXBmaWxlLlppcEZpbGUoVEVTVEZOMiwgbW9kZT0iciIpIGFzIHppcGY6Ci0gICAgICAgICAgICB3aXRoIHppcGYub3Blbignb25lcycpIGFzIHpvcGVuMSwgemlwZi5vcGVuKCd0d29zJykgYXMgem9wZW4yOgorICAgICAgICBmb3IgZiBpbiBnZXRfZmlsZXMoc2VsZik6CisgICAgICAgICAgICBzZWxmLm1ha2VfdGVzdF9hcmNoaXZlKGYpCisgICAgICAgICAgICB3aXRoIHppcGZpbGUuWmlwRmlsZShmLCBtb2RlPSJyIikgYXMgemlwZjoKKyAgICAgICAgICAgICAgICB3aXRoIHppcGYub3Blbignb25lcycpIGFzIHpvcGVuMSwgemlwZi5vcGVuKCd0d29zJykgYXMgem9wZW4yOgorICAgICAgICAgICAgICAgICAgICBkYXRhMSA9IHpvcGVuMS5yZWFkKDUwMCkKKyAgICAgICAgICAgICAgICAgICAgZGF0YTIgPSB6b3BlbjIucmVhZCg1MDApCisgICAgICAgICAgICAgICAgICAgIGRhdGExICs9IHpvcGVuMS5yZWFkKCkKKyAgICAgICAgICAgICAgICAgICAgZGF0YTIgKz0gem9wZW4yLnJlYWQoKQorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZGF0YTEsIHNlbGYuZGF0YTEpCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkYXRhMiwgc2VsZi5kYXRhMikKKworICAgIGRlZiB0ZXN0X3JlYWRfYWZ0ZXJfY2xvc2Uoc2VsZik6CisgICAgICAgIGZvciBmIGluIGdldF9maWxlcyhzZWxmKToKKyAgICAgICAgICAgIHNlbGYubWFrZV90ZXN0X2FyY2hpdmUoZikKKyAgICAgICAgICAgIHdpdGggY29udGV4dGxpYi5FeGl0U3RhY2soKSBhcyBzdGFjazoKKyAgICAgICAgICAgICAgICB3aXRoIHppcGZpbGUuWmlwRmlsZShmLCAncicpIGFzIHppcGY6CisgICAgICAgICAgICAgICAgICAgIHpvcGVuMSA9IHN0YWNrLmVudGVyX2NvbnRleHQoemlwZi5vcGVuKCdvbmVzJykpCisgICAgICAgICAgICAgICAgICAgIHpvcGVuMiA9IHN0YWNrLmVudGVyX2NvbnRleHQoemlwZi5vcGVuKCd0d29zJykpCiAgICAgICAgICAgICAgICAgZGF0YTEgPSB6b3BlbjEucmVhZCg1MDApCiAgICAgICAgICAgICAgICAgZGF0YTIgPSB6b3BlbjIucmVhZCg1MDApCiAgICAgICAgICAgICAgICAgZGF0YTEgKz0gem9wZW4xLnJlYWQoKQpAQCAtMTY5OSw0MyArMTc3NSwzMiBAQAogICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkYXRhMSwgc2VsZi5kYXRhMSkKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZGF0YTIsIHNlbGYuZGF0YTIpCiAKLSAgICBkZWYgdGVzdF9yZWFkX2FmdGVyX2Nsb3NlKHNlbGYpOgotICAgICAgICBzZWxmLm1ha2VfdGVzdF9hcmNoaXZlKFRFU1RGTjIpCi0gICAgICAgIHdpdGggY29udGV4dGxpYi5FeGl0U3RhY2soKSBhcyBzdGFjazoKLSAgICAgICAgICAgIHdpdGggemlwZmlsZS5aaXBGaWxlKFRFU1RGTjIsICdyJykgYXMgemlwZjoKLSAgICAgICAgICAgICAgICB6b3BlbjEgPSBzdGFjay5lbnRlcl9jb250ZXh0KHppcGYub3Blbignb25lcycpKQotICAgICAgICAgICAgICAgIHpvcGVuMiA9IHN0YWNrLmVudGVyX2NvbnRleHQoemlwZi5vcGVuKCd0d29zJykpCi0gICAgICAgICAgICBkYXRhMSA9IHpvcGVuMS5yZWFkKDUwMCkKLSAgICAgICAgICAgIGRhdGEyID0gem9wZW4yLnJlYWQoNTAwKQotICAgICAgICAgICAgZGF0YTEgKz0gem9wZW4xLnJlYWQoKQotICAgICAgICAgICAgZGF0YTIgKz0gem9wZW4yLnJlYWQoKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRhdGExLCBzZWxmLmRhdGExKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRhdGEyLCBzZWxmLmRhdGEyKQotCiAgICAgZGVmIHRlc3RfcmVhZF9hZnRlcl93cml0ZShzZWxmKToKLSAgICAgICAgd2l0aCB6aXBmaWxlLlppcEZpbGUoVEVTVEZOMiwgJ3cnLCB6aXBmaWxlLlpJUF9ERUZMQVRFRCkgYXMgemlwZjoKLSAgICAgICAgICAgIHppcGYud3JpdGVzdHIoJ29uZXMnLCBzZWxmLmRhdGExKQotICAgICAgICAgICAgemlwZi53cml0ZXN0cigndHdvcycsIHNlbGYuZGF0YTIpCi0gICAgICAgICAgICB3aXRoIHppcGYub3Blbignb25lcycpIGFzIHpvcGVuMToKLSAgICAgICAgICAgICAgICBkYXRhMSA9IHpvcGVuMS5yZWFkKDUwMCkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkYXRhMSwgc2VsZi5kYXRhMVs6NTAwXSkKLSAgICAgICAgd2l0aCB6aXBmaWxlLlppcEZpbGUoVEVTVEZOMiwgJ3InKSBhcyB6aXBmOgotICAgICAgICAgICAgZGF0YTEgPSB6aXBmLnJlYWQoJ29uZXMnKQotICAgICAgICAgICAgZGF0YTIgPSB6aXBmLnJlYWQoJ3R3b3MnKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRhdGExLCBzZWxmLmRhdGExKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRhdGEyLCBzZWxmLmRhdGEyKQorICAgICAgICBmb3IgZiBpbiBnZXRfZmlsZXMoc2VsZik6CisgICAgICAgICAgICB3aXRoIHppcGZpbGUuWmlwRmlsZShmLCAndycsIHppcGZpbGUuWklQX0RFRkxBVEVEKSBhcyB6aXBmOgorICAgICAgICAgICAgICAgIHppcGYud3JpdGVzdHIoJ29uZXMnLCBzZWxmLmRhdGExKQorICAgICAgICAgICAgICAgIHppcGYud3JpdGVzdHIoJ3R3b3MnLCBzZWxmLmRhdGEyKQorICAgICAgICAgICAgICAgIHdpdGggemlwZi5vcGVuKCdvbmVzJykgYXMgem9wZW4xOgorICAgICAgICAgICAgICAgICAgICBkYXRhMSA9IHpvcGVuMS5yZWFkKDUwMCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZGF0YTEsIHNlbGYuZGF0YTFbOjUwMF0pCisgICAgICAgICAgICB3aXRoIHppcGZpbGUuWmlwRmlsZShmLCAncicpIGFzIHppcGY6CisgICAgICAgICAgICAgICAgZGF0YTEgPSB6aXBmLnJlYWQoJ29uZXMnKQorICAgICAgICAgICAgICAgIGRhdGEyID0gemlwZi5yZWFkKCd0d29zJykKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZGF0YTEsIHNlbGYuZGF0YTEpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRhdGEyLCBzZWxmLmRhdGEyKQogCiAgICAgZGVmIHRlc3Rfd3JpdGVfYWZ0ZXJfcmVhZChzZWxmKToKLSAgICAgICAgd2l0aCB6aXBmaWxlLlppcEZpbGUoVEVTVEZOMiwgInciLCB6aXBmaWxlLlpJUF9ERUZMQVRFRCkgYXMgemlwZjoKLSAgICAgICAgICAgIHppcGYud3JpdGVzdHIoJ29uZXMnLCBzZWxmLmRhdGExKQotICAgICAgICAgICAgd2l0aCB6aXBmLm9wZW4oJ29uZXMnKSBhcyB6b3BlbjE6Ci0gICAgICAgICAgICAgICAgem9wZW4xLnJlYWQoNTAwKQotICAgICAgICAgICAgICAgIHppcGYud3JpdGVzdHIoJ3R3b3MnLCBzZWxmLmRhdGEyKQotICAgICAgICB3aXRoIHppcGZpbGUuWmlwRmlsZShURVNURk4yLCAncicpIGFzIHppcGY6Ci0gICAgICAgICAgICBkYXRhMSA9IHppcGYucmVhZCgnb25lcycpCi0gICAgICAgICAgICBkYXRhMiA9IHppcGYucmVhZCgndHdvcycpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZGF0YTEsIHNlbGYuZGF0YTEpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZGF0YTIsIHNlbGYuZGF0YTIpCisgICAgICAgIGZvciBmIGluIGdldF9maWxlcyhzZWxmKToKKyAgICAgICAgICAgIHdpdGggemlwZmlsZS5aaXBGaWxlKGYsICJ3IiwgemlwZmlsZS5aSVBfREVGTEFURUQpIGFzIHppcGY6CisgICAgICAgICAgICAgICAgemlwZi53cml0ZXN0cignb25lcycsIHNlbGYuZGF0YTEpCisgICAgICAgICAgICAgICAgd2l0aCB6aXBmLm9wZW4oJ29uZXMnKSBhcyB6b3BlbjE6CisgICAgICAgICAgICAgICAgICAgIHpvcGVuMS5yZWFkKDUwMCkKKyAgICAgICAgICAgICAgICAgICAgemlwZi53cml0ZXN0cigndHdvcycsIHNlbGYuZGF0YTIpCisgICAgICAgICAgICB3aXRoIHppcGZpbGUuWmlwRmlsZShmLCAncicpIGFzIHppcGY6CisgICAgICAgICAgICAgICAgZGF0YTEgPSB6aXBmLnJlYWQoJ29uZXMnKQorICAgICAgICAgICAgICAgIGRhdGEyID0gemlwZi5yZWFkKCd0d29zJykKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZGF0YTEsIHNlbGYuZGF0YTEpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRhdGEyLCBzZWxmLmRhdGEyKQogCiAgICAgZGVmIHRlc3RfbWFueV9vcGVucyhzZWxmKToKICAgICAgICAgIyBWZXJpZnkgdGhhdCByZWFkKCkgYW5kIG9wZW4oKSBwcm9tcHRseSBjbG9zZSB0aGUgZmlsZSBkZXNjcmlwdG9yLApkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF96aXBpbXBvcnRfc3VwcG9ydC5weSBiL0xpYi90ZXN0L3Rlc3RfemlwaW1wb3J0X3N1cHBvcnQucHkKaW5kZXggNjZjMzU1Ny4uMmU4MDFhOCAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF96aXBpbXBvcnRfc3VwcG9ydC5weQorKysgYi9MaWIvdGVzdC90ZXN0X3ppcGltcG9ydF9zdXBwb3J0LnB5CkBAIC0zOSw3ICszOSw3IEBACiAgICAgIyBVc2UgdGhlIG9iamVjdCdzIGZ1bGx5IHF1YWxpZmllZCBuYW1lIGlmIGl0IGhhcyBvbmUKICAgICAjIE90aGVyd2lzZSwgdXNlIHRoZSBtb2R1bGUncyBuYW1lCiAgICAgdHJ5OgotICAgICAgICBuYW1lID0gIiVzLiVzIiAlIChvYmouX19tb2R1bGVfXywgb2JqLl9fbmFtZV9fKQorICAgICAgICBuYW1lID0gIiVzLiVzIiAlIChvYmouX19tb2R1bGVfXywgb2JqLl9fcXVhbG5hbWVfXykKICAgICBleGNlcHQgQXR0cmlidXRlRXJyb3I6CiAgICAgICAgIG5hbWUgPSBtb2R1bGUuX19uYW1lX18KICAgICBmb3IgZXhhbXBsZSBpbiBmaW5kZXIuZmluZChvYmosIG5hbWUsIG1vZHVsZSk6CmRpZmYgLS1naXQgYS9MaWIvdGhyZWFkaW5nLnB5IGIvTGliL3RocmVhZGluZy5weQppbmRleCAzN2FhM2I4Li4yNGNjOTExIDEwMDY0NAotLS0gYS9MaWIvdGhyZWFkaW5nLnB5CisrKyBiL0xpYi90aHJlYWRpbmcucHkKQEAgLTMsMTAgKzMsNyBAQAogaW1wb3J0IHN5cyBhcyBfc3lzCiBpbXBvcnQgX3RocmVhZAogCi10cnk6Ci0gICAgZnJvbSB0aW1lIGltcG9ydCBtb25vdG9uaWMgYXMgX3RpbWUKLWV4Y2VwdCBJbXBvcnRFcnJvcjoKLSAgICBmcm9tIHRpbWUgaW1wb3J0IHRpbWUgYXMgX3RpbWUKK2Zyb20gdGltZSBpbXBvcnQgbW9ub3RvbmljIGFzIF90aW1lCiBmcm9tIHRyYWNlYmFjayBpbXBvcnQgZm9ybWF0X2V4YyBhcyBfZm9ybWF0X2V4YwogZnJvbSBfd2Vha3JlZnNldCBpbXBvcnQgV2Vha1NldAogZnJvbSBpdGVydG9vbHMgaW1wb3J0IGlzbGljZSBhcyBfaXNsaWNlLCBjb3VudCBhcyBfY291bnQKQEAgLTEwNiw4ICsxMDMsMTQgQEAKICAgICAgICAgICAgIG93bmVyID0gX2FjdGl2ZVtvd25lcl0ubmFtZQogICAgICAgICBleGNlcHQgS2V5RXJyb3I6CiAgICAgICAgICAgICBwYXNzCi0gICAgICAgIHJldHVybiAiPCVzIG93bmVyPSVyIGNvdW50PSVkPiIgJSAoCi0gICAgICAgICAgICAgICAgc2VsZi5fX2NsYXNzX18uX19uYW1lX18sIG93bmVyLCBzZWxmLl9jb3VudCkKKyAgICAgICAgcmV0dXJuICI8JXMgJXMuJXMgb2JqZWN0IG93bmVyPSVyIGNvdW50PSVkIGF0ICVzPiIgJSAoCisgICAgICAgICAgICAibG9ja2VkIiBpZiBzZWxmLl9ibG9jay5sb2NrZWQoKSBlbHNlICJ1bmxvY2tlZCIsCisgICAgICAgICAgICBzZWxmLl9fY2xhc3NfXy5fX21vZHVsZV9fLAorICAgICAgICAgICAgc2VsZi5fX2NsYXNzX18uX19xdWFsbmFtZV9fLAorICAgICAgICAgICAgb3duZXIsCisgICAgICAgICAgICBzZWxmLl9jb3VudCwKKyAgICAgICAgICAgIGhleChpZChzZWxmKSkKKyAgICAgICAgKQogCiAgICAgZGVmIGFjcXVpcmUoc2VsZiwgYmxvY2tpbmc9VHJ1ZSwgdGltZW91dD0tMSk6CiAgICAgICAgICIiIkFjcXVpcmUgYSBsb2NrLCBibG9ja2luZyBvciBub24tYmxvY2tpbmcuCmRpZmYgLS1naXQgYS9MaWIvdGltZWl0LnB5IGIvTGliL3RpbWVpdC5weQppbmRleCA5Y2VjMDAwLi4zODA3Nzk0IDEwMDc1NQotLS0gYS9MaWIvdGltZWl0LnB5CisrKyBiL0xpYi90aW1laXQucHkKQEAgLTYwLDYgKzYwLDggQEAKIGRlZmF1bHRfcmVwZWF0ID0gMwogZGVmYXVsdF90aW1lciA9IHRpbWUucGVyZl9jb3VudGVyCiAKK19nbG9iYWxzID0gZ2xvYmFscworCiAjIERvbid0IGNoYW5nZSB0aGUgaW5kZW50YXRpb24gb2YgdGhlIHRlbXBsYXRlOyB0aGUgcmVpbmRlbnQoKSBjYWxscwogIyBpbiBUaW1lci5fX2luaXRfXygpIGRlcGVuZCBvbiBzZXR1cCBiZWluZyBpbmRlbnRlZCA0IHNwYWNlcyBhbmQgc3RtdAogIyBiZWluZyBpbmRlbnRlZCA4IHNwYWNlcy4KQEAgLTk0LDcgKzk2LDkgQEAKICAgICBUaGUgY29uc3RydWN0b3IgdGFrZXMgYSBzdGF0ZW1lbnQgdG8gYmUgdGltZWQsIGFuIGFkZGl0aW9uYWwKICAgICBzdGF0ZW1lbnQgdXNlZCBmb3Igc2V0dXAsIGFuZCBhIHRpbWVyIGZ1bmN0aW9uLiAgQm90aCBzdGF0ZW1lbnRzCiAgICAgZGVmYXVsdCB0byAncGFzcyc7IHRoZSB0aW1lciBmdW5jdGlvbiBpcyBwbGF0Zm9ybS1kZXBlbmRlbnQgKHNlZQotICAgIG1vZHVsZSBkb2Mgc3RyaW5nKS4KKyAgICBtb2R1bGUgZG9jIHN0cmluZykuICBJZiAnZ2xvYmFscycgaXMgc3BlY2lmaWVkLCB0aGUgY29kZSB3aWxsIGJlCisgICAgZXhlY3V0ZWQgd2l0aGluIHRoYXQgbmFtZXNwYWNlIChhcyBvcHBvc2VkIHRvIGluc2lkZSB0aW1laXQncworICAgIG5hbWVzcGFjZSkuCiAKICAgICBUbyBtZWFzdXJlIHRoZSBleGVjdXRpb24gdGltZSBvZiB0aGUgZmlyc3Qgc3RhdGVtZW50LCB1c2UgdGhlCiAgICAgdGltZWl0KCkgbWV0aG9kLiAgVGhlIHJlcGVhdCgpIG1ldGhvZCBpcyBhIGNvbnZlbmllbmNlIHRvIGNhbGwKQEAgLTEwNCwxMCArMTA4LDEyIEBACiAgICAgbXVsdGktbGluZSBzdHJpbmcgbGl0ZXJhbHMuCiAgICAgIiIiCiAKLSAgICBkZWYgX19pbml0X18oc2VsZiwgc3RtdD0icGFzcyIsIHNldHVwPSJwYXNzIiwgdGltZXI9ZGVmYXVsdF90aW1lcik6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIHN0bXQ9InBhc3MiLCBzZXR1cD0icGFzcyIsIHRpbWVyPWRlZmF1bHRfdGltZXIsCisgICAgICAgICAgICAgICAgIGdsb2JhbHM9Tm9uZSk6CiAgICAgICAgICIiIkNvbnN0cnVjdG9yLiAgU2VlIGNsYXNzIGRvYyBzdHJpbmcuIiIiCiAgICAgICAgIHNlbGYudGltZXIgPSB0aW1lcgotICAgICAgICBucyA9IHt9CisgICAgICAgIGxvY2FsX25zID0ge30KKyAgICAgICAgZ2xvYmFsX25zID0gX2dsb2JhbHMoKSBpZiBnbG9iYWxzIGlzIE5vbmUgZWxzZSBnbG9iYWxzCiAgICAgICAgIGlmIGlzaW5zdGFuY2Uoc3RtdCwgc3RyKToKICAgICAgICAgICAgICMgQ2hlY2sgdGhhdCB0aGUgY29kZSBjYW4gYmUgY29tcGlsZWQgb3V0c2lkZSBhIGZ1bmN0aW9uCiAgICAgICAgICAgICBpZiBpc2luc3RhbmNlKHNldHVwLCBzdHIpOgpAQCAtMTIxLDE5ICsxMjcsMTkgQEAKICAgICAgICAgICAgICAgICBzcmMgPSB0ZW1wbGF0ZS5mb3JtYXQoc3RtdD1zdG10LCBzZXR1cD1zZXR1cCkKICAgICAgICAgICAgIGVsaWYgY2FsbGFibGUoc2V0dXApOgogICAgICAgICAgICAgICAgIHNyYyA9IHRlbXBsYXRlLmZvcm1hdChzdG10PXN0bXQsIHNldHVwPSdfc2V0dXAoKScpCi0gICAgICAgICAgICAgICAgbnNbJ19zZXR1cCddID0gc2V0dXAKKyAgICAgICAgICAgICAgICBsb2NhbF9uc1snX3NldHVwJ10gPSBzZXR1cAogICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJzZXR1cCBpcyBuZWl0aGVyIGEgc3RyaW5nIG5vciBjYWxsYWJsZSIpCi0gICAgICAgICAgICBzZWxmLnNyYyA9IHNyYyAjIFNhdmUgZm9yIHRyYWNlYmFjayBkaXNwbGF5CisgICAgICAgICAgICBzZWxmLnNyYyA9IHNyYyAgIyBTYXZlIGZvciB0cmFjZWJhY2sgZGlzcGxheQogICAgICAgICAgICAgY29kZSA9IGNvbXBpbGUoc3JjLCBkdW1teV9zcmNfbmFtZSwgImV4ZWMiKQotICAgICAgICAgICAgZXhlYyhjb2RlLCBnbG9iYWxzKCksIG5zKQotICAgICAgICAgICAgc2VsZi5pbm5lciA9IG5zWyJpbm5lciJdCisgICAgICAgICAgICBleGVjKGNvZGUsIGdsb2JhbF9ucywgbG9jYWxfbnMpCisgICAgICAgICAgICBzZWxmLmlubmVyID0gbG9jYWxfbnNbImlubmVyIl0KICAgICAgICAgZWxpZiBjYWxsYWJsZShzdG10KToKICAgICAgICAgICAgIHNlbGYuc3JjID0gTm9uZQogICAgICAgICAgICAgaWYgaXNpbnN0YW5jZShzZXR1cCwgc3RyKToKICAgICAgICAgICAgICAgICBfc2V0dXAgPSBzZXR1cAogICAgICAgICAgICAgICAgIGRlZiBzZXR1cCgpOgotICAgICAgICAgICAgICAgICAgICBleGVjKF9zZXR1cCwgZ2xvYmFscygpLCBucykKKyAgICAgICAgICAgICAgICAgICAgZXhlYyhfc2V0dXAsIGdsb2JhbF9ucywgbG9jYWxfbnMpCiAgICAgICAgICAgICBlbGlmIG5vdCBjYWxsYWJsZShzZXR1cCk6CiAgICAgICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigic2V0dXAgaXMgbmVpdGhlciBhIHN0cmluZyBub3IgY2FsbGFibGUiKQogICAgICAgICAgICAgc2VsZi5pbm5lciA9IF90ZW1wbGF0ZV9mdW5jKHNldHVwLCBzdG10KQpAQCAtMjE0LDE0ICsyMjAsMTQgQEAKICAgICAgICAgcmV0dXJuIHIKIAogZGVmIHRpbWVpdChzdG10PSJwYXNzIiwgc2V0dXA9InBhc3MiLCB0aW1lcj1kZWZhdWx0X3RpbWVyLAotICAgICAgICAgICBudW1iZXI9ZGVmYXVsdF9udW1iZXIpOgorICAgICAgICAgICBudW1iZXI9ZGVmYXVsdF9udW1iZXIsIGdsb2JhbHM9Tm9uZSk6CiAgICAgIiIiQ29udmVuaWVuY2UgZnVuY3Rpb24gdG8gY3JlYXRlIFRpbWVyIG9iamVjdCBhbmQgY2FsbCB0aW1laXQgbWV0aG9kLiIiIgotICAgIHJldHVybiBUaW1lcihzdG10LCBzZXR1cCwgdGltZXIpLnRpbWVpdChudW1iZXIpCisgICAgcmV0dXJuIFRpbWVyKHN0bXQsIHNldHVwLCB0aW1lciwgZ2xvYmFscykudGltZWl0KG51bWJlcikKIAogZGVmIHJlcGVhdChzdG10PSJwYXNzIiwgc2V0dXA9InBhc3MiLCB0aW1lcj1kZWZhdWx0X3RpbWVyLAotICAgICAgICAgICByZXBlYXQ9ZGVmYXVsdF9yZXBlYXQsIG51bWJlcj1kZWZhdWx0X251bWJlcik6CisgICAgICAgICAgIHJlcGVhdD1kZWZhdWx0X3JlcGVhdCwgbnVtYmVyPWRlZmF1bHRfbnVtYmVyLCBnbG9iYWxzPU5vbmUpOgogICAgICIiIkNvbnZlbmllbmNlIGZ1bmN0aW9uIHRvIGNyZWF0ZSBUaW1lciBvYmplY3QgYW5kIGNhbGwgcmVwZWF0IG1ldGhvZC4iIiIKLSAgICByZXR1cm4gVGltZXIoc3RtdCwgc2V0dXAsIHRpbWVyKS5yZXBlYXQocmVwZWF0LCBudW1iZXIpCisgICAgcmV0dXJuIFRpbWVyKHN0bXQsIHNldHVwLCB0aW1lciwgZ2xvYmFscykucmVwZWF0KHJlcGVhdCwgbnVtYmVyKQogCiBkZWYgbWFpbihhcmdzPU5vbmUsICosIF93cmFwX3RpbWVyPU5vbmUpOgogICAgICIiIk1haW4gcHJvZ3JhbSwgdXNlZCB3aGVuIHJ1biBhcyBhIHNjcmlwdC4KZGlmZiAtLWdpdCBhL0xpYi90a2ludGVyL19faW5pdF9fLnB5IGIvTGliL3RraW50ZXIvX19pbml0X18ucHkKaW5kZXggYTFmZmNhMS4uYmViMGE3MyAxMDA2NDQKLS0tIGEvTGliL3RraW50ZXIvX19pbml0X18ucHkKKysrIGIvTGliL3RraW50ZXIvX19pbml0X18ucHkKQEAgLTc3MCw5ICs3NzAsNiBAQAogICAgICAgICAiIiJSYWlzZSB0aGlzIHdpZGdldCBpbiB0aGUgc3RhY2tpbmcgb3JkZXIuIiIiCiAgICAgICAgIHNlbGYudGsuY2FsbCgncmFpc2UnLCBzZWxmLl93LCBhYm92ZVRoaXMpCiAgICAgbGlmdCA9IHRrcmFpc2UKLSAgICBkZWYgY29sb3Jtb2RlbChzZWxmLCB2YWx1ZT1Ob25lKToKLSAgICAgICAgIiIiVXNlbGVzcy4gTm90IGltcGxlbWVudGVkIGluIFRrLiIiIgotICAgICAgICByZXR1cm4gc2VsZi50ay5jYWxsKCd0aycsICdjb2xvcm1vZGVsJywgc2VsZi5fdywgdmFsdWUpCiAgICAgZGVmIHdpbmZvX2F0b20oc2VsZiwgbmFtZSwgZGlzcGxheW9mPTApOgogICAgICAgICAiIiJSZXR1cm4gaW50ZWdlciB3aGljaCByZXByZXNlbnRzIGF0b20gTkFNRS4iIiIKICAgICAgICAgYXJncyA9ICgnd2luZm8nLCAnYXRvbScpICsgc2VsZi5fZGlzcGxheW9mKGRpc3BsYXlvZikgKyAobmFtZSwpCkBAIC0xMzMxLDYgKzEzMjgsMTEgQEAKICAgICBkZWYgX19zdHJfXyhzZWxmKToKICAgICAgICAgIiIiUmV0dXJuIHRoZSB3aW5kb3cgcGF0aCBuYW1lIG9mIHRoaXMgd2lkZ2V0LiIiIgogICAgICAgICByZXR1cm4gc2VsZi5fdworCisgICAgZGVmIF9fcmVwcl9fKHNlbGYpOgorICAgICAgICByZXR1cm4gJzwlcy4lcyBvYmplY3QgJXM+JyAlICgKKyAgICAgICAgICAgIHNlbGYuX19jbGFzc19fLl9fbW9kdWxlX18sIHNlbGYuX19jbGFzc19fLl9fcXVhbG5hbWVfXywgc2VsZi5fdykKKwogICAgICMgUGFjayBtZXRob2RzIHRoYXQgYXBwbHkgdG8gdGhlIG1hc3RlcgogICAgIF9ub2FyZ18gPSBbJ19ub2FyZ18nXQogICAgIGRlZiBwYWNrX3Byb3BhZ2F0ZShzZWxmLCBmbGFnPV9ub2FyZ18pOgpAQCAtMjE5MSwyMSArMjE5Myw2IEBACiAgICAgICAgICIiIgogICAgICAgICBXaWRnZXQuX19pbml0X18oc2VsZiwgbWFzdGVyLCAnYnV0dG9uJywgY25mLCBrdykKIAotICAgIGRlZiB0a0J1dHRvbkVudGVyKHNlbGYsICpkdW1teSk6Ci0gICAgICAgIHNlbGYudGsuY2FsbCgndGtCdXR0b25FbnRlcicsIHNlbGYuX3cpCi0KLSAgICBkZWYgdGtCdXR0b25MZWF2ZShzZWxmLCAqZHVtbXkpOgotICAgICAgICBzZWxmLnRrLmNhbGwoJ3RrQnV0dG9uTGVhdmUnLCBzZWxmLl93KQotCi0gICAgZGVmIHRrQnV0dG9uRG93bihzZWxmLCAqZHVtbXkpOgotICAgICAgICBzZWxmLnRrLmNhbGwoJ3RrQnV0dG9uRG93bicsIHNlbGYuX3cpCi0KLSAgICBkZWYgdGtCdXR0b25VcChzZWxmLCAqZHVtbXkpOgotICAgICAgICBzZWxmLnRrLmNhbGwoJ3RrQnV0dG9uVXAnLCBzZWxmLl93KQotCi0gICAgZGVmIHRrQnV0dG9uSW52b2tlKHNlbGYsICpkdW1teSk6Ci0gICAgICAgIHNlbGYudGsuY2FsbCgndGtCdXR0b25JbnZva2UnLCBzZWxmLl93KQotCiAgICAgZGVmIGZsYXNoKHNlbGYpOgogICAgICAgICAiIiJGbGFzaCB0aGUgYnV0dG9uLgogCkBAIC0yNzA0LDM1ICsyNjkxLDE1IEBACiAgICAgICAgIGRpc2FibGVkZm9yZWdyb3VuZCwgZmcsIGZvbnQsIGZvcmVncm91bmQsIHBvc3Rjb21tYW5kLCByZWxpZWYsCiAgICAgICAgIHNlbGVjdGNvbG9yLCB0YWtlZm9jdXMsIHRlYXJvZmYsIHRlYXJvZmZjb21tYW5kLCB0aXRsZSwgdHlwZS4iIiIKICAgICAgICAgV2lkZ2V0Ll9faW5pdF9fKHNlbGYsIG1hc3RlciwgJ21lbnUnLCBjbmYsIGt3KQorICAgIGRlZiB0a19wb3B1cChzZWxmLCB4LCB5LCBlbnRyeT0iIik6CisgICAgICAgICIiIlBvc3QgdGhlIG1lbnUgYXQgcG9zaXRpb24gWCxZIHdpdGggZW50cnkgRU5UUlkuIiIiCisgICAgICAgIHNlbGYudGsuY2FsbCgndGtfcG9wdXAnLCBzZWxmLl93LCB4LCB5LCBlbnRyeSkKICAgICBkZWYgdGtfYmluZEZvclRyYXZlcnNhbChzZWxmKToKICAgICAgICAgIyBvYnNvbGV0ZSBzaW5jZSBUayA0LjAKICAgICAgICAgaW1wb3J0IHdhcm5pbmdzCiAgICAgICAgIHdhcm5pbmdzLndhcm4oJ3RrX2JpbmRGb3JUcmF2ZXJzYWwoKSBkb2VzIG5vdGhpbmcgYW5kICcKICAgICAgICAgICAgICAgICAgICAgICAnd2lsbCBiZSByZW1vdmVkIGluIDMuNicsCiAgICAgICAgICAgICAgICAgICAgICAgRGVwcmVjYXRpb25XYXJuaW5nLCBzdGFja2xldmVsPTIpCi0gICAgZGVmIHRrX21iUG9zdChzZWxmKToKLSAgICAgICAgc2VsZi50ay5jYWxsKCd0a19tYlBvc3QnLCBzZWxmLl93KQotICAgIGRlZiB0a19tYlVucG9zdChzZWxmKToKLSAgICAgICAgc2VsZi50ay5jYWxsKCd0a19tYlVucG9zdCcpCi0gICAgZGVmIHRrX3RyYXZlcnNlVG9NZW51KHNlbGYsIGNoYXIpOgotICAgICAgICBzZWxmLnRrLmNhbGwoJ3RrX3RyYXZlcnNlVG9NZW51Jywgc2VsZi5fdywgY2hhcikKLSAgICBkZWYgdGtfdHJhdmVyc2VXaXRoaW5NZW51KHNlbGYsIGNoYXIpOgotICAgICAgICBzZWxmLnRrLmNhbGwoJ3RrX3RyYXZlcnNlV2l0aGluTWVudScsIHNlbGYuX3csIGNoYXIpCi0gICAgZGVmIHRrX2dldE1lbnVCdXR0b25zKHNlbGYpOgotICAgICAgICByZXR1cm4gc2VsZi50ay5jYWxsKCd0a19nZXRNZW51QnV0dG9ucycsIHNlbGYuX3cpCi0gICAgZGVmIHRrX25leHRNZW51KHNlbGYsIGNvdW50KToKLSAgICAgICAgc2VsZi50ay5jYWxsKCd0a19uZXh0TWVudScsIGNvdW50KQotICAgIGRlZiB0a19uZXh0TWVudUVudHJ5KHNlbGYsIGNvdW50KToKLSAgICAgICAgc2VsZi50ay5jYWxsKCd0a19uZXh0TWVudUVudHJ5JywgY291bnQpCi0gICAgZGVmIHRrX2ludm9rZU1lbnUoc2VsZik6Ci0gICAgICAgIHNlbGYudGsuY2FsbCgndGtfaW52b2tlTWVudScsIHNlbGYuX3cpCi0gICAgZGVmIHRrX2ZpcnN0TWVudShzZWxmKToKLSAgICAgICAgc2VsZi50ay5jYWxsKCd0a19maXJzdE1lbnUnLCBzZWxmLl93KQotICAgIGRlZiB0a19tYkJ1dHRvbkRvd24oc2VsZik6Ci0gICAgICAgIHNlbGYudGsuY2FsbCgndGtfbWJCdXR0b25Eb3duJywgc2VsZi5fdykKLSAgICBkZWYgdGtfcG9wdXAoc2VsZiwgeCwgeSwgZW50cnk9IiIpOgotICAgICAgICAiIiJQb3N0IHRoZSBtZW51IGF0IHBvc2l0aW9uIFgsWSB3aXRoIGVudHJ5IEVOVFJZLiIiIgotICAgICAgICBzZWxmLnRrLmNhbGwoJ3RrX3BvcHVwJywgc2VsZi5fdywgeCwgeSwgZW50cnkpCiAgICAgZGVmIGFjdGl2YXRlKHNlbGYsIGluZGV4KToKICAgICAgICAgIiIiQWN0aXZhdGUgZW50cnkgYXQgSU5ERVguIiIiCiAgICAgICAgIHNlbGYudGsuY2FsbChzZWxmLl93LCAnYWN0aXZhdGUnLCBpbmRleCkKQEAgLTI5MDUsMTAgKzI4NzIsMTQgQEAKICAgICAgICAgcmVsaWVmLCByZXBlYXRkZWxheSwgcmVwZWF0aW50ZXJ2YWwsIHRha2Vmb2N1cywKICAgICAgICAgdHJvdWdoY29sb3IsIHdpZHRoLiIiIgogICAgICAgICBXaWRnZXQuX19pbml0X18oc2VsZiwgbWFzdGVyLCAnc2Nyb2xsYmFyJywgY25mLCBrdykKLSAgICBkZWYgYWN0aXZhdGUoc2VsZiwgaW5kZXgpOgotICAgICAgICAiIiJEaXNwbGF5IHRoZSBlbGVtZW50IGF0IElOREVYIHdpdGggYWN0aXZlYmFja2dyb3VuZCBhbmQgYWN0aXZlcmVsaWVmLgotICAgICAgICBJTkRFWCBjYW4gYmUgImFycm93MSIsInNsaWRlciIgb3IgImFycm93MiIuIiIiCi0gICAgICAgIHNlbGYudGsuY2FsbChzZWxmLl93LCAnYWN0aXZhdGUnLCBpbmRleCkKKyAgICBkZWYgYWN0aXZhdGUoc2VsZiwgaW5kZXg9Tm9uZSk6CisgICAgICAgICIiIk1hcmtzIHRoZSBlbGVtZW50IGluZGljYXRlZCBieSBpbmRleCBhcyBhY3RpdmUuCisgICAgICAgIFRoZSBvbmx5IGluZGV4IHZhbHVlcyB1bmRlcnN0b29kIGJ5IHRoaXMgbWV0aG9kIGFyZSAiYXJyb3cxIiwKKyAgICAgICAgInNsaWRlciIsIG9yICJhcnJvdzIiLiAgSWYgYW55IG90aGVyIHZhbHVlIGlzIHNwZWNpZmllZCB0aGVuIG5vCisgICAgICAgIGVsZW1lbnQgb2YgdGhlIHNjcm9sbGJhciB3aWxsIGJlIGFjdGl2ZS4gIElmIGluZGV4IGlzIG5vdCBzcGVjaWZpZWQsCisgICAgICAgIHRoZSBtZXRob2QgcmV0dXJucyB0aGUgbmFtZSBvZiB0aGUgZWxlbWVudCB0aGF0IGlzIGN1cnJlbnRseSBhY3RpdmUsCisgICAgICAgIG9yIE5vbmUgaWYgbm8gZWxlbWVudCBpcyBhY3RpdmUuIiIiCisgICAgICAgIHJldHVybiBzZWxmLnRrLmNhbGwoc2VsZi5fdywgJ2FjdGl2YXRlJywgaW5kZXgpIG9yIE5vbmUKICAgICBkZWYgZGVsdGEoc2VsZiwgZGVsdGF4LCBkZWx0YXkpOgogICAgICAgICAiIiJSZXR1cm4gdGhlIGZyYWN0aW9uYWwgY2hhbmdlIG9mIHRoZSBzY3JvbGxiYXIgc2V0dGluZyBpZiBpdAogICAgICAgICB3b3VsZCBiZSBtb3ZlZCBieSBERUxUQVggb3IgREVMVEFZIHBpeGVscy4iIiIKQEAgLTI5MjYsMTAgKzI4OTcsMTAgQEAKICAgICAgICAgIiIiUmV0dXJuIHRoZSBjdXJyZW50IGZyYWN0aW9uYWwgdmFsdWVzICh1cHBlciBhbmQgbG93ZXIgZW5kKQogICAgICAgICBvZiB0aGUgc2xpZGVyIHBvc2l0aW9uLiIiIgogICAgICAgICByZXR1cm4gc2VsZi5fZ2V0ZG91YmxlcyhzZWxmLnRrLmNhbGwoc2VsZi5fdywgJ2dldCcpKQotICAgIGRlZiBzZXQoc2VsZiwgKmFyZ3MpOgorICAgIGRlZiBzZXQoc2VsZiwgZmlyc3QsIGxhc3QpOgogICAgICAgICAiIiJTZXQgdGhlIGZyYWN0aW9uYWwgdmFsdWVzIG9mIHRoZSBzbGlkZXIgcG9zaXRpb24gKHVwcGVyIGFuZAogICAgICAgICBsb3dlciBlbmRzIGFzIHZhbHVlIGJldHdlZW4gMCBhbmQgMSkuIiIiCi0gICAgICAgIHNlbGYudGsuY2FsbCgoc2VsZi5fdywgJ3NldCcpICsgYXJncykKKyAgICAgICAgc2VsZi50ay5jYWxsKHNlbGYuX3csICdzZXQnLCBmaXJzdCwgbGFzdCkKIAogCiAKQEAgLTI5NjQsMTQgKzI5MzUsNiBAQAogICAgICAgICBib3ggb2YgdGhlIHZpc2libGUgcGFydCBvZiB0aGUgY2hhcmFjdGVyIGF0IHRoZSBnaXZlbiBpbmRleC4iIiIKICAgICAgICAgcmV0dXJuIHNlbGYuX2dldGludHMoCiAgICAgICAgICAgICAgICAgc2VsZi50ay5jYWxsKHNlbGYuX3csICdiYm94JywgaW5kZXgpKSBvciBOb25lCi0gICAgZGVmIHRrX3RleHRTZWxlY3RUbyhzZWxmLCBpbmRleCk6Ci0gICAgICAgIHNlbGYudGsuY2FsbCgndGtfdGV4dFNlbGVjdFRvJywgc2VsZi5fdywgaW5kZXgpCi0gICAgZGVmIHRrX3RleHRCYWNrc3BhY2Uoc2VsZik6Ci0gICAgICAgIHNlbGYudGsuY2FsbCgndGtfdGV4dEJhY2tzcGFjZScsIHNlbGYuX3cpCi0gICAgZGVmIHRrX3RleHRJbmRleENsb3NlcihzZWxmLCBhLCBiLCBjKToKLSAgICAgICAgc2VsZi50ay5jYWxsKCd0a190ZXh0SW5kZXhDbG9zZXInLCBzZWxmLl93LCBhLCBiLCBjKQotICAgIGRlZiB0a190ZXh0UmVzZXRBbmNob3Ioc2VsZiwgaW5kZXgpOgotICAgICAgICBzZWxmLnRrLmNhbGwoJ3RrX3RleHRSZXNldEFuY2hvcicsIHNlbGYuX3csIGluZGV4KQogICAgIGRlZiBjb21wYXJlKHNlbGYsIGluZGV4MSwgb3AsIGluZGV4Mik6CiAgICAgICAgICIiIlJldHVybiB3aGV0aGVyIGJldHdlZW4gaW5kZXggSU5ERVgxIGFuZCBpbmRleCBJTkRFWDIgdGhlCiAgICAgICAgIHJlbGF0aW9uIE9QIGlzIHNhdGlzZmllZC4gT1AgaXMgb25lIG9mIDwsIDw9LCA9PSwgPj0sID4sIG9yICE9LiIiIgpAQCAtMzg0OSwzNSArMzgxMiwxMiBAQAogICAgICAgICAiIiJSZXR1cm5zIGFuIG9yZGVyZWQgbGlzdCBvZiB0aGUgY2hpbGQgcGFuZXMuIiIiCiAgICAgICAgIHJldHVybiBzZWxmLnRrLnNwbGl0bGlzdChzZWxmLnRrLmNhbGwoc2VsZi5fdywgJ3BhbmVzJykpCiAKLSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKLSMgRXh0ZW5zaW9uczoKLQotY2xhc3MgU3R1ZGJ1dHRvbihCdXR0b24pOgotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBtYXN0ZXI9Tm9uZSwgY25mPXt9LCAqKmt3KToKLSAgICAgICAgV2lkZ2V0Ll9faW5pdF9fKHNlbGYsIG1hc3RlciwgJ3N0dWRidXR0b24nLCBjbmYsIGt3KQotICAgICAgICBzZWxmLmJpbmQoJzxBbnktRW50ZXI+JywgICAgICAgc2VsZi50a0J1dHRvbkVudGVyKQotICAgICAgICBzZWxmLmJpbmQoJzxBbnktTGVhdmU+JywgICAgICAgc2VsZi50a0J1dHRvbkxlYXZlKQotICAgICAgICBzZWxmLmJpbmQoJzwxPicsICAgICAgICAgICAgICAgc2VsZi50a0J1dHRvbkRvd24pCi0gICAgICAgIHNlbGYuYmluZCgnPEJ1dHRvblJlbGVhc2UtMT4nLCBzZWxmLnRrQnV0dG9uVXApCi0KLWNsYXNzIFRyaWJ1dHRvbihCdXR0b24pOgotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBtYXN0ZXI9Tm9uZSwgY25mPXt9LCAqKmt3KToKLSAgICAgICAgV2lkZ2V0Ll9faW5pdF9fKHNlbGYsIG1hc3RlciwgJ3RyaWJ1dHRvbicsIGNuZiwga3cpCi0gICAgICAgIHNlbGYuYmluZCgnPEFueS1FbnRlcj4nLCAgICAgICBzZWxmLnRrQnV0dG9uRW50ZXIpCi0gICAgICAgIHNlbGYuYmluZCgnPEFueS1MZWF2ZT4nLCAgICAgICBzZWxmLnRrQnV0dG9uTGVhdmUpCi0gICAgICAgIHNlbGYuYmluZCgnPDE+JywgICAgICAgICAgICAgICBzZWxmLnRrQnV0dG9uRG93bikKLSAgICAgICAgc2VsZi5iaW5kKCc8QnV0dG9uUmVsZWFzZS0xPicsIHNlbGYudGtCdXR0b25VcCkKLSAgICAgICAgc2VsZlsnZmcnXSAgICAgICAgICAgICAgID0gc2VsZlsnYmcnXQotICAgICAgICBzZWxmWydhY3RpdmViYWNrZ3JvdW5kJ10gPSBzZWxmWydiZyddCi0KLSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKICMgVGVzdDoKIAogZGVmIF90ZXN0KCk6CiAgICAgcm9vdCA9IFRrKCkKICAgICB0ZXh0ID0gIlRoaXMgaXMgVGNsL1RrIHZlcnNpb24gJXMiICUgVGNsVmVyc2lvbgotICAgIGlmIFRjbFZlcnNpb24gPj0gOC4xOgotICAgICAgICB0ZXh0ICs9ICJcblRoaXMgc2hvdWxkIGJlIGEgY2VkaWxsYTogXHhlNyIKKyAgICB0ZXh0ICs9ICJcblRoaXMgc2hvdWxkIGJlIGEgY2VkaWxsYTogXHhlNyIKICAgICBsYWJlbCA9IExhYmVsKHJvb3QsIHRleHQ9dGV4dCkKICAgICBsYWJlbC5wYWNrKCkKICAgICB0ZXN0ID0gQnV0dG9uKHJvb3QsIHRleHQ9IkNsaWNrIG1lISIsCmRpZmYgLS1naXQgYS9MaWIvdGtpbnRlci90ZXN0L3Rlc3RfdGtpbnRlci90ZXN0X21pc2MucHkgYi9MaWIvdGtpbnRlci90ZXN0L3Rlc3RfdGtpbnRlci90ZXN0X21pc2MucHkKaW5kZXggZDhkZTk0OS4uODVlZTJjNyAxMDA2NDQKLS0tIGEvTGliL3RraW50ZXIvdGVzdC90ZXN0X3RraW50ZXIvdGVzdF9taXNjLnB5CisrKyBiL0xpYi90a2ludGVyL3Rlc3QvdGVzdF90a2ludGVyL3Rlc3RfbWlzYy5weQpAQCAtNyw2ICs3LDExIEBACiAKIGNsYXNzIE1pc2NUZXN0KEFic3RyYWN0VGtUZXN0LCB1bml0dGVzdC5UZXN0Q2FzZSk6CiAKKyAgICBkZWYgdGVzdF9yZXByKHNlbGYpOgorICAgICAgICB0ID0gdGtpbnRlci5Ub3BsZXZlbChzZWxmLnJvb3QsIG5hbWU9J3RvcCcpCisgICAgICAgIGYgPSB0a2ludGVyLkZyYW1lKHQsIG5hbWU9J2NoaWxkJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZXByKGYpLCAnPHRraW50ZXIuRnJhbWUgb2JqZWN0IC50b3AuY2hpbGQ+JykKKwogICAgIGRlZiB0ZXN0X3RrX3NldFBhbGV0dGUoc2VsZik6CiAgICAgICAgIHJvb3QgPSBzZWxmLnJvb3QKICAgICAgICAgcm9vdC50a19zZXRQYWxldHRlKCdibGFjaycpCmRpZmYgLS1naXQgYS9MaWIvdGtpbnRlci90ZXN0L3Rlc3RfdGtpbnRlci90ZXN0X3dpZGdldHMucHkgYi9MaWIvdGtpbnRlci90ZXN0L3Rlc3RfdGtpbnRlci90ZXN0X3dpZGdldHMucHkKaW5kZXggNThjOGVhMS4uMjViMWEwMiAxMDA2NDQKLS0tIGEvTGliL3RraW50ZXIvdGVzdC90ZXN0X3RraW50ZXIvdGVzdF93aWRnZXRzLnB5CisrKyBiL0xpYi90a2ludGVyL3Rlc3QvdGVzdF90a2ludGVyL3Rlc3Rfd2lkZ2V0cy5weQpAQCAtOTIwLDggKzkyMCw5IEBACiAgICAgICAgIHNiID0gc2VsZi5jcmVhdGUoKQogICAgICAgICBmb3IgZSBpbiAoJ2Fycm93MScsICdzbGlkZXInLCAnYXJyb3cyJyk6CiAgICAgICAgICAgICBzYi5hY3RpdmF0ZShlKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzYi5hY3RpdmF0ZSgpLCBlKQogICAgICAgICBzYi5hY3RpdmF0ZSgnJykKLSAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBzYi5hY3RpdmF0ZSkKKyAgICAgICAgc2VsZi5hc3NlcnRJc05vbmUoc2IuYWN0aXZhdGUoKSkKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBzYi5hY3RpdmF0ZSwgJ2Fycm93MScsICdhcnJvdzInKQogCiAgICAgZGVmIHRlc3Rfc2V0KHNlbGYpOgpAQCAtOTMxLDggKzkzMiw4IEBACiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFRjbEVycm9yLCBzYi5zZXQsICdhYmMnLCAnZGVmJykKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVGNsRXJyb3IsIHNiLnNldCwgMC42LCAnZGVmJykKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVGNsRXJyb3IsIHNiLnNldCwgMC42LCBOb25lKQotICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUY2xFcnJvciwgc2Iuc2V0LCAwLjYpCi0gICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFRjbEVycm9yLCBzYi5zZXQsIDAuNiwgMC43LCAwLjgpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgc2Iuc2V0LCAwLjYpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgc2Iuc2V0LCAwLjYsIDAuNywgMC44KQogCiAKIEBhZGRfc3RhbmRhcmRfb3B0aW9ucyhTdGFuZGFyZE9wdGlvbnNUZXN0cykKZGlmZiAtLWdpdCBhL0xpYi90b2tlbi5weSBiL0xpYi90b2tlbi5weQppbmRleCA3NDcwYzhjLi5iZGZjZWM4IDEwMDY0NAotLS0gYS9MaWIvdG9rZW4ucHkKKysrIGIvTGliL3Rva2VuLnB5CkBAIC02MCwxMSArNjAsMTIgQEAKIERPVUJMRVNMQVNIID0gNDcKIERPVUJMRVNMQVNIRVFVQUwgPSA0OAogQVQgPSA0OQotUkFSUk9XID0gNTAKLUVMTElQU0lTID0gNTEKLU9QID0gNTIKLUVSUk9SVE9LRU4gPSA1MwotTl9UT0tFTlMgPSA1NAorQVRFUVVBTCA9IDUwCitSQVJST1cgPSA1MQorRUxMSVBTSVMgPSA1MgorT1AgPSA1MworRVJST1JUT0tFTiA9IDU0CitOX1RPS0VOUyA9IDU1CiBOVF9PRkZTRVQgPSAyNTYKICMtLWVuZCBjb25zdGFudHMtLQogCmRpZmYgLS1naXQgYS9MaWIvdG9rZW5pemUucHkgYi9MaWIvdG9rZW5pemUucHkKaW5kZXggNWI0N2ViZC4uMDY1OWM1NSAxMDA2NDQKLS0tIGEvTGliL3Rva2VuaXplLnB5CisrKyBiL0xpYi90b2tlbml6ZS5weQpAQCAtOTAsNyArOTAsOCBAQAogICAgICcqKj0nOiBET1VCTEVTVEFSRVFVQUwsCiAgICAgJy8vJzogIERPVUJMRVNMQVNILAogICAgICcvLz0nOiBET1VCTEVTTEFTSEVRVUFMLAotICAgICdAJzogICBBVAorICAgICdAJzogICBBVCwKKyAgICAnQD0nOiAgQVRFUVVBTCwKIH0KIAogY2xhc3MgVG9rZW5JbmZvKGNvbGxlY3Rpb25zLm5hbWVkdHVwbGUoJ1Rva2VuSW5mbycsICd0eXBlIHN0cmluZyBzdGFydCBlbmQgbGluZScpKToKQEAgLTE0OSw3ICsxNTAsNyBAQAogIyByZWNvZ25pemVkIGFzIHR3byBpbnN0YW5jZXMgb2YgPSkuCiBPcGVyYXRvciA9IGdyb3VwKHIiXCpcKj0/IiwgciI+Pj0/IiwgciI8PD0/IiwgciIhPSIsCiAgICAgICAgICAgICAgICAgIHIiLy89PyIsIHIiLT4iLAotICAgICAgICAgICAgICAgICByIlsrXC0qLyUmfF49PD5dPT8iLAorICAgICAgICAgICAgICAgICByIlsrXC0qLyUmQHxePTw+XT0/IiwKICAgICAgICAgICAgICAgICAgciJ+IikKIAogQnJhY2tldCA9ICdbXVsoKXt9XScKQEAgLTE4NSw3ICsxODYsNiBAQAogICAgICAgICAgICAickInJyciOiBTaW5nbGUzLCAnckIiIiInOiBEb3VibGUzLAogICAgICAgICAgICAiUkInJyciOiBTaW5nbGUzLCAnUkIiIiInOiBEb3VibGUzLAogICAgICAgICAgICAidScnJyI6IFNpbmdsZTMsICd1IiIiJzogRG91YmxlMywKLSAgICAgICAgICAgIlInJyciOiBTaW5nbGUzLCAnUiIiIic6IERvdWJsZTMsCiAgICAgICAgICAgICJVJycnIjogU2luZ2xlMywgJ1UiIiInOiBEb3VibGUzLAogICAgICAgICAgICAncic6IE5vbmUsICdSJzogTm9uZSwgJ2InOiBOb25lLCAnQic6IE5vbmUsCiAgICAgICAgICAgICd1JzogTm9uZSwgJ1UnOiBOb25lfQpkaWZmIC0tZ2l0IGEvTGliL3RyYWNlLnB5IGIvTGliL3RyYWNlLnB5CmluZGV4IDA5ZmU5ZWUuLmZlODQ5NzMgMTAwNzU1Ci0tLSBhL0xpYi90cmFjZS5weQorKysgYi9MaWIvdHJhY2UucHkKQEAgLTU5LDEwICs1OSw3IEBACiBpbXBvcnQgZGlzCiBpbXBvcnQgcGlja2xlCiBmcm9tIHdhcm5pbmdzIGltcG9ydCB3YXJuIGFzIF93YXJuCi10cnk6Ci0gICAgZnJvbSB0aW1lIGltcG9ydCBtb25vdG9uaWMgYXMgX3RpbWUKLWV4Y2VwdCBJbXBvcnRFcnJvcjoKLSAgICBmcm9tIHRpbWUgaW1wb3J0IHRpbWUgYXMgX3RpbWUKK2Zyb20gdGltZSBpbXBvcnQgbW9ub3RvbmljIGFzIF90aW1lCiAKIHRyeToKICAgICBpbXBvcnQgdGhyZWFkaW5nCkBAIC0zMjYsMTYgKzMyMywxNyBAQAogICAgICAgICAgICAgICAgIGxub3RhYiA9IF9maW5kX2V4ZWN1dGFibGVfbGluZW5vcyhmaWxlbmFtZSkKICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgbG5vdGFiID0ge30KKyAgICAgICAgICAgIGlmIGxub3RhYjoKKyAgICAgICAgICAgICAgICBzb3VyY2UgPSBsaW5lY2FjaGUuZ2V0bGluZXMoZmlsZW5hbWUpCisgICAgICAgICAgICAgICAgY292ZXJwYXRoID0gb3MucGF0aC5qb2luKGRpciwgbW9kdWxlbmFtZSArICIuY292ZXIiKQorICAgICAgICAgICAgICAgIHdpdGggb3BlbihmaWxlbmFtZSwgJ3JiJykgYXMgZnA6CisgICAgICAgICAgICAgICAgICAgIGVuY29kaW5nLCBfID0gdG9rZW5pemUuZGV0ZWN0X2VuY29kaW5nKGZwLnJlYWRsaW5lKQorICAgICAgICAgICAgICAgIG5faGl0cywgbl9saW5lcyA9IHNlbGYud3JpdGVfcmVzdWx0c19maWxlKGNvdmVycGF0aCwgc291cmNlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxub3RhYiwgY291bnQsIGVuY29kaW5nKQorICAgICAgICAgICAgICAgIGlmIHN1bW1hcnkgYW5kIG5fbGluZXM6CisgICAgICAgICAgICAgICAgICAgIHBlcmNlbnQgPSBpbnQoMTAwICogbl9oaXRzIC8gbl9saW5lcykKKyAgICAgICAgICAgICAgICAgICAgc3Vtc1ttb2R1bGVuYW1lXSA9IG5fbGluZXMsIHBlcmNlbnQsIG1vZHVsZW5hbWUsIGZpbGVuYW1lCiAKLSAgICAgICAgICAgIHNvdXJjZSA9IGxpbmVjYWNoZS5nZXRsaW5lcyhmaWxlbmFtZSkKLSAgICAgICAgICAgIGNvdmVycGF0aCA9IG9zLnBhdGguam9pbihkaXIsIG1vZHVsZW5hbWUgKyAiLmNvdmVyIikKLSAgICAgICAgICAgIHdpdGggb3BlbihmaWxlbmFtZSwgJ3JiJykgYXMgZnA6Ci0gICAgICAgICAgICAgICAgZW5jb2RpbmcsIF8gPSB0b2tlbml6ZS5kZXRlY3RfZW5jb2RpbmcoZnAucmVhZGxpbmUpCi0gICAgICAgICAgICBuX2hpdHMsIG5fbGluZXMgPSBzZWxmLndyaXRlX3Jlc3VsdHNfZmlsZShjb3ZlcnBhdGgsIHNvdXJjZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxub3RhYiwgY291bnQsIGVuY29kaW5nKQotICAgICAgICAgICAgaWYgc3VtbWFyeSBhbmQgbl9saW5lczoKLSAgICAgICAgICAgICAgICBwZXJjZW50ID0gaW50KDEwMCAqIG5faGl0cyAvIG5fbGluZXMpCi0gICAgICAgICAgICAgICAgc3Vtc1ttb2R1bGVuYW1lXSA9IG5fbGluZXMsIHBlcmNlbnQsIG1vZHVsZW5hbWUsIGZpbGVuYW1lCiAKICAgICAgICAgaWYgc3VtbWFyeSBhbmQgc3VtczoKICAgICAgICAgICAgIHByaW50KCJsaW5lcyAgIGNvdiUgICBtb2R1bGUgICAocGF0aCkiKQpkaWZmIC0tZ2l0IGEvTGliL3RyYWNlYmFjay5weSBiL0xpYi90cmFjZWJhY2sucHkKaW5kZXggZmFmNTkzYS4uYzFhYjM2ZSAxMDA2NDQKLS0tIGEvTGliL3RyYWNlYmFjay5weQorKysgYi9MaWIvdHJhY2ViYWNrLnB5CkBAIC0yMDUsNyArMjA1LDcgQEAKICAgICAgICAgeWllbGQgX2Zvcm1hdF9maW5hbF9leGNfbGluZShldHlwZSwgdmFsdWUpCiAgICAgICAgIHJldHVybgogCi0gICAgc3R5cGUgPSBldHlwZS5fX25hbWVfXworICAgIHN0eXBlID0gZXR5cGUuX19xdWFsbmFtZV9fCiAgICAgc21vZCA9IGV0eXBlLl9fbW9kdWxlX18KICAgICBpZiBzbW9kIG5vdCBpbiAoIl9fbWFpbl9fIiwgImJ1aWx0aW5zIik6CiAgICAgICAgIHN0eXBlID0gc21vZCArICcuJyArIHN0eXBlCmRpZmYgLS1naXQgYS9MaWIvdW5pdHRlc3QvX19pbml0X18ucHkgYi9MaWIvdW5pdHRlc3QvX19pbml0X18ucHkKaW5kZXggYTVkNTBhZi4uZjZkN2FlMiAxMDA2NDQKLS0tIGEvTGliL3VuaXR0ZXN0L19faW5pdF9fLnB5CisrKyBiL0xpYi91bml0dGVzdC9fX2luaXRfXy5weQpAQCAtNjcsMyArNjcsMTIgQEAKIAogIyBkZXByZWNhdGVkCiBfVGV4dFRlc3RSZXN1bHQgPSBUZXh0VGVzdFJlc3VsdAorCisjIFRoZXJlIGFyZSBubyB0ZXN0cyBoZXJlLCBzbyBkb24ndCB0cnkgdG8gcnVuIGFueXRoaW5nIGRpc2NvdmVyZWQgZnJvbQorIyBpbnRyb3NwZWN0aW5nIHRoZSBzeW1ib2xzIChlLmcuIEZ1bmN0aW9uVGVzdENhc2UpLiBJbnN0ZWFkLCBhbGwgb3VyCisjIHRlc3RzIGNvbWUgZnJvbSB3aXRoaW4gdW5pdHRlc3QudGVzdC4KK2RlZiBsb2FkX3Rlc3RzKGxvYWRlciwgdGVzdHMsIHBhdHRlcm4pOgorICAgIGltcG9ydCBvcy5wYXRoCisgICAgIyB0b3AgbGV2ZWwgZGlyZWN0b3J5IGNhY2hlZCBvbiBsb2FkZXIgaW5zdGFuY2UKKyAgICB0aGlzX2RpciA9IG9zLnBhdGguZGlybmFtZShfX2ZpbGVfXykKKyAgICByZXR1cm4gbG9hZGVyLmRpc2NvdmVyKHN0YXJ0X2Rpcj10aGlzX2RpciwgcGF0dGVybj1wYXR0ZXJuKQpkaWZmIC0tZ2l0IGEvTGliL3VuaXR0ZXN0L2xvYWRlci5weSBiL0xpYi91bml0dGVzdC9sb2FkZXIucHkKaW5kZXggODA4YzUwZS4uOGVlNmM1NiAxMDA2NDQKLS0tIGEvTGliL3VuaXR0ZXN0L2xvYWRlci5weQorKysgYi9MaWIvdW5pdHRlc3QvbG9hZGVyLnB5CkBAIC02LDYgKzYsNyBAQAogaW1wb3J0IHRyYWNlYmFjawogaW1wb3J0IHR5cGVzCiBpbXBvcnQgZnVuY3Rvb2xzCitpbXBvcnQgd2FybmluZ3MKIAogZnJvbSBmbm1hdGNoIGltcG9ydCBmbm1hdGNoCiAKQEAgLTIwLDE5ICsyMSwyMiBAQAogCiAKIGRlZiBfbWFrZV9mYWlsZWRfaW1wb3J0X3Rlc3QobmFtZSwgc3VpdGVDbGFzcyk6Ci0gICAgbWVzc2FnZSA9ICdGYWlsZWQgdG8gaW1wb3J0IHRlc3QgbW9kdWxlOiAlc1xuJXMnICUgKG5hbWUsIHRyYWNlYmFjay5mb3JtYXRfZXhjKCkpCisgICAgbWVzc2FnZSA9ICdGYWlsZWQgdG8gaW1wb3J0IHRlc3QgbW9kdWxlOiAlc1xuJXMnICUgKAorICAgICAgICBuYW1lLCB0cmFjZWJhY2suZm9ybWF0X2V4YygpKQogICAgIHJldHVybiBfbWFrZV9mYWlsZWRfdGVzdCgnTW9kdWxlSW1wb3J0RmFpbHVyZScsIG5hbWUsIEltcG9ydEVycm9yKG1lc3NhZ2UpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdWl0ZUNsYXNzKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdWl0ZUNsYXNzLCBtZXNzYWdlKQogCiBkZWYgX21ha2VfZmFpbGVkX2xvYWRfdGVzdHMobmFtZSwgZXhjZXB0aW9uLCBzdWl0ZUNsYXNzKToKLSAgICByZXR1cm4gX21ha2VfZmFpbGVkX3Rlc3QoJ0xvYWRUZXN0c0ZhaWx1cmUnLCBuYW1lLCBleGNlcHRpb24sIHN1aXRlQ2xhc3MpCisgICAgbWVzc2FnZSA9ICdGYWlsZWQgdG8gY2FsbCBsb2FkX3Rlc3RzOlxuJXMnICUgKHRyYWNlYmFjay5mb3JtYXRfZXhjKCksKQorICAgIHJldHVybiBfbWFrZV9mYWlsZWRfdGVzdCgKKyAgICAgICAgJ0xvYWRUZXN0c0ZhaWx1cmUnLCBuYW1lLCBleGNlcHRpb24sIHN1aXRlQ2xhc3MsIG1lc3NhZ2UpCiAKLWRlZiBfbWFrZV9mYWlsZWRfdGVzdChjbGFzc25hbWUsIG1ldGhvZG5hbWUsIGV4Y2VwdGlvbiwgc3VpdGVDbGFzcyk6CitkZWYgX21ha2VfZmFpbGVkX3Rlc3QoY2xhc3NuYW1lLCBtZXRob2RuYW1lLCBleGNlcHRpb24sIHN1aXRlQ2xhc3MsIG1lc3NhZ2UpOgogICAgIGRlZiB0ZXN0RmFpbHVyZShzZWxmKToKICAgICAgICAgcmFpc2UgZXhjZXB0aW9uCiAgICAgYXR0cnMgPSB7bWV0aG9kbmFtZTogdGVzdEZhaWx1cmV9CiAgICAgVGVzdENsYXNzID0gdHlwZShjbGFzc25hbWUsIChjYXNlLlRlc3RDYXNlLCksIGF0dHJzKQotICAgIHJldHVybiBzdWl0ZUNsYXNzKChUZXN0Q2xhc3MobWV0aG9kbmFtZSksKSkKKyAgICByZXR1cm4gc3VpdGVDbGFzcygoVGVzdENsYXNzKG1ldGhvZG5hbWUpLCkpLCBtZXNzYWdlCiAKIGRlZiBfbWFrZV9za2lwcGVkX3Rlc3QobWV0aG9kbmFtZSwgZXhjZXB0aW9uLCBzdWl0ZUNsYXNzKToKICAgICBAY2FzZS5za2lwKHN0cihleGNlcHRpb24pKQpAQCAtNTgsNiArNjIsMTMgQEAKICAgICBzdWl0ZUNsYXNzID0gc3VpdGUuVGVzdFN1aXRlCiAgICAgX3RvcF9sZXZlbF9kaXIgPSBOb25lCiAKKyAgICBkZWYgX19pbml0X18oc2VsZik6CisgICAgICAgIHN1cGVyKFRlc3RMb2FkZXIsIHNlbGYpLl9faW5pdF9fKCkKKyAgICAgICAgc2VsZi5lcnJvcnMgPSBbXQorICAgICAgICAjIFRyYWNrcyBwYWNrYWdlcyB3aGljaCB3ZSBoYXZlIGNhbGxlZCBpbnRvIHZpYSBsb2FkX3Rlc3RzLCB0bworICAgICAgICAjIGF2b2lkIGluZmluaXRlIHJlLWVudHJhbmN5LgorICAgICAgICBzZWxmLl9sb2FkaW5nX3BhY2thZ2VzID0gc2V0KCkKKwogICAgIGRlZiBsb2FkVGVzdHNGcm9tVGVzdENhc2Uoc2VsZiwgdGVzdENhc2VDbGFzcyk6CiAgICAgICAgICIiIlJldHVybiBhIHN1aXRlIG9mIGFsbCB0ZXN0cyBjYXNlcyBjb250YWluZWQgaW4gdGVzdENhc2VDbGFzcyIiIgogICAgICAgICBpZiBpc3N1YmNsYXNzKHRlc3RDYXNlQ2xhc3MsIHN1aXRlLlRlc3RTdWl0ZSk6CkBAIC03MCw4ICs4MSwzMCBAQAogICAgICAgICBsb2FkZWRfc3VpdGUgPSBzZWxmLnN1aXRlQ2xhc3MobWFwKHRlc3RDYXNlQ2xhc3MsIHRlc3RDYXNlTmFtZXMpKQogICAgICAgICByZXR1cm4gbG9hZGVkX3N1aXRlCiAKLSAgICBkZWYgbG9hZFRlc3RzRnJvbU1vZHVsZShzZWxmLCBtb2R1bGUsIHVzZV9sb2FkX3Rlc3RzPVRydWUpOgorICAgICMgWFhYIEFmdGVyIFB5dGhvbiAzLjUsIHJlbW92ZSBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IGhhY2tzIGZvcgorICAgICMgdXNlX2xvYWRfdGVzdHMgZGVwcmVjYXRpb24gdmlhICphcmdzIGFuZCAqKmt3cy4gIFNlZSBpc3N1ZSAxNjY2Mi4KKyAgICBkZWYgbG9hZFRlc3RzRnJvbU1vZHVsZShzZWxmLCBtb2R1bGUsICphcmdzLCBwYXR0ZXJuPU5vbmUsICoqa3dzKToKICAgICAgICAgIiIiUmV0dXJuIGEgc3VpdGUgb2YgYWxsIHRlc3RzIGNhc2VzIGNvbnRhaW5lZCBpbiB0aGUgZ2l2ZW4gbW9kdWxlIiIiCisgICAgICAgICMgVGhpcyBtZXRob2QgdXNlZCB0byB0YWtlIGFuIHVuZG9jdW1lbnRlZCBhbmQgdW5vZmZpY2lhbAorICAgICAgICAjIHVzZV9sb2FkX3Rlc3RzIGFyZ3VtZW50LiAgRm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHksIHdlIHN0aWxsCisgICAgICAgICMgYWNjZXB0IHRoZSBhcmd1bWVudCAod2hpY2ggY2FuIGFsc28gYmUgdGhlIGZpcnN0IHBvc2l0aW9uKSBidXQgd2UKKyAgICAgICAgIyBpZ25vcmUgaXQgYW5kIGlzc3VlIGEgZGVwcmVjYXRpb24gd2FybmluZyBpZiBpdCdzIHByZXNlbnQuCisgICAgICAgIGlmIGxlbihhcmdzKSA+IDAgb3IgJ3VzZV9sb2FkX3Rlc3RzJyBpbiBrd3M6CisgICAgICAgICAgICB3YXJuaW5ncy53YXJuKCd1c2VfbG9hZF90ZXN0cyBpcyBkZXByZWNhdGVkIGFuZCBpZ25vcmVkJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgRGVwcmVjYXRpb25XYXJuaW5nKQorICAgICAgICAgICAga3dzLnBvcCgndXNlX2xvYWRfdGVzdHMnLCBOb25lKQorICAgICAgICBpZiBsZW4oYXJncykgPiAxOgorICAgICAgICAgICAgIyBDb21wbGFpbiBhYm91dCB0aGUgbnVtYmVyIG9mIGFyZ3VtZW50cywgYnV0IGRvbid0IGZvcmdldCB0aGUKKyAgICAgICAgICAgICMgcmVxdWlyZWQgYG1vZHVsZWAgYXJndW1lbnQuCisgICAgICAgICAgICBjb21wbGFpbnQgPSBsZW4oYXJncykgKyAxCisgICAgICAgICAgICByYWlzZSBUeXBlRXJyb3IoJ2xvYWRUZXN0c0Zyb21Nb2R1bGUoKSB0YWtlcyAxIHBvc2l0aW9uYWwgYXJndW1lbnQgYnV0IHt9IHdlcmUgZ2l2ZW4nLmZvcm1hdChjb21wbGFpbnQpKQorICAgICAgICBpZiBsZW4oa3dzKSAhPSAwOgorICAgICAgICAgICAgIyBTaW5jZSB0aGUga2V5d29yZCBhcmd1bWVudHMgYXJlIHVuc29ydGVkIChzZWUgUEVQIDQ2OCksIGp1c3QKKyAgICAgICAgICAgICMgcGljayB0aGUgYWxwaGFiZXRpY2FsbHkgc29ydGVkIGZpcnN0IGFyZ3VtZW50IHRvIGNvbXBsYWluIGFib3V0LAorICAgICAgICAgICAgIyBpZiBtdWx0aXBsZSB3ZXJlIGdpdmVuLiAgQXQgbGVhc3QgdGhlIGVycm9yIG1lc3NhZ2Ugd2lsbCBiZQorICAgICAgICAgICAgIyBwcmVkaWN0YWJsZS4KKyAgICAgICAgICAgIGNvbXBsYWludCA9IHNvcnRlZChrd3MpWzBdCisgICAgICAgICAgICByYWlzZSBUeXBlRXJyb3IoImxvYWRUZXN0c0Zyb21Nb2R1bGUoKSBnb3QgYW4gdW5leHBlY3RlZCBrZXl3b3JkIGFyZ3VtZW50ICd7fSciLmZvcm1hdChjb21wbGFpbnQpKQogICAgICAgICB0ZXN0cyA9IFtdCiAgICAgICAgIGZvciBuYW1lIGluIGRpcihtb2R1bGUpOgogICAgICAgICAgICAgb2JqID0gZ2V0YXR0cihtb2R1bGUsIG5hbWUpCkBAIC04MCwxMiArMTEzLDE0IEBACiAKICAgICAgICAgbG9hZF90ZXN0cyA9IGdldGF0dHIobW9kdWxlLCAnbG9hZF90ZXN0cycsIE5vbmUpCiAgICAgICAgIHRlc3RzID0gc2VsZi5zdWl0ZUNsYXNzKHRlc3RzKQotICAgICAgICBpZiB1c2VfbG9hZF90ZXN0cyBhbmQgbG9hZF90ZXN0cyBpcyBub3QgTm9uZToKKyAgICAgICAgaWYgbG9hZF90ZXN0cyBpcyBub3QgTm9uZToKICAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICByZXR1cm4gbG9hZF90ZXN0cyhzZWxmLCB0ZXN0cywgTm9uZSkKKyAgICAgICAgICAgICAgICByZXR1cm4gbG9hZF90ZXN0cyhzZWxmLCB0ZXN0cywgcGF0dGVybikKICAgICAgICAgICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKLSAgICAgICAgICAgICAgICByZXR1cm4gX21ha2VfZmFpbGVkX2xvYWRfdGVzdHMobW9kdWxlLl9fbmFtZV9fLCBlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnN1aXRlQ2xhc3MpCisgICAgICAgICAgICAgICAgZXJyb3JfY2FzZSwgZXJyb3JfbWVzc2FnZSA9IF9tYWtlX2ZhaWxlZF9sb2FkX3Rlc3RzKAorICAgICAgICAgICAgICAgICAgICBtb2R1bGUuX19uYW1lX18sIGUsIHNlbGYuc3VpdGVDbGFzcykKKyAgICAgICAgICAgICAgICBzZWxmLmVycm9ycy5hcHBlbmQoZXJyb3JfbWVzc2FnZSkKKyAgICAgICAgICAgICAgICByZXR1cm4gZXJyb3JfY2FzZQogICAgICAgICByZXR1cm4gdGVzdHMKIAogICAgIGRlZiBsb2FkVGVzdHNGcm9tTmFtZShzZWxmLCBuYW1lLCBtb2R1bGU9Tm9uZSk6CkBAIC05OCwyMCArMTMzLDQ3IEBACiAgICAgICAgIFRoZSBtZXRob2Qgb3B0aW9uYWxseSByZXNvbHZlcyB0aGUgbmFtZXMgcmVsYXRpdmUgdG8gYSBnaXZlbiBtb2R1bGUuCiAgICAgICAgICIiIgogICAgICAgICBwYXJ0cyA9IG5hbWUuc3BsaXQoJy4nKQorICAgICAgICBlcnJvcl9jYXNlLCBlcnJvcl9tZXNzYWdlID0gTm9uZSwgTm9uZQogICAgICAgICBpZiBtb2R1bGUgaXMgTm9uZToKICAgICAgICAgICAgIHBhcnRzX2NvcHkgPSBwYXJ0c1s6XQogICAgICAgICAgICAgd2hpbGUgcGFydHNfY29weToKICAgICAgICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgICAgIG1vZHVsZSA9IF9faW1wb3J0X18oJy4nLmpvaW4ocGFydHNfY29weSkpCisgICAgICAgICAgICAgICAgICAgIG1vZHVsZV9uYW1lID0gJy4nLmpvaW4ocGFydHNfY29weSkKKyAgICAgICAgICAgICAgICAgICAgbW9kdWxlID0gX19pbXBvcnRfXyhtb2R1bGVfbmFtZSkKICAgICAgICAgICAgICAgICAgICAgYnJlYWsKICAgICAgICAgICAgICAgICBleGNlcHQgSW1wb3J0RXJyb3I6Ci0gICAgICAgICAgICAgICAgICAgIGRlbCBwYXJ0c19jb3B5Wy0xXQorICAgICAgICAgICAgICAgICAgICBuZXh0X2F0dHJpYnV0ZSA9IHBhcnRzX2NvcHkucG9wKCkKKyAgICAgICAgICAgICAgICAgICAgIyBMYXN0IGVycm9yIHNvIHdlIGNhbiBnaXZlIGl0IHRvIHRoZSB1c2VyIGlmIG5lZWRlZC4KKyAgICAgICAgICAgICAgICAgICAgZXJyb3JfY2FzZSwgZXJyb3JfbWVzc2FnZSA9IF9tYWtlX2ZhaWxlZF9pbXBvcnRfdGVzdCgKKyAgICAgICAgICAgICAgICAgICAgICAgIG5leHRfYXR0cmlidXRlLCBzZWxmLnN1aXRlQ2xhc3MpCiAgICAgICAgICAgICAgICAgICAgIGlmIG5vdCBwYXJ0c19jb3B5OgotICAgICAgICAgICAgICAgICAgICAgICAgcmFpc2UKKyAgICAgICAgICAgICAgICAgICAgICAgICMgRXZlbiB0aGUgdG9wIGxldmVsIGltcG9ydCBmYWlsZWQ6IHJlcG9ydCB0aGF0IGVycm9yLgorICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5lcnJvcnMuYXBwZW5kKGVycm9yX21lc3NhZ2UpCisgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZXJyb3JfY2FzZQogICAgICAgICAgICAgcGFydHMgPSBwYXJ0c1sxOl0KICAgICAgICAgb2JqID0gbW9kdWxlCiAgICAgICAgIGZvciBwYXJ0IGluIHBhcnRzOgotICAgICAgICAgICAgcGFyZW50LCBvYmogPSBvYmosIGdldGF0dHIob2JqLCBwYXJ0KQorICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgIHBhcmVudCwgb2JqID0gb2JqLCBnZXRhdHRyKG9iaiwgcGFydCkKKyAgICAgICAgICAgIGV4Y2VwdCBBdHRyaWJ1dGVFcnJvciBhcyBlOgorICAgICAgICAgICAgICAgICMgV2UgY2FuJ3QgdHJhdmVyc2Ugc29tZSBwYXJ0IG9mIHRoZSBuYW1lLgorICAgICAgICAgICAgICAgIGlmIChnZXRhdHRyKG9iaiwgJ19fcGF0aF9fJywgTm9uZSkgaXMgbm90IE5vbmUKKyAgICAgICAgICAgICAgICAgICAgYW5kIGVycm9yX2Nhc2UgaXMgbm90IE5vbmUpOgorICAgICAgICAgICAgICAgICAgICAjIFRoaXMgaXMgYSBwYWNrYWdlIChubyBfX3BhdGhfXyBwZXIgaW1wb3J0bGliIGRvY3MpLCBhbmQgd2UKKyAgICAgICAgICAgICAgICAgICAgIyBlbmNvdW50ZXJlZCBhbiBlcnJvciBpbXBvcnRpbmcgc29tZXRoaW5nLiBXZSBjYW5ub3QgdGVsbAorICAgICAgICAgICAgICAgICAgICAjIHRoZSBkaWZmZXJlbmNlIGJldHdlZW4gcGFja2FnZS5Xcm9uZ05hbWVUZXN0Q2xhc3MgYW5kCisgICAgICAgICAgICAgICAgICAgICMgcGFja2FnZS53cm9uZ19tb2R1bGVfbmFtZSBzbyB3ZSBqdXN0IHJlcG9ydCB0aGUKKyAgICAgICAgICAgICAgICAgICAgIyBJbXBvcnRFcnJvciAtIGl0IGlzIG1vcmUgaW5mb3JtYXRpdmUuCisgICAgICAgICAgICAgICAgICAgIHNlbGYuZXJyb3JzLmFwcGVuZChlcnJvcl9tZXNzYWdlKQorICAgICAgICAgICAgICAgICAgICByZXR1cm4gZXJyb3JfY2FzZQorICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgICMgT3RoZXJ3aXNlLCB3ZSBzaWduYWwgdGhhdCBhbiBBdHRyaWJ1dGVFcnJvciBoYXMgb2NjdXJyZWQuCisgICAgICAgICAgICAgICAgICAgIGVycm9yX2Nhc2UsIGVycm9yX21lc3NhZ2UgPSBfbWFrZV9mYWlsZWRfdGVzdCgKKyAgICAgICAgICAgICAgICAgICAgICAgICdBdHRyaWJ1dGVFcnJvcicsIHBhcnQsIGUsIHNlbGYuc3VpdGVDbGFzcywKKyAgICAgICAgICAgICAgICAgICAgICAgICdGYWlsZWQgdG8gYWNjZXNzIGF0dHJpYnV0ZTpcbiVzJyAlICgKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFjZWJhY2suZm9ybWF0X2V4YygpLCkpCisgICAgICAgICAgICAgICAgICAgIHNlbGYuZXJyb3JzLmFwcGVuZChlcnJvcl9tZXNzYWdlKQorICAgICAgICAgICAgICAgICAgICByZXR1cm4gZXJyb3JfY2FzZQogCiAgICAgICAgIGlmIGlzaW5zdGFuY2Uob2JqLCB0eXBlcy5Nb2R1bGVUeXBlKToKICAgICAgICAgICAgIHJldHVybiBzZWxmLmxvYWRUZXN0c0Zyb21Nb2R1bGUob2JqKQpAQCAtMTcwLDkgKzIzMiwxMyBAQAogCiAgICAgICAgIElmIGEgdGVzdCBwYWNrYWdlIG5hbWUgKGRpcmVjdG9yeSB3aXRoICdfX2luaXRfXy5weScpIG1hdGNoZXMgdGhlCiAgICAgICAgIHBhdHRlcm4gdGhlbiB0aGUgcGFja2FnZSB3aWxsIGJlIGNoZWNrZWQgZm9yIGEgJ2xvYWRfdGVzdHMnIGZ1bmN0aW9uLiBJZgotICAgICAgICB0aGlzIGV4aXN0cyB0aGVuIGl0IHdpbGwgYmUgY2FsbGVkIHdpdGggbG9hZGVyLCB0ZXN0cywgcGF0dGVybi4KKyAgICAgICAgdGhpcyBleGlzdHMgdGhlbiBpdCB3aWxsIGJlIGNhbGxlZCB3aXRoIChsb2FkZXIsIHRlc3RzLCBwYXR0ZXJuKSB1bmxlc3MKKyAgICAgICAgdGhlIHBhY2thZ2UgaGFzIGFscmVhZHkgaGFkIGxvYWRfdGVzdHMgY2FsbGVkIGZyb20gdGhlIHNhbWUgZGlzY292ZXJ5CisgICAgICAgIGludm9jYXRpb24sIGluIHdoaWNoIGNhc2UgdGhlIHBhY2thZ2UgbW9kdWxlIG9iamVjdCBpcyBub3Qgc2Nhbm5lZCBmb3IKKyAgICAgICAgdGVzdHMgLSB0aGlzIGVuc3VyZXMgdGhhdCB3aGVuIGEgcGFja2FnZSB1c2VzIGRpc2NvdmVyIHRvIGZ1cnRoZXIKKyAgICAgICAgZGlzY292ZXIgY2hpbGQgdGVzdHMgdGhhdCBpbmZpbml0ZSByZWN1cnNpb24gZG9lcyBub3QgaGFwcGVuLgogCi0gICAgICAgIElmIGxvYWRfdGVzdHMgZXhpc3RzIHRoZW4gZGlzY292ZXJ5IGRvZXMgICpub3QqIHJlY3Vyc2UgaW50byB0aGUgcGFja2FnZSwKKyAgICAgICAgSWYgbG9hZF90ZXN0cyBleGlzdHMgdGhlbiBkaXNjb3ZlcnkgZG9lcyAqbm90KiByZWN1cnNlIGludG8gdGhlIHBhY2thZ2UsCiAgICAgICAgIGxvYWRfdGVzdHMgaXMgcmVzcG9uc2libGUgZm9yIGxvYWRpbmcgYWxsIHRlc3RzIGluIHRoZSBwYWNrYWdlLgogCiAgICAgICAgIFRoZSBwYXR0ZXJuIGlzIGRlbGliZXJhdGVseSBub3Qgc3RvcmVkIGFzIGEgbG9hZGVyIGF0dHJpYnV0ZSBzbyB0aGF0CkBAIC0yNzcsNiArMzQzLDggQEAKICAgICAgICAgICAgIHJldHVybiBvcy5wYXRoLmRpcm5hbWUoZnVsbF9wYXRoKQogCiAgICAgZGVmIF9nZXRfbmFtZV9mcm9tX3BhdGgoc2VsZiwgcGF0aCk6CisgICAgICAgIGlmIHBhdGggPT0gc2VsZi5fdG9wX2xldmVsX2RpcjoKKyAgICAgICAgICAgIHJldHVybiAnLicKICAgICAgICAgcGF0aCA9IF9qeXRob25fYXdhcmVfc3BsaXRleHQob3MucGF0aC5ub3JtcGF0aChwYXRoKSkKIAogICAgICAgICBfcmVscGF0aCA9IG9zLnBhdGgucmVscGF0aChwYXRoLCBzZWxmLl90b3BfbGV2ZWxfZGlyKQpAQCAtMjk2LDYzICszNjQsMTExIEBACiAKICAgICBkZWYgX2ZpbmRfdGVzdHMoc2VsZiwgc3RhcnRfZGlyLCBwYXR0ZXJuLCBuYW1lc3BhY2U9RmFsc2UpOgogICAgICAgICAiIiJVc2VkIGJ5IGRpc2NvdmVyeS4gWWllbGRzIHRlc3Qgc3VpdGVzIGl0IGxvYWRzLiIiIgorICAgICAgICAjIEhhbmRsZSB0aGUgX19pbml0X18gaW4gdGhpcyBwYWNrYWdlCisgICAgICAgIG5hbWUgPSBzZWxmLl9nZXRfbmFtZV9mcm9tX3BhdGgoc3RhcnRfZGlyKQorICAgICAgICAjIG5hbWUgaXMgJy4nIHdoZW4gc3RhcnRfZGlyID09IHRvcF9sZXZlbF9kaXIgKGFuZCB0b3BfbGV2ZWxfZGlyIGlzIGJ5CisgICAgICAgICMgZGVmaW5pdGlvbiBub3QgYSBwYWNrYWdlKS4KKyAgICAgICAgaWYgbmFtZSAhPSAnLicgYW5kIG5hbWUgbm90IGluIHNlbGYuX2xvYWRpbmdfcGFja2FnZXM6CisgICAgICAgICAgICAjIG5hbWUgaXMgaW4gc2VsZi5fbG9hZGluZ19wYWNrYWdlcyB3aGlsZSB3ZSBoYXZlIGNhbGxlZCBpbnRvCisgICAgICAgICAgICAjIGxvYWRUZXN0c0Zyb21Nb2R1bGUgd2l0aCBuYW1lLgorICAgICAgICAgICAgdGVzdHMsIHNob3VsZF9yZWN1cnNlID0gc2VsZi5fZmluZF90ZXN0X3BhdGgoCisgICAgICAgICAgICAgICAgc3RhcnRfZGlyLCBwYXR0ZXJuLCBuYW1lc3BhY2UpCisgICAgICAgICAgICBpZiB0ZXN0cyBpcyBub3QgTm9uZToKKyAgICAgICAgICAgICAgICB5aWVsZCB0ZXN0cworICAgICAgICAgICAgaWYgbm90IHNob3VsZF9yZWN1cnNlOgorICAgICAgICAgICAgICAgICMgRWl0aGVyIGFuIGVycm9yIG9jY3VyZWQsIG9yIGxvYWRfdGVzdHMgd2FzIHVzZWQgYnkgdGhlCisgICAgICAgICAgICAgICAgIyBwYWNrYWdlLgorICAgICAgICAgICAgICAgIHJldHVybgorICAgICAgICAjIEhhbmRsZSB0aGUgY29udGVudHMuCiAgICAgICAgIHBhdGhzID0gc29ydGVkKG9zLmxpc3RkaXIoc3RhcnRfZGlyKSkKLQogICAgICAgICBmb3IgcGF0aCBpbiBwYXRoczoKICAgICAgICAgICAgIGZ1bGxfcGF0aCA9IG9zLnBhdGguam9pbihzdGFydF9kaXIsIHBhdGgpCi0gICAgICAgICAgICBpZiBvcy5wYXRoLmlzZmlsZShmdWxsX3BhdGgpOgotICAgICAgICAgICAgICAgIGlmIG5vdCBWQUxJRF9NT0RVTEVfTkFNRS5tYXRjaChwYXRoKToKLSAgICAgICAgICAgICAgICAgICAgIyB2YWxpZCBQeXRob24gaWRlbnRpZmllcnMgb25seQotICAgICAgICAgICAgICAgICAgICBjb250aW51ZQotICAgICAgICAgICAgICAgIGlmIG5vdCBzZWxmLl9tYXRjaF9wYXRoKHBhdGgsIGZ1bGxfcGF0aCwgcGF0dGVybik6Ci0gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCi0gICAgICAgICAgICAgICAgIyBpZiB0aGUgdGVzdCBmaWxlIG1hdGNoZXMsIGxvYWQgaXQKKyAgICAgICAgICAgIHRlc3RzLCBzaG91bGRfcmVjdXJzZSA9IHNlbGYuX2ZpbmRfdGVzdF9wYXRoKAorICAgICAgICAgICAgICAgIGZ1bGxfcGF0aCwgcGF0dGVybiwgbmFtZXNwYWNlKQorICAgICAgICAgICAgaWYgdGVzdHMgaXMgbm90IE5vbmU6CisgICAgICAgICAgICAgICAgeWllbGQgdGVzdHMKKyAgICAgICAgICAgIGlmIHNob3VsZF9yZWN1cnNlOgorICAgICAgICAgICAgICAgICMgd2UgZm91bmQgYSBwYWNrYWdlIHRoYXQgZGlkbid0IHVzZSBsb2FkX3Rlc3RzLgogICAgICAgICAgICAgICAgIG5hbWUgPSBzZWxmLl9nZXRfbmFtZV9mcm9tX3BhdGgoZnVsbF9wYXRoKQorICAgICAgICAgICAgICAgIHNlbGYuX2xvYWRpbmdfcGFja2FnZXMuYWRkKG5hbWUpCiAgICAgICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgICAgICBtb2R1bGUgPSBzZWxmLl9nZXRfbW9kdWxlX2Zyb21fbmFtZShuYW1lKQotICAgICAgICAgICAgICAgIGV4Y2VwdCBjYXNlLlNraXBUZXN0IGFzIGU6Ci0gICAgICAgICAgICAgICAgICAgIHlpZWxkIF9tYWtlX3NraXBwZWRfdGVzdChuYW1lLCBlLCBzZWxmLnN1aXRlQ2xhc3MpCi0gICAgICAgICAgICAgICAgZXhjZXB0OgotICAgICAgICAgICAgICAgICAgICB5aWVsZCBfbWFrZV9mYWlsZWRfaW1wb3J0X3Rlc3QobmFtZSwgc2VsZi5zdWl0ZUNsYXNzKQotICAgICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgICAgIG1vZF9maWxlID0gb3MucGF0aC5hYnNwYXRoKGdldGF0dHIobW9kdWxlLCAnX19maWxlX18nLCBmdWxsX3BhdGgpKQotICAgICAgICAgICAgICAgICAgICByZWFscGF0aCA9IF9qeXRob25fYXdhcmVfc3BsaXRleHQob3MucGF0aC5yZWFscGF0aChtb2RfZmlsZSkpCi0gICAgICAgICAgICAgICAgICAgIGZ1bGxwYXRoX25vZXh0ID0gX2p5dGhvbl9hd2FyZV9zcGxpdGV4dChvcy5wYXRoLnJlYWxwYXRoKGZ1bGxfcGF0aCkpCi0gICAgICAgICAgICAgICAgICAgIGlmIHJlYWxwYXRoLmxvd2VyKCkgIT0gZnVsbHBhdGhfbm9leHQubG93ZXIoKToKLSAgICAgICAgICAgICAgICAgICAgICAgIG1vZHVsZV9kaXIgPSBvcy5wYXRoLmRpcm5hbWUocmVhbHBhdGgpCi0gICAgICAgICAgICAgICAgICAgICAgICBtb2RfbmFtZSA9IF9qeXRob25fYXdhcmVfc3BsaXRleHQob3MucGF0aC5iYXNlbmFtZShmdWxsX3BhdGgpKQotICAgICAgICAgICAgICAgICAgICAgICAgZXhwZWN0ZWRfZGlyID0gb3MucGF0aC5kaXJuYW1lKGZ1bGxfcGF0aCkKLSAgICAgICAgICAgICAgICAgICAgICAgIG1zZyA9ICgiJXIgbW9kdWxlIGluY29ycmVjdGx5IGltcG9ydGVkIGZyb20gJXIuIEV4cGVjdGVkICVyLiAiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIklzIHRoaXMgbW9kdWxlIGdsb2JhbGx5IGluc3RhbGxlZD8iKQotICAgICAgICAgICAgICAgICAgICAgICAgcmFpc2UgSW1wb3J0RXJyb3IobXNnICUgKG1vZF9uYW1lLCBtb2R1bGVfZGlyLCBleHBlY3RlZF9kaXIpKQotICAgICAgICAgICAgICAgICAgICB5aWVsZCBzZWxmLmxvYWRUZXN0c0Zyb21Nb2R1bGUobW9kdWxlKQotICAgICAgICAgICAgZWxpZiBvcy5wYXRoLmlzZGlyKGZ1bGxfcGF0aCk6Ci0gICAgICAgICAgICAgICAgaWYgKG5vdCBuYW1lc3BhY2UgYW5kCi0gICAgICAgICAgICAgICAgICAgIG5vdCBvcy5wYXRoLmlzZmlsZShvcy5wYXRoLmpvaW4oZnVsbF9wYXRoLCAnX19pbml0X18ucHknKSkpOgotICAgICAgICAgICAgICAgICAgICBjb250aW51ZQorICAgICAgICAgICAgICAgICAgICB5aWVsZCBmcm9tIHNlbGYuX2ZpbmRfdGVzdHMoZnVsbF9wYXRoLCBwYXR0ZXJuLCBuYW1lc3BhY2UpCisgICAgICAgICAgICAgICAgZmluYWxseToKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5fbG9hZGluZ19wYWNrYWdlcy5kaXNjYXJkKG5hbWUpCiAKLSAgICAgICAgICAgICAgICBsb2FkX3Rlc3RzID0gTm9uZQotICAgICAgICAgICAgICAgIHRlc3RzID0gTm9uZQotICAgICAgICAgICAgICAgIGlmIGZubWF0Y2gocGF0aCwgcGF0dGVybik6Ci0gICAgICAgICAgICAgICAgICAgICMgb25seSBjaGVjayBsb2FkX3Rlc3RzIGlmIHRoZSBwYWNrYWdlIGRpcmVjdG9yeSBpdHNlbGYgbWF0Y2hlcyB0aGUgZmlsdGVyCi0gICAgICAgICAgICAgICAgICAgIG5hbWUgPSBzZWxmLl9nZXRfbmFtZV9mcm9tX3BhdGgoZnVsbF9wYXRoKQotICAgICAgICAgICAgICAgICAgICBwYWNrYWdlID0gc2VsZi5fZ2V0X21vZHVsZV9mcm9tX25hbWUobmFtZSkKLSAgICAgICAgICAgICAgICAgICAgbG9hZF90ZXN0cyA9IGdldGF0dHIocGFja2FnZSwgJ2xvYWRfdGVzdHMnLCBOb25lKQotICAgICAgICAgICAgICAgICAgICB0ZXN0cyA9IHNlbGYubG9hZFRlc3RzRnJvbU1vZHVsZShwYWNrYWdlLCB1c2VfbG9hZF90ZXN0cz1GYWxzZSkKKyAgICBkZWYgX2ZpbmRfdGVzdF9wYXRoKHNlbGYsIGZ1bGxfcGF0aCwgcGF0dGVybiwgbmFtZXNwYWNlPUZhbHNlKToKKyAgICAgICAgIiIiVXNlZCBieSBkaXNjb3ZlcnkuCiAKLSAgICAgICAgICAgICAgICBpZiBsb2FkX3Rlc3RzIGlzIE5vbmU6Ci0gICAgICAgICAgICAgICAgICAgIGlmIHRlc3RzIGlzIG5vdCBOb25lOgotICAgICAgICAgICAgICAgICAgICAgICAgIyB0ZXN0cyBsb2FkZWQgZnJvbSBwYWNrYWdlIGZpbGUKLSAgICAgICAgICAgICAgICAgICAgICAgIHlpZWxkIHRlc3RzCi0gICAgICAgICAgICAgICAgICAgICMgcmVjdXJzZSBpbnRvIHRoZSBwYWNrYWdlCi0gICAgICAgICAgICAgICAgICAgIHlpZWxkIGZyb20gc2VsZi5fZmluZF90ZXN0cyhmdWxsX3BhdGgsIHBhdHRlcm4sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lc3BhY2U9bmFtZXNwYWNlKQotICAgICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICAgICAgICAgIHlpZWxkIGxvYWRfdGVzdHMoc2VsZiwgdGVzdHMsIHBhdHRlcm4pCi0gICAgICAgICAgICAgICAgICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKLSAgICAgICAgICAgICAgICAgICAgICAgIHlpZWxkIF9tYWtlX2ZhaWxlZF9sb2FkX3Rlc3RzKHBhY2thZ2UuX19uYW1lX18sIGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnN1aXRlQ2xhc3MpCisgICAgICAgIExvYWRzIHRlc3RzIGZyb20gYSBzaW5nbGUgZmlsZSwgb3IgYSBkaXJlY3RvcmllcycgX19pbml0X18ucHkgd2hlbgorICAgICAgICBwYXNzZWQgdGhlIGRpcmVjdG9yeS4KKworICAgICAgICBSZXR1cm5zIGEgdHVwbGUgKE5vbmVfb3JfdGVzdHNfZnJvbV9maWxlLCBzaG91bGRfcmVjdXJzZSkuCisgICAgICAgICIiIgorICAgICAgICBiYXNlbmFtZSA9IG9zLnBhdGguYmFzZW5hbWUoZnVsbF9wYXRoKQorICAgICAgICBpZiBvcy5wYXRoLmlzZmlsZShmdWxsX3BhdGgpOgorICAgICAgICAgICAgaWYgbm90IFZBTElEX01PRFVMRV9OQU1FLm1hdGNoKGJhc2VuYW1lKToKKyAgICAgICAgICAgICAgICAjIHZhbGlkIFB5dGhvbiBpZGVudGlmaWVycyBvbmx5CisgICAgICAgICAgICAgICAgcmV0dXJuIE5vbmUsIEZhbHNlCisgICAgICAgICAgICBpZiBub3Qgc2VsZi5fbWF0Y2hfcGF0aChiYXNlbmFtZSwgZnVsbF9wYXRoLCBwYXR0ZXJuKToKKyAgICAgICAgICAgICAgICByZXR1cm4gTm9uZSwgRmFsc2UKKyAgICAgICAgICAgICMgaWYgdGhlIHRlc3QgZmlsZSBtYXRjaGVzLCBsb2FkIGl0CisgICAgICAgICAgICBuYW1lID0gc2VsZi5fZ2V0X25hbWVfZnJvbV9wYXRoKGZ1bGxfcGF0aCkKKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICBtb2R1bGUgPSBzZWxmLl9nZXRfbW9kdWxlX2Zyb21fbmFtZShuYW1lKQorICAgICAgICAgICAgZXhjZXB0IGNhc2UuU2tpcFRlc3QgYXMgZToKKyAgICAgICAgICAgICAgICByZXR1cm4gX21ha2Vfc2tpcHBlZF90ZXN0KG5hbWUsIGUsIHNlbGYuc3VpdGVDbGFzcyksIEZhbHNlCisgICAgICAgICAgICBleGNlcHQ6CisgICAgICAgICAgICAgICAgZXJyb3JfY2FzZSwgZXJyb3JfbWVzc2FnZSA9IFwKKyAgICAgICAgICAgICAgICAgICAgX21ha2VfZmFpbGVkX2ltcG9ydF90ZXN0KG5hbWUsIHNlbGYuc3VpdGVDbGFzcykKKyAgICAgICAgICAgICAgICBzZWxmLmVycm9ycy5hcHBlbmQoZXJyb3JfbWVzc2FnZSkKKyAgICAgICAgICAgICAgICByZXR1cm4gZXJyb3JfY2FzZSwgRmFsc2UKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgbW9kX2ZpbGUgPSBvcy5wYXRoLmFic3BhdGgoCisgICAgICAgICAgICAgICAgICAgIGdldGF0dHIobW9kdWxlLCAnX19maWxlX18nLCBmdWxsX3BhdGgpKQorICAgICAgICAgICAgICAgIHJlYWxwYXRoID0gX2p5dGhvbl9hd2FyZV9zcGxpdGV4dCgKKyAgICAgICAgICAgICAgICAgICAgb3MucGF0aC5yZWFscGF0aChtb2RfZmlsZSkpCisgICAgICAgICAgICAgICAgZnVsbHBhdGhfbm9leHQgPSBfanl0aG9uX2F3YXJlX3NwbGl0ZXh0KAorICAgICAgICAgICAgICAgICAgICBvcy5wYXRoLnJlYWxwYXRoKGZ1bGxfcGF0aCkpCisgICAgICAgICAgICAgICAgaWYgcmVhbHBhdGgubG93ZXIoKSAhPSBmdWxscGF0aF9ub2V4dC5sb3dlcigpOgorICAgICAgICAgICAgICAgICAgICBtb2R1bGVfZGlyID0gb3MucGF0aC5kaXJuYW1lKHJlYWxwYXRoKQorICAgICAgICAgICAgICAgICAgICBtb2RfbmFtZSA9IF9qeXRob25fYXdhcmVfc3BsaXRleHQoCisgICAgICAgICAgICAgICAgICAgICAgICBvcy5wYXRoLmJhc2VuYW1lKGZ1bGxfcGF0aCkpCisgICAgICAgICAgICAgICAgICAgIGV4cGVjdGVkX2RpciA9IG9zLnBhdGguZGlybmFtZShmdWxsX3BhdGgpCisgICAgICAgICAgICAgICAgICAgIG1zZyA9ICgiJXIgbW9kdWxlIGluY29ycmVjdGx5IGltcG9ydGVkIGZyb20gJXIuIEV4cGVjdGVkICIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICIlci4gSXMgdGhpcyBtb2R1bGUgZ2xvYmFsbHkgaW5zdGFsbGVkPyIpCisgICAgICAgICAgICAgICAgICAgIHJhaXNlIEltcG9ydEVycm9yKAorICAgICAgICAgICAgICAgICAgICAgICAgbXNnICUgKG1vZF9uYW1lLCBtb2R1bGVfZGlyLCBleHBlY3RlZF9kaXIpKQorICAgICAgICAgICAgICAgIHJldHVybiBzZWxmLmxvYWRUZXN0c0Zyb21Nb2R1bGUobW9kdWxlLCBwYXR0ZXJuPXBhdHRlcm4pLCBGYWxzZQorICAgICAgICBlbGlmIG9zLnBhdGguaXNkaXIoZnVsbF9wYXRoKToKKyAgICAgICAgICAgIGlmIChub3QgbmFtZXNwYWNlIGFuZAorICAgICAgICAgICAgICAgIG5vdCBvcy5wYXRoLmlzZmlsZShvcy5wYXRoLmpvaW4oZnVsbF9wYXRoLCAnX19pbml0X18ucHknKSkpOgorICAgICAgICAgICAgICAgIHJldHVybiBOb25lLCBGYWxzZQorCisgICAgICAgICAgICBsb2FkX3Rlc3RzID0gTm9uZQorICAgICAgICAgICAgdGVzdHMgPSBOb25lCisgICAgICAgICAgICBuYW1lID0gc2VsZi5fZ2V0X25hbWVfZnJvbV9wYXRoKGZ1bGxfcGF0aCkKKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICBwYWNrYWdlID0gc2VsZi5fZ2V0X21vZHVsZV9mcm9tX25hbWUobmFtZSkKKyAgICAgICAgICAgIGV4Y2VwdCBjYXNlLlNraXBUZXN0IGFzIGU6CisgICAgICAgICAgICAgICAgcmV0dXJuIF9tYWtlX3NraXBwZWRfdGVzdChuYW1lLCBlLCBzZWxmLnN1aXRlQ2xhc3MpLCBGYWxzZQorICAgICAgICAgICAgZXhjZXB0OgorICAgICAgICAgICAgICAgIGVycm9yX2Nhc2UsIGVycm9yX21lc3NhZ2UgPSBcCisgICAgICAgICAgICAgICAgICAgIF9tYWtlX2ZhaWxlZF9pbXBvcnRfdGVzdChuYW1lLCBzZWxmLnN1aXRlQ2xhc3MpCisgICAgICAgICAgICAgICAgc2VsZi5lcnJvcnMuYXBwZW5kKGVycm9yX21lc3NhZ2UpCisgICAgICAgICAgICAgICAgcmV0dXJuIGVycm9yX2Nhc2UsIEZhbHNlCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIGxvYWRfdGVzdHMgPSBnZXRhdHRyKHBhY2thZ2UsICdsb2FkX3Rlc3RzJywgTm9uZSkKKyAgICAgICAgICAgICAgICAjIE1hcmsgdGhpcyBwYWNrYWdlIGFzIGJlaW5nIGluIGxvYWRfdGVzdHMgKHBvc3NpYmx5IDspKQorICAgICAgICAgICAgICAgIHNlbGYuX2xvYWRpbmdfcGFja2FnZXMuYWRkKG5hbWUpCisgICAgICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgICAgICB0ZXN0cyA9IHNlbGYubG9hZFRlc3RzRnJvbU1vZHVsZShwYWNrYWdlLCBwYXR0ZXJuPXBhdHRlcm4pCisgICAgICAgICAgICAgICAgICAgIGlmIGxvYWRfdGVzdHMgaXMgbm90IE5vbmU6CisgICAgICAgICAgICAgICAgICAgICAgICAjIGxvYWRUZXN0c0Zyb21Nb2R1bGUocGFja2FnZSkgaGFzIGxvYWRlZCB0ZXN0cyBmb3IgdXMuCisgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGVzdHMsIEZhbHNlCisgICAgICAgICAgICAgICAgICAgIHJldHVybiB0ZXN0cywgVHJ1ZQorICAgICAgICAgICAgICAgIGZpbmFsbHk6CisgICAgICAgICAgICAgICAgICAgIHNlbGYuX2xvYWRpbmdfcGFja2FnZXMuZGlzY2FyZChuYW1lKQorCiAKIGRlZmF1bHRUZXN0TG9hZGVyID0gVGVzdExvYWRlcigpCiAKZGlmZiAtLWdpdCBhL0xpYi91bml0dGVzdC9tb2NrLnB5IGIvTGliL3VuaXR0ZXN0L21vY2sucHkKaW5kZXggNTU1NTc3NC4uM2I3YzE1NyAxMDA2NDQKLS0tIGEvTGliL3VuaXR0ZXN0L21vY2sucHkKKysrIGIvTGliL3VuaXR0ZXN0L21vY2sucHkKQEAgLTI3LDkgKzI3LDEzIEBACiBpbXBvcnQgaW5zcGVjdAogaW1wb3J0IHBwcmludAogaW1wb3J0IHN5cworaW1wb3J0IGJ1aWx0aW5zCitmcm9tIHR5cGVzIGltcG9ydCBNb2R1bGVUeXBlCiBmcm9tIGZ1bmN0b29scyBpbXBvcnQgd3JhcHMsIHBhcnRpYWwKIAogCitfYnVpbHRpbnMgPSB7bmFtZSBmb3IgbmFtZSBpbiBkaXIoYnVpbHRpbnMpIGlmIG5vdCBuYW1lLnN0YXJ0c3dpdGgoJ18nKX0KKwogQmFzZUV4Y2VwdGlvbnMgPSAoQmFzZUV4Y2VwdGlvbiwpCiBpZiAnamF2YScgaW4gc3lzLnBsYXRmb3JtOgogICAgICMganl0aG9uCkBAIC0yNzEsMTMgKzI3NSwxMSBAQAogICAgIHJldHVybiB2YWx1ZQogCiAKLV9hbGxvd2VkX25hbWVzID0gc2V0KAotICAgIFsKLSAgICAgICAgJ3JldHVybl92YWx1ZScsICdfbW9ja19yZXR1cm5fdmFsdWUnLCAnc2lkZV9lZmZlY3QnLAotICAgICAgICAnX21vY2tfc2lkZV9lZmZlY3QnLCAnX21vY2tfcGFyZW50JywgJ19tb2NrX25ld19wYXJlbnQnLAotICAgICAgICAnX21vY2tfbmFtZScsICdfbW9ja19uZXdfbmFtZScKLSAgICBdCi0pCitfYWxsb3dlZF9uYW1lcyA9IHsKKyAgICAncmV0dXJuX3ZhbHVlJywgJ19tb2NrX3JldHVybl92YWx1ZScsICdzaWRlX2VmZmVjdCcsCisgICAgJ19tb2NrX3NpZGVfZWZmZWN0JywgJ19tb2NrX3BhcmVudCcsICdfbW9ja19uZXdfcGFyZW50JywKKyAgICAnX21vY2tfbmFtZScsICdfbW9ja19uZXdfbmFtZScKK30KIAogCiBkZWYgX2RlbGVnYXRpbmdfcHJvcGVydHkobmFtZSk6CkBAIC0zNzUsNyArMzc3LDcgQEAKICAgICBkZWYgX19pbml0X18oCiAgICAgICAgICAgICBzZWxmLCBzcGVjPU5vbmUsIHdyYXBzPU5vbmUsIG5hbWU9Tm9uZSwgc3BlY19zZXQ9Tm9uZSwKICAgICAgICAgICAgIHBhcmVudD1Ob25lLCBfc3BlY19zdGF0ZT1Ob25lLCBfbmV3X25hbWU9JycsIF9uZXdfcGFyZW50PU5vbmUsCi0gICAgICAgICAgICBfc3BlY19hc19pbnN0YW5jZT1GYWxzZSwgX2VhdF9zZWxmPU5vbmUsICoqa3dhcmdzCisgICAgICAgICAgICBfc3BlY19hc19pbnN0YW5jZT1GYWxzZSwgX2VhdF9zZWxmPU5vbmUsIHVuc2FmZT1GYWxzZSwgKiprd2FyZ3MKICAgICAgICAgKToKICAgICAgICAgaWYgX25ld19wYXJlbnQgaXMgTm9uZToKICAgICAgICAgICAgIF9uZXdfcGFyZW50ID0gcGFyZW50CkBAIC00MDUsNiArNDA3LDcgQEAKICAgICAgICAgX19kaWN0X19bJ19tb2NrX21vY2tfY2FsbHMnXSA9IF9DYWxsTGlzdCgpCiAKICAgICAgICAgX19kaWN0X19bJ21ldGhvZF9jYWxscyddID0gX0NhbGxMaXN0KCkKKyAgICAgICAgX19kaWN0X19bJ19tb2NrX3Vuc2FmZSddID0gdW5zYWZlCiAKICAgICAgICAgaWYga3dhcmdzOgogICAgICAgICAgICAgc2VsZi5jb25maWd1cmVfbW9jaygqKmt3YXJncykKQEAgLTU2MSwxMyArNTY0LDE2IEBACiAKIAogICAgIGRlZiBfX2dldGF0dHJfXyhzZWxmLCBuYW1lKToKLSAgICAgICAgaWYgbmFtZSA9PSAnX21vY2tfbWV0aG9kcyc6CisgICAgICAgIGlmIG5hbWUgaW4geydfbW9ja19tZXRob2RzJywgJ19tb2NrX3Vuc2FmZSd9OgogICAgICAgICAgICAgcmFpc2UgQXR0cmlidXRlRXJyb3IobmFtZSkKICAgICAgICAgZWxpZiBzZWxmLl9tb2NrX21ldGhvZHMgaXMgbm90IE5vbmU6CiAgICAgICAgICAgICBpZiBuYW1lIG5vdCBpbiBzZWxmLl9tb2NrX21ldGhvZHMgb3IgbmFtZSBpbiBfYWxsX21hZ2ljczoKICAgICAgICAgICAgICAgICByYWlzZSBBdHRyaWJ1dGVFcnJvcigiTW9jayBvYmplY3QgaGFzIG5vIGF0dHJpYnV0ZSAlciIgJSBuYW1lKQogICAgICAgICBlbGlmIF9pc19tYWdpYyhuYW1lKToKICAgICAgICAgICAgIHJhaXNlIEF0dHJpYnV0ZUVycm9yKG5hbWUpCisgICAgICAgIGlmIG5vdCBzZWxmLl9tb2NrX3Vuc2FmZToKKyAgICAgICAgICAgIGlmIG5hbWUuc3RhcnRzd2l0aCgoJ2Fzc2VydCcsICdhc3NyZXQnKSk6CisgICAgICAgICAgICAgICAgcmFpc2UgQXR0cmlidXRlRXJyb3IobmFtZSkKIAogICAgICAgICByZXN1bHQgPSBzZWxmLl9tb2NrX2NoaWxkcmVuLmdldChuYW1lKQogICAgICAgICBpZiByZXN1bHQgaXMgX2RlbGV0ZWQ6CkBAIC03NTAsNiArNzU2LDE0IEBACiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICByZXR1cm4gX2NhbGwKIAorICAgIGRlZiBhc3NlcnRfbm90X2NhbGxlZChfbW9ja19zZWxmKToKKyAgICAgICAgIiIiYXNzZXJ0IHRoYXQgdGhlIG1vY2sgd2FzIG5ldmVyIGNhbGxlZC4KKyAgICAgICAgIiIiCisgICAgICAgIHNlbGYgPSBfbW9ja19zZWxmCisgICAgICAgIGlmIHNlbGYuY2FsbF9jb3VudCAhPSAwOgorICAgICAgICAgICAgbXNnID0gKCJFeHBlY3RlZCAnJXMnIHRvIG5vdCBoYXZlIGJlZW4gY2FsbGVkLiBDYWxsZWQgJXMgdGltZXMuIiAlCisgICAgICAgICAgICAgICAgICAgKHNlbGYuX21vY2tfbmFtZSBvciAnbW9jaycsIHNlbGYuY2FsbF9jb3VudCkpCisgICAgICAgICAgICByYWlzZSBBc3NlcnRpb25FcnJvcihtc2cpCiAKICAgICBkZWYgYXNzZXJ0X2NhbGxlZF93aXRoKF9tb2NrX3NlbGYsICphcmdzLCAqKmt3YXJncyk6CiAgICAgICAgICIiImFzc2VydCB0aGF0IHRoZSBtb2NrIHdhcyBjYWxsZWQgd2l0aCB0aGUgc3BlY2lmaWVkIGFyZ3VtZW50cy4KQEAgLTExNjYsNiArMTE4MCw5IEBACiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICBsb2NhbCA9IFRydWUKIAorICAgICAgICBpZiBuYW1lIGluIF9idWlsdGlucyBhbmQgaXNpbnN0YW5jZSh0YXJnZXQsIE1vZHVsZVR5cGUpOgorICAgICAgICAgICAgc2VsZi5jcmVhdGUgPSBUcnVlCisKICAgICAgICAgaWYgbm90IHNlbGYuY3JlYXRlIGFuZCBvcmlnaW5hbCBpcyBERUZBVUxUOgogICAgICAgICAgICAgcmFpc2UgQXR0cmlidXRlRXJyb3IoCiAgICAgICAgICAgICAgICAgIiVzIGRvZXMgbm90IGhhdmUgdGhlIGF0dHJpYnV0ZSAlciIgJSAodGFyZ2V0LCBuYW1lKQpAQCAtMTY2MCwxMSArMTY3NywxMiBAQAogIyAoYXMgdGhleSBhcmUgbWV0YWNsYXNzIG1ldGhvZHMpCiAjIF9fZGVsX18gaXMgbm90IHN1cHBvcnRlZCBhdCBhbGwgYXMgaXQgY2F1c2VzIHByb2JsZW1zIGlmIGl0IGV4aXN0cwogCi1fbm9uX2RlZmF1bHRzID0gc2V0KCdfXyVzX18nICUgbWV0aG9kIGZvciBtZXRob2QgaW4gWwotICAgICdnZXQnLCAnc2V0JywgJ2RlbGV0ZScsICdyZXZlcnNlZCcsICdtaXNzaW5nJywgJ3JlZHVjZScsICdyZWR1Y2VfZXgnLAotICAgICdnZXRpbml0YXJncycsICdnZXRuZXdhcmdzJywgJ2dldHN0YXRlJywgJ3NldHN0YXRlJywgJ2dldGZvcm1hdCcsCi0gICAgJ3NldGZvcm1hdCcsICdyZXByJywgJ2RpcicsICdzdWJjbGFzc2VzJywgJ2Zvcm1hdCcsCi1dKQorX25vbl9kZWZhdWx0cyA9IHsKKyAgICAnX19nZXRfXycsICdfX3NldF9fJywgJ19fZGVsZXRlX18nLCAnX19yZXZlcnNlZF9fJywgJ19fbWlzc2luZ19fJywKKyAgICAnX19yZWR1Y2VfXycsICdfX3JlZHVjZV9leF9fJywgJ19fZ2V0aW5pdGFyZ3NfXycsICdfX2dldG5ld2FyZ3NfXycsCisgICAgJ19fZ2V0c3RhdGVfXycsICdfX3NldHN0YXRlX18nLCAnX19nZXRmb3JtYXRfXycsICdfX3NldGZvcm1hdF9fJywKKyAgICAnX19yZXByX18nLCAnX19kaXJfXycsICdfX3N1YmNsYXNzZXNfXycsICdfX2Zvcm1hdF9fJywKK30KIAogCiBkZWYgX2dldF9tZXRob2QobmFtZSwgZnVuYyk6CkBAIC0xNjc1LDE5ICsxNjkzLDE5IEBACiAgICAgcmV0dXJuIG1ldGhvZAogCiAKLV9tYWdpY3MgPSBzZXQoCitfbWFnaWNzID0gewogICAgICdfXyVzX18nICUgbWV0aG9kIGZvciBtZXRob2QgaW4KICAgICAnICcuam9pbihbbWFnaWNfbWV0aG9kcywgbnVtZXJpY3MsIGlucGxhY2UsIHJpZ2h0XSkuc3BsaXQoKQotKQorfQogCiBfYWxsX21hZ2ljcyA9IF9tYWdpY3MgfCBfbm9uX2RlZmF1bHRzCiAKLV91bnN1cHBvcnRlZF9tYWdpY3MgPSBzZXQoWworX3Vuc3VwcG9ydGVkX21hZ2ljcyA9IHsKICAgICAnX19nZXRhdHRyX18nLCAnX19zZXRhdHRyX18nLAogICAgICdfX2luaXRfXycsICdfX25ld19fJywgJ19fcHJlcGFyZV9fJwogICAgICdfX2luc3RhbmNlY2hlY2tfXycsICdfX3N1YmNsYXNzY2hlY2tfXycsCiAgICAgJ19fZGVsX18nCi1dKQorfQogCiBfY2FsY3VsYXRlX3JldHVybl92YWx1ZSA9IHsKICAgICAnX19oYXNoX18nOiBsYW1iZGEgc2VsZjogb2JqZWN0Ll9faGFzaF9fKHNlbGYpLApAQCAtMTg3NSw3ICsxODkzLDcgQEAKICAgICBmb3JtYXR0ZWRfYXJncyA9ICcnCiAgICAgYXJnc19zdHJpbmcgPSAnLCAnLmpvaW4oW3JlcHIoYXJnKSBmb3IgYXJnIGluIGFyZ3NdKQogICAgIGt3YXJnc19zdHJpbmcgPSAnLCAnLmpvaW4oWwotICAgICAgICAnJXM9JXInICUgKGtleSwgdmFsdWUpIGZvciBrZXksIHZhbHVlIGluIGt3YXJncy5pdGVtcygpCisgICAgICAgICclcz0lcicgJSAoa2V5LCB2YWx1ZSkgZm9yIGtleSwgdmFsdWUgaW4gc29ydGVkKGt3YXJncy5pdGVtcygpKQogICAgIF0pCiAgICAgaWYgYXJnc19zdHJpbmc6CiAgICAgICAgIGZvcm1hdHRlZF9hcmdzID0gYXJnc19zdHJpbmcKQEAgLTE5OTcsMTAgKzIwMTUsNiBAQAogICAgICAgICByZXR1cm4gKG90aGVyX2FyZ3MsIG90aGVyX2t3YXJncykgPT0gKHNlbGZfYXJncywgc2VsZl9rd2FyZ3MpCiAKIAotICAgIGRlZiBfX25lX18oc2VsZiwgb3RoZXIpOgotICAgICAgICByZXR1cm4gbm90IHNlbGYuX19lcV9fKG90aGVyKQotCi0KICAgICBkZWYgX19jYWxsX18oc2VsZiwgKmFyZ3MsICoqa3dhcmdzKToKICAgICAgICAgaWYgc2VsZi5uYW1lIGlzIE5vbmU6CiAgICAgICAgICAgICByZXR1cm4gX0NhbGwoKCcnLCBhcmdzLCBrd2FyZ3MpLCBuYW1lPScoKScpCkBAIC0yMDE2LDYgKzIwMzAsMTIgQEAKICAgICAgICAgcmV0dXJuIF9DYWxsKG5hbWU9bmFtZSwgcGFyZW50PXNlbGYsIGZyb21fa2FsbD1GYWxzZSkKIAogCisgICAgZGVmIGNvdW50KHNlbGYsICphcmdzLCAqKmt3YXJncyk6CisgICAgICAgIHJldHVybiBzZWxmLl9fZ2V0YXR0cl9fKCdjb3VudCcpKCphcmdzLCAqKmt3YXJncykKKworICAgIGRlZiBpbmRleChzZWxmLCAqYXJncywgKiprd2FyZ3MpOgorICAgICAgICByZXR1cm4gc2VsZi5fX2dldGF0dHJfXygnaW5kZXgnKSgqYXJncywgKiprd2FyZ3MpCisKICAgICBkZWYgX19yZXByX18oc2VsZik6CiAgICAgICAgIGlmIG5vdCBzZWxmLmZyb21fa2FsbDoKICAgICAgICAgICAgIG5hbWUgPSBzZWxmLm5hbWUgb3IgJ2NhbGwnCmRpZmYgLS1naXQgYS9MaWIvdW5pdHRlc3QvdGVzdC90ZXN0X2Nhc2UucHkgYi9MaWIvdW5pdHRlc3QvdGVzdC90ZXN0X2Nhc2UucHkKaW5kZXggYzdmZjNiMC4uNTAzYWQyZiAxMDA2NDQKLS0tIGEvTGliL3VuaXR0ZXN0L3Rlc3QvdGVzdF9jYXNlLnB5CisrKyBiL0xpYi91bml0dGVzdC90ZXN0L3Rlc3RfY2FzZS5weQpAQCAtMTEwMywxMiArMTEwMyw5IEBACiAgICAgICAgIGV4Y2VwdCBzZWxmLmZhaWx1cmVFeGNlcHRpb24gYXMgZToKICAgICAgICAgICAgICMgbmVlZCB0byByZW1vdmUgdGhlIGZpcnN0IGxpbmUgb2YgdGhlIGVycm9yIG1lc3NhZ2UKICAgICAgICAgICAgIGVycm9yID0gc3RyKGUpLnNwbGl0KCdcbicsIDEpWzFdCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNhbXBsZV90ZXh0X2Vycm9yLCBlcnJvcikKIAotICAgICAgICAgICAgIyBubyBmYWlyIHRlc3Rpbmcgb3Vyc2VsZiB3aXRoIG91cnNlbGYsIGFuZCBhc3NlcnRFcXVhbCBpcyB1c2VkIGZvciBzdHJpbmdzCi0gICAgICAgICAgICAjIHNvIGNhbid0IHVzZSBhc3NlcnRFcXVhbCBlaXRoZXIuIEp1c3QgdXNlIGFzc2VydFRydWUuCi0gICAgICAgICAgICBzZWxmLmFzc2VydFRydWUoc2FtcGxlX3RleHRfZXJyb3IgPT0gZXJyb3IpCi0KLSAgICBkZWYgdGVzdEFzZXJ0RXF1YWxTaW5nbGVMaW5lKHNlbGYpOgorICAgIGRlZiB0ZXN0QXNzZXJ0RXF1YWxTaW5nbGVMaW5lKHNlbGYpOgogICAgICAgICBzYW1wbGVfdGV4dCA9ICJsYWRlbiBzd2FsbG93cyBmbHkgc2xvd2x5IgogICAgICAgICByZXZpc2VkX3NhbXBsZV90ZXh0ID0gInVubGFkZW4gc3dhbGxvd3MgZmx5IHF1aWNrbHkiCiAgICAgICAgIHNhbXBsZV90ZXh0X2Vycm9yID0gIiIiXApAQCAtMTEyMCw4ICsxMTE3LDkgQEAKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzYW1wbGVfdGV4dCwgcmV2aXNlZF9zYW1wbGVfdGV4dCkKICAgICAgICAgZXhjZXB0IHNlbGYuZmFpbHVyZUV4Y2VwdGlvbiBhcyBlOgorICAgICAgICAgICAgIyBuZWVkIHRvIHJlbW92ZSB0aGUgZmlyc3QgbGluZSBvZiB0aGUgZXJyb3IgbWVzc2FnZQogICAgICAgICAgICAgZXJyb3IgPSBzdHIoZSkuc3BsaXQoJ1xuJywgMSlbMV0KLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShzYW1wbGVfdGV4dF9lcnJvciA9PSBlcnJvcikKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2FtcGxlX3RleHRfZXJyb3IsIGVycm9yKQogCiAgICAgZGVmIHRlc3RBc3NlcnRJc05vbmUoc2VsZik6CiAgICAgICAgIHNlbGYuYXNzZXJ0SXNOb25lKE5vbmUpCmRpZmYgLS1naXQgYS9MaWIvdW5pdHRlc3QvdGVzdC90ZXN0X2Rpc2NvdmVyeS5weSBiL0xpYi91bml0dGVzdC90ZXN0L3Rlc3RfZGlzY292ZXJ5LnB5CmluZGV4IGFiYjkwNjYuLjRmNjEzMTQgMTAwNjQ0Ci0tLSBhL0xpYi91bml0dGVzdC90ZXN0L3Rlc3RfZGlzY292ZXJ5LnB5CisrKyBiL0xpYi91bml0dGVzdC90ZXN0L3Rlc3RfZGlzY292ZXJ5LnB5CkBAIC0xLDQgKzEsNSBAQAotaW1wb3J0IG9zCitpbXBvcnQgb3MucGF0aAorZnJvbSBvcy5wYXRoIGltcG9ydCBhYnNwYXRoCiBpbXBvcnQgcmUKIGltcG9ydCBzeXMKIGltcG9ydCB0eXBlcwpAQCAtNjgsNyArNjksMTMgQEAKICAgICAgICAgc2VsZi5hZGRDbGVhbnVwKHJlc3RvcmVfaXNmaWxlKQogCiAgICAgICAgIGxvYWRlci5fZ2V0X21vZHVsZV9mcm9tX25hbWUgPSBsYW1iZGEgcGF0aDogcGF0aCArICcgbW9kdWxlJwotICAgICAgICBsb2FkZXIubG9hZFRlc3RzRnJvbU1vZHVsZSA9IGxhbWJkYSBtb2R1bGU6IG1vZHVsZSArICcgdGVzdHMnCisgICAgICAgIG9yaWdfbG9hZF90ZXN0cyA9IGxvYWRlci5sb2FkVGVzdHNGcm9tTW9kdWxlCisgICAgICAgIGRlZiBsb2FkVGVzdHNGcm9tTW9kdWxlKG1vZHVsZSwgcGF0dGVybj1Ob25lKToKKyAgICAgICAgICAgICMgVGhpcyBpcyB3aGVyZSBsb2FkX3Rlc3RzIGlzIGNhbGxlZC4KKyAgICAgICAgICAgIGJhc2UgPSBvcmlnX2xvYWRfdGVzdHMobW9kdWxlLCBwYXR0ZXJuPXBhdHRlcm4pCisgICAgICAgICAgICByZXR1cm4gYmFzZSArIFttb2R1bGUgKyAnIHRlc3RzJ10KKyAgICAgICAgbG9hZGVyLmxvYWRUZXN0c0Zyb21Nb2R1bGUgPSBsb2FkVGVzdHNGcm9tTW9kdWxlCisgICAgICAgIGxvYWRlci5zdWl0ZUNsYXNzID0gbGFtYmRhIHRoaW5nOiB0aGluZwogCiAgICAgICAgIHRvcF9sZXZlbCA9IG9zLnBhdGguYWJzcGF0aCgnL2ZvbycpCiAgICAgICAgIGxvYWRlci5fdG9wX2xldmVsX2RpciA9IHRvcF9sZXZlbApAQCAtNzYsOSArODMsOSBAQAogCiAgICAgICAgICMgVGhlIHRlc3Qgc3VpdGVzIGZvdW5kIHNob3VsZCBiZSBzb3J0ZWQgYWxwaGFiZXRpY2FsbHkgZm9yIHJlbGlhYmxlCiAgICAgICAgICMgZXhlY3V0aW9uIG9yZGVyLgotICAgICAgICBleHBlY3RlZCA9IFtuYW1lICsgJyBtb2R1bGUgdGVzdHMnIGZvciBuYW1lIGluCi0gICAgICAgICAgICAgICAgICAgICgndGVzdDEnLCAndGVzdDInKV0KLSAgICAgICAgZXhwZWN0ZWQuZXh0ZW5kKFsoJ3Rlc3RfZGlyLiVzJyAlIG5hbWUpICsgJyBtb2R1bGUgdGVzdHMnIGZvciBuYW1lIGluCisgICAgICAgIGV4cGVjdGVkID0gW1tuYW1lICsgJyBtb2R1bGUgdGVzdHMnXSBmb3IgbmFtZSBpbgorICAgICAgICAgICAgICAgICAgICAoJ3Rlc3QxJywgJ3Rlc3QyJywgJ3Rlc3RfZGlyJyldCisgICAgICAgIGV4cGVjdGVkLmV4dGVuZChbWygndGVzdF9kaXIuJXMnICUgbmFtZSkgKyAnIG1vZHVsZSB0ZXN0cyddIGZvciBuYW1lIGluCiAgICAgICAgICAgICAgICAgICAgICgndGVzdDMnLCAndGVzdDQnKV0pCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3VpdGUsIGV4cGVjdGVkKQogCkBAIC0xMTYsMzQgKzEyMywyMDQgQEAKICAgICAgICAgICAgICAgICBpZiBvcy5wYXRoLmJhc2VuYW1lKHBhdGgpID09ICd0ZXN0X2RpcmVjdG9yeSc6CiAgICAgICAgICAgICAgICAgICAgIGRlZiBsb2FkX3Rlc3RzKGxvYWRlciwgdGVzdHMsIHBhdHRlcm4pOgogICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5sb2FkX3Rlc3RzX2FyZ3MuYXBwZW5kKChsb2FkZXIsIHRlc3RzLCBwYXR0ZXJuKSkKLSAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAnbG9hZF90ZXN0cycKKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBbc2VsZi5wYXRoICsgJyBsb2FkX3Rlc3RzJ10KICAgICAgICAgICAgICAgICAgICAgc2VsZi5sb2FkX3Rlc3RzID0gbG9hZF90ZXN0cwogCiAgICAgICAgICAgICBkZWYgX19lcV9fKHNlbGYsIG90aGVyKToKICAgICAgICAgICAgICAgICByZXR1cm4gc2VsZi5wYXRoID09IG90aGVyLnBhdGgKIAogICAgICAgICBsb2FkZXIuX2dldF9tb2R1bGVfZnJvbV9uYW1lID0gbGFtYmRhIG5hbWU6IE1vZHVsZShuYW1lKQotICAgICAgICBkZWYgbG9hZFRlc3RzRnJvbU1vZHVsZShtb2R1bGUsIHVzZV9sb2FkX3Rlc3RzKToKLSAgICAgICAgICAgIGlmIHVzZV9sb2FkX3Rlc3RzOgotICAgICAgICAgICAgICAgIHJhaXNlIHNlbGYuZmFpbHVyZUV4Y2VwdGlvbigndXNlX2xvYWRfdGVzdHMgc2hvdWxkIGJlIEZhbHNlIGZvciBwYWNrYWdlcycpCi0gICAgICAgICAgICByZXR1cm4gbW9kdWxlLnBhdGggKyAnIG1vZHVsZSB0ZXN0cycKKyAgICAgICAgb3JpZ19sb2FkX3Rlc3RzID0gbG9hZGVyLmxvYWRUZXN0c0Zyb21Nb2R1bGUKKyAgICAgICAgZGVmIGxvYWRUZXN0c0Zyb21Nb2R1bGUobW9kdWxlLCBwYXR0ZXJuPU5vbmUpOgorICAgICAgICAgICAgIyBUaGlzIGlzIHdoZXJlIGxvYWRfdGVzdHMgaXMgY2FsbGVkLgorICAgICAgICAgICAgYmFzZSA9IG9yaWdfbG9hZF90ZXN0cyhtb2R1bGUsIHBhdHRlcm49cGF0dGVybikKKyAgICAgICAgICAgIHJldHVybiBiYXNlICsgW21vZHVsZS5wYXRoICsgJyBtb2R1bGUgdGVzdHMnXQogICAgICAgICBsb2FkZXIubG9hZFRlc3RzRnJvbU1vZHVsZSA9IGxvYWRUZXN0c0Zyb21Nb2R1bGUKKyAgICAgICAgbG9hZGVyLnN1aXRlQ2xhc3MgPSBsYW1iZGEgdGhpbmc6IHRoaW5nCiAKICAgICAgICAgbG9hZGVyLl90b3BfbGV2ZWxfZGlyID0gJy9mb28nCiAgICAgICAgICMgdGhpcyB0aW1lIG5vICcucHknIG9uIHRoZSBwYXR0ZXJuIHNvIHRoYXQgaXQgY2FuIG1hdGNoCiAgICAgICAgICMgYSB0ZXN0IHBhY2thZ2UKICAgICAgICAgc3VpdGUgPSBsaXN0KGxvYWRlci5fZmluZF90ZXN0cygnL2ZvbycsICd0ZXN0KicpKQogCi0gICAgICAgICMgV2Ugc2hvdWxkIGhhdmUgbG9hZGVkIHRlc3RzIGZyb20gdGhlIHRlc3RfZGlyZWN0b3J5IHBhY2thZ2UgYnkgY2FsbGluZyBsb2FkX3Rlc3RzCi0gICAgICAgICMgYW5kIGRpcmVjdGx5IGZyb20gdGhlIHRlc3RfZGlyZWN0b3J5MiBwYWNrYWdlCisgICAgICAgICMgV2Ugc2hvdWxkIGhhdmUgbG9hZGVkIHRlc3RzIGZyb20gdGhlIGFfZGlyZWN0b3J5IGFuZCB0ZXN0X2RpcmVjdG9yeTIKKyAgICAgICAgIyBkaXJlY3RseSBhbmQgdmlhIGxvYWRfdGVzdHMgZm9yIHRoZSB0ZXN0X2RpcmVjdG9yeSBwYWNrYWdlLCB3aGljaAorICAgICAgICAjIHN0aWxsIGNhbGxzIHRoZSBiYXNlbGluZSBtb2R1bGUgbG9hZGVyLgogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN1aXRlLAotICAgICAgICAgICAgICAgICAgICAgICAgIFsnbG9hZF90ZXN0cycsICd0ZXN0X2RpcmVjdG9yeTInICsgJyBtb2R1bGUgdGVzdHMnXSkKKyAgICAgICAgICAgICAgICAgICAgICAgICBbWydhX2RpcmVjdG9yeSBtb2R1bGUgdGVzdHMnXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgWyd0ZXN0X2RpcmVjdG9yeSBsb2FkX3Rlc3RzJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICd0ZXN0X2RpcmVjdG9yeSBtb2R1bGUgdGVzdHMnXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgWyd0ZXN0X2RpcmVjdG9yeTIgbW9kdWxlIHRlc3RzJ11dKQorCisKICAgICAgICAgIyBUaGUgdGVzdCBtb2R1bGUgcGF0aHMgc2hvdWxkIGJlIHNvcnRlZCBmb3IgcmVsaWFibGUgZXhlY3V0aW9uIG9yZGVyCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoTW9kdWxlLnBhdGhzLCBbJ3Rlc3RfZGlyZWN0b3J5JywgJ3Rlc3RfZGlyZWN0b3J5MiddKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKE1vZHVsZS5wYXRocywKKyAgICAgICAgICAgICAgICAgICAgICAgICBbJ2FfZGlyZWN0b3J5JywgJ3Rlc3RfZGlyZWN0b3J5JywgJ3Rlc3RfZGlyZWN0b3J5MiddKQorCisgICAgICAgICMgbG9hZF90ZXN0cyBzaG91bGQgaGF2ZSBiZWVuIGNhbGxlZCBvbmNlIHdpdGggbG9hZGVyLCB0ZXN0cyBhbmQgcGF0dGVybgorICAgICAgICAjIChidXQgdGhlcmUgYXJlIG5vIHRlc3RzIGluIG91ciBzdHViIG1vZHVsZSBpdHNlbGYsIHNvIHRoYXRzIFtdIGF0IHRoZQorICAgICAgICAjIHRpbWUgb2YgY2FsbC4KKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChNb2R1bGUubG9hZF90ZXN0c19hcmdzLAorICAgICAgICAgICAgICAgICAgICAgICAgIFsobG9hZGVyLCBbXSwgJ3Rlc3QqJyldKQorCisgICAgZGVmIHRlc3RfZmluZF90ZXN0c19kZWZhdWx0X2NhbGxzX3BhY2thZ2VfbG9hZF90ZXN0cyhzZWxmKToKKyAgICAgICAgbG9hZGVyID0gdW5pdHRlc3QuVGVzdExvYWRlcigpCisKKyAgICAgICAgb3JpZ2luYWxfbGlzdGRpciA9IG9zLmxpc3RkaXIKKyAgICAgICAgZGVmIHJlc3RvcmVfbGlzdGRpcigpOgorICAgICAgICAgICAgb3MubGlzdGRpciA9IG9yaWdpbmFsX2xpc3RkaXIKKyAgICAgICAgb3JpZ2luYWxfaXNmaWxlID0gb3MucGF0aC5pc2ZpbGUKKyAgICAgICAgZGVmIHJlc3RvcmVfaXNmaWxlKCk6CisgICAgICAgICAgICBvcy5wYXRoLmlzZmlsZSA9IG9yaWdpbmFsX2lzZmlsZQorICAgICAgICBvcmlnaW5hbF9pc2RpciA9IG9zLnBhdGguaXNkaXIKKyAgICAgICAgZGVmIHJlc3RvcmVfaXNkaXIoKToKKyAgICAgICAgICAgIG9zLnBhdGguaXNkaXIgPSBvcmlnaW5hbF9pc2RpcgorCisgICAgICAgIGRpcmVjdG9yaWVzID0gWydhX2RpcmVjdG9yeScsICd0ZXN0X2RpcmVjdG9yeScsICd0ZXN0X2RpcmVjdG9yeTInXQorICAgICAgICBwYXRoX2xpc3RzID0gW2RpcmVjdG9yaWVzLCBbXSwgW10sIFtdXQorICAgICAgICBvcy5saXN0ZGlyID0gbGFtYmRhIHBhdGg6IHBhdGhfbGlzdHMucG9wKDApCisgICAgICAgIHNlbGYuYWRkQ2xlYW51cChyZXN0b3JlX2xpc3RkaXIpCisKKyAgICAgICAgb3MucGF0aC5pc2RpciA9IGxhbWJkYSBwYXRoOiBUcnVlCisgICAgICAgIHNlbGYuYWRkQ2xlYW51cChyZXN0b3JlX2lzZGlyKQorCisgICAgICAgIG9zLnBhdGguaXNmaWxlID0gbGFtYmRhIHBhdGg6IG9zLnBhdGguYmFzZW5hbWUocGF0aCkgbm90IGluIGRpcmVjdG9yaWVzCisgICAgICAgIHNlbGYuYWRkQ2xlYW51cChyZXN0b3JlX2lzZmlsZSkKKworICAgICAgICBjbGFzcyBNb2R1bGUob2JqZWN0KToKKyAgICAgICAgICAgIHBhdGhzID0gW10KKyAgICAgICAgICAgIGxvYWRfdGVzdHNfYXJncyA9IFtdCisKKyAgICAgICAgICAgIGRlZiBfX2luaXRfXyhzZWxmLCBwYXRoKToKKyAgICAgICAgICAgICAgICBzZWxmLnBhdGggPSBwYXRoCisgICAgICAgICAgICAgICAgc2VsZi5wYXRocy5hcHBlbmQocGF0aCkKKyAgICAgICAgICAgICAgICBpZiBvcy5wYXRoLmJhc2VuYW1lKHBhdGgpID09ICd0ZXN0X2RpcmVjdG9yeSc6CisgICAgICAgICAgICAgICAgICAgIGRlZiBsb2FkX3Rlc3RzKGxvYWRlciwgdGVzdHMsIHBhdHRlcm4pOgorICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5sb2FkX3Rlc3RzX2FyZ3MuYXBwZW5kKChsb2FkZXIsIHRlc3RzLCBwYXR0ZXJuKSkKKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBbc2VsZi5wYXRoICsgJyBsb2FkX3Rlc3RzJ10KKyAgICAgICAgICAgICAgICAgICAgc2VsZi5sb2FkX3Rlc3RzID0gbG9hZF90ZXN0cworCisgICAgICAgICAgICBkZWYgX19lcV9fKHNlbGYsIG90aGVyKToKKyAgICAgICAgICAgICAgICByZXR1cm4gc2VsZi5wYXRoID09IG90aGVyLnBhdGgKKworICAgICAgICBsb2FkZXIuX2dldF9tb2R1bGVfZnJvbV9uYW1lID0gbGFtYmRhIG5hbWU6IE1vZHVsZShuYW1lKQorICAgICAgICBvcmlnX2xvYWRfdGVzdHMgPSBsb2FkZXIubG9hZFRlc3RzRnJvbU1vZHVsZQorICAgICAgICBkZWYgbG9hZFRlc3RzRnJvbU1vZHVsZShtb2R1bGUsIHBhdHRlcm49Tm9uZSk6CisgICAgICAgICAgICAjIFRoaXMgaXMgd2hlcmUgbG9hZF90ZXN0cyBpcyBjYWxsZWQuCisgICAgICAgICAgICBiYXNlID0gb3JpZ19sb2FkX3Rlc3RzKG1vZHVsZSwgcGF0dGVybj1wYXR0ZXJuKQorICAgICAgICAgICAgcmV0dXJuIGJhc2UgKyBbbW9kdWxlLnBhdGggKyAnIG1vZHVsZSB0ZXN0cyddCisgICAgICAgIGxvYWRlci5sb2FkVGVzdHNGcm9tTW9kdWxlID0gbG9hZFRlc3RzRnJvbU1vZHVsZQorICAgICAgICBsb2FkZXIuc3VpdGVDbGFzcyA9IGxhbWJkYSB0aGluZzogdGhpbmcKKworICAgICAgICBsb2FkZXIuX3RvcF9sZXZlbF9kaXIgPSAnL2ZvbycKKyAgICAgICAgIyB0aGlzIHRpbWUgbm8gJy5weScgb24gdGhlIHBhdHRlcm4gc28gdGhhdCBpdCBjYW4gbWF0Y2gKKyAgICAgICAgIyBhIHRlc3QgcGFja2FnZQorICAgICAgICBzdWl0ZSA9IGxpc3QobG9hZGVyLl9maW5kX3Rlc3RzKCcvZm9vJywgJ3Rlc3QqLnB5JykpCisKKyAgICAgICAgIyBXZSBzaG91bGQgaGF2ZSBsb2FkZWQgdGVzdHMgZnJvbSB0aGUgYV9kaXJlY3RvcnkgYW5kIHRlc3RfZGlyZWN0b3J5MgorICAgICAgICAjIGRpcmVjdGx5IGFuZCB2aWEgbG9hZF90ZXN0cyBmb3IgdGhlIHRlc3RfZGlyZWN0b3J5IHBhY2thZ2UsIHdoaWNoCisgICAgICAgICMgc3RpbGwgY2FsbHMgdGhlIGJhc2VsaW5lIG1vZHVsZSBsb2FkZXIuCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3VpdGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgW1snYV9kaXJlY3RvcnkgbW9kdWxlIHRlc3RzJ10sCisgICAgICAgICAgICAgICAgICAgICAgICAgIFsndGVzdF9kaXJlY3RvcnkgbG9hZF90ZXN0cycsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAndGVzdF9kaXJlY3RvcnkgbW9kdWxlIHRlc3RzJ10sCisgICAgICAgICAgICAgICAgICAgICAgICAgIFsndGVzdF9kaXJlY3RvcnkyIG1vZHVsZSB0ZXN0cyddXSkKKyAgICAgICAgIyBUaGUgdGVzdCBtb2R1bGUgcGF0aHMgc2hvdWxkIGJlIHNvcnRlZCBmb3IgcmVsaWFibGUgZXhlY3V0aW9uIG9yZGVyCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoTW9kdWxlLnBhdGhzLAorICAgICAgICAgICAgICAgICAgICAgICAgIFsnYV9kaXJlY3RvcnknLCAndGVzdF9kaXJlY3RvcnknLCAndGVzdF9kaXJlY3RvcnkyJ10pCisKIAogICAgICAgICAjIGxvYWRfdGVzdHMgc2hvdWxkIGhhdmUgYmVlbiBjYWxsZWQgb25jZSB3aXRoIGxvYWRlciwgdGVzdHMgYW5kIHBhdHRlcm4KICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChNb2R1bGUubG9hZF90ZXN0c19hcmdzLAotICAgICAgICAgICAgICAgICAgICAgICAgIFsobG9hZGVyLCAndGVzdF9kaXJlY3RvcnknICsgJyBtb2R1bGUgdGVzdHMnLCAndGVzdConKV0pCisgICAgICAgICAgICAgICAgICAgICAgICAgWyhsb2FkZXIsIFtdLCAndGVzdCoucHknKV0pCisKKyAgICBkZWYgdGVzdF9maW5kX3Rlc3RzX2N1c3RvbWlzZV92aWFfcGFja2FnZV9wYXR0ZXJuKHNlbGYpOgorICAgICAgICAjIFRoaXMgdGVzdCB1c2VzIHRoZSBleGFtcGxlICdkby1ub3RoaW5nJyBsb2FkX3Rlc3RzIGZyb20KKyAgICAgICAgIyBodHRwczovL2RvY3MucHl0aG9uLm9yZy8zL2xpYnJhcnkvdW5pdHRlc3QuaHRtbCNsb2FkLXRlc3RzLXByb3RvY29sCisgICAgICAgICMgdG8gbWFrZSBzdXJlIHRoYXQgdGhhdCBhY3R1YWxseSB3b3Jrcy4KKyAgICAgICAgIyBIb3VzZWtlZXBpbmcKKyAgICAgICAgb3JpZ2luYWxfbGlzdGRpciA9IG9zLmxpc3RkaXIKKyAgICAgICAgZGVmIHJlc3RvcmVfbGlzdGRpcigpOgorICAgICAgICAgICAgb3MubGlzdGRpciA9IG9yaWdpbmFsX2xpc3RkaXIKKyAgICAgICAgc2VsZi5hZGRDbGVhbnVwKHJlc3RvcmVfbGlzdGRpcikKKyAgICAgICAgb3JpZ2luYWxfaXNmaWxlID0gb3MucGF0aC5pc2ZpbGUKKyAgICAgICAgZGVmIHJlc3RvcmVfaXNmaWxlKCk6CisgICAgICAgICAgICBvcy5wYXRoLmlzZmlsZSA9IG9yaWdpbmFsX2lzZmlsZQorICAgICAgICBzZWxmLmFkZENsZWFudXAocmVzdG9yZV9pc2ZpbGUpCisgICAgICAgIG9yaWdpbmFsX2lzZGlyID0gb3MucGF0aC5pc2RpcgorICAgICAgICBkZWYgcmVzdG9yZV9pc2RpcigpOgorICAgICAgICAgICAgb3MucGF0aC5pc2RpciA9IG9yaWdpbmFsX2lzZGlyCisgICAgICAgIHNlbGYuYWRkQ2xlYW51cChyZXN0b3JlX2lzZGlyKQorICAgICAgICBzZWxmLmFkZENsZWFudXAoc3lzLnBhdGgucmVtb3ZlLCBhYnNwYXRoKCcvZm9vJykpCisKKyAgICAgICAgIyBUZXN0IGRhdGE6IHdlIGV4cGVjdCB0aGUgZm9sbG93aW5nOgorICAgICAgICAjIGEgbGlzdGRpciB0byBmaW5kIG91ciBwYWNrYWdlLCBhbmQgYSBpc2ZpbGUgYW5kIGlzZGlyIGNoZWNrIG9uIGl0LgorICAgICAgICAjIGEgbW9kdWxlLWZyb20tbmFtZSBjYWxsIHRvIHR1cm4gdGhhdCBpbnRvIGEgbW9kdWxlCisgICAgICAgICMgZm9sbG93ZWQgYnkgbG9hZF90ZXN0cy4KKyAgICAgICAgIyB0aGVuIG91ciBsb2FkX3Rlc3RzIHdpbGwgY2FsbCBkaXNjb3ZlcigpIHdoaWNoIGlzIG1lc3N5CisgICAgICAgICMgYnV0IHRoYXQgZmluYWxseSBjaGFpbnMgaW50byBmaW5kX3Rlc3RzIGFnYWluIGZvciB0aGUgY2hpbGQgZGlyIC0KKyAgICAgICAgIyB3aGljaCBpcyB3aHkgd2UgZG9uJ3QgaGF2ZSBhIGluZmluaXRlIGxvb3AuCisgICAgICAgICMgV2UgZXhwZWN0IHRvIHNlZToKKyAgICAgICAgIyB0aGUgbW9kdWxlIGxvYWQgdGVzdHMgZm9yIGJvdGggcGFja2FnZSBhbmQgcGxhaW4gbW9kdWxlIGNhbGxlZCwKKyAgICAgICAgIyBhbmQgdGhlIHBsYWluIG1vZHVsZSByZXN1bHQgbmVzdGVkIGJ5IHRoZSBwYWNrYWdlIG1vZHVsZSBsb2FkX3Rlc3RzCisgICAgICAgICMgaW5kaWNhdGluZyB0aGF0IGl0IHdhcyBwcm9jZXNzZWQgYW5kIGNvdWxkIGhhdmUgYmVlbiBtdXRhdGVkLgorICAgICAgICB2ZnMgPSB7YWJzcGF0aCgnL2ZvbycpOiBbJ215X3BhY2thZ2UnXSwKKyAgICAgICAgICAgICAgIGFic3BhdGgoJy9mb28vbXlfcGFja2FnZScpOiBbJ19faW5pdF9fLnB5JywgJ3Rlc3RfbW9kdWxlLnB5J119CisgICAgICAgIGRlZiBsaXN0X2RpcihwYXRoKToKKyAgICAgICAgICAgIHJldHVybiBsaXN0KHZmc1twYXRoXSkKKyAgICAgICAgb3MubGlzdGRpciA9IGxpc3RfZGlyCisgICAgICAgIG9zLnBhdGguaXNkaXIgPSBsYW1iZGEgcGF0aDogbm90IHBhdGguZW5kc3dpdGgoJy5weScpCisgICAgICAgIG9zLnBhdGguaXNmaWxlID0gbGFtYmRhIHBhdGg6IHBhdGguZW5kc3dpdGgoJy5weScpCisKKyAgICAgICAgY2xhc3MgTW9kdWxlKG9iamVjdCk6CisgICAgICAgICAgICBwYXRocyA9IFtdCisgICAgICAgICAgICBsb2FkX3Rlc3RzX2FyZ3MgPSBbXQorCisgICAgICAgICAgICBkZWYgX19pbml0X18oc2VsZiwgcGF0aCk6CisgICAgICAgICAgICAgICAgc2VsZi5wYXRoID0gcGF0aAorICAgICAgICAgICAgICAgIHNlbGYucGF0aHMuYXBwZW5kKHBhdGgpCisgICAgICAgICAgICAgICAgaWYgcGF0aC5lbmRzd2l0aCgndGVzdF9tb2R1bGUnKToKKyAgICAgICAgICAgICAgICAgICAgZGVmIGxvYWRfdGVzdHMobG9hZGVyLCB0ZXN0cywgcGF0dGVybik6CisgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmxvYWRfdGVzdHNfYXJncy5hcHBlbmQoKGxvYWRlciwgdGVzdHMsIHBhdHRlcm4pKQorICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFtzZWxmLnBhdGggKyAnIGxvYWRfdGVzdHMnXQorICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgIGRlZiBsb2FkX3Rlc3RzKGxvYWRlciwgdGVzdHMsIHBhdHRlcm4pOgorICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5sb2FkX3Rlc3RzX2FyZ3MuYXBwZW5kKChsb2FkZXIsIHRlc3RzLCBwYXR0ZXJuKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICMgdG9wIGxldmVsIGRpcmVjdG9yeSBjYWNoZWQgb24gbG9hZGVyIGluc3RhbmNlCisgICAgICAgICAgICAgICAgICAgICAgICBfX2ZpbGVfXyA9ICcvZm9vL215X3BhY2thZ2UvX19pbml0X18ucHknCisgICAgICAgICAgICAgICAgICAgICAgICB0aGlzX2RpciA9IG9zLnBhdGguZGlybmFtZShfX2ZpbGVfXykKKyAgICAgICAgICAgICAgICAgICAgICAgIHBrZ190ZXN0cyA9IGxvYWRlci5kaXNjb3ZlcigKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGFydF9kaXI9dGhpc19kaXIsIHBhdHRlcm49cGF0dGVybikKKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBbc2VsZi5wYXRoICsgJyBsb2FkX3Rlc3RzJywgdGVzdHMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBdICsgcGtnX3Rlc3RzCisgICAgICAgICAgICAgICAgc2VsZi5sb2FkX3Rlc3RzID0gbG9hZF90ZXN0cworCisgICAgICAgICAgICBkZWYgX19lcV9fKHNlbGYsIG90aGVyKToKKyAgICAgICAgICAgICAgICByZXR1cm4gc2VsZi5wYXRoID09IG90aGVyLnBhdGgKKworICAgICAgICBsb2FkZXIgPSB1bml0dGVzdC5UZXN0TG9hZGVyKCkKKyAgICAgICAgbG9hZGVyLl9nZXRfbW9kdWxlX2Zyb21fbmFtZSA9IGxhbWJkYSBuYW1lOiBNb2R1bGUobmFtZSkKKyAgICAgICAgbG9hZGVyLnN1aXRlQ2xhc3MgPSBsYW1iZGEgdGhpbmc6IHRoaW5nCisKKyAgICAgICAgbG9hZGVyLl90b3BfbGV2ZWxfZGlyID0gYWJzcGF0aCgnL2ZvbycpCisgICAgICAgICMgdGhpcyB0aW1lIG5vICcucHknIG9uIHRoZSBwYXR0ZXJuIHNvIHRoYXQgaXQgY2FuIG1hdGNoCisgICAgICAgICMgYSB0ZXN0IHBhY2thZ2UKKyAgICAgICAgc3VpdGUgPSBsaXN0KGxvYWRlci5fZmluZF90ZXN0cyhhYnNwYXRoKCcvZm9vJyksICd0ZXN0Ki5weScpKQorCisgICAgICAgICMgV2Ugc2hvdWxkIGhhdmUgbG9hZGVkIHRlc3RzIGZyb20gYm90aCBteV9wYWNrYWdlIGFuZAorICAgICAgICAjIG15X3BhY2FrZ2UudGVzdF9tb2R1bGUsIGFuZCBhbHNvIHJ1biB0aGUgbG9hZF90ZXN0cyBob29rIGluIGJvdGguCisgICAgICAgICMgKG5vcm1hbGx5IHRoaXMgd291bGQgYmUgbmVzdGVkIFRlc3RTdWl0ZXMuKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN1aXRlLAorICAgICAgICAgICAgICAgICAgICAgICAgIFtbJ215X3BhY2thZ2UgbG9hZF90ZXN0cycsIFtdLAorICAgICAgICAgICAgICAgICAgICAgICAgICBbJ215X3BhY2thZ2UudGVzdF9tb2R1bGUgbG9hZF90ZXN0cyddXV0pCisgICAgICAgICMgUGFyZW50cyBiZWZvcmUgY2hpbGRyZW4uCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoTW9kdWxlLnBhdGhzLAorICAgICAgICAgICAgICAgICAgICAgICAgIFsnbXlfcGFja2FnZScsICdteV9wYWNrYWdlLnRlc3RfbW9kdWxlJ10pCisKKyAgICAgICAgIyBsb2FkX3Rlc3RzIHNob3VsZCBoYXZlIGJlZW4gY2FsbGVkIHR3aWNlIHdpdGggbG9hZGVyLCB0ZXN0cyBhbmQgcGF0dGVybgorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKE1vZHVsZS5sb2FkX3Rlc3RzX2FyZ3MsCisgICAgICAgICAgICAgICAgICAgICAgICAgWyhsb2FkZXIsIFtdLCAndGVzdCoucHknKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgKGxvYWRlciwgW10sICd0ZXN0Ki5weScpXSkKIAogICAgIGRlZiB0ZXN0X2Rpc2NvdmVyKHNlbGYpOgogICAgICAgICBsb2FkZXIgPSB1bml0dGVzdC5UZXN0TG9hZGVyKCkKQEAgLTE5MSw2ICszNjgsNTEgQEAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChfZmluZF90ZXN0c19hcmdzLCBbKHN0YXJ0X2RpciwgJ3BhdHRlcm4nKV0pCiAgICAgICAgIHNlbGYuYXNzZXJ0SW4odG9wX2xldmVsX2Rpciwgc3lzLnBhdGgpCiAKKyAgICBkZWYgdGVzdF9kaXNjb3Zlcl9zdGFydF9kaXJfaXNfcGFja2FnZV9jYWxsc19wYWNrYWdlX2xvYWRfdGVzdHMoc2VsZik6CisgICAgICAgICMgVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgdGhlIHBhY2thZ2UgbG9hZF90ZXN0cyBpbiBhIHBhY2thZ2UgaXMgaW5kZWVkCisgICAgICAgICMgaW52b2tlZCB3aGVuIHRoZSBzdGFydF9kaXIgaXMgYSBwYWNrYWdlIChhbmQgbm90IHRoZSB0b3AgbGV2ZWwpLgorICAgICAgICAjIGh0dHA6Ly9idWdzLnB5dGhvbi5vcmcvaXNzdWUyMjQ1NworCisgICAgICAgICMgVGVzdCBkYXRhOiB3ZSBleHBlY3QgdGhlIGZvbGxvd2luZzoKKyAgICAgICAgIyBhbiBpc2ZpbGUgdG8gdmVyaWZ5IHRoZSBwYWNrYWdlLCB0aGVuIGltcG9ydGluZyBhbmQgc2Nhbm5pbmcKKyAgICAgICAgIyBhcyBwZXIgX2ZpbmRfdGVzdHMnIG5vcm1hbCBiZWhhdmlvdXIuCisgICAgICAgICMgV2UgZXhwZWN0IHRvIHNlZSBvdXIgbG9hZF90ZXN0cyBob29rIGNhbGxlZCBvbmNlLgorICAgICAgICB2ZnMgPSB7YWJzcGF0aCgnL3RvcGxldmVsJyk6IFsnc3RhcnRkaXInXSwKKyAgICAgICAgICAgICAgIGFic3BhdGgoJy90b3BsZXZlbC9zdGFydGRpcicpOiBbJ19faW5pdF9fLnB5J119CisgICAgICAgIGRlZiBsaXN0X2RpcihwYXRoKToKKyAgICAgICAgICAgIHJldHVybiBsaXN0KHZmc1twYXRoXSkKKyAgICAgICAgc2VsZi5hZGRDbGVhbnVwKHNldGF0dHIsIG9zLCAnbGlzdGRpcicsIG9zLmxpc3RkaXIpCisgICAgICAgIG9zLmxpc3RkaXIgPSBsaXN0X2RpcgorICAgICAgICBzZWxmLmFkZENsZWFudXAoc2V0YXR0ciwgb3MucGF0aCwgJ2lzZmlsZScsIG9zLnBhdGguaXNmaWxlKQorICAgICAgICBvcy5wYXRoLmlzZmlsZSA9IGxhbWJkYSBwYXRoOiBwYXRoLmVuZHN3aXRoKCcucHknKQorICAgICAgICBzZWxmLmFkZENsZWFudXAoc2V0YXR0ciwgb3MucGF0aCwgJ2lzZGlyJywgb3MucGF0aC5pc2RpcikKKyAgICAgICAgb3MucGF0aC5pc2RpciA9IGxhbWJkYSBwYXRoOiBub3QgcGF0aC5lbmRzd2l0aCgnLnB5JykKKyAgICAgICAgc2VsZi5hZGRDbGVhbnVwKHN5cy5wYXRoLnJlbW92ZSwgYWJzcGF0aCgnL3RvcGxldmVsJykpCisKKyAgICAgICAgY2xhc3MgTW9kdWxlKG9iamVjdCk6CisgICAgICAgICAgICBwYXRocyA9IFtdCisgICAgICAgICAgICBsb2FkX3Rlc3RzX2FyZ3MgPSBbXQorCisgICAgICAgICAgICBkZWYgX19pbml0X18oc2VsZiwgcGF0aCk6CisgICAgICAgICAgICAgICAgc2VsZi5wYXRoID0gcGF0aAorCisgICAgICAgICAgICBkZWYgbG9hZF90ZXN0cyhzZWxmLCBsb2FkZXIsIHRlc3RzLCBwYXR0ZXJuKToKKyAgICAgICAgICAgICAgICByZXR1cm4gWydsb2FkX3Rlc3RzIGNhbGxlZCAnICsgc2VsZi5wYXRoXQorCisgICAgICAgICAgICBkZWYgX19lcV9fKHNlbGYsIG90aGVyKToKKyAgICAgICAgICAgICAgICByZXR1cm4gc2VsZi5wYXRoID09IG90aGVyLnBhdGgKKworICAgICAgICBsb2FkZXIgPSB1bml0dGVzdC5UZXN0TG9hZGVyKCkKKyAgICAgICAgbG9hZGVyLl9nZXRfbW9kdWxlX2Zyb21fbmFtZSA9IGxhbWJkYSBuYW1lOiBNb2R1bGUobmFtZSkKKyAgICAgICAgbG9hZGVyLnN1aXRlQ2xhc3MgPSBsYW1iZGEgdGhpbmc6IHRoaW5nCisKKyAgICAgICAgc3VpdGUgPSBsb2FkZXIuZGlzY292ZXIoJy90b3BsZXZlbC9zdGFydGRpcicsIHRvcF9sZXZlbF9kaXI9Jy90b3BsZXZlbCcpCisKKyAgICAgICAgIyBXZSBzaG91bGQgaGF2ZSBsb2FkZWQgdGVzdHMgZnJvbSB0aGUgcGFja2FnZSBfX2luaXRfXy4KKyAgICAgICAgIyAobm9ybWFsbHkgdGhpcyB3b3VsZCBiZSBuZXN0ZWQgVGVzdFN1aXRlcy4pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3VpdGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgW1snbG9hZF90ZXN0cyBjYWxsZWQgc3RhcnRkaXInXV0pCisKICAgICBkZWYgc2V0dXBfaW1wb3J0X2lzc3VlX3Rlc3RzKHNlbGYsIGZha2VmaWxlKToKICAgICAgICAgbGlzdGRpciA9IG9zLmxpc3RkaXIKICAgICAgICAgb3MubGlzdGRpciA9IGxhbWJkYSBfOiBbZmFrZWZpbGVdCkBAIC0yMDMsNiArNDI1LDE3IEBACiAgICAgICAgICAgICBzeXMucGF0aFs6XSA9IG9yaWdfc3lzX3BhdGgKICAgICAgICAgc2VsZi5hZGRDbGVhbnVwKHJlc3RvcmUpCiAKKyAgICBkZWYgc2V0dXBfaW1wb3J0X2lzc3VlX3BhY2thZ2VfdGVzdHMoc2VsZiwgdmZzKToKKyAgICAgICAgc2VsZi5hZGRDbGVhbnVwKHNldGF0dHIsIG9zLCAnbGlzdGRpcicsIG9zLmxpc3RkaXIpCisgICAgICAgIHNlbGYuYWRkQ2xlYW51cChzZXRhdHRyLCBvcy5wYXRoLCAnaXNmaWxlJywgb3MucGF0aC5pc2ZpbGUpCisgICAgICAgIHNlbGYuYWRkQ2xlYW51cChzZXRhdHRyLCBvcy5wYXRoLCAnaXNkaXInLCBvcy5wYXRoLmlzZGlyKQorICAgICAgICBzZWxmLmFkZENsZWFudXAoc3lzLnBhdGguX19zZXRpdGVtX18sIHNsaWNlKE5vbmUpLCBsaXN0KHN5cy5wYXRoKSkKKyAgICAgICAgZGVmIGxpc3RfZGlyKHBhdGgpOgorICAgICAgICAgICAgcmV0dXJuIGxpc3QodmZzW3BhdGhdKQorICAgICAgICBvcy5saXN0ZGlyID0gbGlzdF9kaXIKKyAgICAgICAgb3MucGF0aC5pc2RpciA9IGxhbWJkYSBwYXRoOiBub3QgcGF0aC5lbmRzd2l0aCgnLnB5JykKKyAgICAgICAgb3MucGF0aC5pc2ZpbGUgPSBsYW1iZGEgcGF0aDogcGF0aC5lbmRzd2l0aCgnLnB5JykKKwogICAgIGRlZiB0ZXN0X2Rpc2NvdmVyX3dpdGhfbW9kdWxlc190aGF0X2ZhaWxfdG9faW1wb3J0KHNlbGYpOgogICAgICAgICBsb2FkZXIgPSB1bml0dGVzdC5UZXN0TG9hZGVyKCkKIApAQCAtMjExLDExICs0NDQsNDQgQEAKICAgICAgICAgc3VpdGUgPSBsb2FkZXIuZGlzY292ZXIoJy4nKQogICAgICAgICBzZWxmLmFzc2VydEluKG9zLmdldGN3ZCgpLCBzeXMucGF0aCkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdWl0ZS5jb3VudFRlc3RDYXNlcygpLCAxKQorICAgICAgICAjIEVycm9ycyBsb2FkaW5nIHRoZSBzdWl0ZSBhcmUgYWxzbyBjYXB0dXJlZCBmb3IgaW50cm9zcGVjdGlvbi4KKyAgICAgICAgc2VsZi5hc3NlcnROb3RFcXVhbChbXSwgbG9hZGVyLmVycm9ycykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgxLCBsZW4obG9hZGVyLmVycm9ycykpCisgICAgICAgIGVycm9yID0gbG9hZGVyLmVycm9yc1swXQorICAgICAgICBzZWxmLmFzc2VydFRydWUoCisgICAgICAgICAgICAnRmFpbGVkIHRvIGltcG9ydCB0ZXN0IG1vZHVsZTogdGVzdF90aGlzX2RvZXNfbm90X2V4aXN0JyBpbiBlcnJvciwKKyAgICAgICAgICAgICdtaXNzaW5nIGVycm9yIHN0cmluZyBpbiAlcicgJSBlcnJvcikKICAgICAgICAgdGVzdCA9IGxpc3QobGlzdChzdWl0ZSlbMF0pWzBdICMgZXh0cmFjdCB0ZXN0IGZyb20gc3VpdGUKIAogICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKEltcG9ydEVycm9yKToKICAgICAgICAgICAgIHRlc3QudGVzdF90aGlzX2RvZXNfbm90X2V4aXN0KCkKIAorICAgIGRlZiB0ZXN0X2Rpc2NvdmVyX3dpdGhfaW5pdF9tb2R1bGVzX3RoYXRfZmFpbF90b19pbXBvcnQoc2VsZik6CisgICAgICAgIHZmcyA9IHthYnNwYXRoKCcvZm9vJyk6IFsnbXlfcGFja2FnZSddLAorICAgICAgICAgICAgICAgYWJzcGF0aCgnL2Zvby9teV9wYWNrYWdlJyk6IFsnX19pbml0X18ucHknLCAndGVzdF9tb2R1bGUucHknXX0KKyAgICAgICAgc2VsZi5zZXR1cF9pbXBvcnRfaXNzdWVfcGFja2FnZV90ZXN0cyh2ZnMpCisgICAgICAgIGltcG9ydF9jYWxscyA9IFtdCisgICAgICAgIGRlZiBfZ2V0X21vZHVsZV9mcm9tX25hbWUobmFtZSk6CisgICAgICAgICAgICBpbXBvcnRfY2FsbHMuYXBwZW5kKG5hbWUpCisgICAgICAgICAgICByYWlzZSBJbXBvcnRFcnJvcigiQ2Fubm90IGltcG9ydCBOYW1lIikKKyAgICAgICAgbG9hZGVyID0gdW5pdHRlc3QuVGVzdExvYWRlcigpCisgICAgICAgIGxvYWRlci5fZ2V0X21vZHVsZV9mcm9tX25hbWUgPSBfZ2V0X21vZHVsZV9mcm9tX25hbWUKKyAgICAgICAgc3VpdGUgPSBsb2FkZXIuZGlzY292ZXIoYWJzcGF0aCgnL2ZvbycpKQorCisgICAgICAgIHNlbGYuYXNzZXJ0SW4oYWJzcGF0aCgnL2ZvbycpLCBzeXMucGF0aCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdWl0ZS5jb3VudFRlc3RDYXNlcygpLCAxKQorICAgICAgICAjIEVycm9ycyBsb2FkaW5nIHRoZSBzdWl0ZSBhcmUgYWxzbyBjYXB0dXJlZCBmb3IgaW50cm9zcGVjdGlvbi4KKyAgICAgICAgc2VsZi5hc3NlcnROb3RFcXVhbChbXSwgbG9hZGVyLmVycm9ycykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgxLCBsZW4obG9hZGVyLmVycm9ycykpCisgICAgICAgIGVycm9yID0gbG9hZGVyLmVycm9yc1swXQorICAgICAgICBzZWxmLmFzc2VydFRydWUoCisgICAgICAgICAgICAnRmFpbGVkIHRvIGltcG9ydCB0ZXN0IG1vZHVsZTogbXlfcGFja2FnZScgaW4gZXJyb3IsCisgICAgICAgICAgICAnbWlzc2luZyBlcnJvciBzdHJpbmcgaW4gJXInICUgZXJyb3IpCisgICAgICAgIHRlc3QgPSBsaXN0KGxpc3Qoc3VpdGUpWzBdKVswXSAjIGV4dHJhY3QgdGVzdCBmcm9tIHN1aXRlCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoSW1wb3J0RXJyb3IpOgorICAgICAgICAgICAgdGVzdC5teV9wYWNrYWdlKCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChpbXBvcnRfY2FsbHMsIFsnbXlfcGFja2FnZSddKQorCiAgICAgZGVmIHRlc3RfZGlzY292ZXJfd2l0aF9tb2R1bGVfdGhhdF9yYWlzZXNfU2tpcFRlc3Rfb25faW1wb3J0KHNlbGYpOgogICAgICAgICBsb2FkZXIgPSB1bml0dGVzdC5UZXN0TG9hZGVyKCkKIApAQCAtMjMyLDYgKzQ5OCwyNiBAQAogICAgICAgICBzdWl0ZS5ydW4ocmVzdWx0KQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihyZXN1bHQuc2tpcHBlZCksIDEpCiAKKyAgICBkZWYgdGVzdF9kaXNjb3Zlcl93aXRoX2luaXRfbW9kdWxlX3RoYXRfcmFpc2VzX1NraXBUZXN0X29uX2ltcG9ydChzZWxmKToKKyAgICAgICAgdmZzID0ge2Fic3BhdGgoJy9mb28nKTogWydteV9wYWNrYWdlJ10sCisgICAgICAgICAgICAgICBhYnNwYXRoKCcvZm9vL215X3BhY2thZ2UnKTogWydfX2luaXRfXy5weScsICd0ZXN0X21vZHVsZS5weSddfQorICAgICAgICBzZWxmLnNldHVwX2ltcG9ydF9pc3N1ZV9wYWNrYWdlX3Rlc3RzKHZmcykKKyAgICAgICAgaW1wb3J0X2NhbGxzID0gW10KKyAgICAgICAgZGVmIF9nZXRfbW9kdWxlX2Zyb21fbmFtZShuYW1lKToKKyAgICAgICAgICAgIGltcG9ydF9jYWxscy5hcHBlbmQobmFtZSkKKyAgICAgICAgICAgIHJhaXNlIHVuaXR0ZXN0LlNraXBUZXN0KCdza2lwcGVyb28nKQorICAgICAgICBsb2FkZXIgPSB1bml0dGVzdC5UZXN0TG9hZGVyKCkKKyAgICAgICAgbG9hZGVyLl9nZXRfbW9kdWxlX2Zyb21fbmFtZSA9IF9nZXRfbW9kdWxlX2Zyb21fbmFtZQorICAgICAgICBzdWl0ZSA9IGxvYWRlci5kaXNjb3ZlcihhYnNwYXRoKCcvZm9vJykpCisKKyAgICAgICAgc2VsZi5hc3NlcnRJbihhYnNwYXRoKCcvZm9vJyksIHN5cy5wYXRoKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN1aXRlLmNvdW50VGVzdENhc2VzKCksIDEpCisgICAgICAgIHJlc3VsdCA9IHVuaXR0ZXN0LlRlc3RSZXN1bHQoKQorICAgICAgICBzdWl0ZS5ydW4ocmVzdWx0KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihyZXN1bHQuc2tpcHBlZCksIDEpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVzdWx0LnRlc3RzUnVuLCAxKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGltcG9ydF9jYWxscywgWydteV9wYWNrYWdlJ10pCisKICAgICBkZWYgdGVzdF9jb21tYW5kX2xpbmVfaGFuZGxpbmdfcGFyc2VBcmdzKHNlbGYpOgogICAgICAgICBwcm9ncmFtID0gVGVzdGFibGVUZXN0UHJvZ3JhbSgpCiAKZGlmZiAtLWdpdCBhL0xpYi91bml0dGVzdC90ZXN0L3Rlc3RfbG9hZGVyLnB5IGIvTGliL3VuaXR0ZXN0L3Rlc3QvdGVzdF9sb2FkZXIucHkKaW5kZXggYjYyYTFiNS4uNjhmMTAzNiAxMDA2NDQKLS0tIGEvTGliL3VuaXR0ZXN0L3Rlc3QvdGVzdF9sb2FkZXIucHkKKysrIGIvTGliL3VuaXR0ZXN0L3Rlc3QvdGVzdF9sb2FkZXIucHkKQEAgLTEsMTIgKzEsMzYgQEAKIGltcG9ydCBzeXMKIGltcG9ydCB0eXBlcwotCitpbXBvcnQgd2FybmluZ3MKIAogaW1wb3J0IHVuaXR0ZXN0CiAKKyMgRGVjb3JhdG9yIHVzZWQgaW4gdGhlIGRlcHJlY2F0aW9uIHRlc3RzIHRvIHJlc2V0IHRoZSB3YXJuaW5nIHJlZ2lzdHJ5IGZvcgorIyB0ZXN0IGlzb2xhdGlvbiBhbmQgcmVwcm9kdWNpYmlsaXR5LgorZGVmIHdhcm5pbmdyZWdpc3RyeShmdW5jKToKKyAgICBkZWYgd3JhcHBlcigqYXJncywgKiprd3MpOgorICAgICAgICBtaXNzaW5nID0gb2JqZWN0KCkKKyAgICAgICAgc2F2ZWQgPSBnZXRhdHRyKHdhcm5pbmdzLCAnX193YXJuaW5ncmVnaXN0cnlfXycsIG1pc3NpbmcpLmNvcHkoKQorICAgICAgICB0cnk6CisgICAgICAgICAgICByZXR1cm4gZnVuYygqYXJncywgKiprd3MpCisgICAgICAgIGZpbmFsbHk6CisgICAgICAgICAgICBpZiBzYXZlZCBpcyBtaXNzaW5nOgorICAgICAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICAgICAgZGVsIHdhcm5pbmdzLl9fd2FybmluZ3JlZ2lzdHJ5X18KKyAgICAgICAgICAgICAgICBleGNlcHQgQXR0cmlidXRlRXJyb3I6CisgICAgICAgICAgICAgICAgICAgIHBhc3MKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgd2FybmluZ3MuX193YXJuaW5ncmVnaXN0cnlfXyA9IHNhdmVkCisKIAogY2xhc3MgVGVzdF9UZXN0TG9hZGVyKHVuaXR0ZXN0LlRlc3RDYXNlKToKIAorICAgICMjIyBCYXNpYyBvYmplY3QgdGVzdHMKKyAgICAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisKKyAgICBkZWYgdGVzdF9fX2luaXRfXyhzZWxmKToKKyAgICAgICAgbG9hZGVyID0gdW5pdHRlc3QuVGVzdExvYWRlcigpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoW10sIGxvYWRlci5lcnJvcnMpCisKICAgICAjIyMgVGVzdHMgZm9yIFRlc3RMb2FkZXIubG9hZFRlc3RzRnJvbVRlc3RDYXNlCiAgICAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogCkBAIC0xNTAsNiArMTc0LDcgQEAKIAogICAgICMgQ2hlY2sgdGhhdCBsb2FkVGVzdHNGcm9tTW9kdWxlIGhvbm9ycyAob3Igbm90KSBhIG1vZHVsZQogICAgICMgd2l0aCBhIGxvYWRfdGVzdHMgZnVuY3Rpb24uCisgICAgQHdhcm5pbmdyZWdpc3RyeQogICAgIGRlZiB0ZXN0X2xvYWRUZXN0c0Zyb21Nb2R1bGVfX2xvYWRfdGVzdHMoc2VsZik6CiAgICAgICAgIG0gPSB0eXBlcy5Nb2R1bGVUeXBlKCdtJykKICAgICAgICAgY2xhc3MgTXlUZXN0Q2FzZSh1bml0dGVzdC5UZXN0Q2FzZSk6CkBAIC0xNjgsMTAgKzE5MywxNDQgQEAKICAgICAgICAgc3VpdGUgPSBsb2FkZXIubG9hZFRlc3RzRnJvbU1vZHVsZShtKQogICAgICAgICBzZWxmLmFzc2VydElzSW5zdGFuY2Uoc3VpdGUsIHVuaXR0ZXN0LlRlc3RTdWl0ZSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsb2FkX3Rlc3RzX2FyZ3MsIFtsb2FkZXIsIHN1aXRlLCBOb25lXSkKKyAgICAgICAgIyBXaXRoIFB5dGhvbiAzLjUsIHRoZSB1bmRvY3VtZW50ZWQgYW5kIHVub2ZmaWNpYWwgdXNlX2xvYWRfdGVzdHMgaXMKKyAgICAgICAgIyBpZ25vcmVkIChhbmQgZGVwcmVjYXRlZCkuCisgICAgICAgIGxvYWRfdGVzdHNfYXJncyA9IFtdCisgICAgICAgIHdpdGggd2FybmluZ3MuY2F0Y2hfd2FybmluZ3MocmVjb3JkPUZhbHNlKToKKyAgICAgICAgICAgIHdhcm5pbmdzLnNpbXBsZWZpbHRlcignbmV2ZXInKQorICAgICAgICAgICAgc3VpdGUgPSBsb2FkZXIubG9hZFRlc3RzRnJvbU1vZHVsZShtLCB1c2VfbG9hZF90ZXN0cz1GYWxzZSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobG9hZF90ZXN0c19hcmdzLCBbbG9hZGVyLCBzdWl0ZSwgTm9uZV0pCisKKyAgICBAd2FybmluZ3JlZ2lzdHJ5CisgICAgZGVmIHRlc3RfbG9hZFRlc3RzRnJvbU1vZHVsZV9fdXNlX2xvYWRfdGVzdHNfZGVwcmVjYXRlZF9wb3NpdGlvbmFsKHNlbGYpOgorICAgICAgICBtID0gdHlwZXMuTW9kdWxlVHlwZSgnbScpCisgICAgICAgIGNsYXNzIE15VGVzdENhc2UodW5pdHRlc3QuVGVzdENhc2UpOgorICAgICAgICAgICAgZGVmIHRlc3Qoc2VsZik6CisgICAgICAgICAgICAgICAgcGFzcworICAgICAgICBtLnRlc3RjYXNlXzEgPSBNeVRlc3RDYXNlCiAKICAgICAgICAgbG9hZF90ZXN0c19hcmdzID0gW10KLSAgICAgICAgc3VpdGUgPSBsb2FkZXIubG9hZFRlc3RzRnJvbU1vZHVsZShtLCB1c2VfbG9hZF90ZXN0cz1GYWxzZSkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsb2FkX3Rlc3RzX2FyZ3MsIFtdKQorICAgICAgICBkZWYgbG9hZF90ZXN0cyhsb2FkZXIsIHRlc3RzLCBwYXR0ZXJuKToKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXNJbnN0YW5jZSh0ZXN0cywgdW5pdHRlc3QuVGVzdFN1aXRlKQorICAgICAgICAgICAgbG9hZF90ZXN0c19hcmdzLmV4dGVuZCgobG9hZGVyLCB0ZXN0cywgcGF0dGVybikpCisgICAgICAgICAgICByZXR1cm4gdGVzdHMKKyAgICAgICAgbS5sb2FkX3Rlc3RzID0gbG9hZF90ZXN0cworICAgICAgICAjIFRoZSBtZXRob2Qgc3RpbGwgd29ya3MuCisgICAgICAgIGxvYWRlciA9IHVuaXR0ZXN0LlRlc3RMb2FkZXIoKQorICAgICAgICAjIHVzZV9sb2FkX3Rlc3RzPVRydWUgYXMgYSBwb3NpdGlvbmFsIGFyZ3VtZW50LgorICAgICAgICB3aXRoIHdhcm5pbmdzLmNhdGNoX3dhcm5pbmdzKHJlY29yZD1UcnVlKSBhcyB3OgorICAgICAgICAgICAgd2FybmluZ3Muc2ltcGxlZmlsdGVyKCdhbHdheXMnKQorICAgICAgICAgICAgc3VpdGUgPSBsb2FkZXIubG9hZFRlc3RzRnJvbU1vZHVsZShtLCBGYWxzZSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXNJbnN0YW5jZShzdWl0ZSwgdW5pdHRlc3QuVGVzdFN1aXRlKQorICAgICAgICAgICAgIyBsb2FkX3Rlc3RzIHdhcyBzdGlsbCBjYWxsZWQgYmVjYXVzZSB1c2VfbG9hZF90ZXN0cyBpcyBkZXByZWNhdGVkCisgICAgICAgICAgICAjIGFuZCBpZ25vcmVkLgorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsb2FkX3Rlc3RzX2FyZ3MsIFtsb2FkZXIsIHN1aXRlLCBOb25lXSkKKyAgICAgICAgIyBXZSBnb3QgYSB3YXJuaW5nLgorICAgICAgICBzZWxmLmFzc2VydElzKHdbLTFdLmNhdGVnb3J5LCBEZXByZWNhdGlvbldhcm5pbmcpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RyKHdbLTFdLm1lc3NhZ2UpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndXNlX2xvYWRfdGVzdHMgaXMgZGVwcmVjYXRlZCBhbmQgaWdub3JlZCcpCisKKyAgICBAd2FybmluZ3JlZ2lzdHJ5CisgICAgZGVmIHRlc3RfbG9hZFRlc3RzRnJvbU1vZHVsZV9fdXNlX2xvYWRfdGVzdHNfZGVwcmVjYXRlZF9rZXl3b3JkKHNlbGYpOgorICAgICAgICBtID0gdHlwZXMuTW9kdWxlVHlwZSgnbScpCisgICAgICAgIGNsYXNzIE15VGVzdENhc2UodW5pdHRlc3QuVGVzdENhc2UpOgorICAgICAgICAgICAgZGVmIHRlc3Qoc2VsZik6CisgICAgICAgICAgICAgICAgcGFzcworICAgICAgICBtLnRlc3RjYXNlXzEgPSBNeVRlc3RDYXNlCisKKyAgICAgICAgbG9hZF90ZXN0c19hcmdzID0gW10KKyAgICAgICAgZGVmIGxvYWRfdGVzdHMobG9hZGVyLCB0ZXN0cywgcGF0dGVybik6CisgICAgICAgICAgICBzZWxmLmFzc2VydElzSW5zdGFuY2UodGVzdHMsIHVuaXR0ZXN0LlRlc3RTdWl0ZSkKKyAgICAgICAgICAgIGxvYWRfdGVzdHNfYXJncy5leHRlbmQoKGxvYWRlciwgdGVzdHMsIHBhdHRlcm4pKQorICAgICAgICAgICAgcmV0dXJuIHRlc3RzCisgICAgICAgIG0ubG9hZF90ZXN0cyA9IGxvYWRfdGVzdHMKKyAgICAgICAgIyBUaGUgbWV0aG9kIHN0aWxsIHdvcmtzLgorICAgICAgICBsb2FkZXIgPSB1bml0dGVzdC5UZXN0TG9hZGVyKCkKKyAgICAgICAgd2l0aCB3YXJuaW5ncy5jYXRjaF93YXJuaW5ncyhyZWNvcmQ9VHJ1ZSkgYXMgdzoKKyAgICAgICAgICAgIHdhcm5pbmdzLnNpbXBsZWZpbHRlcignYWx3YXlzJykKKyAgICAgICAgICAgIHN1aXRlID0gbG9hZGVyLmxvYWRUZXN0c0Zyb21Nb2R1bGUobSwgdXNlX2xvYWRfdGVzdHM9RmFsc2UpCisgICAgICAgICAgICBzZWxmLmFzc2VydElzSW5zdGFuY2Uoc3VpdGUsIHVuaXR0ZXN0LlRlc3RTdWl0ZSkKKyAgICAgICAgICAgICMgbG9hZF90ZXN0cyB3YXMgc3RpbGwgY2FsbGVkIGJlY2F1c2UgdXNlX2xvYWRfdGVzdHMgaXMgZGVwcmVjYXRlZAorICAgICAgICAgICAgIyBhbmQgaWdub3JlZC4KKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobG9hZF90ZXN0c19hcmdzLCBbbG9hZGVyLCBzdWl0ZSwgTm9uZV0pCisgICAgICAgICAgICAjIFdlIGdvdCBhIHdhcm5pbmcuCisgICAgICAgICAgICBzZWxmLmFzc2VydElzKHdbLTFdLmNhdGVnb3J5LCBEZXByZWNhdGlvbldhcm5pbmcpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0cih3Wy0xXS5tZXNzYWdlKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd1c2VfbG9hZF90ZXN0cyBpcyBkZXByZWNhdGVkIGFuZCBpZ25vcmVkJykKKworICAgIEB3YXJuaW5ncmVnaXN0cnkKKyAgICBkZWYgdGVzdF9sb2FkVGVzdHNGcm9tTW9kdWxlX190b29fbWFueV9wb3NpdGlvbmFsX2FyZ3Moc2VsZik6CisgICAgICAgIG0gPSB0eXBlcy5Nb2R1bGVUeXBlKCdtJykKKyAgICAgICAgY2xhc3MgTXlUZXN0Q2FzZSh1bml0dGVzdC5UZXN0Q2FzZSk6CisgICAgICAgICAgICBkZWYgdGVzdChzZWxmKToKKyAgICAgICAgICAgICAgICBwYXNzCisgICAgICAgIG0udGVzdGNhc2VfMSA9IE15VGVzdENhc2UKKworICAgICAgICBsb2FkX3Rlc3RzX2FyZ3MgPSBbXQorICAgICAgICBkZWYgbG9hZF90ZXN0cyhsb2FkZXIsIHRlc3RzLCBwYXR0ZXJuKToKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXNJbnN0YW5jZSh0ZXN0cywgdW5pdHRlc3QuVGVzdFN1aXRlKQorICAgICAgICAgICAgbG9hZF90ZXN0c19hcmdzLmV4dGVuZCgobG9hZGVyLCB0ZXN0cywgcGF0dGVybikpCisgICAgICAgICAgICByZXR1cm4gdGVzdHMKKyAgICAgICAgbS5sb2FkX3Rlc3RzID0gbG9hZF90ZXN0cworICAgICAgICBsb2FkZXIgPSB1bml0dGVzdC5UZXN0TG9hZGVyKCkKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IpIGFzIGNtLCBcCisgICAgICAgICAgICAgd2FybmluZ3MuY2F0Y2hfd2FybmluZyhyZWNvcmQ9VHJ1ZSkgYXMgdzoKKyAgICAgICAgICAgIGxvYWRlci5sb2FkVGVzdHNGcm9tTW9kdWxlKG0sIEZhbHNlLCAndGVzdG1lLionKQorICAgICAgICAgICAgIyBXZSBzdGlsbCBnb3QgdGhlIGRlcHJlY2F0aW9uIHdhcm5pbmcuCisgICAgICAgICAgICBzZWxmLmFzc2VydElzKHdbLTFdLmNhdGVnb3J5LCBEZXByZWNhdGlvbldhcm5pbmcpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0cih3Wy0xXS5tZXNzYWdlKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd1c2VfbG9hZF90ZXN0cyBpcyBkZXByZWNhdGVkIGFuZCBpZ25vcmVkJykKKyAgICAgICAgICAgICMgV2UgYWxzbyBnb3QgYSBUeXBlRXJyb3IgZm9yIHRvbyBtYW55IHBvc2l0aW9uYWwgYXJndW1lbnRzLgorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh0eXBlKGNtLmV4Y2VwdGlvbiksIFR5cGVFcnJvcikKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCisgICAgICAgICAgICAgICAgc3RyKGNtLmV4Y2VwdGlvbiksCisgICAgICAgICAgICAgICAgJ2xvYWRUZXN0c0Zyb21Nb2R1bGUoKSB0YWtlcyAxIHBvc2l0aW9uYWwgYXJndW1lbnQgYnV0IDMgd2VyZSBnaXZlbicpCisKKyAgICBAd2FybmluZ3JlZ2lzdHJ5CisgICAgZGVmIHRlc3RfbG9hZFRlc3RzRnJvbU1vZHVsZV9fdXNlX2xvYWRfdGVzdHNfb3RoZXJfYmFkX2tleXdvcmQoc2VsZik6CisgICAgICAgIG0gPSB0eXBlcy5Nb2R1bGVUeXBlKCdtJykKKyAgICAgICAgY2xhc3MgTXlUZXN0Q2FzZSh1bml0dGVzdC5UZXN0Q2FzZSk6CisgICAgICAgICAgICBkZWYgdGVzdChzZWxmKToKKyAgICAgICAgICAgICAgICBwYXNzCisgICAgICAgIG0udGVzdGNhc2VfMSA9IE15VGVzdENhc2UKKworICAgICAgICBsb2FkX3Rlc3RzX2FyZ3MgPSBbXQorICAgICAgICBkZWYgbG9hZF90ZXN0cyhsb2FkZXIsIHRlc3RzLCBwYXR0ZXJuKToKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXNJbnN0YW5jZSh0ZXN0cywgdW5pdHRlc3QuVGVzdFN1aXRlKQorICAgICAgICAgICAgbG9hZF90ZXN0c19hcmdzLmV4dGVuZCgobG9hZGVyLCB0ZXN0cywgcGF0dGVybikpCisgICAgICAgICAgICByZXR1cm4gdGVzdHMKKyAgICAgICAgbS5sb2FkX3Rlc3RzID0gbG9hZF90ZXN0cworICAgICAgICBsb2FkZXIgPSB1bml0dGVzdC5UZXN0TG9hZGVyKCkKKyAgICAgICAgd2l0aCB3YXJuaW5ncy5jYXRjaF93YXJuaW5ncygpOgorICAgICAgICAgICAgd2FybmluZ3Muc2ltcGxlZmlsdGVyKCduZXZlcicpCisgICAgICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvcikgYXMgY206CisgICAgICAgICAgICAgICAgbG9hZGVyLmxvYWRUZXN0c0Zyb21Nb2R1bGUoCisgICAgICAgICAgICAgICAgICAgIG0sIHVzZV9sb2FkX3Rlc3RzPUZhbHNlLCB2ZXJ5X2JhZD1UcnVlLCB3b3JzZT1GYWxzZSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh0eXBlKGNtLmV4Y2VwdGlvbiksIFR5cGVFcnJvcikKKyAgICAgICAgIyBUaGUgZXJyb3IgbWVzc2FnZSBuYW1lcyB0aGUgZmlyc3QgYmFkIGFyZ3VtZW50IGFscGhhYmV0aWNhbGx5LAorICAgICAgICAjIGhvd2V2ZXIgdXNlX2xvYWRfdGVzdHMgKHdoaWNoIHNvcnRzIGZpcnN0KSBpcyBpZ25vcmVkLgorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKAorICAgICAgICAgICAgc3RyKGNtLmV4Y2VwdGlvbiksCisgICAgICAgICAgICAibG9hZFRlc3RzRnJvbU1vZHVsZSgpIGdvdCBhbiB1bmV4cGVjdGVkIGtleXdvcmQgYXJndW1lbnQgJ3ZlcnlfYmFkJyIpCisKKyAgICBkZWYgdGVzdF9sb2FkVGVzdHNGcm9tTW9kdWxlX19wYXR0ZXJuKHNlbGYpOgorICAgICAgICBtID0gdHlwZXMuTW9kdWxlVHlwZSgnbScpCisgICAgICAgIGNsYXNzIE15VGVzdENhc2UodW5pdHRlc3QuVGVzdENhc2UpOgorICAgICAgICAgICAgZGVmIHRlc3Qoc2VsZik6CisgICAgICAgICAgICAgICAgcGFzcworICAgICAgICBtLnRlc3RjYXNlXzEgPSBNeVRlc3RDYXNlCisKKyAgICAgICAgbG9hZF90ZXN0c19hcmdzID0gW10KKyAgICAgICAgZGVmIGxvYWRfdGVzdHMobG9hZGVyLCB0ZXN0cywgcGF0dGVybik6CisgICAgICAgICAgICBzZWxmLmFzc2VydElzSW5zdGFuY2UodGVzdHMsIHVuaXR0ZXN0LlRlc3RTdWl0ZSkKKyAgICAgICAgICAgIGxvYWRfdGVzdHNfYXJncy5leHRlbmQoKGxvYWRlciwgdGVzdHMsIHBhdHRlcm4pKQorICAgICAgICAgICAgcmV0dXJuIHRlc3RzCisgICAgICAgIG0ubG9hZF90ZXN0cyA9IGxvYWRfdGVzdHMKKworICAgICAgICBsb2FkZXIgPSB1bml0dGVzdC5UZXN0TG9hZGVyKCkKKyAgICAgICAgc3VpdGUgPSBsb2FkZXIubG9hZFRlc3RzRnJvbU1vZHVsZShtLCBwYXR0ZXJuPSd0ZXN0bWUuKicpCisgICAgICAgIHNlbGYuYXNzZXJ0SXNJbnN0YW5jZShzdWl0ZSwgdW5pdHRlc3QuVGVzdFN1aXRlKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxvYWRfdGVzdHNfYXJncywgW2xvYWRlciwgc3VpdGUsICd0ZXN0bWUuKiddKQogCiAgICAgZGVmIHRlc3RfbG9hZFRlc3RzRnJvbU1vZHVsZV9fZmF1bHR5X2xvYWRfdGVzdHMoc2VsZik6CiAgICAgICAgIG0gPSB0eXBlcy5Nb2R1bGVUeXBlKCdtJykKQEAgLTE4NCw2ICszNDMsMTMgQEAKICAgICAgICAgc3VpdGUgPSBsb2FkZXIubG9hZFRlc3RzRnJvbU1vZHVsZShtKQogICAgICAgICBzZWxmLmFzc2VydElzSW5zdGFuY2Uoc3VpdGUsIHVuaXR0ZXN0LlRlc3RTdWl0ZSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdWl0ZS5jb3VudFRlc3RDYXNlcygpLCAxKQorICAgICAgICAjIEVycm9ycyBsb2FkaW5nIHRoZSBzdWl0ZSBhcmUgYWxzbyBjYXB0dXJlZCBmb3IgaW50cm9zcGVjdGlvbi4KKyAgICAgICAgc2VsZi5hc3NlcnROb3RFcXVhbChbXSwgbG9hZGVyLmVycm9ycykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgxLCBsZW4obG9hZGVyLmVycm9ycykpCisgICAgICAgIGVycm9yID0gbG9hZGVyLmVycm9yc1swXQorICAgICAgICBzZWxmLmFzc2VydFRydWUoCisgICAgICAgICAgICAnRmFpbGVkIHRvIGNhbGwgbG9hZF90ZXN0czonIGluIGVycm9yLAorICAgICAgICAgICAgJ21pc3NpbmcgZXJyb3Igc3RyaW5nIGluICVyJyAlIGVycm9yKQogICAgICAgICB0ZXN0ID0gbGlzdChzdWl0ZSlbMF0KIAogICAgICAgICBzZWxmLmFzc2VydFJhaXNlc1JlZ2V4KFR5cGVFcnJvciwgInNvbWUgZmFpbHVyZSIsIHRlc3QubSkKQEAgLTIxOSwxNSArMzg1LDE1IEBACiAgICAgZGVmIHRlc3RfbG9hZFRlc3RzRnJvbU5hbWVfX21hbGZvcm1lZF9uYW1lKHNlbGYpOgogICAgICAgICBsb2FkZXIgPSB1bml0dGVzdC5UZXN0TG9hZGVyKCkKIAotICAgICAgICAjIFhYWCBTaG91bGQgdGhpcyByYWlzZSBWYWx1ZUVycm9yIG9yIEltcG9ydEVycm9yPwotICAgICAgICB0cnk6Ci0gICAgICAgICAgICBsb2FkZXIubG9hZFRlc3RzRnJvbU5hbWUoJ2FiYyAoKSAvLycpCi0gICAgICAgIGV4Y2VwdCBWYWx1ZUVycm9yOgotICAgICAgICAgICAgcGFzcwotICAgICAgICBleGNlcHQgSW1wb3J0RXJyb3I6Ci0gICAgICAgICAgICBwYXNzCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBzZWxmLmZhaWwoIlRlc3RMb2FkZXIubG9hZFRlc3RzRnJvbU5hbWUgZmFpbGVkIHRvIHJhaXNlIFZhbHVlRXJyb3IiKQorICAgICAgICBzdWl0ZSA9IGxvYWRlci5sb2FkVGVzdHNGcm9tTmFtZSgnYWJjICgpIC8vJykKKyAgICAgICAgZXJyb3IsIHRlc3QgPSBzZWxmLmNoZWNrX2RlZmVycmVkX2Vycm9yKGxvYWRlciwgc3VpdGUpCisgICAgICAgIGV4cGVjdGVkID0gIkZhaWxlZCB0byBpbXBvcnQgdGVzdCBtb2R1bGU6IGFiYyAoKSAvLyIKKyAgICAgICAgZXhwZWN0ZWRfcmVnZXggPSAiRmFpbGVkIHRvIGltcG9ydCB0ZXN0IG1vZHVsZTogYWJjIFwoXCkgLy8iCisgICAgICAgIHNlbGYuYXNzZXJ0SW4oCisgICAgICAgICAgICBleHBlY3RlZCwgZXJyb3IsCisgICAgICAgICAgICAnbWlzc2luZyBlcnJvciBzdHJpbmcgaW4gJXInICUgZXJyb3IpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgoCisgICAgICAgICAgICBJbXBvcnRFcnJvciwgZXhwZWN0ZWRfcmVnZXgsIGdldGF0dHIodGVzdCwgJ2FiYyAoKSAvLycpKQogCiAgICAgIyAiVGhlIHNwZWNpZmllciBuYW1lIGlzIGEgYGBkb3R0ZWQgbmFtZScnIHRoYXQgbWF5IHJlc29sdmUgLi4uIHRvIGEKICAgICAjIG1vZHVsZSIKQEAgLTIzNiwyOCArNDAyLDQ3IEBACiAgICAgZGVmIHRlc3RfbG9hZFRlc3RzRnJvbU5hbWVfX3Vua25vd25fbW9kdWxlX25hbWUoc2VsZik6CiAgICAgICAgIGxvYWRlciA9IHVuaXR0ZXN0LlRlc3RMb2FkZXIoKQogCi0gICAgICAgIHRyeToKLSAgICAgICAgICAgIGxvYWRlci5sb2FkVGVzdHNGcm9tTmFtZSgnc2Rhc2Zhc2Zhc2RmJykKLSAgICAgICAgZXhjZXB0IEltcG9ydEVycm9yIGFzIGU6Ci0gICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0cihlKSwgIk5vIG1vZHVsZSBuYW1lZCAnc2Rhc2Zhc2Zhc2RmJyIpCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBzZWxmLmZhaWwoIlRlc3RMb2FkZXIubG9hZFRlc3RzRnJvbU5hbWUgZmFpbGVkIHRvIHJhaXNlIEltcG9ydEVycm9yIikKKyAgICAgICAgc3VpdGUgPSBsb2FkZXIubG9hZFRlc3RzRnJvbU5hbWUoJ3NkYXNmYXNmYXNkZicpCisgICAgICAgIGV4cGVjdGVkID0gIk5vIG1vZHVsZSBuYW1lZCAnc2Rhc2Zhc2Zhc2RmJyIKKyAgICAgICAgZXJyb3IsIHRlc3QgPSBzZWxmLmNoZWNrX2RlZmVycmVkX2Vycm9yKGxvYWRlciwgc3VpdGUpCisgICAgICAgIHNlbGYuYXNzZXJ0SW4oCisgICAgICAgICAgICBleHBlY3RlZCwgZXJyb3IsCisgICAgICAgICAgICAnbWlzc2luZyBlcnJvciBzdHJpbmcgaW4gJXInICUgZXJyb3IpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgoSW1wb3J0RXJyb3IsIGV4cGVjdGVkLCB0ZXN0LnNkYXNmYXNmYXNkZikKIAogICAgICMgIlRoZSBzcGVjaWZpZXIgbmFtZSBpcyBhIGBgZG90dGVkIG5hbWUnJyB0aGF0IG1heSByZXNvbHZlIGVpdGhlciB0bwogICAgICMgYSBtb2R1bGUsIGEgdGVzdCBjYXNlIGNsYXNzLCBhIFRlc3RTdWl0ZSBpbnN0YW5jZSwgYSB0ZXN0IG1ldGhvZAogICAgICMgd2l0aGluIGEgdGVzdCBjYXNlIGNsYXNzLCBvciBhIGNhbGxhYmxlIG9iamVjdCB3aGljaCByZXR1cm5zIGEKICAgICAjIFRlc3RDYXNlIG9yIFRlc3RTdWl0ZSBpbnN0YW5jZS4iCiAgICAgIwotICAgICMgV2hhdCBoYXBwZW5zIHdoZW4gdGhlIG1vZHVsZSBpcyBmb3VuZCwgYnV0IHRoZSBhdHRyaWJ1dGUgY2FuJ3Q/Ci0gICAgZGVmIHRlc3RfbG9hZFRlc3RzRnJvbU5hbWVfX3Vua25vd25fYXR0cl9uYW1lKHNlbGYpOgorICAgICMgV2hhdCBoYXBwZW5zIHdoZW4gdGhlIG1vZHVsZSBpcyBmb3VuZCwgYnV0IHRoZSBhdHRyaWJ1dGUgaXNuJ3Q/CisgICAgZGVmIHRlc3RfbG9hZFRlc3RzRnJvbU5hbWVfX3Vua25vd25fYXR0cl9uYW1lX29uX21vZHVsZShzZWxmKToKICAgICAgICAgbG9hZGVyID0gdW5pdHRlc3QuVGVzdExvYWRlcigpCiAKLSAgICAgICAgdHJ5OgotICAgICAgICAgICAgbG9hZGVyLmxvYWRUZXN0c0Zyb21OYW1lKCd1bml0dGVzdC5zZGFzZmFzZmFzZGYnKQotICAgICAgICBleGNlcHQgQXR0cmlidXRlRXJyb3IgYXMgZToKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RyKGUpLCAiJ21vZHVsZScgb2JqZWN0IGhhcyBubyBhdHRyaWJ1dGUgJ3NkYXNmYXNmYXNkZiciKQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgc2VsZi5mYWlsKCJUZXN0TG9hZGVyLmxvYWRUZXN0c0Zyb21OYW1lIGZhaWxlZCB0byByYWlzZSBBdHRyaWJ1dGVFcnJvciIpCisgICAgICAgIHN1aXRlID0gbG9hZGVyLmxvYWRUZXN0c0Zyb21OYW1lKCd1bml0dGVzdC5sb2FkZXIuc2Rhc2Zhc2Zhc2RmJykKKyAgICAgICAgZXhwZWN0ZWQgPSAibW9kdWxlICd1bml0dGVzdC5sb2FkZXInIGhhcyBubyBhdHRyaWJ1dGUgJ3NkYXNmYXNmYXNkZiciCisgICAgICAgIGVycm9yLCB0ZXN0ID0gc2VsZi5jaGVja19kZWZlcnJlZF9lcnJvcihsb2FkZXIsIHN1aXRlKQorICAgICAgICBzZWxmLmFzc2VydEluKAorICAgICAgICAgICAgZXhwZWN0ZWQsIGVycm9yLAorICAgICAgICAgICAgJ21pc3NpbmcgZXJyb3Igc3RyaW5nIGluICVyJyAlIGVycm9yKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlc1JlZ2V4KEF0dHJpYnV0ZUVycm9yLCBleHBlY3RlZCwgdGVzdC5zZGFzZmFzZmFzZGYpCisKKyAgICAjICJUaGUgc3BlY2lmaWVyIG5hbWUgaXMgYSBgYGRvdHRlZCBuYW1lJycgdGhhdCBtYXkgcmVzb2x2ZSBlaXRoZXIgdG8KKyAgICAjIGEgbW9kdWxlLCBhIHRlc3QgY2FzZSBjbGFzcywgYSBUZXN0U3VpdGUgaW5zdGFuY2UsIGEgdGVzdCBtZXRob2QKKyAgICAjIHdpdGhpbiBhIHRlc3QgY2FzZSBjbGFzcywgb3IgYSBjYWxsYWJsZSBvYmplY3Qgd2hpY2ggcmV0dXJucyBhCisgICAgIyBUZXN0Q2FzZSBvciBUZXN0U3VpdGUgaW5zdGFuY2UuIgorICAgICMKKyAgICAjIFdoYXQgaGFwcGVucyB3aGVuIHRoZSBtb2R1bGUgaXMgZm91bmQsIGJ1dCB0aGUgYXR0cmlidXRlIGlzbid0PworICAgIGRlZiB0ZXN0X2xvYWRUZXN0c0Zyb21OYW1lX191bmtub3duX2F0dHJfbmFtZV9vbl9wYWNrYWdlKHNlbGYpOgorICAgICAgICBsb2FkZXIgPSB1bml0dGVzdC5UZXN0TG9hZGVyKCkKKworICAgICAgICBzdWl0ZSA9IGxvYWRlci5sb2FkVGVzdHNGcm9tTmFtZSgndW5pdHRlc3Quc2Rhc2Zhc2Zhc2RmJykKKyAgICAgICAgZXhwZWN0ZWQgPSAiTm8gbW9kdWxlIG5hbWVkICd1bml0dGVzdC5zZGFzZmFzZmFzZGYnIgorICAgICAgICBlcnJvciwgdGVzdCA9IHNlbGYuY2hlY2tfZGVmZXJyZWRfZXJyb3IobG9hZGVyLCBzdWl0ZSkKKyAgICAgICAgc2VsZi5hc3NlcnRJbigKKyAgICAgICAgICAgIGV4cGVjdGVkLCBlcnJvciwKKyAgICAgICAgICAgICdtaXNzaW5nIGVycm9yIHN0cmluZyBpbiAlcicgJSBlcnJvcikKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXNSZWdleChJbXBvcnRFcnJvciwgZXhwZWN0ZWQsIHRlc3Quc2Rhc2Zhc2Zhc2RmKQogCiAgICAgIyAiVGhlIHNwZWNpZmllciBuYW1lIGlzIGEgYGBkb3R0ZWQgbmFtZScnIHRoYXQgbWF5IHJlc29sdmUgZWl0aGVyIHRvCiAgICAgIyBhIG1vZHVsZSwgYSB0ZXN0IGNhc2UgY2xhc3MsIGEgVGVzdFN1aXRlIGluc3RhbmNlLCBhIHRlc3QgbWV0aG9kCkBAIC0yNjksMTIgKzQ1NCwxMyBAQAogICAgIGRlZiB0ZXN0X2xvYWRUZXN0c0Zyb21OYW1lX19yZWxhdGl2ZV91bmtub3duX25hbWUoc2VsZik6CiAgICAgICAgIGxvYWRlciA9IHVuaXR0ZXN0LlRlc3RMb2FkZXIoKQogCi0gICAgICAgIHRyeToKLSAgICAgICAgICAgIGxvYWRlci5sb2FkVGVzdHNGcm9tTmFtZSgnc2Rhc2Zhc2Zhc2RmJywgdW5pdHRlc3QpCi0gICAgICAgIGV4Y2VwdCBBdHRyaWJ1dGVFcnJvciBhcyBlOgotICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdHIoZSksICInbW9kdWxlJyBvYmplY3QgaGFzIG5vIGF0dHJpYnV0ZSAnc2Rhc2Zhc2Zhc2RmJyIpCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBzZWxmLmZhaWwoIlRlc3RMb2FkZXIubG9hZFRlc3RzRnJvbU5hbWUgZmFpbGVkIHRvIHJhaXNlIEF0dHJpYnV0ZUVycm9yIikKKyAgICAgICAgc3VpdGUgPSBsb2FkZXIubG9hZFRlc3RzRnJvbU5hbWUoJ3NkYXNmYXNmYXNkZicsIHVuaXR0ZXN0KQorICAgICAgICBleHBlY3RlZCA9ICJtb2R1bGUgJ3VuaXR0ZXN0JyBoYXMgbm8gYXR0cmlidXRlICdzZGFzZmFzZmFzZGYnIgorICAgICAgICBlcnJvciwgdGVzdCA9IHNlbGYuY2hlY2tfZGVmZXJyZWRfZXJyb3IobG9hZGVyLCBzdWl0ZSkKKyAgICAgICAgc2VsZi5hc3NlcnRJbigKKyAgICAgICAgICAgIGV4cGVjdGVkLCBlcnJvciwKKyAgICAgICAgICAgICdtaXNzaW5nIGVycm9yIHN0cmluZyBpbiAlcicgJSBlcnJvcikKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXNSZWdleChBdHRyaWJ1dGVFcnJvciwgZXhwZWN0ZWQsIHRlc3Quc2Rhc2Zhc2Zhc2RmKQogCiAgICAgIyAiVGhlIHNwZWNpZmllciBuYW1lIGlzIGEgYGBkb3R0ZWQgbmFtZScnIHRoYXQgbWF5IHJlc29sdmUgZWl0aGVyIHRvCiAgICAgIyBhIG1vZHVsZSwgYSB0ZXN0IGNhc2UgY2xhc3MsIGEgVGVzdFN1aXRlIGluc3RhbmNlLCBhIHRlc3QgbWV0aG9kCkBAIC0yOTAsMTIgKzQ3NiwxMyBAQAogICAgIGRlZiB0ZXN0X2xvYWRUZXN0c0Zyb21OYW1lX19yZWxhdGl2ZV9lbXB0eV9uYW1lKHNlbGYpOgogICAgICAgICBsb2FkZXIgPSB1bml0dGVzdC5UZXN0TG9hZGVyKCkKIAotICAgICAgICB0cnk6Ci0gICAgICAgICAgICBsb2FkZXIubG9hZFRlc3RzRnJvbU5hbWUoJycsIHVuaXR0ZXN0KQotICAgICAgICBleGNlcHQgQXR0cmlidXRlRXJyb3IgYXMgZToKLSAgICAgICAgICAgIHBhc3MKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHNlbGYuZmFpbCgiRmFpbGVkIHRvIHJhaXNlIEF0dHJpYnV0ZUVycm9yIikKKyAgICAgICAgc3VpdGUgPSBsb2FkZXIubG9hZFRlc3RzRnJvbU5hbWUoJycsIHVuaXR0ZXN0KQorICAgICAgICBlcnJvciwgdGVzdCA9IHNlbGYuY2hlY2tfZGVmZXJyZWRfZXJyb3IobG9hZGVyLCBzdWl0ZSkKKyAgICAgICAgZXhwZWN0ZWQgPSAiaGFzIG5vIGF0dHJpYnV0ZSAnJyIKKyAgICAgICAgc2VsZi5hc3NlcnRJbigKKyAgICAgICAgICAgIGV4cGVjdGVkLCBlcnJvciwKKyAgICAgICAgICAgICdtaXNzaW5nIGVycm9yIHN0cmluZyBpbiAlcicgJSBlcnJvcikKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXNSZWdleChBdHRyaWJ1dGVFcnJvciwgZXhwZWN0ZWQsIGdldGF0dHIodGVzdCwgJycpKQogCiAgICAgIyAiVGhlIHNwZWNpZmllciBuYW1lIGlzIGEgYGBkb3R0ZWQgbmFtZScnIHRoYXQgbWF5IHJlc29sdmUgZWl0aGVyIHRvCiAgICAgIyBhIG1vZHVsZSwgYSB0ZXN0IGNhc2UgY2xhc3MsIGEgVGVzdFN1aXRlIGluc3RhbmNlLCBhIHRlc3QgbWV0aG9kCkBAIC0zMTAsMTQgKzQ5NywxNSBAQAogICAgICAgICBsb2FkZXIgPSB1bml0dGVzdC5UZXN0TG9hZGVyKCkKIAogICAgICAgICAjIFhYWCBTaG91bGQgdGhpcyByYWlzZSBBdHRyaWJ1dGVFcnJvciBvciBWYWx1ZUVycm9yPwotICAgICAgICB0cnk6Ci0gICAgICAgICAgICBsb2FkZXIubG9hZFRlc3RzRnJvbU5hbWUoJ2FiYyAoKSAvLycsIHVuaXR0ZXN0KQotICAgICAgICBleGNlcHQgVmFsdWVFcnJvcjoKLSAgICAgICAgICAgIHBhc3MKLSAgICAgICAgZXhjZXB0IEF0dHJpYnV0ZUVycm9yOgotICAgICAgICAgICAgcGFzcwotICAgICAgICBlbHNlOgotICAgICAgICAgICAgc2VsZi5mYWlsKCJUZXN0TG9hZGVyLmxvYWRUZXN0c0Zyb21OYW1lIGZhaWxlZCB0byByYWlzZSBWYWx1ZUVycm9yIikKKyAgICAgICAgc3VpdGUgPSBsb2FkZXIubG9hZFRlc3RzRnJvbU5hbWUoJ2FiYyAoKSAvLycsIHVuaXR0ZXN0KQorICAgICAgICBlcnJvciwgdGVzdCA9IHNlbGYuY2hlY2tfZGVmZXJyZWRfZXJyb3IobG9hZGVyLCBzdWl0ZSkKKyAgICAgICAgZXhwZWN0ZWQgPSAibW9kdWxlICd1bml0dGVzdCcgaGFzIG5vIGF0dHJpYnV0ZSAnYWJjICgpIC8vJyIKKyAgICAgICAgZXhwZWN0ZWRfcmVnZXggPSAibW9kdWxlICd1bml0dGVzdCcgaGFzIG5vIGF0dHJpYnV0ZSAnYWJjIFwoXCkgLy8nIgorICAgICAgICBzZWxmLmFzc2VydEluKAorICAgICAgICAgICAgZXhwZWN0ZWQsIGVycm9yLAorICAgICAgICAgICAgJ21pc3NpbmcgZXJyb3Igc3RyaW5nIGluICVyJyAlIGVycm9yKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlc1JlZ2V4KAorICAgICAgICAgICAgQXR0cmlidXRlRXJyb3IsIGV4cGVjdGVkX3JlZ2V4LCBnZXRhdHRyKHRlc3QsICdhYmMgKCkgLy8nKSkKIAogICAgICMgIlRoZSBtZXRob2Qgb3B0aW9uYWxseSByZXNvbHZlcyBuYW1lIHJlbGF0aXZlIHRvIHRoZSBnaXZlbiBtb2R1bGUiCiAgICAgIwpAQCAtNDIzLDEyICs2MTEsMTMgQEAKICAgICAgICAgbS50ZXN0Y2FzZV8xID0gTXlUZXN0Q2FzZQogCiAgICAgICAgIGxvYWRlciA9IHVuaXR0ZXN0LlRlc3RMb2FkZXIoKQotICAgICAgICB0cnk6Ci0gICAgICAgICAgICBsb2FkZXIubG9hZFRlc3RzRnJvbU5hbWUoJ3Rlc3RjYXNlXzEudGVzdGZvbycsIG0pCi0gICAgICAgIGV4Y2VwdCBBdHRyaWJ1dGVFcnJvciBhcyBlOgotICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdHIoZSksICJ0eXBlIG9iamVjdCAnTXlUZXN0Q2FzZScgaGFzIG5vIGF0dHJpYnV0ZSAndGVzdGZvbyciKQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgc2VsZi5mYWlsKCJGYWlsZWQgdG8gcmFpc2UgQXR0cmlidXRlRXJyb3IiKQorICAgICAgICBzdWl0ZSA9IGxvYWRlci5sb2FkVGVzdHNGcm9tTmFtZSgndGVzdGNhc2VfMS50ZXN0Zm9vJywgbSkKKyAgICAgICAgZXhwZWN0ZWQgPSAidHlwZSBvYmplY3QgJ015VGVzdENhc2UnIGhhcyBubyBhdHRyaWJ1dGUgJ3Rlc3Rmb28nIgorICAgICAgICBlcnJvciwgdGVzdCA9IHNlbGYuY2hlY2tfZGVmZXJyZWRfZXJyb3IobG9hZGVyLCBzdWl0ZSkKKyAgICAgICAgc2VsZi5hc3NlcnRJbigKKyAgICAgICAgICAgIGV4cGVjdGVkLCBlcnJvciwKKyAgICAgICAgICAgICdtaXNzaW5nIGVycm9yIHN0cmluZyBpbiAlcicgJSBlcnJvcikKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXNSZWdleChBdHRyaWJ1dGVFcnJvciwgZXhwZWN0ZWQsIHRlc3QudGVzdGZvbykKIAogICAgICMgIlRoZSBzcGVjaWZpZXIgbmFtZSBpcyBhIGBgZG90dGVkIG5hbWUnJyB0aGF0IG1heSByZXNvbHZlIC4uLiB0bwogICAgICMgLi4uIGEgY2FsbGFibGUgb2JqZWN0IHdoaWNoIHJldHVybnMgYSAuLi4gVGVzdFN1aXRlIGluc3RhbmNlIgpAQCAtNTQ2LDYgKzczNSwyMyBAQAogICAgICMjIyBUZXN0cyBmb3IgVGVzdExvYWRlci5sb2FkVGVzdHNGcm9tTmFtZXMoKQogICAgICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIAorICAgIGRlZiBjaGVja19kZWZlcnJlZF9lcnJvcihzZWxmLCBsb2FkZXIsIHN1aXRlKToKKyAgICAgICAgIiIiSGVscGVyIGZ1bmN0aW9uIGZvciBjaGVja2luZyB0aGF0IGVycm9ycyBpbiBsb2FkaW5nIGFyZSByZXBvcnRlZC4KKworICAgICAgICA6cGFyYW0gbG9hZGVyOiBBIGxvYWRlciB3aXRoIHNvbWUgZXJyb3JzLgorICAgICAgICA6cGFyYW0gc3VpdGU6IEEgc3VpdGUgdGhhdCBzaG91bGQgaGF2ZSBhIGxhdGUgYm91bmQgZXJyb3IuCisgICAgICAgIDpyZXR1cm46IFRoZSBmaXJzdCBlcnJvciBtZXNzYWdlIGZyb20gdGhlIGxvYWRlciBhbmQgdGhlIHRlc3Qgb2JqZWN0CisgICAgICAgICAgICBmcm9tIHRoZSBzdWl0ZS4KKyAgICAgICAgIiIiCisgICAgICAgIHNlbGYuYXNzZXJ0SXNJbnN0YW5jZShzdWl0ZSwgdW5pdHRlc3QuVGVzdFN1aXRlKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN1aXRlLmNvdW50VGVzdENhc2VzKCksIDEpCisgICAgICAgICMgRXJyb3JzIGxvYWRpbmcgdGhlIHN1aXRlIGFyZSBhbHNvIGNhcHR1cmVkIGZvciBpbnRyb3NwZWN0aW9uLgorICAgICAgICBzZWxmLmFzc2VydE5vdEVxdWFsKFtdLCBsb2FkZXIuZXJyb3JzKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKDEsIGxlbihsb2FkZXIuZXJyb3JzKSkKKyAgICAgICAgZXJyb3IgPSBsb2FkZXIuZXJyb3JzWzBdCisgICAgICAgIHRlc3QgPSBsaXN0KHN1aXRlKVswXQorICAgICAgICByZXR1cm4gZXJyb3IsIHRlc3QKKwogICAgICMgIlNpbWlsYXIgdG8gbG9hZFRlc3RzRnJvbU5hbWUoKSwgYnV0IHRha2VzIGEgc2VxdWVuY2Ugb2YgbmFtZXMgcmF0aGVyCiAgICAgIyB0aGFuIGEgc2luZ2xlIG5hbWUuIgogICAgICMKQEAgLTU5OCwxNCArODA0LDE1IEBACiAgICAgICAgIGxvYWRlciA9IHVuaXR0ZXN0LlRlc3RMb2FkZXIoKQogCiAgICAgICAgICMgWFhYIFNob3VsZCB0aGlzIHJhaXNlIFZhbHVlRXJyb3Igb3IgSW1wb3J0RXJyb3I/Ci0gICAgICAgIHRyeToKLSAgICAgICAgICAgIGxvYWRlci5sb2FkVGVzdHNGcm9tTmFtZXMoWydhYmMgKCkgLy8nXSkKLSAgICAgICAgZXhjZXB0IFZhbHVlRXJyb3I6Ci0gICAgICAgICAgICBwYXNzCi0gICAgICAgIGV4Y2VwdCBJbXBvcnRFcnJvcjoKLSAgICAgICAgICAgIHBhc3MKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHNlbGYuZmFpbCgiVGVzdExvYWRlci5sb2FkVGVzdHNGcm9tTmFtZXMgZmFpbGVkIHRvIHJhaXNlIFZhbHVlRXJyb3IiKQorICAgICAgICBzdWl0ZSA9IGxvYWRlci5sb2FkVGVzdHNGcm9tTmFtZXMoWydhYmMgKCkgLy8nXSkKKyAgICAgICAgZXJyb3IsIHRlc3QgPSBzZWxmLmNoZWNrX2RlZmVycmVkX2Vycm9yKGxvYWRlciwgbGlzdChzdWl0ZSlbMF0pCisgICAgICAgIGV4cGVjdGVkID0gIkZhaWxlZCB0byBpbXBvcnQgdGVzdCBtb2R1bGU6IGFiYyAoKSAvLyIKKyAgICAgICAgZXhwZWN0ZWRfcmVnZXggPSAiRmFpbGVkIHRvIGltcG9ydCB0ZXN0IG1vZHVsZTogYWJjIFwoXCkgLy8iCisgICAgICAgIHNlbGYuYXNzZXJ0SW4oCisgICAgICAgICAgICBleHBlY3RlZCwgIGVycm9yLAorICAgICAgICAgICAgJ21pc3NpbmcgZXJyb3Igc3RyaW5nIGluICVyJyAlIGVycm9yKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlc1JlZ2V4KAorICAgICAgICAgICAgSW1wb3J0RXJyb3IsIGV4cGVjdGVkX3JlZ2V4LCBnZXRhdHRyKHRlc3QsICdhYmMgKCkgLy8nKSkKIAogICAgICMgIlRoZSBzcGVjaWZpZXIgbmFtZSBpcyBhIGBgZG90dGVkIG5hbWUnJyB0aGF0IG1heSByZXNvbHZlIGVpdGhlciB0bwogICAgICMgYSBtb2R1bGUsIGEgdGVzdCBjYXNlIGNsYXNzLCBhIFRlc3RTdWl0ZSBpbnN0YW5jZSwgYSB0ZXN0IG1ldGhvZApAQCAtNjE2LDEyICs4MjMsMTMgQEAKICAgICBkZWYgdGVzdF9sb2FkVGVzdHNGcm9tTmFtZXNfX3Vua25vd25fbW9kdWxlX25hbWUoc2VsZik6CiAgICAgICAgIGxvYWRlciA9IHVuaXR0ZXN0LlRlc3RMb2FkZXIoKQogCi0gICAgICAgIHRyeToKLSAgICAgICAgICAgIGxvYWRlci5sb2FkVGVzdHNGcm9tTmFtZXMoWydzZGFzZmFzZmFzZGYnXSkKLSAgICAgICAgZXhjZXB0IEltcG9ydEVycm9yIGFzIGU6Ci0gICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0cihlKSwgIk5vIG1vZHVsZSBuYW1lZCAnc2Rhc2Zhc2Zhc2RmJyIpCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBzZWxmLmZhaWwoIlRlc3RMb2FkZXIubG9hZFRlc3RzRnJvbU5hbWVzIGZhaWxlZCB0byByYWlzZSBJbXBvcnRFcnJvciIpCisgICAgICAgIHN1aXRlID0gbG9hZGVyLmxvYWRUZXN0c0Zyb21OYW1lcyhbJ3NkYXNmYXNmYXNkZiddKQorICAgICAgICBlcnJvciwgdGVzdCA9IHNlbGYuY2hlY2tfZGVmZXJyZWRfZXJyb3IobG9hZGVyLCBsaXN0KHN1aXRlKVswXSkKKyAgICAgICAgZXhwZWN0ZWQgPSAiRmFpbGVkIHRvIGltcG9ydCB0ZXN0IG1vZHVsZTogc2Rhc2Zhc2Zhc2RmIgorICAgICAgICBzZWxmLmFzc2VydEluKAorICAgICAgICAgICAgZXhwZWN0ZWQsIGVycm9yLAorICAgICAgICAgICAgJ21pc3NpbmcgZXJyb3Igc3RyaW5nIGluICVyJyAlIGVycm9yKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlc1JlZ2V4KEltcG9ydEVycm9yLCBleHBlY3RlZCwgdGVzdC5zZGFzZmFzZmFzZGYpCiAKICAgICAjICJUaGUgc3BlY2lmaWVyIG5hbWUgaXMgYSBgYGRvdHRlZCBuYW1lJycgdGhhdCBtYXkgcmVzb2x2ZSBlaXRoZXIgdG8KICAgICAjIGEgbW9kdWxlLCBhIHRlc3QgY2FzZSBjbGFzcywgYSBUZXN0U3VpdGUgaW5zdGFuY2UsIGEgdGVzdCBtZXRob2QKQEAgLTYzMiwxMiArODQwLDE0IEBACiAgICAgZGVmIHRlc3RfbG9hZFRlc3RzRnJvbU5hbWVzX191bmtub3duX2F0dHJfbmFtZShzZWxmKToKICAgICAgICAgbG9hZGVyID0gdW5pdHRlc3QuVGVzdExvYWRlcigpCiAKLSAgICAgICAgdHJ5OgotICAgICAgICAgICAgbG9hZGVyLmxvYWRUZXN0c0Zyb21OYW1lcyhbJ3VuaXR0ZXN0LnNkYXNmYXNmYXNkZicsICd1bml0dGVzdCddKQotICAgICAgICBleGNlcHQgQXR0cmlidXRlRXJyb3IgYXMgZToKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RyKGUpLCAiJ21vZHVsZScgb2JqZWN0IGhhcyBubyBhdHRyaWJ1dGUgJ3NkYXNmYXNmYXNkZiciKQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgc2VsZi5mYWlsKCJUZXN0TG9hZGVyLmxvYWRUZXN0c0Zyb21OYW1lcyBmYWlsZWQgdG8gcmFpc2UgQXR0cmlidXRlRXJyb3IiKQorICAgICAgICBzdWl0ZSA9IGxvYWRlci5sb2FkVGVzdHNGcm9tTmFtZXMoCisgICAgICAgICAgICBbJ3VuaXR0ZXN0LmxvYWRlci5zZGFzZmFzZmFzZGYnLCAndW5pdHRlc3QudGVzdC5kdW1teSddKQorICAgICAgICBlcnJvciwgdGVzdCA9IHNlbGYuY2hlY2tfZGVmZXJyZWRfZXJyb3IobG9hZGVyLCBsaXN0KHN1aXRlKVswXSkKKyAgICAgICAgZXhwZWN0ZWQgPSAibW9kdWxlICd1bml0dGVzdC5sb2FkZXInIGhhcyBubyBhdHRyaWJ1dGUgJ3NkYXNmYXNmYXNkZiciCisgICAgICAgIHNlbGYuYXNzZXJ0SW4oCisgICAgICAgICAgICBleHBlY3RlZCwgZXJyb3IsCisgICAgICAgICAgICAnbWlzc2luZyBlcnJvciBzdHJpbmcgaW4gJXInICUgZXJyb3IpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgoQXR0cmlidXRlRXJyb3IsIGV4cGVjdGVkLCB0ZXN0LnNkYXNmYXNmYXNkZikKIAogICAgICMgIlRoZSBzcGVjaWZpZXIgbmFtZSBpcyBhIGBgZG90dGVkIG5hbWUnJyB0aGF0IG1heSByZXNvbHZlIGVpdGhlciB0bwogICAgICMgYSBtb2R1bGUsIGEgdGVzdCBjYXNlIGNsYXNzLCBhIFRlc3RTdWl0ZSBpbnN0YW5jZSwgYSB0ZXN0IG1ldGhvZApAQCAtNjUxLDEyICs4NjEsMTMgQEAKICAgICBkZWYgdGVzdF9sb2FkVGVzdHNGcm9tTmFtZXNfX3Vua25vd25fbmFtZV9yZWxhdGl2ZV8xKHNlbGYpOgogICAgICAgICBsb2FkZXIgPSB1bml0dGVzdC5UZXN0TG9hZGVyKCkKIAotICAgICAgICB0cnk6Ci0gICAgICAgICAgICBsb2FkZXIubG9hZFRlc3RzRnJvbU5hbWVzKFsnc2Rhc2Zhc2Zhc2RmJ10sIHVuaXR0ZXN0KQotICAgICAgICBleGNlcHQgQXR0cmlidXRlRXJyb3IgYXMgZToKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RyKGUpLCAiJ21vZHVsZScgb2JqZWN0IGhhcyBubyBhdHRyaWJ1dGUgJ3NkYXNmYXNmYXNkZiciKQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgc2VsZi5mYWlsKCJUZXN0TG9hZGVyLmxvYWRUZXN0c0Zyb21OYW1lIGZhaWxlZCB0byByYWlzZSBBdHRyaWJ1dGVFcnJvciIpCisgICAgICAgIHN1aXRlID0gbG9hZGVyLmxvYWRUZXN0c0Zyb21OYW1lcyhbJ3NkYXNmYXNmYXNkZiddLCB1bml0dGVzdCkKKyAgICAgICAgZXJyb3IsIHRlc3QgPSBzZWxmLmNoZWNrX2RlZmVycmVkX2Vycm9yKGxvYWRlciwgbGlzdChzdWl0ZSlbMF0pCisgICAgICAgIGV4cGVjdGVkID0gIm1vZHVsZSAndW5pdHRlc3QnIGhhcyBubyBhdHRyaWJ1dGUgJ3NkYXNmYXNmYXNkZiciCisgICAgICAgIHNlbGYuYXNzZXJ0SW4oCisgICAgICAgICAgICBleHBlY3RlZCwgZXJyb3IsCisgICAgICAgICAgICAnbWlzc2luZyBlcnJvciBzdHJpbmcgaW4gJXInICUgZXJyb3IpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgoQXR0cmlidXRlRXJyb3IsIGV4cGVjdGVkLCB0ZXN0LnNkYXNmYXNmYXNkZikKIAogICAgICMgIlRoZSBzcGVjaWZpZXIgbmFtZSBpcyBhIGBgZG90dGVkIG5hbWUnJyB0aGF0IG1heSByZXNvbHZlIGVpdGhlciB0bwogICAgICMgYSBtb2R1bGUsIGEgdGVzdCBjYXNlIGNsYXNzLCBhIFRlc3RTdWl0ZSBpbnN0YW5jZSwgYSB0ZXN0IG1ldGhvZApAQCAtNjcwLDEyICs4ODEsMTMgQEAKICAgICBkZWYgdGVzdF9sb2FkVGVzdHNGcm9tTmFtZXNfX3Vua25vd25fbmFtZV9yZWxhdGl2ZV8yKHNlbGYpOgogICAgICAgICBsb2FkZXIgPSB1bml0dGVzdC5UZXN0TG9hZGVyKCkKIAotICAgICAgICB0cnk6Ci0gICAgICAgICAgICBsb2FkZXIubG9hZFRlc3RzRnJvbU5hbWVzKFsnVGVzdENhc2UnLCAnc2Rhc2Zhc2Zhc2RmJ10sIHVuaXR0ZXN0KQotICAgICAgICBleGNlcHQgQXR0cmlidXRlRXJyb3IgYXMgZToKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RyKGUpLCAiJ21vZHVsZScgb2JqZWN0IGhhcyBubyBhdHRyaWJ1dGUgJ3NkYXNmYXNmYXNkZiciKQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgc2VsZi5mYWlsKCJUZXN0TG9hZGVyLmxvYWRUZXN0c0Zyb21OYW1lIGZhaWxlZCB0byByYWlzZSBBdHRyaWJ1dGVFcnJvciIpCisgICAgICAgIHN1aXRlID0gbG9hZGVyLmxvYWRUZXN0c0Zyb21OYW1lcyhbJ1Rlc3RDYXNlJywgJ3NkYXNmYXNmYXNkZiddLCB1bml0dGVzdCkKKyAgICAgICAgZXJyb3IsIHRlc3QgPSBzZWxmLmNoZWNrX2RlZmVycmVkX2Vycm9yKGxvYWRlciwgbGlzdChzdWl0ZSlbMV0pCisgICAgICAgIGV4cGVjdGVkID0gIm1vZHVsZSAndW5pdHRlc3QnIGhhcyBubyBhdHRyaWJ1dGUgJ3NkYXNmYXNmYXNkZiciCisgICAgICAgIHNlbGYuYXNzZXJ0SW4oCisgICAgICAgICAgICBleHBlY3RlZCwgZXJyb3IsCisgICAgICAgICAgICAnbWlzc2luZyBlcnJvciBzdHJpbmcgaW4gJXInICUgZXJyb3IpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgoQXR0cmlidXRlRXJyb3IsIGV4cGVjdGVkLCB0ZXN0LnNkYXNmYXNmYXNkZikKIAogICAgICMgIlRoZSBzcGVjaWZpZXIgbmFtZSBpcyBhIGBgZG90dGVkIG5hbWUnJyB0aGF0IG1heSByZXNvbHZlIGVpdGhlciB0bwogICAgICMgYSBtb2R1bGUsIGEgdGVzdCBjYXNlIGNsYXNzLCBhIFRlc3RTdWl0ZSBpbnN0YW5jZSwgYSB0ZXN0IG1ldGhvZApAQCAtNjkxLDEyICs5MDMsMTMgQEAKICAgICBkZWYgdGVzdF9sb2FkVGVzdHNGcm9tTmFtZXNfX3JlbGF0aXZlX2VtcHR5X25hbWUoc2VsZik6CiAgICAgICAgIGxvYWRlciA9IHVuaXR0ZXN0LlRlc3RMb2FkZXIoKQogCi0gICAgICAgIHRyeToKLSAgICAgICAgICAgIGxvYWRlci5sb2FkVGVzdHNGcm9tTmFtZXMoWycnXSwgdW5pdHRlc3QpCi0gICAgICAgIGV4Y2VwdCBBdHRyaWJ1dGVFcnJvcjoKLSAgICAgICAgICAgIHBhc3MKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHNlbGYuZmFpbCgiRmFpbGVkIHRvIHJhaXNlIFZhbHVlRXJyb3IiKQorICAgICAgICBzdWl0ZSA9IGxvYWRlci5sb2FkVGVzdHNGcm9tTmFtZXMoWycnXSwgdW5pdHRlc3QpCisgICAgICAgIGVycm9yLCB0ZXN0ID0gc2VsZi5jaGVja19kZWZlcnJlZF9lcnJvcihsb2FkZXIsIGxpc3Qoc3VpdGUpWzBdKQorICAgICAgICBleHBlY3RlZCA9ICJoYXMgbm8gYXR0cmlidXRlICcnIgorICAgICAgICBzZWxmLmFzc2VydEluKAorICAgICAgICAgICAgZXhwZWN0ZWQsIGVycm9yLAorICAgICAgICAgICAgJ21pc3NpbmcgZXJyb3Igc3RyaW5nIGluICVyJyAlIGVycm9yKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlc1JlZ2V4KEF0dHJpYnV0ZUVycm9yLCBleHBlY3RlZCwgZ2V0YXR0cih0ZXN0LCAnJykpCiAKICAgICAjICJUaGUgc3BlY2lmaWVyIG5hbWUgaXMgYSBgYGRvdHRlZCBuYW1lJycgdGhhdCBtYXkgcmVzb2x2ZSBlaXRoZXIgdG8KICAgICAjIGEgbW9kdWxlLCBhIHRlc3QgY2FzZSBjbGFzcywgYSBUZXN0U3VpdGUgaW5zdGFuY2UsIGEgdGVzdCBtZXRob2QKQEAgLTcxMCwxNCArOTIzLDE1IEBACiAgICAgICAgIGxvYWRlciA9IHVuaXR0ZXN0LlRlc3RMb2FkZXIoKQogCiAgICAgICAgICMgWFhYIFNob3VsZCB0aGlzIHJhaXNlIEF0dHJpYnV0ZUVycm9yIG9yIFZhbHVlRXJyb3I/Ci0gICAgICAgIHRyeToKLSAgICAgICAgICAgIGxvYWRlci5sb2FkVGVzdHNGcm9tTmFtZXMoWydhYmMgKCkgLy8nXSwgdW5pdHRlc3QpCi0gICAgICAgIGV4Y2VwdCBBdHRyaWJ1dGVFcnJvcjoKLSAgICAgICAgICAgIHBhc3MKLSAgICAgICAgZXhjZXB0IFZhbHVlRXJyb3I6Ci0gICAgICAgICAgICBwYXNzCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBzZWxmLmZhaWwoIlRlc3RMb2FkZXIubG9hZFRlc3RzRnJvbU5hbWVzIGZhaWxlZCB0byByYWlzZSBWYWx1ZUVycm9yIikKKyAgICAgICAgc3VpdGUgPSBsb2FkZXIubG9hZFRlc3RzRnJvbU5hbWVzKFsnYWJjICgpIC8vJ10sIHVuaXR0ZXN0KQorICAgICAgICBlcnJvciwgdGVzdCA9IHNlbGYuY2hlY2tfZGVmZXJyZWRfZXJyb3IobG9hZGVyLCBsaXN0KHN1aXRlKVswXSkKKyAgICAgICAgZXhwZWN0ZWQgPSAibW9kdWxlICd1bml0dGVzdCcgaGFzIG5vIGF0dHJpYnV0ZSAnYWJjICgpIC8vJyIKKyAgICAgICAgZXhwZWN0ZWRfcmVnZXggPSAibW9kdWxlICd1bml0dGVzdCcgaGFzIG5vIGF0dHJpYnV0ZSAnYWJjIFwoXCkgLy8nIgorICAgICAgICBzZWxmLmFzc2VydEluKAorICAgICAgICAgICAgZXhwZWN0ZWQsIGVycm9yLAorICAgICAgICAgICAgJ21pc3NpbmcgZXJyb3Igc3RyaW5nIGluICVyJyAlIGVycm9yKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlc1JlZ2V4KAorICAgICAgICAgICAgQXR0cmlidXRlRXJyb3IsIGV4cGVjdGVkX3JlZ2V4LCBnZXRhdHRyKHRlc3QsICdhYmMgKCkgLy8nKSkKIAogICAgICMgIlRoZSBtZXRob2Qgb3B0aW9uYWxseSByZXNvbHZlcyBuYW1lIHJlbGF0aXZlIHRvIHRoZSBnaXZlbiBtb2R1bGUiCiAgICAgIwpAQCAtODM1LDEyICsxMDQ5LDEzIEBACiAgICAgICAgIG0udGVzdGNhc2VfMSA9IE15VGVzdENhc2UKIAogICAgICAgICBsb2FkZXIgPSB1bml0dGVzdC5UZXN0TG9hZGVyKCkKLSAgICAgICAgdHJ5OgotICAgICAgICAgICAgbG9hZGVyLmxvYWRUZXN0c0Zyb21OYW1lcyhbJ3Rlc3RjYXNlXzEudGVzdGZvbyddLCBtKQotICAgICAgICBleGNlcHQgQXR0cmlidXRlRXJyb3IgYXMgZToKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RyKGUpLCAidHlwZSBvYmplY3QgJ015VGVzdENhc2UnIGhhcyBubyBhdHRyaWJ1dGUgJ3Rlc3Rmb28nIikKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHNlbGYuZmFpbCgiRmFpbGVkIHRvIHJhaXNlIEF0dHJpYnV0ZUVycm9yIikKKyAgICAgICAgc3VpdGUgPSBsb2FkZXIubG9hZFRlc3RzRnJvbU5hbWVzKFsndGVzdGNhc2VfMS50ZXN0Zm9vJ10sIG0pCisgICAgICAgIGVycm9yLCB0ZXN0ID0gc2VsZi5jaGVja19kZWZlcnJlZF9lcnJvcihsb2FkZXIsIGxpc3Qoc3VpdGUpWzBdKQorICAgICAgICBleHBlY3RlZCA9ICJ0eXBlIG9iamVjdCAnTXlUZXN0Q2FzZScgaGFzIG5vIGF0dHJpYnV0ZSAndGVzdGZvbyciCisgICAgICAgIHNlbGYuYXNzZXJ0SW4oCisgICAgICAgICAgICBleHBlY3RlZCwgZXJyb3IsCisgICAgICAgICAgICAnbWlzc2luZyBlcnJvciBzdHJpbmcgaW4gJXInICUgZXJyb3IpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgoQXR0cmlidXRlRXJyb3IsIGV4cGVjdGVkLCB0ZXN0LnRlc3Rmb28pCiAKICAgICAjICJUaGUgc3BlY2lmaWVyIG5hbWUgaXMgYSBgYGRvdHRlZCBuYW1lJycgdGhhdCBtYXkgcmVzb2x2ZSAuLi4gdG8KICAgICAjIC4uLiBhIGNhbGxhYmxlIG9iamVjdCB3aGljaCByZXR1cm5zIGEgLi4uIFRlc3RTdWl0ZSBpbnN0YW5jZSIKZGlmZiAtLWdpdCBhL0xpYi91bml0dGVzdC90ZXN0L3Rlc3Rfc2V0dXBzLnB5IGIvTGliL3VuaXR0ZXN0L3Rlc3QvdGVzdF9zZXR1cHMucHkKaW5kZXggMzkyZjk1ZS4uMmRmNzAzZSAxMDA2NDQKLS0tIGEvTGliL3VuaXR0ZXN0L3Rlc3QvdGVzdF9zZXR1cHMucHkKKysrIGIvTGliL3VuaXR0ZXN0L3Rlc3QvdGVzdF9zZXR1cHMucHkKQEAgLTExMSw3ICsxMTEsNyBAQAogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihyZXN1bHQuZXJyb3JzKSwgMSkKICAgICAgICAgZXJyb3IsIF8gPSByZXN1bHQuZXJyb3JzWzBdCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RyKGVycm9yKSwKLSAgICAgICAgICAgICAgICAgICAgJ3NldFVwQ2xhc3MgKCVzLkJyb2tlblRlc3QpJyAlIF9fbmFtZV9fKQorICAgICAgICAgICAgICAgICAgICAnc2V0VXBDbGFzcyAoJXMuJXMpJyAlIChfX25hbWVfXywgQnJva2VuVGVzdC5fX3F1YWxuYW1lX18pKQogCiAgICAgZGVmIHRlc3RfZXJyb3JfaW5fdGVhcmRvd25fY2xhc3Moc2VsZik6CiAgICAgICAgIGNsYXNzIFRlc3QodW5pdHRlc3QuVGVzdENhc2UpOgpAQCAtMTQ0LDcgKzE0NCw3IEBACiAKICAgICAgICAgZXJyb3IsIF8gPSByZXN1bHQuZXJyb3JzWzBdCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RyKGVycm9yKSwKLSAgICAgICAgICAgICAgICAgICAgJ3RlYXJEb3duQ2xhc3MgKCVzLlRlc3QpJyAlIF9fbmFtZV9fKQorICAgICAgICAgICAgICAgICAgICAndGVhckRvd25DbGFzcyAoJXMuJXMpJyAlIChfX25hbWVfXywgVGVzdC5fX3F1YWxuYW1lX18pKQogCiAgICAgZGVmIHRlc3RfY2xhc3Nfbm90X3Rvcm5kb3duX3doZW5fc2V0dXBfZmFpbHMoc2VsZik6CiAgICAgICAgIGNsYXNzIFRlc3QodW5pdHRlc3QuVGVzdENhc2UpOgpAQCAtNDE0LDcgKzQxNCw4IEBACiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKHJlc3VsdC5lcnJvcnMpLCAwKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihyZXN1bHQuc2tpcHBlZCksIDEpCiAgICAgICAgIHNraXBwZWQgPSByZXN1bHQuc2tpcHBlZFswXVswXQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0cihza2lwcGVkKSwgJ3NldFVwQ2xhc3MgKCVzLlRlc3QpJyAlIF9fbmFtZV9fKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0cihza2lwcGVkKSwKKyAgICAgICAgICAgICAgICAgICAgJ3NldFVwQ2xhc3MgKCVzLiVzKScgJSAoX19uYW1lX18sIFRlc3QuX19xdWFsbmFtZV9fKSkKIAogICAgIGRlZiB0ZXN0X3NraXB0ZXN0X2luX3NldHVwbW9kdWxlKHNlbGYpOgogICAgICAgICBjbGFzcyBUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKZGlmZiAtLWdpdCBhL0xpYi91bml0dGVzdC90ZXN0L3Rlc3Rtb2NrL3Rlc3Rtb2NrLnB5IGIvTGliL3VuaXR0ZXN0L3Rlc3QvdGVzdG1vY2svdGVzdG1vY2sucHkKaW5kZXggMjM2NzViOS4uM2ExMDRjYiAxMDA2NDQKLS0tIGEvTGliL3VuaXR0ZXN0L3Rlc3QvdGVzdG1vY2svdGVzdG1vY2sucHkKKysrIGIvTGliL3VuaXR0ZXN0L3Rlc3QvdGVzdG1vY2svdGVzdG1vY2sucHkKQEAgLTExODcsNiArMTE4Nyw0MiBAQAogICAgICAgICBtID0gbW9jay5jcmVhdGVfYXV0b3NwZWMob2JqZWN0KCksIG5hbWU9J3N3ZWV0X2Z1bmMnKQogICAgICAgICBzZWxmLmFzc2VydEluKCdzd2VldF9mdW5jJywgcmVwcihtKSkKIAorICAgICNJc3N1ZTIxMjM4CisgICAgZGVmIHRlc3RfbW9ja191bnNhZmUoc2VsZik6CisgICAgICAgIG0gPSBNb2NrKCkKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhBdHRyaWJ1dGVFcnJvcik6CisgICAgICAgICAgICBtLmFzc2VydF9mb29fY2FsbCgpCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoQXR0cmlidXRlRXJyb3IpOgorICAgICAgICAgICAgbS5hc3NyZXRfZm9vX2NhbGwoKQorICAgICAgICBtID0gTW9jayh1bnNhZmU9VHJ1ZSkKKyAgICAgICAgbS5hc3NlcnRfZm9vX2NhbGwoKQorICAgICAgICBtLmFzc3JldF9mb29fY2FsbCgpCisKKyAgICAjSXNzdWUyMTI2MgorICAgIGRlZiB0ZXN0X2Fzc2VydF9ub3RfY2FsbGVkKHNlbGYpOgorICAgICAgICBtID0gTW9jaygpCisgICAgICAgIG0uaGVsbG8uYXNzZXJ0X25vdF9jYWxsZWQoKQorICAgICAgICBtLmhlbGxvKCkKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhBc3NlcnRpb25FcnJvcik6CisgICAgICAgICAgICBtLmhlbGxvLmFzc2VydF9ub3RfY2FsbGVkKCkKKworICAgICNJc3N1ZTIxMjU2IHByaW50b3V0IG9mIGtleXdvcmQgYXJncyBzaG91bGQgYmUgaW4gZGV0ZXJtaW5pc3RpYyBvcmRlcgorICAgIGRlZiB0ZXN0X3NvcnRlZF9jYWxsX3NpZ25hdHVyZShzZWxmKToKKyAgICAgICAgbSA9IE1vY2soKQorICAgICAgICBtLmhlbGxvKG5hbWU9J2hlbGxvJywgZGFkZHk9J2hlcm8nKQorICAgICAgICB0ZXh0ID0gImNhbGwoZGFkZHk9J2hlcm8nLCBuYW1lPSdoZWxsbycpIgorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlcHIobS5oZWxsby5jYWxsX2FyZ3MpLCB0ZXh0KQorCisgICAgI0lzc3VlMjEyNzAgb3ZlcnJpZGVzIHR1cGxlIG1ldGhvZHMgZm9yIG1vY2suY2FsbCBvYmplY3RzCisgICAgZGVmIHRlc3Rfb3ZlcnJpZGVfdHVwbGVfbWV0aG9kcyhzZWxmKToKKyAgICAgICAgYyA9IGNhbGwuY291bnQoKQorICAgICAgICBpID0gY2FsbC5pbmRleCgxMzIsJ2hlbGxvJykKKyAgICAgICAgbSA9IE1vY2soKQorICAgICAgICBtLmNvdW50KCkKKyAgICAgICAgbS5pbmRleCgxMzIsImhlbGxvIikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtLm1ldGhvZF9jYWxsc1swXSwgYykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtLm1ldGhvZF9jYWxsc1sxXSwgaSkKKwogICAgIGRlZiB0ZXN0X21vY2tfYWRkX3NwZWMoc2VsZik6CiAgICAgICAgIGNsYXNzIF9PbmUob2JqZWN0KToKICAgICAgICAgICAgIG9uZSA9IDEKZGlmZiAtLWdpdCBhL0xpYi91bml0dGVzdC90ZXN0L3Rlc3Rtb2NrL3Rlc3RwYXRjaC5weSBiL0xpYi91bml0dGVzdC90ZXN0L3Rlc3Rtb2NrL3Rlc3RwYXRjaC5weQppbmRleCBiNTE2ZjQyLi4yOGZlODZiIDEwMDY0NAotLS0gYS9MaWIvdW5pdHRlc3QvdGVzdC90ZXN0bW9jay90ZXN0cGF0Y2gucHkKKysrIGIvTGliL3VuaXR0ZXN0L3Rlc3QvdGVzdG1vY2svdGVzdHBhdGNoLnB5CkBAIC0zNzcsNyArMzc3LDcgQEAKIAogICAgIGRlZiB0ZXN0X3BhdGNob2JqZWN0X3dvbnRfY3JlYXRlX2J5X2RlZmF1bHQoc2VsZik6CiAgICAgICAgIHRyeToKLSAgICAgICAgICAgIEBwYXRjaC5vYmplY3QoU29tZUNsYXNzLCAnZnJvb2JsZScsIHNlbnRpbmVsLkZyb29ibGUpCisgICAgICAgICAgICBAcGF0Y2gub2JqZWN0KFNvbWVDbGFzcywgJ29yZCcsIHNlbnRpbmVsLkZyb29ibGUpCiAgICAgICAgICAgICBkZWYgdGVzdCgpOgogICAgICAgICAgICAgICAgIHNlbGYuZmFpbCgnUGF0Y2hpbmcgbm9uIGV4aXN0ZW50IGF0dHJpYnV0ZXMgc2hvdWxkIGZhaWwnKQogCkBAIC0zODYsNyArMzg2LDI3IEBACiAgICAgICAgICAgICBwYXNzCiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICBzZWxmLmZhaWwoJ1BhdGNoaW5nIG5vbiBleGlzdGVudCBhdHRyaWJ1dGVzIHNob3VsZCBmYWlsJykKLSAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShoYXNhdHRyKFNvbWVDbGFzcywgJ2Zyb29ibGUnKSkKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShoYXNhdHRyKFNvbWVDbGFzcywgJ29yZCcpKQorCisKKyAgICBkZWYgdGVzdF9wYXRjaF9idWlsdGluc193aXRob3V0X2NyZWF0ZShzZWxmKToKKyAgICAgICAgQHBhdGNoKF9fbmFtZV9fKycub3JkJykKKyAgICAgICAgZGVmIHRlc3Rfb3JkKG1vY2tfb3JkKToKKyAgICAgICAgICAgIG1vY2tfb3JkLnJldHVybl92YWx1ZSA9IDEwMQorICAgICAgICAgICAgcmV0dXJuIG9yZCgnYycpCisKKyAgICAgICAgQHBhdGNoKF9fbmFtZV9fKycub3BlbicpCisgICAgICAgIGRlZiB0ZXN0X29wZW4obW9ja19vcGVuKToKKyAgICAgICAgICAgIG0gPSBtb2NrX29wZW4ucmV0dXJuX3ZhbHVlCisgICAgICAgICAgICBtLnJlYWQucmV0dXJuX3ZhbHVlID0gJ2FiY2QnCisKKyAgICAgICAgICAgIGZvYmogPSBvcGVuKCdkb2Vzbm90ZXhpc3RzLnR4dCcpCisgICAgICAgICAgICBkYXRhID0gZm9iai5yZWFkKCkKKyAgICAgICAgICAgIGZvYmouY2xvc2UoKQorICAgICAgICAgICAgcmV0dXJuIGRhdGEKKworICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHRlc3Rfb3JkKCksIDEwMSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh0ZXN0X29wZW4oKSwgJ2FiY2QnKQogCiAKICAgICBkZWYgdGVzdF9wYXRjaF93aXRoX3N0YXRpY19tZXRob2RzKHNlbGYpOgpkaWZmIC0tZ2l0IGEvTGliL3VuaXR0ZXN0L3V0aWwucHkgYi9MaWIvdW5pdHRlc3QvdXRpbC5weQppbmRleCBhZWU0OThmLi40NTQ4NWRjIDEwMDY0NAotLS0gYS9MaWIvdW5pdHRlc3QvdXRpbC5weQorKysgYi9MaWIvdW5pdHRlc3QvdXRpbC5weQpAQCAtNTIsNyArNTIsNyBAQAogICAgIHJldHVybiByZXN1bHRbOl9NQVhfTEVOR1RIXSArICcgW3RydW5jYXRlZF0uLi4nCiAKIGRlZiBzdHJjbGFzcyhjbHMpOgotICAgIHJldHVybiAiJXMuJXMiICUgKGNscy5fX21vZHVsZV9fLCBjbHMuX19uYW1lX18pCisgICAgcmV0dXJuICIlcy4lcyIgJSAoY2xzLl9fbW9kdWxlX18sIGNscy5fX3F1YWxuYW1lX18pCiAKIGRlZiBzb3J0ZWRfbGlzdF9kaWZmZXJlbmNlKGV4cGVjdGVkLCBhY3R1YWwpOgogICAgICIiIkZpbmRzIGVsZW1lbnRzIGluIG9ubHkgb25lIG9yIHRoZSBvdGhlciBvZiB0d28sIHNvcnRlZCBpbnB1dCBsaXN0cy4KZGlmZiAtLWdpdCBhL0xpYi91cmxsaWIvcGFyc2UucHkgYi9MaWIvdXJsbGliL3BhcnNlLnB5CmluZGV4IGQzNjgzMzEuLjgyMWRhZTYgMTAwNjQ0Ci0tLSBhL0xpYi91cmxsaWIvcGFyc2UucHkKKysrIGIvTGliL3VybGxpYi9wYXJzZS5weQpAQCAtNDA5LDExICs0MDksMTMgQEAKICAgICAgICAgcmV0dXJuIHVybAogICAgIGlmIG5vdCB1cmw6CiAgICAgICAgIHJldHVybiBiYXNlCisKICAgICBiYXNlLCB1cmwsIF9jb2VyY2VfcmVzdWx0ID0gX2NvZXJjZV9hcmdzKGJhc2UsIHVybCkKICAgICBic2NoZW1lLCBibmV0bG9jLCBicGF0aCwgYnBhcmFtcywgYnF1ZXJ5LCBiZnJhZ21lbnQgPSBcCiAgICAgICAgICAgICB1cmxwYXJzZShiYXNlLCAnJywgYWxsb3dfZnJhZ21lbnRzKQogICAgIHNjaGVtZSwgbmV0bG9jLCBwYXRoLCBwYXJhbXMsIHF1ZXJ5LCBmcmFnbWVudCA9IFwKICAgICAgICAgICAgIHVybHBhcnNlKHVybCwgYnNjaGVtZSwgYWxsb3dfZnJhZ21lbnRzKQorCiAgICAgaWYgc2NoZW1lICE9IGJzY2hlbWUgb3Igc2NoZW1lIG5vdCBpbiB1c2VzX3JlbGF0aXZlOgogICAgICAgICByZXR1cm4gX2NvZXJjZV9yZXN1bHQodXJsKQogICAgIGlmIHNjaGVtZSBpbiB1c2VzX25ldGxvYzoKQEAgLTQyMSw5ICs0MjMsNyBAQAogICAgICAgICAgICAgcmV0dXJuIF9jb2VyY2VfcmVzdWx0KHVybHVucGFyc2UoKHNjaGVtZSwgbmV0bG9jLCBwYXRoLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtcywgcXVlcnksIGZyYWdtZW50KSkpCiAgICAgICAgIG5ldGxvYyA9IGJuZXRsb2MKLSAgICBpZiBwYXRoWzoxXSA9PSAnLyc6Ci0gICAgICAgIHJldHVybiBfY29lcmNlX3Jlc3VsdCh1cmx1bnBhcnNlKChzY2hlbWUsIG5ldGxvYywgcGF0aCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtcywgcXVlcnksIGZyYWdtZW50KSkpCisKICAgICBpZiBub3QgcGF0aCBhbmQgbm90IHBhcmFtczoKICAgICAgICAgcGF0aCA9IGJwYXRoCiAgICAgICAgIHBhcmFtcyA9IGJwYXJhbXMKQEAgLTQzMSwyOSArNDMxLDQ2IEBACiAgICAgICAgICAgICBxdWVyeSA9IGJxdWVyeQogICAgICAgICByZXR1cm4gX2NvZXJjZV9yZXN1bHQodXJsdW5wYXJzZSgoc2NoZW1lLCBuZXRsb2MsIHBhdGgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJhbXMsIHF1ZXJ5LCBmcmFnbWVudCkpKQotICAgIHNlZ21lbnRzID0gYnBhdGguc3BsaXQoJy8nKVs6LTFdICsgcGF0aC5zcGxpdCgnLycpCi0gICAgIyBYWFggVGhlIHN0dWZmIGJlbG93IGlzIGJvZ3VzIGluIHZhcmlvdXMgd2F5cy4uLgotICAgIGlmIHNlZ21lbnRzWy0xXSA9PSAnLic6Ci0gICAgICAgIHNlZ21lbnRzWy0xXSA9ICcnCi0gICAgd2hpbGUgJy4nIGluIHNlZ21lbnRzOgotICAgICAgICBzZWdtZW50cy5yZW1vdmUoJy4nKQotICAgIHdoaWxlIDE6Ci0gICAgICAgIGkgPSAxCi0gICAgICAgIG4gPSBsZW4oc2VnbWVudHMpIC0gMQotICAgICAgICB3aGlsZSBpIDwgbjoKLSAgICAgICAgICAgIGlmIChzZWdtZW50c1tpXSA9PSAnLi4nCi0gICAgICAgICAgICAgICAgYW5kIHNlZ21lbnRzW2ktMV0gbm90IGluICgnJywgJy4uJykpOgotICAgICAgICAgICAgICAgIGRlbCBzZWdtZW50c1tpLTE6aSsxXQotICAgICAgICAgICAgICAgIGJyZWFrCi0gICAgICAgICAgICBpID0gaSsxCisKKyAgICBiYXNlX3BhcnRzID0gYnBhdGguc3BsaXQoJy8nKQorICAgIGlmIGJhc2VfcGFydHNbLTFdICE9ICcnOgorICAgICAgICAjIHRoZSBsYXN0IGl0ZW0gaXMgbm90IGEgZGlyZWN0b3J5LCBzbyB3aWxsIG5vdCBiZSB0YWtlbiBpbnRvIGFjY291bnQKKyAgICAgICAgIyBpbiByZXNvbHZpbmcgdGhlIHJlbGF0aXZlIHBhdGgKKyAgICAgICAgZGVsIGJhc2VfcGFydHNbLTFdCisKKyAgICAjIGZvciByZmMzOTg2LCBpZ25vcmUgYWxsIGJhc2UgcGF0aCBzaG91bGQgdGhlIGZpcnN0IGNoYXJhY3RlciBiZSByb290LgorICAgIGlmIHBhdGhbOjFdID09ICcvJzoKKyAgICAgICAgc2VnbWVudHMgPSBwYXRoLnNwbGl0KCcvJykKKyAgICBlbHNlOgorICAgICAgICBzZWdtZW50cyA9IGJhc2VfcGFydHMgKyBwYXRoLnNwbGl0KCcvJykKKyAgICAgICAgIyBmaWx0ZXIgb3V0IGVsZW1lbnRzIHRoYXQgd291bGQgY2F1c2UgcmVkdW5kYW50IHNsYXNoZXMgb24gcmUtam9pbmluZworICAgICAgICAjIHRoZSByZXNvbHZlZF9wYXRoCisgICAgICAgIHNlZ21lbnRzID0gc2VnbWVudHNbMDoxXSArIFsKKyAgICAgICAgICAgIHMgZm9yIHMgaW4gc2VnbWVudHNbMTotMV0gaWYgbGVuKHMpID4gMF0gKyBzZWdtZW50c1stMTpdCisKKyAgICByZXNvbHZlZF9wYXRoID0gW10KKworICAgIGZvciBzZWcgaW4gc2VnbWVudHM6CisgICAgICAgIGlmIHNlZyA9PSAnLi4nOgorICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgIHJlc29sdmVkX3BhdGgucG9wKCkKKyAgICAgICAgICAgIGV4Y2VwdCBJbmRleEVycm9yOgorICAgICAgICAgICAgICAgICMgaWdub3JlIGFueSAuLiBzZWdtZW50cyB0aGF0IHdvdWxkIG90aGVyd2lzZSBjYXVzZSBhbiBJbmRleEVycm9yCisgICAgICAgICAgICAgICAgIyB3aGVuIHBvcHBlZCBmcm9tIHJlc29sdmVkX3BhdGggaWYgcmVzb2x2aW5nIGZvciByZmMzOTg2CisgICAgICAgICAgICAgICAgcGFzcworICAgICAgICBlbGlmIHNlZyA9PSAnLic6CisgICAgICAgICAgICBjb250aW51ZQogICAgICAgICBlbHNlOgotICAgICAgICAgICAgYnJlYWsKLSAgICBpZiBzZWdtZW50cyA9PSBbJycsICcuLiddOgotICAgICAgICBzZWdtZW50c1stMV0gPSAnJwotICAgIGVsaWYgbGVuKHNlZ21lbnRzKSA+PSAyIGFuZCBzZWdtZW50c1stMV0gPT0gJy4uJzoKLSAgICAgICAgc2VnbWVudHNbLTI6XSA9IFsnJ10KLSAgICByZXR1cm4gX2NvZXJjZV9yZXN1bHQodXJsdW5wYXJzZSgoc2NoZW1lLCBuZXRsb2MsICcvJy5qb2luKHNlZ21lbnRzKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1zLCBxdWVyeSwgZnJhZ21lbnQpKSkKKyAgICAgICAgICAgIHJlc29sdmVkX3BhdGguYXBwZW5kKHNlZykKKworICAgIGlmIHNlZ21lbnRzWy0xXSBpbiAoJy4nLCAnLi4nKToKKyAgICAgICAgIyBkbyBzb21lIHBvc3QtcHJvY2Vzc2luZyBoZXJlLiBpZiB0aGUgbGFzdCBzZWdtZW50IHdhcyBhIHJlbGF0aXZlIGRpciwKKyAgICAgICAgIyB0aGVuIHdlIG5lZWQgdG8gYXBwZW5kIHRoZSB0cmFpbGluZyAnLycKKyAgICAgICAgcmVzb2x2ZWRfcGF0aC5hcHBlbmQoJycpCisKKyAgICByZXR1cm4gX2NvZXJjZV9yZXN1bHQodXJsdW5wYXJzZSgoc2NoZW1lLCBuZXRsb2MsICcvJy5qb2luKAorICAgICAgICByZXNvbHZlZF9wYXRoKSBvciAnLycsIHBhcmFtcywgcXVlcnksIGZyYWdtZW50KSkpCisKIAogZGVmIHVybGRlZnJhZyh1cmwpOgogICAgICIiIlJlbW92ZXMgYW55IGV4aXN0aW5nIGZyYWdtZW50IGZyb20gVVJMLgpAQCAtNjQxLDcgKzY1OCw3IEBACiAKICAgICBkZWYgX19yZXByX18oc2VsZik6CiAgICAgICAgICMgV2l0aG91dCB0aGlzLCB3aWxsIGp1c3QgZGlzcGxheSBhcyBhIGRlZmF1bHRkaWN0Ci0gICAgICAgIHJldHVybiAiPFF1b3RlciAlcj4iICUgZGljdChzZWxmKQorICAgICAgICByZXR1cm4gIjwlcyAlcj4iICUgKHNlbGYuX19jbGFzc19fLl9fbmFtZV9fLCBkaWN0KHNlbGYpKQogCiAgICAgZGVmIF9fbWlzc2luZ19fKHNlbGYsIGIpOgogICAgICAgICAjIEhhbmRsZSBhIGNhY2hlIG1pc3MuIFN0b3JlIHF1b3RlZCBzdHJpbmcgaW4gY2FjaGUgYW5kIHJldHVybi4KZGlmZiAtLWdpdCBhL0xpYi91cmxsaWIvcmVxdWVzdC5weSBiL0xpYi91cmxsaWIvcmVxdWVzdC5weQppbmRleCA2ZGE5MDA3Li4zYmE3YzAxIDEwMDY0NAotLS0gYS9MaWIvdXJsbGliL3JlcXVlc3QucHkKKysrIGIvTGliL3VybGxpYi9yZXF1ZXN0LnB5CkBAIC05MTYsNiArOTE2LDIxIEBACiAgICAgICAgIHJldHVybiByZXNwb25zZQogCiAKK2NsYXNzIEhUVFBCYXNpY1ByaW9yQXV0aEhhbmRsZXIoSFRUUEJhc2ljQXV0aEhhbmRsZXIpOgorICAgIGhhbmRsZXJfb3JkZXIgPSA0MDAKKworICAgIGRlZiBodHRwX3JlcXVlc3Qoc2VsZiwgcmVxKToKKyAgICAgICAgaWYgbm90IHJlcS5oYXNfaGVhZGVyKCdBdXRob3JpemF0aW9uJyk6CisgICAgICAgICAgICB1c2VyLCBwYXNzd2QgPSBzZWxmLnBhc3N3ZC5maW5kX3VzZXJfcGFzc3dvcmQoTm9uZSwgcmVxLmhvc3QpCisgICAgICAgICAgICBjcmVkZW50aWFscyA9ICd7MH06ezF9Jy5mb3JtYXQodXNlciwgcGFzc3dkKS5lbmNvZGUoKQorICAgICAgICAgICAgYXV0aF9zdHIgPSBiYXNlNjQuc3RhbmRhcmRfYjY0ZW5jb2RlKGNyZWRlbnRpYWxzKS5kZWNvZGUoKQorICAgICAgICAgICAgcmVxLmFkZF91bnJlZGlyZWN0ZWRfaGVhZGVyKCdBdXRob3JpemF0aW9uJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQmFzaWMge30nLmZvcm1hdChhdXRoX3N0ci5zdHJpcCgpKSkKKyAgICAgICAgcmV0dXJuIHJlcQorCisgICAgaHR0cHNfcmVxdWVzdCA9IGh0dHBfcmVxdWVzdAorCisKICMgUmV0dXJuIG4gcmFuZG9tIGJ5dGVzLgogX3JhbmRvbWJ5dGVzID0gb3MudXJhbmRvbQogCmRpZmYgLS1naXQgYS9MaWIvdXJsbGliL3JvYm90cGFyc2VyLnB5IGIvTGliL3VybGxpYi9yb2JvdHBhcnNlci5weQppbmRleCAxZDdiNzUxLi40ZmJiMGNiIDEwMDY0NAotLS0gYS9MaWIvdXJsbGliL3JvYm90cGFyc2VyLnB5CisrKyBiL0xpYi91cmxsaWIvcm9ib3RwYXJzZXIucHkKQEAgLTE3Miw3ICsxNzIsNyBAQAogICAgICAgICByZXR1cm4gc2VsZi5wYXRoID09ICIqIiBvciBmaWxlbmFtZS5zdGFydHN3aXRoKHNlbGYucGF0aCkKIAogICAgIGRlZiBfX3N0cl9fKHNlbGYpOgotICAgICAgICByZXR1cm4gKHNlbGYuYWxsb3dhbmNlIGFuZCAiQWxsb3ciIG9yICJEaXNhbGxvdyIpICsgIjogIiArIHNlbGYucGF0aAorICAgICAgICByZXR1cm4gKCJBbGxvdyIgaWYgc2VsZi5hbGxvd2FuY2UgZWxzZSAiRGlzYWxsb3ciKSArICI6ICIgKyBzZWxmLnBhdGgKIAogCiBjbGFzcyBFbnRyeToKZGlmZiAtLWdpdCBhL0xpYi91dWlkLnB5IGIvTGliL3V1aWQucHkKaW5kZXggMTA2MWJmZi4uZTYyNzU3MyAxMDA2NDQKLS0tIGEvTGliL3V1aWQucHkKKysrIGIvTGliL3V1aWQucHkKQEAgLTEzOSwxMCArMTM5LDggQEAKICAgICAgICAgaWYgYnl0ZXNfbGUgaXMgbm90IE5vbmU6CiAgICAgICAgICAgICBpZiBsZW4oYnl0ZXNfbGUpICE9IDE2OgogICAgICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoJ2J5dGVzX2xlIGlzIG5vdCBhIDE2LWNoYXIgc3RyaW5nJykKLSAgICAgICAgICAgIGJ5dGVzID0gKGJ5dGVzXyhyZXZlcnNlZChieXRlc19sZVswOjRdKSkgKwotICAgICAgICAgICAgICAgICAgICAgYnl0ZXNfKHJldmVyc2VkKGJ5dGVzX2xlWzQ6Nl0pKSArCi0gICAgICAgICAgICAgICAgICAgICBieXRlc18ocmV2ZXJzZWQoYnl0ZXNfbGVbNjo4XSkpICsKLSAgICAgICAgICAgICAgICAgICAgIGJ5dGVzX2xlWzg6XSkKKyAgICAgICAgICAgIGJ5dGVzID0gKGJ5dGVzX2xlWzQtMTo6LTFdICsgYnl0ZXNfbGVbNi0xOjQtMTotMV0gKworICAgICAgICAgICAgICAgICAgICAgYnl0ZXNfbGVbOC0xOjYtMTotMV0gKyBieXRlc19sZVs4Ol0pCiAgICAgICAgIGlmIGJ5dGVzIGlzIG5vdCBOb25lOgogICAgICAgICAgICAgaWYgbGVuKGJ5dGVzKSAhPSAxNjoKICAgICAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCdieXRlcyBpcyBub3QgYSAxNi1jaGFyIHN0cmluZycpCkBAIC0xODcsMTEgKzE4NSw2IEBACiAgICAgICAgICAgICByZXR1cm4gc2VsZi5pbnQgPT0gb3RoZXIuaW50CiAgICAgICAgIHJldHVybiBOb3RJbXBsZW1lbnRlZAogCi0gICAgZGVmIF9fbmVfXyhzZWxmLCBvdGhlcik6Ci0gICAgICAgIGlmIGlzaW5zdGFuY2Uob3RoZXIsIFVVSUQpOgotICAgICAgICAgICAgcmV0dXJuIHNlbGYuaW50ICE9IG90aGVyLmludAotICAgICAgICByZXR1cm4gTm90SW1wbGVtZW50ZWQKLQogICAgICMgUS4gV2hhdCdzIHRoZSB2YWx1ZSBvZiBiZWluZyBhYmxlIHRvIHNvcnQgVVVJRHM/CiAgICAgIyBBLiBVc2UgdGhlbSBhcyBrZXlzIGluIGEgQi1UcmVlIG9yIHNpbWlsYXIgbWFwcGluZy4KIApAQCAtMjIyLDcgKzIxNSw3IEBACiAgICAgICAgIHJldHVybiBzZWxmLmludAogCiAgICAgZGVmIF9fcmVwcl9fKHNlbGYpOgotICAgICAgICByZXR1cm4gJ1VVSUQoJXIpJyAlIHN0cihzZWxmKQorICAgICAgICByZXR1cm4gJyVzKCVyKScgJSAoc2VsZi5fX2NsYXNzX18uX19uYW1lX18sIHN0cihzZWxmKSkKIAogICAgIGRlZiBfX3NldGF0dHJfXyhzZWxmLCBuYW1lLCB2YWx1ZSk6CiAgICAgICAgIHJhaXNlIFR5cGVFcnJvcignVVVJRCBvYmplY3RzIGFyZSBpbW11dGFibGUnKQpAQCAtMjM0LDE3ICsyMjcsMTIgQEAKIAogICAgIEBwcm9wZXJ0eQogICAgIGRlZiBieXRlcyhzZWxmKToKLSAgICAgICAgYnl0ZXMgPSBieXRlYXJyYXkoKQotICAgICAgICBmb3Igc2hpZnQgaW4gcmFuZ2UoMCwgMTI4LCA4KToKLSAgICAgICAgICAgIGJ5dGVzLmluc2VydCgwLCAoc2VsZi5pbnQgPj4gc2hpZnQpICYgMHhmZikKLSAgICAgICAgcmV0dXJuIGJ5dGVzXyhieXRlcykKKyAgICAgICAgcmV0dXJuIHNlbGYuaW50LnRvX2J5dGVzKDE2LCAnYmlnJykKIAogICAgIEBwcm9wZXJ0eQogICAgIGRlZiBieXRlc19sZShzZWxmKToKICAgICAgICAgYnl0ZXMgPSBzZWxmLmJ5dGVzCi0gICAgICAgIHJldHVybiAoYnl0ZXNfKHJldmVyc2VkKGJ5dGVzWzA6NF0pKSArCi0gICAgICAgICAgICAgICAgYnl0ZXNfKHJldmVyc2VkKGJ5dGVzWzQ6Nl0pKSArCi0gICAgICAgICAgICAgICAgYnl0ZXNfKHJldmVyc2VkKGJ5dGVzWzY6OF0pKSArCisgICAgICAgIHJldHVybiAoYnl0ZXNbNC0xOjotMV0gKyBieXRlc1s2LTE6NC0xOi0xXSArIGJ5dGVzWzgtMTo2LTE6LTFdICsKICAgICAgICAgICAgICAgICBieXRlc1s4Ol0pCiAKICAgICBAcHJvcGVydHkKQEAgLTMxMSwzMyArMjk5LDM4IEBACiAgICAgICAgIGlmIHNlbGYudmFyaWFudCA9PSBSRkNfNDEyMjoKICAgICAgICAgICAgIHJldHVybiBpbnQoKHNlbGYuaW50ID4+IDc2KSAmIDB4ZikKIAotZGVmIF9wb3Blbihjb21tYW5kLCBhcmdzKToKLSAgICBpbXBvcnQgb3MsIHNodXRpbAorZGVmIF9wb3Blbihjb21tYW5kLCAqYXJncyk6CisgICAgaW1wb3J0IG9zLCBzaHV0aWwsIHN1YnByb2Nlc3MKICAgICBleGVjdXRhYmxlID0gc2h1dGlsLndoaWNoKGNvbW1hbmQpCiAgICAgaWYgZXhlY3V0YWJsZSBpcyBOb25lOgogICAgICAgICBwYXRoID0gb3MucGF0aHNlcC5qb2luKCgnL3NiaW4nLCAnL3Vzci9zYmluJykpCiAgICAgICAgIGV4ZWN1dGFibGUgPSBzaHV0aWwud2hpY2goY29tbWFuZCwgcGF0aD1wYXRoKQogICAgICAgICBpZiBleGVjdXRhYmxlIGlzIE5vbmU6CiAgICAgICAgICAgICByZXR1cm4gTm9uZQotICAgICMgTENfQUxMIHRvIGVuc3VyZSBFbmdsaXNoIG91dHB1dCwgMj4vZGV2L251bGwgdG8gcHJldmVudCBvdXRwdXQgb24KLSAgICAjIHN0ZGVyciAoTm90ZTogd2UgZG9uJ3QgaGF2ZSBhbiBleGFtcGxlIHdoZXJlIHRoZSB3b3JkcyB3ZSBzZWFyY2ggZm9yCi0gICAgIyBhcmUgYWN0dWFsbHkgbG9jYWxpemVkLCBidXQgaW4gdGhlb3J5IHNvbWUgc3lzdGVtIGNvdWxkIGRvIHNvLikKLSAgICBjbWQgPSAnTENfQUxMPUMgJXMgJXMgMj4vZGV2L251bGwnICUgKGV4ZWN1dGFibGUsIGFyZ3MpCi0gICAgcmV0dXJuIG9zLnBvcGVuKGNtZCkKKyAgICAjIExDX0FMTD1DIHRvIGVuc3VyZSBFbmdsaXNoIG91dHB1dCwgc3RkZXJyPURFVk5VTEwgdG8gcHJldmVudCBvdXRwdXQKKyAgICAjIG9uIHN0ZGVyciAoTm90ZTogd2UgZG9uJ3QgaGF2ZSBhbiBleGFtcGxlIHdoZXJlIHRoZSB3b3JkcyB3ZSBzZWFyY2gKKyAgICAjIGZvciBhcmUgYWN0dWFsbHkgbG9jYWxpemVkLCBidXQgaW4gdGhlb3J5IHNvbWUgc3lzdGVtIGNvdWxkIGRvIHNvLikKKyAgICBlbnYgPSBkaWN0KG9zLmVudmlyb24pCisgICAgZW52WydMQ19BTEwnXSA9ICdDJworICAgIHByb2MgPSBzdWJwcm9jZXNzLlBvcGVuKChleGVjdXRhYmxlLCkgKyBhcmdzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0ZG91dD1zdWJwcm9jZXNzLlBJUEUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RkZXJyPXN1YnByb2Nlc3MuREVWTlVMTCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbnY9ZW52KQorICAgIHJldHVybiBwcm9jCiAKIGRlZiBfZmluZF9tYWMoY29tbWFuZCwgYXJncywgaHdfaWRlbnRpZmllcnMsIGdldF9pbmRleCk6CiAgICAgdHJ5OgotICAgICAgICBwaXBlID0gX3BvcGVuKGNvbW1hbmQsIGFyZ3MpCi0gICAgICAgIGlmIG5vdCBwaXBlOgorICAgICAgICBwcm9jID0gX3BvcGVuKGNvbW1hbmQsICphcmdzLnNwbGl0KCkpCisgICAgICAgIGlmIG5vdCBwcm9jOgogICAgICAgICAgICAgcmV0dXJuCi0gICAgICAgIHdpdGggcGlwZToKLSAgICAgICAgICAgIGZvciBsaW5lIGluIHBpcGU6CisgICAgICAgIHdpdGggcHJvYzoKKyAgICAgICAgICAgIGZvciBsaW5lIGluIHByb2Muc3Rkb3V0OgogICAgICAgICAgICAgICAgIHdvcmRzID0gbGluZS5sb3dlcigpLnJzdHJpcCgpLnNwbGl0KCkKICAgICAgICAgICAgICAgICBmb3IgaSBpbiByYW5nZShsZW4od29yZHMpKToKICAgICAgICAgICAgICAgICAgICAgaWYgd29yZHNbaV0gaW4gaHdfaWRlbnRpZmllcnM6CiAgICAgICAgICAgICAgICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd29yZCA9IHdvcmRzW2dldF9pbmRleChpKV0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWMgPSBpbnQod29yZC5yZXBsYWNlKCc6JywgJycpLCAxNikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWMgPSBpbnQod29yZC5yZXBsYWNlKGInOicsIGInJyksIDE2KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIG1hYzoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG1hYwogICAgICAgICAgICAgICAgICAgICAgICAgZXhjZXB0IChWYWx1ZUVycm9yLCBJbmRleEVycm9yKToKQEAgLTM1NCwxMCArMzQ3LDE3IEBACiAgICAgIiIiR2V0IHRoZSBoYXJkd2FyZSBhZGRyZXNzIG9uIFVuaXggYnkgcnVubmluZyBpZmNvbmZpZy4iIiIKICAgICAjIFRoaXMgd29ya3Mgb24gTGludXggKCcnIG9yICctYScpLCBUcnU2NCAoJy1hdicpLCBidXQgbm90IGFsbCBVbml4ZXMuCiAgICAgZm9yIGFyZ3MgaW4gKCcnLCAnLWEnLCAnLWF2Jyk6Ci0gICAgICAgIG1hYyA9IF9maW5kX21hYygnaWZjb25maWcnLCBhcmdzLCBbJ2h3YWRkcicsICdldGhlciddLCBsYW1iZGEgaTogaSsxKQorICAgICAgICBtYWMgPSBfZmluZF9tYWMoJ2lmY29uZmlnJywgYXJncywgW2InaHdhZGRyJywgYidldGhlciddLCBsYW1iZGEgaTogaSsxKQogICAgICAgICBpZiBtYWM6CiAgICAgICAgICAgICByZXR1cm4gbWFjCiAKK2RlZiBfaXBfZ2V0bm9kZSgpOgorICAgICIiIkdldCB0aGUgaGFyZHdhcmUgYWRkcmVzcyBvbiBVbml4IGJ5IHJ1bm5pbmcgaXAuIiIiCisgICAgIyBUaGlzIHdvcmtzIG9uIExpbnV4IHdpdGggaXByb3V0ZTIuCisgICAgbWFjID0gX2ZpbmRfbWFjKCdpcCcsICdsaW5rIGxpc3QnLCBbYidsaW5rL2V0aGVyJ10sIGxhbWJkYSBpOiBpKzEpCisgICAgaWYgbWFjOgorICAgICAgICByZXR1cm4gbWFjCisKIGRlZiBfYXJwX2dldG5vZGUoKToKICAgICAiIiJHZXQgdGhlIGhhcmR3YXJlIGFkZHJlc3Mgb24gVW5peCBieSBydW5uaW5nIGFycC4iIiIKICAgICBpbXBvcnQgb3MsIHNvY2tldApAQCAtMzY3LDMyICszNjcsMzIgQEAKICAgICAgICAgcmV0dXJuIE5vbmUKIAogICAgICMgVHJ5IGdldHRpbmcgdGhlIE1BQyBhZGRyIGZyb20gYXJwIGJhc2VkIG9uIG91ciBJUCBhZGRyZXNzIChTb2xhcmlzKS4KLSAgICByZXR1cm4gX2ZpbmRfbWFjKCdhcnAnLCAnLWFuJywgW2lwX2FkZHJdLCBsYW1iZGEgaTogLTEpCisgICAgcmV0dXJuIF9maW5kX21hYygnYXJwJywgJy1hbicsIFtvcy5mc2VuY29kZShpcF9hZGRyKV0sIGxhbWJkYSBpOiAtMSkKIAogZGVmIF9sYW5zY2FuX2dldG5vZGUoKToKICAgICAiIiJHZXQgdGhlIGhhcmR3YXJlIGFkZHJlc3Mgb24gVW5peCBieSBydW5uaW5nIGxhbnNjYW4uIiIiCiAgICAgIyBUaGlzIG1pZ2h0IHdvcmsgb24gSFAtVVguCi0gICAgcmV0dXJuIF9maW5kX21hYygnbGFuc2NhbicsICctYWknLCBbJ2xhbjAnXSwgbGFtYmRhIGk6IDApCisgICAgcmV0dXJuIF9maW5kX21hYygnbGFuc2NhbicsICctYWknLCBbYidsYW4wJ10sIGxhbWJkYSBpOiAwKQogCiBkZWYgX25ldHN0YXRfZ2V0bm9kZSgpOgogICAgICIiIkdldCB0aGUgaGFyZHdhcmUgYWRkcmVzcyBvbiBVbml4IGJ5IHJ1bm5pbmcgbmV0c3RhdC4iIiIKICAgICAjIFRoaXMgbWlnaHQgd29yayBvbiBBSVgsIFRydTY0IFVOSVggYW5kIHByZXN1bWFibHkgb24gSVJJWC4KICAgICB0cnk6Ci0gICAgICAgIHBpcGUgPSBfcG9wZW4oJ25ldHN0YXQnLCAnLWlhJykKLSAgICAgICAgaWYgbm90IHBpcGU6CisgICAgICAgIHByb2MgPSBfcG9wZW4oJ25ldHN0YXQnLCAnLWlhJykKKyAgICAgICAgaWYgbm90IHByb2M6CiAgICAgICAgICAgICByZXR1cm4KLSAgICAgICAgd2l0aCBwaXBlOgotICAgICAgICAgICAgd29yZHMgPSBwaXBlLnJlYWRsaW5lKCkucnN0cmlwKCkuc3BsaXQoKQorICAgICAgICB3aXRoIHByb2M6CisgICAgICAgICAgICB3b3JkcyA9IHByb2Muc3Rkb3V0LnJlYWRsaW5lKCkucnN0cmlwKCkuc3BsaXQoKQogICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgIGkgPSB3b3Jkcy5pbmRleCgnQWRkcmVzcycpCisgICAgICAgICAgICAgICAgaSA9IHdvcmRzLmluZGV4KGInQWRkcmVzcycpCiAgICAgICAgICAgICBleGNlcHQgVmFsdWVFcnJvcjoKICAgICAgICAgICAgICAgICByZXR1cm4KLSAgICAgICAgICAgIGZvciBsaW5lIGluIHBpcGU6CisgICAgICAgICAgICBmb3IgbGluZSBpbiBwcm9jLnN0ZG91dDoKICAgICAgICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICAgICAgIHdvcmRzID0gbGluZS5yc3RyaXAoKS5zcGxpdCgpCiAgICAgICAgICAgICAgICAgICAgIHdvcmQgPSB3b3Jkc1tpXQotICAgICAgICAgICAgICAgICAgICBpZiBsZW4od29yZCkgPT0gMTcgYW5kIHdvcmQuY291bnQoJzonKSA9PSA1OgotICAgICAgICAgICAgICAgICAgICAgICAgbWFjID0gaW50KHdvcmQucmVwbGFjZSgnOicsICcnKSwgMTYpCisgICAgICAgICAgICAgICAgICAgIGlmIGxlbih3b3JkKSA9PSAxNyBhbmQgd29yZC5jb3VudChiJzonKSA9PSA1OgorICAgICAgICAgICAgICAgICAgICAgICAgbWFjID0gaW50KHdvcmQucmVwbGFjZShiJzonLCBiJycpLCAxNikKICAgICAgICAgICAgICAgICAgICAgICAgIGlmIG1hYzoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbWFjCiAgICAgICAgICAgICAgICAgZXhjZXB0IChWYWx1ZUVycm9yLCBJbmRleEVycm9yKToKQEAgLTQ0Nyw5ICs0NDcsMTAgQEAKICAgICAgICAgaWYgd2luMzJ3bmV0Lk5ldGJpb3MobmNiKSAhPSAwOgogICAgICAgICAgICAgY29udGludWUKICAgICAgICAgc3RhdHVzLl91bnBhY2soKQotICAgICAgICBieXRlcyA9IHN0YXR1cy5hZGFwdGVyX2FkZHJlc3MKLSAgICAgICAgcmV0dXJuICgoYnl0ZXNbMF08PDQwKSArIChieXRlc1sxXTw8MzIpICsgKGJ5dGVzWzJdPDwyNCkgKwotICAgICAgICAgICAgICAgIChieXRlc1szXTw8MTYpICsgKGJ5dGVzWzRdPDw4KSArIGJ5dGVzWzVdKQorICAgICAgICBieXRlcyA9IHN0YXR1cy5hZGFwdGVyX2FkZHJlc3NbOjZdCisgICAgICAgIGlmIGxlbihieXRlcykgIT0gNjoKKyAgICAgICAgICAgIGNvbnRpbnVlCisgICAgICAgIHJldHVybiBpbnQuZnJvbV9ieXRlcyhieXRlcywgJ2JpZycpCiAKICMgVGhhbmtzIHRvIFRob21hcyBIZWxsZXIgZm9yIGN0eXBlcyBhbmQgZm9yIGhpcyBoZWxwIHdpdGggaXRzIHVzZSBoZXJlLgogCkBAIC01MTgsNyArNTE5LDcgQEAKIGRlZiBfcmFuZG9tX2dldG5vZGUoKToKICAgICAiIiJHZXQgYSByYW5kb20gbm9kZSBJRCwgd2l0aCBlaWdodGggYml0IHNldCBhcyBzdWdnZXN0ZWQgYnkgUkZDIDQxMjIuIiIiCiAgICAgaW1wb3J0IHJhbmRvbQotICAgIHJldHVybiByYW5kb20ucmFuZHJhbmdlKDAsIDE8PDQ4KSB8IDB4MDEwMDAwMDAwMDAwCisgICAgcmV0dXJuIHJhbmRvbS5nZXRyYW5kYml0cyg0OCkgfCAweDAxMDAwMDAwMDAwMAogCiBfbm9kZSA9IE5vbmUKIApAQCAtNTM5LDggKzU0MCw4IEBACiAgICAgaWYgc3lzLnBsYXRmb3JtID09ICd3aW4zMic6CiAgICAgICAgIGdldHRlcnMgPSBbX3dpbmRsbF9nZXRub2RlLCBfbmV0Ymlvc19nZXRub2RlLCBfaXBjb25maWdfZ2V0bm9kZV0KICAgICBlbHNlOgotICAgICAgICBnZXR0ZXJzID0gW191bml4ZGxsX2dldG5vZGUsIF9pZmNvbmZpZ19nZXRub2RlLCBfYXJwX2dldG5vZGUsCi0gICAgICAgICAgICAgICAgICAgX2xhbnNjYW5fZ2V0bm9kZSwgX25ldHN0YXRfZ2V0bm9kZV0KKyAgICAgICAgZ2V0dGVycyA9IFtfdW5peGRsbF9nZXRub2RlLCBfaWZjb25maWdfZ2V0bm9kZSwgX2lwX2dldG5vZGUsCisgICAgICAgICAgICAgICAgICAgX2FycF9nZXRub2RlLCBfbGFuc2Nhbl9nZXRub2RlLCBfbmV0c3RhdF9nZXRub2RlXQogCiAgICAgZm9yIGdldHRlciBpbiBnZXR0ZXJzICsgW19yYW5kb21fZ2V0bm9kZV06CiAgICAgICAgIHRyeToKQEAgLTU3Niw3ICs1NzcsNyBAQAogICAgIF9sYXN0X3RpbWVzdGFtcCA9IHRpbWVzdGFtcAogICAgIGlmIGNsb2NrX3NlcSBpcyBOb25lOgogICAgICAgICBpbXBvcnQgcmFuZG9tCi0gICAgICAgIGNsb2NrX3NlcSA9IHJhbmRvbS5yYW5kcmFuZ2UoMTw8MTQpICMgaW5zdGVhZCBvZiBzdGFibGUgc3RvcmFnZQorICAgICAgICBjbG9ja19zZXEgPSByYW5kb20uZ2V0cmFuZGJpdHMoMTQpICMgaW5zdGVhZCBvZiBzdGFibGUgc3RvcmFnZQogICAgIHRpbWVfbG93ID0gdGltZXN0YW1wICYgMHhmZmZmZmZmZgogICAgIHRpbWVfbWlkID0gKHRpbWVzdGFtcCA+PiAzMikgJiAweGZmZmYKICAgICB0aW1lX2hpX3ZlcnNpb24gPSAodGltZXN0YW1wID4+IDQ4KSAmIDB4MGZmZgpAQCAtNjA4LDggKzYwOSw3IEBACiAgICAgICAgIHJldHVybiBVVUlEKGJ5dGVzPW9zLnVyYW5kb20oMTYpLCB2ZXJzaW9uPTQpCiAgICAgZXhjZXB0OgogICAgICAgICBpbXBvcnQgcmFuZG9tCi0gICAgICAgIGJ5dGVzID0gYnl0ZXNfKHJhbmRvbS5yYW5kcmFuZ2UoMjU2KSBmb3IgaSBpbiByYW5nZSgxNikpCi0gICAgICAgIHJldHVybiBVVUlEKGJ5dGVzPWJ5dGVzLCB2ZXJzaW9uPTQpCisgICAgICAgIHJldHVybiBVVUlEKGludD1yYW5kb20uZ2V0cmFuZGJpdHMoMTI4KSwgdmVyc2lvbj00KQogCiBkZWYgdXVpZDUobmFtZXNwYWNlLCBuYW1lKToKICAgICAiIiJHZW5lcmF0ZSBhIFVVSUQgZnJvbSB0aGUgU0hBLTEgaGFzaCBvZiBhIG5hbWVzcGFjZSBVVUlEIGFuZCBhIG5hbWUuIiIiCmRpZmYgLS1naXQgYS9MaWIvd2FybmluZ3MucHkgYi9MaWIvd2FybmluZ3MucHkKaW5kZXggNzBkMDg3ZS4uNWNhNGI5YyAxMDA2NDQKLS0tIGEvTGliL3dhcm5pbmdzLnB5CisrKyBiL0xpYi93YXJuaW5ncy5weQpAQCAtMTY5LDcgKzE2OSw5IEBACiAgICAgIyBDaGVjayBjYXRlZ29yeSBhcmd1bWVudAogICAgIGlmIGNhdGVnb3J5IGlzIE5vbmU6CiAgICAgICAgIGNhdGVnb3J5ID0gVXNlcldhcm5pbmcKLSAgICBhc3NlcnQgaXNzdWJjbGFzcyhjYXRlZ29yeSwgV2FybmluZykKKyAgICBpZiBub3QgKGlzaW5zdGFuY2UoY2F0ZWdvcnksIHR5cGUpIGFuZCBpc3N1YmNsYXNzKGNhdGVnb3J5LCBXYXJuaW5nKSk6CisgICAgICAgIHJhaXNlIFR5cGVFcnJvcigiY2F0ZWdvcnkgbXVzdCBiZSBhIFdhcm5pbmcgc3ViY2xhc3MsICIKKyAgICAgICAgICAgICAgICAgICAgICAgICJub3QgJ3s6c30nIi5mb3JtYXQodHlwZShjYXRlZ29yeSkuX19uYW1lX18pKQogICAgICMgR2V0IGNvbnRleHQgaW5mb3JtYXRpb24KICAgICB0cnk6CiAgICAgICAgIGNhbGxlciA9IHN5cy5fZ2V0ZnJhbWUoc3RhY2tsZXZlbCkKZGlmZiAtLWdpdCBhL0xpYi93ZWFrcmVmLnB5IGIvTGliL3dlYWtyZWYucHkKaW5kZXggMTJiZjk3NS4uYTRlY2FkYyAxMDA2NDQKLS0tIGEvTGliL3dlYWtyZWYucHkKKysrIGIvTGliL3dlYWtyZWYucHkKQEAgLTE0NCw3ICsxNDQsNyBAQAogICAgICAgICByZXR1cm4gbyBpcyBub3QgTm9uZQogCiAgICAgZGVmIF9fcmVwcl9fKHNlbGYpOgotICAgICAgICByZXR1cm4gIjxXZWFrVmFsdWVEaWN0aW9uYXJ5IGF0ICVzPiIgJSBpZChzZWxmKQorICAgICAgICByZXR1cm4gIjwlcyBhdCAlI3g+IiAlIChzZWxmLl9fY2xhc3NfXy5fX25hbWVfXywgaWQoc2VsZikpCiAKICAgICBkZWYgX19zZXRpdGVtX18oc2VsZiwga2V5LCB2YWx1ZSk6CiAgICAgICAgIGlmIHNlbGYuX3BlbmRpbmdfcmVtb3ZhbHM6CkBAIC0zNTksNyArMzU5LDcgQEAKICAgICAgICAgcmV0dXJuIGxlbihzZWxmLmRhdGEpIC0gbGVuKHNlbGYuX3BlbmRpbmdfcmVtb3ZhbHMpCiAKICAgICBkZWYgX19yZXByX18oc2VsZik6Ci0gICAgICAgIHJldHVybiAiPFdlYWtLZXlEaWN0aW9uYXJ5IGF0ICVzPiIgJSBpZChzZWxmKQorICAgICAgICByZXR1cm4gIjwlcyBhdCAlI3g+IiAlIChzZWxmLl9fY2xhc3NfXy5fX25hbWVfXywgaWQoc2VsZikpCiAKICAgICBkZWYgX19zZXRpdGVtX18oc2VsZiwga2V5LCB2YWx1ZSk6CiAgICAgICAgIHNlbGYuZGF0YVtyZWYoa2V5LCBzZWxmLl9yZW1vdmUpXSA9IHZhbHVlCmRpZmYgLS1naXQgYS9MaWIvd3NnaXJlZi9oZWFkZXJzLnB5IGIvTGliL3dzZ2lyZWYvaGVhZGVycy5weQppbmRleCBkOTM5NjI4Li43ZTY3MGIzIDEwMDY0NAotLS0gYS9MaWIvd3NnaXJlZi9oZWFkZXJzLnB5CisrKyBiL0xpYi93c2dpcmVmL2hlYWRlcnMucHkKQEAgLTI2LDEwICsyNiwxMCBAQAogCiAKIGNsYXNzIEhlYWRlcnM6Ci0KICAgICAiIiJNYW5hZ2UgYSBjb2xsZWN0aW9uIG9mIEhUVFAgcmVzcG9uc2UgaGVhZGVycyIiIgogCi0gICAgZGVmIF9faW5pdF9fKHNlbGYsaGVhZGVycyk6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIGhlYWRlcnM9Tm9uZSk6CisgICAgICAgIGhlYWRlcnMgPSBoZWFkZXJzIGlmIGhlYWRlcnMgaXMgbm90IE5vbmUgZWxzZSBbXQogICAgICAgICBpZiB0eXBlKGhlYWRlcnMpIGlzIG5vdCBsaXN0OgogICAgICAgICAgICAgcmFpc2UgVHlwZUVycm9yKCJIZWFkZXJzIG11c3QgYmUgYSBsaXN0IG9mIG5hbWUvdmFsdWUgdHVwbGVzIikKICAgICAgICAgc2VsZi5faGVhZGVycyA9IGhlYWRlcnMKQEAgLTEzMSw3ICsxMzEsNyBAQAogICAgICAgICByZXR1cm4gc2VsZi5faGVhZGVyc1s6XQogCiAgICAgZGVmIF9fcmVwcl9fKHNlbGYpOgotICAgICAgICByZXR1cm4gIkhlYWRlcnMoJXIpIiAlIHNlbGYuX2hlYWRlcnMKKyAgICAgICAgcmV0dXJuICIlcyglcikiICUgKHNlbGYuX19jbGFzc19fLl9fbmFtZV9fLCBzZWxmLl9oZWFkZXJzKQogCiAgICAgZGVmIF9fc3RyX18oc2VsZik6CiAgICAgICAgICIiInN0cigpIHJldHVybnMgdGhlIGZvcm1hdHRlZCBoZWFkZXJzLCBjb21wbGV0ZSB3aXRoIGVuZCBsaW5lLApkaWZmIC0tZ2l0IGEvTGliL3htbC9kb20vbWluaWRvbS5weSBiL0xpYi94bWwvZG9tL21pbmlkb20ucHkKaW5kZXggYzM3OWEzMy4uYTVkODEzZiAxMDA2NDQKLS0tIGEvTGliL3htbC9kb20vbWluaWRvbS5weQorKysgYi9MaWIveG1sL2RvbS9taW5pZG9tLnB5CkBAIC01NDUsOSArNTQ1LDYgQEAKICAgICBkZWYgX19sdF9fKHNlbGYsIG90aGVyKToKICAgICAgICAgcmV0dXJuIHNlbGYuX2NtcChvdGhlcikgPCAwCiAKLSAgICBkZWYgX19uZV9fKHNlbGYsIG90aGVyKToKLSAgICAgICAgcmV0dXJuIHNlbGYuX2NtcChvdGhlcikgIT0gMAotCiAgICAgZGVmIF9fZ2V0aXRlbV9fKHNlbGYsIGF0dG5hbWVfb3JfdHVwbGUpOgogICAgICAgICBpZiBpc2luc3RhbmNlKGF0dG5hbWVfb3JfdHVwbGUsIHR1cGxlKToKICAgICAgICAgICAgIHJldHVybiBzZWxmLl9hdHRyc05TW2F0dG5hbWVfb3JfdHVwbGVdCkBAIC02NDgsOSArNjQ1LDEwIEBACiAKICAgICBkZWYgX19yZXByX18oc2VsZik6CiAgICAgICAgIGlmIHNlbGYubmFtZXNwYWNlOgotICAgICAgICAgICAgcmV0dXJuICI8VHlwZUluZm8gJXIgKGZyb20gJXIpPiIgJSAoc2VsZi5uYW1lLCBzZWxmLm5hbWVzcGFjZSkKKyAgICAgICAgICAgIHJldHVybiAiPCVzICVyIChmcm9tICVyKT4iICUgKHNlbGYuX19jbGFzc19fLl9fbmFtZV9fLCBzZWxmLm5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLm5hbWVzcGFjZSkKICAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHJldHVybiAiPFR5cGVJbmZvICVyPiIgJSBzZWxmLm5hbWUKKyAgICAgICAgICAgIHJldHVybiAiPCVzICVyPiIgJSAoc2VsZi5fX2NsYXNzX18uX19uYW1lX18sIHNlbGYubmFtZSkKIAogICAgIGRlZiBfZ2V0X25hbWUoc2VsZik6CiAgICAgICAgIHJldHVybiBzZWxmLm5hbWUKZGlmZiAtLWdpdCBhL0xpYi94bWwvZXRyZWUvRWxlbWVudFBhdGgucHkgYi9MaWIveG1sL2V0cmVlL0VsZW1lbnRQYXRoLnB5CmluZGV4IGQ5MTRkZGIuLjVkZTQyMzIgMTAwNjQ0Ci0tLSBhL0xpYi94bWwvZXRyZWUvRWxlbWVudFBhdGgucHkKKysrIGIvTGliL3htbC9ldHJlZS9FbGVtZW50UGF0aC5weQpAQCAtMTE0LDcgKzExNCwxMCBAQAogICAgIHJldHVybiBzZWxlY3QKIAogZGVmIHByZXBhcmVfZGVzY2VuZGFudChuZXh0LCB0b2tlbik6Ci0gICAgdG9rZW4gPSBuZXh0KCkKKyAgICB0cnk6CisgICAgICAgIHRva2VuID0gbmV4dCgpCisgICAgZXhjZXB0IFN0b3BJdGVyYXRpb246CisgICAgICAgIHJldHVybgogICAgIGlmIHRva2VuWzBdID09ICIqIjoKICAgICAgICAgdGFnID0gIioiCiAgICAgZWxpZiBub3QgdG9rZW5bMF06CkBAIC0xNDgsNyArMTUxLDEwIEBACiAgICAgc2lnbmF0dXJlID0gW10KICAgICBwcmVkaWNhdGUgPSBbXQogICAgIHdoaWxlIDE6Ci0gICAgICAgIHRva2VuID0gbmV4dCgpCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHRva2VuID0gbmV4dCgpCisgICAgICAgIGV4Y2VwdCBTdG9wSXRlcmF0aW9uOgorICAgICAgICAgICAgcmV0dXJuCiAgICAgICAgIGlmIHRva2VuWzBdID09ICJdIjoKICAgICAgICAgICAgIGJyZWFrCiAgICAgICAgIGlmIHRva2VuWzBdIGFuZCB0b2tlblswXVs6MV0gaW4gIidcIiI6CkBAIC0yNjEsNyArMjY3LDEwIEBACiAgICAgICAgIGlmIHBhdGhbOjFdID09ICIvIjoKICAgICAgICAgICAgIHJhaXNlIFN5bnRheEVycm9yKCJjYW5ub3QgdXNlIGFic29sdXRlIHBhdGggb24gZWxlbWVudCIpCiAgICAgICAgIG5leHQgPSBpdGVyKHhwYXRoX3Rva2VuaXplcihwYXRoLCBuYW1lc3BhY2VzKSkuX19uZXh0X18KLSAgICAgICAgdG9rZW4gPSBuZXh0KCkKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgdG9rZW4gPSBuZXh0KCkKKyAgICAgICAgZXhjZXB0IFN0b3BJdGVyYXRpb246CisgICAgICAgICAgICByZXR1cm4KICAgICAgICAgc2VsZWN0b3IgPSBbXQogICAgICAgICB3aGlsZSAxOgogICAgICAgICAgICAgdHJ5OgpAQCAtMjg2LDEwICsyOTUsNyBAQAogIyBGaW5kIGZpcnN0IG1hdGNoaW5nIG9iamVjdC4KIAogZGVmIGZpbmQoZWxlbSwgcGF0aCwgbmFtZXNwYWNlcz1Ob25lKToKLSAgICB0cnk6Ci0gICAgICAgIHJldHVybiBuZXh0KGl0ZXJmaW5kKGVsZW0sIHBhdGgsIG5hbWVzcGFjZXMpKQotICAgIGV4Y2VwdCBTdG9wSXRlcmF0aW9uOgotICAgICAgICByZXR1cm4gTm9uZQorICAgIHJldHVybiBuZXh0KGl0ZXJmaW5kKGVsZW0sIHBhdGgsIG5hbWVzcGFjZXMpLCBOb25lKQogCiAjIwogIyBGaW5kIGFsbCBtYXRjaGluZyBvYmplY3RzLgpkaWZmIC0tZ2l0IGEvTGliL3htbC9ldHJlZS9FbGVtZW50VHJlZS5weSBiL0xpYi94bWwvZXRyZWUvRWxlbWVudFRyZWUucHkKaW5kZXggYTg1ODViNi4uNGMxMDlhMiAxMDA2NDQKLS0tIGEvTGliL3htbC9ldHJlZS9FbGVtZW50VHJlZS5weQorKysgYi9MaWIveG1sL2V0cmVlL0VsZW1lbnRUcmVlLnB5CkBAIC0xNzQsNyArMTc0LDcgQEAKICAgICAgICAgc2VsZi5fY2hpbGRyZW4gPSBbXQogCiAgICAgZGVmIF9fcmVwcl9fKHNlbGYpOgotICAgICAgICByZXR1cm4gIjxFbGVtZW50ICVzIGF0IDB4JXg+IiAlIChyZXByKHNlbGYudGFnKSwgaWQoc2VsZikpCisgICAgICAgIHJldHVybiAiPCVzICVyIGF0ICUjeD4iICUgKHNlbGYuX19jbGFzc19fLl9fbmFtZV9fLCBzZWxmLnRhZywgaWQoc2VsZikpCiAKICAgICBkZWYgbWFrZWVsZW1lbnQoc2VsZiwgdGFnLCBhdHRyaWIpOgogICAgICAgICAiIiJDcmVhdGUgYSBuZXcgZWxlbWVudCB3aXRoIHRoZSBzYW1lIHR5cGUuCkBAIC01MDksNyArNTA5LDcgQEAKICAgICBkZWYgX19zdHJfXyhzZWxmKToKICAgICAgICAgcmV0dXJuIHNlbGYudGV4dAogICAgIGRlZiBfX3JlcHJfXyhzZWxmKToKLSAgICAgICAgcmV0dXJuICc8UU5hbWUgJXI+JyAlIChzZWxmLnRleHQsKQorICAgICAgICByZXR1cm4gJzwlcyAlcj4nICUgKHNlbGYuX19jbGFzc19fLl9fbmFtZV9fLCBzZWxmLnRleHQpCiAgICAgZGVmIF9faGFzaF9fKHNlbGYpOgogICAgICAgICByZXR1cm4gaGFzaChzZWxmLnRleHQpCiAgICAgZGVmIF9fbGVfXyhzZWxmLCBvdGhlcik6CkBAIC01MzIsMTAgKzUzMiw2IEBACiAgICAgICAgIGlmIGlzaW5zdGFuY2Uob3RoZXIsIFFOYW1lKToKICAgICAgICAgICAgIHJldHVybiBzZWxmLnRleHQgPT0gb3RoZXIudGV4dAogICAgICAgICByZXR1cm4gc2VsZi50ZXh0ID09IG90aGVyCi0gICAgZGVmIF9fbmVfXyhzZWxmLCBvdGhlcik6Ci0gICAgICAgIGlmIGlzaW5zdGFuY2Uob3RoZXIsIFFOYW1lKToKLSAgICAgICAgICAgIHJldHVybiBzZWxmLnRleHQgIT0gb3RoZXIudGV4dAotICAgICAgICByZXR1cm4gc2VsZi50ZXh0ICE9IG90aGVyCiAKICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIApkaWZmIC0tZ2l0IGEvTGliL3htbHJwYy9jbGllbnQucHkgYi9MaWIveG1scnBjL2NsaWVudC5weQppbmRleCBlOGMxOTQ0Li4wNDc5MjlhIDEwMDY0NAotLS0gYS9MaWIveG1scnBjL2NsaWVudC5weQorKysgYi9MaWIveG1scnBjL2NsaWVudC5weQpAQCAtMjA4LDggKzIwOCw4IEBACiAgICAgICAgIHNlbGYuaGVhZGVycyA9IGhlYWRlcnMKICAgICBkZWYgX19yZXByX18oc2VsZik6CiAgICAgICAgIHJldHVybiAoCi0gICAgICAgICAgICAiPFByb3RvY29sRXJyb3IgZm9yICVzOiAlcyAlcz4iICUKLSAgICAgICAgICAgIChzZWxmLnVybCwgc2VsZi5lcnJjb2RlLCBzZWxmLmVycm1zZykKKyAgICAgICAgICAgICI8JXMgZm9yICVzOiAlcyAlcz4iICUKKyAgICAgICAgICAgIChzZWxmLl9fY2xhc3NfXy5fX25hbWVfXywgc2VsZi51cmwsIHNlbGYuZXJyY29kZSwgc2VsZi5lcnJtc2cpCiAgICAgICAgICAgICApCiAKICMjCkBAIC0yMzcsNyArMjM3LDggQEAKICAgICAgICAgc2VsZi5mYXVsdENvZGUgPSBmYXVsdENvZGUKICAgICAgICAgc2VsZi5mYXVsdFN0cmluZyA9IGZhdWx0U3RyaW5nCiAgICAgZGVmIF9fcmVwcl9fKHNlbGYpOgotICAgICAgICByZXR1cm4gIjxGYXVsdCAlczogJXI+IiAlIChzZWxmLmZhdWx0Q29kZSwgc2VsZi5mYXVsdFN0cmluZykKKyAgICAgICAgcmV0dXJuICI8JXMgJXM6ICVyPiIgJSAoc2VsZi5fX2NsYXNzX18uX19uYW1lX18sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuZmF1bHRDb2RlLCBzZWxmLmZhdWx0U3RyaW5nKQogCiAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAjIFNwZWNpYWwgdmFsdWVzCkBAIC0zMzksMTAgKzM0MCw2IEBACiAgICAgICAgIHMsIG8gPSBzZWxmLm1ha2VfY29tcGFyYWJsZShvdGhlcikKICAgICAgICAgcmV0dXJuIHMgPT0gbwogCi0gICAgZGVmIF9fbmVfXyhzZWxmLCBvdGhlcik6Ci0gICAgICAgIHMsIG8gPSBzZWxmLm1ha2VfY29tcGFyYWJsZShvdGhlcikKLSAgICAgICAgcmV0dXJuIHMgIT0gbwotCiAgICAgZGVmIHRpbWV0dXBsZShzZWxmKToKICAgICAgICAgcmV0dXJuIHRpbWUuc3RycHRpbWUoc2VsZi52YWx1ZSwgIiVZJW0lZFQlSDolTTolUyIpCiAKQEAgLTM1NSw3ICszNTIsNyBAQAogICAgICAgICByZXR1cm4gc2VsZi52YWx1ZQogCiAgICAgZGVmIF9fcmVwcl9fKHNlbGYpOgotICAgICAgICByZXR1cm4gIjxEYXRlVGltZSAlciBhdCAleD4iICUgKHNlbGYudmFsdWUsIGlkKHNlbGYpKQorICAgICAgICByZXR1cm4gIjwlcyAlciBhdCAlI3g+IiAlIChzZWxmLl9fY2xhc3NfXy5fX25hbWVfXywgc2VsZi52YWx1ZSwgaWQoc2VsZikpCiAKICAgICBkZWYgZGVjb2RlKHNlbGYsIGRhdGEpOgogICAgICAgICBzZWxmLnZhbHVlID0gc3RyKGRhdGEpLnN0cmlwKCkKQEAgLTQwNiwxMSArNDAzLDYgQEAKICAgICAgICAgICAgIG90aGVyID0gb3RoZXIuZGF0YQogICAgICAgICByZXR1cm4gc2VsZi5kYXRhID09IG90aGVyCiAKLSAgICBkZWYgX19uZV9fKHNlbGYsIG90aGVyKToKLSAgICAgICAgaWYgaXNpbnN0YW5jZShvdGhlciwgQmluYXJ5KToKLSAgICAgICAgICAgIG90aGVyID0gb3RoZXIuZGF0YQotICAgICAgICByZXR1cm4gc2VsZi5kYXRhICE9IG90aGVyCi0KICAgICBkZWYgZGVjb2RlKHNlbGYsIGRhdGEpOgogICAgICAgICBzZWxmLmRhdGEgPSBiYXNlNjQuZGVjb2RlYnl0ZXMoZGF0YSkKIApAQCAtODQ3LDcgKzgzOSw3IEBACiAgICAgICAgIHNlbGYuX19jYWxsX2xpc3QgPSBbXQogCiAgICAgZGVmIF9fcmVwcl9fKHNlbGYpOgotICAgICAgICByZXR1cm4gIjxNdWx0aUNhbGwgYXQgJXg+IiAlIGlkKHNlbGYpCisgICAgICAgIHJldHVybiAiPCVzIGF0ICUjeD4iICUgKHNlbGYuX19jbGFzc19fLl9fbmFtZV9fLCBpZChzZWxmKSkKIAogICAgIF9fc3RyX18gPSBfX3JlcHJfXwogCkBAIC0xNDQ0LDggKzE0MzYsOCBAQAogCiAgICAgZGVmIF9fcmVwcl9fKHNlbGYpOgogICAgICAgICByZXR1cm4gKAotICAgICAgICAgICAgIjxTZXJ2ZXJQcm94eSBmb3IgJXMlcz4iICUKLSAgICAgICAgICAgIChzZWxmLl9faG9zdCwgc2VsZi5fX2hhbmRsZXIpCisgICAgICAgICAgICAiPCVzIGZvciAlcyVzPiIgJQorICAgICAgICAgICAgKHNlbGYuX19jbGFzc19fLl9fbmFtZV9fLCBzZWxmLl9faG9zdCwgc2VsZi5fX2hhbmRsZXIpCiAgICAgICAgICAgICApCiAKICAgICBfX3N0cl9fID0gX19yZXByX18KQEAgLTE0NjcsNiArMTQ1OSwxMiBAQAogICAgICAgICAgICAgcmV0dXJuIHNlbGYuX190cmFuc3BvcnQKICAgICAgICAgcmFpc2UgQXR0cmlidXRlRXJyb3IoIkF0dHJpYnV0ZSAlciBub3QgZm91bmQiICUgKGF0dHIsKSkKIAorICAgIGRlZiBfX2VudGVyX18oc2VsZik6CisgICAgICAgIHJldHVybiBzZWxmCisKKyAgICBkZWYgX19leGl0X18oc2VsZiwgKmFyZ3MpOgorICAgICAgICBzZWxmLl9fY2xvc2UoKQorCiAjIGNvbXBhdGliaWxpdHkKIAogU2VydmVyID0gU2VydmVyUHJveHkKZGlmZiAtLWdpdCBhL0xpYi96aXBmaWxlLnB5IGIvTGliL3ppcGZpbGUucHkKaW5kZXggYmRhNjEzNC4uOGMyOTUwZiAxMDA2NDQKLS0tIGEvTGliL3ppcGZpbGUucHkKKysrIGIvTGliL3ppcGZpbGUucHkKQEAgLTEzLDYgKzEzLDcgQEAKIGltcG9ydCBzaHV0aWwKIGltcG9ydCBzdHJ1Y3QKIGltcG9ydCBiaW5hc2NpaQoraW1wb3J0IHRocmVhZGluZwogCiAKIHRyeToKQEAgLTM1NSw2ICszNTYsMjggQEAKICAgICAgICAgIyBjb21wcmVzc19zaXplICAgICAgICAgU2l6ZSBvZiB0aGUgY29tcHJlc3NlZCBmaWxlCiAgICAgICAgICMgZmlsZV9zaXplICAgICAgICAgICAgIFNpemUgb2YgdGhlIHVuY29tcHJlc3NlZCBmaWxlCiAKKyAgICBkZWYgX19yZXByX18oc2VsZik6CisgICAgICAgIHJlc3VsdCA9IFsnPCVzIGZpbGVuYW1lPSVyJyAlIChzZWxmLl9fY2xhc3NfXy5fX25hbWVfXywgc2VsZi5maWxlbmFtZSldCisgICAgICAgIGlmIHNlbGYuY29tcHJlc3NfdHlwZSAhPSBaSVBfU1RPUkVEOgorICAgICAgICAgICAgcmVzdWx0LmFwcGVuZCgnIGNvbXByZXNzX3R5cGU9JXMnICUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgY29tcHJlc3Nvcl9uYW1lcy5nZXQoc2VsZi5jb21wcmVzc190eXBlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmNvbXByZXNzX3R5cGUpKQorICAgICAgICBoaSA9IHNlbGYuZXh0ZXJuYWxfYXR0ciA+PiAxNgorICAgICAgICBsbyA9IHNlbGYuZXh0ZXJuYWxfYXR0ciAmIDB4RkZGRgorICAgICAgICBpZiBoaToKKyAgICAgICAgICAgIHJlc3VsdC5hcHBlbmQoJyBmaWxlbW9kZT0lcicgJSBzdGF0LmZpbGVtb2RlKGhpKSkKKyAgICAgICAgaWYgbG86CisgICAgICAgICAgICByZXN1bHQuYXBwZW5kKCcgZXh0ZXJuYWxfYXR0cj0lI3gnICUgbG8pCisgICAgICAgIGlzZGlyID0gc2VsZi5maWxlbmFtZVstMTpdID09ICcvJworICAgICAgICBpZiBub3QgaXNkaXIgb3Igc2VsZi5maWxlX3NpemU6CisgICAgICAgICAgICByZXN1bHQuYXBwZW5kKCcgZmlsZV9zaXplPSVyJyAlIHNlbGYuZmlsZV9zaXplKQorICAgICAgICBpZiAoKG5vdCBpc2RpciBvciBzZWxmLmNvbXByZXNzX3NpemUpIGFuZAorICAgICAgICAgICAgKHNlbGYuY29tcHJlc3NfdHlwZSAhPSBaSVBfU1RPUkVEIG9yCisgICAgICAgICAgICAgc2VsZi5maWxlX3NpemUgIT0gc2VsZi5jb21wcmVzc19zaXplKSk6CisgICAgICAgICAgICByZXN1bHQuYXBwZW5kKCcgY29tcHJlc3Nfc2l6ZT0lcicgJSBzZWxmLmNvbXByZXNzX3NpemUpCisgICAgICAgIHJlc3VsdC5hcHBlbmQoJz4nKQorICAgICAgICByZXR1cm4gJycuam9pbihyZXN1bHQpCisKICAgICBkZWYgRmlsZUhlYWRlcihzZWxmLCB6aXA2ND1Ob25lKToKICAgICAgICAgIiIiUmV0dXJuIHRoZSBwZXItZmlsZSBoZWFkZXIgYXMgYSBzdHJpbmcuIiIiCiAgICAgICAgIGR0ID0gc2VsZi5kYXRlX3RpbWUKQEAgLTYyNCw2ICs2NDcsMjcgQEAKICAgICAgICAgICAgIHJhaXNlIE5vdEltcGxlbWVudGVkRXJyb3IoImNvbXByZXNzaW9uIHR5cGUgJWQiICUgKGNvbXByZXNzX3R5cGUsKSkKIAogCitjbGFzcyBfU2hhcmVkRmlsZToKKyAgICBkZWYgX19pbml0X18oc2VsZiwgZmlsZSwgcG9zLCBjbG9zZSwgbG9jayk6CisgICAgICAgIHNlbGYuX2ZpbGUgPSBmaWxlCisgICAgICAgIHNlbGYuX3BvcyA9IHBvcworICAgICAgICBzZWxmLl9jbG9zZSA9IGNsb3NlCisgICAgICAgIHNlbGYuX2xvY2sgPSBsb2NrCisKKyAgICBkZWYgcmVhZChzZWxmLCBuPS0xKToKKyAgICAgICAgd2l0aCBzZWxmLl9sb2NrOgorICAgICAgICAgICAgc2VsZi5fZmlsZS5zZWVrKHNlbGYuX3BvcykKKyAgICAgICAgICAgIGRhdGEgPSBzZWxmLl9maWxlLnJlYWQobikKKyAgICAgICAgICAgIHNlbGYuX3BvcyA9IHNlbGYuX2ZpbGUudGVsbCgpCisgICAgICAgICAgICByZXR1cm4gZGF0YQorCisgICAgZGVmIGNsb3NlKHNlbGYpOgorICAgICAgICBpZiBzZWxmLl9maWxlIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgZmlsZW9iaiA9IHNlbGYuX2ZpbGUKKyAgICAgICAgICAgIHNlbGYuX2ZpbGUgPSBOb25lCisgICAgICAgICAgICBzZWxmLl9jbG9zZShmaWxlb2JqKQorCisKIGNsYXNzIFppcEV4dEZpbGUoaW8uQnVmZmVyZWRJT0Jhc2UpOgogICAgICIiIkZpbGUtbGlrZSBvYmplY3QgZm9yIHJlYWRpbmcgYW4gYXJjaGl2ZSBtZW1iZXIuCiAgICAgICAgSXMgcmV0dXJuZWQgYnkgWmlwRmlsZS5vcGVuKCkuCkBAIC02NzEsNiArNzE1LDIwIEBACiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICBzZWxmLl9leHBlY3RlZF9jcmMgPSBOb25lCiAKKyAgICBkZWYgX19yZXByX18oc2VsZik6CisgICAgICAgIHJlc3VsdCA9IFsnPCVzLiVzJyAlIChzZWxmLl9fY2xhc3NfXy5fX21vZHVsZV9fLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fX2NsYXNzX18uX19xdWFsbmFtZV9fKV0KKyAgICAgICAgaWYgbm90IHNlbGYuY2xvc2VkOgorICAgICAgICAgICAgcmVzdWx0LmFwcGVuZCgnIG5hbWU9JXIgbW9kZT0lcicgJSAoc2VsZi5uYW1lLCBzZWxmLm1vZGUpKQorICAgICAgICAgICAgaWYgc2VsZi5fY29tcHJlc3NfdHlwZSAhPSBaSVBfU1RPUkVEOgorICAgICAgICAgICAgICAgIHJlc3VsdC5hcHBlbmQoJyBjb21wcmVzc190eXBlPSVzJyAlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21wcmVzc29yX25hbWVzLmdldChzZWxmLl9jb21wcmVzc190eXBlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fY29tcHJlc3NfdHlwZSkpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICByZXN1bHQuYXBwZW5kKCcgW2Nsb3NlZF0nKQorICAgICAgICByZXN1bHQuYXBwZW5kKCc+JykKKyAgICAgICAgcmV0dXJuICcnLmpvaW4ocmVzdWx0KQorCiAgICAgZGVmIHJlYWRsaW5lKHNlbGYsIGxpbWl0PS0xKToKICAgICAgICAgIiIiUmVhZCBhbmQgcmV0dXJuIGEgbGluZSBmcm9tIHRoZSBzdHJlYW0uCiAKQEAgLTkwOSw3ICs5NjcsNyBAQAogICAgICAgICBzZWxmLk5hbWVUb0luZm8gPSB7fSAgICAjIEZpbmQgZmlsZSBpbmZvIGdpdmVuIG5hbWUKICAgICAgICAgc2VsZi5maWxlbGlzdCA9IFtdICAgICAgIyBMaXN0IG9mIFppcEluZm8gaW5zdGFuY2VzIGZvciBhcmNoaXZlCiAgICAgICAgIHNlbGYuY29tcHJlc3Npb24gPSBjb21wcmVzc2lvbiAgIyBNZXRob2Qgb2YgY29tcHJlc3Npb24KLSAgICAgICAgc2VsZi5tb2RlID0ga2V5ID0gbW9kZS5yZXBsYWNlKCdiJywgJycpWzBdCisgICAgICAgIHNlbGYubW9kZSA9IG1vZGUKICAgICAgICAgc2VsZi5wd2QgPSBOb25lCiAgICAgICAgIHNlbGYuX2NvbW1lbnQgPSBiJycKIApAQCAtOTE4LDI4ICs5NzYsMzQgQEAKICAgICAgICAgICAgICMgTm8sIGl0J3MgYSBmaWxlbmFtZQogICAgICAgICAgICAgc2VsZi5fZmlsZVBhc3NlZCA9IDAKICAgICAgICAgICAgIHNlbGYuZmlsZW5hbWUgPSBmaWxlCi0gICAgICAgICAgICBtb2RlRGljdCA9IHsncicgOiAncmInLCAndyc6ICd3YicsICdhJyA6ICdyK2InfQotICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgIHNlbGYuZnAgPSBpby5vcGVuKGZpbGUsIG1vZGVEaWN0W21vZGVdKQotICAgICAgICAgICAgZXhjZXB0IE9TRXJyb3I6Ci0gICAgICAgICAgICAgICAgaWYgbW9kZSA9PSAnYSc6Ci0gICAgICAgICAgICAgICAgICAgIG1vZGUgPSBrZXkgPSAndycKLSAgICAgICAgICAgICAgICAgICAgc2VsZi5mcCA9IGlvLm9wZW4oZmlsZSwgbW9kZURpY3RbbW9kZV0pCi0gICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgIG1vZGVEaWN0ID0geydyJyA6ICdyYicsICd3JzogJ3crYicsICdhJyA6ICdyK2InLAorICAgICAgICAgICAgICAgICAgICAgICAgJ3IrYic6ICd3K2InLCAndytiJzogJ3diJ30KKyAgICAgICAgICAgIGZpbGVtb2RlID0gbW9kZURpY3RbbW9kZV0KKyAgICAgICAgICAgIHdoaWxlIFRydWU6CisgICAgICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgICAgICBzZWxmLmZwID0gaW8ub3BlbihmaWxlLCBmaWxlbW9kZSkKKyAgICAgICAgICAgICAgICBleGNlcHQgT1NFcnJvcjoKKyAgICAgICAgICAgICAgICAgICAgaWYgZmlsZW1vZGUgaW4gbW9kZURpY3Q6CisgICAgICAgICAgICAgICAgICAgICAgICBmaWxlbW9kZSA9IG1vZGVEaWN0W2ZpbGVtb2RlXQorICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWUKICAgICAgICAgICAgICAgICAgICAgcmFpc2UKKyAgICAgICAgICAgICAgICBicmVhawogICAgICAgICBlbHNlOgogICAgICAgICAgICAgc2VsZi5fZmlsZVBhc3NlZCA9IDEKICAgICAgICAgICAgIHNlbGYuZnAgPSBmaWxlCiAgICAgICAgICAgICBzZWxmLmZpbGVuYW1lID0gZ2V0YXR0cihmaWxlLCAnbmFtZScsIE5vbmUpCisgICAgICAgIHNlbGYuX2ZpbGVSZWZDbnQgPSAxCisgICAgICAgIHNlbGYuX2xvY2sgPSB0aHJlYWRpbmcuUkxvY2soKQogCiAgICAgICAgIHRyeToKLSAgICAgICAgICAgIGlmIGtleSA9PSAncic6CisgICAgICAgICAgICBpZiBtb2RlID09ICdyJzoKICAgICAgICAgICAgICAgICBzZWxmLl9SZWFsR2V0Q29udGVudHMoKQotICAgICAgICAgICAgZWxpZiBrZXkgPT0gJ3cnOgorICAgICAgICAgICAgZWxpZiBtb2RlID09ICd3JzoKICAgICAgICAgICAgICAgICAjIHNldCB0aGUgbW9kaWZpZWQgZmxhZyBzbyBjZW50cmFsIGRpcmVjdG9yeSBnZXRzIHdyaXR0ZW4KICAgICAgICAgICAgICAgICAjIGV2ZW4gaWYgbm8gZmlsZXMgYXJlIGFkZGVkIHRvIHRoZSBhcmNoaXZlCiAgICAgICAgICAgICAgICAgc2VsZi5fZGlkTW9kaWZ5ID0gVHJ1ZQotICAgICAgICAgICAgZWxpZiBrZXkgPT0gJ2EnOgorICAgICAgICAgICAgICAgIHNlbGYuc3RhcnRfZGlyID0gc2VsZi5mcC50ZWxsKCkKKyAgICAgICAgICAgIGVsaWYgbW9kZSA9PSAnYSc6CiAgICAgICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgICAgICAjIFNlZSBpZiBmaWxlIGlzIGEgemlwIGZpbGUKICAgICAgICAgICAgICAgICAgICAgc2VsZi5fUmVhbEdldENvbnRlbnRzKCkKQEAgLTk1MiwxMyArMTAxNiwxMyBAQAogICAgICAgICAgICAgICAgICAgICAjIHNldCB0aGUgbW9kaWZpZWQgZmxhZyBzbyBjZW50cmFsIGRpcmVjdG9yeSBnZXRzIHdyaXR0ZW4KICAgICAgICAgICAgICAgICAgICAgIyBldmVuIGlmIG5vIGZpbGVzIGFyZSBhZGRlZCB0byB0aGUgYXJjaGl2ZQogICAgICAgICAgICAgICAgICAgICBzZWxmLl9kaWRNb2RpZnkgPSBUcnVlCisgICAgICAgICAgICAgICAgICAgIHNlbGYuc3RhcnRfZGlyID0gc2VsZi5mcC50ZWxsKCkKICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgcmFpc2UgUnVudGltZUVycm9yKCdNb2RlIG11c3QgYmUgInIiLCAidyIgb3IgImEiJykKICAgICAgICAgZXhjZXB0OgogICAgICAgICAgICAgZnAgPSBzZWxmLmZwCiAgICAgICAgICAgICBzZWxmLmZwID0gTm9uZQotICAgICAgICAgICAgaWYgbm90IHNlbGYuX2ZpbGVQYXNzZWQ6Ci0gICAgICAgICAgICAgICAgZnAuY2xvc2UoKQorICAgICAgICAgICAgc2VsZi5fZnBjbG9zZShmcCkKICAgICAgICAgICAgIHJhaXNlCiAKICAgICBkZWYgX19lbnRlcl9fKHNlbGYpOgpAQCAtOTY3LDYgKzEwMzEsMjAgQEAKICAgICBkZWYgX19leGl0X18oc2VsZiwgdHlwZSwgdmFsdWUsIHRyYWNlYmFjayk6CiAgICAgICAgIHNlbGYuY2xvc2UoKQogCisgICAgZGVmIF9fcmVwcl9fKHNlbGYpOgorICAgICAgICByZXN1bHQgPSBbJzwlcy4lcycgJSAoc2VsZi5fX2NsYXNzX18uX19tb2R1bGVfXywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX19jbGFzc19fLl9fcXVhbG5hbWVfXyldCisgICAgICAgIGlmIHNlbGYuZnAgaXMgbm90IE5vbmU6CisgICAgICAgICAgICBpZiBzZWxmLl9maWxlUGFzc2VkOgorICAgICAgICAgICAgICAgIHJlc3VsdC5hcHBlbmQoJyBmaWxlPSVyJyAlIHNlbGYuZnApCisgICAgICAgICAgICBlbGlmIHNlbGYuZmlsZW5hbWUgaXMgbm90IE5vbmU6CisgICAgICAgICAgICAgICAgcmVzdWx0LmFwcGVuZCgnIGZpbGVuYW1lPSVyJyAlIHNlbGYuZmlsZW5hbWUpCisgICAgICAgICAgICByZXN1bHQuYXBwZW5kKCcgbW9kZT0lcicgJSBzZWxmLm1vZGUpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICByZXN1bHQuYXBwZW5kKCcgW2Nsb3NlZF0nKQorICAgICAgICByZXN1bHQuYXBwZW5kKCc+JykKKyAgICAgICAgcmV0dXJuICcnLmpvaW4ocmVzdWx0KQorCiAgICAgZGVmIF9SZWFsR2V0Q29udGVudHMoc2VsZik6CiAgICAgICAgICIiIlJlYWQgaW4gdGhlIHRhYmxlIG9mIGNvbnRlbnRzIGZvciB0aGUgWklQIGZpbGUuIiIiCiAgICAgICAgIGZwID0gc2VsZi5mcApAQCAtMTEzMSwyMyArMTIwOSwxNyBAQAogICAgICAgICAgICAgcmFpc2UgUnVudGltZUVycm9yKAogICAgICAgICAgICAgICAgICJBdHRlbXB0IHRvIHJlYWQgWklQIGFyY2hpdmUgdGhhdCB3YXMgYWxyZWFkeSBjbG9zZWQiKQogCi0gICAgICAgICMgT25seSBvcGVuIGEgbmV3IGZpbGUgZm9yIGluc3RhbmNlcyB3aGVyZSB3ZSB3ZXJlIG5vdAotICAgICAgICAjIGdpdmVuIGEgZmlsZSBvYmplY3QgaW4gdGhlIGNvbnN0cnVjdG9yCi0gICAgICAgIGlmIHNlbGYuX2ZpbGVQYXNzZWQ6Ci0gICAgICAgICAgICB6ZWZfZmlsZSA9IHNlbGYuZnAKKyAgICAgICAgIyBNYWtlIHN1cmUgd2UgaGF2ZSBhbiBpbmZvIG9iamVjdAorICAgICAgICBpZiBpc2luc3RhbmNlKG5hbWUsIFppcEluZm8pOgorICAgICAgICAgICAgIyAnbmFtZScgaXMgYWxyZWFkeSBhbiBpbmZvIG9iamVjdAorICAgICAgICAgICAgemluZm8gPSBuYW1lCiAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICB6ZWZfZmlsZSA9IGlvLm9wZW4oc2VsZi5maWxlbmFtZSwgJ3JiJykKKyAgICAgICAgICAgICMgR2V0IGluZm8gb2JqZWN0IGZvciBuYW1lCisgICAgICAgICAgICB6aW5mbyA9IHNlbGYuZ2V0aW5mbyhuYW1lKQogCisgICAgICAgIHNlbGYuX2ZpbGVSZWZDbnQgKz0gMQorICAgICAgICB6ZWZfZmlsZSA9IF9TaGFyZWRGaWxlKHNlbGYuZnAsIHppbmZvLmhlYWRlcl9vZmZzZXQsIHNlbGYuX2ZwY2xvc2UsIHNlbGYuX2xvY2spCiAgICAgICAgIHRyeToKLSAgICAgICAgICAgICMgTWFrZSBzdXJlIHdlIGhhdmUgYW4gaW5mbyBvYmplY3QKLSAgICAgICAgICAgIGlmIGlzaW5zdGFuY2UobmFtZSwgWmlwSW5mbyk6Ci0gICAgICAgICAgICAgICAgIyAnbmFtZScgaXMgYWxyZWFkeSBhbiBpbmZvIG9iamVjdAotICAgICAgICAgICAgICAgIHppbmZvID0gbmFtZQotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICAjIEdldCBpbmZvIG9iamVjdCBmb3IgbmFtZQotICAgICAgICAgICAgICAgIHppbmZvID0gc2VsZi5nZXRpbmZvKG5hbWUpCi0gICAgICAgICAgICB6ZWZfZmlsZS5zZWVrKHppbmZvLmhlYWRlcl9vZmZzZXQsIDApCi0KICAgICAgICAgICAgICMgU2tpcCB0aGUgZmlsZSBoZWFkZXI6CiAgICAgICAgICAgICBmaGVhZGVyID0gemVmX2ZpbGUucmVhZChzaXplRmlsZUhlYWRlcikKICAgICAgICAgICAgIGlmIGxlbihmaGVhZGVyKSAhPSBzaXplRmlsZUhlYWRlcjoKQEAgLTEyMDYsMTEgKzEyNzgsOSBAQAogICAgICAgICAgICAgICAgIGlmIGhbMTFdICE9IGNoZWNrX2J5dGU6CiAgICAgICAgICAgICAgICAgICAgIHJhaXNlIFJ1bnRpbWVFcnJvcigiQmFkIHBhc3N3b3JkIGZvciBmaWxlIiwgbmFtZSkKIAotICAgICAgICAgICAgcmV0dXJuIFppcEV4dEZpbGUoemVmX2ZpbGUsIG1vZGUsIHppbmZvLCB6ZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsb3NlX2ZpbGVvYmo9bm90IHNlbGYuX2ZpbGVQYXNzZWQpCisgICAgICAgICAgICByZXR1cm4gWmlwRXh0RmlsZSh6ZWZfZmlsZSwgbW9kZSwgemluZm8sIHpkLCBUcnVlKQogICAgICAgICBleGNlcHQ6Ci0gICAgICAgICAgICBpZiBub3Qgc2VsZi5fZmlsZVBhc3NlZDoKLSAgICAgICAgICAgICAgICB6ZWZfZmlsZS5jbG9zZSgpCisgICAgICAgICAgICB6ZWZfZmlsZS5jbG9zZSgpCiAgICAgICAgICAgICByYWlzZQogCiAgICAgZGVmIGV4dHJhY3Qoc2VsZiwgbWVtYmVyLCBwYXRoPU5vbmUsIHB3ZD1Ob25lKToKQEAgLTEzNDQsNjYgKzE0MTQsNjkgQEAKIAogICAgICAgICB6aW5mby5maWxlX3NpemUgPSBzdC5zdF9zaXplCiAgICAgICAgIHppbmZvLmZsYWdfYml0cyA9IDB4MDAKLSAgICAgICAgemluZm8uaGVhZGVyX29mZnNldCA9IHNlbGYuZnAudGVsbCgpICAgICMgU3RhcnQgb2YgaGVhZGVyIGJ5dGVzCi0gICAgICAgIGlmIHppbmZvLmNvbXByZXNzX3R5cGUgPT0gWklQX0xaTUE6Ci0gICAgICAgICAgICAjIENvbXByZXNzZWQgZGF0YSBpbmNsdWRlcyBhbiBlbmQtb2Ytc3RyZWFtIChFT1MpIG1hcmtlcgotICAgICAgICAgICAgemluZm8uZmxhZ19iaXRzIHw9IDB4MDIKKyAgICAgICAgd2l0aCBzZWxmLl9sb2NrOgorICAgICAgICAgICAgc2VsZi5mcC5zZWVrKHNlbGYuc3RhcnRfZGlyLCAwKQorICAgICAgICAgICAgemluZm8uaGVhZGVyX29mZnNldCA9IHNlbGYuZnAudGVsbCgpICAgICMgU3RhcnQgb2YgaGVhZGVyIGJ5dGVzCisgICAgICAgICAgICBpZiB6aW5mby5jb21wcmVzc190eXBlID09IFpJUF9MWk1BOgorICAgICAgICAgICAgICAgICMgQ29tcHJlc3NlZCBkYXRhIGluY2x1ZGVzIGFuIGVuZC1vZi1zdHJlYW0gKEVPUykgbWFya2VyCisgICAgICAgICAgICAgICAgemluZm8uZmxhZ19iaXRzIHw9IDB4MDIKIAotICAgICAgICBzZWxmLl93cml0ZWNoZWNrKHppbmZvKQotICAgICAgICBzZWxmLl9kaWRNb2RpZnkgPSBUcnVlCisgICAgICAgICAgICBzZWxmLl93cml0ZWNoZWNrKHppbmZvKQorICAgICAgICAgICAgc2VsZi5fZGlkTW9kaWZ5ID0gVHJ1ZQogCi0gICAgICAgIGlmIGlzZGlyOgotICAgICAgICAgICAgemluZm8uZmlsZV9zaXplID0gMAotICAgICAgICAgICAgemluZm8uY29tcHJlc3Nfc2l6ZSA9IDAKLSAgICAgICAgICAgIHppbmZvLkNSQyA9IDAKLSAgICAgICAgICAgIHppbmZvLmV4dGVybmFsX2F0dHIgfD0gMHgxMCAgIyBNUy1ET1MgZGlyZWN0b3J5IGZsYWcKKyAgICAgICAgICAgIGlmIGlzZGlyOgorICAgICAgICAgICAgICAgIHppbmZvLmZpbGVfc2l6ZSA9IDAKKyAgICAgICAgICAgICAgICB6aW5mby5jb21wcmVzc19zaXplID0gMAorICAgICAgICAgICAgICAgIHppbmZvLkNSQyA9IDAKKyAgICAgICAgICAgICAgICB6aW5mby5leHRlcm5hbF9hdHRyIHw9IDB4MTAgICMgTVMtRE9TIGRpcmVjdG9yeSBmbGFnCisgICAgICAgICAgICAgICAgc2VsZi5maWxlbGlzdC5hcHBlbmQoemluZm8pCisgICAgICAgICAgICAgICAgc2VsZi5OYW1lVG9JbmZvW3ppbmZvLmZpbGVuYW1lXSA9IHppbmZvCisgICAgICAgICAgICAgICAgc2VsZi5mcC53cml0ZSh6aW5mby5GaWxlSGVhZGVyKEZhbHNlKSkKKyAgICAgICAgICAgICAgICBzZWxmLnN0YXJ0X2RpciA9IHNlbGYuZnAudGVsbCgpCisgICAgICAgICAgICAgICAgcmV0dXJuCisKKyAgICAgICAgICAgIGNtcHIgPSBfZ2V0X2NvbXByZXNzb3IoemluZm8uY29tcHJlc3NfdHlwZSkKKyAgICAgICAgICAgIHdpdGggb3BlbihmaWxlbmFtZSwgInJiIikgYXMgZnA6CisgICAgICAgICAgICAgICAgIyBNdXN0IG92ZXJ3cml0ZSBDUkMgYW5kIHNpemVzIHdpdGggY29ycmVjdCBkYXRhIGxhdGVyCisgICAgICAgICAgICAgICAgemluZm8uQ1JDID0gQ1JDID0gMAorICAgICAgICAgICAgICAgIHppbmZvLmNvbXByZXNzX3NpemUgPSBjb21wcmVzc19zaXplID0gMAorICAgICAgICAgICAgICAgICMgQ29tcHJlc3NlZCBzaXplIGNhbiBiZSBsYXJnZXIgdGhhbiB1bmNvbXByZXNzZWQgc2l6ZQorICAgICAgICAgICAgICAgIHppcDY0ID0gc2VsZi5fYWxsb3daaXA2NCBhbmQgXAorICAgICAgICAgICAgICAgICAgICB6aW5mby5maWxlX3NpemUgKiAxLjA1ID4gWklQNjRfTElNSVQKKyAgICAgICAgICAgICAgICBzZWxmLmZwLndyaXRlKHppbmZvLkZpbGVIZWFkZXIoemlwNjQpKQorICAgICAgICAgICAgICAgIGZpbGVfc2l6ZSA9IDAKKyAgICAgICAgICAgICAgICB3aGlsZSAxOgorICAgICAgICAgICAgICAgICAgICBidWYgPSBmcC5yZWFkKDEwMjQgKiA4KQorICAgICAgICAgICAgICAgICAgICBpZiBub3QgYnVmOgorICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWsKKyAgICAgICAgICAgICAgICAgICAgZmlsZV9zaXplID0gZmlsZV9zaXplICsgbGVuKGJ1ZikKKyAgICAgICAgICAgICAgICAgICAgQ1JDID0gY3JjMzIoYnVmLCBDUkMpICYgMHhmZmZmZmZmZgorICAgICAgICAgICAgICAgICAgICBpZiBjbXByOgorICAgICAgICAgICAgICAgICAgICAgICAgYnVmID0gY21wci5jb21wcmVzcyhidWYpCisgICAgICAgICAgICAgICAgICAgICAgICBjb21wcmVzc19zaXplID0gY29tcHJlc3Nfc2l6ZSArIGxlbihidWYpCisgICAgICAgICAgICAgICAgICAgIHNlbGYuZnAud3JpdGUoYnVmKQorICAgICAgICAgICAgaWYgY21wcjoKKyAgICAgICAgICAgICAgICBidWYgPSBjbXByLmZsdXNoKCkKKyAgICAgICAgICAgICAgICBjb21wcmVzc19zaXplID0gY29tcHJlc3Nfc2l6ZSArIGxlbihidWYpCisgICAgICAgICAgICAgICAgc2VsZi5mcC53cml0ZShidWYpCisgICAgICAgICAgICAgICAgemluZm8uY29tcHJlc3Nfc2l6ZSA9IGNvbXByZXNzX3NpemUKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgemluZm8uY29tcHJlc3Nfc2l6ZSA9IGZpbGVfc2l6ZQorICAgICAgICAgICAgemluZm8uQ1JDID0gQ1JDCisgICAgICAgICAgICB6aW5mby5maWxlX3NpemUgPSBmaWxlX3NpemUKKyAgICAgICAgICAgIGlmIG5vdCB6aXA2NCBhbmQgc2VsZi5fYWxsb3daaXA2NDoKKyAgICAgICAgICAgICAgICBpZiBmaWxlX3NpemUgPiBaSVA2NF9MSU1JVDoKKyAgICAgICAgICAgICAgICAgICAgcmFpc2UgUnVudGltZUVycm9yKCdGaWxlIHNpemUgaGFzIGluY3JlYXNlZCBkdXJpbmcgY29tcHJlc3NpbmcnKQorICAgICAgICAgICAgICAgIGlmIGNvbXByZXNzX3NpemUgPiBaSVA2NF9MSU1JVDoKKyAgICAgICAgICAgICAgICAgICAgcmFpc2UgUnVudGltZUVycm9yKCdDb21wcmVzc2VkIHNpemUgbGFyZ2VyIHRoYW4gdW5jb21wcmVzc2VkIHNpemUnKQorICAgICAgICAgICAgIyBTZWVrIGJhY2t3YXJkcyBhbmQgd3JpdGUgZmlsZSBoZWFkZXIgKHdoaWNoIHdpbGwgbm93IGluY2x1ZGUKKyAgICAgICAgICAgICMgY29ycmVjdCBDUkMgYW5kIGZpbGUgc2l6ZXMpCisgICAgICAgICAgICBzZWxmLnN0YXJ0X2RpciA9IHNlbGYuZnAudGVsbCgpICAgICAgICMgUHJlc2VydmUgY3VycmVudCBwb3NpdGlvbiBpbiBmaWxlCisgICAgICAgICAgICBzZWxmLmZwLnNlZWsoemluZm8uaGVhZGVyX29mZnNldCwgMCkKKyAgICAgICAgICAgIHNlbGYuZnAud3JpdGUoemluZm8uRmlsZUhlYWRlcih6aXA2NCkpCisgICAgICAgICAgICBzZWxmLmZwLnNlZWsoc2VsZi5zdGFydF9kaXIsIDApCiAgICAgICAgICAgICBzZWxmLmZpbGVsaXN0LmFwcGVuZCh6aW5mbykKICAgICAgICAgICAgIHNlbGYuTmFtZVRvSW5mb1t6aW5mby5maWxlbmFtZV0gPSB6aW5mbwotICAgICAgICAgICAgc2VsZi5mcC53cml0ZSh6aW5mby5GaWxlSGVhZGVyKEZhbHNlKSkKLSAgICAgICAgICAgIHJldHVybgotCi0gICAgICAgIGNtcHIgPSBfZ2V0X2NvbXByZXNzb3IoemluZm8uY29tcHJlc3NfdHlwZSkKLSAgICAgICAgd2l0aCBvcGVuKGZpbGVuYW1lLCAicmIiKSBhcyBmcDoKLSAgICAgICAgICAgICMgTXVzdCBvdmVyd3JpdGUgQ1JDIGFuZCBzaXplcyB3aXRoIGNvcnJlY3QgZGF0YSBsYXRlcgotICAgICAgICAgICAgemluZm8uQ1JDID0gQ1JDID0gMAotICAgICAgICAgICAgemluZm8uY29tcHJlc3Nfc2l6ZSA9IGNvbXByZXNzX3NpemUgPSAwCi0gICAgICAgICAgICAjIENvbXByZXNzZWQgc2l6ZSBjYW4gYmUgbGFyZ2VyIHRoYW4gdW5jb21wcmVzc2VkIHNpemUKLSAgICAgICAgICAgIHppcDY0ID0gc2VsZi5fYWxsb3daaXA2NCBhbmQgXAotICAgICAgICAgICAgICAgIHppbmZvLmZpbGVfc2l6ZSAqIDEuMDUgPiBaSVA2NF9MSU1JVAotICAgICAgICAgICAgc2VsZi5mcC53cml0ZSh6aW5mby5GaWxlSGVhZGVyKHppcDY0KSkKLSAgICAgICAgICAgIGZpbGVfc2l6ZSA9IDAKLSAgICAgICAgICAgIHdoaWxlIDE6Ci0gICAgICAgICAgICAgICAgYnVmID0gZnAucmVhZCgxMDI0ICogOCkKLSAgICAgICAgICAgICAgICBpZiBub3QgYnVmOgotICAgICAgICAgICAgICAgICAgICBicmVhawotICAgICAgICAgICAgICAgIGZpbGVfc2l6ZSA9IGZpbGVfc2l6ZSArIGxlbihidWYpCi0gICAgICAgICAgICAgICAgQ1JDID0gY3JjMzIoYnVmLCBDUkMpICYgMHhmZmZmZmZmZgotICAgICAgICAgICAgICAgIGlmIGNtcHI6Ci0gICAgICAgICAgICAgICAgICAgIGJ1ZiA9IGNtcHIuY29tcHJlc3MoYnVmKQotICAgICAgICAgICAgICAgICAgICBjb21wcmVzc19zaXplID0gY29tcHJlc3Nfc2l6ZSArIGxlbihidWYpCi0gICAgICAgICAgICAgICAgc2VsZi5mcC53cml0ZShidWYpCi0gICAgICAgIGlmIGNtcHI6Ci0gICAgICAgICAgICBidWYgPSBjbXByLmZsdXNoKCkKLSAgICAgICAgICAgIGNvbXByZXNzX3NpemUgPSBjb21wcmVzc19zaXplICsgbGVuKGJ1ZikKLSAgICAgICAgICAgIHNlbGYuZnAud3JpdGUoYnVmKQotICAgICAgICAgICAgemluZm8uY29tcHJlc3Nfc2l6ZSA9IGNvbXByZXNzX3NpemUKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHppbmZvLmNvbXByZXNzX3NpemUgPSBmaWxlX3NpemUKLSAgICAgICAgemluZm8uQ1JDID0gQ1JDCi0gICAgICAgIHppbmZvLmZpbGVfc2l6ZSA9IGZpbGVfc2l6ZQotICAgICAgICBpZiBub3QgemlwNjQgYW5kIHNlbGYuX2FsbG93WmlwNjQ6Ci0gICAgICAgICAgICBpZiBmaWxlX3NpemUgPiBaSVA2NF9MSU1JVDoKLSAgICAgICAgICAgICAgICByYWlzZSBSdW50aW1lRXJyb3IoJ0ZpbGUgc2l6ZSBoYXMgaW5jcmVhc2VkIGR1cmluZyBjb21wcmVzc2luZycpCi0gICAgICAgICAgICBpZiBjb21wcmVzc19zaXplID4gWklQNjRfTElNSVQ6Ci0gICAgICAgICAgICAgICAgcmFpc2UgUnVudGltZUVycm9yKCdDb21wcmVzc2VkIHNpemUgbGFyZ2VyIHRoYW4gdW5jb21wcmVzc2VkIHNpemUnKQotICAgICAgICAjIFNlZWsgYmFja3dhcmRzIGFuZCB3cml0ZSBmaWxlIGhlYWRlciAod2hpY2ggd2lsbCBub3cgaW5jbHVkZQotICAgICAgICAjIGNvcnJlY3QgQ1JDIGFuZCBmaWxlIHNpemVzKQotICAgICAgICBwb3NpdGlvbiA9IHNlbGYuZnAudGVsbCgpICAgICAgICMgUHJlc2VydmUgY3VycmVudCBwb3NpdGlvbiBpbiBmaWxlCi0gICAgICAgIHNlbGYuZnAuc2Vlayh6aW5mby5oZWFkZXJfb2Zmc2V0LCAwKQotICAgICAgICBzZWxmLmZwLndyaXRlKHppbmZvLkZpbGVIZWFkZXIoemlwNjQpKQotICAgICAgICBzZWxmLmZwLnNlZWsocG9zaXRpb24sIDApCi0gICAgICAgIHNlbGYuZmlsZWxpc3QuYXBwZW5kKHppbmZvKQotICAgICAgICBzZWxmLk5hbWVUb0luZm9bemluZm8uZmlsZW5hbWVdID0gemluZm8KIAogICAgIGRlZiB3cml0ZXN0cihzZWxmLCB6aW5mb19vcl9hcmNuYW1lLCBkYXRhLCBjb21wcmVzc190eXBlPU5vbmUpOgogICAgICAgICAiIiJXcml0ZSBhIGZpbGUgaW50byB0aGUgYXJjaGl2ZS4gIFRoZSBjb250ZW50cyBpcyAnZGF0YScsIHdoaWNoCkBAIC0xNDMwLDM2ICsxNTAzLDQ2IEBACiAgICAgICAgICAgICAgICAgIkF0dGVtcHQgdG8gd3JpdGUgdG8gWklQIGFyY2hpdmUgdGhhdCB3YXMgYWxyZWFkeSBjbG9zZWQiKQogCiAgICAgICAgIHppbmZvLmZpbGVfc2l6ZSA9IGxlbihkYXRhKSAgICAgICAgICAgICMgVW5jb21wcmVzc2VkIHNpemUKLSAgICAgICAgemluZm8uaGVhZGVyX29mZnNldCA9IHNlbGYuZnAudGVsbCgpICAgICMgU3RhcnQgb2YgaGVhZGVyIGRhdGEKLSAgICAgICAgaWYgY29tcHJlc3NfdHlwZSBpcyBub3QgTm9uZToKLSAgICAgICAgICAgIHppbmZvLmNvbXByZXNzX3R5cGUgPSBjb21wcmVzc190eXBlCi0gICAgICAgIGlmIHppbmZvLmNvbXByZXNzX3R5cGUgPT0gWklQX0xaTUE6Ci0gICAgICAgICAgICAjIENvbXByZXNzZWQgZGF0YSBpbmNsdWRlcyBhbiBlbmQtb2Ytc3RyZWFtIChFT1MpIG1hcmtlcgotICAgICAgICAgICAgemluZm8uZmxhZ19iaXRzIHw9IDB4MDIKKyAgICAgICAgd2l0aCBzZWxmLl9sb2NrOgorICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgIHNlbGYuZnAuc2VlayhzZWxmLnN0YXJ0X2RpcikKKyAgICAgICAgICAgIGV4Y2VwdCAoQXR0cmlidXRlRXJyb3IsIGlvLlVuc3VwcG9ydGVkT3BlcmF0aW9uKToKKyAgICAgICAgICAgICAgICAjIFNvbWUgZmlsZS1saWtlIG9iamVjdHMgY2FuIHByb3ZpZGUgdGVsbCgpIGJ1dCBub3Qgc2VlaygpCisgICAgICAgICAgICAgICAgcGFzcworICAgICAgICAgICAgemluZm8uaGVhZGVyX29mZnNldCA9IHNlbGYuZnAudGVsbCgpICAgICMgU3RhcnQgb2YgaGVhZGVyIGRhdGEKKyAgICAgICAgICAgIGlmIGNvbXByZXNzX3R5cGUgaXMgbm90IE5vbmU6CisgICAgICAgICAgICAgICAgemluZm8uY29tcHJlc3NfdHlwZSA9IGNvbXByZXNzX3R5cGUKKyAgICAgICAgICAgIHppbmZvLmhlYWRlcl9vZmZzZXQgPSBzZWxmLmZwLnRlbGwoKSAgICAjIFN0YXJ0IG9mIGhlYWRlciBkYXRhCisgICAgICAgICAgICBpZiBjb21wcmVzc190eXBlIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgICAgIHppbmZvLmNvbXByZXNzX3R5cGUgPSBjb21wcmVzc190eXBlCisgICAgICAgICAgICBpZiB6aW5mby5jb21wcmVzc190eXBlID09IFpJUF9MWk1BOgorICAgICAgICAgICAgICAgICMgQ29tcHJlc3NlZCBkYXRhIGluY2x1ZGVzIGFuIGVuZC1vZi1zdHJlYW0gKEVPUykgbWFya2VyCisgICAgICAgICAgICAgICAgemluZm8uZmxhZ19iaXRzIHw9IDB4MDIKIAotICAgICAgICBzZWxmLl93cml0ZWNoZWNrKHppbmZvKQotICAgICAgICBzZWxmLl9kaWRNb2RpZnkgPSBUcnVlCi0gICAgICAgIHppbmZvLkNSQyA9IGNyYzMyKGRhdGEpICYgMHhmZmZmZmZmZiAgICAgICAjIENSQy0zMiBjaGVja3N1bQotICAgICAgICBjbyA9IF9nZXRfY29tcHJlc3Nvcih6aW5mby5jb21wcmVzc190eXBlKQotICAgICAgICBpZiBjbzoKLSAgICAgICAgICAgIGRhdGEgPSBjby5jb21wcmVzcyhkYXRhKSArIGNvLmZsdXNoKCkKLSAgICAgICAgICAgIHppbmZvLmNvbXByZXNzX3NpemUgPSBsZW4oZGF0YSkgICAgIyBDb21wcmVzc2VkIHNpemUKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHppbmZvLmNvbXByZXNzX3NpemUgPSB6aW5mby5maWxlX3NpemUKLSAgICAgICAgemlwNjQgPSB6aW5mby5maWxlX3NpemUgPiBaSVA2NF9MSU1JVCBvciBcCi0gICAgICAgICAgICB6aW5mby5jb21wcmVzc19zaXplID4gWklQNjRfTElNSVQKLSAgICAgICAgaWYgemlwNjQgYW5kIG5vdCBzZWxmLl9hbGxvd1ppcDY0OgotICAgICAgICAgICAgcmFpc2UgTGFyZ2VaaXBGaWxlKCJGaWxlc2l6ZSB3b3VsZCByZXF1aXJlIFpJUDY0IGV4dGVuc2lvbnMiKQotICAgICAgICBzZWxmLmZwLndyaXRlKHppbmZvLkZpbGVIZWFkZXIoemlwNjQpKQotICAgICAgICBzZWxmLmZwLndyaXRlKGRhdGEpCi0gICAgICAgIGlmIHppbmZvLmZsYWdfYml0cyAmIDB4MDg6Ci0gICAgICAgICAgICAjIFdyaXRlIENSQyBhbmQgZmlsZSBzaXplcyBhZnRlciB0aGUgZmlsZSBkYXRhCi0gICAgICAgICAgICBmbXQgPSAnPExRUScgaWYgemlwNjQgZWxzZSAnPExMTCcKLSAgICAgICAgICAgIHNlbGYuZnAud3JpdGUoc3RydWN0LnBhY2soZm10LCB6aW5mby5DUkMsIHppbmZvLmNvbXByZXNzX3NpemUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHppbmZvLmZpbGVfc2l6ZSkpCi0gICAgICAgIHNlbGYuZnAuZmx1c2goKQotICAgICAgICBzZWxmLmZpbGVsaXN0LmFwcGVuZCh6aW5mbykKLSAgICAgICAgc2VsZi5OYW1lVG9JbmZvW3ppbmZvLmZpbGVuYW1lXSA9IHppbmZvCisgICAgICAgICAgICBzZWxmLl93cml0ZWNoZWNrKHppbmZvKQorICAgICAgICAgICAgc2VsZi5fZGlkTW9kaWZ5ID0gVHJ1ZQorICAgICAgICAgICAgemluZm8uQ1JDID0gY3JjMzIoZGF0YSkgJiAweGZmZmZmZmZmICAgICAgICMgQ1JDLTMyIGNoZWNrc3VtCisgICAgICAgICAgICBjbyA9IF9nZXRfY29tcHJlc3Nvcih6aW5mby5jb21wcmVzc190eXBlKQorICAgICAgICAgICAgaWYgY286CisgICAgICAgICAgICAgICAgZGF0YSA9IGNvLmNvbXByZXNzKGRhdGEpICsgY28uZmx1c2goKQorICAgICAgICAgICAgICAgIHppbmZvLmNvbXByZXNzX3NpemUgPSBsZW4oZGF0YSkgICAgIyBDb21wcmVzc2VkIHNpemUKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgemluZm8uY29tcHJlc3Nfc2l6ZSA9IHppbmZvLmZpbGVfc2l6ZQorICAgICAgICAgICAgemlwNjQgPSB6aW5mby5maWxlX3NpemUgPiBaSVA2NF9MSU1JVCBvciBcCisgICAgICAgICAgICAgICAgemluZm8uY29tcHJlc3Nfc2l6ZSA+IFpJUDY0X0xJTUlUCisgICAgICAgICAgICBpZiB6aXA2NCBhbmQgbm90IHNlbGYuX2FsbG93WmlwNjQ6CisgICAgICAgICAgICAgICAgcmFpc2UgTGFyZ2VaaXBGaWxlKCJGaWxlc2l6ZSB3b3VsZCByZXF1aXJlIFpJUDY0IGV4dGVuc2lvbnMiKQorICAgICAgICAgICAgc2VsZi5mcC53cml0ZSh6aW5mby5GaWxlSGVhZGVyKHppcDY0KSkKKyAgICAgICAgICAgIHNlbGYuZnAud3JpdGUoZGF0YSkKKyAgICAgICAgICAgIGlmIHppbmZvLmZsYWdfYml0cyAmIDB4MDg6CisgICAgICAgICAgICAgICAgIyBXcml0ZSBDUkMgYW5kIGZpbGUgc2l6ZXMgYWZ0ZXIgdGhlIGZpbGUgZGF0YQorICAgICAgICAgICAgICAgIGZtdCA9ICc8TFFRJyBpZiB6aXA2NCBlbHNlICc8TExMJworICAgICAgICAgICAgICAgIHNlbGYuZnAud3JpdGUoc3RydWN0LnBhY2soZm10LCB6aW5mby5DUkMsIHppbmZvLmNvbXByZXNzX3NpemUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB6aW5mby5maWxlX3NpemUpKQorICAgICAgICAgICAgc2VsZi5mcC5mbHVzaCgpCisgICAgICAgICAgICBzZWxmLnN0YXJ0X2RpciA9IHNlbGYuZnAudGVsbCgpCisgICAgICAgICAgICBzZWxmLmZpbGVsaXN0LmFwcGVuZCh6aW5mbykKKyAgICAgICAgICAgIHNlbGYuTmFtZVRvSW5mb1t6aW5mby5maWxlbmFtZV0gPSB6aW5mbwogCiAgICAgZGVmIF9fZGVsX18oc2VsZik6CiAgICAgICAgICIiIkNhbGwgdGhlICJjbG9zZSgpIiBtZXRob2QgaW4gY2FzZSB0aGUgdXNlciBmb3Jnb3QuIiIiCkBAIC0xNDczLDExMSArMTU1NiwxMjQgQEAKIAogICAgICAgICB0cnk6CiAgICAgICAgICAgICBpZiBzZWxmLm1vZGUgaW4gKCJ3IiwgImEiKSBhbmQgc2VsZi5fZGlkTW9kaWZ5OiAjIHdyaXRlIGVuZGluZyByZWNvcmRzCi0gICAgICAgICAgICAgICAgcG9zMSA9IHNlbGYuZnAudGVsbCgpCi0gICAgICAgICAgICAgICAgZm9yIHppbmZvIGluIHNlbGYuZmlsZWxpc3Q6ICAgICAgICAgIyB3cml0ZSBjZW50cmFsIGRpcmVjdG9yeQotICAgICAgICAgICAgICAgICAgICBkdCA9IHppbmZvLmRhdGVfdGltZQotICAgICAgICAgICAgICAgICAgICBkb3NkYXRlID0gKGR0WzBdIC0gMTk4MCkgPDwgOSB8IGR0WzFdIDw8IDUgfCBkdFsyXQotICAgICAgICAgICAgICAgICAgICBkb3N0aW1lID0gZHRbM10gPDwgMTEgfCBkdFs0XSA8PCA1IHwgKGR0WzVdIC8vIDIpCi0gICAgICAgICAgICAgICAgICAgIGV4dHJhID0gW10KLSAgICAgICAgICAgICAgICAgICAgaWYgemluZm8uZmlsZV9zaXplID4gWklQNjRfTElNSVQgXAotICAgICAgICAgICAgICAgICAgICAgICBvciB6aW5mby5jb21wcmVzc19zaXplID4gWklQNjRfTElNSVQ6Ci0gICAgICAgICAgICAgICAgICAgICAgICBleHRyYS5hcHBlbmQoemluZm8uZmlsZV9zaXplKQotICAgICAgICAgICAgICAgICAgICAgICAgZXh0cmEuYXBwZW5kKHppbmZvLmNvbXByZXNzX3NpemUpCi0gICAgICAgICAgICAgICAgICAgICAgICBmaWxlX3NpemUgPSAweGZmZmZmZmZmCi0gICAgICAgICAgICAgICAgICAgICAgICBjb21wcmVzc19zaXplID0gMHhmZmZmZmZmZgotICAgICAgICAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgICAgICAgICAgZmlsZV9zaXplID0gemluZm8uZmlsZV9zaXplCi0gICAgICAgICAgICAgICAgICAgICAgICBjb21wcmVzc19zaXplID0gemluZm8uY29tcHJlc3Nfc2l6ZQotCi0gICAgICAgICAgICAgICAgICAgIGlmIHppbmZvLmhlYWRlcl9vZmZzZXQgPiBaSVA2NF9MSU1JVDoKLSAgICAgICAgICAgICAgICAgICAgICAgIGV4dHJhLmFwcGVuZCh6aW5mby5oZWFkZXJfb2Zmc2V0KQotICAgICAgICAgICAgICAgICAgICAgICAgaGVhZGVyX29mZnNldCA9IDB4ZmZmZmZmZmYKLSAgICAgICAgICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICAgICAgICAgIGhlYWRlcl9vZmZzZXQgPSB6aW5mby5oZWFkZXJfb2Zmc2V0Ci0KLSAgICAgICAgICAgICAgICAgICAgZXh0cmFfZGF0YSA9IHppbmZvLmV4dHJhCi0gICAgICAgICAgICAgICAgICAgIG1pbl92ZXJzaW9uID0gMAotICAgICAgICAgICAgICAgICAgICBpZiBleHRyYToKLSAgICAgICAgICAgICAgICAgICAgICAgICMgQXBwZW5kIGEgWklQNjQgZmllbGQgdG8gdGhlIGV4dHJhJ3MKLSAgICAgICAgICAgICAgICAgICAgICAgIGV4dHJhX2RhdGEgPSBzdHJ1Y3QucGFjaygKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPEhIJyArICdRJypsZW4oZXh0cmEpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEsIDgqbGVuKGV4dHJhKSwgKmV4dHJhKSArIGV4dHJhX2RhdGEKLQotICAgICAgICAgICAgICAgICAgICAgICAgbWluX3ZlcnNpb24gPSBaSVA2NF9WRVJTSU9OCi0KLSAgICAgICAgICAgICAgICAgICAgaWYgemluZm8uY29tcHJlc3NfdHlwZSA9PSBaSVBfQlpJUDI6Ci0gICAgICAgICAgICAgICAgICAgICAgICBtaW5fdmVyc2lvbiA9IG1heChCWklQMl9WRVJTSU9OLCBtaW5fdmVyc2lvbikKLSAgICAgICAgICAgICAgICAgICAgZWxpZiB6aW5mby5jb21wcmVzc190eXBlID09IFpJUF9MWk1BOgotICAgICAgICAgICAgICAgICAgICAgICAgbWluX3ZlcnNpb24gPSBtYXgoTFpNQV9WRVJTSU9OLCBtaW5fdmVyc2lvbikKLQotICAgICAgICAgICAgICAgICAgICBleHRyYWN0X3ZlcnNpb24gPSBtYXgobWluX3ZlcnNpb24sIHppbmZvLmV4dHJhY3RfdmVyc2lvbikKLSAgICAgICAgICAgICAgICAgICAgY3JlYXRlX3ZlcnNpb24gPSBtYXgobWluX3ZlcnNpb24sIHppbmZvLmNyZWF0ZV92ZXJzaW9uKQorICAgICAgICAgICAgICAgIHdpdGggc2VsZi5fbG9jazoKICAgICAgICAgICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgICAgICAgICAgZmlsZW5hbWUsIGZsYWdfYml0cyA9IHppbmZvLl9lbmNvZGVGaWxlbmFtZUZsYWdzKCkKLSAgICAgICAgICAgICAgICAgICAgICAgIGNlbnRkaXIgPSBzdHJ1Y3QucGFjayhzdHJ1Y3RDZW50cmFsRGlyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cmluZ0NlbnRyYWxEaXIsIGNyZWF0ZV92ZXJzaW9uLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHppbmZvLmNyZWF0ZV9zeXN0ZW0sIGV4dHJhY3RfdmVyc2lvbiwgemluZm8ucmVzZXJ2ZWQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxhZ19iaXRzLCB6aW5mby5jb21wcmVzc190eXBlLCBkb3N0aW1lLCBkb3NkYXRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHppbmZvLkNSQywgY29tcHJlc3Nfc2l6ZSwgZmlsZV9zaXplLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlbihmaWxlbmFtZSksIGxlbihleHRyYV9kYXRhKSwgbGVuKHppbmZvLmNvbW1lbnQpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAsIHppbmZvLmludGVybmFsX2F0dHIsIHppbmZvLmV4dGVybmFsX2F0dHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVhZGVyX29mZnNldCkKLSAgICAgICAgICAgICAgICAgICAgZXhjZXB0IERlcHJlY2F0aW9uV2FybmluZzoKLSAgICAgICAgICAgICAgICAgICAgICAgIHByaW50KChzdHJ1Y3RDZW50cmFsRGlyLCBzdHJpbmdDZW50cmFsRGlyLCBjcmVhdGVfdmVyc2lvbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB6aW5mby5jcmVhdGVfc3lzdGVtLCBleHRyYWN0X3ZlcnNpb24sIHppbmZvLnJlc2VydmVkLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHppbmZvLmZsYWdfYml0cywgemluZm8uY29tcHJlc3NfdHlwZSwgZG9zdGltZSwgZG9zZGF0ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB6aW5mby5DUkMsIGNvbXByZXNzX3NpemUsIGZpbGVfc2l6ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZW4oemluZm8uZmlsZW5hbWUpLCBsZW4oZXh0cmFfZGF0YSksIGxlbih6aW5mby5jb21tZW50KSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLCB6aW5mby5pbnRlcm5hbF9hdHRyLCB6aW5mby5leHRlcm5hbF9hdHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlYWRlcl9vZmZzZXQpLCBmaWxlPXN5cy5zdGRlcnIpCi0gICAgICAgICAgICAgICAgICAgICAgICByYWlzZQotICAgICAgICAgICAgICAgICAgICBzZWxmLmZwLndyaXRlKGNlbnRkaXIpCi0gICAgICAgICAgICAgICAgICAgIHNlbGYuZnAud3JpdGUoZmlsZW5hbWUpCi0gICAgICAgICAgICAgICAgICAgIHNlbGYuZnAud3JpdGUoZXh0cmFfZGF0YSkKLSAgICAgICAgICAgICAgICAgICAgc2VsZi5mcC53cml0ZSh6aW5mby5jb21tZW50KQotCi0gICAgICAgICAgICAgICAgcG9zMiA9IHNlbGYuZnAudGVsbCgpCi0gICAgICAgICAgICAgICAgIyBXcml0ZSBlbmQtb2YtemlwLWFyY2hpdmUgcmVjb3JkCi0gICAgICAgICAgICAgICAgY2VudERpckNvdW50ID0gbGVuKHNlbGYuZmlsZWxpc3QpCi0gICAgICAgICAgICAgICAgY2VudERpclNpemUgPSBwb3MyIC0gcG9zMQotICAgICAgICAgICAgICAgIGNlbnREaXJPZmZzZXQgPSBwb3MxCi0gICAgICAgICAgICAgICAgcmVxdWlyZXNfemlwNjQgPSBOb25lCi0gICAgICAgICAgICAgICAgaWYgY2VudERpckNvdW50ID4gWklQX0ZJTEVDT1VOVF9MSU1JVDoKLSAgICAgICAgICAgICAgICAgICAgcmVxdWlyZXNfemlwNjQgPSAiRmlsZXMgY291bnQiCi0gICAgICAgICAgICAgICAgZWxpZiBjZW50RGlyT2Zmc2V0ID4gWklQNjRfTElNSVQ6Ci0gICAgICAgICAgICAgICAgICAgIHJlcXVpcmVzX3ppcDY0ID0gIkNlbnRyYWwgZGlyZWN0b3J5IG9mZnNldCIKLSAgICAgICAgICAgICAgICBlbGlmIGNlbnREaXJTaXplID4gWklQNjRfTElNSVQ6Ci0gICAgICAgICAgICAgICAgICAgIHJlcXVpcmVzX3ppcDY0ID0gIkNlbnRyYWwgZGlyZWN0b3J5IHNpemUiCi0gICAgICAgICAgICAgICAgaWYgcmVxdWlyZXNfemlwNjQ6Ci0gICAgICAgICAgICAgICAgICAgICMgTmVlZCB0byB3cml0ZSB0aGUgWklQNjQgZW5kLW9mLWFyY2hpdmUgcmVjb3JkcwotICAgICAgICAgICAgICAgICAgICBpZiBub3Qgc2VsZi5fYWxsb3daaXA2NDoKLSAgICAgICAgICAgICAgICAgICAgICAgIHJhaXNlIExhcmdlWmlwRmlsZShyZXF1aXJlc196aXA2NCArCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiB3b3VsZCByZXF1aXJlIFpJUDY0IGV4dGVuc2lvbnMiKQotICAgICAgICAgICAgICAgICAgICB6aXA2NGVuZHJlYyA9IHN0cnVjdC5wYWNrKAotICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0RW5kQXJjaGl2ZTY0LCBzdHJpbmdFbmRBcmNoaXZlNjQsCi0gICAgICAgICAgICAgICAgICAgICAgICA0NCwgNDUsIDQ1LCAwLCAwLCBjZW50RGlyQ291bnQsIGNlbnREaXJDb3VudCwKLSAgICAgICAgICAgICAgICAgICAgICAgIGNlbnREaXJTaXplLCBjZW50RGlyT2Zmc2V0KQotICAgICAgICAgICAgICAgICAgICBzZWxmLmZwLndyaXRlKHppcDY0ZW5kcmVjKQotCi0gICAgICAgICAgICAgICAgICAgIHppcDY0bG9jcmVjID0gc3RydWN0LnBhY2soCi0gICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3RFbmRBcmNoaXZlNjRMb2NhdG9yLAotICAgICAgICAgICAgICAgICAgICAgICAgc3RyaW5nRW5kQXJjaGl2ZTY0TG9jYXRvciwgMCwgcG9zMiwgMSkKLSAgICAgICAgICAgICAgICAgICAgc2VsZi5mcC53cml0ZSh6aXA2NGxvY3JlYykKLSAgICAgICAgICAgICAgICAgICAgY2VudERpckNvdW50ID0gbWluKGNlbnREaXJDb3VudCwgMHhGRkZGKQotICAgICAgICAgICAgICAgICAgICBjZW50RGlyU2l6ZSA9IG1pbihjZW50RGlyU2l6ZSwgMHhGRkZGRkZGRikKLSAgICAgICAgICAgICAgICAgICAgY2VudERpck9mZnNldCA9IG1pbihjZW50RGlyT2Zmc2V0LCAweEZGRkZGRkZGKQotCi0gICAgICAgICAgICAgICAgZW5kcmVjID0gc3RydWN0LnBhY2soc3RydWN0RW5kQXJjaGl2ZSwgc3RyaW5nRW5kQXJjaGl2ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLCAwLCBjZW50RGlyQ291bnQsIGNlbnREaXJDb3VudCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjZW50RGlyU2l6ZSwgY2VudERpck9mZnNldCwgbGVuKHNlbGYuX2NvbW1lbnQpKQotICAgICAgICAgICAgICAgIHNlbGYuZnAud3JpdGUoZW5kcmVjKQotICAgICAgICAgICAgICAgIHNlbGYuZnAud3JpdGUoc2VsZi5fY29tbWVudCkKLSAgICAgICAgICAgICAgICBzZWxmLmZwLmZsdXNoKCkKKyAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuZnAuc2VlayhzZWxmLnN0YXJ0X2RpcikKKyAgICAgICAgICAgICAgICAgICAgZXhjZXB0IChBdHRyaWJ1dGVFcnJvciwgaW8uVW5zdXBwb3J0ZWRPcGVyYXRpb24pOgorICAgICAgICAgICAgICAgICAgICAgICAgIyBTb21lIGZpbGUtbGlrZSBvYmplY3RzIGNhbiBwcm92aWRlIHRlbGwoKSBidXQgbm90IHNlZWsoKQorICAgICAgICAgICAgICAgICAgICAgICAgcGFzcworICAgICAgICAgICAgICAgICAgICBzZWxmLl93cml0ZV9lbmRfcmVjb3JkKCkKICAgICAgICAgZmluYWxseToKICAgICAgICAgICAgIGZwID0gc2VsZi5mcAogICAgICAgICAgICAgc2VsZi5mcCA9IE5vbmUKLSAgICAgICAgICAgIGlmIG5vdCBzZWxmLl9maWxlUGFzc2VkOgotICAgICAgICAgICAgICAgIGZwLmNsb3NlKCkKKyAgICAgICAgICAgIHNlbGYuX2ZwY2xvc2UoZnApCisKKyAgICBkZWYgX3dyaXRlX2VuZF9yZWNvcmQoc2VsZik6CisgICAgICAgIGZvciB6aW5mbyBpbiBzZWxmLmZpbGVsaXN0OiAgICAgICAgICMgd3JpdGUgY2VudHJhbCBkaXJlY3RvcnkKKyAgICAgICAgICAgIGR0ID0gemluZm8uZGF0ZV90aW1lCisgICAgICAgICAgICBkb3NkYXRlID0gKGR0WzBdIC0gMTk4MCkgPDwgOSB8IGR0WzFdIDw8IDUgfCBkdFsyXQorICAgICAgICAgICAgZG9zdGltZSA9IGR0WzNdIDw8IDExIHwgZHRbNF0gPDwgNSB8IChkdFs1XSAvLyAyKQorICAgICAgICAgICAgZXh0cmEgPSBbXQorICAgICAgICAgICAgaWYgemluZm8uZmlsZV9zaXplID4gWklQNjRfTElNSVQgXAorICAgICAgICAgICAgICAgb3IgemluZm8uY29tcHJlc3Nfc2l6ZSA+IFpJUDY0X0xJTUlUOgorICAgICAgICAgICAgICAgIGV4dHJhLmFwcGVuZCh6aW5mby5maWxlX3NpemUpCisgICAgICAgICAgICAgICAgZXh0cmEuYXBwZW5kKHppbmZvLmNvbXByZXNzX3NpemUpCisgICAgICAgICAgICAgICAgZmlsZV9zaXplID0gMHhmZmZmZmZmZgorICAgICAgICAgICAgICAgIGNvbXByZXNzX3NpemUgPSAweGZmZmZmZmZmCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIGZpbGVfc2l6ZSA9IHppbmZvLmZpbGVfc2l6ZQorICAgICAgICAgICAgICAgIGNvbXByZXNzX3NpemUgPSB6aW5mby5jb21wcmVzc19zaXplCisKKyAgICAgICAgICAgIGlmIHppbmZvLmhlYWRlcl9vZmZzZXQgPiBaSVA2NF9MSU1JVDoKKyAgICAgICAgICAgICAgICBleHRyYS5hcHBlbmQoemluZm8uaGVhZGVyX29mZnNldCkKKyAgICAgICAgICAgICAgICBoZWFkZXJfb2Zmc2V0ID0gMHhmZmZmZmZmZgorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBoZWFkZXJfb2Zmc2V0ID0gemluZm8uaGVhZGVyX29mZnNldAorCisgICAgICAgICAgICBleHRyYV9kYXRhID0gemluZm8uZXh0cmEKKyAgICAgICAgICAgIG1pbl92ZXJzaW9uID0gMAorICAgICAgICAgICAgaWYgZXh0cmE6CisgICAgICAgICAgICAgICAgIyBBcHBlbmQgYSBaSVA2NCBmaWVsZCB0byB0aGUgZXh0cmEncworICAgICAgICAgICAgICAgIGV4dHJhX2RhdGEgPSBzdHJ1Y3QucGFjaygKKyAgICAgICAgICAgICAgICAgICAgJzxISCcgKyAnUScqbGVuKGV4dHJhKSwKKyAgICAgICAgICAgICAgICAgICAgMSwgOCpsZW4oZXh0cmEpLCAqZXh0cmEpICsgZXh0cmFfZGF0YQorCisgICAgICAgICAgICAgICAgbWluX3ZlcnNpb24gPSBaSVA2NF9WRVJTSU9OCisKKyAgICAgICAgICAgIGlmIHppbmZvLmNvbXByZXNzX3R5cGUgPT0gWklQX0JaSVAyOgorICAgICAgICAgICAgICAgIG1pbl92ZXJzaW9uID0gbWF4KEJaSVAyX1ZFUlNJT04sIG1pbl92ZXJzaW9uKQorICAgICAgICAgICAgZWxpZiB6aW5mby5jb21wcmVzc190eXBlID09IFpJUF9MWk1BOgorICAgICAgICAgICAgICAgIG1pbl92ZXJzaW9uID0gbWF4KExaTUFfVkVSU0lPTiwgbWluX3ZlcnNpb24pCisKKyAgICAgICAgICAgIGV4dHJhY3RfdmVyc2lvbiA9IG1heChtaW5fdmVyc2lvbiwgemluZm8uZXh0cmFjdF92ZXJzaW9uKQorICAgICAgICAgICAgY3JlYXRlX3ZlcnNpb24gPSBtYXgobWluX3ZlcnNpb24sIHppbmZvLmNyZWF0ZV92ZXJzaW9uKQorICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgIGZpbGVuYW1lLCBmbGFnX2JpdHMgPSB6aW5mby5fZW5jb2RlRmlsZW5hbWVGbGFncygpCisgICAgICAgICAgICAgICAgY2VudGRpciA9IHN0cnVjdC5wYWNrKHN0cnVjdENlbnRyYWxEaXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cmluZ0NlbnRyYWxEaXIsIGNyZWF0ZV92ZXJzaW9uLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB6aW5mby5jcmVhdGVfc3lzdGVtLCBleHRyYWN0X3ZlcnNpb24sIHppbmZvLnJlc2VydmVkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGFnX2JpdHMsIHppbmZvLmNvbXByZXNzX3R5cGUsIGRvc3RpbWUsIGRvc2RhdGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHppbmZvLkNSQywgY29tcHJlc3Nfc2l6ZSwgZmlsZV9zaXplLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZW4oZmlsZW5hbWUpLCBsZW4oZXh0cmFfZGF0YSksIGxlbih6aW5mby5jb21tZW50KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCwgemluZm8uaW50ZXJuYWxfYXR0ciwgemluZm8uZXh0ZXJuYWxfYXR0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVhZGVyX29mZnNldCkKKyAgICAgICAgICAgIGV4Y2VwdCBEZXByZWNhdGlvbldhcm5pbmc6CisgICAgICAgICAgICAgICAgcHJpbnQoKHN0cnVjdENlbnRyYWxEaXIsIHN0cmluZ0NlbnRyYWxEaXIsIGNyZWF0ZV92ZXJzaW9uLAorICAgICAgICAgICAgICAgICAgICAgICB6aW5mby5jcmVhdGVfc3lzdGVtLCBleHRyYWN0X3ZlcnNpb24sIHppbmZvLnJlc2VydmVkLAorICAgICAgICAgICAgICAgICAgICAgICB6aW5mby5mbGFnX2JpdHMsIHppbmZvLmNvbXByZXNzX3R5cGUsIGRvc3RpbWUsIGRvc2RhdGUsCisgICAgICAgICAgICAgICAgICAgICAgIHppbmZvLkNSQywgY29tcHJlc3Nfc2l6ZSwgZmlsZV9zaXplLAorICAgICAgICAgICAgICAgICAgICAgICBsZW4oemluZm8uZmlsZW5hbWUpLCBsZW4oZXh0cmFfZGF0YSksIGxlbih6aW5mby5jb21tZW50KSwKKyAgICAgICAgICAgICAgICAgICAgICAgMCwgemluZm8uaW50ZXJuYWxfYXR0ciwgemluZm8uZXh0ZXJuYWxfYXR0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgaGVhZGVyX29mZnNldCksIGZpbGU9c3lzLnN0ZGVycikKKyAgICAgICAgICAgICAgICByYWlzZQorICAgICAgICAgICAgc2VsZi5mcC53cml0ZShjZW50ZGlyKQorICAgICAgICAgICAgc2VsZi5mcC53cml0ZShmaWxlbmFtZSkKKyAgICAgICAgICAgIHNlbGYuZnAud3JpdGUoZXh0cmFfZGF0YSkKKyAgICAgICAgICAgIHNlbGYuZnAud3JpdGUoemluZm8uY29tbWVudCkKKworICAgICAgICBwb3MyID0gc2VsZi5mcC50ZWxsKCkKKyAgICAgICAgIyBXcml0ZSBlbmQtb2YtemlwLWFyY2hpdmUgcmVjb3JkCisgICAgICAgIGNlbnREaXJDb3VudCA9IGxlbihzZWxmLmZpbGVsaXN0KQorICAgICAgICBjZW50RGlyU2l6ZSA9IHBvczIgLSBzZWxmLnN0YXJ0X2RpcgorICAgICAgICBjZW50RGlyT2Zmc2V0ID0gc2VsZi5zdGFydF9kaXIKKyAgICAgICAgcmVxdWlyZXNfemlwNjQgPSBOb25lCisgICAgICAgIGlmIGNlbnREaXJDb3VudCA+IFpJUF9GSUxFQ09VTlRfTElNSVQ6CisgICAgICAgICAgICByZXF1aXJlc196aXA2NCA9ICJGaWxlcyBjb3VudCIKKyAgICAgICAgZWxpZiBjZW50RGlyT2Zmc2V0ID4gWklQNjRfTElNSVQ6CisgICAgICAgICAgICByZXF1aXJlc196aXA2NCA9ICJDZW50cmFsIGRpcmVjdG9yeSBvZmZzZXQiCisgICAgICAgIGVsaWYgY2VudERpclNpemUgPiBaSVA2NF9MSU1JVDoKKyAgICAgICAgICAgIHJlcXVpcmVzX3ppcDY0ID0gIkNlbnRyYWwgZGlyZWN0b3J5IHNpemUiCisgICAgICAgIGlmIHJlcXVpcmVzX3ppcDY0OgorICAgICAgICAgICAgIyBOZWVkIHRvIHdyaXRlIHRoZSBaSVA2NCBlbmQtb2YtYXJjaGl2ZSByZWNvcmRzCisgICAgICAgICAgICBpZiBub3Qgc2VsZi5fYWxsb3daaXA2NDoKKyAgICAgICAgICAgICAgICByYWlzZSBMYXJnZVppcEZpbGUocmVxdWlyZXNfemlwNjQgKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiIHdvdWxkIHJlcXVpcmUgWklQNjQgZXh0ZW5zaW9ucyIpCisgICAgICAgICAgICB6aXA2NGVuZHJlYyA9IHN0cnVjdC5wYWNrKAorICAgICAgICAgICAgICAgIHN0cnVjdEVuZEFyY2hpdmU2NCwgc3RyaW5nRW5kQXJjaGl2ZTY0LAorICAgICAgICAgICAgICAgIDQ0LCA0NSwgNDUsIDAsIDAsIGNlbnREaXJDb3VudCwgY2VudERpckNvdW50LAorICAgICAgICAgICAgICAgIGNlbnREaXJTaXplLCBjZW50RGlyT2Zmc2V0KQorICAgICAgICAgICAgc2VsZi5mcC53cml0ZSh6aXA2NGVuZHJlYykKKworICAgICAgICAgICAgemlwNjRsb2NyZWMgPSBzdHJ1Y3QucGFjaygKKyAgICAgICAgICAgICAgICBzdHJ1Y3RFbmRBcmNoaXZlNjRMb2NhdG9yLAorICAgICAgICAgICAgICAgIHN0cmluZ0VuZEFyY2hpdmU2NExvY2F0b3IsIDAsIHBvczIsIDEpCisgICAgICAgICAgICBzZWxmLmZwLndyaXRlKHppcDY0bG9jcmVjKQorICAgICAgICAgICAgY2VudERpckNvdW50ID0gbWluKGNlbnREaXJDb3VudCwgMHhGRkZGKQorICAgICAgICAgICAgY2VudERpclNpemUgPSBtaW4oY2VudERpclNpemUsIDB4RkZGRkZGRkYpCisgICAgICAgICAgICBjZW50RGlyT2Zmc2V0ID0gbWluKGNlbnREaXJPZmZzZXQsIDB4RkZGRkZGRkYpCisKKyAgICAgICAgZW5kcmVjID0gc3RydWN0LnBhY2soc3RydWN0RW5kQXJjaGl2ZSwgc3RyaW5nRW5kQXJjaGl2ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCwgMCwgY2VudERpckNvdW50LCBjZW50RGlyQ291bnQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNlbnREaXJTaXplLCBjZW50RGlyT2Zmc2V0LCBsZW4oc2VsZi5fY29tbWVudCkpCisgICAgICAgIHNlbGYuZnAud3JpdGUoZW5kcmVjKQorICAgICAgICBzZWxmLmZwLndyaXRlKHNlbGYuX2NvbW1lbnQpCisgICAgICAgIHNlbGYuZnAuZmx1c2goKQorCisgICAgZGVmIF9mcGNsb3NlKHNlbGYsIGZwKToKKyAgICAgICAgYXNzZXJ0IHNlbGYuX2ZpbGVSZWZDbnQgPiAwCisgICAgICAgIHNlbGYuX2ZpbGVSZWZDbnQgLT0gMQorICAgICAgICBpZiBub3Qgc2VsZi5fZmlsZVJlZkNudCBhbmQgbm90IHNlbGYuX2ZpbGVQYXNzZWQ6CisgICAgICAgICAgICBmcC5jbG9zZSgpCiAKIAogY2xhc3MgUHlaaXBGaWxlKFppcEZpbGUpOgpkaWZmIC0tZ2l0IGEvTWFjL0J1aWxkU2NyaXB0L1JFQURNRS50eHQgYi9NYWMvQnVpbGRTY3JpcHQvUkVBRE1FLnR4dAppbmRleCA4ZWI1MzljLi4zY2VkMDY2IDEwMDY0NAotLS0gYS9NYWMvQnVpbGRTY3JpcHQvUkVBRE1FLnR4dAorKysgYi9NYWMvQnVpbGRTY3JpcHQvUkVBRE1FLnR4dApAQCAtMSwyNSArMSwxNSBAQAogQnVpbGRpbmcgYSBQeXRob24gTWFjIE9TIFggZGlzdHJpYnV0aW9uCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIAotVGhlIGBgYnVpbGQtaW5zdGFsbGVyLnB5YGAgc2NyaXB0IGNyZWF0ZXMgUHl0aG9uIGRpc3RyaWJ1dGlvbnMsIGluY2x1ZGluZworVGhlIGBgYnVpbGQtaW5zdGFsbC5weWBgIHNjcmlwdCBjcmVhdGVzIFB5dGhvbiBkaXN0cmlidXRpb25zLCBpbmNsdWRpbmcKIGNlcnRhaW4gdGhpcmQtcGFydHkgbGlicmFyaWVzIGFzIG5lY2Vzc2FyeS4gIEl0IGJ1aWxkcyBhIGNvbXBsZXRlIAogZnJhbWV3b3JrLWJhc2VkIFB5dGhvbiBvdXQtb2YtdHJlZSwgaW5zdGFsbHMgaXQgaW4gYSBmdW5ueSBwbGFjZSB3aXRoIAogJERFU1RST09ULCBtYXNzYWdlcyB0aGF0IGluc3RhbGxhdGlvbiB0byByZW1vdmUgLnB5YyBmaWxlcyBhbmQgc3VjaCwgY3JlYXRlcyAKIGFuIEluc3RhbGxlciBwYWNrYWdlIGZyb20gdGhlIGluc3RhbGxhdGlvbiBwbHVzIG90aGVyIGZpbGVzIGluIGBgcmVzb3VyY2VzYGAgCiBhbmQgYGBzY3JpcHRzYGAgYW5kIHBsYWNlZCB0aGF0IG9uIGEgYGAuZG1nYGAgZGlzayBpbWFnZS4KIAotVGhpcyBpbnN0YWxsZXJzIGJ1aWx0IGJ5IHRoaXMgc2NyaXB0IGFyZSBsZWdhY3kgYnVuZGxlIGluc3RhbGxlcnMgdGhhdCBoYXZlCi1iZWVuIHN1cHBvcnRlZCBmcm9tIHRoZSBlYXJseSBkYXlzIG9mIE9TIFguICBJbiBwYXJ0aWN1bGFyLCB0aGV5IGFyZSBzdXBwb3J0ZWQKLW9uIE9TIFggMTAuMy45LCB0aGUgZWFybGllc3Qgc3VwcG9ydGVkIHJlbGVhc2UgZm9yIGJ1aWxkcyBmcm9tIHRoaXMgc2NyaXB0LgotCi1CZWdpbm5pbmcgd2l0aCBQeXRob24gMy40LjIsIFBTRiBwcmFjdGljZSBpcyB0byBidWlsZCB0d28gaW5zdGFsbGVyIHZhcmlhbnRzCi11c2luZyB0aGUgbmV3ZXIgZmxhdCBwYWNrYWdlIGZvcm1hdCwgc3VwcG9ydGVkIG9uIDEwLjUrLCBhbmQgc2lnbmVkIHdpdGggdGhlCi1idWlsZGVyJ3MgQXBwbGUgZGV2ZWxvcGVyIGtleSwgYWxsb3dpbmcgZG93bmxvYWRlZCBwYWNrYWdlcyB0byBzYXRpc2Z5IEFwcGxlJ3MKLWRlZmF1bHQgR2F0ZWtlZXBlciBwb2xpY3kgKGUuZy4gc3RhcnRpbmcgd2l0aCAxMC44LCBBcHBsZSBzdG9yZSBkb3dubG9hZHMgYW5kCi1BcHBsZSBkZXZlbG9wZXIgSUQgc2lnbmVkIGFwcHMgYW5kIGluc3RhbGxlciBwYWNrYWdlcykuICBUaGUgcHJvY2VzcyBmb3IKLXRyYW5zZm9ybWluZyB0aGUgb3V0cHV0IGJ1aWxkIGFydGlmYWN0cyBpbnRvIHNpZ25lZCBmbGF0IHBhY2thZ2VzIGlzIG5vdAoteWV0IGludGVncmF0ZWQgaW50byBgYGJ1aWxkLWluc3RhbGxlci5weWBgLiAgVGhlIHN0ZXBzIHByaW9yIHRvIHRoZSBmbGF0Ci1wYWNrYWdlIGNyZWF0aW9uIGFyZSB0aGUgc2FtZSBhcyBmb3IgMy40LjEgYmVsb3cuCitGb3IgUHl0aG9uIDMuNC4wLCBQU0YgcHJhY3RpY2UgaXMgdG8gYnVpbGQgdHdvIGluc3RhbGxlciB2YXJpYW50cworZm9yIGVhY2ggcmVsZWFzZS4KIAogMS4gIDMyLWJpdC1vbmx5LCBpMzg2IGFuZCBQUEMgdW5pdmVyc2FsLCBjYXBhYmxlIG9uIHJ1bm5pbmcgb24gYWxsIG1hY2hpbmVzCiAgICAgc3VwcG9ydGVkIGJ5IE1hYyBPUyBYIDEwLjUgdGhyb3VnaCAoYXQgbGVhc3QpIDEwLjk6OgpAQCAtMzEsNyArMjEsNiBAQAogCiAgICAgLSBidWlsZHMgdGhlIGZvbGxvd2luZyB0aGlyZC1wYXJ0eSBsaWJyYXJpZXMKIAotICAgICAgICAqIGxpYmNyeXB0byBhbmQgbGlic3NsIGZyb20gT3BlblNTTCAxLjAuMSAobmV3LCBhcyBvZiAzLjQuMykKICAgICAgICAgKiBOQ3Vyc2VzIDUuOSAoaHR0cDovL2J1Z3MucHl0aG9uLm9yZy9pc3N1ZTE1MDM3KQogICAgICAgICAqIFNRTGl0ZSAzLjguMy4xCiAgICAgICAgICogWFogNS4wLjUKQEAgLTczLDcgKzYyLDYgQEAKIAogICAgIC0gdXNlcyBzeXN0ZW0tc3VwcGxpZWQgdmVyc2lvbnMgb2YgdGhpcmQtcGFydHkgbGlicmFyaWVzCiAKLSAgICAgICAgKiBsaWJjcnlwdG8gYW5kIGxpYnNzbCBmcm9tIEFwcGxlIE9wZW5TU0wgMC45LjgKICAgICAgICAgKiByZWFkbGluZSBtb2R1bGUgbGlua3Mgd2l0aCBBcHBsZSBCU0QgZWRpdGxpbmUgKGxpYmVkaXQpCiAKICAgICAtIHJlcXVpcmVzIEFjdGl2ZVN0YXRlIFRjbC9UayA4LjUuMTUuMSAob3IgbGF0ZXIpIHRvIGJlIGluc3RhbGxlZCBmb3IgYnVpbGRpbmcKQEAgLTEwMiw2ICs5MCw0NyBAQAogICAgICAgICAgIHRoYXQgdGhlIFhjb2RlIDMgZ2NjLTQuMiBjb21waWxlciBoYXMgaGFkLgogCiAKKyogICBGb3IgUHl0aG9uIDIuNy54IGFuZCAzLjIueCwgdGhlIDMyLWJpdC1vbmx5IGluc3RhbGxlciB3YXMgY29uZmlndXJlZCB0bworICAgIHN1cHBvcnQgTWFjIE9TIFggMTAuMy45IHRocm91Z2ggKGF0IGxlYXN0KSAxMC42LiAgQmVjYXVzZSBpdCBpcworICAgIGJlbGlldmVkIHRoYXQgdGhlcmUgYXJlIGZldyBzeXN0ZW1zIHN0aWxsIHJ1bm5pbmcgT1MgWCAxMC4zIG9yIDEwLjQKKyAgICBhbmQgYmVjYXVzZSBpdCBoYXMgYmVjb21lIGluY3JlYXNpbmdseSBkaWZmaWN1bHQgdG8gdGVzdCBhbmQKKyAgICBzdXBwb3J0IHRoZSBkaWZmZXJlbmNlcyBpbiB0aGVzZSBlYXJsaWVyIHN5c3RlbXMsIGFzIG9mIFB5dGhvbiAzLjMuMCB0aGUgUFNGCisgICAgMzItYml0IGluc3RhbGxlciBubyBsb25nZXIgc3VwcG9ydHMgdGhlbS4gIEZvciByZWZlcmVuY2UgaW4gYnVpbGRpbmcgc3VjaAorICAgIGFuIGluc3RhbGxlciB5b3Vyc2VsZiwgdGhlIGRldGFpbHMgYXJlOjoKKworICAgICAgICAvdXNyL2Jpbi9weXRob24gYnVpbGQtaW5zdGFsbGVyLnB5IFwKKyAgICAgICAgICAgIC0tc2RrLXBhdGg9L0RldmVsb3Blci9TREtzL01hY09TWDEwLjR1LnNkayBcCisgICAgICAgICAgICAtLXVuaXZlcnNhbC1hcmNocz0zMi1iaXQgXAorICAgICAgICAgICAgLS1kZXAtdGFyZ2V0PTEwLjMgCisKKyAgICAtIGJ1aWxkcyB0aGUgZm9sbG93aW5nIHRoaXJkLXBhcnR5IGxpYnJhcmllcworCisgICAgICAgICogQnppcDIKKyAgICAgICAgKiBOQ3Vyc2VzCisgICAgICAgICogR05VIFJlYWRsaW5lIChHUEwpCisgICAgICAgICogU1FMaXRlIDMKKyAgICAgICAgKiBYWgorICAgICAgICAqIFpsaWIgMS4yLjMKKyAgICAgICAgKiBPcmFjbGUgU2xlZXB5Y2F0IERCIDQuOCAoUHl0aG9uIDIueCBvbmx5KQorCisgICAgLSByZXF1aXJlcyBBY3RpdmVTdGF0ZSBgYFRjbC9UayA4LjRgYCAoY3VycmVudGx5IDguNC4yMCkgdG8gYmUgaW5zdGFsbGVkIGZvciBidWlsZGluZworCisgICAgLSByZWNvbW1lbmRlZCBidWlsZCBlbnZpcm9ubWVudDoKKyAgICAgICAgCisgICAgICAgICogTWFjIE9TIFggMTAuNS44IFBQQyBvciBJbnRlbAorICAgICAgICAqIFhjb2RlIDMuMS40IChvciBsYXRlcikKKyAgICAgICAgKiBgYE1hY09TWDEwLjR1YGAgU0RLIChsYXRlciBTREtzIGRvIG5vdCBzdXBwb3J0IFBQQyBHMyBwcm9jZXNzb3JzKQorICAgICAgICAqIGBgTUFDT1NYX0RFUExPWU1FTlRfVEFSR0VUPTEwLjNgYAorICAgICAgICAqIEFwcGxlIGBgZ2NjLTQuMGBgCisgICAgICAgICogc3lzdGVtIFB5dGhvbiAyLjUgZm9yIGRvY3VtZW50YXRpb24gYnVpbGQgd2l0aCBTcGhpbngKKworICAgIC0gYWx0ZXJuYXRlIGJ1aWxkIGVudmlyb25tZW50czoKKworICAgICAgICAqIE1hYyBPUyBYIDEwLjYuOCB3aXRoIFhjb2RlIDMuMi42CisgICAgICAgICAgICAtIG5lZWQgdG8gY2hhbmdlIGBgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3Mve1RjbCxUa30uZnJhbWV3b3JrL1ZlcnNpb24vQ3VycmVudGBgIHRvIGBgOC40YGAKKworCisKIEdlbmVyYWwgUHJlcmVxdWlzaXRlcwogLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKZGlmZiAtLWdpdCBhL01hYy9CdWlsZFNjcmlwdC9yZXNvdXJjZXMvUmVhZE1lLnJ0ZiBiL01hYy9CdWlsZFNjcmlwdC9yZXNvdXJjZXMvUmVhZE1lLnJ0ZgppbmRleCAxYmJkYzFhLi5lMjQwNDQ4IDEwMDY0NAotLS0gYS9NYWMvQnVpbGRTY3JpcHQvcmVzb3VyY2VzL1JlYWRNZS5ydGYKKysrIGIvTWFjL0J1aWxkU2NyaXB0L3Jlc291cmNlcy9SZWFkTWUucnRmCkBAIC0zNiwxMTkgKzM2LDYgQEAKIFxpMCAgZm9yIHRoaXMgdmVyc2lvbiBvZiBQeXRob24gYW5kIG9mIE1hYyBPUyBYLlwKIAogXGIgXHVsIFwKLUluc3RhbGxpbmcgb24gT1MgWCAxMC44IChNb3VudGFpbiBMaW9uKSBvciBsYXRlciBzeXN0ZW1zXAotXHBhcmRcdHg3MjBcdHgxNDQwXHR4MjE2MFx0eDI4ODBcdHgzNjAwXHR4NDMyMFx0eDUwNDBcdHg1NzYwXHR4NjQ4MFx0eDcyMDBcdHg3OTIwXHR4ODY0MFxwYXJkaXJuYXR1cmFsCi1cY2YwIFx1bG5vbmUgW0NIQU5HRUQgZm9yIFB5dGhvbiAzLjQuMl0KLVxiMCBcCi1cCi1BcyBvZiBQeXRob24gMy40LjIsIGluc3RhbGxlciBwYWNrYWdlcyBmcm9tIHB5dGhvbi5vcmcgYXJlIG5vdyBjb21wYXRpYmxlIHdpdGggdGhlIEdhdGVrZWVwZXIgc2VjdXJpdHkgZmVhdHVyZSBpbnRyb2R1Y2VkIGluIE9TIFggMTAuOC4gICBEb3dubG9hZGVkIHBhY2thZ2VzIGNhbiBub3cgYmUgZGlyZWN0bHkgaW5zdGFsbGVkIGJ5IGRvdWJsZS1jbGlja2luZyB3aXRoIHRoZSBkZWZhdWx0IHN5c3RlbSBzZWN1cml0eSBzZXR0aW5ncy4gIFB5dGhvbi5vcmcgaW5zdGFsbGVyIHBhY2thZ2VzIGZvciBPUyBYIGFyZSBzaWduZWQgd2l0aCB0aGUgRGV2ZWxvcGVyIElEIG9mIHRoZSBidWlsZGVyLCBhcyBpZGVudGlmaWVkIG9uIHtcZmllbGR7XCpcZmxkaW5zdHtIWVBFUkxJTksgImh0dHBzOi8vd3d3LnB5dGhvbi5vcmcvZG93bmxvYWRzLyJ9fXtcZmxkcnNsdCB0aGUgZG93bmxvYWQgcGFnZX19IGZvciB0aGlzIHJlbGVhc2UuICBUbyBpbnNwZWN0IHRoZSBkaWdpdGFsIHNpZ25hdHVyZSBvZiB0aGUgcGFja2FnZSwgY2xpY2sgb24gdGhlIGxvY2sgaWNvbiBpbiB0aGUgdXBwZXIgcmlnaHQgY29ybmVyIG9mIHRoZSAKLVxpIEluc3RhbGwgUHl0aG9uCi1caTAgIGluc3RhbGxlciB3aW5kb3cuICBSZWZlciB0byBBcHBsZVwnOTJzIHN1cHBvcnQgcGFnZXMgZm9yIHtcZmllbGR7XCpcZmxkaW5zdHtIWVBFUkxJTksgImh0dHA6Ly9zdXBwb3J0LmFwcGxlLmNvbS9rYi9odDUyOTAifX17XGZsZHJzbHQgbW9yZSBpbmZvcm1hdGlvbiBvbiBHYXRla2VlcGVyfX0uXAotXAotXHBhcmRcdHg3MjBcdHgxNDQwXHR4MjE2MFx0eDI4ODBcdHgzNjAwXHR4NDMyMFx0eDUwNDBcdHg1NzYwXHR4NjQ4MFx0eDcyMDBcdHg3OTIwXHR4ODY0MFxwYXJkaXJuYXR1cmFsCi0KLVxiIFxjZjAgXHVsIFNpbXBsaWZpZWQgd2ViLWJhc2VkIGluc3RhbGxzXAotXHBhcmRcdHg3MjBcdHgxNDQwXHR4MjE2MFx0eDI4ODBcdHgzNjAwXHR4NDMyMFx0eDUwNDBcdHg1NzYwXHR4NjQ4MFx0eDcyMDBcdHg3OTIwXHR4ODY0MFxwYXJkaXJuYXR1cmFsCi1cY2YwIFx1bG5vbmUgW05FVyBmb3IgUHl0aG9uIDMuNC4yXQotXGIwIFwKLVwKLVdpdGggdGhlIGNoYW5nZSB0byB0aGUgbmV3ZXIgZmxhdCBmb3JtYXQgaW5zdGFsbGVyIHBhY2thZ2UsIHRoZSBkb3dubG9hZCBmaWxlIG5vdyBoYXMgYSAKLVxmMSAucGtnCi1cZjAgIGV4dGVuc2lvbiBhcyBpdCBpcyBubyBsb25nZXIgbmVjZXNzYXJ5IHRvIGVtYmVkIHRoZSBpbnN0YWxsZXIgd2l0aGluIGEgZGlzayBpbWFnZSAoCi1cZjEgLmRtZwotXGYwICkgY29udGFpbmVyLiAgIElmIHlvdSBkb3dubG9hZCB0aGUgUHl0aG9uIGluc3RhbGxlciB0aHJvdWdoIGEgd2ViIGJyb3dzZXIsIHRoZSBPUyBYIGluc3RhbGxlciBhcHBsaWNhdGlvbiBtYXkgb3BlbiBhdXRvbWF0aWNhbGx5IHRvIGFsbG93IHlvdSB0byBwZXJmb3JtIHRoZSBpbnN0YWxsLiAgSWYgeW91ciBicm93c2VyIHNldHRpbmdzIGRvIG5vdCBhbGxvdyBhdXRvbWF0aWMgb3BlbiwgZG91YmxlIGNsaWNrIG9uIHRoZSBkb3dubG9hZGVkIGluc3RhbGxlciBmaWxlLlwKLVwKLVxwYXJkXHR4NzIwXHR4MTQ0MFx0eDIxNjBcdHgyODgwXHR4MzYwMFx0eDQzMjBcdHg1MDQwXHR4NTc2MFx0eDY0ODBcdHg3MjAwXHR4NzkyMFx0eDg2NDBccGFyZGlybmF0dXJhbAotCi1cYiBcY2YwIFx1bCBOZXcgSW5zdGFsbGF0aW9uIE9wdGlvbnMgYW5kIERlZmF1bHRzXAotXHBhcmRcdHg3MjBcdHgxNDQwXHR4MjE2MFx0eDI4ODBcdHgzNjAwXHR4NDMyMFx0eDUwNDBcdHg1NzYwXHR4NjQ4MFx0eDcyMDBcdHg3OTIwXHR4ODY0MFxwYXJkaXJuYXR1cmFsCi1cY2YwIFx1bG5vbmUgW05FVyBmb3IgUHl0aG9uIDMuNC4wXQotXGIwIFwKLVwKLVRoZSBQeXRob24gaW5zdGFsbGVyIG5vdyBpbmNsdWRlcyBhbiBvcHRpb24gdG8gYXV0b21hdGljYWxseSBpbnN0YWxsIG9yIHVwZ3JhZGUgCi1cZjEgcGlwCi1cZjAgLCBhIHRvb2wgZm9yIGluc3RhbGxpbmcgYW5kIG1hbmFnaW5nIFB5dGhvbiBwYWNrYWdlcy4gIFRoaXMgb3B0aW9uIGlzIGVuYWJsZWQgYnkgZGVmYXVsdCBhbmQgbm8gSW50ZXJuZXQgYWNjZXNzIGlzIHJlcXVpcmVkLiAgSWYgeW91IGRvIG5vdCB3YW50IHRoZSBpbnN0YWxsZXIgdG8gZG8gdGhpcywgc2VsZWN0IHRoZSAKLVxpIEN1c3RvbWl6ZQotXGkwICBvcHRpb24gYXQgdGhlIAotXGkgSW5zdGFsbGF0aW9uIFR5cGUKLVxpMCAgc3RlcCBhbmQgdW5jaGVjayB0aGUgCi1caSBJbnN0YWxsIG9yIHVncHJhZGUgcGlwCi1caTAgIG9wdGlvbi5cCi1cCi1UbyBtYWtlIGl0IGVhc2llciB0byB1c2Ugc2NyaXB0cyBpbnN0YWxsZWQgYnkgdGhpcmQtcGFydHkgUHl0aG9uIHBhY2thZ2VzLCB3aXRoIAotXGYxIHBpcAotXGYwICBvciBieSBvdGhlciBtZWFucywgdGhlIAotXGkgU2hlbGwgcHJvZmlsZSB1cGRhdGVyCi1caTAgIG9wdGlvbiBpcyBub3cgZW5hYmxlZCBieSBkZWZhdWx0LCBhcyBoYXMgYmVlbiB0aGUgY2FzZSB3aXRoIFB5dGhvbiAyLjcueCBpbnN0YWxsZXJzLiBZb3UgY2FuIGFsc28gdHVybiB0aGlzIG9wdGlvbiBvZmYgYnkgc2VsZWN0aW5nIAotXGkgQ3VzdG9taXplCi1caTAgIGFuZCB1bmNoZWNraW5nIHRoZSAKLVxpIFNoZWxsIHByb2ZpbGUgdXBkYXRlcgotXGkwICBvcHRpb24uIFlvdSBjYW4gYWxzbyB1cGRhdGUgeW91ciBzaGVsbCBwcm9maWxlIGxhdGVyIGJ5IGxhdW5jaGluZyB0aGUgCi1caSBVcGRhdGUgU2hlbGwgUHJvZmlsZQotXGkwICBjb21tYW5kIGZvdW5kIGluIHRoZSAKLVxmMSAvQXBwbGljYXRpb25zL1B5dGhvbiAkVkVSU0lPTiAKLVxmMCBmb2xkZXIuICBZb3UgbWF5IG5lZWQgdG8gc3RhcnQgYSBuZXcgdGVybWluYWwgd2luZG93IGZvciB0aGUgY2hhbmdlcyB0byB0YWtlIGVmZmVjdC5cCi1cCi1Gb3Igb3RoZXIgY2hhbmdlcyBpbiB0aGlzIHJlbGVhc2UsIHNlZSB0aGUgUmVsZWFzZSBOb3RlcyBsaW5rIGZvciB0aGlzIHJlbGVhc2UgYXQge1xmaWVsZHtcKlxmbGRpbnN0e0hZUEVSTElOSyAiaHR0cHM6Ly93d3cucHl0aG9uLm9yZy9kb3dubG9hZHMvIn19e1xmbGRyc2x0IGh0dHBzOi8vd3d3LnB5dGhvbi5vcmcvZG93bmxvYWRzL319LlwKLVwKLVxwYXJkXHR4NzIwXHR4MTQ0MFx0eDIxNjBcdHgyODgwXHR4MzYwMFx0eDQzMjBcdHg1MDQwXHR4NTc2MFx0eDY0ODBcdHg3MjAwXHR4NzkyMFx0eDg2NDBccGFyZGlybmF0dXJhbAotCi1cYiBcY2YwIFx1bCBDZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gYW5kIE9wZW5TU0xcCi1ccGFyZFx0eDcyMFx0eDE0NDBcdHgyMTYwXHR4Mjg4MFx0eDM2MDBcdHg0MzIwXHR4NTA0MFx0eDU3NjBcdHg2NDgwXHR4NzIwMFx0eDc5MjBcdHg4NjQwXHBhcmRpcm5hdHVyYWwKLVxjZjAgXHVsbm9uZSBbQ0hBTkdFRCBmb3IgUHl0aG9uIDMuNC4zXQotXGIwIFwKLVwKLVB5dGhvbiAzLjQuMyBpbmNsdWRlcyBhIG51bWJlciBvZiBuZXR3b3JrIHNlY3VyaXR5IGVuaGFuY2VtZW50cyB0aGF0IGhhdmUgYmVlbiBhcHByb3ZlZCBmb3IgaW5jbHVzaW9uIGluIFB5dGhvbiAzLjQgbWFpbnRlbmFuY2UgcmVsZWFzZXMuICB7XGZpZWxke1wqXGZsZGluc3R7SFlQRVJMSU5LICJodHRwczovL3d3dy5weXRob24ub3JnL2Rldi9wZXBzL3BlcC0wNDc2LyJ9fXtcZmxkcnNsdCBQRVAgNDc2fX0gY2hhbmdlcyBzZXZlcmFsIHN0YW5kYXJkIGxpYnJhcnkgbW9kdWxlcywgbGlrZSAKLVxpIGh0dHBsaWIKLVxpMCAsIAotXGkgdXJsbGliCi1caTAgLCBhbmQgCi1caSB4bWxycGNsaWIKLVxpMCAsIHRvIGJ5IGRlZmF1bHQgdmVyaWZ5IGNlcnRpZmljYXRlcyBwcmVzZW50ZWQgYnkgc2VydmVycyBvdmVyIHNlY3VyZSAoVExTKSBjb25uZWN0aW9ucy4gIFRoZSB2ZXJpZmljYXRpb24gaXMgcGVyZm9ybWVkIGJ5IHRoZSBPcGVuU1NMIGxpYnJhcmllcyB0aGF0IFB5dGhvbiBpcyBsaW5rZWQgdG8uICBQcmlvciB0byAzLjQuMywgdGhlIHB5dGhvbi5vcmcgaW5zdGFsbGVycyBkeW5hbWljYWxseSBsaW5rZWQgd2l0aCBBcHBsZS1zdXBwbGllZCBPcGVuU1NMIGxpYnJhcmllcyBzaGlwcGVkIHdpdGggT1MgWC4gIE9TIFggcHJvdmlkZXMgYSBtdWx0aXBsZSBsZXZlbCBzZWN1cml0eSBmcmFtZXdvcmsgdGhhdCBzdG9yZXMgdHJ1c3QgY2VydGlmaWNhdGVzIGluIHN5c3RlbSBhbmQgdXNlciBrZXljaGFpbnMgbWFuYWdlZCBieSB0aGUgCi1caSBLZXljaGFpbiBBY2Nlc3MgCi1caTAgYXBwbGljYXRpb24gYW5kIHRoZSAKLVxpIHNlY3VyaXR5Ci1caTAgIGNvbW1hbmQgbGluZSB1dGlsaXR5LlwKLVwKLUZvciBPUyBYIDEwLjUsIEFwcGxlIHByb3ZpZGVzIAotXGkgT3BlblNTTCAwLjkuNwotXGkwICBsaWJyYXJpZXMuICBUaGlzIHZlcnNpb24gb2YgQXBwbGUncyBPcGVuU1NMIAotXGIgZG9lcyBub3QKLVxiMCAgdXNlIHRoZSBjZXJ0aWZpY2F0ZXMgZnJvbSB0aGUgc3lzdGVtIHNlY3VyaXR5IGZyYW1ld29yaywgZXZlbiB3aGVuIHVzZWQgb24gbmV3ZXIgdmVyc2lvbnMgb2YgT1MgWC4gIEluc3RlYWQgaXQgY29uc3VsdHMgYSB0cmFkaXRpb25hbCBPcGVuU1NMIGNvbmNhdGVuYXRlZCBjZXJ0aWZpY2F0ZSBmaWxlICgKLVxpIGNhZmlsZQotXGkwICkgb3IgY2VydGlmaWNhdGUgZGlyZWN0b3J5ICgKLVxpIGNhcGF0aAotXGkwICksIGxvY2F0ZWQgaW4gCi1cZjEgL1N5c3RlbS9MaWJyYXJ5L09wZW5TU0wKLVxmMCAuICBUaGVzZSBkaXJlY3RvcmllcyBhcmUgdHlwaWNhbGx5IGVtcHR5IGFuZCBub3QgbWFuYWdlZCBieSBPUyBYOyB5b3UgbXVzdCBtYW5hZ2UgdGhlbSB5b3Vyc2VsZiBvciBzdXBwbHkgeW91ciBvd24gU1NMIGNvbnRleHRzLiAgT3BlblNTTCAwLjkuNyBpcyBvYnNvbGV0ZSBieSBjdXJyZW50IHNlY3VyaXR5IHN0YW5kYXJkcywgbGFja2luZyBhIG51bWJlciBvZiBpbXBvcnRhbnQgZmVhdHVyZXMgZm91bmQgaW4gbGF0ZXIgdmVyc2lvbnMuICBBbW9uZyB0aGUgcHJvYmxlbXMgdGhpcyBjYXVzZXMgaXMgdGhlIGluYWJpbGl0eSB0byB2ZXJpZnkgaGlnaGVyLXNlY3VyaXR5IGNlcnRpZmljYXRlcyBub3cgdXNlZCBieSBweXRob24ub3JnIHNlcnZpY2VzLCBpbmNsdWRpbmcgCi1caSB0e1xmaWVsZHtcKlxmbGRpbnN0e0hZUEVSTElOSyAiaHR0cHM6Ly9weXBpLnB5dGhvbi5vcmcvcHlwaSJ9fXtcZmxkcnNsdCBoZSBQeXRob24gUGFja2FnZSBJbmRleCwgUHlQSX19Ci1caTAgLiAgVG8gc29sdmUgdGhpcyBwcm9ibGVtLCBhcyBvZiAzLjQuMyB0aGUgCi1caSAxMC41KyAzMi1iaXQtb25seSBweXRob24ub3JnIHZhcmlhbnQKLVxpMCAgaXMgbGlua2VkIHdpdGggYSBwcml2YXRlIGNvcHkgb2YgCi1caSBPcGVuU1NMIDEuMC4xCi1caTAgOyBpdCBjb25zdWx0cyB0aGUgc2FtZSBkZWZhdWx0IGNlcnRpZmljYXRlIGRpcmVjdG9yeSwgCi1cZjEgL1N5c3RlbS9MaWJyYXJ5L09wZW5TU0wKLVxmMCAuICAgQXMgYmVmb3JlLCBpdCBpcyBzdGlsbCBuZWNlc3NhcnkgdG8gbWFuYWdlIGNlcnRpZmljYXRlcyB5b3Vyc2VsZiB3aGVuIHlvdSB1c2UgdGhpcyBQeXRob24gdmFyaWFudCBhbmQsIHdpdGggY2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIG5vdyBlbmFibGVkIGJ5IGRlZmF1bHQsIHlvdSBtYXkgbm93IG5lZWQgdG8gdGFrZSBhZGRpdGlvbmFsIHN0ZXBzIHRvIGVuc3VyZSB5b3VyIFB5dGhvbiBwcm9ncmFtcyBoYXZlIGFjY2VzcyB0byBDQSBjZXJ0aWZpY2F0ZXMgeW91IHRydXN0LiAgSWYgeW91IHVzZSB0aGlzIFB5dGhvbiB2YXJpYW50IHRvIGJ1aWxkIHN0YW5kYWxvbmUgYXBwbGljYXRpb25zIHdpdGggdGhpcmQtcGFydHkgdG9vbHMgbGlrZSB7XGZpZWxke1wqXGZsZGluc3R7SFlQRVJMSU5LICJodHRwczovL3B5cGkucHl0aG9uLm9yZy9weXBpL3B5MmFwcC8ifX17XGZsZHJzbHQgCi1cZjEgcHkyYXBwfX0sIHlvdSBtYXkgbm93IG5lZWQgdG8gYnVuZGxlIENBIGNlcnRpZmljYXRlcyBpbiB0aGVtIG9yIG90aGVyd2lzZSBzdXBwbHkgbm9uLWRlZmF1bHQgU1NMIGNvbnRleHRzLlwKLVwKLUZvciBPUyBYIDEwLjYrLCBBcHBsZSBhbHNvIHByb3ZpZGVzIAotXGkgT3BlblNTTAotXGkwICAKLVxpIDAuOS44IGxpYnJhcmllcwotXGkwIC4gIEFwcGxlJ3MgMC45LjggdmVyc2lvbiBpbmNsdWRlcyBhbiBpbXBvcnRhbnQgYWRkaXRpb25hbCBmZWF0dXJlOiBpZiBhIGNlcnRpZmljYXRlIGNhbm5vdCBiZSB2ZXJpZmllZCB1c2luZyB0aGUgbWFudWFsbHkgYWRtaW5pc3RlcmVkIGNlcnRpZmljYXRlcyBpbiAKLVxmMSAvU3lzdGVtL0xpYnJhcnkvT3BlblNTTAotXGYwICwgdGhlIGNlcnRpZmljYXRlcyBtYW5hZ2VkIGJ5IHRoZSBzeXN0ZW0gc2VjdXJpdHkgZnJhbWV3b3JrIEluIHRoZSB1c2VyIGFuZCBzeXN0ZW0ga2V5Y2hhaW5zIGFyZSBhbHNvIGNvbnN1bHRlZCAodXNpbmcgQXBwbGUgcHJpdmF0ZSBBUElzKS4gIEZvciB0aGlzIHJlYXNvbiwgZm9yIDMuNC4zIHRoZSAKLVxpIDY0LWJpdC8zMi1iaXQgMTAuNisgcHl0aG9uLm9yZyB2YXJpYW50Ci1caTAgIGNvbnRpbnVlcyB0byBiZSBkeW5hbWljYWxseSBsaW5rZWQgd2l0aCBBcHBsZSdzIE9wZW5TU0wgMC45Ljggc2luY2UgaXQgd2FzIGZlbHQgdGhhdCB0aGUgbG9zcyBvZiB0aGUgc3lzdGVtLXByb3ZpZGVkIGNlcnRpZmljYXRlcyBhbmQgbWFuYWdlbWVudCB0b29scyBvdXR3ZWlnaHMgdGhlIGFkZGl0aW9uYWwgc2VjdXJpdHkgZmVhdHVyZXMgcHJvdmlkZWQgYnkgbmV3ZXIgdmVyc2lvbnMgb2YgT3BlblNTTC4gIFRoaXMgd2lsbCBsaWtlbHkgY2hhbmdlIGluIGZ1dHVyZSByZWxlYXNlcyBvZiB0aGUgcHl0aG9uLm9yZyBpbnN0YWxsZXJzIGFzIEFwcGxlIGhhcyBkZXByZWNhdGVkIHVzZSBvZiB0aGUgc3lzdGVtLXN1cHBsaWVkIE9wZW5TU0wgbGlicmFyaWVzLiAgSWYgeW91IGRvIG5lZWQgZmVhdHVyZXMgZnJvbSBuZXdlciB2ZXJzaW9ucyBvZiBPcGVuU1NMLCB0aGVyZSBhcmUgdGhpcmQtcGFydHkgT3BlblNTTCB3cmFwcGVyIHBhY2thZ2VzIGF2YWlsYWJsZSB0aHJvdWdoIAotXGkgUHlQSQotXGkwIC5cCi1cCi1UaGUgYnVuZGxlZCAKLVxmMSBwaXAKLVxmMCAgaW5jbHVkZWQgd2l0aCAzLjQuMyBoYXMgaXRzIG93biBkZWZhdWx0IGNlcnRpZmljYXRlIHN0b3JlIGZvciB2ZXJpZnlpbmcgZG93bmxvYWQgY29ubmVjdGlvbnMuXAotXHBhcmRcdHg3MjBcdHgxNDQwXHR4MjE2MFx0eDI4ODBcdHgzNjAwXHR4NDMyMFx0eDUwNDBcdHg1NzYwXHR4NjQ4MFx0eDcyMDBcdHg3OTIwXHR4ODY0MFxwYXJkaXJuYXR1cmFsCi0KLVxiIFxjZjAgXHVsIFwKIFB5dGhvbiAzIGFuZCBQeXRob24gMiBDby1leGlzdGVuY2VcCiAKIFxiMCBcdWxub25lIFwKZGlmZiAtLWdpdCBhL01hYy9CdWlsZFNjcmlwdC9yZXNvdXJjZXMvV2VsY29tZS5ydGYgYi9NYWMvQnVpbGRTY3JpcHQvcmVzb3VyY2VzL1dlbGNvbWUucnRmCmluZGV4IDI1Mjc3ODcuLmRmYjc1ZDggMTAwNjQ0Ci0tLSBhL01hYy9CdWlsZFNjcmlwdC9yZXNvdXJjZXMvV2VsY29tZS5ydGYKKysrIGIvTWFjL0J1aWxkU2NyaXB0L3Jlc291cmNlcy9XZWxjb21lLnJ0ZgpAQCAtMSw1ICsxLDUgQEAKIHtccnRmMVxhbnNpXGFuc2ljcGcxMjUyXGNvY29hcnRmMTM0M1xjb2NvYXN1YnJ0ZjE2MAotXGNvY29hc2NyZWVuZm9udHMxe1xmb250dGJsXGYwXGZzd2lzc1xmY2hhcnNldDAgSGVsdmV0aWNhO1xmMVxmbW9kZXJuXGZjaGFyc2V0MCBDb3VyaWVyTmV3UFNNVDt9CitcY29jb2FzY3JlZW5mb250czF7XGZvbnR0YmxcZjBcZnN3aXNzXGZjaGFyc2V0MCBIZWx2ZXRpY2E7fQoge1xjb2xvcnRibDtccmVkMjU1XGdyZWVuMjU1XGJsdWUyNTU7fQogXHBhcGVydzExOTA1XHBhcGVyaDE2ODM3XG1hcmdsMTQ0MFxtYXJncjE0NDBcdmlld3cxMjIwMFx2aWV3aDEwODgwXHZpZXdraW5kMAogXHBhcmRcdHg3MjBcdHgxNDQwXHR4MjE2MFx0eDI4ODBcdHgzNjAwXHR4NDMyMFx0eDUwNDBcdHg1NzYwXHR4NjQ4MFx0eDcyMDBcdHg3OTIwXHR4ODY0MApAQCAtMTcsMTIgKzE3LDYgQEAKIFxiMCAuXAogXAogCi1cYiBORVcgZm9yIFB5dGhvbiAzLjQuMzogCi1cYjAgIDMuNC4zIGluY2x1ZGVzIG5ldHdvcmsgc2VjdXJpdHkgZW5oYW5jZW1lbnRzIHRoYXQgbWF5IHJlcXVpcmUgY2hhbmdlcyB0byB5b3VyIFB5dGhvbiBhcHBsaWNhdGlvbnMuICBTZWUgdGhlIAotXGYxIFJlYWRNZQotXGYwICBmaWxlIGFuZCB7XGZpZWxke1wqXGZsZGluc3R7SFlQRVJMSU5LICJodHRwczovL2RvY3MucHl0aG9uLm9yZy8zL3doYXRzbmV3LzMuNC5odG1sI2NoYW5nZWQtaW4tMy00LTMifX17XGZsZHJzbHQgdGhlIFB5dGhvbiBkb2N1bWVudGF0aW9ufX0gZm9yIG1vcmUgaW5mb3JtYXRpb24uXAotXAotCiBcYiBJTVBPUlRBTlQ6CiBcYjAgIAogXGIgSURMRQpkaWZmIC0tZ2l0IGEvTWFjL1B5dGhvbkxhdW5jaGVyL0luZm8ucGxpc3QuaW4gYi9NYWMvUHl0aG9uTGF1bmNoZXIvSW5mby5wbGlzdC5pbgppbmRleCA0Mjg0NmVhLi5iNGFkZTFkIDEwMDY0NAotLS0gYS9NYWMvUHl0aG9uTGF1bmNoZXIvSW5mby5wbGlzdC5pbgorKysgYi9NYWMvUHl0aG9uTGF1bmNoZXIvSW5mby5wbGlzdC5pbgpAQCAtMSw1ICsxLDUgQEAKIDw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Ci08IURPQ1RZUEUgcGxpc3QgUFVCTElDICItLy9BcHBsZSBDb21wdXRlci8vRFREIFBMSVNUIDEuMC8vRU4iICJodHRwOi8vd3d3LmFwcGxlLmNvbS9EVERzL1Byb3BlcnR5TGlzdC0xLjAuZHRkIj4KKzwhRE9DVFlQRSBwbGlzdCBQVUJMSUMgIi0vL0FwcGxlLy9EVEQgUExJU1QgMS4wLy9FTiIgImh0dHA6Ly93d3cuYXBwbGUuY29tL0RURHMvUHJvcGVydHlMaXN0LTEuMC5kdGQiPgogPHBsaXN0IHZlcnNpb249IjEuMCI+CiA8ZGljdD4KIAk8a2V5PkNGQnVuZGxlRGV2ZWxvcG1lbnRSZWdpb248L2tleT4KQEAgLTM4LDcgKzM4LDcgQEAKIAkJPC9kaWN0PgogCTwvYXJyYXk+CiAJPGtleT5DRkJ1bmRsZUV4ZWN1dGFibGU8L2tleT4KLQk8c3RyaW5nPlB5dGhvbkxhdW5jaGVyPC9zdHJpbmc+CisJPHN0cmluZz5QeXRob24gTGF1bmNoZXI8L3N0cmluZz4KIAk8a2V5PkNGQnVuZGxlR2V0SW5mb1N0cmluZzwva2V5PgogCTxzdHJpbmc+JVZFUlNJT04lLCDCqSAyMDAxLTIwMTUgUHl0aG9uIFNvZnR3YXJlIEZvdW5kYXRpb248L3N0cmluZz4KIAk8a2V5PkNGQnVuZGxlSWNvbkZpbGU8L2tleT4KZGlmZiAtLWdpdCBhL01hYy9QeXRob25MYXVuY2hlci9NYWtlZmlsZS5pbiBiL01hYy9QeXRob25MYXVuY2hlci9NYWtlZmlsZS5pbgppbmRleCBmMDVlZmRmLi40YzA1ZjI2IDEwMDY0NAotLS0gYS9NYWMvUHl0aG9uTGF1bmNoZXIvTWFrZWZpbGUuaW4KKysrIGIvTWFjL1B5dGhvbkxhdW5jaGVyL01ha2VmaWxlLmluCkBAIC0xNSwxMiArMTUsMTAgQEAKIFBZVEhPTkZSQU1FV09SSz1AUFlUSE9ORlJBTUVXT1JLQAogCiAjIERlcGxveW1lbnQgdGFyZ2V0IHNlbGVjdGVkIGR1cmluZyBjb25maWd1cmUsIHRvIGJlIGNoZWNrZWQKLSMgYnkgZGlzdHV0aWxzICAKKyMgYnkgZGlzdHV0aWxzCiBNQUNPU1hfREVQTE9ZTUVOVF9UQVJHRVQ9QENPTkZJR1VSRV9NQUNPU1hfREVQTE9ZTUVOVF9UQVJHRVRACiBARVhQT1JUX01BQ09TWF9ERVBMT1lNRU5UX1RBUkdFVEBleHBvcnQgTUFDT1NYX0RFUExPWU1FTlRfVEFSR0VUCiAKLUJVTkRMRUJVTERFUj0kKHNyY2RpcikvLi4vVG9vbHMvYnVuZGxlYnVpbGRlci5weQotCiBQWVRIT05BUFBTRElSPUBGUkFNRVdPUktJTlNUQUxMQVBQU1BSRUZJWEAvJChQWVRIT05GUkFNRVdPUkspICQoVkVSU0lPTikKIE9CSkVDVFM9RmlsZVNldHRpbmdzLm8gTXlBcHBEZWxlZ2F0ZS5vIE15RG9jdW1lbnQubyBQcmVmZXJlbmNlc1dpbmRvd0NvbnRyb2xsZXIubyBkb3NjcmlwdC5vIG1haW4ubwogCkBAIC0zMCwxMCArMjgsMTAgQEAKIAkvYmluL2NwIC1yICJQeXRob24gTGF1bmNoZXIuYXBwIiAiJChERVNURElSKSQoUFlUSE9OQVBQU0RJUikiCiAJdG91Y2ggIiQoREVTVERJUikkKFBZVEhPTkFQUFNESVIpL1B5dGhvbiBMYXVuY2hlci5hcHAiCiAKLQogY2xlYW46CiAJcm0gLWYgKi5vICJQeXRob24gTGF1bmNoZXIiCiAJcm0gLXJmICJQeXRob24gTGF1bmNoZXIuYXBwIgorCXJtIC1mIEluZm8ucGxpc3QKIAogUHl0aG9uXCBMYXVuY2hlci5hcHA6ICBJbmZvLnBsaXN0IFwKIAkJUHl0aG9uXCBMYXVuY2hlciAkKHNyY2RpcikvLi4vSWNvbnMvUHl0aG9uTGF1bmNoZXIuaWNucyBcCkBAIC00MSwxOCArMzksMTcgQEAKIAkJJChzcmNkaXIpLy4uL0ljb25zL1B5dGhvbkNvbXBpbGVkLmljbnMgXAogCQkkKHNyY2RpcikvZmFjdG9yeVNldHRpbmdzLnBsaXN0CiAJcm0gLWZyICJQeXRob24gTGF1bmNoZXIuYXBwIgotCSQoUlVOU0hBUkVEKSAkKEJVSUxEUFlUSE9OKSAkKEJVTkRMRUJVTERFUikgXAotCQktLWJ1aWxkZGlyPS4gXAotCQktLW5hbWU9IlB5dGhvbiBMYXVuY2hlciIgXAotCQktLWV4ZWN1dGFibGU9IlB5dGhvbiBMYXVuY2hlciIgXAotCQktLWljb25maWxlPSQoc3JjZGlyKS8uLi9JY29ucy9QeXRob25MYXVuY2hlci5pY25zIFwKLQkJLS1idW5kbGUtaWQ9b3JnLnB5dGhvbi5QeXRob25MYXVuY2hlciBcCi0JCS0tcmVzb3VyY2U9JChzcmNkaXIpLy4uL0ljb25zL1B5dGhvblNvdXJjZS5pY25zIFwKLQkJLS1yZXNvdXJjZT0kKHNyY2RpcikvLi4vSWNvbnMvUHl0aG9uQ29tcGlsZWQuaWNucyBcCi0JCS0tcmVzb3VyY2U9JChzcmNkaXIpL0VuZ2xpc2gubHByb2ogXAotCQktLXJlc291cmNlPSQoc3JjZGlyKS9mYWN0b3J5U2V0dGluZ3MucGxpc3QgXAotCQktLXBsaXN0IEluZm8ucGxpc3QgXAotCQlidWlsZAorCW1rZGlyICJQeXRob24gTGF1bmNoZXIuYXBwIgorCW1rZGlyICJQeXRob24gTGF1bmNoZXIuYXBwL0NvbnRlbnRzIgorCW1rZGlyICJQeXRob24gTGF1bmNoZXIuYXBwL0NvbnRlbnRzL01hY09TIgorCW1rZGlyICJQeXRob24gTGF1bmNoZXIuYXBwL0NvbnRlbnRzL1Jlc291cmNlcyIKKwljcCAiUHl0aG9uIExhdW5jaGVyIiAiUHl0aG9uIExhdW5jaGVyLmFwcC9Db250ZW50cy9NYWNPUyIKKwljcCBJbmZvLnBsaXN0ICAiUHl0aG9uIExhdW5jaGVyLmFwcC9Db250ZW50cyIKKwljcCAkKHNyY2RpcikvLi4vSWNvbnMvUHl0aG9uTGF1bmNoZXIuaWNucyAgIlB5dGhvbiBMYXVuY2hlci5hcHAvQ29udGVudHMvUmVzb3VyY2VzIgorCWNwICQoc3JjZGlyKS8uLi9JY29ucy9QeXRob25Tb3VyY2UuaWNucyAgIlB5dGhvbiBMYXVuY2hlci5hcHAvQ29udGVudHMvUmVzb3VyY2VzIgorCWNwICQoc3JjZGlyKS8uLi9JY29ucy9QeXRob25Db21waWxlZC5pY25zICAiUHl0aG9uIExhdW5jaGVyLmFwcC9Db250ZW50cy9SZXNvdXJjZXMiCisJY3AgJChzcmNkaXIpL2ZhY3RvcnlTZXR0aW5ncy5wbGlzdCAgIlB5dGhvbiBMYXVuY2hlci5hcHAvQ29udGVudHMvUmVzb3VyY2VzIgorCWNwIC1SICQoc3JjZGlyKS9FbmdsaXNoLmxwcm9qICJQeXRob24gTGF1bmNoZXIuYXBwL0NvbnRlbnRzL1Jlc291cmNlcyIKIAogRmlsZVNldHRpbmdzLm86ICQoc3JjZGlyKS9GaWxlU2V0dGluZ3MubQogCSQoQ0MpICQoQ0ZMQUdTKSAtbyAkQCAtYyAkKHNyY2RpcikvRmlsZVNldHRpbmdzLm0KZGlmZiAtLWdpdCBhL01hYy9Ub29scy9idW5kbGVidWlsZGVyLnB5IGIvTWFjL1Rvb2xzL2J1bmRsZWJ1aWxkZXIucHkKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IGY1Njc5ZDMuLjAwMDAwMDAKLS0tIGEvTWFjL1Rvb2xzL2J1bmRsZWJ1aWxkZXIucHkKKysrIC9kZXYvbnVsbApAQCAtMSw5MzQgKzAsMCBAQAotIyEgL3Vzci9iaW4vZW52IHB5dGhvbgotCi0iIiJcCi1idW5kbGVidWlsZGVyLnB5IC0tIFRvb2xzIHRvIGFzc2VtYmxlIE1hY09TIFggKGFwcGxpY2F0aW9uKSBidW5kbGVzLgotCi1UaGlzIG1vZHVsZSBjb250YWlucyB0d28gY2xhc3NlcyB0byBidWlsZCBzbyBjYWxsZWQgImJ1bmRsZXMiIGZvcgotTWFjT1MgWC4gQnVuZGxlQnVpbGRlciBpcyBhIGdlbmVyYWwgdG9vbCwgQXBwQnVpbGRlciBpcyBhIHN1YmNsYXNzCi1zcGVjaWFsaXplZCBpbiBidWlsZGluZyBhcHBsaWNhdGlvbiBidW5kbGVzLgotCi1bQnVuZGxlfEFwcF1CdWlsZGVyIG9iamVjdHMgYXJlIGluc3RhbnRpYXRlZCB3aXRoIGEgYnVuY2ggb2Yga2V5d29yZAotYXJndW1lbnRzLCBhbmQgaGF2ZSBhIGJ1aWxkKCkgbWV0aG9kIHRoYXQgd2lsbCBkbyBhbGwgdGhlIHdvcmsuIFNlZQotdGhlIGNsYXNzIGRvYyBzdHJpbmdzIGZvciBhIGRlc2NyaXB0aW9uIG9mIHRoZSBjb25zdHJ1Y3RvciBhcmd1bWVudHMuCi0KLVRoZSBtb2R1bGUgY29udGFpbnMgYSBtYWluIHByb2dyYW0gdGhhdCBjYW4gYmUgdXNlZCBpbiB0d28gd2F5czoKLQotICAlIHB5dGhvbiBidW5kbGVidWlsZGVyLnB5IFtvcHRpb25zXSBidWlsZAotICAlIHB5dGhvbiBidWlsZGFwcC5weSBbb3B0aW9uc10gYnVpbGQKLQotV2hlcmUgImJ1aWxkYXBwLnB5IiBpcyBhIHVzZXItc3VwcGxpZWQgc2V0dXAucHktbGlrZSBzY3JpcHQgZm9sbG93aW5nCi10aGlzIG1vZGVsOgotCi0gIGZyb20gYnVuZGxlYnVpbGRlciBpbXBvcnQgYnVpbGRhcHAKLSAgYnVpbGRhcHAoPGxvdHMtb2Yta2V5d29yZC1hcmdzPikKLQotIiIiCi0KLQotX19hbGxfXyA9IFsiQnVuZGxlQnVpbGRlciIsICJCdW5kbGVCdWlsZGVyRXJyb3IiLCAiQXBwQnVpbGRlciIsICJidWlsZGFwcCJdCi0KLQotaW1wb3J0IHN5cwotaW1wb3J0IG9zLCBlcnJubywgc2h1dGlsCi1pbXBvcnQgaW1wLCBtYXJzaGFsCi1pbXBvcnQgcmUKLWZyb20gY29weSBpbXBvcnQgZGVlcGNvcHkKLWltcG9ydCBnZXRvcHQKLWZyb20gcGxpc3RsaWIgaW1wb3J0IFBsaXN0Ci1mcm9tIHR5cGVzIGltcG9ydCBGdW5jdGlvblR5cGUgYXMgZnVuY3Rpb24KLQotY2xhc3MgQnVuZGxlQnVpbGRlckVycm9yKEV4Y2VwdGlvbik6IHBhc3MKLQotCi1jbGFzcyBEZWZhdWx0czoKLQotICAgICIiIkNsYXNzIGF0dHJpYnV0ZXMgdGhhdCBkb24ndCBzdGFydCB3aXRoIGFuIHVuZGVyc2NvcmUgYW5kIGFyZQotICAgIG5vdCBmdW5jdGlvbnMgb3IgY2xhc3NtZXRob2RzIGFyZSAoZGVlcCljb3BpZWQgdG8gc2VsZi5fX2RpY3RfXy4KLSAgICBUaGlzIGFsbG93cyBmb3IgbXV0YWJsZSBkZWZhdWx0IHZhbHVlcy4KLSAgICAiIiIKLQotICAgIGRlZiBfX2luaXRfXyhzZWxmLCAqKmt3YXJncyk6Ci0gICAgICAgIGRlZmF1bHRzID0gc2VsZi5fZ2V0RGVmYXVsdHMoKQotICAgICAgICBkZWZhdWx0cy51cGRhdGUoa3dhcmdzKQotICAgICAgICBzZWxmLl9fZGljdF9fLnVwZGF0ZShkZWZhdWx0cykKLQotICAgIGRlZiBfZ2V0RGVmYXVsdHMoY2xzKToKLSAgICAgICAgZGVmYXVsdHMgPSB7fQotICAgICAgICBmb3IgYmFzZSBpbiBjbHMuX19iYXNlc19fOgotICAgICAgICAgICAgaWYgaGFzYXR0cihiYXNlLCAiX2dldERlZmF1bHRzIik6Ci0gICAgICAgICAgICAgICAgZGVmYXVsdHMudXBkYXRlKGJhc2UuX2dldERlZmF1bHRzKCkpCi0gICAgICAgIGZvciBuYW1lLCB2YWx1ZSBpbiBsaXN0KGNscy5fX2RpY3RfXy5pdGVtcygpKToKLSAgICAgICAgICAgIGlmIG5hbWVbMF0gIT0gIl8iIGFuZCBub3QgaXNpbnN0YW5jZSh2YWx1ZSwKLSAgICAgICAgICAgICAgICAgICAgKGZ1bmN0aW9uLCBjbGFzc21ldGhvZCkpOgotICAgICAgICAgICAgICAgIGRlZmF1bHRzW25hbWVdID0gZGVlcGNvcHkodmFsdWUpCi0gICAgICAgIHJldHVybiBkZWZhdWx0cwotICAgIF9nZXREZWZhdWx0cyA9IGNsYXNzbWV0aG9kKF9nZXREZWZhdWx0cykKLQotCi1jbGFzcyBCdW5kbGVCdWlsZGVyKERlZmF1bHRzKToKLQotICAgICIiIkJ1bmRsZUJ1aWxkZXIgaXMgYSBiYXJlYm9uZXMgY2xhc3MgZm9yIGFzc2VtYmxpbmcgYnVuZGxlcy4gSXQKLSAgICBrbm93cyBub3RoaW5nIGFib3V0IGV4ZWN1dGFibGVzIG9yIGljb25zLCBpdCBvbmx5IGNvcGllcyBmaWxlcwotICAgIGFuZCBjcmVhdGVzIHRoZSBQa2dJbmZvIGFuZCBJbmZvLnBsaXN0IGZpbGVzLgotICAgICIiIgotCi0gICAgIyAoTm90ZSB0aGF0IERlZmF1bHRzLl9faW5pdF9fIChkZWVwKWNvcGllcyB0aGVzZSB2YWx1ZXMgdG8KLSAgICAjIGluc3RhbmNlIHZhcmlhYmxlcy4gTXV0YWJsZSBkZWZhdWx0cyBhcmUgdGhlcmVmb3JlIHNhZmUuKQotCi0gICAgIyBOYW1lIG9mIHRoZSBidW5kbGUsIHdpdGggb3Igd2l0aG91dCBleHRlbnNpb24uCi0gICAgbmFtZSA9IE5vbmUKLQotICAgICMgVGhlIHByb3BlcnR5IGxpc3QgKCJwbGlzdCIpCi0gICAgcGxpc3QgPSBQbGlzdChDRkJ1bmRsZURldmVsb3BtZW50UmVnaW9uID0gIkVuZ2xpc2giLAotICAgICAgICAgICAgICAgICAgQ0ZCdW5kbGVJbmZvRGljdGlvbmFyeVZlcnNpb24gPSAiNi4wIikKLQotICAgICMgVGhlIHR5cGUgb2YgdGhlIGJ1bmRsZS4KLSAgICB0eXBlID0gIkJOREwiCi0gICAgIyBUaGUgY3JlYXRvciBjb2RlIG9mIHRoZSBidW5kbGUuCi0gICAgY3JlYXRvciA9IE5vbmUKLQotICAgICMgdGhlIENGQnVuZGxlSWRlbnRpZmllciAodGhpcyBpcyB1c2VkIGZvciB0aGUgcHJlZmVyZW5jZXMgZmlsZSBuYW1lKQotICAgIGJ1bmRsZV9pZCA9IE5vbmUKLQotICAgICMgTGlzdCBvZiBmaWxlcyB0aGF0IGhhdmUgdG8gYmUgY29waWVkIHRvIDxidW5kbGU+L0NvbnRlbnRzL1Jlc291cmNlcy4KLSAgICByZXNvdXJjZXMgPSBbXQotCi0gICAgIyBMaXN0IG9mIChzcmMsIGRlc3QpIHR1cGxlczsgZGVzdCBzaG91bGQgYmUgYSBwYXRoIHJlbGF0aXZlIHRvIHRoZSBidW5kbGUKLSAgICAjIChlZy4gIkNvbnRlbnRzL1Jlc291cmNlcy9NeVN0dWZmL1NvbWVGaWxlLmV4dCkuCi0gICAgZmlsZXMgPSBbXQotCi0gICAgIyBMaXN0IG9mIHNoYXJlZCBsaWJyYXJpZXMgKGR5bGlicywgRnJhbWV3b3JrcykgdG8gYnVuZGxlIHdpdGggdGhlIGFwcAotICAgICMgd2lsbCBiZSBwbGFjZWQgaW4gQ29udGVudHMvRnJhbWV3b3JrcwotICAgIGxpYnMgPSBbXQotCi0gICAgIyBEaXJlY3Rvcnkgd2hlcmUgdGhlIGJ1bmRsZSB3aWxsIGJlIGFzc2VtYmxlZC4KLSAgICBidWlsZGRpciA9ICJidWlsZCIKLQotICAgICMgTWFrZSBzeW1saW5rcyBpbnN0ZWFkIGNvcHlpbmcgZmlsZXMuIFRoaXMgaXMgaGFuZHkgZHVyaW5nIGRlYnVnZ2luZywgYnV0Ci0gICAgIyBtYWtlcyB0aGUgYnVuZGxlIG5vbi1kaXN0cmlidXRhYmxlLgotICAgIHN5bWxpbmsgPSAwCi0KLSAgICAjIFZlcmJvc2l0eSBsZXZlbC4KLSAgICB2ZXJib3NpdHkgPSAxCi0KLSAgICAjIERlc3RpbmF0aW9uIHJvb3QgZGlyZWN0b3J5Ci0gICAgZGVzdHJvb3QgPSAiIgotCi0gICAgZGVmIHNldHVwKHNlbGYpOgotICAgICAgICAjIFhYWCByZXRoaW5rIHNlbGYubmFtZSBtdW5naW5nLCB0aGlzIGlzIGJyaXR0bGUuCi0gICAgICAgIHNlbGYubmFtZSwgZXh0ID0gb3MucGF0aC5zcGxpdGV4dChzZWxmLm5hbWUpCi0gICAgICAgIGlmIG5vdCBleHQ6Ci0gICAgICAgICAgICBleHQgPSAiLmJ1bmRsZSIKLSAgICAgICAgYnVuZGxlZXh0ZW5zaW9uID0gZXh0Ci0gICAgICAgICMgbWlzYyAoZGVyaXZlZCkgYXR0cmlidXRlcwotICAgICAgICBzZWxmLmJ1bmRsZXBhdGggPSBwYXRoam9pbihzZWxmLmJ1aWxkZGlyLCBzZWxmLm5hbWUgKyBidW5kbGVleHRlbnNpb24pCi0KLSAgICAgICAgcGxpc3QgPSBzZWxmLnBsaXN0Ci0gICAgICAgIHBsaXN0LkNGQnVuZGxlTmFtZSA9IHNlbGYubmFtZQotICAgICAgICBwbGlzdC5DRkJ1bmRsZVBhY2thZ2VUeXBlID0gc2VsZi50eXBlCi0gICAgICAgIGlmIHNlbGYuY3JlYXRvciBpcyBOb25lOgotICAgICAgICAgICAgaWYgaGFzYXR0cihwbGlzdCwgIkNGQnVuZGxlU2lnbmF0dXJlIik6Ci0gICAgICAgICAgICAgICAgc2VsZi5jcmVhdG9yID0gcGxpc3QuQ0ZCdW5kbGVTaWduYXR1cmUKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgc2VsZi5jcmVhdG9yID0gIj8/Pz8iCi0gICAgICAgIHBsaXN0LkNGQnVuZGxlU2lnbmF0dXJlID0gc2VsZi5jcmVhdG9yCi0gICAgICAgIGlmIHNlbGYuYnVuZGxlX2lkOgotICAgICAgICAgICAgcGxpc3QuQ0ZCdW5kbGVJZGVudGlmaWVyID0gc2VsZi5idW5kbGVfaWQKLSAgICAgICAgZWxpZiBub3QgaGFzYXR0cihwbGlzdCwgIkNGQnVuZGxlSWRlbnRpZmllciIpOgotICAgICAgICAgICAgcGxpc3QuQ0ZCdW5kbGVJZGVudGlmaWVyID0gc2VsZi5uYW1lCi0KLSAgICBkZWYgYnVpbGQoc2VsZik6Ci0gICAgICAgICIiIkJ1aWxkIHRoZSBidW5kbGUuIiIiCi0gICAgICAgIGJ1aWxkZGlyID0gc2VsZi5idWlsZGRpcgotICAgICAgICBpZiBidWlsZGRpciBhbmQgbm90IG9zLnBhdGguZXhpc3RzKGJ1aWxkZGlyKToKLSAgICAgICAgICAgIG9zLm1rZGlyKGJ1aWxkZGlyKQotICAgICAgICBzZWxmLm1lc3NhZ2UoIkJ1aWxkaW5nICVzIiAlIHJlcHIoc2VsZi5idW5kbGVwYXRoKSwgMSkKLSAgICAgICAgaWYgb3MucGF0aC5leGlzdHMoc2VsZi5idW5kbGVwYXRoKToKLSAgICAgICAgICAgIHNodXRpbC5ybXRyZWUoc2VsZi5idW5kbGVwYXRoKQotICAgICAgICBpZiBvcy5wYXRoLmV4aXN0cyhzZWxmLmJ1bmRsZXBhdGggKyAnficpOgotICAgICAgICAgICAgc2h1dGlsLnJtdHJlZShzZWxmLmJ1bmRsZXBhdGggKyAnficpCi0gICAgICAgIGJwID0gc2VsZi5idW5kbGVwYXRoCi0KLSAgICAgICAgIyBDcmVhdGUgdGhlIGFwcCBidW5kbGUgaW4gYSB0ZW1wb3JhcnkgbG9jYXRpb24gYW5kIHRoZW4KLSAgICAgICAgIyByZW5hbWUgdGhlIGNvbXBsZXRlZCBidW5kbGUuIFRoaXMgd2F5IHRoZSBGaW5kZXIgd2lsbAotICAgICAgICAjIG5ldmVyIHNlZSBhbiBpbmNvbXBsZXRlIGJ1bmRsZSAod2hlcmUgaXQgbWlnaHQgcGljayB1cAotICAgICAgICAjIGFuZCBjYWNoZSB0aGUgd3JvbmcgbWV0YSBkYXRhKQotICAgICAgICBzZWxmLmJ1bmRsZXBhdGggPSBicCArICd+JwotICAgICAgICB0cnk6Ci0gICAgICAgICAgICBvcy5ta2RpcihzZWxmLmJ1bmRsZXBhdGgpCi0gICAgICAgICAgICBzZWxmLnByZVByb2Nlc3MoKQotICAgICAgICAgICAgc2VsZi5fY29weUZpbGVzKCkKLSAgICAgICAgICAgIHNlbGYuX2FkZE1ldGFGaWxlcygpCi0gICAgICAgICAgICBzZWxmLnBvc3RQcm9jZXNzKCkKLSAgICAgICAgICAgIG9zLnJlbmFtZShzZWxmLmJ1bmRsZXBhdGgsIGJwKQotICAgICAgICBmaW5hbGx5OgotICAgICAgICAgICAgc2VsZi5idW5kbGVwYXRoID0gYnAKLSAgICAgICAgc2VsZi5tZXNzYWdlKCJEb25lLiIsIDEpCi0KLSAgICBkZWYgcHJlUHJvY2VzcyhzZWxmKToKLSAgICAgICAgIiIiSG9vayBmb3Igc3ViY2xhc3Nlcy4iIiIKLSAgICAgICAgcGFzcwotICAgIGRlZiBwb3N0UHJvY2VzcyhzZWxmKToKLSAgICAgICAgIiIiSG9vayBmb3Igc3ViY2xhc3Nlcy4iIiIKLSAgICAgICAgcGFzcwotCi0gICAgZGVmIF9hZGRNZXRhRmlsZXMoc2VsZik6Ci0gICAgICAgIGNvbnRlbnRzID0gcGF0aGpvaW4oc2VsZi5idW5kbGVwYXRoLCAiQ29udGVudHMiKQotICAgICAgICBtYWtlZGlycyhjb250ZW50cykKLSAgICAgICAgIwotICAgICAgICAjIFdyaXRlIENvbnRlbnRzL1BrZ0luZm8KLSAgICAgICAgYXNzZXJ0IGxlbihzZWxmLnR5cGUpID09IGxlbihzZWxmLmNyZWF0b3IpID09IDQsIFwKLSAgICAgICAgICAgICAgICAidHlwZSBhbmQgY3JlYXRvciBtdXN0IGJlIDQtYnl0ZSBzdHJpbmdzLiIKLSAgICAgICAgcGtnaW5mbyA9IHBhdGhqb2luKGNvbnRlbnRzLCAiUGtnSW5mbyIpCi0gICAgICAgIGYgPSBvcGVuKHBrZ2luZm8sICJ3YiIpCi0gICAgICAgIGYud3JpdGUoKHNlbGYudHlwZSArIHNlbGYuY3JlYXRvcikuZW5jb2RlKCdsYXRpbjEnKSkKLSAgICAgICAgZi5jbG9zZSgpCi0gICAgICAgICMKLSAgICAgICAgIyBXcml0ZSBDb250ZW50cy9JbmZvLnBsaXN0Ci0gICAgICAgIGluZm9wbGlzdCA9IHBhdGhqb2luKGNvbnRlbnRzLCAiSW5mby5wbGlzdCIpCi0gICAgICAgIHNlbGYucGxpc3Qud3JpdGUoaW5mb3BsaXN0KQotCi0gICAgZGVmIF9jb3B5RmlsZXMoc2VsZik6Ci0gICAgICAgIGZpbGVzID0gc2VsZi5maWxlc1s6XQotICAgICAgICBmb3IgcGF0aCBpbiBzZWxmLnJlc291cmNlczoKLSAgICAgICAgICAgIGZpbGVzLmFwcGVuZCgocGF0aCwgcGF0aGpvaW4oIkNvbnRlbnRzIiwgIlJlc291cmNlcyIsCi0gICAgICAgICAgICAgICAgb3MucGF0aC5iYXNlbmFtZShwYXRoKSkpKQotICAgICAgICBmb3IgcGF0aCBpbiBzZWxmLmxpYnM6Ci0gICAgICAgICAgICBmaWxlcy5hcHBlbmQoKHBhdGgsIHBhdGhqb2luKCJDb250ZW50cyIsICJGcmFtZXdvcmtzIiwKLSAgICAgICAgICAgICAgICBvcy5wYXRoLmJhc2VuYW1lKHBhdGgpKSkpCi0gICAgICAgIGlmIHNlbGYuc3ltbGluazoKLSAgICAgICAgICAgIHNlbGYubWVzc2FnZSgiTWFraW5nIHN5bWJvbGljIGxpbmtzIiwgMSkKLSAgICAgICAgICAgIG1zZyA9ICJNYWtpbmcgc3ltbGluayBmcm9tIgotICAgICAgICBlbHNlOgotICAgICAgICAgICAgc2VsZi5tZXNzYWdlKCJDb3B5aW5nIGZpbGVzIiwgMSkKLSAgICAgICAgICAgIG1zZyA9ICJDb3B5aW5nIgotICAgICAgICBmaWxlcy5zb3J0KCkKLSAgICAgICAgZm9yIHNyYywgZHN0IGluIGZpbGVzOgotICAgICAgICAgICAgaWYgb3MucGF0aC5pc2RpcihzcmMpOgotICAgICAgICAgICAgICAgIHNlbGYubWVzc2FnZSgiJXMgJXMvIHRvICVzLyIgJSAobXNnLCBzcmMsIGRzdCksIDIpCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIHNlbGYubWVzc2FnZSgiJXMgJXMgdG8gJXMiICUgKG1zZywgc3JjLCBkc3QpLCAyKQotICAgICAgICAgICAgZHN0ID0gcGF0aGpvaW4oc2VsZi5idW5kbGVwYXRoLCBkc3QpCi0gICAgICAgICAgICBpZiBzZWxmLnN5bWxpbms6Ci0gICAgICAgICAgICAgICAgc3ltbGluayhzcmMsIGRzdCwgbWtkaXJzPTEpCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIGNvcHkoc3JjLCBkc3QsIG1rZGlycz0xKQotCi0gICAgZGVmIG1lc3NhZ2Uoc2VsZiwgbXNnLCBsZXZlbD0wKToKLSAgICAgICAgaWYgbGV2ZWwgPD0gc2VsZi52ZXJib3NpdHk6Ci0gICAgICAgICAgICBpbmRlbnQgPSAiIgotICAgICAgICAgICAgaWYgbGV2ZWwgPiAxOgotICAgICAgICAgICAgICAgIGluZGVudCA9IChsZXZlbCAtIDEpICogIiAgIgotICAgICAgICAgICAgc3lzLnN0ZGVyci53cml0ZShpbmRlbnQgKyBtc2cgKyAiXG4iKQotCi0gICAgZGVmIHJlcG9ydChzZWxmKToKLSAgICAgICAgIyBYWFggc29tZXRoaW5nIGRlY2VudAotICAgICAgICBwYXNzCi0KLQotaWYgX19kZWJ1Z19fOgotICAgIFBZQ19FWFQgPSAiLnB5YyIKLWVsc2U6Ci0gICAgUFlDX0VYVCA9ICIucHlvIgotCi1NQUdJQyA9IGltcC5nZXRfbWFnaWMoKQotVVNFX1pJUElNUE9SVCA9ICJ6aXBpbXBvcnQiIGluIHN5cy5idWlsdGluX21vZHVsZV9uYW1lcwotCi0jIEZvciBzdGFuZGFsb25lIGFwcHMsIHdlIGhhdmUgb3VyIG93biBtaW5pbWFsIHNpdGUucHkuIFdlIGRvbid0IG5lZWQKLSMgYWxsIHRoZSBjcnVmdCBvZiB0aGUgcmVhbCBzaXRlLnB5LgotU0lURV9QWSA9ICIiIlwKLWltcG9ydCBzeXMKLWlmIG5vdCAlKHNlbWlfc3RhbmRhbG9uZSlzOgotICAgIGRlbCBzeXMucGF0aFsxOl0gICMgc3lzLnBhdGhbMF0gaXMgQ29udGVudHMvUmVzb3VyY2VzLwotIiIiCi0KLWlmIFVTRV9aSVBJTVBPUlQ6Ci0gICAgWklQX0FSQ0hJVkUgPSAiTW9kdWxlcy56aXAiCi0gICAgU0lURV9QWSArPSAic3lzLnBhdGguYXBwZW5kKHN5cy5wYXRoWzBdICsgJy8lcycpXG4iICUgWklQX0FSQ0hJVkUKLSAgICBkZWYgZ2V0UHljRGF0YShmdWxsbmFtZSwgY29kZSwgaXNwa2cpOgotICAgICAgICBpZiBpc3BrZzoKLSAgICAgICAgICAgIGZ1bGxuYW1lICs9ICIuX19pbml0X18iCi0gICAgICAgIHBhdGggPSBmdWxsbmFtZS5yZXBsYWNlKCIuIiwgb3Muc2VwKSArIFBZQ19FWFQKLSAgICAgICAgcmV0dXJuIHBhdGgsIE1BR0lDICsgJ1wwXDBcMFwwJyArIG1hcnNoYWwuZHVtcHMoY29kZSkKLQotIwotIyBFeHRlbnNpb24gbW9kdWxlcyBjYW4ndCBiZSBpbiB0aGUgbW9kdWxlcyB6aXAgYXJjaGl2ZSwgc28gYSBwbGFjZWhvbGRlcgotIyBpcyBhZGRlZCBpbnN0ZWFkLCB0aGF0IGxvYWRzIHRoZSBleHRlbnNpb24gZnJvbSBhIHNwZWNpZmllZCBsb2NhdGlvbi4KLSMKLUVYVF9MT0FERVIgPSAiIiJcCi1kZWYgX19sb2FkKCk6Ci0gICAgaW1wb3J0IGltcCwgc3lzLCBvcwotICAgIGZvciBwIGluIHN5cy5wYXRoOgotICAgICAgICBwYXRoID0gb3MucGF0aC5qb2luKHAsICIlKGZpbGVuYW1lKXMiKQotICAgICAgICBpZiBvcy5wYXRoLmV4aXN0cyhwYXRoKToKLSAgICAgICAgICAgIGJyZWFrCi0gICAgZWxzZToKLSAgICAgICAgYXNzZXJ0IDAsICJmaWxlIG5vdCBmb3VuZDogJShmaWxlbmFtZSlzIgotICAgIG1vZCA9IGltcC5sb2FkX2R5bmFtaWMoIiUobmFtZSlzIiwgcGF0aCkKLQotX19sb2FkKCkKLWRlbCBfX2xvYWQKLSIiIgotCi1NQVlNSVNTX01PRFVMRVMgPSBbJ21hYycsICdudCcsICdudHBhdGgnLCAnZG9zJywgJ2Rvc3BhdGgnLAotICAgICd3aW4zMmFwaScsICdjZScsICdfd2lucmVnJywgJ250dXJsMnBhdGgnLCAnc2l0ZWN1c3RvbWl6ZScsCi0gICAgJ29yZy5weXRob24uY29yZScsICdyaXNjb3MnLCAncmlzY29zZW52aXJvbicsICdyaXNjb3NwYXRoJwotXQotCi1TVFJJUF9FWEVDID0gIi91c3IvYmluL3N0cmlwIgotCi0jCi0jIFdlJ3JlIHVzaW5nIGEgc3RvY2sgaW50ZXJwcmV0ZXIgdG8gcnVuIHRoZSBhcHAsIHlldCB3ZSBuZWVkCi0jIGEgd2F5IHRvIHBhc3MgdGhlIFB5dGhvbiBtYWluIHByb2dyYW0gdG8gdGhlIGludGVycHJldGVyLiBUaGUKLSMgYm9vdHN0cmFwcGluZyBzY3JpcHQgZmlyZXMgdXAgdGhlIGludGVycHJldGVyIHdpdGggdGhlIHJpZ2h0Ci0jIGFyZ3VtZW50cy4gb3MuZXhlY3ZlKCkgaXMgdXNlZCBhcyBPU1ggZG9lc24ndCBsaWtlIHVzIHRvCi0jIHN0YXJ0IGEgcmVhbCBuZXcgcHJvY2Vzcy4gQWxzbywgdGhlIGV4ZWN1dGFibGUgbmFtZSBtdXN0IG1hdGNoCi0jIHRoZSBDRkJ1bmRsZUV4ZWN1dGFibGUgdmFsdWUgaW4gdGhlIEluZm8ucGxpc3QsIHNvIHdlIGxpZQotIyBkZWxpYmVyYXRlbHkgd2l0aCBhcmd2WzBdLiBUaGUgYWN0dWFsIFB5dGhvbiBleGVjdXRhYmxlIGlzCi0jIHBhc3NlZCBpbiBhbiBlbnZpcm9ubWVudCB2YXJpYWJsZSBzbyB3ZSBjYW4gInJlcGFpciIKLSMgc3lzLmV4ZWN1dGFibGUgbGF0ZXIuCi0jCi1CT09UU1RSQVBfU0NSSVBUID0gIiIiXAotIyElKGhhc2hiYW5nKXMKLQotaW1wb3J0IHN5cywgb3MKLWV4ZWNkaXIgPSBvcy5wYXRoLmRpcm5hbWUoc3lzLmFyZ3ZbMF0pCi1leGVjdXRhYmxlID0gb3MucGF0aC5qb2luKGV4ZWNkaXIsICIlKGV4ZWN1dGFibGUpcyIpCi1yZXNkaXIgPSBvcy5wYXRoLmpvaW4ob3MucGF0aC5kaXJuYW1lKGV4ZWNkaXIpLCAiUmVzb3VyY2VzIikKLWxpYmRpciA9IG9zLnBhdGguam9pbihvcy5wYXRoLmRpcm5hbWUoZXhlY2RpciksICJGcmFtZXdvcmtzIikKLW1haW5wcm9ncmFtID0gb3MucGF0aC5qb2luKHJlc2RpciwgIiUobWFpbnByb2dyYW0pcyIpCi0KLXN5cy5hcmd2Lmluc2VydCgxLCBtYWlucHJvZ3JhbSkKLWlmICUoc3RhbmRhbG9uZSlzIG9yICUoc2VtaV9zdGFuZGFsb25lKXM6Ci0gICAgb3MuZW52aXJvblsiUFlUSE9OUEFUSCJdID0gcmVzZGlyCi0gICAgaWYgJShzdGFuZGFsb25lKXM6Ci0gICAgICAgIG9zLmVudmlyb25bIlBZVEhPTkhPTUUiXSA9IHJlc2RpcgotZWxzZToKLSAgICBweXBhdGggPSBvcy5nZXRlbnYoIlBZVEhPTlBBVEgiLCAiIikKLSAgICBpZiBweXBhdGg6Ci0gICAgICAgIHB5cGF0aCA9ICI6IiArIHB5cGF0aAotICAgIG9zLmVudmlyb25bIlBZVEhPTlBBVEgiXSA9IHJlc2RpciArIHB5cGF0aAotb3MuZW52aXJvblsiUFlUSE9ORVhFQ1VUQUJMRSJdID0gZXhlY3V0YWJsZQotb3MuZW52aXJvblsiRFlMRF9MSUJSQVJZX1BBVEgiXSA9IGxpYmRpcgotb3MuZW52aXJvblsiRFlMRF9GUkFNRVdPUktfUEFUSCJdID0gbGliZGlyCi1vcy5leGVjdmUoZXhlY3V0YWJsZSwgc3lzLmFyZ3YsIG9zLmVudmlyb24pCi0iIiIKLQotCi0jCi0jIE9wdGlvbmFsIHdyYXBwZXIgdGhhdCBjb252ZXJ0cyAiZHJvcHBlZCBmaWxlcyIgaW50byBzeXMuYXJndiB2YWx1ZXMuCi0jCi1BUkdWX0VNVUxBVE9SID0gIiIiXAotaW1wb3J0IGFyZ3ZlbXVsYXRvciwgb3MKLQotYXJndmVtdWxhdG9yLkFyZ3ZDb2xsZWN0b3IoKS5tYWlubG9vcCgpCi1leGVjZmlsZShvcy5wYXRoLmpvaW4ob3MucGF0aC5zcGxpdChfX2ZpbGVfXylbMF0sICIlKHJlYWxtYWlucHJvZ3JhbSlzIikpCi0iIiIKLQotIwotIyBXaGVuIGJ1aWxkaW5nIGEgc3RhbmRhbG9uZSBhcHAgd2l0aCBQeXRob24uZnJhbWV3b3JrLCB3ZSBuZWVkIHRvIGNvcHkKLSMgYSBzdWJzZXQgZnJvbSBQeXRob24uZnJhbWV3b3JrIHRvIHRoZSBidW5kbGUuIFRoZSBmb2xsb3dpbmcgbGlzdAotIyBzcGVjaWZpZXMgZXhhY3RseSB3aGF0IGl0ZW1zIHdlJ2xsIGNvcHkuCi0jCi1QWVRIT05GUkFNRVdPUktHT09ESUVTID0gWwotICAgICJQeXRob24iLCAgIyB0aGUgUHl0aG9uIGNvcmUgbGlicmFyeQotICAgICJSZXNvdXJjZXMvRW5nbGlzaC5scHJvaiIsCi0gICAgIlJlc291cmNlcy9JbmZvLnBsaXN0IiwKLSAgICAiUmVzb3VyY2VzL3ZlcnNpb24ucGxpc3QiLAotXQotCi1kZWYgaXNGcmFtZXdvcmsoKToKLSAgICByZXR1cm4gc3lzLmV4ZWNfcHJlZml4LmZpbmQoIlB5dGhvbi5mcmFtZXdvcmsiKSA+IDAKLQotCi1MSUIgPSBvcy5wYXRoLmpvaW4oc3lzLnByZWZpeCwgImxpYiIsICJweXRob24iICsgc3lzLnZlcnNpb25bOjNdKQotU0lURV9QQUNLQUdFUyA9IG9zLnBhdGguam9pbihMSUIsICJzaXRlLXBhY2thZ2VzIikKLQotCi1jbGFzcyBBcHBCdWlsZGVyKEJ1bmRsZUJ1aWxkZXIpOgotCi0gICAgIyBPdmVycmlkZSB0eXBlIG9mIHRoZSBidW5kbGUuCi0gICAgdHlwZSA9ICJBUFBMIgotCi0gICAgIyBwbGF0Zm9ybSwgbmFtZSBvZiB0aGUgc3ViZm9sZGVyIG9mIENvbnRlbnRzIHRoYXQgY29udGFpbnMgdGhlIGV4ZWN1dGFibGUuCi0gICAgcGxhdGZvcm0gPSAiTWFjT1MiCi0KLSAgICAjIEEgUHl0aG9uIG1haW4gcHJvZ3JhbS4gSWYgdGhpcyBhcmd1bWVudCBpcyBnaXZlbiwgdGhlIG1haW4KLSAgICAjIGV4ZWN1dGFibGUgaW4gdGhlIGJ1bmRsZSB3aWxsIGJlIGEgc21hbGwgd3JhcHBlciB0aGF0IGludm9rZXMKLSAgICAjIHRoZSBtYWluIHByb2dyYW0uIChYWFggRGlzY3VzcyB3aHkuKQotICAgIG1haW5wcm9ncmFtID0gTm9uZQotCi0gICAgIyBUaGUgbWFpbiBleGVjdXRhYmxlLiBJZiBhIFB5dGhvbiBtYWluIHByb2dyYW0gaXMgc3BlY2lmaWVkCi0gICAgIyB0aGUgZXhlY3V0YWJsZSB3aWxsIGJlIGNvcGllZCB0byBSZXNvdXJjZXMgYW5kIGJlIGludm9rZWQKLSAgICAjIGJ5IHRoZSB3cmFwcGVyIHByb2dyYW0gbWVudGlvbmVkIGFib3ZlLiBPdGhlcndpc2UgaXQgd2lsbAotICAgICMgc2ltcGx5IGJlIHVzZWQgYXMgdGhlIG1haW4gZXhlY3V0YWJsZS4KLSAgICBleGVjdXRhYmxlID0gTm9uZQotCi0gICAgIyBUaGUgbmFtZSBvZiB0aGUgbWFpbiBuaWIsIGZvciBDb2NvYSBhcHBzLiAqTXVzdCogYmUgc3BlY2lmaWVkCi0gICAgIyB3aGVuIGJ1aWxkaW5nIGEgQ29jb2EgYXBwLgotICAgIG5pYm5hbWUgPSBOb25lCi0KLSAgICAjIFRoZSBuYW1lIG9mIHRoZSBpY29uIGZpbGUgdG8gYmUgY29waWVkIHRvIFJlc291cmNlcyBhbmQgdXNlZCBmb3IKLSAgICAjIHRoZSBGaW5kZXIgaWNvbi4KLSAgICBpY29uZmlsZSA9IE5vbmUKLQotICAgICMgU3ltbGluayB0aGUgZXhlY3V0YWJsZSBpbnN0ZWFkIG9mIGNvcHlpbmcgaXQuCi0gICAgc3ltbGlua19leGVjID0gMAotCi0gICAgIyBJZiBUcnVlLCBidWlsZCBzdGFuZGFsb25lIGFwcC4KLSAgICBzdGFuZGFsb25lID0gMAotCi0gICAgIyBJZiBUcnVlLCBidWlsZCBzZW1pLXN0YW5kYWxvbmUgYXBwIChvbmx5IGluY2x1ZGVzIHRoaXJkLXBhcnR5IG1vZHVsZXMpLgotICAgIHNlbWlfc3RhbmRhbG9uZSA9IDAKLQotICAgICMgSWYgc2V0LCB1c2UgdGhpcyBmb3IgIyEgbGluZXMgaW4gc3RlYWQgb2Ygc3lzLmV4ZWN1dGFibGUKLSAgICBweXRob24gPSBOb25lCi0KLSAgICAjIElmIFRydWUsIGFkZCBhIHJlYWwgbWFpbiBwcm9ncmFtIHRoYXQgZW11bGF0ZXMgc3lzLmFyZ3YgYmVmb3JlIGNhbGxpbmcKLSAgICAjIG1haW5wcm9ncmFtCi0gICAgYXJndl9lbXVsYXRpb24gPSAwCi0KLSAgICAjIFRoZSBmb2xsb3dpbmcgYXR0cmlidXRlcyBhcmUgb25seSB1c2VkIHdoZW4gYnVpbGRpbmcgYSBzdGFuZGFsb25lIGFwcC4KLQotICAgICMgRXhjbHVkZSB0aGVzZSBtb2R1bGVzLgotICAgIGV4Y2x1ZGVNb2R1bGVzID0gW10KLQotICAgICMgSW5jbHVkZSB0aGVzZSBtb2R1bGVzLgotICAgIGluY2x1ZGVNb2R1bGVzID0gW10KLQotICAgICMgSW5jbHVkZSB0aGVzZSBwYWNrYWdlcy4KLSAgICBpbmNsdWRlUGFja2FnZXMgPSBbXQotCi0gICAgIyBTdHJpcCBiaW5hcmllcyBmcm9tIGRlYnVnIGluZm8uCi0gICAgc3RyaXAgPSAwCi0KLSAgICAjIEZvdW5kIFB5dGhvbiBtb2R1bGVzOiBbKG5hbWUsIGNvZGVvYmplY3QsIGlzcGtnKSwgLi4uXQotICAgIHB5bW9kdWxlcyA9IFtdCi0KLSAgICAjIE1vZHVsZXMgdGhhdCBtb2R1bGVmaW5kZXIgY291bGRuJ3QgZmluZDoKLSAgICBtaXNzaW5nTW9kdWxlcyA9IFtdCi0gICAgbWF5YmVNaXNzaW5nTW9kdWxlcyA9IFtdCi0KLSAgICBkZWYgc2V0dXAoc2VsZik6Ci0gICAgICAgIGlmICgoc2VsZi5zdGFuZGFsb25lIG9yIHNlbGYuc2VtaV9zdGFuZGFsb25lKQotICAgICAgICAgICAgYW5kIHNlbGYubWFpbnByb2dyYW0gaXMgTm9uZSk6Ci0gICAgICAgICAgICByYWlzZSBCdW5kbGVCdWlsZGVyRXJyb3IoIm11c3Qgc3BlY2lmeSAnbWFpbnByb2dyYW0nIHdoZW4gIgotICAgICAgICAgICAgICAgICAgICAiYnVpbGRpbmcgYSBzdGFuZGFsb25lIGFwcGxpY2F0aW9uLiIpCi0gICAgICAgIGlmIHNlbGYubWFpbnByb2dyYW0gaXMgTm9uZSBhbmQgc2VsZi5leGVjdXRhYmxlIGlzIE5vbmU6Ci0gICAgICAgICAgICByYWlzZSBCdW5kbGVCdWlsZGVyRXJyb3IoIm11c3Qgc3BlY2lmeSBlaXRoZXIgb3IgYm90aCBvZiAiCi0gICAgICAgICAgICAgICAgICAgICInZXhlY3V0YWJsZScgYW5kICdtYWlucHJvZ3JhbSciKQotCi0gICAgICAgIHNlbGYuZXhlY2RpciA9IHBhdGhqb2luKCJDb250ZW50cyIsIHNlbGYucGxhdGZvcm0pCi0KLSAgICAgICAgaWYgc2VsZi5uYW1lIGlzIG5vdCBOb25lOgotICAgICAgICAgICAgcGFzcwotICAgICAgICBlbGlmIHNlbGYubWFpbnByb2dyYW0gaXMgbm90IE5vbmU6Ci0gICAgICAgICAgICBzZWxmLm5hbWUgPSBvcy5wYXRoLnNwbGl0ZXh0KG9zLnBhdGguYmFzZW5hbWUoc2VsZi5tYWlucHJvZ3JhbSkpWzBdCi0gICAgICAgIGVsaWYgZXhlY3V0YWJsZSBpcyBub3QgTm9uZToKLSAgICAgICAgICAgIHNlbGYubmFtZSA9IG9zLnBhdGguc3BsaXRleHQob3MucGF0aC5iYXNlbmFtZShzZWxmLmV4ZWN1dGFibGUpKVswXQotICAgICAgICBpZiBzZWxmLm5hbWVbLTQ6XSAhPSAiLmFwcCI6Ci0gICAgICAgICAgICBzZWxmLm5hbWUgKz0gIi5hcHAiCi0KLSAgICAgICAgaWYgc2VsZi5leGVjdXRhYmxlIGlzIE5vbmU6Ci0gICAgICAgICAgICBpZiBub3Qgc2VsZi5zdGFuZGFsb25lIGFuZCBub3QgaXNGcmFtZXdvcmsoKToKLSAgICAgICAgICAgICAgICBzZWxmLnN5bWxpbmtfZXhlYyA9IDEKLSAgICAgICAgICAgIGlmIHNlbGYucHl0aG9uOgotICAgICAgICAgICAgICAgIHNlbGYuZXhlY3V0YWJsZSA9IHNlbGYucHl0aG9uCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIHNlbGYuZXhlY3V0YWJsZSA9IHN5cy5leGVjdXRhYmxlCi0KLSAgICAgICAgaWYgc2VsZi5uaWJuYW1lOgotICAgICAgICAgICAgc2VsZi5wbGlzdC5OU01haW5OaWJGaWxlID0gc2VsZi5uaWJuYW1lCi0gICAgICAgICAgICBpZiBub3QgaGFzYXR0cihzZWxmLnBsaXN0LCAiTlNQcmluY2lwYWxDbGFzcyIpOgotICAgICAgICAgICAgICAgIHNlbGYucGxpc3QuTlNQcmluY2lwYWxDbGFzcyA9ICJOU0FwcGxpY2F0aW9uIgotCi0gICAgICAgIGlmIHNlbGYuc3RhbmRhbG9uZSBhbmQgaXNGcmFtZXdvcmsoKToKLSAgICAgICAgICAgIHNlbGYuYWRkUHl0aG9uRnJhbWV3b3JrKCkKLQotICAgICAgICBCdW5kbGVCdWlsZGVyLnNldHVwKHNlbGYpCi0KLSAgICAgICAgc2VsZi5wbGlzdC5DRkJ1bmRsZUV4ZWN1dGFibGUgPSBzZWxmLm5hbWUKLQotICAgICAgICBpZiBzZWxmLnN0YW5kYWxvbmUgb3Igc2VsZi5zZW1pX3N0YW5kYWxvbmU6Ci0gICAgICAgICAgICBzZWxmLmZpbmREZXBlbmRlbmNpZXMoKQotCi0gICAgZGVmIHByZVByb2Nlc3Moc2VsZik6Ci0gICAgICAgIHJlc2RpciA9ICJDb250ZW50cy9SZXNvdXJjZXMiCi0gICAgICAgIGlmIHNlbGYuZXhlY3V0YWJsZSBpcyBub3QgTm9uZToKLSAgICAgICAgICAgIGlmIHNlbGYubWFpbnByb2dyYW0gaXMgTm9uZToKLSAgICAgICAgICAgICAgICBleGVjbmFtZSA9IHNlbGYubmFtZQotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICBleGVjbmFtZSA9IG9zLnBhdGguYmFzZW5hbWUoc2VsZi5leGVjdXRhYmxlKQotICAgICAgICAgICAgZXhlY3BhdGggPSBwYXRoam9pbihzZWxmLmV4ZWNkaXIsIGV4ZWNuYW1lKQotICAgICAgICAgICAgaWYgbm90IHNlbGYuc3ltbGlua19leGVjOgotICAgICAgICAgICAgICAgIHNlbGYuZmlsZXMuYXBwZW5kKChzZWxmLmRlc3Ryb290ICsgc2VsZi5leGVjdXRhYmxlLCBleGVjcGF0aCkpCi0gICAgICAgICAgICBzZWxmLmV4ZWNwYXRoID0gZXhlY3BhdGgKLQotICAgICAgICBpZiBzZWxmLm1haW5wcm9ncmFtIGlzIG5vdCBOb25lOgotICAgICAgICAgICAgbWFpbnByb2dyYW0gPSBvcy5wYXRoLmJhc2VuYW1lKHNlbGYubWFpbnByb2dyYW0pCi0gICAgICAgICAgICBzZWxmLmZpbGVzLmFwcGVuZCgoc2VsZi5tYWlucHJvZ3JhbSwgcGF0aGpvaW4ocmVzZGlyLCBtYWlucHJvZ3JhbSkpKQotICAgICAgICAgICAgaWYgc2VsZi5hcmd2X2VtdWxhdGlvbjoKLSAgICAgICAgICAgICAgICAjIENoYW5nZSB0aGUgbWFpbiBwcm9ncmFtLCBhbmQgY3JlYXRlIHRoZSBoZWxwZXIgbWFpbiBwcm9ncmFtICh3aGljaAotICAgICAgICAgICAgICAgICMgZG9lcyBhcmd2IGNvbGxlY3Rpb24gYW5kIHRoZW4gY2FsbHMgdGhlIHJlYWwgbWFpbikuCi0gICAgICAgICAgICAgICAgIyBBbHNvIHVwZGF0ZSB0aGUgaW5jbHVkZWQgbW9kdWxlcyAoaWYgd2UncmUgY3JlYXRpbmcgYSBzdGFuZGFsb25lCi0gICAgICAgICAgICAgICAgIyBwcm9ncmFtKSBhbmQgdGhlIHBsaXN0Ci0gICAgICAgICAgICAgICAgcmVhbG1haW5wcm9ncmFtID0gbWFpbnByb2dyYW0KLSAgICAgICAgICAgICAgICBtYWlucHJvZ3JhbSA9ICdfX2FyZ3ZlbXVsYXRvcl8nICsgbWFpbnByb2dyYW0KLSAgICAgICAgICAgICAgICByZXNkaXJwYXRoID0gcGF0aGpvaW4oc2VsZi5idW5kbGVwYXRoLCByZXNkaXIpCi0gICAgICAgICAgICAgICAgbWFpbnByb2dyYW1wYXRoID0gcGF0aGpvaW4ocmVzZGlycGF0aCwgbWFpbnByb2dyYW0pCi0gICAgICAgICAgICAgICAgbWFrZWRpcnMocmVzZGlycGF0aCkKLSAgICAgICAgICAgICAgICBvcGVuKG1haW5wcm9ncmFtcGF0aCwgInciKS53cml0ZShBUkdWX0VNVUxBVE9SICUgbG9jYWxzKCkpCi0gICAgICAgICAgICAgICAgaWYgc2VsZi5zdGFuZGFsb25lIG9yIHNlbGYuc2VtaV9zdGFuZGFsb25lOgotICAgICAgICAgICAgICAgICAgICBzZWxmLmluY2x1ZGVNb2R1bGVzLmFwcGVuZCgiYXJndmVtdWxhdG9yIikKLSAgICAgICAgICAgICAgICAgICAgc2VsZi5pbmNsdWRlTW9kdWxlcy5hcHBlbmQoIm9zIikKLSAgICAgICAgICAgICAgICBpZiAiQ0ZCdW5kbGVEb2N1bWVudFR5cGVzIiBub3QgaW4gc2VsZi5wbGlzdDoKLSAgICAgICAgICAgICAgICAgICAgc2VsZi5wbGlzdFsiQ0ZCdW5kbGVEb2N1bWVudFR5cGVzIl0gPSBbCi0gICAgICAgICAgICAgICAgICAgICAgICB7ICJDRkJ1bmRsZVR5cGVPU1R5cGVzIiA6IFsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiKioqKiIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImZvbGQiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkaXNrIl0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICJDRkJ1bmRsZVR5cGVSb2xlIjogIlZpZXdlciJ9XQotICAgICAgICAgICAgIyBXcml0ZSBib290c3RyYXAgc2NyaXB0Ci0gICAgICAgICAgICBleGVjdXRhYmxlID0gb3MucGF0aC5iYXNlbmFtZShzZWxmLmV4ZWN1dGFibGUpCi0gICAgICAgICAgICBleGVjZGlyID0gcGF0aGpvaW4oc2VsZi5idW5kbGVwYXRoLCBzZWxmLmV4ZWNkaXIpCi0gICAgICAgICAgICBib290c3RyYXBwYXRoID0gcGF0aGpvaW4oZXhlY2Rpciwgc2VsZi5uYW1lKQotICAgICAgICAgICAgbWFrZWRpcnMoZXhlY2RpcikKLSAgICAgICAgICAgIGlmIHNlbGYuc3RhbmRhbG9uZSBvciBzZWxmLnNlbWlfc3RhbmRhbG9uZToKLSAgICAgICAgICAgICAgICAjIFhYWCB3ZSdyZSBzY3Jld2VkIHdoZW4gdGhlIGVuZCB1c2VyIGhhcyBkZWxldGVkCi0gICAgICAgICAgICAgICAgIyAvdXNyL2Jpbi9weXRob24KLSAgICAgICAgICAgICAgICBoYXNoYmFuZyA9ICIvdXNyL2Jpbi9weXRob24iCi0gICAgICAgICAgICBlbGlmIHNlbGYucHl0aG9uOgotICAgICAgICAgICAgICAgIGhhc2hiYW5nID0gc2VsZi5weXRob24KLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgaGFzaGJhbmcgPSBvcy5wYXRoLnJlYWxwYXRoKHN5cy5leGVjdXRhYmxlKQotICAgICAgICAgICAgc3RhbmRhbG9uZSA9IHNlbGYuc3RhbmRhbG9uZQotICAgICAgICAgICAgc2VtaV9zdGFuZGFsb25lID0gc2VsZi5zZW1pX3N0YW5kYWxvbmUKLSAgICAgICAgICAgIG9wZW4oYm9vdHN0cmFwcGF0aCwgInciKS53cml0ZShCT09UU1RSQVBfU0NSSVBUICUgbG9jYWxzKCkpCi0gICAgICAgICAgICBvcy5jaG1vZChib290c3RyYXBwYXRoLCAwbzc3NSkKLQotICAgICAgICBpZiBzZWxmLmljb25maWxlIGlzIG5vdCBOb25lOgotICAgICAgICAgICAgaWNvbmJhc2UgPSBvcy5wYXRoLmJhc2VuYW1lKHNlbGYuaWNvbmZpbGUpCi0gICAgICAgICAgICBzZWxmLnBsaXN0LkNGQnVuZGxlSWNvbkZpbGUgPSBpY29uYmFzZQotICAgICAgICAgICAgc2VsZi5maWxlcy5hcHBlbmQoKHNlbGYuaWNvbmZpbGUsIHBhdGhqb2luKHJlc2RpciwgaWNvbmJhc2UpKSkKLQotICAgIGRlZiBwb3N0UHJvY2VzcyhzZWxmKToKLSAgICAgICAgaWYgc2VsZi5zdGFuZGFsb25lIG9yIHNlbGYuc2VtaV9zdGFuZGFsb25lOgotICAgICAgICAgICAgc2VsZi5hZGRQeXRob25Nb2R1bGVzKCkKLSAgICAgICAgaWYgc2VsZi5zdHJpcCBhbmQgbm90IHNlbGYuc3ltbGluazoKLSAgICAgICAgICAgIHNlbGYuc3RyaXBCaW5hcmllcygpCi0KLSAgICAgICAgaWYgc2VsZi5zeW1saW5rX2V4ZWMgYW5kIHNlbGYuZXhlY3V0YWJsZToKLSAgICAgICAgICAgIHNlbGYubWVzc2FnZSgiU3ltbGlua2luZyBleGVjdXRhYmxlICVzIHRvICVzIiAlIChzZWxmLmV4ZWN1dGFibGUsCi0gICAgICAgICAgICAgICAgICAgIHNlbGYuZXhlY3BhdGgpLCAyKQotICAgICAgICAgICAgZHN0ID0gcGF0aGpvaW4oc2VsZi5idW5kbGVwYXRoLCBzZWxmLmV4ZWNwYXRoKQotICAgICAgICAgICAgbWFrZWRpcnMob3MucGF0aC5kaXJuYW1lKGRzdCkpCi0gICAgICAgICAgICBvcy5zeW1saW5rKG9zLnBhdGguYWJzcGF0aChzZWxmLmV4ZWN1dGFibGUpLCBkc3QpCi0KLSAgICAgICAgaWYgc2VsZi5taXNzaW5nTW9kdWxlcyBvciBzZWxmLm1heWJlTWlzc2luZ01vZHVsZXM6Ci0gICAgICAgICAgICBzZWxmLnJlcG9ydE1pc3NpbmcoKQotCi0gICAgZGVmIGFkZFB5dGhvbkZyYW1ld29yayhzZWxmKToKLSAgICAgICAgIyBJZiB3ZSdyZSBidWlsZGluZyBhIHN0YW5kYWxvbmUgYXBwIHdpdGggUHl0aG9uLmZyYW1ld29yaywKLSAgICAgICAgIyBpbmNsdWRlIGEgbWluaW1hbCBzdWJzZXQgb2YgUHl0aG9uLmZyYW1ld29yaywgKnVubGVzcyoKLSAgICAgICAgIyBQeXRob24uZnJhbWV3b3JrIHdhcyBzcGVjaWZpZWQgbWFudWFsbHkgaW4gc2VsZi5saWJzLgotICAgICAgICBmb3IgbGliIGluIHNlbGYubGliczoKLSAgICAgICAgICAgIGlmIG9zLnBhdGguYmFzZW5hbWUobGliKSA9PSAiUHl0aG9uLmZyYW1ld29yayI6Ci0gICAgICAgICAgICAgICAgIyBhIFB5dGhvbi5mcmFtZXdvcmsgd2FzIHNwZWNpZmllZCBhcyBhIGxpYnJhcnkKLSAgICAgICAgICAgICAgICByZXR1cm4KLQotICAgICAgICBmcmFtZXdvcmtwYXRoID0gc3lzLmV4ZWNfcHJlZml4WzpzeXMuZXhlY19wcmVmaXguZmluZCgKLSAgICAgICAgICAgICJQeXRob24uZnJhbWV3b3JrIikgKyBsZW4oIlB5dGhvbi5mcmFtZXdvcmsiKV0KLQotICAgICAgICB2ZXJzaW9uID0gc3lzLnZlcnNpb25bOjNdCi0gICAgICAgIGZyYW1ld29ya3BhdGggPSBwYXRoam9pbihmcmFtZXdvcmtwYXRoLCAiVmVyc2lvbnMiLCB2ZXJzaW9uKQotICAgICAgICBkZXN0YmFzZSA9IHBhdGhqb2luKCJDb250ZW50cyIsICJGcmFtZXdvcmtzIiwgIlB5dGhvbi5mcmFtZXdvcmsiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJWZXJzaW9ucyIsIHZlcnNpb24pCi0gICAgICAgIGZvciBpdGVtIGluIFBZVEhPTkZSQU1FV09SS0dPT0RJRVM6Ci0gICAgICAgICAgICBzcmMgPSBwYXRoam9pbihmcmFtZXdvcmtwYXRoLCBpdGVtKQotICAgICAgICAgICAgZHN0ID0gcGF0aGpvaW4oZGVzdGJhc2UsIGl0ZW0pCi0gICAgICAgICAgICBzZWxmLmZpbGVzLmFwcGVuZCgoc3JjLCBkc3QpKQotCi0gICAgZGVmIF9nZXRTaXRlQ29kZShzZWxmKToKLSAgICAgICAgcmV0dXJuIGNvbXBpbGUoU0lURV9QWSAlIHsic2VtaV9zdGFuZGFsb25lIjogc2VsZi5zZW1pX3N0YW5kYWxvbmV9LAotICAgICAgICAgICAgICAgICAgICAgIjwtYnVuZGxlYnVpbGRlci5weS0+IiwgImV4ZWMiKQotCi0gICAgZGVmIGFkZFB5dGhvbk1vZHVsZXMoc2VsZik6Ci0gICAgICAgIHNlbGYubWVzc2FnZSgiQWRkaW5nIFB5dGhvbiBtb2R1bGVzIiwgMSkKLQotICAgICAgICBpZiBVU0VfWklQSU1QT1JUOgotICAgICAgICAgICAgIyBDcmVhdGUgYSB6aXAgZmlsZSBjb250YWluaW5nIGFsbCBtb2R1bGVzIGFzIHB5Yy4KLSAgICAgICAgICAgIGltcG9ydCB6aXBmaWxlCi0gICAgICAgICAgICByZWxwYXRoID0gcGF0aGpvaW4oIkNvbnRlbnRzIiwgIlJlc291cmNlcyIsIFpJUF9BUkNISVZFKQotICAgICAgICAgICAgYWJzcGF0aCA9IHBhdGhqb2luKHNlbGYuYnVuZGxlcGF0aCwgcmVscGF0aCkKLSAgICAgICAgICAgIHpmID0gemlwZmlsZS5aaXBGaWxlKGFic3BhdGgsICJ3IiwgemlwZmlsZS5aSVBfREVGTEFURUQpCi0gICAgICAgICAgICBmb3IgbmFtZSwgY29kZSwgaXNwa2cgaW4gc2VsZi5weW1vZHVsZXM6Ci0gICAgICAgICAgICAgICAgc2VsZi5tZXNzYWdlKCJBZGRpbmcgUHl0aG9uIG1vZHVsZSAlcyIgJSBuYW1lLCAyKQotICAgICAgICAgICAgICAgIHBhdGgsIHB5YyA9IGdldFB5Y0RhdGEobmFtZSwgY29kZSwgaXNwa2cpCi0gICAgICAgICAgICAgICAgemYud3JpdGVzdHIocGF0aCwgcHljKQotICAgICAgICAgICAgemYuY2xvc2UoKQotICAgICAgICAgICAgIyBhZGQgc2l0ZS5weWMKLSAgICAgICAgICAgIHNpdGVwYXRoID0gcGF0aGpvaW4oc2VsZi5idW5kbGVwYXRoLCAiQ29udGVudHMiLCAiUmVzb3VyY2VzIiwKLSAgICAgICAgICAgICAgICAgICAgInNpdGUiICsgUFlDX0VYVCkKLSAgICAgICAgICAgIHdyaXRlUHljKHNlbGYuX2dldFNpdGVDb2RlKCksIHNpdGVwYXRoKQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgIyBDcmVhdGUgaW5kaXZpZHVhbCAucHljIGZpbGVzLgotICAgICAgICAgICAgZm9yIG5hbWUsIGNvZGUsIGlzcGtnIGluIHNlbGYucHltb2R1bGVzOgotICAgICAgICAgICAgICAgIGlmIGlzcGtnOgotICAgICAgICAgICAgICAgICAgICBuYW1lICs9ICIuX19pbml0X18iCi0gICAgICAgICAgICAgICAgcGF0aCA9IG5hbWUuc3BsaXQoIi4iKQotICAgICAgICAgICAgICAgIHBhdGggPSBwYXRoam9pbigiQ29udGVudHMiLCAiUmVzb3VyY2VzIiwgKnBhdGgpICsgUFlDX0VYVAotCi0gICAgICAgICAgICAgICAgaWYgaXNwa2c6Ci0gICAgICAgICAgICAgICAgICAgIHNlbGYubWVzc2FnZSgiQWRkaW5nIFB5dGhvbiBwYWNrYWdlICVzIiAlIHBhdGgsIDIpCi0gICAgICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICAgICAgc2VsZi5tZXNzYWdlKCJBZGRpbmcgUHl0aG9uIG1vZHVsZSAlcyIgJSBwYXRoLCAyKQotCi0gICAgICAgICAgICAgICAgYWJzcGF0aCA9IHBhdGhqb2luKHNlbGYuYnVuZGxlcGF0aCwgcGF0aCkKLSAgICAgICAgICAgICAgICBtYWtlZGlycyhvcy5wYXRoLmRpcm5hbWUoYWJzcGF0aCkpCi0gICAgICAgICAgICAgICAgd3JpdGVQeWMoY29kZSwgYWJzcGF0aCkKLQotICAgIGRlZiBzdHJpcEJpbmFyaWVzKHNlbGYpOgotICAgICAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMoU1RSSVBfRVhFQyk6Ci0gICAgICAgICAgICBzZWxmLm1lc3NhZ2UoIkVycm9yOiBjYW4ndCBzdHJpcCBiaW5hcmllczogbm8gc3RyaXAgcHJvZ3JhbSBhdCAiCi0gICAgICAgICAgICAgICAgIiVzIiAlIFNUUklQX0VYRUMsIDApCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBpbXBvcnQgc3RhdAotICAgICAgICAgICAgc2VsZi5tZXNzYWdlKCJTdHJpcHBpbmcgYmluYXJpZXMiLCAxKQotICAgICAgICAgICAgZGVmIHdhbGsodG9wKToKLSAgICAgICAgICAgICAgICBmb3IgbmFtZSBpbiBvcy5saXN0ZGlyKHRvcCk6Ci0gICAgICAgICAgICAgICAgICAgIHBhdGggPSBwYXRoam9pbih0b3AsIG5hbWUpCi0gICAgICAgICAgICAgICAgICAgIGlmIG9zLnBhdGguaXNsaW5rKHBhdGgpOgotICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWUKLSAgICAgICAgICAgICAgICAgICAgaWYgb3MucGF0aC5pc2RpcihwYXRoKToKLSAgICAgICAgICAgICAgICAgICAgICAgIHdhbGsocGF0aCkKLSAgICAgICAgICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICAgICAgICAgIG1vZCA9IG9zLnN0YXQocGF0aClbc3RhdC5TVF9NT0RFXQotICAgICAgICAgICAgICAgICAgICAgICAgaWYgbm90IChtb2QgJiAwbzEwMCk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWUKLSAgICAgICAgICAgICAgICAgICAgICAgIHJlbHBhdGggPSBwYXRoW2xlbihzZWxmLmJ1bmRsZXBhdGgpOl0KLSAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYubWVzc2FnZSgiU3RyaXBwaW5nICVzIiAlIHJlbHBhdGgsIDIpCi0gICAgICAgICAgICAgICAgICAgICAgICBpbmYsIG91dGYgPSBvcy5wb3BlbjQoIiVzIC1TIFwiJXNcIiIgJQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChTVFJJUF9FWEVDLCBwYXRoKSkKLSAgICAgICAgICAgICAgICAgICAgICAgIG91dHB1dCA9IG91dGYucmVhZCgpLnN0cmlwKCkKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmIG91dHB1dDoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIHVzdWFsbHkgbm90IGEgcmVhbCBwcm9ibGVtLCBsaWtlIHdoZW4gd2UncmUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIHRyeWluZyB0byBzdHJpcCBhIHNjcmlwdAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYubWVzc2FnZSgiUHJvYmxlbSBzdHJpcHBpbmcgJXM6IiAlIHJlbHBhdGgsIDMpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5tZXNzYWdlKG91dHB1dCwgMykKLSAgICAgICAgICAgIHdhbGsoc2VsZi5idW5kbGVwYXRoKQotCi0gICAgZGVmIGZpbmREZXBlbmRlbmNpZXMoc2VsZik6Ci0gICAgICAgIHNlbGYubWVzc2FnZSgiRmluZGluZyBtb2R1bGUgZGVwZW5kZW5jaWVzIiwgMSkKLSAgICAgICAgaW1wb3J0IG1vZHVsZWZpbmRlcgotICAgICAgICBtZiA9IG1vZHVsZWZpbmRlci5Nb2R1bGVGaW5kZXIoZXhjbHVkZXM9c2VsZi5leGNsdWRlTW9kdWxlcykKLSAgICAgICAgaWYgVVNFX1pJUElNUE9SVDoKLSAgICAgICAgICAgICMgemlwaW1wb3J0IGltcG9ydHMgemxpYiwgbXVzdCBhZGQgaXQgbWFudWFsbHkKLSAgICAgICAgICAgIG1mLmltcG9ydF9ob29rKCJ6bGliIikKLSAgICAgICAgIyBtYW51YWxseSBhZGQgb3VyIG93biBzaXRlLnB5Ci0gICAgICAgIHNpdGUgPSBtZi5hZGRfbW9kdWxlKCJzaXRlIikKLSAgICAgICAgc2l0ZS5fX2NvZGVfXyA9IHNlbGYuX2dldFNpdGVDb2RlKCkKLSAgICAgICAgbWYuc2Nhbl9jb2RlKHNpdGUuX19jb2RlX18sIHNpdGUpCi0KLSAgICAgICAgIyB3YXJuaW5ncy5weSBnZXRzIGltcG9ydGVkIGltcGxpY2l0bHkgZnJvbSBDCi0gICAgICAgIG1mLmltcG9ydF9ob29rKCJ3YXJuaW5ncyIpCi0KLSAgICAgICAgaW5jbHVkZU1vZHVsZXMgPSBzZWxmLmluY2x1ZGVNb2R1bGVzWzpdCi0gICAgICAgIGZvciBuYW1lIGluIHNlbGYuaW5jbHVkZVBhY2thZ2VzOgotICAgICAgICAgICAgaW5jbHVkZU1vZHVsZXMuZXh0ZW5kKGxpc3QoZmluZFBhY2thZ2VDb250ZW50cyhuYW1lKS5rZXlzKCkpKQotICAgICAgICBmb3IgbmFtZSBpbiBpbmNsdWRlTW9kdWxlczoKLSAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICBtZi5pbXBvcnRfaG9vayhuYW1lKQotICAgICAgICAgICAgZXhjZXB0IEltcG9ydEVycm9yOgotICAgICAgICAgICAgICAgIHNlbGYubWlzc2luZ01vZHVsZXMuYXBwZW5kKG5hbWUpCi0KLSAgICAgICAgbWYucnVuX3NjcmlwdChzZWxmLm1haW5wcm9ncmFtKQotICAgICAgICBtb2R1bGVzID0gbGlzdChtZi5tb2R1bGVzLml0ZW1zKCkpCi0gICAgICAgIG1vZHVsZXMuc29ydCgpCi0gICAgICAgIGZvciBuYW1lLCBtb2QgaW4gbW9kdWxlczoKLSAgICAgICAgICAgIHBhdGggPSBtb2QuX19maWxlX18KLSAgICAgICAgICAgIGlmIHBhdGggYW5kIHNlbGYuc2VtaV9zdGFuZGFsb25lOgotICAgICAgICAgICAgICAgICMgc2tpcCB0aGUgc3RhbmRhcmQgbGlicmFyeQotICAgICAgICAgICAgICAgIGlmIHBhdGguc3RhcnRzd2l0aChMSUIpIGFuZCBub3QgcGF0aC5zdGFydHN3aXRoKFNJVEVfUEFDS0FHRVMpOgotICAgICAgICAgICAgICAgICAgICBjb250aW51ZQotICAgICAgICAgICAgaWYgcGF0aCBhbmQgbW9kLl9fY29kZV9fIGlzIE5vbmU6Ci0gICAgICAgICAgICAgICAgIyBDIGV4dGVuc2lvbgotICAgICAgICAgICAgICAgIGZpbGVuYW1lID0gb3MucGF0aC5iYXNlbmFtZShwYXRoKQotICAgICAgICAgICAgICAgIHBhdGhpdGVtcyA9IG5hbWUuc3BsaXQoIi4iKVs6LTFdICsgW2ZpbGVuYW1lXQotICAgICAgICAgICAgICAgIGRzdHBhdGggPSBwYXRoam9pbigqcGF0aGl0ZW1zKQotICAgICAgICAgICAgICAgIGlmIFVTRV9aSVBJTVBPUlQ6Ci0gICAgICAgICAgICAgICAgICAgIGlmIG5hbWUgIT0gInpsaWIiOgotICAgICAgICAgICAgICAgICAgICAgICAgIyBuZWF0bHkgcGFjayBhbGwgZXh0ZW5zaW9uIG1vZHVsZXMgaW4gYSBzdWJkaXJlY3RvcnksCi0gICAgICAgICAgICAgICAgICAgICAgICAjIGV4Y2VwdCB6bGliLCBzaW5jZSBpdCdzIG5lY2Vzc2FyeSBmb3IgYm9vdHN0cmFwcGluZy4KLSAgICAgICAgICAgICAgICAgICAgICAgIGRzdHBhdGggPSBwYXRoam9pbigiRXh0ZW5zaW9uTW9kdWxlcyIsIGRzdHBhdGgpCi0gICAgICAgICAgICAgICAgICAgICMgUHl0aG9uIG1vZHVsZXMgYXJlIHN0b3JlZCBpbiBhIFppcCBhcmNoaXZlLCBidXQgcHV0Ci0gICAgICAgICAgICAgICAgICAgICMgZXh0ZW5zaW9ucyBpbiBDb250ZW50cy9SZXNvdXJjZXMvLiBBZGQgYSB0aW55ICJsb2FkZXIiCi0gICAgICAgICAgICAgICAgICAgICMgcHJvZ3JhbSBpbiB0aGUgWmlwIGFyY2hpdmUuIER1ZSB0byBUaG9tYXMgSGVsbGVyLgotICAgICAgICAgICAgICAgICAgICBzb3VyY2UgPSBFWFRfTE9BREVSICUgeyJuYW1lIjogbmFtZSwgImZpbGVuYW1lIjogZHN0cGF0aH0KLSAgICAgICAgICAgICAgICAgICAgY29kZSA9IGNvbXBpbGUoc291cmNlLCAiPGR5bmxvYWRlciBmb3IgJXM+IiAlIG5hbWUsICJleGVjIikKLSAgICAgICAgICAgICAgICAgICAgbW9kLl9fY29kZV9fID0gY29kZQotICAgICAgICAgICAgICAgIHNlbGYuZmlsZXMuYXBwZW5kKChwYXRoLCBwYXRoam9pbigiQ29udGVudHMiLCAiUmVzb3VyY2VzIiwgZHN0cGF0aCkpKQotICAgICAgICAgICAgaWYgbW9kLl9fY29kZV9fIGlzIG5vdCBOb25lOgotICAgICAgICAgICAgICAgIGlzcGtnID0gbW9kLl9fcGF0aF9fIGlzIG5vdCBOb25lCi0gICAgICAgICAgICAgICAgaWYgbm90IFVTRV9aSVBJTVBPUlQgb3IgbmFtZSAhPSAic2l0ZSI6Ci0gICAgICAgICAgICAgICAgICAgICMgT3VyIHNpdGUucHkgaXMgZG9pbmcgdGhlIGJvb3RzdHJhcHBpbmcsIHNvIHdlIG11c3QKLSAgICAgICAgICAgICAgICAgICAgIyBpbmNsdWRlIGEgcmVhbCAucHljIGZpbGUgaWYgVVNFX1pJUElNUE9SVCBpcyBUcnVlLgotICAgICAgICAgICAgICAgICAgICBzZWxmLnB5bW9kdWxlcy5hcHBlbmQoKG5hbWUsIG1vZC5fX2NvZGVfXywgaXNwa2cpKQotCi0gICAgICAgIGlmIGhhc2F0dHIobWYsICJhbnlfbWlzc2luZ19tYXliZSIpOgotICAgICAgICAgICAgbWlzc2luZywgbWF5YmUgPSBtZi5hbnlfbWlzc2luZ19tYXliZSgpCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBtaXNzaW5nID0gbWYuYW55X21pc3NpbmcoKQotICAgICAgICAgICAgbWF5YmUgPSBbXQotICAgICAgICBzZWxmLm1pc3NpbmdNb2R1bGVzLmV4dGVuZChtaXNzaW5nKQotICAgICAgICBzZWxmLm1heWJlTWlzc2luZ01vZHVsZXMuZXh0ZW5kKG1heWJlKQotCi0gICAgZGVmIHJlcG9ydE1pc3Npbmcoc2VsZik6Ci0gICAgICAgIG1pc3NpbmcgPSBbbmFtZSBmb3IgbmFtZSBpbiBzZWxmLm1pc3NpbmdNb2R1bGVzCi0gICAgICAgICAgICAgICAgaWYgbmFtZSBub3QgaW4gTUFZTUlTU19NT0RVTEVTXQotICAgICAgICBpZiBzZWxmLm1heWJlTWlzc2luZ01vZHVsZXM6Ci0gICAgICAgICAgICBtYXliZSA9IHNlbGYubWF5YmVNaXNzaW5nTW9kdWxlcwotICAgICAgICBlbHNlOgotICAgICAgICAgICAgbWF5YmUgPSBbbmFtZSBmb3IgbmFtZSBpbiBtaXNzaW5nIGlmICIuIiBpbiBuYW1lXQotICAgICAgICAgICAgbWlzc2luZyA9IFtuYW1lIGZvciBuYW1lIGluIG1pc3NpbmcgaWYgIi4iIG5vdCBpbiBuYW1lXQotICAgICAgICBtaXNzaW5nLnNvcnQoKQotICAgICAgICBtYXliZS5zb3J0KCkKLSAgICAgICAgaWYgbWF5YmU6Ci0gICAgICAgICAgICBzZWxmLm1lc3NhZ2UoIldhcm5pbmc6IGNvdWxkbid0IGZpbmQgdGhlIGZvbGxvd2luZyBzdWJtb2R1bGVzOiIsIDEpCi0gICAgICAgICAgICBzZWxmLm1lc3NhZ2UoIiAgICAoTm90ZSB0aGF0IHRoZXNlIGNvdWxkIGJlIGZhbHNlIGFsYXJtcyAtLSAiCi0gICAgICAgICAgICAgICAgICAgICAgICAgIml0J3Mgbm90IGFsd2F5cyIsIDEpCi0gICAgICAgICAgICBzZWxmLm1lc3NhZ2UoIiAgICBwb3NzaWJsZSB0byBkaXN0aW5ndWlzaCBiZXR3ZWVuIFwiZnJvbSBwYWNrYWdlICIKLSAgICAgICAgICAgICAgICAgICAgICAgICAiaW1wb3J0IHN1Ym1vZHVsZVwiICIsIDEpCi0gICAgICAgICAgICBzZWxmLm1lc3NhZ2UoIiAgICBhbmQgXCJmcm9tIHBhY2thZ2UgaW1wb3J0IG5hbWVcIikiLCAxKQotICAgICAgICAgICAgZm9yIG5hbWUgaW4gbWF5YmU6Ci0gICAgICAgICAgICAgICAgc2VsZi5tZXNzYWdlKCIgID8gIiArIG5hbWUsIDEpCi0gICAgICAgIGlmIG1pc3Npbmc6Ci0gICAgICAgICAgICBzZWxmLm1lc3NhZ2UoIldhcm5pbmc6IGNvdWxkbid0IGZpbmQgdGhlIGZvbGxvd2luZyBtb2R1bGVzOiIsIDEpCi0gICAgICAgICAgICBmb3IgbmFtZSBpbiBtaXNzaW5nOgotICAgICAgICAgICAgICAgIHNlbGYubWVzc2FnZSgiICA/ICIgKyBuYW1lLCAxKQotCi0gICAgZGVmIHJlcG9ydChzZWxmKToKLSAgICAgICAgIyBYWFggc29tZXRoaW5nIGRlY2VudAotICAgICAgICBpbXBvcnQgcHByaW50Ci0gICAgICAgIHBwcmludC5wcHJpbnQoc2VsZi5fX2RpY3RfXykKLSAgICAgICAgaWYgc2VsZi5zdGFuZGFsb25lIG9yIHNlbGYuc2VtaV9zdGFuZGFsb25lOgotICAgICAgICAgICAgc2VsZi5yZXBvcnRNaXNzaW5nKCkKLQotIwotIyBVdGlsaXRpZXMuCi0jCi0KLVNVRkZJWEVTID0gW19zdWYgZm9yIF9zdWYsIF9tb2RlLCBfdHAgaW4gaW1wLmdldF9zdWZmaXhlcygpXQotaWRlbnRpZmllclJFID0gcmUuY29tcGlsZShyIltfYS16QS16XVtfYS16QS1aMC05XSokIikKLQotZGVmIGZpbmRQYWNrYWdlQ29udGVudHMobmFtZSwgc2VhcmNocGF0aD1Ob25lKToKLSAgICBoZWFkID0gbmFtZS5zcGxpdCgiLiIpWy0xXQotICAgIGlmIGlkZW50aWZpZXJSRS5tYXRjaChoZWFkKSBpcyBOb25lOgotICAgICAgICByZXR1cm4ge30KLSAgICB0cnk6Ci0gICAgICAgIGZwLCBwYXRoLCAoZXh0LCBtb2RlLCB0cCkgPSBpbXAuZmluZF9tb2R1bGUoaGVhZCwgc2VhcmNocGF0aCkKLSAgICBleGNlcHQgSW1wb3J0RXJyb3I6Ci0gICAgICAgIHJldHVybiB7fQotICAgIG1vZHVsZXMgPSB7bmFtZTogTm9uZX0KLSAgICBpZiB0cCA9PSBpbXAuUEtHX0RJUkVDVE9SWSBhbmQgcGF0aDoKLSAgICAgICAgZmlsZXMgPSBvcy5saXN0ZGlyKHBhdGgpCi0gICAgICAgIGZvciBzdWIgaW4gZmlsZXM6Ci0gICAgICAgICAgICBzdWIsIGV4dCA9IG9zLnBhdGguc3BsaXRleHQoc3ViKQotICAgICAgICAgICAgZnVsbG5hbWUgPSBuYW1lICsgIi4iICsgc3ViCi0gICAgICAgICAgICBpZiBzdWIgIT0gIl9faW5pdF9fIiBhbmQgZnVsbG5hbWUgbm90IGluIG1vZHVsZXM6Ci0gICAgICAgICAgICAgICAgbW9kdWxlcy51cGRhdGUoZmluZFBhY2thZ2VDb250ZW50cyhmdWxsbmFtZSwgW3BhdGhdKSkKLSAgICByZXR1cm4gbW9kdWxlcwotCi1kZWYgd3JpdGVQeWMoY29kZSwgcGF0aCk6Ci0gICAgZiA9IG9wZW4ocGF0aCwgIndiIikKLSAgICBmLndyaXRlKE1BR0lDKQotICAgIGYud3JpdGUoIlwwIiAqIDQpICAjIGRvbid0IGJvdGhlciBhYm91dCBhIHRpbWUgc3RhbXAKLSAgICBtYXJzaGFsLmR1bXAoY29kZSwgZikKLSAgICBmLmNsb3NlKCkKLQotZGVmIGNvcHkoc3JjLCBkc3QsIG1rZGlycz0wKToKLSAgICAiIiJDb3B5IGEgZmlsZSBvciBhIGRpcmVjdG9yeS4iIiIKLSAgICBpZiBta2RpcnM6Ci0gICAgICAgIG1ha2VkaXJzKG9zLnBhdGguZGlybmFtZShkc3QpKQotICAgIGlmIG9zLnBhdGguaXNkaXIoc3JjKToKLSAgICAgICAgc2h1dGlsLmNvcHl0cmVlKHNyYywgZHN0LCBzeW1saW5rcz0xKQotICAgIGVsc2U6Ci0gICAgICAgIHNodXRpbC5jb3B5MihzcmMsIGRzdCkKLQotZGVmIGNvcHl0b2RpcihzcmMsIGRzdGRpcik6Ci0gICAgIiIiQ29weSBhIGZpbGUgb3IgYSBkaXJlY3RvcnkgdG8gYW4gZXhpc3RpbmcgZGlyZWN0b3J5LiIiIgotICAgIGRzdCA9IHBhdGhqb2luKGRzdGRpciwgb3MucGF0aC5iYXNlbmFtZShzcmMpKQotICAgIGNvcHkoc3JjLCBkc3QpCi0KLWRlZiBtYWtlZGlycyhkaXIpOgotICAgICIiIk1ha2UgYWxsIGRpcmVjdG9yaWVzIGxlYWRpbmcgdXAgdG8gJ2RpcicgaW5jbHVkaW5nIHRoZSBsZWFmCi0gICAgZGlyZWN0b3J5LiBEb24ndCBtb2FuIGlmIGFueSBwYXRoIGVsZW1lbnQgYWxyZWFkeSBleGlzdHMuIiIiCi0gICAgdHJ5OgotICAgICAgICBvcy5tYWtlZGlycyhkaXIpCi0gICAgZXhjZXB0IE9TRXJyb3IgYXMgd2h5OgotICAgICAgICBpZiB3aHkuZXJybm8gIT0gZXJybm8uRUVYSVNUOgotICAgICAgICAgICAgcmFpc2UKLQotZGVmIHN5bWxpbmsoc3JjLCBkc3QsIG1rZGlycz0wKToKLSAgICAiIiJDb3B5IGEgZmlsZSBvciBhIGRpcmVjdG9yeS4iIiIKLSAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMoc3JjKToKLSAgICAgICAgcmFpc2UgSU9FcnJvcigiTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeTogJyVzJyIgJSBzcmMpCi0gICAgaWYgbWtkaXJzOgotICAgICAgICBtYWtlZGlycyhvcy5wYXRoLmRpcm5hbWUoZHN0KSkKLSAgICBvcy5zeW1saW5rKG9zLnBhdGguYWJzcGF0aChzcmMpLCBkc3QpCi0KLWRlZiBwYXRoam9pbigqYXJncyk6Ci0gICAgIiIiU2FmZSB3cmFwcGVyIGZvciBvcy5wYXRoLmpvaW46IGFzc2VydHMgdGhhdCBhbGwgYnV0IHRoZSBmaXJzdAotICAgIGFyZ3VtZW50IGFyZSByZWxhdGl2ZSBwYXRocy4iIiIKLSAgICBmb3Igc2VnIGluIGFyZ3NbMTpdOgotICAgICAgICBhc3NlcnQgc2VnWzBdICE9ICIvIgotICAgIHJldHVybiBvcy5wYXRoLmpvaW4oKmFyZ3MpCi0KLQotY21kbGluZV9kb2MgPSAiIiJcCi1Vc2FnZToKLSAgcHl0aG9uIGJ1bmRsZWJ1aWxkZXIucHkgW29wdGlvbnNdIGNvbW1hbmQKLSAgcHl0aG9uIG15YnVpbGRzY3JpcHQucHkgW29wdGlvbnNdIGNvbW1hbmQKLQotQ29tbWFuZHM6Ci0gIGJ1aWxkICAgICAgYnVpbGQgdGhlIGFwcGxpY2F0aW9uCi0gIHJlcG9ydCAgICAgcHJpbnQgYSByZXBvcnQKLQotT3B0aW9uczoKLSAgLWIsIC0tYnVpbGRkaXI9RElSICAgICB0aGUgYnVpbGQgZGlyZWN0b3J5OyBkZWZhdWx0cyB0byAiYnVpbGQiCi0gIC1uLCAtLW5hbWU9TkFNRSAgICAgICAgYXBwbGljYXRpb24gbmFtZQotICAtciwgLS1yZXNvdXJjZT1GSUxFICAgIGV4dHJhIGZpbGUgb3IgZm9sZGVyIHRvIGJlIGNvcGllZCB0byBSZXNvdXJjZXMKLSAgLWYsIC0tZmlsZT1TUkM6RFNUICAgICBleHRyYSBmaWxlIG9yIGZvbGRlciB0byBiZSBjb3BpZWQgaW50byB0aGUgYnVuZGxlOwotICAgICAgICAgICAgICAgICAgICAgICAgIERTVCBtdXN0IGJlIGEgcGF0aCByZWxhdGl2ZSB0byB0aGUgYnVuZGxlIHJvb3QKLSAgLWUsIC0tZXhlY3V0YWJsZT1GSUxFICB0aGUgZXhlY3V0YWJsZSB0byBiZSB1c2VkCi0gIC1tLCAtLW1haW5wcm9ncmFtPUZJTEUgdGhlIFB5dGhvbiBtYWluIHByb2dyYW0KLSAgLWEsIC0tYXJndiAgICAgICAgICAgICBhZGQgYSB3cmFwcGVyIG1haW4gcHJvZ3JhbSB0byBjcmVhdGUgc3lzLmFyZ3YKLSAgLXAsIC0tcGxpc3Q9RklMRSAgICAgICAucGxpc3QgZmlsZSAoZGVmYXVsdDogZ2VuZXJhdGUgb25lKQotICAgICAgLS1uaWI9TkFNRSAgICAgICAgIG1haW4gbmliIG5hbWUKLSAgLWMsIC0tY3JlYXRvcj1DQ0NDICAgICA0LWNoYXIgY3JlYXRvciBjb2RlIChkZWZhdWx0OiAnPz8/PycpCi0gICAgICAtLWljb25maWxlPUZJTEUgICAgZmlsZW5hbWUgb2YgdGhlIGljb24gKGFuIC5pY25zIGZpbGUpIHRvIGJlIHVzZWQKLSAgICAgICAgICAgICAgICAgICAgICAgICBhcyB0aGUgRmluZGVyIGljb24KLSAgICAgIC0tYnVuZGxlLWlkPUlEICAgICB0aGUgQ0ZCdW5kbGVJZGVudGlmaWVyLCBpbiByZXZlcnNlLWRucyBmb3JtYXQKLSAgICAgICAgICAgICAgICAgICAgICAgICAoZWcuIG9yZy5weXRob24uQnVpbGRBcHBsZXQ7IHRoaXMgaXMgdXNlZCBmb3IKLSAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgcHJlZmVyZW5jZXMgZmlsZSBuYW1lKQotICAtbCwgLS1saW5rICAgICAgICAgICAgIHN5bWxpbmsgZmlsZXMvZm9sZGVyIGluc3RlYWQgb2YgY29weWluZyB0aGVtCi0gICAgICAtLWxpbmstZXhlYyAgICAgICAgc3ltbGluayB0aGUgZXhlY3V0YWJsZSBpbnN0ZWFkIG9mIGNvcHlpbmcgaXQKLSAgICAgIC0tc3RhbmRhbG9uZSAgICAgICBidWlsZCBhIHN0YW5kYWxvbmUgYXBwbGljYXRpb24sIHdoaWNoIGlzIGZ1bGx5Ci0gICAgICAgICAgICAgICAgICAgICAgICAgaW5kZXBlbmRlbnQgb2YgYSBQeXRob24gaW5zdGFsbGF0aW9uCi0gICAgICAtLXNlbWktc3RhbmRhbG9uZSAgYnVpbGQgYSBzdGFuZGFsb25lIGFwcGxpY2F0aW9uLCB3aGljaCBkZXBlbmRzIG9uCi0gICAgICAgICAgICAgICAgICAgICAgICAgYW4gaW5zdGFsbGVkIFB5dGhvbiwgeWV0IGluY2x1ZGVzIGFsbCB0aGlyZC1wYXJ0eQotICAgICAgICAgICAgICAgICAgICAgICAgIG1vZHVsZXMuCi0gICAgICAtLXB5dGhvbj1GSUxFICAgICAgUHl0aG9uIHRvIHVzZSBpbiAjISBsaW5lIGluIHN0ZWFkIG9mIGN1cnJlbnQgUHl0aG9uCi0gICAgICAtLWxpYj1GSUxFICAgICAgICAgc2hhcmVkIGxpYnJhcnkgb3IgZnJhbWV3b3JrIHRvIGJlIGNvcGllZCBpbnRvCi0gICAgICAgICAgICAgICAgICAgICAgICAgdGhlIGJ1bmRsZQotICAteCwgLS1leGNsdWRlPU1PRFVMRSAgIGV4Y2x1ZGUgbW9kdWxlICh3aXRoIC0tKHNlbWktKXN0YW5kYWxvbmUpCi0gIC1pLCAtLWluY2x1ZGU9TU9EVUxFICAgaW5jbHVkZSBtb2R1bGUgKHdpdGggLS0oc2VtaS0pc3RhbmRhbG9uZSkKLSAgICAgIC0tcGFja2FnZT1QQUNLQUdFICBpbmNsdWRlIGEgd2hvbGUgcGFja2FnZSAod2l0aCAtLShzZW1pLSlzdGFuZGFsb25lKQotICAgICAgLS1zdHJpcCAgICAgICAgICAgIHN0cmlwIGJpbmFyaWVzIChyZW1vdmUgZGVidWcgaW5mbykKLSAgLXYsIC0tdmVyYm9zZSAgICAgICAgICBpbmNyZWFzZSB2ZXJib3NpdHkgbGV2ZWwKLSAgLXEsIC0tcXVpZXQgICAgICAgICAgICBkZWNyZWFzZSB2ZXJib3NpdHkgbGV2ZWwKLSAgLWgsIC0taGVscCAgICAgICAgICAgICBwcmludCB0aGlzIG1lc3NhZ2UKLSIiIgotCi1kZWYgdXNhZ2UobXNnPU5vbmUpOgotICAgIGlmIG1zZzoKLSAgICAgICAgcHJpbnQobXNnKQotICAgIHByaW50KGNtZGxpbmVfZG9jKQotICAgIHN5cy5leGl0KDEpCi0KLWRlZiBtYWluKGJ1aWxkZXI9Tm9uZSk6Ci0gICAgaWYgYnVpbGRlciBpcyBOb25lOgotICAgICAgICBidWlsZGVyID0gQXBwQnVpbGRlcih2ZXJib3NpdHk9MSkKLQotICAgIHNob3J0b3B0cyA9ICJiOm46cjpmOmU6bTpjOnA6bHg6aTpodnFhIgotICAgIGxvbmdvcHRzID0gKCJidWlsZGRpcj0iLCAibmFtZT0iLCAicmVzb3VyY2U9IiwgImZpbGU9IiwgImV4ZWN1dGFibGU9IiwKLSAgICAgICAgIm1haW5wcm9ncmFtPSIsICJjcmVhdG9yPSIsICJuaWI9IiwgInBsaXN0PSIsICJsaW5rIiwKLSAgICAgICAgImxpbmstZXhlYyIsICJoZWxwIiwgInZlcmJvc2UiLCAicXVpZXQiLCAiYXJndiIsICJzdGFuZGFsb25lIiwKLSAgICAgICAgImV4Y2x1ZGU9IiwgImluY2x1ZGU9IiwgInBhY2thZ2U9IiwgInN0cmlwIiwgImljb25maWxlPSIsCi0gICAgICAgICJsaWI9IiwgInB5dGhvbj0iLCAic2VtaS1zdGFuZGFsb25lIiwgImJ1bmRsZS1pZD0iLCAiZGVzdHJvb3Q9IikKLQotICAgIHRyeToKLSAgICAgICAgb3B0aW9ucywgYXJncyA9IGdldG9wdC5nZXRvcHQoc3lzLmFyZ3ZbMTpdLCBzaG9ydG9wdHMsIGxvbmdvcHRzKQotICAgIGV4Y2VwdCBnZXRvcHQuZXJyb3I6Ci0gICAgICAgIHVzYWdlKCkKLQotICAgIGZvciBvcHQsIGFyZyBpbiBvcHRpb25zOgotICAgICAgICBpZiBvcHQgaW4gKCctYicsICctLWJ1aWxkZGlyJyk6Ci0gICAgICAgICAgICBidWlsZGVyLmJ1aWxkZGlyID0gYXJnCi0gICAgICAgIGVsaWYgb3B0IGluICgnLW4nLCAnLS1uYW1lJyk6Ci0gICAgICAgICAgICBidWlsZGVyLm5hbWUgPSBhcmcKLSAgICAgICAgZWxpZiBvcHQgaW4gKCctcicsICctLXJlc291cmNlJyk6Ci0gICAgICAgICAgICBidWlsZGVyLnJlc291cmNlcy5hcHBlbmQob3MucGF0aC5ub3JtcGF0aChhcmcpKQotICAgICAgICBlbGlmIG9wdCBpbiAoJy1mJywgJy0tZmlsZScpOgotICAgICAgICAgICAgc3JjZHN0ID0gYXJnLnNwbGl0KCc6JykKLSAgICAgICAgICAgIGlmIGxlbihzcmNkc3QpICE9IDI6Ci0gICAgICAgICAgICAgICAgdXNhZ2UoIi1mIG9yIC0tZmlsZSBhcmd1bWVudCBtdXN0IGJlIHR3byBwYXRocywgIgotICAgICAgICAgICAgICAgICAgICAgICJzZXBhcmF0ZWQgYnkgYSBjb2xvbiIpCi0gICAgICAgICAgICBidWlsZGVyLmZpbGVzLmFwcGVuZChzcmNkc3QpCi0gICAgICAgIGVsaWYgb3B0IGluICgnLWUnLCAnLS1leGVjdXRhYmxlJyk6Ci0gICAgICAgICAgICBidWlsZGVyLmV4ZWN1dGFibGUgPSBhcmcKLSAgICAgICAgZWxpZiBvcHQgaW4gKCctbScsICctLW1haW5wcm9ncmFtJyk6Ci0gICAgICAgICAgICBidWlsZGVyLm1haW5wcm9ncmFtID0gYXJnCi0gICAgICAgIGVsaWYgb3B0IGluICgnLWEnLCAnLS1hcmd2Jyk6Ci0gICAgICAgICAgICBidWlsZGVyLmFyZ3ZfZW11bGF0aW9uID0gMQotICAgICAgICBlbGlmIG9wdCBpbiAoJy1jJywgJy0tY3JlYXRvcicpOgotICAgICAgICAgICAgYnVpbGRlci5jcmVhdG9yID0gYXJnCi0gICAgICAgIGVsaWYgb3B0ID09ICctLWJ1bmRsZS1pZCc6Ci0gICAgICAgICAgICBidWlsZGVyLmJ1bmRsZV9pZCA9IGFyZwotICAgICAgICBlbGlmIG9wdCA9PSAnLS1pY29uZmlsZSc6Ci0gICAgICAgICAgICBidWlsZGVyLmljb25maWxlID0gYXJnCi0gICAgICAgIGVsaWYgb3B0ID09ICItLWxpYiI6Ci0gICAgICAgICAgICBidWlsZGVyLmxpYnMuYXBwZW5kKG9zLnBhdGgubm9ybXBhdGgoYXJnKSkKLSAgICAgICAgZWxpZiBvcHQgPT0gIi0tbmliIjoKLSAgICAgICAgICAgIGJ1aWxkZXIubmlibmFtZSA9IGFyZwotICAgICAgICBlbGlmIG9wdCBpbiAoJy1wJywgJy0tcGxpc3QnKToKLSAgICAgICAgICAgIGJ1aWxkZXIucGxpc3QgPSBQbGlzdC5mcm9tRmlsZShhcmcpCi0gICAgICAgIGVsaWYgb3B0IGluICgnLWwnLCAnLS1saW5rJyk6Ci0gICAgICAgICAgICBidWlsZGVyLnN5bWxpbmsgPSAxCi0gICAgICAgIGVsaWYgb3B0ID09ICctLWxpbmstZXhlYyc6Ci0gICAgICAgICAgICBidWlsZGVyLnN5bWxpbmtfZXhlYyA9IDEKLSAgICAgICAgZWxpZiBvcHQgaW4gKCctaCcsICctLWhlbHAnKToKLSAgICAgICAgICAgIHVzYWdlKCkKLSAgICAgICAgZWxpZiBvcHQgaW4gKCctdicsICctLXZlcmJvc2UnKToKLSAgICAgICAgICAgIGJ1aWxkZXIudmVyYm9zaXR5ICs9IDEKLSAgICAgICAgZWxpZiBvcHQgaW4gKCctcScsICctLXF1aWV0Jyk6Ci0gICAgICAgICAgICBidWlsZGVyLnZlcmJvc2l0eSAtPSAxCi0gICAgICAgIGVsaWYgb3B0ID09ICctLXN0YW5kYWxvbmUnOgotICAgICAgICAgICAgYnVpbGRlci5zdGFuZGFsb25lID0gMQotICAgICAgICBlbGlmIG9wdCA9PSAnLS1zZW1pLXN0YW5kYWxvbmUnOgotICAgICAgICAgICAgYnVpbGRlci5zZW1pX3N0YW5kYWxvbmUgPSAxCi0gICAgICAgIGVsaWYgb3B0ID09ICctLXB5dGhvbic6Ci0gICAgICAgICAgICBidWlsZGVyLnB5dGhvbiA9IGFyZwotICAgICAgICBlbGlmIG9wdCBpbiAoJy14JywgJy0tZXhjbHVkZScpOgotICAgICAgICAgICAgYnVpbGRlci5leGNsdWRlTW9kdWxlcy5hcHBlbmQoYXJnKQotICAgICAgICBlbGlmIG9wdCBpbiAoJy1pJywgJy0taW5jbHVkZScpOgotICAgICAgICAgICAgYnVpbGRlci5pbmNsdWRlTW9kdWxlcy5hcHBlbmQoYXJnKQotICAgICAgICBlbGlmIG9wdCA9PSAnLS1wYWNrYWdlJzoKLSAgICAgICAgICAgIGJ1aWxkZXIuaW5jbHVkZVBhY2thZ2VzLmFwcGVuZChhcmcpCi0gICAgICAgIGVsaWYgb3B0ID09ICctLXN0cmlwJzoKLSAgICAgICAgICAgIGJ1aWxkZXIuc3RyaXAgPSAxCi0gICAgICAgIGVsaWYgb3B0ID09ICctLWRlc3Ryb290JzoKLSAgICAgICAgICAgIGJ1aWxkZXIuZGVzdHJvb3QgPSBhcmcKLQotICAgIGlmIGxlbihhcmdzKSAhPSAxOgotICAgICAgICB1c2FnZSgiTXVzdCBzcGVjaWZ5IG9uZSBjb21tYW5kICgnYnVpbGQnLCAncmVwb3J0JyBvciAnaGVscCcpIikKLSAgICBjb21tYW5kID0gYXJnc1swXQotCi0gICAgaWYgY29tbWFuZCA9PSAiYnVpbGQiOgotICAgICAgICBidWlsZGVyLnNldHVwKCkKLSAgICAgICAgYnVpbGRlci5idWlsZCgpCi0gICAgZWxpZiBjb21tYW5kID09ICJyZXBvcnQiOgotICAgICAgICBidWlsZGVyLnNldHVwKCkKLSAgICAgICAgYnVpbGRlci5yZXBvcnQoKQotICAgIGVsaWYgY29tbWFuZCA9PSAiaGVscCI6Ci0gICAgICAgIHVzYWdlKCkKLSAgICBlbHNlOgotICAgICAgICB1c2FnZSgiVW5rbm93biBjb21tYW5kICclcyciICUgY29tbWFuZCkKLQotCi1kZWYgYnVpbGRhcHAoKiprd2FyZ3MpOgotICAgIGJ1aWxkZXIgPSBBcHBCdWlsZGVyKCoqa3dhcmdzKQotICAgIG1haW4oYnVpbGRlcikKLQotCi1pZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgotICAgIG1haW4oKQpkaWZmIC0tZ2l0IGEvTWFrZWZpbGUucHJlLmluIGIvTWFrZWZpbGUucHJlLmluCmluZGV4IDc2YWVmMjguLmQ5ZWU3NzcgMTAwNjQ0Ci0tLSBhL01ha2VmaWxlLnByZS5pbgorKysgYi9NYWtlZmlsZS5wcmUuaW4KQEAgLTMyOCw2ICszMjgsMTMgQEAKIFBHRU5PQkpTPQkkKFBPQkpTKSAkKFBHT0JKUykKIAogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMgb3Bjb2RlLmggZ2VuZXJhdGlvbgorT1BDT0RFX0hfRElSPSAJJChzcmNkaXIpL0luY2x1ZGUKK09QQ09ERV9IX1NDUklQVD0gJChzcmNkaXIpL1Rvb2xzL3NjcmlwdHMvZ2VuZXJhdGVfb3Bjb2RlX2gucHkKK09QQ09ERV9IPQkkKE9QQ09ERV9IX0RJUikvb3Bjb2RlLmgKK09QQ09ERV9IX0dFTj0JQE9QQ09ERUhHRU5AICAkKE9QQ09ERV9IX1NDUklQVCkgJChzcmNkaXIpL0xpYi9vcGNvZGUucHkgJChPUENPREVfSCkKKyMKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAjIEFTVAogQVNUX0hfRElSPQlJbmNsdWRlCiBBU1RfSD0JCSQoQVNUX0hfRElSKS9QeXRob24tYXN0LmgKQEAgLTM4Miw2ICszODksNyBAQAogCQlQeXRob24vcHljdHlwZS5vIFwKIAkJUHl0aG9uL3B5ZnBlLm8gXAogCQlQeXRob24vcHloYXNoLm8gXAorCQlQeXRob24vcHlsaWZlY3ljbGUubyBcCiAJCVB5dGhvbi9weW1hdGgubyBcCiAJCVB5dGhvbi9weXN0YXRlLm8gXAogCQlQeXRob24vcHl0aG9ucnVuLm8gXApAQCAtNDY1LDcgKzQ3Myw3IEBACiAKICMgRGVmYXVsdCB0YXJnZXQKIGFsbDoJCWJ1aWxkX2FsbAotYnVpbGRfYWxsOgkkKEJVSUxEUFlUSE9OKSBvbGRzaGFyZWRtb2RzIHNoYXJlZG1vZHMgZ2RiaG9va3MgTW9kdWxlcy9fdGVzdGVtYmVkIHB5dGhvbi1jb25maWcKK2J1aWxkX2FsbDoJJChCVUlMRFBZVEhPTikgb2xkc2hhcmVkbW9kcyBzaGFyZWRtb2RzIGdkYmhvb2tzIFByb2dyYW1zL190ZXN0ZW1iZWQgcHl0aG9uLWNvbmZpZwogCiAjIENvbXBpbGUgYSBiaW5hcnkgd2l0aCBnY2MgcHJvZmlsZSBndWlkZWQgb3B0aW1pemF0aW9uLgogcHJvZmlsZS1vcHQ6CkBAIC01MzgsOCArNTQ2LDggQEAKIAkkKFJVTlNIQVJFRCkgJChQWVRIT05fRk9SX0JVSUxEKSAuL1Rvb2xzL2NsaW5pYy9jbGluaWMucHkgLS1tYWtlCiAKICMgQnVpbGQgdGhlIGludGVycHJldGVyCi0kKEJVSUxEUFlUSE9OKToJTW9kdWxlcy9weXRob24ubyAkKExJQlJBUlkpICQoTERMSUJSQVJZKSAkKFBZM0xJQlJBUlkpCi0JJChMSU5LQ0MpICQoUFlfTERGTEFHUykgJChMSU5LRk9SU0hBUkVEKSAtbyAkQCBNb2R1bGVzL3B5dGhvbi5vICQoQkxETElCUkFSWSkgJChMSUJTKSAkKE1PRExJQlMpICQoU1lTTElCUykgJChMRExBU1QpCiskKEJVSUxEUFlUSE9OKToJUHJvZ3JhbXMvcHl0aG9uLm8gJChMSUJSQVJZKSAkKExETElCUkFSWSkgJChQWTNMSUJSQVJZKQorCSQoTElOS0NDKSAkKFBZX0xERkxBR1MpICQoTElOS0ZPUlNIQVJFRCkgLW8gJEAgUHJvZ3JhbXMvcHl0aG9uLm8gJChCTERMSUJSQVJZKSAkKExJQlMpICQoTU9ETElCUykgJChTWVNMSUJTKSAkKExETEFTVCkKIAogcGxhdGZvcm06ICQoQlVJTERQWVRIT04pIHB5YnVpbGRkaXIudHh0CiAJJChSVU5TSEFSRUQpICQoUFlUSE9OX0ZPUl9CVUlMRCkgLWMgJ2ltcG9ydCBzeXMgOyBmcm9tIHN5c2NvbmZpZyBpbXBvcnQgZ2V0X3BsYXRmb3JtIDsgcHJpbnQoZ2V0X3BsYXRmb3JtKCkrIi0iK3N5cy52ZXJzaW9uWzA6M10pJyA+cGxhdGZvcm0KQEAgLTY3NCwxOCArNjgyLDE5IEBACiAJCWVjaG8gIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIjsgXAogCWZpCiAKLU1vZHVsZXMvX3Rlc3RlbWJlZDogTW9kdWxlcy9fdGVzdGVtYmVkLm8gJChMSUJSQVJZKSAkKExETElCUkFSWSkgJChQWTNMSUJSQVJZKQotCSQoTElOS0NDKSAkKFBZX0xERkxBR1MpICQoTElOS0ZPUlNIQVJFRCkgLW8gJEAgTW9kdWxlcy9fdGVzdGVtYmVkLm8gJChCTERMSUJSQVJZKSAkKExJQlMpICQoTU9ETElCUykgJChTWVNMSUJTKSAkKExETEFTVCkKK1Byb2dyYW1zL190ZXN0ZW1iZWQ6IFByb2dyYW1zL190ZXN0ZW1iZWQubyAkKExJQlJBUlkpICQoTERMSUJSQVJZKSAkKFBZM0xJQlJBUlkpCisJJChMSU5LQ0MpICQoUFlfTERGTEFHUykgJChMSU5LRk9SU0hBUkVEKSAtbyAkQCBQcm9ncmFtcy9fdGVzdGVtYmVkLm8gJChCTERMSUJSQVJZKSAkKExJQlMpICQoTU9ETElCUykgJChTWVNMSUJTKSAkKExETEFTVCkKIAogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogIyBJbXBvcnRsaWIKIAotTW9kdWxlcy9fZnJlZXplX2ltcG9ydGxpYjogTW9kdWxlcy9fZnJlZXplX2ltcG9ydGxpYi5vICQoTElCUkFSWV9PQkpTX09NSVRfRlJPWkVOKQotCSQoTElOS0NDKSAkKFBZX0xERkxBR1MpIC1vICRAIE1vZHVsZXMvX2ZyZWV6ZV9pbXBvcnRsaWIubyAkKExJQlJBUllfT0JKU19PTUlUX0ZST1pFTikgJChMSUJTKSAkKE1PRExJQlMpICQoU1lTTElCUykgJChMRExBU1QpCitQcm9ncmFtcy9fZnJlZXplX2ltcG9ydGxpYi5vOiBQcm9ncmFtcy9fZnJlZXplX2ltcG9ydGxpYi5jCiAKLVB5dGhvbi9pbXBvcnRsaWIuaDogJChzcmNkaXIpL0xpYi9pbXBvcnRsaWIvX2Jvb3RzdHJhcC5weSBNb2R1bGVzL19mcmVlemVfaW1wb3J0bGliLmMKLQkkKE1BS0UpIE1vZHVsZXMvX2ZyZWV6ZV9pbXBvcnRsaWIKLQkuL01vZHVsZXMvX2ZyZWV6ZV9pbXBvcnRsaWIgXAorUHJvZ3JhbXMvX2ZyZWV6ZV9pbXBvcnRsaWI6IFByb2dyYW1zL19mcmVlemVfaW1wb3J0bGliLm8gJChMSUJSQVJZX09CSlNfT01JVF9GUk9aRU4pCisJJChMSU5LQ0MpICQoUFlfTERGTEFHUykgLW8gJEAgUHJvZ3JhbXMvX2ZyZWV6ZV9pbXBvcnRsaWIubyAkKExJQlJBUllfT0JKU19PTUlUX0ZST1pFTikgJChMSUJTKSAkKE1PRExJQlMpICQoU1lTTElCUykgJChMRExBU1QpCisKK1B5dGhvbi9pbXBvcnRsaWIuaDogJChzcmNkaXIpL0xpYi9pbXBvcnRsaWIvX2Jvb3RzdHJhcC5weSBQcm9ncmFtcy9fZnJlZXplX2ltcG9ydGxpYgorCS4vUHJvZ3JhbXMvX2ZyZWV6ZV9pbXBvcnRsaWIgXAogCQkkKHNyY2RpcikvTGliL2ltcG9ydGxpYi9fYm9vdHN0cmFwLnB5IFB5dGhvbi9pbXBvcnRsaWIuaAogCiAKQEAgLTcxMywxMSArNzIyLDExIEBACiAJCS1EVlBBVEg9JyIkKFZQQVRIKSInIFwKIAkJLW8gJEAgJChzcmNkaXIpL01vZHVsZXMvZ2V0cGF0aC5jCiAKLU1vZHVsZXMvcHl0aG9uLm86ICQoc3JjZGlyKS9Nb2R1bGVzL3B5dGhvbi5jCi0JJChNQUlOQ0MpIC1jICQoUFlfQ09SRV9DRkxBR1MpIC1vICRAICQoc3JjZGlyKS9Nb2R1bGVzL3B5dGhvbi5jCitQcm9ncmFtcy9weXRob24ubzogJChzcmNkaXIpL1Byb2dyYW1zL3B5dGhvbi5jCisJJChNQUlOQ0MpIC1jICQoUFlfQ09SRV9DRkxBR1MpIC1vICRAICQoc3JjZGlyKS9Qcm9ncmFtcy9weXRob24uYwogCi1Nb2R1bGVzL190ZXN0ZW1iZWQubzogJChzcmNkaXIpL01vZHVsZXMvX3Rlc3RlbWJlZC5jCi0JJChNQUlOQ0MpIC1jICQoUFlfQ09SRV9DRkxBR1MpIC1vICRAICQoc3JjZGlyKS9Nb2R1bGVzL190ZXN0ZW1iZWQuYworUHJvZ3JhbXMvX3Rlc3RlbWJlZC5vOiAkKHNyY2RpcikvUHJvZ3JhbXMvX3Rlc3RlbWJlZC5jCisJJChNQUlOQ0MpIC1jICQoUFlfQ09SRV9DRkxBR1MpIC1vICRAICQoc3JjZGlyKS9Qcm9ncmFtcy9fdGVzdGVtYmVkLmMKIAogTW9kdWxlcy9fc3JlLm86ICQoc3JjZGlyKS9Nb2R1bGVzL19zcmUuYyAkKHNyY2RpcikvTW9kdWxlcy9zcmUuaCAkKHNyY2RpcikvTW9kdWxlcy9zcmVfY29uc3RhbnRzLmggJChzcmNkaXIpL01vZHVsZXMvc3JlX2xpYi5oCiAKQEAgLTc0NiwxNSArNzU1LDEzIEBACiAKICQoSU9fT0JKUyk6ICQoSU9fSCkKIAotJChHUkFNTUFSX0gpOiAkKEdSQU1NQVJfSU5QVVQpICQoUEdFTlNSQ1MpCiskKEdSQU1NQVJfSCk6ICQoR1JBTU1BUl9JTlBVVCkgJChQR0VOKQogCQlAJChNS0RJUl9QKSBJbmNsdWRlCi0JCSQoTUFLRSkgJChQR0VOKQogCQkkKFBHRU4pICQoR1JBTU1BUl9JTlBVVCkgJChHUkFNTUFSX0gpICQoR1JBTU1BUl9DKQotJChHUkFNTUFSX0MpOiAkKEdSQU1NQVJfSCkgJChHUkFNTUFSX0lOUFVUKSAkKFBHRU5TUkNTKQotCQkkKE1BS0UpICQoR1JBTU1BUl9IKQorJChHUkFNTUFSX0MpOiAkKEdSQU1NQVJfSCkKIAkJdG91Y2ggJChHUkFNTUFSX0MpCiAKLSQoUEdFTik6CSQoUEdFTk9CSlMpCiskKFBHRU4pOiAkKFBHRU5PQkpTKQogCQkkKENDKSAkKE9QVCkgJChQWV9MREZMQUdTKSAkKFBHRU5PQkpTKSAkKExJQlMpIC1vICQoUEdFTikKIAogUGFyc2VyL2dyYW1tYXIubzoJJChzcmNkaXIpL1BhcnNlci9ncmFtbWFyLmMgXApAQCAtNzc2LDYgKzc4Myw5IEBACiAJJChNS0RJUl9QKSAkKEFTVF9DX0RJUikKIAkkKEFTRExHRU4pIC1jICQoQVNUX0NfRElSKSAkKEFTVF9BU0RMKQogCiskKE9QQ09ERV9IKTogJChzcmNkaXIpL0xpYi9vcGNvZGUucHkgJChPUENPREVfSF9TQ1JJUFQpCisJJChPUENPREVfSF9HRU4pCisKIFB5dGhvbi9jb21waWxlLm8gUHl0aG9uL3N5bXRhYmxlLm8gUHl0aG9uL2FzdC5vOiAkKEdSQU1NQVJfSCkgJChBU1RfSCkKIAogUHl0aG9uL2dldHBsYXRmb3JtLm86ICQoc3JjZGlyKS9QeXRob24vZ2V0cGxhdGZvcm0uYwpAQCAtODg3LDcgKzg5Nyw3IEBACiAJCSQoc3JjZGlyKS9JbmNsdWRlL25vZGUuaCBcCiAJCSQoc3JjZGlyKS9JbmNsdWRlL29iamVjdC5oIFwKIAkJJChzcmNkaXIpL0luY2x1ZGUvb2JqaW1wbC5oIFwKLQkJJChzcmNkaXIpL0luY2x1ZGUvb3Bjb2RlLmggXAorCQkkKE9QQ09ERV9IKSBcCiAJCSQoc3JjZGlyKS9JbmNsdWRlL29zZGVmcy5oIFwKIAkJJChzcmNkaXIpL0luY2x1ZGUvcGF0Y2hsZXZlbC5oIFwKIAkJJChzcmNkaXIpL0luY2x1ZGUvcGdlbi5oIFwKQEAgLTkwMCw2ICs5MTAsNyBAQAogCQkkKHNyY2RpcikvSW5jbHVkZS9weWVycm9ycy5oIFwKIAkJJChzcmNkaXIpL0luY2x1ZGUvcHlmcGUuaCBcCiAJCSQoc3JjZGlyKS9JbmNsdWRlL3B5aGFzaC5oIFwKKwkJJChzcmNkaXIpL0luY2x1ZGUvcHlsaWZlY3ljbGUuaCBcCiAJCSQoc3JjZGlyKS9JbmNsdWRlL3B5bWF0aC5oIFwKIAkJJChzcmNkaXIpL0luY2x1ZGUvcHlnZXRvcHQuaCBcCiAJCSQoc3JjZGlyKS9JbmNsdWRlL3B5bWFjcm8uaCBcCkBAIC05MjgsNyArOTM5LDcgQEAKIAkJJChQQVJTRVJfSEVBREVSUykgXAogCQkkKEFTVF9IKQogCi0kKExJQlJBUllfT0JKUykgJChNT0RPQkpTKSBNb2R1bGVzL3B5dGhvbi5vOiAkKFBZVEhPTl9IRUFERVJTKQorJChMSUJSQVJZX09CSlMpICQoTU9ET0JKUykgUHJvZ3JhbXMvcHl0aG9uLm86ICQoUFlUSE9OX0hFQURFUlMpCiAKIAogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwpAQCAtMTEzMiw5ICsxMTQzLDE0IEBACiAJCXRlc3QvYXVkaW9kYXRhIFwKIAkJdGVzdC9jYXBhdGggdGVzdC9kYXRhIFwKIAkJdGVzdC9jamtlbmNvZGluZ3MgdGVzdC9kZWNpbWFsdGVzdGRhdGEgdGVzdC94bWx0ZXN0ZGF0YSBcCisJCXRlc3QvZWludHJkYXRhIFwKIAkJdGVzdC9pbWdoZHJkYXRhIFwKIAkJdGVzdC9zdWJwcm9jZXNzZGF0YSB0ZXN0L3NuZGhkcmRhdGEgdGVzdC9zdXBwb3J0IFwKIAkJdGVzdC90cmFjZWRtb2R1bGVzIHRlc3QvZW5jb2RlZF9tb2R1bGVzIFwKKwkJdGVzdC90ZXN0X2ltcG9ydCBcCisJCXRlc3QvdGVzdF9pbXBvcnQvZGF0YSBcCisJCXRlc3QvdGVzdF9pbXBvcnQvZGF0YS9jaXJjdWxhcl9pbXBvcnRzIFwKKwkJdGVzdC90ZXN0X2ltcG9ydC9kYXRhL2NpcmN1bGFyX2ltcG9ydHMvc3VicGtnIFwKIAkJdGVzdC90ZXN0X2ltcG9ydGxpYi9uYW1lc3BhY2VfcGtncyBcCiAJCXRlc3QvdGVzdF9pbXBvcnRsaWIvbmFtZXNwYWNlX3BrZ3MvYm90aF9wb3J0aW9ucyBcCiAJCXRlc3QvdGVzdF9pbXBvcnRsaWIvbmFtZXNwYWNlX3BrZ3MvYm90aF9wb3J0aW9ucy9mb28gXApAQCAtMTMzOCw3ICsxMzU0LDcgQEAKIAkJZmk7IFwKIAlmaQogCSQoSU5TVEFMTF9EQVRBKSBNb2R1bGVzL2NvbmZpZy5jICQoREVTVERJUikkKExJQlBMKS9jb25maWcuYwotCSQoSU5TVEFMTF9EQVRBKSBNb2R1bGVzL3B5dGhvbi5vICQoREVTVERJUikkKExJQlBMKS9weXRob24ubworCSQoSU5TVEFMTF9EQVRBKSBQcm9ncmFtcy9weXRob24ubyAkKERFU1RESVIpJChMSUJQTCkvcHl0aG9uLm8KIAkkKElOU1RBTExfREFUQSkgJChzcmNkaXIpL01vZHVsZXMvY29uZmlnLmMuaW4gJChERVNURElSKSQoTElCUEwpL2NvbmZpZy5jLmluCiAJJChJTlNUQUxMX0RBVEEpIE1ha2VmaWxlICQoREVTVERJUikkKExJQlBMKS9NYWtlZmlsZQogCSQoSU5TVEFMTF9EQVRBKSBNb2R1bGVzL1NldHVwICQoREVTVERJUikkKExJQlBMKS9TZXR1cApAQCAtMTM0OSwxMCArMTM2NSwxMCBAQAogCSQoSU5TVEFMTF9TQ1JJUFQpICQoc3JjZGlyKS9pbnN0YWxsLXNoICQoREVTVERJUikkKExJQlBMKS9pbnN0YWxsLXNoCiAJJChJTlNUQUxMX1NDUklQVCkgcHl0aG9uLWNvbmZpZy5weSAkKERFU1RESVIpJChMSUJQTCkvcHl0aG9uLWNvbmZpZy5weQogCSQoSU5TVEFMTF9TQ1JJUFQpIHB5dGhvbi1jb25maWcgJChERVNURElSKSQoQklORElSKS9weXRob24kKExEVkVSU0lPTiktY29uZmlnCi0JQGlmIFsgLXMgTW9kdWxlcy9weXRob24uZXhwIC1hIFwKKwlAaWYgWyAtcyBQcm9ncmFtcy9weXRob24uZXhwIC1hIFwKIAkJImBlY2hvICQoTUFDSERFUCkgfCBzZWQgJ3MvXlwoLi4uXCkuKi9cMS8nYCIgPSAiYWl4IiBdOyB0aGVuIFwKIAkJZWNobzsgZWNobyAiSW5zdGFsbGluZyBzdXBwb3J0IGZpbGVzIGZvciBidWlsZGluZyBzaGFyZWQgZXh0ZW5zaW9uIG1vZHVsZXMgb24gQUlYOiI7IFwKLQkJJChJTlNUQUxMX0RBVEEpIE1vZHVsZXMvcHl0aG9uLmV4cAkJXAorCQkkKElOU1RBTExfREFUQSkgUHJvZ3JhbXMvcHl0aG9uLmV4cAkJXAogCQkJCSQoREVTVERJUikkKExJQlBMKS9weXRob24uZXhwOwkJXAogCQllY2hvOyBlY2hvICIkKExJQlBMKS9weXRob24uZXhwIjsJCVwKIAkJJChJTlNUQUxMX1NDUklQVCkgJChzcmNkaXIpL01vZHVsZXMvbWFrZXhwX2FpeAlcCkBAIC0xNTM1LDcgKzE1NTEsNyBAQAogCWZpbmQgYnVpbGQgLW5hbWUgJyoucHlbY29dJyAtZXhlYyBybSAtZiB7fSAnOycgfHwgdHJ1ZQogCS1ybSAtZiBweWJ1aWxkZGlyLnR4dAogCS1ybSAtZiBMaWIvbGliMnRvMy8qR3JhbW1hcioucGlja2xlCi0JLXJtIC1mIE1vZHVsZXMvX3Rlc3RlbWJlZCBNb2R1bGVzL19mcmVlemVfaW1wb3J0bGliCisJLXJtIC1mIFByb2dyYW1zL190ZXN0ZW1iZWQgUHJvZ3JhbXMvX2ZyZWV6ZV9pbXBvcnRsaWIKIAogcHJvZmlsZS1yZW1vdmFsOgogCWZpbmQgLiAtbmFtZSAnKi5nYz8/JyAtZXhlYyBybSAtZiB7fSAnOycKQEAgLTE1NTksNyArMTU3NSw3IEBACiAJZG9uZQogCS1ybSAtZiBjb3JlIE1ha2VmaWxlIE1ha2VmaWxlLnByZSBjb25maWcuc3RhdHVzIFwKIAkJTW9kdWxlcy9TZXR1cCBNb2R1bGVzL1NldHVwLmxvY2FsIE1vZHVsZXMvU2V0dXAuY29uZmlnIFwKLQkJTW9kdWxlcy9sZF9zb19haXggTW9kdWxlcy9weXRob24uZXhwIE1pc2MvcHl0aG9uLnBjCisJCU1vZHVsZXMvbGRfc29fYWl4IFByb2dyYW1zL3B5dGhvbi5leHAgTWlzYy9weXRob24ucGMKIAktcm0gLWYgcHl0aG9uKi1nZGIucHkKIAlmaW5kICQoc3JjZGlyKS9bYS16QS1aXSogJygnIC1uYW1lICcqLmZkYycgLW8gLW5hbWUgJyp+JyBcCiAJCQkJICAgICAtbyAtbmFtZSAnW0AsI10qJyAtbyAtbmFtZSAnKi5vbGQnIFwKZGlmZiAtLWdpdCBhL01pc2MvQUNLUyBiL01pc2MvQUNLUwppbmRleCA3MWY0MDQ4Li5mNjZiYWEzIDEwMDY0NAotLS0gYS9NaXNjL0FDS1MKKysrIGIvTWlzYy9BQ0tTCkBAIC00Niw2ICs0Niw3IEBACiBFcmlrIEFuZGVyc8OpbgogT2xpdmVyIEFuZHJpY2gKIFJvc3MgQW5kcnVzCitGYWJyaWNlIEFuZWNoZQogSnVhbmNhcmxvIEHDsWV6CiBDaHJpcyBBbmdlbGljbwogSsOpcsOpbXkgQW5nZXIKQEAgLTg5LDYgKzkwLDcgQEAKIENlc2FyIEVkdWFyZG8gQmFycm9zCiBEZXMgQmFycnkKIFVsZiBCYXJ0ZWx0CitDYW1wYmVsbCBCYXJ0b24KIERvbiBCYXNoZm9yZAogUGlvciBCYXN0aWRhCiBOaWNrIEJhc3RpbgpAQCAtMTAwLDYgKzEwMiw3IEBACiBTYW11ZWwgTC4gQmF5ZXIKIERvbmFsZCBCZWF1ZHJ5CiBEYXZpZCBCZWF6bGV5CitJbmdvbGYgQmVja2VyCiBOZWFsIEJlY2tlcgogUm9iaW4gQmVja2VyCiBUb3JzdGVuIEJlY2tlcgpAQCAtMjE2LDYgKzIxOSw3IEBACiBUZXJyeSBDYXJyb2xsCiBFZHdhcmQgQ2F0bXVyCiBMb3JlbnpvIE0uIENhdHVjY2kKK0JydW5vIENhdWV0CiBEb25uIENhdmUKIENoYXJsZXMgQ2F6YWJvbgogSmVzw7pzIENlYSBBdmnDs24KQEAgLTIzMyw2ICsyMzcsNyBAQAogQnJhZCBDaGFwbWFuCiBHcmVnIENoYXBtYW4KIE1pdGNoIENoYXBtYW4KK01hdHQgQ2hhcHV0CiBZb2dlc2ggQ2hhdWRoYXJpCiBEYXZpZCBDaGF1bQogTmljb2xhcyBDaGF1dmF0CkBAIC00NjksNiArNDc0LDcgQEAKIFhhdmllciBkZSBHYXllCiBIYXJyeSBIZW5yeSBHZWJlbAogTWFyaXVzIEdlZG1pbmFzCitKYW4tUGhpbGlwIEdlaHJja2UKIFRob21hcyBHZWxsZWt1bQogR2FicmllbCBHZW5lbGxpbmEKIENocmlzdG9zIEdlb3JnaW91CkBAIC00OTUsNiArNTAxLDcgQEAKIERhdmlkIEdvb2RnZXIKIEhhbnMgZGUgR3JhYWZmCiBUaW0gR3JhaGFtCitLaW0gR3LDpHNtYW4KIE5hdGhhbmllbCBHcmF5CiBFZGR5IERlIEdyZWVmCiBHcmFudCBHcmlmZmluCkBAIC01NjgsNiArNTc1LDcgQEAKIFdvdXRlciB2YW4gSGV5c3QKIEtlbHNleSBIaWdodG93ZXIKIEphc29uIEhpbGRlYnJhbmQKK0Fhcm9uIEhpbGwKIFJpY2hpZSBIaW5kbGUKIEtvbnJhZCBIaW5zZW4KIERhdmlkIEhvYmxleQpAQCAtNjAyLDYgKzYxMCw3IEBACiBLZW4gSG93YXJkCiBCcmFkIEhvd2VzCiBNaWtlIEhveQorQmVuIEhveXQKIENoaWgtSGFvIEh1YW5nCiBDaHJpc3RpYW4gSHVkb24KIExhd3JlbmNlIEh1ZHNvbgpAQCAtNjIxLDYgKzYzMCw3IEBACiBBYXJvbiBJbGVzCiBMYXJzIEltbWlzY2gKIEJvYmJ5IEltcG9sbG9uaWEKK05hb2tpIEluYWRhCiBNZWFkb3IgSW5nZQogUGV0ZXIgSW5nZWJyZXRzb24KIFRvbnkgSW5ncmFsZGkKQEAgLTY0NCw2ICs2NTQsNyBAQAogUmFqYWdvcGFsYXNhcm1hIEpheWFrcmlzaG5hbgogWmJpZ25pZXcgSsSZZHJ6ZWpld3NraS1Tem1lawogSnVsaWVuIEplaGFubmV0CitNdWhhbW1hZCBKZWhhbnplYgogRHJldyBKZW5raW5zCiBGbGVtbWluZyBLasOmciBKZW5zZW4KIFBoaWxpcCBILiBKZW5zZW4KQEAgLTY2Myw2ICs2NzQsNyBAQAogTmljb2xhcyBKb2x5CiBCcmlhbiBLLiBKb25lcwogRXZhbiBKb25lcworR2xlbm4gSm9uZXMKIEplcmVteSBKb25lcwogUmljaGFyZCBKb25lcwogSXJtZW4gZGUgSm9uZwpAQCAtNjkwLDYgKzcwMiw3IEBACiBBbnRvbiBLYXN5YW5vdgogTG91IEthdGVzCiBIaXJvYWtpIEthd2FpCitCcmlhbiBLZWFybnMKIFNlYmFzdGllbiBLZWltCiBSeWFuIEtlbGx5CiBEYW4gS2VuaWdzYmVyZwpAQCAtNzA1LDYgKzcxOCw3IEBACiBKYW4gS2ltCiBUYWVrIEpvbyBLaW0KIFNhbSBLaW1icmVsCitKYW1lcyBLaW5nCiBXLiBUcmV2b3IgS2luZwogUGF1bCBLaXBwZXMKIFN0ZXZlIEtpcnNjaApAQCAtODEyLDYgKzgyNiw3IEBACiBTaGF3biBMaWdvY2tpCiBNYXJ0aW4gTGlncgogR2VkaW1pbmFzIExpa3RhcmFzCitWaXRvciBkZSBMaW1hCiBHcmFudCBMaW1iZXJnCiBDaHJpc3RvcGhlciBMaW5kYmxhZAogVWxmIEEuIExpbmRncmVuCkBAIC04ODEsNiArODk2LDcgQEAKIEx1Y2FzIE1heXN0cmUKIEFybmF1ZCBNYXppbgogTWF0dCBNY0NsdXJlCitKYWNrIE1jQ3JhY2tlbgogUmViZWNjYSBNY0NyZWFyeQogS2lyayBNY0RvbmFsZAogQ2hyaXMgTWNEb25vdWdoCkBAIC05ODcsNiArMTAwMyw3IEBACiBKb2huIE8nQ29ubm9yCiBLZXZpbiBPJ0Nvbm5vcgogVGltIE8nTWFsbGV5CitEYW4gTydSZWlsbHkKIFpvb2tvIE8nV2hpZWxhY3JvbngKIEFhcm9uIE9ha2xleQogSmFtZXMgT2FrbGV5CkBAIC0xMDI2LDYgKzEwNDMsNyBAQAogQWxleGFuZHJlIFBhcmVudGVhdQogRGFuIFBhcmlzaWVuCiBXaWxsaWFtIFBhcmsKK0NsYXVkZSBQYXJvegogSGVpa2tpIFBhcnRhbmVuCiBIYXJyaSBQYXNhbmVuCiBHYcOrbCBQYXNncmltYXVkCkBAIC0xMDk4LDYgKzExMTYsNyBAQAogUmFtIFJhY2h1bQogSsOpcsO0bWUgUmFkaXgKIEJ1cnRvbiBSYWRvbnMKK1Nob3J5YSBSYWoKIEplZmYgUmFtbmFuaQogQnJvZGllIFJhbwogU2Vua28gUmFzaWMKQEAgLTExMzksNiArMTE1OCw3IEBACiBEYXZpZGUgUml6em8KIEFudGhvbnkgUm9hY2gKIENhcmwgUm9iYmVuCitCZW4gUm9iZXJ0cwogTWFyayBSb2JlcnRzCiBBbmR5IFJvYmluc29uCiBKaW0gUm9iaW5zb24KQEAgLTExNTQsMTIgKzExNzQsMTQgQEAKIENhc2UgUm9vbGUKIFRpbW90aHkgUm9zY29lCiBFcmlrIFJvc2UKK0pvc2ggUm9zZW5iZXJnCiBKaW0gUm9za2luZAogQnJpYW4gUm9zbmVyCiBHdWlkbyB2YW4gUm9zc3VtCiBKdXN0IHZhbiBSb3NzdW0KIEh1Z28gdmFuIFJvc3N1bQogU2Fza2lhIHZhbiBSb3NzdW0KK0NsZW1lbnQgUm91YXVsdAogRG9uYWxkIFdhbGxhY2UgUm91c2UgSUkKIExpYW0gUm91dHQKIFRvZGQgUm92aXRvCkBAIC0xMTgzLDYgKzEyMDUsNyBAQAogU3VtYW4gU2FoYQogSGFqaW1lIFNhaXRvdQogR2VvcmdlIFNha2tpcworVmljdG9yIFNhbGdhZG8KIFJpY2ggU2FsegogS2V2aW4gU2FtYm9ybgogQWRyaWFuIFNhbXBzb24KQEAgLTEyODIsNiArMTMwNSw3IEBACiBFdmdlbnkgU29sb2d1Ym92CiBDb2R5IFNvbWVydmlsbGUKIEVkb2FyZG8gU3BhZG9saW5pCitHZW9mZnJleSBTcGVhcgogQ2xheSBTcGVuY2UKIFN0ZWZhbiBTcGVybGluZwogTmljaG9sYXMgU3BpZXMKQEAgLTEzMzksNiArMTM2Myw3IEBACiBBbXkgVGF5bG9yCiBNb250eSBUYXlsb3IKIEFuYXRvbHkgVGVjaHRvbmlrCitHdXN0YXZvIFRlbXBsZQogTWlraGFpbCBUZXJla2hvdgogVmljdG9yIFRlcnLDs24KIFJpY2hhcmQgTS4gVGV3CkBAIC0xMzcxLDYgKzEzOTYsNyBAQAogTmF0aGFuIFRyYXB1enphbm8KIExhdXJlbmNlIFRyYXR0CiBBbGJlcnRvIFRyZXZpbm8KK01heWFuayBUcmlwYXRoaQogTWF0dGhpYXMgVHJvZmZhZXMKIFRvbSBUcm9tZXkKIEpvaG4gVHJvbXAKQEAgLTEzOTIsNiArMTQxOCw3IEBACiBEYW5pZWwgVXJiYW4KIE1pY2hhZWwgVXJtYW4KIEhlY3RvciBVcnR1YmlhCitMdWthcyBWYWNlawogVmlsbGUgVmFpbmlvCiBBbmRpIFZhamRhCiBDYXNlIFZhbiBIb3JzZW4KQEAgLTE0MTYsNiArMTQ0Myw3IEBACiBQYXVsaSBWaXJ0YW5lbgogRnJhbmsgVmlzc2VyCiBKb2hhbm5lcyBWb2dlbAorUmFkdSBWb2ljaWxhcwogQWxleCBWb2xrb3YKIE1hcnRpam4gVnJpZXMKIFNqb2VyZCBkZSBWcmllcwpAQCAtMTQzOCw2ICsxNDY2LDcgQEAKIERhdmlkIFdhdHNvbgogQWFyb24gV2F0dGVycwogSGVucmlrIFdlYmVyCitMZW9uIFdlYmVyCiBDb3JyYW4gV2Vic3RlcgogR2x5biBXZWJzdGVyCiBQaGlsIFdlYnN0ZXIKQEAgLTE0NjYsNiArMTQ5NSw3IEBACiBDYXJvbCBXaWxsaW5nCiBTdGV2ZW4gV2lsbGlzCiBGcmFuayBXaWxsaXNvbgorRGF2aWQgV2lsc29uCiBHZW9mZiBXaWxzb24KIEdyZWcgVi4gV2lsc29uCiBKIERlcmVrIFdpbHNvbgpAQCAtMTQ5MSw2ICsxNTIxLDcgQEAKIERhcnJlbiBXb3JyYWxsCiBUaG9tYXMgV291dGVycwogRGFuaWVsIFdvem5pYWsKK1dlaSBXdQogSGVpa28gV3VuZHJhbQogRG91ZyBXeWF0dAogUm9iZXJ0IFhpYW8KZGlmZiAtLWdpdCBhL01pc2MvSElTVE9SWSBiL01pc2MvSElTVE9SWQppbmRleCA4MzcwZDhlLi4yYjQ3NjBkIDEwMDY0NAotLS0gYS9NaXNjL0hJU1RPUlkKKysrIGIvTWlzYy9ISVNUT1JZCkBAIC0xOCwxMyArMTgsMTMgQEAKIAogLSBJc3N1ZSAjMTYwNDY6IEZpeCBsb2FkaW5nIHNvdXJjZWxlc3MgbGVnYWN5IC5weW8gZmlsZXMuCiAKLS0gSXNzdWUgIzE2MDYwOiBGaXggcmVmY291bnRpbmcgYnVnIHdoZW4gX190cnVuY19fIHJldHVybnMgYW4gb2JqZWN0Ci0gIHdob3NlIF9faW50X18gZ2l2ZXMgYSBub24taW50ZWdlci4gIFBhdGNoIGJ5IFNlcmhpeSBTdG9yY2hha2EuCistIElzc3VlICMxNjA2MDogRml4IHJlZmNvdW50aW5nIGJ1ZyB3aGVuIGBfX3RydW5jX18oKWAgcmV0dXJucyBhbiBvYmplY3Qgd2hvc2UKKyAgYF9faW50X18oKWAgZ2l2ZXMgYSBub24taW50ZWdlci4gIFBhdGNoIGJ5IFNlcmhpeSBTdG9yY2hha2EuCiAKIEV4dGVuc2lvbiBNb2R1bGVzCiAtLS0tLS0tLS0tLS0tLS0tLQogCi0tIElzc3VlICMxNjAxMjogRml4IGEgcmVncmVzc2lvbiBpbiBweWV4cGF0LiBUaGUgcGFyc2VyJ3MgVXNlRm9yZWlnbkRURCgpCistIElzc3VlICMxNjAxMjogRml4IGEgcmVncmVzc2lvbiBpbiBweWV4cGF0LiBUaGUgcGFyc2VyJ3MgYFVzZUZvcmVpZ25EVEQoKWAKICAgbWV0aG9kIGRvZXNuJ3QgcmVxdWlyZSBhbiBhcmd1bWVudCBhZ2Fpbi4KIAogCkBAIC0zNiwyNiArMzYsMjYgQEAKIENvcmUgYW5kIEJ1aWx0aW5zCiAtLS0tLS0tLS0tLS0tLS0tLQogCi0tIElzc3VlICMxNTkwMDogRml4IHJlZmVyZW5jZSBsZWFrIGluIFB5VW5pY29kZV9UcmFuc2xhdGVDaGFybWFwKCkuCistIElzc3VlICMxNTkwMDogRml4IHJlZmVyZW5jZSBsZWFrIGluIGBQeVVuaWNvZGVfVHJhbnNsYXRlQ2hhcm1hcCgpYC4KIAogLSBJc3N1ZSAjMTU5MjY6IEZpeCBjcmFzaCBhZnRlciBtdWx0aXBsZSByZWluaXRpYWxpemF0aW9ucyBvZiB0aGUgaW50ZXJwcmV0ZXIuCiAKIC0gSXNzdWUgIzE1ODk1OiBGaXggRklMRSBwb2ludGVyIGxlYWsgaW4gb25lIGVycm9yIGJyYW5jaCBvZgotICBQeVJ1bl9TaW1wbGVGaWxlRXhGbGFncygpIHdoZW4gZmlsZW5hbWUgcG9pbnRzIHRvIGEgcHljL3B5byBmaWxlLCBjbG9zZWl0Ci0gIGlzIGZhbHNlIGFuIGFuZCBzZXRfbWFpbl9sb2FkZXIoKSBmYWlscy4KKyAgYFB5UnVuX1NpbXBsZUZpbGVFeEZsYWdzKClgIHdoZW4gZmlsZW5hbWUgcG9pbnRzIHRvIGEgcHljL3B5byBmaWxlLCBjbG9zZWl0IGlzCisgIGZhbHNlIGFuIGFuZCBzZXRfbWFpbl9sb2FkZXIoKSBmYWlscy4KIAogLSBGaXhlcyBmb3IgYSBmZXcgY3Jhc2ggYW5kIG1lbW9yeSBsZWFrIHJlZ3Jlc3Npb25zIGZvdW5kIGJ5IENvdmVyaXR5LgogCiBMaWJyYXJ5CiAtLS0tLS0tCiAKLS0gSXNzdWUgIzE1ODgyOiBDaGFuZ2UgX2RlY2ltYWwgdG8gYWNjZXB0IGFueSBjb2VmZmljaWVudCB0dXBsZSB3aGVuCi0gIGNvbnN0cnVjdGluZyBpbmZpbml0aWVzLiBUaGlzIGlzIGRvbmUgZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5Ci0gIHdpdGggZGVjaW1hbC5weTogSW5maW5pdHkgY29lZmZpY2llbnRzIGFyZSB1bmRlZmluZWQgaW4gX2RlY2ltYWwKLSAgKGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgc3BlY2lmaWNhdGlvbikuCistIElzc3VlICMxNTg4MjogQ2hhbmdlIGBfZGVjaW1hbGAgdG8gYWNjZXB0IGFueSBjb2VmZmljaWVudCB0dXBsZSB3aGVuCisgIGNvbnN0cnVjdGluZyBpbmZpbml0aWVzLiBUaGlzIGlzIGRvbmUgZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IHdpdGgKKyAgZGVjaW1hbC5weTogSW5maW5pdHkgY29lZmZpY2llbnRzIGFyZSB1bmRlZmluZWQgaW4gX2RlY2ltYWwgKGluIGFjY29yZGFuY2UKKyAgd2l0aCB0aGUgc3BlY2lmaWNhdGlvbikuCiAKLS0gSXNzdWUgIzE1OTI1OiBGaXggYSByZWdyZXNzaW9uIGluIGVtYWlsLnV0aWwgd2hlcmUgdGhlIHBhcnNlZGF0ZSgpIGFuZAotICBwYXJzZWRhdGVfdHooKSBmdW5jdGlvbnMgZGlkIG5vdCByZXR1cm4gTm9uZSBhbnltb3JlIHdoZW4gdGhlIGFyZ3VtZW50IGNvdWxkCistIElzc3VlICMxNTkyNTogRml4IGEgcmVncmVzc2lvbiBpbiBgZW1haWwudXRpbGAgd2hlcmUgdGhlIGBwYXJzZWRhdGUoKWAgYW5kCisgIGBwYXJzZWRhdGVfdHooKWAgZnVuY3Rpb25zIGRpZCBub3QgcmV0dXJuIE5vbmUgYW55bW9yZSB3aGVuIHRoZSBhcmd1bWVudCBjb3VsZAogICBub3QgYmUgcGFyc2VkLgogCiBFeHRlbnNpb24gTW9kdWxlcwpAQCAtNjcsNyArNjcsNyBAQAogLSBJc3N1ZSAjMTU5Nzc6IEZpeCBtZW1vcnkgbGVhayBpbiBNb2R1bGVzL19zc2wuYyB3aGVuIHRoZSBmdW5jdGlvbgogICBfc2V0X25wbl9wcm90b2NvbHMoKSBpcyBjYWxsZWQgbXVsdGlwbGUgdGltZXMsIHRoYW5rcyB0byBEYW5pZWwgU29tbWVybWFubi4KIAotLSBJc3N1ZSAjMTU5Njk6IGZhdWx0aGFuZGxlciBtb2R1bGU6IHJlbmFtZSBkdW1wX3RyYWNlYmFja3NfbGF0ZXIoKSB0bworLSBJc3N1ZSAjMTU5Njk6IGBmYXVsdGhhbmRsZXJgIG1vZHVsZTogcmVuYW1lIGR1bXBfdHJhY2ViYWNrc19sYXRlcigpIHRvCiAgIGR1bXBfdHJhY2ViYWNrX2xhdGVyKCkgYW5kIGNhbmNlbF9kdW1wX3RyYWNlYmFja3NfbGF0ZXIoKSB0bwogICBjYW5jZWxfZHVtcF90cmFjZWJhY2tfbGF0ZXIoKS4KIApAQCAtODMsMzUgKzgzLDM3IEBACiAtLS0tLS0tLS0tLS0tLS0tLQogCiAtIElzc3VlICMxMzk5MjogVGhlIHRyYXNoY2FuIG1lY2hhbmlzbSBpcyBub3cgdGhyZWFkLXNhZmUuICBUaGlzIGVsaW1pbmF0ZXMKLSAgc3BvcmFkaWMgY3Jhc2hlcyBpbiBtdWx0aS10aHJlYWQgcHJvZ3JhbXMgd2hlbiBzZXZlcmFsIGxvbmcgZGVhbGxvY2F0b3IKLSAgY2hhaW5zIHJhbiBjb25jdXJyZW50bHkgYW5kIGludm9sdmVkIHN1YmNsYXNzZXMgb2YgYnVpbHQtaW4gY29udGFpbmVyCi0gIHR5cGVzLgorICBzcG9yYWRpYyBjcmFzaGVzIGluIG11bHRpLXRocmVhZCBwcm9ncmFtcyB3aGVuIHNldmVyYWwgbG9uZyBkZWFsbG9jYXRvciBjaGFpbnMKKyAgcmFuIGNvbmN1cnJlbnRseSBhbmQgaW52b2x2ZWQgc3ViY2xhc3NlcyBvZiBidWlsdC1pbiBjb250YWluZXIgdHlwZXMuCiAKLS0gSXNzdWUgIzE1Nzg0OiBNb2RpZnkgT1NFcnJvci5fX3N0cl9fKCkgdG8gYmV0dGVyIGRpc3Rpbmd1aXNoIGJldHdlZW4KLSAgZXJybm8gZXJyb3IgbnVtYmVycyBhbmQgV2luZG93cyBlcnJvciBudW1iZXJzLgorLSBJc3N1ZSAjMTU3ODQ6IE1vZGlmeSBgT1NFcnJvcmAuX19zdHJfXygpIHRvIGJldHRlciBkaXN0aW5ndWlzaCBiZXR3ZWVuIGVycm5vCisgIGVycm9yIG51bWJlcnMgYW5kIFdpbmRvd3MgZXJyb3IgbnVtYmVycy4KIAogLSBJc3N1ZSAjMTU3ODE6IEZpeCB0d28gc21hbGwgcmFjZSBjb25kaXRpb25zIGluIGltcG9ydCdzIG1vZHVsZSBsb2NraW5nLgogCiBMaWJyYXJ5CiAtLS0tLS0tCiAKLS0gSXNzdWUgIzE1ODQ3OiBGaXggYSByZWdyZXNzaW9uIGluIGFyZ3BhcnNlLCB3aGljaCBkaWQgbm90IGFjY2VwdCB0dXBsZXMKLSAgYXMgYXJndW1lbnQgbGlzdHMgYW55bW9yZS4KKy0gSXNzdWUgIzE3MTU4OiBBZGQgJ3N5bWJvbHMnIHRvIGhlbHAoKSB3ZWxjb21lIG1lc3NhZ2U7IGNsYXJpZnkKKyAgJ21vZHVsZXMgc3BhbScgbWVzc2FnZXMuCiAKLS0gSXNzdWUgIzE1ODI4OiBSZXN0b3JlIHN1cHBvcnQgZm9yIEMgZXh0ZW5zaW9ucyBpbiBpbXAubG9hZF9tb2R1bGUoKS4KKy0gSXNzdWUgIzE1ODQ3OiBGaXggYSByZWdyZXNzaW9uIGluIGFyZ3BhcnNlLCB3aGljaCBkaWQgbm90IGFjY2VwdCB0dXBsZXMgYXMKKyAgYXJndW1lbnQgbGlzdHMgYW55bW9yZS4KIAotLSBJc3N1ZSAjMTUzNDA6IEZpeCBpbXBvcnRpbmcgdGhlIHJhbmRvbSBtb2R1bGUgd2hlbiAvZGV2L3VyYW5kb20gY2Fubm90Ci0gIGJlIG9wZW5lZC4gIFRoaXMgd2FzIGEgcmVncmVzc2lvbiBjYXVzZWQgYnkgdGhlIGhhc2ggcmFuZG9taXphdGlvbiBwYXRjaC4KKy0gSXNzdWUgIzE1ODI4OiBSZXN0b3JlIHN1cHBvcnQgZm9yIEMgZXh0ZW5zaW9ucyBpbiBgaW1wLmxvYWRfbW9kdWxlKClgLgogCi0tIElzc3VlICMxMDY1MDogRGVwcmVjYXRlIHRoZSB3YXRjaGV4cCBwYXJhbWV0ZXIgb2YgdGhlIERlY2ltYWwucXVhbnRpemUoKQorLSBJc3N1ZSAjMTUzNDA6IEZpeCBpbXBvcnRpbmcgdGhlIHJhbmRvbSBtb2R1bGUgd2hlbiBgYC9kZXYvdXJhbmRvbWBgIGNhbm5vdCBiZQorICBvcGVuZWQuICBUaGlzIHdhcyBhIHJlZ3Jlc3Npb24gY2F1c2VkIGJ5IHRoZSBoYXNoIHJhbmRvbWl6YXRpb24gcGF0Y2guCisKKy0gSXNzdWUgIzEwNjUwOiBEZXByZWNhdGUgdGhlIHdhdGNoZXhwIHBhcmFtZXRlciBvZiB0aGUgYERlY2ltYWwucXVhbnRpemUoKWAKICAgbWV0aG9kLgogCi0tIElzc3VlICMxNTc4NTogTW9kaWZ5IHdpbmRvdy5nZXRfd2NoKCkgQVBJIG9mIHRoZSBjdXJzZXMgbW9kdWxlOiByZXR1cm4KLSAgYSBjaGFyYWN0ZXIgZm9yIG1vc3Qga2V5cywgYW5kIGFuIGludGVnZXIgZm9yIHNwZWNpYWwga2V5cywgaW5zdGVhZCBvZgotICBhbHdheXMgcmV0dXJuaW5nIGFuIGludGVnZXIuIFNvIGl0IGlzIG5vdyBwb3NzaWJsZSB0byBkaXN0aW5ndWlzaCBzcGVjaWFsCi0gIGtleXMgbGlrZSBrZXlwYWQga2V5cy4KKy0gSXNzdWUgIzE1Nzg1OiBNb2RpZnkgYHdpbmRvdy5nZXRfd2NoKClgIEFQSSBvZiB0aGUgY3Vyc2VzIG1vZHVsZTogcmV0dXJuIGEKKyAgY2hhcmFjdGVyIGZvciBtb3N0IGtleXMsIGFuZCBhbiBpbnRlZ2VyIGZvciBzcGVjaWFsIGtleXMsIGluc3RlYWQgb2YgYWx3YXlzCisgIHJldHVybmluZyBhbiBpbnRlZ2VyLiBTbyBpdCBpcyBub3cgcG9zc2libGUgdG8gZGlzdGluZ3Vpc2ggc3BlY2lhbCBrZXlzIGxpa2UKKyAga2V5cGFkIGtleXMuCiAKLS0gSXNzdWUgIzE0MjIzOiBGaXggd2luZG93LmFkZGNoKCkgb2YgdGhlIGN1cnNlcyBtb2R1bGUgZm9yIHNwZWNpYWwgY2hhcmFjdGVycworLSBJc3N1ZSAjMTQyMjM6IEZpeCBgd2luZG93LmFkZGNoKClgIG9mIHRoZSBjdXJzZXMgbW9kdWxlIGZvciBzcGVjaWFsIGNoYXJhY3RlcnMKICAgbGlrZSBjdXJzZXMuQUNTX0hMSU5FOiB0aGUgUHl0aG9uIGZ1bmN0aW9uIGFkZGNoKGludCkgYW5kIGFkZGNoKGJ5dGVzKSBpcyBub3cKICAgY2FsbGluZyB0aGUgQyBmdW5jdGlvbiB3YWRkY2goKS9tdndhZGRjaCgpIChhcyBpdCB3YXMgZG9uZSBpbiBQeXRob24gMy4yKSwKICAgaW5zdGVhZCBvZiB3YWRkX3djaCgpL212d2FkZF93Y2goKS4gVGhlIFB5dGhvbiBmdW5jdGlvbiBhZGRjaChzdHIpIGlzIHN0aWxsCkBAIC0xMjcsMTAgKzEyOSwxMCBAQAogRG9jdW1lbnRhdGlvbgogLS0tLS0tLS0tLS0tLQogCi0tIElzc3VlICMxNTgxNDogVGhlIG1lbW9yeXZpZXcgZW5oYW5jZW1lbnRzIGluIDMuMy4wIGFjY2lkZW50YWxseSBwZXJtaXR0ZWQKLSAgdGhlIGhhc2hpbmcgb2YgbXVsdGktZGltZW5zaW9uYWwgbWVtb3J2aWV3cyBhbmQgbWVtb3J5dmlld3Mgd2l0aCBtdWx0aS1ieXRlCi0gIGl0ZW0gZm9ybWF0cy4gVGhlIGludGVuZGVkIHJlc3RyaWN0aW9ucyBoYXZlIG5vdyBiZWVuIGRvY3VtZW50ZWQgLSB0aGV5Ci0gIHdpbGwgYmUgY29ycmVjdGx5IGVuZm9yY2VkIGluIDMuMy4xCistIElzc3VlICMxNTgxNDogVGhlIG1lbW9yeXZpZXcgZW5oYW5jZW1lbnRzIGluIDMuMy4wIGFjY2lkZW50YWxseSBwZXJtaXR0ZWQgdGhlCisgIGhhc2hpbmcgb2YgbXVsdGktZGltZW5zaW9uYWwgbWVtb3J2aWV3cyBhbmQgbWVtb3J5dmlld3Mgd2l0aCBtdWx0aS1ieXRlIGl0ZW0KKyAgZm9ybWF0cy4gVGhlIGludGVuZGVkIHJlc3RyaWN0aW9ucyBoYXZlIG5vdyBiZWVuIGRvY3VtZW50ZWQgLSB0aGV5IHdpbGwgYmUKKyAgY29ycmVjdGx5IGVuZm9yY2VkIGluIDMuMy4xLgogCiAKIFdoYXQncyBOZXcgaW4gUHl0aG9uIDMuMy4wIFJlbGVhc2UgQ2FuZGlkYXRlIDE/CkBAIC0xNDQsMTMxICsxNDYsMTIzIEBACiAtIElzc3VlICMxNTU3MzogbWVtb3J5dmlldyBjb21wYXJpc29ucyBhcmUgbm93IHBlcmZvcm1lZCBieSB2YWx1ZSB3aXRoIGZ1bGwKICAgc3VwcG9ydCBmb3IgYW55IHZhbGlkIHN0cnVjdCBtb2R1bGUgZm9ybWF0IGRlZmluaXRpb24uCiAKLS0gSXNzdWUgIzE1MzE2OiBXaGVuIGFuIGl0ZW0gaW4gdGhlIGZyb21saXN0IGZvciBfX2ltcG9ydF9fIGRvZXNuJ3QgZXhpc3QsCistIElzc3VlICMxNTMxNjogV2hlbiBhbiBpdGVtIGluIHRoZSBmcm9tbGlzdCBmb3IgYF9faW1wb3J0X18oKWAgZG9lc24ndCBleGlzdCwKICAgZG9uJ3QgcmFpc2UgYW4gZXJyb3IsIGJ1dCBpZiBhbiBleGNlcHRpb24gaXMgcmFpc2VkIGFzIHBhcnQgb2YgYW4gaW1wb3J0IGRvCiAgIGxldCB0aGF0IHByb3BhZ2F0ZS4KIAotLSBJc3N1ZSAjMTU3Nzg6IGVuc3VyZSB0aGF0IHN0cihJbXBvcnRFcnJvcihtc2cpKSByZXR1cm5zIGEgc3RyCi0gIGV2ZW4gd2hlbiBtc2cgaXNuJ3QgYSBzdHIuCistIElzc3VlICMxNTc3ODogRW5zdXJlIHRoYXQgYGBzdHIoSW1wb3J0RXJyb3IobXNnKSlgYCByZXR1cm5zIGEgc3RyIGV2ZW4gd2hlbgorICBtc2cgaXNuJ3QgYSBzdHIuCiAKLS0gSXNzdWUgIzIwNTE6IFNvdXJjZSBmaWxlIHBlcm1pc3Npb24gYml0cyBhcmUgb25jZSBhZ2FpbiBjb3JyZWN0bHkKLSAgY29waWVkIHRvIHRoZSBjYWNoZWQgYnl0ZWNvZGUgZmlsZS4gKFRoZSBtaWdyYXRpb24gdG8gaW1wb3J0bGliCi0gIHJlaW50cm9kdWNlZCB0aGlzIHByb2JsZW0gYmVjYXVzZSB0aGVzZSB3YXMgbm8gcmVncmVzc2lvbiB0ZXN0LiBBIHRlc3QKLSAgaGFzIGJlZW4gYWRkZWQgYXMgcGFydCBvZiB0aGlzIHBhdGNoKQorLSBJc3N1ZSAjMjA1MTogU291cmNlIGZpbGUgcGVybWlzc2lvbiBiaXRzIGFyZSBvbmNlIGFnYWluIGNvcnJlY3RseSBjb3BpZWQgdG8KKyAgdGhlIGNhY2hlZCBieXRlY29kZSBmaWxlLiAoVGhlIG1pZ3JhdGlvbiB0byBpbXBvcnRsaWIgcmVpbnRyb2R1Y2VkIHRoaXMKKyAgcHJvYmxlbSBiZWNhdXNlIHRoZXNlIHdhcyBubyByZWdyZXNzaW9uIHRlc3QuIEEgdGVzdCBoYXMgYmVlbiBhZGRlZCBhcyBwYXJ0IG9mCisgIHRoaXMgcGF0Y2gpCiAKLS0gSXNzdWUgIzE1NzYxOiBGaXggY3Jhc2ggd2hlbiBQWVRIT05FWEVDVVRBQkxFIGlzIHNldCBvbiBNYWMgT1MgWC4KKy0gSXNzdWUgIzE1NzYxOiBGaXggY3Jhc2ggd2hlbiBgYFBZVEhPTkVYRUNVVEFCTEVgYCBpcyBzZXQgb24gTWFjIE9TIFguCiAKLS0gSXNzdWUgIzE1NzI2OiBGaXggaW5jb3JyZWN0IGJvdW5kcyBjaGVja2luZyBpbiBQeVN0YXRlX0ZpbmRNb2R1bGUuCi0gIFBhdGNoIGJ5IFJvYmluIFNjaHJlaWJlci4KKy0gSXNzdWUgIzE1NzI2OiBGaXggaW5jb3JyZWN0IGJvdW5kcyBjaGVja2luZyBpbiBQeVN0YXRlX0ZpbmRNb2R1bGUuICBQYXRjaCBieQorICBSb2JpbiBTY2hyZWliZXIuCiAKLS0gSXNzdWUgIzE1NjA0OiBVcGRhdGUgdXNlcyBvZiBQeU9iamVjdF9Jc1RydWUoKSB0byBjaGVjayBmb3IgYW5kIGhhbmRsZQorLSBJc3N1ZSAjMTU2MDQ6IFVwZGF0ZSB1c2VzIG9mIGBQeU9iamVjdF9Jc1RydWUoKWAgdG8gY2hlY2sgZm9yIGFuZCBoYW5kbGUKICAgZXJyb3JzIGNvcnJlY3RseS4gIFBhdGNoIGJ5IFNlcmhpeSBTdG9yY2hha2EuCiAKLS0gSXNzdWUgIzE0ODQ2OiBpbXBvcnRsaWIuRmlsZUZpbmRlciBub3cgaGFuZGxlcyB0aGUgY2FzZSB3aGVyZSB0aGUKLSAgZGlyZWN0b3J5IGJlaW5nIHNlYXJjaGVkIGlzIHJlbW92ZWQgYWZ0ZXIgYSBwcmV2aW91cyBpbXBvcnQgYXR0ZW1wdAorLSBJc3N1ZSAjMTQ4NDY6IGBpbXBvcnRsaWIuRmlsZUZpbmRlcmAgbm93IGhhbmRsZXMgdGhlIGNhc2Ugd2hlcmUgdGhlIGRpcmVjdG9yeQorICBiZWluZyBzZWFyY2hlZCBpcyByZW1vdmVkIGFmdGVyIGEgcHJldmlvdXMgaW1wb3J0IGF0dGVtcHQuCiAKIExpYnJhcnkKIC0tLS0tLS0KIAotLSBJc3N1ZSAjMTMzNzA6IEVuc3VyZSB0aGF0IGN0eXBlcyB3b3JrcyBvbiBNYWMgT1MgWCB3aGVuIFB5dGhvbiBpcwotICBjb21waWxlZCB1c2luZyB0aGUgY2xhbmcgY29tcGlsZXIKKy0gSXNzdWUgIzEzMzcwOiBFbnN1cmUgdGhhdCBjdHlwZXMgd29ya3Mgb24gTWFjIE9TIFggd2hlbiBQeXRob24gaXMgY29tcGlsZWQKKyAgdXNpbmcgdGhlIGNsYW5nIGNvbXBpbGVyLgogCi0tIElzc3VlICMxMzA3MjogVGhlIGFycmF5IG1vZHVsZSdzICd1JyBmb3JtYXQgY29kZSBpcyBub3cgZGVwcmVjYXRlZCBhbmQKLSAgd2lsbCBiZSByZW1vdmVkIGluIFB5dGhvbiA0LjAuCistIElzc3VlICMxMzA3MjogVGhlIGFycmF5IG1vZHVsZSdzICd1JyBmb3JtYXQgY29kZSBpcyBub3cgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZQorICByZW1vdmVkIGluIFB5dGhvbiA0LjAuCiAKIC0gSXNzdWUgIzE1NTQ0OiBGaXggRGVjaW1hbC5fX2Zsb2F0X18gdG8gd29yayB3aXRoIHBheWxvYWQtY2FycnlpbmcgTmFOcy4KIAotLSBJc3N1ZSAjMTUyNDk6IEJ5dGVzR2VuZXJhdG9yIG5vdyBjb3JyZWN0bHkgbWFuZ2xlcyBGcm9tIGxpbmVzICh3aGVuCistIElzc3VlICMxNTc3NjogQWxsb3cgcHl2ZW52IHRvIHdvcmsgaW4gZXhpc3RpbmcgZGlyZWN0b3J5IHdpdGggLS1jbGVhbi4KKworLSBJc3N1ZSAjMTUyNDk6IGVtYWlsJ3MgQnl0ZXNHZW5lcmF0b3Igbm93IGNvcnJlY3RseSBtYW5nbGVzIEZyb20gbGluZXMgKHdoZW4KICAgcmVxdWVzdGVkKSBldmVuIGlmIHRoZSBib2R5IGNvbnRhaW5zIHVuZGVjb2RhYmxlIGJ5dGVzLgogCiAtIElzc3VlICMxNTc3NzogRml4IGEgcmVmbGVhayBpbiBfcG9zaXhzdWJwcm9jZXNzLgogCi0tIElzc3VlICMjNjY1MTk0OiBVcGRhdGUgZW1haWwudXRpbHMubG9jYWx0aW1lIHRvIHVzZSBkYXRldGltZS5hc3RpbWV6b25lIGFuZAorLSBJc3N1ZSAjIzY2NTE5NDogVXBkYXRlIGBlbWFpbC51dGlscy5sb2NhbHRpbWVgIHRvIHVzZSBkYXRldGltZS5hc3RpbWV6b25lIGFuZAogICBjb3JyZWN0bHkgaGFuZGxlIGhpc3RvcmljIGNoYW5nZXMgaW4gVVRDIG9mZnNldHMuCiAKIC0gSXNzdWUgIzE1MTk5OiBGaXggSmF2YVNjcmlwdCdzIGRlZmF1bHQgTUlNRSB0eXBlIHRvIGFwcGxpY2F0aW9uL2phdmFzY3JpcHQuCiAgIFBhdGNoIGJ5IEJvaHVzbGF2IEthYnJkYS4KIAotLSBJc3N1ZSAjMTI2NDM6IGNvZGUuSW50ZXJhY3RpdmVDb25zb2xlIG5vdyByZXNwZWN0cyBzeXMuZXhjZXB0aG9vayB3aGVuCi0gIGRpc3BsYXlpbmcgZXhjZXB0aW9ucyAoUGF0Y2ggYnkgQWFyb24gSWxlcykKKy0gSXNzdWUgIzEyNjQzOiBgY29kZS5JbnRlcmFjdGl2ZUNvbnNvbGVgIG5vdyByZXNwZWN0cyBgc3lzLmV4Y2VwdGhvb2tgIHdoZW4KKyAgZGlzcGxheWluZyBleGNlcHRpb25zLiAgUGF0Y2ggYnkgQWFyb24gSWxlcy4KIAotLSBJc3N1ZSAjMTM1Nzk6IHN0cmluZy5Gb3JtYXR0ZXIgbm93IHVuZGVyc3RhbmRzIHRoZSAnYScgY29udmVyc2lvbiBzcGVjaWZpZXIuCistIElzc3VlICMxMzU3OTogYHN0cmluZy5Gb3JtYXR0ZXJgIG5vdyB1bmRlcnN0YW5kcyB0aGUgJ2EnIGNvbnZlcnNpb24gc3BlY2lmaWVyLgogCi0tIElzc3VlICMxNTc5MzogU3RhY2sgY29ycnVwdGlvbiBpbiBzc2wuUkFORF9lZ2QoKS4KLSAgUGF0Y2ggYnkgU2VyaGl5IFN0b3JjaGFrYS4KLQotLSBJc3N1ZSAjMTU1OTU6IEZpeCBzdWJwcm9jZXNzLlBvcGVuKHVuaXZlcnNhbF9uZXdsaW5lcz1UcnVlKQotICBmb3IgY2VydGFpbiBsb2NhbGVzICh1dGYtMTYgYW5kIHV0Zi0zMiBmYW1pbHkpLiBQYXRjaCBieSBDaHJpcyBKZXJkb25lay4KKy0gSXNzdWUgIzE1NTk1OiBGaXggYGBzdWJwcm9jZXNzLlBvcGVuKHVuaXZlcnNhbF9uZXdsaW5lcz1UcnVlKWBgIGZvciBjZXJ0YWluCisgIGxvY2FsZXMgKHV0Zi0xNiBhbmQgdXRmLTMyIGZhbWlseSkuIFBhdGNoIGJ5IENocmlzIEplcmRvbmVrLgogCiAtIElzc3VlICMxNTQ3NzogSW4gY21hdGggYW5kIG1hdGggbW9kdWxlcywgYWRkIHdvcmthcm91bmQgZm9yIHBsYXRmb3JtcyB3aG9zZQogICBzeXN0ZW0tc3VwcGxpZWQgbG9nMXAgZnVuY3Rpb24gZG9lc24ndCByZXNwZWN0IHNpZ25zIG9mIHplcm9zLgogCi0tIElzc3VlICMxNTcxNTogaW1wb3J0bGliLl9faW1wb3J0X18oKSB3aWxsIHNpbGVuY2UgYW4gSW1wb3J0RXJyb3Igd2hlbiB0aGUgdXNlCi0gIG9mIGZyb21saXN0IGxlYWRzIHRvIGEgZmFpbGVkIGltcG9ydC4KKy0gSXNzdWUgIzE1NzE1OiBgaW1wb3J0bGliLl9faW1wb3J0X18oKWAgd2lsbCBzaWxlbmNlIGFuIEltcG9ydEVycm9yIHdoZW4gdGhlCisgIHVzZSBvZiBmcm9tbGlzdCBsZWFkcyB0byBhIGZhaWxlZCBpbXBvcnQuCiAKLS0gSXNzdWUgIzE0NjY5OiBGaXggcGlja2xpbmcgb2YgY29ubmVjdGlvbnMgYW5kIHNvY2tldHMgb24gTWFjT1NYCi0gIGJ5IHNlbmRpbmcvcmVjZWl2aW5nIGFuIGFja25vd2xlZGdtZW50IGFmdGVyIGZpbGUgZGVzY3JpcHRvciB0cmFuc2Zlci4KLSAgVGVzdFBpY2tsaW5nQ29ubmVjdGlvbiBoYXMgYmVlbiByZWVuYWJsZWQgZm9yIE1hY09TWC4KKy0gSXNzdWUgIzE0NjY5OiBGaXggcGlja2xpbmcgb2YgY29ubmVjdGlvbnMgYW5kIHNvY2tldHMgb24gTWFjIE9TIFggYnkKKyAgc2VuZGluZy9yZWNlaXZpbmcgYW4gYWNrbm93bGVkZ21lbnQgYWZ0ZXIgZmlsZSBkZXNjcmlwdG9yIHRyYW5zZmVyLgorICBUZXN0UGlja2xpbmdDb25uZWN0aW9uIGhhcyBiZWVuIHJlZW5hYmxlZCBmb3IgTWFjIE9TIFguCiAKIC0gSXNzdWUgIzExMDYyOiBGaXggYWRkaW5nIGEgbWVzc2FnZSBmcm9tIGZpbGUgdG8gQmFieWwgbWFpbGJveC4KIAotLSBJc3N1ZSAjMTU2NDY6IFByZXZlbnQgZXF1aXZhbGVudCBvZiBhIGZvcmsgYm9tYiB3aGVuIHVzaW5nCi0gIG11bHRpcHJvY2Vzc2luZyBvbiBXaW5kb3dzIHdpdGhvdXQgdGhlICJpZiBfX25hbWVfXyA9PSAnX19tYWluX18nIgotICBpZGlvbS4KKy0gSXNzdWUgIzE1NjQ2OiBQcmV2ZW50IGVxdWl2YWxlbnQgb2YgYSBmb3JrIGJvbWIgd2hlbiB1c2luZyBgbXVsdGlwcm9jZXNzaW5nYAorICBvbiBXaW5kb3dzIHdpdGhvdXQgdGhlIGBgaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJ2BgIGlkaW9tLgogCi0tIElzc3VlICMxNTY3ODogRml4IElETEUgbWVudXMgd2hlbiBzdGFydGVkIGZyb20gT1MgWCBjb21tYW5kIGxpbmUKLSAgKDMuMy4wYjIgcmVncmVzc2lvbikuCitJRExFCistLS0tCiAKLUMgQVBJCi0tLS0tLQotCi1FeHRlbnNpb24gTW9kdWxlcwotLS0tLS0tLS0tLS0tLS0tLS0KLQotVG9vbHMvRGVtb3MKLS0tLS0tLS0tLS0tCistIElzc3VlICMxNTY3ODogRml4IElETEUgbWVudXMgd2hlbiBzdGFydGVkIGZyb20gT1MgWCBjb21tYW5kIGxpbmUgKDMuMy4wYjIKKyAgcmVncmVzc2lvbikuCiAKIERvY3VtZW50YXRpb24KIC0tLS0tLS0tLS0tLS0KIAotLSBJc3N1ZSAjMTQ2NzQ6IEFkZCBhIGRpc2N1c3Npb24gb2YgdGhlIGpzb24gbW9kdWxlJ3Mgc3RhbmRhcmQgY29tcGxpYW5jZS4KKy0gVG91Y2hlZCB1cCB0aGUgUHl0aG9uIDIgdG8gMyBwb3J0aW5nIGd1aWRlLgorCistIElzc3VlICMxNDY3NDogQWRkIGEgZGlzY3Vzc2lvbiBvZiB0aGUgYGpzb25gIG1vZHVsZSdzIHN0YW5kYXJkIGNvbXBsaWFuY2UuCiAgIFBhdGNoIGJ5IENocmlzIFJlYmVydC4KIAogLSBDcmVhdGUgYSAnQ29uY3VycmVudCBFeGVjdXRpb24nIHNlY3Rpb24gaW4gdGhlIGRvY3MsIGFuZCBzcGxpdCB1cCB0aGUKICAgJ09wdGlvbmFsIE9wZXJhdGluZyBTeXN0ZW0gU2VydmljZXMnIHNlY3Rpb24gdG8gdXNlIGEgbW9yZSB1c2VyLWNlbnRyaWMKLSAgY2xhc3NpZmljYXRpb24gc2NoZW1lIChzcGxpdHRpbmcgdGhlbSBhY3Jvc3MgdGhlIG5ldyBDRSBzZWN0aW9uLCBJUEMgYW5kCi0gIHRleHQgcHJvY2Vzc2luZykuIE9wZXJhdGluZyBzeXN0ZW0gbGltaXRhdG9ucyBjYW4gYmUgcmVmbGVjdGVkIHdpdGgKLSAgdGhlIFNwaGlueCBgYDpwbGF0Zm9ybTpgYCB0YWcsIGl0IGRvZXNuJ3QgbWFrZSBzZW5zZSBhcyBwYXJ0IG9mIHRoZSBUYWJsZSBvZgotICBDb250ZW50cy4KKyAgY2xhc3NpZmljYXRpb24gc2NoZW1lIChzcGxpdHRpbmcgdGhlbSBhY3Jvc3MgdGhlIG5ldyBDRSBzZWN0aW9uLCBJUEMgYW5kIHRleHQKKyAgcHJvY2Vzc2luZykuIE9wZXJhdGluZyBzeXN0ZW0gbGltaXRhdGlvbnMgY2FuIGJlIHJlZmxlY3RlZCB3aXRoIHRoZSBTcGhpbngKKyAgYGA6cGxhdGZvcm06YGAgdGFnLCBpdCBkb2Vzbid0IG1ha2Ugc2Vuc2UgYXMgcGFydCBvZiB0aGUgVGFibGUgb2YgQ29udGVudHMuCiAKLS0gSXNzdWUgIzQ5NjY6IEJyaW5nIHRoZSBzZXF1ZW5jZSBkb2NzIHVwIHRvIGRhdGUgZm9yIHRoZSBQeTNrIHRyYW5zaXRpb24KLSAgYW5kIHRoZSBtYW55IGxhbmd1YWdlIGVuaGFuY2VtZW50cyBzaW5jZSB0aGV5IHdlcmUgb3JpZ2luYWwgd3JpdHRlbgorLSBJc3N1ZSAjNDk2NjogQnJpbmcgdGhlIHNlcXVlbmNlIGRvY3MgdXAgdG8gZGF0ZSBmb3IgdGhlIFB5M2sgdHJhbnNpdGlvbiBhbmQKKyAgdGhlIG1hbnkgbGFuZ3VhZ2UgZW5oYW5jZW1lbnRzIHNpbmNlIHRoZXkgd2VyZSBvcmlnaW5hbCB3cml0dGVuLgogCiAtIFRoZSAicGF0aCBpbXBvcnRlciIgbWlzbm9tZXIgaGFzIGJlZW4gcmVwbGFjZWQgd2l0aCBFcmljIFNub3cncwotICBtb3JlLWF3a3dhcmQtYnV0LWF0LWxlYXN0LW5vdC13cm9uZyBzdWdnZXN0aW9uIG9mICJwYXRoIGJhc2VkIGZpbmRlciIgaW4KLSAgdGhlIGltcG9ydCBzeXN0ZW0gcmVmZXJlbmNlIGRvY3MKKyAgbW9yZS1hd2t3YXJkLWJ1dC1hdC1sZWFzdC1ub3Qtd3Jvbmcgc3VnZ2VzdGlvbiBvZiAicGF0aCBiYXNlZCBmaW5kZXIiIGluIHRoZQorICBpbXBvcnQgc3lzdGVtIHJlZmVyZW5jZSBkb2NzLgogCi0tIElzc3VlICMxNTY0MDogRG9jdW1lbnQgaW1wb3J0bGliLmFiYy5GaW5kZXIgYXMgZGVwcmVjYXRlZC4KKy0gSXNzdWUgIzE1NjQwOiBEb2N1bWVudCBgaW1wb3J0bGliLmFiYy5GaW5kZXJgIGFzIGRlcHJlY2F0ZWQuCiAKLS0gSXNzdWUgIzE1NjMwOiBBZGQgYW4gZXhhbXBsZSBmb3IgImNvbnRpbnVlIiBzdG10IGluIHRoZSB0dXRvcmlhbC4gUGF0Y2ggYnkKKy0gSXNzdWUgIzE1NjMwOiBBZGQgYW4gZXhhbXBsZSBmb3IgImNvbnRpbnVlIiBzdG10IGluIHRoZSB0dXRvcmlhbC4gIFBhdGNoIGJ5CiAgIERhbmllbCBFbGxpcy4KIAogVGVzdHMKIC0tLS0tCiAKIC0gSXNzdWUgIzE1NzQ3OiBaRlMgYWx3YXlzIHJldHVybnMgRU9QTk9UU1VQUCB3aGVuIGF0dGVtcHRpbmcgdG8gc2V0IHRoZQotICBVRl9JTU1VVEFCTEUgZmxhZyAodmlhIGVpdGhlciBjaGZsYWdzIG9yIGxjaGZsYWdzKTsgcmVmYWN0b3IgYWZmZWN0ZWQKLSAgdGVzdHMgaW4gdGVzdF9wb3NpeC5weSB0byBhY2NvdW50IGZvciB0aGlzLgorICBVRl9JTU1VVEFCTEUgZmxhZyAodmlhIGVpdGhlciBjaGZsYWdzIG9yIGxjaGZsYWdzKTsgcmVmYWN0b3IgYWZmZWN0ZWQgdGVzdHMgaW4KKyAgdGVzdF9wb3NpeC5weSB0byBhY2NvdW50IGZvciB0aGlzLgogCi0tIElzc3VlICMxNTI4NTogUmVmYWN0b3IgdGhlIGFwcHJvYWNoIGZvciB0ZXN0aW5nIGNvbm5lY3QgdGltZW91dHMgdXNpbmcKLSAgdHdvIGV4dGVybmFsIGhvc3RzIHRoYXQgaGF2ZSBiZWVuIGNvbmZpZ3VyZWQgc3BlY2lmaWNhbGx5IGZvciB0aGlzIHR5cGUKLSAgb2YgdGVzdC4KKy0gSXNzdWUgIzE1Mjg1OiBSZWZhY3RvciB0aGUgYXBwcm9hY2ggZm9yIHRlc3RpbmcgY29ubmVjdCB0aW1lb3V0cyB1c2luZyB0d28KKyAgZXh0ZXJuYWwgaG9zdHMgdGhhdCBoYXZlIGJlZW4gY29uZmlndXJlZCBzcGVjaWZpY2FsbHkgZm9yIHRoaXMgdHlwZSBvZiB0ZXN0LgogCi0tIElzc3VlICMxNTc0MzogUmVtb3ZlIHRoZSBkZXByZWNhdGVkIG1ldGhvZCB1c2FnZSBpbiB1cmxsaWIgdGVzdHMuIFBhdGNoIGJ5CistIElzc3VlICMxNTc0MzogUmVtb3ZlIHRoZSBkZXByZWNhdGVkIG1ldGhvZCB1c2FnZSBpbiBgdXJsbGliYCB0ZXN0cy4gUGF0Y2ggYnkKICAgSmVmZiBLbnVwcC4KIAotLSBJc3N1ZSAjMTU2MTU6IEFkZCBzb21lIHRlc3RzIGZvciB0aGUganNvbiBtb2R1bGUncyBoYW5kbGluZyBvZiBpbnZhbGlkCi0gIGlucHV0IGRhdGEuICBQYXRjaCBieSBLdXNoYWwgRGFzLgorLSBJc3N1ZSAjMTU2MTU6IEFkZCBzb21lIHRlc3RzIGZvciB0aGUgYGpzb25gIG1vZHVsZSdzIGhhbmRsaW5nIG9mIGludmFsaWQgaW5wdXQKKyAgZGF0YS4gIFBhdGNoIGJ5IEt1c2hhbCBEYXMuCiAKIEJ1aWxkCiAtLS0tLQpAQCAtMjc3LDExICsyNzEsMTEgQEAKIAogLSBQaWNrIHVwIDMyLWJpdCBsYXVuY2hlciBmcm9tIFBHTyBkaXJlY3Rvcnkgb24gNjQtYml0IFBHTyBidWlsZC4KIAotLSBEcm9wIFBDXHB5dGhvbl9udC5oIGFzIGl0J3Mgbm90IHVzZWQuIEFkZCBpbnB1dCBkZXBlbmRlbmN5IG9uIGN1c3RvbQorLSBEcm9wIGBgUENccHl0aG9uX250LmhgYCBhcyBpdCdzIG5vdCB1c2VkLiAgQWRkIGlucHV0IGRlcGVuZGVuY3kgb24gY3VzdG9tCiAgIGJ1aWxkIHN0ZXAuCiAKLS0gSXNzdWUgIzE1NTExOiBEcm9wIGV4cGxpY2l0IGRlcGVuZGVuY3kgb24gcHl0aG9ueHkubGliIGZyb20gX2RlY2ltYWwKLSAgYW1kNjQgY29uZmlndXJhdGlvbi4KKy0gSXNzdWUgIzE1NTExOiBEcm9wIGV4cGxpY2l0IGRlcGVuZGVuY3kgb24gcHl0aG9ueHkubGliIGZyb20gX2RlY2ltYWwgYW1kNjQKKyAgY29uZmlndXJhdGlvbi4KIAogLSBBZGQgbWlzc2luZyBQR0kvUEdPIGNvbmZpZ3VyYXRpb25zIGZvciBweXdsYXVuY2hlci4KIApAQCAtMjk2LDE1ICsyOTAsMTUgQEAKIENvcmUgYW5kIEJ1aWx0aW5zCiAtLS0tLS0tLS0tLS0tLS0tLQogCi0tIElzc3VlICMxNTU2ODogRml4IHRoZSByZXR1cm4gdmFsdWUgb2YgInlpZWxkIGZyb20iIHdoZW4gU3RvcEl0ZXJhdGlvbiBpcworLSBJc3N1ZSAjMTU1Njg6IEZpeCB0aGUgcmV0dXJuIHZhbHVlIG9mIGBgeWllbGQgZnJvbWBgIHdoZW4gU3RvcEl0ZXJhdGlvbiBpcwogICByYWlzZWQgYnkgYSBjdXN0b20gaXRlcmF0b3IuCiAKLS0gSXNzdWUgIzEzMTE5OiBzeXMuc3Rkb3V0IGFuZCBzeXMuc3RkZXJyIGFyZSBub3cgdXNpbmcgIlxyXG4iIG5ld2xpbmUgb24KKy0gSXNzdWUgIzEzMTE5OiBgc3lzLnN0ZG91dGAgYW5kIGBzeXMuc3RkZXJyYCBhcmUgbm93IHVzaW5nICJcclxuIiBuZXdsaW5lIG9uCiAgIFdpbmRvd3MsIGFzIFB5dGhvbiAyLgogCiAtIElzc3VlICMxNTUzNDogRml4IHRoZSBmYXN0LXNlYXJjaCBmdW5jdGlvbiBmb3Igbm9uLUFTQ0lJIFVuaWNvZGUgc3RyaW5ncy4KIAotLSBJc3N1ZSAjMTU1MDg6IEZpeCB0aGUgZG9jc3RyaW5nIGZvciBfX2ltcG9ydF9fIHRvIGhhdmUgdGhlIHByb3BlciBkZWZhdWx0CistIElzc3VlICMxNTUwODogRml4IHRoZSBkb2NzdHJpbmcgZm9yIGBfX2ltcG9ydF9fKClgIHRvIGhhdmUgdGhlIHByb3BlciBkZWZhdWx0CiAgIHZhbHVlIG9mIDAgZm9yICdsZXZlbCcgYW5kIHRvIG5vdCBtZW50aW9uIG5lZ2F0aXZlIGxldmVscyBzaW5jZSB0aGV5IGFyZSBub3QKICAgc3VwcG9ydGVkLgogCkBAIC0zMTcsMTcgKzMxMSwxNyBAQAogICBieXRlIGNvZGUgZmlsZXMpIGVxdWFsIGJldHdlZW4gMzItYml0IGFuZCA2NC1iaXQgc3lzdGVtcy4KIAogLSBJc3N1ZSAjMTY5MjMzNTogTW92ZSBpbml0aWFsIGV4Y2VwdGlvbiBhcmdzIGFzc2lnbm1lbnQgdG8KLSAgIkJhc2VFeGNlcHRpb24uX19uZXdfXyIgdG8gaGVscCBwaWNrbGluZyBvZiBuYWl2ZSBzdWJjbGFzc2VzLgorICBgQmFzZUV4Y2VwdGlvbi5fX25ld19fKClgIHRvIGhlbHAgcGlja2xpbmcgb2YgbmFpdmUgc3ViY2xhc3Nlcy4KIAotLSBJc3N1ZSAjMTI4MzQ6IEZpeCBQeUJ1ZmZlcl9Ub0NvbnRpZ3VvdXMoKSBmb3Igbm9uLWNvbnRpZ3VvdXMgYXJyYXlzLgorLSBJc3N1ZSAjMTI4MzQ6IEZpeCBgUHlCdWZmZXJfVG9Db250aWd1b3VzKClgIGZvciBub24tY29udGlndW91cyBhcnJheXMuCiAKLS0gSXNzdWUgIzE1NDU2OiBGaXggY29kZSBfX3NpemVvZl9fIGFmdGVyICMxMjM5OSBjaGFuZ2UuICBQYXRjaCBieSBTZXJoaXkKKy0gSXNzdWUgIzE1NDU2OiBGaXggY29kZSBgX19zaXplb2ZfXygpYCBhZnRlciAjMTIzOTkgY2hhbmdlLiAgUGF0Y2ggYnkgU2VyaGl5CiAgIFN0b3JjaGFrYS4KIAogLSBJc3N1ZSAjMTU0MDQ6IFJlZmxlYWsgaW4gUHlNZXRob2RPYmplY3QgcmVwci4KIAotLSBJc3N1ZSAjMTUzOTQ6IEFuIGlzc3VlIGluIFB5TW9kdWxlX0NyZWF0ZSB0aGF0IGNhdXNlZCByZWZlcmVuY2VzIHRvIGJlIGxlYWtlZAotICBvbiBzb21lIGVycm9yIHBhdGhzIGhhcyBiZWVuIGZpeGVkLiAgUGF0Y2ggYnkgSnVsaWEgTGF3YWxsLgorLSBJc3N1ZSAjMTUzOTQ6IEFuIGlzc3VlIGluIGBQeU1vZHVsZV9DcmVhdGUoKWAgdGhhdCBjYXVzZWQgcmVmZXJlbmNlcyB0byBiZQorICBsZWFrZWQgb24gc29tZSBlcnJvciBwYXRocyBoYXMgYmVlbiBmaXhlZC4gIFBhdGNoIGJ5IEp1bGlhIExhd2FsbC4KIAogLSBJc3N1ZSAjMTUzNjg6IEFuIGlzc3VlIHRoYXQgY2F1c2VkIGJ5dGVjb2RlIGdlbmVyYXRpb24gdG8gYmUgbm9uLWRldGVybWluaXN0aWMKICAgaGFzIGJlZW4gZml4ZWQuCkBAIC0zMzUsNyArMzI5LDcgQEAKIC0gSXNzdWUgIzE1MjAyOiBDb25zaXN0ZW50bHkgdXNlIHRoZSBuYW1lICJmb2xsb3dfc3ltbGlua3MiIGZvciBuZXcgcGFyYW1ldGVycwogICBpbiBvcyBhbmQgc2h1dGlsIGZ1bmN0aW9ucy4KIAotLSBJc3N1ZSAjMTUzMTQ6IF9fbWFpbl9fLl9fbG9hZGVyX18gaXMgbm93IHNldCBjb3JyZWN0bHkgZHVyaW5nIGludGVycHJldGVyCistIElzc3VlICMxNTMxNDogYGBfX21haW5fXy5fX2xvYWRlcl9fYGAgaXMgbm93IHNldCBjb3JyZWN0bHkgZHVyaW5nIGludGVycHJldGVyCiAgIHN0YXJ0dXAuCiAKIC0gSXNzdWUgIzE1MTExOiBXaGVuIGEgbW9kdWxlIGltcG9ydGVkIHVzaW5nICdmcm9tIGltcG9ydCcgaGFzIGFuIEltcG9ydEVycm9yCkBAIC0zNTAsNTcgKzM0NCw2MiBAQAogLSBJc3N1ZSAjMTUxMTA6IEZpeCB0aGUgdHJhY2ViYWNrcyBnZW5lcmF0ZWQgYnkgImltcG9ydCB4eHgiIHRvIG5vdCBzaG93IHRoZQogICBpbXBvcnRsaWIgc3RhY2sgZnJhbWVzLgogCistIElzc3VlICMxNjM2OTogR2xvYmFsIFB5VHlwZU9iamVjdHMgbm90IGluaXRpYWxpemVkIHdpdGggUHlUeXBlX1JlYWR5KC4uLikuCisKIC0gSXNzdWUgIzE1MDIwOiBUaGUgcHJvZ3JhbSBuYW1lIHVzZWQgdG8gc2VhcmNoIGZvciBQeXRob24ncyBwYXRoIGlzIG5vdwogICAicHl0aG9uMyIgdW5kZXIgVW5peCwgbm90ICJweXRob24iLgogCi0tIElzc3VlICMxNTAzMzogRml4IHRoZSBleGl0IHN0YXR1cyBidWcgd2hlbiBtb2R1bGVzIGludm9rZWQgdXNpbmcgLW0gc3dpdGgsCistIElzc3VlICMxNTg5NzogemlwaW1wb3J0LmMgZG9lc24ndCBjaGVjayByZXR1cm4gdmFsdWUgb2YgZnNlZWsoKS4KKyAgUGF0Y2ggYnkgRmVsaXBlIENydXouCisKKy0gSXNzdWUgIzE1MDMzOiBGaXggdGhlIGV4aXQgc3RhdHVzIGJ1ZyB3aGVuIG1vZHVsZXMgaW52b2tlZCB1c2luZyAtbSBzd2l0Y2gsCiAgIHJldHVybiB0aGUgcHJvcGVyIGZhaWx1cmUgcmV0dXJuIHZhbHVlICgxKS4gUGF0Y2ggY29udHJpYnV0ZWQgYnkgSmVmZiBLbnVwcC4KIAotLSBJc3N1ZSAjMTUyMjk6IEFuIE9TRXJyb3Igc3ViY2xhc3Mgd2hvc2UgX19pbml0X18gZG9lc24ndCBjYWxsIGJhY2sKKy0gSXNzdWUgIzE1MjI5OiBBbiBgT1NFcnJvcmAgc3ViY2xhc3Mgd2hvc2UgX19pbml0X18gZG9lc24ndCBjYWxsIGJhY2sKICAgT1NFcnJvci5fX2luaXRfXyBjb3VsZCBwcm9kdWNlIGluY29tcGxldGUgaW5zdGFuY2VzLCBsZWFkaW5nIHRvIGNyYXNoZXMgd2hlbgogICBjYWxsaW5nIHN0cigpIG9uIHRoZW0uCiAKLS0gSXNzdWUgMTUzMDc6IFZpcnR1YWwgZW52aXJvbm1lbnRzIG5vdyB1c2Ugc3ltbGlua3Mgd2l0aCBmcmFtZXdvcmsgYnVpbGRzIG9uCistIElzc3VlICMxNTMwNzogVmlydHVhbCBlbnZpcm9ubWVudHMgbm93IHVzZSBzeW1saW5rcyB3aXRoIGZyYW1ld29yayBidWlsZHMgb24KICAgTWFjIE9TIFgsIGxpa2Ugb3RoZXIgUE9TSVggYnVpbGRzLgogCiBMaWJyYXJ5CiAtLS0tLS0tCiAKLS0gSXNzdWUgIzE1NDI0OiBBZGQgYSBfX3NpemVvZl9fIGltcGxlbWVudGF0aW9uIGZvciBhcnJheSBvYmplY3RzLiAgUGF0Y2ggYnkKKy0gSXNzdWUgIzE0NTkwOiBjb25maWdwYXJzZXIgbm93IGNvcnJlY3RseSBzdHJpcHMgaW5saW5lIGNvbW1lbnRzIHdoZW4gZGVsaW1pdGVyCisgIG9jY3VycyBlYXJsaWVyIHdpdGhvdXQgcHJlY2VkaW5nIHNwYWNlLgorCistIElzc3VlICMxNTQyNDogQWRkIGEgYF9fc2l6ZW9mX18oKWAgaW1wbGVtZW50YXRpb24gZm9yIGFycmF5IG9iamVjdHMuICBQYXRjaCBieQogICBMdWR3aWcgSMOkaG5lLgogCiAtIElzc3VlICMxNTU3NjogQWxsb3cgZXh0ZW5zaW9uIG1vZHVsZXMgdG8gYWN0IGFzIGEgcGFja2FnZSdzIF9faW5pdF9fIG1vZHVsZS4KIAotLSBJc3N1ZSAjMTU1MDI6IEhhdmUgaW1wb3J0bGliLmludmFsaWRhdGVfY2FjaGVzKCkgd29yayBvbiBzeXMubWV0YV9wYXRoIGluc3RlYWQKLSAgb2Ygc3lzLnBhdGhfaW1wb3J0ZXJfY2FjaGUuCistIElzc3VlICMxNTUwMjogSGF2ZSBgaW1wb3J0bGliLmludmFsaWRhdGVfY2FjaGVzKClgIHdvcmsgb24gYHN5cy5tZXRhX3BhdGhgCisgIGluc3RlYWQgb2YgYHN5cy5wYXRoX2ltcG9ydGVyX2NhY2hlYC4KIAogLSBJc3N1ZSAjMTUxNjM6IFB5ZG9jIHNob3VsZG4ndCBsaXN0IF9fbG9hZGVyX18gYXMgbW9kdWxlIGRhdGEuCiAKIC0gSXNzdWUgIzE1NDcxOiBEbyBub3QgdXNlIG11dGFibGUgb2JqZWN0cyBhcyBkZWZhdWx0cyBmb3IKLSAgaW1wb3J0bGliLl9faW1wb3J0X18oKS4KKyAgYGltcG9ydGxpYi5fX2ltcG9ydF9fKClgLgogCiAtIElzc3VlICMxNTU1OTogVG8gYXZvaWQgYSBwcm9ibGVtYXRpYyBmYWlsdXJlIG1vZGUgd2hlbiBwYXNzZWQgdG8gdGhlIGJ5dGVzCi0gIGNvbnN0cnVjdG9yLCBvYmplY3RzIGluIHRoZSBpcGFkZHJlc3MgbW9kdWxlIG5vIGxvbmdlciBpbXBsZW1lbnQgX19pbmRleF9fCi0gICh0aGV5IHN0aWxsIGltcGxlbWVudCBfX2ludF9fIGFzIGFwcHJvcHJpYXRlKQorICBjb25zdHJ1Y3Rvciwgb2JqZWN0cyBpbiB0aGUgaXBhZGRyZXNzIG1vZHVsZSBubyBsb25nZXIgaW1wbGVtZW50IGBfX2luZGV4X18oKWAKKyAgKHRoZXkgc3RpbGwgaW1wbGVtZW50IGBfX2ludF9fKClgIGFzIGFwcHJvcHJpYXRlKS4KIAogLSBJc3N1ZSAjMTU1NDY6IEZpeCBoYW5kbGluZyBvZiBwYXRob2xvZ2ljYWwgaW5wdXQgZGF0YSBpbiB0aGUgcGVlaygpIGFuZAogICByZWFkMSgpIG1ldGhvZHMgb2YgdGhlIEJaMkZpbGUsIEd6aXBGaWxlIGFuZCBMWk1BRmlsZSBjbGFzc2VzLgogCi0tIElzc3VlICMxMzA1MjogRml4IElETEUgY3Jhc2hpbmcgd2hlbiByZXBsYWNlIHN0cmluZyBpbiBTZWFyY2gvUmVwbGFjZSBkaWFsb2cKLSAgZW5kZWQgd2l0aCAnXCcuIFBhdGNoIGJ5IFJvZ2VyIFNlcnd5LgorLSBJc3N1ZSAjMTI2NTU6IEluc3RlYWQgb2YgcmVxdWlyaW5nIGEgY3VzdG9tIHR5cGUsIGBvcy5zY2hlZF9nZXRhZmZpbml0eSgpYCBhbmQKKyAgYG9zLnNjaGVkX3NldGFmZmluaXR5KClgIG5vdyB1c2UgcmVndWxhciBzZXRzIG9mIGludGVnZXJzIHRvIHJlcHJlc2VudCB0aGUKKyAgQ1BVcyBhIHByb2Nlc3MgaXMgcmVzdHJpY3RlZCB0by4KIAotLSBJc3N1ZSAjMTI2NTU6IEluc3RlYWQgb2YgcmVxdWlyaW5nIGEgY3VzdG9tIHR5cGUsIG9zLnNjaGVkX2dldGFmZmluaXR5IGFuZAotICBvcy5zY2hlZF9zZXRhZmZpbml0eSBub3cgdXNlIHJlZ3VsYXIgc2V0cyBvZiBpbnRlZ2VycyB0byByZXByZXNlbnQgdGhlIENQVXMgYQotICBwcm9jZXNzIGlzIHJlc3RyaWN0ZWQgdG8uCi0KLS0gSXNzdWUgIzE1NTM4OiBGaXggY29tcGlsYXRpb24gb2YgdGhlIGdldG5hbWVpbmZvKCkgLyBnZXRhZGRyaW5mbygpIGVtdWxhdGlvbgotICBjb2RlLiAgUGF0Y2ggYnkgUGhpbGlwcCBIYWdlbWVpc3Rlci4KKy0gSXNzdWUgIzE1NTM4OiBGaXggY29tcGlsYXRpb24gb2YgdGhlIGBzb2NrZXQuZ2V0bmFtZWluZm8oKWAgLworICBgc29ja2V0LmdldGFkZHJpbmZvKClgIGVtdWxhdGlvbiBjb2RlLiAgUGF0Y2ggYnkgUGhpbGlwcCBIYWdlbWVpc3Rlci4KIAogLSBJc3N1ZSAjMTU1MTk6IFByb3Blcmx5IGV4cG9zZSBXaW5kb3dzUmVnaXN0cnlGaW5kZXIgaW4gaW1wb3J0bGliIChhbmQgdXNlIHRoZQotICBjb3JyZWN0IHRlcm0gZm9yIGl0KS4gT3JpZ2luYWwgcGF0Y2ggYnkgRXJpYyBTbm93LgorICBjb3JyZWN0IHRlcm0gZm9yIGl0KS4gIE9yaWdpbmFsIHBhdGNoIGJ5IEVyaWMgU25vdy4KIAogLSBJc3N1ZSAjMTU1MDI6IEJyaW5nIHRoZSBpbXBvcnRsaWIgQUJDcyBpbnRvIGxpbmUgd2l0aCB0aGUgY3VycmVudCBzdGF0ZSBvZiB0aGUKLSAgaW1wb3J0IHByb3RvY29scyBnaXZlbiBQRVAgNDIwLiBPcmlnaW5hbCBwYXRjaCBieSBFcmljIFNub3cuCisgIGltcG9ydCBwcm90b2NvbHMgZ2l2ZW4gUEVQIDQyMC4gIE9yaWdpbmFsIHBhdGNoIGJ5IEVyaWMgU25vdy4KIAogLSBJc3N1ZSAjMTU0OTk6IExhdW5jaGluZyBhIHdlYmJyb3dzZXIgaW4gVW5peCB1c2VkIHRvIHNsZWVwIGZvciBhIGZldyBzZWNvbmRzLgogICBPcmlnaW5hbCBwYXRjaCBieSBBbnRvbiBCYXJrb3Zza3kuCkBAIC00MDgsMzcgKzQwNywzNiBAQAogLSBJc3N1ZSAjMTU0NjM6IFRoZSBmYXVsdGhhbmRsZXIgbW9kdWxlIHRydW5jYXRlcyBzdHJpbmdzIHRvIDUwMCBjaGFyYWN0ZXJzLAogICBpbnN0ZWFkIG9mIDEwMCwgdG8gYmUgYWJsZSB0byBkaXNwbGF5IGxvbmcgZmlsZSBwYXRocy4KIAotLSBJc3N1ZSAjNjA1NjogTWFrZSBtdWx0aXByb2Nlc3NpbmcgdXNlIHNldGJsb2NraW5nKFRydWUpIG9uIHRoZSBzb2NrZXRzIGl0CistIElzc3VlICM2MDU2OiBNYWtlIGBtdWx0aXByb2Nlc3NpbmdgIHVzZSBzZXRibG9ja2luZyhUcnVlKSBvbiB0aGUgc29ja2V0cyBpdAogICB1c2VzLiAgT3JpZ2luYWwgcGF0Y2ggYnkgSiBEZXJlayBXaWxzb24uCiAKIC0gSXNzdWUgIzE1MzY0OiBGaXggc3lzY29uZmlnLmdldF9jb25maWdfdmFyKCdzcmNkaXInKSB0byBiZSBhbiBhYnNvbHV0ZSBwYXRoLgogCi0tIElzc3VlICMxNTA0MTogVXBkYXRlICJzZWUgYWxzbyIgbGlzdCBpbiB0a2ludGVyIGRvY3VtZW50YXRpb24uCistIElzc3VlICMxNTQxMzogYG9zLnRpbWVzKClgIGhhZCBkaXNhcHBlYXJlZCB1bmRlciBXaW5kb3dzLgogCi0tIElzc3VlICMxNTQxMzogb3MudGltZXMoKSBoYWQgZGlzYXBwZWFyZWQgdW5kZXIgV2luZG93cy4KLQotLSBJc3N1ZSAjMTU0MDI6IEFuIGlzc3VlIGluIHRoZSBzdHJ1Y3QgbW9kdWxlIHRoYXQgY2F1c2VkIHN5cy5nZXRzaXplb2YgdG8KKy0gSXNzdWUgIzE1NDAyOiBBbiBpc3N1ZSBpbiB0aGUgc3RydWN0IG1vZHVsZSB0aGF0IGNhdXNlZCBgc3lzLmdldHNpemVvZigpYCB0bwogICByZXR1cm4gaW5jb3JyZWN0IHJlc3VsdHMgZm9yIHN0cnVjdC5TdHJ1Y3QgaW5zdGFuY2VzIGhhcyBiZWVuIGZpeGVkLiAgSW5pdGlhbAogICBwYXRjaCBieSBTZXJoaXkgU3RvcmNoYWthLgogCi0tIElzc3VlICMxNTIzMjogV2hlbiBtYW5nbGVfZnJvbSBpcyBUcnVlLCBlbWFpbC5HZW5lcmF0b3Igbm93IGNvcnJlY3RseSBtYW5nbGVzCi0gIGxpbmVzIHRoYXQgc3RhcnQgd2l0aCAnRnJvbSAnIHRoYXQgb2NjdXIgaW4gYSBNSU1FIHByZWFtYmxlIG9yIGVwaWxvZ3VlLgorLSBJc3N1ZSAjMTUyMzI6IFdoZW4gbWFuZ2xlX2Zyb20gaXMgVHJ1ZSwgYGVtYWlsLkdlbmVyYXRvcmAgbm93IGNvcnJlY3RseQorICBtYW5nbGVzIGxpbmVzIHRoYXQgc3RhcnQgd2l0aCAnRnJvbSAnIHRoYXQgb2NjdXIgaW4gYSBNSU1FIHByZWFtYmxlIG9yCisgIGVwaWxvZ3VlLgogCiAtIElzc3VlICMxNTA5NDogSW5jb3JyZWN0bHkgcGxhY2VkICNlbmRpZiBpbiBfdGtpbnRlci5jLiAgUGF0Y2ggYnkgU2VyaGl5CiAgIFN0b3JjaGFrYS4KIAotLSBJc3N1ZSAjMTM5MjI6IGFyZ3BhcnNlIG5vIGxvbmdlciBpbmNvcnJlY3RseSBzdHJpcHMgJy0tJ3MgdGhhdCBhcHBlYXIgYWZ0ZXIKKy0gSXNzdWUgIzEzOTIyOiBgYXJncGFyc2VgIG5vIGxvbmdlciBpbmNvcnJlY3RseSBzdHJpcHMgJy0tJ3MgdGhhdCBhcHBlYXIgYWZ0ZXIKICAgdGhlIGZpcnN0IG9uZS4KIAotLSBJc3N1ZSAjMTIzNTM6IGFyZ3BhcnNlIG5vdyBjb3JyZWN0bHkgaGFuZGxlcyBudWxsIGFyZ3VtZW50IHZhbHVlcy4KKy0gSXNzdWUgIzEyMzUzOiBgYXJncGFyc2VgIG5vdyBjb3JyZWN0bHkgaGFuZGxlcyBudWxsIGFyZ3VtZW50IHZhbHVlcy4KIAogLSBJc3N1ZSAjMTAwMTcsIGlzc3VlICMxNDk5ODogRml4IFR5cGVFcnJvciB1c2luZyBwcHJpbnQgb24gZGljdGlvbmFyaWVzIHdpdGgKICAgdXNlci1kZWZpbmVkIHR5cGVzIGFzIGtleXMgb3Igb3RoZXIgdW5vcmRlcmFibGUga2V5cy4KIAotLSBJc3N1ZSAjMTUzOTc6IGluc3BlY3QuZ2V0bW9kdWxlbmFtZSgpIGlzIG5vdyBiYXNlZCBkaXJlY3RseSBvbiBpbXBvcnRsaWIgdmlhIGEKLSAgbmV3IGltcG9ydGxpYi5tYWNoaW5lcnkuYWxsX3N1ZmZpeGVzKCkgQVBJLgorLSBJc3N1ZSAjMTUzOTc6IGBpbnNwZWN0LmdldG1vZHVsZW5hbWUoKWAgaXMgbm93IGJhc2VkIGRpcmVjdGx5IG9uIGltcG9ydGxpYiB2aWEKKyAgYSBuZXcgYGltcG9ydGxpYi5tYWNoaW5lcnkuYWxsX3N1ZmZpeGVzKClgIEFQSS4KIAotLSBJc3N1ZSAjMTQ2MzU6IHRlbG5ldGxpYiB3aWxsIHVzZSBwb2xsKCkgcmF0aGVyIHRoYW4gc2VsZWN0KCkgd2hlbiBwb3NzaWJsZSB0bworLSBJc3N1ZSAjMTQ2MzU6IGB0ZWxuZXRsaWJgIHdpbGwgdXNlIHBvbGwoKSByYXRoZXIgdGhhbiBzZWxlY3QoKSB3aGVuIHBvc3NpYmxlIHRvCiAgIGF2b2lkIGZhaWxpbmcgZHVlIHRvIHRoZSBzZWxlY3QoKSBmaWxlIGRlc2NyaXB0b3IgbGltaXQuCiAKIC0gSXNzdWUgIzE1MTgwOiBDbGFyaWZ5IHBvc2l4cGF0aC5qb2luKCkgZXJyb3IgbWVzc2FnZSB3aGVuIG1peGluZyBzdHIgJiBieXRlcy4KQEAgLTQ1NSw3ICs0NTMsNyBAQAogLSBJc3N1ZSAjMTUyMzM6IFB5dGhvbiBub3cgZ3VhcmFudGVlcyB0aGF0IGNhbGxhYmxlcyByZWdpc3RlcmVkIHdpdGggdGhlIGF0ZXhpdAogICBtb2R1bGUgd2lsbCBiZSBjYWxsZWQgaW4gYSBkZXRlcm1pbmlzdGljIG9yZGVyLgogCi0tIElzc3VlICMxNTIzODogc2h1dGlsLmNvcHlzdGF0IG5vdyBjb3BpZXMgTGludXggImV4dGVuZGVkIGF0dHJpYnV0ZXMiLgorLSBJc3N1ZSAjMTUyMzg6IGBzaHV0aWwuY29weXN0YXQoKWAgbm93IGNvcGllcyBMaW51eCAiZXh0ZW5kZWQgYXR0cmlidXRlcyIuCiAKIC0gSXNzdWUgIzE1MjMwOiBydW5weS5ydW5fcGF0aCBub3cgY29ycmVjdGx5IHNldHMgX19wYWNrYWdlX18gYXMgZGVzY3JpYmVkIGluCiAgIHRoZSBkb2N1bWVudGF0aW9uLgpAQCAtNDY1LDQyICs0NjMsNDIgQEAKIC0gSXNzdWUgIzE1Mjk0OiBGaXggYSByZWdyZXNzaW9uIGluIHBrZ3V0aWwuZXh0ZW5kX3BhdGgoKSdzIGhhbmRsaW5nIG9mIG5lc3RlZAogICBuYW1lc3BhY2UgcGFja2FnZXMuCiAKLS0gSXNzdWUgIzE1MDU2OiBpbXAuY2FjaGVfZnJvbV9zb3VyY2UoKSBhbmQgc291cmNlX2Zyb21fY2FjaGUoKSByYWlzZQotICBOb3RJbXBsZW1lbnRlZEVycm9yIHdoZW4gc3lzLmltcGxlbWVudGF0aW9uLmNhY2hlX3RhZyBpcyBzZXQgdG8gTm9uZS4KKy0gSXNzdWUgIzE1MDU2OiBgaW1wLmNhY2hlX2Zyb21fc291cmNlKClgIGFuZCBgaW1wLnNvdXJjZV9mcm9tX2NhY2hlKClgIHJhaXNlCisgIE5vdEltcGxlbWVudGVkRXJyb3Igd2hlbiBgc3lzLmltcGxlbWVudGF0aW9uLmNhY2hlX3RhZ2AgaXMgc2V0IHRvIE5vbmUuCiAKLS0gSXNzdWUgIzE1MjU2OiBHcmFtbWF0aWNhbCBtaXN0YWtlIGluIGV4Y2VwdGlvbiByYWlzZWQgYnkgaW1wLmZpbmRfbW9kdWxlKCkuCistIElzc3VlICMxNTI1NjogR3JhbW1hdGljYWwgbWlzdGFrZSBpbiBleGNlcHRpb24gcmFpc2VkIGJ5IGBpbXAuZmluZF9tb2R1bGUoKWAuCiAKLS0gSXNzdWUgIzU5MzE6IHdzZ2lyZWYgZW52aXJvbiB2YXJpYWJsZSBTRVJWRVJfU09GVFdBUkUgd2lsbCBzcGVjaWZ5IGFuCistIElzc3VlICM1OTMxOiBgd3NnaXJlZmAgZW52aXJvbiB2YXJpYWJsZSBTRVJWRVJfU09GVFdBUkUgd2lsbCBzcGVjaWZ5IGFuCiAgIGltcGxlbWVudGF0aW9uIHNwZWNpZmljIHRlcm0gbGlrZSBDUHl0aG9uLCBKeXRob24gaW5zdGVhZCBvZiBnZW5lcmljICJQeXRob24iLgogCiAtIElzc3VlICMxMzI0ODogUmVtb3ZlIG9ic29sZXRlIGFyZ3VtZW50ICJtYXhfYnVmZmVyX3NpemUiIG9mIEJ1ZmZlcmVkV3JpdGVyIGFuZAogICBCdWZmZXJlZFJXUGFpciwgZnJvbSB0aGUgaW8gbW9kdWxlLgogCi0tIElzc3VlICMxMzI0ODogUmVtb3ZlIG9ic29sZXRlIGFyZ3VtZW50ICJ2ZXJzaW9uIiBvZiBhcmdwYXJzZS5Bcmd1bWVudFBhcnNlci4KKy0gSXNzdWUgIzEzMjQ4OiBSZW1vdmUgb2Jzb2xldGUgYXJndW1lbnQgInZlcnNpb24iIG9mIGBhcmdwYXJzZS5Bcmd1bWVudFBhcnNlcmAuCiAKIC0gSXNzdWUgIzE0ODE0OiBJbXBsZW1lbnQgbW9yZSBjb25zaXN0ZW50IG9yZGVyaW5nIGFuZCBzb3J0aW5nIGJlaGF2aW91ciBmb3IKICAgaXBhZGRyZXNzIG9iamVjdHMuCiAKLS0gSXNzdWUgIzE0ODE0OiBpcGFkZHJlc3MgbmV0d29yayBvYmplY3RzIGNvcnJlY3RseSByZXR1cm4gTm90SW1wbGVtZW50ZWQgd2hlbgorLSBJc3N1ZSAjMTQ4MTQ6IGBpcGFkZHJlc3NgIG5ldHdvcmsgb2JqZWN0cyBjb3JyZWN0bHkgcmV0dXJuIE5vdEltcGxlbWVudGVkIHdoZW4KICAgY29tcGFyZWQgdG8gYXJiaXRyYXJ5IG9iamVjdHMgaW5zdGVhZCBvZiByYWlzaW5nIFR5cGVFcnJvci4KIAogLSBJc3N1ZSAjMTQ5OTA6IENvcnJlY3RseSBmYWlsIHdpdGggU3ludGF4RXJyb3Igb24gaW52YWxpZCBlbmNvZGluZyBkZWNsYXJhdGlvbi4KIAotLSBJc3N1ZSAjMTQ4MTQ6IGlwYWRkcmVzcyBub3cgcHJvdmlkZXMgbW9yZSBpbmZvcm1hdGl2ZSBlcnJvciBtZXNzYWdlcyB3aGVuCistIElzc3VlICMxNDgxNDogYGlwYWRkcmVzc2Agbm93IHByb3ZpZGVzIG1vcmUgaW5mb3JtYXRpdmUgZXJyb3IgbWVzc2FnZXMgd2hlbgogICBjb25zdHJ1Y3RpbmcgaW5zdGFuY2VzIGRpcmVjdGx5IChjaGFuZ2VzIHBlcm1pdHRlZCBkdXJpbmcgYmV0YSBkdWUgdG8KICAgcHJvdmlzaW9uYWwgQVBJIHN0YXR1cykuCiAKLS0gSXNzdWUgIzE1MjQ3OiBGaWxlSU8gbm93IHJhaXNlcyBhbiBlcnJvciB3aGVuIGdpdmVuIGEgZmlsZSBkZXNjcmlwdG9yIHBvaW50aW5nCi0gIHRvIGEgZGlyZWN0b3J5LgorLSBJc3N1ZSAjMTUyNDc6IGBpby5GaWxlSU9gIG5vdyByYWlzZXMgYW4gZXJyb3Igd2hlbiBnaXZlbiBhIGZpbGUgZGVzY3JpcHRvcgorICBwb2ludGluZyB0byBhIGRpcmVjdG9yeS4KIAogLSBJc3N1ZSAjMTUyNjE6IFN0b3Agb3Muc3RhdChmZCkgY3Jhc2hpbmcgb24gV2luZG93cyB3aGVuIGZkIG5vdCBvcGVuLgogCi0tIElzc3VlICMxNTE2NjogSW1wbGVtZW50IGltcC5nZXRfdGFnKCkgdXNpbmcgc3lzLmltcGxlbWVudGF0aW9uLmNhY2hlX3RhZy4KKy0gSXNzdWUgIzE1MTY2OiBJbXBsZW1lbnQgYGltcC5nZXRfdGFnKClgIHVzaW5nIGBzeXMuaW1wbGVtZW50YXRpb24uY2FjaGVfdGFnYC4KIAotLSBJc3N1ZSAjMTUyMTA6IENhdGNoIEtleUVycm9yIHdoZW4gaW1wb3J0bGliLl9faW5pdF9fIGNhbid0IGZpbmQKKy0gSXNzdWUgIzE1MjEwOiBDYXRjaCBLZXlFcnJvciB3aGVuIGBpbXBvcnRsaWIuX19pbml0X18oKWAgY2FuJ3QgZmluZAogICBfZnJvemVuX2ltcG9ydGxpYiBpbiBzeXMubW9kdWxlcywgbm90IEltcG9ydEVycm9yLgogCi0tIElzc3VlICMxNTAzMDogaW1wb3J0bGliLmFiYy5QeVB5Y0xvYWRlciBub3cgc3VwcG9ydHMgdGhlIG5ldyBzb3VyY2Ugc2l6ZQorLSBJc3N1ZSAjMTUwMzA6IGBpbXBvcnRsaWIuYWJjLlB5UHljTG9hZGVyYCBub3cgc3VwcG9ydHMgdGhlIG5ldyBzb3VyY2Ugc2l6ZQogICBoZWFkZXIgZmllbGQgaW4gLnB5YyBmaWxlcy4KIAogLSBJc3N1ZSAjNTM0NjogUHJlc2VydmUgcGVybWlzc2lvbnMgb2YgbWJveCwgTU1ERiBhbmQgQmFieWwgbWFpbGJveCBmaWxlcyBvbgpAQCAtNTEzLDcgKzUxMSw3IEBACiAgIHJlbmFtZWQgb3ZlciB0aGUgb2xkIGZpbGUgd2hlbiBmbHVzaCgpIGlzIGNhbGxlZCBvbiBhbiBtYm94LCBNTURGIG9yIEJhYnlsCiAgIG1haWxib3guCiAKLS0gSXNzdWUgMTA5MjQ6IEZpeGVkIGNyeXB0Lm1rc2FsdCgpIHRvIHVzZSBhIFJORyB0aGF0IGlzIHN1aXRhYmxlIGZvcgorLSBJc3N1ZSAjMTA5MjQ6IEZpeGVkIGBjcnlwdC5ta3NhbHQoKWAgdG8gdXNlIGEgUk5HIHRoYXQgaXMgc3VpdGFibGUgZm9yCiAgIGNyeXB0b2dyYXBoaWMgcHVycG9zZS4KIAogLSBJc3N1ZSAjMTUxODQ6IEVuc3VyZSBjb25zaXN0ZW50IHJlc3VsdHMgb2YgT1MgWCBjb25maWd1cmF0aW9uIHRhaWxvcmluZyBmb3IKQEAgLTUyNCwxMCArNTIyLDEwIEBACiBDIEFQSQogLS0tLS0KIAotLSBJc3N1ZSAjMTU2MTA6IFB5SW1wb3J0X0ltcG9ydE1vZHVsZUV4KCkgbm93IHVzZXMgYSAnbGV2ZWwnIG9mIDAgaW5zdGVhZCBvZiAtMS4KKy0gSXNzdWUgIzE1NjEwOiBgUHlJbXBvcnRfSW1wb3J0TW9kdWxlRXgoKWAgbm93IHVzZXMgYSAnbGV2ZWwnIG9mIDAgaW5zdGVhZCBvZiAtMS4KIAotLSBJc3N1ZXMgIzE1MTY5LCAjMTQ1OTk6IFN0cmlwIG91dCB0aGUgQyBpbXBsZW1lbnRhdGlvbiBvZgotICBpbXAuc291cmNlX2Zyb21fY2FjaGUoKSB1c2VkIGJ5IFB5SW1wb3J0X0V4ZWNDb2RlTW9kdWxlV2l0aFBhdGhuYW1lcygpIGFuZAorLSBJc3N1ZSAjMTUxNjksIGlzc3VlICMxNDU5OTogU3RyaXAgb3V0IHRoZSBDIGltcGxlbWVudGF0aW9uIG9mCisgIGBpbXAuc291cmNlX2Zyb21fY2FjaGUoKWAgdXNlZCBieSBQeUltcG9ydF9FeGVjQ29kZU1vZHVsZVdpdGhQYXRobmFtZXMoKSBhbmQKICAgdXNlZCB0aGUgUHl0aG9uIGNvZGUgaW5zdGVhZC4gTGVhZHMgdG8gUHlJbXBvcnRfRXhlY0NvZGVNb2R1bGVPYmplY3QoKSB0byBub3QKICAgdHJ5IHRvIGluZmVyIHRoZSBzb3VyY2UgcGF0aCBmcm9tIHRoZSBieXRlY29kZSBwYXRoIGFzCiAgIFB5SW1wb3J0X0V4ZWNDb2RlTW9kdWxlV2l0aFBhdGhuYW1lcygpIGRvZXMuCkBAIC01MzUsMTQgKzUzMywxNyBAQAogRXh0ZW5zaW9uIE1vZHVsZXMKIC0tLS0tLS0tLS0tLS0tLS0tCiAKLS0gSXNzdWUgIzE1Njc2OiBOb3cgIm1tYXAiIGNoZWNrIGZvciBlbXB0eSBmaWxlcyBiZWZvcmUgZG9pbmcgdGhlCi0gIG9mZnNldCBjaGVjay4gIFBhdGNoIGJ5IFN0ZXZlbiBXaWxsaXMuCi0KLS0gSXNzdWUgIzY0OTM6IEFuIGlzc3VlIGluIGN0eXBlcyBvbiBXaW5kb3dzIHRoYXQgY2F1c2VkIHN0cnVjdHVyZSBiaXRmaWVsZHMKLSAgb2YgdHlwZSBjdHlwZXMuY191aW50MzIgYW5kIHdpZHRoIDMyIHRvIGluY29ycmVjdGx5IGJlIHNldCBoYXMgYmVlbiBmaXhlZC4KKy0gSXNzdWUgIzY0OTM6IEFuIGlzc3VlIGluIGN0eXBlcyBvbiBXaW5kb3dzIHRoYXQgY2F1c2VkIHN0cnVjdHVyZSBiaXRmaWVsZHMgb2YKKyAgdHlwZSBgY3R5cGVzLmNfdWludDMyYCBhbmQgd2lkdGggMzIgdG8gaW5jb3JyZWN0bHkgYmUgc2V0IGhhcyBiZWVuIGZpeGVkLgogCiAtIElzc3VlICMxNTE5NDogVXBkYXRlIGxpYmZmaSB0byB0aGUgMy4wLjExIHJlbGVhc2UuCiAKK0lETEUKKy0tLS0KKworLSBJc3N1ZSAjMTMwNTI6IEZpeCBJRExFIGNyYXNoaW5nIHdoZW4gcmVwbGFjZSBzdHJpbmcgaW4gU2VhcmNoL1JlcGxhY2UgZGlhbG9nCisgIGVuZGVkIHdpdGggYGBcYGAuICBQYXRjaCBieSBSb2dlciBTZXJ3eS4KKwogVG9vbHMvRGVtb3MKIC0tLS0tLS0tLS0tCiAKQEAgLTU2Miw4ICs1NjMsMTAgQEAKIERvY3VtZW50YXRpb24KIC0tLS0tLS0tLS0tLS0KIAotLSBJc3N1ZSAjMTU0NDQ6IFVzZSBwcm9wZXIgc3BlbGxpbmcgZm9yIG5vbi1BU0NJSSBjb250cmlidXRvciBuYW1lcy4gIFBhdGNoCi0gIGJ5IFNlcmhpeSBTdG9yY2hha2EuCistIElzc3VlICMxNTA0MTogVXBkYXRlICJzZWUgYWxzbyIgbGlzdCBpbiB0a2ludGVyIGRvY3VtZW50YXRpb24uCisKKy0gSXNzdWUgIzE1NDQ0OiBVc2UgcHJvcGVyIHNwZWxsaW5nIGZvciBub24tQVNDSUkgY29udHJpYnV0b3IgbmFtZXMuICBQYXRjaCBieQorICBTZXJoaXkgU3RvcmNoYWthLgogCiAtIElzc3VlICMxNTI5NTogUmVvcmdhbml6ZSBhbmQgcmV3cml0ZSB0aGUgZG9jdW1lbnRhdGlvbiBvbiB0aGUgaW1wb3J0IHN5c3RlbS4KIApAQCAtNTc4LDI1ICs1ODEsMjkgQEAKICAgImNoYW5nZWQiIHNpbmNlIHRoZXkgd2lsbCBubyBsb25nZXIgd29yayB3aXRoIG1vZHVsZXMgZGlyZWN0bHkgaW1wb3J0ZWQgYnkKICAgaW1wb3J0IGl0c2VsZi4KIAotLSBJc3N1ZSAjMTM1NTc6IENsYXJpZnkgZWZmZWN0IG9mIGdpdmluZyB0d28gZGlmZmVyZW50IG5hbWVzcGFjZXMgdG8gZXhlYyBvcgotICBleGVjZmlsZSgpLgorLSBJc3N1ZSAjMTM1NTc6IENsYXJpZnkgZWZmZWN0IG9mIGdpdmluZyB0d28gZGlmZmVyZW50IG5hbWVzcGFjZXMgdG8gYGV4ZWMoKWAgb3IKKyAgYGV4ZWNmaWxlKClgLgogCi0tIElzc3VlICMxNTI1MDogRG9jdW1lbnQgdGhhdCBmaWxlY21wLmRpcmNtcCBjb21wYXJlcyBmaWxlcyBzaGFsbG93bHkuIFBhdGNoCistIElzc3VlICMxNTI1MDogRG9jdW1lbnQgdGhhdCBgZmlsZWNtcC5kaXJjbXAoKWAgY29tcGFyZXMgZmlsZXMgc2hhbGxvd2x5LiBQYXRjaAogICBjb250cmlidXRlZCBieSBDaHJpcyBKZXJkb25lay4KIAorLSBJc3N1ZSAjMTU0NDI6IEV4cG9zZSB0aGUgZGVmYXVsdCBsaXN0IG9mIGRpcmVjdG9yaWVzIGlnbm9yZWQgYnkKKyAgYGZpbGVjbXAuZGlyY21wKClgIGFzIGEgbW9kdWxlIGF0dHJpYnV0ZSwgYW5kIGV4cGFuZCB0aGUgbGlzdCB0byBtb3JlIG1vZGVybgorICB2YWx1ZXMuCisKIFRlc3RzCiAtLS0tLQogCi0tIElzc3VlICMxNTQ2NzogTW92ZSBoZWxwZXJzIGZvciBfX3NpemVvZl9fIHRlc3RzIGludG8gdGVzdF9zdXBwb3J0LiAgUGF0Y2ggYnkKLSAgU2VyaGl5IFN0b3JjaGFrYS4KKy0gSXNzdWUgIzE1NDY3OiBNb3ZlIGhlbHBlcnMgZm9yIGBfX3NpemVvZl9fKClgIHRlc3RzIGludG8gdGVzdF9zdXBwb3J0LiAgUGF0Y2gKKyAgYnkgU2VyaGl5IFN0b3JjaGFrYS4KIAogLSBJc3N1ZSAjMTUzMjA6IE1ha2UgaXRlcmF0aW5nIHRoZSBsaXN0IG9mIHRlc3RzIHRocmVhZC1zYWZlIHdoZW4gcnVubmluZyB0ZXN0cwogICBpbiBtdWx0aXByb2Nlc3MgbW9kZS4gUGF0Y2ggYnkgQ2hyaXMgSmVyZG9uZWsuCiAKLS0gSXNzdWUgIzE1MTY4OiBNb3ZlIGltcG9ydGxpYi50ZXN0IHRvIHRlc3QudGVzdF9pbXBvcnRsaWIuCistIElzc3VlICMxNTE2ODogTW92ZSBgaW1wb3J0bGliLnRlc3RgIHRvIGB0ZXN0LnRlc3RfaW1wb3J0bGliYC4KIAogLSBJc3N1ZSAjMTUwOTE6IFJlYWN0aXZhdGUgYSB0ZXN0IG9uIFVOSVggd2hpY2ggd2FzIGZhaWxpbmcgdGhhbmtzIHRvIGEKLSAgZm9yZ290dGVuIGltcG9ydGxpYi5pbnZhbGlkYXRlX2NhY2hlcygpIGNhbGwuCisgIGZvcmdvdHRlbiBgaW1wb3J0bGliLmludmFsaWRhdGVfY2FjaGVzKClgIGNhbGwuCiAKIC0gSXNzdWUgIzE1MjMwOiBBZG9wdGVkIGEgbW9yZSBzeXN0ZW1hdGljIGFwcHJvYWNoIGluIHRoZSBydW5weSB0ZXN0cy4KIApAQCAtNjI5LDYgKzYzNiw4IEBACiAKIC0gSXNzdWUgIzE0MDE4OiBGaXggT1MgWCBUY2wvVGsgZnJhbWV3b3JrIGNoZWNraW5nIHdoZW4gdXNpbmcgT1MgWCBTREtzLgogCistIElzc3VlICMxNjI1NjogT1MgWCBpbnN0YWxsZXIgbm93IHNldHMgY29ycmVjdCBwZXJtaXNzaW9ucyBmb3IgZG9jIGRpcmVjdG9yeS4KKwogLSBJc3N1ZSAjMTU0MzE6IEFkZCBfZnJlZXplX2ltcG9ydGxpYiBwcm9qZWN0IHRvIHJlZ2VuZXJhdGUgaW1wb3J0bGliLmggb24KICAgV2luZG93cy4gUGF0Y2ggYnkgS3Jpc3Rqw6FuIFZhbHVyIErDs25zc29uLgogCkBAIC02NjQsMTQgKzY3Myw5IEBACiAKIC0gSXNzdWUgIzExNjI2OiBBZGQgX1NpemVUIGZ1bmN0aW9ucyB0byBzdGFibGUgQUJJLgogCi0tIElzc3VlICMxNTE0NjogQWRkIFB5VHlwZV9Gcm9tU3BlY1dpdGhCYXNlcy4gUGF0Y2ggYnkgUm9iaW4gU2NocmVpYmVyLgotCiAtIElzc3VlICMxNTE0MjogRml4IHJlZmVyZW5jZSBsZWFrIHdoZW4gZGVhbGxvY2F0aW5nIGluc3RhbmNlcyBvZiB0eXBlcwogICBjcmVhdGVkIHVzaW5nIFB5VHlwZV9Gcm9tU3BlYygpLgogCi0tIElzc3VlICMxNTA0MjogQWRkIFB5U3RhdGVfQWRkTW9kdWxlIGFuZCBQeVN0YXRlX1JlbW92ZU1vZHVsZS4gQWRkIHZlcnNpb24KLSAgZ3VhcmQgZm9yIFB5X0xJTUlURURfQVBJIGFkZGl0aW9ucy4gUGF0Y2ggYnkgUm9iaW4gU2NocmVpYmVyLgotCiAtIElzc3VlICMxMDA1MzogRG9uJ3QgY2xvc2UgRkRzIHdoZW4gRmlsZUlPLl9faW5pdF9fIGZhaWxzLiBMb29zZWx5IGJhc2VkIG9uCiAgIHRoZSB3b3JrIGJ5IEhpcm9rYXp1IFlhbWFtb3RvLgogCkBAIC02OTksOSArNzAzLDYgQEAKIExpYnJhcnkKIC0tLS0tLS0KIAotLSBJc3N1ZSAjOTgwMzogRG9uJ3QgY2xvc2UgSURMRSBvbiBzYXZpbmcgaWYgYnJlYWtwb2ludCBpcyBvcGVuLgotICBQYXRjaCBieSBSb2dlciBTZXJ3eS4KLQogLSBJc3N1ZSAjMTIyODg6IENvbnNpZGVyICcwJyBhbmQgJzAuMCcgYXMgdmFsaWQgaW5pdGlhbHZhbHVlCiAgIGZvciB0a2ludGVyIFNpbXBsZURpYWxvZy4KIApAQCAtNzIwLDE0ICs3MjEsOCBAQAogLSBJc3N1ZSAjMTU1MTQ6IENvcnJlY3QgX19zaXplb2ZfXyBzdXBwb3J0IGZvciBjcHVfc2V0LgogICBQYXRjaCBieSBTZXJoaXkgU3RvcmNoYWthLgogCi0tIElzc3VlICMxNTE4NzogQnVnZml4OiByZW1vdmUgdGVtcG9yYXJ5IGRpcmVjdG9yaWVzIHRlc3Rfc2h1dGlsIHdhcyBsZWF2aW5nCi0gIGJlaGluZC4KLQogLSBJc3N1ZSAjMTUxNzc6IEFkZGVkIGRpcl9mZCBwYXJhbWV0ZXIgdG8gb3MuZndhbGsoKS4KIAotLSBJc3N1ZSAjMTUxNzY6IENsYXJpZmllZCBiZWhhdmlvciwgZG9jdW1lbnRhdGlvbiwgYW5kIGltcGxlbWVudGF0aW9uCi0gIG9mIG9zLmxpc3RkaXIoKS4KLQogLSBJc3N1ZSAjMTUwNjE6IFJlLWltcGxlbWVudGVkIGhtYWMuY29tcGFyZV9kaWdlc3QoKSBpbiBDIHRvIHByZXZlbnQgZnVydGhlcgogICB0aW1pbmcgYW5hbHlzaXMgYW5kIHRvIHN1cHBvcnQgYWxsIGJ1ZmZlciBwcm90b2NvbCBhd2FyZSBvYmplY3RzIGFzIHdlbGwgYXMKICAgQVNDSUkgb25seSBzdHIgaW5zdGFuY2VzIHNhZmVseS4KQEAgLTgyNywxMCArODIyLDYgQEAKIC0gSXNzdWUgIzE1MDA2OiBBbGxvdyBlcXVhbGl0eSBjb21wYXJpc29uIGJldHdlZW4gbmFpdmUgYW5kIGF3YXJlCiAgIHRpbWUgb3IgZGF0ZXRpbWUgb2JqZWN0cy4KIAotLSBJc3N1ZSAjMTQ5ODI6IERvY3VtZW50IHRoYXQgcGtndXRpbCdzIGl0ZXJhdGlvbiBmdW5jdGlvbnMgcmVxdWlyZSB0aGUKLSAgbm9uLXN0YW5kYXJkIGl0ZXJfbW9kdWxlcygpIG1ldGhvZCB0byBiZSBkZWZpbmVkIGJ5IGFuIGltcG9ydGVyIChzb21ldGhpbmcKLSAgdGhlIGltcG9ydGxpYiBpbXBvcnRlcnMgZG8gbm90IGRlZmluZSkuCi0KIC0gSXNzdWUgIzE1MDM2OiBNYWlsYm94IG5vIGxvbmdlciB0aHJvd3MgYW4gZXJyb3IgaWYgYSBmbHVzaCBpcyBkb25lCiAgIGJldHdlZW4gb3BlcmF0aW9ucyB3aGVuIHJlbW92aW5nIG9yIGNoYW5naW5nIG11bHRpcGxlIGl0ZW1zIGluIG1ib3gsCiAgIE1NREYsIG9yIEJhYnlsIG1haWxib3hlcy4KQEAgLTg5OCw5ICs4ODksNiBAQAogCiAtIElzc3VlICMxNDk2OTogQmV0dGVyIGhhbmRsaW5nIG9mIGV4Y2VwdGlvbiBjaGFpbmluZyBpbiBjb250ZXh0bGliLkV4aXRTdGFjawogCi0tIElzc3VlICMxNDk2MjogVXBkYXRlIHRleHQgY29sb3JpbmcgaW4gSURMRSBzaGVsbCB3aW5kb3cgYWZ0ZXIgY2hhbmdpbmcKLSAgb3B0aW9ucy4gIFBhdGNoIGJ5IFJvZ2VyIFNlcnd5LgotCiAtIElzc3VlICMxNDk2MzogQ29udmVydCBjb250ZXh0bGliLkV4aXRTdGFjay5fX2V4aXRfXyB0byB1c2UgYW4gaXRlcmF0aXZlCiAgIGFsZ29yaXRobSAoUGF0Y2ggYnkgQWxvbiBIb3JldikKIApAQCAtOTEzLDYgKzkwMSwxMSBAQAogQy1BUEkKIC0tLS0tCiAKKy0gSXNzdWUgIzE1MTQ2OiBBZGQgUHlUeXBlX0Zyb21TcGVjV2l0aEJhc2VzLiBQYXRjaCBieSBSb2JpbiBTY2hyZWliZXIuCisKKy0gSXNzdWUgIzE1MDQyOiBBZGQgUHlTdGF0ZV9BZGRNb2R1bGUgYW5kIFB5U3RhdGVfUmVtb3ZlTW9kdWxlLiBBZGQgdmVyc2lvbgorICBndWFyZCBmb3IgUHlfTElNSVRFRF9BUEkgYWRkaXRpb25zLiBQYXRjaCBieSBSb2JpbiBTY2hyZWliZXIuCisKIC0gSXNzdWUgIzEzNzgzOiBJbmFkdmVydGVudCBhZGRpdGlvbnMgdG8gdGhlIHB1YmxpYyBDIEFQSSBpbiB0aGUgUEVQIDM4MAogICBpbXBsZW1lbnRhdGlvbiBoYXZlIGVpdGhlciBiZWVuIHJlbW92ZWQgb3IgbWFya2VkIGFzIHByaXZhdGUgaW50ZXJmYWNlcy4KIApAQCAtOTIxLDkgKzkxNCwyNSBAQAogCiAtIElzc3VlICMxNTAwMDogU3VwcG9ydCB0aGUgInVuaXF1ZSIgeDMyIGFyY2hpdGVjdHVyZSBpbiBfcG9zaXhzdWJwcm9jZXNzLmMuCiAKK0lETEUKKy0tLS0KKworLSBJc3N1ZSAjOTgwMzogRG9uJ3QgY2xvc2UgSURMRSBvbiBzYXZpbmcgaWYgYnJlYWtwb2ludCBpcyBvcGVuLgorICBQYXRjaCBieSBSb2dlciBTZXJ3eS4KKworLSBJc3N1ZSAjMTQ5NjI6IFVwZGF0ZSB0ZXh0IGNvbG9yaW5nIGluIElETEUgc2hlbGwgd2luZG93IGFmdGVyIGNoYW5naW5nCisgIG9wdGlvbnMuICBQYXRjaCBieSBSb2dlciBTZXJ3eS4KKwogRG9jdW1lbnRhdGlvbgogLS0tLS0tLS0tLS0tLQogCistIElzc3VlICMxNTE3NjogQ2xhcmlmaWVkIGJlaGF2aW9yLCBkb2N1bWVudGF0aW9uLCBhbmQgaW1wbGVtZW50YXRpb24KKyAgb2Ygb3MubGlzdGRpcigpLgorCistIElzc3VlICMxNDk4MjogRG9jdW1lbnQgdGhhdCBwa2d1dGlsJ3MgaXRlcmF0aW9uIGZ1bmN0aW9ucyByZXF1aXJlIHRoZQorICBub24tc3RhbmRhcmQgaXRlcl9tb2R1bGVzKCkgbWV0aG9kIHRvIGJlIGRlZmluZWQgYnkgYW4gaW1wb3J0ZXIgKHNvbWV0aGluZworICB0aGUgaW1wb3J0bGliIGltcG9ydGVycyBkbyBub3QgZGVmaW5lKS4KKwogLSBJc3N1ZSAjMTUwODE6IERvY3VtZW50IFB5U3RhdGVfRmluZE1vZHVsZS4KICAgUGF0Y2ggYnkgUm9iaW4gU2NocmVpYmVyLgogCkBAIC05MzIsNiArOTQxLDkgQEAKIFRlc3RzCiAtLS0tLQogCistIElzc3VlICMxNTE4NzogQnVnZml4OiByZW1vdmUgdGVtcG9yYXJ5IGRpcmVjdG9yaWVzIHRlc3Rfc2h1dGlsIHdhcyBsZWF2aW5nCisgIGJlaGluZC4KKwogLSBJc3N1ZSAjMTQ3Njk6IHRlc3RfY2FwaSBub3cgaGFzIFNraXBpdGVtVGVzdCwgd2hpY2ggY2xldmVybHkgY2hlY2tzCiAgIGZvciAicGFyaXR5IiBiZXR3ZWVuIFB5QXJnX1BhcnNlVHVwbGUoKSBhbmQgdGhlIFB5dGhvbi9nZXRhcmdzLmMgc3RhdGljCiAgIGZ1bmN0aW9uIHNraXBpdGVtKCkgZm9yIGFsbCBwb3NzaWJsZSAiZm9ybWF0IHVuaXRzIi4KQEAgLTEwMjAsMzQgKzEwMzIsMTggQEAKIC0gSXNzdWUgIzE0NzAwOiBGaXggdHdvIGJyb2tlbiBhbmQgdW5kZWZpbmVkLWJlaGF2aW91ci1pbmR1Y2luZyBvdmVyZmxvdyBjaGVja3MKICAgaW4gb2xkLXN0eWxlIHN0cmluZyBmb3JtYXR0aW5nLgogCi0tIElzc3VlICMxNDcwNTogVGhlIFB5QXJnX1BhcnNlKCkgZmFtaWx5IG9mIGZ1bmN0aW9ucyBub3cgc3VwcG9ydCB0aGUgJ3AnIGZvcm1hdAotICB1bml0LCB3aGljaCBhY2NlcHRzIGEgImJvb2xlYW4gcHJlZGljYXRlIiBhcmd1bWVudC4gIEl0IGNvbnZlcnRzIGFueSBQeXRob24KLSAgdmFsdWUgaW50byBhbiBpbnRlZ2VyLS0wIGlmIGl0IGlzICJmYWxzZSIsIGFuZCAxIG90aGVyd2lzZS4KLQogTGlicmFyeQogLS0tLS0tLQogCiAtIElzc3VlICMxNDY5MDogVXNlIG1vbm90b25pYyBjbG9jayBpbnN0ZWFkIG9mIHN5c3RlbSBjbG9jayBpbiB0aGUgc2NoZWQsCiAgIHN1YnByb2Nlc3MgYW5kIHRyYWNlIG1vZHVsZXMuCiAKLS0gSXNzdWUgIzE0OTU4OiBDaGFuZ2UgSURMRSBzeXN0YXggaGlnaGxpZ2h0aW5nIHRvIHJlY29nbml6ZSBhbGwgc3RyaW5nIGFuZAotICBieXRlIGxpdGVyYWxzIHN1cHBvcnRlZCBpbiBQeXRob24gMy4zLgotCi0tIElzc3VlICMxMDk5NzogUHJldmVudCBhIGR1cGxpY2F0ZSBlbnRyeSBpbiBJRExFJ3MgIlJlY2VudCBGaWxlcyIgbWVudS4KLQogLSBJc3N1ZSAjMTQ0NDM6IFRlbGwgcnBtYnVpbGQgdG8gdXNlIHRoZSBjb3JyZWN0IHZlcnNpb24gb2YgUHl0aG9uIGluCiAgIGJkaXN0X3JwbS4gSW5pdGlhbCBwYXRjaCBieSBSb3NzIExhZ2Vyd2FsbC4KIAotLSBJc3N1ZSAjMTQ5Mjk6IFN0b3AgSWRsZSAzLnggZnJvbSBjbG9zaW5nIG9uIFVuaWNvZGUgZGVjb2RlIGVycm9ycyB3aGVuCi0gIGdyZXBwaW5nLiBQYXRjaCBieSBSb2dlciBTZXJ3eS4KLQogLSBJc3N1ZSAjMTI1MTU6IGVtYWlsIG5vdyByZWdpc3RlcnMgYSBkZWZlY3QgaWYgaXQgZ2V0cyB0byBFT0Ygd2hpbGUgcGFyc2luZwogICBhIE1JTUUgcGFydCB3aXRob3V0IHNlZWluZyB0aGUgY2xvc2luZyBNSU1FIGJvdW5kYXJ5LgogCi0tIElzc3VlICMxMjUxMDogQXR0ZW1wdGluZyB0byBnZXQgaW52YWxpZCB0b29sdGlwIG5vIGxvbmdlciBjbG9zZXMgSWRsZS4KLSAgT3RoZXIgdG9vbHRpcHNzIGhhdmUgYmVlbiBjb3JyZWN0ZWQgb3IgaW1wcm92ZWQgYW5kIHRoZSBudW1iZXIgb2YgdGVzdHMKLSAgaGFzIGJlZW4gdHJpcGxlZC4gT3JpZ2luYWwgcGF0Y2ggYnkgUm9nZXIgU2Vyd3kuCi0KIC0gSXNzdWUgIzE2NzI1Njg6IGVtYWlsIG5vdyBhbHdheXMgZGVjb2RlcyBiYXNlNjQgcGF5bG9hZHMsIGFkZGluZyBwYWRkaW5nIGFuZAogICBpZ25vcmluZyBub24tYmFzZTY0LWFscGhhYmV0IGNoYXJhY3RlcnMgaWYgbmVlZGVkLCBhbmQgcmVnaXN0ZXJpbmcgZGVmZWN0cwogICBmb3IgYW55IHN1Y2ggcHJvYmxlbXMuCkBAIC0xMDgxLDkgKzEwNzcsNiBAQAogLSBJc3N1ZSAjMTQ1NDg6IE1ha2UgbXVsdGlwcm9jZXNzaW5nIGZpbmFsaXplcnMgY2hlY2sgcGlkIGJlZm9yZQogICBydW5uaW5nIHRvIGNvcGUgd2l0aCBwb3NzaWJpbGl0eSBvZiBnYyBydW5uaW5nIGp1c3QgYWZ0ZXIgZm9yay4KIAotLSBJc3N1ZSAjMTQ4NjM6IFVwZGF0ZSB0aGUgZG9jdW1lbnRhdGlvbiBvZiBvcy5mZG9wZW4oKSB0byByZWZsZWN0IHRoZQotICBmYWN0IHRoYXQgaXQncyBvbmx5IGEgdGhpbiB3cmFwcGVyIGFyb3VuZCBvcGVuKCkgYW55bW9yZS4KLQogLSBJc3N1ZSAjMTQwMzY6IEFkZCBhbiBhZGRpdGlvbmFsIGNoZWNrIHRvIHZhbGlkYXRlIHRoYXQgcG9ydCBpbiB1cmxwYXJzZSBkb2VzCiAgIG5vdCBnbyBpbiBpbGxlZ2FsIHJhbmdlIGFuZCByZXR1cm5zIE5vbmUuCiAKQEAgLTEyMTAsNiArMTIwMywyMSBAQAogLSBJc3N1ZSAjMTQxMjcgYW5kICMxMDE0ODogc2h1dGlsLmNvcHlzdGF0IG5vdyBwcmVzZXJ2ZXMgZXhhY3QgbXRpbWUgYW5kIGF0aW1lCiAgIG9uIGZpbGVzeXN0ZW1zIHByb3ZpZGluZyBuYW5vc2Vjb25kIHJlc29sdXRpb24uCiAKK0lETEUKKy0tLS0KKworLSBJc3N1ZSAjMTQ5NTg6IENoYW5nZSBJRExFIHN5c3RheCBoaWdobGlnaHRpbmcgdG8gcmVjb2duaXplIGFsbCBzdHJpbmcgYW5kCisgIGJ5dGUgbGl0ZXJhbHMgc3VwcG9ydGVkIGluIFB5dGhvbiAzLjMuCisKKy0gSXNzdWUgIzEwOTk3OiBQcmV2ZW50IGEgZHVwbGljYXRlIGVudHJ5IGluIElETEUncyAiUmVjZW50IEZpbGVzIiBtZW51LgorCistIElzc3VlICMxNDkyOTogU3RvcCBJRExFIDMueCBmcm9tIGNsb3Npbmcgb24gVW5pY29kZSBkZWNvZGUgZXJyb3JzIHdoZW4KKyAgZ3JlcHBpbmcuIFBhdGNoIGJ5IFJvZ2VyIFNlcnd5LgorCistIElzc3VlICMxMjUxMDogQXR0ZW1wdGluZyB0byBnZXQgaW52YWxpZCB0b29sdGlwIG5vIGxvbmdlciBjbG9zZXMgSURMRS4KKyAgT3RoZXIgdG9vbHRpcHNzIGhhdmUgYmVlbiBjb3JyZWN0ZWQgb3IgaW1wcm92ZWQgYW5kIHRoZSBudW1iZXIgb2YgdGVzdHMKKyAgaGFzIGJlZW4gdHJpcGxlZC4gT3JpZ2luYWwgcGF0Y2ggYnkgUm9nZXIgU2Vyd3kuCisKIFRvb2xzL0RlbW9zCiAtLS0tLS0tLS0tLQogCkBAIC0xMjI4LDkgKzEyMzYsMTkgQEAKIAogLSBJc3N1ZSAjMTMyMTA6IFdpbmRvd3MgYnVpbGQgbm93IHVzZXMgVlMyMDEwLCBwb3J0ZWQgZnJvbSBWUzIwMDguCiAKK0MtQVBJCistLS0tLQorCistIElzc3VlICMxNDcwNTogVGhlIFB5QXJnX1BhcnNlKCkgZmFtaWx5IG9mIGZ1bmN0aW9ucyBub3cgc3VwcG9ydCB0aGUgJ3AnIGZvcm1hdAorICB1bml0LCB3aGljaCBhY2NlcHRzIGEgImJvb2xlYW4gcHJlZGljYXRlIiBhcmd1bWVudC4gIEl0IGNvbnZlcnRzIGFueSBQeXRob24KKyAgdmFsdWUgaW50byBhbiBpbnRlZ2VyLS0wIGlmIGl0IGlzICJmYWxzZSIsIGFuZCAxIG90aGVyd2lzZS4KKwogRG9jdW1lbnRhdGlvbgogLS0tLS0tLS0tLS0tLQogCistIElzc3VlICMxNDg2MzogVXBkYXRlIHRoZSBkb2N1bWVudGF0aW9uIG9mIG9zLmZkb3BlbigpIHRvIHJlZmxlY3QgdGhlCisgIGZhY3QgdGhhdCBpdCdzIG9ubHkgYSB0aGluIHdyYXBwZXIgYXJvdW5kIG9wZW4oKSBhbnltb3JlLgorCiAtIElzc3VlICMxNDU4ODogVGhlIGxhbmd1YWdlIHJlZmVyZW5jZSBub3cgYWNjdXJhdGVseSBkb2N1bWVudHMgdGhlIFB5dGhvbiAzCiAgIGNsYXNzIGRlZmluaXRpb24gcHJvY2Vzcy4gUGF0Y2ggYnkgTmljayBDb2dobGFuLgogCkBAIC0xMjc5LDkgKzEyOTcsNiBAQAogLSBJc3N1ZSAjMTQzMzk6IFNwZWVkIGltcHJvdmVtZW50cyB0byBiaW4sIG9jdCBhbmQgaGV4IGZ1bmN0aW9ucy4gIFBhdGNoIGJ5CiAgIFNlcmhpeSBTdG9yY2hha2EuCiAKLS0gSXNzdWUgIzE0MDk4OiBOZXcgZnVuY3Rpb25zIFB5RXJyX0dldEV4Y0luZm8gYW5kIFB5RXJyX1NldEV4Y0luZm8uCi0gIFBhdGNoIGJ5IFN0ZWZhbiBCZWhuZWwuCi0KIC0gSXNzdWUgIzE0Mzg1OiBJdCBpcyBub3cgcG9zc2libGUgdG8gdXNlIGEgY3VzdG9tIHR5cGUgZm9yIHRoZSBfX2J1aWx0aW5zX18KICAgbmFtZXNwYWNlLCBpbnN0ZWFkIG9mIGEgZGljdC4gSXQgY2FuIGJlIHVzZWQgZm9yIHNhbmRib3hpbmcgZm9yIGV4YW1wbGUuCiAgIFJhaXNlIGFsc28gYSBOYW1lRXJyb3IgaW5zdGVhZCBvZiBJbXBvcnRFcnJvciBpZiBfX2J1aWxkX2NsYXNzX18gbmFtZSBpZiBub3QKQEAgLTE0MzEsMTIgKzE0NDYsNiBAQAogCiAtIERvbid0IFB5X0RFQ1JFRiBOVUxMIHZhcmlhYmxlIGluIGlvLkluY3JlbWVudGFsTmV3bGluZURlY29kZXIuCiAKLS0gSXNzdWUgIzg1MTU6IFNldCBfX2ZpbGVfXyB3aGVuIHJ1biBmaWxlIGluIElETEUuCi0gIEluaXRpYWwgcGF0Y2ggYnkgQnJ1Y2UgRnJlZGVyaWtzZW4uCi0KLS0gSXNzdWUgIzE0NDk2OiBGaXggd3JvbmcgbmFtZSBpbiBpZGxlbGliL3RhYmJlZHBhZ2VzLnB5LgotICBQYXRjaCBieSBQb3BhIENsYXVkaXUuCi0KIC0gSXNzdWUgIzMwMzM6IEFkZCBkaXNwbGF5b2YgcGFyYW1ldGVyIHRvIHRraW50ZXIgZm9udC4gUGF0Y2ggYnkgR3VpbGhlcm1lIFBvbG8uCiAKIC0gSXNzdWUgIzE0NDgyOiBSYWlzZSBhIFZhbHVlRXJyb3IsIG5vdCBhIE5hbWVFcnJvciwgd2hlbiB0cnlpbmcgdG8gY3JlYXRlCkBAIC0xNDcyLDYgKzE0ODEsMTUgQEAKIC0gSXNzdWUgIzE0MzU1OiBSZWdydGVzdCBub3cgc3VwcG9ydHMgdGhlIHN0YW5kYXJkIHVuaXR0ZXN0IHRlc3QgbG9hZGluZywgYW5kCiAgIHdpbGwgdXNlIGl0IGlmIGEgdGVzdCBmaWxlIGNvbnRhaW5zIG5vIGB0ZXN0X21haW5gIG1ldGhvZC4KIAorSURMRQorLS0tLQorCistIElzc3VlICM4NTE1OiBTZXQgX19maWxlX18gd2hlbiBydW4gZmlsZSBpbiBJRExFLgorICBJbml0aWFsIHBhdGNoIGJ5IEJydWNlIEZyZWRlcmlrc2VuLgorCistIElzc3VlICMxNDQ5NjogRml4IHdyb25nIG5hbWUgaW4gaWRsZWxpYi90YWJiZWRwYWdlcy5weS4KKyAgUGF0Y2ggYnkgUG9wYSBDbGF1ZGl1LgorCiBUb29scyAvIERlbW9zCiAtLS0tLS0tLS0tLS0tCiAKQEAgLTE0ODEsNiArMTQ5OSwxMiBAQAogLSBJc3N1ZSAjMTMxNjU6IHN0cmluZ2JlbmNoIGlzIG5vdyBhdmFpbGFibGUgaW4gdGhlIFRvb2xzL3N0cmluZ2JlbmNoIGZvbGRlci4KICAgSXQgdXNlZCB0byBsaXZlIGluIGl0cyBvd24gU1ZOIHByb2plY3QuCiAKK0MtQVBJCistLS0tLQorCistIElzc3VlICMxNDA5ODogTmV3IGZ1bmN0aW9ucyBQeUVycl9HZXRFeGNJbmZvIGFuZCBQeUVycl9TZXRFeGNJbmZvLgorICBQYXRjaCBieSBTdGVmYW4gQmVobmVsLgorCiAKIFdoYXQncyBOZXcgaW4gUHl0aG9uIDMuMy4wIEFscGhhIDI/CiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpAQCAtMTUzMiwxNiArMTU1Niw5IEBACiAKIC0gSXNzdWUgIzUxMzY6IGRlcHJlY2F0ZSBvbGQsIHVudXNlZCBmdW5jdGlvbnMgZnJvbSB0a2ludGVyLgogCi0tIElzc3VlICMxNDQwOTogSURMRSBub3cgcHJvcGVybHkgZXhlY3V0ZXMgY29tbWFuZHMgaW4gdGhlIFNoZWxsIHdpbmRvdwotICB3aGVuIGl0IGNhbm5vdCByZWFkIHRoZSBub3JtYWwgY29uZmlnIGZpbGVzIG9uIHN0YXJ0dXAgYW5kCi0gIGhhcyB0byB1c2UgdGhlIGJ1aWx0LWluIGRlZmF1bHQga2V5IGJpbmRpbmdzLgotICBUaGVyZSB3YXMgcHJldmlvdXNseSBhIGJ1ZyBpbiBvbmUgb2YgdGhlIGRlZmF1bHRzLgotCiAtIElzc3VlICMxNDQxNjogc3lzbG9nIG5vdyBkZWZpbmVzIHRoZSBMT0dfT0RFTEFZIGFuZCBMT0dfQVVUSFBSSVYgY29uc3RhbnRzCiAgIGlmIHRoZXkgYXJlIGRlZmluZWQgaW4gPHN5c2xvZy5oPi4KIAotLSBJRExFIGNhbiBiZSBsYXVuY2hlZCBhcyBweXRob24gLW0gaWRsZWxpYgotCiAtIElzc3VlICMxNDI5NTogQWRkIHVuaXR0ZXN0Lm1vY2sKIAogLSBJc3N1ZSAjNzY1MjogQWRkIC0td2l0aC1zeXN0ZW0tbGlibXBkZWMgb3B0aW9uIHRvIGNvbmZpZ3VyZSBmb3IgbGlua2luZwpAQCAtMTU2Nyw5ICsxNTg0LDYgQEAKICAgdXAgdGhlIGRlY2ltYWwgbW9kdWxlLiBQZXJmb3JtYW5jZSBnYWlucyBvZiB0aGUgbmV3IEMgaW1wbGVtZW50YXRpb24gYXJlCiAgIGJldHdlZW4gMTB4IGFuZCAxMDB4LCBkZXBlbmRpbmcgb24gdGhlIGFwcGxpY2F0aW9uLgogCi0tIElzc3VlICMzNTczOiBJRExFIGhhbmdzIHdoZW4gcGFzc2luZyBpbnZhbGlkIGNvbW1hbmQgbGluZSBhcmdzCi0gIChkaXJlY3RvcnkoaWVzKSBpbnN0ZWFkIG9mIGZpbGUocykpIChQYXRjaCBieSBHdWlsaGVybWUgUG9sbykKLQogLSBJc3N1ZSAjMTQyNjk6IFNNVFBEIG5vdyBjb25mb3JtcyB0byB0aGUgUkZDIGFuZCByZXF1aXJlcyBhIEhFTE8gY29tbWFuZAogICBiZWZvcmUgTUFJTCwgUkNQVCwgb3IgREFUQS4KIApAQCAtMTYwMSw4ICsxNjE1LDYgQEAKICAgZGVuaWFsIG9mIHNlcnZpY2UgZHVlIHRvIGhhc2ggY29sbGlzaW9ucy4gIFBhdGNoIGJ5IERhdmlkIE1hbGNvbG0gd2l0aCBzb21lCiAgIG1vZGlmaWNhdGlvbnMgYnkgdGhlIGV4cGF0IHByb2plY3QuCiAKLS0gSXNzdWUgIzE0MjAwOiBJZGxlIHNoZWxsIGNyYXNoIG9uIHByaW50aW5nIG5vbi1CTVAgdW5pY29kZSBjaGFyYWN0ZXIuCi0KIC0gSXNzdWUgIzEyODE4OiBmb3JtYXQgYWRkcmVzcyBubyBsb25nZXIgbmVlZGxlc3NseSBcIGVzY2FwZXMgKClzIGluIG5hbWVzIHdoZW4KICAgdGhlIG5hbWUgZW5kcyB1cCBiZWluZyBxdW90ZWQuCiAKQEAgLTE2MTgsOCArMTYzMCw2IEBACiAKIC0gSXNzdWUgIzk4OTcxMjogU3VwcG9ydCB1c2luZyBUayB3aXRob3V0IGEgbWFpbmxvb3AuCiAKLS0gSXNzdWUgIzUyMTk6IFByZXZlbnQgZXZlbnQgaGFuZGxlciBjYXNjYWRlIGluIElETEUuCi0KIC0gSXNzdWUgIzM4MzU6IFJlZnVzZSB0byB1c2UgdW50aHJlYWRlZCBUY2wgaW4gdGhyZWFkZWQgUHl0aG9uLgogCiAtIElzc3VlICMyODQzOiBBZGQgbmV3IFRrIEFQSSB0byBUa2ludGVyLgpAQCAtMTg0OCwxMCArMTg1OCw2IEBACiAgIG9uIFBPU0lYIHN5c3RlbXMgc3VwcG9ydGluZyBhbm9ueW1vdXMgbWVtb3J5IG1hcHBpbmdzLiAgUGF0Y2ggYnkKICAgQ2hhcmxlcy1GcmFuw6dvaXMgTmF0YWxpLgogCi0tIElzc3VlICMxMzQ1MjogUHlVbmljb2RlX0VuY29kZURlY2ltYWwoKSBkb2Vzbid0IHN1cHBvcnQgZXJyb3IgaGFuZGxlcnMKLSAgZGlmZmVyZW50IHRoYW4gInN0cmljdCIgYW55bW9yZS4gVGhlIGNhbGxlciB3YXMgdW5hYmxlIHRvIGNvbXB1dGUgdGhlCi0gIHNpemUgb2YgdGhlIG91dHB1dCBidWZmZXI6IGl0IGRlcGVuZHMgb24gdGhlIGVycm9yIGhhbmRsZXIuCi0KIC0gUEVQIDMxNTUgLyBpc3N1ZSAjMTM0NDg6IFF1YWxpZmllZCBuYW1lIGZvciBjbGFzc2VzIGFuZCBmdW5jdGlvbnMuCiAKIC0gSXNzdWUgIzEzNDM2OiBGaXggYSBib2d1cyBlcnJvciBtZXNzYWdlIHdoZW4gYW4gQVNUIG9iamVjdCB3YXMgcGFzc2VkCkBAIC0xOTQyLDEwICsxOTQ4LDYgQEAKIAogLSBQRVAgMzE1MSAvIGlzc3VlICMxMjU1NTogcmV3b3JraW5nIHRoZSBPUyBhbmQgSU8gZXhjZXB0aW9uIGhpZXJhcmNoeS4KIAotLSBJc3N1ZSAjMTM1NjA6IEFkZCBQeVVuaWNvZGVfRGVjb2RlTG9jYWxlKCksIFB5VW5pY29kZV9EZWNvZGVMb2NhbGVBbmRTaXplKCkKLSAgYW5kIFB5VW5pY29kZV9FbmNvZGVMb2NhbGUoKSBmdW5jdGlvbnMgdG8gdGhlIEMgQVBJIHRvIGRlY29kZS9lbmNvZGUgZnJvbS90bwotICB0aGUgY3VycmVudCBsb2NhbGUgZW5jb2RpbmcuCi0KIC0gQWRkIGludGVybmFsIEFQSSBmb3Igc3RhdGljIHN0cmluZ3MgKF9QeV9pZGVudGlmaWVyIGV0IGFsLikuCiAKIC0gSXNzdWUgIzEzMDYzOiB0aGUgV2luZG93cyBlcnJvciBFUlJPUl9OT19EQVRBIChudW1iZXJlZCAyMzIgYW5kIGRlc2NyaWJlZApAQCAtMjAyOCw3ICsyMDMwLDcgQEAKICAgZGVhbGxvY2F0b3IgY2FsbHMgb25lIG9mIHRoZSBtZXRob2RzIG9uIHRoZSB0eXBlIChlLmcuIHdoZW4gc3ViY2xhc3NpbmcKICAgSU9CYXNlKS4gIERpYWdub3NpcyBhbmQgcGF0Y2ggYnkgRGF2aWRlIFJpenpvLgogCi0tIElzc3VlICM5NjExLCAjOTAxNTogRmlsZUlPLnJlYWQoKSBjbGFtcHMgdGhlIGxlbmd0aCB0byBJTlRfTUFYIG9uIFdpbmRvd3MuCistIElzc3VlICM5NjExLCBJc3N1ZSAjOTAxNTogRmlsZUlPLnJlYWQoKSBjbGFtcHMgdGhlIGxlbmd0aCB0byBJTlRfTUFYIG9uIFdpbmRvd3MuCiAKIC0gSXNzdWUgIzk2NDI6IFVuaWZvcm1pemUgdGhlIHRlc3RzIG9uIHRoZSBhdmFpbGFiaWxpdHkgb2YgdGhlIG1iY3MgY29kZWMsIGFkZAogICBhIG5ldyBIQVZFX01CQ1MgZGVmaW5lLgpAQCAtMjE5MSwxNyArMjE5MywxMSBAQAogICBQeVVuaWNvZGVfQXNVVEY4U3RyaW5nKCkgYW5kIFB5VW5pY29kZV9Bc0VuY29kZWRTdHJpbmcodW5pY29kZSwgInV0Zi04IiwKICAgTlVMTCkuCiAKLS0gSXNzdWUgIzEwODMxOiBQeVVuaWNvZGVfRnJvbUZvcm1hdCgpIHN1cHBvcnRzICVsaSwgJWxsaSBhbmQgJXppIGZvcm1hdHMuCi0KIC0gSXNzdWUgIzEwODI5OiBSZWZhY3RvciBQeVVuaWNvZGVfRnJvbUZvcm1hdCgpLCB1c2UgdGhlIHNhbWUgZnVuY3Rpb24gdG8gcGFyc2UKICAgdGhlIGZvcm1hdCBzdHJpbmcgaW4gdGhlIDMgc3RlcHMsIGZpeCBjcmFzaHMgb24gaW52YWxpZCBmb3JtYXQgc3RyaW5ncy4KIAogLSBJc3N1ZSAjMTMwMDc6IHdoaWNoZGIgc2hvdWxkIHJlY29nbml6ZSBnZGJtIDEuOSBtYWdpYyBudW1iZXJzLgogCi0tIElzc3VlICMxMTI0NjogRml4IFB5VW5pY29kZV9Gcm9tRm9ybWF0KCIlViIpIHRvIGRlY29kZSB0aGUgYnl0ZSBzdHJpbmcgZnJvbQotICBVVEYtOCAod2l0aCByZXBsYWNlIGVycm9yIGhhbmRsZXIpIGluc3RlYWQgb2YgSVNPLTg4NTktMSAoaW4gc3RyaWN0IG1vZGUpLgotICBQYXRjaCB3cml0dGVuIGJ5IFJheSBBbGxlbi4KLQogLSBJc3N1ZSAjMTEyODY6IFJhaXNlIGEgVmFsdWVFcnJvciBmcm9tIGNhbGxpbmcgUHlNZW1vcnlWaWV3X0Zyb21CdWZmZXIgd2l0aAogICBhIGJ1ZmZlciBzdHJ1Y3QgaGF2aW5nIGEgTlVMTCBkYXRhIHBvaW50ZXIuCiAKQEAgLTIyMTEsOSArMjIwNyw2IEBACiAtIElzc3VlICMxMTgyODogc3RhcnRzd2l0aCBhbmQgZW5kc3dpdGggbm93IGFjY2VwdCBOb25lIGFzIHNsaWNlIGluZGV4LgogICBQYXRjaCBieSBUb3JzdGVuIEJlY2tlci4KIAotLSBJc3N1ZSAjMTA4MzA6IEZpeCBQeVVuaWNvZGVfRnJvbUZvcm1hdFYoIiVjIikgZm9yIG5vbi1CTVAgY2hhcmFjdGVycyBvbgotICBuYXJyb3cgYnVpbGQuCi0KIC0gSXNzdWUgIzExMTY4OiBSZW1vdmUgZmlsZW5hbWUgZGVidWcgdmFyaWFibGUgZnJvbSBQeUV2YWxfRXZhbEZyYW1lRXgoKS4KICAgSXQgZW5jb2RlZCB0aGUgVW5pY29kZSBmaWxlbmFtZSB0byBVVEYtOCwgYnV0IHRoZSBlbmNvZGluZyBmYWlscyBvbgogICB1bmRlY29kYWJsZSBmaWxlbmFtZSAob24gc3Vycm9nYXRlIGNoYXJhY3RlcnMpIHdoaWNoIHJhaXNlcyBhbiB1bmV4cGVjdGVkCkBAIC0yMjU1LDE1ICsyMjQ4LDkgQEAKICAgYXJlIGRlYWQgb3IgZHlpbmcuICBNb3Jlb3ZlciwgdGhlIGltcGxlbWVudGF0aW9uIGlzIG5vdyBPKDEpIHJhdGhlciB0aGFuCiAgIE8obikuCiAKLS0gSXNzdWUgIzEzMTI1OiBTaWxlbmNlIHNwdXJpb3VzIHRlc3RfbGliMnRvMyBvdXRwdXQgd2hlbiBpbiBub24tdmVyYm9zZSBtb2RlLgotICBQYXRjaCBieSBNaWtoYWlsIE5vdmlrb3YuCi0KIC0gSXNzdWUgIzExODQxOiBGaXggY29tcGFyaXNvbiBidWcgd2l0aCAncmMnIHZlcnNpb25zIGluIHBhY2thZ2luZy52ZXJzaW9uLgogICBQYXRjaCBieSBGaWxpcCBHcnVzemN6ecWEc2tpLgogCi0tIElzc3VlICMxMzQ0NzogQWRkIGEgdGVzdCBmaWxlIHRvIGhvc3QgcmVncmVzc2lvbiB0ZXN0cyBmb3IgYnVncyBpbiB0aGUKLSAgc2NyaXB0cyBmb3VuZCBpbiB0aGUgVG9vbHMgZGlyZWN0b3J5LgotCiAtIElzc3VlICM2ODg0OiBGaXggbG9uZy1zdGFuZGluZyBidWdzIHdpdGggTUFOSUZFU1QuaW4gcGFyc2luZyBpbiBkaXN0dXRpbHMKICAgb24gV2luZG93cy4gIEFsc28gZml4ZWQgaW4gcGFja2FnaW5nLgogCkBAIC0yMzE5LDkgKzIzMDYsNiBAQAogICBhdXRoZW50aWNhdGluZyAoc2luY2UgdGhlIHJlc3VsdCBtYXkgY2hhbmdlLCBhY2NvcmRpbmcgdG8gUkZDIDQ2NDMpLgogICBQYXRjaCBieSBIeW5layBTY2hsYXdhY2suCiAKLS0gSXNzdWUgIzEzOTg5OiBEb2N1bWVudCB0aGF0IEd6aXBGaWxlIGRvZXMgbm90IHN1cHBvcnQgdGV4dCBtb2RlLCBhbmQgZ2l2ZSBhCi0gIG1vcmUgaGVscGZ1bCBlcnJvciBtZXNzYWdlIHdoZW4gb3BlbmVkIHdpdGggYW4gaW52YWxpZCBtb2RlIHN0cmluZy4KLQogLSBJc3N1ZSAjMTM1OTA6IE9uIE9TIFggMTAuNyBhbmQgMTAuNiB3aXRoIFhjb2RlIDQuMiwgYnVpbGRpbmcKICAgRGlzdHV0aWxzLWJhc2VkIHBhY2thZ2VzIHdpdGggQyBleHRlbnNpb24gbW9kdWxlcyBtYXkgZmFpbCBiZWNhdXNlCiAgIEFwcGxlIGhhcyByZW1vdmVkIGdjYy00LjIsIHRoZSB2ZXJzaW9uIHVzZWQgdG8gYnVpbGQgcHl0aG9uLm9yZwpAQCAtMjMzOCwxMCArMjMyMiw2IEBACiAtIElzc3VlICMxMzk2MDogSFRNTFBhcnNlciBpcyBub3cgYWJsZSB0byBoYW5kbGUgYnJva2VuIGNvbW1lbnRzIHdoZW4KICAgc3RyaWN0PUZhbHNlLgogCi0tIElzc3VlICMxMzkyMTogVW5kb2N1bWVudCBhbmQgY2xlYW4gdXAgc3FsaXRlMy5PcHRpbWl6ZWRVbmljb2RlLAotICB3aGljaCBpcyBvYnNvbGV0ZSBpbiBQeXRob24gMy54LiBJdCdzIG5vdyBhbGlhc2VkIHRvIHN0ciBmb3IKLSAgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkuCi0KIC0gV2hlbiAnJyBpcyBhIHBhdGggKGUuZy4gaW4gc3lzLnBhdGgpLCBtYWtlIHN1cmUgX19maWxlX18gdXNlcyB0aGUgY3VycmVudAogICB3b3JraW5nIGRpcmVjdG9yeSBpbnN0ZWFkIG9mICcnIGluIGltcG9ydGxpYi4KIApAQCAtMjM2MywxMSArMjM0Myw2IEBACiAtIElzc3VlICMxMDgxMTogRml4IHJlY3Vyc2l2ZSB1c2FnZSBvZiBjdXJzb3JzLiBJbnN0ZWFkIG9mIGNyYXNoaW5nLAogICByYWlzZSBhIFByb2dyYW1taW5nRXJyb3Igbm93LgogCi0tIElzc3VlICMxMDg4MTogRml4IHRlc3Rfc2l0ZSBmYWlsdXJlIHdpdGggT1MgWCBmcmFtZXdvcmsgYnVpbGRzLgotCi0tIElzc3VlICM5NjQ0Mzc6IE1ha2UgSURMRSBoZWxwIHdpbmRvdyBub24tbW9kYWwuCi0gIFBhdGNoIGJ5IEd1aWxoZXJtZSBQb2xvIGFuZCBSb2dlciBTZXJ3eS4KLQogLSBJc3N1ZSAjMTM3MzQ6IEFkZCBvcy5md2FsaygpLCBhIGRpcmVjdG9yeSB3YWxraW5nIGZ1bmN0aW9uIHlpZWxkaW5nIGZpbGUKICAgZGVzY3JpcHRvcnMuCiAKQEAgLTIzNzcsMTYgKzIzNTIsOCBAQAogCiAtIElzc3VlICMxMTgwNTogcGFja2FnZV9kYXRhIGluIHNldHVwLmNmZyBzaG91bGQgYWxsb3cgbW9yZSB0aGFuIG9uZSB2YWx1ZS4KIAotLSBJc3N1ZSAjMTM5MzM6IElETEUgYXV0by1jb21wbGV0ZSBkaWQgbm90IHdvcmsgd2l0aCBzb21lIGltcG9ydGVkCi0gIG1vZHVsZSwgbGlrZSBoYXNobGliLiAgKFBhdGNoIGJ5IFJvZ2VyIFNlcnd5KQotCi0tIElzc3VlICMxMzkwMTogUHJldmVudCB0ZXN0X2Rpc3R1dGlscyBmYWlsdXJlcyBvbiBPUyBYIHdpdGggLS1lbmFibGUtc2hhcmVkLgotCiAtIElzc3VlICMxMzY3NjogSGFuZGxlIHN0cmluZ3Mgd2l0aCBlbWJlZGRlZCB6ZXJvcyBjb3JyZWN0bHkgaW4gc3FsaXRlMy4KIAotLSBJc3N1ZSAjMTM1MDY6IEFkZCAnJyB0byBwYXRoIGZvciBJRExFIFNoZWxsIHdoZW4gc3RhcnRlZCBhbmQgcmVzdGFydGVkIHdpdGggUmVzdGFydCBTaGVsbC4KLSAgT3JpZ2luYWwgcGF0Y2hlcyBieSBNYXJjbyBTY2F0YWdsaW5pIGFuZCBSb2dlciBTZXJ3eS4KLQogLSBJc3N1ZSAjODgyODogQWRkIG5ldyBmdW5jdGlvbiBvcy5yZXBsYWNlKCksIGZvciBjcm9zcy1wbGF0Zm9ybSByZW5hbWluZwogICB3aXRoIG92ZXJ3cml0aW5nLgogCkBAIC0yNDA3LDEyICsyMzc0LDYgQEAKICAgT1NFcnJvciBpZiBsb2NhbHRpbWUoKSBmYWlsZWQuIHRpbWUuY2xvY2soKSBub3cgcmFpc2VzIGEgUnVudGltZUVycm9yIGlmIHRoZQogICBwcm9jZXNzb3IgdGltZSB1c2VkIGlzIG5vdCBhdmFpbGFibGUgb3IgaXRzIHZhbHVlIGNhbm5vdCBiZSByZXByZXNlbnRlZAogCi0tIElzc3VlICMxMzg2MjogRml4IHNwdXJpb3VzIGZhaWx1cmUgaW4gdGVzdF96bGliIGR1ZSB0byBydW50aW1lL2NvbXBpbGUgdGltZQotICBtaW5vciB2ZXJzaW9ucyBub3QgbWF0Y2hpbmcuCi0KLS0gSXNzdWUgIzEyODA0OiBGaXggdGVzdF9zb2NrZXQgYW5kIHRlc3RfdXJsbGliMm5ldCBmYWlsdXJlcyB3aGVuIHJ1bm5pbmcgdGVzdHMKLSAgb24gYSBzeXN0ZW0gd2l0aG91dCBpbnRlcm5ldCBhY2Nlc3MuCi0KIC0gSXNzdWUgIzEzNzcyOiBJbiBvcy5zeW1saW5rKCkgdW5kZXIgV2luZG93cywgZG8gbm90IHRyeSB0byBndWVzcyB0aGUgbGluawogICB0YXJnZXQncyB0eXBlIChmaWxlIG9yIGRpcmVjdG9yeSkuICBUaGUgZGV0ZWN0aW9uIHdhcyBidWdneSBhbmQgbWFkZSB0aGUKICAgY2FsbCBub24tYXRvbWljICh0aGVyZWZvcmUgcHJvbmUgdG8gcmFjZSBjb25kaXRpb25zKS4KQEAgLTI0MzksOSArMjQwMCw2IEBACiAtIElzc3VlICMxMzY0MjogVW5xdW90ZSBiZWZvcmUgYjY0ZW5jb2RpbmcgdXNlcjpwYXNzd29yZCBkdXJpbmcgQmFzaWMKICAgQXV0aGVudGljYXRpb24uIFBhdGNoIGNvbnRyaWJ1dGVkIGJ5IEpvb25hcyBLdW9yaWxlaHRvLgogCi0tIElzc3VlICMxMzcyNjogRml4IHRoZSBhbWJpZ3VvdXMgLVMgZmxhZyBpbiByZWdydGVzdC4gSXQgaXMgLW8vLS1zbG93IGZvciBzbG93Ci0gIHRlc3RzLgotCiAtIElzc3VlICMxMjM2NDogRml4IGEgaGFuZyBpbiBjb25jdXJyZW50LmZ1dHVyZXMuUHJvY2Vzc1Bvb2xFeGVjdXRvci4KICAgVGhlIGhhbmcgd291bGQgb2NjdXIgd2hlbiByZXRyaWV2aW5nIHRoZSByZXN1bHQgb2YgYSBzY2hlZHVsZWQgZnV0dXJlIGFmdGVyCiAgIHRoZSBleGVjdXRvciBoYWQgYmVlbiBzaHV0IGRvd24uCkBAIC0yNTI0LDEwICsyNDgyLDYgQEAKIC0gSXNzdWUgIzEzNTkxOiBBIGJ1ZyBpbiBpbXBvcnRsaWIgaGFzIGJlZW4gZml4ZWQgdGhhdCBjYXVzZWQgaW1wb3J0X21vZHVsZQogICB0byBsb2FkIGEgbW9kdWxlIHR3aWNlLgogCi0tIElzc3VlICM0NjI1OiBJZiBJRExFIGNhbm5vdCB3cml0ZSB0byBpdHMgcmVjZW50IGZpbGUgb3IgYnJlYWtwb2ludCBmaWxlcywKLSAgZGlzcGxheSBhIG1lc3NhZ2UgcG9wdXAgYW5kIGNvbnRpbnVlIHJhdGhlciB0aGFuIGNyYXNoLiAgT3JpZ2luYWwgcGF0Y2ggYnkKLSAgUm9nZXIgU2Vyd3kuCi0KIC0gSXNzdWUgIzEzNDQ5IHNjaGVkLnNjaGVkdWxlci5ydW4oKSBtZXRob2QgaGFzIGEgbmV3ICJibG9ja2luZyIgcGFyYW1ldGVyIHdoaWNoCiAgIHdoZW4gc2V0IHRvIEZhbHNlIG1ha2VzIHJ1bigpIGV4ZWN1dGUgdGhlIHNjaGVkdWxlZCBldmVudHMgZHVlIHRvIGV4cGlyZQogICBzb29uZXN0IChpZiBhbnkpIGFuZCB0aGVuIHJldHVybi4gIFBhdGNoIGJ5IEdpYW1wYW9sbyBSb2RvbMOgLgpAQCAtMjU0NCwxMiArMjQ5OCw5IEBACiAgICdpbXBvcnRsaWIuYWJjLlB5UHljTG9hZGVyJywgJ25udHBsaWIuTk5UUC54Z3RpdGxlJywgJ25udHBsaWIuTk5UUC54cGF0aCcsCiAgIGFuZCBwcml2YXRlIGF0dHJpYnV0ZXMgb2YgJ3NtdHBkLlNNVFBDaGFubmVsJy4KIAotLSBJc3N1ZSAjNTkwNSwgIzEzNTYwOiB0aW1lLnN0cmZ0aW1lKCkgaXMgbm93IHVzaW5nIHRoZSBjdXJyZW50IGxvY2FsZQorLSBJc3N1ZSAjNTkwNSwgSXNzdWUgIzEzNTYwOiB0aW1lLnN0cmZ0aW1lKCkgaXMgbm93IHVzaW5nIHRoZSBjdXJyZW50IGxvY2FsZQogICBlbmNvZGluZywgaW5zdGVhZCBvZiBVVEYtOCwgaWYgdGhlIHdjc2Z0aW1lKCkgZnVuY3Rpb24gaXMgbm90IGF2YWlsYWJsZS4KIAotLSBJc3N1ZSAjODY0MTogVXBkYXRlIElETEUgMyBzeW50YXggY29sb3JpbmcgdG8gcmVjb2duaXplIGIiLi4iIGFuZCBub3QgdSIuLiIuCi0gIFBhdGNoIGJ5IFRhbCBFaW5hdC4KLQogLSBJc3N1ZSAjMTM0NjQ6IEFkZCBhIHJlYWRpbnRvKCkgbWV0aG9kIHRvIGh0dHAuY2xpZW50LkhUVFBSZXNwb25zZS4gIFBhdGNoCiAgIGJ5IEpvbiBLdWhuLgogCkBAIC0yNjYxLDkgKzI2MTIsNiBAQAogLSBJc3N1ZSAjMTA4MTc6IEZpeCB1cmxyZXRyaWV2ZSBmdW5jdGlvbiB0byByYWlzZSBDb250ZW50VG9vU2hvcnRFcnJvciBldmVuCiAgIHdoZW4gcmVwb3J0aG9vayBpcyBOb25lLiBQYXRjaCBieSBKeXJraSBQdWxsaWFpbmVuLgogCi0tIElzc3VlICMxMzI5NjogRml4IElETEUgdG8gY2xlYXIgY29tcGlsZSBfX2Z1dHVyZV9fIGZsYWdzIG9uIHNoZWxsIHJlc3RhcnQuCi0gIChQYXRjaCBieSBSb2dlciBTZXJ3eSkKLQogLSBGaXggdGhlIHhtbHJwYy5jbGllbnQgdXNlciBhZ2VudCB0byByZXR1cm4gc29tZXRoaW5nIHNpbWlsYXIgdG8KICAgdXJsbGliLnJlcXVlc3QgdXNlciBhZ2VudDogIlB5dGhvbi14bWxycGMvMy4zIi4KIApAQCAtMjc2NiwxMCArMjcxNCw2IEBACiAtIElzc3VlICMxMzAzNDogV2hlbiBkZWNvZGluZyBzb21lIFNTTCBjZXJ0aWZpY2F0ZXMsIHRoZSBzdWJqZWN0QWx0TmFtZQogICBleHRlbnNpb24gY291bGQgYmUgdW5yZXBvcnRlZC4KIAotLSBJc3N1ZSAjOTg3MTogUHJldmVudCBJRExFIDMgY3Jhc2ggd2hlbiBnaXZlbiBieXRlIHN0aW5ncwotICB3aXRoIGludmFsaWQgaGV4IGVzY2FwZSBzZXF1ZW5jZXMsIGxpa2UgYidceDAnLgotICAoT3JpZ2luYWwgcGF0Y2ggYnkgQ2xhdWRpdSBQb3BhLikKLQogLSBJc3N1ZSAjMTIzMDY6IEV4cG9zZSB0aGUgcnVudGltZSB2ZXJzaW9uIG9mIHRoZSB6bGliIEMgbGlicmFyeSBhcyBhIGNvbnN0YW50LAogICBaTElCX1JVTlRJTUVfVkVSU0lPTiwgaW4gdGhlIHpsaWIgbW9kdWxlLiBQYXRjaCBieSBUb3JzdGVuIExhbmRzY2hvZmYuCiAKQEAgLTI3OTgsOCArMjc0Miw2IEBACiAKIC0gSXNzdWUgIzEyODc4OiBFeHBvc2UgYSBfX2RpY3RfXyBhdHRyaWJ1dGUgb24gaW8uSU9CYXNlIGFuZCBpdHMgc3ViY2xhc3Nlcy4KIAotLSBJc3N1ZSAjMTI2MzY6IElETEUgcmVhZHMgdGhlIGNvZGluZyBjb29raWUgd2hlbiBleGVjdXRpbmcgYSBQeXRob24gc2NyaXB0LgotCiAtIElzc3VlICMxMjQ5NDogT24gZXJyb3IsIGNhbGwoKSwgY2hlY2tfY2FsbCgpLCBjaGVja19vdXRwdXQoKSBhbmQKICAgZ2V0c3RhdHVzb3V0cHV0KCkgZnVuY3Rpb25zIG9mIHRoZSBzdWJwcm9jZXNzIG1vZHVsZSBub3cga2lsbCB0aGUgcHJvY2VzcywKICAgcmVhZCBpdHMgc3RhdHVzICh0byBhdm9pZCB6b21iaXMpIGFuZCBjbG9zZSBwaXBlcy4KQEAgLTI4NjksOSArMjgxMSw2IEBACiAKIC0gSXNzdWUgIzEwMDg3OiBGaXggdGhlIGh0bWwgb3V0cHV0IGZvcm1hdCBvZiB0aGUgY2FsZW5kYXIgbW9kdWxlLgogCi0tIElzc3VlICMxMjU0MDogUHJldmVudCB6b21iaWUgSURMRSBwcm9jZXNzZXMgb24gV2luZG93cyBkdWUgdG8gY2hhbmdlcwotICBpbiBvcy5raWxsKCkuCi0KIC0gSXNzdWUgIzEzMTIxOiBhZGQgc3VwcG9ydCBmb3IgaW5wbGFjZSBtYXRoIG9wZXJhdG9ycyB0byBjb2xsZWN0aW9ucy5Db3VudGVyLgogCiAtIEFkZCBzdXBwb3J0IGZvciB1bmFyeSBwbHVzIGFuZCB1bmFyeSBtaW51cyB0byBjb2xsZWN0aW9ucy5Db3VudGVyLgpAQCAtMjkwMyw3ICsyODQyLDcgQEAKICAgQ29uZGl0aW9uLCBldGMuKSB1c2VkIHRvIGJlIGZhY3RvcnkgZnVuY3Rpb25zIHJldHVybmluZyBpbnN0YW5jZXMgb2YgaGlkZGVuCiAgIGNsYXNzZXMgKF9FdmVudCwgX0NvbmRpdGlvbiwgZXRjLiksIGJlY2F1c2UgKGlmIEd1aWRvIHJlY2FsbHMgY29ycmVjdGx5KSB0aGlzCiAgIGNvZGUgcHJlLWRhdGVzIHRoZSBhYmlsaXR5IHRvIHN1YmNsYXNzIGV4dGVuc2lvbiB0eXBlcy4gIEl0IGlzIG5vdyBwb3NzaWJsZQotICB0byBpbmhlcml0IGZyb20gdGhlc2UgY2xhc3NlcyB3aXRob3V0IGhhdmluZyB0byBpbXBvcnQgdGhlIHByaXZhdGUKKyAgdG8gaW5oZXJpdCBmcm9tIHRoZXNlIGNsYXNzZXMsIHdpdGhvdXQgaGF2aW5nIHRvIGltcG9ydCB0aGUgcHJpdmF0ZQogICB1bmRlcnNjb3JlZCBuYW1lcyBsaWtlIG11bHRpcHJvY2Vzc2luZyBkaWQuCiAKIC0gSXNzdWUgIzk3MjM6IEFkZCBzaGxleC5xdW90ZSBmdW5jdGlvbnMsIHRvIGVzY2FwZSBmaWxlbmFtZXMgYW5kIGNvbW1hbmQKQEAgLTI5MTcsMTQgKzI4NTYsOCBAQAogLSBJc3N1ZSAjMTI2MDc6IEluIHN1YnByb2Nlc3MsIGZpeCBpc3N1ZSB3aGVyZSBpZiBzdGRpbiwgc3Rkb3V0IG9yIHN0ZGVyciBpcwogICBnaXZlbiBhcyBhIGxvdyBmZCwgaXQgZ2V0cyBvdmVyd3JpdHRlbi4KIAotLSBJc3N1ZSAjMTI1OTA6IElETEUgZWRpdG9yIHdpbmRvdyBub3cgYWx3YXlzIGRpc3BsYXlzIHRoZSBmaXJzdCBsaW5lCi0gIHdoZW4gb3BlbmluZyBhIGxvbmcgZmlsZS4gIFdpdGggVGsgOC41LCB0aGUgZmlyc3QgbGluZSB3YXMgaGlkZGVuLgotCiAtIElzc3VlICMxMjU3NjogRml4IHVybG9wZW4gYmVoYXZpb3Igb24gc2l0ZXMgd2hpY2ggZG8gbm90IHNlbmQgKG9yIG9iZnVzY2F0ZXMpCi0gIENvbm5lY3Rpb246Y2xvc2UgaGVhZGVyLgotCi0tIElzc3VlICMxMjEwMjogRG9jdW1lbnQgdGhhdCBidWZmZXJlZCBmaWxlcyBtdXN0IGJlIGZsdXNoZWQgYmVmb3JlIGJlaW5nIHVzZWQKLSAgd2l0aCBtbWFwLiBQYXRjaCBieSBTdGVmZmVuIERhb2RlIE51cnBtZXNvLgorICBgYENvbm5lY3Rpb246IGNsb3NlYGAgaGVhZGVyLgogCiAtIElzc3VlICMxMjU2MDogQnVpbGQgbGlicHl0aG9uLnNvIG9uIE9wZW5CU0QuIFBhdGNoIGJ5IFN0ZWZhbiBTcGVybGluZy4KIApAQCAtMzE3OSw3ICszMTEyLDcgQEAKIC0gSXNzdWUgIzEyMTc1OiBGaWxlSU8ucmVhZGFsbCgpIG5vdyByYWlzZXMgYSBWYWx1ZUVycm9yIGluc3RlYWQgb2YgYW4gSU9FcnJvcgogICBpZiB0aGUgZmlsZSBpcyBjbG9zZWQuCiAKLS0gSXNzdWUgIzExMTA5OiBOZXcgc2VydmljZV9hY3Rpb24gbWV0aG9kIGZvciBCYXNlU2VydmVyLCB1c2VkIGJ5IEZvcmtpbmdNaXhJbgorLSBJc3N1ZSAjMTExMDk6IE5ldyBzZXJ2aWNlX2FjdGlvbiBtZXRob2QgZm9yIEJhc2VTZXJ2ZXIsIHVzZWQgYnkgRm9ya2luZ01peGluCiAgIGNsYXNzIGZvciBjbGVhbnVwLiBJbml0aWFsIFBhdGNoIGJ5IEp1c3RpbiBXYXJrZW50aW4uCiAKIC0gSXNzdWUgIzEyMDQ1OiBBdm9pZCBkdXBsaWNhdGUgZXhlY3V0aW9uIG9mIGNvbW1hbmQgaW4KQEAgLTMyMjQsOSArMzE1Nyw2IEBACiAgIHBhc3NpbmcgYSBgYGNvbnRleHRgYCBhcmd1bWVudCBwb2ludGluZyB0byBhbiBzc2wuU1NMQ29udGV4dCBpbnN0YW5jZS4KICAgUGF0Y2ggYnkgS2FzdW4gSGVyYXRoLgogCi0tIElzc3VlICMxMTA4ODogZG9uJ3QgY3Jhc2ggd2hlbiB1c2luZyBGNSB0byBydW4gYSBzY3JpcHQgaW4gSURMRSBvbiBNYWNPU1gKLSAgd2l0aCBUayA4LjUuCi0KIC0gSXNzdWUgIzk1MTY6IElzc3VlICM5NTE2OiBhdm9pZCBlcnJvcnMgaW4gc3lzY29uZmlnIHdoZW4gTUFDT1NYX0RFUExPWU1FTlRfVEFSR0VUCiAgIGlzIHNldCBpbiBzaGVsbC4KIApAQCAtMzI0NiwxMCArMzE3Niw2IEBACiAtIElzc3VlICM5OTcxOiBXcml0ZSBhbiBvcHRpbWl6ZWQgaW1wbGVtZW50YXRpb24gb2YgQnVmZmVyZWRSZWFkZXIucmVhZGludG8oKS4KICAgUGF0Y2ggYnkgSm9obiBPJ0Nvbm5vci4KIAotLSBJc3N1ZSAjMTAyODogVGsgcmV0dXJucyBpbnZhbGlkIFVuaWNvZGUgbnVsbCBpbiAlQTogVW5pY29kZURlY29kZUVycm9yLgotICBXaXRoIFRrIDwgOC41IF90a2ludGVyLmM6UHl0aG9uQ21kKCkgcmFpc2VkIFVuaWNvZGVEZWNvZGVFcnJvciwgY2F1c2VkCi0gIElETEUgdG8gZXhpdC4gIENvbnZlcnRlZCB0byB2YWxpZCBVbmljb2RlIG51bGwgaW4gUHl0aG9uQ21kKCkuCi0KIC0gSXNzdWUgIzExNzk5OiB1cmxsaWIucmVxdWVzdCBBdXRoZW50aWNhdGlvbiBIYW5kbGVycyB3aWxsIHJhaXNlIGEgVmFsdWVFcnJvcgogICB3aGVuIHByZXNlbnRlZCB3aXRoIGFuIHVuc3VwcG9ydGVkIEF1dGhlbnRpY2F0aW9uIFNjaGVtZS4gUGF0Y2ggY29udHJpYnV0ZWQKICAgYnkgWXV2YWwgR3JlZW5maWVsZC4KQEAgLTM0ODYsMTIgKzM0MTIsMTIgQEAKIAogLSBJc3N1ZSAjNzYzOTogRml4IHNob3J0IGZpbGUgbmFtZSBnZW5lcmF0aW9uIGluIGJkaXN0X21zaQogCi0tIElzc3VlICMxMTY1OTogRml4IFJlc291cmNlV2FybmluZyBpbiB0ZXN0X3N1YnByb2Nlc3MgaW50cm9kdWNlZCBieSAjMTE0NTkuCi0gIFBhdGNoIGJ5IEJlbiBIYXlkZW4uCi0KIC0gSXNzdWUgIzExNjM1OiBEb24ndCB1c2UgcG9sbGluZyBpbiB3b3JrZXIgdGhyZWFkcyBhbmQgcHJvY2Vzc2VzIGxhdW5jaGVkIGJ5CiAgIGNvbmN1cnJlbnQuZnV0dXJlcy4KIAorLSBJc3N1ZSAjNTg0NTogQXV0b21hdGljYWxseSByZWFkIHJlYWRsaW5lIGNvbmZpZ3VyYXRpb24gdG8gZW5hYmxlIGNvbXBsZXRpb24KKyAgaW4gaW50ZXJhY3RpdmUgbW9kZS4KKwogLSBJc3N1ZSAjNjgxMTogQWxsb3cgaW1wb3J0bGliIHRvIGNoYW5nZSBhIGNvZGUgb2JqZWN0J3MgY29fZmlsZW5hbWUgYXR0cmlidXRlCiAgIHRvIG1hdGNoIHRoZSBwYXRoIHRvIHdoZXJlIHRoZSBzb3VyY2UgY29kZSBjdXJyZW50bHkgaXMsIG5vdCB3aGVyZSB0aGUgY29kZQogICBvYmplY3Qgb3JpZ2luYWxseSBjYW1lIGZyb20uCkBAIC0zNTI2LDcgKzM0NTIsNyBAQAogCiAtIElzc3VlICMxMTEyNzogUmFpc2UgYSBUeXBlRXJyb3Igd2hlbiB0cnlpbmcgdG8gcGlja2xlIGEgc29ja2V0IG9iamVjdC4KIAotLSBJc3N1ZSAjMTE1NjM6IENvbm5lY3Rpb246Y2xvc2UgaGVhZGVyIGlzIHNlbnQgYnkgcmVxdWVzdHMgdXNpbmcgVVJMT3BlbmVyCistIElzc3VlICMxMTU2MzogYGBDb25uZWN0aW9uOiBjbG9zZWBgIGhlYWRlciBpcyBzZW50IGJ5IHJlcXVlc3RzIHVzaW5nIFVSTE9wZW5lcgogICBjbGFzcyB3aGljaCBoZWxwcyBpbiBjbG9zaW5nIG9mIHNvY2tldHMgYWZ0ZXIgY29ubmVjdGlvbiBpcyBvdmVyLiBQYXRjaAogICBjb250cmlidXRpb25zIGJ5IEplZmYgTWNOZWlsIGFuZCBOYWRlZW0gVmF3ZGEuCiAKQEAgLTM1NDEsOCArMzQ2Nyw2IEBACiAtIElzc3VlICMxMDk3OTogdW5pdHRlc3Qgc3Rkb3V0IGJ1ZmZlcmluZyBub3cgd29ya3Mgd2l0aCBjbGFzcyBhbmQgbW9kdWxlCiAgIHNldHVwIGFuZCB0ZWFyZG93bi4KIAotLSBJc3N1ZSAjMTE1Nzc6IGZpeCBSZXNvdXJjZVdhcm5pbmcgdHJpZ2dlcmVkIGJ5IGltcHJvdmVkIGJpbmhleCB0ZXN0IGNvdmVyYWdlCi0KIC0gSXNzdWUgIzExMjQzOiBmaXggdGhlIHBhcmFtZXRlciBxdWVyeWluZyBtZXRob2RzIG9mIE1lc3NhZ2UgdG8gd29yayBpZgogICB0aGUgaGVhZGVycyBjb250YWluIHVuLWVuY29kZWQgbm9uLUFTQ0lJIGRhdGEuCiAKQEAgLTM1NzUsOSArMzQ5OSw2IEBACiAtIElzc3VlICMxMTU1NDogRml4ZWQgc3VwcG9ydCBmb3IgSmFwYW5lc2UgY29kZWNzOyBwcmV2aW91c2x5IHRoZSBib2R5IG91dHB1dAogICBlbmNvZGluZyB3YXMgbm90IGRvbmUgaWYgZXVjLWpwIG9yIHNoaWZ0LWppcyB3YXMgc3BlY2lmaWVkIGFzIHRoZSBjaGFyc2V0LgogCi0tIElzc3VlICMxMTUwOTogU2lnbmlmaWNhbnRseSBpbmNyZWFzZSB0ZXN0IGNvdmVyYWdlIG9mIGZpbGVpbnB1dC4KLSAgUGF0Y2ggYnkgRGVudmVyIENvbmV5YmVhcmUgYXQgUHlDb24gMjAxMSBTcHJpbnRzLgotCiAtIElzc3VlICMxMTQwNzogYFRlc3RDYXNlLnJ1bmAgcmV0dXJucyB0aGUgcmVzdWx0IG9iamVjdCB1c2VkIG9yIGNyZWF0ZWQuCiAgIENvbnRyaWJ1dGVkIGJ5IEphbmF0aGFuIEhhcnRsZXkuCiAKQEAgLTM3MDAsMTEgKzM2MjEsNiBAQAogCiAtIElzc3VlICM5MzQ4OiBSYWlzZSBhbiBlYXJseSBlcnJvciBpZiBhcmdwYXJzZSBuYXJncyBhbmQgbWV0YXZhciBkb24ndCBtYXRjaC4KIAotLSBJc3N1ZSAjODk4MjogSW1wcm92ZSB0aGUgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIGFyZ3BhcnNlIE5hbWVzcGFjZSBvYmplY3QuCi0KLS0gSXNzdWUgIzkzNDM6IERvY3VtZW50IHRoYXQgYXJncGFyc2UgcGFyZW50IHBhcnNlcnMgbXVzdCBiZSBjb25maWd1cmVkIGJlZm9yZQotICB0aGVpciBjaGlsZHJlbi4KLQogLSBJc3N1ZSAjOTAyNjogRml4IG9yZGVyIG9mIGFyZ3BhcnNlIHN1Yi1jb21tYW5kcyBpbiBoZWxwIG1lc3NhZ2VzLgogCiAtIElzc3VlICM5MzQ3OiBGaXggZm9ybWF0dGluZyBmb3IgdHVwbGVzIGluIGFyZ3BhcnNlIHR5cGU9IGVycm9yIG1lc3NhZ2VzLgpAQCAtMzc1NywxMCArMzY3Myw2MSBAQAogCiAtIElzc3VlICMxMTQ5NTogT1NGIHN1cHBvcnQgaXMgZWxpbWluYXRlZC4gSXQgd2FzIGRlcHJlY2F0ZWQgaW4gUHl0aG9uIDMuMi4KIAotCiBJRExFCiAtLS0tCiAKKy0gSXNzdWUgIzE0NDA5OiBJRExFIG5vdyBwcm9wZXJseSBleGVjdXRlcyBjb21tYW5kcyBpbiB0aGUgU2hlbGwgd2luZG93CisgIHdoZW4gaXQgY2Fubm90IHJlYWQgdGhlIG5vcm1hbCBjb25maWcgZmlsZXMgb24gc3RhcnR1cCBhbmQKKyAgaGFzIHRvIHVzZSB0aGUgYnVpbHQtaW4gZGVmYXVsdCBrZXkgYmluZGluZ3MuCisgIFRoZXJlIHdhcyBwcmV2aW91c2x5IGEgYnVnIGluIG9uZSBvZiB0aGUgZGVmYXVsdHMuCisKKy0gSURMRSBjYW4gYmUgbGF1bmNoZWQgYXMgcHl0aG9uIC1tIGlkbGVsaWIKKworLSBJc3N1ZSAjMzU3MzogSURMRSBoYW5ncyB3aGVuIHBhc3NpbmcgaW52YWxpZCBjb21tYW5kIGxpbmUgYXJncworICAoZGlyZWN0b3J5KGllcykgaW5zdGVhZCBvZiBmaWxlKHMpKSAoUGF0Y2ggYnkgR3VpbGhlcm1lIFBvbG8pCisKKy0gSXNzdWUgIzE0MjAwOiBJRExFIHNoZWxsIGNyYXNoIG9uIHByaW50aW5nIG5vbi1CTVAgdW5pY29kZSBjaGFyYWN0ZXIuCisKKy0gSXNzdWUgIzUyMTk6IFByZXZlbnQgZXZlbnQgaGFuZGxlciBjYXNjYWRlIGluIElETEUuCisKKy0gSXNzdWUgIzk2NDQzNzogTWFrZSBJRExFIGhlbHAgd2luZG93IG5vbi1tb2RhbC4KKyAgUGF0Y2ggYnkgR3VpbGhlcm1lIFBvbG8gYW5kIFJvZ2VyIFNlcnd5LgorCistIElzc3VlICMxMzkzMzogSURMRSBhdXRvLWNvbXBsZXRlIGRpZCBub3Qgd29yayB3aXRoIHNvbWUgaW1wb3J0ZWQKKyAgbW9kdWxlLCBsaWtlIGhhc2hsaWIuICAoUGF0Y2ggYnkgUm9nZXIgU2Vyd3kpCisKKy0gSXNzdWUgIzEzNTA2OiBBZGQgJycgdG8gcGF0aCBmb3IgSURMRSBTaGVsbCB3aGVuIHN0YXJ0ZWQgYW5kIHJlc3RhcnRlZCB3aXRoIFJlc3RhcnQgU2hlbGwuCisgIE9yaWdpbmFsIHBhdGNoZXMgYnkgTWFyY28gU2NhdGFnbGluaSBhbmQgUm9nZXIgU2Vyd3kuCisKKy0gSXNzdWUgIzQ2MjU6IElmIElETEUgY2Fubm90IHdyaXRlIHRvIGl0cyByZWNlbnQgZmlsZSBvciBicmVha3BvaW50IGZpbGVzLAorICBkaXNwbGF5IGEgbWVzc2FnZSBwb3B1cCBhbmQgY29udGludWUgcmF0aGVyIHRoYW4gY3Jhc2guICBPcmlnaW5hbCBwYXRjaCBieQorICBSb2dlciBTZXJ3eS4KKworLSBJc3N1ZSAjODY0MTogVXBkYXRlIElETEUgMyBzeW50YXggY29sb3JpbmcgdG8gcmVjb2duaXplIGIiLi4iIGFuZCBub3QgdSIuLiIuCisgIFBhdGNoIGJ5IFRhbCBFaW5hdC4KKworLSBJc3N1ZSAjMTMyOTY6IEZpeCBJRExFIHRvIGNsZWFyIGNvbXBpbGUgX19mdXR1cmVfXyBmbGFncyBvbiBzaGVsbCByZXN0YXJ0LgorICAoUGF0Y2ggYnkgUm9nZXIgU2Vyd3kpCisKKy0gSXNzdWUgIzk4NzE6IFByZXZlbnQgSURMRSAzIGNyYXNoIHdoZW4gZ2l2ZW4gYnl0ZSBzdGluZ3MKKyAgd2l0aCBpbnZhbGlkIGhleCBlc2NhcGUgc2VxdWVuY2VzLCBsaWtlIGInXHgwJy4KKyAgKE9yaWdpbmFsIHBhdGNoIGJ5IENsYXVkaXUgUG9wYS4pCisKKy0gSXNzdWUgIzEyNjM2OiBJRExFIHJlYWRzIHRoZSBjb2RpbmcgY29va2llIHdoZW4gZXhlY3V0aW5nIGEgUHl0aG9uIHNjcmlwdC4KKworLSBJc3N1ZSAjMTI1NDA6IFByZXZlbnQgem9tYmllIElETEUgcHJvY2Vzc2VzIG9uIFdpbmRvd3MgZHVlIHRvIGNoYW5nZXMKKyAgaW4gb3Mua2lsbCgpLgorCistIElzc3VlICMxMjU5MDogSURMRSBlZGl0b3Igd2luZG93IG5vdyBhbHdheXMgZGlzcGxheXMgdGhlIGZpcnN0IGxpbmUKKyAgd2hlbiBvcGVuaW5nIGEgbG9uZyBmaWxlLiAgV2l0aCBUayA4LjUsIHRoZSBmaXJzdCBsaW5lIHdhcyBoaWRkZW4uCisKKy0gSXNzdWUgIzExMDg4OiBkb24ndCBjcmFzaCB3aGVuIHVzaW5nIEY1IHRvIHJ1biBhIHNjcmlwdCBpbiBJRExFIG9uIE1hY09TWAorICB3aXRoIFRrIDguNS4KKworLSBJc3N1ZSAjMTAyODogVGsgcmV0dXJucyBpbnZhbGlkIFVuaWNvZGUgbnVsbCBpbiAlQTogVW5pY29kZURlY29kZUVycm9yLgorICBXaXRoIFRrIDwgOC41IF90a2ludGVyLmM6UHl0aG9uQ21kKCkgcmFpc2VkIFVuaWNvZGVEZWNvZGVFcnJvciwgY2F1c2VkCisgIElETEUgdG8gZXhpdC4gIENvbnZlcnRlZCB0byB2YWxpZCBVbmljb2RlIG51bGwgaW4gUHl0aG9uQ21kKCkuCisKIC0gSXNzdWUgIzExNzE4OiBJRExFJ3Mgb3BlbiBtb2R1bGUgZGlhbG9nIGNvdWxkbid0IGZpbmQgdGhlIF9faW5pdF9fLnB5CiAgIGZpbGUgaW4gYSBwYWNrYWdlLgogCkBAIC0zNzkwLDYgKzM3NTcsMTAgQEAKIEV4dGVuc2lvbiBNb2R1bGVzCiAtLS0tLS0tLS0tLS0tLS0tLQogCistIElzc3VlICMxNjg0NzogRml4ZWQgaW1wcm9wZXIgdXNlIG9mIF9QeVVuaWNvZGVfQ2hlY2tDb25zaXN0ZW5jeSgpIGluCisgIG5vbi1weWRlYnVnIGJ1aWxkcy4gU2V2ZXJhbCBleHRlbnNpb24gbW9kdWxlcyBub3cgY29tcGlsZSBjbGVhbmx5IHdoZW4KKyAgYXNzZXJ0KClzIGFyZSBlbmFibGVkIGluIHN0YW5kYXJkIGJ1aWxkcyAoLURERUJVRyBmbGFnKS4KKwogLSBJc3N1ZSAjMTM4NDA6IFRoZSBlcnJvciBtZXNzYWdlIHByb2R1Y2VkIGJ5IGN0eXBlcy5jcmVhdGVfc3RyaW5nX2J1ZmZlcgogICB3aGVuIGdpdmVuIGEgVW5pY29kZSBzdHJpbmcgaGFzIGJlZW4gZml4ZWQuCiAKQEAgLTM4NTIsNiArMzgyMywzMyBAQAogVGVzdHMKIC0tLS0tCiAKKy0gSXNzdWUgIzEzMTI1OiBTaWxlbmNlIHNwdXJpb3VzIHRlc3RfbGliMnRvMyBvdXRwdXQgd2hlbiBpbiBub24tdmVyYm9zZSBtb2RlLgorICBQYXRjaCBieSBNaWtoYWlsIE5vdmlrb3YuCisKKy0gSXNzdWUgIzEzNDQ3OiBBZGQgYSB0ZXN0IGZpbGUgdG8gaG9zdCByZWdyZXNzaW9uIHRlc3RzIGZvciBidWdzIGluIHRoZQorICBzY3JpcHRzIGZvdW5kIGluIHRoZSBUb29scyBkaXJlY3RvcnkuCisKKy0gSXNzdWUgIzEwODgxOiBGaXggdGVzdF9zaXRlIGZhaWx1cmUgd2l0aCBPUyBYIGZyYW1ld29yayBidWlsZHMuCisKKy0gSXNzdWUgIzEzOTAxOiBQcmV2ZW50IHRlc3RfZGlzdHV0aWxzIGZhaWx1cmVzIG9uIE9TIFggd2l0aCAtLWVuYWJsZS1zaGFyZWQuCisKKy0gSXNzdWUgIzEzODYyOiBGaXggc3B1cmlvdXMgZmFpbHVyZSBpbiB0ZXN0X3psaWIgZHVlIHRvIHJ1bnRpbWUvY29tcGlsZSB0aW1lCisgIG1pbm9yIHZlcnNpb25zIG5vdCBtYXRjaGluZy4KKworLSBJc3N1ZSAjMTI4MDQ6IEZpeCB0ZXN0X3NvY2tldCBhbmQgdGVzdF91cmxsaWIybmV0IGZhaWx1cmVzIHdoZW4gcnVubmluZyB0ZXN0cworICBvbiBhIHN5c3RlbSB3aXRob3V0IGludGVybmV0IGFjY2Vzcy4KKworLSBJc3N1ZSAjMTM3MjY6IEZpeCB0aGUgYW1iaWd1b3VzIC1TIGZsYWcgaW4gcmVncnRlc3QuIEl0IGlzIC1vLy0tc2xvdyBmb3Igc2xvdworICB0ZXN0cy4KKworLSBJc3N1ZSAjMTE2NTk6IEZpeCBSZXNvdXJjZVdhcm5pbmcgaW4gdGVzdF9zdWJwcm9jZXNzIGludHJvZHVjZWQgYnkgIzExNDU5LgorICBQYXRjaCBieSBCZW4gSGF5ZGVuLgorCistIElzc3VlICMxMTU3NzogZml4IFJlc291cmNlV2FybmluZyB0cmlnZ2VyZWQgYnkgaW1wcm92ZWQgYmluaGV4IHRlc3QgY292ZXJhZ2UKKworLSBJc3N1ZSAjMTE1MDk6IFNpZ25pZmljYW50bHkgaW5jcmVhc2UgdGVzdCBjb3ZlcmFnZSBvZiBmaWxlaW5wdXQuCisgIFBhdGNoIGJ5IERlbnZlciBDb25leWJlYXJlIGF0IFB5Q29uIDIwMTEgU3ByaW50cy4KKwogLSBJc3N1ZSAjMTE2ODk6IEZpeCBhIHZhcmlhYmxlIHNjb3BpbmcgZXJyb3IgaW4gYW4gc3FsaXRlMyB0ZXN0CiAKIC0gSXNzdWUgIzEzNzg2OiBSZW1vdmUgdW5pbXBsZW1lbnRlZCAndHJhY2UnIGxvbmcgb3B0aW9uIGZyb20gcmVncnRlc3QucHkuCkBAIC00MDMwLDcgKzQwMjgsNyBAQAogLSBJc3N1ZSAjMTE1MDU6IGltcHJvdmVzIHRlc3QgY292ZXJhZ2Ugb2Ygc3RyaW5nLnB5LiBQYXRjaCBieSBBbGljaWEKICAgQXJsZW4KIAotLSBJc3N1ZSAjMTE0OTA6IHRlc3Rfc3VicHJvY2Vzczp0ZXN0X2xlYWtpbmdfZmRzX29uX2Vycm9yIG5vIGxvbmdlciBnaXZlcyBhCistIElzc3VlICMxMTQ5MDogdGVzdF9zdWJwcm9jZXNzLnRlc3RfbGVha2luZ19mZHNfb25fZXJyb3Igbm8gbG9uZ2VyIGdpdmVzIGEKICAgZmFsc2UgcG9zaXRpdmUgaWYgdGhlIGxhc3QgZGlyZWN0b3J5IGluIHRoZSBwYXRoIGlzIGluYWNjZXNzaWJsZS4KIAogLSBJc3N1ZSAjMTEyMjM6IEZpeCB0ZXN0X3RocmVhZHNpZ25hbHMgdG8gZmFpbCwgbm90IGhhbmcsIHdoZW4gdGhlCkBAIC00MDU0LDYgKzQwNTIsMjMgQEAKIEMtQVBJCiAtLS0tLQogCistIElzc3VlICMxMzQ1MjogUHlVbmljb2RlX0VuY29kZURlY2ltYWwoKSBkb2Vzbid0IHN1cHBvcnQgZXJyb3IgaGFuZGxlcnMKKyAgZGlmZmVyZW50IHRoYW4gInN0cmljdCIgYW55bW9yZS4gVGhlIGNhbGxlciB3YXMgdW5hYmxlIHRvIGNvbXB1dGUgdGhlCisgIHNpemUgb2YgdGhlIG91dHB1dCBidWZmZXI6IGl0IGRlcGVuZHMgb24gdGhlIGVycm9yIGhhbmRsZXIuCisKKy0gSXNzdWUgIzEzNTYwOiBBZGQgUHlVbmljb2RlX0RlY29kZUxvY2FsZSgpLCBQeVVuaWNvZGVfRGVjb2RlTG9jYWxlQW5kU2l6ZSgpCisgIGFuZCBQeVVuaWNvZGVfRW5jb2RlTG9jYWxlKCkgZnVuY3Rpb25zIHRvIHRoZSBDIEFQSSB0byBkZWNvZGUvZW5jb2RlIGZyb20vdG8KKyAgdGhlIGN1cnJlbnQgbG9jYWxlIGVuY29kaW5nLgorCistIElzc3VlICMxMDgzMTogUHlVbmljb2RlX0Zyb21Gb3JtYXQoKSBzdXBwb3J0cyAlbGksICVsbGkgYW5kICV6aSBmb3JtYXRzLgorCistIElzc3VlICMxMTI0NjogRml4IFB5VW5pY29kZV9Gcm9tRm9ybWF0KCIlViIpIHRvIGRlY29kZSB0aGUgYnl0ZSBzdHJpbmcgZnJvbQorICBVVEYtOCAod2l0aCByZXBsYWNlIGVycm9yIGhhbmRsZXIpIGluc3RlYWQgb2YgSVNPLTg4NTktMSAoaW4gc3RyaWN0IG1vZGUpLgorICBQYXRjaCB3cml0dGVuIGJ5IFJheSBBbGxlbi4KKworLSBJc3N1ZSAjMTA4MzA6IEZpeCBQeVVuaWNvZGVfRnJvbUZvcm1hdFYoIiVjIikgZm9yIG5vbi1CTVAgY2hhcmFjdGVycyBvbgorICBuYXJyb3cgYnVpbGQuCisKIC0gQWRkIFB5T2JqZWN0X0dlbmVyaWNHZXREaWN0IGFuZCBQeU9iamVjdF9HZW5lcmlTZXREaWN0LiBUaGV5IGFyZSBnZW5lcmljCiAgIGltcGxlbWVudGF0aW9ucyBmb3IgdGhlIGdldHRlciBhbmQgc2V0dGVyIG9mIGEgYGBfX2RpY3RfX2BgIGRlc2NyaXB0b3Igb2YgQwogICB0eXBlcy4KQEAgLTQwNzksNiArNDA5NCwyNCBAQAogRG9jdW1lbnRhdGlvbgogLS0tLS0tLS0tLS0tLQogCistIElzc3VlICMxMzk4OTogRG9jdW1lbnQgdGhhdCBHemlwRmlsZSBkb2VzIG5vdCBzdXBwb3J0IHRleHQgbW9kZSwgYW5kIGdpdmUgYQorICBtb3JlIGhlbHBmdWwgZXJyb3IgbWVzc2FnZSB3aGVuIG9wZW5lZCB3aXRoIGFuIGludmFsaWQgbW9kZSBzdHJpbmcuCisKKy0gSXNzdWUgIzEzOTIxOiBVbmRvY3VtZW50IGFuZCBjbGVhbiB1cCBzcWxpdGUzLk9wdGltaXplZFVuaWNvZGUsCisgIHdoaWNoIGlzIG9ic29sZXRlIGluIFB5dGhvbiAzLnguIEl0J3Mgbm93IGFsaWFzZWQgdG8gc3RyIGZvcgorICBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eS4KKworLSBJc3N1ZSAjMTIxMDI6IERvY3VtZW50IHRoYXQgYnVmZmVyZWQgZmlsZXMgbXVzdCBiZSBmbHVzaGVkIGJlZm9yZSBiZWluZyB1c2VkCisgIHdpdGggbW1hcC4gUGF0Y2ggYnkgU3RlZmZlbiBEYW9kZSBOdXJwbWVzby4KKworLSBJc3N1ZSAjODk4MjogSW1wcm92ZSB0aGUgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIGFyZ3BhcnNlIE5hbWVzcGFjZSBvYmplY3QuCisKKy0gSXNzdWUgIzkzNDM6IERvY3VtZW50IHRoYXQgYXJncGFyc2UgcGFyZW50IHBhcnNlcnMgbXVzdCBiZSBjb25maWd1cmVkIGJlZm9yZQorICB0aGVpciBjaGlsZHJlbi4KKworLSBJc3N1ZSAjMTM0OTg6IENsYXJpZnkgZG9jcyBvZiBvcy5tYWtlZGlycygpJ3MgZXhpc3Rfb2sgYXJndW1lbnQuICBEb25lIHdpdGgKKyAgZ3JlYXQgbmF0aXZlLXNwZWFrZXIgaGVscCBmcm9tIFIuIERhdmlkIE11cnJheS4KKwogLSBJc3N1ZXMgIzEzNDkxIGFuZCAjMTM5OTU6IEZpeCBtYW55IGVycm9ycyBpbiBzcWxpdGUzIGRvY3VtZW50YXRpb24uCiAgIEluaXRpYWwgcGF0Y2ggZm9yICMxMzQ5MSBieSBKb2hhbm5lcyBWb2dlbC4KIApAQCAtOTY1Miw3ICs5Njg1LDcgQEAKIAogLSBJc3N1ZSAjMTIxMDogRml4ZWQgaW1hcGxpYiBhbmQgaXRzIGRvY3VtZW50YXRpb24uCiAKLS0gSXNzdWUgIzQyMzM6IENoYW5nZWQgc2VtYW50aWMgb2YgYGBfZmlsZWlvLkZpbGVJT2BgJ3MgYGBjbG9zZSgpYGAgCistIElzc3VlICM0MjMzOiBDaGFuZ2VkIHNlbWFudGljIG9mIGBgX2ZpbGVpby5GaWxlSU9gYCdzIGBgY2xvc2UoKWBgCiAgIG1ldGhvZCBvbiBmaWxlIG9iamVjdHMgd2l0aCBjbG9zZWZkPUZhbHNlLiBUaGUgZmlsZSBkZXNjcmlwdG9yIGlzIHN0aWxsCiAgIGtlcHQgb3BlbiBidXQgdGhlIGZpbGUgb2JqZWN0IGJlaGF2ZXMgbGlrZSBhIGNsb3NlZCBmaWxlLiBUaGUgYGBGaWxlSU9gYAogICBvYmplY3QgYWxzbyBnb3QgYSBuZXcgcmVhZG9ubHkgYXR0cmlidXRlIGBgY2xvc2VmZGBgLgpAQCAtOTc5NiwxMyArOTgyOSwxMyBAQAogICBjeWNsaWMgZ2FyYmFnZSBjb2xsZWN0aW9uLgogCiAtIElzc3VlICMzNjY4OiBGaXggYSBtZW1vcnkgbGVhayB3aXRoIHRoZSAicyoiIGFyZ3VtZW50IHBhcnNlciBpbgotICBQeUFyZ19QYXJzZVR1cGxlIGFuZCBmcmllbmRzLCB3aGljaCBvY2N1cnJlZCB3aGVuIHRoZSBhcmd1bWVudCBmb3IgInMqIiAKKyAgUHlBcmdfUGFyc2VUdXBsZSBhbmQgZnJpZW5kcywgd2hpY2ggb2NjdXJyZWQgd2hlbiB0aGUgYXJndW1lbnQgZm9yICJzKiIKICAgd2FzIGNvcnJlY3RseSBwYXJzZWQgYnV0IHBhcnNpbmcgb2Ygc3Vic2VxdWVudCBhcmd1bWVudHMgZmFpbGVkLgogCiAtIElzc3VlICMzNjExOiBBbiBleGNlcHRpb24gX19jb250ZXh0X18gY291bGQgYmUgY2xlYXJlZCBpbiBhIGNvbXBsZXggcGF0dGVybgogICBpbnZvbHZpbmcgYSBfX2RlbF9fIG1ldGhvZCByZS1yYWlzaW5nIGFuIGV4Y2VwdGlvbi4KIAotLSBJc3N1ZSAjMjUzNDogc3BlZWQgdXAgaXNpbnN0YW5jZSgpIGFuZCBpc3N1YmNsYXNzKCkgYnkgNTAtNzAlLCBzbyBhcyB0byAKKy0gSXNzdWUgIzI1MzQ6IHNwZWVkIHVwIGlzaW5zdGFuY2UoKSBhbmQgaXNzdWJjbGFzcygpIGJ5IDUwLTcwJSwgc28gYXMgdG8KICAgbWF0Y2ggUHl0aG9uIDIuNSBzcGVlZCBkZXNwaXRlIHRoZSBfX2luc3RhbmNlY2hlY2tfXyAvIF9fc3ViY2xhc3NjaGVja19fCiAgIG1lY2hhbmlzbS4gSW4gdGhlIHByb2Nlc3MsIGZpeCBhIGJ1ZyB3aGVyZSBpc2luc3RhbmNlKCkgYW5kIGlzc3ViY2xhc3MoKSwKICAgd2hlbiBnaXZlbiBhIHR1cGxlIG9mIGNsYXNzZXMgYXMgc2Vjb25kIGFyZ3VtZW50LCB3ZXJlIGxvb2tpbmcgdXAKQEAgLTk4ODAsNyArOTkxMyw3IEBACiAKIC0gVGhlIGRlcHJlY2F0aW9uIHdhcm5pbmdzIGZvciB0aGUgY2FtZWxDYXNlIHRocmVhZGluZyBBUEkgbmFtZXMgd2VyZSByZW1vdmVkLgogCi0tIElzc3VlICMzMTEwOiBtdWx0aXByb2Nlc3NpbmcgZmFpbHMgdG8gY29tcGllbCBvbiBzb2xhcmlzIDEwIGR1ZSB0byBtaXNzaW5nIAorLSBJc3N1ZSAjMzExMDogbXVsdGlwcm9jZXNzaW5nIGZhaWxzIHRvIGNvbXBpZWwgb24gc29sYXJpcyAxMCBkdWUgdG8gbWlzc2luZwogICBTRU1fVkFMVUVfTUFYLgogCiBFeHRlbnNpb24gTW9kdWxlcwpAQCAtMjE1OTMsNyArMjE2MjYsNyBAQAogCiAtIEltcHJvdmVkIEJlT1Mgc3VwcG9ydC4KIAotLSBTdXBwb3J0IGR5bmFtaWMgbG9hZGluZyBvZiBzaGFyZWQgbGlicmFyaWVzIG9uIE5ldEJTRCBwbGF0Zm9ybXMgdGhhdCAKKy0gU3VwcG9ydCBkeW5hbWljIGxvYWRpbmcgb2Ygc2hhcmVkIGxpYnJhcmllcyBvbiBOZXRCU0QgcGxhdGZvcm1zIHRoYXQKIHVzZSBFTEYgKGkuZS4sIE1JUFMgYW5kIEFscGhhIHN5c3RlbXMpLgogCiBDb25maWd1cmF0aW9uL2J1aWxkIGNoYW5nZXMKQEAgLTIxODEwLDcgKzIxODQzLDcgQEAKIGhpZ2hlci1sZXZlbCBjbGFzc2VzIGluIGNvZGUucHkuCiAKIC0gdHVydGxlLnB5IGlzIGEgbmV3IG1vZHVsZSBmb3Igc2ltcGxlIHR1cnRsZSBncmFwaGljcy4gIEknbSBzdGlsbAotd29ya2luZyBvbiBpdDsgbGV0IG1lIGtub3cgaWYgeW91IHVzZSB0aGlzIHRvIHRlYWNoIFB5dGhvbiB0byBjaGlsZHJlbiAKK3dvcmtpbmcgb24gaXQ7IGxldCBtZSBrbm93IGlmIHlvdSB1c2UgdGhpcyB0byB0ZWFjaCBQeXRob24gdG8gY2hpbGRyZW4KIG9yIG90aGVyIG5vdmljZXMgd2l0aG91dCBwcmlvciBwcm9ncmFtbWluZyBleHBlcmllbmNlLgogCiBPYnNvbGV0ZWQgbGlicmFyeSBtb2R1bGVzCkBAIC0yMTk0Miw3ICsyMTk3NSw3IEBACiBDaGFuZ2VzIHRvIHRvb2xzCiAtLS0tLS0tLS0tLS0tLS0tCiAKLS0gTmV3LCBpbXByb3ZlZCB2ZXJzaW9uIG9mIEJhcnJ5IFdhcnNhdydzIE1pc2MvcHl0aG9uLW1vZGUuZWwgKGVkaXRpbmcgCistIE5ldywgaW1wcm92ZWQgdmVyc2lvbiBvZiBCYXJyeSBXYXJzYXcncyBNaXNjL3B5dGhvbi1tb2RlLmVsIChlZGl0aW5nCiBzdXBwb3J0IGZvciBFbWFjcykuCiAKIC0gdGFibmFubnkucHk6IGFkZGVkIGEgLXEgKCdxdWlldCcpIG9wdGlvbiB0byB0YWJuYW5ueSwgd2hpY2ggY2F1c2VzCkBAIC0yMjIxNyw3ICsyMjI1MCw3IEBACiAtLS0tLS0tLS0tLS0tLS0tLQogCiAtIEluc3RhbGwgemxpYi5kbGwgaW4gdGhlIERMTHMgZGlyZWN0b3J5IGluc3RlYWQgb2YgaW4gdGhlIHdpbjMyCi1zeXN0ZW0gZGlyZWN0b3J5LCB0byBhdm9pZCBjb25mbGljdHMgd2l0aCBvdGhlciBhcHBsaWNhdGlvbnMgdGhhdCBoYXZlIAorc3lzdGVtIGRpcmVjdG9yeSwgdG8gYXZvaWQgY29uZmxpY3RzIHdpdGggb3RoZXIgYXBwbGljYXRpb25zIHRoYXQgaGF2ZQogdGhlaXIgb3duIHpsaWIuZGxsLgogCiBUZXN0IFN1aXRlCkBAIC0yMjI5Nyw3ICsyMjMzMCw3IEBACiBzbyB0aGF0IGEgc3ltbGluayB0byBhIHN5bWxpbmsgY2FuIHdvcmsuCiAKIC0gQWRkZWQgYSBoYWNrIHNvIHRoYXQgd2hlbiB5b3UgdHlwZSAncXVpdCcgb3IgJ2V4aXQnIGF0IHRoZQotaW50ZXJwcmV0ZXIsIHlvdSBnZXQgYSBmcmllbmRseSBleHBsYW5hdGlvbiBvZiBob3cgdG8gcHJlc3MgQ3RybC1EIChvciAKK2ludGVycHJldGVyLCB5b3UgZ2V0IGEgZnJpZW5kbHkgZXhwbGFuYXRpb24gb2YgaG93IHRvIHByZXNzIEN0cmwtRCAob3IKIEN0cmwtWikgdG8gZXhpdC4KIAogLSBOZXcgYW5kIGltcHJvdmVkIE1pc2MvcHl0aG9uLW1vZGUuZWwgKFB5dGhvbiBtb2RlIGZvciBFbWFjcykuCkBAIC0yMjQ3MCwxMyArMjI1MDMsMTMgQEAKIHJhbmdlLiAgQWxzbywgcmFuZGludChhLCBiKSBpcyBub3cgcmVkZWZpbmVkIGFzIHJhbmRyYW5nZShhLCBiKzEpLAogYWRkaW5nIGV4dHJhIHJhbmdlIGFuZCB0eXBlIGNoZWNraW5nIHRvIGl0cyBhcmd1bWVudHMhCiAKLS0gQWRkIHNvbWUgc2VtaS10aHJlYWQtc2FmZXR5IHRvIHJhbmRvbS5nYXVzcygpIChpdCB1c2VkIHRvIGJlIGFibGUgdG8gCistIEFkZCBzb21lIHNlbWktdGhyZWFkLXNhZmV0eSB0byByYW5kb20uZ2F1c3MoKSAoaXQgdXNlZCB0byBiZSBhYmxlIHRvCiBjcmFzaCB3aGVuIGludm9rZWQgZnJvbSBzZXBhcmF0ZSB0aHJlYWRzOyBub3cgdGhlIHdvcnN0IGl0IGNhbiBkbyBpcwogZ2l2ZSBhIGR1cGxpY2F0ZSByZXN1bHQgb2NjYXNpb25hbGx5KS4KIAogLSBTb21lIHJlc3RydWN0dXJpbmcgYW5kIGdlbmVyYWxpemF0aW9uIGRvbmUgdG8gY21kLnB5LgogCi0tIE1ham9yIHVwZ3JhZGUgdG8gQ29uZmlnUGFyc2VyLnB5OyBjb252ZXJ0ZWQgdG8gdXNpbmcgJ3JlJywgYWRkZWQgbmV3IAorLSBNYWpvciB1cGdyYWRlIHRvIENvbmZpZ1BhcnNlci5weTsgY29udmVydGVkIHRvIHVzaW5nICdyZScsIGFkZGVkIG5ldwogZXhjZXB0aW9ucywgc3VwcG9ydCB1bmRlcnNjb3JlIGluIHNlY3Rpb24gaGVhZGVyIGFuZCBvcHRpb24gbmFtZS4gIE5vCiBsb25nZXIgYWRkICduYW1lJyBvcHRpb24gdG8gZXZlcnkgc2VjdGlvbjsgaW5zdGVhZCwgYWRkICdfX25hbWVfXycuCiAKQEAgLTIyNjczLDcgKzIyNzA2LDcgQEAKIC0tLS0tLS0tLS0tLS0tLS0tCiAKIC0gVGhlIHJlZ2lzdHJ5IGtleSB1c2VkIGlzIG5vdyAiMS41IiBpbnN0ZWFkIG9mICIxLjUueCIgLS0gc28gZnV0dXJlCi12ZXJzaW9ucyBvZiAxLjUgYW5kIE1hcmsgSGFtbW9uZCdzIHdpbjMyYWxsIGluc3RhbGxlciBkb24ndCBuZWVkIHRvIGJlIAordmVyc2lvbnMgb2YgMS41IGFuZCBNYXJrIEhhbW1vbmQncyB3aW4zMmFsbCBpbnN0YWxsZXIgZG9uJ3QgbmVlZCB0byBiZQogcmVzeW5jaHJvbml6ZWQuCiAKIFdpbmRvd3MgVG9vbHMKQEAgLTIyNzQwLDcgKzIyNzczLDcgQEAKIGR5bmFtaWNhbGx5IGFkZCBvbmUgb3IgbWFueSBlbnRyaWVzIHRvIHRoZSB0YWJsZSBvZiBidWlsdC1pbiBtb2R1bGVzLgogCiAtIE5ldyBtYWNybyBQeV9Jbml0TW9kdWxlMyhuYW1lLCBtZXRob2RzLCBkb2MpIHdoaWNoIGNhbGxzCi1QeV9Jbml0TW9kdWxlNCgpIHdpdGggYXBwcm9wcmlhdGUgYXJndW1lbnRzLiAgKFRoZSAtNCB2YXJpYW50IHJlcXVpcmVzIAorUHlfSW5pdE1vZHVsZTQoKSB3aXRoIGFwcHJvcHJpYXRlIGFyZ3VtZW50cy4gIChUaGUgLTQgdmFyaWFudCByZXF1aXJlcwogeW91IHRvIHBhc3MgYW4gb2JzY3VyZSB2ZXJzaW9uIG51bWJlciBjb25zdGFudCB3aGljaCBpcyBhbHdheXMgdGhlIHNhbWUuKQogCiAtIE5ldyBBUElzIFB5U3lzX1dyaXRlU3Rkb3V0KCkgYW5kIFB5U3lzX1dyaXRlU3RkZXJyKCkgdG8gd3JpdGUgdG8KQEAgLTIyODEyLDcgKzIyODQ1LDcgQEAKIFN5bnRheCBjaGFuZ2UKIC0tLS0tLS0tLS0tLS0KIAotLSBUaGUgcmFpc2Ugc3RhdGVtZW50IGNhbiBub3cgYmUgdXNlZCB3aXRob3V0IGFyZ3VtZW50cywgdG8gcmUtcmFpc2UgCistIFRoZSByYWlzZSBzdGF0ZW1lbnQgY2FuIG5vdyBiZSB1c2VkIHdpdGhvdXQgYXJndW1lbnRzLCB0byByZS1yYWlzZQogYSBwcmV2aW91c2x5IHNldCBleGNlcHRpb24uICBUaGlzIHNob3VsZCBiZSB1c2VkIGFmdGVyIGNhdGNoaW5nIGFuCiBleGNlcHRpb24gd2l0aCBhbiBleGNlcHQgY2xhdXNlIG9ubHksIGVpdGhlciBpbiB0aGUgZXhjZXB0IGNsYXVzZSBvcgogbGF0ZXIgaW4gdGhlIHNhbWUgZnVuY3Rpb24uCkBAIC0yMjg3MSw3ICsyMjkwNCw3IEBACiAKIAlEZW1vL3RraW50ZXIvZ3VpZG8vcGFpbnQucHkgLS0gRGF2ZSBNaXRjaGVsbAogCURlbW8vc29ja2V0cy91bml4c2VydmVyLnB5IC0tIFBpZXQgdmFuIE9vc3RydW0KLQkKKwogCiAtIE11Y2ggYmV0dGVyIGZyZWV6ZSBzdXBwb3J0LiAgVGhlIGZyZWV6ZSBzY3JpcHQgY2FuIG5vdyBmcmVlemUKIGhpZXJhcmNoaWNhbCBtb2R1bGUgbmFtZXMgKHdpdGggYSBjb3JyZXNwb25kaW5nIGNoYW5nZSB0byBpbXBvcnQuYyksCkBAIC0yMzAxMCw3ICsyMzA0Myw3IEBACiAtIE5ldyBjb21tYW5kIHN1cHBvcnRlZCBieSB0aGUgZnRwbGliIG1vZHVsZTogcm1kKCk7IGFsc28gZml4ZWQgc29tZQogbWlub3IgYnVncy4KIAotLSBUaGUgcHJvZmlsZSBtb2R1bGUgbm93IHVzZXMgYSBkaWZmZXJlbnQgdGltZXIgZnVuY3Rpb24gYnkgZGVmYXVsdCAtLSAKKy0gVGhlIHByb2ZpbGUgbW9kdWxlIG5vdyB1c2VzIGEgZGlmZmVyZW50IHRpbWVyIGZ1bmN0aW9uIGJ5IGRlZmF1bHQgLS0KIHRpbWUuY2xvY2soKSBpcyBnZW5lcmFsbHkgYmV0dGVyIHRoYW4gb3MudGltZXMoKS4gIFRoaXMgbWFrZXMgaXQgd29yawogYmV0dGVyIG9uIFdpbmRvd3MgTlQsIHRvby4KIApAQCAtMjMwNDksMTQgKzIzMDgyLDE0IEBACiAtIEluIHRoZSBtdWx0aWZpbGUgbW9kdWxlLCBzdXBwb3J0IHRoZSBvcHRpb25hbCBzZWNvbmQgcGFyYW1ldGVyIHRvCiBzZWVrKCkgd2hlbiBwb3NzaWJsZS4KIAotLSBTZXZlcmFsIGZpeGVzIHRvIHRoZSBnb3BoZXJsaWIgbW9kdWxlIGJ5IExhcnMgTWFyaXVzIEdhcnNob2wuICBBbHNvLCAKKy0gU2V2ZXJhbCBmaXhlcyB0byB0aGUgZ29waGVybGliIG1vZHVsZSBieSBMYXJzIE1hcml1cyBHYXJzaG9sLiAgQWxzbywKIHVybHBhcnNlIG5vdyBjb3JyZWN0bHkgaGFuZGxlcyBHb3BoZXIgVVJMcyB3aXRoIHF1ZXJ5IHN0cmluZ3MuCiAKIC0gRml4ZWQgYSB0aW55IGJ1ZyBpbiBmb3JtYXRfZXhjZXB0aW9uKCkgaW4gdGhlIHRyYWNlYmFjayBtb2R1bGUuCiBBbHNvIHJld3JpdGUgdGJfbGluZW5vKCkgdG8gYmUgY29tcGF0aWJsZSB3aXRoIEpQeXRob24gKGFuZCBub3QKIGRpc3R1cmIgdGhlIGN1cnJlbnQgZXhjZXB0aW9uISk7IGJ5IEppbSBIdWd1bmluLgogCi0tIFRoZSBodHRwbGliIG1vZHVsZSBpcyBtb3JlIHJvYnVzdCB3aGVuIHNlcnZlcnMgc2VuZCBhIHNob3J0IHJlc3BvbnNlIAorLSBUaGUgaHR0cGxpYiBtb2R1bGUgaXMgbW9yZSByb2J1c3Qgd2hlbiBzZXJ2ZXJzIHNlbmQgYSBzaG9ydCByZXNwb25zZQogLS0gY291cnRlc3kgVGltIE8nTWFsbGV5LgogCiBUa2ludGVyIGFuZCBmcmllbmRzCkBAIC0yMzA3MSw3ICsyMzEwNCw3IEBACiBubyBsb25nZXIgdXNlIHRoZSBkZWZhdWx0IHJvb3QuCiAKIC0gVGhlIGludGVyZmFjZXMgZm9yIHRoZSBiaW5kKigpIGFuZCB1bmJpbmQoKSB3aWRnZXQgbWV0aG9kcyBoYXZlIGJlZW4KLXJlZGVzaWduZWQ7IHRoZSBiaW5kKigpIG1ldGhvZHMgbm93IHJldHVybiB0aGUgbmFtZSBvZiB0aGUgVGNsIGNvbW1hbmQgCityZWRlc2lnbmVkOyB0aGUgYmluZCooKSBtZXRob2RzIG5vdyByZXR1cm4gdGhlIG5hbWUgb2YgdGhlIFRjbCBjb21tYW5kCiBjcmVhdGVkIGZvciB0aGUgY2FsbGJhY2ssIGFuZCB0aGlzIGNhbiBiZSBwYXNzZWQgYXMgYSBvcHRpb25hbAogYXJndW1lbnQgdG8gdW5iaW5kKCkgaW4gb3JkZXIgdG8gZGVsZXRlIHRoZSBjb21tYW5kIChub3JtYWxseSwgc3VjaAogY29tbWFuZHMgYXJlIGF1dG9tYXRpY2FsbHkgdW5ib3VuZCB3aGVuIHRoZSB3aWRnZXQgaXMgZGVzdHJveWVkLCBidXQKQEAgLTIzMTA3LDcgKzIzMTQwLDcgQEAKIGRpY3Rpb25hcnkgdG8gYWxsb3cgcmVjdXJzaXZlIGNvbnRhaW5lciB0eXBlcyB0byBkZXRlY3QgcmVjdXJzaW9uIGluCiB0aGVpciByZXByKCksIHN0cigpIGFuZCBwcmludCBpbXBsZW1lbnRhdGlvbnMuCiAKLS0gTmV3IGZ1bmN0aW9uIFB5T2JqZWN0X05vdCh4KSBjYWxjdWxhdGVzIChub3QgeCkgYWNjb3JkaW5nIHRvIFB5dGhvbidzIAorLSBOZXcgZnVuY3Rpb24gUHlPYmplY3RfTm90KHgpIGNhbGN1bGF0ZXMgKG5vdCB4KSBhY2NvcmRpbmcgdG8gUHl0aG9uJ3MKIHN0YW5kYXJkIHJ1bGVzIChiYXNpY2FsbHksIGl0IG5lZ2F0ZXMgdGhlIG91dGNvbWUgUHlPYmplY3RfSXNUcnVlKHgpLgogCiAtIE5ldyBmdW5jdGlvbiBfUHlNb2R1bGVfQ2xlYXIoKSwgd2hpY2ggY2xlYXJzIGEgbW9kdWxlJ3MgZGljdGlvbmFyeQpAQCAtMjMyNjgsNyArMjMzMDEsNyBAQAogaW5zdGFuY2VzIHdpdGggY29weS5weS4gIFRoZSBjUGlja2xlLmMgY2hhbmdlcyBhbmQgc29tZSBwaWNrbGUucHkKIGNoYW5nZXMgYXJlIGNvdXJ0ZXN5IEppbSBGdWx0b24uCiAKLS0gTG9jYWxlIHN1cHBvcnQgaW4gaGUgInJlIiAoUGVybCByZWd1bGFyIGV4cHJlc3Npb25zKSBtb2R1bGUuICBVc2UgCistIExvY2FsZSBzdXBwb3J0IGluIGhlICJyZSIgKFBlcmwgcmVndWxhciBleHByZXNzaW9ucykgbW9kdWxlLiAgVXNlCiB0aGUgZmxhZyByZS5MIChvciByZS5MT0NBTEUpIHRvIGVuYWJsZSBsb2NhbGUtc3BlY2lmaWMgbWF0Y2hpbmcKIHJ1bGVzIGZvciBcdyBhbmQgXGIuICBUaGUgaW4tbGluZSBzeW50YXggZm9yIHRoaXMgZmxhZyBpcyAoP0wpLgogCkBAIC0yMzMzNCw3ICsyMzM2Nyw3IEBACiAKIC0gU29tZSBpbXByb3ZlbWVudHMgdG8gdGhlIF90a2ludGVyIGJ1aWxkIGxpbmUgc3VnZ2VzdGVkIGJ5IENhc2UgUm9vbGUuCiAKLS0gQSBmdWxsIHN1aXRlIG9mIHBsYXRmb3JtIHNwZWNpZmljIGZpbGVzIGZvciBOZXRCU0QgMS54LCBzdWJtaXR0ZWQgYnkgCistIEEgZnVsbCBzdWl0ZSBvZiBwbGF0Zm9ybSBzcGVjaWZpYyBmaWxlcyBmb3IgTmV0QlNEIDEueCwgc3VibWl0dGVkIGJ5CiBBbmRlcnMgQW5kZXJzZW4uCiAKIC0gTmV3IFNvbGFyaXMgc3BlY2lmaWMgaGVhZGVyIFNUUk9QVFMucHkuCkBAIC0yMzQwNCw3ICsyMzQzNyw3IEBACiBpZiB0aGVyZSBhcmUgbG90cyBvZiBkdXBsaWNhdGVzLCBhbmQgb3RoZXJ3aXNlIGF0IGxlYXN0IGFzIGdvb2QuCiAKIC0gQWRkZWQgInV1ZSIgYXMgYW4gYWxpYXMgZm9yICJ1dWVuY29kZSIgdG8gbWltZXRvb2xzLnB5LiAgKEhtLCB0aGUKLXV1ZGVjb2RlIGJ1ZyB3aGVyZSBpdCBjb21wbGFpbnRzIGFib3V0IHRyYWlsaW5nIGdhcmJhZ2UgaXMgc3RpbGwgdGhlcmUgCit1dWRlY29kZSBidWcgd2hlcmUgaXQgY29tcGxhaW50cyBhYm91dCB0cmFpbGluZyBnYXJiYWdlIGlzIHN0aWxsIHRoZXJlCiA6LSggKS4KIAogLSBwaWNrbGUucHkgcmVxdWlyZXMgaW50ZWdlcnMgaW4gdGV4dCBtb2RlIHRvIGJlIGluIGRlY2ltYWwgbm90YXRpb24KQEAgLTI0MTgwLDcgKzI0MjEzLDcgQEAKIFRoZSBQeXRob24vQyBBUEkgZm9yIGZyYW1lcyBpcyBjaGFuZ2VkICh5b3Ugc2hvdWxkbid0IGJlIHVzaW5nIHRoaXMKIGFueXdheSkuCiAKLS0gU2lnbmlmaWNhbnQgc3BlZWR1cCBieSBpbmxpbmluZyBzb21lIGNvbW1vbiBvcGNvZGVzIGZvciBjb21tb24gb3BlcmFuZCAKKy0gU2lnbmlmaWNhbnQgc3BlZWR1cCBieSBpbmxpbmluZyBzb21lIGNvbW1vbiBvcGNvZGVzIGZvciBjb21tb24gb3BlcmFuZAogdHlwZXMgKGUuZy4gIGkraSwgaS1pLCBhbmQgbGlzdFtpXSkuICBGcmVkcmlrIEx1bmRoLgogCiAtIFNtYWxsIHNwZWVkdXAgYnkgcmVvcmRlcmluZyB0aGUgbWV0aG9kIHRhYmxlcyBvZiBzb21lIGNvbW1vbgpAQCAtMjQyMDYsMzQgKzI0MjM5LDM0IEBACiBwcmludGluZyB0aGUgZG9jdW1lbnRhdGlvbiBub3cga2lsbHMgZmV3ZXIgdHJlZXMgLS0gdGhlIG1hcmdpbnMgaGF2ZQogYmVlbiByZWR1Y2VkLgogCi0tIEkgaGF2ZSBzdGFydGVkIGRvY3VtZW50aW5nIHRoZSBQeXRob24vQyBBUEkuIFVuZm9ydHVuYXRlbHkgdGhpcyBwcm9qZWN0IAotaGFzbid0IGJlZW4gY29tcGxldGVkIHlldC4gIEl0IHdpbGwgYmUgY29tcGxldGUgYmVmb3JlIHRoZSBmaW5hbCByZWxlYXNlIG9mIAotUHl0aG9uIDEuNSwgdGhvdWdoLiAgQXQgdGhlIG1vbWVudCwgaXQncyBiZXR0ZXIgdG8gcmVhZCB0aGUgTGFUZVggc291cmNlIAorLSBJIGhhdmUgc3RhcnRlZCBkb2N1bWVudGluZyB0aGUgUHl0aG9uL0MgQVBJLiBVbmZvcnR1bmF0ZWx5IHRoaXMgcHJvamVjdAoraGFzbid0IGJlZW4gY29tcGxldGVkIHlldC4gIEl0IHdpbGwgYmUgY29tcGxldGUgYmVmb3JlIHRoZSBmaW5hbCByZWxlYXNlIG9mCitQeXRob24gMS41LCB0aG91Z2guICBBdCB0aGUgbW9tZW50LCBpdCdzIGJldHRlciB0byByZWFkIHRoZSBMYVRlWCBzb3VyY2UKIHRoYW4gdG8gYXR0ZW1wdCB0byBydW4gaXQgdGhyb3VnaCBMYVRlWCBhbmQgcHJpbnQgdGhlIHJlc3VsdGluZyBkdmkgZmlsZS4KIAotLSBUaGUgcG9zaXggbW9kdWxlIChhbmQgaGVuY2Ugb3MucHkpIG5vdyBoYXMgZG9jIHN0cmluZ3MhICBUaGFua3MgdG8gTmVpbCAKLVNjaGVtZW5hdWVyLiAgSSByZWNlaXZlZCBhIGZldyBvdGhlciBjb250cmlidXRpb25zIG9mIGRvYyBzdHJpbmdzLiAgSW4gbW9zdCAKKy0gVGhlIHBvc2l4IG1vZHVsZSAoYW5kIGhlbmNlIG9zLnB5KSBub3cgaGFzIGRvYyBzdHJpbmdzISAgVGhhbmtzIHRvIE5laWwKK1NjaGVtZW5hdWVyLiAgSSByZWNlaXZlZCBhIGZldyBvdGhlciBjb250cmlidXRpb25zIG9mIGRvYyBzdHJpbmdzLiAgSW4gbW9zdAogb3RoZXIgcGxhY2VzLCBkb2Mgc3RyaW5ncyBhcmUgc3RpbGwgd2lzaGZ1bCB0aGlua2luZy4uLgogCiAKIExhbmd1YWdlIGNoYW5nZXMKIC0tLS0tLS0tLS0tLS0tLS0KIAotLSBQcml2YXRlIHZhcmlhYmxlcyB3aXRoIGxlYWRpbmcgZG91YmxlIHVuZGVyc2NvcmUgYXJlIG5vdyBhIHBlcm1hbmVudCAKLWZlYXR1cmUgb2YgdGhlIGxhbmd1YWdlLiAgKFRoZXNlIHdlcmUgZXhwZXJpbWVudGFsIGluIHJlbGVhc2UgMS40LiAgSSBoYXZlIAotZmF2b3JhYmxlIGV4cGVyaWVuY2UgdXNpbmcgdGhlbTsgSSBjYW4ndCBsYWJlbCB0aGVtICJleHBlcmltZW50YWwiIAorLSBQcml2YXRlIHZhcmlhYmxlcyB3aXRoIGxlYWRpbmcgZG91YmxlIHVuZGVyc2NvcmUgYXJlIG5vdyBhIHBlcm1hbmVudAorZmVhdHVyZSBvZiB0aGUgbGFuZ3VhZ2UuICAoVGhlc2Ugd2VyZSBleHBlcmltZW50YWwgaW4gcmVsZWFzZSAxLjQuICBJIGhhdmUKK2Zhdm9yYWJsZSBleHBlcmllbmNlIHVzaW5nIHRoZW07IEkgY2FuJ3QgbGFiZWwgdGhlbSAiZXhwZXJpbWVudGFsIgogZm9yZXZlci4pCiAKLS0gVGhlcmUncyBuZXcgc3RyaW5nIGxpdGVyYWwgc3ludGF4IGZvciAicmF3IHN0cmluZ3MiLiAgUHJlZml4aW5nIGEgc3RyaW5nIAotbGl0ZXJhbCB3aXRoIHRoZSBsZXR0ZXIgciAob3IgUikgZGlzYWJsZXMgYWxsIGVzY2FwZSBwcm9jZXNzaW5nIGluIHRoZSAKLXN0cmluZzsgZm9yIGV4YW1wbGUsIHInXG4nIGlzIGEgdHdvLWNoYXJhY3RlciBzdHJpbmcgY29uc2lzdGluZyBvZiBhIAotYmFja3NsYXNoIGZvbGxvd2VkIGJ5IHRoZSBsZXR0ZXIgbi4gIFRoaXMgY29tYmluZXMgd2l0aCBhbGwgZm9ybXMgb2Ygc3RyaW5nIAotcXVvdGVzOyBpdCBpcyBhY3R1YWxseSB1c2VmdWwgZm9yIHRyaXBsZSBxdW90ZWQgZG9jIHN0cmluZ3Mgd2hpY2ggbWlnaHQgCi1jb250YWluIHJlZmVyZW5jZXMgdG8gXG4gb3IgXHQuICBBbiBlbWJlZGRlZCBxdW90ZSBwcmVmaXhlZCB3aXRoIGEgCi1iYWNrc2xhc2ggZG9lcyBub3QgdGVybWluYXRlIHRoZSBzdHJpbmcsIGJ1dCB0aGUgYmFja3NsYXNoIGlzIHN0aWxsIAotaW5jbHVkZWQgaW4gdGhlIHN0cmluZzsgZm9yIGV4YW1wbGUsIHInXCcnIGlzIGEgdHdvLWNoYXJhY3RlciBzdHJpbmcgCi1jb25zaXN0aW5nIG9mIGEgYmFja3NsYXNoIGFuZCBhIHF1b3RlLiAgKFJhdyBzdHJpbmdzIGFyZSBhbHNvIAotYWZmZWN0aW9uYXRlbHkga25vd24gYXMgUm9iaW4gc3RyaW5ncywgYWZ0ZXIgdGhlaXIgaW52ZW50b3IsIFJvYmluIAorLSBUaGVyZSdzIG5ldyBzdHJpbmcgbGl0ZXJhbCBzeW50YXggZm9yICJyYXcgc3RyaW5ncyIuICBQcmVmaXhpbmcgYSBzdHJpbmcKK2xpdGVyYWwgd2l0aCB0aGUgbGV0dGVyIHIgKG9yIFIpIGRpc2FibGVzIGFsbCBlc2NhcGUgcHJvY2Vzc2luZyBpbiB0aGUKK3N0cmluZzsgZm9yIGV4YW1wbGUsIHInXG4nIGlzIGEgdHdvLWNoYXJhY3RlciBzdHJpbmcgY29uc2lzdGluZyBvZiBhCitiYWNrc2xhc2ggZm9sbG93ZWQgYnkgdGhlIGxldHRlciBuLiAgVGhpcyBjb21iaW5lcyB3aXRoIGFsbCBmb3JtcyBvZiBzdHJpbmcKK3F1b3RlczsgaXQgaXMgYWN0dWFsbHkgdXNlZnVsIGZvciB0cmlwbGUgcXVvdGVkIGRvYyBzdHJpbmdzIHdoaWNoIG1pZ2h0Citjb250YWluIHJlZmVyZW5jZXMgdG8gXG4gb3IgXHQuICBBbiBlbWJlZGRlZCBxdW90ZSBwcmVmaXhlZCB3aXRoIGEKK2JhY2tzbGFzaCBkb2VzIG5vdCB0ZXJtaW5hdGUgdGhlIHN0cmluZywgYnV0IHRoZSBiYWNrc2xhc2ggaXMgc3RpbGwKK2luY2x1ZGVkIGluIHRoZSBzdHJpbmc7IGZvciBleGFtcGxlLCByJ1wnJyBpcyBhIHR3by1jaGFyYWN0ZXIgc3RyaW5nCitjb25zaXN0aW5nIG9mIGEgYmFja3NsYXNoIGFuZCBhIHF1b3RlLiAgKFJhdyBzdHJpbmdzIGFyZSBhbHNvCithZmZlY3Rpb25hdGVseSBrbm93biBhcyBSb2JpbiBzdHJpbmdzLCBhZnRlciB0aGVpciBpbnZlbnRvciwgUm9iaW4KIEZyaWVkcmljaC4pCiAKIC0gVGhlcmUncyBhIHNpbXBsZSBhc3NlcnQgc3RhdGVtZW50LCBhbmQgYSBuZXcgZXhjZXB0aW9uCkBAIC0yNDI2MiwxMCArMjQyOTUsMTAgQEAKIC0gVGhlIG9ic29sZXRlIGV4Y2VwdGlvbiBDb25mbGljdEVycm9yIChwcmVzdW1hYmx5IHVzZWQgYnkgdGhlIGxvbmcKIG9ic29sZXRlIGFjY2VzcyBzdGF0ZW1lbnQpIGhhcyBiZWVuIGRlbGV0ZWQuCiAKLS0gVGhlcmUncyBhIG5ldyBmdW5jdGlvbiBzeXMuZXhjX2luZm8oKSB3aGljaCByZXR1cm5zIHRoZSB0dXBsZSAKKy0gVGhlcmUncyBhIG5ldyBmdW5jdGlvbiBzeXMuZXhjX2luZm8oKSB3aGljaCByZXR1cm5zIHRoZSB0dXBsZQogKHN5cy5leGNfdHlwZSwgc3lzLmV4Y192YWx1ZSwgc3lzLmV4Y190cmFjZWJhY2spIGluIGEgdGhyZWFkLXNhZmUgd2F5LgogCi0tIFRoZXJlJ3MgYSBuZXcgdmFyaWFibGUgc3lzLmV4ZWN1dGFibGUsIHBvaW50aW5nIHRvIHRoZSBleGVjdXRhYmxlIGZpbGUgCistIFRoZXJlJ3MgYSBuZXcgdmFyaWFibGUgc3lzLmV4ZWN1dGFibGUsIHBvaW50aW5nIHRvIHRoZSBleGVjdXRhYmxlIGZpbGUKIGZvciB0aGUgUHl0aG9uIGludGVycHJldGVyLgogCiAtIFRoZSBzb3J0KCkgbWV0aG9kcyBmb3IgbGlzdHMgbm8gbG9uZ2VyIHVzZXMgdGhlIEMgbGlicmFyeSBxc29ydCgpOyBJCkBAIC0yNDI5MSwxMSArMjQzMjQsMTEgQEAKIHJldHVybmluZyBmcm9tIGEgZnVuY3Rpb24gdGhhdCBjYXVnaHQgYW4gZXhjZXB0aW9uLgogCiAtIFRoZXJlJ3MgYSBuZXcgImJ1ZmZlciIgaW50ZXJmYWNlLiAgQ2VydGFpbiBvYmplY3RzIChlLmcuIHN0cmluZ3MgYW5kCi1hcnJheXMpIG5vdyBzdXBwb3J0IHRoZSAiYnVmZmVyIiBwcm90b2NvbC4gIEJ1ZmZlciBvYmplY3RzIGFyZSBhY2NlcHRhYmxlIAotd2hlbmV2ZXIgZm9ybWVybHkgYSBzdHJpbmcgd2FzIHJlcXVpcmVkIGZvciBhIHdyaXRlIG9wZXJhdGlvbjsgbXV0YWJsZSAKK2FycmF5cykgbm93IHN1cHBvcnQgdGhlICJidWZmZXIiIHByb3RvY29sLiAgQnVmZmVyIG9iamVjdHMgYXJlIGFjY2VwdGFibGUKK3doZW5ldmVyIGZvcm1lcmx5IGEgc3RyaW5nIHdhcyByZXF1aXJlZCBmb3IgYSB3cml0ZSBvcGVyYXRpb247IG11dGFibGUKIGJ1ZmZlciBvYmplY3RzIGNhbiBiZSB0aGUgdGFyZ2V0IG9mIGEgcmVhZCBvcGVyYXRpb24gdXNpbmcgdGhlIGNhbGwKLWYucmVhZGludG8oYnVmZmVyKS4gIEEgY29vbCBmZWF0dXJlIGlzIHRoYXQgcmVndWxhciBleHByZXNzaW9uIG1hdGNoaW5nIG5vdyAKLWFsc28gd29yayBvbiBhcnJheSBvYmplY3RzLiAgQ29udHJpYnV0aW9uIGJ5IEphY2sgSmFuc2VuLiAgKE5lZWRzIAorZi5yZWFkaW50byhidWZmZXIpLiAgQSBjb29sIGZlYXR1cmUgaXMgdGhhdCByZWd1bGFyIGV4cHJlc3Npb24gbWF0Y2hpbmcgbm93CithbHNvIHdvcmsgb24gYXJyYXkgb2JqZWN0cy4gIENvbnRyaWJ1dGlvbiBieSBKYWNrIEphbnNlbi4gIChOZWVkcwogZG9jdW1lbnRhdGlvbi4pCiAKIC0gU3RyaW5nIGludGVybmluZzogZGljdGlvbmFyeSBsb29rdXBzIGFyZSBmYXN0ZXIgd2hlbiB0aGUgbG9va3VwCkBAIC0yNDU4Nyw3ICsyNDYyMCw3IEBACiBvZiBtZXNzYWdlIHNlcXVlbmNlIHNwZWNpZmllcnMgd2l0aG91dCBpbnZva2luZyBhIHN1YnByb2Nlc3MuICBBbHNvCiBhZGRlZCBhIGNyZWF0ZW1lc3NhZ2UoKSBtZXRob2QgYnkgTGFycyBXaXJ6ZW5pdXMuCiAKLS0gVGhlIFN0cmluZ0lPLlN0cmluZ0lPIGNsYXNzIG5vdyBzdXBwb3J0cyByZWFkbGluZShuYnl0ZXMpLiAgKExhcnMgCistIFRoZSBTdHJpbmdJTy5TdHJpbmdJTyBjbGFzcyBub3cgc3VwcG9ydHMgcmVhZGxpbmUobmJ5dGVzKS4gIChMYXJzCiBXaXJ6ZW5pdXMuKSAgKE9mIGNvdXJzZSwgeW91IHNob3VsZCBiZSB1c2luZyBjU3RyaW5nSU8gZm9yIHBlcmZvcm1hbmNlLikKIAogLSBVc2VyRGljdC5weSBzdXBwb3J0cyB0aGUgbmV3IGRpY3Rpb25hcnkgbWV0aG9kcyBhcyB3ZWxsLgpAQCAtMjQ2MzUsOCArMjQ2NjgsOCBAQAogLSBWYXJpb3VzIHNtYWxsIGZpeGVzIHRvIHRoZSBubnRwbGliLnB5IG1vZHVsZSB0aGF0IEkgY2FuJ3QgYm90aGVyIHRvCiBkb2N1bWVudCBpbiBkZXRhaWwuCiAKLS0gU2pvZXJkIE11bGxlbmRlcidzIG1pbWlmeS5weSBtb2R1bGUgbm93IHN1cHBvcnRzIGJhc2U2NCBlbmNvZGluZyBhbmQgCi1pbmNsdWRlcyBmdW5jdGlvbnMgdG8gaGFuZGxlIHRoZSBmdW5ueSBlbmNvZGluZyB5b3Ugc29tZXRpbWVzIHNlZSBpbiBtYWlsIAorLSBTam9lcmQgTXVsbGVuZGVyJ3MgbWltaWZ5LnB5IG1vZHVsZSBub3cgc3VwcG9ydHMgYmFzZTY0IGVuY29kaW5nIGFuZAoraW5jbHVkZXMgZnVuY3Rpb25zIHRvIGhhbmRsZSB0aGUgZnVubnkgZW5jb2RpbmcgeW91IHNvbWV0aW1lcyBzZWUgaW4gbWFpbAogaGVhZGVycy4gIEl0IGlzIG5vdyBkb2N1bWVudGVkLgogCiAtIG1haWxib3gucHk6IEFkZGVkIEJhYnlsTWFpbGJveC4gIEltcHJvdmVkIHRoZSB3YXkgdGhlIG1haWxib3ggaXMKQEAgLTI0OTg3LDIzICsyNTAyMCwyMyBAQAogTlQgKHRoZSBvbGQgVkMrKyA0LjIgTWFrZWZpbGUgaXMgYWxzbyBzdGlsbCBzdXBwb3J0ZWQsIGJ1dCB3aWxsCiBldmVudHVhbGx5IGJlIHdpdGhkcmF3biBkdWUgdG8gaXRzIGJ1bGtpbmVzcykuCiAKLS0gU2VlIHRoZSBub3RlIG9uIHRoZSBuZXcgbW9kdWxlIHNlYXJjaCBwYXRoIGluIHRoZSAiTWlzY2VsbGFuZW91cyIgc2VjdGlvbiAKKy0gU2VlIHRoZSBub3RlIG9uIHRoZSBuZXcgbW9kdWxlIHNlYXJjaCBwYXRoIGluIHRoZSAiTWlzY2VsbGFuZW91cyIgc2VjdGlvbgogYWJvdmUuCiAKIC0gU3VwcG9ydCBmb3IgV2luMzJzICh0aGUgMzItYml0IFdpbmRvd3MgQVBJIHVuZGVyIFdpbmRvd3MgMy4xKSBpcwogYmFzaWNhbGx5IHdpdGhkcmF3bi4gIElmIGl0IHN0aWxsIHdvcmtzIGZvciB5b3UsIHlvdSdyZSBsdWNreS4KIAotLSBUaGVyZSdzIGEgbmV3IGV4dGVuc2lvbiBtb2R1bGUsIG1zdmNydC5jLCB3aGljaCBwcm92aWRlcyB2YXJpb3VzIAotbG93LWxldmVsIG9wZXJhdGlvbnMgZGVmaW5lZCBpbiB0aGUgTWljcm9zb2Z0IFZpc3VhbCBDKysgUnVudGltZSBMaWJyYXJ5LiAgCi1UaGVzZSBpbmNsdWRlIGxvY2tpbmcoKSwgc2V0bW9kZSgpLCBnZXRfb3NmaGFuZGxlKCksIHNldF9vc2ZoYW5kbGUoKSwgYW5kIAorLSBUaGVyZSdzIGEgbmV3IGV4dGVuc2lvbiBtb2R1bGUsIG1zdmNydC5jLCB3aGljaCBwcm92aWRlcyB2YXJpb3VzCitsb3ctbGV2ZWwgb3BlcmF0aW9ucyBkZWZpbmVkIGluIHRoZSBNaWNyb3NvZnQgVmlzdWFsIEMrKyBSdW50aW1lIExpYnJhcnkuCitUaGVzZSBpbmNsdWRlIGxvY2tpbmcoKSwgc2V0bW9kZSgpLCBnZXRfb3NmaGFuZGxlKCksIHNldF9vc2ZoYW5kbGUoKSwgYW5kCiBjb25zb2xlIEkvTyBmdW5jdGlvbnMgbGlrZSBrYmhpdCgpLCBnZXRjaCgpIGFuZCBwdXRjaCgpLgogCiAtIFRoZSAtdSBvcHRpb24gbm90IG9ubHkgc2V0cyB0aGUgc3RhbmRhcmQgSS9PIHN0cmVhbXMgdG8gdW5idWZmZXJlZAogc3RhdHVzLCBidXQgYWxzbyBzZXRzIHRoZW0gaW4gYmluYXJ5IG1vZGUuICAoVGhpcyBjYW4gYWxzbyBiZSBkb25lCiB1c2luZyBtc3ZjcnQuc2V0bW9kZSgpLCBieSB0aGUgd2F5LikKIAotLSBUaGUsIHN5cy5wcmVmaXggYW5kIHN5cy5leGVjX3ByZWZpeCB2YXJpYWJsZXMgcG9pbnQgdG8gdGhlIGRpcmVjdG9yeSAKLXdoZXJlIFB5dGhvbiBpcyBpbnN0YWxsZWQsIG9yIHRvIHRoZSB0b3Agb2YgdGhlIHNvdXJjZSB0cmVlLCBpZiBpdCB3YXMgcnVuIAorLSBUaGUsIHN5cy5wcmVmaXggYW5kIHN5cy5leGVjX3ByZWZpeCB2YXJpYWJsZXMgcG9pbnQgdG8gdGhlIGRpcmVjdG9yeQord2hlcmUgUHl0aG9uIGlzIGluc3RhbGxlZCwgb3IgdG8gdGhlIHRvcCBvZiB0aGUgc291cmNlIHRyZWUsIGlmIGl0IHdhcyBydW4KIGZyb20gdGhlcmUuCiAKIC0gVGhlIHZhcmlvdXMgb3MucGF0aCBtb2R1bGVzIChwb3NpeHBhdGgsIG50cGF0aCwgbWFjcGF0aCkgbm93IHN1cHBvcnQKQEAgLTI1MDExLDcgKzI1MDQ0LDcgQEAKIG9zLnBhdGguam9pbihhLCBiLCBjKSBpcyB0aGUgc2FtZSBhcyBvcy5wYXRoLmpvaW4oYSwgb3MucGF0aC5qb2luKGIsCiBjKSkuCiAKLS0gVGhlIG50cGF0aCBtb2R1bGUgKG5vcm1hbGx5IHVzZWQgYXMgb3MucGF0aCkgc3VwcG9ydHMgfiB0byAkSE9NRSAKKy0gVGhlIG50cGF0aCBtb2R1bGUgKG5vcm1hbGx5IHVzZWQgYXMgb3MucGF0aCkgc3VwcG9ydHMgfiB0byAkSE9NRQogZXhwYW5zaW9uIGluIGV4cGFuZHVzZXIoKS4KIAogLSBUaGUgZnJlZXplIHRvb2wgbm93IHdvcmtzIG9uIFdpbmRvd3MuCkBAIC0yNTMwOSw0NyArMjUzNDIsNDcgQEAKIAogLSBOZXcgbW9kdWxlIHdoaWNoZGIgcmVjb2duaXplcyBkYm0sIGdkYm0gYW5kIGJzZGRiL2RiaGFzaCBmaWxlcy4KIAotLSBUaGUgRG9jL01ha2VmaWxlIHRhcmdldHMgaGF2ZSBiZWVuIHJlb3JnYW5pemVkIHNvbWV3aGF0IHRvIHJlbW92ZSB0aGUgCistIFRoZSBEb2MvTWFrZWZpbGUgdGFyZ2V0cyBoYXZlIGJlZW4gcmVvcmdhbml6ZWQgc29tZXdoYXQgdG8gcmVtb3ZlIHRoZQogaW5zaXN0ZW5jZSBvbiBhbHdheXMgZ2VuZXJhdGluZyBQb3N0U2NyaXB0LgogCiAtIFRoZSB0ZXhpbmZvIHRvIGh0bWwgZmlsdGVyIChEb2MvdGV4aTJodG1sLnB5KSBoYXMgYmVlbiBpbXByb3ZlZCBzb21ld2hhdC4KIAotLSAiZXJyb3JzLmgiIGhhcyBiZWVuIHJlbmFtZWQgdG8gInB5ZXJyb3JzLmgiIHRvIHJlc29sdmUgYSBsb25nLXN0YW5kaW5nIAorLSAiZXJyb3JzLmgiIGhhcyBiZWVuIHJlbmFtZWQgdG8gInB5ZXJyb3JzLmgiIHRvIHJlc29sdmUgYSBsb25nLXN0YW5kaW5nCiBuYW1lIGNvbmZsaWN0IG9uIHRoZSBNYWMuCiAKLS0gTGlua2luZyBhIG1vZHVsZSBjb21waWxlZCB3aXRoIGEgZGlmZmVyZW50IHNldHRpbmcgZm9yIFB5X1RSQUNFX1JFRlMgbm93IAorLSBMaW5raW5nIGEgbW9kdWxlIGNvbXBpbGVkIHdpdGggYSBkaWZmZXJlbnQgc2V0dGluZyBmb3IgUHlfVFJBQ0VfUkVGUyBub3cKIGdlbmVyYXRlcyBhIGxpbmtlciBlcnJvciByYXRoZXIgdGhhbiBhIGNvcmUgZHVtcC4KIAotLSBUaGUgY2dpIG1vZHVsZSBoYXMgYSBuZXcgY29udmVuaWVuY2UgZnVuY3Rpb24gcHJpbnRfZXhjZXB0aW9uKCksIHdoaWNoIAotZm9ybWF0cyBhIHB5dGhvbiBleGNlcHRpb24gdXNpbmcgSFRNTC4gIEl0IGFsc28gZml4ZXMgYSBidWcgaW4gdGhlIAotY29tcGF0aWJpbGl0eSBjb2RlIGFuZCBhZGRzIGEgZHViaW91cyBmZWF0dXJlIHdoaWNoIG1ha2VzIGl0IHBvc3NpYmxlIHRvIAorLSBUaGUgY2dpIG1vZHVsZSBoYXMgYSBuZXcgY29udmVuaWVuY2UgZnVuY3Rpb24gcHJpbnRfZXhjZXB0aW9uKCksIHdoaWNoCitmb3JtYXRzIGEgcHl0aG9uIGV4Y2VwdGlvbiB1c2luZyBIVE1MLiAgSXQgYWxzbyBmaXhlcyBhIGJ1ZyBpbiB0aGUKK2NvbXBhdGliaWxpdHkgY29kZSBhbmQgYWRkcyBhIGR1YmlvdXMgZmVhdHVyZSB3aGljaCBtYWtlcyBpdCBwb3NzaWJsZSB0bwogaGF2ZSB0d28gcXVlcnkgc3RyaW5ncywgb25lIGluIHRoZSBVUkwgYW5kIG9uZSBpbiB0aGUgUE9TVCBkYXRhLgogCi0tIEEgc3VidGxlIGNoYW5nZSBpbiB0aGUgdW5waWNrbGluZyBvZiBjbGFzcyBpbnN0YW5jZXMgbWFrZXMgaXQgcG9zc2libGUgCi10byB1bnBpY2tsZSBpbiByZXN0cmljdGVkIGV4ZWN1dGlvbiBtb2RlLCB3aGVyZSB0aGUgX19kaWN0X18gYXR0cmlidXRlIGlzIAorLSBBIHN1YnRsZSBjaGFuZ2UgaW4gdGhlIHVucGlja2xpbmcgb2YgY2xhc3MgaW5zdGFuY2VzIG1ha2VzIGl0IHBvc3NpYmxlCit0byB1bnBpY2tsZSBpbiByZXN0cmljdGVkIGV4ZWN1dGlvbiBtb2RlLCB3aGVyZSB0aGUgX19kaWN0X18gYXR0cmlidXRlIGlzCiBub3QgYXZhaWxhYmxlIChidXQgc2V0YXR0cigpIGlzKS4KIAotLSBEb2N1bWVudGF0aW9uIGZvciBvcy5wYXRoLnNwbGl0ZXh0KCkgKD09IHBvc2l4cGF0aC5zcGxpdGV4dCgpKSBoYXMgYmVlbiAKKy0gRG9jdW1lbnRhdGlvbiBmb3Igb3MucGF0aC5zcGxpdGV4dCgpICg9PSBwb3NpeHBhdGguc3BsaXRleHQoKSkgaGFzIGJlZW4KIGNsZWFyZWQgdXAuICBJdCBzcGxpdHMgYXQgdGhlICpsYXN0KiBkb3QuCiAKIC0gcG9zaXhmaWxlIGxvY2tpbmcgaXMgbm93IGFsc28gY29ycmVjdGx5IHN1cHBvcnRlZCBvbiBBSVguCiAKLS0gVGhlIHRlbXBmaWxlIG1vZHVsZSBvbmNlIGFnYWluIGhvbm9ycyBhbiBpbml0aWFsIHNldHRpbmcgb2YgdG1wZGlyLiAgSXQgCistIFRoZSB0ZW1wZmlsZSBtb2R1bGUgb25jZSBhZ2FpbiBob25vcnMgYW4gaW5pdGlhbCBzZXR0aW5nIG9mIHRtcGRpci4gIEl0CiBub3cgd29ya3Mgb24gV2luZG93cywgdG9vLgogCi0tIFRoZSB0cmFjZWJhY2sgbW9kdWxlIGhhcyBzb21lIG5ldyBmdW5jdGlvbnMgdG8gZXh0cmFjdCwgZm9ybWF0IGFuZCBwcmludCAKKy0gVGhlIHRyYWNlYmFjayBtb2R1bGUgaGFzIHNvbWUgbmV3IGZ1bmN0aW9ucyB0byBleHRyYWN0LCBmb3JtYXQgYW5kIHByaW50CiB0aGUgYWN0aXZlIHN0YWNrLgogCi0tIFNvbWUgdHJhbnNsYXRpb24gZnVuY3Rpb25zIGluIHRoZSB1cmxsaWIgbW9kdWxlIGhhdmUgYmVlbiBtYWRlIGEgbGl0dGxlIAorLSBTb21lIHRyYW5zbGF0aW9uIGZ1bmN0aW9ucyBpbiB0aGUgdXJsbGliIG1vZHVsZSBoYXZlIGJlZW4gbWFkZSBhIGxpdHRsZQogbGVzcyBzbHVnZ2lzaC4KIAotLSBUaGUgYWRkdGFnXyogbWV0aG9kcyBmb3IgQ2FudmFzIHdpZGdldHMgaW4gVGtpbnRlciBhcyB3ZWxsIGFzIGluIHRoZSAKLXNlcGFyYXRlIENhbnZhcyBjbGFzcyBoYXZlIGJlZW4gZml4ZWQgc28gdGhleSBhY3R1YWxseSBkbyBzb21ldGhpbmcgCistIFRoZSBhZGR0YWdfKiBtZXRob2RzIGZvciBDYW52YXMgd2lkZ2V0cyBpbiBUa2ludGVyIGFzIHdlbGwgYXMgaW4gdGhlCitzZXBhcmF0ZSBDYW52YXMgY2xhc3MgaGF2ZSBiZWVuIGZpeGVkIHNvIHRoZXkgYWN0dWFsbHkgZG8gc29tZXRoaW5nCiBtZWFuaW5nZnVsLgogCiAtIEEgdGlueSBfdGVzdCgpIGZ1bmN0aW9uIGhhcyBiZWVuIGFkZGVkIHRvIFRraW50ZXIucHkuCiAKLS0gQSBnZW5lcmljIE1ha2VmaWxlIGZvciBkeW5hbWljYWxseSBsb2FkZWQgbW9kdWxlcyBpcyBwcm92aWRlZCBpbiB0aGUgTWlzYyAKKy0gQSBnZW5lcmljIE1ha2VmaWxlIGZvciBkeW5hbWljYWxseSBsb2FkZWQgbW9kdWxlcyBpcyBwcm92aWRlZCBpbiB0aGUgTWlzYwogc3ViZGlyZWN0b3J5IChNaXNjL2dNYWtlZmlsZSkuCiAKIC0gQSBuZXcgdmVyc2lvbiBvZiBweXRob24tbW9kZS5lbCBmb3IgRW1hY3MgaXMgcHJvdmlkZWQuICBTZWUKQEAgLTI1MzU3LDI1ICsyNTM5MCwyNSBAQAogc2VwYXJhdGUgZmlsZSBweWltZW51LmVsIGlzIG5vIGxvbmdlciBuZWVkZWQsIGltZW51IHN1cHBvcnQgaXMgZm9sZGVkCiBpbnRvIHB5dGhvbi1tb2RlLmVsLgogCi0tIFRoZSBjb25maWd1cmUgc2NyaXB0IGNhbiBmaW5hbGx5IGNvcnJlY3RseSBmaW5kIHRoZSByZWFkbGluZSBsaWJyYXJ5IGluIGEgCi1ub24tc3RhbmRhcmQgbG9jYXRpb24uICBUaGUgTERGTEFHUyB2YXJpYWJsZSBpcyBwYXNzZWQgb24gdGhlIE1ha2VmaWxlcyAKKy0gVGhlIGNvbmZpZ3VyZSBzY3JpcHQgY2FuIGZpbmFsbHkgY29ycmVjdGx5IGZpbmQgdGhlIHJlYWRsaW5lIGxpYnJhcnkgaW4gYQorbm9uLXN0YW5kYXJkIGxvY2F0aW9uLiAgVGhlIExERkxBR1MgdmFyaWFibGUgaXMgcGFzc2VkIG9uIHRoZSBNYWtlZmlsZXMKIGZyb20gdGhlIGNvbmZpZ3VyZSBzY3JpcHQuCiAKLS0gU2hhcmVkIGxpYnJhcmllcyBhcmUgbm93IGluc3RhbGxlZCBhcyBwcm9ncmFtcyAoaS5lLiB3aXRoIGV4ZWN1dGFibGUgCistIFNoYXJlZCBsaWJyYXJpZXMgYXJlIG5vdyBpbnN0YWxsZWQgYXMgcHJvZ3JhbXMgKGkuZS4gd2l0aCBleGVjdXRhYmxlCiBwZXJtaXNzaW9uKS4gIFRoaXMgaXMgcmVxdWlyZWQgb24gSFAtVVggYW5kIHdvbid0IGh1cnQgb24gb3RoZXIgc3lzdGVtcy4KIAotLSBUaGUgb2JqYy5jIG1vZHVsZSBpcyBubyBsb25nZXIgcGFydCBvZiB0aGUgZGlzdHJpYnV0aW9uLiAgT2JqZWN0aXZlLUMgCistIFRoZSBvYmpjLmMgbW9kdWxlIGlzIG5vIGxvbmdlciBwYXJ0IG9mIHRoZSBkaXN0cmlidXRpb24uICBPYmplY3RpdmUtQwogc3VwcG9ydCBtYXkgYmVjb21lIGF2YWlsYWJsZSBhcyBjb250cmlidXRlZCBzb2Z0d2FyZSBvbiB0aGUgZnRwIHNpdGUuCiAKIC0gVGhlIHN5YmFzZSBtb2R1bGUgaXMgbm8gbG9uZ2VyIHBhcnQgb2YgdGhlIGRpc3RyaWJ1dGlvbi4gIEEgbXVjaAogaW1wcm92ZWQgc3liYXNlIG1vZHVsZSBpcyBhdmFpbGFibGUgYXMgY29udHJpYnV0ZWQgc29mdHdhcmUgZnJvbSB0aGUKIGZ0cCBzaXRlLgogCi0tIF90a2ludGVyIGlzIG5vdyBjb21wYXRpYmxlIHdpdGggVGNsIDcuNSAvIFRrIDQuMSBwYXRjaDEgb24gV2luZG93cyBhbmQgCi1NYWMgKGRvbid0IHVzZSB1bnBhdGNoZWQgVGNsL1RrISkuICBUaGUgZGVmYXVsdCBsaW5lIGluIHRoZSBTZXR1cC5pbiBmaWxlIAorLSBfdGtpbnRlciBpcyBub3cgY29tcGF0aWJsZSB3aXRoIFRjbCA3LjUgLyBUayA0LjEgcGF0Y2gxIG9uIFdpbmRvd3MgYW5kCitNYWMgKGRvbid0IHVzZSB1bnBhdGNoZWQgVGNsL1RrISkuICBUaGUgZGVmYXVsdCBsaW5lIGluIHRoZSBTZXR1cC5pbiBmaWxlCiBub3cgbGlua3Mgd2l0aCBUY2wgNy41IC8gVGsgNC4xIHJhdGhlciB0aGFuIDcuNC80LjAuCiAKLS0gSW4gU2V0dXAsIHlvdSBjYW4gbm93IHdyaXRlICIqc2hhcmVkKiIgaW5zdGVhZCBvZiAiKm5vY29uZmlnKiIsIGFuZCB5b3UgCistIEluIFNldHVwLCB5b3UgY2FuIG5vdyB3cml0ZSAiKnNoYXJlZCoiIGluc3RlYWQgb2YgIipub2NvbmZpZyoiLCBhbmQgeW91CiBjYW4gdXNlICouc28gYW5kICouc2wgYXMgc2hhcmVkIGxpYnJhcmllcy4KIAogLSBTb21lIG1vcmUgZmlkZ2V0aW5nIGZvciBBSVggc2hhcmVkIGxpYnJhcmllcy4KQEAgLTI1Mzg0LDgxICsyNTQxNyw4MSBAQAogKE5vdGUgLS0gYSBjb21wbGV0ZSByZXBsYWNlbWVudCBieSBOaWVscyBNbyJsbGVyLCBjYWxsZWQgZ3Btb2R1bGUsIGlzCiBhdmFpbGFibGUgZnJvbSB0aGUgY29udHJpYiBkaXJlY3Rvcnkgb24gdGhlIGZ0cCBzaXRlLikKIAotLSBBIHdhcm5pbmcgaXMgd3JpdHRlbiB0byBzeXMuc3RkZXJyIHdoZW4gYSBfX2RlbF9fIG1ldGhvZCByYWlzZXMgYW4gCistIEEgd2FybmluZyBpcyB3cml0dGVuIHRvIHN5cy5zdGRlcnIgd2hlbiBhIF9fZGVsX18gbWV0aG9kIHJhaXNlcyBhbgogZXhjZXB0aW9uIChmb3JtZXJseSwgc3VjaCBleGNlcHRpb25zIHdlcmUgY29tcGxldGVseSBpZ25vcmVkKS4KIAotLSBUaGUgY29uZmlndXJlIHNjcmlwdCBub3cgZGVmaW5lcyBIQVZFX09MRF9DUFAgaWYgdGhlIEMgcHJlcHJvY2Vzc29yIGlzIAorLSBUaGUgY29uZmlndXJlIHNjcmlwdCBub3cgZGVmaW5lcyBIQVZFX09MRF9DUFAgaWYgdGhlIEMgcHJlcHJvY2Vzc29yIGlzCiBpbmNhcGFibGUgb2YgQU5TSSBzdHlsZSB0b2tlbiBjb25jYXRlbmF0aW9uIGFuZCBzdHJpbmdpZmljYXRpb24uCiAKLS0gQWxsIHNvdXJjZSBmaWxlcyAoZXhjZXB0IGEgZmV3IHBsYXRmb3JtIHNwZWNpZmljIG1vZHVsZXMpIGFyZSBvbmNlIGFnYWluIAorLSBBbGwgc291cmNlIGZpbGVzIChleGNlcHQgYSBmZXcgcGxhdGZvcm0gc3BlY2lmaWMgbW9kdWxlcykgYXJlIG9uY2UgYWdhaW4KIGNvbXBhdGlibGUgd2l0aCBLJlIgQyBjb21waWxlcnMgYXMgd2VsbCBhcyBBTlNJIGNvbXBpbGVycy4gIEluIHBhcnRpY3VsYXIsCi1BTlNJLWlzbXMgaGF2ZSBiZWVuIHJlbW92ZWQgb3IgbWFkZSBjb25kaXRpb25hbCBpbiBjb21wbGV4b2JqZWN0LmMsIAorQU5TSS1pc21zIGhhdmUgYmVlbiByZW1vdmVkIG9yIG1hZGUgY29uZGl0aW9uYWwgaW4gY29tcGxleG9iamVjdC5jLAogZ2V0YXJncy5jIGFuZCBvcGVyYXRvci5jLgogCi0tIFRoZSBhYnN0cmFjdCBvYmplY3QgQVBJIGhhcyB0aHJlZSBuZXcgZnVuY3Rpb25zLCBQeU9iamVjdF9EZWxJdGVtLCAKKy0gVGhlIGFic3RyYWN0IG9iamVjdCBBUEkgaGFzIHRocmVlIG5ldyBmdW5jdGlvbnMsIFB5T2JqZWN0X0RlbEl0ZW0sCiBQeVNlcXVlbmNlX0RlbEl0ZW0sIGFuZCBQeVNlcXVlbmNlX0RlbFNsaWNlLgogCi0tIFRoZSBvcGVyYXRvciBtb2R1bGUgaGFzIG5ldyBmdW5jdGlvbnMgZGVsaXRlbSBhbmQgZGVsc2xpY2UsIGFuZCB0aGUgCi1mdW5jdGlvbnMgIm9yIiBhbmQgImFuZCIgYXJlIHJlbmFtZWQgdG8gIm9yXyIgYW5kICJhbmRfIiAoc2luY2UgIm9yIiBhbmQgCistIFRoZSBvcGVyYXRvciBtb2R1bGUgaGFzIG5ldyBmdW5jdGlvbnMgZGVsaXRlbSBhbmQgZGVsc2xpY2UsIGFuZCB0aGUKK2Z1bmN0aW9ucyAib3IiIGFuZCAiYW5kIiBhcmUgcmVuYW1lZCB0byAib3JfIiBhbmQgImFuZF8iIChzaW5jZSAib3IiIGFuZAogImFuZCIgYXJlIHJlc2VydmVkIHdvcmRzKS4gICgiX19vcl9fIiBhbmQgIl9fYW5kX18iIGFyZSB1bmNoYW5nZWQuKQogCi0tIFRoZSBlbnZpcm9ubWVudCBtb2R1bGUgaXMgbm8gbG9uZ2VyIHN1cHBvcnRlZDsgcHV0ZW52KCkgaXMgbm93IGEgZnVuY3Rpb24gCistIFRoZSBlbnZpcm9ubWVudCBtb2R1bGUgaXMgbm8gbG9uZ2VyIHN1cHBvcnRlZDsgcHV0ZW52KCkgaXMgbm93IGEgZnVuY3Rpb24KIGluIHBvc2l4bW9kdWxlIChhbHNvIHVuZGVyIE5UKS4KIAogLSBFcnJvciBpbiBmaWx0ZXIoPGZ1bmN0aW9uPiwgIiIpIGhhcyBiZWVuIGZpeGVkLgogCiAtIFVucmVjb2duaXplZCBrZXl3b3JkIGFyZ3VtZW50cyByYWlzZSBUeXBlRXJyb3IsIG5vdCBLZXlFcnJvci4KIAotLSBCZXR0ZXIgcG9ydGFiaWxpdHksIGZld2VyIGJ1Z3MgYW5kIG1lbW9yeSBsZWFrcywgZmV3ZXIgY29tcGlsZXIgd2FybmluZ3MsIAorLSBCZXR0ZXIgcG9ydGFiaWxpdHksIGZld2VyIGJ1Z3MgYW5kIG1lbW9yeSBsZWFrcywgZmV3ZXIgY29tcGlsZXIgd2FybmluZ3MsCiBzb21lIG1vcmUgZG9jdW1lbnRhdGlvbi4KIAotLSBCdWcgaW4gZmxvYXQgcG93ZXIgYm91bmRhcnkgY2FzZSAoMC4wIHRvIHRoZSBuZWdhdGl2ZSBpbnRlZ2VyIHBvd2VyKSAKKy0gQnVnIGluIGZsb2F0IHBvd2VyIGJvdW5kYXJ5IGNhc2UgKDAuMCB0byB0aGUgbmVnYXRpdmUgaW50ZWdlciBwb3dlcikKIGZpeGVkLgogCi0tIFRoZSB0ZXN0IG9mIG5lZ2F0aXZlIG51bWJlciB0byB0aGUgZmxvYXQgcG93ZXIgaGFzIGJlZW4gbW92ZWQgZnJvbSB0aGUgCi1idWlsdC1pbiBwb3coKSBmdW5jdGluIHRvIGZsb2F0b2JqZWN0LmMgKHNvIGNvbXBsZXggbnVtYmVycyBjYW4geWllbGQgdGhlIAorLSBUaGUgdGVzdCBvZiBuZWdhdGl2ZSBudW1iZXIgdG8gdGhlIGZsb2F0IHBvd2VyIGhhcyBiZWVuIG1vdmVkIGZyb20gdGhlCitidWlsdC1pbiBwb3coKSBmdW5jdGluIHRvIGZsb2F0b2JqZWN0LmMgKHNvIGNvbXBsZXggbnVtYmVycyBjYW4geWllbGQgdGhlCiBjb3JyZWN0IHJlc3VsdCkuCiAKLS0gVGhlIGJ1ZyBpbnRyb2R1Y2VkIGluIGJldGEyIHdoZXJlIHNoYXJlZCBsaWJyYXJpZXMgbG9hZGVkICh1c2luZyAKKy0gVGhlIGJ1ZyBpbnRyb2R1Y2VkIGluIGJldGEyIHdoZXJlIHNoYXJlZCBsaWJyYXJpZXMgbG9hZGVkICh1c2luZwogZGxvcGVuKCkpIGZyb20gdGhlIGN1cnJlbnQgZGlyZWN0b3J5IHdvdWxkIGZhaWwsIGhhcyBiZWVuIGZpeGVkLgogCi0tIE1vZHVsZXMgaW1wb3J0ZWQgYXMgc2hhcmVkIGxpYnJhcmllcyBub3cgYWxzbyBoYXZlIGEgX19maWxlX18gYXR0cmlidXRlLCAKLWdpdmluZyB0aGUgZmlsZW5hbWUgZnJvbSB3aGljaCB0aGV5IHdlcmUgbG9hZGVkLiAgVGhlIG9ubHkgbW9kdWxlcyB3aXRob3V0IAorLSBNb2R1bGVzIGltcG9ydGVkIGFzIHNoYXJlZCBsaWJyYXJpZXMgbm93IGFsc28gaGF2ZSBhIF9fZmlsZV9fIGF0dHJpYnV0ZSwKK2dpdmluZyB0aGUgZmlsZW5hbWUgZnJvbSB3aGljaCB0aGV5IHdlcmUgbG9hZGVkLiAgVGhlIG9ubHkgbW9kdWxlcyB3aXRob3V0CiBhIF9fZmlsZV9fIGF0dHJpYnV0ZSBub3cgYXJlIGJ1aWx0LWluIG1vZHVsZXMuCiAKLS0gT24gdGhlIE1hYywgZHluYW1pY2FsbHkgbG9hZGVkIG1vZHVsZXMgY2FuIGVuZCBpbiBlaXRoZXIgIi5zbGIiIG9yIAotIi48cGxhdGZvcm0+LnNsYiIgd2hlcmUgPHBsYXRmb3JtPiBpcyBlaXRoZXIgIkNGTTY4SyIgb3IgInBwYyIuICBUaGUgIi5zbGIiIAorLSBPbiB0aGUgTWFjLCBkeW5hbWljYWxseSBsb2FkZWQgbW9kdWxlcyBjYW4gZW5kIGluIGVpdGhlciAiLnNsYiIgb3IKKyIuPHBsYXRmb3JtPi5zbGIiIHdoZXJlIDxwbGF0Zm9ybT4gaXMgZWl0aGVyICJDRk02OEsiIG9yICJwcGMiLiAgVGhlICIuc2xiIgogZXh0ZW5zaW9uIHNob3VsZCBvbmx5IGJlIHVzZWQgZm9yICJmYXQiIGJpbmFyaWVzLgogCi0tIEMgQVBJIGFkZGl0aW9uOiBtYXJzaGFsLmMgbm93IHN1cHBvcnRzIAorLSBDIEFQSSBhZGRpdGlvbjogbWFyc2hhbC5jIG5vdyBzdXBwb3J0cwogUHlNYXJzaGFsX1dyaXRlT2JqZWN0VG9TdHJpbmcob2JqZWN0KS4KIAogLSBDIEFQSSBhZGRpdGlvbjogZ2V0YXJncy5jIG5vdyBzdXBwb3J0cwogUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3ZGljdCwgZm9ybWF0LCBrd25hbWVzLCAuLi4pCiB0byBwYXJzZSBrZXl3b3JkIGFyZ3VtZW50cy4KIAotLSBUaGUgUEMgdmVyc2lvbmluZyBzY2hlbWUgKHN5cy53aW52ZXIpIGhhcyBjaGFuZ2VkIG9uY2UgYWdhaW4uICB0aGUgCi12ZXJzaW9uIG51bWJlciBpcyBub3cgIjxkaWdpdD4uPGRpZ2l0Pi48ZGlnaXQ+LjxhcGl2ZXJzaW9uPiIsIHdoZXJlIHRoZSAKLWZpcnN0IHRocmVlIDxkaWdpdD5zIGFyZSB0aGUgUHl0aG9uIHZlcnNpb24gKGUuZy4gIjEuNC4wIiBmb3IgUHl0aG9uIDEuNCwgCi0iMS40LjEiIGZvciBQeXRob24gMS40LjEgLS0gdGhlIGJldGEgbGV2ZWwgaXMgbm90IGluY2x1ZGVkKSBhbmQgCistIFRoZSBQQyB2ZXJzaW9uaW5nIHNjaGVtZSAoc3lzLndpbnZlcikgaGFzIGNoYW5nZWQgb25jZSBhZ2Fpbi4gIHRoZQordmVyc2lvbiBudW1iZXIgaXMgbm93ICI8ZGlnaXQ+LjxkaWdpdD4uPGRpZ2l0Pi48YXBpdmVyc2lvbj4iLCB3aGVyZSB0aGUKK2ZpcnN0IHRocmVlIDxkaWdpdD5zIGFyZSB0aGUgUHl0aG9uIHZlcnNpb24gKGUuZy4gIjEuNC4wIiBmb3IgUHl0aG9uIDEuNCwKKyIxLjQuMSIgZm9yIFB5dGhvbiAxLjQuMSAtLSB0aGUgYmV0YSBsZXZlbCBpcyBub3QgaW5jbHVkZWQpIGFuZAogPGFwaXZlcnNpb24+IGlzIHRoZSBmb3VyLWRpZ2l0IFBZVEhPTl9BUElfVkVSU0lPTiAoY3VycmVudGx5IDEwMDUpLgogCiAtIGgycHkucHkgYWNjZXB0cyB3aGl0ZXNwYWNlIGJlZm9yZSB0aGUgIyBpbiBDUFAgZGlyZWN0aXZlcwogCi0tIE9uIFNvbGFyaXMgMi41LCBpdCBzaG91bGQgbm93IGJlIHBvc3NpYmxlIHRvIHVzZSBlaXRoZXIgUG9zaXggdGhyZWFkcyBvciAKLVNvbGFyaXMgdGhyZWFkcyAoWFhYOiBob3cgZG8geW91IHNlbGVjdCB3aGljaCBpcyB1c2VkPz8/KS4gIChOb3RlOiB0aGUgCi1QeXRob24gcHRocmVhZHMgaW50ZXJmYWNlIGRvZXNuJ3QgZnVsbHkgc3VwcG9ydCBzZW1hcGhvcmVzIHlldCAtLSBhbnlvbmUgCistIE9uIFNvbGFyaXMgMi41LCBpdCBzaG91bGQgbm93IGJlIHBvc3NpYmxlIHRvIHVzZSBlaXRoZXIgUG9zaXggdGhyZWFkcyBvcgorU29sYXJpcyB0aHJlYWRzIChYWFg6IGhvdyBkbyB5b3Ugc2VsZWN0IHdoaWNoIGlzIHVzZWQ/Pz8pLiAgKE5vdGU6IHRoZQorUHl0aG9uIHB0aHJlYWRzIGludGVyZmFjZSBkb2Vzbid0IGZ1bGx5IHN1cHBvcnQgc2VtYXBob3JlcyB5ZXQgLS0gYW55b25lCiBjYXJlIHRvIGZpeCB0aGlzPykKIAotLSBUaHJlYWQgc3VwcG9ydCBzaG91bGQgbm93IHdvcmsgb24gQUlYLCB1c2luZyBlaXRoZXIgRENFIHRocmVhZHMgb3IgCistIFRocmVhZCBzdXBwb3J0IHNob3VsZCBub3cgd29yayBvbiBBSVgsIHVzaW5nIGVpdGhlciBEQ0UgdGhyZWFkcyBvcgogcHRocmVhZHMuCiAKIC0gTmV3IGZpbGUgRGVtby9zb2NrZXRzL3VuaWNhc3QucHkKIAotLSBXb3JraW5nIE1hYyBwb3J0LCB3aXRoIENGTTY4SyBzdXBwb3J0LCB3aXRoIFRrIDQuMSBzdXBwb3J0ICh0aG91Z2ggbm90IAorLSBXb3JraW5nIE1hYyBwb3J0LCB3aXRoIENGTTY4SyBzdXBwb3J0LCB3aXRoIFRrIDQuMSBzdXBwb3J0ICh0aG91Z2ggbm90CiBib3RoKSAoWFhYKQogCi0tIE5ldyBwcm9qZWN0IHNldHVwIGZvciBQQyBwb3J0LCBub3cgY29tcGF0aWJsZSB3aXRoIFB5dGhvbldpbiwgd2l0aCAKKy0gTmV3IHByb2plY3Qgc2V0dXAgZm9yIFBDIHBvcnQsIG5vdyBjb21wYXRpYmxlIHdpdGggUHl0aG9uV2luLCB3aXRoCiBfdGtpbnRlciBhbmQgTnVtUHkgc3VwcG9ydCAoWFhYKQogCiAtIE5ldyBtb2R1bGUgc2l0ZS5weSAoWFhYKQpAQCAtMjU0NzUsNyArMjU1MDgsNyBAQAogCiAtIHN0cmluZy5hdG9pIGMucy4gbm93IHJhaXNlIGFuIGV4Y2VwdGlvbiBmb3IgYW4gZW1wdHkgaW5wdXQgc3RyaW5nLgogCi0tIEF0IGxhc3QsIGl0IGlzIG5vIGxvbmdlciBuZWNlc3NhcnkgdG8gZGVmaW5lIEhBVkVfQ09ORklHX0ggaW4gb3JkZXIgdG8gCistIEF0IGxhc3QsIGl0IGlzIG5vIGxvbmdlciBuZWNlc3NhcnkgdG8gZGVmaW5lIEhBVkVfQ09ORklHX0ggaW4gb3JkZXIgdG8KIGhhdmUgY29uZmlnLmggaW5jbHVkZWQgYXQgdmFyaW91cyBwbGFjZXMuCiAKIC0gVW5yZWNvZ25pemVkIGtleXdvcmQgYXJndW1lbnRzIG5vdyByYWlzZSBUeXBlRXJyb3IgcmF0aGVyIHRoYW4gS2V5RXJyb3IuCkBAIC0yNTQ4MywyNSArMjU1MTYsMjUgQEAKIC0gVGhlIG1ha2VzZXR1cCBzY3JpcHQgcmVjb2duaXplcyBmaWxlcyB3aXRoIGV4dGVuc2lvbiAuc28gb3IgLnNsIGFzCiAoc2hhcmVkKSBsaWJyYXJpZXMuCiAKLS0gJ2FjY2VzcycgaXMgbm8gbG9uZ2VyIGEgcmVzZXJ2ZWQgd29yZCwgYW5kIGFsbCBjb2RlIHJlbGF0ZWQgdG8gaXRzIAotaW1wbGVtZW50YXRpb24gaXMgZ29uZSAob3IgYXQgbGVhc3QgI2lmZGVmJ2VkIG91dCkuICBUaGlzIHNob3VsZCBtYWtlIAorLSAnYWNjZXNzJyBpcyBubyBsb25nZXIgYSByZXNlcnZlZCB3b3JkLCBhbmQgYWxsIGNvZGUgcmVsYXRlZCB0byBpdHMKK2ltcGxlbWVudGF0aW9uIGlzIGdvbmUgKG9yIGF0IGxlYXN0ICNpZmRlZidlZCBvdXQpLiAgVGhpcyBzaG91bGQgbWFrZQogUHl0aG9uIGEgbGl0dGxlIHNwZWVkaWVyIHRvbyEKIAotLSBQZXJmb3JtYW5jZSBlbmhhbmNlbWVudHMgc3VnZ2VzdGVkIGJ5IFNqb2VyZCBNdWxsZW5kZXIuICBUaGlzIGluY2x1ZGVzIAotdGhlIGludHJvZHVjdGlvbiBvZiB0d28gbmV3IG9wdGlvbmFsIGZ1bmN0aW9uIHBvaW50ZXJzIGluIHR5cGUgb2JqZWN0LCAKLWdldGF0dHJvIGFuZCBzZXRhdHRybywgd2hpY2ggYXJlIGxpa2UgZ2V0YXR0ciBhbmQgc2V0YXR0ciBidXQgdGFrZSBhIAorLSBQZXJmb3JtYW5jZSBlbmhhbmNlbWVudHMgc3VnZ2VzdGVkIGJ5IFNqb2VyZCBNdWxsZW5kZXIuICBUaGlzIGluY2x1ZGVzCit0aGUgaW50cm9kdWN0aW9uIG9mIHR3byBuZXcgb3B0aW9uYWwgZnVuY3Rpb24gcG9pbnRlcnMgaW4gdHlwZSBvYmplY3QsCitnZXRhdHRybyBhbmQgc2V0YXR0cm8sIHdoaWNoIGFyZSBsaWtlIGdldGF0dHIgYW5kIHNldGF0dHIgYnV0IHRha2UgYQogc3RyaW5nIG9iamVjdCBpbnN0ZWFkIG9mIGEgQyBzdHJpbmcgcG9pbnRlci4KIAotLSBOZXcgb3BlcmF0aW9ucyBpbiBzdHJpbmcgbW9kdWxlOiBsc3RyaXAocykgYW5kIHJzdHJpcChzKSBzdHJpcCB3aGl0ZXNwYWNlIAotb25seSBvbiB0aGUgbGVmdCBvciBvbmx5IG9uIHRoZSByaWdodCwgQSBuZXcgb3B0aW9uYWwgdGhpcmQgYXJndW1lbnQgdG8gCi1zcGxpdCgpIHNwZWNpZmllcyB0aGUgbWF4aW11bSBudW1iZXIgb2Ygc2VwYXJhdG9ycyBob25vcmVkIChzbyAKLXNwbGl0ZmllbGRzKHMsIHNlcCwgbikgcmV0dXJucyBhIGxpc3Qgb2YgYXQgbW9zdCBuKzEgZWxlbWVudHMpLiAgKFNpbmNlIAorLSBOZXcgb3BlcmF0aW9ucyBpbiBzdHJpbmcgbW9kdWxlOiBsc3RyaXAocykgYW5kIHJzdHJpcChzKSBzdHJpcCB3aGl0ZXNwYWNlCitvbmx5IG9uIHRoZSBsZWZ0IG9yIG9ubHkgb24gdGhlIHJpZ2h0LCBBIG5ldyBvcHRpb25hbCB0aGlyZCBhcmd1bWVudCB0bworc3BsaXQoKSBzcGVjaWZpZXMgdGhlIG1heGltdW0gbnVtYmVyIG9mIHNlcGFyYXRvcnMgaG9ub3JlZCAoc28KK3NwbGl0ZmllbGRzKHMsIHNlcCwgbikgcmV0dXJucyBhIGxpc3Qgb2YgYXQgbW9zdCBuKzEgZWxlbWVudHMpLiAgKFNpbmNlCiAxLjMsIHNwbGl0ZmllbGRzKHMsIE5vbmUpIGlzIHRvdGFsbHkgZXF1aXZhbGVudCB0byBzcGxpdChzKS4pCi1zdHJpbmcuY2Fwd29yZHMoKSBoYXMgYW4gb3B0aW9uYWwgc2Vjb25kIGFyZ3VtZW50IHNwZWNpZnlpbmcgdGhlIAorc3RyaW5nLmNhcHdvcmRzKCkgaGFzIGFuIG9wdGlvbmFsIHNlY29uZCBhcmd1bWVudCBzcGVjaWZ5aW5nIHRoZQogc2VwYXJhdG9yICh3aGljaCBpcyBwYXNzZWQgdG8gc3BsaXQoKSkuCiAKLS0gcmVnc3ViLnNwbGl0KCkgaGFzIHRoZSBzYW1lIGFkZGl0aW9uIGFzIHN0cmluZy5zcGxpdCgpLiAgcmVnc3ViLnNwbGl0eChzLCAKLXNlcCwgbWF4c2VwKSBpbXBsZW1lbnRzIHRoZSBmdW5jdGlvbmFsaXR5IHRoYXQgd2FzIHJlZ3N1Yi5zcGxpdChzLCAxKSBpbiAKKy0gcmVnc3ViLnNwbGl0KCkgaGFzIHRoZSBzYW1lIGFkZGl0aW9uIGFzIHN0cmluZy5zcGxpdCgpLiAgcmVnc3ViLnNwbGl0eChzLAorc2VwLCBtYXhzZXApIGltcGxlbWVudHMgdGhlIGZ1bmN0aW9uYWxpdHkgdGhhdCB3YXMgcmVnc3ViLnNwbGl0KHMsIDEpIGluCiAxLjRiZXRhMiAocmV0dXJuIGEgbGlzdCBjb250YWluaW5nIHRoZSBkZWxpbWl0ZXJzIGFzIHdlbGwgYXMgdGhlIHdvcmRzKS4KIAogLSBGaW5hbCB0b3VjaCBmb3IgQUlYIGxvYWRpbmcsIHJld3JpdHRlbiBNaXNjL0FJWC1OT1RFUy4KQEAgLTI1NTQ1LDExICsyNTU3OCwxMSBAQAogbWVhbmluZ2Z1bCB2YWx1ZSAoYSBmZXcgdGhpbmdzIHdlcmUgYm90Y2hlZCBpbiBiZXRhIDEpLiAgTGliL2Rvc184eDMKIGlzIG5vdyBhIHN0YW5kYXJkIHBhcnQgb2YgdGhlIGRpc3RyaWJ1dGlvbiAoYWxhcykuCiAKLS0gTW9yZSBpbXByb3ZlbWVudHMgdG8gdGhlIGluc3RhbGxhdGlvbiBwcm9jZWR1cmUuICBUeXBpbmcgIm1ha2UgaW5zdGFsbCIgCi1ub3cgaW5zZXJ0cyB0aGUgdmVyc2lvbiBudW1iZXIgaW4gdGhlIHBhdGhuYW1lcyBvZiBhbG1vc3QgZXZlcnl0aGluZyAKLWluc3RhbGxlZCwgYW5kIGNyZWF0ZXMgdGhlIG1hY2hpbmUgZGVwZW5kZW50IG1vZHVsZXMgKEZDTlRMLnB5IGV0Yy4pIGlmIG5vdCAKLXN1cHBsaWVkIGJ5IHRoZSBkaXN0cmlidXRpb24uICAoWFhYIFRoZXJlJ3Mgc3RpbGwgYSBwcm9ibGVtIHdpdGggdGhlIGxhdHRlciAKLWJlY2F1c2UgdGhlICJyZWdlbiIgc2NyaXB0IHJlcXVpcmVzIHRoYXQgUHl0aG9uIGlzIGluc3RhbGxlZC4gIFNvbWUgbWFudWFsIAorLSBNb3JlIGltcHJvdmVtZW50cyB0byB0aGUgaW5zdGFsbGF0aW9uIHByb2NlZHVyZS4gIFR5cGluZyAibWFrZSBpbnN0YWxsIgorbm93IGluc2VydHMgdGhlIHZlcnNpb24gbnVtYmVyIGluIHRoZSBwYXRobmFtZXMgb2YgYWxtb3N0IGV2ZXJ5dGhpbmcKK2luc3RhbGxlZCwgYW5kIGNyZWF0ZXMgdGhlIG1hY2hpbmUgZGVwZW5kZW50IG1vZHVsZXMgKEZDTlRMLnB5IGV0Yy4pIGlmIG5vdAorc3VwcGxpZWQgYnkgdGhlIGRpc3RyaWJ1dGlvbi4gIChYWFggVGhlcmUncyBzdGlsbCBhIHByb2JsZW0gd2l0aCB0aGUgbGF0dGVyCitiZWNhdXNlIHRoZSAicmVnZW4iIHNjcmlwdCByZXF1aXJlcyB0aGF0IFB5dGhvbiBpcyBpbnN0YWxsZWQuICBTb21lIG1hbnVhbAogaW50ZXJ2ZW50aW9uIG1heSBzdGlsbCBiZSByZXF1aXJlZC4pIChUaGlzIGhhcyBiZWVuIGZpeGVkIGluIDEuNGJldGEzLikKIAogLSBOZXcgbW9kdWxlczogZXJybm8sIG9wZXJhdG9yIChYWFgpLgpAQCAtMjU2MTIsOCArMjU2NDUsOCBAQAogCiAtIEFkZGVkIHN5cy5wbGF0Zm9ybSBhbmQgc3lzLmV4ZWNfcGxhdGZvcm0gZm9yIEJpbGwgSmFuc3Nlbi4KIAotLSBJbnN0YWxsYXRpb24gaGFzIGJlZW4gY29tcGxldGVseSBvdmVyaGF1bGVkLiAgIm1ha2UgaW5zdGFsbCIgbm93IGluc3RhbGxzIAotZXZlcnl0aGluZywgbm90IGp1c3QgdGhlIHB5dGhvbiBiaW5hcnkuICBJbnN0YWxsYXRpb24gdXNlcyB0aGUgaW5zdGFsbC1zaCAKKy0gSW5zdGFsbGF0aW9uIGhhcyBiZWVuIGNvbXBsZXRlbHkgb3ZlcmhhdWxlZC4gICJtYWtlIGluc3RhbGwiIG5vdyBpbnN0YWxscworZXZlcnl0aGluZywgbm90IGp1c3QgdGhlIHB5dGhvbiBiaW5hcnkuICBJbnN0YWxsYXRpb24gdXNlcyB0aGUgaW5zdGFsbC1zaAogc2NyaXB0IChib3Jyb3dlZCBmcm9tIFgxMSkgdG8gaW5zdGFsbCBlYWNoIGZpbGUuCiAKIC0gTmV3IGZ1bmN0aW9ucyBpbiB0aGUgcG9zaXggbW9kdWxlOiBta2ZpZm8sIHBsb2NrLCByZW1vdmUgKD09IHVubGluayksCkBAIC0yNTYyMyw1OSArMjU2NTYsNTkgQEAKIAogLSBTaGFyZWQgbGlicmFyeSBzdXBwb3J0IGZvciBGcmVlQlNELgogCi0tIFRoZSAtLXdpdGgtcmVhZGxpbmUgb3B0aW9uIGNhbiBub3cgYmUgdXNlZCB3aXRob3V0IGEgRElSRUNUT1JZIGFyZ3VtZW50LCAKLWZvciBzeXN0ZW1zIHdoZXJlIGxpYnJlYWRsaW5lLiogaXMgaW4gb25lIG9mIHRoZSBzdGFuZGFyZCBwbGFjZXMuICBJdCBpcyAKKy0gVGhlIC0td2l0aC1yZWFkbGluZSBvcHRpb24gY2FuIG5vdyBiZSB1c2VkIHdpdGhvdXQgYSBESVJFQ1RPUlkgYXJndW1lbnQsCitmb3Igc3lzdGVtcyB3aGVyZSBsaWJyZWFkbGluZS4qIGlzIGluIG9uZSBvZiB0aGUgc3RhbmRhcmQgcGxhY2VzLiAgSXQgaXMKIGFsc28gcG9zc2libGUgZm9yIGl0IHRvIGJlIGEgc2hhcmVkIGxpYnJhcnkuCiAKLS0gVGhlIGV4dGVuc2lvbiB0a2ludGVyIGhhcyBiZWVuIHJlbmFtZWQgdG8gX3RraW50ZXIsIHRvIGF2b2lkIGNvbmZ1c2lvbiAKLXdpdGggVGtpbnRlci5weSBvbmNhc2UgaW5zZW5zaXRpdmUgZmlsZSBzeXN0ZW1zLiAgSXQgbm93IHN1cHBvcnRzIFRrIDQuMSBhcyAKKy0gVGhlIGV4dGVuc2lvbiB0a2ludGVyIGhhcyBiZWVuIHJlbmFtZWQgdG8gX3RraW50ZXIsIHRvIGF2b2lkIGNvbmZ1c2lvbgord2l0aCBUa2ludGVyLnB5IG9uY2FzZSBpbnNlbnNpdGl2ZSBmaWxlIHN5c3RlbXMuICBJdCBub3cgc3VwcG9ydHMgVGsgNC4xIGFzCiB3ZWxsIGFzIDQuMC4KIAotLSBBdXRob3IncyBjaGFuZ2Ugb2YgYWRkcmVzcyBmcm9tIENXSSBpbiBBbXN0ZXJkYW0sIFRoZSBOZXRoZXJsYW5kcywgdG8gCistIEF1dGhvcidzIGNoYW5nZSBvZiBhZGRyZXNzIGZyb20gQ1dJIGluIEFtc3RlcmRhbSwgVGhlIE5ldGhlcmxhbmRzLCB0bwogQ05SSSBpbiBSZXN0b24sIFZBLCBVU0EuCiAKLS0gVGhlIG1hdGguaHlwb3QoKSBmdW5jdGlvbiBpcyBub3cgYWx3YXlzIGF2YWlsYWJsZSAoaWYgaXQgaXNuJ3QgZm91bmQgaW4gCistIFRoZSBtYXRoLmh5cG90KCkgZnVuY3Rpb24gaXMgbm93IGFsd2F5cyBhdmFpbGFibGUgKGlmIGl0IGlzbid0IGZvdW5kIGluCiB0aGUgQyBtYXRoIGxpYnJhcnksIFB5dGhvbiBwcm92aWRlcyBpdHMgb3duIGltcGxlbWVudGF0aW9uKS4KIAotLSBUaGUgbGF0ZXggZG9jdW1lbnRhdGlvbiBpcyBub3cgY29tcGF0aWJsZSB3aXRoIGxhdGV4MmUsIHRoYW5rcyB0byBEYXZpZCAKKy0gVGhlIGxhdGV4IGRvY3VtZW50YXRpb24gaXMgbm93IGNvbXBhdGlibGUgd2l0aCBsYXRleDJlLCB0aGFua3MgdG8gRGF2aWQKIEFzY2hlci4KIAogLSBUaGUgZXhwcmVzc2lvbiB4Kip5IGlzIG5vdyBlcXVpdmFsZW50IHRvIHBvdyh4LCB5KS4KIAogLSBUaGUgaW5kZXhpbmcgZXhwcmVzc2lvbiB4W2EsIGIsIGNdIGlzIG5vdyBlcXVpdmFsZW50IHRvIHhbKGEsIGIsIGMpXS4KIAotLSBDb21wbGV4IG51bWJlcnMgYXJlIG5vdyBzdXBwb3J0ZWQuICBJbWFnaW5hcnkgY29uc3RhbnRzIGFyZSB3cml0dGVuIHdpdGggCi1hICdqJyBvciAnSicgcHJlZml4LCBnZW5lcmFsIGNvbXBsZXggbnVtYmVycyBjYW4gYmUgZm9ybWVkIGJ5IGFkZGluZyBhIHJlYWwgCi1wYXJ0IHRvIGFuIGltYWdpbmFyeSBwYXJ0LCBsaWtlIDMrNGouICBDb21wbGV4IG51bWJlcnMgYXJlIGFsd2F5cyBzdG9yZWQgaW4gCi1mbG9hdGluZyBwb2ludCBmb3JtLCBzbyB0aGlzIGlzIGVxdWl2YWxlbnQgdG8gMy4wKzQuMGouICBJdCBpcyBhbHNvIAotcG9zc2libGUgdG8gY3JlYXRlIGNvbXBsZXggbnVtYmVycyB3aXRoIHRoZSBuZXcgYnVpbHQtaW4gZnVuY3Rpb24gCi1jb21wbGV4KHJlLCBbaW1dKS4gIEZvciB0aGUgZm9vdHByaW50LWNvbnNjaW91cywgY29tcGxleCBudW1iZXIgc3VwcG9ydCBjYW4gCistIENvbXBsZXggbnVtYmVycyBhcmUgbm93IHN1cHBvcnRlZC4gIEltYWdpbmFyeSBjb25zdGFudHMgYXJlIHdyaXR0ZW4gd2l0aAorYSAnaicgb3IgJ0onIHByZWZpeCwgZ2VuZXJhbCBjb21wbGV4IG51bWJlcnMgY2FuIGJlIGZvcm1lZCBieSBhZGRpbmcgYSByZWFsCitwYXJ0IHRvIGFuIGltYWdpbmFyeSBwYXJ0LCBsaWtlIDMrNGouICBDb21wbGV4IG51bWJlcnMgYXJlIGFsd2F5cyBzdG9yZWQgaW4KK2Zsb2F0aW5nIHBvaW50IGZvcm0sIHNvIHRoaXMgaXMgZXF1aXZhbGVudCB0byAzLjArNC4wai4gIEl0IGlzIGFsc28KK3Bvc3NpYmxlIHRvIGNyZWF0ZSBjb21wbGV4IG51bWJlcnMgd2l0aCB0aGUgbmV3IGJ1aWx0LWluIGZ1bmN0aW9uCitjb21wbGV4KHJlLCBbaW1dKS4gIEZvciB0aGUgZm9vdHByaW50LWNvbnNjaW91cywgY29tcGxleCBudW1iZXIgc3VwcG9ydCBjYW4KIGJlIGRpc2FibGVkIGJ5IGRlZmluaW5nIHRoZSBzeW1ib2wgV0lUSE9VVF9DT01QTEVYLgogCiAtIE5ldyBidWlsdC1pbiBmdW5jdGlvbiBsaXN0KCkgaXMgdGhlIGxvbmctYXdhaXRlZCBjb3VudGVycGFydCBvZiB0dXBsZSgpLgogCi0tIFRoZXJlJ3MgYSBuZXcgImNtYXRoIiBtb2R1bGUgd2hpY2ggcHJvdmlkZXMgdGhlIHNhbWUgZnVuY3Rpb25zIGFzIHRoZSAKLSJtYXRoIiBsaWJyYXJ5IGJ1dCB3aXRoIGNvbXBsZXggYXJndW1lbnRzIGFuZCByZXN1bHRzLiAgKFRoZXJlIGFyZSB2ZXJ5IAotZ29vZCByZWFzb25zIHdoeSBtYXRoLnNxcnQoLTEpIHN0aWxsIHJhaXNlcyBhbiBleGNlcHRpb24gLS0geW91IGhhdmUgdG8gdXNlIAorLSBUaGVyZSdzIGEgbmV3ICJjbWF0aCIgbW9kdWxlIHdoaWNoIHByb3ZpZGVzIHRoZSBzYW1lIGZ1bmN0aW9ucyBhcyB0aGUKKyJtYXRoIiBsaWJyYXJ5IGJ1dCB3aXRoIGNvbXBsZXggYXJndW1lbnRzIGFuZCByZXN1bHRzLiAgKFRoZXJlIGFyZSB2ZXJ5Citnb29kIHJlYXNvbnMgd2h5IG1hdGguc3FydCgtMSkgc3RpbGwgcmFpc2VzIGFuIGV4Y2VwdGlvbiAtLSB5b3UgaGF2ZSB0byB1c2UKIGNtYXRoLnNxcnQoLTEpIHRvIGdldCAxaiBmb3IgYW4gYW5zd2VyLikKIAotLSBUaGUgUHl0aG9uLmggaGVhZGVyIGZpbGUgKHdoaWNoIGlzIHJlYWxseSB0aGUgc2FtZSBhcyBhbGxvYmplY3RzLmggZXhjZXB0IAotaXQgZGlzYWJsZXMgc3VwcG9ydCBmb3Igb2xkIHN0eWxlIG5hbWVzKSBub3cgaW5jbHVkZXMgc2V2ZXJhbCBtb3JlIGZpbGVzLCAKKy0gVGhlIFB5dGhvbi5oIGhlYWRlciBmaWxlICh3aGljaCBpcyByZWFsbHkgdGhlIHNhbWUgYXMgYWxsb2JqZWN0cy5oIGV4Y2VwdAoraXQgZGlzYWJsZXMgc3VwcG9ydCBmb3Igb2xkIHN0eWxlIG5hbWVzKSBub3cgaW5jbHVkZXMgc2V2ZXJhbCBtb3JlIGZpbGVzLAogc28geW91IGhhdmUgdG8gaGF2ZSBmZXdlciAjaW5jbHVkZSBzdGF0ZW1lbnRzIGluIHRoZSBhdmVyYWdlIGV4dGVuc2lvbi4KIAotLSBUaGUgTkRFQlVHIHN5bWJvbCBpcyBubyBsb25nZXIgdXNlZC4gIENvZGUgdGhhdCB1c2VkIHRvIGJlIGRlcGVuZGVudCBvbiAKLXRoZSBwcmVzZW5jZSBvZiBOREVCVUcgaXMgbm93IHByZXNlbnQgb24gdGhlIGFic2VuY2Ugb2YgREVCVUcuICBUUkFDRV9SRUZTIAotYW5kIFJFRl9ERUJVRyBoYXZlIGJlZW4gcmVuYW1lZCB0byBQeV9UUkFDRV9SRUZTIGFuZCBQeV9SRUZfREVCVUcsIAotcmVzcGVjdGl2ZWx5LiAgQXQgbG9uZyBsYXN0LCB0aGUgc291cmNlIGFjdHVhbGx5IGNvbXBpbGVzIGFuZCBsaW5rcyB3aXRob3V0IAorLSBUaGUgTkRFQlVHIHN5bWJvbCBpcyBubyBsb25nZXIgdXNlZC4gIENvZGUgdGhhdCB1c2VkIHRvIGJlIGRlcGVuZGVudCBvbgordGhlIHByZXNlbmNlIG9mIE5ERUJVRyBpcyBub3cgcHJlc2VudCBvbiB0aGUgYWJzZW5jZSBvZiBERUJVRy4gIFRSQUNFX1JFRlMKK2FuZCBSRUZfREVCVUcgaGF2ZSBiZWVuIHJlbmFtZWQgdG8gUHlfVFJBQ0VfUkVGUyBhbmQgUHlfUkVGX0RFQlVHLAorcmVzcGVjdGl2ZWx5LiAgQXQgbG9uZyBsYXN0LCB0aGUgc291cmNlIGFjdHVhbGx5IGNvbXBpbGVzIGFuZCBsaW5rcyB3aXRob3V0CiBlcnJvcnMgd2hlbiB0aGlzIHN5bWJvbCBpcyBkZWZpbmVkLgogCi0tIFNldmVyYWwgc3ltYm9scyB0aGF0IGRpZG4ndCBmb2xsb3cgdGhlIG5ldyBuYW1pbmcgc2NoZW1lIGhhdmUgYmVlbiAKLXJlbmFtZWQgKHVzdWFsbHkgYnkgYWRkaW5nIHRvIHJlbmFtZTIuaCkgdG8gdXNlIGEgUHkgb3IgX1B5IHByZWZpeC4gIFRoZXJlIAotYXJlIG5vIGV4dGVybmFsIHN5bWJvbHMgbGVmdCB3aXRob3V0IGEgUHkgb3IgX1B5IHByZWZpeCwgbm90IGV2ZW4gdGhvc2UgCi1kZWZpbmVkIGJ5IHNvdXJjZXMgdGhhdCB3ZXJlIGluY29ycG9yYXRlZCBmcm9tIGVsc2V3aGVyZSAocmVnZXhwci5jLCAKKy0gU2V2ZXJhbCBzeW1ib2xzIHRoYXQgZGlkbid0IGZvbGxvdyB0aGUgbmV3IG5hbWluZyBzY2hlbWUgaGF2ZSBiZWVuCityZW5hbWVkICh1c3VhbGx5IGJ5IGFkZGluZyB0byByZW5hbWUyLmgpIHRvIHVzZSBhIFB5IG9yIF9QeSBwcmVmaXguICBUaGVyZQorYXJlIG5vIGV4dGVybmFsIHN5bWJvbHMgbGVmdCB3aXRob3V0IGEgUHkgb3IgX1B5IHByZWZpeCwgbm90IGV2ZW4gdGhvc2UKK2RlZmluZWQgYnkgc291cmNlcyB0aGF0IHdlcmUgaW5jb3Jwb3JhdGVkIGZyb20gZWxzZXdoZXJlIChyZWdleHByLmMsCiBtZDVjLmMpLiAgKE1hY3JvcyBhcmUgYSBkaWZmZXJlbnQgc3RvcnkuLi4pCiAKLS0gVGhlcmUgYXJlIG5vdyB0eXBlZGVmcyBmb3IgdGhlIHN0cnVjdHVyZXMgZGVmaW5lZCBpbiBjb25maWcuYyBhbmQgCistIFRoZXJlIGFyZSBub3cgdHlwZWRlZnMgZm9yIHRoZSBzdHJ1Y3R1cmVzIGRlZmluZWQgaW4gY29uZmlnLmMgYW5kCiBmcm96ZW4uYy4KIAogLSBOZXcgUFlUSE9OX0FQSV9WRVJTSU9OIHZhbHVlIGFuZCAucHljIGZpbGUgbWFnaWMgbnVtYmVyLgpAQCAtMjU2ODksMTI1ICsyNTcyMiwxMjUgQEAKIC0gVGhlIGJpbmhleCBhbmQgYmluYXNjaWkgbW9kdWxlcyBub3cgYWN0dWFsbHkgd29yay4KIAogLSBUaGUgY2dpIG1vZHVsZSBoYXMgYmVlbiBhbG1vc3QgdG90YWxseSByZXdyaXR0ZW4gYW5kIGRvY3VtZW50ZWQuCi1JdCBub3cgc3VwcG9ydHMgZmlsZSB1cGxvYWQgYW5kIGEgbmV3IGRhdGEgdHlwZSB0byBoYW5kbGUgZm9ybXMgbW9yZSAKK0l0IG5vdyBzdXBwb3J0cyBmaWxlIHVwbG9hZCBhbmQgYSBuZXcgZGF0YSB0eXBlIHRvIGhhbmRsZSBmb3JtcyBtb3JlCiBmbGV4aWJseS4KIAogLSBUaGUgZm9ybWF0dGVyIG1vZHVsZSAoZm9yIHVzZSB3aXRoIGh0bWxsaWIpIGhhcyBiZWVuIG92ZXJoYXVsZWQgKGFnYWluKS4KIAogLSBUaGUgZnRwbGliIG1vZHVsZSBub3cgc3VwcG9ydHMgcGFzc2l2ZSBtb2RlIGFuZCBoYXMgZG9jIHN0cmluZ3MuCiAKLS0gSW4gKGlkZWFsbHkpIGFsbCBwbGFjZXMgd2hlcmUgYmluYXJ5IGZpbGVzIGFyZSByZWFkIG9yIHdyaXR0ZW4sIHRoZSBmaWxlIAotaXMgbm93IGNvcnJlY3RseSBvcGVuZWQgaW4gYmluYXJ5IG1vZGUgKCdyYicgb3IgJ3diJykgc28gdGhlIGNvZGUgd2lsbCB3b3JrIAorLSBJbiAoaWRlYWxseSkgYWxsIHBsYWNlcyB3aGVyZSBiaW5hcnkgZmlsZXMgYXJlIHJlYWQgb3Igd3JpdHRlbiwgdGhlIGZpbGUKK2lzIG5vdyBjb3JyZWN0bHkgb3BlbmVkIGluIGJpbmFyeSBtb2RlICgncmInIG9yICd3YicpIHNvIHRoZSBjb2RlIHdpbGwgd29yawogb24gTWFjIG9yIFBDLgogCi0tIER1bW15IHZlcnNpb25zIG9mIG9zLnBhdGguZXhwYW5kdmFycygpIGFuZCBleHBhbmR1c2VyKCkgYXJlIG5vdyBwcm92aWRlZCAKKy0gRHVtbXkgdmVyc2lvbnMgb2Ygb3MucGF0aC5leHBhbmR2YXJzKCkgYW5kIGV4cGFuZHVzZXIoKSBhcmUgbm93IHByb3ZpZGVkCiBvbiBub24tVW5peCBwbGF0Zm9ybXMuCiAKLS0gTW9kdWxlIHVybGxpYiBub3cgaGFzIHR3byBuZXcgZnVuY3Rpb25zIHVybDJwYXRobmFtZSBhbmQgcGF0aG5hbWUydXJsIAotd2hpY2ggdHVybiBsb2NhbCBmaWxlbmFtZXMgaW50byAiZmlsZTouLi4iIFVSTHMgdXNpbmcgdGhlIHNhbWUgcnVsZXMgYXMgCi1OZXRzY2FwZSAod2h5IGJlIGRpZmZlcmVudCkuICBpdCBhbHNvIHN1cHBvcnRzIHVybHJldHJpZXZlKCkgd2l0aCBhIAotcGF0aG5hbWUgcGFyYW1ldGVyLCBhbmQgaG9ub3JzIHRoZSBwcm94eSBlbnZpcm9ubWVudCB2YXJpYWJsZXMgKGh0dHBfcHJveHkgCistIE1vZHVsZSB1cmxsaWIgbm93IGhhcyB0d28gbmV3IGZ1bmN0aW9ucyB1cmwycGF0aG5hbWUgYW5kIHBhdGhuYW1lMnVybAord2hpY2ggdHVybiBsb2NhbCBmaWxlbmFtZXMgaW50byAiZmlsZTouLi4iIFVSTHMgdXNpbmcgdGhlIHNhbWUgcnVsZXMgYXMKK05ldHNjYXBlICh3aHkgYmUgZGlmZmVyZW50KS4gIGl0IGFsc28gc3VwcG9ydHMgdXJscmV0cmlldmUoKSB3aXRoIGEKK3BhdGhuYW1lIHBhcmFtZXRlciwgYW5kIGhvbm9ycyB0aGUgcHJveHkgZW52aXJvbm1lbnQgdmFyaWFibGVzIChodHRwX3Byb3h5CiBldGMuKS4gIFRoZSBVUkwgcGFyc2luZyBoYXMgYmVlbiBpbXByb3ZlZCBzb21ld2hhdCwgdG9vLgogCi0tIE1pY3JvIGltcHJvdmVtZW50cyB0byB1cmxwYXJzZS4gIEFkZGVkIHVybHBhcnNlLnVybGRlZnJhZygpIHdoaWNoIAorLSBNaWNybyBpbXByb3ZlbWVudHMgdG8gdXJscGFyc2UuICBBZGRlZCB1cmxwYXJzZS51cmxkZWZyYWcoKSB3aGljaAogcmVtb3ZlcyBhIHRyYWlsaW5nIGBgI2ZyYWdtZW50JycgaWYgYW55LgogCiAtIFRoZSBtYWlsYm94IG1vZHVsZSBub3cgc3VwcG9ydHMgTUggc3R5bGUgbWVzc2FnZSBkZWxpbWl0ZXJzIGFzIHdlbGwuCiAKLS0gVGhlIG1obGliIG1vZHVsZSBjb250YWlucyBzb21lIG5ldyBmdW5jdGlvbmFsaXR5OiBzZXRjb250ZXh0KCkgdG8gc2V0IHRoZSAKLWN1cnJlbnQgZm9sZGVyIGFuZCBwYXJzZXNlcXVlbmNlKCkgdG8gcGFyc2UgYSBzZXF1ZW5jZSBhcyBjb21tb25seSBwYXNzZWQgCistIFRoZSBtaGxpYiBtb2R1bGUgY29udGFpbnMgc29tZSBuZXcgZnVuY3Rpb25hbGl0eTogc2V0Y29udGV4dCgpIHRvIHNldCB0aGUKK2N1cnJlbnQgZm9sZGVyIGFuZCBwYXJzZXNlcXVlbmNlKCkgdG8gcGFyc2UgYSBzZXF1ZW5jZSBhcyBjb21tb25seSBwYXNzZWQKIHRvIE1IIGNvbW1hbmRzIChlLmcuIDEtMTAgb3IgbGFzdDo1KS4KIAotLSBOZXcgbW9kdWxlIG1pbWlmeSBmb3IgY29udmVyc2lvbiB0byBhbmQgZnJvbSBNSU1FIGZvcm1hdCBvZiBlbWFpbCAKKy0gTmV3IG1vZHVsZSBtaW1pZnkgZm9yIGNvbnZlcnNpb24gdG8gYW5kIGZyb20gTUlNRSBmb3JtYXQgb2YgZW1haWwKIG1lc3NhZ2VzLgogCi0tIE1vZHVsZSBuaSBub3cgYXV0b21hdGljYWxseSBpbnN0YWxscyBpdHNlbGYgd2hlbiBmaXJzdCBpbXBvcnRlZCAtLSB0aGlzIAotaXMgYWdhaW5zdCB0aGUgbm9ybWFsIHJ1bGUgdGhhdCBtb2R1bGVzIHNob3VsZCBkZWZpbmUgY2xhc3NlcyBhbmQgZnVuY3Rpb25zIAotYnV0IG5vdCBpbnZva2UgdGhlbSwgYnV0IGFwcGVhcnMgbW9yZSB1c2VmdWwgaW4gdGhlIGNhc2UgdGhhdCB0d28gCistIE1vZHVsZSBuaSBub3cgYXV0b21hdGljYWxseSBpbnN0YWxscyBpdHNlbGYgd2hlbiBmaXJzdCBpbXBvcnRlZCAtLSB0aGlzCitpcyBhZ2FpbnN0IHRoZSBub3JtYWwgcnVsZSB0aGF0IG1vZHVsZXMgc2hvdWxkIGRlZmluZSBjbGFzc2VzIGFuZCBmdW5jdGlvbnMKK2J1dCBub3QgaW52b2tlIHRoZW0sIGJ1dCBhcHBlYXJzIG1vcmUgdXNlZnVsIGluIHRoZSBjYXNlIHRoYXQgdHdvCiBkaWZmZXJlbnQsIGluZGVwZW5kZW50IG1vZHVsZXMgd2FudCB0byB1c2UgbmkncyBmZWF0dXJlcy4KIAogLSBTb21lIHNtYWxsIHBlcmZvcm1hbmNlIGVuaGFuY2VtZW50cyBpbiBtb2R1bGUgcGlja2xlLgogCi0tIFNtYWxsIGludGVyZmFjZSBjaGFuZ2UgdG8gdGhlIHByb2ZpbGUucnVuKigpIGZhbWlseSBvZiBmdW5jdGlvbnMgLS0gbW9yZSAKKy0gU21hbGwgaW50ZXJmYWNlIGNoYW5nZSB0byB0aGUgcHJvZmlsZS5ydW4qKCkgZmFtaWx5IG9mIGZ1bmN0aW9ucyAtLSBtb3JlCiBzZW5zaWJsZSBoYW5kbGluZyBvZiByZXR1cm4gdmFsdWVzLgogCi0tIFRoZSBvZmZpY2lhbGx5IHJlZ2lzdGVyZWQgTWFjIGNyZWF0b3IgZm9yIFB5dGhvbiBmaWxlcyBpcyAnUHl0aCcuICBUaGlzIAorLSBUaGUgb2ZmaWNpYWxseSByZWdpc3RlcmVkIE1hYyBjcmVhdG9yIGZvciBQeXRob24gZmlsZXMgaXMgJ1B5dGgnLiAgVGhpcwogcmVwbGFjZXMgJ1BZVEgnIHdoaWNoIHdhcyB1c2VkIGJlZm9yZSBidXQgbmV2ZXIgcmVnaXN0ZXJlZC4KIAogLSBBZGRlZCByZWdzdWIuY2Fwd29yZHMoKS4gIChYWFgpCiAKLS0gQWRkZWQgc3RyaW5nLmNhcHdvcmRzKCksIHN0cmluZy5jYXBpdGFsaXplKCkgYW5kIHN0cmluZy50cmFuc2xhdGUoKS4gIAorLSBBZGRlZCBzdHJpbmcuY2Fwd29yZHMoKSwgc3RyaW5nLmNhcGl0YWxpemUoKSBhbmQgc3RyaW5nLnRyYW5zbGF0ZSgpLgogKFhYWCkKIAotLSBGaXhlZCBhbiBpbnRlcmZhY2UgYnVnIGluIHRoZSByZXhlYyBtb2R1bGU6IGl0IHdhcyBpbXBvc3NpYmxlIHRvIHBhc3MgYSAKLWhvb2tzIGluc3RhbmNlIHRvIHRoZSBSRXhlYyBjbGFzcy4gIHJleGVjIG5vdyBhbHNvIHN1cHBvcnRzIHRoZSBkeW5hbWljIAotbG9hZGluZyBvZiBtb2R1bGVzIGZyb20gc2hhcmVkIGxpYnJhcmllcy4gIFNvbWUgb3RoZXIgaW50ZXJmYWNlcyBoYXZlIGJlZW4gCistIEZpeGVkIGFuIGludGVyZmFjZSBidWcgaW4gdGhlIHJleGVjIG1vZHVsZTogaXQgd2FzIGltcG9zc2libGUgdG8gcGFzcyBhCitob29rcyBpbnN0YW5jZSB0byB0aGUgUkV4ZWMgY2xhc3MuICByZXhlYyBub3cgYWxzbyBzdXBwb3J0cyB0aGUgZHluYW1pYworbG9hZGluZyBvZiBtb2R1bGVzIGZyb20gc2hhcmVkIGxpYnJhcmllcy4gIFNvbWUgb3RoZXIgaW50ZXJmYWNlcyBoYXZlIGJlZW4KIGFkZGVkIHRvby4KIAotLSBNb2R1bGUgcmZjODIyIG5vdyBjYWNoZXMgdGhlIGhlYWRlcnMgaW4gYSBkaWN0aW9uYXJ5IGZvciBtb3JlIGVmZmljaWVudCAKKy0gTW9kdWxlIHJmYzgyMiBub3cgY2FjaGVzIHRoZSBoZWFkZXJzIGluIGEgZGljdGlvbmFyeSBmb3IgbW9yZSBlZmZpY2llbnQKIGxvb2t1cC4KIAotLSBUaGUgc2dtbGxpYiBtb2R1bGUgbm93IHVuZGVyc3RhbmRzIGEgbGltaXRlZCBudW1iZXIgb2YgU0dNTCAic2hvcnRoYW5kcyIgCistIFRoZSBzZ21sbGliIG1vZHVsZSBub3cgdW5kZXJzdGFuZHMgYSBsaW1pdGVkIG51bWJlciBvZiBTR01MICJzaG9ydGhhbmRzIgogbGlrZSA8QS8uLi4vIGZvciA8QT4uLi48L0E+LiAgKEl0J3Mgbm90IGNsZWFyIHRoYXQgdGhpcyB3YXMgYSBnb29kIGlkZWEuLi4pCiAKLS0gVGhlIHRlbXBmaWxlIG1vZHVsZSBhY3R1YWxseSB0cmllcyBhIG51bWJlciBvZiBkaWZmZXJlbnQgcGxhY2VzIHRvIGZpbmQgYSAKLXVzYWJsZSB0ZW1wb3JhcnkgZGlyZWN0b3J5LiAgKFRoaXMgd2FzIHByb21wdGVkIGJ5IGNlcnRhaW4gTGludXggCi1pbnN0YWxsYXRpb25zIHRoYXQgYXBwZWFyIHRvIGJlIG1pc3NpbmcgYSAvdXNyL3RtcCBkaXJlY3RvcnkuKSBbQSBidWcgaW4gCi10aGUgaW1wbGVtZW50YXRpb24gdGhhdCB3b3VsZCBpZ25vcmUgYSBwcmUtZXhpc3RpbmcgdG1wZGlyIGdsb2JhbCBoYXMgYmVlbiAKKy0gVGhlIHRlbXBmaWxlIG1vZHVsZSBhY3R1YWxseSB0cmllcyBhIG51bWJlciBvZiBkaWZmZXJlbnQgcGxhY2VzIHRvIGZpbmQgYQordXNhYmxlIHRlbXBvcmFyeSBkaXJlY3RvcnkuICAoVGhpcyB3YXMgcHJvbXB0ZWQgYnkgY2VydGFpbiBMaW51eAoraW5zdGFsbGF0aW9ucyB0aGF0IGFwcGVhciB0byBiZSBtaXNzaW5nIGEgL3Vzci90bXAgZGlyZWN0b3J5LikgW0EgYnVnIGluCit0aGUgaW1wbGVtZW50YXRpb24gdGhhdCB3b3VsZCBpZ25vcmUgYSBwcmUtZXhpc3RpbmcgdG1wZGlyIGdsb2JhbCBoYXMgYmVlbgogZml4ZWQgaW4gYmV0YTMuXQogCiAtIE11Y2ggaW1wcm92ZWQgYW5kIGVuaGFudmVkIEZpbGVEaWFsb2cgbW9kdWxlIGZvciBUa2ludGVyLgogCi0tIE1hbnkgc21hbGwgY2hhbmdlcyB0byBUa2ludGVyLCB0byBicmluZyBpdCBtb3JlIGluIGxpbmUgd2l0aCBUayA0LjAgKGFzIAorLSBNYW55IHNtYWxsIGNoYW5nZXMgdG8gVGtpbnRlciwgdG8gYnJpbmcgaXQgbW9yZSBpbiBsaW5lIHdpdGggVGsgNC4wIChhcwogd2VsbCBhcyBUayA0LjEpLgogCi0tIE5ldyBzb2NrZXQgaW50ZXJmYWNlcyBpbmNsdWRlIG50b2hzKCksIG50b2hsKCksIGh0b25zKCksIGh0b25sKCksIGFuZCAKLXMuZHVwKCkuICBTb2NrZXRzIG5vdyB3b3JrIGNvcnJlY3RseSBvbiBXaW5kb3dzLiAgT24gV2luZG93cywgdGhlIGJ1aWx0LWluIAotZXh0ZW5zaW9uIGlzIGNhbGxlZCBfc29ja2V0IGFuZCBhIHdyYXBwZXIgbW9kdWxlIHdpbi9zb2NrZXQucHkgcHJvdmlkZXMgCi0ibWFrZWZpbGUoKSIgYW5kICJkdXAoKSIgZnVuY3Rpb25hbGl0eS4gIE9uIFdpbmRvd3MsIHRoZSBzZWxlY3QgbW9kdWxlIAorLSBOZXcgc29ja2V0IGludGVyZmFjZXMgaW5jbHVkZSBudG9ocygpLCBudG9obCgpLCBodG9ucygpLCBodG9ubCgpLCBhbmQKK3MuZHVwKCkuICBTb2NrZXRzIG5vdyB3b3JrIGNvcnJlY3RseSBvbiBXaW5kb3dzLiAgT24gV2luZG93cywgdGhlIGJ1aWx0LWluCitleHRlbnNpb24gaXMgY2FsbGVkIF9zb2NrZXQgYW5kIGEgd3JhcHBlciBtb2R1bGUgd2luL3NvY2tldC5weSBwcm92aWRlcworIm1ha2VmaWxlKCkiIGFuZCAiZHVwKCkiIGZ1bmN0aW9uYWxpdHkuICBPbiBXaW5kb3dzLCB0aGUgc2VsZWN0IG1vZHVsZQogd29ya3Mgb25seSB3aXRoIHNvY2tldCBvYmplY3RzLgogCiAtIEJ1Z3MgaW4gYnNkZGIgbW9kdWxlIGZpeGVkIChlLmcuIG1pc3NpbmcgZGVmYXVsdCBhcmd1bWVudCB2YWx1ZXMpLgogCiAtIFRoZSBjdXJzZXMgZXh0ZW5zaW9uIG5vdyBpbmNsdWRlcyA8bmN1cnNlcy5oPiB3aGVuIGF2YWlsYWJsZS4KIAotLSBUaGUgZ2RibSBtb2R1bGUgbm93IHN1cHBvcnRzIG9wZW5pbmcgZGF0YWJhc2VzIGluICJmYXN0IiBtb2RlIGJ5IAorLSBUaGUgZ2RibSBtb2R1bGUgbm93IHN1cHBvcnRzIG9wZW5pbmcgZGF0YWJhc2VzIGluICJmYXN0IiBtb2RlIGJ5CiBzcGVjaWZ5aW5nICdmJyBhcyB0aGUgc2Vjb25kIGNoYXJhY3RlciBvciB0aGUgbW9kZSBzdHJpbmcuCiAKLS0gbmV3IHZhcmlhYmxlcyBzeXMucHJlZml4IGFuZCBzeXMuZXhlY19wcmVmaXggcGFzcyBjb3JyZXNwb25kaW5nIAorLSBuZXcgdmFyaWFibGVzIHN5cy5wcmVmaXggYW5kIHN5cy5leGVjX3ByZWZpeCBwYXNzIGNvcnJlc3BvbmRpbmcKIGNvbmZpZ3VyYXRpb24gb3B0aW9ucyAvIE1ha2VmaWxlIHZhcmlhYmxlcyB0byB0aGUgUHl0aG9uIHByb2dyYW1tZXIuCiAKLS0gVGhlIGBgbmV3JycgbW9kdWxlIG5vdyBzdXBwb3J0cyBjcmVhdGluZyBuZXcgdXNlci1kZWZpbmVkIGNsYXNzZXMgYXMgd2VsbCAKKy0gVGhlIGBgbmV3JycgbW9kdWxlIG5vdyBzdXBwb3J0cyBjcmVhdGluZyBuZXcgdXNlci1kZWZpbmVkIGNsYXNzZXMgYXMgd2VsbAogYXMgaW5zdGFuY2VzIHRoZXJlb2YuCiAKLS0gVGhlIHNvdW5kZXggbW9kdWxlIG5vdyBzcG9ydHMgZ2V0X3NvdW5kZXgoKSB0byBnZXQgdGhlIHNvdW5kZXggdmFsdWUgZm9yIGFuIAotYXJiaXRyYXJ5IHN0cmluZyAoZm9ybWVybHkgaXQgd291bGQgb25seSBkbyBzb3VuZGV4LWJhc2VkIHN0cmluZyAKKy0gVGhlIHNvdW5kZXggbW9kdWxlIG5vdyBzcG9ydHMgZ2V0X3NvdW5kZXgoKSB0byBnZXQgdGhlIHNvdW5kZXggdmFsdWUgZm9yIGFuCithcmJpdHJhcnkgc3RyaW5nIChmb3JtZXJseSBpdCB3b3VsZCBvbmx5IGRvIHNvdW5kZXgtYmFzZWQgc3RyaW5nCiBjb21wYXJpc29uKSBhcyB3ZWxsIGFzIGRvYyBzdHJpbmdzLgogCi0tIE5ldyBvYmplY3QgdHlwZSAiY29iamVjdCIgdG8gc2FmZWx5IHdyYXAgdm9pZCBwb2ludGVycyBmb3IgcGFzc2luZyB0aGVtIAorLSBOZXcgb2JqZWN0IHR5cGUgImNvYmplY3QiIHRvIHNhZmVseSB3cmFwIHZvaWQgcG9pbnRlcnMgZm9yIHBhc3NpbmcgdGhlbQogYmV0d2VlbiB2YXJpb3VzIGV4dGVuc2lvbiBtb2R1bGVzLgogCiAtIE1vcmUgZWZmaWNpZW50IGNvbXB1dGF0aW9uIG9mIGZsb2F0KipzbWFsbGludC4KIAotLSBUaGUgbXlzdGVyaW91cyBidWcgd2hlcmVieSAieC54IiAodHdvIG9jY3VycmVuY2VzIG9mIHRoZSBzYW1lIAotb25lLWNoYXJhY3RlciBuYW1lKSB0eXBlZCBmcm9tIHRoZSBjb21tYW5kbGluZSB3b3VsZCBzb21ldGltZXMgZmFpbCAKKy0gVGhlIG15c3RlcmlvdXMgYnVnIHdoZXJlYnkgIngueCIgKHR3byBvY2N1cnJlbmNlcyBvZiB0aGUgc2FtZQorb25lLWNoYXJhY3RlciBuYW1lKSB0eXBlZCBmcm9tIHRoZSBjb21tYW5kbGluZSB3b3VsZCBzb21ldGltZXMgZmFpbAogbXlzdGVyaW91c2x5LgogCi0tIFRoZSBpbml0aWFsaXphdGlvbiBvZiB0aGUgcmVhZGxpbmUgZnVuY3Rpb24gY2FuIG5vdyBiZSBpbnZva2VkIGJ5IGEgQyAKKy0gVGhlIGluaXRpYWxpemF0aW9uIG9mIHRoZSByZWFkbGluZSBmdW5jdGlvbiBjYW4gbm93IGJlIGludm9rZWQgYnkgYSBDCiBleHRlbnNpb24gdGhyb3VnaCBQeU9TX1JlYWRsaW5lSW5pdCgpLgogCi0tIFRoZXJlJ3Mgbm93IGFuIGV4dGVybmFsbHkgdmlzaWJsZSBwb2ludGVyIFB5SW1wb3J0X0Zyb3plbk1vZHVsZXMgd2hpY2ggCistIFRoZXJlJ3Mgbm93IGFuIGV4dGVybmFsbHkgdmlzaWJsZSBwb2ludGVyIFB5SW1wb3J0X0Zyb3plbk1vZHVsZXMgd2hpY2gKIGNhbiBiZSBjaGFuZ2VkIGJ5IGFuIGVtYmVkZGluZyBhcHBsaWNhdGlvbi4KIAotLSBUaGUgYXJndW1lbnQgcGFyc2luZyBmdW5jdGlvbnMgbm93IHN1cHBvcnQgYSBuZXcgZm9ybWF0IGNoYXJhY3RlciAnRCcgdG8gCistIFRoZSBhcmd1bWVudCBwYXJzaW5nIGZ1bmN0aW9ucyBub3cgc3VwcG9ydCBhIG5ldyBmb3JtYXQgY2hhcmFjdGVyICdEJyB0bwogc3BlY2lmeSBjb21wbGV4IG51bWJlcnMuCiAKIC0gVmFyaW91cyBtZW1vcnkgbGVha3MgcGx1Z2dlZCBhbmQgYnVncyBmaXhlZC4KIAotLSBJbXByb3ZlZCBzdXBwb3J0IGZvciBwb3NpeCB0aHJlYWRzIChub3cgdGhhdCByZWFsIGltcGxlbWVudGF0aW9ucyBhcmUgCistIEltcHJvdmVkIHN1cHBvcnQgZm9yIHBvc2l4IHRocmVhZHMgKG5vdyB0aGF0IHJlYWwgaW1wbGVtZW50YXRpb25zIGFyZQogYmVnaW5uaW5nIHRvIGFwZXBhcikuICBTdGlsbCBubyBmdWxseSBmdW5jdGlvbmluZyBzZW1hcGhvcmVzLgogCi0tIFNvbWUgdmFyaW91cyBhbmQgc3VuZHJ5IGltcHJvdmVtZW50cyBhbmQgbmV3IGVudHJpZXMgaW4gdGhlIFRvb2xzIAorLSBTb21lIHZhcmlvdXMgYW5kIHN1bmRyeSBpbXByb3ZlbWVudHMgYW5kIG5ldyBlbnRyaWVzIGluIHRoZSBUb29scwogZGlyZWN0b3J5LgogCiAKQEAgLTI3NDE3LDcgKzI3NDUwLDcgQEAKIFRoZSBsaW1pdCBvbiB0aGUgc2l6ZSBvZiB0aGUgKnJ1bi10aW1lKiBzdGFjayBoYXMgY29tcGxldGVseSBiZWVuCiByZW1vdmVkIC0tIHRoaXMgbWVhbnMgdGhhdCB0dXBsZSBvciBsaXN0IGRpc3BsYXlzIGNhbiBjb250YWluIGFueQogbnVtYmVyIG9mIGVsZW1lbnRzIChmb3JtZXJseSBtb3JlIHRoYW4gNTAgd291bGQgY3Jhc2ggdGhlCi1pbnRlcnByZXRlcikuIAoraW50ZXJwcmV0ZXIpLgogCiAKIENoYW5nZXMgdG8gZXhpc3RpbmcgYnVpbHQtaW4gZnVuY3Rpb25zIGFuZCBtZXRob2RzCmRpZmYgLS1naXQgYS9NaXNjL05FV1MgYi9NaXNjL05FV1MKaW5kZXggMzdmZjcyZS4uYWQwM2UwYSAxMDA2NDQKLS0tIGEvTWlzYy9ORVdTCisrKyBiL01pc2MvTkVXUwpAQCAtMiwxMCArMiwxMCBAQAogUHl0aG9uIE5ld3MKICsrKysrKysrKysrCiAKLVdoYXQncyBOZXcgaW4gUHl0aG9uIDMuNC4zPwotPT09PT09PT09PT09PT09PT09PT09PT09PT09CitXaGF0J3MgTmV3IGluIFB5dGhvbiAzLjUgYWxwaGEgMj8KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogCi1SZWxlYXNlIGRhdGU6IDIwMTUtMDItMjIKK1JlbGVhc2UgZGF0ZTogMjAxNS0wMy0wOAogCiBDb3JlIGFuZCBCdWlsdGlucwogLS0tLS0tLS0tLS0tLS0tLS0KQEAgLTEzLDkgKzEzLDggQEAKIExpYnJhcnkKIC0tLS0tLS0KIAotLSBJc3N1ZXMgIzgxNDI1MywgIzkxNzk6IFdhcm5pbmdzIG5vdyBhcmUgcmFpc2VkIHdoZW4gZ3JvdXAgcmVmZXJlbmNlcyBhbmQKLSAgY29uZGl0aW9uYWwgZ3JvdXAgcmVmZXJlbmNlcyBhcmUgdXNlZCBpbiBsb29rYmVoaW5kIGFzc2VydGlvbnMgaW4gcmVndWxhcgotICBleHByZXNzaW9ucy4KKy0gSXNzdWVzICM4MTQyNTMsICM5MTc5OiBHcm91cCByZWZlcmVuY2VzIGFuZCBjb25kaXRpb25hbCBncm91cCByZWZlcmVuY2VzIG5vdworICB3b3JrIGluIGxvb2tiZWhpbmQgYXNzZXJ0aW9ucyBpbiByZWd1bGFyIGV4cHJlc3Npb25zLgogCiAtIElzc3VlICMyMzIxNTogTXVsdGlieXRlIGNvZGVjcyB3aXRoIGN1c3RvbSBlcnJvciBoYW5kbGVycyB0aGF0IGlnbm9yZXMgZXJyb3JzCiAgIGNvbnN1bWVkIHRvbyBtdWNoIG1lbW9yeSBhbmQgcmFpc2VkIFN5c3RlbUVycm9yIG9yIE1lbW9yeUVycm9yLgpAQCAtMzUsMjggKzM0LDU3IEBACiAtIElzc3VlICMyMjg4NTogRml4ZWQgYXJiaXRyYXJ5IGNvZGUgZXhlY3V0aW9uIHZ1bG5lcmFiaWxpdHkgaW4gdGhlIGRibS5kdW1iCiAgIG1vZHVsZS4gIE9yaWdpbmFsIHBhdGNoIGJ5IENsYXVkaXUgUG9wYS4KIAorLSBJc3N1ZSAjMjMyMzk6IHNzbC5tYXRjaF9ob3N0bmFtZSgpIG5vdyBzdXBwb3J0cyBtYXRjaGluZyBvZiBJUCBhZGRyZXNzZXMuCisKIC0gSXNzdWUgIzIzMTQ2OiBGaXggbWlzaGFuZGxpbmcgb2YgYWJzb2x1dGUgV2luZG93cyBwYXRocyB3aXRoIGZvcndhcmQKICAgc2xhc2hlcyBpbiBwYXRobGliLgogCistIElzc3VlICMyMzA5NjogUGlja2xlIHJlcHJlc2VudGF0aW9uIG9mIGZsb2F0cyB3aXRoIHByb3RvY29sIDAgbm93IGlzIHRoZSBzYW1lCisgIGZvciBib3RoIFB5dGhvbiBhbmQgQyBpbXBsZW1lbnRhdGlvbnMuCisKKy0gSXNzdWUgIzE5MTA1OiBwcHJpbnQgbm93IG1vcmUgZWZmaWNpZW50bHkgdXNlcyBmcmVlIHNwYWNlIGF0IHRoZSByaWdodC4KKworLSBJc3N1ZSAjMTQ5MTA6IEFkZCBhbGxvd19hYmJyZXYgcGFyYW1ldGVyIHRvIGFyZ3BhcnNlLkFyZ3VtZW50UGFyc2VyLiBQYXRjaCBieQorICBKb25hdGhhbiBQYXVnaCwgU3RldmVuIEJldGhhcmQsIHBhdWwgajMgYW5kIERhbmllbCBFcmlrc3Nvbi4KKworLSBJc3N1ZSAjMjE3MTc6IHRhcmZpbGUub3BlbigpIG5vdyBzdXBwb3J0cyAneCcgKGV4Y2x1c2l2ZSBjcmVhdGlvbikgbW9kZS4KKworLSBJc3N1ZSAjMjMzNDQ6IG1hcnNoYWwuZHVtcHMoKSBpcyBub3cgMjAtMjUlIGZhc3RlciBvbiBhdmVyYWdlLgorCistIElzc3VlICMyMDQxNjogbWFyc2hhbC5kdW1wcygpIHdpdGggcHJvdG9jb2xzIDMgYW5kIDQgaXMgbm93IDQwLTUwJSBmYXN0ZXIgb24KKyAgYXZlcmFnZS4KKwogLSBJc3N1ZSAjMjM0MjE6IEZpeGVkIGNvbXByZXNzaW9uIGluIHRhcmZpbGUgQ0xJLiAgUGF0Y2ggYnkgd2R2NDc1OGguCiAKIC0gSXNzdWUgIzIzMzYxOiBGaXggcG9zc2libGUgb3ZlcmZsb3cgaW4gV2luZG93cyBzdWJwcm9jZXNzIGNyZWF0aW9uIGNvZGUuCiAKKy0gbG9nZ2luZy5oYW5kbGVycy5RdWV1ZUxpc3RlbmVyIG5vdyB0YWtlcyBhIHJlc3BlY3RfaGFuZGxlcl9sZXZlbCBrZXl3b3JkCisgIGFyZ3VtZW50IHdoaWNoLCBpZiBzZXQgdG8gVHJ1ZSwgd2lsbCBwYXNzIG1lc3NhZ2VzIHRvIGhhbmRsZXJzIHRha2luZyBoYW5kbGVyCisgIGxldmVscyBpbnRvIGFjY291bnQuCisKIEJ1aWxkCiAtLS0tLQogCiAtIElzc3VlICMyMzQ0NTogcHlkZWJ1ZyBidWlsZHMgbm93IHVzZSAiZ2NjIC1PZyIgd2hlcmUgcG9zc2libGUsIHRvIG1ha2UKICAgdGhlIHJlc3VsdGluZyBleGVjdXRhYmxlIGZhc3Rlci4KIAorV2luZG93cworLS0tLS0tLQogCi1XaGF0J3MgTmV3IGluIFB5dGhvbiAzLjQuM3JjMT8KLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLSBJc3N1ZSAjMjM0Mzc6IE1ha2UgdXNlciBzY3JpcHRzIGRpcmVjdG9yeSB2ZXJzaW9uZWQgb24gV2luZG93cy4gUGF0Y2ggYnkgUGF1bAorICBNb29yZS4KKworCitXaGF0J3MgTmV3IGluIFB5dGhvbiAzLjUgYWxwaGEgMT8KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogCiBSZWxlYXNlIGRhdGU6IDIwMTUtMDItMDgKIAogQ29yZSBhbmQgQnVpbHRpbnMKIC0tLS0tLS0tLS0tLS0tLS0tCiAKKy0gSXNzdWUgIzIzMjg1OiBQRVAgNDc1IC0gRUlOVFIgaGFuZGxpbmcuCisKIC0gSXNzdWUgIzIyNzM1OiBGaXggbWFueSBlZGdlIGNhc2VzIChpbmNsdWRpbmcgY3Jhc2hlcykgaW52b2x2aW5nIGN1c3RvbSBtcm8oKQogICBpbXBsZW1lbnRhdGlvbnMuCiAKQEAgLTY2LDE3ICs5NCw0NiBAQAogLSBJc3N1ZSAjMjEyOTU6IFJldmVydCBzb21lIGNoYW5nZXMgKGlzc3VlICMxNjc5NSkgdG8gQVNUIGxpbmUgbnVtYmVycyBhbmQKICAgY29sdW1uIG9mZnNldHMgdGhhdCBjb25zdGl0dXRlZCBhIHJlZ3Jlc3Npb24uCiAKKy0gSXNzdWUgIzIyOTg2OiBBbGxvdyBjaGFuZ2luZyBhbiBvYmplY3QncyBfX2NsYXNzX18gYmV0d2VlbiBhIGR5bmFtaWMgdHlwZSBhbmQKKyAgc3RhdGljIHR5cGUgaW4gc29tZSBjYXNlcy4KKworLSBJc3N1ZSAjMTU4NTk6IFB5VW5pY29kZV9FbmNvZGVGU0RlZmF1bHQoKSwgUHlVbmljb2RlX0VuY29kZU1CQ1MoKSBhbmQKKyAgUHlVbmljb2RlX0VuY29kZUNvZGVQYWdlKCkgbm93IHJhaXNlIGFuIGV4Y2VwdGlvbiBpZiB0aGUgb2JqZWN0IGlzIG5vdCBhbgorICBVbmljb2RlIG9iamVjdC4gRm9yIFB5VW5pY29kZV9FbmNvZGVGU0RlZmF1bHQoKSwgaXQgd2FzIGFscmVhZHkgdGhlIGNhc2Ugb24KKyAgcGxhdGZvcm1zIG90aGVyIHRoYW4gV2luZG93cy4gUGF0Y2ggd3JpdHRlbiBieSBDYW1wYmVsbCBCYXJ0b24uCisKIC0gSXNzdWUgIzIxNDA4OiBUaGUgZGVmYXVsdCBfX25lX18oKSBub3cgcmV0dXJucyBOb3RJbXBsZW1lbnRlZCBpZiBfX2VxX18oKQogICByZXR1cm5lZCBOb3RJbXBsZW1lbnRlZC4gIE9yaWdpbmFsIHBhdGNoIGJ5IE1hcnRpbiBQYW50ZXIuCiAKIC0gSXNzdWUgIzIzMzIxOiBGaXhlZCBhIGNyYXNoIGluIHN0ci5kZWNvZGUoKSB3aGVuIGVycm9yIGhhbmRsZXIgcmV0dXJuZWQKICAgcmVwbGFjbWVudCBzdHJpbmcgbG9uZ2VyIHRoYW4gbWFpbGZvcm1lZCBpbnB1dCBkYXRhLgogCistIElzc3VlICMyMjI4NjogVGhlICJiYWNrc2xhc2hyZXBsYWNlIiBlcnJvciBoYW5kbGVycyBub3cgd29ya3Mgd2l0aAorICBkZWNvZGluZyBhbmQgdHJhbnNsYXRpbmcuCisKKy0gSXNzdWUgIzIzMjUzOiBEZWxheS1sb2FkIFNoZWxsRXhlY3V0ZVtBV10gaW4gb3Muc3RhcnRmaWxlIGZvciByZWR1Y2VkCisgIHN0YXJ0dXAgb3ZlcmhlYWQgb24gV2luZG93cy4KKworLSBJc3N1ZSAjMjIwMzg6IHB5YXRvbWljLmggbm93IHVzZXMgc3RkYXRvbWljLmggb3IgR0NDIGJ1aWx0LWluIGZ1bmN0aW9ucyBmb3IKKyAgYXRvbWljIG1lbW9yeSBhY2Nlc3MgaWYgYXZhaWxhYmxlLiBQYXRjaCB3cml0dGVuIGJ5IFZpdG9yIGRlIExpbWEgYW5kIEd1c3Rhdm8KKyAgVGVtcGxlLgorCistIElzc3VlICMyMDI4NDogJS1pbnRlcnBvbGF0aW9uIChha2EgcHJpbnRmKSBmb3JtYXR0aW5nIGFkZGVkIGZvciBieXRlcyBhbmQKKyAgYnl0ZWFycmF5LgorCiAtIElzc3VlICMyMzA0ODogRml4IGp1bXBpbmcgb3V0IG9mIGFuIGluZmluaXRlIHdoaWxlIGxvb3AgaW4gdGhlIHBkYi4KIAogLSBJc3N1ZSAjMjAzMzU6IGJ5dGVzIGNvbnN0cnVjdG9yIG5vdyByYWlzZXMgVHlwZUVycm9yIHdoZW4gZW5jb2Rpbmcgb3IgZXJyb3JzCiAgIGlzIHNwZWNpZmllZCB3aXRoIG5vbi1zdHJpbmcgYXJndW1lbnQuICBCYXNlZCBvbiBwYXRjaCBieSBSZW5hdWQgQmxhbmNoLgogCistIElzc3VlICMyMjgzNDogSWYgdGhlIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkgZW5kcyB1cCBiZWluZyBzZXQgdG8gYQorICBub24tZXhpc3RlbnQgZGlyZWN0b3J5IHRoZW4gaW1wb3J0IHdpbGwgbm8gbG9uZ2VyIHJhaXNlIEZpbGVOb3RGb3VuZEVycm9yLgorCistIElzc3VlICMyMjg2OTogTW92ZSB0aGUgaW50ZXJwcmV0ZXIgc3RhcnR1cCAmIHNodXRkb3duIGNvZGUgdG8gYSBuZXcKKyAgZGVkaWNhdGVkIHB5bGlmZWN5Y2xlLmMgbW9kdWxlCisKKy0gSXNzdWUgIzIyODQ3OiBJbXByb3ZlIG1ldGhvZCBjYWNoZSBlZmZpY2llbmN5LgorCiAtIElzc3VlICMyMjMzNTogRml4IGNyYXNoIHdoZW4gdHJ5aW5nIHRvIGVubGFyZ2UgYSBieXRlYXJyYXkgdG8gMHg3ZmZmZmZmZgogICBieXRlcyBvbiBhIDMyLWJpdCBwbGF0Zm9ybS4KIApAQCAtODYsMTIgKzE0MywyOCBAQAogLSBJc3N1ZSAjMjI2NDM6IEZpeCBpbnRlZ2VyIG92ZXJmbG93IGluIFVuaWNvZGUgY2FzZSBvcGVyYXRpb25zICh1cHBlciwgbG93ZXIsCiAgIHRpdGxlLCBzd2FwY2FzZSwgY2FzZWZvbGQpLgogCistIElzc3VlICMxNzYzNjogQ2lyY3VsYXIgaW1wb3J0cyBpbnZvbHZpbmcgcmVsYXRpdmUgaW1wb3J0cyBhcmUgbm93CisgIHN1cHBvcnRlZC4KKwogLSBJc3N1ZSAjMjI2MDQ6IEZpeCBhc3NlcnRpb24gZXJyb3IgaW4gZGVidWcgbW9kZSB3aGVuIGRpdmlkaW5nIGEgY29tcGxleAogICBudW1iZXIgYnkgKG5hbiswaikuCiAKKy0gSXNzdWUgIzIxMDUyOiBEbyBub3QgcmFpc2UgSW1wb3J0V2FybmluZyB3aGVuIHN5cy5wYXRoX2hvb2tzIG9yIHN5cy5tZXRhX3BhdGgKKyAgYXJlIHNldCB0byBOb25lLgorCistIElzc3VlICMxNjUxODogVXNlICdieXRlcy1saWtlIG9iamVjdCByZXF1aXJlZCcgaW4gZXJyb3IgbWVzc2FnZXMgdGhhdAorICBwcmV2aW91c2x5IHVzZWQgdGhlIGZhciBtb3JlIGNyeXB0aWMgIid4JyBkb2VzIG5vdCBzdXBwb3J0IHRoZSBidWZmZXIKKyAgcHJvdG9jb2wuCisKIC0gSXNzdWUgIzIyNDcwOiBGaXhlZCBpbnRlZ2VyIG92ZXJmbG93IGlzc3VlcyBpbiAiYmFja3NsYXNocmVwbGFjZSIsCiAgICJ4bWxjaGFycmVmcmVwbGFjZSIsIGFuZCAic3Vycm9nYXRlcGFzcyIgZXJyb3IgaGFuZGxlcnMuCiAKKy0gSXNzdWUgIzIyNTQwOiBzcGVlZCB1cCBgUHlPYmplY3RfSXNJbnN0YW5jZWAgYW5kIGBQeU9iamVjdF9Jc1N1YmNsYXNzYCBpbiB0aGUKKyAgY29tbW9uIGNhc2UgdGhhdCB0aGUgc2Vjb25kIGFyZ3VtZW50IGhhcyBtZXRhY2xhc3MgYHR5cGVgLgorCistIElzc3VlICMxODcxMTogQWRkIGEgbmV3IGBQeUVycl9Gb3JtYXRWYCBmdW5jdGlvbiwgc2ltaWxhciB0byBgUHlFcnJfRm9ybWF0YAorICBidXQgYWNjZXB0aW5nIGEgYHZhX2xpc3RgIGFyZ3VtZW50LgorCiAtIElzc3VlICMyMjUyMDogRml4IG92ZXJmbG93IGNoZWNraW5nIHdoZW4gZ2VuZXJhdGluZyB0aGUgcmVwciBvZiBhIHVuaWNvZGUKICAgb2JqZWN0LgogCkBAIC05OSw2ICsxNzIsMTM4IEBACiAKIC0gSXNzdWUgIzIyNTE4OiBGaXggaW50ZWdlciBvdmVyZmxvdyBpc3N1ZXMgaW4gbGF0aW4tMSBlbmNvZGluZy4KIAorLSBJc3N1ZSAjMTYzMjQ6IF9jaGFyc2V0IHBhcmFtZXRlciBvZiBNSU1FVGV4dCBub3cgYWxzbyBhY2NlcHRzCisgIGVtYWlsLmNoYXJzZXQuQ2hhcnNldCBpbnN0YW5jZXMuIEluaXRpYWwgcGF0Y2ggYnkgQ2xhdWRlIFBhcm96LgorCistIElzc3VlICMxNzY0Mjg2OiBGaXggaW5zcGVjdC5nZXRzb3VyY2UoKSB0byBzdXBwb3J0IGRlY29yYXRlZCBmdW5jdGlvbnMuCisgIFBhdGNoIGJ5IENsYXVkaXUgUG9wYS4KKworLSBJc3N1ZSAjMTg1NTQ6IG9zLl9fYWxsX18gaW5jbHVkZXMgcG9zaXggZnVuY3Rpb25zLgorCistIElzc3VlICMyMTM5MTogVXNlIG9zLnBhdGguYWJzcGF0aCBpbiB0aGUgc2h1dGlsIG1vZHVsZS4KKworLSBJc3N1ZSAjMTE0NzE6IGF2b2lkIGdlbmVyYXRpbmcgYSBKVU1QX0ZPUldBUkQgaW5zdHJ1Y3Rpb24gYXQgdGhlIGVuZCBvZgorICBhbiBpZi1ibG9jayBpZiB0aGVyZSBpcyBubyBlbHNlLWNsYXVzZS4gIE9yaWdpbmFsIHBhdGNoIGJ5IEV1Z2VuZSBUb2Rlci4KKworLSBJc3N1ZSAjMjIyMTU6IE5vdyBWYWx1ZUVycm9yIGlzIHJhaXNlZCBpbnN0ZWFkIG9mIFR5cGVFcnJvciB3aGVuIHN0ciBvciBieXRlcworICBhcmd1bWVudCBjb250YWlucyBub3QgcGVybWl0dGVkIG51bGwgY2hhcmFjdGVyIG9yIGJ5dGUuCisKKy0gSXNzdWUgIzIyMjU4OiBGaXggdGhlIGludGVybmFsIGZ1bmN0aW9uIHNldF9pbmhlcml0YWJsZSgpIG9uIElsbHVtb3MuCisgIFRoaXMgcGxhdGZvcm0gZXhwb3NlcyB0aGUgZnVuY3Rpb24gYGBpb2N0bChGSU9DTEVYKWBgLCBidXQgY2FsbGluZyBpdCBmYWlscworICB3aXRoIGVycm5vIGlzIEVOT1RUWTogIkluYXBwcm9wcmlhdGUgaW9jdGwgZm9yIGRldmljZSIuIHNldF9pbmhlcml0YWJsZSgpCisgIG5vdyBmYWxscyBiYWNrIHRvIHRoZSBzbG93ZXIgYGBmY250bCgpYGAgKGBgRl9HRVRGRGBgIGFuZCB0aGVuIGBgRl9TRVRGRGBgKS4KKworLSBJc3N1ZSAjMjEzODk6IERpc3BsYXlpbmcgdGhlIF9fcXVhbG5hbWVfXyBvZiB0aGUgdW5kZXJseWluZyBmdW5jdGlvbiBpbiB0aGUKKyAgcmVwciBvZiBhIGJvdW5kIG1ldGhvZC4KKworLSBJc3N1ZSAjMjIyMDY6IFVzaW5nIHB0aHJlYWQsIFB5VGhyZWFkX2NyZWF0ZV9rZXkoKSBub3cgc2V0cyBlcnJubyB0byBFTk9NRU0KKyAgYW5kIHJldHVybnMgLTEgKGVycm9yKSBvbiBpbnRlZ2VyIG92ZXJmbG93LgorCistIElzc3VlICMyMDE4NDogQXJndW1lbnQgQ2xpbmljIGJhc2VkIHNpZ25hdHVyZSBpbnRyb3NwZWN0aW9uIGFkZGVkIGZvcgorICAzMCBvZiB0aGUgYnVpbHRpbiBmdW5jdGlvbnMuCisKKy0gSXNzdWUgIzIyMTE2OiBDIGZ1bmN0aW9ucyBhbmQgbWV0aG9kcyAob2YgdGhlICdidWlsdGluX2Z1bmN0aW9uX29yX21ldGhvZCcKKyAgdHlwZSkgY2FuIG5vdyBiZSB3ZWFrcmVmJ2VkLiAgUGF0Y2ggYnkgV2VpIFd1LgorCistIElzc3VlICMyMjA3NzogSW1wcm92ZSBpbmRleCBlcnJvciBtZXNzYWdlcyBmb3IgYnl0ZWFycmF5cywgYnl0ZXMsIGxpc3RzLAorICBhbmQgdHVwbGVzIGJ5IGFkZGluZyAnb3Igc2xpY2VzJy4gQWRkZWQgJywgbm90IDx0eXBlbmFtZScgZm9yIGJ5dGVhcnJheXMuCisgIE9yaWdpbmFsIHBhdGNoIGJ5IENsYXVkaXUgUG9wYS4KKworLSBJc3N1ZSAjMjAxNzk6IEFwcGx5IEFyZ3VtZW50IENsaW5pYyB0byBieXRlcyBhbmQgYnl0ZWFycmF5LgorICBQYXRjaCBieSBUYWwgRWluYXQuCisKKy0gSXNzdWUgIzIyMDgyOiBDbGVhciBpbnRlcm5lZCBzdHJpbmdzIGluIHNsb3RkZWZzLgorCistIFVwZ3JhZGUgVW5pY29kZSBkYXRhYmFzZSB0byBVbmljb2RlIDcuMC4wLgorCistIElzc3VlICMyMTg5NzogRml4IGEgY3Jhc2ggd2l0aCB0aGUgZl9sb2NhbHMgYXR0cmlidXRlIHdpdGggY2xvc3VyZQorICB2YXJpYWJsZXMgd2hlbiBmcmFtZS5jbGVhcigpIGhhcyBiZWVuIGNhbGxlZC4KKworLSBJc3N1ZSAjMjEyMDU6IEFkZCBhIG5ldyBgYF9fcXVhbG5hbWVfX2BgIGF0dHJpYnV0ZSB0byBnZW5lcmF0b3IsIHRoZQorICBxdWFsaWZpZWQgbmFtZSwgYW5kIHVzZSBpdCBpbiB0aGUgcmVwcmVzZW50YXRpb24gb2YgYSBnZW5lcmF0b3IKKyAgKGBgcmVwcihnZW4pYGApLiBUaGUgZGVmYXVsdCBuYW1lIG9mIHRoZSBnZW5lcmF0b3IgKGBgX19uYW1lX19gYCBhdHRyaWJ1dGUpCisgIGlzIG5vdyBnZXQgZnJvbSB0aGUgZnVuY3Rpb24gaW5zdGVhZCBvZiB0aGUgY29kZS4gVXNlIGBgZ2VuLmdpX2NvZGUuY29fbmFtZWBgCisgIHRvIGdldCB0aGUgbmFtZSBvZiB0aGUgY29kZS4KKworLSBJc3N1ZSAjMjE2Njk6IFdpdGggdGhlIGFpZCBvZiBoZXVyaXN0aWNzIGluIFN5bnRheEVycm9yLl9faW5pdF9fLCB0aGUKKyAgcGFyc2VyIG5vdyBhdHRlbXB0cyB0byBnZW5lcmF0ZSBtb3JlIG1lYW5pbmdmdWwgKG9yIGF0IGxlYXN0IG1vcmUgc2VhcmNoCisgIGVuZ2luZSBmcmllbmRseSkgZXJyb3IgbWVzc2FnZXMgd2hlbiAiZXhlYyIgYW5kICJwcmludCIgYXJlIHVzZWQgYXMKKyAgc3RhdGVtZW50cy4KKworLSBJc3N1ZSAjMjE2NDI6IElmIHRoZSBjb25kaXRpb25hbCBpZi1lbHNlIGV4cHJlc3Npb24sIGFsbG93IGFuIGludGVnZXIgd3JpdHRlbgorICB3aXRoIG5vIHNwYWNlIGJldHdlZW4gaXRzZWxmIGFuZCB0aGUgYGBlbHNlYGAga2V5d29yZCAoZS5nLiBgYFRydWUgaWYgNDJlbHNlCisgIEZhbHNlYGApIHRvIGJlIHZhbGlkIHN5bnRheC4KKworLSBJc3N1ZSAjMjE1MjM6IEZpeCBvdmVyLXBlc3NpbWlzdGljIGNvbXB1dGF0aW9uIG9mIHRoZSBzdGFjayBlZmZlY3Qgb2YKKyAgc29tZSBvcGNvZGVzIGluIHRoZSBjb21waWxlci4gIFRoaXMgYWxzbyBmaXhlcyBhIHF1YWRyYXRpYyBjb21waWxhdGlvbgorICB0aW1lIGlzc3VlIG5vdGljZWFibGUgd2hlbiBjb21waWxpbmcgY29kZSB3aXRoIGEgbGFyZ2UgbnVtYmVyIG9mICJhbmQiCisgIGFuZCAib3IiIG9wZXJhdG9ycy4KKworLSBJc3N1ZSAjMjE0MTg6IEZpeCBhIGNyYXNoIGluIHRoZSBidWlsdGluIGZ1bmN0aW9uIHN1cGVyKCkgd2hlbiBjYWxsZWQgd2l0aG91dAorICBhcmd1bWVudCBhbmQgd2l0aG91dCBjdXJyZW50IGZyYW1lIChleDogZW1iZWRkZWQgUHl0aG9uKS4KKworLSBJc3N1ZSAjMjE0MjU6IEZpeCBmbHVzaGluZyBvZiBzdGFuZGFyZCBzdHJlYW1zIGluIHRoZSBpbnRlcmFjdGl2ZQorICBpbnRlcnByZXRlci4KKworLSBJc3N1ZSAjMjE0MzU6IEluIHJhcmUgY2FzZXMsIHdoZW4gcnVubmluZyBmaW5hbGl6ZXJzIG9uIG9iamVjdHMgaW4gY3ljbGljCisgIHRyYXNoIGEgYmFkIHBvaW50ZXIgZGVyZWZlcmVuY2UgY291bGQgb2NjdXIgZHVlIHRvIGEgc3VidGxlIGZsYXcgaW4KKyAgaW50ZXJuYWwgaXRlcmF0aW9uIGxvZ2ljLgorCistIElzc3VlICMyMTM3NzogUHlCeXRlc19Db25jYXQoKSBub3cgdHJpZXMgdG8gY29uY2F0ZW5hdGUgaW4tcGxhY2Ugd2hlbiB0aGUKKyAgZmlyc3QgYXJndW1lbnQgaGFzIGEgcmVmZXJlbmNlIGNvdW50IG9mIDEuICBQYXRjaCBieSBOaWtvbGF1cyBSYXRoLgorCistIElzc3VlICMyMDM1NTogLVcgY29tbWFuZCBsaW5lIG9wdGlvbnMgbm93IGhhdmUgaGlnaGVyIHByaW9yaXR5IHRoYW4gdGhlCisgIFBZVEhPTldBUk5JTkdTIGVudmlyb25tZW50IHZhcmlhYmxlLiAgUGF0Y2ggYnkgQXJmcmV2ZXIuCisKKy0gSXNzdWUgIzIxMjc0OiBEZWZpbmUgUEFUSF9NQVggZm9yIEdOVS9IdXJkIGluIFB5dGhvbi9weXRob25ydW4uYy4KKworLSBJc3N1ZSAjMjA5MDQ6IFN1cHBvcnQgc2V0dGluZyBGUFUgcHJlY2lzaW9uIG9uIG02OGsuCisKKy0gSXNzdWUgIzIxMjA5OiBGaXggc2VuZGluZyB0dXBsZXMgdG8gY3VzdG9tIGdlbmVyYXRvciBvYmplY3RzIHdpdGggdGhlIHlpZWxkCisgIGZyb20gc3ludGF4LgorCistIElzc3VlICMyMTE5MzogcG93KGEsIGIsIGMpIG5vdyByYWlzZXMgVmFsdWVFcnJvciByYXRoZXIgdGhhbiBUeXBlRXJyb3Igd2hlbiBiCisgIGlzIG5lZ2F0aXZlLiAgUGF0Y2ggYnkgSm9zaCBSb3NlbmJlcmcuCisKKy0gUEVQIDQ2NSBhbmQgSXNzdWUgIzIxMTc2OiBBZGQgdGhlICdAJyBvcGVyYXRvciBmb3IgbWF0cml4IG11bHRpcGxpY2F0aW9uLgorCistIElzc3VlICMyMTEzNDogRml4IHNlZ2ZhdWx0IHdoZW4gc3RyIGlzIGNhbGxlZCBvbiBhbiB1bmluaXRpYWxpemVkCisgIFVuaWNvZGVFbmNvZGVFcnJvciwgVW5pY29kZURlY29kZUVycm9yLCBvciBVbmljb2RlVHJhbnNsYXRlRXJyb3Igb2JqZWN0LgorCistIElzc3VlICMxOTUzNzogRml4IFB5VW5pY29kZV9EQVRBKCkgYWxpZ25tZW50IHVuZGVyIG02OGsuICBQYXRjaCBieQorICBBbmRyZWFzIFNjaHdhYi4KKworLSBJc3N1ZSAjMjA5Mjk6IEFkZCBhIHR5cGUgY2FzdCB0byBhdm9pZCBzaGlmdGluZyBhIG5lZ2F0aXZlIG51bWJlci4KKworLSBJc3N1ZSAjMjA3MzE6IFByb3Blcmx5IHBvc2l0aW9uIGluIHNvdXJjZSBjb2RlIGZpbGVzIGV2ZW4gaWYgdGhleQorICBhcmUgb3BlbmVkIGluIHRleHQgbW9kZS4gUGF0Y2ggYnkgU2VyaGl5IFN0b3JjaGFrYS4KKworLSBJc3N1ZSAjMjA2Mzc6IEtleS1zaGFyaW5nIG5vdyBhbHNvIHdvcmtzIGZvciBpbnN0YW5jZSBkaWN0aW9uYXJpZXMgb2YKKyAgc3ViY2xhc3Nlcy4gIFBhdGNoIGJ5IFBldGVyIEluZ2VicmV0c29uLgorCistIElzc3VlICM4Mjk3OiBBdHRyaWJ1dGVzIG1pc3NpbmcgZnJvbSBtb2R1bGVzIG5vdyBpbmNsdWRlIHRoZSBtb2R1bGUgbmFtZQorICBpbiB0aGUgZXJyb3IgdGV4dC4gIE9yaWdpbmFsIHBhdGNoIGJ5IHlzai5yYXkuCisKKy0gSXNzdWUgIzE5OTk1OiAlYywgJW8sICV4LCBhbmQgJVggbm93IHJhaXNlIFR5cGVFcnJvciBvbiBub24taW50ZWdlciBpbnB1dC4KKworLSBJc3N1ZSAjMTk2NTU6IFRoZSBBU0RMIHBhcnNlciAtIHVzZWQgYnkgdGhlIGJ1aWxkIHByb2Nlc3MgdG8gZ2VuZXJhdGUgY29kZSBmb3IKKyAgbWFuYWdpbmcgdGhlIFB5dGhvbiBBU1QgaW4gQyAtIHdhcyByZXdyaXR0ZW4uIFRoZSBuZXcgcGFyc2VyIGlzIHNlbGYgY29udGFpbmVkCisgIGFuZCBkb2VzIG5vdCByZXF1aXJlIHRvIGNhcnJ5IGxvbmcgdGhlIHNwYXJrLnB5IHBhcnNlci1nZW5lcmF0b3IgbGlicmFyeTsKKyAgc3BhcmsucHkgd2FzIHJlbW92ZWQgZnJvbSB0aGUgc291cmNlIGJhc2UuCisKKy0gSXNzdWUgIzEyNTQ2OiBBbGxvdyBceDAwIHRvIGJlIHVzZWQgYXMgYSBmaWxsIGNoYXJhY3RlciB3aGVuIHVzaW5nIHN0ciwgaW50LAorICBmbG9hdCwgYW5kIGNvbXBsZXggX19mb3JtYXRfXyBtZXRob2RzLgorCistIElzc3VlICMyMDQ4MDogQWRkIGlwYWRkcmVzcy5yZXZlcnNlX3BvaW50ZXIuIFBhdGNoIGJ5IExlb24gV2ViZXIuCisKKy0gSXNzdWUgIzEzNTk4OiBNb2RpZnkgc3RyaW5nLkZvcm1hdHRlciB0byBzdXBwb3J0IGF1dG8tbnVtYmVyaW5nIG9mCisgIHJlcGxhY2VtZW50IGZpZWxkcy4gSXQgbm93IG1hdGNoZXMgdGhlIGJlaGF2aW9yIG9mIHN0ci5mb3JtYXQoKSBpbgorICB0aGlzIHJlZ2FyZC4gUGF0Y2hlcyBieSBQaGlsIEVsc29uIGFuZCBSYW1jaGFuZHJhIEFwdGUuCisKKy0gSXNzdWUgIzg5MzE6IE1ha2UgYWx0ZXJuYXRlIGZvcm1hdHRpbmcgKCcjJykgZm9yIHR5cGUgJ2MnIHJhaXNlIGFuCisgIGV4Y2VwdGlvbi4gSW4gdmVyc2lvbnMgcHJpb3IgdG8gMy41LCAnIycgd2l0aCAnYycgaGFkIG5vIGVmZmVjdC4gTm93CisgIHNwZWNpZnlpbmcgaXQgaXMgYW4gZXJyb3IuICBQYXRjaCBieSBUb3JzdGVuIExhbmRzY2hvZmYuCisKIC0gSXNzdWUgIzIzMTY1OiBQZXJmb3JtIG92ZXJmbG93IGNoZWNrcyBiZWZvcmUgYWxsb2NhdGluZyBtZW1vcnkgaW4gdGhlCiAgIF9QeV9jaGFyMndjaGFyIGZ1bmN0aW9uLgogCkBAIC0xMDcsOSArMzEyLDI0IEBACiAKIC0gSXNzdWUgIzIzMzk5OiBweXZlbnYgY3JlYXRlcyByZWxhdGl2ZSBzeW1saW5rcyB3aGVyZSBwb3NzaWJsZS4KIAorLSBJc3N1ZSAjMjAyODk6IGNnaS5GaWVsZFN0b3JhZ2UoKSBub3cgc3VwcG9ydHMgdGhlIGNvbnRleHQgbWFuYWdlbWVudAorICBwcm90b2NvbC4KKworLSBJc3N1ZSAjMTMxMjg6IFByaW50IHJlc3BvbnNlIGhlYWRlcnMgZm9yIENPTk5FQ1QgcmVxdWVzdHMgd2hlbiBkZWJ1Z2xldmVsCisgID4gMC4gUGF0Y2ggYnkgRGVtaWFuIEJyZWNodC4KKworLSBJc3N1ZSAjMTUzODE6IE9wdGltaXplZCBpby5CeXRlc0lPIHRvIG1ha2UgbGVzcyBhbGxvY2F0aW9ucyBhbmQgY29weWluZ3MuCisKKy0gSXNzdWUgIzIyODE4OiBTcGxpdHRpbmcgb24gYSBwYXR0ZXJuIHRoYXQgY291bGQgbWF0Y2ggYW4gZW1wdHkgc3RyaW5nIG5vdworICByYWlzZXMgYSB3YXJuaW5nLiAgUGF0dGVybnMgdGhhdCBjYW4gb25seSBtYXRjaCBlbXB0eSBzdHJpbmdzIGFyZSBub3cKKyAgcmVqZWN0ZWQuCisKIC0gSXNzdWUgIzIzMDk5OiBDbG9zaW5nIGlvLkJ5dGVzSU8gd2l0aCBleHBvcnRlZCBidWZmZXIgaXMgcmVqZWN0ZWQgbm93IHRvCiAgIHByZXZlbnQgY29ycnVwdGluZyBleHBvcnRlZCBidWZmZXIuCiAKKy0gSXNzdWUgIzIzMzI2OiBSZW1vdmVkIF9fbmVfXyBpbXBsZW1lbnRhdGlvbnMuICBTaW5jZSBmaXhpbmcgZGVmYXVsdCBfX25lX18KKyAgaW1wbGVtZW50YXRpb24gaW4gaXNzdWUgIzIxNDA4IHRoZXkgYXJlIHJlZHVuZGFudC4KKwogLSBJc3N1ZSAjMjMzNjM6IEZpeCBwb3NzaWJsZSBvdmVyZmxvdyBpbiBpdGVydG9vbHMucGVybXV0YXRpb25zLgogCiAtIElzc3VlICMyMzM2NDogRml4IHBvc3NpYmxlIG92ZXJmbG93IGluIGl0ZXJ0b29scy5wcm9kdWN0LgpAQCAtMTI3LDYgKzM0NywxNCBAQAogICBpcyBub3cgYWx3YXlzIHJlc3RvcmVkIG9yIHN3YXBwZWQsIG5vdCBvbmx5IGlmIHdoeSBpcyBXSFlfWUlFTEQgb3IKICAgV0hZX1JFVFVSTi4gUGF0Y2ggY28td3JpdHRlbiB3aXRoIEFudG9pbmUgUGl0cm91LgogCistIElzc3VlICMxNDA5OTogUmVzdG9yZWQgc3VwcG9ydCBvZiB3cml0aW5nIFpJUCBmaWxlcyB0byB0ZWxsYWJsZSBidXQKKyAgbm9uLXNlZWthYmxlIHN0cmVhbXMuCisKKy0gSXNzdWUgIzE0MDk5OiBXcml0aW5nIHRvIFppcEZpbGUgYW5kIHJlYWRpbmcgbXVsdGlwbGUgWmlwRXh0RmlsZXMgaXMKKyAgdGhyZWFkc2FmZSBub3cuCisKKy0gSXNzdWUgIzE5MzYxOiBKU09OIGRlY29kZXIgbm93IHJhaXNlcyBKU09ORGVjb2RlRXJyb3IgaW5zdGVhZCBvZiBWYWx1ZUVycm9yLgorCiAtIElzc3VlICMxODUxODogdGltZWl0IG5vdyByZWplY3RzIHN0YXRlbWVudHMgd2hpY2ggY2FuJ3QgYmUgY29tcGlsZWQgb3V0c2lkZQogICBhIGZ1bmN0aW9uIG9yIGEgbG9vcCAoZS5nLiAicmV0dXJuIiBvciAiYnJlYWsiKS4KIApAQCAtMTQxLDQ3ICszNjksNzggQEAKIC0gSXNzdWUgIzE5OTk2OiA6Y2xhc3M6YGVtYWlsLmZlZWRwYXJzZXIuRmVlZFBhcnNlcmAgbm93IGhhbmRsZXMgKG1hbGZvcm1lZCkKICAgaGVhZGVycyB3aXRoIG5vIGtleSByYXRoZXIgdGhhbiBhbXVzaW5nIHRoZSBib2R5IGhhcyBzdGFydGVkLgogCistIElzc3VlICMyMDE4ODogU3VwcG9ydCBBcHBsaWNhdGlvbi1MYXllciBQcm90b2NvbCBOZWdvdGlhdGlvbiAoQUxQTikgaW4gdGhlIHNzbAorICBtb2R1bGUuCisKKy0gSXNzdWUgIzIzMTMzOiBQaWNrbGluZyBvZiBpcGFkZHJlc3Mgb2JqZWN0cyBub3cgcHJvZHVjZXMgbW9yZSBjb21wYWN0IGFuZAorICBwb3J0YWJsZSByZXByZXNlbnRhdGlvbi4KKwogLSBJc3N1ZSAjMjMyNDg6IFVwZGF0ZSBzc2wgZXJyb3IgY29kZXMgZnJvbSBsYXRlc3QgT3BlblNTTCBnaXQgbWFzdGVyLgogCistIElzc3VlICMyMzI2NjogTXVjaCBmYXN0ZXIgaW1wbGVtZW50YXRpb24gb2YgaXBhZGRyZXNzLmNvbGxhcHNlX2FkZHJlc3NlcygpCisgIHdoZW4gdGhlcmUgYXJlIG1hbnkgbm9uLWNvbnNlY3V0aXZlIGFkZHJlc3Nlcy4KKwogLSBJc3N1ZSAjMjMwOTg6IDY0LWJpdCBkZXZfdCBpcyBub3cgc3VwcG9ydGVkIGluIHRoZSBvcyBtb2R1bGUuCiAKKy0gSXNzdWUgIzIxODE3OiBXaGVuIGFuIGV4Y2VwdGlvbiBpcyByYWlzZWQgaW4gYSB0YXNrIHN1Ym1pdHRlZCB0byBhCisgIFByb2Nlc3NQb29sRXhlY3V0b3IsIHRoZSByZW1vdGUgdHJhY2ViYWNrIGlzIG5vdyBkaXNwbGF5ZWQgaW4gdGhlCisgIHBhcmVudCBwcm9jZXNzLiAgUGF0Y2ggYnkgQ2xhdWRpdSBQb3BhLgorCistIElzc3VlICMxNTk1NTogQWRkIGFuIG9wdGlvbiB0byBsaW1pdCBvdXRwdXQgc2l6ZSB3aGVuIGRlY29tcHJlc3NpbmcgTFpNQQorICBkYXRhLiAgUGF0Y2ggYnkgTmlrb2xhdXMgUmF0aCBhbmQgTWFydGluIFBhbnRlci4KKwogLSBJc3N1ZSAjMjMyNTA6IEluIHRoZSBodHRwLmNvb2tpZXMgbW9kdWxlLCBjYXBpdGFsaXplICJIdHRwT25seSIgYW5kICJTZWN1cmUiCiAgIGFzIHRoZXkgYXJlIHdyaXR0ZW4gaW4gdGhlIHN0YW5kYXJkLgogCiAtIElzc3VlICMyMzA2MzogSW4gdGhlIGRpc3V0aWxzJyBjaGVjayBjb21tYW5kLCBmaXggcGFyc2luZyBvZiByZVNUIHdpdGggY29kZSBvcgogICBjb2RlLWJsb2NrIGRpcmVjdGl2ZXMuCiAKLS0gSXNzdWUgIzIzMjA5LCAjMjMyMjU6IHNlbGVjdG9ycy5CYXNlU2VsZWN0b3IuY2xvc2UoKSBub3cgY2xlYXJzIGl0cyBpbnRlcm5hbAotICByZWZlcmVuY2UgdG8gdGhlIHNlbGVjdG9yIG1hcHBpbmcgdG8gYnJlYWsgYSByZWZlcmVuY2UgY3ljbGUuIEluaXRpYWwgcGF0Y2gKLSAgd3JpdHRlbiBieSBNYXJ0aW4gUmljaGFyZC4KKy0gSXNzdWUgIzIzMjA5LCAjMjMyMjU6IHNlbGVjdG9ycy5CYXNlU2VsZWN0b3IuZ2V0X2tleSgpIG5vdyByYWlzZXMgYQorICBSdW50aW1lRXJyb3IgaWYgdGhlIHNlbGVjdG9yIGlzIGNsb3NlZC4gQW5kIHNlbGVjdG9ycy5CYXNlU2VsZWN0b3IuY2xvc2UoKQorICBub3cgY2xlYXJzIGl0cyBpbnRlcm5hbCByZWZlcmVuY2UgdG8gdGhlIHNlbGVjdG9yIG1hcHBpbmcgdG8gYnJlYWsgYQorICByZWZlcmVuY2UgY3ljbGUuIEluaXRpYWwgcGF0Y2ggd3JpdHRlbiBieSBNYXJ0aW4gUmljaGFyZC4KIAotLSBJc3N1ZSAjMjEzNTY6IE1ha2Ugc3NsLlJBTkRfZWdkKCkgb3B0aW9uYWwgdG8gc3VwcG9ydCBMaWJyZVNTTC4gVGhlCi0gIGF2YWlsYWJpbGl0eSBvZiB0aGUgZnVuY3Rpb24gaXMgY2hlY2tlZCBkdXJpbmcgdGhlIGNvbXBpbGF0aW9uLiBQYXRjaCB3cml0dGVuCi0gIGJ5IEJlcm5hcmQgU3BpbC4KKy0gSXNzdWUgIzE5Nzc3OiBQcm92aWRlIGEgaG9tZSgpIGNsYXNzbWV0aG9kIG9uIFBhdGggb2JqZWN0cy4gIENvbnRyaWJ1dGVkCisgIGJ5IFZpY3RvciBTYWxnYWRvIGFuZCBNYXlhbmsgVHJpcGF0aGkuCiAKLS0gSXNzdWUgIzIwODk2LCAjMjI5MzU6IFRoZSA6ZnVuYzpgc3NsLmdldF9zZXJ2ZXJfY2VydGlmaWNhdGVgIGZ1bmN0aW9uIG5vdwotICB1c2VzIHRoZSA6ZGF0YTpgfnNzbC5QUk9UT0NPTF9TU0x2MjNgIHByb3RvY29sIGJ5IGRlZmF1bHQsIG5vdAotICA6ZGF0YTpgfnNzbC5QUk9UT0NPTF9TU0x2M2AsIGZvciBtYXhpbXVtIGNvbXBhdGliaWxpdHkgYW5kIHN1cHBvcnQgcGxhdGZvcm1zCi0gIHdoZXJlIDpkYXRhOmB+c3NsLlBST1RPQ09MX1NTTHYzYCBzdXBwb3J0IGlzIGRpc2FibGVkLgorLSBJc3N1ZSAjMjMyMDY6IE1ha2UgYGBqc29uLmR1bXBzKC4uLiwgZW5zdXJlX2FzY2lpPUZhbHNlKWBgIGFzIGZhc3QgYXMgdGhlCisgIGRlZmF1bHQgY2FzZSBvZiBgYGVuc3VyZV9hc2NpaT1UcnVlYGAuICBQYXRjaCBieSBOYW9raSBJbmFkYS4KIAotLSBJc3N1ZSAjMjMxMTE6IEluIHRoZSBmdHBsaWIsIG1ha2Ugc3NsLlBST1RPQ09MX1NTTHYyMyB0aGUgZGVmYXVsdCBwcm90b2NvbAotICB2ZXJzaW9uLgorLSBJc3N1ZSAjMjMxODU6IEFkZCBtYXRoLmluZiBhbmQgbWF0aC5uYW4gY29uc3RhbnRzLgogCi0tIElzc3VlICMyMzEzMjogTWl0aWdhdGUgcmVncmVzc2lvbiBpbiBzcGVlZCBhbmQgY2xhcml0eSBpbiBmdW5jdG9vbHMudG90YWxfb3JkZXJpbmcuCistIElzc3VlICMyMzE4NjogQWRkIHNzbC5TU0xPYmplY3Quc2hhcmVkX2NpcGhlcnMoKSBhbmQKKyAgc3NsLlNTTFNvY2tldC5zaGFyZWRfY2lwaGVycygpIHRvIGZldGNoIHRoZSBjbGllbnQncyBsaXN0IGNpcGhlcnMgc2VudCBhdAorICBoYW5kc2hha2UuCiAKLS0gSXNzdWUgIzIyNTg1OiBPbiBPcGVuQlNEIDUuNiBhbmQgbmV3ZXIsIG9zLnVyYW5kb20oKSBub3cgY2FsbHMgZ2V0ZW50cm9weSgpLAotICBpbnN0ZWFkIG9mIHJlYWRpbmcgL2Rldi91cmFuZG9tLCB0byBnZXQgcHNldWRvLXJhbmRvbSBieXRlcy4KKy0gSXNzdWUgIzIzMTQzOiBSZW1vdmUgY29tcGF0aWJpbGl0eSB3aXRoIE9wZW5TU0xzIG9sZGVyIHRoYW4gMC45LjguCisKKy0gSXNzdWUgIzIzMTMyOiBJbXByb3ZlIHBlcmZvcm1hbmNlIGFuZCBpbnRyb3NwZWN0aW9uIHN1cHBvcnQgb2YgY29tcGFyaXNvbgorICBtZXRob2RzIGNyZWF0ZWQgYnkgZnVuY3Rvb2wudG90YWxfb3JkZXJpbmcuCisKKy0gSXNzdWUgIzE5Nzc2OiBBZGQgYSBleHBhbmR1c2VyKCkgbWV0aG9kIG9uIFBhdGggb2JqZWN0cy4KIAogLSBJc3N1ZSAjMjMxMTI6IEZpeCBTaW1wbGVIVFRQU2VydmVyIHRvIGNvcnJlY3RseSBjYXJyeSB0aGUgcXVlcnkgc3RyaW5nIGFuZAogICBmcmFnbWVudCB3aGVuIGl0IHJlZGlyZWN0cyB0byBhZGQgYSB0cmFpbGluZyBzbGFzaC4KIAorLSBJc3N1ZSAjMjE3OTM6IEFkZGVkIGh0dHAuSFRUUFN0YXR1cyBlbnVtcyAoaS5lLiBIVFRQU3RhdHVzLk9LLAorICBIVFRQU3RhdHVzLk5PVF9GT1VORCkuICBQYXRjaCBieSBEZW1pYW4gQnJlY2h0LgorCiAtIElzc3VlICMyMzA5MzogSW4gdGhlIGlvLCBtb2R1bGUgYWxsb3cgbW9yZSBvcGVyYXRpb25zIHRvIHdvcmsgb24gZGV0YWNoZWQKICAgc3RyZWFtcy4KIAorLSBJc3N1ZSAjMjMxMTE6IEluIHRoZSBmdHBsaWIsIG1ha2Ugc3NsLlBST1RPQ09MX1NTTHYyMyB0aGUgZGVmYXVsdCBwcm90b2NvbAorICB2ZXJzaW9uLgorCistIElzc3VlICMyMjU4NTogT24gT3BlbkJTRCA1LjYgYW5kIG5ld2VyLCBvcy51cmFuZG9tKCkgbm93IGNhbGxzIGdldGVudHJvcHkoKSwKKyAgaW5zdGVhZCBvZiByZWFkaW5nIC9kZXYvdXJhbmRvbSwgdG8gZ2V0IHBzZXVkby1yYW5kb20gYnl0ZXMuCisKIC0gSXNzdWUgIzE5MTA0OiBwcHJpbnQgbm93IHByb2R1Y2VzIGV2YWx1YWJsZSBvdXRwdXQgZm9yIHdyYXBwZWQgc3RyaW5ncy4KIAogLSBJc3N1ZSAjMjMwNzE6IEFkZGVkIG1pc3NpbmcgbmFtZXMgdG8gY29kZWNzLl9fYWxsX18uICBQYXRjaCBieSBNYXJ0aW4gUGFudGVyLgogCistIElzc3VlICMyMjc4MzogUGlja2xpbmcgbm93IHVzZXMgdGhlIE5FV09CSiBvcGNvZGUgaW5zdGVhZCBvZiB0aGUgTkVXT0JKX0VYCisgIG9wY29kZSBpZiBwb3NzaWJsZS4KKwogLSBJc3N1ZSAjMTU1MTM6IEFkZGVkIGEgX19zaXplb2ZfXyBpbXBsZW1lbnRhdGlvbiBmb3IgcGlja2xlIGNsYXNzZXMuCiAKIC0gSXNzdWUgIzE5ODU4OiBwaWNrbGV0b29scy5vcHRpbWl6ZSgpIG5vdyBhd2FyZSBvZiB0aGUgTUVNT0laRSBvcGNvZGUsIGNhbgpAQCAtMjAzLDEyICs0NjIsMjUgQEAKIC0gSXNzdWUgIzEyMTgyMzQ6IEZpeCBpbnNwZWN0LmdldHNvdXJjZSgpIHRvIGxvYWQgdXBkYXRlZCBzb3VyY2Ugb2YKICAgcmVsb2FkZWQgbW9kdWxlLiBJbml0aWFsIHBhdGNoIGJ5IEJlcmtlciBQZWtzYWcuCiAKKy0gSXNzdWUgIzIxNzQwOiBTdXBwb3J0IHdyYXBwZWQgY2FsbGFibGVzIGluIGRvY3Rlc3QuIFBhdGNoIGJ5IENsYXVkaXUgUG9wYS4KKworLSBJc3N1ZSAjMjMwMDk6IE1ha2Ugc3VyZSBzZWxlY3RvcnMuRXBvbGxTZWxlY3J0b3Iuc2VsZWN0KCkgd29ya3Mgd2hlbiBubworICBGRCBpcyByZWdpc3RlcmVkLgorCiAtIElzc3VlICMyMjk1OTogSW4gdGhlIGNvbnN0cnVjdG9yIG9mIGh0dHAuY2xpZW50LkhUVFBTQ29ubmVjdGlvbiwgcHJlZmVyIHRoZQogICBjb250ZXh0J3MgY2hlY2tfaG9zdG5hbWUgYXR0cmlidXRlIG92ZXIgdGhlICpjaGVja19ob3N0bmFtZSogcGFyYW1ldGVyLgogCistIElzc3VlICMyMjY5NjogQWRkIGZ1bmN0aW9uIDpmdW5jOmBzeXMuaXNfZmluYWxpemluZ2AgdG8ga25vdyBhYm91dAorICBpbnRlcnByZXRlciBzaHV0ZG93bi4KKwogLSBJc3N1ZSAjMTYwNDM6IEFkZCBhIGRlZmF1bHQgbGltaXQgZm9yIHRoZSBhbW91bnQgb2YgZGF0YSB4bWxycGNsaWIuZ3ppcF9kZWNvZGUKICAgd2lsbCByZXR1cm4uIFRoaXMgcmVzb2x2ZXMgQ1ZFLTIwMTMtMTc1My4KIAorLSBJc3N1ZSAjMTQwOTk6IFppcEZpbGUub3BlbigpIG5vIGxvbmdlciByZW9wZW4gdGhlIHVuZGVybHlpbmcgZmlsZS4gIE9iamVjdHMKKyAgcmV0dXJuZWQgYnkgWmlwRmlsZS5vcGVuKCkgY2FuIG5vdyBvcGVyYXRlIGluZGVwZW5kZW50bHkgb2YgdGhlIFppcEZpbGUgZXZlbgorICBpZiB0aGUgWmlwRmlsZSB3YXMgY3JlYXRlZCBieSBwYXNzaW5nIGluIGEgZmlsZS1saWtlIG9iamVjdCBhcyB0aGUgZmlyc3QKKyAgYXJndW1lbnQgdG8gdGhlIGNvbnN0cnVjdG9yLgorCiAtIElzc3VlICMyMjk2NjogRml4IF9fcHljYWNoZV9fIHB5YyBmaWxlIG5hbWUgY2xvYmJlciB3aGVuIHB5Y19jb21waWxlIGlzCiAgIGFza2VkIHRvIGNvbXBpbGUgYSBzb3VyY2UgZmlsZSBjb250YWluaW5nIG11bHRpcGxlIGRvdHMgaW4gdGhlIHNvdXJjZSBmaWxlCiAgIG5hbWUuCkBAIC0yMTgsMTQgKzQ5MCwzMCBAQAogLSBJc3N1ZSAjMjEwMzIuIEZpeGVkIHNvY2tldCBsZWFrIGlmIEhUVFBDb25uZWN0aW9uLmdldHJlc3BvbnNlKCkgZmFpbHMuCiAgIE9yaWdpbmFsIHBhdGNoIGJ5IE1hcnRpbiBQYW50ZXIuCiAKKy0gSXNzdWUgIzIyNDA3OiBEZXByZWNhdGVkIHRoZSB1c2Ugb2YgcmUuTE9DQUxFIGZsYWcgd2l0aCBzdHIgcGF0dGVybnMgb3IKKyAgcmUuQVNDSUkuIEl0IHdhcyBuZXdlciB3b3JrZWQuCisKKy0gSXNzdWUgIzIyOTAyOiBUaGUgImlwIiBjb21tYW5kIGlzIG5vdyB1c2VkIG9uIExpbnV4IHRvIGRldGVybWluZSBNQUMgYWRkcmVzcworICBpbiB1dWlkLmdldG5vZGUoKS4gIFBhY2ggYnkgQnJ1bm8gQ2F1ZXQuCisKIC0gSXNzdWUgIzIyOTYwOiBBZGQgYSBjb250ZXh0IGFyZ3VtZW50IHRvIHhtbHJwY2xpYi5TZXJ2ZXJQcm94eSBjb25zdHJ1Y3Rvci4KIAorLSBJc3N1ZSAjMjIzODk6IEFkZCBjb250ZXh0bGliLnJlZGlyZWN0X3N0ZGVycigpLgorCistIElzc3VlICMyMTM1NjogTWFrZSBzc2wuUkFORF9lZ2QoKSBvcHRpb25hbCB0byBzdXBwb3J0IExpYnJlU1NMLiBUaGUKKyAgYXZhaWxhYmlsaXR5IG9mIHRoZSBmdW5jdGlvbiBpcyBjaGVja2VkIGR1cmluZyB0aGUgY29tcGlsYXRpb24uIFBhdGNoIHdyaXR0ZW4KKyAgYnkgQmVybmFyZCBTcGlsLgorCiAtIElzc3VlICMyMjkxNTogU0FYIHBhcnNlciBub3cgc3VwcG9ydHMgZmlsZXMgb3BlbmVkIHdpdGggZmlsZSBkZXNjcmlwdG9yIG9yCiAgIGJ5dGVzIHBhdGguCiAKIC0gSXNzdWUgIzIyNjA5OiBDb25zdHJ1Y3RvcnMgYW5kIHVwZGF0ZSBtZXRob2RzIG9mIG1hcHBpbmcgY2xhc3NlcyBpbiB0aGUKICAgY29sbGVjdGlvbnMgbW9kdWxlIG5vdyBhY2NlcHQgdGhlIHNlbGYga2V5d29yZCBhcmd1bWVudC4KIAorLSBJc3N1ZSAjMjI5NDA6IEFkZCByZWFkbGluZS5hcHBlbmRfaGlzdG9yeV9maWxlLgorCistIElzc3VlICMxOTY3NjogQWRkZWQgdGhlICJuYW1lcmVwbGFjZSIgZXJyb3IgaGFuZGxlci4KKwogLSBJc3N1ZSAjMjI3ODg6IEFkZCAqY29udGV4dCogcGFyYW1ldGVyIHRvIGxvZ2dpbmcuaGFuZGxlcnMuSFRUUEhhbmRsZXIuCiAKIC0gSXNzdWUgIzIyOTIxOiBBbGxvdyBTU0xDb250ZXh0IHRvIHRha2UgdGhlICpob3N0bmFtZSogcGFyYW1ldGVyIGV2ZW4gaWYKQEAgLTIzNCwxNCArNTIyLDE5IEBACiAtIElzc3VlICMyMjg5NDogVGVzdENhc2Uuc3ViVGVzdCgpIHdvdWxkIGNhdXNlIHRoZSB0ZXN0IHN1aXRlIHRvIGJlIHN0b3BwZWQKICAgd2hlbiBpbiBmYWlsZmFzdCBtb2RlLCBldmVuIGluIHRoZSBhYnNlbmNlIG9mIGZhaWx1cmVzLgogCi0tIElzc3VlICMyMjYzODogU1NMdjMgaXMgbm93IGRpc2FibGVkIHRocm91Z2hvdXQgdGhlIHN0YW5kYXJkIGxpYnJhcnkuCi0gIEl0IGNhbiBzdGlsbCBiZSBlbmFibGVkIGJ5IGluc3RhbnRpYXRpbmcgYSBTU0xDb250ZXh0IG1hbnVhbGx5LgorLSBJc3N1ZSAjMjI3OTY6IEhUVFAgY29va2llIHBhcnNpbmcgaXMgbm93IHN0cmljdGVyLCBpbiBvcmRlciB0byBwcm90ZWN0CisgIGFnYWluc3QgcG90ZW50aWFsIGluamVjdGlvbiBhdHRhY2tzLgogCiAtIElzc3VlICMyMjM3MDogV2luZG93cyBkZXRlY3Rpb24gaW4gcGF0aGxpYiBpcyBub3cgbW9yZSByb2J1c3QuCiAKIC0gSXNzdWUgIzIyODQxOiBSZWplY3QgY29yb3V0aW5lcyBpbiBhc3luY2lvIGFkZF9zaWduYWxfaGFuZGxlcigpLgogICBQYXRjaCBieSBMdWRvdmljLkdhc2MuCiAKKy0gSXNzdWUgIzE5NDk0OiBBZGRlZCB1cmxsaWIucmVxdWVzdC5IVFRQQmFzaWNQcmlvckF1dGhIYW5kbGVyLiBQYXRjaCBieQorICBNYXRlaiBDZXBsLgorCistIElzc3VlICMyMjU3ODogQWRkZWQgYXR0cmlidXRlcyB0byB0aGUgcmUuZXJyb3IgY2xhc3MuCisKIC0gSXNzdWUgIzIyODQ5OiBGaXggcG9zc2libGUgZG91YmxlIGZyZWUgaW4gdGhlIGlvLlRleHRJT1dyYXBwZXIgY29uc3RydWN0b3IuCiAKIC0gSXNzdWUgIzEyNzI4OiBEaWZmZXJlbnQgVW5pY29kZSBjaGFyYWN0ZXJzIGhhdmluZyB0aGUgc2FtZSB1cHBlcmNhc2UgYnV0CkBAIC0yNTAsNiArNTQzLDE0IEBACiAtIElzc3VlICMyMjgyMTogRml4ZWQgZmNudGwoKSB3aXRoIGludGVnZXIgYXJndW1lbnQgb24gNjQtYml0IGJpZy1lbmRpYW4KICAgcGxhdGZvcm1zLgogCistIElzc3VlICMyMTY1MDogQWRkIGFuIGAtLXNvcnQta2V5c2Agb3B0aW9uIHRvIGpzb24udG9vbCBDTEkuCisKKy0gSXNzdWUgIzIyODI0OiAgVXBkYXRlZCByZXBybGliIG91dHB1dCBmb3JtYXQgZm9yIHNldHMgdG8gdXNlIHNldCBsaXRlcmFscy4KKyAgUGF0Y2ggY29udHJpYnV0ZWQgYnkgQmVya2VyIFBla3NhZy4KKworLSBJc3N1ZSAjMjI4MjQ6ICBVcGRhdGVkIHJlcHJsaWIgb3V0cHV0IGZvcm1hdCBmb3IgYXJyYXlzIHRvIGRpc3BsYXkgZW1wdHkKKyAgYXJyYXlzIHdpdGhvdXQgYW4gdW5uZWNlc3NhcnkgZW1wdHkgbGlzdC4gIFN1Z2dlc3RlZCBieSBTZXJoaXkgU3RvcmNoYWthLgorCiAtIElzc3VlICMyMjQwNjogRml4ZWQgdGhlIHV1X2NvZGVjIGNvZGVjIGluY29ycmVjdGx5IHBvcnRlZCB0byAzLnguCiAgIEJhc2VkIG9uIHBhdGNoIGJ5IE1hcnRpbiBQYW50ZXIuCiAKQEAgLTI2MywxNiArNTY0LDE1IEBACiAtIElzc3VlICMyMjc3NTogRml4ZWQgdW5waWNrbGluZyBvZiBodHRwLmNvb2tpZXMuU2ltcGxlQ29va2llIHdpdGggcHJvdG9jb2wgMgogICBhbmQgYWJvdmUuICBQYXRjaCBieSBUaW0gR3JhaGFtLgogCi0tIElzc3VlICMyMjM2NjogdXJsbGliLnJlcXVlc3QudXJsb3BlbiB3aWxsIGFjY2VwdCBhIGNvbnRleHQgb2JqZWN0Ci0gIChTU0xDb250ZXh0KSBhcyBhbiBhcmd1bWVudCB3aGljaCB3aWxsIHRoZW4gdXNlZCBiZSBmb3IgSFRUUFMgY29ubmVjdGlvbi4KLSAgUGF0Y2ggYnkgQWxleCBHYXlub3IuCi0KIC0gSXNzdWUgIzIyNzc2OiBCcm91Z2h0IGV4Y2x1ZGVkIGNvZGUgaW50byB0aGUgc2NvcGUgb2YgYSB0cnkgYmxvY2sgaW4KICAgU3lzTG9nSGFuZGxlci5lbWl0KCkuCiAKIC0gSXNzdWUgIzIyNjY1OiBBZGQgbWlzc2luZyBnZXRfdGVybWluYWxfc2l6ZSBhbmQgU2FtZUZpbGVFcnJvciB0bwogICBzaHV0aWwuX19hbGxfXy4KIAorLSBJc3N1ZSAjNjYyMzogUmVtb3ZlIGRlcHJlY2F0ZWQgTmV0cmMgY2xhc3MgaW4gdGhlIGZ0cGxpYiBtb2R1bGUuIFBhdGNoIGJ5CisgIE1hdHQgQ2hhcHV0LgorCiAtIElzc3VlICMxNzM4MTogRml4ZWQgaGFuZGxpbmcgb2YgY2FzZS1pbnNlbnNpdGl2ZSByYW5nZXMgaW4gcmVndWxhcgogICBleHByZXNzaW9ucy4KIApAQCAtMjg2LDE4ICs1ODYsNTMgQEAKICAgZG9lc24ndCB3b3JrLiAgVGhpcyBhbGxvd3MgdXNlIHdpdGggc3BlY2lhbCBmaWxlc3lzdGVtcyBzdWNoIGFzIFZpcnR1YWxCb3gKICAgc2hhcmVkIGZvbGRlcnMuCiAKKy0gSXNzdWUgIzIyMjE3OiBJbXBsZW1lbnRlZCByZXBycyBvZiBjbGFzc2VzIGluIHRoZSB6aXBmaWxlIG1vZHVsZS4KKworLSBJc3N1ZSAjMjI0NTc6IEhvbm91ciBsb2FkX3Rlc3RzIGluIHRoZSBzdGFydF9kaXIgb2YgZGlzY292ZXJ5LgorCistIElzc3VlICMxODIxNjogZ2V0dGV4dCBub3cgcmFpc2VzIGFuIGVycm9yIHdoZW4gYSAubW8gZmlsZSBoYXMgYW4KKyAgdW5zdXBwb3J0ZWQgbWFqb3IgdmVyc2lvbiBudW1iZXIuICBQYXRjaCBieSBBYXJvbiBIaWxsLgorCistIElzc3VlICMxMzkxODogUHJvdmlkZSBhIGxvY2FsZS5kZWxvY2FsaXplKCkgZnVuY3Rpb24gd2hpY2ggY2FuIHJlbW92ZQorICBsb2NhbGUtc3BlY2lmaWMgbnVtYmVyIGZvcm1hdHRpbmcgZnJvbSBhIHN0cmluZyByZXByZXNlbnRpbmcgYSBudW1iZXIsCisgIHdpdGhvdXQgdGhlbiBjb252ZXJ0aW5nIGl0IHRvIGEgc3BlY2lmaWMgdHlwZS4gIFBhdGNoIGJ5IEPDqWRyaWMgS3JpZXIuCisKKy0gSXNzdWUgIzIyNjc2OiBNYWtlIHRoZSBwaWNrbGluZyBvZiBnbG9iYWwgb2JqZWN0cyB3aGljaCBkb24ndCBoYXZlIGEKKyAgX19tb2R1bGVfXyBhdHRyaWJ1dGUgbGVzcyBzbG93LgorCiAtIElzc3VlICMxODg1MzogRml4ZWQgUmVzb3VyY2VXYXJuaW5nIGluIHNobGV4Ll9fbmFpbl9fLgogCiAtIElzc3VlICM5MzUxOiBEZWZhdWx0cyBzZXQgd2l0aCBzZXRfZGVmYXVsdHMgb24gYW4gYXJncGFyc2Ugc3VicGFyc2VyCiAgIGFyZSBubyBsb25nZXIgaWdub3JlZCB3aGVuIGFsc28gc2V0IG9uIHRoZSBwYXJlbnQgcGFyc2VyLgogCistIElzc3VlICM3NTU5OiB1bml0dGVzdCB0ZXN0IGxvYWRpbmcgSW1wb3J0RXJyb3JzIGFyZSByZXBvcnRlZCBhcyBpbXBvcnQgZXJyb3JzCisgIHdpdGggdGhlaXIgaW1wb3J0IGV4Y2VwdGlvbiByYXRoZXIgdGhhbiBhcyBhdHRyaWJ1dGUgZXJyb3JzIGFmdGVyIHRoZSBpbXBvcnQKKyAgaGFzIGFscmVhZHkgZmFpbGVkLgorCistIElzc3VlICMxOTc0NjogTWFrZSBpdCBwb3NzaWJsZSB0byBleGFtaW5lIHRoZSBlcnJvcnMgZnJvbSB1bml0dGVzdAorICBkaXNjb3Zlcnkgd2l0aG91dCBleGVjdXRpbmcgdGhlIHRlc3Qgc3VpdGUuIFRoZSBuZXcgYGVycm9yc2AgYXR0cmlidXRlCisgIG9uIFRlc3RMb2FkZXIgZXhwb3NlcyB0aGVzZSBub24tZmF0YWwgZXJyb3JzIGVuY291bnRlcmVkIGR1cmluZyBkaXNjb3ZlcnkuCisKIC0gSXNzdWUgIzIxOTkxOiBNYWtlIGVtYWlsLmhlYWRlcnJlZ2lzdHJ5J3MgaGVhZGVyICdwYXJhbXMnIGF0dHJpYnV0ZXMKICAgYmUgcmVhZC1vbmx5IChNYXBwaW5nUHJveHlUeXBlKS4gIFByZXZpb3VzbHkgdGhlIGRpY3Rpb25hcnkgd2FzIG1vZGlmaWFibGUKICAgYnV0IGEgbmV3IG9uZSB3YXMgY3JlYXRlZCBvbiBlYWNoIGFjY2VzcyBvZiB0aGUgYXR0cmlidXRlLgogCistIElzc3VlICMyMjYzODogU1NMdjMgaXMgbm93IGRpc2FibGVkIHRocm91Z2hvdXQgdGhlIHN0YW5kYXJkIGxpYnJhcnkuCisgIEl0IGNhbiBzdGlsbCBiZSBlbmFibGVkIGJ5IGluc3RhbnRpYXRpbmcgYSBTU0xDb250ZXh0IG1hbnVhbGx5LgorCiAtIElzc3VlICMyMjY0MTogSW4gYXN5bmNpbywgdGhlIGRlZmF1bHQgU1NMIGNvbnRleHQgZm9yIGNsaWVudCBjb25uZWN0aW9ucwogICBpcyBub3cgY3JlYXRlZCB1c2luZyBzc2wuY3JlYXRlX2RlZmF1bHRfY29udGV4dCgpLCBmb3Igc3Ryb25nZXIgc2VjdXJpdHkuCiAKKy0gSXNzdWUgIzE3NDAxOiBJbmNsdWRlIGNsb3NlZmQgaW4gaW8uRmlsZUlPIHJlcHIuCisKKy0gSXNzdWUgIzIxMzM4OiBBZGQgc2lsZW50IG1vZGUgZm9yIGNvbXBpbGVhbGwuIHF1aWV0IHBhcmFtZXRlcnMgb2YKKyAgY29tcGlsZV97ZGlyLCBmaWxlLCBwYXRofSBmdW5jdGlvbnMgbm93IGhhdmUgYSBtdWx0aWxldmVsIHZhbHVlLiBBbHNvLAorICAtcSBvcHRpb24gb2YgdGhlIENMSSBub3cgaGF2ZSBhIG11bHRpbGV2ZWwgdmFsdWUuIFBhdGNoIGJ5IFRob21hcyBLbHV5dmVyLgorCistIElzc3VlICMyMDE1MjogQ29udmVydCB0aGUgYXJyYXkgYW5kIGNtYXRoIG1vZHVsZXMgdG8gQXJndW1lbnQgQ2xpbmljLgorCistIElzc3VlICMxODY0MzogQWRkIHNvY2tldC5zb2NrZXRwYWlyKCkgb24gV2luZG93cy4KKwogLSBJc3N1ZSAjMjI0MzU6IEZpeCBhIGZpbGUgZGVzY3JpcHRvciBsZWFrIHdoZW4gU29ja2V0U2VydmVyIGJpbmQgZmFpbHMuCiAKIC0gSXNzdWUgIzEzMDk2OiBGaXhlZCBzZWdmYXVsdCBpbiBDVHlwZXMgUE9JTlRFUiBoYW5kbGluZyBvZiBsYXJnZQpAQCAtMzA2LDkgKzY0MSwxOSBAQAogLSBJc3N1ZSAjMTE2OTQ6IFJhaXNlIENvbnZlcnNpb25FcnJvciBpbiB4ZHJsaWIgYXMgZG9jdW1lbnRlZC4gIFBhdGNoCiAgIGJ5IEZpbGlwIEdydXN6Y3p5xYRza2kgYW5kIENsYXVkaXUgUG9wYS4KIAorLSBJc3N1ZSAjMTkzODA6IE9wdGltaXplZCBwYXJzaW5nIG9mIHJlZ3VsYXIgZXhwcmVzc2lvbnMuCisKKy0gSXNzdWUgIzE1MTk2Mzg6IE5vdyB1bm1hdGNoZWQgZ3JvdXBzIGFyZSByZXBsYWNlZCB3aXRoIGVtcHR5IHN0cmluZ3MgaW4gcmUuc3ViKCkKKyAgYW5kIHJlLnN1Ym4oKS4KKworLSBJc3N1ZSAjMTg2MTU6IHNuZGhkci53aGF0L3doYXRoZHIgbm93IHJldHVybiBhIG5hbWVkdHVwbGUuCisKIC0gSXNzdWUgIzIyNDYyOiBGaXggcHlleHBhdCdzIGNyZWF0aW9uIG9mIGEgZHVtbXkgZnJhbWUgdG8gbWFrZSBpdAogICBhcHBlYXIgaW4gZXhjZXB0aW9uIHRyYWNlYmFja3MuCiAKKy0gSXNzdWUgIzIxOTY1OiBBZGQgc3VwcG9ydCBmb3IgaW4tbWVtb3J5IFNTTCB0byB0aGUgc3NsIG1vZHVsZS4gIFBhdGNoCisgIGJ5IEdlZXJ0IEphbnNlbi4KKwogLSBJc3N1ZSAjMjExNzM6IEZpeCBsZW4oKSBvbiBhIFdlYWtLZXlEaWN0aW9uYXJ5IHdoZW4gLmNsZWFyKCkgd2FzIGNhbGxlZAogICB3aXRoIGFuIGl0ZXJhdG9yIGFsaXZlLgogCkBAIC0zMTgsMTY1ICs2NjMsNjUgQEAKIC0gSXNzdWUgIzIxOTA1OiBBdm9pZCBSdW50aW1lRXJyb3IgaW4gcGlja2xlLndoaWNobW9kdWxlKCkgd2hlbiBzeXMubW9kdWxlcwogICBpcyBtdXRhdGVkIHdoaWxlIGl0ZXJhdGluZy4gIFBhdGNoIGJ5IE9saXZpZXIgR3Jpc2VsLgogCistIElzc3VlICMxMTI3MTogY29uY3VycmVudC5mdXR1cmVzLkV4ZWN1dG9yLm1hcCgpIG5vdyB0YWtlcyBhICpjaHVua3NpemUqCisgIGFyZ3VtZW50IHRvIGFsbG93IGJhdGNoaW5nIG9mIHRhc2tzIGluIGNoaWxkIHByb2Nlc3NlcyBhbmQgaW1wcm92ZQorICBwZXJmb3JtYW5jZSBvZiBQcm9jZXNzUG9vbEV4ZWN1dG9yLiAgUGF0Y2ggYnkgRGFuIE8nUmVpbGx5LgorCistIElzc3VlICMyMTg4Mzogb3MucGF0aC5qb2luKCkgYW5kIG9zLnBhdGgucmVscGF0aCgpIG5vdyByYWlzZSBhIFR5cGVFcnJvciB3aXRoCisgIG1vcmUgaGVscGZ1bCBlcnJvciBtZXNzYWdlIGZvciB1bnN1cHBvcnRlZCBvciBtaXNtYXRjaGVkIHR5cGVzIG9mIGFyZ3VtZW50cy4KKwogLSBJc3N1ZSAjMjIyMTk6IFRoZSB6aXBmaWxlIG1vZHVsZSBDTEkgbm93IGFkZHMgZW50cmllcyBmb3IgZGlyZWN0b3JpZXMKICAgKGluY2x1ZGluZyBlbXB0eSBkaXJlY3RvcmllcykgaW4gWklQIGZpbGUuCiAKIC0gSXNzdWUgIzIyNDQ5OiBJbiB0aGUgc3NsLlNTTENvbnRleHQubG9hZF9kZWZhdWx0X2NlcnRzLCBjb25zdWx0IHRoZQogICBlbnZpcm9tZW50YWwgdmFyaWFibGVzIFNTTF9DRVJUX0RJUiBhbmQgU1NMX0NFUlRfRklMRSBvbiBXaW5kb3dzLgogCistIElzc3VlICMyMjUwODogVGhlIGVtYWlsLl9fdmVyc2lvbl9fIHZhcmlhYmxlIGhhcyBiZWVuIHJlbW92ZWQ7IHRoZSBlbWFpbAorICBjb2RlIGlzIG5vIGxvbmdlciBzaGlwcGVkIHNlcGFyYXRlbHkgZnJvbSB0aGUgc3RkbGliLCBhbmQgX192ZXJzaW9uX18KKyAgaGFzbid0IGJlZW4gdXBkYXRlZCBpbiBzZXZlcmFsIHJlbGVhc2VzLgorCiAtIElzc3VlICMyMDA3NjogQWRkZWQgbm9uIGRlcml2ZWQgVVRGLTggYWxpYXNlcyB0byBsb2NhbGUgYWxpYXNlcyB0YWJsZS4KIAogLSBJc3N1ZSAjMjAwNzk6IEFkZGVkIGxvY2FsZXMgc3VwcG9ydGVkIGluIGdsaWJjIDIuMTggdG8gbG9jYWxlIGFsaWFzIHRhYmxlLgogCi0tIElzc3VlICMyMjM5NjogT24gMzItYml0IEFJWCBwbGF0Zm9ybSwgZG9uJ3QgZXhwb3NlIG9zLnBvc2l4X2ZhZHZpc2UoKSBub3IKLSAgb3MucG9zaXhfZmFsbG9jYXRlKCkgYmVjYXVzZSB0aGVpciBwcm90b3R5cGVzIGluIHN5c3RlbSBoZWFkZXJzIGFyZSB3cm9uZy4KKy0gSXNzdWUgIzIwMjE4OiBBZGRlZCBjb252ZW5pZW5jZSBtZXRob2RzIHJlYWRfdGV4dC93cml0ZV90ZXh0IGFuZCByZWFkX2J5dGVzLworICB3cml0ZV9ieXRlcyB0byBwYXRobGliLlBhdGggb2JqZWN0cy4KIAotLSBJc3N1ZSAjMjI1MTc6IFdoZW4gYSBpby5CdWZmZXJlZFJXUGFpciBvYmplY3QgaXMgZGVhbGxvY2F0ZWQsIGNsZWFyIGl0cwotICB3ZWFrcmVmcy4KKy0gSXNzdWUgIzIyNDM3OiBOdW1iZXIgb2YgY2FwdHVyaW5nIGdyb3VwcyBpbiByZWd1bGFyIGV4cHJlc3Npb24gaXMgbm8gbG9uZ2VyCisgIGxpbWl0ZWQgYnkgMTAwLgogCi0tIElzc3VlICMyMjQ0ODogSW1wcm92ZSBjYW5jZWxlZCB0aW1lciBoYW5kbGVzIGNsZWFudXAgdG8gcHJldmVudAotICB1bmJvdW5kIG1lbW9yeSB1c2FnZS4gUGF0Y2ggYnkgSm9zaHVhIE1vb3JlLU9saXZhLgotCi0tIElzc3VlICMyMzAwOTogTWFrZSBzdXJlIHNlbGVjdG9ycy5FcG9sbFNlbGVjcnRvci5zZWxlY3QoKSB3b3JrcyB3aGVuIG5vCi0gIEZEIGlzIHJlZ2lzdGVyZWQuCi0KLUlETEUKLS0tLS0KLQotLSBJc3N1ZSAjMjA1Nzc6IENvbmZpZ3VyYXRpb24gb2YgdGhlIG1heCBsaW5lIGxlbmd0aCBmb3IgdGhlIEZvcm1hdFBhcmFncmFwaAotICBleHRlbnNpb24gaGFzIGJlZW4gbW92ZWQgZnJvbSB0aGUgR2VuZXJhbCB0YWIgb2YgdGhlIElkbGUgcHJlZmVyZW5jZXMgZGlhbG9nCi0gIHRvIHRoZSBGb3JtYXRQYXJhZ3JhcGggdGFiIG9mIHRoZSBDb25maWcgRXh0ZW5zaW9ucyBkaWFsb2cuCi0gIFBhdGNoIGJ5IFRhbCBFaW5hdC4KLQotLSBJc3N1ZSAjMTY4OTM6IFVwZGF0ZSBJZGxlIGRvYyBjaGFwdGVyIHRvIG1hdGNoIGN1cnJlbnQgSWRsZSBhbmQgYWRkIG5ldwotICBpbmZvcm1hdGlvbi4KLQotLSBJc3N1ZSAjMzA2ODogQWRkIElkbGUgZXh0ZW5zaW9uIGNvbmZpZ3VyYXRpb24gZGlhbG9nIHRvIE9wdGlvbnMgbWVudS4KLSAgQ2hhbmdlcyBhcmUgd3JpdHRlbiB0byBIT01FLy5pZGxlcmMvY29uZmlnLWV4dGVuc2lvbnMuY2ZnLgotICBPcmlnaW5hbCBwYXRjaCBieSBUYWwgRWluYXQuCi0KLS0gSXNzdWUgIzE2MjMzOiBBIG1vZHVsZSBicm93c2VyIChGaWxlIDogQ2xhc3MgQnJvd3NlciwgQWx0K0MpIHJlcXVpcmVzIGEKLSAgZWRpdG9yIHdpbmRvdyB3aXRoIGEgZmlsZW5hbWUuICBXaGVuIENsYXNzIEJyb3dzZXIgaXMgcmVxdWVzdGVkIG90aGVyd2lzZSwKLSAgZnJvbSBhIHNoZWxsLCBvdXRwdXQgd2luZG93LCBvciAnVW50aXRsZWQnIGVkaXRvciwgSWRsZSBubyBsb25nZXIgZGlzcGxheXMKLSAgYW4gZXJyb3IgYm94LiAgSXQgbm93IHBvcHMgdXAgYW4gIE9wZW4gTW9kdWxlIGJveCAoQWx0K00pLiBJZiBhIHZhbGlkIG5hbWUKLSAgaXMgZW50ZXJlZCBhbmQgYSBtb2R1bGUgaXMgb3BlbmVkLCBhIGNvcnJlc3BvbmRpbmcgYnJvd3NlciBpcyBhbHNvIG9wZW5lZC4KLQotLSBJc3N1ZSAjNDgzMjogU2F2ZSBBcyB0byB0eXBlIFB5dGhvbiBmaWxlcyBhdXRvbWF0aWNhbGx5IGFkZHMgLnB5IHRvIHRoZQotICBuYW1lIHlvdSBlbnRlciAoZXZlbiBpZiB5b3VyIHN5c3RlbSBkb2VzIG5vdCBkaXNwbGF5IGl0KS4gIFNvbWUgc3lzdGVtcwotICBhdXRvbWF0aWNhbGx5IGFkZCAudHh0IHdoZW4gdHlwZSBpcyBUZXh0IGZpbGVzLgotCi0tIElzc3VlICMyMTk4NjogQ29kZSBvYmplY3RzIGFyZSBub3Qgbm9ybWFsbHkgcGlja2xlZCBieSB0aGUgcGlja2xlIG1vZHVsZS4KLSAgVG8gbWF0Y2ggdGhpcywgdGhleSBhcmUgbm8gbG9uZ2VyIHBpY2tsZWQgd2hlbiBydW5uaW5nIHVuZGVyIElkbGUuCi0KLS0gSXNzdWUgIzIzMTgwOiBSZW5hbWUgSURMRSAiV2luZG93cyIgbWVudSBpdGVtIHRvICJXaW5kb3ciLgotICBQYXRjaCBieSBBbCBTd2VpZ2FydC4KLQotVGVzdHMKLS0tLS0tCistIElzc3VlICMxNzQ0MjogSW50ZXJhY3RpdmVJbnRlcnByZXRlciBub3cgZGlzcGxheXMgdGhlIGZ1bGwgY2hhaW5lZCB0cmFjZWJhY2sKKyAgaW4gaXRzIHNob3d0cmFjZWJhY2sgbWV0aG9kLCB0byBtYXRjaCB0aGUgYnVpbHQgaW4gaW50ZXJhY3RpdmUgaW50ZXJwcmV0ZXIuCiAKIC0gSXNzdWUgIzIzMzkyOiBBZGRlZCB0ZXN0cyBmb3IgbWFyc2hhbCBDIEFQSSB0aGF0IHdvcmtzIHdpdGggRklMRSouCiAKLS0gSXNzdWUgIzE4OTgyOiBBZGQgdGVzdHMgZm9yIENMSSBvZiB0aGUgY2FsZW5kYXIgbW9kdWxlLgotCi0tIElzc3VlICMxOTU0ODogQWRkZWQgc29tZSBhZGRpdGlvbmFsIGNoZWNrcyB0byB0ZXN0X2NvZGVjcyB0byBlbnN1cmUgdGhhdAotICBzdGF0ZW1lbnRzIGluIHRoZSB1cGRhdGVkIGRvY3VtZW50YXRpb24gcmVtYWluIGFjY3VyYXRlLiBQYXRjaCBieSBNYXJ0aW4KLSAgUGFudGVyLgotCi0tIElzc3VlICMyMjgzODogQWxsIHRlc3RfcmUgdGVzdHMgbm93IHdvcmsgd2l0aCB1bml0dGVzdCB0ZXN0IGRpc2NvdmVyeS4KLQotLSBJc3N1ZSAjMjIxNzM6IFVwZGF0ZSBsaWIydG8zIHRlc3RzIHRvIHVzZSB1bml0dGVzdCB0ZXN0IGRpc2NvdmVyeS4KLQotLSBJc3N1ZSAjMTYwMDA6IENvbnZlcnQgdGVzdF9jdXJzZXMgdG8gdXNlIHVuaXR0ZXN0LgotCi0tIElzc3VlICMyMTQ1NjogU2tpcCB0d28gdGVzdHMgaW4gdGVzdF91cmxsaWIybmV0LnB5IGlmIF9zc2wgbW9kdWxlIG5vdAotICBwcmVzZW50LiBQYXRjaCBieSBSZW1pIFBvaW50ZWwuCi0KLS0gSXNzdWUgIzIyNzcwOiBQcmV2ZW50IHNvbWUgVGsgc2VnZmF1bHRzIG9uIE9TIFggd2hlbiBydW5uaW5nIGd1aSB0ZXN0cy4KLQotLSBJc3N1ZSAjMjMyMTE6IFdvcmthcm91bmQgdGVzdF9sb2dnaW5nIGZhaWx1cmUgb24gc29tZSBPUyBYIDEwLjYgc3lzdGVtcy4KLQotLSBJc3N1ZSAjMjMzNDU6IFByZXZlbnQgdGVzdF9zc2wgZmFpbHVyZXMgd2l0aCBsYXJnZSBPcGVuU1NMIHBhdGNoIGxldmVsCi0gIHZhbHVlcyAobGlrZSAwLjkuOHpjKS4KLQotQnVpbGQKLS0tLS0tCi0KLS0gSXNzdWUgIzE1NTA2OiBVc2Ugc3RhbmRhcmQgUEtHX1BST0dfUEtHX0NPTkZJRyBhdXRvY29uZiBtYWNybyBpbiB0aGUgY29uZmlndXJlCi0gIHNjcmlwdC4KLQotLSBJc3N1ZSAjMjI5MzU6IEFsbG93IHRoZSBzc2wgbW9kdWxlIHRvIGJlIGNvbXBpbGVkIGlmIG9wZW5zc2wgZG9lc24ndCBzdXBwb3J0Ci0gIFNTTCAzLgotCi0tIElzc3VlICMxNjUzNzogQ2hlY2sgd2hldGhlciBzZWxmLmV4dGVuc2lvbnMgaXMgZW1wdHkgaW4gc2V0dXAucHkuIFBhdGNoIGJ5Ci0gIEpvbmF0aGFuIEhvc21lci4KLQotLSBJc3N1ZSAjMTgwOTY6IEZpeCBsaWJyYXJ5IG9yZGVyIHJldHVybmVkIGJ5IHB5dGhvbi1jb25maWcuCi0KLS0gSXNzdWUgIzE3MjE5OiBBZGQgbGlicmFyeSBidWlsZCBkaXIgZm9yIFB5dGhvbiBleHRlbnNpb24gY3Jvc3MtYnVpbGRzLgotCi0tIElzc3VlICMxNzEyODogVXNlIHByaXZhdGUgdmVyc2lvbiBvZiBPcGVuU1NMIGZvciAzLjQuMyBPUyBYIDEwLjUrIGluc3RhbGxlci4KLQotQyBBUEkKLS0tLS0tCi0KLS0gSXNzdWUgIzIyMDc5OiBQeVR5cGVfUmVhZHkoKSBub3cgY2hlY2tzIHRoYXQgc3RhdGljYWxseSBhbGxvY2F0ZWQgdHlwZSBoYXMKLSAgbm8gZHluYW1pY2FsbHkgYWxsb2NhdGVkIGJhc2VzLgotCi1Eb2N1bWVudGF0aW9uCi0tLS0tLS0tLS0tLS0tCi0KLS0gSXNzdWUgIzE5NTQ4OiBVcGRhdGUgdGhlIGNvZGVjcyBtb2R1bGUgZG9jdW1lbnRhdGlvbiB0byBiZXR0ZXIgY292ZXIgdGhlCi0gIGRpc3RpbmN0aW9uIGJldHdlZW4gdGV4dCBlbmNvZGluZ3MgYW5kIG90aGVyIGNvZGVjcywgdG9nZXRoZXIgd2l0aCBvdGhlcgotICBjbGFyaWZpY2F0aW9ucy4gUGF0Y2ggYnkgTWFydGluIFBhbnRlci4KLQotLSBJc3N1ZSAjMjI5MTQ6IFVwZGF0ZSB0aGUgUHl0aG9uIDIvMyBwb3J0aW5nIEhPV1RPIHRvIGRlc2NyaWJlIGEgbW9yZSBhdXRvbWF0ZWQKLSAgYXBwcm9hY2guCi0KLS0gSXNzdWUgIzIxNTE0OiBUaGUgZG9jdW1lbnRhdGlvbiBvZiB0aGUganNvbiBtb2R1bGUgbm93IHJlZmVycyB0byBuZXcgSlNPTiBSRkMKLSAgNzE1OSBpbnN0ZWFkIG9mIG9ic29sZXRlZCBSRkMgNDYyNy4KLQotVG9vbHMvRGVtb3MKLS0tLS0tLS0tLS0tCi0KLS0gSXNzdWUgIzIyMzE0OiBweWRvYyBub3cgd29ya3Mgd2hlbiB0aGUgTElORVMgZW52aXJvbm1lbnQgdmFyaWFibGUgaXMgc2V0LgotCi1XaW5kb3dzCi0tLS0tLS0tCi0KLS0gSXNzdWUgIzE3ODk2OiBUaGUgV2luZG93cyBidWlsZCBzY3JpcHRzIG5vdyBleHBlY3QgZXh0ZXJuYWwgbGlicmFyeSBzb3VyY2VzCi0gIHRvIGJlIGluIGBgUENidWlsZFwuLlxleHRlcm5hbHNgYCByYXRoZXIgdGhhbiBgYFBDYnVpbGRcLi5cLi5gYC4KLQotLSBJc3N1ZSAjMTc3MTc6IFRoZSBXaW5kb3dzIGJ1aWxkIHNjcmlwdHMgbm93IHVzZSBhIGNvcHkgb2YgTkFTTSBwdWxsZWQgZnJvbQotICBzdm4ucHl0aG9uLm9yZyB0byBidWlsZCBPcGVuU1NMLgotCi0tIElzc3VlICMyMjY0NDogVGhlIGJ1bmRsZWQgdmVyc2lvbiBvZiBPcGVuU1NMIGhhcyBiZWVuIHVwZGF0ZWQgdG8gMS4wLjFqLgotCi1XaGF0J3MgTmV3IGluIFB5dGhvbiAzLjQuMj8KLT09PT09PT09PT09PT09PT09PT09PT09PT09PQotCi1SZWxlYXNlIGRhdGU6IDIwMTQtMTAtMDYKLQotQ29yZSBhbmQgQnVpbHRpbnMKLS0tLS0tLS0tLS0tLS0tLS0tCi0KLUxpYnJhcnkKLS0tLS0tLS0KLQogLSBJc3N1ZSAjMTA1MTA6IGRpc3R1dGlscyByZWdpc3RlciBhbmQgdXBsb2FkIG1ldGhvZHMgbm93IHVzZSBIVE1MIHN0YW5kYXJkcwogICBjb21wbGlhbnQgQ1JMRiBsaW5lIGVuZGluZ3MuCiAKIC0gSXNzdWUgIzk4NTA6IEZpeGVkIG1hY3BhdGguam9pbigpIGZvciBlbXB0eSBmaXJzdCBjb21wb25lbnQuICBQYXRjaCBieQogICBPbGVnIE9zaG15YW4uCiAKKy0gSXNzdWUgIzUzMDk6IGRpc3R1dGlscycgYnVpbGQgYW5kIGJ1aWxkX2V4dCBjb21tYW5kcyBub3cgYWNjZXB0IGEgYGAtamBgCisgIG9wdGlvbiB0byBlbmFibGUgcGFyYWxsZWwgYnVpbGRpbmcgb2YgZXh0ZW5zaW9uIG1vZHVsZXMuCisKKy0gSXNzdWUgIzIyNDQ4OiBJbXByb3ZlIGNhbmNlbGVkIHRpbWVyIGhhbmRsZXMgY2xlYW51cCB0byBwcmV2ZW50CisgIHVuYm91bmQgbWVtb3J5IHVzYWdlLiBQYXRjaCBieSBKb3NodWEgTW9vcmUtT2xpdmEuCisKIC0gSXNzdWUgIzIyNDI3OiBUZW1wb3JhcnlEaXJlY3Rvcnkgbm8gbG9uZ2VyIGF0dGVtcHRzIHRvIGNsZWFuIHVwIHR3aWNlIHdoZW4KICAgdXNlZCBpbiB0aGUgd2l0aCBzdGF0ZW1lbnQgaW4gZ2VuZXJhdG9yLgogCistIElzc3VlICMyMjM2MjogRm9yYmlkZGVuIGFtYmlndW91cyBvY3RhbCBlc2NhcGVzIG91dCBvZiByYW5nZSAwLTBvMzc3IGluCisgIHJlZ3VsYXIgZXhwcmVzc2lvbnMuCisKIC0gSXNzdWUgIzIwOTEyOiBOb3cgZGlyZWN0b3JpZXMgYWRkZWQgdG8gWklQIGZpbGUgaGF2ZSBjb3JyZWN0IFVuaXggYW5kIE1TLURPUwogICBkaXJlY3RvcnkgYXR0cmlidXRlcy4KIAogLSBJc3N1ZSAjMjE4NjY6IFppcEZpbGUuY2xvc2UoKSBubyBsb25nZXIgd3JpdGVzIFpJUDY0IGNlbnRyYWwgZGlyZWN0b3J5CiAgIHJlY29yZHMgaWYgYWxsb3daaXA2NCBpcyBmYWxzZS4KIAorLSBJc3N1ZSAjMjIyNzg6IEZpeCB1cmxqb2luIHByb2JsZW0gd2l0aCByZWxhdGl2ZSB1cmxzLCBhIHJlZ3Jlc3Npb24gb2JzZXJ2ZWQKKyAgYWZ0ZXIgY2hhbmdlcyB0byBpc3N1ZTIyMTE4IHdlcmUgc3VibWl0dGVkLgorCiAtIElzc3VlICMyMjQxNTogRml4ZWQgZGVidWdnaW5nIG91dHB1dCBvZiB0aGUgR1JPVVBSRUZfRVhJU1RTIG9wY29kZSBpbiB0aGUgcmUKICAgbW9kdWxlLiAgUmVtb3ZlZCB0cmFpbGluZyBzcGFjZXMgaW4gZGVidWdnaW5nIG91dHB1dC4KIApAQCAtNDg2LDQ3ICs3MzEsMTggQEAKIC0gSXNzdWUgIzIxMzMyOiBFbnN1cmUgdGhhdCBgYGJ1ZnNpemU9MWBgIGluIHN1YnByb2Nlc3MuUG9wZW4oKSBzZWxlY3RzCiAgIGxpbmUgYnVmZmVyaW5nLCByYXRoZXIgdGhhbiBibG9jayBidWZmZXJpbmcuICBQYXRjaCBieSBBa2lyYSBMaS4KIAotCi1XaGF0J3MgTmV3IGluIFB5dGhvbiAzLjQuMnJjMT8KLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotCi1SZWxlYXNlIGRhdGU6IDIwMTQtMDktMjIKLQotQ29yZSBhbmQgQnVpbHRpbnMKLS0tLS0tLS0tLS0tLS0tLS0tCi0KLS0gSXNzdWUgIzIyMjU4OiBGaXggdGhlIHRoZSBpbnRlcm5hbCBmdW5jdGlvbiBzZXRfaW5oZXJpdGFibGUoKSBvbiBJbGx1bW9zLgotICBUaGlzIHBsYXRmb3JtIGV4cG9zZXMgdGhlIGZ1bmN0aW9uIGBgaW9jdGwoRklPQ0xFWClgYCwgYnV0IGNhbGxpbmcgaXQgZmFpbHMKLSAgd2l0aCBlcnJubyBpcyBFTk9UVFk6ICJJbmFwcHJvcHJpYXRlIGlvY3RsIGZvciBkZXZpY2UiLiBzZXRfaW5oZXJpdGFibGUoKQotICBub3cgZmFsbHMgYmFjayB0byB0aGUgc2xvd2VyIGBgZmNudGwoKWBgIChgYEZfR0VURkRgYCBhbmQgdGhlbiBgYEZfU0VURkRgYCkuCi0KLS0gSXNzdWUgIzIxNjY5OiBXaXRoIHRoZSBhaWQgb2YgaGV1cmlzdGljcyBpbiBTeW50YXhFcnJvci5fX2luaXRfXywgdGhlCi0gIHBhcnNlciBub3cgYXR0ZW1wdHMgdG8gZ2VuZXJhdGUgbW9yZSBtZWFuaW5nZnVsIChvciBhdCBsZWFzdCBtb3JlIHNlYXJjaAotICBlbmdpbmUgZnJpZW5kbHkpIGVycm9yIG1lc3NhZ2VzIHdoZW4gImV4ZWMiIGFuZCAicHJpbnQiIGFyZSB1c2VkIGFzCi0gIHN0YXRlbWVudHMuCi0KLS0gSXNzdWUgIzIxNjQyOiBJZiB0aGUgY29uZGl0aW9uYWwgaWYtZWxzZSBleHByZXNzaW9uLCBhbGxvdyBhbiBpbnRlZ2VyIHdyaXR0ZW4KLSAgd2l0aCBubyBzcGFjZSBiZXR3ZWVuIGl0c2VsZiBhbmQgdGhlIGBgZWxzZWBgIGtleXdvcmQgKGUuZy4gYGBUcnVlIGlmIDQyZWxzZQotICBGYWxzZWBgKSB0byBiZSB2YWxpZCBzeW50YXguCi0KLS0gSXNzdWUgIzIxNTIzOiBGaXggb3Zlci1wZXNzaW1pc3RpYyBjb21wdXRhdGlvbiBvZiB0aGUgc3RhY2sgZWZmZWN0IG9mCi0gIHNvbWUgb3Bjb2RlcyBpbiB0aGUgY29tcGlsZXIuICBUaGlzIGFsc28gZml4ZXMgYSBxdWFkcmF0aWMgY29tcGlsYXRpb24KLSAgdGltZSBpc3N1ZSBub3RpY2VhYmxlIHdoZW4gY29tcGlsaW5nIGNvZGUgd2l0aCBhIGxhcmdlIG51bWJlciBvZiAiYW5kIgotICBhbmQgIm9yIiBvcGVyYXRvcnMuCi0KLUxpYnJhcnkKLS0tLS0tLS0KLQogLSBJc3N1ZSAjMjEwOTE6IEZpeCBBUEkgYnVnOiBlbWFpbC5tZXNzYWdlLkVtYWlsTWVzc2FnZS5pc19hdHRhY2htZW50IGlzIG5vdwotICBhIG1ldGhvZC4gIFNpbmNlIEVtYWlsTWVzc2FnZSBpcyBwcm92aXNpb25hbCwgd2UgY2FuIGNoYW5nZSB0aGUgQVBJIGluIGEKLSAgbWFpbnRlbmFuY2UgcmVsZWFzZSwgYnV0IHdlIHVzZSBhIHRyaWNrIHRvIHJlbWFpbiBiYWNrd2FyZCBjb21wYXRpYmxlIHdpdGgKLSAgMy40LjAvMS4KKyAgYSBtZXRob2QuCiAKIC0gSXNzdWUgIzIxMDc5OiBGaXggZW1haWwubWVzc2FnZS5FbWFpbE1lc3NhZ2UuaXNfYXR0YWNobWVudCB0byByZXR1cm4gdGhlCiAgIGNvcnJlY3QgcmVzdWx0IHdoZW4gdGhlIGhlYWRlciBoYXMgcGFyYW1ldGVycyBhcyB3ZWxsIGFzIGEgdmFsdWUuCiAKIC0gSXNzdWUgIzIyMjQ3OiBBZGQgTk5UUEVycm9yIHRvIG5udHBsaWIuX19hbGxfXy4KIAorLSBJc3N1ZSAjMjIzNjY6IHVybGxpYi5yZXF1ZXN0LnVybG9wZW4gd2lsbCBhY2NlcHQgYSBjb250ZXh0IG9iamVjdAorICAoU1NMQ29udGV4dCkgYXMgYW4gYXJndW1lbnQgd2hpY2ggd2lsbCB0aGVuIHVzZWQgYmUgZm9yIEhUVFBTIGNvbm5lY3Rpb24uCisgIFBhdGNoIGJ5IEFsZXggR2F5bm9yLgorCiAtIElzc3VlICM0MTgwOiBUaGUgd2FybmluZ3MgcmVnaXN0cmllcyBhcmUgbm93IHJlc2V0IHdoZW4gdGhlIGZpbHRlcnMKICAgYXJlIG1vZGlmaWVkLgogCkBAIC01MzgsNiArNzU0LDkgQEAKICAgd2l0aCBub24tc3RhbmRhcmQgY29va2llIGhhbmRsaW5nIGluIHNvbWUgV2ViIGJyb3dzZXJzLiAgUmVwb3J0ZWQgYnkKICAgU2VyZ2V5IEJvYnJvdi4KIAorLSBJc3N1ZSAjMjA1Mzc6IGxvZ2dpbmcgbWV0aG9kcyBub3cgYWNjZXB0IGFuIGV4Y2VwdGlvbiBpbnN0YW5jZSBhcyB3ZWxsIGFzIGEKKyAgQm9vbGVhbiB2YWx1ZSBvciBleGNlcHRpb24gdHVwbGUuIFRoYW5rcyB0byBZdXJ5IFNlbGl2YW5vdiBmb3IgdGhlIHBhdGNoLgorCiAtIElzc3VlICMyMjM4NDogQW4gZXhjZXB0aW9uIGluIFRraW50ZXIgY2FsbGJhY2sgbm8gbG9uZ2VyIGNyYXNoZXMgdGhlIHByb2dyYW0KICAgd2hlbiBpdCBpcyBydW4gd2l0aCBweXRob253LmV4ZS4KIApAQCAtNTQ2LDYgKzc2NSw5IEBACiAtIElzc3VlICMyMTE0Nzogc3FsaXRlMyBub3cgcmFpc2VzIGFuIGV4Y2VwdGlvbiBpZiB0aGUgcmVxdWVzdCBjb250YWlucyBhIG51bGwKICAgY2hhcmFjdGVyIGluc3RlYWQgb2YgdHJ1bmNhdGUgaXQuICBCYXNlZCBvbiBwYXRjaCBieSBWaWN0b3IgU3Rpbm5lci4KIAorLSBJc3N1ZSAjMTM5Njg6IFRoZSBnbG9iIG1vZHVsZSBub3cgc3VwcG9ydHMgcmVjdXJzaXZlIHNlYXJjaCBpbgorICBzdWJkaXJlY3RvcmllcyB1c2luZyB0aGUgIioqIiBwYXR0ZXJuLgorCiAtIElzc3VlICMyMTk1MTogRml4ZWQgYSBjcmFzaCBpbiBUa2ludGVyIG9uIEFJWCB3aGVuIGNhbGxlZCBUY2wgY29tbWFuZCB3aXRoCiAgIGVtcHR5IHN0cmluZyBvciB0dXBsZSBhcmd1bWVudC4KIApAQCAtNTU0LDEyICs3NzYsMzEgQEAKIAogLSBJc3N1ZSAjMjIzMzg6IEZpeCBhIGNyYXNoIGluIHRoZSBqc29uIG1vZHVsZSBvbiBtZW1vcnkgYWxsb2NhdGlvbiBmYWlsdXJlLgogCistIElzc3VlICMxMjQxMDogaW1hcGxpYi5JTUFQNCBub3cgc3VwcG9ydHMgdGhlIGNvbnRleHQgbWFuYWdlbWVudCBwcm90b2NvbC4KKyAgT3JpZ2luYWwgcGF0Y2ggYnkgVGFyZWsgWmlhZMOpLgorCistIElzc3VlICMyMTI3MDogV2Ugbm93IG92ZXJyaWRlIHR1cGxlIG1ldGhvZHMgaW4gbW9jay5jYWxsIG9iamVjdHMgc28gdGhhdAorICB0aGV5IGNhbiBiZSB1c2VkIGFzIG5vcm1hbCBjYWxsIGF0dHJpYnV0ZXMuCisKKy0gSXNzdWUgIzE2NjYyOiBsb2FkX3Rlc3RzKCkgaXMgbm93IHVuY29uZGl0aW9uYWxseSBydW4gd2hlbiBpdCBpcyBwcmVzZW50IGluCisgIGEgcGFja2FnZSdzIF9faW5pdF9fLnB5LiAgVGVzdExvYWRlci5sb2FkVGVzdHNGcm9tTW9kdWxlKCkgc3RpbGwgYWNjZXB0cworICB1c2VfbG9hZF90ZXN0cywgYnV0IGl0IGlzIGRlcHJlY2F0ZWQgYW5kIGlnbm9yZWQuICBBIG5ldyBrZXl3b3JkLW9ubHkKKyAgYXR0cmlidXRlIGBwYXR0ZXJuYCBpcyBhZGRlZCBhbmQgZG9jdW1lbnRlZC4gIFBhdGNoIGdpdmVuIGJ5IFJvYmVydCBDb2xsaW5zLAorICB0d2Vha2VkIGJ5IEJhcnJ5IFdhcnNhdy4KKwogLSBJc3N1ZSAjMjIyMjY6IEZpcnN0IGxldHRlciBubyBsb25nZXIgaXMgc3RyaXBwZWQgZnJvbSB0aGUgInN0YXR1cyIga2V5IGluCiAgIHRoZSByZXN1bHQgb2YgVHJlZXZpZXcuaGVhZGluZygpLgogCiAtIElzc3VlICMxOTUyNDogRml4ZWQgcmVzb3VyY2UgbGVhayBpbiB0aGUgSFRUUCBjb25uZWN0aW9uIHdoZW4gYW4gaW52YWxpZAogICByZXNwb25zZSBpcyByZWNlaXZlZC4gIFBhdGNoIGJ5IE1hcnRpbiBQYW50ZXIuCiAKKy0gSXNzdWUgIzIwNDIxOiBBZGQgYSAudmVyc2lvbigpIG1ldGhvZCB0byBTU0wgc29ja2V0cyBleHBvc2luZyB0aGUgYWN0dWFsCisgIHByb3RvY29sIHZlcnNpb24gaW4gdXNlLgorCistIElzc3VlICMxOTU0NjogY29uZmlncGFyc2VyIGV4Y2VwdGlvbnMgbm8gbG9uZ2VyIGV4cG9zZSBpbXBsZW1lbnRhdGlvbiBkZXRhaWxzLgorICBDaGFpbmVkIEtleUVycm9ycyBhcmUgcmVtb3ZlZCwgd2hpY2ggbGVhZHMgdG8gY2xlYW5lciB0cmFjZWJhY2tzLiAgUGF0Y2ggYnkKKyAgQ2xhdWRpdSBQb3BhLgorCiAtIElzc3VlICMyMjA1MTogdHVydGxlZGVtbyBubyBsb25nZXIgcmVsb2FkcyBleGFtcGxlcyB0byByZS1ydW4gdGhlbS4KICAgSW5pdGlhbGl6YXRpb24gb2YgdmFyaWFibGVzIGFuZCBndWkgc2V0dXAgc2hvdWxkIGJlIGRvbmUgaW4gbWFpbigpLAogICB3aGljaCBpcyBjYWxsZWQgZWFjaCB0aW1lIGEgZGVtbyBpcyBydW4sIGJ1dCBub3Qgb24gaW1wb3J0LgpAQCAtNTc2LDIzICs4MTcsNTcgQEAKIC0gSXNzdWUgIzE4MTMyOiBUdXJ0bGVkZW1vIGJ1dHRvbnMgbm8gbG9uZ2VyIGRpc2FwcGVhciB3aGVuIHRoZSB3aW5kb3cgaXMKICAgc2hydW5rLiAgT3JpZ2luYWwgcGF0Y2hlcyBieSBKYW4gS2FuaXMgYW5kIExpdGEgQ2hvLgogCistIElzc3VlICMyMjA0MzogdGltZS5tb25vdG9uaWMoKSBpcyBub3cgYWx3YXlzIGF2YWlsYWJsZS4KKyAgYGB0aHJlYWRpbmcuTG9jay5hY3F1aXJlKClgYCwgYGB0aHJlYWRpbmcuUkxvY2suYWNxdWlyZSgpYGAgYW5kIHNvY2tldAorICBvcGVyYXRpb25zIG5vdyB1c2UgYSBtb25vdG9uaWMgY2xvY2ssIGluc3RlYWQgb2YgdGhlIHN5c3RlbSBjbG9jaywgd2hlbiBhCisgIHRpbWVvdXQgaXMgdXNlZC4KKworLSBJc3N1ZSAjMjE1Mjc6IEFkZCBhIGRlZmF1bHQgbnVtYmVyIG9mIHdvcmtlcnMgdG8gVGhyZWFkUG9vbEV4ZWN1dG9yIGVxdWFsCisgIHRvIDUgdGltZXMgdGhlIG51bWJlciBvZiBDUFVzLiAgUGF0Y2ggYnkgQ2xhdWRpdSBQb3BhLgorCiAtIElzc3VlICMyMjIxNjogc210cGxpYiBub3cgcmVzZXRzIGl0cyBzdGF0ZSBtb3JlIGNvbXBsZXRlbHkgYWZ0ZXIgYSBxdWl0LiAgVGhlCiAgIG1vc3Qgb2J2aW91cyBjb25zZXF1ZW5jZSBvZiB0aGUgcHJldmlvdXMgYmVoYXZpb3Igd2FzIGEgU1RBUlRUTFMgZmFpbHVyZQogICBkdXJpbmcgYSBjb25uZWN0L3N0YXJ0dGxzL3F1aXQvY29ubmVjdC9zdGFydHRscyBzZXF1ZW5jZS4KIAorLSBJc3N1ZSAjMjIwOTg6IGN0eXBlcycgQmlnRW5kaWFuU3RydWN0dXJlIGFuZCBMaXR0bGVFbmRpYW5TdHJ1Y3R1cmUgbm93CisgIGRlZmluZSBhbiBlbXB0eSBfX3Nsb3RzX18gc28gdGhhdCBzdWJjbGFzc2VzIGRvbid0IGFsd2F5cyBnZXQgYW4gaW5zdGFuY2UKKyAgZGljdC4gIFBhdGNoIGJ5IENsYXVkaXUgUG9wYS4KKwogLSBJc3N1ZSAjMjIxODU6IEZpeCBhbiBvY2Nhc2lvbmFsIFJ1bnRpbWVFcnJvciBpbiB0aHJlYWRpbmcuQ29uZGl0aW9uLndhaXQoKQogICBjYXVzZWQgYnkgbXV0YXRpb24gb2YgdGhlIHdhaXRlcnMgcXVldWUgd2l0aG91dCBob2xkaW5nIHRoZSBsb2NrLiAgUGF0Y2gKICAgYnkgRG91ZyBab25na2VyLgogCistIElzc3VlICMyMjI4NzogT24gVU5JWCwgX1B5VGltZV9nZXR0aW1lb2ZkYXkoKSBub3cgdXNlcworICBjbG9ja19nZXR0aW1lKENMT0NLX1JFQUxUSU1FKSBpZiBhdmFpbGFibGUuIEFzIGEgc2lkZSBlZmZlY3QsIFB5dGhvbiBub3cKKyAgZGVwZW5kcyBvbiB0aGUgbGlicnQgbGlicmFyeSBvbiBTb2xhcmlzIGFuZCBvbiBMaW51eCAob25seSB3aXRoIGdsaWJjIG9sZGVyCisgIHRoYW4gMi4xNykuCisKIC0gSXNzdWUgIzIyMTgyOiBVc2UgZS5hcmdzIHRvIHVucGFjayBleGNlcHRpb25zIGNvcnJlY3RseSBpbgogICBkaXN0dXRpbHMuZmlsZV91dGlsLm1vdmVfZmlsZS4gUGF0Y2ggYnkgQ2xhdWRpdSBQb3BhLgogCiAtIFRoZSB3ZWJicm93c2VyIG1vZHVsZSBub3cgdXNlcyBzdWJwcm9jZXNzJ3Mgc3RhcnRfbmV3X3Nlc3Npb249VHJ1ZSByYXRoZXIKICAgdGhhbiBhIHBvdGVudGlhbGx5IHJpc2t5IHByZWV4ZWNfZm49b3Muc2V0c2lkIGNhbGwuCiAKKy0gSXNzdWUgIzIyMDQyOiBzaWduYWwuc2V0X3dha2V1cF9mZChmZCkgbm93IHJhaXNlcyBhbiBleGNlcHRpb24gaWYgdGhlIGZpbGUKKyAgZGVzY3JpcHRvciBpcyBpbiBibG9ja2luZyBtb2RlLgorCistIElzc3VlICMxNjgwODogaW5zcGVjdC5zdGFjaygpIG5vdyByZXR1cm5zIGEgbmFtZWQgdHVwbGUgaW5zdGVhZCBvZiBhIHR1cGxlLgorICBQYXRjaCBieSBEYW5pZWwgU2hhaGFmLgorCiAtIElzc3VlICMyMjIzNjogRml4ZWQgVGtpbnRlciBpbWFnZXMgY29weWluZyBvcGVyYXRpb25zIGluIE5vRGVmYXVsdFJvb3QgbW9kZS4KIAotLSBJc3N1ZSAjMjIxOTE6IEZpeCB3YXJuaW5ncy5fX2FsbF9fLgorLSBJc3N1ZSAjMjUyNzogQWRkIGEgKmdsb2JhbHMqIGFyZ3VtZW50IHRvIHRpbWVpdCBmdW5jdGlvbnMsIGluIG9yZGVyIHRvCisgIG92ZXJyaWRlIHRoZSBnbG9iYWxzIG5hbWVzcGFjZSBpbiB3aGljaCB0aGUgdGltZWQgY29kZSBpcyBleGVjdXRlZC4KKyAgUGF0Y2ggYnkgQmVuIFJvYmVydHMuCisKKy0gSXNzdWUgIzIyMTE4OiBTd2l0Y2ggdXJsbGliLnBhcnNlIHRvIHVzZSBSRkMgMzk4NiBzZW1hbnRpY3MgZm9yIHRoZQorICByZXNvbHV0aW9uIG9mIHJlbGF0aXZlIFVSTHMsIHJhdGhlciB0aGFuIFJGQ3MgMTgwOCBhbmQgMjM5Ni4KKyAgUGF0Y2ggYnkgRGVtaWFuIEJyZWNodC4KKworLSBJc3N1ZSAjMjE1NDk6IEFkZGVkIHRoZSAibWVtYmVycyIgcGFyYW1ldGVyIHRvIFRhckZpbGUubGlzdCgpLgorCistIElzc3VlICMxOTYyODogQWxsb3cgY29tcGlsZWFsbCByZWN1cnNpb24gZGVwdGggdG8gYmUgc3BlY2lmaWVkIHdpdGggYSAtcgorICBvcHRpb24uCiAKIC0gSXNzdWUgIzE1Njk2OiBBZGQgYSBfX3NpemVvZl9fIGltcGxlbWVudGF0aW9uIGZvciBtbWFwIG9iamVjdHMgb24gV2luZG93cy4KIApAQCAtNjAwLDYgKzg3NSw4IEBACiAKIC0gSXNzdWUgIzIyMTY1OiBTaW1wbGVIVFRQUmVxdWVzdEhhbmRsZXIgbm93IHN1cHBvcnRzIHVuZGVjb2RhYmxlIGZpbGUgbmFtZXMuCiAKKy0gSXNzdWUgIzE1MzgxOiBPcHRpbWl6ZWQgbGluZSByZWFkaW5nIGluIGlvLkJ5dGVzSU8uCisKIC0gSXNzdWUgIzg3OTc6IFJhaXNlIEhUVFBFcnJvciBvbiBmYWlsZWQgQmFzaWMgQXV0aGVudGljYXRpb24gaW1tZWRpYXRlbHkuCiAgIEluaXRpYWwgcGF0Y2ggYnkgU2FtIEJ1bGwuCiAKQEAgLTYxNSw2ICs4OTIsMTQgQEAKIC0gSXNzdWUgIzE3OTIzOiBnbG9iKCkgcGF0dGVybnMgZW5kaW5nIHdpdGggYSBzbGFzaCBubyBsb25nZXIgbWF0Y2ggbm9uLWRpcnMgb24KICAgQUlYLiAgQmFzZWQgb24gcGF0Y2ggYnkgRGVsaGFsbHQuCiAKKy0gSXNzdWUgIzIxNzI1OiBBZGRlZCBzdXBwb3J0IGZvciBSRkMgNjUzMSAoU01UUFVURjgpIGluIHNtdHBkLgorCistIElzc3VlICMyMjE3NjogVXBkYXRlIHRoZSBjdHlwZXMgbW9kdWxlJ3MgbGliZmZpIHRvIHYzLjEuICBUaGlzIHJlbGVhc2UKKyAgYWRkcyBzdXBwb3J0IGZvciB0aGUgTGludXggQUFyY2g2NCBhbmQgUE9XRVJQQyBFTEYgQUJJdjIgbGl0dGxlIGVuZGlhbgorICBhcmNoaXRlY3R1cmVzLgorCistIElzc3VlICM1NDExOiBBZGRlZCBzdXBwb3J0IGZvciB0aGUgInh6dGFyIiBmb3JtYXQgaW4gdGhlIHNodXRpbCBtb2R1bGUuCisKIC0gSXNzdWUgIzIxMTIxOiBEb24ndCBmb3JjZSAzcmQgcGFydHkgQyBleHRlbnNpb25zIHRvIGJlIGJ1aWx0IHdpdGgKICAgLVdlcnJvcj1kZWNsYXJhdGlvbi1hZnRlci1zdGF0ZW1lbnQuCiAKQEAgLTYyMiwxOCArOTA3LDU3IEBACiAgIHdoZW4gdW5waWNrbGluZyBwaWNrbGVkIHNxbGl0ZTMuUm93KS4gIHNxbGl0ZTMuUm93IGlzIG5vdyBpbml0aWFsaXplZCBpbiB0aGUKICAgX19uZXdfXygpIG1ldGhvZC4KIAorLSBJc3N1ZSAjMjAxNzA6IENvbnZlcnQgcG9zaXhtb2R1bGUgdG8gdXNlIEFyZ3VtZW50IENsaW5pYy4KKworLSBJc3N1ZSAjMjE1Mzk6IEFkZCBhICpleGlzdHNfb2sqIGFyZ3VtZW50IHRvIGBQYXRobGliLm1rZGlyKClgIHRvIG1pbWljCisgIGBta2RpciAtcGAgYW5kIGBvcy5tYWtlZGlycygpYCBmdW5jdGlvbmFsaXR5LiAgV2hlbiB0cnVlLCBpZ25vcmUKKyAgRmlsZUV4aXN0c0Vycm9ycy4gIFBhdGNoIGJ5IEJlcmtlciBQZWtzYWcuCisKKy0gSXNzdWUgIzIyMTI3OiBCeXBhc3MgSUROQSBmb3IgcHVyZS1BU0NJSSBob3N0IG5hbWVzIGluIHRoZSBzb2NrZXQgbW9kdWxlCisgIChpbiBwYXJ0aWN1bGFyIGZvciBudW1lcmljIElQcykuCisKKy0gSXNzdWUgIzIxMDQ3OiBzZXQgdGhlIGRlZmF1bHQgdmFsdWUgZm9yIHRoZSAqY29udmVydF9jaGFycmVmcyogYXJndW1lbnQKKyAgb2YgSFRNTFBhcnNlciB0byBUcnVlLiAgUGF0Y2ggYnkgQmVya2VyIFBla3NhZy4KKworLSBBZGQgYW4gX19hbGxfXyB0byBodG1sLmVudGl0aWVzLgorCistIElzc3VlICMxNTExNDogdGhlIHN0cmljdCBtb2RlIGFuZCBhcmd1bWVudCBvZiBIVE1MUGFyc2VyLCBIVE1MUGFyc2VyLmVycm9yLAorICBhbmQgdGhlIEhUTUxQYXJzZXJFcnJvciBleGNlcHRpb24gaGF2ZSBiZWVuIHJlbW92ZWQuCisKKy0gSXNzdWUgIzIyMDg1OiBEcm9wcGVkIHN1cHBvcnQgb2YgVGsgOC4zIGluIFRraW50ZXIuCisKIC0gSXNzdWUgIzIxNTgwOiBOb3cgVGtpbnRlciBjb3JyZWN0bHkgaGFuZGxlcyBieXRlcyBhcmd1bWVudHMgcGFzc2VkIHRvIFRrLgogICBJbiBwYXJ0aWN1bGFyIHRoaXMgYWxsb3dzIHRvIGluaXRpYWxpemUgaW1hZ2VzIGZyb20gYmluYXJ5IGRhdGEuCiAKKy0gSXNzdWUgIzIyMDAzOiBXaGVuIGluaXRpYWxpemVkIGZyb20gYSBieXRlcyBvYmplY3QsIGlvLkJ5dGVzSU8oKSBub3cKKyAgZGVmZXJzIG1ha2luZyBhIGNvcHkgdW50aWwgaXQgaXMgbXV0YXRlZCwgaW1wcm92aW5nIHBlcmZvcm1hbmNlIGFuZAorICBtZW1vcnkgdXNlIG9uIHNvbWUgdXNlIGNhc2VzLiAgUGF0Y2ggYnkgRGF2aWQgV2lsc29uLgorCistIElzc3VlICMyMjAxODogT24gV2luZG93cywgc2lnbmFsLnNldF93YWtldXBfZmQoKSBub3cgYWxzbyBzdXBwb3J0cyBzb2NrZXRzLgorICBBIHNpZGUgZWZmZWN0IGlzIHRoYXQgUHl0aG9uIGRlcGVuZHMgdG8gdGhlIFdpblNvY2sgbGlicmFyeS4KKworLSBJc3N1ZSAjMjIwNTQ6IEFkZCBvcy5nZXRfYmxvY2tpbmcoKSBhbmQgb3Muc2V0X2Jsb2NraW5nKCkgZnVuY3Rpb25zIHRvIGdldAorICBhbmQgc2V0IHRoZSBibG9ja2luZyBtb2RlIG9mIGEgZmlsZSBkZXNjcmlwdG9yIChGYWxzZSBpZiB0aGUgT19OT05CTE9DSyBmbGFnCisgIGlzIHNldCwgVHJ1ZSBvdGhlcndpc2UpLiBUaGVzZSBmdW5jdGlvbnMgYXJlIG5vdCBhdmFpbGFibGUgb24gV2luZG93cy4KKwogLSBJc3N1ZSAjMTcxNzI6IE1ha2UgdHVydGxlZGVtbyBzdGFydCBhcyBhY3RpdmUgb24gT1MgWCBldmVuIHdoZW4gcnVuIHdpdGgKICAgc3VicHJvY2Vzcy4gIFBhdGNoIGJ5IExpdGEgQ2hvLgogCiAtIElzc3VlICMyMTcwNDogRml4IGJ1aWxkIGVycm9yIGZvciBfbXVsdGlwcm9jZXNzaW5nIHdoZW4gc2VtYXBob3JlcwogICBhcmUgbm90IGF2YWlsYWJsZS4gIFBhdGNoIGJ5IEFyZnJldmVyIEZyZWh0ZXMgVGFpZmVyc2FyIEFyYWhlc2lzLgogCistIElzc3VlICMyMDE3MzogQ29udmVydCBzaGExLCBzaGEyNTYsIHNoYTUxMiBhbmQgbWQ1IHRvIEFyZ3VtZW50Q2xpbmljLgorICBQYXRjaCBieSBWYWpyYXNreSBLb2suCisKIC0gRml4IHJlcHIoX3NvY2tldC5zb2NrZXQpIG9uIFdpbmRvd3MgNjQtYml0OiBkb24ndCBmYWlsIHdpdGggT3ZlcmZsb3dFcnJvcgogICBvbiBjbG9zZWQgc29ja2V0LiByZXByKHNvY2tldC5zb2NrZXQpIGFscmVhZHkgd29ya3MgZmluZS4KIAorLSBJc3N1ZSAjMjIwMzM6IFJlcHJzIG9mIG1vc3QgUHl0aG9uIGltcGxlbWVuZWQgY2xhc3NlcyBub3cgY29udGFpbiBhY3R1YWwKKyAgY2xhc3MgbmFtZSBpbnN0ZWFkIG9mIGhhcmRjb2RlZCBvbmUuCisKKy0gSXNzdWUgIzIxOTQ3OiBUaGUgZGlzIG1vZHVsZSBjYW4gbm93IGRpc2Fzc2VtYmxlIGdlbmVyYXRvci1pdGVyYXRvcgorICBvYmplY3RzIGJhc2VkIG9uIHRoZWlyIGdpX2NvZGUgYXR0cmlidXRlLiBQYXRjaCBieSBDbGVtZW50IFJvdWF1bHQuCisKIC0gSXNzdWUgIzE2MTMzOiBUaGUgYXN5bmNoYXQuYXN5bmNfY2hhdC5oYW5kbGVfcmVhZCgpIG1ldGhvZCBub3cgaWdub3JlcwogICBCbG9ja2luZ0lPRXJyb3IgZXhjZXB0aW9ucy4KIApAQCAtNjQ1LDE2ICs5NjksNDIgQEAKICAgc2VxdWVuY2UgaXMgdXNlZCBvbiBzb21lIHRlcm1pbmFsIChleDogVEVSTT14dGVybS0yNTZjb2xvciIpIHRvIGVuYWJsZQogICBzdXBwb3J0IG9mIDggYml0IGNoYXJhY3RlcnMuCiAKKy0gSXNzdWUgIzQzNTA6IFJlbW92ZWQgYSBudW1iZXIgb2Ygb3V0LW9mLWRhdGVkIGFuZCBub24td29ya2luZyBmb3IgYSBsb25nIHRpbWUKKyAgVGtpbnRlciBtZXRob2RzLgorCistIElzc3VlICM2MTY3OiBTY3JvbGxiYXIuYWN0aXZhdGUoKSBub3cgcmV0dXJucyB0aGUgbmFtZSBvZiBhY3RpdmUgZWxlbWVudCBpZgorICB0aGUgYXJndW1lbnQgaXMgbm90IHNwZWNpZmllZC4gIFNjcm9sbGJhci5zZXQoKSBub3cgYWx3YXlzIGFjY2VwdHMgb25seSAyCisgIGFyZ3VtZW50cy4KKworLSBJc3N1ZSAjMTUyNzU6IENsZWFuIHVwIGFuZCBzcGVlZCB1cCB0aGUgbnRwYXRoIG1vZHVsZS4KKwogLSBJc3N1ZSAjMjE4ODg6IHBsaXN0bGliJ3MgbG9hZCgpIGFuZCBsb2FkcygpIG5vdyB3b3JrIGlmIHRoZSBmbXQgcGFyYW1ldGVyIGlzCiAgIHNwZWNpZmllZC4KIAorLSBJc3N1ZSAjMjIwMzI6IF9fcXVhbG5hbWVfXyBpbnN0ZWFkIG9mIF9fbmFtZV9fIGlzIG5vdyBhbHdheXMgdXNlZCB0byBmb3JtYXQKKyAgZnVsbHkgcXVhbGlmaWVkIGNsYXNzIG5hbWVzIG9mIFB5dGhvbiBpbXBsZW1lbnRlZCBjbGFzc2VzLgorCistIElzc3VlICMyMjAzMTogUmVwcnMgbm93IGFsd2F5cyB1c2UgaGV4YWRlY2ltYWwgZm9ybWF0IHdpdGggdGhlICIweCIgcHJlZml4CisgIHdoZW4gY29udGFpbiBhbiBpZCBpbiBmb3JtICIgYXQgMHguLi4iLgorCistIElzc3VlICMyMjAxODogc2lnbmFsLnNldF93YWtldXBfZmQoKSBub3cgcmFpc2VzIGFuIE9TRXJyb3IgaW5zdGVhZCBvZiBhCisgIFZhbHVlRXJyb3Igb24gYGBmc3RhdCgpYGAgZmFpbHVyZS4KKwogLSBJc3N1ZSAjMjEwNDQ6IHRhcmZpbGUub3BlbigpIG5vdyBoYW5kbGVzIGZpbGVvYmogd2l0aCBhbiBpbnRlZ2VyICduYW1lJwogICBhdHRyaWJ1dGUuICBCYXNlZCBvbiBwYXRjaCBieSBBbnRvaW5lIFBpZXRyaS4KIAotLSBJc3N1ZSAjMjE4Njc6ICBQcmV2ZW50IHR1cnRsZSBjcmFzaCBkdWUgdG8gaW52YWxpZCB1bmRvIGJ1ZmZlciBzaXplLgorLSBJc3N1ZSAjMjE5NjY6IFJlc3BlY3QgLXEgY29tbWFuZC1saW5lIG9wdGlvbiB3aGVuIGNvZGUgbW9kdWxlIGlzIHJhbi4KIAogLSBJc3N1ZSAjMTkwNzY6IERvbid0IHBhc3MgdGhlIHJlZHVuZGFudCAnZmlsZScgYXJndW1lbnQgdG8gc2VsZi5lcnJvcigpLgogCistIElzc3VlICMxNjM4MjogSW1wcm92ZSBleGNlcHRpb24gbWVzc2FnZSBvZiB3YXJuaW5ncy53YXJuKCkgZm9yIGJhZAorICBjYXRlZ29yeS4gSW5pdGlhbCBwYXRjaCBieSBQaGlsIEVsc29uLgorCistIElzc3VlICMyMTkzMjogb3MucmVhZCgpIG5vdyB1c2VzIGEgOmM6ZnVuYzpgUHlfc3NpemVfdGAgdHlwZSBpbnN0ZWFkIG9mCisgIDpjOnR5cGU6YGludGAgZm9yIHRoZSBzaXplIHRvIHN1cHBvcnQgcmVhZGluZyBtb3JlIHRoYW4gMiBHQiBhdCBvbmNlLiBPbgorICBXaW5kb3dzLCB0aGUgc2l6ZSBpcyB0cnVuY3RlZCB0byBJTlRfTUFYLiBBcyBhbnkgY2FsbCB0byBvcy5yZWFkKCksIHRoZSBPUworICBtYXkgcmVhZCBsZXNzIGJ5dGVzIHRoYW4gdGhlIG51bWJlciBvZiByZXF1ZXN0ZWQgYnl0ZXMuCisKIC0gSXNzdWUgIzIxOTQyOiBGaXhlZCBzb3VyY2UgZmlsZSB2aWV3aW5nIGluIHB5ZG9jJ3Mgc2VydmVyIG1vZGUgb24gV2luZG93cy4KIAogLSBJc3N1ZSAjMTEyNTk6IGFzeW5jaGF0LmFzeW5jX2NoYXQoKS5zZXRfdGVybWluYXRvcigpIG5vdyByYWlzZXMgYSBWYWx1ZUVycm9yCkBAIC02NzIsOCArMTAyMiw4IEBACiAtIElzc3VlICMyMTcxNDogRGlzYWxsb3cgdGhlIGNvbnN0cnVjdGlvbiBvZiBpbnZhbGlkIHBhdGhzIHVzaW5nCiAgIFBhdGgud2l0aF9uYW1lKCkuICBPcmlnaW5hbCBwYXRjaCBieSBBbnRvbnkgTGVlLgogCi0tIElzc3VlICMyMTg5NzogRml4IGEgY3Jhc2ggd2l0aCB0aGUgZl9sb2NhbHMgYXR0cmlidXRlIHdpdGggY2xvc3VyZQotICB2YXJpYWJsZXMgd2hlbiBmcmFtZS5jbGVhcigpIGhhcyBiZWVuIGNhbGxlZC4KKy0gSXNzdWUgIzE1MDE0OiBBZGRlZCAnYXV0aCcgbWV0aG9kIHRvIHNtdHBsaWIgdG8gbWFrZSBpbXBsZW1lbnRpbmcgYXV0aAorICBtZWNoYW5pc21zIHNpbXBsZXIsIGFuZCB1c2VkIGl0IGludGVybmFsbHkgaW4gdGhlIGxvZ2luIG1ldGhvZC4KIAogLSBJc3N1ZSAjMjExNTE6IEZpeGVkIGEgc2VnZmF1bHQgaW4gdGhlIHdpbnJlZyBtb2R1bGUgd2hlbiBgYE5vbmVgYCBpcyBwYXNzZWQKICAgYXMgYSBgYFJFR19CSU5BUllgYCB2YWx1ZSB0byBTZXRWYWx1ZUV4LiAgUGF0Y2ggYnkgSm9obiBFaHJlc21hbi4KQEAgLTY4MSw4ICsxMDMxLDE3IEBACiAtIElzc3VlICMyMTA5MDogaW8uRmlsZUlPLnJlYWRhbGwoKSBkb2VzIG5vdCBpZ25vcmUgSS9PIGVycm9ycyBhbnltb3JlLiBCZWZvcmUsCiAgIGl0IGlnbm9yZWQgSS9PIGVycm9ycyBpZiBhdCBsZWFzdCB0aGUgZmlyc3QgQyBjYWxsIHJlYWQoKSBzdWNjZWVkLgogCistIElzc3VlICM1ODAwOiBoZWFkZXJzIHBhcmFtZXRlciBvZiB3c2dpcmVmLmhlYWRlcnMuSGVhZGVycyBpcyBub3cgb3B0aW9uYWwuCisgIEluaXRpYWwgcGF0Y2ggYnkgUGFibG8gVG9ycmVzIE5hdmFycmV0ZSBhbmQgU2lsZW50R2hvc3QuCisKIC0gSXNzdWUgIzIxNzgxOiBzc2wuUkFORF9hZGQoKSBub3cgc3VwcG9ydHMgc3RyaW5ncyBsb25nZXIgdGhhbiAyIEdCLgogCistIElzc3VlICMyMTY3OTogUHJldmVudCBleHRyYW5lb3VzIGZzdGF0KCkgY2FsbHMgZHVyaW5nIG9wZW4oKS4gIFBhdGNoIGJ5CisgIEJvaHVzbGF2IEthYnJkYS4KKworLSBJc3N1ZSAjMjE4NjM6IGNQcm9maWxlIG5vdyBkaXNwbGF5cyB0aGUgbW9kdWxlIG5hbWUgb2YgQyBleHRlbnNpb24gZnVuY3Rpb25zLAorICBpbiBhZGRpdGlvbiB0byB0aGVpciBvd24gbmFtZS4KKwogLSBJc3N1ZSAjMTE0NTM6IGFzeW5jb3JlOiBlbWl0IGEgUmVzb3VyY2VXYXJuaW5nIHdoZW4gYW4gdW5jbG9zZWQgZmlsZV93cmFwcGVyCiAgIG9iamVjdCBpcyBkZXN0cm95ZWQuIFRoZSBkZXN0cnVjdG9yIG5vdyBjbG9zZXMgdGhlIGZpbGUgaWYgbmVlZGVkLiBUaGUKICAgY2xvc2UoKSBtZXRob2QgY2FuIG5vdyBiZSBjYWxsZWQgdHdpY2U6IHRoZSBzZWNvbmQgY2FsbCBkb2VzIG5vdGhpbmcuCkBAIC02OTIsNDggKzEwNTEsNTMgQEAKIC0gSXNzdWUgIzIxNDc2OiBNYWtlIHN1cmUgdGhlIGVtYWlsLnBhcnNlci5CeXRlc1BhcnNlciBUZXh0SU9XcmFwcGVyIGlzCiAgIGRpc2NhcmRlZCBhZnRlciBwYXJzaW5nLCBzbyB0aGUgaW5wdXQgZmlsZSBpc24ndCB1bmV4cGVjdGVkbHkgY2xvc2VkLgogCistIElzc3VlICMyMDI5NTogaW1naGRyIG5vdyByZWNvZ25pemVzIE9wZW5FWFIgZm9ybWF0IGltYWdlcy4KKwogLSBJc3N1ZSAjMjE3Mjk6IFVzZWQgdGhlICJ3aXRoIiBzdGF0ZW1lbnQgaW4gdGhlIGRibS5kdW1iIG1vZHVsZSB0byBlbnN1cmUKICAgZmlsZXMgY2xvc2luZy4gIFBhdGNoIGJ5IENsYXVkaXUgUG9wYS4KIAogLSBJc3N1ZSAjMjE0OTE6IHNvY2tldHNlcnZlcjogRml4IGEgcmFjZSBjb25kaXRpb24gaW4gY2hpbGQgcHJvY2Vzc2VzIHJlYXBpbmcuCiAKKy0gSXNzdWUgIzIxNzE5OiBBZGRlZCB0aGUgYGBzdF9maWxlX2F0dHJpYnV0ZXNgYCBmaWVsZCB0byBvcy5zdGF0X3Jlc3VsdCBvbgorICBXaW5kb3dzLgorCiAtIElzc3VlICMyMTgzMjogIFJlcXVpcmUgbmFtZWQgdHVwbGUgaW5wdXRzIHRvIGJlIGV4YWN0IHN0cmluZ3MuCiAKLS0gSXNzdWUgIzE5MTQ1OiAgVGhlIHRpbWVzIGFyZ3VtZW50IGZvciBpdGVydG9vbHMucmVwZWF0IG5vdyBoYW5kbGVzCi0gIG5lZ2F0aXZlIHZhbHVlcyB0aGUgc2FtZSB3YXkgZm9yIGtleXdvcmQgYXJndW1lbnRzIGFzIGl0IGRvZXMgZm9yCi0gIHBvc2l0aW9uYWwgYXJndW1lbnRzLgotCi0tIElzc3VlICMyMTgxMjogdHVydGxlLnNoYXBldHJhbnNmb3JtIGRpZCBub3QgdHJhbmZvcm0gdGhlIHR1cnRsZSBvbiB0aGUKLSAgZmlyc3QgY2FsbC4gIChJc3N1ZSBpZGVudGlmaWVkIGFuZCBmaXhlZCBieSBMaXRhIENoby4pCi0KLS0gSXNzdWUgIzIxNjM1OiAgVGhlIGRpZmZsaWIgU2VxdWVuY2VNYXRjaGVyLmdldF9tYXRjaGluZ19ibG9ja3MoKSBtZXRob2QKLSAgY2FjaGUgZGlkbid0IG1hdGNoIHRoZSBhY3R1YWwgcmVzdWx0LiAgVGhlIGZvcm1lciB3YXMgYSBsaXN0IG9mIHR1cGxlcwotICBhbmQgdGhlIGxhdHRlciB3YXMgYSBsaXN0IG9mIG5hbWVkIHR1cGxlcy4KLQogLSBJc3N1ZSAjMjE3MjI6IFRoZSBkaXN0dXRpbHMgInVwbG9hZCIgY29tbWFuZCBub3cgZXhpdHMgd2l0aCBhIG5vbi16ZXJvCiAgIHJldHVybiBjb2RlIHdoZW4gdXBsb2FkaW5nIGZhaWxzLiAgUGF0Y2ggYnkgTWFydGluIERlbmdsZXIuCiAKIC0gSXNzdWUgIzIxNzIzOiBhc3luY2lvLlF1ZXVlOiBzdXBwb3J0IGFueSB0eXBlIG9mIG51bWJlciAoZXg6IGZsb2F0KSBmb3IgdGhlCiAgIG1heGltdW0gc2l6ZS4gUGF0Y2ggd3JpdHRlbiBieSBWYWpyYXNreSBLb2suCiAKKy0gSXNzdWUgIzIxNzExOiBzdXBwb3J0IGZvciAic2l0ZS1weXRob24iIGRpcmVjdG9yaWVzIGhhcyBub3cgYmVlbiByZW1vdmVkCisgIGZyb20gdGhlIHNpdGUgbW9kdWxlIChpdCB3YXMgZGVwcmVjYXRlZCBpbiAzLjQpLgorCistIElzc3VlICMxNzU1MjogbmV3IHNvY2tldC5zZW5kZmlsZSgpIG1ldGhvZCBhbGxvd2luZyB0byBzZW5kIGEgZmlsZSBvdmVyIGEKKyAgc29ja2V0IGJ5IHVzaW5nIGhpZ2gtcGVyZm9ybWFuY2Ugb3Muc2VuZGZpbGUoKSBvbiBVTklYLgorICBQYXRjaCBieSBHaWFtcGFvbG8gUm9kb2xhJy4KKworLSBJc3N1ZSAjMTgwMzk6IGRibS5kdW1wLm9wZW4oKSBub3cgYWx3YXlzIGNyZWF0ZXMgYSBuZXcgZGF0YWJhc2Ugd2hlbiB0aGUKKyAgZmxhZyBoYXMgdGhlIHZhbHVlICduJy4gIFBhdGNoIGJ5IENsYXVkaXUgUG9wYS4KKwogLSBJc3N1ZSAjMjEzMjY6IEFkZCBhIG5ldyBpc19jbG9zZWQoKSBtZXRob2QgdG8gYXN5bmNpby5CYXNlRXZlbnRMb29wLgogICBydW5fZm9yZXZlcigpIGFuZCBydW5fdW50aWxfY29tcGxldGUoKSBtZXRob2RzIG9mIGFzeW5jaW8uQmFzZUV2ZW50TG9vcCBub3cKICAgcmFpc2UgYW4gZXhjZXB0aW9uIGlmIHRoZSBldmVudCBsb29wIHdhcyBjbG9zZWQuCiAKLS0gSXNzdWUgIzIxNzc0OiBGaXhlZCBOYW1lRXJyb3IgZm9yIGFuIGluY29ycmVjdCB2YXJpYWJsZSByZWZlcmVuY2UgaW4gdGhlCi0gIFhNTCBNaW5pZG9tIGNvZGUgZm9yIGNyZWF0aW5nIHByb2Nlc3NpbmcgaW5zdHJ1Y3Rpb25zLgotICAoRm91bmQgYW5kIGZpeGVkIGJ5IENsYXVkaXUgUG9wYS4pCi0KIC0gSXNzdWUgIzIxNzY2OiBQcmV2ZW50IGEgc2VjdXJpdHkgaG9sZSBpbiBDR0lIVFRQU2VydmVyIGJ5IFVSTCB1bnF1b3RpbmcgcGF0aHMKICAgYmVmb3JlIGNoZWNraW5nIGZvciBhIENHSSBzY3JpcHQgYXQgdGhhdCBwYXRoLgogCiAtIElzc3VlICMyMTMxMDogRml4ZWQgcG9zc2libGUgcmVzb3VyY2UgbGVhayBpbiBmYWlsZWQgb3BlbigpLgogCistIElzc3VlICMyMTI1NjogUHJpbnRvdXQgb2Yga2V5d29yZCBhcmdzIHNob3VsZCBiZSBpbiBkZXRlcm1pbmlzdGljIG9yZGVyIGluCisgIGEgbW9jayBmdW5jdGlvbiBjYWxsLiBUaGlzIHdpbGwgaGVscCB0byB3cml0ZSBiZXR0ZXIgZG9jdGVzdHMuCisKIC0gSXNzdWUgIzIxNjc3OiBGaXhlZCBjaGFpbmluZyBub25ub3JtYWxpemVkIGV4Y2VwdGlvbnMgaW4gaW8gY2xvc2UoKSBtZXRob2RzLgogCiAtIElzc3VlICMxMTcwOTogRml4IHRoZSBweWRvYy5oZWxwIGZ1bmN0aW9uIHRvIG5vdCBmYWlsIHdoZW4gc3lzLnN0ZGluIGlzIG5vdCBhCiAgIHZhbGlkIGZpbGUuCiAKKy0gSXNzdWUgIzIxNTE1OiB0ZW1wZmlsZS5UZW1wb3JhcnlGaWxlIG5vdyB1c2VzIG9zLk9fVE1QRklMRSBmbGFnIGlzIGF2YWlsYWJsZS4KKwogLSBJc3N1ZSAjMTMyMjM6IEZpeCBweWRvYy53cml0ZWRvYyBzbyB0aGF0IHRoZSBIVE1MIGRvY3VtZW50YXRpb24gZm9yIG1ldGhvZHMKICAgdGhhdCB1c2UgJ3NlbGYnIGluIHRoZSBleGFtcGxlIGNvZGUgaXMgZ2VuZXJhdGVkIGNvcnJlY3RseS4KIApAQCAtNzQ0LDYgKzExMDgsOSBAQAogICBsaW1pdHMgd291bGQgb3RoZXJ3aXNlIGFsbG93LiAgT24gc3lzdGVtcyB3aXRoIGEgZnVuY3Rpb25pbmcgL3Byb2Mvc2VsZi9mZAogICBvciAvZGV2L2ZkIGludGVyZmFjZSB0aGUgbWF4IGlzIG5vdyBpZ25vcmVkIGFuZCBhbGwgZmRzIGFyZSBjbG9zZWQuCiAKKy0gSXNzdWUgIzIwMzgzOiBJbnRyb2R1Y2UgaW1wb3J0bGliLnV0aWwubW9kdWxlX2Zyb21fc3BlYygpIGFzIHRoZSBwcmVmZXJyZWQgd2F5CisgIHRvIGNyZWF0ZSBhIG5ldyBtb2R1bGUuCisKIC0gSXNzdWUgIzIxNTUyOiBGaXhlZCBwb3NzaWJsZSBpbnRlZ2VyIG92ZXJmbG93IG9mIHRvbyBsb25nIHN0cmluZyBsZW5ndGhzIGluCiAgIHRoZSB0a2ludGVyIG1vZHVsZSBvbiA2NC1iaXQgcGxhdGZvcm1zLgogCkBAIC03NTIsOCArMTExOSwxNCBAQAogICBlcnJvciBidWJibGUgdXAgYXMgdGhpcyAiYmFkIGRhdGEiIGFwcGVhcnMgaW4gbWFueSByZWFsIHdvcmxkIHppcCBmaWxlcyBpbgogICB0aGUgd2lsZCBhbmQgaXMgaWdub3JlZCBieSBvdGhlciB6aXAgdG9vbHMuCiAKKy0gSXNzdWUgIzEzNzQyOiAgQWRkZWQgImtleSIgYW5kICJyZXZlcnNlIiBwYXJhbWV0ZXJzIHRvIGhlYXBxLm1lcmdlKCkuCisgIChGaXJzdCBkcmFmdCBvZiBwYXRjaCBjb250cmlidXRlZCBieSBTaW1vbiBTYXBpbi4pCisKIC0gSXNzdWUgIzIxNDAyOiB0a2ludGVyLnR0ayBub3cgd29ya3Mgd2hlbiBkZWZhdWx0IHJvb3Qgd2luZG93IGlzIG5vdCBzZXQuCiAKKy0gSXNzdWUgIzMwMTU6IF90a2ludGVyLmNyZWF0ZSgpIG5vdyBjcmVhdGVzIHRrYXBwIG9iamVjdCB3aXRoIHdhbnRvYmplY3Q9MSBieQorICBkZWZhdWx0LgorCiAtIElzc3VlICMxMDIwMzogc3FsaXRlMy5Sb3cgbm93IHRydWx5IHN1cHBvcnRzIHNlcXVlbmNlIHByb3RvY29sLiAgSW4gcGFydGljdWxyCiAgIGl0IHN1cHBvcnRzIHJldmVyc2UoKSBhbmQgbmVnYXRpdmUgaW5kaWNlcy4gIE9yaWdpbmFsIHBhdGNoIGJ5IENsYXVkaXUgUG9wYS4KIApAQCAtNzYxLDk3ICsxMTM0LDIxIEBACiAgIGludGVycHJldGVyIGFsaWFzZXMgKHB5dGhvbiwgcHl0aG9uMykgYXJlIG5vdyBjcmVhdGVkIGJ5IGNvcHlpbmcgcmF0aGVyIHRoYW4KICAgc3ltbGlua2luZy4KIAotLSBJc3N1ZSAjMTQ3MTA6IHBrZ3V0aWwuZ2V0X2xvYWRlcigpIG5vIGxvbmdlciByYWlzZXMgYW4gZXhjZXB0aW9uIHdoZW4gTm9uZSBpcwotICBmb3VuZCBpbiBzeXMubW9kdWxlcy4KKy0gSXNzdWUgIzIwMTk3OiBBZGRlZCBzdXBwb3J0IGZvciB0aGUgV2ViUCBpbWFnZSB0eXBlIGluIHRoZSBpbWdoZHIgbW9kdWxlLgorICBQYXRjaCBieSBGYWJyaWNlIEFuZWNoZSBhbmQgQ2xhdWRpdSBQb3BhLgogCi0tIElzc3VlICMxNDcxMDogcGtndXRpbC5maW5kX2xvYWRlcigpIG5vIGxvbmdlciByYWlzZXMgYW4gZXhjZXB0aW9uIHdoZW4gYQotICBtb2R1bGUgZG9lc24ndCBleGlzdC4KKy0gSXNzdWUgIzIxNTEzOiBTcGVlZHVwIHNvbWUgcHJvcGVydGllcyBvZiBJUCBhZGRyZXNzZXMgKElQdjRBZGRyZXNzLAorICBJUHY2QWRkcmVzcykgc3VjaCBhcyAuaXNfcHJpdmF0ZSBvciAuaXNfbXVsdGljYXN0LgogCi0tIElzc3VlICMyMTQ4MTogIEFyZ3BhcnNlIGVxdWFsaXR5IGFuZCBpbmVxdWFsaXR5IHRlc3RzIG5vdyByZXR1cm4KLSAgTm90SW1wbGVtZW50ZWQgd2hlbiBjb21wYXJpbmcgdG8gYW4gdW5rbm93biB0eXBlLgotCi0tIElzc3VlICM4NzQzOiBGaXggaW50ZXJvcGVyYWJpbGl0eSBiZXR3ZWVuIHNldCBvYmplY3RzIGFuZCB0aGUKLSAgY29sbGVjdGlvbnMuU2V0KCkgYWJzdHJhY3QgYmFzZSBjbGFzcy4KLQotLSBJc3N1ZSAjMTMzNTU6IHJhbmRvbS50cmlhbmd1bGFyKCkgbm8gbG9uZ2VyIGZhaWxzIHdpdGggYSBaZXJvRGl2aXNpb25FcnJvcgotICB3aGVuIGxvdyBlcXVhbHMgaGlnaC4KKy0gSXNzdWUgIzIxMTM3OiBJbXByb3ZlIHRoZSByZXByIGZvciB0aHJlYWRpbmcuTG9jaygpIGFuZCBpdHMgdmFyaWFudHMKKyAgYnkgc2hvd2luZyB0aGUgImxvY2tlZCIgb3IgInVubG9ja2VkIiBzdGF0dXMuICBQYXRjaCBieSBCZXJrZXIgUGVrc2FnLgogCiAtIElzc3VlICMyMTUzODogVGhlIHBsaXN0bGliIG1vZHVsZSBub3cgc3VwcG9ydHMgbG9hZGluZyBvZiBiaW5hcnkgcGxpc3QgZmlsZXMKICAgd2hlbiByZWZlcmVuY2Ugb3Igb2Zmc2V0IHNpemUgaXMgbm90IGEgcG93ZXIgb2YgdHdvLgogCi0tIElzc3VlICMyMTgwMTogVmFsaWRhdGUgdGhhdCBfX3NpZ25hdHVyZV9fIGlzIE5vbmUgb3IgYW4gaW5zdGFuY2Ugb2YgU2lnbmF0dXJlLgorLSBJc3N1ZSAjMjE0NTU6IEFkZCBhIGRlZmF1bHQgYmFja2xvZyB0byBzb2NrZXQubGlzdGVuKCkuCiAKLS0gSXNzdWUgIzIxOTIzOiBQcmV2ZW50IEF0dHJpYnV0ZUVycm9yIGluIGRpc3R1dGlscy5zeXNjb25maWcuY3VzdG9taXplX2NvbXBpbGVyCi0gIGR1ZSB0byBwb3NzaWJsZSB1bmluaXRpYWxpemVkIF9jb25maWdfdmFycy4KLQotLSBJc3N1ZSAjMjEzMjM6IEZpeCBodHRwLnNlcnZlciB0byBhZ2FpbiBoYW5kbGUgc2NyaXB0cyBpbiBDR0kgc3ViZGlyZWN0b3JpZXMsCi0gIGJyb2tlbiBieSB0aGUgZml4IGZvciBzZWN1cml0eSBpc3N1ZSAjMTk0MzUuICBQYXRjaCBieSBaYWNoIEJ5cm5lLgotCi1FeHRlbnNpb24gTW9kdWxlcwotLS0tLS0tLS0tLS0tLS0tLS0KLQotLSBJc3N1ZSAjMjIxNzY6IFVwZGF0ZSB0aGUgY3R5cGVzIG1vZHVsZSdzIGxpYmZmaSB0byB2My4xLiAgVGhpcyByZWxlYXNlCi0gIGFkZHMgc3VwcG9ydCBmb3IgdGhlIExpbnV4IEFBcmNoNjQgYW5kIFBPV0VSUEMgRUxGIEFCSXYyIGxpdHRsZSBlbmRpYW4KLSAgYXJjaGl0ZWN0dXJlcy4KLQotQnVpbGQKLS0tLS0tCi0KLS0gSXNzdWUgIzE1NjYxOiBweXRob24ub3JnIE9TIFggaW5zdGFsbGVycyBhcmUgbm93IGRpc3RyaWJ1dGVkIGFzIHNpZ25lZAotICBpbnN0YWxsZXIgcGFja2FnZXMgY29tcGF0aWJsZSB3aXRoIHRoZSBHYXRla2VlcGVyIHNlY3VyaXR5IGZlYXR1cmUuCi0KLS0gSXNzdWUgIzIxOTU4OiBEZWZpbmUgSEFWRV9ST1VORCB3aGVuIGJ1aWxkaW5nIHdpdGggVmlzdWFsIFN0dWRpbyAyMDEzIGFuZAotICBhYm92ZS4gIFBhdGNoIGJ5IFphY2hhcnkgVHVybmVyLgotCi0tIElzc3VlICMxNTc1OTogIm1ha2Ugc3VzcGljaW91cyIsICJtYWtlIGxpbmtjaGVjayIgYW5kICJtYWtlIGRvY3Rlc3QiIGluIERvYy8KLSAgbm93IGRpc3BsYXkgc3BlY2lhbCBtZXNzYWdlIHdoZW4gYW5kIG9ubHkgd2hlbiB0aGVyZSBhcmUgZmFpbHVyZXMuCi0KLS0gSXNzdWUgIzE3MDk1OiBGaXggTW9kdWxlcy9TZXR1cCAqc2hhcmVkKiBzdXBwb3J0LgotCi0tIElzc3VlICMyMTgxMTogQW50aWNpcGF0ZWQgZml4ZXMgdG8gc3VwcG9ydCBPUyBYIHZlcnNpb25zID4gMTAuOS4KLQotLSBJc3N1ZSAjMjExNjY6IFByZXZlbnQgcG9zc2libGUgc2VnZmF1bHRzIGFuZCBvdGhlciByYW5kb20gZmFpbHVyZXMgb2YKLSAgcHl0aG9uIC0tZ2VuZXJhdGUtcG9zaXgtdmFycyBpbiBweWJ1aWxkZGlyLnR4dCBidWlsZCB0YXJnZXQuCi0KLUlETEUKLS0tLS0KLQotLSBJc3N1ZSAjMTczOTA6IEFkanVzdCBFZGl0b3Igd2luZG93IHRpdGxlOyByZW1vdmUgJ1B5dGhvbicsCi0gIG1vdmUgdmVyc2lvbiB0byBlbmQuCi0KLS0gSXNzdWUgIzE0MTA1OiBJZGxlIGRlYnVnZ2VyIGJyZWFrcG9pbnRzIG5vIGxvbmdlciBkaXNhcHBlYXIKLSAgd2hlbiBpbnNldGluZyBvciBkZWxldGluZyBsaW5lcy4KLQotLSBJc3N1ZSAjMTcxNzI6IFR1cnRsZWRlbW8gY2FuIG5vdyBiZSBydW4gZnJvbSBJZGxlLgotICBDdXJyZW50bHksIHRoZSBlbnRyeSBpcyBvbiB0aGUgSGVscCBtZW51LCBidXQgaXQgbWF5IG1vdmUgdG8gUnVuLgotICBQYXRjaCBieSBSYW1jaGFuZHJhIEFwdCBhbmQgTGl0YSBDaG8uCi0KLS0gSXNzdWUgIzIxNzY1OiBBZGQgc3VwcG9ydCBmb3Igbm9uLWFzY2lpIGlkZW50aWZpZXJzIHRvIEh5cGVyUGFyc2VyLgotCi0tIElzc3VlICMyMTk0MDogQWRkIHVuaXR0ZXN0IGZvciBXaWRnZXRSZWRpcmVjdG9yLiBJbml0aWFsIHBhdGNoIGJ5IFNhaW1hZGhhdgotICBIZWJsaWthci4KLQotLSBJc3N1ZSAjMTg1OTI6IEFkZCB1bml0dGVzdCBmb3IgU2VhcmNoRGlhbG9nQmFzZS4gUGF0Y2ggYnkgUGhpbCBXZWJzdGVyLgotCi0tIElzc3VlICMyMTY5NDogQWRkIHVuaXR0ZXN0IGZvciBQYXJlbk1hdGNoLiBQYXRjaCBieSBTYWltYWRoYXYgSGVibGlrYXIuCi0KLS0gSXNzdWUgIzIxNjg2OiBhZGQgdW5pdHRlc3QgZm9yIEh5cGVyUGFyc2VyLiBPcmlnaW5hbCBwYXRjaCBieSBTYWltYWRoYXYKLSAgSGVibGlrYXIuCi0KLS0gSXNzdWUgIzEyMzg3OiBBZGQgbWlzc2luZyB1cHBlcihsb3dlciljYXNlIHZlcnNpb25zIG9mIGRlZmF1bHQgV2luZG93cyBrZXkKLSAgYmluZGluZ3MgZm9yIElkbGUgc28gQ2FwcyBMb2NrIGRvZXMgbm90IGRpc2FibGUgdGhlbS4gUGF0Y2ggYnkgUm9nZXIgU2Vyd3kuCi0KLS0gSXNzdWUgIzIxNjk1OiBDbG9zaW5nIGEgRmluZC1pbi1maWxlcyBvdXRwdXQgd2luZG93IHdoaWxlIHRoZSBzZWFyY2ggaXMKLSAgc3RpbGwgaW4gcHJvZ3Jlc3Mgbm8gbG9uZ2VyIGNsb3NlcyBJZGxlLgotCi0tIElzc3VlICMxODkxMDogQWRkIHVuaXR0ZXN0IGZvciB0ZXh0Vmlldy4gUGF0Y2ggYnkgUGhpbCBXZWJzdGVyLgotCi0tIElzc3VlICMxODI5MjogQWRkIHVuaXR0ZXN0IGZvciBBdXRvRXhwYW5kLiBQYXRjaCBieSBTYWloYWRoYXYgSGVibGlrYXIuCi0KLS0gSXNzdWUgIzE4NDA5OiBBZGQgdW5pdHRlc3QgZm9yIEF1dG9Db21wbGV0ZS4gUGF0Y2ggYnkgUGhpbCBXZWJzdGVyLgotCi1UZXN0cwotLS0tLS0KKy0gSXNzdWUgIzIxNTI1OiBNb3N0IFRraW50ZXIgbWV0aG9kcyB3aGljaCBhY2NlcHRlZCB0dXBsZXMgbm93IGFjY2VwdCBsaXN0cyB0b28uCiAKIC0gSXNzdWUgIzIyMTY2OiAgd2l0aCB0aGUgYXNzaXN0YW5jZSBvZiBhIG5ldyBpbnRlcm5hbCBfY29kZWNzLl9mb3JnZXRfY29kZWMKICAgaGVscGluZyBmdW5jdGlvbiwgdGVzdF9jb2RlY3Mgbm93IGNsZWFycyB0aGUgZW5jb2RpbmcgY2FjaGVzIHRvIGF2b2lkIHRoZQpAQCAtODYwLDE4MSArMTE1Nyw5MyBAQAogLSBJc3N1ZSAjMjIyMzY6IFRraW50ZXIgdGVzdHMgbm93IGRvbid0IHJldXNlIGRlZmF1bHQgcm9vdCB3aW5kb3cuICBOZXcgcm9vdAogICB3aW5kb3cgaXMgY3JlYXRlZCBmb3IgZXZlcnkgdGVzdCBjbGFzcy4KIAotLSBJc3N1ZSAjMjA3NDY6IEZpeCB0ZXN0X3BkYiB0byBydW4gaW4gcmVmbGVhayBtb2RlICgtUikuICBQYXRjaCBieSBYYXZpZXIKLSAgZGUgR2F5ZS4KLQotLSBJc3N1ZSAjMjIwNjA6IHRlc3RfY3R5cGVzIGhhcyBiZWVuIHNvbWV3aGF0IGNsZWFuZWQgdXAgYW5kIHNpbXBsaWZpZWQ7IGl0Ci0gIG5vdyB1c2VzIHVuaXR0ZXN0IHRlc3QgZGlzY292ZXJ5IHRvIGZpbmQgaXRzIHRlc3RzLgotCi0tIElzc3VlICMyMjEwNDogcmVncnRlc3QucHkgbm8gbG9uZ2VyIGhvbGRzIGEgcmVmZXJlbmNlIHRvIHRoZSBzdWl0ZSBvZiB0ZXN0cwotICBsb2FkZWQgZnJvbSB0ZXN0IG1vZHVsZXMgdGhhdCBkb24ndCBkZWZpbmUgdGVzdF9tYWluKCkuCi0KLS0gSXNzdWUgIzIyMDAyOiBBZGRlZCBgYGxvYWRfcGFja2FnZV90ZXN0c2BgIGZ1bmN0aW9uIHRvIHRlc3Quc3VwcG9ydCBhbmQgdXNlZAotICBpdCB0byBpbXBsZW1lbnQvYXVnbWVudCB0ZXN0IGRpc2NvdmVyeSBpbiB0ZXN0X2FzeW5jaW8sIHRlc3RfZW1haWwsCi0gIHRlc3RfaW1wb3J0bGliLCB0ZXN0X2pzb24sIGFuZCB0ZXN0X3Rvb2xzLgotCi0tIElzc3VlICMyMTk3NjogRml4IHRlc3Rfc3NsIHRvIGFjY2VwdCBMaWJyZVNTTCB2ZXJzaW9uIHN0cmluZ3MuICBUaGFua3MKLSAgdG8gV2lsbGlhbSBPcnIuCi0KLS0gSXNzdWUgIzIxOTE4OiBDb252ZXJ0ZWQgdGVzdF90b29scyBmcm9tIGEgbW9kdWxlIHRvIGEgcGFja2FnZSBjb250YWluaW5nCi0gIHNlcGFyYXRlIHRlc3QgZmlsZXMgZm9yIGVhY2ggdGVzdGVkIHNjcmlwdC4KLQotLSBJc3N1ZSAjMjAxNTU6IENoYW5nZWQgSFRUUCBtZXRob2QgbmFtZXMgaW4gZmFpbGluZyB0ZXN0cyBpbiB0ZXN0X2h0dHBzZXJ2ZXJzCi0gIHNvIHRoYXQgcGFja2V0IGZpbHRlcmluZyBzb2Z0d2FyZSAoc3BlY2lmaWNhbGx5IFdpbmRvd3MgQmFzZSBGaWx0ZXJpbmcgRW5naW5lKQotICBkb2VzIG5vdCBpbnRlcmZlcmUgd2l0aCB0aGUgdHJhbnNhY3Rpb24gc2VtYW50aWNzIGV4cGVjdGVkIGJ5IHRoZSB0ZXN0cy4KLQotLSBJc3N1ZSAjMTk0OTM6IFJlZmFjdG9yZWQgdGhlIGN0eXBlcyB0ZXN0IHBhY2thZ2UgdG8gc2tpcCB0ZXN0cyBleHBsaWNpdGx5Ci0gIHJhdGhlciB0aGFuIHNpbGVudGx5LgotCi0tIElzc3VlICMxODQ5MjogQWxsIHJlc291cmNlcyBhcmUgbm93IGFsbG93ZWQgd2hlbiB0ZXN0cyBhcmUgbm90IHJ1biBieQotICByZWdydGVzdC5weS4KLQotLSBJc3N1ZSAjMjE2MzQ6IEZpeCBweXN0b25lIG1pY3JvLWJlbmNobWFyazogdXNlIGZsb29yIGRpdmlzaW9uIGluc3RlYWQgb2YgdHJ1ZQotICBkaXZpc2lvbiB0byBiZW5jaG1hcmsgaW50ZWdlcnMgaW5zdGVhZCBvZiBmbG9hdGluZyBwb2ludCBudW1iZXJzLiBTZXQgcHlzdG9uZQotICB2ZXJzaW9uIHRvIDEuMi4gUGF0Y2ggd3JpdHRlbiBieSBMZW5uYXJ0IFJlZ2Vicm8uCi0KLS0gSXNzdWUgIzIxNjA1OiBBZGRlZCB0ZXN0cyBmb3IgVGtpbnRlciBpbWFnZXMuCi0KLS0gSXNzdWUgIzIxNDkzOiBBZGRlZCB0ZXN0IGZvciBudHBhdGguZXhwYW5kdXNlcigpLiAgT3JpZ2luYWwgcGF0Y2ggYnkKLSAgQ2xhdWRpdSBQb3BhLgotCi0tIElzc3VlICMxOTkyNTogQWRkZWQgdGVzdHMgZm9yIHRoZSBzcHdkIG1vZHVsZS4gT3JpZ2luYWwgcGF0Y2ggYnkgVmFqcmFza3kgS29rLgotCi0tIElzc3VlICMyMTUyMjogQWRkZWQgVGtpbnRlciB0ZXN0cyBmb3IgTGlzdGJveC5pdGVtY29uZmlndXJlKCksCi0gIFBhbmVkV2luZG93LnBhbmVjb25maWd1cmUoKSwgYW5kIE1lbnUuZW50cnljb25maWd1cmUoKS4KLQotRG9jdW1lbnRhdGlvbgotLS0tLS0tLS0tLS0tLQotCi0tIElzc3VlICMyMTc3NzogVGhlIGJpbmFyeSBzZXF1ZW5jZSBtZXRob2RzIG9uIGJ5dGVzIGFuZCBieXRlYXJyYXkgYXJlIG5vdwotICBkb2N1bWVudGVkIGV4cGxpY2l0bHksIHJhdGhlciB0aGFuIGFzc3VtaW5nIHVzZXJzIHdpbGwgYmUgYWJsZSB0byBkZXJpdmUKLSAgdGhlIGV4cGVjdGVkIGJlaGF2aW91ciBmcm9tIHRoZSBiZWhhdmlvdXIgb2YgdGhlIGNvcnJlc3BvbmRpbmcgc3RyIG1ldGhvZHMuCi0KLVdpbmRvd3MKLS0tLS0tLS0KLQotLSBJc3N1ZSAjMjE2NzEsICMyMjE2MCwgQ1ZFLTIwMTQtMDIyNDogVGhlIGJ1bmRsZWQgdmVyc2lvbiBvZiBPcGVuU1NMIGhhcyBiZWVuCi0gIHVwZGF0ZWQgdG8gMS4wLjFpLgotCi0tIElzc3VlICMxMDc0NzogVXNlIHZlcnNpb25lZCBsYWJlbHMgaW4gdGhlIFdpbmRvd3Mgc3RhcnQgbWVudS4KLSAgUGF0Y2ggYnkgT2xpdmUgS2lsYnVybi4KLQotVG9vbHMvRGVtb3MKLS0tLS0tLS0tLS0tCi0KLS0gSXNzdWUgIzIyMjAxOiBDb21tYW5kLWxpbmUgaW50ZXJmYWNlIG9mIHRoZSB6aXBmaWxlIG1vZHVsZSBub3cgY29ycmVjdGx5Ci0gIGV4dHJhY3RzIFpJUCBmaWxlcyB3aXRoIGRpcmVjdG9yeSBlbnRyaWVzLiAgUGF0Y2ggYnkgUnlhbiBXaWxzb24uCi0KLS0gSXNzdWUgIzIxOTA2OiBNYWtlIFRvb2xzL3NjcmlwdHMvbWQ1c3VtLnB5IHdvcmsgaW4gUHl0aG9uIDMuCi0gIFBhdGNoIGJ5IFphY2hhcnkgV2FyZS4KLQotLSBJc3N1ZSAjMjE2Mjk6IEZpeCBBcmd1bWVudCBDbGluaWMncyAiLS1jb252ZXJ0ZXJzIiBmZWF0dXJlLgotCi0KLVdoYXQncyBOZXcgaW4gUHl0aG9uIDMuNC4xPwotPT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0KLVJlbGVhc2UgZGF0ZTogMjAxNC0wNS0xOAotCi1Db3JlIGFuZCBCdWlsdGlucwotLS0tLS0tLS0tLS0tLS0tLS0KLQotLSBJc3N1ZSAjMjE0MTg6IEZpeCBhIGNyYXNoIGluIHRoZSBidWlsdGluIGZ1bmN0aW9uIHN1cGVyKCkgd2hlbiBjYWxsZWQgd2l0aG91dAotICBhcmd1bWVudCBhbmQgd2l0aG91dCBjdXJyZW50IGZyYW1lIChleDogZW1iZWRkZWQgUHl0aG9uKS4KLQotLSBJc3N1ZSAjMjE0MjU6IEZpeCBmbHVzaGluZyBvZiBzdGFuZGFyZCBzdHJlYW1zIGluIHRoZSBpbnRlcmFjdGl2ZQotICBpbnRlcnByZXRlci4KLQotLSBJc3N1ZSAjMjE0MzU6IEluIHJhcmUgY2FzZXMsIHdoZW4gcnVubmluZyBmaW5hbGl6ZXJzIG9uIG9iamVjdHMgaW4gY3ljbGljCi0gIHRyYXNoIGEgYmFkIHBvaW50ZXIgZGVyZWZlcmVuY2UgY291bGQgb2NjdXIgZHVlIHRvIGEgc3VidGxlIGZsYXcgaW4KLSAgaW50ZXJuYWwgaXRlcmF0aW9uIGxvZ2ljLgotCi1MaWJyYXJ5Ci0tLS0tLS0tCi0KIC0gSXNzdWUgIzEwNzQ0OiBGaXggUEVQIDMxMTggZm9ybWF0IHN0cmluZ3Mgb24gY3R5cGVzIG9iamVjdHMgd2l0aCBhIG5vbnRyaXZpYWwKICAgc2hhcGUuCiAKKy0gSXNzdWUgIzIwODI2OiBPcHRpbWl6ZSBpcGFkZHJlc3MuY29sbGFwc2VfYWRkcmVzc2VzKCkuCisKKy0gSXNzdWUgIzIxNDg3OiBPcHRpbWl6ZSBpcGFkZHJlc3Muc3VtbWFyaXplX2FkZHJlc3NfcmFuZ2UoKSBhbmQKKyAgaXBhZGRyZXNzLntJUHY0TmV0d29yayxJUHY2TmV0d29ya30uc3VibmV0cygpLgorCistIElzc3VlICMyMTQ4NjogT3B0aW1pemUgcGFyc2luZyBvZiBuZXRtYXNrcyBpbiBpcGFkZHJlc3MuSVB2NE5ldHdvcmsgYW5kCisgIGlwYWRkcmVzcy5JUHY2TmV0d29yay4KKworLSBJc3N1ZSAjMTM5MTY6IERpc2FsbG93ZWQgdGhlIHN1cnJvZ2F0ZXBhc3MgZXJyb3IgaGFuZGxlciBmb3Igbm9uIFVURi0qCisgIGVuY29kaW5ncy4KKwogLSBJc3N1ZSAjMjA5OTg6IEZpeGVkIHJlLmZ1bGxtYXRjaCgpIG9mIHJlcGVhdGVkIHNpbmdsZSBjaGFyYWN0ZXIgcGF0dGVybgogICB3aXRoIGlnbm9yZSBjYXNlLiAgT3JpZ2luYWwgcGF0Y2ggYnkgTWF0dGhldyBCYXJuZXR0LgogCiAtIElzc3VlICMyMTA3NTogZmlsZWlucHV0LkZpbGVJbnB1dCBub3cgcmVhZHMgYnl0ZXMgZnJvbSBzdGFuZGFyZCBzdHJlYW0gaWYKICAgYmluYXJ5IG1vZGUgaXMgc3BlY2lmaWVkLiAgUGF0Y2ggYnkgU2FtIEtpbWJyZWwuCiAKLS0gSXNzdWUgIzIxMzk2OiBGaXggVGV4dElPV3JhcHBlciguLi4sIHdyaXRlX3Rocm91Z2g9VHJ1ZSkgdG8gbm90IGZvcmNlIGEKLSAgZmx1c2goKSBvbiB0aGUgdW5kZXJseWluZyBiaW5hcnkgc3RyZWFtLiAgUGF0Y2ggYnkgYWtpcmEuCistIElzc3VlICMxOTc3NTogQWRkIGEgc2FtZWZpbGUoKSBtZXRob2QgdG8gcGF0aGxpYiBQYXRoIG9iamVjdHMuICBJbml0aWFsCisgIHBhdGNoIGJ5IFZhanJhc2t5IEtvay4KIAotLSBJc3N1ZSAjMjE0NzA6IERvIGEgYmV0dGVyIGpvYiBzZWVkaW5nIHRoZSByYW5kb20gbnVtYmVyIGdlbmVyYXRvciBieQotICB1c2luZyBlbm91Z2ggYnl0ZXMgdG8gc3BhbiB0aGUgZnVsbCBzdGF0ZSBzcGFjZSBvZiB0aGUgTWVyc2VubmUgVHdpc3Rlci4KKy0gSXNzdWUgIzIxMjI2OiBTZXQgdXAgbW9kdWxlcyBwcm9wZXJseSBpbiBQeUltcG9ydF9FeGVjQ29kZU1vZHVsZU9iamVjdAorICAoYW5kIGZyaWVuZHMpLgogCiAtIElzc3VlICMyMTM5ODogRml4IGFuIHVuaWNvZGUgZXJyb3IgaW4gdGhlIHB5ZG9jIHBhZ2VyIHdoZW4gdGhlIGRvY3VtZW50YXRpb24KICAgY29udGFpbnMgY2hhcmFjdGVycyBub3QgZW5jb2RhYmxlIHRvIHRoZSBzdGRvdXQgZW5jb2RpbmcuCiAKLVRlc3RzCi0tLS0tLQorLSBJc3N1ZSAjMTY1MzE6IGlwYWRkcmVzcy5JUHY0TmV0d29yayBhbmQgaXBhZGRyZXNzLklQdjZOZXR3b3JrIG5vdyBhY2NlcHQKKyAgYW4gKGFkZHJlc3MsIG5ldG1hc2spIHR1cGxlIGFyZ3VtZW50LCBzbyBhcyB0byBlYXNpbHkgY29uc3RydWN0IG5ldHdvcmsKKyAgb2JqZWN0cyBmcm9tIGV4aXN0aW5nIGFkZHJlc3Nlcy4KIAotLSBJc3N1ZSAjMTc3NTY6IEZpeCB0ZXN0X2NvZGUgdGVzdCB3aGVuIHJ1biBmcm9tIHRoZSBpbnN0YWxsZWQgbG9jYXRpb24uCistIElzc3VlICMyMTE1NjogaW1wb3J0bGliLmFiYy5JbnNwZWN0TG9hZGVyLnNvdXJjZV90b19jb2RlKCkgaXMgbm93IGEKKyAgc3RhdGljbWV0aG9kLgogCi0tIElzc3VlICMxNzc1MjogRml4IGRpc3R1dGlscyB0ZXN0cyB3aGVuIHJ1biBmcm9tIHRoZSBpbnN0YWxsZWQgbG9jYXRpb24uCistIElzc3VlICMyMTQyNDogU2ltcGxpZmllZCBhbmQgb3B0aW1pemVkIGhlYXFwLm5sYXJnZXN0KCkgYW5kIG5tc21hbGxlc3QoKQorICB0byBtYWtlIGZld2VyIHR1cGxlIGNvbXBhcmlzb25zLgogCi1JRExFCi0tLS0tCistIElzc3VlICMyMTM5NjogRml4IFRleHRJT1dyYXBwZXIoLi4uLCB3cml0ZV90aHJvdWdoPVRydWUpIHRvIG5vdCBmb3JjZSBhCisgIGZsdXNoKCkgb24gdGhlIHVuZGVybHlpbmcgYmluYXJ5IHN0cmVhbS4gIFBhdGNoIGJ5IGFraXJhLgogCi0tIElzc3VlICMxODEwNDogQWRkIGlkbGVsaWIvaWRsZV90ZXN0L2h0ZXN0LnB5IHdpdGggYSBmZXcgc2FtcGxlIHRlc3RzIHRvIGJlZ2luCi0gIGNvbnNvbGlkYXRpbmcgYW5kIGltcHJvdmluZyBodW1hbi12YWxpZGF0ZWQgdGVzdHMgb2YgSWRsZS4gQ2hhbmdlIG90aGVyIGZpbGVzCi0gIGFzIG5lZWRlZCB0byB3b3JrIHdpdGggaHRlc3QuICBSdW5uaW5nIHRoZSBtb2R1bGUgYXMgX19tYWluX18gcnVucyBhbGwgdGVzdHMuCi0KLQotV2hhdCdzIE5ldyBpbiBQeXRob24gMy40LjFyYzE/Ci09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLQotUmVsZWFzZSBkYXRlOiAyMDE0LTA1LTA1Ci0KLUNvcmUgYW5kIEJ1aWx0aW5zCi0tLS0tLS0tLS0tLS0tLS0tLQotCi0tIElzc3VlICMyMTI3NDogRGVmaW5lIFBBVEhfTUFYIGZvciBHTlUvSHVyZCBpbiBQeXRob24vcHl0aG9ucnVuLmMuCi0KLS0gSXNzdWUgIzIxMjA5OiBGaXggc2VuZGluZyB0dXBsZXMgdG8gY3VzdG9tIGdlbmVyYXRvciBvYmplY3RzIHdpdGggdGhlIHlpZWxkCi0gIGZyb20gc3ludGF4LgotCi0tIElzc3VlICMyMTEzNDogRml4IHNlZ2ZhdWx0IHdoZW4gc3RyIGlzIGNhbGxlZCBvbiBhbiB1bmluaXRpYWxpemVkCi0gIFVuaWNvZGVFbmNvZGVFcnJvciwgVW5pY29kZURlY29kZUVycm9yLCBvciBVbmljb2RlVHJhbnNsYXRlRXJyb3Igb2JqZWN0LgotCi0tIElzc3VlICMxOTUzNzogRml4IFB5VW5pY29kZV9EQVRBKCkgYWxpZ25tZW50IHVuZGVyIG02OGsuICBQYXRjaCBieQotICBBbmRyZWFzIFNjaHdhYi4KLQotLSBJc3N1ZSAjMjA5Mjk6IEFkZCBhIHR5cGUgY2FzdCB0byBhdm9pZCBzaGlmdGluZyBhIG5lZ2F0aXZlIG51bWJlci4KLQotLSBJc3N1ZSAjMjA3MzE6IFByb3Blcmx5IHBvc2l0aW9uIGluIHNvdXJjZSBjb2RlIGZpbGVzIGV2ZW4gaWYgdGhleQotICBhcmUgb3BlbmVkIGluIHRleHQgbW9kZS4gUGF0Y2ggYnkgU2VyaGl5IFN0b3JjaGFrYS4KLQotLSBJc3N1ZSAjMjA2Mzc6IEtleS1zaGFyaW5nIG5vdyBhbHNvIHdvcmtzIGZvciBpbnN0YW5jZSBkaWN0aW9uYXJpZXMgb2YKLSAgc3ViY2xhc3Nlcy4gIFBhdGNoIGJ5IFBldGVyIEluZ2VicmV0c29uLgotCi0tIElzc3VlICMxMjU0NjogQWxsb3cgXHgwMCB0byBiZSB1c2VkIGFzIGEgZmlsbCBjaGFyYWN0ZXIgd2hlbiB1c2luZyBzdHIsIGludCwKLSAgZmxvYXQsIGFuZCBjb21wbGV4IF9fZm9ybWF0X18gbWV0aG9kcy4KLQotLSBJc3N1ZSAjMTM1OTg6IE1vZGlmeSBzdHJpbmcuRm9ybWF0dGVyIHRvIHN1cHBvcnQgYXV0by1udW1iZXJpbmcgb2YKLSAgcmVwbGFjZW1lbnQgZmllbGRzLiBJdCBub3cgbWF0Y2hlcyB0aGUgYmVoYXZpb3Igb2Ygc3RyLmZvcm1hdCgpIGluCi0gIHRoaXMgcmVnYXJkLiBQYXRjaGVzIGJ5IFBoaWwgRWxzb24gYW5kIFJhbWNoYW5kcmEgQXB0ZS4KLQotTGlicmFyeQotLS0tLS0tLQorLSBJc3N1ZSAjMTgzMTQ6IFVubGluayBub3cgcmVtb3ZlcyBqdW5jdGlvbnMgb24gV2luZG93cy4gUGF0Y2ggYnkgS2ltIEdyw6RzbWFuCiAKIC0gSXNzdWUgIzIxMDg4OiBCdWdmaXggZm9yIGN1cnNlcy53aW5kb3cuYWRkY2goKSByZWdyZXNzaW9uIGluIDMuNC4wLgogICBJbiBwb3J0aW5nIHRvIEFyZ3VtZW50IENsaW5pYywgdGhlIGZpcnN0IHR3byBhcmd1bWVudHMgd2VyZSByZXZlcnNlZC4KIAorLSBJc3N1ZSAjMjE0MDc6IF9kZWNpbWFsOiBUaGUgbW9kdWxlIG5vdyBzdXBwb3J0cyBmdW5jdGlvbiBzaWduYXR1cmVzLgorCistIElzc3VlICMxMDY1MDogUmVtb3ZlIHRoZSBub24tc3RhbmRhcmQgJ3dhdGNoZXhwJyBwYXJhbWV0ZXIgZnJvbSB0aGUKKyAgRGVjaW1hbC5xdWFudGl6ZSgpIG1ldGhvZCBpbiB0aGUgUHl0aG9uIHZlcnNpb24uICBJdCBoYWQgbmV2ZXIgYmVlbgorICBwcmVzZW50IGluIHRoZSBDIHZlcnNpb24uCisKIC0gSXNzdWUgIzIxNDY5OiAgUmVkdWNlZCB0aGUgcmlzayBvZiBmYWxzZSBwb3NpdGl2ZXMgaW4gcm9ib3RwYXJzZXIgYnkKICAgY2hlY2tpbmcgdG8gbWFrZSBzdXJlIHRoYXQgcm9ib3RzLnR4dCBoYXMgYmVlbiByZWFkIG9yIGRvZXMgbm90IGV4aXN0CiAgIHByaW9yIHRvIHJldHVybmluZyBUcnVlIGluIGNhbl9mZXRjaCgpLgogCistIElzc3VlICMxOTQxNDogSGF2ZSB0aGUgT3JkZXJlZERpY3QgbWFyayBkZWxldGVkIGxpbmtzIGFzIHVudXNhYmxlLgorICBUaGlzIGdpdmVzIGFuIGVhcmx5IGZhaWx1cmUgaWYgdGhlIGxpbmsgaXMgZGVsZXRlZCBkdXJpbmcgaXRlcmF0aW9uLgorCistIElzc3VlICMyMTQyMTogQWRkIF9fc2xvdHNfXyB0byB0aGUgTWFwcGluZ1ZpZXdzIEFCQy4KKyAgUGF0Y2ggYnkgSm9zaCBSb3NlbmJlcmcuCisKKy0gSXNzdWUgIzIxMTAxOiBFbGltaW5hdGUgZG91YmxlIGhhc2hpbmcgaW4gdGhlIEMgc3BlZWQtdXAgY29kZSBmb3IKKyAgY29sbGVjdGlvbnMuQ291bnRlcigpLgorCiAtIElzc3VlICMyMTMyMTogaXRlcnRvb2xzLmlzbGljZSgpIG5vdyByZWxlYXNlcyB0aGUgcmVmZXJlbmNlIHRvIHRoZSBzb3VyY2UKICAgaXRlcmF0b3Igd2hlbiB0aGUgc2xpY2UgaXMgZXhoYXVzdGVkLiAgUGF0Y2ggYnkgQW50b24gQWZhbmFzeWV2LgogCistIElzc3VlICMyMTA1NzogVGV4dElPV3JhcHBlciBub3cgYWxsb3dzIHRoZSB1bmRlcmx5aW5nIGJpbmFyeSBzdHJlYW0ncworICByZWFkKCkgb3IgcmVhZDEoKSBtZXRob2QgdG8gcmV0dXJuIGFuIGFyYml0cmFyeSBieXRlcy1saWtlIG9iamVjdAorICAoc3VjaCBhcyBhIG1lbW9yeXZpZXcpLiAgUGF0Y2ggYnkgTmlrb2xhdXMgUmF0aC4KKworLSBJc3N1ZSAjMjA5NTE6IFNTTFNvY2tldC5zZW5kKCkgbm93IHJhaXNlcyBlaXRoZXIgU1NMV2FudFJlYWRFcnJvciBvcgorICBTU0xXYW50V3JpdGVFcnJvciBvbiBhIG5vbi1ibG9ja2luZyBzb2NrZXQgaWYgdGhlIG9wZXJhdGlvbiB3b3VsZCBibG9jay4KKyAgUHJldmlvdXNseSwgaXQgd291bGQgcmV0dXJuIDAuICBQYXRjaCBieSBOaWtvbGF1cyBSYXRoLgorCistIElzc3VlICMxMzI0ODogcmVtb3ZlZCBwcmV2aW91c2x5IGRlcHJlY2F0ZWQgYXN5bmNvcmUuZGlzcGF0Y2hlciBfX2dldGF0dHJfXworICBjaGVhcCBpbmhlcml0YW5jZSBoYWNrLgorCiAtIElzc3VlICM5ODE1OiBhc3NlcnRSYWlzZXMgbm93IHRyaWVzIHRvIGNsZWFyIHJlZmVyZW5jZXMgdG8gbG9jYWwgdmFyaWFibGVzCiAgIGluIHRoZSBleGNlcHRpb24ncyB0cmFjZWJhY2suCiAKKy0gSXNzdWUgIzE5OTQwOiBzc2wuY2VydF90aW1lX3RvX3NlY29uZHMoKSBub3cgaW50ZXJwcmV0cyB0aGUgZ2l2ZW4gdGltZQorICBzdHJpbmcgaW4gdGhlIFVUQyB0aW1lem9uZSAoYXMgc3BlY2lmaWVkIGluIFJGQyA1MjgwKSwgbm90IHRoZSBsb2NhbAorICB0aW1lem9uZS4KKwogLSBJc3N1ZSAjMTMyMDQ6IENhbGxpbmcgc3lzLmZsYWdzLl9fbmV3X18gd291bGQgY3Jhc2ggdGhlIGludGVycHJldGVyLAogICBub3cgaXQgcmFpc2VzIGEgVHlwZUVycm9yLgogCkBAIC0xMDU4LDkgKzEyNjcsMjUgQEAKIC0gSXNzdWUgIzEyMjIwOiBtaW5kb20gbm93IHJhaXNlcyBhIGN1c3RvbSBWYWx1ZUVycm9yIGluZGljYXRpbmcgaXQgZG9lc24ndAogICBzdXBwb3J0IHNwYWNlcyBpbiBVUklzIGluc3RlYWQgb2YgbGV0dGluZyBhICdzcGxpdCcgVmFsdWVFcnJvciBidWJibGUgdXAuCiAKKy0gSXNzdWUgIzIxMDY4OiBUaGUgc3NsLlBST1RPQ09MKiBjb25zdGFudHMgYXJlIG5vdyBlbnVtIG1lbWJlcnMuCisKKy0gSXNzdWUgIzIxMjc2OiBwb3NpeG1vZHVsZTogRG9uJ3QgZGVmaW5lIFVTRV9YQVRUUlMgb24gS0ZyZWVCU0QgYW5kIHRoZSBIdXJkLgorCistIElzc3VlICMyMTI2MjogTmV3IG1ldGhvZCBhc3NlcnRfbm90X2NhbGxlZCBmb3IgTW9jay4KKyAgSXQgcmFpc2VzIEFzc2VydGlvbkVycm9yIGlmIHRoZSBtb2NrIGhhcyBiZWVuIGNhbGxlZC4KKworLSBJc3N1ZSAjMjEyMzg6IE5ldyBrZXl3b3JkIGFyZ3VtZW50IGB1bnNhZmVgIHRvIE1vY2suIEl0IHJhaXNlcworICBgQXR0cmlidXRlRXJyb3JgIGluY2FzZSBvZiBhbiBhdHRyaWJ1dGUgc3RhcnRzd2l0aCBhc3NlcnQgb3IgYXNzcmV0LgorCistIElzc3VlICMyMDg5Njogc3NsLmdldF9zZXJ2ZXJfY2VydGlmaWNhdGUoKSBub3cgdXNlcyBQUk9UT0NPTF9TU0x2MjMsIG5vdAorICBQUk9UT0NPTF9TU0x2MywgZm9yIG1heGltdW0gY29tcGF0aWJpbGl0eS4KKwogLSBJc3N1ZSAjMjEyMzk6IHBhdGNoLnN0b3BhbGwoKSBkaWRuJ3Qgd29yayBkZXRlcm1pbmlzdGljYWxseSB3aGVuIHRoZSBzYW1lCiAgIG5hbWUgd2FzIHBhdGNoZWQgbW9yZSB0aGFuIG9uY2UuCiAKKy0gSXNzdWUgIzIxMjAzOiBVcGRhdGVkIGZpbGVDb25maWcgYW5kIGRpY3RDb25maWcgdG8gcmVtb3ZlIGluY29uc2lzdGVuY2llcy4KKyAgVGhhbmtzIHRvIEp1cmUgS29yZW4gZm9yIHRoZSBwYXRjaC4KKwogLSBJc3N1ZSAjMjEyMjI6IFBhc3NpbmcgbmFtZSBrZXl3b3JkIGFyZ3VtZW50IHRvIG1vY2suY3JlYXRlX2F1dG9zcGVjIG5vdwogICB3b3Jrcy4KIApAQCAtMTA5MCwxNyArMTMxNSwzMSBAQAogLSBJc3N1ZSAjMjExNzE6IEZpeGVkIHVuZG9jdW1lbnRlZCBmaWx0ZXIgQVBJIG9mIHRoZSByb3QxMyBjb2RlYy4KICAgUGF0Y2ggYnkgQmVya2VyIFBla3NhZy4KIAorLSBJc3N1ZSAjMjA1Mzk6IEltcHJvdmVkIG1hdGguZmFjdG9yaWFsIGVycm9yIG1lc3NhZ2UgZm9yIGxhcmdlIHBvc2l0aXZlIGlucHV0cworICBhbmQgY2hhbmdlZCBleGNlcHRpb24gdHlwZSAoT3ZlcmZsb3dFcnJvciAtPiBWYWx1ZUVycm9yKSBmb3IgbGFyZ2UgbmVnYXRpdmUKKyAgaW5wdXRzLgorCiAtIElzc3VlICMyMTE3MjogaXNpbnN0YW5jZSBjaGVjayByZWxheGVkIGZyb20gZGljdCB0byBjb2xsZWN0aW9ucy5NYXBwaW5nLgogCiAtIElzc3VlICMyMTE1NTogYXN5bmNpby5FdmVudExvb3AuY3JlYXRlX3VuaXhfc2VydmVyKCkgbm93IHJhaXNlcyBhIFZhbHVlRXJyb3IKICAgaWYgcGF0aCBhbmQgc29jayBhcmUgc3BlY2lmaWVkIGF0IHRoZSBzYW1lIHRpbWUuCiAKKy0gSXNzdWUgIzIxMTM2OiBBdm9pZCB1bm5lY2Vzc2FyeSBub3JtYWxpemF0aW9uIG9mIEZyYWN0aW9ucyByZXN1bHRpbmcgZnJvbQorICBwb3dlciBhbmQgb3RoZXIgb3BlcmF0aW9ucy4gIFBhdGNoIGJ5IFJheW1vbmQgSGV0dGluZ2VyLgorCistIElzc3VlICMxNzYyMTogSW50cm9kdWNlIGltcG9ydGxpYi51dGlsLkxhenlMb2FkZXIuCisKKy0gSXNzdWUgIzIxMDc2OiBzaWduYWwgbW9kdWxlIGNvbnN0YW50cyB3ZXJlIHR1cm5lZCBpbnRvIGVudW1zLgorICBQYXRjaCBieSBHaWFtcGFvbG8gUm9kb2xhJy4KKworLSBJc3N1ZSAjMjA2MzY6IEltcHJvdmVkIHRoZSByZXByIG9mIFRraW50ZXIgd2lkZ2V0cy4KKworLSBJc3N1ZSAjMTk1MDU6IFRoZSBpdGVtcywga2V5cywgYW5kIHZhbHVlcyB2aWV3cyBvZiBPcmRlcmVkRGljdCBub3cgc3VwcG9ydAorICByZXZlcnNlIGl0ZXJhdGlvbiB1c2luZyByZXZlcnNlZCgpLgorCiAtIElzc3VlICMyMTE0OTogSW1wcm92ZWQgdGhyZWFkLXNhZmV0eSBpbiBsb2dnaW5nIGNsZWFudXAgZHVyaW5nIGludGVycHJldGVyCiAgIHNodXRkb3duLiBUaGFua3MgdG8gRGV2aW4gSmVhbnBpZXJyZSBmb3IgdGhlIHBhdGNoLgogCi0tIElzc3VlICMyMDE0NTogYGFzc2VydFJhaXNlc1JlZ2V4YCBhbmQgYGFzc2VydFdhcm5zUmVnZXhgIG5vdyByYWlzZSBhCi0gIFR5cGVFcnJvciBpZiB0aGUgc2Vjb25kIGFyZ3VtZW50IGlzIG5vdCBhIHN0cmluZyBvciBjb21waWxlZCByZWdleC4KLQogLSBJc3N1ZSAjMjEwNTg6IEZpeCBhIGxlYWsgb2YgZmlsZSBkZXNjcmlwdG9yIGluCiAgIDpmdW5jOmB0ZW1wZmlsZS5OYW1lZFRlbXBvcmFyeUZpbGVgLCBjbG9zZSB0aGUgZmlsZSBkZXNjcmlwdG9yIGlmCiAgIDpmdW5jOmBpby5vcGVuYCBmYWlscwpAQCAtMTExMCw2ICsxMzQ5LDkgQEAKIC0gSXNzdWUgIzIxMDEzOiBFbmhhbmNlIHNzbC5jcmVhdGVfZGVmYXVsdF9jb250ZXh0KCkgd2hlbiB1c2VkIGZvciBzZXJ2ZXIgc2lkZQogICBzb2NrZXRzIHRvIHByb3ZpZGUgYmV0dGVyIHNlY3VyaXR5IGJ5IGRlZmF1bHQuCiAKKy0gSXNzdWUgIzIwMTQ1OiBgYXNzZXJ0UmFpc2VzUmVnZXhgIGFuZCBgYXNzZXJ0V2FybnNSZWdleGAgbm93IHJhaXNlIGEKKyAgVHlwZUVycm9yIGlmIHRoZSBzZWNvbmQgYXJndW1lbnQgaXMgbm90IGEgc3RyaW5nIG9yIGNvbXBpbGVkIHJlZ2V4LgorCiAtIElzc3VlICMyMDYzMzogUmVwbGFjZSByZWxhdGl2ZSBpbXBvcnQgYnkgYWJzb2x1dGUgaW1wb3J0LgogCiAtIElzc3VlICMyMDk4MDogU3RvcCB3cmFwcGluZyBleGNlcHRpb24gd2hlbiB1c2luZyBUaHJlYWRQb29sLgpAQCAtMTEyMyw2ICsxMzY1LDggQEAKICAgY3VydmUgZm9yIEVDREgga2V5IGV4Y2hhbmdlIG9uIE9wZW5TU0wgMS4wLjIgYW5kIGxhdGVyLCBhbmQgb3RoZXJ3aXNlCiAgIGRlZmF1bHQgdG8gInByaW1lMjU2djEiLgogCistIElzc3VlICMyMTAwMDogSW1wcm92ZSB0aGUgY29tbWFuZC1saW5lIGludGVyZmFjZSBvZiBqc29uLnRvb2wuCisKIC0gSXNzdWUgIzIwOTk1OiBFbmhhbmNlIGRlZmF1bHQgY2lwaGVycyB1c2VkIGJ5IHRoZSBzc2wgbW9kdWxlIHRvIGVuYWJsZQogICBiZXR0ZXIgc2VjdXJpdHkgYW4gcHJpb3JpdGl6ZSBwZXJmZWN0IGZvcndhcmQgc2VjcmVjeS4KIApAQCAtMTEzMCw2ICsxMzc0LDI0IEBACiAKIC0gSXNzdWUgIzIxNDk5OiBJZ25vcmUgX19idWlsdGluc19fIGluIHNldmVyYWwgdGVzdF9pbXBvcnRsaWIudGVzdF9hcGkgdGVzdHMuCiAKKy0gSXNzdWUgIzIwNjI3OiB4bWxycGMuY2xpZW50LlNlcnZlclByb3h5IGlzIG5vdyBhIGNvbnRleHQgbWFuYWdlci4KKworLSBJc3N1ZSAjMTkxNjU6IFRoZSBmb3JtYXR0ZXIgbW9kdWxlIG5vdyByYWlzZXMgRGVwcmVjYXRpb25XYXJuaW5nIGluc3RlYWQgb2YKKyAgUGVuZGluZ0RlcHJlY2F0aW9uV2FybmluZy4KKworLSBJc3N1ZSAjMTM5MzY6IFJlbW92ZSB0aGUgYWJpbGl0eSBvZiBkYXRldGltZS50aW1lIGluc3RhbmNlcyB0byBiZSBjb25zaWRlcmVkCisgIGZhbHNlIGluIGJvb2xlYW4gY29udGV4dHMuCisKKy0gSXNzdWUgMTg5MzE6IHNlbGVjdG9ycyBtb2R1bGUgbm93IHN1cHBvcnRzIC9kZXYvcG9sbCBvbiBTb2xhcmlzLgorICBQYXRjaCBieSBHaWFtcGFvbG8gUm9kb2xhJy4KKworLSBJc3N1ZSAjMTk5Nzc6IFdoZW4gdGhlIGBgTENfVFlQRWBgIGxvY2FsZSBpcyB0aGUgUE9TSVggbG9jYWxlIChgYENgYCBsb2NhbGUpLAorICA6cHk6ZGF0YTpgc3lzLnN0ZGluYCBhbmQgOnB5OmRhdGE6YHN5cy5zdGRvdXRgIGFyZSBub3cgdXNpbmcgdGhlCisgIGBgc3Vycm9nYXRlZXNjYXBlYGAgZXJyb3IgaGFuZGxlciwgaW5zdGVhZCBvZiB0aGUgYGBzdHJpY3RgYCBlcnJvciBoYW5kbGVyLgorCistIElzc3VlICMyMDU3NDogSW1wbGVtZW50IGluY3JlbWVudGFsIGRlY29kZXIgZm9yIGNwNjUwMDEgY29kZSAoV2luZG93cyBjb2RlCisgIHBhZ2UgNjUwMDEsIE1pY3Jvc29mdCBVVEYtOCkuCisKIC0gSXNzdWUgIzIwODc5OiBEZWxheSB0aGUgaW5pdGlhbGl6YXRpb24gb2YgZW5jb2RpbmcgYW5kIGRlY29kaW5nIHRhYmxlcyBmb3IKICAgYmFzZTMyLCBhc2NpaTg1IGFuZCBiYXNlODUgY29kZWNzIGluIHRoZSBiYXNlNjQgbW9kdWxlLCBhbmQgZGVsYXkgdGhlCiAgIGluaXRpYWxpemF0aW9uIG9mIHRoZSB1bnF1b3RlX3RvX2J5dGVzKCkgdGFibGUgb2YgdGhlIHVybGxpYi5wYXJzZSBtb2R1bGUsIHRvCkBAIC0xMTY0LDYgKzE0MjYsMTQgQEAKIC0gSXNzdWUgIzE5NzQ4OiBPbiBBSVgsIHRpbWUubWt0aW1lKCkgbm93IHJhaXNlcyBhbiBPdmVyZmxvd0Vycm9yIGZvciB5ZWFyCiAgIG91dHNpemUgcmFuZ2UgWzE5MDI7IDIwMzddLgogCistIElzc3VlICMxOTU3MzogaW5zcGVjdC5zaWduYXR1cmU6IFVzZSBlbnVtIGZvciBwYXJhbWV0ZXIga2luZCBjb25zdGFudHMuCisKKy0gSXNzdWUgIzIwNzI2OiBpbnNwZWN0LnNpZ25hdHVyZTogTWFrZSBTaWduYXR1cmUgYW5kIFBhcmFtZXRlciBwaWNrbGFibGUuCisKKy0gSXNzdWUgIzE3MzczOiBBZGQgaW5zcGVjdC5TaWduYXR1cmUuZnJvbV9jYWxsYWJsZSBtZXRob2QuCisKKy0gSXNzdWUgIzIwMzc4OiBJbXByb3ZlIHJlcHIgb2YgaW5zcGVjdC5TaWduYXR1cmUgYW5kIGluc3BlY3QuUGFyYW1ldGVyLgorCiAtIElzc3VlICMyMDgxNjogRml4IGluc3BlY3QuZ2V0Y2FsbGFyZ3MoKSB0byByYWlzZSBjb3JyZWN0IFR5cGVFcnJvciBmb3IKICAgbWlzc2luZyBrZXl3b3JkLW9ubHkgYXJndW1lbnRzLiBQYXRjaCBieSBKZXJlbWlhaCBMb3dpbi4KIApAQCAtMTE4MCw2ICsxNDUwLDEyIEBACiAgIHBvc2l0aW9uYWwtb3Ita2V5d29yZCBhcmd1bWVudHMgcGFzc2VkIGFzIGtleXdvcmQgYXJndW1lbnRzIGJlY29tZQogICBrZXl3b3JkLW9ubHkuCiAKKy0gSXNzdWUgIzIwMzM0OiBpbnNwZWN0LlNpZ25hdHVyZSBhbmQgaW5zcGVjdC5QYXJhbWV0ZXIgYXJlIG5vdyBoYXNoYWJsZS4KKyAgVGhhbmtzIHRvIEFudG9ueSBMZWUgZm9yIGJ1ZyByZXBvcnRzIGFuZCBzdWdnZXN0aW9ucy4KKworLSBJc3N1ZSAjMTU5MTY6IGRvY3Rlc3QuRG9jVGVzdFN1aXRlIHJldHVybnMgYW4gZW1wdHkgdW5pdHRlc3QuVGVzdFN1aXRlIGluc3RlYWQKKyAgb2YgcmFpc2luZyBWYWx1ZUVycm9yIGlmIGl0IGZpbmRzIG5vIHRlc3RzCisKIC0gSXNzdWUgIzIxMjA5OiBGaXggYXN5bmNpby50YXNrcy5Db3JvV3JhcHBlciB0byB3b3JrYXJvdW5kIGEgYnVnCiAgIGluIHlpZWxkLWZyb20gaW1wbGVtZW50YXRpb24gaW4gQ1B5dGhvbnMgcHJpb3IgdG8gMy40LjEuCiAKQEAgLTExOTIsMTYgKzE0NjgsOTAgQEAKIC0gSXNzdWUgIzExNTcxOiBFbnN1cmUgdGhhdCB0aGUgdHVydGxlIHdpbmRvdyBiZWNvbWVzIHRoZSB0b3Btb3N0IHdpbmRvdwogICB3aGVuIGxhdW5jaGVkIG9uIE9TIFguCiAKLUV4dGVuc2lvbiBNb2R1bGVzCi0tLS0tLS0tLS0tLS0tLS0tLQorLSBJc3N1ZSAjMjE4MDE6IFZhbGlkYXRlIHRoYXQgX19zaWduYXR1cmVfXyBpcyBOb25lIG9yIGFuIGluc3RhbmNlIG9mIFNpZ25hdHVyZS4KIAotLSBJc3N1ZSAjMjEyNzY6IHBvc2l4bW9kdWxlOiBEb24ndCBkZWZpbmUgVVNFX1hBVFRSUyBvbiBLRnJlZUJTRCBhbmQgdGhlIEh1cmQuCi0tIElzc3VlICMyMTIyNjogU2V0IHVwIG1vZHVsZXMgcHJvcGVybHkgaW4gUHlJbXBvcnRfRXhlY0NvZGVNb2R1bGVPYmplY3QKLSAgKGFuZCBmcmllbmRzKS4KKy0gSXNzdWUgIzIxOTIzOiBQcmV2ZW50IEF0dHJpYnV0ZUVycm9yIGluIGRpc3R1dGlscy5zeXNjb25maWcuY3VzdG9taXplX2NvbXBpbGVyCisgIGR1ZSB0byBwb3NzaWJsZSB1bmluaXRpYWxpemVkIF9jb25maWdfdmFycy4KKworLSBJc3N1ZSAjMjEzMjM6IEZpeCBodHRwLnNlcnZlciB0byBhZ2FpbiBoYW5kbGUgc2NyaXB0cyBpbiBDR0kgc3ViZGlyZWN0b3JpZXMsCisgIGJyb2tlbiBieSB0aGUgZml4IGZvciBzZWN1cml0eSBpc3N1ZSAjMTk0MzUuICBQYXRjaCBieSBaYWNoIEJ5cm5lLgorCistIElzc3VlICMyMjczMzogRml4IGZmaV9wcmVwX2FyZ3Mgbm90IHplcm8tZXh0ZW5kaW5nIGFyZ3VtZW50IHZhbHVlcyBjb3JyZWN0bHkKKyAgb24gNjQtYml0IFdpbmRvd3MuCisKKy0gSXNzdWUgIzIzMzAyOiBEZWZhdWx0IHRvIFRDUF9OT0RFTEFZPTEgdXBvbiBlc3RhYmxpc2hpbmcgYW4gSFRUUENvbm5lY3Rpb24uCisgIFJlbW92ZWQgdXNlIG9mIGhhcmQtY29kZWQgTVNTIGFzIGl0J3MgYW4gb3B0aW1pemF0aW9uIHRoYXQncyBubyBsb25nZXIgbmVlZGVkCisgIHdpdGggTmFnbGUgZGlzYWJsZWQuCiAKIElETEUKIC0tLS0KIAorLSBJc3N1ZSAjMjA1Nzc6IENvbmZpZ3VyYXRpb24gb2YgdGhlIG1heCBsaW5lIGxlbmd0aCBmb3IgdGhlIEZvcm1hdFBhcmFncmFwaAorICBleHRlbnNpb24gaGFzIGJlZW4gbW92ZWQgZnJvbSB0aGUgR2VuZXJhbCB0YWIgb2YgdGhlIElkbGUgcHJlZmVyZW5jZXMgZGlhbG9nCisgIHRvIHRoZSBGb3JtYXRQYXJhZ3JhcGggdGFiIG9mIHRoZSBDb25maWcgRXh0ZW5zaW9ucyBkaWFsb2cuCisgIFBhdGNoIGJ5IFRhbCBFaW5hdC4KKworLSBJc3N1ZSAjMTY4OTM6IFVwZGF0ZSBJZGxlIGRvYyBjaGFwdGVyIHRvIG1hdGNoIGN1cnJlbnQgSWRsZSBhbmQgYWRkIG5ldworICBpbmZvcm1hdGlvbi4KKworLSBJc3N1ZSAjMzA2ODogQWRkIElkbGUgZXh0ZW5zaW9uIGNvbmZpZ3VyYXRpb24gZGlhbG9nIHRvIE9wdGlvbnMgbWVudS4KKyAgQ2hhbmdlcyBhcmUgd3JpdHRlbiB0byBIT01FLy5pZGxlcmMvY29uZmlnLWV4dGVuc2lvbnMuY2ZnLgorICBPcmlnaW5hbCBwYXRjaCBieSBUYWwgRWluYXQuCisKKy0gSXNzdWUgIzE2MjMzOiBBIG1vZHVsZSBicm93c2VyIChGaWxlIDogQ2xhc3MgQnJvd3NlciwgQWx0K0MpIHJlcXVpcmVzIGEKKyAgZWRpdG9yIHdpbmRvdyB3aXRoIGEgZmlsZW5hbWUuICBXaGVuIENsYXNzIEJyb3dzZXIgaXMgcmVxdWVzdGVkIG90aGVyd2lzZSwKKyAgZnJvbSBhIHNoZWxsLCBvdXRwdXQgd2luZG93LCBvciAnVW50aXRsZWQnIGVkaXRvciwgSWRsZSBubyBsb25nZXIgZGlzcGxheXMKKyAgYW4gZXJyb3IgYm94LiAgSXQgbm93IHBvcHMgdXAgYW4gIE9wZW4gTW9kdWxlIGJveCAoQWx0K00pLiBJZiBhIHZhbGlkIG5hbWUKKyAgaXMgZW50ZXJlZCBhbmQgYSBtb2R1bGUgaXMgb3BlbmVkLCBhIGNvcnJlc3BvbmRpbmcgYnJvd3NlciBpcyBhbHNvIG9wZW5lZC4KKworLSBJc3N1ZSAjNDgzMjogU2F2ZSBBcyB0byB0eXBlIFB5dGhvbiBmaWxlcyBhdXRvbWF0aWNhbGx5IGFkZHMgLnB5IHRvIHRoZQorICBuYW1lIHlvdSBlbnRlciAoZXZlbiBpZiB5b3VyIHN5c3RlbSBkb2VzIG5vdCBkaXNwbGF5IGl0KS4gIFNvbWUgc3lzdGVtcworICBhdXRvbWF0aWNhbGx5IGFkZCAudHh0IHdoZW4gdHlwZSBpcyBUZXh0IGZpbGVzLgorCistIElzc3VlICMyMTk4NjogQ29kZSBvYmplY3RzIGFyZSBub3Qgbm9ybWFsbHkgcGlja2xlZCBieSB0aGUgcGlja2xlIG1vZHVsZS4KKyAgVG8gbWF0Y2ggdGhpcywgdGhleSBhcmUgbm8gbG9uZ2VyIHBpY2tsZWQgd2hlbiBydW5uaW5nIHVuZGVyIElkbGUuCisKKy0gSXNzdWUgIzE3MzkwOiBBZGp1c3QgRWRpdG9yIHdpbmRvdyB0aXRsZTsgcmVtb3ZlICdQeXRob24nLAorICBtb3ZlIHZlcnNpb24gdG8gZW5kLgorCistIElzc3VlICMxNDEwNTogSWRsZSBkZWJ1Z2dlciBicmVha3BvaW50cyBubyBsb25nZXIgZGlzYXBwZWFyCisgIHdoZW4gaW5zZXRpbmcgb3IgZGVsZXRpbmcgbGluZXMuCisKKy0gSXNzdWUgIzE3MTcyOiBUdXJ0bGVkZW1vIGNhbiBub3cgYmUgcnVuIGZyb20gSWRsZS4KKyAgQ3VycmVudGx5LCB0aGUgZW50cnkgaXMgb24gdGhlIEhlbHAgbWVudSwgYnV0IGl0IG1heSBtb3ZlIHRvIFJ1bi4KKyAgUGF0Y2ggYnkgUmFtY2hhbmRyYSBBcHQgYW5kIExpdGEgQ2hvLgorCistIElzc3VlICMyMTc2NTogQWRkIHN1cHBvcnQgZm9yIG5vbi1hc2NpaSBpZGVudGlmaWVycyB0byBIeXBlclBhcnNlci4KKworLSBJc3N1ZSAjMjE5NDA6IEFkZCB1bml0dGVzdCBmb3IgV2lkZ2V0UmVkaXJlY3Rvci4gSW5pdGlhbCBwYXRjaCBieSBTYWltYWRoYXYKKyAgSGVibGlrYXIuCisKKy0gSXNzdWUgIzE4NTkyOiBBZGQgdW5pdHRlc3QgZm9yIFNlYXJjaERpYWxvZ0Jhc2UuIFBhdGNoIGJ5IFBoaWwgV2Vic3Rlci4KKworLSBJc3N1ZSAjMjE2OTQ6IEFkZCB1bml0dGVzdCBmb3IgUGFyZW5NYXRjaC4gUGF0Y2ggYnkgU2FpbWFkaGF2IEhlYmxpa2FyLgorCistIElzc3VlICMyMTY4NjogYWRkIHVuaXR0ZXN0IGZvciBIeXBlclBhcnNlci4gT3JpZ2luYWwgcGF0Y2ggYnkgU2FpbWFkaGF2CisgIEhlYmxpa2FyLgorCistIElzc3VlICMxMjM4NzogQWRkIG1pc3NpbmcgdXBwZXIobG93ZXIpY2FzZSB2ZXJzaW9ucyBvZiBkZWZhdWx0IFdpbmRvd3Mga2V5CisgIGJpbmRpbmdzIGZvciBJZGxlIHNvIENhcHMgTG9jayBkb2VzIG5vdCBkaXNhYmxlIHRoZW0uIFBhdGNoIGJ5IFJvZ2VyIFNlcnd5LgorCistIElzc3VlICMyMTY5NTogQ2xvc2luZyBhIEZpbmQtaW4tZmlsZXMgb3V0cHV0IHdpbmRvdyB3aGlsZSB0aGUgc2VhcmNoIGlzCisgIHN0aWxsIGluIHByb2dyZXNzIG5vIGxvbmdlciBjbG9zZXMgSWRsZS4KKworLSBJc3N1ZSAjMTg5MTA6IEFkZCB1bml0dGVzdCBmb3IgdGV4dFZpZXcuIFBhdGNoIGJ5IFBoaWwgV2Vic3Rlci4KKworLSBJc3N1ZSAjMTgyOTI6IEFkZCB1bml0dGVzdCBmb3IgQXV0b0V4cGFuZC4gUGF0Y2ggYnkgU2FpaGFkaGF2IEhlYmxpa2FyLgorCistIElzc3VlICMxODQwOTogQWRkIHVuaXR0ZXN0IGZvciBBdXRvQ29tcGxldGUuIFBhdGNoIGJ5IFBoaWwgV2Vic3Rlci4KKworLSBJc3N1ZSAjMjE0Nzc6IGh0ZXN0LnB5IC0gSW1wcm92ZSBmcmFtZXdvcmssIGNvbXBsZXRlIHNldCBvZiB0ZXN0cy4KKyAgUGF0Y2hlcyBieSBTYWltYWRoYXYgSGVibGlrYXIKKworLSBJc3N1ZSAjMTgxMDQ6IEFkZCBpZGxlbGliL2lkbGVfdGVzdC9odGVzdC5weSB3aXRoIGEgZmV3IHNhbXBsZSB0ZXN0cyB0byBiZWdpbgorICBjb25zb2xpZGF0aW5nIGFuZCBpbXByb3ZpbmcgaHVtYW4tdmFsaWRhdGVkIHRlc3RzIG9mIElkbGUuIENoYW5nZSBvdGhlciBmaWxlcworICBhcyBuZWVkZWQgdG8gd29yayB3aXRoIGh0ZXN0LiAgUnVubmluZyB0aGUgbW9kdWxlIGFzIF9fbWFpbl9fIHJ1bnMgYWxsIHRlc3RzLgorCiAtIElzc3VlICMyMTEzOTogQ2hhbmdlIGRlZmF1bHQgcGFyYWdyYXBoIHdpZHRoIHRvIDcyLCB0aGUgUEVQIDggcmVjb21tZW5kYXRpb24uCiAKIC0gSXNzdWUgIzIxMjg0OiBQYXJhZ3JhcGggcmVmb3JtYXQgdGVzdCBwYXNzZXMgYWZ0ZXIgdXNlciBjaGFuZ2VzIHJlZm9ybWF0IHdpZHRoLgpAQCAtMTIwOSwxMCArMTU1OSw1MiBAQAogLSBJc3N1ZSAjMTc2NTQ6IEVuc3VyZSBJRExFIG1lbnVzIGFyZSBjdXN0b21pemVkIHByb3Blcmx5IG9uIE9TIFggZm9yCiAgIG5vbi1mcmFtZXdvcmsgYnVpbGRzIGFuZCBmb3IgYWxsIHZhcmlhbnRzIG9mIFRrLgogCistIElzc3VlICMyMzE4MDogUmVuYW1lIElETEUgIldpbmRvd3MiIG1lbnUgaXRlbSB0byAiV2luZG93Ii4KKyAgUGF0Y2ggYnkgQWwgU3dlaWdhcnQuCisKIEJ1aWxkCiAtLS0tLQogCi0tIFRoZSBXaW5kb3dzIGJ1aWxkIG5vdyBpbmNsdWRlcyBPcGVuU1NMIDEuMC4xZworLSBJc3N1ZSAjMTU1MDY6IFVzZSBzdGFuZGFyZCBQS0dfUFJPR19QS0dfQ09ORklHIGF1dG9jb25mIG1hY3JvIGluIHRoZSBjb25maWd1cmUKKyAgc2NyaXB0LgorCistIElzc3VlICMyMjkzNTogQWxsb3cgdGhlIHNzbCBtb2R1bGUgdG8gYmUgY29tcGlsZWQgaWYgb3BlbnNzbCBkb2Vzbid0IHN1cHBvcnQKKyAgU1NMIDMuCisKKy0gSXNzdWUgIzIyNTkyOiBEcm9wIHN1cHBvcnQgb2YgdGhlIEJvcmxhbmQgQyBjb21waWxlciB0byBidWlsZCBQeXRob24uIFRoZQorICBkaXN0dXRpbHMgbW9kdWxlIHN0aWxsIHN1cHBvcnRzIGl0IHRvIGJ1aWxkIGV4dGVuc2lvbnMuCisKKy0gSXNzdWUgIzIyNTkxOiBEcm9wIHN1cHBvcnQgb2YgTVMtRE9TLCBlc3BlY2lhbGx5IG9mIHRoZSBESkdQUCBjb21waWxlcgorICAoTVMtRE9TIHBvcnQgb2YgR0NDKS4KKworLSBJc3N1ZSAjMTY1Mzc6IENoZWNrIHdoZXRoZXIgc2VsZi5leHRlbnNpb25zIGlzIGVtcHR5IGluIHNldHVwLnB5LiBQYXRjaCBieQorICBKb25hdGhhbiBIb3NtZXIuCisKKy0gSXNzdWUgIzIyMzU5OiBSZW1vdmUgaW5jb3JyZWN0IHVzZXMgb2YgcmVjdXJzaXZlIG1ha2UuICBQYXRjaCBieSBKb25hcworICBXYWduZXIuCisKKy0gSXNzdWUgIzIxOTU4OiBEZWZpbmUgSEFWRV9ST1VORCB3aGVuIGJ1aWxkaW5nIHdpdGggVmlzdWFsIFN0dWRpbyAyMDEzIGFuZAorICBhYm92ZS4gIFBhdGNoIGJ5IFphY2hhcnkgVHVybmVyLgorCistIElzc3VlICMxODA5MzogdGhlIHByb2dyYW1zIHRoYXQgZW1iZWQgdGhlIENQeXRob24gcnVudGltZSBhcmUgbm93IGluIGEKKyAgc2VwYXJhdGUgIlByb2dyYW1zIiBkaXJlY3RvcnksIHJhdGhlciB0aGFuIGJlaW5nIGtlcHQgaW4gdGhlIE1vZHVsZXMKKyAgZGlyZWN0b3J5LgorCistIElzc3VlICMxNTc1OTogIm1ha2Ugc3VzcGljaW91cyIsICJtYWtlIGxpbmtjaGVjayIgYW5kICJtYWtlIGRvY3Rlc3QiIGluIERvYy8KKyAgbm93IGRpc3BsYXkgc3BlY2lhbCBtZXNzYWdlIHdoZW4gYW5kIG9ubHkgd2hlbiB0aGVyZSBhcmUgZmFpbHVyZXMuCisKKy0gSXNzdWUgIzIxMTQxOiBUaGUgV2luZG93cyBidWlsZCBwcm9jZXNzIG5vIGxvbmdlciBhdHRlbXB0cyB0byBmaW5kIFBlcmwsCisgIGluc3RlYWQgcmVseWluZyBvbiBPcGVuU1NMIHNvdXJjZSBiZWluZyBjb25maWd1cmVkIGFuZCByZWFkeSB0byBidWlsZC4gIFRoZQorICBgYFBDYnVpbGRcYnVpbGRfc3NsLnB5YGAgc2NyaXB0IGhhcyBiZWVuIHJlLXdyaXR0ZW4gYW5kIHJlLW5hbWVkIHRvCisgIGBgUENidWlsZFxwcmVwYXJlX3NzbC5weWBgLCBhbmQgdGFrZXMgY2FyZSBvZiBjb25maWd1cmluZyBPcGVuU1NMIHNvdXJjZQorICBmb3IgYm90aCAzMiBhbmQgNjQgYml0IHBsYXRmb3Jtcy4gIE9wZW5TU0wgc291cmNlcyBvYnRhaW5lZCBmcm9tCisgIHN2bi5weXRob24ub3JnIHdpbGwgYWx3YXlzIGJlIHByZS1jb25maWd1cmVkIGFuZCByZWFkeSB0byBidWlsZC4KKworLSBJc3N1ZSAjMjEwMzc6IEFkZCBhIGJ1aWxkIG9wdGlvbiB0byBlbmFibGUgQWRkcmVzc1Nhbml0aXplciBzdXBwb3J0LgorCistIElzc3VlICMxOTk2MjogVGhlIFdpbmRvd3MgYnVpbGQgcHJvY2VzcyBub3cgY3JlYXRlcyAicHl0aG9uLmJhdCIgaW4gdGhlCisgIHJvb3Qgb2YgdGhlIHNvdXJjZSB0cmVlLCB3aGljaCBwYXNzZXMgYWxsIGFyZ3VtZW50cyB0aHJvdWdoIHRvIHRoZSBtb3N0CisgIHJlY2VudGx5IGJ1aWx0IGludGVycHJldGVyLgogCiAtIElzc3VlICMyMTI4NTogUmVmYWN0b3IgYW5kIGZpeCBjdXJzZXMgY29uZmlndXJlIGNoZWNrIHRvIGFsd2F5cyBzZWFyY2gKICAgaW4gYSBuY3Vyc2VzdyBkaXJlY3RvcnkuCkBAIC0xMjIxLDEyICsxNjEzLDYwIEBACiAgIGluY2x1ZGUgZGlyZWN0b3JpZXMgaWYgdGhleSBhcmVuJ3QgYWxyZWFkeSBiZWluZyBzZWFyY2hlZC4gVGhpcyBhdm9pZHMKICAgYW4gZXhwbGljaXQgcnVudGltZSBsaWJyYXJ5IGRlcGVuZGVuY3kuCiAKKy0gSXNzdWUgIzE3ODYxOiBUb29scy9zY3JpcHRzL2dlbmVyYXRlX29wY29kZV9oLnB5IGF1dG9tYXRpY2FsbHkgcmVnZW5lcmF0ZXMKKyAgSW5jbHVkZS9vcGNvZGUuaCBmcm9tIExpYi9vcGNvZGUucHkgaWYgdGhlIGxhdGVyIGdldHMgYW55IGNoYW5nZS4KKwogLSBJc3N1ZSAjMjA2NDQ6IE9TIFggaW5zdGFsbGVyIGJ1aWxkIHN1cHBvcnQgZm9yIGRvY3VtZW50YXRpb24gYnVpbGQgY2hhbmdlcwogICBpbiAzLjQuMTogYXNzdW1lIGV4dGVybmFsbHkgc3VwcGxpZWQgc3BoaW54LWJ1aWxkIGlzIGF2YWlsYWJsZSBpbiAvdXNyL2Jpbi4KIAorLSBJc3N1ZSAjMjAwMjI6IEVsaW1pbmF0ZSB1c2Ugb2YgZGVwcmVjYXRlZCBidW5kbGVidWlsZGVyIGluIE9TIFggYnVpbGRzLgorCistIElzc3VlICMxNTk2ODogSW5jb3Jwb3JhdGVkIFRjbCwgVGssIGFuZCBUaXggYnVpbGRzIGludG8gdGhlIFdpbmRvd3MgYnVpbGQKKyAgc29sdXRpb24uCisKKy0gSXNzdWUgIzE3MDk1OiBGaXggTW9kdWxlcy9TZXR1cCAqc2hhcmVkKiBzdXBwb3J0LgorCistIElzc3VlICMyMTgxMTogQW50aWNpcGF0ZWQgZml4ZXMgdG8gc3VwcG9ydCBPUyBYIHZlcnNpb25zID4gMTAuOS4KKworLSBJc3N1ZSAjMjExNjY6IFByZXZlbnQgcG9zc2libGUgc2VnZmF1bHRzIGFuZCBvdGhlciByYW5kb20gZmFpbHVyZXMgb2YKKyAgcHl0aG9uIC0tZ2VuZXJhdGUtcG9zaXgtdmFycyBpbiBweWJ1aWxkZGlyLnR4dCBidWlsZCB0YXJnZXQuCisKKy0gSXNzdWUgIzE4MDk2OiBGaXggbGlicmFyeSBvcmRlciByZXR1cm5lZCBieSBweXRob24tY29uZmlnLgorCistIElzc3VlICMxNzIxOTogQWRkIGxpYnJhcnkgYnVpbGQgZGlyIGZvciBQeXRob24gZXh0ZW5zaW9uIGNyb3NzLWJ1aWxkcy4KKworLSBJc3N1ZSAjMjI5MTk6IFdpbmRvd3MgYnVpbGQgdXBkYXRlZCB0byBzdXBwb3J0IFZDIDE0LjAgKFZpc3VhbCBTdHVkaW8gMjAxNSksCisgIHdoaWNoIHdpbGwgYmUgdXNlZCBmb3IgdGhlIG9mZmljaWFsIHJlbGVhc2UuCisKKy0gSXNzdWUgIzIxMjM2OiBCdWlsZCBfbXNpLnB5ZCB3aXRoIGNhYmluZXQubGliIGluc3RlYWQgb2YgZmNpLmxpYgorCistIElzc3VlICMxNzEyODogVXNlIHByaXZhdGUgdmVyc2lvbiBvZiBPcGVuU1NMIGZvciBPUyBYIDEwLjUrIGluc3RhbGxlci4KKwogQyBBUEkKIC0tLS0tCiAKKy0gSXNzdWUgIzE0MjAzOiBSZW1vdmUgb2Jzb2xldGUgc3VwcG9ydCBmb3Igdmlldz09TlVMTCBpbiBQeUJ1ZmZlcl9GaWxsSW5mbygpLAorICBieXRlYXJyYXlfZ2V0YnVmZmVyKCksIGJ5dGVzaW9idWZfZ2V0YnVmZmVyKCkgYW5kIGFycmF5X2J1ZmZlcl9nZXRidWYoKS4KKyAgQWxsIGZ1bmN0aW9ucyBub3cgcmFpc2UgQnVmZmVyRXJyb3IgaW4gdGhhdCBjYXNlLgorCistIElzc3VlICMyMjQ0NTogUHlCdWZmZXJfSXNDb250aWd1b3VzKCkgbm93IGltcGxlbWVudHMgcHJlY2lzZSBjb250aWd1aXR5CisgIHRlc3RzLCBjb21wYXRpYmxlIHdpdGggTnVtUHkncyBOUFlfUkVMQVhFRF9TVFJJREVTX0NIRUNLSU5HIGNvbXBpbGF0aW9uCisgIGZsYWcuICBQcmV2aW91c2x5IHRoZSBmdW5jdGlvbiByZXBvcnRlZCBmYWxzZSBuZWdhdGl2ZXMgZm9yIGNvcm5lciBjYXNlcy4KKworLSBJc3N1ZSAjMjIwNzk6IFB5VHlwZV9SZWFkeSgpIG5vdyBjaGVja3MgdGhhdCBzdGF0aWNhbGx5IGFsbG9jYXRlZCB0eXBlIGhhcworICBubyBkeW5hbWljYWxseSBhbGxvY2F0ZWQgYmFzZXMuCisKKy0gSXNzdWUgIzIyNDUzOiBSZW1vdmVkIG5vbi1kb2N1bWVudGVkIG1hY3JvIFB5T2JqZWN0X1JFUFIoKS4KKworLSBJc3N1ZSAjMTgzOTU6IFJlbmFtZSBgYF9QeV9jaGFyMndjaGFyKClgYCB0byA6YzpmdW5jOmBQeV9EZWNvZGVMb2NhbGVgLAorICByZW5hbWUgYGBfUHlfd2NoYXIyY2hhcigpYGAgdG8gOmM6ZnVuYzpgUHlfRW5jb2RlTG9jYWxlYCwgYW5kIGRvY3VtZW50CisgIHRoZXNlIGZ1bmN0aW9ucy4KKworLSBJc3N1ZSAjMjEyMzM6IEFkZCBuZXcgQyBmdW5jdGlvbnM6IFB5TWVtX1Jhd0NhbGxvYygpLCBQeU1lbV9DYWxsb2MoKSwKKyAgUHlPYmplY3RfQ2FsbG9jKCksIF9QeU9iamVjdF9HQ19DYWxsb2MoKS4gYnl0ZXMoaW50KSBpcyBub3cgdXNpbmcKKyAgYGBjYWxsb2MoKWBgIGluc3RlYWQgb2YgYGBtYWxsb2MoKWBgIGZvciBsYXJnZSBvYmplY3RzIHdoaWNoIGlzIGZhc3RlciBhbmQKKyAgdXNlIGxlc3MgbWVtb3J5LgorCiAtIElzc3VlICMyMDk0MjogUHlJbXBvcnRfSW1wb3J0RnJvemVuTW9kdWxlT2JqZWN0KCkgbm8gbG9uZ2VyIHNldHMgX19maWxlX18gdG8KICAgbWF0Y2ggd2hhdCBpbXBvcnRsaWIgZG9lczsgdGhpcyBhZmZlY3RzIF9mcm96ZW5faW1wb3J0bGliIGFzIHdlbGwgYXMgYW55CiAgIG1vZHVsZSBsb2FkZWQgdXNpbmcgaW1wLmluaXRfZnJvemVuKCkuCkBAIC0xMjM0LDkgKzE2NzQsMjkgQEAKIERvY3VtZW50YXRpb24KIC0tLS0tLS0tLS0tLS0KIAorLSBJc3N1ZSAjMTk1NDg6IFVwZGF0ZSB0aGUgY29kZWNzIG1vZHVsZSBkb2N1bWVudGF0aW9uIHRvIGJldHRlciBjb3ZlciB0aGUKKyAgZGlzdGluY3Rpb24gYmV0d2VlbiB0ZXh0IGVuY29kaW5ncyBhbmQgb3RoZXIgY29kZWNzLCB0b2dldGhlciB3aXRoIG90aGVyCisgIGNsYXJpZmljYXRpb25zLiBQYXRjaCBieSBNYXJ0aW4gUGFudGVyLgorCistIElzc3VlICMyMjM5NDogRG9jL01ha2VmaWxlIG5vdyBzdXBwb3J0cyBgYG1ha2UgdmVudiBQWVRIT049Li4vcHl0aG9uYGAgdG8KKyAgY3JlYXRlIGEgdmVudiBmb3IgZ2VuZXJhdGluZyB0aGUgZG9jdW1lbnRhdGlvbiwgZS5nLiwKKyAgYGBtYWtlIGh0bWwgUFlUSE9OPXZlbnYvYmluL3B5dGhvbjNgYC4KKworLSBJc3N1ZSAjMjE1MTQ6IFRoZSBkb2N1bWVudGF0aW9uIG9mIHRoZSBqc29uIG1vZHVsZSBub3cgcmVmZXJzIHRvIG5ldyBKU09OIFJGQworICA3MTU5IGluc3RlYWQgb2Ygb2Jzb2xldGVkIFJGQyA0NjI3LgorCistIElzc3VlICMyMTc3NzogVGhlIGJpbmFyeSBzZXF1ZW5jZSBtZXRob2RzIG9uIGJ5dGVzIGFuZCBieXRlYXJyYXkgYXJlIG5vdworICBkb2N1bWVudGVkIGV4cGxpY2l0bHksIHJhdGhlciB0aGFuIGFzc3VtaW5nIHVzZXJzIHdpbGwgYmUgYWJsZSB0byBkZXJpdmUKKyAgdGhlIGV4cGVjdGVkIGJlaGF2aW91ciBmcm9tIHRoZSBiZWhhdmlvdXIgb2YgdGhlIGNvcnJlc3BvbmRpbmcgc3RyIG1ldGhvZHMuCisKKy0gSXNzdWUgIzY5MTY6IHVuZG9jdW1lbnQgZGVwcmVjYXRlZCBhc3luY2hhdC5maWZvIGNsYXNzLgorCiAtIElzc3VlICMxNzM4NjogRXhwYW5kZWQgZnVuY3Rpb25hbGl0eSBvZiB0aGUgYGBEb2MvbWFrZS5iYXRgYCBzY3JpcHQgdG8gbWFrZQogICBpdCBtdWNoIG1vcmUgY29tcGFyYWJsZSB0byBgYERvYy9NYWtlZmlsZWBgLgogCistIElzc3VlICMyMTMxMjogVXBkYXRlIHRoZSB0aHJlYWRfZm9vYmFyLmggdGVtcGxhdGUgZmlsZSB0byBpbmNsdWRlIG5ld2VyCisgIHRocmVhZGluZyBBUElzLiAgUGF0Y2ggYnkgSmFjayBNY0NyYWNrZW4uCisKIC0gSXNzdWUgIzIxMDQzOiBSZW1vdmUgdGhlIHJlY29tbWVuZGF0aW9uIGZvciBzcGVjaWZpYyBDQSBvcmdhbml6YXRpb25zIGFuZCB0bwogICBtZW50aW9uIHRoZSBhYmlsaXR5IHRvIGxvYWQgdGhlIE9TIGNlcnRpZmljYXRlcy4KIApAQCAtMTI1NCw2ICsxNzE0LDczIEBACiBUZXN0cwogLS0tLS0KIAorLSBJc3N1ZSAjMTg5ODI6IEFkZCB0ZXN0cyBmb3IgQ0xJIG9mIHRoZSBjYWxlbmRhciBtb2R1bGUuCisKKy0gSXNzdWUgIzE5NTQ4OiBBZGRlZCBzb21lIGFkZGl0aW9uYWwgY2hlY2tzIHRvIHRlc3RfY29kZWNzIHRvIGVuc3VyZSB0aGF0CisgIHN0YXRlbWVudHMgaW4gdGhlIHVwZGF0ZWQgZG9jdW1lbnRhdGlvbiByZW1haW4gYWNjdXJhdGUuIFBhdGNoIGJ5IE1hcnRpbgorICBQYW50ZXIuCisKKy0gSXNzdWUgIzIyODM4OiBBbGwgdGVzdF9yZSB0ZXN0cyBub3cgd29yayB3aXRoIHVuaXR0ZXN0IHRlc3QgZGlzY292ZXJ5LgorCistIElzc3VlICMyMjE3MzogVXBkYXRlIGxpYjJ0bzMgdGVzdHMgdG8gdXNlIHVuaXR0ZXN0IHRlc3QgZGlzY292ZXJ5LgorCistIElzc3VlICMxNjAwMDogQ29udmVydCB0ZXN0X2N1cnNlcyB0byB1c2UgdW5pdHRlc3QuCisKKy0gSXNzdWUgIzIxNDU2OiBTa2lwIHR3byB0ZXN0cyBpbiB0ZXN0X3VybGxpYjJuZXQucHkgaWYgX3NzbCBtb2R1bGUgbm90CisgIHByZXNlbnQuIFBhdGNoIGJ5IFJlbWkgUG9pbnRlbC4KKworLSBJc3N1ZSAjMjA3NDY6IEZpeCB0ZXN0X3BkYiB0byBydW4gaW4gcmVmbGVhayBtb2RlICgtUikuICBQYXRjaCBieSBYYXZpZXIKKyAgZGUgR2F5ZS4KKworLSBJc3N1ZSAjMjIwNjA6IHRlc3RfY3R5cGVzIGhhcyBiZWVuIHNvbWV3aGF0IGNsZWFuZWQgdXAgYW5kIHNpbXBsaWZpZWQ7IGl0CisgIG5vdyB1c2VzIHVuaXR0ZXN0IHRlc3QgZGlzY292ZXJ5IHRvIGZpbmQgaXRzIHRlc3RzLgorCistIElzc3VlICMyMjEwNDogcmVncnRlc3QucHkgbm8gbG9uZ2VyIGhvbGRzIGEgcmVmZXJlbmNlIHRvIHRoZSBzdWl0ZSBvZiB0ZXN0cworICBsb2FkZWQgZnJvbSB0ZXN0IG1vZHVsZXMgdGhhdCBkb24ndCBkZWZpbmUgdGVzdF9tYWluKCkuCisKKy0gSXNzdWUgIzIyMTExOiBBc3NvcnRlZCBjbGVhbnVwcyBpbiB0ZXN0X2ltYXBsaWIuICBQYXRjaCBieSBNaWxhbiBPYmVya2lyY2guCisKKy0gSXNzdWUgIzIyMDAyOiBBZGRlZCBgYGxvYWRfcGFja2FnZV90ZXN0c2BgIGZ1bmN0aW9uIHRvIHRlc3Quc3VwcG9ydCBhbmQgdXNlZAorICBpdCB0byBpbXBsZW1lbnQvYXVnbWVudCB0ZXN0IGRpc2NvdmVyeSBpbiB0ZXN0X2FzeW5jaW8sIHRlc3RfZW1haWwsCisgIHRlc3RfaW1wb3J0bGliLCB0ZXN0X2pzb24sIGFuZCB0ZXN0X3Rvb2xzLgorCistIElzc3VlICMyMTk3NjogRml4IHRlc3Rfc3NsIHRvIGFjY2VwdCBMaWJyZVNTTCB2ZXJzaW9uIHN0cmluZ3MuICBUaGFua3MKKyAgdG8gV2lsbGlhbSBPcnIuCisKKy0gSXNzdWUgIzIxOTE4OiBDb252ZXJ0ZWQgdGVzdF90b29scyBmcm9tIGEgbW9kdWxlIHRvIGEgcGFja2FnZSBjb250YWluaW5nCisgIHNlcGFyYXRlIHRlc3QgZmlsZXMgZm9yIGVhY2ggdGVzdGVkIHNjcmlwdC4KKworLSBJc3N1ZSAjOTU1NDogVXNlIG1vZGVybiB1bml0dGVzdCBmZWF0dXJlcyBpbiB0ZXN0X2FyZ3BhcnNlLiBJbml0aWFsIHBhdGNoIGJ5CisgIERlbnZlciBDb25leWJlYXJlIGFuZCBSYWR1IFZvaWNpbGFzLgorCistIElzc3VlICMyMDE1NTogQ2hhbmdlZCBIVFRQIG1ldGhvZCBuYW1lcyBpbiBmYWlsaW5nIHRlc3RzIGluIHRlc3RfaHR0cHNlcnZlcnMKKyAgc28gdGhhdCBwYWNrZXQgZmlsdGVyaW5nIHNvZnR3YXJlIChzcGVjaWZpY2FsbHkgV2luZG93cyBCYXNlIEZpbHRlcmluZyBFbmdpbmUpCisgIGRvZXMgbm90IGludGVyZmVyZSB3aXRoIHRoZSB0cmFuc2FjdGlvbiBzZW1hbnRpY3MgZXhwZWN0ZWQgYnkgdGhlIHRlc3RzLgorCistIElzc3VlICMxOTQ5MzogUmVmYWN0b3JlZCB0aGUgY3R5cGVzIHRlc3QgcGFja2FnZSB0byBza2lwIHRlc3RzIGV4cGxpY2l0bHkKKyAgcmF0aGVyIHRoYW4gc2lsZW50bHkuCisKKy0gSXNzdWUgIzE4NDkyOiBBbGwgcmVzb3VyY2VzIGFyZSBub3cgYWxsb3dlZCB3aGVuIHRlc3RzIGFyZSBub3QgcnVuIGJ5CisgIHJlZ3J0ZXN0LnB5LgorCistIElzc3VlICMyMTYzNDogRml4IHB5c3RvbmUgbWljcm8tYmVuY2htYXJrOiB1c2UgZmxvb3IgZGl2aXNpb24gaW5zdGVhZCBvZiB0cnVlCisgIGRpdmlzaW9uIHRvIGJlbmNobWFyayBpbnRlZ2VycyBpbnN0ZWFkIG9mIGZsb2F0aW5nIHBvaW50IG51bWJlcnMuIFNldCBweXN0b25lCisgIHZlcnNpb24gdG8gMS4yLiBQYXRjaCB3cml0dGVuIGJ5IExlbm5hcnQgUmVnZWJyby4KKworLSBJc3N1ZSAjMjE2MDU6IEFkZGVkIHRlc3RzIGZvciBUa2ludGVyIGltYWdlcy4KKworLSBJc3N1ZSAjMjE0OTM6IEFkZGVkIHRlc3QgZm9yIG50cGF0aC5leHBhbmR1c2VyKCkuICBPcmlnaW5hbCBwYXRjaCBieQorICBDbGF1ZGl1IFBvcGEuCisKKy0gSXNzdWUgIzE5OTI1OiBBZGRlZCB0ZXN0cyBmb3IgdGhlIHNwd2QgbW9kdWxlLiBPcmlnaW5hbCBwYXRjaCBieSBWYWpyYXNreSBLb2suCisKKy0gSXNzdWUgIzIxNTIyOiBBZGRlZCBUa2ludGVyIHRlc3RzIGZvciBMaXN0Ym94Lml0ZW1jb25maWd1cmUoKSwKKyAgUGFuZWRXaW5kb3cucGFuZWNvbmZpZ3VyZSgpLCBhbmQgTWVudS5lbnRyeWNvbmZpZ3VyZSgpLgorCistIElzc3VlICMxNzc1NjogRml4IHRlc3RfY29kZSB0ZXN0IHdoZW4gcnVuIGZyb20gdGhlIGluc3RhbGxlZCBsb2NhdGlvbi4KKworLSBJc3N1ZSAjMTc3NTI6IEZpeCBkaXN0dXRpbHMgdGVzdHMgd2hlbiBydW4gZnJvbSB0aGUgaW5zdGFsbGVkIGxvY2F0aW9uLgorCiAtIElzc3VlICMxODYwNDogQ29uc29saWRhdGVkIGNoZWNrcyBmb3IgR1VJIGF2YWlsYWJpbGl0eS4gIEFsbCBwbGF0Zm9ybXMgbm93CiAgIGF0IGxlYXN0IGNoZWNrIHdoZXRoZXIgVGsgY2FuIGJlIGluc3RhbnRpYXRlZCB3aGVuIHRoZSBHVUkgcmVzb3VyY2UgaXMKICAgcmVxdWVzdGVkLgpAQCAtMTI3MSw2ICsxNzk4LDggQEAKIAogLSBJc3N1ZSAjMjEwOTc6IE1vdmUgdGVzdF9uYW1lc3BhY2VfcGtncyBpbnRvIHRlc3RfaW1wb3J0bGliLgogCistIElzc3VlICMyMTUwMzogVXNlIHRlc3RfYm90aCgpIGNvbnNpc3RlbnRseSBpbiB0ZXN0X2ltcG9ydGxpYi4KKwogLSBJc3N1ZSAjMjA5Mzk6IEF2b2lkIHZhcmlvdXMgbmV0d29yayB0ZXN0IGZhaWx1cmVzIGR1ZSB0byBuZXcKICAgcmVkaXJlY3Qgb2YgaHR0cDovL3d3dy5weXRob24ub3JnLyB0byBodHRwczovL3d3dy5weXRob24ub3JnOgogICB1c2UgaHR0cDovL3d3dy5leGFtcGxlLmNvbSBpbnN0ZWFkLgpAQCAtMTI4MSw5ICsxODEwLDQxIEBACiAtIElzc3VlICMyMTA5MzogUHJldmVudCBmYWlsdXJlcyBvZiBjdHlwZXMgdGVzdF9tYWNob2xpYiBvbiBPUyBYIGlmIGEKICAgY29weSBvZiBsaWJ6IGV4aXN0cyBpbiAkSE9NRS9saWIgb3IgL3Vzci9sb2NhbC9saWIuCiAKKy0gSXNzdWUgIzIyNzcwOiBQcmV2ZW50IHNvbWUgVGsgc2VnZmF1bHRzIG9uIE9TIFggd2hlbiBydW5uaW5nIGd1aSB0ZXN0cy4KKworLSBJc3N1ZSAjMjMyMTE6IFdvcmthcm91bmQgdGVzdF9sb2dnaW5nIGZhaWx1cmUgb24gc29tZSBPUyBYIDEwLjYgc3lzdGVtcy4KKworLSBJc3N1ZSAjMjMzNDU6IFByZXZlbnQgdGVzdF9zc2wgZmFpbHVyZXMgd2l0aCBsYXJnZSBPcGVuU1NMIHBhdGNoIGxldmVsCisgIHZhbHVlcyAobGlrZSAwLjkuOHpjKS4KKwogVG9vbHMvRGVtb3MKIC0tLS0tLS0tLS0tCiAKKy0gSXNzdWUgIzIyMzE0OiBweWRvYyBub3cgd29ya3Mgd2hlbiB0aGUgTElORVMgZW52aXJvbm1lbnQgdmFyaWFibGUgaXMgc2V0LgorCistIElzc3VlICMyMjYxNTogQXJndW1lbnQgQ2xpbmljIG5vdyBzdXBwb3J0cyB0aGUgInR5cGUiIGFyZ3VtZW50IGZvciB0aGUKKyAgaW50IGNvbnZlcnRlci4gIFRoaXMgcGVybWl0cyB1c2luZyB0aGUgaW50IGNvbnZlcnRlciB3aXRoIGVudW1zIGFuZAorICB0eXBlZGVmcy4KKworLSBJc3N1ZSAjMjAwNzY6IFRoZSBtYWtlbG9jYWxlYWxpYXMucHkgc2NyaXB0IG5vIGxvbmdlciBpZ25vcmVzIFVURi04IG1hcHBpbmcuCisKKy0gSXNzdWUgIzIwMDc5OiBUaGUgbWFrZWxvY2FsZWFsaWFzLnB5IHNjcmlwdCBub3cgY2FuIHBhcnNlIHRoZSBTVVBQT1JURUQgZmlsZQorICBmcm9tIGdsaWJjIHNvdXJjZXMgYW5kIHN1cHBvcnRzIGNvbW1hbmQgbGluZSBvcHRpb25zIGZvciBzb3VyY2UgcGF0aHMuCisKKy0gSXNzdWUgIzIyMjAxOiBDb21tYW5kLWxpbmUgaW50ZXJmYWNlIG9mIHRoZSB6aXBmaWxlIG1vZHVsZSBub3cgY29ycmVjdGx5CisgIGV4dHJhY3RzIFpJUCBmaWxlcyB3aXRoIGRpcmVjdG9yeSBlbnRyaWVzLiAgUGF0Y2ggYnkgUnlhbiBXaWxzb24uCisKKy0gSXNzdWUgIzIyMTIwOiBGb3IgZnVuY3Rpb25zIHVzaW5nIGFuIHVuc2lnbmVkIGludGVnZXIgcmV0dXJuIGNvbnZlcnRlciwKKyAgQXJndW1lbnQgQ2xpbmljIG5vdyBnZW5lcmF0ZXMgYSBjYXN0IHRvIHRoYXQgdHlwZSBmb3IgdGhlIGNvbXBhcmlzb24KKyAgdG8gLTEgaW4gdGhlIGdlbmVyYXRlZCBjb2RlLiAgKFRoaXMgc3VwcmVzc2VzIGEgY29tcGlsYXRpb24gd2FybmluZy4pCisKKy0gSXNzdWUgIzE4OTc0OiBUb29scy9zY3JpcHRzL2RpZmYucHkgbm93IHVzZXMgYXJncGFyc2UgaW5zdGVhZCBvZiBvcHRwYXJzZS4KKworLSBJc3N1ZSAjMjE5MDY6IE1ha2UgVG9vbHMvc2NyaXB0cy9tZDVzdW0ucHkgd29yayBpbiBQeXRob24gMy4KKyAgUGF0Y2ggYnkgWmFjaGFyeSBXYXJlLgorCistIElzc3VlICMyMTYyOTogRml4IEFyZ3VtZW50IENsaW5pYydzICItLWNvbnZlcnRlcnMiIGZlYXR1cmUuCisKIC0gQWRkIHN1cHBvcnQgZm9yIGBgeWllbGQgZnJvbWBgIHRvIDJ0bzMuCiAKIC0gQWRkIHN1cHBvcnQgZm9yIHRoZSBQRVAgNDY1IG1hdHJpeCBtdWx0aXBsaWNhdGlvbiBvcGVyYXRvciB0byAydG8zLgpAQCAtMTI5Niw2ICsxODU3LDMxIEBACiAtIElzc3VlICMyMDUzNTogUFlUSE9OV0FSTklORyBubyBsb25nZXIgYWZmZWN0cyB0aGUgcnVuX3Rlc3RzLnB5IHNjcmlwdC4KICAgUGF0Y2ggYnkgQXJmcmV2ZXIgRnJlaHRlcyBUYWlmZXJzYXIgQXJhaGVzaXMuCiAKK1dpbmRvd3MKKy0tLS0tLS0KKworLSBJc3N1ZSAjMjMyNjA6IFVwZGF0ZSBXaW5kb3dzIGluc3RhbGxlcgorCistIFRoZSBidW5kbGVkIHZlcnNpb24gb2YgVGNsL1RrIGhhcyBiZWVuIHVwZGF0ZWQgdG8gOC42LjMuICBUaGUgbW9zdCB2aXNpYmxlCisgIHJlc3VsdCBvZiB0aGlzIGNoYW5nZSBpcyB0aGUgYWRkaXRpb24gb2YgbmV3IG5hdGl2ZSBmaWxlIGRpYWxvZ3Mgd2hlbgorICBydW5uaW5nIG9uIFdpbmRvd3MgVmlzdGEgb3IgbmV3ZXIuICBTZWUgVGNsL1RrJ3MgVElQIDQzMiBmb3IgbW9yZQorICBpbmZvcm1hdGlvbi4gIEFsc28sIHRoaXMgdmVyc2lvbiBvZiBUY2wvVGsgaW5jbHVkZXMgc3VwcG9ydCBmb3IgV2luZG93cyAxMC4KKworLSBJc3N1ZSAjMTc4OTY6IFRoZSBXaW5kb3dzIGJ1aWxkIHNjcmlwdHMgbm93IGV4cGVjdCBleHRlcm5hbCBsaWJyYXJ5IHNvdXJjZXMKKyAgdG8gYmUgaW4gYGBQQ2J1aWxkXC4uXGV4dGVybmFsc2BgIHJhdGhlciB0aGFuIGBgUENidWlsZFwuLlwuLmBgLgorCistIElzc3VlICMxNzcxNzogVGhlIFdpbmRvd3MgYnVpbGQgc2NyaXB0cyBub3cgdXNlIGEgY29weSBvZiBOQVNNIHB1bGxlZCBmcm9tCisgIHN2bi5weXRob24ub3JnIHRvIGJ1aWxkIE9wZW5TU0wuCisKKy0gSXNzdWUgIzIxOTA3OiBJbXByb3ZlZCB0aGUgYmF0Y2ggc2NyaXB0cyBwcm92aWRlZCBmb3IgYnVpbGRpbmcgUHl0aG9uLgorCistIElzc3VlICMyMjY0NDogVGhlIGJ1bmRsZWQgdmVyc2lvbiBvZiBPcGVuU1NMIGhhcyBiZWVuIHVwZGF0ZWQgdG8gMS4wLjFqLgorCistIElzc3VlICMxMDc0NzogVXNlIHZlcnNpb25lZCBsYWJlbHMgaW4gdGhlIFdpbmRvd3Mgc3RhcnQgbWVudS4KKyAgUGF0Y2ggYnkgT2xpdmUgS2lsYnVybi4KKworLSBJc3N1ZSAjMjI5ODA6IC5weWQgZmlsZXMgd2l0aCBhIHZlcnNpb24gYW5kIHBsYXRmb3JtIHRhZyAoZm9yIGV4YW1wbGUsCisgICIuY3AzNS13aW4zMi5weWQiKSB3aWxsIG5vdyBiZSBsb2FkZWQgaW4gcHJlZmVyZW5jZSB0byB0aG9zZSB3aXRob3V0IHRhZ3MuCiAKIFdoYXQncyBOZXcgaW4gUHl0aG9uIDMuNC4wPwogPT09PT09PT09PT09PT09PT09PT09PT09PT09CkBAIC01NDA5LDYgKzU5OTUsMTAgQEAKIERvY3VtZW50YXRpb24KIC0tLS0tLS0tLS0tLS0KIAorLSBJc3N1ZSAjMjMwMDY6IEltcHJvdmUgdGhlIGRvY3VtZW50YXRpb24gYW5kIGluZGV4aW5nIG9mIGRpY3QuX19taXNzaW5nX18uCisgIEFkZCBhbiBlbnRyeSBpbiB0aGUgbGFuZ3VhZ2UgZGF0YW1vZGVsIHNwZWNpYWwgbWV0aG9kcyBzZWN0aW9uLgorICBSZXZpc2UgYW5kIGluZGV4IGl0cyBkaXNjdXNzaW9uIGluIHRoZSBzdGR0eXBlcyBtYXBwaW5nL2RpY3Qgc2VjdGlvbi4KKwogLSBJc3N1ZSAjMTc3MDE6IEltcHJvdmluZyBzdHJmdGltZSBkb2N1bWVudGF0aW9uLgogCiAtIElzc3VlICMxODQ0MDogQ2xhcmlmeSB0aGF0IGBoYXNoKClgIGNhbiB0cnVuY2F0ZSB0aGUgdmFsdWUgcmV0dXJuZWQgZnJvbSBhbgpAQCAtNTU3MSw0MTQxICs2MTYxLDQgQEAKIC0gSXNzdWUgIzE4NTY5OiBUaGUgaW5zdGFsbGVyIG5vdyBhZGRzIC5weSB0byB0aGUgUEFUSEVYVCB2YXJpYWJsZSB3aGVuIGV4dGVuc2lvbnMKICAgYXJlIHJlZ2lzdGVyZWQuIFBhdGNoIGJ5IFBhdWwgTW9vcmUuCiAKLQotV2hhdCdzIE5ldyBpbiBQeXRob24gMy4zLjA/Ci09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLQotKlJlbGVhc2UgZGF0ZTogMjktU2VwLTIwMTIqCi0KLUNvcmUgYW5kIEJ1aWx0aW5zCi0tLS0tLS0tLS0tLS0tLS0tLQotCi0tIElzc3VlICMxNjA0NjogRml4IGxvYWRpbmcgc291cmNlbGVzcyBsZWdhY3kgLnB5byBmaWxlcy4KLQotLSBJc3N1ZSAjMTYwNjA6IEZpeCByZWZjb3VudGluZyBidWcgd2hlbiBgX190cnVuY19fKClgIHJldHVybnMgYW4gb2JqZWN0IHdob3NlCi0gIGBfX2ludF9fKClgIGdpdmVzIGEgbm9uLWludGVnZXIuICBQYXRjaCBieSBTZXJoaXkgU3RvcmNoYWthLgotCi1FeHRlbnNpb24gTW9kdWxlcwotLS0tLS0tLS0tLS0tLS0tLS0KLQotLSBJc3N1ZSAjMTYwMTI6IEZpeCBhIHJlZ3Jlc3Npb24gaW4gcHlleHBhdC4gVGhlIHBhcnNlcidzIGBVc2VGb3JlaWduRFREKClgCi0gIG1ldGhvZCBkb2Vzbid0IHJlcXVpcmUgYW4gYXJndW1lbnQgYWdhaW4uCi0KLQotV2hhdCdzIE5ldyBpbiBQeXRob24gMy4zLjAgUmVsZWFzZSBDYW5kaWRhdGUgMz8KLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0KLSpSZWxlYXNlIGRhdGU6IDIzLVNlcC0yMDEyKgotCi1Db3JlIGFuZCBCdWlsdGlucwotLS0tLS0tLS0tLS0tLS0tLS0KLQotLSBJc3N1ZSAjMTU5MDA6IEZpeCByZWZlcmVuY2UgbGVhayBpbiBgUHlVbmljb2RlX1RyYW5zbGF0ZUNoYXJtYXAoKWAuCi0KLS0gSXNzdWUgIzE1OTI2OiBGaXggY3Jhc2ggYWZ0ZXIgbXVsdGlwbGUgcmVpbml0aWFsaXphdGlvbnMgb2YgdGhlIGludGVycHJldGVyLgotCi0tIElzc3VlICMxNTg5NTogRml4IEZJTEUgcG9pbnRlciBsZWFrIGluIG9uZSBlcnJvciBicmFuY2ggb2YKLSAgYFB5UnVuX1NpbXBsZUZpbGVFeEZsYWdzKClgIHdoZW4gZmlsZW5hbWUgcG9pbnRzIHRvIGEgcHljL3B5byBmaWxlLCBjbG9zZWl0IGlzCi0gIGZhbHNlIGFuIGFuZCBzZXRfbWFpbl9sb2FkZXIoKSBmYWlscy4KLQotLSBGaXhlcyBmb3IgYSBmZXcgY3Jhc2ggYW5kIG1lbW9yeSBsZWFrIHJlZ3Jlc3Npb25zIGZvdW5kIGJ5IENvdmVyaXR5LgotCi1MaWJyYXJ5Ci0tLS0tLS0tCi0KLS0gSXNzdWUgIzE1ODgyOiBDaGFuZ2UgYF9kZWNpbWFsYCB0byBhY2NlcHQgYW55IGNvZWZmaWNpZW50IHR1cGxlIHdoZW4KLSAgY29uc3RydWN0aW5nIGluZmluaXRpZXMuIFRoaXMgaXMgZG9uZSBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgd2l0aAotICBkZWNpbWFsLnB5OiBJbmZpbml0eSBjb2VmZmljaWVudHMgYXJlIHVuZGVmaW5lZCBpbiBfZGVjaW1hbCAoaW4gYWNjb3JkYW5jZQotICB3aXRoIHRoZSBzcGVjaWZpY2F0aW9uKS4KLQotLSBJc3N1ZSAjMTU5MjU6IEZpeCBhIHJlZ3Jlc3Npb24gaW4gYGVtYWlsLnV0aWxgIHdoZXJlIHRoZSBgcGFyc2VkYXRlKClgIGFuZAotICBgcGFyc2VkYXRlX3R6KClgIGZ1bmN0aW9ucyBkaWQgbm90IHJldHVybiBOb25lIGFueW1vcmUgd2hlbiB0aGUgYXJndW1lbnQgY291bGQKLSAgbm90IGJlIHBhcnNlZC4KLQotRXh0ZW5zaW9uIE1vZHVsZXMKLS0tLS0tLS0tLS0tLS0tLS0tCi0KLS0gSXNzdWUgIzE1OTczOiBGaXggYSBzZWdtZW50YXRpb24gZmF1bHQgd2hlbiBjb21wYXJpbmcgZGF0ZXRpbWUgdGltZXpvbmUKLSAgb2JqZWN0cy4KLQotLSBJc3N1ZSAjMTU5Nzc6IEZpeCBtZW1vcnkgbGVhayBpbiBNb2R1bGVzL19zc2wuYyB3aGVuIHRoZSBmdW5jdGlvbgotICBfc2V0X25wbl9wcm90b2NvbHMoKSBpcyBjYWxsZWQgbXVsdGlwbGUgdGltZXMsIHRoYW5rcyB0byBEYW5pZWwgU29tbWVybWFubi4KLQotLSBJc3N1ZSAjMTU5Njk6IGBmYXVsdGhhbmRsZXJgIG1vZHVsZTogcmVuYW1lIGR1bXBfdHJhY2ViYWNrc19sYXRlcigpIHRvCi0gIGR1bXBfdHJhY2ViYWNrX2xhdGVyKCkgYW5kIGNhbmNlbF9kdW1wX3RyYWNlYmFja3NfbGF0ZXIoKSB0bwotICBjYW5jZWxfZHVtcF90cmFjZWJhY2tfbGF0ZXIoKS4KLQotLSBfZGVjaW1hbCBtb2R1bGU6IHVzZSBvbmx5IEMgODkgc3R5bGUgY29tbWVudHMuCi0KLQotV2hhdCdzIE5ldyBpbiBQeXRob24gMy4zLjAgUmVsZWFzZSBDYW5kaWRhdGUgMj8KLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0KLSpSZWxlYXNlIGRhdGU6IDA5LVNlcC0yMDEyKgotCi1Db3JlIGFuZCBCdWlsdGlucwotLS0tLS0tLS0tLS0tLS0tLS0KLQotLSBJc3N1ZSAjMTM5OTI6IFRoZSB0cmFzaGNhbiBtZWNoYW5pc20gaXMgbm93IHRocmVhZC1zYWZlLiAgVGhpcyBlbGltaW5hdGVzCi0gIHNwb3JhZGljIGNyYXNoZXMgaW4gbXVsdGktdGhyZWFkIHByb2dyYW1zIHdoZW4gc2V2ZXJhbCBsb25nIGRlYWxsb2NhdG9yIGNoYWlucwotICByYW4gY29uY3VycmVudGx5IGFuZCBpbnZvbHZlZCBzdWJjbGFzc2VzIG9mIGJ1aWx0LWluIGNvbnRhaW5lciB0eXBlcy4KLQotLSBJc3N1ZSAjMTU3ODQ6IE1vZGlmeSBgT1NFcnJvcmAuX19zdHJfXygpIHRvIGJldHRlciBkaXN0aW5ndWlzaCBiZXR3ZWVuIGVycm5vCi0gIGVycm9yIG51bWJlcnMgYW5kIFdpbmRvd3MgZXJyb3IgbnVtYmVycy4KLQotLSBJc3N1ZSAjMTU3ODE6IEZpeCB0d28gc21hbGwgcmFjZSBjb25kaXRpb25zIGluIGltcG9ydCdzIG1vZHVsZSBsb2NraW5nLgotCi1MaWJyYXJ5Ci0tLS0tLS0tCi0KLS0gSXNzdWUgIzE3MTU4OiBBZGQgJ3N5bWJvbHMnIHRvIGhlbHAoKSB3ZWxjb21lIG1lc3NhZ2U7IGNsYXJpZnkKLSAgJ21vZHVsZXMgc3BhbScgbWVzc2FnZXMuCi0KLS0gSXNzdWUgIzE1ODQ3OiBGaXggYSByZWdyZXNzaW9uIGluIGFyZ3BhcnNlLCB3aGljaCBkaWQgbm90IGFjY2VwdCB0dXBsZXMgYXMKLSAgYXJndW1lbnQgbGlzdHMgYW55bW9yZS4KLQotLSBJc3N1ZSAjMTU4Mjg6IFJlc3RvcmUgc3VwcG9ydCBmb3IgQyBleHRlbnNpb25zIGluIGBpbXAubG9hZF9tb2R1bGUoKWAuCi0KLS0gSXNzdWUgIzE1MzQwOiBGaXggaW1wb3J0aW5nIHRoZSByYW5kb20gbW9kdWxlIHdoZW4gYGAvZGV2L3VyYW5kb21gYCBjYW5ub3QgYmUKLSAgb3BlbmVkLiAgVGhpcyB3YXMgYSByZWdyZXNzaW9uIGNhdXNlZCBieSB0aGUgaGFzaCByYW5kb21pemF0aW9uIHBhdGNoLgotCi0tIElzc3VlICMxMDY1MDogRGVwcmVjYXRlIHRoZSB3YXRjaGV4cCBwYXJhbWV0ZXIgb2YgdGhlIGBEZWNpbWFsLnF1YW50aXplKClgCi0gIG1ldGhvZC4KLQotLSBJc3N1ZSAjMTU3ODU6IE1vZGlmeSBgd2luZG93LmdldF93Y2goKWAgQVBJIG9mIHRoZSBjdXJzZXMgbW9kdWxlOiByZXR1cm4gYQotICBjaGFyYWN0ZXIgZm9yIG1vc3Qga2V5cywgYW5kIGFuIGludGVnZXIgZm9yIHNwZWNpYWwga2V5cywgaW5zdGVhZCBvZiBhbHdheXMKLSAgcmV0dXJuaW5nIGFuIGludGVnZXIuIFNvIGl0IGlzIG5vdyBwb3NzaWJsZSB0byBkaXN0aW5ndWlzaCBzcGVjaWFsIGtleXMgbGlrZQotICBrZXlwYWQga2V5cy4KLQotLSBJc3N1ZSAjMTQyMjM6IEZpeCBgd2luZG93LmFkZGNoKClgIG9mIHRoZSBjdXJzZXMgbW9kdWxlIGZvciBzcGVjaWFsIGNoYXJhY3RlcnMKLSAgbGlrZSBjdXJzZXMuQUNTX0hMSU5FOiB0aGUgUHl0aG9uIGZ1bmN0aW9uIGFkZGNoKGludCkgYW5kIGFkZGNoKGJ5dGVzKSBpcyBub3cKLSAgY2FsbGluZyB0aGUgQyBmdW5jdGlvbiB3YWRkY2goKS9tdndhZGRjaCgpIChhcyBpdCB3YXMgZG9uZSBpbiBQeXRob24gMy4yKSwKLSAgaW5zdGVhZCBvZiB3YWRkX3djaCgpL212d2FkZF93Y2goKS4gVGhlIFB5dGhvbiBmdW5jdGlvbiBhZGRjaChzdHIpIGlzIHN0aWxsCi0gIGNhbGxpbmcgdGhlIEMgZnVuY3Rpb24gd2FkZF93Y2goKS9tdndhZGRfd2NoKCkgaWYgdGhlIFB5dGhvbiBjdXJzZXMgaXMgbGlua2VkCi0gIHRvIGxpYm5jdXJzZXN3LgotCi1CdWlsZAotLS0tLS0KLQotLSBJc3N1ZSAjMTU4MjI6IFJlYWxseSBlbnN1cmUgMnRvMyBncmFtbWFyIHBpY2tsZXMgYXJlIHByb3Blcmx5IGluc3RhbGxlZAotICAocmVwbGFjZXMgZml4ZXMgZm9yIElzc3VlICMxNTY0NSkuCi0KLURvY3VtZW50YXRpb24KLS0tLS0tLS0tLS0tLS0KLQotLSBJc3N1ZSAjMTU4MTQ6IFRoZSBtZW1vcnl2aWV3IGVuaGFuY2VtZW50cyBpbiAzLjMuMCBhY2NpZGVudGFsbHkgcGVybWl0dGVkIHRoZQotICBoYXNoaW5nIG9mIG11bHRpLWRpbWVuc2lvbmFsIG1lbW9ydmlld3MgYW5kIG1lbW9yeXZpZXdzIHdpdGggbXVsdGktYnl0ZSBpdGVtCi0gIGZvcm1hdHMuIFRoZSBpbnRlbmRlZCByZXN0cmljdGlvbnMgaGF2ZSBub3cgYmVlbiBkb2N1bWVudGVkIC0gdGhleSB3aWxsIGJlCi0gIGNvcnJlY3RseSBlbmZvcmNlZCBpbiAzLjMuMS4KLQotCi1XaGF0J3MgTmV3IGluIFB5dGhvbiAzLjMuMCBSZWxlYXNlIENhbmRpZGF0ZSAxPwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLQotKlJlbGVhc2UgZGF0ZTogMjUtQXVnLTIwMTIqCi0KLUNvcmUgYW5kIEJ1aWx0aW5zCi0tLS0tLS0tLS0tLS0tLS0tLQotCi0tIElzc3VlICMxNTU3MzogbWVtb3J5dmlldyBjb21wYXJpc29ucyBhcmUgbm93IHBlcmZvcm1lZCBieSB2YWx1ZSB3aXRoIGZ1bGwKLSAgc3VwcG9ydCBmb3IgYW55IHZhbGlkIHN0cnVjdCBtb2R1bGUgZm9ybWF0IGRlZmluaXRpb24uCi0KLS0gSXNzdWUgIzE1MzE2OiBXaGVuIGFuIGl0ZW0gaW4gdGhlIGZyb21saXN0IGZvciBgX19pbXBvcnRfXygpYCBkb2Vzbid0IGV4aXN0LAotICBkb24ndCByYWlzZSBhbiBlcnJvciwgYnV0IGlmIGFuIGV4Y2VwdGlvbiBpcyByYWlzZWQgYXMgcGFydCBvZiBhbiBpbXBvcnQgZG8KLSAgbGV0IHRoYXQgcHJvcGFnYXRlLgotCi0tIElzc3VlICMxNTc3ODogRW5zdXJlIHRoYXQgYGBzdHIoSW1wb3J0RXJyb3IobXNnKSlgYCByZXR1cm5zIGEgc3RyIGV2ZW4gd2hlbgotICBtc2cgaXNuJ3QgYSBzdHIuCi0KLS0gSXNzdWUgIzIwNTE6IFNvdXJjZSBmaWxlIHBlcm1pc3Npb24gYml0cyBhcmUgb25jZSBhZ2FpbiBjb3JyZWN0bHkgY29waWVkIHRvCi0gIHRoZSBjYWNoZWQgYnl0ZWNvZGUgZmlsZS4gKFRoZSBtaWdyYXRpb24gdG8gaW1wb3J0bGliIHJlaW50cm9kdWNlZCB0aGlzCi0gIHByb2JsZW0gYmVjYXVzZSB0aGVzZSB3YXMgbm8gcmVncmVzc2lvbiB0ZXN0LiBBIHRlc3QgaGFzIGJlZW4gYWRkZWQgYXMgcGFydCBvZgotICB0aGlzIHBhdGNoKQotCi0tIElzc3VlICMxNTc2MTogRml4IGNyYXNoIHdoZW4gYGBQWVRIT05FWEVDVVRBQkxFYGAgaXMgc2V0IG9uIE1hYyBPUyBYLgotCi0tIElzc3VlICMxNTcyNjogRml4IGluY29ycmVjdCBib3VuZHMgY2hlY2tpbmcgaW4gUHlTdGF0ZV9GaW5kTW9kdWxlLiAgUGF0Y2ggYnkKLSAgUm9iaW4gU2NocmVpYmVyLgotCi0tIElzc3VlICMxNTYwNDogVXBkYXRlIHVzZXMgb2YgYFB5T2JqZWN0X0lzVHJ1ZSgpYCB0byBjaGVjayBmb3IgYW5kIGhhbmRsZQotICBlcnJvcnMgY29ycmVjdGx5LiAgUGF0Y2ggYnkgU2VyaGl5IFN0b3JjaGFrYS4KLQotLSBJc3N1ZSAjMTQ4NDY6IGBpbXBvcnRsaWIuRmlsZUZpbmRlcmAgbm93IGhhbmRsZXMgdGhlIGNhc2Ugd2hlcmUgdGhlIGRpcmVjdG9yeQotICBiZWluZyBzZWFyY2hlZCBpcyByZW1vdmVkIGFmdGVyIGEgcHJldmlvdXMgaW1wb3J0IGF0dGVtcHQuCi0KLUxpYnJhcnkKLS0tLS0tLS0KLQotLSBJc3N1ZSAjMTMzNzA6IEVuc3VyZSB0aGF0IGN0eXBlcyB3b3JrcyBvbiBNYWMgT1MgWCB3aGVuIFB5dGhvbiBpcyBjb21waWxlZAotICB1c2luZyB0aGUgY2xhbmcgY29tcGlsZXIuCi0KLS0gSXNzdWUgIzEzMDcyOiBUaGUgYXJyYXkgbW9kdWxlJ3MgJ3UnIGZvcm1hdCBjb2RlIGlzIG5vdyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlCi0gIHJlbW92ZWQgaW4gUHl0aG9uIDQuMC4KLQotLSBJc3N1ZSAjMTU1NDQ6IEZpeCBEZWNpbWFsLl9fZmxvYXRfXyB0byB3b3JrIHdpdGggcGF5bG9hZC1jYXJyeWluZyBOYU5zLgotCi0tIElzc3VlICMxNTc3NjogQWxsb3cgcHl2ZW52IHRvIHdvcmsgaW4gZXhpc3RpbmcgZGlyZWN0b3J5IHdpdGggLS1jbGVhbi4KLQotLSBJc3N1ZSAjMTUyNDk6IGVtYWlsJ3MgQnl0ZXNHZW5lcmF0b3Igbm93IGNvcnJlY3RseSBtYW5nbGVzIEZyb20gbGluZXMgKHdoZW4KLSAgcmVxdWVzdGVkKSBldmVuIGlmIHRoZSBib2R5IGNvbnRhaW5zIHVuZGVjb2RhYmxlIGJ5dGVzLgotCi0tIElzc3VlICMxNTc3NzogRml4IGEgcmVmbGVhayBpbiBfcG9zaXhzdWJwcm9jZXNzLgotCi0tIElzc3VlICMjNjY1MTk0OiBVcGRhdGUgYGVtYWlsLnV0aWxzLmxvY2FsdGltZWAgdG8gdXNlIGRhdGV0aW1lLmFzdGltZXpvbmUgYW5kCi0gIGNvcnJlY3RseSBoYW5kbGUgaGlzdG9yaWMgY2hhbmdlcyBpbiBVVEMgb2Zmc2V0cy4KLQotLSBJc3N1ZSAjMTUxOTk6IEZpeCBKYXZhU2NyaXB0J3MgZGVmYXVsdCBNSU1FIHR5cGUgdG8gYXBwbGljYXRpb24vamF2YXNjcmlwdC4KLSAgUGF0Y2ggYnkgQm9odXNsYXYgS2FicmRhLgotCi0tIElzc3VlICMxMjY0MzogYGNvZGUuSW50ZXJhY3RpdmVDb25zb2xlYCBub3cgcmVzcGVjdHMgYHN5cy5leGNlcHRob29rYCB3aGVuCi0gIGRpc3BsYXlpbmcgZXhjZXB0aW9ucy4gIFBhdGNoIGJ5IEFhcm9uIElsZXMuCi0KLS0gSXNzdWUgIzEzNTc5OiBgc3RyaW5nLkZvcm1hdHRlcmAgbm93IHVuZGVyc3RhbmRzIHRoZSAnYScgY29udmVyc2lvbiBzcGVjaWZpZXIuCi0KLS0gSXNzdWUgIzE1NTk1OiBGaXggYGBzdWJwcm9jZXNzLlBvcGVuKHVuaXZlcnNhbF9uZXdsaW5lcz1UcnVlKWBgIGZvciBjZXJ0YWluCi0gIGxvY2FsZXMgKHV0Zi0xNiBhbmQgdXRmLTMyIGZhbWlseSkuIFBhdGNoIGJ5IENocmlzIEplcmRvbmVrLgotCi0tIElzc3VlICMxNTQ3NzogSW4gY21hdGggYW5kIG1hdGggbW9kdWxlcywgYWRkIHdvcmthcm91bmQgZm9yIHBsYXRmb3JtcyB3aG9zZQotICBzeXN0ZW0tc3VwcGxpZWQgbG9nMXAgZnVuY3Rpb24gZG9lc24ndCByZXNwZWN0IHNpZ25zIG9mIHplcm9zLgotCi0tIElzc3VlICMxNTcxNTogYGltcG9ydGxpYi5fX2ltcG9ydF9fKClgIHdpbGwgc2lsZW5jZSBhbiBJbXBvcnRFcnJvciB3aGVuIHRoZQotICB1c2Ugb2YgZnJvbWxpc3QgbGVhZHMgdG8gYSBmYWlsZWQgaW1wb3J0LgotCi0tIElzc3VlICMxNDY2OTogRml4IHBpY2tsaW5nIG9mIGNvbm5lY3Rpb25zIGFuZCBzb2NrZXRzIG9uIE1hYyBPUyBYIGJ5Ci0gIHNlbmRpbmcvcmVjZWl2aW5nIGFuIGFja25vd2xlZGdtZW50IGFmdGVyIGZpbGUgZGVzY3JpcHRvciB0cmFuc2Zlci4KLSAgVGVzdFBpY2tsaW5nQ29ubmVjdGlvbiBoYXMgYmVlbiByZWVuYWJsZWQgZm9yIE1hYyBPUyBYLgotCi0tIElzc3VlICMxMTA2MjogRml4IGFkZGluZyBhIG1lc3NhZ2UgZnJvbSBmaWxlIHRvIEJhYnlsIG1haWxib3guCi0KLS0gSXNzdWUgIzE1NjQ2OiBQcmV2ZW50IGVxdWl2YWxlbnQgb2YgYSBmb3JrIGJvbWIgd2hlbiB1c2luZyBgbXVsdGlwcm9jZXNzaW5nYAotICBvbiBXaW5kb3dzIHdpdGhvdXQgdGhlIGBgaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJ2BgIGlkaW9tLgotCi1JRExFCi0tLS0tCi0KLS0gSXNzdWUgIzE1Njc4OiBGaXggSURMRSBtZW51cyB3aGVuIHN0YXJ0ZWQgZnJvbSBPUyBYIGNvbW1hbmQgbGluZSAoMy4zLjBiMgotICByZWdyZXNzaW9uKS4KLQotRG9jdW1lbnRhdGlvbgotLS0tLS0tLS0tLS0tLQotCi0tIFRvdWNoZWQgdXAgdGhlIFB5dGhvbiAyIHRvIDMgcG9ydGluZyBndWlkZS4KLQotLSBJc3N1ZSAjMTQ2NzQ6IEFkZCBhIGRpc2N1c3Npb24gb2YgdGhlIGBqc29uYCBtb2R1bGUncyBzdGFuZGFyZCBjb21wbGlhbmNlLgotICBQYXRjaCBieSBDaHJpcyBSZWJlcnQuCi0KLS0gQ3JlYXRlIGEgJ0NvbmN1cnJlbnQgRXhlY3V0aW9uJyBzZWN0aW9uIGluIHRoZSBkb2NzLCBhbmQgc3BsaXQgdXAgdGhlCi0gICdPcHRpb25hbCBPcGVyYXRpbmcgU3lzdGVtIFNlcnZpY2VzJyBzZWN0aW9uIHRvIHVzZSBhIG1vcmUgdXNlci1jZW50cmljCi0gIGNsYXNzaWZpY2F0aW9uIHNjaGVtZSAoc3BsaXR0aW5nIHRoZW0gYWNyb3NzIHRoZSBuZXcgQ0Ugc2VjdGlvbiwgSVBDIGFuZCB0ZXh0Ci0gIHByb2Nlc3NpbmcpLiBPcGVyYXRpbmcgc3lzdGVtIGxpbWl0YXRpb25zIGNhbiBiZSByZWZsZWN0ZWQgd2l0aCB0aGUgU3BoaW54Ci0gIGBgOnBsYXRmb3JtOmBgIHRhZywgaXQgZG9lc24ndCBtYWtlIHNlbnNlIGFzIHBhcnQgb2YgdGhlIFRhYmxlIG9mIENvbnRlbnRzLgotCi0tIElzc3VlICM0OTY2OiBCcmluZyB0aGUgc2VxdWVuY2UgZG9jcyB1cCB0byBkYXRlIGZvciB0aGUgUHkzayB0cmFuc2l0aW9uIGFuZAotICB0aGUgbWFueSBsYW5ndWFnZSBlbmhhbmNlbWVudHMgc2luY2UgdGhleSB3ZXJlIG9yaWdpbmFsIHdyaXR0ZW4uCi0KLS0gVGhlICJwYXRoIGltcG9ydGVyIiBtaXNub21lciBoYXMgYmVlbiByZXBsYWNlZCB3aXRoIEVyaWMgU25vdydzCi0gIG1vcmUtYXdrd2FyZC1idXQtYXQtbGVhc3Qtbm90LXdyb25nIHN1Z2dlc3Rpb24gb2YgInBhdGggYmFzZWQgZmluZGVyIiBpbiB0aGUKLSAgaW1wb3J0IHN5c3RlbSByZWZlcmVuY2UgZG9jcy4KLQotLSBJc3N1ZSAjMTU2NDA6IERvY3VtZW50IGBpbXBvcnRsaWIuYWJjLkZpbmRlcmAgYXMgZGVwcmVjYXRlZC4KLQotLSBJc3N1ZSAjMTU2MzA6IEFkZCBhbiBleGFtcGxlIGZvciAiY29udGludWUiIHN0bXQgaW4gdGhlIHR1dG9yaWFsLiAgUGF0Y2ggYnkKLSAgRGFuaWVsIEVsbGlzLgotCi1UZXN0cwotLS0tLS0KLQotLSBJc3N1ZSAjMTU3NDc6IFpGUyBhbHdheXMgcmV0dXJucyBFT1BOT1RTVVBQIHdoZW4gYXR0ZW1wdGluZyB0byBzZXQgdGhlCi0gIFVGX0lNTVVUQUJMRSBmbGFnICh2aWEgZWl0aGVyIGNoZmxhZ3Mgb3IgbGNoZmxhZ3MpOyByZWZhY3RvciBhZmZlY3RlZCB0ZXN0cyBpbgotICB0ZXN0X3Bvc2l4LnB5IHRvIGFjY291bnQgZm9yIHRoaXMuCi0KLS0gSXNzdWUgIzE1Mjg1OiBSZWZhY3RvciB0aGUgYXBwcm9hY2ggZm9yIHRlc3RpbmcgY29ubmVjdCB0aW1lb3V0cyB1c2luZyB0d28KLSAgZXh0ZXJuYWwgaG9zdHMgdGhhdCBoYXZlIGJlZW4gY29uZmlndXJlZCBzcGVjaWZpY2FsbHkgZm9yIHRoaXMgdHlwZSBvZiB0ZXN0LgotCi0tIElzc3VlICMxNTc0MzogUmVtb3ZlIHRoZSBkZXByZWNhdGVkIG1ldGhvZCB1c2FnZSBpbiBgdXJsbGliYCB0ZXN0cy4gUGF0Y2ggYnkKLSAgSmVmZiBLbnVwcC4KLQotLSBJc3N1ZSAjMTU2MTU6IEFkZCBzb21lIHRlc3RzIGZvciB0aGUgYGpzb25gIG1vZHVsZSdzIGhhbmRsaW5nIG9mIGludmFsaWQgaW5wdXQKLSAgZGF0YS4gIFBhdGNoIGJ5IEt1c2hhbCBEYXMuCi0KLUJ1aWxkCi0tLS0tLQotCi0tIE91dHB1dCBsaWIgZmlsZXMgZm9yIFBHTyBidWlsZCBpbnRvIFBHTyBkaXJlY3RvcnkuCi0KLS0gUGljayB1cCAzMi1iaXQgbGF1bmNoZXIgZnJvbSBQR08gZGlyZWN0b3J5IG9uIDY0LWJpdCBQR08gYnVpbGQuCi0KLS0gRHJvcCBgYFBDXHB5dGhvbl9udC5oYGAgYXMgaXQncyBub3QgdXNlZC4gIEFkZCBpbnB1dCBkZXBlbmRlbmN5IG9uIGN1c3RvbQotICBidWlsZCBzdGVwLgotCi0tIElzc3VlICMxNTUxMTogRHJvcCBleHBsaWNpdCBkZXBlbmRlbmN5IG9uIHB5dGhvbnh5LmxpYiBmcm9tIF9kZWNpbWFsIGFtZDY0Ci0gIGNvbmZpZ3VyYXRpb24uCi0KLS0gQWRkIG1pc3NpbmcgUEdJL1BHTyBjb25maWd1cmF0aW9ucyBmb3IgcHl3bGF1bmNoZXIuCi0KLS0gSXNzdWUgIzE1NjQ1OiBFbnN1cmUgMnRvMyBncmFtbWFyIHBpY2tsZXMgYXJlIHByb3Blcmx5IGluc3RhbGxlZC4KLQotCi1XaGF0J3MgTmV3IGluIFB5dGhvbiAzLjMuMCBCZXRhIDI/Ci09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0KLSpSZWxlYXNlIGRhdGU6IDEyLUF1Zy0yMDEyKgotCi1Db3JlIGFuZCBCdWlsdGlucwotLS0tLS0tLS0tLS0tLS0tLS0KLQotLSBJc3N1ZSAjMTU1Njg6IEZpeCB0aGUgcmV0dXJuIHZhbHVlIG9mIGBgeWllbGQgZnJvbWBgIHdoZW4gU3RvcEl0ZXJhdGlvbiBpcwotICByYWlzZWQgYnkgYSBjdXN0b20gaXRlcmF0b3IuCi0KLS0gSXNzdWUgIzEzMTE5OiBgc3lzLnN0ZG91dGAgYW5kIGBzeXMuc3RkZXJyYCBhcmUgbm93IHVzaW5nICJcclxuIiBuZXdsaW5lIG9uCi0gIFdpbmRvd3MsIGFzIFB5dGhvbiAyLgotCi0tIElzc3VlICMxNTUzNDogRml4IHRoZSBmYXN0LXNlYXJjaCBmdW5jdGlvbiBmb3Igbm9uLUFTQ0lJIFVuaWNvZGUgc3RyaW5ncy4KLQotLSBJc3N1ZSAjMTU1MDg6IEZpeCB0aGUgZG9jc3RyaW5nIGZvciBgX19pbXBvcnRfXygpYCB0byBoYXZlIHRoZSBwcm9wZXIgZGVmYXVsdAotICB2YWx1ZSBvZiAwIGZvciAnbGV2ZWwnIGFuZCB0byBub3QgbWVudGlvbiBuZWdhdGl2ZSBsZXZlbHMgc2luY2UgdGhleSBhcmUgbm90Ci0gIHN1cHBvcnRlZC4KLQotLSBJc3N1ZSAjMTU0MjU6IEVsaW1pbmF0ZWQgdHJhY2ViYWNrIG5vaXNlIGZyb20gbW9yZSBzaXR1YXRpb25zIGludm9sdmluZwotICBpbXBvcnRsaWIuCi0KLS0gSXNzdWUgIzE0NTc4OiBTdXBwb3J0IG1vZHVsZXMgcmVnaXN0ZXJlZCBpbiB0aGUgV2luZG93cyByZWdpc3RyeSBhZ2Fpbi4KLQotLSBJc3N1ZSAjMTU0NjY6IFN0b3AgdXNpbmcgVFlQRV9JTlQ2NCBpbiBtYXJzaGFsLCB0byBtYWtlIGltcG9ydGxpYi5oIChhbmQgb3RoZXIKLSAgYnl0ZSBjb2RlIGZpbGVzKSBlcXVhbCBiZXR3ZWVuIDMyLWJpdCBhbmQgNjQtYml0IHN5c3RlbXMuCi0KLS0gSXNzdWUgIzE2OTIzMzU6IE1vdmUgaW5pdGlhbCBleGNlcHRpb24gYXJncyBhc3NpZ25tZW50IHRvCi0gIGBCYXNlRXhjZXB0aW9uLl9fbmV3X18oKWAgdG8gaGVscCBwaWNrbGluZyBvZiBuYWl2ZSBzdWJjbGFzc2VzLgotCi0tIElzc3VlICMxMjgzNDogRml4IGBQeUJ1ZmZlcl9Ub0NvbnRpZ3VvdXMoKWAgZm9yIG5vbi1jb250aWd1b3VzIGFycmF5cy4KLQotLSBJc3N1ZSAjMTU0NTY6IEZpeCBjb2RlIGBfX3NpemVvZl9fKClgIGFmdGVyICMxMjM5OSBjaGFuZ2UuICBQYXRjaCBieSBTZXJoaXkKLSAgU3RvcmNoYWthLgotCi0tIElzc3VlICMxNTQwNDogUmVmbGVhayBpbiBQeU1ldGhvZE9iamVjdCByZXByLgotCi0tIElzc3VlICMxNTM5NDogQW4gaXNzdWUgaW4gYFB5TW9kdWxlX0NyZWF0ZSgpYCB0aGF0IGNhdXNlZCByZWZlcmVuY2VzIHRvIGJlCi0gIGxlYWtlZCBvbiBzb21lIGVycm9yIHBhdGhzIGhhcyBiZWVuIGZpeGVkLiAgUGF0Y2ggYnkgSnVsaWEgTGF3YWxsLgotCi0tIElzc3VlICMxNTM2ODogQW4gaXNzdWUgdGhhdCBjYXVzZWQgYnl0ZWNvZGUgZ2VuZXJhdGlvbiB0byBiZSBub24tZGV0ZXJtaW5pc3RpYwotICBoYXMgYmVlbiBmaXhlZC4KLQotLSBJc3N1ZSAjMTUyMDI6IENvbnNpc3RlbnRseSB1c2UgdGhlIG5hbWUgImZvbGxvd19zeW1saW5rcyIgZm9yIG5ldyBwYXJhbWV0ZXJzCi0gIGluIG9zIGFuZCBzaHV0aWwgZnVuY3Rpb25zLgotCi0tIElzc3VlICMxNTMxNDogYGBfX21haW5fXy5fX2xvYWRlcl9fYGAgaXMgbm93IHNldCBjb3JyZWN0bHkgZHVyaW5nIGludGVycHJldGVyCi0gIHN0YXJ0dXAuCi0KLS0gSXNzdWUgIzE1MTExOiBXaGVuIGEgbW9kdWxlIGltcG9ydGVkIHVzaW5nICdmcm9tIGltcG9ydCcgaGFzIGFuIEltcG9ydEVycm9yCi0gIGluc2lkZSBpdHNlbGYsIGRvbid0IG1hc2sgdGhhdCBmYWN0IGJlaGluZCBhIGdlbmVyaWMgSW1wb3J0RXJyb3IgZm9yIHRoZQotICBtb2R1bGUgaXRzZWxmLgotCi0tIElzc3VlICMxNTI5MzogQWRkIEdDIHN1cHBvcnQgdG8gdGhlIEFTVCBiYXNlIG5vZGUgdHlwZS4KLQotLSBJc3N1ZSAjMTUyOTE6IEZpeCBhIG1lbW9yeSBsZWFrIHdoZXJlIEFTVCBub2RlcyB3aGVyZSBub3QgcHJvcGVybHkKLSAgZGVhbGxvY2F0ZWQuCi0KLS0gSXNzdWUgIzE1MTEwOiBGaXggdGhlIHRyYWNlYmFja3MgZ2VuZXJhdGVkIGJ5ICJpbXBvcnQgeHh4IiB0byBub3Qgc2hvdyB0aGUKLSAgaW1wb3J0bGliIHN0YWNrIGZyYW1lcy4KLQotLSBJc3N1ZSAjMTYzNjk6IEdsb2JhbCBQeVR5cGVPYmplY3RzIG5vdCBpbml0aWFsaXplZCB3aXRoIFB5VHlwZV9SZWFkeSguLi4pLgotCi0tIElzc3VlICMxNTAyMDogVGhlIHByb2dyYW0gbmFtZSB1c2VkIHRvIHNlYXJjaCBmb3IgUHl0aG9uJ3MgcGF0aCBpcyBub3cKLSAgInB5dGhvbjMiIHVuZGVyIFVuaXgsIG5vdCAicHl0aG9uIi4KLQotLSBJc3N1ZSAjMTU4OTc6IHppcGltcG9ydC5jIGRvZXNuJ3QgY2hlY2sgcmV0dXJuIHZhbHVlIG9mIGZzZWVrKCkuCi0gIFBhdGNoIGJ5IEZlbGlwZSBDcnV6LgotCi0tIElzc3VlICMxNTAzMzogRml4IHRoZSBleGl0IHN0YXR1cyBidWcgd2hlbiBtb2R1bGVzIGludm9rZWQgdXNpbmcgLW0gc3dpdGNoLAotICByZXR1cm4gdGhlIHByb3BlciBmYWlsdXJlIHJldHVybiB2YWx1ZSAoMSkuIFBhdGNoIGNvbnRyaWJ1dGVkIGJ5IEplZmYgS251cHAuCi0KLS0gSXNzdWUgIzE1MjI5OiBBbiBgT1NFcnJvcmAgc3ViY2xhc3Mgd2hvc2UgX19pbml0X18gZG9lc24ndCBjYWxsIGJhY2sKLSAgT1NFcnJvci5fX2luaXRfXyBjb3VsZCBwcm9kdWNlIGluY29tcGxldGUgaW5zdGFuY2VzLCBsZWFkaW5nIHRvIGNyYXNoZXMgd2hlbgotICBjYWxsaW5nIHN0cigpIG9uIHRoZW0uCi0KLS0gSXNzdWUgIzE1MzA3OiBWaXJ0dWFsIGVudmlyb25tZW50cyBub3cgdXNlIHN5bWxpbmtzIHdpdGggZnJhbWV3b3JrIGJ1aWxkcyBvbgotICBNYWMgT1MgWCwgbGlrZSBvdGhlciBQT1NJWCBidWlsZHMuCi0KLUxpYnJhcnkKLS0tLS0tLS0KLQotLSBJc3N1ZSAjMTQ1OTA6IGNvbmZpZ3BhcnNlciBub3cgY29ycmVjdGx5IHN0cmlwcyBpbmxpbmUgY29tbWVudHMgd2hlbiBkZWxpbWl0ZXIKLSAgb2NjdXJzIGVhcmxpZXIgd2l0aG91dCBwcmVjZWRpbmcgc3BhY2UuCi0KLS0gSXNzdWUgIzE1NDI0OiBBZGQgYSBgX19zaXplb2ZfXygpYCBpbXBsZW1lbnRhdGlvbiBmb3IgYXJyYXkgb2JqZWN0cy4gIFBhdGNoIGJ5Ci0gIEx1ZHdpZyBIw6RobmUuCi0KLS0gSXNzdWUgIzE1NTc2OiBBbGxvdyBleHRlbnNpb24gbW9kdWxlcyB0byBhY3QgYXMgYSBwYWNrYWdlJ3MgX19pbml0X18gbW9kdWxlLgotCi0tIElzc3VlICMxNTUwMjogSGF2ZSBgaW1wb3J0bGliLmludmFsaWRhdGVfY2FjaGVzKClgIHdvcmsgb24gYHN5cy5tZXRhX3BhdGhgCi0gIGluc3RlYWQgb2YgYHN5cy5wYXRoX2ltcG9ydGVyX2NhY2hlYC4KLQotLSBJc3N1ZSAjMTUxNjM6IFB5ZG9jIHNob3VsZG4ndCBsaXN0IF9fbG9hZGVyX18gYXMgbW9kdWxlIGRhdGEuCi0KLS0gSXNzdWUgIzE1NDcxOiBEbyBub3QgdXNlIG11dGFibGUgb2JqZWN0cyBhcyBkZWZhdWx0cyBmb3IKLSAgYGltcG9ydGxpYi5fX2ltcG9ydF9fKClgLgotCi0tIElzc3VlICMxNTU1OTogVG8gYXZvaWQgYSBwcm9ibGVtYXRpYyBmYWlsdXJlIG1vZGUgd2hlbiBwYXNzZWQgdG8gdGhlIGJ5dGVzCi0gIGNvbnN0cnVjdG9yLCBvYmplY3RzIGluIHRoZSBpcGFkZHJlc3MgbW9kdWxlIG5vIGxvbmdlciBpbXBsZW1lbnQgYF9faW5kZXhfXygpYAotICAodGhleSBzdGlsbCBpbXBsZW1lbnQgYF9faW50X18oKWAgYXMgYXBwcm9wcmlhdGUpLgotCi0tIElzc3VlICMxNTU0NjogRml4IGhhbmRsaW5nIG9mIHBhdGhvbG9naWNhbCBpbnB1dCBkYXRhIGluIHRoZSBwZWVrKCkgYW5kCi0gIHJlYWQxKCkgbWV0aG9kcyBvZiB0aGUgQloyRmlsZSwgR3ppcEZpbGUgYW5kIExaTUFGaWxlIGNsYXNzZXMuCi0KLS0gSXNzdWUgIzEyNjU1OiBJbnN0ZWFkIG9mIHJlcXVpcmluZyBhIGN1c3RvbSB0eXBlLCBgb3Muc2NoZWRfZ2V0YWZmaW5pdHkoKWAgYW5kCi0gIGBvcy5zY2hlZF9zZXRhZmZpbml0eSgpYCBub3cgdXNlIHJlZ3VsYXIgc2V0cyBvZiBpbnRlZ2VycyB0byByZXByZXNlbnQgdGhlCi0gIENQVXMgYSBwcm9jZXNzIGlzIHJlc3RyaWN0ZWQgdG8uCi0KLS0gSXNzdWUgIzE1NTM4OiBGaXggY29tcGlsYXRpb24gb2YgdGhlIGBzb2NrZXQuZ2V0bmFtZWluZm8oKWAgLwotICBgc29ja2V0LmdldGFkZHJpbmZvKClgIGVtdWxhdGlvbiBjb2RlLiAgUGF0Y2ggYnkgUGhpbGlwcCBIYWdlbWVpc3Rlci4KLQotLSBJc3N1ZSAjMTU1MTk6IFByb3Blcmx5IGV4cG9zZSBXaW5kb3dzUmVnaXN0cnlGaW5kZXIgaW4gaW1wb3J0bGliIChhbmQgdXNlIHRoZQotICBjb3JyZWN0IHRlcm0gZm9yIGl0KS4gIE9yaWdpbmFsIHBhdGNoIGJ5IEVyaWMgU25vdy4KLQotLSBJc3N1ZSAjMTU1MDI6IEJyaW5nIHRoZSBpbXBvcnRsaWIgQUJDcyBpbnRvIGxpbmUgd2l0aCB0aGUgY3VycmVudCBzdGF0ZSBvZiB0aGUKLSAgaW1wb3J0IHByb3RvY29scyBnaXZlbiBQRVAgNDIwLiAgT3JpZ2luYWwgcGF0Y2ggYnkgRXJpYyBTbm93LgotCi0tIElzc3VlICMxNTQ5OTogTGF1bmNoaW5nIGEgd2ViYnJvd3NlciBpbiBVbml4IHVzZWQgdG8gc2xlZXAgZm9yIGEgZmV3IHNlY29uZHMuCi0gIE9yaWdpbmFsIHBhdGNoIGJ5IEFudG9uIEJhcmtvdnNreS4KLQotLSBJc3N1ZSAjMTU0NjM6IFRoZSBmYXVsdGhhbmRsZXIgbW9kdWxlIHRydW5jYXRlcyBzdHJpbmdzIHRvIDUwMCBjaGFyYWN0ZXJzLAotICBpbnN0ZWFkIG9mIDEwMCwgdG8gYmUgYWJsZSB0byBkaXNwbGF5IGxvbmcgZmlsZSBwYXRocy4KLQotLSBJc3N1ZSAjNjA1NjogTWFrZSBgbXVsdGlwcm9jZXNzaW5nYCB1c2Ugc2V0YmxvY2tpbmcoVHJ1ZSkgb24gdGhlIHNvY2tldHMgaXQKLSAgdXNlcy4gIE9yaWdpbmFsIHBhdGNoIGJ5IEogRGVyZWsgV2lsc29uLgotCi0tIElzc3VlICMxNTM2NDogRml4IHN5c2NvbmZpZy5nZXRfY29uZmlnX3Zhcignc3JjZGlyJykgdG8gYmUgYW4gYWJzb2x1dGUgcGF0aC4KLQotLSBJc3N1ZSAjMTU0MTM6IGBvcy50aW1lcygpYCBoYWQgZGlzYXBwZWFyZWQgdW5kZXIgV2luZG93cy4KLQotLSBJc3N1ZSAjMTU0MDI6IEFuIGlzc3VlIGluIHRoZSBzdHJ1Y3QgbW9kdWxlIHRoYXQgY2F1c2VkIGBzeXMuZ2V0c2l6ZW9mKClgIHRvCi0gIHJldHVybiBpbmNvcnJlY3QgcmVzdWx0cyBmb3Igc3RydWN0LlN0cnVjdCBpbnN0YW5jZXMgaGFzIGJlZW4gZml4ZWQuICBJbml0aWFsCi0gIHBhdGNoIGJ5IFNlcmhpeSBTdG9yY2hha2EuCi0KLS0gSXNzdWUgIzE1MjMyOiBXaGVuIG1hbmdsZV9mcm9tIGlzIFRydWUsIGBlbWFpbC5HZW5lcmF0b3JgIG5vdyBjb3JyZWN0bHkKLSAgbWFuZ2xlcyBsaW5lcyB0aGF0IHN0YXJ0IHdpdGggJ0Zyb20gJyB0aGF0IG9jY3VyIGluIGEgTUlNRSBwcmVhbWJsZSBvcgotICBlcGlsb2d1ZS4KLQotLSBJc3N1ZSAjMTUwOTQ6IEluY29ycmVjdGx5IHBsYWNlZCAjZW5kaWYgaW4gX3RraW50ZXIuYy4gIFBhdGNoIGJ5IFNlcmhpeQotICBTdG9yY2hha2EuCi0KLS0gSXNzdWUgIzEzOTIyOiBgYXJncGFyc2VgIG5vIGxvbmdlciBpbmNvcnJlY3RseSBzdHJpcHMgJy0tJ3MgdGhhdCBhcHBlYXIgYWZ0ZXIKLSAgdGhlIGZpcnN0IG9uZS4KLQotLSBJc3N1ZSAjMTIzNTM6IGBhcmdwYXJzZWAgbm93IGNvcnJlY3RseSBoYW5kbGVzIG51bGwgYXJndW1lbnQgdmFsdWVzLgotCi0tIElzc3VlICMxMDAxNywgaXNzdWUgIzE0OTk4OiBGaXggVHlwZUVycm9yIHVzaW5nIHBwcmludCBvbiBkaWN0aW9uYXJpZXMgd2l0aAotICB1c2VyLWRlZmluZWQgdHlwZXMgYXMga2V5cyBvciBvdGhlciB1bm9yZGVyYWJsZSBrZXlzLgotCi0tIElzc3VlICMxNTM5NzogYGluc3BlY3QuZ2V0bW9kdWxlbmFtZSgpYCBpcyBub3cgYmFzZWQgZGlyZWN0bHkgb24gaW1wb3J0bGliIHZpYQotICBhIG5ldyBgaW1wb3J0bGliLm1hY2hpbmVyeS5hbGxfc3VmZml4ZXMoKWAgQVBJLgotCi0tIElzc3VlICMxNDYzNTogYHRlbG5ldGxpYmAgd2lsbCB1c2UgcG9sbCgpIHJhdGhlciB0aGFuIHNlbGVjdCgpIHdoZW4gcG9zc2libGUgdG8KLSAgYXZvaWQgZmFpbGluZyBkdWUgdG8gdGhlIHNlbGVjdCgpIGZpbGUgZGVzY3JpcHRvciBsaW1pdC4KLQotLSBJc3N1ZSAjMTUxODA6IENsYXJpZnkgcG9zaXhwYXRoLmpvaW4oKSBlcnJvciBtZXNzYWdlIHdoZW4gbWl4aW5nIHN0ciAmIGJ5dGVzLgotCi0tIElzc3VlICMxNTM0MzogcGtndXRpbCBub3cgaW5jbHVkZXMgYW4gaXRlcl9pbXBvcnRlcl9tb2R1bGVzIGltcGxlbWVudGF0aW9uIGZvcgotICBpbXBvcnRsaWIubWFjaGluZXJ5LkZpbGVGaW5kZXIgKHNpbWlsYXIgdG8gdGhlIHdheSBpdCBhbHJlYWR5IGhhbmRsZWQKLSAgemlwaW1wb3J0LnppcGltcG9ydGVyKS4KLQotLSBJc3N1ZSAjMTUzMTQ6IHJ1bnB5IG5vdyBzZXRzIF9fbWFpbl9fLl9fbG9hZGVyX18gY29ycmVjdGx5LgotCi0tIElzc3VlICMxNTM1NzogVGhlIGltcG9ydCBlbXVsYXRpb24gaW4gcGtndXRpbCBpcyBub3cgZGVwcmVjYXRlZC4gcGtndXRpbCB1c2VzCi0gIGltcG9ydGxpYiBpbnRlcm5hbGx5IHJhdGhlciB0aGFuIHRoZSBlbXVsYXRpb24uCi0KLS0gSXNzdWUgIzE1MjMzOiBQeXRob24gbm93IGd1YXJhbnRlZXMgdGhhdCBjYWxsYWJsZXMgcmVnaXN0ZXJlZCB3aXRoIHRoZSBhdGV4aXQKLSAgbW9kdWxlIHdpbGwgYmUgY2FsbGVkIGluIGEgZGV0ZXJtaW5pc3RpYyBvcmRlci4KLQotLSBJc3N1ZSAjMTUyMzg6IGBzaHV0aWwuY29weXN0YXQoKWAgbm93IGNvcGllcyBMaW51eCAiZXh0ZW5kZWQgYXR0cmlidXRlcyIuCi0KLS0gSXNzdWUgIzE1MjMwOiBydW5weS5ydW5fcGF0aCBub3cgY29ycmVjdGx5IHNldHMgX19wYWNrYWdlX18gYXMgZGVzY3JpYmVkIGluCi0gIHRoZSBkb2N1bWVudGF0aW9uLgotCi0tIElzc3VlICMxNTMxNTogU3VwcG9ydCBWUyAyMDEwIGluIGRpc3R1dGlscyBjeWd3aW5jb21waWxlci4KLQotLSBJc3N1ZSAjMTUyOTQ6IEZpeCBhIHJlZ3Jlc3Npb24gaW4gcGtndXRpbC5leHRlbmRfcGF0aCgpJ3MgaGFuZGxpbmcgb2YgbmVzdGVkCi0gIG5hbWVzcGFjZSBwYWNrYWdlcy4KLQotLSBJc3N1ZSAjMTUwNTY6IGBpbXAuY2FjaGVfZnJvbV9zb3VyY2UoKWAgYW5kIGBpbXAuc291cmNlX2Zyb21fY2FjaGUoKWAgcmFpc2UKLSAgTm90SW1wbGVtZW50ZWRFcnJvciB3aGVuIGBzeXMuaW1wbGVtZW50YXRpb24uY2FjaGVfdGFnYCBpcyBzZXQgdG8gTm9uZS4KLQotLSBJc3N1ZSAjMTUyNTY6IEdyYW1tYXRpY2FsIG1pc3Rha2UgaW4gZXhjZXB0aW9uIHJhaXNlZCBieSBgaW1wLmZpbmRfbW9kdWxlKClgLgotCi0tIElzc3VlICM1OTMxOiBgd3NnaXJlZmAgZW52aXJvbiB2YXJpYWJsZSBTRVJWRVJfU09GVFdBUkUgd2lsbCBzcGVjaWZ5IGFuCi0gIGltcGxlbWVudGF0aW9uIHNwZWNpZmljIHRlcm0gbGlrZSBDUHl0aG9uLCBKeXRob24gaW5zdGVhZCBvZiBnZW5lcmljICJQeXRob24iLgotCi0tIElzc3VlICMxMzI0ODogUmVtb3ZlIG9ic29sZXRlIGFyZ3VtZW50ICJtYXhfYnVmZmVyX3NpemUiIG9mIEJ1ZmZlcmVkV3JpdGVyIGFuZAotICBCdWZmZXJlZFJXUGFpciwgZnJvbSB0aGUgaW8gbW9kdWxlLgotCi0tIElzc3VlICMxMzI0ODogUmVtb3ZlIG9ic29sZXRlIGFyZ3VtZW50ICJ2ZXJzaW9uIiBvZiBgYXJncGFyc2UuQXJndW1lbnRQYXJzZXJgLgotCi0tIElzc3VlICMxNDgxNDogSW1wbGVtZW50IG1vcmUgY29uc2lzdGVudCBvcmRlcmluZyBhbmQgc29ydGluZyBiZWhhdmlvdXIgZm9yCi0gIGlwYWRkcmVzcyBvYmplY3RzLgotCi0tIElzc3VlICMxNDgxNDogYGlwYWRkcmVzc2AgbmV0d29yayBvYmplY3RzIGNvcnJlY3RseSByZXR1cm4gTm90SW1wbGVtZW50ZWQgd2hlbgotICBjb21wYXJlZCB0byBhcmJpdHJhcnkgb2JqZWN0cyBpbnN0ZWFkIG9mIHJhaXNpbmcgVHlwZUVycm9yLgotCi0tIElzc3VlICMxNDk5MDogQ29ycmVjdGx5IGZhaWwgd2l0aCBTeW50YXhFcnJvciBvbiBpbnZhbGlkIGVuY29kaW5nIGRlY2xhcmF0aW9uLgotCi0tIElzc3VlICMxNDgxNDogYGlwYWRkcmVzc2Agbm93IHByb3ZpZGVzIG1vcmUgaW5mb3JtYXRpdmUgZXJyb3IgbWVzc2FnZXMgd2hlbgotICBjb25zdHJ1Y3RpbmcgaW5zdGFuY2VzIGRpcmVjdGx5IChjaGFuZ2VzIHBlcm1pdHRlZCBkdXJpbmcgYmV0YSBkdWUgdG8KLSAgcHJvdmlzaW9uYWwgQVBJIHN0YXR1cykuCi0KLS0gSXNzdWUgIzE1MjQ3OiBgaW8uRmlsZUlPYCBub3cgcmFpc2VzIGFuIGVycm9yIHdoZW4gZ2l2ZW4gYSBmaWxlIGRlc2NyaXB0b3IKLSAgcG9pbnRpbmcgdG8gYSBkaXJlY3RvcnkuCi0KLS0gSXNzdWUgIzE1MjYxOiBTdG9wIG9zLnN0YXQoZmQpIGNyYXNoaW5nIG9uIFdpbmRvd3Mgd2hlbiBmZCBub3Qgb3Blbi4KLQotLSBJc3N1ZSAjMTUxNjY6IEltcGxlbWVudCBgaW1wLmdldF90YWcoKWAgdXNpbmcgYHN5cy5pbXBsZW1lbnRhdGlvbi5jYWNoZV90YWdgLgotCi0tIElzc3VlICMxNTIxMDogQ2F0Y2ggS2V5RXJyb3Igd2hlbiBgaW1wb3J0bGliLl9faW5pdF9fKClgIGNhbid0IGZpbmQKLSAgX2Zyb3plbl9pbXBvcnRsaWIgaW4gc3lzLm1vZHVsZXMsIG5vdCBJbXBvcnRFcnJvci4KLQotLSBJc3N1ZSAjMTUwMzA6IGBpbXBvcnRsaWIuYWJjLlB5UHljTG9hZGVyYCBub3cgc3VwcG9ydHMgdGhlIG5ldyBzb3VyY2Ugc2l6ZQotICBoZWFkZXIgZmllbGQgaW4gLnB5YyBmaWxlcy4KLQotLSBJc3N1ZSAjNTM0NjogUHJlc2VydmUgcGVybWlzc2lvbnMgb2YgbWJveCwgTU1ERiBhbmQgQmFieWwgbWFpbGJveCBmaWxlcyBvbgotICBmbHVzaCgpLgotCi0tIElzc3VlICMxMDU3MTogRml4IHRoZSAiLS1zaWduIiBvcHRpb24gb2YgZGlzdHV0aWxzJyB1cGxvYWQgY29tbWFuZC4gIFBhdGNoIGJ5Ci0gIEpha3ViIFdpbGsuCi0KLS0gSXNzdWUgIzk1NTk6IElmIG1lc3NhZ2VzIHdlcmUgb25seSBhZGRlZCwgYSBuZXcgZmlsZSBpcyBubyBsb25nZXIgY3JlYXRlZCBhbmQKLSAgcmVuYW1lZCBvdmVyIHRoZSBvbGQgZmlsZSB3aGVuIGZsdXNoKCkgaXMgY2FsbGVkIG9uIGFuIG1ib3gsIE1NREYgb3IgQmFieWwKLSAgbWFpbGJveC4KLQotLSBJc3N1ZSAjMTA5MjQ6IEZpeGVkIGBjcnlwdC5ta3NhbHQoKWAgdG8gdXNlIGEgUk5HIHRoYXQgaXMgc3VpdGFibGUgZm9yCi0gIGNyeXB0b2dyYXBoaWMgcHVycG9zZS4KLQotLSBJc3N1ZSAjMTUxODQ6IEVuc3VyZSBjb25zaXN0ZW50IHJlc3VsdHMgb2YgT1MgWCBjb25maWd1cmF0aW9uIHRhaWxvcmluZyBmb3IKLSAgdW5pdmVyc2FsIGJ1aWxkcyBieSBmYWN0b3Jpbmcgb3V0IGNvbW1vbiBPUyBYLXNwZWNpZmljIGN1c3RvbWl6YXRpb25zIGZyb20KLSAgc3lzY29uZmlnLCBkaXN0dXRpbHMuc3lzY29uZmlnLCBkaXN0dXRpbHMudXRpbCwgYW5kIGRpc3R1dGlscy51bml4Y2NvbXBpbGVyCi0gIGludG8gYSBuZXcgbW9kdWxlIF9vc3hfc3VwcG9ydC4KLQotQyBBUEkKLS0tLS0tCi0KLS0gSXNzdWUgIzE1NjEwOiBgUHlJbXBvcnRfSW1wb3J0TW9kdWxlRXgoKWAgbm93IHVzZXMgYSAnbGV2ZWwnIG9mIDAgaW5zdGVhZCBvZiAtMS4KLQotLSBJc3N1ZSAjMTUxNjksIGlzc3VlICMxNDU5OTogU3RyaXAgb3V0IHRoZSBDIGltcGxlbWVudGF0aW9uIG9mCi0gIGBpbXAuc291cmNlX2Zyb21fY2FjaGUoKWAgdXNlZCBieSBQeUltcG9ydF9FeGVjQ29kZU1vZHVsZVdpdGhQYXRobmFtZXMoKSBhbmQKLSAgdXNlZCB0aGUgUHl0aG9uIGNvZGUgaW5zdGVhZC4gTGVhZHMgdG8gUHlJbXBvcnRfRXhlY0NvZGVNb2R1bGVPYmplY3QoKSB0byBub3QKLSAgdHJ5IHRvIGluZmVyIHRoZSBzb3VyY2UgcGF0aCBmcm9tIHRoZSBieXRlY29kZSBwYXRoIGFzCi0gIFB5SW1wb3J0X0V4ZWNDb2RlTW9kdWxlV2l0aFBhdGhuYW1lcygpIGRvZXMuCi0KLUV4dGVuc2lvbiBNb2R1bGVzCi0tLS0tLS0tLS0tLS0tLS0tLQotCi0tIElzc3VlICM2NDkzOiBBbiBpc3N1ZSBpbiBjdHlwZXMgb24gV2luZG93cyB0aGF0IGNhdXNlZCBzdHJ1Y3R1cmUgYml0ZmllbGRzIG9mCi0gIHR5cGUgYGN0eXBlcy5jX3VpbnQzMmAgYW5kIHdpZHRoIDMyIHRvIGluY29ycmVjdGx5IGJlIHNldCBoYXMgYmVlbiBmaXhlZC4KLQotLSBJc3N1ZSAjMTUxOTQ6IFVwZGF0ZSBsaWJmZmkgdG8gdGhlIDMuMC4xMSByZWxlYXNlLgotCi1JRExFCi0tLS0tCi0KLS0gSXNzdWUgIzEzMDUyOiBGaXggSURMRSBjcmFzaGluZyB3aGVuIHJlcGxhY2Ugc3RyaW5nIGluIFNlYXJjaC9SZXBsYWNlIGRpYWxvZwotICBlbmRlZCB3aXRoIGBgXGBgLiAgUGF0Y2ggYnkgUm9nZXIgU2Vyd3kuCi0KLVRvb2xzL0RlbW9zCi0tLS0tLS0tLS0tLQotCi0tIElzc3VlICMxNTQ1ODogcHl0aG9uLWNvbmZpZyBnZXRzIGEgbmV3IG9wdGlvbiAtLWNvbmZpZ2RpciB0byBwcmludCB0aGUgJExJQlBMCi0gIHZhbHVlLgotCi0tIE1vdmUgaW1wb3J0bGliLnRlc3QuYmVuY2htYXJrIHRvIFRvb2xzL2ltcG9ydGJlbmNoLgotCi0tIElzc3VlICMxMjYwNTogVGhlIGdkYiBob29rcyBmb3IgZGVidWdnaW5nIENQeXRob24gKHdpdGhpbiBUb29scy9nZGIpIGhhdmUgYmVlbgotICBlbmhhbmNlZCB0byBzaG93IGluZm9ybWF0aW9uIG9uIG1vcmUgQyBmcmFtZXMgcmVsZXZhbnQgdG8gQ1B5dGhvbiB3aXRoaW4gdGhlCi0gICJweS1idCIgYW5kICJweS1idC1mdWxsIiBjb21tYW5kczoKLQotICAqIEMgZnJhbWVzIHRoYXQgYXJlIHdhaXRpbmcgb24gdGhlIEdJTAotICAqIEMgZnJhbWVzIHRoYXQgYXJlIGdhcmJhZ2UtY29sbGVjdGluZwotICAqIEMgZnJhbWVzIHRoYXQgYXJlIGR1ZSB0byB0aGUgaW52b2NhdGlvbiBvZiBhIFB5Q0Z1bmN0aW9uCi0KLURvY3VtZW50YXRpb24KLS0tLS0tLS0tLS0tLS0KLQotLSBJc3N1ZSAjMTUwNDE6IFVwZGF0ZSAic2VlIGFsc28iIGxpc3QgaW4gdGtpbnRlciBkb2N1bWVudGF0aW9uLgotCi0tIElzc3VlICMxNTQ0NDogVXNlIHByb3BlciBzcGVsbGluZyBmb3Igbm9uLUFTQ0lJIGNvbnRyaWJ1dG9yIG5hbWVzLiAgUGF0Y2ggYnkKLSAgU2VyaGl5IFN0b3JjaGFrYS4KLQotLSBJc3N1ZSAjMTUyOTU6IFJlb3JnYW5pemUgYW5kIHJld3JpdGUgdGhlIGRvY3VtZW50YXRpb24gb24gdGhlIGltcG9ydCBzeXN0ZW0uCi0KLS0gSXNzdWUgIzE1MjMwOiBDbGVhcmx5IGRvY3VtZW50IHNvbWUgb2YgdGhlIGxpbWl0YXRpb25zIG9mIHRoZSBydW5weSBtb2R1bGUgYW5kCi0gIG51ZGdlIHJlYWRlcnMgdG93YXJkcyBpbXBvcnRsaWIgd2hlbiBhcHByb3ByaWF0ZS4KLQotLSBJc3N1ZSAjMTUwNTM6IENvcHkgUHl0aG9uIDMuMyBpbXBvcnQgbG9jayBjaGFuZ2Ugbm90aWNlIHRvIGFsbCByZWxldmFudAotICBmdW5jdGlvbnMgaW4gaW1wIGluc3RlYWQgb2YganVzdCBhdCB0aGUgdG9wIG9mIHRoZSByZWxldmFudCBzZWN0aW9uLgotCi0tIElzc3VlICMxNTI4ODogTGluayB0byB0aGUgdGVybSAibG9hZGVyIiBpbiBub3RlcyBpbiBwa2d1dGlsIGFib3V0IGhvdyB0aGluZ3MKLSAgd29uJ3Qgd29yayBhcyBleHBlY3RlZCBpbiBQeXRob24gMy4zIGFuZCBtYXJrIHRoZSByZXF1aXNpdGUgZnVuY3Rpb25zIGFzCi0gICJjaGFuZ2VkIiBzaW5jZSB0aGV5IHdpbGwgbm8gbG9uZ2VyIHdvcmsgd2l0aCBtb2R1bGVzIGRpcmVjdGx5IGltcG9ydGVkIGJ5Ci0gIGltcG9ydCBpdHNlbGYuCi0KLS0gSXNzdWUgIzEzNTU3OiBDbGFyaWZ5IGVmZmVjdCBvZiBnaXZpbmcgdHdvIGRpZmZlcmVudCBuYW1lc3BhY2VzIHRvIGBleGVjKClgIG9yCi0gIGBleGVjZmlsZSgpYC4KLQotLSBJc3N1ZSAjMTUyNTA6IERvY3VtZW50IHRoYXQgYGZpbGVjbXAuZGlyY21wKClgIGNvbXBhcmVzIGZpbGVzIHNoYWxsb3dseS4gUGF0Y2gKLSAgY29udHJpYnV0ZWQgYnkgQ2hyaXMgSmVyZG9uZWsuCi0KLS0gSXNzdWUgIzE1NDQyOiBFeHBvc2UgdGhlIGRlZmF1bHQgbGlzdCBvZiBkaXJlY3RvcmllcyBpZ25vcmVkIGJ5Ci0gIGBmaWxlY21wLmRpcmNtcCgpYCBhcyBhIG1vZHVsZSBhdHRyaWJ1dGUsIGFuZCBleHBhbmQgdGhlIGxpc3QgdG8gbW9yZSBtb2Rlcm4KLSAgdmFsdWVzLgotCi1UZXN0cwotLS0tLS0KLQotLSBJc3N1ZSAjMTU0Njc6IE1vdmUgaGVscGVycyBmb3IgYF9fc2l6ZW9mX18oKWAgdGVzdHMgaW50byB0ZXN0X3N1cHBvcnQuICBQYXRjaAotICBieSBTZXJoaXkgU3RvcmNoYWthLgotCi0tIElzc3VlICMxNTMyMDogTWFrZSBpdGVyYXRpbmcgdGhlIGxpc3Qgb2YgdGVzdHMgdGhyZWFkLXNhZmUgd2hlbiBydW5uaW5nIHRlc3RzCi0gIGluIG11bHRpcHJvY2VzcyBtb2RlLiBQYXRjaCBieSBDaHJpcyBKZXJkb25lay4KLQotLSBJc3N1ZSAjMTUxNjg6IE1vdmUgYGltcG9ydGxpYi50ZXN0YCB0byBgdGVzdC50ZXN0X2ltcG9ydGxpYmAuCi0KLS0gSXNzdWUgIzE1MDkxOiBSZWFjdGl2YXRlIGEgdGVzdCBvbiBVTklYIHdoaWNoIHdhcyBmYWlsaW5nIHRoYW5rcyB0byBhCi0gIGZvcmdvdHRlbiBgaW1wb3J0bGliLmludmFsaWRhdGVfY2FjaGVzKClgIGNhbGwuCi0KLS0gSXNzdWUgIzE1MjMwOiBBZG9wdGVkIGEgbW9yZSBzeXN0ZW1hdGljIGFwcHJvYWNoIGluIHRoZSBydW5weSB0ZXN0cy4KLQotLSBJc3N1ZSAjMTUzMDA6IEVuc3VyZSB0aGUgdGVtcG9yYXJ5IHRlc3Qgd29ya2luZyBkaXJlY3RvcmllcyBhcmUgaW4gdGhlIHNhbWUKLSAgcGFyZW50IGZvbGRlciB3aGVuIHJ1bm5pbmcgdGVzdHMgaW4gbXVsdGlwcm9jZXNzIG1vZGUgZnJvbSBhIFB5dGhvbiBidWlsZC4KLSAgUGF0Y2ggYnkgQ2hyaXMgSmVyZG9uZWsuCi0KLS0gSXNzdWUgIzE1Mjg0OiBTa2lwIHtzZW5kLHJlY3Z9bXNnIHRlc3RzIGluIHRlc3Rfc29ja2V0IHdoZW4gSVB2NiBpcyBub3QKLSAgZW5hYmxlZC4gUGF0Y2ggYnkgQnJpYW4gQnJhemlsLgotCi0tIElzc3VlICMxNTI3NzogRml4IGEgcmVzb3VyY2UgbGVhayBpbiBzdXBwb3J0LnB5IHdoZW4gSVB2NiBpcyBkaXNhYmxlZC4gIFBhdGNoCi0gIGJ5IEJyaWFuIEJyYXppbC4KLQotQnVpbGQKLS0tLS0tCi0KLS0gSXNzdWUgIzExNzE1OiBGaXggbXVsdGlhcmNoIGRldGVjdGlvbiB3aXRob3V0IGhhdmluZyBEZWJpYW4gZGV2ZWxvcG1lbnQgdG9vbHMKLSAgKGRwa2ctZGV2KSBpbnN0YWxsZWQuCi0KLS0gSXNzdWUgIzE1MDM3OiBCdWlsZCBPUyBYIGluc3RhbGxlcnMgd2l0aCBsb2NhbCBjb3B5IG9mIG5jdXJzZXMgNS45IGxpYnJhcmllcwotICB0byBhdm9pZCBjdXJzZXMudW5nZXRfd2NoIGJ1ZyBwcmVzZW50IGluIG9sZGVyIHZlcnNpb25zIG9mIG5jdXJzZXMgc3VjaCBhcwotICB0aG9zZSBzaGlwcGVkIHdpdGggT1MgWC4KLQotLSBJc3N1ZSAjMTU1NjA6IEZpeCBidWlsZGluZyBfc3FsaXRlMyBleHRlbnNpb24gb24gT1MgWCB3aXRoIGFuIFNESy4gIEFsc28sIGZvcgotICBPUyBYIGluc3RhbGxlcnMsIGVuc3VyZSBjb25zaXN0ZW50IHNxbGl0ZTMgYmVoYXZpb3IgYW5kIGZlYXR1cmUgYXZhaWxhYmlsaXR5Ci0gIGJ5IGJ1aWxkaW5nIGEgbG9jYWwgY29weSBvZiBsaWJzcWxpdGUzIHJhdGhlciB0aGFuIGRlcGVuZGluZyBvbiB0aGUgd2lkZSByYW5nZQotICBvZiB2ZXJzaW9ucyBzdXBwbGllZCB3aXRoIHZhcmlvdXMgT1MgWCByZWxlYXNlcy4KLQotLSBJc3N1ZSAjODg0NzogRGlzYWJsZSBDT01EQVQgZm9sZGluZyBpbiBXaW5kb3dzIFBHTyBidWlsZHMuCi0KLS0gSXNzdWUgIzE0MDE4OiBGaXggT1MgWCBUY2wvVGsgZnJhbWV3b3JrIGNoZWNraW5nIHdoZW4gdXNpbmcgT1MgWCBTREtzLgotCi0tIElzc3VlICMxNjI1NjogT1MgWCBpbnN0YWxsZXIgbm93IHNldHMgY29ycmVjdCBwZXJtaXNzaW9ucyBmb3IgZG9jIGRpcmVjdG9yeS4KLQotLSBJc3N1ZSAjMTU0MzE6IEFkZCBfZnJlZXplX2ltcG9ydGxpYiBwcm9qZWN0IHRvIHJlZ2VuZXJhdGUgaW1wb3J0bGliLmggb24KLSAgV2luZG93cy4gUGF0Y2ggYnkgS3Jpc3Rqw6FuIFZhbHVyIErDs25zc29uLgotCi0tIElzc3VlICMxNDE5NzogRm9yIE9TIFggZnJhbWV3b3JrIGJ1aWxkcywgZW5zdXJlIGxpbmtzIHRvIHRoZSBzaGFyZWQgbGlicmFyeQotICBhcmUgY3JlYXRlZCB3aXRoIHRoZSBwcm9wZXIgQUJJIHN1ZmZpeC4KLQotLSBJc3N1ZSAjMTQzMzA6IEZvciBjcm9zcyBidWlsZHMsIGRvbid0IHVzZSBob3N0IHB5dGhvbiwgdXNlIGhvc3Qgc2VhcmNoIHBhdGhzCi0gIGZvciBob3N0IGNvbXBpbGVyLgotCi0tIElzc3VlICMxNTIzNTogQWxsb3cgQmVya2xleSBEQiB2ZXJzaW9ucyB1cCB0byA1LjMgdG8gYnVpbGQgdGhlIGRibSBtb2R1bGUuCi0KLS0gSXNzdWUgIzE1MjY4OiBTZWFyY2ggY3Vyc2VzLmggaW4gL3Vzci9pbmNsdWRlL25jdXJzZXN3LgotCi0KLVdoYXQncyBOZXcgaW4gUHl0aG9uIDMuMy4wIEJldGEgMT8KLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLQotKlJlbGVhc2UgZGF0ZTogMjctSnVuLTIwMTIqCi0KLUNvcmUgYW5kIEJ1aWx0aW5zCi0tLS0tLS0tLS0tLS0tLS0tLQotCi0tIEZpeCBhIChtb3N0IGxpa2VseSkgdmVyeSByYXJlIG1lbW9yeSBsZWFrIHdoZW4gY2FsbGluZyBtYWluKCkgYW5kIG5vdCBiZWluZwotICBhYmxlIHRvIGRlY29kZSBhIGNvbW1hbmQtbGluZSBhcmd1bWVudC4KLQotLSBJc3N1ZSAjMTQ4MTU6IFVzZSBQeV9zc2l6ZV90IGluc3RlYWQgb2YgbG9uZyBmb3IgdGhlIG9iamVjdCBoYXNoLCB0bwotICBwcmVzZXJ2ZSBhbGwgNjQgYml0cyBvZiBoYXNoIG9uIFdpbjY0LgotCi0tIElzc3VlICMxMjI2ODogRmlsZSByZWFkbGluZSwgcmVhZGxpbmVzIGFuZCByZWFkKCkgb3IgcmVhZGFsbCgpIG1ldGhvZHMKLSAgbm8gbG9uZ2VyIGxvc2UgZGF0YSB3aGVuIGFuIHVuZGVybHlpbmcgcmVhZCBzeXN0ZW0gY2FsbCBpcyBpbnRlcnJ1cHRlZC4KLSAgSU9FcnJvciBpcyBubyBsb25nZXIgcmFpc2VkIGR1ZSB0byBhIHJlYWQgc3lzdGVtIGNhbGwgcmV0dXJuaW5nIEVJTlRSCi0gIGZyb20gd2l0aGluIHRoZXNlIG1ldGhvZHMuCi0KLS0gSXNzdWUgIzExNjI2OiBBZGQgX1NpemVUIGZ1bmN0aW9ucyB0byBzdGFibGUgQUJJLgotCi0tIElzc3VlICMxNTE0MjogRml4IHJlZmVyZW5jZSBsZWFrIHdoZW4gZGVhbGxvY2F0aW5nIGluc3RhbmNlcyBvZiB0eXBlcwotICBjcmVhdGVkIHVzaW5nIFB5VHlwZV9Gcm9tU3BlYygpLgotCi0tIElzc3VlICMxMDA1MzogRG9uJ3QgY2xvc2UgRkRzIHdoZW4gRmlsZUlPLl9faW5pdF9fIGZhaWxzLiBMb29zZWx5IGJhc2VkIG9uCi0gIHRoZSB3b3JrIGJ5IEhpcm9rYXp1IFlhbWFtb3RvLgotCi0tIElzc3VlICMxNTA5NjogUmVtb3ZlZCBzdXBwb3J0IGZvciB1cicnIGFzIHRoZSByYXcgbm90YXRpb24gaXNuJ3QKLSAgY29tcGF0aWJsZSB3aXRoIFB5dGhvbiAyLngncyByYXcgdW5pY29kZSBzdHJpbmdzLgotCi0tIElzc3VlICMxMzc4MzogR2VuZXJhdG9yIG9iamVjdHMgbm93IHVzZSB0aGUgaWRlbnRpZmllciBBUElzIGludGVybmFsbHkKLQotLSBJc3N1ZSAjMTQ4NzQ6IFJlc3RvcmUgY2hhcm1hcCBkZWNvZGluZyBzcGVlZCB0byBwcmUtUEVQIDM5MyBsZXZlbHMuCi0gIFBhdGNoIGJ5IFNlcmhpeSBTdG9yY2hha2EuCi0KLS0gSXNzdWUgIzE1MDI2OiB1dGYtMTYgZW5jb2RpbmcgaXMgbm93IHNpZ25pZmljYW50bHkgZmFzdGVyICh1cCB0byAxMHgpLgotICBQYXRjaCBieSBTZXJoaXkgU3RvcmNoYWthLgotCi0tIElzc3VlICMxMTAyMjogb3BlbigpIGFuZCBpby5UZXh0SU9XcmFwcGVyIGFyZSBub3cgY2FsbGluZwotICBsb2NhbGUuZ2V0cHJlZmVycmVkZW5jb2RpbmcoRmFsc2UpIGluc3RlYWQgb2YgbG9jYWxlLmdldHByZWZlcnJlZGVuY29kaW5nKCkKLSAgaW4gdGV4dCBtb2RlIGlmIHRoZSBlbmNvZGluZyBpcyBub3Qgc3BlY2lmaWVkLiBEb24ndCBjaGFuZ2UgdGVtcG9yYXJ5IHRoZQotICBsb2NhbGUgZW5jb2RpbmcgdXNpbmcgbG9jYWxlLnNldGxvY2FsZSgpLCB1c2UgdGhlIGN1cnJlbnQgbG9jYWxlIGVuY29kaW5nCi0gIGluc3RlYWQgb2YgdGhlIHVzZXIgcHJlZmVycmVkIGVuY29kaW5nLgotCi0tIElzc3VlICMxNDY3MzogQWRkIEVyaWMgU25vdydzIHN5cy5pbXBsZW1lbnRhdGlvbiBpbXBsZW1lbnRhdGlvbi4KLQotLSBJc3N1ZSAjMTUwMzg6IE9wdGltaXplIHB5dGhvbiBMb2NrcyBvbiBXaW5kb3dzLgotCi1MaWJyYXJ5Ci0tLS0tLS0tCi0KLS0gSXNzdWUgIzEyMjg4OiBDb25zaWRlciAnMCcgYW5kICcwLjAnIGFzIHZhbGlkIGluaXRpYWx2YWx1ZQotICBmb3IgdGtpbnRlciBTaW1wbGVEaWFsb2cuCi0KLS0gSXNzdWUgIzE1NTEyOiBBZGQgYSBfX3NpemVvZl9fIGltcGxlbWVudGF0aW9uIGZvciBwYXJzZXIuCi0gIFBhdGNoIGJ5IFNlcmhpeSBTdG9yY2hha2EuCi0KLS0gSXNzdWUgIzE1NDY5OiBBZGQgYSBfX3NpemVvZl9fIGltcGxlbWVudGF0aW9uIGZvciBkZXF1ZSBvYmplY3RzLgotICBQYXRjaCBieSBTZXJoaXkgU3RvcmNoYWthLgotCi0tIElzc3VlICMxNTQ4OTogQWRkIGEgX19zaXplb2ZfXyBpbXBsZW1lbnRhdGlvbiBmb3IgQnl0ZXNJTyBvYmplY3RzLgotICBQYXRjaCBieSBTZXJoaXkgU3RvcmNoYWthLgotCi0tIElzc3VlICMxNTQ4NzogQWRkIGEgX19zaXplb2ZfXyBpbXBsZW1lbnRhdGlvbiBmb3IgYnVmZmVyZWQgSS9PIG9iamVjdHMuCi0gIFBhdGNoIGJ5IFNlcmhpeSBTdG9yY2hha2EuCi0KLS0gSXNzdWUgIzE1NTE0OiBDb3JyZWN0IF9fc2l6ZW9mX18gc3VwcG9ydCBmb3IgY3B1X3NldC4KLSAgUGF0Y2ggYnkgU2VyaGl5IFN0b3JjaGFrYS4KLQotLSBJc3N1ZSAjMTUxNzc6IEFkZGVkIGRpcl9mZCBwYXJhbWV0ZXIgdG8gb3MuZndhbGsoKS4KLQotLSBJc3N1ZSAjMTUwNjE6IFJlLWltcGxlbWVudGVkIGhtYWMuY29tcGFyZV9kaWdlc3QoKSBpbiBDIHRvIHByZXZlbnQgZnVydGhlcgotICB0aW1pbmcgYW5hbHlzaXMgYW5kIHRvIHN1cHBvcnQgYWxsIGJ1ZmZlciBwcm90b2NvbCBhd2FyZSBvYmplY3RzIGFzIHdlbGwgYXMKLSAgQVNDSUkgb25seSBzdHIgaW5zdGFuY2VzIHNhZmVseS4KLQotLSBJc3N1ZSAjMTUxNjQ6IENoYW5nZSByZXR1cm4gdmFsdWUgb2YgcGxhdGZvcm0udW5hbWUoKSBmcm9tIGEKLSAgcGxhaW4gdHVwbGUgdG8gYSBjb2xsZWN0aW9ucy5uYW1lZHR1cGxlLgotCi0tIFN1cHBvcnQgTWFnZWlhIExpbnV4IGluIHRoZSBwbGF0Zm9ybSBtb2R1bGUuCi0KLS0gSXNzdWUgIzExNjc4OiBTdXBwb3J0IEFyY2ggbGludXggaW4gdGhlIHBsYXRmb3JtIG1vZHVsZS4KLQotLSBJc3N1ZSAjMTUxMTg6IENoYW5nZSByZXR1cm4gdmFsdWUgb2Ygb3MudW5hbWUoKSBhbmQgb3MudGltZXMoKSBmcm9tCi0gIHBsYWluIHR1cGxlcyB0byBpbW11dGFibGUgaXRlcmFibGUgb2JqZWN0cyB3aXRoIG5hbWVkIGF0dHJpYnV0ZXMKLSAgKHN0cnVjdHNlcSBvYmplY3RzKS4KLQotLSBTcGVlZCB1cCBfZGVjaW1hbCBieSBhbm90aGVyIDEwLTE1JSBieSBjYWNoaW5nIHRoZSB0aHJlYWQgbG9jYWwgY29udGV4dAotICB0aGF0IHdhcyBsYXN0IGFjY2Vzc2VkLiBJbiB0aGUgcGkgYmVuY2htYXJrICg2NC1iaXQgcGxhdGZvcm0sIHByZWM9OSksCi0gIF9kZWNpbWFsIGlzIG5vdyBvbmx5IDEuNXggc2xvd2VyIHRoYW4gZmxvYXQuCi0KLS0gUmVtb3ZlIHRoZSBwYWNrYWdpbmcgbW9kdWxlLCB3aGljaCBpcyBub3QgcmVhZHkgZm9yIHByaW1lIHRpbWUuCi0KLS0gSXNzdWUgIzE1MTU0OiBBZGQgImRpcl9mZCIgcGFyYW1ldGVyIHRvIG9zLnJtZGlyLCByZW1vdmUgInJtZGlyIgotICBwYXJhbWV0ZXIgZnJvbSBvcy5yZW1vdmUgLyBvcy51bmxpbmsuCi0KLS0gSXNzdWUgIzQ0ODk6IEFkZCBhIHNodXRpbC5ybXRyZWUgdGhhdCBpc24ndCBzdXNjZXB0aWJsZSB0byBzeW1saW5rIGF0dGFja3MuCi0gIEl0IGlzIHVzZWQgYXV0b21hdGljYWxseSBvbiBwbGF0Zm9ybXMgc3VwcG9ydGluZyB0aGUgbmVjZXNzYXJ5IG9zLm9wZW5hdCgpCi0gIGFuZCBvcy51bmxpbmthdCgpIGZ1bmN0aW9ucy4gTWFpbiBjb2RlIGJ5IE1hcnRpbiB2b24gTMO2d2lzLgotCi0tIElzc3VlICMxNTE1NjogSFRNTFBhcnNlciBub3cgdXNlcyB0aGUgbmV3ICJodG1sLmVudGl0aWVzLmh0bWw1IiBkaWN0aW9uYXJ5LgotCi0tIElzc3VlICMxMTExMzogYWRkIGEgbmV3ICJodG1sNSIgZGljdGlvbmFyeSBjb250YWluaW5nIHRoZSBuYW1lZCBjaGFyYWN0ZXIKLSAgcmVmZXJlbmNlcyBkZWZpbmVkIGJ5IHRoZSBIVE1MNSBzdGFuZGFyZCBhbmQgdGhlIGVxdWl2YWxlbnQgVW5pY29kZQotICBjaGFyYWN0ZXIocykgdG8gdGhlIGh0bWwuZW50aXRpZXMgbW9kdWxlLgotCi0tIElzc3VlICMxNTExNDogdGhlIHN0cmljdCBtb2RlIG9mIEhUTUxQYXJzZXIgYW5kIHRoZSBIVE1MUGFyc2VFcnJvciBleGNlcHRpb24KLSAgYXJlIGRlcHJlY2F0ZWQgbm93IHRoYXQgdGhlIHBhcnNlciBpcyBhYmxlIHRvIHBhcnNlIGludmFsaWQgbWFya3VwLgotCi0tIElzc3VlICMzNjY1OiBcdSBhbmQgXFUgZXNjYXBlcyBhcmUgbm93IHN1cHBvcnRlZCBpbiB1bmljb2RlIHJlZ3VsYXIKLSAgZXhwcmVzc2lvbnMuICBQYXRjaCBieSBTZXJoaXkgU3RvcmNoYWthLgotCi0tIElzc3VlICMxNTE1MzogQWRkZWQgaW5zcGVjdC5nZXRnZW5lcmF0b3Jsb2NhbHMgdG8gc2ltcGxpZnkgd2hpdGUgYm94Ci0gIHRlc3Rpbmcgb2YgZ2VuZXJhdG9yIHN0YXRlIHVwZGF0ZXMKLQotLSBJc3N1ZSAjMTMwNjI6IEFkZGVkIGluc3BlY3QuZ2V0Y2xvc3VyZXZhcnMgdG8gc2ltcGxpZnkgdGVzdGluZyBzdGF0ZWZ1bAotICBjbG9zdXJlcwotCi0tIElzc3VlICMxMTAyNDogRml4ZXMgYW5kIGFkZGl0aW9uYWwgdGVzdHMgZm9yIFRpbWUySW50ZXJuYWxkYXRlLgotCi0tIElzc3VlICMxNDYyNjogTGFyZ2UgcmVmYWN0b3Jpbmcgb2YgZnVuY3Rpb25zIC8gcGFyYW1ldGVycyBpbiB0aGUgb3MgbW9kdWxlLgotICBNYW55IGZ1bmN0aW9ucyBub3cgc3VwcG9ydCAiZGlyX2ZkIiBhbmQgImZvbGxvd19zeW1saW5rcyIgcGFyYW1ldGVyczsKLSAgc29tZSBhbHNvIHN1cHBvcnQgYWNjZXB0aW5nIGFuIG9wZW4gZmlsZSBkZXNjcmlwdG9yIGluIHBsYWNlIG9mIGEgcGF0aAotICBzdHJpbmcuICBBZGRlZCBvcy5zdXBwb3J0XyogY29sbGVjdGlvbnMgYXMgTEJZTCBoZWxwZXJzLiAgUmVtb3ZlZCBtYW55Ci0gIGZ1bmN0aW9ucyBvbmx5IHByZXZpb3VzbHkgc2VlbiBpbiAzLjMgYWxwaGEgcmVsZWFzZXMgKG9mdGVuIHN0YXJ0aW5nIHdpdGgKLSAgImYiIG9yICJsIiwgb3IgZW5kaW5nIHdpdGggImF0IikuICBPcmlnaW5hbGx5IHN1Z2dlc3RlZCBieSBTZXJoaXkgU3RvcmNoYWthOwotICBpbXBsZW1lbnRlZCBieSBMYXJyeSBIYXN0aW5ncy4KLQotLSBJc3N1ZSAjMTUwMDg6IEltcGxlbWVudCBQRVAgMzYyICJTaWduYXR1cmUgT2JqZWN0cyIuCi0gIFBhdGNoIGJ5IFl1cnkgU2VsaXZhbm92LgotCi0tIElzc3VlOiAjMTUxMzg6IGJhc2U2NC51cmxzYWZlX3tlbixkZX1jb2RlKCkgYXJlIG5vdyAzLTR4IGZhc3Rlci4KLQotLSBJc3N1ZSAjNDQ0NTgyOiBBZGQgc2h1dGlsLndoaWNoLCBmb3IgZmluZGluZyBwcm9ncmFtcyBvbiB0aGUgc3lzdGVtIHBhdGguCi0gIE9yaWdpbmFsIHBhdGNoIGJ5IEVyaWsgRGVtYWluZSwgd2l0aCBsYXRlciBpdGVyYXRpb25zIGJ5IEphbiBLaWxsaWFuCi0gIGFuZCBCcmlhbiBDdXJ0aW4uCi0KLS0gSXNzdWUgIzE0ODM3OiBTU0wgZXJyb3JzIG5vdyBoYXZlIGBgbGlicmFyeWBgIGFuZCBgYHJlYXNvbmBgIGF0dHJpYnV0ZXMKLSAgZGVzY3JpYmluZyBwcmVjaXNlbHkgd2hhdCBoYXBwZW5lZCBhbmQgaW4gd2hpY2ggT3BlblNTTCBzdWJtb2R1bGUuICBUaGUKLSAgc3RyKCkgb2YgYSBTU0xFcnJvciBpcyBhbHNvIGVuaGFuY2VkIGFjY29yZGluZ2x5LgotCi0tIElzc3VlICM5NTI3OiBkYXRldGltZS5hc3RpbWV6b25lKCkgbWV0aG9kIHdpbGwgbm93IHN1cHBseSBhIGNsYXNzCi0gIHRpbWV6b25lIGluc3RhbmNlIGNvcnJlc3BvbmRpbmcgdG8gdGhlIHN5c3RlbSBsb2NhbCB0aW1lem9uZSB3aGVuCi0gIGNhbGxlZCB3aXRoIG5vIGFyZ3VtZW50cy4KLQotLSBJc3N1ZSAjMTQ2NTM6IGVtYWlsLnV0aWxzLm1rdGltZV90eigpIG5vIGxvbmdlciByZWxpZXMgb24gc3lzdGVtCi0gIG1rdGltZSgpIHdoZW4gdGltZXpvbmUgb2ZmZXN0IGlzIHN1cHBsaWVkLgotCi0tIElzc3VlICMxNDY4NDogemxpYi5jb21wcmVzc29iaigpIGFuZCB6bGliLmRlY29tcHJlc3NvYmooKSBub3cgc3VwcG9ydCB0aGUgdXNlCi0gIG9mIHByZWRlZmluZWQgY29tcHJlc3Npb24gZGljdGlvbmFyaWVzLiBPcmlnaW5hbCBwYXRjaCBieSBTYW0gUnVzaGluZy4KLQotLSBGaXggR3ppcEZpbGUncyBoYW5kbGluZyBvZiBmaWxlbmFtZXMgZ2l2ZW4gYXMgYnl0ZXMgb2JqZWN0cy4KLQotLSBJc3N1ZSAjMTQ3NzI6IFJldHVybiBkZXN0aW5hdGlvbiB2YWx1ZXMgZnJvbSBzb21lIHNodXRpbCBmdW5jdGlvbnMuCi0KLS0gSXNzdWUgIzE1MDY0OiBJbXBsZW1lbnQgY29udGV4dCBtYW5hZ2VyIHByb3RvY29sIGZvciBtdWx0aXByb2Nlc3NpbmcgdHlwZXMKLQotLSBJc3N1ZSAjMTUxMDE6IE1ha2UgcG9vbCBmaW5hbGl6ZXIgYXZvaWQgam9pbmluZyBjdXJyZW50IHRocmVhZC4KLQotLSBJc3N1ZSAjMTQ2NTc6IFRoZSBmcm96ZW4gaW5zdGFuY2Ugb2YgaW1wb3J0bGliIHVzZWQgZm9yIGJvb3RzdHJhcCBpcyBub3cKLSAgYWxzbyB0aGUgbW9kdWxlIGltcG9ydGVkIGFzIGltcG9ydGxpYi5fYm9vdHN0cmFwLgotCi0tIElzc3VlICMxNDA1NTogQWRkIF9fc2l6ZW9mX18gc3VwcG9ydCB0byBfZWxlbWVudHRyZWUuCi0KLS0gSXNzdWUgIzE1MDU0OiBBIGJ1ZyBpbiB0b2tlbml6ZS50b2tlbml6ZSB0aGF0IGNhdXNlZCBzdHJpbmcgbGl0ZXJhbHMKLSAgd2l0aCAnYicgcHJlZml4ZXMgdG8gYmUgaW5jb3JyZWN0bHkgdG9rZW5pemVkIGhhcyBiZWVuIGZpeGVkLgotICBQYXRjaCBieSBTZXJoaXkgU3RvcmNoYWthLgotCi0tIElzc3VlICMxNTAwNjogQWxsb3cgZXF1YWxpdHkgY29tcGFyaXNvbiBiZXR3ZWVuIG5haXZlIGFuZCBhd2FyZQotICB0aW1lIG9yIGRhdGV0aW1lIG9iamVjdHMuCi0KLS0gSXNzdWUgIzE1MDM2OiBNYWlsYm94IG5vIGxvbmdlciB0aHJvd3MgYW4gZXJyb3IgaWYgYSBmbHVzaCBpcyBkb25lCi0gIGJldHdlZW4gb3BlcmF0aW9ucyB3aGVuIHJlbW92aW5nIG9yIGNoYW5naW5nIG11bHRpcGxlIGl0ZW1zIGluIG1ib3gsCi0gIE1NREYsIG9yIEJhYnlsIG1haWxib3hlcy4KLQotLSBJc3N1ZSAjMTQwNTk6IEltcGxlbWVudCBtdWx0aXByb2Nlc3NpbmcuQmFycmllci4KLQotLSBJc3N1ZSAjMTUwNjE6IFRoZSBpbmFwcHJvcHJpYXRlbHkgbmFtZWQgaG1hYy5zZWN1cmVfY29tcGFyZSBoYXMgYmVlbgotICByZW5hbWVkIHRvIGhtYWMuY29tcGFyZV9kaWdlc3QsIHJlc3RyaWN0ZWQgdG8gb3BlcmF0aW5nIG9uIGJ5dGVzIGlucHV0cwotICBvbmx5IGFuZCBoYWQgaXRzIGRvY3VtZW50YXRpb24gdXBkYXRlZCB0byBtb3JlIGFjY3VyYXRlbHkgcmVmbGVjdCBib3RoIGl0cwotICBpbnRlbnQgYW5kIGl0cyBsaW1pdGF0aW9ucwotCi0tIElzc3VlICMxMzg0MTogTWFrZSBjaGlsZCBwcm9jZXNzZXMgZXhpdCB1c2luZyBzeXMuZXhpdCgpIG9uIFdpbmRvd3MuCi0KLS0gSXNzdWUgIzE0OTM2OiBjdXJzZXNfcGFuZWwgd2FzIGNvbnZlcnRlZCB0byBQRVAgMzEyMSBhbmQgUEVQIDM4NCBBUEkuCi0gIFBhdGNoIGJ5IFJvYmluIFNjaHJlaWJlci4KLQotLSBJc3N1ZSAjMTY2NzU0NjogT24gcGxhdGZvcm1zIHN1cHBvcnRpbmcgdG1fem9uZSBhbmQgdG1fZ210b2ZmIGZpZWxkcwotICBpbiBzdHJ1Y3QgdG0sIHRpbWUuc3RydWN0X3RpbWUgb2JqZWN0cyByZXR1cm5lZCBieSB0aW1lLmdtdGltZSgpLAotICB0aW1lLmxvY2FsdGltZSgpIGFuZCB0aW1lLnN0cnB0aW1lKCkgZnVuY3Rpb25zIG5vdyBoYXZlIHRtX3pvbmUgYW5kCi0gIHRtX2dtdG9mZiBhdHRyaWJ1dGVzLiAgT3JpZ2luYWwgcGF0Y2ggYnkgUGF1bCBCb2RkaWUuCi0KLS0gUmVuYW1lIGFkanVzdGVkIGF0dHJpYnV0ZSB0byBhZGp1c3RhYmxlIGluIHRpbWUuZ2V0X2Nsb2NrX2luZm8oKSByZXN1bHQuCi0KLS0gSXNzdWUgIzM1MTg6IFJlbW92ZSByZWZlcmVuY2VzIHRvIG5vbi1leGlzdGVudCBCYXNlTWFuYWdlci5mcm9tX2FkZHJlc3MoKQotICBtZXRob2QuCi0KLS0gSXNzdWUgIzEzODU3OiBBZGRlZCB0ZXh0d3JhcC5pbmRlbnQoKSBmdW5jdGlvbiAoaW5pdGlhbCBwYXRjaCBieSBFenJhCi0gIEJlcmNoKQotCi0tIElzc3VlICMyNzM2OiBBZGRlZCBkYXRldGltZS50aW1lc3RhbXAoKSBtZXRob2QuCi0KLS0gSXNzdWUgIzEzODU0OiBNYWtlIG11bHRpcHJvY2Vzc2luZyBwcm9wZXJseSBoYW5kbGUgbm9uLWludGVnZXIKLSAgbm9uLXN0cmluZyBhcmd1bWVudCB0byBTeXN0ZW1FeGl0LgotCi0tIElzc3VlICMxMjE1NzogTWFrZSBwb29sLm1hcCgpIGVtcHR5IGl0ZXJhYmxlcyBjb3JyZWN0bHkuICBJbml0aWFsCi0gIHBhdGNoIGJ5IG1vdWFkLgotCi0tIElzc3VlICMxMTgyMzogZGlzYXNzZW1ibHkgbm93IHNob3dzIGFyZ3VtZW50IGNvdW50cyBvbiBjYWxscyB3aXRoIGtleXdvcmQgYXJncy4KLQotLSBJc3N1ZSAjMTQ3MTE6IG9zLnN0YXRfZmxvYXRfdGltZXMoKSBoYXMgYmVlbiBkZXByZWNhdGVkLgotCi0tIExaTUFGaWxlIG5vdyBhY2NlcHRzIHRoZSBtb2RlcyAicmIiLyJ3YiIvImFiIiBhcyBzeW5vbnltcyBvZiAiciIvInciLyJhIi4KLQotLSBUaGUgYnoyIGFuZCBsem1hIG1vZHVsZXMgbm93IGVhY2ggY29udGFpbiBhbiBvcGVuKCkgZnVuY3Rpb24sIGFsbG93aW5nCi0gIGNvbXByZXNzZWQgZmlsZXMgdG8gcmVhZGlseSBiZSBvcGVuZWQgaW4gdGV4dCBtb2RlIGFzIHdlbGwgYXMgYmluYXJ5IG1vZGUuCi0KLS0gQloyRmlsZS5fX2luaXRfXygpIGFuZCBMWk1BRmlsZS5fX2luaXRfXygpIG5vdyBhY2NlcHQgYSBmaWxlIG9iamVjdCBhcyB0aGVpcgotICBmaXJzdCBhcmd1bWVudCwgcmF0aGVyIHRoYW4gcmVxdWlyaW5nIGEgc2VwYXJhdGUgImZpbGVvYmoiIGFyZ3VtZW50LgotCi0tIGd6aXAub3BlbigpIG5vdyBhY2NlcHRzIGZpbGUgb2JqZWN0cyBhcyB3ZWxsIGFzIGZpbGVuYW1lcy4KLQotLSBJc3N1ZSAjMTQ5OTI6IG9zLm1ha2VkaXJzKHBhdGgsIGV4aXN0X29rPVRydWUpIHdvdWxkIHJhaXNlIGFuIE9TRXJyb3IKLSAgd2hlbiB0aGUgcGF0aCBleGlzdGVkIGFuZCBoYWQgdGhlIFNfSVNHSUQgbW9kZSBiaXQgc2V0IHdoZW4gaXQgd2FzCi0gIG5vdCBleHBsaWNpdGx5IGFza2VkIGZvci4gIFRoaXMgaXMgbm8gbG9uZ2VyIGFuIGV4Y2VwdGlvbiBhcyBta2RpcgotICBjYW5ub3QgY29udHJvbCBpZiB0aGUgT1Mgc2V0cyB0aGF0IGJpdCBmb3IgaXQgb3Igbm90LgotCi0tIElzc3VlICMxNDk4OTogTWFrZSB0aGUgQ0dJIGVuYWJsZSBvcHRpb24gdG8gaHR0cC5zZXJ2ZXIgYXZhaWxhYmxlIHZpYSBjb21tYW5kCi0gIGxpbmUuCi0KLS0gSXNzdWUgIzE0OTg3OiBBZGQgYSBtaXNzaW5nIGltcG9ydCBzdGF0ZW1lbnQgdG8gaW5zcGVjdC4KLQotLSBJc3N1ZSAjMTA3OTogZW1haWwuaGVhZGVyLmRlY29kZV9oZWFkZXIgbm93IGNvcnJlY3RseSBwYXJzZXMgYWxsIHRoZSBleGFtcGxlcwotICBpbiBSRkMyMDQ3LiAgVGhlcmUgaXMgYSBuZWNlc3NhcnkgdmlzaWJsZSBiZWhhdmlvciBjaGFuZ2U6IHRoZSBsZWFkaW5nIGFuZC9vcgotICB0cmFpbGluZyB3aGl0ZXNwYWNlIG9uIEFTQ0lJIHBhcnRzIGlzIG5vdyBwcmVzZXJ2ZWQuCi0KLS0gSXNzdWUgIzE0OTY5OiBCZXR0ZXIgaGFuZGxpbmcgb2YgZXhjZXB0aW9uIGNoYWluaW5nIGluIGNvbnRleHRsaWIuRXhpdFN0YWNrCi0KLS0gSXNzdWUgIzE0OTYzOiBDb252ZXJ0IGNvbnRleHRsaWIuRXhpdFN0YWNrLl9fZXhpdF9fIHRvIHVzZSBhbiBpdGVyYXRpdmUKLSAgYWxnb3JpdGhtIChQYXRjaCBieSBBbG9uIEhvcmV2KQotCi0tIElzc3VlICMxNDc4NTogQWRkIHN5cy5fZGVidWdtYWxsb2NzdGF0cygpIHRvIGhlbHAgZGVidWcgbG93LWxldmVsIG1lbW9yeQotICBhbGxvY2F0aW9uIGlzc3VlcwotCi0tIElzc3VlICMxNDQ0MzogRW5zdXJlIHRoYXQgLnB5IGZpbGVzIGFyZSBieXRlLWNvbXBpbGVkIHdpdGggdGhlIGNvcnJlY3QgUHl0aG9uCi0gIGV4ZWN1dGFibGUgd2l0aGluIGJkaXN0X3JwbSBldmVuIG9uIG9sZGVyIHZlcnNpb25zIG9mIFJQTQotCi1DLUFQSQotLS0tLS0KLQotLSBJc3N1ZSAjMTUxNDY6IEFkZCBQeVR5cGVfRnJvbVNwZWNXaXRoQmFzZXMuIFBhdGNoIGJ5IFJvYmluIFNjaHJlaWJlci4KLQotLSBJc3N1ZSAjMTUwNDI6IEFkZCBQeVN0YXRlX0FkZE1vZHVsZSBhbmQgUHlTdGF0ZV9SZW1vdmVNb2R1bGUuIEFkZCB2ZXJzaW9uCi0gIGd1YXJkIGZvciBQeV9MSU1JVEVEX0FQSSBhZGRpdGlvbnMuIFBhdGNoIGJ5IFJvYmluIFNjaHJlaWJlci4KLQotLSBJc3N1ZSAjMTM3ODM6IEluYWR2ZXJ0ZW50IGFkZGl0aW9ucyB0byB0aGUgcHVibGljIEMgQVBJIGluIHRoZSBQRVAgMzgwCi0gIGltcGxlbWVudGF0aW9uIGhhdmUgZWl0aGVyIGJlZW4gcmVtb3ZlZCBvciBtYXJrZWQgYXMgcHJpdmF0ZSBpbnRlcmZhY2VzLgotCi1FeHRlbnNpb24gTW9kdWxlcwotLS0tLS0tLS0tLS0tLS0tLS0KLQotLSBJc3N1ZSAjMTUwMDA6IFN1cHBvcnQgdGhlICJ1bmlxdWUiIHgzMiBhcmNoaXRlY3R1cmUgaW4gX3Bvc2l4c3VicHJvY2Vzcy5jLgotCi1JRExFCi0tLS0tCi0KLS0gSXNzdWUgIzk4MDM6IERvbid0IGNsb3NlIElETEUgb24gc2F2aW5nIGlmIGJyZWFrcG9pbnQgaXMgb3Blbi4KLSAgUGF0Y2ggYnkgUm9nZXIgU2Vyd3kuCi0KLS0gSXNzdWUgIzE0OTYyOiBVcGRhdGUgdGV4dCBjb2xvcmluZyBpbiBJRExFIHNoZWxsIHdpbmRvdyBhZnRlciBjaGFuZ2luZwotICBvcHRpb25zLiAgUGF0Y2ggYnkgUm9nZXIgU2Vyd3kuCi0KLURvY3VtZW50YXRpb24KLS0tLS0tLS0tLS0tLS0KLQotLSBJc3N1ZSAjMTUxNzY6IENsYXJpZmllZCBiZWhhdmlvciwgZG9jdW1lbnRhdGlvbiwgYW5kIGltcGxlbWVudGF0aW9uCi0gIG9mIG9zLmxpc3RkaXIoKS4KLQotLSBJc3N1ZSAjMTQ5ODI6IERvY3VtZW50IHRoYXQgcGtndXRpbCdzIGl0ZXJhdGlvbiBmdW5jdGlvbnMgcmVxdWlyZSB0aGUKLSAgbm9uLXN0YW5kYXJkIGl0ZXJfbW9kdWxlcygpIG1ldGhvZCB0byBiZSBkZWZpbmVkIGJ5IGFuIGltcG9ydGVyIChzb21ldGhpbmcKLSAgdGhlIGltcG9ydGxpYiBpbXBvcnRlcnMgZG8gbm90IGRlZmluZSkuCi0KLS0gSXNzdWUgIzE1MDgxOiBEb2N1bWVudCBQeVN0YXRlX0ZpbmRNb2R1bGUuCi0gIFBhdGNoIGJ5IFJvYmluIFNjaHJlaWJlci4KLQotLSBJc3N1ZSAjMTQ4MTQ6IEFkZGVkIGZpcnN0IGRyYWZ0IG9mIGlwYWRkcmVzcyBtb2R1bGUgQVBJIHJlZmVyZW5jZQotCi1UZXN0cwotLS0tLS0KLQotLSBJc3N1ZSAjMTUxODc6IEJ1Z2ZpeDogcmVtb3ZlIHRlbXBvcmFyeSBkaXJlY3RvcmllcyB0ZXN0X3NodXRpbCB3YXMgbGVhdmluZwotICBiZWhpbmQuCi0KLS0gSXNzdWUgIzE0NzY5OiB0ZXN0X2NhcGkgbm93IGhhcyBTa2lwaXRlbVRlc3QsIHdoaWNoIGNsZXZlcmx5IGNoZWNrcwotICBmb3IgInBhcml0eSIgYmV0d2VlbiBQeUFyZ19QYXJzZVR1cGxlKCkgYW5kIHRoZSBQeXRob24vZ2V0YXJncy5jIHN0YXRpYwotICBmdW5jdGlvbiBza2lwaXRlbSgpIGZvciBhbGwgcG9zc2libGUgImZvcm1hdCB1bml0cyIuCi0KLS0gdGVzdF9ubnRwbGliIG5vdyB0b2xlcmF0ZXMgYmVpbmcgcnVuIGZyb20gYmVoaW5kIE5OVFAgZ2F0ZXdheXMgdGhhdCBhZGQKLSAgIlgtQW50aXZpcnVzIiBoZWFkZXJzIHRvIGFydGljbGVzCi0KLS0gSXNzdWUgIzE1MDQzOiB0ZXN0X2dkYiBpcyBub3cgc2tpcHBlZCBlbnRpcmVseSBpZiBnZGIgc2VjdXJpdHkgc2V0dGluZ3MKLSAgYmxvY2sgbG9hZGluZyBvZiB0aGUgZ2RiIGhvb2tzCi0KLS0gSXNzdWUgIzE0OTYzOiBBZGQgdGVzdCBjYXNlcyBmb3IgZXhjZXB0aW9uIGhhbmRsaW5nIGJlaGF2aW91cgotICBpbiBjb250ZXh0bGliLkV4aXRTdGFjayAoSW5pdGlhbCBwYXRjaCBieSBBbG9uIEhvcmV2KQotCi1CdWlsZAotLS0tLS0KLQotLSBJc3N1ZSAjMTM1OTA6IEltcHJvdmUgc3VwcG9ydCBmb3IgT1MgWCBYY29kZSA0OgotICAgICogVHJ5IHRvIGF2b2lkIGJ1aWxkaW5nIFB5dGhvbiBvciBleHRlbnNpb24gbW9kdWxlcyB3aXRoIHByb2JsZW1hdGljCi0gICAgICBsbHZtLWdjYyBjb21waWxlci4KLSAgICAqIFNpbmNlIFhjb2RlIDQgcmVtb3ZlcyBwcGMgc3VwcG9ydCwgZXh0ZW5zaW9uIG1vZHVsZSBidWlsZHMgbm93Ci0gICAgICBjaGVjayBmb3IgcHBjIGNvbXBpbGVyIHN1cHBvcnQgYW5kIGF1dG9tYXRpY2FsbHkgcmVtb3ZlIHBwYyBhbmQKLSAgICAgIHBwYzY0IGFyY2hzIHdoZW4gbm90IGF2YWlsYWJsZS4KLSAgICAqIFNpbmNlIFhjb2RlIDQgbm8gbG9uZ2VyIGluc3RhbGwgU0RLcyBpbiBkZWZhdWx0IGxvY2F0aW9ucywKLSAgICAgIGV4dGVuc2lvbiBtb2R1bGUgYnVpbGRzIG5vdyByZXZlcnQgdG8gdXNpbmcgaW5zdGFsbGVkIGhlYWRlcnMKLSAgICAgIGFuZCBsaWJzIGlmIHRoZSBTREsgdXNlZCB0byBidWlsZCB0aGUgaW50ZXJwcmV0ZXIgaXMgbm90Ci0gICAgICBhdmFpbGFibGUuCi0gICAgKiBVcGRhdGUgLi9jb25maWd1cmUgdG8gdXNlIGJldHRlciBkZWZhdWx0cyBmb3IgdW5pdmVyc2FsIGJ1aWxkczsKLSAgICAgIGluIHBhcnRpY3VsYXIsIC0tZW5hYmxlLXVuaXZlcnNhbHNkaz15ZXMgdXNlcyB0aGUgWGNvZGUgZGVmYXVsdAotICAgICAgU0RLIGFuZCAtLXdpdGgtdW5pdmVyc2FsLWFyY2hzIG5vdyBkZWZhdWx0cyB0byAiaW50ZWwiIGlmIHBwYwotICAgICAgbm90IGF2YWlsYWJsZS4KLQotLSBJc3N1ZSAjMTQyMjU6IEZpeCBVbmljb2RlIHN1cHBvcnQgZm9yIGN1cnNlcyAoIzEyNTY3KSBvbiBPUyBYCi0KLS0gSXNzdWUgIzE0OTI4OiBGaXggaW1wb3J0bGliIGJvb3RzdHJhcCBpc3N1ZXMgYnkgdXNpbmcgYSBjdXN0b20gZXhlY3V0YWJsZQotICAoTW9kdWxlcy9fZnJlZXplX2ltcG9ydGxpYikgdG8gYnVpbGQgUHl0aG9uL2ltcG9ydGxpYi5oLgotCi0KLVdoYXQncyBOZXcgaW4gUHl0aG9uIDMuMy4wIEFscGhhIDQ/Ci09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotCi0qUmVsZWFzZSBkYXRlOiAzMS1NYXktMjAxMioKLQotQ29yZSBhbmQgQnVpbHRpbnMKLS0tLS0tLS0tLS0tLS0tLS0tCi0KLS0gSXNzdWUgIzE0ODM1OiBNYWtlIHBsaXN0bGliIG91dHB1dCBlbXB0eSBhcnJheXMgJiBkaWN0cyBsaWtlIE9TIFguCi0gIFBhdGNoIGJ5IFNpZG5leSBTYW4gTWFydMOtbi4KLQotLSBJc3N1ZSAjMTQ3NDQ6IFVzZSB0aGUgbmV3IF9QeVVuaWNvZGVXcml0ZXIgaW50ZXJuYWwgQVBJIHRvIHNwZWVkIHVwCi0gIHN0ciVhcmdzIGFuZCBzdHIuZm9ybWF0KGFyZ3MpLgotCi0tIElzc3VlICMxNDkzMDogTWFrZSBtZW1vcnl2aWV3IG9iamVjdHMgd2Vha3JlZmFibGUuCi0KLS0gSXNzdWUgIzE0Nzc1OiBGaXggYSBwb3RlbnRpYWwgcXVhZHJhdGljIGRpY3QgYnVpbGQtdXAgZHVlIHRvIHRoZSBnYXJiYWdlCi0gIGNvbGxlY3RvciByZXBlYXRlZGx5IHRyeWluZyB0byB1bnRyYWNrIGRpY3RzLgotCi0tIElzc3VlICMxNDg1NzogZml4IHJlZ3Jlc3Npb24gaW4gcmVmZXJlbmNlcyB0byBQRVAgMzEzNSBpbXBsaWNpdCBfX2NsYXNzX18KLSAgY2xvc3VyZSB2YXJpYWJsZSAoUmVvcGVucyBpc3N1ZSAjMTIzNzApCi0KLS0gSXNzdWUgIzE0NzEyIChQRVAgNDA1KTogVmlydHVhbCBlbnZpcm9ubWVudHMuIEltcGxlbWVudGVkIGJ5IFZpbmF5IFNhamlwLgotCi0tIElzc3VlICMxNDY2MCAoUEVQIDQyMCk6IE5hbWVzcGFjZSBwYWNrYWdlcy4gSW1wbGVtZW50ZWQgYnkgRXJpYyBTbWl0aC4KLQotLSBJc3N1ZSAjMTQ0OTQ6IEZpeCBfX2Z1dHVyZV9fLnB5IGFuZCBpdHMgZG9jdW1lbnRhdGlvbiB0byBub3RlIHRoYXQKLSAgYWJzb2x1dGUgaW1wb3J0cyBhcmUgdGhlIGRlZmF1bHQgYmVoYXZpb3IgaW4gMy4wIGluc3RlYWQgb2YgMi43LgotICBQYXRjaCBieSBTdmVuIE1hcm5hY2guCi0KLS0gSXNzdWUgIzkyNjA6IEEgZmluZXItZ3JhaW5lZCBpbXBvcnQgbG9jay4gIE1vc3Qgb2YgdGhlIGltcG9ydCBzZXF1ZW5jZQotICBub3cgdXNlcyBwZXItbW9kdWxlIGxvY2tzIHJhdGhlciB0aGFuIHRoZSBnbG9iYWwgaW1wb3J0IGxvY2ssIGVsaW1pbmF0aW5nCi0gIHdlbGwta25vd24gaXNzdWVzIHdpdGggdGhyZWFkcyBhbmQgaW1wb3J0cy4KLQotLSBJc3N1ZSAjMTQ2MjQ6IFVURi0xNiBkZWNvZGluZyBpcyBub3cgM3ggdG8gNHggZmFzdGVyIG9uIHZhcmlvdXMgaW5wdXRzLgotICBQYXRjaCBieSBTZXJoaXkgU3RvcmNoYWthLgotCi0tIGFzZGxfc2VxIGFuZCBhc2RsX2ludF9zZXEgYXJlIG5vdyBQeV9zc2l6ZV90IHNpemVkLgotCi0tIElzc3VlICMxNDEzMyAoUEVQIDQxNSk6IEltcGxlbWVudCBzdXBwcmVzc2lvbiBvZiBfX2NvbnRleHRfXyBkaXNwbGF5IHdpdGggYW4KLSAgYXR0cmlidXRlIG9uIEJhc2VFeGNlcHRpb24uIFRoaXMgcmVwbGFjZXMgdGhlIG9yaWdpbmFsIG1lY2hhbmlzbSBvZiBQRVAgNDA5LgotCi0tIElzc3VlICMxNDQxNzogTXV0YXRpbmcgYSBkaWN0IGR1cmluZyBsb29rdXAgbm93IHJlc3RhcnRzIHRoZSBsb29rdXAgaW5zdGVhZAotICBvZiByYWlzaW5nIGEgUnVudGltZUVycm9yICh1bmRvZXMgaXNzdWUgIzE0MjA1KS4KLQotLSBJc3N1ZSAjMTQ3Mzg6IFNwZWVkLXVwIFVURi04IGRlY29kaW5nIG9uIG5vbi1BU0NJSSBkYXRhLiAgUGF0Y2ggYnkgU2VyaGl5Ci0gIFN0b3JjaGFrYS4KLQotLSBJc3N1ZSAjMTQ3MDA6IEZpeCB0d28gYnJva2VuIGFuZCB1bmRlZmluZWQtYmVoYXZpb3VyLWluZHVjaW5nIG92ZXJmbG93IGNoZWNrcwotICBpbiBvbGQtc3R5bGUgc3RyaW5nIGZvcm1hdHRpbmcuCi0KLUxpYnJhcnkKLS0tLS0tLS0KLQotLSBJc3N1ZSAjMTQ2OTA6IFVzZSBtb25vdG9uaWMgY2xvY2sgaW5zdGVhZCBvZiBzeXN0ZW0gY2xvY2sgaW4gdGhlIHNjaGVkLAotICBzdWJwcm9jZXNzIGFuZCB0cmFjZSBtb2R1bGVzLgotCi0tIElzc3VlICMxNDQ0MzogVGVsbCBycG1idWlsZCB0byB1c2UgdGhlIGNvcnJlY3QgdmVyc2lvbiBvZiBQeXRob24gaW4KLSAgYmRpc3RfcnBtLiBJbml0aWFsIHBhdGNoIGJ5IFJvc3MgTGFnZXJ3YWxsLgotCi0tIElzc3VlICMxMjUxNTogZW1haWwgbm93IHJlZ2lzdGVycyBhIGRlZmVjdCBpZiBpdCBnZXRzIHRvIEVPRiB3aGlsZSBwYXJzaW5nCi0gIGEgTUlNRSBwYXJ0IHdpdGhvdXQgc2VlaW5nIHRoZSBjbG9zaW5nIE1JTUUgYm91bmRhcnkuCi0KLS0gSXNzdWUgIzE2NzI1Njg6IGVtYWlsIG5vdyBhbHdheXMgZGVjb2RlcyBiYXNlNjQgcGF5bG9hZHMsIGFkZGluZyBwYWRkaW5nIGFuZAotICBpZ25vcmluZyBub24tYmFzZTY0LWFscGhhYmV0IGNoYXJhY3RlcnMgaWYgbmVlZGVkLCBhbmQgcmVnaXN0ZXJpbmcgZGVmZWN0cwotICBmb3IgYW55IHN1Y2ggcHJvYmxlbXMuCi0KLS0gSXNzdWUgIzE0OTI1OiBlbWFpbCBub3cgcmVnaXN0ZXJzIGEgZGVmZWN0IHdoZW4gdGhlIHBhcnNlciBkZWNpZGVzIHRoYXQgdGhlcmUKLSAgaXMgYSBtaXNzaW5nIGhlYWRlci9ib2R5IHNlcGFyYXRvciBsaW5lLiAgTWFsZm9ybWVkSGVhZGVyRGVmZWN0LCB3aGljaCB0aGUKLSAgZXhpc3RpbmcgY29kZSB3b3VsZCBuZXZlciBhY3R1YWxseSBnZW5lcmF0ZSwgaXMgZGVwcmVjYXRlZC4KLQotLSBJc3N1ZSAjMTAzNjU6IEZpbGUgb3BlbiBkaWFsb2cgbm93IHdvcmtzIGluc3RlYWQgb2YgY3Jhc2hpbmcgZXZlbiB3aGVuCi0gIHRoZSBwYXJlbnQgd2luZG93IGlzIGNsb3NlZCBiZWZvcmUgdGhlIGRpYWxvZy4gUGF0Y2ggYnkgUm9nZXIgU2Vyd3kuCi0KLS0gSXNzdWUgIzg3Mzk6IFVwZGF0ZWQgc210cGQgdG8gc3VwcG9ydCBSRkMgNTMyMSwgYW5kIGFkZGVkIHN1cHBvcnQgZm9yIHRoZQotICBSRkMgMTg3MCBTSVpFIGV4dGVuc2lvbi4KLQotLSBJc3N1ZSAjNjY1MTk0OiBBZGRlZCBhIGxvY2FsdGltZSBmdW5jdGlvbiB0byBlbWFpbC51dGlscyB0byBwcm92aWRlIGFuCi0gIGF3YXJlIGxvY2FsIGRhdGV0aW1lIGZvciB1c2UgaW4gc2V0dGluZyBEYXRlIGhlYWRlcnMuCi0KLS0gSXNzdWUgIzEyNTg2OiBBZGRlZCBuZXcgcHJvdmlzaW9uYWwgcG9saWNpZXMgdGhhdCBpbXBsZW1lbnQgY29udmVuaWVudAotICB1bmljb2RlIHN1cHBvcnQgZm9yIGVtYWlsIGhlYWRlcnMuICBTZWUgV2hhdCdzIE5ldyBmb3IgZGV0YWlscy4KLQotLSBJc3N1ZSAjMTQ3MzE6IFJlZmFjdG9yZWQgZW1haWwgUG9saWN5IGZyYW1ld29yayB0byBzdXBwb3J0IGZ1bGwgYmFja3dhcmQKLSAgY29tcGF0aWJpbGl0eSB3aXRoIFB5dGhvbiAzLjIgYnkgZGVmYXVsdCB5ZXQgYWxsb3cgZm9yIHRoZSBpbnRyb2R1Y3Rpb24gb2YKLSAgbmV3IGZlYXR1cmVzIHRocm91Z2ggbmV3IHBvbGljaWVzLiAgTm90ZSB0aGF0IFBvbGljeS5tdXN0X2JlXzdiaXQgaXMgcmVuYW1lZAotICB0byBjdGVfdHlwZS4KLQotLSBJc3N1ZSAjMTQ4NzY6IFVzZSB1c2VyLXNlbGVjdGVkIGZvbnQgZm9yIGhpZ2hsaWdodCBjb25maWd1cmF0aW9uLgotCi0tIElzc3VlICMxNDkyMDogRml4IHRoZSBoZWxwKHVybGxpYi5wYXJzZSkgZmFpbHVyZSBvbiBsb2NhbGUgQyBvbiB0ZXJtaW5hbHMuCi0gIEhhdmUgYXNjaWkgY2hhcmFjdGVycyBpbiBoZWxwLgotCi0tIElzc3VlICMxNDU0ODogTWFrZSBtdWx0aXByb2Nlc3NpbmcgZmluYWxpemVycyBjaGVjayBwaWQgYmVmb3JlCi0gIHJ1bm5pbmcgdG8gY29wZSB3aXRoIHBvc3NpYmlsaXR5IG9mIGdjIHJ1bm5pbmcganVzdCBhZnRlciBmb3JrLgotCi0tIElzc3VlICMxNDAzNjogQWRkIGFuIGFkZGl0aW9uYWwgY2hlY2sgdG8gdmFsaWRhdGUgdGhhdCBwb3J0IGluIHVybHBhcnNlIGRvZXMKLSAgbm90IGdvIGluIGlsbGVnYWwgcmFuZ2UgYW5kIHJldHVybnMgTm9uZS4KLQotLSBJc3N1ZSAjMTQ4NjI6IEFkZCBtaXNzaW5nIG5hbWVzIHRvIG9zLl9fYWxsX18KLQotLSBJc3N1ZSAjMTQ4NzU6IFVzZSBmbG9hdCgnaW5mJykgaW5zdGVhZCBvZiBmbG9hdCgnMWU2NjY2NicpIGluIHRoZSBqc29uIG1vZHVsZS4KLQotLSBJc3N1ZSAjMTM1ODU6IEFkZGVkIGNvbnRleHRsaWIuRXhpdFN0YWNrCi0KLS0gUEVQIDMxNDQsIElzc3VlICMxNDgxNDogQWRkZWQgdGhlIGlwYWRkcmVzcyBtb2R1bGUKLQotLSBJc3N1ZSAjMTQ0MjY6IENvcnJlY3QgdGhlIERhdGUgZm9ybWF0IGluIEV4cGlyZXMgYXR0cmlidXRlIG9mIFNldC1Db29raWUKLSAgSGVhZGVyIGluIENvb2tpZS5weS4KLQotLSBJc3N1ZSAjMTQ1ODg6IFRoZSB0eXBlcyBtb2R1bGUgbm93IHByb3ZpZGUgbmV3X2NsYXNzKCkgYW5kIHByZXBhcmVfY2xhc3MoKQotICBmdW5jdGlvbnMgdG8gc3VwcG9ydCBQRVAgMzExNSBjb21wbGlhbnQgZHluYW1pYyBjbGFzcyBjcmVhdGlvbi4gUGF0Y2ggYnkKLSAgRGFuaWVsIFVyYmFuIGFuZCBOaWNrIENvZ2hsYW4uCi0KLS0gSXNzdWUgIzEzMTUyOiBBbGxvdyB0byBzcGVjaWZ5IGEgY3VzdG9tIHRhYnNpemUgZm9yIGV4cGFuZGluZyB0YWJzIGluCi0gIHRleHR3cmFwLiBQYXRjaCBieSBKb2huIEZldWVyc3RlaW4uCi0KLS0gSXNzdWUgIzE0NzIxOiBTZW5kIHRoZSBjb3JyZWN0ICdDb250ZW50LWxlbmd0aDogMCcgaGVhZGVyIHdoZW4gdGhlIGJvZHkgaXMgYW4KLSAgZW1wdHkgc3RyaW5nICcnLiBJbml0aWFsIFBhdGNoIGNvbnRyaWJ1dGVkIGJ5IEFydmUgS251ZHNlbi4KLQotLSBJc3N1ZSAjMTQwNzI6IEZpeCBwYXJzaW5nIG9mICd0ZWwnIFVSSXMgaW4gdXJscGFyc2UgYnkgbWFraW5nIHRoZSBjaGVjayBmb3IKLSAgcG9ydHMgc3RyaWN0ZXIuCi0KLS0gSXNzdWUgIzkzNzQ6IEdlbmVyaWMgcGFyc2luZyBvZiBxdWVyeSBhbmQgZnJhZ21lbnQgcG9ydGlvbnMgb2YgdXJsIGZvciBhbnkKLSAgc2NoZW1lLiBTdXBwb3J0ZWQgYm90aCBieSBSRkMzOTg2IGFuZCBSRkMyMzk2LgotCi0tIElzc3VlICMxNDc5ODogRml4IHRoZSBmdW5jdGlvbnMgaW4gcHljbGJyIHRvIHJhaXNlIGFuIEltcG9ydEVycm9yCi0gIHdoZW4gdGhlIGZpcnN0IHBhcnQgb2YgYSBkb3R0ZWQgbmFtZSBpcyBub3QgYSBwYWNrYWdlLiBQYXRjaCBieQotICBYYXZpZXIgZGUgR2F5ZS4KLQotLSBJc3N1ZSAjMTIwOTg6IG11bHRpcHJvY2Vzc2luZyBvbiBXaW5kb3dzIG5vdyBzdGFydHMgY2hpbGQgcHJvY2Vzc2VzCi0gIHVzaW5nIHRoZSBzYW1lIHN5cy5mbGFncyBhcyB0aGUgY3VycmVudCBwcm9jZXNzLiAgSW5pdGlhbCBwYXRjaCBieQotICBTZXJnZXkgTWV6ZW50c2V2LgotCi0tIElzc3VlICMxMzAzMTogU21hbGwgc3BlZWQtdXAgZm9yIHRhcmZpbGUgd2hlbiB1bnppcHBpbmcgdGFyZmlsZXMuCi0gIFBhdGNoIGJ5IEp1c3RpbiBQZWVsLgotCi0tIElzc3VlICMxNDc4MDogdXJsbGliLnJlcXVlc3QudXJsb3BlbigpIG5vdyBoYXMgYSBgYGNhZGVmYXVsdGBgIGFyZ3VtZW50Ci0gIHRvIHVzZSB0aGUgZGVmYXVsdCBjZXJ0aWZpY2F0ZSBzdG9yZS4gIEluaXRpYWwgcGF0Y2ggYnkgSmFtZXMgT2FrbGV5LgotCi0tIElzc3VlICMxNDgyOTogRml4IGJpc2VjdCBhbmQgcmFuZ2UoKSBpbmRleGluZyB3aXRoIGxhcmdlIGluZGljZXMKLSAgKD49IDIgKiogMzIpIHVuZGVyIDY0LWJpdCBXaW5kb3dzLgotCi0tIElzc3VlICMxNDczMjogVGhlIF9jc3YgbW9kdWxlIG5vdyB1c2VzIFBFUCAzMTIxIG1vZHVsZSBpbml0aWFsaXphdGlvbi4KLSAgUGF0Y2ggYnkgUm9iaW4gU2NocmVpYmVyLgotCi0tIElzc3VlICMxNDgwOTogQWRkIEhUVFAgc3RhdHVzIGNvZGVzIGludHJvZHVjZWQgYnkgUkZDIDY1ODUgdG8gaHR0cC5zZXJ2ZXIKLSAgYW5kIGh0dHAuY2xpZW50LiBQYXRjaCBieSBFdW5nSnVuIFlpLgotCi0tIElzc3VlICMxNDc3NzogdGtpbnRlciBtYXkgcmV0dXJuIHVuZGVjb2RlZCBVVEYtOCBieXRlcyBhcyBhIHN0cmluZyB3aGVuCi0gIGFjY2Vzc2luZyB0aGUgVGsgY2xpcGJvYXJkLiAgTW9kaWZ5IGNsaXBib2FkX2dldCgpIHRvIGZpcnN0IHJlcXVlc3QgdHlwZQotICBVVEY4X1NUUklORyB3aGVuIG5vIHNwZWNpZmljIHR5cGUgaXMgcmVxdWVzdGVkIGluIGFuIFgxMSB3aW5kb3dpbmcKLSAgZW52aXJvbm1lbnQsIGZhbGxpbmcgYmFjayB0byB0aGUgY3VycmVudCBkZWZhdWx0IHR5cGUgU1RSSU5HIGlmIHRoYXQgZmFpbHMuCi0gIE9yaWdpbmFsIHBhdGNoIGJ5IFRob21hcyBLbHV5dmVyLgotCi0tIElzc3VlICMxNDc3MzogRml4IG9zLmZ3YWxrKCkgZmFpbGluZyBvbiBkYW5nbGluZyBzeW1saW5rcy4KLQotLSBJc3N1ZSAjMTI1NDE6IEJlIGxlbmllbnQgd2l0aCBxdW90ZXMgYXJvdW5kIFJlYWxtIGZpZWxkIG9mIEhUVFAgQmFzaWMKLSAgQXV0aGVudGF0aW9uIGluIHVybGxpYjIuCi0KLS0gSXNzdWUgIzE0ODA3OiBtb3ZlIHVuZG9jdW1lbnRlZCB0YXJmaWxlLmZpbGVtb2RlKCkgdG8gc3RhdC5maWxlbW9kZSgpIGFuZCBhZGQKLSAgZG9jIGVudHJ5LiBBZGQgdGFyZmlsZS5maWxlbW9kZSBhbGlhcyB3aXRoIGRlcHJlY2F0aW9uIHdhcm5pbmcuCi0KLS0gSXNzdWUgIzEzODE1OiBUYXJGaWxlLmV4dHJhY3RmaWxlKCkgbm93IHJldHVybnMgaW8uQnVmZmVyZWRSZWFkZXIgb2JqZWN0cy4KLQotLSBJc3N1ZSAjMTQ1MzI6IEFkZCBhIHNlY3VyZV9jb21wYXJlKCkgaGVscGVyIHRvIHRoZSBobWFjIG1vZHVsZSwgdG8gbWl0aWdhdGUKLSAgdGltaW5nIGF0dGFja3MuIFBhdGNoIGJ5IEpvbiBPYmVyaGVpZGUuCi0KLS0gQWRkIGltcG9ydGxpYi51dGlsLnJlc29sdmVfbmFtZSgpLgotCi0tIElzc3VlICMxNDM2NjogU3VwcG9ydCBsem1hIGNvbXByZXNzaW9uIGluIHppcCBmaWxlcy4KLSAgUGF0Y2ggYnkgU2VyaGl5IFN0b3JjaGFrYS4KLQotLSBJc3N1ZSAjMTM5NTk6IEludHJvZHVjZSBpbXBvcnRsaWIuZmluZF9sb2FkZXIoKSBhbmQgZG9jdW1lbnQKLSAgaW1wLmZpbmRfbW9kdWxlL2xvYWRfbW9kdWxlIGFzIGRlcHJlY2F0ZWQuCi0KLS0gSXNzdWUgIzE0MDgyOiBzaHV0aWwuY29weTIoKSBub3cgY29waWVzIGV4dGVuZGVkIGF0dHJpYnV0ZXMsIGlmIHBvc3NpYmxlLgotICBQYXRjaCBieSBIeW5layBTY2hsYXdhY2suCi0KLS0gSXNzdWUgIzEzOTU5OiBNYWtlIGltcG9ydGxpYi5hYmMuRmlsZUxvYWRlci5sb2FkX21vZHVsZSgpL2dldF9maWxlbmFtZSgpIGFuZAotICBpbXBvcnRsaWIubWFjaGluZXJ5LkV4dGVuc2lvbkZpbGVMb2FkZXIubG9hZF9tb2R1bGUoKSBoYXZlIHRoZWlyIHNpbmdsZQotICBhcmd1bWVudCBiZSBvcHRpb25hbC4gQWxsb3dzIGZvciB0aGUgcmVwbGFjZW1lbnQgKGFuZCB0aHVzIGRlcHJlY2F0aW9uKSBvZgotICBpbXAubG9hZF9zb3VyY2UoKS9sb2FkX3BhY2thZ2UoKS9sb2FkX2NvbXBpbGVkKCkuCi0KLS0gSXNzdWUgIzEzOTU5OiBpbXAuZ2V0X3N1ZmZpeGVzKCkgaGFzIGJlZW4gZGVwcmVjYXRlZCBpbiBmYXZvdXIgb2YgdGhlIG5ldwotICBhdHRyaWJ1dGVzIG9uIGltcG9ydGxpYi5tYWNoaW5lcnk6IFNPVVJDRV9TVUZGSVhFUywgREVCVUdfQllURUNPREVfU1VGRklYRVMsCi0gIE9QVElNSVpFRF9CWVRFQ09ERV9TVUZGSVhFUywgQllURUNPREVfU1VGRklYRVMsIGFuZCBFWFRFTlNJT05fU1VGRklYRVMuIFRoaXMKLSAgbGVkIHRvIGFuIGluZGlyZWN0IGRlcHJlY2F0aW9uIG9mIGluc3BlY3QuZ2V0bW9kdWxlaW5mbygpLgotCi0tIElzc3VlICMxNDY2MjogUHJldmVudCBzaHV0aWwgZmFpbHVyZXMgb24gT1MgWCB3aGVuIGRlc3RpbmF0aW9uIGRvZXMgbm90Ci0gIHN1cHBvcnQgY2hmbGFnIG9wZXJhdGlvbnMuICBQYXRjaCBieSBIeW5layBTY2hsYXdhY2suCi0KLS0gSXNzdWUgIzE0MTU3OiBGaXggdGltZS5zdHJwdGltZSBmYWlsaW5nIHdpdGhvdXQgYSB5ZWFyIG9uIEZlYnJ1YXJ5IDI5dGguCi0gIFBhdGNoIGJ5IEh5bmVrIFNjaGxhd2Fjay4KLQotLSBJc3N1ZSAjMTQ3NTM6IE1ha2UgbXVsdGlwcm9jZXNzaW5nJ3MgaGFuZGxpbmcgb2YgbmVnYXRpdmUgdGltZW91dHMKLSAgdGhlIHNhbWUgYXMgaXQgd2FzIGluIFB5dGhvbiAzLjIuCi0KLS0gSXNzdWUgIzE0NTgzOiBGaXggaW1wb3J0bGliIGJ1ZyB3aGVuIGEgcGFja2FnZSdzIF9faW5pdF9fLnB5IHdvdWxkIGZpcnN0Ci0gIGltcG9ydCBvbmUgb2YgaXRzIG1vZHVsZXMgdGhlbiByYWlzZSBhbiBlcnJvci4KLQotLSBJc3N1ZSAjMTQ3NDE6IEZpeCBtaXNzaW5nIHN1cHBvcnQgZm9yIEVsbGlwc2lzICgnLi4uJykgaW4gcGFyc2VyIG1vZHVsZS4KLQotLSBJc3N1ZSAjMTQ2OTc6IEZpeCBtaXNzaW5nIHN1cHBvcnQgZm9yIHNldCBkaXNwbGF5cyBhbmQgc2V0IGNvbXByZWhlbnNpb25zIGluCi0gIHBhcnNlciBtb2R1bGUuCi0KLS0gSXNzdWUgIzE0NzAxOiBGaXggbWlzc2luZyBzdXBwb3J0IGZvciAncmFpc2UgLi4uIGZyb20nIGluIHBhcnNlciBtb2R1bGUuCi0KLS0gQWRkIHN1cHBvcnQgZm9yIHRpbWVvdXRzIHRvIHRoZSBhY3F1aXJlKCkgbWV0aG9kcyBvZgotICBtdWx0aXByb2Nlc3NpbmcncyBsb2NrL3NlbWFwaG9yZS9jb25kaXRpb24gcHJveGllcy4KLQotLSBJc3N1ZSAjMTM5ODk6IEFkZCBzdXBwb3J0IGZvciB0ZXh0IG1vZGUgdG8gZ3ppcC5vcGVuKCkuCi0KLS0gSXNzdWUgIzE0MTI3OiBUaGUgb3Muc3RhdCgpIHJlc3VsdCBvYmplY3Qgbm93IHByb3ZpZGVzIHRocmVlIGFkZGl0aW9uYWwKLSAgZmllbGRzOiBzdF9jdGltZV9ucywgc3RfbXRpbWVfbnMsIGFuZCBzdF9hdGltZV9ucywgcHJvdmlkaW5nIHRob3NlIHRpbWVzIGFzIGFuCi0gIGludGVnZXIgd2l0aCBuYW5vc2Vjb25kIHJlc29sdXRpb24uICBUaGUgZnVuY3Rpb25zIG9zLnV0aW1lKCksIG9zLmx1dGltZXMoKSwKLSAgYW5kIG9zLmZ1dGltZXMoKSBub3cgYWNjZXB0IGEgbmV3IHBhcmFtZXRlciwgbnMsIHdoaWNoIGFjY2VwdHMgbXRpbWUgYW5kIGF0aW1lCi0gIGFzIGludGVnZXJzIHdpdGggbmFub3NlY29uZCByZXNvbHV0aW9uLgotCi0tIElzc3VlICMxNDEyNyBhbmQgIzEwMTQ4OiBzaHV0aWwuY29weXN0YXQgbm93IHByZXNlcnZlcyBleGFjdCBtdGltZSBhbmQgYXRpbWUKLSAgb24gZmlsZXN5c3RlbXMgcHJvdmlkaW5nIG5hbm9zZWNvbmQgcmVzb2x1dGlvbi4KLQotSURMRQotLS0tLQotCi0tIElzc3VlICMxNDk1ODogQ2hhbmdlIElETEUgc3lzdGF4IGhpZ2hsaWdodGluZyB0byByZWNvZ25pemUgYWxsIHN0cmluZyBhbmQKLSAgYnl0ZSBsaXRlcmFscyBzdXBwb3J0ZWQgaW4gUHl0aG9uIDMuMy4KLQotLSBJc3N1ZSAjMTA5OTc6IFByZXZlbnQgYSBkdXBsaWNhdGUgZW50cnkgaW4gSURMRSdzICJSZWNlbnQgRmlsZXMiIG1lbnUuCi0KLS0gSXNzdWUgIzE0OTI5OiBTdG9wIElETEUgMy54IGZyb20gY2xvc2luZyBvbiBVbmljb2RlIGRlY29kZSBlcnJvcnMgd2hlbgotICBncmVwcGluZy4gUGF0Y2ggYnkgUm9nZXIgU2Vyd3kuCi0KLS0gSXNzdWUgIzEyNTEwOiBBdHRlbXB0aW5nIHRvIGdldCBpbnZhbGlkIHRvb2x0aXAgbm8gbG9uZ2VyIGNsb3NlcyBJRExFLgotICBPdGhlciB0b29sdGlwc3MgaGF2ZSBiZWVuIGNvcnJlY3RlZCBvciBpbXByb3ZlZCBhbmQgdGhlIG51bWJlciBvZiB0ZXN0cwotICBoYXMgYmVlbiB0cmlwbGVkLiBPcmlnaW5hbCBwYXRjaCBieSBSb2dlciBTZXJ3eS4KLQotVG9vbHMvRGVtb3MKLS0tLS0tLS0tLS0tCi0KLS0gSXNzdWUgIzE0Njk1OiBCcmluZyBUb29scy9wYXJzZXIvdW5wYXJzZS5weSBzdXBwb3J0IHVwIHRvIGRhdGUgd2l0aAotICB0aGUgUHl0aG9uIDMuMyBHcmFtbWFyLgotCi1CdWlsZAotLS0tLS0KLQotLSBJc3N1ZSAjMTQ0NzI6IFVwZGF0ZSAuZ2l0aWdub3JlLiBQYXRjaCBieSBNYXRlaiBDZXBsLgotCi0tIFVwZ3JhZGUgV2luZG93cyBsaWJyYXJ5IHZlcnNpb25zOiBiemlwIDEuMC42LCBPcGVuU1NMIDEuMC4xYy4KLQotLSBJc3N1ZSAjMTQ2OTM6IFVuZGVyIG5vbi1XaW5kb3dzIHBsYXRmb3JtcywgaGFzaGxpYidzIGZhbGxiYWNrIG1vZHVsZXMgYXJlCi0gIGFsd2F5cyBjb21waWxlZCwgZXZlbiBpZiBPcGVuU1NMIGlzIHByZXNlbnQgYXQgYnVpbGQgdGltZS4KLQotLSBJc3N1ZSAjMTMyMTA6IFdpbmRvd3MgYnVpbGQgbm93IHVzZXMgVlMyMDEwLCBwb3J0ZWQgZnJvbSBWUzIwMDguCi0KLUMtQVBJCi0tLS0tLQotCi0tIElzc3VlICMxNDcwNTogVGhlIFB5QXJnX1BhcnNlKCkgZmFtaWx5IG9mIGZ1bmN0aW9ucyBub3cgc3VwcG9ydCB0aGUgJ3AnIGZvcm1hdAotICB1bml0LCB3aGljaCBhY2NlcHRzIGEgImJvb2xlYW4gcHJlZGljYXRlIiBhcmd1bWVudC4gIEl0IGNvbnZlcnRzIGFueSBQeXRob24KLSAgdmFsdWUgaW50byBhbiBpbnRlZ2VyLS0wIGlmIGl0IGlzICJmYWxzZSIsIGFuZCAxIG90aGVyd2lzZS4KLQotRG9jdW1lbnRhdGlvbgotLS0tLS0tLS0tLS0tLQotCi0tIElzc3VlICMxNDg2MzogVXBkYXRlIHRoZSBkb2N1bWVudGF0aW9uIG9mIG9zLmZkb3BlbigpIHRvIHJlZmxlY3QgdGhlCi0gIGZhY3QgdGhhdCBpdCdzIG9ubHkgYSB0aGluIHdyYXBwZXIgYXJvdW5kIG9wZW4oKSBhbnltb3JlLgotCi0tIElzc3VlICMxNDU4ODogVGhlIGxhbmd1YWdlIHJlZmVyZW5jZSBub3cgYWNjdXJhdGVseSBkb2N1bWVudHMgdGhlIFB5dGhvbiAzCi0gIGNsYXNzIGRlZmluaXRpb24gcHJvY2Vzcy4gUGF0Y2ggYnkgTmljayBDb2dobGFuLgotCi0tIElzc3VlICMxNDk0MzogQ29ycmVjdCBhIGRlZmF1bHQgYXJndW1lbnQgdmFsdWUgZm9yIHdpbnJlZy5PcGVuS2V5Ci0gIGFuZCBjb3JyZWN0bHkgbGlzdCB0aGUgYXJndW1lbnQgbmFtZXMgaW4gdGhlIGZ1bmN0aW9uJ3MgZXhwbGFuYXRpb24uCi0KLQotV2hhdCdzIE5ldyBpbiBQeXRob24gMy4zLjAgQWxwaGEgMz8KLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0KLSpSZWxlYXNlIGRhdGU6IDAxLU1heS0yMDEyKgotCi1Db3JlIGFuZCBCdWlsdGlucwotLS0tLS0tLS0tLS0tLS0tLS0KLQotLSBJc3N1ZSAjMTQ2OTk6IEZpeCBjYWxsaW5nIHRoZSBjbGFzc21ldGhvZCBkZXNjcmlwdG9yIGRpcmVjdGx5LgotCi0tIElzc3VlICMxNDQzMzogUHJldmVudCBtc3ZjcnQgY3Jhc2ggaW4gaW50ZXJhY3RpdmUgcHJvbXB0IHdoZW4gc3RkaW4gaXMgY2xvc2VkLgotCi0tIElzc3VlICMxNDUyMTogTWFrZSByZXN1bHQgb2YgZmxvYXQoJ25hbicpIGFuZCBmbG9hdCgnLW5hbicpIG1vcmUgY29uc2lzdGVudAotICBhY3Jvc3MgcGxhdGZvcm1zLgotCi0tIElzc3VlICMxNDY0NjogX19pbXBvcnRfXygpIHNldHMgX19sb2FkZXJfXyBpZiB0aGUgbG9hZGVyIGRpZCBub3QuCi0KLS0gSXNzdWUgIzE0NjA1OiBObyBsb25nZXIgaGF2ZSBpbXBsaWNpdCBlbnRyaWVzIGluIHN5cy5tZXRhX3BhdGguIElmCi0gIHN5cy5tZXRhX3BhdGggaXMgZm91bmQgdG8gYmUgZW1wdHksIHJhaXNlIEltcG9ydFdhcm5pbmcuCi0KLS0gSXNzdWUgIzE0NjA1OiBObyBsb25nZXIgaGF2ZSBpbXBsaWNpdCBlbnRyaWVzIGluIHN5cy5wYXRoX2hvb2tzLiBJZgotICBzeXMucGF0aF9ob29rcyBpcyBmb3VuZCB0byBiZSBlbXB0eSwgYSB3YXJuaW5nIHdpbGwgYmUgcmFpc2VkLiBOb25lIGlzIG5vdwotICBpbnNlcnRlZCBpbnRvIHN5cy5wYXRoX2ltcG9ydGVyX2NhY2hlIGlmIG5vIGZpbmRlciB3YXMgZGlzY292ZXJlZC4gVGhpcyBhbHNvCi0gIG1lYW5zIGltcC5OdWxsSW1wb3J0ZXIgaXMgbm8gbG9uZ2VyIGltcGxpY2l0bHkgdXNlZC4KLQotLSBJc3N1ZSAjMTM5MDM6IEltcGxlbWVudCBQRVAgNDEyLiBJbmRpdmlkdWFsIGRpY3Rpb25hcnkgaW5zdGFuY2VzIGNhbiBub3cgc2hhcmUKLSAgdGhlaXIga2V5cyB3aXRoIG90aGVyIGRpY3Rpb25hcmllcy4gQ2xhc3NlcyB0YWtlIGFkdmFudGFnZSBvZiB0aGlzIHRvIHNoYXJlCi0gIHRoZWlyIGluc3RhbmNlIGRpY3Rpb25hcnkga2V5cyBmb3IgaW1wcm92ZWQgbWVtb3J5IGFuZCBwZXJmb3JtYW5jZS4KLQotLSBJc3N1ZSAjMTE2MDMgKGFnYWluKTogU2V0dGluZyBfX3JlcHJfXyB0byBfX3N0cl9fIG5vdyByYWlzZXMgYSBSdW50aW1lRXJyb3IKLSAgd2hlbiByZXByKCkgb3Igc3RyKCkgaXMgY2FsbGVkIG9uIHN1Y2ggYW4gb2JqZWN0LgotCi0tIElzc3VlICMxNDY1ODogRml4IGJpbmRpbmcgYSBzcGVjaWFsIG1ldGhvZCB0byBhIGJ1aWx0aW4gaW1wbGVtZW50YXRpb24gb2YgYQotICBzcGVjaWFsIG1ldGhvZCB3aXRoIGEgZGlmZmVyZW50IG5hbWUuCi0KLS0gSXNzdWUgIzE0NjMwOiBGaXggYSBtZW1vcnkgYWNjZXNzIGJ1ZyBmb3IgaW5zdGFuY2VzIG9mIGEgc3ViY2xhc3Mgb2YgaW50Ci0gIHdpdGggdmFsdWUgMC4KLQotLSBJc3N1ZSAjMTQzMzk6IFNwZWVkIGltcHJvdmVtZW50cyB0byBiaW4sIG9jdCBhbmQgaGV4IGZ1bmN0aW9ucy4gIFBhdGNoIGJ5Ci0gIFNlcmhpeSBTdG9yY2hha2EuCi0KLS0gSXNzdWUgIzE0Mzg1OiBJdCBpcyBub3cgcG9zc2libGUgdG8gdXNlIGEgY3VzdG9tIHR5cGUgZm9yIHRoZSBfX2J1aWx0aW5zX18KLSAgbmFtZXNwYWNlLCBpbnN0ZWFkIG9mIGEgZGljdC4gSXQgY2FuIGJlIHVzZWQgZm9yIHNhbmRib3hpbmcgZm9yIGV4YW1wbGUuCi0gIFJhaXNlIGFsc28gYSBOYW1lRXJyb3IgaW5zdGVhZCBvZiBJbXBvcnRFcnJvciBpZiBfX2J1aWxkX2NsYXNzX18gbmFtZSBpZiBub3QKLSAgZm91bmQgaW4gX19idWlsdGluc19fLgotCi0tIElzc3VlICMxMjU5OTogQmUgbW9yZSBzdHJpY3QgaW4gYWNjZXB0aW5nIE5vbmUgY29tcGFyZWQgdG8gYSBmYWxzZS1saWtlCi0gIG9iamVjdCBmb3IgaW1wb3J0bGliLnV0aWwubW9kdWxlX2Zvcl9sb2FkZXIgYW5kCi0gIGltcG9ydGxpYi5tYWNoaW5lcnkuUGF0aEZpbmRlci4KLQotLSBJc3N1ZSAjMTQ2MTI6IEZpeCBqdW1waW5nIGFyb3VuZCB3aXRoIGJsb2NrcyBieSBzZXR0aW5nIGZfbGluZW5vLgotCi0tIElzc3VlICMxNDU5MjogQXR0ZW1wdGluZyBhIHJlbGF0aXZlIGltcG9ydCB3L28gX19wYWNrYWdlX18gb3IgX19uYW1lX18gc2V0IGluCi0gIGdsb2JhbHMgcmFpc2VzIGEgS2V5RXJyb3IuCi0KLS0gSXNzdWUgIzE0NjA3OiBGaXgga2V5d29yZC1vbmx5IGFyZ3VtZW50cyB3aGljaCBzdGFydGVkIHdpdGggYGBfX2BgLgotCi0tIElzc3VlICMxMDg1NDogVGhlIEltcG9ydEVycm9yIHJhaXNlZCB3aGVuIGFuIGV4dGVuc2lvbiBtb2R1bGUgb24gV2luZG93cwotICBmYWlscyB0byBpbXBvcnQgbm93IHVzZXMgdGhlIG5ldyBwYXRoIGFuZCBuYW1lIGF0dHJpYnV0ZXMgZnJvbQotICBJc3N1ZSAjMTU1OTU0OS4KLQotLSBJc3N1ZSAjMTM4ODk6IENoZWNrIGFuZCAoaWYgbmVjZXNzYXJ5KSBzZXQgRlBVIGNvbnRyb2wgd29yZCBiZWZvcmUgY2FsbGluZwotICBhbnkgb2YgdGhlIGR0b2EuYyBzdHJpbmcgPC0+IGZsb2F0IGNvbnZlcnNpb24gZnVuY3Rpb25zLCBvbiBNU1ZDIGJ1aWxkcyBvZgotICBQeXRob24uICBUaGlzIGZpeGVzIGlzc3VlcyB3aGVuIGVtYmVkZGluZyBQeXRob24gaW4gYSBEZWxwaGkgYXBwLgotCi0tIF9faW1wb3J0X18oKSBub3cgbWF0Y2hlcyBQRVAgMzI4IGFuZCBkb2N1bWVudGF0aW9uIGJ5IGRlZmF1bHRpbmcgJ2luZGV4JyB0byAwCi0gIGluc3RlYWQgb2YgLTEgYW5kIHJlbW92aW5nIHN1cHBvcnQgZm9yIG5lZ2F0aXZlIHZhbHVlcy4KLQotLSBJc3N1ZSAjMjM3NzogTWFrZSBpbXBvcnRsaWIgdGhlIGltcGxlbWVudGF0aW9uIG9mIF9faW1wb3J0X18oKS4KLQotLSBJc3N1ZSAjMTU1OTU0OTogSW1wb3J0RXJyb3Igbm93IGhhcyAnbmFtZScgYW5kICdwYXRoJyBhdHRyaWJ1dGVzIHRoYXQgYXJlIHNldAotICB1c2luZyBrZXl3b3JkIGFyZ3VtZW50cyB0byBpdHMgY29uc3RydWN0b3IuIFRoZXkgYXJlIGN1cnJlbnRseSBub3Qgc2V0IGJ5Ci0gIGltcG9ydCBhcyB0aGV5IGFyZSBtZWFudCBmb3IgdXNlIGJ5IGltcG9ydGxpYi4KLQotLSBJc3N1ZSAjMTQ0NzQ6IFNhdmUgYW5kIHJlc3RvcmUgZXhjZXB0aW9uIHN0YXRlIGluIHRocmVhZC5zdGFydF9uZXdfdGhyZWFkKCkKLSAgd2hpbGUgd3JpdGluZyBlcnJvciBtZXNzYWdlIGlmIHRoZSB0aHJlYWQgbGVhdmVzIGEgdW5oYW5kbGVkIGV4Y2VwdGlvbi4KLQotLSBJc3N1ZSAjMTMwMTk6IEZpeCBwb3RlbnRpYWwgcmVmZXJlbmNlIGxlYWtzIGluIGJ5dGVhcnJheS5leHRlbmQoKS4gIFBhdGNoCi0gIGJ5IFN1bWFuIFNhaGEuCi0KLUxpYnJhcnkKLS0tLS0tLS0KLQotLSBJc3N1ZSAjMTQ3Njg6IG9zLnBhdGguZXhwYW5kdXNlcignfi9hJykgZG9lc24ndCB3b3JrcyBjb3JyZWN0bHkgd2hlbiBIT01FIGlzICcvJy4KLQotLSBJc3N1ZSAjMTQzNzE6IFN1cHBvcnQgYnppcDIgaW4gemlwZmlsZSBtb2R1bGUuICBQYXRjaCBieSBTZXJoaXkgU3RvcmNoYWthLgotCi0tIElzc3VlICMxMzE4MzogRml4IHBkYiBza2lwcGluZyBmcmFtZXMgYWZ0ZXIgaGl0dGluZyBhIGJyZWFrcG9pbnQgYW5kIHJ1bm5pbmcKLSAgc3RlcC4gIFBhdGNoIGJ5IFhhdmllciBkZSBHYXllLgotCi0tIElzc3VlICMxNDY5NjogRml4IHBhcnNlciBtb2R1bGUgdG8gdW5kZXJzdGFuZCAnbm9ubG9jYWwnIGRlY2xhcmF0aW9ucy4KLQotLSBJc3N1ZSAjMTA5NDE6IEZpeCBpbWFwbGliLkludGVybmFsZGF0ZTJ0dXBsZSB0byBwcm9kdWNlIGNvcnJlY3QgcmVzdWx0IG5lYXIKLSAgdGhlIERTVCB0cmFuc2l0aW9uLiAgUGF0Y2ggYnkgSm9lIFBldGVyc29uLgotCi0tIElzc3VlICM5MTU0OiBGaXggcGFyc2VyIG1vZHVsZSB0byB1bmRlcnN0YW5kIGZ1bmN0aW9uIGFubm90YXRpb25zLgotCi0tIElzc3VlICM2MDg1OiBJbiBodHRwLnNlcnZlci5weSBTaW1wbGVIVFRQU2VydmVyLmFkZHJlc3Nfc3RyaW5nIHJldHVybnMgdGhlCi0gIGNsaWVudCBpcCBhZGRyZXNzIGluc3RlYWQgY2xpZW50IGhvc3RuYW1lLiBQYXRjaCBieSBDaGFybGVzLUZyYW7Dp29pcyBOYXRhbGkuCi0KLS0gSXNzdWUgIzE0MzA5OiBEZXByZWNhdGUgdGltZS5jbG9jaygpLCB1c2UgdGltZS5wZXJmX2NvdW50ZXIoKSBvcgotICB0aW1lLnByb2Nlc3NfdGltZSgpIGluc3RlYWQuCi0KLS0gSXNzdWUgIzE0NDI4OiBJbXBsZW1lbnQgdGhlIFBFUCA0MTguIEFkZCB0aW1lLmdldF9jbG9ja19pbmZvKCksCi0gIHRpbWUucGVyZl9jb3VudGVyKCkgYW5kIHRpbWUucHJvY2Vzc190aW1lKCkgZnVuY3Rpb25zLCBhbmQgcmVuYW1lCi0gIHRpbWUuc3RlYWR5KCkgdG8gdGltZS5tb25vdG9uaWMoKS4KLQotLSBJc3N1ZSAjMTQ2NDY6IGltcG9ydGxpYi51dGlsLm1vZHVsZV9mb3JfbG9hZGVyKCkgbm93IHNldHMgX19sb2FkZXJfXyBhbmQKLSAgX19wYWNrYWdlX18gKHdoZW4gcG9zc2libGUpLgotCi0tIElzc3VlICMxNDY2NDogSXQgaXMgbm93IHBvc3NpYmxlIHRvIHVzZSBAdW5pdHRlc3Quc2tpcHtJZixVbmxlc3N9IG9uIGEKLSAgdGVzdCBjbGFzcyB0aGF0IGRvZXNuJ3QgaW5oZXJpdCBmcm9tIFRlc3RDYXNlIChpLmUuIGEgbWl4aW4pLgotCi0tIElzc3VlICM0ODkyOiBtdWx0aXByb2Nlc3NpbmcgQ29ubmVjdGlvbnMgY2FuIG5vdyBiZSB0cmFuc2ZlcnJlZCBvdmVyCi0gIG11bHRpcHJvY2Vzc2luZyBDb25uZWN0aW9ucy4gIFBhdGNoIGJ5IFJpY2hhcmQgT3Vka2VyayAoc2J0KS4KLQotLSBJc3N1ZSAjMTQxNjA6IFRhckZpbGUuZXh0cmFjdGZpbGUoKSBmYWlsZWQgdG8gcmVzb2x2ZSBzeW1ib2xpYyBsaW5rcyB3aGVuCi0gIHRoZSBsaW5rcyB3ZXJlIG5vdCBsb2NhdGVkIGluIGFuIGFyY2hpdmUgc3ViZGlyZWN0b3J5LgotCi0tIElzc3VlICMxNDYzODogcHlkb2Mgbm93IHRyZWF0cyBub24tc3RyaW5nIF9fbmFtZV9fIHZhbHVlcyBhcyBpZiB0aGV5Ci0gIHdlcmUgbWlzc2luZywgaW5zdGVhZCBvZiByYWlzaW5nIGFuIGVycm9yLgotCi0tIElzc3VlICMxMzY4NDogRml4IGh0dHBsaWIgdHVubmVsIGlzc3VlIG9mIGluZmluaXRlIGxvb3BzIGZvciBjZXJ0YWluIHNpdGVzCi0gIHdoaWNoIHNlbmQgRU9GIHdpdGhvdXQgdHJhaWxpbmcgXHJcbi4KLQotLSBJc3N1ZSAjMTQ2MDU6IEFkZCBpbXBvcnRsaWIuYWJjLkZpbGVMb2FkZXIsIGltcG9ydGxpYi5tYWNoaW5lcnkuKEZpbGVGaW5kZXIsCi0gIFNvdXJjZUZpbGVMb2FkZXIsIFNvdXJjZWxlc3NGaWxlTG9hZGVyLCBFeHRlbnNpb25GaWxlTG9hZGVyKS4KLQotLSBJc3N1ZSAjMTM5NTk6IGltcC5jYWNoZV9mcm9tX3NvdXJjZSgpL3NvdXJjZV9mcm9tX2NhY2hlKCkgbm93IGZvbGxvdwotICBvcy5wYXRoLmpvaW4oKS9zcGxpdCgpIHNlbWFudGljcyBmb3IgcGF0aCBtYW5pcHVsYXRpb24gaW5zdGVhZCBvZiBpdHMgcHJpb3IsCi0gIGN1c3RvbSBzZW1hbnRpY3Mgb2YgY2FyaW5nIHRoZSByaWdodC1tb3N0IHBhdGggc2VwYXJhdG9yIGZvcndhcmQgaW4gcGF0aAotICBqb2luaW5nLgotCi0tIElzc3VlICMyMTkzOiBBbGxvdyAiOiIgY2hhcmFjdGVyIGluIENvb2tpZSBOQU1FIHZhbHVlcy4KLQotLSBJc3N1ZSAjMTQ2Mjk6IHRva2VuaXplci5kZXRlY3RfZW5jb2Rpbmcgd2lsbCBzcGVjaWZ5IHRoZSBmaWxlbmFtZSBpbiB0aGUKLSAgU3ludGF4RXJyb3IgZXhjZXB0aW9uIGlmIGZvdW5kIGF0IHJlYWRsaW5lLl9fc2VsZl9fLm5hbWUuCi0KLS0gSXNzdWUgIzE0NjI5OiBSYWlzZSBTeW50YXhFcnJvciBpbiB0b2tlbml6ZXIuZGV0ZWN0X2VuY29kaW5nIGlmIHRoZQotICBmaXJzdCB0d28gbGluZXMgaGF2ZSBub24tVVRGLTggY2hhcmFjdGVycyB3aXRob3V0IGFuIGVuY29kaW5nIGRlY2xhcmF0aW9uLgotCi0tIElzc3VlICMxNDMwODogRml4IGFuIGV4Y2VwdGlvbiB3aGVuIGEgImR1bW15IiB0aHJlYWQgaXMgaW4gdGhlIHRocmVhZGluZwotICBtb2R1bGUncyBhY3RpdmUgbGlzdCBhZnRlciBhIGZvcmsoKS4KLQotLSBJc3N1ZSAjMTE3NTA6IFRoZSBXaW5kb3dzIEFQSSBmdW5jdGlvbnMgc2NhdHRlcmVkIGluIHRoZSBfc3VicHJvY2VzcyBhbmQKLSAgX211bHRpcHJvY2Vzc2luZy53aW4zMiBtb2R1bGVzIG5vdyBsaXZlIGluIGEgc2luZ2xlIG1vZHVsZSAiX3dpbmFwaSIuCi0gIFBhdGNoIGJ5IHNidC4KLQotLSBJc3N1ZSAjMTQwODc6IG11bHRpcHJvY2Vzc2luZzogYWRkIENvbmRpdGlvbi53YWl0X2ZvcigpLiBQYXRjaCBieSBzYnQuCi0KLS0gSXNzdWUgIzE0NTM4OiBIVE1MUGFyc2VyIGNhbiBub3cgcGFyc2UgY29ycmVjdGx5IHN0YXJ0IHRhZ3MgdGhhdCBjb250YWluCi0gIGEgYmFyZSAnLycuCi0KLS0gSXNzdWUgIzE0NDUyOiBTeXNMb2dIYW5kbGVyIG5vIGxvbmdlciBpbnNlcnRzIGEgVVRGLTggQk9NIGludG8gdGhlIG1lc3NhZ2UuCi0KLS0gSXNzdWUgIzE0Mzg2OiBFeHBvc2UgdGhlIGRpY3RfcHJveHkgaW50ZXJuYWwgdHlwZSBhcyB0eXBlcy5NYXBwaW5nUHJveHlUeXBlLgotCi0tIElzc3VlICMxMzk1OTogTWFrZSBpbXAucmVsb2FkKCkgYWx3YXlzIHVzZSBhIG1vZHVsZSdzIF9fbG9hZGVyX18gdG8gcGVyZm9ybQotICB0aGUgcmVsb2FkLgotCi0tIElzc3VlICMxMzk1OTogQWRkIGltcC5weSBhbmQgcmVuYW1lIHRoZSBidWlsdC1pbiBtb2R1bGUgdG8gX2ltcCwgYWxsb3dpbmcgZm9yCi0gIHJlLWltcGxlbWVudGluZyBwYXJ0cyBvZiB0aGUgbW9kdWxlIGluIHB1cmUgUHl0aG9uLgotCi0tIElzc3VlICMxMzQ5NjogRml4IHBvdGVudGlhbCBvdmVyZmxvdyBpbiBiaXNlY3QuYmlzZWN0IGFsZ29yaXRobSB3aGVuIGFwcGxpZWQKLSAgdG8gYSBjb2xsZWN0aW9uIG9mIHNpemUgPiBzeXMubWF4c2l6ZSAvIDIuCi0KLS0gSGF2ZSBpbXBvcnRsaWIgdGFrZSBhZHZhbnRhZ2Ugb2YgSW1wb3J0RXJyb3IncyBuZXcgJ25hbWUnIGFuZCAncGF0aCcKLSAgYXR0cmlidXRlcy4KLQotLSBJc3N1ZSAjMTQzOTk6IHppcGZpbGUgbm93IHJlY29nbml6ZXMgdGhhdCB0aGUgYXJjaGl2ZSBoYXMgYmVlbiBtb2RpZmllZCBldmVuCi0gIGlmIG9ubHkgdGhlIGNvbW1lbnQgaXMgY2hhbmdlZC4gIEluIGFkZGl0aW9uLCB0aGUgVHlwZUVycm9yIHRoYXQgcmVzdWx0cyBmcm9tCi0gIHRyeWluZyB0byBzZXQgYSBub24tYmluYXJ5IHZhbHVlIGFzIGEgY29tbWVudCBpcyBub3cgcmFpc2VkIGF0IHRoZSB0aW1lCi0gIHRoZSBjb21tZW50IGlzIHNldCByYXRoZXIgdGhhbiBhdCB0aGUgdGltZSB0aGUgemlwZmlsZSBpcyB3cml0dGVuLgotCi0tIHRyYWNlLkNvdmVyYWdlUmVzdWx0cy5pc19pZ25vcmVkX2ZpbGVuYW1lKCkgbm93IGlnbm9yZXMgYW55IG5hbWUgdGhhdCBzdGFydHMKLSAgd2l0aCAiPCIgYW5kIGVuZHMgd2l0aCAiPiIgaW5zdGVhZCBvZiBzcGVjaWFsLWNhc2luZyAiPHN0cmluZz4iIGFuZAotICAiPGRvY3Rlc3QgIi4KLQotLSBJc3N1ZSAjMTI1Mzc6IFRoZSBtYWlsYm94IG1vZHVsZSBubyBsb25nZXIgZGVwZW5kcyBvbiBrbm93bGVkZ2Ugb2YgaW50ZXJuYWwKLSAgaW1wbGVtZW50YXRpb24gZGV0YWlscyBvZiB0aGUgZW1haWwgcGFja2FnZSBNZXNzYWdlIG9iamVjdC4KLQotLSBJc3N1ZSAjNzk3ODogc29ja2V0c2VydmVyIG5vdyByZXN0YXJ0cyB0aGUgc2VsZWN0KCkgY2FsbCB3aGVuIEVJTlRSIGlzCi0gIHJldHVybmVkLiAgVGhpcyBhdm9pZHMgY3Jhc2hpbmcgdGhlIHNlcnZlciBsb29wIHdoZW4gYSBzaWduYWwgaXMgcmVjZWl2ZWQuCi0gIFBhdGNoIGJ5IEplcnp5IEtvemVyYS4KLQotLSBJc3N1ZSAjMTQ1MjI6IEF2b2lkIGR1cGxpY2F0aW5nIHNvY2tldCBoYW5kbGVzIGluIG11bHRpcHJvY2Vzc2luZy5jb25uZWN0aW9uLgotICBQYXRjaCBieSBzYnQuCi0KLS0gRG9uJ3QgUHlfREVDUkVGIE5VTEwgdmFyaWFibGUgaW4gaW8uSW5jcmVtZW50YWxOZXdsaW5lRGVjb2Rlci4KLQotLSBJc3N1ZSAjMzAzMzogQWRkIGRpc3BsYXlvZiBwYXJhbWV0ZXIgdG8gdGtpbnRlciBmb250LiBQYXRjaCBieSBHdWlsaGVybWUgUG9sby4KLQotLSBJc3N1ZSAjMTQ0ODI6IFJhaXNlIGEgVmFsdWVFcnJvciwgbm90IGEgTmFtZUVycm9yLCB3aGVuIHRyeWluZyB0byBjcmVhdGUKLSAgYSBtdWx0aXByb2Nlc3NpbmcgQ2xpZW50IG9yIExpc3RlbmVyIHdpdGggYW4gQUZfVU5JWCB0eXBlIGFkZHJlc3MgdW5kZXIKLSAgV2luZG93cy4gIFBhdGNoIGJ5IFBvcGEgQ2xhdWRpdS4KLQotLSBJc3N1ZSAjODAyMzEwOiBHZW5lcmF0ZSBhbHdheXMgdW5pcXVlIHRraW50ZXIgZm9udCBuYW1lcyBpZiBub3QgZGlyZWN0bHkgcGFzc2VkLgotCi0tIElzc3VlICMxNDE1MTogUmFpc2UgYSBWYWx1ZUVycm9yLCBub3QgYSBOYW1lRXJyb3IsIHdoZW4gdHJ5aW5nIHRvIGNyZWF0ZQotICBhIG11bHRpcHJvY2Vzc2luZyBDbGllbnQgb3IgTGlzdGVuZXIgd2l0aCBhbiBBRl9QSVBFIHR5cGUgYWRkcmVzcyB1bmRlcgotICBub24tV2luZG93cyBwbGF0Zm9ybXMuICBQYXRjaCBieSBQb3BhIENsYXVkaXUuCi0KLS0gSXNzdWUgIzE0NDkzOiBVc2UgZ3Zmcy1vcGVuIG9yIHhkZy1vcGVuIGluIHdlYmJyb3dzZXIuCi0KLUJ1aWxkCi0tLS0tLQotCi0tICJtYWtlIHRvdWNoIiB3aWxsIG5vdyB0b3VjaCBnZW5lcmF0ZWQgZmlsZXMgdGhhdCBhcmUgY2hlY2tlZCBpbnRvIE1lcmN1cmlhbCwKLSAgYWZ0ZXIgYSAiaGcgdXBkYXRlIiB3aGljaCBmYWlsZWQgdG8gYnJpbmcgdGhlIHRpbWVzdGFtcHMgaW50byB0aGUgcmlnaHQgb3JkZXIuCi0KLVRlc3RzCi0tLS0tLQotCi0tIElzc3VlICMxNDAyNjogSW4gdGVzdF9jbWRfbGluZV9zY3JpcHQsIGNoZWNrIHRoYXQgc3lzLmFyZ3YgaXMgcG9wdWxhdGVkCi0gIGNvcnJlY3RseSBmb3IgdGhlIHZhcmlvdXMgaW52b2NhdGlvbiBhcHByb2FjaGVzIChQYXRjaCBieSBKYXNvbiBZZW8pCi0KLS0gSXNzdWUgIzE0MDMyOiBGaXggaW5jb3JyZWN0IHZhcmlhYmxlIG5hbWUgaW4gdGVzdF9jbWRfbGluZV9zY3JpcHQgZGVidWdnaW5nCi0gIG1lc3NhZ2UgKFBhdGNoIGJ5IEphc29uIFllbykKLQotLSBJc3N1ZSAjMTQ1ODk6IFVwZGF0ZSBjZXJ0aWZpY2F0ZSBjaGFpbiBmb3Igc2hhMjU2LnRicy1pbnRlcm5ldC5jb20sIGZpeGluZwotICBhIHRlc3QgZmFpbHVyZSBpbiB0ZXN0X3NzbC4KLQotLSBJc3N1ZSAjMTQzNTU6IFJlZ3J0ZXN0IG5vdyBzdXBwb3J0cyB0aGUgc3RhbmRhcmQgdW5pdHRlc3QgdGVzdCBsb2FkaW5nLCBhbmQKLSAgd2lsbCB1c2UgaXQgaWYgYSB0ZXN0IGZpbGUgY29udGFpbnMgbm8gYHRlc3RfbWFpbmAgbWV0aG9kLgotCi1JRExFCi0tLS0tCi0KLS0gSXNzdWUgIzg1MTU6IFNldCBfX2ZpbGVfXyB3aGVuIHJ1biBmaWxlIGluIElETEUuCi0gIEluaXRpYWwgcGF0Y2ggYnkgQnJ1Y2UgRnJlZGVyaWtzZW4uCi0KLS0gSXNzdWUgIzE0NDk2OiBGaXggd3JvbmcgbmFtZSBpbiBpZGxlbGliL3RhYmJlZHBhZ2VzLnB5LgotICBQYXRjaCBieSBQb3BhIENsYXVkaXUuCi0KLVRvb2xzIC8gRGVtb3MKLS0tLS0tLS0tLS0tLS0KLQotLSBJc3N1ZSAjMzU2MTogVGhlIFdpbmRvd3MgaW5zdGFsbGVyIG5vdyBoYXMgYW4gb3B0aW9uLCBvZmYgYnkgZGVmYXVsdCwgZm9yCi0gIHBsYWNpbmcgdGhlIFB5dGhvbiBpbnN0YWxsYXRpb24gaW50byB0aGUgc3lzdGVtICJQYXRoIiBlbnZpcm9ubWVudCB2YXJpYWJsZS4KLQotLSBJc3N1ZSAjMTMxNjU6IHN0cmluZ2JlbmNoIGlzIG5vdyBhdmFpbGFibGUgaW4gdGhlIFRvb2xzL3N0cmluZ2JlbmNoIGZvbGRlci4KLSAgSXQgdXNlZCB0byBsaXZlIGluIGl0cyBvd24gU1ZOIHByb2plY3QuCi0KLUMtQVBJCi0tLS0tLQotCi0tIElzc3VlICMxNDA5ODogTmV3IGZ1bmN0aW9ucyBQeUVycl9HZXRFeGNJbmZvIGFuZCBQeUVycl9TZXRFeGNJbmZvLgotICBQYXRjaCBieSBTdGVmYW4gQmVobmVsLgotCi0KLVdoYXQncyBOZXcgaW4gUHl0aG9uIDMuMy4wIEFscGhhIDI/Ci09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotCi0qUmVsZWFzZSBkYXRlOiAwMS1BcHItMjAxMioKLQotQ29yZSBhbmQgQnVpbHRpbnMKLS0tLS0tLS0tLS0tLS0tLS0tCi0KLS0gSXNzdWUgIzE2ODMzNjg6IG9iamVjdC5fX25ld19fIGFuZCBvYmplY3QuX19pbml0X18gcmFpc2UgYSBUeXBlRXJyb3IgaWYgdGhleQotICBhcmUgcGFzc2VkIGFyZ3VtZW50cyBhbmQgdGhlaXIgY29tcGxlbWVudGFyeSBtZXRob2QgaXMgbm90IG92ZXJyaWRkZW4uCi0KLS0gSXNzdWUgIzE0Mzc4OiBGaXggY29tcGlsaW5nIGFzdC5JbXBvcnRGcm9tIG5vZGVzIHdpdGggYSAiX19mdXR1cmVfXyIgc3RyaW5nIGFzCi0gIHRoZSBtb2R1bGUgbmFtZSB0aGF0IHdhcyBub3QgaW50ZXJuZWQuCi0KLS0gSXNzdWUgIzE0MzMxOiBVc2Ugc2lnbmlmaWNhbnRseSBsZXNzIHN0YWNrIHNwYWNlIHdoZW4gaW1wb3J0aW5nIG1vZHVsZXMgYnkKLSAgYWxsb2NhdGluZyBwYXRoIGJ1ZmZlcnMgb24gdGhlIGhlYXAgaW5zdGVhZCBvZiB0aGUgc3RhY2suCi0KLS0gSXNzdWUgIzE0MzM0OiBQcmV2ZW50IGluIGEgc2VnZmF1bHQgaW4gdHlwZS5fX2dldGF0dHJpYnV0ZV9fIHdoZW4gaXQgd2FzIG5vdAotICBwYXNzZWQgc3RyaW5ncy4KLQotLSBJc3N1ZSAjMTQ2OTYyOTogQWxsb3cgY3ljbGVzIHRocm91Z2ggYW4gb2JqZWN0J3MgX19kaWN0X18gc2xvdCB0byBiZQotICBjb2xsZWN0ZWQuIChGb3IgZXhhbXBsZSBpZiBgYHguX19kaWN0X18gaXMgeGBgKS4KLQotLSBJc3N1ZSAjMTQyMDU6IGRpY3QgbG9va3VwIHJhaXNlcyBhIFJ1bnRpbWVFcnJvciBpZiB0aGUgZGljdCBpcyBtb2RpZmllZAotICBkdXJpbmcgYSBsb29rdXAuCi0KLS0gSXNzdWUgIzE0MjIwOiBXaGVuIGEgZ2VuZXJhdG9yIGlzIGRlbGVnYXRpbmcgdG8gYW5vdGhlciBpdGVyYXRvciB3aXRoIHRoZQotICB5aWVsZCBmcm9tIHN5bnRheCwgaXQgbmVlZHMgdG8gaGF2ZSBpdHMgYGBnaV9ydW5uaW5nYGAgZmxhZyBzZXQgdG8gVHJ1ZS4KLQotLSBJc3N1ZSAjMTQ0MzU6IFJlbW92ZSBkZWRpY2F0ZWQgYmxvY2sgYWxsb2NhdG9yIGZyb20gZmxvYXRvYmplY3QuYyBhbmQgcmVseQotICBvbiB0aGUgUHlPYmplY3RfTWFsbG9jKCkgYXBpIGxpa2UgYWxsIG90aGVyIG9iamVjdHMuCi0KLS0gSXNzdWUgIzE0NDcxOiBGaXggYSBwb3NzaWJsZSBidWZmZXIgb3ZlcnJ1biBpbiB0aGUgd2lucmVnIG1vZHVsZS4KLQotLSBJc3N1ZSAjMTQyODg6IEFsbG93IHRoZSBzZXJpYWxpemF0aW9uIG9mIGJ1aWx0aW4gaXRlcmF0b3JzCi0KLUxpYnJhcnkKLS0tLS0tLS0KLQotLSBJc3N1ZSAjMTQzMDA6IFVuZGVyIFdpbmRvd3MsIHNvY2tldHMgY3JlYXRlZCB1c2luZyBzb2NrZXQuZHVwKCkgbm93IGFsbG93Ci0gIG92ZXJsYXBwZWQgSS9PLiAgUGF0Y2ggYnkgc2J0LgotCi0tIElzc3VlICMxMzg3Mjogc29ja2V0LmRldGFjaCgpIG5vdyBtYXJrcyB0aGUgc29ja2V0IGNsb3NlZCAoYXMgbWlycm9yZWQKLSAgaW4gdGhlIHNvY2tldCByZXByKCkpLiAgUGF0Y2ggYnkgTWF0dCBKb2luZXIuCi0KLS0gSXNzdWUgIzE0NDA2OiBGaXggYSByYWNlIGNvbmRpdGlvbiB3aGVuIHVzaW5nIGBgY29uY3VycmVudC5mdXR1cmVzLndhaXQoCi0gIHJldHVybl93aGVuPUFMTF9DT01QTEVURUQpYGAuICBQYXRjaCBieSBNYXR0IEpvaW5lci4KLQotLSBJc3N1ZSAjNTEzNjogZGVwcmVjYXRlIG9sZCwgdW51c2VkIGZ1bmN0aW9ucyBmcm9tIHRraW50ZXIuCi0KLS0gSXNzdWUgIzE0NDE2OiBzeXNsb2cgbm93IGRlZmluZXMgdGhlIExPR19PREVMQVkgYW5kIExPR19BVVRIUFJJViBjb25zdGFudHMKLSAgaWYgdGhleSBhcmUgZGVmaW5lZCBpbiA8c3lzbG9nLmg+LgotCi0tIElzc3VlICMxNDI5NTogQWRkIHVuaXR0ZXN0Lm1vY2sKLQotLSBJc3N1ZSAjNzY1MjogQWRkIC0td2l0aC1zeXN0ZW0tbGlibXBkZWMgb3B0aW9uIHRvIGNvbmZpZ3VyZSBmb3IgbGlua2luZwotICB0aGUgX2RlY2ltYWwgbW9kdWxlIGFnYWluc3QgYW4gaW5zdGFsbGVkIGxpYm1wZGVjLgotCi0tIElzc3VlICMxNDM4MDogTUlNRVRleHQgbm93IGRlZmF1bHRzIHRvIHV0Zi04IHdoZW4gcGFzc2VkIG5vbi1BU0NJSSB1bmljb2RlCi0gIHdpdGggbm8gY2hhcnNldCBzcGVjaWZpZWQuCi0KLS0gSXNzdWUgIzEwMzQwOiBhc3luY29yZSAtIHByb3Blcmx5IGhhbmRsZSBFSU5WQUwgaW4gZGlzcGF0Y2hlciBjb25zdHJ1Y3RvciBvbgotICBPU1g7IGF2b2lkIHRvIGNhbGwgaGFuZGxlX2Nvbm5lY3QgaW4gY2FzZSBvZiBhIGRpc2Nvbm5lY3RlZCBzb2NrZXQgd2hpY2gKLSAgd2FzIG5vdCBtZWFudCB0byBjb25uZWN0LgotCi0tIElzc3VlICMxNDIwNDogVGhlIHNzbCBtb2R1bGUgbm93IGhhcyBzdXBwb3J0IGZvciB0aGUgTmV4dCBQcm90b2NvbAotICBOZWdvdGlhdGlvbiBleHRlbnNpb24sIGlmIGF2YWlsYWJsZSBpbiB0aGUgdW5kZXJseWluZyBPcGVuU1NMIGxpYnJhcnkuCi0gIFBhdGNoIGJ5IENvbGluIE1hcmMuCi0KLS0gSXNzdWUgIzMwMzU6IFVudXNlZCBmdW5jdGlvbnMgZnJvbSB0a2ludGVyIGFyZSBtYXJrZWQgYXMgcGVuZGluZyBkZXByZWNhdGVkLgotCi0tIElzc3VlICMxMjc1NzogRml4IHRoZSBza2lwcGluZyBvZiBkb2N0ZXN0cyB3aGVuIHB5dGhvbiBpcyBydW4gd2l0aCAtT08gc28KLSAgdGhhdCBpdCB3b3JrcyBpbiB1bml0dGVzdCdzIHZlcmJvc2UgbW9kZSBhcyB3ZWxsIGFzIG5vbi12ZXJib3NlIG1vZGUuCi0KLS0gSXNzdWUgIzc2NTI6IEludGVncmF0ZSB0aGUgZGVjaW1hbCBmbG9hdGluZyBwb2ludCBsaWJtcGRlYyBsaWJyYXJ5IHRvIHNwZWVkCi0gIHVwIHRoZSBkZWNpbWFsIG1vZHVsZS4gUGVyZm9ybWFuY2UgZ2FpbnMgb2YgdGhlIG5ldyBDIGltcGxlbWVudGF0aW9uIGFyZQotICBiZXR3ZWVuIDEweCBhbmQgMTAweCwgZGVwZW5kaW5nIG9uIHRoZSBhcHBsaWNhdGlvbi4KLQotLSBJc3N1ZSAjMTQyNjk6IFNNVFBEIG5vdyBjb25mb3JtcyB0byB0aGUgUkZDIGFuZCByZXF1aXJlcyBhIEhFTE8gY29tbWFuZAotICBiZWZvcmUgTUFJTCwgUkNQVCwgb3IgREFUQS4KLQotLSBJc3N1ZSAjMTM2OTQ6IGFzeW5jaHJvbm91cyBjb25uZWN0IGluIGFzeW5jb3JlLmRpc3BhdGNoZXIgZG9lcyBub3Qgc2V0IGFkZHIKLSAgYXR0cmlidXRlLgotCi0tIElzc3VlICMxNDM0NDogZml4ZWQgdGhlIHJlcHIgb2YgZW1haWwucG9saWN5IG9iamVjdHMuCi0KLS0gSXNzdWUgIzExNjg2OiBBZGRlZCBtaXNzaW5nIGVudHJpZXMgdG8gZW1haWwgcGFja2FnZSBfX2FsbF9fIGxpc3RzCi0gIChtb3N0bHkgdGhlIG5ldyBCeXRlcyBjbGFzc2VzKS4KLQotLSBJc3N1ZSAjMTQzMzU6IG11bHRpcHJvY2Vzc2luZydzIGN1c3RvbSBQaWNrbGVyIHN1YmNsYXNzIG5vdyBpbmhlcml0cyBmcm9tCi0gIHRoZSBDLWFjY2VsZXJhdGVkIGltcGxlbWVudGF0aW9uLiAgUGF0Y2ggYnkgc2J0LgotCi0tIElzc3VlICMxMDQ4NDogRml4IHRoZSBDR0lIVFRQU2VydmVyJ3MgUEFUSF9JTkZPIGhhbmRsaW5nIHByb2JsZW0uCi0KLS0gSXNzdWUgIzExMTk5OiBGaXggdGhlIHdpdGggdXJsbGliIHdoaWNoIGhhbmdzIG9uIHBhcnRpY3VsYXIgZnRwIHVybHMuCi0KLS0gSW1wcm92ZSB0aGUgbWVtb3J5IHV0aWxpemF0aW9uIGFuZCBzcGVlZCBvZiBmdW5jdG9vbHMubHJ1X2NhY2hlLgotCi0tIElzc3VlICMxNDIyMjogVXNlIHRoZSBuZXcgdGltZS5zdGVhZHkoKSBmdW5jdGlvbiBpbnN0ZWFkIG9mIHRpbWUudGltZSgpIGZvcgotICB0aW1lb3V0IGluIHF1ZXVlIGFuZCB0aHJlYWRpbmcgbW9kdWxlcyB0byBub3QgYmUgYWZmZWN0ZWQgb2Ygc3lzdGVtIHRpbWUKLSAgdXBkYXRlLgotCi0tIElzc3VlICMxMzI0ODogUmVtb3ZlIGxpYjJ0bzMucHl0cmVlLkJhc2UuZ2V0X3ByZWZpeC9zZXRfcHJlZml4LgotCi0tIElzc3VlICMxNDIzNDogQ1ZFLTIwMTItMDg3NjogUmFuZG9taXplIGhhc2hlcyBvZiB4bWwgYXR0cmlidXRlcyBpbiB0aGUgaGFzaAotICB0YWJsZSBpbnRlcm5hbCB0byB0aGUgcHlleHBhdCBtb2R1bGUncyBjb3B5IG9mIHRoZSBleHBhdCBsaWJyYXJ5IHRvIGF2b2lkIGEKLSAgZGVuaWFsIG9mIHNlcnZpY2UgZHVlIHRvIGhhc2ggY29sbGlzaW9ucy4gIFBhdGNoIGJ5IERhdmlkIE1hbGNvbG0gd2l0aCBzb21lCi0gIG1vZGlmaWNhdGlvbnMgYnkgdGhlIGV4cGF0IHByb2plY3QuCi0KLS0gSXNzdWUgIzEyODE4OiBmb3JtYXQgYWRkcmVzcyBubyBsb25nZXIgbmVlZGxlc3NseSBcIGVzY2FwZXMgKClzIGluIG5hbWVzIHdoZW4KLSAgdGhlIG5hbWUgZW5kcyB1cCBiZWluZyBxdW90ZWQuCi0KLS0gSXNzdWUgIzE0MDYyOiBCeXRlc0dlbmVyYXRvciBub3cgY29ycmVjdGx5IGZvbGRzIEhlYWRlciBvYmplY3RzLAotICBpbmNsdWRpbmcgdXNpbmcgbGluZXNlcCB3aGVuIGZvbGRpbmcuCi0KLS0gSXNzdWUgIzEzODM5OiBXaGVuIGludm9rZWQgb24gdGhlIGNvbW1hbmQtbGluZSwgdGhlIHBzdGF0cyBtb2R1bGUgbm93Ci0gIGFjY2VwdHMgc2V2ZXJhbCBmaWxlbmFtZXMgb2YgcHJvZmlsZSBzdGF0IGZpbGVzIGFuZCBtZXJnZXMgdGhlbSBhbGwuCi0gIFBhdGNoIGJ5IE1hdHQgSm9pbmVyLgotCi0tIElzc3VlICMxNDI5MTogRW1haWwgbm93IGRlZmF1bHRzIHRvIHV0Zi04IGZvciBub24tQVNDSUkgdW5pY29kZSBoZWFkZXJzCi0gIGluc3RlYWQgb2YgcmFpc2luZyBhbiBlcnJvci4gIFRoaXMgZml4ZXMgYSByZWdyZXNzaW9uIHJlbGF0aXZlIHRvIDIuNy4KLQotLSBJc3N1ZSAjOTg5NzEyOiBTdXBwb3J0IHVzaW5nIFRrIHdpdGhvdXQgYSBtYWlubG9vcC4KLQotLSBJc3N1ZSAjMzgzNTogUmVmdXNlIHRvIHVzZSB1bnRocmVhZGVkIFRjbCBpbiB0aHJlYWRlZCBQeXRob24uCi0KLS0gSXNzdWUgIzI4NDM6IEFkZCBuZXcgVGsgQVBJIHRvIFRraW50ZXIuCi0KLS0gSXNzdWUgIzE0MTg0OiBJbmNyZWFzZSB0aGUgZGVmYXVsdCBzdGFjayBzaXplIGZvciBzZWNvbmRhcnkgdGhyZWFkcyBvbgotICBNYWMgT1MgWCB0byBhdm9pZCBpbnRlcnByZXRlciBjcmFzaGVzIHdoZW4gdXNpbmcgdGhyZWFkcyBvbiAxMC43LgotCi0tIElzc3VlICMxNDE4MDogZGF0ZXRpbWUuZGF0ZS5mcm9tdGltZXN0YW1wKCksCi0gIGRhdGV0aW1lLmRhdGV0aW1lLmZyb210aW1lc3RhbXAoKSBhbmQgZGF0ZXRpbWUuZGF0ZXRpbWUudXRjZnJvbXRpbWVzdGFtcCgpCi0gIG5vdyByYWlzZSBhbiBPU0Vycm9yIGluc3RlYWQgb2YgVmFsdWVFcnJvciBpZiBsb2NhbHRpbWUoKSBvciBnbXRpbWUoKSBmYWlsZWQuCi0KLS0gSXNzdWUgIzE0MTgwOiB0aW1lLmN0aW1lKCksIGdtdGltZSgpLCB0aW1lLmxvY2FsdGltZSgpLAotICBkYXRldGltZS5kYXRlLmZyb210aW1lc3RhbXAoKSwgZGF0ZXRpbWUuZGF0ZXRpbWUuZnJvbXRpbWVzdGFtcCgpIGFuZAotICBkYXRldGltZS5kYXRldGltZS51dGNmcm9tdGltZXN0YW1wKCkgbm93IHJhaXNlcyBhbiBPdmVyZmxvd0Vycm9yLCBpbnN0ZWFkIG9mCi0gIGEgVmFsdWVFcnJvciwgaWYgdGhlIHRpbWVzdGFtcCBkb2VzIG5vdCBmaXQgaW4gdGltZV90LgotCi0tIElzc3VlICMxNDE4MDogZGF0ZXRpbWUuZGF0ZXRpbWUuZnJvbXRpbWVzdGFtcCgpIGFuZAotICBkYXRldGltZS5kYXRldGltZS51dGNmcm9tdGltZXN0YW1wKCkgbm93IHJvdW5kIG1pY3Jvc2Vjb25kcyB0b3dhcmRzIHplcm8KLSAgaW5zdGVhZCBvZiByb3VuZGluZyB0byBuZWFyZXN0IHdpdGggdGllcyBnb2luZyBhd2F5IGZyb20gemVyby4KLQotLSBJc3N1ZSAjMTA1NDM6IEZpeCB1bml0dGVzdCB0ZXN0IGRpc2NvdmVyeSB3aXRoIEp5dGhvbiBieXRlY29kZSBmaWxlcy4KLQotLSBJc3N1ZSAjMTE3ODg2MzogU2VwYXJhdGUgaW5pdGlhbGlzYXRpb24gZnJvbSBzZXR0aW5nIHdoZW4gaW5pdGlhbGl6aW5nCi0gIFRraW50ZXIuVmFyaWFibGVzOyBoYXJtb25pemUgZXhjZXB0aW9ucyB0byBWYWx1ZUVycm9yOyBvbmx5IGRlbGV0ZSB2YXJpYWJsZXMKLSAgdGhhdCBoYXZlIG5vdCBiZWVuIGRlbGV0ZWQ7IGFzc2VydCB0aGF0IHZhcmlhYmxlIG5hbWVzIGFyZSBzdHJpbmdzLgotCi0tIElzc3VlICMxNDEwNDogSW1wbGVtZW50IHRpbWUubW9ub3RvbmljKCkgb24gTWFjIE9TIFgsIHBhdGNoIHdyaXR0ZW4gYnkKLSAgTmljaG9sYXMgUmlsZXkuCi0KLS0gSXNzdWUgIzEzMzk0OiB0aGUgYWlmYyBtb2R1bGUgbm93IHVzZXMgd2FybmluZ3Mud2FybigpIHRvIHNpZ25hbCB3YXJuaW5ncy4KLQotLSBJc3N1ZSAjMTQyNTI6IEZpeCBzdWJwcm9jZXNzLlBvcGVuLnRlcm1pbmF0ZSgpIHRvIG5vdCByYWlzZSBhbiBlcnJvciB1bmRlcgotICBXaW5kb3dzIHdoZW4gdGhlIGNoaWxkIHByb2Nlc3MgaGFzIGFscmVhZHkgZXhpdGVkLgotCi0tIElzc3VlICMxNDIyMzogY3Vyc2VzLmFkZGNoKCkgaXMgbm8gbW9yZSBsaW1pdGVkIHRvIHRoZSByYW5nZSAwLTI1NSB3aGVuIHRoZQotICBQeXRob24gY3Vyc2VzIGlzIG5vdCBsaW5rZWQgdG8gbGlibmN1cnNlc3cuIEl0IHdhcyBhIHJlZ3Jlc3Npb24gaW50cm9kdWNlZAotICBpbiBQeXRob24gMy4zYTEuCi0KLS0gSXNzdWUgIzE0MTY4OiBDaGVjayBmb3IgcHJlc2VuY2Ugb2YgRWxlbWVudC5fYXR0cnMgaW4gbWluaWRvbSBiZWZvcmUKLSAgYWNjZXNzaW5nIGl0LgotCi0tIElzc3VlICMxMjMyODogRml4IG11bHRpcHJvY2Vzc2luZydzIHVzZSBvZiBvdmVybGFwcGVkIEkvTyBvbiBXaW5kb3dzLgotICBBbHNvLCBhZGQgYSBtdWx0aXByb2Nlc3NpbmcuY29ubmVjdGlvbi53YWl0KHJsaXN0LCB0aW1lb3V0PU5vbmUpIGZ1bmN0aW9uCi0gIGZvciBwb2xsaW5nIG11bHRpcGxlIG9iamVjdHMgYXQgb25jZS4gIFBhdGNoIGJ5IHNidC4KLQotLSBJc3N1ZSAjMTQwMDc6IEFjY2VwdCBpbmNvbXBsZXRlIFRyZWVCdWlsZGVyIG9iamVjdHMgKG1pc3Npbmcgc3RhcnQsIGVuZCwKLSAgZGF0YSBvciBjbG9zZSBtZXRob2QpIGZvciB0aGUgUHl0aG9uIGltcGxlbWVudGF0aW9uIGFzIHdlbGwuCi0gIERyb3AgdGhlIG5vLW9wIFRyZWVCdWlsZGVyKCkueG1sKCkgbWV0aG9kIGZyb20gdGhlIEMgaW1wbGVtZW50YXRpb24uCi0KLS0gSXNzdWUgIzE0MjEwOiBwZGIgbm93IGhhcyB0YWItY29tcGxldGlvbiBub3Qgb25seSBmb3IgY29tbWFuZCBuYW1lcywgYnV0Ci0gIGFsc28gZm9yIHRoZWlyIGFyZ3VtZW50cywgd2hlcmV2ZXIgcG9zc2libGUuCi0KLS0gSXNzdWUgIzE0MzEwOiBTb2NrZXRzIGNhbiBub3cgYmUgd2l0aCBvdGhlciBwcm9jZXNzZXMgb24gV2luZG93cyB1c2luZwotICB0aGUgYXBpIHNvY2tldC5zb2NrZXQuc2hhcmUoKSBhbmQgc29ja2V0LmZyb21zaGFyZSgpLgotCi0tIElzc3VlICMxMDU3NjogVGhlIGdjIG1vZHVsZSBub3cgaGFzIGEgJ2NhbGxiYWNrcycgbWVtYmVyIHRoYXQgd2lsbCBnZXQKLSAgY2FsbGVkIHdoZW4gZ2FyYmFnZSBjb2xsZWN0aW9uIHRha2VzIHBsYWNlLgotCi1CdWlsZAotLS0tLS0KLQotLSBJc3N1ZSAjMTQ1NTc6IEZpeCBleHRlbnNpb25zIGJ1aWxkIG9uIEhQLVVYLiBQYXRjaCBieSBBZGkgUm9pYmFuLgotCi0tIElzc3VlICMxNDM4NzogRG8gbm90IGluY2x1ZGUgYWNjdS5oIGZyb20gUHl0aG9uLmguCi0KLS0gSXNzdWUgIzE0MzU5OiBPbmx5IHVzZSBPX0NMT0VYRUMgaW4gX3Bvc2l4bW9kdWxlLmMgaWYgaXQgaXMgZGVmaW5lZC4KLSAgQmFzZWQgb24gcGF0Y2ggZnJvbSBIZXJ2w6kgQ29hdGFuaGF5LgotCi0tIElzc3VlICMxNDMyMTogRG8gbm90IHJ1biBwZ2VuIGR1cmluZyB0aGUgYnVpbGQgaWYgZmlsZXMgYXJlIHVwIHRvIGRhdGUuCi0KLURvY3VtZW50YXRpb24KLS0tLS0tLS0tLS0tLS0KLQotLSBJc3N1ZSAjMTQwMzQ6IGFkZGVkIHRoZSBhcmdwYXJzZSB0dXRvcmlhbC4KLQotLSBJc3N1ZSAjMTQzMjQ6IEZpeCBjb25maWd1cmUgdGVzdHMgZm9yIGNyb3NzIGJ1aWxkcy4KLQotLSBJc3N1ZSAjMTQzMjc6IENhbGwgQUNfQ0FOT05JQ0FMX0hPU1QgaW4gY29uZmlndXJlLmFjIGFuZCBjaGVjayBpbgotICBjb25maWcue2d1ZXNzLHN1Yn0uIERvbid0IHVzZSB1bmFtZSBjYWxscyBmb3IgY3Jvc3MgYnVpbGRzLgotCi1FeHRlbnNpb24gTW9kdWxlcwotLS0tLS0tLS0tLS0tLS0tLS0KLQotLSBJc3N1ZSAjOTA0MTogQW4gaXNzdWUgaW4gY3R5cGVzLmNfbG9uZ2RvdWJsZSwgY3R5cGVzLmNfZG91YmxlLCBhbmQKLSAgY3R5cGVzLmNfZmxvYXQgdGhhdCBjYXVzZWQgYW4gaW5jb3JyZWN0IGV4Y2VwdGlvbiB0byBiZSByZXR1cm5lZCBpbiB0aGUKLSAgY2FzZSBvZiBvdmVyZmxvdyBoYXMgYmVlbiBmaXhlZC4KLQotLSBJc3N1ZSAjMTQyMTI6IFRoZSByZSBtb2R1bGUgZGlkbid0IHJldGFpbiBhIHJlZmVyZW5jZSB0byBidWZmZXJzIGl0IHdhcwotICBzY2FubmluZywgcmVzdWx0aW5nIGluIHNlZ2ZhdWx0cy4KLQotLSBJc3N1ZSAjMTQyNTk6IFRoZSBmaW5kaXRlcigpIG1ldGhvZCBvZiByZSBvYmplY3RzIGRpZCBub3QgdGFrZSBhbnkKLSAga2V5d29yZCBhcmd1bWVudHMsIGNvbnRyYXJ5IHRvIHRoZSBkb2N1bWVudGF0aW9uLgotCi0tIElzc3VlICMxMDE0MjogU3VwcG9ydCBmb3IgU0VFS19IT0xFL1NFRUtfREFUQSAoZm9yIGV4YW1wbGUsIHVuZGVyIFpGUykuCi0KLVRlc3RzCi0tLS0tLQotCi0tIElzc3VlICMxNDQ0MjogQWRkIG1pc3NpbmcgZXJybm8gaW1wb3J0IGluIHRlc3Rfc210cGxpYi4KLQotLSBJc3N1ZSAjODMxNTogKHBhcnRpYWwgZml4KSBweXRob24gLW0gdW5pdHRlc3QgdGVzdC50ZXN0X2VtYWlsIG5vdyB3b3Jrcy4KLQotCi1XaGF0J3MgTmV3IGluIFB5dGhvbiAzLjMuMCBBbHBoYSAxPwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLQotKlJlbGVhc2UgZGF0ZTogMDUtTWFyLTIwMTIqCi0KLUNvcmUgYW5kIEJ1aWx0aW5zCi0tLS0tLS0tLS0tLS0tLS0tLQotCi0tIElzc3VlICMxNDE3MjogRml4IHJlZmVyZW5jZSBsZWFrIHdoZW4gbWFyc2hhbGxpbmcgYSBidWZmZXItbGlrZSBvYmplY3QKLSAgKG90aGVyIHRoYW4gYSBieXRlcyBvYmplY3QpLgotCi0tIElzc3VlICMxMzUyMTogZGljdC5zZXRkZWZhdWx0KCkgbm93IGRvZXMgb25seSBvbmUgbG9va3VwIGZvciB0aGUgZ2l2ZW4ga2V5LAotICBtYWtpbmcgaXQgImF0b21pYyIgZm9yIG1hbnkgcHVycG9zZXMuICBQYXRjaCBieSBGaWxpcCBHcnVzemN6ecWEc2tpLgotCi0tIFBFUCA0MDksIElzc3VlICM2MjEwOiAicmFpc2UgWCBmcm9tIE5vbmUiIGlzIG5vdyBzdXBwb3J0ZWQgYXMgYSBtZWFucyBvZgotICBzdXBwcmVzc2luZyB0aGUgZGlzcGxheSBvZiB0aGUgY2hhaW5lZCBleGNlcHRpb24gY29udGV4dC4gVGhlIGNoYWluZWQKLSAgY29udGV4dCBzdGlsbCByZW1haW5zIGF2YWlsYWJsZSBhcyB0aGUgX19jb250ZXh0X18gYXR0cmlidXRlLgotCi0tIElzc3VlICMxMDE4MTogTmV3IG1lbW9yeXZpZXcgaW1wbGVtZW50YXRpb24gZml4ZXMgbXVsdGlwbGUgb3duZXJzaGlwCi0gIGFuZCBsaWZldGltZSBpc3N1ZXMgb2YgZHluYW1pY2FsbHkgYWxsb2NhdGVkIFB5X2J1ZmZlciBtZW1iZXJzICgjOTk5MCkKLSAgYXMgd2VsbCBhcyBjcmFzaGVzICgjODMwNSwgIzc0MzMpLiBNYW55IG5ldyBmZWF0dXJlcyBoYXZlIGJlZW4gYWRkZWQKLSAgKFNlZSB3aGF0c25ldy8zLjMpLCBhbmQgdGhlIGRvY3VtZW50YXRpb24gaGFzIGJlZW4gdXBkYXRlZCBleHRlbnNpdmVseS4KLSAgVGhlIG5kYXJyYXkgdGVzdCBvYmplY3QgZnJvbSBfdGVzdGJ1ZmZlci5jIGltcGxlbWVudHMgYWxsIGFzcGVjdHMgb2YKLSAgUEVQLTMxMTgsIHNvIGZ1cnRoZXIgZGV2ZWxvcG1lbnQgdG93YXJkcyB0aGUgY29tcGxldGUgaW1wbGVtZW50YXRpb24KLSAgb2YgdGhlIFBFUCBjYW4gcHJvY2VlZCBpbiBhIHRlc3QtZHJpdmVuIG1hbm5lci4KLQotICBUaGFua3MgdG8gTmljayBDb2dobGFuLCBBbnRvaW5lIFBpdHJvdSBhbmQgUGF1bGkgVmlydGFuZW4gZm9yIHJldmlldwotICBhbmQgbWFueSBpZGVhcy4KLQotLSBJc3N1ZSAjMTI4MzQ6IEZpeCBpbmNvcnJlY3QgcmVzdWx0cyBvZiBtZW1vcnl2aWV3LnRvYnl0ZXMoKSBmb3IKLSAgbm9uLWNvbnRpZ3VvdXMgYXJyYXlzLgotCi0tIElzc3VlICM1MjMxOiBJbnRyb2R1Y2UgbWVtb3J5dmlldy5jYXN0KCkgbWV0aG9kIHRoYXQgYWxsb3dzIGNoYW5naW5nCi0gIGZvcm1hdCBhbmQgc2hhcGUgd2l0aG91dCBtYWtpbmcgYSBjb3B5IG9mIHRoZSB1bmRlcmx5aW5nIG1lbW9yeS4KLQotLSBJc3N1ZSAjMTQwODQ6IEZpeCBhIGZpbGUgZGVzY3JpcHRvciBsZWFrIHdoZW4gaW1wb3J0aW5nIGEgbW9kdWxlIHdpdGggYQotICBiYWQgZW5jb2RpbmcuCi0KLS0gVXBncmFkZSBVbmljb2RlIGRhdGEgdG8gVW5pY29kZSA2LjEuCi0KLS0gSXNzdWUgIzE0MDQwOiBSZW1vdmUgcmFyZWx5IHVzZWQgZmlsZSBuYW1lIHN1ZmZpeGVzIGZvciBDIGV4dGVuc2lvbnMKLSAgKHVuZGVyIFBPU0lYIG1haW5seSkuCi0KLS0gSXNzdWUgIzE0MDUxOiBBbGxvdyBhcmJpdHJhcnkgYXR0cmlidXRlcyB0byBiZSBzZXQgb2YgY2xhc3NtZXRob2QgYW5kCi0gIHN0YXRpY21ldGhvZC4KLQotLSBJc3N1ZSAjMTM3MDM6IG9DRVJULTIwMTEtMDAzOiBSYW5kb21pemUgaGFzaGVzIG9mIHN0ciBhbmQgYnl0ZXMgdG8gcHJvdGVjdAotICBhZ2FpbnN0IGRlbmlhbCBvZiBzZXJ2aWNlIGF0dGFja3MgZHVlIHRvIGhhc2ggY29sbGlzaW9ucyB3aXRoaW4gdGhlIGRpY3QgYW5kCi0gIHNldCB0eXBlcy4gIFBhdGNoIGJ5IERhdmlkIE1hbGNvbG0sIGJhc2VkIG9uIHdvcmsgYnkgVmljdG9yIFN0aW5uZXIuCi0KLS0gSXNzdWUgIzEzMDIwOiBGaXggYSByZWZlcmVuY2UgbGVhayB3aGVuIGFsbG9jYXRpbmcgYSBzdHJ1Y3RzZXF1ZW5jZSBvYmplY3QKLSAgZmFpbHMuICBQYXRjaCBieSBTdW1hbiBTYWhhLgotCi0tIElzc3VlICMxMzkwODogUmVhZHkgdHlwZXMgcmV0dXJuZWQgZnJvbSBQeVR5cGVfRnJvbVNwZWMuCi0KLS0gSXNzdWUgIzExMjM1OiBGaXggT3ZlcmZsb3dFcnJvciB3aGVuIHRyeWluZyB0byBpbXBvcnQgYSBzb3VyY2UgZmlsZSB3aG9zZQotICBtb2RpZmljYXRpb24gdGltZSBkb2Vzbid0IGZpdCBpbiBhIDMyLWJpdCB0aW1lc3RhbXAuCi0KLS0gSXNzdWUgIzEyNzA1OiBBIFN5bnRheEVycm9yIGV4Y2VwdGlvbiBpcyBub3cgcmFpc2VkIHdoZW4gYXR0ZW1wdGluZyB0bwotICBjb21waWxlIG11bHRpcGxlIHN0YXRlbWVudHMgYXMgYSBzaW5nbGUgaW50ZXJhY3RpdmUgc3RhdGVtZW50LgotCi0tIEZpeCB0aGUgYnVpbHRpbiBtb2R1bGUgaW5pdGlhbGl6YXRpb24gY29kZSB0byBzdG9yZSB0aGUgaW5pdCBmdW5jdGlvbiBmb3IKLSAgZnV0dXJlIHJlaW5pdGlhbGl6YXRpb24uCi0KLS0gSXNzdWUgIzgwNTI6IFRoZSBwb3NpeCBzdWJwcm9jZXNzIG1vZHVsZSB3b3VsZCB0YWtlIGEgbG9uZyB0aW1lIGNsb3NpbmcKLSAgYWxsIHBvc3NpYmxlIGZpbGUgZGVzY3JpcHRvcnMgaW4gdGhlIGNoaWxkIHByb2Nlc3MgcmF0aGVyIHRoYW4ganVzdCBvcGVuCi0gIGZpbGUgZGVzY3JpcHRvcnMuICBJdCBub3cgY2xvc2VzIG9ubHkgdGhlIG9wZW4gZmRzIGlmIHBvc3NpYmxlIGZvciB0aGUKLSAgZGVmYXVsdCBjbG9zZV9mZHM9VHJ1ZSBiZWhhdmlvci4KLQotLSBJc3N1ZSAjMTM2Mjk6IFJlbnVtYmVyIHRoZSB0b2tlbnMgaW4gdG9rZW4uaCBzbyB0aGF0IHRoZXkgbWF0Y2ggdGhlIGluZGV4ZXMKLSAgaW50byBfUHlQYXJzZXJfVG9rZW5OYW1lcy4KLQotLSBJc3N1ZSAjMTM3NTI6IEFkZCBhIGNhc2Vmb2xkKCkgbWV0aG9kIHRvIHN0ci4KLQotLSBJc3N1ZSAjMTM3NjE6IEFkZCBhICJmbHVzaCIga2V5d29yZCBhcmd1bWVudCB0byB0aGUgcHJpbnQoKSBmdW5jdGlvbiwKLSAgdXNlZCB0byBlbnN1cmUgZmx1c2hpbmcgdGhlIG91dHB1dCBzdHJlYW0uCi0KLS0gSXNzdWUgIzEzNjQ1OiBweWMgZmlsZXMgbm93IGNvbnRhaW4gdGhlIHNpemUgb2YgdGhlIGNvcnJlc3BvbmRpbmcgc291cmNlCi0gIGNvZGUsIHRvIGF2b2lkIHRpbWVzdGFtcCBjb2xsaXNpb25zIChlc3BlY2lhbGx5IG9uIGZpbGVzeXN0ZW1zIHdpdGggYSBsb3cKLSAgdGltZXN0YW1wIHJlc29sdXRpb24pIHdoZW4gY2hlY2tpbmcgZm9yIGZyZXNobmVzcyBvZiB0aGUgYnl0ZWNvZGUuCi0KLS0gUEVQIDM4MCwgSXNzdWUgIzExNjgyOiBBZGQgInlpZWxkIGZyb20gPHg+IiB0byBzdXBwb3J0IGVhc3kgZGVsZWdhdGlvbiB0bwotICBzdWJnZW5lcmF0b3JzIChpbml0aWFsIHBhdGNoIGJ5IEdyZWcgRXdpbmcsIGludGVncmF0aW9uIGludG8gMy4zIGJ5Ci0gIFJlbmF1ZCBCbGFuY2gsIFJ5YW4gS2VsbHksIFpiaWduaWV3IErEmWRyemVqZXdza2ktU3ptZWsgYW5kIE5pY2sgQ29naGxhbikKLQotLSBJc3N1ZSAjMTM3NDg6IFJhdyBieXRlcyBsaXRlcmFscyBjYW4gbm93IGJlIHdyaXR0ZW4gd2l0aCB0aGUgYGByYmBgIHByZWZpeAotICBhcyB3ZWxsIGFzIGBgYnJgYC4KLQotLSBJc3N1ZSAjMTI3MzY6IFVzZSBmdWxsIHVuaWNvZGUgY2FzZSBtYXBwaW5ncyBmb3IgdXBwZXIsIGxvd2VyLCBhbmQgdGl0bGUgY2FzZS4KLQotLSBJc3N1ZSAjMTI3NjA6IEFkZCBhIGNyZWF0ZSBtb2RlIHRvIG9wZW4oKS4gUGF0Y2ggYnkgRGF2aWQgVG93bnNoZW5kLgotCi0tIElzc3VlICMxMzczODogU2ltcGxpZnkgaW1wbGVtZW50YXRpb24gb2YgYnl0ZXMubG93ZXIoKSBhbmQgYnl0ZXMudXBwZXIoKS4KLQotLSBJc3N1ZSAjMTM1Nzc6IEJ1aWx0LWluIG1ldGhvZHMgYW5kIGZ1bmN0aW9ucyBub3cgaGF2ZSBhIF9fcXVhbG5hbWVfXy4KLSAgUGF0Y2ggYnkgc2J0LgotCi0tIElzc3VlICM2Njk1OiBGdWxsIGdhcmJhZ2UgY29sbGVjdGlvbiBydW5zIG5vdyBjbGVhciB0aGUgZnJlZWxpc3Qgb2Ygc2V0Ci0gIG9iamVjdHMuICBJbml0aWFsIHBhdGNoIGJ5IE1hdHRoaWFzIFRyb2ZmYWVzLgotCi0tIEZpeCBPU0Vycm9yLl9faW5pdF9fIGFuZCBPU0Vycm9yLl9fbmV3X18gc28gdGhhdCBlYWNoIG9mIHRoZW0gY2FuIGJlCi0gIG92ZXJyaWRlbiBhbmQgdGFrZSBhZGRpdGlvbmFsIGFyZ3VtZW50cyAoZm9sbG93dXAgdG8gaXNzdWUgIzEyNTU1KS4KLQotLSBGaXggdGhlIGZpeCBmb3IgaXNzdWUgIzEyMTQ5OiBpdCB3YXMgaW5jb3JyZWN0LCBhbHRob3VnaCBpdCBoYWQgdGhlIHNpZGUKLSAgZWZmZWN0IG9mIGFwcGVhcmluZyB0byByZXNvbHZlIHRoZSBpc3N1ZS4gIFRoYW5rcyB0byBNYXJrIFNoYW5ub24gZm9yCi0gIG5vdGljaW5nLgotCi0tIElzc3VlICMxMzUwNTogUGlja2xlIGJ5dGVzIG9iamVjdHMgaW4gYSB3YXkgdGhhdCBpcyBjb21wYXRpYmxlIHdpdGgKLSAgUHl0aG9uIDIgd2hlbiB1c2luZyBwcm90b2NvbHMgPD0gMi4KLQotLSBJc3N1ZSAjMTExNDc6IEZpeCBhbiB1bnVzZWQgYXJndW1lbnQgaW4gX1B5X0FOTk9UQVRFX01FTU9SWV9PUkRFUi4gIChGaXgKLSAgZ2l2ZW4gYnkgQ2FtcGJlbGwgQmFydG9uKS4KLQotLSBJc3N1ZSAjMTM1MDM6IFVzZSBhIG1vcmUgZWZmaWNpZW50IHJlZHVjdGlvbiBmb3JtYXQgZm9yIGJ5dGVhcnJheXMgd2l0aAotICBwaWNrbGUgcHJvdG9jb2wgPj0gMy4gIFRoZSBvbGQgcmVkdWN0aW9uIGZvcm1hdCBpcyBrZXB0IHdpdGggb2xkZXIgcHJvdG9jb2xzCi0gIGluIG9yZGVyIHRvIGFsbG93IHVucGlja2xpbmcgdW5kZXIgUHl0aG9uIDIuICBQYXRjaCBieSBJcm1lbiBkZSBKb25nLgotCi0tIElzc3VlICM3MTExOiBQeXRob24gY2FuIG5vdyBiZSBydW4gd2l0aG91dCBhIHN0ZGluLCBzdGRvdXQgb3Igc3RkZXJyCi0gIHN0cmVhbS4gIEl0IHdhcyBhbHJlYWR5IHRoZSBjYXNlIHdpdGggUHl0aG9uIDIuICBIb3dldmVyLCB0aGUgY29ycmVzcG9uZGluZwotICBzeXMgbW9kdWxlIGVudHJpZXMgYXJlIG5vdyBzZXQgdG8gTm9uZSAoaW5zdGVhZCBvZiBhbiB1bnVzYWJsZSBmaWxlIG9iamVjdCkuCi0KLS0gSXNzdWUgIzExODQ5OiBFbnN1cmUgdGhhdCBmcmVlKClkIG1lbW9yeSBhcmVuYXMgYXJlIHJlYWxseSByZWxlYXNlZAotICBvbiBQT1NJWCBzeXN0ZW1zIHN1cHBvcnRpbmcgYW5vbnltb3VzIG1lbW9yeSBtYXBwaW5ncy4gIFBhdGNoIGJ5Ci0gIENoYXJsZXMtRnJhbsOnb2lzIE5hdGFsaS4KLQotLSBQRVAgMzE1NSAvIGlzc3VlICMxMzQ0ODogUXVhbGlmaWVkIG5hbWUgZm9yIGNsYXNzZXMgYW5kIGZ1bmN0aW9ucy4KLQotLSBJc3N1ZSAjMTM0MzY6IEZpeCBhIGJvZ3VzIGVycm9yIG1lc3NhZ2Ugd2hlbiBhbiBBU1Qgb2JqZWN0IHdhcyBwYXNzZWQKLSAgYW4gaW52YWxpZCBpbnRlZ2VyIHZhbHVlLgotCi0tIElzc3VlICMxMzQxMTogbWVtb3J5dmlldyBvYmplY3RzIGFyZSBub3cgaGFzaGFibGUgd2hlbiB0aGUgdW5kZXJseWluZwotICBvYmplY3QgaXMgaGFzaGFibGUuCi0KLS0gSXNzdWUgIzEzMzM4OiBIYW5kbGUgYWxsIGVudW1lcmF0aW9ucyBpbiBfUHlfQU5OT1RBVEVfTUVNT1JZX09SREVSCi0gIHRvIGFsbG93IGNvbXBpbGluZyBleHRlbnNpb24gbW9kdWxlcyB3aXRoIC1Xc3dpdGNoLWVudW0gb24gZ2NjLgotICBJbml0aWFsIHBhdGNoIGJ5IEZsb3JpcyBCcnV5bm9vZ2hlLgotCi0tIElzc3VlICMxMDIyNzogQWRkIGFuIGFsbG9jYXRpb24gY2FjaGUgZm9yIGEgc2luZ2xlIHNsaWNlIG9iamVjdC4gIFBhdGNoIGJ5Ci0gIFN0ZWZhbiBCZWhuZWwuCi0KLS0gSXNzdWUgIzEzMzkzOiBCdWZmZXJlZFJlYWRlci5yZWFkMSgpIG5vdyBhc2tzIHRoZSBmdWxsIHJlcXVlc3RlZCBzaXplIHRvCi0gIHRoZSByYXcgc3RyZWFtIGluc3RlYWQgb2YgbGltaXRpbmcgaXRzZWxmIHRvIHRoZSBidWZmZXIgc2l6ZS4KLQotLSBJc3N1ZSAjMTMzOTI6IFdyaXRpbmcgYSBweWMgZmlsZSBzaG91bGQgbm93IGJlIGF0b21pYyB1bmRlciBXaW5kb3dzIGFzIHdlbGwuCi0KLS0gSXNzdWUgIzEzMzMzOiBUaGUgVVRGLTcgZGVjb2RlciBub3cgYWNjZXB0cyBsb25lIHN1cnJvZ2F0ZXMgKHRoZSBlbmNvZGVyCi0gIGFscmVhZHkgYWNjZXB0cyB0aGVtKS4KLQotLSBJc3N1ZSAjMTMzODk6IEZ1bGwgZ2FyYmFnZSBjb2xsZWN0aW9uIHBhc3NlcyBub3cgY2xlYXIgdGhlIGZyZWVsaXN0cyBmb3IKLSAgbGlzdCBhbmQgZGljdCBvYmplY3RzLiAgVGhleSBhbHJlYWR5IGNsZWFyZWQgb3RoZXIgZnJlZWxpc3RzIGluIHRoZQotICBpbnRlcnByZXRlci4KLQotLSBJc3N1ZSAjMTMzMjc6IFJlbW92ZSB0aGUgbmVlZCBmb3IgYW4gZXhwbGljaXQgTm9uZSBhcyB0aGUgc2Vjb25kIGFyZ3VtZW50Ci0gIHRvIG9zLnV0aW1lLCBvcy5sdXRpbWVzLCBvcy5mdXRpbWVzLCBvcy5mdXRpbWVucywgb3MuZnV0aW1lc2F0LCBpbgotICBvcmRlciB0byB1cGRhdGUgdG8gdGhlIGN1cnJlbnQgdGltZS4gQWxzbyBhZGRlZCBrZXl3b3JkIGFyZ3VtZW50Ci0gIGhhbmRsaW5nIHRvIG9zLnV0aW1lbnNhdCBpbiBvcmRlciB0byByZW1vdmUgdGhlIG5lZWQgZm9yIGV4cGxpY2l0IE5vbmUuCi0KLS0gSXNzdWUgIzEzMzUwOiBTaW1wbGlmeSBzb21lIEMgY29kZSBieSByZXBsYWNpbmcgbW9zdCB1c2FnZXMgb2YKLSAgUHlVbmljb2RlX0Zvcm1hdCBieSBQeVVuaWNvZGVfRnJvbUZvcm1hdC4KLQotLSBJc3N1ZSAjMTMzNDI6IGlucHV0KCkgdXNlZCB0byBpZ25vcmUgc3lzLnN0ZGluJ3MgYW5kIHN5cy5zdGRvdXQncyB1bmljb2RlCi0gIGVycm9yIGhhbmRsZXIgaW4gaW50ZXJhY3RpdmUgbW9kZSAod2hlbiBjYWxsaW5nIGludG8gUHlPU19SZWFkbGluZSgpKS4KLQotLSBJc3N1ZSAjOTg5NjogQWRkIHN0YXJ0LCBzdG9wLCBhbmQgc3RlcCBhdHRyaWJ1dGVzIHRvIHJhbmdlIG9iamVjdHMuCi0KLS0gSXNzdWUgIzEzMzQzOiBGaXggYSBTeXN0ZW1FcnJvciB3aGVuIGEgbGFtYmRhIGV4cHJlc3Npb24gdXNlcyBhIGdsb2JhbAotICB2YXJpYWJsZSBpbiB0aGUgZGVmYXVsdCB2YWx1ZSBvZiBhIGtleXdvcmQtb25seSBhcmd1bWVudDogYGBsYW1iZGEgKiwKLSAgYXJnPUdMT0JBTF9OQU1FOiBOb25lYGAKLQotLSBJc3N1ZSAjMTI3OTc6IEFkZGVkIGN1c3RvbSBvcGVuZXIgcGFyYW1ldGVyIHRvIGJ1aWx0aW4gb3BlbigpIGFuZAotICBGaWxlSU8ub3BlbigpLgotCi0tIElzc3VlICMxMDUxOTogQXZvaWQgdW5uZWNlc3NhcnkgcmVjdXJzaXZlIGZ1bmN0aW9uIGNhbGxzIGluCi0gIHNldG9iamVjdC5jLgotCi0tIElzc3VlICMxMDM2MzogRGVhbGxvY2F0ZSBnbG9iYWwgbG9ja3MgaW4gUHlfRmluYWxpemUoKS4KLQotLSBJc3N1ZSAjMTMwMTg6IEZpeCByZWZlcmVuY2UgbGVha3MgaW4gZXJyb3IgcGF0aHMgaW4gZGljdG9iamVjdC5jLgotICBQYXRjaCBieSBTdW1hbiBTYWhhLgotCi0tIElzc3VlICMxMzIwMTogRGVmaW5lICc9PScgYW5kICchPScgdG8gY29tcGFyZSByYW5nZSBvYmplY3RzIGJhc2VkIG9uCi0gIHRoZSBzZXF1ZW5jZSBvZiB2YWx1ZXMgdGhleSBkZWZpbmUgKGluc3RlYWQgb2YgY29tcGFyaW5nIGJhc2VkIG9uCi0gIG9iamVjdCBpZGVudGl0eSkuCi0KLS0gSXNzdWUgIzEyOTQyMzI6IEluIGEgZmV3IGNhc2VzIGludm9sdmluZyBtZXRhY2xhc3MgaW5oZXJpdGFuY2UsIHRoZQotICBpbnRlcnByZXRlciB3b3VsZCBzb21ldGltZXMgaW52b2tlIHRoZSB3cm9uZyBtZXRhY2xhc3Mgd2hlbiBidWlsZGluZyBhIG5ldwotICBjbGFzcyBvYmplY3QuIFRoZXNlIGNhc2VzIG5vdyBiZWhhdmUgY29ycmVjdGx5LiBQYXRjaCBieSBEYW5pZWwgVXJiYW4uCi0KLS0gSXNzdWUgIzEyNzUzOiBBZGQgc3VwcG9ydCBmb3IgVW5pY29kZSBuYW1lIGFsaWFzZXMgYW5kIG5hbWVkIHNlcXVlbmNlcy4KLSAgQm90aCBgYHVuaWNvZGVkYXRhLmxvb2t1cCgpYGAgYW5kICdcTnsuLi59JyBub3cgcmVzb2x2ZSBhbGlhc2VzLAotICBhbmQgYGB1bmljb2RlZGF0YS5sb29rdXAoKWBgIHJlc29sdmVzIG5hbWVkIHNlcXVlbmNlcyB0b28uCi0KLS0gSXNzdWUgIzEyMTcwOiBUaGUgY291bnQoKSwgZmluZCgpLCByZmluZCgpLCBpbmRleCgpIGFuZCByaW5kZXgoKSBtZXRob2RzCi0gIG9mIGJ5dGVzIGFuZCBieXRlYXJyYXkgb2JqZWN0cyBub3cgYWNjZXB0IGFuIGludGVnZXIgYmV0d2VlbiAwIGFuZCAyNTUKLSAgYXMgdGhlaXIgZmlyc3QgYXJndW1lbnQuICBQYXRjaCBieSBQZXRyaSBMZWh0aW5lbi4KLQotLSBJc3N1ZSAjMTI2MDQ6IFZUUkFDRSBtYWNybyBleHBhbmRlZCB0byBuby1vcCBpbiBfc3JlLmMgdG8gYXZvaWQgY29tcGlsZXIKLSAgd2FybmluZ3MuIFBhdGNoIGJ5IEpvc2ggVHJpcGxldHQgYW5kIFBldHJpIExlaHRpbmVuLgotCi0tIElzc3VlICMxMjI4MTogUmV3cml0ZSB0aGUgTUJDUyBjb2RlYyB0byBoYW5kbGUgY29ycmVjdGx5IHJlcGxhY2UgYW5kIGlnbm9yZQotICBlcnJvciBoYW5kbGVycyBvbiBhbGwgV2luZG93cyB2ZXJzaW9ucy4gVGhlIE1CQ1MgY29kZWMgaXMgbm93IHN1cHBvcnRpbmcgYWxsCi0gIGVycm9yIGhhbmRsZXJzLCBpbnN0ZWFkIG9mIG9ubHkgcmVwbGFjZSB0byBlbmNvZGUgYW5kIGlnbm9yZSB0byBkZWNvZGUuCi0KLS0gSXNzdWUgIzEzMTg4OiBXaGVuIGNhbGxlZCB3aXRob3V0IGFuIGV4cGxpY2l0IHRyYWNlYmFjayBhcmd1bWVudCwKLSAgZ2VuZXJhdG9yLnRocm93KCkgbm93IGdldHMgdGhlIHRyYWNlYmFjayBmcm9tIHRoZSBwYXNzZWQgZXhjZXB0aW9uJ3MKLSAgYGBfX3RyYWNlYmFja19fYGAgYXR0cmlidXRlLiAgUGF0Y2ggYnkgUGV0cmkgTGVodGluZW4uCi0KLS0gSXNzdWUgIzEzMTQ2OiBXcml0aW5nIGEgcHljIGZpbGUgaXMgbm93IGF0b21pYyB1bmRlciBQT1NJWC4KLQotLSBJc3N1ZSAjNzgzMzogRXh0ZW5zaW9uIG1vZHVsZXMgYnVpbHQgdXNpbmcgZGlzdHV0aWxzIG9uIFdpbmRvd3Mgd2lsbCBubwotICBsb25nZXIgaW5jbHVkZSBhICJtYW5pZmVzdCIgdG8gcHJldmVudCB0aGVtIGZhaWxpbmcgYXQgaW1wb3J0IHRpbWUgaW4gc29tZQotICBlbWJlZGRlZCBzaXR1YXRpb25zLgotCi0tIFBFUCAzMTUxIC8gaXNzdWUgIzEyNTU1OiByZXdvcmtpbmcgdGhlIE9TIGFuZCBJTyBleGNlcHRpb24gaGllcmFyY2h5LgotCi0tIEFkZCBpbnRlcm5hbCBBUEkgZm9yIHN0YXRpYyBzdHJpbmdzIChfUHlfaWRlbnRpZmllciBldCBhbC4pLgotCi0tIElzc3VlICMxMzA2MzogdGhlIFdpbmRvd3MgZXJyb3IgRVJST1JfTk9fREFUQSAobnVtYmVyZWQgMjMyIGFuZCBkZXNjcmliZWQKLSAgYXMgIlRoZSBwaXBlIGlzIGJlaW5nIGNsb3NlZCIpIGlzIG5vdyBtYXBwZWQgdG8gUE9TSVggZXJybm8gRVBJUEUKLSAgKHByZXZpb3VzbHkgRUlOVkFMKS4KLQotLSBJc3N1ZSAjMTI5MTE6IEZpeCBtZW1vcnkgY29uc3VtcHRpb24gd2hlbiBjYWxjdWxhdGluZyB0aGUgcmVwcigpIG9mIGh1Z2UKLSAgdHVwbGVzIG9yIGxpc3RzLgotCi0tIFBFUCAzOTM6IGZsZXhpYmxlIHN0cmluZyByZXByZXNlbnRhdGlvbi4gVGhhbmtzIHRvIFRvcnN0ZW4gQmVja2VyIGZvciB0aGUKLSAgaW5pdGlhbCBpbXBsZW1lbnRhdGlvbiwgYW5kIFZpY3RvciBTdGlubmVyIGZvciB2YXJpb3VzIGJ1ZyBmaXhlcy4KLQotLSBJc3N1ZSAjMTQwODE6IFRoZSAnc2VwJyBhbmQgJ21heHNwbGl0JyBwYXJhbWV0ZXIgdG8gc3RyLnNwbGl0LCBieXRlcy5zcGxpdCwKLSAgYW5kIGJ5dGVhcnJheS5zcGxpdCBtYXkgbm93IGJlIHBhc3NlZCBhcyBrZXl3b3JkIGFyZ3VtZW50cy4KLQotLSBJc3N1ZSAjMTMwMTI6IFRoZSAna2VlcGVuZHMnIHBhcmFtZXRlciB0byBzdHIuc3BsaXRsaW5lcyBtYXkgbm93IGJlIHBhc3NlZAotICBhcyBhIGtleXdvcmQgYXJndW1lbnQ6ICAibXlfc3RyaW5nLnNwbGl0bGluZXMoa2VlcGVuZHM9VHJ1ZSkiLiAgVGhlIHNhbWUKLSAgY2hhbmdlIGFsc28gYXBwbGllcyB0byBieXRlcy5zcGxpdGxpbmVzIGFuZCBieXRlYXJyYXkuc3BsaXRsaW5lcy4KLQotLSBJc3N1ZSAjNzczMjogRG9uJ3Qgb3BlbiBhIGRpcmVjdG9yeSBhcyBhIGZpbGUgYW55bW9yZSB3aGlsZSBpbXBvcnRpbmcgYQotICBtb2R1bGUuIElnbm9yZSB0aGUgZGlyZWNvdHJ5IGlmIGl0cyBuYW1lIG1hdGNocyB0aGUgbW9kdWxlIG5hbWUgKGUuZy4KLSAgIl9faW5pdF9fLnB5IikgYW5kIHJhaXNlIGEgSW1wb3J0RXJyb3IgaW5zdGVhZC4KLQotLSBJc3N1ZSAjMTMwMjE6IE1pc3NpbmcgZGVjcmVmIG9uIGFuIGVycm9yIHBhdGguICBUaGFua3MgdG8gU3VtYW4gU2FoYSBmb3IKLSAgZmluZGluZyB0aGUgYnVnIGFuZCBwcm92aWRpbmcgYSBwYXRjaC4KLQotLSBJc3N1ZSAjMTI5NzM6IEZpeCBvdmVyZmxvdyBjaGVja3MgdGhhdCByZWxpZWQgb24gdW5kZWZpbmVkIGJlaGF2aW91ciBpbgotICBsaXN0X3JlcGVhdCAobGlzdG9iamVjdC5jKSBhbmQgaXNsaWNlX25leHQgKGl0ZXJ0b29sc21vZHVsZS5jKS4gIFRoZXNlIGJ1Z3MKLSAgY2F1c2VkIHRlc3QgZmFpbHVyZXMgd2l0aCByZWNlbnQgdmVyc2lvbnMgb2YgQ2xhbmcuCi0KLS0gSXNzdWUgIzEyOTA0OiBvcy51dGltZSwgb3MuZnV0aW1lcywgb3MubHV0aW1lcywgYW5kIG9zLmZ1dGltZXNhdCBub3cgd3JpdGUKLSAgYXRpbWUgYW5kIG10aW1lIHdpdGggbmFub3NlY29uZCBwcmVjaXNpb24gb24gbW9kZXJuIFBPU0lYIHBsYXRmb3Jtcy4KLQotLSBJc3N1ZSAjMTI4MDI6IHRoZSBXaW5kb3dzIGVycm9yIEVSUk9SX0RJUkVDVE9SWSAobnVtYmVyZWQgMjY3KSBpcyBub3cKLSAgbWFwcGVkIHRvIFBPU0lYIGVycm5vIEVOT1RESVIgKHByZXZpb3VzbHkgRUlOVkFMKS4KLQotLSBJc3N1ZSAjOTIwMDogVGhlIHN0ci5pcyogbWV0aG9kcyBub3cgd29yayB3aXRoIHN0cmluZ3MgdGhhdCBjb250YWluIG5vbi1CTVAKLSAgY2hhcmFjdGVycyBldmVuIGluIG5hcnJvdyBVbmljb2RlIGJ1aWxkcy4KLQotLSBJc3N1ZSAjMTI3OTE6IEJyZWFrIHJlZmVyZW5jZSBjeWNsZXMgZWFybHkgd2hlbiBhIGdlbmVyYXRvciBleGl0cyB3aXRoCi0gIGFuIGV4Y2VwdGlvbi4KLQotLSBJc3N1ZSAjMTI3NzM6IE1ha2UgX19kb2NfXyBtdXRhYmxlIG9uIHVzZXItZGVmaW5lZCBjbGFzc2VzLgotCi0tIElzc3VlICMxMjc2NjogUmFpc2UgYSBWYWx1ZUVycm9yIHdoZW4gY3JlYXRpbmcgYSBjbGFzcyB3aXRoIGEgY2xhc3MgdmFyaWFibGUKLSAgdGhhdCBjb25mbGljdHMgd2l0aCBhIG5hbWUgaW4gX19zbG90c19fLgotCi0tIElzc3VlICMxMjI2NjogRml4IHN0ci5jYXBpdGFsaXplKCkgdG8gY29ycmVjdGx5IHVwcGVyY2FzZS9sb3dlcmNhc2UKLSAgdGl0bGVjYXNlZCBhbmQgY2FzZWQgbm9uLWxldHRlciBjaGFyYWN0ZXJzLgotCi0tIElzc3VlICMxMjczMjogSW4gbmFycm93IHVuaWNvZGUgYnVpbGRzLCBhbGxvdyBVbmljb2RlIGlkZW50aWZpZXJzIHdoaWNoIGZhbGwKLSAgb3V0c2lkZSB0aGUgQk1QLgotCi0tIElzc3VlICMxMjU3NTogVmFsaWRhdGUgdXNlci1nZW5lcmF0ZWQgQVNUIGJlZm9yZSBpdCBpcyBjb21waWxlZC4KLQotLSBNYWtlIHR5cGUoTm9uZSksIHR5cGUoRWxsaXBzaXMpLCBhbmQgdHlwZShOb3RJbXBsZW1lbnRlZCkgY2FsbGFibGUuIFRoZXkKLSAgcmV0dXJuIHRoZSByZXNwZWN0aXZlIHNpbmdsZXRvbiBpbnN0YW5jZXMuCi0KLS0gRm9yYmlkIHN1bW1pbmcgYnl0ZXMgd2l0aCBzdW0oKS4KLQotLSBWZXJpZnkgdGhlIHR5cGVzIG9mIEFTVCBzdHJpbmdzIGFuZCBpZGVudGlmaWVycyBwcm92aWRlZCBieSB0aGUgdXNlciBiZWZvcmUKLSAgY29tcGlsaW5nIHRoZW0uCi0KLS0gSXNzdWUgIzEyNjQ3OiBUaGUgTm9uZSBvYmplY3Qgbm93IGhhcyBhIF9fYm9vbF9fKCkgbWV0aG9kIHRoYXQgcmV0dXJucyBGYWxzZS4KLSAgRm9ybWVybHksIGJvb2woTm9uZSkgcmV0dXJuZWQgRmFsc2Ugb25seSBiZWNhdXNlIG9mIHNwZWNpYWwgY2FzZSBsb2dpYwotICBpbiBQeU9iamVjdF9Jc1RydWUoKS4KLQotLSBJc3N1ZSAjMTI1Nzk6IHN0ci5mb3JtYXRfbWFwKCkgbm93IHJhaXNlcyBhIFZhbHVlRXJyb3IgaWYgdXNlZCBvbiBhCi0gIGZvcm1hdCBzdHJpbmcgdGhhdCBjb250YWlucyBwb3NpdGlvbmFsIGZpZWxkcy4gSW5pdGlhbCBwYXRjaCBieQotICBKdWxpYW4gQmVybWFuLgotCi0tIElzc3VlICMxMDI3MTogQWxsb3cgd2FybmluZ3Muc2hvd3dhcm5pbmcoKSBiZSBhbnkgY2FsbGFibGUuCi0KLS0gSXNzdWUgIzExNjI3OiBGaXggc2VnZmF1bHQgd2hlbiBfX25ld19fIG9uIGEgZXhjZXB0aW9uIHJldHVybnMgYQotICBub24tZXhjZXB0aW9uIGNsYXNzLgotCi0tIElzc3VlICMxMjE0OTogVXBkYXRlIHRoZSBtZXRob2QgY2FjaGUgYWZ0ZXIgYSB0eXBlJ3MgZGljdGlvbmFyeSBnZXRzCi0gIGNsZWFyZWQgYnkgdGhlIGdhcmJhZ2UgY29sbGVjdG9yLiAgVGhpcyBmaXhlcyBhIHNlZ2ZhdWx0IHdoZW4gYW4gaW5zdGFuY2UKLSAgYW5kIGl0cyB0eXBlIGdldCBjYXVnaHQgaW4gYSByZWZlcmVuY2UgY3ljbGUsIGFuZCB0aGUgaW5zdGFuY2UncwotICBkZWFsbG9jYXRvciBjYWxscyBvbmUgb2YgdGhlIG1ldGhvZHMgb24gdGhlIHR5cGUgKGUuZy4gd2hlbiBzdWJjbGFzc2luZwotICBJT0Jhc2UpLiAgRGlhZ25vc2lzIGFuZCBwYXRjaCBieSBEYXZpZGUgUml6em8uCi0KLS0gSXNzdWUgIzk2MTEsIElzc3VlICM5MDE1OiBGaWxlSU8ucmVhZCgpIGNsYW1wcyB0aGUgbGVuZ3RoIHRvIElOVF9NQVggb24gV2luZG93cy4KLQotLSBJc3N1ZSAjOTY0MjogVW5pZm9ybWl6ZSB0aGUgdGVzdHMgb24gdGhlIGF2YWlsYWJpbGl0eSBvZiB0aGUgbWJjcyBjb2RlYywgYWRkCi0gIGEgbmV3IEhBVkVfTUJDUyBkZWZpbmUuCi0KLS0gSXNzdWUgIzk2NDI6IEZpeCBmaWxlc3lzdGVtIGVuY29kaW5nIGluaXRpYWxpemF0aW9uOiB1c2UgdGhlIEFOU0kgY29kZSBwYWdlCi0gIG9uIFdpbmRvd3MgaWYgdGhlIG1iY3MgY29kZWMgaXMgbm90IGF2YWlsYWJsZSwgYW5kIGZhaWwgd2l0aCBhIGZhdGFsIGVycm9yIGlmCi0gIHdlIGNhbm5vdCBnZXQgdGhlIGxvY2FsZSBlbmNvZGluZyAoaWYgbmxfbGFuZ2luZm8oQ09ERVNFVCkgaXMgbm90IGF2YWlsYWJsZSkKLSAgaW5zdGVhZCBvZiB1c2luZyBVVEYtOC4KLQotLSBXaGVuIGEgZ2VuZXJhdG9yIHlpZWxkcywgZG8gbm90IHJldGFpbiB0aGUgY2FsbGVyJ3MgZXhjZXB0aW9uIHN0YXRlIG9uIHRoZQotICBnZW5lcmF0b3IuCi0KLS0gSXNzdWUgIzEyNDc1OiBQcmV2ZW50IGdlbmVyYXRvcnMgZnJvbSBsZWFraW5nIHRoZWlyIGV4Y2VwdGlvbiBzdGF0ZSBpbnRvIHRoZQotICBjYWxsZXIncyBmcmFtZSBhcyB0aGV5IHJldHVybiBmb3IgdGhlIGxhc3QgdGltZS4KLQotLSBJc3N1ZSAjMTIyOTE6IFlvdSBjYW4gbm93IGxvYWQgbXVsdGlwbGUgbWFyc2hhbGxlZCBvYmplY3RzIGZyb20gYSBzdHJlYW0sCi0gIHdpdGggb3RoZXIgZGF0YSBpbnRlcmxlYXZlZCBiZXR3ZWVuIG1hcnNoYWxsZWQgb2JqZWN0cy4KLQotLSBJc3N1ZSAjMTIzNTY6IFdoZW4gcmVxdWlyZWQgcG9zaXRpb25hbCBvciBrZXl3b3JkLW9ubHkgYXJndW1lbnRzIGFyZSBub3QKLSAgZ2l2ZW4sIHByb2R1Y2UgYSBpbmZvcm1hdGl2ZSBlcnJvciBtZXNzYWdlIHdoaWNoIGluY2x1ZGVzIHRoZSBuYW1lKHMpIG9mIHRoZQotICBtaXNzaW5nIGFyZ3VtZW50cy4KLQotLSBJc3N1ZSAjMTIzNzA6IEZpeCBzdXBlciB3aXRoIG5vIGFyZ3VtZW50cyB3aGVuIF9fY2xhc3NfXyBpcyBvdmVycmlkZW4gaW4gdGhlCi0gIGNsYXNzIGJvZHkuCi0KLS0gSXNzdWUgIzEyMDg0OiBvcy5zdGF0IG9uIFdpbmRvd3Mgbm93IHdvcmtzIHByb3Blcmx5IHdpdGggcmVsYXRpdmUgc3ltYm9saWMKLSAgbGlua3Mgd2hlbiBjYWxsZWQgZnJvbSBhbnkgZGlyZWN0b3J5LgotCi0tIExvb3NlbiB0eXBlIHJlc3RyaWN0aW9ucyBvbiB0aGUgX19kaXJfXyBtZXRob2QuIF9fZGlyX18gY2FuIG5vdyByZXR1cm4gYW55Ci0gIHNlcXVlbmNlLCB3aGljaCB3aWxsIGJlIGNvbnZlcnRlZCB0byBhIGxpc3QgYW5kIHNvcnRlZCBieSBkaXIoKS4KLQotLSBJc3N1ZSAjMTIyNjU6IE1ha2UgZXJyb3IgbWVzc2FnZXMgcHJvZHVjZWQgYnkgcGFzc2luZyBhbiBpbnZhbGlkIHNldCBvZgotICBhcmd1bWVudHMgdG8gYSBmdW5jdGlvbiBtb3JlIGluZm9ybWF0aXZlLgotCi0tIElzc3VlICMxMjIyNTogU3RpbGwgYWxsb3cgUHl0aG9uIHRvIGJ1aWxkIGlmIFB5dGhvbiBpcyBub3QgaW4gaXRzIGhnIHJlcG8gb3IKLSAgbWVyY3VyaWFsIGlzIG5vdCBpbnN0YWxsZWQuCi0KLS0gSXNzdWUgIzExOTU6IG15X2ZnZXRzKCkgbm93IGFsd2F5cyBjbGVhcnMgZXJyb3JzIGJlZm9yZSBjYWxsaW5nIGZnZXRzKCkuIEZpeAotICB0aGUgZm9sbG93aW5nIGNhc2U6IHN5cy5zdGRpbi5yZWFkKCkgc3RvcHBlZCB3aXRoIENUUkwrZCAoZW5kIG9mIGZpbGUpLAotICByYXdfaW5wdXQoKSBpbnRlcnJ1cHRlZCBieSBDVFJMK2MuCi0KLS0gSXNzdWUgIzEyMjE2OiBBbGxvdyB1bmV4cGVjdGVkIEVPRiBlcnJvcnMgdG8gaGFwcGVuIG9uIGFueSBsaW5lIG9mIHRoZSBmaWxlLgotCi0tIElzc3VlICMxMjE5OTogVGhlIFRyeUV4Y2VwdCBhbmQgVHJ5RmluYWxseSBhbmQgQVNUIG5vZGVzIGhhdmUgYmVlbiB1bmlmaWVkCi0gIGludG8gYSBUcnkgbm9kZS4KLQotLSBJc3N1ZSAjOTY3MDogSW5jcmVhc2UgdGhlIGRlZmF1bHQgc3RhY2sgc2l6ZSBmb3Igc2Vjb25kYXJ5IHRocmVhZHMgb24KLSAgTWFjIE9TIFggYW5kIEZyZWVCU0QgdG8gcmVkdWNlIHRoZSBjaGFuY2VzIG9mIGEgY3Jhc2ggaW5zdGVhZCBvZiBhCi0gICJtYXhpbXVtIHJlY3Vyc2lvbiBkZXB0aCIgUnVudGltZUVycm9yIGV4Y2VwdGlvbi4KLSAgKHBhdGNoIGJ5IFJvbmFsZCBPdXNzb3JlbikKLQotLSBJc3N1ZSAjMTIxMDY6IFRoZSB1c2Ugb2YgdGhlIG11bHRpcGxlLXdpdGggc2hvcnRoYW5kIHN5bnRheCBpcyBub3cgcmVmbGVjdGVkCi0gIGluIHRoZSBBU1QuCi0KLS0gSXNzdWUgIzEyMTkwOiBUcnkgdG8gdXNlIHRoZSBzYW1lIGZpbGVuYW1lIG9iamVjdCB3aGVuIGNvbXBpbGluZyB1bm1hcnNoYWxsaW5nCi0gIGEgY29kZSBvYmplY3RzIGluIHRoZSBzYW1lIGZpbGUuCi0KLS0gSXNzdWUgIzEyMTY2OiBNb3ZlIGltcGxlbWVudGF0aW9ucyBvZiBkaXIoKSBzcGVjaWFsaXplZCBmb3IgdmFyaW91cyB0eXBlcyBpbnRvCi0gIHRoZSBfX2Rpcl9fKCkgbWV0aG9kcyBvZiB0aG9zZSB0eXBlcy4KLQotLSBJc3N1ZSAjNTcxNTogSW4gc29ja2V0c2VydmVyLCBjbG9zZSB0aGUgc2VydmVyIHNvY2tldCBpbiB0aGUgY2hpbGQgcHJvY2Vzcy4KLQotLSBDb3JyZWN0IGxvb2t1cCBvZiBfX2Rpcl9fIG9uIG9iamVjdHMuIEFtb25nIG90aGVyIHRoaW5ncywgdGhpcyBjYXVzZXMgZXJyb3JzCi0gIGJlc2lkZXMgQXR0cmlidXRlRXJyb3IgZm91bmQgb24gbG9va3VwIHRvIGJlIHByb3BhZ2F0ZWQuCi0KLS0gSXNzdWUgIzEyMDYwOiBVc2Ugc2lnX2F0b21pY190IHR5cGUgYW5kIHZvbGF0aWxlIGtleXdvcmQgaW4gdGhlIHNpZ25hbAotICBtb2R1bGUuIFBhdGNoIHdyaXR0ZW4gYnkgQ2hhcmxlcy1GcmFuw6dvaXMgTmF0YWxpLgotCi0tIElzc3VlICMxNzQ2NjU2OiBBZGRlZCB0aGUgaWZfbmFtZWluZGV4LCBpZl9pbmRleHRvbmFtZSwgaWZfbmFtZXRvaW5kZXgKLSAgbWV0aG9kcyB0byB0aGUgc29ja2V0IG1vZHVsZS4KLQotLSBJc3N1ZSAjMTIwNDQ6IEZpeGVkIHN1YnByb2Nlc3MuUG9wZW4gd2hlbiB1c2VkIGFzIGEgY29udGV4dCBtYW5hZ2VyIHRvCi0gIHdhaXQgZm9yIHRoZSBwcm9jZXNzIHRvIGVuZCB3aGVuIGV4aXRpbmcgdGhlIGNvbnRleHQgdG8gYXZvaWQgdW5pbnRlbnRpb25hbGx5Ci0gIGxlYXZpbmcgem9tYmllIHByb2Nlc3NlcyBhcm91bmQuCi0KLS0gSXNzdWUgIzExOTU6IEZpeCBpbnB1dCgpIGlmIGl0IGlzIGludGVycnVwdGVkIGJ5IENUUkwrZCBhbmQgdGhlbiBDVFJMK2MsCi0gIGNsZWFyIHRoZSBlbmQtb2YtZmlsZSBpbmRpY2F0b3IgYWZ0ZXIgQ1RSTCtkLgotCi0tIElzc3VlICMxODU2OiBBdm9pZCBjcmFzaGVzIGFuZCBsb2NrdXBzIHdoZW4gZGFlbW9uIHRocmVhZHMgcnVuIHdoaWxlIHRoZQotICBpbnRlcnByZXRlciBpcyBzaHV0dGluZyBkb3duOyBpbnN0ZWFkLCB0aGVzZSB0aHJlYWRzIGFyZSBub3cga2lsbGVkIHdoZW4KLSAgdGhleSB0cnkgdG8gdGFrZSB0aGUgR0lMLgotCi0tIElzc3VlICM5NzU2OiBXaGVuIGNhbGxpbmcgYSBtZXRob2QgZGVzY3JpcHRvciBvciBhIHNsb3Qgd3JhcHBlciBkZXNjcmlwdG9yLAotICB0aGUgY2hlY2sgb2YgdGhlIG9iamVjdCB0eXBlIGRvZXNuJ3QgcmVhZCB0aGUgX19jbGFzc19fIGF0dHJpYnV0ZSBhbnltb3JlLgotICBGaXggYSBjcmFzaCBpZiBhIGNsYXNzIG92ZXJyaWRlIGl0cyBfX2NsYXNzX18gYXR0cmlidXRlIChlLmcuIGEgcHJveHkgb2YgdGhlCi0gIHN0ciB0eXBlKS4gUGF0Y2ggd3JpdHRlbiBieSBBbmRyZWFzIFN0w7xocmsuCi0KLS0gSXNzdWUgIzEwNTE3OiBBZnRlciBmb3JrKCksIHJlaW5pdGlhbGl6ZSB0aGUgVExTIHVzZWQgYnkgdGhlIFB5R0lMU3RhdGVfKgotICBBUElzLCB0byBhdm9pZCBhIGNyYXNoIHdpdGggdGhlIHB0aHJlYWQgaW1wbGVtZW50YXRpb24gaW4gUkhFTCA1LiAgUGF0Y2gKLSAgYnkgQ2hhcmxlcy1GcmFuw6dvaXMgTmF0YWxpLgotCi0tIElzc3VlICMxMDkxNDogSW5pdGlhbGl6ZSBjb3JyZWN0bHkgdGhlIGZpbGVzeXN0ZW0gY29kZWMgd2hlbiBjcmVhdGluZyBhIG5ldwotICBzdWJpbnRlcnByZXRlciB0byBmaXggYSBib290c3RyYXAgaXNzdWUgd2l0aCBjb2RlY3MgaW1wbGVtZW50ZWQgaW4gUHl0aG9uLCBhcwotICB0aGUgSVNPLTg4NTktMTUgY29kZWMuCi0KLS0gSXNzdWUgIzExOTE4OiBPUy8yIGFuZCBWTVMgYXJlIG5vIG1vcmUgc3VwcG9ydGVkIGJlY2F1c2Ugb2YgdGhlIGxhY2sgb2YKLSAgbWFpbnRhaW5lci4KLQotLSBJc3N1ZSAjNjc4MDogZml4IHN0YXJ0cy9lbmRzd2l0aCBlcnJvciBtZXNzYWdlIHRvIG1lbnRpb24gdGhhdCB0dXBsZXMgYXJlCi0gIGFjY2VwdGVkIHRvby4KLQotLSBJc3N1ZSAjNTA1NzogZml4IGEgYnVnIGluIHRoZSBwZWVwaG9sZXIgdGhhdCBsZWQgdG8gbm9uLXBvcnRhYmxlIHB5YyBmaWxlcwotICBiZXR3ZWVuIG5hcnJvdyBhbmQgd2lkZSBidWlsZHMgd2hpbGUgb3B0aW1pemluZyBCSU5BUllfU1VCU0NSIG9uIG5vbi1CTVAKLSAgY2hhcnMgKGUuZy4gIlxVMDAwMTIzNDUiWzBdKS4KLQotLSBJc3N1ZSAjMTE4NDU6IEZpeCB0eXBvIGluIHJhbmdlb2JqZWN0LmMgdGhhdCBjYXVzZWQgYSBjcmFzaCBpbgotICBjb21wdXRlX3NsaWNlX2luZGljZXMuICBQYXRjaCBieSBEYW5pZWwgVXJiYW4uCi0KLS0gSXNzdWUgIzU2NzM6IEFkZGVkIGEgYHRpbWVvdXRgIGtleXdvcmQgYXJndW1lbnQgdG8gc3VicHJvY2Vzcy5Qb3Blbi53YWl0LAotICBzdWJwcm9jZXNzLlBvcGVuLmNvbW11bmljYXRlZCwgc3VicHJvY2Vzcy5jYWxsLCBzdWJwcm9jZXNzLmNoZWNrX2NhbGwsIGFuZAotICBzdWJwcm9jZXNzLmNoZWNrX291dHB1dC4gIElmIHRoZSBibG9ja2luZyBvcGVyYXRpb24gdGFrZXMgbW9yZSB0aGFuIGB0aW1lb3V0YAotICBzZWNvbmRzLCB0aGUgYHN1YnByb2Nlc3MuVGltZW91dEV4cGlyZWRgIGV4Y2VwdGlvbiBpcyByYWlzZWQuCi0KLS0gSXNzdWUgIzExNjUwOiBQeU9TX1N0ZGlvUmVhZGxpbmUoKSByZXRyaWVzIGZnZXRzKCkgaWYgaXQgd2FzIGludGVycnVwdGVkCi0gIChFSU5UUiksIGZvciBleGFtcGxlIGlmIHRoZSBwcm9ncmFtIGlzIHN0b3BwZWQgd2l0aCBDVFJMK3ogb24gTWFjIE9TIFguIFBhdGNoCi0gIHdyaXR0ZW4gYnkgQ2hhcmxlcy1GcmFuY29pcyBOYXRhbGkuCi0KLS0gSXNzdWUgIzkzMTk6IEluY2x1ZGUgdGhlIGZpbGVuYW1lIGluICJOb24tVVRGOCBjb2RlIC4uLiIgc3ludGF4IGVycm9yLgotCi0tIElzc3VlICMxMDc4NTogU3RvcmUgdGhlIGZpbGVuYW1lIGFzIFVuaWNvZGUgaW4gdGhlIFB5dGhvbiBwYXJzZXIuCi0KLS0gSXNzdWUgIzExNjE5OiBfUHlJbXBvcnRfTG9hZER5bmFtaWNNb2R1bGUoKSBkb2Vzbid0IGVuY29kZSB0aGUgcGF0aCB0byBieXRlcwotICBvbiBXaW5kb3dzLgotCi0tIElzc3VlICMxMDk5ODogUmVtb3ZlIG1lbnRpb25zIG9mIC1RLCBzeXMuZmxhZ3MuZGl2aXNpb25fd2FybmluZyBhbmQKLSAgUHlfRGl2aXNpb25XYXJuaW5nRmxhZyBsZWZ0IG92ZXIgZnJvbSBQeXRob24gMi4KLQotLSBJc3N1ZSAjMTEyNDQ6IFJlbW92ZSBhbiB1bm5lY2Vzc2FyeSBwZWVwaG9sZXIgY2hlY2sgdGhhdCB3YXMgcHJldmVudGluZwotICBuZWdhdGl2ZSB6ZXJvcyBmcm9tIGJlaW5nIGNvbnN0YW50LWZvbGRlZCBwcm9wZXJseS4KLQotLSBJc3N1ZSAjMTEzOTU6IGlvLkZpbGVJTygpLndyaXRlKCkgY2xhbXBzIHRoZSBkYXRhIGxlbmd0aCB0byAzMiw3NjcgYnl0ZXMgb24KLSAgV2luZG93cyBpZiB0aGUgZmlsZSBpcyBhIFRUWSB0byB3b3JrYXJvdW5kIGEgV2luZG93cyBidWcuIFRoZSBXaW5kb3dzIGNvbnNvbGUKLSAgcmV0dXJucyBhbiBlcnJvciAoMTI6IG5vdCBlbm91Z2ggc3BhY2UgZXJyb3IpIG9uIHdyaXRpbmcgaW50byBzdGRvdXQgaWYKLSAgc3Rkb3V0IG1vZGUgaXMgYmluYXJ5IGFuZCB0aGUgbGVuZ3RoIGlzIGdyZWF0ZXIgdGhhbiA2NiwwMDAgYnl0ZXMgKG9yIGxlc3MsCi0gIGRlcGVuZGluZyBvbiBoZWFwIHVzYWdlKS4KLQotLSBJc3N1ZSAjMTEzMjA6IGZpeCBib2d1cyBtZW1vcnkgbWFuYWdlbWVudCBpbiBNb2R1bGVzL2dldHBhdGguYywgbGVhZGluZyB0bwotICBhIHBvc3NpYmxlIGNyYXNoIHdoZW4gY2FsbGluZyBQeV9TZXRQYXRoKCkuCi0KLS0gSXNzdWUgIzExNDMyOiBBIGJ1ZyB3YXMgaW50cm9kdWNlZCBpbiBzdWJwcm9jZXNzLlBvcGVuIG9uIHBvc2l4IHN5c3RlbXMgd2l0aAotICAzLjIuMCB3aGVyZSB0aGUgc3Rkb3V0IG9yIHN0ZGVyciBmaWxlIGRlc2NyaXB0b3IgYmVpbmcgdGhlIHNhbWUgYXMgdGhlIHN0ZGluCi0gIGZpbGUgZGVzY3JpcHRvciB3b3VsZCByYWlzZSBhbiBleGNlcHRpb24uIHdlYmJyb3dzZXIub3BlbiB3b3VsZCBmYWlsLiBmaXhlZC4KLQotLSBJc3N1ZSAjOTg1NjogQ2hhbmdlIG9iamVjdC5fX2Zvcm1hdF9fIHdpdGggYSBub24tZW1wdHkgZm9ybWF0IHN0cmluZwotICB0byBiZSBhIERlcHJlY2F0aW9uV2FybmluZy4gSW4gMy4yIGl0IHdhcyBhIFBlbmRpbmdEZXByZWNhdGlvbldhcm5pbmcuCi0gIEluIDMuNCBpdCB3aWxsIGJlIGEgVHlwZUVycm9yLgotCi0tIElzc3VlICMxMTI0NDogVGhlIHBlZXBob2xlIG9wdGltaXplciBpcyBub3cgYWJsZSB0byBjb25zdGFudC1mb2xkCi0gIGFyYml0cmFyaWx5IGNvbXBsZXggZXhwcmVzc2lvbnMuICBUaGlzIGFsc28gZml4ZXMgYSAzLjIgcmVncmVzc2lvbiB3aGVyZQotICBvcGVyYXRpb25zIGludm9sdmluZyBuZWdhdGl2ZSBudW1iZXJzIHdlcmUgbm90IGNvbnN0YW50LWZvbGRlZC4KLQotLSBJc3N1ZSAjMTE0NTA6IERvbid0IHRydW5jYXRlIGhnIHZlcnNpb24gaW5mbyBpbiBQeV9HZXRCdWlsZEluZm8oKSB3aGVuCi0gIHRoZXJlIGFyZSBtYW55IHRhZ3MgKGUuZy4gd2hlbiB1c2luZyBtcSkuICBQYXRjaCBieSBOYWRlZW0gVmF3ZGEuCi0KLS0gSXNzdWUgIzExMzM1OiBGaXhlZCBhIG1lbW9yeSBsZWFrIGluIGxpc3Quc29ydCB3aGVuIHRoZSBrZXkgZnVuY3Rpb24KLSAgdGhyb3dzIGFuIGV4Y2VwdGlvbi4KLQotLSBJc3N1ZSAjODkyMzogV2hlbiBhIHN0cmluZyBpcyBlbmNvZGVkIHRvIFVURi04IGluIHN0cmljdCBtb2RlLCB0aGUgcmVzdWx0IGlzCi0gIGNhY2hlZCBpbnRvIHRoZSBvYmplY3QuIEV4YW1wbGVzOiBzdHIuZW5jb2RlKCksIHN0ci5lbmNvZGUoJ3V0Zi04JyksCi0gIFB5VW5pY29kZV9Bc1VURjhTdHJpbmcoKSBhbmQgUHlVbmljb2RlX0FzRW5jb2RlZFN0cmluZyh1bmljb2RlLCAidXRmLTgiLAotICBOVUxMKS4KLQotLSBJc3N1ZSAjMTA4Mjk6IFJlZmFjdG9yIFB5VW5pY29kZV9Gcm9tRm9ybWF0KCksIHVzZSB0aGUgc2FtZSBmdW5jdGlvbiB0byBwYXJzZQotICB0aGUgZm9ybWF0IHN0cmluZyBpbiB0aGUgMyBzdGVwcywgZml4IGNyYXNocyBvbiBpbnZhbGlkIGZvcm1hdCBzdHJpbmdzLgotCi0tIElzc3VlICMxMzAwNzogd2hpY2hkYiBzaG91bGQgcmVjb2duaXplIGdkYm0gMS45IG1hZ2ljIG51bWJlcnMuCi0KLS0gSXNzdWUgIzExMjg2OiBSYWlzZSBhIFZhbHVlRXJyb3IgZnJvbSBjYWxsaW5nIFB5TWVtb3J5Vmlld19Gcm9tQnVmZmVyIHdpdGgKLSAgYSBidWZmZXIgc3RydWN0IGhhdmluZyBhIE5VTEwgZGF0YSBwb2ludGVyLgotCi0tIElzc3VlICMxMTI3MjogT24gV2luZG93cywgaW5wdXQoKSBzdHJpcHMgJ1xyJyAoYW5kIG5vdCBvbmx5ICdcbicpLCBhbmQKLSAgc3lzLnN0ZGluIHVzZXMgdW5pdmVyc2FsIG5ld2xpbmUgKHJlcGxhY2UgJ1xyXG4nIGJ5ICdcbicpLgotCi0tIElzc3VlICMxMTgyODogc3RhcnRzd2l0aCBhbmQgZW5kc3dpdGggbm93IGFjY2VwdCBOb25lIGFzIHNsaWNlIGluZGV4LgotICBQYXRjaCBieSBUb3JzdGVuIEJlY2tlci4KLQotLSBJc3N1ZSAjMTExNjg6IFJlbW92ZSBmaWxlbmFtZSBkZWJ1ZyB2YXJpYWJsZSBmcm9tIFB5RXZhbF9FdmFsRnJhbWVFeCgpLgotICBJdCBlbmNvZGVkIHRoZSBVbmljb2RlIGZpbGVuYW1lIHRvIFVURi04LCBidXQgdGhlIGVuY29kaW5nIGZhaWxzIG9uCi0gIHVuZGVjb2RhYmxlIGZpbGVuYW1lIChvbiBzdXJyb2dhdGUgY2hhcmFjdGVycykgd2hpY2ggcmFpc2VzIGFuIHVuZXhwZWN0ZWQKLSAgVW5pY29kZUVuY29kZUVycm9yIG9uIHJlY3Vyc2lvbiBsaW1pdC4KLQotLSBJc3N1ZSAjMTExODc6IFJlbW92ZSBib290c3RyYXAgY29kZSAodXNlIEFTQ0lJKSBvZgotICBQeVVuaWNvZGVfQXNFbmNvZGVkU3RyaW5nKCksIGl0IHdhcyByZXBsYWNlZCBieSBhIGJldHRlciBmYWxsYmFjayAodXNlIHRoZQotICBsb2NhbGUgZW5jb2RpbmcpIGluIFB5VW5pY29kZV9FbmNvZGVGU0RlZmF1bHQoKS4KLQotLSBDaGVjayBmb3IgTlVMTCByZXN1bHQgaW4gUHlUeXBlX0Zyb21TcGVjLgotCi0tIElzc3VlICMxMDUxNjogTmV3IGNvcHkoKSBhbmQgY2xlYXIoKSBtZXRob2RzIGZvciBsaXN0cyBhbmQgYnl0ZWFycmF5cy4KLQotLSBJc3N1ZSAjMTEzODY6IGJ5dGVhcnJheS5wb3AoKSBub3cgdGhyb3dzIEluZGV4RXJyb3Igd2hlbiB0aGUgYnl0ZWFycmF5IGlzCi0gIGVtcHR5LCBpbnN0ZWFkIG9mIE92ZXJmbG93RXJyb3IuCi0KLS0gSXNzdWUgIzEyMzgwOiBUaGUgcmp1c3QsIGxqdXN0IGFuZCBjZW50ZXIgbWV0aG9kcyBvZiBieXRlcyBhbmQgYnl0ZWFycmF5Ci0gIG5vdyBhY2NlcHQgYSBieXRlYXJyYXkgYXJndW1lbnQuCi0KLUxpYnJhcnkKLS0tLS0tLS0KLQotLSBJc3N1ZSAjMTQxOTU6IEFuIGlzc3VlIHRoYXQgY2F1c2VkIHdlYWtyZWYuV2Vha1NldCBpbnN0YW5jZXMgdG8gaW5jb3JyZWN0bHkKLSAgcmV0dXJuIFRydWUgZm9yIGEgV2Vha1NldCBpbnN0YW5jZSAnYScgaW4gYm90aCAnYSA8IGEnIGFuZCAnYSA+IGEnIGhhcyBiZWVuCi0gIGZpeGVkLgotCi0tIElzc3VlICMxNDE2NjogUGlja2xlciBvYmplY3RzIG5vdyBoYXZlIGFuIG9wdGlvbmFsIGBgZGlzcGF0Y2hfdGFibGVgYAotICBhdHRyaWJ1dGUgd2hpY2ggYWxsb3dzIHRvIHNldCBjdXN0b20gcGVyLXBpY2tsZXIgcmVkdWN0aW9uIGZ1bmN0aW9ucy4KLSAgUGF0Y2ggYnkgc2J0LgotCi0tIElzc3VlICMxNDE3NzogbWFyc2hhbC5sb2FkcygpIG5vdyByYWlzZXMgVHlwZUVycm9yIHdoZW4gZ2l2ZW4gYW4gdW5pY29kZQotICBzdHJpbmcuICBQYXRjaCBieSBHdWlsaGVybWUgR29uw6dhbHZlcy4KLQotLSBJc3N1ZSAjMTM1NTA6IFJlbW92ZSB0aGUgZGVidWcgbWFjaGluZXJ5IGZyb20gdGhlIHRocmVhZGluZyBtb2R1bGU6IHJlbW92ZQotICB2ZXJib3NlIGFyZ3VtZW50cyBmcm9tIGFsbCB0aHJlYWRpbmcgY2xhc3NlcyBhbmQgZnVuY3Rpb25zLgotCi0tIElzc3VlICMxNDE1OTogRml4IHRoZSBsZW4oKSBvZiB3ZWFrIGNvbnRhaW5lcnMgKFdlYWtTZXQsIFdlYWtLZXlEaWN0aW9uYXJ5LAotICBXZWFrVmFsdWVEaWN0aW9uYXJ5KSB0byByZXR1cm4gYSBiZXR0ZXIgYXBwcm94aW1hdGlvbiB3aGVuIHNvbWUgb2JqZWN0cwotICBhcmUgZGVhZCBvciBkeWluZy4gIE1vcmVvdmVyLCB0aGUgaW1wbGVtZW50YXRpb24gaXMgbm93IE8oMSkgcmF0aGVyIHRoYW4KLSAgTyhuKS4KLQotLSBJc3N1ZSAjMTE4NDE6IEZpeCBjb21wYXJpc29uIGJ1ZyB3aXRoICdyYycgdmVyc2lvbnMgaW4gcGFja2FnaW5nLnZlcnNpb24uCi0gIFBhdGNoIGJ5IEZpbGlwIEdydXN6Y3p5xYRza2kuCi0KLS0gSXNzdWUgIzY4ODQ6IEZpeCBsb25nLXN0YW5kaW5nIGJ1Z3Mgd2l0aCBNQU5JRkVTVC5pbiBwYXJzaW5nIGluIGRpc3R1dGlscwotICBvbiBXaW5kb3dzLiAgQWxzbyBmaXhlZCBpbiBwYWNrYWdpbmcuCi0KLS0gSXNzdWUgIzgwMzM6IHNxbGl0ZTM6IEZpeCA2NC1iaXQgaW50ZWdlciBoYW5kbGluZyBpbiB1c2VyIGZ1bmN0aW9ucwotICBvbiAzMi1iaXQgYXJjaGl0ZWN0dXJlcy4gSW5pdGlhbCBwYXRjaCBieSBQaGlsaXBwZSBEZXZhbGtlbmVlci4KLQotLSBIVE1MUGFyc2VyIGlzIG5vdyBhYmxlIHRvIGhhbmRsZSBzbGFzaGVzIGluIHRoZSBzdGFydCB0YWcuCi0KLS0gSXNzdWUgIzEzNjQxOiBEZWNvZGluZyBmdW5jdGlvbnMgaW4gdGhlIGJhc2U2NCBtb2R1bGUgbm93IGFjY2VwdCBBU0NJSS1vbmx5Ci0gIHVuaWNvZGUgc3RyaW5ncy4gIFBhdGNoIGJ5IENhdGFsaW4gSWFjb2IuCi0KLS0gSXNzdWUgIzE0MDQzOiBTcGVlZCB1cCBpbXBvcnRsaWIncyBfRmlsZUZpbmRlciBieSBhdCBsZWFzdCA4eCwgYW5kIGFkZCBhCi0gIG5ldyBpbXBvcnRsaWIuaW52YWxpZGF0ZV9jYWNoZXMoKSBmdW5jdGlvbi4KLQotLSBJc3N1ZSAjMTQwMDE6IENWRS0yMDEyLTA4NDU6IHhtbHJwYzogRml4IGFuIGVuZGxlc3MgbG9vcCBpbgotICBTaW1wbGVYTUxSUENTZXJ2ZXIgdXBvbiBtYWxmb3JtZWQgUE9TVCByZXF1ZXN0LgotCi0tIElzc3VlICMxMzk2MTogTW92ZSBpbXBvcnRsaWIgb3ZlciB0byB1c2luZyBvcy5yZXBsYWNlKCkgZm9yIGF0b21pYyByZW5hbWluZy4KLQotLSBEbyBhd2F5IHdpdGggYW1iaWd1b3VzIGxldmVsIHZhbHVlcyAoYXMgc3VnZ2VzdGVkIGJ5IFBFUCAzMjgpIGluCi0gIGltcG9ydGxpYi5fX2ltcG9ydF9fKCkgYnkgcmFpc2luZyBWYWx1ZUVycm9yIHdoZW4gbGV2ZWwgPCAwLgotCi0tIElzc3VlICMyNDg5OiBwdHkuc3Bhd24gY291bGQgY29uc3VtZSAxMDAlIGNwdSB3aGVuIGl0IGVuY291bnRlcmVkIGFuIEVPRi4KLQotLSBJc3N1ZSAjMTMwMTQ6IEZpeCBhIHBvc3NpYmxlIHJlZmVyZW5jZSBsZWFrIGluIFNTTFNvY2tldC5nZXRwZWVyY2VydCgpLgotCi0tIElzc3VlICMxMzc3NzogQWRkIFBGX1NZU1RFTSBzb2NrZXRzIG9uIE9TIFguCi0gIFBhdGNoIGJ5IE1pY2hhZWwgR29kZXJiYXVlci4KLQotLSBJc3N1ZSAjMTMwMTU6IEZpeCBhIHBvc3NpYmxlIHJlZmVyZW5jZSBsZWFrIGluIGRlZmF1bHRkaWN0Ll9fcmVwcl9fLgotICBQYXRjaCBieSBTdW1hbiBTYWhhLgotCi0tIElzc3VlICMxMzI2MTEzOiBkaXN0dXRpbHMnIGFuZCBwYWNrYWdpbmcncyBidWlsZF9leHQgY29tbWFuZHMgb3B0aW9uIG5vdwotICBjb3JyZWN0bHkgcGFyc2VzIG11bHRpcGxlIHZhbHVlcyAoc2VwYXJhdGVkIGJ5IHdoaXRlc3BhY2Ugb3IgY29tbWFzKSBnaXZlbgotICB0byB0aGVpciAtLWxpYnJhcmllcyBvcHRpb24uCi0KLS0gSXNzdWUgIzEwMjg3OiBubnRwbGliIG5vdyBxdWVyaWVzIHRoZSBzZXJ2ZXIncyBDQVBBQklMSVRJRVMgZmlyc3QgYmVmb3JlCi0gIHNlbmRpbmcgTU9ERSBSRUFERVIsIGFuZCBvbmx5IHNlbmRzIGl0IGlmIG5vdCBhbHJlYWR5IGluIFJFQURFUiBtb2RlLgotICBQYXRjaCBieSBIeW5layBTY2hsYXdhY2suCi0KLS0gSXNzdWUgIzEzOTkzOiBIVE1MUGFyc2VyIGlzIG5vdyBhYmxlIHRvIGhhbmRsZSBicm9rZW4gZW5kIHRhZ3Mgd2hlbgotICBzdHJpY3Q9RmFsc2UuCi0KLS0gSXNzdWUgIzEzOTMwOiBsaWIydG8zIG5vdyBzdXBwb3J0cyB3cml0aW5nIGNvbnZlcnRlZCBvdXRwdXQgZmlsZXMgdG8gYW5vdGhlcgotICBkaXJlY3RvcnkgdHJlZSBhcyB3ZWxsIGFzIGNvcHlpbmcgdW5jaGFuZ2VkIGZpbGVzIGFuZCBhbHRlcmluZyB0aGUgZmlsZQotICBzdWZmaXguCi0KLS0gSXNzdWUgIzk3NTA6IEZpeCBzcWxpdGUzLkNvbm5lY3Rpb24uaXRlcmR1bXAgb24gdGFibGVzIGFuZCBmaWVsZHMKLSAgd2l0aCBhIG5hbWUgdGhhdCBpcyBhIGtleXdvcmQgb3IgY29udGFpbnMgcXVvdGVzLiBQYXRjaCBieSBNYXJrbwotICBLb2h0YWxhLgotCi0tIElzc3VlICMxMDI4Nzogbm50cGxpYiBub3cgcXVlcmllcyB0aGUgc2VydmVyJ3MgQ0FQQUJJTElUSUVTIGFnYWluIGFmdGVyCi0gIGF1dGhlbnRpY2F0aW5nIChzaW5jZSB0aGUgcmVzdWx0IG1heSBjaGFuZ2UsIGFjY29yZGluZyB0byBSRkMgNDY0MykuCi0gIFBhdGNoIGJ5IEh5bmVrIFNjaGxhd2Fjay4KLQotLSBJc3N1ZSAjMTM1OTA6IE9uIE9TIFggMTAuNyBhbmQgMTAuNiB3aXRoIFhjb2RlIDQuMiwgYnVpbGRpbmcKLSAgRGlzdHV0aWxzLWJhc2VkIHBhY2thZ2VzIHdpdGggQyBleHRlbnNpb24gbW9kdWxlcyBtYXkgZmFpbCBiZWNhdXNlCi0gIEFwcGxlIGhhcyByZW1vdmVkIGdjYy00LjIsIHRoZSB2ZXJzaW9uIHVzZWQgdG8gYnVpbGQgcHl0aG9uLm9yZwotICA2NC1iaXQvMzItYml0IFB5dGhvbnMuICBJZiB0aGUgdXNlciBkb2VzIG5vdCBleHBsaWNpdGx5IG92ZXJyaWRlCi0gIHRoZSBkZWZhdWx0IEMgY29tcGlsZXIgYnkgc2V0dGluZyB0aGUgQ0MgZW52aXJvbm1lbnQgdmFyaWFibGUsCi0gIERpc3R1dGlscyB3aWxsIG5vdyBhdHRlbXB0IHRvIGNvbXBpbGUgZXh0ZW5zaW9uIG1vZHVsZXMgd2l0aCBjbGFuZwotICBpZiBnY2MtNC4yIGlzIHJlcXVpcmVkIGJ1dCBub3QgZm91bmQuIEFsc28gYXMgYSBjb252ZW5pZW5jZSwgaWYKLSAgdGhlIHVzZXIgZG9lcyBleHBsaWNpdGx5IHNldCBDQywgc3Vic3RpdHV0ZSBpdHMgdmFsdWUgYXMgdGhlIGRlZmF1bHQKLSAgY29tcGlsZXIgaW4gdGhlIERpc3R1dGlscyBMRFNIQVJFRCBjb25maWd1cmF0aW9uIHZhcmlhYmxlIGZvciBPUyBYLgotICAoTm90ZSwgdGhlIHB5dGhvbi5vcmcgMzItYml0LW9ubHkgUHl0aG9ucyB1c2UgZ2NjLTQuMCBhbmQgdGhlIDEwLjR1Ci0gIFNESywgbmVpdGhlciBvZiB3aGljaCBhcmUgYXZhaWxhYmxlIGluIFhjb2RlIDQuICBUaGlzIGNoYW5nZSBkb2VzIG5vdAotICBhdHRlbXB0IHRvIG92ZXJyaWRlIHNldHRpbmdzIHRvIHN1cHBvcnQgdGhlaXIgdXNlIHdpdGggWGNvZGUgNC4pCi0KLS0gSXNzdWUgIzEzOTYwOiBIVE1MUGFyc2VyIGlzIG5vdyBhYmxlIHRvIGhhbmRsZSBicm9rZW4gY29tbWVudHMgd2hlbgotICBzdHJpY3Q9RmFsc2UuCi0KLS0gV2hlbiAnJyBpcyBhIHBhdGggKGUuZy4gaW4gc3lzLnBhdGgpLCBtYWtlIHN1cmUgX19maWxlX18gdXNlcyB0aGUgY3VycmVudAotICB3b3JraW5nIGRpcmVjdG9yeSBpbnN0ZWFkIG9mICcnIGluIGltcG9ydGxpYi4KLQotLSBJc3N1ZSAjMTM2MDk6IEFkZCB0d28gZnVuY3Rpb25zIHRvIHF1ZXJ5IHRoZSB0ZXJtaW5hbCBzaXplOgotICBvcy5nZXRfdGVybWluYWxfc2l6ZSAobG93IGxldmVsKSBhbmQgc2h1dGlsLmdldF90ZXJtaW5hbF9zaXplIChoaWdoIGxldmVsKS4KLSAgUGF0Y2ggYnkgWmJpZ25pZXcgSsSZZHJ6ZWpld3NraS1Tem1lay4KLQotLSBJc3N1ZSAjMTM4NDU6IE9uIFdpbmRvd3MsIHRpbWUudGltZSgpIG5vdyB1c2VzIEdldFN5c3RlbVRpbWVBc0ZpbGVUaW1lKCkKLSAgaW5zdGVhZCBvZiBmdGltZSgpIHRvIGhhdmUgYSByZXNvbHV0aW9uIG9mIDEwMCBucyBpbnN0ZWFkIG9mIDEgbXMgKHRoZSBjbG9jawotICBhY2N1cmFjeSBpcyBiZXR3ZWVuIDAuNSBtcyBhbmQgMTUgbXMpLgotCi0tIElzc3VlICMxMzg0NjogQWRkIHRpbWUubW9ub3RvbmljKCksIG1vbm90b25pYyBjbG9jay4KLQotLSBJc3N1ZSAjODE4NDogbXVsdGlwcm9jZXNzaW5nOiBPbiBXaW5kb3dzLCBkb24ndCBzZXQgU09fUkVVU0VBRERSIG9uCi0gIENvbm5lY3Rpb24gc29ja2V0cywgYW5kIHNldCBGSUxFX0ZMQUdfRklSU1RfUElQRV9JTlNUQU5DRSBvbiBuYW1lZCBwaXBlcywgdG8KLSAgbWFrZSBzdXJlIHR3byBsaXN0ZW5lcnMgY2FuJ3QgYmluZCB0byB0aGUgc2FtZSBzb2NrZXQvcGlwZSAob3IgYW55IGV4aXN0aW5nCi0gIHNvY2tldC9waXBlKS4KLQotLSBJc3N1ZSAjMTA4MTE6IEZpeCByZWN1cnNpdmUgdXNhZ2Ugb2YgY3Vyc29ycy4gSW5zdGVhZCBvZiBjcmFzaGluZywKLSAgcmFpc2UgYSBQcm9ncmFtbWluZ0Vycm9yIG5vdy4KLQotLSBJc3N1ZSAjMTM3MzQ6IEFkZCBvcy5md2FsaygpLCBhIGRpcmVjdG9yeSB3YWxraW5nIGZ1bmN0aW9uIHlpZWxkaW5nIGZpbGUKLSAgZGVzY3JpcHRvcnMuCi0KLS0gSXNzdWUgIzI5NDU6IE1ha2UgdGhlIGRpc3R1dGlscyB1cGxvYWQgY29tbWFuZCBhd2FyZSBvZiBiZGlzdF9ycG0gcHJvZHVjdHMuCi0KLS0gSXNzdWUgIzEzNzEyOiBweXNldHVwIGNyZWF0ZSBzaG91bGQgbm90IGNvbnZlcnQgcGFja2FnZV9kYXRhIHRvIGV4dHJhX2ZpbGVzLgotCi0tIElzc3VlICMxMTgwNTogcGFja2FnZV9kYXRhIGluIHNldHVwLmNmZyBzaG91bGQgYWxsb3cgbW9yZSB0aGFuIG9uZSB2YWx1ZS4KLQotLSBJc3N1ZSAjMTM2NzY6IEhhbmRsZSBzdHJpbmdzIHdpdGggZW1iZWRkZWQgemVyb3MgY29ycmVjdGx5IGluIHNxbGl0ZTMuCi0KLS0gSXNzdWUgIzg4Mjg6IEFkZCBuZXcgZnVuY3Rpb24gb3MucmVwbGFjZSgpLCBmb3IgY3Jvc3MtcGxhdGZvcm0gcmVuYW1pbmcKLSAgd2l0aCBvdmVyd3JpdGluZy4KLQotLSBJc3N1ZSAjMTM4NDg6IG9wZW4oKSBhbmQgdGhlIEZpbGVJTyBjb25zdHJ1Y3RvciBub3cgY2hlY2sgZm9yIE5VTAotICBjaGFyYWN0ZXJzIGluIHRoZSBmaWxlIG5hbWUuICBQYXRjaCBieSBIeW5layBTY2hsYXdhY2suCi0KLS0gSXNzdWUgIzEzODA2OiBUaGUgc2l6ZSBjaGVjayBpbiBhdWRpb29wIGRlY29tcHJlc3Npb24gZnVuY3Rpb25zIHdhcyB0b28KLSAgc3RyaWN0IGFuZCBjb3VsZCByZWplY3QgdmFsaWQgY29tcHJlc3NlZCBkYXRhLiAgUGF0Y2ggYnkgT2xlZyBQbGFraG90bnl1ay4KLQotLSBJc3N1ZSAjMTM4MTI6IFdoZW4gYSBtdWx0aXByb2Nlc3NpbmcgUHJvY2VzcyBjaGlsZCByYWlzZXMgYW4gZXhjZXB0aW9uLAotICBmbHVzaCBzdGRlcnIgYWZ0ZXIgcHJpbnRpbmcgdGhlIGV4Y2VwdGlvbiB0cmFjZWJhY2suCi0KLS0gSXNzdWUgIzEzODg1OiBDVkUtMjAxMS0zMzg5OiB0aGUgX3NzbCBtb2R1bGUgd291bGQgYWx3YXlzIGRpc2FibGUgdGhlIENCQwotICBJViBhdHRhY2sgY291bnRlcm1lYXN1cmUuCi0KLS0gSXNzdWUgIzEzODQ3OiB0aW1lLmxvY2FsdGltZSgpIGFuZCB0aW1lLmdtdGltZSgpIG5vdyByYWlzZSBhbiBPU0Vycm9yIGluc3RlYWQKLSAgb2YgVmFsdWVFcnJvciBvbiBmYWlsdXJlLiB0aW1lLmN0aW1lKCkgYW5kIHRpbWUuYXNjdGltZSgpIG5vdyByYWlzZXMgYW4KLSAgT1NFcnJvciBpZiBsb2NhbHRpbWUoKSBmYWlsZWQuIHRpbWUuY2xvY2soKSBub3cgcmFpc2VzIGEgUnVudGltZUVycm9yIGlmIHRoZQotICBwcm9jZXNzb3IgdGltZSB1c2VkIGlzIG5vdCBhdmFpbGFibGUgb3IgaXRzIHZhbHVlIGNhbm5vdCBiZSByZXByZXNlbnRlZAotCi0tIElzc3VlICMxMzc3MjogSW4gb3Muc3ltbGluaygpIHVuZGVyIFdpbmRvd3MsIGRvIG5vdCB0cnkgdG8gZ3Vlc3MgdGhlIGxpbmsKLSAgdGFyZ2V0J3MgdHlwZSAoZmlsZSBvciBkaXJlY3RvcnkpLiAgVGhlIGRldGVjdGlvbiB3YXMgYnVnZ3kgYW5kIG1hZGUgdGhlCi0gIGNhbGwgbm9uLWF0b21pYyAodGhlcmVmb3JlIHByb25lIHRvIHJhY2UgY29uZGl0aW9ucykuCi0KLS0gSXNzdWUgIzY2MzE6IERpc2FsbG93IHJlbGF0aXZlIGZpbGUgcGF0aHMgaW4gdXJsbGliIHVybG9wZW4gbWV0aG9kcy4KLQotLSBJc3N1ZSAjMTM3MjI6IEF2b2lkIHNpbGVuY2luZyBJbXBvcnRFcnJvcnMgd2hlbiBpbml0aWFsaXppbmcgdGhlIGNvZGVjcwotICByZWdpc3RyeS4KLQotLSBJc3N1ZSAjMTM3ODE6IEZpeCBHemlwRmlsZSBidWcgdGhhdCBjYXVzZWQgYW4gZXhjZXB0aW9uIHRvIGJlIHJhaXNlZCB3aGVuCi0gIG9wZW5pbmcgZm9yIHdyaXRpbmcgdXNpbmcgYSBmaWxlb2JqIHJldHVybmVkIGJ5IG9zLmZkb3BlbigpLgotCi0tIElzc3VlICMxMzgwMzogVW5kZXIgU29sYXJpcywgZGlzdHV0aWxzIGRvZXNuJ3QgaW5jbHVkZSBiaXRuZXNzCi0gIGluIHRoZSBkaXJlY3RvcnkgbmFtZS4KLQotLSBJc3N1ZSAjMTAyNzg6IEFkZCB0aW1lLndhbGxjbG9jaygpIGZ1bmN0aW9uLCBtb25vdG9uaWMgY2xvY2suCi0KLS0gSXNzdWUgIzEzODA5OiBGaXggcmVncmVzc2lvbiB3aGVyZSBiejIgbW9kdWxlIHdvdWxkbid0IHdvcmsgd2hlbiB0aHJlYWRzIGFyZQotICBkaXNhYmxlZC4gT3JpZ2luYWwgcGF0Y2ggYnkgQW1hdXJ5IEZvcmdlb3QgZCdBcmMuCi0KLS0gSXNzdWUgIzEzNTg5OiBGaXggc29tZSBzZXJpYWxpemF0aW9uIHByaW1pdGl2ZXMgaW4gdGhlIGFpZmMgbW9kdWxlLgotICBQYXRjaCBieSBPbGVnIFBsYWtob3RueXVrLgotCi0tIElzc3VlICMxMzY0MjogVW5xdW90ZSBiZWZvcmUgYjY0ZW5jb2RpbmcgdXNlcjpwYXNzd29yZCBkdXJpbmcgQmFzaWMKLSAgQXV0aGVudGljYXRpb24uIFBhdGNoIGNvbnRyaWJ1dGVkIGJ5IEpvb25hcyBLdW9yaWxlaHRvLgotCi0tIElzc3VlICMxMjM2NDogRml4IGEgaGFuZyBpbiBjb25jdXJyZW50LmZ1dHVyZXMuUHJvY2Vzc1Bvb2xFeGVjdXRvci4KLSAgVGhlIGhhbmcgd291bGQgb2NjdXIgd2hlbiByZXRyaWV2aW5nIHRoZSByZXN1bHQgb2YgYSBzY2hlZHVsZWQgZnV0dXJlIGFmdGVyCi0gIHRoZSBleGVjdXRvciBoYWQgYmVlbiBzaHV0IGRvd24uCi0KLS0gSXNzdWUgIzEzNTAyOiB0aHJlYWRpbmc6IEZpeCBhIHJhY2UgY29uZGl0aW9uIGluIEV2ZW50LndhaXQoKSB0aGF0IG1hZGUgaXQKLSAgcmV0dXJuIEZhbHNlIHdoZW4gdGhlIGV2ZW50IHdhcyBzZXQgYW5kIGNsZWFyZWQgcmlnaHQgYWZ0ZXIuCi0KLS0gSXNzdWUgIzk5OTM6IFdoZW4gdGhlIHNvdXJjZSBhbmQgZGVzdGluYXRpb24gYXJlIG9uIGRpZmZlcmVudCBmaWxlc3lzdGVtcywKLSAgYW5kIHRoZSBzb3VyY2UgaXMgYSBzeW1saW5rLCBzaHV0aWwubW92ZSgpIG5vdyByZWNyZWF0ZXMgYSBzeW1saW5rIG9uIHRoZQotICBkZXN0aW5hdGlvbiBpbnN0ZWFkIG9mIGNvcHlpbmcgdGhlIGZpbGUgY29udGVudHMuICBQYXRjaCBieSBKb25hdGhhbiBOaWVob2YKLSAgYW5kIEh5bmVrIFNjaGxhd2Fjay4KLQotLSBJc3N1ZSAjMTI5MjY6IEZpeCBhIGJ1ZyBpbiB0YXJmaWxlJ3MgbGluayBleHRyYWN0aW9uLgotCi0tIElzc3VlICMxMzY5NjogRml4IHRoZSAzMDIgUmVsYXRpdmUgVVJMIFJlZGlyZWN0aW9uIHByb2JsZW0uCi0KLS0gSXNzdWUgIzEzNjM2OiBXZWFrIGNpcGhlcnMgYXJlIG5vdyBkaXNhYmxlZCBieSBkZWZhdWx0IGluIHRoZSBzc2wgbW9kdWxlCi0gIChleGNlcHQgd2hlbiBTU0x2MiBpcyBleHBsaWNpdGx5IGFza2VkIGZvcikuCi0KLS0gSXNzdWUgIzEyNzE1OiBBZGQgYW4gb3B0aW9uYWwgc3ltbGlua3MgYXJndW1lbnQgdG8gc2h1dGlsIGZ1bmN0aW9ucwotICAoY29weWZpbGUsIGNvcHltb2RlLCBjb3B5c3RhdCwgY29weSwgY29weTIpLiAgV2hlbiB0aGF0IHBhcmFtZXRlciBpcwotICB0cnVlLCBzeW1saW5rcyBhcmVuJ3QgZGVyZWZlcmVuY2VkIGFuZCB0aGUgb3BlcmF0aW9uIGluc3RlYWQgYWN0cyBvbiB0aGUKLSAgc3ltbGluayBpdHNlbGYgKG9yIGNyZWF0ZXMgb25lLCBpZiByZWxldmFudCkuICBQYXRjaCBieSBIeW5layBTY2hsYXdhY2suCi0KLS0gQWRkIGEgZmxhZ3MgcGFyYW1ldGVyIHRvIHNlbGVjdC5lcG9sbC4KLQotLSBJc3N1ZSAjMTM2MjY6IEFkZCBzdXBwb3J0IGZvciBTU0wgRGlmZmllLUhlbGxtYW4ga2V5IGV4Y2hhbmdlLCB0aHJvdWdoIHRoZQotICBTU0xDb250ZXh0LmxvYWRfZGhfcGFyYW1zKCkgbWV0aG9kIGFuZCB0aGUgc3NsLk9QX1NJTkdMRV9ESF9VU0Ugb3B0aW9uLgotCi0tIElzc3VlICMxMTAwNjogRG9uJ3QgaXNzdWUgbG93IGxldmVsIHdhcm5pbmcgaW4gc3VicHJvY2VzcyB3aGVuIHBpcGUyKCkgZmFpbHMuCi0KLS0gSXNzdWUgIzEzNjIwOiBTdXBwb3J0IGZvciBDaHJvbWUgYnJvd3NlciBpbiB3ZWJicm93c2VyLiAgUGF0Y2ggY29udHJpYnV0ZWQKLSAgYnkgQXJuYXVkIENhbG1ldHRlcy4KLQotLSBJc3N1ZSAjMTE4Mjk6IEZpeCBjb2RlIGV4ZWN1dGlvbiBob2xlcyBpbiBpbnNwZWN0LmdldGF0dHJfc3RhdGljIGZvcgotICBtZXRhY2xhc3NlcyB3aXRoIG1ldGFjbGFzc2VzLiBQYXRjaCBieSBBbmRyZWFzIFN0w7xocmsuCi0KLS0gSXNzdWUgIzEyNzA4OiBBZGQgc3Rhcm1hcCgpIGFuZCBzdGFybWFwX2FzeW5jKCkgbWV0aG9kcyAoc2ltaWxhciB0bwotICBpdGVydG9vbHMuc3Rhcm1hcCgpKSB0byBtdWx0aXByb2Nlc3NpbmcuUG9vbC4gIFBhdGNoIGJ5IEh5bmVrIFNjaGxhd2Fjay4KLQotLSBJc3N1ZSAjMTc4NTogRml4IGluc3BlY3QgYW5kIHB5ZG9jIHdpdGggbWlzYmVoYXZpbmcgZGVzY3JpcHRvcnMuCi0KLS0gSXNzdWUgIzEzNjM3OiAiYTJiIiBmdW5jdGlvbnMgaW4gdGhlIGJpbmFzY2lpIG1vZHVsZSBub3cgYWNjZXB0IEFTQ0lJLW9ubHkKLSAgdW5pY29kZSBzdHJpbmdzLgotCi0tIElzc3VlICMxMzYzNDogQWRkIHN1cHBvcnQgZm9yIHF1ZXJ5aW5nIGFuZCBkaXNhYmxpbmcgU1NMIGNvbXByZXNzaW9uLgotCi0tIElzc3VlICMxMzYyNzogQWRkIHN1cHBvcnQgZm9yIFNTTCBFbGxpcHRpYyBDdXJ2ZS1iYXNlZCBEaWZmaWUtSGVsbG1hbgotICBrZXkgZXhjaGFuZ2UsIHRocm91Z2ggdGhlIFNTTENvbnRleHQuc2V0X2VjZGhfY3VydmUoKSBtZXRob2QgYW5kIHRoZQotICBzc2wuT1BfU0lOR0xFX0VDREhfVVNFIG9wdGlvbi4KLQotLSBJc3N1ZSAjMTM2MzU6IEFkZCBzc2wuT1BfQ0lQSEVSX1NFUlZFUl9QUkVGRVJFTkNFLCBzbyB0aGF0IFNTTCBzZXJ2ZXJzCi0gIGNob29zZSB0aGUgY2lwaGVyIGJhc2VkIG9uIHRoZWlyIG93biBwcmVmZXJlbmNlcywgcmF0aGVyIHRoYW4gb24gdGhlCi0gIGNsaWVudCdzLgotCi0tIElzc3VlICMxMTgxMzogRml4IGluc3BlY3QuZ2V0YXR0cl9zdGF0aWMgZm9yIG1vZHVsZXMuIFBhdGNoIGJ5IEFuZHJlYXMKLSAgU3TDvGhyay4KLQotLSBJc3N1ZSAjNzUwMjogRml4IGVxdWFsaXR5IGNvbXBhcmlzb24gZm9yIERvY1Rlc3RDYXNlIGluc3RhbmNlcy4gIFBhdGNoIGJ5Ci0gIEPDqWRyaWMgS3JpZXIuCi0KLS0gSXNzdWUgIzExODcwOiB0aHJlYWRpbmc6IFByb3Blcmx5IHJlaW5pdGlhbGl6ZSB0aHJlYWRzIGludGVybmFsIGxvY2tzIGFuZAotICBjb25kaXRpb24gdmFyaWFibGVzIHRvIGF2b2lkIGRlYWRsb2NrcyBpbiBjaGlsZCBwcm9jZXNzZXMuCi0KLS0gSXNzdWUgIzgwMzU6IHVybGxpYjogRml4IGEgYnVnIHdoZXJlIHRoZSBjbGllbnQgY291bGQgcmVtYWluIHN0dWNrIGFmdGVyIGEKLSAgcmVkaXJlY3Rpb24gb3IgYW4gZXJyb3IuCi0KLS0gSXNzdWUgIzEzNTYwOiBvcy5zdHJlcnJvcigpIG5vdyB1c2VzIHRoZSBjdXJyZW50IGxvY2FsZSBlbmNvZGluZyBpbnN0ZWFkIG9mCi0gIFVURi04LgotCi0tIElzc3VlICM4MzczOiBUaGUgZmlsZXN5c3RlbSBwYXRoIG9mIEFGX1VOSVggc29ja2V0cyBub3cgdXNlcyB0aGUgZmlsZXN5c3RlbQotICBlbmNvZGluZyBhbmQgdGhlIHN1cnJvZ2F0ZWVzY2FwZSBlcnJvciBoYW5kbGVyLCByYXRoZXIgdGhhbiBVVEYtOC4gIFBhdGNoCi0gIGJ5IERhdmlkIFdhdHNvbi4KLQotLSBJc3N1ZSAjMTAzNTA6IFJlYWQgYW5kIHNhdmUgZXJybm8gYmVmb3JlIGNhbGxpbmcgYSBmdW5jdGlvbiB3aGljaCBtaWdodAotICBvdmVyd3JpdGUgaXQuICBPcmlnaW5hbCBwYXRjaCBieSBIYWxsdmFyZCBCIEZ1cnVzZXRoLgotCi0tIElzc3VlICMxMTYxMDogSW50cm9kdWNlIGEgbW9yZSBnZW5lcmFsIHdheSB0byBkZWNsYXJlIGFic3RyYWN0IHByb3BlcnRpZXMuCi0KLS0gSXNzdWUgIzEzNTkxOiBBIGJ1ZyBpbiBpbXBvcnRsaWIgaGFzIGJlZW4gZml4ZWQgdGhhdCBjYXVzZWQgaW1wb3J0X21vZHVsZQotICB0byBsb2FkIGEgbW9kdWxlIHR3aWNlLgotCi0tIElzc3VlICMxMzQ0OSBzY2hlZC5zY2hlZHVsZXIucnVuKCkgbWV0aG9kIGhhcyBhIG5ldyAiYmxvY2tpbmciIHBhcmFtZXRlciB3aGljaAotICB3aGVuIHNldCB0byBGYWxzZSBtYWtlcyBydW4oKSBleGVjdXRlIHRoZSBzY2hlZHVsZWQgZXZlbnRzIGR1ZSB0byBleHBpcmUKLSAgc29vbmVzdCAoaWYgYW55KSBhbmQgdGhlbiByZXR1cm4uICBQYXRjaCBieSBHaWFtcGFvbG8gUm9kb2zDoC4KLQotLSBJc3N1ZSAjODY4NCBzY2hlZC5zY2hlZHVsZXIgY2xhc3MgY2FuIGJlIHNhZmVseSB1c2VkIGluIG11bHRpLXRocmVhZGVkCi0gIGVudmlyb25tZW50cy4gIFBhdGNoIGJ5IEpvc2lhaCBDYXJsc29uIGFuZCBHaWFtcGFvbG8gUm9kb2zDoC4KLQotLSBBbGlhcyByZXNvdXJjZS5lcnJvciB0byBPU0Vycm9yIGFsYSBQRVAgMzE1MS4KLQotLSBJc3N1ZSAjNTY4OTogQWRkIHN1cHBvcnQgZm9yIGx6bWEgY29tcHJlc3Npb24gdG8gdGhlIHRhcmZpbGUgbW9kdWxlLgotCi0tIElzc3VlICMxMzI0ODogVHVybiAzLjIncyBQZW5kaW5nRGVwcmVjYXRpb25XYXJuaW5nIGludG8gMy4zJ3MKLSAgRGVwcmVjYXRpb25XYXJuaW5nLiAgSXQgY292ZXJzICdjZ2kuZXNjYXBlJywgJ2ltcG9ydGxpYi5hYmMuUHlMb2FkZXInLAotICAnaW1wb3J0bGliLmFiYy5QeVB5Y0xvYWRlcicsICdubnRwbGliLk5OVFAueGd0aXRsZScsICdubnRwbGliLk5OVFAueHBhdGgnLAotICBhbmQgcHJpdmF0ZSBhdHRyaWJ1dGVzIG9mICdzbXRwZC5TTVRQQ2hhbm5lbCcuCi0KLS0gSXNzdWUgIzU5MDUsIElzc3VlICMxMzU2MDogdGltZS5zdHJmdGltZSgpIGlzIG5vdyB1c2luZyB0aGUgY3VycmVudCBsb2NhbGUKLSAgZW5jb2RpbmcsIGluc3RlYWQgb2YgVVRGLTgsIGlmIHRoZSB3Y3NmdGltZSgpIGZ1bmN0aW9uIGlzIG5vdCBhdmFpbGFibGUuCi0KLS0gSXNzdWUgIzEzNDY0OiBBZGQgYSByZWFkaW50bygpIG1ldGhvZCB0byBodHRwLmNsaWVudC5IVFRQUmVzcG9uc2UuICBQYXRjaAotICBieSBKb24gS3Vobi4KLQotLSB0YXJmaWxlLnB5OiBDb3JyZWN0bHkgZGV0ZWN0IGJ6aXAyIGNvbXByZXNzZWQgc3RyZWFtcyB3aXRoIGJsb2Nrc2l6ZXMKLSAgb3RoZXIgdGhhbiA5MDBrLgotCi0tIElzc3VlICMxMzQzOTogRml4IG1hbnkgZXJyb3JzIGluIHR1cnRsZSBkb2NzdHJpbmdzLgotCi0tIElzc3VlICM2NzE1OiBBZGQgYSBtb2R1bGUgJ2x6bWEnIGZvciBjb21wcmVzc2lvbiB1c2luZyB0aGUgTFpNQSBhbGdvcml0aG0uCi0gIFRoYW5rcyB0byBQZXIgw5h5dmluZCBLYXJsc2VuIGZvciB0aGUgaW5pdGlhbCBpbXBsZW1lbnRhdGlvbi4KLQotLSBJc3N1ZSAjMTM0ODc6IE1ha2UgaW5zcGVjdC5nZXRtb2R1bGUgcm9idXN0IGFnYWluc3QgY2hhbmdlcyBkb25lIHRvCi0gIHN5cy5tb2R1bGVzIHdoaWxlIGl0IGlzIGl0ZXJhdGluZyBvdmVyIGl0LgotCi0tIElzc3VlICMxMjYxODogRml4IGEgYnVnIHRoYXQgcHJldmVudGVkIHB5X2NvbXBpbGUgZnJvbSBjcmVhdGluZyBieXRlCi0gIGNvbXBpbGVkIGZpbGVzIGluIHRoZSBjdXJyZW50IGRpcmVjdG9yeS4gIEluaXRpYWwgcGF0Y2ggYnkgU2pvZXJkIGRlIFZyaWVzLgotCi0tIElzc3VlICMxMzQ0NDogV2hlbiBzdGRvdXQgaGFzIGJlZW4gY2xvc2VkIGV4cGxpY2l0bHksIHdlIHNob3VsZCBub3QgYXR0ZW1wdAotICB0byBmbHVzaCBpdCBhdCBzaHV0ZG93biBhbmQgcHJpbnQgYW4gZXJyb3IuCi0KLS0gSXNzdWUgIzEyNTY3OiBUaGUgY3Vyc2VzIG1vZHVsZSB1c2VzIFVuaWNvZGUgZnVuY3Rpb25zIGZvciBVbmljb2RlIGFyZ3VtZW50cwotICB3aGVuIGl0IGlzIGxpbmtlZCB0byB0aGUgbmN1cnNlcyBsaWJyYXJ5LiBJdCBlbmNvZGVzIGFsc28gVW5pY29kZSBzdHJpbmdzIHRvCi0gIHRoZSBsb2NhbGUgZW5jb2RpbmcgaW5zdGVhZCBvZiBVVEYtOC4KLQotLSBJc3N1ZSAjMTI4NTY6IEVuc3VyZSBjaGlsZCBwcm9jZXNzZXMgZG8gbm90IGluaGVyaXQgdGhlIHBhcmVudCdzIHJhbmRvbQotICBzZWVkIGZvciBmaWxlbmFtZSBnZW5lcmF0aW9uIGluIHRoZSB0ZW1wZmlsZSBtb2R1bGUuICBQYXRjaCBieSBCcmlhbgotICBIYXJyaW5nLgotCi0tIElzc3VlICM5OTU3OiBTcG9vbGVkVGVtcG9yYXJ5RmlsZS50cnVuY2F0ZSgpIG5vdyBhY2NlcHRzIGFuIG9wdGlvbmFsIHNpemUKLSAgcGFyYW1ldGVyLCBhcyBvdGhlciBmaWxlLWxpa2Ugb2JqZWN0cy4gIFBhdGNoIGJ5IFJ5YW4gS2VsbHkuCi0KLS0gSXNzdWUgIzEzNDU4OiBGaXggYSBtZW1vcnkgbGVhayBpbiB0aGUgc3NsIG1vZHVsZSB3aGVuIGRlY29kaW5nIGEKLSAgY2VydGlmaWNhdGUgd2l0aCBhIHN1YmplY3RBbHROYW1lLiAgUGF0Y2ggYnkgUm9iZXJ0IFhpYW8uCi0KLS0gSXNzdWUgIzEzNDE1OiBvcy51bnNldGVudigpIGRvZXNuJ3QgaWdub3JlIGVycm9ycyBhbnltb3JlLgotCi0tIElzc3VlICMxMzI0NTogc2NoZWQuc2NoZWR1bGVyIGNsYXNzIGNvbnN0cnVjdG9yJ3MgdGltZWZ1bmMgYW5kCi0gIGRlbGF5ZnVuY3QgcGFyYW1ldGVycyBhcmUgbm93IG9wdGlvbmFsLgotICBzY2hlZHVsZXIuZW50ZXIgYW5kIHNjaGVkdWxlci5lbnRlcmFicyBtZXRob2RzIGdhaW5lZCBhIG5ldyBrd2FyZ3MgcGFyYW1ldGVyLgotICBQYXRjaCBjb250cmlidXRlZCBieSBDaHJpcyBDbGFyay4KLQotLSBJc3N1ZSAjMTIzMjg6IFVuZGVyIFdpbmRvd3MsIHJlZmFjdG9yIGhhbmRsaW5nIG9mIEN0cmwtQyBldmVudHMgYW5kCi0gIG1ha2UgX211bHRpcHJvY2Vzc2luZy53aW4zMi5XYWl0Rm9yTXVsdGlwbGVPYmplY3RzIGludGVycnVwdGlibGUgd2hlbgotICB0aGUgd2FpdF9mbGFnIHBhcmFtZXRlciBpcyBmYWxzZS4gIFBhdGNoIGJ5IHNidC4KLQotLSBJc3N1ZSAjMTMzMjI6IEZpeCBCdWZmZXJlZFdyaXRlci53cml0ZSgpIHRvIGVuc3VyZSB0aGF0IEJsb2NraW5nSU9FcnJvciBpcwotICByYWlzZWQgd2hlbiB0aGUgd3JhcHBlZCByYXcgZmlsZSBpcyBub24tYmxvY2tpbmcgYW5kIHRoZSB3cml0ZSB3b3VsZCBibG9jay4KLSAgUHJldmlvdXMgY29kZSBhc3N1bWVkIHRoYXQgdGhlIHJhdyB3cml0ZSgpIHdvdWxkIHJhaXNlIEJsb2NraW5nSU9FcnJvciwgYnV0Ci0gIFJhd0lPQmFzZS53cml0ZSgpIGlzIGRlZmluZWQgdG8gcmV0dXJuZWQgTm9uZSB3aGVuIHRoZSBjYWxsIHdvdWxkIGJsb2NrLgotICBQYXRjaCBieSBzYnQuCi0KLS0gSXNzdWUgIzEzMzU4OiBIVE1MUGFyc2VyIG5vdyBjYWxscyBoYW5kbGVfZGF0YSBvbmx5IG9uY2UgZm9yIGVhY2ggQ0RBVEEuCi0KLS0gSXNzdWUgIzQxNDc6IG1pbmlkb20ncyB0b3ByZXR0eXhtbCBubyBsb25nZXIgYWRkcyB3aGl0ZXNwYWNlIGFyb3VuZCBhIHRleHQKLSAgbm9kZSB3aGVuIGl0IGlzIHRoZSBvbmx5IGNoaWxkIG9mIGFuIGVsZW1lbnQuICBJbml0aWFsIHBhdGNoIGJ5IERhbgotICBLZW5pZ3NiZXJnLgotCi0tIElzc3VlICMxMzM3NDogVGhlIFdpbmRvd3MgYnl0ZXMgQVBJIGhhcyBiZWVuIGRlcHJlY2F0ZWQgaW4gdGhlIG9zIG1vZHVsZS4gVXNlCi0gIFVuaWNvZGUgZmlsZW5hbWVzIGluc3RlYWQgb2YgYnl0ZXMgZmlsZW5hbWVzIHRvIG5vdCBkZXBlbmQgb24gdGhlIEFOU0kgY29kZQotICBwYWdlIGFueW1vcmUgYW5kIHRvIHN1cHBvcnQgYW55IGZpbGVuYW1lLgotCi0tIElzc3VlICMxMzI5NzogVXNlIGJ5dGVzIHR5cGUgdG8gc2VuZCBhbmQgcmVjZWl2ZSBiaW5hcnkgZGF0YSB0aHJvdWdoIFhNTFJQQy4KLQotLSBJc3N1ZSAjNjM5NzogU3VwcG9ydCAiL2Rldi9wb2xsIiBwb2xsaW5nIG9iamVjdHMgaW4gc2VsZWN0IG1vZHVsZSwKLSAgdW5kZXIgU29sYXJpcyAmIGRlcml2YXRpdmVzLgotCi0tIElzc3VlcyAjMTc0NTc2MSwgIzc1NTY3MCwgIzEzMzU3LCAjMTI2MjksICMxMjAwMzEzOiBIVE1MUGFyc2VyIG5vdyBjb3JyZWN0bHkKLSAgaGFuZGxlcyBub24tdmFsaWQgYXR0cmlidXRlcywgaW5jbHVkaW5nIGFkamFjZW50IGFuZCB1bnF1b3RlZCBhdHRyaWJ1dGVzLgotCi0tIElzc3VlICMxMzE5MzogRml4IGRpc3R1dGlscy5maWxlbGlzdC5GaWxlTGlzdCBhbmQgcGFja2FnaW5nLm1hbmlmZXN0Lk1hbmlmZXN0Ci0gIHVuZGVyIFdpbmRvd3MuCi0KLS0gSXNzdWUgIzEzMzg0OiBSZW1vdmUgdW5uZWNlc3NhcnkgX19mdXR1cmVfXyBpbXBvcnQgaW4gTGliL3JhbmRvbS5weQotCi0tIElzc3VlICMxMzE0OTogU3BlZWQgdXAgYXBwZW5kLW9ubHkgU3RyaW5nSU8gb2JqZWN0cy4KLQotLSBJc3N1ZSAjMTMzNzM6IG11bHRpcHJvY2Vzc2luZy5RdWV1ZS5nZXQoKSBjb3VsZCBzb21ldGltZXMgYmxvY2sgaW5kZWZpbml0ZWx5Ci0gIHdoZW4gY2FsbGVkIHdpdGggYSB0aW1lb3V0LiAgUGF0Y2ggYnkgQXJuYXVkIFlzbWFsLgotCi0tIElzc3VlICMxMzI1NDogRml4IE1haWxkaXIgaW5pdGlhbGl6YXRpb24gc28gdGhhdCBtYWlsZGlyIGNvbnRlbnRzCi0gIGFyZSByZWFkIGNvcnJlY3RseS4KLQotLSBJc3N1ZSAjMzA2NzogbG9jYWxlLnNldGxvY2FsZSgpIG5vdyByYWlzZXMgVHlwZUVycm9yIGlmIHRoZSBzZWNvbmQKLSAgYXJndW1lbnQgaXMgYW4gaW52YWxpZCBpdGVyYWJsZS4gSXRzIGRvY3VtZW50YXRpb24gYW5kIGRvY3N0cmluZwotICB3ZXJlIGFsc28gdXBkYXRlZC4gSW5pdGlhbCBwYXRjaCBieSBKeXJraSBQdWxsaWFpbmVuLgotCi0tIElzc3VlICMxMzE0MDogRml4IHRoZSBkYWVtb25fdGhyZWFkcyBhdHRyaWJ1dGUgb2YgVGhyZWFkaW5nTWl4SW4uCi0KLS0gSXNzdWUgIzEzMzM5OiBGaXggY29tcGlsZSBlcnJvciBpbiBwb3NpeG1vZHVsZS5jIGR1ZSB0byBtaXNzaW5nIHNlbWljb2xvbi4KLSAgVGhhbmtzIHRvIFJvYmVydCBYaWFvLgotCi0tIEJ5dGUgY29tcGlsYXRpb24gaW4gcGFja2FnaW5nIGlzIG5vdyBpc29sYXRlZCBmcm9tIHRoZSBjYWxsaW5nIFB5dGhvbiAtQiBvcgotICAtTyBvcHRpb25zLCBpbnN0ZWFkIG9mIGJlaW5nIGRpc2FsbG93ZWQgdW5kZXIgLUIgb3IgYnVnZ3kgdW5kZXIgLU8uCi0KLS0gSXNzdWUgIzEwNTcwOiBjdXJzZXMucHV0cCgpIGFuZCBjdXJzZXMudHBhcm0oKSBhcmUgbm93IGV4cGVjdGluZyBhIGJ5dGUKLSAgc3RyaW5nLCBpbnN0ZWFkIG9mIGEgVW5pY29kZSBzdHJpbmcuCi0KLS0gSXNzdWUgIzEzMjk1OiBodHRwLnNlcnZlciBub3cgcHJvZHVjZXMgdmFsaWQgSFRNTCA0LjAxIHN0cmljdC4KLQotLSBJc3N1ZSAjMjg5MjogcHJlc2VydmUgaXRlcnBhcnNlIGV2ZW50cyBpbiBjYXNlIG9mIFN5bnRheEVycm9yLgotCi0tIElzc3VlICMxMzI4NzogdXJsbGliLnJlcXVlc3QgYW5kIHVybGxpYi5lcnJvciBub3cgY29udGFpbnMgYW4gX19hbGxfXwotICBhdHRyaWJ1dGUgdG8gZXhwb3NlIG9ubHkgcmVsZXZhbnQgY2xhc3NlcyBhbmQgZnVuY3Rpb25zLiAgUGF0Y2ggYnkgRmxvcmVudAotICBYaWNsdW5hLgotCi0tIElzc3VlICM2NzA2NjQ6IEZpeCBIVE1MUGFyc2VyIHRvIGNvcnJlY3RseSBoYW5kbGUgdGhlIGNvbnRlbnQgb2YKLSAgYGA8c2NyaXB0Pi4uLjwvc2NyaXB0PmBgIGFuZCBgYDxzdHlsZT4uLi48L3N0eWxlPmBgLgotCi0tIElzc3VlICMxMDgxNzogRml4IHVybHJldHJpZXZlIGZ1bmN0aW9uIHRvIHJhaXNlIENvbnRlbnRUb29TaG9ydEVycm9yIGV2ZW4KLSAgd2hlbiByZXBvcnRob29rIGlzIE5vbmUuIFBhdGNoIGJ5IEp5cmtpIFB1bGxpYWluZW4uCi0KLS0gRml4IHRoZSB4bWxycGMuY2xpZW50IHVzZXIgYWdlbnQgdG8gcmV0dXJuIHNvbWV0aGluZyBzaW1pbGFyIHRvCi0gIHVybGxpYi5yZXF1ZXN0IHVzZXIgYWdlbnQ6ICJQeXRob24teG1scnBjLzMuMyIuCi0KLS0gSXNzdWUgIzEzMjkzOiBCZXR0ZXIgZXJyb3IgbWVzc2FnZSB3aGVuIHRyeWluZyB0byBtYXJzaGFsIGJ5dGVzIHVzaW5nCi0gIHhtbHJwYy5jbGllbnQuCi0KLS0gSXNzdWUgIzEzMjkxOiBOYW1lRXJyb3IgaW4geG1scnBjIHBhY2thZ2UuCi0KLS0gSXNzdWUgIzEzMjU4OiBVc2UgY2FsbGFibGUoKSBidWlsdC1pbiBpbiB0aGUgc3RhbmRhcmQgbGlicmFyeS4KLQotLSBJc3N1ZSAjMTMyNzM6IGZpeCBhIGJ1ZyB0aGF0IHByZXZlbnRlZCBIVE1MUGFyc2VyIHRvIHByb3Blcmx5IGRldGVjdCBzb21lCi0gIHRhZ3Mgd2hlbiBzdHJpY3Q9RmFsc2UuCi0KLS0gSXNzdWUgIzExMTgzOiBBZGQgZmluZXItZ3JhaW5lZCBleGNlcHRpb25zIHRvIHRoZSBzc2wgbW9kdWxlLCBzbyB0aGF0Ci0gIHlvdSBkb24ndCBoYXZlIHRvIGluc3BlY3QgdGhlIGV4Y2VwdGlvbidzIGF0dHJpYnV0ZXMgaW4gdGhlIGNvbW1vbiBjYXNlLgotCi0tIElzc3VlICMxMzIxNjogQWRkIGNwNjUwMDEgY29kZWMsIHRoZSBXaW5kb3dzIFVURi04IChDUF9VVEY4KS4KLQotLSBJc3N1ZSAjMTMyMjY6IEFkZCBSVExEX3h4eCBjb25zdGFudHMgdG8gdGhlIG9zIG1vZHVsZS4gVGhlc2UgY29uc3RhbnRzIGNhbiBiZQotICB1c2VkIHdpdGggc3lzLnNldGRsb3BlbmZsYWdzKCkuCi0KLS0gSXNzdWUgIzEwMjc4OiBBZGQgY2xvY2tfZ2V0cmVzKCksIGNsb2NrX2dldHRpbWUoKSBhbmQgQ0xPQ0tfeHh4IGNvbnN0YW50cyB0bwotICB0aGUgdGltZSBtb2R1bGUuIHRpbWUuY2xvY2tfZ2V0dGltZSh0aW1lLkNMT0NLX01PTk9UT05JQykgcHJvdmlkZXMgYQotICBtb25vdG9uaWMgY2xvY2sKLQotLSBJc3N1ZSAjMTAzMzI6IG11bHRpcHJvY2Vzc2luZzogZml4IGEgcmFjZSBjb25kaXRpb24gd2hlbiBhIFBvb2wgaXMgY2xvc2VkCi0gIGJlZm9yZSBhbGwgdGFza3MgaGF2ZSBjb21wbGV0ZWQuCi0KLS0gSXNzdWUgIzEzMjU1OiB3cm9uZyBkb2NzdHJpbmdzIGluIGFycmF5IG1vZHVsZS4KLQotLSBJc3N1ZSAjODU0MDogUmVtb3ZlIGRlcHJlY2F0ZWQgQ29udGV4dC5fY2xhbXAgYXR0cmlidXRlIGluIERlY2ltYWwgbW9kdWxlLgotCi0tIElzc3VlICMxMzIzNTogQWRkZWQgRGVwcmVjYXRpb25XYXJuaW5nIHRvIGxvZ2dpbmcud2FybigpIG1ldGhvZCBhbmQgZnVuY3Rpb24uCi0KLS0gSXNzdWUgIzkxNjg6IG5vdyBzbXRwZCBpcyBhYmxlIHRvIGJpbmQgcHJpdmlsZWdlZCBwb3J0LgotCi0tIElzc3VlICMxMjUyOTogZml4IGNnaS5wYXJzZV9oZWFkZXIgaXNzdWUgb24gc3RyaW5ncyB3aXRoIGRvdWJsZS1xdW90ZXMgYW5kCi0gIHNlbWljb2xvbnMgdG9nZXRoZXIuIFBhdGNoIGJ5IEJlbiBEYXJuZWxsIGFuZCBQZXRyaSBMZWh0aW5lbi4KLQotLSBJc3N1ZSAjMTMyMjc6IGZ1bmN0b29scy5scnVfY2FjaGUoKSBub3cgaGFzIGEgb3B0aW9uIHRvIGRpc3Rpbmd1aXNoCi0gIGNhbGxzIHdpdGggZGlmZmVyZW50IGFyZ3VtZW50IHR5cGVzLgotCi0tIElzc3VlICM2MDkwOiB6aXBmaWxlIHJhaXNlcyBhIFZhbHVlRXJyb3Igd2hlbiBhIGRvY3VtZW50IHdpdGggYSB0aW1lc3RhbXAKLSAgZWFybGllciB0aGFuIDE5ODAgaXMgcHJvdmlkZWQuIFBhdGNoIGNvbnRyaWJ1dGVkIGJ5IFBldHJpIExlaHRpbmVuLgotCi0tIElzc3VlICMxMzE1MDogc3lzY29uZmlnIG5vIGxvbmdlciBwYXJzZXMgdGhlIE1ha2VmaWxlIGFuZCBjb25maWcuaCBmaWxlcwotICB3aGVuIGltcG9ydGVkLCBpbnN0ZWFkIGRvaW5nIGl0IGF0IGJ1aWxkIHRpbWUuICBUaGlzIG1ha2VzIGltcG9ydGluZwotICBzeXNjb25maWcgZmFzdGVyIGFuZCByZWR1Y2VzIFB5dGhvbiBzdGFydHVwIHRpbWUgYnkgMjAlLgotCi0tIElzc3VlICMxMjQ0ODogc210cGxpYiBub3cgZmx1c2hlcyBzdGRvdXQgd2hpbGUgcnVubmluZyBgYHB5dGhvbiAtbSBzbXRwbGliYGAKLSAgaW4gb3JkZXIgdG8gZGlzcGxheSB0aGUgcHJvbXB0IGNvcnJlY3RseS4KLQotLSBJc3N1ZSAjMTI0NTQ6IFRoZSBtYWlsYm94IG1vZHVsZSBpcyBub3cgdXNpbmcgQVNDSUksIGluc3RlYWQgb2YgdGhlIGxvY2FsZQotICBlbmNvZGluZywgdG8gcmVhZCBhbmQgd3JpdGUgLm1oX3NlcXVlbmNlcyBmaWxlcy4KLQotLSBJc3N1ZSAjMTMxOTQ6IHpsaWIuY29tcHJlc3NvYmooKS5jb3B5KCkgYW5kIHpsaWIuZGVjb21wcmVzc29iaigpLmNvcHkoKSBhcmUKLSAgbm93IGF2YWlsYWJsZSBvbiBXaW5kb3dzLgotCi0tIElzc3VlICMxNjczMDA3OiB1cmxsaWIucmVxdWVzdCBub3cgc3VwcG9ydHMgSEVBRCByZXF1ZXN0IHZpYSBuZXcgbWV0aG9kIGFyZ3VtZW50LgotICBQYXRjaCBjb250cmlidXRpb25zIGJ5IERhdmlkIFN0YW5laywgUGF0cmljayBXZXN0ZXJob2ZmIGFuZCBFemlvIE1lbG90dGkuCi0KLS0gSXNzdWUgIzEyMzg2OiBwYWNrYWdpbmcgZG9lcyBub3QgZmFpbCBhbnltb3JlIHdoZW4gd3JpdGluZyB0aGUgUkVTT1VSQ0VTCi0gIGZpbGUuCi0KLS0gSXNzdWUgIzEzMTU4OiBGaXggZGVjb2RpbmcgYW5kIGVuY29kaW5nIG9mIEdOVSB0YXIgc3BlY2lmaWMgYmFzZS0yNTYgbnVtYmVyCi0gIGZpZWxkcyBpbiB0YXJmaWxlLgotCi0tIElzc3VlICMxMzAyNTogbWltZXR5cGVzIGlzIG5vdyByZWFkaW5nIE1JTUUgdHlwZXMgdXNpbmcgdGhlIFVURi04IGVuY29kaW5nLAotICBpbnN0ZWFkIG9mIHRoZSBsb2NhbGUgZW5jb2RpbmcuCi0KLS0gSXNzdWUgIzEwNjUzOiBPbiBXaW5kb3dzLCB1c2Ugc3RyZnRpbWUoKSBpbnN0ZWFkIG9mIHdjc2Z0aW1lKCkgYmVjYXVzZQotICB3Y3NmdGltZSgpIGRvZXNuJ3QgZm9ybWF0IHRpbWUgem9uZSBjb3JyZWN0bHkuCi0KLS0gSXNzdWUgIzEzMTUwOiBUaGUgdG9rZW5pemUgbW9kdWxlIGRvZXNuJ3QgY29tcGlsZSBsYXJnZSByZWd1bGFyIGV4cHJlc3Npb25zCi0gIGF0IHN0YXJ0dXAgYW55bW9yZS4KLQotLSBJc3N1ZSAjMTExNzE6IEZpeCBkaXN0dXRpbHMuc3lzY29uZmlnLmdldF9tYWtlZmlsZV9maWxlbmFtZSB3aGVuIFB5dGhvbiB3YXMKLSAgY29uZmlndXJlZCB3aXRoIGRpZmZlcmVudCBwcmVmaXggYW5kIGV4ZWMtcHJlZml4LgotCi0tIElzc3VlICMxMTI1NDogVGVhY2ggZGlzdHV0aWxzIGFuZCBwYWNrYWdpbmcgdG8gY29tcGlsZSAucHljIGFuZCAucHlvIGZpbGVzIGluCi0gIFBFUCAzMTQ3LWNvbXBsaWFudCBfX3B5Y2FjaGVfXyBkaXJlY3Rvcmllcy4KLQotLSBJc3N1ZSAjNzM2NzogRml4IHBrZ3V0aWwud2Fsa19wYXRocyB0byBza2lwIGRpcmVjdG9yaWVzIHdob3NlCi0gIGNvbnRlbnRzIGNhbm5vdCBiZSByZWFkLgotCi0tIElzc3VlICMzMTYzOiBUaGUgc3RydWN0IG1vZHVsZSBnZXRzIG5ldyBmb3JtYXQgY2hhcmFjdGVycyAnbicgYW5kICdOJwotICBzdXBwb3J0aW5nIEMgaW50ZWdlciB0eXBlcyBgYHNzaXplX3RgYCBhbmQgYGBzaXplX3RgYCwgcmVzcGVjdGl2ZWx5LgotCi0tIElzc3VlICMxMzA5OTogRml4IHNxbGl0ZTMuQ3Vyc29yLmxhc3Ryb3dpZCB1bmRlciBhIFR1cmtpc2ggbG9jYWxlLgotICBSZXBvcnRlZCBhbmQgZGlhZ25vc2VkIGJ5IFRob21hcyBLbHV5dmVyLgotCi0tIElzc3VlICMxMzA4NzogQnVmZmVyZWRSZWFkZXIuc2VlaygpIG5vdyBhbHdheXMgcmFpc2VzIFVuc3VwcG9ydGVkT3BlcmF0aW9uCi0gIGlmIHRoZSB1bmRlcmx5aW5nIHJhdyBzdHJlYW0gaXMgdW5zZWVrYWJsZSwgZXZlbiBpZiB0aGUgc2VlayBjb3VsZCBiZQotICBzYXRpc2ZpZWQgdXNpbmcgdGhlIGludGVybmFsIGJ1ZmZlci4gIFBhdGNoIGJ5IEpvaG4gTydDb25ub3IuCi0KLS0gSXNzdWUgIzc2ODk6IEFsbG93IHBpY2tsaW5nIG9mIGR5bmFtaWNhbGx5IGNyZWF0ZWQgY2xhc3NlcyB3aGVuIHRoZWlyCi0gIG1ldGFjbGFzcyBpcyByZWdpc3RlcmVkIHdpdGggY29weXJlZy4gIFBhdGNoIGJ5IE5pY29sYXMgTS4gVGhpw6lyeSBhbmQgQ3JhaWcKLSAgQ2l0cm8uCi0KLS0gSXNzdWUgIzEzMDM0OiBXaGVuIGRlY29kaW5nIHNvbWUgU1NMIGNlcnRpZmljYXRlcywgdGhlIHN1YmplY3RBbHROYW1lCi0gIGV4dGVuc2lvbiBjb3VsZCBiZSB1bnJlcG9ydGVkLgotCi0tIElzc3VlICMxMjMwNjogRXhwb3NlIHRoZSBydW50aW1lIHZlcnNpb24gb2YgdGhlIHpsaWIgQyBsaWJyYXJ5IGFzIGEgY29uc3RhbnQsCi0gIFpMSUJfUlVOVElNRV9WRVJTSU9OLCBpbiB0aGUgemxpYiBtb2R1bGUuIFBhdGNoIGJ5IFRvcnN0ZW4gTGFuZHNjaG9mZi4KLQotLSBJc3N1ZSAjMTI5NTk6IEFkZCBjb2xsZWN0aW9ucy5DaGFpbk1hcCB0byBjb2xsZWN0aW9ucy5fX2FsbF9fLgotCi0tIElzc3VlICM4OTMzOiBkaXN0dXRpbHMnIFBLRy1JTkZPIGZpbGVzIGFuZCBwYWNrYWdpbmcncyBNRVRBREFUQSBmaWxlcyB3aWxsCi0gIG5vdyBjb3JyZWN0bHkgcmVwb3J0IE1ldGFkYXRhLVZlcnNpb246IDEuMSBpbnN0ZWFkIG9mIDEuMCBpZiBhIENsYXNzaWZpZXIgb3IKLSAgRG93bmxvYWQtVVJMIGZpZWxkIGlzIHByZXNlbnQuCi0KLS0gSXNzdWUgIzEyNTY3OiBBZGQgY3Vyc2VzLnVuZ2V0X3djaCgpIGZ1bmN0aW9uLiBQdXNoIGEgY2hhcmFjdGVyIHNvIHRoZSBuZXh0Ci0gIGdldF93Y2goKSB3aWxsIHJldHVybiBpdC4KLQotLSBJc3N1ZSAjOTU2MTogZGlzdHV0aWxzIGFuZCBwYWNrYWdpbmcgbm93IHdyaXRlcyBlZ2ctaW5mbyBmaWxlcyB1c2luZyBVVEYtOCwKLSAgaW5zdGVhZCBvZiB0aGUgbG9jYWxlIGVuY29kaW5nLgotCi0tIElzc3VlICM4Mjg2OiBUaGUgZGlzdHV0aWxzIGNvbW1hbmQgc2Rpc3Qgd2lsbCBwcmludCBhIHdhcm5pbmcgbWVzc2FnZSBpbnN0ZWFkCi0gIG9mIGNyYXNoaW5nIHdoZW4gYW4gaW52YWxpZCBwYXRoIGlzIGdpdmVuIGluIHRoZSBtYW5pZmVzdCB0ZW1wbGF0ZS4KLQotLSBJc3N1ZSAjMTI4NDE6IHRhcmZpbGUgdW5uZWNlc3NhcmlseSBjaGVja2VkIHRoZSBleGlzdGVuY2Ugb2YgbnVtZXJpY2FsIHVzZXIKLSAgYW5kIGdyb3VwIGlkcyBvbiBleHRyYWN0aW9uLiBJZiBvbmUgb2YgdGhlbSBkaWQgbm90IGV4aXN0IHRoZSByZXNwZWN0aXZlIGlkCi0gIG9mIHRoZSBjdXJyZW50IHVzZXIgKGkuZS4gcm9vdCkgd2FzIHVzZWQgZm9yIHRoZSBmaWxlIGFuZCBvd25lcnNoaXAKLSAgaW5mb3JtYXRpb24gd2FzIGxvc3QuCi0KLS0gSXNzdWUgIzEyODg4OiBGaXggYSBidWcgaW4gSFRNTFBhcnNlci51bmVzY2FwZSB0aGF0IHByZXZlbnRlZCBpdCB0byBlc2NhcGUKLSAgbW9yZSB0aGFuIDEyOCBlbnRpdGllcy4gIFBhdGNoIGJ5IFBldGVyIE90dGVuLgotCi0tIElzc3VlICMxMjg3ODogRXhwb3NlIGEgX19kaWN0X18gYXR0cmlidXRlIG9uIGlvLklPQmFzZSBhbmQgaXRzIHN1YmNsYXNzZXMuCi0KLS0gSXNzdWUgIzEyNDk0OiBPbiBlcnJvciwgY2FsbCgpLCBjaGVja19jYWxsKCksIGNoZWNrX291dHB1dCgpIGFuZAotICBnZXRzdGF0dXNvdXRwdXQoKSBmdW5jdGlvbnMgb2YgdGhlIHN1YnByb2Nlc3MgbW9kdWxlIG5vdyBraWxsIHRoZSBwcm9jZXNzLAotICByZWFkIGl0cyBzdGF0dXMgKHRvIGF2b2lkIHpvbWJpcykgYW5kIGNsb3NlIHBpcGVzLgotCi0tIElzc3VlICMxMjcyMDogRXhwb3NlIGxvdy1sZXZlbCBMaW51eCBleHRlbmRlZCBmaWxlIGF0dHJpYnV0ZSBmdW5jdGlvbnMgaW4gb3MuCi0KLS0gSXNzdWUgIzEwOTQ2OiBUaGUgZGlzdHV0aWxzIGNvbW1hbmRzIGJkaXN0X2R1bWIsIGJkaXN0X3dpbmluc3QgYW5kIGJkaXN0X21zaQotICBub3cgcmVzcGVjdCBhIC0tc2tpcC1idWlsZCBvcHRpb24gZ2l2ZW4gdG8gYmRpc3QuICBUaGUgcGFja2FnaW5nIGNvbW1hbmRzCi0gIHdlcmUgZml4ZWQgdG9vLgotCi0tIElzc3VlICMxMjg0NzogRml4IGEgY3Jhc2ggd2l0aCBuZWdhdGl2ZSBQVVQgYW5kIExPTkdfQklOUFVUIGFyZ3VtZW50cyBpbgotICB0aGUgQyBwaWNrbGUgaW1wbGVtZW50YXRpb24uCi0KLS0gSXNzdWUgIzExNTY0OiBBdm9pZCBjcmFzaGVzIHdoZW4gdHJ5aW5nIHRvIHBpY2tsZSBodWdlIG9iamVjdHMgb3IgY29udGFpbmVycwotICAobW9yZSB0aGFuIDIqKjMxIGl0ZW1zKS4gIEluc3RlYWQsIGluIG1vc3QgY2FzZXMsIGFuIE92ZXJmbG93RXJyb3IgaXMgcmFpc2VkLgotCi0tIElzc3VlICMxMjI4NzogRml4IGEgc3RhY2sgY29ycnVwdGlvbiBpbiBvc3NhdWRpb2RldiBtb2R1bGUgd2hlbiB0aGUgRkQgaXMKLSAgZ3JlYXRlciB0aGFuIEZEX1NFVFNJWkUuCi0KLS0gSXNzdWUgIzEyODM5OiBGaXggY3Jhc2ggaW4gemxpYiBtb2R1bGUgZHVlIHRvIHZlcnNpb24gbWlzbWF0Y2guCi0gIEZpeCBieSBSaWNoYXJkIE0uIFRldy4KLQotLSBJc3N1ZSAjOTkyMzogVGhlIG1haWxjYXAgbW9kdWxlIG5vdyBjb3JyZWN0bHkgdXNlcyB0aGUgcGxhdGZvcm0gcGF0aAotICBzZXBhcmF0b3IgZm9yIHRoZSBNQUlMQ0FQIGVudmlyb25tZW50IHZhcmlhYmxlIG9uIG5vbi1QT1NJWCBwbGF0Zm9ybXMuCi0KLS0gSXNzdWUgIzEyODM1OiBGb2xsb3cgdXAgdG8gIzY1NjAgdGhhdCB1bmNvbmRpdGlvbmFsbHkgcHJldmVudHMgdXNlIG9mIHRoZQotICB1bmVuY3J5cHRlZCBzZW5kbXNnL3JlY3Ztc2cgQVBJcyBvbiBTU0wgd3JhcHBlZCBzb2NrZXRzLiBQYXRjaCBieSBEYXZpZAotICBXYXRzb24uCi0KLS0gSXNzdWUgIzEyODAzOiBTU0xDb250ZXh0LmxvYWRfY2VydF9jaGFpbigpIG5vdyBhY2NlcHRzIGEgcGFzc3dvcmQgYXJndW1lbnQKLSAgdG8gYmUgdXNlZCBpZiB0aGUgcHJpdmF0ZSBrZXkgaXMgZW5jcnlwdGVkLiAgUGF0Y2ggYnkgQWRhbSBTaW1wa2lucy4KLQotLSBJc3N1ZSAjMTE2NTc6IEZpeCBzZW5kaW5nIGZpbGUgZGVzY3JpcHRvcnMgb3ZlciAyNTUgb3ZlciBhIG11bHRpcHJvY2Vzc2luZwotICBQaXBlLgotCi0tIElzc3VlICMxMjgxMTogdGFibmFubnkuY2hlY2soKSBub3cgcHJvbXB0bHkgY2xvc2VzIGNoZWNrZWQgZmlsZXMuIFBhdGNoIGJ5Ci0gIEFudGhvbnkgQnJpZ2dzLgotCi0tIElzc3VlICM2NTYwOiBUaGUgc2VuZG1zZy9yZWN2bXNnIEFQSSBpcyBub3cgZXhwb3NlZCBieSB0aGUgc29ja2V0IG1vZHVsZQotICB3aGVuIHByb3ZpZGVkIGJ5IHRoZSB1bmRlcmx5aW5nIHBsYXRmb3JtLCBzdXBwb3J0aW5nIHByb2Nlc3Npbmcgb2YKLSAgYW5jaWxsYXJ5IGRhdGEgaW4gcHVyZSBQeXRob24gY29kZS4gUGF0Y2ggYnkgRGF2aWQgV2F0c29uIGFuZCBIZWlrbyBXdW5kcmFtLgotCi0tIElzc3VlICMxMjMyNjogT24gTGludXgsIHN5cy5wbGF0Zm9ybSBkb2Vzbid0IGNvbnRhaW4gdGhlIG1ham9yIHZlcnNpb24KLSAgYW55bW9yZS4gSXQgaXMgbm93IGFsd2F5cyAnbGludXgnLCBpbnN0ZWFkIG9mICdsaW51eDInIG9yICdsaW51eDMnIGRlcGVuZGluZwotICBvbiB0aGUgTGludXggdmVyc2lvbiB1c2VkIHRvIGJ1aWxkIFB5dGhvbi4KLQotLSBJc3N1ZSAjMTIyMTM6IEZpeCBhIGJ1ZmZlcmluZyBidWcgd2l0aCBpbnRlcmxlYXZlZCByZWFkcyBhbmQgd3JpdGVzIHRoYXQKLSAgY291bGQgYXBwZWFyIG9uIEJ1ZmZlcmVkUmFuZG9tIHN0cmVhbXMuCi0KLS0gSXNzdWUgIzEyNzc4OiBSZWR1Y2UgbWVtb3J5IGNvbnN1bXB0aW9uIHdoZW4gSlNPTi1lbmNvZGluZyBhIGxhcmdlCi0gIGNvbnRhaW5lciBvZiBtYW55IHNtYWxsIG9iamVjdHMuCi0KLS0gSXNzdWUgIzEyNjUwOiBGaXggYSByYWNlIGNvbmRpdGlvbiB3aGVyZSBhIHN1YnByb2Nlc3MuUG9wZW4gY291bGQgbGVhawotICByZXNvdXJjZXMgKEZEL3pvbWJpZSkgd2hlbiBraWxsZWQgYXQgdGhlIHdyb25nIHRpbWUuCi0KLS0gSXNzdWUgIzEyNzQ0OiBGaXggaW5lZmZpY2llbnQgcmVwcmVzZW50YXRpb24gb2YgaW50ZWdlcnMgYmV0d2VlbiAyKiozMSBhbmQKLSAgMioqNjMgb24gc3lzdGVtcyB3aXRoIGEgNjQtYml0IEMgImxvbmciLgotCi0tIElzc3VlICMxMjY0NjogQWRkIGFuICdlb2YnIGF0dHJpYnV0ZSB0byB6bGliLkRlY29tcHJlc3MsIHRvIG1ha2UgaXQgZWFzaWVyIHRvCi0gIGRldGVjdCB0cnVuY2F0ZWQgaW5wdXQgc3RyZWFtcy4KLQotLSBJc3N1ZSAjMTE1MTM6IEZpeCBleGNlcHRpb24gaGFuZGxpbmcgYGB0YXJmaWxlLlRhckZpbGUuZ3pvcGVuKClgYCB3aGVuCi0gIHRoZSBmaWxlIGNhbm5vdCBiZSBvcGVuZWQuCi0KLS0gSXNzdWUgIzEyNjg3OiBGaXggYSBwb3NzaWJsZSBidWZmZXJpbmcgYnVnIHdoZW4gdW5waWNrbGluZyB0ZXh0IG1vZGUKLSAgKHByb3RvY29sIDAsIG1vc3RseSkgcGlja2xlcy4KLQotLSBJc3N1ZSAjMTAwODc6IEZpeCB0aGUgaHRtbCBvdXRwdXQgZm9ybWF0IG9mIHRoZSBjYWxlbmRhciBtb2R1bGUuCi0KLS0gSXNzdWUgIzEzMTIxOiBhZGQgc3VwcG9ydCBmb3IgaW5wbGFjZSBtYXRoIG9wZXJhdG9ycyB0byBjb2xsZWN0aW9ucy5Db3VudGVyLgotCi0tIEFkZCBzdXBwb3J0IGZvciB1bmFyeSBwbHVzIGFuZCB1bmFyeSBtaW51cyB0byBjb2xsZWN0aW9ucy5Db3VudGVyLgotCi0tIElzc3VlICMxMjY4MzogdXJscGFyc2UgdXBkYXRlZCB0byBpbmNsdWRlIHN2biBhcyBzY2hlbWVzIHRoYXQgdXNlcyByZWxhdGl2ZQotICBwYXRocy4gKHN2biBmcm9tIDEuNSBvbndhcmRzIHN1cHBvcnQgcmVsYXRpdmUgcGF0aCkuCi0KLS0gSXNzdWUgIzEyNjU1OiBFeHBvc2UgZnVuY3Rpb25zIGZyb20gc2NoZWQuaCBpbiB0aGUgb3MgbW9kdWxlOiBzY2hlZF95aWVsZCgpLAotICBzY2hlZF9zZXRzY2hlZHVsZXIoKSwgc2NoZWRfZ2V0c2NoZWR1bGVyKCksIHNjaGVkX3NldHBhcmFtKCksCi0gIHNjaGVkX2dldF9taW5fcHJpb3JpdHkoKSwgc2NoZWRfZ2V0X21heF9wcmlvcml0eSgpLCBzY2hlZF9ycl9nZXRfaW50ZXJ2YWwoKSwKLSAgc2NoZWRfZ2V0YWZmaW5pdHkoKSwgc2NoZWRfc2V0YWZmaW5pdHkoKS4KLQotLSBBZGQgVGhyZWFkRXJyb3IgdG8gdGhyZWFkaW5nLl9fYWxsX18uCi0KLS0gSXNzdWVzICMxMTEwNCwgIzg2ODg6IEZpeCB0aGUgYmVoYXZpb3Igb2YgZGlzdHV0aWxzJyBzZGlzdCBjb21tYW5kIHdpdGgKLSAgbWFudWFsbHktbWFpbnRhaW5lZCBNQU5JRkVTVCBmaWxlcy4KLQotLSBJc3N1ZSAjMTEyODE6IHNtdHBsaWIuU1RNUCBnZXRzIHNvdXJjZV9hZGRyZXNzIHBhcmFtZXRlciwgd2hpY2ggYWRkcyB0aGUKLSAgYWJpbGl0eSB0byBiaW5kIHRvIHNwZWNpZmljIHNvdXJjZSBhZGRyZXNzIG9uIGEgbWFjaGluZSB3aXRoIG11bHRpcGxlCi0gIGludGVyZmFjZXMuIFBhdGNoIGJ5IFBhdWxvIFNjYXJkaW5lLgotCi0tIElzc3VlICMxMjQ2NDogdGVtcGZpbGUuVGVtcG9yYXJ5RGlyZWN0b3J5LmNsZWFudXAoKSBzaG91bGQgbm90IGZvbGxvdwotICBzeW1saW5rczogZml4IGl0LiBQYXRjaCBieSBQZXRyaSBMZWh0aW5lbi4KLQotLSBJc3N1ZSAjODg4NzogInB5ZG9jIHNvbWVidWlsdGluLnNvbWVtZXRob2QiIChvciBoZWxwKCdzb21lYnVpbHRpbi5zb21lbWV0aG9kJykKLSAgaW4gUHl0aG9uIGNvZGUpIG5vdyBmaW5kcyB0aGUgZG9jIG9mIHRoZSBtZXRob2QuCi0KLS0gSXNzdWUgIzEwOTY4OiBSZW1vdmUgaW5kaXJlY3Rpb24gaW4gdGhyZWFkaW5nLiAgVGhlIHB1YmxpYyBuYW1lcyAoRXZlbnQsCi0gIENvbmRpdGlvbiwgZXRjLikgdXNlZCB0byBiZSBmYWN0b3J5IGZ1bmN0aW9ucyByZXR1cm5pbmcgaW5zdGFuY2VzIG9mIGhpZGRlbgotICBjbGFzc2VzIChfRXZlbnQsIF9Db25kaXRpb24sIGV0Yy4pLCBiZWNhdXNlIChpZiBHdWlkbyByZWNhbGxzIGNvcnJlY3RseSkgdGhpcwotICBjb2RlIHByZS1kYXRlcyB0aGUgYWJpbGl0eSB0byBzdWJjbGFzcyBleHRlbnNpb24gdHlwZXMuICBJdCBpcyBub3cgcG9zc2libGUKLSAgdG8gaW5oZXJpdCBmcm9tIHRoZXNlIGNsYXNzZXMsIHdpdGhvdXQgaGF2aW5nIHRvIGltcG9ydCB0aGUgcHJpdmF0ZQotICB1bmRlcnNjb3JlZCBuYW1lcyBsaWtlIG11bHRpcHJvY2Vzc2luZyBkaWQuCi0KLS0gSXNzdWUgIzk3MjM6IEFkZCBzaGxleC5xdW90ZSBmdW5jdGlvbnMsIHRvIGVzY2FwZSBmaWxlbmFtZXMgYW5kIGNvbW1hbmQKLSAgbGluZXMuCi0KLS0gSXNzdWUgIzEyNjAzOiBGaXggcHlkb2Muc3lub3BzaXMoKSBvbiBmaWxlcyB3aXRoIG5vbi1uZWdhdGl2ZSBzdF9tdGltZS4KLQotLSBJc3N1ZSAjMTI1MTQ6IFVzZSB0cnkvZmluYWxseSB0byBhc3N1cmUgdGhlIHRpbWVpdCBtb2R1bGUgcmVzdG9yZXMgZ2FyYmFnZQotICBjb2xsZWN0aW9ucyB3aGVuIGl0IGlzIGRvbmUuCi0KLS0gSXNzdWUgIzEyNjA3OiBJbiBzdWJwcm9jZXNzLCBmaXggaXNzdWUgd2hlcmUgaWYgc3RkaW4sIHN0ZG91dCBvciBzdGRlcnIgaXMKLSAgZ2l2ZW4gYXMgYSBsb3cgZmQsIGl0IGdldHMgb3ZlcndyaXR0ZW4uCi0KLS0gSXNzdWUgIzEyNTc2OiBGaXggdXJsb3BlbiBiZWhhdmlvciBvbiBzaXRlcyB3aGljaCBkbyBub3Qgc2VuZCAob3Igb2JmdXNjYXRlcykKLSAgYGBDb25uZWN0aW9uOiBjbG9zZWBgIGhlYWRlci4KLQotLSBJc3N1ZSAjMTI1NjA6IEJ1aWxkIGxpYnB5dGhvbi5zbyBvbiBPcGVuQlNELiBQYXRjaCBieSBTdGVmYW4gU3BlcmxpbmcuCi0KLS0gSXNzdWUgIzE4MTM6IEZpeCBjb2RlYyBsb29rdXAgdW5kZXIgVHVya2lzaCBsb2NhbGVzLgotCi0tIElzc3VlICMxMjU5MTogSW1wcm92ZSBzdXBwb3J0IG9mICJ1bml2ZXJzYWwgbmV3bGluZXMiIGluIHRoZSBzdWJwcm9jZXNzCi0gIG1vZHVsZTogdGhlIHBpcGVkIHN0cmVhbXMgY2FuIG5vdyBiZSBwcm9wZXJseSByZWFkIGZyb20gb3Igd3JpdHRlbiB0by4KLQotLSBJc3N1ZSAjMTI1OTE6IEFsbG93IGlvLlRleHRJT1dyYXBwZXIgdG8gd29yayB3aXRoIHJhdyBJTyBvYmplY3RzICh3aXRob3V0Ci0gIGEgcmVhZDEoKSBtZXRob2QpLCBhbmQgYWRkIGEgKndyaXRlX3Rocm91Z2gqIHBhcmFtZXRlciB0byBtYW5kYXRlCi0gIHVuYnVmZmVyZWQgd3JpdGVzLgotCi0tIElzc3VlICMxMDg4MzogRml4IHNvY2tldCBsZWFrcyBpbiB1cmxsaWIucmVxdWVzdCB3aGVuIHVzaW5nIEZUUC4KLQotLSBJc3N1ZSAjMTI1OTI6IE1ha2UgUHl0aG9uIGJ1aWxkIG9uIE9wZW5CU0QgNSAoYW5kIGZ1dHVyZSBtYWpvciByZWxlYXNlcykuCi0KLS0gSXNzdWUgIzEyMzcyOiBQT1NJWCBzZW1hcGhvcmVzIGFyZSBicm9rZW4gb24gQUlYOiBkb24ndCB1c2UgdGhlbS4KLQotLSBJc3N1ZSAjMTI1NTE6IFByb3ZpZGUgYSBnZXRfY2hhbm5lbF9iaW5kaW5nKCkgbWV0aG9kIG9uIFNTTCBzb2NrZXRzIHNvIGFzCi0gIHRvIGdldCBjaGFubmVsIGJpbmRpbmcgZGF0YSBmb3IgdGhlIGN1cnJlbnQgU1NMIHNlc3Npb24gKG9ubHkgdGhlCi0gICJ0bHMtdW5pcXVlIiBjaGFubmVsIGJpbmRpbmcgaXMgaW1wbGVtZW50ZWQpLiAgVGhpcyBhbGxvd3MgdGhlIGltcGxlbWVudGF0aW9uCi0gIG9mIGNlcnRhaW4gYXV0aGVudGljYXRpb24gbWVjaGFuaXNtcyBzdWNoIGFzIFNDUkFNLVNIQS0xLVBMVVMuICBQYXRjaCBieQotICBKYWNlayBLb25pZWN6bnkuCi0KLS0gSXNzdWUgIzY2NTE5NDogZW1haWwudXRpbHMgbm93IGhhcyBmb3JtYXRfZGF0ZXRpbWUgYW5kIHBhcnNlZGF0ZV90b19kYXRldGltZQotICBmdW5jdGlvbnMsIGFsbG93aW5nIGZvciByb3VuZCB0cmlwcGluZyBvZiBSRkMyODIyIGZvcm1hdCBkYXRlcy4KLQotLSBJc3N1ZSAjMTI1NzE6IEFkZCBhIHBsYXQtbGludXgzIGRpcmVjdG9yeSBtaXJyb3JpbmcgdGhlIHBsYXQtbGludXgyCi0gIGRpcmVjdG9yeSwgc28gdGhhdCAiaW1wb3J0IERMRkNOIiBhbmQgb3RoZXIgc2ltaWxhciBpbXBvcnRzIHdvcmsgb24KLSAgTGludXggMy4wLgotCi0tIElzc3VlICM3NDg0OiBzbXRwbGliIG5vIGxvbmdlciBwdXRzIDw+IGFyb3VuZCBhZGRyZXNzZXMgaW4gVlJGWSBhbmQgRVhQTgotICBjb21tYW5kczsgdGhleSBhcmVuJ3QgcmVxdWlyZWQgYW5kIGluIGZhY3QgcG9zdGZpeCBkb2Vzbid0IHN1cHBvcnQgdGhhdCBmb3JtLgotCi0tIElzc3VlICMxMjI3MzogUmVtb3ZlIGFzdC5fX3ZlcnNpb25fXy4gQVNUIGNoYW5nZXMgY2FuIGJlIGFjY291bnRlZCBmb3IgYnkKLSAgY2hlY2tpbmcgc3lzLnZlcnNpb25faW5mbyBvciBzeXMuX21lcmN1cmlhbC4KLQotLSBTaWxlbmNlIHNwdXJpb3VzICJicm9rZW4gcGlwZSIgdHJhY2ViYWNrcyB3aGVuIHNodXR0aW5nIGRvd24gYQotICBQcm9jZXNzUG9vbEV4ZWN1dG9yLgotCi0tIEZpeCBwb3RlbnRpYWwgcmVzb3VyY2UgbGVha3MgaW4gY29uY3VycmVudC5mdXR1cmVzLlByb2Nlc3NQb29sRXhlY3V0b3IKLSAgYnkgam9pbmluZyBhbGwgcXVldWVzIGFuZCBwcm9jZXNzZXMgd2hlbiBzaHV0ZG93bigpIGlzIGNhbGxlZC4KLQotLSBJc3N1ZSAjMTE2MDM6IEZpeCBhIGNyYXNoIHdoZW4gX19zdHJfXyBpcyByZWJvdW5kIGFzIF9fcmVwcl9fLiAgUGF0Y2ggYnkKLSAgQW5kcmVhcyBTdMO8aHJrLgotCi0tIElzc3VlICMxMTMyMTogRml4IGEgY3Jhc2ggd2l0aCBtdWx0aXBsZSBpbXBvcnRzIG9mIHRoZSBfcGlja2xlIG1vZHVsZSB3aGVuCi0gIGVtYmVkZGluZyBQeXRob24uICBQYXRjaCBieSBBbmRyZWFzIFN0w7xocmsuCi0KLS0gSXNzdWUgIzY3NTU6IEFkZCBnZXRfd2NoKCkgbWV0aG9kIHRvIGN1cnNlcy53aW5kb3cgY2xhc3MuIFBhdGNoIGJ5IEnDsWlnbwotICBTZXJuYS4KLQotLSBBZGQgY2dpLmNsb3NlbG9nKCkgZnVuY3Rpb24gdG8gY2xvc2UgdGhlIGxvZyBmaWxlLgotCi0tIElzc3VlICMxMjUwMjogYXN5bmNvcmU6IGZpeCBwb2xsaW5nIGxvb3Agd2l0aCBBRl9VTklYIHNvY2tldHMuCi0KLS0gSXNzdWUgIzQzNzY6IGN0eXBlcyBub3cgc3VwcG9ydHMgbmVzdGVkIHN0cnVjdHVyZXMgaW4gYSBlbmRpYW4gZGlmZmVyZW50IHRoYW4KLSAgdGhlIHBhcmVudCBzdHJ1Y3R1cmUuIFBhdGNoIGJ5IFZsYWQgUmlzY3V0aWEuCi0KLS0gUmFpc2UgVmFsdWVFcnJvciB3aGVuIGF0dGVtcHRpbmcgdG8gc2V0IHRoZSBfQ0hVTktfU0laRSBhdHRyaWJ1dGUgb2YgYQotICBUZXh0SU9XcmFwcGVyIHRvIGEgaHVnZSB2YWx1ZSwgbm90IFR5cGVFcnJvci4KLQotLSBJc3N1ZSAjMTI1MDQ6IENsb3NlIGZpbGUgaGFuZGxlcyBpbiBhIHRpbWVseSBtYW5uZXIgaW4gcGFja2FnaW5nLmRhdGFiYXNlLgotICBUaGlzIGZpeGVzIGEgYnVnIHdpdGggdGhlIHJlbW92ZSAodW5pbnN0YWxsKSBmZWF0dXJlIG9uIFdpbmRvd3MuCi0KLS0gSXNzdWVzICMxMjE2OSBhbmQgIzEwNTEwOiBGYWN0b3Igb3V0IGNvZGUgdXNlZCBieSB2YXJpb3VzIHBhY2thZ2luZyBjb21tYW5kcwotICB0byBtYWtlIEhUVFAgUE9TVCByZXF1ZXN0cywgYW5kIG1ha2Ugc3VyZSBpdCB1c2VzIENSTEYuCi0KLS0gSXNzdWUgIzEyMDE2OiBNdWx0aWJ5dGUgQ0pLIGRlY29kZXJzIG5vdyByZXN5bmNocm9uaXplIGZhc3Rlci4gVGhleSBvbmx5Ci0gIGlnbm9yZSB0aGUgZmlyc3QgYnl0ZSBvZiBhbiBpbnZhbGlkIGJ5dGUgc2VxdWVuY2UuIEZvciBleGFtcGxlLAotICBiJ1x4ZmZcbicuZGVjb2RlKCdnYjIzMTInLCAncmVwbGFjZScpIGdpdmVzICdcdWZmZmRcbicgaW5zdGVhZCBvZiAnXHVmZmZkJy4KLQotLSBJc3N1ZSAjMTI0NTk6IHRpbWUuc2xlZXAoKSBub3cgcmFpc2VzIGEgVmFsdWVFcnJvciBpZiB0aGUgc2xlZXAgbGVuZ3RoIGlzCi0gIG5lZ2F0aXZlLCBpbnN0ZWFkIG9mIGFuIGluZmluaXRlIHNsZWVwIG9uIFdpbmRvd3Mgb3IgcmFpc2luZyBhbiBJT0Vycm9yIG9uCi0gIExpbnV4IGZvciBleGFtcGxlLCB0byBoYXZlIHRoZSBzYW1lIGJlaGF2aW91ciBvbiBhbGwgcGxhdGZvcm1zLgotCi0tIElzc3VlICMxMjQ1MTogcHlkb2M6IGh0bWxfZ2V0ZmlsZSgpIG5vdyB1c2VzIHRva2VuaXplLm9wZW4oKSB0byBzdXBwb3J0Ci0gIFB5dGhvbiBzY3JpcHRzIHVzaW5nIGEgZW5jb2RpbmcgZGlmZmVyZW50IHRoYW4gVVRGLTggKHJlYWQgdGhlIGNvZGluZyBjb29raWUKLSAgb2YgdGhlIHNjcmlwdCkuCi0KLS0gSXNzdWUgIzEyNDkzOiBzdWJwcm9jZXNzOiBQb3Blbi5jb21tdW5pY2F0ZSgpIG5vdyBhbHNvIGhhbmRsZXMgRUlOVFIgZXJyb3JzCi0gIGlmIHRoZSBwcm9jZXNzIGhhcyBvbmx5IG9uZSBwaXBlLgotCi0tIElzc3VlICMxMjQ2Nzogd2FybmluZ3M6IGZpeCBhIHJhY2UgY29uZGl0aW9uIGlmIGEgd2FybmluZyBpcyBlbWl0dGVkIGF0Ci0gIHNodXRkb3duLCBpZiBnbG9iYWxzKClbJ19fZmlsZV9fJ10gaXMgTm9uZS4KLQotLSBJc3N1ZSAjMTI0NTE6IHB5ZG9jOiBpbXBvcnRmaWxlKCkgbm93IG9wZW5zIHRoZSBQeXRob24gc2NyaXB0IGluIGJpbmFyeSBtb2RlLAotICBpbnN0ZWFkIG9mIHRleHQgbW9kZSB1c2luZyB0aGUgbG9jYWxlIGVuY29kaW5nLCB0byBhdm9pZCBlbmNvZGluZyBpc3N1ZXMuCi0KLS0gSXNzdWUgIzEyNDUxOiBydW5weTogcnVuX3BhdGgoKSBub3cgb3BlbnMgdGhlIFB5dGhvbiBzY3JpcHQgaW4gYmluYXJ5IG1vZGUsCi0gIGluc3RlYWQgb2YgdGV4dCBtb2RlIHVzaW5nIHRoZSBsb2NhbGUgZW5jb2RpbmcsIHRvIHN1cHBvcnQgb3RoZXIgZW5jb2RpbmdzCi0gIHRoYW4gVVRGLTggKHNjcmlwdHMgdXNpbmcgdGhlIGNvZGluZyBjb29raWUpLgotCi0tIElzc3VlICMxMjQ1MTogeG1sLmRvbS5wdWxsZG9tOiBwYXJzZSgpIG5vdyBvcGVucyBmaWxlcyBpbiBiaW5hcnkgbW9kZSBpbnN0ZWFkCi0gIG9mIHRoZSB0ZXh0IG1vZGUgKHVzaW5nIHRoZSBsb2NhbGUgZW5jb2RpbmcpIHRvIGF2b2lkIGVuY29kaW5nIGlzc3Vlcy4KLQotLSBJc3N1ZSAjMTIxNDc6IEFkanVzdCB0aGUgbmV3LWluLTMuMiBzbXRwbGliLnNlbmRfbWVzc2FnZSBtZXRob2QgZm9yIGJldHRlcgotICBjb25mb3JtYW5jZSB0byB0aGUgUkZDczogIGNvcnJlY3RseSBoYW5kbGUgU2VuZGVyIGFuZCBSZXNlbnQtIGhlYWRlcnMuCi0KLS0gSXNzdWUgIzEyMzUyOiBGaXggYSBkZWFkbG9jayBpbiBtdWx0aXByb2Nlc3NpbmcuSGVhcCB3aGVuIGEgYmxvY2sgaXMgZnJlZWQgYnkKLSAgdGhlIGdhcmJhZ2UgY29sbGVjdG9yIHdoaWxlIHRoZSBIZWFwIGxvY2sgaXMgaGVsZC4KLQotLSBJc3N1ZSAjMTI0NjI6IHRpbWUuc2xlZXAoKSBub3cgaW1tZWRpYXRlbHkgY2FsbHMgdGhlIChQeXRob24pIHNpZ25hbCBoYW5kbGVyCi0gIGlmIGl0IGlzIGludGVycnVwdGVkIGJ5IGEgc2lnbmFsLCBpbnN0ZWFkIG9mIGhhdmluZyB0byB3YWl0IHVudGlsIHRoZSBuZXh0Ci0gIGluc3RydWN0aW9uLgotCi0tIElzc3VlICMxMjQ0MjogbmV3IHNodXRpbC5kaXNrX3VzYWdlIGZ1bmN0aW9uLCBwcm92aWRpbmcgdG90YWwsIHVzZWQgYW5kIGZyZWUKLSAgZGlzayBzcGFjZSBzdGF0aXN0aWNzLgotCi0tIElzc3VlICMxMjQ1MTogVGhlIFhJbmNsdWRlIGRlZmF1bHQgbG9hZGVyIG9mIHhtbC5ldHJlZSBub3cgZGVjb2RlcyBmaWxlcyBmcm9tCi0gIFVURi04IGluc3RlYWQgb2YgdGhlIGxvY2FsZSBlbmNvZGluZyBpZiB0aGUgZW5jb2RpbmcgaXMgbm90IHNwZWNpZmllZC4gSXQgbm93Ci0gIGFsc28gb3BlbnMgWE1MIGZpbGVzIGZvciB0aGUgcGFyc2VyIGluIGJpbmFyeSBtb2RlIGluc3RlYWQgb2YgdGhlIHRleHQgbW9kZQotICB0byBhdm9pZCBlbmNvZGluZyBpc3N1ZXMuCi0KLS0gSXNzdWUgIzEyNDUxOiBkb2N0ZXN0LmRlYnVnX3NjcmlwdCgpIGRvZXNuJ3QgY3JlYXRlIGEgdGVtcG9yYXJ5IGZpbGUKLSAgYW55bW9yZSB0byBhdm9pZCBlbmNvZGluZyBpc3N1ZXMuCi0KLS0gSXNzdWUgIzEyNDUxOiBweWRvYy5zeW5vcHNpcygpIG5vdyByZWFkcyB0aGUgZW5jb2RpbmcgY29va2llIGlmIGF2YWlsYWJsZSwKLSAgdG8gcmVhZCB0aGUgUHl0aG9uIHNjcmlwdCBmcm9tIHRoZSByaWdodCBlbmNvZGluZy4KLQotLSBJc3N1ZSAjMTI0NTE6IGRpc3R1dGlscyBub3cgb3BlbnMgdGhlIHNldHVwIHNjcmlwdCBpbiBiaW5hcnkgbW9kZSB0byByZWFkIHRoZQotICBlbmNvZGluZyBjb29raWUsIGluc3RlYWQgb2Ygb3BlbmluZyBpdCBpbiBVVEYtOC4KLQotLSBJc3N1ZSAjOTUxNjogT24gTWFjIE9TIFgsIGNoYW5nZSBEaXN0dXRpbHMgdG8gbm8gbG9uZ2VyIGdsb2JhbGx5IGF0dGVtcHQgdG8KLSAgY2hlY2sgb3Igc2V0IHRoZSBNQUNPU1hfREVQTE9ZTUVOVF9UQVJHRVQgZW52aXJvbm1lbnQgdmFyaWFibGUgZm9yIHRoZQotICBpbnRlcnByZXRlciBwcm9jZXNzLiAgVGhpcyBjb3VsZCBjYXVzZSBmYWlsdXJlcyBpbiBub24tRGlzdHV0aWxzIHN1YnByb2Nlc3NlcwotICBhbmQgd2FzIHVucmVsaWFibGUgc2luY2UgdGVzdHMgb3IgdXNlciBwcm9ncmFtcyBjb3VsZCBtb2RpZnkgdGhlIGludGVycHJldGVyCi0gIGVudmlyb25tZW50IGFmdGVyIERpc3R1dGlscyBzZXQgaXQuICBJbnN0ZWFkLCBoYXZlIERpc3R1dGlscyBzZXQgdGhlCi0gIGRlcGxveW1lbnQgdGFyZ2V0IG9ubHkgaW4gdGhlIGVudmlyb25tZW50IG9mIGVhY2ggYnVpbGQgc3VicHJvY2Vzcy4gIEl0IGlzCi0gIHN0aWxsIHBvc3NpYmxlIHRvIGdsb2JhbGx5IG92ZXJyaWRlIHRoZSBkZWZhdWx0IGJ5IHNldHRpbmcKLSAgTUFDT1NYX0RFUExPWU1FTlRfVEFSR0VUIGJlZm9yZSBsYXVuY2hpbmcgdGhlIGludGVycHJldGVyOyBpdHMgdmFsdWUgbXVzdCBiZQotICBncmVhdGVyIG9yIGVxdWFsIHRvIHRoZSBkZWZhdWx0IHZhbHVlLCB0aGUgdmFsdWUgd2l0aCB3aGljaCB0aGUgaW50ZXJwcmV0ZXIKLSAgd2FzIGJ1aWx0LiAgQWxzbywgaW1wbGVtZW50IHRoZSBzYW1lIGhhbmRsaW5nIGluIHBhY2thZ2luZy4KLQotLSBJc3N1ZSAjMTI0MjI6IEluIHRoZSBjb3B5IG1vZHVsZSwgZG9uJ3Qgc3RvcmUgb2JqZWN0cyB0aGF0IGFyZSB0aGVpciBvd24gY29weQotICBpbiB0aGUgbWVtbyBkaWN0LgotCi0tIElzc3VlICMxMjMwMzogQWRkIHNpZ3dhaXRpbmZvKCkgYW5kIHNpZ3RpbWVkd2FpdCgpIHRvIHRoZSBzaWduYWwgbW9kdWxlLgotCi0tIElzc3VlICMxMjQwNDogUmVtb3ZlIEM4OSBpbmNvbXBhdGlibGUgY29kZSBmcm9tIG1tYXAgbW9kdWxlLiBQYXRjaCBieSBBa2lyYQotICBLaXRhZGEuCi0KLS0gSXNzdWUgIzE4NzQ6IGVtYWlsIG5vdyBkZXRlY3RzIGFuZCByZXBvcnRzIGFzIGEgZGVmZWN0IHRoZSBwcmVzZW5jZSBvZgotICBhbnkgQ1RFIG90aGVyIHRoYW4gN2JpdCwgOGJpdCwgb3IgYmluYXJ5IG9uIGEgbXVsdGlwYXJ0LgotCi0tIElzc3VlICMxMjM4MzogRml4IHN1YnByb2Nlc3MgbW9kdWxlIHdpdGggZW52PXt9OiBkb24ndCBjb3B5IHRoZSBlbnZpcm9ubWVudAotICB2YXJpYWJsZXMsIHN0YXJ0IHdpdGggYW4gZW1wdHkgZW52aXJvbm1lbnQuCi0KLS0gSXNzdWUgIzExNjM3OiBGaXggc3VwcG9ydCBmb3IgaW1wb3J0aW5nIHBhY2thZ2luZyBzZXR1cCBob29rcyBmcm9tIHRoZQotICBwcm9qZWN0IGRpcmVjdG9yeS4KLQotLSBJc3N1ZSAjNjc3MTogTW92ZWQgdGhlIGN1cnNlcy53cmFwcGVyIGZ1bmN0aW9uIGZyb20gdGhlIHNpbmdsZS1mdW5jdGlvbgotICB3cmFwcGVyIG1vZHVsZSBpbnRvIF9faW5pdF9fLCBlbGltaW5hdGluZyB0aGUgbW9kdWxlLiAgU2luY2UgX19pbml0X18gd2FzCi0gIGFscmVhZHkgaW1wb3J0aW5nIHRoZSBmdW5jdGlvbiB0byBjdXJzZXMud3JhcHBlciwgdGhlcmUgaXMgbm8gQVBJIGNoYW5nZS4KLQotLSBJc3N1ZSAjMTE1ODQ6IGVtYWlsLmhlYWRlci5kZWNvZGVfaGVhZGVyIG5vIGxvbmdlciBmYWlscyBpZiB0aGUgaGVhZGVyCi0gIHBhc3NlZCB0byBpdCBpcyBhIEhlYWRlciBvYmplY3QsIGFuZCBIZWFkZXIvbWFrZV9oZWFkZXIgbm8gbG9uZ2VyIGZhaWwKLSAgaWYgZ2l2ZW4gYmluYXJ5IHVua25vd24tOGJpdCBpbnB1dC4KLQotLSBJc3N1ZSAjMTE3MDA6IG1haWxib3ggcHJveHkgb2JqZWN0IGNsb3NlIG1ldGhvZHMgY2FuIG5vdyBiZSBjYWxsZWQgbXVsdGlwbGUKLSAgdGltZXMgd2l0aG91dCBlcnJvci4KLQotLSBJc3N1ZSAjMTE3Njc6IENvcnJlY3QgZmlsZSBkZXNjcmlwdG9yIGxlYWsgaW4gbWFpbGJveCdzIF9fZ2V0aXRlbV9fIG1ldGhvZC4KLQotLSBJc3N1ZSAjMTIxMzM6IEFic3RyYWN0SFRUUEhhbmRsZXIuZG9fb3BlbigpIG9mIHVybGxpYi5yZXF1ZXN0IGNsb3NlcyB0aGUgSFRUUAotICBjb25uZWN0aW9uIGlmIGl0cyBnZXRyZXNwb25zZSgpIG1ldGhvZCBmYWlscyB3aXRoIGEgc29ja2V0IGVycm9yLiBQYXRjaAotICB3cml0dGVuIGJ5IEV6aW8gTWVsb3R0aS4KLQotLSBJc3N1ZSAjMTIyNDA6IEFsbG93IG11bHRpcGxlIHNldHVwIGhvb2tzIGluIHBhY2thZ2luZydzIHNldHVwLmNmZyBmaWxlcy4KLSAgT3JpZ2luYWwgcGF0Y2ggYnkgRXJpayBCcmF5LgotCi0tIElzc3VlICM5Mjg0OiBBbGxvdyBpbnNwZWN0LmZpbmRzb3VyY2UoKSB0byBmaW5kIHRoZSBzb3VyY2Ugb2YgZG9jdGVzdAotICBmdW5jdGlvbnMuCi0KLS0gSXNzdWUgIzExNTk1OiBGaXggYXNzb3J0ZWQgYnVncyBpbiBwYWNrYWdpbmcudXRpbC5jZmdfdG9fYXJncywgYQotICBjb21wYXRpYmlsaXR5IGhlbHBlciBmb3IgdGhlIGRpc3R1dGlscy1wYWNrYWdpbmcgdHJhbnNpdGlvbi4gIE9yaWdpbmFsIHBhdGNoCi0gIGJ5IEVyaWsgQnJheS4KLQotLSBJc3N1ZSAjMTIyODc6IEluIG9zc2F1ZGlvZGV2LCBjaGVjayB0aGF0IHRoZSBkZXZpY2UgaXNuJ3QgY2xvc2VkIGluIHNldmVyYWwKLSAgbWV0aG9kcy4KLQotLSBJc3N1ZSAjMTIwMDk6IEZpeGVkIHJlZ3Jlc3Npb24gaW4gbmV0cmMgZmlsZSBjb21tZW50IGhhbmRsaW5nLgotCi0tIElzc3VlICMxMjI0NjogV2FybiBhbmQgZmFpbCB3aGVuIHRyeWluZyB0byBpbnN0YWxsIGEgdGhpcmQtcGFydHkgcHJvamVjdCBmcm9tCi0gIGFuIHVuaW5zdGFsbGVkIFB5dGhvbiAoYnVpbHQgaW4gYSBzb3VyY2UgY2hlY2tvdXQpLiAgT3JpZ2luYWwgcGF0Y2ggYnkKLSAgVHNoZXBhbmcgTGVraG9ua2hvYmUuCi0KLS0gSXNzdWUgIzEwNjk0OiB6aXBmaWxlIG5vdyBpZ25vcmVzIGdhcmJhZ2UgYXQgdGhlIGVuZCBvZiBhIHppcGZpbGUuCi0KLS0gSXNzdWUgIzEyMjgzOiBGaXhlZCByZWdyZXNzaW9uIGluIHNtdHBsaWIgcXVvdGluZyBvZiBsZWFkaW5nIGRvdHMgaW4gREFUQS4KLQotLSBJc3N1ZSAjMTA0MjQ6IEFyZ3BhcnNlIG5vdyBpbmNsdWRlcyB0aGUgbmFtZXMgb2YgdGhlIG1pc3NpbmcgcmVxdWlyZWQKLSAgYXJndW1lbnRzIGluIHRoZSBtaXNzaW5nIGFyZ3VtZW50cyBlcnJvciBtZXNzYWdlLgotCi0tIElzc3VlICMxMjE2ODogU3lzTG9nSGFuZGxlciBub3cgYWxsb3dzIE5VTCB0ZXJtaW5hdGlvbiB0byBiZSBjb250cm9sbGVkIHVzaW5nCi0gIGEgbmV3ICdhcHBlbmRfbnVsJyBhdHRyaWJ1dGUgb24gdGhlIGhhbmRsZXIuCi0KLS0gSXNzdWUgIzExNTgzOiBTcGVlZCB1cCBvcy5wYXRoLmlzZGlyIG9uIFdpbmRvd3MgYnkgdXNpbmcgR2V0RmlsZUF0dHJpYnV0ZXMKLSAgaW5zdGVhZCBvZiBvcy5zdGF0LgotCi0tIElzc3VlICMxMjAyMTogTWFrZSBtbWFwJ3MgcmVhZCgpIG1ldGhvZCBhcmd1bWVudCBvcHRpb25hbC4gUGF0Y2ggYnkgUGV0cmkKLSAgTGVodGluZW4uCi0KLS0gSXNzdWUgIzkyMDU6IGNvbmN1cnJlbnQuZnV0dXJlcy5Qcm9jZXNzUG9vbEV4ZWN1dG9yIG5vdyBkZXRlY3RzIGtpbGxlZAotICBjaGlsZHJlbiBhbmQgcmFpc2VzIEJyb2tlblByb2Nlc3NQb29sIGluIHN1Y2ggYSBzaXR1YXRpb24uICBQcmV2aW91c2x5IGl0Ci0gIHdvdWxkIHJlbGlhYmx5IGZyZWV6ZS9kZWFkbG9jay4KLQotLSBJc3N1ZSAjMTIwNDA6IEV4cG9zZSBhIG5ldyBhdHRyaWJ1dGUgYGBzZW50aW5lbGBgIG9uIGluc3RhbmNlcyBvZgotICBgYG11bHRpcHJvY2Vzc2luZy5Qcm9jZXNzYGAuICBBbHNvLCBmaXggUHJvY2Vzcy5qb2luKCkgdG8gbm90IHVzZSBwb2xsaW5nCi0gIGFueW1vcmUsIHdoZW4gZ2l2ZW4gYSB0aW1lb3V0LgotCi0tIElzc3VlICMxMTg5MzogUmVtb3ZlIG9ic29sZXRlIGludGVybmFsIHdyYXBwZXIgY2xhc3MgYGBTU0xGYWtlRmlsZWBgIGluIHRoZQotICBzbXRwbGliIG1vZHVsZS4gIFBhdGNoIGJ5IENhdGFsaW4gSWFjb2IuCi0KLS0gSXNzdWUgIzEyMDgwOiBGaXggYSBEZWNpbWFsLnBvd2VyKCkgY2FzZSB0aGF0IHRvb2sgYW4gdW5yZWFzb25hYmx5IGxvbmcgdGltZQotICB0byBjb21wdXRlLgotCi0tIElzc3VlICMxMjIyMTogUmVtb3ZlIF9fdmVyc2lvbl9fIGF0dHJpYnV0ZXMgZnJvbSBweWV4cGF0LCBwaWNrbGUsIHRhcmZpbGUsCi0gIHB5ZG9jLCB0a2ludGVyLCBhbmQgeG1sLnBhcnNlcnMuZXhwYXQuIFRoaXMgd2VyZSB1c2VsZXNzIHZlcnNpb24gY29uc3RhbnRzCi0gIGxlZnQgb3ZlciBmcm9tIHRoZSBNZXJjdXJpYWwgdHJhbnNpdGlvbgotCi0tIE5hbWVkIHR1cGxlcyBub3cgd29yayBjb3JyZWN0bHkgd2l0aCB2YXJzKCkuCi0KLS0gSXNzdWUgIzEyMDg1OiBGaXggYW4gYXR0cmlidXRlIGVycm9yIGluIHN1YnByb2Nlc3MuUG9wZW4gZGVzdHJ1Y3RvciBpZiB0aGUKLSAgY29uc3RydWN0b3IgaGFzIGZhaWxlZCwgZS5nLiBiZWNhdXNlIG9mIGFuIHVuZGVjbGFyZWQga2V5d29yZCBhcmd1bWVudC4gUGF0Y2gKLSAgd3JpdHRlbiBieSBPbGVnIE9zaG15YW4uCi0KLS0gSXNzdWUgIzEyMDI4OiBNYWtlIHRocmVhZGluZy5fZ2V0X2lkZW50KCkgcHVibGljLCByZW5hbWUgaXQgdG8KLSAgdGhyZWFkaW5nLmdldF9pZGVudCgpIGFuZCBkb2N1bWVudCBpdC4gVGhpcyBmdW5jdGlvbiB3YXMgYWxyZWFkeSB1c2VkIHVzaW5nCi0gIF90aHJlYWQuZ2V0X2lkZW50KCkuCi0KLS0gSXNzdWUgIzEyMTcxOiBJbmNyZW1lbnRhbEVuY29kZXIucmVzZXQoKSBvZiBDSksgY29kZWNzIChtdWx0aWJ5dGVjb2RlYykgY2FsbHMKLSAgZW5jcmVzZXQoKSBpbnN0ZWFkIG9mIGRlY3Jlc2V0KCkuCi0KLS0gSXNzdWUgIzEyMjE4OiBSZW1vdmVkIHdzZ2lyZWYuZWdnLWluZm8uCi0KLS0gSXNzdWUgIzEyMTk2OiBBZGQgcGlwZTIoKSB0byB0aGUgb3MgbW9kdWxlLgotCi0tIElzc3VlICM5ODUwNjQ6IE1ha2UgcGxpc3RsaWIgbW9yZSByZXNpbGllbnQgdG8gZmF1bHR5IGlucHV0IHBsaXN0cy4KLSAgUGF0Y2ggYnkgTWhlciBNb3ZzaXN5YW4uCi0KLS0gSXNzdWUgIzE2MjU6IEJaMkZpbGUgYW5kIGJ6Mi5kZWNvbXByZXNzKCkgbm93IHN1cHBvcnQgbXVsdGktc3RyZWFtIGZpbGVzLgotICBJbml0aWFsIHBhdGNoIGJ5IE5pciBBaWRlcy4KLQotLSBJc3N1ZSAjMTIxNzU6IEJ1ZmZlcmVkUmVhZGVyLnJlYWQoLTEpIG5vdyBjYWxscyByYXcucmVhZGFsbCgpIGlmIGF2YWlsYWJsZS4KLQotLSBJc3N1ZSAjMTIxNzU6IEZpbGVJTy5yZWFkYWxsKCkgbm93IG9ubHkgcmVhZHMgdGhlIGZpbGUgcG9zaXRpb24gYW5kIHNpemUKLSAgb25jZS4KLQotLSBJc3N1ZSAjMTIxNzU6IFJhd0lPQmFzZS5yZWFkYWxsKCkgbm93IHJldHVybnMgTm9uZSBpZiByZWFkKCkgcmV0dXJucyBOb25lLgotCi0tIElzc3VlICMxMjE3NTogRmlsZUlPLnJlYWRhbGwoKSBub3cgcmFpc2VzIGEgVmFsdWVFcnJvciBpbnN0ZWFkIG9mIGFuIElPRXJyb3IKLSAgaWYgdGhlIGZpbGUgaXMgY2xvc2VkLgotCi0tIElzc3VlICMxMTEwOTogTmV3IHNlcnZpY2VfYWN0aW9uIG1ldGhvZCBmb3IgQmFzZVNlcnZlciwgdXNlZCBieSBGb3JraW5nTWl4aW4KLSAgY2xhc3MgZm9yIGNsZWFudXAuIEluaXRpYWwgUGF0Y2ggYnkgSnVzdGluIFdhcmtlbnRpbi4KLQotLSBJc3N1ZSAjMTIwNDU6IEF2b2lkIGR1cGxpY2F0ZSBleGVjdXRpb24gb2YgY29tbWFuZCBpbgotICBjdHlwZXMudXRpbC5fZ2V0X3NvbmFtZSgpLiAgUGF0Y2ggYnkgU2lqaW4gSm9zZXBoLgotCi0tIElzc3VlICMxMDgxODogUmVtb3ZlIHRoZSBUayBHVUkgYW5kIHRoZSBzZXJ2ZSgpIGZ1bmN0aW9uIG9mIHRoZSBweWRvYyBtb2R1bGUsCi0gIHB5ZG9jIC1nIGhhcyBiZWVuIGRlcHJlY2F0ZWQgaW4gUHl0aG9uIDMuMiBhbmQgaXQgaGFzIGEgbmV3IGVuaGFuY2VkIHdlYgotICBzZXJ2ZXIuCi0KLS0gSXNzdWUgIzE0NDE1MzA6IEluIGltYXBsaWIsIHJlYWQgdGhlIGRhdGEgaW4gb25lIGNodW5rIHRvIHNwZWVkIHVwIGxhcmdlCi0gIHJlYWRzIGFuZCBzaW1wbGlmeSBjb2RlLgotCi0tIElzc3VlICMxMjA3MDogRml4IHRoZSBNYWtlZmlsZSBwYXJzZXIgb2YgdGhlIHN5c2NvbmZpZyBtb2R1bGUgdG8gaGFuZGxlCi0gIGNvcnJlY3RseSByZWZlcmVuY2VzIHRvICJib2d1cyB2YXJpYWJsZSIgKGUuZy4gInByZWZpeD0kL29wdC9weXRob24iKS4KLQotLSBJc3N1ZSAjMTIxMDA6IERvbid0IHJlc2V0IGluY3JlbWVudGFsIGVuY29kZXJzIG9mIENKSyBjb2RlY3MgYXQgZWFjaCBjYWxsIHRvCi0gIHRoZWlyIGVuY29kZSgpIG1ldGhvZCBhbnltb3JlLCBidXQgY29udGludWUgdG8gY2FsbCB0aGUgcmVzZXQoKSBtZXRob2QgaWYgdGhlCi0gIGZpbmFsIGFyZ3VtZW50IGlzIFRydWUuCi0KLS0gSXNzdWUgIzEyMDQ5OiBBZGQgUkFORF9ieXRlcygpIGFuZCBSQU5EX3BzZXVkb19ieXRlcygpIGZ1bmN0aW9ucyB0byB0aGUgc3NsCi0gIG1vZHVsZS4KLQotLSBJc3N1ZSAjNjUwMTogb3MuZGV2aWNlX2VuY29kaW5nKCkgcmV0dXJucyBOb25lIG9uIFdpbmRvd3MgaWYgdGhlIGFwcGxpY2F0aW9uCi0gIGhhcyBubyBjb25zb2xlLgotCi0tIElzc3VlICMxMjEwNTogQWRkIE9fQ0xPRVhFQyB0byB0aGUgb3MgbW9kdWxlLgotCi0tIElzc3VlICMxMjA3OTogRGVjaW1hbCgnSW5maW5pdHknKS5mbWEoRGVjaW1hbCgnMCcpLCAoMy45MTIyNDMxODEyNjc4NmUrMTkrMGopKQotICBub3cgcmFpc2VzIFR5cGVFcnJvciAocmVmbGVjdGluZyB0aGUgaW52YWxpZCB0eXBlIG9mIHRoZSAzcmQgYXJndW1lbnQpIHJhdGhlcgotICB0aGFuIERlY2ltYWwuSW52YWxpZE9wZXJhdGlvbi4KLQotLSBJc3N1ZSAjMTIxMjQ6IHppcGltcG9ydCBkb2Vzbid0IGtlZXAgYSByZWZlcmVuY2UgdG8gemxpYi5kZWNvbXByZXNzKCkgYW55bW9yZQotICB0byBiZSBhYmxlIHRvIHVubG9hZCB0aGUgbW9kdWxlLgotCi0tIEFkZCB0aGUgcGFja2FnaW5nIG1vZHVsZSwgYW4gaW1wcm92ZWQgZm9yayBvZiBkaXN0dXRpbHMgKGFsc28ga25vd24gYXMKLSAgZGlzdHV0aWxzMikuCi0KLS0gSXNzdWUgIzEyMDY1OiBjb25uZWN0X2V4KCkgb24gYW4gU1NMIHNvY2tldCBub3cgcmV0dXJucyB0aGUgb3JpZ2luYWwgZXJybm8KLSAgd2hlbiB0aGUgc29ja2V0J3MgdGltZW91dCBleHBpcmVzIChpdCB1c2VkIHRvIHJldHVybiBOb25lKS4KLQotLSBJc3N1ZSAjODgwOTogVGhlIFNNVFBfU1NMIGNvbnN0cnVjdG9yIGFuZCBTTVRQLnN0YXJ0dGxzKCkgbm93IHN1cHBvcnQKLSAgcGFzc2luZyBhIGBgY29udGV4dGBgIGFyZ3VtZW50IHBvaW50aW5nIHRvIGFuIHNzbC5TU0xDb250ZXh0IGluc3RhbmNlLgotICBQYXRjaCBieSBLYXN1biBIZXJhdGguCi0KLS0gSXNzdWUgIzk1MTY6IElzc3VlICM5NTE2OiBhdm9pZCBlcnJvcnMgaW4gc3lzY29uZmlnIHdoZW4gTUFDT1NYX0RFUExPWU1FTlRfVEFSR0VUCi0gIGlzIHNldCBpbiBzaGVsbC4KLQotLSBJc3N1ZSAjODY1MDogTWFrZSB6bGliIG1vZHVsZSA2NC1iaXQgY2xlYW4uIGNvbXByZXNzKCksIGRlY29tcHJlc3MoKSBhbmQKLSAgdGhlaXIgaW5jcmVtZW50YWwgY291bnRlcnBhcnRzIG5vdyByYWlzZSBPdmVyZmxvd0Vycm9yIGlmIGdpdmVuIGFuIGlucHV0Ci0gIGxhcmdlciB0aGFuIDRHQiwgaW5zdGVhZCBvZiBzaWxlbnRseSB0cnVuY2F0aW5nIHRoZSBpbnB1dCBhbmQgcmV0dXJuaW5nCi0gIGFuIGluY29ycmVjdCByZXN1bHQuCi0KLS0gSXNzdWUgIzEyMDUwOiB6bGliLmRlY29tcHJlc3NvYmooKS5kZWNvbXByZXNzKCkgbm93IGNsZWFycyB0aGUgdW5jb25zdW1lZF90YWlsCi0gIGF0dHJpYnV0ZSB3aGVuIGNhbGxlZCB3aXRob3V0IGEgbWF4X2xlbmd0aCBhcmd1bWVudC4KLQotLSBJc3N1ZSAjMTIwNjI6IEZpeCBhIGZsdXNoaW5nIGJ1ZyB3aGVuIGRvaW5nIGEgY2VydGFpbiB0eXBlIG9mIEkvTyBzZXF1ZW5jZQotICBvbiBhIGZpbGUgb3BlbmVkIGluIHJlYWQrd3JpdGUgbW9kZSAobmFtZWx5OiByZWFkaW5nLCBzZWVraW5nIGEgYml0IGZvcndhcmQsCi0gIHdyaXRpbmcsIHRoZW4gc2Vla2luZyBiZWZvcmUgdGhlIHByZXZpb3VzIHdyaXRlIGJ1dCBzdGlsbCB3aXRoaW4gYnVmZmVyZWQKLSAgZGF0YSwgYW5kIHdyaXRpbmcgYWdhaW4pLgotCi0tIElzc3VlICM5OTcxOiBXcml0ZSBhbiBvcHRpbWl6ZWQgaW1wbGVtZW50YXRpb24gb2YgQnVmZmVyZWRSZWFkZXIucmVhZGludG8oKS4KLSAgUGF0Y2ggYnkgSm9obiBPJ0Nvbm5vci4KLQotLSBJc3N1ZSAjMTE3OTk6IHVybGxpYi5yZXF1ZXN0IEF1dGhlbnRpY2F0aW9uIEhhbmRsZXJzIHdpbGwgcmFpc2UgYSBWYWx1ZUVycm9yCi0gIHdoZW4gcHJlc2VudGVkIHdpdGggYW4gdW5zdXBwb3J0ZWQgQXV0aGVudGljYXRpb24gU2NoZW1lLiBQYXRjaCBjb250cmlidXRlZAotICBieSBZdXZhbCBHcmVlbmZpZWxkLgotCi0tIElzc3VlICMxMDQxOSwgIzYwMTE6IGJ1aWxkX3NjcmlwdHMgY29tbWFuZCBvZiBkaXN0dXRpbHMgaGFuZGxlcyBjb3JyZWN0bHkKLSAgbm9uLUFTQ0lJIHBhdGggKHBhdGggdG8gdGhlIFB5dGhvbiBleGVjdXRhYmxlKS4gT3BlbiBhbmQgd3JpdGUgdGhlIHNjcmlwdCBpbgotICBiaW5hcnkgbW9kZSwgYnV0IGVuc3VyZSB0aGF0IHRoZSBzaGViYW5nIGlzIGRlY29kYWJsZSBmcm9tIFVURi04IGFuZCBmcm9tIHRoZQotICBlbmNvZGluZyBvZiB0aGUgc2NyaXB0LgotCi0tIElzc3VlICM4NDk4OiBJbiBzb2NrZXQuYWNjZXB0KCksIGFsbG93IHRvIHNwZWNpZnkgMCBhcyBhIGJhY2tsb2cgdmFsdWUgaW4KLSAgb3JkZXIgdG8gYWNjZXB0IGV4YWN0bHkgb25lIGNvbm5lY3Rpb24uICBQYXRjaCBieSBEYW5pZWwgRXZlcnMuCi0KLS0gSXNzdWUgIzEyMDExOiBzaWduYWwuc2lnbmFsKCkgYW5kIHNpZ25hbC5zaWdpbnRlcnJ1cHQoKSByYWlzZSBhbiBPU0Vycm9yLAotICBpbnN0ZWFkIG9mIGEgUnVudGltZUVycm9yOiBPU0Vycm9yIGhhcyBhbiBlcnJubyBhdHRyaWJ1dGUuCi0KLS0gSXNzdWUgIzM3MDk6IGFkZCBhIGZsdXNoX2hlYWRlcnMgbWV0aG9kIHRvIEJhc2VIVFRQUmVxdWVzdEhhbmRsZXIsIHdoaWNoCi0gIG1hbmFnZXMgdGhlIHNlbmRpbmcgb2YgaGVhZGVycyB0byBvdXRwdXQgc3RyZWFtIGFuZCBmbHVzaGluZyB0aGUgaW50ZXJuYWwKLSAgaGVhZGVycyBidWZmZXIuIFBhdGNoIGNvbnRyaWJ1dGlvbiBieSBBbmRyZXcgU2NoYWFmCi0KLS0gSXNzdWUgIzExNzQzOiBSZXdyaXRlIG11bHRpcHJvY2Vzc2luZyBjb25uZWN0aW9uIGNsYXNzZXMgaW4gcHVyZSBQeXRob24uCi0KLS0gSXNzdWUgIzExMTY0OiBTdG9wIHRyeWluZyB0byB1c2UgX3htbHBsdXMgaW4gdGhlIHhtbCBtb2R1bGUuCi0KLS0gSXNzdWUgIzExODg4OiBBZGQgbG9nMiBmdW5jdGlvbiB0byBtYXRoIG1vZHVsZS4gUGF0Y2ggd3JpdHRlbiBieSBNYXJrCi0gIERpY2tpbnNvbi4KLQotLSBJc3N1ZSAjMTIwMTI6IHNzbC5QUk9UT0NPTF9TU0x2MiBiZWNvbWVzIG9wdGlvbmFsLgotCi0tIElzc3VlICM4NDA3OiBUaGUgc2lnbmFsIGhhbmRsZXIgd3JpdGVzIHRoZSBzaWduYWwgbnVtYmVyIGFzIGEgc2luZ2xlIGJ5dGUKLSAgaW5zdGVhZCBvZiBhIG51bCBieXRlIGludG8gdGhlIHdha2V1cCBmaWxlIGRlc2NyaXB0b3IuIFNvIGl0IGlzIHBvc3NpYmxlIHRvCi0gIHdhaXQgbW9yZSB0aGFuIG9uZSBzaWduYWwgYW5kIGtub3cgd2hpY2ggc2lnbmFscyB3ZXJlIHJhaXNlZC4KLQotLSBJc3N1ZSAjODQwNzogQWRkIHB0aHJlYWRfa2lsbCgpLCBzaWdwZW5kaW5nKCkgYW5kIHNpZ3dhaXQoKSBmdW5jdGlvbnMgdG8gdGhlCi0gIHNpZ25hbCBtb2R1bGUuCi0KLS0gSXNzdWUgIzExOTI3OiBTTVRQX1NTTCBub3cgdXNlcyBwb3J0IDQ2NSBieSBkZWZhdWx0IGFzIGRvY3VtZW50ZWQuICBQYXRjaAotICBieSBLYXN1biBIZXJhdGguCi0KLS0gSXNzdWUgIzEyMDAyOiBmdHBsaWIncyBhYm9ydCgpIG1ldGhvZCByYWlzZXMgVHlwZUVycm9yLgotCi0tIElzc3VlICMxMTkxNjogQWRkIGEgbnVtYmVyIG9mIE1hY09TWCBzcGVjaWZpYyBkZWZpbml0aW9ucyB0byB0aGUgZXJybm8gbW9kdWxlLgotICBQYXRjaCBieSBQaWVycmUgQ2Fycmllci4KLQotLSBJc3N1ZSAjMTE5OTk6IGZpeGVkIHNwb3JhZGljIHN5bmMgZmFpbHVyZSBtYWlsYm94Lk1haWxkaXIgZHVlIHRvIGl0cyB0cnlpbmcgdG8KLSAgZGV0ZWN0IG10aW1lIGNoYW5nZXMgYnkgY29tcGFyaW5nIHRvIHRoZSBzeXN0ZW0gY2xvY2sgaW5zdGVhZCBvZiB0byB0aGUKLSAgcHJldmlvdXMgdmFsdWUgb2YgdGhlIG10aW1lLgotCi0tIElzc3VlICMxMTA3MjogYWRkZWQgTUxTRCBjb21tYW5kIChSRkMtMzY1OSkgc3VwcG9ydCB0byBmdHBsaWIuCi0KLS0gSXNzdWUgIzg4MDg6IFRoZSBJTUFQNF9TU0wgY29uc3RydWN0b3Igbm93IGFsbG93cyBwYXNzaW5nIGFuIFNTTENvbnRleHQKLSAgcGFyYW1ldGVyIHRvIGNvbnRyb2wgcGFyYW1ldGVycyBvZiB0aGUgc2VjdXJlIGNoYW5uZWwuICBQYXRjaCBieSBTaWppbgotICBKb3NlcGguCi0KLS0gbnRwYXRoLnNhbWVmaWxlIGZhaWxlZCB0byBub3RpY2UgdGhhdCAiYS50eHQiIGFuZCAiQS5UWFQiIHJlZmVyIHRvIHRoZSBzYW1lCi0gIGZpbGUgb24gV2luZG93cyBYUC4gQXMgbm90aWNlZCBpbiBpc3N1ZSAjMTA2ODQuCi0KLS0gSXNzdWUgIzEyMDAwOiBXaGVuIGEgU1NMIGNlcnRpZmljYXRlIGhhcyBhIHN1YmplY3RBbHROYW1lIHdpdGhvdXQgYW55Ci0gIGROU05hbWUgZW50cnksIHNzbC5tYXRjaF9ob3N0bmFtZSgpIHNob3VsZCB1c2UgdGhlIHN1YmplY3QncyBjb21tb25OYW1lLgotICBQYXRjaCBieSBOaWNvbGFzIEJhcmVpbC4KLQotLSBJc3N1ZSAjMTA3NzU6IGFzc2VydFJhaXNlcywgYXNzZXJ0UmFpc2VzUmVnZXgsIGFzc2VydFdhcm5zLCBhbmQKLSAgYXNzZXJ0V2FybnNSZWdleCBub3cgYWNjZXB0IGEga2V5d29yZCBhcmd1bWVudCAnbXNnJyB3aGVuIHVzZWQgYXMgY29udGV4dAotICBtYW5hZ2Vycy4gIEluaXRpYWwgcGF0Y2ggYnkgV2luc3RvbiBFd2VydC4KLQotLSBJc3N1ZSAjMTA2ODQ6IHNodXRpbC5tb3ZlIHVzZWQgdG8gZGVsZXRlIGEgZm9sZGVyIG9uIGNhc2UgaW5zZW5zaXRpdmUKLSAgZmlsZXN5c3RlbXMgd2hlbiB0aGUgc291cmNlIGFuZCBkZXN0aW5hdGlvbiBuYW1lIHdoZXJlIHRoZSBzYW1lIGV4Y2VwdAotICBmb3IgdGhlIGNhc2UuCi0KLS0gSXNzdWUgIzExNjQ3OiBvYmplY3RzIGNyZWF0ZWQgdXNpbmcgY29udGV4dGxpYi5jb250ZXh0bWFuYWdlciBub3cgc3VwcG9ydAotICBtb3JlIHRoYW4gb25lIGNhbGwgdG8gdGhlIGZ1bmN0aW9uIHdoZW4gdXNlZCBhcyBhIGRlY29yYXRvci4gSW5pdGlhbCBwYXRjaAotICBieSBZc2ogUmF5LgotCi0tIElzc3VlICMxMTkzMDogUmVtb3ZlZCBkZXByZWNhdGVkIHRpbWUuYWNjZXB0MmR5ZWFyIHZhcmlhYmxlLgotICBSZW1vdmVkIHllYXIgPj0gMTAwMCByZXN0cmljdGlvbiBmcm9tIGRhdGV0aW1lLnN0cmZ0aW1lLgotCi0tIGxvZ2dpbmc6IGRvbid0IGRlZmluZSBRdWV1ZUxpc3RlbmVyIGlmIFB5dGhvbiBoYXMgbm8gdGhyZWFkIHN1cHBvcnQuCi0KLS0gZnVuY3Rvb2xzLmNtcF90b19rZXkoKSBub3cgd29ya3Mgd2l0aCBjb2xsZWN0aW9ucy5IYXNoYWJsZSgpLgotCi0tIElzc3VlICMxMTI3NzogbW1hcC5tbWFwKCkgY2FsbHMgZmNudGwoZmQsIEZfRlVMTEZTWU5DKSBvbiBNYWMgT1MgWCB0byBnZXQKLSAgYXJvdW5kIGEgbW1hcCBidWcgd2l0aCBzcGFyc2UgZmlsZXMuIFBhdGNoIHdyaXR0ZW4gYnkgU3RlZmZlbiBEYW9kZSBOdXJwbWVzby4KLQotLSBJc3N1ZSAjODQwNzogQWRkIHNpZ25hbC5wdGhyZWFkX3NpZ21hc2soKSBmdW5jdGlvbiB0byBmZXRjaCBhbmQvb3IgY2hhbmdlIHRoZQotICBzaWduYWwgbWFzayBvZiB0aGUgY2FsbGluZyB0aHJlYWQuCi0KLS0gSXNzdWUgIzExODU4OiBjb25maWdwYXJzZXIuRXh0ZW5kZWRJbnRlcnBvbGF0aW9uIGV4cGVjdGVkIGxvd2VyLWNhc2Ugc2VjdGlvbgotICBuYW1lcy4KLQotLSBJc3N1ZSAjMTEzMjQ6IENvbmZpZ1BhcnNlcihpbnRlcnBvbGF0aW9uPU5vbmUpIG5vdyB3b3JrcyBjb3JyZWN0bHkuCi0KLS0gSXNzdWUgIzExODExOiBzc2wuZ2V0X3NlcnZlcl9jZXJ0aWZpY2F0ZSgpIGlzIG5vdyBJUHY2LWNvbXBhdGlibGUuICBQYXRjaAotICBieSBDaGFybGVzLUZyYW7Dp29pcyBOYXRhbGkuCi0KLS0gSXNzdWUgIzExNzYzOiBkb24ndCB1c2UgZGlmZmxpYiBpbiBUZXN0Q2FzZS5hc3NlcnRNdWx0aUxpbmVFcXVhbCBpZiB0aGUKLSAgc3RyaW5ncyBhcmUgdG9vIGxvbmcuCi0KLS0gSXNzdWUgIzExMjM2OiBnZXRwYXNzLmdldHBhc3MgcmVzcG9uZHMgdG8gY3RybC1jIG9yIGN0cmwteiBvbiB0ZXJtaW5hbC4KLQotLSBJc3N1ZSAjMTE4NTY6IFNwZWVkIHVwIHBhcnNpbmcgb2YgSlNPTiBudW1iZXJzLgotCi0tIElzc3VlICMxMTAwNTogdGhyZWFkaW5nLlJMb2NrKCkuX3JlbGVhc2Vfc2F2ZSgpIHJhaXNlcyBhIFJ1bnRpbWVFcnJvciBpZiB0aGUKLSAgbG9jayB3YXMgbm90IGFjcXVpcmVkLgotCi0tIElzc3VlICMxMTI1ODogU3BlZWQgdXAgY3R5cGVzLnV0aWwuZmluZF9saWJyYXJ5KCkgdW5kZXIgTGludXggYnkgYSBmYWN0b3IKLSAgb2YgNSB0byAxMC4gIEluaXRpYWwgcGF0Y2ggYnkgSm9uYXMgSC4KLQotLSBJc3N1ZSAjMTEzODI6IFRyaXZpYWwgc3lzdGVtIGNhbGxzLCBzdWNoIGFzIGR1cCgpIG9yIHBpcGUoKSwgbmVlZG4ndAotICByZWxlYXNlIHRoZSBHSUwuICBQYXRjaCBieSBDaGFybGVzLUZyYW7Dp29pcyBOYXRhbGkuCi0KLS0gSXNzdWUgIzExMjIzOiBBZGQgdGhyZWFkaW5nLl9pbmZvKCkgZnVuY3Rpb24gcHJvdmlkaW5nIGluZm9ybWF0aW9ucyBhYm91dAotICB0aGUgdGhyZWFkIGltcGxlbWVudGF0aW9uLgotCi0tIElzc3VlICMxMTczMTogc2ltcGxpZnkvZW5oYW5jZSBlbWFpbCBwYXJzZXIvZ2VuZXJhdG9yIEFQSSBieSBpbnRyb2R1Y2luZwotICBwb2xpY3kgb2JqZWN0cy4KLQotLSBJc3N1ZSAjMTE3Njg6IFRoZSBzaWduYWwgaGFuZGxlciBvZiB0aGUgc2lnbmFsIG1vZHVsZSBvbmx5IGNhbGxzCi0gIFB5X0FkZFBlbmRpbmdDYWxsKCkgZm9yIHRoZSBmaXJzdCBzaWduYWwgdG8gZml4IGEgZGVhZGxvY2sgb24gcmVlbnRyYW50IG9yCi0gIHBhcmFsbGVsIGNhbGxzLiBQeUVycl9TZXRJbnRlcnJ1cHQoKSB3cml0ZXMgYWxzbyBpbnRvIHRoZSB3YWtlIHVwIGZpbGUuCi0KLS0gSXNzdWUgIzExNDkyOiBmaXggc2V2ZXJhbCBpc3N1ZXMgd2l0aCBoZWFkZXIgZm9sZGluZyBpbiB0aGUgZW1haWwgcGFja2FnZS4KLQotLSBJc3N1ZSAjMTE4NTI6IEFkZCBtaXNzaW5nIGltcG9ydHMgYW5kIHVwZGF0ZSB0ZXN0cy4KLQotLSBJc3N1ZSAjMTE4NzU6IGNvbGxlY3Rpb25zLk9yZGVyZWREaWN0J3MgX19yZWR1Y2VfXyB3YXMgdGVtcG9yYXJpbHkKLSAgbXV0YXRpbmcgdGhlIG9iamVjdCBpbnN0ZWFkIG9mIGp1c3Qgd29ya2luZyBvbiBhIGNvcHkuCi0KLS0gSXNzdWUgIzExNDY3OiBGaXggdXJscGFyc2UgYmVoYXZpb3Igd2hlbiBoYW5kbGluZyB1cmxzIHdoaWNoIGNvbnRhaW5zIHNjaGVtZQotICBzcGVjaWZpYyBwYXJ0IG9ubHkgZGlnaXRzLiBQYXRjaCBieSBTYW50b3NvIFdpamF5YS4KLQotLSBjb2xsZWN0aW9ucy5Db3VudGVyKCkuY29weSgpIG5vdyB3b3JrcyBjb3JyZWN0bHkgZm9yIHN1YmNsYXNzZXMuCi0KLS0gSXNzdWUgIzExNDc0OiBGaXggdGhlIGJ1ZyB3aXRoIHVybDJwYXRobmFtZSgpIGhhbmRsaW5nIG9mICcvQ3wvJyBvbiBXaW5kb3dzLgotICBQYXRjaCBieSBTYW50b3NvIFdpamF5YS4KLQotLSBJc3N1ZSAjMTE2ODQ6IGNvbXBsZXRlIGVtYWlsLnBhcnNlciBieXRlcyBBUEkgYnkgYWRkaW5nIEJ5dGVzSGVhZGVyUGFyc2VyLgotCi0tIFRoZSBiejIgbW9kdWxlIG5vdyBoYW5kbGVzIDRHaUIrIGlucHV0IGJ1ZmZlcnMgY29ycmVjdGx5LgotCi0tIElzc3VlICM5MjMzOiBGaXgganNvbi5sb2Fkcygne30nKSB0byByZXR1cm4gYSBkaWN0IChpbnN0ZWFkIG9mIGEgbGlzdCksIHdoZW4KLSAgX2pzb24gaXMgbm90IGF2YWlsYWJsZS4KLQotLSBJc3N1ZSAjMTE4MzA6IFJlbW92ZSB1bm5lY2Vzc2FyeSBpbnRyb3NwZWN0aW9uIGNvZGUgaW4gdGhlIGRlY2ltYWwgbW9kdWxlLgotCi0tIElzc3VlICMxMTcwMzogdXJsbGliMi5nZXR1cmwoKSBkb2VzIG5vdCByZXR1cm4gY29ycmVjdCB1cmwgd2hlbiB0aGUgb3JpZ2luYWwKLSAgdXJsIGNvbnRhaW5zICNmcmFnbWVudC4KLQotLSBJc3N1ZSAjMTAwMTk6IEZpeGVkIHJlZ3Jlc3Npb24gaW4ganNvbiBtb2R1bGUgd2hlcmUgYW4gaW5kZW50IG9mIDAgc3RvcHBlZAotICBhZGRpbmcgbmV3bGluZXMgYW5kIGFjdGVkIGluc3RlYWQgbGlrZSAnTm9uZScuCi0KLS0gSXNzdWUgIzExMTg2OiBweWRvYyBpZ25vcmVzIGEgbW9kdWxlIGlmIGl0cyBuYW1lIGNvbnRhaW5zIGEgc3Vycm9nYXRlCi0gIGNoYXJhY3RlciBpbiB0aGUgaW5kZXggb2YgbW9kdWxlcy4KLQotLSBJc3N1ZSAjMTE4MTU6IFVzZSBhIGxpZ2h0LXdlaWdodCBTaW1wbGVRdWV1ZSBmb3IgdGhlIHJlc3VsdCBxdWV1ZSBpbgotICBjb25jdXJyZW50LmZ1dHVyZXMuUHJvY2Vzc1Bvb2xFeGVjdXRvci4KLQotLSBJc3N1ZSAjNTE2MjogVHJlYXQgc2VydmljZXMgbGlrZSBmcm96ZW4gZXhlY3V0YWJsZXMgdG8gYWxsb3cgY2hpbGQgc3Bhd25pbmcKLSAgZnJvbSBtdWx0aXByb2Nlc3NpbmcuZm9ya2luZyBvbiBXaW5kb3dzLgotCi0tIGxvZ2dpbmcuYmFzaWNDb25maWcgbm93IHN1cHBvcnRzIGFuIG9wdGlvbmFsICdoYW5kbGVycycgYXJndW1lbnQgdGFraW5nIGFuCi0gIGl0ZXJhYmxlIG9mIGhhbmRsZXJzIHRvIGJlIGFkZGVkIHRvIHRoZSByb290IGxvZ2dlci4gQWRkaXRpb25hbCBwYXJhbWV0ZXIKLSAgY2hlY2tzIHdlcmUgYWxzbyBhZGRlZCB0byBiYXNpY0NvbmZpZy4KLQotLSBJc3N1ZSAjMTE4MTQ6IEZpeCBsaWtlbHkgdHlwbyBpbiBtdWx0aXByb2Nlc3NpbmcuUG9vbC5fdGVybWluYXRlKCkuCi0KLS0gSXNzdWUgIzExNzQ3OiBGaXggcmFuZ2UgZm9ybWF0dGluZyBpbiBkaWZmbGliLmNvbnRleHRfZGlmZigpIGFuZAotICBkaWZmbGliLnVuaWZpZWRfZGlmZigpLgotCi0tIElzc3VlICM4NDI4OiBGaXggYSByYWNlIGNvbmRpdGlvbiBpbiBtdWx0aXByb2Nlc3NpbmcuUG9vbCB3aGVuIHRlcm1pbmF0aW5nCi0gIHdvcmtlciBwcm9jZXNzZXM6IG5ldyBwcm9jZXNzZXMgd291bGQgYmUgc3Bhd25lZCB3aGlsZSB0aGUgcG9vbCBpcyBiZWluZwotICBzaHV0IGRvd24uICBQYXRjaCBieSBDaGFybGVzLUZyYW7Dp29pcyBOYXRhbGkuCi0KLS0gSXNzdWUgIzI2NTA6IHJlLmVzY2FwZSgpIG5vIGxvbmdlciBlc2NhcGVzIHRoZSAnXycuCi0KLS0gSXNzdWUgIzExNzU3OiBzZWxlY3Quc2VsZWN0KCkgbm93IHJhaXNlcyBWYWx1ZUVycm9yIHdoZW4gYSBuZWdhdGl2ZSB0aW1lb3V0Ci0gIGlzIHBhc3NlZCAocHJldmlvdXNseSwgYSBzZWxlY3QuZXJyb3Igd2l0aCBFSU5WQUwgd291bGQgYmUgcmFpc2VkKS4gIFBhdGNoCi0gIGJ5IENoYXJsZXMtRnJhbsOnb2lzIE5hdGFsaS4KLQotLSBJc3N1ZSAjNzMxMTogZml4IGh0bWwucGFyc2VyIHRvIGFjY2VwdCBub24tQVNDSUkgYXR0cmlidXRlIHZhbHVlcy4KLQotLSBJc3N1ZSAjMTE2MDU6IGVtYWlsLnBhcnNlci5CeXRlc0ZlZWRQYXJzZXIgd2FzIGluY29ycmVjdGx5IGNvbnZlcnRpbmcKLSAgbXVsdGlwYXJ0IHN1YnBhcnRzIHdpdGggYW4gOC1iaXQgQ1RFIGludG8gdW5pY29kZSBpbnN0ZWFkIG9mIHByZXNlcnZpbmcgdGhlCi0gIGJ5dGVzLgotCi0tIElzc3VlICMxNjkwNjA4OiBlbWFpbC51dGlsLmZvcm1hdGFkZHIgaXMgbm93IFJGQyAyMDQ3IGF3YXJlOiAgaXQgbm93IGhhcyBhCi0gIGNoYXJzZXQgcGFyYW1ldGVyIHRoYXQgZGVmYXVsdHMgdG8gdXRmLTggYW5kIGlzIHVzZWQgYXMgdGhlIGNoYXJzZXQgZm9yIFJGQwotICAyMDQ3IGVuY29kaW5nIHdoZW4gdGhlIHJlYWxuYW1lIGNvbnRhaW5zIG5vbi1BU0NJSSBjaGFyYWN0ZXJzLgotCi0tIElzc3VlICMxMDk2MzogRW5zdXJlIHRoYXQgc3VicHJvY2Vzcy5jb21tdW5pY2F0ZSgpIG5ldmVyIHJhaXNlcyBFUElQRS4KLQotLSBJc3N1ZSAjMTA3OTE6IEltcGxlbWVudCBtaXNzaW5nIG1ldGhvZCBHemlwRmlsZS5yZWFkMSgpLCBhbGxvd2luZyBHemlwRmlsZQotICB0byBiZSB3cmFwcGVkIGluIGEgVGV4dElPV3JhcHBlci4gIFBhdGNoIGJ5IE5hZGVlbSBWYXdkYS4KLQotLSBJc3N1ZSAjMTE3MDc6IEFkZGVkIGEgZmFzdCBDIHZlcnNpb24gb2YgZnVuY3Rvb2xzLmNtcF90b19rZXkoKS4KLSAgUGF0Y2ggYnkgRmlsaXAgR3J1c3pjennFhHNraS4KLQotLSBJc3N1ZSAjMTE2ODg6IEFkZCBzcWxpdGUzLkNvbm5lY3Rpb24uc2V0X3RyYWNlX2NhbGxiYWNrKCkuICBQYXRjaCBieQotICBUb3JzdGVuIExhbmRzY2hvZmYuCi0KLS0gSXNzdWUgIzExNzQ2OiBGaXggU1NMQ29udGV4dC5sb2FkX2NlcnRfY2hhaW4oKSB0byBhY2NlcHQgZWxsaXB0aWMgY3VydmUKLSAgcHJpdmF0ZSBrZXlzLgotCi0tIElzc3VlICM1ODYzOiBSZXdyaXRlIEJaMkZpbGUgaW4gcHVyZSBQeXRob24sIGFuZCBhbGxvdyBpdCB0byBhY2NlcHQKLSAgZmlsZS1saWtlIG9iamVjdHMgdXNpbmcgYSBuZXcgYGBmaWxlb2JqYGAgY29uc3RydWN0b3IgYXJndW1lbnQuICBQYXRjaCBieQotICBOYWRlZW0gVmF3ZGEuCi0KLS0gdW5pdHRlc3QuVGVzdENhc2UuYXNzZXJ0U2FtZUVsZW1lbnRzIGhhcyBiZWVuIHJlbW92ZWQuCi0KLS0gc3lzLmdldGZpbGVzeXN0ZW1lbmNvZGluZygpIHJhaXNlcyBhIFJ1bnRpbWVFcnJvciBpZiBpbml0ZnNlbmNvZGluZygpIHdhcyBub3QKLSAgY2FsbGVkIHlldDogZGV0ZWN0IGJvb3RzdHJhcCAoc3RhcnR1cCkgaXNzdWVzIGVhcmxpZXIuCi0KLS0gSXNzdWUgIzExMzkzOiBBZGQgdGhlIG5ldyBmYXVsdGhhbmRsZXIgbW9kdWxlLgotCi0tIElzc3VlICMxMTYxODogRml4IHRoZSB0aW1lb3V0IGxvZ2ljIGluIHRocmVhZGluZy5Mb2NrLmFjcXVpcmUoKSB1bmRlciBXaW5kb3dzLgotCi0tIFJlbW92ZWQgdGhlICdzdHJpY3QnIGFyZ3VtZW50IHRvIGVtYWlsLnBhcnNlci5QYXJzZXIsIHdoaWNoIGhhcyBiZWVuCi0gIGRlcHJlY2F0ZWQgc2luY2UgUHl0aG9uIDIuNC4KLQotLSBJc3N1ZSAjMTEyNTY6IEZpeCBpbnNwZWN0LmdldGNhbGxhcmdzIG9uIGZ1bmN0aW9ucyB0aGF0IHRha2Ugb25seSBrZXl3b3JkCi0gIGFyZ3VtZW50cy4KLQotLSBJc3N1ZSAjMTE2OTY6IEZpeCBJRCBnZW5lcmF0aW9uIGluIG1zaWxpYi4KLQotLSBpdGVydG9vbHMuYWNjdW11bGF0ZSBub3cgc3VwcG9ydHMgYW4gb3B0aW9uYWwgKmZ1bmMqIGFyZ3VtZW50IGZvcgotICBhIHVzZXItc3VwcGxpZWQgYmluYXJ5IGZ1bmN0aW9uLgotCi0tIElzc3VlICMxMTY5MjogUmVtb3ZlIHVubmVjZXNzYXJ5IGRlbW8gZnVuY3Rpb25zIGluIHN1YnByb2Nlc3MgbW9kdWxlLgotCi0tIElzc3VlICM5Njk2OiBGaXggZXhjZXB0aW9uIGluY29ycmVjdGx5IHJhaXNlZCBieSB4ZHJsaWIuUGFja2VyLnBhY2tfaW50IHdoZW4KLSAgdHJ5aW5nIHRvIHBhY2sgYSBuZWdhdGl2ZSAoaW4tcmFuZ2UpIGludGVnZXIuCi0KLS0gSXNzdWUgIzExNjc1OiBtdWx0aXByb2Nlc3NpbmcuW1Jhd11BcnJheSBvYmplY3RzIGNyZWF0ZWQgZnJvbSBhbiBpbnRlZ2VyIHNpemUKLSAgYXJlIG5vdyB6ZXJvZWQgb24gY3JlYXRpb24uICBUaGlzIG1hdGNoZXMgdGhlIGJlaGF2aW91ciBzcGVjaWZpZWQgYnkgdGhlCi0gIGRvY3VtZW50YXRpb24uCi0KLS0gSXNzdWUgIzc2Mzk6IEZpeCBzaG9ydCBmaWxlIG5hbWUgZ2VuZXJhdGlvbiBpbiBiZGlzdF9tc2kKLQotLSBJc3N1ZSAjMTE2MzU6IERvbid0IHVzZSBwb2xsaW5nIGluIHdvcmtlciB0aHJlYWRzIGFuZCBwcm9jZXNzZXMgbGF1bmNoZWQgYnkKLSAgY29uY3VycmVudC5mdXR1cmVzLgotCi0tIElzc3VlICM1ODQ1OiBBdXRvbWF0aWNhbGx5IHJlYWQgcmVhZGxpbmUgY29uZmlndXJhdGlvbiB0byBlbmFibGUgY29tcGxldGlvbgotICBpbiBpbnRlcmFjdGl2ZSBtb2RlLgotCi0tIElzc3VlICM2ODExOiBBbGxvdyBpbXBvcnRsaWIgdG8gY2hhbmdlIGEgY29kZSBvYmplY3QncyBjb19maWxlbmFtZSBhdHRyaWJ1dGUKLSAgdG8gbWF0Y2ggdGhlIHBhdGggdG8gd2hlcmUgdGhlIHNvdXJjZSBjb2RlIGN1cnJlbnRseSBpcywgbm90IHdoZXJlIHRoZSBjb2RlCi0gIG9iamVjdCBvcmlnaW5hbGx5IGNhbWUgZnJvbS4KLQotLSBJc3N1ZSAjODc1NDogSGF2ZSBpbXBvcnRsaWIgdXNlIHRoZSByZXByIG9mIGEgbW9kdWxlIG5hbWUgaW4gZXJyb3IgbWVzc2FnZXMuCi0KLS0gSXNzdWUgIzExNTkxOiBQcmV2ZW50ICJpbXBvcnQgc2l0ZSIgZnJvbSBtb2RpZnlpbmcgc3lzLnBhdGggd2hlbiBweXRob24KLSAgd2FzIHN0YXJ0ZWQgd2l0aCAtUy4KLQotLSBjb2xsZWN0aW9ucy5uYW1lZHR1cGxlKCkgbm93IGFkZHMgYSBfc291cmNlIGF0dHJpYnV0ZSB0byB0aGUgZ2VuZXJhdGVkCi0gIGNsYXNzLiAgVGhpcyBtYWtlIHRoZSBzb3VyY2UgbW9yZSBhY2Nlc3NpYmxlIHRoYW4gdGhlIG91dGRhdGVkCi0gICJ2ZXJib3NlIiBvcHRpb24gd2hpY2ggcHJpbnRzIHRvIHN0ZG91dCBidXQgZG9lc24ndCBtYWtlIHRoZSBzb3VyY2UKLSAgc3RyaW5nIGF2YWlsYWJsZS4KLQotLSBJc3N1ZSAjMTEzNzE6IE1hcmsgZ2V0b3B0IGVycm9yIG1lc3NhZ2VzIGFzIGxvY2FsaXphYmxlLiAgUGF0Y2ggYnkgRmlsaXAKLSAgR3J1c3pjennFhHNraS4KLQotLSBJc3N1ZSAjMTEzMzM6IEFkZCBfX3Nsb3RzX18gdG8gY29sbGVjdGlvbnMgQUJDcy4KLQotLSBJc3N1ZSAjMTE2Mjg6IGNtcF90b19rZXkgZ2VuZXJhdGVkIGNsYXNzIHNob3VsZCB1c2UgX19zbG90c19fLgotCi0tIElzc3VlICMxMTY2NjogbGV0IGhlbHAoKSBkaXNwbGF5IG5hbWVkIHR1cGxlIGF0dHJpYnV0ZXMgYW5kIG1ldGhvZHMKLSAgdGhhdCBzdGFydCB3aXRoIGEgbGVhZGluZyB1bmRlcnNjb3JlLgotCi0tIElzc3VlICMxMTY2MjogTWFrZSB1cmxsaWIgYW5kIHVybGxpYjIgaWdub3JlIHJlZGlyZWN0aW9ucyBpZiB0aGUKLSAgc2NoZW1lIGlzIG5vdCBIVFRQLCBIVFRQUyBvciBGVFAgKENWRS0yMDExLTE1MjEpLgotCi0tIElzc3VlICM1NTM3OiBGaXggdGltZTJpc296KCkgYW5kIHRpbWUybmV0c2NhcGUoKSBmdW5jdGlvbnMgb2YKLSAgaHR0cGxpYi5jb29raWVqYXIgZm9yIGV4cGlyYXRpb24geWVhciBncmVhdGVyIHRoYW4gMjAzOCBvbiAzMi1iaXQgc3lzdGVtcy4KLQotLSBJc3N1ZSAjNDM5MTogVXNlIHByb3BlciBnZXR0ZXh0IHBsdXJhbCBmb3JtcyBpbiBvcHRwYXJzZS4KLQotLSBJc3N1ZSAjMTExMjc6IFJhaXNlIGEgVHlwZUVycm9yIHdoZW4gdHJ5aW5nIHRvIHBpY2tsZSBhIHNvY2tldCBvYmplY3QuCi0KLS0gSXNzdWUgIzExNTYzOiBgYENvbm5lY3Rpb246IGNsb3NlYGAgaGVhZGVyIGlzIHNlbnQgYnkgcmVxdWVzdHMgdXNpbmcgVVJMT3BlbmVyCi0gIGNsYXNzIHdoaWNoIGhlbHBzIGluIGNsb3Npbmcgb2Ygc29ja2V0cyBhZnRlciBjb25uZWN0aW9uIGlzIG92ZXIuIFBhdGNoCi0gIGNvbnRyaWJ1dGlvbnMgYnkgSmVmZiBNY05laWwgYW5kIE5hZGVlbSBWYXdkYS4KLQotLSBJc3N1ZSAjMTE0NTk6IEEgYGBidWZzaXplYGAgdmFsdWUgb2YgMCBpbiBzdWJwcm9jZXNzLlBvcGVuKCkgcmVhbGx5IGNyZWF0ZXMKLSAgdW5idWZmZXJlZCBwaXBlcywgc3VjaCB0aGF0IHNlbGVjdCgpIHdvcmtzIHByb3Blcmx5IG9uIHRoZW0uCi0KLS0gSXNzdWUgIzU0MjE6IEZpeCBtaXNsZWFkaW5nIGVycm9yIG1lc3NhZ2Ugd2hlbiBvbmUgb2Ygc29ja2V0LnNlbmR0bygpJ3MKLSAgYXJndW1lbnRzIGhhcyB0aGUgd3JvbmcgdHlwZS4gIFBhdGNoIGJ5IE5pa2l0YSBWZXRvc2hraW4uCi0KLS0gSXNzdWUgIzEwODEyOiBBZGQgc29tZSBleHRyYSBwb3NpeCBmdW5jdGlvbnMgdG8gdGhlIG9zIG1vZHVsZS4KLQotLSBJc3N1ZSAjMTA5Nzk6IHVuaXR0ZXN0IHN0ZG91dCBidWZmZXJpbmcgbm93IHdvcmtzIHdpdGggY2xhc3MgYW5kIG1vZHVsZQotICBzZXR1cCBhbmQgdGVhcmRvd24uCi0KLS0gSXNzdWUgIzExMjQzOiBmaXggdGhlIHBhcmFtZXRlciBxdWVyeWluZyBtZXRob2RzIG9mIE1lc3NhZ2UgdG8gd29yayBpZgotICB0aGUgaGVhZGVycyBjb250YWluIHVuLWVuY29kZWQgbm9uLUFTQ0lJIGRhdGEuCi0KLS0gSXNzdWUgIzExNDAxOiBmaXggaGFuZGxpbmcgb2YgaGVhZGVycyB3aXRoIG5vIHZhbHVlOyB0aGlzIGZpeGVzIGEgcmVncmVzc2lvbgotICByZWxhdGl2ZSB0byBQeXRob24yIGFuZCB0aGUgcmVzdWx0IGlzIG5vdyB0aGUgc2FtZSBhcyBpdCB3YXMgaW4gUHl0aG9uMi4KLQotLSBJc3N1ZSAjOTI5ODogYmFzZTY0IGJvZGllcyB3ZXJlbid0IGJlaW5nIGZvbGRlZCB0byBsaW5lIGxlbmd0aHMgbGVzcyB0aGFuIDc4LAotICB3aGljaCB3YXMgYSByZWdyZXNzaW9uIHJlbGF0aXZlIHRvIFB5dGhvbjIuICBVbmxpa2UgUHl0aG9uMiwgdGhlIGxhc3QgbGluZQotICBvZiB0aGUgZm9sZGVkIGJvZHkgbm93IGVuZHMgd2l0aCBhIGNhcnJpYWdlIHJldHVybi4KLQotLSBJc3N1ZSAjMTE1NjA6IHNodXRpbC51bnBhY2tfYXJjaGl2ZSBub3cgY29ycmVjdGx5IGhhbmRsZXMgdGhlIGZvcm1hdAotICBwYXJhbWV0ZXIuIFBhdGNoIGJ5IEV2YW4gRGFuZHJlYS4KLQotLSBJc3N1ZSAjNTg3MDogQWRkIGBzdWJwcm9jZXNzLkRFVk5VTExgIGNvbnN0YW50LgotCi0tIElzc3VlICMxMTEzMzogZml4IHR3byBjYXNlcyB3aGVyZSBpbnNwZWN0LmdldGF0dHJfc3RhdGljIGNhbiB0cmlnZ2VyIGNvZGUKLSAgZXhlY3V0aW9uLiBQYXRjaCBieSBBbmRyZWFzIFN0w7xocmsuCi0KLS0gSXNzdWUgIzExNTY5OiB1c2UgYWJzb2x1dGUgcGF0aCB0byB0aGUgc3lzY3RsIGNvbW1hbmQgaW4gbXVsdGlwcm9jZXNzaW5nIHRvCi0gIGVuc3VyZSB0aGF0IGl0IHdpbGwgYmUgZm91bmQgcmVnYXJkbGVzcyBvZiB0aGUgc2hlbGwgUEFUSC4gVGhpcyBlbnN1cmVzCi0gIHRoYXQgbXVsdGlwcm9jZXNzaW5nLmNwdV9jb3VudCB3b3JrcyBvbiBkZWZhdWx0IGluc3RhbGxzIG9mIE1hY09TWC4KLQotLSBJc3N1ZSAjMTE1MDE6IGRpc3V0aWxzLmFyY2hpdmVfdXRpbHMubWFrZV96aXBmaWxlIG5vIGxvbmdlciBmYWlscyBpZiB6bGliIGlzCi0gIG5vdCBpbnN0YWxsZWQuIEluc3RlYWQsIHRoZSB6aXBmaWxlLlpJUF9TVE9SRUQgY29tcHJlc3Npb24gaXMgdXNlZCB0byBjcmVhdGUKLSAgdGhlIFppcEZpbGUuIFBhdGNoIGJ5IE5hdGFsaWEgQi4gQmlkYXJ0LgotCi0tIElzc3VlICMxMTI4OTogYHNtdHAuU01UUGAgY2xhc3MgaXMgbm93IGEgY29udGV4dCBtYW5hZ2VyIHNvIGl0IGNhbiBiZSB1c2VkCi0gIGluIGEgYHdpdGhgIHN0YXRlbWVudC4gIENvbnRyaWJ1dGVkIGJ5IEdpYW1wYW9sbyBSb2RvbGEuCi0KLS0gSXNzdWUgIzExNTU0OiBGaXhlZCBzdXBwb3J0IGZvciBKYXBhbmVzZSBjb2RlY3M7IHByZXZpb3VzbHkgdGhlIGJvZHkgb3V0cHV0Ci0gIGVuY29kaW5nIHdhcyBub3QgZG9uZSBpZiBldWMtanAgb3Igc2hpZnQtamlzIHdhcyBzcGVjaWZpZWQgYXMgdGhlIGNoYXJzZXQuCi0KLS0gSXNzdWUgIzExNDA3OiBgVGVzdENhc2UucnVuYCByZXR1cm5zIHRoZSByZXN1bHQgb2JqZWN0IHVzZWQgb3IgY3JlYXRlZC4KLSAgQ29udHJpYnV0ZWQgYnkgSmFuYXRoYW4gSGFydGxleS4KLQotLSBJc3N1ZSAjMTE1MDA6IEZpeGVkIGEgYnVnIGluIHRoZSBPUyBYIHByb3h5IGJ5cGFzcyBjb2RlIGZvciBmdWxseSBxdWFsaWZpZWQKLSAgSVAgYWRkcmVzc2VzIGluIHRoZSBwcm94eSBleGNlcHRpb24gbGlzdC4KLQotLSBJc3N1ZSAjMTE0OTE6IGRibS5lcnJvciBpcyBubyBsb25nZXIgcmFpc2VkIHdoZW4gZGJtLm9wZW4gaXMgY2FsbGVkIHdpdGgKLSAgdGhlICJuIiBhcyB0aGUgZmxhZyBhcmd1bWVudCBhbmQgdGhlIGZpbGUgZXhpc3RzLiBUaGUgYmVoYXZpb3IgbWF0Y2hlcwotICB0aGUgZG9jdW1lbnRhdGlvbiBhbmQgZ2VuZXJhbCBsb2dpYy4KLQotLSBJc3N1ZSAjMTE2MjQ3NzogUG9zdGVsIFByaW5jaXBsZSBhZGp1c3RtZW50IHRvIGVtYWlsIGRhdGUgcGFyc2luZzogaGFuZGxlIHRoZQotICBmYWN0IHRoYXQgc29tZSBub24tY29tcGxpYW50IE1VQXMgdXNlICcuJyBpbnN0ZWFkIG9mICc6JyBpbiB0aW1lIHNwZWNzLgotCi0tIElzc3VlICMxMTEzMTogRml4IHNpZ24gb2YgemVybyBpbiBkZWNpbWFsLkRlY2ltYWwgcGx1cyBhbmQgbWludXMKLSAgb3BlcmF0aW9ucyB3aGVuIHRoZSByb3VuZGluZyBtb2RlIGlzIFJPVU5EX0ZMT09SLgotCi0tIElzc3VlICM5OTM1OiBTcGVlZCB1cCBwaWNrbGluZyBvZiBpbnN0YW5jZXMgb2YgdXNlci1kZWZpbmVkIGNsYXNzZXMuCi0KLS0gSXNzdWUgIzU2MjI6IEZpeCBjdXJzZXMud3JhcHBlciB0byByYWlzZSBjb3JyZWN0IGV4Y2VwdGlvbiBpZiBjdXJzZXMKLSAgaW5pdGlhbGl6YXRpb24gZmFpbHMuCi0KLS0gSXNzdWUgIzExNDA4OiBJbiB0aHJlYWRpbmcuTG9jay5hY3F1aXJlKCksIG9ubHkgY2FsbCBnZXR0aW1lb2ZkYXkoKSB3aGVuCi0gIHJlYWxseSBuZWNlc3NhcnkuICBQYXRjaCBieSBDaGFybGVzLUZyYW7Dp29pcyBOYXRhbGkuCi0KLS0gSXNzdWUgIzExMzkxOiBXcml0aW5nIHRvIGEgbW1hcCBvYmplY3QgY3JlYXRlZCB3aXRoCi0gIGBgbW1hcC5QUk9UX1JFQUR8bW1hcC5QUk9UX0VYRUNgYCB3b3VsZCBzZWdmYXVsdCBpbnN0ZWFkIG9mIHJhaXNpbmcgYQotICBUeXBlRXJyb3IuICBQYXRjaCBieSBDaGFybGVzLUZyYW7Dp29pcyBOYXRhbGkuCi0KLS0gSXNzdWUgIzk3OTU6IGFkZCBjb250ZXh0IG1hbmFnZXIgcHJvdG9jb2wgc3VwcG9ydCBmb3Igbm50cGxpYi5OTlRQIGNsYXNzLgotCi0tIElzc3VlICMxMTMwNjogbWFpbGJveCBpbiBjZXJ0YWluIGNhc2VzIGFkYXB0cyB0byBhbiBpbmFiaWxpdHkgdG8gb3BlbgotICBjZXJ0YWluIGZpbGVzIGluIHJlYWQtd3JpdGUgbW9kZS4gIFByZXZpb3VzbHkgaXQgZGV0ZWN0ZWQgdGhpcyBieQotICBjaGVja2luZyBmb3IgRUFDQ0VTLCBub3cgaXQgYWxzbyBjaGVja3MgZm9yIEVST0ZTLgotCi0tIElzc3VlICMxMTI2NTogYXN5bmNvcmUgbm93IGNvcnJlY3RseSBoYW5kbGVzIEVQSVBFLCBFQkFERiBhbmQgRUFHQUlOIGVycm9ycwotICBvbiBhY2NlcHQoKSwgc2VuZCgpIGFuZCByZWN2KCkuCi0KLS0gSXNzdWUgIzExMzc3OiBEZXByZWNhdGUgcGxhdGZvcm0ucG9wZW4oKSBhbmQgcmVpbXBsZW1lbnQgaXQgd2l0aCBvcy5wb3BlbigpLgotCi0tIElzc3VlICM4NTEzOiBPbiBVTklYLCBzdWJwcm9jZXNzIHN1cHBvcnRzIGJ5dGVzIGNvbW1hbmQgc3RyaW5nLgotCi0tIElzc3VlICMxMDg2NjogQWRkIHNvY2tldC5zZXRob3N0bmFtZSgpLiAgSW5pdGlhbCBwYXRjaCBieSBSb3NzIExhZ2Vyd2FsbC4KLQotLSBJc3N1ZSAjMTExNDA6IExvY2sucmVsZWFzZSgpIG5vdyByYWlzZXMgYSBSdW50aW1lRXJyb3Igd2hlbiBhdHRlbXB0aW5nCi0gIHRvIHJlbGVhc2UgYW4gdW5hY3F1aXJlZCBsb2NrLCBhcyBjbGFpbWVkIGluIHRoZSB0aHJlYWRpbmcgZG9jdW1lbnRhdGlvbi4KLSAgVGhlIF90aHJlYWQuZXJyb3IgZXhjZXB0aW9uIGlzIG5vdyBhbiBhbGlhcyBvZiBSdW50aW1lRXJyb3IuICBQYXRjaCBieQotICBGaWxpcCBHcnVzemN6ecWEc2tpLiAgUGF0Y2ggZm9yIF9kdW1teV90aHJlYWQgYnkgQXltZXJpYyBBdWd1c3Rpbi4KLQotLSBJc3N1ZSAjODU5NDogZnRwbGliIG5vdyBwcm92aWRlcyBhIHNvdXJjZV9hZGRyZXNzIHBhcmFtZXRlciB0byBzcGVjaWZ5IHdoaWNoCi0gIChhZGRyZXNzLCBwb3J0KSB0byBiaW5kIHRvIGJlZm9yZSBjb25uZWN0aW5nLgotCi0tIElzc3VlICMxMTMyNjogQWRkIHRoZSBtaXNzaW5nIGNvbm5lY3RfZXgoKSBpbXBsZW1lbnRhdGlvbiBmb3IgU1NMIHNvY2tldHMsCi0gIGFuZCBtYWtlIGl0IHdvcmsgZm9yIG5vbi1ibG9ja2luZyBjb25uZWN0cy4KLQotLSBJc3N1ZSAjMTEyOTc6IEFkZCBjb2xsZWN0aW9ucy5DaGFpbk1hcCgpLgotCi0tIElzc3VlICMxMDc1NTogQWRkIHRoZSBwb3NpeC5mbGlzdGRpcigpIGZ1bmN0aW9uLiAgUGF0Y2ggYnkgUm9zcyBMYWdlcndhbGwuCi0KLS0gSXNzdWUgIzQ3NjE6IEFkZCB0aGUgYGAqYXQoKWBgIGZhbWlseSBvZiBmdW5jdGlvbnMgKG9wZW5hdCgpLCBldGMuKSB0byB0aGUKLSAgcG9zaXggbW9kdWxlLiAgUGF0Y2ggYnkgUm9zcyBMYWdlcndhbGwuCi0KLS0gSXNzdWUgIzczMjI6IFRyeWluZyB0byByZWFkIGZyb20gYSBzb2NrZXQncyBmaWxlLWxpa2Ugb2JqZWN0IGFmdGVyIGEgdGltZW91dAotICBvY2N1cnJlZCBub3cgcmFpc2VzIGFuIGVycm9yIGluc3RlYWQgb2Ygc2lsZW50bHkgbG9zaW5nIGRhdGEuCi0KLS0gSXNzdWUgIzExMjkxOiBwb3BsaWIuUE9QIG5vIGxvbmdlciBzdXBwcmVzc2VzIGVycm9ycyBvbiBxdWl0KCkuCi0KLS0gSXNzdWUgIzExMTc3OiBhc3luY29yZSdzIGNyZWF0ZV9zb2NrZXQoKSBhcmd1bWVudHMgY2FuIG5vdyBiZSBvbWl0dGVkLgotCi0tIElzc3VlICM2MDY0OiBBZGQgYSBgYGRhZW1vbmBgIGtleXdvcmQgYXJndW1lbnQgdG8gdGhlIHRocmVhZGluZy5UaHJlYWQKLSAgYW5kIG11bHRpcHJvY2Vzc2luZy5Qcm9jZXNzIGNvbnN0cnVjdG9ycyBpbiBvcmRlciB0byBvdmVycmlkZSB0aGUKLSAgZGVmYXVsdCBiZWhhdmlvdXIgb2YgaW5oZXJpdGluZyB0aGUgZGFlbW9uaWMgcHJvcGVydHkgZnJvbSB0aGUgY3VycmVudAotICB0aHJlYWQvcHJvY2Vzcy4KLQotLSBJc3N1ZSAjMTA5NTY6IEJ1ZmZlcmVkIEkvTyBjbGFzc2VzIHJldHJ5IHJlYWRpbmcgb3Igd3JpdGluZyBhZnRlciBhIHNpZ25hbAotICBoYXMgYXJyaXZlZCBhbmQgdGhlIGhhbmRsZXIgcmV0dXJuZWQgc3VjY2Vzc2Z1bGx5LgotCi0tIElzc3VlICMxMDc4NDogTmV3IG9zLmdldHByaW9yaXR5KCkgYW5kIG9zLnNldHByaW9yaXR5KCkgZnVuY3Rpb25zLgotCi0tIElzc3VlICMxMTExNDogRml4IGNhdGFzdHJvcGhpYyBwZXJmb3JtYW5jZSBvZiB0ZWxsKCkgb24gdGV4dCBmaWxlcyAodXAKLSAgdG8gMTAwMHggZmFzdGVyIGluIHNvbWUgY2FzZXMpLiAgSXQgaXMgc3RpbGwgb25lIHRvIHR3byBvcmRlciBvZiBtYWduaXR1ZGVzCi0gIHNsb3dlciB0aGFuIGJpbmFyeSB0ZWxsKCkuCi0KLS0gSXNzdWUgIzEwODgyOiBBZGQgb3Muc2VuZGZpbGUgZnVuY3Rpb24uCi0KLS0gSXNzdWUgIzEwODY4OiBBbGxvdyB1c2FnZSBvZiB0aGUgcmVnaXN0ZXIgbWV0aG9kIG9mIGFuIEFCQyBhcyBhIGNsYXNzCi0gIGRlY29yYXRvci4KLQotLSBJc3N1ZSAjMTEyMjQ6IEZpeGVkIGEgcmVncmVzc2lvbiBpbiB0YXJmaWxlIHRoYXQgYWZmZWN0ZWQgdGhlIGZpbGUtbGlrZQotICBvYmplY3RzIHJldHVybmVkIGJ5IFRhckZpbGUuZXh0cmFjdGZpbGUoKSByZWdhcmRpbmcgcGVyZm9ybWFuY2UsIG1lbW9yeQotICBjb25zdW1wdGlvbiBhbmQgZmFpbHVyZXMgd2l0aCB0aGUgc3RyZWFtIGludGVyZmFjZS4KLQotLSBJc3N1ZSAjMTA5MjQ6IEFkZGluZyBzYWx0IGFuZCBNb2R1bGFyIENyeXB0IEZvcm1hdCB0byBjcnlwdCBsaWJyYXJ5LgotICBNb3ZlZCBvbGQgQyB3cmFwcGVyIHRvIF9jcnlwdCwgYW5kIGFkZGVkIGEgUHl0aG9uIHdyYXBwZXIgd2l0aAotICBlbmhhbmNlZCBzYWx0IGdlbmVyYXRpb24gYW5kIHNpbXBsZXIgQVBJIGZvciBwYXNzd29yZCBnZW5lcmF0aW9uLgotCi0tIElzc3VlICMxMTA3NDogTWFrZSAndG9rZW5pemUnIHNvIGl0IGNhbiBiZSByZWxvYWRlZC4KLQotLSBJc3N1ZSAjMTEwODU6IE1vdmVkIGNvbGxlY3Rpb25zIGFic3RyYWN0IGJhc2UgY2xhc3NlcyBpbnRvIGEgc2VwYXJhdGUKLSAgbW9kdWxlIGNhbGxlZCBjb2xsZWN0aW9ucy5hYmMsIGZvbGxvd2luZyB0aGUgcGF0dGVybiB1c2VkIGJ5IGltcG9ydGxpYi5hYmMuCi0gIEZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSwgdGhlIG5hbWVzIGFyZSBpbXBvcnRlZCBpbnRvIHRoZSBjb2xsZWN0aW9ucwotICBtb2R1bGUuCi0KLS0gSXNzdWUgIzQ2ODE6IEFsbG93IG1tYXAoKSB0byB3b3JrIG9uIGZpbGUgc2l6ZXMgYW5kIG9mZnNldHMgbGFyZ2VyIHRoYW4KLSAgNEdCLCBldmVuIG9uIDMyLWJpdCBidWlsZHMuICBJbml0aWFsIHBhdGNoIGJ5IFJvc3MgTGFnZXJ3YWxsLCBhZGFwdGVkIGZvcgotICAzMi1iaXQgV2luZG93cy4KLQotLSBJc3N1ZSAjMTExNjk6IGNvbXBpbGVhbGwgbW9kdWxlIHVzZXMgcmVwcigpIHRvIGZvcm1hdCBmaWxlbmFtZXMgYW5kIHBhdGhzIHRvCi0gIGVzY2FwZSBzdXJyb2dhdGUgY2hhcmFjdGVycyBhbmQgc2hvdyBzcGFjZXMuCi0KLS0gSXNzdWUgIzExMDg5OiBGaXggcGVyZm9ybWFuY2UgaXNzdWUgbGltaXRpbmcgdGhlIHVzZSBvZiBDb25maWdQYXJzZXIoKQotICB3aXRoIGxhcmdlIGNvbmZpZyBmaWxlcy4KLQotLSBJc3N1ZSAjMTAyNzY6IEZpeCB0aGUgcmVzdWx0cyBvZiB6bGliLmNyYzMyKCkgYW5kIHpsaWIuYWRsZXIzMigpIG9uIGJ1ZmZlcnMKLSAgbGFyZ2VyIHRoYW4gNEdCLiAgUGF0Y2ggYnkgTmFkZWVtIFZhd2RhLgotCi0tIElzc3VlICMxMTM4ODogQWRkZWQgYSBjbGVhcigpIG1ldGhvZCB0byBNdXRhYmxlU2VxdWVuY2UKLQotLSBJc3N1ZSAjMTExNzQ6IEFkZCBhcmdwYXJzZS5NZXRhdmFyVHlwZUhlbHBGb3JtYXR0ZXIsIHdoaWNoIHVzZXMgdHlwZSBuYW1lcwotICBmb3IgdGhlIG5hbWVzIG9mIG9wdGlvbmFsIGFuZCBwb3NpdGlvbmFsIGFyZ3VtZW50cyBpbiBoZWxwIG1lc3NhZ2VzLgotCi0tIElzc3VlICM5MzQ4OiBSYWlzZSBhbiBlYXJseSBlcnJvciBpZiBhcmdwYXJzZSBuYXJncyBhbmQgbWV0YXZhciBkb24ndCBtYXRjaC4KLQotLSBJc3N1ZSAjOTAyNjogRml4IG9yZGVyIG9mIGFyZ3BhcnNlIHN1Yi1jb21tYW5kcyBpbiBoZWxwIG1lc3NhZ2VzLgotCi0tIElzc3VlICM5MzQ3OiBGaXggZm9ybWF0dGluZyBmb3IgdHVwbGVzIGluIGFyZ3BhcnNlIHR5cGU9IGVycm9yIG1lc3NhZ2VzLgotCi0tIElzc3VlICMxMjE5MTogQWRkZWQgc2h1dGlsLmNob3duKCkgdG8gY2hhbmdlIHVzZXIgYW5kL29yIGdyb3VwIG93bmVyIG9mIGEKLSAgZ2l2ZW4gcGF0aCBhbHNvIHNwZWNpZnlpbmcgdGhlaXIgbmFtZXMuCi0KLS0gSXNzdWUgIzEzOTg4OiBUaGUgX2VsZW1lbnR0cmVlIGFjY2VsZXJhdG9yIGlzIHVzZWQgd2hlbmV2ZXIgYXZhaWxhYmxlLgotICBOb3cgeG1sLmV0cmVlLmNFbGVtZW50VHJlZSBiZWNvbWVzIGEgZGVwcmVjYXRlZCBhbGlhcyB0byBFbGVtZW50VHJlZS4KLQotQnVpbGQKLS0tLS0tCi0KLS0gSXNzdWUgIzY4MDc6IFJ1biBtc2lzdXBwb3J0Lm1hayBlYXJsaWVyLgotCi0tIElzc3VlICMxMDU4MDogTWlub3IgZ3JhbW1hciBjaGFuZ2UgaW4gV2luZG93cyBpbnN0YWxsZXIuCi0KLS0gSXNzdWUgIzEzMzI2OiBDbGVhbiBfX3B5Y2FjaGVfXyBkaXJlY3RvcmllcyBjb3JyZWN0bHkgb24gT3BlbkJTRC4KLQotLSBQRVAgMzkzOiB0aGUgY29uZmlndXJlIG9wdGlvbiAtLXdpdGgtd2lkZS11bmljb2RlIGlzIHJlbW92ZWQuCi0KLS0gSXNzdWUgIzEyODUyOiBTZXQgX1hPUEVOX1NPVVJDRSB0byA3MDAsIGluc3RlYWQgb2YgNjAwLCB0byBnZXQgUE9TSVggMjAwOAotICBmdW5jdGlvbnMgb24gT3BlbkJTRCAoZS5nLiBmZG9wZW5kaXIpLgotCi0tIElzc3VlICMxMTg2MzogUmVtb3ZlIHN1cHBvcnQgZm9yIGxlZ2FjeSBzeXN0ZW1zIGRlcHJlY2F0ZWQgaW4gUHl0aG9uIDMuMgotICAoZm9sbG93aW5nIFBFUCAxMSkuICBUaGVzZSBzeXN0ZW1zIGFyZSBzeXN0ZW1zIHVzaW5nIE1hY2ggQyBUaHJlYWRzLAotICBTdW5PUyBsaWdodHdlaWdodCBwcm9jZXNzZXMsIEdOVSBwdGggdGhyZWFkcyBhbmQgSVJJWCB0aHJlYWRzLgotCi0tIElzc3VlICM4NzQ2OiBDb3JyZWN0IGZhdWx0eSBjb25maWd1cmUgY2hlY2tzIHNvIHRoYXQgb3MuY2hmbGFncygpIGFuZAotICBvcy5sY2hmbGFncygpIGFyZSBvbmNlIGFnYWluIGJ1aWx0IG9uIHN5c3RlbXMgdGhhdCBzdXBwb3J0IHRoZXNlCi0gIGZ1bmN0aW9ucyAoQlNEIGFuZCBPUyBYKS4gIEFsc28gYWRkIG5ldyBzdGF0IGZpbGUgZmxhZ3MgZm9yIE9TIFgKLSAgKFVGX0hJRERFTiBhbmQgVUZfQ09NUFJFU1NFRCkuCi0KLS0gSXNzdWUgIzEwNjQ1OiBJbnN0YWxsaW5nIFB5dGhvbiBubyBsb25nZXIgY3JlYXRlcyBhCi0gIFB5dGhvbi1YLlkuWi1weVguWS5lZ2ctaW5mbyBmaWxlIGluIHRoZSBsaWItZHlubG9hZCBkaXJlY3RvcnkuCi0KLS0gRG8gbm90IGFjY2lkZW50YWxseSBpbmNsdWRlIHRoZSBkaXJlY3RvcnkgY29udGFpbmluZyBzcWxpdGUuaCB0d2ljZSB3aGVuCi0gIGJ1aWxkaW5nIHNxbGl0ZTMuCi0KLS0gSXNzdWUgIzExMjE3OiBGb3IgNjQtYml0LzMyLWJpdCBNYWMgT1MgWCB1bml2ZXJzYWwgZnJhbWV3b3JrIGJ1aWxkcywKLSAgZW5zdXJlICJtYWtlIGluc3RhbGwiIGNyZWF0ZXMgc3ltbGlua3MgaW4gLS1wcmVmaXggYmluIGZvciB0aGUgIi0zMiIKLSAgZmlsZXMgaW4gdGhlIGZyYW1ld29yayBiaW4gZGlyZWN0b3J5IGxpa2UgdGhlIGluc3RhbGxlciBkb2VzLgotCi0tIElzc3VlICMxMTM0NzogVXNlIC0tbm8tYXMtbmVlZGVkIHdoZW4gbGlua2luZyBsaWJweXRob24zLnNvLgotCi0tIElzc3VlICMxMTQxMTogRml4ICdtYWtlIERFU1RESVI9JyB3aXRoIGEgcmVsYXRpdmUgZGVzdGluYXRpb24uCi0KLS0gSXNzdWUgIzExMjY4OiBQcmV2ZW50IE1hYyBPUyBYIEluc3RhbGxlciBmYWlsdXJlIGlmIERvY3VtZW50YXRpb24KLSAgcGFja2FnZSBoYWQgcHJldmlvdXNseSBiZWVuIGluc3RhbGxlZC4KLQotLSBJc3N1ZSAjMTE0OTU6IE9TRiBzdXBwb3J0IGlzIGVsaW1pbmF0ZWQuIEl0IHdhcyBkZXByZWNhdGVkIGluIFB5dGhvbiAzLjIuCi0KLUlETEUKLS0tLS0KLQotLSBJc3N1ZSAjMTQ0MDk6IElETEUgbm93IHByb3Blcmx5IGV4ZWN1dGVzIGNvbW1hbmRzIGluIHRoZSBTaGVsbCB3aW5kb3cKLSAgd2hlbiBpdCBjYW5ub3QgcmVhZCB0aGUgbm9ybWFsIGNvbmZpZyBmaWxlcyBvbiBzdGFydHVwIGFuZAotICBoYXMgdG8gdXNlIHRoZSBidWlsdC1pbiBkZWZhdWx0IGtleSBiaW5kaW5ncy4KLSAgVGhlcmUgd2FzIHByZXZpb3VzbHkgYSBidWcgaW4gb25lIG9mIHRoZSBkZWZhdWx0cy4KLQotLSBJRExFIGNhbiBiZSBsYXVuY2hlZCBhcyBweXRob24gLW0gaWRsZWxpYgotCi0tIElzc3VlICMzNTczOiBJRExFIGhhbmdzIHdoZW4gcGFzc2luZyBpbnZhbGlkIGNvbW1hbmQgbGluZSBhcmdzCi0gIChkaXJlY3RvcnkoaWVzKSBpbnN0ZWFkIG9mIGZpbGUocykpIChQYXRjaCBieSBHdWlsaGVybWUgUG9sbykKLQotLSBJc3N1ZSAjMTQyMDA6IElETEUgc2hlbGwgY3Jhc2ggb24gcHJpbnRpbmcgbm9uLUJNUCB1bmljb2RlIGNoYXJhY3Rlci4KLQotLSBJc3N1ZSAjNTIxOTogUHJldmVudCBldmVudCBoYW5kbGVyIGNhc2NhZGUgaW4gSURMRS4KLQotLSBJc3N1ZSAjOTY0NDM3OiBNYWtlIElETEUgaGVscCB3aW5kb3cgbm9uLW1vZGFsLgotICBQYXRjaCBieSBHdWlsaGVybWUgUG9sbyBhbmQgUm9nZXIgU2Vyd3kuCi0KLS0gSXNzdWUgIzEzOTMzOiBJRExFIGF1dG8tY29tcGxldGUgZGlkIG5vdCB3b3JrIHdpdGggc29tZSBpbXBvcnRlZAotICBtb2R1bGUsIGxpa2UgaGFzaGxpYi4gIChQYXRjaCBieSBSb2dlciBTZXJ3eSkKLQotLSBJc3N1ZSAjMTM1MDY6IEFkZCAnJyB0byBwYXRoIGZvciBJRExFIFNoZWxsIHdoZW4gc3RhcnRlZCBhbmQgcmVzdGFydGVkIHdpdGggUmVzdGFydCBTaGVsbC4KLSAgT3JpZ2luYWwgcGF0Y2hlcyBieSBNYXJjbyBTY2F0YWdsaW5pIGFuZCBSb2dlciBTZXJ3eS4KLQotLSBJc3N1ZSAjNDYyNTogSWYgSURMRSBjYW5ub3Qgd3JpdGUgdG8gaXRzIHJlY2VudCBmaWxlIG9yIGJyZWFrcG9pbnQgZmlsZXMsCi0gIGRpc3BsYXkgYSBtZXNzYWdlIHBvcHVwIGFuZCBjb250aW51ZSByYXRoZXIgdGhhbiBjcmFzaC4gIE9yaWdpbmFsIHBhdGNoIGJ5Ci0gIFJvZ2VyIFNlcnd5LgotCi0tIElzc3VlICM4NjQxOiBVcGRhdGUgSURMRSAzIHN5bnRheCBjb2xvcmluZyB0byByZWNvZ25pemUgYiIuLiIgYW5kIG5vdCB1Ii4uIi4KLSAgUGF0Y2ggYnkgVGFsIEVpbmF0LgotCi0tIElzc3VlICMxMzI5NjogRml4IElETEUgdG8gY2xlYXIgY29tcGlsZSBfX2Z1dHVyZV9fIGZsYWdzIG9uIHNoZWxsIHJlc3RhcnQuCi0gIChQYXRjaCBieSBSb2dlciBTZXJ3eSkKLQotLSBJc3N1ZSAjOTg3MTogUHJldmVudCBJRExFIDMgY3Jhc2ggd2hlbiBnaXZlbiBieXRlIHN0aW5ncwotICB3aXRoIGludmFsaWQgaGV4IGVzY2FwZSBzZXF1ZW5jZXMsIGxpa2UgYidceDAnLgotICAoT3JpZ2luYWwgcGF0Y2ggYnkgQ2xhdWRpdSBQb3BhLikKLQotLSBJc3N1ZSAjMTI2MzY6IElETEUgcmVhZHMgdGhlIGNvZGluZyBjb29raWUgd2hlbiBleGVjdXRpbmcgYSBQeXRob24gc2NyaXB0LgotCi0tIElzc3VlICMxMjU0MDogUHJldmVudCB6b21iaWUgSURMRSBwcm9jZXNzZXMgb24gV2luZG93cyBkdWUgdG8gY2hhbmdlcwotICBpbiBvcy5raWxsKCkuCi0KLS0gSXNzdWUgIzEyNTkwOiBJRExFIGVkaXRvciB3aW5kb3cgbm93IGFsd2F5cyBkaXNwbGF5cyB0aGUgZmlyc3QgbGluZQotICB3aGVuIG9wZW5pbmcgYSBsb25nIGZpbGUuICBXaXRoIFRrIDguNSwgdGhlIGZpcnN0IGxpbmUgd2FzIGhpZGRlbi4KLQotLSBJc3N1ZSAjMTEwODg6IGRvbid0IGNyYXNoIHdoZW4gdXNpbmcgRjUgdG8gcnVuIGEgc2NyaXB0IGluIElETEUgb24gTWFjT1NYCi0gIHdpdGggVGsgOC41LgotCi0tIElzc3VlICMxMDI4OiBUayByZXR1cm5zIGludmFsaWQgVW5pY29kZSBudWxsIGluICVBOiBVbmljb2RlRGVjb2RlRXJyb3IuCi0gIFdpdGggVGsgPCA4LjUgX3RraW50ZXIuYzpQeXRob25DbWQoKSByYWlzZWQgVW5pY29kZURlY29kZUVycm9yLCBjYXVzZWQKLSAgSURMRSB0byBleGl0LiAgQ29udmVydGVkIHRvIHZhbGlkIFVuaWNvZGUgbnVsbCBpbiBQeXRob25DbWQoKS4KLQotLSBJc3N1ZSAjMTE3MTg6IElETEUncyBvcGVuIG1vZHVsZSBkaWFsb2cgY291bGRuJ3QgZmluZCB0aGUgX19pbml0X18ucHkKLSAgZmlsZSBpbiBhIHBhY2thZ2UuCi0KLVRvb2xzL0RlbW9zCi0tLS0tLS0tLS0tLQotCi0tIElzc3VlICMxNDA1MzogcGF0Y2hjaGVjay5weSAoIm1ha2UgcGF0Y2hjaGVjayIpIG5vdyB3b3JrcyB3aXRoIE1RIHBhdGNoZXMuCi0gIFBhdGNoIGJ5IEZyYW5jaXNjbyBNYXJ0w61uIEJydWd1w6kuCi0KLS0gSXNzdWUgIzEzOTMwOiAydG8zIGlzIG5vdyBhYmxlIHRvIHdyaXRlIGl0cyBjb252ZXJ0ZWQgb3V0cHV0IGZpbGVzIHRvIGFub3RoZXIKLSAgZGlyZWN0b3J5IHRyZWUgYXMgd2VsbCBhcyBjb3B5aW5nIHVuY2hhbmdlZCBmaWxlcyBhbmQgYWx0ZXJpbmcgdGhlIGZpbGUKLSAgc3VmZml4LiAgU2VlIGl0cyBuZXcgLW8sIC1XIGFuZCAtLWFkZC1zdWZmaXggb3B0aW9ucy4gIFRoaXMgbWFrZXMgaXQgbW9yZQotICB1c2VmdWwgaW4gbWFueSBhdXRvbWF0ZWQgY29kZSB0cmFuc2xhdGlvbiB3b3JrZmxvd3MuCi0KLS0gSXNzdWUgIzEzNjI4OiBweXRob24tZ2RiLnB5IGlzIG5vdyBhYmxlIHRvIHJldHJpZXZlIG1vcmUgZnJhbWVzIGluIHRoZSBQeXRob24KLSAgdHJhY2ViYWNrIGlmIFB5dGhvbiBpcyBvcHRpbWl6ZWQuCi0KLS0gSXNzdWUgIzExOTk2OiBsaWJweXRob24gKGdkYiksIHJlcGxhY2UgInB5LWJ0IiBjb21tYW5kIGJ5ICJweS1idC1mdWxsIiBhbmQKLSAgYWRkIGEgc21hcnRlciAicHktYnQiIGNvbW1hbmQgcHJpbnRpbmcgYSBjbGFzc2ljIFB5dGhvbiB0cmFjZWJhY2suCi0KLS0gSXNzdWUgIzExMTc5OiBNYWtlIGNjYmVuY2ggd29yayB1bmRlciBQeXRob24gMy4xIGFuZCAyLjcgYWdhaW4uCi0KLS0gSXNzdWUgIzEwNjM5OiByZWluZGVudC5weSBubyBsb25nZXIgY29udmVydHMgbmV3bGluZXMgYW5kIHdpbGwgcmFpc2UKLSAgYW4gZXJyb3IgaWYgYXR0ZW1wdGluZyB0byBjb252ZXJ0IGEgZmlsZSB3aXRoIG1peGVkIG5ld2xpbmVzLgotICAiLS1uZXdsaW5lIiBvcHRpb24gYWRkZWQgdG8gc3BlY2lmeSBuZXcgbGluZSBjaGFyYWN0ZXIuCi0KLUV4dGVuc2lvbiBNb2R1bGVzCi0tLS0tLS0tLS0tLS0tLS0tLQotCi0tIElzc3VlICMxNjg0NzogRml4ZWQgaW1wcm9wZXIgdXNlIG9mIF9QeVVuaWNvZGVfQ2hlY2tDb25zaXN0ZW5jeSgpIGluCi0gIG5vbi1weWRlYnVnIGJ1aWxkcy4gU2V2ZXJhbCBleHRlbnNpb24gbW9kdWxlcyBub3cgY29tcGlsZSBjbGVhbmx5IHdoZW4KLSAgYXNzZXJ0KClzIGFyZSBlbmFibGVkIGluIHN0YW5kYXJkIGJ1aWxkcyAoLURERUJVRyBmbGFnKS4KLQotLSBJc3N1ZSAjMTM4NDA6IFRoZSBlcnJvciBtZXNzYWdlIHByb2R1Y2VkIGJ5IGN0eXBlcy5jcmVhdGVfc3RyaW5nX2J1ZmZlcgotICB3aGVuIGdpdmVuIGEgVW5pY29kZSBzdHJpbmcgaGFzIGJlZW4gZml4ZWQuCi0KLS0gSXNzdWUgIzk5NzU6IHNvY2tldDogRml4IGluY29ycmVjdCB1c2Ugb2YgZmxvd2luZm8gYW5kIHNjb3BlX2lkLiBQYXRjaCBieQotICBWaWxtb3MgTmViZWhhai4KLQotLSBJc3N1ZSAjNzc3Nzogc29ja2V0OiBBZGQgUmVsaWFibGUgRGF0YWdyYW0gU29ja2V0cyAoUEZfUkRTKSBzdXBwb3J0LgotCi0tIElzc3VlICMxMzE1OTogRmlsZUlPIGFuZCBCWjJDb21wcmVzc29yL0JaMkRlY29tcHJlc3NvciBub3cgdXNlIGEgbGluZWFyLXRpbWUKLSAgYnVmZmVyIGdyb3d0aCBzdHJhdGVneSBpbnN0ZWFkIG9mIGEgcXVhZHJhdGljLXRpbWUgb25lLgotCi0tIElzc3VlICMxMDE0MTogc29ja2V0OiBBZGQgU29ja2V0Q0FOIChQRl9DQU4pIHN1cHBvcnQuIEluaXRpYWwgcGF0Y2ggYnkKLSAgTWF0dGhpYXMgRnVjaHMsIHVwZGF0ZWQgYnkgVGlhZ28gR29uw6dhbHZlcy4KLQotLSBJc3N1ZSAjMTMwNzA6IEZpeCBhIGNyYXNoIHdoZW4gYSBUZXh0SU9XcmFwcGVyIGNhdWdodCBpbiBhIHJlZmVyZW5jZSBjeWNsZQotICB3b3VsZCBiZSBmaW5hbGl6ZWQgYWZ0ZXIgdGhlIHJlZmVyZW5jZSB0byBpdHMgdW5kZXJseWluZyBCdWZmZXJlZFJXUGFpcidzCi0gIHdyaXRlciBnb3QgY2xlYXJlZCBieSB0aGUgR0MuCi0KLS0gSXNzdWUgIzEyODgxOiBjdHlwZXM6IEZpeCBzZWdmYXVsdCB3aXRoIGxhcmdlIHN0cnVjdHVyZSBmaWVsZCBuYW1lcy4KLQotLSBJc3N1ZSAjMTMwNTg6IG9zc2F1ZGlvZGV2OiBmaXggYSBmaWxlIGRlc2NyaXB0b3IgbGVhayBvbiBlcnJvci4gUGF0Y2ggYnkKLSAgVGhvbWFzIEphcm9zY2guCi0KLS0gSXNzdWUgIzEzMDEzOiBjdHlwZXM6IEZpeCBhIHJlZmVyZW5jZSBsZWFrIGluIFB5Q0FycmF5VHlwZV9mcm9tX2N0eXBlLgotICBUaGFua3MgdG8gU3VtYW4gU2FoYSBmb3IgZmluZGluZyB0aGUgYnVnIGFuZCBwcm92aWRpbmcgYSBwYXRjaC4KLQotLSBJc3N1ZSAjMTMwMjI6IEZpeDogX211bHRpcHJvY2Vzc2luZy5yZWN2ZmQoKSBkb2Vzbid0IGNoZWNrIHRoYXQKLSAgZmlsZSBkZXNjcmlwdG9yIHdhcyBhY3R1YWxseSByZWNlaXZlZC4KLQotLSBJc3N1ZSAjMTE3MjcxMTogQWRkICdsb25nIGxvbmcnIHN1cHBvcnQgdG8gdGhlIGFycmF5IG1vZHVsZS4KLSAgSW5pdGlhbCBwYXRjaCBieSBPcmVuIFRpcm9zaCBhbmQgSGlyb2thenUgWWFtYW1vdG8uCi0KLS0gSXNzdWUgIzEyNDgzOiBjdHlwZXM6IEZpeCBhIGNyYXNoIHdoZW4gdGhlIGRlc3RydWN0aW9uIG9mIGEgY2FsbGJhY2sKLSAgb2JqZWN0IHRyaWdnZXJzIHRoZSBnYXJiYWdlIGNvbGxlY3Rvci4KLQotLSBJc3N1ZSAjMTI5NTA6IEZpeCBwYXNzaW5nIGZpbGUgZGVzY3JpcHRvcnMgaW4gbXVsdGlwcm9jZXNzaW5nLCB1bmRlcgotICBPcGVuSW5kaWFuYS9JbGx1bW9zLgotCi0tIElzc3VlICMxMjc2NDogRml4IGEgY3Jhc2ggaW4gY3R5cGVzIHdoZW4gdGhlIG5hbWUgb2YgYSBTdHJ1Y3R1cmUgZmllbGQgaXMgbm90Ci0gIGEgc3RyaW5nLgotCi0tIElzc3VlICMxMTI0MTogc3ViY2xhc3NlcyBvZiBjdHlwZXMuQXJyYXkgY2FuIG5vdyBiZSBzdWJjbGFzc2VkLgotCi0tIElzc3VlICM5NjUxOiBGaXggYSBjcmFzaCB3aGVuIGN0eXBlcy5jcmVhdGVfc3RyaW5nX2J1ZmZlcigwKSB3YXMgcGFzc2VkIHRvCi0gIHNvbWUgZnVuY3Rpb25zIGxpa2UgZmlsZS53cml0ZSgpLgotCi0tIElzc3VlICMxMDMwOTogRGVmaW5lIF9HTlVfU09VUkNFIHNvIHRoYXQgbXJlbWFwKCkgZ2V0cyB0aGUgcHJvcGVyCi0gIHNpZ25hdHVyZS4gIFdpdGhvdXQgdGhpcywgYXJjaGl0ZWN0dXJlcyB3aGVyZSBzaXplb2Ygdm9pZCogIT0gc2l6ZW9mIGludCBhcmUKLSAgYnJva2VuLiAgUGF0Y2ggZ2l2ZW4gYnkgSGFsbHZhcmQgQiBGdXJ1c2V0aC4KLQotLSBJc3N1ZSAjMTIwNTE6IEZpeCBzZWdmYXVsdCBpbiBqc29uLmR1bXBzKCkgd2hpbGUgZW5jb2RpbmcgaGlnaGx5LW5lc3RlZAotICBvYmplY3RzIHVzaW5nIHRoZSBDIGFjY2VsZXJhdGlvbnMuCi0KLS0gSXNzdWUgIzEyMDE3OiBGaXggc2VnZmF1bHQgaW4ganNvbi5sb2FkcygpIHdoaWxlIGRlY29kaW5nIGhpZ2hseS1uZXN0ZWQKLSAgb2JqZWN0cyB1c2luZyB0aGUgQyBhY2NlbGVyYXRpb25zLgotCi0tIElzc3VlICMxODM4OiBQcmV2ZW50IHNlZ2ZhdWx0IGluIGN0eXBlcywgd2hlbiBfYXNfcGFyYW1ldGVyXyBvbiBhIGNsYXNzIGlzIHNldAotICB0byBhbiBpbnN0YW5jZSBvZiB0aGUgY2xhc3MuCi0KLVRlc3RzCi0tLS0tLQotCi0tIElzc3VlICMxMzEyNTogU2lsZW5jZSBzcHVyaW91cyB0ZXN0X2xpYjJ0bzMgb3V0cHV0IHdoZW4gaW4gbm9uLXZlcmJvc2UgbW9kZS4KLSAgUGF0Y2ggYnkgTWlraGFpbCBOb3Zpa292LgotCi0tIElzc3VlICMxMzQ0NzogQWRkIGEgdGVzdCBmaWxlIHRvIGhvc3QgcmVncmVzc2lvbiB0ZXN0cyBmb3IgYnVncyBpbiB0aGUKLSAgc2NyaXB0cyBmb3VuZCBpbiB0aGUgVG9vbHMgZGlyZWN0b3J5LgotCi0tIElzc3VlICMxMDg4MTogRml4IHRlc3Rfc2l0ZSBmYWlsdXJlIHdpdGggT1MgWCBmcmFtZXdvcmsgYnVpbGRzLgotCi0tIElzc3VlICMxMzkwMTogUHJldmVudCB0ZXN0X2Rpc3R1dGlscyBmYWlsdXJlcyBvbiBPUyBYIHdpdGggLS1lbmFibGUtc2hhcmVkLgotCi0tIElzc3VlICMxMzg2MjogRml4IHNwdXJpb3VzIGZhaWx1cmUgaW4gdGVzdF96bGliIGR1ZSB0byBydW50aW1lL2NvbXBpbGUgdGltZQotICBtaW5vciB2ZXJzaW9ucyBub3QgbWF0Y2hpbmcuCi0KLS0gSXNzdWUgIzEyODA0OiBGaXggdGVzdF9zb2NrZXQgYW5kIHRlc3RfdXJsbGliMm5ldCBmYWlsdXJlcyB3aGVuIHJ1bm5pbmcgdGVzdHMKLSAgb24gYSBzeXN0ZW0gd2l0aG91dCBpbnRlcm5ldCBhY2Nlc3MuCi0KLS0gSXNzdWUgIzEzNzI2OiBGaXggdGhlIGFtYmlndW91cyAtUyBmbGFnIGluIHJlZ3J0ZXN0LiBJdCBpcyAtby8tLXNsb3cgZm9yIHNsb3cKLSAgdGVzdHMuCi0KLS0gSXNzdWUgIzExNjU5OiBGaXggUmVzb3VyY2VXYXJuaW5nIGluIHRlc3Rfc3VicHJvY2VzcyBpbnRyb2R1Y2VkIGJ5ICMxMTQ1OS4KLSAgUGF0Y2ggYnkgQmVuIEhheWRlbi4KLQotLSBJc3N1ZSAjMTE1Nzc6IGZpeCBSZXNvdXJjZVdhcm5pbmcgdHJpZ2dlcmVkIGJ5IGltcHJvdmVkIGJpbmhleCB0ZXN0IGNvdmVyYWdlCi0KLS0gSXNzdWUgIzExNTA5OiBTaWduaWZpY2FudGx5IGluY3JlYXNlIHRlc3QgY292ZXJhZ2Ugb2YgZmlsZWlucHV0LgotICBQYXRjaCBieSBEZW52ZXIgQ29uZXliZWFyZSBhdCBQeUNvbiAyMDExIFNwcmludHMuCi0KLS0gSXNzdWUgIzExNjg5OiBGaXggYSB2YXJpYWJsZSBzY29waW5nIGVycm9yIGluIGFuIHNxbGl0ZTMgdGVzdAotCi0tIElzc3VlICMxMzc4NjogUmVtb3ZlIHVuaW1wbGVtZW50ZWQgJ3RyYWNlJyBsb25nIG9wdGlvbiBmcm9tIHJlZ3J0ZXN0LnB5LgotCi0tIElzc3VlICMxMzcyNTogRml4IHJlZ3J0ZXN0IHRvIHJlY29nbml6ZSB0aGUgZG9jdW1lbnRlZCAtZCBmbGFnLgotICBQYXRjaCBieSBFcm5vIFR1a2lhLgotCi0tIElzc3VlICMxMzMwNDogU2tpcCB0ZXN0IGNhc2UgaWYgdXNlciBzaXRlLXBhY2thZ2VzIGRpc2FibGVkICgtcyBvcgotICBQWVRIT05OT1VTRVJTSVRFKS4gIChQYXRjaCBieSBDYXJsIE1leWVyKQotCi0tIElzc3VlICM1NjYxOiBBZGQgYSB0ZXN0IGZvciBFQ09OTlJFU0VUL0VQSVBFIGhhbmRsaW5nIHRvIHRlc3RfYXN5bmNvcmUuIFBhdGNoCi0gIGJ5IFhhdmllciBkZSBHYXllLgotCi0tIElzc3VlICMxMzIxODogRml4IHRlc3Rfc3NsIGZhaWx1cmVzIG9uIERlYmlhbi9VYnVudHUuCi0KLS0gUmUtZW5hYmxlIGxpYjJ0bzMncyB0ZXN0X3BhcnNlci5weSB0ZXN0cywgdGhvdWdoIHdpdGggYW4gZXhwZWN0ZWQgZmFpbHVyZQotICAoc2VlIGlzc3VlIDEzMTI1KS4KLQotLSBJc3N1ZSAjMTI2NTY6IEFkZCB0ZXN0cyBmb3IgSVB2NiBhbmQgVW5peCBzb2NrZXRzIHRvIHRlc3RfYXN5bmNvcmUuCi0KLS0gSXNzdWUgIzY0ODQ6IEFkZCB1bml0IHRlc3RzIGZvciBtYWlsY2FwIG1vZHVsZSAocGF0Y2ggYnkgR3JlZ29yeSBOb2ZpKQotCi0tIElzc3VlICMxMTY1MTogSW1wcm92ZSB0aGUgTWFrZWZpbGUgdGVzdCB0YXJnZXRzIHRvIHJ1biBtb3JlIG9mIHRoZSB0ZXN0IHN1aXRlCi0gIG1vcmUgcXVpY2tseS4gVGhlIC0tbXVsdGlwcm9jZXNzIG9wdGlvbiBpcyBub3cgZW5hYmxlZCBieSBkZWZhdWx0LCByZWR1Y2luZwotICB0aGUgYW1vdW50IG9mIHRpbWUgbmVlZGVkIHRvIHJ1biB0aGUgdGVzdHMuICJtYWtlIHRlc3QiIGFuZCAibWFrZSBxdWlja3Rlc3QiCi0gIG5vdyBpbmNsdWRlIHNvbWUgcmVzb3VyY2UtaW50ZW5zaXZlIHRlc3RzLCBidXQgbm8gbG9uZ2VyIHJ1biB0aGUgdGVzdCBzdWl0ZQotICB0d2ljZSB0byBjaGVjayBmb3IgYnVncyBpbiAucHljIGdlbmVyYXRpb24uIFRvb2xzL3NjcmlwdHMvcnVuX3Rlc3QucHkgcHJvdmlkZXMKLSAgYW4gZWFzeSBwbGF0Zm9ybS1pbmRlcGVuZGVudCB3YXkgdG8gcnVuIHRlc3Qgc3VpdGUgd2l0aCBzZW5zaWJsZSBkZWZhdWx0cy4KLQotLSBJc3N1ZSAjMTIzMzE6IFRoZSB0ZXN0IHN1aXRlIGZvciB0aGUgcGFja2FnaW5nIG1vZHVsZSBjYW4gbm93IHJ1biBmcm9tIGFuCi0gIGluc3RhbGxlZCBQeXRob24uCi0KLS0gSXNzdWUgIzEyMzMxOiBUaGUgdGVzdCBzdWl0ZSBmb3IgbGliMnRvMyBjYW4gbm93IHJ1biBmcm9tIGFuIGluc3RhbGxlZAotICBQeXRob24uCi0KLS0gSXNzdWUgIzEyNjI2OiBJbiByZWdydGVzdCwgYWxsb3cgdG8gZmlsdGVyIHRlc3RzIHVzaW5nIGEgZ2xvYiBmaWx0ZXIKLSAgd2l0aCB0aGUgYGAtbWBgIChvciBgYC0tbWF0Y2hgYCkgb3B0aW9uLiAgVGhpcyB3b3JrcyB3aXRoIGFsbCB0ZXN0IGNhc2VzCi0gIHVzaW5nIHRoZSB1bml0dGVzdCBtb2R1bGUuICBUaGlzIGlzIHVzZWZ1bCB3aXRoIGxvbmcgdGVzdCBzdWl0ZXMKLSAgc3VjaCBhcyB0ZXN0X2lvIG9yIHRlc3Rfc3VicHJvY2Vzcy4KLQotLSBJc3N1ZSAjMTI2MjQ6IEl0IGlzIG5vdyBwb3NzaWJsZSB0byBmYWlsIGFmdGVyIHRoZSBmaXJzdCBmYWlsdXJlIHdoZW4KLSAgcnVubmluZyBpbiB2ZXJib3NlIG1vZGUgKGBgLXZgYCBvciBgYC1XYGApLCBieSB1c2luZyB0aGUgYGAtLWZhaWxmYXN0YGAKLSAgKG9yIGBgLUdgYCkgb3B0aW9uIHRvIHJlZ3J0ZXN0LiAgVGhpcyBpcyB1c2VmdWwgd2l0aCBsb25nIHRlc3Qgc3VpdGVzCi0gIHN1Y2ggYXMgdGVzdF9pbyBvciB0ZXN0X3N1YnByb2Nlc3MuCi0KLS0gSXNzdWUgIzEyNTg3OiBDb3JyZWN0IGZhdWx0eSB0ZXN0IGZpbGUgYW5kIHJlZmVyZW5jZSBpbiB0ZXN0X3Rva2VuaXplLgotICAoUGF0Y2ggYnkgUm9iZXJ0IFhpYW8pCi0KLS0gSXNzdWUgIzEyNTczOiBBZGQgcmVzb3VyY2UgY2hlY2tzIGZvciBkYW5nbGluZyBUaHJlYWQgYW5kIFByb2Nlc3Mgb2JqZWN0cy4KLQotLSBJc3N1ZSAjMTI1NDk6IENvcnJlY3QgdGVzdF9wbGF0Zm9ybSB0byBub3QgZmFpbCB3aGVuIE9TIFggcmV0dXJucyAneDg2XzY0JwotICBhcyB0aGUgcHJvY2Vzc29yIHR5cGUgb24gc29tZSBNYWMgc3lzdGVtcy4KLQotLSBTa2lwIG5ldHdvcmsgdGVzdHMgd2hlbiBnZXRhZGRyaW5mbygpIHJldHVybnMgRUFJX0FHQUlOLCBtZWFuaW5nIGEgdGVtcG9yYXJ5Ci0gIGZhaWx1cmUgaW4gbmFtZSByZXNvbHV0aW9uLgotCi0tIElzc3VlICMxMTgxMjogU29sdmUgdHJhbnNpZW50IHNvY2tldCBmYWlsdXJlIHRvIGNvbm5lY3QgdG8gJ2xvY2FsaG9zdCcKLSAgaW4gdGVzdF90ZWxuZXRsaWIucHkuCi0KLS0gU29sdmVkIGEgcG90ZW50aWFsIGRlYWRsb2NrIGluIHRlc3RfdGVsbmV0bGliLnB5LiBSZWxhdGVkIHRvIGlzc3VlICMxMTgxMi4KLQotLSBBdm9pZCBmYWlsaW5nIGluIHRlc3Rfcm9ib3RwYXJzZXIgd2hlbiBtdWVibGVzbW9yYWxlZGEuY29tIGlzIGZsYWt5IGFuZAotICBhbiBvdmVyemVhbG91cyBETlMgc2VydmljZSAoZS5nLiBPcGVuRE5TKSByZWRpcmVjdHMgdG8gYSBwbGFjZWhvbGRlcgotICBXZWIgc2l0ZS4KLQotLSBBdm9pZCBmYWlsaW5nIGluIHRlc3RfdXJsbGlibmV0LnRlc3RfYmFkX2FkZHJlc3Mgd2hlbiBzb21lIG92ZXJ6ZWFsb3VzCi0gIEROUyBzZXJ2aWNlIChlLmcuIE9wZW5ETlMpIHJlc29sdmVzIGEgbm9uLWV4aXN0ZW50IGRvbWFpbiBuYW1lLiAgVGhlIHRlc3QKLSAgaXMgbm93IHNraXBwZWQgaW5zdGVhZC4KLQotLSBJc3N1ZSAjMTI0NDA6IFdoZW4gdGVzdGluZyB3aGV0aGVyIHNvbWUgYml0cyBpbiBTU0xDb250ZXh0Lm9wdGlvbnMgY2FuIGJlCi0gIHJlc2V0LCBjaGVjayB0aGUgdmVyc2lvbiBvZiB0aGUgT3BlblNTTCBoZWFkZXJzIFB5dGhvbiB3YXMgY29tcGlsZWQgYWdhaW5zdCwKLSAgcmF0aGVyIHRoYW4gdGhlIHJ1bnRpbWUgdmVyc2lvbiBvZiB0aGUgT3BlblNTTCBsaWJyYXJ5LgotCi0tIElzc3VlICMxMTUxMjogQWRkIGEgdGVzdCBzdWl0ZSBmb3IgdGhlIGNnaXRiIG1vZHVsZS4gUGF0Y2ggYnkgUm9iYmllIENsZW1vbnMuCi0KLS0gSXNzdWUgIzEyNDk3OiBJbnN0YWxsIHRlc3QvZGF0YSB0byBwcmV2ZW50IGZhaWx1cmVzIG9mIHRoZSB2YXJpb3VzIGNvZGVjbWFwcwotICB0ZXN0cy4KLQotLSBJc3N1ZSAjMTI0OTY6IEluc3RhbGwgdGVzdC9jYXBhdGggZGlyZWN0b3J5IHRvIHByZXZlbnQgdGVzdF9jb25uZWN0X2NhcGF0aAotICB0ZXN0Y2FzZSBmYWlsdXJlIGluIHRlc3Rfc3NsLgotCi0tIElzc3VlICMxMjQ2OTogUnVuIHdha2V1cCBhbmQgcGVuZGluZyBzaWduYWwgdGVzdHMgaW4gYSBzdWJwcm9jZXNzIHRvIHJ1biB0aGUKLSAgdGVzdCBpbiBhIGZyZXNoIHByb2Nlc3Mgd2l0aCBvbmx5IG9uZSB0aHJlYWQgYW5kIHRvIG5vdCBjaGFuZ2Ugc2lnbmFsCi0gIGhhbmRsaW5nIG9mIHRoZSBwYXJlbnQgcHJvY2Vzcy4KLQotLSBJc3N1ZSAjODcxNjogQXZvaWQgY3Jhc2hlcyBjYXVzZWQgYnkgQXF1YSBUayBvbiBPU1ggd2hlbiBhdHRlbXB0aW5nIHRvIHJ1bgotICB0ZXN0X3RrIG9yIHRlc3RfdHRrX2d1aW9ubHkgdW5kZXIgYSB1c2VybmFtZSB0aGF0IGlzIG5vdCBjdXJyZW50bHkgbG9nZ2VkCi0gIGluIHRvIHRoZSBjb25zb2xlIHdpbmRvd3NlcnZlciAoYXMgbWF5IGJlIHRoZSBjYXNlIHVuZGVyIGJ1aWxkYm90IG9yIHNzaCkuCi0KLS0gSXNzdWUgIzEyNDA3OiBFeHBsaWNpdGx5IHNraXAgdGVzdF9jYXBpLkVtYmVkZGluZ1Rlc3QgdW5kZXIgV2luZG93cy4KLQotLSBJc3N1ZSAjMTI0MDA6IHJlZ3J0ZXN0IC1XIGRvZXNuJ3QgcmVydW4gdGhlIHRlc3RzIHR3aWNlIGFueW1vcmUsIGJ1dCBjYXB0dXJlcwotICB0aGUgb3V0cHV0IGFuZCBkaXNwbGF5cyBpdCBvbiBmYWlsdXJlIGluc3RlYWQuIHJlZ3J0ZXN0IC12IGRvZXNuJ3QgcHJpbnQgdGhlCi0gIGVycm9yIHR3aWNlIGFueW1vcmUgaWYgdGhlcmUgaXMgb25seSBvbmUgZXJyb3IuCi0KLS0gSXNzdWUgIzEyMTQxOiBJbnN0YWxsIGNvcGllcyBvZiB0ZW1wbGF0ZSBDIG1vZHVsZSBmaWxlIHNvIHRoYXQKLSAgdGVzdF9idWlsZF9leHQgb2YgdGVzdF9kaXN0dXRpbHMgYW5kIHRlc3RfY29tbWFuZF9idWlsZF9leHQgb2YKLSAgdGVzdF9wYWNrYWdpbmcgYXJlIG5vIGxvbmdlciBzaWxlbnRseSBza2lwcGVkIHdoZW4KLSAgcnVuIG91dHNpZGUgb2YgYSBidWlsZCBkaXJlY3RvcnkuCi0KLS0gSXNzdWUgIzg3NDY6IEFkZCBhZGRpdGlvbmFsIHRlc3RzIGZvciBvcy5jaGZsYWdzKCkgYW5kIG9zLmxjaGZsYWdzKCkuCi0gIFBhdGNoIGJ5IEdhcnJldHQgQ29vcGVyLgotCi0tIElzc3VlICMxMDczNjogRml4IHRlc3RfdHRrIHRlc3Rfd2lkZ2V0cyBmYWlsdXJlcyB3aXRoIENvY29hIFRrIDguNS45Ci0gIDIuOCArICBvbiBNYWMgT1MgWC4gIChQYXRjaCBieSBSb25hbGQgT3Vzc29yZW4pCi0KLS0gSXNzdWUgIzEyMDU3OiBBZGQgdGVzdHMgZm9yIElTTyAyMDIyIGNvZGVjcyAoaXNvMjAyMl9qcCwgaXNvMjAyMl9qcF8yLAotICBpc28yMDIyX2tyKS4KLQotLSBJc3N1ZSAjMTIwOTY6IEZpeCBhIHJhY2UgY29uZGl0aW9uIGluIHRlc3RfdGhyZWFkaW5nLnRlc3Rfd2FpdGZvcigpLiBQYXRjaAotICB3cml0dGVuIGJ5IENoYXJsZXMtRnJhbsOnb2lzIE5hdGFsaS4KLQotLSBJc3N1ZSAjMTE2MTQ6IGltcG9ydCBfX2hlbGxvX18gcHJpbnRzICJIZWxsbyBXb3JsZCEiLiBQYXRjaCB3cml0dGVuIGJ5Ci0gIEFuZHJlYXMgU3TDvGhyay4KLQotLSBJc3N1ZSAjNTcyMzogSW1wcm92ZSBqc29uIHRlc3RzIHRvIGJlIGV4ZWN1dGVkIHdpdGggYW5kIHdpdGhvdXQgYWNjZWxlcmF0aW9ucy4KLQotLSBJc3N1ZSAjMTIwNDE6IE1ha2UgdGVzdF93YWl0MyBtb3JlIHJvYnVzdC4KLQotLSBJc3N1ZSAjMTE4NzM6IENoYW5nZSByZWdleCBpbiB0ZXN0X2NvbXBpbGVhbGwgdG8gZml4IG9jY2FzaW9uYWwgZmFpbHVyZXMgd2hlbgotICB3aGVuIHRoZSByYW5kb21seSBnZW5lcmF0ZWQgdGVtcG9yYXJ5IHBhdGggaGFwcGVuZWQgdG8gbWF0Y2ggdGhlIHJlZ2V4LgotCi0tIElzc3VlICMxMTk1ODogRml4IEZUUCB0ZXN0cyBmb3IgSVB2NiwgYmluZCB0byAiOjoxIiBpbnN0ZWFkIG9mICJsb2NhbGhvc3QiLgotICBQYXRjaCB3cml0dGVuIGJ5IENoYXJsZXMtRnJhbmNvaXMgTmF0YWxpLgotCi0tIElzc3VlICM4NDA3LCAjMTE4NTk6IEZpeCB0ZXN0cyBvZiB0ZXN0X2lvIHVzaW5nIHRocmVhZHMgYW5kIGFuIGFsYXJtOiB1c2UKLSAgcHRocmVhZF9zaWdtYXNrKCkgdG8gZW5zdXJlIHRoYXQgdGhlIFNJR0FMUk0gc2lnbmFsIGlzIHJlY2VpdmVkIGJ5IHRoZSBtYWluCi0gIHRocmVhZC4KLQotLSBJc3N1ZSAjMTE4MTE6IEZhY3RvciBvdXQgZGV0ZWN0aW9uIG9mIElQdjYgc3VwcG9ydCBvbiB0aGUgY3VycmVudCBob3N0Ci0gIGFuZCBtYWtlIGl0IGF2YWlsYWJsZSBhcyBgYHRlc3Quc3VwcG9ydC5JUFY2X0VOQUJMRURgYC4gIFBhdGNoIGJ5Ci0gIENoYXJsZXMtRnJhbsOnb2lzIE5hdGFsaS4KLQotLSBJc3N1ZSAjMTA5MTQ6IEFkZCBhIG1pbmltYWwgZW1iZWRkaW5nIHRlc3QgdG8gdGVzdF9jYXBpLgotCi0tIElzc3VlICMxMTIyMzogU2tpcCB0ZXN0X2xvY2tfYWNxdWlyZV9pbnRlcnJ1cHRpb24oKSBhbmQKLSAgdGVzdF9ybG9ja19hY3F1aXJlX2ludGVycnVwdGlvbigpIG9mIHRlc3RfdGhyZWFkc2lnbmFscyBpZiBhIHRocmVhZCBsb2NrIGlzCi0gIGltcGxlbWVudGVkIHVzaW5nIGEgUE9TSVggbXV0ZXggYW5kIGEgUE9TSVggY29uZGl0aW9uIHZhcmlhYmxlLiBBIFBPU0lYCi0gIGNvbmRpdGlvbiB2YXJpYWJsZSBjYW5ub3QgYmUgaW50ZXJydXB0ZWQgYnkgYSBzaWduYWwgKGUuZy4gb24gTGludXgsIHRoZQotICBmdXRleCBzeXN0ZW0gY2FsbCBpcyByZXN0YXJ0ZWQpLgotCi0tIElzc3VlICMxMTc5MDogRml4IHNwb3JhZGljIGZhaWx1cmVzIGluIHRlc3RfbXVsdGlwcm9jZXNzaW5nLldpdGhQcm9jZXNzZXNUZXN0Q29uZGl0aW9uLgotCi0tIEZpeCBwb3NzaWJsZSAiZmlsZSBhbHJlYWR5IGV4aXN0cyIgZXJyb3Igd2hlbiBydW5uaW5nIHRoZSB0ZXN0cyBpbiBwYXJhbGxlbC4KLQotLSBJc3N1ZSAjMTE3MTk6IEZpeCBtZXNzYWdlIGFib3V0IHVuZXhwZWN0ZWQgdGVzdF9tc2lsaWIgc2tpcCBvbiBub24tV2luZG93cwotICBwbGF0Zm9ybXMuIFBhdGNoIGJ5IE5hZGVlbSBWYXdkYS4KLQotLSBJc3N1ZSAjMTE3Mjc6IEFkZCBhIC0tdGltZW91dCBvcHRpb24gdG8gcmVncnRlc3Q6IGlmIGEgdGVzdCB0YWtlcyBtb3JlIHRoYW4KLSAgVElNRU9VVCBzZWNvbmRzLCBkdW1wcyB0aGUgdHJhY2ViYWNrIG9mIGFsbCB0aHJlYWRzIGFuZCBleGl0cy4KLQotLSBJc3N1ZSAjMTE2NTM6IGZpeCAtVyB3aXRoIC1qIGluIHJlZ3J0ZXN0LgotCi0tIFRoZSBlbWFpbCB0ZXN0IHN1aXRlIG5vdyBsaXZlcyBpbiB0aGUgTGliL3Rlc3QvdGVzdF9lbWFpbCBwYWNrYWdlLiAgVGhlIHRlc3QKLSAgaGFybmVzcyBjb2RlIGhhcyBhbHNvIGJlZW4gbW9kZXJuaXplZCB0byBhbGxvdyB1c2Ugb2YgbmV3IHVuaXR0ZXN0IGZlYXR1cmVzLgotCi0tIHJlZ3J0ZXN0IG5vdyBkaXNjb3ZlcnMgdGVzdCBwYWNrYWdlcyBhcyB3ZWxsIGFzIHRlc3QgbW9kdWxlcy4KLQotLSBJc3N1ZSAjMTE1Nzc6IGltcHJvdmUgdGVzdCBjb3ZlcmFnZSBvZiBiaW5oZXgucHkuIFBhdGNoIGJ5IEFya2FkeSBLb3BseWFyb3YuCi0KLS0gTmV3IHRlc3RfY3Jhc2hlcnMgYWRkZWQgdG8gZXhlcmNpc2UgdGhlIHNjcmlwdHMgaW4gdGhlIExpYi90ZXN0L2NyYXNoZXJzCi0gIGRpcmVjdG9yeSBhbmQgY29uZmlybSB0aGV5IGZhaWwgYXMgZXhwZWN0ZWQKLQotLSBJc3N1ZSAjMTE1Nzg6IGFkZGVkIHRlc3QgZm9yIHRoZSB0aW1laXQgbW9kdWxlLiAgUGF0Y2ggYnkgTWljaGFlbCBIZW5yeS4KLQotLSBJc3N1ZSAjMTE1MDM6IGltcHJvdmUgdGVzdCBjb3ZlcmFnZSBvZiBwb3NpeHBhdGgucHkuIFBhdGNoIGJ5IEV2YW4gRGFuZHJlYS4KLQotLSBJc3N1ZSAjMTE1MDU6IGltcHJvdmVzIHRlc3QgY292ZXJhZ2Ugb2Ygc3RyaW5nLnB5LCBpbmNyZWFzZXMgZ3JhbnVsYXJpdHkgb2YKLSAgc3RyaW5nLkZvcm1hdHRlciB0ZXN0cy4gSW5pdGlhbCBwYXRjaCBieSBBbGljaWEgQXJsZW4uCi0KLS0gSXNzdWUgIzExNTQ4OiBJbXByb3ZlIHRlc3QgY292ZXJhZ2Ugb2YgdGhlIHNodXRpbCBtb2R1bGUuIFBhdGNoIGJ5Ci0gIEV2YW4gRGFuZHJlYS4KLQotLSBJc3N1ZSAjMTE1NTQ6IFJlYWN0aXZhdGVkIHRlc3RfZW1haWxfY29kZWNzLgotCi0tIElzc3VlICMxMTUwNTogaW1wcm92ZXMgdGVzdCBjb3ZlcmFnZSBvZiBzdHJpbmcucHkuIFBhdGNoIGJ5IEFsaWNpYQotICBBcmxlbgotCi0tIElzc3VlICMxMTQ5MDogdGVzdF9zdWJwcm9jZXNzLnRlc3RfbGVha2luZ19mZHNfb25fZXJyb3Igbm8gbG9uZ2VyIGdpdmVzIGEKLSAgZmFsc2UgcG9zaXRpdmUgaWYgdGhlIGxhc3QgZGlyZWN0b3J5IGluIHRoZSBwYXRoIGlzIGluYWNjZXNzaWJsZS4KLQotLSBJc3N1ZSAjMTEyMjM6IEZpeCB0ZXN0X3RocmVhZHNpZ25hbHMgdG8gZmFpbCwgbm90IGhhbmcsIHdoZW4gdGhlCi0gIG5vbi1zZW1hcGhvcmUgaW1wbGVtZW50YXRpb24gb2YgbG9ja3MgaXMgdXNlZCB1bmRlciBQT1NJWC4KLQotLSBJc3N1ZSAjMTA5MTE6IEFkZCB0ZXN0cyBvbiBDR0kgd2l0aCBub24tQVNDSUkgY2hhcmFjdGVycy4gUGF0Y2ggd3JpdHRlbiBieQotICBQaWVycmUgUXVlbnRlbC4KLQotLSBJc3N1ZSAjOTkzMTogRml4IGhhbmdzIGluIEdVSSB0ZXN0cyB1bmRlciBXaW5kb3dzIGluIGNlcnRhaW4gY29uZGl0aW9ucy4KLSAgUGF0Y2ggYnkgSGlyb2thenUgWWFtYW1vdG8uCi0KLS0gSXNzdWUgIzEwNTEyOiBQcm9wZXJseSBjbG9zZSBzb2NrZXRzIHVuZGVyIHRlc3QudGVzdF9jZ2kuCi0KLS0gSXNzdWUgIzEwOTkyOiBNYWtlIHRlc3RzIHBhc3MgdW5kZXIgY292ZXJhZ2UuCi0KLS0gSXNzdWUgIzEwODI2OiBQcmV2ZW50IHNwb3JhZGljIGZhaWx1cmUgaW4gdGVzdF9zdWJwcm9jZXNzIG9uIFNvbGFyaXMgZHVlCi0gIHRvIG9wZW4gZG9vciBmaWxlcy4KLQotLSBJc3N1ZSAjMTA5OTA6IFByZXZlbnQgdGVzdHMgZnJvbSBjbG9iYmVyaW5nIGEgc2V0IHRyYWNlIGZ1bmN0aW9uLgotCi1DLUFQSQotLS0tLS0KLQotLSBJc3N1ZSAjMTM0NTI6IFB5VW5pY29kZV9FbmNvZGVEZWNpbWFsKCkgZG9lc24ndCBzdXBwb3J0IGVycm9yIGhhbmRsZXJzCi0gIGRpZmZlcmVudCB0aGFuICJzdHJpY3QiIGFueW1vcmUuIFRoZSBjYWxsZXIgd2FzIHVuYWJsZSB0byBjb21wdXRlIHRoZQotICBzaXplIG9mIHRoZSBvdXRwdXQgYnVmZmVyOiBpdCBkZXBlbmRzIG9uIHRoZSBlcnJvciBoYW5kbGVyLgotCi0tIElzc3VlICMxMzU2MDogQWRkIFB5VW5pY29kZV9EZWNvZGVMb2NhbGUoKSwgUHlVbmljb2RlX0RlY29kZUxvY2FsZUFuZFNpemUoKQotICBhbmQgUHlVbmljb2RlX0VuY29kZUxvY2FsZSgpIGZ1bmN0aW9ucyB0byB0aGUgQyBBUEkgdG8gZGVjb2RlL2VuY29kZSBmcm9tL3RvCi0gIHRoZSBjdXJyZW50IGxvY2FsZSBlbmNvZGluZy4KLQotLSBJc3N1ZSAjMTA4MzE6IFB5VW5pY29kZV9Gcm9tRm9ybWF0KCkgc3VwcG9ydHMgJWxpLCAlbGxpIGFuZCAlemkgZm9ybWF0cy4KLQotLSBJc3N1ZSAjMTEyNDY6IEZpeCBQeVVuaWNvZGVfRnJvbUZvcm1hdCgiJVYiKSB0byBkZWNvZGUgdGhlIGJ5dGUgc3RyaW5nIGZyb20KLSAgVVRGLTggKHdpdGggcmVwbGFjZSBlcnJvciBoYW5kbGVyKSBpbnN0ZWFkIG9mIElTTy04ODU5LTEgKGluIHN0cmljdCBtb2RlKS4KLSAgUGF0Y2ggd3JpdHRlbiBieSBSYXkgQWxsZW4uCi0KLS0gSXNzdWUgIzEwODMwOiBGaXggUHlVbmljb2RlX0Zyb21Gb3JtYXRWKCIlYyIpIGZvciBub24tQk1QIGNoYXJhY3RlcnMgb24KLSAgbmFycm93IGJ1aWxkLgotCi0tIEFkZCBQeU9iamVjdF9HZW5lcmljR2V0RGljdCBhbmQgUHlPYmplY3RfR2VuZXJpU2V0RGljdC4gVGhleSBhcmUgZ2VuZXJpYwotICBpbXBsZW1lbnRhdGlvbnMgZm9yIHRoZSBnZXR0ZXIgYW5kIHNldHRlciBvZiBhIGBgX19kaWN0X19gYCBkZXNjcmlwdG9yIG9mIEMKLSAgdHlwZXMuCi0KLS0gSXNzdWUgIzEzNzI3OiBBZGQgMyBtYWNyb3MgdG8gYWNjZXNzIFB5RGF0ZVRpbWVfRGVsdGEgbWVtYmVyczoKLSAgUHlEYXRlVGltZV9ERUxUQV9HRVRfREFZUywgUHlEYXRlVGltZV9ERUxUQV9HRVRfU0VDT05EUywKLSAgUHlEYXRlVGltZV9ERUxUQV9HRVRfTUlDUk9TRUNPTkRTLgotCi0tIElzc3VlICMxMDU0MjogQWRkIDQgbWFjcm9zIHRvIHdvcmsgd2l0aCBzdXJyb2dhdGVzOiBQeV9VTklDT0RFX0lTX1NVUlJPR0FURSwKLSAgUHlfVU5JQ09ERV9JU19ISUdIX1NVUlJPR0FURSwgUHlfVU5JQ09ERV9JU19MT1dfU1VSUk9HQVRFLAotICBQeV9VTklDT0RFX0pPSU5fU1VSUk9HQVRFUy4KLQotLSBJc3N1ZSAjMTI3MjQ6IEFkZCBQeV9SRVRVUk5fTk9USU1QTEVNRU5URUQgbWFjcm8gZm9yIHJldHVybmluZyBOb3RJbXBsZW1lbnRlZC4KLQotLSBQWV9QQVRDSExFVkVMX1JFVklTSU9OIGhhcyBiZWVuIHJlbW92ZWQsIHNpbmNlIGl0J3MgbWVhbmluZ2xlc3Mgd2l0aAotICBNZXJjdXJpYWwuCi0KLS0gSXNzdWUgIzEyMTczOiBUaGUgZmlyc3QgYXJndW1lbnQgb2YgUHlJbXBvcnRfSW1wb3J0TW9kdWxlTGV2ZWwgaXMgbm93IGBjb25zdAotICBjaGFyICpgIGluc3RlYWQgb2YgYGNoYXIgKmAuCi0KLS0gSXNzdWUgIzEyMzgwOiBQeUFyZ19QYXJzZVR1cGxlIG5vdyBhY2NlcHRzIGEgYnl0ZWFycmF5IGZvciB0aGUgJ2MnIGZvcm1hdC4KLQotRG9jdW1lbnRhdGlvbgotLS0tLS0tLS0tLS0tLQotCi0tIElzc3VlICMyMzAwNjogSW1wcm92ZSB0aGUgZG9jdW1lbnRhdGlvbiBhbmQgaW5kZXhpbmcgb2YgZGljdC5fX21pc3NpbmdfXy4KLSAgQWRkIGFuIGVudHJ5IGluIHRoZSBsYW5ndWFnZSBkYXRhbW9kZWwgc3BlY2lhbCBtZXRob2RzIHNlY3Rpb24uCi0gIFJldmlzZSBhbmQgaW5kZXggaXRzIGRpc2N1c3Npb24gaW4gdGhlIHN0ZHR5cGVzIG1hcHBpbmcvZGljdCBzZWN0aW9uLgotCi0tIElzc3VlICMxMzk4OTogRG9jdW1lbnQgdGhhdCBHemlwRmlsZSBkb2VzIG5vdCBzdXBwb3J0IHRleHQgbW9kZSwgYW5kIGdpdmUgYQotICBtb3JlIGhlbHBmdWwgZXJyb3IgbWVzc2FnZSB3aGVuIG9wZW5lZCB3aXRoIGFuIGludmFsaWQgbW9kZSBzdHJpbmcuCi0KLS0gSXNzdWUgIzEzOTIxOiBVbmRvY3VtZW50IGFuZCBjbGVhbiB1cCBzcWxpdGUzLk9wdGltaXplZFVuaWNvZGUsCi0gIHdoaWNoIGlzIG9ic29sZXRlIGluIFB5dGhvbiAzLnguIEl0J3Mgbm93IGFsaWFzZWQgdG8gc3RyIGZvcgotICBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eS4KLQotLSBJc3N1ZSAjMTIxMDI6IERvY3VtZW50IHRoYXQgYnVmZmVyZWQgZmlsZXMgbXVzdCBiZSBmbHVzaGVkIGJlZm9yZSBiZWluZyB1c2VkCi0gIHdpdGggbW1hcC4gUGF0Y2ggYnkgU3RlZmZlbiBEYW9kZSBOdXJwbWVzby4KLQotLSBJc3N1ZSAjODk4MjogSW1wcm92ZSB0aGUgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIGFyZ3BhcnNlIE5hbWVzcGFjZSBvYmplY3QuCi0KLS0gSXNzdWUgIzkzNDM6IERvY3VtZW50IHRoYXQgYXJncGFyc2UgcGFyZW50IHBhcnNlcnMgbXVzdCBiZSBjb25maWd1cmVkIGJlZm9yZQotICB0aGVpciBjaGlsZHJlbi4KLQotLSBJc3N1ZSAjMTM0OTg6IENsYXJpZnkgZG9jcyBvZiBvcy5tYWtlZGlycygpJ3MgZXhpc3Rfb2sgYXJndW1lbnQuICBEb25lIHdpdGgKLSAgZ3JlYXQgbmF0aXZlLXNwZWFrZXIgaGVscCBmcm9tIFIuIERhdmlkIE11cnJheS4KLQotLSBJc3N1ZXMgIzEzNDkxIGFuZCAjMTM5OTU6IEZpeCBtYW55IGVycm9ycyBpbiBzcWxpdGUzIGRvY3VtZW50YXRpb24uCi0gIEluaXRpYWwgcGF0Y2ggZm9yICMxMzQ5MSBieSBKb2hhbm5lcyBWb2dlbC4KLQotLSBJc3N1ZSAjMTM0MDI6IERvY3VtZW50IGFic29sdXRlbmVzcyBvZiBzeXMuZXhlY3V0YWJsZS4KLQotLSBJc3N1ZSAjMTM4ODM6IFBZVEhPTkNBU0VPSyBhbHNvIHdvcmtzIG9uIE9TIFguCi0KLS0gSXNzdWUgIzkwMjE6IEFkZCBhbiBpbnRyb2R1Y3Rpb24gdG8gdGhlIGNvcHkgbW9kdWxlIGRvY3VtZW50YXRpb24uCi0KLS0gSXNzdWUgIzYwMDU6IEV4YW1wbGVzIGluIHRoZSBzb2NrZXQgbGlicmFyeSBkb2N1bWVudGF0aW9uIHVzZSBzZW5kYWxsLCB3aGVyZQotICByZWxldmFudCwgaW5zdGVhZCBzZW5kIG1ldGhvZC4KLQotLSBJc3N1ZSAjMTI3OTg6IFVwZGF0ZWQgdGhlIG1pbWV0eXBlcyBkb2N1bWVudGF0aW9uLgotCi0tIElzc3VlICMxMjk0OTogRG9jdW1lbnQgdGhlIGt3b25seWFyZ2NvdW50IGFyZ3VtZW50IGZvciB0aGUgUHlDb2RlX05ldwotICBDIEFQSSBmdW5jdGlvbi4KLQotLSBJc3N1ZSAjMTM1MTM6IEZpeCBpby5JT0Jhc2UgZG9jdW1lbnRhdGlvbiB0byBjb3JyZWN0bHkgbGluayB0byB0aGUKLSAgaW8uSU9CYXNlLnJlYWRsaW5lIG1ldGhvZCBpbnN0ZWFkIG9mIHRoZSByZWFkbGluZSBtb2R1bGUuCi0KLS0gSXNzdWUgIzEzMjM3OiBSZW9yZ2FuaXNlIHN1YnByb2Nlc3MgZG9jdW1lbnRhdGlvbiB0byBlbXBoYXNpc2UgY29udmVuaWVuY2UKLSAgZnVuY3Rpb25zIGFuZCB0aGUgbW9zdCBjb21tb25seSBuZWVkZWQgYXJndW1lbnRzIHRvIFBvcGVuLgotCi0tIElzc3VlICMxMzE0MTogRGVtb25zdHJhdGUgcmVjb21tZW5kZWQgc3R5bGUgZm9yIHNvY2tldHNlcnZlciBleGFtcGxlcy4KLQotLSBJc3N1ZSAjMTE4MTg6IEZpeCB0ZW1wZmlsZSBleGFtcGxlcyBmb3IgUHl0aG9uIDMuCi0KLQogKiooRm9yIGluZm9ybWF0aW9uIGFib3V0IG9sZGVyIHZlcnNpb25zLCBjb25zdWx0IHRoZSBISVNUT1JZIGZpbGUuKSoqCmRpZmYgLS1naXQgYS9NaXNjL2NvdmVyaXR5X21vZGVsLmMgYi9NaXNjL2NvdmVyaXR5X21vZGVsLmMKaW5kZXggNTdmM2FlYi4uNDIxZDU0ZCAxMDA2NDQKLS0tIGEvTWlzYy9jb3Zlcml0eV9tb2RlbC5jCisrKyBiL01pc2MvY292ZXJpdHlfbW9kZWwuYwpAQCAtODUsNyArODUsNyBAQAogfQogCiAvKiBQeXRob24vZmlsZXV0aWxzLmMgKi8KLXdjaGFyX3QgKl9QeV9jaGFyMndjaGFyKGNvbnN0IGNoYXIqIGFyZywgc2l6ZV90ICpzaXplKQord2NoYXJfdCAqUHlfRGVjb2RlTG9jYWxlKGNvbnN0IGNoYXIqIGFyZywgc2l6ZV90ICpzaXplKQogewogICAgd2NoYXJfdCAqdzsKICAgICBfX2NvdmVyaXR5X3RhaW50ZWRfZGF0YV9zaW5rX18oYXJnKTsKZGlmZiAtLWdpdCBhL01vZHVsZXMvUkVBRE1FIGIvTW9kdWxlcy9SRUFETUUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWI3OWY1MwotLS0gL2Rldi9udWxsCisrKyBiL01vZHVsZXMvUkVBRE1FCkBAIC0wLDAgKzEsMiBAQAorU291cmNlIGZpbGVzIGZvciBzdGFuZGFyZCBsaWJyYXJ5IGV4dGVuc2lvbiBtb2R1bGVzLAorYW5kIGZvcm1lciBleHRlbnNpb24gbW9kdWxlcyB0aGF0IGFyZSBub3cgYnVpbHRpbiBtb2R1bGVzLgpkaWZmIC0tZ2l0IGEvTW9kdWxlcy9TZXR1cC5jb25maWcuaW4gYi9Nb2R1bGVzL1NldHVwLmNvbmZpZy5pbgppbmRleCA1YWMyNDA0Li5hZGFjMDMwIDEwMDY0NAotLS0gYS9Nb2R1bGVzL1NldHVwLmNvbmZpZy5pbgorKysgYi9Nb2R1bGVzL1NldHVwLmNvbmZpZy5pbgpAQCAtNyw3ICs3LDcgQEAKIEBVU0VfVEhSRUFEX01PRFVMRUBfdGhyZWFkIF90aHJlYWRtb2R1bGUuYwogCiAjIFRoZSBzaWduYWwgbW9kdWxlCi1AVVNFX1NJR05BTF9NT0RVTEVAc2lnbmFsIHNpZ25hbG1vZHVsZS5jCitAVVNFX1NJR05BTF9NT0RVTEVAX3NpZ25hbCBzaWduYWxtb2R1bGUuYwogCiAjIFRoZSByZXN0IG9mIHRoZSBtb2R1bGVzIHByZXZpb3VzbHkgbGlzdGVkIGluIHRoaXMgZmlsZSBhcmUgYnVpbHQKICMgYnkgdGhlIHNldHVwLnB5IHNjcmlwdCBpbiBQeXRob24gMi4xIGFuZCBsYXRlci4KZGlmZiAtLWdpdCBhL01vZHVsZXMvU2V0dXAuZGlzdCBiL01vZHVsZXMvU2V0dXAuZGlzdAppbmRleCAwMWZiODVmLi5lZTg0ZGY0IDEwMDY0NAotLS0gYS9Nb2R1bGVzL1NldHVwLmRpc3QKKysrIGIvTW9kdWxlcy9TZXR1cC5kaXN0CkBAIC0xMTgsNiArMTE4LDcgQEAKIGl0ZXJ0b29scyBpdGVydG9vbHNtb2R1bGUuYyAgICAjIEZ1bmN0aW9ucyBjcmVhdGluZyBpdGVyYXRvcnMgZm9yIGVmZmljaWVudCBsb29waW5nCiBhdGV4aXQgYXRleGl0bW9kdWxlLmMgICAgICAjIFJlZ2lzdGVyIGZ1bmN0aW9ucyB0byBiZSBydW4gYXQgaW50ZXJwcmV0ZXItc2h1dGRvd24KIF9zdGF0IF9zdGF0LmMJCQkjIHN0YXQuaCBpbnRlcmZhY2UKK3RpbWUgdGltZW1vZHVsZS5jCQkjIHRpbWUgbW9kdWxlCiAKICMgYWNjZXNzIHRvIElTTyBDIGxvY2FsZSBzdXBwb3J0CiBfbG9jYWxlIF9sb2NhbGVtb2R1bGUuYyAgIyAtbGludGwKZGlmZiAtLWdpdCBhL01vZHVsZXMvX2J6Mm1vZHVsZS5jIGIvTW9kdWxlcy9fYnoybW9kdWxlLmMKaW5kZXggZTY1MmY0ZC4uNGYyYWZkYSAxMDA2NDQKLS0tIGEvTW9kdWxlcy9fYnoybW9kdWxlLmMKKysrIGIvTW9kdWxlcy9fYnoybW9kdWxlLmMKQEAgLTE4OCw3ICsxODgsNyBAQAogICAgICAgICBpZiAoYWN0aW9uID09IEJaX0ZJTklTSCAmJiBiemVycm9yID09IEJaX1NUUkVBTV9FTkQpCiAgICAgICAgICAgICBicmVhazsKICAgICB9Ci0gICAgaWYgKGRhdGFfc2l6ZSAhPSBQeUJ5dGVzX0dFVF9TSVpFKHJlc3VsdCkpCisgICAgaWYgKGRhdGFfc2l6ZSAhPSAoc2l6ZV90KVB5Qnl0ZXNfR0VUX1NJWkUocmVzdWx0KSkKICAgICAgICAgaWYgKF9QeUJ5dGVzX1Jlc2l6ZSgmcmVzdWx0LCBkYXRhX3NpemUpIDwgMCkKICAgICAgICAgICAgIGdvdG8gZXJyb3I7CiAgICAgcmV0dXJuIHJlc3VsdDsKQEAgLTQ1Nyw3ICs0NTcsNyBAQAogICAgICAgICAgICAgZC0+YnpzLmF2YWlsX291dCA9ICh1bnNpZ25lZCBpbnQpUHlfTUlOKGJ1ZmZlcl9sZWZ0LCBVSU5UX01BWCk7CiAgICAgICAgIH0KICAgICB9Ci0gICAgaWYgKGRhdGFfc2l6ZSAhPSBQeUJ5dGVzX0dFVF9TSVpFKHJlc3VsdCkpCisgICAgaWYgKGRhdGFfc2l6ZSAhPSAoc2l6ZV90KVB5Qnl0ZXNfR0VUX1NJWkUocmVzdWx0KSkKICAgICAgICAgaWYgKF9QeUJ5dGVzX1Jlc2l6ZSgmcmVzdWx0LCBkYXRhX3NpemUpIDwgMCkKICAgICAgICAgICAgIGdvdG8gZXJyb3I7CiAgICAgcmV0dXJuIHJlc3VsdDsKZGlmZiAtLWdpdCBhL01vZHVsZXMvX2NvZGVjc21vZHVsZS5jIGIvTW9kdWxlcy9fY29kZWNzbW9kdWxlLmMKaW5kZXggNTJmMzQ3OS4uYmY0MDhhZiAxMDA2NDQKLS0tIGEvTW9kdWxlcy9fY29kZWNzbW9kdWxlLmMKKysrIGIvTW9kdWxlcy9fY29kZWNzbW9kdWxlLmMKQEAgLTk1LDEzICs5NSwxNSBAQAogY29kZWNzLnJlZ2lzdGVyX2Vycm9yIHRoYXQgY2FuIGhhbmRsZSBWYWx1ZUVycm9ycy4iKTsKIAogc3RhdGljIFB5T2JqZWN0ICoKLWNvZGVjX2VuY29kZShQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCitjb2RlY19lbmNvZGUoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQogeworICAgIHN0YXRpYyBjaGFyICprd2xpc3RbXSA9IHsib2JqIiwgImVuY29kaW5nIiwgImVycm9ycyIsIE5VTEx9OwogICAgIGNvbnN0IGNoYXIgKmVuY29kaW5nID0gTlVMTDsKICAgICBjb25zdCBjaGFyICplcnJvcnMgPSBOVUxMOwogICAgIFB5T2JqZWN0ICp2OwogCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJPfHNzOmVuY29kZSIsICZ2LCAmZW5jb2RpbmcsICZlcnJvcnMpKQorICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywgIk98c3M6ZW5jb2RlIiwga3dsaXN0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZ2LCAmZW5jb2RpbmcsICZlcnJvcnMpKQogICAgICAgICByZXR1cm4gTlVMTDsKIAogICAgIGlmIChlbmNvZGluZyA9PSBOVUxMKQpAQCAtMTIyLDEzICsxMjQsMTUgQEAKIGFibGUgdG8gaGFuZGxlIFZhbHVlRXJyb3JzLiIpOwogCiBzdGF0aWMgUHlPYmplY3QgKgotY29kZWNfZGVjb2RlKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK2NvZGVjX2RlY29kZShQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCiB7CisgICAgc3RhdGljIGNoYXIgKmt3bGlzdFtdID0geyJvYmoiLCAiZW5jb2RpbmciLCAiZXJyb3JzIiwgTlVMTH07CiAgICAgY29uc3QgY2hhciAqZW5jb2RpbmcgPSBOVUxMOwogICAgIGNvbnN0IGNoYXIgKmVycm9ycyA9IE5VTEw7CiAgICAgUHlPYmplY3QgKnY7CiAKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgIk98c3M6ZGVjb2RlIiwgJnYsICZlbmNvZGluZywgJmVycm9ycykpCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLCAiT3xzczpkZWNvZGUiLCBrd2xpc3QsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnYsICZlbmNvZGluZywgJmVycm9ycykpCiAgICAgICAgIHJldHVybiBOVUxMOwogCiAgICAgaWYgKGVuY29kaW5nID09IE5VTEwpCkBAIC03NTAsNyArNzU0LDcgQEAKICAgICAgICAgdSA9IFB5VW5pY29kZV9Bc1VuaWNvZGVBbmRTaXplKG9iaiwgJmxlbik7CiAgICAgICAgIGlmICh1ID09IE5VTEwpCiAgICAgICAgICAgICByZXR1cm4gTlVMTDsKLSAgICAgICAgaWYgKGxlbiA+IFBZX1NTSVpFX1RfTUFYIC8gc2l6ZW9mKFB5X1VOSUNPREUpKQorICAgICAgICBpZiAoKHNpemVfdClsZW4gPiAoc2l6ZV90KVBZX1NTSVpFX1RfTUFYIC8gc2l6ZW9mKFB5X1VOSUNPREUpKQogICAgICAgICAgICAgcmV0dXJuIFB5RXJyX05vTWVtb3J5KCk7CiAgICAgICAgIHNpemUgPSBsZW4gKiBzaXplb2YoUHlfVU5JQ09ERSk7CiAgICAgICAgIHJldHVybiBjb2RlY190dXBsZShQeUJ5dGVzX0Zyb21TdHJpbmdBbmRTaXplKChjb25zdCBjaGFyKil1LCBzaXplKSwKQEAgLTExNzksOSArMTE4Myw5IEBACiAgICAgICAgIHJlZ2lzdGVyX19kb2NfX30sCiAgICAgeyJsb29rdXAiLCAgICAgICAgICAgICAgICAgIGNvZGVjX2xvb2t1cCwgICAgICAgICAgICAgICAgICAgTUVUSF9WQVJBUkdTLAogICAgICAgICBsb29rdXBfX2RvY19ffSwKLSAgICB7ImVuY29kZSIsICAgICAgICAgICAgICAgICAgY29kZWNfZW5jb2RlLCAgICAgICAgICAgICAgICAgICBNRVRIX1ZBUkFSR1MsCisgICAgeyJlbmNvZGUiLCAgICAgKFB5Q0Z1bmN0aW9uKWNvZGVjX2VuY29kZSwgICAgIE1FVEhfVkFSQVJHU3xNRVRIX0tFWVdPUkRTLAogICAgICAgICBlbmNvZGVfX2RvY19ffSwKLSAgICB7ImRlY29kZSIsICAgICAgICAgICAgICAgICAgY29kZWNfZGVjb2RlLCAgICAgICAgICAgICAgICAgICBNRVRIX1ZBUkFSR1MsCisgICAgeyJkZWNvZGUiLCAgICAgKFB5Q0Z1bmN0aW9uKWNvZGVjX2RlY29kZSwgICAgIE1FVEhfVkFSQVJHU3xNRVRIX0tFWVdPUkRTLAogICAgICAgICBkZWNvZGVfX2RvY19ffSwKICAgICB7ImVzY2FwZV9lbmNvZGUiLCAgICAgICAgICAgZXNjYXBlX2VuY29kZSwgICAgICAgICAgICAgICAgICBNRVRIX1ZBUkFSR1N9LAogICAgIHsiZXNjYXBlX2RlY29kZSIsICAgICAgICAgICBlc2NhcGVfZGVjb2RlLCAgICAgICAgICAgICAgICAgIE1FVEhfVkFSQVJHU30sCmRpZmYgLS1naXQgYS9Nb2R1bGVzL19jb2xsZWN0aW9uc21vZHVsZS5jIGIvTW9kdWxlcy9fY29sbGVjdGlvbnNtb2R1bGUuYwppbmRleCBjMWFhOWEzLi5kM2IwMjg3IDEwMDY0NAotLS0gYS9Nb2R1bGVzL19jb2xsZWN0aW9uc21vZHVsZS5jCisrKyBiL01vZHVsZXMvX2NvbGxlY3Rpb25zbW9kdWxlLmMKQEAgLTMsNyArMyw3IEBACiAKIC8qIGNvbGxlY3Rpb25zIG1vZHVsZSBpbXBsZW1lbnRhdGlvbiBvZiBhIGRlcXVlKCkgZGF0YXR5cGUKICAgIFdyaXR0ZW4gYW5kIG1haW50YWluZWQgYnkgUmF5bW9uZCBELiBIZXR0aW5nZXIgPHB5dGhvbkByY24uY29tPgotICAgQ29weXJpZ2h0IChjKSAyMDA0LTIwMTMgUHl0aG9uIFNvZnR3YXJlIEZvdW5kYXRpb24uCisgICBDb3B5cmlnaHQgKGMpIDIwMDQtMjAxNSBQeXRob24gU29mdHdhcmUgRm91bmRhdGlvbi4KICAgIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAqLwogCkBAIC0xNDUsNiArMTQ1LDEyIEBACiAKIHN0YXRpYyBQeVR5cGVPYmplY3QgZGVxdWVfdHlwZTsKIAorLyogWFhYIFRvZG86IAorICAgSWYgYWxpZ25lZCBtZW1vcnkgYWxsb2NhdGlvbnMgYmVjb21lIGF2YWlsYWJsZSwgbWFrZSB0aGUKKyAgIGRlcXVlIG9iamVjdCA2NCBieXRlIGFsaWduZWQgc28gdGhhdCBhbGwgb2YgdGhlIGZpZWxkcworICAgY2FuIGJlIHJldHJpZXZlZCBvciB1cGRhdGVkIGluIGEgc2luZ2xlIGNhY2hlIGxpbmUuCisqLworCiBzdGF0aWMgUHlPYmplY3QgKgogZGVxdWVfbmV3KFB5VHlwZU9iamVjdCAqdHlwZSwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2RzKQogewpAQCAtNDU0LDYgKzQ2MCwzMSBAQAogICAgIHJldHVybiAoUHlPYmplY3QgKilkZXF1ZTsKIH0KIAorLyogVGhlIHJvdGF0ZSgpIG1ldGhvZCBpcyBwYXJ0IG9mIHRoZSBwdWJsaWMgQVBJIGFuZCBpcyB1c2VkIGludGVybmFsbHkKK2FzIGEgcHJpbWl0aXZlIGZvciBvdGhlciBtZXRob2RzLgorCitSb3RhdGlvbiBieSAxIG9yIC0xIGlzIGEgY29tbW9uIGNhc2UsIHNvIGFueSBvcHRpbWl6YXRpb25zIGZvciBoaWdoCit2b2x1bWUgcm90YXRpb25zIHNob3VsZCB0YWtlIGNhcmUgbm90IHRvIHBlbmFsaXplIHRoZSBjb21tb24gY2FzZS4KKworQ29uY2VwdHVhbGx5LCBhIHJvdGF0ZSBieSBvbmUgaXMgZXF1aXZhbGVudCB0byBhIHBvcCBvbiBvbmUgc2lkZSBhbmQgYW4KK2FwcGVuZCBvbiB0aGUgb3RoZXIuICBIb3dldmVyLCBhIHBvcC9hcHBlbmQgcGFpciBpcyB1bm5lY2Vzc2FyaWx5IHNsb3cKK2JlY2F1c2UgaXQgcmVxdWlyZXMgYSBpbmNyZWYvZGVjcmVmIHBhaXIgZm9yIGFuIG9iamVjdCBsb2NhdGVkIHJhbmRvbWx5CitpbiBtZW1vcnkuICBJdCBpcyBiZXR0ZXIgdG8ganVzdCBtb3ZlIHRoZSBvYmplY3QgcG9pbnRlciBmcm9tIG9uZSBibG9jawordG8gdGhlIG5leHQgd2l0aG91dCBjaGFuZ2luZyB0aGUgcmVmZXJlbmNlIGNvdW50LgorCitXaGVuIG1vdmluZyBiYXRjaGVzIG9mIHBvaW50ZXJzLCBpdCBpcyB0ZW1wdGluZyB0byB1c2UgbWVtY3B5KCkgYnV0IHRoYXQKK3Byb3ZlZCB0byBiZSBzbG93ZXIgdGhhbiBhIHNpbXBsZSBsb29wIGZvciBhIHZhcmlldHkgb2YgcmVhc29ucy4KK01lbWNweSgpIGNhbm5vdCBrbm93IGluIGFkdmFuY2UgdGhhdCB3ZSdyZSBjb3B5aW5nIHBvaW50ZXJzIGluc3RlYWQgb2YKK2J5dGVzLCB0aGF0IHRoZSBzb3VyY2UgYW5kIGRlc3RpbmF0aW9uIGFyZSBwb2ludGVyIGFsaWduZWQgYW5kCitub24tb3ZlcmxhcHBpbmcsIHRoYXQgbW92aW5nIGp1c3Qgb25lIHBvaW50ZXIgaXMgYSBjb21tb24gY2FzZSwgdGhhdCB3ZQorbmV2ZXIgbmVlZCB0byBtb3ZlIG1vcmUgdGhhbiBCTE9DS0xFTiBwb2ludGVycywgYW5kIHRoYXQgYXQgbGVhc3Qgb25lCitwb2ludGVyIGlzIGFsd2F5cyBtb3ZlZC4KKworRm9yIGhpZ2ggdm9sdW1lIHJvdGF0aW9ucywgbmV3YmxvY2soKSBhbmQgZnJlZWJsb2NrKCkgYXJlIG5ldmVyIGNhbGxlZAorbW9yZSB0aGFuIG9uY2UuICBQcmV2aW91c2x5IGVtcHRpZWQgYmxvY2tzIGFyZSBpbW1lZGlhdGVseSByZXVzZWQgYXMgYQorZGVzdGluYXRpb24gYmxvY2suICBJZiBhIGJsb2NrIGlzIGxlZnQtb3ZlciBhdCB0aGUgZW5kLCBpdCBpcyBmcmVlZC4KKyovCisKIHN0YXRpYyBpbnQKIF9kZXF1ZV9yb3RhdGUoZGVxdWVvYmplY3QgKmRlcXVlLCBQeV9zc2l6ZV90IG4pCiB7CkBAIC01MDMsMTMgKzUzNCwxMyBAQAogICAgICAgICAgICAgaWYgKG0gPiBsZWZ0aW5kZXgpCiAgICAgICAgICAgICAgICAgbSA9IGxlZnRpbmRleDsKICAgICAgICAgICAgIGFzc2VydCAobSA+IDAgJiYgbSA8PSBsZW4pOwotICAgICAgICAgICAgc3JjID0gJnJpZ2h0YmxvY2stPmRhdGFbcmlnaHRpbmRleF07Ci0gICAgICAgICAgICBkZXN0ID0gJmxlZnRibG9jay0+ZGF0YVtsZWZ0aW5kZXggLSAxXTsKICAgICAgICAgICAgIHJpZ2h0aW5kZXggLT0gbTsKICAgICAgICAgICAgIGxlZnRpbmRleCAtPSBtOworICAgICAgICAgICAgc3JjID0gJnJpZ2h0YmxvY2stPmRhdGFbcmlnaHRpbmRleCArIDFdOworICAgICAgICAgICAgZGVzdCA9ICZsZWZ0YmxvY2stPmRhdGFbbGVmdGluZGV4XTsKICAgICAgICAgICAgIG4gLT0gbTsKICAgICAgICAgICAgIGRvIHsKLSAgICAgICAgICAgICAgICAqKGRlc3QtLSkgPSAqKHNyYy0tKTsKKyAgICAgICAgICAgICAgICAqKGRlc3QrKykgPSAqKHNyYysrKTsKICAgICAgICAgICAgIH0gd2hpbGUgKC0tbSk7CiAgICAgICAgIH0KICAgICAgICAgaWYgKHJpZ2h0aW5kZXggPT0gLTEpIHsKQEAgLTE4MDAsMTkgKzE4MzEsNDAgQEAKICAgICBpZiAobWFwcGluZ19nZXQgIT0gTlVMTCAmJiBtYXBwaW5nX2dldCA9PSBkaWN0X2dldCAmJgogICAgICAgICBtYXBwaW5nX3NldGl0ZW0gIT0gTlVMTCAmJiBtYXBwaW5nX3NldGl0ZW0gPT0gZGljdF9zZXRpdGVtKSB7CiAgICAgICAgIHdoaWxlICgxKSB7CisgICAgICAgICAgICAvKiBGYXN0IHBhdGggYWR2YW50YWdlczoKKyAgICAgICAgICAgICAgICAgICAxLiBFbGltaW5hdGUgZG91YmxlIGhhc2hpbmcKKyAgICAgICAgICAgICAgICAgICAgICAoYnkgcmUtdXNpbmcgdGhlIHNhbWUgaGFzaCBmb3IgYm90aCB0aGUgZ2V0IGFuZCBzZXQpCisgICAgICAgICAgICAgICAgICAgMi4gQXZvaWQgYXJndW1lbnQgb3ZlcmhlYWQgb2YgUHlPYmplY3RfQ2FsbEZ1bmN0aW9uT2JqQXJncworICAgICAgICAgICAgICAgICAgICAgIChhcmd1bWVudCB0dXBsZSBjcmVhdGlvbiBhbmQgcGFyc2luZykKKyAgICAgICAgICAgICAgICAgICAzLiBBdm9pZCBpbmRpcmVjdGlvbiB0aHJvdWdoIGEgYm91bmQgbWV0aG9kIG9iamVjdAorICAgICAgICAgICAgICAgICAgICAgIChjcmVhdGVzIGFub3RoZXIgYXJndW1lbnQgdHVwbGUpCisgICAgICAgICAgICAgICAgICAgNC4gQXZvaWQgaW5pdGlhbCBpbmNyZW1lbnQgZnJvbSB6ZXJvCisgICAgICAgICAgICAgICAgICAgICAgKHJldXNlIGFuIGV4aXN0aW5nIG9uZS1vYmplY3QgaW5zdGVhZCkKKyAgICAgICAgICAgICovCisgICAgICAgICAgICBQeV9oYXNoX3QgaGFzaDsKKwogICAgICAgICAgICAga2V5ID0gUHlJdGVyX05leHQoaXQpOwogICAgICAgICAgICAgaWYgKGtleSA9PSBOVUxMKQogICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgb2xkdmFsID0gUHlEaWN0X0dldEl0ZW0obWFwcGluZywga2V5KTsKKworICAgICAgICAgICAgaWYgKCFQeVVuaWNvZGVfQ2hlY2tFeGFjdChrZXkpIHx8CisgICAgICAgICAgICAgICAgKGhhc2ggPSAoKFB5QVNDSUlPYmplY3QgKikga2V5KS0+aGFzaCkgPT0gLTEpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgaGFzaCA9IFB5T2JqZWN0X0hhc2goa2V5KTsKKyAgICAgICAgICAgICAgICBpZiAoaGFzaCA9PSAtMSkgCisgICAgICAgICAgICAgICAgICAgIGdvdG8gZG9uZTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgb2xkdmFsID0gX1B5RGljdF9HZXRJdGVtX0tub3duSGFzaChtYXBwaW5nLCBrZXksIGhhc2gpOwogICAgICAgICAgICAgaWYgKG9sZHZhbCA9PSBOVUxMKSB7Ci0gICAgICAgICAgICAgICAgaWYgKFB5RGljdF9TZXRJdGVtKG1hcHBpbmcsIGtleSwgb25lKSA9PSAtMSkKLSAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgaWYgKF9QeURpY3RfU2V0SXRlbV9Lbm93bkhhc2gobWFwcGluZywga2V5LCBvbmUsIGhhc2gpID09IC0xKQorICAgICAgICAgICAgICAgICAgICBnb3RvIGRvbmU7CiAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgIG5ld3ZhbCA9IFB5TnVtYmVyX0FkZChvbGR2YWwsIG9uZSk7CiAgICAgICAgICAgICAgICAgaWYgKG5ld3ZhbCA9PSBOVUxMKQotICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgICAgICBpZiAoUHlEaWN0X1NldEl0ZW0obWFwcGluZywga2V5LCBuZXd2YWwpID09IC0xKQotICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICAgICAgZ290byBkb25lOworICAgICAgICAgICAgICAgIGlmIChfUHlEaWN0X1NldEl0ZW1fS25vd25IYXNoKG1hcHBpbmcsIGtleSwgbmV3dmFsLCBoYXNoKSA9PSAtMSkKKyAgICAgICAgICAgICAgICAgICAgZ290byBkb25lOwogICAgICAgICAgICAgICAgIFB5X0NMRUFSKG5ld3ZhbCk7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBQeV9ERUNSRUYoa2V5KTsKZGlmZiAtLWdpdCBhL01vZHVsZXMvX2Nzdi5jIGIvTW9kdWxlcy9fY3N2LmMKaW5kZXggYzg3NjdkMS4uYWRlMzVlNSAxMDA2NDQKLS0tIGEvTW9kdWxlcy9fY3N2LmMKKysrIGIvTW9kdWxlcy9fY3N2LmMKQEAgLTI0OCw3ICsyNDgsNyBAQAogICAgICAgICAgICAgbGVuID0gUHlVbmljb2RlX0dldExlbmd0aChzcmMpOwogICAgICAgICAgICAgaWYgKGxlbiA+IDEpIHsKICAgICAgICAgICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVHlwZUVycm9yLAotICAgICAgICAgICAgICAgICAgICAiXCIlc1wiIG11c3QgYmUgYW4gMS1jaGFyYWN0ZXIgc3RyaW5nIiwKKyAgICAgICAgICAgICAgICAgICAgIlwiJXNcIiBtdXN0IGJlIGEgMS1jaGFyYWN0ZXIgc3RyaW5nIiwKICAgICAgICAgICAgICAgICAgICAgbmFtZSk7CiAgICAgICAgICAgICAgICAgcmV0dXJuIC0xOwogICAgICAgICAgICAgfQpAQCAtMjkwLDcgKzI5MCw3IEBACiAgICAgU3R5bGVEZXNjICpxczsKIAogICAgIGZvciAocXMgPSBxdW90ZV9zdHlsZXM7IHFzLT5uYW1lOyBxcysrKSB7Ci0gICAgICAgIGlmIChxcy0+c3R5bGUgPT0gcXVvdGluZykKKyAgICAgICAgaWYgKChpbnQpcXMtPnN0eWxlID09IHF1b3RpbmcpCiAgICAgICAgICAgICByZXR1cm4gMDsKICAgICB9CiAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX1R5cGVFcnJvciwgImJhZCBcInF1b3RpbmdcIiB2YWx1ZSIpOwpAQCAtNDMyLDcgKzQzMiw3IEBACiAgICAgICAgIGdvdG8gZXJyOwogICAgIGlmIChzZWxmLT5kZWxpbWl0ZXIgPT0gMCkgewogICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLAotICAgICAgICAgICAgICAgICAgICAgICAgIlwiZGVsaW1pdGVyXCIgbXVzdCBiZSBhbiAxLWNoYXJhY3RlciBzdHJpbmciKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICJcImRlbGltaXRlclwiIG11c3QgYmUgYSAxLWNoYXJhY3RlciBzdHJpbmciKTsKICAgICAgICAgZ290byBlcnI7CiAgICAgfQogICAgIGlmIChxdW90ZWNoYXIgPT0gUHlfTm9uZSAmJiBxdW90aW5nID09IE5VTEwpCmRpZmYgLS1naXQgYS9Nb2R1bGVzL19jdHlwZXMvX2N0eXBlcy5jIGIvTW9kdWxlcy9fY3R5cGVzL19jdHlwZXMuYwppbmRleCAxNGVjNGNlLi4yM2I4ZTkzIDEwMDY0NAotLS0gYS9Nb2R1bGVzL19jdHlwZXMvX2N0eXBlcy5jCisrKyBiL01vZHVsZXMvX2N0eXBlcy9fY3R5cGVzLmMKQEAgLTMwMSw3ICszMDEsNyBAQAogICAgIGNoYXIgKm5ld19wcmVmaXg7CiAgICAgY2hhciAqcmVzdWx0OwogICAgIGNoYXIgYnVmWzMyXTsKLSAgICBpbnQgcHJlZml4X2xlbjsKKyAgICBQeV9zc2l6ZV90IHByZWZpeF9sZW47CiAgICAgaW50IGs7CiAKICAgICBwcmVmaXhfbGVuID0gMzIgKiBuZGltICsgMzsKZGlmZiAtLWdpdCBhL01vZHVsZXMvX2N0eXBlcy9jYWxscHJvYy5jIGIvTW9kdWxlcy9fY3R5cGVzL2NhbGxwcm9jLmMKaW5kZXggOGRhZWZmYy4uMDNhOTExZiAxMDA2NDQKLS0tIGEvTW9kdWxlcy9fY3R5cGVzL2NhbGxwcm9jLmMKKysrIGIvTW9kdWxlcy9fY3R5cGVzL2NhbGxwcm9jLmMKQEAgLTE2MDMsNyArMTYwMyw3IEBACiAgICAgICAgICAgICAgICAgICAgICAiTWVtb3J5IGNhbm5vdCBiZSByZXNpemVkIGJlY2F1c2UgdGhpcyBvYmplY3QgZG9lc24ndCBvd24gaXQiKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQotICAgIGlmIChzaXplIDw9IHNpemVvZihvYmotPmJfdmFsdWUpKSB7CisgICAgaWYgKChzaXplX3Qpc2l6ZSA8PSBzaXplb2Yob2JqLT5iX3ZhbHVlKSkgewogICAgICAgICAvKiBpbnRlcm5hbCBkZWZhdWx0IGJ1ZmZlciBpcyBsYXJnZSBlbm91Z2ggKi8KICAgICAgICAgb2JqLT5iX3NpemUgPSBzaXplOwogICAgICAgICBnb3RvIGRvbmU7CmRpZmYgLS1naXQgYS9Nb2R1bGVzL19jdHlwZXMvbGliZmZpX21zdmMvZmZpLmMgYi9Nb2R1bGVzL19jdHlwZXMvbGliZmZpX21zdmMvZmZpLmMKaW5kZXggNzZjYjAzZS4uYjc1ODZjNyAxMDA2NDQKLS0tIGEvTW9kdWxlcy9fY3R5cGVzL2xpYmZmaV9tc3ZjL2ZmaS5jCisrKyBiL01vZHVsZXMvX2N0eXBlcy9saWJmZmlfbXN2Yy9mZmkuYwpAQCAtNjUsMzcgKzY1LDU2IEBACiAJYXJncCA9IChjaGFyICopIEFMSUdOKGFyZ3AsIHNpemVvZih2b2lkICopKTsKIAogICAgICAgeiA9ICgqcF9hcmcpLT5zaXplOwotICAgICAgaWYgKHogPCBzaXplb2YoaW50KSkKKyAgICAgIGlmICh6IDwgc2l6ZW9mKGludHB0cl90KSkKIAl7Ci0JICB6ID0gc2l6ZW9mKGludCk7CisJICB6ID0gc2l6ZW9mKGludHB0cl90KTsKIAkgIHN3aXRjaCAoKCpwX2FyZyktPnR5cGUpCiAJICAgIHsKIAkgICAgY2FzZSBGRklfVFlQRV9TSU5UODoKLQkgICAgICAqKHNpZ25lZCBpbnQgKikgYXJncCA9IChzaWduZWQgaW50KSooU0lOVDggKikoKiBwX2FyZ3YpOworCSAgICAgICooaW50cHRyX3QgKikgYXJncCA9IChpbnRwdHJfdCkqKFNJTlQ4ICopKCogcF9hcmd2KTsKIAkgICAgICBicmVhazsKIAogCSAgICBjYXNlIEZGSV9UWVBFX1VJTlQ4OgotCSAgICAgICoodW5zaWduZWQgaW50ICopIGFyZ3AgPSAodW5zaWduZWQgaW50KSooVUlOVDggKikoKiBwX2FyZ3YpOworCSAgICAgICoodWludHB0cl90ICopIGFyZ3AgPSAodWludHB0cl90KSooVUlOVDggKikoKiBwX2FyZ3YpOwogCSAgICAgIGJyZWFrOwogCiAJICAgIGNhc2UgRkZJX1RZUEVfU0lOVDE2OgotCSAgICAgICooc2lnbmVkIGludCAqKSBhcmdwID0gKHNpZ25lZCBpbnQpKihTSU5UMTYgKikoKiBwX2FyZ3YpOworCSAgICAgICooaW50cHRyX3QgKikgYXJncCA9IChpbnRwdHJfdCkqKFNJTlQxNiAqKSgqIHBfYXJndik7CiAJICAgICAgYnJlYWs7CiAKIAkgICAgY2FzZSBGRklfVFlQRV9VSU5UMTY6Ci0JICAgICAgKih1bnNpZ25lZCBpbnQgKikgYXJncCA9ICh1bnNpZ25lZCBpbnQpKihVSU5UMTYgKikoKiBwX2FyZ3YpOworCSAgICAgICoodWludHB0cl90ICopIGFyZ3AgPSAodWludHB0cl90KSooVUlOVDE2ICopKCogcF9hcmd2KTsKIAkgICAgICBicmVhazsKIAogCSAgICBjYXNlIEZGSV9UWVBFX1NJTlQzMjoKLQkgICAgICAqKHNpZ25lZCBpbnQgKikgYXJncCA9IChzaWduZWQgaW50KSooU0lOVDMyICopKCogcF9hcmd2KTsKKwkgICAgICAqKGludHB0cl90ICopIGFyZ3AgPSAoaW50cHRyX3QpKihTSU5UMzIgKikoKiBwX2FyZ3YpOwogCSAgICAgIGJyZWFrOwogCiAJICAgIGNhc2UgRkZJX1RZUEVfVUlOVDMyOgotCSAgICAgICoodW5zaWduZWQgaW50ICopIGFyZ3AgPSAodW5zaWduZWQgaW50KSooVUlOVDMyICopKCogcF9hcmd2KTsKKwkgICAgICAqKHVpbnRwdHJfdCAqKSBhcmdwID0gKHVpbnRwdHJfdCkqKFVJTlQzMiAqKSgqIHBfYXJndik7CisJICAgICAgYnJlYWs7CisKKwkgICAgY2FzZSBGRklfVFlQRV9GTE9BVDoKKwkgICAgICAqKHVpbnRwdHJfdCAqKSBhcmdwID0gMDsKKwkgICAgICAqKGZsb2F0ICopIGFyZ3AgPSAqKGZsb2F0ICopKCogcF9hcmd2KTsKKwkgICAgICBicmVhazsKKworCSAgICAvLyA2NC1iaXQgdmFsdWUgY2FzZXMgc2hvdWxkIG5ldmVyIGJlIHVzZWQgZm9yIHg4NiBhbmQgQU1ENjQgYnVpbGRzCisJICAgIGNhc2UgRkZJX1RZUEVfU0lOVDY0OgorCSAgICAgICooaW50cHRyX3QgKikgYXJncCA9IChpbnRwdHJfdCkqKFNJTlQ2NCAqKSgqIHBfYXJndik7CisJICAgICAgYnJlYWs7CisKKwkgICAgY2FzZSBGRklfVFlQRV9VSU5UNjQ6CisJICAgICAgKih1aW50cHRyX3QgKikgYXJncCA9ICh1aW50cHRyX3QpKihVSU5UNjQgKikoKiBwX2FyZ3YpOwogCSAgICAgIGJyZWFrOwogCiAJICAgIGNhc2UgRkZJX1RZUEVfU1RSVUNUOgotCSAgICAgICoodW5zaWduZWQgaW50ICopIGFyZ3AgPSAodW5zaWduZWQgaW50KSooVUlOVDMyICopKCogcF9hcmd2KTsKKwkgICAgICAqKHVpbnRwdHJfdCAqKSBhcmdwID0gKHVpbnRwdHJfdCkqKFVJTlQzMiAqKSgqIHBfYXJndik7CisJICAgICAgYnJlYWs7CisKKwkgICAgY2FzZSBGRklfVFlQRV9ET1VCTEU6CisJICAgICAgKih1aW50cHRyX3QgKikgYXJncCA9IDA7CisJICAgICAgKihkb3VibGUgKikgYXJncCA9ICooZG91YmxlICopKCogcF9hcmd2KTsKIAkgICAgICBicmVhazsKIAogCSAgICBkZWZhdWx0OgpkaWZmIC0tZ2l0IGEvTW9kdWxlcy9fY3Vyc2VzbW9kdWxlLmMgYi9Nb2R1bGVzL19jdXJzZXNtb2R1bGUuYwppbmRleCA1ZmZjZTJmLi42Yjc3ODY4IDEwMDY0NAotLS0gYS9Nb2R1bGVzL19jdXJzZXNtb2R1bGUuYworKysgYi9Nb2R1bGVzL19jdXJzZXNtb2R1bGUuYwpAQCAtMjY3NSw3ICsyNjc1LDcgQEAKICAgICB9CiAgICAga25wID0ga2V5bmFtZShjaCk7CiAKLSAgICByZXR1cm4gUHlCeXRlc19Gcm9tU3RyaW5nKChrbnAgPT0gTlVMTCkgPyAiIiA6IChjaGFyICopa25wKTsKKyAgICByZXR1cm4gUHlCeXRlc19Gcm9tU3RyaW5nKChrbnAgPT0gTlVMTCkgPyAiIiA6IGtucCk7CiB9CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvTW9kdWxlcy9fZGF0ZXRpbWVtb2R1bGUuYyBiL01vZHVsZXMvX2RhdGV0aW1lbW9kdWxlLmMKaW5kZXggZDgyMjViYS4uNzAxYzU4NyAxMDA2NDQKLS0tIGEvTW9kdWxlcy9fZGF0ZXRpbWVtb2R1bGUuYworKysgYi9Nb2R1bGVzL19kYXRldGltZW1vZHVsZS5jCkBAIC0zODA1LDI5ICszODA1LDYgQEAKICAgICByZXR1cm4gY2xvbmU7CiB9CiAKLXN0YXRpYyBpbnQKLXRpbWVfYm9vbChQeU9iamVjdCAqc2VsZikKLXsKLSAgICBQeU9iamVjdCAqb2Zmc2V0LCAqdHppbmZvOwotICAgIGludCBvZmZzZWNzID0gMDsKLQotICAgIGlmIChUSU1FX0dFVF9TRUNPTkQoc2VsZikgfHwgVElNRV9HRVRfTUlDUk9TRUNPTkQoc2VsZikpIHsKLSAgICAgICAgLyogU2luY2UgdXRjb2Zmc2V0IGlzIGluIHdob2xlIG1pbnV0ZXMsIG5vdGhpbmcgY2FuCi0gICAgICAgICAqIGFsdGVyIHRoZSBjb25jbHVzaW9uIHRoYXQgdGhpcyBpcyBub256ZXJvLgotICAgICAgICAgKi8KLSAgICAgICAgcmV0dXJuIDE7Ci0gICAgfQotICAgIHR6aW5mbyA9IEdFVF9USU1FX1RaSU5GTyhzZWxmKTsKLSAgICBpZiAodHppbmZvICE9IFB5X05vbmUpIHsKLSAgICAgICAgb2Zmc2V0ID0gY2FsbF91dGNvZmZzZXQodHppbmZvLCBQeV9Ob25lKTsKLSAgICAgICAgaWYgKG9mZnNldCA9PSBOVUxMKQotICAgICAgICAgICAgcmV0dXJuIC0xOwotICAgICAgICBvZmZzZWNzID0gR0VUX1REX0RBWVMob2Zmc2V0KSo4NjQwMCArIEdFVF9URF9TRUNPTkRTKG9mZnNldCk7Ci0gICAgICAgIFB5X0RFQ1JFRihvZmZzZXQpOwotICAgIH0KLSAgICByZXR1cm4gKFRJTUVfR0VUX01JTlVURShzZWxmKSo2MCAtIG9mZnNlY3MgKyBUSU1FX0dFVF9IT1VSKHNlbGYpKjM2MDApICE9IDA7Ci19Ci0KIC8qIFBpY2tsZSBzdXBwb3J0LCBhIHNpbXBsZSB1c2Ugb2YgX19yZWR1Y2VfXy4gKi8KIAogLyogTGV0IGJhc2VzdGF0ZSBiZSB0aGUgbm9uLXR6aW5mbyBkYXRhIHN0cmluZy4KQEAgLTM4OTUsMTkgKzM4NzIsNiBAQAogQWxsIGFyZ3VtZW50cyBhcmUgb3B0aW9uYWwuIHR6aW5mbyBtYXkgYmUgTm9uZSwgb3IgYW4gaW5zdGFuY2Ugb2ZcblwKIGEgdHppbmZvIHN1YmNsYXNzLiBUaGUgcmVtYWluaW5nIGFyZ3VtZW50cyBtYXkgYmUgaW50cy5cbiIpOwogCi1zdGF0aWMgUHlOdW1iZXJNZXRob2RzIHRpbWVfYXNfbnVtYmVyID0gewotICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogbmJfYWRkICovCi0gICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBuYl9zdWJ0cmFjdCAqLwotICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogbmJfbXVsdGlwbHkgKi8KLSAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIG5iX3JlbWFpbmRlciAqLwotICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogbmJfZGl2bW9kICovCi0gICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBuYl9wb3dlciAqLwotICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogbmJfbmVnYXRpdmUgKi8KLSAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIG5iX3Bvc2l0aXZlICovCi0gICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBuYl9hYnNvbHV0ZSAqLwotICAgIChpbnF1aXJ5KXRpbWVfYm9vbCwgICAgICAgICAgICAgICAgICAgICAgICAgLyogbmJfYm9vbCAqLwotfTsKLQogc3RhdGljIFB5VHlwZU9iamVjdCBQeURhdGVUaW1lX1RpbWVUeXBlID0gewogICAgIFB5VmFyT2JqZWN0X0hFQURfSU5JVChOVUxMLCAwKQogICAgICJkYXRldGltZS50aW1lIiwgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfbmFtZSAqLwpAQCAtMzkxOSw3ICszODgzLDcgQEAKICAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX3NldGF0dHIgKi8KICAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX3Jlc2VydmVkICovCiAgICAgKHJlcHJmdW5jKXRpbWVfcmVwciwgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9yZXByICovCi0gICAgJnRpbWVfYXNfbnVtYmVyLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9hc19udW1iZXIgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2FzX251bWJlciAqLwogICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfYXNfc2VxdWVuY2UgKi8KICAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2FzX21hcHBpbmcgKi8KICAgICAoaGFzaGZ1bmMpdGltZV9oYXNoLCAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2hhc2ggKi8KZGlmZiAtLWdpdCBhL01vZHVsZXMvX2RlY2ltYWwvX2RlY2ltYWwuYyBiL01vZHVsZXMvX2RlY2ltYWwvX2RlY2ltYWwuYwppbmRleCBmMDAwODg3Li4xNjk5MTRjIDEwMDY0NAotLS0gYS9Nb2R1bGVzL19kZWNpbWFsL19kZWNpbWFsLmMKKysrIGIvTW9kdWxlcy9fZGVjaW1hbC9fZGVjaW1hbC5jCkBAIC01NjQwLDcgKzU2NDAsNyBAQAogICAgICAgICAgICAgZ290byBlcnJvcjsgLyogR0NPVl9OT1RfUkVBQ0hFRCAqLwogICAgICAgICB9CiAKLSAgICAgICAgQVNTSUdOX1BUUihjbS0+ZXgsIFB5RXJyX05ld0V4Y2VwdGlvbigoY2hhciAqKWNtLT5mcW5hbWUsIGJhc2UsIE5VTEwpKTsKKyAgICAgICAgQVNTSUdOX1BUUihjbS0+ZXgsIFB5RXJyX05ld0V4Y2VwdGlvbihjbS0+ZnFuYW1lLCBiYXNlLCBOVUxMKSk7CiAgICAgICAgIFB5X0RFQ1JFRihiYXNlKTsKIAogICAgICAgICAvKiBhZGQgdG8gbW9kdWxlICovCkBAIC01NjcyLDcgKzU2NzIsNyBAQAogICAgICAgICAgICAgZ290byBlcnJvcjsgLyogR0NPVl9OT1RfUkVBQ0hFRCAqLwogICAgICAgICB9CiAKLSAgICAgICAgQVNTSUdOX1BUUihjbS0+ZXgsIFB5RXJyX05ld0V4Y2VwdGlvbigoY2hhciAqKWNtLT5mcW5hbWUsIGJhc2UsIE5VTEwpKTsKKyAgICAgICAgQVNTSUdOX1BUUihjbS0+ZXgsIFB5RXJyX05ld0V4Y2VwdGlvbihjbS0+ZnFuYW1lLCBiYXNlLCBOVUxMKSk7CiAgICAgICAgIFB5X0RFQ1JFRihiYXNlKTsKIAogICAgICAgICBQeV9JTkNSRUYoY20tPmV4KTsKZGlmZiAtLWdpdCBhL01vZHVsZXMvX2RlY2ltYWwvZG9jc3RyaW5ncy5oIGIvTW9kdWxlcy9fZGVjaW1hbC9kb2NzdHJpbmdzLmgKaW5kZXggYTY0OTBiOS4uNzEwMjlhOSAxMDA2NDQKLS0tIGEvTW9kdWxlcy9fZGVjaW1hbC9kb2NzdHJpbmdzLmgKKysrIGIvTW9kdWxlcy9fZGVjaW1hbC9kb2NzdHJpbmdzLmgKQEAgLTE5LDI2ICsxOSwzMCBAQAogUHlEb2NfU1RSVkFSKGRvY19fZGVjaW1hbCwKICJDIGRlY2ltYWwgYXJpdGhtZXRpYyBtb2R1bGUiKTsKIAotUHlEb2NfU1RSVkFSKGRvY19nZXRjb250ZXh0LCJcblwKLWdldGNvbnRleHQoKSAtIEdldCB0aGUgY3VycmVudCBkZWZhdWx0IGNvbnRleHQuXG5cCitQeURvY19TVFJWQVIoZG9jX2dldGNvbnRleHQsCisiZ2V0Y29udGV4dCgkbW9kdWxlLCAvKVxuLS1cblxuXAorR2V0IHRoZSBjdXJyZW50IGRlZmF1bHQgY29udGV4dC5cblwKIFxuIik7CiAKLVB5RG9jX1NUUlZBUihkb2Nfc2V0Y29udGV4dCwiXG5cCi1zZXRjb250ZXh0KGMpIC0gU2V0IGEgbmV3IGRlZmF1bHQgY29udGV4dC5cblwKK1B5RG9jX1NUUlZBUihkb2Nfc2V0Y29udGV4dCwKKyJzZXRjb250ZXh0KCRtb2R1bGUsIGNvbnRleHQsIC8pXG4tLVxuXG5cCitTZXQgYSBuZXcgZGVmYXVsdCBjb250ZXh0LlxuXAogXG4iKTsKIAotUHlEb2NfU1RSVkFSKGRvY19sb2NhbGNvbnRleHQsIlxuXAotbG9jYWxjb250ZXh0KGN0eD1Ob25lKSAtIFJldHVybiBhIGNvbnRleHQgbWFuYWdlciB0aGF0IHdpbGwgc2V0IHRoZSBkZWZhdWx0XG5cCi1jb250ZXh0IHRvIGEgY29weSBvZiBjdHggb24gZW50cnkgdG8gdGhlIHdpdGgtc3RhdGVtZW50IGFuZCByZXN0b3JlIHRoZVxuXAotcHJldmlvdXMgZGVmYXVsdCBjb250ZXh0IHdoZW4gZXhpdGluZyB0aGUgd2l0aC1zdGF0ZW1lbnQuIElmIG5vIGNvbnRleHQgaXNcblwKLXNwZWNpZmllZCwgYSBjb3B5IG9mIHRoZSBjdXJyZW50IGRlZmF1bHQgY29udGV4dCBpcyB1c2VkLlxuXAorUHlEb2NfU1RSVkFSKGRvY19sb2NhbGNvbnRleHQsCisibG9jYWxjb250ZXh0KCRtb2R1bGUsIC8sIGN0eD1Ob25lKVxuLS1cblxuXAorUmV0dXJuIGEgY29udGV4dCBtYW5hZ2VyIHRoYXQgd2lsbCBzZXQgdGhlIGRlZmF1bHQgY29udGV4dCB0byBhIGNvcHkgb2YgY3R4XG5cCitvbiBlbnRyeSB0byB0aGUgd2l0aC1zdGF0ZW1lbnQgYW5kIHJlc3RvcmUgdGhlIHByZXZpb3VzIGRlZmF1bHQgY29udGV4dCB3aGVuXG5cCitleGl0aW5nIHRoZSB3aXRoLXN0YXRlbWVudC4gSWYgbm8gY29udGV4dCBpcyBzcGVjaWZpZWQsIGEgY29weSBvZiB0aGUgY3VycmVudFxuXAorZGVmYXVsdCBjb250ZXh0IGlzIHVzZWQuXG5cCiBcbiIpOwogCiAjaWZkZWYgRVhUUkFfRlVOQ1RJT05BTElUWQotUHlEb2NfU1RSVkFSKGRvY19pZWVlX2NvbnRleHQsIlxuXAotSUVFRUNvbnRleHQoYml0cykgLSBSZXR1cm4gYSBjb250ZXh0IG9iamVjdCBpbml0aWFsaXplZCB0byB0aGUgcHJvcGVyIHZhbHVlcyBmb3JcblwKLW9uZSBvZiB0aGUgSUVFRSBpbnRlcmNoYW5nZSBmb3JtYXRzLiBUaGUgYXJndW1lbnQgbXVzdCBiZSBhIG11bHRpcGxlIG9mIDMyIGFuZFxuXAotbGVzcyB0aGFuIElFRUVfQ09OVEVYVF9NQVhfQklUUy4gRm9yIHRoZSBtb3N0IGNvbW1vbiB2YWx1ZXMsIHRoZSBjb25zdGFudHNcblwKK1B5RG9jX1NUUlZBUihkb2NfaWVlZV9jb250ZXh0LAorIklFRUVDb250ZXh0KCRtb2R1bGUsIGJpdHMsIC8pXG4tLVxuXG5cCitSZXR1cm4gYSBjb250ZXh0IG9iamVjdCBpbml0aWFsaXplZCB0byB0aGUgcHJvcGVyIHZhbHVlcyBmb3Igb25lIG9mIHRoZVxuXAorSUVFRSBpbnRlcmNoYW5nZSBmb3JtYXRzLiAgVGhlIGFyZ3VtZW50IG11c3QgYmUgYSBtdWx0aXBsZSBvZiAzMiBhbmQgbGVzc1xuXAordGhhbiBJRUVFX0NPTlRFWFRfTUFYX0JJVFMuICBGb3IgdGhlIG1vc3QgY29tbW9uIHZhbHVlcywgdGhlIGNvbnN0YW50c1xuXAogREVDSU1BTDMyLCBERUNJTUFMNjQgYW5kIERFQ0lNQUwxMjggYXJlIHByb3ZpZGVkLlxuXAogXG4iKTsKICNlbmRpZgpAQCAtNDgsMzIgKzUyLDM0IEBACiAvKiAgICAgICAgICAgICAgICAgICAgICAgRGVjaW1hbCBPYmplY3QgYW5kIE1ldGhvZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAqLwogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KIAotUHlEb2NfU1RSVkFSKGRvY19kZWNpbWFsLCJcblwKLURlY2ltYWwodmFsdWU9XCIwXCIsIGNvbnRleHQ9Tm9uZSk6IENvbnN0cnVjdCBhIG5ldyBEZWNpbWFsIG9iamVjdC5cblwKLXZhbHVlIGNhbiBiZSBhbiBpbnRlZ2VyLCBzdHJpbmcsIHR1cGxlLCBvciBhbm90aGVyIERlY2ltYWwgb2JqZWN0LlxuXAotSWYgbm8gdmFsdWUgaXMgZ2l2ZW4sIHJldHVybiBEZWNpbWFsKCcwJykuIFRoZSBjb250ZXh0IGRvZXMgbm90IGFmZmVjdFxuXAotdGhlIGNvbnZlcnNpb24gYW5kIGlzIG9ubHkgcGFzc2VkIHRvIGRldGVybWluZSBpZiB0aGUgSW52YWxpZE9wZXJhdGlvblxuXAotdHJhcCBpcyBhY3RpdmUuXG5cCitQeURvY19TVFJWQVIoZG9jX2RlY2ltYWwsCisiRGVjaW1hbCh2YWx1ZT1cIjBcIiwgY29udGV4dD1Ob25lKVxuLS1cblxuXAorQ29uc3RydWN0IGEgbmV3IERlY2ltYWwgb2JqZWN0LiAndmFsdWUnIGNhbiBiZSBhbiBpbnRlZ2VyLCBzdHJpbmcsIHR1cGxlLFxuXAorb3IgYW5vdGhlciBEZWNpbWFsIG9iamVjdC4gSWYgbm8gdmFsdWUgaXMgZ2l2ZW4sIHJldHVybiBEZWNpbWFsKCcwJykuIFRoZVxuXAorY29udGV4dCBkb2VzIG5vdCBhZmZlY3QgdGhlIGNvbnZlcnNpb24gYW5kIGlzIG9ubHkgcGFzc2VkIHRvIGRldGVybWluZSBpZlxuXAordGhlIEludmFsaWRPcGVyYXRpb24gdHJhcCBpcyBhY3RpdmUuXG5cCiBcbiIpOwogCi1QeURvY19TVFJWQVIoZG9jX2FkanVzdGVkLCJcblwKLWFkanVzdGVkKCkgLSBSZXR1cm4gdGhlIGFkanVzdGVkIGV4cG9uZW50IG9mIHRoZSBudW1iZXIuXG5cCi1cblwKLURlZmluZWQgYXMgZXhwICsgZGlnaXRzIC0gMS5cblwKK1B5RG9jX1NUUlZBUihkb2NfYWRqdXN0ZWQsCisiYWRqdXN0ZWQoJHNlbGYsIC8pXG4tLVxuXG5cCitSZXR1cm4gdGhlIGFkanVzdGVkIGV4cG9uZW50IG9mIHRoZSBudW1iZXIuICBEZWZpbmVkIGFzIGV4cCArIGRpZ2l0cyAtIDEuXG5cCiBcbiIpOwogCi1QeURvY19TVFJWQVIoZG9jX2FzX3R1cGxlLCJcblwKLWFzX3R1cGxlKCkgLSBSZXR1cm4gYSB0dXBsZSByZXByZXNlbnRhdGlvbiBvZiB0aGUgbnVtYmVyLlxuXAorUHlEb2NfU1RSVkFSKGRvY19hc190dXBsZSwKKyJhc190dXBsZSgkc2VsZiwgLylcbi0tXG5cblwKK1JldHVybiBhIHR1cGxlIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBudW1iZXIuXG5cCiBcbiIpOwogCi1QeURvY19TVFJWQVIoZG9jX2Nhbm9uaWNhbCwiXG5cCi1jYW5vbmljYWwoKSAtIFJldHVybiB0aGUgY2Fub25pY2FsIGVuY29kaW5nIG9mIHRoZSBhcmd1bWVudC4gQ3VycmVudGx5LFxuXAotdGhlIGVuY29kaW5nIG9mIGEgRGVjaW1hbCBpbnN0YW5jZSBpcyBhbHdheXMgY2Fub25pY2FsLCBzbyB0aGlzIG9wZXJhdGlvblxuXAotcmV0dXJucyBpdHMgYXJndW1lbnQgdW5jaGFuZ2VkLlxuXAorUHlEb2NfU1RSVkFSKGRvY19jYW5vbmljYWwsCisiY2Fub25pY2FsKCRzZWxmLCAvKVxuLS1cblxuXAorUmV0dXJuIHRoZSBjYW5vbmljYWwgZW5jb2Rpbmcgb2YgdGhlIGFyZ3VtZW50LiAgQ3VycmVudGx5LCB0aGUgZW5jb2RpbmdcblwKK29mIGEgRGVjaW1hbCBpbnN0YW5jZSBpcyBhbHdheXMgY2Fub25pY2FsLCBzbyB0aGlzIG9wZXJhdGlvbiByZXR1cm5zIGl0c1xuXAorYXJndW1lbnQgdW5jaGFuZ2VkLlxuXAogXG4iKTsKIAotUHlEb2NfU1RSVkFSKGRvY19jb21wYXJlLCJcblwKLWNvbXBhcmUob3RoZXIsIGNvbnRleHQ9Tm9uZSkgLSBDb21wYXJlIHNlbGYgdG8gb3RoZXIuIFJldHVybiBhIGRlY2ltYWwgdmFsdWU6XG5cCitQeURvY19TVFJWQVIoZG9jX2NvbXBhcmUsCisiY29tcGFyZSgkc2VsZiwgLywgb3RoZXIsIGNvbnRleHQ9Tm9uZSlcbi0tXG5cblwKK0NvbXBhcmUgc2VsZiB0byBvdGhlci4gIFJldHVybiBhIGRlY2ltYWwgdmFsdWU6XG5cCiBcblwKICAgICBhIG9yIGIgaXMgYSBOYU4gPT0+IERlY2ltYWwoJ05hTicpXG5cCiAgICAgYSA8IGIgICAgICAgICAgID09PiBEZWNpbWFsKCctMScpXG5cCkBAIC04MSwxNyArODcsMTggQEAKICAgICBhID4gYiAgICAgICAgICAgPT0+IERlY2ltYWwoJzEnKVxuXAogXG4iKTsKIAotUHlEb2NfU1RSVkFSKGRvY19jb21wYXJlX3NpZ25hbCwiXG5cCi1jb21wYXJlX3NpZ25hbChvdGhlciwgY29udGV4dD1Ob25lKSAtIElkZW50aWNhbCB0byBjb21wYXJlLCBleGNlcHQgdGhhdFxuXAotYWxsIE5hTnMgc2lnbmFsLlxuXAorUHlEb2NfU1RSVkFSKGRvY19jb21wYXJlX3NpZ25hbCwKKyJjb21wYXJlX3NpZ25hbCgkc2VsZiwgLywgb3RoZXIsIGNvbnRleHQ9Tm9uZSlcbi0tXG5cblwKK0lkZW50aWNhbCB0byBjb21wYXJlLCBleGNlcHQgdGhhdCBhbGwgTmFOcyBzaWduYWwuXG5cCiBcbiIpOwogCi1QeURvY19TVFJWQVIoZG9jX2NvbXBhcmVfdG90YWwsIlxuXAotY29tcGFyZV90b3RhbChvdGhlciwgY29udGV4dD1Ob25lKSAtIENvbXBhcmUgdHdvIG9wZXJhbmRzIHVzaW5nIHRoZWlyXG5cCi1hYnN0cmFjdCByZXByZXNlbnRhdGlvbiByYXRoZXIgdGhhbiB0aGVpciBudW1lcmljYWwgdmFsdWUuIFNpbWlsYXIgdG8gdGhlXG5cCi1jb21wYXJlKCkgbWV0aG9kLCBidXQgdGhlIHJlc3VsdCBnaXZlcyBhIHRvdGFsIG9yZGVyaW5nIG9uIERlY2ltYWwgaW5zdGFuY2VzLlxuXAotVHdvIERlY2ltYWwgaW5zdGFuY2VzIHdpdGggdGhlIHNhbWUgbnVtZXJpYyB2YWx1ZSBidXQgZGlmZmVyZW50IHJlcHJlc2VudGF0aW9uc1xuXAotY29tcGFyZSB1bmVxdWFsIGluIHRoaXMgb3JkZXJpbmc6XG5cCitQeURvY19TVFJWQVIoZG9jX2NvbXBhcmVfdG90YWwsCisiY29tcGFyZV90b3RhbCgkc2VsZiwgLywgb3RoZXIsIGNvbnRleHQ9Tm9uZSlcbi0tXG5cblwKK0NvbXBhcmUgdHdvIG9wZXJhbmRzIHVzaW5nIHRoZWlyIGFic3RyYWN0IHJlcHJlc2VudGF0aW9uIHJhdGhlciB0aGFuXG5cCit0aGVpciBudW1lcmljYWwgdmFsdWUuICBTaW1pbGFyIHRvIHRoZSBjb21wYXJlKCkgbWV0aG9kLCBidXQgdGhlIHJlc3VsdFxuXAorZ2l2ZXMgYSB0b3RhbCBvcmRlcmluZyBvbiBEZWNpbWFsIGluc3RhbmNlcy4gIFR3byBEZWNpbWFsIGluc3RhbmNlcyB3aXRoXG5cCit0aGUgc2FtZSBudW1lcmljIHZhbHVlIGJ1dCBkaWZmZXJlbnQgcmVwcmVzZW50YXRpb25zIGNvbXBhcmUgdW5lcXVhbFxuXAoraW4gdGhpcyBvcmRlcmluZzpcblwKIFxuXAogICAgID4+PiBEZWNpbWFsKCcxMi4wJykuY29tcGFyZV90b3RhbChEZWNpbWFsKCcxMicpKVxuXAogICAgIERlY2ltYWwoJy0xJylcblwKQEAgLTEwNywzNiArMTE0LDM5IEBACiBJbnZhbGlkT3BlcmF0aW9uIGlmIHRoZSBzZWNvbmQgb3BlcmFuZCBjYW5ub3QgYmUgY29udmVydGVkIGV4YWN0bHkuXG5cCiBcbiIpOwogCi1QeURvY19TVFJWQVIoZG9jX2NvbXBhcmVfdG90YWxfbWFnLCJcblwKLWNvbXBhcmVfdG90YWxfbWFnKG90aGVyLCBjb250ZXh0PU5vbmUpIC0gQ29tcGFyZSB0d28gb3BlcmFuZHMgdXNpbmcgdGhlaXJcblwKLWFic3RyYWN0IHJlcHJlc2VudGF0aW9uIHJhdGhlciB0aGFuIHRoZWlyIHZhbHVlIGFzIGluIGNvbXBhcmVfdG90YWwoKSwgYnV0XG5cCi1pZ25vcmluZyB0aGUgc2lnbiBvZiBlYWNoIG9wZXJhbmQuIHguY29tcGFyZV90b3RhbF9tYWcoeSkgaXMgZXF1aXZhbGVudCB0b1xuXAoteC5jb3B5X2FicygpLmNvbXBhcmVfdG90YWwoeS5jb3B5X2FicygpKS5cblwKK1B5RG9jX1NUUlZBUihkb2NfY29tcGFyZV90b3RhbF9tYWcsCisiY29tcGFyZV90b3RhbF9tYWcoJHNlbGYsIC8sIG90aGVyLCBjb250ZXh0PU5vbmUpXG4tLVxuXG5cCitDb21wYXJlIHR3byBvcGVyYW5kcyB1c2luZyB0aGVpciBhYnN0cmFjdCByZXByZXNlbnRhdGlvbiByYXRoZXIgdGhhbiB0aGVpclxuXAordmFsdWUgYXMgaW4gY29tcGFyZV90b3RhbCgpLCBidXQgaWdub3JpbmcgdGhlIHNpZ24gb2YgZWFjaCBvcGVyYW5kLlxuXAorXG5cCit4LmNvbXBhcmVfdG90YWxfbWFnKHkpIGlzIGVxdWl2YWxlbnQgdG8geC5jb3B5X2FicygpLmNvbXBhcmVfdG90YWwoeS5jb3B5X2FicygpKS5cblwKIFxuXAogVGhpcyBvcGVyYXRpb24gaXMgdW5hZmZlY3RlZCBieSBjb250ZXh0IGFuZCBpcyBxdWlldDogbm8gZmxhZ3MgYXJlIGNoYW5nZWRcblwKIGFuZCBubyByb3VuZGluZyBpcyBwZXJmb3JtZWQuIEFzIGFuIGV4Y2VwdGlvbiwgdGhlIEMgdmVyc2lvbiBtYXkgcmFpc2VcblwKIEludmFsaWRPcGVyYXRpb24gaWYgdGhlIHNlY29uZCBvcGVyYW5kIGNhbm5vdCBiZSBjb252ZXJ0ZWQgZXhhY3RseS5cblwKIFxuIik7CiAKLVB5RG9jX1NUUlZBUihkb2NfY29uanVnYXRlLCJcblwKLWNvbmp1Z2F0ZSgpIC0gUmV0dXJuIHNlbGYuXG5cCitQeURvY19TVFJWQVIoZG9jX2Nvbmp1Z2F0ZSwKKyJjb25qdWdhdGUoJHNlbGYsIC8pXG4tLVxuXG5cCitSZXR1cm4gc2VsZi5cblwKIFxuIik7CiAKLVB5RG9jX1NUUlZBUihkb2NfY29weV9hYnMsIlxuXAotY29weV9hYnMoKSAtIFJldHVybiB0aGUgYWJzb2x1dGUgdmFsdWUgb2YgdGhlIGFyZ3VtZW50LiBUaGlzIG9wZXJhdGlvblxuXAotaXMgdW5hZmZlY3RlZCBieSBjb250ZXh0IGFuZCBpcyBxdWlldDogbm8gZmxhZ3MgYXJlIGNoYW5nZWQgYW5kIG5vIHJvdW5kaW5nXG5cCi1pcyBwZXJmb3JtZWQuXG5cCitQeURvY19TVFJWQVIoZG9jX2NvcHlfYWJzLAorImNvcHlfYWJzKCRzZWxmLCAvKVxuLS1cblxuXAorUmV0dXJuIHRoZSBhYnNvbHV0ZSB2YWx1ZSBvZiB0aGUgYXJndW1lbnQuICBUaGlzIG9wZXJhdGlvbiBpcyB1bmFmZmVjdGVkIGJ5XG5cCitjb250ZXh0IGFuZCBpcyBxdWlldDogbm8gZmxhZ3MgYXJlIGNoYW5nZWQgYW5kIG5vIHJvdW5kaW5nIGlzIHBlcmZvcm1lZC5cblwKIFxuIik7CiAKLVB5RG9jX1NUUlZBUihkb2NfY29weV9uZWdhdGUsIlxuXAotY29weV9uZWdhdGUoKSAtIFJldHVybiB0aGUgbmVnYXRpb24gb2YgdGhlIGFyZ3VtZW50LiBUaGlzIG9wZXJhdGlvbiBpc1xuXAotdW5hZmZlY3RlZCBieSBjb250ZXh0IGFuZCBpcyBxdWlldDogbm8gZmxhZ3MgYXJlIGNoYW5nZWQgYW5kIG5vIHJvdW5kaW5nXG5cCi1pcyBwZXJmb3JtZWQuXG5cCitQeURvY19TVFJWQVIoZG9jX2NvcHlfbmVnYXRlLAorImNvcHlfbmVnYXRlKCRzZWxmLCAvKVxuLS1cblxuXAorUmV0dXJuIHRoZSBuZWdhdGlvbiBvZiB0aGUgYXJndW1lbnQuICBUaGlzIG9wZXJhdGlvbiBpcyB1bmFmZmVjdGVkIGJ5IGNvbnRleHRcblwKK2FuZCBpcyBxdWlldDogbm8gZmxhZ3MgYXJlIGNoYW5nZWQgYW5kIG5vIHJvdW5kaW5nIGlzIHBlcmZvcm1lZC5cblwKIFxuIik7CiAKLVB5RG9jX1NUUlZBUihkb2NfY29weV9zaWduLCJcblwKLWNvcHlfc2lnbihvdGhlciwgY29udGV4dD1Ob25lKSAtIFJldHVybiBhIGNvcHkgb2YgdGhlIGZpcnN0IG9wZXJhbmQgd2l0aFxuXAotdGhlIHNpZ24gc2V0IHRvIGJlIHRoZSBzYW1lIGFzIHRoZSBzaWduIG9mIHRoZSBzZWNvbmQgb3BlcmFuZC4gRm9yIGV4YW1wbGU6XG5cCitQeURvY19TVFJWQVIoZG9jX2NvcHlfc2lnbiwKKyJjb3B5X3NpZ24oJHNlbGYsIC8sIG90aGVyLCBjb250ZXh0PU5vbmUpXG4tLVxuXG5cCitSZXR1cm4gYSBjb3B5IG9mIHRoZSBmaXJzdCBvcGVyYW5kIHdpdGggdGhlIHNpZ24gc2V0IHRvIGJlIHRoZSBzYW1lIGFzIHRoZVxuXAorc2lnbiBvZiB0aGUgc2Vjb25kIG9wZXJhbmQuIEZvciBleGFtcGxlOlxuXAogXG5cCiAgICAgPj4+IERlY2ltYWwoJzIuMycpLmNvcHlfc2lnbihEZWNpbWFsKCctMS41JykpXG5cCiAgICAgRGVjaW1hbCgnLTIuMycpXG5cCkBAIC0xNDYsMTQgKzE1NiwxNiBAQAogSW52YWxpZE9wZXJhdGlvbiBpZiB0aGUgc2Vjb25kIG9wZXJhbmQgY2Fubm90IGJlIGNvbnZlcnRlZCBleGFjdGx5LlxuXAogXG4iKTsKIAotUHlEb2NfU1RSVkFSKGRvY19leHAsIlxuXAotZXhwKGNvbnRleHQ9Tm9uZSkgLSBSZXR1cm4gdGhlIHZhbHVlIG9mIHRoZSAobmF0dXJhbCkgZXhwb25lbnRpYWwgZnVuY3Rpb25cblwKLWUqKnggYXQgdGhlIGdpdmVuIG51bWJlci4gVGhlIGZ1bmN0aW9uIGFsd2F5cyB1c2VzIHRoZSBST1VORF9IQUxGX0VWRU4gbW9kZVxuXAotYW5kIHRoZSByZXN1bHQgaXMgY29ycmVjdGx5IHJvdW5kZWQuXG5cCitQeURvY19TVFJWQVIoZG9jX2V4cCwKKyJleHAoJHNlbGYsIC8sIGNvbnRleHQ9Tm9uZSlcbi0tXG5cblwKK1JldHVybiB0aGUgdmFsdWUgb2YgdGhlIChuYXR1cmFsKSBleHBvbmVudGlhbCBmdW5jdGlvbiBlKip4IGF0IHRoZSBnaXZlblxuXAorbnVtYmVyLiAgVGhlIGZ1bmN0aW9uIGFsd2F5cyB1c2VzIHRoZSBST1VORF9IQUxGX0VWRU4gbW9kZSBhbmQgdGhlIHJlc3VsdFxuXAoraXMgY29ycmVjdGx5IHJvdW5kZWQuXG5cCiBcbiIpOwogCi1QeURvY19TVFJWQVIoZG9jX2Zyb21fZmxvYXQsIlxuXAotZnJvbV9mbG9hdChmKSAtIENsYXNzIG1ldGhvZCB0aGF0IGNvbnZlcnRzIGEgZmxvYXQgdG8gYSBkZWNpbWFsIG51bWJlciwgZXhhY3RseS5cblwKK1B5RG9jX1NUUlZBUihkb2NfZnJvbV9mbG9hdCwKKyJmcm9tX2Zsb2F0KCR0eXBlLCBmLCAvKVxuLS1cblxuXAorQ2xhc3MgbWV0aG9kIHRoYXQgY29udmVydHMgYSBmbG9hdCB0byBhIGRlY2ltYWwgbnVtYmVyLCBleGFjdGx5LlxuXAogU2luY2UgMC4xIGlzIG5vdCBleGFjdGx5IHJlcHJlc2VudGFibGUgaW4gYmluYXJ5IGZsb2F0aW5nIHBvaW50LFxuXAogRGVjaW1hbC5mcm9tX2Zsb2F0KDAuMSkgaXMgbm90IHRoZSBzYW1lIGFzIERlY2ltYWwoJzAuMScpLlxuXAogXG5cCkBAIC0xNjgsMTU1ICsxODAsMTc2IEBACiBcblwKIFxuIik7CiAKLVB5RG9jX1NUUlZBUihkb2NfZm1hLCJcblwKLWZtYShvdGhlciwgdGhpcmQsIGNvbnRleHQ9Tm9uZSkgLSBGdXNlZCBtdWx0aXBseS1hZGQuIFJldHVybiBzZWxmKm90aGVyK3RoaXJkXG5cCi13aXRoIG5vIHJvdW5kaW5nIG9mIHRoZSBpbnRlcm1lZGlhdGUgcHJvZHVjdCBzZWxmKm90aGVyLlxuXAorUHlEb2NfU1RSVkFSKGRvY19mbWEsCisiZm1hKCRzZWxmLCAvLCBvdGhlciwgdGhpcmQsIGNvbnRleHQ9Tm9uZSlcbi0tXG5cblwKK0Z1c2VkIG11bHRpcGx5LWFkZC4gIFJldHVybiBzZWxmKm90aGVyK3RoaXJkIHdpdGggbm8gcm91bmRpbmcgb2YgdGhlXG5cCitpbnRlcm1lZGlhdGUgcHJvZHVjdCBzZWxmKm90aGVyLlxuXAogXG5cCiAgICAgPj4+IERlY2ltYWwoMikuZm1hKDMsIDUpXG5cCiAgICAgRGVjaW1hbCgnMTEnKVxuXAogXG5cCiBcbiIpOwogCi1QeURvY19TVFJWQVIoZG9jX2lzX2Nhbm9uaWNhbCwiXG5cCi1pc19jYW5vbmljYWwoKSAtIFJldHVybiBUcnVlIGlmIHRoZSBhcmd1bWVudCBpcyBjYW5vbmljYWwgYW5kIEZhbHNlIG90aGVyd2lzZS5cblwKLUN1cnJlbnRseSwgYSBEZWNpbWFsIGluc3RhbmNlIGlzIGFsd2F5cyBjYW5vbmljYWwsIHNvIHRoaXMgb3BlcmF0aW9uIGFsd2F5c1xuXAotcmV0dXJucyBUcnVlLlxuXAorUHlEb2NfU1RSVkFSKGRvY19pc19jYW5vbmljYWwsCisiaXNfY2Fub25pY2FsKCRzZWxmLCAvKVxuLS1cblxuXAorUmV0dXJuIFRydWUgaWYgdGhlIGFyZ3VtZW50IGlzIGNhbm9uaWNhbCBhbmQgRmFsc2Ugb3RoZXJ3aXNlLiAgQ3VycmVudGx5LFxuXAorYSBEZWNpbWFsIGluc3RhbmNlIGlzIGFsd2F5cyBjYW5vbmljYWwsIHNvIHRoaXMgb3BlcmF0aW9uIGFsd2F5cyByZXR1cm5zXG5cCitUcnVlLlxuXAogXG4iKTsKIAotUHlEb2NfU1RSVkFSKGRvY19pc19maW5pdGUsIlxuXAotaXNfZmluaXRlKCkgLSBSZXR1cm4gVHJ1ZSBpZiB0aGUgYXJndW1lbnQgaXMgYSBmaW5pdGUgbnVtYmVyLCBhbmQgRmFsc2UgaWYgdGhlXG5cCi1hcmd1bWVudCBpcyBpbmZpbml0ZSBvciBhIE5hTi5cblwKK1B5RG9jX1NUUlZBUihkb2NfaXNfZmluaXRlLAorImlzX2Zpbml0ZSgkc2VsZiwgLylcbi0tXG5cblwKK1JldHVybiBUcnVlIGlmIHRoZSBhcmd1bWVudCBpcyBhIGZpbml0ZSBudW1iZXIsIGFuZCBGYWxzZSBpZiB0aGUgYXJndW1lbnRcblwKK2lzIGluZmluaXRlIG9yIGEgTmFOLlxuXAogXG4iKTsKIAotUHlEb2NfU1RSVkFSKGRvY19pc19pbmZpbml0ZSwiXG5cCi1pc19pbmZpbml0ZSgpIC0gUmV0dXJuIFRydWUgaWYgdGhlIGFyZ3VtZW50IGlzIGVpdGhlciBwb3NpdGl2ZSBvciBuZWdhdGl2ZVxuXAotaW5maW5pdHkgYW5kIEZhbHNlIG90aGVyd2lzZS5cblwKLVxuIik7Ci0KLVB5RG9jX1NUUlZBUihkb2NfaXNfbmFuLCJcblwKLWlzX25hbigpIC0gUmV0dXJuIFRydWUgaWYgdGhlIGFyZ3VtZW50IGlzIGEgKHF1aWV0IG9yIHNpZ25hbGluZykgTmFOIGFuZFxuXAorUHlEb2NfU1RSVkFSKGRvY19pc19pbmZpbml0ZSwKKyJpc19pbmZpbml0ZSgkc2VsZiwgLylcbi0tXG5cblwKK1JldHVybiBUcnVlIGlmIHRoZSBhcmd1bWVudCBpcyBlaXRoZXIgcG9zaXRpdmUgb3IgbmVnYXRpdmUgaW5maW5pdHkgYW5kXG5cCiBGYWxzZSBvdGhlcndpc2UuXG5cCiBcbiIpOwogCi1QeURvY19TVFJWQVIoZG9jX2lzX25vcm1hbCwiXG5cCi1pc19ub3JtYWwoY29udGV4dD1Ob25lKSAtIFJldHVybiBUcnVlIGlmIHRoZSBhcmd1bWVudCBpcyBhIG5vcm1hbCBmaW5pdGVcblwKLW5vbi16ZXJvIG51bWJlciB3aXRoIGFuIGFkanVzdGVkIGV4cG9uZW50IGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byBFbWluLlxuXAotUmV0dXJuIEZhbHNlIGlmIHRoZSBhcmd1bWVudCBpcyB6ZXJvLCBzdWJub3JtYWwsIGluZmluaXRlIG9yIGEgTmFOLlxuXAorUHlEb2NfU1RSVkFSKGRvY19pc19uYW4sCisiaXNfbmFuKCRzZWxmLCAvKVxuLS1cblxuXAorUmV0dXJuIFRydWUgaWYgdGhlIGFyZ3VtZW50IGlzIGEgKHF1aWV0IG9yIHNpZ25hbGluZykgTmFOIGFuZCBGYWxzZVxuXAorb3RoZXJ3aXNlLlxuXAogXG4iKTsKIAotUHlEb2NfU1RSVkFSKGRvY19pc19xbmFuLCJcblwKLWlzX3FuYW4oKSAtIFJldHVybiBUcnVlIGlmIHRoZSBhcmd1bWVudCBpcyBhIHF1aWV0IE5hTiwgYW5kIEZhbHNlIG90aGVyd2lzZS5cblwKK1B5RG9jX1NUUlZBUihkb2NfaXNfbm9ybWFsLAorImlzX25vcm1hbCgkc2VsZiwgLywgY29udGV4dD1Ob25lKVxuLS1cblxuXAorUmV0dXJuIFRydWUgaWYgdGhlIGFyZ3VtZW50IGlzIGEgbm9ybWFsIGZpbml0ZSBub24temVybyBudW1iZXIgd2l0aCBhblxuXAorYWRqdXN0ZWQgZXhwb25lbnQgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIEVtaW4uIFJldHVybiBGYWxzZSBpZiB0aGVcblwKK2FyZ3VtZW50IGlzIHplcm8sIHN1Ym5vcm1hbCwgaW5maW5pdGUgb3IgYSBOYU4uXG5cCiBcbiIpOwogCi1QeURvY19TVFJWQVIoZG9jX2lzX3NpZ25lZCwiXG5cCi1pc19zaWduZWQoKSAtIFJldHVybiBUcnVlIGlmIHRoZSBhcmd1bWVudCBoYXMgYSBuZWdhdGl2ZSBzaWduIGFuZFxuXAotRmFsc2Ugb3RoZXJ3aXNlLiBOb3RlIHRoYXQgYm90aCB6ZXJvcyBhbmQgTmFOcyBjYW4gY2Fycnkgc2lnbnMuXG5cCitQeURvY19TVFJWQVIoZG9jX2lzX3FuYW4sCisiaXNfcW5hbigkc2VsZiwgLylcbi0tXG5cblwKK1JldHVybiBUcnVlIGlmIHRoZSBhcmd1bWVudCBpcyBhIHF1aWV0IE5hTiwgYW5kIEZhbHNlIG90aGVyd2lzZS5cblwKIFxuIik7CiAKLVB5RG9jX1NUUlZBUihkb2NfaXNfc25hbiwiXG5cCi1pc19zbmFuKCkgLSBSZXR1cm4gVHJ1ZSBpZiB0aGUgYXJndW1lbnQgaXMgYSBzaWduYWxpbmcgTmFOIGFuZCBGYWxzZSBvdGhlcndpc2UuXG5cCitQeURvY19TVFJWQVIoZG9jX2lzX3NpZ25lZCwKKyJpc19zaWduZWQoJHNlbGYsIC8pXG4tLVxuXG5cCitSZXR1cm4gVHJ1ZSBpZiB0aGUgYXJndW1lbnQgaGFzIGEgbmVnYXRpdmUgc2lnbiBhbmQgRmFsc2Ugb3RoZXJ3aXNlLlxuXAorTm90ZSB0aGF0IGJvdGggemVyb3MgYW5kIE5hTnMgY2FuIGNhcnJ5IHNpZ25zLlxuXAogXG4iKTsKIAotUHlEb2NfU1RSVkFSKGRvY19pc19zdWJub3JtYWwsIlxuXAotaXNfc3Vibm9ybWFsKGNvbnRleHQ9Tm9uZSkgLSBSZXR1cm4gVHJ1ZSBpZiB0aGUgYXJndW1lbnQgaXMgc3Vibm9ybWFsLCBhbmRcblwKLUZhbHNlIG90aGVyd2lzZS4gQSBudW1iZXIgaXMgc3Vibm9ybWFsIGlmIGl0IGlzIG5vbi16ZXJvLCBmaW5pdGUsIGFuZCBoYXMgYW5cblwKLWFkanVzdGVkIGV4cG9uZW50IGxlc3MgdGhhbiBFbWluLlxuXAorUHlEb2NfU1RSVkFSKGRvY19pc19zbmFuLAorImlzX3NuYW4oJHNlbGYsIC8pXG4tLVxuXG5cCitSZXR1cm4gVHJ1ZSBpZiB0aGUgYXJndW1lbnQgaXMgYSBzaWduYWxpbmcgTmFOIGFuZCBGYWxzZSBvdGhlcndpc2UuXG5cCiBcbiIpOwogCi1QeURvY19TVFJWQVIoZG9jX2lzX3plcm8sIlxuXAotaXNfemVybygpIC0gUmV0dXJuIFRydWUgaWYgdGhlIGFyZ3VtZW50IGlzIGEgKHBvc2l0aXZlIG9yIG5lZ2F0aXZlKSB6ZXJvIGFuZFxuXAotRmFsc2Ugb3RoZXJ3aXNlLlxuXAorUHlEb2NfU1RSVkFSKGRvY19pc19zdWJub3JtYWwsCisiaXNfc3Vibm9ybWFsKCRzZWxmLCAvLCBjb250ZXh0PU5vbmUpXG4tLVxuXG5cCitSZXR1cm4gVHJ1ZSBpZiB0aGUgYXJndW1lbnQgaXMgc3Vibm9ybWFsLCBhbmQgRmFsc2Ugb3RoZXJ3aXNlLiBBIG51bWJlciBpc1xuXAorc3Vibm9ybWFsIGlmIGl0IGlzIG5vbi16ZXJvLCBmaW5pdGUsIGFuZCBoYXMgYW4gYWRqdXN0ZWQgZXhwb25lbnQgbGVzc1xuXAordGhhbiBFbWluLlxuXAogXG4iKTsKIAotUHlEb2NfU1RSVkFSKGRvY19sbiwiXG5cCi1sbihjb250ZXh0PU5vbmUpIC0gUmV0dXJuIHRoZSBuYXR1cmFsIChiYXNlIGUpIGxvZ2FyaXRobSBvZiB0aGUgb3BlcmFuZC5cblwKLVRoZSBmdW5jdGlvbiBhbHdheXMgdXNlcyB0aGUgUk9VTkRfSEFMRl9FVkVOIG1vZGUgYW5kIHRoZSByZXN1bHQgaXNcblwKLWNvcnJlY3RseSByb3VuZGVkLlxuXAorUHlEb2NfU1RSVkFSKGRvY19pc196ZXJvLAorImlzX3plcm8oJHNlbGYsIC8pXG4tLVxuXG5cCitSZXR1cm4gVHJ1ZSBpZiB0aGUgYXJndW1lbnQgaXMgYSAocG9zaXRpdmUgb3IgbmVnYXRpdmUpIHplcm8gYW5kIEZhbHNlXG5cCitvdGhlcndpc2UuXG5cCiBcbiIpOwogCi1QeURvY19TVFJWQVIoZG9jX2xvZzEwLCJcblwKLWxvZzEwKGNvbnRleHQ9Tm9uZSkgLSBSZXR1cm4gdGhlIGJhc2UgdGVuIGxvZ2FyaXRobSBvZiB0aGUgb3BlcmFuZC5cblwKLVRoZSBmdW5jdGlvbiBhbHdheXMgdXNlcyB0aGUgUk9VTkRfSEFMRl9FVkVOIG1vZGUgYW5kIHRoZSByZXN1bHQgaXNcblwKLWNvcnJlY3RseSByb3VuZGVkLlxuXAorUHlEb2NfU1RSVkFSKGRvY19sbiwKKyJsbigkc2VsZiwgLywgY29udGV4dD1Ob25lKVxuLS1cblxuXAorUmV0dXJuIHRoZSBuYXR1cmFsIChiYXNlIGUpIGxvZ2FyaXRobSBvZiB0aGUgb3BlcmFuZC4gVGhlIGZ1bmN0aW9uIGFsd2F5c1xuXAordXNlcyB0aGUgUk9VTkRfSEFMRl9FVkVOIG1vZGUgYW5kIHRoZSByZXN1bHQgaXMgY29ycmVjdGx5IHJvdW5kZWQuXG5cCiBcbiIpOwogCi1QeURvY19TVFJWQVIoZG9jX2xvZ2IsIlxuXAotbG9nYihjb250ZXh0PU5vbmUpIC0gRm9yIGEgbm9uLXplcm8gbnVtYmVyLCByZXR1cm4gdGhlIGFkanVzdGVkIGV4cG9uZW50XG5cCi1vZiB0aGUgb3BlcmFuZCBhcyBhIERlY2ltYWwgaW5zdGFuY2UuIElmIHRoZSBvcGVyYW5kIGlzIGEgemVybywgdGhlblxuXAotRGVjaW1hbCgnLUluZmluaXR5JykgaXMgcmV0dXJuZWQgYW5kIHRoZSBEaXZpc2lvbkJ5WmVybyBjb25kaXRpb24gaXNcblwKLXJhaXNlZC4gSWYgdGhlIG9wZXJhbmQgaXMgYW4gaW5maW5pdHkgdGhlbiBEZWNpbWFsKCdJbmZpbml0eScpIGlzIHJldHVybmVkLlxuXAorUHlEb2NfU1RSVkFSKGRvY19sb2cxMCwKKyJsb2cxMCgkc2VsZiwgLywgY29udGV4dD1Ob25lKVxuLS1cblxuXAorUmV0dXJuIHRoZSBiYXNlIHRlbiBsb2dhcml0aG0gb2YgdGhlIG9wZXJhbmQuIFRoZSBmdW5jdGlvbiBhbHdheXMgdXNlcyB0aGVcblwKK1JPVU5EX0hBTEZfRVZFTiBtb2RlIGFuZCB0aGUgcmVzdWx0IGlzIGNvcnJlY3RseSByb3VuZGVkLlxuXAogXG4iKTsKIAotUHlEb2NfU1RSVkFSKGRvY19sb2dpY2FsX2FuZCwiXG5cCi1sb2dpY2FsX2FuZChvdGhlciwgY29udGV4dD1Ob25lKSAtIFJldHVybiB0aGUgZGlnaXQtd2lzZSBhbmQgb2YgdGhlIHR3b1xuXAotKGxvZ2ljYWwpIG9wZXJhbmRzLlxuXAorUHlEb2NfU1RSVkFSKGRvY19sb2diLAorImxvZ2IoJHNlbGYsIC8sIGNvbnRleHQ9Tm9uZSlcbi0tXG5cblwKK0ZvciBhIG5vbi16ZXJvIG51bWJlciwgcmV0dXJuIHRoZSBhZGp1c3RlZCBleHBvbmVudCBvZiB0aGUgb3BlcmFuZCBhcyBhXG5cCitEZWNpbWFsIGluc3RhbmNlLiAgSWYgdGhlIG9wZXJhbmQgaXMgYSB6ZXJvLCB0aGVuIERlY2ltYWwoJy1JbmZpbml0eScpIGlzXG5cCityZXR1cm5lZCBhbmQgdGhlIERpdmlzaW9uQnlaZXJvIGNvbmRpdGlvbiBpcyByYWlzZWQuIElmIHRoZSBvcGVyYW5kIGlzXG5cCithbiBpbmZpbml0eSB0aGVuIERlY2ltYWwoJ0luZmluaXR5JykgaXMgcmV0dXJuZWQuXG5cCiBcbiIpOwogCi1QeURvY19TVFJWQVIoZG9jX2xvZ2ljYWxfaW52ZXJ0LCJcblwKLWxvZ2ljYWxfaW52ZXJ0KGNvbnRleHQ9Tm9uZSkgLSBSZXR1cm4gdGhlIGRpZ2l0LXdpc2UgaW52ZXJzaW9uIG9mIHRoZVxuXAotKGxvZ2ljYWwpIG9wZXJhbmQuXG5cCitQeURvY19TVFJWQVIoZG9jX2xvZ2ljYWxfYW5kLAorImxvZ2ljYWxfYW5kKCRzZWxmLCAvLCBvdGhlciwgY29udGV4dD1Ob25lKVxuLS1cblxuXAorUmV0dXJuIHRoZSBkaWdpdC13aXNlICdhbmQnIG9mIHRoZSB0d28gKGxvZ2ljYWwpIG9wZXJhbmRzLlxuXAogXG4iKTsKIAotUHlEb2NfU1RSVkFSKGRvY19sb2dpY2FsX29yLCJcblwKLWxvZ2ljYWxfb3Iob3RoZXIsIGNvbnRleHQ9Tm9uZSkgLSBSZXR1cm4gdGhlIGRpZ2l0LXdpc2Ugb3Igb2YgdGhlIHR3b1xuXAotKGxvZ2ljYWwpIG9wZXJhbmRzLlxuXAorUHlEb2NfU1RSVkFSKGRvY19sb2dpY2FsX2ludmVydCwKKyJsb2dpY2FsX2ludmVydCgkc2VsZiwgLywgY29udGV4dD1Ob25lKVxuLS1cblxuXAorUmV0dXJuIHRoZSBkaWdpdC13aXNlIGludmVyc2lvbiBvZiB0aGUgKGxvZ2ljYWwpIG9wZXJhbmQuXG5cCiBcbiIpOwogCi1QeURvY19TVFJWQVIoZG9jX2xvZ2ljYWxfeG9yLCJcblwKLWxvZ2ljYWxfeG9yKG90aGVyLCBjb250ZXh0PU5vbmUpIC0gUmV0dXJuIHRoZSBkaWdpdC13aXNlIGV4Y2x1c2l2ZSBvciBvZiB0aGVcblwKLXR3byAobG9naWNhbCkgb3BlcmFuZHMuXG5cCitQeURvY19TVFJWQVIoZG9jX2xvZ2ljYWxfb3IsCisibG9naWNhbF9vcigkc2VsZiwgLywgb3RoZXIsIGNvbnRleHQ9Tm9uZSlcbi0tXG5cblwKK1JldHVybiB0aGUgZGlnaXQtd2lzZSAnb3InIG9mIHRoZSB0d28gKGxvZ2ljYWwpIG9wZXJhbmRzLlxuXAogXG4iKTsKIAotUHlEb2NfU1RSVkFSKGRvY19tYXgsIlxuXAotbWF4KG90aGVyLCBjb250ZXh0PU5vbmUpIC0gTWF4aW11bSBvZiBzZWxmIGFuZCBvdGhlci4gSWYgb25lIG9wZXJhbmQgaXMgYVxuXAotcXVpZXQgTmFOIGFuZCB0aGUgb3RoZXIgaXMgbnVtZXJpYywgdGhlIG51bWVyaWMgb3BlcmFuZCBpcyByZXR1cm5lZC5cblwKK1B5RG9jX1NUUlZBUihkb2NfbG9naWNhbF94b3IsCisibG9naWNhbF94b3IoJHNlbGYsIC8sIG90aGVyLCBjb250ZXh0PU5vbmUpXG4tLVxuXG5cCitSZXR1cm4gdGhlIGRpZ2l0LXdpc2UgJ2V4Y2x1c2l2ZSBvcicgb2YgdGhlIHR3byAobG9naWNhbCkgb3BlcmFuZHMuXG5cCiBcbiIpOwogCi1QeURvY19TVFJWQVIoZG9jX21heF9tYWcsIlxuXAotbWF4X21hZyhvdGhlciwgY29udGV4dD1Ob25lKSAtIFNpbWlsYXIgdG8gdGhlIG1heCgpIG1ldGhvZCwgYnV0IHRoZVxuXAotY29tcGFyaXNvbiBpcyBkb25lIHVzaW5nIHRoZSBhYnNvbHV0ZSB2YWx1ZXMgb2YgdGhlIG9wZXJhbmRzLlxuXAorUHlEb2NfU1RSVkFSKGRvY19tYXgsCisibWF4KCRzZWxmLCAvLCBvdGhlciwgY29udGV4dD1Ob25lKVxuLS1cblxuXAorTWF4aW11bSBvZiBzZWxmIGFuZCBvdGhlci4gIElmIG9uZSBvcGVyYW5kIGlzIGEgcXVpZXQgTmFOIGFuZCB0aGUgb3RoZXIgaXNcblwKK251bWVyaWMsIHRoZSBudW1lcmljIG9wZXJhbmQgaXMgcmV0dXJuZWQuXG5cCiBcbiIpOwogCi1QeURvY19TVFJWQVIoZG9jX21pbiwiXG5cCi1taW4ob3RoZXIsIGNvbnRleHQ9Tm9uZSkgLSBNaW5pbXVtIG9mIHNlbGYgYW5kIG90aGVyLiBJZiBvbmUgb3BlcmFuZCBpcyBhXG5cCi1xdWlldCBOYU4gYW5kIHRoZSBvdGhlciBpcyBudW1lcmljLCB0aGUgbnVtZXJpYyBvcGVyYW5kIGlzIHJldHVybmVkLlxuXAorUHlEb2NfU1RSVkFSKGRvY19tYXhfbWFnLAorIm1heF9tYWcoJHNlbGYsIC8sIG90aGVyLCBjb250ZXh0PU5vbmUpXG4tLVxuXG5cCitTaW1pbGFyIHRvIHRoZSBtYXgoKSBtZXRob2QsIGJ1dCB0aGUgY29tcGFyaXNvbiBpcyBkb25lIHVzaW5nIHRoZSBhYnNvbHV0ZVxuXAordmFsdWVzIG9mIHRoZSBvcGVyYW5kcy5cblwKIFxuIik7CiAKLVB5RG9jX1NUUlZBUihkb2NfbWluX21hZywiXG5cCi1taW5fbWFnKG90aGVyLCBjb250ZXh0PU5vbmUpIC0gU2ltaWxhciB0byB0aGUgbWluKCkgbWV0aG9kLCBidXQgdGhlXG5cCi1jb21wYXJpc29uIGlzIGRvbmUgdXNpbmcgdGhlIGFic29sdXRlIHZhbHVlcyBvZiB0aGUgb3BlcmFuZHMuXG5cCitQeURvY19TVFJWQVIoZG9jX21pbiwKKyJtaW4oJHNlbGYsIC8sIG90aGVyLCBjb250ZXh0PU5vbmUpXG4tLVxuXG5cCitNaW5pbXVtIG9mIHNlbGYgYW5kIG90aGVyLiBJZiBvbmUgb3BlcmFuZCBpcyBhIHF1aWV0IE5hTiBhbmQgdGhlIG90aGVyIGlzXG5cCitudW1lcmljLCB0aGUgbnVtZXJpYyBvcGVyYW5kIGlzIHJldHVybmVkLlxuXAogXG4iKTsKIAotUHlEb2NfU1RSVkFSKGRvY19uZXh0X21pbnVzLCJcblwKLW5leHRfbWludXMoY29udGV4dD1Ob25lKSAtIFJldHVybiB0aGUgbGFyZ2VzdCBudW1iZXIgcmVwcmVzZW50YWJsZSBpbiB0aGVcblwKLWdpdmVuIGNvbnRleHQgKG9yIGluIHRoZSBjdXJyZW50IGRlZmF1bHQgY29udGV4dCBpZiBubyBjb250ZXh0IGlzIGdpdmVuKSB0aGF0XG5cCi1pcyBzbWFsbGVyIHRoYW4gdGhlIGdpdmVuIG9wZXJhbmQuXG5cCitQeURvY19TVFJWQVIoZG9jX21pbl9tYWcsCisibWluX21hZygkc2VsZiwgLywgb3RoZXIsIGNvbnRleHQ9Tm9uZSlcbi0tXG5cblwKK1NpbWlsYXIgdG8gdGhlIG1pbigpIG1ldGhvZCwgYnV0IHRoZSBjb21wYXJpc29uIGlzIGRvbmUgdXNpbmcgdGhlIGFic29sdXRlXG5cCit2YWx1ZXMgb2YgdGhlIG9wZXJhbmRzLlxuXAogXG4iKTsKIAotUHlEb2NfU1RSVkFSKGRvY19uZXh0X3BsdXMsIlxuXAotbmV4dF9wbHVzKGNvbnRleHQ9Tm9uZSkgLSBSZXR1cm4gdGhlIHNtYWxsZXN0IG51bWJlciByZXByZXNlbnRhYmxlIGluIHRoZVxuXAotZ2l2ZW4gY29udGV4dCAob3IgaW4gdGhlIGN1cnJlbnQgZGVmYXVsdCBjb250ZXh0IGlmIG5vIGNvbnRleHQgaXMgZ2l2ZW4pIHRoYXRcblwKLWlzIGxhcmdlciB0aGFuIHRoZSBnaXZlbiBvcGVyYW5kLlxuXAorUHlEb2NfU1RSVkFSKGRvY19uZXh0X21pbnVzLAorIm5leHRfbWludXMoJHNlbGYsIC8sIGNvbnRleHQ9Tm9uZSlcbi0tXG5cblwKK1JldHVybiB0aGUgbGFyZ2VzdCBudW1iZXIgcmVwcmVzZW50YWJsZSBpbiB0aGUgZ2l2ZW4gY29udGV4dCAob3IgaW4gdGhlXG5cCitjdXJyZW50IGRlZmF1bHQgY29udGV4dCBpZiBubyBjb250ZXh0IGlzIGdpdmVuKSB0aGF0IGlzIHNtYWxsZXIgdGhhbiB0aGVcblwKK2dpdmVuIG9wZXJhbmQuXG5cCiBcbiIpOwogCi1QeURvY19TVFJWQVIoZG9jX25leHRfdG93YXJkLCJcblwKLW5leHRfdG93YXJkKG90aGVyLCBjb250ZXh0PU5vbmUpIC0gSWYgdGhlIHR3byBvcGVyYW5kcyBhcmUgdW5lcXVhbCwgcmV0dXJuXG5cCi10aGUgbnVtYmVyIGNsb3Nlc3QgdG8gdGhlIGZpcnN0IG9wZXJhbmQgaW4gdGhlIGRpcmVjdGlvbiBvZiB0aGUgc2Vjb25kIG9wZXJhbmQuXG5cCi1JZiBib3RoIG9wZXJhbmRzIGFyZSBudW1lcmljYWxseSBlcXVhbCwgcmV0dXJuIGEgY29weSBvZiB0aGUgZmlyc3Qgb3BlcmFuZFxuXAotd2l0aCB0aGUgc2lnbiBzZXQgdG8gYmUgdGhlIHNhbWUgYXMgdGhlIHNpZ24gb2YgdGhlIHNlY29uZCBvcGVyYW5kLlxuXAorUHlEb2NfU1RSVkFSKGRvY19uZXh0X3BsdXMsCisibmV4dF9wbHVzKCRzZWxmLCAvLCBjb250ZXh0PU5vbmUpXG4tLVxuXG5cCitSZXR1cm4gdGhlIHNtYWxsZXN0IG51bWJlciByZXByZXNlbnRhYmxlIGluIHRoZSBnaXZlbiBjb250ZXh0IChvciBpbiB0aGVcblwKK2N1cnJlbnQgZGVmYXVsdCBjb250ZXh0IGlmIG5vIGNvbnRleHQgaXMgZ2l2ZW4pIHRoYXQgaXMgbGFyZ2VyIHRoYW4gdGhlXG5cCitnaXZlbiBvcGVyYW5kLlxuXAogXG4iKTsKIAotUHlEb2NfU1RSVkFSKGRvY19ub3JtYWxpemUsIlxuXAotbm9ybWFsaXplKGNvbnRleHQ9Tm9uZSkgLSBOb3JtYWxpemUgdGhlIG51bWJlciBieSBzdHJpcHBpbmcgdGhlIHJpZ2h0bW9zdFxuXAotdHJhaWxpbmcgemVyb3MgYW5kIGNvbnZlcnRpbmcgYW55IHJlc3VsdCBlcXVhbCB0byBEZWNpbWFsKCcwJykgdG8gRGVjaW1hbCgnMGUwJykuXG5cCi1Vc2VkIGZvciBwcm9kdWNpbmcgY2Fub25pY2FsIHZhbHVlcyBmb3IgbWVtYmVycyBvZiBhbiBlcXVpdmFsZW5jZSBjbGFzcy4gRm9yXG5cCi1leGFtcGxlLCBEZWNpbWFsKCczMi4xMDAnKSBhbmQgRGVjaW1hbCgnMC4zMjEwMDBlKzInKSBib3RoIG5vcm1hbGl6ZSB0byB0aGVcblwKLWVxdWl2YWxlbnQgdmFsdWUgRGVjaW1hbCgnMzIuMScpLlxuXAorUHlEb2NfU1RSVkFSKGRvY19uZXh0X3Rvd2FyZCwKKyJuZXh0X3Rvd2FyZCgkc2VsZiwgLywgb3RoZXIsIGNvbnRleHQ9Tm9uZSlcbi0tXG5cblwKK0lmIHRoZSB0d28gb3BlcmFuZHMgYXJlIHVuZXF1YWwsIHJldHVybiB0aGUgbnVtYmVyIGNsb3Nlc3QgdG8gdGhlIGZpcnN0XG5cCitvcGVyYW5kIGluIHRoZSBkaXJlY3Rpb24gb2YgdGhlIHNlY29uZCBvcGVyYW5kLiAgSWYgYm90aCBvcGVyYW5kcyBhcmVcblwKK251bWVyaWNhbGx5IGVxdWFsLCByZXR1cm4gYSBjb3B5IG9mIHRoZSBmaXJzdCBvcGVyYW5kIHdpdGggdGhlIHNpZ24gc2V0XG5cCit0byBiZSB0aGUgc2FtZSBhcyB0aGUgc2lnbiBvZiB0aGUgc2Vjb25kIG9wZXJhbmQuXG5cCiBcbiIpOwogCi1QeURvY19TVFJWQVIoZG9jX251bWJlcl9jbGFzcywiXG5cCi1udW1iZXJfY2xhc3MoY29udGV4dD1Ob25lKSAtIFJldHVybiBhIHN0cmluZyBkZXNjcmliaW5nIHRoZSBjbGFzcyBvZiB0aGVcblwKLW9wZXJhbmQuIFRoZSByZXR1cm5lZCB2YWx1ZSBpcyBvbmUgb2YgdGhlIGZvbGxvd2luZyB0ZW4gc3RyaW5nczpcblwKK1B5RG9jX1NUUlZBUihkb2Nfbm9ybWFsaXplLAorIm5vcm1hbGl6ZSgkc2VsZiwgLywgY29udGV4dD1Ob25lKVxuLS1cblxuXAorTm9ybWFsaXplIHRoZSBudW1iZXIgYnkgc3RyaXBwaW5nIHRoZSByaWdodG1vc3QgdHJhaWxpbmcgemVyb3MgYW5kXG5cCitjb252ZXJ0aW5nIGFueSByZXN1bHQgZXF1YWwgdG8gRGVjaW1hbCgnMCcpIHRvIERlY2ltYWwoJzBlMCcpLiAgVXNlZFxuXAorZm9yIHByb2R1Y2luZyBjYW5vbmljYWwgdmFsdWVzIGZvciBtZW1iZXJzIG9mIGFuIGVxdWl2YWxlbmNlIGNsYXNzLlxuXAorRm9yIGV4YW1wbGUsIERlY2ltYWwoJzMyLjEwMCcpIGFuZCBEZWNpbWFsKCcwLjMyMTAwMGUrMicpIGJvdGggbm9ybWFsaXplXG5cCit0byB0aGUgZXF1aXZhbGVudCB2YWx1ZSBEZWNpbWFsKCczMi4xJykuXG5cCitcbiIpOworCitQeURvY19TVFJWQVIoZG9jX251bWJlcl9jbGFzcywKKyJudW1iZXJfY2xhc3MoJHNlbGYsIC8sIGNvbnRleHQ9Tm9uZSlcbi0tXG5cblwKK1JldHVybiBhIHN0cmluZyBkZXNjcmliaW5nIHRoZSBjbGFzcyBvZiB0aGUgb3BlcmFuZC4gIFRoZSByZXR1cm5lZCB2YWx1ZVxuXAoraXMgb25lIG9mIHRoZSBmb2xsb3dpbmcgdGVuIHN0cmluZ3M6XG5cCiBcblwKICAgICAqICctSW5maW5pdHknLCBpbmRpY2F0aW5nIHRoYXQgdGhlIG9wZXJhbmQgaXMgbmVnYXRpdmUgaW5maW5pdHkuXG5cCiAgICAgKiAnLU5vcm1hbCcsIGluZGljYXRpbmcgdGhhdCB0aGUgb3BlcmFuZCBpcyBhIG5lZ2F0aXZlIG5vcm1hbCBudW1iZXIuXG5cCkBAIC0zMzEsOSArMzY0LDEwIEBACiBcblwKIFxuIik7CiAKLVB5RG9jX1NUUlZBUihkb2NfcXVhbnRpemUsIlxuXAotcXVhbnRpemUoZXhwLCByb3VuZGluZz1Ob25lLCBjb250ZXh0PU5vbmUpIC0gUmV0dXJuIGEgdmFsdWUgZXF1YWwgdG8gdGhlXG5cCi1maXJzdCBvcGVyYW5kIGFmdGVyIHJvdW5kaW5nIGFuZCBoYXZpbmcgdGhlIGV4cG9uZW50IG9mIHRoZSBzZWNvbmQgb3BlcmFuZC5cblwKK1B5RG9jX1NUUlZBUihkb2NfcXVhbnRpemUsCisicXVhbnRpemUoJHNlbGYsIC8sIGV4cCwgcm91bmRpbmc9Tm9uZSwgY29udGV4dD1Ob25lKVxuLS1cblxuXAorUmV0dXJuIGEgdmFsdWUgZXF1YWwgdG8gdGhlIGZpcnN0IG9wZXJhbmQgYWZ0ZXIgcm91bmRpbmcgYW5kIGhhdmluZyB0aGVcblwKK2V4cG9uZW50IG9mIHRoZSBzZWNvbmQgb3BlcmFuZC5cblwKIFxuXAogICAgID4+PiBEZWNpbWFsKCcxLjQxNDIxMzU2JykucXVhbnRpemUoRGVjaW1hbCgnMS4wMDAnKSlcblwKICAgICBEZWNpbWFsKCcxLjQxNCcpXG5cCkBAIC0zNTIsMTAzICszODYsMTA5IEBACiBhcmd1bWVudCBpcyBnaXZlbiwgdGhlIHJvdW5kaW5nIG1vZGUgb2YgdGhlIGN1cnJlbnQgdGhyZWFkJ3MgY29udGV4dCBpcyB1c2VkLlxuXAogXG4iKTsKIAotUHlEb2NfU1RSVkFSKGRvY19yYWRpeCwiXG5cCi1yYWRpeCgpIC0gUmV0dXJuIERlY2ltYWwoMTApLCB0aGUgcmFkaXggKGJhc2UpIGluIHdoaWNoIHRoZSBEZWNpbWFsIGNsYXNzIGRvZXNcblwKK1B5RG9jX1NUUlZBUihkb2NfcmFkaXgsCisicmFkaXgoJHNlbGYsIC8pXG4tLVxuXG5cCitSZXR1cm4gRGVjaW1hbCgxMCksIHRoZSByYWRpeCAoYmFzZSkgaW4gd2hpY2ggdGhlIERlY2ltYWwgY2xhc3MgZG9lc1xuXAogYWxsIGl0cyBhcml0aG1ldGljLiBJbmNsdWRlZCBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIHRoZSBzcGVjaWZpY2F0aW9uLlxuXAogXG4iKTsKIAotUHlEb2NfU1RSVkFSKGRvY19yZW1haW5kZXJfbmVhciwiXG5cCi1yZW1haW5kZXJfbmVhcihvdGhlciwgY29udGV4dD1Ob25lKSAtIFJldHVybiB0aGUgcmVtYWluZGVyIGZyb20gZGl2aWRpbmdcblwKLXNlbGYgYnkgb3RoZXIuIFRoaXMgZGlmZmVycyBmcm9tIHNlbGYgJSBvdGhlciBpbiB0aGF0IHRoZSBzaWduIG9mIHRoZVxuXAotcmVtYWluZGVyIGlzIGNob3NlbiBzbyBhcyB0byBtaW5pbWl6ZSBpdHMgYWJzb2x1dGUgdmFsdWUuIE1vcmUgcHJlY2lzZWx5LCB0aGVcblwKLXJldHVybiB2YWx1ZSBpcyBzZWxmIC0gbiAqIG90aGVyIHdoZXJlIG4gaXMgdGhlIGludGVnZXIgbmVhcmVzdCB0byB0aGUgZXhhY3RcblwKLXZhbHVlIG9mIHNlbGYgLyBvdGhlciwgYW5kIGlmIHR3byBpbnRlZ2VycyBhcmUgZXF1YWxseSBuZWFyIHRoZW4gdGhlIGV2ZW4gb25lXG5cCi1pcyBjaG9zZW4uXG5cCitQeURvY19TVFJWQVIoZG9jX3JlbWFpbmRlcl9uZWFyLAorInJlbWFpbmRlcl9uZWFyKCRzZWxmLCAvLCBvdGhlciwgY29udGV4dD1Ob25lKVxuLS1cblxuXAorUmV0dXJuIHRoZSByZW1haW5kZXIgZnJvbSBkaXZpZGluZyBzZWxmIGJ5IG90aGVyLiAgVGhpcyBkaWZmZXJzIGZyb21cblwKK3NlbGYgJSBvdGhlciBpbiB0aGF0IHRoZSBzaWduIG9mIHRoZSByZW1haW5kZXIgaXMgY2hvc2VuIHNvIGFzIHRvIG1pbmltaXplXG5cCitpdHMgYWJzb2x1dGUgdmFsdWUuIE1vcmUgcHJlY2lzZWx5LCB0aGUgcmV0dXJuIHZhbHVlIGlzIHNlbGYgLSBuICogb3RoZXJcblwKK3doZXJlIG4gaXMgdGhlIGludGVnZXIgbmVhcmVzdCB0byB0aGUgZXhhY3QgdmFsdWUgb2Ygc2VsZiAvIG90aGVyLCBhbmRcblwKK2lmIHR3byBpbnRlZ2VycyBhcmUgZXF1YWxseSBuZWFyIHRoZW4gdGhlIGV2ZW4gb25lIGlzIGNob3Nlbi5cblwKIFxuXAogSWYgdGhlIHJlc3VsdCBpcyB6ZXJvIHRoZW4gaXRzIHNpZ24gd2lsbCBiZSB0aGUgc2lnbiBvZiBzZWxmLlxuXAogXG4iKTsKIAotUHlEb2NfU1RSVkFSKGRvY19yb3RhdGUsIlxuXAotcm90YXRlKG90aGVyLCBjb250ZXh0PU5vbmUpIC0gUmV0dXJuIHRoZSByZXN1bHQgb2Ygcm90YXRpbmcgdGhlIGRpZ2l0cyBvZiB0aGVcblwKLWZpcnN0IG9wZXJhbmQgYnkgYW4gYW1vdW50IHNwZWNpZmllZCBieSB0aGUgc2Vjb25kIG9wZXJhbmQuIFRoZSBzZWNvbmQgb3BlcmFuZFxuXAotbXVzdCBiZSBhbiBpbnRlZ2VyIGluIHRoZSByYW5nZSAtcHJlY2lzaW9uIHRocm91Z2ggcHJlY2lzaW9uLiBUaGUgYWJzb2x1dGVcblwKLXZhbHVlIG9mIHRoZSBzZWNvbmQgb3BlcmFuZCBnaXZlcyB0aGUgbnVtYmVyIG9mIHBsYWNlcyB0byByb3RhdGUuIElmIHRoZSBzZWNvbmRcblwKLW9wZXJhbmQgaXMgcG9zaXRpdmUgdGhlbiByb3RhdGlvbiBpcyB0byB0aGUgbGVmdDsgb3RoZXJ3aXNlIHJvdGF0aW9uIGlzIHRvIHRoZVxuXAotcmlnaHQuIFRoZSBjb2VmZmljaWVudCBvZiB0aGUgZmlyc3Qgb3BlcmFuZCBpcyBwYWRkZWQgb24gdGhlIGxlZnQgd2l0aCB6ZXJvcyB0b1xuXAorUHlEb2NfU1RSVkFSKGRvY19yb3RhdGUsCisicm90YXRlKCRzZWxmLCAvLCBvdGhlciwgY29udGV4dD1Ob25lKVxuLS1cblxuXAorUmV0dXJuIHRoZSByZXN1bHQgb2Ygcm90YXRpbmcgdGhlIGRpZ2l0cyBvZiB0aGUgZmlyc3Qgb3BlcmFuZCBieSBhbiBhbW91bnRcblwKK3NwZWNpZmllZCBieSB0aGUgc2Vjb25kIG9wZXJhbmQuICBUaGUgc2Vjb25kIG9wZXJhbmQgbXVzdCBiZSBhbiBpbnRlZ2VyIGluXG5cCit0aGUgcmFuZ2UgLXByZWNpc2lvbiB0aHJvdWdoIHByZWNpc2lvbi4gVGhlIGFic29sdXRlIHZhbHVlIG9mIHRoZSBzZWNvbmRcblwKK29wZXJhbmQgZ2l2ZXMgdGhlIG51bWJlciBvZiBwbGFjZXMgdG8gcm90YXRlLiBJZiB0aGUgc2Vjb25kIG9wZXJhbmQgaXNcblwKK3Bvc2l0aXZlIHRoZW4gcm90YXRpb24gaXMgdG8gdGhlIGxlZnQ7IG90aGVyd2lzZSByb3RhdGlvbiBpcyB0byB0aGUgcmlnaHQuXG5cCitUaGUgY29lZmZpY2llbnQgb2YgdGhlIGZpcnN0IG9wZXJhbmQgaXMgcGFkZGVkIG9uIHRoZSBsZWZ0IHdpdGggemVyb3MgdG9cblwKIGxlbmd0aCBwcmVjaXNpb24gaWYgbmVjZXNzYXJ5LiBUaGUgc2lnbiBhbmQgZXhwb25lbnQgb2YgdGhlIGZpcnN0IG9wZXJhbmQgYXJlXG5cCiB1bmNoYW5nZWQuXG5cCiBcbiIpOwogCi1QeURvY19TVFJWQVIoZG9jX3NhbWVfcXVhbnR1bSwiXG5cCi1zYW1lX3F1YW50dW0ob3RoZXIsIGNvbnRleHQ9Tm9uZSkgLSBUZXN0IHdoZXRoZXIgc2VsZiBhbmQgb3RoZXIgaGF2ZSB0aGVcblwKLXNhbWUgZXhwb25lbnQgb3Igd2hldGhlciBib3RoIGFyZSBOYU4uXG5cCitQeURvY19TVFJWQVIoZG9jX3NhbWVfcXVhbnR1bSwKKyJzYW1lX3F1YW50dW0oJHNlbGYsIC8sIG90aGVyLCBjb250ZXh0PU5vbmUpXG4tLVxuXG5cCitUZXN0IHdoZXRoZXIgc2VsZiBhbmQgb3RoZXIgaGF2ZSB0aGUgc2FtZSBleHBvbmVudCBvciB3aGV0aGVyIGJvdGggYXJlIE5hTi5cblwKIFxuXAogVGhpcyBvcGVyYXRpb24gaXMgdW5hZmZlY3RlZCBieSBjb250ZXh0IGFuZCBpcyBxdWlldDogbm8gZmxhZ3MgYXJlIGNoYW5nZWRcblwKIGFuZCBubyByb3VuZGluZyBpcyBwZXJmb3JtZWQuIEFzIGFuIGV4Y2VwdGlvbiwgdGhlIEMgdmVyc2lvbiBtYXkgcmFpc2VcblwKIEludmFsaWRPcGVyYXRpb24gaWYgdGhlIHNlY29uZCBvcGVyYW5kIGNhbm5vdCBiZSBjb252ZXJ0ZWQgZXhhY3RseS5cblwKIFxuIik7CiAKLVB5RG9jX1NUUlZBUihkb2Nfc2NhbGViLCJcblwKLXNjYWxlYihvdGhlciwgY29udGV4dD1Ob25lKSAtIFJldHVybiB0aGUgZmlyc3Qgb3BlcmFuZCB3aXRoIHRoZSBleHBvbmVudFxuXAotYWRqdXN0ZWQgdGhlIHNlY29uZC4gRXF1aXZhbGVudGx5LCByZXR1cm4gdGhlIGZpcnN0IG9wZXJhbmQgbXVsdGlwbGllZCBieVxuXAotMTAqKm90aGVyLiBUaGUgc2Vjb25kIG9wZXJhbmQgbXVzdCBiZSBhbiBpbnRlZ2VyLlxuXAorUHlEb2NfU1RSVkFSKGRvY19zY2FsZWIsCisic2NhbGViKCRzZWxmLCAvLCBvdGhlciwgY29udGV4dD1Ob25lKVxuLS1cblxuXAorUmV0dXJuIHRoZSBmaXJzdCBvcGVyYW5kIHdpdGggdGhlIGV4cG9uZW50IGFkanVzdGVkIHRoZSBzZWNvbmQuICBFcXVpdmFsZW50bHksXG5cCityZXR1cm4gdGhlIGZpcnN0IG9wZXJhbmQgbXVsdGlwbGllZCBieSAxMCoqb3RoZXIuIFRoZSBzZWNvbmQgb3BlcmFuZCBtdXN0IGJlXG5cCithbiBpbnRlZ2VyLlxuXAogXG4iKTsKIAotUHlEb2NfU1RSVkFSKGRvY19zaGlmdCwiXG5cCi1zaGlmdChvdGhlciwgY29udGV4dD1Ob25lKSAtIFJldHVybiB0aGUgcmVzdWx0IG9mIHNoaWZ0aW5nIHRoZSBkaWdpdHMgb2ZcblwKLXRoZSBmaXJzdCBvcGVyYW5kIGJ5IGFuIGFtb3VudCBzcGVjaWZpZWQgYnkgdGhlIHNlY29uZCBvcGVyYW5kLiBUaGUgc2Vjb25kXG5cCi1vcGVyYW5kIG11c3QgYmUgYW4gaW50ZWdlciBpbiB0aGUgcmFuZ2UgLXByZWNpc2lvbiB0aHJvdWdoIHByZWNpc2lvbi4gVGhlXG5cCi1hYnNvbHV0ZSB2YWx1ZSBvZiB0aGUgc2Vjb25kIG9wZXJhbmQgZ2l2ZXMgdGhlIG51bWJlciBvZiBwbGFjZXMgdG8gc2hpZnQuXG5cCi1JZiB0aGUgc2Vjb25kIG9wZXJhbmQgaXMgcG9zaXRpdmUsIHRoZW4gdGhlIHNoaWZ0IGlzIHRvIHRoZSBsZWZ0OyBvdGhlcndpc2VcblwKLXRoZSBzaGlmdCBpcyB0byB0aGUgcmlnaHQuIERpZ2l0cyBzaGlmdGVkIGludG8gdGhlIGNvZWZmaWNpZW50IGFyZSB6ZXJvcy5cblwKLVRoZSBzaWduIGFuZCBleHBvbmVudCBvZiB0aGUgZmlyc3Qgb3BlcmFuZCBhcmUgdW5jaGFuZ2VkLlxuXAorUHlEb2NfU1RSVkFSKGRvY19zaGlmdCwKKyJzaGlmdCgkc2VsZiwgLywgb3RoZXIsIGNvbnRleHQ9Tm9uZSlcbi0tXG5cblwKK1JldHVybiB0aGUgcmVzdWx0IG9mIHNoaWZ0aW5nIHRoZSBkaWdpdHMgb2YgdGhlIGZpcnN0IG9wZXJhbmQgYnkgYW4gYW1vdW50XG5cCitzcGVjaWZpZWQgYnkgdGhlIHNlY29uZCBvcGVyYW5kLiAgVGhlIHNlY29uZCBvcGVyYW5kIG11c3QgYmUgYW4gaW50ZWdlciBpblxuXAordGhlIHJhbmdlIC1wcmVjaXNpb24gdGhyb3VnaCBwcmVjaXNpb24uIFRoZSBhYnNvbHV0ZSB2YWx1ZSBvZiB0aGUgc2Vjb25kXG5cCitvcGVyYW5kIGdpdmVzIHRoZSBudW1iZXIgb2YgcGxhY2VzIHRvIHNoaWZ0LiBJZiB0aGUgc2Vjb25kIG9wZXJhbmQgaXNcblwKK3Bvc2l0aXZlLCB0aGVuIHRoZSBzaGlmdCBpcyB0byB0aGUgbGVmdDsgb3RoZXJ3aXNlIHRoZSBzaGlmdCBpcyB0byB0aGVcblwKK3JpZ2h0LiBEaWdpdHMgc2hpZnRlZCBpbnRvIHRoZSBjb2VmZmljaWVudCBhcmUgemVyb3MuIFRoZSBzaWduIGFuZCBleHBvbmVudFxuXAorb2YgdGhlIGZpcnN0IG9wZXJhbmQgYXJlIHVuY2hhbmdlZC5cblwKIFxuIik7CiAKLVB5RG9jX1NUUlZBUihkb2Nfc3FydCwiXG5cCi1zcXJ0KGNvbnRleHQ9Tm9uZSkgLSBSZXR1cm4gdGhlIHNxdWFyZSByb290IG9mIHRoZSBhcmd1bWVudCB0byBmdWxsIHByZWNpc2lvbi5cblwKLVRoZSByZXN1bHQgaXMgY29ycmVjdGx5IHJvdW5kZWQgdXNpbmcgdGhlIFJPVU5EX0hBTEZfRVZFTiByb3VuZGluZyBtb2RlLlxuXAorUHlEb2NfU1RSVkFSKGRvY19zcXJ0LAorInNxcnQoJHNlbGYsIC8sIGNvbnRleHQ9Tm9uZSlcbi0tXG5cblwKK1JldHVybiB0aGUgc3F1YXJlIHJvb3Qgb2YgdGhlIGFyZ3VtZW50IHRvIGZ1bGwgcHJlY2lzaW9uLiBUaGUgcmVzdWx0IGlzXG5cCitjb3JyZWN0bHkgcm91bmRlZCB1c2luZyB0aGUgUk9VTkRfSEFMRl9FVkVOIHJvdW5kaW5nIG1vZGUuXG5cCiBcbiIpOwogCi1QeURvY19TVFJWQVIoZG9jX3RvX2VuZ19zdHJpbmcsIlxuXAotdG9fZW5nX3N0cmluZyhjb250ZXh0PU5vbmUpIC0gQ29udmVydCB0byBhbiBlbmdpbmVlcmluZy10eXBlIHN0cmluZy5cblwKLUVuZ2luZWVyaW5nIG5vdGF0aW9uIGhhcyBhbiBleHBvbmVudCB3aGljaCBpcyBhIG11bHRpcGxlIG9mIDMsIHNvIHRoZXJlXG5cCi1hcmUgdXAgdG8gMyBkaWdpdHMgbGVmdCBvZiB0aGUgZGVjaW1hbCBwbGFjZS4gRm9yIGV4YW1wbGUsIERlY2ltYWwoJzEyM0UrMScpXG5cCi1pcyBjb252ZXJ0ZWQgdG8gRGVjaW1hbCgnMS4yM0UrMycpLlxuXAorUHlEb2NfU1RSVkFSKGRvY190b19lbmdfc3RyaW5nLAorInRvX2VuZ19zdHJpbmcoJHNlbGYsIC8sIGNvbnRleHQ9Tm9uZSlcbi0tXG5cblwKK0NvbnZlcnQgdG8gYW4gZW5naW5lZXJpbmctdHlwZSBzdHJpbmcuICBFbmdpbmVlcmluZyBub3RhdGlvbiBoYXMgYW4gZXhwb25lbnRcblwKK3doaWNoIGlzIGEgbXVsdGlwbGUgb2YgMywgc28gdGhlcmUgYXJlIHVwIHRvIDMgZGlnaXRzIGxlZnQgb2YgdGhlIGRlY2ltYWxcblwKK3BsYWNlLiBGb3IgZXhhbXBsZSwgRGVjaW1hbCgnMTIzRSsxJykgaXMgY29udmVydGVkIHRvIERlY2ltYWwoJzEuMjNFKzMnKS5cblwKIFxuXAogVGhlIHZhbHVlIG9mIGNvbnRleHQuY2FwaXRhbHMgZGV0ZXJtaW5lcyB3aGV0aGVyIHRoZSBleHBvbmVudCBzaWduIGlzIGxvd2VyXG5cCiBvciB1cHBlciBjYXNlLiBPdGhlcndpc2UsIHRoZSBjb250ZXh0IGRvZXMgbm90IGFmZmVjdCB0aGUgb3BlcmF0aW9uLlxuXAogXG4iKTsKIAotUHlEb2NfU1RSVkFSKGRvY190b19pbnRlZ3JhbCwiXG5cCi10b19pbnRlZ3JhbChyb3VuZGluZz1Ob25lLCBjb250ZXh0PU5vbmUpIC0gSWRlbnRpY2FsIHRvIHRoZVxuXAotdG9faW50ZWdyYWxfdmFsdWUoKSBtZXRob2QuIFRoZSB0b19pbnRlZ3JhbCgpIG5hbWUgaGFzIGJlZW4ga2VwdFxuXAotZm9yIGNvbXBhdGliaWxpdHkgd2l0aCBvbGRlciB2ZXJzaW9ucy5cblwKK1B5RG9jX1NUUlZBUihkb2NfdG9faW50ZWdyYWwsCisidG9faW50ZWdyYWwoJHNlbGYsIC8sIHJvdW5kaW5nPU5vbmUsIGNvbnRleHQ9Tm9uZSlcbi0tXG5cblwKK0lkZW50aWNhbCB0byB0aGUgdG9faW50ZWdyYWxfdmFsdWUoKSBtZXRob2QuICBUaGUgdG9faW50ZWdyYWwoKSBuYW1lIGhhcyBiZWVuXG5cCitrZXB0IGZvciBjb21wYXRpYmlsaXR5IHdpdGggb2xkZXIgdmVyc2lvbnMuXG5cCiBcbiIpOwogCi1QeURvY19TVFJWQVIoZG9jX3RvX2ludGVncmFsX2V4YWN0LCJcblwKLXRvX2ludGVncmFsX2V4YWN0KHJvdW5kaW5nPU5vbmUsIGNvbnRleHQ9Tm9uZSkgLSBSb3VuZCB0byB0aGUgbmVhcmVzdFxuXAotaW50ZWdlciwgc2lnbmFsaW5nIEluZXhhY3Qgb3IgUm91bmRlZCBhcyBhcHByb3ByaWF0ZSBpZiByb3VuZGluZyBvY2N1cnMuXG5cCi1UaGUgcm91bmRpbmcgbW9kZSBpcyBkZXRlcm1pbmVkIGJ5IHRoZSByb3VuZGluZyBwYXJhbWV0ZXIgaWYgZ2l2ZW4sIGVsc2VcblwKLWJ5IHRoZSBnaXZlbiBjb250ZXh0LiBJZiBuZWl0aGVyIHBhcmFtZXRlciBpcyBnaXZlbiwgdGhlbiB0aGUgcm91bmRpbmcgbW9kZVxuXAorUHlEb2NfU1RSVkFSKGRvY190b19pbnRlZ3JhbF9leGFjdCwKKyJ0b19pbnRlZ3JhbF9leGFjdCgkc2VsZiwgLywgcm91bmRpbmc9Tm9uZSwgY29udGV4dD1Ob25lKVxuLS1cblxuXAorUm91bmQgdG8gdGhlIG5lYXJlc3QgaW50ZWdlciwgc2lnbmFsaW5nIEluZXhhY3Qgb3IgUm91bmRlZCBhcyBhcHByb3ByaWF0ZSBpZlxuXAorcm91bmRpbmcgb2NjdXJzLiAgVGhlIHJvdW5kaW5nIG1vZGUgaXMgZGV0ZXJtaW5lZCBieSB0aGUgcm91bmRpbmcgcGFyYW1ldGVyXG5cCitpZiBnaXZlbiwgZWxzZSBieSB0aGUgZ2l2ZW4gY29udGV4dC4gSWYgbmVpdGhlciBwYXJhbWV0ZXIgaXMgZ2l2ZW4sIHRoZW4gdGhlXG5cCityb3VuZGluZyBtb2RlIG9mIHRoZSBjdXJyZW50IGRlZmF1bHQgY29udGV4dCBpcyB1c2VkLlxuXAorXG4iKTsKKworUHlEb2NfU1RSVkFSKGRvY190b19pbnRlZ3JhbF92YWx1ZSwKKyJ0b19pbnRlZ3JhbF92YWx1ZSgkc2VsZiwgLywgcm91bmRpbmc9Tm9uZSwgY29udGV4dD1Ob25lKVxuLS1cblxuXAorUm91bmQgdG8gdGhlIG5lYXJlc3QgaW50ZWdlciB3aXRob3V0IHNpZ25hbGluZyBJbmV4YWN0IG9yIFJvdW5kZWQuICBUaGVcblwKK3JvdW5kaW5nIG1vZGUgaXMgZGV0ZXJtaW5lZCBieSB0aGUgcm91bmRpbmcgcGFyYW1ldGVyIGlmIGdpdmVuLCBlbHNlIGJ5XG5cCit0aGUgZ2l2ZW4gY29udGV4dC4gSWYgbmVpdGhlciBwYXJhbWV0ZXIgaXMgZ2l2ZW4sIHRoZW4gdGhlIHJvdW5kaW5nIG1vZGVcblwKIG9mIHRoZSBjdXJyZW50IGRlZmF1bHQgY29udGV4dCBpcyB1c2VkLlxuXAogXG4iKTsKIAotUHlEb2NfU1RSVkFSKGRvY190b19pbnRlZ3JhbF92YWx1ZSwiXG5cCi10b19pbnRlZ3JhbF92YWx1ZShyb3VuZGluZz1Ob25lLCBjb250ZXh0PU5vbmUpIC0gUm91bmQgdG8gdGhlIG5lYXJlc3RcblwKLWludGVnZXIgd2l0aG91dCBzaWduYWxpbmcgSW5leGFjdCBvciBSb3VuZGVkLiBUaGUgcm91bmRpbmcgbW9kZSBpcyBkZXRlcm1pbmVkXG5cCi1ieSB0aGUgcm91bmRpbmcgcGFyYW1ldGVyIGlmIGdpdmVuLCBlbHNlIGJ5IHRoZSBnaXZlbiBjb250ZXh0LiBJZiBuZWl0aGVyXG5cCi1wYXJhbWV0ZXIgaXMgZ2l2ZW4sIHRoZW4gdGhlIHJvdW5kaW5nIG1vZGUgb2YgdGhlIGN1cnJlbnQgZGVmYXVsdCBjb250ZXh0IGlzXG5cCi11c2VkLlxuXAotXG4iKTsKLQogCiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwogLyogICAgICAgICAgICAgICAgICAgICAgIENvbnRleHQgT2JqZWN0IGFuZCBNZXRob2RzICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiAKLVB5RG9jX1NUUlZBUihkb2NfY29udGV4dCwiXG5cCitQeURvY19TVFJWQVIoZG9jX2NvbnRleHQsCisiQ29udGV4dChwcmVjPU5vbmUsIHJvdW5kaW5nPU5vbmUsIEVtaW49Tm9uZSwgRW1heD1Ob25lLCBjYXBpdGFscz1Ob25lLCBjbGFtcD1Ob25lLCBmbGFncz1Ob25lLCB0cmFwcz1Ob25lKVxuLS1cblxuXAogVGhlIGNvbnRleHQgYWZmZWN0cyBhbG1vc3QgYWxsIG9wZXJhdGlvbnMgYW5kIGNvbnRyb2xzIHJvdW5kaW5nLFxuXAotT3Zlci9VbmRlcmZsb3csIHJhaXNpbmcgb2YgZXhjZXB0aW9ucyBhbmQgbXVjaCBtb3JlLiBBIG5ldyBjb250ZXh0XG5cCitPdmVyL1VuZGVyZmxvdywgcmFpc2luZyBvZiBleGNlcHRpb25zIGFuZCBtdWNoIG1vcmUuICBBIG5ldyBjb250ZXh0XG5cCiBjYW4gYmUgY29uc3RydWN0ZWQgYXMgZm9sbG93czpcblwKIFxuXAogICAgID4+PiBjID0gQ29udGV4dChwcmVjPTI4LCBFbWluPS00MjUwMDAwMDAsIEVtYXg9NDI1MDAwMDAwLFxuXApAQCAtNDYwLDMwOCArNTAwLDM3MiBAQAogXG4iKTsKIAogI2lmZGVmIEVYVFJBX0ZVTkNUSU9OQUxJVFkKLVB5RG9jX1NUUlZBUihkb2NfY3R4X2FwcGx5LCJcblwKLWFwcGx5KHgpIC0gQXBwbHkgc2VsZiB0byBEZWNpbWFsIHguXG5cCitQeURvY19TVFJWQVIoZG9jX2N0eF9hcHBseSwKKyJhcHBseSgkc2VsZiwgeCwgLylcbi0tXG5cblwKK0FwcGx5IHNlbGYgdG8gRGVjaW1hbCB4LlxuXAogXG4iKTsKICNlbmRpZgogCi1QeURvY19TVFJWQVIoZG9jX2N0eF9jbGVhcl9mbGFncywiXG5cCi1jbGVhcl9mbGFncygpIC0gUmVzZXQgYWxsIGZsYWdzIHRvIEZhbHNlLlxuXAorUHlEb2NfU1RSVkFSKGRvY19jdHhfY2xlYXJfZmxhZ3MsCisiY2xlYXJfZmxhZ3MoJHNlbGYsIC8pXG4tLVxuXG5cCitSZXNldCBhbGwgZmxhZ3MgdG8gRmFsc2UuXG5cCiBcbiIpOwogCi1QeURvY19TVFJWQVIoZG9jX2N0eF9jbGVhcl90cmFwcywiXG5cCi1jbGVhcl90cmFwcygpIC0gU2V0IGFsbCB0cmFwcyB0byBGYWxzZS5cblwKK1B5RG9jX1NUUlZBUihkb2NfY3R4X2NsZWFyX3RyYXBzLAorImNsZWFyX3RyYXBzKCRzZWxmLCAvKVxuLS1cblxuXAorU2V0IGFsbCB0cmFwcyB0byBGYWxzZS5cblwKIFxuIik7CiAKLVB5RG9jX1NUUlZBUihkb2NfY3R4X2NvcHksIlxuXAotY29weSgpIC0gUmV0dXJuIGEgZHVwbGljYXRlIG9mIHRoZSBjb250ZXh0IHdpdGggYWxsIGZsYWdzIGNsZWFyZWQuXG5cCitQeURvY19TVFJWQVIoZG9jX2N0eF9jb3B5LAorImNvcHkoJHNlbGYsIC8pXG4tLVxuXG5cCitSZXR1cm4gYSBkdXBsaWNhdGUgb2YgdGhlIGNvbnRleHQgd2l0aCBhbGwgZmxhZ3MgY2xlYXJlZC5cblwKIFxuIik7CiAKLVB5RG9jX1NUUlZBUihkb2NfY3R4X2NvcHlfZGVjaW1hbCwiXG5cCi1jb3B5X2RlY2ltYWwoeCkgLSBSZXR1cm4gYSBjb3B5IG9mIERlY2ltYWwgeC5cblwKK1B5RG9jX1NUUlZBUihkb2NfY3R4X2NvcHlfZGVjaW1hbCwKKyJjb3B5X2RlY2ltYWwoJHNlbGYsIHgsIC8pXG4tLVxuXG5cCitSZXR1cm4gYSBjb3B5IG9mIERlY2ltYWwgeC5cblwKIFxuIik7CiAKLVB5RG9jX1NUUlZBUihkb2NfY3R4X2NyZWF0ZV9kZWNpbWFsLCJcblwKLWNyZWF0ZV9kZWNpbWFsKHgpIC0gQ3JlYXRlIGEgbmV3IERlY2ltYWwgaW5zdGFuY2UgZnJvbSB4LCB1c2luZyBzZWxmIGFzIHRoZVxuXAotY29udGV4dC4gVW5saWtlIHRoZSBEZWNpbWFsIGNvbnN0cnVjdG9yLCB0aGlzIGZ1bmN0aW9uIG9ic2VydmVzIHRoZSBjb250ZXh0XG5cCi1saW1pdHMuXG5cCitQeURvY19TVFJWQVIoZG9jX2N0eF9jcmVhdGVfZGVjaW1hbCwKKyJjcmVhdGVfZGVjaW1hbCgkc2VsZiwgbnVtPVwiMFwiLCAvKVxuLS1cblxuXAorQ3JlYXRlIGEgbmV3IERlY2ltYWwgaW5zdGFuY2UgZnJvbSBudW0sIHVzaW5nIHNlbGYgYXMgdGhlIGNvbnRleHQuIFVubGlrZSB0aGVcblwKK0RlY2ltYWwgY29uc3RydWN0b3IsIHRoaXMgZnVuY3Rpb24gb2JzZXJ2ZXMgdGhlIGNvbnRleHQgbGltaXRzLlxuXAogXG4iKTsKIAotUHlEb2NfU1RSVkFSKGRvY19jdHhfY3JlYXRlX2RlY2ltYWxfZnJvbV9mbG9hdCwiXG5cCi1jcmVhdGVfZGVjaW1hbF9mcm9tX2Zsb2F0KGYpIC0gQ3JlYXRlIGEgbmV3IERlY2ltYWwgaW5zdGFuY2UgZnJvbSBmbG9hdCBmLlxuXAotVW5saWtlIHRoZSBEZWNpbWFsLmZyb21fZmxvYXQoKSBjbGFzcyBtZXRob2QsIHRoaXMgZnVuY3Rpb24gb2JzZXJ2ZXMgdGhlXG5cCi1jb250ZXh0IGxpbWl0cy5cblwKK1B5RG9jX1NUUlZBUihkb2NfY3R4X2NyZWF0ZV9kZWNpbWFsX2Zyb21fZmxvYXQsCisiY3JlYXRlX2RlY2ltYWxfZnJvbV9mbG9hdCgkc2VsZiwgZiwgLylcbi0tXG5cblwKK0NyZWF0ZSBhIG5ldyBEZWNpbWFsIGluc3RhbmNlIGZyb20gZmxvYXQgZi4gIFVubGlrZSB0aGUgRGVjaW1hbC5mcm9tX2Zsb2F0KClcblwKK2NsYXNzIG1ldGhvZCwgdGhpcyBmdW5jdGlvbiBvYnNlcnZlcyB0aGUgY29udGV4dCBsaW1pdHMuXG5cCiBcbiIpOwogCi1QeURvY19TVFJWQVIoZG9jX2N0eF9FdGlueSwiXG5cCi1FdGlueSgpIC0gUmV0dXJuIGEgdmFsdWUgZXF1YWwgdG8gRW1pbiAtIHByZWMgKyAxLCB3aGljaCBpcyB0aGUgbWluaW11bVxuXAotZXhwb25lbnQgdmFsdWUgZm9yIHN1Ym5vcm1hbCByZXN1bHRzLiBXaGVuIHVuZGVyZmxvdyBvY2N1cnMsIHRoZSBleHBvbmVudFxuXAotaXMgc2V0IHRvIEV0aW55LlxuXAorUHlEb2NfU1RSVkFSKGRvY19jdHhfRXRpbnksCisiRXRpbnkoJHNlbGYsIC8pXG4tLVxuXG5cCitSZXR1cm4gYSB2YWx1ZSBlcXVhbCB0byBFbWluIC0gcHJlYyArIDEsIHdoaWNoIGlzIHRoZSBtaW5pbXVtIGV4cG9uZW50IHZhbHVlXG5cCitmb3Igc3Vibm9ybWFsIHJlc3VsdHMuICBXaGVuIHVuZGVyZmxvdyBvY2N1cnMsIHRoZSBleHBvbmVudCBpcyBzZXQgdG8gRXRpbnkuXG5cCiBcbiIpOwogCi1QeURvY19TVFJWQVIoZG9jX2N0eF9FdG9wLCJcblwKLUV0b3AoKSAtIFJldHVybiBhIHZhbHVlIGVxdWFsIHRvIEVtYXggLSBwcmVjICsgMS4gVGhpcyBpcyB0aGUgbWF4aW11bSBleHBvbmVudFxuXAotaWYgdGhlIF9jbGFtcCBmaWVsZCBvZiB0aGUgY29udGV4dCBpcyBzZXQgdG8gMSAoSUVFRSBjbGFtcCBtb2RlKS4gRXRvcCgpIG11c3RcblwKLW5vdCBiZSBuZWdhdGl2ZS5cblwKK1B5RG9jX1NUUlZBUihkb2NfY3R4X0V0b3AsCisiRXRvcCgkc2VsZiwgLylcbi0tXG5cblwKK1JldHVybiBhIHZhbHVlIGVxdWFsIHRvIEVtYXggLSBwcmVjICsgMS4gIFRoaXMgaXMgdGhlIG1heGltdW0gZXhwb25lbnRcblwKK2lmIHRoZSBfY2xhbXAgZmllbGQgb2YgdGhlIGNvbnRleHQgaXMgc2V0IHRvIDEgKElFRUUgY2xhbXAgbW9kZSkuICBFdG9wKClcblwKK211c3Qgbm90IGJlIG5lZ2F0aXZlLlxuXAogXG4iKTsKIAotUHlEb2NfU1RSVkFSKGRvY19jdHhfYWJzLCJcblwKLWFicyh4KSAtIFJldHVybiB0aGUgYWJzb2x1dGUgdmFsdWUgb2YgeC5cblwKK1B5RG9jX1NUUlZBUihkb2NfY3R4X2FicywKKyJhYnMoJHNlbGYsIHgsIC8pXG4tLVxuXG5cCitSZXR1cm4gdGhlIGFic29sdXRlIHZhbHVlIG9mIHguXG5cCiBcbiIpOwogCi1QeURvY19TVFJWQVIoZG9jX2N0eF9hZGQsIlxuXAotYWRkKHgsIHkpIC0gUmV0dXJuIHRoZSBzdW0gb2YgeCBhbmQgeS5cblwKK1B5RG9jX1NUUlZBUihkb2NfY3R4X2FkZCwKKyJhZGQoJHNlbGYsIHgsIHksIC8pXG4tLVxuXG5cCitSZXR1cm4gdGhlIHN1bSBvZiB4IGFuZCB5LlxuXAogXG4iKTsKIAotUHlEb2NfU1RSVkFSKGRvY19jdHhfY2Fub25pY2FsLCJcblwKLWNhbm9uaWNhbCh4KSAtIFJldHVybiBhIG5ldyBpbnN0YW5jZSBvZiB4LlxuXAorUHlEb2NfU1RSVkFSKGRvY19jdHhfY2Fub25pY2FsLAorImNhbm9uaWNhbCgkc2VsZiwgeCwgLylcbi0tXG5cblwKK1JldHVybiBhIG5ldyBpbnN0YW5jZSBvZiB4LlxuXAogXG4iKTsKIAotUHlEb2NfU1RSVkFSKGRvY19jdHhfY29tcGFyZSwiXG5cCi1jb21wYXJlKHgsIHkpIC0gQ29tcGFyZSB4IGFuZCB5IG51bWVyaWNhbGx5LlxuXAorUHlEb2NfU1RSVkFSKGRvY19jdHhfY29tcGFyZSwKKyJjb21wYXJlKCRzZWxmLCB4LCB5LCAvKVxuLS1cblxuXAorQ29tcGFyZSB4IGFuZCB5IG51bWVyaWNhbGx5LlxuXAogXG4iKTsKIAotUHlEb2NfU1RSVkFSKGRvY19jdHhfY29tcGFyZV9zaWduYWwsIlxuXAotY29tcGFyZV9zaWduYWwoeCwgeSkgLSBDb21wYXJlIHggYW5kIHkgbnVtZXJpY2FsbHkuIEFsbCBOYU5zIHNpZ25hbC5cblwKK1B5RG9jX1NUUlZBUihkb2NfY3R4X2NvbXBhcmVfc2lnbmFsLAorImNvbXBhcmVfc2lnbmFsKCRzZWxmLCB4LCB5LCAvKVxuLS1cblxuXAorQ29tcGFyZSB4IGFuZCB5IG51bWVyaWNhbGx5LiAgQWxsIE5hTnMgc2lnbmFsLlxuXAogXG4iKTsKIAotUHlEb2NfU1RSVkFSKGRvY19jdHhfY29tcGFyZV90b3RhbCwiXG5cCi1jb21wYXJlX3RvdGFsKHgsIHkpIC0gQ29tcGFyZSB4IGFuZCB5IHVzaW5nIHRoZWlyIGFic3RyYWN0IHJlcHJlc2VudGF0aW9uLlxuXAorUHlEb2NfU1RSVkFSKGRvY19jdHhfY29tcGFyZV90b3RhbCwKKyJjb21wYXJlX3RvdGFsKCRzZWxmLCB4LCB5LCAvKVxuLS1cblxuXAorQ29tcGFyZSB4IGFuZCB5IHVzaW5nIHRoZWlyIGFic3RyYWN0IHJlcHJlc2VudGF0aW9uLlxuXAogXG4iKTsKIAotUHlEb2NfU1RSVkFSKGRvY19jdHhfY29tcGFyZV90b3RhbF9tYWcsIlxuXAotY29tcGFyZV90b3RhbF9tYWcoeCwgeSkgLSBDb21wYXJlIHggYW5kIHkgdXNpbmcgdGhlaXIgYWJzdHJhY3QgcmVwcmVzZW50YXRpb24sXG5cCi1pZ25vcmluZyBzaWduLlxuXAorUHlEb2NfU1RSVkFSKGRvY19jdHhfY29tcGFyZV90b3RhbF9tYWcsCisiY29tcGFyZV90b3RhbF9tYWcoJHNlbGYsIHgsIHksIC8pXG4tLVxuXG5cCitDb21wYXJlIHggYW5kIHkgdXNpbmcgdGhlaXIgYWJzdHJhY3QgcmVwcmVzZW50YXRpb24sIGlnbm9yaW5nIHNpZ24uXG5cCiBcbiIpOwogCi1QeURvY19TVFJWQVIoZG9jX2N0eF9jb3B5X2FicywiXG5cCi1jb3B5X2Ficyh4KSAtIFJldHVybiBhIGNvcHkgb2YgeCB3aXRoIHRoZSBzaWduIHNldCB0byAwLlxuXAorUHlEb2NfU1RSVkFSKGRvY19jdHhfY29weV9hYnMsCisiY29weV9hYnMoJHNlbGYsIHgsIC8pXG4tLVxuXG5cCitSZXR1cm4gYSBjb3B5IG9mIHggd2l0aCB0aGUgc2lnbiBzZXQgdG8gMC5cblwKIFxuIik7CiAKLVB5RG9jX1NUUlZBUihkb2NfY3R4X2NvcHlfbmVnYXRlLCJcblwKLWNvcHlfbmVnYXRlKHgpIC0gUmV0dXJuIGEgY29weSBvZiB4IHdpdGggdGhlIHNpZ24gaW52ZXJ0ZWQuXG5cCitQeURvY19TVFJWQVIoZG9jX2N0eF9jb3B5X25lZ2F0ZSwKKyJjb3B5X25lZ2F0ZSgkc2VsZiwgeCwgLylcbi0tXG5cblwKK1JldHVybiBhIGNvcHkgb2YgeCB3aXRoIHRoZSBzaWduIGludmVydGVkLlxuXAogXG4iKTsKIAotUHlEb2NfU1RSVkFSKGRvY19jdHhfY29weV9zaWduLCJcblwKLWNvcHlfc2lnbih4LCB5KSAtIENvcHkgdGhlIHNpZ24gZnJvbSB5IHRvIHguXG5cCitQeURvY19TVFJWQVIoZG9jX2N0eF9jb3B5X3NpZ24sCisiY29weV9zaWduKCRzZWxmLCB4LCB5LCAvKVxuLS1cblxuXAorQ29weSB0aGUgc2lnbiBmcm9tIHkgdG8geC5cblwKIFxuIik7CiAKLVB5RG9jX1NUUlZBUihkb2NfY3R4X2RpdmlkZSwiXG5cCi1kaXZpZGUoeCwgeSkgLSBSZXR1cm4geCBkaXZpZGVkIGJ5IHkuXG5cCitQeURvY19TVFJWQVIoZG9jX2N0eF9kaXZpZGUsCisiZGl2aWRlKCRzZWxmLCB4LCB5LCAvKVxuLS1cblxuXAorUmV0dXJuIHggZGl2aWRlZCBieSB5LlxuXAogXG4iKTsKIAotUHlEb2NfU1RSVkFSKGRvY19jdHhfZGl2aWRlX2ludCwiXG5cCi1kaXZpZGVfaW50KHgsIHkpIC0gUmV0dXJuIHggZGl2aWRlZCBieSB5LCB0cnVuY2F0ZWQgdG8gYW4gaW50ZWdlci5cblwKK1B5RG9jX1NUUlZBUihkb2NfY3R4X2RpdmlkZV9pbnQsCisiZGl2aWRlX2ludCgkc2VsZiwgeCwgeSwgLylcbi0tXG5cblwKK1JldHVybiB4IGRpdmlkZWQgYnkgeSwgdHJ1bmNhdGVkIHRvIGFuIGludGVnZXIuXG5cCiBcbiIpOwogCi1QeURvY19TVFJWQVIoZG9jX2N0eF9kaXZtb2QsIlxuXAotZGl2bW9kKHgsIHkpIC0gUmV0dXJuIHF1b3RpZW50IGFuZCByZW1haW5kZXIgb2YgdGhlIGRpdmlzaW9uIHggLyB5LlxuXAorUHlEb2NfU1RSVkFSKGRvY19jdHhfZGl2bW9kLAorImRpdm1vZCgkc2VsZiwgeCwgeSwgLylcbi0tXG5cblwKK1JldHVybiBxdW90aWVudCBhbmQgcmVtYWluZGVyIG9mIHRoZSBkaXZpc2lvbiB4IC8geS5cblwKIFxuIik7CiAKLVB5RG9jX1NUUlZBUihkb2NfY3R4X2V4cCwiXG5cCi1leHAoeCkgLSBSZXR1cm4gZSAqKiB4LlxuXAorUHlEb2NfU1RSVkFSKGRvY19jdHhfZXhwLAorImV4cCgkc2VsZiwgeCwgLylcbi0tXG5cblwKK1JldHVybiBlICoqIHguXG5cCiBcbiIpOwogCi1QeURvY19TVFJWQVIoZG9jX2N0eF9mbWEsIlxuXAotZm1hKHgsIHksIHopIC0gUmV0dXJuIHggbXVsdGlwbGllZCBieSB5LCBwbHVzIHouXG5cCitQeURvY19TVFJWQVIoZG9jX2N0eF9mbWEsCisiZm1hKCRzZWxmLCB4LCB5LCB6LCAvKVxuLS1cblxuXAorUmV0dXJuIHggbXVsdGlwbGllZCBieSB5LCBwbHVzIHouXG5cCiBcbiIpOwogCi1QeURvY19TVFJWQVIoZG9jX2N0eF9pc19jYW5vbmljYWwsIlxuXAotaXNfY2Fub25pY2FsKHgpIC0gUmV0dXJuIFRydWUgaWYgeCBpcyBjYW5vbmljYWwsIEZhbHNlIG90aGVyd2lzZS5cblwKK1B5RG9jX1NUUlZBUihkb2NfY3R4X2lzX2Nhbm9uaWNhbCwKKyJpc19jYW5vbmljYWwoJHNlbGYsIHgsIC8pXG4tLVxuXG5cCitSZXR1cm4gVHJ1ZSBpZiB4IGlzIGNhbm9uaWNhbCwgRmFsc2Ugb3RoZXJ3aXNlLlxuXAogXG4iKTsKIAotUHlEb2NfU1RSVkFSKGRvY19jdHhfaXNfZmluaXRlLCJcblwKLWlzX2Zpbml0ZSh4KSAtIFJldHVybiBUcnVlIGlmIHggaXMgZmluaXRlLCBGYWxzZSBvdGhlcndpc2UuXG5cCitQeURvY19TVFJWQVIoZG9jX2N0eF9pc19maW5pdGUsCisiaXNfZmluaXRlKCRzZWxmLCB4LCAvKVxuLS1cblxuXAorUmV0dXJuIFRydWUgaWYgeCBpcyBmaW5pdGUsIEZhbHNlIG90aGVyd2lzZS5cblwKIFxuIik7CiAKLVB5RG9jX1NUUlZBUihkb2NfY3R4X2lzX2luZmluaXRlLCJcblwKLWlzX2luZmluaXRlKHgpIC0gUmV0dXJuIFRydWUgaWYgeCBpcyBpbmZpbml0ZSwgRmFsc2Ugb3RoZXJ3aXNlLlxuXAorUHlEb2NfU1RSVkFSKGRvY19jdHhfaXNfaW5maW5pdGUsCisiaXNfaW5maW5pdGUoJHNlbGYsIHgsIC8pXG4tLVxuXG5cCitSZXR1cm4gVHJ1ZSBpZiB4IGlzIGluZmluaXRlLCBGYWxzZSBvdGhlcndpc2UuXG5cCiBcbiIpOwogCi1QeURvY19TVFJWQVIoZG9jX2N0eF9pc19uYW4sIlxuXAotaXNfbmFuKHgpIC0gUmV0dXJuIFRydWUgaWYgeCBpcyBhIHFOYU4gb3Igc05hTiwgRmFsc2Ugb3RoZXJ3aXNlLlxuXAorUHlEb2NfU1RSVkFSKGRvY19jdHhfaXNfbmFuLAorImlzX25hbigkc2VsZiwgeCwgLylcbi0tXG5cblwKK1JldHVybiBUcnVlIGlmIHggaXMgYSBxTmFOIG9yIHNOYU4sIEZhbHNlIG90aGVyd2lzZS5cblwKIFxuIik7CiAKLVB5RG9jX1NUUlZBUihkb2NfY3R4X2lzX25vcm1hbCwiXG5cCi1pc19ub3JtYWwoeCkgLSBSZXR1cm4gVHJ1ZSBpZiB4IGlzIGEgbm9ybWFsIG51bWJlciwgRmFsc2Ugb3RoZXJ3aXNlLlxuXAorUHlEb2NfU1RSVkFSKGRvY19jdHhfaXNfbm9ybWFsLAorImlzX25vcm1hbCgkc2VsZiwgeCwgLylcbi0tXG5cblwKK1JldHVybiBUcnVlIGlmIHggaXMgYSBub3JtYWwgbnVtYmVyLCBGYWxzZSBvdGhlcndpc2UuXG5cCiBcbiIpOwogCi1QeURvY19TVFJWQVIoZG9jX2N0eF9pc19xbmFuLCJcblwKLWlzX3FuYW4oeCkgLSBSZXR1cm4gVHJ1ZSBpZiB4IGlzIGEgcXVpZXQgTmFOLCBGYWxzZSBvdGhlcndpc2UuXG5cCitQeURvY19TVFJWQVIoZG9jX2N0eF9pc19xbmFuLAorImlzX3FuYW4oJHNlbGYsIHgsIC8pXG4tLVxuXG5cCitSZXR1cm4gVHJ1ZSBpZiB4IGlzIGEgcXVpZXQgTmFOLCBGYWxzZSBvdGhlcndpc2UuXG5cCiBcbiIpOwogCi1QeURvY19TVFJWQVIoZG9jX2N0eF9pc19zaWduZWQsIlxuXAotaXNfc2lnbmVkKHgpIC0gUmV0dXJuIFRydWUgaWYgeCBpcyBuZWdhdGl2ZSwgRmFsc2Ugb3RoZXJ3aXNlLlxuXAorUHlEb2NfU1RSVkFSKGRvY19jdHhfaXNfc2lnbmVkLAorImlzX3NpZ25lZCgkc2VsZiwgeCwgLylcbi0tXG5cblwKK1JldHVybiBUcnVlIGlmIHggaXMgbmVnYXRpdmUsIEZhbHNlIG90aGVyd2lzZS5cblwKIFxuIik7CiAKLVB5RG9jX1NUUlZBUihkb2NfY3R4X2lzX3NuYW4sIlxuXAotaXNfc25hbigpIC0gUmV0dXJuIFRydWUgaWYgeCBpcyBhIHNpZ25hbGluZyBOYU4sIEZhbHNlIG90aGVyd2lzZS5cblwKK1B5RG9jX1NUUlZBUihkb2NfY3R4X2lzX3NuYW4sCisiaXNfc25hbigkc2VsZiwgeCwgLylcbi0tXG5cblwKK1JldHVybiBUcnVlIGlmIHggaXMgYSBzaWduYWxpbmcgTmFOLCBGYWxzZSBvdGhlcndpc2UuXG5cCiBcbiIpOwogCi1QeURvY19TVFJWQVIoZG9jX2N0eF9pc19zdWJub3JtYWwsIlxuXAotaXNfc3Vibm9ybWFsKHgpIC0gUmV0dXJuIFRydWUgaWYgeCBpcyBzdWJub3JtYWwsIEZhbHNlIG90aGVyd2lzZS5cblwKK1B5RG9jX1NUUlZBUihkb2NfY3R4X2lzX3N1Ym5vcm1hbCwKKyJpc19zdWJub3JtYWwoJHNlbGYsIHgsIC8pXG4tLVxuXG5cCitSZXR1cm4gVHJ1ZSBpZiB4IGlzIHN1Ym5vcm1hbCwgRmFsc2Ugb3RoZXJ3aXNlLlxuXAogXG4iKTsKIAotUHlEb2NfU1RSVkFSKGRvY19jdHhfaXNfemVybywiXG5cCi1pc196ZXJvKHgpIC0gUmV0dXJuIFRydWUgaWYgeCBpcyBhIHplcm8sIEZhbHNlIG90aGVyd2lzZS5cblwKK1B5RG9jX1NUUlZBUihkb2NfY3R4X2lzX3plcm8sCisiaXNfemVybygkc2VsZiwgeCwgLylcbi0tXG5cblwKK1JldHVybiBUcnVlIGlmIHggaXMgYSB6ZXJvLCBGYWxzZSBvdGhlcndpc2UuXG5cCiBcbiIpOwogCi1QeURvY19TVFJWQVIoZG9jX2N0eF9sbiwiXG5cCi1sbih4KSAtIFJldHVybiB0aGUgbmF0dXJhbCAoYmFzZSBlKSBsb2dhcml0aG0gb2YgeC5cblwKK1B5RG9jX1NUUlZBUihkb2NfY3R4X2xuLAorImxuKCRzZWxmLCB4LCAvKVxuLS1cblxuXAorUmV0dXJuIHRoZSBuYXR1cmFsIChiYXNlIGUpIGxvZ2FyaXRobSBvZiB4LlxuXAogXG4iKTsKIAotUHlEb2NfU1RSVkFSKGRvY19jdHhfbG9nMTAsIlxuXAotbG9nMTAoeCkgLSBSZXR1cm4gdGhlIGJhc2UgMTAgbG9nYXJpdGhtIG9mIHguXG5cCitQeURvY19TVFJWQVIoZG9jX2N0eF9sb2cxMCwKKyJsb2cxMCgkc2VsZiwgeCwgLylcbi0tXG5cblwKK1JldHVybiB0aGUgYmFzZSAxMCBsb2dhcml0aG0gb2YgeC5cblwKIFxuIik7CiAKLVB5RG9jX1NUUlZBUihkb2NfY3R4X2xvZ2IsIlxuXAotbG9nYih4KSAtIFJldHVybiB0aGUgZXhwb25lbnQgb2YgdGhlIG1hZ25pdHVkZSBvZiB0aGUgb3BlcmFuZCdzIE1TRC5cblwKK1B5RG9jX1NUUlZBUihkb2NfY3R4X2xvZ2IsCisibG9nYigkc2VsZiwgeCwgLylcbi0tXG5cblwKK1JldHVybiB0aGUgZXhwb25lbnQgb2YgdGhlIG1hZ25pdHVkZSBvZiB0aGUgb3BlcmFuZCdzIE1TRC5cblwKIFxuIik7CiAKLVB5RG9jX1NUUlZBUihkb2NfY3R4X2xvZ2ljYWxfYW5kLCJcblwKLWxvZ2ljYWxfYW5kKHgsIHkpIC0gRGlnaXQtd2lzZSBhbmQgb2YgeCBhbmQgeS5cblwKK1B5RG9jX1NUUlZBUihkb2NfY3R4X2xvZ2ljYWxfYW5kLAorImxvZ2ljYWxfYW5kKCRzZWxmLCB4LCB5LCAvKVxuLS1cblxuXAorRGlnaXQtd2lzZSBhbmQgb2YgeCBhbmQgeS5cblwKIFxuIik7CiAKLVB5RG9jX1NUUlZBUihkb2NfY3R4X2xvZ2ljYWxfaW52ZXJ0LCJcblwKLWxvZ2ljYWxfaW52ZXJ0KHgpIC0gSW52ZXJ0IGFsbCBkaWdpdHMgb2YgeC5cblwKK1B5RG9jX1NUUlZBUihkb2NfY3R4X2xvZ2ljYWxfaW52ZXJ0LAorImxvZ2ljYWxfaW52ZXJ0KCRzZWxmLCB4LCAvKVxuLS1cblxuXAorSW52ZXJ0IGFsbCBkaWdpdHMgb2YgeC5cblwKIFxuIik7CiAKLVB5RG9jX1NUUlZBUihkb2NfY3R4X2xvZ2ljYWxfb3IsIlxuXAotbG9naWNhbF9vcih4LCB5KSAtIERpZ2l0LXdpc2Ugb3Igb2YgeCBhbmQgeS5cblwKK1B5RG9jX1NUUlZBUihkb2NfY3R4X2xvZ2ljYWxfb3IsCisibG9naWNhbF9vcigkc2VsZiwgeCwgeSwgLylcbi0tXG5cblwKK0RpZ2l0LXdpc2Ugb3Igb2YgeCBhbmQgeS5cblwKIFxuIik7CiAKLVB5RG9jX1NUUlZBUihkb2NfY3R4X2xvZ2ljYWxfeG9yLCJcblwKLWxvZ2ljYWxfeG9yKHgsIHkpIC0gRGlnaXQtd2lzZSB4b3Igb2YgeCBhbmQgeS5cblwKK1B5RG9jX1NUUlZBUihkb2NfY3R4X2xvZ2ljYWxfeG9yLAorImxvZ2ljYWxfeG9yKCRzZWxmLCB4LCB5LCAvKVxuLS1cblxuXAorRGlnaXQtd2lzZSB4b3Igb2YgeCBhbmQgeS5cblwKIFxuIik7CiAKLVB5RG9jX1NUUlZBUihkb2NfY3R4X21heCwiXG5cCi1tYXgoeCwgeSkgLSBDb21wYXJlIHRoZSB2YWx1ZXMgbnVtZXJpY2FsbHkgYW5kIHJldHVybiB0aGUgbWF4aW11bS5cblwKK1B5RG9jX1NUUlZBUihkb2NfY3R4X21heCwKKyJtYXgoJHNlbGYsIHgsIHksIC8pXG4tLVxuXG5cCitDb21wYXJlIHRoZSB2YWx1ZXMgbnVtZXJpY2FsbHkgYW5kIHJldHVybiB0aGUgbWF4aW11bS5cblwKIFxuIik7CiAKLVB5RG9jX1NUUlZBUihkb2NfY3R4X21heF9tYWcsIlxuXAotbWF4X21hZyh4LCB5KSAtIENvbXBhcmUgdGhlIHZhbHVlcyBudW1lcmljYWxseSB3aXRoIHRoZWlyIHNpZ24gaWdub3JlZC5cblwKK1B5RG9jX1NUUlZBUihkb2NfY3R4X21heF9tYWcsCisibWF4X21hZygkc2VsZiwgeCwgeSwgLylcbi0tXG5cblwKK0NvbXBhcmUgdGhlIHZhbHVlcyBudW1lcmljYWxseSB3aXRoIHRoZWlyIHNpZ24gaWdub3JlZC5cblwKIFxuIik7CiAKLVB5RG9jX1NUUlZBUihkb2NfY3R4X21pbiwiXG5cCi1taW4oeCwgeSkgLSBDb21wYXJlIHRoZSB2YWx1ZXMgbnVtZXJpY2FsbHkgYW5kIHJldHVybiB0aGUgbWluaW11bS5cblwKK1B5RG9jX1NUUlZBUihkb2NfY3R4X21pbiwKKyJtaW4oJHNlbGYsIHgsIHksIC8pXG4tLVxuXG5cCitDb21wYXJlIHRoZSB2YWx1ZXMgbnVtZXJpY2FsbHkgYW5kIHJldHVybiB0aGUgbWluaW11bS5cblwKIFxuIik7CiAKLVB5RG9jX1NUUlZBUihkb2NfY3R4X21pbl9tYWcsIlxuXAotbWluX21hZyh4LCB5KSAtIENvbXBhcmUgdGhlIHZhbHVlcyBudW1lcmljYWxseSB3aXRoIHRoZWlyIHNpZ24gaWdub3JlZC5cblwKK1B5RG9jX1NUUlZBUihkb2NfY3R4X21pbl9tYWcsCisibWluX21hZygkc2VsZiwgeCwgeSwgLylcbi0tXG5cblwKK0NvbXBhcmUgdGhlIHZhbHVlcyBudW1lcmljYWxseSB3aXRoIHRoZWlyIHNpZ24gaWdub3JlZC5cblwKIFxuIik7CiAKLVB5RG9jX1NUUlZBUihkb2NfY3R4X21pbnVzLCJcblwKLW1pbnVzKHgpIC0gTWludXMgY29ycmVzcG9uZHMgdG8gdGhlIHVuYXJ5IHByZWZpeCBtaW51cyBvcGVyYXRvciBpbiBQeXRob24sXG5cCi1idXQgYXBwbGllcyB0aGUgY29udGV4dCB0byB0aGUgcmVzdWx0LlxuXAorUHlEb2NfU1RSVkFSKGRvY19jdHhfbWludXMsCisibWludXMoJHNlbGYsIHgsIC8pXG4tLVxuXG5cCitNaW51cyBjb3JyZXNwb25kcyB0byB0aGUgdW5hcnkgcHJlZml4IG1pbnVzIG9wZXJhdG9yIGluIFB5dGhvbiwgYnV0IGFwcGxpZXNcblwKK3RoZSBjb250ZXh0IHRvIHRoZSByZXN1bHQuXG5cCiBcbiIpOwogCi1QeURvY19TVFJWQVIoZG9jX2N0eF9tdWx0aXBseSwiXG5cCi1tdWx0aXBseSh4LCB5KSAtIFJldHVybiB0aGUgcHJvZHVjdCBvZiB4IGFuZCB5LlxuXAorUHlEb2NfU1RSVkFSKGRvY19jdHhfbXVsdGlwbHksCisibXVsdGlwbHkoJHNlbGYsIHgsIHksIC8pXG4tLVxuXG5cCitSZXR1cm4gdGhlIHByb2R1Y3Qgb2YgeCBhbmQgeS5cblwKIFxuIik7CiAKLVB5RG9jX1NUUlZBUihkb2NfY3R4X25leHRfbWludXMsIlxuXAotbmV4dF9taW51cyh4KSAtIFJldHVybiB0aGUgbGFyZ2VzdCByZXByZXNlbnRhYmxlIG51bWJlciBzbWFsbGVyIHRoYW4geC5cblwKK1B5RG9jX1NUUlZBUihkb2NfY3R4X25leHRfbWludXMsCisibmV4dF9taW51cygkc2VsZiwgeCwgLylcbi0tXG5cblwKK1JldHVybiB0aGUgbGFyZ2VzdCByZXByZXNlbnRhYmxlIG51bWJlciBzbWFsbGVyIHRoYW4geC5cblwKIFxuIik7CiAKLVB5RG9jX1NUUlZBUihkb2NfY3R4X25leHRfcGx1cywiXG5cCi1uZXh0X3BsdXMoeCkgLSBSZXR1cm4gdGhlIHNtYWxsZXN0IHJlcHJlc2VudGFibGUgbnVtYmVyIGxhcmdlciB0aGFuIHguXG5cCitQeURvY19TVFJWQVIoZG9jX2N0eF9uZXh0X3BsdXMsCisibmV4dF9wbHVzKCRzZWxmLCB4LCAvKVxuLS1cblxuXAorUmV0dXJuIHRoZSBzbWFsbGVzdCByZXByZXNlbnRhYmxlIG51bWJlciBsYXJnZXIgdGhhbiB4LlxuXAogXG4iKTsKIAotUHlEb2NfU1RSVkFSKGRvY19jdHhfbmV4dF90b3dhcmQsIlxuXAotbmV4dF90b3dhcmQoeCkgLSBSZXR1cm4gdGhlIG51bWJlciBjbG9zZXN0IHRvIHgsIGluIHRoZSBkaXJlY3Rpb24gdG93YXJkcyB5LlxuXAorUHlEb2NfU1RSVkFSKGRvY19jdHhfbmV4dF90b3dhcmQsCisibmV4dF90b3dhcmQoJHNlbGYsIHgsIHksIC8pXG4tLVxuXG5cCitSZXR1cm4gdGhlIG51bWJlciBjbG9zZXN0IHRvIHgsIGluIHRoZSBkaXJlY3Rpb24gdG93YXJkcyB5LlxuXAogXG4iKTsKIAotUHlEb2NfU1RSVkFSKGRvY19jdHhfbm9ybWFsaXplLCJcblwKLW5vcm1hbGl6ZSh4KSAtIFJlZHVjZSB4IHRvIGl0cyBzaW1wbGVzdCBmb3JtLiBBbGlhcyBmb3IgcmVkdWNlKHgpLlxuXAorUHlEb2NfU1RSVkFSKGRvY19jdHhfbm9ybWFsaXplLAorIm5vcm1hbGl6ZSgkc2VsZiwgeCwgLylcbi0tXG5cblwKK1JlZHVjZSB4IHRvIGl0cyBzaW1wbGVzdCBmb3JtLiBBbGlhcyBmb3IgcmVkdWNlKHgpLlxuXAogXG4iKTsKIAotUHlEb2NfU1RSVkFSKGRvY19jdHhfbnVtYmVyX2NsYXNzLCJcblwKLW51bWJlcl9jbGFzcyh4KSAtIFJldHVybiBhbiBpbmRpY2F0aW9uIG9mIHRoZSBjbGFzcyBvZiB4LlxuXAorUHlEb2NfU1RSVkFSKGRvY19jdHhfbnVtYmVyX2NsYXNzLAorIm51bWJlcl9jbGFzcygkc2VsZiwgeCwgLylcbi0tXG5cblwKK1JldHVybiBhbiBpbmRpY2F0aW9uIG9mIHRoZSBjbGFzcyBvZiB4LlxuXAogXG4iKTsKIAotUHlEb2NfU1RSVkFSKGRvY19jdHhfcGx1cywiXG5cCi1wbHVzKHgpIC0gUGx1cyBjb3JyZXNwb25kcyB0byB0aGUgdW5hcnkgcHJlZml4IHBsdXMgb3BlcmF0b3IgaW4gUHl0aG9uLFxuXAotYnV0IGFwcGxpZXMgdGhlIGNvbnRleHQgdG8gdGhlIHJlc3VsdC5cblwKK1B5RG9jX1NUUlZBUihkb2NfY3R4X3BsdXMsCisicGx1cygkc2VsZiwgeCwgLylcbi0tXG5cblwKK1BsdXMgY29ycmVzcG9uZHMgdG8gdGhlIHVuYXJ5IHByZWZpeCBwbHVzIG9wZXJhdG9yIGluIFB5dGhvbiwgYnV0IGFwcGxpZXNcblwKK3RoZSBjb250ZXh0IHRvIHRoZSByZXN1bHQuXG5cCiBcbiIpOwogCi1QeURvY19TVFJWQVIoZG9jX2N0eF9wb3dlciwiXG5cCi1wb3dlcih4LCB5KSAtIENvbXB1dGUgeCoqeS4gSWYgeCBpcyBuZWdhdGl2ZSwgdGhlbiB5IG11c3QgYmUgaW50ZWdyYWwuXG5cCi1UaGUgcmVzdWx0IHdpbGwgYmUgaW5leGFjdCB1bmxlc3MgeSBpcyBpbnRlZ3JhbCBhbmQgdGhlIHJlc3VsdCBpcyBmaW5pdGVcblwKLWFuZCBjYW4gYmUgZXhwcmVzc2VkIGV4YWN0bHkgaW4gJ3ByZWNpc2lvbicgZGlnaXRzLiBJbiB0aGUgUHl0aG9uIHZlcnNpb25cblwKLXRoZSByZXN1bHQgaXMgYWx3YXlzIGNvcnJlY3RseSByb3VuZGVkLCBpbiB0aGUgQyB2ZXJzaW9uIHRoZSByZXN1bHQgaXNcblwKLWFsbW9zdCBhbHdheXMgY29ycmVjdGx5IHJvdW5kZWQuXG5cCitQeURvY19TVFJWQVIoZG9jX2N0eF9wb3dlciwKKyJwb3dlcigkc2VsZiwgLywgYSwgYiwgbW9kdWxvPU5vbmUpXG4tLVxuXG5cCitDb21wdXRlIGEqKmIuIElmICdhJyBpcyBuZWdhdGl2ZSwgdGhlbiAnYicgbXVzdCBiZSBpbnRlZ3JhbC4gVGhlIHJlc3VsdFxuXAord2lsbCBiZSBpbmV4YWN0IHVubGVzcyAnYScgaXMgaW50ZWdyYWwgYW5kIHRoZSByZXN1bHQgaXMgZmluaXRlIGFuZCBjYW5cblwKK2JlIGV4cHJlc3NlZCBleGFjdGx5IGluICdwcmVjaXNpb24nIGRpZ2l0cy4gIEluIHRoZSBQeXRob24gdmVyc2lvbiB0aGVcblwKK3Jlc3VsdCBpcyBhbHdheXMgY29ycmVjdGx5IHJvdW5kZWQsIGluIHRoZSBDIHZlcnNpb24gdGhlIHJlc3VsdCBpcyBhbG1vc3RcblwKK2Fsd2F5cyBjb3JyZWN0bHkgcm91bmRlZC5cblwKIFxuXAotcG93ZXIoeCwgeSwgbSkgLSBDb21wdXRlICh4Kip5KSAlIG0uIFRoZSBmb2xsb3dpbmcgcmVzdHJpY3Rpb25zIGhvbGQ6XG5cCitJZiBtb2R1bG8gaXMgZ2l2ZW4sIGNvbXB1dGUgKGEqKmIpICUgbW9kdWxvLiBUaGUgZm9sbG93aW5nIHJlc3RyaWN0aW9uc1xuXAoraG9sZDpcblwKIFxuXAogICAgICogYWxsIHRocmVlIGFyZ3VtZW50cyBtdXN0IGJlIGludGVncmFsXG5cCi0gICAgKiB5IG11c3QgYmUgbm9ubmVnYXRpdmVcblwKLSAgICAqIGF0IGxlYXN0IG9uZSBvZiB4IG9yIHkgbXVzdCBiZSBub256ZXJvXG5cCi0gICAgKiBtIG11c3QgYmUgbm9uemVybyBhbmQgbGVzcyB0aGFuIDEwKipwcmVjIGluIGFic29sdXRlIHZhbHVlXG5cCisgICAgKiAnYicgbXVzdCBiZSBub25uZWdhdGl2ZVxuXAorICAgICogYXQgbGVhc3Qgb25lIG9mICdhJyBvciAnYicgbXVzdCBiZSBub256ZXJvXG5cCisgICAgKiBtb2R1bG8gbXVzdCBiZSBub256ZXJvIGFuZCBsZXNzIHRoYW4gMTAqKnByZWMgaW4gYWJzb2x1dGUgdmFsdWVcblwKIFxuXAogXG4iKTsKIAotUHlEb2NfU1RSVkFSKGRvY19jdHhfcXVhbnRpemUsIlxuXAotcXVhbnRpemUoeCwgeSkgLSBSZXR1cm4gYSB2YWx1ZSBlcXVhbCB0byB4IChyb3VuZGVkKSwgaGF2aW5nIHRoZSBleHBvbmVudCBvZiB5LlxuXAorUHlEb2NfU1RSVkFSKGRvY19jdHhfcXVhbnRpemUsCisicXVhbnRpemUoJHNlbGYsIHgsIHksIC8pXG4tLVxuXG5cCitSZXR1cm4gYSB2YWx1ZSBlcXVhbCB0byB4IChyb3VuZGVkKSwgaGF2aW5nIHRoZSBleHBvbmVudCBvZiB5LlxuXAogXG4iKTsKIAotUHlEb2NfU1RSVkFSKGRvY19jdHhfcmFkaXgsIlxuXAotcmFkaXgoKSAtIFJldHVybiAxMC5cblwKK1B5RG9jX1NUUlZBUihkb2NfY3R4X3JhZGl4LAorInJhZGl4KCRzZWxmLCAvKVxuLS1cblxuXAorUmV0dXJuIDEwLlxuXAogXG4iKTsKIAotUHlEb2NfU1RSVkFSKGRvY19jdHhfcmVtYWluZGVyLCJcblwKLXJlbWFpbmRlcih4LCB5KSAtIFJldHVybiB0aGUgcmVtYWluZGVyIGZyb20gaW50ZWdlciBkaXZpc2lvbi4gVGhlIHNpZ24gb2ZcblwKLXRoZSByZXN1bHQsIGlmIG5vbi16ZXJvLCBpcyB0aGUgc2FtZSBhcyB0aGF0IG9mIHRoZSBvcmlnaW5hbCBkaXZpZGVuZC5cblwKK1B5RG9jX1NUUlZBUihkb2NfY3R4X3JlbWFpbmRlciwKKyJyZW1haW5kZXIoJHNlbGYsIHgsIHksIC8pXG4tLVxuXG5cCitSZXR1cm4gdGhlIHJlbWFpbmRlciBmcm9tIGludGVnZXIgZGl2aXNpb24uICBUaGUgc2lnbiBvZiB0aGUgcmVzdWx0LFxuXAoraWYgbm9uLXplcm8sIGlzIHRoZSBzYW1lIGFzIHRoYXQgb2YgdGhlIG9yaWdpbmFsIGRpdmlkZW5kLlxuXAogXG4iKTsKIAotUHlEb2NfU1RSVkFSKGRvY19jdHhfcmVtYWluZGVyX25lYXIsIlxuXAotcmVtYWluZGVyX25lYXIoeCwgeSkgLSBSZXR1cm4geCAtIHkgKiBuLCB3aGVyZSBuIGlzIHRoZSBpbnRlZ2VyIG5lYXJlc3QgdGhlXG5cCi1leGFjdCB2YWx1ZSBvZiB4IC8geSAoaWYgdGhlIHJlc3VsdCBpcyAwIHRoZW4gaXRzIHNpZ24gd2lsbCBiZSB0aGUgc2lnbiBvZiB4KS5cblwKK1B5RG9jX1NUUlZBUihkb2NfY3R4X3JlbWFpbmRlcl9uZWFyLAorInJlbWFpbmRlcl9uZWFyKCRzZWxmLCB4LCB5LCAvKVxuLS1cblxuXAorUmV0dXJuIHggLSB5ICogbiwgd2hlcmUgbiBpcyB0aGUgaW50ZWdlciBuZWFyZXN0IHRoZSBleGFjdCB2YWx1ZSBvZiB4IC8geVxuXAorKGlmIHRoZSByZXN1bHQgaXMgMCB0aGVuIGl0cyBzaWduIHdpbGwgYmUgdGhlIHNpZ24gb2YgeCkuXG5cCiBcbiIpOwogCi1QeURvY19TVFJWQVIoZG9jX2N0eF9yb3RhdGUsIlxuXAotcm90YXRlKHgsIHkpIC0gUmV0dXJuIGEgY29weSBvZiB4LCByb3RhdGVkIGJ5IHkgcGxhY2VzLlxuXAorUHlEb2NfU1RSVkFSKGRvY19jdHhfcm90YXRlLAorInJvdGF0ZSgkc2VsZiwgeCwgeSwgLylcbi0tXG5cblwKK1JldHVybiBhIGNvcHkgb2YgeCwgcm90YXRlZCBieSB5IHBsYWNlcy5cblwKIFxuIik7CiAKLVB5RG9jX1NUUlZBUihkb2NfY3R4X3NhbWVfcXVhbnR1bSwiXG5cCi1zYW1lX3F1YW50dW0oeCwgeSkgLSBSZXR1cm4gVHJ1ZSBpZiB0aGUgdHdvIG9wZXJhbmRzIGhhdmUgdGhlIHNhbWUgZXhwb25lbnQuXG5cCitQeURvY19TVFJWQVIoZG9jX2N0eF9zYW1lX3F1YW50dW0sCisic2FtZV9xdWFudHVtKCRzZWxmLCB4LCB5LCAvKVxuLS1cblxuXAorUmV0dXJuIFRydWUgaWYgdGhlIHR3byBvcGVyYW5kcyBoYXZlIHRoZSBzYW1lIGV4cG9uZW50LlxuXAogXG4iKTsKIAotUHlEb2NfU1RSVkFSKGRvY19jdHhfc2NhbGViLCJcblwKLXNjYWxlYih4LCB5KSAtIFJldHVybiB0aGUgZmlyc3Qgb3BlcmFuZCBhZnRlciBhZGRpbmcgdGhlIHNlY29uZCB2YWx1ZVxuXAotdG8gaXRzIGV4cC5cblwKK1B5RG9jX1NUUlZBUihkb2NfY3R4X3NjYWxlYiwKKyJzY2FsZWIoJHNlbGYsIHgsIHksIC8pXG4tLVxuXG5cCitSZXR1cm4gdGhlIGZpcnN0IG9wZXJhbmQgYWZ0ZXIgYWRkaW5nIHRoZSBzZWNvbmQgdmFsdWUgdG8gaXRzIGV4cC5cblwKIFxuIik7CiAKLVB5RG9jX1NUUlZBUihkb2NfY3R4X3NoaWZ0LCJcblwKLXNoaWZ0KHgsIHkpIC0gUmV0dXJuIGEgY29weSBvZiB4LCBzaGlmdGVkIGJ5IHkgcGxhY2VzLlxuXAorUHlEb2NfU1RSVkFSKGRvY19jdHhfc2hpZnQsCisic2hpZnQoJHNlbGYsIHgsIHksIC8pXG4tLVxuXG5cCitSZXR1cm4gYSBjb3B5IG9mIHgsIHNoaWZ0ZWQgYnkgeSBwbGFjZXMuXG5cCiBcbiIpOwogCi1QeURvY19TVFJWQVIoZG9jX2N0eF9zcXJ0LCJcblwKLXNxcnQoeCkgLSBTcXVhcmUgcm9vdCBvZiBhIG5vbi1uZWdhdGl2ZSBudW1iZXIgdG8gY29udGV4dCBwcmVjaXNpb24uXG5cCitQeURvY19TVFJWQVIoZG9jX2N0eF9zcXJ0LAorInNxcnQoJHNlbGYsIHgsIC8pXG4tLVxuXG5cCitTcXVhcmUgcm9vdCBvZiBhIG5vbi1uZWdhdGl2ZSBudW1iZXIgdG8gY29udGV4dCBwcmVjaXNpb24uXG5cCiBcbiIpOwogCi1QeURvY19TVFJWQVIoZG9jX2N0eF9zdWJ0cmFjdCwiXG5cCi1zdWJ0cmFjdCh4LCB5KSAtIFJldHVybiB0aGUgZGlmZmVyZW5jZSBiZXR3ZWVuIHggYW5kIHkuXG5cCitQeURvY19TVFJWQVIoZG9jX2N0eF9zdWJ0cmFjdCwKKyJzdWJ0cmFjdCgkc2VsZiwgeCwgeSwgLylcbi0tXG5cblwKK1JldHVybiB0aGUgZGlmZmVyZW5jZSBiZXR3ZWVuIHggYW5kIHkuXG5cCiBcbiIpOwogCi1QeURvY19TVFJWQVIoZG9jX2N0eF90b19lbmdfc3RyaW5nLCJcblwKLXRvX2VuZ19zdHJpbmcoeCkgLSBDb252ZXJ0IGEgbnVtYmVyIHRvIGEgc3RyaW5nLCB1c2luZyBlbmdpbmVlcmluZyBub3RhdGlvbi5cblwKK1B5RG9jX1NUUlZBUihkb2NfY3R4X3RvX2VuZ19zdHJpbmcsCisidG9fZW5nX3N0cmluZygkc2VsZiwgeCwgLylcbi0tXG5cblwKK0NvbnZlcnQgYSBudW1iZXIgdG8gYSBzdHJpbmcsIHVzaW5nIGVuZ2luZWVyaW5nIG5vdGF0aW9uLlxuXAogXG4iKTsKIAotUHlEb2NfU1RSVkFSKGRvY19jdHhfdG9faW50ZWdyYWwsIlxuXAotdG9faW50ZWdyYWwoeCkgLSBJZGVudGljYWwgdG8gdG9faW50ZWdyYWxfdmFsdWUoeCkuXG5cCitQeURvY19TVFJWQVIoZG9jX2N0eF90b19pbnRlZ3JhbCwKKyJ0b19pbnRlZ3JhbCgkc2VsZiwgeCwgLylcbi0tXG5cblwKK0lkZW50aWNhbCB0byB0b19pbnRlZ3JhbF92YWx1ZSh4KS5cblwKIFxuIik7CiAKLVB5RG9jX1NUUlZBUihkb2NfY3R4X3RvX2ludGVncmFsX2V4YWN0LCJcblwKLXRvX2ludGVncmFsX2V4YWN0KHgpIC0gUm91bmQgdG8gYW4gaW50ZWdlci4gU2lnbmFsIGlmIHRoZSByZXN1bHQgaXNcblwKLXJvdW5kZWQgb3IgaW5leGFjdC5cblwKK1B5RG9jX1NUUlZBUihkb2NfY3R4X3RvX2ludGVncmFsX2V4YWN0LAorInRvX2ludGVncmFsX2V4YWN0KCRzZWxmLCB4LCAvKVxuLS1cblxuXAorUm91bmQgdG8gYW4gaW50ZWdlci4gU2lnbmFsIGlmIHRoZSByZXN1bHQgaXMgcm91bmRlZCBvciBpbmV4YWN0LlxuXAogXG4iKTsKIAotUHlEb2NfU1RSVkFSKGRvY19jdHhfdG9faW50ZWdyYWxfdmFsdWUsIlxuXAotdG9faW50ZWdyYWxfdmFsdWUoeCkgLSBSb3VuZCB0byBhbiBpbnRlZ2VyLlxuXAorUHlEb2NfU1RSVkFSKGRvY19jdHhfdG9faW50ZWdyYWxfdmFsdWUsCisidG9faW50ZWdyYWxfdmFsdWUoJHNlbGYsIHgsIC8pXG4tLVxuXG5cCitSb3VuZCB0byBhbiBpbnRlZ2VyLlxuXAogXG4iKTsKIAotUHlEb2NfU1RSVkFSKGRvY19jdHhfdG9fc2NpX3N0cmluZywiXG5cCi10b19zY2lfc3RyaW5nKHgpIC0gQ29udmVydCBhIG51bWJlciB0byBhIHN0cmluZyB1c2luZyBzY2llbnRpZmljIG5vdGF0aW9uLlxuXAorUHlEb2NfU1RSVkFSKGRvY19jdHhfdG9fc2NpX3N0cmluZywKKyJ0b19zY2lfc3RyaW5nKCRzZWxmLCB4LCAvKVxuLS1cblxuXAorQ29udmVydCBhIG51bWJlciB0byBhIHN0cmluZyB1c2luZyBzY2llbnRpZmljIG5vdGF0aW9uLlxuXAogXG4iKTsKIAogCmRpZmYgLS1naXQgYS9Nb2R1bGVzL19kZWNpbWFsL3Rlc3RzL2RlY2NoZWNrLnB5IGIvTW9kdWxlcy9fZGVjaW1hbC90ZXN0cy9kZWNjaGVjay5weQppbmRleCBjNGM1YTQ0Li44OTQzM2MwIDEwMDY0NAotLS0gYS9Nb2R1bGVzL19kZWNpbWFsL3Rlc3RzL2RlY2NoZWNrLnB5CisrKyBiL01vZHVsZXMvX2RlY2ltYWwvdGVzdHMvZGVjY2hlY2sucHkKQEAgLTM2LDYgKzM2LDcgQEAKIGZyb20gcmFuZGRlYyBpbXBvcnQgcmFuZGZsb2F0LCBhbGxfdW5hcnksIGFsbF9iaW5hcnksIGFsbF90ZXJuYXJ5CiBmcm9tIHJhbmRkZWMgaW1wb3J0IHVuYXJ5X29wdGFyZywgYmluYXJ5X29wdGFyZywgdGVybmFyeV9vcHRhcmcKIGZyb20gZm9ybWF0aGVscGVyIGltcG9ydCByYW5kX2Zvcm1hdCwgcmFuZF9sb2NhbGUKK2Zyb20gX3B5ZGVjaW1hbCBpbXBvcnQgX2RlY19mcm9tX3RyaXBsZQogCiBDID0gaW1wb3J0X2ZyZXNoX21vZHVsZSgnZGVjaW1hbCcsIGZyZXNoPVsnX2RlY2ltYWwnXSkKIFAgPSBpbXBvcnRfZnJlc2hfbW9kdWxlKCdkZWNpbWFsJywgYmxvY2tlZD1bJ19kZWNpbWFsJ10pCkBAIC0zNzAsNyArMzcxLDcgQEAKICAgICAgICAgcmV0dXJuIGFicyhhIC0gYikKIAogICAgIGRlZiBzdGFuZGFyZF91bHAoc2VsZiwgZGVjLCBwcmVjKToKLSAgICAgICAgcmV0dXJuIFAuX2RlY19mcm9tX3RyaXBsZSgwLCAnMScsIGRlYy5fZXhwK2xlbihkZWMuX2ludCktcHJlYykKKyAgICAgICAgcmV0dXJuIF9kZWNfZnJvbV90cmlwbGUoMCwgJzEnLCBkZWMuX2V4cCtsZW4oZGVjLl9pbnQpLXByZWMpCiAKICAgICBkZWYgcm91bmRpbmdfZGlyZWN0aW9uKHNlbGYsIHgsIG1vZGUpOgogICAgICAgICAiIiJEZXRlcm1pbmUgdGhlIGVmZmVjdGl2ZSBkaXJlY3Rpb24gb2YgdGhlIHJvdW5kaW5nIHdoZW4KQEAgLTQwMSwxMCArNDAyLDEwIEBACiAgICAgICAgICMgQ29udmVydCBpbmZpbml0aWVzIHRvIHRoZSBsYXJnZXN0IHJlcHJlc2VudGFibGUgbnVtYmVyICsgMS4KICAgICAgICAgeCA9IGV4YWN0CiAgICAgICAgIGlmIGV4YWN0LmlzX2luZmluaXRlKCk6Ci0gICAgICAgICAgICB4ID0gUC5fZGVjX2Zyb21fdHJpcGxlKGV4YWN0Ll9zaWduLCAnMTAnLCBjb250ZXh0LnAuRW1heCkKKyAgICAgICAgICAgIHggPSBfZGVjX2Zyb21fdHJpcGxlKGV4YWN0Ll9zaWduLCAnMTAnLCBjb250ZXh0LnAuRW1heCkKICAgICAgICAgeSA9IHJvdW5kZWQKICAgICAgICAgaWYgcm91bmRlZC5pc19pbmZpbml0ZSgpOgotICAgICAgICAgICAgeSA9IFAuX2RlY19mcm9tX3RyaXBsZShyb3VuZGVkLl9zaWduLCAnMTAnLCBjb250ZXh0LnAuRW1heCkKKyAgICAgICAgICAgIHkgPSBfZGVjX2Zyb21fdHJpcGxlKHJvdW5kZWQuX3NpZ24sICcxMCcsIGNvbnRleHQucC5FbWF4KQogCiAgICAgICAgICMgZXJyID0gKHJvdW5kZWQgLSBleGFjdCkgLyB1bHAocm91bmRlZCkKICAgICAgICAgc2VsZi5tYXhjdHgucHJlYyA9IHAgKiAyCmRpZmYgLS1naXQgYS9Nb2R1bGVzL19lbGVtZW50dHJlZS5jIGIvTW9kdWxlcy9fZWxlbWVudHRyZWUuYwppbmRleCBiM2I2OTc2Li5iZjRiYzRhIDEwMDY0NAotLS0gYS9Nb2R1bGVzL19lbGVtZW50dHJlZS5jCisrKyBiL01vZHVsZXMvX2VsZW1lbnR0cmVlLmMKQEAgLTExLDYgKzExLDggQEAKICAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAqLwogCisjZGVmaW5lIFBZX1NTSVpFX1RfQ0xFQU4KKwogI2luY2x1ZGUgIlB5dGhvbi5oIgogI2luY2x1ZGUgInN0cnVjdG1lbWJlci5oIgogCkBAIC0xODUsOCArMTg3LDggQEAKICAgICBQeU9iamVjdCogYXR0cmliOwogCiAgICAgLyogY2hpbGQgZWxlbWVudHMgKi8KLSAgICBpbnQgbGVuZ3RoOyAvKiBhY3R1YWwgbnVtYmVyIG9mIGl0ZW1zICovCi0gICAgaW50IGFsbG9jYXRlZDsgLyogYWxsb2NhdGVkIGl0ZW1zICovCisgICAgUHlfc3NpemVfdCBsZW5ndGg7IC8qIGFjdHVhbCBudW1iZXIgb2YgaXRlbXMgKi8KKyAgICBQeV9zc2l6ZV90IGFsbG9jYXRlZDsgLyogYWxsb2NhdGVkIGl0ZW1zICovCiAKICAgICAvKiB0aGlzIGVpdGhlciBwb2ludHMgdG8gX2NoaWxkcmVuIG9yIHRvIGEgbWFsbG9jZWQgYnVmZmVyICovCiAgICAgUHlPYmplY3QqICpjaGlsZHJlbjsKQEAgLTI1MSw3ICsyNTMsNyBAQAogZGVhbGxvY19leHRyYShFbGVtZW50T2JqZWN0KiBzZWxmKQogewogICAgIEVsZW1lbnRPYmplY3RFeHRyYSAqbXlleHRyYTsKLSAgICBpbnQgaTsKKyAgICBQeV9zc2l6ZV90IGk7CiAKICAgICBpZiAoIXNlbGYtPmV4dHJhKQogICAgICAgICByZXR1cm47CkBAIC00MjksOSArNDMxLDkgQEAKIH0KIAogTE9DQUwoaW50KQotZWxlbWVudF9yZXNpemUoRWxlbWVudE9iamVjdCogc2VsZiwgaW50IGV4dHJhKQorZWxlbWVudF9yZXNpemUoRWxlbWVudE9iamVjdCogc2VsZiwgUHlfc3NpemVfdCBleHRyYSkKIHsKLSAgICBpbnQgc2l6ZTsKKyAgICBQeV9zc2l6ZV90IHNpemU7CiAgICAgUHlPYmplY3QqICpjaGlsZHJlbjsKIAogICAgIC8qIG1ha2Ugc3VyZSBzZWxmLT5jaGlsZHJlbiBjYW4gaG9sZCB0aGUgZ2l2ZW4gbnVtYmVyIG9mIGV4dHJhCkBAIC00NDIsNyArNDQ0LDcgQEAKICAgICAgICAgICAgIHJldHVybiAtMTsKICAgICB9CiAKLSAgICBzaXplID0gc2VsZi0+ZXh0cmEtPmxlbmd0aCArIGV4dHJhOworICAgIHNpemUgPSBzZWxmLT5leHRyYS0+bGVuZ3RoICsgZXh0cmE7ICAvKiBuZXZlciBvdmVyZmxvd3MgKi8KIAogICAgIGlmIChzaXplID4gc2VsZi0+ZXh0cmEtPmFsbG9jYXRlZCkgewogICAgICAgICAvKiB1c2UgUHl0aG9uIDIuNCdzIGxpc3QgZ3Jvd3RoIHN0cmF0ZWd5ICovCkBAIC00NTMsNiArNDU1LDggQEAKICAgICAgICAgICogYmUgc2FmZS4KICAgICAgICAgICovCiAgICAgICAgIHNpemUgPSBzaXplID8gc2l6ZSA6IDE7CisgICAgICAgIGlmICgoc2l6ZV90KXNpemUgPiBQWV9TU0laRV9UX01BWC9zaXplb2YoUHlPYmplY3QqKSkKKyAgICAgICAgICAgIGdvdG8gbm9tZW1vcnk7CiAgICAgICAgIGlmIChzZWxmLT5leHRyYS0+Y2hpbGRyZW4gIT0gc2VsZi0+ZXh0cmEtPl9jaGlsZHJlbikgewogICAgICAgICAgICAgLyogQ292ZXJpdHkgQ0lEICMxODIgc2l6ZV9lcnJvcjogQWxsb2NhdGluZyAxIGJ5dGVzIHRvIHBvaW50ZXIKICAgICAgICAgICAgICAqICJjaGlsZHJlbiIsIHdoaWNoIG5lZWRzIGF0IGxlYXN0IDQgYnl0ZXMuIEFsdGhvdWdoIGl0J3MgYQpAQCAtNjEzLDcgKzYxNyw3IEBACiAgICAgUHlfVklTSVQoSk9JTl9PQkooc2VsZi0+dGFpbCkpOwogCiAgICAgaWYgKHNlbGYtPmV4dHJhKSB7Ci0gICAgICAgIGludCBpOworICAgICAgICBQeV9zc2l6ZV90IGk7CiAgICAgICAgIFB5X1ZJU0lUKHNlbGYtPmV4dHJhLT5hdHRyaWIpOwogCiAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBzZWxmLT5leHRyYS0+bGVuZ3RoOyArK2kpCkBAIC02ODksNyArNjkzLDcgQEAKIHN0YXRpYyBQeU9iamVjdCoKIGVsZW1lbnRfY29weShFbGVtZW50T2JqZWN0KiBzZWxmLCBQeU9iamVjdCogYXJncykKIHsKLSAgICBpbnQgaTsKKyAgICBQeV9zc2l6ZV90IGk7CiAgICAgRWxlbWVudE9iamVjdCogZWxlbWVudDsKIAogICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiOl9fY29weV9fIikpCkBAIC03MjgsNyArNzMyLDcgQEAKIHN0YXRpYyBQeU9iamVjdCoKIGVsZW1lbnRfZGVlcGNvcHkoRWxlbWVudE9iamVjdCogc2VsZiwgUHlPYmplY3QqIGFyZ3MpCiB7Ci0gICAgaW50IGk7CisgICAgUHlfc3NpemVfdCBpOwogICAgIEVsZW1lbnRPYmplY3QqIGVsZW1lbnQ7CiAgICAgUHlPYmplY3QqIHRhZzsKICAgICBQeU9iamVjdCogYXR0cmliOwpAQCAtODM5LDcgKzg0Myw3IEBACiBzdGF0aWMgUHlPYmplY3QgKgogZWxlbWVudF9nZXRzdGF0ZShFbGVtZW50T2JqZWN0ICpzZWxmKQogewotICAgIGludCBpLCBub2F0dHJpYjsKKyAgICBQeV9zc2l6ZV90IGksIG5vYXR0cmliOwogICAgIFB5T2JqZWN0ICppbnN0YW5jZWRpY3QgPSBOVUxMLCAqY2hpbGRyZW47CiAKICAgICAvKiBCdWlsZCBhIGxpc3Qgb2YgY2hpbGRyZW4uICovCkBAIC0xMDc3LDcgKzEwODEsNyBAQAogc3RhdGljIFB5T2JqZWN0KgogZWxlbWVudF9maW5kKEVsZW1lbnRPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dkcykKIHsKLSAgICBpbnQgaTsKKyAgICBQeV9zc2l6ZV90IGk7CiAgICAgUHlPYmplY3QqIHRhZzsKICAgICBQeU9iamVjdCogbmFtZXNwYWNlcyA9IFB5X05vbmU7CiAgICAgc3RhdGljIGNoYXIgKmt3bGlzdFtdID0geyJwYXRoIiwgIm5hbWVzcGFjZXMiLCAwfTsKQEAgLTExMTIsNyArMTExNiw3IEBACiBzdGF0aWMgUHlPYmplY3QqCiBlbGVtZW50X2ZpbmR0ZXh0KEVsZW1lbnRPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dkcykKIHsKLSAgICBpbnQgaTsKKyAgICBQeV9zc2l6ZV90IGk7CiAgICAgUHlPYmplY3QqIHRhZzsKICAgICBQeU9iamVjdCogZGVmYXVsdF92YWx1ZSA9IFB5X05vbmU7CiAgICAgUHlPYmplY3QqIG5hbWVzcGFjZXMgPSBQeV9Ob25lOwpAQCAtMTE1Myw3ICsxMTU3LDcgQEAKIHN0YXRpYyBQeU9iamVjdCoKIGVsZW1lbnRfZmluZGFsbChFbGVtZW50T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3ZHMpCiB7Ci0gICAgaW50IGk7CisgICAgUHlfc3NpemVfdCBpOwogICAgIFB5T2JqZWN0KiBvdXQ7CiAgICAgUHlPYmplY3QqIHRhZzsKICAgICBQeU9iamVjdCogbmFtZXNwYWNlcyA9IFB5X05vbmU7CkBAIC0xMjM4LDcgKzEyNDIsNyBAQAogc3RhdGljIFB5T2JqZWN0KgogZWxlbWVudF9nZXRjaGlsZHJlbihFbGVtZW50T2JqZWN0KiBzZWxmLCBQeU9iamVjdCogYXJncykKIHsKLSAgICBpbnQgaTsKKyAgICBQeV9zc2l6ZV90IGk7CiAgICAgUHlPYmplY3QqIGxpc3Q7CiAKICAgICAvKiBGSVhNRTogcmVwb3J0IGFzIGRlcHJlY2F0ZWQ/ICovCkBAIC0xMzEwLDExICsxMzE0LDkgQEAKIHN0YXRpYyBQeU9iamVjdCoKIGVsZW1lbnRfaW5zZXJ0KEVsZW1lbnRPYmplY3QqIHNlbGYsIFB5T2JqZWN0KiBhcmdzKQogewotICAgIGludCBpOwotCi0gICAgaW50IGluZGV4OworICAgIFB5X3NzaXplX3QgaW5kZXgsIGk7CiAgICAgUHlPYmplY3QqIGVsZW1lbnQ7Ci0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJpTyE6aW5zZXJ0IiwgJmluZGV4LAorICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAibk8hOmluc2VydCIsICZpbmRleCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgJkVsZW1lbnRfVHlwZSwgJmVsZW1lbnQpKQogICAgICAgICByZXR1cm4gTlVMTDsKIApAQCAtMTQwMiw3ICsxNDA0LDcgQEAKIHN0YXRpYyBQeU9iamVjdCoKIGVsZW1lbnRfcmVtb3ZlKEVsZW1lbnRPYmplY3QqIHNlbGYsIFB5T2JqZWN0KiBhcmdzKQogewotICAgIGludCBpOworICAgIFB5X3NzaXplX3QgaTsKIAogICAgIFB5T2JqZWN0KiBlbGVtZW50OwogICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiTyE6cmVtb3ZlIiwgJkVsZW1lbnRfVHlwZSwgJmVsZW1lbnQpKQpAQCAtMTQ4MSw3ICsxNDgzLDcgQEAKIGVsZW1lbnRfc2V0aXRlbShQeU9iamVjdCogc2VsZl8sIFB5X3NzaXplX3QgaW5kZXgsIFB5T2JqZWN0KiBpdGVtKQogewogICAgIEVsZW1lbnRPYmplY3QqIHNlbGYgPSAoRWxlbWVudE9iamVjdCopIHNlbGZfOwotICAgIGludCBpOworICAgIFB5X3NzaXplX3QgaTsKICAgICBQeU9iamVjdCogb2xkOwogCiAgICAgaWYgKCFzZWxmLT5leHRyYSB8fCBpbmRleCA8IDAgfHwgaW5kZXggPj0gc2VsZi0+ZXh0cmEtPmxlbmd0aCkgewpAQCAtMjgxOSwxMiArMjgyMSwxMyBAQAogICogbWVzc2FnZSBzdHJpbmcgaXMgdGhlIGRlZmF1bHQgZm9yIHRoZSBnaXZlbiBlcnJvcl9jb2RlLgogKi8KIHN0YXRpYyB2b2lkCi1leHBhdF9zZXRfZXJyb3IoZW51bSBYTUxfRXJyb3IgZXJyb3JfY29kZSwgaW50IGxpbmUsIGludCBjb2x1bW4sIGNoYXIgKm1lc3NhZ2UpCitleHBhdF9zZXRfZXJyb3IoZW51bSBYTUxfRXJyb3IgZXJyb3JfY29kZSwgUHlfc3NpemVfdCBsaW5lLCBQeV9zc2l6ZV90IGNvbHVtbiwKKyAgICAgICAgICAgICAgICBjb25zdCBjaGFyICptZXNzYWdlKQogewogICAgIFB5T2JqZWN0ICplcnJtc2csICplcnJvciwgKnBvc2l0aW9uLCAqY29kZTsKICAgICBlbGVtZW50dHJlZXN0YXRlICpzdCA9IEVUX1NUQVRFX0dMT0JBTDsKIAotICAgIGVycm1zZyA9IFB5VW5pY29kZV9Gcm9tRm9ybWF0KCIlczogbGluZSAlZCwgY29sdW1uICVkIiwKKyAgICBlcnJtc2cgPSBQeVVuaWNvZGVfRnJvbUZvcm1hdCgiJXM6IGxpbmUgJXpkLCBjb2x1bW4gJXpkIiwKICAgICAgICAgICAgICAgICBtZXNzYWdlID8gbWVzc2FnZSA6IEVYUEFUKEVycm9yU3RyaW5nKShlcnJvcl9jb2RlKSwKICAgICAgICAgICAgICAgICBsaW5lLCBjb2x1bW4pOwogICAgIGlmIChlcnJtc2cgPT0gTlVMTCkKQEAgLTI4NDgsNyArMjg1MSw3IEBACiAgICAgfQogICAgIFB5X0RFQ1JFRihjb2RlKTsKIAotICAgIHBvc2l0aW9uID0gUHlfQnVpbGRWYWx1ZSgiKGlpKSIsIGxpbmUsIGNvbHVtbik7CisgICAgcG9zaXRpb24gPSBQeV9CdWlsZFZhbHVlKCIobm4pIiwgbGluZSwgY29sdW1uKTsKICAgICBpZiAoIXBvc2l0aW9uKSB7CiAgICAgICAgIFB5X0RFQ1JFRihlcnJvcik7CiAgICAgICAgIHJldHVybjsKQEAgLTM0NzcsOCArMzQ4MCwxNCBAQAogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KIAorICAgICAgICBpZiAoUHlCeXRlc19HRVRfU0laRShidWZmZXIpID4gSU5UX01BWCkgeworICAgICAgICAgICAgUHlfREVDUkVGKGJ1ZmZlcik7CisgICAgICAgICAgICBQeV9ERUNSRUYocmVhZGVyKTsKKyAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19PdmVyZmxvd0Vycm9yLCAic2l6ZSBkb2VzIG5vdCBmaXQgaW4gYW4gaW50Iik7CisgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgfQogICAgICAgICByZXMgPSBleHBhdF9wYXJzZSgKLSAgICAgICAgICAgIHNlbGYsIFB5Qnl0ZXNfQVNfU1RSSU5HKGJ1ZmZlciksIFB5Qnl0ZXNfR0VUX1NJWkUoYnVmZmVyKSwgMAorICAgICAgICAgICAgc2VsZiwgUHlCeXRlc19BU19TVFJJTkcoYnVmZmVyKSwgKGludClQeUJ5dGVzX0dFVF9TSVpFKGJ1ZmZlciksIDAKICAgICAgICAgICAgICk7CiAKICAgICAgICAgUHlfREVDUkVGKGJ1ZmZlcik7CkBAIC0zNzQxLDcgKzM3NTAsNyBAQAogICAgIGlmIChleHBhdF9jYXBpKSB7CiAgICAgICAgIC8qIGNoZWNrIHRoYXQgaXQncyB1c2FibGUgKi8KICAgICAgICAgaWYgKHN0cmNtcChleHBhdF9jYXBpLT5tYWdpYywgUHlFeHBhdF9DQVBJX01BR0lDKSAhPSAwIHx8Ci0gICAgICAgICAgICBleHBhdF9jYXBpLT5zaXplIDwgc2l6ZW9mKHN0cnVjdCBQeUV4cGF0X0NBUEkpIHx8CisgICAgICAgICAgICAoc2l6ZV90KWV4cGF0X2NhcGktPnNpemUgPCBzaXplb2Yoc3RydWN0IFB5RXhwYXRfQ0FQSSkgfHwKICAgICAgICAgICAgIGV4cGF0X2NhcGktPk1BSk9SX1ZFUlNJT04gIT0gWE1MX01BSk9SX1ZFUlNJT04gfHwKICAgICAgICAgICAgIGV4cGF0X2NhcGktPk1JTk9SX1ZFUlNJT04gIT0gWE1MX01JTk9SX1ZFUlNJT04gfHwKICAgICAgICAgICAgIGV4cGF0X2NhcGktPk1JQ1JPX1ZFUlNJT04gIT0gWE1MX01JQ1JPX1ZFUlNJT04pIHsKZGlmZiAtLWdpdCBhL01vZHVsZXMvX2hhc2hvcGVuc3NsLmMgYi9Nb2R1bGVzL19oYXNob3BlbnNzbC5jCmluZGV4IDZhMmE5YWYuLjE1NjZiMTggMTAwNjQ0Ci0tLSBhL01vZHVsZXMvX2hhc2hvcGVuc3NsLmMKKysrIGIvTW9kdWxlcy9faGFzaG9wZW5zc2wuYwpAQCAtMzEsMTAgKzMxLDYgQEAKICNkZWZpbmUgSEFTSF9PQkpfQ09OU1RSVUNUT1IgMAogI2VuZGlmCiAKLS8qIE1pbmltdW0gT3BlblNTTCB2ZXJzaW9uIG5lZWRlZCB0byBzdXBwb3J0IHNoYTIyNCBhbmQgaGlnaGVyLiAqLwotI2lmIGRlZmluZWQoT1BFTlNTTF9WRVJTSU9OX05VTUJFUikgJiYgKE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPj0gMHgwMDkwODAwMCkKLSNkZWZpbmUgX09QRU5TU0xfU1VQUE9SVFNfU0hBMgotI2VuZGlmCiAKIHR5cGVkZWYgc3RydWN0IHsKICAgICBQeU9iamVjdF9IRUFECkBAIC01NiwxMiArNTIsMTAgQEAKIAogREVGSU5FX0NPTlNUU19GT1JfTkVXKG1kNSkKIERFRklORV9DT05TVFNfRk9SX05FVyhzaGExKQotI2lmZGVmIF9PUEVOU1NMX1NVUFBPUlRTX1NIQTIKIERFRklORV9DT05TVFNfRk9SX05FVyhzaGEyMjQpCiBERUZJTkVfQ09OU1RTX0ZPUl9ORVcoc2hhMjU2KQogREVGSU5FX0NPTlNUU19GT1JfTkVXKHNoYTM4NCkKIERFRklORV9DT05TVFNfRk9SX05FVyhzaGE1MTIpCi0jZW5kaWYKIAogCiBzdGF0aWMgRVZQb2JqZWN0ICoKQEAgLTc5OCwxMiArNzkyLDEwIEBACiAKIEdFTl9DT05TVFJVQ1RPUihtZDUpCiBHRU5fQ09OU1RSVUNUT1Ioc2hhMSkKLSNpZmRlZiBfT1BFTlNTTF9TVVBQT1JUU19TSEEyCiBHRU5fQ09OU1RSVUNUT1Ioc2hhMjI0KQogR0VOX0NPTlNUUlVDVE9SKHNoYTI1NikKIEdFTl9DT05TVFJVQ1RPUihzaGEzODQpCiBHRU5fQ09OU1RSVUNUT1Ioc2hhNTEyKQotI2VuZGlmCiAKIC8qIExpc3Qgb2YgZnVuY3Rpb25zIGV4cG9ydGVkIGJ5IHRoaXMgbW9kdWxlICovCiAKQEAgLTgxNSwxMiArODA3LDEwIEBACiAjZW5kaWYKICAgICBDT05TVFJVQ1RPUl9NRVRIX0RFRihtZDUpLAogICAgIENPTlNUUlVDVE9SX01FVEhfREVGKHNoYTEpLAotI2lmZGVmIF9PUEVOU1NMX1NVUFBPUlRTX1NIQTIKICAgICBDT05TVFJVQ1RPUl9NRVRIX0RFRihzaGEyMjQpLAogICAgIENPTlNUUlVDVE9SX01FVEhfREVGKHNoYTI1NiksCiAgICAgQ09OU1RSVUNUT1JfTUVUSF9ERUYoc2hhMzg0KSwKICAgICBDT05TVFJVQ1RPUl9NRVRIX0RFRihzaGE1MTIpLAotI2VuZGlmCiAgICAge05VTEwsICAgICAgTlVMTH0gICAgICAgICAgICAvKiBTZW50aW5lbCAqLwogfTsKIApAQCAtODc3LDExICs4NjcsOSBAQAogICAgIC8qIHRoZXNlIGNvbnN0YW50cyBhcmUgdXNlZCBieSB0aGUgY29udmVuaWVuY2UgY29uc3RydWN0b3JzICovCiAgICAgSU5JVF9DT05TVFJVQ1RPUl9DT05TVEFOVFMobWQ1KTsKICAgICBJTklUX0NPTlNUUlVDVE9SX0NPTlNUQU5UUyhzaGExKTsKLSNpZmRlZiBfT1BFTlNTTF9TVVBQT1JUU19TSEEyCiAgICAgSU5JVF9DT05TVFJVQ1RPUl9DT05TVEFOVFMoc2hhMjI0KTsKICAgICBJTklUX0NPTlNUUlVDVE9SX0NPTlNUQU5UUyhzaGEyNTYpOwogICAgIElOSVRfQ09OU1RSVUNUT1JfQ09OU1RBTlRTKHNoYTM4NCk7CiAgICAgSU5JVF9DT05TVFJVQ1RPUl9DT05TVEFOVFMoc2hhNTEyKTsKLSNlbmRpZgogICAgIHJldHVybiBtOwogfQpkaWZmIC0tZ2l0IGEvTW9kdWxlcy9faGVhcHFtb2R1bGUuYyBiL01vZHVsZXMvX2hlYXBxbW9kdWxlLmMKaW5kZXggZWVlNTZhMC4uNDM3MmFkNCAxMDA2NDQKLS0tIGEvTW9kdWxlcy9faGVhcHFtb2R1bGUuYworKysgYi9Nb2R1bGVzL19oZWFwcW1vZHVsZS5jCkBAIC05LDEyICs5LDExIEBACiAjaW5jbHVkZSAiUHl0aG9uLmgiCiAKIHN0YXRpYyBpbnQKLV9zaWZ0ZG93bihQeUxpc3RPYmplY3QgKmhlYXAsIFB5X3NzaXplX3Qgc3RhcnRwb3MsIFB5X3NzaXplX3QgcG9zKQorc2lmdGRvd24oUHlMaXN0T2JqZWN0ICpoZWFwLCBQeV9zc2l6ZV90IHN0YXJ0cG9zLCBQeV9zc2l6ZV90IHBvcykKIHsKLSAgICBQeU9iamVjdCAqbmV3aXRlbSwgKnBhcmVudCwgKm9sZGl0ZW07CisgICAgUHlPYmplY3QgKm5ld2l0ZW0sICpwYXJlbnQ7CisgICAgUHlfc3NpemVfdCBwYXJlbnRwb3MsIHNpemU7CiAgICAgaW50IGNtcDsKLSAgICBQeV9zc2l6ZV90IHBhcmVudHBvczsKLSAgICBQeV9zc2l6ZV90IHNpemU7CiAKICAgICBhc3NlcnQoUHlMaXN0X0NoZWNrKGhlYXApKTsKICAgICBzaXplID0gUHlMaXN0X0dFVF9TSVpFKGhlYXApOwpAQCAtMjMsNjAgKzIyLDQ1IEBACiAgICAgICAgIHJldHVybiAtMTsKICAgICB9CiAKLSAgICBuZXdpdGVtID0gUHlMaXN0X0dFVF9JVEVNKGhlYXAsIHBvcyk7Ci0gICAgUHlfSU5DUkVGKG5ld2l0ZW0pOwogICAgIC8qIEZvbGxvdyB0aGUgcGF0aCB0byB0aGUgcm9vdCwgbW92aW5nIHBhcmVudHMgZG93biB1bnRpbCBmaW5kaW5nCiAgICAgICAgYSBwbGFjZSBuZXdpdGVtIGZpdHMuICovCi0gICAgd2hpbGUgKHBvcyA+IHN0YXJ0cG9zKXsKKyAgICBuZXdpdGVtID0gUHlMaXN0X0dFVF9JVEVNKGhlYXAsIHBvcyk7CisgICAgd2hpbGUgKHBvcyA+IHN0YXJ0cG9zKSB7CiAgICAgICAgIHBhcmVudHBvcyA9IChwb3MgLSAxKSA+PiAxOwogICAgICAgICBwYXJlbnQgPSBQeUxpc3RfR0VUX0lURU0oaGVhcCwgcGFyZW50cG9zKTsKICAgICAgICAgY21wID0gUHlPYmplY3RfUmljaENvbXBhcmVCb29sKG5ld2l0ZW0sIHBhcmVudCwgUHlfTFQpOwotICAgICAgICBpZiAoY21wID09IC0xKSB7Ci0gICAgICAgICAgICBQeV9ERUNSRUYobmV3aXRlbSk7CisgICAgICAgIGlmIChjbXAgPT0gLTEpCiAgICAgICAgICAgICByZXR1cm4gLTE7Ci0gICAgICAgIH0KICAgICAgICAgaWYgKHNpemUgIT0gUHlMaXN0X0dFVF9TSVpFKGhlYXApKSB7Ci0gICAgICAgICAgICBQeV9ERUNSRUYobmV3aXRlbSk7CiAgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfUnVudGltZUVycm9yLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsaXN0IGNoYW5nZWQgc2l6ZSBkdXJpbmcgaXRlcmF0aW9uIik7CiAgICAgICAgICAgICByZXR1cm4gLTE7CiAgICAgICAgIH0KICAgICAgICAgaWYgKGNtcCA9PSAwKQogICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIFB5X0lOQ1JFRihwYXJlbnQpOwotICAgICAgICBvbGRpdGVtID0gUHlMaXN0X0dFVF9JVEVNKGhlYXAsIHBvcyk7CisgICAgICAgIHBhcmVudCA9IFB5TGlzdF9HRVRfSVRFTShoZWFwLCBwYXJlbnRwb3MpOworICAgICAgICBuZXdpdGVtID0gUHlMaXN0X0dFVF9JVEVNKGhlYXAsIHBvcyk7CisgICAgICAgIFB5TGlzdF9TRVRfSVRFTShoZWFwLCBwYXJlbnRwb3MsIG5ld2l0ZW0pOwogICAgICAgICBQeUxpc3RfU0VUX0lURU0oaGVhcCwgcG9zLCBwYXJlbnQpOwotICAgICAgICBQeV9ERUNSRUYob2xkaXRlbSk7CiAgICAgICAgIHBvcyA9IHBhcmVudHBvczsKLSAgICAgICAgaWYgKHNpemUgIT0gUHlMaXN0X0dFVF9TSVpFKGhlYXApKSB7Ci0gICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfUnVudGltZUVycm9yLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsaXN0IGNoYW5nZWQgc2l6ZSBkdXJpbmcgaXRlcmF0aW9uIik7Ci0gICAgICAgICAgICByZXR1cm4gLTE7Ci0gICAgICAgIH0KICAgICB9Ci0gICAgUHlfREVDUkVGKFB5TGlzdF9HRVRfSVRFTShoZWFwLCBwb3MpKTsKLSAgICBQeUxpc3RfU0VUX0lURU0oaGVhcCwgcG9zLCBuZXdpdGVtKTsKICAgICByZXR1cm4gMDsKIH0KIAogc3RhdGljIGludAotX3NpZnR1cChQeUxpc3RPYmplY3QgKmhlYXAsIFB5X3NzaXplX3QgcG9zKQorc2lmdHVwKFB5TGlzdE9iamVjdCAqaGVhcCwgUHlfc3NpemVfdCBwb3MpCiB7CiAgICAgUHlfc3NpemVfdCBzdGFydHBvcywgZW5kcG9zLCBjaGlsZHBvcywgcmlnaHRwb3MsIGxpbWl0OworICAgIFB5T2JqZWN0ICp0bXAxLCAqdG1wMjsKICAgICBpbnQgY21wOwotICAgIFB5T2JqZWN0ICpuZXdpdGVtLCAqdG1wLCAqb2xkaXRlbTsKLSAgICBQeV9zc2l6ZV90IHNpemU7CiAKICAgICBhc3NlcnQoUHlMaXN0X0NoZWNrKGhlYXApKTsKLSAgICBzaXplID0gUHlMaXN0X0dFVF9TSVpFKGhlYXApOwotICAgIGVuZHBvcyA9IHNpemU7CisgICAgZW5kcG9zID0gUHlMaXN0X0dFVF9TSVpFKGhlYXApOwogICAgIHN0YXJ0cG9zID0gcG9zOwogICAgIGlmIChwb3MgPj0gZW5kcG9zKSB7CiAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19JbmRleEVycm9yLCAiaW5kZXggb3V0IG9mIHJhbmdlIik7CiAgICAgICAgIHJldHVybiAtMTsKICAgICB9Ci0gICAgbmV3aXRlbSA9IFB5TGlzdF9HRVRfSVRFTShoZWFwLCBwb3MpOwotICAgIFB5X0lOQ1JFRihuZXdpdGVtKTsKIAogICAgIC8qIEJ1YmJsZSB1cCB0aGUgc21hbGxlciBjaGlsZCB1bnRpbCBoaXR0aW5nIGEgbGVhZi4gKi8KICAgICBsaW1pdCA9IGVuZHBvcyAvIDI7ICAgICAgICAgIC8qIHNtYWxsZXN0IHBvcyB0aGF0IGhhcyBubyBjaGlsZCAqLwpAQCAtODksMzggKzczLDI1IEBACiAgICAgICAgICAgICAgICAgUHlMaXN0X0dFVF9JVEVNKGhlYXAsIGNoaWxkcG9zKSwKICAgICAgICAgICAgICAgICBQeUxpc3RfR0VUX0lURU0oaGVhcCwgcmlnaHRwb3MpLAogICAgICAgICAgICAgICAgIFB5X0xUKTsKLSAgICAgICAgICAgIGlmIChjbXAgPT0gLTEpIHsKLSAgICAgICAgICAgICAgICBQeV9ERUNSRUYobmV3aXRlbSk7CisgICAgICAgICAgICBpZiAoY21wID09IC0xKQogICAgICAgICAgICAgICAgIHJldHVybiAtMTsKLSAgICAgICAgICAgIH0KICAgICAgICAgICAgIGlmIChjbXAgPT0gMCkKICAgICAgICAgICAgICAgICBjaGlsZHBvcyA9IHJpZ2h0cG9zOwotICAgICAgICB9Ci0gICAgICAgIGlmIChzaXplICE9IFB5TGlzdF9HRVRfU0laRShoZWFwKSkgewotICAgICAgICAgICAgUHlfREVDUkVGKG5ld2l0ZW0pOwotICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1J1bnRpbWVFcnJvciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGlzdCBjaGFuZ2VkIHNpemUgZHVyaW5nIGl0ZXJhdGlvbiIpOwotICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICAgICAgaWYgKGVuZHBvcyAhPSBQeUxpc3RfR0VUX1NJWkUoaGVhcCkpIHsKKyAgICAgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfUnVudGltZUVycm9yLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGlzdCBjaGFuZ2VkIHNpemUgZHVyaW5nIGl0ZXJhdGlvbiIpOworICAgICAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgICAgICAvKiBNb3ZlIHRoZSBzbWFsbGVyIGNoaWxkIHVwLiAqLwotICAgICAgICB0bXAgPSBQeUxpc3RfR0VUX0lURU0oaGVhcCwgY2hpbGRwb3MpOwotICAgICAgICBQeV9JTkNSRUYodG1wKTsKLSAgICAgICAgb2xkaXRlbSA9IFB5TGlzdF9HRVRfSVRFTShoZWFwLCBwb3MpOwotICAgICAgICBQeUxpc3RfU0VUX0lURU0oaGVhcCwgcG9zLCB0bXApOwotICAgICAgICBQeV9ERUNSRUYob2xkaXRlbSk7CisgICAgICAgIHRtcDEgPSBQeUxpc3RfR0VUX0lURU0oaGVhcCwgY2hpbGRwb3MpOworICAgICAgICB0bXAyID0gUHlMaXN0X0dFVF9JVEVNKGhlYXAsIHBvcyk7CisgICAgICAgIFB5TGlzdF9TRVRfSVRFTShoZWFwLCBjaGlsZHBvcywgdG1wMik7CisgICAgICAgIFB5TGlzdF9TRVRfSVRFTShoZWFwLCBwb3MsIHRtcDEpOwogICAgICAgICBwb3MgPSBjaGlsZHBvczsKLSAgICAgICAgaWYgKHNpemUgIT0gUHlMaXN0X0dFVF9TSVpFKGhlYXApKSB7Ci0gICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfUnVudGltZUVycm9yLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsaXN0IGNoYW5nZWQgc2l6ZSBkdXJpbmcgaXRlcmF0aW9uIik7Ci0gICAgICAgICAgICByZXR1cm4gLTE7Ci0gICAgICAgIH0KICAgICB9Ci0KLSAgICAvKiBUaGUgbGVhZiBhdCBwb3MgaXMgZW1wdHkgbm93LiAgUHV0IG5ld2l0ZW0gdGhlcmUsIGFuZCBidWJibGUKLSAgICAgICBpdCB1cCB0byBpdHMgZmluYWwgcmVzdGluZyBwbGFjZSAoYnkgc2lmdGluZyBpdHMgcGFyZW50cyBkb3duKS4gKi8KLSAgICBQeV9ERUNSRUYoUHlMaXN0X0dFVF9JVEVNKGhlYXAsIHBvcykpOwotICAgIFB5TGlzdF9TRVRfSVRFTShoZWFwLCBwb3MsIG5ld2l0ZW0pOwotICAgIHJldHVybiBfc2lmdGRvd24oaGVhcCwgc3RhcnRwb3MsIHBvcyk7CisgICAgLyogQnViYmxlIGl0IHVwIHRvIGl0cyBmaW5hbCByZXN0aW5nIHBsYWNlIChieSBzaWZ0aW5nIGl0cyBwYXJlbnRzIGRvd24pLiAqLworICAgIHJldHVybiBzaWZ0ZG93bihoZWFwLCBzdGFydHBvcywgcG9zKTsKIH0KIAogc3RhdGljIFB5T2JqZWN0ICoKQEAgLTEzOSwxNyArMTEwLDE2IEBACiAgICAgaWYgKFB5TGlzdF9BcHBlbmQoaGVhcCwgaXRlbSkgPT0gLTEpCiAgICAgICAgIHJldHVybiBOVUxMOwogCi0gICAgaWYgKF9zaWZ0ZG93bigoUHlMaXN0T2JqZWN0ICopaGVhcCwgMCwgUHlMaXN0X0dFVF9TSVpFKGhlYXApLTEpID09IC0xKQorICAgIGlmIChzaWZ0ZG93bigoUHlMaXN0T2JqZWN0ICopaGVhcCwgMCwgUHlMaXN0X0dFVF9TSVpFKGhlYXApLTEpID09IC0xKQogICAgICAgICByZXR1cm4gTlVMTDsKLSAgICBQeV9JTkNSRUYoUHlfTm9uZSk7Ci0gICAgcmV0dXJuIFB5X05vbmU7CisgICAgUHlfUkVUVVJOX05PTkU7CiB9CiAKIFB5RG9jX1NUUlZBUihoZWFwcHVzaF9kb2MsCiAiaGVhcHB1c2goaGVhcCwgaXRlbSkgLT4gTm9uZS4gUHVzaCBpdGVtIG9udG8gaGVhcCwgbWFpbnRhaW5pbmcgdGhlIGhlYXAgaW52YXJpYW50LiIpOwogCiBzdGF0aWMgUHlPYmplY3QgKgotaGVhcHBvcChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmhlYXApCitoZWFwcG9wX2ludGVybmFsKFB5T2JqZWN0ICpoZWFwLCBpbnQgc2lmdHVwX2Z1bmMoUHlMaXN0T2JqZWN0ICosIFB5X3NzaXplX3QpKQogewogICAgIFB5T2JqZWN0ICpsYXN0ZWx0LCAqcmV0dXJuaXRlbTsKICAgICBQeV9zc2l6ZV90IG47CkBAIC0xNTksNyArMTI5LDcgQEAKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQogCi0gICAgLyogIyByYWlzZXMgYXBwcm9wcmlhdGUgSW5kZXhFcnJvciBpZiBoZWFwIGlzIGVtcHR5ICovCisgICAgLyogcmFpc2VzIEluZGV4RXJyb3IgaWYgdGhlIGhlYXAgaXMgZW1wdHkgKi8KICAgICBuID0gUHlMaXN0X0dFVF9TSVpFKGhlYXApOwogICAgIGlmIChuID09IDApIHsKICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX0luZGV4RXJyb3IsICJpbmRleCBvdXQgb2YgcmFuZ2UiKTsKQEAgLTE3OCwxOCArMTQ4LDI0IEBACiAgICAgICAgIHJldHVybiBsYXN0ZWx0OwogICAgIHJldHVybml0ZW0gPSBQeUxpc3RfR0VUX0lURU0oaGVhcCwgMCk7CiAgICAgUHlMaXN0X1NFVF9JVEVNKGhlYXAsIDAsIGxhc3RlbHQpOwotICAgIGlmIChfc2lmdHVwKChQeUxpc3RPYmplY3QgKiloZWFwLCAwKSA9PSAtMSkgeworICAgIGlmIChzaWZ0dXBfZnVuYygoUHlMaXN0T2JqZWN0ICopaGVhcCwgMCkgPT0gLTEpIHsKICAgICAgICAgUHlfREVDUkVGKHJldHVybml0ZW0pOwogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CiAgICAgcmV0dXJuIHJldHVybml0ZW07CiB9CiAKK3N0YXRpYyBQeU9iamVjdCAqCitoZWFwcG9wKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqaGVhcCkKK3sKKyAgICByZXR1cm4gaGVhcHBvcF9pbnRlcm5hbChoZWFwLCBzaWZ0dXApOworfQorCiBQeURvY19TVFJWQVIoaGVhcHBvcF9kb2MsCiAiUG9wIHRoZSBzbWFsbGVzdCBpdGVtIG9mZiB0aGUgaGVhcCwgbWFpbnRhaW5pbmcgdGhlIGhlYXAgaW52YXJpYW50LiIpOwogCiBzdGF0aWMgUHlPYmplY3QgKgotaGVhcHJlcGxhY2UoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQoraGVhcHJlcGxhY2VfaW50ZXJuYWwoUHlPYmplY3QgKmFyZ3MsIGludCBzaWZ0dXBfZnVuYyhQeUxpc3RPYmplY3QgKiwgUHlfc3NpemVfdCkpCiB7CiAgICAgUHlPYmplY3QgKmhlYXAsICppdGVtLCAqcmV0dXJuaXRlbTsKIApAQCAtMjA5LDEzICsxODUsMTkgQEAKICAgICByZXR1cm5pdGVtID0gUHlMaXN0X0dFVF9JVEVNKGhlYXAsIDApOwogICAgIFB5X0lOQ1JFRihpdGVtKTsKICAgICBQeUxpc3RfU0VUX0lURU0oaGVhcCwgMCwgaXRlbSk7Ci0gICAgaWYgKF9zaWZ0dXAoKFB5TGlzdE9iamVjdCAqKWhlYXAsIDApID09IC0xKSB7CisgICAgaWYgKHNpZnR1cF9mdW5jKChQeUxpc3RPYmplY3QgKiloZWFwLCAwKSA9PSAtMSkgewogICAgICAgICBQeV9ERUNSRUYocmV0dXJuaXRlbSk7CiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KICAgICByZXR1cm4gcmV0dXJuaXRlbTsKIH0KIAorc3RhdGljIFB5T2JqZWN0ICoKK2hlYXByZXBsYWNlKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK3sKKyAgICByZXR1cm4gaGVhcHJlcGxhY2VfaW50ZXJuYWwoYXJncywgc2lmdHVwKTsKK30KKwogUHlEb2NfU1RSVkFSKGhlYXByZXBsYWNlX2RvYywKICJoZWFwcmVwbGFjZShoZWFwLCBpdGVtKSAtPiB2YWx1ZS4gUG9wIGFuZCByZXR1cm4gdGhlIGN1cnJlbnQgc21hbGxlc3QgdmFsdWUsIGFuZCBhZGQgdGhlIG5ldyBpdGVtLlxuXAogXG5cCkBAIC0yNTYsNyArMjM4LDcgQEAKICAgICByZXR1cm5pdGVtID0gUHlMaXN0X0dFVF9JVEVNKGhlYXAsIDApOwogICAgIFB5X0lOQ1JFRihpdGVtKTsKICAgICBQeUxpc3RfU0VUX0lURU0oaGVhcCwgMCwgaXRlbSk7Ci0gICAgaWYgKF9zaWZ0dXAoKFB5TGlzdE9iamVjdCAqKWhlYXAsIDApID09IC0xKSB7CisgICAgaWYgKHNpZnR1cCgoUHlMaXN0T2JqZWN0ICopaGVhcCwgMCkgPT0gLTEpIHsKICAgICAgICAgUHlfREVDUkVGKHJldHVybml0ZW0pOwogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CkBAIC0yNjksNyArMjUxLDcgQEAKIGhlYXBwdXNoKCkgZm9sbG93ZWQgYnkgYSBzZXBhcmF0ZSBjYWxsIHRvIGhlYXBwb3AoKS4iKTsKIAogc3RhdGljIFB5T2JqZWN0ICoKLWhlYXBpZnkoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpoZWFwKQoraGVhcGlmeV9pbnRlcm5hbChQeU9iamVjdCAqaGVhcCwgaW50IHNpZnR1cF9mdW5jKFB5TGlzdE9iamVjdCAqLCBQeV9zc2l6ZV90KSkKIHsKICAgICBQeV9zc2l6ZV90IGksIG47CiAKQEAgLTI4NywxNDEgKzI2OSw2NSBAQAogICAgICAgIGFuZCB0aGF0J3MgYWdhaW4gbi8vMi0xLgogICAgICovCiAgICAgZm9yIChpPW4vMi0xIDsgaT49MCA7IGktLSkKLSAgICAgICAgaWYoX3NpZnR1cCgoUHlMaXN0T2JqZWN0ICopaGVhcCwgaSkgPT0gLTEpCisgICAgICAgIGlmKHNpZnR1cF9mdW5jKChQeUxpc3RPYmplY3QgKiloZWFwLCBpKSA9PSAtMSkKICAgICAgICAgICAgIHJldHVybiBOVUxMOwotICAgIFB5X0lOQ1JFRihQeV9Ob25lKTsKLSAgICByZXR1cm4gUHlfTm9uZTsKKyAgICBQeV9SRVRVUk5fTk9ORTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK2hlYXBpZnkoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpoZWFwKQoreworICAgIHJldHVybiBoZWFwaWZ5X2ludGVybmFsKGhlYXAsIHNpZnR1cCk7CiB9CiAKIFB5RG9jX1NUUlZBUihoZWFwaWZ5X2RvYywKICJUcmFuc2Zvcm0gbGlzdCBpbnRvIGEgaGVhcCwgaW4tcGxhY2UsIGluIE8obGVuKGhlYXApKSB0aW1lLiIpOwogCi1zdGF0aWMgUHlPYmplY3QgKgotbmxhcmdlc3QoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQotewotICAgIFB5T2JqZWN0ICpoZWFwPU5VTEwsICplbGVtLCAqaXRlcmFibGUsICpzb2wsICppdCwgKm9sZGVsZW07Ci0gICAgUHlfc3NpemVfdCBpLCBuOwotICAgIGludCBjbXA7Ci0KLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgIm5POm5sYXJnZXN0IiwgJm4sICZpdGVyYWJsZSkpCi0gICAgICAgIHJldHVybiBOVUxMOwotCi0gICAgaXQgPSBQeU9iamVjdF9HZXRJdGVyKGl0ZXJhYmxlKTsKLSAgICBpZiAoaXQgPT0gTlVMTCkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0KLSAgICBoZWFwID0gUHlMaXN0X05ldygwKTsKLSAgICBpZiAoaGVhcCA9PSBOVUxMKQotICAgICAgICBnb3RvIGZhaWw7Ci0KLSAgICBmb3IgKGk9MCA7IGk8biA7IGkrKyApewotICAgICAgICBlbGVtID0gUHlJdGVyX05leHQoaXQpOwotICAgICAgICBpZiAoZWxlbSA9PSBOVUxMKSB7Ci0gICAgICAgICAgICBpZiAoUHlFcnJfT2NjdXJyZWQoKSkKLSAgICAgICAgICAgICAgICBnb3RvIGZhaWw7Ci0gICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgZ290byBzb3J0aXQ7Ci0gICAgICAgIH0KLSAgICAgICAgaWYgKFB5TGlzdF9BcHBlbmQoaGVhcCwgZWxlbSkgPT0gLTEpIHsKLSAgICAgICAgICAgIFB5X0RFQ1JFRihlbGVtKTsKLSAgICAgICAgICAgIGdvdG8gZmFpbDsKLSAgICAgICAgfQotICAgICAgICBQeV9ERUNSRUYoZWxlbSk7Ci0gICAgfQotICAgIGlmIChQeUxpc3RfR0VUX1NJWkUoaGVhcCkgPT0gMCkKLSAgICAgICAgZ290byBzb3J0aXQ7Ci0KLSAgICBmb3IgKGk9bi8yLTEgOyBpPj0wIDsgaS0tKQotICAgICAgICBpZihfc2lmdHVwKChQeUxpc3RPYmplY3QgKiloZWFwLCBpKSA9PSAtMSkKLSAgICAgICAgICAgIGdvdG8gZmFpbDsKLQotICAgIHNvbCA9IFB5TGlzdF9HRVRfSVRFTShoZWFwLCAwKTsKLSAgICB3aGlsZSAoMSkgewotICAgICAgICBlbGVtID0gUHlJdGVyX05leHQoaXQpOwotICAgICAgICBpZiAoZWxlbSA9PSBOVUxMKSB7Ci0gICAgICAgICAgICBpZiAoUHlFcnJfT2NjdXJyZWQoKSkKLSAgICAgICAgICAgICAgICBnb3RvIGZhaWw7Ci0gICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgZ290byBzb3J0aXQ7Ci0gICAgICAgIH0KLSAgICAgICAgY21wID0gUHlPYmplY3RfUmljaENvbXBhcmVCb29sKHNvbCwgZWxlbSwgUHlfTFQpOwotICAgICAgICBpZiAoY21wID09IC0xKSB7Ci0gICAgICAgICAgICBQeV9ERUNSRUYoZWxlbSk7Ci0gICAgICAgICAgICBnb3RvIGZhaWw7Ci0gICAgICAgIH0KLSAgICAgICAgaWYgKGNtcCA9PSAwKSB7Ci0gICAgICAgICAgICBQeV9ERUNSRUYoZWxlbSk7Ci0gICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgfQotICAgICAgICBvbGRlbGVtID0gUHlMaXN0X0dFVF9JVEVNKGhlYXAsIDApOwotICAgICAgICBQeUxpc3RfU0VUX0lURU0oaGVhcCwgMCwgZWxlbSk7Ci0gICAgICAgIFB5X0RFQ1JFRihvbGRlbGVtKTsKLSAgICAgICAgaWYgKF9zaWZ0dXAoKFB5TGlzdE9iamVjdCAqKWhlYXAsIDApID09IC0xKQotICAgICAgICAgICAgZ290byBmYWlsOwotICAgICAgICBzb2wgPSBQeUxpc3RfR0VUX0lURU0oaGVhcCwgMCk7Ci0gICAgfQotc29ydGl0OgotICAgIGlmIChQeUxpc3RfU29ydChoZWFwKSA9PSAtMSkKLSAgICAgICAgZ290byBmYWlsOwotICAgIGlmIChQeUxpc3RfUmV2ZXJzZShoZWFwKSA9PSAtMSkKLSAgICAgICAgZ290byBmYWlsOwotICAgIFB5X0RFQ1JFRihpdCk7Ci0gICAgcmV0dXJuIGhlYXA7Ci0KLWZhaWw6Ci0gICAgUHlfREVDUkVGKGl0KTsKLSAgICBQeV9YREVDUkVGKGhlYXApOwotICAgIHJldHVybiBOVUxMOwotfQotCi1QeURvY19TVFJWQVIobmxhcmdlc3RfZG9jLAotIkZpbmQgdGhlIG4gbGFyZ2VzdCBlbGVtZW50cyBpbiBhIGRhdGFzZXQuXG5cCi1cblwKLUVxdWl2YWxlbnQgdG86ICBzb3J0ZWQoaXRlcmFibGUsIHJldmVyc2U9VHJ1ZSlbOm5dXG4iKTsKLQogc3RhdGljIGludAotX3NpZnRkb3dubWF4KFB5TGlzdE9iamVjdCAqaGVhcCwgUHlfc3NpemVfdCBzdGFydHBvcywgUHlfc3NpemVfdCBwb3MpCitzaWZ0ZG93bl9tYXgoUHlMaXN0T2JqZWN0ICpoZWFwLCBQeV9zc2l6ZV90IHN0YXJ0cG9zLCBQeV9zc2l6ZV90IHBvcykKIHsKICAgICBQeU9iamVjdCAqbmV3aXRlbSwgKnBhcmVudDsKKyAgICBQeV9zc2l6ZV90IHBhcmVudHBvcywgc2l6ZTsKICAgICBpbnQgY21wOwotICAgIFB5X3NzaXplX3QgcGFyZW50cG9zOwogCiAgICAgYXNzZXJ0KFB5TGlzdF9DaGVjayhoZWFwKSk7Ci0gICAgaWYgKHBvcyA+PSBQeUxpc3RfR0VUX1NJWkUoaGVhcCkpIHsKKyAgICBzaXplID0gUHlMaXN0X0dFVF9TSVpFKGhlYXApOworICAgIGlmIChwb3MgPj0gc2l6ZSkgewogICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfSW5kZXhFcnJvciwgImluZGV4IG91dCBvZiByYW5nZSIpOwogICAgICAgICByZXR1cm4gLTE7CiAgICAgfQogCi0gICAgbmV3aXRlbSA9IFB5TGlzdF9HRVRfSVRFTShoZWFwLCBwb3MpOwotICAgIFB5X0lOQ1JFRihuZXdpdGVtKTsKICAgICAvKiBGb2xsb3cgdGhlIHBhdGggdG8gdGhlIHJvb3QsIG1vdmluZyBwYXJlbnRzIGRvd24gdW50aWwgZmluZGluZwogICAgICAgIGEgcGxhY2UgbmV3aXRlbSBmaXRzLiAqLwotICAgIHdoaWxlIChwb3MgPiBzdGFydHBvcyl7CisgICAgbmV3aXRlbSA9IFB5TGlzdF9HRVRfSVRFTShoZWFwLCBwb3MpOworICAgIHdoaWxlIChwb3MgPiBzdGFydHBvcykgewogICAgICAgICBwYXJlbnRwb3MgPSAocG9zIC0gMSkgPj4gMTsKICAgICAgICAgcGFyZW50ID0gUHlMaXN0X0dFVF9JVEVNKGhlYXAsIHBhcmVudHBvcyk7CiAgICAgICAgIGNtcCA9IFB5T2JqZWN0X1JpY2hDb21wYXJlQm9vbChwYXJlbnQsIG5ld2l0ZW0sIFB5X0xUKTsKLSAgICAgICAgaWYgKGNtcCA9PSAtMSkgewotICAgICAgICAgICAgUHlfREVDUkVGKG5ld2l0ZW0pOworICAgICAgICBpZiAoY21wID09IC0xKQorICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICBpZiAoc2l6ZSAhPSBQeUxpc3RfR0VUX1NJWkUoaGVhcCkpIHsKKyAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19SdW50aW1lRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxpc3QgY2hhbmdlZCBzaXplIGR1cmluZyBpdGVyYXRpb24iKTsKICAgICAgICAgICAgIHJldHVybiAtMTsKICAgICAgICAgfQogICAgICAgICBpZiAoY21wID09IDApCiAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgUHlfSU5DUkVGKHBhcmVudCk7Ci0gICAgICAgIFB5X0RFQ1JFRihQeUxpc3RfR0VUX0lURU0oaGVhcCwgcG9zKSk7CisgICAgICAgIHBhcmVudCA9IFB5TGlzdF9HRVRfSVRFTShoZWFwLCBwYXJlbnRwb3MpOworICAgICAgICBuZXdpdGVtID0gUHlMaXN0X0dFVF9JVEVNKGhlYXAsIHBvcyk7CisgICAgICAgIFB5TGlzdF9TRVRfSVRFTShoZWFwLCBwYXJlbnRwb3MsIG5ld2l0ZW0pOwogICAgICAgICBQeUxpc3RfU0VUX0lURU0oaGVhcCwgcG9zLCBwYXJlbnQpOwogICAgICAgICBwb3MgPSBwYXJlbnRwb3M7CiAgICAgfQotICAgIFB5X0RFQ1JFRihQeUxpc3RfR0VUX0lURU0oaGVhcCwgcG9zKSk7Ci0gICAgUHlMaXN0X1NFVF9JVEVNKGhlYXAsIHBvcywgbmV3aXRlbSk7CiAgICAgcmV0dXJuIDA7CiB9CiAKIHN0YXRpYyBpbnQKLV9zaWZ0dXBtYXgoUHlMaXN0T2JqZWN0ICpoZWFwLCBQeV9zc2l6ZV90IHBvcykKK3NpZnR1cF9tYXgoUHlMaXN0T2JqZWN0ICpoZWFwLCBQeV9zc2l6ZV90IHBvcykKIHsKICAgICBQeV9zc2l6ZV90IHN0YXJ0cG9zLCBlbmRwb3MsIGNoaWxkcG9zLCByaWdodHBvcywgbGltaXQ7CisgICAgUHlPYmplY3QgKnRtcDEsICp0bXAyOwogICAgIGludCBjbXA7Ci0gICAgUHlPYmplY3QgKm5ld2l0ZW0sICp0bXA7CiAKICAgICBhc3NlcnQoUHlMaXN0X0NoZWNrKGhlYXApKTsKICAgICBlbmRwb3MgPSBQeUxpc3RfR0VUX1NJWkUoaGVhcCk7CkBAIC00MzAsOCArMzM2LDYgQEAKICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX0luZGV4RXJyb3IsICJpbmRleCBvdXQgb2YgcmFuZ2UiKTsKICAgICAgICAgcmV0dXJuIC0xOwogICAgIH0KLSAgICBuZXdpdGVtID0gUHlMaXN0X0dFVF9JVEVNKGhlYXAsIHBvcyk7Ci0gICAgUHlfSU5DUkVGKG5ld2l0ZW0pOwogCiAgICAgLyogQnViYmxlIHVwIHRoZSBzbWFsbGVyIGNoaWxkIHVudGlsIGhpdHRpbmcgYSBsZWFmLiAqLwogICAgIGxpbWl0ID0gZW5kcG9zIC8gMjsgICAgICAgICAgLyogc21hbGxlc3QgcG9zIHRoYXQgaGFzIG5vIGNoaWxkICovCkBAIC00NDQsMTExICszNDgsNTAgQEAKICAgICAgICAgICAgICAgICBQeUxpc3RfR0VUX0lURU0oaGVhcCwgcmlnaHRwb3MpLAogICAgICAgICAgICAgICAgIFB5TGlzdF9HRVRfSVRFTShoZWFwLCBjaGlsZHBvcyksCiAgICAgICAgICAgICAgICAgUHlfTFQpOwotICAgICAgICAgICAgaWYgKGNtcCA9PSAtMSkgewotICAgICAgICAgICAgICAgIFB5X0RFQ1JFRihuZXdpdGVtKTsKKyAgICAgICAgICAgIGlmIChjbXAgPT0gLTEpCiAgICAgICAgICAgICAgICAgcmV0dXJuIC0xOwotICAgICAgICAgICAgfQogICAgICAgICAgICAgaWYgKGNtcCA9PSAwKQogICAgICAgICAgICAgICAgIGNoaWxkcG9zID0gcmlnaHRwb3M7CisgICAgICAgICAgICBpZiAoZW5kcG9zICE9IFB5TGlzdF9HRVRfU0laRShoZWFwKSkgeworICAgICAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19SdW50aW1lRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsaXN0IGNoYW5nZWQgc2l6ZSBkdXJpbmcgaXRlcmF0aW9uIik7CisgICAgICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgICAgIC8qIE1vdmUgdGhlIHNtYWxsZXIgY2hpbGQgdXAuICovCi0gICAgICAgIHRtcCA9IFB5TGlzdF9HRVRfSVRFTShoZWFwLCBjaGlsZHBvcyk7Ci0gICAgICAgIFB5X0lOQ1JFRih0bXApOwotICAgICAgICBQeV9ERUNSRUYoUHlMaXN0X0dFVF9JVEVNKGhlYXAsIHBvcykpOwotICAgICAgICBQeUxpc3RfU0VUX0lURU0oaGVhcCwgcG9zLCB0bXApOworICAgICAgICB0bXAxID0gUHlMaXN0X0dFVF9JVEVNKGhlYXAsIGNoaWxkcG9zKTsKKyAgICAgICAgdG1wMiA9IFB5TGlzdF9HRVRfSVRFTShoZWFwLCBwb3MpOworICAgICAgICBQeUxpc3RfU0VUX0lURU0oaGVhcCwgY2hpbGRwb3MsIHRtcDIpOworICAgICAgICBQeUxpc3RfU0VUX0lURU0oaGVhcCwgcG9zLCB0bXAxKTsKICAgICAgICAgcG9zID0gY2hpbGRwb3M7CiAgICAgfQotCi0gICAgLyogVGhlIGxlYWYgYXQgcG9zIGlzIGVtcHR5IG5vdy4gIFB1dCBuZXdpdGVtIHRoZXJlLCBhbmQgYnViYmxlCi0gICAgICAgaXQgdXAgdG8gaXRzIGZpbmFsIHJlc3RpbmcgcGxhY2UgKGJ5IHNpZnRpbmcgaXRzIHBhcmVudHMgZG93bikuICovCi0gICAgUHlfREVDUkVGKFB5TGlzdF9HRVRfSVRFTShoZWFwLCBwb3MpKTsKLSAgICBQeUxpc3RfU0VUX0lURU0oaGVhcCwgcG9zLCBuZXdpdGVtKTsKLSAgICByZXR1cm4gX3NpZnRkb3dubWF4KGhlYXAsIHN0YXJ0cG9zLCBwb3MpOworICAgIC8qIEJ1YmJsZSBpdCB1cCB0byBpdHMgZmluYWwgcmVzdGluZyBwbGFjZSAoYnkgc2lmdGluZyBpdHMgcGFyZW50cyBkb3duKS4gKi8KKyAgICByZXR1cm4gc2lmdGRvd25fbWF4KGhlYXAsIHN0YXJ0cG9zLCBwb3MpOwogfQogCiBzdGF0aWMgUHlPYmplY3QgKgotbnNtYWxsZXN0KFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK2hlYXBwb3BfbWF4KFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqaGVhcCkKIHsKLSAgICBQeU9iamVjdCAqaGVhcD1OVUxMLCAqZWxlbSwgKml0ZXJhYmxlLCAqbG9zLCAqaXQsICpvbGRlbGVtOwotICAgIFB5X3NzaXplX3QgaSwgbjsKLSAgICBpbnQgY21wOwotCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJuTzpuc21hbGxlc3QiLCAmbiwgJml0ZXJhYmxlKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0KLSAgICBpdCA9IFB5T2JqZWN0X0dldEl0ZXIoaXRlcmFibGUpOwotICAgIGlmIChpdCA9PSBOVUxMKQotICAgICAgICByZXR1cm4gTlVMTDsKLQotICAgIGhlYXAgPSBQeUxpc3RfTmV3KDApOwotICAgIGlmIChoZWFwID09IE5VTEwpCi0gICAgICAgIGdvdG8gZmFpbDsKLQotICAgIGZvciAoaT0wIDsgaTxuIDsgaSsrICl7Ci0gICAgICAgIGVsZW0gPSBQeUl0ZXJfTmV4dChpdCk7Ci0gICAgICAgIGlmIChlbGVtID09IE5VTEwpIHsKLSAgICAgICAgICAgIGlmIChQeUVycl9PY2N1cnJlZCgpKQotICAgICAgICAgICAgICAgIGdvdG8gZmFpbDsKLSAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICBnb3RvIHNvcnRpdDsKLSAgICAgICAgfQotICAgICAgICBpZiAoUHlMaXN0X0FwcGVuZChoZWFwLCBlbGVtKSA9PSAtMSkgewotICAgICAgICAgICAgUHlfREVDUkVGKGVsZW0pOwotICAgICAgICAgICAgZ290byBmYWlsOwotICAgICAgICB9Ci0gICAgICAgIFB5X0RFQ1JFRihlbGVtKTsKLSAgICB9Ci0gICAgbiA9IFB5TGlzdF9HRVRfU0laRShoZWFwKTsKLSAgICBpZiAobiA9PSAwKQotICAgICAgICBnb3RvIHNvcnRpdDsKLQotICAgIGZvciAoaT1uLzItMSA7IGk+PTAgOyBpLS0pCi0gICAgICAgIGlmKF9zaWZ0dXBtYXgoKFB5TGlzdE9iamVjdCAqKWhlYXAsIGkpID09IC0xKQotICAgICAgICAgICAgZ290byBmYWlsOwotCi0gICAgbG9zID0gUHlMaXN0X0dFVF9JVEVNKGhlYXAsIDApOwotICAgIHdoaWxlICgxKSB7Ci0gICAgICAgIGVsZW0gPSBQeUl0ZXJfTmV4dChpdCk7Ci0gICAgICAgIGlmIChlbGVtID09IE5VTEwpIHsKLSAgICAgICAgICAgIGlmIChQeUVycl9PY2N1cnJlZCgpKQotICAgICAgICAgICAgICAgIGdvdG8gZmFpbDsKLSAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICBnb3RvIHNvcnRpdDsKLSAgICAgICAgfQotICAgICAgICBjbXAgPSBQeU9iamVjdF9SaWNoQ29tcGFyZUJvb2woZWxlbSwgbG9zLCBQeV9MVCk7Ci0gICAgICAgIGlmIChjbXAgPT0gLTEpIHsKLSAgICAgICAgICAgIFB5X0RFQ1JFRihlbGVtKTsKLSAgICAgICAgICAgIGdvdG8gZmFpbDsKLSAgICAgICAgfQotICAgICAgICBpZiAoY21wID09IDApIHsKLSAgICAgICAgICAgIFB5X0RFQ1JFRihlbGVtKTsKLSAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICB9Ci0KLSAgICAgICAgb2xkZWxlbSA9IFB5TGlzdF9HRVRfSVRFTShoZWFwLCAwKTsKLSAgICAgICAgUHlMaXN0X1NFVF9JVEVNKGhlYXAsIDAsIGVsZW0pOwotICAgICAgICBQeV9ERUNSRUYob2xkZWxlbSk7Ci0gICAgICAgIGlmIChfc2lmdHVwbWF4KChQeUxpc3RPYmplY3QgKiloZWFwLCAwKSA9PSAtMSkKLSAgICAgICAgICAgIGdvdG8gZmFpbDsKLSAgICAgICAgbG9zID0gUHlMaXN0X0dFVF9JVEVNKGhlYXAsIDApOwotICAgIH0KLQotc29ydGl0OgotICAgIGlmIChQeUxpc3RfU29ydChoZWFwKSA9PSAtMSkKLSAgICAgICAgZ290byBmYWlsOwotICAgIFB5X0RFQ1JFRihpdCk7Ci0gICAgcmV0dXJuIGhlYXA7Ci0KLWZhaWw6Ci0gICAgUHlfREVDUkVGKGl0KTsKLSAgICBQeV9YREVDUkVGKGhlYXApOwotICAgIHJldHVybiBOVUxMOworICAgIHJldHVybiBoZWFwcG9wX2ludGVybmFsKGhlYXAsIHNpZnR1cF9tYXgpOwogfQogCi1QeURvY19TVFJWQVIobnNtYWxsZXN0X2RvYywKLSJGaW5kIHRoZSBuIHNtYWxsZXN0IGVsZW1lbnRzIGluIGEgZGF0YXNldC5cblwKLVxuXAotRXF1aXZhbGVudCB0bzogIHNvcnRlZChpdGVyYWJsZSlbOm5dXG4iKTsKK1B5RG9jX1NUUlZBUihoZWFwcG9wX21heF9kb2MsICJNYXhoZWFwIHZhcmlhbnQgb2YgaGVhcHBvcC4iKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK2hlYXByZXBsYWNlX21heChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgcmV0dXJuIGhlYXByZXBsYWNlX2ludGVybmFsKGFyZ3MsIHNpZnR1cF9tYXgpOworfQorCitQeURvY19TVFJWQVIoaGVhcHJlcGxhY2VfbWF4X2RvYywgIk1heGhlYXAgdmFyaWFudCBvZiBoZWFwcmVwbGFjZSIpOworCitzdGF0aWMgUHlPYmplY3QgKgoraGVhcGlmeV9tYXgoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpoZWFwKQoreworICAgIHJldHVybiBoZWFwaWZ5X2ludGVybmFsKGhlYXAsIHNpZnR1cF9tYXgpOworfQorCitQeURvY19TVFJWQVIoaGVhcGlmeV9tYXhfZG9jLCAiTWF4aGVhcCB2YXJpYW50IG9mIGhlYXBpZnkuIik7CiAKIHN0YXRpYyBQeU1ldGhvZERlZiBoZWFwcV9tZXRob2RzW10gPSB7CiAgICAgeyJoZWFwcHVzaCIsICAgICAgICAoUHlDRnVuY3Rpb24paGVhcHB1c2gsCkBAIC01NjEsMTAgKzQwNCwxMiBAQAogICAgICAgICBNRVRIX1ZBUkFSR1MsICAgICAgICAgICBoZWFwcmVwbGFjZV9kb2N9LAogICAgIHsiaGVhcGlmeSIsICAgICAgICAgKFB5Q0Z1bmN0aW9uKWhlYXBpZnksCiAgICAgICAgIE1FVEhfTywgICAgICAgICAgICAgICAgIGhlYXBpZnlfZG9jfSwKLSAgICB7Im5sYXJnZXN0IiwgICAgICAgIChQeUNGdW5jdGlvbilubGFyZ2VzdCwKLSAgICAgICAgTUVUSF9WQVJBUkdTLCAgICAgICAgICAgbmxhcmdlc3RfZG9jfSwKLSAgICB7Im5zbWFsbGVzdCIsICAgICAgIChQeUNGdW5jdGlvbiluc21hbGxlc3QsCi0gICAgICAgIE1FVEhfVkFSQVJHUywgICAgICAgICAgIG5zbWFsbGVzdF9kb2N9LAorICAgIHsiX2hlYXBwb3BfbWF4IiwgICAgKFB5Q0Z1bmN0aW9uKWhlYXBwb3BfbWF4LAorICAgICAgICBNRVRIX08sICAgICAgICAgICAgICAgICBoZWFwcG9wX21heF9kb2N9LAorICAgIHsiX2hlYXByZXBsYWNlX21heCIsKFB5Q0Z1bmN0aW9uKWhlYXByZXBsYWNlX21heCwKKyAgICAgICAgTUVUSF9WQVJBUkdTLCAgICAgICAgICAgaGVhcHJlcGxhY2VfbWF4X2RvY30sCisgICAgeyJfaGVhcGlmeV9tYXgiLCAgICAoUHlDRnVuY3Rpb24paGVhcGlmeV9tYXgsCisgICAgICAgIE1FVEhfTywgICAgICAgICAgICAgICAgIGhlYXBpZnlfbWF4X2RvY30sCiAgICAge05VTEwsICAgICAgICAgICAgICBOVUxMfSAgICAgICAgICAgLyogc2VudGluZWwgKi8KIH07CiAKZGlmZiAtLWdpdCBhL01vZHVsZXMvX2lvL19pb21vZHVsZS5jIGIvTW9kdWxlcy9faW8vX2lvbW9kdWxlLmMKaW5kZXggNDVjMzFhNS4uZTcwYzRiNyAxMDA2NDQKLS0tIGEvTW9kdWxlcy9faW8vX2lvbW9kdWxlLmMKKysrIGIvTW9kdWxlcy9faW8vX2lvbW9kdWxlLmMKQEAgLTIzNyw4ICsyMzcsOCBAQAogCiAgICAgUHlPYmplY3QgKnJhdywgKm1vZGVvYmogPSBOVUxMLCAqYnVmZmVyLCAqd3JhcHBlciwgKnJlc3VsdCA9IE5VTEw7CiAKKyAgICBfUHlfSURFTlRJRklFUihfYmxrc2l6ZSk7CiAgICAgX1B5X0lERU5USUZJRVIoaXNhdHR5KTsKLSAgICBfUHlfSURFTlRJRklFUihmaWxlbm8pOwogICAgIF9QeV9JREVOVElGSUVSKG1vZGUpOwogICAgIF9QeV9JREVOVElGSUVSKGNsb3NlKTsKIApAQCAtMzgwLDI0ICszODAsMTQgQEAKICAgICAgICAgbGluZV9idWZmZXJpbmcgPSAwOwogCiAgICAgaWYgKGJ1ZmZlcmluZyA8IDApIHsKLSAgICAgICAgYnVmZmVyaW5nID0gREVGQVVMVF9CVUZGRVJfU0laRTsKLSNpZmRlZiBIQVZFX1NUUlVDVF9TVEFUX1NUX0JMS1NJWkUKLSAgICAgICAgewotICAgICAgICAgICAgc3RydWN0IHN0YXQgc3Q7Ci0gICAgICAgICAgICBsb25nIGZpbGVubzsKLSAgICAgICAgICAgIFB5T2JqZWN0ICpyZXMgPSBfUHlPYmplY3RfQ2FsbE1ldGhvZElkKHJhdywgJlB5SWRfZmlsZW5vLCBOVUxMKTsKLSAgICAgICAgICAgIGlmIChyZXMgPT0gTlVMTCkKLSAgICAgICAgICAgICAgICBnb3RvIGVycm9yOwotCi0gICAgICAgICAgICBmaWxlbm8gPSBQeUxvbmdfQXNMb25nKHJlcyk7Ci0gICAgICAgICAgICBQeV9ERUNSRUYocmVzKTsKLSAgICAgICAgICAgIGlmIChmaWxlbm8gPT0gLTEgJiYgUHlFcnJfT2NjdXJyZWQoKSkKLSAgICAgICAgICAgICAgICBnb3RvIGVycm9yOwotCi0gICAgICAgICAgICBpZiAoZnN0YXQoZmlsZW5vLCAmc3QpID49IDAgJiYgc3Quc3RfYmxrc2l6ZSA+IDEpCi0gICAgICAgICAgICAgICAgYnVmZmVyaW5nID0gc3Quc3RfYmxrc2l6ZTsKLSAgICAgICAgfQotI2VuZGlmCisgICAgICAgIFB5T2JqZWN0ICpibGtzaXplX29iajsKKyAgICAgICAgYmxrc2l6ZV9vYmogPSBfUHlPYmplY3RfR2V0QXR0cklkKHJhdywgJlB5SWRfX2Jsa3NpemUpOworICAgICAgICBpZiAoYmxrc2l6ZV9vYmogPT0gTlVMTCkKKyAgICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAgICAgIGJ1ZmZlcmluZyA9IFB5TG9uZ19Bc0xvbmcoYmxrc2l6ZV9vYmopOworICAgICAgICBQeV9ERUNSRUYoYmxrc2l6ZV9vYmopOworICAgICAgICBpZiAoYnVmZmVyaW5nID09IC0xICYmIFB5RXJyX09jY3VycmVkKCkpCisgICAgICAgICAgICBnb3RvIGVycm9yOwogICAgIH0KICAgICBpZiAoYnVmZmVyaW5nIDwgMCkgewogICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVmFsdWVFcnJvciwKZGlmZiAtLWdpdCBhL01vZHVsZXMvX2lvL19pb21vZHVsZS5oIGIvTW9kdWxlcy9faW8vX2lvbW9kdWxlLmgKaW5kZXggODkyNzg2NC4uOWQ1MjA1ZSAxMDA2NDQKLS0tIGEvTW9kdWxlcy9faW8vX2lvbW9kdWxlLmgKKysrIGIvTW9kdWxlcy9faW8vX2lvbW9kdWxlLmgKQEAgLTY5LDcgKzY5LDcgQEAKICAqIE9mZnNldCB0eXBlIGZvciBwb3NpdGlvbmluZy4KICAqLwogCi0vKiBQcmludGluZyBhIHZhcmlhYmxlIG9mIHR5cGUgb2ZmX3QgKHdpdGggZS5nLiwgUHlTdHJpbmdfRnJvbUZvcm1hdCkKKy8qIFByaW50aW5nIGEgdmFyaWFibGUgb2YgdHlwZSBvZmZfdCAod2l0aCBlLmcuLCBQeVVuaWNvZGVfRnJvbUZvcm1hdCkKICAgIGNvcnJlY3RseSBhbmQgd2l0aG91dCBwcm9kdWNpbmcgY29tcGlsZXIgd2FybmluZ3MgaXMgc3VycHJpc2luZ2x5IHBhaW5mdWwuCiAgICBXZSBpZGVudGlmeSBhbiBpbnRlZ2VyIHR5cGUgd2hvc2Ugc2l6ZSBtYXRjaGVzIG9mZl90IGFuZCB0aGVuOiAoMSkgY2FzdCB0aGUKICAgIG9mZl90IHRvIHRoYXQgaW50ZWdlciB0eXBlIGFuZCAoMikgdXNlIHRoZSBhcHByb3ByaWF0ZSBjb252ZXJzaW9uCmRpZmYgLS1naXQgYS9Nb2R1bGVzL19pby9idWZmZXJlZGlvLmMgYi9Nb2R1bGVzL19pby9idWZmZXJlZGlvLmMKaW5kZXggMDJjZjAzOC4uNjkyY2U0MSAxMDA2NDQKLS0tIGEvTW9kdWxlcy9faW8vYnVmZmVyZWRpby5jCisrKyBiL01vZHVsZXMvX2lvL2J1ZmZlcmVkaW8uYwpAQCAtMjQsNiArMjQsNyBAQAogX1B5X0lERU5USUZJRVIocmVhZDEpOwogX1B5X0lERU5USUZJRVIocmVhZGFibGUpOwogX1B5X0lERU5USUZJRVIocmVhZGludG8pOworX1B5X0lERU5USUZJRVIocmVhZGludG8xKTsKIF9QeV9JREVOVElGSUVSKHdyaXRhYmxlKTsKIF9QeV9JREVOVElGSUVSKHdyaXRlKTsKIApAQCAtNDcsMTcgKzQ4LDIxIEBACiAgICAgKTsKIAogc3RhdGljIFB5T2JqZWN0ICoKLWJ1ZmZlcmVkaW9iYXNlX3JlYWRpbnRvKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK19idWZmZXJlZGlvYmFzZV9yZWFkaW50b19nZW5lcmljKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncywgY2hhciByZWFkaW50bzEpCiB7CiAgICAgUHlfYnVmZmVyIGJ1ZjsKICAgICBQeV9zc2l6ZV90IGxlbjsKICAgICBQeU9iamVjdCAqZGF0YTsKIAotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAidyo6cmVhZGludG8iLCAmYnVmKSkgeworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAgICAgICAgICAgICAgICAgICByZWFkaW50bzEgPyAidyo6cmVhZGludG8xIiA6ICJ3KjpyZWFkaW50byIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICZidWYpKSB7CiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KIAotICAgIGRhdGEgPSBfUHlPYmplY3RfQ2FsbE1ldGhvZElkKHNlbGYsICZQeUlkX3JlYWQsICJuIiwgYnVmLmxlbik7CisgICAgZGF0YSA9IF9QeU9iamVjdF9DYWxsTWV0aG9kSWQoc2VsZiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWFkaW50bzEgPyAmUHlJZF9yZWFkMSA6ICZQeUlkX3JlYWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm4iLCBidWYubGVuKTsKICAgICBpZiAoZGF0YSA9PSBOVUxMKQogICAgICAgICBnb3RvIGVycm9yOwogCkBAIC04OSw2ICs5NCwxOCBAQAogfQogCiBzdGF0aWMgUHlPYmplY3QgKgorYnVmZmVyZWRpb2Jhc2VfcmVhZGludG8oUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQoreworICAgIHJldHVybiBfYnVmZmVyZWRpb2Jhc2VfcmVhZGludG9fZ2VuZXJpYyhzZWxmLCBhcmdzLCAwKTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK2J1ZmZlcmVkaW9iYXNlX3JlYWRpbnRvMShQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgcmV0dXJuIF9idWZmZXJlZGlvYmFzZV9yZWFkaW50b19nZW5lcmljKHNlbGYsIGFyZ3MsIDEpOworfQorCitzdGF0aWMgUHlPYmplY3QgKgogYnVmZmVyZWRpb2Jhc2VfdW5zdXBwb3J0ZWQoY29uc3QgY2hhciAqbWVzc2FnZSkKIHsKICAgICBfUHlJT19TdGF0ZSAqc3RhdGUgPSBJT19TVEFURSgpOwpAQCAtMTY3LDYgKzE4NCw3IEBACiAgICAgeyJyZWFkIiwgYnVmZmVyZWRpb2Jhc2VfcmVhZCwgTUVUSF9WQVJBUkdTLCBidWZmZXJlZGlvYmFzZV9yZWFkX2RvY30sCiAgICAgeyJyZWFkMSIsIGJ1ZmZlcmVkaW9iYXNlX3JlYWQxLCBNRVRIX1ZBUkFSR1MsIGJ1ZmZlcmVkaW9iYXNlX3JlYWQxX2RvY30sCiAgICAgeyJyZWFkaW50byIsIGJ1ZmZlcmVkaW9iYXNlX3JlYWRpbnRvLCBNRVRIX1ZBUkFSR1MsIE5VTEx9LAorICAgIHsicmVhZGludG8xIiwgYnVmZmVyZWRpb2Jhc2VfcmVhZGludG8xLCBNRVRIX1ZBUkFSR1MsIE5VTEx9LAogICAgIHsid3JpdGUiLCBidWZmZXJlZGlvYmFzZV93cml0ZSwgTUVUSF9WQVJBUkdTLCBidWZmZXJlZGlvYmFzZV93cml0ZV9kb2N9LAogICAgIHtOVUxMLCBOVUxMfQogfTsKQEAgLTk3Nyw3ICs5OTUsNyBAQAogfQogCiBzdGF0aWMgUHlPYmplY3QgKgotYnVmZmVyZWRfcmVhZGludG8oYnVmZmVyZWQgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQorX2J1ZmZlcmVkX3JlYWRpbnRvX2dlbmVyaWMoYnVmZmVyZWQgKnNlbGYsIFB5T2JqZWN0ICphcmdzLCBjaGFyIHJlYWRpbnRvMSkKIHsKICAgICBQeV9idWZmZXIgYnVmOwogICAgIFB5X3NzaXplX3Qgbiwgd3JpdHRlbiA9IDAsIHJlbWFpbmluZzsKQEAgLTk4NSw3ICsxMDAzLDkgQEAKIAogICAgIENIRUNLX0lOSVRJQUxJWkVEKHNlbGYpCiAKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgIncqOnJlYWRpbnRvIiwgJmJ1ZikpCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCisgICAgICAgICAgICAgICAgICAgICAgICAgIHJlYWRpbnRvMSA/ICJ3KjpyZWFkaW50bzEiIDogIncqOnJlYWRpbnRvIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgJmJ1ZikpCiAgICAgICAgIHJldHVybiBOVUxMOwogCiAgICAgbiA9IFB5X1NBRkVfRE9XTkNBU1QoUkVBREFIRUFEKHNlbGYpLCBQeV9vZmZfdCwgUHlfc3NpemVfdCk7CkBAIC0xMDIzLDcgKzEwNDMsMTAgQEAKICAgICAgICAgICAgIG4gPSBfYnVmZmVyZWRyZWFkZXJfcmF3X3JlYWQoc2VsZiwgKGNoYXIgKikgYnVmLmJ1ZiArIHdyaXR0ZW4sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbWFpbmluZyk7CiAgICAgICAgIH0KLSAgICAgICAgZWxzZSB7CisKKyAgICAgICAgLyogSW4gcmVhZGludG8xIG1vZGUsIHdlIGRvIG5vdCB3YW50IHRvIGZpbGwgdGhlIGludGVybmFsCisgICAgICAgICAgIGJ1ZmZlciBpZiB3ZSBhbHJlYWR5IGhhdmUgc29tZSBkYXRhIHRvIHJldHVybiAqLworICAgICAgICBlbHNlIGlmICghKHJlYWRpbnRvMSAmJiB3cml0dGVuKSkgewogICAgICAgICAgICAgbiA9IF9idWZmZXJlZHJlYWRlcl9maWxsX2J1ZmZlcihzZWxmKTsKICAgICAgICAgICAgIGlmIChuID4gMCkgewogICAgICAgICAgICAgICAgIGlmIChuID4gcmVtYWluaW5nKQpAQCAtMTAzNCw2ICsxMDU3LDkgQEAKICAgICAgICAgICAgICAgICBjb250aW51ZTsgLyogc2hvcnQgY2lyY3VpdCAqLwogICAgICAgICAgICAgfQogICAgICAgICB9CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIG4gPSAwOworICAgICAgICAKICAgICAgICAgaWYgKG4gPT0gMCB8fCAobiA9PSAtMiAmJiB3cml0dGVuID4gMCkpCiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgaWYgKG4gPCAwKSB7CkBAIC0xMDQzLDYgKzEwNjksMTIgQEAKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGdvdG8gZW5kOwogICAgICAgICB9CisgICAgICAgIAorICAgICAgICAvKiBBdCBtb3N0IG9uZSByZWFkIGluIHJlYWRpbnRvMSBtb2RlICovCisgICAgICAgIGlmIChyZWFkaW50bzEpIHsKKyAgICAgICAgICAgIHdyaXR0ZW4gKz0gbjsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CiAgICAgfQogICAgIHJlcyA9IFB5TG9uZ19Gcm9tU3NpemVfdCh3cml0dGVuKTsKIApAQCAtMTA1NCw2ICsxMDg2LDE5IEBACiB9CiAKIHN0YXRpYyBQeU9iamVjdCAqCitidWZmZXJlZF9yZWFkaW50byhidWZmZXJlZCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgcmV0dXJuIF9idWZmZXJlZF9yZWFkaW50b19nZW5lcmljKHNlbGYsIGFyZ3MsIDApOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorYnVmZmVyZWRfcmVhZGludG8xKGJ1ZmZlcmVkICpzZWxmLCBQeU9iamVjdCAqYXJncykKK3sKKyAgICByZXR1cm4gX2J1ZmZlcmVkX3JlYWRpbnRvX2dlbmVyaWMoc2VsZiwgYXJncywgMSk7Cit9CisKKworc3RhdGljIFB5T2JqZWN0ICoKIF9idWZmZXJlZF9yZWFkbGluZShidWZmZXJlZCAqc2VsZiwgUHlfc3NpemVfdCBsaW1pdCkKIHsKICAgICBQeU9iamVjdCAqcmVzID0gTlVMTDsKQEAgLTE3MzgsNiArMTc4Myw3IEBACiAgICAgeyJwZWVrIiwgKFB5Q0Z1bmN0aW9uKWJ1ZmZlcmVkX3BlZWssIE1FVEhfVkFSQVJHU30sCiAgICAgeyJyZWFkMSIsIChQeUNGdW5jdGlvbilidWZmZXJlZF9yZWFkMSwgTUVUSF9WQVJBUkdTfSwKICAgICB7InJlYWRpbnRvIiwgKFB5Q0Z1bmN0aW9uKWJ1ZmZlcmVkX3JlYWRpbnRvLCBNRVRIX1ZBUkFSR1N9LAorICAgIHsicmVhZGludG8xIiwgKFB5Q0Z1bmN0aW9uKWJ1ZmZlcmVkX3JlYWRpbnRvMSwgTUVUSF9WQVJBUkdTfSwKICAgICB7InJlYWRsaW5lIiwgKFB5Q0Z1bmN0aW9uKWJ1ZmZlcmVkX3JlYWRsaW5lLCBNRVRIX1ZBUkFSR1N9LAogICAgIHsic2VlayIsIChQeUNGdW5jdGlvbilidWZmZXJlZF9zZWVrLCBNRVRIX1ZBUkFSR1N9LAogICAgIHsidGVsbCIsIChQeUNGdW5jdGlvbilidWZmZXJlZF90ZWxsLCBNRVRIX05PQVJHU30sCkBAIC0yMzM5LDYgKzIzODUsMTIgQEAKIH0KIAogc3RhdGljIFB5T2JqZWN0ICoKK2J1ZmZlcmVkcndwYWlyX3JlYWRpbnRvMShyd3BhaXIgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQoreworICAgIHJldHVybiBfZm9yd2FyZF9jYWxsKHNlbGYtPnJlYWRlciwgJlB5SWRfcmVhZGludG8xLCBhcmdzKTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKIGJ1ZmZlcmVkcndwYWlyX3dyaXRlKHJ3cGFpciAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCiB7CiAgICAgcmV0dXJuIF9mb3J3YXJkX2NhbGwoc2VsZi0+d3JpdGVyLCAmUHlJZF93cml0ZSwgYXJncyk7CkBAIC0yNDAzLDYgKzI0NTUsNyBAQAogICAgIHsicGVlayIsIChQeUNGdW5jdGlvbilidWZmZXJlZHJ3cGFpcl9wZWVrLCBNRVRIX1ZBUkFSR1N9LAogICAgIHsicmVhZDEiLCAoUHlDRnVuY3Rpb24pYnVmZmVyZWRyd3BhaXJfcmVhZDEsIE1FVEhfVkFSQVJHU30sCiAgICAgeyJyZWFkaW50byIsIChQeUNGdW5jdGlvbilidWZmZXJlZHJ3cGFpcl9yZWFkaW50bywgTUVUSF9WQVJBUkdTfSwKKyAgICB7InJlYWRpbnRvMSIsIChQeUNGdW5jdGlvbilidWZmZXJlZHJ3cGFpcl9yZWFkaW50bzEsIE1FVEhfVkFSQVJHU30sCiAKICAgICB7IndyaXRlIiwgKFB5Q0Z1bmN0aW9uKWJ1ZmZlcmVkcndwYWlyX3dyaXRlLCBNRVRIX1ZBUkFSR1N9LAogICAgIHsiZmx1c2giLCAoUHlDRnVuY3Rpb24pYnVmZmVyZWRyd3BhaXJfZmx1c2gsIE1FVEhfTk9BUkdTfSwKQEAgLTI1NTEsNiArMjYwNCw3IEBACiAgICAgeyJyZWFkIiwgKFB5Q0Z1bmN0aW9uKWJ1ZmZlcmVkX3JlYWQsIE1FVEhfVkFSQVJHU30sCiAgICAgeyJyZWFkMSIsIChQeUNGdW5jdGlvbilidWZmZXJlZF9yZWFkMSwgTUVUSF9WQVJBUkdTfSwKICAgICB7InJlYWRpbnRvIiwgKFB5Q0Z1bmN0aW9uKWJ1ZmZlcmVkX3JlYWRpbnRvLCBNRVRIX1ZBUkFSR1N9LAorICAgIHsicmVhZGludG8xIiwgKFB5Q0Z1bmN0aW9uKWJ1ZmZlcmVkX3JlYWRpbnRvMSwgTUVUSF9WQVJBUkdTfSwKICAgICB7InJlYWRsaW5lIiwgKFB5Q0Z1bmN0aW9uKWJ1ZmZlcmVkX3JlYWRsaW5lLCBNRVRIX1ZBUkFSR1N9LAogICAgIHsicGVlayIsIChQeUNGdW5jdGlvbilidWZmZXJlZF9wZWVrLCBNRVRIX1ZBUkFSR1N9LAogICAgIHsid3JpdGUiLCAoUHlDRnVuY3Rpb24pYnVmZmVyZWR3cml0ZXJfd3JpdGUsIE1FVEhfVkFSQVJHU30sCmRpZmYgLS1naXQgYS9Nb2R1bGVzL19pby9ieXRlc2lvLmMgYi9Nb2R1bGVzL19pby9ieXRlc2lvLmMKaW5kZXggMTUzN2Q5Ny4uZmM0ZWE3NCAxMDA2NDQKLS0tIGEvTW9kdWxlcy9faW8vYnl0ZXNpby5jCisrKyBiL01vZHVsZXMvX2lvL2J5dGVzaW8uYwpAQCAtNCwxMCArNCw5IEBACiAKIHR5cGVkZWYgc3RydWN0IHsKICAgICBQeU9iamVjdF9IRUFECi0gICAgY2hhciAqYnVmOworICAgIFB5T2JqZWN0ICpidWY7CiAgICAgUHlfc3NpemVfdCBwb3M7CiAgICAgUHlfc3NpemVfdCBzdHJpbmdfc2l6ZTsKLSAgICBzaXplX3QgYnVmX3NpemU7CiAgICAgUHlPYmplY3QgKmRpY3Q7CiAgICAgUHlPYmplY3QgKndlYWtyZWZsaXN0OwogICAgIFB5X3NzaXplX3QgZXhwb3J0czsKQEAgLTE4LDYgKzE3LDEyIEBACiAgICAgYnl0ZXNpbyAqc291cmNlOwogfSBieXRlc2lvYnVmOwogCisvKiBUaGUgYnl0ZXNpbyBvYmplY3QgY2FuIGJlIGluIHRocmVlIHN0YXRlczoKKyAgKiBQeV9SRUZDTlQoYnVmKSA9PSAxLCBleHBvcnRzID09IDAuCisgICogUHlfUkVGQ05UKGJ1ZikgPiAxLiAgZXhwb3J0cyA9PSAwLAorICAgIGZpcnN0IG1vZGlmaWNhdGlvbiBvciBleHBvcnQgY2F1c2VzIHRoZSBpbnRlcm5hbCBidWZmZXIgY29weWluZy4KKyAgKiBleHBvcnRzID4gMC4gIFB5X1JFRkNOVChidWYpID09IDEsIGFueSBtb2RpZmljYXRpb25zIGFyZSBmb3JiaWRkZW4uCisqLwogCiAjZGVmaW5lIENIRUNLX0NMT1NFRChzZWxmKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgaWYgKChzZWxmKS0+YnVmID09IE5VTEwpIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCkBAIC0zMyw0MCArMzgsNjAgQEAKICAgICAgICAgcmV0dXJuIE5VTEw7IFwKICAgICB9CiAKKyNkZWZpbmUgU0hBUkVEX0JVRihzZWxmKSAoUHlfUkVGQ05UKChzZWxmKS0+YnVmKSA+IDEpCisKIAogLyogSW50ZXJuYWwgcm91dGluZSB0byBnZXQgYSBsaW5lIGZyb20gdGhlIGJ1ZmZlciBvZiBhIEJ5dGVzSU8KICAgIG9iamVjdC4gUmV0dXJucyB0aGUgbGVuZ3RoIGJldHdlZW4gdGhlIGN1cnJlbnQgcG9zaXRpb24gdG8gdGhlCiAgICBuZXh0IG5ld2xpbmUgY2hhcmFjdGVyLiAqLwogc3RhdGljIFB5X3NzaXplX3QKLWdldF9saW5lKGJ5dGVzaW8gKnNlbGYsIGNoYXIgKipvdXRwdXQpCitzY2FuX2VvbChieXRlc2lvICpzZWxmLCBQeV9zc2l6ZV90IGxlbikKIHsKLSAgICBjaGFyICpuOwotICAgIGNvbnN0IGNoYXIgKnN0cl9lbmQ7Ci0gICAgUHlfc3NpemVfdCBsZW47CisgICAgY29uc3QgY2hhciAqc3RhcnQsICpuOworICAgIFB5X3NzaXplX3QgbWF4bGVuOwogCiAgICAgYXNzZXJ0KHNlbGYtPmJ1ZiAhPSBOVUxMKTsKIAogICAgIC8qIE1vdmUgdG8gdGhlIGVuZCBvZiB0aGUgbGluZSwgdXAgdG8gdGhlIGVuZCBvZiB0aGUgc3RyaW5nLCBzLiAqLwotICAgIHN0cl9lbmQgPSBzZWxmLT5idWYgKyBzZWxmLT5zdHJpbmdfc2l6ZTsKLSAgICBmb3IgKG4gPSBzZWxmLT5idWYgKyBzZWxmLT5wb3M7Ci0gICAgICAgICBuIDwgc3RyX2VuZCAmJiAqbiAhPSAnXG4nOwotICAgICAgICAgbisrKTsKKyAgICBzdGFydCA9IFB5Qnl0ZXNfQVNfU1RSSU5HKHNlbGYtPmJ1ZikgKyBzZWxmLT5wb3M7CisgICAgbWF4bGVuID0gc2VsZi0+c3RyaW5nX3NpemUgLSBzZWxmLT5wb3M7CisgICAgaWYgKGxlbiA8IDAgfHwgbGVuID4gbWF4bGVuKQorICAgICAgICBsZW4gPSBtYXhsZW47CiAKLSAgICAvKiBTa2lwIHRoZSBuZXdsaW5lIGNoYXJhY3RlciAqLwotICAgIGlmIChuIDwgc3RyX2VuZCkKLSAgICAgICAgbisrOwotCi0gICAgLyogR2V0IHRoZSBsZW5ndGggZnJvbSB0aGUgY3VycmVudCBwb3NpdGlvbiB0byB0aGUgZW5kIG9mIHRoZSBsaW5lLiAqLwotICAgIGxlbiA9IG4gLSAoc2VsZi0+YnVmICsgc2VsZi0+cG9zKTsKLSAgICAqb3V0cHV0ID0gc2VsZi0+YnVmICsgc2VsZi0+cG9zOwotCisgICAgaWYgKGxlbikgeworICAgICAgICBuID0gbWVtY2hyKHN0YXJ0LCAnXG4nLCBsZW4pOworICAgICAgICBpZiAobikKKyAgICAgICAgICAgIC8qIEdldCB0aGUgbGVuZ3RoIGZyb20gdGhlIGN1cnJlbnQgcG9zaXRpb24gdG8gdGhlIGVuZCBvZgorICAgICAgICAgICAgICAgdGhlIGxpbmUuICovCisgICAgICAgICAgICBsZW4gPSBuIC0gc3RhcnQgKyAxOworICAgIH0KICAgICBhc3NlcnQobGVuID49IDApOwogICAgIGFzc2VydChzZWxmLT5wb3MgPCBQWV9TU0laRV9UX01BWCAtIGxlbik7Ci0gICAgc2VsZi0+cG9zICs9IGxlbjsKIAogICAgIHJldHVybiBsZW47CiB9CiAKKy8qIEludGVybmFsIHJvdXRpbmUgZm9yIGRldGFjaGluZyB0aGUgc2hhcmVkIGJ1ZmZlciBvZiBCeXRlc0lPIG9iamVjdHMuCisgICBUaGUgY2FsbGVyIHNob3VsZCBlbnN1cmUgdGhhdCB0aGUgJ3NpemUnIGFyZ3VtZW50IGlzIG5vbi1uZWdhdGl2ZSBhbmQKKyAgIG5vdCBsZXNzZXIgdGhhbiBzZWxmLT5zdHJpbmdfc2l6ZS4gIFJldHVybnMgMCBvbiBzdWNjZXNzLCAtMSBvdGhlcndpc2UuICovCitzdGF0aWMgaW50Cit1bnNoYXJlX2J1ZmZlcihieXRlc2lvICpzZWxmLCBzaXplX3Qgc2l6ZSkKK3sKKyAgICBQeU9iamVjdCAqbmV3X2J1ZiwgKm9sZF9idWY7CisgICAgYXNzZXJ0KFNIQVJFRF9CVUYoc2VsZikpOworICAgIGFzc2VydChzZWxmLT5leHBvcnRzID09IDApOworICAgIGFzc2VydChzaXplID49IChzaXplX3Qpc2VsZi0+c3RyaW5nX3NpemUpOworICAgIG5ld19idWYgPSBQeUJ5dGVzX0Zyb21TdHJpbmdBbmRTaXplKE5VTEwsIHNpemUpOworICAgIGlmIChuZXdfYnVmID09IE5VTEwpCisgICAgICAgIHJldHVybiAtMTsKKyAgICBtZW1jcHkoUHlCeXRlc19BU19TVFJJTkcobmV3X2J1ZiksIFB5Qnl0ZXNfQVNfU1RSSU5HKHNlbGYtPmJ1ZiksCisgICAgICAgICAgIHNlbGYtPnN0cmluZ19zaXplKTsKKyAgICBvbGRfYnVmID0gc2VsZi0+YnVmOworICAgIHNlbGYtPmJ1ZiA9IG5ld19idWY7CisgICAgUHlfREVDUkVGKG9sZF9idWYpOworICAgIHJldHVybiAwOworfQorCiAvKiBJbnRlcm5hbCByb3V0aW5lIGZvciBjaGFuZ2luZyB0aGUgc2l6ZSBvZiB0aGUgYnVmZmVyIG9mIEJ5dGVzSU8gb2JqZWN0cy4KICAgIFRoZSBjYWxsZXIgc2hvdWxkIGVuc3VyZSB0aGF0IHRoZSAnc2l6ZScgYXJndW1lbnQgaXMgbm9uLW5lZ2F0aXZlLiAgUmV0dXJucwogICAgMCBvbiBzdWNjZXNzLCAtMSBvdGhlcndpc2UuICovCkBAIC03NSw4ICsxMDAsNyBAQAogewogICAgIC8qIEhlcmUsIHVuc2lnbmVkIHR5cGVzIGFyZSB1c2VkIHRvIGF2b2lkIGRlYWxpbmcgd2l0aCBzaWduZWQgaW50ZWdlcgogICAgICAgIG92ZXJmbG93LCB3aGljaCBpcyB1bmRlZmluZWQgaW4gQy4gKi8KLSAgICBzaXplX3QgYWxsb2MgPSBzZWxmLT5idWZfc2l6ZTsKLSAgICBjaGFyICpuZXdfYnVmID0gTlVMTDsKKyAgICBzaXplX3QgYWxsb2MgPSBQeUJ5dGVzX0dFVF9TSVpFKHNlbGYtPmJ1Zik7CiAKICAgICBhc3NlcnQoc2VsZi0+YnVmICE9IE5VTEwpOwogCkBAIC0xMDQsMTMgKzEyOCwxNSBAQAogCiAgICAgaWYgKGFsbG9jID4gKChzaXplX3QpLTEpIC8gc2l6ZW9mKGNoYXIpKQogICAgICAgICBnb3RvIG92ZXJmbG93OwotICAgIG5ld19idWYgPSAoY2hhciAqKVB5TWVtX1JlYWxsb2Moc2VsZi0+YnVmLCBhbGxvYyAqIHNpemVvZihjaGFyKSk7Ci0gICAgaWYgKG5ld19idWYgPT0gTlVMTCkgewotICAgICAgICBQeUVycl9Ob01lbW9yeSgpOwotICAgICAgICByZXR1cm4gLTE7CisKKyAgICBpZiAoU0hBUkVEX0JVRihzZWxmKSkgeworICAgICAgICBpZiAodW5zaGFyZV9idWZmZXIoc2VsZiwgYWxsb2MpIDwgMCkKKyAgICAgICAgICAgIHJldHVybiAtMTsKICAgICB9Ci0gICAgc2VsZi0+YnVmX3NpemUgPSBhbGxvYzsKLSAgICBzZWxmLT5idWYgPSBuZXdfYnVmOworICAgIGVsc2UgeworICAgICAgICBpZiAoX1B5Qnl0ZXNfUmVzaXplKCZzZWxmLT5idWYsIGFsbG9jKSA8IDApCisgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgfQogCiAgICAgcmV0dXJuIDA7CiAKQEAgLTEyNSwxMiArMTUxLDE4IEBACiBzdGF0aWMgUHlfc3NpemVfdAogd3JpdGVfYnl0ZXMoYnl0ZXNpbyAqc2VsZiwgY29uc3QgY2hhciAqYnl0ZXMsIFB5X3NzaXplX3QgbGVuKQogeworICAgIHNpemVfdCBlbmRwb3M7CiAgICAgYXNzZXJ0KHNlbGYtPmJ1ZiAhPSBOVUxMKTsKICAgICBhc3NlcnQoc2VsZi0+cG9zID49IDApOwogICAgIGFzc2VydChsZW4gPj0gMCk7CiAKLSAgICBpZiAoKHNpemVfdClzZWxmLT5wb3MgKyBsZW4gPiBzZWxmLT5idWZfc2l6ZSkgewotICAgICAgICBpZiAocmVzaXplX2J1ZmZlcihzZWxmLCAoc2l6ZV90KXNlbGYtPnBvcyArIGxlbikgPCAwKQorICAgIGVuZHBvcyA9IChzaXplX3Qpc2VsZi0+cG9zICsgbGVuOworICAgIGlmIChlbmRwb3MgPiAoc2l6ZV90KVB5Qnl0ZXNfR0VUX1NJWkUoc2VsZi0+YnVmKSkgeworICAgICAgICBpZiAocmVzaXplX2J1ZmZlcihzZWxmLCBlbmRwb3MpIDwgMCkKKyAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICB9CisgICAgZWxzZSBpZiAoU0hBUkVEX0JVRihzZWxmKSkgeworICAgICAgICBpZiAodW5zaGFyZV9idWZmZXIoc2VsZiwgUHlfTUFYKGVuZHBvcywgKHNpemVfdClzZWxmLT5zdHJpbmdfc2l6ZSkpIDwgMCkKICAgICAgICAgICAgIHJldHVybiAtMTsKICAgICB9CiAKQEAgLTE0MywxOCArMTc1LDE4IEBACiAgICAgICAgICAgfCAgIHwgICAgICAgICAgICA8LS10byBwYWQtLT58PC0tLXRvIHdyaXRlLS0tPiAgICB8CiAgICAgICAgICAgMCAgIGJ1ZiAgICAgICAgICAgICAgICAgICBwb3NpdGlvbgogICAgICAgICAqLwotICAgICAgICBtZW1zZXQoc2VsZi0+YnVmICsgc2VsZi0+c3RyaW5nX3NpemUsICdcMCcsCisgICAgICAgIG1lbXNldChQeUJ5dGVzX0FTX1NUUklORyhzZWxmLT5idWYpICsgc2VsZi0+c3RyaW5nX3NpemUsICdcMCcsCiAgICAgICAgICAgICAgICAoc2VsZi0+cG9zIC0gc2VsZi0+c3RyaW5nX3NpemUpICogc2l6ZW9mKGNoYXIpKTsKICAgICB9CiAKICAgICAvKiBDb3B5IHRoZSBkYXRhIHRvIHRoZSBpbnRlcm5hbCBidWZmZXIsIG92ZXJ3cml0aW5nIHNvbWUgb2YgdGhlIGV4aXN0aW5nCiAgICAgICAgZGF0YSBpZiBzZWxmLT5wb3MgPCBzZWxmLT5zdHJpbmdfc2l6ZS4gKi8KLSAgICBtZW1jcHkoc2VsZi0+YnVmICsgc2VsZi0+cG9zLCBieXRlcywgbGVuKTsKLSAgICBzZWxmLT5wb3MgKz0gbGVuOworICAgIG1lbWNweShQeUJ5dGVzX0FTX1NUUklORyhzZWxmLT5idWYpICsgc2VsZi0+cG9zLCBieXRlcywgbGVuKTsKKyAgICBzZWxmLT5wb3MgPSBlbmRwb3M7CiAKICAgICAvKiBTZXQgdGhlIG5ldyBsZW5ndGggb2YgdGhlIGludGVybmFsIHN0cmluZyBpZiBpdCBoYXMgY2hhbmdlZC4gKi8KLSAgICBpZiAoc2VsZi0+c3RyaW5nX3NpemUgPCBzZWxmLT5wb3MpIHsKLSAgICAgICAgc2VsZi0+c3RyaW5nX3NpemUgPSBzZWxmLT5wb3M7CisgICAgaWYgKChzaXplX3Qpc2VsZi0+c3RyaW5nX3NpemUgPCBlbmRwb3MpIHsKKyAgICAgICAgc2VsZi0+c3RyaW5nX3NpemUgPSBlbmRwb3M7CiAgICAgfQogCiAgICAgcmV0dXJuIGxlbjsKQEAgLTIzMSw3ICsyNjMsMjIgQEAKIGJ5dGVzaW9fZ2V0dmFsdWUoYnl0ZXNpbyAqc2VsZikKIHsKICAgICBDSEVDS19DTE9TRUQoc2VsZik7Ci0gICAgcmV0dXJuIFB5Qnl0ZXNfRnJvbVN0cmluZ0FuZFNpemUoc2VsZi0+YnVmLCBzZWxmLT5zdHJpbmdfc2l6ZSk7CisgICAgaWYgKHNlbGYtPnN0cmluZ19zaXplIDw9IDEgfHwgc2VsZi0+ZXhwb3J0cyA+IDApCisgICAgICAgIHJldHVybiBQeUJ5dGVzX0Zyb21TdHJpbmdBbmRTaXplKFB5Qnl0ZXNfQVNfU1RSSU5HKHNlbGYtPmJ1ZiksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYtPnN0cmluZ19zaXplKTsKKworICAgIGlmIChzZWxmLT5zdHJpbmdfc2l6ZSAhPSBQeUJ5dGVzX0dFVF9TSVpFKHNlbGYtPmJ1ZikpIHsKKyAgICAgICAgaWYgKFNIQVJFRF9CVUYoc2VsZikpIHsKKyAgICAgICAgICAgIGlmICh1bnNoYXJlX2J1ZmZlcihzZWxmLCBzZWxmLT5zdHJpbmdfc2l6ZSkgPCAwKQorICAgICAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICB9CisgICAgICAgIGVsc2UgeworICAgICAgICAgICAgaWYgKF9QeUJ5dGVzX1Jlc2l6ZSgmc2VsZi0+YnVmLCBzZWxmLT5zdHJpbmdfc2l6ZSkgPCAwKQorICAgICAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICB9CisgICAgfQorICAgIFB5X0lOQ1JFRihzZWxmLT5idWYpOworICAgIHJldHVybiBzZWxmLT5idWY7CiB9CiAKIFB5RG9jX1NUUlZBUihpc2F0dHlfZG9jLApAQCAtMjU3LDYgKzMwNCwyNiBAQAogICAgIHJldHVybiBQeUxvbmdfRnJvbVNzaXplX3Qoc2VsZi0+cG9zKTsKIH0KIAorc3RhdGljIFB5T2JqZWN0ICoKK3JlYWRfYnl0ZXMoYnl0ZXNpbyAqc2VsZiwgUHlfc3NpemVfdCBzaXplKQoreworICAgIGNoYXIgKm91dHB1dDsKKworICAgIGFzc2VydChzZWxmLT5idWYgIT0gTlVMTCk7CisgICAgYXNzZXJ0KHNpemUgPD0gc2VsZi0+c3RyaW5nX3NpemUpOworICAgIGlmIChzaXplID4gMSAmJgorICAgICAgICBzZWxmLT5wb3MgPT0gMCAmJiBzaXplID09IFB5Qnl0ZXNfR0VUX1NJWkUoc2VsZi0+YnVmKSAmJgorICAgICAgICBzZWxmLT5leHBvcnRzID09IDApIHsKKyAgICAgICAgc2VsZi0+cG9zICs9IHNpemU7CisgICAgICAgIFB5X0lOQ1JFRihzZWxmLT5idWYpOworICAgICAgICByZXR1cm4gc2VsZi0+YnVmOworICAgIH0KKworICAgIG91dHB1dCA9IFB5Qnl0ZXNfQVNfU1RSSU5HKHNlbGYtPmJ1ZikgKyBzZWxmLT5wb3M7CisgICAgc2VsZi0+cG9zICs9IHNpemU7CisgICAgcmV0dXJuIFB5Qnl0ZXNfRnJvbVN0cmluZ0FuZFNpemUob3V0cHV0LCBzaXplKTsKK30KKwogUHlEb2NfU1RSVkFSKHJlYWRfZG9jLAogInJlYWQoW3NpemVdKSAtPiByZWFkIGF0IG1vc3Qgc2l6ZSBieXRlcywgcmV0dXJuZWQgYXMgYSBzdHJpbmcuXG4iCiAiXG4iCkBAIC0yNjcsNyArMzM0LDYgQEAKIGJ5dGVzaW9fcmVhZChieXRlc2lvICpzZWxmLCBQeU9iamVjdCAqYXJncykKIHsKICAgICBQeV9zc2l6ZV90IHNpemUsIG47Ci0gICAgY2hhciAqb3V0cHV0OwogICAgIFB5T2JqZWN0ICphcmcgPSBQeV9Ob25lOwogCiAgICAgQ0hFQ0tfQ0xPU0VEKHNlbGYpOwpAQCAtMjk4LDExICszNjQsNyBAQAogICAgICAgICAgICAgc2l6ZSA9IDA7CiAgICAgfQogCi0gICAgYXNzZXJ0KHNlbGYtPmJ1ZiAhPSBOVUxMKTsKLSAgICBvdXRwdXQgPSBzZWxmLT5idWYgKyBzZWxmLT5wb3M7Ci0gICAgc2VsZi0+cG9zICs9IHNpemU7Ci0KLSAgICByZXR1cm4gUHlCeXRlc19Gcm9tU3RyaW5nQW5kU2l6ZShvdXRwdXQsIHNpemUpOworICAgIHJldHVybiByZWFkX2J5dGVzKHNlbGYsIHNpemUpOwogfQogCiAKQEAgLTMzNiw3ICszOTgsNiBAQAogYnl0ZXNpb19yZWFkbGluZShieXRlc2lvICpzZWxmLCBQeU9iamVjdCAqYXJncykKIHsKICAgICBQeV9zc2l6ZV90IHNpemUsIG47Ci0gICAgY2hhciAqb3V0cHV0OwogICAgIFB5T2JqZWN0ICphcmcgPSBQeV9Ob25lOwogCiAgICAgQ0hFQ0tfQ0xPU0VEKHNlbGYpOwpAQCAtMzU5LDE1ICs0MjAsOSBAQAogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CiAKLSAgICBuID0gZ2V0X2xpbmUoc2VsZiwgJm91dHB1dCk7CisgICAgbiA9IHNjYW5fZW9sKHNlbGYsIHNpemUpOwogCi0gICAgaWYgKHNpemUgPj0gMCAmJiBzaXplIDwgbikgewotICAgICAgICBzaXplID0gbiAtIHNpemU7Ci0gICAgICAgIG4gLT0gc2l6ZTsKLSAgICAgICAgc2VsZi0+cG9zIC09IHNpemU7Ci0gICAgfQotCi0gICAgcmV0dXJuIFB5Qnl0ZXNfRnJvbVN0cmluZ0FuZFNpemUob3V0cHV0LCBuKTsKKyAgICByZXR1cm4gcmVhZF9ieXRlcyhzZWxmLCBuKTsKIH0KIAogUHlEb2NfU1RSVkFSKHJlYWRsaW5lc19kb2MsCkBAIC00MTAsNyArNDY1LDkgQEAKICAgICBpZiAoIXJlc3VsdCkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAKLSAgICB3aGlsZSAoKG4gPSBnZXRfbGluZShzZWxmLCAmb3V0cHV0KSkgIT0gMCkgeworICAgIG91dHB1dCA9IFB5Qnl0ZXNfQVNfU1RSSU5HKHNlbGYtPmJ1ZikgKyBzZWxmLT5wb3M7CisgICAgd2hpbGUgKChuID0gc2Nhbl9lb2woc2VsZiwgLTEpKSAhPSAwKSB7CisgICAgICAgIHNlbGYtPnBvcyArPSBuOwogICAgICAgICBsaW5lID0gUHlCeXRlc19Gcm9tU3RyaW5nQW5kU2l6ZShvdXRwdXQsIG4pOwogICAgICAgICBpZiAoIWxpbmUpCiAgICAgICAgICAgICBnb3RvIG9uX2Vycm9yOwpAQCAtNDIyLDYgKzQ3OSw3IEBACiAgICAgICAgIHNpemUgKz0gbjsKICAgICAgICAgaWYgKG1heHNpemUgPiAwICYmIHNpemUgPj0gbWF4c2l6ZSkKICAgICAgICAgICAgIGJyZWFrOworICAgICAgICBvdXRwdXQgKz0gbjsKICAgICB9CiAgICAgcmV0dXJuIHJlc3VsdDsKIApAQCAtNDU2LDcgKzUxNCw3IEBACiAgICAgICAgICAgICBsZW4gPSAwOwogICAgIH0KIAotICAgIG1lbWNweShidWZmZXIuYnVmLCBzZWxmLT5idWYgKyBzZWxmLT5wb3MsIGxlbik7CisgICAgbWVtY3B5KGJ1ZmZlci5idWYsIFB5Qnl0ZXNfQVNfU1RSSU5HKHNlbGYtPmJ1ZikgKyBzZWxmLT5wb3MsIGxlbik7CiAgICAgYXNzZXJ0KHNlbGYtPnBvcyArIGxlbiA8IFBZX1NTSVpFX1RfTUFYKTsKICAgICBhc3NlcnQobGVuID49IDApOwogICAgIHNlbGYtPnBvcyArPSBsZW47CkBAIC01MTYsMTcgKzU3NCwxNiBAQAogc3RhdGljIFB5T2JqZWN0ICoKIGJ5dGVzaW9faXRlcm5leHQoYnl0ZXNpbyAqc2VsZikKIHsKLSAgICBjaGFyICpuZXh0OwogICAgIFB5X3NzaXplX3QgbjsKIAogICAgIENIRUNLX0NMT1NFRChzZWxmKTsKIAotICAgIG4gPSBnZXRfbGluZShzZWxmLCAmbmV4dCk7CisgICAgbiA9IHNjYW5fZW9sKHNlbGYsIC0xKTsKIAotICAgIGlmICghbmV4dCB8fCBuID09IDApCisgICAgaWYgKG4gPT0gMCkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAKLSAgICByZXR1cm4gUHlCeXRlc19Gcm9tU3RyaW5nQW5kU2l6ZShuZXh0LCBuKTsKKyAgICByZXR1cm4gcmVhZF9ieXRlcyhzZWxmLCBuKTsKIH0KIAogUHlEb2NfU1RSVkFSKHNlZWtfZG9jLApAQCAtNjU4LDEwICs3MTUsNyBAQAogYnl0ZXNpb19jbG9zZShieXRlc2lvICpzZWxmKQogewogICAgIENIRUNLX0VYUE9SVFMoc2VsZik7Ci0gICAgaWYgKHNlbGYtPmJ1ZiAhPSBOVUxMKSB7Ci0gICAgICAgIFB5TWVtX0ZyZWUoc2VsZi0+YnVmKTsKLSAgICAgICAgc2VsZi0+YnVmID0gTlVMTDsKLSAgICB9CisgICAgUHlfQ0xFQVIoc2VsZi0+YnVmKTsKICAgICBQeV9SRVRVUk5fTk9ORTsKIH0KIApAQCAtNzkxLDEwICs4NDUsNyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgImRlYWxsb2NhdGVkIEJ5dGVzSU8gb2JqZWN0IGhhcyBleHBvcnRlZCBidWZmZXJzIik7CiAgICAgICAgIFB5RXJyX1ByaW50KCk7CiAgICAgfQotICAgIGlmIChzZWxmLT5idWYgIT0gTlVMTCkgewotICAgICAgICBQeU1lbV9GcmVlKHNlbGYtPmJ1Zik7Ci0gICAgICAgIHNlbGYtPmJ1ZiA9IE5VTEw7Ci0gICAgfQorICAgIFB5X0NMRUFSKHNlbGYtPmJ1Zik7CiAgICAgUHlfQ0xFQVIoc2VsZi0+ZGljdCk7CiAgICAgaWYgKHNlbGYtPndlYWtyZWZsaXN0ICE9IE5VTEwpCiAgICAgICAgIFB5T2JqZWN0X0NsZWFyV2Vha1JlZnMoKFB5T2JqZWN0ICopIHNlbGYpOwpAQCAtODE0LDcgKzg2NSw3IEBACiAgICAgLyogdHBfYWxsb2MgaW5pdGlhbGl6ZXMgYWxsIHRoZSBmaWVsZHMgdG8gemVyby4gU28gd2UgZG9uJ3QgaGF2ZSB0bwogICAgICAgIGluaXRpYWxpemUgdGhlbSBoZXJlLiAqLwogCi0gICAgc2VsZi0+YnVmID0gKGNoYXIgKilQeU1lbV9NYWxsb2MoMCk7CisgICAgc2VsZi0+YnVmID0gUHlCeXRlc19Gcm9tU3RyaW5nQW5kU2l6ZShOVUxMLCAwKTsKICAgICBpZiAoc2VsZi0+YnVmID09IE5VTEwpIHsKICAgICAgICAgUHlfREVDUkVGKHNlbGYpOwogICAgICAgICByZXR1cm4gUHlFcnJfTm9NZW1vcnkoKTsKQEAgLTgzNywxMyArODg4LDI2IEBACiAgICAgc2VsZi0+c3RyaW5nX3NpemUgPSAwOwogICAgIHNlbGYtPnBvcyA9IDA7CiAKKyAgICBpZiAoc2VsZi0+ZXhwb3J0cyA+IDApIHsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX0J1ZmZlckVycm9yLAorICAgICAgICAgICAgICAgICAgICAgICAgIkV4aXN0aW5nIGV4cG9ydHMgb2YgZGF0YTogb2JqZWN0IGNhbm5vdCBiZSByZS1zaXplZCIpOworICAgICAgICByZXR1cm4gLTE7CisgICAgfQogICAgIGlmIChpbml0dmFsdWUgJiYgaW5pdHZhbHVlICE9IFB5X05vbmUpIHsKLSAgICAgICAgUHlPYmplY3QgKnJlczsKLSAgICAgICAgcmVzID0gYnl0ZXNpb193cml0ZShzZWxmLCBpbml0dmFsdWUpOwotICAgICAgICBpZiAocmVzID09IE5VTEwpCi0gICAgICAgICAgICByZXR1cm4gLTE7Ci0gICAgICAgIFB5X0RFQ1JFRihyZXMpOwotICAgICAgICBzZWxmLT5wb3MgPSAwOworICAgICAgICBpZiAoUHlCeXRlc19DaGVja0V4YWN0KGluaXR2YWx1ZSkpIHsKKyAgICAgICAgICAgIFB5X0lOQ1JFRihpbml0dmFsdWUpOworICAgICAgICAgICAgUHlfWERFQ1JFRihzZWxmLT5idWYpOworICAgICAgICAgICAgc2VsZi0+YnVmID0gaW5pdHZhbHVlOworICAgICAgICAgICAgc2VsZi0+c3RyaW5nX3NpemUgPSBQeUJ5dGVzX0dFVF9TSVpFKGluaXR2YWx1ZSk7CisgICAgICAgIH0KKyAgICAgICAgZWxzZSB7CisgICAgICAgICAgICBQeU9iamVjdCAqcmVzOworICAgICAgICAgICAgcmVzID0gYnl0ZXNpb193cml0ZShzZWxmLCBpbml0dmFsdWUpOworICAgICAgICAgICAgaWYgKHJlcyA9PSBOVUxMKQorICAgICAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgICAgIFB5X0RFQ1JFRihyZXMpOworICAgICAgICAgICAgc2VsZi0+cG9zID0gMDsKKyAgICAgICAgfQogICAgIH0KIAogICAgIHJldHVybiAwOwpAQCAtODU1LDggKzkxOSw4IEBACiAgICAgUHlfc3NpemVfdCByZXM7CiAKICAgICByZXMgPSBzaXplb2YoYnl0ZXNpbyk7Ci0gICAgaWYgKHNlbGYtPmJ1ZikKLSAgICAgICAgcmVzICs9IHNlbGYtPmJ1Zl9zaXplOworICAgIGlmIChzZWxmLT5idWYgJiYgIVNIQVJFRF9CVUYoc2VsZikpCisgICAgICAgIHJlcyArPSBfUHlTeXNfR2V0U2l6ZU9mKHNlbGYtPmJ1Zik7CiAgICAgcmV0dXJuIFB5TG9uZ19Gcm9tU3NpemVfdChyZXMpOwogfQogCkBAIC05NjQsMTggKzEwMjgsMjQgQEAKIHN0YXRpYyBpbnQKIGJ5dGVzaW9idWZfZ2V0YnVmZmVyKGJ5dGVzaW9idWYgKm9iaiwgUHlfYnVmZmVyICp2aWV3LCBpbnQgZmxhZ3MpCiB7Ci0gICAgaW50IHJldDsKICAgICBieXRlc2lvICpiID0gKGJ5dGVzaW8gKikgb2JqLT5zb3VyY2U7CisKICAgICBpZiAodmlldyA9PSBOVUxMKSB7Ci0gICAgICAgIGItPmV4cG9ydHMrKzsKLSAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19CdWZmZXJFcnJvciwKKyAgICAgICAgICAgICJieXRlc2lvYnVmX2dldGJ1ZmZlcjogdmlldz09TlVMTCBhcmd1bWVudCBpcyBvYnNvbGV0ZSIpOworICAgICAgICByZXR1cm4gLTE7CiAgICAgfQotICAgIHJldCA9IFB5QnVmZmVyX0ZpbGxJbmZvKHZpZXcsIChQeU9iamVjdCopb2JqLCBiLT5idWYsIGItPnN0cmluZ19zaXplLAorICAgIGlmIChTSEFSRURfQlVGKGIpKSB7CisgICAgICAgIGlmICh1bnNoYXJlX2J1ZmZlcihiLCBiLT5zdHJpbmdfc2l6ZSkgPCAwKQorICAgICAgICAgICAgcmV0dXJuIC0xOworICAgIH0KKworICAgIC8qIGNhbm5vdCBmYWlsIGlmIHZpZXcgIT0gTlVMTCBhbmQgcmVhZG9ubHkgPT0gMCAqLworICAgICh2b2lkKVB5QnVmZmVyX0ZpbGxJbmZvKHZpZXcsIChQeU9iamVjdCopb2JqLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5Qnl0ZXNfQVNfU1RSSU5HKGItPmJ1ZiksIGItPnN0cmluZ19zaXplLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAsIGZsYWdzKTsKLSAgICBpZiAocmV0ID49IDApIHsKLSAgICAgICAgYi0+ZXhwb3J0cysrOwotICAgIH0KLSAgICByZXR1cm4gcmV0OworICAgIGItPmV4cG9ydHMrKzsKKyAgICByZXR1cm4gMDsKIH0KIAogc3RhdGljIHZvaWQKZGlmZiAtLWdpdCBhL01vZHVsZXMvX2lvL2ZpbGVpby5jIGIvTW9kdWxlcy9faW8vZmlsZWlvLmMKaW5kZXggODBjYTk5Yy4uOWM2NzM5NCAxMDA2NDQKLS0tIGEvTW9kdWxlcy9faW8vZmlsZWlvLmMKKysrIGIvTW9kdWxlcy9faW8vZmlsZWlvLmMKQEAgLTUzLDYgKzUzLDcgQEAKICAgICBzaWduZWQgaW50IHNlZWthYmxlIDogMjsgLyogLTEgbWVhbnMgdW5rbm93biAqLwogICAgIHVuc2lnbmVkIGludCBjbG9zZWZkIDogMTsKICAgICBjaGFyIGZpbmFsaXppbmc7CisgICAgdW5zaWduZWQgaW50IGJsa3NpemU7CiAgICAgUHlPYmplY3QgKndlYWtyZWZsaXN0OwogICAgIFB5T2JqZWN0ICpkaWN0OwogfSBmaWxlaW87CkBAIC0xNjgsNiArMTY5LDcgQEAKICAgICAgICAgc2VsZi0+d3JpdGFibGUgPSAwOwogICAgICAgICBzZWxmLT5hcHBlbmRpbmcgPSAwOwogICAgICAgICBzZWxmLT5zZWVrYWJsZSA9IC0xOworICAgICAgICBzZWxmLT5ibGtzaXplID0gMDsKICAgICAgICAgc2VsZi0+Y2xvc2VmZCA9IDE7CiAgICAgICAgIHNlbGYtPndlYWtyZWZsaXN0ID0gTlVMTDsKICAgICB9CkBAIC0xNzUsMjYgKzE3Nyw2IEBACiAgICAgcmV0dXJuIChQeU9iamVjdCAqKSBzZWxmOwogfQogCi0vKiBPbiBVbml4LCBvcGVuIHdpbGwgc3VjY2VlZCBmb3IgZGlyZWN0b3JpZXMuCi0gICBJbiBQeXRob24sIHRoZXJlIHNob3VsZCBiZSBubyBmaWxlIG9iamVjdHMgcmVmZXJyaW5nIHRvCi0gICBkaXJlY3Rvcmllcywgc28gd2UgbmVlZCBhIGNoZWNrLiAgKi8KLQotc3RhdGljIGludAotZGlyY2hlY2soZmlsZWlvKiBzZWxmLCBQeU9iamVjdCAqbmFtZW9iaikKLXsKLSNpZiBkZWZpbmVkKEhBVkVfRlNUQVQpICYmIGRlZmluZWQoU19JU0RJUikgJiYgZGVmaW5lZChFSVNESVIpCi0gICAgc3RydWN0IHN0YXQgYnVmOwotICAgIGlmIChzZWxmLT5mZCA8IDApCi0gICAgICAgIHJldHVybiAwOwotICAgIGlmIChmc3RhdChzZWxmLT5mZCwgJmJ1ZikgPT0gMCAmJiBTX0lTRElSKGJ1Zi5zdF9tb2RlKSkgewotICAgICAgICBlcnJubyA9IEVJU0RJUjsKLSAgICAgICAgUHlFcnJfU2V0RnJvbUVycm5vV2l0aEZpbGVuYW1lT2JqZWN0KFB5RXhjX0lPRXJyb3IsIG5hbWVvYmopOwotICAgICAgICByZXR1cm4gLTE7Ci0gICAgfQotI2VuZGlmCi0gICAgcmV0dXJuIDA7Ci19Ci0KIHN0YXRpYyBpbnQKIGNoZWNrX2ZkKGludCBmZCkKIHsKQEAgLTI0MCw2ICsyMjIsMTAgQEAKICNlbGlmICFkZWZpbmVkKE1TX1dJTkRPV1MpCiAgICAgaW50ICphdG9taWNfZmxhZ193b3JrcyA9IE5VTEw7CiAjZW5kaWYKKyNpZmRlZiBIQVZFX0ZTVEFUCisgICAgc3RydWN0IHN0YXQgZmRmc3RhdDsKKyNlbmRpZgorICAgIGludCBhc3luY19lcnIgPSAwOwogCiAgICAgYXNzZXJ0KFB5RmlsZUlPX0NoZWNrKG9zZWxmKSk7CiAgICAgaWYgKHNlbGYtPmZkID49IDApIHsKQEAgLTI3OCw3ICsyNjQsNyBAQAogICAgICAgICBpbnQgcnYgPSBfUHlVbmljb2RlX0hhc05VTENoYXJzKG5hbWVvYmopOwogICAgICAgICBpZiAocnYpIHsKICAgICAgICAgICAgIGlmIChydiAhPSAtMSkKLSAgICAgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCAiZW1iZWRkZWQgTlVMIGNoYXJhY3RlciIpOworICAgICAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLCAiZW1iZWRkZWQgbnVsbCBjaGFyYWN0ZXIiKTsKICAgICAgICAgICAgIHJldHVybiAtMTsKICAgICAgICAgfQogICAgICAgICB3aWRlbmFtZSA9IFB5VW5pY29kZV9Bc1VuaWNvZGUobmFtZW9iaik7CkBAIC0zODIsMTUgKzM2OCwxOCBAQAogCiAgICAgICAgIGVycm5vID0gMDsKICAgICAgICAgaWYgKG9wZW5lciA9PSBQeV9Ob25lKSB7Ci0gICAgICAgICAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCisgICAgICAgICAgICBkbyB7CisgICAgICAgICAgICAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwogI2lmZGVmIE1TX1dJTkRPV1MKLSAgICAgICAgICAgIGlmICh3aWRlbmFtZSAhPSBOVUxMKQotICAgICAgICAgICAgICAgIHNlbGYtPmZkID0gX3dvcGVuKHdpZGVuYW1lLCBmbGFncywgMDY2Nik7Ci0gICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgaWYgKHdpZGVuYW1lICE9IE5VTEwpCisgICAgICAgICAgICAgICAgICAgIHNlbGYtPmZkID0gX3dvcGVuKHdpZGVuYW1lLCBmbGFncywgMDY2Nik7CisgICAgICAgICAgICAgICAgZWxzZQogI2VuZGlmCi0gICAgICAgICAgICAgICAgc2VsZi0+ZmQgPSBvcGVuKG5hbWUsIGZsYWdzLCAwNjY2KTsKKyAgICAgICAgICAgICAgICAgICAgc2VsZi0+ZmQgPSBvcGVuKG5hbWUsIGZsYWdzLCAwNjY2KTsKIAotICAgICAgICAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKKyAgICAgICAgICAgICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUworICAgICAgICAgICAgfSB3aGlsZSAoc2VsZi0+ZmQgPCAwICYmIGVycm5vID09IEVJTlRSICYmCisgICAgICAgICAgICAgICAgICAgICAhKGFzeW5jX2VyciA9IFB5RXJyX0NoZWNrU2lnbmFscygpKSk7CiAgICAgICAgIH0KICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICBQeU9iamVjdCAqZmRvYmo7CkBAIC00MTksNyArNDA4LDggQEAKIAogICAgICAgICBmZF9pc19vd24gPSAxOwogICAgICAgICBpZiAoc2VsZi0+ZmQgPCAwKSB7Ci0gICAgICAgICAgICBQeUVycl9TZXRGcm9tRXJybm9XaXRoRmlsZW5hbWVPYmplY3QoUHlFeGNfT1NFcnJvciwgbmFtZW9iaik7CisgICAgICAgICAgICBpZiAoIWFzeW5jX2VycikKKyAgICAgICAgICAgICAgICBQeUVycl9TZXRGcm9tRXJybm9XaXRoRmlsZW5hbWVPYmplY3QoUHlFeGNfT1NFcnJvciwgbmFtZW9iaik7CiAgICAgICAgICAgICBnb3RvIGVycm9yOwogICAgICAgICB9CiAKQEAgLTQyOCw4ICs0MTgsMjYgQEAKICAgICAgICAgICAgIGdvdG8gZXJyb3I7CiAjZW5kaWYKICAgICB9Ci0gICAgaWYgKGRpcmNoZWNrKHNlbGYsIG5hbWVvYmopIDwgMCkKKworICAgIHNlbGYtPmJsa3NpemUgPSBERUZBVUxUX0JVRkZFUl9TSVpFOworI2lmZGVmIEhBVkVfRlNUQVQKKyAgICBpZiAoZnN0YXQoc2VsZi0+ZmQsICZmZGZzdGF0KSA8IDApCiAgICAgICAgIGdvdG8gZXJyb3I7CisjaWYgZGVmaW5lZChTX0lTRElSKSAmJiBkZWZpbmVkKEVJU0RJUikKKyAgICAvKiBPbiBVbml4LCBvcGVuIHdpbGwgc3VjY2VlZCBmb3IgZGlyZWN0b3JpZXMuCisgICAgICAgSW4gUHl0aG9uLCB0aGVyZSBzaG91bGQgYmUgbm8gZmlsZSBvYmplY3RzIHJlZmVycmluZyB0bworICAgICAgIGRpcmVjdG9yaWVzLCBzbyB3ZSBuZWVkIGEgY2hlY2suICAqLworICAgIGlmIChTX0lTRElSKGZkZnN0YXQuc3RfbW9kZSkpIHsKKyAgICAgICAgZXJybm8gPSBFSVNESVI7CisgICAgICAgIFB5RXJyX1NldEZyb21FcnJub1dpdGhGaWxlbmFtZU9iamVjdChQeUV4Y19JT0Vycm9yLCBuYW1lb2JqKTsKKyAgICAgICAgZ290byBlcnJvcjsKKyAgICB9CisjZW5kaWYgLyogZGVmaW5lZChTX0lTRElSKSAqLworI2lmZGVmIEhBVkVfU1RSVUNUX1NUQVRfU1RfQkxLU0laRQorICAgIGlmIChmZGZzdGF0LnN0X2Jsa3NpemUgPiAxKQorICAgICAgICBzZWxmLT5ibGtzaXplID0gZmRmc3RhdC5zdF9ibGtzaXplOworI2VuZGlmIC8qIEhBVkVfU1RSVUNUX1NUQVRfU1RfQkxLU0laRSAqLworI2VuZGlmIC8qIEhBVkVfRlNUQVQgKi8KIAogI2lmIGRlZmluZWQoTVNfV0lORE9XUykgfHwgZGVmaW5lZChfX0NZR1dJTl9fKQogICAgIC8qIGRvbid0IHRyYW5zbGF0ZSBuZXdsaW5lcyAoXHJcbiA8PT4gXG4pICovCkBAIC01NTQsNyArNTYyLDcgQEAKIHsKICAgICBQeV9idWZmZXIgcGJ1ZjsKICAgICBQeV9zc2l6ZV90IG4sIGxlbjsKLSAgICBpbnQgZXJyOworICAgIGludCBlcnIsIGFzeW5jX2VyciA9IDA7CiAKICAgICBpZiAoc2VsZi0+ZmQgPCAwKQogICAgICAgICByZXR1cm4gZXJyX2Nsb3NlZCgpOwpAQCAtNTY2LDE2ICs1NzQsMTkgQEAKIAogICAgIGlmIChfUHlWZXJpZnlfZmQoc2VsZi0+ZmQpKSB7CiAgICAgICAgIGxlbiA9IHBidWYubGVuOwotICAgICAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCi0gICAgICAgIGVycm5vID0gMDsKKyAgICAgICAgZG8geworICAgICAgICAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUworICAgICAgICAgICAgZXJybm8gPSAwOwogI2lmZGVmIE1TX1dJTkRPV1MKLSAgICAgICAgaWYgKGxlbiA+IElOVF9NQVgpCi0gICAgICAgICAgICBsZW4gPSBJTlRfTUFYOwotICAgICAgICBuID0gcmVhZChzZWxmLT5mZCwgcGJ1Zi5idWYsIChpbnQpbGVuKTsKKyAgICAgICAgICAgIGlmIChsZW4gPiBJTlRfTUFYKQorICAgICAgICAgICAgICAgIGxlbiA9IElOVF9NQVg7CisgICAgICAgICAgICBuID0gcmVhZChzZWxmLT5mZCwgcGJ1Zi5idWYsIChpbnQpbGVuKTsKICNlbHNlCi0gICAgICAgIG4gPSByZWFkKHNlbGYtPmZkLCBwYnVmLmJ1ZiwgbGVuKTsKKyAgICAgICAgICAgIG4gPSByZWFkKHNlbGYtPmZkLCBwYnVmLmJ1ZiwgbGVuKTsKICNlbmRpZgotICAgICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUworICAgICAgICAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKKyAgICAgICAgfSB3aGlsZSAobiA8IDAgJiYgZXJybm8gPT0gRUlOVFIgJiYKKyAgICAgICAgICAgICAgICAgIShhc3luY19lcnIgPSBQeUVycl9DaGVja1NpZ25hbHMoKSkpOwogICAgIH0gZWxzZQogICAgICAgICBuID0gLTE7CiAgICAgZXJyID0gZXJybm87CkBAIC01ODQsNyArNTk1LDggQEAKICAgICAgICAgaWYgKGVyciA9PSBFQUdBSU4pCiAgICAgICAgICAgICBQeV9SRVRVUk5fTk9ORTsKICAgICAgICAgZXJybm8gPSBlcnI7Ci0gICAgICAgIFB5RXJyX1NldEZyb21FcnJubyhQeUV4Y19JT0Vycm9yKTsKKyAgICAgICAgaWYgKCFhc3luY19lcnIpCisgICAgICAgICAgICBQeUVycl9TZXRGcm9tRXJybm8oUHlFeGNfSU9FcnJvcik7CiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KIApAQCAtNjMxLDYgKzY0Myw3IEBACiAgICAgUHlfc3NpemVfdCBieXRlc19yZWFkID0gMDsKICAgICBQeV9zc2l6ZV90IG47CiAgICAgc2l6ZV90IGJ1ZnNpemU7CisgICAgaW50IGFzeW5jX2VyciA9IDA7CiAKICAgICBpZiAoc2VsZi0+ZmQgPCAwKQogICAgICAgICByZXR1cm4gZXJyX2Nsb3NlZCgpOwpAQCAtNjc3LDI3ICs2OTAsMjMgQEAKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KLSAgICAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwotICAgICAgICBlcnJubyA9IDA7Ci0gICAgICAgIG4gPSBidWZzaXplIC0gYnl0ZXNfcmVhZDsKKyAgICAgICAgZG8geworICAgICAgICAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUworICAgICAgICAgICAgZXJybm8gPSAwOworICAgICAgICAgICAgbiA9IGJ1ZnNpemUgLSBieXRlc19yZWFkOwogI2lmZGVmIE1TX1dJTkRPV1MKLSAgICAgICAgaWYgKG4gPiBJTlRfTUFYKQotICAgICAgICAgICAgbiA9IElOVF9NQVg7Ci0gICAgICAgIG4gPSByZWFkKHNlbGYtPmZkLCBQeUJ5dGVzX0FTX1NUUklORyhyZXN1bHQpICsgYnl0ZXNfcmVhZCwgKGludCluKTsKKyAgICAgICAgICAgIGlmIChuID4gSU5UX01BWCkKKyAgICAgICAgICAgICAgICBuID0gSU5UX01BWDsKKyAgICAgICAgICAgIG4gPSByZWFkKHNlbGYtPmZkLCBQeUJ5dGVzX0FTX1NUUklORyhyZXN1bHQpICsgYnl0ZXNfcmVhZCwgKGludCluKTsKICNlbHNlCi0gICAgICAgIG4gPSByZWFkKHNlbGYtPmZkLCBQeUJ5dGVzX0FTX1NUUklORyhyZXN1bHQpICsgYnl0ZXNfcmVhZCwgbik7CisgICAgICAgICAgICBuID0gcmVhZChzZWxmLT5mZCwgUHlCeXRlc19BU19TVFJJTkcocmVzdWx0KSArIGJ5dGVzX3JlYWQsIG4pOwogI2VuZGlmCi0gICAgICAgIFB5X0VORF9BTExPV19USFJFQURTCisgICAgICAgICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUworICAgICAgICB9IHdoaWxlIChuIDwgMCAmJiBlcnJubyA9PSBFSU5UUiAmJgorICAgICAgICAgICAgICAgICAhKGFzeW5jX2VyciA9IFB5RXJyX0NoZWNrU2lnbmFscygpKSk7CiAgICAgICAgIGlmIChuID09IDApCiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgaWYgKG4gPCAwKSB7Ci0gICAgICAgICAgICBpZiAoZXJybm8gPT0gRUlOVFIpIHsKLSAgICAgICAgICAgICAgICBpZiAoUHlFcnJfQ2hlY2tTaWduYWxzKCkpIHsKLSAgICAgICAgICAgICAgICAgICAgUHlfREVDUkVGKHJlc3VsdCk7Ci0gICAgICAgICAgICAgICAgICAgIHJldHVybiBOVUxMOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgICAgIH0KICAgICAgICAgICAgIGlmIChlcnJubyA9PSBFQUdBSU4pIHsKICAgICAgICAgICAgICAgICBpZiAoYnl0ZXNfcmVhZCA+IDApCiAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwpAQCAtNzA1LDcgKzcxNCw4IEBACiAgICAgICAgICAgICAgICAgUHlfUkVUVVJOX05PTkU7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBQeV9ERUNSRUYocmVzdWx0KTsKLSAgICAgICAgICAgIFB5RXJyX1NldEZyb21FcnJubyhQeUV4Y19JT0Vycm9yKTsKKyAgICAgICAgICAgIGlmICghYXN5bmNfZXJyKQorICAgICAgICAgICAgICAgIFB5RXJyX1NldEZyb21FcnJubyhQeUV4Y19JT0Vycm9yKTsKICAgICAgICAgICAgIHJldHVybiBOVUxMOwogICAgICAgICB9CiAgICAgICAgIGJ5dGVzX3JlYWQgKz0gbjsKQEAgLTcyNyw2ICs3MzcsNyBAQAogICAgIGNoYXIgKnB0cjsKICAgICBQeV9zc2l6ZV90IG47CiAgICAgUHlfc3NpemVfdCBzaXplID0gLTE7CisgICAgaW50IGFzeW5jX2VyciA9IDA7CiAgICAgUHlPYmplY3QgKmJ5dGVzOwogCiAgICAgaWYgKHNlbGYtPmZkIDwgMCkKQEAgLTc1MSwxNCArNzYyLDE3IEBACiAgICAgcHRyID0gUHlCeXRlc19BU19TVFJJTkcoYnl0ZXMpOwogCiAgICAgaWYgKF9QeVZlcmlmeV9mZChzZWxmLT5mZCkpIHsKLSAgICAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwotICAgICAgICBlcnJubyA9IDA7CisgICAgICAgIGRvIHsKKyAgICAgICAgICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKKyAgICAgICAgICAgIGVycm5vID0gMDsKICNpZmRlZiBNU19XSU5ET1dTCi0gICAgICAgIG4gPSByZWFkKHNlbGYtPmZkLCBwdHIsIChpbnQpc2l6ZSk7CisgICAgICAgICAgICBuID0gcmVhZChzZWxmLT5mZCwgcHRyLCAoaW50KXNpemUpOwogI2Vsc2UKLSAgICAgICAgbiA9IHJlYWQoc2VsZi0+ZmQsIHB0ciwgc2l6ZSk7CisgICAgICAgICAgICBuID0gcmVhZChzZWxmLT5mZCwgcHRyLCBzaXplKTsKICNlbmRpZgotICAgICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUworICAgICAgICAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKKyAgICAgICAgfSB3aGlsZSAobiA8IDAgJiYgZXJybm8gPT0gRUlOVFIgJiYKKyAgICAgICAgICAgICAgICAgIShhc3luY19lcnIgPSBQeUVycl9DaGVja1NpZ25hbHMoKSkpOwogICAgIH0gZWxzZQogICAgICAgICBuID0gLTE7CiAKQEAgLTc2OCw3ICs3ODIsOCBAQAogICAgICAgICBpZiAoZXJyID09IEVBR0FJTikKICAgICAgICAgICAgIFB5X1JFVFVSTl9OT05FOwogICAgICAgICBlcnJubyA9IGVycjsKLSAgICAgICAgUHlFcnJfU2V0RnJvbUVycm5vKFB5RXhjX0lPRXJyb3IpOworICAgICAgICBpZiAoIWFzeW5jX2VycikKKyAgICAgICAgICAgIFB5RXJyX1NldEZyb21FcnJubyhQeUV4Y19JT0Vycm9yKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQogCkBAIC03ODcsNyArODAyLDcgQEAKIHsKICAgICBQeV9idWZmZXIgcGJ1ZjsKICAgICBQeV9zc2l6ZV90IG4sIGxlbjsKLSAgICBpbnQgZXJyOworICAgIGludCBlcnIsIGFzeW5jX2VyciA9IDA7CiAKICAgICBpZiAoc2VsZi0+ZmQgPCAwKQogICAgICAgICByZXR1cm4gZXJyX2Nsb3NlZCgpOwpAQCAtNzk4LDI0ICs4MTMsMjYgQEAKICAgICAgICAgcmV0dXJuIE5VTEw7CiAKICAgICBpZiAoX1B5VmVyaWZ5X2ZkKHNlbGYtPmZkKSkgewotICAgICAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCi0gICAgICAgIGVycm5vID0gMDsKLSAgICAgICAgbGVuID0gcGJ1Zi5sZW47CisgICAgICAgIGRvIHsKKyAgICAgICAgICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKKyAgICAgICAgICAgIGVycm5vID0gMDsKKyAgICAgICAgICAgIGxlbiA9IHBidWYubGVuOwogI2lmZGVmIE1TX1dJTkRPV1MKLSAgICAgICAgaWYgKGxlbiA+IDMyNzY3ICYmIGlzYXR0eShzZWxmLT5mZCkpIHsKLSAgICAgICAgICAgIC8qIElzc3VlICMxMTM5NTogdGhlIFdpbmRvd3MgY29uc29sZSByZXR1cm5zIGFuIGVycm9yICgxMjogbm90Ci0gICAgICAgICAgICAgICBlbm91Z2ggc3BhY2UgZXJyb3IpIG9uIHdyaXRpbmcgaW50byBzdGRvdXQgaWYgc3Rkb3V0IG1vZGUgaXMKLSAgICAgICAgICAgICAgIGJpbmFyeSBhbmQgdGhlIGxlbmd0aCBpcyBncmVhdGVyIHRoYW4gNjYsMDAwIGJ5dGVzIChvciBsZXNzLAotICAgICAgICAgICAgICAgZGVwZW5kaW5nIG9uIGhlYXAgdXNhZ2UpLiAqLwotICAgICAgICAgICAgbGVuID0gMzI3Njc7Ci0gICAgICAgIH0KLSAgICAgICAgZWxzZSBpZiAobGVuID4gSU5UX01BWCkKLSAgICAgICAgICAgIGxlbiA9IElOVF9NQVg7Ci0gICAgICAgIG4gPSB3cml0ZShzZWxmLT5mZCwgcGJ1Zi5idWYsIChpbnQpbGVuKTsKKyAgICAgICAgICAgIGlmIChsZW4gPiAzMjc2NyAmJiBpc2F0dHkoc2VsZi0+ZmQpKSB7CisgICAgICAgICAgICAgICAgLyogSXNzdWUgIzExMzk1OiB0aGUgV2luZG93cyBjb25zb2xlIHJldHVybnMgYW4gZXJyb3IgKDEyOiBub3QKKyAgICAgICAgICAgICAgICAgICBlbm91Z2ggc3BhY2UgZXJyb3IpIG9uIHdyaXRpbmcgaW50byBzdGRvdXQgaWYgc3Rkb3V0IG1vZGUgaXMKKyAgICAgICAgICAgICAgICAgICBiaW5hcnkgYW5kIHRoZSBsZW5ndGggaXMgZ3JlYXRlciB0aGFuIDY2LDAwMCBieXRlcyAob3IgbGVzcywKKyAgICAgICAgICAgICAgICAgICBkZXBlbmRpbmcgb24gaGVhcCB1c2FnZSkuICovCisgICAgICAgICAgICAgICAgbGVuID0gMzI3Njc7CisgICAgICAgICAgICB9IGVsc2UgaWYgKGxlbiA+IElOVF9NQVgpCisgICAgICAgICAgICAgICAgbGVuID0gSU5UX01BWDsKKyAgICAgICAgICAgIG4gPSB3cml0ZShzZWxmLT5mZCwgcGJ1Zi5idWYsIChpbnQpbGVuKTsKICNlbHNlCi0gICAgICAgIG4gPSB3cml0ZShzZWxmLT5mZCwgcGJ1Zi5idWYsIGxlbik7CisgICAgICAgICAgICBuID0gd3JpdGUoc2VsZi0+ZmQsIHBidWYuYnVmLCBsZW4pOwogI2VuZGlmCi0gICAgICAgIFB5X0VORF9BTExPV19USFJFQURTCisgICAgICAgICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUworICAgICAgICB9IHdoaWxlIChuIDwgMCAmJiBlcnJubyA9PSBFSU5UUiAmJgorICAgICAgICAgICAgICAgICAhKGFzeW5jX2VyciA9IFB5RXJyX0NoZWNrU2lnbmFscygpKSk7CiAgICAgfSBlbHNlCiAgICAgICAgIG4gPSAtMTsKICAgICBlcnIgPSBlcnJubzsKQEAgLTgyNiw3ICs4NDMsOCBAQAogICAgICAgICBpZiAoZXJyID09IEVBR0FJTikKICAgICAgICAgICAgIFB5X1JFVFVSTl9OT05FOwogICAgICAgICBlcnJubyA9IGVycjsKLSAgICAgICAgUHlFcnJfU2V0RnJvbUVycm5vKFB5RXhjX0lPRXJyb3IpOworICAgICAgICBpZiAoIWFzeW5jX2VycikKKyAgICAgICAgICAgIFB5RXJyX1NldEZyb21FcnJubyhQeUV4Y19JT0Vycm9yKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQogCkBAIC0xMDU4LDEyICsxMDc2LDE0IEBACiAgICAgICAgICAgICBQeUVycl9DbGVhcigpOwogICAgICAgICBlbHNlCiAgICAgICAgICAgICByZXR1cm4gTlVMTDsKLSAgICAgICAgcmVzID0gUHlVbmljb2RlX0Zyb21Gb3JtYXQoIjxfaW8uRmlsZUlPIGZkPSVkIG1vZGU9JyVzJz4iLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLT5mZCwgbW9kZV9zdHJpbmcoc2VsZikpOworICAgICAgICByZXMgPSBQeVVuaWNvZGVfRnJvbUZvcm1hdCgKKyAgICAgICAgICAgICI8X2lvLkZpbGVJTyBmZD0lZCBtb2RlPSclcycgY2xvc2VmZD0lcz4iLAorICAgICAgICAgICAgc2VsZi0+ZmQsIG1vZGVfc3RyaW5nKHNlbGYpLCBzZWxmLT5jbG9zZWZkID8gIlRydWUiIDogIkZhbHNlIik7CiAgICAgfQogICAgIGVsc2UgewotICAgICAgICByZXMgPSBQeVVuaWNvZGVfRnJvbUZvcm1hdCgiPF9pby5GaWxlSU8gbmFtZT0lUiBtb2RlPSclcyc+IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZW9iaiwgbW9kZV9zdHJpbmcoc2VsZikpOworICAgICAgICByZXMgPSBQeVVuaWNvZGVfRnJvbUZvcm1hdCgKKyAgICAgICAgICAgICI8X2lvLkZpbGVJTyBuYW1lPSVSIG1vZGU9JyVzJyBjbG9zZWZkPSVzPiIsCisgICAgICAgICAgICBuYW1lb2JqLCBtb2RlX3N0cmluZyhzZWxmKSwgc2VsZi0+Y2xvc2VmZCA/ICJUcnVlIiA6ICJGYWxzZSIpOwogICAgICAgICBQeV9ERUNSRUYobmFtZW9iaik7CiAgICAgfQogICAgIHJldHVybiByZXM7CkBAIC0xMjI1LDYgKzEyNDUsNyBAQAogfTsKIAogc3RhdGljIFB5TWVtYmVyRGVmIGZpbGVpb19tZW1iZXJzW10gPSB7CisgICAgeyJfYmxrc2l6ZSIsIFRfVUlOVCwgb2Zmc2V0b2YoZmlsZWlvLCBibGtzaXplKSwgMH0sCiAgICAgeyJfZmluYWxpemluZyIsIFRfQk9PTCwgb2Zmc2V0b2YoZmlsZWlvLCBmaW5hbGl6aW5nKSwgMH0sCiAgICAge05VTEx9CiB9OwpkaWZmIC0tZ2l0IGEvTW9kdWxlcy9faW8vdGV4dGlvLmMgYi9Nb2R1bGVzL19pby90ZXh0aW8uYwppbmRleCAzZjAxOTgwLi45ZmI0ZWY5IDEwMDY0NAotLS0gYS9Nb2R1bGVzL19pby90ZXh0aW8uYworKysgYi9Nb2R1bGVzL19pby90ZXh0aW8uYwpAQCAtMjI0LDggKzIyNCw4IEBACiAgICAgUHlPYmplY3RfSEVBRAogICAgIFB5T2JqZWN0ICpkZWNvZGVyOwogICAgIFB5T2JqZWN0ICplcnJvcnM7Ci0gICAgc2lnbmVkIGludCBwZW5kaW5nY3I6IDE7Ci0gICAgc2lnbmVkIGludCB0cmFuc2xhdGU6IDE7CisgICAgdW5zaWduZWQgaW50IHBlbmRpbmdjcjogMTsKKyAgICB1bnNpZ25lZCBpbnQgdHJhbnNsYXRlOiAxOwogICAgIHVuc2lnbmVkIGludCBzZWVubmw6IDM7CiB9IG5sZGVjb2Rlcl9vYmplY3Q7CiAKQEAgLTU0Niw3ICs1NDYsNyBAQAogICAgIGlmICghUHlBcmdfUGFyc2Uoc3RhdGUsICIoT0spIiwgJmJ1ZmZlciwgJmZsYWcpKQogICAgICAgICByZXR1cm4gTlVMTDsKIAotICAgIHNlbGYtPnBlbmRpbmdjciA9IChpbnQpIGZsYWcgJiAxOworICAgIHNlbGYtPnBlbmRpbmdjciA9IChpbnQpIChmbGFnICYgMSk7CiAgICAgZmxhZyA+Pj0gMTsKIAogICAgIGlmIChzZWxmLT5kZWNvZGVyICE9IFB5X05vbmUpCkBAIC0xNDQxLDYgKzE0NDEsNyBAQAogICAgIFB5T2JqZWN0ICpkZWNfYnVmZmVyID0gTlVMTDsKICAgICBQeU9iamVjdCAqZGVjX2ZsYWdzID0gTlVMTDsKICAgICBQeU9iamVjdCAqaW5wdXRfY2h1bmsgPSBOVUxMOworICAgIFB5X2J1ZmZlciBpbnB1dF9jaHVua19idWY7CiAgICAgUHlPYmplY3QgKmRlY29kZWRfY2hhcnMsICpjaHVua19zaXplOwogICAgIFB5X3NzaXplX3QgbmJ5dGVzLCBuY2hhcnM7CiAgICAgaW50IGVvZjsKQEAgLTE0NzIsNiArMTQ3MywxNSBAQAogICAgICAgICAgICAgUHlfREVDUkVGKHN0YXRlKTsKICAgICAgICAgICAgIHJldHVybiAtMTsKICAgICAgICAgfQorCisgICAgICAgIGlmICghUHlCeXRlc19DaGVjayhkZWNfYnVmZmVyKSkgeworICAgICAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX1R5cGVFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAiZGVjb2RlciBnZXRzdGF0ZSgpIHNob3VsZCBoYXZlIHJldHVybmVkIGEgYnl0ZXMgIgorICAgICAgICAgICAgICAgICAgICAgICAgICJvYmplY3QsIG5vdCAnJS4yMDBzJyIsCisgICAgICAgICAgICAgICAgICAgICAgICAgUHlfVFlQRShkZWNfYnVmZmVyKS0+dHBfbmFtZSk7CisgICAgICAgICAgICBQeV9ERUNSRUYoc3RhdGUpOworICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICB9CiAgICAgICAgIFB5X0lOQ1JFRihkZWNfYnVmZmVyKTsKICAgICAgICAgUHlfSU5DUkVGKGRlY19mbGFncyk7CiAgICAgICAgIFB5X0RFQ1JFRihzdGF0ZSk7CkBAIC0xNDg0LDIzICsxNDk0LDI0IEBACiAgICAgY2h1bmtfc2l6ZSA9IFB5TG9uZ19Gcm9tU3NpemVfdChQeV9NQVgoc2VsZi0+Y2h1bmtfc2l6ZSwgc2l6ZV9oaW50KSk7CiAgICAgaWYgKGNodW5rX3NpemUgPT0gTlVMTCkKICAgICAgICAgZ290byBmYWlsOworCiAgICAgaW5wdXRfY2h1bmsgPSBQeU9iamVjdF9DYWxsTWV0aG9kT2JqQXJncyhzZWxmLT5idWZmZXIsCiAgICAgICAgIChzZWxmLT5oYXNfcmVhZDEgPyBfUHlJT19zdHJfcmVhZDE6IF9QeUlPX3N0cl9yZWFkKSwKICAgICAgICAgY2h1bmtfc2l6ZSwgTlVMTCk7CiAgICAgUHlfREVDUkVGKGNodW5rX3NpemUpOwogICAgIGlmIChpbnB1dF9jaHVuayA9PSBOVUxMKQogICAgICAgICBnb3RvIGZhaWw7Ci0gICAgaWYgKCFQeUJ5dGVzX0NoZWNrKGlucHV0X2NodW5rKSkgeworCisgICAgaWYgKFB5T2JqZWN0X0dldEJ1ZmZlcihpbnB1dF9jaHVuaywgJmlucHV0X2NodW5rX2J1ZiwgMCkgIT0gMCkgewogICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVHlwZUVycm9yLAotICAgICAgICAgICAgICAgICAgICAgInVuZGVybHlpbmcgJXMoKSBzaG91bGQgaGF2ZSByZXR1cm5lZCBhIGJ5dGVzIG9iamVjdCwgIgorICAgICAgICAgICAgICAgICAgICAgInVuZGVybHlpbmcgJXMoKSBzaG91bGQgaGF2ZSByZXR1cm5lZCBhIGJ5dGVzLWxpa2Ugb2JqZWN0LCAiCiAgICAgICAgICAgICAgICAgICAgICAibm90ICclLjIwMHMnIiwgKHNlbGYtPmhhc19yZWFkMSA/ICJyZWFkMSI6ICJyZWFkIiksCiAgICAgICAgICAgICAgICAgICAgICBQeV9UWVBFKGlucHV0X2NodW5rKS0+dHBfbmFtZSk7CiAgICAgICAgIGdvdG8gZmFpbDsKICAgICB9CiAKLSAgICBuYnl0ZXMgPSBQeUJ5dGVzX1NpemUoaW5wdXRfY2h1bmspOworICAgIG5ieXRlcyA9IGlucHV0X2NodW5rX2J1Zi5sZW47CiAgICAgZW9mID0gKG5ieXRlcyA9PSAwKTsKLQogICAgIGlmIChQeV9UWVBFKHNlbGYtPmRlY29kZXIpID09ICZQeUluY3JlbWVudGFsTmV3bGluZURlY29kZXJfVHlwZSkgewogICAgICAgICBkZWNvZGVkX2NoYXJzID0gX1B5SW5jcmVtZW50YWxOZXdsaW5lRGVjb2Rlcl9kZWNvZGUoCiAgICAgICAgICAgICBzZWxmLT5kZWNvZGVyLCBpbnB1dF9jaHVuaywgZW9mKTsKQEAgLTE1MDksNiArMTUyMCw3IEBACiAgICAgICAgIGRlY29kZWRfY2hhcnMgPSBQeU9iamVjdF9DYWxsTWV0aG9kT2JqQXJncyhzZWxmLT5kZWNvZGVyLAogICAgICAgICAgICAgX1B5SU9fc3RyX2RlY29kZSwgaW5wdXRfY2h1bmssIGVvZiA/IFB5X1RydWUgOiBQeV9GYWxzZSwgTlVMTCk7CiAgICAgfQorICAgIFB5QnVmZmVyX1JlbGVhc2UoJmlucHV0X2NodW5rX2J1Zik7CiAKICAgICBpZiAoY2hlY2tfZGVjb2RlZChkZWNvZGVkX2NoYXJzKSA8IDApCiAgICAgICAgIGdvdG8gZmFpbDsKQEAgLTE1MjUsMTggKzE1MzcsMTIgQEAKICAgICAgICAgLyogQXQgdGhlIHNuYXBzaG90IHBvaW50LCBsZW4oZGVjX2J1ZmZlcikgYnl0ZXMgYmVmb3JlIHRoZSByZWFkLCB0aGUKICAgICAgICAgICogbmV4dCBpbnB1dCB0byBiZSBkZWNvZGVkIGlzIGRlY19idWZmZXIgKyBpbnB1dF9jaHVuay4KICAgICAgICAgICovCi0gICAgICAgIFB5T2JqZWN0ICpuZXh0X2lucHV0ID0gUHlOdW1iZXJfQWRkKGRlY19idWZmZXIsIGlucHV0X2NodW5rKTsKLSAgICAgICAgaWYgKG5leHRfaW5wdXQgPT0gTlVMTCkKLSAgICAgICAgICAgIGdvdG8gZmFpbDsKLSAgICAgICAgaWYgKCFQeUJ5dGVzX0NoZWNrKG5leHRfaW5wdXQpKSB7Ci0gICAgICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVHlwZUVycm9yLAotICAgICAgICAgICAgICAgICAgICAgICAgICJkZWNvZGVyIGdldHN0YXRlKCkgc2hvdWxkIGhhdmUgcmV0dXJuZWQgYSBieXRlcyAiCi0gICAgICAgICAgICAgICAgICAgICAgICAgIm9iamVjdCwgbm90ICclLjIwMHMnIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICBQeV9UWVBFKG5leHRfaW5wdXQpLT50cF9uYW1lKTsKLSAgICAgICAgICAgIFB5X0RFQ1JFRihuZXh0X2lucHV0KTsKKyAgICAgICAgUHlPYmplY3QgKm5leHRfaW5wdXQgPSBkZWNfYnVmZmVyOworICAgICAgICBQeUJ5dGVzX0NvbmNhdCgmbmV4dF9pbnB1dCwgaW5wdXRfY2h1bmspOworICAgICAgICBpZiAobmV4dF9pbnB1dCA9PSBOVUxMKSB7CisgICAgICAgICAgICBkZWNfYnVmZmVyID0gTlVMTDsgLyogUmVmZXJlbmNlIGxvc3QgdG8gUHlCeXRlc19Db25jYXQgKi8KICAgICAgICAgICAgIGdvdG8gZmFpbDsKICAgICAgICAgfQotICAgICAgICBQeV9ERUNSRUYoZGVjX2J1ZmZlcik7CiAgICAgICAgIFB5X0NMRUFSKHNlbGYtPnNuYXBzaG90KTsKICAgICAgICAgc2VsZi0+c25hcHNob3QgPSBQeV9CdWlsZFZhbHVlKCJOTiIsIGRlY19mbGFncywgbmV4dF9pbnB1dCk7CiAgICAgfQpAQCAtMTcyNSw3ICsxNzMxLDcgQEAKICAgICBlbHNlIHsKICAgICAgICAgLyogTm9uLXVuaXZlcnNhbCBtb2RlLiAqLwogICAgICAgICBQeV9zc2l6ZV90IHJlYWRubF9sZW4gPSBQeVVuaWNvZGVfR0VUX0xFTkdUSChyZWFkbmwpOwotICAgICAgICBjaGFyICpubCA9IFB5VW5pY29kZV9EQVRBKHJlYWRubCk7CisgICAgICAgIFB5X1VDUzEgKm5sID0gUHlVbmljb2RlXzFCWVRFX0RBVEEocmVhZG5sKTsKICAgICAgICAgLyogQXNzdW1lIHRoYXQgcmVhZG5sIGlzIGFuIEFTQ0lJIGNoYXJhY3Rlci4gKi8KICAgICAgICAgYXNzZXJ0KFB5VW5pY29kZV9LSU5EKHJlYWRubCkgPT0gUHlVbmljb2RlXzFCWVRFX0tJTkQpOwogICAgICAgICBpZiAocmVhZG5sX2xlbiA9PSAxKSB7CmRpZmYgLS1naXQgYS9Nb2R1bGVzL19qc29uLmMgYi9Nb2R1bGVzL19qc29uLmMKaW5kZXggZjUyM2FhYi4uMDc2ODU5ZiAxMDA2NDQKLS0tIGEvTW9kdWxlcy9fanNvbi5jCisrKyBiL01vZHVsZXMvX2pzb24uYwpAQCAtNDcsNyArNDcsNyBAQAogICAgIFB5T2JqZWN0ICppdGVtX3NlcGFyYXRvcjsKICAgICBQeU9iamVjdCAqc29ydF9rZXlzOwogICAgIFB5T2JqZWN0ICpza2lwa2V5czsKLSAgICBpbnQgZmFzdF9lbmNvZGU7CisgICAgUHlDRnVuY3Rpb24gZmFzdF9lbmNvZGU7CiAgICAgaW50IGFsbG93X25hbjsKIH0gUHlFbmNvZGVyT2JqZWN0OwogCkBAIC0yMjUsMjYgKzIyNSwxMTYgQEAKICAgICByZXR1cm4gcnZhbDsKIH0KIAorc3RhdGljIFB5T2JqZWN0ICoKK2VzY2FwZV91bmljb2RlKFB5T2JqZWN0ICpweXN0cikKK3sKKyAgICAvKiBUYWtlIGEgUHlVbmljb2RlIHB5c3RyIGFuZCByZXR1cm4gYSBuZXcgZXNjYXBlZCBQeVVuaWNvZGUgKi8KKyAgICBQeV9zc2l6ZV90IGk7CisgICAgUHlfc3NpemVfdCBpbnB1dF9jaGFyczsKKyAgICBQeV9zc2l6ZV90IG91dHB1dF9zaXplOworICAgIFB5X3NzaXplX3QgY2hhcnM7CisgICAgUHlPYmplY3QgKnJ2YWw7CisgICAgdm9pZCAqaW5wdXQ7CisgICAgaW50IGtpbmQ7CisgICAgUHlfVUNTNCBtYXhjaGFyOworCisgICAgaWYgKFB5VW5pY29kZV9SRUFEWShweXN0cikgPT0gLTEpCisgICAgICAgIHJldHVybiBOVUxMOworCisgICAgbWF4Y2hhciA9IFB5VW5pY29kZV9NQVhfQ0hBUl9WQUxVRShweXN0cik7CisgICAgaW5wdXRfY2hhcnMgPSBQeVVuaWNvZGVfR0VUX0xFTkdUSChweXN0cik7CisgICAgaW5wdXQgPSBQeVVuaWNvZGVfREFUQShweXN0cik7CisgICAga2luZCA9IFB5VW5pY29kZV9LSU5EKHB5c3RyKTsKKworICAgIC8qIENvbXB1dGUgdGhlIG91dHB1dCBzaXplICovCisgICAgZm9yIChpID0gMCwgb3V0cHV0X3NpemUgPSAyOyBpIDwgaW5wdXRfY2hhcnM7IGkrKykgeworICAgICAgICBQeV9VQ1M0IGMgPSBQeVVuaWNvZGVfUkVBRChraW5kLCBpbnB1dCwgaSk7CisgICAgICAgIHN3aXRjaCAoYykgeworICAgICAgICBjYXNlICdcXCc6IGNhc2UgJyInOiBjYXNlICdcYic6IGNhc2UgJ1xmJzoKKyAgICAgICAgY2FzZSAnXG4nOiBjYXNlICdccic6IGNhc2UgJ1x0JzoKKyAgICAgICAgICAgIG91dHB1dF9zaXplICs9IDI7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIGlmIChjIDw9IDB4MWYpCisgICAgICAgICAgICAgICAgb3V0cHV0X3NpemUgKz0gNjsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBvdXRwdXRfc2l6ZSsrOworICAgICAgICB9CisgICAgfQorCisgICAgcnZhbCA9IFB5VW5pY29kZV9OZXcob3V0cHV0X3NpemUsIG1heGNoYXIpOworICAgIGlmIChydmFsID09IE5VTEwpCisgICAgICAgIHJldHVybiBOVUxMOworCisgICAga2luZCA9IFB5VW5pY29kZV9LSU5EKHJ2YWwpOworCisjZGVmaW5lIEVOQ09ERV9PVVRQVVQgZG8geyBcCisgICAgICAgIGNoYXJzID0gMDsgXAorICAgICAgICBvdXRwdXRbY2hhcnMrK10gPSAnIic7IFwKKyAgICAgICAgZm9yIChpID0gMDsgaSA8IGlucHV0X2NoYXJzOyBpKyspIHsgXAorICAgICAgICAgICAgUHlfVUNTNCBjID0gUHlVbmljb2RlX1JFQUQoa2luZCwgaW5wdXQsIGkpOyBcCisgICAgICAgICAgICBzd2l0Y2ggKGMpIHsgXAorICAgICAgICAgICAgY2FzZSAnXFwnOiBvdXRwdXRbY2hhcnMrK10gPSAnXFwnOyBvdXRwdXRbY2hhcnMrK10gPSBjOyBicmVhazsgXAorICAgICAgICAgICAgY2FzZSAnIic6ICBvdXRwdXRbY2hhcnMrK10gPSAnXFwnOyBvdXRwdXRbY2hhcnMrK10gPSBjOyBicmVhazsgXAorICAgICAgICAgICAgY2FzZSAnXGInOiBvdXRwdXRbY2hhcnMrK10gPSAnXFwnOyBvdXRwdXRbY2hhcnMrK10gPSAnYic7IGJyZWFrOyBcCisgICAgICAgICAgICBjYXNlICdcZic6IG91dHB1dFtjaGFycysrXSA9ICdcXCc7IG91dHB1dFtjaGFycysrXSA9ICdmJzsgYnJlYWs7IFwKKyAgICAgICAgICAgIGNhc2UgJ1xuJzogb3V0cHV0W2NoYXJzKytdID0gJ1xcJzsgb3V0cHV0W2NoYXJzKytdID0gJ24nOyBicmVhazsgXAorICAgICAgICAgICAgY2FzZSAnXHInOiBvdXRwdXRbY2hhcnMrK10gPSAnXFwnOyBvdXRwdXRbY2hhcnMrK10gPSAncic7IGJyZWFrOyBcCisgICAgICAgICAgICBjYXNlICdcdCc6IG91dHB1dFtjaGFycysrXSA9ICdcXCc7IG91dHB1dFtjaGFycysrXSA9ICd0JzsgYnJlYWs7IFwKKyAgICAgICAgICAgIGRlZmF1bHQ6IFwKKyAgICAgICAgICAgICAgICBpZiAoYyA8PSAweDFmKSB7IFwKKyAgICAgICAgICAgICAgICAgICAgb3V0cHV0W2NoYXJzKytdID0gJ1xcJzsgXAorICAgICAgICAgICAgICAgICAgICBvdXRwdXRbY2hhcnMrK10gPSAndSc7IFwKKyAgICAgICAgICAgICAgICAgICAgb3V0cHV0W2NoYXJzKytdID0gJzAnOyBcCisgICAgICAgICAgICAgICAgICAgIG91dHB1dFtjaGFycysrXSA9ICcwJzsgXAorICAgICAgICAgICAgICAgICAgICBvdXRwdXRbY2hhcnMrK10gPSBQeV9oZXhkaWdpdHNbKGMgPj4gNCkgJiAweGZdOyBcCisgICAgICAgICAgICAgICAgICAgIG91dHB1dFtjaGFycysrXSA9IFB5X2hleGRpZ2l0c1soYyAgICAgKSAmIDB4Zl07IFwKKyAgICAgICAgICAgICAgICB9IGVsc2UgeyBcCisgICAgICAgICAgICAgICAgICAgIG91dHB1dFtjaGFycysrXSA9IGM7IFwKKyAgICAgICAgICAgICAgICB9IFwKKyAgICAgICAgICAgIH0gXAorICAgICAgICB9IFwKKyAgICAgICAgb3V0cHV0W2NoYXJzKytdID0gJyInOyBcCisgICAgfSB3aGlsZSAoMCkKKworICAgIGlmIChraW5kID09IFB5VW5pY29kZV8xQllURV9LSU5EKSB7CisgICAgICAgIFB5X1VDUzEgKm91dHB1dCA9IFB5VW5pY29kZV8xQllURV9EQVRBKHJ2YWwpOworICAgICAgICBFTkNPREVfT1VUUFVUOworICAgIH0gZWxzZSBpZiAoa2luZCA9PSBQeVVuaWNvZGVfMkJZVEVfS0lORCkgeworICAgICAgICBQeV9VQ1MyICpvdXRwdXQgPSBQeVVuaWNvZGVfMkJZVEVfREFUQShydmFsKTsKKyAgICAgICAgRU5DT0RFX09VVFBVVDsKKyAgICB9IGVsc2UgeworICAgICAgICBQeV9VQ1M0ICpvdXRwdXQgPSBQeVVuaWNvZGVfNEJZVEVfREFUQShydmFsKTsKKyAgICAgICAgYXNzZXJ0KGtpbmQgPT0gUHlVbmljb2RlXzRCWVRFX0tJTkQpOworICAgICAgICBFTkNPREVfT1VUUFVUOworICAgIH0KKyN1bmRlZiBFTkNPREVfT1VUUFVUCisKKyNpZmRlZiBQeV9ERUJVRworICAgIGFzc2VydChfUHlVbmljb2RlX0NoZWNrQ29uc2lzdGVuY3kocnZhbCwgMSkpOworI2VuZGlmCisgICAgcmV0dXJuIHJ2YWw7Cit9CisKIHN0YXRpYyB2b2lkCiByYWlzZV9lcnJtc2coY2hhciAqbXNnLCBQeU9iamVjdCAqcywgUHlfc3NpemVfdCBlbmQpCiB7Ci0gICAgLyogVXNlIHRoZSBQeXRob24gZnVuY3Rpb24ganNvbi5kZWNvZGVyLmVycm1zZyB0byByYWlzZSBhIG5pY2UKLSAgICBsb29raW5nIFZhbHVlRXJyb3IgZXhjZXB0aW9uICovCi0gICAgc3RhdGljIFB5T2JqZWN0ICplcnJtc2dfZm4gPSBOVUxMOwotICAgIFB5T2JqZWN0ICpweW1zZzsKLSAgICBpZiAoZXJybXNnX2ZuID09IE5VTEwpIHsKKyAgICAvKiBVc2UgSlNPTkRlY29kZUVycm9yIGV4Y2VwdGlvbiB0byByYWlzZSBhIG5pY2UgbG9va2luZyBWYWx1ZUVycm9yIHN1YmNsYXNzICovCisgICAgc3RhdGljIFB5T2JqZWN0ICpKU09ORGVjb2RlRXJyb3IgPSBOVUxMOworICAgIFB5T2JqZWN0ICpleGM7CisgICAgaWYgKEpTT05EZWNvZGVFcnJvciA9PSBOVUxMKSB7CiAgICAgICAgIFB5T2JqZWN0ICpkZWNvZGVyID0gUHlJbXBvcnRfSW1wb3J0TW9kdWxlKCJqc29uLmRlY29kZXIiKTsKICAgICAgICAgaWYgKGRlY29kZXIgPT0gTlVMTCkKICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgZXJybXNnX2ZuID0gUHlPYmplY3RfR2V0QXR0clN0cmluZyhkZWNvZGVyLCAiZXJybXNnIik7CisgICAgICAgIEpTT05EZWNvZGVFcnJvciA9IFB5T2JqZWN0X0dldEF0dHJTdHJpbmcoZGVjb2RlciwgIkpTT05EZWNvZGVFcnJvciIpOwogICAgICAgICBQeV9ERUNSRUYoZGVjb2Rlcik7Ci0gICAgICAgIGlmIChlcnJtc2dfZm4gPT0gTlVMTCkKKyAgICAgICAgaWYgKEpTT05EZWNvZGVFcnJvciA9PSBOVUxMKQogICAgICAgICAgICAgcmV0dXJuOwogICAgIH0KLSAgICBweW1zZyA9IFB5T2JqZWN0X0NhbGxGdW5jdGlvbihlcnJtc2dfZm4sICIoek9uKSIsIG1zZywgcywgZW5kKTsKLSAgICBpZiAocHltc2cpIHsKLSAgICAgICAgUHlFcnJfU2V0T2JqZWN0KFB5RXhjX1ZhbHVlRXJyb3IsIHB5bXNnKTsKLSAgICAgICAgUHlfREVDUkVGKHB5bXNnKTsKKyAgICBleGMgPSBQeU9iamVjdF9DYWxsRnVuY3Rpb24oSlNPTkRlY29kZUVycm9yLCAiKHpPbikiLCBtc2csIHMsIGVuZCk7CisgICAgaWYgKGV4YykgeworICAgICAgICBQeUVycl9TZXRPYmplY3QoSlNPTkRlY29kZUVycm9yLCBleGMpOworICAgICAgICBQeV9ERUNSRUYoZXhjKTsKICAgICB9CiB9CiAKQEAgLTUzNyw2ICs2MjcsMzEgQEAKICAgICByZXR1cm4gcnZhbDsKIH0KIAorCitQeURvY19TVFJWQVIocHlkb2NfZW5jb2RlX2Jhc2VzdHJpbmcsCisgICAgImVuY29kZV9iYXNlc3RyaW5nKHN0cmluZykgLT4gc3RyaW5nXG4iCisgICAgIlxuIgorICAgICJSZXR1cm4gYSBKU09OIHJlcHJlc2VudGF0aW9uIG9mIGEgUHl0aG9uIHN0cmluZyIKKyk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitweV9lbmNvZGVfYmFzZXN0cmluZyhQeU9iamVjdCogc2VsZiBVTlVTRUQsIFB5T2JqZWN0ICpweXN0cikKK3sKKyAgICBQeU9iamVjdCAqcnZhbDsKKyAgICAvKiBSZXR1cm4gYSBKU09OIHJlcHJlc2VudGF0aW9uIG9mIGEgUHl0aG9uIHN0cmluZyAqLworICAgIC8qIE1FVEhfTyAqLworICAgIGlmIChQeVVuaWNvZGVfQ2hlY2socHlzdHIpKSB7CisgICAgICAgIHJ2YWwgPSBlc2NhcGVfdW5pY29kZShweXN0cik7CisgICAgfQorICAgIGVsc2UgeworICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVHlwZUVycm9yLAorICAgICAgICAgICAgICAgICAgICAgImZpcnN0IGFyZ3VtZW50IG11c3QgYmUgYSBzdHJpbmcsIG5vdCAlLjgwcyIsCisgICAgICAgICAgICAgICAgICAgICBQeV9UWVBFKHB5c3RyKS0+dHBfbmFtZSk7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKyAgICByZXR1cm4gcnZhbDsKK30KKwogc3RhdGljIHZvaWQKIHNjYW5uZXJfZGVhbGxvYyhQeU9iamVjdCAqc2VsZikKIHsKQEAgLTcxMiw3ICs4MjcsNyBAQAogCiBzdGF0aWMgUHlPYmplY3QgKgogX3BhcnNlX2FycmF5X3VuaWNvZGUoUHlTY2FubmVyT2JqZWN0ICpzLCBQeU9iamVjdCAqcHlzdHIsIFB5X3NzaXplX3QgaWR4LCBQeV9zc2l6ZV90ICpuZXh0X2lkeF9wdHIpIHsKLSAgICAvKiBSZWFkIGEgSlNPTiBhcnJheSBmcm9tIFB5U3RyaW5nIHB5c3RyLgorICAgIC8qIFJlYWQgYSBKU09OIGFycmF5IGZyb20gUHlVbmljb2RlIHB5c3RyLgogICAgIGlkeCBpcyB0aGUgaW5kZXggb2YgdGhlIGZpcnN0IGNoYXJhY3RlciBhZnRlciB0aGUgb3BlbmluZyBicmFjZS4KICAgICAqbmV4dF9pZHhfcHRyIGlzIGEgcmV0dXJuLWJ5LXJlZmVyZW5jZSBpbmRleCB0byB0aGUgZmlyc3QgY2hhcmFjdGVyIGFmdGVyCiAgICAgICAgIHRoZSBjbG9zaW5nIGJyYWNlLgpAQCAtNzg0LDggKzg5OSw4IEBACiB9CiAKIHN0YXRpYyBQeU9iamVjdCAqCi1fcGFyc2VfY29uc3RhbnQoUHlTY2FubmVyT2JqZWN0ICpzLCBjaGFyICpjb25zdGFudCwgUHlfc3NpemVfdCBpZHgsIFB5X3NzaXplX3QgKm5leHRfaWR4X3B0cikgewotICAgIC8qIFJlYWQgYSBKU09OIGNvbnN0YW50IGZyb20gUHlTdHJpbmcgcHlzdHIuCitfcGFyc2VfY29uc3RhbnQoUHlTY2FubmVyT2JqZWN0ICpzLCBjb25zdCBjaGFyICpjb25zdGFudCwgUHlfc3NpemVfdCBpZHgsIFB5X3NzaXplX3QgKm5leHRfaWR4X3B0cikgeworICAgIC8qIFJlYWQgYSBKU09OIGNvbnN0YW50LgogICAgIGNvbnN0YW50IGlzIHRoZSBjb25zdGFudCBzdHJpbmcgdGhhdCB3YXMgZm91bmQKICAgICAgICAgKCJOYU4iLCAiSW5maW5pdHkiLCAiLUluZmluaXR5IikuCiAgICAgaWR4IGlzIHRoZSBpbmRleCBvZiB0aGUgZmlyc3QgY2hhcmFjdGVyIG9mIHRoZSBjb25zdGFudApAQCAtODE3LDcgKzkzMiw3IEBACiAgICAgICAgIHRoZSBudW1iZXIuCiAKICAgICBSZXR1cm5zIGEgbmV3IFB5T2JqZWN0IHJlcHJlc2VudGF0aW9uIG9mIHRoYXQgbnVtYmVyOgotICAgICAgICBQeUludCwgUHlMb25nLCBvciBQeUZsb2F0LgorICAgICAgICBQeUxvbmcsIG9yIFB5RmxvYXQuCiAgICAgICAgIE1heSByZXR1cm4gb3RoZXIgdHlwZXMgaWYgcGFyc2VfaW50IG9yIHBhcnNlX2Zsb2F0IGFyZSBzZXQKICAgICAqLwogICAgIHZvaWQgKnN0cjsKQEAgLTEyMzAsNyArMTM0NSwxNCBAQAogICAgIHMtPml0ZW1fc2VwYXJhdG9yID0gaXRlbV9zZXBhcmF0b3I7CiAgICAgcy0+c29ydF9rZXlzID0gc29ydF9rZXlzOwogICAgIHMtPnNraXBrZXlzID0gc2tpcGtleXM7Ci0gICAgcy0+ZmFzdF9lbmNvZGUgPSAoUHlDRnVuY3Rpb25fQ2hlY2socy0+ZW5jb2RlcikgJiYgUHlDRnVuY3Rpb25fR2V0RnVuY3Rpb24ocy0+ZW5jb2RlcikgPT0gKFB5Q0Z1bmN0aW9uKXB5X2VuY29kZV9iYXNlc3RyaW5nX2FzY2lpKTsKKyAgICBzLT5mYXN0X2VuY29kZSA9IE5VTEw7CisgICAgaWYgKFB5Q0Z1bmN0aW9uX0NoZWNrKHMtPmVuY29kZXIpKSB7CisgICAgICAgIFB5Q0Z1bmN0aW9uIGYgPSBQeUNGdW5jdGlvbl9HZXRGdW5jdGlvbihzLT5lbmNvZGVyKTsKKyAgICAgICAgaWYgKGYgPT0gKFB5Q0Z1bmN0aW9uKXB5X2VuY29kZV9iYXNlc3RyaW5nX2FzY2lpIHx8CisgICAgICAgICAgICAgICAgZiA9PSAoUHlDRnVuY3Rpb24pcHlfZW5jb2RlX2Jhc2VzdHJpbmcpIHsKKyAgICAgICAgICAgIHMtPmZhc3RfZW5jb2RlID0gZjsKKyAgICAgICAgfQorICAgIH0KICAgICBzLT5hbGxvd19uYW4gPSBQeU9iamVjdF9Jc1RydWUoYWxsb3dfbmFuKTsKIAogICAgIFB5X0lOQ1JFRihzLT5tYXJrZXJzKTsKQEAgLTEzNzksNyArMTUwMSw3IEBACiB7CiAgICAgLyogUmV0dXJuIHRoZSBKU09OIHJlcHJlc2VudGF0aW9uIG9mIGEgc3RyaW5nICovCiAgICAgaWYgKHMtPmZhc3RfZW5jb2RlKQotICAgICAgICByZXR1cm4gcHlfZW5jb2RlX2Jhc2VzdHJpbmdfYXNjaWkoTlVMTCwgb2JqKTsKKyAgICAgICAgcmV0dXJuIHMtPmZhc3RfZW5jb2RlKE5VTEwsIG9iaik7CiAgICAgZWxzZQogICAgICAgICByZXR1cm4gUHlPYmplY3RfQ2FsbEZ1bmN0aW9uT2JqQXJncyhzLT5lbmNvZGVyLCBvYmosIE5VTEwpOwogfQpAQCAtMTg0Nyw2ICsxOTY5LDEwIEBACiAgICAgICAgIChQeUNGdW5jdGlvbilweV9lbmNvZGVfYmFzZXN0cmluZ19hc2NpaSwKICAgICAgICAgTUVUSF9PLAogICAgICAgICBweWRvY19lbmNvZGVfYmFzZXN0cmluZ19hc2NpaX0sCisgICAgeyJlbmNvZGVfYmFzZXN0cmluZyIsCisgICAgICAgIChQeUNGdW5jdGlvbilweV9lbmNvZGVfYmFzZXN0cmluZywKKyAgICAgICAgTUVUSF9PLAorICAgICAgICBweWRvY19lbmNvZGVfYmFzZXN0cmluZ30sCiAgICAgeyJzY2Fuc3RyaW5nIiwKICAgICAgICAgKFB5Q0Z1bmN0aW9uKXB5X3NjYW5zdHJpbmcsCiAgICAgICAgIE1FVEhfVkFSQVJHUywKZGlmZiAtLWdpdCBhL01vZHVsZXMvX2xzcHJvZi5jIGIvTW9kdWxlcy9fbHNwcm9mLmMKaW5kZXggMDEzN2Q5NS4uNjZlNTM0ZiAxMDA2NDQKLS0tIGEvTW9kdWxlcy9fbHNwcm9mLmMKKysrIGIvTW9kdWxlcy9fbHNwcm9mLmMKQEAgLTIwMiw2ICsyMDIsOCBAQAogICAgICAgICAqLwogICAgICAgICBQeU9iamVjdCAqc2VsZiA9IGZuLT5tX3NlbGY7CiAgICAgICAgIFB5T2JqZWN0ICpuYW1lID0gUHlVbmljb2RlX0Zyb21TdHJpbmcoZm4tPm1fbWwtPm1sX25hbWUpOworICAgICAgICBQeU9iamVjdCAqbW9kbmFtZSA9IGZuLT5tX21vZHVsZTsKKwogICAgICAgICBpZiAobmFtZSAhPSBOVUxMKSB7CiAgICAgICAgICAgICBQeU9iamVjdCAqbW8gPSBfUHlUeXBlX0xvb2t1cChQeV9UWVBFKHNlbGYpLCBuYW1lKTsKICAgICAgICAgICAgIFB5X1hJTkNSRUYobW8pOwpAQCAtMjEzLDkgKzIxNSwxNCBAQAogICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzOwogICAgICAgICAgICAgfQogICAgICAgICB9CisgICAgICAgIC8qIE90aGVyd2lzZSwgdXNlIF9fbW9kdWxlX18gKi8KICAgICAgICAgUHlFcnJfQ2xlYXIoKTsKLSAgICAgICAgcmV0dXJuIFB5VW5pY29kZV9Gcm9tRm9ybWF0KCI8YnVpbHQtaW4gbWV0aG9kICVzPiIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbi0+bV9tbC0+bWxfbmFtZSk7CisgICAgICAgIGlmIChtb2RuYW1lICE9IE5VTEwgJiYgUHlVbmljb2RlX0NoZWNrKG1vZG5hbWUpKQorICAgICAgICAgICAgcmV0dXJuIFB5VW5pY29kZV9Gcm9tRm9ybWF0KCI8YnVpbHQtaW4gbWV0aG9kICVTLiVzPiIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9kbmFtZSwgIGZuLT5tX21sLT5tbF9uYW1lKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgcmV0dXJuIFB5VW5pY29kZV9Gcm9tRm9ybWF0KCI8YnVpbHQtaW4gbWV0aG9kICVzPiIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm4tPm1fbWwtPm1sX25hbWUpOwogICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEvTW9kdWxlcy9fbHptYW1vZHVsZS5jIGIvTW9kdWxlcy9fbHptYW1vZHVsZS5jCmluZGV4IGM0MzY3NmEuLmJhZTdkZjYgMTAwNjQ0Ci0tLSBhL01vZHVsZXMvX2x6bWFtb2R1bGUuYworKysgYi9Nb2R1bGVzL19sem1hbW9kdWxlLmMKQEAgLTY2LDYgKzY2LDkgQEAKICAgICBpbnQgY2hlY2s7CiAgICAgY2hhciBlb2Y7CiAgICAgUHlPYmplY3QgKnVudXNlZF9kYXRhOworICAgIGNoYXIgbmVlZHNfaW5wdXQ7CisgICAgdWludDhfdCAqaW5wdXRfYnVmZmVyOworICAgIHNpemVfdCBpbnB1dF9idWZmZXJfc2l6ZTsKICNpZmRlZiBXSVRIX1RIUkVBRAogICAgIFB5VGhyZWFkX3R5cGVfbG9jayBsb2NrOwogI2VuZGlmCkBAIC0xNDIsMTAgKzE0NSwxNSBAQAogI2VuZGlmCiAKIHN0YXRpYyBpbnQKLWdyb3dfYnVmZmVyKFB5T2JqZWN0ICoqYnVmKQorZ3Jvd19idWZmZXIoUHlPYmplY3QgKipidWYsIFB5X3NzaXplX3QgbWF4X2xlbmd0aCkKIHsKLSAgICBzaXplX3Qgc2l6ZSA9IFB5Qnl0ZXNfR0VUX1NJWkUoKmJ1Zik7Ci0gICAgcmV0dXJuIF9QeUJ5dGVzX1Jlc2l6ZShidWYsIHNpemUgKyAoc2l6ZSA+PiAzKSArIDYpOworICAgIFB5X3NzaXplX3Qgc2l6ZSA9IFB5Qnl0ZXNfR0VUX1NJWkUoKmJ1Zik7CisgICAgUHlfc3NpemVfdCBuZXdzaXplID0gc2l6ZSArIChzaXplID4+IDMpICsgNjsKKyAgICAKKyAgICBpZiAobWF4X2xlbmd0aCA+IDAgJiYgbmV3c2l6ZSA+IG1heF9sZW5ndGgpCisgICAgICAgIG5ld3NpemUgPSBtYXhfbGVuZ3RoOworICAgIAorICAgIHJldHVybiBfUHlCeXRlc19SZXNpemUoYnVmLCBuZXdzaXplKTsKIH0KIAogCkBAIC01MDQsNyArNTEyLDcgQEAKIHN0YXRpYyBQeU9iamVjdCAqCiBjb21wcmVzcyhDb21wcmVzc29yICpjLCB1aW50OF90ICpkYXRhLCBzaXplX3QgbGVuLCBsem1hX2FjdGlvbiBhY3Rpb24pCiB7Ci0gICAgc2l6ZV90IGRhdGFfc2l6ZSA9IDA7CisgICAgUHlfc3NpemVfdCBkYXRhX3NpemUgPSAwOwogICAgIFB5T2JqZWN0ICpyZXN1bHQ7CiAKICAgICByZXN1bHQgPSBQeUJ5dGVzX0Zyb21TdHJpbmdBbmRTaXplKE5VTEwsIElOSVRJQUxfQlVGRkVSX1NJWkUpOwpAQCAtNTI3LDcgKzUzNSw3IEBACiAgICAgICAgICAgICAoYWN0aW9uID09IExaTUFfRklOSVNIICYmIGx6cmV0ID09IExaTUFfU1RSRUFNX0VORCkpIHsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9IGVsc2UgaWYgKGMtPmx6cy5hdmFpbF9vdXQgPT0gMCkgewotICAgICAgICAgICAgaWYgKGdyb3dfYnVmZmVyKCZyZXN1bHQpID09IC0xKQorICAgICAgICAgICAgaWYgKGdyb3dfYnVmZmVyKCZyZXN1bHQsIC0xKSA9PSAtMSkKICAgICAgICAgICAgICAgICBnb3RvIGVycm9yOwogICAgICAgICAgICAgYy0+bHpzLm5leHRfb3V0ID0gKHVpbnQ4X3QgKilQeUJ5dGVzX0FTX1NUUklORyhyZXN1bHQpICsgZGF0YV9zaXplOwogICAgICAgICAgICAgYy0+bHpzLmF2YWlsX291dCA9IFB5Qnl0ZXNfR0VUX1NJWkUocmVzdWx0KSAtIGRhdGFfc2l6ZTsKQEAgLTg4OCwyNSArODk2LDMzIEBACiAKIC8qIExaTUFEZWNvbXByZXNzb3IgY2xhc3MuICovCiAKLXN0YXRpYyBQeU9iamVjdCAqCi1kZWNvbXByZXNzKERlY29tcHJlc3NvciAqZCwgdWludDhfdCAqZGF0YSwgc2l6ZV90IGxlbikKKy8qIERlY29tcHJlc3MgZGF0YSBvZiBsZW5ndGggZC0+bHpzLmF2YWlsX2luIGluIGQtPmx6cy5uZXh0X2luLiAgVGhlIG91dHB1dAorICAgYnVmZmVyIGlzIGFsbG9jYXRlZCBkeW5hbWljYWxseSBhbmQgcmV0dXJuZWQuICBBdCBtb3N0IG1heF9sZW5ndGggYnl0ZXMgYXJlCisgICByZXR1cm5lZCwgc28gc29tZSBvZiB0aGUgaW5wdXQgbWF5IG5vdCBiZSBjb25zdW1lZC4gZC0+bHpzLm5leHRfaW4gYW5kCisgICBkLT5senMuYXZhaWxfaW4gYXJlIHVwZGF0ZWQgdG8gcmVmbGVjdCB0aGUgY29uc3VtZWQgaW5wdXQuICovCitzdGF0aWMgUHlPYmplY3QqCitkZWNvbXByZXNzX2J1ZihEZWNvbXByZXNzb3IgKmQsIFB5X3NzaXplX3QgbWF4X2xlbmd0aCkKIHsKLSAgICBzaXplX3QgZGF0YV9zaXplID0gMDsKKyAgICBQeV9zc2l6ZV90IGRhdGFfc2l6ZSA9IDA7CiAgICAgUHlPYmplY3QgKnJlc3VsdDsKLQotICAgIHJlc3VsdCA9IFB5Qnl0ZXNfRnJvbVN0cmluZ0FuZFNpemUoTlVMTCwgSU5JVElBTF9CVUZGRVJfU0laRSk7CisgICAgbHptYV9zdHJlYW0gKmx6cyA9ICZkLT5senM7CisgICAgCisgICAgaWYgKG1heF9sZW5ndGggPCAwIHx8IG1heF9sZW5ndGggPj0gSU5JVElBTF9CVUZGRVJfU0laRSkKKyAgICAgICAgcmVzdWx0ID0gUHlCeXRlc19Gcm9tU3RyaW5nQW5kU2l6ZShOVUxMLCBJTklUSUFMX0JVRkZFUl9TSVpFKTsKKyAgICBlbHNlCisgICAgICAgIHJlc3VsdCA9IFB5Qnl0ZXNfRnJvbVN0cmluZ0FuZFNpemUoTlVMTCwgbWF4X2xlbmd0aCk7CiAgICAgaWYgKHJlc3VsdCA9PSBOVUxMKQogICAgICAgICByZXR1cm4gTlVMTDsKLSAgICBkLT5senMubmV4dF9pbiA9IGRhdGE7Ci0gICAgZC0+bHpzLmF2YWlsX2luID0gbGVuOwotICAgIGQtPmx6cy5uZXh0X291dCA9ICh1aW50OF90ICopUHlCeXRlc19BU19TVFJJTkcocmVzdWx0KTsKLSAgICBkLT5senMuYXZhaWxfb3V0ID0gUHlCeXRlc19HRVRfU0laRShyZXN1bHQpOworCisgICAgbHpzLT5uZXh0X291dCA9ICh1aW50OF90ICopUHlCeXRlc19BU19TVFJJTkcocmVzdWx0KTsKKyAgICBsenMtPmF2YWlsX291dCA9IFB5Qnl0ZXNfR0VUX1NJWkUocmVzdWx0KTsKKyAgICAKICAgICBmb3IgKDs7KSB7CiAgICAgICAgIGx6bWFfcmV0IGx6cmV0OwogCiAgICAgICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKLSAgICAgICAgbHpyZXQgPSBsem1hX2NvZGUoJmQtPmx6cywgTFpNQV9SVU4pOwotICAgICAgICBkYXRhX3NpemUgPSAoY2hhciAqKWQtPmx6cy5uZXh0X291dCAtIFB5Qnl0ZXNfQVNfU1RSSU5HKHJlc3VsdCk7CisgICAgICAgIGx6cmV0ID0gbHptYV9jb2RlKGx6cywgTFpNQV9SVU4pOworICAgICAgICBkYXRhX3NpemUgPSAoY2hhciAqKWx6cy0+bmV4dF9vdXQgLSBQeUJ5dGVzX0FTX1NUUklORyhyZXN1bHQpOwogICAgICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUwogICAgICAgICBpZiAoY2F0Y2hfbHptYV9lcnJvcihsenJldCkpCiAgICAgICAgICAgICBnb3RvIGVycm9yOwpAQCAtOTE0LDI2ICs5MzAsMTMxIEBACiAgICAgICAgICAgICBkLT5jaGVjayA9IGx6bWFfZ2V0X2NoZWNrKCZkLT5senMpOwogICAgICAgICBpZiAobHpyZXQgPT0gTFpNQV9TVFJFQU1fRU5EKSB7CiAgICAgICAgICAgICBkLT5lb2YgPSAxOwotICAgICAgICAgICAgaWYgKGQtPmx6cy5hdmFpbF9pbiA+IDApIHsKLSAgICAgICAgICAgICAgICBQeV9DTEVBUihkLT51bnVzZWRfZGF0YSk7Ci0gICAgICAgICAgICAgICAgZC0+dW51c2VkX2RhdGEgPSBQeUJ5dGVzX0Zyb21TdHJpbmdBbmRTaXplKAotICAgICAgICAgICAgICAgICAgICAgICAgKGNoYXIgKilkLT5senMubmV4dF9pbiwgZC0+bHpzLmF2YWlsX2luKTsKLSAgICAgICAgICAgICAgICBpZiAoZC0+dW51c2VkX2RhdGEgPT0gTlVMTCkKLSAgICAgICAgICAgICAgICAgICAgZ290byBlcnJvcjsKLSAgICAgICAgICAgIH0KICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9IGVsc2UgaWYgKGQtPmx6cy5hdmFpbF9pbiA9PSAwKSB7CisgICAgICAgIH0gZWxzZSBpZiAobHpzLT5hdmFpbF9pbiA9PSAwKSB7CiAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgfSBlbHNlIGlmIChkLT5senMuYXZhaWxfb3V0ID09IDApIHsKLSAgICAgICAgICAgIGlmIChncm93X2J1ZmZlcigmcmVzdWx0KSA9PSAtMSkKKyAgICAgICAgfSBlbHNlIGlmIChsenMtPmF2YWlsX291dCA9PSAwKSB7CisgICAgICAgICAgICBpZiAoZGF0YV9zaXplID09IG1heF9sZW5ndGgpCisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBpZiAoZ3Jvd19idWZmZXIoJnJlc3VsdCwgbWF4X2xlbmd0aCkgPT0gLTEpCiAgICAgICAgICAgICAgICAgZ290byBlcnJvcjsKLSAgICAgICAgICAgIGQtPmx6cy5uZXh0X291dCA9ICh1aW50OF90ICopUHlCeXRlc19BU19TVFJJTkcocmVzdWx0KSArIGRhdGFfc2l6ZTsKLSAgICAgICAgICAgIGQtPmx6cy5hdmFpbF9vdXQgPSBQeUJ5dGVzX0dFVF9TSVpFKHJlc3VsdCkgLSBkYXRhX3NpemU7CisgICAgICAgICAgICBsenMtPm5leHRfb3V0ID0gKHVpbnQ4X3QgKilQeUJ5dGVzX0FTX1NUUklORyhyZXN1bHQpICsgZGF0YV9zaXplOworICAgICAgICAgICAgbHpzLT5hdmFpbF9vdXQgPSBQeUJ5dGVzX0dFVF9TSVpFKHJlc3VsdCkgLSBkYXRhX3NpemU7CiAgICAgICAgIH0KICAgICB9CiAgICAgaWYgKGRhdGFfc2l6ZSAhPSBQeUJ5dGVzX0dFVF9TSVpFKHJlc3VsdCkpCiAgICAgICAgIGlmIChfUHlCeXRlc19SZXNpemUoJnJlc3VsdCwgZGF0YV9zaXplKSA9PSAtMSkKICAgICAgICAgICAgIGdvdG8gZXJyb3I7CisKKyAgICByZXR1cm4gcmVzdWx0OworICAgIAorZXJyb3I6CisgICAgUHlfWERFQ1JFRihyZXN1bHQpOworICAgIHJldHVybiBOVUxMOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorZGVjb21wcmVzcyhEZWNvbXByZXNzb3IgKmQsIHVpbnQ4X3QgKmRhdGEsIHNpemVfdCBsZW4sIFB5X3NzaXplX3QgbWF4X2xlbmd0aCkKK3sKKyAgICBjaGFyIGlucHV0X2J1ZmZlcl9pbl91c2U7CisgICAgUHlPYmplY3QgKnJlc3VsdDsKKyAgICBsem1hX3N0cmVhbSAqbHpzID0gJmQtPmx6czsKKyAgICAKKyAgICAvKiBQcmVwZW5kIHVuY29uc3VtZWQgaW5wdXQgaWYgbmVjZXNzYXJ5ICovCisgICAgaWYgKGx6cy0+bmV4dF9pbiAhPSBOVUxMKSB7CisgICAgICAgIHNpemVfdCBhdmFpbF9ub3csIGF2YWlsX3RvdGFsOworICAgICAgICAKKyAgICAgICAgLyogTnVtYmVyIG9mIGJ5dGVzIHdlIGNhbiBhcHBlbmQgdG8gaW5wdXQgYnVmZmVyICovCisgICAgICAgIGF2YWlsX25vdyA9IChkLT5pbnB1dF9idWZmZXIgKyBkLT5pbnB1dF9idWZmZXJfc2l6ZSkKKyAgICAgICAgICAgIC0gKGx6cy0+bmV4dF9pbiArIGx6cy0+YXZhaWxfaW4pOworCisgICAgICAgIC8qIE51bWJlciBvZiBieXRlcyB3ZSBjYW4gYXBwZW5kIGlmIHdlIG1vdmUgZXhpc3RpbmcKKyAgICAgICAgICAgY29udGVudHMgdG8gYmVnaW5uaW5nIG9mIGJ1ZmZlciAob3ZlcndyaXRpbmcKKyAgICAgICAgICAgY29uc3VtZWQgaW5wdXQpICovCisgICAgICAgIGF2YWlsX3RvdGFsID0gZC0+aW5wdXRfYnVmZmVyX3NpemUgLSBsenMtPmF2YWlsX2luOworCisgICAgICAgIGlmIChhdmFpbF90b3RhbCA8IGxlbikgeworICAgICAgICAgICAgc2l6ZV90IG9mZnNldCA9IGx6cy0+bmV4dF9pbiAtIGQtPmlucHV0X2J1ZmZlcjsKKyAgICAgICAgICAgIHVpbnQ4X3QgKnRtcDsKKyAgICAgICAgICAgIHNpemVfdCBuZXdfc2l6ZSA9IGQtPmlucHV0X2J1ZmZlcl9zaXplICsgbGVuIC0gYXZhaWxfbm93OworCisgICAgICAgICAgICAvKiBBc3NpZ24gdG8gdGVtcG9yYXJ5IHZhcmlhYmxlIGZpcnN0LCBzbyB3ZSBkb24ndAorICAgICAgICAgICAgICAgbG9zZSBhZGRyZXNzIG9mIGFsbG9jYXRlZCBidWZmZXIgaWYgcmVhbGxvYyBmYWlscyAqLworICAgICAgICAgICAgdG1wID0gUHlNZW1fUmVhbGxvYyhkLT5pbnB1dF9idWZmZXIsIG5ld19zaXplKTsKKyAgICAgICAgICAgIGlmICh0bXAgPT0gTlVMTCkgeworICAgICAgICAgICAgICAgIFB5RXJyX1NldE5vbmUoUHlFeGNfTWVtb3J5RXJyb3IpOworICAgICAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICAgICAgfQorICAgICAgICAgICAgZC0+aW5wdXRfYnVmZmVyID0gdG1wOworICAgICAgICAgICAgZC0+aW5wdXRfYnVmZmVyX3NpemUgPSBuZXdfc2l6ZTsKKyAgICAgICAgICAgIAorICAgICAgICAgICAgbHpzLT5uZXh0X2luID0gZC0+aW5wdXRfYnVmZmVyICsgb2Zmc2V0OworICAgICAgICB9CisgICAgICAgIGVsc2UgaWYgKGF2YWlsX25vdyA8IGxlbikgeworICAgICAgICAgICAgbWVtbW92ZShkLT5pbnB1dF9idWZmZXIsIGx6cy0+bmV4dF9pbiwKKyAgICAgICAgICAgICAgICAgICAgbHpzLT5hdmFpbF9pbik7CisgICAgICAgICAgICBsenMtPm5leHRfaW4gPSBkLT5pbnB1dF9idWZmZXI7CisgICAgICAgIH0KKyAgICAgICAgbWVtY3B5KCh2b2lkKikobHpzLT5uZXh0X2luICsgbHpzLT5hdmFpbF9pbiksIGRhdGEsIGxlbik7CisgICAgICAgIGx6cy0+YXZhaWxfaW4gKz0gbGVuOworICAgICAgICBpbnB1dF9idWZmZXJfaW5fdXNlID0gMTsKKyAgICB9CisgICAgZWxzZSB7CisgICAgICAgIGx6cy0+bmV4dF9pbiA9IGRhdGE7CisgICAgICAgIGx6cy0+YXZhaWxfaW4gPSBsZW47CisgICAgICAgIGlucHV0X2J1ZmZlcl9pbl91c2UgPSAwOworICAgIH0KKworICAgIHJlc3VsdCA9IGRlY29tcHJlc3NfYnVmKGQsIG1heF9sZW5ndGgpOworICAgIGlmKHJlc3VsdCA9PSBOVUxMKQorICAgICAgICByZXR1cm4gTlVMTDsKKworICAgIGlmIChkLT5lb2YpIHsKKyAgICAgICAgZC0+bmVlZHNfaW5wdXQgPSAwOworICAgICAgICBpZiAobHpzLT5hdmFpbF9pbiA+IDApIHsKKyAgICAgICAgICAgIFB5X0NMRUFSKGQtPnVudXNlZF9kYXRhKTsKKyAgICAgICAgICAgIGQtPnVudXNlZF9kYXRhID0gUHlCeXRlc19Gcm9tU3RyaW5nQW5kU2l6ZSgKKyAgICAgICAgICAgICAgICAoY2hhciAqKWx6cy0+bmV4dF9pbiwgbHpzLT5hdmFpbF9pbik7CisgICAgICAgICAgICBpZiAoZC0+dW51c2VkX2RhdGEgPT0gTlVMTCkKKyAgICAgICAgICAgICAgICBnb3RvIGVycm9yOworICAgICAgICB9CisgICAgfQorICAgIGVsc2UgaWYgKGx6cy0+YXZhaWxfaW4gPT0gMCkgeworICAgICAgICBsenMtPm5leHRfaW4gPSBOVUxMOworICAgICAgICBkLT5uZWVkc19pbnB1dCA9IDE7CisgICAgfQorICAgIGVsc2UgeworICAgICAgICBkLT5uZWVkc19pbnB1dCA9IDA7CisKKyAgICAgICAgLyogSWYgd2UgZGlkIG5vdCB1c2UgdGhlIGlucHV0IGJ1ZmZlciwgd2Ugbm93IGhhdmUKKyAgICAgICAgICAgdG8gY29weSB0aGUgdGFpbCBmcm9tIHRoZSBjYWxsZXIncyBidWZmZXIgaW50byB0aGUKKyAgICAgICAgICAgaW5wdXQgYnVmZmVyICovCisgICAgICAgIGlmICghaW5wdXRfYnVmZmVyX2luX3VzZSkgeworCisgICAgICAgICAgICAvKiBEaXNjYXJkIGJ1ZmZlciBpZiBpdCdzIHRvbyBzbWFsbAorICAgICAgICAgICAgICAgKHJlc2l6aW5nIGl0IG1heSBuZWVkbGVzc2x5IGNvcHkgdGhlIGN1cnJlbnQgY29udGVudHMpICovCisgICAgICAgICAgICBpZiAoZC0+aW5wdXRfYnVmZmVyICE9IE5VTEwgJiYKKyAgICAgICAgICAgICAgICBkLT5pbnB1dF9idWZmZXJfc2l6ZSA8IGx6cy0+YXZhaWxfaW4pIHsKKyAgICAgICAgICAgICAgICBQeU1lbV9GcmVlKGQtPmlucHV0X2J1ZmZlcik7CisgICAgICAgICAgICAgICAgZC0+aW5wdXRfYnVmZmVyID0gTlVMTDsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgLyogQWxsb2NhdGUgaWYgbmVjZXNzYXJ5ICovCisgICAgICAgICAgICBpZiAoZC0+aW5wdXRfYnVmZmVyID09IE5VTEwpIHsKKyAgICAgICAgICAgICAgICBkLT5pbnB1dF9idWZmZXIgPSBQeU1lbV9NYWxsb2MobHpzLT5hdmFpbF9pbik7CisgICAgICAgICAgICAgICAgaWYgKGQtPmlucHV0X2J1ZmZlciA9PSBOVUxMKSB7CisgICAgICAgICAgICAgICAgICAgIFB5RXJyX1NldE5vbmUoUHlFeGNfTWVtb3J5RXJyb3IpOworICAgICAgICAgICAgICAgICAgICBnb3RvIGVycm9yOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBkLT5pbnB1dF9idWZmZXJfc2l6ZSA9IGx6cy0+YXZhaWxfaW47CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIC8qIENvcHkgdGFpbCAqLworICAgICAgICAgICAgbWVtY3B5KGQtPmlucHV0X2J1ZmZlciwgbHpzLT5uZXh0X2luLCBsenMtPmF2YWlsX2luKTsKKyAgICAgICAgICAgIGx6cy0+bmV4dF9pbiA9IGQtPmlucHV0X2J1ZmZlcjsKKyAgICAgICAgfQorICAgIH0KKyAgICAKICAgICByZXR1cm4gcmVzdWx0OwogCiBlcnJvcjoKQEAgLTk0NiwyMCArMTA2NywyNyBAQAogCiAgICAgc2VsZjogc2VsZih0eXBlPSJEZWNvbXByZXNzb3IgKiIpCiAgICAgZGF0YTogUHlfYnVmZmVyCi0gICAgLworICAgIG1heF9sZW5ndGg6IFB5X3NzaXplX3Q9LTEKIAotUHJvdmlkZSBkYXRhIHRvIHRoZSBkZWNvbXByZXNzb3Igb2JqZWN0LgorRGVjb21wcmVzcyAqZGF0YSosIHJldHVybmluZyB1bmNvbXByZXNzZWQgZGF0YSBhcyBieXRlcy4KIAotUmV0dXJucyBhIGNodW5rIG9mIGRlY29tcHJlc3NlZCBkYXRhIGlmIHBvc3NpYmxlLCBvciBiJycgb3RoZXJ3aXNlLgorSWYgKm1heF9sZW5ndGgqIGlzIG5vbm5lZ2F0aXZlLCByZXR1cm5zIGF0IG1vc3QgKm1heF9sZW5ndGgqIGJ5dGVzIG9mCitkZWNvbXByZXNzZWQgZGF0YS4gSWYgdGhpcyBsaW1pdCBpcyByZWFjaGVkIGFuZCBmdXJ0aGVyIG91dHB1dCBjYW4gYmUKK3Byb2R1Y2VkLCAqc2VsZi5uZWVkc19pbnB1dCogd2lsbCBiZSBzZXQgdG8gYGBGYWxzZWBgLiBJbiB0aGlzIGNhc2UsIHRoZSBuZXh0CitjYWxsIHRvICpkZWNvbXByZXNzKCkqIG1heSBwcm92aWRlICpkYXRhKiBhcyBiJycgdG8gb2J0YWluIG1vcmUgb2YgdGhlIG91dHB1dC4KIAotQXR0ZW1wdGluZyB0byBkZWNvbXByZXNzIGRhdGEgYWZ0ZXIgdGhlIGVuZCBvZiBzdHJlYW0gaXMgcmVhY2hlZAotcmFpc2VzIGFuIEVPRkVycm9yLiAgQW55IGRhdGEgZm91bmQgYWZ0ZXIgdGhlIGVuZCBvZiB0aGUgc3RyZWFtCi1pcyBpZ25vcmVkIGFuZCBzYXZlZCBpbiB0aGUgdW51c2VkX2RhdGEgYXR0cmlidXRlLgorSWYgYWxsIG9mIHRoZSBpbnB1dCBkYXRhIHdhcyBkZWNvbXByZXNzZWQgYW5kIHJldHVybmVkIChlaXRoZXIgYmVjYXVzZSB0aGlzCit3YXMgbGVzcyB0aGFuICptYXhfbGVuZ3RoKiBieXRlcywgb3IgYmVjYXVzZSAqbWF4X2xlbmd0aCogd2FzIG5lZ2F0aXZlKSwKKypzZWxmLm5lZWRzX2lucHV0KiB3aWxsIGJlIHNldCB0byBUcnVlLgorCitBdHRlbXB0aW5nIHRvIGRlY29tcHJlc3MgZGF0YSBhZnRlciB0aGUgZW5kIG9mIHN0cmVhbSBpcyByZWFjaGVkIHJhaXNlcyBhbgorRU9GRXJyb3IuICBBbnkgZGF0YSBmb3VuZCBhZnRlciB0aGUgZW5kIG9mIHRoZSBzdHJlYW0gaXMgaWdub3JlZCBhbmQgc2F2ZWQgaW4KK3RoZSB1bnVzZWRfZGF0YSBhdHRyaWJ1dGUuCiBbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1fbHptYV9MWk1BRGVjb21wcmVzc29yX2RlY29tcHJlc3NfaW1wbChEZWNvbXByZXNzb3IgKnNlbGYsIFB5X2J1ZmZlciAqZGF0YSkKLS8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1kODZlNzhkYTdmZjBmZjIxIGlucHV0PTUwYzQ3NjhiODIxYmYwZWZdKi8KK19sem1hX0xaTUFEZWNvbXByZXNzb3JfZGVjb21wcmVzc19pbXBsKERlY29tcHJlc3NvciAqc2VsZiwgUHlfYnVmZmVyICpkYXRhLCBQeV9zc2l6ZV90IG1heF9sZW5ndGgpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9MTUzMmE1YmIyMzYyOTAwMSBpbnB1dD1mMmJiOTAyY2MxY2FmMjAzXSovCiB7CiAgICAgUHlPYmplY3QgKnJlc3VsdCA9IE5VTEw7CiAKQEAgLTk2Nyw3ICsxMDk1LDcgQEAKICAgICBpZiAoc2VsZi0+ZW9mKQogICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfRU9GRXJyb3IsICJBbHJlYWR5IGF0IGVuZCBvZiBzdHJlYW0iKTsKICAgICBlbHNlCi0gICAgICAgIHJlc3VsdCA9IGRlY29tcHJlc3Moc2VsZiwgZGF0YS0+YnVmLCBkYXRhLT5sZW4pOworICAgICAgICByZXN1bHQgPSBkZWNvbXByZXNzKHNlbGYsIGRhdGEtPmJ1ZiwgZGF0YS0+bGVuLCBtYXhfbGVuZ3RoKTsKICAgICBSRUxFQVNFX0xPQ0soc2VsZik7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KQEAgLTEwNTUsNiArMTE4Myw3IEBACiAgICAgc2VsZi0+YWxsb2MuYWxsb2MgPSBQeUx6bWFfTWFsbG9jOwogICAgIHNlbGYtPmFsbG9jLmZyZWUgPSBQeUx6bWFfRnJlZTsKICAgICBzZWxmLT5senMuYWxsb2NhdG9yID0gJnNlbGYtPmFsbG9jOworICAgIHNlbGYtPmx6cy5uZXh0X2luID0gTlVMTDsKIAogI2lmZGVmIFdJVEhfVEhSRUFECiAgICAgc2VsZi0+bG9jayA9IFB5VGhyZWFkX2FsbG9jYXRlX2xvY2soKTsKQEAgLTEwNjUsNiArMTE5NCw5IEBACiAjZW5kaWYKIAogICAgIHNlbGYtPmNoZWNrID0gTFpNQV9DSEVDS19VTktOT1dOOworICAgIHNlbGYtPm5lZWRzX2lucHV0ID0gMTsKKyAgICBzZWxmLT5pbnB1dF9idWZmZXIgPSBOVUxMOworICAgIHNlbGYtPmlucHV0X2J1ZmZlcl9zaXplID0gMDsKICAgICBzZWxmLT51bnVzZWRfZGF0YSA9IFB5Qnl0ZXNfRnJvbVN0cmluZ0FuZFNpemUoTlVMTCwgMCk7CiAgICAgaWYgKHNlbGYtPnVudXNlZF9kYXRhID09IE5VTEwpCiAgICAgICAgIGdvdG8gZXJyb3I7CkBAIC0xMTEzLDYgKzEyNDUsOSBAQAogc3RhdGljIHZvaWQKIERlY29tcHJlc3Nvcl9kZWFsbG9jKERlY29tcHJlc3NvciAqc2VsZikKIHsKKyAgICBpZihzZWxmLT5pbnB1dF9idWZmZXIgIT0gTlVMTCkKKyAgICAgICAgUHlNZW1fRnJlZShzZWxmLT5pbnB1dF9idWZmZXIpOworICAgIAogICAgIGx6bWFfZW5kKCZzZWxmLT5senMpOwogICAgIFB5X0NMRUFSKHNlbGYtPnVudXNlZF9kYXRhKTsKICNpZmRlZiBXSVRIX1RIUkVBRApAQCAtMTEzNCw2ICsxMjY5LDkgQEAKIFB5RG9jX1NUUlZBUihEZWNvbXByZXNzb3JfZW9mX2RvYywKICJUcnVlIGlmIHRoZSBlbmQtb2Ytc3RyZWFtIG1hcmtlciBoYXMgYmVlbiByZWFjaGVkLiIpOwogCitQeURvY19TVFJWQVIoRGVjb21wcmVzc29yX25lZWRzX2lucHV0X2RvYywKKyJUcnVlIGlmIG1vcmUgaW5wdXQgaXMgbmVlZGVkIGJlZm9yZSBtb3JlIGRlY29tcHJlc3NlZCBkYXRhIGNhbiBiZSBwcm9kdWNlZC4iKTsKKwogUHlEb2NfU1RSVkFSKERlY29tcHJlc3Nvcl91bnVzZWRfZGF0YV9kb2MsCiAiRGF0YSBmb3VuZCBhZnRlciB0aGUgZW5kIG9mIHRoZSBjb21wcmVzc2VkIHN0cmVhbS4iKTsKIApAQCAtMTE0Miw2ICsxMjgwLDggQEAKICAgICAgRGVjb21wcmVzc29yX2NoZWNrX2RvY30sCiAgICAgeyJlb2YiLCBUX0JPT0wsIG9mZnNldG9mKERlY29tcHJlc3NvciwgZW9mKSwgUkVBRE9OTFksCiAgICAgIERlY29tcHJlc3Nvcl9lb2ZfZG9jfSwKKyAgICB7Im5lZWRzX2lucHV0IiwgVF9CT09MLCBvZmZzZXRvZihEZWNvbXByZXNzb3IsIG5lZWRzX2lucHV0KSwgUkVBRE9OTFksCisgICAgIERlY29tcHJlc3Nvcl9uZWVkc19pbnB1dF9kb2N9LAogICAgIHsidW51c2VkX2RhdGEiLCBUX09CSkVDVF9FWCwgb2Zmc2V0b2YoRGVjb21wcmVzc29yLCB1bnVzZWRfZGF0YSksIFJFQURPTkxZLAogICAgICBEZWNvbXByZXNzb3JfdW51c2VkX2RhdGFfZG9jfSwKICAgICB7TlVMTH0KZGlmZiAtLWdpdCBhL01vZHVsZXMvX29wZXJhdG9yLmMgYi9Nb2R1bGVzL19vcGVyYXRvci5jCmluZGV4IGFkZWI5OWUuLjhmNTI0YTYgMTAwNjQ0Ci0tLSBhL01vZHVsZXMvX29wZXJhdG9yLmMKKysrIGIvTW9kdWxlcy9fb3BlcmF0b3IuYwpAQCAtNjksNiArNjksNyBAQAogc3BhbTIob3BfYWRkICAgICAgICAgICAsIFB5TnVtYmVyX0FkZCkKIHNwYW0yKG9wX3N1YiAgICAgICAgICAgLCBQeU51bWJlcl9TdWJ0cmFjdCkKIHNwYW0yKG9wX211bCAgICAgICAgICAgLCBQeU51bWJlcl9NdWx0aXBseSkKK3NwYW0yKG9wX21hdG11bCAgICAgICAgLCBQeU51bWJlcl9NYXRyaXhNdWx0aXBseSkKIHNwYW0yKG9wX2Zsb29yZGl2ICAgICAgLCBQeU51bWJlcl9GbG9vckRpdmlkZSkKIHNwYW0yKG9wX3RydWVkaXYgICAgICAgLCBQeU51bWJlcl9UcnVlRGl2aWRlKQogc3BhbTIob3BfbW9kICAgICAgICAgICAsIFB5TnVtYmVyX1JlbWFpbmRlcikKQEAgLTg2LDYgKzg3LDcgQEAKIHNwYW0yKG9wX2lhZGQgICAgICAgICAgLCBQeU51bWJlcl9JblBsYWNlQWRkKQogc3BhbTIob3BfaXN1YiAgICAgICAgICAsIFB5TnVtYmVyX0luUGxhY2VTdWJ0cmFjdCkKIHNwYW0yKG9wX2ltdWwgICAgICAgICAgLCBQeU51bWJlcl9JblBsYWNlTXVsdGlwbHkpCitzcGFtMihvcF9pbWF0bXVsICAgICAgICwgUHlOdW1iZXJfSW5QbGFjZU1hdHJpeE11bHRpcGx5KQogc3BhbTIob3BfaWZsb29yZGl2ICAgICAsIFB5TnVtYmVyX0luUGxhY2VGbG9vckRpdmlkZSkKIHNwYW0yKG9wX2l0cnVlZGl2ICAgICAgLCBQeU51bWJlcl9JblBsYWNlVHJ1ZURpdmlkZSkKIHNwYW0yKG9wX2ltb2QgICAgICAgICAgLCBQeU51bWJlcl9JblBsYWNlUmVtYWluZGVyKQpAQCAtMjM5LDcgKzI0MSw3IEBACiAiUmV0dXJuICdhID09IGInLiAgVGhpcyBmdW5jdGlvbiB1c2VzIGFuIGFwcHJvYWNoIGRlc2lnbmVkIHRvIHByZXZlbnRcbiIKICJ0aW1pbmcgYW5hbHlzaXMsIG1ha2luZyBpdCBhcHByb3ByaWF0ZSBmb3IgY3J5cHRvZ3JhcGh5LlxuIgogImEgYW5kIGIgbXVzdCBib3RoIGJlIG9mIHRoZSBzYW1lIHR5cGU6IGVpdGhlciBzdHIgKEFTQ0lJIG9ubHkpLFxuIgotIm9yIGFueSB0eXBlIHRoYXQgc3VwcG9ydHMgdGhlIGJ1ZmZlciBwcm90b2NvbCAoZS5nLiBieXRlcykuXG4iCisib3IgYW55IGJ5dGVzLWxpa2Ugb2JqZWN0LlxuIgogIlxuIgogIk5vdGU6IElmIGEgYW5kIGIgYXJlIG9mIGRpZmZlcmVudCBsZW5ndGhzLCBvciBpZiBhbiBlcnJvciBvY2N1cnMsXG4iCiAiYSB0aW1pbmcgYXR0YWNrIGNvdWxkIHRoZW9yZXRpY2FsbHkgcmV2ZWFsIGluZm9ybWF0aW9uIGFib3V0IHRoZVxuIgpAQCAtMzQzLDYgKzM0NSw3IEBACiBzcGFtMihhZGQsICJhZGQoYSwgYikgLS0gU2FtZSBhcyBhICsgYi4iKQogc3BhbTIoc3ViLCAic3ViKGEsIGIpIC0tIFNhbWUgYXMgYSAtIGIuIikKIHNwYW0yKG11bCwgIm11bChhLCBiKSAtLSBTYW1lIGFzIGEgKiBiLiIpCitzcGFtMihtYXRtdWwsICJtYXRtdWwoYSwgYikgLS0gU2FtZSBhcyBhIEAgYi4iKQogc3BhbTIoZmxvb3JkaXYsICJmbG9vcmRpdihhLCBiKSAtLSBTYW1lIGFzIGEgLy8gYi4iKQogc3BhbTIodHJ1ZWRpdiwgInRydWVkaXYoYSwgYikgLS0gU2FtZSBhcyBhIC8gYi4iKQogc3BhbTIobW9kLCAibW9kKGEsIGIpIC0tIFNhbWUgYXMgYSAlIGIuIikKQEAgLTM2MCw2ICszNjMsNyBAQAogc3BhbTIoaWFkZCwgImEgPSBpYWRkKGEsIGIpIC0tIFNhbWUgYXMgYSArPSBiLiIpCiBzcGFtMihpc3ViLCAiYSA9IGlzdWIoYSwgYikgLS0gU2FtZSBhcyBhIC09IGIuIikKIHNwYW0yKGltdWwsICJhID0gaW11bChhLCBiKSAtLSBTYW1lIGFzIGEgKj0gYi4iKQorc3BhbTIoaW1hdG11bCwgImEgPSBpbWF0bXVsKGEsIGIpIC0tIFNhbWUgYXMgYSBAPSBiLiIpCiBzcGFtMihpZmxvb3JkaXYsICJhID0gaWZsb29yZGl2KGEsIGIpIC0tIFNhbWUgYXMgYSAvLz0gYi4iKQogc3BhbTIoaXRydWVkaXYsICJhID0gaXRydWVkaXYoYSwgYikgLS0gU2FtZSBhcyBhIC89IGIiKQogc3BhbTIoaW1vZCwgImEgPSBpbW9kKGEsIGIpIC0tIFNhbWUgYXMgYSAlPSBiLiIpCmRpZmYgLS1naXQgYS9Nb2R1bGVzL19waWNrbGUuYyBiL01vZHVsZXMvX3BpY2tsZS5jCmluZGV4IDEwZWI1MTMuLjUxZTJmODMgMTAwNjQ0Ci0tLSBhL01vZHVsZXMvX3BpY2tsZS5jCisrKyBiL01vZHVsZXMvX3BpY2tsZS5jCkBAIC00MjAsMjIgKzQyMCwyMiBAQAogUGRhdGFfZ3JvdyhQZGF0YSAqc2VsZikKIHsKICAgICBQeU9iamVjdCAqKmRhdGEgPSBzZWxmLT5kYXRhOwotICAgIFB5X3NzaXplX3QgYWxsb2NhdGVkID0gc2VsZi0+YWxsb2NhdGVkOwotICAgIFB5X3NzaXplX3QgbmV3X2FsbG9jYXRlZDsKKyAgICBzaXplX3QgYWxsb2NhdGVkID0gKHNpemVfdClzZWxmLT5hbGxvY2F0ZWQ7CisgICAgc2l6ZV90IG5ld19hbGxvY2F0ZWQ7CiAKICAgICBuZXdfYWxsb2NhdGVkID0gKGFsbG9jYXRlZCA+PiAzKSArIDY7CiAgICAgLyogY2hlY2sgZm9yIGludGVnZXIgb3ZlcmZsb3cgKi8KLSAgICBpZiAobmV3X2FsbG9jYXRlZCA+IFBZX1NTSVpFX1RfTUFYIC0gYWxsb2NhdGVkKQorICAgIGlmIChuZXdfYWxsb2NhdGVkID4gKHNpemVfdClQWV9TU0laRV9UX01BWCAtIGFsbG9jYXRlZCkKICAgICAgICAgZ290byBub21lbW9yeTsKICAgICBuZXdfYWxsb2NhdGVkICs9IGFsbG9jYXRlZDsKLSAgICBpZiAobmV3X2FsbG9jYXRlZCA+IChQWV9TU0laRV9UX01BWCAvIHNpemVvZihQeU9iamVjdCAqKSkpCisgICAgaWYgKG5ld19hbGxvY2F0ZWQgPiAoKHNpemVfdClQWV9TU0laRV9UX01BWCAvIHNpemVvZihQeU9iamVjdCAqKSkpCiAgICAgICAgIGdvdG8gbm9tZW1vcnk7CiAgICAgZGF0YSA9IFB5TWVtX1JFQUxMT0MoZGF0YSwgbmV3X2FsbG9jYXRlZCAqIHNpemVvZihQeU9iamVjdCAqKSk7CiAgICAgaWYgKGRhdGEgPT0gTlVMTCkKICAgICAgICAgZ290byBub21lbW9yeTsKIAogICAgIHNlbGYtPmRhdGEgPSBkYXRhOwotICAgIHNlbGYtPmFsbG9jYXRlZCA9IG5ld19hbGxvY2F0ZWQ7CisgICAgc2VsZi0+YWxsb2NhdGVkID0gKFB5X3NzaXplX3QpbmV3X2FsbG9jYXRlZDsKICAgICByZXR1cm4gMDsKIAogICBub21lbW9yeToKQEAgLTg1MCw3ICs4NTAsNyBAQAogc3RhdGljIHZvaWQKIF93cml0ZV9zaXplNjQoY2hhciAqb3V0LCBzaXplX3QgdmFsdWUpCiB7Ci0gICAgaW50IGk7CisgICAgc2l6ZV90IGk7CiAKICAgICBhc3NlcnQoc2l6ZW9mKHNpemVfdCkgPD0gOCk7CiAKQEAgLTE0NTYsNyArMTQ1Niw3IEBACiAgICAgICAgICAgICBwZGF0YVsxXSA9ICh1bnNpZ25lZCBjaGFyKSgqdmFsdWUgJiAweGZmKTsKICAgICAgICAgICAgIGxlbiA9IDI7CiAgICAgICAgIH0KLSAgICAgICAgZWxzZSBpZiAoKnZhbHVlIDw9IDB4ZmZmZmZmZmZMKSB7CisgICAgICAgIGVsc2UgaWYgKChzaXplX3QpKnZhbHVlIDw9IDB4ZmZmZmZmZmZVTCkgewogICAgICAgICAgICAgcGRhdGFbMF0gPSBMT05HX0JJTkdFVDsKICAgICAgICAgICAgIHBkYXRhWzFdID0gKHVuc2lnbmVkIGNoYXIpKCp2YWx1ZSAmIDB4ZmYpOwogICAgICAgICAgICAgcGRhdGFbMl0gPSAodW5zaWduZWQgY2hhcikoKCp2YWx1ZSA+PiA4KSAmIDB4ZmYpOwpAQCAtMTUxMyw3ICsxNTEzLDcgQEAKICAgICAgICAgICAgIHBkYXRhWzFdID0gKHVuc2lnbmVkIGNoYXIpaWR4OwogICAgICAgICAgICAgbGVuID0gMjsKICAgICAgICAgfQotICAgICAgICBlbHNlIGlmIChpZHggPD0gMHhmZmZmZmZmZkwpIHsKKyAgICAgICAgZWxzZSBpZiAoKHNpemVfdClpZHggPD0gMHhmZmZmZmZmZlVMKSB7CiAgICAgICAgICAgICBwZGF0YVswXSA9IExPTkdfQklOUFVUOwogICAgICAgICAgICAgcGRhdGFbMV0gPSAodW5zaWduZWQgY2hhcikoaWR4ICYgMHhmZik7CiAgICAgICAgICAgICBwZGF0YVsyXSA9ICh1bnNpZ25lZCBjaGFyKSgoaWR4ID4+IDgpICYgMHhmZik7CkBAIC0xNTM1LDY5ICsxNTM1LDEwOSBAQAogfQogCiBzdGF0aWMgUHlPYmplY3QgKgotZ2V0YXR0cmlidXRlKFB5T2JqZWN0ICpvYmosIFB5T2JqZWN0ICpuYW1lLCBpbnQgYWxsb3dfcXVhbG5hbWUpIHsKLSAgICBQeU9iamVjdCAqZG90dGVkX3BhdGg7Ci0gICAgUHlfc3NpemVfdCBpOworZ2V0X2RvdHRlZF9wYXRoKFB5T2JqZWN0ICpvYmosIFB5T2JqZWN0ICpuYW1lLCBpbnQgYWxsb3dfcXVhbG5hbWUpIHsKICAgICBfUHlfc3RhdGljX3N0cmluZyhQeUlkX2RvdCwgIi4iKTsKICAgICBfUHlfc3RhdGljX3N0cmluZyhQeUlkX2xvY2FscywgIjxsb2NhbHM+Iik7CisgICAgUHlPYmplY3QgKmRvdHRlZF9wYXRoOworICAgIFB5X3NzaXplX3QgaSwgbjsKIAogICAgIGRvdHRlZF9wYXRoID0gUHlVbmljb2RlX1NwbGl0KG5hbWUsIF9QeVVuaWNvZGVfRnJvbUlkKCZQeUlkX2RvdCksIC0xKTsKLSAgICBpZiAoZG90dGVkX3BhdGggPT0gTlVMTCkgeworICAgIGlmIChkb3R0ZWRfcGF0aCA9PSBOVUxMKQogICAgICAgICByZXR1cm4gTlVMTDsKLSAgICB9Ci0gICAgYXNzZXJ0KFB5X1NJWkUoZG90dGVkX3BhdGgpID49IDEpOwotICAgIGlmICghYWxsb3dfcXVhbG5hbWUgJiYgUHlfU0laRShkb3R0ZWRfcGF0aCkgPiAxKSB7Ci0gICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19BdHRyaWJ1dGVFcnJvciwKLSAgICAgICAgICAgICAgICAgICAgICJDYW4ndCBnZXQgcXVhbGlmaWVkIGF0dHJpYnV0ZSAlUiBvbiAlUjsiCi0gICAgICAgICAgICAgICAgICAgICAidXNlIHByb3RvY29scyA+PSA0IHRvIGVuYWJsZSBzdXBwb3J0IiwKLSAgICAgICAgICAgICAgICAgICAgIG5hbWUsIG9iaik7CisgICAgbiA9IFB5TGlzdF9HRVRfU0laRShkb3R0ZWRfcGF0aCk7CisgICAgYXNzZXJ0KG4gPj0gMSk7CisgICAgaWYgKCFhbGxvd19xdWFsbmFtZSAmJiBuID4gMSkgeworICAgICAgICBpZiAob2JqID09IE5VTEwpCisgICAgICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfQXR0cmlidXRlRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAgIkNhbid0IHBpY2tsZSBxdWFsaWZpZWQgb2JqZWN0ICVSOyAiCisgICAgICAgICAgICAgICAgICAgICAgICAgInVzZSBwcm90b2NvbHMgPj0gNCB0byBlbmFibGUgc3VwcG9ydCIsCisgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZSk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19BdHRyaWJ1dGVFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAiQ2FuJ3QgcGlja2xlIHF1YWxpZmllZCBhdHRyaWJ1dGUgJVIgb24gJVI7ICIKKyAgICAgICAgICAgICAgICAgICAgICAgICAidXNlIHByb3RvY29scyA+PSA0IHRvIGVuYWJsZSBzdXBwb3J0IiwKKyAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lLCBvYmopOwogICAgICAgICBQeV9ERUNSRUYoZG90dGVkX3BhdGgpOwogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9Ci0gICAgUHlfSU5DUkVGKG9iaik7Ci0gICAgZm9yIChpID0gMDsgaSA8IFB5X1NJWkUoZG90dGVkX3BhdGgpOyBpKyspIHsKKyAgICBmb3IgKGkgPSAwOyBpIDwgbjsgaSsrKSB7CiAgICAgICAgIFB5T2JqZWN0ICpzdWJwYXRoID0gUHlMaXN0X0dFVF9JVEVNKGRvdHRlZF9wYXRoLCBpKTsKLSAgICAgICAgUHlPYmplY3QgKnRtcDsKICAgICAgICAgUHlPYmplY3QgKnJlc3VsdCA9IFB5VW5pY29kZV9SaWNoQ29tcGFyZSgKICAgICAgICAgICAgIHN1YnBhdGgsIF9QeVVuaWNvZGVfRnJvbUlkKCZQeUlkX2xvY2FscyksIFB5X0VRKTsKICAgICAgICAgaW50IGlzX2VxdWFsID0gKHJlc3VsdCA9PSBQeV9UcnVlKTsKICAgICAgICAgYXNzZXJ0KFB5Qm9vbF9DaGVjayhyZXN1bHQpKTsKICAgICAgICAgUHlfREVDUkVGKHJlc3VsdCk7CiAgICAgICAgIGlmIChpc19lcXVhbCkgewotICAgICAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX0F0dHJpYnV0ZUVycm9yLAotICAgICAgICAgICAgICAgICAgICAgICAgICJDYW4ndCBnZXQgbG9jYWwgYXR0cmlidXRlICVSIG9uICVSIiwgbmFtZSwgb2JqKTsKLSAgICAgICAgICAgIFB5X0RFQ1JFRihkb3R0ZWRfcGF0aCk7Ci0gICAgICAgICAgICBQeV9ERUNSRUYob2JqKTsKLSAgICAgICAgICAgIHJldHVybiBOVUxMOwotICAgICAgICB9Ci0gICAgICAgIHRtcCA9IFB5T2JqZWN0X0dldEF0dHIob2JqLCBzdWJwYXRoKTsKLSAgICAgICAgUHlfREVDUkVGKG9iaik7Ci0gICAgICAgIGlmICh0bXAgPT0gTlVMTCkgewotICAgICAgICAgICAgaWYgKFB5RXJyX0V4Y2VwdGlvbk1hdGNoZXMoUHlFeGNfQXR0cmlidXRlRXJyb3IpKSB7Ci0gICAgICAgICAgICAgICAgUHlFcnJfQ2xlYXIoKTsKKyAgICAgICAgICAgIGlmIChvYmogPT0gTlVMTCkKICAgICAgICAgICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfQXR0cmlidXRlRXJyb3IsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICJDYW4ndCBnZXQgYXR0cmlidXRlICVSIG9uICVSIiwgbmFtZSwgb2JqKTsKLSAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkNhbid0IHBpY2tsZSBsb2NhbCBvYmplY3QgJVIiLCBuYW1lKTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfQXR0cmlidXRlRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJDYW4ndCBwaWNrbGUgbG9jYWwgYXR0cmlidXRlICVSIG9uICVSIiwgbmFtZSwgb2JqKTsKICAgICAgICAgICAgIFB5X0RFQ1JFRihkb3R0ZWRfcGF0aCk7CiAgICAgICAgICAgICByZXR1cm4gTlVMTDsKICAgICAgICAgfQorICAgIH0KKyAgICByZXR1cm4gZG90dGVkX3BhdGg7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitnZXRfZGVlcF9hdHRyaWJ1dGUoUHlPYmplY3QgKm9iaiwgUHlPYmplY3QgKm5hbWVzKQoreworICAgIFB5X3NzaXplX3QgaSwgbjsKKworICAgIGFzc2VydChQeUxpc3RfQ2hlY2tFeGFjdChuYW1lcykpOworICAgIFB5X0lOQ1JFRihvYmopOworICAgIG4gPSBQeUxpc3RfR0VUX1NJWkUobmFtZXMpOworICAgIGZvciAoaSA9IDA7IGkgPCBuOyBpKyspIHsKKyAgICAgICAgUHlPYmplY3QgKm5hbWUgPSBQeUxpc3RfR0VUX0lURU0obmFtZXMsIGkpOworICAgICAgICBQeU9iamVjdCAqdG1wOworICAgICAgICB0bXAgPSBQeU9iamVjdF9HZXRBdHRyKG9iaiwgbmFtZSk7CisgICAgICAgIFB5X0RFQ1JFRihvYmopOworICAgICAgICBpZiAodG1wID09IE5VTEwpCisgICAgICAgICAgICByZXR1cm4gTlVMTDsKICAgICAgICAgb2JqID0gdG1wOwogICAgIH0KLSAgICBQeV9ERUNSRUYoZG90dGVkX3BhdGgpOwogICAgIHJldHVybiBvYmo7CiB9CiAKK3N0YXRpYyB2b2lkCityZWZvcm1hdF9hdHRyaWJ1dGVfZXJyb3IoUHlPYmplY3QgKm9iaiwgUHlPYmplY3QgKm5hbWUpCit7CisgICAgaWYgKFB5RXJyX0V4Y2VwdGlvbk1hdGNoZXMoUHlFeGNfQXR0cmlidXRlRXJyb3IpKSB7CisgICAgICAgIFB5RXJyX0NsZWFyKCk7CisgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19BdHRyaWJ1dGVFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICJDYW4ndCBnZXQgYXR0cmlidXRlICVSIG9uICVSIiwgbmFtZSwgb2JqKTsKKyAgICB9Cit9CisKKworc3RhdGljIFB5T2JqZWN0ICoKK2dldGF0dHJpYnV0ZShQeU9iamVjdCAqb2JqLCBQeU9iamVjdCAqbmFtZSwgaW50IGFsbG93X3F1YWxuYW1lKQoreworICAgIFB5T2JqZWN0ICpkb3R0ZWRfcGF0aCwgKmF0dHI7CisKKyAgICBkb3R0ZWRfcGF0aCA9IGdldF9kb3R0ZWRfcGF0aChvYmosIG5hbWUsIGFsbG93X3F1YWxuYW1lKTsKKyAgICBpZiAoZG90dGVkX3BhdGggPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgYXR0ciA9IGdldF9kZWVwX2F0dHJpYnV0ZShvYmosIGRvdHRlZF9wYXRoKTsKKyAgICBQeV9ERUNSRUYoZG90dGVkX3BhdGgpOworICAgIGlmIChhdHRyID09IE5VTEwpCisgICAgICAgIHJlZm9ybWF0X2F0dHJpYnV0ZV9lcnJvcihvYmosIG5hbWUpOworICAgIHJldHVybiBhdHRyOworfQorCiBzdGF0aWMgUHlPYmplY3QgKgogd2hpY2htb2R1bGUoUHlPYmplY3QgKmdsb2JhbCwgUHlPYmplY3QgKmdsb2JhbF9uYW1lLCBpbnQgYWxsb3dfcXVhbG5hbWUpCiB7CiAgICAgUHlPYmplY3QgKm1vZHVsZV9uYW1lOwogICAgIFB5T2JqZWN0ICptb2R1bGVzX2RpY3Q7CiAgICAgUHlPYmplY3QgKm1vZHVsZTsKLSAgICBQeU9iamVjdCAqb2JqOwotICAgIFB5X3NzaXplX3QgaSwgajsKKyAgICBQeV9zc2l6ZV90IGk7CiAgICAgX1B5X0lERU5USUZJRVIoX19tb2R1bGVfXyk7CiAgICAgX1B5X0lERU5USUZJRVIobW9kdWxlcyk7CiAgICAgX1B5X0lERU5USUZJRVIoX19tYWluX18pOworICAgIFB5T2JqZWN0ICpkb3R0ZWRfcGF0aDsKIAogICAgIG1vZHVsZV9uYW1lID0gX1B5T2JqZWN0X0dldEF0dHJJZChnbG9iYWwsICZQeUlkX19fbW9kdWxlX18pOwogCkBAIC0xNjE2LDQzICsxNjU2LDQ5IEBACiAgICAgfQogICAgIGFzc2VydChtb2R1bGVfbmFtZSA9PSBOVUxMKTsKIAorICAgIC8qIEZhbGxiYWNrIG9uIHdhbGtpbmcgc3lzLm1vZHVsZXMgKi8KICAgICBtb2R1bGVzX2RpY3QgPSBfUHlTeXNfR2V0T2JqZWN0SWQoJlB5SWRfbW9kdWxlcyk7CiAgICAgaWYgKG1vZHVsZXNfZGljdCA9PSBOVUxMKSB7CiAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19SdW50aW1lRXJyb3IsICJ1bmFibGUgdG8gZ2V0IHN5cy5tb2R1bGVzIik7CiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KIAorICAgIGRvdHRlZF9wYXRoID0gZ2V0X2RvdHRlZF9wYXRoKE5VTEwsIGdsb2JhbF9uYW1lLCBhbGxvd19xdWFsbmFtZSk7CisgICAgaWYgKGRvdHRlZF9wYXRoID09IE5VTEwpCisgICAgICAgIHJldHVybiBOVUxMOworCiAgICAgaSA9IDA7Ci0gICAgd2hpbGUgKChqID0gUHlEaWN0X05leHQobW9kdWxlc19kaWN0LCAmaSwgJm1vZHVsZV9uYW1lLCAmbW9kdWxlKSkpIHsKLSAgICAgICAgUHlPYmplY3QgKnJlc3VsdCA9IFB5VW5pY29kZV9SaWNoQ29tcGFyZSgKLSAgICAgICAgICAgIG1vZHVsZV9uYW1lLCBfUHlVbmljb2RlX0Zyb21JZCgmUHlJZF9fX21haW5fXyksIFB5X0VRKTsKLSAgICAgICAgaW50IGlzX2VxdWFsID0gKHJlc3VsdCA9PSBQeV9UcnVlKTsKLSAgICAgICAgYXNzZXJ0KFB5Qm9vbF9DaGVjayhyZXN1bHQpKTsKLSAgICAgICAgUHlfREVDUkVGKHJlc3VsdCk7Ci0gICAgICAgIGlmIChpc19lcXVhbCkKKyAgICB3aGlsZSAoUHlEaWN0X05leHQobW9kdWxlc19kaWN0LCAmaSwgJm1vZHVsZV9uYW1lLCAmbW9kdWxlKSkgeworICAgICAgICBQeU9iamVjdCAqY2FuZGlkYXRlOworICAgICAgICBpZiAoUHlVbmljb2RlX0NoZWNrKG1vZHVsZV9uYW1lKSAmJgorICAgICAgICAgICAgIVB5VW5pY29kZV9Db21wYXJlV2l0aEFTQ0lJU3RyaW5nKG1vZHVsZV9uYW1lLCAiX19tYWluX18iKSkKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICBpZiAobW9kdWxlID09IFB5X05vbmUpCiAgICAgICAgICAgICBjb250aW51ZTsKIAotICAgICAgICBvYmogPSBnZXRhdHRyaWJ1dGUobW9kdWxlLCBnbG9iYWxfbmFtZSwgYWxsb3dfcXVhbG5hbWUpOwotICAgICAgICBpZiAob2JqID09IE5VTEwpIHsKLSAgICAgICAgICAgIGlmICghUHlFcnJfRXhjZXB0aW9uTWF0Y2hlcyhQeUV4Y19BdHRyaWJ1dGVFcnJvcikpCisgICAgICAgIGNhbmRpZGF0ZSA9IGdldF9kZWVwX2F0dHJpYnV0ZShtb2R1bGUsIGRvdHRlZF9wYXRoKTsKKyAgICAgICAgaWYgKGNhbmRpZGF0ZSA9PSBOVUxMKSB7CisgICAgICAgICAgICBpZiAoIVB5RXJyX0V4Y2VwdGlvbk1hdGNoZXMoUHlFeGNfQXR0cmlidXRlRXJyb3IpKSB7CisgICAgICAgICAgICAgICAgUHlfREVDUkVGKGRvdHRlZF9wYXRoKTsKICAgICAgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgICAgIH0KICAgICAgICAgICAgIFB5RXJyX0NsZWFyKCk7CiAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgfQogCi0gICAgICAgIGlmIChvYmogPT0gZ2xvYmFsKSB7Ci0gICAgICAgICAgICBQeV9ERUNSRUYob2JqKTsKKyAgICAgICAgaWYgKGNhbmRpZGF0ZSA9PSBnbG9iYWwpIHsKICAgICAgICAgICAgIFB5X0lOQ1JFRihtb2R1bGVfbmFtZSk7CisgICAgICAgICAgICBQeV9ERUNSRUYoZG90dGVkX3BhdGgpOworICAgICAgICAgICAgUHlfREVDUkVGKGNhbmRpZGF0ZSk7CiAgICAgICAgICAgICByZXR1cm4gbW9kdWxlX25hbWU7CiAgICAgICAgIH0KLSAgICAgICAgUHlfREVDUkVGKG9iaik7CisgICAgICAgIFB5X0RFQ1JFRihjYW5kaWRhdGUpOwogICAgIH0KIAogICAgIC8qIElmIG5vIG1vZHVsZSBpcyBmb3VuZCwgdXNlIF9fbWFpbl9fLiAqLwogICAgIG1vZHVsZV9uYW1lID0gX1B5VW5pY29kZV9Gcm9tSWQoJlB5SWRfX19tYWluX18pOwogICAgIFB5X0lOQ1JFRihtb2R1bGVfbmFtZSk7CisgICAgUHlfREVDUkVGKGRvdHRlZF9wYXRoKTsKICAgICByZXR1cm4gbW9kdWxlX25hbWU7CiB9CiAKQEAgLTE5MzMsNyArMTk3OSw3IEBACiAgICAgICAgIGlmIChfUGlja2xlcl9Xcml0ZShzZWxmLCAmb3AsIDEpIDwgMCkKICAgICAgICAgICAgIGdvdG8gZG9uZTsKIAotICAgICAgICBidWYgPSBQeU9TX2RvdWJsZV90b19zdHJpbmcoeCwgJ2cnLCAxNywgMCwgTlVMTCk7CisgICAgICAgIGJ1ZiA9IFB5T1NfZG91YmxlX3RvX3N0cmluZyh4LCAncicsIDAsIFB5X0RUU0ZfQUREX0RPVF8wLCBOVUxMKTsKICAgICAgICAgaWYgKCFidWYpIHsKICAgICAgICAgICAgIFB5RXJyX05vTWVtb3J5KCk7CiAgICAgICAgICAgICBnb3RvIGRvbmU7CkBAIC0yMDEzLDcgKzIwNTksNyBAQAogICAgICAgICAgICAgaGVhZGVyWzFdID0gKHVuc2lnbmVkIGNoYXIpc2l6ZTsKICAgICAgICAgICAgIGxlbiA9IDI7CiAgICAgICAgIH0KLSAgICAgICAgZWxzZSBpZiAoc2l6ZSA8PSAweGZmZmZmZmZmTCkgeworICAgICAgICBlbHNlIGlmICgoc2l6ZV90KXNpemUgPD0gMHhmZmZmZmZmZlVMKSB7CiAgICAgICAgICAgICBoZWFkZXJbMF0gPSBCSU5CWVRFUzsKICAgICAgICAgICAgIGhlYWRlclsxXSA9ICh1bnNpZ25lZCBjaGFyKShzaXplICYgMHhmZik7CiAgICAgICAgICAgICBoZWFkZXJbMl0gPSAodW5zaWduZWQgY2hhcikoKHNpemUgPj4gOCkgJiAweGZmKTsKQEAgLTIwNTAsOSArMjA5NiwxMCBAQAogc3RhdGljIFB5T2JqZWN0ICoKIHJhd191bmljb2RlX2VzY2FwZShQeU9iamVjdCAqb2JqKQogewotICAgIFB5T2JqZWN0ICpyZXByLCAqcmVzdWx0OworICAgIFB5T2JqZWN0ICpyZXByOwogICAgIGNoYXIgKnA7Ci0gICAgUHlfc3NpemVfdCBpLCBzaXplLCBleHBhbmRzaXplOworICAgIFB5X3NzaXplX3QgaSwgc2l6ZTsKKyAgICBzaXplX3QgZXhwYW5kc2l6ZTsKICAgICB2b2lkICpkYXRhOwogICAgIHVuc2lnbmVkIGludCBraW5kOwogCkBAIC0yMDY3LDE1ICsyMTE0LDE2IEBACiAgICAgZWxzZQogICAgICAgICBleHBhbmRzaXplID0gNjsKIAotICAgIGlmIChzaXplID4gUFlfU1NJWkVfVF9NQVggLyBleHBhbmRzaXplKQorICAgIGlmICgoc2l6ZV90KXNpemUgPiAoc2l6ZV90KVBZX1NTSVpFX1RfTUFYIC8gZXhwYW5kc2l6ZSkKICAgICAgICAgcmV0dXJuIFB5RXJyX05vTWVtb3J5KCk7Ci0gICAgcmVwciA9IFB5Qnl0ZUFycmF5X0Zyb21TdHJpbmdBbmRTaXplKE5VTEwsIGV4cGFuZHNpemUgKiBzaXplKTsKKyAgICByZXByID0gUHlCeXRlc19Gcm9tU3RyaW5nQW5kU2l6ZShOVUxMLCBleHBhbmRzaXplICogc2l6ZSk7CiAgICAgaWYgKHJlcHIgPT0gTlVMTCkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgaWYgKHNpemUgPT0gMCkKLSAgICAgICAgZ290byBkb25lOworICAgICAgICByZXR1cm4gcmVwcjsKKyAgICBhc3NlcnQoUHlfUkVGQ05UKHJlcHIpID09IDEpOwogCi0gICAgcCA9IFB5Qnl0ZUFycmF5X0FTX1NUUklORyhyZXByKTsKKyAgICBwID0gUHlCeXRlc19BU19TVFJJTkcocmVwcik7CiAgICAgZm9yIChpPTA7IGkgPCBzaXplOyBpKyspIHsKICAgICAgICAgUHlfVUNTNCBjaCA9IFB5VW5pY29kZV9SRUFEKGtpbmQsIGRhdGEsIGkpOwogICAgICAgICAvKiBNYXAgMzItYml0IGNoYXJhY3RlcnMgdG8gJ1xVeHh4eHh4eHgnICovCkBAIC0yMTA0LDEyICsyMTUyLDEwIEBACiAgICAgICAgIGVsc2UKICAgICAgICAgICAgICpwKysgPSAoY2hhcikgY2g7CiAgICAgfQotICAgIHNpemUgPSBwIC0gUHlCeXRlQXJyYXlfQVNfU1RSSU5HKHJlcHIpOwotCi1kb25lOgotICAgIHJlc3VsdCA9IFB5Qnl0ZXNfRnJvbVN0cmluZ0FuZFNpemUoUHlCeXRlQXJyYXlfQVNfU1RSSU5HKHJlcHIpLCBzaXplKTsKLSAgICBQeV9ERUNSRUYocmVwcik7Ci0gICAgcmV0dXJuIHJlc3VsdDsKKyAgICBzaXplID0gcCAtIFB5Qnl0ZXNfQVNfU1RSSU5HKHJlcHIpOworICAgIGlmIChfUHlCeXRlc19SZXNpemUoJnJlcHIsIHNpemUpIDwgMCkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgcmV0dXJuIHJlcHI7CiB9CiAKIHN0YXRpYyBpbnQKQEAgLTIxMTgsMTIgKzIxNjQsMTMgQEAKICAgICBjaGFyIGhlYWRlcls5XTsKICAgICBQeV9zc2l6ZV90IGxlbjsKIAorICAgIGFzc2VydChzaXplID49IDApOwogICAgIGlmIChzaXplIDw9IDB4ZmYgJiYgc2VsZi0+cHJvdG8gPj0gNCkgewogICAgICAgICBoZWFkZXJbMF0gPSBTSE9SVF9CSU5VTklDT0RFOwogICAgICAgICBoZWFkZXJbMV0gPSAodW5zaWduZWQgY2hhcikoc2l6ZSAmIDB4ZmYpOwogICAgICAgICBsZW4gPSAyOwogICAgIH0KLSAgICBlbHNlIGlmIChzaXplIDw9IDB4ZmZmZmZmZmZVTCkgeworICAgIGVsc2UgaWYgKChzaXplX3Qpc2l6ZSA8PSAweGZmZmZmZmZmVUwpIHsKICAgICAgICAgaGVhZGVyWzBdID0gQklOVU5JQ09ERTsKICAgICAgICAgaGVhZGVyWzFdID0gKHVuc2lnbmVkIGNoYXIpKHNpemUgJiAweGZmKTsKICAgICAgICAgaGVhZGVyWzJdID0gKHVuc2lnbmVkIGNoYXIpKChzaXplID4+IDgpICYgMHhmZik7CkBAIC0zNDU5LDIwICszNTA2LDE5IEBACiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBQeUVycl9DbGVhcigpOwogICAgICAgICB9Ci0gICAgICAgIGVsc2UgaWYgKHNlbGYtPnByb3RvID49IDQpIHsKLSAgICAgICAgICAgIF9QeV9JREVOVElGSUVSKF9fbmV3b2JqX2V4X18pOwotICAgICAgICAgICAgdXNlX25ld29ial9leCA9IFB5VW5pY29kZV9DaGVjayhuYW1lKSAmJgotICAgICAgICAgICAgICAgIFB5VW5pY29kZV9Db21wYXJlKAotICAgICAgICAgICAgICAgICAgICBuYW1lLCBfUHlVbmljb2RlX0Zyb21JZCgmUHlJZF9fX25ld29ial9leF9fKSkgPT0gMDsKLSAgICAgICAgICAgIFB5X0RFQ1JFRihuYW1lKTsKKyAgICAgICAgZWxzZSBpZiAoUHlVbmljb2RlX0NoZWNrKG5hbWUpKSB7CisgICAgICAgICAgICBpZiAoc2VsZi0+cHJvdG8gPj0gNCkgeworICAgICAgICAgICAgICAgIF9QeV9JREVOVElGSUVSKF9fbmV3b2JqX2V4X18pOworICAgICAgICAgICAgICAgIHVzZV9uZXdvYmpfZXggPSBQeVVuaWNvZGVfQ29tcGFyZSgKKyAgICAgICAgICAgICAgICAgICAgICAgIG5hbWUsIF9QeVVuaWNvZGVfRnJvbUlkKCZQeUlkX19fbmV3b2JqX2V4X18pKSA9PSAwOworICAgICAgICAgICAgfQorICAgICAgICAgICAgaWYgKCF1c2VfbmV3b2JqX2V4KSB7CisgICAgICAgICAgICAgICAgX1B5X0lERU5USUZJRVIoX19uZXdvYmpfXyk7CisgICAgICAgICAgICAgICAgdXNlX25ld29iaiA9IFB5VW5pY29kZV9Db21wYXJlKAorICAgICAgICAgICAgICAgICAgICAgICAgbmFtZSwgX1B5VW5pY29kZV9Gcm9tSWQoJlB5SWRfX19uZXdvYmpfXykpID09IDA7CisgICAgICAgICAgICB9CiAgICAgICAgIH0KLSAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICBfUHlfSURFTlRJRklFUihfX25ld29ial9fKTsKLSAgICAgICAgICAgIHVzZV9uZXdvYmogPSBQeVVuaWNvZGVfQ2hlY2sobmFtZSkgJiYKLSAgICAgICAgICAgICAgICBQeVVuaWNvZGVfQ29tcGFyZSgKLSAgICAgICAgICAgICAgICAgICAgbmFtZSwgX1B5VW5pY29kZV9Gcm9tSWQoJlB5SWRfX19uZXdvYmpfXykpID09IDA7Ci0gICAgICAgICAgICBQeV9ERUNSRUYobmFtZSk7Ci0gICAgICAgIH0KKyAgICAgICAgUHlfWERFQ1JFRihuYW1lKTsKICAgICB9CiAKICAgICBpZiAodXNlX25ld29ial9leCkgewpAQCAtNDUzMywxMCArNDU3OSwxMCBAQAogY2FsY19iaW5zaXplKGNoYXIgKmJ5dGVzLCBpbnQgbmJ5dGVzKQogewogICAgIHVuc2lnbmVkIGNoYXIgKnMgPSAodW5zaWduZWQgY2hhciAqKWJ5dGVzOwotICAgIGludCBpOworICAgIFB5X3NzaXplX3QgaTsKICAgICBzaXplX3QgeCA9IDA7CiAKLSAgICBmb3IgKGkgPSAwOyBpIDwgbmJ5dGVzICYmIGkgPCBzaXplb2Yoc2l6ZV90KTsgaSsrKSB7CisgICAgZm9yIChpID0gMDsgaSA8IG5ieXRlcyAmJiAoc2l6ZV90KWkgPCBzaXplb2Yoc2l6ZV90KTsgaSsrKSB7CiAgICAgICAgIHggfD0gKHNpemVfdCkgc1tpXSA8PCAoOCAqIGkpOwogICAgIH0KIApAQCAtNDU1NSw3ICs0NjAxLDcgQEAKIGNhbGNfYmluaW50KGNoYXIgKmJ5dGVzLCBpbnQgbmJ5dGVzKQogewogICAgIHVuc2lnbmVkIGNoYXIgKnMgPSAodW5zaWduZWQgY2hhciAqKWJ5dGVzOwotICAgIGludCBpOworICAgIFB5X3NzaXplX3QgaTsKICAgICBsb25nIHggPSAwOwogCiAgICAgZm9yIChpID0gMDsgaSA8IG5ieXRlczsgaSsrKSB7CmRpZmYgLS1naXQgYS9Nb2R1bGVzL19yYW5kb21tb2R1bGUuYyBiL01vZHVsZXMvX3JhbmRvbW1vZHVsZS5jCmluZGV4IDQzNzdlZTAuLmFmODYxODIgMTAwNjQ0Ci0tLSBhL01vZHVsZXMvX3JhbmRvbW1vZHVsZS5jCisrKyBiL01vZHVsZXMvX3JhbmRvbW1vZHVsZS5jCkBAIC03OCw4ICs3OCw4IEBACiAKIHR5cGVkZWYgc3RydWN0IHsKICAgICBQeU9iamVjdF9IRUFECi0gICAgdW5zaWduZWQgbG9uZyBzdGF0ZVtOXTsKICAgICBpbnQgaW5kZXg7CisgICAgdW5zaWduZWQgbG9uZyBzdGF0ZVtOXTsKIH0gUmFuZG9tT2JqZWN0OwogCiBzdGF0aWMgUHlUeXBlT2JqZWN0IFJhbmRvbV9UeXBlOwpkaWZmIC0tZ2l0IGEvTW9kdWxlcy9fc3FsaXRlL2Nvbm5lY3Rpb24uaCBiL01vZHVsZXMvX3NxbGl0ZS9jb25uZWN0aW9uLmgKaW5kZXggMGM5NzM0Yy4uZmJkOTA2MyAxMDA2NDQKLS0tIGEvTW9kdWxlcy9fc3FsaXRlL2Nvbm5lY3Rpb24uaAorKysgYi9Nb2R1bGVzL19zcWxpdGUvY29ubmVjdGlvbi5oCkBAIC01Miw3ICs1Miw3IEBACiAgICAgICogZmlyc3QgZ2V0IGNhbGxlZCB3aXRoIGNvdW50PTA/ICovCiAgICAgZG91YmxlIHRpbWVvdXRfc3RhcnRlZDsKIAotICAgIC8qIE5vbmUgZm9yIGF1dG9jb21taXQsIG90aGVyd2lzZSBhIFB5U3RyaW5nIHdpdGggdGhlIGlzb2xhdGlvbiBsZXZlbCAqLworICAgIC8qIE5vbmUgZm9yIGF1dG9jb21taXQsIG90aGVyd2lzZSBhIFB5VW5pY29kZSB3aXRoIHRoZSBpc29sYXRpb24gbGV2ZWwgKi8KICAgICBQeU9iamVjdCogaXNvbGF0aW9uX2xldmVsOwogCiAgICAgLyogTlVMTCBmb3IgYXV0b2NvbW1pdCwgb3RoZXJ3aXNlIGEgc3RyaW5nIHdpdGggdGhlIEJFR0lOIHN0YXRlbWVudDsgd2lsbCBiZQpkaWZmIC0tZ2l0IGEvTW9kdWxlcy9fc3FsaXRlL2N1cnNvci5jIGIvTW9kdWxlcy9fc3FsaXRlL2N1cnNvci5jCmluZGV4IGRiOTZiMDIuLjdmZTAwZTMgMTAwNjQ0Ci0tLSBhL01vZHVsZXMvX3NxbGl0ZS9jdXJzb3IuYworKysgYi9Nb2R1bGVzL19zcWxpdGUvY3Vyc29yLmMKQEAgLTQ2LDcgKzQ2LDcgQEAKIAogICAgIGRzdCA9IGJ1ZjsKICAgICAqZHN0ID0gMDsKLSAgICB3aGlsZSAoUHlfSVNBTFBIQSgqc3JjKSAmJiBkc3QgLSBidWYgPCBzaXplb2YoYnVmKSAtIDIpIHsKKyAgICB3aGlsZSAoUHlfSVNBTFBIQSgqc3JjKSAmJiAoZHN0IC0gYnVmKSA8ICgoUHlfc3NpemVfdClzaXplb2YoYnVmKSAtIDIpKSB7CiAgICAgICAgICpkc3QrKyA9IFB5X1RPTE9XRVIoKnNyYysrKTsKICAgICB9CiAKZGlmZiAtLWdpdCBhL01vZHVsZXMvX3NxbGl0ZS9yb3cuYyBiL01vZHVsZXMvX3NxbGl0ZS9yb3cuYwppbmRleCA2NGRmZDA2Li5lZDhhZDQ3IDEwMDY0NAotLS0gYS9Nb2R1bGVzL19zcWxpdGUvcm93LmMKKysrIGIvTW9kdWxlcy9fc3FsaXRlL3Jvdy5jCkBAIC0xNTksNyArMTU5LDcgQEAKIFB5T2JqZWN0KiBweXNxbGl0ZV9yb3dfa2V5cyhweXNxbGl0ZV9Sb3cqIHNlbGYsIFB5T2JqZWN0KiBhcmdzLCBQeU9iamVjdCoga3dhcmdzKQogewogICAgIFB5T2JqZWN0KiBsaXN0OwotICAgIGludCBuaXRlbXMsIGk7CisgICAgUHlfc3NpemVfdCBuaXRlbXMsIGk7CiAKICAgICBsaXN0ID0gUHlMaXN0X05ldygwKTsKICAgICBpZiAoIWxpc3QpIHsKZGlmZiAtLWdpdCBhL01vZHVsZXMvX3NyZS5jIGIvTW9kdWxlcy9fc3JlLmMKaW5kZXggMzAwZDg4My4uOTU1MGQ5NyAxMDA2NDQKLS0tIGEvTW9kdWxlcy9fc3JlLmMKKysrIGIvTW9kdWxlcy9fc3JlLmMKQEAgLTk3LDQ4ICs5NywyNSBAQAogLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KIC8qIHNlYXJjaCBlbmdpbmUgc3RhdGUgKi8KIAotLyogZGVmYXVsdCBjaGFyYWN0ZXIgcHJlZGljYXRlcyAocnVuIHNyZV9jaGFycy5weSB0byByZWdlbmVyYXRlIHRhYmxlcykgKi8KLQotI2RlZmluZSBTUkVfRElHSVRfTUFTSyAxCi0jZGVmaW5lIFNSRV9TUEFDRV9NQVNLIDIKLSNkZWZpbmUgU1JFX0xJTkVCUkVBS19NQVNLIDQKLSNkZWZpbmUgU1JFX0FMTlVNX01BU0sgOAotI2RlZmluZSBTUkVfV09SRF9NQVNLIDE2Ci0KLS8qIEZJWE1FOiB0aGlzIGFzc3VtZXMgQVNDSUkuICBjcmVhdGUgdGFibGVzIGluIGluaXRfc3JlKCkgaW5zdGVhZCAqLwotCi1zdGF0aWMgY2hhciBzcmVfY2hhcl9pbmZvWzEyOF0gPSB7IDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDIsIDYsIDIsCi0yLCAyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyLCAwLCAwLAotMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LAotMjUsIDI1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNCwgMjQsIDI0LCAyNCwgMjQsIDI0LCAyNCwgMjQsIDI0LCAyNCwKLTI0LCAyNCwgMjQsIDI0LCAyNCwgMjQsIDI0LCAyNCwgMjQsIDI0LCAyNCwgMjQsIDI0LCAyNCwgMjQsIDI0LCAwLCAwLAotMCwgMCwgMTYsIDAsIDI0LCAyNCwgMjQsIDI0LCAyNCwgMjQsIDI0LCAyNCwgMjQsIDI0LCAyNCwgMjQsIDI0LCAyNCwKLTI0LCAyNCwgMjQsIDI0LCAyNCwgMjQsIDI0LCAyNCwgMjQsIDI0LCAyNCwgMjQsIDAsIDAsIDAsIDAsIDAgfTsKLQotc3RhdGljIGNoYXIgc3JlX2NoYXJfbG93ZXJbMTI4XSA9IHsgMCwgMSwgMiwgMywgNCwgNSwgNiwgNywgOCwgOSwKLTEwLCAxMSwgMTIsIDEzLCAxNCwgMTUsIDE2LCAxNywgMTgsIDE5LCAyMCwgMjEsIDIyLCAyMywgMjQsIDI1LCAyNiwKLTI3LCAyOCwgMjksIDMwLCAzMSwgMzIsIDMzLCAzNCwgMzUsIDM2LCAzNywgMzgsIDM5LCA0MCwgNDEsIDQyLCA0MywKLTQ0LCA0NSwgNDYsIDQ3LCA0OCwgNDksIDUwLCA1MSwgNTIsIDUzLCA1NCwgNTUsIDU2LCA1NywgNTgsIDU5LCA2MCwKLTYxLCA2MiwgNjMsIDY0LCA5NywgOTgsIDk5LCAxMDAsIDEwMSwgMTAyLCAxMDMsIDEwNCwgMTA1LCAxMDYsIDEwNywKLTEwOCwgMTA5LCAxMTAsIDExMSwgMTEyLCAxMTMsIDExNCwgMTE1LCAxMTYsIDExNywgMTE4LCAxMTksIDEyMCwgMTIxLAotMTIyLCA5MSwgOTIsIDkzLCA5NCwgOTUsIDk2LCA5NywgOTgsIDk5LCAxMDAsIDEwMSwgMTAyLCAxMDMsIDEwNCwgMTA1LAotMTA2LCAxMDcsIDEwOCwgMTA5LCAxMTAsIDExMSwgMTEyLCAxMTMsIDExNCwgMTE1LCAxMTYsIDExNywgMTE4LCAxMTksCi0xMjAsIDEyMSwgMTIyLCAxMjMsIDEyNCwgMTI1LCAxMjYsIDEyNyB9OwotCiAjZGVmaW5lIFNSRV9JU19ESUdJVChjaClcCi0gICAgKChjaCkgPCAxMjggPyAoc3JlX2NoYXJfaW5mb1soY2gpXSAmIFNSRV9ESUdJVF9NQVNLKSA6IDApCisgICAgKChjaCkgPCAxMjggJiYgUHlfSVNESUdJVChjaCkpCiAjZGVmaW5lIFNSRV9JU19TUEFDRShjaClcCi0gICAgKChjaCkgPCAxMjggPyAoc3JlX2NoYXJfaW5mb1soY2gpXSAmIFNSRV9TUEFDRV9NQVNLKSA6IDApCisgICAgKChjaCkgPCAxMjggJiYgUHlfSVNTUEFDRShjaCkpCiAjZGVmaW5lIFNSRV9JU19MSU5FQlJFQUsoY2gpXAotICAgICgoY2gpIDwgMTI4ID8gKHNyZV9jaGFyX2luZm9bKGNoKV0gJiBTUkVfTElORUJSRUFLX01BU0spIDogMCkKKyAgICAoKGNoKSA9PSAnXG4nKQogI2RlZmluZSBTUkVfSVNfQUxOVU0oY2gpXAotICAgICgoY2gpIDwgMTI4ID8gKHNyZV9jaGFyX2luZm9bKGNoKV0gJiBTUkVfQUxOVU1fTUFTSykgOiAwKQorICAgICgoY2gpIDwgMTI4ICYmIFB5X0lTQUxOVU0oY2gpKQogI2RlZmluZSBTUkVfSVNfV09SRChjaClcCi0gICAgKChjaCkgPCAxMjggPyAoc3JlX2NoYXJfaW5mb1soY2gpXSAmIFNSRV9XT1JEX01BU0spIDogMCkKKyAgICAoKGNoKSA8IDEyOCAmJiAoUHlfSVNBTE5VTShjaCkgfHwgKGNoKSA9PSAnXycpKQogCiBzdGF0aWMgdW5zaWduZWQgaW50IHNyZV9sb3dlcih1bnNpZ25lZCBpbnQgY2gpCiB7Ci0gICAgcmV0dXJuICgoY2gpIDwgMTI4ID8gKHVuc2lnbmVkIGludClzcmVfY2hhcl9sb3dlcltjaF0gOiBjaCk7CisgICAgcmV0dXJuICgoY2gpIDwgMTI4ID8gUHlfVE9MT1dFUihjaCkgOiBjaCk7Cit9CisKK3N0YXRpYyB1bnNpZ25lZCBpbnQgc3JlX3VwcGVyKHVuc2lnbmVkIGludCBjaCkKK3sKKyAgICByZXR1cm4gKChjaCkgPCAxMjggPyBQeV9UT1VQUEVSKGNoKSA6IGNoKTsKIH0KIAogLyogbG9jYWxlLXNwZWNpZmljIGNoYXJhY3RlciBwcmVkaWNhdGVzICovCkBAIC0xNTIsNiArMTI5LDExIEBACiAgICAgcmV0dXJuICgoY2gpIDwgMjU2ID8gKHVuc2lnbmVkIGludCl0b2xvd2VyKChjaCkpIDogY2gpOwogfQogCitzdGF0aWMgdW5zaWduZWQgaW50IHNyZV91cHBlcl9sb2NhbGUodW5zaWduZWQgaW50IGNoKQoreworICAgIHJldHVybiAoKGNoKSA8IDI1NiA/ICh1bnNpZ25lZCBpbnQpdG91cHBlcigoY2gpKSA6IGNoKTsKK30KKwogLyogdW5pY29kZS1zcGVjaWZpYyBjaGFyYWN0ZXIgcHJlZGljYXRlcyAqLwogCiAjZGVmaW5lIFNSRV9VTklfSVNfRElHSVQoY2gpIFB5X1VOSUNPREVfSVNERUNJTUFMKGNoKQpAQCAtMTY1LDYgKzE0NywxMSBAQAogICAgIHJldHVybiAodW5zaWduZWQgaW50KSBQeV9VTklDT0RFX1RPTE9XRVIoY2gpOwogfQogCitzdGF0aWMgdW5zaWduZWQgaW50IHNyZV91cHBlcl91bmljb2RlKHVuc2lnbmVkIGludCBjaCkKK3sKKyAgICByZXR1cm4gKHVuc2lnbmVkIGludCkgUHlfVU5JQ09ERV9UT1VQUEVSKGNoKTsKK30KKwogTE9DQUwoaW50KQogc3JlX2NhdGVnb3J5KFNSRV9DT0RFIGNhdGVnb3J5LCB1bnNpZ25lZCBpbnQgY2gpCiB7CkBAIC0zNTcsNiArMzQ0LDExIEBACiAKICAgICBtZW1zZXQoc3RhdGUsIDAsIHNpemVvZihTUkVfU1RBVEUpKTsKIAorICAgIHN0YXRlLT5tYXJrID0gUHlNZW1fTmV3KHZvaWQgKiwgcGF0dGVybi0+Z3JvdXBzICogMik7CisgICAgaWYgKCFzdGF0ZS0+bWFyaykgeworICAgICAgICBQeUVycl9Ob01lbW9yeSgpOworICAgICAgICBnb3RvIGVycjsKKyAgICB9CiAgICAgc3RhdGUtPmxhc3RtYXJrID0gLTE7CiAgICAgc3RhdGUtPmxhc3RpbmRleCA9IC0xOwogCkBAIC00MDAsMTUgKzM5MiwyMyBAQAogICAgIHN0YXRlLT5wb3MgPSBzdGFydDsKICAgICBzdGF0ZS0+ZW5kcG9zID0gZW5kOwogCi0gICAgaWYgKHBhdHRlcm4tPmZsYWdzICYgU1JFX0ZMQUdfTE9DQUxFKQorICAgIGlmIChwYXR0ZXJuLT5mbGFncyAmIFNSRV9GTEFHX0xPQ0FMRSkgewogICAgICAgICBzdGF0ZS0+bG93ZXIgPSBzcmVfbG93ZXJfbG9jYWxlOwotICAgIGVsc2UgaWYgKHBhdHRlcm4tPmZsYWdzICYgU1JFX0ZMQUdfVU5JQ09ERSkKKyAgICAgICAgc3RhdGUtPnVwcGVyID0gc3JlX3VwcGVyX2xvY2FsZTsKKyAgICB9CisgICAgZWxzZSBpZiAocGF0dGVybi0+ZmxhZ3MgJiBTUkVfRkxBR19VTklDT0RFKSB7CiAgICAgICAgIHN0YXRlLT5sb3dlciA9IHNyZV9sb3dlcl91bmljb2RlOwotICAgIGVsc2UKKyAgICAgICAgc3RhdGUtPnVwcGVyID0gc3JlX3VwcGVyX3VuaWNvZGU7CisgICAgfQorICAgIGVsc2UgewogICAgICAgICBzdGF0ZS0+bG93ZXIgPSBzcmVfbG93ZXI7CisgICAgICAgIHN0YXRlLT51cHBlciA9IHNyZV91cHBlcjsKKyAgICB9CiAKICAgICByZXR1cm4gc3RyaW5nOwogICBlcnI6CisgICAgUHlNZW1fRGVsKHN0YXRlLT5tYXJrKTsKKyAgICBzdGF0ZS0+bWFyayA9IE5VTEw7CiAgICAgaWYgKHN0YXRlLT5idWZmZXIuYnVmKQogICAgICAgICBQeUJ1ZmZlcl9SZWxlYXNlKCZzdGF0ZS0+YnVmZmVyKTsKICAgICByZXR1cm4gTlVMTDsKQEAgLTQyMSw2ICs0MjEsOCBAQAogICAgICAgICBQeUJ1ZmZlcl9SZWxlYXNlKCZzdGF0ZS0+YnVmZmVyKTsKICAgICBQeV9YREVDUkVGKHN0YXRlLT5zdHJpbmcpOwogICAgIGRhdGFfc3RhY2tfZGVhbGxvYyhzdGF0ZSk7CisgICAgUHlNZW1fRGVsKHN0YXRlLT5tYXJrKTsKKyAgICBzdGF0ZS0+bWFyayA9IE5VTEw7CiB9CiAKIC8qIGNhbGN1bGF0ZSBvZmZzZXQgZnJvbSBzdGFydCBvZiBzdHJpbmcgKi8KQEAgLTU2MCw2ICs1NjIsNyBAQAogICAgIFB5T2JqZWN0ICpwYXR0ZXJuID0gTlVMTDsKICAgICBTUkVfU1RBVEUgc3RhdGU7CiAgICAgUHlfc3NpemVfdCBzdGF0dXM7CisgICAgUHlPYmplY3QgKm1hdGNoOwogCiAgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLAogICAgICAgICAifE9ubiRPOm1hdGNoIiwgX2tleXdvcmRzLApAQCAtNTc5LDEyICs1ODIsMTQgQEAKICAgICBzdGF0dXMgPSBzcmVfbWF0Y2goJnN0YXRlLCBQYXR0ZXJuT2JqZWN0X0dldENvZGUoc2VsZiksIDApOwogCiAgICAgVFJBQ0UoKCJ8JXB8JXB8RU5EXG4iLCBQYXR0ZXJuT2JqZWN0X0dldENvZGUoc2VsZiksIHN0YXRlLnB0cikpOwotICAgIGlmIChQeUVycl9PY2N1cnJlZCgpKQorICAgIGlmIChQeUVycl9PY2N1cnJlZCgpKSB7CisgICAgICAgIHN0YXRlX2ZpbmkoJnN0YXRlKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQogCisgICAgbWF0Y2ggPSBwYXR0ZXJuX25ld19tYXRjaChzZWxmLCAmc3RhdGUsIHN0YXR1cyk7CiAgICAgc3RhdGVfZmluaSgmc3RhdGUpOwotCi0gICAgcmV0dXJuIChQeU9iamVjdCAqKXBhdHRlcm5fbmV3X21hdGNoKHNlbGYsICZzdGF0ZSwgc3RhdHVzKTsKKyAgICByZXR1cm4gbWF0Y2g7CiB9CiAKIHN0YXRpYyBQeU9iamVjdCoKQEAgLTU5Miw2ICs1OTcsNyBAQAogewogICAgIFNSRV9TVEFURSBzdGF0ZTsKICAgICBQeV9zc2l6ZV90IHN0YXR1czsKKyAgICBQeU9iamVjdCAqbWF0Y2g7CiAKICAgICBQeU9iamVjdCAqc3RyaW5nID0gTlVMTCwgKnN0cmluZzIgPSBOVUxMOwogICAgIFB5X3NzaXplX3Qgc3RhcnQgPSAwOwpAQCAtNjE2LDEyICs2MjIsMTQgQEAKICAgICBzdGF0dXMgPSBzcmVfbWF0Y2goJnN0YXRlLCBQYXR0ZXJuT2JqZWN0X0dldENvZGUoc2VsZiksIDEpOwogCiAgICAgVFJBQ0UoKCJ8JXB8JXB8RU5EXG4iLCBQYXR0ZXJuT2JqZWN0X0dldENvZGUoc2VsZiksIHN0YXRlLnB0cikpOwotICAgIGlmIChQeUVycl9PY2N1cnJlZCgpKQorICAgIGlmIChQeUVycl9PY2N1cnJlZCgpKSB7CisgICAgICAgIHN0YXRlX2ZpbmkoJnN0YXRlKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQogCisgICAgbWF0Y2ggPSBwYXR0ZXJuX25ld19tYXRjaChzZWxmLCAmc3RhdGUsIHN0YXR1cyk7CiAgICAgc3RhdGVfZmluaSgmc3RhdGUpOwotCi0gICAgcmV0dXJuIHBhdHRlcm5fbmV3X21hdGNoKHNlbGYsICZzdGF0ZSwgc3RhdHVzKTsKKyAgICByZXR1cm4gbWF0Y2g7CiB9CiAKIHN0YXRpYyBQeU9iamVjdCoKQEAgLTYyOSw2ICs2MzcsNyBAQAogewogICAgIFNSRV9TVEFURSBzdGF0ZTsKICAgICBQeV9zc2l6ZV90IHN0YXR1czsKKyAgICBQeU9iamVjdCAqbWF0Y2g7CiAKICAgICBQeU9iamVjdCAqc3RyaW5nID0gTlVMTCwgKnN0cmluZzIgPSBOVUxMOwogICAgIFB5X3NzaXplX3Qgc3RhcnQgPSAwOwpAQCAtNjUyLDEyICs2NjEsMTQgQEAKIAogICAgIFRSQUNFKCgifCVwfCVwfEVORFxuIiwgUGF0dGVybk9iamVjdF9HZXRDb2RlKHNlbGYpLCBzdGF0ZS5wdHIpKTsKIAotICAgIHN0YXRlX2ZpbmkoJnN0YXRlKTsKLQotICAgIGlmIChQeUVycl9PY2N1cnJlZCgpKQorICAgIGlmIChQeUVycl9PY2N1cnJlZCgpKSB7CisgICAgICAgIHN0YXRlX2ZpbmkoJnN0YXRlKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQogCi0gICAgcmV0dXJuIHBhdHRlcm5fbmV3X21hdGNoKHNlbGYsICZzdGF0ZSwgc3RhdHVzKTsKKyAgICBtYXRjaCA9IHBhdHRlcm5fbmV3X21hdGNoKHNlbGYsICZzdGF0ZSwgc3RhdHVzKTsKKyAgICBzdGF0ZV9maW5pKCZzdGF0ZSk7CisgICAgcmV0dXJuIG1hdGNoOwogfQogCiBzdGF0aWMgUHlPYmplY3QqCkBAIC04NTIsNiArODYzLDE5IEBACiAgICAgaWYgKCFzdHJpbmcpCiAgICAgICAgIHJldHVybiBOVUxMOwogCisgICAgYXNzZXJ0KHNlbGYtPmNvZGVzaXplICE9IDApOworICAgIGlmIChzZWxmLT5jb2RlWzBdICE9IFNSRV9PUF9JTkZPIHx8IHNlbGYtPmNvZGVbM10gPT0gMCkgeworICAgICAgICBpZiAoc2VsZi0+Y29kZVswXSA9PSBTUkVfT1BfSU5GTyAmJiBzZWxmLT5jb2RlWzRdID09IDApIHsKKyAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzcGxpdCgpIHJlcXVpcmVzIGEgbm9uLWVtcHR5IHBhdHRlcm4gbWF0Y2guIik7CisgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgfQorICAgICAgICBpZiAoUHlFcnJfV2FybkV4KFB5RXhjX0Z1dHVyZVdhcm5pbmcsCisgICAgICAgICAgICAgICAgICAgICAgICAgInNwbGl0KCkgcmVxdWlyZXMgYSBub24tZW1wdHkgcGF0dGVybiBtYXRjaC4iLAorICAgICAgICAgICAgICAgICAgICAgICAgIDEpIDwgMCkKKyAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKwogICAgIHN0cmluZyA9IHN0YXRlX2luaXQoJnN0YXRlLCBzZWxmLCBzdHJpbmcsIDAsIFBZX1NTSVpFX1RfTUFYKTsKICAgICBpZiAoIXN0cmluZykKICAgICAgICAgcmV0dXJuIE5VTEw7CkBAIC0xMjM2LDcgKzEyNjAsNyBAQAogICAgIH07CiAgICAgUHlPYmplY3QgKnJlc3VsdCA9IE5VTEw7CiAgICAgUHlPYmplY3QgKmZsYWdfaXRlbXM7Ci0gICAgaW50IGk7CisgICAgc2l6ZV90IGk7CiAgICAgaW50IGZsYWdzID0gb2JqLT5mbGFnczsKIAogICAgIC8qIE9taXQgcmUuVU5JQ09ERSBmb3IgdmFsaWQgc3RyaW5nIHBhdHRlcm5zLiAqLwpAQCAtMTQxNyw3ICsxNDQxLDcgQEAKICAgICBQeU9iamVjdCogZ3JvdXBpbmRleCA9IE5VTEw7CiAgICAgUHlPYmplY3QqIGluZGV4Z3JvdXAgPSBOVUxMOwogCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJPaU8hfG5PTyIsICZwYXR0ZXJuLCAmZmxhZ3MsCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJPaU8hbk9PIiwgJnBhdHRlcm4sICZmbGFncywKICAgICAgICAgICAgICAgICAgICAgICAgICAgJlB5TGlzdF9UeXBlLCAmY29kZSwgJmdyb3VwcywKICAgICAgICAgICAgICAgICAgICAgICAgICAgJmdyb3VwaW5kZXgsICZpbmRleGdyb3VwKSkKICAgICAgICAgcmV0dXJuIE5VTEw7CkBAIC0xNTc3LDYgKzE2MDEsNyBAQAogICAgICAgICAgICAgYnJlYWs7CiAKICAgICAgICAgY2FzZSBTUkVfT1BfUkFOR0U6CisgICAgICAgIGNhc2UgU1JFX09QX1JBTkdFX0lHTk9SRToKICAgICAgICAgICAgIEdFVF9BUkc7CiAgICAgICAgICAgICBHRVRfQVJHOwogICAgICAgICAgICAgYnJlYWs7CkBAIC0xOTMzLDEwICsxOTU4LDkgQEAKIHN0YXRpYyBpbnQKIF92YWxpZGF0ZV9vdXRlcihTUkVfQ09ERSAqY29kZSwgU1JFX0NPREUgKmVuZCwgUHlfc3NpemVfdCBncm91cHMpCiB7Ci0gICAgaWYgKGdyb3VwcyA8IDAgfHwgZ3JvdXBzID4gMTAwIHx8IGNvZGUgPj0gZW5kIHx8IGVuZFstMV0gIT0gU1JFX09QX1NVQ0NFU1MpCisgICAgaWYgKGdyb3VwcyA8IDAgfHwgKHNpemVfdClncm91cHMgPiBTUkVfTUFYR1JPVVBTIHx8CisgICAgICAgIGNvZGUgPj0gZW5kIHx8IGVuZFstMV0gIT0gU1JFX09QX1NVQ0NFU1MpCiAgICAgICAgIEZBSUw7Ci0gICAgaWYgKGdyb3VwcyA9PSAwKSAgLyogZml4IGZvciBzaW1wbGVqc29uICovCi0gICAgICAgIGdyb3VwcyA9IDEwMDsgLyogMTAwIGdyb3VwcyBzaG91bGQgYWx3YXlzIGJlIHNhZmUgKi8KICAgICByZXR1cm4gX3ZhbGlkYXRlX2lubmVyKGNvZGUsIGVuZC0xLCBncm91cHMpOwogfQogCkBAIC0yNzQ3LDYgKzI3NzEsMTIgQEAKICAgICAgICAgUHlfREVDUkVGKHgpOwogICAgIH0KIAorICAgIHggPSBQeUxvbmdfRnJvbVVuc2lnbmVkTG9uZyhTUkVfTUFYR1JPVVBTKTsKKyAgICBpZiAoeCkgeworICAgICAgICBQeURpY3RfU2V0SXRlbVN0cmluZyhkLCAiTUFYR1JPVVBTIiwgeCk7CisgICAgICAgIFB5X0RFQ1JFRih4KTsKKyAgICB9CisKICAgICB4ID0gUHlVbmljb2RlX0Zyb21TdHJpbmcoY29weXJpZ2h0KTsKICAgICBpZiAoeCkgewogICAgICAgICBQeURpY3RfU2V0SXRlbVN0cmluZyhkLCAiY29weXJpZ2h0IiwgeCk7CmRpZmYgLS1naXQgYS9Nb2R1bGVzL19zc2wuYyBiL01vZHVsZXMvX3NzbC5jCmluZGV4IDk1Mzk3MTAuLjBlNmFiZGEgMTAwNjQ0Ci0tLSBhL01vZHVsZXMvX3NzbC5jCisrKyBiL01vZHVsZXMvX3NzbC5jCkBAIC02NCw2ICs2NCw3IEBACiAjaW5jbHVkZSAib3BlbnNzbC9zc2wuaCIKICNpbmNsdWRlICJvcGVuc3NsL2Vyci5oIgogI2luY2x1ZGUgIm9wZW5zc2wvcmFuZC5oIgorI2luY2x1ZGUgIm9wZW5zc2wvYmlvLmgiCiAKIC8qIFNTTCBlcnJvciBvYmplY3QgKi8KIHN0YXRpYyBQeU9iamVjdCAqUHlTU0xFcnJvck9iamVjdDsKQEAgLTEwOCw2ICsxMDksMTEgQEAKICMgZGVmaW5lIEhBVkVfU05JIDAKICNlbmRpZgogCisvKiBBTFBOIGFkZGVkIGluIE9wZW5TU0wgMS4wLjIgKi8KKyNpZiAhZGVmaW5lZChMSUJSRVNTTF9WRVJTSU9OX05VTUJFUikgJiYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA+PSAweDEwMDAyMDBmTCAmJiAhZGVmaW5lZChPUEVOU1NMX05PX1RMU0VYVCkKKyMgZGVmaW5lIEhBVkVfQUxQTgorI2VuZGlmCisKIGVudW0gcHlfc3NsX2Vycm9yIHsKICAgICAvKiB0aGVzZSBtaXJyb3Igc3NsLmggKi8KICAgICBQWV9TU0xfRVJST1JfTk9ORSwKQEAgLTE2MSwxMyArMTY3LDYgQEAKIAogI2RlZmluZSBYNTA5X05BTUVfTUFYTEVOIDI1NgogCi0vKiBSQU5EXyogQVBJcyBnb3QgYWRkZWQgdG8gT3BlblNTTCBpbiAwLjkuNSAqLwotI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPj0gMHgwMDkwNTAwZkwKLSMgZGVmaW5lIEhBVkVfT1BFTlNTTF9SQU5EIDEKLSNlbHNlCi0jIHVuZGVmIEhBVkVfT1BFTlNTTF9SQU5ECi0jZW5kaWYKLQogLyogU1NMX0NUWF9jbGVhcl9vcHRpb25zKCkgYW5kIFNTTF9jbGVhcl9vcHRpb25zKCkgd2VyZSBmaXJzdCBhZGRlZCBpbgogICogT3BlblNTTCAwLjkuOG0gYnV0IGRvIG5vdCBhcHBlYXIgaW4gc29tZSAwLjkuOS1kZXYgdmVyc2lvbnMgc3VjaCB0aGUKICAqIDAuOS45IGZyb20gIk1heSAyMDA4IiB0aGF0IE5ldEJTRCA1LjAgdXNlcy4gKi8KQEAgLTE4MSwzNiArMTgwLDE4IEBACiAgKiBvbGRlciBTU0wsIGJ1dCBsZXQncyBiZSBzYWZlICovCiAjZGVmaW5lIFB5U1NMX0NCX01BWExFTiAxMjgKIAotLyogU1NMX2dldF9maW5pc2hlZCBnb3QgYWRkZWQgdG8gT3BlblNTTCBpbiAwLjkuNSAqLwotI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPj0gMHgwMDkwNTAwZkwKLSMgZGVmaW5lIEhBVkVfT1BFTlNTTF9GSU5JU0hFRCAxCi0jZWxzZQotIyBkZWZpbmUgSEFWRV9PUEVOU1NMX0ZJTklTSEVEIDAKLSNlbmRpZgotCi0vKiBFQ0RIIHN1cHBvcnQgZ290IGFkZGVkIHRvIE9wZW5TU0wgaW4gMC45LjggKi8KLSNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHgwMDkwODAwZkwgJiYgIWRlZmluZWQoT1BFTlNTTF9OT19FQ0RIKQotIyBkZWZpbmUgT1BFTlNTTF9OT19FQ0RICi0jZW5kaWYKLQotLyogY29tcHJlc3Npb24gc3VwcG9ydCBnb3QgYWRkZWQgdG8gT3BlblNTTCBpbiAwLjkuOCAqLwotI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDAwOTA4MDBmTCAmJiAhZGVmaW5lZChPUEVOU1NMX05PX0NPTVApCi0jIGRlZmluZSBPUEVOU1NMX05PX0NPTVAKLSNlbmRpZgotCi0vKiBYNTA5X1ZFUklGWV9QQVJBTSBnb3QgYWRkZWQgdG8gT3BlblNTTCBpbiAwLjkuOCAqLwotI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPj0gMHgwMDkwODAwZkwKLSMgZGVmaW5lIEhBVkVfT1BFTlNTTF9WRVJJRllfUEFSQU0KLSNlbmRpZgotCiAKIHR5cGVkZWYgc3RydWN0IHsKICAgICBQeU9iamVjdF9IRUFECiAgICAgU1NMX0NUWCAqY3R4OwogI2lmZGVmIE9QRU5TU0xfTlBOX05FR09USUFURUQKLSAgICBjaGFyICpucG5fcHJvdG9jb2xzOworICAgIHVuc2lnbmVkIGNoYXIgKm5wbl9wcm90b2NvbHM7CiAgICAgaW50IG5wbl9wcm90b2NvbHNfbGVuOwogI2VuZGlmCisjaWZkZWYgSEFWRV9BTFBOCisgICAgdW5zaWduZWQgY2hhciAqYWxwbl9wcm90b2NvbHM7CisgICAgaW50IGFscG5fcHJvdG9jb2xzX2xlbjsKKyNlbmRpZgogI2lmbmRlZiBPUEVOU1NMX05PX1RMU0VYVAogICAgIFB5T2JqZWN0ICpzZXRfaG9zdG5hbWU7CiAjZW5kaWYKQEAgLTIyNiwxMCArMjA3LDE5IEBACiAgICAgY2hhciBzaHV0ZG93bl9zZWVuX3plcm87CiAgICAgY2hhciBoYW5kc2hha2VfZG9uZTsKICAgICBlbnVtIHB5X3NzbF9zZXJ2ZXJfb3JfY2xpZW50IHNvY2tldF90eXBlOworICAgIFB5T2JqZWN0ICpvd25lcjsgLyogUHl0aG9uIGxldmVsICJvd25lciIgcGFzc2VkIHRvIHNlcnZlcm5hbWUgY2FsbGJhY2sgKi8KKyAgICBQeU9iamVjdCAqc2VydmVyX2hvc3RuYW1lOwogfSBQeVNTTFNvY2tldDsKIAordHlwZWRlZiBzdHJ1Y3QgeworICAgIFB5T2JqZWN0X0hFQUQKKyAgICBCSU8gKmJpbzsKKyAgICBpbnQgZW9mX3dyaXR0ZW47Cit9IFB5U1NMTWVtb3J5QklPOworCiBzdGF0aWMgUHlUeXBlT2JqZWN0IFB5U1NMQ29udGV4dF9UeXBlOwogc3RhdGljIFB5VHlwZU9iamVjdCBQeVNTTFNvY2tldF9UeXBlOworc3RhdGljIFB5VHlwZU9iamVjdCBQeVNTTE1lbW9yeUJJT19UeXBlOwogCiBzdGF0aWMgUHlPYmplY3QgKlB5U1NMX1NTTHdyaXRlKFB5U1NMU29ja2V0ICpzZWxmLCBQeU9iamVjdCAqYXJncyk7CiBzdGF0aWMgUHlPYmplY3QgKlB5U1NMX1NTTHJlYWQoUHlTU0xTb2NrZXQgKnNlbGYsIFB5T2JqZWN0ICphcmdzKTsKQEAgLTI0MCw2ICsyMzAsNyBAQAogCiAjZGVmaW5lIFB5U1NMQ29udGV4dF9DaGVjayh2KSAgIChQeV9UWVBFKHYpID09ICZQeVNTTENvbnRleHRfVHlwZSkKICNkZWZpbmUgUHlTU0xTb2NrZXRfQ2hlY2sodikgICAgKFB5X1RZUEUodikgPT0gJlB5U1NMU29ja2V0X1R5cGUpCisjZGVmaW5lIFB5U1NMTWVtb3J5QklPX0NoZWNrKHYpICAgIChQeV9UWVBFKHYpID09ICZQeVNTTE1lbW9yeUJJT19UeXBlKQogCiB0eXBlZGVmIGVudW0gewogICAgIFNPQ0tFVF9JU19OT05CTE9DS0lORywKQEAgLTI1MSwxMSArMjQyLDEyIEBACiB9IHRpbWVvdXRfc3RhdGU7CiAKIC8qIFdyYXAgZXJyb3Igc3RyaW5ncyB3aXRoIGZpbGVuYW1lIGFuZCBsaW5lICMgKi8KLSNkZWZpbmUgU1RSSU5HSUZZMSh4KSAjeAotI2RlZmluZSBTVFJJTkdJRlkyKHgpIFNUUklOR0lGWTEoeCkKICNkZWZpbmUgRVJSU1RSMSh4LHkseikgKHggIjoiIHkgIjogIiB6KQotI2RlZmluZSBFUlJTVFIoeCkgRVJSU1RSMSgiX3NzbC5jIiwgU1RSSU5HSUZZMihfX0xJTkVfXyksIHgpCisjZGVmaW5lIEVSUlNUUih4KSBFUlJTVFIxKCJfc3NsLmMiLCBQeV9TVFJJTkdJRlkoX19MSU5FX18pLCB4KQogCisvKiBHZXQgdGhlIHNvY2tldCBmcm9tIGEgUHlTU0xTb2NrZXQsIGlmIGl0IGhhcyBvbmUgKi8KKyNkZWZpbmUgR0VUX1NPQ0tFVChvYmopICgob2JqKS0+U29ja2V0ID8gXAorICAgIChQeVNvY2tldFNvY2tPYmplY3QgKikgUHlXZWFrcmVmX0dldE9iamVjdCgob2JqKS0+U29ja2V0KSA6IE5VTEwpCiAKIC8qCiAgKiBTU0wgZXJyb3JzLgpAQCAtNDE5LDEzICs0MTEsMTIgQEAKICAgICAgICAgY2FzZSBTU0xfRVJST1JfU1lTQ0FMTDoKICAgICAgICAgewogICAgICAgICAgICAgaWYgKGUgPT0gMCkgewotICAgICAgICAgICAgICAgIFB5U29ja2V0U29ja09iamVjdCAqcwotICAgICAgICAgICAgICAgICAgPSAoUHlTb2NrZXRTb2NrT2JqZWN0ICopIFB5V2Vha3JlZl9HZXRPYmplY3Qob2JqLT5Tb2NrZXQpOworICAgICAgICAgICAgICAgIFB5U29ja2V0U29ja09iamVjdCAqcyA9IEdFVF9TT0NLRVQob2JqKTsKICAgICAgICAgICAgICAgICBpZiAocmV0ID09IDAgfHwgKCgoUHlPYmplY3QgKilzKSA9PSBQeV9Ob25lKSkgewogICAgICAgICAgICAgICAgICAgICBwID0gUFlfU1NMX0VSUk9SX0VPRjsKICAgICAgICAgICAgICAgICAgICAgdHlwZSA9IFB5U1NMRU9GRXJyb3JPYmplY3Q7CiAgICAgICAgICAgICAgICAgICAgIGVycnN0ciA9ICJFT0Ygb2NjdXJyZWQgaW4gdmlvbGF0aW9uIG9mIHByb3RvY29sIjsKLSAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHJldCA9PSAtMSkgeworICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAocyAmJiByZXQgPT0gLTEpIHsKICAgICAgICAgICAgICAgICAgICAgLyogdW5kZXJseWluZyBCSU8gcmVwb3J0ZWQgYW4gSS9PIGVycm9yICovCiAgICAgICAgICAgICAgICAgICAgIFB5X0lOQ1JFRihzKTsKICAgICAgICAgICAgICAgICAgICAgRVJSX2NsZWFyX2Vycm9yKCk7CkBAIC00NzksMTAgKzQ3MCwxMiBAQAogc3RhdGljIFB5U1NMU29ja2V0ICoKIG5ld1B5U1NMU29ja2V0KFB5U1NMQ29udGV4dCAqc3NsY3R4LCBQeVNvY2tldFNvY2tPYmplY3QgKnNvY2ssCiAgICAgICAgICAgICAgICBlbnVtIHB5X3NzbF9zZXJ2ZXJfb3JfY2xpZW50IHNvY2tldF90eXBlLAotICAgICAgICAgICAgICAgY2hhciAqc2VydmVyX2hvc3RuYW1lKQorICAgICAgICAgICAgICAgY2hhciAqc2VydmVyX2hvc3RuYW1lLAorICAgICAgICAgICAgICAgUHlTU0xNZW1vcnlCSU8gKmluYmlvLCBQeVNTTE1lbW9yeUJJTyAqb3V0YmlvKQogewogICAgIFB5U1NMU29ja2V0ICpzZWxmOwogICAgIFNTTF9DVFggKmN0eCA9IHNzbGN0eC0+Y3R4OworICAgIFB5T2JqZWN0ICpob3N0bmFtZTsKICAgICBsb25nIG1vZGU7CiAKICAgICBzZWxmID0gUHlPYmplY3RfTmV3KFB5U1NMU29ja2V0LCAmUHlTU0xTb2NrZXRfVHlwZSk7CkBAIC00OTUsNiArNDg4LDE4IEBACiAgICAgc2VsZi0+Y3R4ID0gc3NsY3R4OwogICAgIHNlbGYtPnNodXRkb3duX3NlZW5femVybyA9IDA7CiAgICAgc2VsZi0+aGFuZHNoYWtlX2RvbmUgPSAwOworICAgIHNlbGYtPm93bmVyID0gTlVMTDsKKyAgICBpZiAoc2VydmVyX2hvc3RuYW1lICE9IE5VTEwpIHsKKyAgICAgICAgaG9zdG5hbWUgPSBQeVVuaWNvZGVfRGVjb2RlKHNlcnZlcl9ob3N0bmFtZSwgc3RybGVuKHNlcnZlcl9ob3N0bmFtZSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpZG5hIiwgInN0cmljdCIpOworICAgICAgICBpZiAoaG9zdG5hbWUgPT0gTlVMTCkgeworICAgICAgICAgICAgUHlfREVDUkVGKHNlbGYpOworICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgIH0KKyAgICAgICAgc2VsZi0+c2VydmVyX2hvc3RuYW1lID0gaG9zdG5hbWU7CisgICAgfSBlbHNlCisgICAgICAgIHNlbGYtPnNlcnZlcl9ob3N0bmFtZSA9IE5VTEw7CisKICAgICBQeV9JTkNSRUYoc3NsY3R4KTsKIAogICAgIC8qIE1ha2Ugc3VyZSB0aGUgU1NMIGVycm9yIHN0YXRlIGlzIGluaXRpYWxpemVkICovCkBAIC01MDQsOCArNTA5LDE3IEBACiAgICAgUHlTU0xfQkVHSU5fQUxMT1dfVEhSRUFEUwogICAgIHNlbGYtPnNzbCA9IFNTTF9uZXcoY3R4KTsKICAgICBQeVNTTF9FTkRfQUxMT1dfVEhSRUFEUwotICAgIFNTTF9zZXRfYXBwX2RhdGEoc2VsZi0+c3NsLHNlbGYpOwotICAgIFNTTF9zZXRfZmQoc2VsZi0+c3NsLCBQeV9TQUZFX0RPV05DQVNUKHNvY2stPnNvY2tfZmQsIFNPQ0tFVF9ULCBpbnQpKTsKKyAgICBTU0xfc2V0X2FwcF9kYXRhKHNlbGYtPnNzbCwgc2VsZik7CisgICAgaWYgKHNvY2spIHsKKyAgICAgICAgU1NMX3NldF9mZChzZWxmLT5zc2wsIFB5X1NBRkVfRE9XTkNBU1Qoc29jay0+c29ja19mZCwgU09DS0VUX1QsIGludCkpOworICAgIH0gZWxzZSB7CisgICAgICAgIC8qIEJJT3MgYXJlIHJlZmVyZW5jZSBjb3VudGVkIGFuZCBTU0xfc2V0X2JpbyBib3Jyb3dzIG91ciByZWZlcmVuY2UuCisgICAgICAgICAqIFRvIHByZXZlbnQgYSBkb3VibGUgZnJlZSBpbiBtZW1vcnlfYmlvX2RlYWxsb2MoKSB3ZSBuZWVkIHRvIHRha2UgYW4KKyAgICAgICAgICogZXh0cmEgcmVmZXJlbmNlIGhlcmUuICovCisgICAgICAgIENSWVBUT19hZGQoJmluYmlvLT5iaW8tPnJlZmVyZW5jZXMsIDEsIENSWVBUT19MT0NLX0JJTyk7CisgICAgICAgIENSWVBUT19hZGQoJm91dGJpby0+YmlvLT5yZWZlcmVuY2VzLCAxLCBDUllQVE9fTE9DS19CSU8pOworICAgICAgICBTU0xfc2V0X2JpbyhzZWxmLT5zc2wsIGluYmlvLT5iaW8sIG91dGJpby0+YmlvKTsKKyAgICB9CiAgICAgbW9kZSA9IFNTTF9NT0RFX0FDQ0VQVF9NT1ZJTkdfV1JJVEVfQlVGRkVSOwogI2lmZGVmIFNTTF9NT0RFX0FVVE9fUkVUUlkKICAgICBtb2RlIHw9IFNTTF9NT0RFX0FVVE9fUkVUUlk7CkBAIC01MjAsNyArNTM0LDcgQEAKICAgICAvKiBJZiB0aGUgc29ja2V0IGlzIGluIG5vbi1ibG9ja2luZyBtb2RlIG9yIHRpbWVvdXQgbW9kZSwgc2V0IHRoZSBCSU8KICAgICAgKiB0byBub24tYmxvY2tpbmcgbW9kZSAoYmxvY2tpbmcgaXMgdGhlIGRlZmF1bHQpCiAgICAgICovCi0gICAgaWYgKHNvY2stPnNvY2tfdGltZW91dCA+PSAwLjApIHsKKyAgICBpZiAoc29jayAmJiBzb2NrLT5zb2NrX3RpbWVvdXQgPj0gMC4wKSB7CiAgICAgICAgIEJJT19zZXRfbmJpbyhTU0xfZ2V0X3JiaW8oc2VsZi0+c3NsKSwgMSk7CiAgICAgICAgIEJJT19zZXRfbmJpbyhTU0xfZ2V0X3diaW8oc2VsZi0+c3NsKSwgMSk7CiAgICAgfQpAQCAtNTMzLDEwICs1NDcsMTMgQEAKICAgICBQeVNTTF9FTkRfQUxMT1dfVEhSRUFEUwogCiAgICAgc2VsZi0+c29ja2V0X3R5cGUgPSBzb2NrZXRfdHlwZTsKLSAgICBzZWxmLT5Tb2NrZXQgPSBQeVdlYWtyZWZfTmV3UmVmKChQeU9iamVjdCAqKSBzb2NrLCBOVUxMKTsKLSAgICBpZiAoc2VsZi0+U29ja2V0ID09IE5VTEwpIHsKLSAgICAgICAgUHlfREVDUkVGKHNlbGYpOwotICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBpZiAoc29jayAhPSBOVUxMKSB7CisgICAgICAgIHNlbGYtPlNvY2tldCA9IFB5V2Vha3JlZl9OZXdSZWYoKFB5T2JqZWN0ICopIHNvY2ssIE5VTEwpOworICAgICAgICBpZiAoc2VsZi0+U29ja2V0ID09IE5VTEwpIHsKKyAgICAgICAgICAgIFB5X0RFQ1JFRihzZWxmKTsKKyAgICAgICAgICAgIFB5X1hERUNSRUYoc2VsZi0+c2VydmVyX2hvc3RuYW1lKTsKKyAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICB9CiAgICAgfQogICAgIHJldHVybiBzZWxmOwogfQpAQCAtNTQ4LDIwICs1NjUsMjEgQEAKICAgICBpbnQgcmV0OwogICAgIGludCBlcnI7CiAgICAgaW50IHNvY2tzdGF0ZSwgbm9uYmxvY2tpbmc7Ci0gICAgUHlTb2NrZXRTb2NrT2JqZWN0ICpzb2NrCi0gICAgICA9IChQeVNvY2tldFNvY2tPYmplY3QgKikgUHlXZWFrcmVmX0dldE9iamVjdChzZWxmLT5Tb2NrZXQpOworICAgIFB5U29ja2V0U29ja09iamVjdCAqc29jayA9IEdFVF9TT0NLRVQoc2VsZik7CiAKLSAgICBpZiAoKChQeU9iamVjdCopc29jaykgPT0gUHlfTm9uZSkgewotICAgICAgICBfc2V0U1NMRXJyb3IoIlVuZGVybHlpbmcgc29ja2V0IGNvbm5lY3Rpb24gZ29uZSIsCi0gICAgICAgICAgICAgICAgICAgICBQWV9TU0xfRVJST1JfTk9fU09DS0VULCBfX0ZJTEVfXywgX19MSU5FX18pOwotICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBpZiAoc29jaykgeworICAgICAgICBpZiAoKChQeU9iamVjdCopc29jaykgPT0gUHlfTm9uZSkgeworICAgICAgICAgICAgX3NldFNTTEVycm9yKCJVbmRlcmx5aW5nIHNvY2tldCBjb25uZWN0aW9uIGdvbmUiLAorICAgICAgICAgICAgICAgICAgICAgICAgIFBZX1NTTF9FUlJPUl9OT19TT0NLRVQsIF9fRklMRV9fLCBfX0xJTkVfXyk7CisgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgfQorICAgICAgICBQeV9JTkNSRUYoc29jayk7CisKKyAgICAgICAgLyoganVzdCBpbiBjYXNlIHRoZSBibG9ja2luZyBzdGF0ZSBvZiB0aGUgc29ja2V0IGhhcyBiZWVuIGNoYW5nZWQgKi8KKyAgICAgICAgbm9uYmxvY2tpbmcgPSAoc29jay0+c29ja190aW1lb3V0ID49IDAuMCk7CisgICAgICAgIEJJT19zZXRfbmJpbyhTU0xfZ2V0X3JiaW8oc2VsZi0+c3NsKSwgbm9uYmxvY2tpbmcpOworICAgICAgICBCSU9fc2V0X25iaW8oU1NMX2dldF93YmlvKHNlbGYtPnNzbCksIG5vbmJsb2NraW5nKTsKICAgICB9Ci0gICAgUHlfSU5DUkVGKHNvY2spOwotCi0gICAgLyoganVzdCBpbiBjYXNlIHRoZSBibG9ja2luZyBzdGF0ZSBvZiB0aGUgc29ja2V0IGhhcyBiZWVuIGNoYW5nZWQgKi8KLSAgICBub25ibG9ja2luZyA9IChzb2NrLT5zb2NrX3RpbWVvdXQgPj0gMC4wKTsKLSAgICBCSU9fc2V0X25iaW8oU1NMX2dldF9yYmlvKHNlbGYtPnNzbCksIG5vbmJsb2NraW5nKTsKLSAgICBCSU9fc2V0X25iaW8oU1NMX2dldF93YmlvKHNlbGYtPnNzbCksIG5vbmJsb2NraW5nKTsKIAogICAgIC8qIEFjdHVhbGx5IG5lZ290aWF0ZSBTU0wgY29ubmVjdGlvbiAqLwogICAgIC8qIFhYWCBJZiBTU0xfZG9faGFuZHNoYWtlKCkgcmV0dXJucyAwLCBpdCdzIGFsc28gYSBmYWlsdXJlLiAqLwpAQCAtNTk1LDcgKzYxMyw3IEBACiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogICAgIH0gd2hpbGUgKGVyciA9PSBTU0xfRVJST1JfV0FOVF9SRUFEIHx8IGVyciA9PSBTU0xfRVJST1JfV0FOVF9XUklURSk7Ci0gICAgUHlfREVDUkVGKHNvY2spOworICAgIFB5X1hERUNSRUYoc29jayk7CiAgICAgaWYgKHJldCA8IDEpCiAgICAgICAgIHJldHVybiBQeVNTTF9TZXRFcnJvcihzZWxmLCByZXQsIF9fRklMRV9fLCBfX0xJTkVfXyk7CiAKQEAgLTYxMCw3ICs2MjgsNyBAQAogICAgIHJldHVybiBQeV9Ob25lOwogCiBlcnJvcjoKLSAgICBQeV9ERUNSRUYoc29jayk7CisgICAgUHlfWERFQ1JFRihzb2NrKTsKICAgICByZXR1cm4gTlVMTDsKIH0KIApAQCAtNzc5LDEyICs3OTcsNyBAQAogICAgIGNoYXIgYnVmWzIwNDhdOwogICAgIGNoYXIgKnZwdHI7CiAgICAgaW50IGxlbjsKLSAgICAvKiBJc3N1ZSAjMjk3MzogQVNOMV9pdGVtX2QyaSgpIEFQSSBjaGFuZ2VkIGluIE9wZW5TU0wgMC45LjZtICovCi0jaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA+PSAweDAwOTA2MGRmTAogICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnA7Ci0jZWxzZQotICAgIHVuc2lnbmVkIGNoYXIgKnA7Ci0jZW5kaWYKIAogICAgIGlmIChjZXJ0aWZpY2F0ZSA9PSBOVUxMKQogICAgICAgICByZXR1cm4gcGVlcl9hbHRfbmFtZXM7CkBAIC0xMzU2LDU0ICsxMzY5LDk2IEBACiBwZWVyIGNlcnRpZmljYXRlLCBvciBOb25lIGlmIG5vIGNlcnRpZmljYXRlIHdhcyBwcm92aWRlZC4gIFRoaXMgd2lsbFxuXAogcmV0dXJuIHRoZSBjZXJ0aWZpY2F0ZSBldmVuIGlmIGl0IHdhc24ndCB2YWxpZGF0ZWQuIik7CiAKLXN0YXRpYyBQeU9iamVjdCAqUHlTU0xfY2lwaGVyIChQeVNTTFNvY2tldCAqc2VsZikgewotCi0gICAgUHlPYmplY3QgKnJldHZhbCwgKnY7Ci0gICAgY29uc3QgU1NMX0NJUEhFUiAqY3VycmVudDsKLSAgICBjaGFyICpjaXBoZXJfbmFtZTsKLSAgICBjaGFyICpjaXBoZXJfcHJvdG9jb2w7Ci0KLSAgICBpZiAoc2VsZi0+c3NsID09IE5VTEwpCi0gICAgICAgIFB5X1JFVFVSTl9OT05FOwotICAgIGN1cnJlbnQgPSBTU0xfZ2V0X2N1cnJlbnRfY2lwaGVyKHNlbGYtPnNzbCk7Ci0gICAgaWYgKGN1cnJlbnQgPT0gTlVMTCkKLSAgICAgICAgUHlfUkVUVVJOX05PTkU7Ci0KLSAgICByZXR2YWwgPSBQeVR1cGxlX05ldygzKTsKK3N0YXRpYyBQeU9iamVjdCAqCitjaXBoZXJfdG9fdHVwbGUoY29uc3QgU1NMX0NJUEhFUiAqY2lwaGVyKQoreworICAgIGNvbnN0IGNoYXIgKmNpcGhlcl9uYW1lLCAqY2lwaGVyX3Byb3RvY29sOworICAgIFB5T2JqZWN0ICp2LCAqcmV0dmFsID0gUHlUdXBsZV9OZXcoMyk7CiAgICAgaWYgKHJldHZhbCA9PSBOVUxMKQogICAgICAgICByZXR1cm4gTlVMTDsKIAotICAgIGNpcGhlcl9uYW1lID0gKGNoYXIgKikgU1NMX0NJUEhFUl9nZXRfbmFtZShjdXJyZW50KTsKKyAgICBjaXBoZXJfbmFtZSA9IFNTTF9DSVBIRVJfZ2V0X25hbWUoY2lwaGVyKTsKICAgICBpZiAoY2lwaGVyX25hbWUgPT0gTlVMTCkgewogICAgICAgICBQeV9JTkNSRUYoUHlfTm9uZSk7CiAgICAgICAgIFB5VHVwbGVfU0VUX0lURU0ocmV0dmFsLCAwLCBQeV9Ob25lKTsKICAgICB9IGVsc2UgewogICAgICAgICB2ID0gUHlVbmljb2RlX0Zyb21TdHJpbmcoY2lwaGVyX25hbWUpOwogICAgICAgICBpZiAodiA9PSBOVUxMKQotICAgICAgICAgICAgZ290byBmYWlsMDsKKyAgICAgICAgICAgIGdvdG8gZmFpbDsKICAgICAgICAgUHlUdXBsZV9TRVRfSVRFTShyZXR2YWwsIDAsIHYpOwogICAgIH0KLSAgICBjaXBoZXJfcHJvdG9jb2wgPSAoY2hhciAqKSBTU0xfQ0lQSEVSX2dldF92ZXJzaW9uKGN1cnJlbnQpOworCisgICAgY2lwaGVyX3Byb3RvY29sID0gU1NMX0NJUEhFUl9nZXRfdmVyc2lvbihjaXBoZXIpOwogICAgIGlmIChjaXBoZXJfcHJvdG9jb2wgPT0gTlVMTCkgewogICAgICAgICBQeV9JTkNSRUYoUHlfTm9uZSk7CiAgICAgICAgIFB5VHVwbGVfU0VUX0lURU0ocmV0dmFsLCAxLCBQeV9Ob25lKTsKICAgICB9IGVsc2UgewogICAgICAgICB2ID0gUHlVbmljb2RlX0Zyb21TdHJpbmcoY2lwaGVyX3Byb3RvY29sKTsKICAgICAgICAgaWYgKHYgPT0gTlVMTCkKLSAgICAgICAgICAgIGdvdG8gZmFpbDA7CisgICAgICAgICAgICBnb3RvIGZhaWw7CiAgICAgICAgIFB5VHVwbGVfU0VUX0lURU0ocmV0dmFsLCAxLCB2KTsKICAgICB9Ci0gICAgdiA9IFB5TG9uZ19Gcm9tTG9uZyhTU0xfQ0lQSEVSX2dldF9iaXRzKGN1cnJlbnQsIE5VTEwpKTsKKworICAgIHYgPSBQeUxvbmdfRnJvbUxvbmcoU1NMX0NJUEhFUl9nZXRfYml0cyhjaXBoZXIsIE5VTEwpKTsKICAgICBpZiAodiA9PSBOVUxMKQotICAgICAgICBnb3RvIGZhaWwwOworICAgICAgICBnb3RvIGZhaWw7CiAgICAgUHlUdXBsZV9TRVRfSVRFTShyZXR2YWwsIDIsIHYpOworCiAgICAgcmV0dXJuIHJldHZhbDsKIAotICBmYWlsMDoKKyAgZmFpbDoKICAgICBQeV9ERUNSRUYocmV0dmFsKTsKICAgICByZXR1cm4gTlVMTDsKIH0KIAorc3RhdGljIFB5T2JqZWN0ICpQeVNTTF9zaGFyZWRfY2lwaGVycyhQeVNTTFNvY2tldCAqc2VsZikKK3sKKyAgICBTU0xfU0VTU0lPTiAqc2VzcyA9IFNTTF9nZXRfc2Vzc2lvbihzZWxmLT5zc2wpOworICAgIFNUQUNLX09GKFNTTF9DSVBIRVIpICpjaXBoZXJzOworICAgIGludCBpOworICAgIFB5T2JqZWN0ICpyZXM7CisKKyAgICBpZiAoIXNlc3MgfHwgIXNlc3MtPmNpcGhlcnMpCisgICAgICAgIFB5X1JFVFVSTl9OT05FOworICAgIGNpcGhlcnMgPSBzZXNzLT5jaXBoZXJzOworICAgIHJlcyA9IFB5TGlzdF9OZXcoc2tfU1NMX0NJUEhFUl9udW0oY2lwaGVycykpOworICAgIGlmICghcmVzKQorICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBmb3IgKGkgPSAwOyBpIDwgc2tfU1NMX0NJUEhFUl9udW0oY2lwaGVycyk7IGkrKykgeworICAgICAgICBQeU9iamVjdCAqdHVwID0gY2lwaGVyX3RvX3R1cGxlKHNrX1NTTF9DSVBIRVJfdmFsdWUoY2lwaGVycywgaSkpOworICAgICAgICBpZiAoIXR1cCkgeworICAgICAgICAgICAgUHlfREVDUkVGKHJlcyk7CisgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgfQorICAgICAgICBQeUxpc3RfU0VUX0lURU0ocmVzLCBpLCB0dXApOworICAgIH0KKyAgICByZXR1cm4gcmVzOworfQorCitzdGF0aWMgUHlPYmplY3QgKlB5U1NMX2NpcGhlciAoUHlTU0xTb2NrZXQgKnNlbGYpCit7CisgICAgY29uc3QgU1NMX0NJUEhFUiAqY3VycmVudDsKKworICAgIGlmIChzZWxmLT5zc2wgPT0gTlVMTCkKKyAgICAgICAgUHlfUkVUVVJOX05PTkU7CisgICAgY3VycmVudCA9IFNTTF9nZXRfY3VycmVudF9jaXBoZXIoc2VsZi0+c3NsKTsKKyAgICBpZiAoY3VycmVudCA9PSBOVUxMKQorICAgICAgICBQeV9SRVRVUk5fTk9ORTsKKyAgICByZXR1cm4gY2lwaGVyX3RvX3R1cGxlKGN1cnJlbnQpOworfQorCitzdGF0aWMgUHlPYmplY3QgKlB5U1NMX3ZlcnNpb24oUHlTU0xTb2NrZXQgKnNlbGYpCit7CisgICAgY29uc3QgY2hhciAqdmVyc2lvbjsKKworICAgIGlmIChzZWxmLT5zc2wgPT0gTlVMTCkKKyAgICAgICAgUHlfUkVUVVJOX05PTkU7CisgICAgdmVyc2lvbiA9IFNTTF9nZXRfdmVyc2lvbihzZWxmLT5zc2wpOworICAgIGlmICghc3RyY21wKHZlcnNpb24sICJ1bmtub3duIikpCisgICAgICAgIFB5X1JFVFVSTl9OT05FOworICAgIHJldHVybiBQeVVuaWNvZGVfRnJvbVN0cmluZyh2ZXJzaW9uKTsKK30KKwogI2lmZGVmIE9QRU5TU0xfTlBOX05FR09USUFURUQKIHN0YXRpYyBQeU9iamVjdCAqUHlTU0xfc2VsZWN0ZWRfbnBuX3Byb3RvY29sKFB5U1NMU29ja2V0ICpzZWxmKSB7CiAgICAgY29uc3QgdW5zaWduZWQgY2hhciAqb3V0OwpAQCAtMTQxNCw3ICsxNDY5LDIwIEBACiAKICAgICBpZiAob3V0ID09IE5VTEwpCiAgICAgICAgIFB5X1JFVFVSTl9OT05FOwotICAgIHJldHVybiBQeVVuaWNvZGVfRnJvbVN0cmluZ0FuZFNpemUoKGNoYXIgKikgb3V0LCBvdXRsZW4pOworICAgIHJldHVybiBQeVVuaWNvZGVfRnJvbVN0cmluZ0FuZFNpemUoKGNoYXIgKilvdXQsIG91dGxlbik7Cit9CisjZW5kaWYKKworI2lmZGVmIEhBVkVfQUxQTgorc3RhdGljIFB5T2JqZWN0ICpQeVNTTF9zZWxlY3RlZF9hbHBuX3Byb3RvY29sKFB5U1NMU29ja2V0ICpzZWxmKSB7CisgICAgY29uc3QgdW5zaWduZWQgY2hhciAqb3V0OworICAgIHVuc2lnbmVkIGludCBvdXRsZW47CisKKyAgICBTU0xfZ2V0MF9hbHBuX3NlbGVjdGVkKHNlbGYtPnNzbCwgJm91dCwgJm91dGxlbik7CisKKyAgICBpZiAob3V0ID09IE5VTEwpCisgICAgICAgIFB5X1JFVFVSTl9OT05FOworICAgIHJldHVybiBQeVVuaWNvZGVfRnJvbVN0cmluZ0FuZFNpemUoKGNoYXIgKilvdXQsIG91dGxlbik7CiB9CiAjZW5kaWYKIApAQCAtMTQ3Myw2ICsxNTQxLDU0IEBACiBTU0xTb2NrZXQgYmVmb3JlIHRoZSBjcnlwdG9ncmFwaGljIGV4Y2hhbmdlIGhhbmRzaGFrZSBtZXNzYWdlc1xuIik7CiAKIAorc3RhdGljIFB5T2JqZWN0ICoKK1B5U1NMX2dldF9zZXJ2ZXJfc2lkZShQeVNTTFNvY2tldCAqc2VsZiwgdm9pZCAqYykKK3sKKyAgICByZXR1cm4gUHlCb29sX0Zyb21Mb25nKHNlbGYtPnNvY2tldF90eXBlID09IFBZX1NTTF9TRVJWRVIpOworfQorCitQeURvY19TVFJWQVIoUHlTU0xfZ2V0X3NlcnZlcl9zaWRlX2RvYywKKyJXaGV0aGVyIHRoaXMgaXMgYSBzZXJ2ZXItc2lkZSBzb2NrZXQuIik7CisKK3N0YXRpYyBQeU9iamVjdCAqCitQeVNTTF9nZXRfc2VydmVyX2hvc3RuYW1lKFB5U1NMU29ja2V0ICpzZWxmLCB2b2lkICpjKQoreworICAgIGlmIChzZWxmLT5zZXJ2ZXJfaG9zdG5hbWUgPT0gTlVMTCkKKyAgICAgICAgUHlfUkVUVVJOX05PTkU7CisgICAgUHlfSU5DUkVGKHNlbGYtPnNlcnZlcl9ob3N0bmFtZSk7CisgICAgcmV0dXJuIHNlbGYtPnNlcnZlcl9ob3N0bmFtZTsKK30KKworUHlEb2NfU1RSVkFSKFB5U1NMX2dldF9zZXJ2ZXJfaG9zdG5hbWVfZG9jLAorIlRoZSBjdXJyZW50bHkgc2V0IHNlcnZlciBob3N0bmFtZSAoZm9yIFNOSSkuIik7CisKK3N0YXRpYyBQeU9iamVjdCAqCitQeVNTTF9nZXRfb3duZXIoUHlTU0xTb2NrZXQgKnNlbGYsIHZvaWQgKmMpCit7CisgICAgUHlPYmplY3QgKm93bmVyOworCisgICAgaWYgKHNlbGYtPm93bmVyID09IE5VTEwpCisgICAgICAgIFB5X1JFVFVSTl9OT05FOworCisgICAgb3duZXIgPSBQeVdlYWtyZWZfR2V0T2JqZWN0KHNlbGYtPm93bmVyKTsKKyAgICBQeV9JTkNSRUYob3duZXIpOworICAgIHJldHVybiBvd25lcjsKK30KKworc3RhdGljIGludAorUHlTU0xfc2V0X293bmVyKFB5U1NMU29ja2V0ICpzZWxmLCBQeU9iamVjdCAqdmFsdWUsIHZvaWQgKmMpCit7CisgICAgUHlfWERFQ1JFRihzZWxmLT5vd25lcik7CisgICAgc2VsZi0+b3duZXIgPSBQeVdlYWtyZWZfTmV3UmVmKHZhbHVlLCBOVUxMKTsKKyAgICBpZiAoc2VsZi0+b3duZXIgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIC0xOworICAgIHJldHVybiAwOworfQorCitQeURvY19TVFJWQVIoUHlTU0xfZ2V0X293bmVyX2RvYywKKyJUaGUgUHl0aG9uLWxldmVsIG93bmVyIG9mIHRoaXMgb2JqZWN0LlwKK1Bhc3NlZCBhcyBcInNlbGZcIiBpbiBzZXJ2ZXJuYW1lIGNhbGxiYWNrLiIpOworCiAKIHN0YXRpYyB2b2lkIFB5U1NMX2RlYWxsb2MoUHlTU0xTb2NrZXQgKnNlbGYpCiB7CkBAIC0xNDgyLDYgKzE1OTgsOCBAQAogICAgICAgICBTU0xfZnJlZShzZWxmLT5zc2wpOwogICAgIFB5X1hERUNSRUYoc2VsZi0+U29ja2V0KTsKICAgICBQeV9YREVDUkVGKHNlbGYtPmN0eCk7CisgICAgUHlfWERFQ1JFRihzZWxmLT5zZXJ2ZXJfaG9zdG5hbWUpOworICAgIFB5X1hERUNSRUYoc2VsZi0+b3duZXIpOwogICAgIFB5T2JqZWN0X0RlbChzZWxmKTsKIH0KIApAQCAtMTQ5OCwxMCArMTYxNiwxMCBAQAogICAgIGludCByYzsKIAogICAgIC8qIE5vdGhpbmcgdG8gZG8gdW5sZXNzIHdlJ3JlIGluIHRpbWVvdXQgbW9kZSAobm90IG5vbi1ibG9ja2luZykgKi8KLSAgICBpZiAocy0+c29ja190aW1lb3V0IDwgMC4wKQotICAgICAgICByZXR1cm4gU09DS0VUX0lTX0JMT0NLSU5HOwotICAgIGVsc2UgaWYgKHMtPnNvY2tfdGltZW91dCA9PSAwLjApCisgICAgaWYgKChzID09IE5VTEwpIHx8IChzLT5zb2NrX3RpbWVvdXQgPT0gMC4wKSkKICAgICAgICAgcmV0dXJuIFNPQ0tFVF9JU19OT05CTE9DS0lORzsKKyAgICBlbHNlIGlmIChzLT5zb2NrX3RpbWVvdXQgPCAwLjApCisgICAgICAgIHJldHVybiBTT0NLRVRfSVNfQkxPQ0tJTkc7CiAKICAgICAvKiBHdWFyZCBhZ2FpbnN0IGNsb3NlZCBzb2NrZXQgKi8KICAgICBpZiAocy0+c29ja19mZCA8IDApCkBAIC0xNTYyLDE4ICsxNjgwLDE5IEBACiAgICAgaW50IHNvY2tzdGF0ZTsKICAgICBpbnQgZXJyOwogICAgIGludCBub25ibG9ja2luZzsKLSAgICBQeVNvY2tldFNvY2tPYmplY3QgKnNvY2sKLSAgICAgID0gKFB5U29ja2V0U29ja09iamVjdCAqKSBQeVdlYWtyZWZfR2V0T2JqZWN0KHNlbGYtPlNvY2tldCk7CisgICAgUHlTb2NrZXRTb2NrT2JqZWN0ICpzb2NrID0gR0VUX1NPQ0tFVChzZWxmKTsKIAotICAgIGlmICgoKFB5T2JqZWN0Kilzb2NrKSA9PSBQeV9Ob25lKSB7Ci0gICAgICAgIF9zZXRTU0xFcnJvcigiVW5kZXJseWluZyBzb2NrZXQgY29ubmVjdGlvbiBnb25lIiwKLSAgICAgICAgICAgICAgICAgICAgIFBZX1NTTF9FUlJPUl9OT19TT0NLRVQsIF9fRklMRV9fLCBfX0xJTkVfXyk7Ci0gICAgICAgIHJldHVybiBOVUxMOworICAgIGlmIChzb2NrICE9IE5VTEwpIHsKKyAgICAgICAgaWYgKCgoUHlPYmplY3QqKXNvY2spID09IFB5X05vbmUpIHsKKyAgICAgICAgICAgIF9zZXRTU0xFcnJvcigiVW5kZXJseWluZyBzb2NrZXQgY29ubmVjdGlvbiBnb25lIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICBQWV9TU0xfRVJST1JfTk9fU09DS0VULCBfX0ZJTEVfXywgX19MSU5FX18pOworICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgIH0KKyAgICAgICAgUHlfSU5DUkVGKHNvY2spOwogICAgIH0KLSAgICBQeV9JTkNSRUYoc29jayk7CiAKICAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgInkqOndyaXRlIiwgJmJ1ZikpIHsKLSAgICAgICAgUHlfREVDUkVGKHNvY2spOworICAgICAgICBQeV9YREVDUkVGKHNvY2spOwogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CiAKQEAgLTE1ODMsMTAgKzE3MDIsMTIgQEAKICAgICAgICAgZ290byBlcnJvcjsKICAgICB9CiAKLSAgICAvKiBqdXN0IGluIGNhc2UgdGhlIGJsb2NraW5nIHN0YXRlIG9mIHRoZSBzb2NrZXQgaGFzIGJlZW4gY2hhbmdlZCAqLwotICAgIG5vbmJsb2NraW5nID0gKHNvY2stPnNvY2tfdGltZW91dCA+PSAwLjApOwotICAgIEJJT19zZXRfbmJpbyhTU0xfZ2V0X3JiaW8oc2VsZi0+c3NsKSwgbm9uYmxvY2tpbmcpOwotICAgIEJJT19zZXRfbmJpbyhTU0xfZ2V0X3diaW8oc2VsZi0+c3NsKSwgbm9uYmxvY2tpbmcpOworICAgIGlmIChzb2NrICE9IE5VTEwpIHsKKyAgICAgICAgLyoganVzdCBpbiBjYXNlIHRoZSBibG9ja2luZyBzdGF0ZSBvZiB0aGUgc29ja2V0IGhhcyBiZWVuIGNoYW5nZWQgKi8KKyAgICAgICAgbm9uYmxvY2tpbmcgPSAoc29jay0+c29ja190aW1lb3V0ID49IDAuMCk7CisgICAgICAgIEJJT19zZXRfbmJpbyhTU0xfZ2V0X3JiaW8oc2VsZi0+c3NsKSwgbm9uYmxvY2tpbmcpOworICAgICAgICBCSU9fc2V0X25iaW8oU1NMX2dldF93YmlvKHNlbGYtPnNzbCksIG5vbmJsb2NraW5nKTsKKyAgICB9CiAKICAgICBzb2Nrc3RhdGUgPSBjaGVja19zb2NrZXRfYW5kX3dhaXRfZm9yX3RpbWVvdXQoc29jaywgMSk7CiAgICAgaWYgKHNvY2tzdGF0ZSA9PSBTT0NLRVRfSEFTX1RJTUVEX09VVCkgewpAQCAtMTYzMCw3ICsxNzUxLDcgQEAKICAgICAgICAgfQogICAgIH0gd2hpbGUgKGVyciA9PSBTU0xfRVJST1JfV0FOVF9SRUFEIHx8IGVyciA9PSBTU0xfRVJST1JfV0FOVF9XUklURSk7CiAKLSAgICBQeV9ERUNSRUYoc29jayk7CisgICAgUHlfWERFQ1JFRihzb2NrKTsKICAgICBQeUJ1ZmZlcl9SZWxlYXNlKCZidWYpOwogICAgIGlmIChsZW4gPiAwKQogICAgICAgICByZXR1cm4gUHlMb25nX0Zyb21Mb25nKGxlbik7CkBAIC0xNjM4LDcgKzE3NTksNyBAQAogICAgICAgICByZXR1cm4gUHlTU0xfU2V0RXJyb3Ioc2VsZiwgbGVuLCBfX0ZJTEVfXywgX19MSU5FX18pOwogCiBlcnJvcjoKLSAgICBQeV9ERUNSRUYoc29jayk7CisgICAgUHlfWERFQ1JFRihzb2NrKTsKICAgICBQeUJ1ZmZlcl9SZWxlYXNlKCZidWYpOwogICAgIHJldHVybiBOVUxMOwogfQpAQCAtMTY3OCwxNSArMTc5OSwxNiBAQAogICAgIGludCBzb2Nrc3RhdGU7CiAgICAgaW50IGVycjsKICAgICBpbnQgbm9uYmxvY2tpbmc7Ci0gICAgUHlTb2NrZXRTb2NrT2JqZWN0ICpzb2NrCi0gICAgICA9IChQeVNvY2tldFNvY2tPYmplY3QgKikgUHlXZWFrcmVmX0dldE9iamVjdChzZWxmLT5Tb2NrZXQpOworICAgIFB5U29ja2V0U29ja09iamVjdCAqc29jayA9IEdFVF9TT0NLRVQoc2VsZik7CiAKLSAgICBpZiAoKChQeU9iamVjdCopc29jaykgPT0gUHlfTm9uZSkgewotICAgICAgICBfc2V0U1NMRXJyb3IoIlVuZGVybHlpbmcgc29ja2V0IGNvbm5lY3Rpb24gZ29uZSIsCi0gICAgICAgICAgICAgICAgICAgICBQWV9TU0xfRVJST1JfTk9fU09DS0VULCBfX0ZJTEVfXywgX19MSU5FX18pOwotICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBpZiAoc29jayAhPSBOVUxMKSB7CisgICAgICAgIGlmICgoKFB5T2JqZWN0Kilzb2NrKSA9PSBQeV9Ob25lKSB7CisgICAgICAgICAgICBfc2V0U1NMRXJyb3IoIlVuZGVybHlpbmcgc29ja2V0IGNvbm5lY3Rpb24gZ29uZSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgUFlfU1NMX0VSUk9SX05PX1NPQ0tFVCwgX19GSUxFX18sIF9fTElORV9fKTsKKyAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICB9CisgICAgICAgIFB5X0lOQ1JFRihzb2NrKTsKICAgICB9Ci0gICAgUHlfSU5DUkVGKHNvY2spOwogCiAgICAgYnVmLm9iaiA9IE5VTEw7CiAgICAgYnVmLmJ1ZiA9IE5VTEw7CkBAIC0xNzEyLDEwICsxODM0LDEyIEBACiAgICAgICAgIH0KICAgICB9CiAKLSAgICAvKiBqdXN0IGluIGNhc2UgdGhlIGJsb2NraW5nIHN0YXRlIG9mIHRoZSBzb2NrZXQgaGFzIGJlZW4gY2hhbmdlZCAqLwotICAgIG5vbmJsb2NraW5nID0gKHNvY2stPnNvY2tfdGltZW91dCA+PSAwLjApOwotICAgIEJJT19zZXRfbmJpbyhTU0xfZ2V0X3JiaW8oc2VsZi0+c3NsKSwgbm9uYmxvY2tpbmcpOwotICAgIEJJT19zZXRfbmJpbyhTU0xfZ2V0X3diaW8oc2VsZi0+c3NsKSwgbm9uYmxvY2tpbmcpOworICAgIGlmIChzb2NrICE9IE5VTEwpIHsKKyAgICAgICAgLyoganVzdCBpbiBjYXNlIHRoZSBibG9ja2luZyBzdGF0ZSBvZiB0aGUgc29ja2V0IGhhcyBiZWVuIGNoYW5nZWQgKi8KKyAgICAgICAgbm9uYmxvY2tpbmcgPSAoc29jay0+c29ja190aW1lb3V0ID49IDAuMCk7CisgICAgICAgIEJJT19zZXRfbmJpbyhTU0xfZ2V0X3JiaW8oc2VsZi0+c3NsKSwgbm9uYmxvY2tpbmcpOworICAgICAgICBCSU9fc2V0X25iaW8oU1NMX2dldF93YmlvKHNlbGYtPnNzbCksIG5vbmJsb2NraW5nKTsKKyAgICB9CiAKICAgICAvKiBmaXJzdCBjaGVjayBpZiB0aGVyZSBhcmUgYnl0ZXMgcmVhZHkgdG8gYmUgcmVhZCAqLwogICAgIFB5U1NMX0JFR0lOX0FMTE9XX1RIUkVBRFMKQEAgLTE3NzEsNyArMTg5NSw3IEBACiAgICAgfQogCiBkb25lOgotICAgIFB5X0RFQ1JFRihzb2NrKTsKKyAgICBQeV9YREVDUkVGKHNvY2spOwogICAgIGlmICghYnVmX3Bhc3NlZCkgewogICAgICAgICBfUHlCeXRlc19SZXNpemUoJmRlc3QsIGNvdW50KTsKICAgICAgICAgcmV0dXJuIGRlc3Q7CkBAIC0xNzgyLDcgKzE5MDYsNyBAQAogICAgIH0KIAogZXJyb3I6Ci0gICAgUHlfREVDUkVGKHNvY2spOworICAgIFB5X1hERUNSRUYoc29jayk7CiAgICAgaWYgKCFidWZfcGFzc2VkKQogICAgICAgICBQeV9YREVDUkVGKGRlc3QpOwogICAgIGVsc2UKQEAgLTE3OTksMjEgKzE5MjMsMjIgQEAKIHsKICAgICBpbnQgZXJyLCBzc2xfZXJyLCBzb2Nrc3RhdGUsIG5vbmJsb2NraW5nOwogICAgIGludCB6ZXJvcyA9IDA7Ci0gICAgUHlTb2NrZXRTb2NrT2JqZWN0ICpzb2NrCi0gICAgICA9IChQeVNvY2tldFNvY2tPYmplY3QgKikgUHlXZWFrcmVmX0dldE9iamVjdChzZWxmLT5Tb2NrZXQpOworICAgIFB5U29ja2V0U29ja09iamVjdCAqc29jayA9IEdFVF9TT0NLRVQoc2VsZik7CiAKLSAgICAvKiBHdWFyZCBhZ2FpbnN0IGNsb3NlZCBzb2NrZXQgKi8KLSAgICBpZiAoKCgoUHlPYmplY3QqKXNvY2spID09IFB5X05vbmUpIHx8IChzb2NrLT5zb2NrX2ZkIDwgMCkpIHsKLSAgICAgICAgX3NldFNTTEVycm9yKCJVbmRlcmx5aW5nIHNvY2tldCBjb25uZWN0aW9uIGdvbmUiLAotICAgICAgICAgICAgICAgICAgICAgUFlfU1NMX0VSUk9SX05PX1NPQ0tFVCwgX19GSUxFX18sIF9fTElORV9fKTsKLSAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgaWYgKHNvY2sgIT0gTlVMTCkgeworICAgICAgICAvKiBHdWFyZCBhZ2FpbnN0IGNsb3NlZCBzb2NrZXQgKi8KKyAgICAgICAgaWYgKCgoKFB5T2JqZWN0Kilzb2NrKSA9PSBQeV9Ob25lKSB8fCAoc29jay0+c29ja19mZCA8IDApKSB7CisgICAgICAgICAgICBfc2V0U1NMRXJyb3IoIlVuZGVybHlpbmcgc29ja2V0IGNvbm5lY3Rpb24gZ29uZSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgUFlfU1NMX0VSUk9SX05PX1NPQ0tFVCwgX19GSUxFX18sIF9fTElORV9fKTsKKyAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICB9CisgICAgICAgIFB5X0lOQ1JFRihzb2NrKTsKKworICAgICAgICAvKiBKdXN0IGluIGNhc2UgdGhlIGJsb2NraW5nIHN0YXRlIG9mIHRoZSBzb2NrZXQgaGFzIGJlZW4gY2hhbmdlZCAqLworICAgICAgICBub25ibG9ja2luZyA9IChzb2NrLT5zb2NrX3RpbWVvdXQgPj0gMC4wKTsKKyAgICAgICAgQklPX3NldF9uYmlvKFNTTF9nZXRfcmJpbyhzZWxmLT5zc2wpLCBub25ibG9ja2luZyk7CisgICAgICAgIEJJT19zZXRfbmJpbyhTU0xfZ2V0X3diaW8oc2VsZi0+c3NsKSwgbm9uYmxvY2tpbmcpOwogICAgIH0KLSAgICBQeV9JTkNSRUYoc29jayk7Ci0KLSAgICAvKiBKdXN0IGluIGNhc2UgdGhlIGJsb2NraW5nIHN0YXRlIG9mIHRoZSBzb2NrZXQgaGFzIGJlZW4gY2hhbmdlZCAqLwotICAgIG5vbmJsb2NraW5nID0gKHNvY2stPnNvY2tfdGltZW91dCA+PSAwLjApOwotICAgIEJJT19zZXRfbmJpbyhTU0xfZ2V0X3JiaW8oc2VsZi0+c3NsKSwgbm9uYmxvY2tpbmcpOwotICAgIEJJT19zZXRfbmJpbyhTU0xfZ2V0X3diaW8oc2VsZi0+c3NsKSwgbm9uYmxvY2tpbmcpOwogCiAgICAgd2hpbGUgKDEpIHsKICAgICAgICAgUHlTU0xfQkVHSU5fQUxMT1dfVEhSRUFEUwpAQCAtMTg3MSwxNSArMTk5NiwxNyBAQAogICAgIH0KIAogICAgIGlmIChlcnIgPCAwKSB7Ci0gICAgICAgIFB5X0RFQ1JFRihzb2NrKTsKKyAgICAgICAgUHlfWERFQ1JFRihzb2NrKTsKICAgICAgICAgcmV0dXJuIFB5U1NMX1NldEVycm9yKHNlbGYsIGVyciwgX19GSUxFX18sIF9fTElORV9fKTsKICAgICB9Ci0gICAgZWxzZQorICAgIGlmIChzb2NrKQogICAgICAgICAvKiBJdCdzIGFscmVhZHkgSU5DUkVGJ2VkICovCiAgICAgICAgIHJldHVybiAoUHlPYmplY3QgKikgc29jazsKKyAgICBlbHNlCisgICAgICAgIFB5X1JFVFVSTl9OT05FOwogCiBlcnJvcjoKLSAgICBQeV9ERUNSRUYoc29jayk7CisgICAgUHlfWERFQ1JFRihzb2NrKTsKICAgICByZXR1cm4gTlVMTDsKIH0KIApAQCAtMTg4OSw3ICsyMDE2LDYgQEAKIERvZXMgdGhlIFNTTCBzaHV0ZG93biBoYW5kc2hha2Ugd2l0aCB0aGUgcmVtb3RlIGVuZCwgYW5kIHJldHVybnNcblwKIHRoZSB1bmRlcmx5aW5nIHNvY2tldCBvYmplY3QuIik7CiAKLSNpZiBIQVZFX09QRU5TU0xfRklOSVNIRUQKIHN0YXRpYyBQeU9iamVjdCAqCiBQeVNTTF90bHNfdW5pcXVlX2NiKFB5U1NMU29ja2V0ICpzZWxmKQogewpAQCAtMTkyMiwxMSArMjA0OCwxNSBAQAogXG5cCiBJZiB0aGUgVExTIGhhbmRzaGFrZSBpcyBub3QgeWV0IGNvbXBsZXRlLCBOb25lIGlzIHJldHVybmVkIik7CiAKLSNlbmRpZiAvKiBIQVZFX09QRU5TU0xfRklOSVNIRUQgKi8KLQogc3RhdGljIFB5R2V0U2V0RGVmIHNzbF9nZXRzZXRsaXN0W10gPSB7CiAgICAgeyJjb250ZXh0IiwgKGdldHRlcikgUHlTU0xfZ2V0X2NvbnRleHQsCiAgICAgICAgICAgICAgICAgKHNldHRlcikgUHlTU0xfc2V0X2NvbnRleHQsIFB5U1NMX3NldF9jb250ZXh0X2RvY30sCisgICAgeyJzZXJ2ZXJfc2lkZSIsIChnZXR0ZXIpIFB5U1NMX2dldF9zZXJ2ZXJfc2lkZSwgTlVMTCwKKyAgICAgICAgICAgICAgICAgICAgUHlTU0xfZ2V0X3NlcnZlcl9zaWRlX2RvY30sCisgICAgeyJzZXJ2ZXJfaG9zdG5hbWUiLCAoZ2V0dGVyKSBQeVNTTF9nZXRfc2VydmVyX2hvc3RuYW1lLCBOVUxMLAorICAgICAgICAgICAgICAgICAgICAgICAgUHlTU0xfZ2V0X3NlcnZlcl9ob3N0bmFtZV9kb2N9LAorICAgIHsib3duZXIiLCAoZ2V0dGVyKSBQeVNTTF9nZXRfb3duZXIsIChzZXR0ZXIpIFB5U1NMX3NldF9vd25lciwKKyAgICAgICAgICAgICAgUHlTU0xfZ2V0X293bmVyX2RvY30sCiAgICAge05VTEx9LCAgICAgICAgICAgIC8qIHNlbnRpbmVsICovCiB9OwogCkBAIC0xOTQxLDE2ICsyMDcxLDE5IEBACiAgICAgeyJwZWVyX2NlcnRpZmljYXRlIiwgKFB5Q0Z1bmN0aW9uKVB5U1NMX3BlZXJjZXJ0LCBNRVRIX1ZBUkFSR1MsCiAgICAgIFB5U1NMX3BlZXJjZXJ0X2RvY30sCiAgICAgeyJjaXBoZXIiLCAoUHlDRnVuY3Rpb24pUHlTU0xfY2lwaGVyLCBNRVRIX05PQVJHU30sCisgICAgeyJzaGFyZWRfY2lwaGVycyIsIChQeUNGdW5jdGlvbilQeVNTTF9zaGFyZWRfY2lwaGVycywgTUVUSF9OT0FSR1N9LAorICAgIHsidmVyc2lvbiIsIChQeUNGdW5jdGlvbilQeVNTTF92ZXJzaW9uLCBNRVRIX05PQVJHU30sCiAjaWZkZWYgT1BFTlNTTF9OUE5fTkVHT1RJQVRFRAogICAgIHsic2VsZWN0ZWRfbnBuX3Byb3RvY29sIiwgKFB5Q0Z1bmN0aW9uKVB5U1NMX3NlbGVjdGVkX25wbl9wcm90b2NvbCwgTUVUSF9OT0FSR1N9LAogI2VuZGlmCisjaWZkZWYgSEFWRV9BTFBOCisgICAgeyJzZWxlY3RlZF9hbHBuX3Byb3RvY29sIiwgKFB5Q0Z1bmN0aW9uKVB5U1NMX3NlbGVjdGVkX2FscG5fcHJvdG9jb2wsIE1FVEhfTk9BUkdTfSwKKyNlbmRpZgogICAgIHsiY29tcHJlc3Npb24iLCAoUHlDRnVuY3Rpb24pUHlTU0xfY29tcHJlc3Npb24sIE1FVEhfTk9BUkdTfSwKICAgICB7InNodXRkb3duIiwgKFB5Q0Z1bmN0aW9uKVB5U1NMX1NTTHNodXRkb3duLCBNRVRIX05PQVJHUywKICAgICAgUHlTU0xfU1NMc2h1dGRvd25fZG9jfSwKLSNpZiBIQVZFX09QRU5TU0xfRklOSVNIRUQKICAgICB7InRsc191bmlxdWVfY2IiLCAoUHlDRnVuY3Rpb24pUHlTU0xfdGxzX3VuaXF1ZV9jYiwgTUVUSF9OT0FSR1MsCiAgICAgIFB5U1NMX3Rsc191bmlxdWVfY2JfZG9jfSwKLSNlbmRpZgogICAgIHtOVUxMLCBOVUxMfQogfTsKIApAQCAtMjA1MSw2ICsyMTg0LDkgQEAKICNpZmRlZiBPUEVOU1NMX05QTl9ORUdPVElBVEVECiAgICAgc2VsZi0+bnBuX3Byb3RvY29scyA9IE5VTEw7CiAjZW5kaWYKKyNpZmRlZiBIQVZFX0FMUE4KKyAgICBzZWxmLT5hbHBuX3Byb3RvY29scyA9IE5VTEw7CisjZW5kaWYKICNpZm5kZWYgT1BFTlNTTF9OT19UTFNFWFQKICAgICBzZWxmLT5zZXRfaG9zdG5hbWUgPSBOVUxMOwogI2VuZGlmCkBAIC0yMTEwLDcgKzIyNDYsMTAgQEAKICAgICBjb250ZXh0X2NsZWFyKHNlbGYpOwogICAgIFNTTF9DVFhfZnJlZShzZWxmLT5jdHgpOwogI2lmZGVmIE9QRU5TU0xfTlBOX05FR09USUFURUQKLSAgICBQeU1lbV9GcmVlKHNlbGYtPm5wbl9wcm90b2NvbHMpOworICAgIFB5TWVtX0ZSRUUoc2VsZi0+bnBuX3Byb3RvY29scyk7CisjZW5kaWYKKyNpZmRlZiBIQVZFX0FMUE4KKyAgICBQeU1lbV9GUkVFKHNlbGYtPmFscG5fcHJvdG9jb2xzKTsKICNlbmRpZgogICAgIFB5X1RZUEUoc2VsZiktPnRwX2ZyZWUoc2VsZik7CiB9CkBAIC0yMTM3LDYgKzIyNzYsMzAgQEAKIH0KIAogI2lmZGVmIE9QRU5TU0xfTlBOX05FR09USUFURUQKK3N0YXRpYyBpbnQKK2RvX3Byb3RvY29sX3NlbGVjdGlvbihpbnQgYWxwbiwgdW5zaWduZWQgY2hhciAqKm91dCwgdW5zaWduZWQgY2hhciAqb3V0bGVuLAorICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNlcnZlcl9wcm90b2NvbHMsIHVuc2lnbmVkIGludCBzZXJ2ZXJfcHJvdG9jb2xzX2xlbiwKKyAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1bnNpZ25lZCBjaGFyICpjbGllbnRfcHJvdG9jb2xzLCB1bnNpZ25lZCBpbnQgY2xpZW50X3Byb3RvY29sc19sZW4pCit7CisgICAgaW50IHJldDsKKyAgICBpZiAoY2xpZW50X3Byb3RvY29scyA9PSBOVUxMKSB7CisgICAgICAgIGNsaWVudF9wcm90b2NvbHMgPSAodW5zaWduZWQgY2hhciAqKSIiOworICAgICAgICBjbGllbnRfcHJvdG9jb2xzX2xlbiA9IDA7CisgICAgfQorICAgIGlmIChzZXJ2ZXJfcHJvdG9jb2xzID09IE5VTEwpIHsKKyAgICAgICAgc2VydmVyX3Byb3RvY29scyA9ICh1bnNpZ25lZCBjaGFyICopIiI7CisgICAgICAgIHNlcnZlcl9wcm90b2NvbHNfbGVuID0gMDsKKyAgICB9CisKKyAgICByZXQgPSBTU0xfc2VsZWN0X25leHRfcHJvdG8ob3V0LCBvdXRsZW4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlcnZlcl9wcm90b2NvbHMsIHNlcnZlcl9wcm90b2NvbHNfbGVuLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGllbnRfcHJvdG9jb2xzLCBjbGllbnRfcHJvdG9jb2xzX2xlbik7CisgICAgaWYgKGFscG4gJiYgcmV0ICE9IE9QRU5TU0xfTlBOX05FR09USUFURUQpCisgICAgICAgIHJldHVybiBTU0xfVExTRVhUX0VSUl9OT0FDSzsKKworICAgIHJldHVybiBTU0xfVExTRVhUX0VSUl9PSzsKK30KKwogLyogdGhpcyBjYWxsYmFjayBnZXRzIHBhc3NlZCB0byBTU0xfQ1RYX3NldF9uZXh0X3Byb3Rvc19hZHZlcnRpc2VfY2IgKi8KIHN0YXRpYyBpbnQKIF9hZHZlcnRpc2VOUE5fY2IoU1NMICpzLApAQCAtMjE0NiwxMCArMjMwOSwxMCBAQAogICAgIFB5U1NMQ29udGV4dCAqc3NsX2N0eCA9IChQeVNTTENvbnRleHQgKikgYXJnczsKIAogICAgIGlmIChzc2xfY3R4LT5ucG5fcHJvdG9jb2xzID09IE5VTEwpIHsKLSAgICAgICAgKmRhdGEgPSAodW5zaWduZWQgY2hhciAqKSAiIjsKKyAgICAgICAgKmRhdGEgPSAodW5zaWduZWQgY2hhciAqKSIiOwogICAgICAgICAqbGVuID0gMDsKICAgICB9IGVsc2UgewotICAgICAgICAqZGF0YSA9ICh1bnNpZ25lZCBjaGFyICopIHNzbF9jdHgtPm5wbl9wcm90b2NvbHM7CisgICAgICAgICpkYXRhID0gc3NsX2N0eC0+bnBuX3Byb3RvY29sczsKICAgICAgICAgKmxlbiA9IHNzbF9jdHgtPm5wbl9wcm90b2NvbHNfbGVuOwogICAgIH0KIApAQCAtMjE2MiwyMyArMjMyNSw5IEBACiAgICAgICAgICAgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNlcnZlciwgdW5zaWduZWQgaW50IHNlcnZlcl9sZW4sCiAgICAgICAgICAgICAgIHZvaWQgKmFyZ3MpCiB7Ci0gICAgUHlTU0xDb250ZXh0ICpzc2xfY3R4ID0gKFB5U1NMQ29udGV4dCAqKSBhcmdzOwotCi0gICAgdW5zaWduZWQgY2hhciAqY2xpZW50ID0gKHVuc2lnbmVkIGNoYXIgKikgc3NsX2N0eC0+bnBuX3Byb3RvY29sczsKLSAgICBpbnQgY2xpZW50X2xlbjsKLQotICAgIGlmIChjbGllbnQgPT0gTlVMTCkgewotICAgICAgICBjbGllbnQgPSAodW5zaWduZWQgY2hhciAqKSAiIjsKLSAgICAgICAgY2xpZW50X2xlbiA9IDA7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgY2xpZW50X2xlbiA9IHNzbF9jdHgtPm5wbl9wcm90b2NvbHNfbGVuOwotICAgIH0KLQotICAgIFNTTF9zZWxlY3RfbmV4dF9wcm90byhvdXQsIG91dGxlbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgc2VydmVyLCBzZXJ2ZXJfbGVuLAotICAgICAgICAgICAgICAgICAgICAgICAgICBjbGllbnQsIGNsaWVudF9sZW4pOwotCi0gICAgcmV0dXJuIFNTTF9UTFNFWFRfRVJSX09LOworICAgIFB5U1NMQ29udGV4dCAqY3R4ID0gKFB5U1NMQ29udGV4dCAqKWFyZ3M7CisgICAgcmV0dXJuIGRvX3Byb3RvY29sX3NlbGVjdGlvbigwLCBvdXQsIG91dGxlbiwgc2VydmVyLCBzZXJ2ZXJfbGVuLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3R4LT5ucG5fcHJvdG9jb2xzLCBjdHgtPm5wbl9wcm90b2NvbHNfbGVuKTsKIH0KICNlbmRpZgogCkBAIC0yMjIxLDYgKzIzNzAsNTAgQEAKICNlbmRpZgogfQogCisjaWZkZWYgSEFWRV9BTFBOCitzdGF0aWMgaW50Citfc2VsZWN0QUxQTl9jYihTU0wgKnMsCisgICAgICAgICAgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKipvdXQsIHVuc2lnbmVkIGNoYXIgKm91dGxlbiwKKyAgICAgICAgICAgICAgY29uc3QgdW5zaWduZWQgY2hhciAqY2xpZW50X3Byb3RvY29scywgdW5zaWduZWQgaW50IGNsaWVudF9wcm90b2NvbHNfbGVuLAorICAgICAgICAgICAgICB2b2lkICphcmdzKQoreworICAgIFB5U1NMQ29udGV4dCAqY3R4ID0gKFB5U1NMQ29udGV4dCAqKWFyZ3M7CisgICAgcmV0dXJuIGRvX3Byb3RvY29sX3NlbGVjdGlvbigxLCAodW5zaWduZWQgY2hhciAqKilvdXQsIG91dGxlbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN0eC0+YWxwbl9wcm90b2NvbHMsIGN0eC0+YWxwbl9wcm90b2NvbHNfbGVuLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xpZW50X3Byb3RvY29scywgY2xpZW50X3Byb3RvY29sc19sZW4pOworfQorI2VuZGlmCisKK3N0YXRpYyBQeU9iamVjdCAqCitfc2V0X2FscG5fcHJvdG9jb2xzKFB5U1NMQ29udGV4dCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCit7CisjaWZkZWYgSEFWRV9BTFBOCisgICAgUHlfYnVmZmVyIHByb3RvczsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAieSo6c2V0X25wbl9wcm90b2NvbHMiLCAmcHJvdG9zKSkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisKKyAgICBQeU1lbV9GUkVFKHNlbGYtPmFscG5fcHJvdG9jb2xzKTsKKyAgICBzZWxmLT5hbHBuX3Byb3RvY29scyA9IFB5TWVtX01hbGxvYyhwcm90b3MubGVuKTsKKyAgICBpZiAoIXNlbGYtPmFscG5fcHJvdG9jb2xzKQorICAgICAgICByZXR1cm4gUHlFcnJfTm9NZW1vcnkoKTsKKyAgICBtZW1jcHkoc2VsZi0+YWxwbl9wcm90b2NvbHMsIHByb3Rvcy5idWYsIHByb3Rvcy5sZW4pOworICAgIHNlbGYtPmFscG5fcHJvdG9jb2xzX2xlbiA9IHByb3Rvcy5sZW47CisgICAgUHlCdWZmZXJfUmVsZWFzZSgmcHJvdG9zKTsKKworICAgIGlmIChTU0xfQ1RYX3NldF9hbHBuX3Byb3RvcyhzZWxmLT5jdHgsIHNlbGYtPmFscG5fcHJvdG9jb2xzLCBzZWxmLT5hbHBuX3Byb3RvY29sc19sZW4pKQorICAgICAgICByZXR1cm4gUHlFcnJfTm9NZW1vcnkoKTsKKyAgICBTU0xfQ1RYX3NldF9hbHBuX3NlbGVjdF9jYihzZWxmLT5jdHgsIF9zZWxlY3RBTFBOX2NiLCBzZWxmKTsKKworICAgIFB5QnVmZmVyX1JlbGVhc2UoJnByb3Rvcyk7CisgICAgUHlfUkVUVVJOX05PTkU7CisjZWxzZQorICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19Ob3RJbXBsZW1lbnRlZEVycm9yLAorICAgICAgICAgICAgICAgICAgICAiVGhlIEFMUE4gZXh0ZW5zaW9uIHJlcXVpcmVzIE9wZW5TU0wgMS4wLjIgb3IgbGF0ZXIuIik7CisgICAgcmV0dXJuIE5VTEw7CisjZW5kaWYKK30KKwogc3RhdGljIFB5T2JqZWN0ICoKIGdldF92ZXJpZnlfbW9kZShQeVNTTENvbnRleHQgKnNlbGYsIHZvaWQgKmMpCiB7CkBAIC0yMjY0LDcgKzI0NTcsNiBAQAogICAgIHJldHVybiAwOwogfQogCi0jaWZkZWYgSEFWRV9PUEVOU1NMX1ZFUklGWV9QQVJBTQogc3RhdGljIFB5T2JqZWN0ICoKIGdldF92ZXJpZnlfZmxhZ3MoUHlTU0xDb250ZXh0ICpzZWxmLCB2b2lkICpjKQogewpAQCAtMjMwMiw3ICsyNDk0LDYgQEAKICAgICB9CiAgICAgcmV0dXJuIDA7CiB9Ci0jZW5kaWYKIAogc3RhdGljIFB5T2JqZWN0ICoKIGdldF9vcHRpb25zKFB5U1NMQ29udGV4dCAqc2VsZiwgdm9pZCAqYykKQEAgLTI4MTAsMTQgKzMwMDEsNDMgQEAKICAgICAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KIAotICAgIHJlcyA9IChQeU9iamVjdCAqKSBuZXdQeVNTTFNvY2tldChzZWxmLCBzb2NrLCBzZXJ2ZXJfc2lkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaG9zdG5hbWUpOworICAgIHJlcyA9IChQeU9iamVjdCAqKSBuZXdQeVNTTFNvY2tldChzZWxmLCBzb2NrLCBzZXJ2ZXJfc2lkZSwgaG9zdG5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsIE5VTEwpOwogICAgIGlmIChob3N0bmFtZSAhPSBOVUxMKQogICAgICAgICBQeU1lbV9GcmVlKGhvc3RuYW1lKTsKICAgICByZXR1cm4gcmVzOwogfQogCiBzdGF0aWMgUHlPYmplY3QgKgorY29udGV4dF93cmFwX2JpbyhQeVNTTENvbnRleHQgKnNlbGYsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dkcykKK3sKKyAgICBjaGFyICprd2xpc3RbXSA9IHsiaW5jb21pbmciLCAib3V0Z29pbmciLCAic2VydmVyX3NpZGUiLAorICAgICAgICAgICAgICAgICAgICAgICJzZXJ2ZXJfaG9zdG5hbWUiLCBOVUxMfTsKKyAgICBpbnQgc2VydmVyX3NpZGU7CisgICAgY2hhciAqaG9zdG5hbWUgPSBOVUxMOworICAgIFB5T2JqZWN0ICpob3N0bmFtZV9vYmogPSBQeV9Ob25lLCAqcmVzOworICAgIFB5U1NMTWVtb3J5QklPICppbmNvbWluZywgKm91dGdvaW5nOworCisgICAgLyogc2VydmVyX2hvc3RuYW1lIGlzIGVpdGhlciBOb25lIChvciBhYnNlbnQpLCBvciB0byBiZSBlbmNvZGVkCisgICAgICAgdXNpbmcgdGhlIGlkbmEgZW5jb2RpbmcuICovCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dkcywgIk8hTyFpfE86X3dyYXBfYmlvIiwga3dsaXN0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZQeVNTTE1lbW9yeUJJT19UeXBlLCAmaW5jb21pbmcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJlB5U1NMTWVtb3J5QklPX1R5cGUsICZvdXRnb2luZywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmc2VydmVyX3NpZGUsICZob3N0bmFtZV9vYmopKQorICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBpZiAoaG9zdG5hbWVfb2JqICE9IFB5X05vbmUpIHsKKyAgICAgICAgaWYgKCFQeUFyZ19QYXJzZShob3N0bmFtZV9vYmosICJldCIsICJpZG5hIiwgJmhvc3RuYW1lKSkKKyAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKworICAgIHJlcyA9IChQeU9iamVjdCAqKSBuZXdQeVNTTFNvY2tldChzZWxmLCBOVUxMLCBzZXJ2ZXJfc2lkZSwgaG9zdG5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluY29taW5nLCBvdXRnb2luZyk7CisKKyAgICBQeU1lbV9GcmVlKGhvc3RuYW1lKTsKKyAgICByZXR1cm4gcmVzOworfQorCitzdGF0aWMgUHlPYmplY3QgKgogc2Vzc2lvbl9zdGF0cyhQeVNTTENvbnRleHQgKnNlbGYsIFB5T2JqZWN0ICp1bnVzZWQpCiB7CiAgICAgaW50IHI7CkBAIC0yOTIzLDExICszMTQzLDI1IEBACiAKICAgICBzc2wgPSBTU0xfZ2V0X2FwcF9kYXRhKHMpOwogICAgIGFzc2VydChQeVNTTFNvY2tldF9DaGVjayhzc2wpKTsKLSAgICBzc2xfc29ja2V0ID0gUHlXZWFrcmVmX0dldE9iamVjdChzc2wtPlNvY2tldCk7CisKKyAgICAvKiBUaGUgc2VydmVybmFtZSBjYWxsYmFjayBleHBlY3RzIGEgYXJndW1lbnQgdGhhdCByZXByZXNlbnRzIHRoZSBjdXJyZW50CisgICAgICogU1NMIGNvbm5lY3Rpb24gYW5kIHRoYXQgaGFzIGEgLmNvbnRleHQgYXR0cmlidXRlIHRoYXQgY2FuIGJlIGNoYW5nZWQgdG8KKyAgICAgKiBpZGVudGlmeSB0aGUgcmVxdWVzdGVkIGhvc3RuYW1lLiBTaW5jZSB0aGUgb2ZmaWNpYWwgQVBJIGlzIHRoZSBQeXRob24KKyAgICAgKiBsZXZlbCBBUEkgd2Ugd2FudCB0byBwYXNzIHRoZSBjYWxsYmFjayBhIFB5dGhvbiBsZXZlbCBvYmplY3QgcmF0aGVyIHRoYW4KKyAgICAgKiBhIF9zc2wuU1NMU29ja2V0IGluc3RhbmNlLiBJZiB0aGVyZSdzIGFuICJvd25lciIgKHR5cGljYWxseSBhbgorICAgICAqIFNTTE9iamVjdCkgdGhhdCB3aWxsIGJlIHBhc3NlZC4gT3RoZXJ3aXNlIGlmIHRoZXJlJ3MgYSBzb2NrZXQgdGhlbiB0aGF0CisgICAgICogd2lsbCBiZSBwYXNzZWQuIElmIGJvdGggZG8gbm90IGV4aXN0IG9ubHkgdGhlbiB0aGUgQy1sZXZlbCBvYmplY3QgaXMKKyAgICAgKiBwYXNzZWQuICovCisgICAgaWYgKHNzbC0+b3duZXIpCisgICAgICAgIHNzbF9zb2NrZXQgPSBQeVdlYWtyZWZfR2V0T2JqZWN0KHNzbC0+b3duZXIpOworICAgIGVsc2UgaWYgKHNzbC0+U29ja2V0KQorICAgICAgICBzc2xfc29ja2V0ID0gUHlXZWFrcmVmX0dldE9iamVjdChzc2wtPlNvY2tldCk7CisgICAgZWxzZQorICAgICAgICBzc2xfc29ja2V0ID0gKFB5T2JqZWN0ICopIHNzbDsKKwogICAgIFB5X0lOQ1JFRihzc2xfc29ja2V0KTsKLSAgICBpZiAoc3NsX3NvY2tldCA9PSBQeV9Ob25lKSB7CisgICAgaWYgKHNzbF9zb2NrZXQgPT0gUHlfTm9uZSkKICAgICAgICAgZ290byBlcnJvcjsKLSAgICB9CiAKICAgICBpZiAoc2VydmVybmFtZSA9PSBOVUxMKSB7CiAgICAgICAgIHJlc3VsdCA9IFB5T2JqZWN0X0NhbGxGdW5jdGlvbk9iakFyZ3Moc3NsX2N0eC0+c2V0X2hvc3RuYW1lLCBzc2xfc29ja2V0LApAQCAtMzE0NCwxMCArMzM3OCw4IEBACiAgICAgICAgICAgICAgICAgICAgICAgIChzZXR0ZXIpIHNldF9jaGVja19ob3N0bmFtZSwgTlVMTH0sCiAgICAgeyJvcHRpb25zIiwgKGdldHRlcikgZ2V0X29wdGlvbnMsCiAgICAgICAgICAgICAgICAgKHNldHRlcikgc2V0X29wdGlvbnMsIE5VTEx9LAotI2lmZGVmIEhBVkVfT1BFTlNTTF9WRVJJRllfUEFSQU0KICAgICB7InZlcmlmeV9mbGFncyIsIChnZXR0ZXIpIGdldF92ZXJpZnlfZmxhZ3MsCiAgICAgICAgICAgICAgICAgICAgICAoc2V0dGVyKSBzZXRfdmVyaWZ5X2ZsYWdzLCBOVUxMfSwKLSNlbmRpZgogICAgIHsidmVyaWZ5X21vZGUiLCAoZ2V0dGVyKSBnZXRfdmVyaWZ5X21vZGUsCiAgICAgICAgICAgICAgICAgICAgIChzZXR0ZXIpIHNldF92ZXJpZnlfbW9kZSwgTlVMTH0sCiAgICAge05VTEx9LCAgICAgICAgICAgIC8qIHNlbnRpbmVsICovCkBAIC0zMTU2LDggKzMzODgsMTIgQEAKIHN0YXRpYyBzdHJ1Y3QgUHlNZXRob2REZWYgY29udGV4dF9tZXRob2RzW10gPSB7CiAgICAgeyJfd3JhcF9zb2NrZXQiLCAoUHlDRnVuY3Rpb24pIGNvbnRleHRfd3JhcF9zb2NrZXQsCiAgICAgICAgICAgICAgICAgICAgICAgIE1FVEhfVkFSQVJHUyB8IE1FVEhfS0VZV09SRFMsIE5VTEx9LAorICAgIHsiX3dyYXBfYmlvIiwgKFB5Q0Z1bmN0aW9uKSBjb250ZXh0X3dyYXBfYmlvLAorICAgICAgICAgICAgICAgICAgTUVUSF9WQVJBUkdTIHwgTUVUSF9LRVlXT1JEUywgTlVMTH0sCiAgICAgeyJzZXRfY2lwaGVycyIsIChQeUNGdW5jdGlvbikgc2V0X2NpcGhlcnMsCiAgICAgICAgICAgICAgICAgICAgIE1FVEhfVkFSQVJHUywgTlVMTH0sCisgICAgeyJfc2V0X2FscG5fcHJvdG9jb2xzIiwgKFB5Q0Z1bmN0aW9uKSBfc2V0X2FscG5fcHJvdG9jb2xzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgTUVUSF9WQVJBUkdTLCBOVUxMfSwKICAgICB7Il9zZXRfbnBuX3Byb3RvY29scyIsIChQeUNGdW5jdGlvbikgX3NldF9ucG5fcHJvdG9jb2xzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgTUVUSF9WQVJBUkdTLCBOVUxMfSwKICAgICB7ImxvYWRfY2VydF9jaGFpbiIsIChQeUNGdW5jdGlvbikgbG9hZF9jZXJ0X2NoYWluLApAQCAtMzIyNSw4ICszNDYxLDIyNSBAQAogfTsKIAogCisvKgorICogTWVtb3J5QklPIG9iamVjdHMKKyAqLwogCi0jaWZkZWYgSEFWRV9PUEVOU1NMX1JBTkQKK3N0YXRpYyBQeU9iamVjdCAqCittZW1vcnlfYmlvX25ldyhQeVR5cGVPYmplY3QgKnR5cGUsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dkcykKK3sKKyAgICBjaGFyICprd2xpc3RbXSA9IHtOVUxMfTsKKyAgICBCSU8gKmJpbzsKKyAgICBQeVNTTE1lbW9yeUJJTyAqc2VsZjsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3ZHMsICI6TWVtb3J5QklPIiwga3dsaXN0KSkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisKKyAgICBiaW8gPSBCSU9fbmV3KEJJT19zX21lbSgpKTsKKyAgICBpZiAoYmlvID09IE5VTEwpIHsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5U1NMRXJyb3JPYmplY3QsCisgICAgICAgICAgICAgICAgICAgICAgICAiZmFpbGVkIHRvIGFsbG9jYXRlIEJJTyIpOworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisgICAgLyogU2luY2Ugb3VyIEJJTyBpcyBub24tYmxvY2tpbmcgYW4gZW1wdHkgcmVhZCgpIGRvZXMgbm90IGluZGljYXRlIEVPRiwKKyAgICAgKiBqdXN0IHRoYXQgbm8gZGF0YSBpcyBjdXJyZW50bHkgYXZhaWxhYmxlLiBUaGUgU1NMIHJvdXRpbmVzIHNob3VsZCByZXRyeQorICAgICAqIHRoZSByZWFkLCB3aGljaCB3ZSBjYW4gYWNoaWV2ZSBieSBjYWxsaW5nIEJJT19zZXRfcmV0cnlfcmVhZCgpLiAqLworICAgIEJJT19zZXRfcmV0cnlfcmVhZChiaW8pOworICAgIEJJT19zZXRfbWVtX2VvZl9yZXR1cm4oYmlvLCAtMSk7CisKKyAgICBhc3NlcnQodHlwZSAhPSBOVUxMICYmIHR5cGUtPnRwX2FsbG9jICE9IE5VTEwpOworICAgIHNlbGYgPSAoUHlTU0xNZW1vcnlCSU8gKikgdHlwZS0+dHBfYWxsb2ModHlwZSwgMCk7CisgICAgaWYgKHNlbGYgPT0gTlVMTCkgeworICAgICAgICBCSU9fZnJlZShiaW8pOworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisgICAgc2VsZi0+YmlvID0gYmlvOworICAgIHNlbGYtPmVvZl93cml0dGVuID0gMDsKKworICAgIHJldHVybiAoUHlPYmplY3QgKikgc2VsZjsKK30KKworc3RhdGljIHZvaWQKK21lbW9yeV9iaW9fZGVhbGxvYyhQeVNTTE1lbW9yeUJJTyAqc2VsZikKK3sKKyAgICBCSU9fZnJlZShzZWxmLT5iaW8pOworICAgIFB5X1RZUEUoc2VsZiktPnRwX2ZyZWUoc2VsZik7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCittZW1vcnlfYmlvX2dldF9wZW5kaW5nKFB5U1NMTWVtb3J5QklPICpzZWxmLCB2b2lkICpjKQoreworICAgIHJldHVybiBQeUxvbmdfRnJvbUxvbmcoQklPX2N0cmxfcGVuZGluZyhzZWxmLT5iaW8pKTsKK30KKworUHlEb2NfU1RSVkFSKFB5U1NMX21lbW9yeV9iaW9fcGVuZGluZ19kb2MsCisiVGhlIG51bWJlciBvZiBieXRlcyBwZW5kaW5nIGluIHRoZSBtZW1vcnkgQklPLiIpOworCitzdGF0aWMgUHlPYmplY3QgKgorbWVtb3J5X2Jpb19nZXRfZW9mKFB5U1NMTWVtb3J5QklPICpzZWxmLCB2b2lkICpjKQoreworICAgIHJldHVybiBQeUJvb2xfRnJvbUxvbmcoKEJJT19jdHJsX3BlbmRpbmcoc2VsZi0+YmlvKSA9PSAwKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgJiYgc2VsZi0+ZW9mX3dyaXR0ZW4pOworfQorCitQeURvY19TVFJWQVIoUHlTU0xfbWVtb3J5X2Jpb19lb2ZfZG9jLAorIldoZXRoZXIgdGhlIG1lbW9yeSBCSU8gaXMgYXQgRU9GLiIpOworCitzdGF0aWMgUHlPYmplY3QgKgorbWVtb3J5X2Jpb19yZWFkKFB5U1NMTWVtb3J5QklPICpzZWxmLCBQeU9iamVjdCAqYXJncykKK3sKKyAgICBpbnQgbGVuID0gLTEsIGF2YWlsLCBuYnl0ZXM7CisgICAgUHlPYmplY3QgKnJlc3VsdDsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAifGk6cmVhZCIsICZsZW4pKQorICAgICAgICByZXR1cm4gTlVMTDsKKworICAgIGF2YWlsID0gQklPX2N0cmxfcGVuZGluZyhzZWxmLT5iaW8pOworICAgIGlmICgobGVuIDwgMCkgfHwgKGxlbiA+IGF2YWlsKSkKKyAgICAgICAgbGVuID0gYXZhaWw7CisKKyAgICByZXN1bHQgPSBQeUJ5dGVzX0Zyb21TdHJpbmdBbmRTaXplKE5VTEwsIGxlbik7CisgICAgaWYgKChyZXN1bHQgPT0gTlVMTCkgfHwgKGxlbiA9PSAwKSkKKyAgICAgICAgcmV0dXJuIHJlc3VsdDsKKworICAgIG5ieXRlcyA9IEJJT19yZWFkKHNlbGYtPmJpbywgUHlCeXRlc19BU19TVFJJTkcocmVzdWx0KSwgbGVuKTsKKyAgICAvKiBUaGVyZSBzaG91bGQgbmV2ZXIgYmUgYW55IHNob3J0IHJlYWRzIGJ1dCBjaGVjayBhbnl3YXkuICovCisgICAgaWYgKChuYnl0ZXMgPCBsZW4pICYmIChfUHlCeXRlc19SZXNpemUoJnJlc3VsdCwgbGVuKSA8IDApKSB7CisgICAgICAgIFB5X0RFQ1JFRihyZXN1bHQpOworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisKKyAgICByZXR1cm4gcmVzdWx0OworfQorCitQeURvY19TVFJWQVIoUHlTU0xfbWVtb3J5X2Jpb19yZWFkX2RvYywKKyJyZWFkKFtsZW5dKSAtPiBieXRlc1xuXAorXG5cCitSZWFkIHVwIHRvIGxlbiBieXRlcyBmcm9tIHRoZSBtZW1vcnkgQklPLlxuXAorXG5cCitJZiBsZW4gaXMgbm90IHNwZWNpZmllZCwgcmVhZCB0aGUgZW50aXJlIGJ1ZmZlci5cblwKK0lmIHRoZSByZXR1cm4gdmFsdWUgaXMgYW4gZW1wdHkgYnl0ZXMgaW5zdGFuY2UsIHRoaXMgbWVhbnMgZWl0aGVyXG5cCitFT0Ygb3IgdGhhdCBubyBkYXRhIGlzIGF2YWlsYWJsZS4gVXNlIHRoZSBcImVvZlwiIHByb3BlcnR5IHRvXG5cCitkaXN0aW5ndWlzaCBiZXR3ZWVuIHRoZSB0d28uIik7CisKK3N0YXRpYyBQeU9iamVjdCAqCittZW1vcnlfYmlvX3dyaXRlKFB5U1NMTWVtb3J5QklPICpzZWxmLCBQeU9iamVjdCAqYXJncykKK3sKKyAgICBQeV9idWZmZXIgYnVmOworICAgIGludCBuYnl0ZXM7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgInkqOndyaXRlIiwgJmJ1ZikpCisgICAgICAgIHJldHVybiBOVUxMOworCisgICAgaWYgKGJ1Zi5sZW4gPiBJTlRfTUFYKSB7CisgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19PdmVyZmxvd0Vycm9yLAorICAgICAgICAgICAgICAgICAgICAgInN0cmluZyBsb25nZXIgdGhhbiAlZCBieXRlcyIsIElOVF9NQVgpOworICAgICAgICBnb3RvIGVycm9yOworICAgIH0KKworICAgIGlmIChzZWxmLT5lb2Zfd3JpdHRlbikgeworICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlTU0xFcnJvck9iamVjdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICJjYW5ub3Qgd3JpdGUoKSBhZnRlciB3cml0ZV9lb2YoKSIpOworICAgICAgICBnb3RvIGVycm9yOworICAgIH0KKworICAgIG5ieXRlcyA9IEJJT193cml0ZShzZWxmLT5iaW8sIGJ1Zi5idWYsIGJ1Zi5sZW4pOworICAgIGlmIChuYnl0ZXMgPCAwKSB7CisgICAgICAgIF9zZXRTU0xFcnJvcihOVUxMLCAwLCBfX0ZJTEVfXywgX19MSU5FX18pOworICAgICAgICBnb3RvIGVycm9yOworICAgIH0KKworICAgIFB5QnVmZmVyX1JlbGVhc2UoJmJ1Zik7CisgICAgcmV0dXJuIFB5TG9uZ19Gcm9tTG9uZyhuYnl0ZXMpOworCitlcnJvcjoKKyAgICBQeUJ1ZmZlcl9SZWxlYXNlKCZidWYpOworICAgIHJldHVybiBOVUxMOworfQorCitQeURvY19TVFJWQVIoUHlTU0xfbWVtb3J5X2Jpb193cml0ZV9kb2MsCisid3JpdGUoYikgLT4gbGVuXG5cCitcblwKK1dyaXRlcyB0aGUgYnl0ZXMgYiBpbnRvIHRoZSBtZW1vcnkgQklPLiBSZXR1cm5zIHRoZSBudW1iZXJcblwKK29mIGJ5dGVzIHdyaXR0ZW4uIik7CisKK3N0YXRpYyBQeU9iamVjdCAqCittZW1vcnlfYmlvX3dyaXRlX2VvZihQeVNTTE1lbW9yeUJJTyAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgc2VsZi0+ZW9mX3dyaXR0ZW4gPSAxOworICAgIC8qIEFmdGVyIGFuIEVPRiBpcyB3cml0dGVuLCBhIHplcm8gcmV0dXJuIGZyb20gcmVhZCgpIHNob3VsZCBiZSBhIHJlYWwgRU9GCisgICAgICogaS5lLiBpdCBzaG91bGQgbm90IGJlIHJldHJpZWQuIENsZWFyIHRoZSBTSE9VTERfUkVUUlkgZmxhZy4gKi8KKyAgICBCSU9fY2xlYXJfcmV0cnlfZmxhZ3Moc2VsZi0+YmlvKTsKKyAgICBCSU9fc2V0X21lbV9lb2ZfcmV0dXJuKHNlbGYtPmJpbywgMCk7CisKKyAgICBQeV9SRVRVUk5fTk9ORTsKK30KKworUHlEb2NfU1RSVkFSKFB5U1NMX21lbW9yeV9iaW9fd3JpdGVfZW9mX2RvYywKKyJ3cml0ZV9lb2YoKVxuXAorXG5cCitXcml0ZSBhbiBFT0YgbWFya2VyIHRvIHRoZSBtZW1vcnkgQklPLlxuXAorV2hlbiBhbGwgZGF0YSBoYXMgYmVlbiByZWFkLCB0aGUgXCJlb2ZcIiBwcm9wZXJ0eSB3aWxsIGJlIFRydWUuIik7CisKK3N0YXRpYyBQeUdldFNldERlZiBtZW1vcnlfYmlvX2dldHNldGxpc3RbXSA9IHsKKyAgICB7InBlbmRpbmciLCAoZ2V0dGVyKSBtZW1vcnlfYmlvX2dldF9wZW5kaW5nLCBOVUxMLAorICAgICAgICAgICAgICAgIFB5U1NMX21lbW9yeV9iaW9fcGVuZGluZ19kb2N9LAorICAgIHsiZW9mIiwgKGdldHRlcikgbWVtb3J5X2Jpb19nZXRfZW9mLCBOVUxMLAorICAgICAgICAgICAgUHlTU0xfbWVtb3J5X2Jpb19lb2ZfZG9jfSwKKyAgICB7TlVMTH0sICAgICAgICAgICAgLyogc2VudGluZWwgKi8KK307CisKK3N0YXRpYyBzdHJ1Y3QgUHlNZXRob2REZWYgbWVtb3J5X2Jpb19tZXRob2RzW10gPSB7CisgICAgeyJyZWFkIiwgKFB5Q0Z1bmN0aW9uKSBtZW1vcnlfYmlvX3JlYWQsCisgICAgICAgICAgICAgTUVUSF9WQVJBUkdTLCBQeVNTTF9tZW1vcnlfYmlvX3JlYWRfZG9jfSwKKyAgICB7IndyaXRlIiwgKFB5Q0Z1bmN0aW9uKSBtZW1vcnlfYmlvX3dyaXRlLAorICAgICAgICAgICAgICBNRVRIX1ZBUkFSR1MsIFB5U1NMX21lbW9yeV9iaW9fd3JpdGVfZG9jfSwKKyAgICB7IndyaXRlX2VvZiIsIChQeUNGdW5jdGlvbikgbWVtb3J5X2Jpb193cml0ZV9lb2YsCisgICAgICAgICAgICAgICAgICBNRVRIX05PQVJHUywgUHlTU0xfbWVtb3J5X2Jpb193cml0ZV9lb2ZfZG9jfSwKKyAgICB7TlVMTCwgTlVMTH0gICAgICAgIC8qIHNlbnRpbmVsICovCit9OworCitzdGF0aWMgUHlUeXBlT2JqZWN0IFB5U1NMTWVtb3J5QklPX1R5cGUgPSB7CisgICAgUHlWYXJPYmplY3RfSEVBRF9JTklUKE5VTEwsIDApCisgICAgIl9zc2wuTWVtb3J5QklPIiwgICAgICAgICAgICAgICAgICAgICAgICAgLyp0cF9uYW1lKi8KKyAgICBzaXplb2YoUHlTU0xNZW1vcnlCSU8pLCAgICAgICAgICAgICAgICAgICAgLyp0cF9iYXNpY3NpemUqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKnRwX2l0ZW1zaXplKi8KKyAgICAoZGVzdHJ1Y3RvciltZW1vcnlfYmlvX2RlYWxsb2MsICAgICAgICAgICAgLyp0cF9kZWFsbG9jKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyp0cF9wcmludCovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qdHBfZ2V0YXR0ciovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qdHBfc2V0YXR0ciovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qdHBfcmVzZXJ2ZWQqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKnRwX3JlcHIqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKnRwX2FzX251bWJlciovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qdHBfYXNfc2VxdWVuY2UqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKnRwX2FzX21hcHBpbmcqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKnRwX2hhc2gqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKnRwX2NhbGwqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKnRwX3N0ciovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qdHBfZ2V0YXR0cm8qLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKnRwX3NldGF0dHJvKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyp0cF9hc19idWZmZXIqLworICAgIFB5X1RQRkxBR1NfREVGQVVMVCwgICAgICAgICAgICAgICAgICAgICAgICAvKnRwX2ZsYWdzKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyp0cF9kb2MqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKnRwX3RyYXZlcnNlKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyp0cF9jbGVhciovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qdHBfcmljaGNvbXBhcmUqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKnRwX3dlYWtsaXN0b2Zmc2V0Ki8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyp0cF9pdGVyKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyp0cF9pdGVybmV4dCovCisgICAgbWVtb3J5X2Jpb19tZXRob2RzLCAgICAgICAgICAgICAgICAgICAgICAgIC8qdHBfbWV0aG9kcyovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qdHBfbWVtYmVycyovCisgICAgbWVtb3J5X2Jpb19nZXRzZXRsaXN0LCAgICAgICAgICAgICAgICAgICAgIC8qdHBfZ2V0c2V0Ki8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyp0cF9iYXNlKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyp0cF9kaWN0Ki8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyp0cF9kZXNjcl9nZXQqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKnRwX2Rlc2NyX3NldCovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qdHBfZGljdG9mZnNldCovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qdHBfaW5pdCovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qdHBfYWxsb2MqLworICAgIG1lbW9yeV9iaW9fbmV3LCAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKnRwX25ldyovCit9OworCiAKIC8qIGhlbHBlciByb3V0aW5lcyBmb3Igc2VlZGluZyB0aGUgU1NMIFBSTkcgKi8KIHN0YXRpYyBQeU9iamVjdCAqCkBAIC0zMzY1LDggKzM4MTgsNiBAQAogZmFpbHMgb3IgaWYgaXQgZG9lcyBub3QgcHJvdmlkZSBlbm91Z2ggZGF0YSB0byBzZWVkIFBSTkcuIik7CiAjZW5kaWYgLyogSEFWRV9SQU5EX0VHRCAqLwogCi0jZW5kaWYgLyogSEFWRV9PUEVOU1NMX1JBTkQgKi8KLQogCiBQeURvY19TVFJWQVIoUHlTU0xfZ2V0X2RlZmF1bHRfdmVyaWZ5X3BhdGhzX2RvYywKICJnZXRfZGVmYXVsdF92ZXJpZnlfcGF0aHMoKSAtPiB0dXBsZVxuXApAQCAtMzc1Miw3ICs0MjAzLDYgQEAKIHN0YXRpYyBQeU1ldGhvZERlZiBQeVNTTF9tZXRob2RzW10gPSB7CiAgICAgeyJfdGVzdF9kZWNvZGVfY2VydCIsICAgICAgIFB5U1NMX3Rlc3RfZGVjb2RlX2NlcnRpZmljYXRlLAogICAgICBNRVRIX1ZBUkFSR1N9LAotI2lmZGVmIEhBVkVfT1BFTlNTTF9SQU5ECiAgICAgeyJSQU5EX2FkZCIsICAgICAgICAgICAgUHlTU0xfUkFORF9hZGQsIE1FVEhfVkFSQVJHUywKICAgICAgUHlTU0xfUkFORF9hZGRfZG9jfSwKICAgICB7IlJBTkRfYnl0ZXMiLCAgICAgICAgICBQeVNTTF9SQU5EX2J5dGVzLCBNRVRIX1ZBUkFSR1MsCkBAIC0zNzY1LDcgKzQyMTUsNiBAQAogI2VuZGlmCiAgICAgeyJSQU5EX3N0YXR1cyIsICAgICAgICAgKFB5Q0Z1bmN0aW9uKVB5U1NMX1JBTkRfc3RhdHVzLCBNRVRIX05PQVJHUywKICAgICAgUHlTU0xfUkFORF9zdGF0dXNfZG9jfSwKLSNlbmRpZgogICAgIHsiZ2V0X2RlZmF1bHRfdmVyaWZ5X3BhdGhzIiwgKFB5Q0Z1bmN0aW9uKVB5U1NMX2dldF9kZWZhdWx0X3ZlcmlmeV9wYXRocywKICAgICAgTUVUSF9OT0FSR1MsIFB5U1NMX2dldF9kZWZhdWx0X3ZlcmlmeV9wYXRoc19kb2N9LAogI2lmZGVmIF9NU0NfVkVSCkBAIC0zOTE3LDYgKzQzNjYsOCBAQAogICAgICAgICByZXR1cm4gTlVMTDsKICAgICBpZiAoUHlUeXBlX1JlYWR5KCZQeVNTTFNvY2tldF9UeXBlKSA8IDApCiAgICAgICAgIHJldHVybiBOVUxMOworICAgIGlmIChQeVR5cGVfUmVhZHkoJlB5U1NMTWVtb3J5QklPX1R5cGUpIDwgMCkKKyAgICAgICAgcmV0dXJuIE5VTEw7CiAKICAgICBtID0gUHlNb2R1bGVfQ3JlYXRlKCZfc3NsbW9kdWxlKTsKICAgICBpZiAobSA9PSBOVUxMKQpAQCAtMzk4MCw2ICs0NDMxLDkgQEAKICAgICBpZiAoUHlEaWN0X1NldEl0ZW1TdHJpbmcoZCwgIl9TU0xTb2NrZXQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoUHlPYmplY3QgKikmUHlTU0xTb2NrZXRfVHlwZSkgIT0gMCkKICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgaWYgKFB5RGljdF9TZXRJdGVtU3RyaW5nKGQsICJNZW1vcnlCSU8iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoUHlPYmplY3QgKikmUHlTU0xNZW1vcnlCSU9fVHlwZSkgIT0gMCkKKyAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgUHlNb2R1bGVfQWRkSW50Q29uc3RhbnQobSwgIlNTTF9FUlJPUl9aRVJPX1JFVFVSTiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUFlfU1NMX0VSUk9SX1pFUk9fUkVUVVJOKTsKICAgICBQeU1vZHVsZV9BZGRJbnRDb25zdGFudChtLCAiU1NMX0VSUk9SX1dBTlRfUkVBRCIsCkBAIC00MTE2LDExICs0NTcwLDcgQEAKICAgICBQeV9JTkNSRUYocik7CiAgICAgUHlNb2R1bGVfQWRkT2JqZWN0KG0sICJIQVNfU05JIiwgcik7CiAKLSNpZiBIQVZFX09QRU5TU0xfRklOSVNIRUQKICAgICByID0gUHlfVHJ1ZTsKLSNlbHNlCi0gICAgciA9IFB5X0ZhbHNlOwotI2VuZGlmCiAgICAgUHlfSU5DUkVGKHIpOwogICAgIFB5TW9kdWxlX0FkZE9iamVjdChtLCAiSEFTX1RMU19VTklRVUUiLCByKTsKIApAQCAtNDE0MCw2ICs0NTkwLDE0IEBACiAgICAgUHlfSU5DUkVGKHIpOwogICAgIFB5TW9kdWxlX0FkZE9iamVjdChtLCAiSEFTX05QTiIsIHIpOwogCisjaWZkZWYgSEFWRV9BTFBOCisgICAgciA9IFB5X1RydWU7CisjZWxzZQorICAgIHIgPSBQeV9GYWxzZTsKKyNlbmRpZgorICAgIFB5X0lOQ1JFRihyKTsKKyAgICBQeU1vZHVsZV9BZGRPYmplY3QobSwgIkhBU19BTFBOIiwgcik7CisKICAgICAvKiBNYXBwaW5ncyBmb3IgZXJyb3IgY29kZXMgKi8KICAgICBlcnJfY29kZXNfdG9fbmFtZXMgPSBQeURpY3RfTmV3KCk7CiAgICAgZXJyX25hbWVzX3RvX2NvZGVzID0gUHlEaWN0X05ldygpOwpkaWZmIC0tZ2l0IGEvTW9kdWxlcy9fc3RhdC5jIGIvTW9kdWxlcy9fc3RhdC5jCmluZGV4IGEzMDFmYTguLmY2Y2IzMDMgMTAwNjQ0Ci0tLSBhL01vZHVsZXMvX3N0YXQuYworKysgYi9Nb2R1bGVzL19zdGF0LmMKQEAgLTI3LDkgKzI3LDIxIEBACiAjZW5kaWYgLyogSEFWRV9TWVNfU1RBVF9IICovCiAKICNpZmRlZiBNU19XSU5ET1dTCisjaW5jbHVkZSA8d2luZG93cy5oPgogdHlwZWRlZiB1bnNpZ25lZCBzaG9ydCBtb2RlX3Q7CisKKy8qIEZJTEVfQVRUUklCVVRFX0lOVEVHUklUWV9TVFJFQU0gYW5kIEZJTEVfQVRUUklCVVRFX05PX1NDUlVCX0RBVEEKKyAgIGFyZSBub3QgcHJlc2VudCBpbiBWQzIwMTAsIHNvIGRlZmluZSB0aGVtIG1hbnVhbGx5ICovCisjaWZuZGVmIEZJTEVfQVRUUklCVVRFX0lOVEVHUklUWV9TVFJFQU0KKyMgIGRlZmluZSBGSUxFX0FUVFJJQlVURV9JTlRFR1JJVFlfU1RSRUFNIDB4ODAwMAogI2VuZGlmCiAKKyNpZm5kZWYgRklMRV9BVFRSSUJVVEVfTk9fU0NSVUJfREFUQQorIyAgZGVmaW5lIEZJTEVfQVRUUklCVVRFX05PX1NDUlVCX0RBVEEgMHgyMDAwMAorI2VuZGlmCisKKyNlbmRpZiAvKiBNU19XSU5ET1dTICovCisKIC8qIEZyb20gUHl0aG9uJ3Mgc3RhdC5weSAqLwogI2lmbmRlZiBTX0lNT0RFCiAjICBkZWZpbmUgU19JTU9ERSAwNzc3NwpAQCAtNDczLDYgKzQ4NSwxMCBAQAogU1RfQVRJTUVcblwKIFNUX01USU1FXG5cCiBTVF9DVElNRVxuXAorXG4iCisKKyJGSUxFX0FUVFJJQlVURV8qOiBXaW5kb3dzIGZpbGUgYXR0cmlidXRlIGNvbnN0YW50c1xuXAorICAgICAgICAgICAgICAgICAgIChvbmx5IHByZXNlbnQgb24gV2luZG93cylcblwKICIpOwogCiAKQEAgLTU1NSw2ICs1NzEsMjYgQEAKICAgICBpZiAoUHlNb2R1bGVfQWRkSW50Q29uc3RhbnQobSwgIlNUX01USU1FIiwgOCkpIHJldHVybiBOVUxMOwogICAgIGlmIChQeU1vZHVsZV9BZGRJbnRDb25zdGFudChtLCAiU1RfQ1RJTUUiLCA5KSkgcmV0dXJuIE5VTEw7CiAKKyNpZmRlZiBNU19XSU5ET1dTCisgICAgaWYgKFB5TW9kdWxlX0FkZEludE1hY3JvKG0sIEZJTEVfQVRUUklCVVRFX0FSQ0hJVkUpKSByZXR1cm4gTlVMTDsKKyAgICBpZiAoUHlNb2R1bGVfQWRkSW50TWFjcm8obSwgRklMRV9BVFRSSUJVVEVfQ09NUFJFU1NFRCkpIHJldHVybiBOVUxMOworICAgIGlmIChQeU1vZHVsZV9BZGRJbnRNYWNybyhtLCBGSUxFX0FUVFJJQlVURV9ERVZJQ0UpKSByZXR1cm4gTlVMTDsKKyAgICBpZiAoUHlNb2R1bGVfQWRkSW50TWFjcm8obSwgRklMRV9BVFRSSUJVVEVfRElSRUNUT1JZKSkgcmV0dXJuIE5VTEw7CisgICAgaWYgKFB5TW9kdWxlX0FkZEludE1hY3JvKG0sIEZJTEVfQVRUUklCVVRFX0VOQ1JZUFRFRCkpIHJldHVybiBOVUxMOworICAgIGlmIChQeU1vZHVsZV9BZGRJbnRNYWNybyhtLCBGSUxFX0FUVFJJQlVURV9ISURERU4pKSByZXR1cm4gTlVMTDsKKyAgICBpZiAoUHlNb2R1bGVfQWRkSW50TWFjcm8obSwgRklMRV9BVFRSSUJVVEVfSU5URUdSSVRZX1NUUkVBTSkpIHJldHVybiBOVUxMOworICAgIGlmIChQeU1vZHVsZV9BZGRJbnRNYWNybyhtLCBGSUxFX0FUVFJJQlVURV9OT1JNQUwpKSByZXR1cm4gTlVMTDsKKyAgICBpZiAoUHlNb2R1bGVfQWRkSW50TWFjcm8obSwgRklMRV9BVFRSSUJVVEVfTk9UX0NPTlRFTlRfSU5ERVhFRCkpIHJldHVybiBOVUxMOworICAgIGlmIChQeU1vZHVsZV9BZGRJbnRNYWNybyhtLCBGSUxFX0FUVFJJQlVURV9OT19TQ1JVQl9EQVRBKSkgcmV0dXJuIE5VTEw7CisgICAgaWYgKFB5TW9kdWxlX0FkZEludE1hY3JvKG0sIEZJTEVfQVRUUklCVVRFX09GRkxJTkUpKSByZXR1cm4gTlVMTDsKKyAgICBpZiAoUHlNb2R1bGVfQWRkSW50TWFjcm8obSwgRklMRV9BVFRSSUJVVEVfUkVBRE9OTFkpKSByZXR1cm4gTlVMTDsKKyAgICBpZiAoUHlNb2R1bGVfQWRkSW50TWFjcm8obSwgRklMRV9BVFRSSUJVVEVfUkVQQVJTRV9QT0lOVCkpIHJldHVybiBOVUxMOworICAgIGlmIChQeU1vZHVsZV9BZGRJbnRNYWNybyhtLCBGSUxFX0FUVFJJQlVURV9TUEFSU0VfRklMRSkpIHJldHVybiBOVUxMOworICAgIGlmIChQeU1vZHVsZV9BZGRJbnRNYWNybyhtLCBGSUxFX0FUVFJJQlVURV9TWVNURU0pKSByZXR1cm4gTlVMTDsKKyAgICBpZiAoUHlNb2R1bGVfQWRkSW50TWFjcm8obSwgRklMRV9BVFRSSUJVVEVfVEVNUE9SQVJZKSkgcmV0dXJuIE5VTEw7CisgICAgaWYgKFB5TW9kdWxlX0FkZEludE1hY3JvKG0sIEZJTEVfQVRUUklCVVRFX1ZJUlRVQUwpKSByZXR1cm4gTlVMTDsKKyNlbmRpZgorCiAgICAgcmV0dXJuIG07CiB9CiAKZGlmZiAtLWdpdCBhL01vZHVsZXMvX3N0cnVjdC5jIGIvTW9kdWxlcy9fc3RydWN0LmMKaW5kZXggYWQ5OTU5ZS4uMDY4YzVkMSAxMDA2NDQKLS0tIGEvTW9kdWxlcy9fc3RydWN0LmMKKysrIGIvTW9kdWxlcy9fc3RydWN0LmMKQEAgLTg1LDggKzg1LDYgQEAKICNkZWZpbmUgQk9PTF9BTElHTiAwCiAjZW5kaWYKIAotI2RlZmluZSBTVFJJTkdJRlkoeCkgICAgI3gKLQogI2lmZGVmIF9fcG93ZXJjCiAjcHJhZ21hIG9wdGlvbnMgYWxpZ249cmVzZXQKICNlbmRpZgpAQCAtNTQ2LDggKzU0NCw4IEBACiAgICAgICAgIHJldHVybiAtMTsKICAgICBpZiAoeCA8IFNIUlRfTUlOIHx8IHggPiBTSFJUX01BWCl7CiAgICAgICAgIFB5RXJyX1NldFN0cmluZyhTdHJ1Y3RFcnJvciwKLSAgICAgICAgICAgICAgICAgICAgICAgICJzaG9ydCBmb3JtYXQgcmVxdWlyZXMgIiBTVFJJTkdJRlkoU0hSVF9NSU4pCi0gICAgICAgICAgICAgICAgICAgICAgICAiIDw9IG51bWJlciA8PSAiIFNUUklOR0lGWShTSFJUX01BWCkpOworICAgICAgICAgICAgICAgICAgICAgICAgInNob3J0IGZvcm1hdCByZXF1aXJlcyAiIFB5X1NUUklOR0lGWShTSFJUX01JTikKKyAgICAgICAgICAgICAgICAgICAgICAgICIgPD0gbnVtYmVyIDw9ICIgUHlfU1RSSU5HSUZZKFNIUlRfTUFYKSk7CiAgICAgICAgIHJldHVybiAtMTsKICAgICB9CiAgICAgeSA9IChzaG9ydCl4OwpAQCAtNTY0LDcgKzU2Miw4IEBACiAgICAgICAgIHJldHVybiAtMTsKICAgICBpZiAoeCA8IDAgfHwgeCA+IFVTSFJUX01BWCl7CiAgICAgICAgIFB5RXJyX1NldFN0cmluZyhTdHJ1Y3RFcnJvciwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ1c2hvcnQgZm9ybWF0IHJlcXVpcmVzIDAgPD0gbnVtYmVyIDw9ICIgU1RSSU5HSUZZKFVTSFJUX01BWCkpOworICAgICAgICAgICAgICAgICAgICAgICAgInVzaG9ydCBmb3JtYXQgcmVxdWlyZXMgMCA8PSBudW1iZXIgPD0gIgorICAgICAgICAgICAgICAgICAgICAgICAgUHlfU1RSSU5HSUZZKFVTSFJUX01BWCkpOwogICAgICAgICByZXR1cm4gLTE7CiAgICAgfQogICAgIHkgPSAodW5zaWduZWQgc2hvcnQpeDsKQEAgLTEyNjQsNyArMTI2Myw4IEBACiAgICAgY29uc3QgY2hhciAqczsKICAgICBjb25zdCBjaGFyICpmbXQ7CiAgICAgY2hhciBjOwotICAgIFB5X3NzaXplX3Qgc2l6ZSwgbGVuLCBuY29kZXMsIG51bSwgaXRlbXNpemU7CisgICAgUHlfc3NpemVfdCBzaXplLCBsZW4sIG51bSwgaXRlbXNpemU7CisgICAgc2l6ZV90IG5jb2RlczsKIAogICAgIGZtdCA9IFB5Qnl0ZXNfQVNfU1RSSU5HKHNlbGYtPnNfZm9ybWF0KTsKIApAQCAtMTMyMCw3ICsxMzIwLDcgQEAKICAgICB9CiAKICAgICAvKiBjaGVjayBmb3Igb3ZlcmZsb3cgKi8KLSAgICBpZiAoKG5jb2RlcyArIDEpID4gKFBZX1NTSVpFX1RfTUFYIC8gc2l6ZW9mKGZvcm1hdGNvZGUpKSkgeworICAgIGlmICgobmNvZGVzICsgMSkgPiAoKHNpemVfdClQWV9TU0laRV9UX01BWCAvIHNpemVvZihmb3JtYXRjb2RlKSkpIHsKICAgICAgICAgUHlFcnJfTm9NZW1vcnkoKTsKICAgICAgICAgcmV0dXJuIC0xOwogICAgIH0KZGlmZiAtLWdpdCBhL01vZHVsZXMvX3Rlc3RidWZmZXIuYyBiL01vZHVsZXMvX3Rlc3RidWZmZXIuYwppbmRleCAxNzZkZjdjLi5kZTdiNTY3IDEwMDY0NAotLS0gYS9Nb2R1bGVzL190ZXN0YnVmZmVyLmMKKysrIGIvTW9kdWxlcy9fdGVzdGJ1ZmZlci5jCkBAIC0xNTEwLDYgKzE1MTAsMTkgQEAKICAgICAgICAgdmlldy0+c2hhcGUgPSBOVUxMOwogICAgIH0KIAorICAgIC8qIEFzY2VydGFpbiB0aGF0IHRoZSBuZXcgYnVmZmVyIGhhcyB0aGUgc2FtZSBjb250aWd1aXR5IGFzIHRoZSBleHBvcnRlciAqLworICAgIGlmIChORF9DX0NPTlRJR1VPVVMoYmFzZWZsYWdzKSAhPSBQeUJ1ZmZlcl9Jc0NvbnRpZ3VvdXModmlldywgJ0MnKSB8fAorICAgICAgICAvKiBza2lwIGNhc3QgdG8gMS1kICovCisgICAgICAgICh2aWV3LT5mb3JtYXQgIT0gTlVMTCAmJiB2aWV3LT5zaGFwZSAhPSBOVUxMICYmCisgICAgICAgICBORF9GT1JUUkFOX0NPTlRJR1VPVVMoYmFzZWZsYWdzKSAhPSBQeUJ1ZmZlcl9Jc0NvbnRpZ3VvdXModmlldywgJ0YnKSkgfHwKKyAgICAgICAgLyogY2FzdCB0byAxLWQgKi8KKyAgICAgICAgKHZpZXctPmZvcm1hdCA9PSBOVUxMICYmIHZpZXctPnNoYXBlID09IE5VTEwgJiYKKyAgICAgICAgICFQeUJ1ZmZlcl9Jc0NvbnRpZ3VvdXModmlldywgJ0YnKSkpIHsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX0J1ZmZlckVycm9yLAorICAgICAgICAgICAgIm5kYXJyYXk6IGNvbnRpZ3VpdHkgbWlzbWF0Y2ggaW4gZ2V0YnVmKCkiKTsKKyAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICB9CisKICAgICB2aWV3LT5vYmogPSAoUHlPYmplY3QgKilzZWxmOwogICAgIFB5X0lOQ1JFRih2aWV3LT5vYmopOwogICAgIHNlbGYtPmhlYWQtPmV4cG9ydHMrKzsKQEAgLTIyMDYsNiArMjIxOSw4IEBACiAgICAgZm9yIChpID0gMDsgaSA8IGJhc2UtPm5kaW07IGkrKykKICAgICAgICAgYmFzZS0+c3Vib2Zmc2V0c1tpXSA9IC0xOwogCisgICAgbmQtPmhlYWQtPmZsYWdzICY9IH4oTkRfQ3xORF9GT1JUUkFOKTsKKwogICAgIFB5X1JFVFVSTl9OT05FOwogfQogCkBAIC0yNDY5LDEzICsyNDg0LDEyIEBACiB7CiAgICAgUHlfc3NpemVfdCBpOwogCi0gICAgaWYgKG5kaW0gPT0gMSAmJiBzaGFwZSAmJiBzaGFwZVswXSA9PSAxKSB7Ci0gICAgICAgIC8qIFRoaXMgaXMgZm9yIGNvbXBhcmluZyBzdHJpZGVzOiBGb3IgZXhhbXBsZSwgdGhlIGFycmF5Ci0gICAgICAgICAgIFsxNzVdLCBzaGFwZT1bMV0sIHN0cmlkZXM9Wy01XSBpcyBjb25zaWRlcmVkIGNvbnRpZ3VvdXMuICovCi0gICAgICAgIHJldHVybiAxOwotICAgIH0KIAogICAgIGZvciAoaSA9IDA7IGkgPCBuZGltOyBpKyspIHsKKyAgICAgICAgaWYgKHNoYXBlICYmIHNoYXBlW2ldIDw9IDEpIHsKKyAgICAgICAgICAgIC8qIHN0cmlkZXMgY2FuIGRpZmZlciBpZiB0aGUgZGltZW5zaW9uIGlzIGxlc3MgdGhhbiAyICovCisgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgfQogICAgICAgICBpZiAoYTFbaV0gIT0gYTJbaV0pIHsKICAgICAgICAgICAgIHJldHVybiAwOwogICAgICAgICB9CkBAIC0yNTU1LDMwICsyNTY5LDM1IEBACiAgICAgUHlPYmplY3QgKm9iajsKICAgICBQeU9iamVjdCAqb3JkZXI7CiAgICAgUHlPYmplY3QgKnJldCA9IE5VTEw7Ci0gICAgUHlfYnVmZmVyIHZpZXc7CisgICAgUHlfYnVmZmVyIHZpZXcsICpiYXNlOwogICAgIGNoYXIgb3JkOwogCiAgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJPTyIsICZvYmosICZvcmRlcikpIHsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQogCi0gICAgaWYgKFB5T2JqZWN0X0dldEJ1ZmZlcihvYmosICZ2aWV3LCBQeUJVRl9GVUxMX1JPKSA8IDApIHsKLSAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwKLSAgICAgICAgICAgICJpc19jb250aWd1b3VzOiBvYmplY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBidWZmZXIgIgotICAgICAgICAgICAgInByb3RvY29sIik7CisgICAgb3JkID0gZ2V0X2FzY2lpX29yZGVyKG9yZGVyKTsKKyAgICBpZiAob3JkID09IENIQVJfTUFYKSB7CiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KIAotICAgIG9yZCA9IGdldF9hc2NpaV9vcmRlcihvcmRlcik7Ci0gICAgaWYgKG9yZCA9PSBDSEFSX01BWCkgewotICAgICAgICBnb3RvIHJlbGVhc2U7CisgICAgaWYgKE5EQXJyYXlfQ2hlY2sob2JqKSkgeworICAgICAgICAvKiBTa2lwIHRoZSBidWZmZXIgcHJvdG9jb2wgdG8gY2hlY2sgc2ltcGxlIGV0Yy4gYnVmZmVycyBkaXJlY3RseS4gKi8KKyAgICAgICAgYmFzZSA9ICYoKE5EQXJyYXlPYmplY3QgKilvYmopLT5oZWFkLT5iYXNlOworICAgICAgICByZXQgPSBQeUJ1ZmZlcl9Jc0NvbnRpZ3VvdXMoYmFzZSwgb3JkKSA/IFB5X1RydWUgOiBQeV9GYWxzZTsKKyAgICB9CisgICAgZWxzZSB7CisgICAgICAgIGlmIChQeU9iamVjdF9HZXRCdWZmZXIob2JqLCAmdmlldywgUHlCVUZfRlVMTF9STykgPCAwKSB7CisgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLAorICAgICAgICAgICAgICAgICJpc19jb250aWd1b3VzOiBvYmplY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBidWZmZXIgIgorICAgICAgICAgICAgICAgICJwcm90b2NvbCIpOworICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgIH0KKyAgICAgICAgcmV0ID0gUHlCdWZmZXJfSXNDb250aWd1b3VzKCZ2aWV3LCBvcmQpID8gUHlfVHJ1ZSA6IFB5X0ZhbHNlOworICAgICAgICBQeUJ1ZmZlcl9SZWxlYXNlKCZ2aWV3KTsKICAgICB9CiAKLSAgICByZXQgPSBQeUJ1ZmZlcl9Jc0NvbnRpZ3VvdXMoJnZpZXcsIG9yZCkgPyBQeV9UcnVlIDogUHlfRmFsc2U7CiAgICAgUHlfSU5DUkVGKHJldCk7Ci0KLXJlbGVhc2U6Ci0gICAgUHlCdWZmZXJfUmVsZWFzZSgmdmlldyk7CiAgICAgcmV0dXJuIHJldDsKIH0KIApkaWZmIC0tZ2l0IGEvTW9kdWxlcy9fdGVzdGNhcGltb2R1bGUuYyBiL01vZHVsZXMvX3Rlc3RjYXBpbW9kdWxlLmMKaW5kZXggY2Y0YjBlMS4uNzQxNTlhNyAxMDA2NDQKLS0tIGEvTW9kdWxlcy9fdGVzdGNhcGltb2R1bGUuYworKysgYi9Nb2R1bGVzL190ZXN0Y2FwaW1vZHVsZS5jCkBAIC0xMiw2ICsxMiw3IEBACiAjaW5jbHVkZSAic3RydWN0bWVtYmVyLmgiCiAjaW5jbHVkZSAiZGF0ZXRpbWUuaCIKICNpbmNsdWRlICJtYXJzaGFsLmgiCisjaW5jbHVkZSA8c2lnbmFsLmg+CiAKICNpZmRlZiBXSVRIX1RIUkVBRAogI2luY2x1ZGUgInB5dGhyZWFkLmgiCkBAIC0xNzE5LDcgKzE3MjAsNyBAQAogICAgICAgICAgICAgIHstMHhmZmZmTCwgMTYsIC0xfSwKICAgICAgICAgICAgICB7MHhmZmZmZmZmTCwgMjgsIDF9LAogICAgICAgICAgICAgIHstMHhmZmZmZmZmTCwgMjgsIC0xfX07Ci0gICAgaW50IGk7CisgICAgc2l6ZV90IGk7CiAKICAgICBmb3IgKGkgPSAwOyBpIDwgUHlfQVJSQVlfTEVOR1RIKHRlc3RjYXNlcyk7ICsraSkgewogICAgICAgICBzaXplX3QgbmJpdHM7CkBAIC0yNTE5LDYgKzI1MjAsNTggQEAKICAgICBQeV9SRVRVUk5fTk9ORTsKIH0KIAorI2lmIChkZWZpbmVkKF9fbGludXhfXykgfHwgZGVmaW5lZChfX0ZyZWVCU0RfXykpICYmIGRlZmluZWQoX19HTlVDX18pCitleHRlcm4gUHlUeXBlT2JqZWN0IF9QeUJ5dGVzSU9CdWZmZXJfVHlwZTsKKworc3RhdGljIFB5T2JqZWN0ICoKK3Rlc3RfcGVwMzExOF9vYnNvbGV0ZV93cml0ZV9sb2NrcyhQeU9iamVjdCogc2VsZiwgUHlPYmplY3QgKm5vYXJncykKK3sKKyAgICBQeVR5cGVPYmplY3QgKnR5cGUgPSAmX1B5Qnl0ZXNJT0J1ZmZlcl9UeXBlOworICAgIFB5T2JqZWN0ICpiOworICAgIGNoYXIgKmR1bW15WzFdOworICAgIGludCByZXQsIG1hdGNoOworCisgICAgLyogUHlCdWZmZXJfRmlsbEluZm8oKSAqLworICAgIHJldCA9IFB5QnVmZmVyX0ZpbGxJbmZvKE5VTEwsIE5VTEwsIGR1bW15LCAxLCAwLCBQeUJVRl9TSU1QTEUpOworICAgIG1hdGNoID0gUHlFcnJfT2NjdXJyZWQoKSAmJiBQeUVycl9FeGNlcHRpb25NYXRjaGVzKFB5RXhjX0J1ZmZlckVycm9yKTsKKyAgICBQeUVycl9DbGVhcigpOworICAgIGlmIChyZXQgIT0gLTEgfHwgbWF0Y2ggPT0gMCkKKyAgICAgICAgZ290byBlcnJvcjsKKworICAgIC8qIGJ5dGVzaW9idWZfZ2V0YnVmZmVyKCkgKi8KKyAgICBiID0gdHlwZS0+dHBfYWxsb2ModHlwZSwgMCk7CisgICAgaWYgKGIgPT0gTlVMTCkgeworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisKKyAgICByZXQgPSBQeU9iamVjdF9HZXRCdWZmZXIoYiwgTlVMTCwgUHlCVUZfU0lNUExFKTsKKyAgICBQeV9ERUNSRUYoYik7CisgICAgbWF0Y2ggPSBQeUVycl9PY2N1cnJlZCgpICYmIFB5RXJyX0V4Y2VwdGlvbk1hdGNoZXMoUHlFeGNfQnVmZmVyRXJyb3IpOworICAgIFB5RXJyX0NsZWFyKCk7CisgICAgaWYgKHJldCAhPSAtMSB8fCBtYXRjaCA9PSAwKQorICAgICAgICBnb3RvIGVycm9yOworCisgICAgUHlfUkVUVVJOX05PTkU7CisKK2Vycm9yOgorICAgIFB5RXJyX1NldFN0cmluZyhUZXN0RXJyb3IsCisgICAgICAgICJ0ZXN0X3BlcDMxMThfb2Jzb2xldGVfd3JpdGVfbG9ja3M6IGZhaWx1cmUiKTsKKyAgICByZXR1cm4gTlVMTDsKK30KKyNlbmRpZgorCisvKiBUaGlzIHRlc3RzIGZ1bmN0aW9ucyB0aGF0IGhpc3RvcmljYWxseSBzdXBwb3J0ZWQgd3JpdGUgbG9ja3MuICBJdCBpcworICAgd3JvbmcgdG8gY2FsbCBnZXRidWZmZXIoKSB3aXRoIHZpZXc9PU5VTEwgYW5kIGEgY29tcGxpYW50IGdldGJ1ZmZlcnByb2MKKyAgIGlzIGVudGl0bGVkIHRvIHNlZ2ZhdWx0IGluIHRoYXQgY2FzZS4gKi8KK3N0YXRpYyBQeU9iamVjdCAqCitnZXRidWZmZXJfd2l0aF9udWxsX3ZpZXcoUHlPYmplY3QqIHNlbGYsIFB5T2JqZWN0ICpvYmopCit7CisgICAgaWYgKFB5T2JqZWN0X0dldEJ1ZmZlcihvYmosIE5VTEwsIFB5QlVGX1NJTVBMRSkgPCAwKQorICAgICAgICByZXR1cm4gTlVMTDsKKworICAgIFB5X1JFVFVSTl9OT05FOworfQorCiAvKiBUZXN0IHRoYXQgdGhlIGZhdGFsIGVycm9yIGZyb20gbm90IGhhdmluZyBhIGN1cnJlbnQgdGhyZWFkIGRvZXNuJ3QKICAgIGNhdXNlIGFuIGluZmluaXRlIGxvb3AuICBSdW4gdmlhIExpYi90ZXN0L3Rlc3RfY2FwaS5weSAqLwogc3RhdGljIFB5T2JqZWN0ICoKQEAgLTI3MDMsNiArMjc1NiwyMSBAQAogICAgIHJldHVybiBvYmo7CiB9CiAKK3N0YXRpYyBQeU1ldGhvZERlZiBtbDsKKworc3RhdGljIFB5T2JqZWN0ICoKK2NyZWF0ZV9jZnVuY3Rpb24oUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQoreworICAgIHJldHVybiBQeUNGdW5jdGlvbl9OZXdFeCgmbWwsIHNlbGYsIE5VTEwpOworfQorCitzdGF0aWMgUHlNZXRob2REZWYgbWwgPSB7CisgICAgImNyZWF0ZV9jZnVuY3Rpb24iLAorICAgIGNyZWF0ZV9jZnVuY3Rpb24sCisgICAgTUVUSF9OT0FSR1MsCisgICAgTlVMTAorfTsKKwogc3RhdGljIFB5T2JqZWN0ICoKIF90ZXN0X2luY3JlZihQeU9iamVjdCAqb2IpCiB7CkBAIC0yNzYxLDYgKzI4MjksMjAgQEAKIHsKICAgICB2b2lkICpwdHI7CiAKKyAgICBwdHIgPSBQeU1lbV9SYXdNYWxsb2MoMCk7CisgICAgaWYgKHB0ciA9PSBOVUxMKSB7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19SdW50aW1lRXJyb3IsICJQeU1lbV9SYXdNYWxsb2MoMCkgcmV0dXJucyBOVUxMIik7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKyAgICBQeU1lbV9SYXdGcmVlKHB0cik7CisKKyAgICBwdHIgPSBQeU1lbV9SYXdDYWxsb2MoMCwgMCk7CisgICAgaWYgKHB0ciA9PSBOVUxMKSB7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19SdW50aW1lRXJyb3IsICJQeU1lbV9SYXdDYWxsb2MoMCwgMCkgcmV0dXJucyBOVUxMIik7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKyAgICBQeU1lbV9SYXdGcmVlKHB0cik7CisKICAgICBwdHIgPSBQeU1lbV9NYWxsb2MoMCk7CiAgICAgaWYgKHB0ciA9PSBOVUxMKSB7CiAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19SdW50aW1lRXJyb3IsICJQeU1lbV9NYWxsb2MoMCkgcmV0dXJucyBOVUxMIik7CkBAIC0yNzY4LDYgKzI4NTAsMTMgQEAKICAgICB9CiAgICAgUHlNZW1fRnJlZShwdHIpOwogCisgICAgcHRyID0gUHlNZW1fQ2FsbG9jKDAsIDApOworICAgIGlmIChwdHIgPT0gTlVMTCkgeworICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfUnVudGltZUVycm9yLCAiUHlNZW1fQ2FsbG9jKDAsIDApIHJldHVybnMgTlVMTCIpOworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisgICAgUHlNZW1fRnJlZShwdHIpOworCiAgICAgcHRyID0gUHlPYmplY3RfTWFsbG9jKDApOwogICAgIGlmIChwdHIgPT0gTlVMTCkgewogICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfUnVudGltZUVycm9yLCAiUHlPYmplY3RfTWFsbG9jKDApIHJldHVybnMgTlVMTCIpOwpAQCAtMjc3NSwxMyArMjg2NCwyMiBAQAogICAgIH0KICAgICBQeU9iamVjdF9GcmVlKHB0cik7CiAKKyAgICBwdHIgPSBQeU9iamVjdF9DYWxsb2MoMCwgMCk7CisgICAgaWYgKHB0ciA9PSBOVUxMKSB7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19SdW50aW1lRXJyb3IsICJQeU9iamVjdF9DYWxsb2MoMCwgMCkgcmV0dXJucyBOVUxMIik7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKyAgICBQeU9iamVjdF9GcmVlKHB0cik7CisKICAgICBQeV9SRVRVUk5fTk9ORTsKIH0KIAogdHlwZWRlZiBzdHJ1Y3QgewotICAgIFB5TWVtQWxsb2NhdG9yIGFsbG9jOworICAgIFB5TWVtQWxsb2NhdG9yRXggYWxsb2M7CiAKICAgICBzaXplX3QgbWFsbG9jX3NpemU7CisgICAgc2l6ZV90IGNhbGxvY19uZWxlbTsKKyAgICBzaXplX3QgY2FsbG9jX2Vsc2l6ZTsKICAgICB2b2lkICpyZWFsbG9jX3B0cjsKICAgICBzaXplX3QgcmVhbGxvY19uZXdfc2l6ZTsKICAgICB2b2lkICpmcmVlX3B0cjsKQEAgLTI3OTQsNiArMjg5MiwxNCBAQAogICAgIHJldHVybiBob29rLT5hbGxvYy5tYWxsb2MoaG9vay0+YWxsb2MuY3R4LCBzaXplKTsKIH0KIAorc3RhdGljIHZvaWQqIGhvb2tfY2FsbG9jICh2b2lkKiBjdHgsIHNpemVfdCBuZWxlbSwgc2l6ZV90IGVsc2l6ZSkKK3sKKyAgICBhbGxvY19ob29rX3QgKmhvb2sgPSAoYWxsb2NfaG9va190ICopY3R4OworICAgIGhvb2stPmNhbGxvY19uZWxlbSA9IG5lbGVtOworICAgIGhvb2stPmNhbGxvY19lbHNpemUgPSBlbHNpemU7CisgICAgcmV0dXJuIGhvb2stPmFsbG9jLmNhbGxvYyhob29rLT5hbGxvYy5jdHgsIG5lbGVtLCBlbHNpemUpOworfQorCiBzdGF0aWMgdm9pZCogaG9va19yZWFsbG9jICh2b2lkKiBjdHgsIHZvaWQqIHB0ciwgc2l6ZV90IG5ld19zaXplKQogewogICAgIGFsbG9jX2hvb2tfdCAqaG9vayA9IChhbGxvY19ob29rX3QgKiljdHg7CkBAIC0yODE1LDE3ICsyOTIxLDE1IEBACiAgICAgUHlPYmplY3QgKnJlcyA9IE5VTEw7CiAgICAgY29uc3QgY2hhciAqZXJyb3JfbXNnOwogICAgIGFsbG9jX2hvb2tfdCBob29rOwotICAgIFB5TWVtQWxsb2NhdG9yIGFsbG9jOwotICAgIHNpemVfdCBzaXplLCBzaXplMjsKKyAgICBQeU1lbUFsbG9jYXRvckV4IGFsbG9jOworICAgIHNpemVfdCBzaXplLCBzaXplMiwgbmVsZW0sIGVsc2l6ZTsKICAgICB2b2lkICpwdHIsICpwdHIyOwogCi0gICAgaG9vay5tYWxsb2Nfc2l6ZSA9IDA7Ci0gICAgaG9vay5yZWFsbG9jX3B0ciA9IE5VTEw7Ci0gICAgaG9vay5yZWFsbG9jX25ld19zaXplID0gMDsKLSAgICBob29rLmZyZWVfcHRyID0gTlVMTDsKKyAgICBtZW1zZXQoJmhvb2ssIDAsIHNpemVvZihob29rKSk7CiAKICAgICBhbGxvYy5jdHggPSAmaG9vazsKICAgICBhbGxvYy5tYWxsb2MgPSAmaG9va19tYWxsb2M7CisgICAgYWxsb2MuY2FsbG9jID0gJmhvb2tfY2FsbG9jOwogICAgIGFsbG9jLnJlYWxsb2MgPSAmaG9va19yZWFsbG9jOwogICAgIGFsbG9jLmZyZWUgPSAmaG9va19mcmVlOwogICAgIFB5TWVtX0dldEFsbG9jYXRvcihkb21haW4sICZob29rLmFsbG9jKTsKQEAgLTI4ODIsNiArMjk4NiwzMyBAQAogICAgICAgICBnb3RvIGZhaWw7CiAgICAgfQogCisgICAgbmVsZW0gPSAyOworICAgIGVsc2l6ZSA9IDU7CisgICAgc3dpdGNoKGRvbWFpbikKKyAgICB7CisgICAgY2FzZSBQWU1FTV9ET01BSU5fUkFXOiBwdHIgPSBQeU1lbV9SYXdDYWxsb2MobmVsZW0sIGVsc2l6ZSk7IGJyZWFrOworICAgIGNhc2UgUFlNRU1fRE9NQUlOX01FTTogcHRyID0gUHlNZW1fQ2FsbG9jKG5lbGVtLCBlbHNpemUpOyBicmVhazsKKyAgICBjYXNlIFBZTUVNX0RPTUFJTl9PQko6IHB0ciA9IFB5T2JqZWN0X0NhbGxvYyhuZWxlbSwgZWxzaXplKTsgYnJlYWs7CisgICAgZGVmYXVsdDogcHRyID0gTlVMTDsgYnJlYWs7CisgICAgfQorCisgICAgaWYgKHB0ciA9PSBOVUxMKSB7CisgICAgICAgIGVycm9yX21zZyA9ICJjYWxsb2MgZmFpbGVkIjsKKyAgICAgICAgZ290byBmYWlsOworICAgIH0KKworICAgIGlmIChob29rLmNhbGxvY19uZWxlbSAhPSBuZWxlbSB8fCBob29rLmNhbGxvY19lbHNpemUgIT0gZWxzaXplKSB7CisgICAgICAgIGVycm9yX21zZyA9ICJjYWxsb2MgaW52YWxpZCBuZWxlbSBvciBlbHNpemUiOworICAgICAgICBnb3RvIGZhaWw7CisgICAgfQorCisgICAgc3dpdGNoKGRvbWFpbikKKyAgICB7CisgICAgY2FzZSBQWU1FTV9ET01BSU5fUkFXOiBQeU1lbV9SYXdGcmVlKHB0cik7IGJyZWFrOworICAgIGNhc2UgUFlNRU1fRE9NQUlOX01FTTogUHlNZW1fRnJlZShwdHIpOyBicmVhazsKKyAgICBjYXNlIFBZTUVNX0RPTUFJTl9PQko6IFB5T2JqZWN0X0ZyZWUocHRyKTsgYnJlYWs7CisgICAgfQorCiAgICAgUHlfSU5DUkVGKFB5X05vbmUpOwogICAgIHJlcyA9IFB5X05vbmU7CiAgICAgZ290byBmaW5hbGx5OwpAQCAtMzA1MSw2ICszMTgyLDI0IEBACiB9CiAjZW5kaWYgICAvKiBXSVRIX1RIUkVBRCAqLwogCitzdGF0aWMgUHlPYmplY3QqCit0ZXN0X3JhaXNlX3NpZ25hbChQeU9iamVjdCogc2VsZiwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgaW50IHNpZ251bSwgZXJyOworCisgICAgaWYgKFB5QXJnX1BhcnNlVHVwbGUoYXJncywgImk6cmFpc2Vfc2lnbmFsIiwgJnNpZ251bSkgPCAwKQorICAgICAgICByZXR1cm4gTlVMTDsKKworICAgIGVyciA9IHJhaXNlKHNpZ251bSk7CisgICAgaWYgKGVycikKKyAgICAgICAgcmV0dXJuIFB5RXJyX1NldEZyb21FcnJubyhQeUV4Y19PU0Vycm9yKTsKKworICAgIGlmIChQeUVycl9DaGVja1NpZ25hbHMoKSA8IDApCisgICAgICAgIHJldHVybiBOVUxMOworCisgICAgUHlfUkVUVVJOX05PTkU7Cit9CisKIC8qIG1hcnNoYWwgKi8KIAogc3RhdGljIFB5T2JqZWN0KgpAQCAtMzIzNiw2ICszMzg1LDEwIEBACiAgICAgeyJ0ZXN0X3VuaWNvZGVfY29tcGFyZV93aXRoX2FzY2lpIiwgKFB5Q0Z1bmN0aW9uKXRlc3RfdW5pY29kZV9jb21wYXJlX3dpdGhfYXNjaWksIE1FVEhfTk9BUkdTfSwKICAgICB7InRlc3RfY2Fwc3VsZSIsIChQeUNGdW5jdGlvbil0ZXN0X2NhcHN1bGUsIE1FVEhfTk9BUkdTfSwKICAgICB7InRlc3RfZnJvbV9jb250aWd1b3VzIiwgKFB5Q0Z1bmN0aW9uKXRlc3RfZnJvbV9jb250aWd1b3VzLCBNRVRIX05PQVJHU30sCisjaWYgKGRlZmluZWQoX19saW51eF9fKSB8fCBkZWZpbmVkKF9fRnJlZUJTRF9fKSkgJiYgZGVmaW5lZChfX0dOVUNfXykKKyAgICB7InRlc3RfcGVwMzExOF9vYnNvbGV0ZV93cml0ZV9sb2NrcyIsIChQeUNGdW5jdGlvbil0ZXN0X3BlcDMxMThfb2Jzb2xldGVfd3JpdGVfbG9ja3MsIE1FVEhfTk9BUkdTfSwKKyNlbmRpZgorICAgIHsiZ2V0YnVmZmVyX3dpdGhfbnVsbF92aWV3IiwgZ2V0YnVmZmVyX3dpdGhfbnVsbF92aWV3LCBNRVRIX099LAogICAgIHsiZ2V0YXJnc190dXBsZSIsICAgICAgICAgICBnZXRhcmdzX3R1cGxlLCAgICAgICAgICAgICAgICAgICBNRVRIX1ZBUkFSR1N9LAogICAgIHsiZ2V0YXJnc19rZXl3b3JkcyIsIChQeUNGdW5jdGlvbilnZXRhcmdzX2tleXdvcmRzLAogICAgICAgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFN9LApAQCAtMzMwOSw2ICszNDYyLDcgQEAKICAgICB7InB5dGltZV9vYmplY3RfdG9fdGltZXZhbCIsIHRlc3RfcHl0aW1lX29iamVjdF90b190aW1ldmFsLCAgTUVUSF9WQVJBUkdTfSwKICAgICB7InB5dGltZV9vYmplY3RfdG9fdGltZXNwZWMiLCB0ZXN0X3B5dGltZV9vYmplY3RfdG9fdGltZXNwZWMsICBNRVRIX1ZBUkFSR1N9LAogICAgIHsid2l0aF90cF9kZWwiLCAgICAgICAgICAgICB3aXRoX3RwX2RlbCwgICAgICAgICAgICAgICAgICAgICBNRVRIX1ZBUkFSR1N9LAorICAgIHsiY3JlYXRlX2NmdW5jdGlvbiIsICAgICAgICBjcmVhdGVfY2Z1bmN0aW9uLCAgICAgICAgICAgICAgICBNRVRIX05PQVJHU30sCiAgICAgeyJ0ZXN0X3B5bWVtX2FsbG9jMCIsCiAgICAgIChQeUNGdW5jdGlvbil0ZXN0X3B5bWVtX2FsbG9jMCwgTUVUSF9OT0FSR1N9LAogICAgIHsidGVzdF9weW1lbV9zZXRyYXdhbGxvY2F0b3JzIiwKQEAgLTMzNDAsNiArMzQ5NCw4IEBACiAgICAgeyJkb2NzdHJpbmdfd2l0aF9zaWduYXR1cmVfd2l0aF9kZWZhdWx0cyIsCiAgICAgICAgIChQeUNGdW5jdGlvbil0ZXN0X3dpdGhfZG9jc3RyaW5nLCBNRVRIX05PQVJHUywKICAgICAgICAgZG9jc3RyaW5nX3dpdGhfc2lnbmF0dXJlX3dpdGhfZGVmYXVsdHN9LAorICAgIHsicmFpc2Vfc2lnbmFsIiwKKyAgICAgKFB5Q0Z1bmN0aW9uKXRlc3RfcmFpc2Vfc2lnbmFsLCBNRVRIX1ZBUkFSR1N9LAogI2lmZGVmIFdJVEhfVEhSRUFECiAgICAgeyJjYWxsX2luX3RlbXBvcmFyeV9jX3RocmVhZCIsIGNhbGxfaW5fdGVtcG9yYXJ5X2NfdGhyZWFkLCBNRVRIX08sCiAgICAgIFB5RG9jX1NUUigic2V0X2Vycm9yX2NsYXNzKGVycm9yX2NsYXNzKSAtPiBOb25lIil9LApAQCAtMzUxNSw2ICszNjcxLDEwOSBAQAogfTsKIAogCit0eXBlZGVmIHN0cnVjdCB7CisgICAgUHlPYmplY3RfSEVBRAorfSBtYXRtdWxPYmplY3Q7CisKK3N0YXRpYyBQeU9iamVjdCAqCittYXRtdWxUeXBlX21hdG11bChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKm90aGVyKQoreworICAgIHJldHVybiBQeV9CdWlsZFZhbHVlKCIoc09PKSIsICJtYXRtdWwiLCBzZWxmLCBvdGhlcik7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCittYXRtdWxUeXBlX2ltYXRtdWwoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpvdGhlcikKK3sKKyAgICByZXR1cm4gUHlfQnVpbGRWYWx1ZSgiKHNPTykiLCAiaW1hdG11bCIsIHNlbGYsIG90aGVyKTsKK30KKworc3RhdGljIHZvaWQKK21hdG11bFR5cGVfZGVhbGxvYyhQeU9iamVjdCAqc2VsZikKK3sKKyAgICBQeV9UWVBFKHNlbGYpLT50cF9mcmVlKHNlbGYpOworfQorCitzdGF0aWMgUHlOdW1iZXJNZXRob2RzIG1hdG11bFR5cGVfYXNfbnVtYmVyID0geworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBuYl9hZGQgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgLyogbmJfc3VidHJhY3QgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgLyogbmJfbXVsdGlwbHkgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgLyogbmJfcmVtYWluZGUgciovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIG5iX2Rpdm1vZCAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBuYl9wb3dlciAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBuYl9uZWdhdGl2ZSAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9wb3NpdGl2ZSAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9hYnNvbHV0ZSAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9ib29sICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIG5iX2ludmVydCAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBuYl9sc2hpZnQgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgLyogbmJfcnNoaWZ0ICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIG5iX2FuZCAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBuYl94b3IgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgLyogbmJfb3IgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgLyogbmJfaW50ICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIG5iX3Jlc2VydmVkICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIG5iX2Zsb2F0ICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIG5iX2lucGxhY2VfYWRkICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIG5iX2lucGxhY2Vfc3VidHJhY3QgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgLyogbmJfaW5wbGFjZV9tdWx0aXBseSAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBuYl9pbnBsYWNlX3JlbWFpbmRlciAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBuYl9pbnBsYWNlX3Bvd2VyICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIG5iX2lucGxhY2VfbHNoaWZ0ICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIG5iX2lucGxhY2VfcnNoaWZ0ICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIG5iX2lucGxhY2VfYW5kICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIG5iX2lucGxhY2VfeG9yICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIG5iX2lucGxhY2Vfb3IgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgLyogbmJfZmxvb3JfZGl2aWRlICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIG5iX3RydWVfZGl2aWRlICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIG5iX2lucGxhY2VfZmxvb3JfZGl2aWRlICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIG5iX2lucGxhY2VfdHJ1ZV9kaXZpZGUgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgLyogbmJfaW5kZXggKi8KKyAgICBtYXRtdWxUeXBlX21hdG11bCwgICAgICAgIC8qIG5iX21hdHJpeF9tdWx0aXBseSAqLworICAgIG1hdG11bFR5cGVfaW1hdG11bCAgICAgICAgLyogbmJfbWF0cml4X2lucGxhY2VfbXVsdGlwbHkgKi8KK307CisKK3N0YXRpYyBQeVR5cGVPYmplY3QgbWF0bXVsVHlwZSA9IHsKKyAgICBQeVZhck9iamVjdF9IRUFEX0lOSVQoTlVMTCwgMCkKKyAgICAibWF0bXVsVHlwZSIsCisgICAgc2l6ZW9mKG1hdG11bE9iamVjdCksICAgICAgICAgICAgICAgLyogdHBfYmFzaWNzaXplICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfaXRlbXNpemUgKi8KKyAgICBtYXRtdWxUeXBlX2RlYWxsb2MsICAgICAgICAgICAgICAgICAvKiBkZXN0cnVjdG9yIHRwX2RlYWxsb2MgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9wcmludCAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2dldGF0dHIgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9zZXRhdHRyICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfcmVzZXJ2ZWQgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9yZXByICovCisgICAgJm1hdG11bFR5cGVfYXNfbnVtYmVyLCAgICAgICAgICAgICAgLyogdHBfYXNfbnVtYmVyICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfYXNfc2VxdWVuY2UgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9hc19tYXBwaW5nICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfaGFzaCAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2NhbGwgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9zdHIgKi8KKyAgICBQeU9iamVjdF9HZW5lcmljR2V0QXR0ciwgICAgICAgICAgICAvKiB0cF9nZXRhdHRybyAqLworICAgIFB5T2JqZWN0X0dlbmVyaWNTZXRBdHRyLCAgICAgICAgICAgIC8qIHRwX3NldGF0dHJvICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfYXNfYnVmZmVyICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfZmxhZ3MgKi8KKyAgICAiQyBsZXZlbCB0eXBlIHdpdGggbWF0cml4IG9wZXJhdGlvbnMgZGVmaW5lZCIsCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHJhdmVyc2Vwcm9jIHRwX3RyYXZlcnNlICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfY2xlYXIgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9yaWNoY29tcGFyZSAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX3dlYWtsaXN0b2Zmc2V0ICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfaXRlciAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2l0ZXJuZXh0ICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfbWV0aG9kcyAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX21lbWJlcnMgKi8KKyAgICAwLAorICAgIDAsCisgICAgMCwKKyAgICAwLAorICAgIDAsCisgICAgMCwKKyAgICAwLAorICAgIDAsCisgICAgUHlUeXBlX0dlbmVyaWNOZXcsICAgICAgICAgICAgICAgICAgLyogdHBfbmV3ICovCisgICAgUHlPYmplY3RfRGVsLCAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfZnJlZSAqLworfTsKKwogCiBzdGF0aWMgc3RydWN0IFB5TW9kdWxlRGVmIF90ZXN0Y2FwaW1vZHVsZSA9IHsKICAgICBQeU1vZHVsZURlZl9IRUFEX0lOSVQsCkBAIC0zNTQ0LDYgKzM4MDMsMTAgQEAKICAgICAvKiBkb24ndCB1c2UgYSBuYW1lIHN0YXJ0aW5nIHdpdGggInRlc3QiLCBzaW5jZSB3ZSBkb24ndCB3YW50CiAgICAgICAgdGVzdF9jYXBpIHRvIGF1dG9tYXRpY2FsbHkgY2FsbCB0aGlzICovCiAgICAgUHlNb2R1bGVfQWRkT2JqZWN0KG0sICJfdGVzdF9zdHJ1Y3RtZW1iZXJzVHlwZSIsIChQeU9iamVjdCAqKSZ0ZXN0X3N0cnVjdG1lbWJlcnNUeXBlKTsKKyAgICBpZiAoUHlUeXBlX1JlYWR5KCZtYXRtdWxUeXBlKSA8IDApCisgICAgICAgIHJldHVybiBOVUxMOworICAgIFB5X0lOQ1JFRigmbWF0bXVsVHlwZSk7CisgICAgUHlNb2R1bGVfQWRkT2JqZWN0KG0sICJtYXRtdWxUeXBlIiwgKFB5T2JqZWN0ICopJm1hdG11bFR5cGUpOwogCiAgICAgUHlNb2R1bGVfQWRkT2JqZWN0KG0sICJDSEFSX01BWCIsIFB5TG9uZ19Gcm9tTG9uZyhDSEFSX01BWCkpOwogICAgIFB5TW9kdWxlX0FkZE9iamVjdChtLCAiQ0hBUl9NSU4iLCBQeUxvbmdfRnJvbUxvbmcoQ0hBUl9NSU4pKTsKZGlmZiAtLWdpdCBhL01vZHVsZXMvX3RocmVhZG1vZHVsZS5jIGIvTW9kdWxlcy9fdGhyZWFkbW9kdWxlLmMKaW5kZXggOTkyNWIwZS4uOGY1OWUwMyAxMDA2NDQKLS0tIGEvTW9kdWxlcy9fdGhyZWFkbW9kdWxlLmMKKysrIGIvTW9kdWxlcy9fdGhyZWFkbW9kdWxlLmMKQEAgLTU3LDcgKzU3LDcgQEAKIAogCiAgICAgaWYgKG1pY3Jvc2Vjb25kcyA+IDApIHsKLSAgICAgICAgX1B5VGltZV9nZXR0aW1lb2ZkYXkoJmVuZHRpbWUpOworICAgICAgICBfUHlUaW1lX21vbm90b25pYygmZW5kdGltZSk7CiAgICAgICAgIGVuZHRpbWUudHZfc2VjICs9IG1pY3Jvc2Vjb25kcyAvICgxMDAwICogMTAwMCk7CiAgICAgICAgIGVuZHRpbWUudHZfdXNlYyArPSBtaWNyb3NlY29uZHMgJSAoMTAwMCAqIDEwMDApOwogICAgIH0KQEAgLTgzLDcgKzgzLDcgQEAKICAgICAgICAgICAgIC8qIElmIHdlJ3JlIHVzaW5nIGEgdGltZW91dCwgcmVjb21wdXRlIHRoZSB0aW1lb3V0IGFmdGVyIHByb2Nlc3NpbmcKICAgICAgICAgICAgICAqIHNpZ25hbHMsIHNpbmNlIHRob3NlIGNhbiB0YWtlIHRpbWUuICAqLwogICAgICAgICAgICAgaWYgKG1pY3Jvc2Vjb25kcyA+IDApIHsKLSAgICAgICAgICAgICAgICBfUHlUaW1lX2dldHRpbWVvZmRheSgmY3VydGltZSk7CisgICAgICAgICAgICAgICAgX1B5VGltZV9tb25vdG9uaWMoJmN1cnRpbWUpOwogICAgICAgICAgICAgICAgIG1pY3Jvc2Vjb25kcyA9ICgoZW5kdGltZS50dl9zZWMgLSBjdXJ0aW1lLnR2X3NlYykgKiAxMDAwMDAwICsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGVuZHRpbWUudHZfdXNlYyAtIGN1cnRpbWUudHZfdXNlYykpOwogCkBAIC0xOTIsNiArMTkyLDEzIEBACiBcblwKIFJldHVybiB3aGV0aGVyIHRoZSBsb2NrIGlzIGluIHRoZSBsb2NrZWQgc3RhdGUuIik7CiAKK3N0YXRpYyBQeU9iamVjdCAqCitsb2NrX3JlcHIobG9ja29iamVjdCAqc2VsZikKK3sKKyAgICByZXR1cm4gUHlVbmljb2RlX0Zyb21Gb3JtYXQoIjwlcyAlcyBvYmplY3QgYXQgJXA+IiwKKyAgICAgICAgc2VsZi0+bG9ja2VkID8gImxvY2tlZCIgOiAidW5sb2NrZWQiLCBQeV9UWVBFKHNlbGYpLT50cF9uYW1lLCBzZWxmKTsKK30KKwogc3RhdGljIFB5TWV0aG9kRGVmIGxvY2tfbWV0aG9kc1tdID0gewogICAgIHsiYWNxdWlyZV9sb2NrIiwgKFB5Q0Z1bmN0aW9uKWxvY2tfUHlUaHJlYWRfYWNxdWlyZV9sb2NrLAogICAgICBNRVRIX1ZBUkFSR1MgfCBNRVRIX0tFWVdPUkRTLCBhY3F1aXJlX2RvY30sCkBAIC0yMjMsNyArMjMwLDcgQEAKICAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKnRwX2dldGF0dHIqLwogICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qdHBfc2V0YXR0ciovCiAgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyp0cF9yZXNlcnZlZCovCi0gICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyp0cF9yZXByKi8KKyAgICAocmVwcmZ1bmMpbG9ja19yZXByLCAgICAgICAgICAgICAgICAvKnRwX3JlcHIqLwogICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qdHBfYXNfbnVtYmVyKi8KICAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKnRwX2FzX3NlcXVlbmNlKi8KICAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKnRwX2FzX21hcHBpbmcqLwpAQCAtNDc1LDggKzQ4MiwxMCBAQAogc3RhdGljIFB5T2JqZWN0ICoKIHJsb2NrX3JlcHIocmxvY2tvYmplY3QgKnNlbGYpCiB7Ci0gICAgcmV0dXJuIFB5VW5pY29kZV9Gcm9tRm9ybWF0KCI8JXMgb3duZXI9JWxkIGNvdW50PSVsdT4iLAotICAgICAgICBQeV9UWVBFKHNlbGYpLT50cF9uYW1lLCBzZWxmLT5ybG9ja19vd25lciwgc2VsZi0+cmxvY2tfY291bnQpOworICAgIHJldHVybiBQeVVuaWNvZGVfRnJvbUZvcm1hdCgiPCVzICVzIG9iamVjdCBvd25lcj0lbGQgY291bnQ9JWx1IGF0ICVwPiIsCisgICAgICAgIHNlbGYtPnJsb2NrX2NvdW50ID8gImxvY2tlZCIgOiAidW5sb2NrZWQiLAorICAgICAgICBQeV9UWVBFKHNlbGYpLT50cF9uYW1lLCBzZWxmLT5ybG9ja19vd25lciwKKyAgICAgICAgc2VsZi0+cmxvY2tfY291bnQsIHNlbGYpOwogfQogCiAKZGlmZiAtLWdpdCBhL01vZHVsZXMvX3RraW50ZXIuYyBiL01vZHVsZXMvX3RraW50ZXIuYwppbmRleCBmNWJhZGUwLi5iMjNlZThhIDEwMDY0NAotLS0gYS9Nb2R1bGVzL190a2ludGVyLmMKKysrIGIvTW9kdWxlcy9fdGtpbnRlci5jCkBAIC05LDggKzksOCBAQAogCiAvKiBUQ0wvVEsgVkVSU0lPTiBJTkZPOgogCi0gICAgT25seSBUY2wvVGsgOC4zLjEgYW5kIGxhdGVyIGFyZSBzdXBwb3J0ZWQuICBPbGRlciB2ZXJzaW9ucyBhcmUgbm90Ci0gICAgc3VwcG9ydGVkLiBVc2UgUHl0aG9uIDIuNiBvciBvbGRlciBpZiB5b3UgY2Fubm90IHVwZ3JhZGUgeW91cgorICAgIE9ubHkgVGNsL1RrIDguNCBhbmQgbGF0ZXIgYXJlIHN1cHBvcnRlZC4gIE9sZGVyIHZlcnNpb25zIGFyZSBub3QKKyAgICBzdXBwb3J0ZWQuIFVzZSBQeXRob24gMy40IG9yIG9sZGVyIGlmIHlvdSBjYW5ub3QgdXBncmFkZSB5b3VyCiAgICAgVGNsL1RrIGxpYnJhcmllcy4KICovCiAKQEAgLTIxLDYgKzIxLDcgQEAKIAogKi8KIAorI2RlZmluZSBQWV9TU0laRV9UX0NMRUFOCiAKICNpbmNsdWRlICJQeXRob24uaCIKICNpbmNsdWRlIDxjdHlwZS5oPgpAQCAtMzYsMTMgKzM3LDYgQEAKICNkZWZpbmUgQ0hFQ0tfU0laRShzaXplLCBlbGVtc2l6ZSkgXAogICAgICgoc2l6ZV90KShzaXplKSA8PSBQeV9NSU4oKHNpemVfdClJTlRfTUFYLCBVSU5UX01BWCAvIChzaXplX3QpKGVsZW1zaXplKSkpCiAKLS8qIFN0YXJ0aW5nIHdpdGggVGNsIDguNCwgbWFueSBBUElzIG9mZmVyIGNvbnN0LWNvcnJlY3RuZXNzLiAgVW5mb3J0dW5hdGVseSwKLSAgIG1ha2luZyBfdGtpbnRlciBjb3JyZWN0IGZvciB0aGlzIEFQSSBtZWFucyB0byBicmVhayBlYXJsaWVyCi0gICB2ZXJzaW9ucy4gVVNFX0NPTVBBVF9DT05TVCBhbGxvd3MgdG8gbWFrZSBfdGtpbnRlciB3b3JrIHdpdGggYm90aCA4LjQgYW5kCi0gICBlYXJsaWVyIHZlcnNpb25zLiBPbmNlIFRjbCByZWxlYXNlcyBiZWZvcmUgOC40IGRvbid0IG5lZWQgdG8gYmUgc3VwcG9ydGVkCi0gICBhbnltb3JlLCB0aGlzIHNob3VsZCBnby4gKi8KLSNkZWZpbmUgVVNFX0NPTVBBVF9DT05TVAotCiAvKiBJZiBUY2wgaXMgY29tcGlsZWQgZm9yIHRocmVhZHMsIHdlIG11c3QgYWxzbyBkZWZpbmUgVENMX1RIUkVBRC4gV2UgZGVmaW5lCiAgICBpdCBhbHdheXM7IGlmIFRjbCBpcyBub3QgdGhyZWFkZWQsIHRoZSB0aHJlYWQgZnVuY3Rpb25zIGluCiAgICBUY2wgYXJlIGVtcHR5LiAgKi8KQEAgLTU4LDE1ICs1Miw4IEBACiAKICNpbmNsdWRlICJ0a2ludGVyLmgiCiAKLS8qIEZvciBUY2wgOC4yIGFuZCA4LjMsIENPTlNUKiBpcyBub3QgZGVmaW5lZCAoZXhjZXB0IG9uIEN5Z3dpbikuICovCi0jaWZuZGVmIENPTlNUODRfUkVUVVJOCi0jZGVmaW5lIENPTlNUODRfUkVUVVJOCi0jdW5kZWYgQ09OU1QKLSNkZWZpbmUgQ09OU1QKLSNlbmRpZgotCi0jaWYgVEtfVkVSU0lPTl9IRVggPCAweDA4MDMwMTAyCi0jZXJyb3IgIlRrIG9sZGVyIHRoYW4gOC4zLjEgbm90IHN1cHBvcnRlZCIKKyNpZiBUS19WRVJTSU9OX0hFWCA8IDB4MDgwNDAwMDIKKyNlcnJvciAiVGsgb2xkZXIgdGhhbiA4LjQgbm90IHN1cHBvcnRlZCIKICNlbmRpZgogCiAjaWYgIShkZWZpbmVkKE1TX1dJTkRPV1MpIHx8IGRlZmluZWQoX19DWUdXSU5fXykpCkBAIC0yNDIsMTMgKzIyOSwxMyBAQAogICAgIGludCBkaXNwYXRjaGluZzsKICAgICAvKiBXZSBjYW5ub3QgaW5jbHVkZSB0Y2xJbnQuaCwgYXMgdGhpcyBpcyBpbnRlcm5hbC4KICAgICAgICBTbyB3ZSBjYWNoZSBpbnRlcmVzdGluZyB0eXBlcyBoZXJlLiAqLwotICAgIFRjbF9PYmpUeXBlICpCb29sZWFuVHlwZTsKLSAgICBUY2xfT2JqVHlwZSAqQnl0ZUFycmF5VHlwZTsKLSAgICBUY2xfT2JqVHlwZSAqRG91YmxlVHlwZTsKLSAgICBUY2xfT2JqVHlwZSAqSW50VHlwZTsKLSAgICBUY2xfT2JqVHlwZSAqTGlzdFR5cGU7Ci0gICAgVGNsX09ialR5cGUgKlByb2NCb2R5VHlwZTsKLSAgICBUY2xfT2JqVHlwZSAqU3RyaW5nVHlwZTsKKyAgICBjb25zdCBUY2xfT2JqVHlwZSAqQm9vbGVhblR5cGU7CisgICAgY29uc3QgVGNsX09ialR5cGUgKkJ5dGVBcnJheVR5cGU7CisgICAgY29uc3QgVGNsX09ialR5cGUgKkRvdWJsZVR5cGU7CisgICAgY29uc3QgVGNsX09ialR5cGUgKkludFR5cGU7CisgICAgY29uc3QgVGNsX09ialR5cGUgKkxpc3RUeXBlOworICAgIGNvbnN0IFRjbF9PYmpUeXBlICpQcm9jQm9keVR5cGU7CisgICAgY29uc3QgVGNsX09ialR5cGUgKlN0cmluZ1R5cGU7CiB9IFRrYXBwT2JqZWN0OwogCiAjZGVmaW5lIFRrYXBwX0ludGVycCh2KSAoKChUa2FwcE9iamVjdCAqKSAodikpLT5pbnRlcnApCkBAIC0zNzYsMTAgKzM2MywxMCBAQAogCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1TcGxpdChjaGFyICpsaXN0KQorU3BsaXQoY29uc3QgY2hhciAqbGlzdCkKIHsKICAgICBpbnQgYXJnYzsKLSAgICBjaGFyICoqYXJndjsKKyAgICBjb25zdCBjaGFyICoqYXJndjsKICAgICBQeU9iamVjdCAqdjsKIAogICAgIGlmIChsaXN0ID09IE5VTEwpIHsKQEAgLTQyMyw3ICs0MTAsNyBAQAogU3BsaXRPYmooUHlPYmplY3QgKmFyZykKIHsKICAgICBpZiAoUHlUdXBsZV9DaGVjayhhcmcpKSB7Ci0gICAgICAgIGludCBpLCBzaXplOworICAgICAgICBQeV9zc2l6ZV90IGksIHNpemU7CiAgICAgICAgIFB5T2JqZWN0ICplbGVtLCAqbmV3ZWxlbSwgKnJlc3VsdDsKIAogICAgICAgICBzaXplID0gUHlUdXBsZV9TaXplKGFyZyk7CkBAIC00MzksNyArNDI2LDcgQEAKICAgICAgICAgICAgICAgICByZXR1cm4gTlVMTDsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGlmICghcmVzdWx0KSB7Ci0gICAgICAgICAgICAgICAgaW50IGs7CisgICAgICAgICAgICAgICAgUHlfc3NpemVfdCBrOwogICAgICAgICAgICAgICAgIGlmIChuZXdlbGVtID09IGVsZW0pIHsKICAgICAgICAgICAgICAgICAgICAgUHlfREVDUkVGKG5ld2VsZW0pOwogICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKQEAgLTQ1OSw5ICs0NDYsMjkgQEAKICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAgICAgIC8qIEZhbGwgdGhyb3VnaCwgcmV0dXJuaW5nIGFyZy4gKi8KICAgICB9CisgICAgZWxzZSBpZiAoUHlMaXN0X0NoZWNrKGFyZykpIHsKKyAgICAgICAgUHlfc3NpemVfdCBpLCBzaXplOworICAgICAgICBQeU9iamVjdCAqZWxlbSwgKm5ld2VsZW0sICpyZXN1bHQ7CisKKyAgICAgICAgc2l6ZSA9IFB5TGlzdF9HRVRfU0laRShhcmcpOworICAgICAgICByZXN1bHQgPSBQeVR1cGxlX05ldyhzaXplKTsKKyAgICAgICAgaWYgKCFyZXN1bHQpCisgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgLyogUmVjdXJzaXZlbHkgaW52b2tlIFNwbGl0T2JqIGZvciBhbGwgbGlzdCBpdGVtcy4gKi8KKyAgICAgICAgZm9yKGkgPSAwOyBpIDwgc2l6ZTsgaSsrKSB7CisgICAgICAgICAgICBlbGVtID0gUHlMaXN0X0dFVF9JVEVNKGFyZywgaSk7CisgICAgICAgICAgICBuZXdlbGVtID0gU3BsaXRPYmooZWxlbSk7CisgICAgICAgICAgICBpZiAoIW5ld2VsZW0pIHsKKyAgICAgICAgICAgICAgICBQeV9YREVDUkVGKHJlc3VsdCk7CisgICAgICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBQeVR1cGxlX1NldEl0ZW0ocmVzdWx0LCBpLCBuZXdlbGVtKTsKKyAgICAgICAgfQorICAgICAgICByZXR1cm4gcmVzdWx0OworICAgIH0KICAgICBlbHNlIGlmIChQeVVuaWNvZGVfQ2hlY2soYXJnKSkgewogICAgICAgICBpbnQgYXJnYzsKLSAgICAgICAgY2hhciAqKmFyZ3Y7CisgICAgICAgIGNvbnN0IGNoYXIgKiphcmd2OwogICAgICAgICBjaGFyICpsaXN0ID0gUHlVbmljb2RlX0FzVVRGOChhcmcpOwogCiAgICAgICAgIGlmIChsaXN0ID09IE5VTEwgfHwKQEAgLTQ3Niw3ICs0ODMsNyBAQAogICAgIH0KICAgICBlbHNlIGlmIChQeUJ5dGVzX0NoZWNrKGFyZykpIHsKICAgICAgICAgaW50IGFyZ2M7Ci0gICAgICAgIGNoYXIgKiphcmd2OworICAgICAgICBjb25zdCBjaGFyICoqYXJndjsKICAgICAgICAgY2hhciAqbGlzdCA9IFB5Qnl0ZXNfQXNTdHJpbmcoYXJnKTsKIAogICAgICAgICBpZiAoVGNsX1NwbGl0TGlzdCgoVGNsX0ludGVycCAqKU5VTEwsIGxpc3QsICZhcmdjLCAmYXJndikgIT0gVENMX09LKSB7CkBAIC01NDMsOCArNTUwLDkgQEAKIHN0YXRpYyB2b2lkIERpc2FibGVFdmVudEhvb2sodm9pZCk7IC8qIEZvcndhcmQgKi8KIAogc3RhdGljIFRrYXBwT2JqZWN0ICoKLVRrYXBwX05ldyhjaGFyICpzY3JlZW5OYW1lLCBjaGFyICpjbGFzc05hbWUsCi0gICAgICAgICAgaW50IGludGVyYWN0aXZlLCBpbnQgd2FudG9iamVjdHMsIGludCB3YW50VGssIGludCBzeW5jLCBjaGFyICp1c2UpCitUa2FwcF9OZXcoY29uc3QgY2hhciAqc2NyZWVuTmFtZSwgY29uc3QgY2hhciAqY2xhc3NOYW1lLAorICAgICAgICAgIGludCBpbnRlcmFjdGl2ZSwgaW50IHdhbnRvYmplY3RzLCBpbnQgd2FudFRrLCBpbnQgc3luYywKKyAgICAgICAgICBjb25zdCBjaGFyICp1c2UpCiB7CiAgICAgVGthcHBPYmplY3QgKnY7CiAgICAgY2hhciAqYXJndjA7CkBAIC01OTgsNyArNjA2LDcgQEAKICAgICAgICAgVGNsX1NldFZhcih2LT5pbnRlcnAsICJ0Y2xfaW50ZXJhY3RpdmUiLCAiMCIsIFRDTF9HTE9CQUxfT05MWSk7CiAKICAgICAvKiBUaGlzIGlzIHVzZWQgdG8gZ2V0IHRoZSBhcHBsaWNhdGlvbiBjbGFzcyBmb3IgVGsgNC4xIGFuZCB1cCAqLwotICAgIGFyZ3YwID0gKGNoYXIqKWF0dGVtcHRja2FsbG9jKHN0cmxlbihjbGFzc05hbWUpICsgMSk7CisgICAgYXJndjAgPSAoY2hhciopUHlNZW1fTWFsbG9jKHN0cmxlbihjbGFzc05hbWUpICsgMSk7CiAgICAgaWYgKCFhcmd2MCkgewogICAgICAgICBQeUVycl9Ob01lbW9yeSgpOwogICAgICAgICBQeV9ERUNSRUYodik7CkBAIC02MDksNyArNjE3LDcgQEAKICAgICBpZiAoUHlfSVNVUFBFUihQeV9DSEFSTUFTSyhhcmd2MFswXSkpKQogICAgICAgICBhcmd2MFswXSA9IFB5X1RPTE9XRVIoUHlfQ0hBUk1BU0soYXJndjBbMF0pKTsKICAgICBUY2xfU2V0VmFyKHYtPmludGVycCwgImFyZ3YwIiwgYXJndjAsIFRDTF9HTE9CQUxfT05MWSk7Ci0gICAgY2tmcmVlKGFyZ3YwKTsKKyAgICBQeU1lbV9GcmVlKGFyZ3YwKTsKIAogICAgIGlmICghIHdhbnRUaykgewogICAgICAgICBUY2xfU2V0VmFyKHYtPmludGVycCwKQEAgLTYyNSwxNCArNjMzLDE0IEBACiAgICAgLyogc29tZSBpbml0aWFsIGFyZ3VtZW50cyBuZWVkIHRvIGJlIGluIGFyZ3YgKi8KICAgICBpZiAoc3luYyB8fCB1c2UpIHsKICAgICAgICAgY2hhciAqYXJnczsKLSAgICAgICAgaW50IGxlbiA9IDA7CisgICAgICAgIFB5X3NzaXplX3QgbGVuID0gMDsKIAogICAgICAgICBpZiAoc3luYykKICAgICAgICAgICAgIGxlbiArPSBzaXplb2YgIi1zeW5jIjsKICAgICAgICAgaWYgKHVzZSkKLSAgICAgICAgICAgIGxlbiArPSBzdHJsZW4odXNlKSArIHNpemVvZiAiLXVzZSAiOworICAgICAgICAgICAgbGVuICs9IHN0cmxlbih1c2UpICsgc2l6ZW9mICItdXNlICI7ICAvKiBuZXZlciBvdmVyZmxvd3MgKi8KIAotICAgICAgICBhcmdzID0gKGNoYXIqKWF0dGVtcHRja2FsbG9jKGxlbik7CisgICAgICAgIGFyZ3MgPSAoY2hhciopUHlNZW1fTWFsbG9jKGxlbik7CiAgICAgICAgIGlmICghYXJncykgewogICAgICAgICAgICAgUHlFcnJfTm9NZW1vcnkoKTsKICAgICAgICAgICAgIFB5X0RFQ1JFRih2KTsKQEAgLTY1MCw3ICs2NTgsNyBAQAogICAgICAgICB9CiAKICAgICAgICAgVGNsX1NldFZhcih2LT5pbnRlcnAsICJhcmd2IiwgYXJncywgVENMX0dMT0JBTF9PTkxZKTsKLSAgICAgICAgY2tmcmVlKGFyZ3MpOworICAgICAgICBQeU1lbV9GcmVlKGFyZ3MpOwogICAgIH0KIAogICAgIGlmIChUY2xfQXBwSW5pdCh2LT5pbnRlcnApICE9IFRDTF9PSykgewpAQCAtODgwLDkgKzg4OCwxNCBAQAogICAgIGxvbmcgbG9uZ1ZhbDsKICAgICBpbnQgb3ZlcmZsb3c7CiAKLSAgICBpZiAoUHlCeXRlc19DaGVjayh2YWx1ZSkpCisgICAgaWYgKFB5Qnl0ZXNfQ2hlY2sodmFsdWUpKSB7CisgICAgICAgIGlmIChQeUJ5dGVzX0dFVF9TSVpFKHZhbHVlKSA+PSBJTlRfTUFYKSB7CisgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfT3ZlcmZsb3dFcnJvciwgImJ5dGVzIG9iamVjdCBpcyB0b28gbG9uZyIpOworICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgIH0KICAgICAgICAgcmV0dXJuIFRjbF9OZXdCeXRlQXJyYXlPYmooKHVuc2lnbmVkIGNoYXIgKilQeUJ5dGVzX0FTX1NUUklORyh2YWx1ZSksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5Qnl0ZXNfR0VUX1NJWkUodmFsdWUpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGludClQeUJ5dGVzX0dFVF9TSVpFKHZhbHVlKSk7CisgICAgfQogICAgIGVsc2UgaWYgKFB5Qm9vbF9DaGVjayh2YWx1ZSkpCiAgICAgICAgIHJldHVybiBUY2xfTmV3Qm9vbGVhbk9iaihQeU9iamVjdF9Jc1RydWUodmFsdWUpKTsKICAgICBlbHNlIGlmIChQeUxvbmdfQ2hlY2tFeGFjdCh2YWx1ZSkgJiYKQEAgLTg5NCwyNCArOTA3LDI4IEBACiAgICAgfQogICAgIGVsc2UgaWYgKFB5RmxvYXRfQ2hlY2sodmFsdWUpKQogICAgICAgICByZXR1cm4gVGNsX05ld0RvdWJsZU9iaihQeUZsb2F0X0FTX0RPVUJMRSh2YWx1ZSkpOwotICAgIGVsc2UgaWYgKFB5VHVwbGVfQ2hlY2sodmFsdWUpKSB7CisgICAgZWxzZSBpZiAoUHlUdXBsZV9DaGVjayh2YWx1ZSkgfHwgUHlMaXN0X0NoZWNrKHZhbHVlKSkgewogICAgICAgICBUY2xfT2JqICoqYXJndjsKICAgICAgICAgUHlfc3NpemVfdCBzaXplLCBpOwogCi0gICAgICAgIHNpemUgPSBQeVR1cGxlX1NpemUodmFsdWUpOworICAgICAgICBzaXplID0gUHlTZXF1ZW5jZV9GYXN0X0dFVF9TSVpFKHZhbHVlKTsKICAgICAgICAgaWYgKHNpemUgPT0gMCkKICAgICAgICAgICAgIHJldHVybiBUY2xfTmV3TGlzdE9iaigwLCBOVUxMKTsKICAgICAgICAgaWYgKCFDSEVDS19TSVpFKHNpemUsIHNpemVvZihUY2xfT2JqICopKSkgewotICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX092ZXJmbG93RXJyb3IsICJ0dXBsZSBpcyB0b28gbG9uZyIpOworICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX092ZXJmbG93RXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlUdXBsZV9DaGVjayh2YWx1ZSkgPyAidHVwbGUgaXMgdG9vIGxvbmciIDoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsaXN0IGlzIHRvbyBsb25nIik7CiAgICAgICAgICAgICByZXR1cm4gTlVMTDsKICAgICAgICAgfQotICAgICAgICBhcmd2ID0gKFRjbF9PYmogKiopIGF0dGVtcHRja2FsbG9jKCgoc2l6ZV90KXNpemUpICogc2l6ZW9mKFRjbF9PYmogKikpOwotICAgICAgICBpZighYXJndikKLSAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgYXJndiA9IChUY2xfT2JqICoqKSBQeU1lbV9NYWxsb2MoKChzaXplX3Qpc2l6ZSkgKiBzaXplb2YoVGNsX09iaiAqKSk7CisgICAgICAgIGlmICghYXJndikgeworICAgICAgICAgIFB5RXJyX05vTWVtb3J5KCk7CisgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgIH0KICAgICAgICAgZm9yIChpID0gMDsgaSA8IHNpemU7IGkrKykKLSAgICAgICAgICBhcmd2W2ldID0gQXNPYmooUHlUdXBsZV9HZXRJdGVtKHZhbHVlLGkpKTsKLSAgICAgICAgcmVzdWx0ID0gVGNsX05ld0xpc3RPYmooUHlUdXBsZV9TaXplKHZhbHVlKSwgYXJndik7Ci0gICAgICAgIGNrZnJlZShGUkVFQ0FTVCBhcmd2KTsKKyAgICAgICAgICBhcmd2W2ldID0gQXNPYmooUHlTZXF1ZW5jZV9GYXN0X0dFVF9JVEVNKHZhbHVlLGkpKTsKKyAgICAgICAgcmVzdWx0ID0gVGNsX05ld0xpc3RPYmooKGludClzaXplLCBhcmd2KTsKKyAgICAgICAgUHlNZW1fRnJlZShhcmd2KTsKICAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICB9CiAgICAgZWxzZSBpZiAoUHlVbmljb2RlX0NoZWNrKHZhbHVlKSkgewpAQCAtOTM1LDkgKzk1Miw5IEBACiAgICAgICAgIH0KICAgICAgICAga2luZCA9IFB5VW5pY29kZV9LSU5EKHZhbHVlKTsKICAgICAgICAgaWYgKGtpbmQgPT0gc2l6ZW9mKFRjbF9VbmlDaGFyKSkKLSAgICAgICAgICAgIHJldHVybiBUY2xfTmV3VW5pY29kZU9iaihpbmJ1Ziwgc2l6ZSk7CisgICAgICAgICAgICByZXR1cm4gVGNsX05ld1VuaWNvZGVPYmooaW5idWYsIChpbnQpc2l6ZSk7CiAgICAgICAgIGFsbG9jc2l6ZSA9ICgoc2l6ZV90KXNpemUpICogc2l6ZW9mKFRjbF9VbmlDaGFyKTsKLSAgICAgICAgb3V0YnVmID0gKFRjbF9VbmlDaGFyKilhdHRlbXB0Y2thbGxvYyhhbGxvY3NpemUpOworICAgICAgICBvdXRidWYgPSAoVGNsX1VuaUNoYXIqKVB5TWVtX01hbGxvYyhhbGxvY3NpemUpOwogICAgICAgICAvKiBFbHNlIG92ZXJmbG93IG9jY3VycmVkLCBhbmQgd2UgdGFrZSB0aGUgbmV4dCBleGl0ICovCiAgICAgICAgIGlmICghb3V0YnVmKSB7CiAgICAgICAgICAgICBQeUVycl9Ob01lbW9yeSgpOwpAQCAtOTU0LDE0ICs5NzEsMTQgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImNoYXJhY3RlciBVKyV4IGlzIGFib3ZlIHRoZSByYW5nZSAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIoVSswMDAwLVUrRkZGRikgYWxsb3dlZCBieSBUY2wiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaCk7Ci0gICAgICAgICAgICAgICAgY2tmcmVlKEZSRUVDQVNUIG91dGJ1Zik7CisgICAgICAgICAgICAgICAgUHlNZW1fRnJlZShvdXRidWYpOwogICAgICAgICAgICAgICAgIHJldHVybiBOVUxMOwogICAgICAgICAgICAgfQogI2VuZGlmCiAgICAgICAgICAgICBvdXRidWZbaV0gPSBjaDsKICAgICAgICAgfQotICAgICAgICByZXN1bHQgPSBUY2xfTmV3VW5pY29kZU9iaihvdXRidWYsIHNpemUpOwotICAgICAgICBja2ZyZWUoRlJFRUNBU1Qgb3V0YnVmKTsKKyAgICAgICAgcmVzdWx0ID0gVGNsX05ld1VuaWNvZGVPYmoob3V0YnVmLCAoaW50KXNpemUpOworICAgICAgICBQeU1lbV9GcmVlKG91dGJ1Zik7CiAgICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAgfQogICAgIGVsc2UgaWYoUHlUY2xPYmplY3RfQ2hlY2sodmFsdWUpKSB7CkBAIC0xMDczLDcgKzEwOTAsNyBAQAogICAgIGZvciAoaSA9IDA7IGkgPCBvYmpjOyBpKyspCiAgICAgICAgIFRjbF9EZWNyUmVmQ291bnQob2JqdltpXSk7CiAgICAgaWYgKG9ianYgIT0gb2JqU3RvcmUpCi0gICAgICAgIGNrZnJlZShGUkVFQ0FTVCBvYmp2KTsKKyAgICAgICAgUHlNZW1fRnJlZShvYmp2KTsKIH0KIAogLyogQ29udmVydCBQeXRob24gb2JqZWN0cyB0byBUY2wgb2JqZWN0cy4gVGhpcyBtdXN0IGhhcHBlbiBpbiB0aGUKQEAgLTEwODcsNyArMTEwNCw3IEBACiAgICAgaWYgKGFyZ3MgPT0gTlVMTCkKICAgICAgICAgLyogZG8gbm90aGluZyAqLzsKIAotICAgIGVsc2UgaWYgKCFQeVR1cGxlX0NoZWNrKGFyZ3MpKSB7CisgICAgZWxzZSBpZiAoIShQeVR1cGxlX0NoZWNrKGFyZ3MpIHx8IFB5TGlzdF9DaGVjayhhcmdzKSkpIHsKICAgICAgICAgb2JqdlswXSA9IEFzT2JqKGFyZ3MpOwogICAgICAgICBpZiAob2JqdlswXSA9PSAwKQogICAgICAgICAgICAgZ290byBmaW5hbGx5OwpAQCAtMTA5NSwxNCArMTExMiwxNiBAQAogICAgICAgICBUY2xfSW5jclJlZkNvdW50KG9ianZbMF0pOwogICAgIH0KICAgICBlbHNlIHsKLSAgICAgICAgb2JqYyA9IFB5VHVwbGVfU2l6ZShhcmdzKTsKKyAgICAgICAgb2JqYyA9IFB5U2VxdWVuY2VfRmFzdF9HRVRfU0laRShhcmdzKTsKIAogICAgICAgICBpZiAob2JqYyA+IEFSR1NaKSB7CiAgICAgICAgICAgICBpZiAoIUNIRUNLX1NJWkUob2JqYywgc2l6ZW9mKFRjbF9PYmogKikpKSB7Ci0gICAgICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX092ZXJmbG93RXJyb3IsICJ0dXBsZSBpcyB0b28gbG9uZyIpOworICAgICAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19PdmVyZmxvd0Vycm9yLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeVR1cGxlX0NoZWNrKGFyZ3MpID8gInR1cGxlIGlzIHRvbyBsb25nIiA6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGlzdCBpcyB0b28gbG9uZyIpOwogICAgICAgICAgICAgICAgIHJldHVybiBOVUxMOwogICAgICAgICAgICAgfQotICAgICAgICAgICAgb2JqdiA9IChUY2xfT2JqICoqKWF0dGVtcHRja2FsbG9jKCgoc2l6ZV90KW9iamMpICogc2l6ZW9mKFRjbF9PYmogKikpOworICAgICAgICAgICAgb2JqdiA9IChUY2xfT2JqICoqKVB5TWVtX01hbGxvYygoKHNpemVfdClvYmpjKSAqIHNpemVvZihUY2xfT2JqICopKTsKICAgICAgICAgICAgIGlmIChvYmp2ID09IE5VTEwpIHsKICAgICAgICAgICAgICAgICBQeUVycl9Ob01lbW9yeSgpOwogICAgICAgICAgICAgICAgIG9iamMgPSAwOwpAQCAtMTExMSw3ICsxMTMwLDcgQEAKICAgICAgICAgfQogCiAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBvYmpjOyBpKyspIHsKLSAgICAgICAgICAgIFB5T2JqZWN0ICp2ID0gUHlUdXBsZV9HZXRJdGVtKGFyZ3MsIGkpOworICAgICAgICAgICAgUHlPYmplY3QgKnYgPSBQeVNlcXVlbmNlX0Zhc3RfR0VUX0lURU0oYXJncywgaSk7CiAgICAgICAgICAgICBpZiAodiA9PSBQeV9Ob25lKSB7CiAgICAgICAgICAgICAgICAgb2JqYyA9IGk7CiAgICAgICAgICAgICAgICAgYnJlYWs7CkBAIC0xMTI2LDEwICsxMTQ1LDEwIEBACiAgICAgICAgICAgICBUY2xfSW5jclJlZkNvdW50KG9ianZbaV0pOwogICAgICAgICB9CiAgICAgfQotICAgICpwb2JqYyA9IG9iamM7CisgICAgKnBvYmpjID0gKGludClvYmpjOwogICAgIHJldHVybiBvYmp2OwogZmluYWxseToKLSAgICBUa2FwcF9DYWxsRGVhbGxvY0FyZ3Mob2Jqdiwgb2JqU3RvcmUsIG9iamMpOworICAgIFRrYXBwX0NhbGxEZWFsbG9jQXJncyhvYmp2LCBvYmpTdG9yZSwgKGludClvYmpjKTsKICAgICByZXR1cm4gTlVMTDsKIH0KIApAQCAtMTQxMSw4ICsxNDMwLDggQEAKICAgICAgICAgICAgIHJldHVybiAwOwogICAgICAgICB9CiAgICAgICAgIHMgPSBQeUJ5dGVzX0FzU3RyaW5nKGluKTsKLSAgICAgICAgaWYgKHN0cmxlbihzKSAhPSBQeUJ5dGVzX1NpemUoaW4pKSB7Ci0gICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVmFsdWVFcnJvciwgIm51bGwgYnl0ZSBpbiBieXRlcyBvYmplY3QiKTsKKyAgICAgICAgaWYgKHN0cmxlbihzKSAhPSAoc2l6ZV90KVB5Qnl0ZXNfU2l6ZShpbikpIHsKKyAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLCAiZW1iZWRkZWQgbnVsbCBieXRlIik7CiAgICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICAgfQogICAgICAgICAqb3V0ID0gczsKQEAgLTE0MjgsOCArMTQ0Nyw4IEBACiAgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfT3ZlcmZsb3dFcnJvciwgInN0cmluZyBpcyB0b28gbG9uZyIpOwogICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgIH0KLSAgICAgICAgaWYgKHN0cmxlbihzKSAhPSBzaXplKSB7Ci0gICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVmFsdWVFcnJvciwgIm51bGwgY2hhcmFjdGVyIGluIHN0cmluZyIpOworICAgICAgICBpZiAoc3RybGVuKHMpICE9IChzaXplX3Qpc2l6ZSkgeworICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsICJlbWJlZGRlZCBudWxsIGNoYXJhY3RlciIpOwogICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgIH0KICAgICAgICAgKm91dCA9IHM7CkBAIC0xNDgyLDcgKzE1MDEsNiBAQAogI2lmZGVmIFdJVEhfVEhSRUFECiAgICAgVGthcHBPYmplY3QgKnNlbGYgPSAoVGthcHBPYmplY3QqKXNlbGZwdHI7CiAgICAgaWYgKHNlbGYtPnRocmVhZGVkICYmIHNlbGYtPnRocmVhZF9pZCAhPSBUY2xfR2V0Q3VycmVudFRocmVhZCgpKSB7Ci0gICAgICAgIFRrYXBwT2JqZWN0ICpzZWxmID0gKFRrYXBwT2JqZWN0KilzZWxmcHRyOwogICAgICAgICBWYXJFdmVudCAqZXY7CiAgICAgICAgIFB5T2JqZWN0ICpyZXMsICpleGNfdHlwZSwgKmV4Y192YWw7CiAgICAgICAgIFRjbF9Db25kaXRpb24gY29uZCA9IE5VTEw7CkBAIC0xODQ0LDcgKzE4NjIsNyBAQAogewogICAgIGNoYXIgKmxpc3Q7CiAgICAgaW50IGFyZ2M7Ci0gICAgY2hhciAqKmFyZ3Y7CisgICAgY29uc3QgY2hhciAqKmFyZ3Y7CiAgICAgUHlPYmplY3QgKmFyZywgKnY7CiAgICAgaW50IGk7CiAKQEAgLTE4NzMsNiArMTg5MSw5IEBACiAgICAgICAgIFB5X0lOQ1JFRihhcmcpOwogICAgICAgICByZXR1cm4gYXJnOwogICAgIH0KKyAgICBpZiAoUHlMaXN0X0NoZWNrKGFyZykpIHsKKyAgICAgICAgcmV0dXJuIFB5U2VxdWVuY2VfVHVwbGUoYXJnKTsKKyAgICB9CiAKICAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgImV0OnNwbGl0bGlzdCIsICJ1dGYtOCIsICZsaXN0KSkKICAgICAgICAgcmV0dXJuIE5VTEw7CkBAIC0xOTM0LDcgKzE5NTUsNyBAQAogICAgICAgICB9CiAgICAgICAgIHJldHVybiB2OwogICAgIH0KLSAgICBpZiAoUHlUdXBsZV9DaGVjayhhcmcpKQorICAgIGlmIChQeVR1cGxlX0NoZWNrKGFyZykgfHwgUHlMaXN0X0NoZWNrKGFyZykpCiAgICAgICAgIHJldHVybiBTcGxpdE9iaihhcmcpOwogCiAgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJldDpzcGxpdCIsICJ1dGYtOCIsICZsaXN0KSkKQEAgLTE5NjgsNyArMTk4OSw3IEBACiAgKiBmdW5jdGlvbiBvciBtZXRob2QuCiAgKi8KIHN0YXRpYyBpbnQKLVB5dGhvbkNtZChDbGllbnREYXRhIGNsaWVudERhdGEsIFRjbF9JbnRlcnAgKmludGVycCwgaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKK1B5dGhvbkNtZChDbGllbnREYXRhIGNsaWVudERhdGEsIFRjbF9JbnRlcnAgKmludGVycCwgaW50IGFyZ2MsIGNvbnN0IGNoYXIgKmFyZ3ZbXSkKIHsKICAgICBQeXRob25DbWRfQ2xpZW50RGF0YSAqZGF0YSA9IChQeXRob25DbWRfQ2xpZW50RGF0YSAqKWNsaWVudERhdGE7CiAgICAgUHlPYmplY3QgKmZ1bmMsICphcmcsICpyZXM7CkBAIC0yNzA1LDIwICsyNzI2LDIwIEBACiAKIHR5cGVkZWYgc3RydWN0IHsKICAgICBQeU9iamVjdCogdHVwbGU7Ci0gICAgaW50IHNpemU7IC8qIGN1cnJlbnQgc2l6ZSAqLwotICAgIGludCBtYXhzaXplOyAvKiBhbGxvY2F0ZWQgc2l6ZSAqLworICAgIFB5X3NzaXplX3Qgc2l6ZTsgLyogY3VycmVudCBzaXplICovCisgICAgUHlfc3NpemVfdCBtYXhzaXplOyAvKiBhbGxvY2F0ZWQgc2l6ZSAqLwogfSBGbGF0dGVuQ29udGV4dDsKIAogc3RhdGljIGludAotX2J1bXAoRmxhdHRlbkNvbnRleHQqIGNvbnRleHQsIGludCBzaXplKQorX2J1bXAoRmxhdHRlbkNvbnRleHQqIGNvbnRleHQsIFB5X3NzaXplX3Qgc2l6ZSkKIHsKICAgICAvKiBleHBhbmQgdHVwbGUgdG8gaG9sZCAoYXQgbGVhc3QpIHNpemUgbmV3IGl0ZW1zLgogICAgICAgIHJldHVybiB0cnVlIGlmIHN1Y2Nlc3NmdWwsIGZhbHNlIGlmIGFuIGV4Y2VwdGlvbiB3YXMgcmFpc2VkICovCiAKLSAgICBpbnQgbWF4c2l6ZSA9IGNvbnRleHQtPm1heHNpemUgKiAyOworICAgIFB5X3NzaXplX3QgbWF4c2l6ZSA9IGNvbnRleHQtPm1heHNpemUgKiAyOyAgLyogbmV2ZXIgb3ZlcmZsb3dzICovCiAKICAgICBpZiAobWF4c2l6ZSA8IGNvbnRleHQtPnNpemUgKyBzaXplKQotICAgICAgICBtYXhzaXplID0gY29udGV4dC0+c2l6ZSArIHNpemU7CisgICAgICAgIG1heHNpemUgPSBjb250ZXh0LT5zaXplICsgc2l6ZTsgIC8qIG5ldmVyIG92ZXJmbG93cyAqLwogCiAgICAgY29udGV4dC0+bWF4c2l6ZSA9IG1heHNpemU7CiAKQEAgLTI3MzAsNDEgKzI3NTEsMjEgQEAKIHsKICAgICAvKiBhZGQgdHVwbGUgb3IgbGlzdCB0byBhcmd1bWVudCB0dXBsZSAocmVjdXJzaXZlbHkpICovCiAKLSAgICBpbnQgaSwgc2l6ZTsKKyAgICBQeV9zc2l6ZV90IGksIHNpemU7CiAKICAgICBpZiAoZGVwdGggPiAxMDAwKSB7CiAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLAogICAgICAgICAgICAgICAgICAgICAgICAgIm5lc3RpbmcgdG9vIGRlZXAgaW4gX2ZsYXR0ZW4iKTsKICAgICAgICAgcmV0dXJuIDA7Ci0gICAgfSBlbHNlIGlmIChQeUxpc3RfQ2hlY2soaXRlbSkpIHsKLSAgICAgICAgc2l6ZSA9IFB5TGlzdF9HRVRfU0laRShpdGVtKTsKKyAgICB9IGVsc2UgaWYgKFB5VHVwbGVfQ2hlY2soaXRlbSkgfHwgUHlMaXN0X0NoZWNrKGl0ZW0pKSB7CisgICAgICAgIHNpemUgPSBQeVNlcXVlbmNlX0Zhc3RfR0VUX1NJWkUoaXRlbSk7CiAgICAgICAgIC8qIHByZWFsbG9jYXRlIChhc3N1bWUgbm8gbmVzdGluZykgKi8KICAgICAgICAgaWYgKGNvbnRleHQtPnNpemUgKyBzaXplID4gY29udGV4dC0+bWF4c2l6ZSAmJgogICAgICAgICAgICAgIV9idW1wKGNvbnRleHQsIHNpemUpKQogICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgIC8qIGNvcHkgaXRlbXMgdG8gb3V0cHV0IHR1cGxlICovCiAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBzaXplOyBpKyspIHsKLSAgICAgICAgICAgIFB5T2JqZWN0ICpvID0gUHlMaXN0X0dFVF9JVEVNKGl0ZW0sIGkpOwotICAgICAgICAgICAgaWYgKFB5TGlzdF9DaGVjayhvKSB8fCBQeVR1cGxlX0NoZWNrKG8pKSB7Ci0gICAgICAgICAgICAgICAgaWYgKCFfZmxhdHRlbjEoY29udGV4dCwgbywgZGVwdGggKyAxKSkKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDA7Ci0gICAgICAgICAgICB9IGVsc2UgaWYgKG8gIT0gUHlfTm9uZSkgewotICAgICAgICAgICAgICAgIGlmIChjb250ZXh0LT5zaXplICsgMSA+IGNvbnRleHQtPm1heHNpemUgJiYKLSAgICAgICAgICAgICAgICAgICAgIV9idW1wKGNvbnRleHQsIDEpKQotICAgICAgICAgICAgICAgICAgICByZXR1cm4gMDsKLSAgICAgICAgICAgICAgICBQeV9JTkNSRUYobyk7Ci0gICAgICAgICAgICAgICAgUHlUdXBsZV9TRVRfSVRFTShjb250ZXh0LT50dXBsZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHQtPnNpemUrKywgbyk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICB9IGVsc2UgaWYgKFB5VHVwbGVfQ2hlY2soaXRlbSkpIHsKLSAgICAgICAgLyogc2FtZSwgZm9yIHR1cGxlcyAqLwotICAgICAgICBzaXplID0gUHlUdXBsZV9HRVRfU0laRShpdGVtKTsKLSAgICAgICAgaWYgKGNvbnRleHQtPnNpemUgKyBzaXplID4gY29udGV4dC0+bWF4c2l6ZSAmJgotICAgICAgICAgICAgIV9idW1wKGNvbnRleHQsIHNpemUpKQotICAgICAgICAgICAgcmV0dXJuIDA7Ci0gICAgICAgIGZvciAoaSA9IDA7IGkgPCBzaXplOyBpKyspIHsKLSAgICAgICAgICAgIFB5T2JqZWN0ICpvID0gUHlUdXBsZV9HRVRfSVRFTShpdGVtLCBpKTsKKyAgICAgICAgICAgIFB5T2JqZWN0ICpvID0gUHlTZXF1ZW5jZV9GYXN0X0dFVF9JVEVNKGl0ZW0sIGkpOwogICAgICAgICAgICAgaWYgKFB5TGlzdF9DaGVjayhvKSB8fCBQeVR1cGxlX0NoZWNrKG8pKSB7CiAgICAgICAgICAgICAgICAgaWYgKCFfZmxhdHRlbjEoY29udGV4dCwgbywgZGVwdGggKyAxKSkKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDA7CkBAIC0yODIyLDcgKzI4MjMsNyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJ5IGdldHRpbmcgcmlkIG9mIGl0LiAqLwogICAgIGNoYXIgKmNsYXNzTmFtZSA9IE5VTEw7CiAgICAgaW50IGludGVyYWN0aXZlID0gMDsKLSAgICBpbnQgd2FudG9iamVjdHMgPSAwOworICAgIGludCB3YW50b2JqZWN0cyA9IDE7CiAgICAgaW50IHdhbnRUayA9IDE7ICAgICAvKiBJZiBmYWxzZSwgdGhlbiBUa19Jbml0KCkgZG9lc24ndCBnZXQgY2FsbGVkICovCiAgICAgaW50IHN5bmMgPSAwOyAvKiBwYXNzIC1zeW5jIHRvIHdpc2ggKi8KICAgICBjaGFyICp1c2UgPSBOVUxMOyAvKiBwYXNzIC11c2UgdG8gd2lzaCAqLwpkaWZmIC0tZ2l0IGEvTW9kdWxlcy9fdHJhY2VtYWxsb2MuYyBiL01vZHVsZXMvX3RyYWNlbWFsbG9jLmMKaW5kZXggYmJlNzI1OS4uMTJlMzJlYiAxMDA2NDQKLS0tIGEvTW9kdWxlcy9fdHJhY2VtYWxsb2MuYworKysgYi9Nb2R1bGVzL190cmFjZW1hbGxvYy5jCkBAIC0xNiwxNCArMTYsMTEgQEAKICMgIGRlZmluZSBUUkFDRV9ERUJVRwogI2VuZGlmCiAKLSNkZWZpbmUgX1NUUihWQUwpICNWQUwKLSNkZWZpbmUgU1RSKFZBTCkgX1NUUihWQUwpCi0KIC8qIFByb3RlY3RlZCBieSB0aGUgR0lMICovCiBzdGF0aWMgc3RydWN0IHsKLSAgICBQeU1lbUFsbG9jYXRvciBtZW07Ci0gICAgUHlNZW1BbGxvY2F0b3IgcmF3OwotICAgIFB5TWVtQWxsb2NhdG9yIG9iajsKKyAgICBQeU1lbUFsbG9jYXRvckV4IG1lbTsKKyAgICBQeU1lbUFsbG9jYXRvckV4IHJhdzsKKyAgICBQeU1lbUFsbG9jYXRvckV4IG9iajsKIH0gYWxsb2NhdG9yczsKIAogc3RhdGljIHN0cnVjdCB7CkBAIC04Miw3ICs3OSw3IEBACiAgICAgICAgIChzaXplb2YodHJhY2ViYWNrX3QpICsgc2l6ZW9mKGZyYW1lX3QpICogKE5GUkFNRSAtIDEpKQogCiAjZGVmaW5lIE1BWF9ORlJBTUUgXAotICAgICAgICAoKElOVF9NQVggLSBzaXplb2YodHJhY2ViYWNrX3QpKSAvIHNpemVvZihmcmFtZV90KSArIDEpCisgICAgICAgICgoSU5UX01BWCAtIChpbnQpc2l6ZW9mKHRyYWNlYmFja190KSkgLyAoaW50KXNpemVvZihmcmFtZV90KSArIDEpCiAKIHN0YXRpYyBQeU9iamVjdCAqdW5rbm93bl9maWxlbmFtZSA9IE5VTEw7CiBzdGF0aWMgdHJhY2ViYWNrX3QgdHJhY2VtYWxsb2NfZW1wdHlfdHJhY2ViYWNrOwpAQCAtNDc2LDE3ICs0NzMsMjIgQEAKIH0KIAogc3RhdGljIHZvaWQqCi10cmFjZW1hbGxvY19tYWxsb2Modm9pZCAqY3R4LCBzaXplX3Qgc2l6ZSkKK3RyYWNlbWFsbG9jX2FsbG9jKGludCB1c2VfY2FsbG9jLCB2b2lkICpjdHgsIHNpemVfdCBuZWxlbSwgc2l6ZV90IGVsc2l6ZSkKIHsKLSAgICBQeU1lbUFsbG9jYXRvciAqYWxsb2MgPSAoUHlNZW1BbGxvY2F0b3IgKiljdHg7CisgICAgUHlNZW1BbGxvY2F0b3JFeCAqYWxsb2MgPSAoUHlNZW1BbGxvY2F0b3JFeCAqKWN0eDsKICAgICB2b2lkICpwdHI7CiAKLSAgICBwdHIgPSBhbGxvYy0+bWFsbG9jKGFsbG9jLT5jdHgsIHNpemUpOworICAgIGFzc2VydChlbHNpemUgPT0gMCB8fCBuZWxlbSA8PSBQWV9TSVpFX01BWCAvIGVsc2l6ZSk7CisKKyAgICBpZiAodXNlX2NhbGxvYykKKyAgICAgICAgcHRyID0gYWxsb2MtPmNhbGxvYyhhbGxvYy0+Y3R4LCBuZWxlbSwgZWxzaXplKTsKKyAgICBlbHNlCisgICAgICAgIHB0ciA9IGFsbG9jLT5tYWxsb2MoYWxsb2MtPmN0eCwgbmVsZW0gKiBlbHNpemUpOwogICAgIGlmIChwdHIgPT0gTlVMTCkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAKICAgICBUQUJMRVNfTE9DSygpOwotICAgIGlmICh0cmFjZW1hbGxvY19hZGRfdHJhY2UocHRyLCBzaXplKSA8IDApIHsKKyAgICBpZiAodHJhY2VtYWxsb2NfYWRkX3RyYWNlKHB0ciwgbmVsZW0gKiBlbHNpemUpIDwgMCkgewogICAgICAgICAvKiBGYWlsZWQgdG8gYWxsb2NhdGUgYSB0cmFjZSBmb3IgdGhlIG5ldyBtZW1vcnkgYmxvY2sgKi8KICAgICAgICAgVEFCTEVTX1VOTE9DSygpOwogICAgICAgICBhbGxvYy0+ZnJlZShhbGxvYy0+Y3R4LCBwdHIpOwpAQCAtNDk5LDcgKzUwMSw3IEBACiBzdGF0aWMgdm9pZCoKIHRyYWNlbWFsbG9jX3JlYWxsb2Modm9pZCAqY3R4LCB2b2lkICpwdHIsIHNpemVfdCBuZXdfc2l6ZSkKIHsKLSAgICBQeU1lbUFsbG9jYXRvciAqYWxsb2MgPSAoUHlNZW1BbGxvY2F0b3IgKiljdHg7CisgICAgUHlNZW1BbGxvY2F0b3JFeCAqYWxsb2MgPSAoUHlNZW1BbGxvY2F0b3JFeCAqKWN0eDsKICAgICB2b2lkICpwdHIyOwogCiAgICAgcHRyMiA9IGFsbG9jLT5yZWFsbG9jKGFsbG9jLT5jdHgsIHB0ciwgbmV3X3NpemUpOwpAQCAtNTQ0LDcgKzU0Niw3IEBACiBzdGF0aWMgdm9pZAogdHJhY2VtYWxsb2NfZnJlZSh2b2lkICpjdHgsIHZvaWQgKnB0cikKIHsKLSAgICBQeU1lbUFsbG9jYXRvciAqYWxsb2MgPSAoUHlNZW1BbGxvY2F0b3IgKiljdHg7CisgICAgUHlNZW1BbGxvY2F0b3JFeCAqYWxsb2MgPSAoUHlNZW1BbGxvY2F0b3JFeCAqKWN0eDsKIAogICAgIGlmIChwdHIgPT0gTlVMTCkKICAgICAgICAgcmV0dXJuOwpAQCAtNTYwLDEzICs1NjIsMTYgQEAKIH0KIAogc3RhdGljIHZvaWQqCi10cmFjZW1hbGxvY19tYWxsb2NfZ2lsKHZvaWQgKmN0eCwgc2l6ZV90IHNpemUpCit0cmFjZW1hbGxvY19hbGxvY19naWwoaW50IHVzZV9jYWxsb2MsIHZvaWQgKmN0eCwgc2l6ZV90IG5lbGVtLCBzaXplX3QgZWxzaXplKQogewogICAgIHZvaWQgKnB0cjsKIAogICAgIGlmIChnZXRfcmVlbnRyYW50KCkpIHsKLSAgICAgICAgUHlNZW1BbGxvY2F0b3IgKmFsbG9jID0gKFB5TWVtQWxsb2NhdG9yICopY3R4OwotICAgICAgICByZXR1cm4gYWxsb2MtPm1hbGxvYyhhbGxvYy0+Y3R4LCBzaXplKTsKKyAgICAgICAgUHlNZW1BbGxvY2F0b3JFeCAqYWxsb2MgPSAoUHlNZW1BbGxvY2F0b3JFeCAqKWN0eDsKKyAgICAgICAgaWYgKHVzZV9jYWxsb2MpCisgICAgICAgICAgICByZXR1cm4gYWxsb2MtPmNhbGxvYyhhbGxvYy0+Y3R4LCBuZWxlbSwgZWxzaXplKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgcmV0dXJuIGFsbG9jLT5tYWxsb2MoYWxsb2MtPmN0eCwgbmVsZW0gKiBlbHNpemUpOwogICAgIH0KIAogICAgIC8qIElnbm9yZSByZWVudHJhbnQgY2FsbC4gUHlPYmpldF9NYWxsb2MoKSBjYWxscyBQeU1lbV9NYWxsb2MoKSBmb3IKQEAgLTU3NCwxMyArNTc5LDI1IEBACiAgICAgICAgYWxsb2NhdGlvbiB0d2ljZS4gKi8KICAgICBzZXRfcmVlbnRyYW50KDEpOwogCi0gICAgcHRyID0gdHJhY2VtYWxsb2NfbWFsbG9jKGN0eCwgc2l6ZSk7CisgICAgcHRyID0gdHJhY2VtYWxsb2NfYWxsb2ModXNlX2NhbGxvYywgY3R4LCBuZWxlbSwgZWxzaXplKTsKIAogICAgIHNldF9yZWVudHJhbnQoMCk7CiAgICAgcmV0dXJuIHB0cjsKIH0KIAogc3RhdGljIHZvaWQqCit0cmFjZW1hbGxvY19tYWxsb2NfZ2lsKHZvaWQgKmN0eCwgc2l6ZV90IHNpemUpCit7CisgICAgcmV0dXJuIHRyYWNlbWFsbG9jX2FsbG9jX2dpbCgwLCBjdHgsIDEsIHNpemUpOworfQorCitzdGF0aWMgdm9pZCoKK3RyYWNlbWFsbG9jX2NhbGxvY19naWwodm9pZCAqY3R4LCBzaXplX3QgbmVsZW0sIHNpemVfdCBlbHNpemUpCit7CisgICAgcmV0dXJuIHRyYWNlbWFsbG9jX2FsbG9jX2dpbCgxLCBjdHgsIG5lbGVtLCBlbHNpemUpOworfQorCitzdGF0aWMgdm9pZCoKIHRyYWNlbWFsbG9jX3JlYWxsb2NfZ2lsKHZvaWQgKmN0eCwgdm9pZCAqcHRyLCBzaXplX3QgbmV3X3NpemUpCiB7CiAgICAgdm9pZCAqcHRyMjsKQEAgLTU5MCw3ICs2MDcsNyBAQAogICAgICAgICAgICBFeGFtcGxlOiBQeU1lbV9SYXdSZWFsbG9jKCkgaXMgY2FsbGVkIGludGVybmFsbHkgYnkgcHltYWxsb2MKICAgICAgICAgICAgKF9QeU9iamVjdF9NYWxsb2MoKSBhbmQgIF9QeU9iamVjdF9SZWFsbG9jKCkpIHRvIGFsbG9jYXRlIGEgbmV3CiAgICAgICAgICAgIGFyZW5hIChuZXdfYXJlbmEoKSkuICovCi0gICAgICAgIFB5TWVtQWxsb2NhdG9yICphbGxvYyA9IChQeU1lbUFsbG9jYXRvciAqKWN0eDsKKyAgICAgICAgUHlNZW1BbGxvY2F0b3JFeCAqYWxsb2MgPSAoUHlNZW1BbGxvY2F0b3JFeCAqKWN0eDsKIAogICAgICAgICBwdHIyID0gYWxsb2MtPnJlYWxsb2MoYWxsb2MtPmN0eCwgcHRyLCBuZXdfc2l6ZSk7CiAgICAgICAgIGlmIChwdHIyICE9IE5VTEwgJiYgcHRyICE9IE5VTEwpIHsKQEAgLTYxNCw3ICs2MzEsNyBAQAogCiAjaWZkZWYgVFJBQ0VfUkFXX01BTExPQwogc3RhdGljIHZvaWQqCi10cmFjZW1hbGxvY19yYXdfbWFsbG9jKHZvaWQgKmN0eCwgc2l6ZV90IHNpemUpCit0cmFjZW1hbGxvY19yYXdfYWxsb2MoaW50IHVzZV9jYWxsb2MsIHZvaWQgKmN0eCwgc2l6ZV90IG5lbGVtLCBzaXplX3QgZWxzaXplKQogewogI2lmZGVmIFdJVEhfVEhSRUFECiAgICAgUHlHSUxTdGF0ZV9TVEFURSBnaWxfc3RhdGU7CkBAIC02MjIsOCArNjM5LDExIEBACiAgICAgdm9pZCAqcHRyOwogCiAgICAgaWYgKGdldF9yZWVudHJhbnQoKSkgewotICAgICAgICBQeU1lbUFsbG9jYXRvciAqYWxsb2MgPSAoUHlNZW1BbGxvY2F0b3IgKiljdHg7Ci0gICAgICAgIHJldHVybiBhbGxvYy0+bWFsbG9jKGFsbG9jLT5jdHgsIHNpemUpOworICAgICAgICBQeU1lbUFsbG9jYXRvckV4ICphbGxvYyA9IChQeU1lbUFsbG9jYXRvckV4ICopY3R4OworICAgICAgICBpZiAodXNlX2NhbGxvYykKKyAgICAgICAgICAgIHJldHVybiBhbGxvYy0+Y2FsbG9jKGFsbG9jLT5jdHgsIG5lbGVtLCBlbHNpemUpOworICAgICAgICBlbHNlCisgICAgICAgICAgICByZXR1cm4gYWxsb2MtPm1hbGxvYyhhbGxvYy0+Y3R4LCBuZWxlbSAqIGVsc2l6ZSk7CiAgICAgfQogCiAgICAgLyogSWdub3JlIHJlZW50cmFudCBjYWxsLiBQeUdJTFN0YXRlX0Vuc3VyZSgpIG1heSBjYWxsIFB5TWVtX1Jhd01hbGxvYygpCkBAIC02MzMsMTAgKzY1MywxMCBAQAogCiAjaWZkZWYgV0lUSF9USFJFQUQKICAgICBnaWxfc3RhdGUgPSBQeUdJTFN0YXRlX0Vuc3VyZSgpOwotICAgIHB0ciA9IHRyYWNlbWFsbG9jX21hbGxvYyhjdHgsIHNpemUpOworICAgIHB0ciA9IHRyYWNlbWFsbG9jX2FsbG9jKHVzZV9jYWxsb2MsIGN0eCwgbmVsZW0sIGVsc2l6ZSk7CiAgICAgUHlHSUxTdGF0ZV9SZWxlYXNlKGdpbF9zdGF0ZSk7CiAjZWxzZQotICAgIHB0ciA9IHRyYWNlbWFsbG9jX21hbGxvYyhjdHgsIHNpemUpOworICAgIHB0ciA9IHRyYWNlbWFsbG9jX2FsbG9jKHVzZV9jYWxsb2MsIGN0eCwgbmVsZW0sIGVsc2l6ZSk7CiAjZW5kaWYKIAogICAgIHNldF9yZWVudHJhbnQoMCk7CkBAIC02NDQsNiArNjY0LDE4IEBACiB9CiAKIHN0YXRpYyB2b2lkKgordHJhY2VtYWxsb2NfcmF3X21hbGxvYyh2b2lkICpjdHgsIHNpemVfdCBzaXplKQoreworICAgIHJldHVybiB0cmFjZW1hbGxvY19yYXdfYWxsb2MoMCwgY3R4LCAxLCBzaXplKTsKK30KKworc3RhdGljIHZvaWQqCit0cmFjZW1hbGxvY19yYXdfY2FsbG9jKHZvaWQgKmN0eCwgc2l6ZV90IG5lbGVtLCBzaXplX3QgZWxzaXplKQoreworICAgIHJldHVybiB0cmFjZW1hbGxvY19yYXdfYWxsb2MoMSwgY3R4LCBuZWxlbSwgZWxzaXplKTsKK30KKworc3RhdGljIHZvaWQqCiB0cmFjZW1hbGxvY19yYXdfcmVhbGxvYyh2b2lkICpjdHgsIHZvaWQgKnB0ciwgc2l6ZV90IG5ld19zaXplKQogewogI2lmZGVmIFdJVEhfVEhSRUFECkBAIC02NTMsNyArNjg1LDcgQEAKIAogICAgIGlmIChnZXRfcmVlbnRyYW50KCkpIHsKICAgICAgICAgLyogUmVlbnRyYW50IGNhbGwgdG8gUHlNZW1fUmF3UmVhbGxvYygpLiAqLwotICAgICAgICBQeU1lbUFsbG9jYXRvciAqYWxsb2MgPSAoUHlNZW1BbGxvY2F0b3IgKiljdHg7CisgICAgICAgIFB5TWVtQWxsb2NhdG9yRXggKmFsbG9jID0gKFB5TWVtQWxsb2NhdG9yRXggKiljdHg7CiAKICAgICAgICAgcHRyMiA9IGFsbG9jLT5yZWFsbG9jKGFsbG9jLT5jdHgsIHB0ciwgbmV3X3NpemUpOwogCkBAIC04MzEsNyArODYzLDcgQEAKIHN0YXRpYyBpbnQKIHRyYWNlbWFsbG9jX3N0YXJ0KGludCBtYXhfbmZyYW1lKQogewotICAgIFB5TWVtQWxsb2NhdG9yIGFsbG9jOworICAgIFB5TWVtQWxsb2NhdG9yRXggYWxsb2M7CiAgICAgc2l6ZV90IHNpemU7CiAKICAgICBpZiAodHJhY2VtYWxsb2NfaW5pdCgpIDwgMCkKQEAgLTg1Niw2ICs4ODgsNyBAQAogCiAjaWZkZWYgVFJBQ0VfUkFXX01BTExPQwogICAgIGFsbG9jLm1hbGxvYyA9IHRyYWNlbWFsbG9jX3Jhd19tYWxsb2M7CisgICAgYWxsb2MuY2FsbG9jID0gdHJhY2VtYWxsb2NfcmF3X2NhbGxvYzsKICAgICBhbGxvYy5yZWFsbG9jID0gdHJhY2VtYWxsb2NfcmF3X3JlYWxsb2M7CiAgICAgYWxsb2MuZnJlZSA9IHRyYWNlbWFsbG9jX2ZyZWU7CiAKQEAgLTg2NSw2ICs4OTgsNyBAQAogI2VuZGlmCiAKICAgICBhbGxvYy5tYWxsb2MgPSB0cmFjZW1hbGxvY19tYWxsb2NfZ2lsOworICAgIGFsbG9jLmNhbGxvYyA9IHRyYWNlbWFsbG9jX2NhbGxvY19naWw7CiAgICAgYWxsb2MucmVhbGxvYyA9IHRyYWNlbWFsbG9jX3JlYWxsb2NfZ2lsOwogICAgIGFsbG9jLmZyZWUgPSB0cmFjZW1hbGxvY19mcmVlOwogCkBAIC0xMTk1LDcgKzEyMjksNyBAQAogICAgIGlmIChuZnJhbWUgPCAxIHx8IG5mcmFtZSA+IE1BWF9ORlJBTUUpIHsKICAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX1ZhbHVlRXJyb3IsCiAgICAgICAgICAgICAgICAgICAgICAidGhlIG51bWJlciBvZiBmcmFtZXMgbXVzdCBiZSBpbiByYW5nZSBbMTsgJWldIiwKLSAgICAgICAgICAgICAgICAgICAgIChpbnQpTUFYX05GUkFNRSk7CisgICAgICAgICAgICAgICAgICAgICBNQVhfTkZSQU1FKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQogICAgIG5mcmFtZV9pbnQgPSBQeV9TQUZFX0RPV05DQVNUKG5mcmFtZSwgUHlfc3NpemVfdCwgaW50KTsKZGlmZiAtLWdpdCBhL01vZHVsZXMvX3dpbmFwaS5jIGIvTW9kdWxlcy9fd2luYXBpLmMKaW5kZXggZDQ3MmM5ZS4uNTFjNGQ1ZiAxMDA2NDQKLS0tIGEvTW9kdWxlcy9fd2luYXBpLmMKKysrIGIvTW9kdWxlcy9fd2luYXBpLmMKQEAgLTQwLDYgKzQwLDcgQEAKICNkZWZpbmUgV0lORE9XU19MRUFOX0FORF9NRUFOCiAjaW5jbHVkZSAid2luZG93cy5oIgogI2luY2x1ZGUgPGNydGRiZy5oPgorI2luY2x1ZGUgIndpbnJlcGFyc2UuaCIKIAogI2lmIGRlZmluZWQoTVNfV0lOMzIpICYmICFkZWZpbmVkKE1TX1dJTjY0KQogI2RlZmluZSBIQU5ETEVfVE9fUFlOVU0oaGFuZGxlKSBcCkBAIC00MDEsNiArNDAyLDE0MCBAQAogfQogCiBzdGF0aWMgUHlPYmplY3QgKgord2luYXBpX0NyZWF0ZUp1bmN0aW9uKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK3sKKyAgICAvKiBJbnB1dCBhcmd1bWVudHMgKi8KKyAgICBMUFdTVFIgc3JjX3BhdGggPSBOVUxMOworICAgIExQV1NUUiBkc3RfcGF0aCA9IE5VTEw7CisKKyAgICAvKiBQcml2aWxlZ2UgYWRqdXN0bWVudCAqLworICAgIEhBTkRMRSB0b2tlbiA9IE5VTEw7CisgICAgVE9LRU5fUFJJVklMRUdFUyB0cDsKKworICAgIC8qIFJlcGFyc2UgZGF0YSBidWZmZXIgKi8KKyAgICBjb25zdCBVU0hPUlQgcHJlZml4X2xlbiA9IDQ7CisgICAgVVNIT1JUIHByaW50X2xlbiA9IDA7CisgICAgVVNIT1JUIHJkYl9zaXplID0gMDsKKyAgICBQUkVQQVJTRV9EQVRBX0JVRkZFUiByZGIgPSBOVUxMOworCisgICAgLyogSnVuY3Rpb24gcG9pbnQgY3JlYXRpb24gKi8KKyAgICBIQU5ETEUganVuY3Rpb24gPSBOVUxMOworICAgIERXT1JEIHJldCA9IDA7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgInV1IiwgJnNyY19wYXRoLCAmZHN0X3BhdGgpKQorICAgICAgICByZXR1cm4gTlVMTDsKKworICAgIGlmIChzcmNfcGF0aCA9PSBOVUxMIHx8IGRzdF9wYXRoID09IE5VTEwpCisgICAgICAgIHJldHVybiBQeUVycl9TZXRGcm9tV2luZG93c0VycihFUlJPUl9JTlZBTElEX1BBUkFNRVRFUik7CisKKyAgICBpZiAod2NzbmNtcChzcmNfcGF0aCwgTCJcXD8/XFwiLCBwcmVmaXhfbGVuKSA9PSAwKQorICAgICAgICByZXR1cm4gUHlFcnJfU2V0RnJvbVdpbmRvd3NFcnIoRVJST1JfSU5WQUxJRF9QQVJBTUVURVIpOworCisgICAgLyogQWRqdXN0IHByaXZpbGVnZXMgdG8gYWxsb3cgcmV3cml0aW5nIGRpcmVjdG9yeSBlbnRyeSBhcyBhCisgICAgICAganVuY3Rpb24gcG9pbnQuICovCisgICAgaWYgKCFPcGVuUHJvY2Vzc1Rva2VuKEdldEN1cnJlbnRQcm9jZXNzKCksIFRPS0VOX0FESlVTVF9QUklWSUxFR0VTLCAmdG9rZW4pKQorICAgICAgICBnb3RvIGNsZWFudXA7CisKKyAgICBpZiAoIUxvb2t1cFByaXZpbGVnZVZhbHVlKE5VTEwsIFNFX1JFU1RPUkVfTkFNRSwgJnRwLlByaXZpbGVnZXNbMF0uTHVpZCkpCisgICAgICAgIGdvdG8gY2xlYW51cDsKKworICAgIHRwLlByaXZpbGVnZUNvdW50ID0gMTsKKyAgICB0cC5Qcml2aWxlZ2VzWzBdLkF0dHJpYnV0ZXMgPSBTRV9QUklWSUxFR0VfRU5BQkxFRDsKKyAgICBpZiAoIUFkanVzdFRva2VuUHJpdmlsZWdlcyh0b2tlbiwgRkFMU0UsICZ0cCwgc2l6ZW9mKFRPS0VOX1BSSVZJTEVHRVMpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsIE5VTEwpKQorICAgICAgICBnb3RvIGNsZWFudXA7CisKKyAgICBpZiAoR2V0RmlsZUF0dHJpYnV0ZXNXKHNyY19wYXRoKSA9PSBJTlZBTElEX0ZJTEVfQVRUUklCVVRFUykKKyAgICAgICAgZ290byBjbGVhbnVwOworCisgICAgLyogU3RvcmUgdGhlIGFic29sdXRlIGxpbmsgdGFyZ2V0IHBhdGggbGVuZ3RoIGluIHByaW50X2xlbi4gKi8KKyAgICBwcmludF9sZW4gPSAoVVNIT1JUKUdldEZ1bGxQYXRoTmFtZVcoc3JjX3BhdGgsIDAsIE5VTEwsIE5VTEwpOworICAgIGlmIChwcmludF9sZW4gPT0gMCkKKyAgICAgICAgZ290byBjbGVhbnVwOworCisgICAgLyogTlVMIHRlcm1pbmF0b3Igc2hvdWxkIG5vdCBiZSBwYXJ0IG9mIHByaW50X2xlbi4gKi8KKyAgICAtLXByaW50X2xlbjsKKworICAgIC8qIFJFUEFSU0VfREFUQV9CVUZGRVIgdXNhZ2UgaXMgaGVhdmlseSB1bmRlci1kb2N1bWVudGVkLCBlc3BlY2lhbGx5IGZvcgorICAgICAgIGp1bmN0aW9uIHBvaW50cy4gSGVyZSdzIHdoYXQgSSd2ZSBsZWFybmVkIGFsb25nIHRoZSB3YXk6CisgICAgICAgLSBBIGp1bmN0aW9uIHBvaW50IGhhcyB0d28gY29tcG9uZW50czogYSBwcmludCBuYW1lIGFuZCBhIHN1YnN0aXR1dGUKKyAgICAgICAgIG5hbWUuIFRoZXkgYm90aCBkZXNjcmliZSB0aGUgbGluayB0YXJnZXQsIGJ1dCB0aGUgc3Vic3RpdHV0ZSBuYW1lIGlzCisgICAgICAgICB0aGUgcGh5c2ljYWwgdGFyZ2V0IGFuZCB0aGUgcHJpbnQgbmFtZSBpcyBzaG93biBpbiBkaXJlY3RvcnkgbGlzdGluZ3MuCisgICAgICAgLSBUaGUgcHJpbnQgbmFtZSBtdXN0IGJlIGEgbmF0aXZlIG5hbWUsIHByZWZpeGVkIHdpdGggIlw/P1wiLgorICAgICAgIC0gQm90aCBuYW1lcyBhcmUgc3RvcmVkIGFmdGVyIGVhY2ggb3RoZXIgaW4gdGhlIHNhbWUgYnVmZmVyICh0aGUKKyAgICAgICAgIFBhdGhCdWZmZXIpIGFuZCBib3RoIG11c3QgYmUgTlVMLXRlcm1pbmF0ZWQuCisgICAgICAgLSBUaGVyZSBhcmUgZm91ciBtZW1iZXJzIGRlZmluaW5nIHRoZWlyIHJlc3BlY3RpdmUgb2Zmc2V0IGFuZCBsZW5ndGgKKyAgICAgICAgIGluc2lkZSBQYXRoQnVmZmVyOiBTdWJzdGl0dXRlTmFtZU9mZnNldCwgU3Vic3RpdHV0ZU5hbWVMZW5ndGgsCisgICAgICAgICBQcmludE5hbWVPZmZzZXQgYW5kIFByaW50TmFtZUxlbmd0aC4KKyAgICAgICAtIFRoZSB0b3RhbCBzaXplIHdlIG5lZWQgdG8gYWxsb2NhdGUgZm9yIHRoZSBSRVBBUlNFX0RBVEFfQlVGRkVSLCB0aHVzLAorICAgICAgICAgaXMgdGhlIHN1bSBvZjoKKyAgICAgICAgIC0gdGhlIGZpeGVkIGhlYWRlciBzaXplIChSRVBBUlNFX0RBVEFfQlVGRkVSX0hFQURFUl9TSVpFKQorICAgICAgICAgLSB0aGUgc2l6ZSBvZiB0aGUgTW91bnRQb2ludFJlcGFyc2VCdWZmZXIgbWVtYmVyIHdpdGhvdXQgdGhlIFBhdGhCdWZmZXIKKyAgICAgICAgIC0gdGhlIHNpemUgb2YgdGhlIHByZWZpeCAoIlw/P1wiKSBpbiBieXRlcworICAgICAgICAgLSB0aGUgc2l6ZSBvZiB0aGUgcHJpbnQgbmFtZSBpbiBieXRlcworICAgICAgICAgLSB0aGUgc2l6ZSBvZiB0aGUgc3Vic3RpdHV0ZSBuYW1lIGluIGJ5dGVzCisgICAgICAgICAtIHRoZSBzaXplIG9mIHR3byBOVUwgdGVybWluYXRvcnMgaW4gYnl0ZXMgKi8KKyAgICByZGJfc2l6ZSA9IFJFUEFSU0VfREFUQV9CVUZGRVJfSEVBREVSX1NJWkUgKworICAgICAgICBzaXplb2YocmRiLT5Nb3VudFBvaW50UmVwYXJzZUJ1ZmZlcikgLQorICAgICAgICBzaXplb2YocmRiLT5Nb3VudFBvaW50UmVwYXJzZUJ1ZmZlci5QYXRoQnVmZmVyKSArCisgICAgICAgIC8qIFR3byArMSdzIGZvciBOVUwgdGVybWluYXRvcnMuICovCisgICAgICAgIChwcmVmaXhfbGVuICsgcHJpbnRfbGVuICsgMSArIHByaW50X2xlbiArIDEpICogc2l6ZW9mKFdDSEFSKTsKKyAgICByZGIgPSAoUFJFUEFSU0VfREFUQV9CVUZGRVIpUHlNZW1fUmF3TWFsbG9jKHJkYl9zaXplKTsKKyAgICBpZiAocmRiID09IE5VTEwpCisgICAgICAgIGdvdG8gY2xlYW51cDsKKworICAgIG1lbXNldChyZGIsIDAsIHJkYl9zaXplKTsKKyAgICByZGItPlJlcGFyc2VUYWcgPSBJT19SRVBBUlNFX1RBR19NT1VOVF9QT0lOVDsKKyAgICByZGItPlJlcGFyc2VEYXRhTGVuZ3RoID0gcmRiX3NpemUgLSBSRVBBUlNFX0RBVEFfQlVGRkVSX0hFQURFUl9TSVpFOworICAgIHJkYi0+TW91bnRQb2ludFJlcGFyc2VCdWZmZXIuU3Vic3RpdHV0ZU5hbWVPZmZzZXQgPSAwOworICAgIHJkYi0+TW91bnRQb2ludFJlcGFyc2VCdWZmZXIuU3Vic3RpdHV0ZU5hbWVMZW5ndGggPQorICAgICAgICAocHJlZml4X2xlbiArIHByaW50X2xlbikgKiBzaXplb2YoV0NIQVIpOworICAgIHJkYi0+TW91bnRQb2ludFJlcGFyc2VCdWZmZXIuUHJpbnROYW1lT2Zmc2V0ID0KKyAgICAgICAgcmRiLT5Nb3VudFBvaW50UmVwYXJzZUJ1ZmZlci5TdWJzdGl0dXRlTmFtZUxlbmd0aCArIHNpemVvZihXQ0hBUik7CisgICAgcmRiLT5Nb3VudFBvaW50UmVwYXJzZUJ1ZmZlci5QcmludE5hbWVMZW5ndGggPSBwcmludF9sZW4gKiBzaXplb2YoV0NIQVIpOworCisgICAgLyogU3RvcmUgdGhlIGZ1bGwgbmF0aXZlIHBhdGggb2YgbGluayB0YXJnZXQgYXQgdGhlIHN1YnN0aXR1dGUgbmFtZQorICAgICAgIG9mZnNldCAoMCkuICovCisgICAgd2NzY3B5KHJkYi0+TW91bnRQb2ludFJlcGFyc2VCdWZmZXIuUGF0aEJ1ZmZlciwgTCJcXD8/XFwiKTsKKyAgICBpZiAoR2V0RnVsbFBhdGhOYW1lVyhzcmNfcGF0aCwgcHJpbnRfbGVuICsgMSwKKyAgICAgICAgICAgICAgICAgICAgICAgICByZGItPk1vdW50UG9pbnRSZXBhcnNlQnVmZmVyLlBhdGhCdWZmZXIgKyBwcmVmaXhfbGVuLAorICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwpID09IDApCisgICAgICAgIGdvdG8gY2xlYW51cDsKKworICAgIC8qIENvcHkgZXZlcnl0aGluZyBidXQgdGhlIG5hdGl2ZSBwcmVmaXggdG8gdGhlIHByaW50IG5hbWUgb2Zmc2V0LiAqLworICAgIHdjc2NweShyZGItPk1vdW50UG9pbnRSZXBhcnNlQnVmZmVyLlBhdGhCdWZmZXIgKworICAgICAgICAgICAgIHByZWZpeF9sZW4gKyBwcmludF9sZW4gKyAxLAorICAgICAgICAgICAgIHJkYi0+TW91bnRQb2ludFJlcGFyc2VCdWZmZXIuUGF0aEJ1ZmZlciArIHByZWZpeF9sZW4pOworCisgICAgLyogQ3JlYXRlIGEgZGlyZWN0b3J5IGZvciB0aGUganVuY3Rpb24gcG9pbnQuICovCisgICAgaWYgKCFDcmVhdGVEaXJlY3RvcnlXKGRzdF9wYXRoLCBOVUxMKSkKKyAgICAgICAgZ290byBjbGVhbnVwOworCisgICAganVuY3Rpb24gPSBDcmVhdGVGaWxlVyhkc3RfcGF0aCwgR0VORVJJQ19SRUFEIHwgR0VORVJJQ19XUklURSwgMCwgTlVMTCwKKyAgICAgICAgT1BFTl9FWElTVElORywKKyAgICAgICAgRklMRV9GTEFHX09QRU5fUkVQQVJTRV9QT0lOVCB8IEZJTEVfRkxBR19CQUNLVVBfU0VNQU5USUNTLCBOVUxMKTsKKyAgICBpZiAoanVuY3Rpb24gPT0gSU5WQUxJRF9IQU5ETEVfVkFMVUUpCisgICAgICAgIGdvdG8gY2xlYW51cDsKKworICAgIC8qIE1ha2UgdGhlIGRpcmVjdG9yeSBlbnRyeSBhIGp1bmN0aW9uIHBvaW50LiAqLworICAgIGlmICghRGV2aWNlSW9Db250cm9sKGp1bmN0aW9uLCBGU0NUTF9TRVRfUkVQQVJTRV9QT0lOVCwgcmRiLCByZGJfc2l6ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLCAwLCAmcmV0LCBOVUxMKSkKKyAgICAgICAgZ290byBjbGVhbnVwOworCitjbGVhbnVwOgorICAgIHJldCA9IEdldExhc3RFcnJvcigpOworCisgICAgQ2xvc2VIYW5kbGUodG9rZW4pOworICAgIENsb3NlSGFuZGxlKGp1bmN0aW9uKTsKKyAgICBQeU1lbV9SYXdGcmVlKHJkYik7CisKKyAgICBpZiAocmV0ICE9IDApCisgICAgICAgIHJldHVybiBQeUVycl9TZXRGcm9tV2luZG93c0VycihyZXQpOworCisgICAgUHlfUkVUVVJOX05PTkU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCiB3aW5hcGlfQ3JlYXRlTmFtZWRQaXBlKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKIHsKICAgICBMUENUU1RSIGxwTmFtZTsKQEAgLTEyMzUsNiArMTM3MCw4IEBACiAgICAgIE1FVEhfVkFSQVJHUyB8IE1FVEhfS0VZV09SRFMsICIifSwKICAgICB7IkNyZWF0ZUZpbGUiLCB3aW5hcGlfQ3JlYXRlRmlsZSwgTUVUSF9WQVJBUkdTLAogICAgICAiIn0sCisgICAgeyJDcmVhdGVKdW5jdGlvbiIsIHdpbmFwaV9DcmVhdGVKdW5jdGlvbiwgTUVUSF9WQVJBUkdTLAorICAgICAiIn0sCiAgICAgeyJDcmVhdGVOYW1lZFBpcGUiLCB3aW5hcGlfQ3JlYXRlTmFtZWRQaXBlLCBNRVRIX1ZBUkFSR1MsCiAgICAgICIifSwKICAgICB7IkNyZWF0ZVBpcGUiLCB3aW5hcGlfQ3JlYXRlUGlwZSwgTUVUSF9WQVJBUkdTLApkaWZmIC0tZ2l0IGEvTW9kdWxlcy9hcnJheW1vZHVsZS5jIGIvTW9kdWxlcy9hcnJheW1vZHVsZS5jCmluZGV4IDVhYjFhYjYuLjZlNzU1ZjQgMTAwNjQ0Ci0tLSBhL01vZHVsZXMvYXJyYXltb2R1bGUuYworKysgYi9Nb2R1bGVzL2FycmF5bW9kdWxlLmMKQEAgLTE1LDYgKzE1LDEyIEBACiAjZW5kaWYgLyogSEFWRV9TWVNfVFlQRVNfSCAqLwogI2VuZGlmIC8qICFTVERDX0hFQURFUlMgKi8KIAorLypbY2xpbmljIGlucHV0XQorb3V0cHV0IHByZXNldCBmaWxlCittb2R1bGUgYXJyYXkKK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1kYTM5YTNlZTVlNmI0YjBkIGlucHV0PTA5MDljMWExNDhjNjk5MzFdKi8KKwogc3RydWN0IGFycmF5b2JqZWN0OyAvKiBGb3J3YXJkICovCiAKIC8qIEFsbCBwb3NzaWJsZSBhcnJheWRlc2NyIHZhbHVlcyBhcmUgZGVmaW5lZCBpbiB0aGUgdmVjdG9yICJkZXNjcmlwdG9ycyIKQEAgLTQyLDYgKzQ4LDYzIEBACiAKIHN0YXRpYyBQeVR5cGVPYmplY3QgQXJyYXl0eXBlOwogCit0eXBlZGVmIHN0cnVjdCB7CisgICAgUHlPYmplY3RfSEVBRAorICAgIFB5X3NzaXplX3QgaW5kZXg7CisgICAgYXJyYXlvYmplY3QgKmFvOworICAgIFB5T2JqZWN0KiAoKmdldGl0ZW0pKHN0cnVjdCBhcnJheW9iamVjdCAqLCBQeV9zc2l6ZV90KTsKK30gYXJyYXlpdGVyb2JqZWN0OworCitzdGF0aWMgUHlUeXBlT2JqZWN0IFB5QXJyYXlJdGVyX1R5cGU7CisKKyNkZWZpbmUgUHlBcnJheUl0ZXJfQ2hlY2sob3ApIFB5T2JqZWN0X1R5cGVDaGVjayhvcCwgJlB5QXJyYXlJdGVyX1R5cGUpCisKK2VudW0gbWFjaGluZV9mb3JtYXRfY29kZSB7CisgICAgVU5LTk9XTl9GT1JNQVQgPSAtMSwKKyAgICAvKiBVTktOT1dOX0ZPUk1BVCBpcyB1c2VkIHRvIGluZGljYXRlIHRoYXQgdGhlIG1hY2hpbmUgZm9ybWF0IGZvciBhbgorICAgICAqIGFycmF5IHR5cGUgY29kZSBjYW5ub3QgYmUgaW50ZXJwcmV0ZWQuIFdoZW4gdGhpcyBvY2N1cnMsIGEgbGlzdCBvZgorICAgICAqIFB5dGhvbiBvYmplY3RzIGlzIHVzZWQgdG8gcmVwcmVzZW50IHRoZSBjb250ZW50IG9mIHRoZSBhcnJheQorICAgICAqIGluc3RlYWQgb2YgdXNpbmcgdGhlIG1lbW9yeSBjb250ZW50IG9mIHRoZSBhcnJheSBkaXJlY3RseS4gSW4gdGhhdAorICAgICAqIGNhc2UsIHRoZSBhcnJheV9yZWNvbnN0cnVjdG9yIG1lY2hhbmlzbSBpcyBieXBhc3NlZCBjb21wbGV0ZWx5LCBhbmQKKyAgICAgKiB0aGUgc3RhbmRhcmQgYXJyYXkgY29uc3RydWN0b3IgaXMgdXNlZCBpbnN0ZWFkLgorICAgICAqCisgICAgICogVGhpcyBpcyB3aWxsIG1vc3QgbGlrZWx5IG9jY3VyIHdoZW4gdGhlIG1hY2hpbmUgZG9lc24ndCB1c2UgSUVFRQorICAgICAqIGZsb2F0aW5nLXBvaW50IG51bWJlcnMuCisgICAgICovCisKKyAgICBVTlNJR05FRF9JTlQ4ID0gMCwKKyAgICBTSUdORURfSU5UOCA9IDEsCisgICAgVU5TSUdORURfSU5UMTZfTEUgPSAyLAorICAgIFVOU0lHTkVEX0lOVDE2X0JFID0gMywKKyAgICBTSUdORURfSU5UMTZfTEUgPSA0LAorICAgIFNJR05FRF9JTlQxNl9CRSA9IDUsCisgICAgVU5TSUdORURfSU5UMzJfTEUgPSA2LAorICAgIFVOU0lHTkVEX0lOVDMyX0JFID0gNywKKyAgICBTSUdORURfSU5UMzJfTEUgPSA4LAorICAgIFNJR05FRF9JTlQzMl9CRSA9IDksCisgICAgVU5TSUdORURfSU5UNjRfTEUgPSAxMCwKKyAgICBVTlNJR05FRF9JTlQ2NF9CRSA9IDExLAorICAgIFNJR05FRF9JTlQ2NF9MRSA9IDEyLAorICAgIFNJR05FRF9JTlQ2NF9CRSA9IDEzLAorICAgIElFRUVfNzU0X0ZMT0FUX0xFID0gMTQsCisgICAgSUVFRV83NTRfRkxPQVRfQkUgPSAxNSwKKyAgICBJRUVFXzc1NF9ET1VCTEVfTEUgPSAxNiwKKyAgICBJRUVFXzc1NF9ET1VCTEVfQkUgPSAxNywKKyAgICBVVEYxNl9MRSA9IDE4LAorICAgIFVURjE2X0JFID0gMTksCisgICAgVVRGMzJfTEUgPSAyMCwKKyAgICBVVEYzMl9CRSA9IDIxCit9OworI2RlZmluZSBNQUNISU5FX0ZPUk1BVF9DT0RFX01JTiAwCisjZGVmaW5lIE1BQ0hJTkVfRk9STUFUX0NPREVfTUFYIDIxCisKKworLyoKKyAqIE11c3QgY29tZSBhZnRlciBhcnJheW9iamVjdCwgYXJyYXlpdGVyb2JqZWN0LAorICogYW5kIGVudW0gbWFjaGluZV9jb2RlX3R5cGUgZGVmaW5pdGlvbnMuCisgKi8KKyNpbmNsdWRlICJjbGluaWMvYXJyYXltb2R1bGUuYy5oIgorCiAjZGVmaW5lIGFycmF5X0NoZWNrKG9wKSBQeU9iamVjdF9UeXBlQ2hlY2sob3AsICZBcnJheXR5cGUpCiAjZGVmaW5lIGFycmF5X0NoZWNrRXhhY3Qob3ApIChQeV9UWVBFKG9wKSA9PSAmQXJyYXl0eXBlKQogCkBAIC00NzEsNiArNTM0LDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogSW1wbGVtZW50YXRpb25zIG9mIGFycmF5IG9iamVjdCBtZXRob2RzLgogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qW2NsaW5pYyBpbnB1dF0KK2NsYXNzIGFycmF5LmFycmF5ICJhcnJheW9iamVjdCAqIiAiJkFycmF5dHlwZSIKK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1kYTM5YTNlZTVlNmI0YjBkIGlucHV0PWFkNDNkMzdlOTQyYTg4NTRdKi8KIAogc3RhdGljIFB5T2JqZWN0ICoKIG5ld2FycmF5b2JqZWN0KFB5VHlwZU9iamVjdCAqdHlwZSwgUHlfc3NpemVfdCBzaXplLCBzdHJ1Y3QgYXJyYXlkZXNjciAqZGVzY3IpCkBAIC02ODQsMTYgKzc1MSwzNSBAQAogICAgIHJldHVybiAoUHlPYmplY3QgKilucDsKIH0KIAorCisvKltjbGluaWMgaW5wdXRdCithcnJheS5hcnJheS5fX2NvcHlfXworCitSZXR1cm4gYSBjb3B5IG9mIHRoZSBhcnJheS4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKwogc3RhdGljIFB5T2JqZWN0ICoKLWFycmF5X2NvcHkoYXJyYXlvYmplY3QgKmEsIFB5T2JqZWN0ICp1bnVzZWQpCithcnJheV9hcnJheV9fX2NvcHlfX19pbXBsKGFycmF5b2JqZWN0ICpzZWxmKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWRlYzdjM2Y5MjVkOTYxOWUgaW5wdXQ9YWQxZWU1YjA4Njk2NWYwOV0qLwogewotICAgIHJldHVybiBhcnJheV9zbGljZShhLCAwLCBQeV9TSVpFKGEpKTsKKyAgICByZXR1cm4gYXJyYXlfc2xpY2Uoc2VsZiwgMCwgUHlfU0laRShzZWxmKSk7CiB9CiAKLVB5RG9jX1NUUlZBUihjb3B5X2RvYywKLSJjb3B5KGFycmF5KVxuXAotXG5cCi0gUmV0dXJuIGEgY29weSBvZiB0aGUgYXJyYXkuIik7CisvKltjbGluaWMgaW5wdXRdCithcnJheS5hcnJheS5fX2RlZXBjb3B5X18KKworICAgIHVudXNlZDogb2JqZWN0CisgICAgLworCitSZXR1cm4gYSBjb3B5IG9mIHRoZSBhcnJheS4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworc3RhdGljIFB5T2JqZWN0ICoKK2FycmF5X2FycmF5X19fZGVlcGNvcHlfXyhhcnJheW9iamVjdCAqc2VsZiwgUHlPYmplY3QgKnVudXNlZCkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD0xZWM3NDhkOGUxNGE5ZmFhIGlucHV0PTI0MDVlY2I0OTMzNzQ4YzRdKi8KK3sKKyAgICByZXR1cm4gYXJyYXlfYXJyYXlfX19jb3B5X19faW1wbChzZWxmKTsKK30KIAogc3RhdGljIFB5T2JqZWN0ICoKIGFycmF5X2NvbmNhdChhcnJheW9iamVjdCAqYSwgUHlPYmplY3QgKmJiKQpAQCAtOTYxLDggKzEwNDcsMTggQEAKICAgICByZXR1cm4gUHlfTm9uZTsKIH0KIAorLypbY2xpbmljIGlucHV0XQorYXJyYXkuYXJyYXkuY291bnQKKworICAgIHY6IG9iamVjdAorICAgIC8KKworUmV0dXJuIG51bWJlciBvZiBvY2N1cnJlbmNlcyBvZiB2IGluIHRoZSBhcnJheS4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKwogc3RhdGljIFB5T2JqZWN0ICoKLWFycmF5X2NvdW50KGFycmF5b2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqdikKK2FycmF5X2FycmF5X2NvdW50KGFycmF5b2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqdikKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD0zZGQzNjI0YmY3MTM1YTNhIGlucHV0PWQ5YmNlOWQ2NWUzOWQxZjVdKi8KIHsKICAgICBQeV9zc2l6ZV90IGNvdW50ID0gMDsKICAgICBQeV9zc2l6ZV90IGk7CkBAIC05ODQsMTMgKzEwODAsMTkgQEAKICAgICByZXR1cm4gUHlMb25nX0Zyb21Tc2l6ZV90KGNvdW50KTsKIH0KIAotUHlEb2NfU1RSVkFSKGNvdW50X2RvYywKLSJjb3VudCh4KVxuXAotXG5cCi1SZXR1cm4gbnVtYmVyIG9mIG9jY3VycmVuY2VzIG9mIHggaW4gdGhlIGFycmF5LiIpOworCisvKltjbGluaWMgaW5wdXRdCithcnJheS5hcnJheS5pbmRleAorCisgICAgdjogb2JqZWN0CisgICAgLworCitSZXR1cm4gaW5kZXggb2YgZmlyc3Qgb2NjdXJyZW5jZSBvZiB2IGluIHRoZSBhcnJheS4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KIAogc3RhdGljIFB5T2JqZWN0ICoKLWFycmF5X2luZGV4KGFycmF5b2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqdikKK2FycmF5X2FycmF5X2luZGV4KGFycmF5b2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqdikKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1kNDg0OThkMzI1NjAyMTY3IGlucHV0PWNmNjE5ODk4YzY2NDlkMDhdKi8KIHsKICAgICBQeV9zc2l6ZV90IGk7CiAKQEAgLTEwMTMsMTEgKzExMTUsNiBAQAogICAgIHJldHVybiBOVUxMOwogfQogCi1QeURvY19TVFJWQVIoaW5kZXhfZG9jLAotImluZGV4KHgpXG5cCi1cblwKLVJldHVybiBpbmRleCBvZiBmaXJzdCBvY2N1cnJlbmNlIG9mIHggaW4gdGhlIGFycmF5LiIpOwotCiBzdGF0aWMgaW50CiBhcnJheV9jb250YWlucyhhcnJheW9iamVjdCAqc2VsZiwgUHlPYmplY3QgKnYpCiB7CkBAIC0xMDM0LDggKzExMzEsMTggQEAKICAgICByZXR1cm4gY21wOwogfQogCisvKltjbGluaWMgaW5wdXRdCithcnJheS5hcnJheS5yZW1vdmUKKworICAgIHY6IG9iamVjdAorICAgIC8KKworUmVtb3ZlIHRoZSBmaXJzdCBvY2N1cnJlbmNlIG9mIHYgaW4gdGhlIGFycmF5LgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCiBzdGF0aWMgUHlPYmplY3QgKgotYXJyYXlfcmVtb3ZlKGFycmF5b2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqdikKK2FycmF5X2FycmF5X3JlbW92ZShhcnJheW9iamVjdCAqc2VsZiwgUHlPYmplY3QgKnYpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9YmVmMDZiZTlmZGY5ZGNlYiBpbnB1dD0wYjFlNWFlZDI1NTkwMDI3XSovCiB7CiAgICAgaW50IGk7CiAKQEAgLTEwNjIsMTggKzExNjksMjMgQEAKICAgICByZXR1cm4gTlVMTDsKIH0KIAotUHlEb2NfU1RSVkFSKHJlbW92ZV9kb2MsCi0icmVtb3ZlKHgpXG5cCi1cblwKLVJlbW92ZSB0aGUgZmlyc3Qgb2NjdXJyZW5jZSBvZiB4IGluIHRoZSBhcnJheS4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK2FycmF5LmFycmF5LnBvcAorCisgICAgaTogUHlfc3NpemVfdCA9IC0xCisgICAgLworCitSZXR1cm4gdGhlIGktdGggZWxlbWVudCBhbmQgZGVsZXRlIGl0IGZyb20gdGhlIGFycmF5LgorCitpIGRlZmF1bHRzIHRvIC0xLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLwogCiBzdGF0aWMgUHlPYmplY3QgKgotYXJyYXlfcG9wKGFycmF5b2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK2FycmF5X2FycmF5X3BvcF9pbXBsKGFycmF5b2JqZWN0ICpzZWxmLCBQeV9zc2l6ZV90IGkpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9YmMxZjBjNTRmZTUzMDhlNCBpbnB1dD04ZTVmZWI0YzFhMTFjZDQ0XSovCiB7Ci0gICAgUHlfc3NpemVfdCBpID0gLTE7CiAgICAgUHlPYmplY3QgKnY7Ci0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJ8bjpwb3AiLCAmaSkpCi0gICAgICAgIHJldHVybiBOVUxMOworCiAgICAgaWYgKFB5X1NJWkUoc2VsZikgPT0gMCkgewogICAgICAgICAvKiBTcGVjaWFsLWNhc2UgbW9zdCBjb21tb24gZmFpbHVyZSBjYXVzZSAqLwogICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfSW5kZXhFcnJvciwgInBvcCBmcm9tIGVtcHR5IGFycmF5Iik7CkBAIC0xMDk1LDEzICsxMjA3LDE4IEBACiAgICAgcmV0dXJuIHY7CiB9CiAKLVB5RG9jX1NUUlZBUihwb3BfZG9jLAotInBvcChbaV0pXG5cCi1cblwKLVJldHVybiB0aGUgaS10aCBlbGVtZW50IGFuZCBkZWxldGUgaXQgZnJvbSB0aGUgYXJyYXkuIGkgZGVmYXVsdHMgdG8gLTEuIik7CisvKltjbGluaWMgaW5wdXRdCithcnJheS5hcnJheS5leHRlbmQKKworICAgIGJiOiBvYmplY3QKKyAgICAvCisKK0FwcGVuZCBpdGVtcyB0byB0aGUgZW5kIG9mIHRoZSBhcnJheS4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KIAogc3RhdGljIFB5T2JqZWN0ICoKLWFycmF5X2V4dGVuZChhcnJheW9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmJiKQorYXJyYXlfYXJyYXlfZXh0ZW5kKGFycmF5b2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYmIpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9YmJkZGJjOGU4YmVmODcxZCBpbnB1dD00M2JlODZhYmE1YzMxZTQ0XSovCiB7CiAgICAgaWYgKGFycmF5X2RvX2V4dGVuZChzZWxmLCBiYikgPT0gLTEpCiAgICAgICAgIHJldHVybiBOVUxMOwpAQCAtMTEwOSwyOSArMTIyNiwzNSBAQAogICAgIHJldHVybiBQeV9Ob25lOwogfQogCi1QeURvY19TVFJWQVIoZXh0ZW5kX2RvYywKLSJleHRlbmQoYXJyYXkgb3IgaXRlcmFibGUpXG5cCi1cblwKLSBBcHBlbmQgaXRlbXMgdG8gdGhlIGVuZCBvZiB0aGUgYXJyYXkuIik7CisvKltjbGluaWMgaW5wdXRdCithcnJheS5hcnJheS5pbnNlcnQKKworICAgIGk6IFB5X3NzaXplX3QKKyAgICB2OiBvYmplY3QKKyAgICAvCisKK0luc2VydCBhIG5ldyBpdGVtIHYgaW50byB0aGUgYXJyYXkgYmVmb3JlIHBvc2l0aW9uIGkuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1hcnJheV9pbnNlcnQoYXJyYXlvYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQorYXJyYXlfYXJyYXlfaW5zZXJ0X2ltcGwoYXJyYXlvYmplY3QgKnNlbGYsIFB5X3NzaXplX3QgaSwgUHlPYmplY3QgKnYpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9NWEzNjQ4ZTI3ODM0ODU2NCBpbnB1dD01NTc3ZDFiNDM4M2U5MzEzXSovCiB7Ci0gICAgUHlfc3NpemVfdCBpOwotICAgIFB5T2JqZWN0ICp2OwotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAibk86aW5zZXJ0IiwgJmksICZ2KSkKLSAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgcmV0dXJuIGlucyhzZWxmLCBpLCB2KTsKIH0KIAotUHlEb2NfU1RSVkFSKGluc2VydF9kb2MsCi0iaW5zZXJ0KGkseClcblwKLVxuXAotSW5zZXJ0IGEgbmV3IGl0ZW0geCBpbnRvIHRoZSBhcnJheSBiZWZvcmUgcG9zaXRpb24gaS4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK2FycmF5LmFycmF5LmJ1ZmZlcl9pbmZvCiAKK1JldHVybiBhIHR1cGxlIChhZGRyZXNzLCBsZW5ndGgpIGdpdmluZyB0aGUgY3VycmVudCBtZW1vcnkgYWRkcmVzcyBhbmQgdGhlIGxlbmd0aCBpbiBpdGVtcyBvZiB0aGUgYnVmZmVyIHVzZWQgdG8gaG9sZCBhcnJheSdzIGNvbnRlbnRzLgorCitUaGUgbGVuZ3RoIHNob3VsZCBiZSBtdWx0aXBsaWVkIGJ5IHRoZSBpdGVtc2l6ZSBhdHRyaWJ1dGUgdG8gY2FsY3VsYXRlCit0aGUgYnVmZmVyIGxlbmd0aCBpbiBieXRlcy4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KIAogc3RhdGljIFB5T2JqZWN0ICoKLWFycmF5X2J1ZmZlcl9pbmZvKGFycmF5b2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqdW51c2VkKQorYXJyYXlfYXJyYXlfYnVmZmVyX2luZm9faW1wbChhcnJheW9iamVjdCAqc2VsZikKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD05YjJhNGVjM2FlN2U5OGU3IGlucHV0PWE1OGJhZTVjNmUxYWM2YTZdKi8KIHsKICAgICBQeU9iamVjdCAqcmV0dmFsID0gTlVMTCwgKnY7CiAKQEAgLTExNTYsMjkgKzEyNzksMzQgQEAKICAgICByZXR1cm4gcmV0dmFsOwogfQogCi1QeURvY19TVFJWQVIoYnVmZmVyX2luZm9fZG9jLAotImJ1ZmZlcl9pbmZvKCkgLT4gKGFkZHJlc3MsIGxlbmd0aClcblwKLVxuXAotUmV0dXJuIGEgdHVwbGUgKGFkZHJlc3MsIGxlbmd0aCkgZ2l2aW5nIHRoZSBjdXJyZW50IG1lbW9yeSBhZGRyZXNzIGFuZFxuXAotdGhlIGxlbmd0aCBpbiBpdGVtcyBvZiB0aGUgYnVmZmVyIHVzZWQgdG8gaG9sZCBhcnJheSdzIGNvbnRlbnRzXG5cCi1UaGUgbGVuZ3RoIHNob3VsZCBiZSBtdWx0aXBsaWVkIGJ5IHRoZSBpdGVtc2l6ZSBhdHRyaWJ1dGUgdG8gY2FsY3VsYXRlXG5cCi10aGUgYnVmZmVyIGxlbmd0aCBpbiBieXRlcy4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK2FycmF5LmFycmF5LmFwcGVuZAogCisgICAgdjogb2JqZWN0CisgICAgLworCitBcHBlbmQgbmV3IHZhbHVlIHYgdG8gdGhlIGVuZCBvZiB0aGUgYXJyYXkuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1hcnJheV9hcHBlbmQoYXJyYXlvYmplY3QgKnNlbGYsIFB5T2JqZWN0ICp2KQorYXJyYXlfYXJyYXlfYXBwZW5kKGFycmF5b2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqdikKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD03NDVhMDY2OWJmOGRiMGUyIGlucHV0PTBiOThkOWQ3OGU3OGYwZmFdKi8KIHsKICAgICByZXR1cm4gaW5zKHNlbGYsIFB5X1NJWkUoc2VsZiksIHYpOwogfQogCi1QeURvY19TVFJWQVIoYXBwZW5kX2RvYywKLSJhcHBlbmQoeClcblwKLVxuXAotQXBwZW5kIG5ldyB2YWx1ZSB4IHRvIHRoZSBlbmQgb2YgdGhlIGFycmF5LiIpOworLypbY2xpbmljIGlucHV0XQorYXJyYXkuYXJyYXkuYnl0ZXN3YXAKIAorQnl0ZXN3YXAgYWxsIGl0ZW1zIG9mIHRoZSBhcnJheS4KKworSWYgdGhlIGl0ZW1zIGluIHRoZSBhcnJheSBhcmUgbm90IDEsIDIsIDQsIG9yIDggYnl0ZXMgaW4gc2l6ZSwgUnVudGltZUVycm9yIGlzCityYWlzZWQuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1hcnJheV9ieXRlc3dhcChhcnJheW9iamVjdCAqc2VsZiwgUHlPYmplY3QgKnVudXNlZCkKK2FycmF5X2FycmF5X2J5dGVzd2FwX2ltcGwoYXJyYXlvYmplY3QgKnNlbGYpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9NWY4MjM2Y2JkZjBkOTBiNSBpbnB1dD02YTg1NTkxYjk1MGEwMTg2XSovCiB7CiAgICAgY2hhciAqcDsKICAgICBQeV9zc2l6ZV90IGk7CkBAIC0xMjI4LDE0ICsxMzU2LDE1IEBACiAgICAgcmV0dXJuIFB5X05vbmU7CiB9CiAKLVB5RG9jX1NUUlZBUihieXRlc3dhcF9kb2MsCi0iYnl0ZXN3YXAoKVxuXAotXG5cCi1CeXRlc3dhcCBhbGwgaXRlbXMgb2YgdGhlIGFycmF5LiAgSWYgdGhlIGl0ZW1zIGluIHRoZSBhcnJheSBhcmUgbm90IDEsIDIsXG5cCi00LCBvciA4IGJ5dGVzIGluIHNpemUsIFJ1bnRpbWVFcnJvciBpcyByYWlzZWQuIik7CisvKltjbGluaWMgaW5wdXRdCithcnJheS5hcnJheS5yZXZlcnNlCisKK1JldmVyc2UgdGhlIG9yZGVyIG9mIHRoZSBpdGVtcyBpbiB0aGUgYXJyYXkuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1hcnJheV9yZXZlcnNlKGFycmF5b2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqdW51c2VkKQorYXJyYXlfYXJyYXlfcmV2ZXJzZV9pbXBsKGFycmF5b2JqZWN0ICpzZWxmKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWMwNDg2OGIzNmY2ZjQwODkgaW5wdXQ9Y2Q5MDRmMDFiMjdkOTY2YV0qLwogewogICAgIFB5X3NzaXplX3QgaXRlbXNpemUgPSBzZWxmLT5vYl9kZXNjci0+aXRlbXNpemU7CiAgICAgY2hhciAqcCwgKnE7CkBAIC0xMjYxLDI3ICsxMzkwLDI2IEBACiAgICAgcmV0dXJuIFB5X05vbmU7CiB9CiAKLVB5RG9jX1NUUlZBUihyZXZlcnNlX2RvYywKLSJyZXZlcnNlKClcblwKLVxuXAotUmV2ZXJzZSB0aGUgb3JkZXIgb2YgdGhlIGl0ZW1zIGluIHRoZSBhcnJheS4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK2FycmF5LmFycmF5LmZyb21maWxlCiAKKyAgICBmOiBvYmplY3QKKyAgICBuOiBQeV9zc2l6ZV90CisgICAgLwogCi0vKiBGb3J3YXJkICovCi1zdGF0aWMgUHlPYmplY3QgKmFycmF5X2Zyb21ieXRlcyhhcnJheW9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpOworUmVhZCBuIG9iamVjdHMgZnJvbSB0aGUgZmlsZSBvYmplY3QgZiBhbmQgYXBwZW5kIHRoZW0gdG8gdGhlIGVuZCBvZiB0aGUgYXJyYXkuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1hcnJheV9mcm9tZmlsZShhcnJheW9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCithcnJheV9hcnJheV9mcm9tZmlsZV9pbXBsKGFycmF5b2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqZiwgUHlfc3NpemVfdCBuKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWVjOWY2MDBlMTBmNTM1MTAgaW5wdXQ9ZTE4OGFmZThlNThhZGY0MF0qLwogewotICAgIFB5T2JqZWN0ICpmLCAqYiwgKnJlczsKKyAgICBQeU9iamVjdCAqYXJncywgKmIsICpyZXM7CiAgICAgUHlfc3NpemVfdCBpdGVtc2l6ZSA9IHNlbGYtPm9iX2Rlc2NyLT5pdGVtc2l6ZTsKLSAgICBQeV9zc2l6ZV90IG4sIG5ieXRlczsKKyAgICBQeV9zc2l6ZV90IG5ieXRlczsKICAgICBfUHlfSURFTlRJRklFUihyZWFkKTsKICAgICBpbnQgbm90X2Vub3VnaF9ieXRlczsKIAotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiT246ZnJvbWZpbGUiLCAmZiwgJm4pKQotICAgICAgICByZXR1cm4gTlVMTDsKLQogICAgIGlmIChuIDwgMCkgewogICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVmFsdWVFcnJvciwgIm5lZ2F0aXZlIGNvdW50Iik7CiAgICAgICAgIHJldHVybiBOVUxMOwpAQCAtMTMxMCw3ICsxNDM4LDcgQEAKICAgICBpZiAoYXJncyA9PSBOVUxMKQogICAgICAgICByZXR1cm4gTlVMTDsKIAotICAgIHJlcyA9IGFycmF5X2Zyb21ieXRlcyhzZWxmLCBhcmdzKTsKKyAgICByZXMgPSBhcnJheV9hcnJheV9mcm9tYnl0ZXMoc2VsZiwgYXJncyk7CiAgICAgUHlfREVDUkVGKGFyZ3MpOwogICAgIGlmIChyZXMgPT0gTlVMTCkKICAgICAgICAgcmV0dXJuIE5VTEw7CkBAIC0xMzI1LDE1ICsxNDUzLDE4IEBACiAgICAgcmV0dXJuIHJlczsKIH0KIAotUHlEb2NfU1RSVkFSKGZyb21maWxlX2RvYywKLSJmcm9tZmlsZShmLCBuKVxuXAotXG5cCi1SZWFkIG4gb2JqZWN0cyBmcm9tIHRoZSBmaWxlIG9iamVjdCBmIGFuZCBhcHBlbmQgdGhlbSB0byB0aGUgZW5kIG9mIHRoZVxuXAotYXJyYXkuIik7CisvKltjbGluaWMgaW5wdXRdCithcnJheS5hcnJheS50b2ZpbGUKIAorICAgIGY6IG9iamVjdAorICAgIC8KKworV3JpdGUgYWxsIGl0ZW1zIChhcyBtYWNoaW5lIHZhbHVlcykgdG8gdGhlIGZpbGUgb2JqZWN0IGYuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1hcnJheV90b2ZpbGUoYXJyYXlvYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpmKQorYXJyYXlfYXJyYXlfdG9maWxlKGFycmF5b2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqZikKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD0zYTJjZmE4MTI4ZGYwNzc3IGlucHV0PWIwNjY5YTQ4NGFhYjA4MzFdKi8KIHsKICAgICBQeV9zc2l6ZV90IG5ieXRlcyA9IFB5X1NJWkUoc2VsZikgKiBzZWxmLT5vYl9kZXNjci0+aXRlbXNpemU7CiAgICAgLyogV3JpdGUgNjRLIGJsb2NrcyBhdCBhIHRpbWUgKi8KQEAgLTEzNjgsMTQgKzE0OTksMTggQEAKICAgICByZXR1cm4gUHlfTm9uZTsKIH0KIAotUHlEb2NfU1RSVkFSKHRvZmlsZV9kb2MsCi0idG9maWxlKGYpXG5cCi1cblwKLVdyaXRlIGFsbCBpdGVtcyAoYXMgbWFjaGluZSB2YWx1ZXMpIHRvIHRoZSBmaWxlIG9iamVjdCBmLiIpOworLypbY2xpbmljIGlucHV0XQorYXJyYXkuYXJyYXkuZnJvbWxpc3QKIAorICAgIGxpc3Q6IG9iamVjdAorICAgIC8KKworQXBwZW5kIGl0ZW1zIHRvIGFycmF5IGZyb20gbGlzdC4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KIAogc3RhdGljIFB5T2JqZWN0ICoKLWFycmF5X2Zyb21saXN0KGFycmF5b2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqbGlzdCkKK2FycmF5X2FycmF5X2Zyb21saXN0KGFycmF5b2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqbGlzdCkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD0yNjQxMWMyZDIyOGEzZTNmIGlucHV0PWJlMjYwNWE5NmM0OTY4MGZdKi8KIHsKICAgICBQeV9zc2l6ZV90IG47CiAKQEAgLTE0MDIsMTMgKzE1MzcsMTUgQEAKICAgICByZXR1cm4gUHlfTm9uZTsKIH0KIAotUHlEb2NfU1RSVkFSKGZyb21saXN0X2RvYywKLSJmcm9tbGlzdChsaXN0KVxuXAotXG5cCi1BcHBlbmQgaXRlbXMgdG8gYXJyYXkgZnJvbSBsaXN0LiIpOworLypbY2xpbmljIGlucHV0XQorYXJyYXkuYXJyYXkudG9saXN0CisKK0NvbnZlcnQgYXJyYXkgdG8gYW4gb3JkaW5hcnkgbGlzdCB3aXRoIHRoZSBzYW1lIGl0ZW1zLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLwogCiBzdGF0aWMgUHlPYmplY3QgKgotYXJyYXlfdG9saXN0KGFycmF5b2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqdW51c2VkKQorYXJyYXlfYXJyYXlfdG9saXN0X2ltcGwoYXJyYXlvYmplY3QgKnNlbGYpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9MDBiNjBjYzllYWI4ZWY4OSBpbnB1dD1hOGQ3Nzg0YTk0Zjg2YjUzXSovCiB7CiAgICAgUHlPYmplY3QgKmxpc3QgPSBQeUxpc3RfTmV3KFB5X1NJWkUoc2VsZikpOwogICAgIFB5X3NzaXplX3QgaTsKQEAgLTE0MjksMTEgKzE1NjYsNiBAQAogICAgIHJldHVybiBOVUxMOwogfQogCi1QeURvY19TVFJWQVIodG9saXN0X2RvYywKLSJ0b2xpc3QoKSAtPiBsaXN0XG5cCi1cblwKLUNvbnZlcnQgYXJyYXkgdG8gYW4gb3JkaW5hcnkgbGlzdCB3aXRoIHRoZSBzYW1lIGl0ZW1zLiIpOwotCiBzdGF0aWMgUHlPYmplY3QgKgogZnJvbWJ5dGVzKGFycmF5b2JqZWN0ICpzZWxmLCBQeV9idWZmZXIgKmJ1ZmZlcikKIHsKQEAgLTE0NzEsNDcgKzE2MDMsNTIgQEAKICAgICByZXR1cm4gUHlfTm9uZTsKIH0KIAorLypbY2xpbmljIGlucHV0XQorYXJyYXkuYXJyYXkuZnJvbXN0cmluZworCisgICAgYnVmZmVyOiBQeV9idWZmZXIodHlwZXM9J3N0ciBieXRlcyBieXRlYXJyYXkgYnVmZmVyJykKKyAgICAvCisKK0FwcGVuZHMgaXRlbXMgZnJvbSB0aGUgc3RyaW5nLCBpbnRlcnByZXRpbmcgaXQgYXMgYW4gYXJyYXkgb2YgbWFjaGluZSB2YWx1ZXMsIGFzIGlmIGl0IGhhZCBiZWVuIHJlYWQgZnJvbSBhIGZpbGUgdXNpbmcgdGhlIGZyb21maWxlKCkgbWV0aG9kKS4KKworVGhpcyBtZXRob2QgaXMgZGVwcmVjYXRlZC4gVXNlIGZyb21ieXRlcyBpbnN0ZWFkLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCiBzdGF0aWMgUHlPYmplY3QgKgotYXJyYXlfZnJvbXN0cmluZyhhcnJheW9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCithcnJheV9hcnJheV9mcm9tc3RyaW5nX2ltcGwoYXJyYXlvYmplY3QgKnNlbGYsIFB5X2J1ZmZlciAqYnVmZmVyKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTMxYzRiYWE3NzlkZjg0Y2UgaW5wdXQ9MTMwMmQ5NGM5NzY5NmI4NF0qLwogewotICAgIFB5X2J1ZmZlciBidWZmZXI7CiAgICAgaWYgKFB5RXJyX1dhcm5FeChQeUV4Y19EZXByZWNhdGlvbldhcm5pbmcsCiAgICAgICAgICAgICAiZnJvbXN0cmluZygpIGlzIGRlcHJlY2F0ZWQuIFVzZSBmcm9tYnl0ZXMoKSBpbnN0ZWFkLiIsIDIpICE9IDApCiAgICAgICAgIHJldHVybiBOVUxMOwotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAicyo6ZnJvbXN0cmluZyIsICZidWZmZXIpKQotICAgICAgICByZXR1cm4gTlVMTDsKLSAgICBlbHNlCi0gICAgICAgIHJldHVybiBmcm9tYnl0ZXMoc2VsZiwgJmJ1ZmZlcik7CisgICAgcmV0dXJuIGZyb21ieXRlcyhzZWxmLCBidWZmZXIpOwogfQogCi1QeURvY19TVFJWQVIoZnJvbXN0cmluZ19kb2MsCi0iZnJvbXN0cmluZyhzdHJpbmcpXG5cCi1cblwKLUFwcGVuZHMgaXRlbXMgZnJvbSB0aGUgc3RyaW5nLCBpbnRlcnByZXRpbmcgaXQgYXMgYW4gYXJyYXkgb2YgbWFjaGluZVxuXAotdmFsdWVzLCBhcyBpZiBpdCBoYWQgYmVlbiByZWFkIGZyb20gYSBmaWxlIHVzaW5nIHRoZSBmcm9tZmlsZSgpIG1ldGhvZCkuXG5cCi1cblwKLVRoaXMgbWV0aG9kIGlzIGRlcHJlY2F0ZWQuIFVzZSBmcm9tYnl0ZXMgaW5zdGVhZC4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK2FycmF5LmFycmF5LmZyb21ieXRlcwogCisgICAgYnVmZmVyOiBQeV9idWZmZXIKKyAgICAvCisKK0FwcGVuZHMgaXRlbXMgZnJvbSB0aGUgc3RyaW5nLCBpbnRlcnByZXRpbmcgaXQgYXMgYW4gYXJyYXkgb2YgbWFjaGluZSB2YWx1ZXMsIGFzIGlmIGl0IGhhZCBiZWVuIHJlYWQgZnJvbSBhIGZpbGUgdXNpbmcgdGhlIGZyb21maWxlKCkgbWV0aG9kKS4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KIAogc3RhdGljIFB5T2JqZWN0ICoKLWFycmF5X2Zyb21ieXRlcyhhcnJheW9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCithcnJheV9hcnJheV9mcm9tYnl0ZXNfaW1wbChhcnJheW9iamVjdCAqc2VsZiwgUHlfYnVmZmVyICpidWZmZXIpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9ZDk4NDJjOGY3NTEwYTUxNiBpbnB1dD0yYmJmMmI1M2ViZmNjOTg4XSovCiB7Ci0gICAgUHlfYnVmZmVyIGJ1ZmZlcjsKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgInkqOmZyb21ieXRlcyIsICZidWZmZXIpKQotICAgICAgICByZXR1cm4gTlVMTDsKLSAgICBlbHNlCi0gICAgICAgIHJldHVybiBmcm9tYnl0ZXMoc2VsZiwgJmJ1ZmZlcik7CisgICAgcmV0dXJuIGZyb21ieXRlcyhzZWxmLCBidWZmZXIpOwogfQogCi1QeURvY19TVFJWQVIoZnJvbWJ5dGVzX2RvYywKLSJmcm9tYnl0ZXMoYnl0ZXN0cmluZylcblwKLVxuXAotQXBwZW5kcyBpdGVtcyBmcm9tIHRoZSBzdHJpbmcsIGludGVycHJldGluZyBpdCBhcyBhbiBhcnJheSBvZiBtYWNoaW5lXG5cCi12YWx1ZXMsIGFzIGlmIGl0IGhhZCBiZWVuIHJlYWQgZnJvbSBhIGZpbGUgdXNpbmcgdGhlIGZyb21maWxlKCkgbWV0aG9kKS4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK2FycmF5LmFycmF5LnRvYnl0ZXMKIAorQ29udmVydCB0aGUgYXJyYXkgdG8gYW4gYXJyYXkgb2YgbWFjaGluZSB2YWx1ZXMgYW5kIHJldHVybiB0aGUgYnl0ZXMgcmVwcmVzZW50YXRpb24uCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1hcnJheV90b2J5dGVzKGFycmF5b2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqdW51c2VkKQorYXJyYXlfYXJyYXlfdG9ieXRlc19pbXBsKGFycmF5b2JqZWN0ICpzZWxmKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTg3MzE4ZTRlZGNkYzJiYjYgaW5wdXQ9OTBlZTQ5NWY5NmRlMzRmNV0qLwogewogICAgIGlmIChQeV9TSVpFKHNlbGYpIDw9IFBZX1NTSVpFX1RfTUFYIC8gc2VsZi0+b2JfZGVzY3ItPml0ZW1zaXplKSB7CiAgICAgICAgIHJldHVybiBQeUJ5dGVzX0Zyb21TdHJpbmdBbmRTaXplKHNlbGYtPm9iX2l0ZW0sCkBAIC0xNTIxLDQwICsxNjU4LDQzIEBACiAgICAgfQogfQogCi1QeURvY19TVFJWQVIodG9ieXRlc19kb2MsCi0idG9ieXRlcygpIC0+IGJ5dGVzXG5cCi1cblwKLUNvbnZlcnQgdGhlIGFycmF5IHRvIGFuIGFycmF5IG9mIG1hY2hpbmUgdmFsdWVzIGFuZCByZXR1cm4gdGhlIGJ5dGVzXG5cCi1yZXByZXNlbnRhdGlvbi4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK2FycmF5LmFycmF5LnRvc3RyaW5nCiAKK0NvbnZlcnQgdGhlIGFycmF5IHRvIGFuIGFycmF5IG9mIG1hY2hpbmUgdmFsdWVzIGFuZCByZXR1cm4gdGhlIGJ5dGVzIHJlcHJlc2VudGF0aW9uLgorCitUaGlzIG1ldGhvZCBpcyBkZXByZWNhdGVkLiBVc2UgdG9ieXRlcyBpbnN0ZWFkLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLwogCiBzdGF0aWMgUHlPYmplY3QgKgotYXJyYXlfdG9zdHJpbmcoYXJyYXlvYmplY3QgKnNlbGYsIFB5T2JqZWN0ICp1bnVzZWQpCithcnJheV9hcnJheV90b3N0cmluZ19pbXBsKGFycmF5b2JqZWN0ICpzZWxmKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTdkNmJkOTI3NDVhMmM4ZjMgaW5wdXQ9YjZjMGRkZWU3YjMwNDU3ZV0qLwogewogICAgIGlmIChQeUVycl9XYXJuRXgoUHlFeGNfRGVwcmVjYXRpb25XYXJuaW5nLAogICAgICAgICAgICAgInRvc3RyaW5nKCkgaXMgZGVwcmVjYXRlZC4gVXNlIHRvYnl0ZXMoKSBpbnN0ZWFkLiIsIDIpICE9IDApCiAgICAgICAgIHJldHVybiBOVUxMOwotICAgIHJldHVybiBhcnJheV90b2J5dGVzKHNlbGYsIHVudXNlZCk7CisgICAgcmV0dXJuIGFycmF5X2FycmF5X3RvYnl0ZXNfaW1wbChzZWxmKTsKIH0KIAotUHlEb2NfU1RSVkFSKHRvc3RyaW5nX2RvYywKLSJ0b3N0cmluZygpIC0+IGJ5dGVzXG5cCi1cblwKLUNvbnZlcnQgdGhlIGFycmF5IHRvIGFuIGFycmF5IG9mIG1hY2hpbmUgdmFsdWVzIGFuZCByZXR1cm4gdGhlIGJ5dGVzXG5cCi1yZXByZXNlbnRhdGlvbi5cblwKLVxuXAotVGhpcyBtZXRob2QgaXMgZGVwcmVjYXRlZC4gVXNlIHRvYnl0ZXMgaW5zdGVhZC4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK2FycmF5LmFycmF5LmZyb211bmljb2RlCiAKKyAgICB1c3RyOiBQeV9VTklDT0RFKGxlbmd0aD1UcnVlKQorICAgIC8KKworRXh0ZW5kcyB0aGlzIGFycmF5IHdpdGggZGF0YSBmcm9tIHRoZSB1bmljb2RlIHN0cmluZyB1c3RyLgorCitUaGUgYXJyYXkgbXVzdCBiZSBhIHVuaWNvZGUgdHlwZSBhcnJheTsgb3RoZXJ3aXNlIGEgVmFsdWVFcnJvciBpcyByYWlzZWQuCitVc2UgYXJyYXkuZnJvbWJ5dGVzKHVzdHIuZW5jb2RlKC4uLikpIHRvIGFwcGVuZCBVbmljb2RlIGRhdGEgdG8gYW4gYXJyYXkgb2YKK3NvbWUgb3RoZXIgdHlwZS4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KIAogc3RhdGljIFB5T2JqZWN0ICoKLWFycmF5X2Zyb211bmljb2RlKGFycmF5b2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK2FycmF5X2FycmF5X2Zyb211bmljb2RlX2ltcGwoYXJyYXlvYmplY3QgKnNlbGYsIFB5X1VOSUNPREUgKnVzdHIsIFB5X3NzaXplX2NsZWFuX3QgdXN0cl9sZW5ndGgpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9M2IzZjRmMTMzYmFjNzI1ZSBpbnB1dD01NmJjZWRiNWVmNzAxMzlmXSovCiB7Ci0gICAgUHlfVU5JQ09ERSAqdXN0cjsKLSAgICBQeV9zc2l6ZV90IG47CiAgICAgY2hhciB0eXBlY29kZTsKIAotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAidSM6ZnJvbXVuaWNvZGUiLCAmdXN0ciwgJm4pKQotICAgICAgICByZXR1cm4gTlVMTDsKICAgICB0eXBlY29kZSA9IHNlbGYtPm9iX2Rlc2NyLT50eXBlY29kZTsKICAgICBpZiAodHlwZWNvZGUgIT0gJ3UnKSB7CiAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLApAQCAtMTU2MiwyOSArMTcwMiwzMCBAQAogICAgICAgICAgICAgInVuaWNvZGUgdHlwZSBhcnJheXMiKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQotICAgIGlmIChuID4gMCkgeworICAgIGlmICh1c3RyX2xlbmd0aCA+IDApIHsKICAgICAgICAgUHlfc3NpemVfdCBvbGRfc2l6ZSA9IFB5X1NJWkUoc2VsZik7Ci0gICAgICAgIGlmIChhcnJheV9yZXNpemUoc2VsZiwgb2xkX3NpemUgKyBuKSA9PSAtMSkKKyAgICAgICAgaWYgKGFycmF5X3Jlc2l6ZShzZWxmLCBvbGRfc2l6ZSArIHVzdHJfbGVuZ3RoKSA9PSAtMSkKICAgICAgICAgICAgIHJldHVybiBOVUxMOwogICAgICAgICBtZW1jcHkoc2VsZi0+b2JfaXRlbSArIG9sZF9zaXplICogc2l6ZW9mKFB5X1VOSUNPREUpLAotICAgICAgICAgICAgICAgdXN0ciwgbiAqIHNpemVvZihQeV9VTklDT0RFKSk7CisgICAgICAgICAgICAgICB1c3RyLCB1c3RyX2xlbmd0aCAqIHNpemVvZihQeV9VTklDT0RFKSk7CiAgICAgfQogCi0gICAgUHlfSU5DUkVGKFB5X05vbmUpOwotICAgIHJldHVybiBQeV9Ob25lOworICAgIFB5X1JFVFVSTl9OT05FOwogfQogCi1QeURvY19TVFJWQVIoZnJvbXVuaWNvZGVfZG9jLAotImZyb211bmljb2RlKHVzdHIpXG5cCi1cblwKLUV4dGVuZHMgdGhpcyBhcnJheSB3aXRoIGRhdGEgZnJvbSB0aGUgdW5pY29kZSBzdHJpbmcgdXN0ci5cblwKLVRoZSBhcnJheSBtdXN0IGJlIGEgdW5pY29kZSB0eXBlIGFycmF5OyBvdGhlcndpc2UgYSBWYWx1ZUVycm9yXG5cCi1pcyByYWlzZWQuICBVc2UgYXJyYXkuZnJvbWJ5dGVzKHVzdHIuZW5jb2RlKC4uLikpIHRvXG5cCi1hcHBlbmQgVW5pY29kZSBkYXRhIHRvIGFuIGFycmF5IG9mIHNvbWUgb3RoZXIgdHlwZS4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK2FycmF5LmFycmF5LnRvdW5pY29kZQogCitFeHRlbmRzIHRoaXMgYXJyYXkgd2l0aCBkYXRhIGZyb20gdGhlIHVuaWNvZGUgc3RyaW5nIHVzdHIuCisKK0NvbnZlcnQgdGhlIGFycmF5IHRvIGEgdW5pY29kZSBzdHJpbmcuICBUaGUgYXJyYXkgbXVzdCBiZSBhIHVuaWNvZGUgdHlwZSBhcnJheTsKK290aGVyd2lzZSBhIFZhbHVlRXJyb3IgaXMgcmFpc2VkLiAgVXNlIGFycmF5LnRvYnl0ZXMoKS5kZWNvZGUoKSB0byBvYnRhaW4gYQordW5pY29kZSBzdHJpbmcgZnJvbSBhbiBhcnJheSBvZiBzb21lIG90aGVyIHR5cGUuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1hcnJheV90b3VuaWNvZGUoYXJyYXlvYmplY3QgKnNlbGYsIFB5T2JqZWN0ICp1bnVzZWQpCithcnJheV9hcnJheV90b3VuaWNvZGVfaW1wbChhcnJheW9iamVjdCAqc2VsZikKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD0wOGU0NDIzNzgzMzZlMWVmIGlucHV0PTEyNzI0MmVlYmU3MGI2NmRdKi8KIHsKICAgICBjaGFyIHR5cGVjb2RlOwogICAgIHR5cGVjb2RlID0gc2VsZi0+b2JfZGVzY3ItPnR5cGVjb2RlOwpAQCAtMTU5Niw3MCArMTczNywyNCBAQAogICAgIHJldHVybiBQeVVuaWNvZGVfRnJvbVVuaWNvZGUoKFB5X1VOSUNPREUgKikgc2VsZi0+b2JfaXRlbSwgUHlfU0laRShzZWxmKSk7CiB9CiAKLVB5RG9jX1NUUlZBUih0b3VuaWNvZGVfZG9jLAotInRvdW5pY29kZSgpIC0+IHVuaWNvZGVcblwKLVxuXAotQ29udmVydCB0aGUgYXJyYXkgdG8gYSB1bmljb2RlIHN0cmluZy4gIFRoZSBhcnJheSBtdXN0IGJlXG5cCi1hIHVuaWNvZGUgdHlwZSBhcnJheTsgb3RoZXJ3aXNlIGEgVmFsdWVFcnJvciBpcyByYWlzZWQuICBVc2VcblwKLWFycmF5LnRvYnl0ZXMoKS5kZWNvZGUoKSB0byBvYnRhaW4gYSB1bmljb2RlIHN0cmluZyBmcm9tXG5cCi1hbiBhcnJheSBvZiBzb21lIG90aGVyIHR5cGUuIik7CisvKltjbGluaWMgaW5wdXRdCithcnJheS5hcnJheS5fX3NpemVvZl9fCiAKK1NpemUgb2YgdGhlIGFycmF5IGluIG1lbW9yeSwgaW4gYnl0ZXMuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1hcnJheV9zaXplb2YoYXJyYXlvYmplY3QgKnNlbGYsIFB5T2JqZWN0ICp1bnVzZWQpCithcnJheV9hcnJheV9fX3NpemVvZl9fX2ltcGwoYXJyYXlvYmplY3QgKnNlbGYpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9ZDhlMWM2MWViYmUzZWFlZCBpbnB1dD04MDU1ODY1NjViZjJiM2M2XSovCiB7CiAgICAgUHlfc3NpemVfdCByZXM7CiAgICAgcmVzID0gc2l6ZW9mKGFycmF5b2JqZWN0KSArIHNlbGYtPmFsbG9jYXRlZCAqIHNlbGYtPm9iX2Rlc2NyLT5pdGVtc2l6ZTsKICAgICByZXR1cm4gUHlMb25nX0Zyb21Tc2l6ZV90KHJlcyk7CiB9CiAKLVB5RG9jX1NUUlZBUihzaXplb2ZfZG9jLAotIl9fc2l6ZW9mX18oKSAtPiBpbnRcblwKLVxuXAotU2l6ZSBvZiB0aGUgYXJyYXkgaW4gbWVtb3J5LCBpbiBieXRlcy4iKTsKLQogCiAvKioqKioqKioqKioqKioqKioqKioqKiogUGlja2xpbmcgc3VwcG9ydCAqKioqKioqKioqKioqKioqKioqKioqKiovCiAKLWVudW0gbWFjaGluZV9mb3JtYXRfY29kZSB7Ci0gICAgVU5LTk9XTl9GT1JNQVQgPSAtMSwKLSAgICAvKiBVTktOT1dOX0ZPUk1BVCBpcyB1c2VkIHRvIGluZGljYXRlIHRoYXQgdGhlIG1hY2hpbmUgZm9ybWF0IGZvciBhbgotICAgICAqIGFycmF5IHR5cGUgY29kZSBjYW5ub3QgYmUgaW50ZXJwcmV0ZWQuIFdoZW4gdGhpcyBvY2N1cnMsIGEgbGlzdCBvZgotICAgICAqIFB5dGhvbiBvYmplY3RzIGlzIHVzZWQgdG8gcmVwcmVzZW50IHRoZSBjb250ZW50IG9mIHRoZSBhcnJheQotICAgICAqIGluc3RlYWQgb2YgdXNpbmcgdGhlIG1lbW9yeSBjb250ZW50IG9mIHRoZSBhcnJheSBkaXJlY3RseS4gSW4gdGhhdAotICAgICAqIGNhc2UsIHRoZSBhcnJheV9yZWNvbnN0cnVjdG9yIG1lY2hhbmlzbSBpcyBieXBhc3NlZCBjb21wbGV0ZWx5LCBhbmQKLSAgICAgKiB0aGUgc3RhbmRhcmQgYXJyYXkgY29uc3RydWN0b3IgaXMgdXNlZCBpbnN0ZWFkLgotICAgICAqCi0gICAgICogVGhpcyBpcyB3aWxsIG1vc3QgbGlrZWx5IG9jY3VyIHdoZW4gdGhlIG1hY2hpbmUgZG9lc24ndCB1c2UgSUVFRQotICAgICAqIGZsb2F0aW5nLXBvaW50IG51bWJlcnMuCi0gICAgICovCi0KLSAgICBVTlNJR05FRF9JTlQ4ID0gMCwKLSAgICBTSUdORURfSU5UOCA9IDEsCi0gICAgVU5TSUdORURfSU5UMTZfTEUgPSAyLAotICAgIFVOU0lHTkVEX0lOVDE2X0JFID0gMywKLSAgICBTSUdORURfSU5UMTZfTEUgPSA0LAotICAgIFNJR05FRF9JTlQxNl9CRSA9IDUsCi0gICAgVU5TSUdORURfSU5UMzJfTEUgPSA2LAotICAgIFVOU0lHTkVEX0lOVDMyX0JFID0gNywKLSAgICBTSUdORURfSU5UMzJfTEUgPSA4LAotICAgIFNJR05FRF9JTlQzMl9CRSA9IDksCi0gICAgVU5TSUdORURfSU5UNjRfTEUgPSAxMCwKLSAgICBVTlNJR05FRF9JTlQ2NF9CRSA9IDExLAotICAgIFNJR05FRF9JTlQ2NF9MRSA9IDEyLAotICAgIFNJR05FRF9JTlQ2NF9CRSA9IDEzLAotICAgIElFRUVfNzU0X0ZMT0FUX0xFID0gMTQsCi0gICAgSUVFRV83NTRfRkxPQVRfQkUgPSAxNSwKLSAgICBJRUVFXzc1NF9ET1VCTEVfTEUgPSAxNiwKLSAgICBJRUVFXzc1NF9ET1VCTEVfQkUgPSAxNywKLSAgICBVVEYxNl9MRSA9IDE4LAotICAgIFVURjE2X0JFID0gMTksCi0gICAgVVRGMzJfTEUgPSAyMCwKLSAgICBVVEYzMl9CRSA9IDIxCi19OwotI2RlZmluZSBNQUNISU5FX0ZPUk1BVF9DT0RFX01JTiAwCi0jZGVmaW5lIE1BQ0hJTkVfRk9STUFUX0NPREVfTUFYIDIxCi0KIHN0YXRpYyBjb25zdCBzdHJ1Y3QgbWZvcm1hdGRlc2NyIHsKICAgICBzaXplX3Qgc2l6ZTsKICAgICBpbnQgaXNfc2lnbmVkOwpAQCAtMTgzNSwyMSArMTkzMCwyNiBAQAogICogVGhpcyBmdW5jdGlvbnMgaXMgYSBzcGVjaWFsIGNvbnN0cnVjdG9yIHVzZWQgd2hlbiB1bnBpY2tsaW5nIGFuIGFycmF5LiBJdAogICogcHJvdmlkZXMgYSBwb3J0YWJsZSB3YXkgdG8gcmVidWlsZCBhbiBhcnJheSBmcm9tIGl0cyBtZW1vcnkgcmVwcmVzZW50YXRpb24uCiAgKi8KKy8qW2NsaW5pYyBpbnB1dF0KK2FycmF5Ll9hcnJheV9yZWNvbnN0cnVjdG9yCisKKyAgICBhcnJheXR5cGU6IG9iamVjdCh0eXBlPSJQeVR5cGVPYmplY3QgKiIpCisgICAgdHlwZWNvZGU6IGludCh0eXBlcz0nc3RyJykKKyAgICBtZm9ybWF0X2NvZGU6IGludCh0eXBlPSJlbnVtIG1hY2hpbmVfZm9ybWF0X2NvZGUiKQorICAgIGl0ZW1zOiBvYmplY3QKKyAgICAvCisKK0ludGVybmFsLiBVc2VkIGZvciBwaWNrbGluZyBzdXBwb3J0LgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCiBzdGF0aWMgUHlPYmplY3QgKgotYXJyYXlfcmVjb25zdHJ1Y3RvcihQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCithcnJheV9fYXJyYXlfcmVjb25zdHJ1Y3Rvcl9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5VHlwZU9iamVjdCAqYXJyYXl0eXBlLCBpbnQgdHlwZWNvZGUsIGVudW0gbWFjaGluZV9mb3JtYXRfY29kZSBtZm9ybWF0X2NvZGUsIFB5T2JqZWN0ICppdGVtcykKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1jNTEwODFlYzkxY2FmN2U5IGlucHV0PWY3MjQ5MjcwOGMwYTFkNTBdKi8KIHsKLSAgICBQeVR5cGVPYmplY3QgKmFycmF5dHlwZTsKLSAgICBQeU9iamVjdCAqaXRlbXM7CiAgICAgUHlPYmplY3QgKmNvbnZlcnRlZF9pdGVtczsKICAgICBQeU9iamVjdCAqcmVzdWx0OwotICAgIGludCB0eXBlY29kZTsKLSAgICBlbnVtIG1hY2hpbmVfZm9ybWF0X2NvZGUgbWZvcm1hdF9jb2RlOwogICAgIHN0cnVjdCBhcnJheWRlc2NyICpkZXNjcjsKIAotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiT0NpTzphcnJheS5fYXJyYXlfcmVjb25zdHJ1Y3RvciIsCi0gICAgICAgICAgICAgICAgICAgICZhcnJheXR5cGUsICZ0eXBlY29kZSwgJm1mb3JtYXRfY29kZSwgJml0ZW1zKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0KICAgICBpZiAoIVB5VHlwZV9DaGVjayhhcnJheXR5cGUpKSB7CiAgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19UeXBlRXJyb3IsCiAgICAgICAgICAgICAiZmlyc3QgYXJndW1lbnQgbXVzdCBhIHR5cGUgb2JqZWN0LCBub3QgJS4yMDBzIiwKQEAgLTIwMDAsNyArMjEwMCw3IEBACiAgICAgICAgICAqLwogICAgICAgICBmb3IgKGRlc2NyID0gZGVzY3JpcHRvcnM7IGRlc2NyLT50eXBlY29kZSAhPSAnXDAnOyBkZXNjcisrKSB7CiAgICAgICAgICAgICBpZiAoZGVzY3ItPmlzX2ludGVnZXJfdHlwZSAmJgotICAgICAgICAgICAgICAgIGRlc2NyLT5pdGVtc2l6ZSA9PSBtZl9kZXNjci5zaXplICYmCisgICAgICAgICAgICAgICAgKHNpemVfdClkZXNjci0+aXRlbXNpemUgPT0gbWZfZGVzY3Iuc2l6ZSAmJgogICAgICAgICAgICAgICAgIGRlc2NyLT5pc19zaWduZWQgPT0gbWZfZGVzY3IuaXNfc2lnbmVkKQogICAgICAgICAgICAgICAgIHR5cGVjb2RlID0gZGVzY3ItPnR5cGVjb2RlOwogICAgICAgICB9CkBAIC0yMDM4LDEzICsyMTM4LDIzIEBACiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAorLypbY2xpbmljIGlucHV0XQorYXJyYXkuYXJyYXkuX19yZWR1Y2VfZXhfXworCisgICAgdmFsdWU6IG9iamVjdAorICAgIC8KKworUmV0dXJuIHN0YXRlIGluZm9ybWF0aW9uIGZvciBwaWNrbGluZy4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKwogc3RhdGljIFB5T2JqZWN0ICoKLWFycmF5X3JlZHVjZV9leChhcnJheW9iamVjdCAqYXJyYXksIFB5T2JqZWN0ICp2YWx1ZSkKK2FycmF5X2FycmF5X19fcmVkdWNlX2V4X18oYXJyYXlvYmplY3QgKnNlbGYsIFB5T2JqZWN0ICp2YWx1ZSkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD0wNTFlMGE2MTc1ZDBlZGRiIGlucHV0PWMzNmMzZjg1ZGU3ZGY2Y2RdKi8KIHsKICAgICBQeU9iamVjdCAqZGljdDsKICAgICBQeU9iamVjdCAqcmVzdWx0OwogICAgIFB5T2JqZWN0ICphcnJheV9zdHI7Ci0gICAgaW50IHR5cGVjb2RlID0gYXJyYXktPm9iX2Rlc2NyLT50eXBlY29kZTsKKyAgICBpbnQgdHlwZWNvZGUgPSBzZWxmLT5vYl9kZXNjci0+dHlwZWNvZGU7CiAgICAgaW50IG1mb3JtYXRfY29kZTsKICAgICBzdGF0aWMgUHlPYmplY3QgKmFycmF5X3JlY29uc3RydWN0b3IgPSBOVUxMOwogICAgIGxvbmcgcHJvdG9jb2w7CkBAIC0yMDcyLDcgKzIxODIsNyBAQAogICAgIGlmIChwcm90b2NvbCA9PSAtMSAmJiBQeUVycl9PY2N1cnJlZCgpKQogICAgICAgICByZXR1cm4gTlVMTDsKIAotICAgIGRpY3QgPSBfUHlPYmplY3RfR2V0QXR0cklkKChQeU9iamVjdCAqKWFycmF5LCAmUHlJZF9fX2RpY3RfXyk7CisgICAgZGljdCA9IF9QeU9iamVjdF9HZXRBdHRySWQoKFB5T2JqZWN0ICopc2VsZiwgJlB5SWRfX19kaWN0X18pOwogICAgIGlmIChkaWN0ID09IE5VTEwpIHsKICAgICAgICAgaWYgKCFQeUVycl9FeGNlcHRpb25NYXRjaGVzKFB5RXhjX0F0dHJpYnV0ZUVycm9yKSkKICAgICAgICAgICAgIHJldHVybiBOVUxMOwpAQCAtMjA5NSwzMiArMjIwNSwzMCBAQAogICAgICAgICAgKiBjb2VyY2luZyB1bmljb2RlIG9iamVjdHMgdG8gYnl0ZXMgaW4gYXJyYXlfcmVjb25zdHJ1Y3Rvci4KICAgICAgICAgICovCiAgICAgICAgIFB5T2JqZWN0ICpsaXN0OwotICAgICAgICBsaXN0ID0gYXJyYXlfdG9saXN0KGFycmF5LCBOVUxMKTsKKyAgICAgICAgbGlzdCA9IGFycmF5X2FycmF5X3RvbGlzdF9pbXBsKHNlbGYpOwogICAgICAgICBpZiAobGlzdCA9PSBOVUxMKSB7CiAgICAgICAgICAgICBQeV9ERUNSRUYoZGljdCk7CiAgICAgICAgICAgICByZXR1cm4gTlVMTDsKICAgICAgICAgfQogICAgICAgICByZXN1bHQgPSBQeV9CdWlsZFZhbHVlKAotICAgICAgICAgICAgIk8oQ08pTyIsIFB5X1RZUEUoYXJyYXkpLCB0eXBlY29kZSwgbGlzdCwgZGljdCk7CisgICAgICAgICAgICAiTyhDTylPIiwgUHlfVFlQRShzZWxmKSwgdHlwZWNvZGUsIGxpc3QsIGRpY3QpOwogICAgICAgICBQeV9ERUNSRUYobGlzdCk7CiAgICAgICAgIFB5X0RFQ1JFRihkaWN0KTsKICAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICB9CiAKLSAgICBhcnJheV9zdHIgPSBhcnJheV90b2J5dGVzKGFycmF5LCBOVUxMKTsKKyAgICBhcnJheV9zdHIgPSBhcnJheV9hcnJheV90b2J5dGVzX2ltcGwoc2VsZik7CiAgICAgaWYgKGFycmF5X3N0ciA9PSBOVUxMKSB7CiAgICAgICAgIFB5X0RFQ1JFRihkaWN0KTsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQogICAgIHJlc3VsdCA9IFB5X0J1aWxkVmFsdWUoCi0gICAgICAgICJPKE9DaU4pTyIsIGFycmF5X3JlY29uc3RydWN0b3IsIFB5X1RZUEUoYXJyYXkpLCB0eXBlY29kZSwKKyAgICAgICAgIk8oT0NpTilPIiwgYXJyYXlfcmVjb25zdHJ1Y3RvciwgUHlfVFlQRShzZWxmKSwgdHlwZWNvZGUsCiAgICAgICAgIG1mb3JtYXRfY29kZSwgYXJyYXlfc3RyLCBkaWN0KTsKICAgICBQeV9ERUNSRUYoZGljdCk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAotUHlEb2NfU1RSVkFSKHJlZHVjZV9kb2MsICJSZXR1cm4gc3RhdGUgaW5mb3JtYXRpb24gZm9yIHBpY2tsaW5nLiIpOwotCiBzdGF0aWMgUHlPYmplY3QgKgogYXJyYXlfZ2V0X3R5cGVjb2RlKGFycmF5b2JqZWN0ICphLCB2b2lkICpjbG9zdXJlKQogewpAQCAtMjE0Myw1NSArMjI1MSwzMSBAQAogfTsKIAogc3RhdGljIFB5TWV0aG9kRGVmIGFycmF5X21ldGhvZHNbXSA9IHsKLSAgICB7ImFwcGVuZCIsICAgICAgICAgIChQeUNGdW5jdGlvbilhcnJheV9hcHBlbmQsICAgICAgTUVUSF9PLAotICAgICBhcHBlbmRfZG9jfSwKLSAgICB7ImJ1ZmZlcl9pbmZvIiwgICAgIChQeUNGdW5jdGlvbilhcnJheV9idWZmZXJfaW5mbywgTUVUSF9OT0FSR1MsCi0gICAgIGJ1ZmZlcl9pbmZvX2RvY30sCi0gICAgeyJieXRlc3dhcCIsICAgICAgICAoUHlDRnVuY3Rpb24pYXJyYXlfYnl0ZXN3YXAsICAgIE1FVEhfTk9BUkdTLAotICAgICBieXRlc3dhcF9kb2N9LAotICAgIHsiX19jb3B5X18iLCAgICAgICAgKFB5Q0Z1bmN0aW9uKWFycmF5X2NvcHksICAgICAgICBNRVRIX05PQVJHUywKLSAgICAgY29weV9kb2N9LAotICAgIHsiY291bnQiLCAgICAgICAgICAgKFB5Q0Z1bmN0aW9uKWFycmF5X2NvdW50LCAgICAgICBNRVRIX08sCi0gICAgIGNvdW50X2RvY30sCi0gICAgeyJfX2RlZXBjb3B5X18iLCAgICAoUHlDRnVuY3Rpb24pYXJyYXlfY29weSwgICAgICAgIE1FVEhfTywKLSAgICAgY29weV9kb2N9LAotICAgIHsiZXh0ZW5kIiwgICAgICAgICAgKFB5Q0Z1bmN0aW9uKWFycmF5X2V4dGVuZCwgICAgICBNRVRIX08sCi0gICAgIGV4dGVuZF9kb2N9LAotICAgIHsiZnJvbWZpbGUiLCAgICAgICAgKFB5Q0Z1bmN0aW9uKWFycmF5X2Zyb21maWxlLCAgICBNRVRIX1ZBUkFSR1MsCi0gICAgIGZyb21maWxlX2RvY30sCi0gICAgeyJmcm9tbGlzdCIsICAgICAgICAoUHlDRnVuY3Rpb24pYXJyYXlfZnJvbWxpc3QsICAgIE1FVEhfTywKLSAgICAgZnJvbWxpc3RfZG9jfSwKLSAgICB7ImZyb21zdHJpbmciLCAgICAgIChQeUNGdW5jdGlvbilhcnJheV9mcm9tc3RyaW5nLCAgTUVUSF9WQVJBUkdTLAotICAgICBmcm9tc3RyaW5nX2RvY30sCi0gICAgeyJmcm9tYnl0ZXMiLCAgICAgICAoUHlDRnVuY3Rpb24pYXJyYXlfZnJvbWJ5dGVzLCAgIE1FVEhfVkFSQVJHUywKLSAgICAgZnJvbWJ5dGVzX2RvY30sCi0gICAgeyJmcm9tdW5pY29kZSIsICAgICAoUHlDRnVuY3Rpb24pYXJyYXlfZnJvbXVuaWNvZGUsIE1FVEhfVkFSQVJHUywKLSAgICAgZnJvbXVuaWNvZGVfZG9jfSwKLSAgICB7ImluZGV4IiwgICAgICAgICAgIChQeUNGdW5jdGlvbilhcnJheV9pbmRleCwgICAgICAgTUVUSF9PLAotICAgICBpbmRleF9kb2N9LAotICAgIHsiaW5zZXJ0IiwgICAgICAgICAgKFB5Q0Z1bmN0aW9uKWFycmF5X2luc2VydCwgICAgICBNRVRIX1ZBUkFSR1MsCi0gICAgIGluc2VydF9kb2N9LAotICAgIHsicG9wIiwgICAgICAgICAgICAgKFB5Q0Z1bmN0aW9uKWFycmF5X3BvcCwgICAgICAgICBNRVRIX1ZBUkFSR1MsCi0gICAgIHBvcF9kb2N9LAotICAgIHsiX19yZWR1Y2VfZXhfXyIsICAgKFB5Q0Z1bmN0aW9uKWFycmF5X3JlZHVjZV9leCwgICBNRVRIX08sCi0gICAgIHJlZHVjZV9kb2N9LAotICAgIHsicmVtb3ZlIiwgICAgICAgICAgKFB5Q0Z1bmN0aW9uKWFycmF5X3JlbW92ZSwgICAgICBNRVRIX08sCi0gICAgIHJlbW92ZV9kb2N9LAotICAgIHsicmV2ZXJzZSIsICAgICAgICAgKFB5Q0Z1bmN0aW9uKWFycmF5X3JldmVyc2UsICAgICBNRVRIX05PQVJHUywKLSAgICAgcmV2ZXJzZV9kb2N9LAotICAgIHsidG9maWxlIiwgICAgICAgICAgKFB5Q0Z1bmN0aW9uKWFycmF5X3RvZmlsZSwgICAgICBNRVRIX08sCi0gICAgIHRvZmlsZV9kb2N9LAotICAgIHsidG9saXN0IiwgICAgICAgICAgKFB5Q0Z1bmN0aW9uKWFycmF5X3RvbGlzdCwgICAgICBNRVRIX05PQVJHUywKLSAgICAgdG9saXN0X2RvY30sCi0gICAgeyJ0b3N0cmluZyIsICAgICAgICAoUHlDRnVuY3Rpb24pYXJyYXlfdG9zdHJpbmcsICAgIE1FVEhfTk9BUkdTLAotICAgICB0b3N0cmluZ19kb2N9LAotICAgIHsidG9ieXRlcyIsICAgICAgICAgKFB5Q0Z1bmN0aW9uKWFycmF5X3RvYnl0ZXMsICAgICBNRVRIX05PQVJHUywKLSAgICAgdG9ieXRlc19kb2N9LAotICAgIHsidG91bmljb2RlIiwgICAgICAgKFB5Q0Z1bmN0aW9uKWFycmF5X3RvdW5pY29kZSwgICBNRVRIX05PQVJHUywKLSAgICAgdG91bmljb2RlX2RvY30sCi0gICAgeyJfX3NpemVvZl9fIiwgICAgICAoUHlDRnVuY3Rpb24pYXJyYXlfc2l6ZW9mLCAgICAgIE1FVEhfTk9BUkdTLAotICAgICBzaXplb2ZfZG9jfSwKLSAgICB7TlVMTCwgICAgICAgICAgICAgIE5VTEx9ICAgICAgICAgICAvKiBzZW50aW5lbCAqLworICAgIEFSUkFZX0FSUkFZX0FQUEVORF9NRVRIT0RERUYKKyAgICBBUlJBWV9BUlJBWV9CVUZGRVJfSU5GT19NRVRIT0RERUYKKyAgICBBUlJBWV9BUlJBWV9CWVRFU1dBUF9NRVRIT0RERUYKKyAgICBBUlJBWV9BUlJBWV9fX0NPUFlfX19NRVRIT0RERUYKKyAgICBBUlJBWV9BUlJBWV9DT1VOVF9NRVRIT0RERUYKKyAgICBBUlJBWV9BUlJBWV9fX0RFRVBDT1BZX19fTUVUSE9EREVGCisgICAgQVJSQVlfQVJSQVlfRVhURU5EX01FVEhPRERFRgorICAgIEFSUkFZX0FSUkFZX0ZST01GSUxFX01FVEhPRERFRgorICAgIEFSUkFZX0FSUkFZX0ZST01MSVNUX01FVEhPRERFRgorICAgIEFSUkFZX0FSUkFZX0ZST01TVFJJTkdfTUVUSE9EREVGCisgICAgQVJSQVlfQVJSQVlfRlJPTUJZVEVTX01FVEhPRERFRgorICAgIEFSUkFZX0FSUkFZX0ZST01VTklDT0RFX01FVEhPRERFRgorICAgIEFSUkFZX0FSUkFZX0lOREVYX01FVEhPRERFRgorICAgIEFSUkFZX0FSUkFZX0lOU0VSVF9NRVRIT0RERUYKKyAgICBBUlJBWV9BUlJBWV9QT1BfTUVUSE9EREVGCisgICAgQVJSQVlfQVJSQVlfX19SRURVQ0VfRVhfX19NRVRIT0RERUYKKyAgICBBUlJBWV9BUlJBWV9SRU1PVkVfTUVUSE9EREVGCisgICAgQVJSQVlfQVJSQVlfUkVWRVJTRV9NRVRIT0RERUYKKyAgICBBUlJBWV9BUlJBWV9UT0ZJTEVfTUVUSE9EREVGCisgICAgQVJSQVlfQVJSQVlfVE9MSVNUX01FVEhPRERFRgorICAgIEFSUkFZX0FSUkFZX1RPU1RSSU5HX01FVEhPRERFRgorICAgIEFSUkFZX0FSUkFZX1RPQllURVNfTUVUSE9EREVGCisgICAgQVJSQVlfQVJSQVlfVE9VTklDT0RFX01FVEhPRERFRgorICAgIEFSUkFZX0FSUkFZX19fU0laRU9GX19fTUVUSE9EREVGCisgICAge05VTEwsIE5VTEx9ICAvKiBzZW50aW5lbCAqLwogfTsKIAogc3RhdGljIFB5T2JqZWN0ICoKQEAgLTIyMDcsOSArMjI5MSw5IEBACiAgICAgICAgIHJldHVybiBQeVVuaWNvZGVfRnJvbUZvcm1hdCgiYXJyYXkoJyVjJykiLCAoaW50KXR5cGVjb2RlKTsKICAgICB9CiAgICAgaWYgKHR5cGVjb2RlID09ICd1JykgewotICAgICAgICB2ID0gYXJyYXlfdG91bmljb2RlKGEsIE5VTEwpOworICAgICAgICB2ID0gYXJyYXlfYXJyYXlfdG91bmljb2RlX2ltcGwoYSk7CiAgICAgfSBlbHNlIHsKLSAgICAgICAgdiA9IGFycmF5X3RvbGlzdChhLCBOVUxMKTsKKyAgICAgICAgdiA9IGFycmF5X2FycmF5X3RvbGlzdF9pbXBsKGEpOwogICAgIH0KICAgICBpZiAodiA9PSBOVUxMKQogICAgICAgICByZXR1cm4gTlVMTDsKQEAgLTI0NDYsNyArMjUzMCwxMSBAQAogc3RhdGljIGludAogYXJyYXlfYnVmZmVyX2dldGJ1ZihhcnJheW9iamVjdCAqc2VsZiwgUHlfYnVmZmVyICp2aWV3LCBpbnQgZmxhZ3MpCiB7Ci0gICAgaWYgKHZpZXc9PU5VTEwpIGdvdG8gZmluaXNoOworICAgIGlmICh2aWV3ID09IE5VTEwpIHsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX0J1ZmZlckVycm9yLAorICAgICAgICAgICAgImFycmF5X2J1ZmZlcl9nZXRidWY6IHZpZXc9PU5VTEwgYXJndW1lbnQgaXMgb2Jzb2xldGUiKTsKKyAgICAgICAgcmV0dXJuIC0xOworICAgIH0KIAogICAgIHZpZXctPmJ1ZiA9ICh2b2lkICopc2VsZi0+b2JfaXRlbTsKICAgICB2aWV3LT5vYmogPSAoUHlPYmplY3QqKXNlbGY7CkBAIC0yNDc2LDcgKzI1NjQsNiBAQAogI2VuZGlmCiAgICAgfQogCi0gZmluaXNoOgogICAgIHNlbGYtPm9iX2V4cG9ydHMrKzsKICAgICByZXR1cm4gMDsKIH0KQEAgLTI1OTIsOCArMjY3OSw4IEBACiAgICAgICAgICAgICAgICAgICAgIFB5X0RFQ1JFRihhKTsKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIHYgPSBhcnJheV9mcm9tYnl0ZXMoKGFycmF5b2JqZWN0ICopYSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdF9pbml0aWFsKTsKKyAgICAgICAgICAgICAgICB2ID0gYXJyYXlfYXJyYXlfZnJvbWJ5dGVzKChhcnJheW9iamVjdCAqKWEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0X2luaXRpYWwpOwogICAgICAgICAgICAgICAgIFB5X0RFQ1JFRih0X2luaXRpYWwpOwogICAgICAgICAgICAgICAgIGlmICh2ID09IE5VTEwpIHsKICAgICAgICAgICAgICAgICAgICAgUHlfREVDUkVGKGEpOwpAQCAtMjc2NiwxNiArMjg1MywxMCBAQAogCiAvKioqKioqKioqKioqKioqKioqKioqKiogQXJyYXkgSXRlcmF0b3IgKioqKioqKioqKioqKioqKioqKioqKioqKiovCiAKLXR5cGVkZWYgc3RydWN0IHsKLSAgICBQeU9iamVjdF9IRUFECi0gICAgUHlfc3NpemVfdCAgICAgICAgICAgICAgICAgICAgICAgICAgaW5kZXg7Ci0gICAgYXJyYXlvYmplY3QgICAgICAgICAgICAgICAgICphbzsKLSAgICBQeU9iamVjdCAgICAgICAgICAgICAgICAgICAgKiAoKmdldGl0ZW0pKHN0cnVjdCBhcnJheW9iamVjdCAqLCBQeV9zc2l6ZV90KTsKLX0gYXJyYXlpdGVyb2JqZWN0OwotCi1zdGF0aWMgUHlUeXBlT2JqZWN0IFB5QXJyYXlJdGVyX1R5cGU7Ci0KLSNkZWZpbmUgUHlBcnJheUl0ZXJfQ2hlY2sob3ApIFB5T2JqZWN0X1R5cGVDaGVjayhvcCwgJlB5QXJyYXlJdGVyX1R5cGUpCisvKltjbGluaWMgaW5wdXRdCitjbGFzcyBhcnJheS5hcnJheWl0ZXJhdG9yICJhcnJheWl0ZXJvYmplY3QgKiIgIiZQeUFycmF5SXRlcl9UeXBlIgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWRhMzlhM2VlNWU2YjRiMGQgaW5wdXQ9NWFlZmQyZDc0ZDhjOGUzMF0qLwogCiBzdGF0aWMgUHlPYmplY3QgKgogYXJyYXlfaXRlcihhcnJheW9iamVjdCAqYW8pCkBAIC0yODIzLDMzICsyOTA0LDQ3IEBACiAgICAgcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBQeU9iamVjdCAqCi1hcnJheWl0ZXJfcmVkdWNlKGFycmF5aXRlcm9iamVjdCAqaXQpCi17Ci0gICAgcmV0dXJuIFB5X0J1aWxkVmFsdWUoIk4oTyluIiwgX1B5T2JqZWN0X0dldEJ1aWx0aW4oIml0ZXIiKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICBpdC0+YW8sIGl0LT5pbmRleCk7Ci19CisvKltjbGluaWMgaW5wdXRdCithcnJheS5hcnJheWl0ZXJhdG9yLl9fcmVkdWNlX18KKworUmV0dXJuIHN0YXRlIGluZm9ybWF0aW9uIGZvciBwaWNrbGluZy4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KIAogc3RhdGljIFB5T2JqZWN0ICoKLWFycmF5aXRlcl9zZXRzdGF0ZShhcnJheWl0ZXJvYmplY3QgKml0LCBQeU9iamVjdCAqc3RhdGUpCithcnJheV9hcnJheWl0ZXJhdG9yX19fcmVkdWNlX19faW1wbChhcnJheWl0ZXJvYmplY3QgKnNlbGYpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9Nzg5OGE1MmU4ZTY2ZTAxNiBpbnB1dD1hMDYyZWExZTk5NTE0MTdhXSovCit7CisgICAgcmV0dXJuIFB5X0J1aWxkVmFsdWUoIk4oTyluIiwgX1B5T2JqZWN0X0dldEJ1aWx0aW4oIml0ZXIiKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLT5hbywgc2VsZi0+aW5kZXgpOworfQorCisvKltjbGluaWMgaW5wdXRdCithcnJheS5hcnJheWl0ZXJhdG9yLl9fc2V0c3RhdGVfXworCisgICAgc3RhdGU6IG9iamVjdAorICAgIC8KKworU2V0IHN0YXRlIGluZm9ybWF0aW9uIGZvciB1bnBpY2tsaW5nLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitzdGF0aWMgUHlPYmplY3QgKgorYXJyYXlfYXJyYXlpdGVyYXRvcl9fX3NldHN0YXRlX18oYXJyYXlpdGVyb2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqc3RhdGUpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9Mzk3ZGE5OTA0ZTQ0M2NiZSBpbnB1dD1mNDdkNWNlZGExOWU3ODdiXSovCiB7CiAgICAgUHlfc3NpemVfdCBpbmRleCA9IFB5TG9uZ19Bc1NzaXplX3Qoc3RhdGUpOwogICAgIGlmIChpbmRleCA9PSAtMSAmJiBQeUVycl9PY2N1cnJlZCgpKQogICAgICAgICByZXR1cm4gTlVMTDsKICAgICBpZiAoaW5kZXggPCAwKQogICAgICAgICBpbmRleCA9IDA7Ci0gICAgZWxzZSBpZiAoaW5kZXggPiBQeV9TSVpFKGl0LT5hbykpCi0gICAgICAgIGluZGV4ID0gUHlfU0laRShpdC0+YW8pOyAvKiBpdGVyYXRvciBleGhhdXN0ZWQgKi8KLSAgICBpdC0+aW5kZXggPSBpbmRleDsKKyAgICBlbHNlIGlmIChpbmRleCA+IFB5X1NJWkUoc2VsZi0+YW8pKQorICAgICAgICBpbmRleCA9IFB5X1NJWkUoc2VsZi0+YW8pOyAvKiBpdGVyYXRvciBleGhhdXN0ZWQgKi8KKyAgICBzZWxmLT5pbmRleCA9IGluZGV4OwogICAgIFB5X1JFVFVSTl9OT05FOwogfQogCi1QeURvY19TVFJWQVIoc2V0c3RhdGVfZG9jLCAiU2V0IHN0YXRlIGluZm9ybWF0aW9uIGZvciB1bnBpY2tsaW5nLiIpOwogc3RhdGljIFB5TWV0aG9kRGVmIGFycmF5aXRlcl9tZXRob2RzW10gPSB7Ci0gICAgeyJfX3JlZHVjZV9fIiwgICAgICAoUHlDRnVuY3Rpb24pYXJyYXlpdGVyX3JlZHVjZSwgTUVUSF9OT0FSR1MsCi0gICAgIHJlZHVjZV9kb2N9LAotICAgIHsiX19zZXRzdGF0ZV9fIiwgICAgKFB5Q0Z1bmN0aW9uKWFycmF5aXRlcl9zZXRzdGF0ZSwgTUVUSF9PLAotICAgICBzZXRzdGF0ZV9kb2N9LAorICAgIEFSUkFZX0FSUkFZSVRFUkFUT1JfX19SRURVQ0VfX19NRVRIT0RERUYKKyAgICBBUlJBWV9BUlJBWUlURVJBVE9SX19fU0VUU1RBVEVfX19NRVRIT0RERUYKICAgICB7TlVMTCwgTlVMTH0gLyogc2VudGluZWwgKi8KIH07CiAKQEAgLTI4OTAsOCArMjk4NSw3IEBACiAKIC8qIE5vIGZ1bmN0aW9ucyBpbiBhcnJheSBtb2R1bGUuICovCiBzdGF0aWMgUHlNZXRob2REZWYgYV9tZXRob2RzW10gPSB7Ci0gICAgeyJfYXJyYXlfcmVjb25zdHJ1Y3RvciIsIGFycmF5X3JlY29uc3RydWN0b3IsIE1FVEhfVkFSQVJHUywKLSAgICAgUHlEb2NfU1RSKCJJbnRlcm5hbC4gVXNlZCBmb3IgcGlja2xpbmcgc3VwcG9ydC4iKX0sCisgICAgQVJSQVlfX0FSUkFZX1JFQ09OU1RSVUNUT1JfTUVUSE9EREVGCiAgICAge05VTEwsIE5VTEwsIDAsIE5VTEx9ICAgICAgICAvKiBTZW50aW5lbCAqLwogfTsKIApkaWZmIC0tZ2l0IGEvTW9kdWxlcy9hdGV4aXRtb2R1bGUuYyBiL01vZHVsZXMvYXRleGl0bW9kdWxlLmMKaW5kZXggOTg4NzAxNC4uNzllOTk2MiAxMDA2NDQKLS0tIGEvTW9kdWxlcy9hdGV4aXRtb2R1bGUuYworKysgYi9Nb2R1bGVzL2F0ZXhpdG1vZHVsZS5jCkBAIC02MCw3ICs2MCw3IEBACiAgICAgbW9kc3RhdGUtPm5jYWxsYmFja3MgPSAwOwogfQogCi0vKiBJbnN0YWxsZWQgaW50byBweXRob25ydW4uYydzIGF0ZXhpdCBtZWNoYW5pc20gKi8KKy8qIEluc3RhbGxlZCBpbnRvIHB5bGlmZWN5Y2xlLmMncyBhdGV4aXQgbWVjaGFuaXNtICovCiAKIHN0YXRpYyB2b2lkCiBhdGV4aXRfY2FsbGZ1bmNzKHZvaWQpCmRpZmYgLS1naXQgYS9Nb2R1bGVzL2Nqa2NvZGVjcy9fY29kZWNzX2lzbzIwMjIuYyBiL01vZHVsZXMvY2prY29kZWNzL19jb2RlY3NfaXNvMjAyMi5jCmluZGV4IDVjNDAxYWEuLjFjZTQyMTggMTAwNjQ0Ci0tLSBhL01vZHVsZXMvY2prY29kZWNzL19jb2RlY3NfaXNvMjAyMi5jCisrKyBiL01vZHVsZXMvY2prY29kZWNzL19jb2RlY3NfaXNvMjAyMi5jCkBAIC0yOTIsNyArMjkyLDcgQEAKICAgICAgICAgICAgICAgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKippbmJ1ZiwgUHlfc3NpemVfdCAqaW5sZWZ0KQogewogICAgIHVuc2lnbmVkIGNoYXIgY2hhcnNldCwgZGVzaWduYXRpb247Ci0gICAgUHlfc3NpemVfdCBpLCBlc2NsZW47CisgICAgUHlfc3NpemVfdCBpLCBlc2NsZW4gPSAwOwogCiAgICAgZm9yIChpID0gMTtpIDwgTUFYX0VTQ1NFUUxFTjtpKyspIHsKICAgICAgICAgaWYgKGkgPj0gKmlubGVmdCkKQEAgLTMwNywxMCArMzA3LDkgQEAKICAgICAgICAgfQogICAgIH0KIAotICAgIGlmIChpID49IE1BWF9FU0NTRVFMRU4pCi0gICAgICAgIHJldHVybiAxOyAvKiB1bnRlcm1pbmF0ZWQgZXNjYXBlIHNlcXVlbmNlICovCi0KICAgICBzd2l0Y2ggKGVzY2xlbikgeworICAgIGNhc2UgMDoKKyAgICAgICAgcmV0dXJuIDE7IC8qIHVudGVybWluYXRlZCBlc2NhcGUgc2VxdWVuY2UgKi8KICAgICBjYXNlIDM6CiAgICAgICAgIGlmIChJTkJZVEUyID09ICckJykgewogICAgICAgICAgICAgY2hhcnNldCA9IElOQllURTMgfCBDSEFSU0VUX0RCQ1M7CmRpZmYgLS1naXQgYS9Nb2R1bGVzL2Nqa2NvZGVjcy9jamtjb2RlY3MuaCBiL01vZHVsZXMvY2prY29kZWNzL2Nqa2NvZGVjcy5oCmluZGV4IGQxNWNjZmIuLmE0NWVkMTIgMTAwNjQ0Ci0tLSBhL01vZHVsZXMvY2prY29kZWNzL2Nqa2NvZGVjcy5oCisrKyBiL01vZHVsZXMvY2prY29kZWNzL2Nqa2NvZGVjcy5oCkBAIC0zNjIsNyArMzYyLDcgQEAKICAgICBpZiAobW9kID09IE5VTEwpCiAgICAgICAgIHJldHVybiAtMTsKIAotICAgIG8gPSBQeU9iamVjdF9HZXRBdHRyU3RyaW5nKG1vZCwgKGNoYXIqKXN5bWJvbCk7CisgICAgbyA9IFB5T2JqZWN0X0dldEF0dHJTdHJpbmcobW9kLCBzeW1ib2wpOwogICAgIGlmIChvID09IE5VTEwpCiAgICAgICAgIGdvdG8gZXJyb3JleGl0OwogICAgIGVsc2UgaWYgKCFQeUNhcHN1bGVfSXNWYWxpZChvLCBQeU11bHRpYnl0ZUNvZGVjX0NBUFNVTEVfTkFNRSkpIHsKZGlmZiAtLWdpdCBhL01vZHVsZXMvY2prY29kZWNzL2NsaW5pYy9tdWx0aWJ5dGVjb2RlYy5jLmggYi9Nb2R1bGVzL2Nqa2NvZGVjcy9jbGluaWMvbXVsdGlieXRlY29kZWMuYy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJmOWNiNjMKLS0tIC9kZXYvbnVsbAorKysgYi9Nb2R1bGVzL2Nqa2NvZGVjcy9jbGluaWMvbXVsdGlieXRlY29kZWMuYy5oCkBAIC0wLDAgKzEsMzAxIEBACisvKltjbGluaWMgaW5wdXRdCitwcmVzZXJ2ZQorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIoX211bHRpYnl0ZWNvZGVjX011bHRpYnl0ZUNvZGVjX2VuY29kZV9fZG9jX18sCisiZW5jb2RlKCRzZWxmLCAvLCBpbnB1dCwgZXJyb3JzPU5vbmUpXG4iCisiLS1cbiIKKyJcbiIKKyJSZXR1cm4gYW4gZW5jb2RlZCBzdHJpbmcgdmVyc2lvbiBvZiBgaW5wdXRcJy5cbiIKKyJcbiIKKyJcJ2Vycm9yc1wnIG1heSBiZSBnaXZlbiB0byBzZXQgYSBkaWZmZXJlbnQgZXJyb3IgaGFuZGxpbmcgc2NoZW1lLiBEZWZhdWx0IGlzXG4iCisiXCdzdHJpY3RcJyBtZWFuaW5nIHRoYXQgZW5jb2RpbmcgZXJyb3JzIHJhaXNlIGEgVW5pY29kZUVuY29kZUVycm9yLiBPdGhlciBwb3NzaWJsZVxuIgorInZhbHVlcyBhcmUgXCdpZ25vcmVcJywgXCdyZXBsYWNlXCcgYW5kIFwneG1sY2hhcnJlZnJlcGxhY2VcJyBhcyB3ZWxsIGFzIGFueSBvdGhlciBuYW1lXG4iCisicmVnaXN0ZXJlZCB3aXRoIGNvZGVjcy5yZWdpc3Rlcl9lcnJvciB0aGF0IGNhbiBoYW5kbGUgVW5pY29kZUVuY29kZUVycm9ycy4iKTsKKworI2RlZmluZSBfTVVMVElCWVRFQ09ERUNfTVVMVElCWVRFQ09ERUNfRU5DT0RFX01FVEhPRERFRiAgICBcCisgICAgeyJlbmNvZGUiLCAoUHlDRnVuY3Rpb24pX211bHRpYnl0ZWNvZGVjX011bHRpYnl0ZUNvZGVjX2VuY29kZSwgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsIF9tdWx0aWJ5dGVjb2RlY19NdWx0aWJ5dGVDb2RlY19lbmNvZGVfX2RvY19ffSwKKworc3RhdGljIFB5T2JqZWN0ICoKK19tdWx0aWJ5dGVjb2RlY19NdWx0aWJ5dGVDb2RlY19lbmNvZGVfaW1wbChNdWx0aWJ5dGVDb2RlY09iamVjdCAqc2VsZiwgUHlPYmplY3QgKmlucHV0LCBjb25zdCBjaGFyICplcnJvcnMpOworCitzdGF0aWMgUHlPYmplY3QgKgorX211bHRpYnl0ZWNvZGVjX011bHRpYnl0ZUNvZGVjX2VuY29kZShNdWx0aWJ5dGVDb2RlY09iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCit7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgc3RhdGljIGNoYXIgKl9rZXl3b3Jkc1tdID0geyJpbnB1dCIsICJlcnJvcnMiLCBOVUxMfTsKKyAgICBQeU9iamVjdCAqaW5wdXQ7CisgICAgY29uc3QgY2hhciAqZXJyb3JzID0gTlVMTDsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywKKyAgICAgICAgIk98ejplbmNvZGUiLCBfa2V5d29yZHMsCisgICAgICAgICZpbnB1dCwgJmVycm9ycykpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBfbXVsdGlieXRlY29kZWNfTXVsdGlieXRlQ29kZWNfZW5jb2RlX2ltcGwoc2VsZiwgaW5wdXQsIGVycm9ycyk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworUHlEb2NfU1RSVkFSKF9tdWx0aWJ5dGVjb2RlY19NdWx0aWJ5dGVDb2RlY19kZWNvZGVfX2RvY19fLAorImRlY29kZSgkc2VsZiwgLywgaW5wdXQsIGVycm9ycz1Ob25lKVxuIgorIi0tXG4iCisiXG4iCisiRGVjb2RlcyBcJ2lucHV0XCcuXG4iCisiXG4iCisiXCdlcnJvcnNcJyBtYXkgYmUgZ2l2ZW4gdG8gc2V0IGEgZGlmZmVyZW50IGVycm9yIGhhbmRsaW5nIHNjaGVtZS4gRGVmYXVsdCBpc1xuIgorIlwnc3RyaWN0XCcgbWVhbmluZyB0aGF0IGVuY29kaW5nIGVycm9ycyByYWlzZSBhIFVuaWNvZGVEZWNvZGVFcnJvci4gT3RoZXIgcG9zc2libGVcbiIKKyJ2YWx1ZXMgYXJlIFwnaWdub3JlXCcgYW5kIFwncmVwbGFjZVwnIGFzIHdlbGwgYXMgYW55IG90aGVyIG5hbWUgcmVnaXN0ZXJlZCB3aXRoXG4iCisiY29kZWNzLnJlZ2lzdGVyX2Vycm9yIHRoYXQgaXMgYWJsZSB0byBoYW5kbGUgVW5pY29kZURlY29kZUVycm9ycy5cIiIpOworCisjZGVmaW5lIF9NVUxUSUJZVEVDT0RFQ19NVUxUSUJZVEVDT0RFQ19ERUNPREVfTUVUSE9EREVGICAgIFwKKyAgICB7ImRlY29kZSIsIChQeUNGdW5jdGlvbilfbXVsdGlieXRlY29kZWNfTXVsdGlieXRlQ29kZWNfZGVjb2RlLCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywgX211bHRpYnl0ZWNvZGVjX011bHRpYnl0ZUNvZGVjX2RlY29kZV9fZG9jX199LAorCitzdGF0aWMgUHlPYmplY3QgKgorX211bHRpYnl0ZWNvZGVjX011bHRpYnl0ZUNvZGVjX2RlY29kZV9pbXBsKE11bHRpYnl0ZUNvZGVjT2JqZWN0ICpzZWxmLCBQeV9idWZmZXIgKmlucHV0LCBjb25zdCBjaGFyICplcnJvcnMpOworCitzdGF0aWMgUHlPYmplY3QgKgorX211bHRpYnl0ZWNvZGVjX011bHRpYnl0ZUNvZGVjX2RlY29kZShNdWx0aWJ5dGVDb2RlY09iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCit7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgc3RhdGljIGNoYXIgKl9rZXl3b3Jkc1tdID0geyJpbnB1dCIsICJlcnJvcnMiLCBOVUxMfTsKKyAgICBQeV9idWZmZXIgaW5wdXQgPSB7TlVMTCwgTlVMTH07CisgICAgY29uc3QgY2hhciAqZXJyb3JzID0gTlVMTDsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywKKyAgICAgICAgInkqfHo6ZGVjb2RlIiwgX2tleXdvcmRzLAorICAgICAgICAmaW5wdXQsICZlcnJvcnMpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gX211bHRpYnl0ZWNvZGVjX011bHRpYnl0ZUNvZGVjX2RlY29kZV9pbXBsKHNlbGYsICZpbnB1dCwgZXJyb3JzKTsKKworZXhpdDoKKyAgICAvKiBDbGVhbnVwIGZvciBpbnB1dCAqLworICAgIGlmIChpbnB1dC5vYmopCisgICAgICAgUHlCdWZmZXJfUmVsZWFzZSgmaW5wdXQpOworCisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworUHlEb2NfU1RSVkFSKF9tdWx0aWJ5dGVjb2RlY19NdWx0aWJ5dGVJbmNyZW1lbnRhbEVuY29kZXJfZW5jb2RlX19kb2NfXywKKyJlbmNvZGUoJHNlbGYsIC8sIGlucHV0LCBmaW5hbD0wKVxuIgorIi0tIik7CisKKyNkZWZpbmUgX01VTFRJQllURUNPREVDX01VTFRJQllURUlOQ1JFTUVOVEFMRU5DT0RFUl9FTkNPREVfTUVUSE9EREVGICAgIFwKKyAgICB7ImVuY29kZSIsIChQeUNGdW5jdGlvbilfbXVsdGlieXRlY29kZWNfTXVsdGlieXRlSW5jcmVtZW50YWxFbmNvZGVyX2VuY29kZSwgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsIF9tdWx0aWJ5dGVjb2RlY19NdWx0aWJ5dGVJbmNyZW1lbnRhbEVuY29kZXJfZW5jb2RlX19kb2NfX30sCisKK3N0YXRpYyBQeU9iamVjdCAqCitfbXVsdGlieXRlY29kZWNfTXVsdGlieXRlSW5jcmVtZW50YWxFbmNvZGVyX2VuY29kZV9pbXBsKE11bHRpYnl0ZUluY3JlbWVudGFsRW5jb2Rlck9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmlucHV0LCBpbnQgZmluYWwpOworCitzdGF0aWMgUHlPYmplY3QgKgorX211bHRpYnl0ZWNvZGVjX011bHRpYnl0ZUluY3JlbWVudGFsRW5jb2Rlcl9lbmNvZGUoTXVsdGlieXRlSW5jcmVtZW50YWxFbmNvZGVyT2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3YXJncykKK3sKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBzdGF0aWMgY2hhciAqX2tleXdvcmRzW10gPSB7ImlucHV0IiwgImZpbmFsIiwgTlVMTH07CisgICAgUHlPYmplY3QgKmlucHV0OworICAgIGludCBmaW5hbCA9IDA7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsCisgICAgICAgICJPfGk6ZW5jb2RlIiwgX2tleXdvcmRzLAorICAgICAgICAmaW5wdXQsICZmaW5hbCkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBfbXVsdGlieXRlY29kZWNfTXVsdGlieXRlSW5jcmVtZW50YWxFbmNvZGVyX2VuY29kZV9pbXBsKHNlbGYsIGlucHV0LCBmaW5hbCk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworUHlEb2NfU1RSVkFSKF9tdWx0aWJ5dGVjb2RlY19NdWx0aWJ5dGVJbmNyZW1lbnRhbEVuY29kZXJfcmVzZXRfX2RvY19fLAorInJlc2V0KCRzZWxmLCAvKVxuIgorIi0tIik7CisKKyNkZWZpbmUgX01VTFRJQllURUNPREVDX01VTFRJQllURUlOQ1JFTUVOVEFMRU5DT0RFUl9SRVNFVF9NRVRIT0RERUYgICAgXAorICAgIHsicmVzZXQiLCAoUHlDRnVuY3Rpb24pX211bHRpYnl0ZWNvZGVjX011bHRpYnl0ZUluY3JlbWVudGFsRW5jb2Rlcl9yZXNldCwgTUVUSF9OT0FSR1MsIF9tdWx0aWJ5dGVjb2RlY19NdWx0aWJ5dGVJbmNyZW1lbnRhbEVuY29kZXJfcmVzZXRfX2RvY19ffSwKKworc3RhdGljIFB5T2JqZWN0ICoKK19tdWx0aWJ5dGVjb2RlY19NdWx0aWJ5dGVJbmNyZW1lbnRhbEVuY29kZXJfcmVzZXRfaW1wbChNdWx0aWJ5dGVJbmNyZW1lbnRhbEVuY29kZXJPYmplY3QgKnNlbGYpOworCitzdGF0aWMgUHlPYmplY3QgKgorX211bHRpYnl0ZWNvZGVjX011bHRpYnl0ZUluY3JlbWVudGFsRW5jb2Rlcl9yZXNldChNdWx0aWJ5dGVJbmNyZW1lbnRhbEVuY29kZXJPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpQeV9VTlVTRUQoaWdub3JlZCkpCit7CisgICAgcmV0dXJuIF9tdWx0aWJ5dGVjb2RlY19NdWx0aWJ5dGVJbmNyZW1lbnRhbEVuY29kZXJfcmVzZXRfaW1wbChzZWxmKTsKK30KKworUHlEb2NfU1RSVkFSKF9tdWx0aWJ5dGVjb2RlY19NdWx0aWJ5dGVJbmNyZW1lbnRhbERlY29kZXJfZGVjb2RlX19kb2NfXywKKyJkZWNvZGUoJHNlbGYsIC8sIGlucHV0LCBmaW5hbD0wKVxuIgorIi0tIik7CisKKyNkZWZpbmUgX01VTFRJQllURUNPREVDX01VTFRJQllURUlOQ1JFTUVOVEFMREVDT0RFUl9ERUNPREVfTUVUSE9EREVGICAgIFwKKyAgICB7ImRlY29kZSIsIChQeUNGdW5jdGlvbilfbXVsdGlieXRlY29kZWNfTXVsdGlieXRlSW5jcmVtZW50YWxEZWNvZGVyX2RlY29kZSwgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsIF9tdWx0aWJ5dGVjb2RlY19NdWx0aWJ5dGVJbmNyZW1lbnRhbERlY29kZXJfZGVjb2RlX19kb2NfX30sCisKK3N0YXRpYyBQeU9iamVjdCAqCitfbXVsdGlieXRlY29kZWNfTXVsdGlieXRlSW5jcmVtZW50YWxEZWNvZGVyX2RlY29kZV9pbXBsKE11bHRpYnl0ZUluY3JlbWVudGFsRGVjb2Rlck9iamVjdCAqc2VsZiwgUHlfYnVmZmVyICppbnB1dCwgaW50IGZpbmFsKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK19tdWx0aWJ5dGVjb2RlY19NdWx0aWJ5dGVJbmNyZW1lbnRhbERlY29kZXJfZGVjb2RlKE11bHRpYnl0ZUluY3JlbWVudGFsRGVjb2Rlck9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCit7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgc3RhdGljIGNoYXIgKl9rZXl3b3Jkc1tdID0geyJpbnB1dCIsICJmaW5hbCIsIE5VTEx9OworICAgIFB5X2J1ZmZlciBpbnB1dCA9IHtOVUxMLCBOVUxMfTsKKyAgICBpbnQgZmluYWwgPSAwOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLAorICAgICAgICAieSp8aTpkZWNvZGUiLCBfa2V5d29yZHMsCisgICAgICAgICZpbnB1dCwgJmZpbmFsKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IF9tdWx0aWJ5dGVjb2RlY19NdWx0aWJ5dGVJbmNyZW1lbnRhbERlY29kZXJfZGVjb2RlX2ltcGwoc2VsZiwgJmlucHV0LCBmaW5hbCk7CisKK2V4aXQ6CisgICAgLyogQ2xlYW51cCBmb3IgaW5wdXQgKi8KKyAgICBpZiAoaW5wdXQub2JqKQorICAgICAgIFB5QnVmZmVyX1JlbGVhc2UoJmlucHV0KTsKKworICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK1B5RG9jX1NUUlZBUihfbXVsdGlieXRlY29kZWNfTXVsdGlieXRlSW5jcmVtZW50YWxEZWNvZGVyX3Jlc2V0X19kb2NfXywKKyJyZXNldCgkc2VsZiwgLylcbiIKKyItLSIpOworCisjZGVmaW5lIF9NVUxUSUJZVEVDT0RFQ19NVUxUSUJZVEVJTkNSRU1FTlRBTERFQ09ERVJfUkVTRVRfTUVUSE9EREVGICAgIFwKKyAgICB7InJlc2V0IiwgKFB5Q0Z1bmN0aW9uKV9tdWx0aWJ5dGVjb2RlY19NdWx0aWJ5dGVJbmNyZW1lbnRhbERlY29kZXJfcmVzZXQsIE1FVEhfTk9BUkdTLCBfbXVsdGlieXRlY29kZWNfTXVsdGlieXRlSW5jcmVtZW50YWxEZWNvZGVyX3Jlc2V0X19kb2NfX30sCisKK3N0YXRpYyBQeU9iamVjdCAqCitfbXVsdGlieXRlY29kZWNfTXVsdGlieXRlSW5jcmVtZW50YWxEZWNvZGVyX3Jlc2V0X2ltcGwoTXVsdGlieXRlSW5jcmVtZW50YWxEZWNvZGVyT2JqZWN0ICpzZWxmKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK19tdWx0aWJ5dGVjb2RlY19NdWx0aWJ5dGVJbmNyZW1lbnRhbERlY29kZXJfcmVzZXQoTXVsdGlieXRlSW5jcmVtZW50YWxEZWNvZGVyT2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqUHlfVU5VU0VEKGlnbm9yZWQpKQoreworICAgIHJldHVybiBfbXVsdGlieXRlY29kZWNfTXVsdGlieXRlSW5jcmVtZW50YWxEZWNvZGVyX3Jlc2V0X2ltcGwoc2VsZik7Cit9CisKK1B5RG9jX1NUUlZBUihfbXVsdGlieXRlY29kZWNfTXVsdGlieXRlU3RyZWFtUmVhZGVyX3JlYWRfX2RvY19fLAorInJlYWQoJHNlbGYsIHNpemVvYmo9Tm9uZSwgLylcbiIKKyItLSIpOworCisjZGVmaW5lIF9NVUxUSUJZVEVDT0RFQ19NVUxUSUJZVEVTVFJFQU1SRUFERVJfUkVBRF9NRVRIT0RERUYgICAgXAorICAgIHsicmVhZCIsIChQeUNGdW5jdGlvbilfbXVsdGlieXRlY29kZWNfTXVsdGlieXRlU3RyZWFtUmVhZGVyX3JlYWQsIE1FVEhfVkFSQVJHUywgX211bHRpYnl0ZWNvZGVjX011bHRpYnl0ZVN0cmVhbVJlYWRlcl9yZWFkX19kb2NfX30sCisKK3N0YXRpYyBQeU9iamVjdCAqCitfbXVsdGlieXRlY29kZWNfTXVsdGlieXRlU3RyZWFtUmVhZGVyX3JlYWRfaW1wbChNdWx0aWJ5dGVTdHJlYW1SZWFkZXJPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpzaXplb2JqKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK19tdWx0aWJ5dGVjb2RlY19NdWx0aWJ5dGVTdHJlYW1SZWFkZXJfcmVhZChNdWx0aWJ5dGVTdHJlYW1SZWFkZXJPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQoreworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIFB5T2JqZWN0ICpzaXplb2JqID0gUHlfTm9uZTsKKworICAgIGlmICghUHlBcmdfVW5wYWNrVHVwbGUoYXJncywgInJlYWQiLAorICAgICAgICAwLCAxLAorICAgICAgICAmc2l6ZW9iaikpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBfbXVsdGlieXRlY29kZWNfTXVsdGlieXRlU3RyZWFtUmVhZGVyX3JlYWRfaW1wbChzZWxmLCBzaXplb2JqKTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitQeURvY19TVFJWQVIoX211bHRpYnl0ZWNvZGVjX011bHRpYnl0ZVN0cmVhbVJlYWRlcl9yZWFkbGluZV9fZG9jX18sCisicmVhZGxpbmUoJHNlbGYsIHNpemVvYmo9Tm9uZSwgLylcbiIKKyItLSIpOworCisjZGVmaW5lIF9NVUxUSUJZVEVDT0RFQ19NVUxUSUJZVEVTVFJFQU1SRUFERVJfUkVBRExJTkVfTUVUSE9EREVGICAgIFwKKyAgICB7InJlYWRsaW5lIiwgKFB5Q0Z1bmN0aW9uKV9tdWx0aWJ5dGVjb2RlY19NdWx0aWJ5dGVTdHJlYW1SZWFkZXJfcmVhZGxpbmUsIE1FVEhfVkFSQVJHUywgX211bHRpYnl0ZWNvZGVjX011bHRpYnl0ZVN0cmVhbVJlYWRlcl9yZWFkbGluZV9fZG9jX199LAorCitzdGF0aWMgUHlPYmplY3QgKgorX211bHRpYnl0ZWNvZGVjX011bHRpYnl0ZVN0cmVhbVJlYWRlcl9yZWFkbGluZV9pbXBsKE11bHRpYnl0ZVN0cmVhbVJlYWRlck9iamVjdCAqc2VsZiwgUHlPYmplY3QgKnNpemVvYmopOworCitzdGF0aWMgUHlPYmplY3QgKgorX211bHRpYnl0ZWNvZGVjX011bHRpYnl0ZVN0cmVhbVJlYWRlcl9yZWFkbGluZShNdWx0aWJ5dGVTdHJlYW1SZWFkZXJPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQoreworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIFB5T2JqZWN0ICpzaXplb2JqID0gUHlfTm9uZTsKKworICAgIGlmICghUHlBcmdfVW5wYWNrVHVwbGUoYXJncywgInJlYWRsaW5lIiwKKyAgICAgICAgMCwgMSwKKyAgICAgICAgJnNpemVvYmopKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gX211bHRpYnl0ZWNvZGVjX011bHRpYnl0ZVN0cmVhbVJlYWRlcl9yZWFkbGluZV9pbXBsKHNlbGYsIHNpemVvYmopOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK1B5RG9jX1NUUlZBUihfbXVsdGlieXRlY29kZWNfTXVsdGlieXRlU3RyZWFtUmVhZGVyX3JlYWRsaW5lc19fZG9jX18sCisicmVhZGxpbmVzKCRzZWxmLCBzaXplaGludG9iaj1Ob25lLCAvKVxuIgorIi0tIik7CisKKyNkZWZpbmUgX01VTFRJQllURUNPREVDX01VTFRJQllURVNUUkVBTVJFQURFUl9SRUFETElORVNfTUVUSE9EREVGICAgIFwKKyAgICB7InJlYWRsaW5lcyIsIChQeUNGdW5jdGlvbilfbXVsdGlieXRlY29kZWNfTXVsdGlieXRlU3RyZWFtUmVhZGVyX3JlYWRsaW5lcywgTUVUSF9WQVJBUkdTLCBfbXVsdGlieXRlY29kZWNfTXVsdGlieXRlU3RyZWFtUmVhZGVyX3JlYWRsaW5lc19fZG9jX199LAorCitzdGF0aWMgUHlPYmplY3QgKgorX211bHRpYnl0ZWNvZGVjX011bHRpYnl0ZVN0cmVhbVJlYWRlcl9yZWFkbGluZXNfaW1wbChNdWx0aWJ5dGVTdHJlYW1SZWFkZXJPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpzaXplaGludG9iaik7CisKK3N0YXRpYyBQeU9iamVjdCAqCitfbXVsdGlieXRlY29kZWNfTXVsdGlieXRlU3RyZWFtUmVhZGVyX3JlYWRsaW5lcyhNdWx0aWJ5dGVTdHJlYW1SZWFkZXJPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQoreworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIFB5T2JqZWN0ICpzaXplaGludG9iaiA9IFB5X05vbmU7CisKKyAgICBpZiAoIVB5QXJnX1VucGFja1R1cGxlKGFyZ3MsICJyZWFkbGluZXMiLAorICAgICAgICAwLCAxLAorICAgICAgICAmc2l6ZWhpbnRvYmopKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gX211bHRpYnl0ZWNvZGVjX011bHRpYnl0ZVN0cmVhbVJlYWRlcl9yZWFkbGluZXNfaW1wbChzZWxmLCBzaXplaGludG9iaik7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworUHlEb2NfU1RSVkFSKF9tdWx0aWJ5dGVjb2RlY19NdWx0aWJ5dGVTdHJlYW1SZWFkZXJfcmVzZXRfX2RvY19fLAorInJlc2V0KCRzZWxmLCAvKVxuIgorIi0tIik7CisKKyNkZWZpbmUgX01VTFRJQllURUNPREVDX01VTFRJQllURVNUUkVBTVJFQURFUl9SRVNFVF9NRVRIT0RERUYgICAgXAorICAgIHsicmVzZXQiLCAoUHlDRnVuY3Rpb24pX211bHRpYnl0ZWNvZGVjX011bHRpYnl0ZVN0cmVhbVJlYWRlcl9yZXNldCwgTUVUSF9OT0FSR1MsIF9tdWx0aWJ5dGVjb2RlY19NdWx0aWJ5dGVTdHJlYW1SZWFkZXJfcmVzZXRfX2RvY19ffSwKKworc3RhdGljIFB5T2JqZWN0ICoKK19tdWx0aWJ5dGVjb2RlY19NdWx0aWJ5dGVTdHJlYW1SZWFkZXJfcmVzZXRfaW1wbChNdWx0aWJ5dGVTdHJlYW1SZWFkZXJPYmplY3QgKnNlbGYpOworCitzdGF0aWMgUHlPYmplY3QgKgorX211bHRpYnl0ZWNvZGVjX011bHRpYnl0ZVN0cmVhbVJlYWRlcl9yZXNldChNdWx0aWJ5dGVTdHJlYW1SZWFkZXJPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpQeV9VTlVTRUQoaWdub3JlZCkpCit7CisgICAgcmV0dXJuIF9tdWx0aWJ5dGVjb2RlY19NdWx0aWJ5dGVTdHJlYW1SZWFkZXJfcmVzZXRfaW1wbChzZWxmKTsKK30KKworUHlEb2NfU1RSVkFSKF9tdWx0aWJ5dGVjb2RlY19NdWx0aWJ5dGVTdHJlYW1Xcml0ZXJfd3JpdGVfX2RvY19fLAorIndyaXRlKCRzZWxmLCBzdHJvYmosIC8pXG4iCisiLS0iKTsKKworI2RlZmluZSBfTVVMVElCWVRFQ09ERUNfTVVMVElCWVRFU1RSRUFNV1JJVEVSX1dSSVRFX01FVEhPRERFRiAgICBcCisgICAgeyJ3cml0ZSIsIChQeUNGdW5jdGlvbilfbXVsdGlieXRlY29kZWNfTXVsdGlieXRlU3RyZWFtV3JpdGVyX3dyaXRlLCBNRVRIX08sIF9tdWx0aWJ5dGVjb2RlY19NdWx0aWJ5dGVTdHJlYW1Xcml0ZXJfd3JpdGVfX2RvY19ffSwKKworUHlEb2NfU1RSVkFSKF9tdWx0aWJ5dGVjb2RlY19NdWx0aWJ5dGVTdHJlYW1Xcml0ZXJfd3JpdGVsaW5lc19fZG9jX18sCisid3JpdGVsaW5lcygkc2VsZiwgbGluZXMsIC8pXG4iCisiLS0iKTsKKworI2RlZmluZSBfTVVMVElCWVRFQ09ERUNfTVVMVElCWVRFU1RSRUFNV1JJVEVSX1dSSVRFTElORVNfTUVUSE9EREVGICAgIFwKKyAgICB7IndyaXRlbGluZXMiLCAoUHlDRnVuY3Rpb24pX211bHRpYnl0ZWNvZGVjX011bHRpYnl0ZVN0cmVhbVdyaXRlcl93cml0ZWxpbmVzLCBNRVRIX08sIF9tdWx0aWJ5dGVjb2RlY19NdWx0aWJ5dGVTdHJlYW1Xcml0ZXJfd3JpdGVsaW5lc19fZG9jX199LAorCitQeURvY19TVFJWQVIoX211bHRpYnl0ZWNvZGVjX011bHRpYnl0ZVN0cmVhbVdyaXRlcl9yZXNldF9fZG9jX18sCisicmVzZXQoJHNlbGYsIC8pXG4iCisiLS0iKTsKKworI2RlZmluZSBfTVVMVElCWVRFQ09ERUNfTVVMVElCWVRFU1RSRUFNV1JJVEVSX1JFU0VUX01FVEhPRERFRiAgICBcCisgICAgeyJyZXNldCIsIChQeUNGdW5jdGlvbilfbXVsdGlieXRlY29kZWNfTXVsdGlieXRlU3RyZWFtV3JpdGVyX3Jlc2V0LCBNRVRIX05PQVJHUywgX211bHRpYnl0ZWNvZGVjX011bHRpYnl0ZVN0cmVhbVdyaXRlcl9yZXNldF9fZG9jX199LAorCitzdGF0aWMgUHlPYmplY3QgKgorX211bHRpYnl0ZWNvZGVjX011bHRpYnl0ZVN0cmVhbVdyaXRlcl9yZXNldF9pbXBsKE11bHRpYnl0ZVN0cmVhbVdyaXRlck9iamVjdCAqc2VsZik7CisKK3N0YXRpYyBQeU9iamVjdCAqCitfbXVsdGlieXRlY29kZWNfTXVsdGlieXRlU3RyZWFtV3JpdGVyX3Jlc2V0KE11bHRpYnl0ZVN0cmVhbVdyaXRlck9iamVjdCAqc2VsZiwgUHlPYmplY3QgKlB5X1VOVVNFRChpZ25vcmVkKSkKK3sKKyAgICByZXR1cm4gX211bHRpYnl0ZWNvZGVjX011bHRpYnl0ZVN0cmVhbVdyaXRlcl9yZXNldF9pbXBsKHNlbGYpOworfQorCitQeURvY19TVFJWQVIoX211bHRpYnl0ZWNvZGVjX19fY3JlYXRlX2NvZGVjX19kb2NfXywKKyJfX2NyZWF0ZV9jb2RlYygkbW9kdWxlLCBhcmcsIC8pXG4iCisiLS0iKTsKKworI2RlZmluZSBfTVVMVElCWVRFQ09ERUNfX19DUkVBVEVfQ09ERUNfTUVUSE9EREVGICAgIFwKKyAgICB7Il9fY3JlYXRlX2NvZGVjIiwgKFB5Q0Z1bmN0aW9uKV9tdWx0aWJ5dGVjb2RlY19fX2NyZWF0ZV9jb2RlYywgTUVUSF9PLCBfbXVsdGlieXRlY29kZWNfX19jcmVhdGVfY29kZWNfX2RvY19ffSwKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1kZmYxNDU5ZGVjNDY0Nzk2IGlucHV0PWE5MDQ5MDU0MDEzYTFiNzddKi8KZGlmZiAtLWdpdCBhL01vZHVsZXMvY2prY29kZWNzL211bHRpYnl0ZWNvZGVjLmMgYi9Nb2R1bGVzL2Nqa2NvZGVjcy9tdWx0aWJ5dGVjb2RlYy5jCmluZGV4IDQzNTUyOWYuLmZlNWIzNjIgMTAwNjQ0Ci0tLSBhL01vZHVsZXMvY2prY29kZWNzL211bHRpYnl0ZWNvZGVjLmMKKysrIGIvTW9kdWxlcy9jamtjb2RlY3MvbXVsdGlieXRlY29kZWMuYwpAQCAtOCw2ICs4LDE4IEBACiAjaW5jbHVkZSAiUHl0aG9uLmgiCiAjaW5jbHVkZSAic3RydWN0bWVtYmVyLmgiCiAjaW5jbHVkZSAibXVsdGlieXRlY29kZWMuaCIKKyNpbmNsdWRlICJjbGluaWMvbXVsdGlieXRlY29kZWMuYy5oIgorCisvKltjbGluaWMgaW5wdXRdCitvdXRwdXQgcHJlc2V0IGZpbGUKK21vZHVsZSBfbXVsdGlieXRlY29kZWMKK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1kYTM5YTNlZTVlNmI0YjBkIGlucHV0PWUwY2YxYjdmM2M0NzJkMTddKi8KKworLypbY2xpbmljIGlucHV0XQorY2xhc3MgX211bHRpYnl0ZWNvZGVjLk11bHRpYnl0ZUNvZGVjICJNdWx0aWJ5dGVDb2RlY09iamVjdCAqIiAiJk11bHRpYnl0ZUNvZGVjX1R5cGUiCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9ZGEzOWEzZWU1ZTZiNGIwZCBpbnB1dD1kNWIxZmMxZmVjOGViMDAzXSovCiAKIHR5cGVkZWYgc3RydWN0IHsKICAgICBQeU9iamVjdCAgICAgICAgICAgICppbm9iajsKQEAgLTIyLDI3ICszNCw3IEBACiAgICAgX1B5VW5pY29kZVdyaXRlciAgICB3cml0ZXI7CiB9IE11bHRpYnl0ZURlY29kZUJ1ZmZlcjsKIAotUHlEb2NfU1RSVkFSKE11bHRpYnl0ZUNvZGVjX0VuY29kZV9fZG9jX18sCi0iSS5lbmNvZGUodW5pY29kZVssIGVycm9yc10pIC0+IChzdHJpbmcsIGxlbmd0aCBjb25zdW1lZClcblwKLVxuXAotUmV0dXJuIGFuIGVuY29kZWQgc3RyaW5nIHZlcnNpb24gb2YgYHVuaWNvZGUnLiBlcnJvcnMgbWF5IGJlIGdpdmVuIHRvXG5cCi1zZXQgYSBkaWZmZXJlbnQgZXJyb3IgaGFuZGxpbmcgc2NoZW1lLiBEZWZhdWx0IGlzICdzdHJpY3QnIG1lYW5pbmcgdGhhdFxuXAotZW5jb2RpbmcgZXJyb3JzIHJhaXNlIGEgVW5pY29kZUVuY29kZUVycm9yLiBPdGhlciBwb3NzaWJsZSB2YWx1ZXMgYXJlXG5cCi0naWdub3JlJywgJ3JlcGxhY2UnIGFuZCAneG1sY2hhcnJlZnJlcGxhY2UnIGFzIHdlbGwgYXMgYW55IG90aGVyIG5hbWVcblwKLXJlZ2lzdGVyZWQgd2l0aCBjb2RlY3MucmVnaXN0ZXJfZXJyb3IgdGhhdCBjYW4gaGFuZGxlIFVuaWNvZGVFbmNvZGVFcnJvcnMuIik7Ci0KLVB5RG9jX1NUUlZBUihNdWx0aWJ5dGVDb2RlY19EZWNvZGVfX2RvY19fLAotIkkuZGVjb2RlKHN0cmluZ1ssIGVycm9yc10pIC0+ICh1bmljb2Rlb2JqZWN0LCBsZW5ndGggY29uc3VtZWQpXG5cCi1cblwKLURlY29kZXMgYHN0cmluZycgdXNpbmcgSSwgYW4gTXVsdGlieXRlQ29kZWMgaW5zdGFuY2UuIGVycm9ycyBtYXkgYmUgZ2l2ZW5cblwKLXRvIHNldCBhIGRpZmZlcmVudCBlcnJvciBoYW5kbGluZyBzY2hlbWUuIERlZmF1bHQgaXMgJ3N0cmljdCcgbWVhbmluZ1xuXAotdGhhdCBlbmNvZGluZyBlcnJvcnMgcmFpc2UgYSBVbmljb2RlRGVjb2RlRXJyb3IuIE90aGVyIHBvc3NpYmxlIHZhbHVlc1xuXAotYXJlICdpZ25vcmUnIGFuZCAncmVwbGFjZScgYXMgd2VsbCBhcyBhbnkgb3RoZXIgbmFtZSByZWdpc3RlcmVkIHdpdGhcblwKLWNvZGVjcy5yZWdpc3Rlcl9lcnJvciB0aGF0IGlzIGFibGUgdG8gaGFuZGxlIFVuaWNvZGVEZWNvZGVFcnJvcnMuIik7Ci0KLXN0YXRpYyBjaGFyICpjb2RlY2t3YXJnbGlzdFtdID0geyJpbnB1dCIsICJlcnJvcnMiLCBOVUxMfTsKIHN0YXRpYyBjaGFyICppbmNuZXdrd2FyZ2xpc3RbXSA9IHsiZXJyb3JzIiwgTlVMTH07Ci1zdGF0aWMgY2hhciAqaW5jcmVtZW50YWxrd2FyZ2xpc3RbXSA9IHsiaW5wdXQiLCAiZmluYWwiLCBOVUxMfTsKIHN0YXRpYyBjaGFyICpzdHJlYW1rd2FyZ2xpc3RbXSA9IHsic3RyZWFtIiwgImVycm9ycyIsIE5VTEx9OwogCiBzdGF0aWMgUHlPYmplY3QgKm11bHRpYnl0ZWNvZGVjX2VuY29kZShNdWx0aWJ5dGVDb2RlYyAqLApAQCAtNTUzLDI2ICs1NDUsMzUgQEAKICAgICByZXR1cm4gTlVMTDsKIH0KIAorLypbY2xpbmljIGlucHV0XQorX211bHRpYnl0ZWNvZGVjLk11bHRpYnl0ZUNvZGVjLmVuY29kZQorCisgIGlucHV0OiBvYmplY3QKKyAgZXJyb3JzOiBzdHIobnVsbGFibGU9VHJ1ZSkgPSBOVUxMCisKK1JldHVybiBhbiBlbmNvZGVkIHN0cmluZyB2ZXJzaW9uIG9mIGBpbnB1dCcuCisKKydlcnJvcnMnIG1heSBiZSBnaXZlbiB0byBzZXQgYSBkaWZmZXJlbnQgZXJyb3IgaGFuZGxpbmcgc2NoZW1lLiBEZWZhdWx0IGlzCisnc3RyaWN0JyBtZWFuaW5nIHRoYXQgZW5jb2RpbmcgZXJyb3JzIHJhaXNlIGEgVW5pY29kZUVuY29kZUVycm9yLiBPdGhlciBwb3NzaWJsZQordmFsdWVzIGFyZSAnaWdub3JlJywgJ3JlcGxhY2UnIGFuZCAneG1sY2hhcnJlZnJlcGxhY2UnIGFzIHdlbGwgYXMgYW55IG90aGVyIG5hbWUKK3JlZ2lzdGVyZWQgd2l0aCBjb2RlY3MucmVnaXN0ZXJfZXJyb3IgdGhhdCBjYW4gaGFuZGxlIFVuaWNvZGVFbmNvZGVFcnJvcnMuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKIHN0YXRpYyBQeU9iamVjdCAqCi1NdWx0aWJ5dGVDb2RlY19FbmNvZGUoTXVsdGlieXRlQ29kZWNPYmplY3QgKnNlbGYsCi0gICAgICAgICAgICAgICAgICAgICAgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCitfbXVsdGlieXRlY29kZWNfTXVsdGlieXRlQ29kZWNfZW5jb2RlX2ltcGwoTXVsdGlieXRlQ29kZWNPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICppbnB1dCwgY29uc3QgY2hhciAqZXJyb3JzKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWEzNmJmYTA4NzgzYTBkMGIgaW5wdXQ9MjUyZTdlZTY5NTg2N2IyZF0qLwogewogICAgIE11bHRpYnl0ZUNvZGVjX1N0YXRlIHN0YXRlOwotICAgIFB5T2JqZWN0ICplcnJvcmNiLCAqciwgKmFyZywgKnVjdnQ7Ci0gICAgY29uc3QgY2hhciAqZXJyb3JzID0gTlVMTDsKKyAgICBQeU9iamVjdCAqZXJyb3JjYiwgKnIsICp1Y3Z0OwogICAgIFB5X3NzaXplX3QgZGF0YWxlbjsKIAotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywgIk98ejplbmNvZGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvZGVja3dhcmdsaXN0LCAmYXJnLCAmZXJyb3JzKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0KLSAgICBpZiAoUHlVbmljb2RlX0NoZWNrKGFyZykpCisgICAgaWYgKFB5VW5pY29kZV9DaGVjayhpbnB1dCkpCiAgICAgICAgIHVjdnQgPSBOVUxMOwogICAgIGVsc2UgewotICAgICAgICBhcmcgPSB1Y3Z0ID0gUHlPYmplY3RfU3RyKGFyZyk7Ci0gICAgICAgIGlmIChhcmcgPT0gTlVMTCkKKyAgICAgICAgaW5wdXQgPSB1Y3Z0ID0gUHlPYmplY3RfU3RyKGlucHV0KTsKKyAgICAgICAgaWYgKGlucHV0ID09IE5VTEwpCiAgICAgICAgICAgICByZXR1cm4gTlVMTDsKLSAgICAgICAgZWxzZSBpZiAoIVB5VW5pY29kZV9DaGVjayhhcmcpKSB7CisgICAgICAgIGVsc2UgaWYgKCFQeVVuaWNvZGVfQ2hlY2soaW5wdXQpKSB7CiAgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLAogICAgICAgICAgICAgICAgICJjb3VsZG4ndCBjb252ZXJ0IHRoZSBvYmplY3QgdG8gdW5pY29kZS4iKTsKICAgICAgICAgICAgIFB5X0RFQ1JFRih1Y3Z0KTsKQEAgLTU4MCwxMSArNTgxLDExIEBACiAgICAgICAgIH0KICAgICB9CiAKLSAgICBpZiAoUHlVbmljb2RlX1JFQURZKGFyZykgPCAwKSB7CisgICAgaWYgKFB5VW5pY29kZV9SRUFEWShpbnB1dCkgPCAwKSB7CiAgICAgICAgIFB5X1hERUNSRUYodWN2dCk7CiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KLSAgICBkYXRhbGVuID0gUHlVbmljb2RlX0dFVF9MRU5HVEgoYXJnKTsKKyAgICBkYXRhbGVuID0gUHlVbmljb2RlX0dFVF9MRU5HVEgoaW5wdXQpOwogCiAgICAgZXJyb3JjYiA9IGludGVybmFsX2Vycm9yX2NhbGxiYWNrKGVycm9ycyk7CiAgICAgaWYgKGVycm9yY2IgPT0gTlVMTCkgewpAQCAtNTk2LDcgKzU5Nyw3IEBACiAgICAgICAgIHNlbGYtPmNvZGVjLT5lbmNpbml0KCZzdGF0ZSwgc2VsZi0+Y29kZWMtPmNvbmZpZykgIT0gMCkKICAgICAgICAgZ290byBlcnJvcmV4aXQ7CiAgICAgciA9IG11bHRpYnl0ZWNvZGVjX2VuY29kZShzZWxmLT5jb2RlYywgJnN0YXRlLAotICAgICAgICAgICAgICAgICAgICBhcmcsIE5VTEwsIGVycm9yY2IsCisgICAgICAgICAgICAgICAgICAgIGlucHV0LCBOVUxMLCBlcnJvcmNiLAogICAgICAgICAgICAgICAgICAgICBNQkVOQ19GTFVTSCB8IE1CRU5DX1JFU0VUKTsKICAgICBpZiAociA9PSBOVUxMKQogICAgICAgICBnb3RvIGVycm9yZXhpdDsKQEAgLTYxMSwzMSArNjEyLDM5IEBACiAgICAgcmV0dXJuIE5VTEw7CiB9CiAKKy8qW2NsaW5pYyBpbnB1dF0KK19tdWx0aWJ5dGVjb2RlYy5NdWx0aWJ5dGVDb2RlYy5kZWNvZGUKKworICBpbnB1dDogUHlfYnVmZmVyCisgIGVycm9yczogc3RyKG51bGxhYmxlPVRydWUpID0gTlVMTAorCitEZWNvZGVzICdpbnB1dCcuCisKKydlcnJvcnMnIG1heSBiZSBnaXZlbiB0byBzZXQgYSBkaWZmZXJlbnQgZXJyb3IgaGFuZGxpbmcgc2NoZW1lLiBEZWZhdWx0IGlzCisnc3RyaWN0JyBtZWFuaW5nIHRoYXQgZW5jb2RpbmcgZXJyb3JzIHJhaXNlIGEgVW5pY29kZURlY29kZUVycm9yLiBPdGhlciBwb3NzaWJsZQordmFsdWVzIGFyZSAnaWdub3JlJyBhbmQgJ3JlcGxhY2UnIGFzIHdlbGwgYXMgYW55IG90aGVyIG5hbWUgcmVnaXN0ZXJlZCB3aXRoCitjb2RlY3MucmVnaXN0ZXJfZXJyb3IgdGhhdCBpcyBhYmxlIHRvIGhhbmRsZSBVbmljb2RlRGVjb2RlRXJyb3JzLiIKK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKwogc3RhdGljIFB5T2JqZWN0ICoKLU11bHRpYnl0ZUNvZGVjX0RlY29kZShNdWx0aWJ5dGVDb2RlY09iamVjdCAqc2VsZiwKLSAgICAgICAgICAgICAgICAgICAgICBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3YXJncykKK19tdWx0aWJ5dGVjb2RlY19NdWx0aWJ5dGVDb2RlY19kZWNvZGVfaW1wbChNdWx0aWJ5dGVDb2RlY09iamVjdCAqc2VsZiwgUHlfYnVmZmVyICppbnB1dCwgY29uc3QgY2hhciAqZXJyb3JzKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTRjOGVlOGIyOTMxYjAxNGUgaW5wdXQ9MzdlMWQ5MjM2ZTNjZThmM10qLwogewogICAgIE11bHRpYnl0ZUNvZGVjX1N0YXRlIHN0YXRlOwogICAgIE11bHRpYnl0ZURlY29kZUJ1ZmZlciBidWY7CiAgICAgUHlPYmplY3QgKmVycm9yY2IsICpyZXM7Ci0gICAgUHlfYnVmZmVyIHBkYXRhOwotICAgIGNvbnN0IGNoYXIgKmRhdGEsICplcnJvcnMgPSBOVUxMOworICAgIGNvbnN0IGNoYXIgKmRhdGE7CiAgICAgUHlfc3NpemVfdCBkYXRhbGVuOwogCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLCAieSp8ejpkZWNvZGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvZGVja3dhcmdsaXN0LCAmcGRhdGEsICZlcnJvcnMpKQotICAgICAgICByZXR1cm4gTlVMTDsKLSAgICBkYXRhID0gcGRhdGEuYnVmOwotICAgIGRhdGFsZW4gPSBwZGF0YS5sZW47CisgICAgZGF0YSA9IGlucHV0LT5idWY7CisgICAgZGF0YWxlbiA9IGlucHV0LT5sZW47CiAKICAgICBlcnJvcmNiID0gaW50ZXJuYWxfZXJyb3JfY2FsbGJhY2soZXJyb3JzKTsKICAgICBpZiAoZXJyb3JjYiA9PSBOVUxMKSB7Ci0gICAgICAgIFB5QnVmZmVyX1JlbGVhc2UoJnBkYXRhKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQogCiAgICAgaWYgKGRhdGFsZW4gPT0gMCkgewotICAgICAgICBQeUJ1ZmZlcl9SZWxlYXNlKCZwZGF0YSk7CiAgICAgICAgIEVSUk9SX0RFQ1JFRihlcnJvcmNiKTsKICAgICAgICAgcmV0dXJuIG1ha2VfdHVwbGUoUHlVbmljb2RlX05ldygwLCAwKSwgMCk7CiAgICAgfQpAQCAtNjY4LDEzICs2NzcsMTEgQEAKICAgICBpZiAocmVzID09IE5VTEwpCiAgICAgICAgIGdvdG8gZXJyb3JleGl0OwogCi0gICAgUHlCdWZmZXJfUmVsZWFzZSgmcGRhdGEpOwogICAgIFB5X1hERUNSRUYoYnVmLmV4Y29iaik7CiAgICAgRVJST1JfREVDUkVGKGVycm9yY2IpOwogICAgIHJldHVybiBtYWtlX3R1cGxlKHJlcywgZGF0YWxlbik7CiAKIGVycm9yZXhpdDoKLSAgICBQeUJ1ZmZlcl9SZWxlYXNlKCZwZGF0YSk7CiAgICAgRVJST1JfREVDUkVGKGVycm9yY2IpOwogICAgIFB5X1hERUNSRUYoYnVmLmV4Y29iaik7CiAgICAgX1B5VW5pY29kZVdyaXRlcl9EZWFsbG9jKCZidWYud3JpdGVyKTsKQEAgLTY4MywxMyArNjkwLDkgQEAKIH0KIAogc3RhdGljIHN0cnVjdCBQeU1ldGhvZERlZiBtdWx0aWJ5dGVjb2RlY19tZXRob2RzW10gPSB7Ci0gICAgeyJlbmNvZGUiLCAgICAgICAgICAoUHlDRnVuY3Rpb24pTXVsdGlieXRlQ29kZWNfRW5jb2RlLAotICAgICAgICAgICAgICAgICAgICBNRVRIX1ZBUkFSR1MgfCBNRVRIX0tFWVdPUkRTLAotICAgICAgICAgICAgICAgICAgICBNdWx0aWJ5dGVDb2RlY19FbmNvZGVfX2RvY19ffSwKLSAgICB7ImRlY29kZSIsICAgICAgICAgIChQeUNGdW5jdGlvbilNdWx0aWJ5dGVDb2RlY19EZWNvZGUsCi0gICAgICAgICAgICAgICAgICAgIE1FVEhfVkFSQVJHUyB8IE1FVEhfS0VZV09SRFMsCi0gICAgICAgICAgICAgICAgICAgIE11bHRpYnl0ZUNvZGVjX0RlY29kZV9fZG9jX199LAotICAgIHtOVUxMLCAgICAgICAgICAgICAgTlVMTH0sCisgICAgX01VTFRJQllURUNPREVDX01VTFRJQllURUNPREVDX0VOQ09ERV9NRVRIT0RERUYKKyAgICBfTVVMVElCWVRFQ09ERUNfTVVMVElCWVRFQ09ERUNfREVDT0RFX01FVEhPRERFRgorICAgIHtOVUxMLCBOVUxMfSwKIH07CiAKIHN0YXRpYyB2b2lkCkBAIC04NzMsMjYgKzg3NiwzMiBAQAogfQogCiAKLS8qKgotICogTXVsdGlieXRlSW5jcmVtZW50YWxFbmNvZGVyIG9iamVjdAotICovCisvKltjbGluaWMgaW5wdXRdCisgY2xhc3MgX211bHRpYnl0ZWNvZGVjLk11bHRpYnl0ZUluY3JlbWVudGFsRW5jb2RlciAiTXVsdGlieXRlSW5jcmVtZW50YWxFbmNvZGVyT2JqZWN0ICoiICImTXVsdGlieXRlSW5jcmVtZW50YWxFbmNvZGVyX1R5cGUiCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9ZGEzOWEzZWU1ZTZiNGIwZCBpbnB1dD0zYmU4MjkwOWNkMDg5MjRkXSovCisKKy8qW2NsaW5pYyBpbnB1dF0KK19tdWx0aWJ5dGVjb2RlYy5NdWx0aWJ5dGVJbmNyZW1lbnRhbEVuY29kZXIuZW5jb2RlCisKKyAgICBpbnB1dDogb2JqZWN0CisgICAgZmluYWw6IGludCA9IDAKK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KIAogc3RhdGljIFB5T2JqZWN0ICoKLW1iaWVuY29kZXJfZW5jb2RlKE11bHRpYnl0ZUluY3JlbWVudGFsRW5jb2Rlck9iamVjdCAqc2VsZiwKLSAgICAgICAgICAgICAgICAgIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQorX211bHRpYnl0ZWNvZGVjX011bHRpYnl0ZUluY3JlbWVudGFsRW5jb2Rlcl9lbmNvZGVfaW1wbChNdWx0aWJ5dGVJbmNyZW1lbnRhbEVuY29kZXJPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICppbnB1dCwgaW50IGZpbmFsKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTNjZDg3ODBjOGE3MTliYmYgaW5wdXQ9NDU2Yjc2ZDczZTQ2NDY2MV0qLwogewotICAgIFB5T2JqZWN0ICpkYXRhOwotICAgIGludCBmaW5hbCA9IDA7Ci0KLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsICJPfGk6ZW5jb2RlIiwKLSAgICAgICAgICAgICAgICAgICAgaW5jcmVtZW50YWxrd2FyZ2xpc3QsICZkYXRhLCAmZmluYWwpKQotICAgICAgICByZXR1cm4gTlVMTDsKLQotICAgIHJldHVybiBlbmNvZGVyX2VuY29kZV9zdGF0ZWZ1bChTVEFURUZVTF9FQ1RYKHNlbGYpLCBkYXRhLCBmaW5hbCk7CisgICAgcmV0dXJuIGVuY29kZXJfZW5jb2RlX3N0YXRlZnVsKFNUQVRFRlVMX0VDVFgoc2VsZiksIGlucHV0LCBmaW5hbCk7CiB9CiAKKy8qW2NsaW5pYyBpbnB1dF0KK19tdWx0aWJ5dGVjb2RlYy5NdWx0aWJ5dGVJbmNyZW1lbnRhbEVuY29kZXIucmVzZXQKK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKwogc3RhdGljIFB5T2JqZWN0ICoKLW1iaWVuY29kZXJfcmVzZXQoTXVsdGlieXRlSW5jcmVtZW50YWxFbmNvZGVyT2JqZWN0ICpzZWxmKQorX211bHRpYnl0ZWNvZGVjX011bHRpYnl0ZUluY3JlbWVudGFsRW5jb2Rlcl9yZXNldF9pbXBsKE11bHRpYnl0ZUluY3JlbWVudGFsRW5jb2Rlck9iamVjdCAqc2VsZikKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1iNDEyNWQ4ZjUzN2EyNTNmIGlucHV0PTkzMGYwNjc2MDcwN2I2ZWFdKi8KIHsKICAgICAvKiBMb25nZXN0IG91dHB1dDogNCBieXRlcyAoYidceDBGXHgxRihCJykgd2l0aCBJU08gMjAyMiAqLwogICAgIHVuc2lnbmVkIGNoYXIgYnVmZmVyWzRdLCAqb3V0YnVmOwpAQCAtOTA5LDExICs5MTgsOSBAQAogfQogCiBzdGF0aWMgc3RydWN0IFB5TWV0aG9kRGVmIG1iaWVuY29kZXJfbWV0aG9kc1tdID0gewotICAgIHsiZW5jb2RlIiwgICAgICAgICAgKFB5Q0Z1bmN0aW9uKW1iaWVuY29kZXJfZW5jb2RlLAotICAgICAgICAgICAgICAgICAgICBNRVRIX1ZBUkFSR1MgfCBNRVRIX0tFWVdPUkRTLCBOVUxMfSwKLSAgICB7InJlc2V0IiwgICAgICAgICAgIChQeUNGdW5jdGlvbiltYmllbmNvZGVyX3Jlc2V0LAotICAgICAgICAgICAgICAgICAgICBNRVRIX05PQVJHUywgTlVMTH0sCi0gICAge05VTEwsICAgICAgICAgICAgICBOVUxMfSwKKyAgICBfTVVMVElCWVRFQ09ERUNfTVVMVElCWVRFSU5DUkVNRU5UQUxFTkNPREVSX0VOQ09ERV9NRVRIT0RERUYKKyAgICBfTVVMVElCWVRFQ09ERUNfTVVMVElCWVRFSU5DUkVNRU5UQUxFTkNPREVSX1JFU0VUX01FVEhPRERFRgorICAgIHtOVUxMLCBOVUxMfSwKIH07CiAKIHN0YXRpYyBQeU9iamVjdCAqCkBAIC0xMDI0LDI2ICsxMDMxLDI5IEBACiB9OwogCiAKLS8qKgotICogTXVsdGlieXRlSW5jcmVtZW50YWxEZWNvZGVyIG9iamVjdAotICovCisvKltjbGluaWMgaW5wdXRdCisgY2xhc3MgX211bHRpYnl0ZWNvZGVjLk11bHRpYnl0ZUluY3JlbWVudGFsRGVjb2RlciAiTXVsdGlieXRlSW5jcmVtZW50YWxEZWNvZGVyT2JqZWN0ICoiICImTXVsdGlieXRlSW5jcmVtZW50YWxEZWNvZGVyX1R5cGUiCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9ZGEzOWEzZWU1ZTZiNGIwZCBpbnB1dD1mNjAwM2ZhYWYyY2VhNjkyXSovCisKKy8qW2NsaW5pYyBpbnB1dF0KK19tdWx0aWJ5dGVjb2RlYy5NdWx0aWJ5dGVJbmNyZW1lbnRhbERlY29kZXIuZGVjb2RlCisKKyAgICBpbnB1dDogUHlfYnVmZmVyCisgICAgZmluYWw6IGludCA9IDAKK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KIAogc3RhdGljIFB5T2JqZWN0ICoKLW1iaWRlY29kZXJfZGVjb2RlKE11bHRpYnl0ZUluY3JlbWVudGFsRGVjb2Rlck9iamVjdCAqc2VsZiwKLSAgICAgICAgICAgICAgICAgIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQorX211bHRpYnl0ZWNvZGVjX011bHRpYnl0ZUluY3JlbWVudGFsRGVjb2Rlcl9kZWNvZGVfaW1wbChNdWx0aWJ5dGVJbmNyZW1lbnRhbERlY29kZXJPYmplY3QgKnNlbGYsIFB5X2J1ZmZlciAqaW5wdXQsIGludCBmaW5hbCkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1hMGYzZjkyYWE3MzAzY2Y3IGlucHV0PWViMThjMmY2ZTgzNTg5ZTFdKi8KIHsKICAgICBNdWx0aWJ5dGVEZWNvZGVCdWZmZXIgYnVmOwogICAgIGNoYXIgKmRhdGEsICp3ZGF0YSA9IE5VTEw7Ci0gICAgUHlfYnVmZmVyIHBkYXRhOwogICAgIFB5X3NzaXplX3Qgd3NpemUsIHNpemUsIG9yaWdwZW5kaW5nOwotICAgIGludCBmaW5hbCA9IDA7CiAgICAgUHlPYmplY3QgKnJlczsKIAotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywgInkqfGk6ZGVjb2RlIiwKLSAgICAgICAgICAgICAgICAgICAgaW5jcmVtZW50YWxrd2FyZ2xpc3QsICZwZGF0YSwgJmZpbmFsKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgZGF0YSA9IHBkYXRhLmJ1ZjsKLSAgICBzaXplID0gcGRhdGEubGVuOworICAgIGRhdGEgPSBpbnB1dC0+YnVmOworICAgIHNpemUgPSBpbnB1dC0+bGVuOwogCiAgICAgX1B5VW5pY29kZVdyaXRlcl9Jbml0KCZidWYud3JpdGVyKTsKICAgICBidWYuZXhjb2JqID0gTlVMTDsKQEAgLTEwOTQsMTQgKzExMDQsMTIgQEAKICAgICBpZiAocmVzID09IE5VTEwpCiAgICAgICAgIGdvdG8gZXJyb3JleGl0OwogCi0gICAgUHlCdWZmZXJfUmVsZWFzZSgmcGRhdGEpOwogICAgIGlmICh3ZGF0YSAhPSBkYXRhKQogICAgICAgICBQeU1lbV9EZWwod2RhdGEpOwogICAgIFB5X1hERUNSRUYoYnVmLmV4Y29iaik7CiAgICAgcmV0dXJuIHJlczsKIAogZXJyb3JleGl0OgotICAgIFB5QnVmZmVyX1JlbGVhc2UoJnBkYXRhKTsKICAgICBpZiAod2RhdGEgIT0gTlVMTCAmJiB3ZGF0YSAhPSBkYXRhKQogICAgICAgICBQeU1lbV9EZWwod2RhdGEpOwogICAgIFB5X1hERUNSRUYoYnVmLmV4Y29iaik7CkBAIC0xMTA5LDggKzExMTcsMTMgQEAKICAgICByZXR1cm4gTlVMTDsKIH0KIAorLypbY2xpbmljIGlucHV0XQorX211bHRpYnl0ZWNvZGVjLk11bHRpYnl0ZUluY3JlbWVudGFsRGVjb2Rlci5yZXNldAorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCiBzdGF0aWMgUHlPYmplY3QgKgotbWJpZGVjb2Rlcl9yZXNldChNdWx0aWJ5dGVJbmNyZW1lbnRhbERlY29kZXJPYmplY3QgKnNlbGYpCitfbXVsdGlieXRlY29kZWNfTXVsdGlieXRlSW5jcmVtZW50YWxEZWNvZGVyX3Jlc2V0X2ltcGwoTXVsdGlieXRlSW5jcmVtZW50YWxEZWNvZGVyT2JqZWN0ICpzZWxmKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWRhNDIzYjE3ODJjMjNlZDEgaW5wdXQ9M2I2M2IzYmU4NWIyZmI0NV0qLwogewogICAgIGlmIChzZWxmLT5jb2RlYy0+ZGVjcmVzZXQgIT0gTlVMTCAmJgogICAgICAgICBzZWxmLT5jb2RlYy0+ZGVjcmVzZXQoJnNlbGYtPnN0YXRlLCBzZWxmLT5jb2RlYy0+Y29uZmlnKSAhPSAwKQpAQCAtMTEyMSwxMSArMTEzNCw5IEBACiB9CiAKIHN0YXRpYyBzdHJ1Y3QgUHlNZXRob2REZWYgbWJpZGVjb2Rlcl9tZXRob2RzW10gPSB7Ci0gICAgeyJkZWNvZGUiLCAgICAgICAgICAoUHlDRnVuY3Rpb24pbWJpZGVjb2Rlcl9kZWNvZGUsCi0gICAgICAgICAgICAgICAgICAgIE1FVEhfVkFSQVJHUyB8IE1FVEhfS0VZV09SRFMsIE5VTEx9LAotICAgIHsicmVzZXQiLCAgICAgICAgICAgKFB5Q0Z1bmN0aW9uKW1iaWRlY29kZXJfcmVzZXQsCi0gICAgICAgICAgICAgICAgICAgIE1FVEhfTk9BUkdTLCBOVUxMfSwKLSAgICB7TlVMTCwgICAgICAgICAgICAgIE5VTEx9LAorICAgIF9NVUxUSUJZVEVDT0RFQ19NVUxUSUJZVEVJTkNSRU1FTlRBTERFQ09ERVJfREVDT0RFX01FVEhPRERFRgorICAgIF9NVUxUSUJZVEVDT0RFQ19NVUxUSUJZVEVJTkNSRU1FTlRBTERFQ09ERVJfUkVTRVRfTUVUSE9EREVGCisgICAge05VTEwsIE5VTEx9LAogfTsKIAogc3RhdGljIFB5T2JqZWN0ICoKQEAgLTEyMzYsOSArMTI0NywxMCBAQAogfTsKIAogCi0vKioKLSAqIE11bHRpYnl0ZVN0cmVhbVJlYWRlciBvYmplY3QKLSAqLworLypbY2xpbmljIGlucHV0XQorIGNsYXNzIF9tdWx0aWJ5dGVjb2RlYy5NdWx0aWJ5dGVTdHJlYW1SZWFkZXIgIk11bHRpYnl0ZVN0cmVhbVJlYWRlck9iamVjdCAqIiAiTXVsdGlieXRlU3RyZWFtUmVhZGVyX1R5cGUiCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9ZGEzOWEzZWU1ZTZiNGIwZCBpbnB1dD1kMzIzNjM0Yjc0OTc2ZjA5XSovCiAKIHN0YXRpYyBQeU9iamVjdCAqCiBtYnN0cmVhbXJlYWRlcl9pcmVhZChNdWx0aWJ5dGVTdHJlYW1SZWFkZXJPYmplY3QgKnNlbGYsCkBAIC0xMjYwLDEwICsxMjcyLDEwIEBACiAKICAgICAgICAgaWYgKHNpemVoaW50IDwgMCkKICAgICAgICAgICAgIGNyZXMgPSBQeU9iamVjdF9DYWxsTWV0aG9kKHNlbGYtPnN0cmVhbSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2hhciAqKW1ldGhvZCwgTlVMTCk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWV0aG9kLCBOVUxMKTsKICAgICAgICAgZWxzZQogICAgICAgICAgICAgY3JlcyA9IFB5T2JqZWN0X0NhbGxNZXRob2Qoc2VsZi0+c3RyZWFtLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjaGFyICopbWV0aG9kLCAiaSIsIHNpemVoaW50KTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXRob2QsICJpIiwgc2l6ZWhpbnQpOwogICAgICAgICBpZiAoY3JlcyA9PSBOVUxMKQogICAgICAgICAgICAgZ290byBlcnJvcmV4aXQ7CiAKQEAgLTEzNDUsMTYgKzEzNTcsMjAgQEAKICAgICByZXR1cm4gTlVMTDsKIH0KIAorLypbY2xpbmljIGlucHV0XQorIF9tdWx0aWJ5dGVjb2RlYy5NdWx0aWJ5dGVTdHJlYW1SZWFkZXIucmVhZAorCisgICAgc2l6ZW9iajogb2JqZWN0ID0gTm9uZQorICAgIC8KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKwogc3RhdGljIFB5T2JqZWN0ICoKLW1ic3RyZWFtcmVhZGVyX3JlYWQoTXVsdGlieXRlU3RyZWFtUmVhZGVyT2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK19tdWx0aWJ5dGVjb2RlY19NdWx0aWJ5dGVTdHJlYW1SZWFkZXJfcmVhZF9pbXBsKE11bHRpYnl0ZVN0cmVhbVJlYWRlck9iamVjdCAqc2VsZiwgUHlPYmplY3QgKnNpemVvYmopCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9ZjI5OGVhNmUxYmQyMDgzYyBpbnB1dD0wMTViMGQzZmYyZmNhNDg1XSovCiB7Ci0gICAgUHlPYmplY3QgKnNpemVvYmogPSBOVUxMOwogICAgIFB5X3NzaXplX3Qgc2l6ZTsKIAotICAgIGlmICghUHlBcmdfVW5wYWNrVHVwbGUoYXJncywgInJlYWQiLCAwLCAxLCAmc2l6ZW9iaikpCi0gICAgICAgIHJldHVybiBOVUxMOwotCi0gICAgaWYgKHNpemVvYmogPT0gUHlfTm9uZSB8fCBzaXplb2JqID09IE5VTEwpCisgICAgaWYgKHNpemVvYmogPT0gUHlfTm9uZSkKICAgICAgICAgc2l6ZSA9IC0xOwogICAgIGVsc2UgaWYgKFB5TG9uZ19DaGVjayhzaXplb2JqKSkKICAgICAgICAgc2l6ZSA9IFB5TG9uZ19Bc1NzaXplX3Qoc2l6ZW9iaik7CkBAIC0xMzY5LDE2ICsxMzg1LDIwIEBACiAgICAgcmV0dXJuIG1ic3RyZWFtcmVhZGVyX2lyZWFkKHNlbGYsICJyZWFkIiwgc2l6ZSk7CiB9CiAKKy8qW2NsaW5pYyBpbnB1dF0KKyBfbXVsdGlieXRlY29kZWMuTXVsdGlieXRlU3RyZWFtUmVhZGVyLnJlYWRsaW5lCisKKyAgICBzaXplb2JqOiBvYmplY3QgPSBOb25lCisgICAgLworW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCiBzdGF0aWMgUHlPYmplY3QgKgotbWJzdHJlYW1yZWFkZXJfcmVhZGxpbmUoTXVsdGlieXRlU3RyZWFtUmVhZGVyT2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK19tdWx0aWJ5dGVjb2RlY19NdWx0aWJ5dGVTdHJlYW1SZWFkZXJfcmVhZGxpbmVfaW1wbChNdWx0aWJ5dGVTdHJlYW1SZWFkZXJPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpzaXplb2JqKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWU1YWMzMDJhNmQwOTk5ZGUgaW5wdXQ9NDFjY2M2NGY5YmIwY2VjM10qLwogewotICAgIFB5T2JqZWN0ICpzaXplb2JqID0gTlVMTDsKICAgICBQeV9zc2l6ZV90IHNpemU7CiAKLSAgICBpZiAoIVB5QXJnX1VucGFja1R1cGxlKGFyZ3MsICJyZWFkbGluZSIsIDAsIDEsICZzaXplb2JqKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0KLSAgICBpZiAoc2l6ZW9iaiA9PSBQeV9Ob25lIHx8IHNpemVvYmogPT0gTlVMTCkKKyAgICBpZiAoc2l6ZW9iaiA9PSBQeV9Ob25lKQogICAgICAgICBzaXplID0gLTE7CiAgICAgZWxzZSBpZiAoUHlMb25nX0NoZWNrKHNpemVvYmopKQogICAgICAgICBzaXplID0gUHlMb25nX0FzU3NpemVfdChzaXplb2JqKTsKQEAgLTEzOTMsMTYgKzE0MTMsMjEgQEAKICAgICByZXR1cm4gbWJzdHJlYW1yZWFkZXJfaXJlYWQoc2VsZiwgInJlYWRsaW5lIiwgc2l6ZSk7CiB9CiAKKy8qW2NsaW5pYyBpbnB1dF0KKyBfbXVsdGlieXRlY29kZWMuTXVsdGlieXRlU3RyZWFtUmVhZGVyLnJlYWRsaW5lcworCisgICAgc2l6ZWhpbnRvYmo6IG9iamVjdCA9IE5vbmUKKyAgICAvCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKIHN0YXRpYyBQeU9iamVjdCAqCi1tYnN0cmVhbXJlYWRlcl9yZWFkbGluZXMoTXVsdGlieXRlU3RyZWFtUmVhZGVyT2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK19tdWx0aWJ5dGVjb2RlY19NdWx0aWJ5dGVTdHJlYW1SZWFkZXJfcmVhZGxpbmVzX2ltcGwoTXVsdGlieXRlU3RyZWFtUmVhZGVyT2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqc2l6ZWhpbnRvYmopCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9NjhmMDI0MTc4Yjc3Y2IwZiBpbnB1dD01NDkzMmY1ZDRkODhlODgwXSovCiB7Ci0gICAgUHlPYmplY3QgKnNpemVoaW50b2JqID0gTlVMTCwgKnIsICpzcjsKKyAgICBQeU9iamVjdCAqciwgKnNyOwogICAgIFB5X3NzaXplX3Qgc2l6ZWhpbnQ7CiAKLSAgICBpZiAoIVB5QXJnX1VucGFja1R1cGxlKGFyZ3MsICJyZWFkbGluZXMiLCAwLCAxLCAmc2l6ZWhpbnRvYmopKQotICAgICAgICByZXR1cm4gTlVMTDsKLQotICAgIGlmIChzaXplaGludG9iaiA9PSBQeV9Ob25lIHx8IHNpemVoaW50b2JqID09IE5VTEwpCisgICAgaWYgKHNpemVoaW50b2JqID09IFB5X05vbmUpCiAgICAgICAgIHNpemVoaW50ID0gLTE7CiAgICAgZWxzZSBpZiAoUHlMb25nX0NoZWNrKHNpemVoaW50b2JqKSkKICAgICAgICAgc2l6ZWhpbnQgPSBQeUxvbmdfQXNTc2l6ZV90KHNpemVoaW50b2JqKTsKQEAgLTE0MjMsOCArMTQ0OCwxMyBAQAogICAgIHJldHVybiBzcjsKIH0KIAorLypbY2xpbmljIGlucHV0XQorIF9tdWx0aWJ5dGVjb2RlYy5NdWx0aWJ5dGVTdHJlYW1SZWFkZXIucmVzZXQKK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKwogc3RhdGljIFB5T2JqZWN0ICoKLW1ic3RyZWFtcmVhZGVyX3Jlc2V0KE11bHRpYnl0ZVN0cmVhbVJlYWRlck9iamVjdCAqc2VsZikKK19tdWx0aWJ5dGVjb2RlY19NdWx0aWJ5dGVTdHJlYW1SZWFkZXJfcmVzZXRfaW1wbChNdWx0aWJ5dGVTdHJlYW1SZWFkZXJPYmplY3QgKnNlbGYpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9MTM4NDkwMzcwYTY4MGFiYyBpbnB1dD01ZDQxNDBkYjg0YjVlMWUyXSovCiB7CiAgICAgaWYgKHNlbGYtPmNvZGVjLT5kZWNyZXNldCAhPSBOVUxMICYmCiAgICAgICAgIHNlbGYtPmNvZGVjLT5kZWNyZXNldCgmc2VsZi0+c3RhdGUsIHNlbGYtPmNvZGVjLT5jb25maWcpICE9IDApCkBAIC0xNDM1LDE0ICsxNDY1LDEwIEBACiB9CiAKIHN0YXRpYyBzdHJ1Y3QgUHlNZXRob2REZWYgbWJzdHJlYW1yZWFkZXJfbWV0aG9kc1tdID0gewotICAgIHsicmVhZCIsICAgICAgICAgICAgKFB5Q0Z1bmN0aW9uKW1ic3RyZWFtcmVhZGVyX3JlYWQsCi0gICAgICAgICAgICAgICAgICAgIE1FVEhfVkFSQVJHUywgTlVMTH0sCi0gICAgeyJyZWFkbGluZSIsICAgICAgICAoUHlDRnVuY3Rpb24pbWJzdHJlYW1yZWFkZXJfcmVhZGxpbmUsCi0gICAgICAgICAgICAgICAgICAgIE1FVEhfVkFSQVJHUywgTlVMTH0sCi0gICAgeyJyZWFkbGluZXMiLCAgICAgICAoUHlDRnVuY3Rpb24pbWJzdHJlYW1yZWFkZXJfcmVhZGxpbmVzLAotICAgICAgICAgICAgICAgICAgICBNRVRIX1ZBUkFSR1MsIE5VTEx9LAotICAgIHsicmVzZXQiLCAgICAgICAgICAgKFB5Q0Z1bmN0aW9uKW1ic3RyZWFtcmVhZGVyX3Jlc2V0LAotICAgICAgICAgICAgICAgICAgICBNRVRIX05PQVJHUywgTlVMTH0sCisgICAgX01VTFRJQllURUNPREVDX01VTFRJQllURVNUUkVBTVJFQURFUl9SRUFEX01FVEhPRERFRgorICAgIF9NVUxUSUJZVEVDT0RFQ19NVUxUSUJZVEVTVFJFQU1SRUFERVJfUkVBRExJTkVfTUVUSE9EREVGCisgICAgX01VTFRJQllURUNPREVDX01VTFRJQllURVNUUkVBTVJFQURFUl9SRUFETElORVNfTUVUSE9EREVGCisgICAgX01VTFRJQllURUNPREVDX01VTFRJQllURVNUUkVBTVJFQURFUl9SRVNFVF9NRVRIT0RERUYKICAgICB7TlVMTCwgICAgICAgICAgICAgIE5VTEx9LAogfTsKIApAQCAtMTU2NSw5ICsxNTkxLDEwIEBACiB9OwogCiAKLS8qKgotICogTXVsdGlieXRlU3RyZWFtV3JpdGVyIG9iamVjdAotICovCisvKltjbGluaWMgaW5wdXRdCisgY2xhc3MgX211bHRpYnl0ZWNvZGVjLk11bHRpYnl0ZVN0cmVhbVdyaXRlciAiTXVsdGlieXRlU3RyZWFtV3JpdGVyT2JqZWN0ICoiICImTXVsdGlieXRlU3RyZWFtV3JpdGVyX1R5cGUiCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9ZGEzOWEzZWU1ZTZiNGIwZCBpbnB1dD1jZGUyMjc4MGEyMTVkNmFjXSovCiAKIHN0YXRpYyBpbnQKIG1ic3RyZWFtd3JpdGVyX2l3cml0ZShNdWx0aWJ5dGVTdHJlYW1Xcml0ZXJPYmplY3QgKnNlbGYsCkBAIC0xNTg4LDggKzE2MTUsMTYgQEAKICAgICByZXR1cm4gMDsKIH0KIAorLypbY2xpbmljIGlucHV0XQorIF9tdWx0aWJ5dGVjb2RlYy5NdWx0aWJ5dGVTdHJlYW1Xcml0ZXIud3JpdGUKKworICAgIHN0cm9iajogb2JqZWN0CisgICAgLworW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCiBzdGF0aWMgUHlPYmplY3QgKgotbWJzdHJlYW13cml0ZXJfd3JpdGUoTXVsdGlieXRlU3RyZWFtV3JpdGVyT2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqc3Ryb2JqKQorX211bHRpYnl0ZWNvZGVjX011bHRpYnl0ZVN0cmVhbVdyaXRlcl93cml0ZShNdWx0aWJ5dGVTdHJlYW1Xcml0ZXJPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpzdHJvYmopCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9NDRlOWViMGRiMDM3NGNiMSBpbnB1dD01NTFkYzRjMDE4YzEwYTJiXSovCiB7CiAgICAgaWYgKG1ic3RyZWFtd3JpdGVyX2l3cml0ZShzZWxmLCBzdHJvYmopKQogICAgICAgICByZXR1cm4gTlVMTDsKQEAgLTE1OTcsOCArMTYzMiwxNiBAQAogICAgICAgICBQeV9SRVRVUk5fTk9ORTsKIH0KIAorLypbY2xpbmljIGlucHV0XQorIF9tdWx0aWJ5dGVjb2RlYy5NdWx0aWJ5dGVTdHJlYW1Xcml0ZXIud3JpdGVsaW5lcworCisgICAgbGluZXM6IG9iamVjdAorICAgIC8KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKwogc3RhdGljIFB5T2JqZWN0ICoKLW1ic3RyZWFtd3JpdGVyX3dyaXRlbGluZXMoTXVsdGlieXRlU3RyZWFtV3JpdGVyT2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqbGluZXMpCitfbXVsdGlieXRlY29kZWNfTXVsdGlieXRlU3RyZWFtV3JpdGVyX3dyaXRlbGluZXMoTXVsdGlieXRlU3RyZWFtV3JpdGVyT2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqbGluZXMpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9NGZhY2JiMDYzOGRkZTE3MiBpbnB1dD01Nzc5N2ZlNzAwOGQ0ZTk2XSovCiB7CiAgICAgUHlPYmplY3QgKnN0cm9iajsKICAgICBpbnQgaSwgcjsKQEAgLTE2MjQsOCArMTY2NywxMyBAQAogICAgIFB5X1JFVFVSTl9OT05FOwogfQogCisvKltjbGluaWMgaW5wdXRdCisgX211bHRpYnl0ZWNvZGVjLk11bHRpYnl0ZVN0cmVhbVdyaXRlci5yZXNldAorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCiBzdGF0aWMgUHlPYmplY3QgKgotbWJzdHJlYW13cml0ZXJfcmVzZXQoTXVsdGlieXRlU3RyZWFtV3JpdGVyT2JqZWN0ICpzZWxmKQorX211bHRpYnl0ZWNvZGVjX011bHRpYnl0ZVN0cmVhbVdyaXRlcl9yZXNldF9pbXBsKE11bHRpYnl0ZVN0cmVhbVdyaXRlck9iamVjdCAqc2VsZikKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD04ZjU0YTRkOWIwM2RiNWZmIGlucHV0PWI1NmRiY2JhZjM1Y2MxMGNdKi8KIHsKICAgICBQeU9iamVjdCAqcHdydDsKIApAQCAtMTcyNCwxMyArMTc3MiwxMCBAQAogfQogCiBzdGF0aWMgc3RydWN0IFB5TWV0aG9kRGVmIG1ic3RyZWFtd3JpdGVyX21ldGhvZHNbXSA9IHsKLSAgICB7IndyaXRlIiwgICAgICAgICAgIChQeUNGdW5jdGlvbiltYnN0cmVhbXdyaXRlcl93cml0ZSwKLSAgICAgICAgICAgICAgICAgICAgTUVUSF9PLCBOVUxMfSwKLSAgICB7IndyaXRlbGluZXMiLCAgICAgIChQeUNGdW5jdGlvbiltYnN0cmVhbXdyaXRlcl93cml0ZWxpbmVzLAotICAgICAgICAgICAgICAgICAgICBNRVRIX08sIE5VTEx9LAotICAgIHsicmVzZXQiLCAgICAgICAgICAgKFB5Q0Z1bmN0aW9uKW1ic3RyZWFtd3JpdGVyX3Jlc2V0LAotICAgICAgICAgICAgICAgICAgICBNRVRIX05PQVJHUywgTlVMTH0sCi0gICAge05VTEwsICAgICAgICAgICAgICBOVUxMfSwKKyAgICBfTVVMVElCWVRFQ09ERUNfTVVMVElCWVRFU1RSRUFNV1JJVEVSX1dSSVRFX01FVEhPRERFRgorICAgIF9NVUxUSUJZVEVDT0RFQ19NVUxUSUJZVEVTVFJFQU1XUklURVJfV1JJVEVMSU5FU19NRVRIT0RERUYKKyAgICBfTVVMVElCWVRFQ09ERUNfTVVMVElCWVRFU1RSRUFNV1JJVEVSX1JFU0VUX01FVEhPRERFRgorICAgIHtOVUxMLCBOVUxMfSwKIH07CiAKIHN0YXRpYyBQeU1lbWJlckRlZiBtYnN0cmVhbXdyaXRlcl9tZW1iZXJzW10gPSB7CkBAIC0xNzg0LDEyICsxODI5LDE2IEBACiB9OwogCiAKLS8qKgotICogRXhwb3NlZCBmYWN0b3J5IGZ1bmN0aW9uCi0gKi8KKy8qW2NsaW5pYyBpbnB1dF0KK19tdWx0aWJ5dGVjb2RlYy5fX2NyZWF0ZV9jb2RlYworCisgICAgYXJnOiBvYmplY3QKKyAgICAvCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1fX2NyZWF0ZV9jb2RlYyhQeU9iamVjdCAqaWdub3JlLCBQeU9iamVjdCAqYXJnKQorX211bHRpYnl0ZWNvZGVjX19fY3JlYXRlX2NvZGVjKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmcpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9ZmJlNzRmNjUxMDY0MDE2MyBpbnB1dD02ODQwYjJhNmIxODNmY2ZhXSovCiB7CiAgICAgTXVsdGlieXRlQ29kZWNPYmplY3QgKnNlbGY7CiAgICAgTXVsdGlieXRlQ29kZWMgKmNvZGVjOwpAQCAtMTgxMiw3ICsxODYxLDcgQEAKIH0KIAogc3RhdGljIHN0cnVjdCBQeU1ldGhvZERlZiBfX21ldGhvZHNbXSA9IHsKLSAgICB7Il9fY3JlYXRlX2NvZGVjIiwgKFB5Q0Z1bmN0aW9uKV9fY3JlYXRlX2NvZGVjLCBNRVRIX099LAorICAgIF9NVUxUSUJZVEVDT0RFQ19fX0NSRUFURV9DT0RFQ19NRVRIT0RERUYKICAgICB7TlVMTCwgTlVMTH0sCiB9OwogCmRpZmYgLS1naXQgYS9Nb2R1bGVzL2NsaW5pYy9fbHptYW1vZHVsZS5jLmggYi9Nb2R1bGVzL2NsaW5pYy9fbHptYW1vZHVsZS5jLmgKaW5kZXggYzFhZDg4Mi4uNjM2NDI3MSAxMDA2NDQKLS0tIGEvTW9kdWxlcy9jbGluaWMvX2x6bWFtb2R1bGUuYy5oCisrKyBiL01vZHVsZXMvY2xpbmljL19sem1hbW9kdWxlLmMuaApAQCAtNjIsMzQgKzYyLDQzIEBACiB9CiAKIFB5RG9jX1NUUlZBUihfbHptYV9MWk1BRGVjb21wcmVzc29yX2RlY29tcHJlc3NfX2RvY19fLAotImRlY29tcHJlc3MoJHNlbGYsIGRhdGEsIC8pXG4iCisiZGVjb21wcmVzcygkc2VsZiwgLywgZGF0YSwgbWF4X2xlbmd0aD0tMSlcbiIKICItLVxuIgogIlxuIgotIlByb3ZpZGUgZGF0YSB0byB0aGUgZGVjb21wcmVzc29yIG9iamVjdC5cbiIKKyJEZWNvbXByZXNzICpkYXRhKiwgcmV0dXJuaW5nIHVuY29tcHJlc3NlZCBkYXRhIGFzIGJ5dGVzLlxuIgogIlxuIgotIlJldHVybnMgYSBjaHVuayBvZiBkZWNvbXByZXNzZWQgZGF0YSBpZiBwb3NzaWJsZSwgb3IgYlwnXCcgb3RoZXJ3aXNlLlxuIgorIklmICptYXhfbGVuZ3RoKiBpcyBub25uZWdhdGl2ZSwgcmV0dXJucyBhdCBtb3N0ICptYXhfbGVuZ3RoKiBieXRlcyBvZlxuIgorImRlY29tcHJlc3NlZCBkYXRhLiBJZiB0aGlzIGxpbWl0IGlzIHJlYWNoZWQgYW5kIGZ1cnRoZXIgb3V0cHV0IGNhbiBiZVxuIgorInByb2R1Y2VkLCAqc2VsZi5uZWVkc19pbnB1dCogd2lsbCBiZSBzZXQgdG8gYGBGYWxzZWBgLiBJbiB0aGlzIGNhc2UsIHRoZSBuZXh0XG4iCisiY2FsbCB0byAqZGVjb21wcmVzcygpKiBtYXkgcHJvdmlkZSAqZGF0YSogYXMgYlwnXCcgdG8gb2J0YWluIG1vcmUgb2YgdGhlIG91dHB1dC5cbiIKICJcbiIKLSJBdHRlbXB0aW5nIHRvIGRlY29tcHJlc3MgZGF0YSBhZnRlciB0aGUgZW5kIG9mIHN0cmVhbSBpcyByZWFjaGVkXG4iCi0icmFpc2VzIGFuIEVPRkVycm9yLiAgQW55IGRhdGEgZm91bmQgYWZ0ZXIgdGhlIGVuZCBvZiB0aGUgc3RyZWFtXG4iCi0iaXMgaWdub3JlZCBhbmQgc2F2ZWQgaW4gdGhlIHVudXNlZF9kYXRhIGF0dHJpYnV0ZS4iKTsKKyJJZiBhbGwgb2YgdGhlIGlucHV0IGRhdGEgd2FzIGRlY29tcHJlc3NlZCBhbmQgcmV0dXJuZWQgKGVpdGhlciBiZWNhdXNlIHRoaXNcbiIKKyJ3YXMgbGVzcyB0aGFuICptYXhfbGVuZ3RoKiBieXRlcywgb3IgYmVjYXVzZSAqbWF4X2xlbmd0aCogd2FzIG5lZ2F0aXZlKSxcbiIKKyIqc2VsZi5uZWVkc19pbnB1dCogd2lsbCBiZSBzZXQgdG8gVHJ1ZS5cbiIKKyJcbiIKKyJBdHRlbXB0aW5nIHRvIGRlY29tcHJlc3MgZGF0YSBhZnRlciB0aGUgZW5kIG9mIHN0cmVhbSBpcyByZWFjaGVkIHJhaXNlcyBhblxuIgorIkVPRkVycm9yLiAgQW55IGRhdGEgZm91bmQgYWZ0ZXIgdGhlIGVuZCBvZiB0aGUgc3RyZWFtIGlzIGlnbm9yZWQgYW5kIHNhdmVkIGluXG4iCisidGhlIHVudXNlZF9kYXRhIGF0dHJpYnV0ZS4iKTsKIAogI2RlZmluZSBfTFpNQV9MWk1BREVDT01QUkVTU09SX0RFQ09NUFJFU1NfTUVUSE9EREVGICAgIFwKLSAgICB7ImRlY29tcHJlc3MiLCAoUHlDRnVuY3Rpb24pX2x6bWFfTFpNQURlY29tcHJlc3Nvcl9kZWNvbXByZXNzLCBNRVRIX1ZBUkFSR1MsIF9sem1hX0xaTUFEZWNvbXByZXNzb3JfZGVjb21wcmVzc19fZG9jX199LAorICAgIHsiZGVjb21wcmVzcyIsIChQeUNGdW5jdGlvbilfbHptYV9MWk1BRGVjb21wcmVzc29yX2RlY29tcHJlc3MsIE1FVEhfVkFSQVJHU3xNRVRIX0tFWVdPUkRTLCBfbHptYV9MWk1BRGVjb21wcmVzc29yX2RlY29tcHJlc3NfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLV9sem1hX0xaTUFEZWNvbXByZXNzb3JfZGVjb21wcmVzc19pbXBsKERlY29tcHJlc3NvciAqc2VsZiwgUHlfYnVmZmVyICpkYXRhKTsKK19sem1hX0xaTUFEZWNvbXByZXNzb3JfZGVjb21wcmVzc19pbXBsKERlY29tcHJlc3NvciAqc2VsZiwgUHlfYnVmZmVyICpkYXRhLCBQeV9zc2l6ZV90IG1heF9sZW5ndGgpOwogCiBzdGF0aWMgUHlPYmplY3QgKgotX2x6bWFfTFpNQURlY29tcHJlc3Nvcl9kZWNvbXByZXNzKERlY29tcHJlc3NvciAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCitfbHptYV9MWk1BRGVjb21wcmVzc29yX2RlY29tcHJlc3MoRGVjb21wcmVzc29yICpzZWxmLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3YXJncykKIHsKICAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBzdGF0aWMgY2hhciAqX2tleXdvcmRzW10gPSB7ImRhdGEiLCAibWF4X2xlbmd0aCIsIE5VTEx9OwogICAgIFB5X2J1ZmZlciBkYXRhID0ge05VTEwsIE5VTEx9OworICAgIFB5X3NzaXplX3QgbWF4X2xlbmd0aCA9IC0xOwogCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCi0gICAgICAgICJ5KjpkZWNvbXByZXNzIiwKLSAgICAgICAgJmRhdGEpKQorICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywKKyAgICAgICAgInkqfG46ZGVjb21wcmVzcyIsIF9rZXl3b3JkcywKKyAgICAgICAgJmRhdGEsICZtYXhfbGVuZ3RoKSkKICAgICAgICAgZ290byBleGl0OwotICAgIHJldHVybl92YWx1ZSA9IF9sem1hX0xaTUFEZWNvbXByZXNzb3JfZGVjb21wcmVzc19pbXBsKHNlbGYsICZkYXRhKTsKKyAgICByZXR1cm5fdmFsdWUgPSBfbHptYV9MWk1BRGVjb21wcmVzc29yX2RlY29tcHJlc3NfaW1wbChzZWxmLCAmZGF0YSwgbWF4X2xlbmd0aCk7CiAKIGV4aXQ6CiAgICAgLyogQ2xlYW51cCBmb3IgZGF0YSAqLwpAQCAtMjQyLDQgKzI1MSw0IEBACiAKICAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOwogfQotLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTgwOGZlYzgyMTZhYzcxMmIgaW5wdXQ9YTkwNDkwNTQwMTNhMWI3N10qLworLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWRjNDJiNzM4OTA2MDkzNjkgaW5wdXQ9YTkwNDkwNTQwMTNhMWI3N10qLwpkaWZmIC0tZ2l0IGEvTW9kdWxlcy9jbGluaWMvYXJyYXltb2R1bGUuYy5oIGIvTW9kdWxlcy9jbGluaWMvYXJyYXltb2R1bGUuYy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU3ZDc2OTAKLS0tIC9kZXYvbnVsbAorKysgYi9Nb2R1bGVzL2NsaW5pYy9hcnJheW1vZHVsZS5jLmgKQEAgLTAsMCArMSw1MDUgQEAKKy8qW2NsaW5pYyBpbnB1dF0KK3ByZXNlcnZlCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihhcnJheV9hcnJheV9fX2NvcHlfX19fZG9jX18sCisiX19jb3B5X18oJHNlbGYsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJSZXR1cm4gYSBjb3B5IG9mIHRoZSBhcnJheS4iKTsKKworI2RlZmluZSBBUlJBWV9BUlJBWV9fX0NPUFlfX19NRVRIT0RERUYgICAgXAorICAgIHsiX19jb3B5X18iLCAoUHlDRnVuY3Rpb24pYXJyYXlfYXJyYXlfX19jb3B5X18sIE1FVEhfTk9BUkdTLCBhcnJheV9hcnJheV9fX2NvcHlfX19fZG9jX199LAorCitzdGF0aWMgUHlPYmplY3QgKgorYXJyYXlfYXJyYXlfX19jb3B5X19faW1wbChhcnJheW9iamVjdCAqc2VsZik7CisKK3N0YXRpYyBQeU9iamVjdCAqCithcnJheV9hcnJheV9fX2NvcHlfXyhhcnJheW9iamVjdCAqc2VsZiwgUHlPYmplY3QgKlB5X1VOVVNFRChpZ25vcmVkKSkKK3sKKyAgICByZXR1cm4gYXJyYXlfYXJyYXlfX19jb3B5X19faW1wbChzZWxmKTsKK30KKworUHlEb2NfU1RSVkFSKGFycmF5X2FycmF5X19fZGVlcGNvcHlfX19fZG9jX18sCisiX19kZWVwY29weV9fKCRzZWxmLCB1bnVzZWQsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJSZXR1cm4gYSBjb3B5IG9mIHRoZSBhcnJheS4iKTsKKworI2RlZmluZSBBUlJBWV9BUlJBWV9fX0RFRVBDT1BZX19fTUVUSE9EREVGICAgIFwKKyAgICB7Il9fZGVlcGNvcHlfXyIsIChQeUNGdW5jdGlvbilhcnJheV9hcnJheV9fX2RlZXBjb3B5X18sIE1FVEhfTywgYXJyYXlfYXJyYXlfX19kZWVwY29weV9fX19kb2NfX30sCisKK1B5RG9jX1NUUlZBUihhcnJheV9hcnJheV9jb3VudF9fZG9jX18sCisiY291bnQoJHNlbGYsIHYsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJSZXR1cm4gbnVtYmVyIG9mIG9jY3VycmVuY2VzIG9mIHYgaW4gdGhlIGFycmF5LiIpOworCisjZGVmaW5lIEFSUkFZX0FSUkFZX0NPVU5UX01FVEhPRERFRiAgICBcCisgICAgeyJjb3VudCIsIChQeUNGdW5jdGlvbilhcnJheV9hcnJheV9jb3VudCwgTUVUSF9PLCBhcnJheV9hcnJheV9jb3VudF9fZG9jX199LAorCitQeURvY19TVFJWQVIoYXJyYXlfYXJyYXlfaW5kZXhfX2RvY19fLAorImluZGV4KCRzZWxmLCB2LCAvKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJuIGluZGV4IG9mIGZpcnN0IG9jY3VycmVuY2Ugb2YgdiBpbiB0aGUgYXJyYXkuIik7CisKKyNkZWZpbmUgQVJSQVlfQVJSQVlfSU5ERVhfTUVUSE9EREVGICAgIFwKKyAgICB7ImluZGV4IiwgKFB5Q0Z1bmN0aW9uKWFycmF5X2FycmF5X2luZGV4LCBNRVRIX08sIGFycmF5X2FycmF5X2luZGV4X19kb2NfX30sCisKK1B5RG9jX1NUUlZBUihhcnJheV9hcnJheV9yZW1vdmVfX2RvY19fLAorInJlbW92ZSgkc2VsZiwgdiwgLylcbiIKKyItLVxuIgorIlxuIgorIlJlbW92ZSB0aGUgZmlyc3Qgb2NjdXJyZW5jZSBvZiB2IGluIHRoZSBhcnJheS4iKTsKKworI2RlZmluZSBBUlJBWV9BUlJBWV9SRU1PVkVfTUVUSE9EREVGICAgIFwKKyAgICB7InJlbW92ZSIsIChQeUNGdW5jdGlvbilhcnJheV9hcnJheV9yZW1vdmUsIE1FVEhfTywgYXJyYXlfYXJyYXlfcmVtb3ZlX19kb2NfX30sCisKK1B5RG9jX1NUUlZBUihhcnJheV9hcnJheV9wb3BfX2RvY19fLAorInBvcCgkc2VsZiwgaT0tMSwgLylcbiIKKyItLVxuIgorIlxuIgorIlJldHVybiB0aGUgaS10aCBlbGVtZW50IGFuZCBkZWxldGUgaXQgZnJvbSB0aGUgYXJyYXkuXG4iCisiXG4iCisiaSBkZWZhdWx0cyB0byAtMS4iKTsKKworI2RlZmluZSBBUlJBWV9BUlJBWV9QT1BfTUVUSE9EREVGICAgIFwKKyAgICB7InBvcCIsIChQeUNGdW5jdGlvbilhcnJheV9hcnJheV9wb3AsIE1FVEhfVkFSQVJHUywgYXJyYXlfYXJyYXlfcG9wX19kb2NfX30sCisKK3N0YXRpYyBQeU9iamVjdCAqCithcnJheV9hcnJheV9wb3BfaW1wbChhcnJheW9iamVjdCAqc2VsZiwgUHlfc3NpemVfdCBpKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK2FycmF5X2FycmF5X3BvcChhcnJheW9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgUHlfc3NpemVfdCBpID0gLTE7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgInxuOnBvcCIsCisgICAgICAgICZpKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IGFycmF5X2FycmF5X3BvcF9pbXBsKHNlbGYsIGkpOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK1B5RG9jX1NUUlZBUihhcnJheV9hcnJheV9leHRlbmRfX2RvY19fLAorImV4dGVuZCgkc2VsZiwgYmIsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJBcHBlbmQgaXRlbXMgdG8gdGhlIGVuZCBvZiB0aGUgYXJyYXkuIik7CisKKyNkZWZpbmUgQVJSQVlfQVJSQVlfRVhURU5EX01FVEhPRERFRiAgICBcCisgICAgeyJleHRlbmQiLCAoUHlDRnVuY3Rpb24pYXJyYXlfYXJyYXlfZXh0ZW5kLCBNRVRIX08sIGFycmF5X2FycmF5X2V4dGVuZF9fZG9jX199LAorCitQeURvY19TVFJWQVIoYXJyYXlfYXJyYXlfaW5zZXJ0X19kb2NfXywKKyJpbnNlcnQoJHNlbGYsIGksIHYsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJJbnNlcnQgYSBuZXcgaXRlbSB2IGludG8gdGhlIGFycmF5IGJlZm9yZSBwb3NpdGlvbiBpLiIpOworCisjZGVmaW5lIEFSUkFZX0FSUkFZX0lOU0VSVF9NRVRIT0RERUYgICAgXAorICAgIHsiaW5zZXJ0IiwgKFB5Q0Z1bmN0aW9uKWFycmF5X2FycmF5X2luc2VydCwgTUVUSF9WQVJBUkdTLCBhcnJheV9hcnJheV9pbnNlcnRfX2RvY19ffSwKKworc3RhdGljIFB5T2JqZWN0ICoKK2FycmF5X2FycmF5X2luc2VydF9pbXBsKGFycmF5b2JqZWN0ICpzZWxmLCBQeV9zc2l6ZV90IGksIFB5T2JqZWN0ICp2KTsKKworc3RhdGljIFB5T2JqZWN0ICoKK2FycmF5X2FycmF5X2luc2VydChhcnJheW9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgUHlfc3NpemVfdCBpOworICAgIFB5T2JqZWN0ICp2OworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCisgICAgICAgICJuTzppbnNlcnQiLAorICAgICAgICAmaSwgJnYpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gYXJyYXlfYXJyYXlfaW5zZXJ0X2ltcGwoc2VsZiwgaSwgdik7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworUHlEb2NfU1RSVkFSKGFycmF5X2FycmF5X2J1ZmZlcl9pbmZvX19kb2NfXywKKyJidWZmZXJfaW5mbygkc2VsZiwgLylcbiIKKyItLVxuIgorIlxuIgorIlJldHVybiBhIHR1cGxlIChhZGRyZXNzLCBsZW5ndGgpIGdpdmluZyB0aGUgY3VycmVudCBtZW1vcnkgYWRkcmVzcyBhbmQgdGhlIGxlbmd0aCBpbiBpdGVtcyBvZiB0aGUgYnVmZmVyIHVzZWQgdG8gaG9sZCBhcnJheVwncyBjb250ZW50cy5cbiIKKyJcbiIKKyJUaGUgbGVuZ3RoIHNob3VsZCBiZSBtdWx0aXBsaWVkIGJ5IHRoZSBpdGVtc2l6ZSBhdHRyaWJ1dGUgdG8gY2FsY3VsYXRlXG4iCisidGhlIGJ1ZmZlciBsZW5ndGggaW4gYnl0ZXMuIik7CisKKyNkZWZpbmUgQVJSQVlfQVJSQVlfQlVGRkVSX0lORk9fTUVUSE9EREVGICAgIFwKKyAgICB7ImJ1ZmZlcl9pbmZvIiwgKFB5Q0Z1bmN0aW9uKWFycmF5X2FycmF5X2J1ZmZlcl9pbmZvLCBNRVRIX05PQVJHUywgYXJyYXlfYXJyYXlfYnVmZmVyX2luZm9fX2RvY19ffSwKKworc3RhdGljIFB5T2JqZWN0ICoKK2FycmF5X2FycmF5X2J1ZmZlcl9pbmZvX2ltcGwoYXJyYXlvYmplY3QgKnNlbGYpOworCitzdGF0aWMgUHlPYmplY3QgKgorYXJyYXlfYXJyYXlfYnVmZmVyX2luZm8oYXJyYXlvYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpQeV9VTlVTRUQoaWdub3JlZCkpCit7CisgICAgcmV0dXJuIGFycmF5X2FycmF5X2J1ZmZlcl9pbmZvX2ltcGwoc2VsZik7Cit9CisKK1B5RG9jX1NUUlZBUihhcnJheV9hcnJheV9hcHBlbmRfX2RvY19fLAorImFwcGVuZCgkc2VsZiwgdiwgLylcbiIKKyItLVxuIgorIlxuIgorIkFwcGVuZCBuZXcgdmFsdWUgdiB0byB0aGUgZW5kIG9mIHRoZSBhcnJheS4iKTsKKworI2RlZmluZSBBUlJBWV9BUlJBWV9BUFBFTkRfTUVUSE9EREVGICAgIFwKKyAgICB7ImFwcGVuZCIsIChQeUNGdW5jdGlvbilhcnJheV9hcnJheV9hcHBlbmQsIE1FVEhfTywgYXJyYXlfYXJyYXlfYXBwZW5kX19kb2NfX30sCisKK1B5RG9jX1NUUlZBUihhcnJheV9hcnJheV9ieXRlc3dhcF9fZG9jX18sCisiYnl0ZXN3YXAoJHNlbGYsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJCeXRlc3dhcCBhbGwgaXRlbXMgb2YgdGhlIGFycmF5LlxuIgorIlxuIgorIklmIHRoZSBpdGVtcyBpbiB0aGUgYXJyYXkgYXJlIG5vdCAxLCAyLCA0LCBvciA4IGJ5dGVzIGluIHNpemUsIFJ1bnRpbWVFcnJvciBpc1xuIgorInJhaXNlZC4iKTsKKworI2RlZmluZSBBUlJBWV9BUlJBWV9CWVRFU1dBUF9NRVRIT0RERUYgICAgXAorICAgIHsiYnl0ZXN3YXAiLCAoUHlDRnVuY3Rpb24pYXJyYXlfYXJyYXlfYnl0ZXN3YXAsIE1FVEhfTk9BUkdTLCBhcnJheV9hcnJheV9ieXRlc3dhcF9fZG9jX199LAorCitzdGF0aWMgUHlPYmplY3QgKgorYXJyYXlfYXJyYXlfYnl0ZXN3YXBfaW1wbChhcnJheW9iamVjdCAqc2VsZik7CisKK3N0YXRpYyBQeU9iamVjdCAqCithcnJheV9hcnJheV9ieXRlc3dhcChhcnJheW9iamVjdCAqc2VsZiwgUHlPYmplY3QgKlB5X1VOVVNFRChpZ25vcmVkKSkKK3sKKyAgICByZXR1cm4gYXJyYXlfYXJyYXlfYnl0ZXN3YXBfaW1wbChzZWxmKTsKK30KKworUHlEb2NfU1RSVkFSKGFycmF5X2FycmF5X3JldmVyc2VfX2RvY19fLAorInJldmVyc2UoJHNlbGYsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJSZXZlcnNlIHRoZSBvcmRlciBvZiB0aGUgaXRlbXMgaW4gdGhlIGFycmF5LiIpOworCisjZGVmaW5lIEFSUkFZX0FSUkFZX1JFVkVSU0VfTUVUSE9EREVGICAgIFwKKyAgICB7InJldmVyc2UiLCAoUHlDRnVuY3Rpb24pYXJyYXlfYXJyYXlfcmV2ZXJzZSwgTUVUSF9OT0FSR1MsIGFycmF5X2FycmF5X3JldmVyc2VfX2RvY19ffSwKKworc3RhdGljIFB5T2JqZWN0ICoKK2FycmF5X2FycmF5X3JldmVyc2VfaW1wbChhcnJheW9iamVjdCAqc2VsZik7CisKK3N0YXRpYyBQeU9iamVjdCAqCithcnJheV9hcnJheV9yZXZlcnNlKGFycmF5b2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqUHlfVU5VU0VEKGlnbm9yZWQpKQoreworICAgIHJldHVybiBhcnJheV9hcnJheV9yZXZlcnNlX2ltcGwoc2VsZik7Cit9CisKK1B5RG9jX1NUUlZBUihhcnJheV9hcnJheV9mcm9tZmlsZV9fZG9jX18sCisiZnJvbWZpbGUoJHNlbGYsIGYsIG4sIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJSZWFkIG4gb2JqZWN0cyBmcm9tIHRoZSBmaWxlIG9iamVjdCBmIGFuZCBhcHBlbmQgdGhlbSB0byB0aGUgZW5kIG9mIHRoZSBhcnJheS4iKTsKKworI2RlZmluZSBBUlJBWV9BUlJBWV9GUk9NRklMRV9NRVRIT0RERUYgICAgXAorICAgIHsiZnJvbWZpbGUiLCAoUHlDRnVuY3Rpb24pYXJyYXlfYXJyYXlfZnJvbWZpbGUsIE1FVEhfVkFSQVJHUywgYXJyYXlfYXJyYXlfZnJvbWZpbGVfX2RvY19ffSwKKworc3RhdGljIFB5T2JqZWN0ICoKK2FycmF5X2FycmF5X2Zyb21maWxlX2ltcGwoYXJyYXlvYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpmLCBQeV9zc2l6ZV90IG4pOworCitzdGF0aWMgUHlPYmplY3QgKgorYXJyYXlfYXJyYXlfZnJvbWZpbGUoYXJyYXlvYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQoreworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIFB5T2JqZWN0ICpmOworICAgIFB5X3NzaXplX3QgbjsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAiT246ZnJvbWZpbGUiLAorICAgICAgICAmZiwgJm4pKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gYXJyYXlfYXJyYXlfZnJvbWZpbGVfaW1wbChzZWxmLCBmLCBuKTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitQeURvY19TVFJWQVIoYXJyYXlfYXJyYXlfdG9maWxlX19kb2NfXywKKyJ0b2ZpbGUoJHNlbGYsIGYsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJXcml0ZSBhbGwgaXRlbXMgKGFzIG1hY2hpbmUgdmFsdWVzKSB0byB0aGUgZmlsZSBvYmplY3QgZi4iKTsKKworI2RlZmluZSBBUlJBWV9BUlJBWV9UT0ZJTEVfTUVUSE9EREVGICAgIFwKKyAgICB7InRvZmlsZSIsIChQeUNGdW5jdGlvbilhcnJheV9hcnJheV90b2ZpbGUsIE1FVEhfTywgYXJyYXlfYXJyYXlfdG9maWxlX19kb2NfX30sCisKK1B5RG9jX1NUUlZBUihhcnJheV9hcnJheV9mcm9tbGlzdF9fZG9jX18sCisiZnJvbWxpc3QoJHNlbGYsIGxpc3QsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJBcHBlbmQgaXRlbXMgdG8gYXJyYXkgZnJvbSBsaXN0LiIpOworCisjZGVmaW5lIEFSUkFZX0FSUkFZX0ZST01MSVNUX01FVEhPRERFRiAgICBcCisgICAgeyJmcm9tbGlzdCIsIChQeUNGdW5jdGlvbilhcnJheV9hcnJheV9mcm9tbGlzdCwgTUVUSF9PLCBhcnJheV9hcnJheV9mcm9tbGlzdF9fZG9jX199LAorCitQeURvY19TVFJWQVIoYXJyYXlfYXJyYXlfdG9saXN0X19kb2NfXywKKyJ0b2xpc3QoJHNlbGYsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJDb252ZXJ0IGFycmF5IHRvIGFuIG9yZGluYXJ5IGxpc3Qgd2l0aCB0aGUgc2FtZSBpdGVtcy4iKTsKKworI2RlZmluZSBBUlJBWV9BUlJBWV9UT0xJU1RfTUVUSE9EREVGICAgIFwKKyAgICB7InRvbGlzdCIsIChQeUNGdW5jdGlvbilhcnJheV9hcnJheV90b2xpc3QsIE1FVEhfTk9BUkdTLCBhcnJheV9hcnJheV90b2xpc3RfX2RvY19ffSwKKworc3RhdGljIFB5T2JqZWN0ICoKK2FycmF5X2FycmF5X3RvbGlzdF9pbXBsKGFycmF5b2JqZWN0ICpzZWxmKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK2FycmF5X2FycmF5X3RvbGlzdChhcnJheW9iamVjdCAqc2VsZiwgUHlPYmplY3QgKlB5X1VOVVNFRChpZ25vcmVkKSkKK3sKKyAgICByZXR1cm4gYXJyYXlfYXJyYXlfdG9saXN0X2ltcGwoc2VsZik7Cit9CisKK1B5RG9jX1NUUlZBUihhcnJheV9hcnJheV9mcm9tc3RyaW5nX19kb2NfXywKKyJmcm9tc3RyaW5nKCRzZWxmLCBidWZmZXIsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJBcHBlbmRzIGl0ZW1zIGZyb20gdGhlIHN0cmluZywgaW50ZXJwcmV0aW5nIGl0IGFzIGFuIGFycmF5IG9mIG1hY2hpbmUgdmFsdWVzLCBhcyBpZiBpdCBoYWQgYmVlbiByZWFkIGZyb20gYSBmaWxlIHVzaW5nIHRoZSBmcm9tZmlsZSgpIG1ldGhvZCkuXG4iCisiXG4iCisiVGhpcyBtZXRob2QgaXMgZGVwcmVjYXRlZC4gVXNlIGZyb21ieXRlcyBpbnN0ZWFkLiIpOworCisjZGVmaW5lIEFSUkFZX0FSUkFZX0ZST01TVFJJTkdfTUVUSE9EREVGICAgIFwKKyAgICB7ImZyb21zdHJpbmciLCAoUHlDRnVuY3Rpb24pYXJyYXlfYXJyYXlfZnJvbXN0cmluZywgTUVUSF9WQVJBUkdTLCBhcnJheV9hcnJheV9mcm9tc3RyaW5nX19kb2NfX30sCisKK3N0YXRpYyBQeU9iamVjdCAqCithcnJheV9hcnJheV9mcm9tc3RyaW5nX2ltcGwoYXJyYXlvYmplY3QgKnNlbGYsIFB5X2J1ZmZlciAqYnVmZmVyKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK2FycmF5X2FycmF5X2Zyb21zdHJpbmcoYXJyYXlvYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQoreworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIFB5X2J1ZmZlciBidWZmZXIgPSB7TlVMTCwgTlVMTH07CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgInMqOmZyb21zdHJpbmciLAorICAgICAgICAmYnVmZmVyKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IGFycmF5X2FycmF5X2Zyb21zdHJpbmdfaW1wbChzZWxmLCAmYnVmZmVyKTsKKworZXhpdDoKKyAgICAvKiBDbGVhbnVwIGZvciBidWZmZXIgKi8KKyAgICBpZiAoYnVmZmVyLm9iaikKKyAgICAgICBQeUJ1ZmZlcl9SZWxlYXNlKCZidWZmZXIpOworCisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworUHlEb2NfU1RSVkFSKGFycmF5X2FycmF5X2Zyb21ieXRlc19fZG9jX18sCisiZnJvbWJ5dGVzKCRzZWxmLCBidWZmZXIsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJBcHBlbmRzIGl0ZW1zIGZyb20gdGhlIHN0cmluZywgaW50ZXJwcmV0aW5nIGl0IGFzIGFuIGFycmF5IG9mIG1hY2hpbmUgdmFsdWVzLCBhcyBpZiBpdCBoYWQgYmVlbiByZWFkIGZyb20gYSBmaWxlIHVzaW5nIHRoZSBmcm9tZmlsZSgpIG1ldGhvZCkuIik7CisKKyNkZWZpbmUgQVJSQVlfQVJSQVlfRlJPTUJZVEVTX01FVEhPRERFRiAgICBcCisgICAgeyJmcm9tYnl0ZXMiLCAoUHlDRnVuY3Rpb24pYXJyYXlfYXJyYXlfZnJvbWJ5dGVzLCBNRVRIX1ZBUkFSR1MsIGFycmF5X2FycmF5X2Zyb21ieXRlc19fZG9jX199LAorCitzdGF0aWMgUHlPYmplY3QgKgorYXJyYXlfYXJyYXlfZnJvbWJ5dGVzX2ltcGwoYXJyYXlvYmplY3QgKnNlbGYsIFB5X2J1ZmZlciAqYnVmZmVyKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK2FycmF5X2FycmF5X2Zyb21ieXRlcyhhcnJheW9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgUHlfYnVmZmVyIGJ1ZmZlciA9IHtOVUxMLCBOVUxMfTsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAieSo6ZnJvbWJ5dGVzIiwKKyAgICAgICAgJmJ1ZmZlcikpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBhcnJheV9hcnJheV9mcm9tYnl0ZXNfaW1wbChzZWxmLCAmYnVmZmVyKTsKKworZXhpdDoKKyAgICAvKiBDbGVhbnVwIGZvciBidWZmZXIgKi8KKyAgICBpZiAoYnVmZmVyLm9iaikKKyAgICAgICBQeUJ1ZmZlcl9SZWxlYXNlKCZidWZmZXIpOworCisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworUHlEb2NfU1RSVkFSKGFycmF5X2FycmF5X3RvYnl0ZXNfX2RvY19fLAorInRvYnl0ZXMoJHNlbGYsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJDb252ZXJ0IHRoZSBhcnJheSB0byBhbiBhcnJheSBvZiBtYWNoaW5lIHZhbHVlcyBhbmQgcmV0dXJuIHRoZSBieXRlcyByZXByZXNlbnRhdGlvbi4iKTsKKworI2RlZmluZSBBUlJBWV9BUlJBWV9UT0JZVEVTX01FVEhPRERFRiAgICBcCisgICAgeyJ0b2J5dGVzIiwgKFB5Q0Z1bmN0aW9uKWFycmF5X2FycmF5X3RvYnl0ZXMsIE1FVEhfTk9BUkdTLCBhcnJheV9hcnJheV90b2J5dGVzX19kb2NfX30sCisKK3N0YXRpYyBQeU9iamVjdCAqCithcnJheV9hcnJheV90b2J5dGVzX2ltcGwoYXJyYXlvYmplY3QgKnNlbGYpOworCitzdGF0aWMgUHlPYmplY3QgKgorYXJyYXlfYXJyYXlfdG9ieXRlcyhhcnJheW9iamVjdCAqc2VsZiwgUHlPYmplY3QgKlB5X1VOVVNFRChpZ25vcmVkKSkKK3sKKyAgICByZXR1cm4gYXJyYXlfYXJyYXlfdG9ieXRlc19pbXBsKHNlbGYpOworfQorCitQeURvY19TVFJWQVIoYXJyYXlfYXJyYXlfdG9zdHJpbmdfX2RvY19fLAorInRvc3RyaW5nKCRzZWxmLCAvKVxuIgorIi0tXG4iCisiXG4iCisiQ29udmVydCB0aGUgYXJyYXkgdG8gYW4gYXJyYXkgb2YgbWFjaGluZSB2YWx1ZXMgYW5kIHJldHVybiB0aGUgYnl0ZXMgcmVwcmVzZW50YXRpb24uXG4iCisiXG4iCisiVGhpcyBtZXRob2QgaXMgZGVwcmVjYXRlZC4gVXNlIHRvYnl0ZXMgaW5zdGVhZC4iKTsKKworI2RlZmluZSBBUlJBWV9BUlJBWV9UT1NUUklOR19NRVRIT0RERUYgICAgXAorICAgIHsidG9zdHJpbmciLCAoUHlDRnVuY3Rpb24pYXJyYXlfYXJyYXlfdG9zdHJpbmcsIE1FVEhfTk9BUkdTLCBhcnJheV9hcnJheV90b3N0cmluZ19fZG9jX199LAorCitzdGF0aWMgUHlPYmplY3QgKgorYXJyYXlfYXJyYXlfdG9zdHJpbmdfaW1wbChhcnJheW9iamVjdCAqc2VsZik7CisKK3N0YXRpYyBQeU9iamVjdCAqCithcnJheV9hcnJheV90b3N0cmluZyhhcnJheW9iamVjdCAqc2VsZiwgUHlPYmplY3QgKlB5X1VOVVNFRChpZ25vcmVkKSkKK3sKKyAgICByZXR1cm4gYXJyYXlfYXJyYXlfdG9zdHJpbmdfaW1wbChzZWxmKTsKK30KKworUHlEb2NfU1RSVkFSKGFycmF5X2FycmF5X2Zyb211bmljb2RlX19kb2NfXywKKyJmcm9tdW5pY29kZSgkc2VsZiwgdXN0ciwgLylcbiIKKyItLVxuIgorIlxuIgorIkV4dGVuZHMgdGhpcyBhcnJheSB3aXRoIGRhdGEgZnJvbSB0aGUgdW5pY29kZSBzdHJpbmcgdXN0ci5cbiIKKyJcbiIKKyJUaGUgYXJyYXkgbXVzdCBiZSBhIHVuaWNvZGUgdHlwZSBhcnJheTsgb3RoZXJ3aXNlIGEgVmFsdWVFcnJvciBpcyByYWlzZWQuXG4iCisiVXNlIGFycmF5LmZyb21ieXRlcyh1c3RyLmVuY29kZSguLi4pKSB0byBhcHBlbmQgVW5pY29kZSBkYXRhIHRvIGFuIGFycmF5IG9mXG4iCisic29tZSBvdGhlciB0eXBlLiIpOworCisjZGVmaW5lIEFSUkFZX0FSUkFZX0ZST01VTklDT0RFX01FVEhPRERFRiAgICBcCisgICAgeyJmcm9tdW5pY29kZSIsIChQeUNGdW5jdGlvbilhcnJheV9hcnJheV9mcm9tdW5pY29kZSwgTUVUSF9WQVJBUkdTLCBhcnJheV9hcnJheV9mcm9tdW5pY29kZV9fZG9jX199LAorCitzdGF0aWMgUHlPYmplY3QgKgorYXJyYXlfYXJyYXlfZnJvbXVuaWNvZGVfaW1wbChhcnJheW9iamVjdCAqc2VsZiwgUHlfVU5JQ09ERSAqdXN0ciwgUHlfc3NpemVfY2xlYW5fdCB1c3RyX2xlbmd0aCk7CisKK3N0YXRpYyBQeU9iamVjdCAqCithcnJheV9hcnJheV9mcm9tdW5pY29kZShhcnJheW9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgUHlfVU5JQ09ERSAqdXN0cjsKKyAgICBQeV9zc2l6ZV9jbGVhbl90IHVzdHJfbGVuZ3RoOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCisgICAgICAgICJ1Izpmcm9tdW5pY29kZSIsCisgICAgICAgICZ1c3RyLCAmdXN0cl9sZW5ndGgpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gYXJyYXlfYXJyYXlfZnJvbXVuaWNvZGVfaW1wbChzZWxmLCB1c3RyLCB1c3RyX2xlbmd0aCk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworUHlEb2NfU1RSVkFSKGFycmF5X2FycmF5X3RvdW5pY29kZV9fZG9jX18sCisidG91bmljb2RlKCRzZWxmLCAvKVxuIgorIi0tXG4iCisiXG4iCisiRXh0ZW5kcyB0aGlzIGFycmF5IHdpdGggZGF0YSBmcm9tIHRoZSB1bmljb2RlIHN0cmluZyB1c3RyLlxuIgorIlxuIgorIkNvbnZlcnQgdGhlIGFycmF5IHRvIGEgdW5pY29kZSBzdHJpbmcuICBUaGUgYXJyYXkgbXVzdCBiZSBhIHVuaWNvZGUgdHlwZSBhcnJheTtcbiIKKyJvdGhlcndpc2UgYSBWYWx1ZUVycm9yIGlzIHJhaXNlZC4gIFVzZSBhcnJheS50b2J5dGVzKCkuZGVjb2RlKCkgdG8gb2J0YWluIGFcbiIKKyJ1bmljb2RlIHN0cmluZyBmcm9tIGFuIGFycmF5IG9mIHNvbWUgb3RoZXIgdHlwZS4iKTsKKworI2RlZmluZSBBUlJBWV9BUlJBWV9UT1VOSUNPREVfTUVUSE9EREVGICAgIFwKKyAgICB7InRvdW5pY29kZSIsIChQeUNGdW5jdGlvbilhcnJheV9hcnJheV90b3VuaWNvZGUsIE1FVEhfTk9BUkdTLCBhcnJheV9hcnJheV90b3VuaWNvZGVfX2RvY19ffSwKKworc3RhdGljIFB5T2JqZWN0ICoKK2FycmF5X2FycmF5X3RvdW5pY29kZV9pbXBsKGFycmF5b2JqZWN0ICpzZWxmKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK2FycmF5X2FycmF5X3RvdW5pY29kZShhcnJheW9iamVjdCAqc2VsZiwgUHlPYmplY3QgKlB5X1VOVVNFRChpZ25vcmVkKSkKK3sKKyAgICByZXR1cm4gYXJyYXlfYXJyYXlfdG91bmljb2RlX2ltcGwoc2VsZik7Cit9CisKK1B5RG9jX1NUUlZBUihhcnJheV9hcnJheV9fX3NpemVvZl9fX19kb2NfXywKKyJfX3NpemVvZl9fKCRzZWxmLCAvKVxuIgorIi0tXG4iCisiXG4iCisiU2l6ZSBvZiB0aGUgYXJyYXkgaW4gbWVtb3J5LCBpbiBieXRlcy4iKTsKKworI2RlZmluZSBBUlJBWV9BUlJBWV9fX1NJWkVPRl9fX01FVEhPRERFRiAgICBcCisgICAgeyJfX3NpemVvZl9fIiwgKFB5Q0Z1bmN0aW9uKWFycmF5X2FycmF5X19fc2l6ZW9mX18sIE1FVEhfTk9BUkdTLCBhcnJheV9hcnJheV9fX3NpemVvZl9fX19kb2NfX30sCisKK3N0YXRpYyBQeU9iamVjdCAqCithcnJheV9hcnJheV9fX3NpemVvZl9fX2ltcGwoYXJyYXlvYmplY3QgKnNlbGYpOworCitzdGF0aWMgUHlPYmplY3QgKgorYXJyYXlfYXJyYXlfX19zaXplb2ZfXyhhcnJheW9iamVjdCAqc2VsZiwgUHlPYmplY3QgKlB5X1VOVVNFRChpZ25vcmVkKSkKK3sKKyAgICByZXR1cm4gYXJyYXlfYXJyYXlfX19zaXplb2ZfX19pbXBsKHNlbGYpOworfQorCitQeURvY19TVFJWQVIoYXJyYXlfX2FycmF5X3JlY29uc3RydWN0b3JfX2RvY19fLAorIl9hcnJheV9yZWNvbnN0cnVjdG9yKCRtb2R1bGUsIGFycmF5dHlwZSwgdHlwZWNvZGUsIG1mb3JtYXRfY29kZSwgaXRlbXMsXG4iCisiICAgICAgICAgICAgICAgICAgICAgLylcbiIKKyItLVxuIgorIlxuIgorIkludGVybmFsLiBVc2VkIGZvciBwaWNrbGluZyBzdXBwb3J0LiIpOworCisjZGVmaW5lIEFSUkFZX19BUlJBWV9SRUNPTlNUUlVDVE9SX01FVEhPRERFRiAgICBcCisgICAgeyJfYXJyYXlfcmVjb25zdHJ1Y3RvciIsIChQeUNGdW5jdGlvbilhcnJheV9fYXJyYXlfcmVjb25zdHJ1Y3RvciwgTUVUSF9WQVJBUkdTLCBhcnJheV9fYXJyYXlfcmVjb25zdHJ1Y3Rvcl9fZG9jX199LAorCitzdGF0aWMgUHlPYmplY3QgKgorYXJyYXlfX2FycmF5X3JlY29uc3RydWN0b3JfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeVR5cGVPYmplY3QgKmFycmF5dHlwZSwgaW50IHR5cGVjb2RlLCBlbnVtIG1hY2hpbmVfZm9ybWF0X2NvZGUgbWZvcm1hdF9jb2RlLCBQeU9iamVjdCAqaXRlbXMpOworCitzdGF0aWMgUHlPYmplY3QgKgorYXJyYXlfX2FycmF5X3JlY29uc3RydWN0b3IoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgUHlUeXBlT2JqZWN0ICphcnJheXR5cGU7CisgICAgaW50IHR5cGVjb2RlOworICAgIGVudW0gbWFjaGluZV9mb3JtYXRfY29kZSBtZm9ybWF0X2NvZGU7CisgICAgUHlPYmplY3QgKml0ZW1zOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCisgICAgICAgICJPQ2lPOl9hcnJheV9yZWNvbnN0cnVjdG9yIiwKKyAgICAgICAgJmFycmF5dHlwZSwgJnR5cGVjb2RlLCAmbWZvcm1hdF9jb2RlLCAmaXRlbXMpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gYXJyYXlfX2FycmF5X3JlY29uc3RydWN0b3JfaW1wbChtb2R1bGUsIGFycmF5dHlwZSwgdHlwZWNvZGUsIG1mb3JtYXRfY29kZSwgaXRlbXMpOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK1B5RG9jX1NUUlZBUihhcnJheV9hcnJheV9fX3JlZHVjZV9leF9fX19kb2NfXywKKyJfX3JlZHVjZV9leF9fKCRzZWxmLCB2YWx1ZSwgLylcbiIKKyItLVxuIgorIlxuIgorIlJldHVybiBzdGF0ZSBpbmZvcm1hdGlvbiBmb3IgcGlja2xpbmcuIik7CisKKyNkZWZpbmUgQVJSQVlfQVJSQVlfX19SRURVQ0VfRVhfX19NRVRIT0RERUYgICAgXAorICAgIHsiX19yZWR1Y2VfZXhfXyIsIChQeUNGdW5jdGlvbilhcnJheV9hcnJheV9fX3JlZHVjZV9leF9fLCBNRVRIX08sIGFycmF5X2FycmF5X19fcmVkdWNlX2V4X19fX2RvY19ffSwKKworUHlEb2NfU1RSVkFSKGFycmF5X2FycmF5aXRlcmF0b3JfX19yZWR1Y2VfX19fZG9jX18sCisiX19yZWR1Y2VfXygkc2VsZiwgLylcbiIKKyItLVxuIgorIlxuIgorIlJldHVybiBzdGF0ZSBpbmZvcm1hdGlvbiBmb3IgcGlja2xpbmcuIik7CisKKyNkZWZpbmUgQVJSQVlfQVJSQVlJVEVSQVRPUl9fX1JFRFVDRV9fX01FVEhPRERFRiAgICBcCisgICAgeyJfX3JlZHVjZV9fIiwgKFB5Q0Z1bmN0aW9uKWFycmF5X2FycmF5aXRlcmF0b3JfX19yZWR1Y2VfXywgTUVUSF9OT0FSR1MsIGFycmF5X2FycmF5aXRlcmF0b3JfX19yZWR1Y2VfX19fZG9jX199LAorCitzdGF0aWMgUHlPYmplY3QgKgorYXJyYXlfYXJyYXlpdGVyYXRvcl9fX3JlZHVjZV9fX2ltcGwoYXJyYXlpdGVyb2JqZWN0ICpzZWxmKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK2FycmF5X2FycmF5aXRlcmF0b3JfX19yZWR1Y2VfXyhhcnJheWl0ZXJvYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpQeV9VTlVTRUQoaWdub3JlZCkpCit7CisgICAgcmV0dXJuIGFycmF5X2FycmF5aXRlcmF0b3JfX19yZWR1Y2VfX19pbXBsKHNlbGYpOworfQorCitQeURvY19TVFJWQVIoYXJyYXlfYXJyYXlpdGVyYXRvcl9fX3NldHN0YXRlX19fX2RvY19fLAorIl9fc2V0c3RhdGVfXygkc2VsZiwgc3RhdGUsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJTZXQgc3RhdGUgaW5mb3JtYXRpb24gZm9yIHVucGlja2xpbmcuIik7CisKKyNkZWZpbmUgQVJSQVlfQVJSQVlJVEVSQVRPUl9fX1NFVFNUQVRFX19fTUVUSE9EREVGICAgIFwKKyAgICB7Il9fc2V0c3RhdGVfXyIsIChQeUNGdW5jdGlvbilhcnJheV9hcnJheWl0ZXJhdG9yX19fc2V0c3RhdGVfXywgTUVUSF9PLCBhcnJheV9hcnJheWl0ZXJhdG9yX19fc2V0c3RhdGVfX19fZG9jX199LAorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWUxZGViNjFjNmEzYmM4YzggaW5wdXQ9YTkwNDkwNTQwMTNhMWI3N10qLwpkaWZmIC0tZ2l0IGEvTW9kdWxlcy9jbGluaWMvYmluYXNjaWkuYy5oIGIvTW9kdWxlcy9jbGluaWMvYmluYXNjaWkuYy5oCmluZGV4IGY2NDcwMzIuLmIyYjZlNmIgMTAwNjQ0Ci0tLSBhL01vZHVsZXMvY2xpbmljL2JpbmFzY2lpLmMuaAorKysgYi9Nb2R1bGVzL2NsaW5pYy9iaW5hc2NpaS5jLmgKQEAgLTMyMCw3ICszMjAsNyBAQAogICAgICAgICAmZGF0YSwgJmNyYykpCiAgICAgICAgIGdvdG8gZXhpdDsKICAgICBfcmV0dXJuX3ZhbHVlID0gYmluYXNjaWlfY3JjMzJfaW1wbChtb2R1bGUsICZkYXRhLCBjcmMpOwotICAgIGlmICgoX3JldHVybl92YWx1ZSA9PSAtMSkgJiYgUHlFcnJfT2NjdXJyZWQoKSkKKyAgICBpZiAoKF9yZXR1cm5fdmFsdWUgPT0gKHVuc2lnbmVkIGludCktMSkgJiYgUHlFcnJfT2NjdXJyZWQoKSkKICAgICAgICAgZ290byBleGl0OwogICAgIHJldHVybl92YWx1ZSA9IFB5TG9uZ19Gcm9tVW5zaWduZWRMb25nKCh1bnNpZ25lZCBsb25nKV9yZXR1cm5fdmFsdWUpOwogCkBAIC01NDMsNCArNTQzLDQgQEAKIAogICAgIHJldHVybiByZXR1cm5fdmFsdWU7CiB9Ci0vKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9ZTQ2ZDI5ZjhjOWFkYWU3ZSBpbnB1dD1hOTA0OTA1NDAxM2ExYjc3XSovCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9NzcxMTI2ZjhmNTNlODRlNyBpbnB1dD1hOTA0OTA1NDAxM2ExYjc3XSovCmRpZmYgLS1naXQgYS9Nb2R1bGVzL2NsaW5pYy9jbWF0aG1vZHVsZS5jLmggYi9Nb2R1bGVzL2NsaW5pYy9jbWF0aG1vZHVsZS5jLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDBjNDhkMwotLS0gL2Rldi9udWxsCisrKyBiL01vZHVsZXMvY2xpbmljL2NtYXRobW9kdWxlLmMuaApAQCAtMCwwICsxLDg1MSBAQAorLypbY2xpbmljIGlucHV0XQorcHJlc2VydmUKK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKGNtYXRoX2Fjb3NfX2RvY19fLAorImFjb3MoJG1vZHVsZSwgeiwgLylcbiIKKyItLVxuIgorIlxuIgorIlJldHVybiB0aGUgYXJjIGNvc2luZSBvZiB6LiIpOworCisjZGVmaW5lIENNQVRIX0FDT1NfTUVUSE9EREVGICAgIFwKKyAgICB7ImFjb3MiLCAoUHlDRnVuY3Rpb24pY21hdGhfYWNvcywgTUVUSF9WQVJBUkdTLCBjbWF0aF9hY29zX19kb2NfX30sCisKK3N0YXRpYyBQeV9jb21wbGV4CitjbWF0aF9hY29zX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlfY29tcGxleCB6KTsKKworc3RhdGljIFB5T2JqZWN0ICoKK2NtYXRoX2Fjb3MoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgUHlfY29tcGxleCB6OworICAgIFB5X2NvbXBsZXggX3JldHVybl92YWx1ZTsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAiRDphY29zIiwKKyAgICAgICAgJnopKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgLyogbW9kaWZpY2F0aW9ucyBmb3IgeiAqLworICAgIGVycm5vID0gMDsgUHlGUEVfU1RBUlRfUFJPVEVDVCgiY29tcGxleCBmdW5jdGlvbiIsIGdvdG8gZXhpdCk7CisgICAgX3JldHVybl92YWx1ZSA9IGNtYXRoX2Fjb3NfaW1wbChtb2R1bGUsIHopOworICAgIFB5RlBFX0VORF9QUk9URUNUKF9yZXR1cm5fdmFsdWUpOworICAgIGlmIChlcnJubyA9PSBFRE9NKSB7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLCAibWF0aCBkb21haW4gZXJyb3IiKTsKKyAgICAgICAgZ290byBleGl0OworICAgIH0KKyAgICBlbHNlIGlmIChlcnJubyA9PSBFUkFOR0UpIHsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX092ZXJmbG93RXJyb3IsICJtYXRoIHJhbmdlIGVycm9yIik7CisgICAgICAgIGdvdG8gZXhpdDsKKyAgICB9CisgICAgZWxzZSB7CisgICAgICAgIHJldHVybl92YWx1ZSA9IFB5Q29tcGxleF9Gcm9tQ0NvbXBsZXgoX3JldHVybl92YWx1ZSk7CisgICAgfQorCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK1B5RG9jX1NUUlZBUihjbWF0aF9hY29zaF9fZG9jX18sCisiYWNvc2goJG1vZHVsZSwgeiwgLylcbiIKKyItLVxuIgorIlxuIgorIlJldHVybiB0aGUgaW52ZXJzZSBoeXBlcmJvbGljIGNvc2luZSBvZiB6LiIpOworCisjZGVmaW5lIENNQVRIX0FDT1NIX01FVEhPRERFRiAgICBcCisgICAgeyJhY29zaCIsIChQeUNGdW5jdGlvbiljbWF0aF9hY29zaCwgTUVUSF9WQVJBUkdTLCBjbWF0aF9hY29zaF9fZG9jX199LAorCitzdGF0aWMgUHlfY29tcGxleAorY21hdGhfYWNvc2hfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeV9jb21wbGV4IHopOworCitzdGF0aWMgUHlPYmplY3QgKgorY21hdGhfYWNvc2goUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgUHlfY29tcGxleCB6OworICAgIFB5X2NvbXBsZXggX3JldHVybl92YWx1ZTsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAiRDphY29zaCIsCisgICAgICAgICZ6KSkKKyAgICAgICAgZ290byBleGl0OworICAgIC8qIG1vZGlmaWNhdGlvbnMgZm9yIHogKi8KKyAgICBlcnJubyA9IDA7IFB5RlBFX1NUQVJUX1BST1RFQ1QoImNvbXBsZXggZnVuY3Rpb24iLCBnb3RvIGV4aXQpOworICAgIF9yZXR1cm5fdmFsdWUgPSBjbWF0aF9hY29zaF9pbXBsKG1vZHVsZSwgeik7CisgICAgUHlGUEVfRU5EX1BST1RFQ1QoX3JldHVybl92YWx1ZSk7CisgICAgaWYgKGVycm5vID09IEVET00pIHsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsICJtYXRoIGRvbWFpbiBlcnJvciIpOworICAgICAgICBnb3RvIGV4aXQ7CisgICAgfQorICAgIGVsc2UgaWYgKGVycm5vID09IEVSQU5HRSkgeworICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfT3ZlcmZsb3dFcnJvciwgIm1hdGggcmFuZ2UgZXJyb3IiKTsKKyAgICAgICAgZ290byBleGl0OworICAgIH0KKyAgICBlbHNlIHsKKyAgICAgICAgcmV0dXJuX3ZhbHVlID0gUHlDb21wbGV4X0Zyb21DQ29tcGxleChfcmV0dXJuX3ZhbHVlKTsKKyAgICB9CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworUHlEb2NfU1RSVkFSKGNtYXRoX2FzaW5fX2RvY19fLAorImFzaW4oJG1vZHVsZSwgeiwgLylcbiIKKyItLVxuIgorIlxuIgorIlJldHVybiB0aGUgYXJjIHNpbmUgb2Ygei4iKTsKKworI2RlZmluZSBDTUFUSF9BU0lOX01FVEhPRERFRiAgICBcCisgICAgeyJhc2luIiwgKFB5Q0Z1bmN0aW9uKWNtYXRoX2FzaW4sIE1FVEhfVkFSQVJHUywgY21hdGhfYXNpbl9fZG9jX199LAorCitzdGF0aWMgUHlfY29tcGxleAorY21hdGhfYXNpbl9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5X2NvbXBsZXggeik7CisKK3N0YXRpYyBQeU9iamVjdCAqCitjbWF0aF9hc2luKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzKQoreworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIFB5X2NvbXBsZXggejsKKyAgICBQeV9jb21wbGV4IF9yZXR1cm5fdmFsdWU7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgIkQ6YXNpbiIsCisgICAgICAgICZ6KSkKKyAgICAgICAgZ290byBleGl0OworICAgIC8qIG1vZGlmaWNhdGlvbnMgZm9yIHogKi8KKyAgICBlcnJubyA9IDA7IFB5RlBFX1NUQVJUX1BST1RFQ1QoImNvbXBsZXggZnVuY3Rpb24iLCBnb3RvIGV4aXQpOworICAgIF9yZXR1cm5fdmFsdWUgPSBjbWF0aF9hc2luX2ltcGwobW9kdWxlLCB6KTsKKyAgICBQeUZQRV9FTkRfUFJPVEVDVChfcmV0dXJuX3ZhbHVlKTsKKyAgICBpZiAoZXJybm8gPT0gRURPTSkgeworICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVmFsdWVFcnJvciwgIm1hdGggZG9tYWluIGVycm9yIik7CisgICAgICAgIGdvdG8gZXhpdDsKKyAgICB9CisgICAgZWxzZSBpZiAoZXJybm8gPT0gRVJBTkdFKSB7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19PdmVyZmxvd0Vycm9yLCAibWF0aCByYW5nZSBlcnJvciIpOworICAgICAgICBnb3RvIGV4aXQ7CisgICAgfQorICAgIGVsc2UgeworICAgICAgICByZXR1cm5fdmFsdWUgPSBQeUNvbXBsZXhfRnJvbUNDb21wbGV4KF9yZXR1cm5fdmFsdWUpOworICAgIH0KKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitQeURvY19TVFJWQVIoY21hdGhfYXNpbmhfX2RvY19fLAorImFzaW5oKCRtb2R1bGUsIHosIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJSZXR1cm4gdGhlIGludmVyc2UgaHlwZXJib2xpYyBzaW5lIG9mIHouIik7CisKKyNkZWZpbmUgQ01BVEhfQVNJTkhfTUVUSE9EREVGICAgIFwKKyAgICB7ImFzaW5oIiwgKFB5Q0Z1bmN0aW9uKWNtYXRoX2FzaW5oLCBNRVRIX1ZBUkFSR1MsIGNtYXRoX2FzaW5oX19kb2NfX30sCisKK3N0YXRpYyBQeV9jb21wbGV4CitjbWF0aF9hc2luaF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5X2NvbXBsZXggeik7CisKK3N0YXRpYyBQeU9iamVjdCAqCitjbWF0aF9hc2luaChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncykKK3sKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBQeV9jb21wbGV4IHo7CisgICAgUHlfY29tcGxleCBfcmV0dXJuX3ZhbHVlOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCisgICAgICAgICJEOmFzaW5oIiwKKyAgICAgICAgJnopKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgLyogbW9kaWZpY2F0aW9ucyBmb3IgeiAqLworICAgIGVycm5vID0gMDsgUHlGUEVfU1RBUlRfUFJPVEVDVCgiY29tcGxleCBmdW5jdGlvbiIsIGdvdG8gZXhpdCk7CisgICAgX3JldHVybl92YWx1ZSA9IGNtYXRoX2FzaW5oX2ltcGwobW9kdWxlLCB6KTsKKyAgICBQeUZQRV9FTkRfUFJPVEVDVChfcmV0dXJuX3ZhbHVlKTsKKyAgICBpZiAoZXJybm8gPT0gRURPTSkgeworICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVmFsdWVFcnJvciwgIm1hdGggZG9tYWluIGVycm9yIik7CisgICAgICAgIGdvdG8gZXhpdDsKKyAgICB9CisgICAgZWxzZSBpZiAoZXJybm8gPT0gRVJBTkdFKSB7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19PdmVyZmxvd0Vycm9yLCAibWF0aCByYW5nZSBlcnJvciIpOworICAgICAgICBnb3RvIGV4aXQ7CisgICAgfQorICAgIGVsc2UgeworICAgICAgICByZXR1cm5fdmFsdWUgPSBQeUNvbXBsZXhfRnJvbUNDb21wbGV4KF9yZXR1cm5fdmFsdWUpOworICAgIH0KKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitQeURvY19TVFJWQVIoY21hdGhfYXRhbl9fZG9jX18sCisiYXRhbigkbW9kdWxlLCB6LCAvKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJuIHRoZSBhcmMgdGFuZ2VudCBvZiB6LiIpOworCisjZGVmaW5lIENNQVRIX0FUQU5fTUVUSE9EREVGICAgIFwKKyAgICB7ImF0YW4iLCAoUHlDRnVuY3Rpb24pY21hdGhfYXRhbiwgTUVUSF9WQVJBUkdTLCBjbWF0aF9hdGFuX19kb2NfX30sCisKK3N0YXRpYyBQeV9jb21wbGV4CitjbWF0aF9hdGFuX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlfY29tcGxleCB6KTsKKworc3RhdGljIFB5T2JqZWN0ICoKK2NtYXRoX2F0YW4oUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgUHlfY29tcGxleCB6OworICAgIFB5X2NvbXBsZXggX3JldHVybl92YWx1ZTsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAiRDphdGFuIiwKKyAgICAgICAgJnopKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgLyogbW9kaWZpY2F0aW9ucyBmb3IgeiAqLworICAgIGVycm5vID0gMDsgUHlGUEVfU1RBUlRfUFJPVEVDVCgiY29tcGxleCBmdW5jdGlvbiIsIGdvdG8gZXhpdCk7CisgICAgX3JldHVybl92YWx1ZSA9IGNtYXRoX2F0YW5faW1wbChtb2R1bGUsIHopOworICAgIFB5RlBFX0VORF9QUk9URUNUKF9yZXR1cm5fdmFsdWUpOworICAgIGlmIChlcnJubyA9PSBFRE9NKSB7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLCAibWF0aCBkb21haW4gZXJyb3IiKTsKKyAgICAgICAgZ290byBleGl0OworICAgIH0KKyAgICBlbHNlIGlmIChlcnJubyA9PSBFUkFOR0UpIHsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX092ZXJmbG93RXJyb3IsICJtYXRoIHJhbmdlIGVycm9yIik7CisgICAgICAgIGdvdG8gZXhpdDsKKyAgICB9CisgICAgZWxzZSB7CisgICAgICAgIHJldHVybl92YWx1ZSA9IFB5Q29tcGxleF9Gcm9tQ0NvbXBsZXgoX3JldHVybl92YWx1ZSk7CisgICAgfQorCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK1B5RG9jX1NUUlZBUihjbWF0aF9hdGFuaF9fZG9jX18sCisiYXRhbmgoJG1vZHVsZSwgeiwgLylcbiIKKyItLVxuIgorIlxuIgorIlJldHVybiB0aGUgaW52ZXJzZSBoeXBlcmJvbGljIHRhbmdlbnQgb2Ygei4iKTsKKworI2RlZmluZSBDTUFUSF9BVEFOSF9NRVRIT0RERUYgICAgXAorICAgIHsiYXRhbmgiLCAoUHlDRnVuY3Rpb24pY21hdGhfYXRhbmgsIE1FVEhfVkFSQVJHUywgY21hdGhfYXRhbmhfX2RvY19ffSwKKworc3RhdGljIFB5X2NvbXBsZXgKK2NtYXRoX2F0YW5oX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlfY29tcGxleCB6KTsKKworc3RhdGljIFB5T2JqZWN0ICoKK2NtYXRoX2F0YW5oKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzKQoreworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIFB5X2NvbXBsZXggejsKKyAgICBQeV9jb21wbGV4IF9yZXR1cm5fdmFsdWU7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgIkQ6YXRhbmgiLAorICAgICAgICAmeikpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICAvKiBtb2RpZmljYXRpb25zIGZvciB6ICovCisgICAgZXJybm8gPSAwOyBQeUZQRV9TVEFSVF9QUk9URUNUKCJjb21wbGV4IGZ1bmN0aW9uIiwgZ290byBleGl0KTsKKyAgICBfcmV0dXJuX3ZhbHVlID0gY21hdGhfYXRhbmhfaW1wbChtb2R1bGUsIHopOworICAgIFB5RlBFX0VORF9QUk9URUNUKF9yZXR1cm5fdmFsdWUpOworICAgIGlmIChlcnJubyA9PSBFRE9NKSB7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLCAibWF0aCBkb21haW4gZXJyb3IiKTsKKyAgICAgICAgZ290byBleGl0OworICAgIH0KKyAgICBlbHNlIGlmIChlcnJubyA9PSBFUkFOR0UpIHsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX092ZXJmbG93RXJyb3IsICJtYXRoIHJhbmdlIGVycm9yIik7CisgICAgICAgIGdvdG8gZXhpdDsKKyAgICB9CisgICAgZWxzZSB7CisgICAgICAgIHJldHVybl92YWx1ZSA9IFB5Q29tcGxleF9Gcm9tQ0NvbXBsZXgoX3JldHVybl92YWx1ZSk7CisgICAgfQorCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK1B5RG9jX1NUUlZBUihjbWF0aF9jb3NfX2RvY19fLAorImNvcygkbW9kdWxlLCB6LCAvKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJuIHRoZSBjb3NpbmUgb2Ygei4iKTsKKworI2RlZmluZSBDTUFUSF9DT1NfTUVUSE9EREVGICAgIFwKKyAgICB7ImNvcyIsIChQeUNGdW5jdGlvbiljbWF0aF9jb3MsIE1FVEhfVkFSQVJHUywgY21hdGhfY29zX19kb2NfX30sCisKK3N0YXRpYyBQeV9jb21wbGV4CitjbWF0aF9jb3NfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeV9jb21wbGV4IHopOworCitzdGF0aWMgUHlPYmplY3QgKgorY21hdGhfY29zKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzKQoreworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIFB5X2NvbXBsZXggejsKKyAgICBQeV9jb21wbGV4IF9yZXR1cm5fdmFsdWU7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgIkQ6Y29zIiwKKyAgICAgICAgJnopKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgLyogbW9kaWZpY2F0aW9ucyBmb3IgeiAqLworICAgIGVycm5vID0gMDsgUHlGUEVfU1RBUlRfUFJPVEVDVCgiY29tcGxleCBmdW5jdGlvbiIsIGdvdG8gZXhpdCk7CisgICAgX3JldHVybl92YWx1ZSA9IGNtYXRoX2Nvc19pbXBsKG1vZHVsZSwgeik7CisgICAgUHlGUEVfRU5EX1BST1RFQ1QoX3JldHVybl92YWx1ZSk7CisgICAgaWYgKGVycm5vID09IEVET00pIHsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsICJtYXRoIGRvbWFpbiBlcnJvciIpOworICAgICAgICBnb3RvIGV4aXQ7CisgICAgfQorICAgIGVsc2UgaWYgKGVycm5vID09IEVSQU5HRSkgeworICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfT3ZlcmZsb3dFcnJvciwgIm1hdGggcmFuZ2UgZXJyb3IiKTsKKyAgICAgICAgZ290byBleGl0OworICAgIH0KKyAgICBlbHNlIHsKKyAgICAgICAgcmV0dXJuX3ZhbHVlID0gUHlDb21wbGV4X0Zyb21DQ29tcGxleChfcmV0dXJuX3ZhbHVlKTsKKyAgICB9CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworUHlEb2NfU1RSVkFSKGNtYXRoX2Nvc2hfX2RvY19fLAorImNvc2goJG1vZHVsZSwgeiwgLylcbiIKKyItLVxuIgorIlxuIgorIlJldHVybiB0aGUgaHlwZXJib2xpYyBjb3NpbmUgb2Ygei4iKTsKKworI2RlZmluZSBDTUFUSF9DT1NIX01FVEhPRERFRiAgICBcCisgICAgeyJjb3NoIiwgKFB5Q0Z1bmN0aW9uKWNtYXRoX2Nvc2gsIE1FVEhfVkFSQVJHUywgY21hdGhfY29zaF9fZG9jX199LAorCitzdGF0aWMgUHlfY29tcGxleAorY21hdGhfY29zaF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5X2NvbXBsZXggeik7CisKK3N0YXRpYyBQeU9iamVjdCAqCitjbWF0aF9jb3NoKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzKQoreworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIFB5X2NvbXBsZXggejsKKyAgICBQeV9jb21wbGV4IF9yZXR1cm5fdmFsdWU7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgIkQ6Y29zaCIsCisgICAgICAgICZ6KSkKKyAgICAgICAgZ290byBleGl0OworICAgIC8qIG1vZGlmaWNhdGlvbnMgZm9yIHogKi8KKyAgICBlcnJubyA9IDA7IFB5RlBFX1NUQVJUX1BST1RFQ1QoImNvbXBsZXggZnVuY3Rpb24iLCBnb3RvIGV4aXQpOworICAgIF9yZXR1cm5fdmFsdWUgPSBjbWF0aF9jb3NoX2ltcGwobW9kdWxlLCB6KTsKKyAgICBQeUZQRV9FTkRfUFJPVEVDVChfcmV0dXJuX3ZhbHVlKTsKKyAgICBpZiAoZXJybm8gPT0gRURPTSkgeworICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVmFsdWVFcnJvciwgIm1hdGggZG9tYWluIGVycm9yIik7CisgICAgICAgIGdvdG8gZXhpdDsKKyAgICB9CisgICAgZWxzZSBpZiAoZXJybm8gPT0gRVJBTkdFKSB7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19PdmVyZmxvd0Vycm9yLCAibWF0aCByYW5nZSBlcnJvciIpOworICAgICAgICBnb3RvIGV4aXQ7CisgICAgfQorICAgIGVsc2UgeworICAgICAgICByZXR1cm5fdmFsdWUgPSBQeUNvbXBsZXhfRnJvbUNDb21wbGV4KF9yZXR1cm5fdmFsdWUpOworICAgIH0KKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitQeURvY19TVFJWQVIoY21hdGhfZXhwX19kb2NfXywKKyJleHAoJG1vZHVsZSwgeiwgLylcbiIKKyItLVxuIgorIlxuIgorIlJldHVybiB0aGUgZXhwb25lbnRpYWwgdmFsdWUgZSoqei4iKTsKKworI2RlZmluZSBDTUFUSF9FWFBfTUVUSE9EREVGICAgIFwKKyAgICB7ImV4cCIsIChQeUNGdW5jdGlvbiljbWF0aF9leHAsIE1FVEhfVkFSQVJHUywgY21hdGhfZXhwX19kb2NfX30sCisKK3N0YXRpYyBQeV9jb21wbGV4CitjbWF0aF9leHBfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeV9jb21wbGV4IHopOworCitzdGF0aWMgUHlPYmplY3QgKgorY21hdGhfZXhwKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzKQoreworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIFB5X2NvbXBsZXggejsKKyAgICBQeV9jb21wbGV4IF9yZXR1cm5fdmFsdWU7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgIkQ6ZXhwIiwKKyAgICAgICAgJnopKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgLyogbW9kaWZpY2F0aW9ucyBmb3IgeiAqLworICAgIGVycm5vID0gMDsgUHlGUEVfU1RBUlRfUFJPVEVDVCgiY29tcGxleCBmdW5jdGlvbiIsIGdvdG8gZXhpdCk7CisgICAgX3JldHVybl92YWx1ZSA9IGNtYXRoX2V4cF9pbXBsKG1vZHVsZSwgeik7CisgICAgUHlGUEVfRU5EX1BST1RFQ1QoX3JldHVybl92YWx1ZSk7CisgICAgaWYgKGVycm5vID09IEVET00pIHsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsICJtYXRoIGRvbWFpbiBlcnJvciIpOworICAgICAgICBnb3RvIGV4aXQ7CisgICAgfQorICAgIGVsc2UgaWYgKGVycm5vID09IEVSQU5HRSkgeworICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfT3ZlcmZsb3dFcnJvciwgIm1hdGggcmFuZ2UgZXJyb3IiKTsKKyAgICAgICAgZ290byBleGl0OworICAgIH0KKyAgICBlbHNlIHsKKyAgICAgICAgcmV0dXJuX3ZhbHVlID0gUHlDb21wbGV4X0Zyb21DQ29tcGxleChfcmV0dXJuX3ZhbHVlKTsKKyAgICB9CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworUHlEb2NfU1RSVkFSKGNtYXRoX2xvZzEwX19kb2NfXywKKyJsb2cxMCgkbW9kdWxlLCB6LCAvKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJuIHRoZSBiYXNlLTEwIGxvZ2FyaXRobSBvZiB6LiIpOworCisjZGVmaW5lIENNQVRIX0xPRzEwX01FVEhPRERFRiAgICBcCisgICAgeyJsb2cxMCIsIChQeUNGdW5jdGlvbiljbWF0aF9sb2cxMCwgTUVUSF9WQVJBUkdTLCBjbWF0aF9sb2cxMF9fZG9jX199LAorCitzdGF0aWMgUHlfY29tcGxleAorY21hdGhfbG9nMTBfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeV9jb21wbGV4IHopOworCitzdGF0aWMgUHlPYmplY3QgKgorY21hdGhfbG9nMTAoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgUHlfY29tcGxleCB6OworICAgIFB5X2NvbXBsZXggX3JldHVybl92YWx1ZTsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAiRDpsb2cxMCIsCisgICAgICAgICZ6KSkKKyAgICAgICAgZ290byBleGl0OworICAgIC8qIG1vZGlmaWNhdGlvbnMgZm9yIHogKi8KKyAgICBlcnJubyA9IDA7IFB5RlBFX1NUQVJUX1BST1RFQ1QoImNvbXBsZXggZnVuY3Rpb24iLCBnb3RvIGV4aXQpOworICAgIF9yZXR1cm5fdmFsdWUgPSBjbWF0aF9sb2cxMF9pbXBsKG1vZHVsZSwgeik7CisgICAgUHlGUEVfRU5EX1BST1RFQ1QoX3JldHVybl92YWx1ZSk7CisgICAgaWYgKGVycm5vID09IEVET00pIHsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsICJtYXRoIGRvbWFpbiBlcnJvciIpOworICAgICAgICBnb3RvIGV4aXQ7CisgICAgfQorICAgIGVsc2UgaWYgKGVycm5vID09IEVSQU5HRSkgeworICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfT3ZlcmZsb3dFcnJvciwgIm1hdGggcmFuZ2UgZXJyb3IiKTsKKyAgICAgICAgZ290byBleGl0OworICAgIH0KKyAgICBlbHNlIHsKKyAgICAgICAgcmV0dXJuX3ZhbHVlID0gUHlDb21wbGV4X0Zyb21DQ29tcGxleChfcmV0dXJuX3ZhbHVlKTsKKyAgICB9CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworUHlEb2NfU1RSVkFSKGNtYXRoX3Npbl9fZG9jX18sCisic2luKCRtb2R1bGUsIHosIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJSZXR1cm4gdGhlIHNpbmUgb2Ygei4iKTsKKworI2RlZmluZSBDTUFUSF9TSU5fTUVUSE9EREVGICAgIFwKKyAgICB7InNpbiIsIChQeUNGdW5jdGlvbiljbWF0aF9zaW4sIE1FVEhfVkFSQVJHUywgY21hdGhfc2luX19kb2NfX30sCisKK3N0YXRpYyBQeV9jb21wbGV4CitjbWF0aF9zaW5faW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeV9jb21wbGV4IHopOworCitzdGF0aWMgUHlPYmplY3QgKgorY21hdGhfc2luKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzKQoreworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIFB5X2NvbXBsZXggejsKKyAgICBQeV9jb21wbGV4IF9yZXR1cm5fdmFsdWU7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgIkQ6c2luIiwKKyAgICAgICAgJnopKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgLyogbW9kaWZpY2F0aW9ucyBmb3IgeiAqLworICAgIGVycm5vID0gMDsgUHlGUEVfU1RBUlRfUFJPVEVDVCgiY29tcGxleCBmdW5jdGlvbiIsIGdvdG8gZXhpdCk7CisgICAgX3JldHVybl92YWx1ZSA9IGNtYXRoX3Npbl9pbXBsKG1vZHVsZSwgeik7CisgICAgUHlGUEVfRU5EX1BST1RFQ1QoX3JldHVybl92YWx1ZSk7CisgICAgaWYgKGVycm5vID09IEVET00pIHsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsICJtYXRoIGRvbWFpbiBlcnJvciIpOworICAgICAgICBnb3RvIGV4aXQ7CisgICAgfQorICAgIGVsc2UgaWYgKGVycm5vID09IEVSQU5HRSkgeworICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfT3ZlcmZsb3dFcnJvciwgIm1hdGggcmFuZ2UgZXJyb3IiKTsKKyAgICAgICAgZ290byBleGl0OworICAgIH0KKyAgICBlbHNlIHsKKyAgICAgICAgcmV0dXJuX3ZhbHVlID0gUHlDb21wbGV4X0Zyb21DQ29tcGxleChfcmV0dXJuX3ZhbHVlKTsKKyAgICB9CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworUHlEb2NfU1RSVkFSKGNtYXRoX3NpbmhfX2RvY19fLAorInNpbmgoJG1vZHVsZSwgeiwgLylcbiIKKyItLVxuIgorIlxuIgorIlJldHVybiB0aGUgaHlwZXJib2xpYyBzaW5lIG9mIHouIik7CisKKyNkZWZpbmUgQ01BVEhfU0lOSF9NRVRIT0RERUYgICAgXAorICAgIHsic2luaCIsIChQeUNGdW5jdGlvbiljbWF0aF9zaW5oLCBNRVRIX1ZBUkFSR1MsIGNtYXRoX3NpbmhfX2RvY19ffSwKKworc3RhdGljIFB5X2NvbXBsZXgKK2NtYXRoX3NpbmhfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeV9jb21wbGV4IHopOworCitzdGF0aWMgUHlPYmplY3QgKgorY21hdGhfc2luaChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncykKK3sKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBQeV9jb21wbGV4IHo7CisgICAgUHlfY29tcGxleCBfcmV0dXJuX3ZhbHVlOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCisgICAgICAgICJEOnNpbmgiLAorICAgICAgICAmeikpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICAvKiBtb2RpZmljYXRpb25zIGZvciB6ICovCisgICAgZXJybm8gPSAwOyBQeUZQRV9TVEFSVF9QUk9URUNUKCJjb21wbGV4IGZ1bmN0aW9uIiwgZ290byBleGl0KTsKKyAgICBfcmV0dXJuX3ZhbHVlID0gY21hdGhfc2luaF9pbXBsKG1vZHVsZSwgeik7CisgICAgUHlGUEVfRU5EX1BST1RFQ1QoX3JldHVybl92YWx1ZSk7CisgICAgaWYgKGVycm5vID09IEVET00pIHsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsICJtYXRoIGRvbWFpbiBlcnJvciIpOworICAgICAgICBnb3RvIGV4aXQ7CisgICAgfQorICAgIGVsc2UgaWYgKGVycm5vID09IEVSQU5HRSkgeworICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfT3ZlcmZsb3dFcnJvciwgIm1hdGggcmFuZ2UgZXJyb3IiKTsKKyAgICAgICAgZ290byBleGl0OworICAgIH0KKyAgICBlbHNlIHsKKyAgICAgICAgcmV0dXJuX3ZhbHVlID0gUHlDb21wbGV4X0Zyb21DQ29tcGxleChfcmV0dXJuX3ZhbHVlKTsKKyAgICB9CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworUHlEb2NfU1RSVkFSKGNtYXRoX3NxcnRfX2RvY19fLAorInNxcnQoJG1vZHVsZSwgeiwgLylcbiIKKyItLVxuIgorIlxuIgorIlJldHVybiB0aGUgc3F1YXJlIHJvb3Qgb2Ygei4iKTsKKworI2RlZmluZSBDTUFUSF9TUVJUX01FVEhPRERFRiAgICBcCisgICAgeyJzcXJ0IiwgKFB5Q0Z1bmN0aW9uKWNtYXRoX3NxcnQsIE1FVEhfVkFSQVJHUywgY21hdGhfc3FydF9fZG9jX199LAorCitzdGF0aWMgUHlfY29tcGxleAorY21hdGhfc3FydF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5X2NvbXBsZXggeik7CisKK3N0YXRpYyBQeU9iamVjdCAqCitjbWF0aF9zcXJ0KFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzKQoreworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIFB5X2NvbXBsZXggejsKKyAgICBQeV9jb21wbGV4IF9yZXR1cm5fdmFsdWU7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgIkQ6c3FydCIsCisgICAgICAgICZ6KSkKKyAgICAgICAgZ290byBleGl0OworICAgIC8qIG1vZGlmaWNhdGlvbnMgZm9yIHogKi8KKyAgICBlcnJubyA9IDA7IFB5RlBFX1NUQVJUX1BST1RFQ1QoImNvbXBsZXggZnVuY3Rpb24iLCBnb3RvIGV4aXQpOworICAgIF9yZXR1cm5fdmFsdWUgPSBjbWF0aF9zcXJ0X2ltcGwobW9kdWxlLCB6KTsKKyAgICBQeUZQRV9FTkRfUFJPVEVDVChfcmV0dXJuX3ZhbHVlKTsKKyAgICBpZiAoZXJybm8gPT0gRURPTSkgeworICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVmFsdWVFcnJvciwgIm1hdGggZG9tYWluIGVycm9yIik7CisgICAgICAgIGdvdG8gZXhpdDsKKyAgICB9CisgICAgZWxzZSBpZiAoZXJybm8gPT0gRVJBTkdFKSB7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19PdmVyZmxvd0Vycm9yLCAibWF0aCByYW5nZSBlcnJvciIpOworICAgICAgICBnb3RvIGV4aXQ7CisgICAgfQorICAgIGVsc2UgeworICAgICAgICByZXR1cm5fdmFsdWUgPSBQeUNvbXBsZXhfRnJvbUNDb21wbGV4KF9yZXR1cm5fdmFsdWUpOworICAgIH0KKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitQeURvY19TVFJWQVIoY21hdGhfdGFuX19kb2NfXywKKyJ0YW4oJG1vZHVsZSwgeiwgLylcbiIKKyItLVxuIgorIlxuIgorIlJldHVybiB0aGUgdGFuZ2VudCBvZiB6LiIpOworCisjZGVmaW5lIENNQVRIX1RBTl9NRVRIT0RERUYgICAgXAorICAgIHsidGFuIiwgKFB5Q0Z1bmN0aW9uKWNtYXRoX3RhbiwgTUVUSF9WQVJBUkdTLCBjbWF0aF90YW5fX2RvY19ffSwKKworc3RhdGljIFB5X2NvbXBsZXgKK2NtYXRoX3Rhbl9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5X2NvbXBsZXggeik7CisKK3N0YXRpYyBQeU9iamVjdCAqCitjbWF0aF90YW4oUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgUHlfY29tcGxleCB6OworICAgIFB5X2NvbXBsZXggX3JldHVybl92YWx1ZTsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAiRDp0YW4iLAorICAgICAgICAmeikpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICAvKiBtb2RpZmljYXRpb25zIGZvciB6ICovCisgICAgZXJybm8gPSAwOyBQeUZQRV9TVEFSVF9QUk9URUNUKCJjb21wbGV4IGZ1bmN0aW9uIiwgZ290byBleGl0KTsKKyAgICBfcmV0dXJuX3ZhbHVlID0gY21hdGhfdGFuX2ltcGwobW9kdWxlLCB6KTsKKyAgICBQeUZQRV9FTkRfUFJPVEVDVChfcmV0dXJuX3ZhbHVlKTsKKyAgICBpZiAoZXJybm8gPT0gRURPTSkgeworICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVmFsdWVFcnJvciwgIm1hdGggZG9tYWluIGVycm9yIik7CisgICAgICAgIGdvdG8gZXhpdDsKKyAgICB9CisgICAgZWxzZSBpZiAoZXJybm8gPT0gRVJBTkdFKSB7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19PdmVyZmxvd0Vycm9yLCAibWF0aCByYW5nZSBlcnJvciIpOworICAgICAgICBnb3RvIGV4aXQ7CisgICAgfQorICAgIGVsc2UgeworICAgICAgICByZXR1cm5fdmFsdWUgPSBQeUNvbXBsZXhfRnJvbUNDb21wbGV4KF9yZXR1cm5fdmFsdWUpOworICAgIH0KKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitQeURvY19TVFJWQVIoY21hdGhfdGFuaF9fZG9jX18sCisidGFuaCgkbW9kdWxlLCB6LCAvKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJuIHRoZSBoeXBlcmJvbGljIHRhbmdlbnQgb2Ygei4iKTsKKworI2RlZmluZSBDTUFUSF9UQU5IX01FVEhPRERFRiAgICBcCisgICAgeyJ0YW5oIiwgKFB5Q0Z1bmN0aW9uKWNtYXRoX3RhbmgsIE1FVEhfVkFSQVJHUywgY21hdGhfdGFuaF9fZG9jX199LAorCitzdGF0aWMgUHlfY29tcGxleAorY21hdGhfdGFuaF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5X2NvbXBsZXggeik7CisKK3N0YXRpYyBQeU9iamVjdCAqCitjbWF0aF90YW5oKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzKQoreworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIFB5X2NvbXBsZXggejsKKyAgICBQeV9jb21wbGV4IF9yZXR1cm5fdmFsdWU7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgIkQ6dGFuaCIsCisgICAgICAgICZ6KSkKKyAgICAgICAgZ290byBleGl0OworICAgIC8qIG1vZGlmaWNhdGlvbnMgZm9yIHogKi8KKyAgICBlcnJubyA9IDA7IFB5RlBFX1NUQVJUX1BST1RFQ1QoImNvbXBsZXggZnVuY3Rpb24iLCBnb3RvIGV4aXQpOworICAgIF9yZXR1cm5fdmFsdWUgPSBjbWF0aF90YW5oX2ltcGwobW9kdWxlLCB6KTsKKyAgICBQeUZQRV9FTkRfUFJPVEVDVChfcmV0dXJuX3ZhbHVlKTsKKyAgICBpZiAoZXJybm8gPT0gRURPTSkgeworICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVmFsdWVFcnJvciwgIm1hdGggZG9tYWluIGVycm9yIik7CisgICAgICAgIGdvdG8gZXhpdDsKKyAgICB9CisgICAgZWxzZSBpZiAoZXJybm8gPT0gRVJBTkdFKSB7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19PdmVyZmxvd0Vycm9yLCAibWF0aCByYW5nZSBlcnJvciIpOworICAgICAgICBnb3RvIGV4aXQ7CisgICAgfQorICAgIGVsc2UgeworICAgICAgICByZXR1cm5fdmFsdWUgPSBQeUNvbXBsZXhfRnJvbUNDb21wbGV4KF9yZXR1cm5fdmFsdWUpOworICAgIH0KKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitQeURvY19TVFJWQVIoY21hdGhfbG9nX19kb2NfXywKKyJsb2coJG1vZHVsZSwgeCwgeV9vYmo9Tm9uZSwgLylcbiIKKyItLVxuIgorIlxuIgorIlRoZSBsb2dhcml0aG0gb2YgeiB0byB0aGUgZ2l2ZW4gYmFzZS5cbiIKKyJcbiIKKyJJZiB0aGUgYmFzZSBub3Qgc3BlY2lmaWVkLCByZXR1cm5zIHRoZSBuYXR1cmFsIGxvZ2FyaXRobSAoYmFzZSBlKSBvZiB6LiIpOworCisjZGVmaW5lIENNQVRIX0xPR19NRVRIT0RERUYgICAgXAorICAgIHsibG9nIiwgKFB5Q0Z1bmN0aW9uKWNtYXRoX2xvZywgTUVUSF9WQVJBUkdTLCBjbWF0aF9sb2dfX2RvY19ffSwKKworc3RhdGljIFB5T2JqZWN0ICoKK2NtYXRoX2xvZ19pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5X2NvbXBsZXggeCwgUHlPYmplY3QgKnlfb2JqKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK2NtYXRoX2xvZyhQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncykKK3sKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBQeV9jb21wbGV4IHg7CisgICAgUHlPYmplY3QgKnlfb2JqID0gTlVMTDsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAiRHxPOmxvZyIsCisgICAgICAgICZ4LCAmeV9vYmopKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gY21hdGhfbG9nX2ltcGwobW9kdWxlLCB4LCB5X29iaik7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworUHlEb2NfU1RSVkFSKGNtYXRoX3BoYXNlX19kb2NfXywKKyJwaGFzZSgkbW9kdWxlLCB6LCAvKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJuIGFyZ3VtZW50LCBhbHNvIGtub3duIGFzIHRoZSBwaGFzZSBhbmdsZSwgb2YgYSBjb21wbGV4LiIpOworCisjZGVmaW5lIENNQVRIX1BIQVNFX01FVEhPRERFRiAgICBcCisgICAgeyJwaGFzZSIsIChQeUNGdW5jdGlvbiljbWF0aF9waGFzZSwgTUVUSF9WQVJBUkdTLCBjbWF0aF9waGFzZV9fZG9jX199LAorCitzdGF0aWMgUHlPYmplY3QgKgorY21hdGhfcGhhc2VfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeV9jb21wbGV4IHopOworCitzdGF0aWMgUHlPYmplY3QgKgorY21hdGhfcGhhc2UoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgUHlfY29tcGxleCB6OworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCisgICAgICAgICJEOnBoYXNlIiwKKyAgICAgICAgJnopKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gY21hdGhfcGhhc2VfaW1wbChtb2R1bGUsIHopOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK1B5RG9jX1NUUlZBUihjbWF0aF9wb2xhcl9fZG9jX18sCisicG9sYXIoJG1vZHVsZSwgeiwgLylcbiIKKyItLVxuIgorIlxuIgorIkNvbnZlcnQgYSBjb21wbGV4IGZyb20gcmVjdGFuZ3VsYXIgY29vcmRpbmF0ZXMgdG8gcG9sYXIgY29vcmRpbmF0ZXMuXG4iCisiXG4iCisiciBpcyB0aGUgZGlzdGFuY2UgZnJvbSAwIGFuZCBwaGkgdGhlIHBoYXNlIGFuZ2xlLiIpOworCisjZGVmaW5lIENNQVRIX1BPTEFSX01FVEhPRERFRiAgICBcCisgICAgeyJwb2xhciIsIChQeUNGdW5jdGlvbiljbWF0aF9wb2xhciwgTUVUSF9WQVJBUkdTLCBjbWF0aF9wb2xhcl9fZG9jX199LAorCitzdGF0aWMgUHlPYmplY3QgKgorY21hdGhfcG9sYXJfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeV9jb21wbGV4IHopOworCitzdGF0aWMgUHlPYmplY3QgKgorY21hdGhfcG9sYXIoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgUHlfY29tcGxleCB6OworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCisgICAgICAgICJEOnBvbGFyIiwKKyAgICAgICAgJnopKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gY21hdGhfcG9sYXJfaW1wbChtb2R1bGUsIHopOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK1B5RG9jX1NUUlZBUihjbWF0aF9yZWN0X19kb2NfXywKKyJyZWN0KCRtb2R1bGUsIHIsIHBoaSwgLylcbiIKKyItLVxuIgorIlxuIgorIkNvbnZlcnQgZnJvbSBwb2xhciBjb29yZGluYXRlcyB0byByZWN0YW5ndWxhciBjb29yZGluYXRlcy4iKTsKKworI2RlZmluZSBDTUFUSF9SRUNUX01FVEhPRERFRiAgICBcCisgICAgeyJyZWN0IiwgKFB5Q0Z1bmN0aW9uKWNtYXRoX3JlY3QsIE1FVEhfVkFSQVJHUywgY21hdGhfcmVjdF9fZG9jX199LAorCitzdGF0aWMgUHlPYmplY3QgKgorY21hdGhfcmVjdF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGRvdWJsZSByLCBkb3VibGUgcGhpKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK2NtYXRoX3JlY3QoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgZG91YmxlIHI7CisgICAgZG91YmxlIHBoaTsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAiZGQ6cmVjdCIsCisgICAgICAgICZyLCAmcGhpKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IGNtYXRoX3JlY3RfaW1wbChtb2R1bGUsIHIsIHBoaSk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworUHlEb2NfU1RSVkFSKGNtYXRoX2lzZmluaXRlX19kb2NfXywKKyJpc2Zpbml0ZSgkbW9kdWxlLCB6LCAvKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJuIFRydWUgaWYgYm90aCB0aGUgcmVhbCBhbmQgaW1hZ2luYXJ5IHBhcnRzIG9mIHogYXJlIGZpbml0ZSwgZWxzZSBGYWxzZS4iKTsKKworI2RlZmluZSBDTUFUSF9JU0ZJTklURV9NRVRIT0RERUYgICAgXAorICAgIHsiaXNmaW5pdGUiLCAoUHlDRnVuY3Rpb24pY21hdGhfaXNmaW5pdGUsIE1FVEhfVkFSQVJHUywgY21hdGhfaXNmaW5pdGVfX2RvY19ffSwKKworc3RhdGljIFB5T2JqZWN0ICoKK2NtYXRoX2lzZmluaXRlX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlfY29tcGxleCB6KTsKKworc3RhdGljIFB5T2JqZWN0ICoKK2NtYXRoX2lzZmluaXRlKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzKQoreworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIFB5X2NvbXBsZXggejsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAiRDppc2Zpbml0ZSIsCisgICAgICAgICZ6KSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IGNtYXRoX2lzZmluaXRlX2ltcGwobW9kdWxlLCB6KTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitQeURvY19TVFJWQVIoY21hdGhfaXNuYW5fX2RvY19fLAorImlzbmFuKCRtb2R1bGUsIHosIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJDaGVja3MgaWYgdGhlIHJlYWwgb3IgaW1hZ2luYXJ5IHBhcnQgb2YgeiBub3QgYSBudW1iZXIgKE5hTikuIik7CisKKyNkZWZpbmUgQ01BVEhfSVNOQU5fTUVUSE9EREVGICAgIFwKKyAgICB7ImlzbmFuIiwgKFB5Q0Z1bmN0aW9uKWNtYXRoX2lzbmFuLCBNRVRIX1ZBUkFSR1MsIGNtYXRoX2lzbmFuX19kb2NfX30sCisKK3N0YXRpYyBQeU9iamVjdCAqCitjbWF0aF9pc25hbl9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5X2NvbXBsZXggeik7CisKK3N0YXRpYyBQeU9iamVjdCAqCitjbWF0aF9pc25hbihQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncykKK3sKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBQeV9jb21wbGV4IHo7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgIkQ6aXNuYW4iLAorICAgICAgICAmeikpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBjbWF0aF9pc25hbl9pbXBsKG1vZHVsZSwgeik7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworUHlEb2NfU1RSVkFSKGNtYXRoX2lzaW5mX19kb2NfXywKKyJpc2luZigkbW9kdWxlLCB6LCAvKVxuIgorIi0tXG4iCisiXG4iCisiQ2hlY2tzIGlmIHRoZSByZWFsIG9yIGltYWdpbmFyeSBwYXJ0IG9mIHogaXMgaW5maW5pdGUuIik7CisKKyNkZWZpbmUgQ01BVEhfSVNJTkZfTUVUSE9EREVGICAgIFwKKyAgICB7ImlzaW5mIiwgKFB5Q0Z1bmN0aW9uKWNtYXRoX2lzaW5mLCBNRVRIX1ZBUkFSR1MsIGNtYXRoX2lzaW5mX19kb2NfX30sCisKK3N0YXRpYyBQeU9iamVjdCAqCitjbWF0aF9pc2luZl9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5X2NvbXBsZXggeik7CisKK3N0YXRpYyBQeU9iamVjdCAqCitjbWF0aF9pc2luZihQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncykKK3sKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBQeV9jb21wbGV4IHo7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgIkQ6aXNpbmYiLAorICAgICAgICAmeikpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBjbWF0aF9pc2luZl9pbXBsKG1vZHVsZSwgeik7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD05YjZkODE3MTFlNGUzYzRiIGlucHV0PWE5MDQ5MDU0MDEzYTFiNzddKi8KZGlmZiAtLWdpdCBhL01vZHVsZXMvY2xpbmljL2ZjbnRsbW9kdWxlLmMuaCBiL01vZHVsZXMvY2xpbmljL2ZjbnRsbW9kdWxlLmMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNzdlNTVkCi0tLSAvZGV2L251bGwKKysrIGIvTW9kdWxlcy9jbGluaWMvZmNudGxtb2R1bGUuYy5oCkBAIC0wLDAgKzEsMTg4IEBACisvKltjbGluaWMgaW5wdXRdCitwcmVzZXJ2ZQorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIoZmNudGxfZmNudGxfX2RvY19fLAorImZjbnRsKCRtb2R1bGUsIGZkLCBjb2RlLCBhcmc9Tm9uZSwgLylcbiIKKyItLVxuIgorIlxuIgorIlBlcmZvcm0gdGhlIG9wZXJhdGlvbiBgY29kZWAgb24gZmlsZSBkZXNjcmlwdG9yIGZkLlxuIgorIlxuIgorIlRoZSB2YWx1ZXMgdXNlZCBmb3IgYGNvZGVgIGFyZSBvcGVyYXRpbmcgc3lzdGVtIGRlcGVuZGVudCwgYW5kIGFyZSBhdmFpbGFibGVcbiIKKyJhcyBjb25zdGFudHMgaW4gdGhlIGZjbnRsIG1vZHVsZSwgdXNpbmcgdGhlIHNhbWUgbmFtZXMgYXMgdXNlZCBpblxuIgorInRoZSByZWxldmFudCBDIGhlYWRlciBmaWxlcy4gIFRoZSBhcmd1bWVudCBhcmcgaXMgb3B0aW9uYWwsIGFuZFxuIgorImRlZmF1bHRzIHRvIDA7IGl0IG1heSBiZSBhbiBpbnQgb3IgYSBzdHJpbmcuICBJZiBhcmcgaXMgZ2l2ZW4gYXMgYSBzdHJpbmcsXG4iCisidGhlIHJldHVybiB2YWx1ZSBvZiBmY250bCBpcyBhIHN0cmluZyBvZiB0aGF0IGxlbmd0aCwgY29udGFpbmluZyB0aGVcbiIKKyJyZXN1bHRpbmcgdmFsdWUgcHV0IGluIHRoZSBhcmcgYnVmZmVyIGJ5IHRoZSBvcGVyYXRpbmcgc3lzdGVtLiAgVGhlIGxlbmd0aFxuIgorIm9mIHRoZSBhcmcgc3RyaW5nIGlzIG5vdCBhbGxvd2VkIHRvIGV4Y2VlZCAxMDI0IGJ5dGVzLiAgSWYgdGhlIGFyZyBnaXZlblxuIgorImlzIGFuIGludGVnZXIgb3IgaWYgbm9uZSBpcyBzcGVjaWZpZWQsIHRoZSByZXN1bHQgdmFsdWUgaXMgYW4gaW50ZWdlclxuIgorImNvcnJlc3BvbmRpbmcgdG8gdGhlIHJldHVybiB2YWx1ZSBvZiB0aGUgZmNudGwgY2FsbCBpbiB0aGUgQyBjb2RlLiIpOworCisjZGVmaW5lIEZDTlRMX0ZDTlRMX01FVEhPRERFRiAgICBcCisgICAgeyJmY250bCIsIChQeUNGdW5jdGlvbilmY250bF9mY250bCwgTUVUSF9WQVJBUkdTLCBmY250bF9mY250bF9fZG9jX199LAorCitzdGF0aWMgUHlPYmplY3QgKgorZmNudGxfZmNudGxfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBpbnQgZmQsIGludCBjb2RlLCBQeU9iamVjdCAqYXJnKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK2ZjbnRsX2ZjbnRsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzKQoreworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIGludCBmZDsKKyAgICBpbnQgY29kZTsKKyAgICBQeU9iamVjdCAqYXJnID0gTlVMTDsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAiTyZpfE86ZmNudGwiLAorICAgICAgICBjb252X2Rlc2NyaXB0b3IsICZmZCwgJmNvZGUsICZhcmcpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gZmNudGxfZmNudGxfaW1wbChtb2R1bGUsIGZkLCBjb2RlLCBhcmcpOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK1B5RG9jX1NUUlZBUihmY250bF9pb2N0bF9fZG9jX18sCisiaW9jdGwoJG1vZHVsZSwgZmQsIG9wLCBhcmc9Tm9uZSwgbXV0YXRlX2ZsYWc9VHJ1ZSwgLylcbiIKKyItLVxuIgorIlxuIgorIlBlcmZvcm0gdGhlIG9wZXJhdGlvbiBvcCBvbiBmaWxlIGRlc2NyaXB0b3IgZmQuXG4iCisiXG4iCisiVGhlIHZhbHVlcyB1c2VkIGZvciBvcCBhcmUgb3BlcmF0aW5nIHN5c3RlbSBkZXBlbmRlbnQsIGFuZCBhcmUgYXZhaWxhYmxlIGFzXG4iCisiY29uc3RhbnRzIGluIHRoZSBmY250bCBvciB0ZXJtaW9zIGxpYnJhcnkgbW9kdWxlcywgdXNpbmcgdGhlIHNhbWUgbmFtZXMgYXNcbiIKKyJ1c2VkIGluIHRoZSByZWxldmFudCBDIGhlYWRlciBmaWxlcy5cbiIKKyJcbiIKKyJUaGUgYXJndW1lbnQgYGFyZ2AgaXMgb3B0aW9uYWwsIGFuZCBkZWZhdWx0cyB0byAwOyBpdCBtYXkgYmUgYW4gaW50IG9yIGFcbiIKKyJidWZmZXIgY29udGFpbmluZyBjaGFyYWN0ZXIgZGF0YSAobW9zdCBsaWtlbHkgYSBzdHJpbmcgb3IgYW4gYXJyYXkpLlxuIgorIlxuIgorIklmIHRoZSBhcmd1bWVudCBpcyBhIG11dGFibGUgYnVmZmVyIChzdWNoIGFzIGFuIGFycmF5KSBhbmQgaWYgdGhlXG4iCisibXV0YXRlX2ZsYWcgYXJndW1lbnQgKHdoaWNoIGlzIG9ubHkgYWxsb3dlZCBpbiB0aGlzIGNhc2UpIGlzIHRydWUgdGhlbiB0aGVcbiIKKyJidWZmZXIgaXMgKGluIGVmZmVjdCkgcGFzc2VkIHRvIHRoZSBvcGVyYXRpbmcgc3lzdGVtIGFuZCBjaGFuZ2VzIG1hZGUgYnlcbiIKKyJ0aGUgT1Mgd2lsbCBiZSByZWZsZWN0ZWQgaW4gdGhlIGNvbnRlbnRzIG9mIHRoZSBidWZmZXIgYWZ0ZXIgdGhlIGNhbGwgaGFzXG4iCisicmV0dXJuZWQuICBUaGUgcmV0dXJuIHZhbHVlIGlzIHRoZSBpbnRlZ2VyIHJldHVybmVkIGJ5IHRoZSBpb2N0bCBzeXN0ZW1cbiIKKyJjYWxsLlxuIgorIlxuIgorIklmIHRoZSBhcmd1bWVudCBpcyBhIG11dGFibGUgYnVmZmVyIGFuZCB0aGUgbXV0YWJsZV9mbGFnIGFyZ3VtZW50IGlzIG5vdFxuIgorInBhc3NlZCBvciBpcyBmYWxzZSwgdGhlIGJlaGF2aW9yIGlzIGFzIGlmIGEgc3RyaW5nIGhhZCBiZWVuIHBhc3NlZC4gIFRoaXNcbiIKKyJiZWhhdmlvciB3aWxsIGNoYW5nZSBpbiBmdXR1cmUgcmVsZWFzZXMgb2YgUHl0aG9uLlxuIgorIlxuIgorIklmIHRoZSBhcmd1bWVudCBpcyBhbiBpbW11dGFibGUgYnVmZmVyIChtb3N0IGxpa2VseSBhIHN0cmluZykgdGhlbiBhIGNvcHlcbiIKKyJvZiB0aGUgYnVmZmVyIGlzIHBhc3NlZCB0byB0aGUgb3BlcmF0aW5nIHN5c3RlbSBhbmQgdGhlIHJldHVybiB2YWx1ZSBpcyBhXG4iCisic3RyaW5nIG9mIHRoZSBzYW1lIGxlbmd0aCBjb250YWluaW5nIHdoYXRldmVyIHRoZSBvcGVyYXRpbmcgc3lzdGVtIHB1dCBpblxuIgorInRoZSBidWZmZXIuICBUaGUgbGVuZ3RoIG9mIHRoZSBhcmcgYnVmZmVyIGluIHRoaXMgY2FzZSBpcyBub3QgYWxsb3dlZCB0b1xuIgorImV4Y2VlZCAxMDI0IGJ5dGVzLlxuIgorIlxuIgorIklmIHRoZSBhcmcgZ2l2ZW4gaXMgYW4gaW50ZWdlciBvciBpZiBub25lIGlzIHNwZWNpZmllZCwgdGhlIHJlc3VsdCB2YWx1ZSBpc1xuIgorImFuIGludGVnZXIgY29ycmVzcG9uZGluZyB0byB0aGUgcmV0dXJuIHZhbHVlIG9mIHRoZSBpb2N0bCBjYWxsIGluIHRoZSBDXG4iCisiY29kZS4iKTsKKworI2RlZmluZSBGQ05UTF9JT0NUTF9NRVRIT0RERUYgICAgXAorICAgIHsiaW9jdGwiLCAoUHlDRnVuY3Rpb24pZmNudGxfaW9jdGwsIE1FVEhfVkFSQVJHUywgZmNudGxfaW9jdGxfX2RvY19ffSwKKworc3RhdGljIFB5T2JqZWN0ICoKK2ZjbnRsX2lvY3RsX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgaW50IGZkLCB1bnNpZ25lZCBpbnQgY29kZSwgUHlPYmplY3QgKm9iX2FyZywgaW50IG11dGF0ZV9hcmcpOworCitzdGF0aWMgUHlPYmplY3QgKgorZmNudGxfaW9jdGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgaW50IGZkOworICAgIHVuc2lnbmVkIGludCBjb2RlOworICAgIFB5T2JqZWN0ICpvYl9hcmcgPSBOVUxMOworICAgIGludCBtdXRhdGVfYXJnID0gMTsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAiTyZJfE9wOmlvY3RsIiwKKyAgICAgICAgY29udl9kZXNjcmlwdG9yLCAmZmQsICZjb2RlLCAmb2JfYXJnLCAmbXV0YXRlX2FyZykpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBmY250bF9pb2N0bF9pbXBsKG1vZHVsZSwgZmQsIGNvZGUsIG9iX2FyZywgbXV0YXRlX2FyZyk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworUHlEb2NfU1RSVkFSKGZjbnRsX2Zsb2NrX19kb2NfXywKKyJmbG9jaygkbW9kdWxlLCBmZCwgY29kZSwgLylcbiIKKyItLVxuIgorIlxuIgorIlBlcmZvcm0gdGhlIGxvY2sgb3BlcmF0aW9uIG9wIG9uIGZpbGUgZGVzY3JpcHRvciBmZC5cbiIKKyJcbiIKKyJTZWUgdGhlIFVuaXggbWFudWFsIHBhZ2UgZm9yIGZsb2NrKDIpIGZvciBkZXRhaWxzIChPbiBzb21lIHN5c3RlbXMsIHRoaXNcbiIKKyJmdW5jdGlvbiBpcyBlbXVsYXRlZCB1c2luZyBmY250bCgpKS4iKTsKKworI2RlZmluZSBGQ05UTF9GTE9DS19NRVRIT0RERUYgICAgXAorICAgIHsiZmxvY2siLCAoUHlDRnVuY3Rpb24pZmNudGxfZmxvY2ssIE1FVEhfVkFSQVJHUywgZmNudGxfZmxvY2tfX2RvY19ffSwKKworc3RhdGljIFB5T2JqZWN0ICoKK2ZjbnRsX2Zsb2NrX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgaW50IGZkLCBpbnQgY29kZSk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitmY250bF9mbG9jayhQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncykKK3sKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBpbnQgZmQ7CisgICAgaW50IGNvZGU7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgIk8maTpmbG9jayIsCisgICAgICAgIGNvbnZfZGVzY3JpcHRvciwgJmZkLCAmY29kZSkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBmY250bF9mbG9ja19pbXBsKG1vZHVsZSwgZmQsIGNvZGUpOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK1B5RG9jX1NUUlZBUihmY250bF9sb2NrZl9fZG9jX18sCisibG9ja2YoJG1vZHVsZSwgZmQsIGNvZGUsIGxlbm9iaj1Ob25lLCBzdGFydG9iaj1Ob25lLCB3aGVuY2U9MCwgLylcbiIKKyItLVxuIgorIlxuIgorIkEgd3JhcHBlciBhcm91bmQgdGhlIGZjbnRsKCkgbG9ja2luZyBjYWxscy5cbiIKKyJcbiIKKyJmZCBpcyB0aGUgZmlsZSBkZXNjcmlwdG9yIG9mIHRoZSBmaWxlIHRvIGxvY2sgb3IgdW5sb2NrLCBhbmQgb3BlcmF0aW9uIGlzIG9uZVxuIgorIm9mIHRoZSBmb2xsb3dpbmcgdmFsdWVzOlxuIgorIlxuIgorIiAgICBMT0NLX1VOIC0gdW5sb2NrXG4iCisiICAgIExPQ0tfU0ggLSBhY3F1aXJlIGEgc2hhcmVkIGxvY2tcbiIKKyIgICAgTE9DS19FWCAtIGFjcXVpcmUgYW4gZXhjbHVzaXZlIGxvY2tcbiIKKyJcbiIKKyJXaGVuIG9wZXJhdGlvbiBpcyBMT0NLX1NIIG9yIExPQ0tfRVgsIGl0IGNhbiBhbHNvIGJlIGJpdHdpc2UgT1JlZCB3aXRoXG4iCisiTE9DS19OQiB0byBhdm9pZCBibG9ja2luZyBvbiBsb2NrIGFjcXVpc2l0aW9uLiAgSWYgTE9DS19OQiBpcyB1c2VkIGFuZCB0aGVcbiIKKyJsb2NrIGNhbm5vdCBiZSBhY3F1aXJlZCwgYW4gSU9FcnJvciB3aWxsIGJlIHJhaXNlZCBhbmQgdGhlIGV4Y2VwdGlvbiB3aWxsXG4iCisiaGF2ZSBhbiBlcnJubyBhdHRyaWJ1dGUgc2V0IHRvIEVBQ0NFUyBvciBFQUdBSU4gKGRlcGVuZGluZyBvbiB0aGUgb3BlcmF0aW5nXG4iCisic3lzdGVtIC0tIGZvciBwb3J0YWJpbGl0eSwgY2hlY2sgZm9yIGVpdGhlciB2YWx1ZSkuXG4iCisiXG4iCisibGVuZ3RoIGlzIHRoZSBudW1iZXIgb2YgYnl0ZXMgdG8gbG9jaywgd2l0aCB0aGUgZGVmYXVsdCBtZWFuaW5nIHRvIGxvY2sgdG9cbiIKKyJFT0YuICBzdGFydCBpcyB0aGUgYnl0ZSBvZmZzZXQsIHJlbGF0aXZlIHRvIHdoZW5jZSwgdG8gdGhhdCB0aGUgbG9ja1xuIgorInN0YXJ0cy4gIHdoZW5jZSBpcyBhcyB3aXRoIGZpbGVvYmouc2VlaygpLCBzcGVjaWZpY2FsbHk6XG4iCisiXG4iCisiICAgIDAgLSByZWxhdGl2ZSB0byB0aGUgc3RhcnQgb2YgdGhlIGZpbGUgKFNFRUtfU0VUKVxuIgorIiAgICAxIC0gcmVsYXRpdmUgdG8gdGhlIGN1cnJlbnQgYnVmZmVyIHBvc2l0aW9uIChTRUVLX0NVUilcbiIKKyIgICAgMiAtIHJlbGF0aXZlIHRvIHRoZSBlbmQgb2YgdGhlIGZpbGUgKFNFRUtfRU5EKSIpOworCisjZGVmaW5lIEZDTlRMX0xPQ0tGX01FVEhPRERFRiAgICBcCisgICAgeyJsb2NrZiIsIChQeUNGdW5jdGlvbilmY250bF9sb2NrZiwgTUVUSF9WQVJBUkdTLCBmY250bF9sb2NrZl9fZG9jX199LAorCitzdGF0aWMgUHlPYmplY3QgKgorZmNudGxfbG9ja2ZfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBpbnQgZmQsIGludCBjb2RlLCBQeU9iamVjdCAqbGVub2JqLCBQeU9iamVjdCAqc3RhcnRvYmosIGludCB3aGVuY2UpOworCitzdGF0aWMgUHlPYmplY3QgKgorZmNudGxfbG9ja2YoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgaW50IGZkOworICAgIGludCBjb2RlOworICAgIFB5T2JqZWN0ICpsZW5vYmogPSBOVUxMOworICAgIFB5T2JqZWN0ICpzdGFydG9iaiA9IE5VTEw7CisgICAgaW50IHdoZW5jZSA9IDA7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgIk8maXxPT2k6bG9ja2YiLAorICAgICAgICBjb252X2Rlc2NyaXB0b3IsICZmZCwgJmNvZGUsICZsZW5vYmosICZzdGFydG9iaiwgJndoZW5jZSkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBmY250bF9sb2NrZl9pbXBsKG1vZHVsZSwgZmQsIGNvZGUsIGxlbm9iaiwgc3RhcnRvYmosIHdoZW5jZSk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD04NGJkZGU3M2E5MmY3YzYxIGlucHV0PWE5MDQ5MDU0MDEzYTFiNzddKi8KZGlmZiAtLWdpdCBhL01vZHVsZXMvY2xpbmljL2dycG1vZHVsZS5jLmggYi9Nb2R1bGVzL2NsaW5pYy9ncnBtb2R1bGUuYy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY4MTgzMDkKLS0tIC9kZXYvbnVsbAorKysgYi9Nb2R1bGVzL2NsaW5pYy9ncnBtb2R1bGUuYy5oCkBAIC0wLDAgKzEsODcgQEAKKy8qW2NsaW5pYyBpbnB1dF0KK3ByZXNlcnZlCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihncnBfZ2V0Z3JnaWRfX2RvY19fLAorImdldGdyZ2lkKCRtb2R1bGUsIC8sIGlkKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJuIHRoZSBncm91cCBkYXRhYmFzZSBlbnRyeSBmb3IgdGhlIGdpdmVuIG51bWVyaWMgZ3JvdXAgSUQuXG4iCisiXG4iCisiSWYgaWQgaXMgbm90IHZhbGlkLCByYWlzZSBLZXlFcnJvci4iKTsKKworI2RlZmluZSBHUlBfR0VUR1JHSURfTUVUSE9EREVGICAgIFwKKyAgICB7ImdldGdyZ2lkIiwgKFB5Q0Z1bmN0aW9uKWdycF9nZXRncmdpZCwgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsIGdycF9nZXRncmdpZF9fZG9jX199LAorCitzdGF0aWMgUHlPYmplY3QgKgorZ3JwX2dldGdyZ2lkX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmlkKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK2dycF9nZXRncmdpZChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3YXJncykKK3sKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBzdGF0aWMgY2hhciAqX2tleXdvcmRzW10gPSB7ImlkIiwgTlVMTH07CisgICAgUHlPYmplY3QgKmlkOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLAorICAgICAgICAiTzpnZXRncmdpZCIsIF9rZXl3b3JkcywKKyAgICAgICAgJmlkKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IGdycF9nZXRncmdpZF9pbXBsKG1vZHVsZSwgaWQpOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK1B5RG9jX1NUUlZBUihncnBfZ2V0Z3JuYW1fX2RvY19fLAorImdldGdybmFtKCRtb2R1bGUsIC8sIG5hbWUpXG4iCisiLS1cbiIKKyJcbiIKKyJSZXR1cm4gdGhlIGdyb3VwIGRhdGFiYXNlIGVudHJ5IGZvciB0aGUgZ2l2ZW4gZ3JvdXAgbmFtZS5cbiIKKyJcbiIKKyJJZiBuYW1lIGlzIG5vdCB2YWxpZCwgcmFpc2UgS2V5RXJyb3IuIik7CisKKyNkZWZpbmUgR1JQX0dFVEdSTkFNX01FVEhPRERFRiAgICBcCisgICAgeyJnZXRncm5hbSIsIChQeUNGdW5jdGlvbilncnBfZ2V0Z3JuYW0sIE1FVEhfVkFSQVJHU3xNRVRIX0tFWVdPUkRTLCBncnBfZ2V0Z3JuYW1fX2RvY19ffSwKKworc3RhdGljIFB5T2JqZWN0ICoKK2dycF9nZXRncm5hbV9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICpuYW1lKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK2dycF9nZXRncm5hbShQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3YXJncykKK3sKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBzdGF0aWMgY2hhciAqX2tleXdvcmRzW10gPSB7Im5hbWUiLCBOVUxMfTsKKyAgICBQeU9iamVjdCAqbmFtZTsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywKKyAgICAgICAgIlU6Z2V0Z3JuYW0iLCBfa2V5d29yZHMsCisgICAgICAgICZuYW1lKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IGdycF9nZXRncm5hbV9pbXBsKG1vZHVsZSwgbmFtZSk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworUHlEb2NfU1RSVkFSKGdycF9nZXRncmFsbF9fZG9jX18sCisiZ2V0Z3JhbGwoJG1vZHVsZSwgLylcbiIKKyItLVxuIgorIlxuIgorIlJldHVybiBhIGxpc3Qgb2YgYWxsIGF2YWlsYWJsZSBncm91cCBlbnRyaWVzLCBpbiBhcmJpdHJhcnkgb3JkZXIuXG4iCisiXG4iCisiQW4gZW50cnkgd2hvc2UgbmFtZSBzdGFydHMgd2l0aCBcJytcJyBvciBcJy1cJyByZXByZXNlbnRzIGFuIGluc3RydWN0aW9uXG4iCisidG8gdXNlIFlQL05JUyBhbmQgbWF5IG5vdCBiZSBhY2Nlc3NpYmxlIHZpYSBnZXRncm5hbSBvciBnZXRncmdpZC4iKTsKKworI2RlZmluZSBHUlBfR0VUR1JBTExfTUVUSE9EREVGICAgIFwKKyAgICB7ImdldGdyYWxsIiwgKFB5Q0Z1bmN0aW9uKWdycF9nZXRncmFsbCwgTUVUSF9OT0FSR1MsIGdycF9nZXRncmFsbF9fZG9jX199LAorCitzdGF0aWMgUHlPYmplY3QgKgorZ3JwX2dldGdyYWxsX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitncnBfZ2V0Z3JhbGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKlB5X1VOVVNFRChpZ25vcmVkKSkKK3sKKyAgICByZXR1cm4gZ3JwX2dldGdyYWxsX2ltcGwobW9kdWxlKTsKK30KKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD00NzA5YTZiYTQwYmI4ZGY5IGlucHV0PWE5MDQ5MDU0MDEzYTFiNzddKi8KZGlmZiAtLWdpdCBhL01vZHVsZXMvY2xpbmljL3B3ZG1vZHVsZS5jLmggYi9Nb2R1bGVzL2NsaW5pYy9wd2Rtb2R1bGUuYy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZhNDAwNDIKLS0tIC9kZXYvbnVsbAorKysgYi9Nb2R1bGVzL2NsaW5pYy9wd2Rtb2R1bGUuYy5oCkBAIC0wLDAgKzEsNzMgQEAKKy8qW2NsaW5pYyBpbnB1dF0KK3ByZXNlcnZlCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihwd2RfZ2V0cHd1aWRfX2RvY19fLAorImdldHB3dWlkKCRtb2R1bGUsIHVpZG9iaiwgLylcbiIKKyItLVxuIgorIlxuIgorIlJldHVybiB0aGUgcGFzc3dvcmQgZGF0YWJhc2UgZW50cnkgZm9yIHRoZSBnaXZlbiBudW1lcmljIHVzZXIgSUQuXG4iCisiXG4iCisiU2VlIGBoZWxwKHB3ZClgIGZvciBtb3JlIG9uIHBhc3N3b3JkIGRhdGFiYXNlIGVudHJpZXMuIik7CisKKyNkZWZpbmUgUFdEX0dFVFBXVUlEX01FVEhPRERFRiAgICBcCisgICAgeyJnZXRwd3VpZCIsIChQeUNGdW5jdGlvbilwd2RfZ2V0cHd1aWQsIE1FVEhfTywgcHdkX2dldHB3dWlkX19kb2NfX30sCisKK1B5RG9jX1NUUlZBUihwd2RfZ2V0cHduYW1fX2RvY19fLAorImdldHB3bmFtKCRtb2R1bGUsIGFyZywgLylcbiIKKyItLVxuIgorIlxuIgorIlJldHVybiB0aGUgcGFzc3dvcmQgZGF0YWJhc2UgZW50cnkgZm9yIHRoZSBnaXZlbiB1c2VyIG5hbWUuXG4iCisiXG4iCisiU2VlIGBoZWxwKHB3ZClgIGZvciBtb3JlIG9uIHBhc3N3b3JkIGRhdGFiYXNlIGVudHJpZXMuIik7CisKKyNkZWZpbmUgUFdEX0dFVFBXTkFNX01FVEhPRERFRiAgICBcCisgICAgeyJnZXRwd25hbSIsIChQeUNGdW5jdGlvbilwd2RfZ2V0cHduYW0sIE1FVEhfVkFSQVJHUywgcHdkX2dldHB3bmFtX19kb2NfX30sCisKK3N0YXRpYyBQeU9iamVjdCAqCitwd2RfZ2V0cHduYW1faW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJnKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK3B3ZF9nZXRwd25hbShQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncykKK3sKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBQeU9iamVjdCAqYXJnOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCisgICAgICAgICJVOmdldHB3bmFtIiwKKyAgICAgICAgJmFyZykpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBwd2RfZ2V0cHduYW1faW1wbChtb2R1bGUsIGFyZyk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworI2lmIGRlZmluZWQoSEFWRV9HRVRQV0VOVCkKKworUHlEb2NfU1RSVkFSKHB3ZF9nZXRwd2FsbF9fZG9jX18sCisiZ2V0cHdhbGwoJG1vZHVsZSwgLylcbiIKKyItLVxuIgorIlxuIgorIlJldHVybiBhIGxpc3Qgb2YgYWxsIGF2YWlsYWJsZSBwYXNzd29yZCBkYXRhYmFzZSBlbnRyaWVzLCBpbiBhcmJpdHJhcnkgb3JkZXIuXG4iCisiXG4iCisiU2VlIGhlbHAocHdkKSBmb3IgbW9yZSBvbiBwYXNzd29yZCBkYXRhYmFzZSBlbnRyaWVzLiIpOworCisjZGVmaW5lIFBXRF9HRVRQV0FMTF9NRVRIT0RERUYgICAgXAorICAgIHsiZ2V0cHdhbGwiLCAoUHlDRnVuY3Rpb24pcHdkX2dldHB3YWxsLCBNRVRIX05PQVJHUywgcHdkX2dldHB3YWxsX19kb2NfX30sCisKK3N0YXRpYyBQeU9iamVjdCAqCitwd2RfZ2V0cHdhbGxfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK3B3ZF9nZXRwd2FsbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqUHlfVU5VU0VEKGlnbm9yZWQpKQoreworICAgIHJldHVybiBwd2RfZ2V0cHdhbGxfaW1wbChtb2R1bGUpOworfQorCisjZW5kaWYgLyogZGVmaW5lZChIQVZFX0dFVFBXRU5UKSAqLworCisjaWZuZGVmIFBXRF9HRVRQV0FMTF9NRVRIT0RERUYKKyAgICAjZGVmaW5lIFBXRF9HRVRQV0FMTF9NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChQV0RfR0VUUFdBTExfTUVUSE9EREVGKSAqLworLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTJlMjNmOTIwMDIwYTc1MGEgaW5wdXQ9YTkwNDkwNTQwMTNhMWI3N10qLwpkaWZmIC0tZ2l0IGEvTW9kdWxlcy9jbGluaWMvc3B3ZG1vZHVsZS5jLmggYi9Nb2R1bGVzL2NsaW5pYy9zcHdkbW9kdWxlLmMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMDkxZmM5Ci0tLSAvZGV2L251bGwKKysrIGIvTW9kdWxlcy9jbGluaWMvc3B3ZG1vZHVsZS5jLmgKQEAgLTAsMCArMSw3MCBAQAorLypbY2xpbmljIGlucHV0XQorcHJlc2VydmUKK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworI2lmIGRlZmluZWQoSEFWRV9HRVRTUE5BTSkKKworUHlEb2NfU1RSVkFSKHNwd2RfZ2V0c3BuYW1fX2RvY19fLAorImdldHNwbmFtKCRtb2R1bGUsIGFyZywgLylcbiIKKyItLVxuIgorIlxuIgorIlJldHVybiB0aGUgc2hhZG93IHBhc3N3b3JkIGRhdGFiYXNlIGVudHJ5IGZvciB0aGUgZ2l2ZW4gdXNlciBuYW1lLlxuIgorIlxuIgorIlNlZSBgaGVscChzcHdkKWAgZm9yIG1vcmUgb24gc2hhZG93IHBhc3N3b3JkIGRhdGFiYXNlIGVudHJpZXMuIik7CisKKyNkZWZpbmUgU1BXRF9HRVRTUE5BTV9NRVRIT0RERUYgICAgXAorICAgIHsiZ2V0c3BuYW0iLCAoUHlDRnVuY3Rpb24pc3B3ZF9nZXRzcG5hbSwgTUVUSF9WQVJBUkdTLCBzcHdkX2dldHNwbmFtX19kb2NfX30sCisKK3N0YXRpYyBQeU9iamVjdCAqCitzcHdkX2dldHNwbmFtX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZyk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitzcHdkX2dldHNwbmFtKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzKQoreworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIFB5T2JqZWN0ICphcmc7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgIlU6Z2V0c3BuYW0iLAorICAgICAgICAmYXJnKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IHNwd2RfZ2V0c3BuYW1faW1wbChtb2R1bGUsIGFyZyk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworI2VuZGlmIC8qIGRlZmluZWQoSEFWRV9HRVRTUE5BTSkgKi8KKworI2lmbmRlZiBTUFdEX0dFVFNQTkFNX01FVEhPRERFRgorICAgICNkZWZpbmUgU1BXRF9HRVRTUE5BTV9NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChTUFdEX0dFVFNQTkFNX01FVEhPRERFRikgKi8KKworI2lmIGRlZmluZWQoSEFWRV9HRVRTUEVOVCkKKworUHlEb2NfU1RSVkFSKHNwd2RfZ2V0c3BhbGxfX2RvY19fLAorImdldHNwYWxsKCRtb2R1bGUsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJSZXR1cm4gYSBsaXN0IG9mIGFsbCBhdmFpbGFibGUgc2hhZG93IHBhc3N3b3JkIGRhdGFiYXNlIGVudHJpZXMsIGluIGFyYml0cmFyeSBvcmRlci5cbiIKKyJcbiIKKyJTZWUgYGhlbHAoc3B3ZClgIGZvciBtb3JlIG9uIHNoYWRvdyBwYXNzd29yZCBkYXRhYmFzZSBlbnRyaWVzLiIpOworCisjZGVmaW5lIFNQV0RfR0VUU1BBTExfTUVUSE9EREVGICAgIFwKKyAgICB7ImdldHNwYWxsIiwgKFB5Q0Z1bmN0aW9uKXNwd2RfZ2V0c3BhbGwsIE1FVEhfTk9BUkdTLCBzcHdkX2dldHNwYWxsX19kb2NfX30sCisKK3N0YXRpYyBQeU9iamVjdCAqCitzcHdkX2dldHNwYWxsX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitzcHdkX2dldHNwYWxsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICpQeV9VTlVTRUQoaWdub3JlZCkpCit7CisgICAgcmV0dXJuIHNwd2RfZ2V0c3BhbGxfaW1wbChtb2R1bGUpOworfQorCisjZW5kaWYgLyogZGVmaW5lZChIQVZFX0dFVFNQRU5UKSAqLworCisjaWZuZGVmIFNQV0RfR0VUU1BBTExfTUVUSE9EREVGCisgICAgI2RlZmluZSBTUFdEX0dFVFNQQUxMX01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKFNQV0RfR0VUU1BBTExfTUVUSE9EREVGKSAqLworLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTQxZmVjNGExNWIwY2QyYTAgaW5wdXQ9YTkwNDkwNTQwMTNhMWI3N10qLwpkaWZmIC0tZ2l0IGEvTW9kdWxlcy9jbWF0aG1vZHVsZS5jIGIvTW9kdWxlcy9jbWF0aG1vZHVsZS5jCmluZGV4IGViMjg1M2MuLjY3MTYxYWQgMTAwNjQ0Ci0tLSBhL01vZHVsZXMvY21hdGhtb2R1bGUuYworKysgYi9Nb2R1bGVzL2NtYXRobW9kdWxlLmMKQEAgLTgsNiArOCw0MSBAQAogICAgZmxvYXQuaC4gIFdlIGFzc3VtZSB0aGF0IEZMVF9SQURJWCBpcyBlaXRoZXIgMiBvciAxNi4gKi8KICNpbmNsdWRlIDxmbG9hdC5oPgogCisjaW5jbHVkZSAiY2xpbmljL2NtYXRobW9kdWxlLmMuaCIKKy8qW2NsaW5pYyBpbnB1dF0KK291dHB1dCBwcmVzZXQgZmlsZQorbW9kdWxlIGNtYXRoCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9ZGEzOWEzZWU1ZTZiNGIwZCBpbnB1dD1lZjdlMGZkZDhhMTQzYzAzXSovCisKKy8qW3B5dGhvbiBpbnB1dF0KK2NsYXNzIFB5X2NvbXBsZXhfcHJvdGVjdGVkX2NvbnZlcnRlcihQeV9jb21wbGV4X2NvbnZlcnRlcik6CisgICAgZGVmIG1vZGlmeShzZWxmKToKKyAgICAgICAgcmV0dXJuICdlcnJubyA9IDA7IFB5RlBFX1NUQVJUX1BST1RFQ1QoImNvbXBsZXggZnVuY3Rpb24iLCBnb3RvIGV4aXQpOycKKworCitjbGFzcyBQeV9jb21wbGV4X3Byb3RlY3RlZF9yZXR1cm5fY29udmVydGVyKENSZXR1cm5Db252ZXJ0ZXIpOgorICAgIHR5cGUgPSAiUHlfY29tcGxleCIKKworICAgIGRlZiByZW5kZXIoc2VsZiwgZnVuY3Rpb24sIGRhdGEpOgorICAgICAgICBzZWxmLmRlY2xhcmUoZGF0YSkKKyAgICAgICAgZGF0YS5yZXR1cm5fY29udmVyc2lvbi5hcHBlbmQoIiIiCitQeUZQRV9FTkRfUFJPVEVDVChfcmV0dXJuX3ZhbHVlKTsKK2lmIChlcnJubyA9PSBFRE9NKSB7eworICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLCAibWF0aCBkb21haW4gZXJyb3IiKTsKKyAgICBnb3RvIGV4aXQ7Cit9fQorZWxzZSBpZiAoZXJybm8gPT0gRVJBTkdFKSB7eworICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19PdmVyZmxvd0Vycm9yLCAibWF0aCByYW5nZSBlcnJvciIpOworICAgIGdvdG8gZXhpdDsKK319CitlbHNlIHt7CisgICAgcmV0dXJuX3ZhbHVlID0gUHlDb21wbGV4X0Zyb21DQ29tcGxleChfcmV0dXJuX3ZhbHVlKTsKK319CisiIiIuc3RyaXAoKSkKK1tweXRob24gc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKy8qW3B5dGhvbiBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1kYTM5YTNlZTVlNmI0YjBkIGlucHV0PTIzMTAxOTAzOWE2ZmJiOWFdKi8KKwogI2lmIChGTFRfUkFESVggIT0gMiAmJiBGTFRfUkFESVggIT0gMTYpCiAjZXJyb3IgIk1vZHVsZXMvY21hdGhtb2R1bGUuYyBleHBlY3RzIEZMVF9SQURJWCB0byBiZSAyIG9yIDE2IgogI2VuZGlmCkBAIC00OCwxMiArODMsMTIgQEAKICNkZWZpbmUgQ01fU0NBTEVfRE9XTiAoLShDTV9TQ0FMRV9VUCsxKS8yKQogCiAvKiBmb3J3YXJkIGRlY2xhcmF0aW9ucyAqLwotc3RhdGljIFB5X2NvbXBsZXggY19hc2luaChQeV9jb21wbGV4KTsKLXN0YXRpYyBQeV9jb21wbGV4IGNfYXRhbmgoUHlfY29tcGxleCk7Ci1zdGF0aWMgUHlfY29tcGxleCBjX2Nvc2goUHlfY29tcGxleCk7Ci1zdGF0aWMgUHlfY29tcGxleCBjX3NpbmgoUHlfY29tcGxleCk7Ci1zdGF0aWMgUHlfY29tcGxleCBjX3NxcnQoUHlfY29tcGxleCk7Ci1zdGF0aWMgUHlfY29tcGxleCBjX3RhbmgoUHlfY29tcGxleCk7CitzdGF0aWMgUHlfY29tcGxleCBjbWF0aF9hc2luaF9pbXBsKFB5TW9kdWxlRGVmICosIFB5X2NvbXBsZXgpOworc3RhdGljIFB5X2NvbXBsZXggY21hdGhfYXRhbmhfaW1wbChQeU1vZHVsZURlZiAqLCBQeV9jb21wbGV4KTsKK3N0YXRpYyBQeV9jb21wbGV4IGNtYXRoX2Nvc2hfaW1wbChQeU1vZHVsZURlZiAqLCBQeV9jb21wbGV4KTsKK3N0YXRpYyBQeV9jb21wbGV4IGNtYXRoX3NpbmhfaW1wbChQeU1vZHVsZURlZiAqLCBQeV9jb21wbGV4KTsKK3N0YXRpYyBQeV9jb21wbGV4IGNtYXRoX3NxcnRfaW1wbChQeU1vZHVsZURlZiAqLCBQeV9jb21wbGV4KTsKK3N0YXRpYyBQeV9jb21wbGV4IGNtYXRoX3RhbmhfaW1wbChQeU1vZHVsZURlZiAqLCBQeV9jb21wbGV4KTsKIHN0YXRpYyBQeU9iamVjdCAqIG1hdGhfZXJyb3Iodm9pZCk7CiAKIC8qIENvZGUgdG8gZGVhbCB3aXRoIHNwZWNpYWwgdmFsdWVzIChpbmZpbml0aWVzLCBOYU5zLCBldGMuKS4gKi8KQEAgLTEyMyw4ICsxNTgsMTggQEAKIAogc3RhdGljIFB5X2NvbXBsZXggYWNvc19zcGVjaWFsX3ZhbHVlc1s3XVs3XTsKIAorLypbY2xpbmljIGlucHV0XQorY21hdGguYWNvcyAtPiBQeV9jb21wbGV4X3Byb3RlY3RlZAorCisgICAgejogUHlfY29tcGxleF9wcm90ZWN0ZWQKKyAgICAvCisKK1JldHVybiB0aGUgYXJjIGNvc2luZSBvZiB6LgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCiBzdGF0aWMgUHlfY29tcGxleAotY19hY29zKFB5X2NvbXBsZXggeikKK2NtYXRoX2Fjb3NfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeV9jb21wbGV4IHopCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9N2MxZGQyMWZmODE4ZGI2YiBpbnB1dD1iZDZjYmQ3OGFlODUxOTI3XSovCiB7CiAgICAgUHlfY29tcGxleCBzMSwgczIsIHI7CiAKQEAgLTE0NSwxMCArMTkwLDEwIEBACiAgICAgfSBlbHNlIHsKICAgICAgICAgczEucmVhbCA9IDEuLXoucmVhbDsKICAgICAgICAgczEuaW1hZyA9IC16LmltYWc7Ci0gICAgICAgIHMxID0gY19zcXJ0KHMxKTsKKyAgICAgICAgczEgPSBjbWF0aF9zcXJ0X2ltcGwobW9kdWxlLCBzMSk7CiAgICAgICAgIHMyLnJlYWwgPSAxLit6LnJlYWw7CiAgICAgICAgIHMyLmltYWcgPSB6LmltYWc7Ci0gICAgICAgIHMyID0gY19zcXJ0KHMyKTsKKyAgICAgICAgczIgPSBjbWF0aF9zcXJ0X2ltcGwobW9kdWxlLCBzMik7CiAgICAgICAgIHIucmVhbCA9IDIuKmF0YW4yKHMxLnJlYWwsIHMyLnJlYWwpOwogICAgICAgICByLmltYWcgPSBtX2FzaW5oKHMyLnJlYWwqczEuaW1hZyAtIHMyLmltYWcqczEucmVhbCk7CiAgICAgfQpAQCAtMTU2LDE2ICsyMDEsMTggQEAKICAgICByZXR1cm4gcjsKIH0KIAotUHlEb2NfU1RSVkFSKGNfYWNvc19kb2MsCi0iYWNvcyh4KVxuIgotIlxuIgotIlJldHVybiB0aGUgYXJjIGNvc2luZSBvZiB4LiIpOwotCiAKIHN0YXRpYyBQeV9jb21wbGV4IGFjb3NoX3NwZWNpYWxfdmFsdWVzWzddWzddOwogCisvKltjbGluaWMgaW5wdXRdCitjbWF0aC5hY29zaCA9IGNtYXRoLmFjb3MKKworUmV0dXJuIHRoZSBpbnZlcnNlIGh5cGVyYm9saWMgY29zaW5lIG9mIHouCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKIHN0YXRpYyBQeV9jb21wbGV4Ci1jX2Fjb3NoKFB5X2NvbXBsZXggeikKK2NtYXRoX2Fjb3NoX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlfY29tcGxleCB6KQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWMyM2M3NzY0MjlkZWY5ODEgaW5wdXQ9M2Y2MWJlZTdkNzAzZTUzY10qLwogewogICAgIFB5X2NvbXBsZXggczEsIHMyLCByOwogCkBAIC0xNzgsMTAgKzIyNSwxMCBAQAogICAgIH0gZWxzZSB7CiAgICAgICAgIHMxLnJlYWwgPSB6LnJlYWwgLSAxLjsKICAgICAgICAgczEuaW1hZyA9IHouaW1hZzsKLSAgICAgICAgczEgPSBjX3NxcnQoczEpOworICAgICAgICBzMSA9IGNtYXRoX3NxcnRfaW1wbChtb2R1bGUsIHMxKTsKICAgICAgICAgczIucmVhbCA9IHoucmVhbCArIDEuOwogICAgICAgICBzMi5pbWFnID0gei5pbWFnOwotICAgICAgICBzMiA9IGNfc3FydChzMik7CisgICAgICAgIHMyID0gY21hdGhfc3FydF9pbXBsKG1vZHVsZSwgczIpOwogICAgICAgICByLnJlYWwgPSBtX2FzaW5oKHMxLnJlYWwqczIucmVhbCArIHMxLmltYWcqczIuaW1hZyk7CiAgICAgICAgIHIuaW1hZyA9IDIuKmF0YW4yKHMxLmltYWcsIHMyLnJlYWwpOwogICAgIH0KQEAgLTE4OSwzNSArMjM2LDM4IEBACiAgICAgcmV0dXJuIHI7CiB9CiAKLVB5RG9jX1NUUlZBUihjX2Fjb3NoX2RvYywKLSJhY29zaCh4KVxuIgotIlxuIgotIlJldHVybiB0aGUgaW52ZXJzZSBoeXBlcmJvbGljIGNvc2luZSBvZiB4LiIpOworLypbY2xpbmljIGlucHV0XQorY21hdGguYXNpbiA9IGNtYXRoLmFjb3MKIAorUmV0dXJuIHRoZSBhcmMgc2luZSBvZiB6LgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLwogCiBzdGF0aWMgUHlfY29tcGxleAotY19hc2luKFB5X2NvbXBsZXggeikKK2NtYXRoX2FzaW5faW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeV9jb21wbGV4IHopCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9NDJkMjM0NmQ0NjY5MDgyNiBpbnB1dD1iZTBiZjBjZmRkNTIzOWM1XSovCiB7CiAgICAgLyogYXNpbih6KSA9IC1pIGFzaW5oKGl6KSAqLwogICAgIFB5X2NvbXBsZXggcywgcjsKICAgICBzLnJlYWwgPSAtei5pbWFnOwogICAgIHMuaW1hZyA9IHoucmVhbDsKLSAgICBzID0gY19hc2luaChzKTsKKyAgICBzID0gY21hdGhfYXNpbmhfaW1wbChtb2R1bGUsIHMpOwogICAgIHIucmVhbCA9IHMuaW1hZzsKICAgICByLmltYWcgPSAtcy5yZWFsOwogICAgIHJldHVybiByOwogfQogCi1QeURvY19TVFJWQVIoY19hc2luX2RvYywKLSJhc2luKHgpXG4iCi0iXG4iCi0iUmV0dXJuIHRoZSBhcmMgc2luZSBvZiB4LiIpOwotCiAKIHN0YXRpYyBQeV9jb21wbGV4IGFzaW5oX3NwZWNpYWxfdmFsdWVzWzddWzddOwogCisvKltjbGluaWMgaW5wdXRdCitjbWF0aC5hc2luaCA9IGNtYXRoLmFjb3MKKworUmV0dXJuIHRoZSBpbnZlcnNlIGh5cGVyYm9saWMgc2luZSBvZiB6LgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCiBzdGF0aWMgUHlfY29tcGxleAotY19hc2luaChQeV9jb21wbGV4IHopCitjbWF0aF9hc2luaF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5X2NvbXBsZXggeikKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD0wYzY2NjQ4MjNjN2IxYjM1IGlucHV0PTVjMDk0NDhmY2ZjODlhNzldKi8KIHsKICAgICBQeV9jb21wbGV4IHMxLCBzMiwgcjsKIApAQCAtMjM1LDEwICsyODUsMTAgQEAKICAgICB9IGVsc2UgewogICAgICAgICBzMS5yZWFsID0gMS4rei5pbWFnOwogICAgICAgICBzMS5pbWFnID0gLXoucmVhbDsKLSAgICAgICAgczEgPSBjX3NxcnQoczEpOworICAgICAgICBzMSA9IGNtYXRoX3NxcnRfaW1wbChtb2R1bGUsIHMxKTsKICAgICAgICAgczIucmVhbCA9IDEuLXouaW1hZzsKICAgICAgICAgczIuaW1hZyA9IHoucmVhbDsKLSAgICAgICAgczIgPSBjX3NxcnQoczIpOworICAgICAgICBzMiA9IGNtYXRoX3NxcnRfaW1wbChtb2R1bGUsIHMyKTsKICAgICAgICAgci5yZWFsID0gbV9hc2luaChzMS5yZWFsKnMyLmltYWctczIucmVhbCpzMS5pbWFnKTsKICAgICAgICAgci5pbWFnID0gYXRhbjIoei5pbWFnLCBzMS5yZWFsKnMyLnJlYWwtczEuaW1hZypzMi5pbWFnKTsKICAgICB9CkBAIC0yNDYsMjAgKzI5NiwyMiBAQAogICAgIHJldHVybiByOwogfQogCi1QeURvY19TVFJWQVIoY19hc2luaF9kb2MsCi0iYXNpbmgoeClcbiIKLSJcbiIKLSJSZXR1cm4gdGhlIGludmVyc2UgaHlwZXJib2xpYyBzaW5lIG9mIHguIik7CiAKKy8qW2NsaW5pYyBpbnB1dF0KK2NtYXRoLmF0YW4gPSBjbWF0aC5hY29zCisKK1JldHVybiB0aGUgYXJjIHRhbmdlbnQgb2Ygei4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KIAogc3RhdGljIFB5X2NvbXBsZXgKLWNfYXRhbihQeV9jb21wbGV4IHopCitjbWF0aF9hdGFuX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlfY29tcGxleCB6KQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWI3ZDQ0ZjAyYzZhNWMzYjUgaW5wdXQ9M2IyMWZmN2Q1ZWFjNjMyYV0qLwogewogICAgIC8qIGF0YW4oeikgPSAtaSBhdGFuaChpeikgKi8KICAgICBQeV9jb21wbGV4IHMsIHI7CiAgICAgcy5yZWFsID0gLXouaW1hZzsKICAgICBzLmltYWcgPSB6LnJlYWw7Ci0gICAgcyA9IGNfYXRhbmgocyk7CisgICAgcyA9IGNtYXRoX2F0YW5oX2ltcGwobW9kdWxlLCBzKTsKICAgICByLnJlYWwgPSBzLmltYWc7CiAgICAgci5pbWFnID0gLXMucmVhbDsKICAgICByZXR1cm4gcjsKQEAgLTI5NSwxNiArMzQ3LDE4IEBACiAgICAgcmV0dXJuIGF0YW4yKHouaW1hZywgei5yZWFsKTsKIH0KIAotUHlEb2NfU1RSVkFSKGNfYXRhbl9kb2MsCi0iYXRhbih4KVxuIgotIlxuIgotIlJldHVybiB0aGUgYXJjIHRhbmdlbnQgb2YgeC4iKTsKLQogCiBzdGF0aWMgUHlfY29tcGxleCBhdGFuaF9zcGVjaWFsX3ZhbHVlc1s3XVs3XTsKIAorLypbY2xpbmljIGlucHV0XQorY21hdGguYXRhbmggPSBjbWF0aC5hY29zCisKK1JldHVybiB0aGUgaW52ZXJzZSBoeXBlcmJvbGljIHRhbmdlbnQgb2Ygei4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKwogc3RhdGljIFB5X2NvbXBsZXgKLWNfYXRhbmgoUHlfY29tcGxleCB6KQorY21hdGhfYXRhbmhfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeV9jb21wbGV4IHopCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9Mjc5ZTBiOWZlZmM4ZGE3YyBpbnB1dD0yYjNmZGI4MmZiMzQ0ODdiXSovCiB7CiAgICAgUHlfY29tcGxleCByOwogICAgIGRvdWJsZSBheSwgaDsKQEAgLTMxMyw3ICszNjcsNyBAQAogCiAgICAgLyogUmVkdWNlIHRvIGNhc2Ugd2hlcmUgei5yZWFsID49IDAuLCB1c2luZyBhdGFuaCh6KSA9IC1hdGFuaCgteikuICovCiAgICAgaWYgKHoucmVhbCA8IDAuKSB7Ci0gICAgICAgIHJldHVybiBjX25lZyhjX2F0YW5oKGNfbmVnKHopKSk7CisgICAgICAgIHJldHVybiBfUHlfY19uZWcoY21hdGhfYXRhbmhfaW1wbChtb2R1bGUsIF9QeV9jX25lZyh6KSkpOwogICAgIH0KIAogICAgIGF5ID0gZmFicyh6LmltYWcpOwpAQCAtMzUwLDM0ICs0MDQsMzggQEAKICAgICByZXR1cm4gcjsKIH0KIAotUHlEb2NfU1RSVkFSKGNfYXRhbmhfZG9jLAotImF0YW5oKHgpXG4iCi0iXG4iCi0iUmV0dXJuIHRoZSBpbnZlcnNlIGh5cGVyYm9saWMgdGFuZ2VudCBvZiB4LiIpOwogCisvKltjbGluaWMgaW5wdXRdCitjbWF0aC5jb3MgPSBjbWF0aC5hY29zCisKK1JldHVybiB0aGUgY29zaW5lIG9mIHouCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCiAKIHN0YXRpYyBQeV9jb21wbGV4Ci1jX2NvcyhQeV9jb21wbGV4IHopCitjbWF0aF9jb3NfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeV9jb21wbGV4IHopCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9OWQxY2RjMWI1ZTc2MTY2NyBpbnB1dD02MDIyZTM5Yjc3MTI3YWM3XSovCiB7CiAgICAgLyogY29zKHopID0gY29zaChpeikgKi8KICAgICBQeV9jb21wbGV4IHI7CiAgICAgci5yZWFsID0gLXouaW1hZzsKICAgICByLmltYWcgPSB6LnJlYWw7Ci0gICAgciA9IGNfY29zaChyKTsKKyAgICByID0gY21hdGhfY29zaF9pbXBsKG1vZHVsZSwgcik7CiAgICAgcmV0dXJuIHI7CiB9CiAKLVB5RG9jX1NUUlZBUihjX2Nvc19kb2MsCi0iY29zKHgpXG4iCi0iXG4iCi0iUmV0dXJuIHRoZSBjb3NpbmUgb2YgeC4iKTsKLQogCiAvKiBjb3NoKGluZmluaXR5ICsgaSp5KSBuZWVkcyB0byBiZSBkZWFsdCB3aXRoIHNwZWNpYWxseSAqLwogc3RhdGljIFB5X2NvbXBsZXggY29zaF9zcGVjaWFsX3ZhbHVlc1s3XVs3XTsKIAorLypbY2xpbmljIGlucHV0XQorY21hdGguY29zaCA9IGNtYXRoLmFjb3MKKworUmV0dXJuIHRoZSBoeXBlcmJvbGljIGNvc2luZSBvZiB6LgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCiBzdGF0aWMgUHlfY29tcGxleAotY19jb3NoKFB5X2NvbXBsZXggeikKK2NtYXRoX2Nvc2hfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeV9jb21wbGV4IHopCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9ZjNiNWQzMjgyYjMwMjRkMyBpbnB1dD1kNmI2NjMzOWU5Y2MzMzJiXSovCiB7CiAgICAgUHlfY29tcGxleCByOwogICAgIGRvdWJsZSB4X21pbnVzX29uZTsKQEAgLTQyNiwxOCArNDg0LDIwIEBACiAgICAgcmV0dXJuIHI7CiB9CiAKLVB5RG9jX1NUUlZBUihjX2Nvc2hfZG9jLAotImNvc2goeClcbiIKLSJcbiIKLSJSZXR1cm4gdGhlIGh5cGVyYm9saWMgY29zaW5lIG9mIHguIik7Ci0KIAogLyogZXhwKGluZmluaXR5ICsgaSp5KSBhbmQgZXhwKC1pbmZpbml0eSArIGkqeSkgbmVlZCBzcGVjaWFsIHRyZWF0bWVudCBmb3IKICAgIGZpbml0ZSB5ICovCiBzdGF0aWMgUHlfY29tcGxleCBleHBfc3BlY2lhbF92YWx1ZXNbN11bN107CiAKKy8qW2NsaW5pYyBpbnB1dF0KK2NtYXRoLmV4cCA9IGNtYXRoLmFjb3MKKworUmV0dXJuIHRoZSBleHBvbmVudGlhbCB2YWx1ZSBlKip6LgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCiBzdGF0aWMgUHlfY29tcGxleAotY19leHAoUHlfY29tcGxleCB6KQorY21hdGhfZXhwX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlfY29tcGxleCB6KQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTZmODgyNWViMmJjYWQ5YmEgaW5wdXQ9OGI5ZTZjZjhhOTIxNzRjM10qLwogewogICAgIFB5X2NvbXBsZXggcjsKICAgICBkb3VibGUgbDsKQEAgLTQ4NiwxMiArNTQ2LDYgQEAKICAgICByZXR1cm4gcjsKIH0KIAotUHlEb2NfU1RSVkFSKGNfZXhwX2RvYywKLSJleHAoeClcbiIKLSJcbiIKLSJSZXR1cm4gdGhlIGV4cG9uZW50aWFsIHZhbHVlIGUqKnguIik7Ci0KLQogc3RhdGljIFB5X2NvbXBsZXggbG9nX3NwZWNpYWxfdmFsdWVzWzddWzddOwogCiBzdGF0aWMgUHlfY29tcGxleApAQCAtNTY0LDggKzYxOCwxNSBAQAogfQogCiAKKy8qW2NsaW5pYyBpbnB1dF0KK2NtYXRoLmxvZzEwID0gY21hdGguYWNvcworCitSZXR1cm4gdGhlIGJhc2UtMTAgbG9nYXJpdGhtIG9mIHouCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKIHN0YXRpYyBQeV9jb21wbGV4Ci1jX2xvZzEwKFB5X2NvbXBsZXggeikKK2NtYXRoX2xvZzEwX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlfY29tcGxleCB6KQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWM3YzQyNmNhMGU3ODIzNDEgaW5wdXQ9Y2ZmNTY0NGY3M2MxNTE5Y10qLwogewogICAgIFB5X2NvbXBsZXggcjsKICAgICBpbnQgZXJybm9fc2F2ZTsKQEAgLTU3OCwzNiArNjM5LDQwIEBACiAgICAgcmV0dXJuIHI7CiB9CiAKLVB5RG9jX1NUUlZBUihjX2xvZzEwX2RvYywKLSJsb2cxMCh4KVxuIgotIlxuIgotIlJldHVybiB0aGUgYmFzZS0xMCBsb2dhcml0aG0gb2YgeC4iKTsKIAorLypbY2xpbmljIGlucHV0XQorY21hdGguc2luID0gY21hdGguYWNvcworCitSZXR1cm4gdGhlIHNpbmUgb2Ygei4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KIAogc3RhdGljIFB5X2NvbXBsZXgKLWNfc2luKFB5X2NvbXBsZXggeikKK2NtYXRoX3Npbl9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5X2NvbXBsZXggeikKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1lN2Y1ZTJiMjUzODI1YWM3IGlucHV0PTJkMzUxOTg0MmE4YjRiODVdKi8KIHsKICAgICAvKiBzaW4oeikgPSAtaSBzaW4oaXopICovCiAgICAgUHlfY29tcGxleCBzLCByOwogICAgIHMucmVhbCA9IC16LmltYWc7CiAgICAgcy5pbWFnID0gei5yZWFsOwotICAgIHMgPSBjX3Npbmgocyk7CisgICAgcyA9IGNtYXRoX3NpbmhfaW1wbChtb2R1bGUsIHMpOwogICAgIHIucmVhbCA9IHMuaW1hZzsKICAgICByLmltYWcgPSAtcy5yZWFsOwogICAgIHJldHVybiByOwogfQogCi1QeURvY19TVFJWQVIoY19zaW5fZG9jLAotInNpbih4KVxuIgotIlxuIgotIlJldHVybiB0aGUgc2luZSBvZiB4LiIpOwotCiAKIC8qIHNpbmgoaW5maW5pdHkgKyBpKnkpIG5lZWRzIHRvIGJlIGRlYWx0IHdpdGggc3BlY2lhbGx5ICovCiBzdGF0aWMgUHlfY29tcGxleCBzaW5oX3NwZWNpYWxfdmFsdWVzWzddWzddOwogCisvKltjbGluaWMgaW5wdXRdCitjbWF0aC5zaW5oID0gY21hdGguYWNvcworCitSZXR1cm4gdGhlIGh5cGVyYm9saWMgc2luZSBvZiB6LgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCiBzdGF0aWMgUHlfY29tcGxleAotY19zaW5oKFB5X2NvbXBsZXggeikKK2NtYXRoX3NpbmhfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeV9jb21wbGV4IHopCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9ZDcxZmZmODI5ODA0M2E5NSBpbnB1dD1kMmQzZmM4YzFkZGZkMmRkXSovCiB7CiAgICAgUHlfY29tcGxleCByOwogICAgIGRvdWJsZSB4X21pbnVzX29uZTsKQEAgLTY1NSwxNiArNzIwLDE4IEBACiAgICAgcmV0dXJuIHI7CiB9CiAKLVB5RG9jX1NUUlZBUihjX3NpbmhfZG9jLAotInNpbmgoeClcbiIKLSJcbiIKLSJSZXR1cm4gdGhlIGh5cGVyYm9saWMgc2luZSBvZiB4LiIpOwotCiAKIHN0YXRpYyBQeV9jb21wbGV4IHNxcnRfc3BlY2lhbF92YWx1ZXNbN11bN107CiAKKy8qW2NsaW5pYyBpbnB1dF0KK2NtYXRoLnNxcnQgPSBjbWF0aC5hY29zCisKK1JldHVybiB0aGUgc3F1YXJlIHJvb3Qgb2Ygei4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKwogc3RhdGljIFB5X2NvbXBsZXgKLWNfc3FydChQeV9jb21wbGV4IHopCitjbWF0aF9zcXJ0X2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlfY29tcGxleCB6KQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWI2YmRhMjgzZDBjNWE3YjQgaW5wdXQ9NzA4OGIxNjZmYzlhNThjN10qLwogewogICAgIC8qCiAgICAgICAgTWV0aG9kOiB1c2Ugc3ltbWV0cmllcyB0byByZWR1Y2UgdG8gdGhlIGNhc2Ugd2hlbiB4ID0gei5yZWFsIGFuZCB5CkBAIC03MzAsMzYgKzc5Nyw0MCBAQAogICAgIHJldHVybiByOwogfQogCi1QeURvY19TVFJWQVIoY19zcXJ0X2RvYywKLSJzcXJ0KHgpXG4iCi0iXG4iCi0iUmV0dXJuIHRoZSBzcXVhcmUgcm9vdCBvZiB4LiIpOwogCisvKltjbGluaWMgaW5wdXRdCitjbWF0aC50YW4gPSBjbWF0aC5hY29zCisKK1JldHVybiB0aGUgdGFuZ2VudCBvZiB6LgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLwogCiBzdGF0aWMgUHlfY29tcGxleAotY190YW4oUHlfY29tcGxleCB6KQorY21hdGhfdGFuX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlfY29tcGxleCB6KQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWRmMzc0YmFjZjM2ZDk5YjQgaW5wdXQ9ZmMxNjdlNTI4NzY3ODg4ZV0qLwogewogICAgIC8qIHRhbih6KSA9IC1pIHRhbmgoaXopICovCiAgICAgUHlfY29tcGxleCBzLCByOwogICAgIHMucmVhbCA9IC16LmltYWc7CiAgICAgcy5pbWFnID0gei5yZWFsOwotICAgIHMgPSBjX3Rhbmgocyk7CisgICAgcyA9IGNtYXRoX3RhbmhfaW1wbChtb2R1bGUsIHMpOwogICAgIHIucmVhbCA9IHMuaW1hZzsKICAgICByLmltYWcgPSAtcy5yZWFsOwogICAgIHJldHVybiByOwogfQogCi1QeURvY19TVFJWQVIoY190YW5fZG9jLAotInRhbih4KVxuIgotIlxuIgotIlJldHVybiB0aGUgdGFuZ2VudCBvZiB4LiIpOwotCiAKIC8qIHRhbmgoaW5maW5pdHkgKyBpKnkpIG5lZWRzIHRvIGJlIGRlYWx0IHdpdGggc3BlY2lhbGx5ICovCiBzdGF0aWMgUHlfY29tcGxleCB0YW5oX3NwZWNpYWxfdmFsdWVzWzddWzddOwogCisvKltjbGluaWMgaW5wdXRdCitjbWF0aC50YW5oID0gY21hdGguYWNvcworCitSZXR1cm4gdGhlIGh5cGVyYm9saWMgdGFuZ2VudCBvZiB6LgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCiBzdGF0aWMgUHlfY29tcGxleAotY190YW5oKFB5X2NvbXBsZXggeikKK2NtYXRoX3RhbmhfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeV9jb21wbGV4IHopCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9ZjU3ODc3M2QyN2ExOGU5NiBpbnB1dD0yMmY2N2Y5ZGM2ZDI5Njg1XSovCiB7CiAgICAgLyogRm9ybXVsYToKIApAQCAtODIyLDI3ICs4OTMsMzUgQEAKICAgICByZXR1cm4gcjsKIH0KIAotUHlEb2NfU1RSVkFSKGNfdGFuaF9kb2MsCi0idGFuaCh4KVxuIgotIlxuIgotIlJldHVybiB0aGUgaHlwZXJib2xpYyB0YW5nZW50IG9mIHguIik7CiAKKy8qW2NsaW5pYyBpbnB1dF0KK2NtYXRoLmxvZworCisgICAgeDogUHlfY29tcGxleAorICAgIHlfb2JqOiBvYmplY3QgPSBOVUxMCisgICAgLworCitUaGUgbG9nYXJpdGhtIG9mIHogdG8gdGhlIGdpdmVuIGJhc2UuCisKK0lmIHRoZSBiYXNlIG5vdCBzcGVjaWZpZWQsIHJldHVybnMgdGhlIG5hdHVyYWwgbG9nYXJpdGhtIChiYXNlIGUpIG9mIHouCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1jbWF0aF9sb2coUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQorY21hdGhfbG9nX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlfY29tcGxleCB4LCBQeU9iamVjdCAqeV9vYmopCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9MzVlMmExZTUyMjliNWE0NiBpbnB1dD1lZTBlODIzYTdjNmU2OGVhXSovCiB7Ci0gICAgUHlfY29tcGxleCB4OwogICAgIFB5X2NvbXBsZXggeTsKIAotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiRHxEIiwgJngsICZ5KSkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0KICAgICBlcnJubyA9IDA7CiAgICAgUHlGUEVfU1RBUlRfUFJPVEVDVCgiY29tcGxleCBmdW5jdGlvbiIsIHJldHVybiAwKQogICAgIHggPSBjX2xvZyh4KTsKLSAgICBpZiAoUHlUdXBsZV9HRVRfU0laRShhcmdzKSA9PSAyKSB7CisgICAgaWYgKHlfb2JqICE9IE5VTEwpIHsKKyAgICAgICAgeSA9IFB5Q29tcGxleF9Bc0NDb21wbGV4KHlfb2JqKTsKKyAgICAgICAgaWYgKFB5RXJyX09jY3VycmVkKCkpIHsKKyAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICB9CiAgICAgICAgIHkgPSBjX2xvZyh5KTsKLSAgICAgICAgeCA9IGNfcXVvdCh4LCB5KTsKKyAgICAgICAgeCA9IF9QeV9jX3F1b3QoeCwgeSk7CiAgICAgfQogICAgIFB5RlBFX0VORF9QUk9URUNUKHgpCiAgICAgaWYgKGVycm5vICE9IDApCkBAIC04NTAsMTAgKzkyOSw2IEBACiAgICAgcmV0dXJuIFB5Q29tcGxleF9Gcm9tQ0NvbXBsZXgoeCk7CiB9CiAKLVB5RG9jX1NUUlZBUihjbWF0aF9sb2dfZG9jLAotImxvZyh4WywgYmFzZV0pIC0+IHRoZSBsb2dhcml0aG0gb2YgeCB0byB0aGUgZ2l2ZW4gYmFzZS5cblwKLUlmIHRoZSBiYXNlIG5vdCBzcGVjaWZpZWQsIHJldHVybnMgdGhlIG5hdHVyYWwgbG9nYXJpdGhtIChiYXNlIGUpIG9mIHguIik7Ci0KIAogLyogQW5kIG5vdyB0aGUgZ2x1ZSB0byBtYWtlIHRoZW0gYXZhaWxhYmxlIGZyb20gUHl0aG9uOiAqLwogCkBAIC04NjksNTcgKzk0NCwyMiBAQAogICAgIHJldHVybiBOVUxMOwogfQogCi1zdGF0aWMgUHlPYmplY3QgKgotbWF0aF8xKFB5T2JqZWN0ICphcmdzLCBQeV9jb21wbGV4ICgqZnVuYykoUHlfY29tcGxleCkpCi17Ci0gICAgUHlfY29tcGxleCB4LHIgOwotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiRCIsICZ4KSkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgZXJybm8gPSAwOwotICAgIFB5RlBFX1NUQVJUX1BST1RFQ1QoImNvbXBsZXggZnVuY3Rpb24iLCByZXR1cm4gMCk7Ci0gICAgciA9ICgqZnVuYykoeCk7Ci0gICAgUHlGUEVfRU5EX1BST1RFQ1Qocik7Ci0gICAgaWYgKGVycm5vID09IEVET00pIHsKLSAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsICJtYXRoIGRvbWFpbiBlcnJvciIpOwotICAgICAgICByZXR1cm4gTlVMTDsKLSAgICB9Ci0gICAgZWxzZSBpZiAoZXJybm8gPT0gRVJBTkdFKSB7Ci0gICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19PdmVyZmxvd0Vycm9yLCAibWF0aCByYW5nZSBlcnJvciIpOwotICAgICAgICByZXR1cm4gTlVMTDsKLSAgICB9Ci0gICAgZWxzZSB7Ci0gICAgICAgIHJldHVybiBQeUNvbXBsZXhfRnJvbUNDb21wbGV4KHIpOwotICAgIH0KLX0KIAotI2RlZmluZSBGVU5DMShzdHVibmFtZSwgZnVuYykgXAotICAgIHN0YXRpYyBQeU9iamVjdCAqIHN0dWJuYW1lKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykgeyBcCi0gICAgICAgIHJldHVybiBtYXRoXzEoYXJncywgZnVuYyk7IFwKLSAgICB9CisvKltjbGluaWMgaW5wdXRdCitjbWF0aC5waGFzZQogCi1GVU5DMShjbWF0aF9hY29zLCBjX2Fjb3MpCi1GVU5DMShjbWF0aF9hY29zaCwgY19hY29zaCkKLUZVTkMxKGNtYXRoX2FzaW4sIGNfYXNpbikKLUZVTkMxKGNtYXRoX2FzaW5oLCBjX2FzaW5oKQotRlVOQzEoY21hdGhfYXRhbiwgY19hdGFuKQotRlVOQzEoY21hdGhfYXRhbmgsIGNfYXRhbmgpCi1GVU5DMShjbWF0aF9jb3MsIGNfY29zKQotRlVOQzEoY21hdGhfY29zaCwgY19jb3NoKQotRlVOQzEoY21hdGhfZXhwLCBjX2V4cCkKLUZVTkMxKGNtYXRoX2xvZzEwLCBjX2xvZzEwKQotRlVOQzEoY21hdGhfc2luLCBjX3NpbikKLUZVTkMxKGNtYXRoX3NpbmgsIGNfc2luaCkKLUZVTkMxKGNtYXRoX3NxcnQsIGNfc3FydCkKLUZVTkMxKGNtYXRoX3RhbiwgY190YW4pCi1GVU5DMShjbWF0aF90YW5oLCBjX3RhbmgpCisgICAgejogUHlfY29tcGxleAorICAgIC8KKworUmV0dXJuIGFyZ3VtZW50LCBhbHNvIGtub3duIGFzIHRoZSBwaGFzZSBhbmdsZSwgb2YgYSBjb21wbGV4LgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLwogCiBzdGF0aWMgUHlPYmplY3QgKgotY21hdGhfcGhhc2UoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQorY21hdGhfcGhhc2VfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeV9jb21wbGV4IHopCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9ZTA5ZWFmMzczY2I2MjRjMyBpbnB1dD01Y2Y3NTIyOGJhOTRiNjlkXSovCiB7Ci0gICAgUHlfY29tcGxleCB6OwogICAgIGRvdWJsZSBwaGk7Ci0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJEOnBoYXNlIiwgJnopKQotICAgICAgICByZXR1cm4gTlVMTDsKKwogICAgIGVycm5vID0gMDsKICAgICBQeUZQRV9TVEFSVF9QUk9URUNUKCJhcmcgZnVuY3Rpb24iLCByZXR1cm4gMCkKICAgICBwaGkgPSBjX2F0YW4yKHopOwpAQCAtOTMwLDIwICs5NzAsMjYgQEAKICAgICAgICAgcmV0dXJuIFB5RmxvYXRfRnJvbURvdWJsZShwaGkpOwogfQogCi1QeURvY19TVFJWQVIoY21hdGhfcGhhc2VfZG9jLAotInBoYXNlKHopIC0+IGZsb2F0XG5cblwKLVJldHVybiBhcmd1bWVudCwgYWxzbyBrbm93biBhcyB0aGUgcGhhc2UgYW5nbGUsIG9mIGEgY29tcGxleC4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK2NtYXRoLnBvbGFyCisKKyAgICB6OiBQeV9jb21wbGV4CisgICAgLworCitDb252ZXJ0IGEgY29tcGxleCBmcm9tIHJlY3Rhbmd1bGFyIGNvb3JkaW5hdGVzIHRvIHBvbGFyIGNvb3JkaW5hdGVzLgorCityIGlzIHRoZSBkaXN0YW5jZSBmcm9tIDAgYW5kIHBoaSB0aGUgcGhhc2UgYW5nbGUuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1jbWF0aF9wb2xhcihQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCitjbWF0aF9wb2xhcl9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5X2NvbXBsZXggeikKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD0wN2Q0MWIxNmM4Nzc4NzVhIGlucHV0PTI2YzM1MzU3NGZkMWE4NjFdKi8KIHsKLSAgICBQeV9jb21wbGV4IHo7CiAgICAgZG91YmxlIHIsIHBoaTsKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgIkQ6cG9sYXIiLCAmeikpCi0gICAgICAgIHJldHVybiBOVUxMOworCiAgICAgUHlGUEVfU1RBUlRfUFJPVEVDVCgicG9sYXIgZnVuY3Rpb24iLCByZXR1cm4gMCkKICAgICBwaGkgPSBjX2F0YW4yKHopOyAvKiBzaG91bGQgbm90IGNhdXNlIGFueSBleGNlcHRpb24gKi8KLSAgICByID0gY19hYnMoeik7IC8qIHNldHMgZXJybm8gdG8gRVJBTkdFIG9uIG92ZXJmbG93OyAgb3RoZXJ3aXNlIDAgKi8KKyAgICByID0gX1B5X2NfYWJzKHopOyAvKiBzZXRzIGVycm5vIHRvIEVSQU5HRSBvbiBvdmVyZmxvdzsgIG90aGVyd2lzZSAwICovCiAgICAgUHlGUEVfRU5EX1BST1RFQ1QocikKICAgICBpZiAoZXJybm8gIT0gMCkKICAgICAgICAgcmV0dXJuIG1hdGhfZXJyb3IoKTsKQEAgLTk1MSwxMSArOTk3LDYgQEAKICAgICAgICAgcmV0dXJuIFB5X0J1aWxkVmFsdWUoImRkIiwgciwgcGhpKTsKIH0KIAotUHlEb2NfU1RSVkFSKGNtYXRoX3BvbGFyX2RvYywKLSJwb2xhcih6KSAtPiByOiBmbG9hdCwgcGhpOiBmbG9hdFxuXG5cCi1Db252ZXJ0IGEgY29tcGxleCBmcm9tIHJlY3Rhbmd1bGFyIGNvb3JkaW5hdGVzIHRvIHBvbGFyIGNvb3JkaW5hdGVzLiByIGlzXG5cCi10aGUgZGlzdGFuY2UgZnJvbSAwIGFuZCBwaGkgdGhlIHBoYXNlIGFuZ2xlLiIpOwotCiAvKgogICByZWN0KCkgaXNuJ3QgY292ZXJlZCBieSB0aGUgQzk5IHN0YW5kYXJkLCBidXQgaXQncyBub3QgdG9vIGhhcmQgdG8KICAgZmlndXJlIG91dCAnc3Bpcml0IG9mIEM5OScgcnVsZXMgZm9yIHNwZWNpYWwgdmFsdWUgaGFuZGluZzoKQEAgLTk2OSwxMyArMTAxMCwyMSBAQAogCiBzdGF0aWMgUHlfY29tcGxleCByZWN0X3NwZWNpYWxfdmFsdWVzWzddWzddOwogCisvKltjbGluaWMgaW5wdXRdCitjbWF0aC5yZWN0CisKKyAgICByOiBkb3VibGUKKyAgICBwaGk6IGRvdWJsZQorICAgIC8KKworQ29udmVydCBmcm9tIHBvbGFyIGNvb3JkaW5hdGVzIHRvIHJlY3Rhbmd1bGFyIGNvb3JkaW5hdGVzLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCiBzdGF0aWMgUHlPYmplY3QgKgotY21hdGhfcmVjdChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCitjbWF0aF9yZWN0X2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgZG91YmxlIHIsIGRvdWJsZSBwaGkpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9ZDk3YTg3NDliZDYzZTlkNSBpbnB1dD0yNGM1NjQ2ZDE0N2VmZDY5XSovCiB7CiAgICAgUHlfY29tcGxleCB6OwotICAgIGRvdWJsZSByLCBwaGk7Ci0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJkZDpyZWN0IiwgJnIsICZwaGkpKQotICAgICAgICByZXR1cm4gTlVMTDsKICAgICBlcnJubyA9IDA7CiAgICAgUHlGUEVfU1RBUlRfUFJPVEVDVCgicmVjdCBmdW5jdGlvbiIsIHJldHVybiAwKQogCkBAIC0xMDI2LDc5ICsxMDc1LDc1IEBACiAgICAgICAgIHJldHVybiBQeUNvbXBsZXhfRnJvbUNDb21wbGV4KHopOwogfQogCi1QeURvY19TVFJWQVIoY21hdGhfcmVjdF9kb2MsCi0icmVjdChyLCBwaGkpIC0+IHo6IGNvbXBsZXhcblxuXAotQ29udmVydCBmcm9tIHBvbGFyIGNvb3JkaW5hdGVzIHRvIHJlY3Rhbmd1bGFyIGNvb3JkaW5hdGVzLiIpOworLypbY2xpbmljIGlucHV0XQorY21hdGguaXNmaW5pdGUgPSBjbWF0aC5wb2xhcgorCitSZXR1cm4gVHJ1ZSBpZiBib3RoIHRoZSByZWFsIGFuZCBpbWFnaW5hcnkgcGFydHMgb2YgeiBhcmUgZmluaXRlLCBlbHNlIEZhbHNlLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLwogCiBzdGF0aWMgUHlPYmplY3QgKgotY21hdGhfaXNmaW5pdGUoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQorY21hdGhfaXNmaW5pdGVfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeV9jb21wbGV4IHopCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9OGY2NjgyZmE5M2RlNDVkNiBpbnB1dD04NDhlN2VlNzAxODk1ODE1XSovCiB7Ci0gICAgUHlfY29tcGxleCB6OwotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiRDppc2Zpbml0ZSIsICZ6KSkKLSAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgcmV0dXJuIFB5Qm9vbF9Gcm9tTG9uZyhQeV9JU19GSU5JVEUoei5yZWFsKSAmJiBQeV9JU19GSU5JVEUoei5pbWFnKSk7CiB9CiAKLVB5RG9jX1NUUlZBUihjbWF0aF9pc2Zpbml0ZV9kb2MsCi0iaXNmaW5pdGUoeikgLT4gYm9vbFxuXAotUmV0dXJuIFRydWUgaWYgYm90aCB0aGUgcmVhbCBhbmQgaW1hZ2luYXJ5IHBhcnRzIG9mIHogYXJlIGZpbml0ZSwgZWxzZSBGYWxzZS4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK2NtYXRoLmlzbmFuID0gY21hdGgucG9sYXIKKworQ2hlY2tzIGlmIHRoZSByZWFsIG9yIGltYWdpbmFyeSBwYXJ0IG9mIHogbm90IGEgbnVtYmVyIChOYU4pLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLwogCiBzdGF0aWMgUHlPYmplY3QgKgotY21hdGhfaXNuYW4oUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQorY21hdGhfaXNuYW5faW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeV9jb21wbGV4IHopCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9Yjg1ZmU4YzIwNDc3MThlZSBpbnB1dD03MTc5OWY1ZDI4NGM5YmFmXSovCiB7Ci0gICAgUHlfY29tcGxleCB6OwotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiRDppc25hbiIsICZ6KSkKLSAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgcmV0dXJuIFB5Qm9vbF9Gcm9tTG9uZyhQeV9JU19OQU4oei5yZWFsKSB8fCBQeV9JU19OQU4oei5pbWFnKSk7CiB9CiAKLVB5RG9jX1NUUlZBUihjbWF0aF9pc25hbl9kb2MsCi0iaXNuYW4oeikgLT4gYm9vbFxuXAotQ2hlY2tzIGlmIHRoZSByZWFsIG9yIGltYWdpbmFyeSBwYXJ0IG9mIHogbm90IGEgbnVtYmVyIChOYU4pIik7CisvKltjbGluaWMgaW5wdXRdCitjbWF0aC5pc2luZiA9IGNtYXRoLnBvbGFyCisKK0NoZWNrcyBpZiB0aGUgcmVhbCBvciBpbWFnaW5hcnkgcGFydCBvZiB6IGlzIGluZmluaXRlLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLwogCiBzdGF0aWMgUHlPYmplY3QgKgotY21hdGhfaXNpbmYoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQorY21hdGhfaXNpbmZfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeV9jb21wbGV4IHopCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9OGNhOWM2MTA5ZTQ2OGJmNCBpbnB1dD0zNjNkZjE1NWM3MTgxMzI5XSovCiB7Ci0gICAgUHlfY29tcGxleCB6OwotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiRDppc2luZiIsICZ6KSkKLSAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgcmV0dXJuIFB5Qm9vbF9Gcm9tTG9uZyhQeV9JU19JTkZJTklUWSh6LnJlYWwpIHx8CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeV9JU19JTkZJTklUWSh6LmltYWcpKTsKIH0KIAotUHlEb2NfU1RSVkFSKGNtYXRoX2lzaW5mX2RvYywKLSJpc2luZih6KSAtPiBib29sXG5cCi1DaGVja3MgaWYgdGhlIHJlYWwgb3IgaW1hZ2luYXJ5IHBhcnQgb2YgeiBpcyBpbmZpbml0ZS4iKTsKLQogCiBQeURvY19TVFJWQVIobW9kdWxlX2RvYywKICJUaGlzIG1vZHVsZSBpcyBhbHdheXMgYXZhaWxhYmxlLiBJdCBwcm92aWRlcyBhY2Nlc3MgdG8gbWF0aGVtYXRpY2FsXG4iCiAiZnVuY3Rpb25zIGZvciBjb21wbGV4IG51bWJlcnMuIik7CiAKIHN0YXRpYyBQeU1ldGhvZERlZiBjbWF0aF9tZXRob2RzW10gPSB7Ci0gICAgeyJhY29zIiwgICBjbWF0aF9hY29zLCAgTUVUSF9WQVJBUkdTLCBjX2Fjb3NfZG9jfSwKLSAgICB7ImFjb3NoIiwgIGNtYXRoX2Fjb3NoLCBNRVRIX1ZBUkFSR1MsIGNfYWNvc2hfZG9jfSwKLSAgICB7ImFzaW4iLCAgIGNtYXRoX2FzaW4sICBNRVRIX1ZBUkFSR1MsIGNfYXNpbl9kb2N9LAotICAgIHsiYXNpbmgiLCAgY21hdGhfYXNpbmgsIE1FVEhfVkFSQVJHUywgY19hc2luaF9kb2N9LAotICAgIHsiYXRhbiIsICAgY21hdGhfYXRhbiwgIE1FVEhfVkFSQVJHUywgY19hdGFuX2RvY30sCi0gICAgeyJhdGFuaCIsICBjbWF0aF9hdGFuaCwgTUVUSF9WQVJBUkdTLCBjX2F0YW5oX2RvY30sCi0gICAgeyJjb3MiLCAgICBjbWF0aF9jb3MsICAgTUVUSF9WQVJBUkdTLCBjX2Nvc19kb2N9LAotICAgIHsiY29zaCIsICAgY21hdGhfY29zaCwgIE1FVEhfVkFSQVJHUywgY19jb3NoX2RvY30sCi0gICAgeyJleHAiLCAgICBjbWF0aF9leHAsICAgTUVUSF9WQVJBUkdTLCBjX2V4cF9kb2N9LAotICAgIHsiaXNmaW5pdGUiLCBjbWF0aF9pc2Zpbml0ZSwgTUVUSF9WQVJBUkdTLCBjbWF0aF9pc2Zpbml0ZV9kb2N9LAotICAgIHsiaXNpbmYiLCAgY21hdGhfaXNpbmYsIE1FVEhfVkFSQVJHUywgY21hdGhfaXNpbmZfZG9jfSwKLSAgICB7ImlzbmFuIiwgIGNtYXRoX2lzbmFuLCBNRVRIX1ZBUkFSR1MsIGNtYXRoX2lzbmFuX2RvY30sCi0gICAgeyJsb2ciLCAgICBjbWF0aF9sb2csICAgTUVUSF9WQVJBUkdTLCBjbWF0aF9sb2dfZG9jfSwKLSAgICB7ImxvZzEwIiwgIGNtYXRoX2xvZzEwLCBNRVRIX1ZBUkFSR1MsIGNfbG9nMTBfZG9jfSwKLSAgICB7InBoYXNlIiwgIGNtYXRoX3BoYXNlLCBNRVRIX1ZBUkFSR1MsIGNtYXRoX3BoYXNlX2RvY30sCi0gICAgeyJwb2xhciIsICBjbWF0aF9wb2xhciwgTUVUSF9WQVJBUkdTLCBjbWF0aF9wb2xhcl9kb2N9LAotICAgIHsicmVjdCIsICAgY21hdGhfcmVjdCwgIE1FVEhfVkFSQVJHUywgY21hdGhfcmVjdF9kb2N9LAotICAgIHsic2luIiwgICAgY21hdGhfc2luLCAgIE1FVEhfVkFSQVJHUywgY19zaW5fZG9jfSwKLSAgICB7InNpbmgiLCAgIGNtYXRoX3NpbmgsICBNRVRIX1ZBUkFSR1MsIGNfc2luaF9kb2N9LAotICAgIHsic3FydCIsICAgY21hdGhfc3FydCwgIE1FVEhfVkFSQVJHUywgY19zcXJ0X2RvY30sCi0gICAgeyJ0YW4iLCAgICBjbWF0aF90YW4sICAgTUVUSF9WQVJBUkdTLCBjX3Rhbl9kb2N9LAotICAgIHsidGFuaCIsICAgY21hdGhfdGFuaCwgIE1FVEhfVkFSQVJHUywgY190YW5oX2RvY30sCi0gICAge05VTEwsICAgICAgICAgICAgICBOVUxMfSAgICAgICAgICAgLyogc2VudGluZWwgKi8KKyAgICBDTUFUSF9BQ09TX01FVEhPRERFRgorICAgIENNQVRIX0FDT1NIX01FVEhPRERFRgorICAgIENNQVRIX0FTSU5fTUVUSE9EREVGCisgICAgQ01BVEhfQVNJTkhfTUVUSE9EREVGCisgICAgQ01BVEhfQVRBTl9NRVRIT0RERUYKKyAgICBDTUFUSF9BVEFOSF9NRVRIT0RERUYKKyAgICBDTUFUSF9DT1NfTUVUSE9EREVGCisgICAgQ01BVEhfQ09TSF9NRVRIT0RERUYKKyAgICBDTUFUSF9FWFBfTUVUSE9EREVGCisgICAgQ01BVEhfSVNGSU5JVEVfTUVUSE9EREVGCisgICAgQ01BVEhfSVNJTkZfTUVUSE9EREVGCisgICAgQ01BVEhfSVNOQU5fTUVUSE9EREVGCisgICAgQ01BVEhfTE9HX01FVEhPRERFRgorICAgIENNQVRIX0xPRzEwX01FVEhPRERFRgorICAgIENNQVRIX1BIQVNFX01FVEhPRERFRgorICAgIENNQVRIX1BPTEFSX01FVEhPRERFRgorICAgIENNQVRIX1JFQ1RfTUVUSE9EREVGCisgICAgQ01BVEhfU0lOX01FVEhPRERFRgorICAgIENNQVRIX1NJTkhfTUVUSE9EREVGCisgICAgQ01BVEhfU1FSVF9NRVRIT0RERUYKKyAgICBDTUFUSF9UQU5fTUVUSE9EREVGCisgICAgQ01BVEhfVEFOSF9NRVRIT0RERUYKKyAgICB7TlVMTCwgTlVMTH0gIC8qIHNlbnRpbmVsICovCiB9OwogCiAKZGlmZiAtLWdpdCBhL01vZHVsZXMvZmF1bHRoYW5kbGVyLmMgYi9Nb2R1bGVzL2ZhdWx0aGFuZGxlci5jCmluZGV4IDAxZTdiZWIuLjQ2NDNjMGUgMTAwNjQ0Ci0tLSBhL01vZHVsZXMvZmF1bHRoYW5kbGVyLmMKKysrIGIvTW9kdWxlcy9mYXVsdGhhbmRsZXIuYwpAQCAtNSw3ICs1LDEzIEBACiAjaW5jbHVkZSA8ZnJhbWVvYmplY3QuaD4KICNpbmNsdWRlIDxzaWduYWwuaD4KICNpZiBkZWZpbmVkKEhBVkVfUFRIUkVBRF9TSUdNQVNLKSAmJiAhZGVmaW5lZChIQVZFX0JST0tFTl9QVEhSRUFEX1NJR01BU0spCi0jaW5jbHVkZSA8cHRocmVhZC5oPgorIyAgaW5jbHVkZSA8cHRocmVhZC5oPgorI2VuZGlmCisjaWZkZWYgTVNfV0lORE9XUworIyAgaW5jbHVkZSA8d2luZG93cy5oPgorI2VuZGlmCisjaWZkZWYgSEFWRV9TWVNfUkVTT1VSQ0VfSAorIyAgaW5jbHVkZSA8c3lzL3Jlc291cmNlLmg+CiAjZW5kaWYKIAogLyogQWxsb2NhdGUgYXQgbWF4aW11bSAxMDAgTUIgb2YgdGhlIHN0YWNrIHRvIHJhaXNlIHRoZSBzdGFjayBvdmVyZmxvdyAqLwpAQCAtNDUyLDcgKzQ1OCw3IEBACiAgICAgICAgIGFzc2VydChzdCA9PSBQWV9MT0NLX0ZBSUxVUkUpOwogCiAgICAgICAgIC8qIGdldCB0aGUgdGhyZWFkIGhvbGRpbmcgdGhlIEdJTCwgTlVMTCBpZiBubyB0aHJlYWQgaG9sZCB0aGUgR0lMICovCi0gICAgICAgIGN1cnJlbnQgPSBfUHlfYXRvbWljX2xvYWRfcmVsYXhlZCgmX1B5VGhyZWFkU3RhdGVfQ3VycmVudCk7CisgICAgICAgIGN1cnJlbnQgPSAoUHlUaHJlYWRTdGF0ZSopX1B5X2F0b21pY19sb2FkX3JlbGF4ZWQoJl9QeVRocmVhZFN0YXRlX0N1cnJlbnQpOwogCiAgICAgICAgIHdyaXRlKHRocmVhZC5mZCwgdGhyZWFkLmhlYWRlciwgKGludCl0aHJlYWQuaGVhZGVyX2xlbik7CiAKQEAgLTgwNCwxMiArODEwLDQxIEBACiAjZW5kaWYgICAvKiBGQVVMVEhBTkRMRVJfVVNFUiAqLwogCiAKK3N0YXRpYyB2b2lkCitmYXVsdGhhbmRsZXJfc3VwcHJlc3NfY3Jhc2hfcmVwb3J0KHZvaWQpCit7CisjaWZkZWYgTVNfV0lORE9XUworICAgIFVJTlQgbW9kZTsKKworICAgIC8qIENvbmZpZ3VyZSBXaW5kb3dzIHRvIG5vdCBkaXNwbGF5IHRoZSBXaW5kb3dzIEVycm9yIFJlcG9ydGluZyBkaWFsb2cgKi8KKyAgICBtb2RlID0gU2V0RXJyb3JNb2RlKFNFTV9OT0dQRkFVTFRFUlJPUkJPWCk7CisgICAgU2V0RXJyb3JNb2RlKG1vZGUgfCBTRU1fTk9HUEZBVUxURVJST1JCT1gpOworI2VuZGlmCisKKyNpZmRlZiBIQVZFX1NZU19SRVNPVVJDRV9ICisgICAgc3RydWN0IHJsaW1pdCBybDsKKworICAgIC8qIERpc2FibGUgY3JlYXRpb24gb2YgY29yZSBkdW1wICovCisgICAgaWYgKGdldHJsaW1pdChSTElNSVRfQ09SRSwgJnJsKSAhPSAwKSB7CisgICAgICAgIHJsLnJsaW1fY3VyID0gMDsKKyAgICAgICAgc2V0cmxpbWl0KFJMSU1JVF9DT1JFLCAmcmwpOworICAgIH0KKyNlbmRpZgorCisjaWZkZWYgX01TQ19WRVIKKyAgICAvKiBWaXN1YWwgU3R1ZGlvOiBjb25maWd1cmUgYWJvcnQoKSB0byBub3QgZGlzcGxheSBhbiBlcnJvciBtZXNzYWdlIG5vcgorICAgICAgIG9wZW4gYSBwb3B1cCBhc2tpbmcgdG8gcmVwb3J0IHRoZSBmYXVsdC4gKi8KKyAgICBfc2V0X2Fib3J0X2JlaGF2aW9yKDAsIF9XUklURV9BQk9SVF9NU0cgfCBfQ0FMTF9SRVBPUlRGQVVMVCk7CisjZW5kaWYKK30KKwogc3RhdGljIFB5T2JqZWN0ICoKIGZhdWx0aGFuZGxlcl9yZWFkX251bGwoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQogewogICAgIHZvbGF0aWxlIGludCAqeDsKICAgICB2b2xhdGlsZSBpbnQgeTsKIAorICAgIGZhdWx0aGFuZGxlcl9zdXBwcmVzc19jcmFzaF9yZXBvcnQoKTsKICAgICB4ID0gTlVMTDsKICAgICB5ID0gKng7CiAgICAgcmV0dXJuIFB5TG9uZ19Gcm9tTG9uZyh5KTsKQEAgLTgxOSw2ICs4NTQsNyBAQAogc3RhdGljIHZvaWQKIGZhdWx0aGFuZGxlcl9yYWlzZV9zaWdzZWd2KHZvaWQpCiB7CisgICAgZmF1bHRoYW5kbGVyX3N1cHByZXNzX2NyYXNoX3JlcG9ydCgpOwogI2lmIGRlZmluZWQoTVNfV0lORE9XUykKICAgICAvKiBGb3IgU0lHU0VHViwgZmF1bHRoYW5kbGVyX2ZhdGFsX2Vycm9yKCkgcmVzdG9yZXMgdGhlIHByZXZpb3VzIHNpZ25hbAogICAgICAgIGhhbmRsZXIgYW5kIHRoZW4gZ2l2ZXMgYmFjayB0aGUgZXhlY3V0aW9uIGZsb3cgdG8gdGhlIHByb2dyYW0gKHdpdGhvdXQKQEAgLTg2MSw2ICs4OTcsNyBAQAogICAgIC8qIERvIGFuIGludGVnZXIgZGl2aXNpb24gYnkgemVybzogcmFpc2UgYSBTSUdGUEUgb24gSW50ZWwgQ1BVLCBidXQgbm90IG9uCiAgICAgICAgUG93ZXJQQy4gVXNlIHZvbGF0aWxlIHRvIGRpc2FibGUgY29tcGlsZS10aW1lIG9wdGltaXphdGlvbnMuICovCiAgICAgdm9sYXRpbGUgaW50IHggPSAxLCB5ID0gMCwgejsKKyAgICBmYXVsdGhhbmRsZXJfc3VwcHJlc3NfY3Jhc2hfcmVwb3J0KCk7CiAgICAgeiA9IHggLyB5OwogICAgIC8qIElmIHRoZSBkaXZpc2lvbiBieSB6ZXJvIGRpZG4ndCByYWlzZSBhIFNJR0ZQRSAoZS5nLiBvbiBQb3dlclBDKSwKICAgICAgICByYWlzZSBpdCBtYW51YWxseS4gKi8KQEAgLTg3MywzOSArOTEwLDE4IEBACiBzdGF0aWMgUHlPYmplY3QgKgogZmF1bHRoYW5kbGVyX3NpZ2FicnQoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQogewotI2lmZGVmIF9NU0NfVkVSCi0gICAgLyogVmlzdWFsIFN0dWRpbzogY29uZmlndXJlIGFib3J0KCkgdG8gbm90IGRpc3BsYXkgYW4gZXJyb3IgbWVzc2FnZSBub3IKLSAgICAgICBvcGVuIGEgcG9wdXAgYXNraW5nIHRvIHJlcG9ydCB0aGUgZmF1bHQuICovCi0gICAgX3NldF9hYm9ydF9iZWhhdmlvcigwLCBfV1JJVEVfQUJPUlRfTVNHIHwgX0NBTExfUkVQT1JURkFVTFQpOwotI2VuZGlmCisgICAgZmF1bHRoYW5kbGVyX3N1cHByZXNzX2NyYXNoX3JlcG9ydCgpOwogICAgIGFib3J0KCk7CiAgICAgUHlfUkVUVVJOX05PTkU7CiB9CiAKLSNpZmRlZiBTSUdCVVMKLXN0YXRpYyBQeU9iamVjdCAqCi1mYXVsdGhhbmRsZXJfc2lnYnVzKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKLXsKLSAgICByYWlzZShTSUdCVVMpOwotICAgIFB5X1JFVFVSTl9OT05FOwotfQotI2VuZGlmCi0KLSNpZmRlZiBTSUdJTEwKLXN0YXRpYyBQeU9iamVjdCAqCi1mYXVsdGhhbmRsZXJfc2lnaWxsKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKLXsKLSAgICByYWlzZShTSUdJTEwpOwotICAgIFB5X1JFVFVSTl9OT05FOwotfQotI2VuZGlmCi0KIHN0YXRpYyBQeU9iamVjdCAqCiBmYXVsdGhhbmRsZXJfZmF0YWxfZXJyb3JfcHkoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQogewogICAgIGNoYXIgKm1lc3NhZ2U7CiAgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJ5OmZhdGFsX2Vycm9yIiwgJm1lc3NhZ2UpKQogICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBmYXVsdGhhbmRsZXJfc3VwcHJlc3NfY3Jhc2hfcmVwb3J0KCk7CiAgICAgUHlfRmF0YWxFcnJvcihtZXNzYWdlKTsKICAgICBQeV9SRVRVUk5fTk9ORTsKIH0KQEAgLTkzMiw2ICs5NDgsNyBAQAogICAgIFB5X3VpbnRwdHJfdCBzcCA9IChQeV91aW50cHRyX3QpJmRlcHRoOwogICAgIFB5X3VpbnRwdHJfdCBzdG9wOwogCisgICAgZmF1bHRoYW5kbGVyX3N1cHByZXNzX2NyYXNoX3JlcG9ydCgpOwogICAgIGRlcHRoID0gMDsKICAgICBzdG9wID0gc3RhY2tfb3ZlcmZsb3coc3AgLSBTVEFDS19PVkVSRkxPV19NQVhfU0laRSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgc3AgKyBTVEFDS19PVkVSRkxPV19NQVhfU0laRSwKQEAgLTEwMjEsMTQgKzEwMzgsNiBAQAogICAgICBQeURvY19TVFIoIl9zaWdhYnJ0KCk6IHJhaXNlIGEgU0lHQUJSVCBzaWduYWwiKX0sCiAgICAgeyJfc2lnZnBlIiwgKFB5Q0Z1bmN0aW9uKWZhdWx0aGFuZGxlcl9zaWdmcGUsIE1FVEhfTk9BUkdTLAogICAgICBQeURvY19TVFIoIl9zaWdmcGUoKTogcmFpc2UgYSBTSUdGUEUgc2lnbmFsIil9LAotI2lmZGVmIFNJR0JVUwotICAgIHsiX3NpZ2J1cyIsIChQeUNGdW5jdGlvbilmYXVsdGhhbmRsZXJfc2lnYnVzLCBNRVRIX05PQVJHUywKLSAgICAgUHlEb2NfU1RSKCJfc2lnYnVzKCk6IHJhaXNlIGEgU0lHQlVTIHNpZ25hbCIpfSwKLSNlbmRpZgotI2lmZGVmIFNJR0lMTAotICAgIHsiX3NpZ2lsbCIsIChQeUNGdW5jdGlvbilmYXVsdGhhbmRsZXJfc2lnaWxsLCBNRVRIX05PQVJHUywKLSAgICAgUHlEb2NfU1RSKCJfc2lnaWxsKCk6IHJhaXNlIGEgU0lHSUxMIHNpZ25hbCIpfSwKLSNlbmRpZgogICAgIHsiX2ZhdGFsX2Vycm9yIiwgZmF1bHRoYW5kbGVyX2ZhdGFsX2Vycm9yX3B5LCBNRVRIX1ZBUkFSR1MsCiAgICAgIFB5RG9jX1NUUigiX2ZhdGFsX2Vycm9yKG1lc3NhZ2UpOiBjYWxsIFB5X0ZhdGFsRXJyb3IobWVzc2FnZSkiKX0sCiAjaWYgZGVmaW5lZChIQVZFX1NJR0FMVFNUQUNLKSAmJiBkZWZpbmVkKEhBVkVfU0lHQUNUSU9OKQpkaWZmIC0tZ2l0IGEvTW9kdWxlcy9mY250bG1vZHVsZS5jIGIvTW9kdWxlcy9mY250bG1vZHVsZS5jCmluZGV4IDkzMjU5NDAuLjc4MGUyMjIgMTAwNjQ0Ci0tLSBhL01vZHVsZXMvZmNudGxtb2R1bGUuYworKysgYi9Nb2R1bGVzL2ZjbnRsbW9kdWxlLmMKQEAgLTE1LDYgKzE1LDEyIEBACiAjaW5jbHVkZSA8c3Ryb3B0cy5oPgogI2VuZGlmCiAKKy8qW2NsaW5pYyBpbnB1dF0KK291dHB1dCBwcmVzZXQgZmlsZQorbW9kdWxlIGZjbnRsCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9ZGEzOWEzZWU1ZTZiNGIwZCBpbnB1dD1jNzM1NmZkYjEyNmE5MDRhXSovCisKIHN0YXRpYyBpbnQKIGNvbnZfZGVzY3JpcHRvcihQeU9iamVjdCAqb2JqZWN0LCBpbnQgKnRhcmdldCkKIHsKQEAgLTI2LDQ4ICszMiw3MiBAQAogICAgIHJldHVybiAxOwogfQogCisvKiBNdXN0IGNvbWUgYWZ0ZXIgY29udl9kZXNjcmlwdG9yIGRlZmluaXRpb24uICovCisjaW5jbHVkZSAiY2xpbmljL2ZjbnRsbW9kdWxlLmMuaCIKIAotLyogZmNudGwoZmQsIG9wLCBbYXJnXSkgKi8KKy8qW2NsaW5pYyBpbnB1dF0KK2ZjbnRsLmZjbnRsCisKKyAgICBmZDogb2JqZWN0KHR5cGU9J2ludCcsIGNvbnZlcnRlcj0nY29udl9kZXNjcmlwdG9yJykKKyAgICBjb2RlOiBpbnQKKyAgICBhcmc6IG9iamVjdCA9IE5VTEwKKyAgICAvCisKK1BlcmZvcm0gdGhlIG9wZXJhdGlvbiBgY29kZWAgb24gZmlsZSBkZXNjcmlwdG9yIGZkLgorCitUaGUgdmFsdWVzIHVzZWQgZm9yIGBjb2RlYCBhcmUgb3BlcmF0aW5nIHN5c3RlbSBkZXBlbmRlbnQsIGFuZCBhcmUgYXZhaWxhYmxlCithcyBjb25zdGFudHMgaW4gdGhlIGZjbnRsIG1vZHVsZSwgdXNpbmcgdGhlIHNhbWUgbmFtZXMgYXMgdXNlZCBpbgordGhlIHJlbGV2YW50IEMgaGVhZGVyIGZpbGVzLiAgVGhlIGFyZ3VtZW50IGFyZyBpcyBvcHRpb25hbCwgYW5kCitkZWZhdWx0cyB0byAwOyBpdCBtYXkgYmUgYW4gaW50IG9yIGEgc3RyaW5nLiAgSWYgYXJnIGlzIGdpdmVuIGFzIGEgc3RyaW5nLAordGhlIHJldHVybiB2YWx1ZSBvZiBmY250bCBpcyBhIHN0cmluZyBvZiB0aGF0IGxlbmd0aCwgY29udGFpbmluZyB0aGUKK3Jlc3VsdGluZyB2YWx1ZSBwdXQgaW4gdGhlIGFyZyBidWZmZXIgYnkgdGhlIG9wZXJhdGluZyBzeXN0ZW0uICBUaGUgbGVuZ3RoCitvZiB0aGUgYXJnIHN0cmluZyBpcyBub3QgYWxsb3dlZCB0byBleGNlZWQgMTAyNCBieXRlcy4gIElmIHRoZSBhcmcgZ2l2ZW4KK2lzIGFuIGludGVnZXIgb3IgaWYgbm9uZSBpcyBzcGVjaWZpZWQsIHRoZSByZXN1bHQgdmFsdWUgaXMgYW4gaW50ZWdlcgorY29ycmVzcG9uZGluZyB0byB0aGUgcmV0dXJuIHZhbHVlIG9mIHRoZSBmY250bCBjYWxsIGluIHRoZSBDIGNvZGUuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1mY250bF9mY250bChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCitmY250bF9mY250bF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGludCBmZCwgaW50IGNvZGUsIFB5T2JqZWN0ICphcmcpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9YWZjNWJmYTc0YTAzZWYwZCBpbnB1dD00ODUwYzEzYTQxZTg2OTMwXSovCiB7Ci0gICAgaW50IGZkOwotICAgIGludCBjb2RlOwotICAgIGludCBhcmc7CisgICAgdW5zaWduZWQgaW50IGludF9hcmcgPSAwOwogICAgIGludCByZXQ7CiAgICAgY2hhciAqc3RyOwogICAgIFB5X3NzaXplX3QgbGVuOwogICAgIGNoYXIgYnVmWzEwMjRdOwogCi0gICAgaWYgKFB5QXJnX1BhcnNlVHVwbGUoYXJncywgIk8maXMjOmZjbnRsIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICBjb252X2Rlc2NyaXB0b3IsICZmZCwgJmNvZGUsICZzdHIsICZsZW4pKSB7Ci0gICAgICAgIGlmIChsZW4gPiBzaXplb2YgYnVmKSB7Ci0gICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVmFsdWVFcnJvciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZmNudGwgc3RyaW5nIGFyZyB0b28gbG9uZyIpOwotICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgaWYgKGFyZyAhPSBOVUxMKSB7CisgICAgICAgIGludCBwYXJzZV9yZXN1bHQ7CisKKyAgICAgICAgaWYgKFB5QXJnX1BhcnNlKGFyZywgInMjIiwgJnN0ciwgJmxlbikpIHsKKyAgICAgICAgICAgIGlmICgoc2l6ZV90KWxlbiA+IHNpemVvZiBidWYpIHsKKyAgICAgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVmFsdWVFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImZjbnRsIHN0cmluZyBhcmcgdG9vIGxvbmciKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIG1lbWNweShidWYsIHN0ciwgbGVuKTsKKyAgICAgICAgICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKKyAgICAgICAgICAgIHJldCA9IGZjbnRsKGZkLCBjb2RlLCBidWYpOworICAgICAgICAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKKyAgICAgICAgICAgIGlmIChyZXQgPCAwKSB7CisgICAgICAgICAgICAgICAgUHlFcnJfU2V0RnJvbUVycm5vKFB5RXhjX0lPRXJyb3IpOworICAgICAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICAgICAgfQorICAgICAgICAgICAgcmV0dXJuIFB5Qnl0ZXNfRnJvbVN0cmluZ0FuZFNpemUoYnVmLCBsZW4pOwogICAgICAgICB9Ci0gICAgICAgIG1lbWNweShidWYsIHN0ciwgbGVuKTsKLSAgICAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwotICAgICAgICByZXQgPSBmY250bChmZCwgY29kZSwgYnVmKTsKLSAgICAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKLSAgICAgICAgaWYgKHJldCA8IDApIHsKLSAgICAgICAgICAgIFB5RXJyX1NldEZyb21FcnJubyhQeUV4Y19JT0Vycm9yKTsKLSAgICAgICAgICAgIHJldHVybiBOVUxMOworCisgICAgICAgIFB5RXJyX0NsZWFyKCk7CisgICAgICAgIHBhcnNlX3Jlc3VsdCA9IFB5QXJnX1BhcnNlKGFyZywKKyAgICAgICAgICAgICJJO2ZjbnRsIHJlcXVpcmVzIGEgZmlsZSBvciBmaWxlIGRlc2NyaXB0b3IsIgorICAgICAgICAgICAgIiBhbiBpbnRlZ2VyIGFuZCBvcHRpb25hbGx5IGEgdGhpcmQgaW50ZWdlciBvciBhIHN0cmluZyIsCisgICAgICAgICAgICAmaW50X2FyZyk7CisgICAgICAgIGlmICghcGFyc2VfcmVzdWx0KSB7CisgICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgICAgIH0KLSAgICAgICAgcmV0dXJuIFB5Qnl0ZXNfRnJvbVN0cmluZ0FuZFNpemUoYnVmLCBsZW4pOwogICAgIH0KIAotICAgIFB5RXJyX0NsZWFyKCk7Ci0gICAgYXJnID0gMDsKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKLSAgICAgICAgICJPJml8STtmY250bCByZXF1aXJlcyBhIGZpbGUgb3IgZmlsZSBkZXNjcmlwdG9yLCIKLSAgICAgICAgICIgYW4gaW50ZWdlciBhbmQgb3B0aW9uYWxseSBhIHRoaXJkIGludGVnZXIgb3IgYSBzdHJpbmciLAotICAgICAgICAgICAgICAgICAgICAgICAgICBjb252X2Rlc2NyaXB0b3IsICZmZCwgJmNvZGUsICZhcmcpKSB7Ci0gICAgICByZXR1cm4gTlVMTDsKLSAgICB9CiAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwotICAgIHJldCA9IGZjbnRsKGZkLCBjb2RlLCBhcmcpOworICAgIHJldCA9IGZjbnRsKGZkLCBjb2RlLCAoaW50KWludF9hcmcpOwogICAgIFB5X0VORF9BTExPV19USFJFQURTCiAgICAgaWYgKHJldCA8IDApIHsKICAgICAgICAgUHlFcnJfU2V0RnJvbUVycm5vKFB5RXhjX0lPRXJyb3IpOwpAQCAtNzYsMzMgKzEwNiw1NCBAQAogICAgIHJldHVybiBQeUxvbmdfRnJvbUxvbmcoKGxvbmcpcmV0KTsKIH0KIAotUHlEb2NfU1RSVkFSKGZjbnRsX2RvYywKLSJmY250bChmZCwgb3AsIFthcmddKVxuXAotXG5cCi1QZXJmb3JtIHRoZSBvcGVyYXRpb24gb3Agb24gZmlsZSBkZXNjcmlwdG9yIGZkLiAgVGhlIHZhbHVlcyB1c2VkXG5cCi1mb3Igb3AgYXJlIG9wZXJhdGluZyBzeXN0ZW0gZGVwZW5kZW50LCBhbmQgYXJlIGF2YWlsYWJsZVxuXAotYXMgY29uc3RhbnRzIGluIHRoZSBmY250bCBtb2R1bGUsIHVzaW5nIHRoZSBzYW1lIG5hbWVzIGFzIHVzZWQgaW5cblwKLXRoZSByZWxldmFudCBDIGhlYWRlciBmaWxlcy4gIFRoZSBhcmd1bWVudCBhcmcgaXMgb3B0aW9uYWwsIGFuZFxuXAotZGVmYXVsdHMgdG8gMDsgaXQgbWF5IGJlIGFuIGludCBvciBhIHN0cmluZy4gIElmIGFyZyBpcyBnaXZlbiBhcyBhIHN0cmluZyxcblwKLXRoZSByZXR1cm4gdmFsdWUgb2YgZmNudGwgaXMgYSBzdHJpbmcgb2YgdGhhdCBsZW5ndGgsIGNvbnRhaW5pbmcgdGhlXG5cCi1yZXN1bHRpbmcgdmFsdWUgcHV0IGluIHRoZSBhcmcgYnVmZmVyIGJ5IHRoZSBvcGVyYXRpbmcgc3lzdGVtLiAgVGhlIGxlbmd0aFxuXAotb2YgdGhlIGFyZyBzdHJpbmcgaXMgbm90IGFsbG93ZWQgdG8gZXhjZWVkIDEwMjQgYnl0ZXMuICBJZiB0aGUgYXJnIGdpdmVuXG5cCi1pcyBhbiBpbnRlZ2VyIG9yIGlmIG5vbmUgaXMgc3BlY2lmaWVkLCB0aGUgcmVzdWx0IHZhbHVlIGlzIGFuIGludGVnZXJcblwKLWNvcnJlc3BvbmRpbmcgdG8gdGhlIHJldHVybiB2YWx1ZSBvZiB0aGUgZmNudGwgY2FsbCBpbiB0aGUgQyBjb2RlLiIpOwogCisvKltjbGluaWMgaW5wdXRdCitmY250bC5pb2N0bAogCi0vKiBpb2N0bChmZCwgb3AsIFthcmddKSAqLworICAgIGZkOiBvYmplY3QodHlwZT0naW50JywgY29udmVydGVyPSdjb252X2Rlc2NyaXB0b3InKQorICAgIG9wIGFzIGNvZGU6IHVuc2lnbmVkX2ludChiaXR3aXNlPVRydWUpCisgICAgYXJnIGFzIG9iX2FyZzogb2JqZWN0ID0gTlVMTAorICAgIG11dGF0ZV9mbGFnIGFzIG11dGF0ZV9hcmc6IGJvb2wgPSBUcnVlCisgICAgLworCitQZXJmb3JtIHRoZSBvcGVyYXRpb24gb3Agb24gZmlsZSBkZXNjcmlwdG9yIGZkLgorCitUaGUgdmFsdWVzIHVzZWQgZm9yIG9wIGFyZSBvcGVyYXRpbmcgc3lzdGVtIGRlcGVuZGVudCwgYW5kIGFyZSBhdmFpbGFibGUgYXMKK2NvbnN0YW50cyBpbiB0aGUgZmNudGwgb3IgdGVybWlvcyBsaWJyYXJ5IG1vZHVsZXMsIHVzaW5nIHRoZSBzYW1lIG5hbWVzIGFzCit1c2VkIGluIHRoZSByZWxldmFudCBDIGhlYWRlciBmaWxlcy4KKworVGhlIGFyZ3VtZW50IGBhcmdgIGlzIG9wdGlvbmFsLCBhbmQgZGVmYXVsdHMgdG8gMDsgaXQgbWF5IGJlIGFuIGludCBvciBhCitidWZmZXIgY29udGFpbmluZyBjaGFyYWN0ZXIgZGF0YSAobW9zdCBsaWtlbHkgYSBzdHJpbmcgb3IgYW4gYXJyYXkpLgorCitJZiB0aGUgYXJndW1lbnQgaXMgYSBtdXRhYmxlIGJ1ZmZlciAoc3VjaCBhcyBhbiBhcnJheSkgYW5kIGlmIHRoZQorbXV0YXRlX2ZsYWcgYXJndW1lbnQgKHdoaWNoIGlzIG9ubHkgYWxsb3dlZCBpbiB0aGlzIGNhc2UpIGlzIHRydWUgdGhlbiB0aGUKK2J1ZmZlciBpcyAoaW4gZWZmZWN0KSBwYXNzZWQgdG8gdGhlIG9wZXJhdGluZyBzeXN0ZW0gYW5kIGNoYW5nZXMgbWFkZSBieQordGhlIE9TIHdpbGwgYmUgcmVmbGVjdGVkIGluIHRoZSBjb250ZW50cyBvZiB0aGUgYnVmZmVyIGFmdGVyIHRoZSBjYWxsIGhhcworcmV0dXJuZWQuICBUaGUgcmV0dXJuIHZhbHVlIGlzIHRoZSBpbnRlZ2VyIHJldHVybmVkIGJ5IHRoZSBpb2N0bCBzeXN0ZW0KK2NhbGwuCisKK0lmIHRoZSBhcmd1bWVudCBpcyBhIG11dGFibGUgYnVmZmVyIGFuZCB0aGUgbXV0YWJsZV9mbGFnIGFyZ3VtZW50IGlzIG5vdAorcGFzc2VkIG9yIGlzIGZhbHNlLCB0aGUgYmVoYXZpb3IgaXMgYXMgaWYgYSBzdHJpbmcgaGFkIGJlZW4gcGFzc2VkLiAgVGhpcworYmVoYXZpb3Igd2lsbCBjaGFuZ2UgaW4gZnV0dXJlIHJlbGVhc2VzIG9mIFB5dGhvbi4KKworSWYgdGhlIGFyZ3VtZW50IGlzIGFuIGltbXV0YWJsZSBidWZmZXIgKG1vc3QgbGlrZWx5IGEgc3RyaW5nKSB0aGVuIGEgY29weQorb2YgdGhlIGJ1ZmZlciBpcyBwYXNzZWQgdG8gdGhlIG9wZXJhdGluZyBzeXN0ZW0gYW5kIHRoZSByZXR1cm4gdmFsdWUgaXMgYQorc3RyaW5nIG9mIHRoZSBzYW1lIGxlbmd0aCBjb250YWluaW5nIHdoYXRldmVyIHRoZSBvcGVyYXRpbmcgc3lzdGVtIHB1dCBpbgordGhlIGJ1ZmZlci4gIFRoZSBsZW5ndGggb2YgdGhlIGFyZyBidWZmZXIgaW4gdGhpcyBjYXNlIGlzIG5vdCBhbGxvd2VkIHRvCitleGNlZWQgMTAyNCBieXRlcy4KKworSWYgdGhlIGFyZyBnaXZlbiBpcyBhbiBpbnRlZ2VyIG9yIGlmIG5vbmUgaXMgc3BlY2lmaWVkLCB0aGUgcmVzdWx0IHZhbHVlIGlzCithbiBpbnRlZ2VyIGNvcnJlc3BvbmRpbmcgdG8gdGhlIHJldHVybiB2YWx1ZSBvZiB0aGUgaW9jdGwgY2FsbCBpbiB0aGUgQworY29kZS4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KIAogc3RhdGljIFB5T2JqZWN0ICoKLWZjbnRsX2lvY3RsKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK2ZjbnRsX2lvY3RsX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgaW50IGZkLCB1bnNpZ25lZCBpbnQgY29kZSwgUHlPYmplY3QgKm9iX2FyZywgaW50IG11dGF0ZV9hcmcpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9YWQ0NzczOGMxMTg2MjJiZiBpbnB1dD1hNTVhNmVlOGU0OTRjNDQ5XSovCiB7CiAjZGVmaW5lIElPQ1RMX0JVRlNaIDEwMjQKLSAgICBpbnQgZmQ7Ci0gICAgLyogSW4gUHlBcmdfUGFyc2VUdXBsZSBiZWxvdywgd2UgdXNlIHRoZSB1bnNpZ25lZCBub24tY2hlY2tlZCAnSScKLSAgICAgICBmb3JtYXQgZm9yIHRoZSAnY29kZScgcGFyYW1ldGVyIGJlY2F1c2UgUHl0aG9uIHR1cm5zIDB4ODAwMDAwMAotICAgICAgIGludG8gZWl0aGVyIGEgbGFyZ2UgcG9zaXRpdmUgbnVtYmVyIChQeUxvbmcgb3IgUHlJbnQgb24gNjQtYml0Ci0gICAgICAgcGxhdGZvcm1zKSBvciBhIG5lZ2F0aXZlIG51bWJlciBvbiBvdGhlcnMgKDMyLWJpdCBQeUludCkKLSAgICAgICB3aGVyZWFzIHRoZSBzeXN0ZW0gZXhwZWN0cyBpdCB0byBiZSBhIDMyYml0IGJpdCBmaWVsZCB2YWx1ZQorICAgIC8qIFdlIHVzZSB0aGUgdW5zaWduZWQgbm9uLWNoZWNrZWQgJ0knIGZvcm1hdCBmb3IgdGhlICdjb2RlJyBwYXJhbWV0ZXIKKyAgICAgICBiZWNhdXNlIHRoZSBzeXN0ZW0gZXhwZWN0cyBpdCB0byBiZSBhIDMyYml0IGJpdCBmaWVsZCB2YWx1ZQogICAgICAgIHJlZ2FyZGxlc3Mgb2YgaXQgYmVpbmcgcGFzc2VkIGFzIGFuIGludCBvciB1bnNpZ25lZCBsb25nIG9uCiAgICAgICAgdmFyaW91cyBwbGF0Zm9ybXMuICBTZWUgdGhlIHRlcm1pb3MuVElPQ1NXSU5TWiBjb25zdGFudCBhY3Jvc3MKICAgICAgICBwbGF0Zm9ybXMgZm9yIGFuIGV4YW1wbGUgb2YgdGhpcy4KQEAgLTExMSwxMDEgKzE2Miw5OCBAQAogICAgICAgIGluIHRoZWlyIHVuc2lnbmVkIGxvbmcgaW9jdGwgY29kZXMgdGhpcyB3aWxsIGJyZWFrIGFuZCBuZWVkCiAgICAgICAgc3BlY2lhbCBjYXNpbmcgYmFzZWQgb24gdGhlIHBsYXRmb3JtIGJlaW5nIGJ1aWx0IG9uLgogICAgICAqLwotICAgIHVuc2lnbmVkIGludCBjb2RlOwotICAgIGludCBhcmc7CisgICAgaW50IGFyZyA9IDA7CiAgICAgaW50IHJldDsKICAgICBQeV9idWZmZXIgcHN0cjsKICAgICBjaGFyICpzdHI7CiAgICAgUHlfc3NpemVfdCBsZW47Ci0gICAgaW50IG11dGF0ZV9hcmcgPSAxOwogICAgIGNoYXIgYnVmW0lPQ1RMX0JVRlNaKzFdOyAgLyogYXJndW1lbnQgcGx1cyBOVUwgYnl0ZSAqLwogCi0gICAgaWYgKFB5QXJnX1BhcnNlVHVwbGUoYXJncywgIk8mSXcqfGk6aW9jdGwiLAotICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnZfZGVzY3JpcHRvciwgJmZkLCAmY29kZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAmcHN0ciwgJm11dGF0ZV9hcmcpKSB7Ci0gICAgICAgIGNoYXIgKmFyZzsKLSAgICAgICAgc3RyID0gcHN0ci5idWY7Ci0gICAgICAgIGxlbiA9IHBzdHIubGVuOworICAgIGlmIChvYl9hcmcgIT0gTlVMTCkgeworICAgICAgICBpZiAoUHlBcmdfUGFyc2Uob2JfYXJnLCAidyo6aW9jdGwiLCAmcHN0cikpIHsKKyAgICAgICAgICAgIGNoYXIgKmFyZzsKKyAgICAgICAgICAgIHN0ciA9IHBzdHIuYnVmOworICAgICAgICAgICAgbGVuID0gcHN0ci5sZW47CiAKLSAgICAgICAgaWYgKG11dGF0ZV9hcmcpIHsKLSAgICAgICAgICAgIGlmIChsZW4gPD0gSU9DVExfQlVGU1opIHsKLSAgICAgICAgICAgICAgICBtZW1jcHkoYnVmLCBzdHIsIGxlbik7Ci0gICAgICAgICAgICAgICAgYnVmW2xlbl0gPSAnXDAnOwotICAgICAgICAgICAgICAgIGFyZyA9IGJ1ZjsKKyAgICAgICAgICAgIGlmIChtdXRhdGVfYXJnKSB7CisgICAgICAgICAgICAgICAgaWYgKGxlbiA8PSBJT0NUTF9CVUZTWikgeworICAgICAgICAgICAgICAgICAgICBtZW1jcHkoYnVmLCBzdHIsIGxlbik7CisgICAgICAgICAgICAgICAgICAgIGJ1ZltsZW5dID0gJ1wwJzsKKyAgICAgICAgICAgICAgICAgICAgYXJnID0gYnVmOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgYXJnID0gc3RyOworICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGVsc2UgewotICAgICAgICAgICAgICAgIGFyZyA9IHN0cjsKKyAgICAgICAgICAgICAgICBpZiAobGVuID4gSU9DVExfQlVGU1opIHsKKyAgICAgICAgICAgICAgICAgICAgUHlCdWZmZXJfUmVsZWFzZSgmcHN0cik7CisgICAgICAgICAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLAorICAgICAgICAgICAgICAgICAgICAgICAgImlvY3RsIHN0cmluZyBhcmcgdG9vIGxvbmciKTsKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGVsc2UgeworICAgICAgICAgICAgICAgICAgICBtZW1jcHkoYnVmLCBzdHIsIGxlbik7CisgICAgICAgICAgICAgICAgICAgIGJ1ZltsZW5dID0gJ1wwJzsKKyAgICAgICAgICAgICAgICAgICAgYXJnID0gYnVmOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGlmIChidWYgPT0gYXJnKSB7CisgICAgICAgICAgICAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUyAvKiB0aGluayBhcnJheS5yZXNpemUoKSAqLworICAgICAgICAgICAgICAgIHJldCA9IGlvY3RsKGZkLCBjb2RlLCBhcmcpOworICAgICAgICAgICAgICAgIFB5X0VORF9BTExPV19USFJFQURTCisgICAgICAgICAgICB9CisgICAgICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgICAgICByZXQgPSBpb2N0bChmZCwgY29kZSwgYXJnKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGlmIChtdXRhdGVfYXJnICYmIChsZW4gPD0gSU9DVExfQlVGU1opKSB7CisgICAgICAgICAgICAgICAgbWVtY3B5KHN0ciwgYnVmLCBsZW4pOworICAgICAgICAgICAgfQorICAgICAgICAgICAgUHlCdWZmZXJfUmVsZWFzZSgmcHN0cik7IC8qIE5vIGZ1cnRoZXIgYWNjZXNzIHRvIHN0ciBiZWxvdyB0aGlzIHBvaW50ICovCisgICAgICAgICAgICBpZiAocmV0IDwgMCkgeworICAgICAgICAgICAgICAgIFB5RXJyX1NldEZyb21FcnJubyhQeUV4Y19JT0Vycm9yKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGlmIChtdXRhdGVfYXJnKSB7CisgICAgICAgICAgICAgICAgcmV0dXJuIFB5TG9uZ19Gcm9tTG9uZyhyZXQpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgZWxzZSB7CisgICAgICAgICAgICAgICAgcmV0dXJuIFB5Qnl0ZXNfRnJvbVN0cmluZ0FuZFNpemUoYnVmLCBsZW4pOwogICAgICAgICAgICAgfQogICAgICAgICB9Ci0gICAgICAgIGVsc2UgeworCisgICAgICAgIFB5RXJyX0NsZWFyKCk7CisgICAgICAgIGlmIChQeUFyZ19QYXJzZShvYl9hcmcsICJzKjppb2N0bCIsICZwc3RyKSkgeworICAgICAgICAgICAgc3RyID0gcHN0ci5idWY7CisgICAgICAgICAgICBsZW4gPSBwc3RyLmxlbjsKICAgICAgICAgICAgIGlmIChsZW4gPiBJT0NUTF9CVUZTWikgewogICAgICAgICAgICAgICAgIFB5QnVmZmVyX1JlbGVhc2UoJnBzdHIpOwogICAgICAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLAotICAgICAgICAgICAgICAgICAgICAiaW9jdGwgc3RyaW5nIGFyZyB0b28gbG9uZyIpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaW9jdGwgc3RyaW5nIGFyZyB0b28gbG9uZyIpOwogICAgICAgICAgICAgICAgIHJldHVybiBOVUxMOwogICAgICAgICAgICAgfQotICAgICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICAgICAgbWVtY3B5KGJ1Ziwgc3RyLCBsZW4pOwotICAgICAgICAgICAgICAgIGJ1ZltsZW5dID0gJ1wwJzsKLSAgICAgICAgICAgICAgICBhcmcgPSBidWY7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICAgICAgaWYgKGJ1ZiA9PSBhcmcpIHsKLSAgICAgICAgICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMgLyogdGhpbmsgYXJyYXkucmVzaXplKCkgKi8KLSAgICAgICAgICAgIHJldCA9IGlvY3RsKGZkLCBjb2RlLCBhcmcpOworICAgICAgICAgICAgbWVtY3B5KGJ1Ziwgc3RyLCBsZW4pOworICAgICAgICAgICAgYnVmW2xlbl0gPSAnXDAnOworICAgICAgICAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUworICAgICAgICAgICAgcmV0ID0gaW9jdGwoZmQsIGNvZGUsIGJ1Zik7CiAgICAgICAgICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUwotICAgICAgICB9Ci0gICAgICAgIGVsc2UgewotICAgICAgICAgICAgcmV0ID0gaW9jdGwoZmQsIGNvZGUsIGFyZyk7Ci0gICAgICAgIH0KLSAgICAgICAgaWYgKG11dGF0ZV9hcmcgJiYgKGxlbiA8PSBJT0NUTF9CVUZTWikpIHsKLSAgICAgICAgICAgIG1lbWNweShzdHIsIGJ1ZiwgbGVuKTsKLSAgICAgICAgfQotICAgICAgICBQeUJ1ZmZlcl9SZWxlYXNlKCZwc3RyKTsgLyogTm8gZnVydGhlciBhY2Nlc3MgdG8gc3RyIGJlbG93IHRoaXMgcG9pbnQgKi8KLSAgICAgICAgaWYgKHJldCA8IDApIHsKLSAgICAgICAgICAgIFB5RXJyX1NldEZyb21FcnJubyhQeUV4Y19JT0Vycm9yKTsKLSAgICAgICAgICAgIHJldHVybiBOVUxMOwotICAgICAgICB9Ci0gICAgICAgIGlmIChtdXRhdGVfYXJnKSB7Ci0gICAgICAgICAgICByZXR1cm4gUHlMb25nX0Zyb21Mb25nKHJldCk7Ci0gICAgICAgIH0KLSAgICAgICAgZWxzZSB7CisgICAgICAgICAgICBpZiAocmV0IDwgMCkgeworICAgICAgICAgICAgICAgIFB5QnVmZmVyX1JlbGVhc2UoJnBzdHIpOworICAgICAgICAgICAgICAgIFB5RXJyX1NldEZyb21FcnJubyhQeUV4Y19JT0Vycm9yKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIFB5QnVmZmVyX1JlbGVhc2UoJnBzdHIpOwogICAgICAgICAgICAgcmV0dXJuIFB5Qnl0ZXNfRnJvbVN0cmluZ0FuZFNpemUoYnVmLCBsZW4pOwogICAgICAgICB9Ci0gICAgfQogCi0gICAgUHlFcnJfQ2xlYXIoKTsKLSAgICBpZiAoUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiTyZJcyo6aW9jdGwiLAotICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnZfZGVzY3JpcHRvciwgJmZkLCAmY29kZSwgJnBzdHIpKSB7Ci0gICAgICAgIHN0ciA9IHBzdHIuYnVmOwotICAgICAgICBsZW4gPSBwc3RyLmxlbjsKLSAgICAgICAgaWYgKGxlbiA+IElPQ1RMX0JVRlNaKSB7Ci0gICAgICAgICAgICBQeUJ1ZmZlcl9SZWxlYXNlKCZwc3RyKTsKLSAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpb2N0bCBzdHJpbmcgYXJnIHRvbyBsb25nIik7Ci0gICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgUHlFcnJfQ2xlYXIoKTsKKyAgICAgICAgaWYgKCFQeUFyZ19QYXJzZShvYl9hcmcsCisgICAgICAgICAgICAgImk7aW9jdGwgcmVxdWlyZXMgYSBmaWxlIG9yIGZpbGUgZGVzY3JpcHRvciwiCisgICAgICAgICAgICAgIiBhbiBpbnRlZ2VyIGFuZCBvcHRpb25hbGx5IGFuIGludGVnZXIgb3IgYnVmZmVyIGFyZ3VtZW50IiwKKyAgICAgICAgICAgICAmYXJnKSkgeworICAgICAgICAgIHJldHVybiBOVUxMOwogICAgICAgICB9Ci0gICAgICAgIG1lbWNweShidWYsIHN0ciwgbGVuKTsKLSAgICAgICAgYnVmW2xlbl0gPSAnXDAnOwotICAgICAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCi0gICAgICAgIHJldCA9IGlvY3RsKGZkLCBjb2RlLCBidWYpOwotICAgICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUwotICAgICAgICBpZiAocmV0IDwgMCkgewotICAgICAgICAgICAgUHlCdWZmZXJfUmVsZWFzZSgmcHN0cik7Ci0gICAgICAgICAgICBQeUVycl9TZXRGcm9tRXJybm8oUHlFeGNfSU9FcnJvcik7Ci0gICAgICAgICAgICByZXR1cm4gTlVMTDsKLSAgICAgICAgfQotICAgICAgICBQeUJ1ZmZlcl9SZWxlYXNlKCZwc3RyKTsKLSAgICAgICAgcmV0dXJuIFB5Qnl0ZXNfRnJvbVN0cmluZ0FuZFNpemUoYnVmLCBsZW4pOwotICAgIH0KLQotICAgIFB5RXJyX0NsZWFyKCk7Ci0gICAgYXJnID0gMDsKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKLSAgICAgICAgICJPJkl8aTtpb2N0bCByZXF1aXJlcyBhIGZpbGUgb3IgZmlsZSBkZXNjcmlwdG9yLCIKLSAgICAgICAgICIgYW4gaW50ZWdlciBhbmQgb3B0aW9uYWxseSBhbiBpbnRlZ2VyIG9yIGJ1ZmZlciBhcmd1bWVudCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnZfZGVzY3JpcHRvciwgJmZkLCAmY29kZSwgJmFyZykpIHsKLSAgICAgIHJldHVybiBOVUxMOworICAgICAgICAvLyBGYWxsLXRocm91Z2ggdG8gb3V0c2lkZSB0aGUgJ2lmJyBzdGF0ZW1lbnQuCiAgICAgfQogICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKICAgICByZXQgPSBpb2N0bChmZCwgY29kZSwgYXJnKTsKQEAgLTIxOCw1MiArMjY2LDI1IEBACiAjdW5kZWYgSU9DVExfQlVGU1oKIH0KIAotUHlEb2NfU1RSVkFSKGlvY3RsX2RvYywKLSJpb2N0bChmZCwgb3BbLCBhcmdbLCBtdXRhdGVfZmxhZ11dKVxuXAotXG5cCi1QZXJmb3JtIHRoZSBvcGVyYXRpb24gb3Agb24gZmlsZSBkZXNjcmlwdG9yIGZkLiAgVGhlIHZhbHVlcyB1c2VkIGZvciBvcFxuXAotYXJlIG9wZXJhdGluZyBzeXN0ZW0gZGVwZW5kZW50LCBhbmQgYXJlIGF2YWlsYWJsZSBhcyBjb25zdGFudHMgaW4gdGhlXG5cCi1mY250bCBvciB0ZXJtaW9zIGxpYnJhcnkgbW9kdWxlcywgdXNpbmcgdGhlIHNhbWUgbmFtZXMgYXMgdXNlZCBpbiB0aGVcblwKLXJlbGV2YW50IEMgaGVhZGVyIGZpbGVzLlxuXAotXG5cCi1UaGUgYXJndW1lbnQgYXJnIGlzIG9wdGlvbmFsLCBhbmQgZGVmYXVsdHMgdG8gMDsgaXQgbWF5IGJlIGFuIGludCBvciBhXG5cCi1idWZmZXIgY29udGFpbmluZyBjaGFyYWN0ZXIgZGF0YSAobW9zdCBsaWtlbHkgYSBzdHJpbmcgb3IgYW4gYXJyYXkpLiBcblwKLVxuXAotSWYgdGhlIGFyZ3VtZW50IGlzIGEgbXV0YWJsZSBidWZmZXIgKHN1Y2ggYXMgYW4gYXJyYXkpIGFuZCBpZiB0aGVcblwKLW11dGF0ZV9mbGFnIGFyZ3VtZW50ICh3aGljaCBpcyBvbmx5IGFsbG93ZWQgaW4gdGhpcyBjYXNlKSBpcyB0cnVlIHRoZW4gdGhlXG5cCi1idWZmZXIgaXMgKGluIGVmZmVjdCkgcGFzc2VkIHRvIHRoZSBvcGVyYXRpbmcgc3lzdGVtIGFuZCBjaGFuZ2VzIG1hZGUgYnlcblwKLXRoZSBPUyB3aWxsIGJlIHJlZmxlY3RlZCBpbiB0aGUgY29udGVudHMgb2YgdGhlIGJ1ZmZlciBhZnRlciB0aGUgY2FsbCBoYXNcblwKLXJldHVybmVkLiAgVGhlIHJldHVybiB2YWx1ZSBpcyB0aGUgaW50ZWdlciByZXR1cm5lZCBieSB0aGUgaW9jdGwgc3lzdGVtXG5cCi1jYWxsLlxuXAotXG5cCi1JZiB0aGUgYXJndW1lbnQgaXMgYSBtdXRhYmxlIGJ1ZmZlciBhbmQgdGhlIG11dGFibGVfZmxhZyBhcmd1bWVudCBpcyBub3RcblwKLXBhc3NlZCBvciBpcyBmYWxzZSwgdGhlIGJlaGF2aW9yIGlzIGFzIGlmIGEgc3RyaW5nIGhhZCBiZWVuIHBhc3NlZC4gIFRoaXNcblwKLWJlaGF2aW9yIHdpbGwgY2hhbmdlIGluIGZ1dHVyZSByZWxlYXNlcyBvZiBQeXRob24uXG5cCi1cblwKLUlmIHRoZSBhcmd1bWVudCBpcyBhbiBpbW11dGFibGUgYnVmZmVyIChtb3N0IGxpa2VseSBhIHN0cmluZykgdGhlbiBhIGNvcHlcblwKLW9mIHRoZSBidWZmZXIgaXMgcGFzc2VkIHRvIHRoZSBvcGVyYXRpbmcgc3lzdGVtIGFuZCB0aGUgcmV0dXJuIHZhbHVlIGlzIGFcblwKLXN0cmluZyBvZiB0aGUgc2FtZSBsZW5ndGggY29udGFpbmluZyB3aGF0ZXZlciB0aGUgb3BlcmF0aW5nIHN5c3RlbSBwdXQgaW5cblwKLXRoZSBidWZmZXIuICBUaGUgbGVuZ3RoIG9mIHRoZSBhcmcgYnVmZmVyIGluIHRoaXMgY2FzZSBpcyBub3QgYWxsb3dlZCB0b1xuXAotZXhjZWVkIDEwMjQgYnl0ZXMuXG5cCi1cblwKLUlmIHRoZSBhcmcgZ2l2ZW4gaXMgYW4gaW50ZWdlciBvciBpZiBub25lIGlzIHNwZWNpZmllZCwgdGhlIHJlc3VsdCB2YWx1ZSBpc1xuXAotYW4gaW50ZWdlciBjb3JyZXNwb25kaW5nIHRvIHRoZSByZXR1cm4gdmFsdWUgb2YgdGhlIGlvY3RsIGNhbGwgaW4gdGhlIENcblwKLWNvZGUuIik7CisvKltjbGluaWMgaW5wdXRdCitmY250bC5mbG9jawogCisgICAgZmQ6IG9iamVjdCh0eXBlPSdpbnQnLCBjb252ZXJ0ZXI9J2NvbnZfZGVzY3JpcHRvcicpCisgICAgY29kZTogaW50CisgICAgLwogCi0vKiBmbG9jayhmZCwgb3BlcmF0aW9uKSAqLworUGVyZm9ybSB0aGUgbG9jayBvcGVyYXRpb24gb3Agb24gZmlsZSBkZXNjcmlwdG9yIGZkLgorCitTZWUgdGhlIFVuaXggbWFudWFsIHBhZ2UgZm9yIGZsb2NrKDIpIGZvciBkZXRhaWxzIChPbiBzb21lIHN5c3RlbXMsIHRoaXMKK2Z1bmN0aW9uIGlzIGVtdWxhdGVkIHVzaW5nIGZjbnRsKCkpLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLwogCiBzdGF0aWMgUHlPYmplY3QgKgotZmNudGxfZmxvY2soUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQorZmNudGxfZmxvY2tfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBpbnQgZmQsIGludCBjb2RlKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWM5MDM1MTMzYTdkYmZjOTYgaW5wdXQ9Yjc2MmFhOTQ0OGQwNWU0M10qLwogewotICAgIGludCBmZDsKLSAgICBpbnQgY29kZTsKICAgICBpbnQgcmV0OwogCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJPJmk6ZmxvY2siLAotICAgICAgICAgICAgICAgICAgICAgICAgICBjb252X2Rlc2NyaXB0b3IsICZmZCwgJmNvZGUpKQotICAgICAgICByZXR1cm4gTlVMTDsKLQogI2lmZGVmIEhBVkVfRkxPQ0sKICAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCiAgICAgcmV0ID0gZmxvY2soZmQsIGNvZGUpOwpAQCAtMjk5LDI5ICszMjAsNDkgQEAKICAgICAgICAgUHlFcnJfU2V0RnJvbUVycm5vKFB5RXhjX0lPRXJyb3IpOwogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9Ci0gICAgUHlfSU5DUkVGKFB5X05vbmUpOwotICAgIHJldHVybiBQeV9Ob25lOworICAgIFB5X1JFVFVSTl9OT05FOwogfQogCi1QeURvY19TVFJWQVIoZmxvY2tfZG9jLAotImZsb2NrKGZkLCBvcGVyYXRpb24pXG5cCi1cblwKLVBlcmZvcm0gdGhlIGxvY2sgb3BlcmF0aW9uIG9wIG9uIGZpbGUgZGVzY3JpcHRvciBmZC4gIFNlZSB0aGUgVW5peCBcblwKLW1hbnVhbCBwYWdlIGZvciBmbG9jaygyKSBmb3IgZGV0YWlscy4gIChPbiBzb21lIHN5c3RlbXMsIHRoaXMgZnVuY3Rpb24gaXNcblwKLWVtdWxhdGVkIHVzaW5nIGZjbnRsKCkuKSIpOwogCisvKltjbGluaWMgaW5wdXRdCitmY250bC5sb2NrZgogCi0vKiBsb2NrZihmZCwgb3BlcmF0aW9uKSAqLworICAgIGZkOiBvYmplY3QodHlwZT0naW50JywgY29udmVydGVyPSdjb252X2Rlc2NyaXB0b3InKQorICAgIGNvZGU6IGludAorICAgIGxlbm9iajogb2JqZWN0ID0gTlVMTAorICAgIHN0YXJ0b2JqOiBvYmplY3QgPSBOVUxMCisgICAgd2hlbmNlOiBpbnQgPSAwCisgICAgLworCitBIHdyYXBwZXIgYXJvdW5kIHRoZSBmY250bCgpIGxvY2tpbmcgY2FsbHMuCisKK2ZkIGlzIHRoZSBmaWxlIGRlc2NyaXB0b3Igb2YgdGhlIGZpbGUgdG8gbG9jayBvciB1bmxvY2ssIGFuZCBvcGVyYXRpb24gaXMgb25lCitvZiB0aGUgZm9sbG93aW5nIHZhbHVlczoKKworICAgIExPQ0tfVU4gLSB1bmxvY2sKKyAgICBMT0NLX1NIIC0gYWNxdWlyZSBhIHNoYXJlZCBsb2NrCisgICAgTE9DS19FWCAtIGFjcXVpcmUgYW4gZXhjbHVzaXZlIGxvY2sKKworV2hlbiBvcGVyYXRpb24gaXMgTE9DS19TSCBvciBMT0NLX0VYLCBpdCBjYW4gYWxzbyBiZSBiaXR3aXNlIE9SZWQgd2l0aAorTE9DS19OQiB0byBhdm9pZCBibG9ja2luZyBvbiBsb2NrIGFjcXVpc2l0aW9uLiAgSWYgTE9DS19OQiBpcyB1c2VkIGFuZCB0aGUKK2xvY2sgY2Fubm90IGJlIGFjcXVpcmVkLCBhbiBJT0Vycm9yIHdpbGwgYmUgcmFpc2VkIGFuZCB0aGUgZXhjZXB0aW9uIHdpbGwKK2hhdmUgYW4gZXJybm8gYXR0cmlidXRlIHNldCB0byBFQUNDRVMgb3IgRUFHQUlOIChkZXBlbmRpbmcgb24gdGhlIG9wZXJhdGluZworc3lzdGVtIC0tIGZvciBwb3J0YWJpbGl0eSwgY2hlY2sgZm9yIGVpdGhlciB2YWx1ZSkuCisKK2xlbmd0aCBpcyB0aGUgbnVtYmVyIG9mIGJ5dGVzIHRvIGxvY2ssIHdpdGggdGhlIGRlZmF1bHQgbWVhbmluZyB0byBsb2NrIHRvCitFT0YuICBzdGFydCBpcyB0aGUgYnl0ZSBvZmZzZXQsIHJlbGF0aXZlIHRvIHdoZW5jZSwgdG8gdGhhdCB0aGUgbG9jaworc3RhcnRzLiAgd2hlbmNlIGlzIGFzIHdpdGggZmlsZW9iai5zZWVrKCksIHNwZWNpZmljYWxseToKKworICAgIDAgLSByZWxhdGl2ZSB0byB0aGUgc3RhcnQgb2YgdGhlIGZpbGUgKFNFRUtfU0VUKQorICAgIDEgLSByZWxhdGl2ZSB0byB0aGUgY3VycmVudCBidWZmZXIgcG9zaXRpb24gKFNFRUtfQ1VSKQorICAgIDIgLSByZWxhdGl2ZSB0byB0aGUgZW5kIG9mIHRoZSBmaWxlIChTRUVLX0VORCkKK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKwogc3RhdGljIFB5T2JqZWN0ICoKLWZjbnRsX2xvY2tmKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK2ZjbnRsX2xvY2tmX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgaW50IGZkLCBpbnQgY29kZSwgUHlPYmplY3QgKmxlbm9iaiwgUHlPYmplY3QgKnN0YXJ0b2JqLCBpbnQgd2hlbmNlKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTU1MzZkZjI4OTJiZjNjZTkgaW5wdXQ9NDQ4NTZmYTA2ZGIzNjE4NF0qLwogewotICAgIGludCBmZCwgY29kZSwgcmV0LCB3aGVuY2UgPSAwOwotICAgIFB5T2JqZWN0ICpsZW5vYmogPSBOVUxMLCAqc3RhcnRvYmogPSBOVUxMOwotCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJPJml8T09pOmxvY2tmIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgY29udl9kZXNjcmlwdG9yLCAmZmQsICZjb2RlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAmbGVub2JqLCAmc3RhcnRvYmosICZ3aGVuY2UpKQotICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBpbnQgcmV0OwogCiAjaWZuZGVmIExPQ0tfU0gKICNkZWZpbmUgTE9DS19TSCAgICAgICAgIDEgICAgICAgLyogc2hhcmVkIGxvY2sgKi8KQEAgLTM3NCw0MyArNDE1LDE3IEBACiAgICAgICAgIFB5RXJyX1NldEZyb21FcnJubyhQeUV4Y19JT0Vycm9yKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQotICAgIFB5X0lOQ1JFRihQeV9Ob25lKTsKLSAgICByZXR1cm4gUHlfTm9uZTsKKyAgICBQeV9SRVRVUk5fTk9ORTsKIH0KIAotUHlEb2NfU1RSVkFSKGxvY2tmX2RvYywKLSJsb2NrZiAoZmQsIG9wZXJhdGlvbiwgbGVuZ3RoPTAsIHN0YXJ0PTAsIHdoZW5jZT0wKVxuXAotXG5cCi1UaGlzIGlzIGVzc2VudGlhbGx5IGEgd3JhcHBlciBhcm91bmQgdGhlIGZjbnRsKCkgbG9ja2luZyBjYWxscy4gIGZkIGlzIHRoZVxuXAotZmlsZSBkZXNjcmlwdG9yIG9mIHRoZSBmaWxlIHRvIGxvY2sgb3IgdW5sb2NrLCBhbmQgb3BlcmF0aW9uIGlzIG9uZSBvZiB0aGVcblwKLWZvbGxvd2luZyB2YWx1ZXM6XG5cCi1cblwKLSAgICBMT0NLX1VOIC0gdW5sb2NrXG5cCi0gICAgTE9DS19TSCAtIGFjcXVpcmUgYSBzaGFyZWQgbG9ja1xuXAotICAgIExPQ0tfRVggLSBhY3F1aXJlIGFuIGV4Y2x1c2l2ZSBsb2NrXG5cCi1cblwKLVdoZW4gb3BlcmF0aW9uIGlzIExPQ0tfU0ggb3IgTE9DS19FWCwgaXQgY2FuIGFsc28gYmUgYml0d2lzZSBPUmVkIHdpdGhcblwKLUxPQ0tfTkIgdG8gYXZvaWQgYmxvY2tpbmcgb24gbG9jayBhY3F1aXNpdGlvbi4gIElmIExPQ0tfTkIgaXMgdXNlZCBhbmQgdGhlXG5cCi1sb2NrIGNhbm5vdCBiZSBhY3F1aXJlZCwgYW4gSU9FcnJvciB3aWxsIGJlIHJhaXNlZCBhbmQgdGhlIGV4Y2VwdGlvbiB3aWxsXG5cCi1oYXZlIGFuIGVycm5vIGF0dHJpYnV0ZSBzZXQgdG8gRUFDQ0VTIG9yIEVBR0FJTiAoZGVwZW5kaW5nIG9uIHRoZSBvcGVyYXRpbmdcblwKLXN5c3RlbSAtLSBmb3IgcG9ydGFiaWxpdHksIGNoZWNrIGZvciBlaXRoZXIgdmFsdWUpLlxuXAotXG5cCi1sZW5ndGggaXMgdGhlIG51bWJlciBvZiBieXRlcyB0byBsb2NrLCB3aXRoIHRoZSBkZWZhdWx0IG1lYW5pbmcgdG8gbG9jayB0b1xuXAotRU9GLiAgc3RhcnQgaXMgdGhlIGJ5dGUgb2Zmc2V0LCByZWxhdGl2ZSB0byB3aGVuY2UsIHRvIHRoYXQgdGhlIGxvY2tcblwKLXN0YXJ0cy4gIHdoZW5jZSBpcyBhcyB3aXRoIGZpbGVvYmouc2VlaygpLCBzcGVjaWZpY2FsbHk6XG5cCi1cblwKLSAgICAwIC0gcmVsYXRpdmUgdG8gdGhlIHN0YXJ0IG9mIHRoZSBmaWxlIChTRUVLX1NFVClcblwKLSAgICAxIC0gcmVsYXRpdmUgdG8gdGhlIGN1cnJlbnQgYnVmZmVyIHBvc2l0aW9uIChTRUVLX0NVUilcblwKLSAgICAyIC0gcmVsYXRpdmUgdG8gdGhlIGVuZCBvZiB0aGUgZmlsZSAoU0VFS19FTkQpIik7Ci0KIC8qIExpc3Qgb2YgZnVuY3Rpb25zICovCiAKIHN0YXRpYyBQeU1ldGhvZERlZiBmY250bF9tZXRob2RzW10gPSB7Ci0gICAgeyJmY250bCIsICAgICAgICAgICBmY250bF9mY250bCwgTUVUSF9WQVJBUkdTLCBmY250bF9kb2N9LAotICAgIHsiaW9jdGwiLCAgICAgICAgICAgZmNudGxfaW9jdGwsIE1FVEhfVkFSQVJHUywgaW9jdGxfZG9jfSwKLSAgICB7ImZsb2NrIiwgICAgICAgICAgIGZjbnRsX2Zsb2NrLCBNRVRIX1ZBUkFSR1MsIGZsb2NrX2RvY30sCi0gICAgeyJsb2NrZiIsICAgICAgIGZjbnRsX2xvY2tmLCBNRVRIX1ZBUkFSR1MsIGxvY2tmX2RvY30sCi0gICAge05VTEwsICAgICAgICAgICAgICBOVUxMfSAgICAgICAgICAgLyogc2VudGluZWwgKi8KKyAgICBGQ05UTF9GQ05UTF9NRVRIT0RERUYKKyAgICBGQ05UTF9JT0NUTF9NRVRIT0RERUYKKyAgICBGQ05UTF9GTE9DS19NRVRIT0RERUYKKyAgICBGQ05UTF9MT0NLRl9NRVRIT0RERUYKKyAgICB7TlVMTCwgTlVMTH0gIC8qIHNlbnRpbmVsICovCiB9OwogCiAKZGlmZiAtLWdpdCBhL01vZHVsZXMvZ2Ntb2R1bGUuYyBiL01vZHVsZXMvZ2Ntb2R1bGUuYwppbmRleCA5YmIzNjY2Li4xNDI2ODdiIDEwMDY0NAotLS0gYS9Nb2R1bGVzL2djbW9kdWxlLmMKKysrIGIvTW9kdWxlcy9nY21vZHVsZS5jCkBAIC0yNSw2ICsyNSw3IEBACiAKICNpbmNsdWRlICJQeXRob24uaCIKICNpbmNsdWRlICJmcmFtZW9iamVjdC5oIiAgICAgICAgLyogZm9yIFB5RnJhbWVfQ2xlYXJGcmVlTGlzdCAqLworI2luY2x1ZGUgInB5dGltZS5oIiAgICAgICAgICAgICAvKiBmb3IgX1B5VGltZV9tb25vdG9uaWMsIF9QeVRpbWVfSU5URVJWQUwgKi8KIAogLyogR2V0IGFuIG9iamVjdCdzIEdDIGhlYWQgKi8KICNkZWZpbmUgQVNfR0MobykgKChQeUdDX0hlYWQgKikobyktMSkKQEAgLTE2Niw3ICsxNjcsNiBAQAogICAgICAgICAgICAgICAgIERFQlVHX1VOQ09MTEVDVEFCTEUgfCBcCiAgICAgICAgICAgICAgICAgREVCVUdfU0FWRUFMTAogc3RhdGljIGludCBkZWJ1ZzsKLXN0YXRpYyBQeU9iamVjdCAqdG1vZCA9IE5VTEw7CiAKIC8qIFJ1bm5pbmcgc3RhdHMgcGVyIGdlbmVyYXRpb24gKi8KIHN0cnVjdCBnY19nZW5lcmF0aW9uX3N0YXRzIHsKQEAgLTg5NCwyNiArODk0LDYgQEAKICAgICAodm9pZClQeVNldF9DbGVhckZyZWVMaXN0KCk7CiB9CiAKLXN0YXRpYyBkb3VibGUKLWdldF90aW1lKHZvaWQpCi17Ci0gICAgZG91YmxlIHJlc3VsdCA9IDA7Ci0gICAgaWYgKHRtb2QgIT0gTlVMTCkgewotICAgICAgICBfUHlfSURFTlRJRklFUih0aW1lKTsKLQotICAgICAgICBQeU9iamVjdCAqZiA9IF9QeU9iamVjdF9DYWxsTWV0aG9kSWQodG1vZCwgJlB5SWRfdGltZSwgTlVMTCk7Ci0gICAgICAgIGlmIChmID09IE5VTEwpIHsKLSAgICAgICAgICAgIFB5RXJyX0NsZWFyKCk7Ci0gICAgICAgIH0KLSAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICBpZiAoUHlGbG9hdF9DaGVjayhmKSkKLSAgICAgICAgICAgICAgICByZXN1bHQgPSBQeUZsb2F0X0FzRG91YmxlKGYpOwotICAgICAgICAgICAgUHlfREVDUkVGKGYpOwotICAgICAgICB9Ci0gICAgfQotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KIC8qIFRoaXMgaXMgdGhlIG1haW4gZnVuY3Rpb24uICBSZWFkIHRoaXMgdG8gdW5kZXJzdGFuZCBob3cgdGhlCiAgKiBjb2xsZWN0aW9uIHByb2Nlc3Mgd29ya3MuICovCiBzdGF0aWMgUHlfc3NpemVfdApAQCAtOTI4LDcgKzkwOCw4IEBACiAgICAgUHlHQ19IZWFkIHVucmVhY2hhYmxlOyAvKiBub24tcHJvYmxlbWF0aWMgdW5yZWFjaGFibGUgdHJhc2ggKi8KICAgICBQeUdDX0hlYWQgZmluYWxpemVyczsgIC8qIG9iamVjdHMgd2l0aCwgJiByZWFjaGFibGUgZnJvbSwgX19kZWxfXyAqLwogICAgIFB5R0NfSGVhZCAqZ2M7Ci0gICAgZG91YmxlIHQxID0gMC4wOworICAgIF9QeVRpbWVfdGltZXZhbCB0MTsKKwogICAgIHN0cnVjdCBnY19nZW5lcmF0aW9uX3N0YXRzICpzdGF0cyA9ICZnZW5lcmF0aW9uX3N0YXRzW2dlbmVyYXRpb25dOwogCiAgICAgaWYgKGRlYnVnICYgREVCVUdfU1RBVFMpIHsKQEAgLTkzNiw5ICs5MTcsMTAgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2VuZXJhdGlvbik7CiAgICAgICAgIFB5U3lzX1dyaXRlU3RkZXJyKCJnYzogb2JqZWN0cyBpbiBlYWNoIGdlbmVyYXRpb246Iik7CiAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBOVU1fR0VORVJBVElPTlM7IGkrKykKLSAgICAgICAgICAgIFB5U3lzX1dyaXRlU3RkZXJyKCIgJSIgUFlfRk9STUFUX1NJWkVfVCAiZCIsCisgICAgICAgICAgICBQeVN5c19Gb3JtYXRTdGRlcnIoIiAlemQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2NfbGlzdF9zaXplKEdFTl9IRUFEKGkpKSk7Ci0gICAgICAgIHQxID0gZ2V0X3RpbWUoKTsKKyAgICAgICAgX1B5VGltZV9tb25vdG9uaWMoJnQxKTsKKwogICAgICAgICBQeVN5c19Xcml0ZVN0ZGVycigiXG4iKTsKICAgICB9CiAKQEAgLTEwNDIsMTkgKzEwMjQsMTYgQEAKICAgICAgICAgICAgIGRlYnVnX2N5Y2xlKCJ1bmNvbGxlY3RhYmxlIiwgRlJPTV9HQyhnYykpOwogICAgIH0KICAgICBpZiAoZGVidWcgJiBERUJVR19TVEFUUykgewotICAgICAgICBkb3VibGUgdDIgPSBnZXRfdGltZSgpOworICAgICAgICBfUHlUaW1lX3RpbWV2YWwgdDI7CisgICAgICAgIF9QeVRpbWVfbW9ub3RvbmljKCZ0Mik7CisKICAgICAgICAgaWYgKG0gPT0gMCAmJiBuID09IDApCiAgICAgICAgICAgICBQeVN5c19Xcml0ZVN0ZGVycigiZ2M6IGRvbmUiKTsKICAgICAgICAgZWxzZQotICAgICAgICAgICAgUHlTeXNfV3JpdGVTdGRlcnIoCi0gICAgICAgICAgICAgICAgImdjOiBkb25lLCAiCi0gICAgICAgICAgICAgICAgIiUiIFBZX0ZPUk1BVF9TSVpFX1QgImQgdW5yZWFjaGFibGUsICIKLSAgICAgICAgICAgICAgICAiJSIgUFlfRk9STUFUX1NJWkVfVCAiZCB1bmNvbGxlY3RhYmxlIiwKKyAgICAgICAgICAgIFB5U3lzX0Zvcm1hdFN0ZGVycigKKyAgICAgICAgICAgICAgICAiZ2M6IGRvbmUsICV6ZCB1bnJlYWNoYWJsZSwgJXpkIHVuY29sbGVjdGFibGUiLAogICAgICAgICAgICAgICAgIG4rbSwgbik7Ci0gICAgICAgIGlmICh0MSAmJiB0MikgewotICAgICAgICAgICAgUHlTeXNfV3JpdGVTdGRlcnIoIiwgJS40ZnMgZWxhcHNlZCIsIHQyLXQxKTsKLSAgICAgICAgfQotICAgICAgICBQeVN5c19Xcml0ZVN0ZGVycigiLlxuIik7CisgICAgICAgIFB5U3lzX1dyaXRlU3RkZXJyKCIsICUuNGZzIGVsYXBzZWRcbiIsIF9QeVRpbWVfSU5URVJWQUwodDEsIHQyKSk7CiAgICAgfQogCiAgICAgLyogQXBwZW5kIGluc3RhbmNlcyBpbiB0aGUgdW5jb2xsZWN0YWJsZSBzZXQgdG8gYSBQeXRob24KQEAgLTE1ODEsMTggKzE1NjAsNiBAQAogICAgIGlmIChQeU1vZHVsZV9BZGRPYmplY3QobSwgImNhbGxiYWNrcyIsIGNhbGxiYWNrcykgPCAwKQogICAgICAgICByZXR1cm4gTlVMTDsKIAotICAgIC8qIEltcG9ydGluZyBjYW4ndCBiZSBkb25lIGluIGNvbGxlY3QoKSBiZWNhdXNlIGNvbGxlY3QoKQotICAgICAqIGNhbiBiZSBjYWxsZWQgdmlhIFB5R0NfQ29sbGVjdCgpIGluIFB5X0ZpbmFsaXplKCkuCi0gICAgICogVGhpcyB3b3VsZG4ndCBiZSBhIHByb2JsZW0sIGV4Y2VwdCB0aGF0IDxpbml0aWFsaXplZD4gaXMKLSAgICAgKiByZXNldCB0byAwIGJlZm9yZSBjYWxsaW5nIGNvbGxlY3Qgd2hpY2ggdHJpcHMgdXAKLSAgICAgKiB0aGUgaW1wb3J0IGFuZCB0cmlnZ2VycyBhbiBhc3NlcnRpb24uCi0gICAgICovCi0gICAgaWYgKHRtb2QgPT0gTlVMTCkgewotICAgICAgICB0bW9kID0gUHlJbXBvcnRfSW1wb3J0TW9kdWxlTm9CbG9jaygidGltZSIpOwotICAgICAgICBpZiAodG1vZCA9PSBOVUxMKQotICAgICAgICAgICAgUHlFcnJfQ2xlYXIoKTsKLSAgICB9Ci0KICNkZWZpbmUgQUREX0lOVChOQU1FKSBpZiAoUHlNb2R1bGVfQWRkSW50Q29uc3RhbnQobSwgI05BTUUsIE5BTUUpIDwgMCkgcmV0dXJuIE5VTEwKICAgICBBRERfSU5UKERFQlVHX1NUQVRTKTsKICAgICBBRERfSU5UKERFQlVHX0NPTExFQ1RBQkxFKTsKQEAgLTE2ODEsNyArMTY0OCw2IEBACiBfUHlHQ19GaW5pKHZvaWQpCiB7CiAgICAgUHlfQ0xFQVIoY2FsbGJhY2tzKTsKLSAgICBQeV9DTEVBUih0bW9kKTsKIH0KIAogLyogZm9yIGRlYnVnZ2luZyAqLwpAQCAtMTcxNSwxNSArMTY4MSwxOSBAQAogICAgICAgICBfUHlPYmplY3RfR0NfVU5UUkFDSyhvcCk7CiB9CiAKLVB5T2JqZWN0ICoKLV9QeU9iamVjdF9HQ19NYWxsb2Moc2l6ZV90IGJhc2ljc2l6ZSkKK3N0YXRpYyBQeU9iamVjdCAqCitfUHlPYmplY3RfR0NfQWxsb2MoaW50IHVzZV9jYWxsb2MsIHNpemVfdCBiYXNpY3NpemUpCiB7CiAgICAgUHlPYmplY3QgKm9wOwogICAgIFB5R0NfSGVhZCAqZzsKKyAgICBzaXplX3Qgc2l6ZTsKICAgICBpZiAoYmFzaWNzaXplID4gUFlfU1NJWkVfVF9NQVggLSBzaXplb2YoUHlHQ19IZWFkKSkKICAgICAgICAgcmV0dXJuIFB5RXJyX05vTWVtb3J5KCk7Ci0gICAgZyA9IChQeUdDX0hlYWQgKilQeU9iamVjdF9NQUxMT0MoCi0gICAgICAgIHNpemVvZihQeUdDX0hlYWQpICsgYmFzaWNzaXplKTsKKyAgICBzaXplID0gc2l6ZW9mKFB5R0NfSGVhZCkgKyBiYXNpY3NpemU7CisgICAgaWYgKHVzZV9jYWxsb2MpCisgICAgICAgIGcgPSAoUHlHQ19IZWFkICopUHlPYmplY3RfQ2FsbG9jKDEsIHNpemUpOworICAgIGVsc2UKKyAgICAgICAgZyA9IChQeUdDX0hlYWQgKilQeU9iamVjdF9NYWxsb2Moc2l6ZSk7CiAgICAgaWYgKGcgPT0gTlVMTCkKICAgICAgICAgcmV0dXJuIFB5RXJyX05vTWVtb3J5KCk7CiAgICAgZy0+Z2MuZ2NfcmVmcyA9IDA7CkBAIC0xNzQzLDYgKzE3MTMsMTggQEAKIH0KIAogUHlPYmplY3QgKgorX1B5T2JqZWN0X0dDX01hbGxvYyhzaXplX3QgYmFzaWNzaXplKQoreworICAgIHJldHVybiBfUHlPYmplY3RfR0NfQWxsb2MoMCwgYmFzaWNzaXplKTsKK30KKworUHlPYmplY3QgKgorX1B5T2JqZWN0X0dDX0NhbGxvYyhzaXplX3QgYmFzaWNzaXplKQoreworICAgIHJldHVybiBfUHlPYmplY3RfR0NfQWxsb2MoMSwgYmFzaWNzaXplKTsKK30KKworUHlPYmplY3QgKgogX1B5T2JqZWN0X0dDX05ldyhQeVR5cGVPYmplY3QgKnRwKQogewogICAgIFB5T2JqZWN0ICpvcCA9IF9QeU9iamVjdF9HQ19NYWxsb2MoX1B5T2JqZWN0X1NJWkUodHApKTsKZGlmZiAtLWdpdCBhL01vZHVsZXMvZ2V0cGF0aC5jIGIvTW9kdWxlcy9nZXRwYXRoLmMKaW5kZXggMTNlMzgxNy4uMzU2NGQ3MiAxMDA2NDQKLS0tIGEvTW9kdWxlcy9nZXRwYXRoLmMKKysrIGIvTW9kdWxlcy9nZXRwYXRoLmMKQEAgLTMzNiw3ICszMzYsNyBAQAogICAgIGpvaW5wYXRoKHByZWZpeCwgTCJNb2R1bGVzL1NldHVwIik7CiAgICAgaWYgKGlzZmlsZShwcmVmaXgpKSB7CiAgICAgICAgIC8qIENoZWNrIFZQQVRIIHRvIHNlZSBpZiBhcmd2MF9wYXRoIGlzIGluIHRoZSBidWlsZCBkaXJlY3RvcnkuICovCi0gICAgICAgIHZwYXRoID0gX1B5X2NoYXIyd2NoYXIoVlBBVEgsIE5VTEwpOworICAgICAgICB2cGF0aCA9IFB5X0RlY29kZUxvY2FsZShWUEFUSCwgTlVMTCk7CiAgICAgICAgIGlmICh2cGF0aCAhPSBOVUxMKSB7CiAgICAgICAgICAgICB3Y3NuY3B5KHByZWZpeCwgYXJndjBfcGF0aCwgTUFYUEFUSExFTik7CiAgICAgICAgICAgICBwcmVmaXhbTUFYUEFUSExFTl0gPSBMJ1wwJzsKQEAgLTQ5MSwxMCArNDkxLDEwIEBACiAgICAgd2NoYXJfdCAqX3B5dGhvbnBhdGgsICpfcHJlZml4LCAqX2V4ZWNfcHJlZml4OwogICAgIHdjaGFyX3QgKmxpYl9weXRob247CiAKLSAgICBfcHl0aG9ucGF0aCA9IF9QeV9jaGFyMndjaGFyKFBZVEhPTlBBVEgsIE5VTEwpOwotICAgIF9wcmVmaXggPSBfUHlfY2hhcjJ3Y2hhcihQUkVGSVgsIE5VTEwpOwotICAgIF9leGVjX3ByZWZpeCA9IF9QeV9jaGFyMndjaGFyKEVYRUNfUFJFRklYLCBOVUxMKTsKLSAgICBsaWJfcHl0aG9uID0gX1B5X2NoYXIyd2NoYXIoImxpYi9weXRob24iIFZFUlNJT04sIE5VTEwpOworICAgIF9weXRob25wYXRoID0gUHlfRGVjb2RlTG9jYWxlKFBZVEhPTlBBVEgsIE5VTEwpOworICAgIF9wcmVmaXggPSBQeV9EZWNvZGVMb2NhbGUoUFJFRklYLCBOVUxMKTsKKyAgICBfZXhlY19wcmVmaXggPSBQeV9EZWNvZGVMb2NhbGUoRVhFQ19QUkVGSVgsIE5VTEwpOworICAgIGxpYl9weXRob24gPSBQeV9EZWNvZGVMb2NhbGUoImxpYi9weXRob24iIFZFUlNJT04sIE5VTEwpOwogCiAgICAgaWYgKCFfcHl0aG9ucGF0aCB8fCAhX3ByZWZpeCB8fCAhX2V4ZWNfcHJlZml4IHx8ICFsaWJfcHl0aG9uKSB7CiAgICAgICAgIFB5X0ZhdGFsRXJyb3IoCkBAIC01MDMsNyArNTAzLDcgQEAKICAgICB9CiAKICAgICBpZiAoX3BhdGgpIHsKLSAgICAgICAgcGF0aF9idWZmZXIgPSBfUHlfY2hhcjJ3Y2hhcihfcGF0aCwgTlVMTCk7CisgICAgICAgIHBhdGhfYnVmZmVyID0gUHlfRGVjb2RlTG9jYWxlKF9wYXRoLCBOVUxMKTsKICAgICAgICAgcGF0aCA9IHBhdGhfYnVmZmVyOwogICAgIH0KIApAQCAtNTg0LDcgKzU4NCw3IEBACiAgICAgICAgICoqIGJlIHJ1bm5pbmcgdGhlIGludGVycHJldGVyIGluIHRoZSBidWlsZCBkaXJlY3RvcnksIHNvIHdlIHVzZSB0aGUKICAgICAgICAgKiogYnVpbGQtZGlyZWN0b3J5LXNwZWNpZmljIGxvZ2ljIHRvIGZpbmQgTGliIGFuZCBzdWNoLgogICAgICAgICAqLwotICAgICAgICB3Y2hhcl90KiB3YnVmID0gX1B5X2NoYXIyd2NoYXIobW9kUGF0aCwgTlVMTCk7CisgICAgICAgIHdjaGFyX3QqIHdidWYgPSBQeV9EZWNvZGVMb2NhbGUobW9kUGF0aCwgTlVMTCk7CiAgICAgICAgIGlmICh3YnVmID09IE5VTEwpIHsKICAgICAgICAgICAgIFB5X0ZhdGFsRXJyb3IoIkNhbm5vdCBkZWNvZGUgZnJhbWV3b3JrIGxvY2F0aW9uIik7CiAgICAgICAgIH0KQEAgLTcwOSw3ICs3MDksNyBAQAogCiAgICAgaWYgKF9ydHB5cGF0aCAmJiBfcnRweXBhdGhbMF0gIT0gJ1wwJykgewogICAgICAgICBzaXplX3QgcnRweXBhdGhfbGVuOwotICAgICAgICBydHB5cGF0aCA9IF9QeV9jaGFyMndjaGFyKF9ydHB5cGF0aCwgJnJ0cHlwYXRoX2xlbik7CisgICAgICAgIHJ0cHlwYXRoID0gUHlfRGVjb2RlTG9jYWxlKF9ydHB5cGF0aCwgJnJ0cHlwYXRoX2xlbik7CiAgICAgICAgIGlmIChydHB5cGF0aCAhPSBOVUxMKQogICAgICAgICAgICAgYnVmc3ogKz0gcnRweXBhdGhfbGVuICsgMTsKICAgICB9CmRpZmYgLS1naXQgYS9Nb2R1bGVzL2dycG1vZHVsZS5jIGIvTW9kdWxlcy9ncnBtb2R1bGUuYwppbmRleCBkYTc4MjUzLi5mNzk3OWJlIDEwMDY0NAotLS0gYS9Nb2R1bGVzL2dycG1vZHVsZS5jCisrKyBiL01vZHVsZXMvZ3JwbW9kdWxlLmMKQEAgLTYsNiArNiwxMyBAQAogCiAjaW5jbHVkZSA8Z3JwLmg+CiAKKyNpbmNsdWRlICJjbGluaWMvZ3JwbW9kdWxlLmMuaCIKKy8qW2NsaW5pYyBpbnB1dF0KK291dHB1dCBwcmVzZXQgZmlsZQorbW9kdWxlIGdycAorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWRhMzlhM2VlNWU2YjRiMGQgaW5wdXQ9NjgxODBhOWE5ZWZiODUwNl0qLworCiBzdGF0aWMgUHlTdHJ1Y3RTZXF1ZW5jZV9GaWVsZCBzdHJ1Y3RfZ3JvdXBfdHlwZV9maWVsZHNbXSA9IHsKICAgIHsiZ3JfbmFtZSIsICJncm91cCBuYW1lIn0sCiAgICB7ImdyX3Bhc3N3ZCIsICJwYXNzd29yZCJ9LApAQCAtNzYsMTQgKzgzLDI1IEBACiAgICAgcmV0dXJuIHY7CiB9CiAKKy8qW2NsaW5pYyBpbnB1dF0KK2dycC5nZXRncmdpZAorCisgICAgaWQ6IG9iamVjdAorCitSZXR1cm4gdGhlIGdyb3VwIGRhdGFiYXNlIGVudHJ5IGZvciB0aGUgZ2l2ZW4gbnVtZXJpYyBncm91cCBJRC4KKworSWYgaWQgaXMgbm90IHZhbGlkLCByYWlzZSBLZXlFcnJvci4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKwogc3RhdGljIFB5T2JqZWN0ICoKLWdycF9nZXRncmdpZChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKnB5b19pZCkKK2dycF9nZXRncmdpZF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICppZCkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD04YTExZjVmZGViOGM3OGEwIGlucHV0PTE1ZmEwZTJjY2Y1Y2RhMjVdKi8KIHsKICAgICBQeU9iamVjdCAqcHlfaW50X2lkOwogICAgIGdpZF90IGdpZDsKICAgICBzdHJ1Y3QgZ3JvdXAgKnA7CiAKLSAgICBweV9pbnRfaWQgPSBQeU51bWJlcl9Mb25nKHB5b19pZCk7CisgICAgcHlfaW50X2lkID0gUHlOdW1iZXJfTG9uZyhpZCk7CiAgICAgaWYgKCFweV9pbnRfaWQpCiAgICAgICAgICAgICByZXR1cm4gTlVMTDsKICAgICBpZiAoIV9QeV9HaWRfQ29udmVydGVyKHB5X2ludF9pZCwgJmdpZCkpIHsKQEAgLTEwMywyMiArMTIxLDMxIEBACiAgICAgcmV0dXJuIG1rZ3JlbnQocCk7CiB9CiAKLXN0YXRpYyBQeU9iamVjdCAqCi1ncnBfZ2V0Z3JuYW0oUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQotewotICAgIGNoYXIgKm5hbWU7Ci0gICAgc3RydWN0IGdyb3VwICpwOwotICAgIFB5T2JqZWN0ICphcmcsICpieXRlcywgKnJldHZhbCA9IE5VTEw7CisvKltjbGluaWMgaW5wdXRdCitncnAuZ2V0Z3JuYW0KIAotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiVTpnZXRncm5hbSIsICZhcmcpKQorICAgIG5hbWU6IHVuaWNvZGUKKworUmV0dXJuIHRoZSBncm91cCBkYXRhYmFzZSBlbnRyeSBmb3IgdGhlIGdpdmVuIGdyb3VwIG5hbWUuCisKK0lmIG5hbWUgaXMgbm90IHZhbGlkLCByYWlzZSBLZXlFcnJvci4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworc3RhdGljIFB5T2JqZWN0ICoKK2dycF9nZXRncm5hbV9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICpuYW1lKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWNkNDc1MTFmNDg1NGRhOGUgaW5wdXQ9MDhkZWQyOWFmZmEzYzg2M10qLworeworICAgIGNoYXIgKm5hbWVfY2hhcnM7CisgICAgc3RydWN0IGdyb3VwICpwOworICAgIFB5T2JqZWN0ICpieXRlcywgKnJldHZhbCA9IE5VTEw7CisKKyAgICBpZiAoKGJ5dGVzID0gUHlVbmljb2RlX0VuY29kZUZTRGVmYXVsdChuYW1lKSkgPT0gTlVMTCkKICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgaWYgKChieXRlcyA9IFB5VW5pY29kZV9FbmNvZGVGU0RlZmF1bHQoYXJnKSkgPT0gTlVMTCkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgaWYgKFB5Qnl0ZXNfQXNTdHJpbmdBbmRTaXplKGJ5dGVzLCAmbmFtZSwgTlVMTCkgPT0gLTEpCisgICAgaWYgKFB5Qnl0ZXNfQXNTdHJpbmdBbmRTaXplKGJ5dGVzLCAmbmFtZV9jaGFycywgTlVMTCkgPT0gLTEpCiAgICAgICAgIGdvdG8gb3V0OwogCi0gICAgaWYgKChwID0gZ2V0Z3JuYW0obmFtZSkpID09IE5VTEwpIHsKLSAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX0tleUVycm9yLCAiZ2V0Z3JuYW0oKTogbmFtZSBub3QgZm91bmQ6ICVzIiwgbmFtZSk7CisgICAgaWYgKChwID0gZ2V0Z3JuYW0obmFtZV9jaGFycykpID09IE5VTEwpIHsKKyAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX0tleUVycm9yLCAiZ2V0Z3JuYW0oKTogbmFtZSBub3QgZm91bmQ6ICVzIiwgbmFtZV9jaGFycyk7CiAgICAgICAgIGdvdG8gb3V0OwogICAgIH0KICAgICByZXR2YWwgPSBta2dyZW50KHApOwpAQCAtMTI3LDggKzE1NCwxOCBAQAogICAgIHJldHVybiByZXR2YWw7CiB9CiAKKy8qW2NsaW5pYyBpbnB1dF0KK2dycC5nZXRncmFsbAorCitSZXR1cm4gYSBsaXN0IG9mIGFsbCBhdmFpbGFibGUgZ3JvdXAgZW50cmllcywgaW4gYXJiaXRyYXJ5IG9yZGVyLgorCitBbiBlbnRyeSB3aG9zZSBuYW1lIHN0YXJ0cyB3aXRoICcrJyBvciAnLScgcmVwcmVzZW50cyBhbiBpbnN0cnVjdGlvbgordG8gdXNlIFlQL05JUyBhbmQgbWF5IG5vdCBiZSBhY2Nlc3NpYmxlIHZpYSBnZXRncm5hbSBvciBnZXRncmdpZC4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKwogc3RhdGljIFB5T2JqZWN0ICoKLWdycF9nZXRncmFsbChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmlnbm9yZSkKK2dycF9nZXRncmFsbF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9YWRkOTAzN2EyMGMyMDJkZSBpbnB1dD1kN2RmNzZjODI1YzM2N2RmXSovCiB7CiAgICAgUHlPYmplY3QgKmQ7CiAgICAgc3RydWN0IGdyb3VwICpwOwpAQCAtMTUxLDIwICsxODgsMTAgQEAKIH0KIAogc3RhdGljIFB5TWV0aG9kRGVmIGdycF9tZXRob2RzW10gPSB7Ci0gICAgeyJnZXRncmdpZCIsICAgICAgICBncnBfZ2V0Z3JnaWQsICAgTUVUSF9PLAotICAgICAiZ2V0Z3JnaWQoaWQpIC0+IChncl9uYW1lLGdyX3Bhc3N3ZCxncl9naWQsZ3JfbWVtKVxuXAotUmV0dXJuIHRoZSBncm91cCBkYXRhYmFzZSBlbnRyeSBmb3IgdGhlIGdpdmVuIG51bWVyaWMgZ3JvdXAgSUQuICBJZlxuXAotaWQgaXMgbm90IHZhbGlkLCByYWlzZSBLZXlFcnJvci4ifSwKLSAgICB7ImdldGdybmFtIiwgICAgICAgIGdycF9nZXRncm5hbSwgICBNRVRIX1ZBUkFSR1MsCi0gICAgICJnZXRncm5hbShuYW1lKSAtPiAoZ3JfbmFtZSxncl9wYXNzd2QsZ3JfZ2lkLGdyX21lbSlcblwKLVJldHVybiB0aGUgZ3JvdXAgZGF0YWJhc2UgZW50cnkgZm9yIHRoZSBnaXZlbiBncm91cCBuYW1lLiAgSWZcblwKLW5hbWUgaXMgbm90IHZhbGlkLCByYWlzZSBLZXlFcnJvci4ifSwKLSAgICB7ImdldGdyYWxsIiwgICAgICAgIGdycF9nZXRncmFsbCwgICBNRVRIX05PQVJHUywKLSAgICAgImdldGdyYWxsKCkgLT4gbGlzdCBvZiB0dXBsZXNcblwKLVJldHVybiBhIGxpc3Qgb2YgYWxsIGF2YWlsYWJsZSBncm91cCBlbnRyaWVzLCBpbiBhcmJpdHJhcnkgb3JkZXIuXG5cCi1BbiBlbnRyeSB3aG9zZSBuYW1lIHN0YXJ0cyB3aXRoICcrJyBvciAnLScgcmVwcmVzZW50cyBhbiBpbnN0cnVjdGlvblxuXAotdG8gdXNlIFlQL05JUyBhbmQgbWF5IG5vdCBiZSBhY2Nlc3NpYmxlIHZpYSBnZXRncm5hbSBvciBnZXRncmdpZC4ifSwKLSAgICB7TlVMTCwgICAgICAgICAgICAgIE5VTEx9ICAgICAgICAgICAvKiBzZW50aW5lbCAqLworICAgIEdSUF9HRVRHUkdJRF9NRVRIT0RERUYKKyAgICBHUlBfR0VUR1JOQU1fTUVUSE9EREVGCisgICAgR1JQX0dFVEdSQUxMX01FVEhPRERFRgorICAgIHtOVUxMLCBOVUxMfQogfTsKIAogUHlEb2NfU1RSVkFSKGdycF9fZG9jX18sCmRpZmYgLS1naXQgYS9Nb2R1bGVzL2l0ZXJ0b29sc21vZHVsZS5jIGIvTW9kdWxlcy9pdGVydG9vbHNtb2R1bGUuYwppbmRleCAxZjQyMDIyLi5hZmZmN2U0IDEwMDY0NAotLS0gYS9Nb2R1bGVzL2l0ZXJ0b29sc21vZHVsZS5jCisrKyBiL01vZHVsZXMvaXRlcnRvb2xzbW9kdWxlLmMKQEAgLTM4NzQsNyArMzg3NCw3IEBACiAKIGZhc3RfbW9kZTogIHdoZW4gY250IGFuIGludGVnZXIgPCBQWV9TU0laRV9UX01BWCBhbmQgbm8gc3RlcCBpcyBzcGVjaWZpZWQuCiAKLSAgICBhc3NlcnQoY250ICE9IFBZX1NTSVpFX1RfTUFYICYmIGxvbmdfY250ID09IE5VTEwgJiYgbG9uZ19zdGVwPT1QeUludCgxKSk7CisgICAgYXNzZXJ0KGNudCAhPSBQWV9TU0laRV9UX01BWCAmJiBsb25nX2NudCA9PSBOVUxMICYmIGxvbmdfc3RlcD09UHlMb25nKDEpKTsKICAgICBBZHZhbmNlcyB3aXRoOiAgY250ICs9IDEKICAgICBXaGVuIGNvdW50IGhpdHMgWV9TU0laRV9UX01BWCwgc3dpdGNoIHRvIHNsb3dfbW9kZS4KIApkaWZmIC0tZ2l0IGEvTW9kdWxlcy9tYWluLmMgYi9Nb2R1bGVzL21haW4uYwppbmRleCA4N2EyMWQ3Li5jNDg4M2M5IDEwMDY0NAotLS0gYS9Nb2R1bGVzL21haW4uYworKysgYi9Nb2R1bGVzL21haW4uYwpAQCAtOSw3ICs5LDYgQEAKICNpbmNsdWRlIDx3aW5kb3dzLmg+CiAjaWZkZWYgSEFWRV9GQ05UTF9ICiAjaW5jbHVkZSA8ZmNudGwuaD4KLSNkZWZpbmUgUEFUSF9NQVggTUFYUEFUSExFTgogI2VuZGlmCiAjZW5kaWYKIApAQCAtMzQzLDYgKzM0Miw4IEBACiAgICAgaW50IHZlcnNpb24gPSAwOwogICAgIGludCBzYXdfdW5idWZmZXJlZF9mbGFnID0gMDsKICAgICBQeUNvbXBpbGVyRmxhZ3MgY2Y7CisgICAgUHlPYmplY3QgKndhcm5pbmdfb3B0aW9uID0gTlVMTDsKKyAgICBQeU9iamVjdCAqd2FybmluZ19vcHRpb25zID0gTlVMTDsKIAogICAgIGNmLmNmX2ZsYWdzID0gMDsKIApAQCAtNDY1LDcgKzQ2NiwxNSBAQAogICAgICAgICAgICAgYnJlYWs7CiAKICAgICAgICAgY2FzZSAnVyc6Ci0gICAgICAgICAgICBQeVN5c19BZGRXYXJuT3B0aW9uKF9QeU9TX29wdGFyZyk7CisgICAgICAgICAgICBpZiAod2FybmluZ19vcHRpb25zID09IE5VTEwpCisgICAgICAgICAgICAgICAgd2FybmluZ19vcHRpb25zID0gUHlMaXN0X05ldygwKTsKKyAgICAgICAgICAgIGlmICh3YXJuaW5nX29wdGlvbnMgPT0gTlVMTCkKKyAgICAgICAgICAgICAgICBQeV9GYXRhbEVycm9yKCJmYWlsdXJlIGluIGhhbmRsaW5nIG9mIC1XIGFyZ3VtZW50Iik7CisgICAgICAgICAgICB3YXJuaW5nX29wdGlvbiA9IFB5VW5pY29kZV9Gcm9tV2lkZUNoYXIoX1B5T1Nfb3B0YXJnLCAtMSk7CisgICAgICAgICAgICBpZiAod2FybmluZ19vcHRpb24gPT0gTlVMTCkKKyAgICAgICAgICAgICAgICBQeV9GYXRhbEVycm9yKCJmYWlsdXJlIGluIGhhbmRsaW5nIG9mIC1XIGFyZ3VtZW50Iik7CisgICAgICAgICAgICBQeUxpc3RfQXBwZW5kKHdhcm5pbmdfb3B0aW9ucywgd2FybmluZ19vcHRpb24pOworICAgICAgICAgICAgUHlfREVDUkVGKHdhcm5pbmdfb3B0aW9uKTsKICAgICAgICAgICAgIGJyZWFrOwogCiAgICAgICAgIGNhc2UgJ1gnOgpAQCAtNTU5LDYgKzU2OCwxMiBAQAogICAgICAgICBQeU1lbV9SYXdGcmVlKGJ1Zik7CiAgICAgfQogI2VuZGlmCisgICAgaWYgKHdhcm5pbmdfb3B0aW9ucyAhPSBOVUxMKSB7CisgICAgICAgIFB5X3NzaXplX3QgaTsKKyAgICAgICAgZm9yIChpID0gMDsgaSA8IFB5TGlzdF9HRVRfU0laRSh3YXJuaW5nX29wdGlvbnMpOyBpKyspIHsKKyAgICAgICAgICAgIFB5U3lzX0FkZFdhcm5PcHRpb25Vbmljb2RlKFB5TGlzdF9HRVRfSVRFTSh3YXJuaW5nX29wdGlvbnMsIGkpKTsKKyAgICAgICAgfQorICAgIH0KIAogICAgIGlmIChjb21tYW5kID09IE5VTEwgJiYgbW9kdWxlID09IE5VTEwgJiYgX1B5T1Nfb3B0aW5kIDwgYXJnYyAmJgogICAgICAgICB3Y3NjbXAoYXJndltfUHlPU19vcHRpbmRdLCBMIi0iKSAhPSAwKQpAQCAtNjMxLDcgKzY0Niw3IEBACiAgICAgICAgICAgICAvKiBVc2VkIGJ5IE1hYy9Ub29scy9weXRob253LmMgdG8gZm9yd2FyZAogICAgICAgICAgICAgICogdGhlIGFyZ3YwIG9mIHRoZSBzdHViIGV4ZWN1dGFibGUKICAgICAgICAgICAgICAqLwotICAgICAgICAgICAgd2NoYXJfdCogd2J1ZiA9IF9QeV9jaGFyMndjaGFyKHB5dmVudl9sYXVuY2hlciwgTlVMTCk7CisgICAgICAgICAgICB3Y2hhcl90KiB3YnVmID0gUHlfRGVjb2RlTG9jYWxlKHB5dmVudl9sYXVuY2hlciwgTlVMTCk7CiAKICAgICAgICAgICAgIGlmICh3YnVmID09IE5VTEwpIHsKICAgICAgICAgICAgICAgICBQeV9GYXRhbEVycm9yKCJDYW5ub3QgZGVjb2RlIF9fUFlWRU5WX0xBVU5DSEVSX18iKTsKQEAgLTY1Miw2ICs2NjcsNyBAQAogICAgIFB5X1NldFByb2dyYW1OYW1lKGFyZ3ZbMF0pOwogI2VuZGlmCiAgICAgUHlfSW5pdGlhbGl6ZSgpOworICAgIFB5X1hERUNSRUYod2FybmluZ19vcHRpb25zKTsKIAogICAgIGlmICghUHlfUXVpZXRGbGFnICYmIChQeV9WZXJib3NlRmxhZyB8fAogICAgICAgICAgICAgICAgICAgICAgICAgKGNvbW1hbmQgPT0gTlVMTCAmJiBmaWxlbmFtZSA9PSBOVUxMICYmCkBAIC03MTMsNyArNzI5LDcgQEAKICAgICAgICAgICAgICAgICBjaGFyICpjZmlsZW5hbWVfYnVmZmVyOwogICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmNmaWxlbmFtZTsKICAgICAgICAgICAgICAgICBpbnQgZXJyID0gZXJybm87Ci0gICAgICAgICAgICAgICAgY2ZpbGVuYW1lX2J1ZmZlciA9IF9QeV93Y2hhcjJjaGFyKGZpbGVuYW1lLCBOVUxMKTsKKyAgICAgICAgICAgICAgICBjZmlsZW5hbWVfYnVmZmVyID0gUHlfRW5jb2RlTG9jYWxlKGZpbGVuYW1lLCBOVUxMKTsKICAgICAgICAgICAgICAgICBpZiAoY2ZpbGVuYW1lX2J1ZmZlciAhPSBOVUxMKQogICAgICAgICAgICAgICAgICAgICBjZmlsZW5hbWUgPSBjZmlsZW5hbWVfYnVmZmVyOwogICAgICAgICAgICAgICAgIGVsc2UKZGlmZiAtLWdpdCBhL01vZHVsZXMvbWF0aG1vZHVsZS5jIGIvTW9kdWxlcy9tYXRobW9kdWxlLmMKaW5kZXggOTEwZDVlYS4uOWM5N2EyYSAxMDA2NDQKLS0tIGEvTW9kdWxlcy9tYXRobW9kdWxlLmMKKysrIGIvTW9kdWxlcy9tYXRobW9kdWxlLmMKQEAgLTIyMyw2ICsyMjMsMzUgQEAKICAgICByZXR1cm4gbnVtL2RlbjsKIH0KIAorLyogQ29uc3RhbnQgZm9yICtpbmZpbml0eSwgZ2VuZXJhdGVkIGluIHRoZSBzYW1lIHdheSBhcyBmbG9hdCgnaW5mJykuICovCisKK3N0YXRpYyBkb3VibGUKK21faW5mKHZvaWQpCit7CisjaWZuZGVmIFBZX05PX1NIT1JUX0ZMT0FUX1JFUFIKKyAgICByZXR1cm4gX1B5X2RnX2luZmluaXR5KDApOworI2Vsc2UKKyAgICByZXR1cm4gUHlfSFVHRV9WQUw7CisjZW5kaWYKK30KKworLyogQ29uc3RhbnQgbmFuIHZhbHVlLCBnZW5lcmF0ZWQgaW4gdGhlIHNhbWUgd2F5IGFzIGZsb2F0KCduYW4nKS4gKi8KKy8qIFdlIGRvbid0IGN1cnJlbnRseSBhc3N1bWUgdGhhdCBQeV9OQU4gaXMgZGVmaW5lZCBldmVyeXdoZXJlLiAqLworCisjaWYgIWRlZmluZWQoUFlfTk9fU0hPUlRfRkxPQVRfUkVQUikgfHwgZGVmaW5lZChQeV9OQU4pCisKK3N0YXRpYyBkb3VibGUKK21fbmFuKHZvaWQpCit7CisjaWZuZGVmIFBZX05PX1NIT1JUX0ZMT0FUX1JFUFIKKyAgICByZXR1cm4gX1B5X2RnX3N0ZG5hbigwKTsKKyNlbHNlCisgICAgcmV0dXJuIFB5X05BTjsKKyNlbmRpZgorfQorCisjZW5kaWYKKwogc3RhdGljIGRvdWJsZQogbV90Z2FtbWEoZG91YmxlIHgpCiB7CkBAIC0xMDEwLDcgKzEwMzksNyBAQAogICAgIFB5X3NzaXplX3QgbSA9ICptX3B0cjsKIAogICAgIG0gKz0gbTsgIC8qIGRvdWJsZSAqLwotICAgIGlmIChuIDwgbSAmJiBtIDwgKFBZX1NTSVpFX1RfTUFYIC8gc2l6ZW9mKGRvdWJsZSkpKSB7CisgICAgaWYgKG4gPCBtICYmIChzaXplX3QpbSA8ICgoc2l6ZV90KVBZX1NTSVpFX1RfTUFYIC8gc2l6ZW9mKGRvdWJsZSkpKSB7CiAgICAgICAgIGRvdWJsZSAqcCA9ICpwX3B0cjsKICAgICAgICAgaWYgKHAgPT0gcHMpIHsKICAgICAgICAgICAgIHYgPSBQeU1lbV9NYWxsb2Moc2l6ZW9mKGRvdWJsZSkgKiBtKTsKQEAgLTE0MDgsNiArMTQzNyw3IEBACiBtYXRoX2ZhY3RvcmlhbChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZykKIHsKICAgICBsb25nIHg7CisgICAgaW50IG92ZXJmbG93OwogICAgIFB5T2JqZWN0ICpyZXN1bHQsICpvZGRfcGFydCwgKnR3b192YWx1YXRpb247CiAKICAgICBpZiAoUHlGbG9hdF9DaGVjayhhcmcpKSB7CkBAIC0xNDIxLDE1ICsxNDUxLDIyIEBACiAgICAgICAgIGx4ID0gUHlMb25nX0Zyb21Eb3VibGUoZHgpOwogICAgICAgICBpZiAobHggPT0gTlVMTCkKICAgICAgICAgICAgIHJldHVybiBOVUxMOwotICAgICAgICB4ID0gUHlMb25nX0FzTG9uZyhseCk7CisgICAgICAgIHggPSBQeUxvbmdfQXNMb25nQW5kT3ZlcmZsb3cobHgsICZvdmVyZmxvdyk7CiAgICAgICAgIFB5X0RFQ1JFRihseCk7CiAgICAgfQogICAgIGVsc2UKLSAgICAgICAgeCA9IFB5TG9uZ19Bc0xvbmcoYXJnKTsKKyAgICAgICAgeCA9IFB5TG9uZ19Bc0xvbmdBbmRPdmVyZmxvdyhhcmcsICZvdmVyZmxvdyk7CiAKLSAgICBpZiAoeCA9PSAtMSAmJiBQeUVycl9PY2N1cnJlZCgpKQorICAgIGlmICh4ID09IC0xICYmIFB5RXJyX09jY3VycmVkKCkpIHsKICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgaWYgKHggPCAwKSB7CisgICAgfQorICAgIGVsc2UgaWYgKG92ZXJmbG93ID09IDEpIHsKKyAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX092ZXJmbG93RXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAiZmFjdG9yaWFsKCkgYXJndW1lbnQgc2hvdWxkIG5vdCBleGNlZWQgJWxkIiwKKyAgICAgICAgICAgICAgICAgICAgIExPTkdfTUFYKTsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorICAgIGVsc2UgaWYgKG92ZXJmbG93ID09IC0xIHx8IHggPCAwKSB7CiAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLAogICAgICAgICAgICAgICAgICAgICAgICAgImZhY3RvcmlhbCgpIG5vdCBkZWZpbmVkIGZvciBuZWdhdGl2ZSB2YWx1ZXMiKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CkBAIC0yMDAxLDcgKzIwMzgsMTEgQEAKIAogICAgIFB5TW9kdWxlX0FkZE9iamVjdChtLCAicGkiLCBQeUZsb2F0X0Zyb21Eb3VibGUoUHlfTUFUSF9QSSkpOwogICAgIFB5TW9kdWxlX0FkZE9iamVjdChtLCAiZSIsIFB5RmxvYXRfRnJvbURvdWJsZShQeV9NQVRIX0UpKTsKKyAgICBQeU1vZHVsZV9BZGRPYmplY3QobSwgImluZiIsIFB5RmxvYXRfRnJvbURvdWJsZShtX2luZigpKSk7CisjaWYgIWRlZmluZWQoUFlfTk9fU0hPUlRfRkxPQVRfUkVQUikgfHwgZGVmaW5lZChQeV9OQU4pCisgICAgUHlNb2R1bGVfQWRkT2JqZWN0KG0sICJuYW4iLCBQeUZsb2F0X0Zyb21Eb3VibGUobV9uYW4oKSkpOworI2VuZGlmCiAKLSAgICBmaW5hbGx5OgorICBmaW5hbGx5OgogICAgIHJldHVybiBtOwogfQpkaWZmIC0tZ2l0IGEvTW9kdWxlcy9tZDVtb2R1bGUuYyBiL01vZHVsZXMvbWQ1bW9kdWxlLmMKaW5kZXggNWNiM2QzNi4uNjVmNWMzNSAxMDA2NDQKLS0tIGEvTW9kdWxlcy9tZDVtb2R1bGUuYworKysgYi9Nb2R1bGVzL21kNW1vZHVsZS5jCkBAIC0xOSw2ICsxOSwxMSBAQAogI2luY2x1ZGUgIlB5dGhvbi5oIgogI2luY2x1ZGUgImhhc2hsaWIuaCIKIAorLypbY2xpbmljIGlucHV0XQorbW9kdWxlIF9tZDUKK2NsYXNzIE1ENVR5cGUgIk1ENW9iamVjdCAqIiAiJlB5VHlwZV9UeXBlIgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWRhMzlhM2VlNWU2YjRiMGQgaW5wdXQ9NmU1MjYxNzE5OTU3YTkxMl0qLwogCiAvKiBTb21lIHVzZWZ1bCB0eXBlcyAqLwogCkBAIC0zMzIsMTAgKzMzNywzMyBAQAogCiAvKiBFeHRlcm5hbCBtZXRob2RzIGZvciBhIGhhc2ggb2JqZWN0ICovCiAKLVB5RG9jX1NUUlZBUihNRDVfY29weV9fZG9jX18sICJSZXR1cm4gYSBjb3B5IG9mIHRoZSBoYXNoIG9iamVjdC4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK01ENVR5cGUuY29weQorCitSZXR1cm4gYSBjb3B5IG9mIHRoZSBoYXNoIG9iamVjdC4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKE1ENVR5cGVfY29weV9fZG9jX18sCisiY29weSgkc2VsZiwgLylcbiIKKyItLVxuIgorIlxuIgorIlJldHVybiBhIGNvcHkgb2YgdGhlIGhhc2ggb2JqZWN0LiIpOworCisjZGVmaW5lIE1ENVRZUEVfQ09QWV9NRVRIT0RERUYgICAgXAorICAgIHsiY29weSIsIChQeUNGdW5jdGlvbilNRDVUeXBlX2NvcHksIE1FVEhfTk9BUkdTLCBNRDVUeXBlX2NvcHlfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLU1ENV9jb3B5KE1ENW9iamVjdCAqc2VsZiwgUHlPYmplY3QgKnVudXNlZCkKK01ENVR5cGVfY29weV9pbXBsKE1ENW9iamVjdCAqc2VsZik7CisKK3N0YXRpYyBQeU9iamVjdCAqCitNRDVUeXBlX2NvcHkoTUQ1b2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqUHlfVU5VU0VEKGlnbm9yZWQpKQoreworICAgIHJldHVybiBNRDVUeXBlX2NvcHlfaW1wbChzZWxmKTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK01ENVR5cGVfY29weV9pbXBsKE1ENW9iamVjdCAqc2VsZikKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD0zYjNhODg5MjBiM2RjN2Y0IGlucHV0PTJjMDllNmQyNDkzZjMwNzldKi8KIHsKICAgICBNRDVvYmplY3QgKm5ld29iajsKIApAQCAtMzUxLDExICszNzksMzMgQEAKICAgICByZXR1cm4gKFB5T2JqZWN0ICopbmV3b2JqOwogfQogCi1QeURvY19TVFJWQVIoTUQ1X2RpZ2VzdF9fZG9jX18sCisvKltjbGluaWMgaW5wdXRdCitNRDVUeXBlLmRpZ2VzdAorCitSZXR1cm4gdGhlIGRpZ2VzdCB2YWx1ZSBhcyBhIHN0cmluZyBvZiBiaW5hcnkgZGF0YS4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKE1ENVR5cGVfZGlnZXN0X19kb2NfXywKKyJkaWdlc3QoJHNlbGYsIC8pXG4iCisiLS1cbiIKKyJcbiIKICJSZXR1cm4gdGhlIGRpZ2VzdCB2YWx1ZSBhcyBhIHN0cmluZyBvZiBiaW5hcnkgZGF0YS4iKTsKIAorI2RlZmluZSBNRDVUWVBFX0RJR0VTVF9NRVRIT0RERUYgICAgXAorICAgIHsiZGlnZXN0IiwgKFB5Q0Z1bmN0aW9uKU1ENVR5cGVfZGlnZXN0LCBNRVRIX05PQVJHUywgTUQ1VHlwZV9kaWdlc3RfX2RvY19ffSwKKwogc3RhdGljIFB5T2JqZWN0ICoKLU1ENV9kaWdlc3QoTUQ1b2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqdW51c2VkKQorTUQ1VHlwZV9kaWdlc3RfaW1wbChNRDVvYmplY3QgKnNlbGYpOworCitzdGF0aWMgUHlPYmplY3QgKgorTUQ1VHlwZV9kaWdlc3QoTUQ1b2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqUHlfVU5VU0VEKGlnbm9yZWQpKQoreworICAgIHJldHVybiBNRDVUeXBlX2RpZ2VzdF9pbXBsKHNlbGYpOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorTUQ1VHlwZV9kaWdlc3RfaW1wbChNRDVvYmplY3QgKnNlbGYpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9N2E3OTZiMjhmYTg5NDg1ZiBpbnB1dD03Yjk2ZTY1Mzg5NDEyYTM0XSovCiB7CiAgICAgdW5zaWduZWQgY2hhciBkaWdlc3RbTUQ1X0RJR0VTVFNJWkVdOwogICAgIHN0cnVjdCBtZDVfc3RhdGUgdGVtcDsKQEAgLTM2NSwxMSArNDE1LDMzIEBACiAgICAgcmV0dXJuIFB5Qnl0ZXNfRnJvbVN0cmluZ0FuZFNpemUoKGNvbnN0IGNoYXIgKilkaWdlc3QsIE1ENV9ESUdFU1RTSVpFKTsKIH0KIAotUHlEb2NfU1RSVkFSKE1ENV9oZXhkaWdlc3RfX2RvY19fLAorLypbY2xpbmljIGlucHV0XQorTUQ1VHlwZS5oZXhkaWdlc3QKKworUmV0dXJuIHRoZSBkaWdlc3QgdmFsdWUgYXMgYSBzdHJpbmcgb2YgaGV4YWRlY2ltYWwgZGlnaXRzLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIoTUQ1VHlwZV9oZXhkaWdlc3RfX2RvY19fLAorImhleGRpZ2VzdCgkc2VsZiwgLylcbiIKKyItLVxuIgorIlxuIgogIlJldHVybiB0aGUgZGlnZXN0IHZhbHVlIGFzIGEgc3RyaW5nIG9mIGhleGFkZWNpbWFsIGRpZ2l0cy4iKTsKIAorI2RlZmluZSBNRDVUWVBFX0hFWERJR0VTVF9NRVRIT0RERUYgICAgXAorICAgIHsiaGV4ZGlnZXN0IiwgKFB5Q0Z1bmN0aW9uKU1ENVR5cGVfaGV4ZGlnZXN0LCBNRVRIX05PQVJHUywgTUQ1VHlwZV9oZXhkaWdlc3RfX2RvY19ffSwKKwogc3RhdGljIFB5T2JqZWN0ICoKLU1ENV9oZXhkaWdlc3QoTUQ1b2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqdW51c2VkKQorTUQ1VHlwZV9oZXhkaWdlc3RfaW1wbChNRDVvYmplY3QgKnNlbGYpOworCitzdGF0aWMgUHlPYmplY3QgKgorTUQ1VHlwZV9oZXhkaWdlc3QoTUQ1b2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqUHlfVU5VU0VEKGlnbm9yZWQpKQoreworICAgIHJldHVybiBNRDVUeXBlX2hleGRpZ2VzdF9pbXBsKHNlbGYpOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorTUQ1VHlwZV9oZXhkaWdlc3RfaW1wbChNRDVvYmplY3QgKnNlbGYpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9ZGFhNzM2MDlmOTRmOTJlMSBpbnB1dD1iNjBiMTlkZTY0NDc5OGRkXSovCiB7CiAgICAgdW5zaWduZWQgY2hhciBkaWdlc3RbTUQ1X0RJR0VTVFNJWkVdOwogICAgIHN0cnVjdCBtZDVfc3RhdGUgdGVtcDsKQEAgLTQwMSwxOCArNDczLDMwIEBACiAgICAgcmV0dXJuIHJldHZhbDsKIH0KIAotUHlEb2NfU1RSVkFSKE1ENV91cGRhdGVfX2RvY19fLAotIlVwZGF0ZSB0aGlzIGhhc2ggb2JqZWN0J3Mgc3RhdGUgd2l0aCB0aGUgcHJvdmlkZWQgc3RyaW5nLiIpOworLypbY2xpbmljIGlucHV0XQorTUQ1VHlwZS51cGRhdGUKKworICAgIG9iajogb2JqZWN0CisgICAgLworCitVcGRhdGUgdGhpcyBoYXNoIG9iamVjdCdzIHN0YXRlIHdpdGggdGhlIHByb3ZpZGVkIHN0cmluZy4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKE1ENVR5cGVfdXBkYXRlX19kb2NfXywKKyJ1cGRhdGUoJHNlbGYsIG9iaiwgLylcbiIKKyItLVxuIgorIlxuIgorIlVwZGF0ZSB0aGlzIGhhc2ggb2JqZWN0XCdzIHN0YXRlIHdpdGggdGhlIHByb3ZpZGVkIHN0cmluZy4iKTsKKworI2RlZmluZSBNRDVUWVBFX1VQREFURV9NRVRIT0RERUYgICAgXAorICAgIHsidXBkYXRlIiwgKFB5Q0Z1bmN0aW9uKU1ENVR5cGVfdXBkYXRlLCBNRVRIX08sIE1ENVR5cGVfdXBkYXRlX19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1NRDVfdXBkYXRlKE1ENW9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCitNRDVUeXBlX3VwZGF0ZShNRDVvYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpvYmopCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9OWQwOWI2YzZjZGM2Y2FjMyBpbnB1dD02ZTFlZmNkOWVjZjE3MDMyXSovCiB7Ci0gICAgUHlPYmplY3QgKm9iajsKICAgICBQeV9idWZmZXIgYnVmOwogCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJPOnVwZGF0ZSIsICZvYmopKQotICAgICAgICByZXR1cm4gTlVMTDsKLQogICAgIEdFVF9CVUZGRVJfVklFV19PUl9FUlJPVVQob2JqLCAmYnVmKTsKIAogICAgIG1kNV9wcm9jZXNzKCZzZWxmLT5oYXNoX3N0YXRlLCBidWYuYnVmLCBidWYubGVuKTsKQEAgLTQyMywxMCArNTA3LDEwIEBACiB9CiAKIHN0YXRpYyBQeU1ldGhvZERlZiBNRDVfbWV0aG9kc1tdID0gewotICAgIHsiY29weSIsICAgICAgKFB5Q0Z1bmN0aW9uKU1ENV9jb3B5LCAgICAgIE1FVEhfTk9BUkdTLCAgTUQ1X2NvcHlfX2RvY19ffSwKLSAgICB7ImRpZ2VzdCIsICAgIChQeUNGdW5jdGlvbilNRDVfZGlnZXN0LCAgICBNRVRIX05PQVJHUywgIE1ENV9kaWdlc3RfX2RvY19ffSwKLSAgICB7ImhleGRpZ2VzdCIsIChQeUNGdW5jdGlvbilNRDVfaGV4ZGlnZXN0LCBNRVRIX05PQVJHUywgIE1ENV9oZXhkaWdlc3RfX2RvY19ffSwKLSAgICB7InVwZGF0ZSIsICAgIChQeUNGdW5jdGlvbilNRDVfdXBkYXRlLCAgICBNRVRIX1ZBUkFSR1MsIE1ENV91cGRhdGVfX2RvY19ffSwKKyAgICBNRDVUWVBFX0NPUFlfTUVUSE9EREVGCisgICAgTUQ1VFlQRV9ESUdFU1RfTUVUSE9EREVGCisgICAgTUQ1VFlQRV9IRVhESUdFU1RfTUVUSE9EREVGCisgICAgTUQ1VFlQRV9VUERBVEVfTUVUSE9EREVGCiAgICAge05VTEwsICAgICAgICBOVUxMfSAgICAgICAgIC8qIHNlbnRpbmVsICovCiB9OwogCkBAIC01MDIsMjcgKzU4Niw1NSBAQAogCiAvKiBUaGUgc2luZ2xlIG1vZHVsZS1sZXZlbCBmdW5jdGlvbjogbmV3KCkgKi8KIAotUHlEb2NfU1RSVkFSKE1ENV9uZXdfX2RvY19fLAorLypbY2xpbmljIGlucHV0XQorX21kNS5tZDUKKworICAgIHN0cmluZzogb2JqZWN0KGNfZGVmYXVsdD0iTlVMTCIpID0gYicnCisKK1JldHVybiBhIG5ldyBNRDUgaGFzaCBvYmplY3Q7IG9wdGlvbmFsbHkgaW5pdGlhbGl6ZWQgd2l0aCBhIHN0cmluZy4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKF9tZDVfbWQ1X19kb2NfXywKKyJtZDUoJG1vZHVsZSwgLywgc3RyaW5nPWJcJ1wnKVxuIgorIi0tXG4iCisiXG4iCiAiUmV0dXJuIGEgbmV3IE1ENSBoYXNoIG9iamVjdDsgb3B0aW9uYWxseSBpbml0aWFsaXplZCB3aXRoIGEgc3RyaW5nLiIpOwogCisjZGVmaW5lIF9NRDVfTUQ1X01FVEhPRERFRiAgICBcCisgICAgeyJtZDUiLCAoUHlDRnVuY3Rpb24pX21kNV9tZDUsIE1FVEhfVkFSQVJHU3xNRVRIX0tFWVdPUkRTLCBfbWQ1X21kNV9fZG9jX199LAorCiBzdGF0aWMgUHlPYmplY3QgKgotTUQ1X25ldyhQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2RpY3QpCitfbWQ1X21kNV9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICpzdHJpbmcpOworCitzdGF0aWMgUHlPYmplY3QgKgorX21kNV9tZDUoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCiB7Ci0gICAgc3RhdGljIGNoYXIgKmt3bGlzdFtdID0geyJzdHJpbmciLCBOVUxMfTsKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBzdGF0aWMgY2hhciAqX2tleXdvcmRzW10gPSB7InN0cmluZyIsIE5VTEx9OworICAgIFB5T2JqZWN0ICpzdHJpbmcgPSBOVUxMOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLAorICAgICAgICAifE86bWQ1IiwgX2tleXdvcmRzLAorICAgICAgICAmc3RyaW5nKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IF9tZDVfbWQ1X2ltcGwobW9kdWxlLCBzdHJpbmcpOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitfbWQ1X21kNV9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICpzdHJpbmcpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9MTAzOWU5MTJkOTE5ODgwZSBpbnB1dD1kMTJlZjhmNzJkNjg0ZjdiXSovCit7CiAgICAgTUQ1b2JqZWN0ICpuZXc7Ci0gICAgUHlPYmplY3QgKmRhdGFfb2JqID0gTlVMTDsKICAgICBQeV9idWZmZXIgYnVmOwogCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dkaWN0LCAifE86bmV3Iiwga3dsaXN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZkYXRhX29iaikpIHsKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgfQotCi0gICAgaWYgKGRhdGFfb2JqKQotICAgICAgICBHRVRfQlVGRkVSX1ZJRVdfT1JfRVJST1VUKGRhdGFfb2JqLCAmYnVmKTsKKyAgICBpZiAoc3RyaW5nKQorICAgICAgICBHRVRfQlVGRkVSX1ZJRVdfT1JfRVJST1VUKHN0cmluZywgJmJ1Zik7CiAKICAgICBpZiAoKG5ldyA9IG5ld01ENW9iamVjdCgpKSA9PSBOVUxMKSB7Ci0gICAgICAgIGlmIChkYXRhX29iaikKKyAgICAgICAgaWYgKHN0cmluZykKICAgICAgICAgICAgIFB5QnVmZmVyX1JlbGVhc2UoJmJ1Zik7CiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KQEAgLTUzMSwxMSArNjQzLDExIEBACiAKICAgICBpZiAoUHlFcnJfT2NjdXJyZWQoKSkgewogICAgICAgICBQeV9ERUNSRUYobmV3KTsKLSAgICAgICAgaWYgKGRhdGFfb2JqKQorICAgICAgICBpZiAoc3RyaW5nKQogICAgICAgICAgICAgUHlCdWZmZXJfUmVsZWFzZSgmYnVmKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQotICAgIGlmIChkYXRhX29iaikgeworICAgIGlmIChzdHJpbmcpIHsKICAgICAgICAgbWQ1X3Byb2Nlc3MoJm5ldy0+aGFzaF9zdGF0ZSwgYnVmLmJ1ZiwgYnVmLmxlbik7CiAgICAgICAgIFB5QnVmZmVyX1JlbGVhc2UoJmJ1Zik7CiAgICAgfQpAQCAtNTQ3LDcgKzY1OSw3IEBACiAvKiBMaXN0IG9mIGZ1bmN0aW9ucyBleHBvcnRlZCBieSB0aGlzIG1vZHVsZSAqLwogCiBzdGF0aWMgc3RydWN0IFB5TWV0aG9kRGVmIE1ENV9mdW5jdGlvbnNbXSA9IHsKLSAgICB7Im1kNSIsIChQeUNGdW5jdGlvbilNRDVfbmV3LCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywgTUQ1X25ld19fZG9jX199LAorICAgIF9NRDVfTUQ1X01FVEhPRERFRgogICAgIHtOVUxMLCAgICAgIE5VTEx9ICAgICAgICAgICAgLyogU2VudGluZWwgKi8KIH07CiAKZGlmZiAtLWdpdCBhL01vZHVsZXMvcG9zaXhtb2R1bGUuYyBiL01vZHVsZXMvcG9zaXhtb2R1bGUuYwppbmRleCBkNDVmNTllLi5jMDE5YjE2IDEwMDY0NAotLS0gYS9Nb2R1bGVzL3Bvc2l4bW9kdWxlLmMKKysrIGIvTW9kdWxlcy9wb3NpeG1vZHVsZS5jCkBAIC02LDcgKzYsNyBAQAogICAgZnVuY3Rpb25zIGFyZSBlaXRoZXIgdW5pbXBsZW1lbnRlZCBvciBpbXBsZW1lbnRlZCBkaWZmZXJlbnRseS4gIFRoZSBzb3VyY2UKICAgIGFzc3VtZXMgdGhhdCBmb3IgV2luZG93cyBOVCwgdGhlIG1hY3JvICdNU19XSU5ET1dTJyBpcyBkZWZpbmVkIGluZGVwZW5kZW50CiAgICBvZiB0aGUgY29tcGlsZXIgdXNlZC4gIERpZmZlcmVudCBjb21waWxlcnMgZGVmaW5lIHRoZWlyIG93biBmZWF0dXJlCi0gICB0ZXN0IG1hY3JvLCBlLmcuICdfX0JPUkxBTkRDX18nIG9yICdfTVNDX1ZFUicuICovCisgICB0ZXN0IG1hY3JvLCBlLmcuICdfTVNDX1ZFUicuICovCiAKIAogCkBAIC0yNyw2ICsyNyw4IEBACiAjaW5jbHVkZSAiUHl0aG9uLmgiCiAjaWZuZGVmIE1TX1dJTkRPV1MKICNpbmNsdWRlICJwb3NpeG1vZHVsZS5oIgorI2Vsc2UKKyNpbmNsdWRlICJ3aW5yZXBhcnNlLmgiCiAjZW5kaWYKIAogI2lmZGVmIF9fY3BsdXNwbHVzCkBAIC0xNDEsMTMgKzE0Myw2IEBACiAjZGVmaW5lIEhBVkVfU1lTVEVNICAgICAxCiAjaW5jbHVkZSA8cHJvY2Vzcy5oPgogI2Vsc2UKLSNpZmRlZiBfX0JPUkxBTkRDX18gICAgICAgICAgICAgLyogQm9ybGFuZCBjb21waWxlciAqLwotI2RlZmluZSBIQVZFX0VYRUNWICAgICAgMQotI2RlZmluZSBIQVZFX09QRU5ESVIgICAgMQotI2RlZmluZSBIQVZFX1BJUEUgICAgICAgMQotI2RlZmluZSBIQVZFX1NZU1RFTSAgICAgMQotI2RlZmluZSBIQVZFX1dBSVQgICAgICAgMQotI2Vsc2UKICNpZmRlZiBfTVNDX1ZFUiAgICAgICAgIC8qIE1pY3Jvc29mdCBjb21waWxlciAqLwogI2RlZmluZSBIQVZFX0dFVFBQSUQgICAgMQogI2RlZmluZSBIQVZFX0dFVExPR0lOICAgMQpAQCAtMTc3LDE0ICsxNzIsMTQgQEAKICNkZWZpbmUgSEFWRV9XQUlUICAgICAgIDEKICNkZWZpbmUgSEFWRV9UVFlOQU1FICAgIDEKICNlbmRpZiAgLyogX01TQ19WRVIgKi8KLSNlbmRpZiAgLyogX19CT1JMQU5EQ19fICovCiAjZW5kaWYgIC8qICEgX19XQVRDT01DX18gfHwgX19RTlhfXyAqLwogCiAKIC8qW2NsaW5pYyBpbnB1dF0KKyMgb25lIG9mIHRoZSBmZXcgdGltZXMgd2UgbGllIGFib3V0IHRoaXMgbmFtZSEKIG1vZHVsZSBvcwogW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLwotLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWRhMzlhM2VlNWU2YjRiMGQgaW5wdXQ9OGNmZjA5NmQxMTMzMjg4Zl0qLworLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWRhMzlhM2VlNWU2YjRiMGQgaW5wdXQ9OTRhMGYwZjk3OGFjYWUxN10qLwogCiAjaWZuZGVmIF9NU0NfVkVSCiAKQEAgLTIxMSwxMSArMjA2LDcgQEAKIGV4dGVybiBpbnQgY2hkaXIoY29uc3QgY2hhciAqKTsKIGV4dGVybiBpbnQgcm1kaXIoY29uc3QgY2hhciAqKTsKICNlbmRpZgotI2lmZGVmIF9fQk9STEFORENfXwotZXh0ZXJuIGludCBjaG1vZChjb25zdCBjaGFyICosIGludCk7Ci0jZWxzZQogZXh0ZXJuIGludCBjaG1vZChjb25zdCBjaGFyICosIG1vZGVfdCk7Ci0jZW5kaWYKIC8qI2lmZGVmIEhBVkVfRkNITU9ECiBleHRlcm4gaW50IGZjaG1vZChpbnQsIG1vZGVfdCk7CiAjZW5kaWYqLwpAQCAtMzAxLDYgKzI5Miw5IEBACiAjaWZuZGVmIElPX1JFUEFSU0VfVEFHX1NZTUxJTksKICNkZWZpbmUgSU9fUkVQQVJTRV9UQUdfU1lNTElOSyAoMHhBMDAwMDAwQ0wpCiAjZW5kaWYKKyNpZm5kZWYgSU9fUkVQQVJTRV9UQUdfTU9VTlRfUE9JTlQKKyNkZWZpbmUgSU9fUkVQQVJTRV9UQUdfTU9VTlRfUE9JTlQgKDB4QTAwMDAwMDNMKQorI2VuZGlmCiAjaW5jbHVkZSAib3NkZWZzLmgiCiAjaW5jbHVkZSA8bWFsbG9jLmg+CiAjaW5jbHVkZSA8d2luZG93cy5oPgpAQCAtNzAxLDcgKzY5NSw2IEBACiB9CiAKIAotCiAvKgogICogQSBQeUFyZ19QYXJzZVR1cGxlICJjb252ZXJ0ZXIiIGZ1bmN0aW9uCiAgKiB0aGF0IGhhbmRsZXMgZmlsZXN5c3RlbSBwYXRocyBpbiB0aGUgbWFubmVyCkBAIC03OTcsOCArNzkwLDggQEAKICAgICBQeU9iamVjdCAqY2xlYW51cDsKIH0gcGF0aF90OwogCi0jZGVmaW5lIFBBVEhfVF9JTklUSUFMSVpFKGZ1bmN0aW9uX25hbWUsIG51bGxhYmxlLCBhbGxvd19mZCkgXAotICAgIHtmdW5jdGlvbl9uYW1lLCBOVUxMLCBudWxsYWJsZSwgYWxsb3dfZmQsIE5VTEwsIE5VTEwsIDAsIDAsIE5VTEwsIE5VTEx9CisjZGVmaW5lIFBBVEhfVF9JTklUSUFMSVpFKGZ1bmN0aW9uX25hbWUsIGFyZ3VtZW50X25hbWUsIG51bGxhYmxlLCBhbGxvd19mZCkgXAorICAgIHtmdW5jdGlvbl9uYW1lLCBhcmd1bWVudF9uYW1lLCBudWxsYWJsZSwgYWxsb3dfZmQsIE5VTEwsIE5VTEwsIC0xLCAwLCBOVUxMLCBOVUxMfQogCiBzdGF0aWMgdm9pZAogcGF0aF9jbGVhbnVwKHBhdGhfdCAqcGF0aCkgewpAQCAtOTIwLDggKzkxMyw4IEBACiAjZW5kaWYKIAogICAgIG5hcnJvdyA9IFB5Qnl0ZXNfQVNfU1RSSU5HKGJ5dGVzKTsKLSAgICBpZiAobGVuZ3RoICE9IHN0cmxlbihuYXJyb3cpKSB7Ci0gICAgICAgIEZPUk1BVF9FWENFUFRJT04oUHlFeGNfVmFsdWVFcnJvciwgImVtYmVkZGVkIE5VTCBjaGFyYWN0ZXIgaW4gJXMiKTsKKyAgICBpZiAoKHNpemVfdClsZW5ndGggIT0gc3RybGVuKG5hcnJvdykpIHsKKyAgICAgICAgRk9STUFUX0VYQ0VQVElPTihQeUV4Y19WYWx1ZUVycm9yLCAiZW1iZWRkZWQgbnVsbCBjaGFyYWN0ZXIgaW4gJXMiKTsKICAgICAgICAgUHlfREVDUkVGKGJ5dGVzKTsKICAgICAgICAgcmV0dXJuIDA7CiAgICAgfQpAQCAtMTAyMiwyMSArMTAxNSwzNSBAQAogICAgIHJldHVybiAwOwogfQogCi0vKiBBIGhlbHBlciB1c2VkIGJ5IGEgbnVtYmVyIG9mIFBPU0lYLW9ubHkgZnVuY3Rpb25zICovCi0jaWZuZGVmIE1TX1dJTkRPV1MKLXN0YXRpYyBpbnQKLV9wYXJzZV9vZmZfdChQeU9iamVjdCogYXJnLCB2b2lkKiBhZGRyKQotewotI2lmICFkZWZpbmVkKEhBVkVfTEFSR0VGSUxFX1NVUFBPUlQpCi0gICAgKigob2ZmX3QqKWFkZHIpID0gUHlMb25nX0FzTG9uZyhhcmcpOworI2lmZGVmIE1TX1dJTkRPV1MKKyAgICB0eXBlZGVmIFBZX0xPTkdfTE9ORyBQeV9vZmZfdDsKICNlbHNlCi0gICAgKigob2ZmX3QqKWFkZHIpID0gUHlMb25nX0FzTG9uZ0xvbmcoYXJnKTsKKyAgICB0eXBlZGVmIG9mZl90IFB5X29mZl90OworI2VuZGlmCisKK3N0YXRpYyBpbnQKK1B5X29mZl90X2NvbnZlcnRlcihQeU9iamVjdCAqYXJnLCB2b2lkICphZGRyKQoreworI2lmZGVmIEhBVkVfTEFSR0VGSUxFX1NVUFBPUlQKKyAgICAqKChQeV9vZmZfdCAqKWFkZHIpID0gUHlMb25nX0FzTG9uZ0xvbmcoYXJnKTsKKyNlbHNlCisgICAgKigoUHlfb2ZmX3QgKilhZGRyKSA9IFB5TG9uZ19Bc0xvbmcoYXJnKTsKICNlbmRpZgogICAgIGlmIChQeUVycl9PY2N1cnJlZCgpKQogICAgICAgICByZXR1cm4gMDsKICAgICByZXR1cm4gMTsKIH0KKworc3RhdGljIFB5T2JqZWN0ICoKK1B5TG9uZ19Gcm9tUHlfb2ZmX3QoUHlfb2ZmX3Qgb2Zmc2V0KQoreworI2lmZGVmIEhBVkVfTEFSR0VGSUxFX1NVUFBPUlQKKyAgICByZXR1cm4gUHlMb25nX0Zyb21Mb25nTG9uZyhvZmZzZXQpOworI2Vsc2UKKyAgICByZXR1cm4gUHlMb25nX0Zyb21Mb25nKG9mZnNldCk7CiAjZW5kaWYKK30KKwogCiAjaWYgZGVmaW5lZCBfTVNDX1ZFUiAmJiBfTVNDX1ZFUiA+PSAxNDAwCiAvKiBNaWNyb3NvZnQgQ1JUIGluIFZTMjAwNSBhbmQgaGlnaGVyIHdpbGwgdmVyaWZ5IHRoYXQgYSBmaWxlaGFuZGxlIGlzCkBAIC0xMDYyLDE1ICsxMDY5LDMzIEBACiAvKiBUaGUgYWN0dWFsIHNpemUgb2YgdGhlIHN0cnVjdHVyZSBpcyBkZXRlcm1pbmVkIGF0IHJ1bnRpbWUuCiAgKiBPbmx5IHRoZSBmaXJzdCBpdGVtcyBtdXN0IGJlIHByZXNlbnQuCiAgKi8KKworI2lmIF9NU0NfVkVSID49IDE5MDAKKwordHlwZWRlZiBzdHJ1Y3QgeworICAgIENSSVRJQ0FMX1NFQ1RJT04gbG9jazsKKyAgICBpbnRwdHJfdCBvc2ZobmQ7CisgICAgX19pbnQ2NCBzdGFydHBvczsKKyAgICBjaGFyIG9zZmlsZTsKK30gbXlfaW9pbmZvOworCisjZGVmaW5lIElPSU5GT19MMkUgNgorI2RlZmluZSBJT0lORk9fQVJSQVlTIDEyOAorCisjZWxzZQorCiB0eXBlZGVmIHN0cnVjdCB7CiAgICAgaW50cHRyX3Qgb3NmaG5kOwogICAgIGNoYXIgb3NmaWxlOwogfSBteV9pb2luZm87CiAKLWV4dGVybiBfX2RlY2xzcGVjKGRsbGltcG9ydCkgY2hhciAqIF9fcGlvaW5mb1tdOwogI2RlZmluZSBJT0lORk9fTDJFIDUKLSNkZWZpbmUgSU9JTkZPX0FSUkFZX0VMVFMgICAoMSA8PCBJT0lORk9fTDJFKQogI2RlZmluZSBJT0lORk9fQVJSQVlTIDY0CisKKyNlbmRpZgorCitleHRlcm4gX19kZWNsc3BlYyhkbGxpbXBvcnQpIGNoYXIgKiBfX3Bpb2luZm9bXTsKKyNkZWZpbmUgSU9JTkZPX0FSUkFZX0VMVFMgICAoMSA8PCBJT0lORk9fTDJFKQogI2RlZmluZSBfTkhBTkRMRV8gICAgICAgICAgIChJT0lORk9fQVJSQVlTICogSU9JTkZPX0FSUkFZX0VMVFMpCiAjZGVmaW5lIEZPUEVOIDB4MDEKICNkZWZpbmUgX05PX0NPTlNPTEVfRklMRU5PIChpbnRwdHJfdCktMgpAQCAtMTEzMiw0MSArMTE1Nyw2IEBACiAjZW5kaWYKIAogI2lmZGVmIE1TX1dJTkRPV1MKLS8qIFRoZSBmb2xsb3dpbmcgc3RydWN0dXJlIHdhcyBjb3BpZWQgZnJvbQotICAgaHR0cDovL21zZG4ubWljcm9zb2Z0LmNvbS9lbi11cy9saWJyYXJ5L21zNzkxNTE0LmFzcHggYXMgdGhlIHJlcXVpcmVkCi0gICBpbmNsdWRlIGRvZXNuJ3Qgc2VlbSB0byBiZSBwcmVzZW50IGluIHRoZSBXaW5kb3dzIFNESyAoYXQgbGVhc3QgYXMgaW5jbHVkZWQKLSAgIHdpdGggVmlzdWFsIFN0dWRpbyBFeHByZXNzKS4gKi8KLXR5cGVkZWYgc3RydWN0IF9SRVBBUlNFX0RBVEFfQlVGRkVSIHsKLSAgICBVTE9ORyBSZXBhcnNlVGFnOwotICAgIFVTSE9SVCBSZXBhcnNlRGF0YUxlbmd0aDsKLSAgICBVU0hPUlQgUmVzZXJ2ZWQ7Ci0gICAgdW5pb24gewotICAgICAgICBzdHJ1Y3QgewotICAgICAgICAgICAgVVNIT1JUIFN1YnN0aXR1dGVOYW1lT2Zmc2V0OwotICAgICAgICAgICAgVVNIT1JUIFN1YnN0aXR1dGVOYW1lTGVuZ3RoOwotICAgICAgICAgICAgVVNIT1JUIFByaW50TmFtZU9mZnNldDsKLSAgICAgICAgICAgIFVTSE9SVCBQcmludE5hbWVMZW5ndGg7Ci0gICAgICAgICAgICBVTE9ORyBGbGFnczsKLSAgICAgICAgICAgIFdDSEFSIFBhdGhCdWZmZXJbMV07Ci0gICAgICAgIH0gU3ltYm9saWNMaW5rUmVwYXJzZUJ1ZmZlcjsKLQotICAgICAgICBzdHJ1Y3QgewotICAgICAgICAgICAgVVNIT1JUIFN1YnN0aXR1dGVOYW1lT2Zmc2V0OwotICAgICAgICAgICAgVVNIT1JUICBTdWJzdGl0dXRlTmFtZUxlbmd0aDsKLSAgICAgICAgICAgIFVTSE9SVCAgUHJpbnROYW1lT2Zmc2V0OwotICAgICAgICAgICAgVVNIT1JUICBQcmludE5hbWVMZW5ndGg7Ci0gICAgICAgICAgICBXQ0hBUiAgUGF0aEJ1ZmZlclsxXTsKLSAgICAgICAgfSBNb3VudFBvaW50UmVwYXJzZUJ1ZmZlcjsKLQotICAgICAgICBzdHJ1Y3QgewotICAgICAgICAgICAgVUNIQVIgIERhdGFCdWZmZXJbMV07Ci0gICAgICAgIH0gR2VuZXJpY1JlcGFyc2VCdWZmZXI7Ci0gICAgfTsKLX0gUkVQQVJTRV9EQVRBX0JVRkZFUiwgKlBSRVBBUlNFX0RBVEFfQlVGRkVSOwotCi0jZGVmaW5lIFJFUEFSU0VfREFUQV9CVUZGRVJfSEVBREVSX1NJWkUgIEZJRUxEX09GRlNFVChSRVBBUlNFX0RBVEFfQlVGRkVSLFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdlbmVyaWNSZXBhcnNlQnVmZmVyKQotI2RlZmluZSBNQVhJTVVNX1JFUEFSU0VfREFUQV9CVUZGRVJfU0laRSAgKCAxNiAqIDEwMjQgKQogCiBzdGF0aWMgaW50CiB3aW4zMl9nZXRfcmVwYXJzZV90YWcoSEFORExFIHJlcGFyc2VfcG9pbnRfaGFuZGxlLCBVTE9ORyAqcmVwYXJzZV90YWcpCkBAIC0xMzUxLDQ3ICsxMzQxLDM2IEBACiAKIC8qIFBPU0lYIGdlbmVyaWMgbWV0aG9kcyAqLwogCi1zdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfZmlsZGVzKFB5T2JqZWN0ICpmZG9iaiwgaW50ICgqZnVuYykoaW50KSkKK3N0YXRpYyBpbnQKK2ZpbGRlc19jb252ZXJ0ZXIoUHlPYmplY3QgKm8sIHZvaWQgKnApCiB7CiAgICAgaW50IGZkOwotICAgIGludCByZXM7Ci0gICAgZmQgPSBQeU9iamVjdF9Bc0ZpbGVEZXNjcmlwdG9yKGZkb2JqKTsKKyAgICBpbnQgKnBvaW50ZXIgPSAoaW50ICopcDsKKyAgICBmZCA9IFB5T2JqZWN0X0FzRmlsZURlc2NyaXB0b3Iobyk7CiAgICAgaWYgKGZkIDwgMCkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgaWYgKCFfUHlWZXJpZnlfZmQoZmQpKQotICAgICAgICByZXR1cm4gcG9zaXhfZXJyb3IoKTsKLSAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCi0gICAgcmVzID0gKCpmdW5jKShmZCk7Ci0gICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKLSAgICBpZiAocmVzIDwgMCkKLSAgICAgICAgcmV0dXJuIHBvc2l4X2Vycm9yKCk7Ci0gICAgUHlfSU5DUkVGKFB5X05vbmUpOwotICAgIHJldHVybiBQeV9Ob25lOworICAgICAgICByZXR1cm4gMDsKKyAgICBpZiAoIV9QeVZlcmlmeV9mZChmZCkpIHsKKyAgICAgICAgcG9zaXhfZXJyb3IoKTsKKyAgICAgICAgcmV0dXJuIDA7CisgICAgfQorICAgICpwb2ludGVyID0gZmQ7CisgICAgcmV0dXJuIDE7CiB9CiAKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF8xc3RyKGNvbnN0IGNoYXIgKmZ1bmNfbmFtZSwgUHlPYmplY3QgKmFyZ3MsIGNoYXIgKmZvcm1hdCwKLSAgICAgICAgICAgaW50ICgqZnVuYykoY29uc3QgY2hhciopKQorcG9zaXhfZmlsZGVzX2ZkKGludCBmZCwgaW50ICgqZnVuYykoaW50KSkKIHsKLSAgICBwYXRoX3QgcGF0aDsKICAgICBpbnQgcmVzOwotICAgIG1lbXNldCgmcGF0aCwgMCwgc2l6ZW9mKHBhdGgpKTsKLSAgICBwYXRoLmZ1bmN0aW9uX25hbWUgPSBmdW5jX25hbWU7Ci0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsIGZvcm1hdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0aF9jb252ZXJ0ZXIsICZwYXRoKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwotICAgIHJlcyA9ICgqZnVuYykocGF0aC5uYXJyb3cpOwotICAgIFB5X0VORF9BTExPV19USFJFQURTCi0gICAgaWYgKHJlcyA8IDApIHsKLSAgICAgICAgcGF0aF9lcnJvcigmcGF0aCk7Ci0gICAgICAgIHBhdGhfY2xlYW51cCgmcGF0aCk7Ci0gICAgICAgIHJldHVybiBOVUxMOwotICAgIH0KLSAgICBwYXRoX2NsZWFudXAoJnBhdGgpOwotICAgIFB5X0lOQ1JFRihQeV9Ob25lKTsKLSAgICByZXR1cm4gUHlfTm9uZTsKKyAgICBpbnQgYXN5bmNfZXJyID0gMDsKKworICAgIGRvIHsKKyAgICAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUworICAgICAgICByZXMgPSAoKmZ1bmMpKGZkKTsKKyAgICAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKKyAgICB9IHdoaWxlIChyZXMgIT0gMCAmJiBlcnJubyA9PSBFSU5UUiAmJiAhKGFzeW5jX2VyciA9IFB5RXJyX0NoZWNrU2lnbmFscygpKSk7CisgICAgaWYgKHJlcyAhPSAwKQorICAgICAgICByZXR1cm4gKCFhc3luY19lcnIpID8gcG9zaXhfZXJyb3IoKSA6IE5VTEw7CisgICAgUHlfUkVUVVJOX05PTkU7CiB9CiAKIApAQCAtMTQ3MCw2ICsxNDQ5LDcgQEAKICAgIFRoZXJlZm9yZSwgd2UgaW1wbGVtZW50IG91ciBvd24gc3RhdCwgYmFzZWQgb24gdGhlIFdpbjMyIEFQSSBkaXJlY3RseS4KICovCiAjZGVmaW5lIEhBVkVfU1RBVF9OU0VDIDEKKyNkZWZpbmUgSEFWRV9TVFJVQ1RfU1RBVF9TVF9GSUxFX0FUVFJJQlVURVMgMQogCiBzdHJ1Y3Qgd2luMzJfc3RhdHsKICAgICB1bnNpZ25lZCBsb25nIHN0X2RldjsKQEAgLTE0ODYsNiArMTQ2Niw3IEBACiAgICAgaW50IHN0X210aW1lX25zZWM7CiAgICAgdGltZV90IHN0X2N0aW1lOwogICAgIGludCBzdF9jdGltZV9uc2VjOworICAgIHVuc2lnbmVkIGxvbmcgc3RfZmlsZV9hdHRyaWJ1dGVzOwogfTsKIAogc3RhdGljIF9faW50NjQgc2Vjc19iZXR3ZWVuX2Vwb2NocyA9IDExNjQ0NDczNjAwOyAvKiBTZWNvbmRzIGJldHdlZW4gMS4xLjE2MDEgYW5kIDEuMS4xOTcwICovCkBAIC0xNTUwLDYgKzE1MzEsNyBAQAogICAgICAgICAvKiBub3cgc2V0IHRoZSBiaXRzIHRoYXQgbWFrZSB0aGlzIGEgc3ltbGluayAqLwogICAgICAgICByZXN1bHQtPnN0X21vZGUgfD0gU19JRkxOSzsKICAgICB9CisgICAgcmVzdWx0LT5zdF9maWxlX2F0dHJpYnV0ZXMgPSBpbmZvLT5kd0ZpbGVBdHRyaWJ1dGVzOwogCiAgICAgcmV0dXJuIDA7CiB9CkBAIC0yMDE0LDYgKzE5OTYsOSBAQAogI2lmZGVmIEhBVkVfU1RSVUNUX1NUQVRfU1RfQklSVEhUSU1FCiAgICAgeyJzdF9iaXJ0aHRpbWUiLCAgICJ0aW1lIG9mIGNyZWF0aW9uIn0sCiAjZW5kaWYKKyNpZmRlZiBIQVZFX1NUUlVDVF9TVEFUX1NUX0ZJTEVfQVRUUklCVVRFUworICAgIHsic3RfZmlsZV9hdHRyaWJ1dGVzIiwgIldpbmRvd3MgZmlsZSBhdHRyaWJ1dGUgYml0cyJ9LAorI2VuZGlmCiAgICAgezB9CiB9OwogCkBAIC0yMDUzLDYgKzIwMzgsMTIgQEAKICNkZWZpbmUgU1RfQklSVEhUSU1FX0lEWCBTVF9HRU5fSURYCiAjZW5kaWYKIAorI2lmZGVmIEhBVkVfU1RSVUNUX1NUQVRfU1RfRklMRV9BVFRSSUJVVEVTCisjZGVmaW5lIFNUX0ZJTEVfQVRUUklCVVRFU19JRFggKFNUX0JJUlRIVElNRV9JRFgrMSkKKyNlbHNlCisjZGVmaW5lIFNUX0ZJTEVfQVRUUklCVVRFU19JRFggU1RfQklSVEhUSU1FX0lEWAorI2VuZGlmCisKIHN0YXRpYyBQeVN0cnVjdFNlcXVlbmNlX0Rlc2Mgc3RhdF9yZXN1bHRfZGVzYyA9IHsKICAgICAic3RhdF9yZXN1bHQiLCAvKiBuYW1lICovCiAgICAgc3RhdF9yZXN1bHRfX2RvY19fLCAvKiBkb2MgKi8KQEAgLTIxNTQsMTAgKzIxNDUsMTIgQEAKIFB5RG9jX1NUUlZBUihzdGF0X2Zsb2F0X3RpbWVzX19kb2NfXywKICJzdGF0X2Zsb2F0X3RpbWVzKFtuZXd2YWxdKSAtPiBvbGR2YWxcblxuXAogRGV0ZXJtaW5lIHdoZXRoZXIgb3MuW2xmXXN0YXQgcmVwcmVzZW50cyB0aW1lIHN0YW1wcyBhcyBmbG9hdCBvYmplY3RzLlxuXAotSWYgbmV3dmFsIGlzIFRydWUsIGZ1dHVyZSBjYWxscyB0byBzdGF0KCkgcmV0dXJuIGZsb2F0cywgaWYgaXQgaXMgRmFsc2UsXG5cCi1mdXR1cmUgY2FsbHMgcmV0dXJuIGludHMuIFxuXAotSWYgbmV3dmFsIGlzIG9taXR0ZWQsIHJldHVybiB0aGUgY3VycmVudCBzZXR0aW5nLlxuIik7CitcblwKK0lmIHZhbHVlIGlzIFRydWUsIGZ1dHVyZSBjYWxscyB0byBzdGF0KCkgcmV0dXJuIGZsb2F0czsgaWYgaXQgaXMgRmFsc2UsXG5cCitmdXR1cmUgY2FsbHMgcmV0dXJuIGludHMuXG5cCitJZiB2YWx1ZSBpcyBvbWl0dGVkLCByZXR1cm4gdGhlIGN1cnJlbnQgc2V0dGluZy5cbiIpOwogCisvKiBBQyAzLjU6IHRoZSBwdWJsaWMgZGVmYXVsdCB2YWx1ZSBzaG91bGQgYmUgTm9uZSwgbm90IHJlYWR5IGZvciB0aGF0IHlldCAqLwogc3RhdGljIFB5T2JqZWN0Kgogc3RhdF9mbG9hdF90aW1lcyhQeU9iamVjdCogc2VsZiwgUHlPYmplY3QgKmFyZ3MpCiB7CkBAIC0yMzE3LDYgKzIzMTAsMTAgQEAKICAgICBQeVN0cnVjdFNlcXVlbmNlX1NFVF9JVEVNKHYsIFNUX0ZMQUdTX0lEWCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5TG9uZ19Gcm9tTG9uZygobG9uZylzdC0+c3RfZmxhZ3MpKTsKICNlbmRpZgorI2lmZGVmIEhBVkVfU1RSVUNUX1NUQVRfU1RfRklMRV9BVFRSSUJVVEVTCisgICAgUHlTdHJ1Y3RTZXF1ZW5jZV9TRVRfSVRFTSh2LCBTVF9GSUxFX0FUVFJJQlVURVNfSURYLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlMb25nX0Zyb21VbnNpZ25lZExvbmcoc3QtPnN0X2ZpbGVfYXR0cmlidXRlcykpOworI2VuZGlmCiAKICAgICBpZiAoUHlFcnJfT2NjdXJyZWQoKSkgewogICAgICAgICBQeV9ERUNSRUYodik7CkBAIC0yMzgwLDExICsyMzc3LDE3NiBAQAogICAgIHJldHVybiBfcHlzdGF0X2Zyb21zdHJ1Y3RzdGF0KCZzdCk7CiB9CiAKLSNpZmRlZiBIQVZFX0ZTVEFUQVQKLSAgICAjZGVmaW5lIE9TX1NUQVRfRElSX0ZEX0NPTlZFUlRFUiBkaXJfZmRfY29udmVydGVyCisvKltweXRob24gaW5wdXRdCisKK2ZvciBzIGluICIiIgorCitGQUNDRVNTQVQKK0ZDSE1PREFUCitGQ0hPV05BVAorRlNUQVRBVAorTElOS0FUCitNS0RJUkFUCitNS0ZJRk9BVAorTUtOT0RBVAorT1BFTkFUCitSRUFETElOS0FUCitTWU1MSU5LQVQKK1VOTElOS0FUCisKKyIiIi5zdHJpcCgpLnNwbGl0KCk6CisgICAgcyA9IHMuc3RyaXAoKQorICAgIHByaW50KCIiIgorI2lmZGVmIEhBVkVfe3N9CisgICAgI2RlZmluZSB7c31fRElSX0ZEX0NPTlZFUlRFUiBkaXJfZmRfY29udmVydGVyCiAjZWxzZQotICAgICNkZWZpbmUgT1NfU1RBVF9ESVJfRkRfQ09OVkVSVEVSIGRpcl9mZF91bmF2YWlsYWJsZQorICAgICNkZWZpbmUge3N9X0RJUl9GRF9DT05WRVJURVIgZGlyX2ZkX3VuYXZhaWxhYmxlCiAjZW5kaWYKKyIiIi5yc3RyaXAoKS5mb3JtYXQocz1zKSkKKworZm9yIHMgaW4gIiIiCisKK0ZDSERJUgorRkNITU9ECitGQ0hPV04KK0ZET1BFTkRJUgorRkVYRUNWRQorRlBBVEhDT05GCitGU1RBVFZGUworRlRSVU5DQVRFCisKKyIiIi5zdHJpcCgpLnNwbGl0KCk6CisgICAgcyA9IHMuc3RyaXAoKQorICAgIHByaW50KCIiIgorI2lmZGVmIEhBVkVfe3N9CisgICAgI2RlZmluZSBQQVRIX0hBVkVfe3N9IDEKKyNlbHNlCisgICAgI2RlZmluZSBQQVRIX0hBVkVfe3N9IDAKKyNlbmRpZgorCisiIiIucnN0cmlwKCkuZm9ybWF0KHM9cykpCitbcHl0aG9uIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKKyNpZmRlZiBIQVZFX0ZBQ0NFU1NBVAorICAgICNkZWZpbmUgRkFDQ0VTU0FUX0RJUl9GRF9DT05WRVJURVIgZGlyX2ZkX2NvbnZlcnRlcgorI2Vsc2UKKyAgICAjZGVmaW5lIEZBQ0NFU1NBVF9ESVJfRkRfQ09OVkVSVEVSIGRpcl9mZF91bmF2YWlsYWJsZQorI2VuZGlmCisKKyNpZmRlZiBIQVZFX0ZDSE1PREFUCisgICAgI2RlZmluZSBGQ0hNT0RBVF9ESVJfRkRfQ09OVkVSVEVSIGRpcl9mZF9jb252ZXJ0ZXIKKyNlbHNlCisgICAgI2RlZmluZSBGQ0hNT0RBVF9ESVJfRkRfQ09OVkVSVEVSIGRpcl9mZF91bmF2YWlsYWJsZQorI2VuZGlmCisKKyNpZmRlZiBIQVZFX0ZDSE9XTkFUCisgICAgI2RlZmluZSBGQ0hPV05BVF9ESVJfRkRfQ09OVkVSVEVSIGRpcl9mZF9jb252ZXJ0ZXIKKyNlbHNlCisgICAgI2RlZmluZSBGQ0hPV05BVF9ESVJfRkRfQ09OVkVSVEVSIGRpcl9mZF91bmF2YWlsYWJsZQorI2VuZGlmCisKKyNpZmRlZiBIQVZFX0ZTVEFUQVQKKyAgICAjZGVmaW5lIEZTVEFUQVRfRElSX0ZEX0NPTlZFUlRFUiBkaXJfZmRfY29udmVydGVyCisjZWxzZQorICAgICNkZWZpbmUgRlNUQVRBVF9ESVJfRkRfQ09OVkVSVEVSIGRpcl9mZF91bmF2YWlsYWJsZQorI2VuZGlmCisKKyNpZmRlZiBIQVZFX0xJTktBVAorICAgICNkZWZpbmUgTElOS0FUX0RJUl9GRF9DT05WRVJURVIgZGlyX2ZkX2NvbnZlcnRlcgorI2Vsc2UKKyAgICAjZGVmaW5lIExJTktBVF9ESVJfRkRfQ09OVkVSVEVSIGRpcl9mZF91bmF2YWlsYWJsZQorI2VuZGlmCisKKyNpZmRlZiBIQVZFX01LRElSQVQKKyAgICAjZGVmaW5lIE1LRElSQVRfRElSX0ZEX0NPTlZFUlRFUiBkaXJfZmRfY29udmVydGVyCisjZWxzZQorICAgICNkZWZpbmUgTUtESVJBVF9ESVJfRkRfQ09OVkVSVEVSIGRpcl9mZF91bmF2YWlsYWJsZQorI2VuZGlmCisKKyNpZmRlZiBIQVZFX01LRklGT0FUCisgICAgI2RlZmluZSBNS0ZJRk9BVF9ESVJfRkRfQ09OVkVSVEVSIGRpcl9mZF9jb252ZXJ0ZXIKKyNlbHNlCisgICAgI2RlZmluZSBNS0ZJRk9BVF9ESVJfRkRfQ09OVkVSVEVSIGRpcl9mZF91bmF2YWlsYWJsZQorI2VuZGlmCisKKyNpZmRlZiBIQVZFX01LTk9EQVQKKyAgICAjZGVmaW5lIE1LTk9EQVRfRElSX0ZEX0NPTlZFUlRFUiBkaXJfZmRfY29udmVydGVyCisjZWxzZQorICAgICNkZWZpbmUgTUtOT0RBVF9ESVJfRkRfQ09OVkVSVEVSIGRpcl9mZF91bmF2YWlsYWJsZQorI2VuZGlmCisKKyNpZmRlZiBIQVZFX09QRU5BVAorICAgICNkZWZpbmUgT1BFTkFUX0RJUl9GRF9DT05WRVJURVIgZGlyX2ZkX2NvbnZlcnRlcgorI2Vsc2UKKyAgICAjZGVmaW5lIE9QRU5BVF9ESVJfRkRfQ09OVkVSVEVSIGRpcl9mZF91bmF2YWlsYWJsZQorI2VuZGlmCisKKyNpZmRlZiBIQVZFX1JFQURMSU5LQVQKKyAgICAjZGVmaW5lIFJFQURMSU5LQVRfRElSX0ZEX0NPTlZFUlRFUiBkaXJfZmRfY29udmVydGVyCisjZWxzZQorICAgICNkZWZpbmUgUkVBRExJTktBVF9ESVJfRkRfQ09OVkVSVEVSIGRpcl9mZF91bmF2YWlsYWJsZQorI2VuZGlmCisKKyNpZmRlZiBIQVZFX1NZTUxJTktBVAorICAgICNkZWZpbmUgU1lNTElOS0FUX0RJUl9GRF9DT05WRVJURVIgZGlyX2ZkX2NvbnZlcnRlcgorI2Vsc2UKKyAgICAjZGVmaW5lIFNZTUxJTktBVF9ESVJfRkRfQ09OVkVSVEVSIGRpcl9mZF91bmF2YWlsYWJsZQorI2VuZGlmCisKKyNpZmRlZiBIQVZFX1VOTElOS0FUCisgICAgI2RlZmluZSBVTkxJTktBVF9ESVJfRkRfQ09OVkVSVEVSIGRpcl9mZF9jb252ZXJ0ZXIKKyNlbHNlCisgICAgI2RlZmluZSBVTkxJTktBVF9ESVJfRkRfQ09OVkVSVEVSIGRpcl9mZF91bmF2YWlsYWJsZQorI2VuZGlmCisKKyNpZmRlZiBIQVZFX0ZDSERJUgorICAgICNkZWZpbmUgUEFUSF9IQVZFX0ZDSERJUiAxCisjZWxzZQorICAgICNkZWZpbmUgUEFUSF9IQVZFX0ZDSERJUiAwCisjZW5kaWYKKworI2lmZGVmIEhBVkVfRkNITU9ECisgICAgI2RlZmluZSBQQVRIX0hBVkVfRkNITU9EIDEKKyNlbHNlCisgICAgI2RlZmluZSBQQVRIX0hBVkVfRkNITU9EIDAKKyNlbmRpZgorCisjaWZkZWYgSEFWRV9GQ0hPV04KKyAgICAjZGVmaW5lIFBBVEhfSEFWRV9GQ0hPV04gMQorI2Vsc2UKKyAgICAjZGVmaW5lIFBBVEhfSEFWRV9GQ0hPV04gMAorI2VuZGlmCisKKyNpZmRlZiBIQVZFX0ZET1BFTkRJUgorICAgICNkZWZpbmUgUEFUSF9IQVZFX0ZET1BFTkRJUiAxCisjZWxzZQorICAgICNkZWZpbmUgUEFUSF9IQVZFX0ZET1BFTkRJUiAwCisjZW5kaWYKKworI2lmZGVmIEhBVkVfRkVYRUNWRQorICAgICNkZWZpbmUgUEFUSF9IQVZFX0ZFWEVDVkUgMQorI2Vsc2UKKyAgICAjZGVmaW5lIFBBVEhfSEFWRV9GRVhFQ1ZFIDAKKyNlbmRpZgorCisjaWZkZWYgSEFWRV9GUEFUSENPTkYKKyAgICAjZGVmaW5lIFBBVEhfSEFWRV9GUEFUSENPTkYgMQorI2Vsc2UKKyAgICAjZGVmaW5lIFBBVEhfSEFWRV9GUEFUSENPTkYgMAorI2VuZGlmCisKKyNpZmRlZiBIQVZFX0ZTVEFUVkZTCisgICAgI2RlZmluZSBQQVRIX0hBVkVfRlNUQVRWRlMgMQorI2Vsc2UKKyAgICAjZGVmaW5lIFBBVEhfSEFWRV9GU1RBVFZGUyAwCisjZW5kaWYKKworI2lmZGVmIEhBVkVfRlRSVU5DQVRFCisgICAgI2RlZmluZSBQQVRIX0hBVkVfRlRSVU5DQVRFIDEKKyNlbHNlCisgICAgI2RlZmluZSBQQVRIX0hBVkVfRlRSVU5DQVRFIDAKKyNlbmRpZgorLypbcHl0aG9uIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTRiZDRmNmY3ZDQxMjY3ZjEgaW5wdXQ9ODBiNGM4OTBiNjc3NGVhNV0qLwogCiAKIC8qW3B5dGhvbiBpbnB1dF0KQEAgLTI0MDAsMjIgKzI1NjIsMjUgQEAKICAgICBkZWYgY29udmVydGVyX2luaXQoc2VsZiwgKiwgYWxsb3dfZmQ9RmFsc2UsIG51bGxhYmxlPUZhbHNlKToKICAgICAgICAgIyByaWdodCBub3cgcGF0aF90IGRvZXNuJ3Qgc3VwcG9ydCBkZWZhdWx0IHZhbHVlcy4KICAgICAgICAgIyB0byBzdXBwb3J0IGEgZGVmYXVsdCB2YWx1ZSwgeW91J2xsIG5lZWQgdG8gb3ZlcnJpZGUgaW5pdGlhbGl6ZSgpLgotICAgICAgICBpZiBzZWxmLmRlZmF1bHQgaXMgbm90IHVuc3BlY2lmaWVkOgorICAgICAgICBpZiBzZWxmLmRlZmF1bHQgbm90IGluICh1bnNwZWNpZmllZCwgTm9uZSk6CiAgICAgICAgICAgICBmYWlsKCJDYW4ndCBzcGVjaWZ5IGEgZGVmYXVsdCB0byB0aGUgcGF0aF90IGNvbnZlcnRlciEiKQogCi0gICAgICAgIGlmIHNlbGYuY19kZWZhdWx0IGlzIG5vdCBOb25lOgotICAgICAgICAgICAgZmFpbCgiQ2FuJ3Qgc3BlY2lmeSBhIGNfZGVmYXVsdCB0byB0aGUgcGF0aF90IGNvbnZlcnRlciEiKQorICAgICAgICBpZiBzZWxmLmNfZGVmYXVsdCBub3QgaW4gKE5vbmUsICdQeV9Ob25lJyk6CisgICAgICAgICAgICByYWlzZSBSdW50aW1lRXJyb3IoIkNhbid0IHNwZWNpZnkgYSBjX2RlZmF1bHQgdG8gdGhlIHBhdGhfdCBjb252ZXJ0ZXIhIikKIAogICAgICAgICBzZWxmLm51bGxhYmxlID0gbnVsbGFibGUKICAgICAgICAgc2VsZi5hbGxvd19mZCA9IGFsbG93X2ZkCiAKICAgICBkZWYgcHJlX3JlbmRlcihzZWxmKToKICAgICAgICAgZGVmIHN0cmlmeSh2YWx1ZSk6CisgICAgICAgICAgICBpZiBpc2luc3RhbmNlKHZhbHVlLCBzdHIpOgorICAgICAgICAgICAgICAgIHJldHVybiB2YWx1ZQogICAgICAgICAgICAgcmV0dXJuIHN0cihpbnQoYm9vbCh2YWx1ZSkpKQogCiAgICAgICAgICMgYWRkIHNlbGYucHlfbmFtZSBoZXJlIHdoZW4gbWVyZ2luZyB3aXRoIHBvc2l4bW9kdWxlIGNvbnZlcnNpb24KLSAgICAgICAgc2VsZi5jX2RlZmF1bHQgPSAnUEFUSF9UX0lOSVRJQUxJWkUoInt9Iiwge30sIHt9KScuZm9ybWF0KAorICAgICAgICBzZWxmLmNfZGVmYXVsdCA9ICdQQVRIX1RfSU5JVElBTElaRSgie30iLCAie30iLCB7fSwge30pJy5mb3JtYXQoCiAgICAgICAgICAgICBzZWxmLmZ1bmN0aW9uLm5hbWUsCisgICAgICAgICAgICBzZWxmLm5hbWUsCiAgICAgICAgICAgICBzdHJpZnkoc2VsZi5udWxsYWJsZSksCiAgICAgICAgICAgICBzdHJpZnkoc2VsZi5hbGxvd19mZCksCiAgICAgICAgICAgICApCkBAIC0yNDI2LDE1ICsyNTkxLDg3IEBACiAKIGNsYXNzIGRpcl9mZF9jb252ZXJ0ZXIoQ0NvbnZlcnRlcik6CiAgICAgdHlwZSA9ICdpbnQnCi0gICAgY29udmVydGVyID0gJ09TX1NUQVRfRElSX0ZEX0NPTlZFUlRFUicKIAotICAgIGRlZiBjb252ZXJ0ZXJfaW5pdChzZWxmKToKKyAgICBkZWYgY29udmVydGVyX2luaXQoc2VsZiwgcmVxdWlyZXM9Tm9uZSk6CiAgICAgICAgIGlmIHNlbGYuZGVmYXVsdCBpbiAodW5zcGVjaWZpZWQsIE5vbmUpOgogICAgICAgICAgICAgc2VsZi5jX2RlZmF1bHQgPSAnREVGQVVMVF9ESVJfRkQnCisgICAgICAgIGlmIGlzaW5zdGFuY2UocmVxdWlyZXMsIHN0cik6CisgICAgICAgICAgICBzZWxmLmNvbnZlcnRlciA9IHJlcXVpcmVzLnVwcGVyKCkgKyAnX0RJUl9GRF9DT05WRVJURVInCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBzZWxmLmNvbnZlcnRlciA9ICdkaXJfZmRfY29udmVydGVyJwogCitjbGFzcyBmaWxkZXNfY29udmVydGVyKENDb252ZXJ0ZXIpOgorICAgIHR5cGUgPSAnaW50JworICAgIGNvbnZlcnRlciA9ICdmaWxkZXNfY29udmVydGVyJworCitjbGFzcyB1aWRfdF9jb252ZXJ0ZXIoQ0NvbnZlcnRlcik6CisgICAgdHlwZSA9ICJ1aWRfdCIKKyAgICBjb252ZXJ0ZXIgPSAnX1B5X1VpZF9Db252ZXJ0ZXInCisKK2NsYXNzIGdpZF90X2NvbnZlcnRlcihDQ29udmVydGVyKToKKyAgICB0eXBlID0gImdpZF90IgorICAgIGNvbnZlcnRlciA9ICdfUHlfR2lkX0NvbnZlcnRlcicKKworY2xhc3MgZGV2X3RfY29udmVydGVyKENDb252ZXJ0ZXIpOgorICAgIHR5cGUgPSAnZGV2X3QnCisgICAgY29udmVydGVyID0gJ19QeV9EZXZfQ29udmVydGVyJworCitjbGFzcyBkZXZfdF9yZXR1cm5fY29udmVydGVyKHVuc2lnbmVkX2xvbmdfcmV0dXJuX2NvbnZlcnRlcik6CisgICAgdHlwZSA9ICdkZXZfdCcKKyAgICBjb252ZXJzaW9uX2ZuID0gJ19QeUxvbmdfRnJvbURldicKKyAgICB1bnNpZ25lZF9jYXN0ID0gJyhkZXZfdCknCisKK2NsYXNzIEZTQ29udmVydGVyX2NvbnZlcnRlcihDQ29udmVydGVyKToKKyAgICB0eXBlID0gJ1B5T2JqZWN0IConCisgICAgY29udmVydGVyID0gJ1B5VW5pY29kZV9GU0NvbnZlcnRlcicKKyAgICBkZWYgY29udmVydGVyX2luaXQoc2VsZik6CisgICAgICAgIGlmIHNlbGYuZGVmYXVsdCBpcyBub3QgdW5zcGVjaWZpZWQ6CisgICAgICAgICAgICBmYWlsKCJGU0NvbnZlcnRlcl9jb252ZXJ0ZXIgZG9lcyBub3Qgc3VwcG9ydCBkZWZhdWx0IHZhbHVlcyIpCisgICAgICAgIHNlbGYuY19kZWZhdWx0ID0gJ05VTEwnCisKKyAgICBkZWYgY2xlYW51cChzZWxmKToKKyAgICAgICAgcmV0dXJuICJQeV9YREVDUkVGKCIgKyBzZWxmLm5hbWUgKyAiKTtcbiIKKworY2xhc3MgcGlkX3RfY29udmVydGVyKENDb252ZXJ0ZXIpOgorICAgIHR5cGUgPSAncGlkX3QnCisgICAgZm9ybWF0X3VuaXQgPSAnIiBfUHlfUEFSU0VfUElEICInCisKK2NsYXNzIGlkdHlwZV90X2NvbnZlcnRlcihpbnRfY29udmVydGVyKToKKyAgICB0eXBlID0gJ2lkdHlwZV90JworCitjbGFzcyBpZF90X2NvbnZlcnRlcihDQ29udmVydGVyKToKKyAgICB0eXBlID0gJ2lkX3QnCisgICAgZm9ybWF0X3VuaXQgPSAnIiBfUHlfUEFSU0VfUElEICInCisKK2NsYXNzIFB5X2ludHB0cl90X2NvbnZlcnRlcihDQ29udmVydGVyKToKKyAgICB0eXBlID0gJ1B5X2ludHB0cl90JworICAgIGZvcm1hdF91bml0ID0gJyIgX1B5X1BBUlNFX0lOVFBUUiAiJworCitjbGFzcyBQeV9vZmZfdF9jb252ZXJ0ZXIoQ0NvbnZlcnRlcik6CisgICAgdHlwZSA9ICdQeV9vZmZfdCcKKyAgICBjb252ZXJ0ZXIgPSAnUHlfb2ZmX3RfY29udmVydGVyJworCitjbGFzcyBQeV9vZmZfdF9yZXR1cm5fY29udmVydGVyKGxvbmdfcmV0dXJuX2NvbnZlcnRlcik6CisgICAgdHlwZSA9ICdQeV9vZmZfdCcKKyAgICBjb252ZXJzaW9uX2ZuID0gJ1B5TG9uZ19Gcm9tUHlfb2ZmX3QnCisKK2NsYXNzIHBhdGhfY29uZm5hbWVfY29udmVydGVyKENDb252ZXJ0ZXIpOgorICAgIHR5cGU9ImludCIKKyAgICBjb252ZXJ0ZXI9ImNvbnZfcGF0aF9jb25mbmFtZSIKKworY2xhc3MgY29uZnN0cl9jb25mbmFtZV9jb252ZXJ0ZXIocGF0aF9jb25mbmFtZV9jb252ZXJ0ZXIpOgorICAgIGNvbnZlcnRlcj0nY29udl9jb25mc3RyX2NvbmZuYW1lJworCitjbGFzcyBzeXNjb25mX2NvbmZuYW1lX2NvbnZlcnRlcihwYXRoX2NvbmZuYW1lX2NvbnZlcnRlcik6CisgICAgY29udmVydGVyPSJjb252X3N5c2NvbmZfY29uZm5hbWUiCisKK2NsYXNzIHNjaGVkX3BhcmFtX2NvbnZlcnRlcihDQ29udmVydGVyKToKKyAgICB0eXBlID0gJ3N0cnVjdCBzY2hlZF9wYXJhbScKKyAgICBjb252ZXJ0ZXIgPSAnY29udmVydF9zY2hlZF9wYXJhbScKKyAgICBpbXBsX2J5X3JlZmVyZW5jZSA9IFRydWU7CiAKIFtweXRob24gc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KLS8qW3B5dGhvbiBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1kYTM5YTNlZTVlNmI0YjBkIGlucHV0PTVjOWY0NTZmNTMyNDRmYzNdKi8KKy8qW3B5dGhvbiBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1kYTM5YTNlZTVlNmI0YjBkIGlucHV0PWFmZmU2ODMxNmYxNjA0MDFdKi8KIAogLypbY2xpbmljIGlucHV0XQogCkBAIC0yNDQ1LDcgKzI2ODIsNyBAQAogCiAgICAgKgogCi0gICAgZGlyX2ZkIDogZGlyX2ZkID0gTm9uZQorICAgIGRpcl9mZCA6IGRpcl9mZChyZXF1aXJlcz0nZnN0YXRhdCcpID0gTm9uZQogICAgICAgICBJZiBub3QgTm9uZSwgaXQgc2hvdWxkIGJlIGEgZmlsZSBkZXNjcmlwdG9yIG9wZW4gdG8gYSBkaXJlY3RvcnksCiAgICAgICAgIGFuZCBwYXRoIHNob3VsZCBiZSBhIHJlbGF0aXZlIHN0cmluZzsgcGF0aCB3aWxsIHRoZW4gYmUgcmVsYXRpdmUgdG8KICAgICAgICAgdGhhdCBkaXJlY3RvcnkuCkBAIC0yNTAxLDEzICsyNzM4LDEzIEBACiB7CiAgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CiAgICAgc3RhdGljIGNoYXIgKl9rZXl3b3Jkc1tdID0geyJwYXRoIiwgImRpcl9mZCIsICJmb2xsb3dfc3ltbGlua3MiLCBOVUxMfTsKLSAgICBwYXRoX3QgcGF0aCA9IFBBVEhfVF9JTklUSUFMSVpFKCJzdGF0IiwgMCwgMSk7CisgICAgcGF0aF90IHBhdGggPSBQQVRIX1RfSU5JVElBTElaRSgic3RhdCIsICJwYXRoIiwgMCwgMSk7CiAgICAgaW50IGRpcl9mZCA9IERFRkFVTFRfRElSX0ZEOwogICAgIGludCBmb2xsb3dfc3ltbGlua3MgPSAxOwogCiAgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLAogICAgICAgICAiTyZ8JE8mcDpzdGF0IiwgX2tleXdvcmRzLAotICAgICAgICBwYXRoX2NvbnZlcnRlciwgJnBhdGgsIE9TX1NUQVRfRElSX0ZEX0NPTlZFUlRFUiwgJmRpcl9mZCwgJmZvbGxvd19zeW1saW5rcykpCisgICAgICAgIHBhdGhfY29udmVydGVyLCAmcGF0aCwgRlNUQVRBVF9ESVJfRkRfQ09OVkVSVEVSLCAmZGlyX2ZkLCAmZm9sbG93X3N5bWxpbmtzKSkKICAgICAgICAgZ290byBleGl0OwogICAgIHJldHVybl92YWx1ZSA9IG9zX3N0YXRfaW1wbChtb2R1bGUsICZwYXRoLCBkaXJfZmQsIGZvbGxvd19zeW1saW5rcyk7CiAKQEAgLTI1MjAsNDkgKzI3NTcsNzQgQEAKIAogc3RhdGljIFB5T2JqZWN0ICoKIG9zX3N0YXRfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBwYXRoX3QgKnBhdGgsIGludCBkaXJfZmQsIGludCBmb2xsb3dfc3ltbGlua3MpCi0vKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9ZjFkY2FhNWUyNGRiOTg4MiBpbnB1dD01YWUxNTViZDQ3NWZkMjBhXSovCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9MGU5Zjk1MDhmYTBjMDYwNyBpbnB1dD0wOTlkMzU2YzMwNmZhMjRhXSovCiB7CiAgICAgcmV0dXJuIHBvc2l4X2RvX3N0YXQoInN0YXQiLCBwYXRoLCBkaXJfZmQsIGZvbGxvd19zeW1saW5rcyk7CiB9CiAKLVB5RG9jX1NUUlZBUihwb3NpeF9sc3RhdF9fZG9jX18sCi0ibHN0YXQocGF0aCwgKiwgZGlyX2ZkPU5vbmUpIC0+IHN0YXQgcmVzdWx0XG5cblwKLUxpa2Ugc3RhdCgpLCBidXQgZG8gbm90IGZvbGxvdyBzeW1ib2xpYyBsaW5rcy5cblwKLUVxdWl2YWxlbnQgdG8gc3RhdChwYXRoLCBmb2xsb3dfc3ltbGlua3M9RmFsc2UpLiIpOworCisvKltjbGluaWMgaW5wdXRdCitvcy5sc3RhdAorCisgICAgcGF0aCA6IHBhdGhfdAorCisgICAgKgorCisgICAgZGlyX2ZkIDogZGlyX2ZkKHJlcXVpcmVzPSdmc3RhdGF0JykgPSBOb25lCisKK1BlcmZvcm0gYSBzdGF0IHN5c3RlbSBjYWxsIG9uIHRoZSBnaXZlbiBwYXRoLCB3aXRob3V0IGZvbGxvd2luZyBzeW1ib2xpYyBsaW5rcy4KKworTGlrZSBzdGF0KCksIGJ1dCBkbyBub3QgZm9sbG93IHN5bWJvbGljIGxpbmtzLgorRXF1aXZhbGVudCB0byBzdGF0KHBhdGgsIGZvbGxvd19zeW1saW5rcz1GYWxzZSkuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19sc3RhdF9fZG9jX18sCisibHN0YXQoJG1vZHVsZSwgLywgcGF0aCwgKiwgZGlyX2ZkPU5vbmUpXG4iCisiLS1cbiIKKyJcbiIKKyJQZXJmb3JtIGEgc3RhdCBzeXN0ZW0gY2FsbCBvbiB0aGUgZ2l2ZW4gcGF0aCwgd2l0aG91dCBmb2xsb3dpbmcgc3ltYm9saWMgbGlua3MuXG4iCisiXG4iCisiTGlrZSBzdGF0KCksIGJ1dCBkbyBub3QgZm9sbG93IHN5bWJvbGljIGxpbmtzLlxuIgorIkVxdWl2YWxlbnQgdG8gc3RhdChwYXRoLCBmb2xsb3dfc3ltbGlua3M9RmFsc2UpLiIpOworCisjZGVmaW5lIE9TX0xTVEFUX01FVEhPRERFRiAgICBcCisgICAgeyJsc3RhdCIsIChQeUNGdW5jdGlvbilvc19sc3RhdCwgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsIG9zX2xzdGF0X19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF9sc3RhdChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCi17Ci0gICAgc3RhdGljIGNoYXIgKmtleXdvcmRzW10gPSB7InBhdGgiLCAiZGlyX2ZkIiwgTlVMTH07Ci0gICAgcGF0aF90IHBhdGg7Ci0gICAgaW50IGRpcl9mZCA9IERFRkFVTFRfRElSX0ZEOwotICAgIGludCBmb2xsb3dfc3ltbGlua3MgPSAwOwotICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWU7Citvc19sc3RhdF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIHBhdGhfdCAqcGF0aCwgaW50IGRpcl9mZCk7CiAKLSAgICBtZW1zZXQoJnBhdGgsIDAsIHNpemVvZihwYXRoKSk7Ci0gICAgcGF0aC5mdW5jdGlvbl9uYW1lID0gImxzdGF0IjsKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsICJPJnwkTyY6bHN0YXQiLCBrZXl3b3JkcywKLSAgICAgICAgcGF0aF9jb252ZXJ0ZXIsICZwYXRoLAotI2lmZGVmIEhBVkVfRlNUQVRBVAotICAgICAgICBkaXJfZmRfY29udmVydGVyLCAmZGlyX2ZkCi0jZWxzZQotICAgICAgICBkaXJfZmRfdW5hdmFpbGFibGUsICZkaXJfZmQKLSNlbmRpZgotICAgICAgICApKQotICAgICAgICByZXR1cm4gTlVMTDsKLSAgICByZXR1cm5fdmFsdWUgPSBwb3NpeF9kb19zdGF0KCJsc3RhdCIsICZwYXRoLCBkaXJfZmQsIGZvbGxvd19zeW1saW5rcyk7CitzdGF0aWMgUHlPYmplY3QgKgorb3NfbHN0YXQoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCit7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgc3RhdGljIGNoYXIgKl9rZXl3b3Jkc1tdID0geyJwYXRoIiwgImRpcl9mZCIsIE5VTEx9OworICAgIHBhdGhfdCBwYXRoID0gUEFUSF9UX0lOSVRJQUxJWkUoImxzdGF0IiwgInBhdGgiLCAwLCAwKTsKKyAgICBpbnQgZGlyX2ZkID0gREVGQVVMVF9ESVJfRkQ7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsCisgICAgICAgICJPJnwkTyY6bHN0YXQiLCBfa2V5d29yZHMsCisgICAgICAgIHBhdGhfY29udmVydGVyLCAmcGF0aCwgRlNUQVRBVF9ESVJfRkRfQ09OVkVSVEVSLCAmZGlyX2ZkKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IG9zX2xzdGF0X2ltcGwobW9kdWxlLCAmcGF0aCwgZGlyX2ZkKTsKKworZXhpdDoKKyAgICAvKiBDbGVhbnVwIGZvciBwYXRoICovCiAgICAgcGF0aF9jbGVhbnVwKCZwYXRoKTsKKwogICAgIHJldHVybiByZXR1cm5fdmFsdWU7CiB9CiAKK3N0YXRpYyBQeU9iamVjdCAqCitvc19sc3RhdF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIHBhdGhfdCAqcGF0aCwgaW50IGRpcl9mZCkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD04NTcwMjI0NzIyNGEyYjFjIGlucHV0PTBiNzQ3NDc2NTkyN2I5MjVdKi8KK3sKKyAgICBpbnQgZm9sbG93X3N5bWxpbmtzID0gMDsKKyAgICByZXR1cm4gcG9zaXhfZG9fc3RhdCgibHN0YXQiLCBwYXRoLCBkaXJfZmQsIGZvbGxvd19zeW1saW5rcyk7Cit9CiAKLSNpZmRlZiBIQVZFX0ZBQ0NFU1NBVAotICAgICNkZWZpbmUgT1NfQUNDRVNTX0RJUl9GRF9DT05WRVJURVIgZGlyX2ZkX2NvbnZlcnRlcgotI2Vsc2UKLSAgICAjZGVmaW5lIE9TX0FDQ0VTU19ESVJfRkRfQ09OVkVSVEVSIGRpcl9mZF91bmF2YWlsYWJsZQotI2VuZGlmCisKIC8qW2NsaW5pYyBpbnB1dF0KLW9zLmFjY2Vzcworb3MuYWNjZXNzIC0+IGJvb2wKIAogICAgIHBhdGg6IHBhdGhfdChhbGxvd19mZD1UcnVlKQogICAgICAgICBQYXRoIHRvIGJlIHRlc3RlZDsgY2FuIGJlIHN0cmluZywgYnl0ZXMsIG9yIG9wZW4tZmlsZS1kZXNjcmlwdG9yIGludC4KQEAgLTI1NzMsNyArMjgzNSw3IEBACiAKICAgICAqCiAKLSAgICBkaXJfZmQgOiBkaXJfZmQgPSBOb25lCisgICAgZGlyX2ZkIDogZGlyX2ZkKHJlcXVpcmVzPSdmYWNjZXNzYXQnKSA9IE5vbmUKICAgICAgICAgSWYgbm90IE5vbmUsIGl0IHNob3VsZCBiZSBhIGZpbGUgZGVzY3JpcHRvciBvcGVuIHRvIGEgZGlyZWN0b3J5LAogICAgICAgICBhbmQgcGF0aCBzaG91bGQgYmUgcmVsYXRpdmU7IHBhdGggd2lsbCB0aGVuIGJlIHJlbGF0aXZlIHRvIHRoYXQKICAgICAgICAgZGlyZWN0b3J5LgpAQCAtMjYzNSw3ICsyODk3LDcgQEAKICNkZWZpbmUgT1NfQUNDRVNTX01FVEhPRERFRiAgICBcCiAgICAgeyJhY2Nlc3MiLCAoUHlDRnVuY3Rpb24pb3NfYWNjZXNzLCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywgb3NfYWNjZXNzX19kb2NfX30sCiAKLXN0YXRpYyBQeU9iamVjdCAqCitzdGF0aWMgaW50CiBvc19hY2Nlc3NfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBwYXRoX3QgKnBhdGgsIGludCBtb2RlLCBpbnQgZGlyX2ZkLCBpbnQgZWZmZWN0aXZlX2lkcywgaW50IGZvbGxvd19zeW1saW5rcyk7CiAKIHN0YXRpYyBQeU9iamVjdCAqCkBAIC0yNjQzLDE3ICsyOTA1LDIxIEBACiB7CiAgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CiAgICAgc3RhdGljIGNoYXIgKl9rZXl3b3Jkc1tdID0geyJwYXRoIiwgIm1vZGUiLCAiZGlyX2ZkIiwgImVmZmVjdGl2ZV9pZHMiLCAiZm9sbG93X3N5bWxpbmtzIiwgTlVMTH07Ci0gICAgcGF0aF90IHBhdGggPSBQQVRIX1RfSU5JVElBTElaRSgiYWNjZXNzIiwgMCwgMSk7CisgICAgcGF0aF90IHBhdGggPSBQQVRIX1RfSU5JVElBTElaRSgiYWNjZXNzIiwgInBhdGgiLCAwLCAxKTsKICAgICBpbnQgbW9kZTsKICAgICBpbnQgZGlyX2ZkID0gREVGQVVMVF9ESVJfRkQ7CiAgICAgaW50IGVmZmVjdGl2ZV9pZHMgPSAwOwogICAgIGludCBmb2xsb3dfc3ltbGlua3MgPSAxOworICAgIGludCBfcmV0dXJuX3ZhbHVlOwogCiAgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLAogICAgICAgICAiTyZpfCRPJnBwOmFjY2VzcyIsIF9rZXl3b3JkcywKLSAgICAgICAgcGF0aF9jb252ZXJ0ZXIsICZwYXRoLCAmbW9kZSwgT1NfU1RBVF9ESVJfRkRfQ09OVkVSVEVSLCAmZGlyX2ZkLCAmZWZmZWN0aXZlX2lkcywgJmZvbGxvd19zeW1saW5rcykpCisgICAgICAgIHBhdGhfY29udmVydGVyLCAmcGF0aCwgJm1vZGUsIEZBQ0NFU1NBVF9ESVJfRkRfQ09OVkVSVEVSLCAmZGlyX2ZkLCAmZWZmZWN0aXZlX2lkcywgJmZvbGxvd19zeW1saW5rcykpCiAgICAgICAgIGdvdG8gZXhpdDsKLSAgICByZXR1cm5fdmFsdWUgPSBvc19hY2Nlc3NfaW1wbChtb2R1bGUsICZwYXRoLCBtb2RlLCBkaXJfZmQsIGVmZmVjdGl2ZV9pZHMsIGZvbGxvd19zeW1saW5rcyk7CisgICAgX3JldHVybl92YWx1ZSA9IG9zX2FjY2Vzc19pbXBsKG1vZHVsZSwgJnBhdGgsIG1vZGUsIGRpcl9mZCwgZWZmZWN0aXZlX2lkcywgZm9sbG93X3N5bWxpbmtzKTsKKyAgICBpZiAoKF9yZXR1cm5fdmFsdWUgPT0gLTEpICYmIFB5RXJyX09jY3VycmVkKCkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBQeUJvb2xfRnJvbUxvbmcoKGxvbmcpX3JldHVybl92YWx1ZSk7CiAKIGV4aXQ6CiAgICAgLyogQ2xlYW51cCBmb3IgcGF0aCAqLwpAQCAtMjY2MiwxMSArMjkyOCwxMSBAQAogICAgIHJldHVybiByZXR1cm5fdmFsdWU7CiB9CiAKLXN0YXRpYyBQeU9iamVjdCAqCitzdGF0aWMgaW50CiBvc19hY2Nlc3NfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBwYXRoX3QgKnBhdGgsIGludCBtb2RlLCBpbnQgZGlyX2ZkLCBpbnQgZWZmZWN0aXZlX2lkcywgaW50IGZvbGxvd19zeW1saW5rcykKLS8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1hNmVkNGYxNTFiZTlkZjBmIGlucHV0PTJlMmU3NTk0MzcxZjViN2VdKi8KKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1kZmQ0MDQ2NjY5MDZmMDEyIGlucHV0PWI3NWE3NTY3OTdhZjQ1ZWNdKi8KIHsKLSAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBpbnQgcmV0dXJuX3ZhbHVlOwogCiAjaWZkZWYgTVNfV0lORE9XUwogICAgIERXT1JEIGF0dHI7CkBAIC0yNjc2LDExICsyOTQyLDExIEBACiAKICNpZm5kZWYgSEFWRV9GQUNDRVNTQVQKICAgICBpZiAoZm9sbG93X3N5bWxpbmtzX3NwZWNpZmllZCgiYWNjZXNzIiwgZm9sbG93X3N5bWxpbmtzKSkKLSAgICAgICAgZ290byBleGl0OworICAgICAgICByZXR1cm4gLTE7CiAKICAgICBpZiAoZWZmZWN0aXZlX2lkcykgewogICAgICAgICBhcmd1bWVudF91bmF2YWlsYWJsZV9lcnJvcigiYWNjZXNzIiwgImVmZmVjdGl2ZV9pZHMiKTsKLSAgICAgICAgZ290byBleGl0OworICAgICAgICByZXR1cm4gLTE7CiAgICAgfQogI2VuZGlmCiAKQEAgLTI3MDAsMTEgKzI5NjYsMTAgQEAKICAgICAgKiAgICAgKiBvciBpdCdzIGEgZGlyZWN0b3J5LgogICAgICAqIChEaXJlY3RvcmllcyBjYW5ub3QgYmUgcmVhZC1vbmx5IG9uIFdpbmRvd3MuKQogICAgICovCi0gICAgcmV0dXJuX3ZhbHVlID0gUHlCb29sX0Zyb21Mb25nKAotICAgICAgICAoYXR0ciAhPSBJTlZBTElEX0ZJTEVfQVRUUklCVVRFUykgJiYKKyAgICByZXR1cm5fdmFsdWUgPSAoYXR0ciAhPSBJTlZBTElEX0ZJTEVfQVRUUklCVVRFUykgJiYKICAgICAgICAgICAgICghKG1vZGUgJiAyKSB8fAogICAgICAgICAgICAgIShhdHRyICYgRklMRV9BVFRSSUJVVEVfUkVBRE9OTFkpIHx8Ci0gICAgICAgICAgICAoYXR0ciAmIEZJTEVfQVRUUklCVVRFX0RJUkVDVE9SWSkpKTsKKyAgICAgICAgICAgIChhdHRyICYgRklMRV9BVFRSSUJVVEVfRElSRUNUT1JZKSk7CiAjZWxzZQogCiAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwpAQCAtMjcyMywxMiArMjk4OCw5IEBACiAjZW5kaWYKICAgICAgICAgcmVzdWx0ID0gYWNjZXNzKHBhdGgtPm5hcnJvdywgbW9kZSk7CiAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKLSAgICByZXR1cm5fdmFsdWUgPSBQeUJvb2xfRnJvbUxvbmcoIXJlc3VsdCk7CisgICAgcmV0dXJuX3ZhbHVlID0gIXJlc3VsdDsKICNlbmRpZgogCi0jaWZuZGVmIEhBVkVfRkFDQ0VTU0FUCi1leGl0OgotI2VuZGlmCiAgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKIH0KIApAQCAtMjc0Nyw3ICszMDA5LDYgQEAKIAogCiAjaWZkZWYgSEFWRV9UVFlOQU1FCi0KIC8qW2NsaW5pYyBpbnB1dF0KIG9zLnR0eW5hbWUgLT4gRGVjb2RlRlNEZWZhdWx0CiAKQEAgLTI4MDUsMTcgKzMwNjYsMzYgQEAKICAgICAgICAgcG9zaXhfZXJyb3IoKTsKICAgICByZXR1cm4gcmV0OwogfQotI2Vsc2UKLSNkZWZpbmUgT1NfVFRZTkFNRV9NRVRIT0RERUYKICNlbmRpZgogCiAjaWZkZWYgSEFWRV9DVEVSTUlECi1QeURvY19TVFJWQVIocG9zaXhfY3Rlcm1pZF9fZG9jX18sCi0iY3Rlcm1pZCgpIC0+IHN0cmluZ1xuXG5cCi1SZXR1cm4gdGhlIG5hbWUgb2YgdGhlIGNvbnRyb2xsaW5nIHRlcm1pbmFsIGZvciB0aGlzIHByb2Nlc3MuIik7CisvKltjbGluaWMgaW5wdXRdCitvcy5jdGVybWlkCisKK1JldHVybiB0aGUgbmFtZSBvZiB0aGUgY29udHJvbGxpbmcgdGVybWluYWwgZm9yIHRoaXMgcHJvY2Vzcy4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX2N0ZXJtaWRfX2RvY19fLAorImN0ZXJtaWQoJG1vZHVsZSwgLylcbiIKKyItLVxuIgorIlxuIgorIlJldHVybiB0aGUgbmFtZSBvZiB0aGUgY29udHJvbGxpbmcgdGVybWluYWwgZm9yIHRoaXMgcHJvY2Vzcy4iKTsKKworI2RlZmluZSBPU19DVEVSTUlEX01FVEhPRERFRiAgICBcCisgICAgeyJjdGVybWlkIiwgKFB5Q0Z1bmN0aW9uKW9zX2N0ZXJtaWQsIE1FVEhfTk9BUkdTLCBvc19jdGVybWlkX19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF9jdGVybWlkKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqbm9hcmdzKQorb3NfY3Rlcm1pZF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUpOworCitzdGF0aWMgUHlPYmplY3QgKgorb3NfY3Rlcm1pZChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqUHlfVU5VU0VEKGlnbm9yZWQpKQoreworICAgIHJldHVybiBvc19jdGVybWlkX2ltcGwobW9kdWxlKTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK29zX2N0ZXJtaWRfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTI3N2JmNzk2NGVjMmQ3ODIgaW5wdXQ9M2I4N2ZkZDUyNTU2MzgyZF0qLwogewogICAgIGNoYXIgKnJldDsKICAgICBjaGFyIGJ1ZmZlcltMX2N0ZXJtaWRdOwpAQCAtMjgyOSwxMDYgKzMxMDksMjM0IEBACiAgICAgICAgIHJldHVybiBwb3NpeF9lcnJvcigpOwogICAgIHJldHVybiBQeVVuaWNvZGVfRGVjb2RlRlNEZWZhdWx0KGJ1ZmZlcik7CiB9Ci0jZW5kaWYKKyNlbmRpZiAvKiBIQVZFX0NURVJNSUQgKi8KIAotUHlEb2NfU1RSVkFSKHBvc2l4X2NoZGlyX19kb2NfXywKLSJjaGRpcihwYXRoKVxuXG5cCi1DaGFuZ2UgdGhlIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkgdG8gdGhlIHNwZWNpZmllZCBwYXRoLlxuXAotXG5cCi1wYXRoIG1heSBhbHdheXMgYmUgc3BlY2lmaWVkIGFzIGEgc3RyaW5nLlxuXAotT24gc29tZSBwbGF0Zm9ybXMsIHBhdGggbWF5IGFsc28gYmUgc3BlY2lmaWVkIGFzIGFuIG9wZW4gZmlsZSBkZXNjcmlwdG9yLlxuXAotICBJZiB0aGlzIGZ1bmN0aW9uYWxpdHkgaXMgdW5hdmFpbGFibGUsIHVzaW5nIGl0IHJhaXNlcyBhbiBleGNlcHRpb24uIik7CisKKy8qW2NsaW5pYyBpbnB1dF0KK29zLmNoZGlyCisKKyAgICBwYXRoOiBwYXRoX3QoYWxsb3dfZmQ9J1BBVEhfSEFWRV9GQ0hESVInKQorCitDaGFuZ2UgdGhlIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkgdG8gdGhlIHNwZWNpZmllZCBwYXRoLgorCitwYXRoIG1heSBhbHdheXMgYmUgc3BlY2lmaWVkIGFzIGEgc3RyaW5nLgorT24gc29tZSBwbGF0Zm9ybXMsIHBhdGggbWF5IGFsc28gYmUgc3BlY2lmaWVkIGFzIGFuIG9wZW4gZmlsZSBkZXNjcmlwdG9yLgorICBJZiB0aGlzIGZ1bmN0aW9uYWxpdHkgaXMgdW5hdmFpbGFibGUsIHVzaW5nIGl0IHJhaXNlcyBhbiBleGNlcHRpb24uCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19jaGRpcl9fZG9jX18sCisiY2hkaXIoJG1vZHVsZSwgLywgcGF0aClcbiIKKyItLVxuIgorIlxuIgorIkNoYW5nZSB0aGUgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeSB0byB0aGUgc3BlY2lmaWVkIHBhdGguXG4iCisiXG4iCisicGF0aCBtYXkgYWx3YXlzIGJlIHNwZWNpZmllZCBhcyBhIHN0cmluZy5cbiIKKyJPbiBzb21lIHBsYXRmb3JtcywgcGF0aCBtYXkgYWxzbyBiZSBzcGVjaWZpZWQgYXMgYW4gb3BlbiBmaWxlIGRlc2NyaXB0b3IuXG4iCisiICBJZiB0aGlzIGZ1bmN0aW9uYWxpdHkgaXMgdW5hdmFpbGFibGUsIHVzaW5nIGl0IHJhaXNlcyBhbiBleGNlcHRpb24uIik7CisKKyNkZWZpbmUgT1NfQ0hESVJfTUVUSE9EREVGICAgIFwKKyAgICB7ImNoZGlyIiwgKFB5Q0Z1bmN0aW9uKW9zX2NoZGlyLCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywgb3NfY2hkaXJfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X2NoZGlyKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3YXJncykKLXsKLSAgICBwYXRoX3QgcGF0aDsKLSAgICBpbnQgcmVzdWx0OwotICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOwotICAgIHN0YXRpYyBjaGFyICprZXl3b3Jkc1tdID0geyJwYXRoIiwgTlVMTH07Citvc19jaGRpcl9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIHBhdGhfdCAqcGF0aCk7CiAKLSAgICBtZW1zZXQoJnBhdGgsIDAsIHNpemVvZihwYXRoKSk7Ci0gICAgcGF0aC5mdW5jdGlvbl9uYW1lID0gImNoZGlyIjsKLSNpZmRlZiBIQVZFX0ZDSERJUgotICAgIHBhdGguYWxsb3dfZmQgPSAxOwotI2VuZGlmCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLCAiTyY6Y2hkaXIiLCBrZXl3b3JkcywKLSAgICAgICAgcGF0aF9jb252ZXJ0ZXIsICZwYXRoCi0gICAgICAgICkpCi0gICAgICAgIHJldHVybiBOVUxMOworc3RhdGljIFB5T2JqZWN0ICoKK29zX2NoZGlyKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQoreworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIHN0YXRpYyBjaGFyICpfa2V5d29yZHNbXSA9IHsicGF0aCIsIE5VTEx9OworICAgIHBhdGhfdCBwYXRoID0gUEFUSF9UX0lOSVRJQUxJWkUoImNoZGlyIiwgInBhdGgiLCAwLCBQQVRIX0hBVkVfRkNIRElSKTsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywKKyAgICAgICAgIk8mOmNoZGlyIiwgX2tleXdvcmRzLAorICAgICAgICBwYXRoX2NvbnZlcnRlciwgJnBhdGgpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gb3NfY2hkaXJfaW1wbChtb2R1bGUsICZwYXRoKTsKKworZXhpdDoKKyAgICAvKiBDbGVhbnVwIGZvciBwYXRoICovCisgICAgcGF0aF9jbGVhbnVwKCZwYXRoKTsKKworICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19jaGRpcl9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIHBhdGhfdCAqcGF0aCkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1jYzA3NTkyZGQyM2NhOWUwIGlucHV0PTFhNGExNWI0ZDEyY2IxNWRdKi8KK3sKKyAgICBpbnQgcmVzdWx0OwogCiAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwogI2lmZGVmIE1TX1dJTkRPV1MKLSAgICBpZiAocGF0aC53aWRlKQotICAgICAgICByZXN1bHQgPSB3aW4zMl93Y2hkaXIocGF0aC53aWRlKTsKKyAgICBpZiAocGF0aC0+d2lkZSkKKyAgICAgICAgcmVzdWx0ID0gd2luMzJfd2NoZGlyKHBhdGgtPndpZGUpOwogICAgIGVsc2UKLSAgICAgICAgcmVzdWx0ID0gd2luMzJfY2hkaXIocGF0aC5uYXJyb3cpOworICAgICAgICByZXN1bHQgPSB3aW4zMl9jaGRpcihwYXRoLT5uYXJyb3cpOwogICAgIHJlc3VsdCA9ICFyZXN1bHQ7IC8qIG9uIHVuaXgsIHN1Y2Nlc3MgPSAwLCBvbiB3aW5kb3dzLCBzdWNjZXNzID0gITAgKi8KICNlbHNlCiAjaWZkZWYgSEFWRV9GQ0hESVIKLSAgICBpZiAocGF0aC5mZCAhPSAtMSkKLSAgICAgICAgcmVzdWx0ID0gZmNoZGlyKHBhdGguZmQpOworICAgIGlmIChwYXRoLT5mZCAhPSAtMSkKKyAgICAgICAgcmVzdWx0ID0gZmNoZGlyKHBhdGgtPmZkKTsKICAgICBlbHNlCiAjZW5kaWYKLSAgICAgICAgcmVzdWx0ID0gY2hkaXIocGF0aC5uYXJyb3cpOworICAgICAgICByZXN1bHQgPSBjaGRpcihwYXRoLT5uYXJyb3cpOwogI2VuZGlmCiAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKIAogICAgIGlmIChyZXN1bHQpIHsKLSAgICAgICAgcmV0dXJuX3ZhbHVlID0gcGF0aF9lcnJvcigmcGF0aCk7Ci0gICAgICAgIGdvdG8gZXhpdDsKKyAgICAgICAgcmV0dXJuIHBhdGhfZXJyb3IocGF0aCk7CiAgICAgfQogCi0gICAgcmV0dXJuX3ZhbHVlID0gUHlfTm9uZTsKLSAgICBQeV9JTkNSRUYoUHlfTm9uZSk7CisgICAgUHlfUkVUVVJOX05PTkU7Cit9CisKKworI2lmZGVmIEhBVkVfRkNIRElSCisvKltjbGluaWMgaW5wdXRdCitvcy5mY2hkaXIKKworICAgIGZkOiBmaWxkZXMKKworQ2hhbmdlIHRvIHRoZSBkaXJlY3Rvcnkgb2YgdGhlIGdpdmVuIGZpbGUgZGVzY3JpcHRvci4KKworZmQgbXVzdCBiZSBvcGVuZWQgb24gYSBkaXJlY3RvcnksIG5vdCBhIGZpbGUuCitFcXVpdmFsZW50IHRvIG9zLmNoZGlyKGZkKS4KKworW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3NfZmNoZGlyX19kb2NfXywKKyJmY2hkaXIoJG1vZHVsZSwgLywgZmQpXG4iCisiLS1cbiIKKyJcbiIKKyJDaGFuZ2UgdG8gdGhlIGRpcmVjdG9yeSBvZiB0aGUgZ2l2ZW4gZmlsZSBkZXNjcmlwdG9yLlxuIgorIlxuIgorImZkIG11c3QgYmUgb3BlbmVkIG9uIGEgZGlyZWN0b3J5LCBub3QgYSBmaWxlLlxuIgorIkVxdWl2YWxlbnQgdG8gb3MuY2hkaXIoZmQpLiIpOworCisjZGVmaW5lIE9TX0ZDSERJUl9NRVRIT0RERUYgICAgXAorICAgIHsiZmNoZGlyIiwgKFB5Q0Z1bmN0aW9uKW9zX2ZjaGRpciwgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsIG9zX2ZjaGRpcl9fZG9jX199LAorCitzdGF0aWMgUHlPYmplY3QgKgorb3NfZmNoZGlyX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgaW50IGZkKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX2ZjaGRpcihQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3YXJncykKK3sKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBzdGF0aWMgY2hhciAqX2tleXdvcmRzW10gPSB7ImZkIiwgTlVMTH07CisgICAgaW50IGZkOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLAorICAgICAgICAiTyY6ZmNoZGlyIiwgX2tleXdvcmRzLAorICAgICAgICBmaWxkZXNfY29udmVydGVyLCAmZmQpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gb3NfZmNoZGlyX2ltcGwobW9kdWxlLCBmZCk7CiAKIGV4aXQ6Ci0gICAgcGF0aF9jbGVhbnVwKCZwYXRoKTsKICAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOwogfQogCi0jaWZkZWYgSEFWRV9GQ0hESVIKLVB5RG9jX1NUUlZBUihwb3NpeF9mY2hkaXJfX2RvY19fLAotImZjaGRpcihmZClcblxuXAotQ2hhbmdlIHRvIHRoZSBkaXJlY3Rvcnkgb2YgdGhlIGdpdmVuIGZpbGUgZGVzY3JpcHRvci4gIGZkIG11c3QgYmVcblwKLW9wZW5lZCBvbiBhIGRpcmVjdG9yeSwgbm90IGEgZmlsZS4gIEVxdWl2YWxlbnQgdG8gb3MuY2hkaXIoZmQpLiIpOwotCiBzdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfZmNoZGlyKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqZmRvYmopCitvc19mY2hkaXJfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBpbnQgZmQpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9OWY2ZGJjODliMjc3ODgzNCBpbnB1dD0xOGU4MTY0NzlhMmZhOTg1XSovCiB7Ci0gICAgcmV0dXJuIHBvc2l4X2ZpbGRlcyhmZG9iaiwgZmNoZGlyKTsKKyAgICByZXR1cm4gcG9zaXhfZmlsZGVzX2ZkKGZkLCBmY2hkaXIpOwogfQogI2VuZGlmIC8qIEhBVkVfRkNIRElSICovCiAKIAotUHlEb2NfU1RSVkFSKHBvc2l4X2NobW9kX19kb2NfXywKLSJjaG1vZChwYXRoLCBtb2RlLCAqLCBkaXJfZmQ9Tm9uZSwgZm9sbG93X3N5bWxpbmtzPVRydWUpXG5cblwKLUNoYW5nZSB0aGUgYWNjZXNzIHBlcm1pc3Npb25zIG9mIGEgZmlsZS5cblwKLVxuXAotcGF0aCBtYXkgYWx3YXlzIGJlIHNwZWNpZmllZCBhcyBhIHN0cmluZy5cblwKLU9uIHNvbWUgcGxhdGZvcm1zLCBwYXRoIG1heSBhbHNvIGJlIHNwZWNpZmllZCBhcyBhbiBvcGVuIGZpbGUgZGVzY3JpcHRvci5cblwKLSAgSWYgdGhpcyBmdW5jdGlvbmFsaXR5IGlzIHVuYXZhaWxhYmxlLCB1c2luZyBpdCByYWlzZXMgYW4gZXhjZXB0aW9uLlxuXAotSWYgZGlyX2ZkIGlzIG5vdCBOb25lLCBpdCBzaG91bGQgYmUgYSBmaWxlIGRlc2NyaXB0b3Igb3BlbiB0byBhIGRpcmVjdG9yeSxcblwKLSAgYW5kIHBhdGggc2hvdWxkIGJlIHJlbGF0aXZlOyBwYXRoIHdpbGwgdGhlbiBiZSByZWxhdGl2ZSB0byB0aGF0IGRpcmVjdG9yeS5cblwKLUlmIGZvbGxvd19zeW1saW5rcyBpcyBGYWxzZSwgYW5kIHRoZSBsYXN0IGVsZW1lbnQgb2YgdGhlIHBhdGggaXMgYSBzeW1ib2xpY1xuXAotICBsaW5rLCBjaG1vZCB3aWxsIG1vZGlmeSB0aGUgc3ltYm9saWMgbGluayBpdHNlbGYgaW5zdGVhZCBvZiB0aGUgZmlsZSB0aGVcblwKLSAgbGluayBwb2ludHMgdG8uXG5cCi1JdCBpcyBhbiBlcnJvciB0byB1c2UgZGlyX2ZkIG9yIGZvbGxvd19zeW1saW5rcyB3aGVuIHNwZWNpZnlpbmcgcGF0aCBhc1xuXAotICBhbiBvcGVuIGZpbGUgZGVzY3JpcHRvci5cblwKLWRpcl9mZCBhbmQgZm9sbG93X3N5bWxpbmtzIG1heSBub3QgYmUgaW1wbGVtZW50ZWQgb24geW91ciBwbGF0Zm9ybS5cblwKLSAgSWYgdGhleSBhcmUgdW5hdmFpbGFibGUsIHVzaW5nIHRoZW0gd2lsbCByYWlzZSBhIE5vdEltcGxlbWVudGVkRXJyb3IuIik7CisvKltjbGluaWMgaW5wdXRdCitvcy5jaG1vZAorCisgICAgcGF0aDogcGF0aF90KGFsbG93X2ZkPSdQQVRIX0hBVkVfRkNITU9EJykKKyAgICAgICAgUGF0aCB0byBiZSBtb2RpZmllZC4gIE1heSBhbHdheXMgYmUgc3BlY2lmaWVkIGFzIGEgc3RyIG9yIGJ5dGVzLgorICAgICAgICBPbiBzb21lIHBsYXRmb3JtcywgcGF0aCBtYXkgYWxzbyBiZSBzcGVjaWZpZWQgYXMgYW4gb3BlbiBmaWxlIGRlc2NyaXB0b3IuCisgICAgICAgIElmIHRoaXMgZnVuY3Rpb25hbGl0eSBpcyB1bmF2YWlsYWJsZSwgdXNpbmcgaXQgcmFpc2VzIGFuIGV4Y2VwdGlvbi4KKworICAgIG1vZGU6IGludAorICAgICAgICBPcGVyYXRpbmctc3lzdGVtIG1vZGUgYml0ZmllbGQuCisKKyAgICAqCisKKyAgICBkaXJfZmQgOiBkaXJfZmQocmVxdWlyZXM9J2ZjaG1vZGF0JykgPSBOb25lCisgICAgICAgIElmIG5vdCBOb25lLCBpdCBzaG91bGQgYmUgYSBmaWxlIGRlc2NyaXB0b3Igb3BlbiB0byBhIGRpcmVjdG9yeSwKKyAgICAgICAgYW5kIHBhdGggc2hvdWxkIGJlIHJlbGF0aXZlOyBwYXRoIHdpbGwgdGhlbiBiZSByZWxhdGl2ZSB0byB0aGF0CisgICAgICAgIGRpcmVjdG9yeS4KKworICAgIGZvbGxvd19zeW1saW5rczogYm9vbCA9IFRydWUKKyAgICAgICAgSWYgRmFsc2UsIGFuZCB0aGUgbGFzdCBlbGVtZW50IG9mIHRoZSBwYXRoIGlzIGEgc3ltYm9saWMgbGluaywKKyAgICAgICAgY2htb2Qgd2lsbCBtb2RpZnkgdGhlIHN5bWJvbGljIGxpbmsgaXRzZWxmIGluc3RlYWQgb2YgdGhlIGZpbGUKKyAgICAgICAgdGhlIGxpbmsgcG9pbnRzIHRvLgorCitDaGFuZ2UgdGhlIGFjY2VzcyBwZXJtaXNzaW9ucyBvZiBhIGZpbGUuCisKK0l0IGlzIGFuIGVycm9yIHRvIHVzZSBkaXJfZmQgb3IgZm9sbG93X3N5bWxpbmtzIHdoZW4gc3BlY2lmeWluZyBwYXRoIGFzCisgIGFuIG9wZW4gZmlsZSBkZXNjcmlwdG9yLgorZGlyX2ZkIGFuZCBmb2xsb3dfc3ltbGlua3MgbWF5IG5vdCBiZSBpbXBsZW1lbnRlZCBvbiB5b3VyIHBsYXRmb3JtLgorICBJZiB0aGV5IGFyZSB1bmF2YWlsYWJsZSwgdXNpbmcgdGhlbSB3aWxsIHJhaXNlIGEgTm90SW1wbGVtZW50ZWRFcnJvci4KKworW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3NfY2htb2RfX2RvY19fLAorImNobW9kKCRtb2R1bGUsIC8sIHBhdGgsIG1vZGUsICosIGRpcl9mZD1Ob25lLCBmb2xsb3dfc3ltbGlua3M9VHJ1ZSlcbiIKKyItLVxuIgorIlxuIgorIkNoYW5nZSB0aGUgYWNjZXNzIHBlcm1pc3Npb25zIG9mIGEgZmlsZS5cbiIKKyJcbiIKKyIgIHBhdGhcbiIKKyIgICAgUGF0aCB0byBiZSBtb2RpZmllZC4gIE1heSBhbHdheXMgYmUgc3BlY2lmaWVkIGFzIGEgc3RyIG9yIGJ5dGVzLlxuIgorIiAgICBPbiBzb21lIHBsYXRmb3JtcywgcGF0aCBtYXkgYWxzbyBiZSBzcGVjaWZpZWQgYXMgYW4gb3BlbiBmaWxlIGRlc2NyaXB0b3IuXG4iCisiICAgIElmIHRoaXMgZnVuY3Rpb25hbGl0eSBpcyB1bmF2YWlsYWJsZSwgdXNpbmcgaXQgcmFpc2VzIGFuIGV4Y2VwdGlvbi5cbiIKKyIgIG1vZGVcbiIKKyIgICAgT3BlcmF0aW5nLXN5c3RlbSBtb2RlIGJpdGZpZWxkLlxuIgorIiAgZGlyX2ZkXG4iCisiICAgIElmIG5vdCBOb25lLCBpdCBzaG91bGQgYmUgYSBmaWxlIGRlc2NyaXB0b3Igb3BlbiB0byBhIGRpcmVjdG9yeSxcbiIKKyIgICAgYW5kIHBhdGggc2hvdWxkIGJlIHJlbGF0aXZlOyBwYXRoIHdpbGwgdGhlbiBiZSByZWxhdGl2ZSB0byB0aGF0XG4iCisiICAgIGRpcmVjdG9yeS5cbiIKKyIgIGZvbGxvd19zeW1saW5rc1xuIgorIiAgICBJZiBGYWxzZSwgYW5kIHRoZSBsYXN0IGVsZW1lbnQgb2YgdGhlIHBhdGggaXMgYSBzeW1ib2xpYyBsaW5rLFxuIgorIiAgICBjaG1vZCB3aWxsIG1vZGlmeSB0aGUgc3ltYm9saWMgbGluayBpdHNlbGYgaW5zdGVhZCBvZiB0aGUgZmlsZVxuIgorIiAgICB0aGUgbGluayBwb2ludHMgdG8uXG4iCisiXG4iCisiSXQgaXMgYW4gZXJyb3IgdG8gdXNlIGRpcl9mZCBvciBmb2xsb3dfc3ltbGlua3Mgd2hlbiBzcGVjaWZ5aW5nIHBhdGggYXNcbiIKKyIgIGFuIG9wZW4gZmlsZSBkZXNjcmlwdG9yLlxuIgorImRpcl9mZCBhbmQgZm9sbG93X3N5bWxpbmtzIG1heSBub3QgYmUgaW1wbGVtZW50ZWQgb24geW91ciBwbGF0Zm9ybS5cbiIKKyIgIElmIHRoZXkgYXJlIHVuYXZhaWxhYmxlLCB1c2luZyB0aGVtIHdpbGwgcmFpc2UgYSBOb3RJbXBsZW1lbnRlZEVycm9yLiIpOworCisjZGVmaW5lIE9TX0NITU9EX01FVEhPRERFRiAgICBcCisgICAgeyJjaG1vZCIsIChQeUNGdW5jdGlvbilvc19jaG1vZCwgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsIG9zX2NobW9kX19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF9jaG1vZChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCitvc19jaG1vZF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIHBhdGhfdCAqcGF0aCwgaW50IG1vZGUsIGludCBkaXJfZmQsIGludCBmb2xsb3dfc3ltbGlua3MpOworCitzdGF0aWMgUHlPYmplY3QgKgorb3NfY2htb2QoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCiB7Ci0gICAgcGF0aF90IHBhdGg7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgc3RhdGljIGNoYXIgKl9rZXl3b3Jkc1tdID0geyJwYXRoIiwgIm1vZGUiLCAiZGlyX2ZkIiwgImZvbGxvd19zeW1saW5rcyIsIE5VTEx9OworICAgIHBhdGhfdCBwYXRoID0gUEFUSF9UX0lOSVRJQUxJWkUoImNobW9kIiwgInBhdGgiLCAwLCBQQVRIX0hBVkVfRkNITU9EKTsKICAgICBpbnQgbW9kZTsKICAgICBpbnQgZGlyX2ZkID0gREVGQVVMVF9ESVJfRkQ7CiAgICAgaW50IGZvbGxvd19zeW1saW5rcyA9IDE7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsCisgICAgICAgICJPJml8JE8mcDpjaG1vZCIsIF9rZXl3b3JkcywKKyAgICAgICAgcGF0aF9jb252ZXJ0ZXIsICZwYXRoLCAmbW9kZSwgRkNITU9EQVRfRElSX0ZEX0NPTlZFUlRFUiwgJmRpcl9mZCwgJmZvbGxvd19zeW1saW5rcykpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBvc19jaG1vZF9pbXBsKG1vZHVsZSwgJnBhdGgsIG1vZGUsIGRpcl9mZCwgZm9sbG93X3N5bWxpbmtzKTsKKworZXhpdDoKKyAgICAvKiBDbGVhbnVwIGZvciBwYXRoICovCisgICAgcGF0aF9jbGVhbnVwKCZwYXRoKTsKKworICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19jaG1vZF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIHBhdGhfdCAqcGF0aCwgaW50IG1vZGUsIGludCBkaXJfZmQsIGludCBmb2xsb3dfc3ltbGlua3MpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9MWU5ZGIwMzFhZWE0NjQyMiBpbnB1dD03ZjE2MThlNWUxNWNjMTk2XSovCit7CiAgICAgaW50IHJlc3VsdDsKLSAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKLSAgICBzdGF0aWMgY2hhciAqa2V5d29yZHNbXSA9IHsicGF0aCIsICJtb2RlIiwgImRpcl9mZCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImZvbGxvd19zeW1saW5rcyIsIE5VTEx9OwogCiAjaWZkZWYgTVNfV0lORE9XUwogICAgIERXT1JEIGF0dHI7CkBAIC0yOTM4LDMzICszMzQ2LDE3IEBACiAgICAgaW50IGZjaG1vZGF0X25vZm9sbG93X3Vuc3VwcG9ydGVkID0gMDsKICNlbmRpZgogCi0gICAgbWVtc2V0KCZwYXRoLCAwLCBzaXplb2YocGF0aCkpOwotICAgIHBhdGguZnVuY3Rpb25fbmFtZSA9ICJjaG1vZCI7Ci0jaWZkZWYgSEFWRV9GQ0hNT0QKLSAgICBwYXRoLmFsbG93X2ZkID0gMTsKLSNlbmRpZgotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywgIk8maXwkTyZwOmNobW9kIiwga2V5d29yZHMsCi0gICAgICAgIHBhdGhfY29udmVydGVyLCAmcGF0aCwKLSAgICAgICAgJm1vZGUsCi0jaWZkZWYgSEFWRV9GQ0hNT0RBVAotICAgICAgICBkaXJfZmRfY29udmVydGVyLCAmZGlyX2ZkLAotI2Vsc2UKLSAgICAgICAgZGlyX2ZkX3VuYXZhaWxhYmxlLCAmZGlyX2ZkLAotI2VuZGlmCi0gICAgICAgICZmb2xsb3dfc3ltbGlua3MpKQotICAgICAgICByZXR1cm4gTlVMTDsKLQogI2lmICEoZGVmaW5lZChIQVZFX0ZDSE1PREFUKSB8fCBkZWZpbmVkKEhBVkVfTENITU9EKSkKICAgICBpZiAoZm9sbG93X3N5bWxpbmtzX3NwZWNpZmllZCgiY2htb2QiLCBmb2xsb3dfc3ltbGlua3MpKQotICAgICAgICBnb3RvIGV4aXQ7CisgICAgICAgIHJldHVybiBOVUxMOwogI2VuZGlmCiAKICNpZmRlZiBNU19XSU5ET1dTCiAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwotICAgIGlmIChwYXRoLndpZGUpCi0gICAgICAgIGF0dHIgPSBHZXRGaWxlQXR0cmlidXRlc1cocGF0aC53aWRlKTsKKyAgICBpZiAocGF0aC0+d2lkZSkKKyAgICAgICAgYXR0ciA9IEdldEZpbGVBdHRyaWJ1dGVzVyhwYXRoLT53aWRlKTsKICAgICBlbHNlCi0gICAgICAgIGF0dHIgPSBHZXRGaWxlQXR0cmlidXRlc0EocGF0aC5uYXJyb3cpOworICAgICAgICBhdHRyID0gR2V0RmlsZUF0dHJpYnV0ZXNBKHBhdGgtPm5hcnJvdyk7CiAgICAgaWYgKGF0dHIgPT0gSU5WQUxJRF9GSUxFX0FUVFJJQlVURVMpCiAgICAgICAgIHJlc3VsdCA9IDA7CiAgICAgZWxzZSB7CkBAIC0yOTcyLDI3ICszMzY0LDI2IEBACiAgICAgICAgICAgICBhdHRyICY9IH5GSUxFX0FUVFJJQlVURV9SRUFET05MWTsKICAgICAgICAgZWxzZQogICAgICAgICAgICAgYXR0ciB8PSBGSUxFX0FUVFJJQlVURV9SRUFET05MWTsKLSAgICAgICAgaWYgKHBhdGgud2lkZSkKLSAgICAgICAgICAgIHJlc3VsdCA9IFNldEZpbGVBdHRyaWJ1dGVzVyhwYXRoLndpZGUsIGF0dHIpOworICAgICAgICBpZiAocGF0aC0+d2lkZSkKKyAgICAgICAgICAgIHJlc3VsdCA9IFNldEZpbGVBdHRyaWJ1dGVzVyhwYXRoLT53aWRlLCBhdHRyKTsKICAgICAgICAgZWxzZQotICAgICAgICAgICAgcmVzdWx0ID0gU2V0RmlsZUF0dHJpYnV0ZXNBKHBhdGgubmFycm93LCBhdHRyKTsKKyAgICAgICAgICAgIHJlc3VsdCA9IFNldEZpbGVBdHRyaWJ1dGVzQShwYXRoLT5uYXJyb3csIGF0dHIpOwogICAgIH0KICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUwogCiAgICAgaWYgKCFyZXN1bHQpIHsKLSAgICAgICAgcmV0dXJuX3ZhbHVlID0gcGF0aF9lcnJvcigmcGF0aCk7Ci0gICAgICAgIGdvdG8gZXhpdDsKKyAgICAgICAgcmV0dXJuIHBhdGhfZXJyb3IocGF0aCk7CiAgICAgfQogI2Vsc2UgLyogTVNfV0lORE9XUyAqLwogICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKICNpZmRlZiBIQVZFX0ZDSE1PRAotICAgIGlmIChwYXRoLmZkICE9IC0xKQotICAgICAgICByZXN1bHQgPSBmY2htb2QocGF0aC5mZCwgbW9kZSk7CisgICAgaWYgKHBhdGgtPmZkICE9IC0xKQorICAgICAgICByZXN1bHQgPSBmY2htb2QocGF0aC0+ZmQsIG1vZGUpOwogICAgIGVsc2UKICNlbmRpZgogI2lmZGVmIEhBVkVfTENITU9ECiAgICAgaWYgKCghZm9sbG93X3N5bWxpbmtzKSAmJiAoZGlyX2ZkID09IERFRkFVTFRfRElSX0ZEKSkKLSAgICAgICAgcmVzdWx0ID0gbGNobW9kKHBhdGgubmFycm93LCBtb2RlKTsKKyAgICAgICAgcmVzdWx0ID0gbGNobW9kKHBhdGgtPm5hcnJvdywgbW9kZSk7CiAgICAgZWxzZQogI2VuZGlmCiAjaWZkZWYgSEFWRV9GQ0hNT0RBVApAQCAtMzAwNyw3ICszMzk4LDcgQEAKICAgICAgICAgICogc3VwcG9ydCBkaXJfZmQgYW5kIGZvbGxvd19zeW1saW5rcz1GYWxzZS4gIChIb3BlZnVsbHkuKQogICAgICAgICAgKiBVbnRpbCB0aGVuLCB3ZSBuZWVkIHRvIGJlIGNhcmVmdWwgd2hhdCBleGNlcHRpb24gd2UgcmFpc2UuCiAgICAgICAgICAqLwotICAgICAgICByZXN1bHQgPSBmY2htb2RhdChkaXJfZmQsIHBhdGgubmFycm93LCBtb2RlLAorICAgICAgICByZXN1bHQgPSBmY2htb2RhdChkaXJfZmQsIHBhdGgtPm5hcnJvdywgbW9kZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9sbG93X3N5bWxpbmtzID8gMCA6IEFUX1NZTUxJTktfTk9GT0xMT1cpOwogICAgICAgICAvKgogICAgICAgICAgKiBCdXQgd2FpdCEgIFdlIGNhbid0IHRocm93IHRoZSBleGNlcHRpb24gd2l0aG91dCBhbGxvd2luZyB0aHJlYWRzLApAQCAtMzAyMCw3ICszNDExLDcgQEAKICAgICB9CiAgICAgZWxzZQogI2VuZGlmCi0gICAgICAgIHJlc3VsdCA9IGNobW9kKHBhdGgubmFycm93LCBtb2RlKTsKKyAgICAgICAgcmVzdWx0ID0gY2htb2QocGF0aC0+bmFycm93LCBtb2RlKTsKICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUwogCiAgICAgaWYgKHJlc3VsdCkgewpAQCAtMzAzNCwyNzIgKzM0MjUsNTk5IEBACiAgICAgICAgIH0KICAgICAgICAgZWxzZQogI2VuZGlmCi0gICAgICAgICAgICByZXR1cm5fdmFsdWUgPSBwYXRoX2Vycm9yKCZwYXRoKTsKLSAgICAgICAgZ290byBleGl0OworICAgICAgICByZXR1cm4gcGF0aF9lcnJvcihwYXRoKTsKICAgICB9CiAjZW5kaWYKIAotICAgIFB5X0lOQ1JFRihQeV9Ob25lKTsKLSAgICByZXR1cm5fdmFsdWUgPSBQeV9Ob25lOwotZXhpdDoKLSAgICBwYXRoX2NsZWFudXAoJnBhdGgpOwotICAgIHJldHVybiByZXR1cm5fdmFsdWU7CisgICAgUHlfUkVUVVJOX05PTkU7CiB9CiAKIAogI2lmZGVmIEhBVkVfRkNITU9ECi1QeURvY19TVFJWQVIocG9zaXhfZmNobW9kX19kb2NfXywKLSJmY2htb2QoZmQsIG1vZGUpXG5cblwKLUNoYW5nZSB0aGUgYWNjZXNzIHBlcm1pc3Npb25zIG9mIHRoZSBmaWxlIGdpdmVuIGJ5IGZpbGVcblwKLWRlc2NyaXB0b3IgZmQuICBFcXVpdmFsZW50IHRvIG9zLmNobW9kKGZkLCBtb2RlKS4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK29zLmZjaG1vZAorCisgICAgZmQ6IGludAorICAgIG1vZGU6IGludAorCitDaGFuZ2UgdGhlIGFjY2VzcyBwZXJtaXNzaW9ucyBvZiB0aGUgZmlsZSBnaXZlbiBieSBmaWxlIGRlc2NyaXB0b3IgZmQuCisKK0VxdWl2YWxlbnQgdG8gb3MuY2htb2QoZmQsIG1vZGUpLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3NfZmNobW9kX19kb2NfXywKKyJmY2htb2QoJG1vZHVsZSwgLywgZmQsIG1vZGUpXG4iCisiLS1cbiIKKyJcbiIKKyJDaGFuZ2UgdGhlIGFjY2VzcyBwZXJtaXNzaW9ucyBvZiB0aGUgZmlsZSBnaXZlbiBieSBmaWxlIGRlc2NyaXB0b3IgZmQuXG4iCisiXG4iCisiRXF1aXZhbGVudCB0byBvcy5jaG1vZChmZCwgbW9kZSkuIik7CisKKyNkZWZpbmUgT1NfRkNITU9EX01FVEhPRERFRiAgICBcCisgICAgeyJmY2htb2QiLCAoUHlDRnVuY3Rpb24pb3NfZmNobW9kLCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywgb3NfZmNobW9kX19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF9mY2htb2QoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQorb3NfZmNobW9kX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgaW50IGZkLCBpbnQgbW9kZSk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19mY2htb2QoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCiB7Ci0gICAgaW50IGZkLCBtb2RlLCByZXM7Ci0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJpaTpmY2htb2QiLCAmZmQsICZtb2RlKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwotICAgIHJlcyA9IGZjaG1vZChmZCwgbW9kZSk7Ci0gICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKLSAgICBpZiAocmVzIDwgMCkKLSAgICAgICAgcmV0dXJuIHBvc2l4X2Vycm9yKCk7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgc3RhdGljIGNoYXIgKl9rZXl3b3Jkc1tdID0geyJmZCIsICJtb2RlIiwgTlVMTH07CisgICAgaW50IGZkOworICAgIGludCBtb2RlOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLAorICAgICAgICAiaWk6ZmNobW9kIiwgX2tleXdvcmRzLAorICAgICAgICAmZmQsICZtb2RlKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IG9zX2ZjaG1vZF9pbXBsKG1vZHVsZSwgZmQsIG1vZGUpOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19mY2htb2RfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBpbnQgZmQsIGludCBtb2RlKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTNjMTlmYmZkNzI0YThlMGYgaW5wdXQ9OGFiMTE5NzVjYTAxZWU1Yl0qLworeworICAgIGludCByZXM7CisgICAgaW50IGFzeW5jX2VyciA9IDA7CisKKyAgICBkbyB7CisgICAgICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKKyAgICAgICAgcmVzID0gZmNobW9kKGZkLCBtb2RlKTsKKyAgICAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKKyAgICB9IHdoaWxlIChyZXMgIT0gMCAmJiBlcnJubyA9PSBFSU5UUiAmJiAhKGFzeW5jX2VyciA9IFB5RXJyX0NoZWNrU2lnbmFscygpKSk7CisgICAgaWYgKHJlcyAhPSAwKQorICAgICAgICByZXR1cm4gKCFhc3luY19lcnIpID8gcG9zaXhfZXJyb3IoKSA6IE5VTEw7CisKICAgICBQeV9SRVRVUk5fTk9ORTsKIH0KICNlbmRpZiAvKiBIQVZFX0ZDSE1PRCAqLwogCisKICNpZmRlZiBIQVZFX0xDSE1PRAotUHlEb2NfU1RSVkFSKHBvc2l4X2xjaG1vZF9fZG9jX18sCi0ibGNobW9kKHBhdGgsIG1vZGUpXG5cblwKLUNoYW5nZSB0aGUgYWNjZXNzIHBlcm1pc3Npb25zIG9mIGEgZmlsZS4gSWYgcGF0aCBpcyBhIHN5bWxpbmssIHRoaXNcblwKLWFmZmVjdHMgdGhlIGxpbmsgaXRzZWxmIHJhdGhlciB0aGFuIHRoZSB0YXJnZXQuXG5cCi1FcXVpdmFsZW50IHRvIGNobW9kKHBhdGgsIG1vZGUsIGZvbGxvd19zeW1saW5rcz1GYWxzZSkuIik7CisvKltjbGluaWMgaW5wdXRdCitvcy5sY2htb2QKKworICAgIHBhdGg6IHBhdGhfdAorICAgIG1vZGU6IGludAorCitDaGFuZ2UgdGhlIGFjY2VzcyBwZXJtaXNzaW9ucyBvZiBhIGZpbGUsIHdpdGhvdXQgZm9sbG93aW5nIHN5bWJvbGljIGxpbmtzLgorCitJZiBwYXRoIGlzIGEgc3ltbGluaywgdGhpcyBhZmZlY3RzIHRoZSBsaW5rIGl0c2VsZiByYXRoZXIgdGhhbiB0aGUgdGFyZ2V0LgorRXF1aXZhbGVudCB0byBjaG1vZChwYXRoLCBtb2RlLCBmb2xsb3dfc3ltbGlua3M9RmFsc2UpLiIKK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX2xjaG1vZF9fZG9jX18sCisibGNobW9kKCRtb2R1bGUsIC8sIHBhdGgsIG1vZGUpXG4iCisiLS1cbiIKKyJcbiIKKyJDaGFuZ2UgdGhlIGFjY2VzcyBwZXJtaXNzaW9ucyBvZiBhIGZpbGUsIHdpdGhvdXQgZm9sbG93aW5nIHN5bWJvbGljIGxpbmtzLlxuIgorIlxuIgorIklmIHBhdGggaXMgYSBzeW1saW5rLCB0aGlzIGFmZmVjdHMgdGhlIGxpbmsgaXRzZWxmIHJhdGhlciB0aGFuIHRoZSB0YXJnZXQuXG4iCisiRXF1aXZhbGVudCB0byBjaG1vZChwYXRoLCBtb2RlLCBmb2xsb3dfc3ltbGlua3M9RmFsc2UpLlwiIik7CisKKyNkZWZpbmUgT1NfTENITU9EX01FVEhPRERFRiAgICBcCisgICAgeyJsY2htb2QiLCAoUHlDRnVuY3Rpb24pb3NfbGNobW9kLCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywgb3NfbGNobW9kX19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF9sY2htb2QoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQorb3NfbGNobW9kX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgcGF0aF90ICpwYXRoLCBpbnQgbW9kZSk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19sY2htb2QoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCiB7Ci0gICAgcGF0aF90IHBhdGg7Ci0gICAgaW50IGk7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgc3RhdGljIGNoYXIgKl9rZXl3b3Jkc1tdID0geyJwYXRoIiwgIm1vZGUiLCBOVUxMfTsKKyAgICBwYXRoX3QgcGF0aCA9IFBBVEhfVF9JTklUSUFMSVpFKCJsY2htb2QiLCAicGF0aCIsIDAsIDApOworICAgIGludCBtb2RlOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLAorICAgICAgICAiTyZpOmxjaG1vZCIsIF9rZXl3b3JkcywKKyAgICAgICAgcGF0aF9jb252ZXJ0ZXIsICZwYXRoLCAmbW9kZSkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBvc19sY2htb2RfaW1wbChtb2R1bGUsICZwYXRoLCBtb2RlKTsKKworZXhpdDoKKyAgICAvKiBDbGVhbnVwIGZvciBwYXRoICovCisgICAgcGF0aF9jbGVhbnVwKCZwYXRoKTsKKworICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19sY2htb2RfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBwYXRoX3QgKnBhdGgsIGludCBtb2RlKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTI4NDk5NzdkNjVmOGM2OGMgaW5wdXQ9OTBjNTY2M2M3NDY1ZDI0Zl0qLworewogICAgIGludCByZXM7Ci0gICAgbWVtc2V0KCZwYXRoLCAwLCBzaXplb2YocGF0aCkpOwotICAgIHBhdGguZnVuY3Rpb25fbmFtZSA9ICJsY2htb2QiOwotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiTyZpOmxjaG1vZCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIHBhdGhfY29udmVydGVyLCAmcGF0aCwgJmkpKQotICAgICAgICByZXR1cm4gTlVMTDsKICAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCi0gICAgcmVzID0gbGNobW9kKHBhdGgubmFycm93LCBpKTsKKyAgICByZXMgPSBsY2htb2QocGF0aC0+bmFycm93LCBtb2RlKTsKICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUwogICAgIGlmIChyZXMgPCAwKSB7Ci0gICAgICAgIHBhdGhfZXJyb3IoJnBhdGgpOwotICAgICAgICBwYXRoX2NsZWFudXAoJnBhdGgpOworICAgICAgICBwYXRoX2Vycm9yKHBhdGgpOwogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9Ci0gICAgcGF0aF9jbGVhbnVwKCZwYXRoKTsKICAgICBQeV9SRVRVUk5fTk9ORTsKIH0KICNlbmRpZiAvKiBIQVZFX0xDSE1PRCAqLwogCiAKICNpZmRlZiBIQVZFX0NIRkxBR1MKLVB5RG9jX1NUUlZBUihwb3NpeF9jaGZsYWdzX19kb2NfXywKLSJjaGZsYWdzKHBhdGgsIGZsYWdzLCAqLCBmb2xsb3dfc3ltbGlua3M9VHJ1ZSlcblxuXAotU2V0IGZpbGUgZmxhZ3MuXG5cCi1cblwKLUlmIGZvbGxvd19zeW1saW5rcyBpcyBGYWxzZSwgYW5kIHRoZSBsYXN0IGVsZW1lbnQgb2YgdGhlIHBhdGggaXMgYSBzeW1ib2xpY1xuXAotICBsaW5rLCBjaGZsYWdzIHdpbGwgY2hhbmdlIGZsYWdzIG9uIHRoZSBzeW1ib2xpYyBsaW5rIGl0c2VsZiBpbnN0ZWFkIG9mIHRoZVxuXAotICBmaWxlIHRoZSBsaW5rIHBvaW50cyB0by5cblwKLWZvbGxvd19zeW1saW5rcyBtYXkgbm90IGJlIGltcGxlbWVudGVkIG9uIHlvdXIgcGxhdGZvcm0uICBJZiBpdCBpc1xuXAotdW5hdmFpbGFibGUsIHVzaW5nIGl0IHdpbGwgcmFpc2UgYSBOb3RJbXBsZW1lbnRlZEVycm9yLiIpOworLypbY2xpbmljIGlucHV0XQorb3MuY2hmbGFncworCisgICAgcGF0aDogcGF0aF90CisgICAgZmxhZ3M6IHVuc2lnbmVkX2xvbmcoYml0d2lzZT1UcnVlKQorICAgIGZvbGxvd19zeW1saW5rczogYm9vbD1UcnVlCisKK1NldCBmaWxlIGZsYWdzLgorCitJZiBmb2xsb3dfc3ltbGlua3MgaXMgRmFsc2UsIGFuZCB0aGUgbGFzdCBlbGVtZW50IG9mIHRoZSBwYXRoIGlzIGEgc3ltYm9saWMKKyAgbGluaywgY2hmbGFncyB3aWxsIGNoYW5nZSBmbGFncyBvbiB0aGUgc3ltYm9saWMgbGluayBpdHNlbGYgaW5zdGVhZCBvZiB0aGUKKyAgZmlsZSB0aGUgbGluayBwb2ludHMgdG8uCitmb2xsb3dfc3ltbGlua3MgbWF5IG5vdCBiZSBpbXBsZW1lbnRlZCBvbiB5b3VyIHBsYXRmb3JtLiAgSWYgaXQgaXMKK3VuYXZhaWxhYmxlLCB1c2luZyBpdCB3aWxsIHJhaXNlIGEgTm90SW1wbGVtZW50ZWRFcnJvci4KKworW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3NfY2hmbGFnc19fZG9jX18sCisiY2hmbGFncygkbW9kdWxlLCAvLCBwYXRoLCBmbGFncywgZm9sbG93X3N5bWxpbmtzPVRydWUpXG4iCisiLS1cbiIKKyJcbiIKKyJTZXQgZmlsZSBmbGFncy5cbiIKKyJcbiIKKyJJZiBmb2xsb3dfc3ltbGlua3MgaXMgRmFsc2UsIGFuZCB0aGUgbGFzdCBlbGVtZW50IG9mIHRoZSBwYXRoIGlzIGEgc3ltYm9saWNcbiIKKyIgIGxpbmssIGNoZmxhZ3Mgd2lsbCBjaGFuZ2UgZmxhZ3Mgb24gdGhlIHN5bWJvbGljIGxpbmsgaXRzZWxmIGluc3RlYWQgb2YgdGhlXG4iCisiICBmaWxlIHRoZSBsaW5rIHBvaW50cyB0by5cbiIKKyJmb2xsb3dfc3ltbGlua3MgbWF5IG5vdCBiZSBpbXBsZW1lbnRlZCBvbiB5b3VyIHBsYXRmb3JtLiAgSWYgaXQgaXNcbiIKKyJ1bmF2YWlsYWJsZSwgdXNpbmcgaXQgd2lsbCByYWlzZSBhIE5vdEltcGxlbWVudGVkRXJyb3IuIik7CisKKyNkZWZpbmUgT1NfQ0hGTEFHU19NRVRIT0RERUYgICAgXAorICAgIHsiY2hmbGFncyIsIChQeUNGdW5jdGlvbilvc19jaGZsYWdzLCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywgb3NfY2hmbGFnc19fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfY2hmbGFncyhQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCitvc19jaGZsYWdzX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgcGF0aF90ICpwYXRoLCB1bnNpZ25lZCBsb25nIGZsYWdzLCBpbnQgZm9sbG93X3N5bWxpbmtzKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX2NoZmxhZ3MoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCiB7Ci0gICAgcGF0aF90IHBhdGg7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgc3RhdGljIGNoYXIgKl9rZXl3b3Jkc1tdID0geyJwYXRoIiwgImZsYWdzIiwgImZvbGxvd19zeW1saW5rcyIsIE5VTEx9OworICAgIHBhdGhfdCBwYXRoID0gUEFUSF9UX0lOSVRJQUxJWkUoImNoZmxhZ3MiLCAicGF0aCIsIDAsIDApOwogICAgIHVuc2lnbmVkIGxvbmcgZmxhZ3M7CiAgICAgaW50IGZvbGxvd19zeW1saW5rcyA9IDE7Ci0gICAgaW50IHJlc3VsdDsKLSAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKLSAgICBzdGF0aWMgY2hhciAqa2V5d29yZHNbXSA9IHsicGF0aCIsICJmbGFncyIsICJmb2xsb3dfc3ltbGlua3MiLCBOVUxMfTsKIAotICAgIG1lbXNldCgmcGF0aCwgMCwgc2l6ZW9mKHBhdGgpKTsKLSAgICBwYXRoLmZ1bmN0aW9uX25hbWUgPSAiY2hmbGFncyI7Ci0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLCAiTyZrfCRpOmNoZmxhZ3MiLCBrZXl3b3JkcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0aF9jb252ZXJ0ZXIsICZwYXRoLAotICAgICAgICAgICAgICAgICAgICAgICAgICAmZmxhZ3MsICZmb2xsb3dfc3ltbGlua3MpKQotICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsCisgICAgICAgICJPJmt8cDpjaGZsYWdzIiwgX2tleXdvcmRzLAorICAgICAgICBwYXRoX2NvbnZlcnRlciwgJnBhdGgsICZmbGFncywgJmZvbGxvd19zeW1saW5rcykpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBvc19jaGZsYWdzX2ltcGwobW9kdWxlLCAmcGF0aCwgZmxhZ3MsIGZvbGxvd19zeW1saW5rcyk7CisKK2V4aXQ6CisgICAgLyogQ2xlYW51cCBmb3IgcGF0aCAqLworICAgIHBhdGhfY2xlYW51cCgmcGF0aCk7CisKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorb3NfY2hmbGFnc19pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIHBhdGhfdCAqcGF0aCwgdW5zaWduZWQgbG9uZyBmbGFncywgaW50IGZvbGxvd19zeW1saW5rcykKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD0yNzY3OTI3YmYwNzFlM2NmIGlucHV0PTAzMjdlMjlmZWI4NzYyMzZdKi8KK3sKKyAgICBpbnQgcmVzdWx0OwogCiAjaWZuZGVmIEhBVkVfTENIRkxBR1MKICAgICBpZiAoZm9sbG93X3N5bWxpbmtzX3NwZWNpZmllZCgiY2hmbGFncyIsIGZvbGxvd19zeW1saW5rcykpCi0gICAgICAgIGdvdG8gZXhpdDsKKyAgICAgICAgcmV0dXJuIE5VTEw7CiAjZW5kaWYKIAogICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKICNpZmRlZiBIQVZFX0xDSEZMQUdTCiAgICAgaWYgKCFmb2xsb3dfc3ltbGlua3MpCi0gICAgICAgIHJlc3VsdCA9IGxjaGZsYWdzKHBhdGgubmFycm93LCBmbGFncyk7CisgICAgICAgIHJlc3VsdCA9IGxjaGZsYWdzKHBhdGgtPm5hcnJvdywgZmxhZ3MpOwogICAgIGVsc2UKICNlbmRpZgotICAgICAgICByZXN1bHQgPSBjaGZsYWdzKHBhdGgubmFycm93LCBmbGFncyk7CisgICAgICAgIHJlc3VsdCA9IGNoZmxhZ3MocGF0aC0+bmFycm93LCBmbGFncyk7CiAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKIAotICAgIGlmIChyZXN1bHQpIHsKLSAgICAgICAgcmV0dXJuX3ZhbHVlID0gcGF0aF9lcnJvcigmcGF0aCk7Ci0gICAgICAgIGdvdG8gZXhpdDsKLSAgICB9CisgICAgaWYgKHJlc3VsdCkKKyAgICAgICAgcmV0dXJuIHBhdGhfZXJyb3IocGF0aCk7CiAKLSAgICByZXR1cm5fdmFsdWUgPSBQeV9Ob25lOwotICAgIFB5X0lOQ1JFRihQeV9Ob25lKTsKLQotZXhpdDoKLSAgICBwYXRoX2NsZWFudXAoJnBhdGgpOwotICAgIHJldHVybiByZXR1cm5fdmFsdWU7CisgICAgUHlfUkVUVVJOX05PTkU7CiB9CiAjZW5kaWYgLyogSEFWRV9DSEZMQUdTICovCiAKKwogI2lmZGVmIEhBVkVfTENIRkxBR1MKLVB5RG9jX1NUUlZBUihwb3NpeF9sY2hmbGFnc19fZG9jX18sCi0ibGNoZmxhZ3MocGF0aCwgZmxhZ3MpXG5cblwKLVNldCBmaWxlIGZsYWdzLlxuXAotVGhpcyBmdW5jdGlvbiB3aWxsIG5vdCBmb2xsb3cgc3ltYm9saWMgbGlua3MuXG5cCi1FcXVpdmFsZW50IHRvIGNoZmxhZ3MocGF0aCwgZmxhZ3MsIGZvbGxvd19zeW1saW5rcz1GYWxzZSkuIik7CisvKltjbGluaWMgaW5wdXRdCitvcy5sY2hmbGFncworCisgICAgcGF0aDogcGF0aF90CisgICAgZmxhZ3M6IHVuc2lnbmVkX2xvbmcoYml0d2lzZT1UcnVlKQorCitTZXQgZmlsZSBmbGFncy4KKworVGhpcyBmdW5jdGlvbiB3aWxsIG5vdCBmb2xsb3cgc3ltYm9saWMgbGlua3MuCitFcXVpdmFsZW50IHRvIGNoZmxhZ3MocGF0aCwgZmxhZ3MsIGZvbGxvd19zeW1saW5rcz1GYWxzZSkuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19sY2hmbGFnc19fZG9jX18sCisibGNoZmxhZ3MoJG1vZHVsZSwgLywgcGF0aCwgZmxhZ3MpXG4iCisiLS1cbiIKKyJcbiIKKyJTZXQgZmlsZSBmbGFncy5cbiIKKyJcbiIKKyJUaGlzIGZ1bmN0aW9uIHdpbGwgbm90IGZvbGxvdyBzeW1ib2xpYyBsaW5rcy5cbiIKKyJFcXVpdmFsZW50IHRvIGNoZmxhZ3MocGF0aCwgZmxhZ3MsIGZvbGxvd19zeW1saW5rcz1GYWxzZSkuIik7CisKKyNkZWZpbmUgT1NfTENIRkxBR1NfTUVUSE9EREVGICAgIFwKKyAgICB7ImxjaGZsYWdzIiwgKFB5Q0Z1bmN0aW9uKW9zX2xjaGZsYWdzLCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywgb3NfbGNoZmxhZ3NfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X2xjaGZsYWdzKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK29zX2xjaGZsYWdzX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgcGF0aF90ICpwYXRoLCB1bnNpZ25lZCBsb25nIGZsYWdzKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX2xjaGZsYWdzKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQogewotICAgIHBhdGhfdCBwYXRoOworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIHN0YXRpYyBjaGFyICpfa2V5d29yZHNbXSA9IHsicGF0aCIsICJmbGFncyIsIE5VTEx9OworICAgIHBhdGhfdCBwYXRoID0gUEFUSF9UX0lOSVRJQUxJWkUoImxjaGZsYWdzIiwgInBhdGgiLCAwLCAwKTsKICAgICB1bnNpZ25lZCBsb25nIGZsYWdzOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLAorICAgICAgICAiTyZrOmxjaGZsYWdzIiwgX2tleXdvcmRzLAorICAgICAgICBwYXRoX2NvbnZlcnRlciwgJnBhdGgsICZmbGFncykpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBvc19sY2hmbGFnc19pbXBsKG1vZHVsZSwgJnBhdGgsIGZsYWdzKTsKKworZXhpdDoKKyAgICAvKiBDbGVhbnVwIGZvciBwYXRoICovCisgICAgcGF0aF9jbGVhbnVwKCZwYXRoKTsKKworICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19sY2hmbGFnc19pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIHBhdGhfdCAqcGF0aCwgdW5zaWduZWQgbG9uZyBmbGFncykKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1iYjkzYjZiOGE1ZTQ1YWE3IGlucHV0PWY5ZjgyZWE4YjU4NWNhOWRdKi8KK3sKICAgICBpbnQgcmVzOwotICAgIG1lbXNldCgmcGF0aCwgMCwgc2l6ZW9mKHBhdGgpKTsKLSAgICBwYXRoLmZ1bmN0aW9uX25hbWUgPSAibGNoZmxhZ3MiOwotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiTyZrOmxjaGZsYWdzIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0aF9jb252ZXJ0ZXIsICZwYXRoLCAmZmxhZ3MpKQotICAgICAgICByZXR1cm4gTlVMTDsKICAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCi0gICAgcmVzID0gbGNoZmxhZ3MocGF0aC5uYXJyb3csIGZsYWdzKTsKKyAgICByZXMgPSBsY2hmbGFncyhwYXRoLT5uYXJyb3csIGZsYWdzKTsKICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUwogICAgIGlmIChyZXMgPCAwKSB7Ci0gICAgICAgIHBhdGhfZXJyb3IoJnBhdGgpOwotICAgICAgICBwYXRoX2NsZWFudXAoJnBhdGgpOwotICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgcmV0dXJuIHBhdGhfZXJyb3IocGF0aCk7CiAgICAgfQotICAgIHBhdGhfY2xlYW51cCgmcGF0aCk7CiAgICAgUHlfUkVUVVJOX05PTkU7CiB9CiAjZW5kaWYgLyogSEFWRV9MQ0hGTEFHUyAqLwogCisKICNpZmRlZiBIQVZFX0NIUk9PVAotUHlEb2NfU1RSVkFSKHBvc2l4X2Nocm9vdF9fZG9jX18sCi0iY2hyb290KHBhdGgpXG5cblwKLUNoYW5nZSByb290IGRpcmVjdG9yeSB0byBwYXRoLiIpOworLypbY2xpbmljIGlucHV0XQorb3MuY2hyb290CisgICAgcGF0aDogcGF0aF90CisKK0NoYW5nZSByb290IGRpcmVjdG9yeSB0byBwYXRoLgorCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19jaHJvb3RfX2RvY19fLAorImNocm9vdCgkbW9kdWxlLCAvLCBwYXRoKVxuIgorIi0tXG4iCisiXG4iCisiQ2hhbmdlIHJvb3QgZGlyZWN0b3J5IHRvIHBhdGguIik7CisKKyNkZWZpbmUgT1NfQ0hST09UX01FVEhPRERFRiAgICBcCisgICAgeyJjaHJvb3QiLCAoUHlDRnVuY3Rpb24pb3NfY2hyb290LCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywgb3NfY2hyb290X19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF9jaHJvb3QoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQorb3NfY2hyb290X2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgcGF0aF90ICpwYXRoKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX2Nocm9vdChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3YXJncykKIHsKLSAgICByZXR1cm4gcG9zaXhfMXN0cigiY2hyb290IiwgYXJncywgIk8mOmNocm9vdCIsIGNocm9vdCk7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgc3RhdGljIGNoYXIgKl9rZXl3b3Jkc1tdID0geyJwYXRoIiwgTlVMTH07CisgICAgcGF0aF90IHBhdGggPSBQQVRIX1RfSU5JVElBTElaRSgiY2hyb290IiwgInBhdGgiLCAwLCAwKTsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywKKyAgICAgICAgIk8mOmNocm9vdCIsIF9rZXl3b3JkcywKKyAgICAgICAgcGF0aF9jb252ZXJ0ZXIsICZwYXRoKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IG9zX2Nocm9vdF9pbXBsKG1vZHVsZSwgJnBhdGgpOworCitleGl0OgorICAgIC8qIENsZWFudXAgZm9yIHBhdGggKi8KKyAgICBwYXRoX2NsZWFudXAoJnBhdGgpOworCisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKIH0KLSNlbmRpZgorCitzdGF0aWMgUHlPYmplY3QgKgorb3NfY2hyb290X2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgcGF0aF90ICpwYXRoKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTE1YjEyNTZjYmU0ZjI0YTEgaW5wdXQ9MTQ4MjI5NjU2NTJjM2RjM10qLworeworICAgIGludCByZXM7CisgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUworICAgIHJlcyA9IGNocm9vdChwYXRoLT5uYXJyb3cpOworICAgIFB5X0VORF9BTExPV19USFJFQURTCisgICAgaWYgKHJlcyA8IDApCisgICAgICAgIHJldHVybiBwYXRoX2Vycm9yKHBhdGgpOworICAgIFB5X1JFVFVSTl9OT05FOworfQorI2VuZGlmIC8qIEhBVkVfQ0hST09UICovCisKIAogI2lmZGVmIEhBVkVfRlNZTkMKLVB5RG9jX1NUUlZBUihwb3NpeF9mc3luY19fZG9jX18sCi0iZnN5bmMoZmlsZGVzKVxuXG5cCi1mb3JjZSB3cml0ZSBvZiBmaWxlIHdpdGggZmlsZWRlc2NyaXB0b3IgdG8gZGlzay4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK29zLmZzeW5jCisKKyAgICBmZDogZmlsZGVzCisKK0ZvcmNlIHdyaXRlIG9mIGZkIHRvIGRpc2suCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19mc3luY19fZG9jX18sCisiZnN5bmMoJG1vZHVsZSwgLywgZmQpXG4iCisiLS1cbiIKKyJcbiIKKyJGb3JjZSB3cml0ZSBvZiBmZCB0byBkaXNrLiIpOworCisjZGVmaW5lIE9TX0ZTWU5DX01FVEhPRERFRiAgICBcCisgICAgeyJmc3luYyIsIChQeUNGdW5jdGlvbilvc19mc3luYywgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsIG9zX2ZzeW5jX19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF9mc3luYyhQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmZkb2JqKQorb3NfZnN5bmNfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBpbnQgZmQpOworCitzdGF0aWMgUHlPYmplY3QgKgorb3NfZnN5bmMoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCiB7Ci0gICAgcmV0dXJuIHBvc2l4X2ZpbGRlcyhmZG9iaiwgZnN5bmMpOworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIHN0YXRpYyBjaGFyICpfa2V5d29yZHNbXSA9IHsiZmQiLCBOVUxMfTsKKyAgICBpbnQgZmQ7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsCisgICAgICAgICJPJjpmc3luYyIsIF9rZXl3b3JkcywKKyAgICAgICAgZmlsZGVzX2NvbnZlcnRlciwgJmZkKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IG9zX2ZzeW5jX2ltcGwobW9kdWxlLCBmZCk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK29zX2ZzeW5jX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgaW50IGZkKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTU5ZjMyZDNhMGIzNjAxMzMgaW5wdXQ9MjFjMzY0NWMwNTY5NjdmMl0qLworeworICAgIHJldHVybiBwb3NpeF9maWxkZXNfZmQoZmQsIGZzeW5jKTsKIH0KICNlbmRpZiAvKiBIQVZFX0ZTWU5DICovCiAKKwogI2lmZGVmIEhBVkVfU1lOQwotUHlEb2NfU1RSVkFSKHBvc2l4X3N5bmNfX2RvY19fLAotInN5bmMoKVxuXG5cCi1Gb3JjZSB3cml0ZSBvZiBldmVyeXRoaW5nIHRvIGRpc2suIik7CisvKltjbGluaWMgaW5wdXRdCitvcy5zeW5jCisKK0ZvcmNlIHdyaXRlIG9mIGV2ZXJ5dGhpbmcgdG8gZGlzay4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX3N5bmNfX2RvY19fLAorInN5bmMoJG1vZHVsZSwgLylcbiIKKyItLVxuIgorIlxuIgorIkZvcmNlIHdyaXRlIG9mIGV2ZXJ5dGhpbmcgdG8gZGlzay4iKTsKKworI2RlZmluZSBPU19TWU5DX01FVEhPRERFRiAgICBcCisgICAgeyJzeW5jIiwgKFB5Q0Z1bmN0aW9uKW9zX3N5bmMsIE1FVEhfTk9BUkdTLCBvc19zeW5jX19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF9zeW5jKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqbm9hcmdzKQorb3Nfc3luY19pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUpOworCitzdGF0aWMgUHlPYmplY3QgKgorb3Nfc3luYyhQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqUHlfVU5VU0VEKGlnbm9yZWQpKQoreworICAgIHJldHVybiBvc19zeW5jX2ltcGwobW9kdWxlKTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK29zX3N5bmNfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTUyNmM0OTU2ODNkMGJiMzggaW5wdXQ9ODQ3NDlmZTVlOWI0MDRmZl0qLwogewogICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKICAgICBzeW5jKCk7CiAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKICAgICBQeV9SRVRVUk5fTk9ORTsKIH0KLSNlbmRpZgorI2VuZGlmIC8qIEhBVkVfU1lOQyAqLworCiAKICNpZmRlZiBIQVZFX0ZEQVRBU1lOQwotCiAjaWZkZWYgX19ocHV4CiBleHRlcm4gaW50IGZkYXRhc3luYyhpbnQpOyAvKiBPbiBIUC1VWCwgaW4gbGliYyBidXQgbm90IGluIHVuaXN0ZC5oICovCiAjZW5kaWYKIAotUHlEb2NfU1RSVkFSKHBvc2l4X2ZkYXRhc3luY19fZG9jX18sCi0iZmRhdGFzeW5jKGZpbGRlcylcblxuXAotZm9yY2Ugd3JpdGUgb2YgZmlsZSB3aXRoIGZpbGVkZXNjcmlwdG9yIHRvIGRpc2suXG5cCi0gZG9lcyBub3QgZm9yY2UgdXBkYXRlIG9mIG1ldGFkYXRhLiIpOworLypbY2xpbmljIGlucHV0XQorb3MuZmRhdGFzeW5jCisKKyAgICBmZDogZmlsZGVzCisKK0ZvcmNlIHdyaXRlIG9mIGZkIHRvIGRpc2sgd2l0aG91dCBmb3JjaW5nIHVwZGF0ZSBvZiBtZXRhZGF0YS4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX2ZkYXRhc3luY19fZG9jX18sCisiZmRhdGFzeW5jKCRtb2R1bGUsIC8sIGZkKVxuIgorIi0tXG4iCisiXG4iCisiRm9yY2Ugd3JpdGUgb2YgZmQgdG8gZGlzayB3aXRob3V0IGZvcmNpbmcgdXBkYXRlIG9mIG1ldGFkYXRhLiIpOworCisjZGVmaW5lIE9TX0ZEQVRBU1lOQ19NRVRIT0RERUYgICAgXAorICAgIHsiZmRhdGFzeW5jIiwgKFB5Q0Z1bmN0aW9uKW9zX2ZkYXRhc3luYywgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsIG9zX2ZkYXRhc3luY19fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfZmRhdGFzeW5jKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqZmRvYmopCitvc19mZGF0YXN5bmNfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBpbnQgZmQpOworCitzdGF0aWMgUHlPYmplY3QgKgorb3NfZmRhdGFzeW5jKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQogewotICAgIHJldHVybiBwb3NpeF9maWxkZXMoZmRvYmosIGZkYXRhc3luYyk7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgc3RhdGljIGNoYXIgKl9rZXl3b3Jkc1tdID0geyJmZCIsIE5VTEx9OworICAgIGludCBmZDsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywKKyAgICAgICAgIk8mOmZkYXRhc3luYyIsIF9rZXl3b3JkcywKKyAgICAgICAgZmlsZGVzX2NvbnZlcnRlciwgJmZkKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IG9zX2ZkYXRhc3luY19pbXBsKG1vZHVsZSwgZmQpOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19mZGF0YXN5bmNfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBpbnQgZmQpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9MjMzNWZkZmQzN2M5MjE4MCBpbnB1dD1iYzc0NzkxZWU1NGRkMjkxXSovCit7CisgICAgcmV0dXJuIHBvc2l4X2ZpbGRlc19mZChmZCwgZmRhdGFzeW5jKTsKIH0KICNlbmRpZiAvKiBIQVZFX0ZEQVRBU1lOQyAqLwogCiAKICNpZmRlZiBIQVZFX0NIT1dOCi1QeURvY19TVFJWQVIocG9zaXhfY2hvd25fX2RvY19fLAotImNob3duKHBhdGgsIHVpZCwgZ2lkLCAqLCBkaXJfZmQ9Tm9uZSwgZm9sbG93X3N5bWxpbmtzPVRydWUpXG5cblwKLUNoYW5nZSB0aGUgb3duZXIgYW5kIGdyb3VwIGlkIG9mIHBhdGggdG8gdGhlIG51bWVyaWMgdWlkIGFuZCBnaWQuXG5cCi1cblwKLXBhdGggbWF5IGFsd2F5cyBiZSBzcGVjaWZpZWQgYXMgYSBzdHJpbmcuXG5cCi1PbiBzb21lIHBsYXRmb3JtcywgcGF0aCBtYXkgYWxzbyBiZSBzcGVjaWZpZWQgYXMgYW4gb3BlbiBmaWxlIGRlc2NyaXB0b3IuXG5cCi0gIElmIHRoaXMgZnVuY3Rpb25hbGl0eSBpcyB1bmF2YWlsYWJsZSwgdXNpbmcgaXQgcmFpc2VzIGFuIGV4Y2VwdGlvbi5cblwKLUlmIGRpcl9mZCBpcyBub3QgTm9uZSwgaXQgc2hvdWxkIGJlIGEgZmlsZSBkZXNjcmlwdG9yIG9wZW4gdG8gYSBkaXJlY3RvcnksXG5cCi0gIGFuZCBwYXRoIHNob3VsZCBiZSByZWxhdGl2ZTsgcGF0aCB3aWxsIHRoZW4gYmUgcmVsYXRpdmUgdG8gdGhhdCBkaXJlY3RvcnkuXG5cCi1JZiBmb2xsb3dfc3ltbGlua3MgaXMgRmFsc2UsIGFuZCB0aGUgbGFzdCBlbGVtZW50IG9mIHRoZSBwYXRoIGlzIGEgc3ltYm9saWNcblwKLSAgbGluaywgY2hvd24gd2lsbCBtb2RpZnkgdGhlIHN5bWJvbGljIGxpbmsgaXRzZWxmIGluc3RlYWQgb2YgdGhlIGZpbGUgdGhlXG5cCi0gIGxpbmsgcG9pbnRzIHRvLlxuXAotSXQgaXMgYW4gZXJyb3IgdG8gdXNlIGRpcl9mZCBvciBmb2xsb3dfc3ltbGlua3Mgd2hlbiBzcGVjaWZ5aW5nIHBhdGggYXNcblwKLSAgYW4gb3BlbiBmaWxlIGRlc2NyaXB0b3IuXG5cCi1kaXJfZmQgYW5kIGZvbGxvd19zeW1saW5rcyBtYXkgbm90IGJlIGltcGxlbWVudGVkIG9uIHlvdXIgcGxhdGZvcm0uXG5cCi0gIElmIHRoZXkgYXJlIHVuYXZhaWxhYmxlLCB1c2luZyB0aGVtIHdpbGwgcmFpc2UgYSBOb3RJbXBsZW1lbnRlZEVycm9yLiIpOworLypbY2xpbmljIGlucHV0XQorb3MuY2hvd24KKworICAgIHBhdGggOiBwYXRoX3QoYWxsb3dfZmQ9J1BBVEhfSEFWRV9GQ0hPV04nKQorICAgICAgICBQYXRoIHRvIGJlIGV4YW1pbmVkOyBjYW4gYmUgc3RyaW5nLCBieXRlcywgb3Igb3Blbi1maWxlLWRlc2NyaXB0b3IgaW50LgorCisgICAgdWlkOiB1aWRfdAorCisgICAgZ2lkOiBnaWRfdAorCisgICAgKgorCisgICAgZGlyX2ZkIDogZGlyX2ZkKHJlcXVpcmVzPSdmY2hvd25hdCcpID0gTm9uZQorICAgICAgICBJZiBub3QgTm9uZSwgaXQgc2hvdWxkIGJlIGEgZmlsZSBkZXNjcmlwdG9yIG9wZW4gdG8gYSBkaXJlY3RvcnksCisgICAgICAgIGFuZCBwYXRoIHNob3VsZCBiZSByZWxhdGl2ZTsgcGF0aCB3aWxsIHRoZW4gYmUgcmVsYXRpdmUgdG8gdGhhdAorICAgICAgICBkaXJlY3RvcnkuCisKKyAgICBmb2xsb3dfc3ltbGlua3M6IGJvb2wgPSBUcnVlCisgICAgICAgIElmIEZhbHNlLCBhbmQgdGhlIGxhc3QgZWxlbWVudCBvZiB0aGUgcGF0aCBpcyBhIHN5bWJvbGljIGxpbmssCisgICAgICAgIHN0YXQgd2lsbCBleGFtaW5lIHRoZSBzeW1ib2xpYyBsaW5rIGl0c2VsZiBpbnN0ZWFkIG9mIHRoZSBmaWxlCisgICAgICAgIHRoZSBsaW5rIHBvaW50cyB0by4KKworQ2hhbmdlIHRoZSBvd25lciBhbmQgZ3JvdXAgaWQgb2YgcGF0aCB0byB0aGUgbnVtZXJpYyB1aWQgYW5kIGdpZC5cCisKK3BhdGggbWF5IGFsd2F5cyBiZSBzcGVjaWZpZWQgYXMgYSBzdHJpbmcuCitPbiBzb21lIHBsYXRmb3JtcywgcGF0aCBtYXkgYWxzbyBiZSBzcGVjaWZpZWQgYXMgYW4gb3BlbiBmaWxlIGRlc2NyaXB0b3IuCisgIElmIHRoaXMgZnVuY3Rpb25hbGl0eSBpcyB1bmF2YWlsYWJsZSwgdXNpbmcgaXQgcmFpc2VzIGFuIGV4Y2VwdGlvbi4KK0lmIGRpcl9mZCBpcyBub3QgTm9uZSwgaXQgc2hvdWxkIGJlIGEgZmlsZSBkZXNjcmlwdG9yIG9wZW4gdG8gYSBkaXJlY3RvcnksCisgIGFuZCBwYXRoIHNob3VsZCBiZSByZWxhdGl2ZTsgcGF0aCB3aWxsIHRoZW4gYmUgcmVsYXRpdmUgdG8gdGhhdCBkaXJlY3RvcnkuCitJZiBmb2xsb3dfc3ltbGlua3MgaXMgRmFsc2UsIGFuZCB0aGUgbGFzdCBlbGVtZW50IG9mIHRoZSBwYXRoIGlzIGEgc3ltYm9saWMKKyAgbGluaywgY2hvd24gd2lsbCBtb2RpZnkgdGhlIHN5bWJvbGljIGxpbmsgaXRzZWxmIGluc3RlYWQgb2YgdGhlIGZpbGUgdGhlCisgIGxpbmsgcG9pbnRzIHRvLgorSXQgaXMgYW4gZXJyb3IgdG8gdXNlIGRpcl9mZCBvciBmb2xsb3dfc3ltbGlua3Mgd2hlbiBzcGVjaWZ5aW5nIHBhdGggYXMKKyAgYW4gb3BlbiBmaWxlIGRlc2NyaXB0b3IuCitkaXJfZmQgYW5kIGZvbGxvd19zeW1saW5rcyBtYXkgbm90IGJlIGltcGxlbWVudGVkIG9uIHlvdXIgcGxhdGZvcm0uCisgIElmIHRoZXkgYXJlIHVuYXZhaWxhYmxlLCB1c2luZyB0aGVtIHdpbGwgcmFpc2UgYSBOb3RJbXBsZW1lbnRlZEVycm9yLgorCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19jaG93bl9fZG9jX18sCisiY2hvd24oJG1vZHVsZSwgLywgcGF0aCwgdWlkLCBnaWQsICosIGRpcl9mZD1Ob25lLCBmb2xsb3dfc3ltbGlua3M9VHJ1ZSlcbiIKKyItLVxuIgorIlxuIgorIkNoYW5nZSB0aGUgb3duZXIgYW5kIGdyb3VwIGlkIG9mIHBhdGggdG8gdGhlIG51bWVyaWMgdWlkIGFuZCBnaWQuXFxcbiIKKyJcbiIKKyIgIHBhdGhcbiIKKyIgICAgUGF0aCB0byBiZSBleGFtaW5lZDsgY2FuIGJlIHN0cmluZywgYnl0ZXMsIG9yIG9wZW4tZmlsZS1kZXNjcmlwdG9yIGludC5cbiIKKyIgIGRpcl9mZFxuIgorIiAgICBJZiBub3QgTm9uZSwgaXQgc2hvdWxkIGJlIGEgZmlsZSBkZXNjcmlwdG9yIG9wZW4gdG8gYSBkaXJlY3RvcnksXG4iCisiICAgIGFuZCBwYXRoIHNob3VsZCBiZSByZWxhdGl2ZTsgcGF0aCB3aWxsIHRoZW4gYmUgcmVsYXRpdmUgdG8gdGhhdFxuIgorIiAgICBkaXJlY3RvcnkuXG4iCisiICBmb2xsb3dfc3ltbGlua3NcbiIKKyIgICAgSWYgRmFsc2UsIGFuZCB0aGUgbGFzdCBlbGVtZW50IG9mIHRoZSBwYXRoIGlzIGEgc3ltYm9saWMgbGluayxcbiIKKyIgICAgc3RhdCB3aWxsIGV4YW1pbmUgdGhlIHN5bWJvbGljIGxpbmsgaXRzZWxmIGluc3RlYWQgb2YgdGhlIGZpbGVcbiIKKyIgICAgdGhlIGxpbmsgcG9pbnRzIHRvLlxuIgorIlxuIgorInBhdGggbWF5IGFsd2F5cyBiZSBzcGVjaWZpZWQgYXMgYSBzdHJpbmcuXG4iCisiT24gc29tZSBwbGF0Zm9ybXMsIHBhdGggbWF5IGFsc28gYmUgc3BlY2lmaWVkIGFzIGFuIG9wZW4gZmlsZSBkZXNjcmlwdG9yLlxuIgorIiAgSWYgdGhpcyBmdW5jdGlvbmFsaXR5IGlzIHVuYXZhaWxhYmxlLCB1c2luZyBpdCByYWlzZXMgYW4gZXhjZXB0aW9uLlxuIgorIklmIGRpcl9mZCBpcyBub3QgTm9uZSwgaXQgc2hvdWxkIGJlIGEgZmlsZSBkZXNjcmlwdG9yIG9wZW4gdG8gYSBkaXJlY3RvcnksXG4iCisiICBhbmQgcGF0aCBzaG91bGQgYmUgcmVsYXRpdmU7IHBhdGggd2lsbCB0aGVuIGJlIHJlbGF0aXZlIHRvIHRoYXQgZGlyZWN0b3J5LlxuIgorIklmIGZvbGxvd19zeW1saW5rcyBpcyBGYWxzZSwgYW5kIHRoZSBsYXN0IGVsZW1lbnQgb2YgdGhlIHBhdGggaXMgYSBzeW1ib2xpY1xuIgorIiAgbGluaywgY2hvd24gd2lsbCBtb2RpZnkgdGhlIHN5bWJvbGljIGxpbmsgaXRzZWxmIGluc3RlYWQgb2YgdGhlIGZpbGUgdGhlXG4iCisiICBsaW5rIHBvaW50cyB0by5cbiIKKyJJdCBpcyBhbiBlcnJvciB0byB1c2UgZGlyX2ZkIG9yIGZvbGxvd19zeW1saW5rcyB3aGVuIHNwZWNpZnlpbmcgcGF0aCBhc1xuIgorIiAgYW4gb3BlbiBmaWxlIGRlc2NyaXB0b3IuXG4iCisiZGlyX2ZkIGFuZCBmb2xsb3dfc3ltbGlua3MgbWF5IG5vdCBiZSBpbXBsZW1lbnRlZCBvbiB5b3VyIHBsYXRmb3JtLlxuIgorIiAgSWYgdGhleSBhcmUgdW5hdmFpbGFibGUsIHVzaW5nIHRoZW0gd2lsbCByYWlzZSBhIE5vdEltcGxlbWVudGVkRXJyb3IuIik7CisKKyNkZWZpbmUgT1NfQ0hPV05fTUVUSE9EREVGICAgIFwKKyAgICB7ImNob3duIiwgKFB5Q0Z1bmN0aW9uKW9zX2Nob3duLCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywgb3NfY2hvd25fX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X2Nob3duKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3YXJncykKK29zX2Nob3duX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgcGF0aF90ICpwYXRoLCB1aWRfdCB1aWQsIGdpZF90IGdpZCwgaW50IGRpcl9mZCwgaW50IGZvbGxvd19zeW1saW5rcyk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19jaG93bihQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3YXJncykKIHsKLSAgICBwYXRoX3QgcGF0aDsKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBzdGF0aWMgY2hhciAqX2tleXdvcmRzW10gPSB7InBhdGgiLCAidWlkIiwgImdpZCIsICJkaXJfZmQiLCAiZm9sbG93X3N5bWxpbmtzIiwgTlVMTH07CisgICAgcGF0aF90IHBhdGggPSBQQVRIX1RfSU5JVElBTElaRSgiY2hvd24iLCAicGF0aCIsIDAsIFBBVEhfSEFWRV9GQ0hPV04pOwogICAgIHVpZF90IHVpZDsKICAgICBnaWRfdCBnaWQ7CiAgICAgaW50IGRpcl9mZCA9IERFRkFVTFRfRElSX0ZEOwogICAgIGludCBmb2xsb3dfc3ltbGlua3MgPSAxOwotICAgIGludCByZXN1bHQ7Ci0gICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7Ci0gICAgc3RhdGljIGNoYXIgKmtleXdvcmRzW10gPSB7InBhdGgiLCAidWlkIiwgImdpZCIsICJkaXJfZmQiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJmb2xsb3dfc3ltbGlua3MiLCBOVUxMfTsKIAotICAgIG1lbXNldCgmcGF0aCwgMCwgc2l6ZW9mKHBhdGgpKTsKLSAgICBwYXRoLmZ1bmN0aW9uX25hbWUgPSAiY2hvd24iOwotI2lmZGVmIEhBVkVfRkNIT1dOCi0gICAgcGF0aC5hbGxvd19mZCA9IDE7Ci0jZW5kaWYKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsICJPJk8mTyZ8JE8mcDpjaG93biIsIGtleXdvcmRzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhdGhfY29udmVydGVyLCAmcGF0aCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfUHlfVWlkX0NvbnZlcnRlciwgJnVpZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfUHlfR2lkX0NvbnZlcnRlciwgJmdpZCwKLSNpZmRlZiBIQVZFX0ZDSE9XTkFUCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlyX2ZkX2NvbnZlcnRlciwgJmRpcl9mZCwKLSNlbHNlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlyX2ZkX3VuYXZhaWxhYmxlLCAmZGlyX2ZkLAotI2VuZGlmCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmZvbGxvd19zeW1saW5rcykpCi0gICAgICAgIHJldHVybiBOVUxMOworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywKKyAgICAgICAgIk8mTyZPJnwkTyZwOmNob3duIiwgX2tleXdvcmRzLAorICAgICAgICBwYXRoX2NvbnZlcnRlciwgJnBhdGgsIF9QeV9VaWRfQ29udmVydGVyLCAmdWlkLCBfUHlfR2lkX0NvbnZlcnRlciwgJmdpZCwgRkNIT1dOQVRfRElSX0ZEX0NPTlZFUlRFUiwgJmRpcl9mZCwgJmZvbGxvd19zeW1saW5rcykpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBvc19jaG93bl9pbXBsKG1vZHVsZSwgJnBhdGgsIHVpZCwgZ2lkLCBkaXJfZmQsIGZvbGxvd19zeW1saW5rcyk7CisKK2V4aXQ6CisgICAgLyogQ2xlYW51cCBmb3IgcGF0aCAqLworICAgIHBhdGhfY2xlYW51cCgmcGF0aCk7CisKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorb3NfY2hvd25faW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBwYXRoX3QgKnBhdGgsIHVpZF90IHVpZCwgZ2lkX3QgZ2lkLCBpbnQgZGlyX2ZkLCBpbnQgZm9sbG93X3N5bWxpbmtzKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTIyZjAxMWUzYjRmOWZmNDkgaW5wdXQ9YTYxY2MzNTU3NDgxNGQ1ZF0qLworeworICAgIGludCByZXN1bHQ7CiAKICNpZiAhKGRlZmluZWQoSEFWRV9MQ0hPV04pIHx8IGRlZmluZWQoSEFWRV9GQ0hPV05BVCkpCiAgICAgaWYgKGZvbGxvd19zeW1saW5rc19zcGVjaWZpZWQoImNob3duIiwgZm9sbG93X3N5bWxpbmtzKSkKLSAgICAgICAgZ290byBleGl0OworICAgICAgICByZXR1cm4gTlVMTDsKICNlbmRpZgotICAgIGlmIChkaXJfZmRfYW5kX2ZkX2ludmFsaWQoImNob3duIiwgZGlyX2ZkLCBwYXRoLmZkKSB8fAotICAgICAgICBmZF9hbmRfZm9sbG93X3N5bWxpbmtzX2ludmFsaWQoImNob3duIiwgcGF0aC5mZCwgZm9sbG93X3N5bWxpbmtzKSkKLSAgICAgICAgZ290byBleGl0OworICAgIGlmIChkaXJfZmRfYW5kX2ZkX2ludmFsaWQoImNob3duIiwgZGlyX2ZkLCBwYXRoLT5mZCkgfHwKKyAgICAgICAgZmRfYW5kX2ZvbGxvd19zeW1saW5rc19pbnZhbGlkKCJjaG93biIsIHBhdGgtPmZkLCBmb2xsb3dfc3ltbGlua3MpKQorICAgICAgICByZXR1cm4gTlVMTDsKIAogI2lmZGVmIF9fQVBQTEVfXwogICAgIC8qCkBAIC0zMzEwLDEwMiArNDAyOCwxNjggQEAKICAgICAgKi8KICAgICBpZiAoKCFmb2xsb3dfc3ltbGlua3MpICYmIChsY2hvd24gPT0gTlVMTCkpIHsKICAgICAgICAgZm9sbG93X3N5bWxpbmtzX3NwZWNpZmllZCgiY2hvd24iLCBmb2xsb3dfc3ltbGlua3MpOwotICAgICAgICBnb3RvIGV4aXQ7CisgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KICNlbmRpZgogCiAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwogI2lmZGVmIEhBVkVfRkNIT1dOCi0gICAgaWYgKHBhdGguZmQgIT0gLTEpCi0gICAgICAgIHJlc3VsdCA9IGZjaG93bihwYXRoLmZkLCB1aWQsIGdpZCk7CisgICAgaWYgKHBhdGgtPmZkICE9IC0xKQorICAgICAgICByZXN1bHQgPSBmY2hvd24ocGF0aC0+ZmQsIHVpZCwgZ2lkKTsKICAgICBlbHNlCiAjZW5kaWYKICNpZmRlZiBIQVZFX0xDSE9XTgogICAgIGlmICgoIWZvbGxvd19zeW1saW5rcykgJiYgKGRpcl9mZCA9PSBERUZBVUxUX0RJUl9GRCkpCi0gICAgICAgIHJlc3VsdCA9IGxjaG93bihwYXRoLm5hcnJvdywgdWlkLCBnaWQpOworICAgICAgICByZXN1bHQgPSBsY2hvd24ocGF0aC0+bmFycm93LCB1aWQsIGdpZCk7CiAgICAgZWxzZQogI2VuZGlmCiAjaWZkZWYgSEFWRV9GQ0hPV05BVAogICAgIGlmICgoZGlyX2ZkICE9IERFRkFVTFRfRElSX0ZEKSB8fCAoIWZvbGxvd19zeW1saW5rcykpCi0gICAgICAgIHJlc3VsdCA9IGZjaG93bmF0KGRpcl9mZCwgcGF0aC5uYXJyb3csIHVpZCwgZ2lkLAorICAgICAgICByZXN1bHQgPSBmY2hvd25hdChkaXJfZmQsIHBhdGgtPm5hcnJvdywgdWlkLCBnaWQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbGxvd19zeW1saW5rcyA/IDAgOiBBVF9TWU1MSU5LX05PRk9MTE9XKTsKICAgICBlbHNlCiAjZW5kaWYKLSAgICAgICAgcmVzdWx0ID0gY2hvd24ocGF0aC5uYXJyb3csIHVpZCwgZ2lkKTsKKyAgICAgICAgcmVzdWx0ID0gY2hvd24ocGF0aC0+bmFycm93LCB1aWQsIGdpZCk7CiAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKIAotICAgIGlmIChyZXN1bHQpIHsKLSAgICAgICAgcmV0dXJuX3ZhbHVlID0gcGF0aF9lcnJvcigmcGF0aCk7Ci0gICAgICAgIGdvdG8gZXhpdDsKLSAgICB9CisgICAgaWYgKHJlc3VsdCkKKyAgICAgICAgcmV0dXJuIHBhdGhfZXJyb3IocGF0aCk7CiAKLSAgICByZXR1cm5fdmFsdWUgPSBQeV9Ob25lOwotICAgIFB5X0lOQ1JFRihQeV9Ob25lKTsKLQotZXhpdDoKLSAgICBwYXRoX2NsZWFudXAoJnBhdGgpOwotICAgIHJldHVybiByZXR1cm5fdmFsdWU7CisgICAgUHlfUkVUVVJOX05PTkU7CiB9CiAjZW5kaWYgLyogSEFWRV9DSE9XTiAqLwogCisKICNpZmRlZiBIQVZFX0ZDSE9XTgotUHlEb2NfU1RSVkFSKHBvc2l4X2ZjaG93bl9fZG9jX18sCi0iZmNob3duKGZkLCB1aWQsIGdpZClcblxuXAotQ2hhbmdlIHRoZSBvd25lciBhbmQgZ3JvdXAgaWQgb2YgdGhlIGZpbGUgZ2l2ZW4gYnkgZmlsZSBkZXNjcmlwdG9yXG5cCi1mZCB0byB0aGUgbnVtZXJpYyB1aWQgYW5kIGdpZC4gIEVxdWl2YWxlbnQgdG8gb3MuY2hvd24oZmQsIHVpZCwgZ2lkKS4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK29zLmZjaG93bgorCisgICAgZmQ6IGludAorICAgIHVpZDogdWlkX3QKKyAgICBnaWQ6IGdpZF90CisKK0NoYW5nZSB0aGUgb3duZXIgYW5kIGdyb3VwIGlkIG9mIHRoZSBmaWxlIHNwZWNpZmllZCBieSBmaWxlIGRlc2NyaXB0b3IuCisKK0VxdWl2YWxlbnQgdG8gb3MuY2hvd24oZmQsIHVpZCwgZ2lkKS4KKworW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3NfZmNob3duX19kb2NfXywKKyJmY2hvd24oJG1vZHVsZSwgLywgZmQsIHVpZCwgZ2lkKVxuIgorIi0tXG4iCisiXG4iCisiQ2hhbmdlIHRoZSBvd25lciBhbmQgZ3JvdXAgaWQgb2YgdGhlIGZpbGUgc3BlY2lmaWVkIGJ5IGZpbGUgZGVzY3JpcHRvci5cbiIKKyJcbiIKKyJFcXVpdmFsZW50IHRvIG9zLmNob3duKGZkLCB1aWQsIGdpZCkuIik7CisKKyNkZWZpbmUgT1NfRkNIT1dOX01FVEhPRERFRiAgICBcCisgICAgeyJmY2hvd24iLCAoUHlDRnVuY3Rpb24pb3NfZmNob3duLCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywgb3NfZmNob3duX19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF9mY2hvd24oUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQorb3NfZmNob3duX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgaW50IGZkLCB1aWRfdCB1aWQsIGdpZF90IGdpZCk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19mY2hvd24oUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCiB7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgc3RhdGljIGNoYXIgKl9rZXl3b3Jkc1tdID0geyJmZCIsICJ1aWQiLCAiZ2lkIiwgTlVMTH07CiAgICAgaW50IGZkOwogICAgIHVpZF90IHVpZDsKICAgICBnaWRfdCBnaWQ7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsCisgICAgICAgICJpTyZPJjpmY2hvd24iLCBfa2V5d29yZHMsCisgICAgICAgICZmZCwgX1B5X1VpZF9Db252ZXJ0ZXIsICZ1aWQsIF9QeV9HaWRfQ29udmVydGVyLCAmZ2lkKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IG9zX2ZjaG93bl9pbXBsKG1vZHVsZSwgZmQsIHVpZCwgZ2lkKTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorb3NfZmNob3duX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgaW50IGZkLCB1aWRfdCB1aWQsIGdpZF90IGdpZCkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD02ODc3ODFjYjdkODk3NGQ2IGlucHV0PTNhZjU0NGJhMWIxM2EwZDddKi8KK3sKICAgICBpbnQgcmVzOwotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiaU8mTyY6ZmNob3duIiwgJmZkLAotICAgICAgICAgICAgICAgICAgICAgICAgICBfUHlfVWlkX0NvbnZlcnRlciwgJnVpZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgX1B5X0dpZF9Db252ZXJ0ZXIsICZnaWQpKQotICAgICAgICByZXR1cm4gTlVMTDsKLSAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCi0gICAgcmVzID0gZmNob3duKGZkLCB1aWQsIGdpZCk7Ci0gICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKLSAgICBpZiAocmVzIDwgMCkKLSAgICAgICAgcmV0dXJuIHBvc2l4X2Vycm9yKCk7CisgICAgaW50IGFzeW5jX2VyciA9IDA7CisKKyAgICBkbyB7CisgICAgICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKKyAgICAgICAgcmVzID0gZmNob3duKGZkLCB1aWQsIGdpZCk7CisgICAgICAgIFB5X0VORF9BTExPV19USFJFQURTCisgICAgfSB3aGlsZSAocmVzICE9IDAgJiYgZXJybm8gPT0gRUlOVFIgJiYgIShhc3luY19lcnIgPSBQeUVycl9DaGVja1NpZ25hbHMoKSkpOworICAgIGlmIChyZXMgIT0gMCkKKyAgICAgICAgcmV0dXJuICghYXN5bmNfZXJyKSA/IHBvc2l4X2Vycm9yKCkgOiBOVUxMOworCiAgICAgUHlfUkVUVVJOX05PTkU7CiB9CiAjZW5kaWYgLyogSEFWRV9GQ0hPV04gKi8KIAorCiAjaWZkZWYgSEFWRV9MQ0hPV04KLVB5RG9jX1NUUlZBUihwb3NpeF9sY2hvd25fX2RvY19fLAotImxjaG93bihwYXRoLCB1aWQsIGdpZClcblxuXAotQ2hhbmdlIHRoZSBvd25lciBhbmQgZ3JvdXAgaWQgb2YgcGF0aCB0byB0aGUgbnVtZXJpYyB1aWQgYW5kIGdpZC5cblwKLVRoaXMgZnVuY3Rpb24gd2lsbCBub3QgZm9sbG93IHN5bWJvbGljIGxpbmtzLlxuXAotRXF1aXZhbGVudCB0byBvcy5jaG93bihwYXRoLCB1aWQsIGdpZCwgZm9sbG93X3N5bWxpbmtzPUZhbHNlKS4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK29zLmxjaG93bgorCisgICAgcGF0aCA6IHBhdGhfdAorICAgIHVpZDogdWlkX3QKKyAgICBnaWQ6IGdpZF90CisKK0NoYW5nZSB0aGUgb3duZXIgYW5kIGdyb3VwIGlkIG9mIHBhdGggdG8gdGhlIG51bWVyaWMgdWlkIGFuZCBnaWQuCisKK1RoaXMgZnVuY3Rpb24gd2lsbCBub3QgZm9sbG93IHN5bWJvbGljIGxpbmtzLgorRXF1aXZhbGVudCB0byBvcy5jaG93bihwYXRoLCB1aWQsIGdpZCwgZm9sbG93X3N5bWxpbmtzPUZhbHNlKS4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX2xjaG93bl9fZG9jX18sCisibGNob3duKCRtb2R1bGUsIC8sIHBhdGgsIHVpZCwgZ2lkKVxuIgorIi0tXG4iCisiXG4iCisiQ2hhbmdlIHRoZSBvd25lciBhbmQgZ3JvdXAgaWQgb2YgcGF0aCB0byB0aGUgbnVtZXJpYyB1aWQgYW5kIGdpZC5cbiIKKyJcbiIKKyJUaGlzIGZ1bmN0aW9uIHdpbGwgbm90IGZvbGxvdyBzeW1ib2xpYyBsaW5rcy5cbiIKKyJFcXVpdmFsZW50IHRvIG9zLmNob3duKHBhdGgsIHVpZCwgZ2lkLCBmb2xsb3dfc3ltbGlua3M9RmFsc2UpLiIpOworCisjZGVmaW5lIE9TX0xDSE9XTl9NRVRIT0RERUYgICAgXAorICAgIHsibGNob3duIiwgKFB5Q0Z1bmN0aW9uKW9zX2xjaG93biwgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsIG9zX2xjaG93bl9fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfbGNob3duKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK29zX2xjaG93bl9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIHBhdGhfdCAqcGF0aCwgdWlkX3QgdWlkLCBnaWRfdCBnaWQpOworCitzdGF0aWMgUHlPYmplY3QgKgorb3NfbGNob3duKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQogewotICAgIHBhdGhfdCBwYXRoOworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIHN0YXRpYyBjaGFyICpfa2V5d29yZHNbXSA9IHsicGF0aCIsICJ1aWQiLCAiZ2lkIiwgTlVMTH07CisgICAgcGF0aF90IHBhdGggPSBQQVRIX1RfSU5JVElBTElaRSgibGNob3duIiwgInBhdGgiLCAwLCAwKTsKICAgICB1aWRfdCB1aWQ7CiAgICAgZ2lkX3QgZ2lkOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLAorICAgICAgICAiTyZPJk8mOmxjaG93biIsIF9rZXl3b3JkcywKKyAgICAgICAgcGF0aF9jb252ZXJ0ZXIsICZwYXRoLCBfUHlfVWlkX0NvbnZlcnRlciwgJnVpZCwgX1B5X0dpZF9Db252ZXJ0ZXIsICZnaWQpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gb3NfbGNob3duX2ltcGwobW9kdWxlLCAmcGF0aCwgdWlkLCBnaWQpOworCitleGl0OgorICAgIC8qIENsZWFudXAgZm9yIHBhdGggKi8KKyAgICBwYXRoX2NsZWFudXAoJnBhdGgpOworCisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK29zX2xjaG93bl9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIHBhdGhfdCAqcGF0aCwgdWlkX3QgdWlkLCBnaWRfdCBnaWQpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9YmYyNWZkYjBkMjUxMzBlMiBpbnB1dD1iMWM2MDE0ZDU2M2E3MTYxXSovCit7CiAgICAgaW50IHJlczsKLSAgICBtZW1zZXQoJnBhdGgsIDAsIHNpemVvZihwYXRoKSk7Ci0gICAgcGF0aC5mdW5jdGlvbl9uYW1lID0gImxjaG93biI7Ci0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJPJk8mTyY6bGNob3duIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0aF9jb252ZXJ0ZXIsICZwYXRoLAotICAgICAgICAgICAgICAgICAgICAgICAgICBfUHlfVWlkX0NvbnZlcnRlciwgJnVpZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgX1B5X0dpZF9Db252ZXJ0ZXIsICZnaWQpKQotICAgICAgICByZXR1cm4gTlVMTDsKICAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCi0gICAgcmVzID0gbGNob3duKHBhdGgubmFycm93LCB1aWQsIGdpZCk7CisgICAgcmVzID0gbGNob3duKHBhdGgtPm5hcnJvdywgdWlkLCBnaWQpOwogICAgIFB5X0VORF9BTExPV19USFJFQURTCiAgICAgaWYgKHJlcyA8IDApIHsKLSAgICAgICAgcGF0aF9lcnJvcigmcGF0aCk7Ci0gICAgICAgIHBhdGhfY2xlYW51cCgmcGF0aCk7Ci0gICAgICAgIHJldHVybiBOVUxMOworICAgICAgICByZXR1cm4gcGF0aF9lcnJvcihwYXRoKTsKICAgICB9Ci0gICAgcGF0aF9jbGVhbnVwKCZwYXRoKTsKLSAgICBQeV9JTkNSRUYoUHlfTm9uZSk7Ci0gICAgcmV0dXJuIFB5X05vbmU7CisgICAgUHlfUkVUVVJOX05PTkU7CiB9CiAjZW5kaWYgLyogSEFWRV9MQ0hPV04gKi8KIApAQCAtMzQ2MiwxNDggKzQyNDYsMjA5IEBACiAgICAgcmV0dXJuIFB5VW5pY29kZV9EZWNvZGVGU0RlZmF1bHQoYnVmKTsKIH0KIAotUHlEb2NfU1RSVkFSKHBvc2l4X2dldGN3ZF9fZG9jX18sCi0iZ2V0Y3dkKCkgLT4gcGF0aFxuXG5cCi1SZXR1cm4gYSB1bmljb2RlIHN0cmluZyByZXByZXNlbnRpbmcgdGhlIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkuIik7CisKKy8qW2NsaW5pYyBpbnB1dF0KK29zLmdldGN3ZAorCitSZXR1cm4gYSB1bmljb2RlIHN0cmluZyByZXByZXNlbnRpbmcgdGhlIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19nZXRjd2RfX2RvY19fLAorImdldGN3ZCgkbW9kdWxlLCAvKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJuIGEgdW5pY29kZSBzdHJpbmcgcmVwcmVzZW50aW5nIHRoZSBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5LiIpOworCisjZGVmaW5lIE9TX0dFVENXRF9NRVRIT0RERUYgICAgXAorICAgIHsiZ2V0Y3dkIiwgKFB5Q0Z1bmN0aW9uKW9zX2dldGN3ZCwgTUVUSF9OT0FSR1MsIG9zX2dldGN3ZF9fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfZ2V0Y3dkX3VuaWNvZGUoUHlPYmplY3QgKnNlbGYpCitvc19nZXRjd2RfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX2dldGN3ZChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqUHlfVU5VU0VEKGlnbm9yZWQpKQoreworICAgIHJldHVybiBvc19nZXRjd2RfaW1wbChtb2R1bGUpOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorb3NfZ2V0Y3dkX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1kNzBiMjgxZGI1Yzc4ZmY3IGlucHV0PWYwNjkyMTFiYjcwZTNkMzldKi8KIHsKICAgICByZXR1cm4gcG9zaXhfZ2V0Y3dkKDApOwogfQogCi1QeURvY19TVFJWQVIocG9zaXhfZ2V0Y3dkYl9fZG9jX18sCi0iZ2V0Y3dkYigpIC0+IHBhdGhcblxuXAotUmV0dXJuIGEgYnl0ZXMgc3RyaW5nIHJlcHJlc2VudGluZyB0aGUgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeS4iKTsKKworLypbY2xpbmljIGlucHV0XQorb3MuZ2V0Y3dkYgorCitSZXR1cm4gYSBieXRlcyBzdHJpbmcgcmVwcmVzZW50aW5nIHRoZSBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5LgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3NfZ2V0Y3dkYl9fZG9jX18sCisiZ2V0Y3dkYigkbW9kdWxlLCAvKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJuIGEgYnl0ZXMgc3RyaW5nIHJlcHJlc2VudGluZyB0aGUgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeS4iKTsKKworI2RlZmluZSBPU19HRVRDV0RCX01FVEhPRERFRiAgICBcCisgICAgeyJnZXRjd2RiIiwgKFB5Q0Z1bmN0aW9uKW9zX2dldGN3ZGIsIE1FVEhfTk9BUkdTLCBvc19nZXRjd2RiX19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF9nZXRjd2RfYnl0ZXMoUHlPYmplY3QgKnNlbGYpCitvc19nZXRjd2RiX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19nZXRjd2RiKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICpQeV9VTlVTRUQoaWdub3JlZCkpCit7CisgICAgcmV0dXJuIG9zX2dldGN3ZGJfaW1wbChtb2R1bGUpOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorb3NfZ2V0Y3dkYl9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9NzVkYTQ3ZjJkNzVmOTE2NiBpbnB1dD1mNmY2YTM3OGRhZDNkOWNiXSovCiB7CiAgICAgcmV0dXJuIHBvc2l4X2dldGN3ZCgxKTsKIH0KIAorCiAjaWYgKCghZGVmaW5lZChIQVZFX0xJTkspKSAmJiBkZWZpbmVkKE1TX1dJTkRPV1MpKQogI2RlZmluZSBIQVZFX0xJTksgMQogI2VuZGlmCiAKICNpZmRlZiBIQVZFX0xJTksKLVB5RG9jX1NUUlZBUihwb3NpeF9saW5rX19kb2NfXywKLSJsaW5rKHNyYywgZHN0LCAqLCBzcmNfZGlyX2ZkPU5vbmUsIGRzdF9kaXJfZmQ9Tm9uZSwgZm9sbG93X3N5bWxpbmtzPVRydWUpXG5cblwKLUNyZWF0ZSBhIGhhcmQgbGluayB0byBhIGZpbGUuXG5cCi1cblwKLUlmIGVpdGhlciBzcmNfZGlyX2ZkIG9yIGRzdF9kaXJfZmQgaXMgbm90IE5vbmUsIGl0IHNob3VsZCBiZSBhIGZpbGVcblwKLSAgZGVzY3JpcHRvciBvcGVuIHRvIGEgZGlyZWN0b3J5LCBhbmQgdGhlIHJlc3BlY3RpdmUgcGF0aCBzdHJpbmcgKHNyYyBvciBkc3QpXG5cCi0gIHNob3VsZCBiZSByZWxhdGl2ZTsgdGhlIHBhdGggd2lsbCB0aGVuIGJlIHJlbGF0aXZlIHRvIHRoYXQgZGlyZWN0b3J5LlxuXAotSWYgZm9sbG93X3N5bWxpbmtzIGlzIEZhbHNlLCBhbmQgdGhlIGxhc3QgZWxlbWVudCBvZiBzcmMgaXMgYSBzeW1ib2xpY1xuXAotICBsaW5rLCBsaW5rIHdpbGwgY3JlYXRlIGEgbGluayB0byB0aGUgc3ltYm9saWMgbGluayBpdHNlbGYgaW5zdGVhZCBvZiB0aGVcblwKLSAgZmlsZSB0aGUgbGluayBwb2ludHMgdG8uXG5cCi1zcmNfZGlyX2ZkLCBkc3RfZGlyX2ZkLCBhbmQgZm9sbG93X3N5bWxpbmtzIG1heSBub3QgYmUgaW1wbGVtZW50ZWQgb24geW91clxuXAotICBwbGF0Zm9ybS4gIElmIHRoZXkgYXJlIHVuYXZhaWxhYmxlLCB1c2luZyB0aGVtIHdpbGwgcmFpc2UgYVxuXAotICBOb3RJbXBsZW1lbnRlZEVycm9yLiIpOworLypbY2xpbmljIGlucHV0XQorCitvcy5saW5rCisKKyAgICBzcmMgOiBwYXRoX3QKKyAgICBkc3QgOiBwYXRoX3QKKyAgICAqCisgICAgc3JjX2Rpcl9mZCA6IGRpcl9mZCA9IE5vbmUKKyAgICBkc3RfZGlyX2ZkIDogZGlyX2ZkID0gTm9uZQorICAgIGZvbGxvd19zeW1saW5rczogYm9vbCA9IFRydWUKKworQ3JlYXRlIGEgaGFyZCBsaW5rIHRvIGEgZmlsZS4KKworSWYgZWl0aGVyIHNyY19kaXJfZmQgb3IgZHN0X2Rpcl9mZCBpcyBub3QgTm9uZSwgaXQgc2hvdWxkIGJlIGEgZmlsZQorICBkZXNjcmlwdG9yIG9wZW4gdG8gYSBkaXJlY3RvcnksIGFuZCB0aGUgcmVzcGVjdGl2ZSBwYXRoIHN0cmluZyAoc3JjIG9yIGRzdCkKKyAgc2hvdWxkIGJlIHJlbGF0aXZlOyB0aGUgcGF0aCB3aWxsIHRoZW4gYmUgcmVsYXRpdmUgdG8gdGhhdCBkaXJlY3RvcnkuCitJZiBmb2xsb3dfc3ltbGlua3MgaXMgRmFsc2UsIGFuZCB0aGUgbGFzdCBlbGVtZW50IG9mIHNyYyBpcyBhIHN5bWJvbGljCisgIGxpbmssIGxpbmsgd2lsbCBjcmVhdGUgYSBsaW5rIHRvIHRoZSBzeW1ib2xpYyBsaW5rIGl0c2VsZiBpbnN0ZWFkIG9mIHRoZQorICBmaWxlIHRoZSBsaW5rIHBvaW50cyB0by4KK3NyY19kaXJfZmQsIGRzdF9kaXJfZmQsIGFuZCBmb2xsb3dfc3ltbGlua3MgbWF5IG5vdCBiZSBpbXBsZW1lbnRlZCBvbiB5b3VyCisgIHBsYXRmb3JtLiAgSWYgdGhleSBhcmUgdW5hdmFpbGFibGUsIHVzaW5nIHRoZW0gd2lsbCByYWlzZSBhCisgIE5vdEltcGxlbWVudGVkRXJyb3IuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19saW5rX19kb2NfXywKKyJsaW5rKCRtb2R1bGUsIC8sIHNyYywgZHN0LCAqLCBzcmNfZGlyX2ZkPU5vbmUsIGRzdF9kaXJfZmQ9Tm9uZSxcbiIKKyIgICAgIGZvbGxvd19zeW1saW5rcz1UcnVlKVxuIgorIi0tXG4iCisiXG4iCisiQ3JlYXRlIGEgaGFyZCBsaW5rIHRvIGEgZmlsZS5cbiIKKyJcbiIKKyJJZiBlaXRoZXIgc3JjX2Rpcl9mZCBvciBkc3RfZGlyX2ZkIGlzIG5vdCBOb25lLCBpdCBzaG91bGQgYmUgYSBmaWxlXG4iCisiICBkZXNjcmlwdG9yIG9wZW4gdG8gYSBkaXJlY3RvcnksIGFuZCB0aGUgcmVzcGVjdGl2ZSBwYXRoIHN0cmluZyAoc3JjIG9yIGRzdClcbiIKKyIgIHNob3VsZCBiZSByZWxhdGl2ZTsgdGhlIHBhdGggd2lsbCB0aGVuIGJlIHJlbGF0aXZlIHRvIHRoYXQgZGlyZWN0b3J5LlxuIgorIklmIGZvbGxvd19zeW1saW5rcyBpcyBGYWxzZSwgYW5kIHRoZSBsYXN0IGVsZW1lbnQgb2Ygc3JjIGlzIGEgc3ltYm9saWNcbiIKKyIgIGxpbmssIGxpbmsgd2lsbCBjcmVhdGUgYSBsaW5rIHRvIHRoZSBzeW1ib2xpYyBsaW5rIGl0c2VsZiBpbnN0ZWFkIG9mIHRoZVxuIgorIiAgZmlsZSB0aGUgbGluayBwb2ludHMgdG8uXG4iCisic3JjX2Rpcl9mZCwgZHN0X2Rpcl9mZCwgYW5kIGZvbGxvd19zeW1saW5rcyBtYXkgbm90IGJlIGltcGxlbWVudGVkIG9uIHlvdXJcbiIKKyIgIHBsYXRmb3JtLiAgSWYgdGhleSBhcmUgdW5hdmFpbGFibGUsIHVzaW5nIHRoZW0gd2lsbCByYWlzZSBhXG4iCisiICBOb3RJbXBsZW1lbnRlZEVycm9yLiIpOworCisjZGVmaW5lIE9TX0xJTktfTUVUSE9EREVGICAgIFwKKyAgICB7ImxpbmsiLCAoUHlDRnVuY3Rpb24pb3NfbGluaywgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsIG9zX2xpbmtfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X2xpbmsoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQorb3NfbGlua19pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIHBhdGhfdCAqc3JjLCBwYXRoX3QgKmRzdCwgaW50IHNyY19kaXJfZmQsIGludCBkc3RfZGlyX2ZkLCBpbnQgZm9sbG93X3N5bWxpbmtzKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX2xpbmsoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCiB7Ci0gICAgcGF0aF90IHNyYywgZHN0OworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIHN0YXRpYyBjaGFyICpfa2V5d29yZHNbXSA9IHsic3JjIiwgImRzdCIsICJzcmNfZGlyX2ZkIiwgImRzdF9kaXJfZmQiLCAiZm9sbG93X3N5bWxpbmtzIiwgTlVMTH07CisgICAgcGF0aF90IHNyYyA9IFBBVEhfVF9JTklUSUFMSVpFKCJsaW5rIiwgInNyYyIsIDAsIDApOworICAgIHBhdGhfdCBkc3QgPSBQQVRIX1RfSU5JVElBTElaRSgibGluayIsICJkc3QiLCAwLCAwKTsKICAgICBpbnQgc3JjX2Rpcl9mZCA9IERFRkFVTFRfRElSX0ZEOwogICAgIGludCBkc3RfZGlyX2ZkID0gREVGQVVMVF9ESVJfRkQ7CiAgICAgaW50IGZvbGxvd19zeW1saW5rcyA9IDE7Ci0gICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7Ci0gICAgc3RhdGljIGNoYXIgKmtleXdvcmRzW10gPSB7InNyYyIsICJkc3QiLCAic3JjX2Rpcl9mZCIsICJkc3RfZGlyX2ZkIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZm9sbG93X3N5bWxpbmtzIiwgTlVMTH07CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsCisgICAgICAgICJPJk8mfCRPJk8mcDpsaW5rIiwgX2tleXdvcmRzLAorICAgICAgICBwYXRoX2NvbnZlcnRlciwgJnNyYywgcGF0aF9jb252ZXJ0ZXIsICZkc3QsIGRpcl9mZF9jb252ZXJ0ZXIsICZzcmNfZGlyX2ZkLCBkaXJfZmRfY29udmVydGVyLCAmZHN0X2Rpcl9mZCwgJmZvbGxvd19zeW1saW5rcykpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBvc19saW5rX2ltcGwobW9kdWxlLCAmc3JjLCAmZHN0LCBzcmNfZGlyX2ZkLCBkc3RfZGlyX2ZkLCBmb2xsb3dfc3ltbGlua3MpOworCitleGl0OgorICAgIC8qIENsZWFudXAgZm9yIHNyYyAqLworICAgIHBhdGhfY2xlYW51cCgmc3JjKTsKKyAgICAvKiBDbGVhbnVwIGZvciBkc3QgKi8KKyAgICBwYXRoX2NsZWFudXAoJmRzdCk7CisKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorb3NfbGlua19pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIHBhdGhfdCAqc3JjLCBwYXRoX3QgKmRzdCwgaW50IHNyY19kaXJfZmQsIGludCBkc3RfZGlyX2ZkLCBpbnQgZm9sbG93X3N5bWxpbmtzKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTUzNDc3NjYyZmUwMmUxODMgaW5wdXQ9YjAwOTVlYmJjYmFhN2UwNF0qLworewogI2lmZGVmIE1TX1dJTkRPV1MKICAgICBCT09MIHJlc3VsdDsKICNlbHNlCiAgICAgaW50IHJlc3VsdDsKICNlbmRpZgogCi0gICAgbWVtc2V0KCZzcmMsIDAsIHNpemVvZihzcmMpKTsKLSAgICBtZW1zZXQoJmRzdCwgMCwgc2l6ZW9mKGRzdCkpOwotICAgIHNyYy5mdW5jdGlvbl9uYW1lID0gImxpbmsiOwotICAgIGRzdC5mdW5jdGlvbl9uYW1lID0gImxpbmsiOwotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywgIk8mTyZ8TyZPJnA6bGluayIsIGtleXdvcmRzLAotICAgICAgICAgICAgcGF0aF9jb252ZXJ0ZXIsICZzcmMsCi0gICAgICAgICAgICBwYXRoX2NvbnZlcnRlciwgJmRzdCwKLSAgICAgICAgICAgIGRpcl9mZF9jb252ZXJ0ZXIsICZzcmNfZGlyX2ZkLAotICAgICAgICAgICAgZGlyX2ZkX2NvbnZlcnRlciwgJmRzdF9kaXJfZmQsCi0gICAgICAgICAgICAmZm9sbG93X3N5bWxpbmtzKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0KICNpZm5kZWYgSEFWRV9MSU5LQVQKICAgICBpZiAoKHNyY19kaXJfZmQgIT0gREVGQVVMVF9ESVJfRkQpIHx8IChkc3RfZGlyX2ZkICE9IERFRkFVTFRfRElSX0ZEKSkgewogICAgICAgICBhcmd1bWVudF91bmF2YWlsYWJsZV9lcnJvcigibGluayIsICJzcmNfZGlyX2ZkIGFuZCBkc3RfZGlyX2ZkIik7Ci0gICAgICAgIGdvdG8gZXhpdDsKKyAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQogI2VuZGlmCiAKLSAgICBpZiAoKHNyYy5uYXJyb3cgJiYgZHN0LndpZGUpIHx8IChzcmMud2lkZSAmJiBkc3QubmFycm93KSkgeworICAgIGlmICgoc3JjLT5uYXJyb3cgJiYgZHN0LT53aWRlKSB8fCAoc3JjLT53aWRlICYmIGRzdC0+bmFycm93KSkgewogICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfTm90SW1wbGVtZW50ZWRFcnJvciwKICAgICAgICAgICAgICAgICAgICAgICAgICJsaW5rOiBzcmMgYW5kIGRzdCBtdXN0IGJlIHRoZSBzYW1lIHR5cGUiKTsKLSAgICAgICAgZ290byBleGl0OworICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CiAKICNpZmRlZiBNU19XSU5ET1dTCiAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwotICAgIGlmIChzcmMud2lkZSkKLSAgICAgICAgcmVzdWx0ID0gQ3JlYXRlSGFyZExpbmtXKGRzdC53aWRlLCBzcmMud2lkZSwgTlVMTCk7CisgICAgaWYgKHNyYy0+d2lkZSkKKyAgICAgICAgcmVzdWx0ID0gQ3JlYXRlSGFyZExpbmtXKGRzdC0+d2lkZSwgc3JjLT53aWRlLCBOVUxMKTsKICAgICBlbHNlCi0gICAgICAgIHJlc3VsdCA9IENyZWF0ZUhhcmRMaW5rQShkc3QubmFycm93LCBzcmMubmFycm93LCBOVUxMKTsKKyAgICAgICAgcmVzdWx0ID0gQ3JlYXRlSGFyZExpbmtBKGRzdC0+bmFycm93LCBzcmMtPm5hcnJvdywgTlVMTCk7CiAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKIAotICAgIGlmICghcmVzdWx0KSB7Ci0gICAgICAgIHJldHVybl92YWx1ZSA9IHBhdGhfZXJyb3IyKCZzcmMsICZkc3QpOwotICAgICAgICBnb3RvIGV4aXQ7Ci0gICAgfQorICAgIGlmICghcmVzdWx0KQorICAgICAgICByZXR1cm4gcGF0aF9lcnJvcjIoc3JjLCBkc3QpOwogI2Vsc2UKICAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCiAjaWZkZWYgSEFWRV9MSU5LQVQKICAgICBpZiAoKHNyY19kaXJfZmQgIT0gREVGQVVMVF9ESVJfRkQpIHx8CiAgICAgICAgIChkc3RfZGlyX2ZkICE9IERFRkFVTFRfRElSX0ZEKSB8fAogICAgICAgICAoIWZvbGxvd19zeW1saW5rcykpCi0gICAgICAgIHJlc3VsdCA9IGxpbmthdChzcmNfZGlyX2ZkLCBzcmMubmFycm93LAotICAgICAgICAgICAgZHN0X2Rpcl9mZCwgZHN0Lm5hcnJvdywKKyAgICAgICAgcmVzdWx0ID0gbGlua2F0KHNyY19kaXJfZmQsIHNyYy0+bmFycm93LAorICAgICAgICAgICAgZHN0X2Rpcl9mZCwgZHN0LT5uYXJyb3csCiAgICAgICAgICAgICBmb2xsb3dfc3ltbGlua3MgPyBBVF9TWU1MSU5LX0ZPTExPVyA6IDApOwogICAgIGVsc2UKICNlbmRpZgotICAgICAgICByZXN1bHQgPSBsaW5rKHNyYy5uYXJyb3csIGRzdC5uYXJyb3cpOworICAgICAgICByZXN1bHQgPSBsaW5rKHNyYy0+bmFycm93LCBkc3QtPm5hcnJvdyk7CiAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKIAotICAgIGlmIChyZXN1bHQpIHsKLSAgICAgICAgcmV0dXJuX3ZhbHVlID0gcGF0aF9lcnJvcjIoJnNyYywgJmRzdCk7Ci0gICAgICAgIGdvdG8gZXhpdDsKLSAgICB9CisgICAgaWYgKHJlc3VsdCkKKyAgICAgICAgcmV0dXJuIHBhdGhfZXJyb3IyKHNyYywgZHN0KTsKICNlbmRpZgogCi0gICAgcmV0dXJuX3ZhbHVlID0gUHlfTm9uZTsKLSAgICBQeV9JTkNSRUYoUHlfTm9uZSk7Ci0KLWV4aXQ6Ci0gICAgcGF0aF9jbGVhbnVwKCZzcmMpOwotICAgIHBhdGhfY2xlYW51cCgmZHN0KTsKLSAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworICAgIFB5X1JFVFVSTl9OT05FOwogfQogI2VuZGlmCiAKIAotCi1QeURvY19TVFJWQVIocG9zaXhfbGlzdGRpcl9fZG9jX18sCi0ibGlzdGRpcihwYXRoPScuJykgLT4gbGlzdF9vZl9maWxlbmFtZXNcblxuXAotUmV0dXJuIGEgbGlzdCBjb250YWluaW5nIHRoZSBuYW1lcyBvZiB0aGUgZmlsZXMgaW4gdGhlIGRpcmVjdG9yeS5cblwKLVRoZSBsaXN0IGlzIGluIGFyYml0cmFyeSBvcmRlci4gIEl0IGRvZXMgbm90IGluY2x1ZGUgdGhlIHNwZWNpYWxcblwKLWVudHJpZXMgJy4nIGFuZCAnLi4nIGV2ZW4gaWYgdGhleSBhcmUgcHJlc2VudCBpbiB0aGUgZGlyZWN0b3J5LlxuXAotXG5cCi1wYXRoIGNhbiBiZSBzcGVjaWZpZWQgYXMgZWl0aGVyIHN0ciBvciBieXRlcy4gIElmIHBhdGggaXMgYnl0ZXMsXG5cCi0gIHRoZSBmaWxlbmFtZXMgcmV0dXJuZWQgd2lsbCBhbHNvIGJlIGJ5dGVzOyBpbiBhbGwgb3RoZXIgY2lyY3Vtc3RhbmNlc1xuXAotICB0aGUgZmlsZW5hbWVzIHJldHVybmVkIHdpbGwgYmUgc3RyLlxuXAotT24gc29tZSBwbGF0Zm9ybXMsIHBhdGggbWF5IGFsc28gYmUgc3BlY2lmaWVkIGFzIGFuIG9wZW4gZmlsZSBkZXNjcmlwdG9yO1xuXAotICB0aGUgZmlsZSBkZXNjcmlwdG9yIG11c3QgcmVmZXIgdG8gYSBkaXJlY3RvcnkuXG5cCi0gIElmIHRoaXMgZnVuY3Rpb25hbGl0eSBpcyB1bmF2YWlsYWJsZSwgdXNpbmcgaXQgcmFpc2VzIE5vdEltcGxlbWVudGVkRXJyb3IuIik7Ci0KICNpZiBkZWZpbmVkKE1TX1dJTkRPV1MpICYmICFkZWZpbmVkKEhBVkVfT1BFTkRJUikKIHN0YXRpYyBQeU9iamVjdCAqCiBfbGlzdGRpcl93aW5kb3dzX25vX29wZW5kaXIocGF0aF90ICpwYXRoLCBQeU9iamVjdCAqbGlzdCkKIHsKLSAgICBzdGF0aWMgY2hhciAqa2V5d29yZHNbXSA9IHsicGF0aCIsIE5VTEx9OwogICAgIFB5T2JqZWN0ICp2OwogICAgIEhBTkRMRSBoRmluZEZpbGUgPSBJTlZBTElEX0hBTkRMRV9WQUxVRTsKICAgICBCT09MIHJlc3VsdDsKQEAgLTM4NjIsMzggKzQ3MDcsODUgQEAKIH0gIC8qIGVuZCBvZiBfcG9zaXhfbGlzdGRpciAqLwogI2VuZGlmICAvKiB3aGljaCBPUyAqLwogCisKKy8qW2NsaW5pYyBpbnB1dF0KK29zLmxpc3RkaXIKKworICAgIHBhdGggOiBwYXRoX3QobnVsbGFibGU9VHJ1ZSwgYWxsb3dfZmQ9J1BBVEhfSEFWRV9GRE9QRU5ESVInKSA9IE5vbmUKKworUmV0dXJuIGEgbGlzdCBjb250YWluaW5nIHRoZSBuYW1lcyBvZiB0aGUgZmlsZXMgaW4gdGhlIGRpcmVjdG9yeS4KKworcGF0aCBjYW4gYmUgc3BlY2lmaWVkIGFzIGVpdGhlciBzdHIgb3IgYnl0ZXMuICBJZiBwYXRoIGlzIGJ5dGVzLAorICB0aGUgZmlsZW5hbWVzIHJldHVybmVkIHdpbGwgYWxzbyBiZSBieXRlczsgaW4gYWxsIG90aGVyIGNpcmN1bXN0YW5jZXMKKyAgdGhlIGZpbGVuYW1lcyByZXR1cm5lZCB3aWxsIGJlIHN0ci4KK0lmIHBhdGggaXMgTm9uZSwgdXNlcyB0aGUgcGF0aD0nLicuCitPbiBzb21lIHBsYXRmb3JtcywgcGF0aCBtYXkgYWxzbyBiZSBzcGVjaWZpZWQgYXMgYW4gb3BlbiBmaWxlIGRlc2NyaXB0b3I7XAorICB0aGUgZmlsZSBkZXNjcmlwdG9yIG11c3QgcmVmZXIgdG8gYSBkaXJlY3RvcnkuCisgIElmIHRoaXMgZnVuY3Rpb25hbGl0eSBpcyB1bmF2YWlsYWJsZSwgdXNpbmcgaXQgcmFpc2VzIE5vdEltcGxlbWVudGVkRXJyb3IuCisKK1RoZSBsaXN0IGlzIGluIGFyYml0cmFyeSBvcmRlci4gIEl0IGRvZXMgbm90IGluY2x1ZGUgdGhlIHNwZWNpYWwKK2VudHJpZXMgJy4nIGFuZCAnLi4nIGV2ZW4gaWYgdGhleSBhcmUgcHJlc2VudCBpbiB0aGUgZGlyZWN0b3J5LgorCisKK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX2xpc3RkaXJfX2RvY19fLAorImxpc3RkaXIoJG1vZHVsZSwgLywgcGF0aD1Ob25lKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJuIGEgbGlzdCBjb250YWluaW5nIHRoZSBuYW1lcyBvZiB0aGUgZmlsZXMgaW4gdGhlIGRpcmVjdG9yeS5cbiIKKyJcbiIKKyJwYXRoIGNhbiBiZSBzcGVjaWZpZWQgYXMgZWl0aGVyIHN0ciBvciBieXRlcy4gIElmIHBhdGggaXMgYnl0ZXMsXG4iCisiICB0aGUgZmlsZW5hbWVzIHJldHVybmVkIHdpbGwgYWxzbyBiZSBieXRlczsgaW4gYWxsIG90aGVyIGNpcmN1bXN0YW5jZXNcbiIKKyIgIHRoZSBmaWxlbmFtZXMgcmV0dXJuZWQgd2lsbCBiZSBzdHIuXG4iCisiSWYgcGF0aCBpcyBOb25lLCB1c2VzIHRoZSBwYXRoPVwnLlwnLlxuIgorIk9uIHNvbWUgcGxhdGZvcm1zLCBwYXRoIG1heSBhbHNvIGJlIHNwZWNpZmllZCBhcyBhbiBvcGVuIGZpbGUgZGVzY3JpcHRvcjtcXFxuIgorIiAgdGhlIGZpbGUgZGVzY3JpcHRvciBtdXN0IHJlZmVyIHRvIGEgZGlyZWN0b3J5LlxuIgorIiAgSWYgdGhpcyBmdW5jdGlvbmFsaXR5IGlzIHVuYXZhaWxhYmxlLCB1c2luZyBpdCByYWlzZXMgTm90SW1wbGVtZW50ZWRFcnJvci5cbiIKKyJcbiIKKyJUaGUgbGlzdCBpcyBpbiBhcmJpdHJhcnkgb3JkZXIuICBJdCBkb2VzIG5vdCBpbmNsdWRlIHRoZSBzcGVjaWFsXG4iCisiZW50cmllcyBcJy5cJyBhbmQgXCcuLlwnIGV2ZW4gaWYgdGhleSBhcmUgcHJlc2VudCBpbiB0aGUgZGlyZWN0b3J5LiIpOworCisjZGVmaW5lIE9TX0xJU1RESVJfTUVUSE9EREVGICAgIFwKKyAgICB7Imxpc3RkaXIiLCAoUHlDRnVuY3Rpb24pb3NfbGlzdGRpciwgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsIG9zX2xpc3RkaXJfX2RvY19ffSwKKwogc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X2xpc3RkaXIoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQorb3NfbGlzdGRpcl9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIHBhdGhfdCAqcGF0aCk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19saXN0ZGlyKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQogewotICAgIHBhdGhfdCBwYXRoOwotICAgIFB5T2JqZWN0ICpsaXN0ID0gTlVMTDsKLSAgICBzdGF0aWMgY2hhciAqa2V5d29yZHNbXSA9IHsicGF0aCIsIE5VTEx9OwotICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWU7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgc3RhdGljIGNoYXIgKl9rZXl3b3Jkc1tdID0geyJwYXRoIiwgTlVMTH07CisgICAgcGF0aF90IHBhdGggPSBQQVRIX1RfSU5JVElBTElaRSgibGlzdGRpciIsICJwYXRoIiwgMSwgUEFUSF9IQVZFX0ZET1BFTkRJUik7CiAKLSAgICBtZW1zZXQoJnBhdGgsIDAsIHNpemVvZihwYXRoKSk7Ci0gICAgcGF0aC5mdW5jdGlvbl9uYW1lID0gImxpc3RkaXIiOwotICAgIHBhdGgubnVsbGFibGUgPSAxOwotI2lmZGVmIEhBVkVfRkRPUEVORElSCi0gICAgcGF0aC5hbGxvd19mZCA9IDE7Ci0gICAgcGF0aC5mZCA9IC0xOwotI2VuZGlmCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLAorICAgICAgICAifE8mOmxpc3RkaXIiLCBfa2V5d29yZHMsCisgICAgICAgIHBhdGhfY29udmVydGVyLCAmcGF0aCkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBvc19saXN0ZGlyX2ltcGwobW9kdWxlLCAmcGF0aCk7CiAKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsICJ8TyY6bGlzdGRpciIsIGtleXdvcmRzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhdGhfY29udmVydGVyLCAmcGF0aCkpIHsKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgfQotCi0jaWYgZGVmaW5lZChNU19XSU5ET1dTKSAmJiAhZGVmaW5lZChIQVZFX09QRU5ESVIpCi0gICAgcmV0dXJuX3ZhbHVlID0gX2xpc3RkaXJfd2luZG93c19ub19vcGVuZGlyKCZwYXRoLCBsaXN0KTsKLSNlbHNlCi0gICAgcmV0dXJuX3ZhbHVlID0gX3Bvc2l4X2xpc3RkaXIoJnBhdGgsIGxpc3QpOwotI2VuZGlmCitleGl0OgorICAgIC8qIENsZWFudXAgZm9yIHBhdGggKi8KICAgICBwYXRoX2NsZWFudXAoJnBhdGgpOworCiAgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKIH0KIAorc3RhdGljIFB5T2JqZWN0ICoKK29zX2xpc3RkaXJfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBwYXRoX3QgKnBhdGgpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9ZTE1OWJkOWJlNjkwOTAxOCBpbnB1dD0wOWUzMDA0MTZlM2NkNzI5XSovCit7CisjaWYgZGVmaW5lZChNU19XSU5ET1dTKSAmJiAhZGVmaW5lZChIQVZFX09QRU5ESVIpCisgICAgcmV0dXJuIF9saXN0ZGlyX3dpbmRvd3Nfbm9fb3BlbmRpcihwYXRoLCBOVUxMKTsKKyNlbHNlCisgICAgcmV0dXJuIF9wb3NpeF9saXN0ZGlyKHBhdGgsIE5VTEwpOworI2VuZGlmCit9CisKICNpZmRlZiBNU19XSU5ET1dTCiAvKiBBIGhlbHBlciBmdW5jdGlvbiBmb3IgYWJzcGF0aCBvbiB3aW4zMiAqLworLyogQUMgMy41OiBwcm9iYWJseSBqdXN0IGNvbnZlcnQgdG8gdXNpbmcgcGF0aCBjb252ZXJ0ZXIgKi8KIHN0YXRpYyBQeU9iamVjdCAqCiBwb3NpeF9fZ2V0ZnVsbHBhdGhuYW1lKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKIHsKQEAgLTM5NDksMjUgKzQ4NDEsNTkgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlfRmlsZVN5c3RlbURlZmF1bHRFbmNvZGluZywgTlVMTCk7CiAgICAgfQogICAgIHJldHVybiBQeUJ5dGVzX0Zyb21TdHJpbmcob3V0YnVmKTsKLX0gLyogZW5kIG9mIHBvc2l4X19nZXRmdWxscGF0aG5hbWUgKi8KK30KIAogCisvKltjbGluaWMgaW5wdXRdCitvcy5fZ2V0ZmluYWxwYXRobmFtZQogCi0vKiBBIGhlbHBlciBmdW5jdGlvbiBmb3Igc2FtZXBhdGggb24gd2luZG93cyAqLworICAgIHBhdGg6IHVuaWNvZGUKKyAgICAvCisKK0EgaGVscGVyIGZ1bmN0aW9uIGZvciBzYW1lcGF0aCBvbiB3aW5kb3dzLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3NfX2dldGZpbmFscGF0aG5hbWVfX2RvY19fLAorIl9nZXRmaW5hbHBhdGhuYW1lKCRtb2R1bGUsIHBhdGgsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJBIGhlbHBlciBmdW5jdGlvbiBmb3Igc2FtZXBhdGggb24gd2luZG93cy4iKTsKKworI2RlZmluZSBPU19fR0VURklOQUxQQVRITkFNRV9NRVRIT0RERUYgICAgXAorICAgIHsiX2dldGZpbmFscGF0aG5hbWUiLCAoUHlDRnVuY3Rpb24pb3NfX2dldGZpbmFscGF0aG5hbWUsIE1FVEhfVkFSQVJHUywgb3NfX2dldGZpbmFscGF0aG5hbWVfX2RvY19ffSwKKwogc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X19nZXRmaW5hbHBhdGhuYW1lKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK29zX19nZXRmaW5hbHBhdGhuYW1lX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKnBhdGgpOworCitzdGF0aWMgUHlPYmplY3QgKgorb3NfX2dldGZpbmFscGF0aG5hbWUoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgUHlPYmplY3QgKnBhdGg7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgIlU6X2dldGZpbmFscGF0aG5hbWUiLAorICAgICAgICAmcGF0aCkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBvc19fZ2V0ZmluYWxwYXRobmFtZV9pbXBsKG1vZHVsZSwgcGF0aCk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK29zX19nZXRmaW5hbHBhdGhuYW1lX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKnBhdGgpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9NDU2M2M2ZWFjZjFiMDg4MSBpbnB1dD03MWQ1ZTg5MzM0ODkxYmY0XSovCiB7CiAgICAgSEFORExFIGhGaWxlOwogICAgIGludCBidWZfc2l6ZTsKICAgICB3Y2hhcl90ICp0YXJnZXRfcGF0aDsKICAgICBpbnQgcmVzdWx0X2xlbmd0aDsKLSAgICBQeU9iamVjdCAqcG8sICpyZXN1bHQ7Ci0gICAgd2NoYXJfdCAqcGF0aDsKKyAgICBQeU9iamVjdCAqcmVzdWx0OworICAgIHdjaGFyX3QgKnBhdGhfd2NoYXI7CiAKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgIlV8Ol9nZXRmaW5hbHBhdGhuYW1lIiwgJnBvKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgcGF0aCA9IFB5VW5pY29kZV9Bc1VuaWNvZGUocG8pOwotICAgIGlmIChwYXRoID09IE5VTEwpCisgICAgcGF0aF93Y2hhciA9IFB5VW5pY29kZV9Bc1VuaWNvZGUocGF0aCk7CisgICAgaWYgKHBhdGhfd2NoYXIgPT0gTlVMTCkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAKICAgICBpZighY2hlY2tfR2V0RmluYWxQYXRoTmFtZUJ5SGFuZGxlKCkpIHsKQEAgLTM5NzgsNyArNDkwNCw3IEBACiAgICAgfQogCiAgICAgaEZpbGUgPSBDcmVhdGVGaWxlVygKLSAgICAgICAgcGF0aCwKKyAgICAgICAgcGF0aF93Y2hhciwKICAgICAgICAgMCwgLyogZGVzaXJlZCBhY2Nlc3MgKi8KICAgICAgICAgMCwgLyogc2hhcmUgbW9kZSAqLwogICAgICAgICBOVUxMLCAvKiBzZWN1cml0eSBhdHRyaWJ1dGVzICovCkBAIC0zOTg4LDE0ICs0OTE0LDE0IEBACiAgICAgICAgIE5VTEwpOwogCiAgICAgaWYoaEZpbGUgPT0gSU5WQUxJRF9IQU5ETEVfVkFMVUUpCi0gICAgICAgIHJldHVybiB3aW4zMl9lcnJvcl9vYmplY3QoIkNyZWF0ZUZpbGVXIiwgcG8pOworICAgICAgICByZXR1cm4gd2luMzJfZXJyb3Jfb2JqZWN0KCJDcmVhdGVGaWxlVyIsIHBhdGgpOwogCiAgICAgLyogV2UgaGF2ZSBhIGdvb2QgaGFuZGxlIHRvIHRoZSB0YXJnZXQsIHVzZSBpdCB0byBkZXRlcm1pbmUgdGhlCiAgICAgICAgdGFyZ2V0IHBhdGggbmFtZS4gKi8KICAgICBidWZfc2l6ZSA9IFB5X0dldEZpbmFsUGF0aE5hbWVCeUhhbmRsZVcoaEZpbGUsIDAsIDAsIFZPTFVNRV9OQU1FX05UKTsKIAogICAgIGlmKCFidWZfc2l6ZSkKLSAgICAgICAgcmV0dXJuIHdpbjMyX2Vycm9yX29iamVjdCgiR2V0RmluYWxQYXRoTmFtZUJ5SGFuZGxlIiwgcG8pOworICAgICAgICByZXR1cm4gd2luMzJfZXJyb3Jfb2JqZWN0KCJHZXRGaW5hbFBhdGhOYW1lQnlIYW5kbGUiLCBwYXRoKTsKIAogICAgIHRhcmdldF9wYXRoID0gUHlNZW1fTmV3KHdjaGFyX3QsIGJ1Zl9zaXplKzEpOwogICAgIGlmKCF0YXJnZXRfcGF0aCkKQEAgLTQwMDQsMjEgKzQ5MzAsMjEgQEAKICAgICByZXN1bHRfbGVuZ3RoID0gUHlfR2V0RmluYWxQYXRoTmFtZUJ5SGFuZGxlVyhoRmlsZSwgdGFyZ2V0X3BhdGgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVmX3NpemUsIFZPTFVNRV9OQU1FX0RPUyk7CiAgICAgaWYoIXJlc3VsdF9sZW5ndGgpCi0gICAgICAgIHJldHVybiB3aW4zMl9lcnJvcl9vYmplY3QoIkdldEZpbmFsUGF0aE5hbXlCeUhhbmRsZSIsIHBvKTsKKyAgICAgICAgcmV0dXJuIHdpbjMyX2Vycm9yX29iamVjdCgiR2V0RmluYWxQYXRoTmFteUJ5SGFuZGxlIiwgcGF0aCk7CiAKICAgICBpZighQ2xvc2VIYW5kbGUoaEZpbGUpKQotICAgICAgICByZXR1cm4gd2luMzJfZXJyb3Jfb2JqZWN0KCJDbG9zZUhhbmRsZSIsIHBvKTsKKyAgICAgICAgcmV0dXJuIHdpbjMyX2Vycm9yX29iamVjdCgiQ2xvc2VIYW5kbGUiLCBwYXRoKTsKIAogICAgIHRhcmdldF9wYXRoW3Jlc3VsdF9sZW5ndGhdID0gMDsKICAgICByZXN1bHQgPSBQeVVuaWNvZGVfRnJvbVdpZGVDaGFyKHRhcmdldF9wYXRoLCByZXN1bHRfbGVuZ3RoKTsKICAgICBQeU1lbV9GcmVlKHRhcmdldF9wYXRoKTsKICAgICByZXR1cm4gcmVzdWx0OwotCi19IC8qIGVuZCBvZiBwb3NpeF9fZ2V0ZmluYWxwYXRobmFtZSAqLworfQogCiBQeURvY19TVFJWQVIocG9zaXhfX2lzZGlyX19kb2NfXywKICJSZXR1cm4gdHJ1ZSBpZiB0aGUgcGF0aG5hbWUgcmVmZXJzIHRvIGFuIGV4aXN0aW5nIGRpcmVjdG9yeS4iKTsKIAorLyogQUMgMy41OiBjb252ZXJ0IHVzaW5nIHBhdGggY29udmVydGVyICovCiBzdGF0aWMgUHlPYmplY3QgKgogcG9zaXhfX2lzZGlyKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKIHsKQEAgLTQwNTUsMjIgKzQ5ODEsNTUgQEAKICAgICAgICAgUHlfUkVUVVJOX0ZBTFNFOwogfQogCi1QeURvY19TVFJWQVIocG9zaXhfX2dldHZvbHVtZXBhdGhuYW1lX19kb2NfXywKLSJSZXR1cm4gdm9sdW1lIG1vdW50IHBvaW50IG9mIHRoZSBzcGVjaWZpZWQgcGF0aC4iKTsKIAotLyogQSBoZWxwZXIgZnVuY3Rpb24gZm9yIGlzbW91bnQgb24gd2luZG93cyAqLworLypbY2xpbmljIGlucHV0XQorb3MuX2dldHZvbHVtZXBhdGhuYW1lCisKKyAgICBwYXRoOiB1bmljb2RlCisKK0EgaGVscGVyIGZ1bmN0aW9uIGZvciBpc21vdW50IG9uIFdpbjMyLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3NfX2dldHZvbHVtZXBhdGhuYW1lX19kb2NfXywKKyJfZ2V0dm9sdW1lcGF0aG5hbWUoJG1vZHVsZSwgLywgcGF0aClcbiIKKyItLVxuIgorIlxuIgorIkEgaGVscGVyIGZ1bmN0aW9uIGZvciBpc21vdW50IG9uIFdpbjMyLiIpOworCisjZGVmaW5lIE9TX19HRVRWT0xVTUVQQVRITkFNRV9NRVRIT0RERUYgICAgXAorICAgIHsiX2dldHZvbHVtZXBhdGhuYW1lIiwgKFB5Q0Z1bmN0aW9uKW9zX19nZXR2b2x1bWVwYXRobmFtZSwgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsIG9zX19nZXR2b2x1bWVwYXRobmFtZV9fZG9jX199LAorCiBzdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfX2dldHZvbHVtZXBhdGhuYW1lKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK29zX19nZXR2b2x1bWVwYXRobmFtZV9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICpwYXRoKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX19nZXR2b2x1bWVwYXRobmFtZShQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3YXJncykKIHsKLSAgICBQeU9iamVjdCAqcG8sICpyZXN1bHQ7Ci0gICAgd2NoYXJfdCAqcGF0aCwgKm1vdW50cGF0aD1OVUxMOworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIHN0YXRpYyBjaGFyICpfa2V5d29yZHNbXSA9IHsicGF0aCIsIE5VTEx9OworICAgIFB5T2JqZWN0ICpwYXRoOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLAorICAgICAgICAiVTpfZ2V0dm9sdW1lcGF0aG5hbWUiLCBfa2V5d29yZHMsCisgICAgICAgICZwYXRoKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IG9zX19nZXR2b2x1bWVwYXRobmFtZV9pbXBsKG1vZHVsZSwgcGF0aCk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK29zX19nZXR2b2x1bWVwYXRobmFtZV9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICpwYXRoKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWFjMDgzM2I2ZDZkYTc2NTcgaW5wdXQ9N2VhY2FkYzQwYWNiZGE2Yl0qLworeworICAgIFB5T2JqZWN0ICpyZXN1bHQ7CisgICAgd2NoYXJfdCAqcGF0aF93Y2hhciwgKm1vdW50cGF0aD1OVUxMOwogICAgIHNpemVfdCBidWZsZW47CiAgICAgQk9PTCByZXQ7CiAKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgIlV8Ol9nZXR2b2x1bWVwYXRobmFtZSIsICZwbykpCi0gICAgICAgIHJldHVybiBOVUxMOwotICAgIHBhdGggPSBQeVVuaWNvZGVfQXNVbmljb2RlQW5kU2l6ZShwbywgJmJ1Zmxlbik7Ci0gICAgaWYgKHBhdGggPT0gTlVMTCkKKyAgICBwYXRoX3djaGFyID0gUHlVbmljb2RlX0FzVW5pY29kZUFuZFNpemUocGF0aCwgJmJ1Zmxlbik7CisgICAgaWYgKHBhdGhfd2NoYXIgPT0gTlVMTCkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgYnVmbGVuICs9IDE7CiAKQEAgLTQwODcsMTIgKzUwNDYsMTIgQEAKICAgICAgICAgcmV0dXJuIFB5RXJyX05vTWVtb3J5KCk7CiAKICAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCi0gICAgcmV0ID0gR2V0Vm9sdW1lUGF0aE5hbWVXKHBhdGgsIG1vdW50cGF0aCwKKyAgICByZXQgPSBHZXRWb2x1bWVQYXRoTmFtZVcocGF0aF93Y2hhciwgbW91bnRwYXRoLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeV9TQUZFX0RPV05DQVNUKGJ1Zmxlbiwgc2l6ZV90LCBEV09SRCkpOwogICAgIFB5X0VORF9BTExPV19USFJFQURTCiAKICAgICBpZiAoIXJldCkgewotICAgICAgICByZXN1bHQgPSB3aW4zMl9lcnJvcl9vYmplY3QoIl9nZXR2b2x1bWVwYXRobmFtZSIsIHBvKTsKKyAgICAgICAgcmVzdWx0ID0gd2luMzJfZXJyb3Jfb2JqZWN0KCJfZ2V0dm9sdW1lcGF0aG5hbWUiLCBwYXRoKTsKICAgICAgICAgZ290byBleGl0OwogICAgIH0KICAgICByZXN1bHQgPSBQeVVuaWNvZGVfRnJvbVdpZGVDaGFyKG1vdW50cGF0aCwgd2NzbGVuKG1vdW50cGF0aCkpOwpAQCAtNDEwMSw3OCArNTA2MCwxMDcgQEAKICAgICBQeU1lbV9GcmVlKG1vdW50cGF0aCk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLS8qIGVuZCBvZiBwb3NpeF9fZ2V0dm9sdW1lcGF0aG5hbWUgKi8KIAogI2VuZGlmIC8qIE1TX1dJTkRPV1MgKi8KIAotUHlEb2NfU1RSVkFSKHBvc2l4X21rZGlyX19kb2NfXywKLSJta2RpcihwYXRoLCBtb2RlPTBvNzc3LCAqLCBkaXJfZmQ9Tm9uZSlcblxuXAotQ3JlYXRlIGEgZGlyZWN0b3J5LlxuXAotXG5cCi1JZiBkaXJfZmQgaXMgbm90IE5vbmUsIGl0IHNob3VsZCBiZSBhIGZpbGUgZGVzY3JpcHRvciBvcGVuIHRvIGEgZGlyZWN0b3J5LFxuXAotICBhbmQgcGF0aCBzaG91bGQgYmUgcmVsYXRpdmU7IHBhdGggd2lsbCB0aGVuIGJlIHJlbGF0aXZlIHRvIHRoYXQgZGlyZWN0b3J5LlxuXAotZGlyX2ZkIG1heSBub3QgYmUgaW1wbGVtZW50ZWQgb24geW91ciBwbGF0Zm9ybS5cblwKLSAgSWYgaXQgaXMgdW5hdmFpbGFibGUsIHVzaW5nIGl0IHdpbGwgcmFpc2UgYSBOb3RJbXBsZW1lbnRlZEVycm9yLlxuXAotXG5cCi1UaGUgbW9kZSBhcmd1bWVudCBpcyBpZ25vcmVkIG9uIFdpbmRvd3MuIik7CisKKy8qW2NsaW5pYyBpbnB1dF0KK29zLm1rZGlyCisKKyAgICBwYXRoIDogcGF0aF90CisKKyAgICBtb2RlOiBpbnQgPSAwbzc3NworCisgICAgKgorCisgICAgZGlyX2ZkIDogZGlyX2ZkKHJlcXVpcmVzPSdta2RpcmF0JykgPSBOb25lCisKKyMgIm1rZGlyKHBhdGgsIG1vZGU9MG83NzcsICosIGRpcl9mZD1Ob25lKVxuXG5cCisKK0NyZWF0ZSBhIGRpcmVjdG9yeS4KKworSWYgZGlyX2ZkIGlzIG5vdCBOb25lLCBpdCBzaG91bGQgYmUgYSBmaWxlIGRlc2NyaXB0b3Igb3BlbiB0byBhIGRpcmVjdG9yeSwKKyAgYW5kIHBhdGggc2hvdWxkIGJlIHJlbGF0aXZlOyBwYXRoIHdpbGwgdGhlbiBiZSByZWxhdGl2ZSB0byB0aGF0IGRpcmVjdG9yeS4KK2Rpcl9mZCBtYXkgbm90IGJlIGltcGxlbWVudGVkIG9uIHlvdXIgcGxhdGZvcm0uCisgIElmIGl0IGlzIHVuYXZhaWxhYmxlLCB1c2luZyBpdCB3aWxsIHJhaXNlIGEgTm90SW1wbGVtZW50ZWRFcnJvci4KKworVGhlIG1vZGUgYXJndW1lbnQgaXMgaWdub3JlZCBvbiBXaW5kb3dzLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3NfbWtkaXJfX2RvY19fLAorIm1rZGlyKCRtb2R1bGUsIC8sIHBhdGgsIG1vZGU9NTExLCAqLCBkaXJfZmQ9Tm9uZSlcbiIKKyItLVxuIgorIlxuIgorIkNyZWF0ZSBhIGRpcmVjdG9yeS5cbiIKKyJcbiIKKyJJZiBkaXJfZmQgaXMgbm90IE5vbmUsIGl0IHNob3VsZCBiZSBhIGZpbGUgZGVzY3JpcHRvciBvcGVuIHRvIGEgZGlyZWN0b3J5LFxuIgorIiAgYW5kIHBhdGggc2hvdWxkIGJlIHJlbGF0aXZlOyBwYXRoIHdpbGwgdGhlbiBiZSByZWxhdGl2ZSB0byB0aGF0IGRpcmVjdG9yeS5cbiIKKyJkaXJfZmQgbWF5IG5vdCBiZSBpbXBsZW1lbnRlZCBvbiB5b3VyIHBsYXRmb3JtLlxuIgorIiAgSWYgaXQgaXMgdW5hdmFpbGFibGUsIHVzaW5nIGl0IHdpbGwgcmFpc2UgYSBOb3RJbXBsZW1lbnRlZEVycm9yLlxuIgorIlxuIgorIlRoZSBtb2RlIGFyZ3VtZW50IGlzIGlnbm9yZWQgb24gV2luZG93cy4iKTsKKworI2RlZmluZSBPU19NS0RJUl9NRVRIT0RERUYgICAgXAorICAgIHsibWtkaXIiLCAoUHlDRnVuY3Rpb24pb3NfbWtkaXIsIE1FVEhfVkFSQVJHU3xNRVRIX0tFWVdPUkRTLCBvc19ta2Rpcl9fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfbWtkaXIoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQotewotICAgIHBhdGhfdCBwYXRoOwotICAgIGludCBtb2RlID0gMDc3NzsKLSAgICBpbnQgZGlyX2ZkID0gREVGQVVMVF9ESVJfRkQ7Ci0gICAgc3RhdGljIGNoYXIgKmtleXdvcmRzW10gPSB7InBhdGgiLCAibW9kZSIsICJkaXJfZmQiLCBOVUxMfTsKLSAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKLSAgICBpbnQgcmVzdWx0Oworb3NfbWtkaXJfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBwYXRoX3QgKnBhdGgsIGludCBtb2RlLCBpbnQgZGlyX2ZkKTsKIAotICAgIG1lbXNldCgmcGF0aCwgMCwgc2l6ZW9mKHBhdGgpKTsKLSAgICBwYXRoLmZ1bmN0aW9uX25hbWUgPSAibWtkaXIiOwotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywgIk8mfGkkTyY6bWtkaXIiLCBrZXl3b3JkcywKLSAgICAgICAgcGF0aF9jb252ZXJ0ZXIsICZwYXRoLCAmbW9kZSwKLSNpZmRlZiBIQVZFX01LRElSQVQKLSAgICAgICAgZGlyX2ZkX2NvbnZlcnRlciwgJmRpcl9mZAotI2Vsc2UKLSAgICAgICAgZGlyX2ZkX3VuYXZhaWxhYmxlLCAmZGlyX2ZkCi0jZW5kaWYKLSAgICAgICAgKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7CitzdGF0aWMgUHlPYmplY3QgKgorb3NfbWtkaXIoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCit7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgc3RhdGljIGNoYXIgKl9rZXl3b3Jkc1tdID0geyJwYXRoIiwgIm1vZGUiLCAiZGlyX2ZkIiwgTlVMTH07CisgICAgcGF0aF90IHBhdGggPSBQQVRIX1RfSU5JVElBTElaRSgibWtkaXIiLCAicGF0aCIsIDAsIDApOworICAgIGludCBtb2RlID0gNTExOworICAgIGludCBkaXJfZmQgPSBERUZBVUxUX0RJUl9GRDsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywKKyAgICAgICAgIk8mfGkkTyY6bWtkaXIiLCBfa2V5d29yZHMsCisgICAgICAgIHBhdGhfY29udmVydGVyLCAmcGF0aCwgJm1vZGUsIE1LRElSQVRfRElSX0ZEX0NPTlZFUlRFUiwgJmRpcl9mZCkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBvc19ta2Rpcl9pbXBsKG1vZHVsZSwgJnBhdGgsIG1vZGUsIGRpcl9mZCk7CisKK2V4aXQ6CisgICAgLyogQ2xlYW51cCBmb3IgcGF0aCAqLworICAgIHBhdGhfY2xlYW51cCgmcGF0aCk7CisKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorb3NfbWtkaXJfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBwYXRoX3QgKnBhdGgsIGludCBtb2RlLCBpbnQgZGlyX2ZkKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTU1YzZlZjJiYzFiMjA3ZTYgaW5wdXQ9ZTk2NWY2ODM3N2U5YjFjZV0qLworeworICAgIGludCByZXN1bHQ7CiAKICNpZmRlZiBNU19XSU5ET1dTCiAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwotICAgIGlmIChwYXRoLndpZGUpCi0gICAgICAgIHJlc3VsdCA9IENyZWF0ZURpcmVjdG9yeVcocGF0aC53aWRlLCBOVUxMKTsKKyAgICBpZiAocGF0aC0+d2lkZSkKKyAgICAgICAgcmVzdWx0ID0gQ3JlYXRlRGlyZWN0b3J5VyhwYXRoLT53aWRlLCBOVUxMKTsKICAgICBlbHNlCi0gICAgICAgIHJlc3VsdCA9IENyZWF0ZURpcmVjdG9yeUEocGF0aC5uYXJyb3csIE5VTEwpOworICAgICAgICByZXN1bHQgPSBDcmVhdGVEaXJlY3RvcnlBKHBhdGgtPm5hcnJvdywgTlVMTCk7CiAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKIAotICAgIGlmICghcmVzdWx0KSB7Ci0gICAgICAgIHJldHVybl92YWx1ZSA9IHBhdGhfZXJyb3IoJnBhdGgpOwotICAgICAgICBnb3RvIGV4aXQ7Ci0gICAgfQorICAgIGlmICghcmVzdWx0KQorICAgICAgICByZXR1cm4gcGF0aF9lcnJvcihwYXRoKTsKICNlbHNlCiAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwogI2lmIEhBVkVfTUtESVJBVAogICAgIGlmIChkaXJfZmQgIT0gREVGQVVMVF9ESVJfRkQpCi0gICAgICAgIHJlc3VsdCA9IG1rZGlyYXQoZGlyX2ZkLCBwYXRoLm5hcnJvdywgbW9kZSk7CisgICAgICAgIHJlc3VsdCA9IG1rZGlyYXQoZGlyX2ZkLCBwYXRoLT5uYXJyb3csIG1vZGUpOwogICAgIGVsc2UKICNlbmRpZgogI2lmICggZGVmaW5lZChfX1dBVENPTUNfXykgfHwgZGVmaW5lZChQWUNDX1ZBQ1BQKSApICYmICFkZWZpbmVkKF9fUU5YX18pCi0gICAgICAgIHJlc3VsdCA9IG1rZGlyKHBhdGgubmFycm93KTsKKyAgICAgICAgcmVzdWx0ID0gbWtkaXIocGF0aC0+bmFycm93KTsKICNlbHNlCi0gICAgICAgIHJlc3VsdCA9IG1rZGlyKHBhdGgubmFycm93LCBtb2RlKTsKKyAgICAgICAgcmVzdWx0ID0gbWtkaXIocGF0aC0+bmFycm93LCBtb2RlKTsKICNlbmRpZgogICAgIFB5X0VORF9BTExPV19USFJFQURTCi0gICAgaWYgKHJlc3VsdCA8IDApIHsKLSAgICAgICAgcmV0dXJuX3ZhbHVlID0gcGF0aF9lcnJvcigmcGF0aCk7Ci0gICAgICAgIGdvdG8gZXhpdDsKLSAgICB9CisgICAgaWYgKHJlc3VsdCA8IDApCisgICAgICAgIHJldHVybiBwYXRoX2Vycm9yKHBhdGgpOwogI2VuZGlmCi0gICAgcmV0dXJuX3ZhbHVlID0gUHlfTm9uZTsKLSAgICBQeV9JTkNSRUYoUHlfTm9uZSk7Ci1leGl0OgotICAgIHBhdGhfY2xlYW51cCgmcGF0aCk7Ci0gICAgcmV0dXJuIHJldHVybl92YWx1ZTsKKyAgICBQeV9SRVRVUk5fTk9ORTsKIH0KIAogCkBAIC00MTgzLDE3ICs1MTcxLDQ4IEBACiAKIAogI2lmZGVmIEhBVkVfTklDRQotUHlEb2NfU1RSVkFSKHBvc2l4X25pY2VfX2RvY19fLAotIm5pY2UoaW5jKSAtPiBuZXdfcHJpb3JpdHlcblxuXAotRGVjcmVhc2UgdGhlIHByaW9yaXR5IG9mIHByb2Nlc3MgYnkgaW5jIGFuZCByZXR1cm4gdGhlIG5ldyBwcmlvcml0eS4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK29zLm5pY2UKKworICAgIGluY3JlbWVudDogaW50CisgICAgLworCitBZGQgaW5jcmVtZW50IHRvIHRoZSBwcmlvcml0eSBvZiBwcm9jZXNzIGFuZCByZXR1cm4gdGhlIG5ldyBwcmlvcml0eS4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX25pY2VfX2RvY19fLAorIm5pY2UoJG1vZHVsZSwgaW5jcmVtZW50LCAvKVxuIgorIi0tXG4iCisiXG4iCisiQWRkIGluY3JlbWVudCB0byB0aGUgcHJpb3JpdHkgb2YgcHJvY2VzcyBhbmQgcmV0dXJuIHRoZSBuZXcgcHJpb3JpdHkuIik7CisKKyNkZWZpbmUgT1NfTklDRV9NRVRIT0RERUYgICAgXAorICAgIHsibmljZSIsIChQeUNGdW5jdGlvbilvc19uaWNlLCBNRVRIX1ZBUkFSR1MsIG9zX25pY2VfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X25pY2UoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQotewotICAgIGludCBpbmNyZW1lbnQsIHZhbHVlOworb3NfbmljZV9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGludCBpbmNyZW1lbnQpOwogCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJpOm5pY2UiLCAmaW5jcmVtZW50KSkKLSAgICAgICAgcmV0dXJuIE5VTEw7CitzdGF0aWMgUHlPYmplY3QgKgorb3NfbmljZShQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncykKK3sKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBpbnQgaW5jcmVtZW50OworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCisgICAgICAgICJpOm5pY2UiLAorICAgICAgICAmaW5jcmVtZW50KSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IG9zX25pY2VfaW1wbChtb2R1bGUsIGluY3JlbWVudCk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK29zX25pY2VfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBpbnQgaW5jcmVtZW50KQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWMzNjBkYzJhM2JkOGUzZDAgaW5wdXQ9ODY0YmUyZDQwMmEyMWRhMl0qLworeworICAgIGludCB2YWx1ZTsKIAogICAgIC8qIFRoZXJlIGFyZSB0d28gZmxhdm91cnMgb2YgJ25pY2UnOiBvbmUgdGhhdCByZXR1cm5zIHRoZSBuZXcKICAgICAgICBwcmlvcml0eSAoYXMgcmVxdWlyZWQgYnkgYWxtb3N0IGFsbCBzdGFuZGFyZHMgb3V0IHRoZXJlKSBhbmQgdGhlCkBAIC00MjIwLDE3ICs1MjM5LDUxIEBACiAKIAogI2lmZGVmIEhBVkVfR0VUUFJJT1JJVFkKLVB5RG9jX1NUUlZBUihwb3NpeF9nZXRwcmlvcml0eV9fZG9jX18sCi0iZ2V0cHJpb3JpdHkod2hpY2gsIHdobykgLT4gY3VycmVudF9wcmlvcml0eVxuXG5cCi1HZXQgcHJvZ3JhbSBzY2hlZHVsaW5nIHByaW9yaXR5LiIpOworLypbY2xpbmljIGlucHV0XQorb3MuZ2V0cHJpb3JpdHkKKworICAgIHdoaWNoOiBpbnQKKyAgICB3aG86IGludAorCitSZXR1cm4gcHJvZ3JhbSBzY2hlZHVsaW5nIHByaW9yaXR5LgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3NfZ2V0cHJpb3JpdHlfX2RvY19fLAorImdldHByaW9yaXR5KCRtb2R1bGUsIC8sIHdoaWNoLCB3aG8pXG4iCisiLS1cbiIKKyJcbiIKKyJSZXR1cm4gcHJvZ3JhbSBzY2hlZHVsaW5nIHByaW9yaXR5LiIpOworCisjZGVmaW5lIE9TX0dFVFBSSU9SSVRZX01FVEhPRERFRiAgICBcCisgICAgeyJnZXRwcmlvcml0eSIsIChQeUNGdW5jdGlvbilvc19nZXRwcmlvcml0eSwgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsIG9zX2dldHByaW9yaXR5X19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF9nZXRwcmlvcml0eShQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCi17Ci0gICAgaW50IHdoaWNoLCB3aG8sIHJldHZhbDsKK29zX2dldHByaW9yaXR5X2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgaW50IHdoaWNoLCBpbnQgd2hvKTsKIAotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiaWkiLCAmd2hpY2gsICZ3aG8pKQotICAgICAgICByZXR1cm4gTlVMTDsKK3N0YXRpYyBQeU9iamVjdCAqCitvc19nZXRwcmlvcml0eShQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3YXJncykKK3sKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBzdGF0aWMgY2hhciAqX2tleXdvcmRzW10gPSB7IndoaWNoIiwgIndobyIsIE5VTEx9OworICAgIGludCB3aGljaDsKKyAgICBpbnQgd2hvOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLAorICAgICAgICAiaWk6Z2V0cHJpb3JpdHkiLCBfa2V5d29yZHMsCisgICAgICAgICZ3aGljaCwgJndobykpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBvc19nZXRwcmlvcml0eV9pbXBsKG1vZHVsZSwgd2hpY2gsIHdobyk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK29zX2dldHByaW9yaXR5X2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgaW50IHdoaWNoLCBpbnQgd2hvKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTgxNjM5Y2Y3NjVmMDVkYWUgaW5wdXQ9OWJlNjE1ZDQwZTI1NDRlZl0qLworeworICAgIGludCByZXR2YWw7CisKICAgICBlcnJubyA9IDA7CiAgICAgcmV0dmFsID0gZ2V0cHJpb3JpdHkod2hpY2gsIHdobyk7CiAgICAgaWYgKGVycm5vICE9IDApCkBAIC00MjQxLDE4ICs1Mjk0LDU0IEBACiAKIAogI2lmZGVmIEhBVkVfU0VUUFJJT1JJVFkKLVB5RG9jX1NUUlZBUihwb3NpeF9zZXRwcmlvcml0eV9fZG9jX18sCi0ic2V0cHJpb3JpdHkod2hpY2gsIHdobywgcHJpbykgLT4gTm9uZVxuXG5cCi1TZXQgcHJvZ3JhbSBzY2hlZHVsaW5nIHByaW9yaXR5LiIpOworLypbY2xpbmljIGlucHV0XQorb3Muc2V0cHJpb3JpdHkKKworICAgIHdoaWNoOiBpbnQKKyAgICB3aG86IGludAorICAgIHByaW9yaXR5OiBpbnQKKworU2V0IHByb2dyYW0gc2NoZWR1bGluZyBwcmlvcml0eS4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX3NldHByaW9yaXR5X19kb2NfXywKKyJzZXRwcmlvcml0eSgkbW9kdWxlLCAvLCB3aGljaCwgd2hvLCBwcmlvcml0eSlcbiIKKyItLVxuIgorIlxuIgorIlNldCBwcm9ncmFtIHNjaGVkdWxpbmcgcHJpb3JpdHkuIik7CisKKyNkZWZpbmUgT1NfU0VUUFJJT1JJVFlfTUVUSE9EREVGICAgIFwKKyAgICB7InNldHByaW9yaXR5IiwgKFB5Q0Z1bmN0aW9uKW9zX3NldHByaW9yaXR5LCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywgb3Nfc2V0cHJpb3JpdHlfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X3NldHByaW9yaXR5KFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKLXsKLSAgICBpbnQgd2hpY2gsIHdobywgcHJpbywgcmV0dmFsOworb3Nfc2V0cHJpb3JpdHlfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBpbnQgd2hpY2gsIGludCB3aG8sIGludCBwcmlvcml0eSk7CiAKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgImlpaSIsICZ3aGljaCwgJndobywgJnByaW8pKQotICAgICAgICByZXR1cm4gTlVMTDsKLSAgICByZXR2YWwgPSBzZXRwcmlvcml0eSh3aGljaCwgd2hvLCBwcmlvKTsKK3N0YXRpYyBQeU9iamVjdCAqCitvc19zZXRwcmlvcml0eShQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3YXJncykKK3sKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBzdGF0aWMgY2hhciAqX2tleXdvcmRzW10gPSB7IndoaWNoIiwgIndobyIsICJwcmlvcml0eSIsIE5VTEx9OworICAgIGludCB3aGljaDsKKyAgICBpbnQgd2hvOworICAgIGludCBwcmlvcml0eTsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywKKyAgICAgICAgImlpaTpzZXRwcmlvcml0eSIsIF9rZXl3b3JkcywKKyAgICAgICAgJndoaWNoLCAmd2hvLCAmcHJpb3JpdHkpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gb3Nfc2V0cHJpb3JpdHlfaW1wbChtb2R1bGUsIHdoaWNoLCB3aG8sIHByaW9yaXR5KTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorb3Nfc2V0cHJpb3JpdHlfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBpbnQgd2hpY2gsIGludCB3aG8sIGludCBwcmlvcml0eSkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1kZGFkNjI2NTFmYjIxMjBjIGlucHV0PTcxMGNjYmY2NWI5ZGM1MTNdKi8KK3sKKyAgICBpbnQgcmV0dmFsOworCisgICAgcmV0dmFsID0gc2V0cHJpb3JpdHkod2hpY2gsIHdobywgcHJpb3JpdHkpOwogICAgIGlmIChyZXR2YWwgPT0gLTEpCiAgICAgICAgIHJldHVybiBwb3NpeF9lcnJvcigpOwogICAgIFB5X1JFVFVSTl9OT05FOwpAQCAtNDI2MSwxNyArNTM1MCwxMCBAQAogCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1pbnRlcm5hbF9yZW5hbWUoUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MsIGludCBpc19yZXBsYWNlKQoraW50ZXJuYWxfcmVuYW1lKHBhdGhfdCAqc3JjLCBwYXRoX3QgKmRzdCwgaW50IHNyY19kaXJfZmQsIGludCBkc3RfZGlyX2ZkLCBpbnQgaXNfcmVwbGFjZSkKIHsKICAgICBjaGFyICpmdW5jdGlvbl9uYW1lID0gaXNfcmVwbGFjZSA/ICJyZXBsYWNlIiA6ICJyZW5hbWUiOwotICAgIHBhdGhfdCBzcmM7Ci0gICAgcGF0aF90IGRzdDsKLSAgICBpbnQgc3JjX2Rpcl9mZCA9IERFRkFVTFRfRElSX0ZEOwotICAgIGludCBkc3RfZGlyX2ZkID0gREVGQVVMVF9ESVJfRkQ7CiAgICAgaW50IGRpcl9mZF9zcGVjaWZpZWQ7Ci0gICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7Ci0gICAgY2hhciBmb3JtYXRbMjRdOwotICAgIHN0YXRpYyBjaGFyICprZXl3b3Jkc1tdID0geyJzcmMiLCAiZHN0IiwgInNyY19kaXJfZmQiLCAiZHN0X2Rpcl9mZCIsIE5VTEx9OwogCiAjaWZkZWYgTVNfV0lORE9XUwogICAgIEJPT0wgcmVzdWx0OwpAQCAtNDI4MCwyMTAgKzUzNjIsNDE5IEBACiAgICAgaW50IHJlc3VsdDsKICNlbmRpZgogCi0gICAgbWVtc2V0KCZzcmMsIDAsIHNpemVvZihzcmMpKTsKLSAgICBtZW1zZXQoJmRzdCwgMCwgc2l6ZW9mKGRzdCkpOwotICAgIHNyYy5mdW5jdGlvbl9uYW1lID0gZnVuY3Rpb25fbmFtZTsKLSAgICBkc3QuZnVuY3Rpb25fbmFtZSA9IGZ1bmN0aW9uX25hbWU7Ci0gICAgc3RyY3B5KGZvcm1hdCwgIk8mTyZ8JE8mTyY6Iik7Ci0gICAgc3RyY2F0KGZvcm1hdCwgZnVuY3Rpb25fbmFtZSk7Ci0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLCBmb3JtYXQsIGtleXdvcmRzLAotICAgICAgICBwYXRoX2NvbnZlcnRlciwgJnNyYywKLSAgICAgICAgcGF0aF9jb252ZXJ0ZXIsICZkc3QsCi0gICAgICAgIGRpcl9mZF9jb252ZXJ0ZXIsICZzcmNfZGlyX2ZkLAotICAgICAgICBkaXJfZmRfY29udmVydGVyLCAmZHN0X2Rpcl9mZCkpCi0gICAgICAgIHJldHVybiBOVUxMOwotCiAgICAgZGlyX2ZkX3NwZWNpZmllZCA9IChzcmNfZGlyX2ZkICE9IERFRkFVTFRfRElSX0ZEKSB8fAogICAgICAgICAgICAgICAgICAgICAgICAoZHN0X2Rpcl9mZCAhPSBERUZBVUxUX0RJUl9GRCk7CiAjaWZuZGVmIEhBVkVfUkVOQU1FQVQKICAgICBpZiAoZGlyX2ZkX3NwZWNpZmllZCkgewogICAgICAgICBhcmd1bWVudF91bmF2YWlsYWJsZV9lcnJvcihmdW5jdGlvbl9uYW1lLCAic3JjX2Rpcl9mZCBhbmQgZHN0X2Rpcl9mZCIpOwotICAgICAgICBnb3RvIGV4aXQ7CisgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KICNlbmRpZgogCi0gICAgaWYgKChzcmMubmFycm93ICYmIGRzdC53aWRlKSB8fCAoc3JjLndpZGUgJiYgZHN0Lm5hcnJvdykpIHsKKyAgICBpZiAoKHNyYy0+bmFycm93ICYmIGRzdC0+d2lkZSkgfHwgKHNyYy0+d2lkZSAmJiBkc3QtPm5hcnJvdykpIHsKICAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX1ZhbHVlRXJyb3IsCiAgICAgICAgICAgICAgICAgICAgICAiJXM6IHNyYyBhbmQgZHN0IG11c3QgYmUgdGhlIHNhbWUgdHlwZSIsIGZ1bmN0aW9uX25hbWUpOwotICAgICAgICBnb3RvIGV4aXQ7CisgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KIAogI2lmZGVmIE1TX1dJTkRPV1MKICAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCi0gICAgaWYgKHNyYy53aWRlKQotICAgICAgICByZXN1bHQgPSBNb3ZlRmlsZUV4VyhzcmMud2lkZSwgZHN0LndpZGUsIGZsYWdzKTsKKyAgICBpZiAoc3JjLT53aWRlKQorICAgICAgICByZXN1bHQgPSBNb3ZlRmlsZUV4VyhzcmMtPndpZGUsIGRzdC0+d2lkZSwgZmxhZ3MpOwogICAgIGVsc2UKLSAgICAgICAgcmVzdWx0ID0gTW92ZUZpbGVFeEEoc3JjLm5hcnJvdywgZHN0Lm5hcnJvdywgZmxhZ3MpOworICAgICAgICByZXN1bHQgPSBNb3ZlRmlsZUV4QShzcmMtPm5hcnJvdywgZHN0LT5uYXJyb3csIGZsYWdzKTsKICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUwogCi0gICAgaWYgKCFyZXN1bHQpIHsKLSAgICAgICAgcmV0dXJuX3ZhbHVlID0gcGF0aF9lcnJvcjIoJnNyYywgJmRzdCk7Ci0gICAgICAgIGdvdG8gZXhpdDsKLSAgICB9CisgICAgaWYgKCFyZXN1bHQpCisgICAgICAgIHJldHVybiBwYXRoX2Vycm9yMihzcmMsIGRzdCk7CiAKICNlbHNlCiAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwogI2lmZGVmIEhBVkVfUkVOQU1FQVQKICAgICBpZiAoZGlyX2ZkX3NwZWNpZmllZCkKLSAgICAgICAgcmVzdWx0ID0gcmVuYW1lYXQoc3JjX2Rpcl9mZCwgc3JjLm5hcnJvdywgZHN0X2Rpcl9mZCwgZHN0Lm5hcnJvdyk7CisgICAgICAgIHJlc3VsdCA9IHJlbmFtZWF0KHNyY19kaXJfZmQsIHNyYy0+bmFycm93LCBkc3RfZGlyX2ZkLCBkc3QtPm5hcnJvdyk7CiAgICAgZWxzZQogI2VuZGlmCi0gICAgICAgIHJlc3VsdCA9IHJlbmFtZShzcmMubmFycm93LCBkc3QubmFycm93KTsKKyAgICAgICAgcmVzdWx0ID0gcmVuYW1lKHNyYy0+bmFycm93LCBkc3QtPm5hcnJvdyk7CiAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKIAotICAgIGlmIChyZXN1bHQpIHsKLSAgICAgICAgcmV0dXJuX3ZhbHVlID0gcGF0aF9lcnJvcjIoJnNyYywgJmRzdCk7Ci0gICAgICAgIGdvdG8gZXhpdDsKLSAgICB9CisgICAgaWYgKHJlc3VsdCkKKyAgICAgICAgcmV0dXJuIHBhdGhfZXJyb3IyKHNyYywgZHN0KTsKICNlbmRpZgorICAgIFB5X1JFVFVSTl9OT05FOworfQogCi0gICAgUHlfSU5DUkVGKFB5X05vbmUpOwotICAgIHJldHVybl92YWx1ZSA9IFB5X05vbmU7CisKKy8qW2NsaW5pYyBpbnB1dF0KK29zLnJlbmFtZQorCisgICAgc3JjIDogcGF0aF90CisgICAgZHN0IDogcGF0aF90CisgICAgKgorICAgIHNyY19kaXJfZmQgOiBkaXJfZmQgPSBOb25lCisgICAgZHN0X2Rpcl9mZCA6IGRpcl9mZCA9IE5vbmUKKworUmVuYW1lIGEgZmlsZSBvciBkaXJlY3RvcnkuCisKK0lmIGVpdGhlciBzcmNfZGlyX2ZkIG9yIGRzdF9kaXJfZmQgaXMgbm90IE5vbmUsIGl0IHNob3VsZCBiZSBhIGZpbGUKKyAgZGVzY3JpcHRvciBvcGVuIHRvIGEgZGlyZWN0b3J5LCBhbmQgdGhlIHJlc3BlY3RpdmUgcGF0aCBzdHJpbmcgKHNyYyBvciBkc3QpCisgIHNob3VsZCBiZSByZWxhdGl2ZTsgdGhlIHBhdGggd2lsbCB0aGVuIGJlIHJlbGF0aXZlIHRvIHRoYXQgZGlyZWN0b3J5Lgorc3JjX2Rpcl9mZCBhbmQgZHN0X2Rpcl9mZCwgbWF5IG5vdCBiZSBpbXBsZW1lbnRlZCBvbiB5b3VyIHBsYXRmb3JtLgorICBJZiB0aGV5IGFyZSB1bmF2YWlsYWJsZSwgdXNpbmcgdGhlbSB3aWxsIHJhaXNlIGEgTm90SW1wbGVtZW50ZWRFcnJvci4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX3JlbmFtZV9fZG9jX18sCisicmVuYW1lKCRtb2R1bGUsIC8sIHNyYywgZHN0LCAqLCBzcmNfZGlyX2ZkPU5vbmUsIGRzdF9kaXJfZmQ9Tm9uZSlcbiIKKyItLVxuIgorIlxuIgorIlJlbmFtZSBhIGZpbGUgb3IgZGlyZWN0b3J5LlxuIgorIlxuIgorIklmIGVpdGhlciBzcmNfZGlyX2ZkIG9yIGRzdF9kaXJfZmQgaXMgbm90IE5vbmUsIGl0IHNob3VsZCBiZSBhIGZpbGVcbiIKKyIgIGRlc2NyaXB0b3Igb3BlbiB0byBhIGRpcmVjdG9yeSwgYW5kIHRoZSByZXNwZWN0aXZlIHBhdGggc3RyaW5nIChzcmMgb3IgZHN0KVxuIgorIiAgc2hvdWxkIGJlIHJlbGF0aXZlOyB0aGUgcGF0aCB3aWxsIHRoZW4gYmUgcmVsYXRpdmUgdG8gdGhhdCBkaXJlY3RvcnkuXG4iCisic3JjX2Rpcl9mZCBhbmQgZHN0X2Rpcl9mZCwgbWF5IG5vdCBiZSBpbXBsZW1lbnRlZCBvbiB5b3VyIHBsYXRmb3JtLlxuIgorIiAgSWYgdGhleSBhcmUgdW5hdmFpbGFibGUsIHVzaW5nIHRoZW0gd2lsbCByYWlzZSBhIE5vdEltcGxlbWVudGVkRXJyb3IuIik7CisKKyNkZWZpbmUgT1NfUkVOQU1FX01FVEhPRERFRiAgICBcCisgICAgeyJyZW5hbWUiLCAoUHlDRnVuY3Rpb24pb3NfcmVuYW1lLCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywgb3NfcmVuYW1lX19kb2NfX30sCisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19yZW5hbWVfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBwYXRoX3QgKnNyYywgcGF0aF90ICpkc3QsIGludCBzcmNfZGlyX2ZkLCBpbnQgZHN0X2Rpcl9mZCk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19yZW5hbWUoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCit7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgc3RhdGljIGNoYXIgKl9rZXl3b3Jkc1tdID0geyJzcmMiLCAiZHN0IiwgInNyY19kaXJfZmQiLCAiZHN0X2Rpcl9mZCIsIE5VTEx9OworICAgIHBhdGhfdCBzcmMgPSBQQVRIX1RfSU5JVElBTElaRSgicmVuYW1lIiwgInNyYyIsIDAsIDApOworICAgIHBhdGhfdCBkc3QgPSBQQVRIX1RfSU5JVElBTElaRSgicmVuYW1lIiwgImRzdCIsIDAsIDApOworICAgIGludCBzcmNfZGlyX2ZkID0gREVGQVVMVF9ESVJfRkQ7CisgICAgaW50IGRzdF9kaXJfZmQgPSBERUZBVUxUX0RJUl9GRDsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywKKyAgICAgICAgIk8mTyZ8JE8mTyY6cmVuYW1lIiwgX2tleXdvcmRzLAorICAgICAgICBwYXRoX2NvbnZlcnRlciwgJnNyYywgcGF0aF9jb252ZXJ0ZXIsICZkc3QsIGRpcl9mZF9jb252ZXJ0ZXIsICZzcmNfZGlyX2ZkLCBkaXJfZmRfY29udmVydGVyLCAmZHN0X2Rpcl9mZCkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBvc19yZW5hbWVfaW1wbChtb2R1bGUsICZzcmMsICZkc3QsIHNyY19kaXJfZmQsIGRzdF9kaXJfZmQpOworCiBleGl0OgorICAgIC8qIENsZWFudXAgZm9yIHNyYyAqLwogICAgIHBhdGhfY2xlYW51cCgmc3JjKTsKKyAgICAvKiBDbGVhbnVwIGZvciBkc3QgKi8KICAgICBwYXRoX2NsZWFudXAoJmRzdCk7CisKICAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOwogfQogCi1QeURvY19TVFJWQVIocG9zaXhfcmVuYW1lX19kb2NfXywKLSJyZW5hbWUoc3JjLCBkc3QsICosIHNyY19kaXJfZmQ9Tm9uZSwgZHN0X2Rpcl9mZD1Ob25lKVxuXG5cCi1SZW5hbWUgYSBmaWxlIG9yIGRpcmVjdG9yeS5cblwKLVxuXAotSWYgZWl0aGVyIHNyY19kaXJfZmQgb3IgZHN0X2Rpcl9mZCBpcyBub3QgTm9uZSwgaXQgc2hvdWxkIGJlIGEgZmlsZVxuXAotICBkZXNjcmlwdG9yIG9wZW4gdG8gYSBkaXJlY3RvcnksIGFuZCB0aGUgcmVzcGVjdGl2ZSBwYXRoIHN0cmluZyAoc3JjIG9yIGRzdClcblwKLSAgc2hvdWxkIGJlIHJlbGF0aXZlOyB0aGUgcGF0aCB3aWxsIHRoZW4gYmUgcmVsYXRpdmUgdG8gdGhhdCBkaXJlY3RvcnkuXG5cCi1zcmNfZGlyX2ZkIGFuZCBkc3RfZGlyX2ZkLCBtYXkgbm90IGJlIGltcGxlbWVudGVkIG9uIHlvdXIgcGxhdGZvcm0uXG5cCi0gIElmIHRoZXkgYXJlIHVuYXZhaWxhYmxlLCB1c2luZyB0aGVtIHdpbGwgcmFpc2UgYSBOb3RJbXBsZW1lbnRlZEVycm9yLiIpOwotCiBzdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfcmVuYW1lKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3YXJncykKK29zX3JlbmFtZV9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIHBhdGhfdCAqc3JjLCBwYXRoX3QgKmRzdCwgaW50IHNyY19kaXJfZmQsIGludCBkc3RfZGlyX2ZkKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWM5MzZiZGM4MWY0NjBhMWUgaW5wdXQ9ZmFhNjFjODQ3OTEyYzg1MF0qLwogewotICAgIHJldHVybiBpbnRlcm5hbF9yZW5hbWUoYXJncywga3dhcmdzLCAwKTsKKyAgICByZXR1cm4gaW50ZXJuYWxfcmVuYW1lKHNyYywgZHN0LCBzcmNfZGlyX2ZkLCBkc3RfZGlyX2ZkLCAwKTsKIH0KIAotUHlEb2NfU1RSVkFSKHBvc2l4X3JlcGxhY2VfX2RvY19fLAotInJlcGxhY2Uoc3JjLCBkc3QsICosIHNyY19kaXJfZmQ9Tm9uZSwgZHN0X2Rpcl9mZD1Ob25lKVxuXG5cCi1SZW5hbWUgYSBmaWxlIG9yIGRpcmVjdG9yeSwgb3ZlcndyaXRpbmcgdGhlIGRlc3RpbmF0aW9uLlxuXAotXG5cCi1JZiBlaXRoZXIgc3JjX2Rpcl9mZCBvciBkc3RfZGlyX2ZkIGlzIG5vdCBOb25lLCBpdCBzaG91bGQgYmUgYSBmaWxlXG5cCi0gIGRlc2NyaXB0b3Igb3BlbiB0byBhIGRpcmVjdG9yeSwgYW5kIHRoZSByZXNwZWN0aXZlIHBhdGggc3RyaW5nIChzcmMgb3IgZHN0KVxuXAotICBzaG91bGQgYmUgcmVsYXRpdmU7IHRoZSBwYXRoIHdpbGwgdGhlbiBiZSByZWxhdGl2ZSB0byB0aGF0IGRpcmVjdG9yeS5cblwKLXNyY19kaXJfZmQgYW5kIGRzdF9kaXJfZmQsIG1heSBub3QgYmUgaW1wbGVtZW50ZWQgb24geW91ciBwbGF0Zm9ybS5cblwKLSAgSWYgdGhleSBhcmUgdW5hdmFpbGFibGUsIHVzaW5nIHRoZW0gd2lsbCByYWlzZSBhIE5vdEltcGxlbWVudGVkRXJyb3IuIik7CisKKy8qW2NsaW5pYyBpbnB1dF0KK29zLnJlcGxhY2UgPSBvcy5yZW5hbWUKKworUmVuYW1lIGEgZmlsZSBvciBkaXJlY3RvcnksIG92ZXJ3cml0aW5nIHRoZSBkZXN0aW5hdGlvbi4KKworSWYgZWl0aGVyIHNyY19kaXJfZmQgb3IgZHN0X2Rpcl9mZCBpcyBub3QgTm9uZSwgaXQgc2hvdWxkIGJlIGEgZmlsZQorICBkZXNjcmlwdG9yIG9wZW4gdG8gYSBkaXJlY3RvcnksIGFuZCB0aGUgcmVzcGVjdGl2ZSBwYXRoIHN0cmluZyAoc3JjIG9yIGRzdCkKKyAgc2hvdWxkIGJlIHJlbGF0aXZlOyB0aGUgcGF0aCB3aWxsIHRoZW4gYmUgcmVsYXRpdmUgdG8gdGhhdCBkaXJlY3RvcnkuCitzcmNfZGlyX2ZkIGFuZCBkc3RfZGlyX2ZkLCBtYXkgbm90IGJlIGltcGxlbWVudGVkIG9uIHlvdXIgcGxhdGZvcm0uCisgIElmIHRoZXkgYXJlIHVuYXZhaWxhYmxlLCB1c2luZyB0aGVtIHdpbGwgcmFpc2UgYSBOb3RJbXBsZW1lbnRlZEVycm9yLiIKK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX3JlcGxhY2VfX2RvY19fLAorInJlcGxhY2UoJG1vZHVsZSwgLywgc3JjLCBkc3QsICosIHNyY19kaXJfZmQ9Tm9uZSwgZHN0X2Rpcl9mZD1Ob25lKVxuIgorIi0tXG4iCisiXG4iCisiUmVuYW1lIGEgZmlsZSBvciBkaXJlY3RvcnksIG92ZXJ3cml0aW5nIHRoZSBkZXN0aW5hdGlvbi5cbiIKKyJcbiIKKyJJZiBlaXRoZXIgc3JjX2Rpcl9mZCBvciBkc3RfZGlyX2ZkIGlzIG5vdCBOb25lLCBpdCBzaG91bGQgYmUgYSBmaWxlXG4iCisiICBkZXNjcmlwdG9yIG9wZW4gdG8gYSBkaXJlY3RvcnksIGFuZCB0aGUgcmVzcGVjdGl2ZSBwYXRoIHN0cmluZyAoc3JjIG9yIGRzdClcbiIKKyIgIHNob3VsZCBiZSByZWxhdGl2ZTsgdGhlIHBhdGggd2lsbCB0aGVuIGJlIHJlbGF0aXZlIHRvIHRoYXQgZGlyZWN0b3J5LlxuIgorInNyY19kaXJfZmQgYW5kIGRzdF9kaXJfZmQsIG1heSBub3QgYmUgaW1wbGVtZW50ZWQgb24geW91ciBwbGF0Zm9ybS5cbiIKKyIgIElmIHRoZXkgYXJlIHVuYXZhaWxhYmxlLCB1c2luZyB0aGVtIHdpbGwgcmFpc2UgYSBOb3RJbXBsZW1lbnRlZEVycm9yLlwiIik7CisKKyNkZWZpbmUgT1NfUkVQTEFDRV9NRVRIT0RERUYgICAgXAorICAgIHsicmVwbGFjZSIsIChQeUNGdW5jdGlvbilvc19yZXBsYWNlLCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywgb3NfcmVwbGFjZV9fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfcmVwbGFjZShQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCi17Ci0gICAgcmV0dXJuIGludGVybmFsX3JlbmFtZShhcmdzLCBrd2FyZ3MsIDEpOwotfQotCi1QeURvY19TVFJWQVIocG9zaXhfcm1kaXJfX2RvY19fLAotInJtZGlyKHBhdGgsICosIGRpcl9mZD1Ob25lKVxuXG5cCi1SZW1vdmUgYSBkaXJlY3RvcnkuXG5cCi1cblwKLUlmIGRpcl9mZCBpcyBub3QgTm9uZSwgaXQgc2hvdWxkIGJlIGEgZmlsZSBkZXNjcmlwdG9yIG9wZW4gdG8gYSBkaXJlY3RvcnksXG5cCi0gIGFuZCBwYXRoIHNob3VsZCBiZSByZWxhdGl2ZTsgcGF0aCB3aWxsIHRoZW4gYmUgcmVsYXRpdmUgdG8gdGhhdCBkaXJlY3RvcnkuXG5cCi1kaXJfZmQgbWF5IG5vdCBiZSBpbXBsZW1lbnRlZCBvbiB5b3VyIHBsYXRmb3JtLlxuXAotICBJZiBpdCBpcyB1bmF2YWlsYWJsZSwgdXNpbmcgaXQgd2lsbCByYWlzZSBhIE5vdEltcGxlbWVudGVkRXJyb3IuIik7Citvc19yZXBsYWNlX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgcGF0aF90ICpzcmMsIHBhdGhfdCAqZHN0LCBpbnQgc3JjX2Rpcl9mZCwgaW50IGRzdF9kaXJfZmQpOwogCiBzdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfcm1kaXIoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQorb3NfcmVwbGFjZShQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3YXJncykKIHsKLSAgICBwYXRoX3QgcGF0aDsKLSAgICBpbnQgZGlyX2ZkID0gREVGQVVMVF9ESVJfRkQ7Ci0gICAgc3RhdGljIGNoYXIgKmtleXdvcmRzW10gPSB7InBhdGgiLCAiZGlyX2ZkIiwgTlVMTH07Ci0gICAgaW50IHJlc3VsdDsKICAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBzdGF0aWMgY2hhciAqX2tleXdvcmRzW10gPSB7InNyYyIsICJkc3QiLCAic3JjX2Rpcl9mZCIsICJkc3RfZGlyX2ZkIiwgTlVMTH07CisgICAgcGF0aF90IHNyYyA9IFBBVEhfVF9JTklUSUFMSVpFKCJyZXBsYWNlIiwgInNyYyIsIDAsIDApOworICAgIHBhdGhfdCBkc3QgPSBQQVRIX1RfSU5JVElBTElaRSgicmVwbGFjZSIsICJkc3QiLCAwLCAwKTsKKyAgICBpbnQgc3JjX2Rpcl9mZCA9IERFRkFVTFRfRElSX0ZEOworICAgIGludCBkc3RfZGlyX2ZkID0gREVGQVVMVF9ESVJfRkQ7CiAKLSAgICBtZW1zZXQoJnBhdGgsIDAsIHNpemVvZihwYXRoKSk7Ci0gICAgcGF0aC5mdW5jdGlvbl9uYW1lID0gInJtZGlyIjsKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsICJPJnwkTyY6cm1kaXIiLCBrZXl3b3JkcywKLSAgICAgICAgICAgIHBhdGhfY29udmVydGVyLCAmcGF0aCwKLSNpZmRlZiBIQVZFX1VOTElOS0FUCi0gICAgICAgICAgICBkaXJfZmRfY29udmVydGVyLCAmZGlyX2ZkCi0jZWxzZQotICAgICAgICAgICAgZGlyX2ZkX3VuYXZhaWxhYmxlLCAmZGlyX2ZkCi0jZW5kaWYKLSAgICAgICAgICAgICkpCi0gICAgICAgIHJldHVybiBOVUxMOworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywKKyAgICAgICAgIk8mTyZ8JE8mTyY6cmVwbGFjZSIsIF9rZXl3b3JkcywKKyAgICAgICAgcGF0aF9jb252ZXJ0ZXIsICZzcmMsIHBhdGhfY29udmVydGVyLCAmZHN0LCBkaXJfZmRfY29udmVydGVyLCAmc3JjX2Rpcl9mZCwgZGlyX2ZkX2NvbnZlcnRlciwgJmRzdF9kaXJfZmQpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gb3NfcmVwbGFjZV9pbXBsKG1vZHVsZSwgJnNyYywgJmRzdCwgc3JjX2Rpcl9mZCwgZHN0X2Rpcl9mZCk7CisKK2V4aXQ6CisgICAgLyogQ2xlYW51cCBmb3Igc3JjICovCisgICAgcGF0aF9jbGVhbnVwKCZzcmMpOworICAgIC8qIENsZWFudXAgZm9yIGRzdCAqLworICAgIHBhdGhfY2xlYW51cCgmZHN0KTsKKworICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19yZXBsYWNlX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgcGF0aF90ICpzcmMsIHBhdGhfdCAqZHN0LCBpbnQgc3JjX2Rpcl9mZCwgaW50IGRzdF9kaXJfZmQpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9MjI0ZTQ3MTBkMjkwZDE3MSBpbnB1dD0yNTUxNWRmYjEwN2M4NDIxXSovCit7CisgICAgcmV0dXJuIGludGVybmFsX3JlbmFtZShzcmMsIGRzdCwgc3JjX2Rpcl9mZCwgZHN0X2Rpcl9mZCwgMSk7Cit9CisKKworLypbY2xpbmljIGlucHV0XQorb3Mucm1kaXIKKworICAgIHBhdGg6IHBhdGhfdAorICAgICoKKyAgICBkaXJfZmQ6IGRpcl9mZChyZXF1aXJlcz0ndW5saW5rYXQnKSA9IE5vbmUKKworUmVtb3ZlIGEgZGlyZWN0b3J5LgorCitJZiBkaXJfZmQgaXMgbm90IE5vbmUsIGl0IHNob3VsZCBiZSBhIGZpbGUgZGVzY3JpcHRvciBvcGVuIHRvIGEgZGlyZWN0b3J5LAorICBhbmQgcGF0aCBzaG91bGQgYmUgcmVsYXRpdmU7IHBhdGggd2lsbCB0aGVuIGJlIHJlbGF0aXZlIHRvIHRoYXQgZGlyZWN0b3J5LgorZGlyX2ZkIG1heSBub3QgYmUgaW1wbGVtZW50ZWQgb24geW91ciBwbGF0Zm9ybS4KKyAgSWYgaXQgaXMgdW5hdmFpbGFibGUsIHVzaW5nIGl0IHdpbGwgcmFpc2UgYSBOb3RJbXBsZW1lbnRlZEVycm9yLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3Nfcm1kaXJfX2RvY19fLAorInJtZGlyKCRtb2R1bGUsIC8sIHBhdGgsICosIGRpcl9mZD1Ob25lKVxuIgorIi0tXG4iCisiXG4iCisiUmVtb3ZlIGEgZGlyZWN0b3J5LlxuIgorIlxuIgorIklmIGRpcl9mZCBpcyBub3QgTm9uZSwgaXQgc2hvdWxkIGJlIGEgZmlsZSBkZXNjcmlwdG9yIG9wZW4gdG8gYSBkaXJlY3RvcnksXG4iCisiICBhbmQgcGF0aCBzaG91bGQgYmUgcmVsYXRpdmU7IHBhdGggd2lsbCB0aGVuIGJlIHJlbGF0aXZlIHRvIHRoYXQgZGlyZWN0b3J5LlxuIgorImRpcl9mZCBtYXkgbm90IGJlIGltcGxlbWVudGVkIG9uIHlvdXIgcGxhdGZvcm0uXG4iCisiICBJZiBpdCBpcyB1bmF2YWlsYWJsZSwgdXNpbmcgaXQgd2lsbCByYWlzZSBhIE5vdEltcGxlbWVudGVkRXJyb3IuIik7CisKKyNkZWZpbmUgT1NfUk1ESVJfTUVUSE9EREVGICAgIFwKKyAgICB7InJtZGlyIiwgKFB5Q0Z1bmN0aW9uKW9zX3JtZGlyLCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywgb3Nfcm1kaXJfX2RvY19ffSwKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX3JtZGlyX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgcGF0aF90ICpwYXRoLCBpbnQgZGlyX2ZkKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX3JtZGlyKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQoreworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIHN0YXRpYyBjaGFyICpfa2V5d29yZHNbXSA9IHsicGF0aCIsICJkaXJfZmQiLCBOVUxMfTsKKyAgICBwYXRoX3QgcGF0aCA9IFBBVEhfVF9JTklUSUFMSVpFKCJybWRpciIsICJwYXRoIiwgMCwgMCk7CisgICAgaW50IGRpcl9mZCA9IERFRkFVTFRfRElSX0ZEOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLAorICAgICAgICAiTyZ8JE8mOnJtZGlyIiwgX2tleXdvcmRzLAorICAgICAgICBwYXRoX2NvbnZlcnRlciwgJnBhdGgsIFVOTElOS0FUX0RJUl9GRF9DT05WRVJURVIsICZkaXJfZmQpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gb3Nfcm1kaXJfaW1wbChtb2R1bGUsICZwYXRoLCBkaXJfZmQpOworCitleGl0OgorICAgIC8qIENsZWFudXAgZm9yIHBhdGggKi8KKyAgICBwYXRoX2NsZWFudXAoJnBhdGgpOworCisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK29zX3JtZGlyX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgcGF0aF90ICpwYXRoLCBpbnQgZGlyX2ZkKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTcwYjlmZGJlM2JlZTA1OTEgaW5wdXQ9MzhjOGIzNzVjYTM0YTdlMl0qLworeworICAgIGludCByZXN1bHQ7CiAKICAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCiAjaWZkZWYgTVNfV0lORE9XUwotICAgIGlmIChwYXRoLndpZGUpCi0gICAgICAgIHJlc3VsdCA9IFJlbW92ZURpcmVjdG9yeVcocGF0aC53aWRlKTsKKyAgICBpZiAocGF0aC0+d2lkZSkKKyAgICAgICAgcmVzdWx0ID0gUmVtb3ZlRGlyZWN0b3J5VyhwYXRoLT53aWRlKTsKICAgICBlbHNlCi0gICAgICAgIHJlc3VsdCA9IFJlbW92ZURpcmVjdG9yeUEocGF0aC5uYXJyb3cpOworICAgICAgICByZXN1bHQgPSBSZW1vdmVEaXJlY3RvcnlBKHBhdGgtPm5hcnJvdyk7CiAgICAgcmVzdWx0ID0gIXJlc3VsdDsgLyogV2luZG93cywgc3VjY2Vzcz0xLCBVTklYLCBzdWNjZXNzPTAgKi8KICNlbHNlCiAjaWZkZWYgSEFWRV9VTkxJTktBVAogICAgIGlmIChkaXJfZmQgIT0gREVGQVVMVF9ESVJfRkQpCi0gICAgICAgIHJlc3VsdCA9IHVubGlua2F0KGRpcl9mZCwgcGF0aC5uYXJyb3csIEFUX1JFTU9WRURJUik7CisgICAgICAgIHJlc3VsdCA9IHVubGlua2F0KGRpcl9mZCwgcGF0aC0+bmFycm93LCBBVF9SRU1PVkVESVIpOwogICAgIGVsc2UKICNlbmRpZgotICAgICAgICByZXN1bHQgPSBybWRpcihwYXRoLm5hcnJvdyk7CisgICAgICAgIHJlc3VsdCA9IHJtZGlyKHBhdGgtPm5hcnJvdyk7CiAjZW5kaWYKICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUwogCi0gICAgaWYgKHJlc3VsdCkgewotICAgICAgICByZXR1cm5fdmFsdWUgPSBwYXRoX2Vycm9yKCZwYXRoKTsKLSAgICAgICAgZ290byBleGl0OwotICAgIH0KKyAgICBpZiAocmVzdWx0KQorICAgICAgICByZXR1cm4gcGF0aF9lcnJvcihwYXRoKTsKIAotICAgIHJldHVybl92YWx1ZSA9IFB5X05vbmU7Ci0gICAgUHlfSU5DUkVGKFB5X05vbmUpOwotCi1leGl0OgotICAgIHBhdGhfY2xlYW51cCgmcGF0aCk7Ci0gICAgcmV0dXJuIHJldHVybl92YWx1ZTsKKyAgICBQeV9SRVRVUk5fTk9ORTsKIH0KIAogCiAjaWZkZWYgSEFWRV9TWVNURU0KLVB5RG9jX1NUUlZBUihwb3NpeF9zeXN0ZW1fX2RvY19fLAotInN5c3RlbShjb21tYW5kKSAtPiBleGl0X3N0YXR1c1xuXG5cCi1FeGVjdXRlIHRoZSBjb21tYW5kIChhIHN0cmluZykgaW4gYSBzdWJzaGVsbC4iKTsKKyNpZmRlZiBNU19XSU5ET1dTCisvKltjbGluaWMgaW5wdXRdCitvcy5zeXN0ZW0gLT4gbG9uZworCisgICAgY29tbWFuZDogUHlfVU5JQ09ERQorCitFeGVjdXRlIHRoZSBjb21tYW5kIGluIGEgc3Vic2hlbGwuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19zeXN0ZW1fX2RvY19fLAorInN5c3RlbSgkbW9kdWxlLCAvLCBjb21tYW5kKVxuIgorIi0tXG4iCisiXG4iCisiRXhlY3V0ZSB0aGUgY29tbWFuZCBpbiBhIHN1YnNoZWxsLiIpOworCisjZGVmaW5lIE9TX1NZU1RFTV9NRVRIT0RERUYgICAgXAorICAgIHsic3lzdGVtIiwgKFB5Q0Z1bmN0aW9uKW9zX3N5c3RlbSwgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsIG9zX3N5c3RlbV9fZG9jX199LAorCitzdGF0aWMgbG9uZworb3Nfc3lzdGVtX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlfVU5JQ09ERSAqY29tbWFuZCk7CiAKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF9zeXN0ZW0oUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQorb3Nfc3lzdGVtKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQogewotICAgIGxvbmcgc3RzOwotI2lmZGVmIE1TX1dJTkRPV1MKLSAgICB3Y2hhcl90ICpjb21tYW5kOwotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAidTpzeXN0ZW0iLCAmY29tbWFuZCkpCi0gICAgICAgIHJldHVybiBOVUxMOworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIHN0YXRpYyBjaGFyICpfa2V5d29yZHNbXSA9IHsiY29tbWFuZCIsIE5VTEx9OworICAgIFB5X1VOSUNPREUgKmNvbW1hbmQ7CisgICAgbG9uZyBfcmV0dXJuX3ZhbHVlOwogCi0gICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwotICAgIHN0cyA9IF93c3lzdGVtKGNvbW1hbmQpOwotICAgIFB5X0VORF9BTExPV19USFJFQURTCi0jZWxzZQotICAgIFB5T2JqZWN0ICpjb21tYW5kX29iajsKLSAgICBjaGFyICpjb21tYW5kOwotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiTyY6c3lzdGVtIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX0ZTQ29udmVydGVyLCAmY29tbWFuZF9vYmopKQotICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsCisgICAgICAgICJ1OnN5c3RlbSIsIF9rZXl3b3JkcywKKyAgICAgICAgJmNvbW1hbmQpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgX3JldHVybl92YWx1ZSA9IG9zX3N5c3RlbV9pbXBsKG1vZHVsZSwgY29tbWFuZCk7CisgICAgaWYgKChfcmV0dXJuX3ZhbHVlID09IC0xKSAmJiBQeUVycl9PY2N1cnJlZCgpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gUHlMb25nX0Zyb21Mb25nKF9yZXR1cm5fdmFsdWUpOwogCi0gICAgY29tbWFuZCA9IFB5Qnl0ZXNfQXNTdHJpbmcoY29tbWFuZF9vYmopOworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgbG9uZworb3Nfc3lzdGVtX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlfVU5JQ09ERSAqY29tbWFuZCkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD0yOWZlNjk5YzBiMmU5ZDM4IGlucHV0PTMwM2Y1Y2U5N2RmNjA2YjBdKi8KK3sKKyAgICBsb25nIHJlc3VsdDsKICAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCi0gICAgc3RzID0gc3lzdGVtKGNvbW1hbmQpOworICAgIHJlc3VsdCA9IF93c3lzdGVtKGNvbW1hbmQpOwogICAgIFB5X0VORF9BTExPV19USFJFQURTCi0gICAgUHlfREVDUkVGKGNvbW1hbmRfb2JqKTsKLSNlbmRpZgotICAgIHJldHVybiBQeUxvbmdfRnJvbUxvbmcoc3RzKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorI2Vsc2UgLyogTVNfV0lORE9XUyAqLworLypbY2xpbmljIGlucHV0XQorb3Muc3lzdGVtIC0+IGxvbmcKKworICAgIGNvbW1hbmQ6IEZTQ29udmVydGVyCisKK0V4ZWN1dGUgdGhlIGNvbW1hbmQgaW4gYSBzdWJzaGVsbC4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX3N5c3RlbV9fZG9jX18sCisic3lzdGVtKCRtb2R1bGUsIC8sIGNvbW1hbmQpXG4iCisiLS1cbiIKKyJcbiIKKyJFeGVjdXRlIHRoZSBjb21tYW5kIGluIGEgc3Vic2hlbGwuIik7CisKKyNkZWZpbmUgT1NfU1lTVEVNX01FVEhPRERFRiAgICBcCisgICAgeyJzeXN0ZW0iLCAoUHlDRnVuY3Rpb24pb3Nfc3lzdGVtLCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywgb3Nfc3lzdGVtX19kb2NfX30sCisKK3N0YXRpYyBsb25nCitvc19zeXN0ZW1faW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqY29tbWFuZCk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19zeXN0ZW0oUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCit7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgc3RhdGljIGNoYXIgKl9rZXl3b3Jkc1tdID0geyJjb21tYW5kIiwgTlVMTH07CisgICAgUHlPYmplY3QgKmNvbW1hbmQgPSBOVUxMOworICAgIGxvbmcgX3JldHVybl92YWx1ZTsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywKKyAgICAgICAgIk8mOnN5c3RlbSIsIF9rZXl3b3JkcywKKyAgICAgICAgUHlVbmljb2RlX0ZTQ29udmVydGVyLCAmY29tbWFuZCkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICBfcmV0dXJuX3ZhbHVlID0gb3Nfc3lzdGVtX2ltcGwobW9kdWxlLCBjb21tYW5kKTsKKyAgICBpZiAoKF9yZXR1cm5fdmFsdWUgPT0gLTEpICYmIFB5RXJyX09jY3VycmVkKCkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBQeUxvbmdfRnJvbUxvbmcoX3JldHVybl92YWx1ZSk7CisKK2V4aXQ6CisgICAgLyogQ2xlYW51cCBmb3IgY29tbWFuZCAqLworICAgIFB5X1hERUNSRUYoY29tbWFuZCk7CisKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgbG9uZworb3Nfc3lzdGVtX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmNvbW1hbmQpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9NWJlOWYzYzQwZWFkM2JhZCBpbnB1dD04NmE1ODU1NGJhNjA5NGFmXSovCit7CisgICAgbG9uZyByZXN1bHQ7CisgICAgY2hhciAqYnl0ZXMgPSBQeUJ5dGVzX0FzU3RyaW5nKGNvbW1hbmQpOworICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKKyAgICByZXN1bHQgPSBzeXN0ZW0oYnl0ZXMpOworICAgIFB5X0VORF9BTExPV19USFJFQURTCisgICAgcmV0dXJuIHJlc3VsdDsKIH0KICNlbmRpZgorI2VuZGlmIC8qIEhBVkVfU1lTVEVNICovCiAKIAotUHlEb2NfU1RSVkFSKHBvc2l4X3VtYXNrX19kb2NfXywKLSJ1bWFzayhuZXdfbWFzaykgLT4gb2xkX21hc2tcblxuXAotU2V0IHRoZSBjdXJyZW50IG51bWVyaWMgdW1hc2sgYW5kIHJldHVybiB0aGUgcHJldmlvdXMgdW1hc2suIik7CisvKltjbGluaWMgaW5wdXRdCitvcy51bWFzaworCisgICAgbWFzazogaW50CisgICAgLworCitTZXQgdGhlIGN1cnJlbnQgbnVtZXJpYyB1bWFzayBhbmQgcmV0dXJuIHRoZSBwcmV2aW91cyB1bWFzay4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX3VtYXNrX19kb2NfXywKKyJ1bWFzaygkbW9kdWxlLCBtYXNrLCAvKVxuIgorIi0tXG4iCisiXG4iCisiU2V0IHRoZSBjdXJyZW50IG51bWVyaWMgdW1hc2sgYW5kIHJldHVybiB0aGUgcHJldmlvdXMgdW1hc2suIik7CisKKyNkZWZpbmUgT1NfVU1BU0tfTUVUSE9EREVGICAgIFwKKyAgICB7InVtYXNrIiwgKFB5Q0Z1bmN0aW9uKW9zX3VtYXNrLCBNRVRIX1ZBUkFSR1MsIG9zX3VtYXNrX19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF91bWFzayhQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCitvc191bWFza19pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGludCBtYXNrKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX3VtYXNrKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzKQogewotICAgIGludCBpOwotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiaTp1bWFzayIsICZpKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgaSA9IChpbnQpdW1hc2soaSk7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgaW50IG1hc2s7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgImk6dW1hc2siLAorICAgICAgICAmbWFzaykpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBvc191bWFza19pbXBsKG1vZHVsZSwgbWFzayk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK29zX3VtYXNrX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgaW50IG1hc2spCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9OTAwNDhiMzlkMmQ0YTk2MSBpbnB1dD1hYjZiZmQ5YjI0ZDhhN2U4XSovCit7CisgICAgaW50IGkgPSAoaW50KXVtYXNrKG1hc2spOwogICAgIGlmIChpIDwgMCkKICAgICAgICAgcmV0dXJuIHBvc2l4X2Vycm9yKCk7CiAgICAgcmV0dXJuIFB5TG9uZ19Gcm9tTG9uZygobG9uZylpKTsKQEAgLTQ1MTIsNyArNTgwMywxMCBAQAogICAgICAgICAgICAgZmluZF9kYXRhX2hhbmRsZSA9IEZpbmRGaXJzdEZpbGVXKGxwRmlsZU5hbWUsICZmaW5kX2RhdGEpOwogCiAgICAgICAgICAgICBpZihmaW5kX2RhdGFfaGFuZGxlICE9IElOVkFMSURfSEFORExFX1ZBTFVFKSB7Ci0gICAgICAgICAgICAgICAgaXNfbGluayA9IGZpbmRfZGF0YS5kd1Jlc2VydmVkMCA9PSBJT19SRVBBUlNFX1RBR19TWU1MSU5LOworICAgICAgICAgICAgICAgIC8qIElPX1JFUEFSU0VfVEFHX1NZTUxJTksgaWYgaXQgaXMgYSBzeW1saW5rIGFuZAorICAgICAgICAgICAgICAgICAgIElPX1JFUEFSU0VfVEFHX01PVU5UX1BPSU5UIGlmIGl0IGlzIGEganVuY3Rpb24gcG9pbnQuICovCisgICAgICAgICAgICAgICAgaXNfbGluayA9IGZpbmRfZGF0YS5kd1Jlc2VydmVkMCA9PSBJT19SRVBBUlNFX1RBR19TWU1MSU5LIHx8CisgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbmRfZGF0YS5kd1Jlc2VydmVkMCA9PSBJT19SRVBBUlNFX1RBR19NT1VOVF9QT0lOVDsKICAgICAgICAgICAgICAgICBGaW5kQ2xvc2UoZmluZF9kYXRhX2hhbmRsZSk7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KQEAgLTQ1MjUsODEgKzU4MTksMTQ3IEBACiB9CiAjZW5kaWYgLyogTVNfV0lORE9XUyAqLwogCi1QeURvY19TVFJWQVIocG9zaXhfdW5saW5rX19kb2NfXywKLSJ1bmxpbmsocGF0aCwgKiwgZGlyX2ZkPU5vbmUpXG5cblwKLVJlbW92ZSBhIGZpbGUgKHNhbWUgYXMgcmVtb3ZlKCkpLlxuXAotXG5cCi1JZiBkaXJfZmQgaXMgbm90IE5vbmUsIGl0IHNob3VsZCBiZSBhIGZpbGUgZGVzY3JpcHRvciBvcGVuIHRvIGEgZGlyZWN0b3J5LFxuXAotICBhbmQgcGF0aCBzaG91bGQgYmUgcmVsYXRpdmU7IHBhdGggd2lsbCB0aGVuIGJlIHJlbGF0aXZlIHRvIHRoYXQgZGlyZWN0b3J5LlxuXAotZGlyX2ZkIG1heSBub3QgYmUgaW1wbGVtZW50ZWQgb24geW91ciBwbGF0Zm9ybS5cblwKLSAgSWYgaXQgaXMgdW5hdmFpbGFibGUsIHVzaW5nIGl0IHdpbGwgcmFpc2UgYSBOb3RJbXBsZW1lbnRlZEVycm9yLiIpOwogCi1QeURvY19TVFJWQVIocG9zaXhfcmVtb3ZlX19kb2NfXywKLSJyZW1vdmUocGF0aCwgKiwgZGlyX2ZkPU5vbmUpXG5cblwKLVJlbW92ZSBhIGZpbGUgKHNhbWUgYXMgdW5saW5rKCkpLlxuXAotXG5cCi1JZiBkaXJfZmQgaXMgbm90IE5vbmUsIGl0IHNob3VsZCBiZSBhIGZpbGUgZGVzY3JpcHRvciBvcGVuIHRvIGEgZGlyZWN0b3J5LFxuXAotICBhbmQgcGF0aCBzaG91bGQgYmUgcmVsYXRpdmU7IHBhdGggd2lsbCB0aGVuIGJlIHJlbGF0aXZlIHRvIHRoYXQgZGlyZWN0b3J5LlxuXAotZGlyX2ZkIG1heSBub3QgYmUgaW1wbGVtZW50ZWQgb24geW91ciBwbGF0Zm9ybS5cblwKLSAgSWYgaXQgaXMgdW5hdmFpbGFibGUsIHVzaW5nIGl0IHdpbGwgcmFpc2UgYSBOb3RJbXBsZW1lbnRlZEVycm9yLiIpOworLypbY2xpbmljIGlucHV0XQorb3MudW5saW5rCisKKyAgICBwYXRoOiBwYXRoX3QKKyAgICAqCisgICAgZGlyX2ZkOiBkaXJfZmQocmVxdWlyZXM9J3VubGlua2F0Jyk9Tm9uZQorCitSZW1vdmUgYSBmaWxlIChzYW1lIGFzIHJlbW92ZSgpKS4KKworSWYgZGlyX2ZkIGlzIG5vdCBOb25lLCBpdCBzaG91bGQgYmUgYSBmaWxlIGRlc2NyaXB0b3Igb3BlbiB0byBhIGRpcmVjdG9yeSwKKyAgYW5kIHBhdGggc2hvdWxkIGJlIHJlbGF0aXZlOyBwYXRoIHdpbGwgdGhlbiBiZSByZWxhdGl2ZSB0byB0aGF0IGRpcmVjdG9yeS4KK2Rpcl9mZCBtYXkgbm90IGJlIGltcGxlbWVudGVkIG9uIHlvdXIgcGxhdGZvcm0uCisgIElmIGl0IGlzIHVuYXZhaWxhYmxlLCB1c2luZyBpdCB3aWxsIHJhaXNlIGEgTm90SW1wbGVtZW50ZWRFcnJvci4KKworW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3NfdW5saW5rX19kb2NfXywKKyJ1bmxpbmsoJG1vZHVsZSwgLywgcGF0aCwgKiwgZGlyX2ZkPU5vbmUpXG4iCisiLS1cbiIKKyJcbiIKKyJSZW1vdmUgYSBmaWxlIChzYW1lIGFzIHJlbW92ZSgpKS5cbiIKKyJcbiIKKyJJZiBkaXJfZmQgaXMgbm90IE5vbmUsIGl0IHNob3VsZCBiZSBhIGZpbGUgZGVzY3JpcHRvciBvcGVuIHRvIGEgZGlyZWN0b3J5LFxuIgorIiAgYW5kIHBhdGggc2hvdWxkIGJlIHJlbGF0aXZlOyBwYXRoIHdpbGwgdGhlbiBiZSByZWxhdGl2ZSB0byB0aGF0IGRpcmVjdG9yeS5cbiIKKyJkaXJfZmQgbWF5IG5vdCBiZSBpbXBsZW1lbnRlZCBvbiB5b3VyIHBsYXRmb3JtLlxuIgorIiAgSWYgaXQgaXMgdW5hdmFpbGFibGUsIHVzaW5nIGl0IHdpbGwgcmFpc2UgYSBOb3RJbXBsZW1lbnRlZEVycm9yLiIpOworCisjZGVmaW5lIE9TX1VOTElOS19NRVRIT0RERUYgICAgXAorICAgIHsidW5saW5rIiwgKFB5Q0Z1bmN0aW9uKW9zX3VubGluaywgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsIG9zX3VubGlua19fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfdW5saW5rKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3YXJncykKLXsKLSAgICBwYXRoX3QgcGF0aDsKLSAgICBpbnQgZGlyX2ZkID0gREVGQVVMVF9ESVJfRkQ7Ci0gICAgc3RhdGljIGNoYXIgKmtleXdvcmRzW10gPSB7InBhdGgiLCAiZGlyX2ZkIiwgTlVMTH07Ci0gICAgaW50IHJlc3VsdDsKLSAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKK29zX3VubGlua19pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIHBhdGhfdCAqcGF0aCwgaW50IGRpcl9mZCk7CiAKLSAgICBtZW1zZXQoJnBhdGgsIDAsIHNpemVvZihwYXRoKSk7Ci0gICAgcGF0aC5mdW5jdGlvbl9uYW1lID0gInVubGluayI7Ci0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLCAiTyZ8JE8mOnVubGluayIsIGtleXdvcmRzLAotICAgICAgICAgICAgcGF0aF9jb252ZXJ0ZXIsICZwYXRoLAotI2lmZGVmIEhBVkVfVU5MSU5LQVQKLSAgICAgICAgICAgIGRpcl9mZF9jb252ZXJ0ZXIsICZkaXJfZmQKLSNlbHNlCi0gICAgICAgICAgICBkaXJfZmRfdW5hdmFpbGFibGUsICZkaXJfZmQKLSNlbmRpZgotICAgICAgICAgICAgKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7CitzdGF0aWMgUHlPYmplY3QgKgorb3NfdW5saW5rKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQoreworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIHN0YXRpYyBjaGFyICpfa2V5d29yZHNbXSA9IHsicGF0aCIsICJkaXJfZmQiLCBOVUxMfTsKKyAgICBwYXRoX3QgcGF0aCA9IFBBVEhfVF9JTklUSUFMSVpFKCJ1bmxpbmsiLCAicGF0aCIsIDAsIDApOworICAgIGludCBkaXJfZmQgPSBERUZBVUxUX0RJUl9GRDsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywKKyAgICAgICAgIk8mfCRPJjp1bmxpbmsiLCBfa2V5d29yZHMsCisgICAgICAgIHBhdGhfY29udmVydGVyLCAmcGF0aCwgVU5MSU5LQVRfRElSX0ZEX0NPTlZFUlRFUiwgJmRpcl9mZCkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBvc191bmxpbmtfaW1wbChtb2R1bGUsICZwYXRoLCBkaXJfZmQpOworCitleGl0OgorICAgIC8qIENsZWFudXAgZm9yIHBhdGggKi8KKyAgICBwYXRoX2NsZWFudXAoJnBhdGgpOworCisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK29zX3VubGlua19pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIHBhdGhfdCAqcGF0aCwgaW50IGRpcl9mZCkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD01OWE2ZTY2ZDY3ZmYyZTc1IGlucHV0PWQ3YmNkZTJiMWIyYTI1NTJdKi8KK3sKKyAgICBpbnQgcmVzdWx0OwogCiAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwogI2lmZGVmIE1TX1dJTkRPV1MKLSAgICBpZiAocGF0aC53aWRlKQotICAgICAgICByZXN1bHQgPSBQeV9EZWxldGVGaWxlVyhwYXRoLndpZGUpOworICAgIGlmIChwYXRoLT53aWRlKQorICAgICAgICByZXN1bHQgPSBQeV9EZWxldGVGaWxlVyhwYXRoLT53aWRlKTsKICAgICBlbHNlCi0gICAgICAgIHJlc3VsdCA9IERlbGV0ZUZpbGVBKHBhdGgubmFycm93KTsKKyAgICAgICAgcmVzdWx0ID0gRGVsZXRlRmlsZUEocGF0aC0+bmFycm93KTsKICAgICByZXN1bHQgPSAhcmVzdWx0OyAvKiBXaW5kb3dzLCBzdWNjZXNzPTEsIFVOSVgsIHN1Y2Nlc3M9MCAqLwogI2Vsc2UKICNpZmRlZiBIQVZFX1VOTElOS0FUCiAgICAgaWYgKGRpcl9mZCAhPSBERUZBVUxUX0RJUl9GRCkKLSAgICAgICAgcmVzdWx0ID0gdW5saW5rYXQoZGlyX2ZkLCBwYXRoLm5hcnJvdywgMCk7CisgICAgICAgIHJlc3VsdCA9IHVubGlua2F0KGRpcl9mZCwgcGF0aC0+bmFycm93LCAwKTsKICAgICBlbHNlCiAjZW5kaWYgLyogSEFWRV9VTkxJTktBVCAqLwotICAgICAgICByZXN1bHQgPSB1bmxpbmsocGF0aC5uYXJyb3cpOworICAgICAgICByZXN1bHQgPSB1bmxpbmsocGF0aC0+bmFycm93KTsKICNlbmRpZgogICAgIFB5X0VORF9BTExPV19USFJFQURTCiAKLSAgICBpZiAocmVzdWx0KSB7Ci0gICAgICAgIHJldHVybl92YWx1ZSA9IHBhdGhfZXJyb3IoJnBhdGgpOwotICAgICAgICBnb3RvIGV4aXQ7Ci0gICAgfQorICAgIGlmIChyZXN1bHQpCisgICAgICAgIHJldHVybiBwYXRoX2Vycm9yKHBhdGgpOwogCi0gICAgcmV0dXJuX3ZhbHVlID0gUHlfTm9uZTsKLSAgICBQeV9JTkNSRUYoUHlfTm9uZSk7Ci0KLWV4aXQ6Ci0gICAgcGF0aF9jbGVhbnVwKCZwYXRoKTsKLSAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworICAgIFB5X1JFVFVSTl9OT05FOwogfQogCiAKLVB5RG9jX1NUUlZBUihwb3NpeF91bmFtZV9fZG9jX18sCi0idW5hbWUoKSAtPiB1bmFtZV9yZXN1bHRcblxuXAotUmV0dXJuIGFuIG9iamVjdCBpZGVudGlmeWluZyB0aGUgY3VycmVudCBvcGVyYXRpbmcgc3lzdGVtLlxuXAotVGhlIG9iamVjdCBiZWhhdmVzIGxpa2UgYSBuYW1lZCB0dXBsZSB3aXRoIHRoZSBmb2xsb3dpbmcgZmllbGRzOlxuXAotICAoc3lzbmFtZSwgbm9kZW5hbWUsIHJlbGVhc2UsIHZlcnNpb24sIG1hY2hpbmUpIik7CisvKltjbGluaWMgaW5wdXRdCitvcy5yZW1vdmUgPSBvcy51bmxpbmsKKworUmVtb3ZlIGEgZmlsZSAoc2FtZSBhcyB1bmxpbmsoKSkuCisKK0lmIGRpcl9mZCBpcyBub3QgTm9uZSwgaXQgc2hvdWxkIGJlIGEgZmlsZSBkZXNjcmlwdG9yIG9wZW4gdG8gYSBkaXJlY3RvcnksCisgIGFuZCBwYXRoIHNob3VsZCBiZSByZWxhdGl2ZTsgcGF0aCB3aWxsIHRoZW4gYmUgcmVsYXRpdmUgdG8gdGhhdCBkaXJlY3RvcnkuCitkaXJfZmQgbWF5IG5vdCBiZSBpbXBsZW1lbnRlZCBvbiB5b3VyIHBsYXRmb3JtLgorICBJZiBpdCBpcyB1bmF2YWlsYWJsZSwgdXNpbmcgaXQgd2lsbCByYWlzZSBhIE5vdEltcGxlbWVudGVkRXJyb3IuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19yZW1vdmVfX2RvY19fLAorInJlbW92ZSgkbW9kdWxlLCAvLCBwYXRoLCAqLCBkaXJfZmQ9Tm9uZSlcbiIKKyItLVxuIgorIlxuIgorIlJlbW92ZSBhIGZpbGUgKHNhbWUgYXMgdW5saW5rKCkpLlxuIgorIlxuIgorIklmIGRpcl9mZCBpcyBub3QgTm9uZSwgaXQgc2hvdWxkIGJlIGEgZmlsZSBkZXNjcmlwdG9yIG9wZW4gdG8gYSBkaXJlY3RvcnksXG4iCisiICBhbmQgcGF0aCBzaG91bGQgYmUgcmVsYXRpdmU7IHBhdGggd2lsbCB0aGVuIGJlIHJlbGF0aXZlIHRvIHRoYXQgZGlyZWN0b3J5LlxuIgorImRpcl9mZCBtYXkgbm90IGJlIGltcGxlbWVudGVkIG9uIHlvdXIgcGxhdGZvcm0uXG4iCisiICBJZiBpdCBpcyB1bmF2YWlsYWJsZSwgdXNpbmcgaXQgd2lsbCByYWlzZSBhIE5vdEltcGxlbWVudGVkRXJyb3IuIik7CisKKyNkZWZpbmUgT1NfUkVNT1ZFX01FVEhPRERFRiAgICBcCisgICAgeyJyZW1vdmUiLCAoUHlDRnVuY3Rpb24pb3NfcmVtb3ZlLCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywgb3NfcmVtb3ZlX19kb2NfX30sCisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19yZW1vdmVfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBwYXRoX3QgKnBhdGgsIGludCBkaXJfZmQpOworCitzdGF0aWMgUHlPYmplY3QgKgorb3NfcmVtb3ZlKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQoreworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIHN0YXRpYyBjaGFyICpfa2V5d29yZHNbXSA9IHsicGF0aCIsICJkaXJfZmQiLCBOVUxMfTsKKyAgICBwYXRoX3QgcGF0aCA9IFBBVEhfVF9JTklUSUFMSVpFKCJyZW1vdmUiLCAicGF0aCIsIDAsIDApOworICAgIGludCBkaXJfZmQgPSBERUZBVUxUX0RJUl9GRDsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywKKyAgICAgICAgIk8mfCRPJjpyZW1vdmUiLCBfa2V5d29yZHMsCisgICAgICAgIHBhdGhfY29udmVydGVyLCAmcGF0aCwgVU5MSU5LQVRfRElSX0ZEX0NPTlZFUlRFUiwgJmRpcl9mZCkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBvc19yZW1vdmVfaW1wbChtb2R1bGUsICZwYXRoLCBkaXJfZmQpOworCitleGl0OgorICAgIC8qIENsZWFudXAgZm9yIHBhdGggKi8KKyAgICBwYXRoX2NsZWFudXAoJnBhdGgpOworCisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK29zX3JlbW92ZV9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIHBhdGhfdCAqcGF0aCwgaW50IGRpcl9mZCkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1jYjE3MGNmMWUxOTViOGVkIGlucHV0PWUwNWM1YWI1NWNkMzA5ODNdKi8KK3sKKyAgICByZXR1cm4gb3NfdW5saW5rX2ltcGwobW9kdWxlLCBwYXRoLCBkaXJfZmQpOworfQorCiAKIHN0YXRpYyBQeVN0cnVjdFNlcXVlbmNlX0ZpZWxkIHVuYW1lX3Jlc3VsdF9maWVsZHNbXSA9IHsKICAgICB7InN5c25hbWUiLCAgICAib3BlcmF0aW5nIHN5c3RlbSBuYW1lIn0sCkBAIC00NjI5LDggKzU5ODksNDAgQEAKIAogCiAjaWZkZWYgSEFWRV9VTkFNRQorLypbY2xpbmljIGlucHV0XQorb3MudW5hbWUKKworUmV0dXJuIGFuIG9iamVjdCBpZGVudGlmeWluZyB0aGUgY3VycmVudCBvcGVyYXRpbmcgc3lzdGVtLgorCitUaGUgb2JqZWN0IGJlaGF2ZXMgbGlrZSBhIG5hbWVkIHR1cGxlIHdpdGggdGhlIGZvbGxvd2luZyBmaWVsZHM6CisgIChzeXNuYW1lLCBub2RlbmFtZSwgcmVsZWFzZSwgdmVyc2lvbiwgbWFjaGluZSkKKworW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3NfdW5hbWVfX2RvY19fLAorInVuYW1lKCRtb2R1bGUsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJSZXR1cm4gYW4gb2JqZWN0IGlkZW50aWZ5aW5nIHRoZSBjdXJyZW50IG9wZXJhdGluZyBzeXN0ZW0uXG4iCisiXG4iCisiVGhlIG9iamVjdCBiZWhhdmVzIGxpa2UgYSBuYW1lZCB0dXBsZSB3aXRoIHRoZSBmb2xsb3dpbmcgZmllbGRzOlxuIgorIiAgKHN5c25hbWUsIG5vZGVuYW1lLCByZWxlYXNlLCB2ZXJzaW9uLCBtYWNoaW5lKSIpOworCisjZGVmaW5lIE9TX1VOQU1FX01FVEhPRERFRiAgICBcCisgICAgeyJ1bmFtZSIsIChQeUNGdW5jdGlvbilvc191bmFtZSwgTUVUSF9OT0FSR1MsIG9zX3VuYW1lX19kb2NfX30sCisKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF91bmFtZShQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKm5vYXJncykKK29zX3VuYW1lX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc191bmFtZShQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqUHlfVU5VU0VEKGlnbm9yZWQpKQoreworICAgIHJldHVybiBvc191bmFtZV9pbXBsKG1vZHVsZSk7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc191bmFtZV9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9NDU5YTg2NTIxZmY1MDQxYyBpbnB1dD1lNjhiZDI0NmRiMzA0M2VkXSovCiB7CiAgICAgc3RydWN0IHV0c25hbWUgdTsKICAgICBpbnQgcmVzOwpAQCAtNDY2OSwzMSArNjA2MSw2IEBACiAjZW5kaWYgLyogSEFWRV9VTkFNRSAqLwogCiAKLVB5RG9jX1NUUlZBUihwb3NpeF91dGltZV9fZG9jX18sCi0idXRpbWUocGF0aCwgdGltZXM9Tm9uZSwgKiwgbnM9Tm9uZSwgZGlyX2ZkPU5vbmUsIGZvbGxvd19zeW1saW5rcz1UcnVlKVxuXAotU2V0IHRoZSBhY2Nlc3MgYW5kIG1vZGlmaWVkIHRpbWUgb2YgcGF0aC5cblwKLVxuXAotcGF0aCBtYXkgYWx3YXlzIGJlIHNwZWNpZmllZCBhcyBhIHN0cmluZy5cblwKLU9uIHNvbWUgcGxhdGZvcm1zLCBwYXRoIG1heSBhbHNvIGJlIHNwZWNpZmllZCBhcyBhbiBvcGVuIGZpbGUgZGVzY3JpcHRvci5cblwKLSAgSWYgdGhpcyBmdW5jdGlvbmFsaXR5IGlzIHVuYXZhaWxhYmxlLCB1c2luZyBpdCByYWlzZXMgYW4gZXhjZXB0aW9uLlxuXAotXG5cCi1JZiB0aW1lcyBpcyBub3QgTm9uZSwgaXQgbXVzdCBiZSBhIHR1cGxlIChhdGltZSwgbXRpbWUpO1xuXAotICAgIGF0aW1lIGFuZCBtdGltZSBzaG91bGQgYmUgZXhwcmVzc2VkIGFzIGZsb2F0IHNlY29uZHMgc2luY2UgdGhlIGVwb2NoLlxuXAotSWYgbnMgaXMgbm90IE5vbmUsIGl0IG11c3QgYmUgYSB0dXBsZSAoYXRpbWVfbnMsIG10aW1lX25zKTtcblwKLSAgICBhdGltZV9ucyBhbmQgbXRpbWVfbnMgc2hvdWxkIGJlIGV4cHJlc3NlZCBhcyBpbnRlZ2VyIG5hbm9zZWNvbmRzXG5cCi0gICAgc2luY2UgdGhlIGVwb2NoLlxuXAotSWYgYm90aCB0aW1lcyBhbmQgbnMgYXJlIE5vbmUsIHV0aW1lIHVzZXMgdGhlIGN1cnJlbnQgdGltZS5cblwKLVNwZWNpZnlpbmcgdHVwbGVzIGZvciBib3RoIHRpbWVzIGFuZCBucyBpcyBhbiBlcnJvci5cblwKLVxuXAotSWYgZGlyX2ZkIGlzIG5vdCBOb25lLCBpdCBzaG91bGQgYmUgYSBmaWxlIGRlc2NyaXB0b3Igb3BlbiB0byBhIGRpcmVjdG9yeSxcblwKLSAgYW5kIHBhdGggc2hvdWxkIGJlIHJlbGF0aXZlOyBwYXRoIHdpbGwgdGhlbiBiZSByZWxhdGl2ZSB0byB0aGF0IGRpcmVjdG9yeS5cblwKLUlmIGZvbGxvd19zeW1saW5rcyBpcyBGYWxzZSwgYW5kIHRoZSBsYXN0IGVsZW1lbnQgb2YgdGhlIHBhdGggaXMgYSBzeW1ib2xpY1xuXAotICBsaW5rLCB1dGltZSB3aWxsIG1vZGlmeSB0aGUgc3ltYm9saWMgbGluayBpdHNlbGYgaW5zdGVhZCBvZiB0aGUgZmlsZSB0aGVcblwKLSAgbGluayBwb2ludHMgdG8uXG5cCi1JdCBpcyBhbiBlcnJvciB0byB1c2UgZGlyX2ZkIG9yIGZvbGxvd19zeW1saW5rcyB3aGVuIHNwZWNpZnlpbmcgcGF0aFxuXAotICBhcyBhbiBvcGVuIGZpbGUgZGVzY3JpcHRvci5cblwKLWRpcl9mZCBhbmQgZm9sbG93X3N5bWxpbmtzIG1heSBub3QgYmUgYXZhaWxhYmxlIG9uIHlvdXIgcGxhdGZvcm0uXG5cCi0gIElmIHRoZXkgYXJlIHVuYXZhaWxhYmxlLCB1c2luZyB0aGVtIHdpbGwgcmFpc2UgYSBOb3RJbXBsZW1lbnRlZEVycm9yLiIpOwogCiB0eXBlZGVmIHN0cnVjdCB7CiAgICAgaW50ICAgIG5vdzsKQEAgLTQ3NzksNiArNjE0Niw5IEBACiAjZW5kaWYKIH0KIAorICAgICNkZWZpbmUgRlVUSU1FTlNBVF9ESVJfRkRfQ09OVkVSVEVSIGRpcl9mZF9jb252ZXJ0ZXIKKyNlbHNlCisgICAgI2RlZmluZSBGVVRJTUVOU0FUX0RJUl9GRF9DT05WRVJURVIgZGlyX2ZkX3VuYXZhaWxhYmxlCiAjZW5kaWYKIAogI2RlZmluZSBVVElNRV9IQVZFX0ZEIChkZWZpbmVkKEhBVkVfRlVUSU1FUykgfHwgZGVmaW5lZChIQVZFX0ZVVElNRU5TKSkKQEAgLTQ3OTcsNiArNjE2Nyw5IEBACiAjZW5kaWYKIH0KIAorICAgICNkZWZpbmUgUEFUSF9VVElNRV9IQVZFX0ZEIDEKKyNlbHNlCisgICAgI2RlZmluZSBQQVRIX1VUSU1FX0hBVkVfRkQgMAogI2VuZGlmCiAKIApAQCAtNDg2MiwxOSArNjIzNSwxMDggQEAKICAgICByZXR1cm4gcmVzdWx0OwogfQogCisKKy8qW2NsaW5pYyBpbnB1dF0KK29zLnV0aW1lCisKKyAgICBwYXRoOiBwYXRoX3QoYWxsb3dfZmQ9J1BBVEhfVVRJTUVfSEFWRV9GRCcpCisgICAgdGltZXM6IG9iamVjdCA9IE5VTEwKKyAgICAqCisgICAgbnM6IG9iamVjdCA9IE5VTEwKKyAgICBkaXJfZmQ6IGRpcl9mZChyZXF1aXJlcz0nZnV0aW1lbnNhdCcpID0gTm9uZQorICAgIGZvbGxvd19zeW1saW5rczogYm9vbD1UcnVlCisKKyMgInV0aW1lKHBhdGgsIHRpbWVzPU5vbmUsICosIG5zPU5vbmUsIGRpcl9mZD1Ob25lLCBmb2xsb3dfc3ltbGlua3M9VHJ1ZSlcblwKKworU2V0IHRoZSBhY2Nlc3MgYW5kIG1vZGlmaWVkIHRpbWUgb2YgcGF0aC4KKworcGF0aCBtYXkgYWx3YXlzIGJlIHNwZWNpZmllZCBhcyBhIHN0cmluZy4KK09uIHNvbWUgcGxhdGZvcm1zLCBwYXRoIG1heSBhbHNvIGJlIHNwZWNpZmllZCBhcyBhbiBvcGVuIGZpbGUgZGVzY3JpcHRvci4KKyAgSWYgdGhpcyBmdW5jdGlvbmFsaXR5IGlzIHVuYXZhaWxhYmxlLCB1c2luZyBpdCByYWlzZXMgYW4gZXhjZXB0aW9uLgorCitJZiB0aW1lcyBpcyBub3QgTm9uZSwgaXQgbXVzdCBiZSBhIHR1cGxlIChhdGltZSwgbXRpbWUpOworICAgIGF0aW1lIGFuZCBtdGltZSBzaG91bGQgYmUgZXhwcmVzc2VkIGFzIGZsb2F0IHNlY29uZHMgc2luY2UgdGhlIGVwb2NoLgorSWYgbnMgaXMgbm90IE5vbmUsIGl0IG11c3QgYmUgYSB0dXBsZSAoYXRpbWVfbnMsIG10aW1lX25zKTsKKyAgICBhdGltZV9ucyBhbmQgbXRpbWVfbnMgc2hvdWxkIGJlIGV4cHJlc3NlZCBhcyBpbnRlZ2VyIG5hbm9zZWNvbmRzCisgICAgc2luY2UgdGhlIGVwb2NoLgorSWYgYm90aCB0aW1lcyBhbmQgbnMgYXJlIE5vbmUsIHV0aW1lIHVzZXMgdGhlIGN1cnJlbnQgdGltZS4KK1NwZWNpZnlpbmcgdHVwbGVzIGZvciBib3RoIHRpbWVzIGFuZCBucyBpcyBhbiBlcnJvci4KKworSWYgZGlyX2ZkIGlzIG5vdCBOb25lLCBpdCBzaG91bGQgYmUgYSBmaWxlIGRlc2NyaXB0b3Igb3BlbiB0byBhIGRpcmVjdG9yeSwKKyAgYW5kIHBhdGggc2hvdWxkIGJlIHJlbGF0aXZlOyBwYXRoIHdpbGwgdGhlbiBiZSByZWxhdGl2ZSB0byB0aGF0IGRpcmVjdG9yeS4KK0lmIGZvbGxvd19zeW1saW5rcyBpcyBGYWxzZSwgYW5kIHRoZSBsYXN0IGVsZW1lbnQgb2YgdGhlIHBhdGggaXMgYSBzeW1ib2xpYworICBsaW5rLCB1dGltZSB3aWxsIG1vZGlmeSB0aGUgc3ltYm9saWMgbGluayBpdHNlbGYgaW5zdGVhZCBvZiB0aGUgZmlsZSB0aGUKKyAgbGluayBwb2ludHMgdG8uCitJdCBpcyBhbiBlcnJvciB0byB1c2UgZGlyX2ZkIG9yIGZvbGxvd19zeW1saW5rcyB3aGVuIHNwZWNpZnlpbmcgcGF0aAorICBhcyBhbiBvcGVuIGZpbGUgZGVzY3JpcHRvci4KK2Rpcl9mZCBhbmQgZm9sbG93X3N5bWxpbmtzIG1heSBub3QgYmUgYXZhaWxhYmxlIG9uIHlvdXIgcGxhdGZvcm0uCisgIElmIHRoZXkgYXJlIHVuYXZhaWxhYmxlLCB1c2luZyB0aGVtIHdpbGwgcmFpc2UgYSBOb3RJbXBsZW1lbnRlZEVycm9yLgorCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc191dGltZV9fZG9jX18sCisidXRpbWUoJG1vZHVsZSwgLywgcGF0aCwgdGltZXM9Tm9uZSwgKiwgbnM9Tm9uZSwgZGlyX2ZkPU5vbmUsXG4iCisiICAgICAgZm9sbG93X3N5bWxpbmtzPVRydWUpXG4iCisiLS1cbiIKKyJcbiIKKyJTZXQgdGhlIGFjY2VzcyBhbmQgbW9kaWZpZWQgdGltZSBvZiBwYXRoLlxuIgorIlxuIgorInBhdGggbWF5IGFsd2F5cyBiZSBzcGVjaWZpZWQgYXMgYSBzdHJpbmcuXG4iCisiT24gc29tZSBwbGF0Zm9ybXMsIHBhdGggbWF5IGFsc28gYmUgc3BlY2lmaWVkIGFzIGFuIG9wZW4gZmlsZSBkZXNjcmlwdG9yLlxuIgorIiAgSWYgdGhpcyBmdW5jdGlvbmFsaXR5IGlzIHVuYXZhaWxhYmxlLCB1c2luZyBpdCByYWlzZXMgYW4gZXhjZXB0aW9uLlxuIgorIlxuIgorIklmIHRpbWVzIGlzIG5vdCBOb25lLCBpdCBtdXN0IGJlIGEgdHVwbGUgKGF0aW1lLCBtdGltZSk7XG4iCisiICAgIGF0aW1lIGFuZCBtdGltZSBzaG91bGQgYmUgZXhwcmVzc2VkIGFzIGZsb2F0IHNlY29uZHMgc2luY2UgdGhlIGVwb2NoLlxuIgorIklmIG5zIGlzIG5vdCBOb25lLCBpdCBtdXN0IGJlIGEgdHVwbGUgKGF0aW1lX25zLCBtdGltZV9ucyk7XG4iCisiICAgIGF0aW1lX25zIGFuZCBtdGltZV9ucyBzaG91bGQgYmUgZXhwcmVzc2VkIGFzIGludGVnZXIgbmFub3NlY29uZHNcbiIKKyIgICAgc2luY2UgdGhlIGVwb2NoLlxuIgorIklmIGJvdGggdGltZXMgYW5kIG5zIGFyZSBOb25lLCB1dGltZSB1c2VzIHRoZSBjdXJyZW50IHRpbWUuXG4iCisiU3BlY2lmeWluZyB0dXBsZXMgZm9yIGJvdGggdGltZXMgYW5kIG5zIGlzIGFuIGVycm9yLlxuIgorIlxuIgorIklmIGRpcl9mZCBpcyBub3QgTm9uZSwgaXQgc2hvdWxkIGJlIGEgZmlsZSBkZXNjcmlwdG9yIG9wZW4gdG8gYSBkaXJlY3RvcnksXG4iCisiICBhbmQgcGF0aCBzaG91bGQgYmUgcmVsYXRpdmU7IHBhdGggd2lsbCB0aGVuIGJlIHJlbGF0aXZlIHRvIHRoYXQgZGlyZWN0b3J5LlxuIgorIklmIGZvbGxvd19zeW1saW5rcyBpcyBGYWxzZSwgYW5kIHRoZSBsYXN0IGVsZW1lbnQgb2YgdGhlIHBhdGggaXMgYSBzeW1ib2xpY1xuIgorIiAgbGluaywgdXRpbWUgd2lsbCBtb2RpZnkgdGhlIHN5bWJvbGljIGxpbmsgaXRzZWxmIGluc3RlYWQgb2YgdGhlIGZpbGUgdGhlXG4iCisiICBsaW5rIHBvaW50cyB0by5cbiIKKyJJdCBpcyBhbiBlcnJvciB0byB1c2UgZGlyX2ZkIG9yIGZvbGxvd19zeW1saW5rcyB3aGVuIHNwZWNpZnlpbmcgcGF0aFxuIgorIiAgYXMgYW4gb3BlbiBmaWxlIGRlc2NyaXB0b3IuXG4iCisiZGlyX2ZkIGFuZCBmb2xsb3dfc3ltbGlua3MgbWF5IG5vdCBiZSBhdmFpbGFibGUgb24geW91ciBwbGF0Zm9ybS5cbiIKKyIgIElmIHRoZXkgYXJlIHVuYXZhaWxhYmxlLCB1c2luZyB0aGVtIHdpbGwgcmFpc2UgYSBOb3RJbXBsZW1lbnRlZEVycm9yLiIpOworCisjZGVmaW5lIE9TX1VUSU1FX01FVEhPRERFRiAgICBcCisgICAgeyJ1dGltZSIsIChQeUNGdW5jdGlvbilvc191dGltZSwgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsIG9zX3V0aW1lX19kb2NfX30sCisKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF91dGltZShQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCitvc191dGltZV9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIHBhdGhfdCAqcGF0aCwgUHlPYmplY3QgKnRpbWVzLCBQeU9iamVjdCAqbnMsIGludCBkaXJfZmQsIGludCBmb2xsb3dfc3ltbGlua3MpOworCitzdGF0aWMgUHlPYmplY3QgKgorb3NfdXRpbWUoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCiB7Ci0gICAgcGF0aF90IHBhdGg7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgc3RhdGljIGNoYXIgKl9rZXl3b3Jkc1tdID0geyJwYXRoIiwgInRpbWVzIiwgIm5zIiwgImRpcl9mZCIsICJmb2xsb3dfc3ltbGlua3MiLCBOVUxMfTsKKyAgICBwYXRoX3QgcGF0aCA9IFBBVEhfVF9JTklUSUFMSVpFKCJ1dGltZSIsICJwYXRoIiwgMCwgUEFUSF9VVElNRV9IQVZFX0ZEKTsKICAgICBQeU9iamVjdCAqdGltZXMgPSBOVUxMOwogICAgIFB5T2JqZWN0ICpucyA9IE5VTEw7CiAgICAgaW50IGRpcl9mZCA9IERFRkFVTFRfRElSX0ZEOwogICAgIGludCBmb2xsb3dfc3ltbGlua3MgPSAxOwotICAgIGNoYXIgKmtleXdvcmRzW10gPSB7InBhdGgiLCAidGltZXMiLCAibnMiLCAiZGlyX2ZkIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJmb2xsb3dfc3ltbGlua3MiLCBOVUxMfTsKIAotICAgIHV0aW1lX3QgdXRpbWU7CisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLAorICAgICAgICAiTyZ8TyRPTyZwOnV0aW1lIiwgX2tleXdvcmRzLAorICAgICAgICBwYXRoX2NvbnZlcnRlciwgJnBhdGgsICZ0aW1lcywgJm5zLCBGVVRJTUVOU0FUX0RJUl9GRF9DT05WRVJURVIsICZkaXJfZmQsICZmb2xsb3dfc3ltbGlua3MpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gb3NfdXRpbWVfaW1wbChtb2R1bGUsICZwYXRoLCB0aW1lcywgbnMsIGRpcl9mZCwgZm9sbG93X3N5bWxpbmtzKTsKIAorZXhpdDoKKyAgICAvKiBDbGVhbnVwIGZvciBwYXRoICovCisgICAgcGF0aF9jbGVhbnVwKCZwYXRoKTsKKworICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc191dGltZV9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIHBhdGhfdCAqcGF0aCwgUHlPYmplY3QgKnRpbWVzLCBQeU9iamVjdCAqbnMsIGludCBkaXJfZmQsIGludCBmb2xsb3dfc3ltbGlua3MpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9ODkxNDg5YzM1Y2M2OGM1ZCBpbnB1dD0xZjE4YzE3ZDU5NDFhYTgyXSovCit7CiAjaWZkZWYgTVNfV0lORE9XUwogICAgIEhBTkRMRSBoRmlsZTsKICAgICBGSUxFVElNRSBhdGltZSwgbXRpbWU7CkBAIC00ODgzLDI1ICs2MzQ1LDkgQEAKICNlbmRpZgogCiAgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgdXRpbWVfdCB1dGltZTsKIAotICAgIG1lbXNldCgmcGF0aCwgMCwgc2l6ZW9mKHBhdGgpKTsKLSAgICBwYXRoLmZ1bmN0aW9uX25hbWUgPSAidXRpbWUiOwogICAgIG1lbXNldCgmdXRpbWUsIDAsIHNpemVvZih1dGltZV90KSk7Ci0jaWYgVVRJTUVfSEFWRV9GRAotICAgIHBhdGguYWxsb3dfZmQgPSAxOwotI2VuZGlmCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLAotICAgICAgICAgICAgIk8mfE8kT08mcDp1dGltZSIsIGtleXdvcmRzLAotICAgICAgICAgICAgcGF0aF9jb252ZXJ0ZXIsICZwYXRoLAotICAgICAgICAgICAgJnRpbWVzLCAmbnMsCi0jaWYgVVRJTUVfSEFWRV9ESVJfRkQKLSAgICAgICAgICAgIGRpcl9mZF9jb252ZXJ0ZXIsICZkaXJfZmQsCi0jZWxzZQotICAgICAgICAgICAgZGlyX2ZkX3VuYXZhaWxhYmxlLCAmZGlyX2ZkLAotI2VuZGlmCi0gICAgICAgICAgICAmZm9sbG93X3N5bWxpbmtzCi0gICAgICAgICAgICApKQotICAgICAgICByZXR1cm4gTlVMTDsKIAogICAgIGlmICh0aW1lcyAmJiAodGltZXMgIT0gUHlfTm9uZSkgJiYgbnMpIHsKICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsCkBAIC00OTU1LDkgKzY0MDEsOSBAQAogICAgICAgICBnb3RvIGV4aXQ7CiAjZW5kaWYKIAotICAgIGlmIChwYXRoX2FuZF9kaXJfZmRfaW52YWxpZCgidXRpbWUiLCAmcGF0aCwgZGlyX2ZkKSB8fAotICAgICAgICBkaXJfZmRfYW5kX2ZkX2ludmFsaWQoInV0aW1lIiwgZGlyX2ZkLCBwYXRoLmZkKSB8fAotICAgICAgICBmZF9hbmRfZm9sbG93X3N5bWxpbmtzX2ludmFsaWQoInV0aW1lIiwgcGF0aC5mZCwgZm9sbG93X3N5bWxpbmtzKSkKKyAgICBpZiAocGF0aF9hbmRfZGlyX2ZkX2ludmFsaWQoInV0aW1lIiwgcGF0aCwgZGlyX2ZkKSB8fAorICAgICAgICBkaXJfZmRfYW5kX2ZkX2ludmFsaWQoInV0aW1lIiwgZGlyX2ZkLCBwYXRoLT5mZCkgfHwKKyAgICAgICAgZmRfYW5kX2ZvbGxvd19zeW1saW5rc19pbnZhbGlkKCJ1dGltZSIsIHBhdGgtPmZkLCBmb2xsb3dfc3ltbGlua3MpKQogICAgICAgICBnb3RvIGV4aXQ7CiAKICNpZiAhZGVmaW5lZChIQVZFX1VUSU1FTlNBVCkKQEAgLTQ5NzEsMTcgKzY0MTcsMTcgQEAKIAogI2lmZGVmIE1TX1dJTkRPV1MKICAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCi0gICAgaWYgKHBhdGgud2lkZSkKLSAgICAgICAgaEZpbGUgPSBDcmVhdGVGaWxlVyhwYXRoLndpZGUsIEZJTEVfV1JJVEVfQVRUUklCVVRFUywgMCwKKyAgICBpZiAocGF0aC0+d2lkZSkKKyAgICAgICAgaEZpbGUgPSBDcmVhdGVGaWxlVyhwYXRoLT53aWRlLCBGSUxFX1dSSVRFX0FUVFJJQlVURVMsIDAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwgT1BFTl9FWElTVElORywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGSUxFX0ZMQUdfQkFDS1VQX1NFTUFOVElDUywgTlVMTCk7CiAgICAgZWxzZQotICAgICAgICBoRmlsZSA9IENyZWF0ZUZpbGVBKHBhdGgubmFycm93LCBGSUxFX1dSSVRFX0FUVFJJQlVURVMsIDAsCisgICAgICAgIGhGaWxlID0gQ3JlYXRlRmlsZUEocGF0aC0+bmFycm93LCBGSUxFX1dSSVRFX0FUVFJJQlVURVMsIDAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwgT1BFTl9FWElTVElORywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGSUxFX0ZMQUdfQkFDS1VQX1NFTUFOVElDUywgTlVMTCk7CiAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKICAgICBpZiAoaEZpbGUgPT0gSU5WQUxJRF9IQU5ETEVfVkFMVUUpIHsKLSAgICAgICAgcGF0aF9lcnJvcigmcGF0aCk7CisgICAgICAgIHBhdGhfZXJyb3IocGF0aCk7CiAgICAgICAgIGdvdG8gZXhpdDsKICAgICB9CiAKQEAgLTUwMDYsMjMgKzY0NTIsMjMgQEAKIAogI2lmIFVUSU1FX0hBVkVfTk9GT0xMT1dfU1lNTElOS1MKICAgICBpZiAoKCFmb2xsb3dfc3ltbGlua3MpICYmIChkaXJfZmQgPT0gREVGQVVMVF9ESVJfRkQpKQotICAgICAgICByZXN1bHQgPSB1dGltZV9ub2ZvbGxvd19zeW1saW5rcygmdXRpbWUsIHBhdGgubmFycm93KTsKKyAgICAgICAgcmVzdWx0ID0gdXRpbWVfbm9mb2xsb3dfc3ltbGlua3MoJnV0aW1lLCBwYXRoLT5uYXJyb3cpOwogICAgIGVsc2UKICNlbmRpZgogCiAjaWYgVVRJTUVfSEFWRV9ESVJfRkQKICAgICBpZiAoKGRpcl9mZCAhPSBERUZBVUxUX0RJUl9GRCkgfHwgKCFmb2xsb3dfc3ltbGlua3MpKQotICAgICAgICByZXN1bHQgPSB1dGltZV9kaXJfZmQoJnV0aW1lLCBkaXJfZmQsIHBhdGgubmFycm93LCBmb2xsb3dfc3ltbGlua3MpOworICAgICAgICByZXN1bHQgPSB1dGltZV9kaXJfZmQoJnV0aW1lLCBkaXJfZmQsIHBhdGgtPm5hcnJvdywgZm9sbG93X3N5bWxpbmtzKTsKICAgICBlbHNlCiAjZW5kaWYKIAogI2lmIFVUSU1FX0hBVkVfRkQKLSAgICBpZiAocGF0aC5mZCAhPSAtMSkKLSAgICAgICAgcmVzdWx0ID0gdXRpbWVfZmQoJnV0aW1lLCBwYXRoLmZkKTsKKyAgICBpZiAocGF0aC0+ZmQgIT0gLTEpCisgICAgICAgIHJlc3VsdCA9IHV0aW1lX2ZkKCZ1dGltZSwgcGF0aC0+ZmQpOwogICAgIGVsc2UKICNlbmRpZgogCi0gICAgcmVzdWx0ID0gdXRpbWVfZGVmYXVsdCgmdXRpbWUsIHBhdGgubmFycm93KTsKKyAgICByZXN1bHQgPSB1dGltZV9kZWZhdWx0KCZ1dGltZSwgcGF0aC0+bmFycm93KTsKIAogICAgIFB5X0VORF9BTExPV19USFJFQURTCiAKQEAgLTUwMzgsNyArNjQ4NCw2IEBACiAgICAgcmV0dXJuX3ZhbHVlID0gUHlfTm9uZTsKIAogZXhpdDoKLSAgICBwYXRoX2NsZWFudXAoJnBhdGgpOwogI2lmZGVmIE1TX1dJTkRPV1MKICAgICBpZiAoaEZpbGUgIT0gSU5WQUxJRF9IQU5ETEVfVkFMVUUpCiAgICAgICAgIENsb3NlSGFuZGxlKGhGaWxlKTsKQEAgLTUwNDgsMTcgKzY0OTMsNDkgQEAKIAogLyogUHJvY2VzcyBvcGVyYXRpb25zICovCiAKLVB5RG9jX1NUUlZBUihwb3NpeF9fZXhpdF9fZG9jX18sCi0iX2V4aXQoc3RhdHVzKVxuXG5cCi1FeGl0IHRvIHRoZSBzeXN0ZW0gd2l0aCBzcGVjaWZpZWQgc3RhdHVzLCB3aXRob3V0IG5vcm1hbCBleGl0IHByb2Nlc3NpbmcuIik7CisKKy8qW2NsaW5pYyBpbnB1dF0KK29zLl9leGl0CisKKyAgICBzdGF0dXM6IGludAorCitFeGl0IHRvIHRoZSBzeXN0ZW0gd2l0aCBzcGVjaWZpZWQgc3RhdHVzLCB3aXRob3V0IG5vcm1hbCBleGl0IHByb2Nlc3NpbmcuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19fZXhpdF9fZG9jX18sCisiX2V4aXQoJG1vZHVsZSwgLywgc3RhdHVzKVxuIgorIi0tXG4iCisiXG4iCisiRXhpdCB0byB0aGUgc3lzdGVtIHdpdGggc3BlY2lmaWVkIHN0YXR1cywgd2l0aG91dCBub3JtYWwgZXhpdCBwcm9jZXNzaW5nLiIpOworCisjZGVmaW5lIE9TX19FWElUX01FVEhPRERFRiAgICBcCisgICAgeyJfZXhpdCIsIChQeUNGdW5jdGlvbilvc19fZXhpdCwgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsIG9zX19leGl0X19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF9fZXhpdChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCitvc19fZXhpdF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGludCBzdGF0dXMpOworCitzdGF0aWMgUHlPYmplY3QgKgorb3NfX2V4aXQoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCiB7Ci0gICAgaW50IHN0czsKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgImk6X2V4aXQiLCAmc3RzKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgX2V4aXQoc3RzKTsKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBzdGF0aWMgY2hhciAqX2tleXdvcmRzW10gPSB7InN0YXR1cyIsIE5VTEx9OworICAgIGludCBzdGF0dXM7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsCisgICAgICAgICJpOl9leGl0IiwgX2tleXdvcmRzLAorICAgICAgICAmc3RhdHVzKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IG9zX19leGl0X2ltcGwobW9kdWxlLCBzdGF0dXMpOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19fZXhpdF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGludCBzdGF0dXMpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9NGY5ODU4YzRjYzJkY2I4OSBpbnB1dD01ZTZkNTc1NTZiMGM0YTYyXSovCit7CisgICAgX2V4aXQoc3RhdHVzKTsKICAgICByZXR1cm4gTlVMTDsgLyogTWFrZSBnY2MgLVdhbGwgaGFwcHkgKi8KIH0KIApAQCAtNTE5Niw5NiArNjY3MywxNjAgQEAKIH0KICNlbmRpZgogCisKICNpZmRlZiBIQVZFX0VYRUNWCi1QeURvY19TVFJWQVIocG9zaXhfZXhlY3ZfX2RvY19fLAotImV4ZWN2KHBhdGgsIGFyZ3MpXG5cblwKLUV4ZWN1dGUgYW4gZXhlY3V0YWJsZSBwYXRoIHdpdGggYXJndW1lbnRzLCByZXBsYWNpbmcgY3VycmVudCBwcm9jZXNzLlxuXAotXG5cCi0gICAgcGF0aDogcGF0aCBvZiBleGVjdXRhYmxlIGZpbGVcblwKLSAgICBhcmdzOiB0dXBsZSBvciBsaXN0IG9mIHN0cmluZ3MiKTsKKy8qW2NsaW5pYyBpbnB1dF0KK29zLmV4ZWN2CisKKyAgICBwYXRoOiBGU0NvbnZlcnRlcgorICAgICAgICBQYXRoIG9mIGV4ZWN1dGFibGUgZmlsZS4KKyAgICBhcmd2OiBvYmplY3QKKyAgICAgICAgVHVwbGUgb3IgbGlzdCBvZiBzdHJpbmdzLgorICAgIC8KKworRXhlY3V0ZSBhbiBleGVjdXRhYmxlIHBhdGggd2l0aCBhcmd1bWVudHMsIHJlcGxhY2luZyBjdXJyZW50IHByb2Nlc3MuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19leGVjdl9fZG9jX18sCisiZXhlY3YoJG1vZHVsZSwgcGF0aCwgYXJndiwgLylcbiIKKyItLVxuIgorIlxuIgorIkV4ZWN1dGUgYW4gZXhlY3V0YWJsZSBwYXRoIHdpdGggYXJndW1lbnRzLCByZXBsYWNpbmcgY3VycmVudCBwcm9jZXNzLlxuIgorIlxuIgorIiAgcGF0aFxuIgorIiAgICBQYXRoIG9mIGV4ZWN1dGFibGUgZmlsZS5cbiIKKyIgIGFyZ3ZcbiIKKyIgICAgVHVwbGUgb3IgbGlzdCBvZiBzdHJpbmdzLiIpOworCisjZGVmaW5lIE9TX0VYRUNWX01FVEhPRERFRiAgICBcCisgICAgeyJleGVjdiIsIChQeUNGdW5jdGlvbilvc19leGVjdiwgTUVUSF9WQVJBUkdTLCBvc19leGVjdl9fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfZXhlY3YoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQorb3NfZXhlY3ZfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqcGF0aCwgUHlPYmplY3QgKmFyZ3YpOworCitzdGF0aWMgUHlPYmplY3QgKgorb3NfZXhlY3YoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MpCiB7Ci0gICAgUHlPYmplY3QgKm9wYXRoOwotICAgIGNoYXIgKnBhdGg7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgUHlPYmplY3QgKnBhdGggPSBOVUxMOwogICAgIFB5T2JqZWN0ICphcmd2OworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCisgICAgICAgICJPJk86ZXhlY3YiLAorICAgICAgICBQeVVuaWNvZGVfRlNDb252ZXJ0ZXIsICZwYXRoLCAmYXJndikpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBvc19leGVjdl9pbXBsKG1vZHVsZSwgcGF0aCwgYXJndik7CisKK2V4aXQ6CisgICAgLyogQ2xlYW51cCBmb3IgcGF0aCAqLworICAgIFB5X1hERUNSRUYocGF0aCk7CisKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorb3NfZXhlY3ZfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqcGF0aCwgUHlPYmplY3QgKmFyZ3YpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9YjBmNWYyY2FhNjA5N2VkYyBpbnB1dD05NjA0MTU1OTkyNWU1MjI5XSovCit7CisgICAgY2hhciAqcGF0aF9jaGFyOwogICAgIGNoYXIgKiphcmd2bGlzdDsKICAgICBQeV9zc2l6ZV90IGFyZ2M7CiAKICAgICAvKiBleGVjdiBoYXMgdHdvIGFyZ3VtZW50czogKHBhdGgsIGFyZ3YpLCB3aGVyZQogICAgICAgIGFyZ3YgaXMgYSBsaXN0IG9yIHR1cGxlIG9mIHN0cmluZ3MuICovCiAKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgIk8mTzpleGVjdiIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIFB5VW5pY29kZV9GU0NvbnZlcnRlciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgJm9wYXRoLCAmYXJndikpCi0gICAgICAgIHJldHVybiBOVUxMOwotICAgIHBhdGggPSBQeUJ5dGVzX0FzU3RyaW5nKG9wYXRoKTsKKyAgICBwYXRoX2NoYXIgPSBQeUJ5dGVzX0FzU3RyaW5nKHBhdGgpOwogICAgIGlmICghUHlMaXN0X0NoZWNrKGFyZ3YpICYmICFQeVR1cGxlX0NoZWNrKGFyZ3YpKSB7CiAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsCiAgICAgICAgICAgICAgICAgICAgICAgICAiZXhlY3YoKSBhcmcgMiBtdXN0IGJlIGEgdHVwbGUgb3IgbGlzdCIpOwotICAgICAgICBQeV9ERUNSRUYob3BhdGgpOwogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CiAgICAgYXJnYyA9IFB5U2VxdWVuY2VfU2l6ZShhcmd2KTsKICAgICBpZiAoYXJnYyA8IDEpIHsKICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsICJleGVjdigpIGFyZyAyIG11c3Qgbm90IGJlIGVtcHR5Iik7Ci0gICAgICAgIFB5X0RFQ1JFRihvcGF0aCk7CiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KIAogICAgIGFyZ3ZsaXN0ID0gcGFyc2VfYXJnbGlzdChhcmd2LCAmYXJnYyk7CiAgICAgaWYgKGFyZ3ZsaXN0ID09IE5VTEwpIHsKLSAgICAgICAgUHlfREVDUkVGKG9wYXRoKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQogCi0gICAgZXhlY3YocGF0aCwgYXJndmxpc3QpOworICAgIGV4ZWN2KHBhdGhfY2hhciwgYXJndmxpc3QpOwogCiAgICAgLyogSWYgd2UgZ2V0IGhlcmUgaXQncyBkZWZpbml0ZWx5IGFuIGVycm9yICovCiAKICAgICBmcmVlX3N0cmluZ19hcnJheShhcmd2bGlzdCwgYXJnYyk7Ci0gICAgUHlfREVDUkVGKG9wYXRoKTsKICAgICByZXR1cm4gcG9zaXhfZXJyb3IoKTsKIH0KIAotUHlEb2NfU1RSVkFSKHBvc2l4X2V4ZWN2ZV9fZG9jX18sCi0iZXhlY3ZlKHBhdGgsIGFyZ3MsIGVudilcblxuXAotRXhlY3V0ZSBhIHBhdGggd2l0aCBhcmd1bWVudHMgYW5kIGVudmlyb25tZW50LCByZXBsYWNpbmcgY3VycmVudCBwcm9jZXNzLlxuXAotXG5cCi0gICAgcGF0aDogcGF0aCBvZiBleGVjdXRhYmxlIGZpbGVcblwKLSAgICBhcmdzOiB0dXBsZSBvciBsaXN0IG9mIGFyZ3VtZW50c1xuXAotICAgIGVudjogZGljdGlvbmFyeSBvZiBzdHJpbmdzIG1hcHBpbmcgdG8gc3RyaW5nc1xuXAotXG5cCi1PbiBzb21lIHBsYXRmb3JtcywgeW91IG1heSBzcGVjaWZ5IGFuIG9wZW4gZmlsZSBkZXNjcmlwdG9yIGZvciBwYXRoO1xuXAotICBleGVjdmUgd2lsbCBleGVjdXRlIHRoZSBwcm9ncmFtIHRoZSBmaWxlIGRlc2NyaXB0b3IgaXMgb3BlbiB0by5cblwKLSAgSWYgdGhpcyBmdW5jdGlvbmFsaXR5IGlzIHVuYXZhaWxhYmxlLCB1c2luZyBpdCByYWlzZXMgTm90SW1wbGVtZW50ZWRFcnJvci4iKTsKKworLypbY2xpbmljIGlucHV0XQorb3MuZXhlY3ZlCisKKyAgICBwYXRoOiBwYXRoX3QoYWxsb3dfZmQ9J1BBVEhfSEFWRV9GRVhFQ1ZFJykKKyAgICAgICAgUGF0aCBvZiBleGVjdXRhYmxlIGZpbGUuCisgICAgYXJndjogb2JqZWN0CisgICAgICAgIFR1cGxlIG9yIGxpc3Qgb2Ygc3RyaW5ncy4KKyAgICBlbnY6IG9iamVjdAorICAgICAgICBEaWN0aW9uYXJ5IG9mIHN0cmluZ3MgbWFwcGluZyB0byBzdHJpbmdzLgorCitFeGVjdXRlIGFuIGV4ZWN1dGFibGUgcGF0aCB3aXRoIGFyZ3VtZW50cywgcmVwbGFjaW5nIGN1cnJlbnQgcHJvY2Vzcy4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX2V4ZWN2ZV9fZG9jX18sCisiZXhlY3ZlKCRtb2R1bGUsIC8sIHBhdGgsIGFyZ3YsIGVudilcbiIKKyItLVxuIgorIlxuIgorIkV4ZWN1dGUgYW4gZXhlY3V0YWJsZSBwYXRoIHdpdGggYXJndW1lbnRzLCByZXBsYWNpbmcgY3VycmVudCBwcm9jZXNzLlxuIgorIlxuIgorIiAgcGF0aFxuIgorIiAgICBQYXRoIG9mIGV4ZWN1dGFibGUgZmlsZS5cbiIKKyIgIGFyZ3ZcbiIKKyIgICAgVHVwbGUgb3IgbGlzdCBvZiBzdHJpbmdzLlxuIgorIiAgZW52XG4iCisiICAgIERpY3Rpb25hcnkgb2Ygc3RyaW5ncyBtYXBwaW5nIHRvIHN0cmluZ3MuIik7CisKKyNkZWZpbmUgT1NfRVhFQ1ZFX01FVEhPRERFRiAgICBcCisgICAgeyJleGVjdmUiLCAoUHlDRnVuY3Rpb24pb3NfZXhlY3ZlLCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywgb3NfZXhlY3ZlX19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF9leGVjdmUoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQorb3NfZXhlY3ZlX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgcGF0aF90ICpwYXRoLCBQeU9iamVjdCAqYXJndiwgUHlPYmplY3QgKmVudik7CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19leGVjdmUoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCiB7Ci0gICAgcGF0aF90IHBhdGg7Ci0gICAgUHlPYmplY3QgKmFyZ3YsICplbnY7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgc3RhdGljIGNoYXIgKl9rZXl3b3Jkc1tdID0geyJwYXRoIiwgImFyZ3YiLCAiZW52IiwgTlVMTH07CisgICAgcGF0aF90IHBhdGggPSBQQVRIX1RfSU5JVElBTElaRSgiZXhlY3ZlIiwgInBhdGgiLCAwLCBQQVRIX0hBVkVfRkVYRUNWRSk7CisgICAgUHlPYmplY3QgKmFyZ3Y7CisgICAgUHlPYmplY3QgKmVudjsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywKKyAgICAgICAgIk8mT086ZXhlY3ZlIiwgX2tleXdvcmRzLAorICAgICAgICBwYXRoX2NvbnZlcnRlciwgJnBhdGgsICZhcmd2LCAmZW52KSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IG9zX2V4ZWN2ZV9pbXBsKG1vZHVsZSwgJnBhdGgsIGFyZ3YsIGVudik7CisKK2V4aXQ6CisgICAgLyogQ2xlYW51cCBmb3IgcGF0aCAqLworICAgIHBhdGhfY2xlYW51cCgmcGF0aCk7CisKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorb3NfZXhlY3ZlX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgcGF0aF90ICpwYXRoLCBQeU9iamVjdCAqYXJndiwgUHlPYmplY3QgKmVudikKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1mYjI4Mzc2MGY1ZDE1YWI3IGlucHV0PTYyNjgwNGZhMDkyNjA2ZDldKi8KK3sKICAgICBjaGFyICoqYXJndmxpc3QgPSBOVUxMOwogICAgIGNoYXIgKiplbnZsaXN0OwogICAgIFB5X3NzaXplX3QgYXJnYywgZW52YzsKLSAgICBzdGF0aWMgY2hhciAqa2V5d29yZHNbXSA9IHsicGF0aCIsICJhcmd2IiwgImVudmlyb25tZW50IiwgTlVMTH07CiAKICAgICAvKiBleGVjdmUgaGFzIHRocmVlIGFyZ3VtZW50czogKHBhdGgsIGFyZ3YsIGVudiksIHdoZXJlCiAgICAgICAgYXJndiBpcyBhIGxpc3Qgb3IgdHVwbGUgb2Ygc3RyaW5ncyBhbmQgZW52IGlzIGEgZGljdGlvbmFyeQogICAgICAgIGxpa2UgcG9zaXguZW52aXJvbi4gKi8KIAotICAgIG1lbXNldCgmcGF0aCwgMCwgc2l6ZW9mKHBhdGgpKTsKLSAgICBwYXRoLmZ1bmN0aW9uX25hbWUgPSAiZXhlY3ZlIjsKLSNpZmRlZiBIQVZFX0ZFWEVDVkUKLSAgICBwYXRoLmFsbG93X2ZkID0gMTsKLSNlbmRpZgotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywgIk8mT086ZXhlY3ZlIiwga2V5d29yZHMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIHBhdGhfY29udmVydGVyLCAmcGF0aCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgJmFyZ3YsICZlbnYKLSAgICAgICAgICAgICAgICAgICAgICAgICAgKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0KICAgICBpZiAoIVB5TGlzdF9DaGVjayhhcmd2KSAmJiAhUHlUdXBsZV9DaGVjayhhcmd2KSkgewogICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLAogICAgICAgICAgICAgICAgICAgICAgICAgImV4ZWN2ZTogYXJndiBtdXN0IGJlIGEgdHVwbGUgb3IgbGlzdCIpOwpAQCAtNTMwOCwxNSArNjg0OSwxNSBAQAogICAgICAgICBnb3RvIGZhaWw7CiAKICNpZmRlZiBIQVZFX0ZFWEVDVkUKLSAgICBpZiAocGF0aC5mZCA+IC0xKQotICAgICAgICBmZXhlY3ZlKHBhdGguZmQsIGFyZ3ZsaXN0LCBlbnZsaXN0KTsKKyAgICBpZiAocGF0aC0+ZmQgPiAtMSkKKyAgICAgICAgZmV4ZWN2ZShwYXRoLT5mZCwgYXJndmxpc3QsIGVudmxpc3QpOwogICAgIGVsc2UKICNlbmRpZgotICAgICAgICBleGVjdmUocGF0aC5uYXJyb3csIGFyZ3ZsaXN0LCBlbnZsaXN0KTsKKyAgICAgICAgZXhlY3ZlKHBhdGgtPm5hcnJvdywgYXJndmxpc3QsIGVudmxpc3QpOwogCiAgICAgLyogSWYgd2UgZ2V0IGhlcmUgaXQncyBkZWZpbml0ZWx5IGFuIGVycm9yICovCiAKLSAgICBwYXRoX2Vycm9yKCZwYXRoKTsKKyAgICBwYXRoX2Vycm9yKHBhdGgpOwogCiAgICAgd2hpbGUgKC0tZW52YyA+PSAwKQogICAgICAgICBQeU1lbV9ERUwoZW52bGlzdFtlbnZjXSk7CkBAIC01MzI0LDI5ICs2ODY1LDczIEBACiAgIGZhaWw6CiAgICAgaWYgKGFyZ3ZsaXN0KQogICAgICAgICBmcmVlX3N0cmluZ19hcnJheShhcmd2bGlzdCwgYXJnYyk7Ci0gICAgcGF0aF9jbGVhbnVwKCZwYXRoKTsKICAgICByZXR1cm4gTlVMTDsKIH0KICNlbmRpZiAvKiBIQVZFX0VYRUNWICovCiAKIAogI2lmZGVmIEhBVkVfU1BBV05WCi1QeURvY19TVFJWQVIocG9zaXhfc3Bhd252X19kb2NfXywKLSJzcGF3bnYobW9kZSwgcGF0aCwgYXJncylcblxuXAotRXhlY3V0ZSB0aGUgcHJvZ3JhbSAncGF0aCcgaW4gYSBuZXcgcHJvY2Vzcy5cblwKLVxuXAotICAgIG1vZGU6IG1vZGUgb2YgcHJvY2VzcyBjcmVhdGlvblxuXAotICAgIHBhdGg6IHBhdGggb2YgZXhlY3V0YWJsZSBmaWxlXG5cCi0gICAgYXJnczogdHVwbGUgb3IgbGlzdCBvZiBzdHJpbmdzIik7CisvKltjbGluaWMgaW5wdXRdCitvcy5zcGF3bnYKKworICAgIG1vZGU6IGludAorICAgICAgICBNb2RlIG9mIHByb2Nlc3MgY3JlYXRpb24uCisgICAgcGF0aDogRlNDb252ZXJ0ZXIKKyAgICAgICAgUGF0aCBvZiBleGVjdXRhYmxlIGZpbGUuCisgICAgYXJndjogb2JqZWN0CisgICAgICAgIFR1cGxlIG9yIGxpc3Qgb2Ygc3RyaW5ncy4KKyAgICAvCisKK0V4ZWN1dGUgdGhlIHByb2dyYW0gc3BlY2lmaWVkIGJ5IHBhdGggaW4gYSBuZXcgcHJvY2Vzcy4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX3NwYXdudl9fZG9jX18sCisic3Bhd252KCRtb2R1bGUsIG1vZGUsIHBhdGgsIGFyZ3YsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJFeGVjdXRlIHRoZSBwcm9ncmFtIHNwZWNpZmllZCBieSBwYXRoIGluIGEgbmV3IHByb2Nlc3MuXG4iCisiXG4iCisiICBtb2RlXG4iCisiICAgIE1vZGUgb2YgcHJvY2VzcyBjcmVhdGlvbi5cbiIKKyIgIHBhdGhcbiIKKyIgICAgUGF0aCBvZiBleGVjdXRhYmxlIGZpbGUuXG4iCisiICBhcmd2XG4iCisiICAgIFR1cGxlIG9yIGxpc3Qgb2Ygc3RyaW5ncy4iKTsKKworI2RlZmluZSBPU19TUEFXTlZfTUVUSE9EREVGICAgIFwKKyAgICB7InNwYXdudiIsIChQeUNGdW5jdGlvbilvc19zcGF3bnYsIE1FVEhfVkFSQVJHUywgb3Nfc3Bhd252X19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF9zcGF3bnYoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQorb3Nfc3Bhd252X2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgaW50IG1vZGUsIFB5T2JqZWN0ICpwYXRoLCBQeU9iamVjdCAqYXJndik7CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19zcGF3bnYoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MpCiB7Ci0gICAgUHlPYmplY3QgKm9wYXRoOwotICAgIGNoYXIgKnBhdGg7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgaW50IG1vZGU7CisgICAgUHlPYmplY3QgKnBhdGggPSBOVUxMOwogICAgIFB5T2JqZWN0ICphcmd2OworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCisgICAgICAgICJpTyZPOnNwYXdudiIsCisgICAgICAgICZtb2RlLCBQeVVuaWNvZGVfRlNDb252ZXJ0ZXIsICZwYXRoLCAmYXJndikpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBvc19zcGF3bnZfaW1wbChtb2R1bGUsIG1vZGUsIHBhdGgsIGFyZ3YpOworCitleGl0OgorICAgIC8qIENsZWFudXAgZm9yIHBhdGggKi8KKyAgICBQeV9YREVDUkVGKHBhdGgpOworCisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK29zX3NwYXdudl9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGludCBtb2RlLCBQeU9iamVjdCAqcGF0aCwgUHlPYmplY3QgKmFyZ3YpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9ZGZlZTZiZTA2MmU3ODBlMyBpbnB1dD0wNDJjOTFkZmMxZTZkZWJjXSovCit7CisgICAgY2hhciAqcGF0aF9jaGFyOwogICAgIGNoYXIgKiphcmd2bGlzdDsKLSAgICBpbnQgbW9kZSwgaTsKKyAgICBpbnQgaTsKICAgICBQeV9zc2l6ZV90IGFyZ2M7CiAgICAgUHlfaW50cHRyX3Qgc3Bhd252YWw7CiAgICAgUHlPYmplY3QgKigqZ2V0aXRlbSkoUHlPYmplY3QgKiwgUHlfc3NpemVfdCk7CkBAIC01MzU0LDExICs2OTM5LDcgQEAKICAgICAvKiBzcGF3bnYgaGFzIHRocmVlIGFyZ3VtZW50czogKG1vZGUsIHBhdGgsIGFyZ3YpLCB3aGVyZQogICAgICAgIGFyZ3YgaXMgYSBsaXN0IG9yIHR1cGxlIG9mIHN0cmluZ3MuICovCiAKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgImlPJk86c3Bhd252IiwgJm1vZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIFB5VW5pY29kZV9GU0NvbnZlcnRlciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgJm9wYXRoLCAmYXJndikpCi0gICAgICAgIHJldHVybiBOVUxMOwotICAgIHBhdGggPSBQeUJ5dGVzX0FzU3RyaW5nKG9wYXRoKTsKKyAgICBwYXRoX2NoYXIgPSBQeUJ5dGVzX0FzU3RyaW5nKHBhdGgpOwogICAgIGlmIChQeUxpc3RfQ2hlY2soYXJndikpIHsKICAgICAgICAgYXJnYyA9IFB5TGlzdF9TaXplKGFyZ3YpOwogICAgICAgICBnZXRpdGVtID0gUHlMaXN0X0dldEl0ZW07CkBAIC01MzcwLDEzICs2OTUxLDExIEBACiAgICAgZWxzZSB7CiAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsCiAgICAgICAgICAgICAgICAgICAgICAgICAic3Bhd252KCkgYXJnIDIgbXVzdCBiZSBhIHR1cGxlIG9yIGxpc3QiKTsKLSAgICAgICAgUHlfREVDUkVGKG9wYXRoKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQogCiAgICAgYXJndmxpc3QgPSBQeU1lbV9ORVcoY2hhciAqLCBhcmdjKzEpOwogICAgIGlmIChhcmd2bGlzdCA9PSBOVUxMKSB7Ci0gICAgICAgIFB5X0RFQ1JFRihvcGF0aCk7CiAgICAgICAgIHJldHVybiBQeUVycl9Ob01lbW9yeSgpOwogICAgIH0KICAgICBmb3IgKGkgPSAwOyBpIDwgYXJnYzsgaSsrKSB7CkBAIC01Mzg2LDcgKzY5NjUsNiBAQAogICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKAogICAgICAgICAgICAgICAgIFB5RXhjX1R5cGVFcnJvciwKICAgICAgICAgICAgICAgICAic3Bhd252KCkgYXJnIDIgbXVzdCBjb250YWluIG9ubHkgc3RyaW5ncyIpOwotICAgICAgICAgICAgUHlfREVDUkVGKG9wYXRoKTsKICAgICAgICAgICAgIHJldHVybiBOVUxMOwogICAgICAgICB9CiAgICAgfQpAQCAtNTM5NiwxMSArNjk3NCwxMCBAQAogICAgICAgICBtb2RlID0gX1BfT1ZFUkxBWTsKIAogICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKLSAgICBzcGF3bnZhbCA9IF9zcGF3bnYobW9kZSwgcGF0aCwgYXJndmxpc3QpOworICAgIHNwYXdudmFsID0gX3NwYXdudihtb2RlLCBwYXRoX2NoYXIsIGFyZ3ZsaXN0KTsKICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUwogCiAgICAgZnJlZV9zdHJpbmdfYXJyYXkoYXJndmxpc3QsIGFyZ2MpOwotICAgIFB5X0RFQ1JFRihvcGF0aCk7CiAKICAgICBpZiAoc3Bhd252YWwgPT0gLTEpCiAgICAgICAgIHJldHVybiBwb3NpeF9lcnJvcigpOwpAQCAtNTQwOSwyNSArNjk4Niw3MyBAQAogfQogCiAKLVB5RG9jX1NUUlZBUihwb3NpeF9zcGF3bnZlX19kb2NfXywKLSJzcGF3bnZlKG1vZGUsIHBhdGgsIGFyZ3MsIGVudilcblxuXAotRXhlY3V0ZSB0aGUgcHJvZ3JhbSAncGF0aCcgaW4gYSBuZXcgcHJvY2Vzcy5cblwKLVxuXAotICAgIG1vZGU6IG1vZGUgb2YgcHJvY2VzcyBjcmVhdGlvblxuXAotICAgIHBhdGg6IHBhdGggb2YgZXhlY3V0YWJsZSBmaWxlXG5cCi0gICAgYXJnczogdHVwbGUgb3IgbGlzdCBvZiBhcmd1bWVudHNcblwKLSAgICBlbnY6IGRpY3Rpb25hcnkgb2Ygc3RyaW5ncyBtYXBwaW5nIHRvIHN0cmluZ3MiKTsKKy8qW2NsaW5pYyBpbnB1dF0KK29zLnNwYXdudmUKKworICAgIG1vZGU6IGludAorICAgICAgICBNb2RlIG9mIHByb2Nlc3MgY3JlYXRpb24uCisgICAgcGF0aDogRlNDb252ZXJ0ZXIKKyAgICAgICAgUGF0aCBvZiBleGVjdXRhYmxlIGZpbGUuCisgICAgYXJndjogb2JqZWN0CisgICAgICAgIFR1cGxlIG9yIGxpc3Qgb2Ygc3RyaW5ncy4KKyAgICBlbnY6IG9iamVjdAorICAgICAgICBEaWN0aW9uYXJ5IG9mIHN0cmluZ3MgbWFwcGluZyB0byBzdHJpbmdzLgorICAgIC8KKworRXhlY3V0ZSB0aGUgcHJvZ3JhbSBzcGVjaWZpZWQgYnkgcGF0aCBpbiBhIG5ldyBwcm9jZXNzLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3Nfc3Bhd252ZV9fZG9jX18sCisic3Bhd252ZSgkbW9kdWxlLCBtb2RlLCBwYXRoLCBhcmd2LCBlbnYsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJFeGVjdXRlIHRoZSBwcm9ncmFtIHNwZWNpZmllZCBieSBwYXRoIGluIGEgbmV3IHByb2Nlc3MuXG4iCisiXG4iCisiICBtb2RlXG4iCisiICAgIE1vZGUgb2YgcHJvY2VzcyBjcmVhdGlvbi5cbiIKKyIgIHBhdGhcbiIKKyIgICAgUGF0aCBvZiBleGVjdXRhYmxlIGZpbGUuXG4iCisiICBhcmd2XG4iCisiICAgIFR1cGxlIG9yIGxpc3Qgb2Ygc3RyaW5ncy5cbiIKKyIgIGVudlxuIgorIiAgICBEaWN0aW9uYXJ5IG9mIHN0cmluZ3MgbWFwcGluZyB0byBzdHJpbmdzLiIpOworCisjZGVmaW5lIE9TX1NQQVdOVkVfTUVUSE9EREVGICAgIFwKKyAgICB7InNwYXdudmUiLCAoUHlDRnVuY3Rpb24pb3Nfc3Bhd252ZSwgTUVUSF9WQVJBUkdTLCBvc19zcGF3bnZlX19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF9zcGF3bnZlKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK29zX3NwYXdudmVfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBpbnQgbW9kZSwgUHlPYmplY3QgKnBhdGgsIFB5T2JqZWN0ICphcmd2LCBQeU9iamVjdCAqZW52KTsKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX3NwYXdudmUoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MpCiB7Ci0gICAgUHlPYmplY3QgKm9wYXRoOwotICAgIGNoYXIgKnBhdGg7Ci0gICAgUHlPYmplY3QgKmFyZ3YsICplbnY7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgaW50IG1vZGU7CisgICAgUHlPYmplY3QgKnBhdGggPSBOVUxMOworICAgIFB5T2JqZWN0ICphcmd2OworICAgIFB5T2JqZWN0ICplbnY7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgImlPJk9POnNwYXdudmUiLAorICAgICAgICAmbW9kZSwgUHlVbmljb2RlX0ZTQ29udmVydGVyLCAmcGF0aCwgJmFyZ3YsICZlbnYpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gb3Nfc3Bhd252ZV9pbXBsKG1vZHVsZSwgbW9kZSwgcGF0aCwgYXJndiwgZW52KTsKKworZXhpdDoKKyAgICAvKiBDbGVhbnVwIGZvciBwYXRoICovCisgICAgUHlfWERFQ1JFRihwYXRoKTsKKworICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19zcGF3bnZlX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgaW50IG1vZGUsIFB5T2JqZWN0ICpwYXRoLCBQeU9iamVjdCAqYXJndiwgUHlPYmplY3QgKmVudikKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD02ZjdkZjM4NDczZjYzYzdjIGlucHV0PTAyMzYyZmQ5Mzc5NjNmOGZdKi8KK3sKKyAgICBjaGFyICpwYXRoX2NoYXI7CiAgICAgY2hhciAqKmFyZ3ZsaXN0OwogICAgIGNoYXIgKiplbnZsaXN0OwogICAgIFB5T2JqZWN0ICpyZXMgPSBOVUxMOwotICAgIGludCBtb2RlOwogICAgIFB5X3NzaXplX3QgYXJnYywgaSwgZW52YzsKICAgICBQeV9pbnRwdHJfdCBzcGF3bnZhbDsKICAgICBQeU9iamVjdCAqKCpnZXRpdGVtKShQeU9iamVjdCAqLCBQeV9zc2l6ZV90KTsKQEAgLTU0MzcsMTEgKzcwNjIsNyBAQAogICAgICAgIGFyZ3YgaXMgYSBsaXN0IG9yIHR1cGxlIG9mIHN0cmluZ3MgYW5kIGVudiBpcyBhIGRpY3Rpb25hcnkKICAgICAgICBsaWtlIHBvc2l4LmVudmlyb24uICovCiAKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgImlPJk9POnNwYXdudmUiLCAmbW9kZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX0ZTQ29udmVydGVyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAmb3BhdGgsICZhcmd2LCAmZW52KSkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgcGF0aCA9IFB5Qnl0ZXNfQXNTdHJpbmcob3BhdGgpOworICAgIHBhdGhfY2hhciA9IFB5Qnl0ZXNfQXNTdHJpbmcocGF0aCk7CiAgICAgaWYgKFB5TGlzdF9DaGVjayhhcmd2KSkgewogICAgICAgICBhcmdjID0gUHlMaXN0X1NpemUoYXJndik7CiAgICAgICAgIGdldGl0ZW0gPSBQeUxpc3RfR2V0SXRlbTsKQEAgLTU0ODUsNyArNzEwNiw3IEBACiAgICAgICAgIG1vZGUgPSBfUF9PVkVSTEFZOwogCiAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwotICAgIHNwYXdudmFsID0gX3NwYXdudmUobW9kZSwgcGF0aCwgYXJndmxpc3QsIGVudmxpc3QpOworICAgIHNwYXdudmFsID0gX3NwYXdudmUobW9kZSwgcGF0aF9jaGFyLCBhcmd2bGlzdCwgZW52bGlzdCk7CiAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKIAogICAgIGlmIChzcGF3bnZhbCA9PSAtMSkKQEAgLTU0OTksNyArNzEyMCw2IEBACiAgIGZhaWxfMToKICAgICBmcmVlX3N0cmluZ19hcnJheShhcmd2bGlzdCwgbGFzdGFyZyk7CiAgIGZhaWxfMDoKLSAgICBQeV9ERUNSRUYob3BhdGgpOwogICAgIHJldHVybiByZXM7CiB9CiAKQEAgLTU1MDcsMTQgKzcxMjcsMzcgQEAKIAogCiAjaWZkZWYgSEFWRV9GT1JLMQotUHlEb2NfU1RSVkFSKHBvc2l4X2ZvcmsxX19kb2NfXywKLSJmb3JrMSgpIC0+IHBpZFxuXG5cCi1Gb3JrIGEgY2hpbGQgcHJvY2VzcyB3aXRoIGEgc2luZ2xlIG11bHRpcGxleGVkIChpLmUuLCBub3QgYm91bmQpIHRocmVhZC5cblwKLVxuXAotUmV0dXJuIDAgdG8gY2hpbGQgcHJvY2VzcyBhbmQgUElEIG9mIGNoaWxkIHRvIHBhcmVudCBwcm9jZXNzLiIpOworLypbY2xpbmljIGlucHV0XQorb3MuZm9yazEKKworRm9yayBhIGNoaWxkIHByb2Nlc3Mgd2l0aCBhIHNpbmdsZSBtdWx0aXBsZXhlZCAoaS5lLiwgbm90IGJvdW5kKSB0aHJlYWQuCisKK1JldHVybiAwIHRvIGNoaWxkIHByb2Nlc3MgYW5kIFBJRCBvZiBjaGlsZCB0byBwYXJlbnQgcHJvY2Vzcy4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX2ZvcmsxX19kb2NfXywKKyJmb3JrMSgkbW9kdWxlLCAvKVxuIgorIi0tXG4iCisiXG4iCisiRm9yayBhIGNoaWxkIHByb2Nlc3Mgd2l0aCBhIHNpbmdsZSBtdWx0aXBsZXhlZCAoaS5lLiwgbm90IGJvdW5kKSB0aHJlYWQuXG4iCisiXG4iCisiUmV0dXJuIDAgdG8gY2hpbGQgcHJvY2VzcyBhbmQgUElEIG9mIGNoaWxkIHRvIHBhcmVudCBwcm9jZXNzLiIpOworCisjZGVmaW5lIE9TX0ZPUksxX01FVEhPRERFRiAgICBcCisgICAgeyJmb3JrMSIsIChQeUNGdW5jdGlvbilvc19mb3JrMSwgTUVUSF9OT0FSR1MsIG9zX2ZvcmsxX19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF9mb3JrMShQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKm5vYXJncykKK29zX2ZvcmsxX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19mb3JrMShQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqUHlfVU5VU0VEKGlnbm9yZWQpKQoreworICAgIHJldHVybiBvc19mb3JrMV9pbXBsKG1vZHVsZSk7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19mb3JrMV9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9ZmEwNDA4OGQ2YmMwMmVmYSBpbnB1dD0xMmRiMDIxNjc4OTM5MjZlXSovCiB7CiAgICAgcGlkX3QgcGlkOwogICAgIGludCByZXN1bHQgPSAwOwpAQCAtNTUzNywxNyArNzE4MCw0MSBAQAogICAgIH0KICAgICByZXR1cm4gUHlMb25nX0Zyb21QaWQocGlkKTsKIH0KLSNlbmRpZgorI2VuZGlmIC8qIEhBVkVfRk9SSzEgKi8KIAogCiAjaWZkZWYgSEFWRV9GT1JLCi1QeURvY19TVFJWQVIocG9zaXhfZm9ya19fZG9jX18sCi0iZm9yaygpIC0+IHBpZFxuXG5cCi1Gb3JrIGEgY2hpbGQgcHJvY2Vzcy5cblwKLVJldHVybiAwIHRvIGNoaWxkIHByb2Nlc3MgYW5kIFBJRCBvZiBjaGlsZCB0byBwYXJlbnQgcHJvY2Vzcy4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK29zLmZvcmsKKworRm9yayBhIGNoaWxkIHByb2Nlc3MuCisKK1JldHVybiAwIHRvIGNoaWxkIHByb2Nlc3MgYW5kIFBJRCBvZiBjaGlsZCB0byBwYXJlbnQgcHJvY2Vzcy4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX2ZvcmtfX2RvY19fLAorImZvcmsoJG1vZHVsZSwgLylcbiIKKyItLVxuIgorIlxuIgorIkZvcmsgYSBjaGlsZCBwcm9jZXNzLlxuIgorIlxuIgorIlJldHVybiAwIHRvIGNoaWxkIHByb2Nlc3MgYW5kIFBJRCBvZiBjaGlsZCB0byBwYXJlbnQgcHJvY2Vzcy4iKTsKKworI2RlZmluZSBPU19GT1JLX01FVEhPRERFRiAgICBcCisgICAgeyJmb3JrIiwgKFB5Q0Z1bmN0aW9uKW9zX2ZvcmssIE1FVEhfTk9BUkdTLCBvc19mb3JrX19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF9mb3JrKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqbm9hcmdzKQorb3NfZm9ya19pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUpOworCitzdGF0aWMgUHlPYmplY3QgKgorb3NfZm9yayhQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqUHlfVU5VU0VEKGlnbm9yZWQpKQoreworICAgIHJldHVybiBvc19mb3JrX2ltcGwobW9kdWxlKTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK29zX2ZvcmtfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWIzYzhlNmJkYzExZWVkYzYgaW5wdXQ9MTNjOTU2NDEzMTEwZWVhYV0qLwogewogICAgIHBpZF90IHBpZDsKICAgICBpbnQgcmVzdWx0ID0gMDsKQEAgLTU1NzAsOTIgKzcyMzcsMjIxIEBACiAgICAgfQogICAgIHJldHVybiBQeUxvbmdfRnJvbVBpZChwaWQpOwogfQotI2VuZGlmCisjZW5kaWYgLyogSEFWRV9GT1JLICovCisKIAogI2lmZGVmIEhBVkVfU0NIRURfSAotCiAjaWZkZWYgSEFWRV9TQ0hFRF9HRVRfUFJJT1JJVFlfTUFYCisvKltjbGluaWMgaW5wdXRdCitvcy5zY2hlZF9nZXRfcHJpb3JpdHlfbWF4CiAKLVB5RG9jX1NUUlZBUihwb3NpeF9zY2hlZF9nZXRfcHJpb3JpdHlfbWF4X19kb2NfXywKLSJzY2hlZF9nZXRfcHJpb3JpdHlfbWF4KHBvbGljeSlcblxuXAotR2V0IHRoZSBtYXhpbXVtIHNjaGVkdWxpbmcgcHJpb3JpdHkgZm9yICpwb2xpY3kqLiIpOworICAgIHBvbGljeTogaW50CisKK0dldCB0aGUgbWF4aW11bSBzY2hlZHVsaW5nIHByaW9yaXR5IGZvciBwb2xpY3kuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19zY2hlZF9nZXRfcHJpb3JpdHlfbWF4X19kb2NfXywKKyJzY2hlZF9nZXRfcHJpb3JpdHlfbWF4KCRtb2R1bGUsIC8sIHBvbGljeSlcbiIKKyItLVxuIgorIlxuIgorIkdldCB0aGUgbWF4aW11bSBzY2hlZHVsaW5nIHByaW9yaXR5IGZvciBwb2xpY3kuIik7CisKKyNkZWZpbmUgT1NfU0NIRURfR0VUX1BSSU9SSVRZX01BWF9NRVRIT0RERUYgICAgXAorICAgIHsic2NoZWRfZ2V0X3ByaW9yaXR5X21heCIsIChQeUNGdW5jdGlvbilvc19zY2hlZF9nZXRfcHJpb3JpdHlfbWF4LCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywgb3Nfc2NoZWRfZ2V0X3ByaW9yaXR5X21heF9fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfc2NoZWRfZ2V0X3ByaW9yaXR5X21heChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCi17Ci0gICAgaW50IHBvbGljeSwgbWF4Oworb3Nfc2NoZWRfZ2V0X3ByaW9yaXR5X21heF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGludCBwb2xpY3kpOwogCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJpOnNjaGVkX2dldF9wcmlvcml0eV9tYXgiLCAmcG9saWN5KSkKLSAgICAgICAgcmV0dXJuIE5VTEw7CitzdGF0aWMgUHlPYmplY3QgKgorb3Nfc2NoZWRfZ2V0X3ByaW9yaXR5X21heChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3YXJncykKK3sKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBzdGF0aWMgY2hhciAqX2tleXdvcmRzW10gPSB7InBvbGljeSIsIE5VTEx9OworICAgIGludCBwb2xpY3k7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsCisgICAgICAgICJpOnNjaGVkX2dldF9wcmlvcml0eV9tYXgiLCBfa2V5d29yZHMsCisgICAgICAgICZwb2xpY3kpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gb3Nfc2NoZWRfZ2V0X3ByaW9yaXR5X21heF9pbXBsKG1vZHVsZSwgcG9saWN5KTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorb3Nfc2NoZWRfZ2V0X3ByaW9yaXR5X21heF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGludCBwb2xpY3kpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9YTU4MGE1MmYyNTIzOGMxZiBpbnB1dD0yMDk3Yjc5OThlY2E2ODc0XSovCit7CisgICAgaW50IG1heDsKKwogICAgIG1heCA9IHNjaGVkX2dldF9wcmlvcml0eV9tYXgocG9saWN5KTsKICAgICBpZiAobWF4IDwgMCkKICAgICAgICAgcmV0dXJuIHBvc2l4X2Vycm9yKCk7CiAgICAgcmV0dXJuIFB5TG9uZ19Gcm9tTG9uZyhtYXgpOwogfQogCi1QeURvY19TVFJWQVIocG9zaXhfc2NoZWRfZ2V0X3ByaW9yaXR5X21pbl9fZG9jX18sCi0ic2NoZWRfZ2V0X3ByaW9yaXR5X21pbihwb2xpY3kpXG5cblwKLUdldCB0aGUgbWluaW11bSBzY2hlZHVsaW5nIHByaW9yaXR5IGZvciAqcG9saWN5Ki4iKTsKKworLypbY2xpbmljIGlucHV0XQorb3Muc2NoZWRfZ2V0X3ByaW9yaXR5X21pbgorCisgICAgcG9saWN5OiBpbnQKKworR2V0IHRoZSBtaW5pbXVtIHNjaGVkdWxpbmcgcHJpb3JpdHkgZm9yIHBvbGljeS4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX3NjaGVkX2dldF9wcmlvcml0eV9taW5fX2RvY19fLAorInNjaGVkX2dldF9wcmlvcml0eV9taW4oJG1vZHVsZSwgLywgcG9saWN5KVxuIgorIi0tXG4iCisiXG4iCisiR2V0IHRoZSBtaW5pbXVtIHNjaGVkdWxpbmcgcHJpb3JpdHkgZm9yIHBvbGljeS4iKTsKKworI2RlZmluZSBPU19TQ0hFRF9HRVRfUFJJT1JJVFlfTUlOX01FVEhPRERFRiAgICBcCisgICAgeyJzY2hlZF9nZXRfcHJpb3JpdHlfbWluIiwgKFB5Q0Z1bmN0aW9uKW9zX3NjaGVkX2dldF9wcmlvcml0eV9taW4sIE1FVEhfVkFSQVJHU3xNRVRIX0tFWVdPUkRTLCBvc19zY2hlZF9nZXRfcHJpb3JpdHlfbWluX19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF9zY2hlZF9nZXRfcHJpb3JpdHlfbWluKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKLXsKLSAgICBpbnQgcG9saWN5LCBtaW47Citvc19zY2hlZF9nZXRfcHJpb3JpdHlfbWluX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgaW50IHBvbGljeSk7CiAKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgImk6c2NoZWRfZ2V0X3ByaW9yaXR5X21pbiIsICZwb2xpY3kpKQotICAgICAgICByZXR1cm4gTlVMTDsKLSAgICBtaW4gPSBzY2hlZF9nZXRfcHJpb3JpdHlfbWluKHBvbGljeSk7CitzdGF0aWMgUHlPYmplY3QgKgorb3Nfc2NoZWRfZ2V0X3ByaW9yaXR5X21pbihQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3YXJncykKK3sKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBzdGF0aWMgY2hhciAqX2tleXdvcmRzW10gPSB7InBvbGljeSIsIE5VTEx9OworICAgIGludCBwb2xpY3k7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsCisgICAgICAgICJpOnNjaGVkX2dldF9wcmlvcml0eV9taW4iLCBfa2V5d29yZHMsCisgICAgICAgICZwb2xpY3kpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gb3Nfc2NoZWRfZ2V0X3ByaW9yaXR5X21pbl9pbXBsKG1vZHVsZSwgcG9saWN5KTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorb3Nfc2NoZWRfZ2V0X3ByaW9yaXR5X21pbl9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGludCBwb2xpY3kpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9YmFkOGJhMTBlN2QwZTk3NyBpbnB1dD0yMWJjOGZhMGQ3MDk4M2JmXSovCit7CisgICAgaW50IG1pbiA9IHNjaGVkX2dldF9wcmlvcml0eV9taW4ocG9saWN5KTsKICAgICBpZiAobWluIDwgMCkKICAgICAgICAgcmV0dXJuIHBvc2l4X2Vycm9yKCk7CiAgICAgcmV0dXJuIFB5TG9uZ19Gcm9tTG9uZyhtaW4pOwogfQotCiAjZW5kaWYgLyogSEFWRV9TQ0hFRF9HRVRfUFJJT1JJVFlfTUFYICovCiAKLSNpZmRlZiBIQVZFX1NDSEVEX1NFVFNDSEVEVUxFUgogCi1QeURvY19TVFJWQVIocG9zaXhfc2NoZWRfZ2V0c2NoZWR1bGVyX19kb2NfXywKLSJzY2hlZF9nZXRzY2hlZHVsZXIocGlkKVxuXG5cCi1HZXQgdGhlIHNjaGVkdWxpbmcgcG9saWN5IGZvciB0aGUgcHJvY2VzcyB3aXRoIGEgUElEIG9mICpwaWQqLlxuXAotUGFzc2luZyBhIFBJRCBvZiAwIHJldHVybnMgdGhlIHNjaGVkdWxpbmcgcG9saWN5IGZvciB0aGUgY2FsbGluZyBwcm9jZXNzLiIpOworI2lmZGVmIEhBVkVfU0NIRURfU0VUU0NIRURVTEVSCisvKltjbGluaWMgaW5wdXRdCitvcy5zY2hlZF9nZXRzY2hlZHVsZXIKKyAgICBwaWQ6IHBpZF90CisgICAgLworCitHZXQgdGhlIHNjaGVkdWxpbmcgcG9saWN5IGZvciB0aGUgcHJvY2VzcyBpZGVudGlmaWVkeSBieSBwaWQuCisKK1Bhc3NpbmcgMCBmb3IgcGlkIHJldHVybnMgdGhlIHNjaGVkdWxpbmcgcG9saWN5IGZvciB0aGUgY2FsbGluZyBwcm9jZXNzLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3Nfc2NoZWRfZ2V0c2NoZWR1bGVyX19kb2NfXywKKyJzY2hlZF9nZXRzY2hlZHVsZXIoJG1vZHVsZSwgcGlkLCAvKVxuIgorIi0tXG4iCisiXG4iCisiR2V0IHRoZSBzY2hlZHVsaW5nIHBvbGljeSBmb3IgdGhlIHByb2Nlc3MgaWRlbnRpZmllZHkgYnkgcGlkLlxuIgorIlxuIgorIlBhc3NpbmcgMCBmb3IgcGlkIHJldHVybnMgdGhlIHNjaGVkdWxpbmcgcG9saWN5IGZvciB0aGUgY2FsbGluZyBwcm9jZXNzLiIpOworCisjZGVmaW5lIE9TX1NDSEVEX0dFVFNDSEVEVUxFUl9NRVRIT0RERUYgICAgXAorICAgIHsic2NoZWRfZ2V0c2NoZWR1bGVyIiwgKFB5Q0Z1bmN0aW9uKW9zX3NjaGVkX2dldHNjaGVkdWxlciwgTUVUSF9WQVJBUkdTLCBvc19zY2hlZF9nZXRzY2hlZHVsZXJfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X3NjaGVkX2dldHNjaGVkdWxlcihQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCitvc19zY2hlZF9nZXRzY2hlZHVsZXJfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBwaWRfdCBwaWQpOworCitzdGF0aWMgUHlPYmplY3QgKgorb3Nfc2NoZWRfZ2V0c2NoZWR1bGVyKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzKQogeworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOwogICAgIHBpZF90IHBpZDsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAiIiBfUHlfUEFSU0VfUElEICI6c2NoZWRfZ2V0c2NoZWR1bGVyIiwKKyAgICAgICAgJnBpZCkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBvc19zY2hlZF9nZXRzY2hlZHVsZXJfaW1wbChtb2R1bGUsIHBpZCk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK29zX3NjaGVkX2dldHNjaGVkdWxlcl9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIHBpZF90IHBpZCkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1lMGQ2MjQ0MjA3YjFkODI4IGlucHV0PTVmMTRjZmQxZjE4OWUxYTBdKi8KK3sKICAgICBpbnQgcG9saWN5OwogCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsIF9QeV9QQVJTRV9QSUQgIjpzY2hlZF9nZXRzY2hlZHVsZXIiLCAmcGlkKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgcG9saWN5ID0gc2NoZWRfZ2V0c2NoZWR1bGVyKHBpZCk7CiAgICAgaWYgKHBvbGljeSA8IDApCiAgICAgICAgIHJldHVybiBwb3NpeF9lcnJvcigpOwogICAgIHJldHVybiBQeUxvbmdfRnJvbUxvbmcocG9saWN5KTsKIH0KKyNlbmRpZiAvKiBIQVZFX1NDSEVEX1NFVFNDSEVEVUxFUiAqLwogCi0jZW5kaWYKIAogI2lmIGRlZmluZWQoSEFWRV9TQ0hFRF9TRVRTQ0hFRFVMRVIpIHx8IGRlZmluZWQoSEFWRV9TQ0hFRF9TRVRQQVJBTSkKKy8qW2NsaW5pYyBpbnB1dF0KK2NsYXNzIG9zLnNjaGVkX3BhcmFtICJQeU9iamVjdCAqIiAiJlNjaGVkUGFyYW1UeXBlIgorCitAY2xhc3NtZXRob2QKK29zLnNjaGVkX3BhcmFtLl9fbmV3X18KKworICAgIHNjaGVkX3ByaW9yaXR5OiBvYmplY3QKKyAgICAgICAgQSBzY2hlZHVsaW5nIHBhcmFtZXRlci4KKworQ3VycmVudCBoYXMgb25seSBvbmUgZmllbGQ6IHNjaGVkX3ByaW9yaXR5Iik7CitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19zY2hlZF9wYXJhbV9fZG9jX18sCisic2NoZWRfcGFyYW0oc2NoZWRfcHJpb3JpdHkpXG4iCisiLS1cbiIKKyJcbiIKKyJDdXJyZW50IGhhcyBvbmx5IG9uZSBmaWVsZDogc2NoZWRfcHJpb3JpdHlcIik7XG4iCisiXG4iCisiICBzY2hlZF9wcmlvcml0eVxuIgorIiAgICBBIHNjaGVkdWxpbmcgcGFyYW1ldGVyLiIpOwogCiBzdGF0aWMgUHlPYmplY3QgKgotc2NoZWRfcGFyYW1fbmV3KFB5VHlwZU9iamVjdCAqdHlwZSwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCi17Ci0gICAgUHlPYmplY3QgKnJlcywgKnByaW9yaXR5OwotICAgIHN0YXRpYyBjaGFyICprd2xpc3RbXSA9IHsic2NoZWRfcHJpb3JpdHkiLCBOVUxMfTsKK29zX3NjaGVkX3BhcmFtX2ltcGwoUHlUeXBlT2JqZWN0ICp0eXBlLCBQeU9iamVjdCAqc2NoZWRfcHJpb3JpdHkpOwogCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLCAiTzpzY2hlZF9wYXJhbSIsIGt3bGlzdCwgJnByaW9yaXR5KSkKLSAgICAgICAgcmV0dXJuIE5VTEw7CitzdGF0aWMgUHlPYmplY3QgKgorb3Nfc2NoZWRfcGFyYW0oUHlUeXBlT2JqZWN0ICp0eXBlLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3YXJncykKK3sKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBzdGF0aWMgY2hhciAqX2tleXdvcmRzW10gPSB7InNjaGVkX3ByaW9yaXR5IiwgTlVMTH07CisgICAgUHlPYmplY3QgKnNjaGVkX3ByaW9yaXR5OworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLAorICAgICAgICAiTzpzY2hlZF9wYXJhbSIsIF9rZXl3b3JkcywKKyAgICAgICAgJnNjaGVkX3ByaW9yaXR5KSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IG9zX3NjaGVkX3BhcmFtX2ltcGwodHlwZSwgc2NoZWRfcHJpb3JpdHkpOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19zY2hlZF9wYXJhbV9pbXBsKFB5VHlwZU9iamVjdCAqdHlwZSwgUHlPYmplY3QgKnNjaGVkX3ByaW9yaXR5KQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWQzNzkxZTM0NWY3ZmU1NzMgaW5wdXQ9NzNhNGMyMmY3MDcxZmM2Ml0qLworeworICAgIFB5T2JqZWN0ICpyZXM7CisKICAgICByZXMgPSBQeVN0cnVjdFNlcXVlbmNlX05ldyh0eXBlKTsKICAgICBpZiAoIXJlcykKICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgUHlfSU5DUkVGKHByaW9yaXR5KTsKLSAgICBQeVN0cnVjdFNlcXVlbmNlX1NFVF9JVEVNKHJlcywgMCwgcHJpb3JpdHkpOworICAgIFB5X0lOQ1JFRihzY2hlZF9wcmlvcml0eSk7CisgICAgUHlTdHJ1Y3RTZXF1ZW5jZV9TRVRfSVRFTShyZXMsIDAsIHNjaGVkX3ByaW9yaXR5KTsKICAgICByZXR1cm4gcmVzOwogfQogCi1QeURvY19TVFJWQVIoc2NoZWRfcGFyYW1fX2RvY19fLAotInNjaGVkX3BhcmFtKHNjaGVkX3ByaW9yaXR5KTogQSBzY2hlZHVsaW5nIHBhcmFtZXRlci5cblxuXAotQ3VycmVudCBoYXMgb25seSBvbmUgZmllbGQ6IHNjaGVkX3ByaW9yaXR5Iik7CiAKIHN0YXRpYyBQeVN0cnVjdFNlcXVlbmNlX0ZpZWxkIHNjaGVkX3BhcmFtX2ZpZWxkc1tdID0gewogICAgIHsic2NoZWRfcHJpb3JpdHkiLCAidGhlIHNjaGVkdWxpbmcgcHJpb3JpdHkifSwKQEAgLTU2NjQsNyArNzQ2MCw3IEBACiAKIHN0YXRpYyBQeVN0cnVjdFNlcXVlbmNlX0Rlc2Mgc2NoZWRfcGFyYW1fZGVzYyA9IHsKICAgICAic2NoZWRfcGFyYW0iLCAvKiBuYW1lICovCi0gICAgc2NoZWRfcGFyYW1fX2RvY19fLCAvKiBkb2MgKi8KKyAgICBvc19zY2hlZF9wYXJhbV9fZG9jX18sIC8qIGRvYyAqLwogICAgIHNjaGVkX3BhcmFtX2ZpZWxkcywKICAgICAxCiB9OwpAQCAtNTY4OCwxMTggKzc0ODQsMjgwIEBACiAgICAgcmVzLT5zY2hlZF9wcmlvcml0eSA9IFB5X1NBRkVfRE9XTkNBU1QocHJpb3JpdHksIGxvbmcsIGludCk7CiAgICAgcmV0dXJuIDE7CiB9CisjZW5kaWYgLyogZGVmaW5lZChIQVZFX1NDSEVEX1NFVFNDSEVEVUxFUikgfHwgZGVmaW5lZChIQVZFX1NDSEVEX1NFVFBBUkFNKSAqLwogCi0jZW5kaWYKIAogI2lmZGVmIEhBVkVfU0NIRURfU0VUU0NIRURVTEVSCisvKltjbGluaWMgaW5wdXRdCitvcy5zY2hlZF9zZXRzY2hlZHVsZXIKIAotUHlEb2NfU1RSVkFSKHBvc2l4X3NjaGVkX3NldHNjaGVkdWxlcl9fZG9jX18sCi0ic2NoZWRfc2V0c2NoZWR1bGVyKHBpZCwgcG9saWN5LCBwYXJhbSlcblxuXAotU2V0IHRoZSBzY2hlZHVsaW5nIHBvbGljeSwgKnBvbGljeSosIGZvciAqcGlkKi5cblwKLUlmICpwaWQqIGlzIDAsIHRoZSBjYWxsaW5nIHByb2Nlc3MgaXMgY2hhbmdlZC5cblwKLSpwYXJhbSogaXMgYW4gaW5zdGFuY2Ugb2Ygc2NoZWRfcGFyYW0uIik7CisgICAgcGlkOiBwaWRfdAorICAgIHBvbGljeTogaW50CisgICAgcGFyYW06IHNjaGVkX3BhcmFtCisgICAgLworCitTZXQgdGhlIHNjaGVkdWxpbmcgcG9saWN5IGZvciB0aGUgcHJvY2VzcyBpZGVudGlmaWVkIGJ5IHBpZC4KKworSWYgcGlkIGlzIDAsIHRoZSBjYWxsaW5nIHByb2Nlc3MgaXMgY2hhbmdlZC4KK3BhcmFtIGlzIGFuIGluc3RhbmNlIG9mIHNjaGVkX3BhcmFtLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3Nfc2NoZWRfc2V0c2NoZWR1bGVyX19kb2NfXywKKyJzY2hlZF9zZXRzY2hlZHVsZXIoJG1vZHVsZSwgcGlkLCBwb2xpY3ksIHBhcmFtLCAvKVxuIgorIi0tXG4iCisiXG4iCisiU2V0IHRoZSBzY2hlZHVsaW5nIHBvbGljeSBmb3IgdGhlIHByb2Nlc3MgaWRlbnRpZmllZCBieSBwaWQuXG4iCisiXG4iCisiSWYgcGlkIGlzIDAsIHRoZSBjYWxsaW5nIHByb2Nlc3MgaXMgY2hhbmdlZC5cbiIKKyJwYXJhbSBpcyBhbiBpbnN0YW5jZSBvZiBzY2hlZF9wYXJhbS4iKTsKKworI2RlZmluZSBPU19TQ0hFRF9TRVRTQ0hFRFVMRVJfTUVUSE9EREVGICAgIFwKKyAgICB7InNjaGVkX3NldHNjaGVkdWxlciIsIChQeUNGdW5jdGlvbilvc19zY2hlZF9zZXRzY2hlZHVsZXIsIE1FVEhfVkFSQVJHUywgb3Nfc2NoZWRfc2V0c2NoZWR1bGVyX19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF9zY2hlZF9zZXRzY2hlZHVsZXIoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQorb3Nfc2NoZWRfc2V0c2NoZWR1bGVyX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgcGlkX3QgcGlkLCBpbnQgcG9saWN5LCBzdHJ1Y3Qgc2NoZWRfcGFyYW0gKnBhcmFtKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX3NjaGVkX3NldHNjaGVkdWxlcihQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncykKIHsKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKICAgICBwaWRfdCBwaWQ7CiAgICAgaW50IHBvbGljeTsKICAgICBzdHJ1Y3Qgc2NoZWRfcGFyYW0gcGFyYW07CiAKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgX1B5X1BBUlNFX1BJRCAiaU8mOnNjaGVkX3NldHNjaGVkdWxlciIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICZwaWQsICZwb2xpY3ksICZjb252ZXJ0X3NjaGVkX3BhcmFtLCAmcGFyYW0pKQotICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgIiIgX1B5X1BBUlNFX1BJRCAiaU8mOnNjaGVkX3NldHNjaGVkdWxlciIsCisgICAgICAgICZwaWQsICZwb2xpY3ksIGNvbnZlcnRfc2NoZWRfcGFyYW0sICZwYXJhbSkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBvc19zY2hlZF9zZXRzY2hlZHVsZXJfaW1wbChtb2R1bGUsIHBpZCwgcG9saWN5LCAmcGFyYW0pOwogCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19zY2hlZF9zZXRzY2hlZHVsZXJfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBwaWRfdCBwaWQsIGludCBwb2xpY3ksIHN0cnVjdCBzY2hlZF9wYXJhbSAqcGFyYW0pCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9MzZhYmRiNzNmODFjMjI0ZiBpbnB1dD1jNTgxZjk0NjlhNTMyN2RkXSovCit7CiAgICAgLyoKICAgICAqKiBzY2hlZF9zZXRzY2hlZHVsZXIoKSByZXR1cm5zIDAgaW4gTGludXgsIGJ1dCB0aGUgcHJldmlvdXMKICAgICAqKiBzY2hlZHVsaW5nIHBvbGljeSB1bmRlciBTb2xhcmlzL0lsbHVtb3MsIGFuZCBvdGhlcnMuCiAgICAgKiogT24gZXJyb3IsIC0xIGlzIHJldHVybmVkIGluIGFsbCBPcGVyYXRpbmcgU3lzdGVtcy4KICAgICAqLwotICAgIGlmIChzY2hlZF9zZXRzY2hlZHVsZXIocGlkLCBwb2xpY3ksICZwYXJhbSkgPT0gLTEpCisgICAgaWYgKHNjaGVkX3NldHNjaGVkdWxlcihwaWQsIHBvbGljeSwgcGFyYW0pID09IC0xKQogICAgICAgICByZXR1cm4gcG9zaXhfZXJyb3IoKTsKICAgICBQeV9SRVRVUk5fTk9ORTsKIH0KKyNlbmRpZiAgLyogSEFWRV9TQ0hFRF9TRVRTQ0hFRFVMRVIqLwogCi0jZW5kaWYKIAogI2lmZGVmIEhBVkVfU0NIRURfU0VUUEFSQU0KKy8qW2NsaW5pYyBpbnB1dF0KK29zLnNjaGVkX2dldHBhcmFtCisgICAgcGlkOiBwaWRfdAorICAgIC8KIAotUHlEb2NfU1RSVkFSKHBvc2l4X3NjaGVkX2dldHBhcmFtX19kb2NfXywKLSJzY2hlZF9nZXRwYXJhbShwaWQpIC0+IHNjaGVkX3BhcmFtXG5cblwKLVJldHVybnMgc2NoZWR1bGluZyBwYXJhbWV0ZXJzIGZvciB0aGUgcHJvY2VzcyB3aXRoICpwaWQqIGFzIGFuIGluc3RhbmNlIG9mIHRoZVxuXAotc2NoZWRfcGFyYW0gY2xhc3MuIEEgUElEIG9mIDAgbWVhbnMgdGhlIGNhbGxpbmcgcHJvY2Vzcy4iKTsKK1JldHVybnMgc2NoZWR1bGluZyBwYXJhbWV0ZXJzIGZvciB0aGUgcHJvY2VzcyBpZGVudGlmaWVkIGJ5IHBpZC4KKworSWYgcGlkIGlzIDAsIHJldHVybnMgcGFyYW1ldGVycyBmb3IgdGhlIGNhbGxpbmcgcHJvY2Vzcy4KK1JldHVybiB2YWx1ZSBpcyBhbiBpbnN0YW5jZSBvZiBzY2hlZF9wYXJhbS4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX3NjaGVkX2dldHBhcmFtX19kb2NfXywKKyJzY2hlZF9nZXRwYXJhbSgkbW9kdWxlLCBwaWQsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJSZXR1cm5zIHNjaGVkdWxpbmcgcGFyYW1ldGVycyBmb3IgdGhlIHByb2Nlc3MgaWRlbnRpZmllZCBieSBwaWQuXG4iCisiXG4iCisiSWYgcGlkIGlzIDAsIHJldHVybnMgcGFyYW1ldGVycyBmb3IgdGhlIGNhbGxpbmcgcHJvY2Vzcy5cbiIKKyJSZXR1cm4gdmFsdWUgaXMgYW4gaW5zdGFuY2Ugb2Ygc2NoZWRfcGFyYW0uIik7CisKKyNkZWZpbmUgT1NfU0NIRURfR0VUUEFSQU1fTUVUSE9EREVGICAgIFwKKyAgICB7InNjaGVkX2dldHBhcmFtIiwgKFB5Q0Z1bmN0aW9uKW9zX3NjaGVkX2dldHBhcmFtLCBNRVRIX1ZBUkFSR1MsIG9zX3NjaGVkX2dldHBhcmFtX19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF9zY2hlZF9nZXRwYXJhbShQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCi17Ci0gICAgcGlkX3QgcGlkOwotICAgIHN0cnVjdCBzY2hlZF9wYXJhbSBwYXJhbTsKLSAgICBQeU9iamVjdCAqcmVzLCAqcHJpb3JpdHk7Citvc19zY2hlZF9nZXRwYXJhbV9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIHBpZF90IHBpZCk7CiAKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgX1B5X1BBUlNFX1BJRCAiOnNjaGVkX2dldHBhcmFtIiwgJnBpZCkpCi0gICAgICAgIHJldHVybiBOVUxMOworc3RhdGljIFB5T2JqZWN0ICoKK29zX3NjaGVkX2dldHBhcmFtKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzKQoreworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIHBpZF90IHBpZDsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAiIiBfUHlfUEFSU0VfUElEICI6c2NoZWRfZ2V0cGFyYW0iLAorICAgICAgICAmcGlkKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IG9zX3NjaGVkX2dldHBhcmFtX2ltcGwobW9kdWxlLCBwaWQpOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19zY2hlZF9nZXRwYXJhbV9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIHBpZF90IHBpZCkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1iMzNhY2M4ZGIwMDRhOGM5IGlucHV0PTE4YTFlZjljMmVmYWUyOTZdKi8KK3sKKyAgICBzdHJ1Y3Qgc2NoZWRfcGFyYW0gcGFyYW07CisgICAgUHlPYmplY3QgKnJlc3VsdDsKKyAgICBQeU9iamVjdCAqcHJpb3JpdHk7CisKICAgICBpZiAoc2NoZWRfZ2V0cGFyYW0ocGlkLCAmcGFyYW0pKQogICAgICAgICByZXR1cm4gcG9zaXhfZXJyb3IoKTsKLSAgICByZXMgPSBQeVN0cnVjdFNlcXVlbmNlX05ldygmU2NoZWRQYXJhbVR5cGUpOwotICAgIGlmICghcmVzKQorICAgIHJlc3VsdCA9IFB5U3RydWN0U2VxdWVuY2VfTmV3KCZTY2hlZFBhcmFtVHlwZSk7CisgICAgaWYgKCFyZXN1bHQpCiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIHByaW9yaXR5ID0gUHlMb25nX0Zyb21Mb25nKHBhcmFtLnNjaGVkX3ByaW9yaXR5KTsKICAgICBpZiAoIXByaW9yaXR5KSB7Ci0gICAgICAgIFB5X0RFQ1JFRihyZXMpOworICAgICAgICBQeV9ERUNSRUYocmVzdWx0KTsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQotICAgIFB5U3RydWN0U2VxdWVuY2VfU0VUX0lURU0ocmVzLCAwLCBwcmlvcml0eSk7Ci0gICAgcmV0dXJuIHJlczsKKyAgICBQeVN0cnVjdFNlcXVlbmNlX1NFVF9JVEVNKHJlc3VsdCwgMCwgcHJpb3JpdHkpOworICAgIHJldHVybiByZXN1bHQ7CiB9CiAKLVB5RG9jX1NUUlZBUihwb3NpeF9zY2hlZF9zZXRwYXJhbV9fZG9jX18sCi0ic2NoZWRfc2V0cGFyYW0ocGlkLCBwYXJhbSlcblxuXAotU2V0IHNjaGVkdWxpbmcgcGFyYW1ldGVycyBmb3IgYSBwcm9jZXNzIHdpdGggUElEICpwaWQqLlxuXAotQSBQSUQgb2YgMCBtZWFucyB0aGUgY2FsbGluZyBwcm9jZXNzLiIpOworCisvKltjbGluaWMgaW5wdXRdCitvcy5zY2hlZF9zZXRwYXJhbQorICAgIHBpZDogcGlkX3QKKyAgICBwYXJhbTogc2NoZWRfcGFyYW0KKyAgICAvCisKK1NldCBzY2hlZHVsaW5nIHBhcmFtZXRlcnMgZm9yIHRoZSBwcm9jZXNzIGlkZW50aWZpZWQgYnkgcGlkLgorCitJZiBwaWQgaXMgMCwgc2V0cyBwYXJhbWV0ZXJzIGZvciB0aGUgY2FsbGluZyBwcm9jZXNzLgorcGFyYW0gc2hvdWxkIGJlIGFuIGluc3RhbmNlIG9mIHNjaGVkX3BhcmFtLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3Nfc2NoZWRfc2V0cGFyYW1fX2RvY19fLAorInNjaGVkX3NldHBhcmFtKCRtb2R1bGUsIHBpZCwgcGFyYW0sIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJTZXQgc2NoZWR1bGluZyBwYXJhbWV0ZXJzIGZvciB0aGUgcHJvY2VzcyBpZGVudGlmaWVkIGJ5IHBpZC5cbiIKKyJcbiIKKyJJZiBwaWQgaXMgMCwgc2V0cyBwYXJhbWV0ZXJzIGZvciB0aGUgY2FsbGluZyBwcm9jZXNzLlxuIgorInBhcmFtIHNob3VsZCBiZSBhbiBpbnN0YW5jZSBvZiBzY2hlZF9wYXJhbS4iKTsKKworI2RlZmluZSBPU19TQ0hFRF9TRVRQQVJBTV9NRVRIT0RERUYgICAgXAorICAgIHsic2NoZWRfc2V0cGFyYW0iLCAoUHlDRnVuY3Rpb24pb3Nfc2NoZWRfc2V0cGFyYW0sIE1FVEhfVkFSQVJHUywgb3Nfc2NoZWRfc2V0cGFyYW1fX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X3NjaGVkX3NldHBhcmFtKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK29zX3NjaGVkX3NldHBhcmFtX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgcGlkX3QgcGlkLCBzdHJ1Y3Qgc2NoZWRfcGFyYW0gKnBhcmFtKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX3NjaGVkX3NldHBhcmFtKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzKQogeworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOwogICAgIHBpZF90IHBpZDsKICAgICBzdHJ1Y3Qgc2NoZWRfcGFyYW0gcGFyYW07CiAKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgX1B5X1BBUlNFX1BJRCAiTyY6c2NoZWRfc2V0cGFyYW0iLAotICAgICAgICAgICAgICAgICAgICAgICAgICAmcGlkLCAmY29udmVydF9zY2hlZF9wYXJhbSwgJnBhcmFtKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgaWYgKHNjaGVkX3NldHBhcmFtKHBpZCwgJnBhcmFtKSkKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgIiIgX1B5X1BBUlNFX1BJRCAiTyY6c2NoZWRfc2V0cGFyYW0iLAorICAgICAgICAmcGlkLCBjb252ZXJ0X3NjaGVkX3BhcmFtLCAmcGFyYW0pKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gb3Nfc2NoZWRfc2V0cGFyYW1faW1wbChtb2R1bGUsIHBpZCwgJnBhcmFtKTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorb3Nfc2NoZWRfc2V0cGFyYW1faW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBwaWRfdCBwaWQsIHN0cnVjdCBzY2hlZF9wYXJhbSAqcGFyYW0pCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9NDg4YmRmNWJjYmUwZDRlOCBpbnB1dD02YjhkNmRmY2VjZGMyMWJkXSovCit7CisgICAgaWYgKHNjaGVkX3NldHBhcmFtKHBpZCwgcGFyYW0pKQogICAgICAgICByZXR1cm4gcG9zaXhfZXJyb3IoKTsKICAgICBQeV9SRVRVUk5fTk9ORTsKIH0KKyNlbmRpZiAvKiBIQVZFX1NDSEVEX1NFVFBBUkFNICovCiAKLSNlbmRpZgogCiAjaWZkZWYgSEFWRV9TQ0hFRF9SUl9HRVRfSU5URVJWQUwKKy8qW2NsaW5pYyBpbnB1dF0KK29zLnNjaGVkX3JyX2dldF9pbnRlcnZhbCAtPiBkb3VibGUKKyAgICBwaWQ6IHBpZF90CisgICAgLwogCi1QeURvY19TVFJWQVIocG9zaXhfc2NoZWRfcnJfZ2V0X2ludGVydmFsX19kb2NfXywKLSJzY2hlZF9ycl9nZXRfaW50ZXJ2YWwocGlkKSAtPiBmbG9hdFxuXG5cCi1SZXR1cm4gdGhlIHJvdW5kLXJvYmluIHF1YW50dW0gZm9yIHRoZSBwcm9jZXNzIHdpdGggUElEICpwaWQqIGluIHNlY29uZHMuIik7CitSZXR1cm4gdGhlIHJvdW5kLXJvYmluIHF1YW50dW0gZm9yIHRoZSBwcm9jZXNzIGlkZW50aWZpZWQgYnkgcGlkLCBpbiBzZWNvbmRzLgorCitWYWx1ZSByZXR1cm5lZCBpcyBhIGZsb2F0LgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3Nfc2NoZWRfcnJfZ2V0X2ludGVydmFsX19kb2NfXywKKyJzY2hlZF9ycl9nZXRfaW50ZXJ2YWwoJG1vZHVsZSwgcGlkLCAvKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJuIHRoZSByb3VuZC1yb2JpbiBxdWFudHVtIGZvciB0aGUgcHJvY2VzcyBpZGVudGlmaWVkIGJ5IHBpZCwgaW4gc2Vjb25kcy5cbiIKKyJcbiIKKyJWYWx1ZSByZXR1cm5lZCBpcyBhIGZsb2F0LiIpOworCisjZGVmaW5lIE9TX1NDSEVEX1JSX0dFVF9JTlRFUlZBTF9NRVRIT0RERUYgICAgXAorICAgIHsic2NoZWRfcnJfZ2V0X2ludGVydmFsIiwgKFB5Q0Z1bmN0aW9uKW9zX3NjaGVkX3JyX2dldF9pbnRlcnZhbCwgTUVUSF9WQVJBUkdTLCBvc19zY2hlZF9ycl9nZXRfaW50ZXJ2YWxfX2RvY19ffSwKKworc3RhdGljIGRvdWJsZQorb3Nfc2NoZWRfcnJfZ2V0X2ludGVydmFsX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgcGlkX3QgcGlkKTsKIAogc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X3NjaGVkX3JyX2dldF9pbnRlcnZhbChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCitvc19zY2hlZF9ycl9nZXRfaW50ZXJ2YWwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MpCiB7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CiAgICAgcGlkX3QgcGlkOwotICAgIHN0cnVjdCB0aW1lc3BlYyBpbnRlcnZhbDsKKyAgICBkb3VibGUgX3JldHVybl92YWx1ZTsKIAotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCBfUHlfUEFSU0VfUElEICI6c2NoZWRfcnJfZ2V0X2ludGVydmFsIiwgJnBpZCkpCi0gICAgICAgIHJldHVybiBOVUxMOwotICAgIGlmIChzY2hlZF9ycl9nZXRfaW50ZXJ2YWwocGlkLCAmaW50ZXJ2YWwpKQotICAgICAgICByZXR1cm4gcG9zaXhfZXJyb3IoKTsKLSAgICByZXR1cm4gUHlGbG9hdF9Gcm9tRG91YmxlKChkb3VibGUpaW50ZXJ2YWwudHZfc2VjICsgMWUtOSppbnRlcnZhbC50dl9uc2VjKTsKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgIiIgX1B5X1BBUlNFX1BJRCAiOnNjaGVkX3JyX2dldF9pbnRlcnZhbCIsCisgICAgICAgICZwaWQpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgX3JldHVybl92YWx1ZSA9IG9zX3NjaGVkX3JyX2dldF9pbnRlcnZhbF9pbXBsKG1vZHVsZSwgcGlkKTsKKyAgICBpZiAoKF9yZXR1cm5fdmFsdWUgPT0gLTEuMCkgJiYgUHlFcnJfT2NjdXJyZWQoKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IFB5RmxvYXRfRnJvbURvdWJsZShfcmV0dXJuX3ZhbHVlKTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOwogfQogCi0jZW5kaWYKK3N0YXRpYyBkb3VibGUKK29zX3NjaGVkX3JyX2dldF9pbnRlcnZhbF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIHBpZF90IHBpZCkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD01YjNiOGQxZjI3ZmIyYzBhIGlucHV0PTJhOTczZGExNWNjYTZmYWVdKi8KK3sKKyAgICBzdHJ1Y3QgdGltZXNwZWMgaW50ZXJ2YWw7CisgICAgaWYgKHNjaGVkX3JyX2dldF9pbnRlcnZhbChwaWQsICZpbnRlcnZhbCkpIHsKKyAgICAgICAgcG9zaXhfZXJyb3IoKTsKKyAgICAgICAgcmV0dXJuIC0xLjA7CisgICAgfQorICAgIHJldHVybiAoZG91YmxlKWludGVydmFsLnR2X3NlYyArIDFlLTkqaW50ZXJ2YWwudHZfbnNlYzsKK30KKyNlbmRpZiAvKiBIQVZFX1NDSEVEX1JSX0dFVF9JTlRFUlZBTCAqLwogCi1QeURvY19TVFJWQVIocG9zaXhfc2NoZWRfeWllbGRfX2RvY19fLAotInNjaGVkX3lpZWxkKClcblxuXAotVm9sdW50YXJpbHkgcmVsaW5xdWlzaCB0aGUgQ1BVLiIpOworCisvKltjbGluaWMgaW5wdXRdCitvcy5zY2hlZF95aWVsZAorCitWb2x1bnRhcmlseSByZWxpbnF1aXNoIHRoZSBDUFUuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19zY2hlZF95aWVsZF9fZG9jX18sCisic2NoZWRfeWllbGQoJG1vZHVsZSwgLylcbiIKKyItLVxuIgorIlxuIgorIlZvbHVudGFyaWx5IHJlbGlucXVpc2ggdGhlIENQVS4iKTsKKworI2RlZmluZSBPU19TQ0hFRF9ZSUVMRF9NRVRIT0RERUYgICAgXAorICAgIHsic2NoZWRfeWllbGQiLCAoUHlDRnVuY3Rpb24pb3Nfc2NoZWRfeWllbGQsIE1FVEhfTk9BUkdTLCBvc19zY2hlZF95aWVsZF9fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfc2NoZWRfeWllbGQoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpub2FyZ3MpCitvc19zY2hlZF95aWVsZF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUpOworCitzdGF0aWMgUHlPYmplY3QgKgorb3Nfc2NoZWRfeWllbGQoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKlB5X1VOVVNFRChpZ25vcmVkKSkKK3sKKyAgICByZXR1cm4gb3Nfc2NoZWRfeWllbGRfaW1wbChtb2R1bGUpOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorb3Nfc2NoZWRfeWllbGRfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTlkMmU1ZjI5ZjEzNzAzMjQgaW5wdXQ9ZTU0ZDZmOTgxODkzOTFkNF0qLwogewogICAgIGlmIChzY2hlZF95aWVsZCgpKQogICAgICAgICByZXR1cm4gcG9zaXhfZXJyb3IoKTsKQEAgLTU4MDcsMzkgKzc3NjUsNzIgQEAKIH0KIAogI2lmZGVmIEhBVkVfU0NIRURfU0VUQUZGSU5JVFkKLQogLyogVGhlIG1pbmltdW0gbnVtYmVyIG9mIENQVXMgYWxsb2NhdGVkIGluIGEgY3B1X3NldF90ICovCiBzdGF0aWMgY29uc3QgaW50IE5DUFVTX1NUQVJUID0gc2l6ZW9mKHVuc2lnbmVkIGxvbmcpICogQ0hBUl9CSVQ7CiAKLVB5RG9jX1NUUlZBUihwb3NpeF9zY2hlZF9zZXRhZmZpbml0eV9fZG9jX18sCi0ic2NoZWRfc2V0YWZmaW5pdHkocGlkLCBjcHVfc2V0KVxuXG5cCi1TZXQgdGhlIGFmZmluaXR5IG9mIHRoZSBwcm9jZXNzIHdpdGggUElEICpwaWQqIHRvICpjcHVfc2V0Ki4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK29zLnNjaGVkX3NldGFmZmluaXR5CisgICAgcGlkOiBwaWRfdAorICAgIG1hc2sgOiBvYmplY3QKKyAgICAvCisKK1NldCB0aGUgQ1BVIGFmZmluaXR5IG9mIHRoZSBwcm9jZXNzIGlkZW50aWZpZWQgYnkgcGlkIHRvIG1hc2suCisKK21hc2sgc2hvdWxkIGJlIGFuIGl0ZXJhYmxlIG9mIGludGVnZXJzIGlkZW50aWZ5aW5nIENQVXMuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19zY2hlZF9zZXRhZmZpbml0eV9fZG9jX18sCisic2NoZWRfc2V0YWZmaW5pdHkoJG1vZHVsZSwgcGlkLCBtYXNrLCAvKVxuIgorIi0tXG4iCisiXG4iCisiU2V0IHRoZSBDUFUgYWZmaW5pdHkgb2YgdGhlIHByb2Nlc3MgaWRlbnRpZmllZCBieSBwaWQgdG8gbWFzay5cbiIKKyJcbiIKKyJtYXNrIHNob3VsZCBiZSBhbiBpdGVyYWJsZSBvZiBpbnRlZ2VycyBpZGVudGlmeWluZyBDUFVzLiIpOworCisjZGVmaW5lIE9TX1NDSEVEX1NFVEFGRklOSVRZX01FVEhPRERFRiAgICBcCisgICAgeyJzY2hlZF9zZXRhZmZpbml0eSIsIChQeUNGdW5jdGlvbilvc19zY2hlZF9zZXRhZmZpbml0eSwgTUVUSF9WQVJBUkdTLCBvc19zY2hlZF9zZXRhZmZpbml0eV9fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfc2NoZWRfc2V0YWZmaW5pdHkoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQorb3Nfc2NoZWRfc2V0YWZmaW5pdHlfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBwaWRfdCBwaWQsIFB5T2JqZWN0ICptYXNrKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX3NjaGVkX3NldGFmZmluaXR5KFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzKQogeworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOwogICAgIHBpZF90IHBpZDsKKyAgICBQeU9iamVjdCAqbWFzazsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAiIiBfUHlfUEFSU0VfUElEICJPOnNjaGVkX3NldGFmZmluaXR5IiwKKyAgICAgICAgJnBpZCwgJm1hc2spKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gb3Nfc2NoZWRfc2V0YWZmaW5pdHlfaW1wbChtb2R1bGUsIHBpZCwgbWFzayk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK29zX3NjaGVkX3NldGFmZmluaXR5X2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgcGlkX3QgcGlkLCBQeU9iamVjdCAqbWFzaykKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD01MTk5OTI5NzM4MTMwMTk2IGlucHV0PWEwNzkxYTU5N2M3MDg1YmFdKi8KK3sKICAgICBpbnQgbmNwdXM7CiAgICAgc2l6ZV90IHNldHNpemU7Ci0gICAgY3B1X3NldF90ICptYXNrID0gTlVMTDsKLSAgICBQeU9iamVjdCAqaXRlcmFibGUsICppdGVyYXRvciA9IE5VTEwsICppdGVtOworICAgIGNwdV9zZXRfdCAqY3B1X3NldCA9IE5VTEw7CisgICAgUHlPYmplY3QgKml0ZXJhdG9yID0gTlVMTCwgKml0ZW07CiAKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgX1B5X1BBUlNFX1BJRCAiTzpzY2hlZF9zZXRhZmZpbml0eSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICZwaWQsICZpdGVyYWJsZSkpCi0gICAgICAgIHJldHVybiBOVUxMOwotCi0gICAgaXRlcmF0b3IgPSBQeU9iamVjdF9HZXRJdGVyKGl0ZXJhYmxlKTsKKyAgICBpdGVyYXRvciA9IFB5T2JqZWN0X0dldEl0ZXIobWFzayk7CiAgICAgaWYgKGl0ZXJhdG9yID09IE5VTEwpCiAgICAgICAgIHJldHVybiBOVUxMOwogCiAgICAgbmNwdXMgPSBOQ1BVU19TVEFSVDsKICAgICBzZXRzaXplID0gQ1BVX0FMTE9DX1NJWkUobmNwdXMpOwotICAgIG1hc2sgPSBDUFVfQUxMT0MobmNwdXMpOwotICAgIGlmIChtYXNrID09IE5VTEwpIHsKKyAgICBjcHVfc2V0ID0gQ1BVX0FMTE9DKG5jcHVzKTsKKyAgICBpZiAoY3B1X3NldCA9PSBOVUxMKSB7CiAgICAgICAgIFB5RXJyX05vTWVtb3J5KCk7CiAgICAgICAgIGdvdG8gZXJyb3I7CiAgICAgfQotICAgIENQVV9aRVJPX1Moc2V0c2l6ZSwgbWFzayk7CisgICAgQ1BVX1pFUk9fUyhzZXRzaXplLCBjcHVfc2V0KTsKIAogICAgIHdoaWxlICgoaXRlbSA9IFB5SXRlcl9OZXh0KGl0ZXJhdG9yKSkpIHsKICAgICAgICAgbG9uZyBjcHU7CkBAIC01ODgwLDQ4ICs3ODcxLDgwIEBACiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBuZXdzZXRzaXplID0gQ1BVX0FMTE9DX1NJWkUobmV3bmNwdXMpOwogICAgICAgICAgICAgQ1BVX1pFUk9fUyhuZXdzZXRzaXplLCBuZXdtYXNrKTsKLSAgICAgICAgICAgIG1lbWNweShuZXdtYXNrLCBtYXNrLCBzZXRzaXplKTsKLSAgICAgICAgICAgIENQVV9GUkVFKG1hc2spOworICAgICAgICAgICAgbWVtY3B5KG5ld21hc2ssIGNwdV9zZXQsIHNldHNpemUpOworICAgICAgICAgICAgQ1BVX0ZSRUUoY3B1X3NldCk7CiAgICAgICAgICAgICBzZXRzaXplID0gbmV3c2V0c2l6ZTsKLSAgICAgICAgICAgIG1hc2sgPSBuZXdtYXNrOworICAgICAgICAgICAgY3B1X3NldCA9IG5ld21hc2s7CiAgICAgICAgICAgICBuY3B1cyA9IG5ld25jcHVzOwogICAgICAgICB9Ci0gICAgICAgIENQVV9TRVRfUyhjcHUsIHNldHNpemUsIG1hc2spOworICAgICAgICBDUFVfU0VUX1MoY3B1LCBzZXRzaXplLCBjcHVfc2V0KTsKICAgICB9CiAgICAgUHlfQ0xFQVIoaXRlcmF0b3IpOwogCi0gICAgaWYgKHNjaGVkX3NldGFmZmluaXR5KHBpZCwgc2V0c2l6ZSwgbWFzaykpIHsKKyAgICBpZiAoc2NoZWRfc2V0YWZmaW5pdHkocGlkLCBzZXRzaXplLCBjcHVfc2V0KSkgewogICAgICAgICBwb3NpeF9lcnJvcigpOwogICAgICAgICBnb3RvIGVycm9yOwogICAgIH0KLSAgICBDUFVfRlJFRShtYXNrKTsKKyAgICBDUFVfRlJFRShjcHVfc2V0KTsKICAgICBQeV9SRVRVUk5fTk9ORTsKIAogZXJyb3I6Ci0gICAgaWYgKG1hc2spCi0gICAgICAgIENQVV9GUkVFKG1hc2spOworICAgIGlmIChjcHVfc2V0KQorICAgICAgICBDUFVfRlJFRShjcHVfc2V0KTsKICAgICBQeV9YREVDUkVGKGl0ZXJhdG9yKTsKICAgICByZXR1cm4gTlVMTDsKIH0KIAotUHlEb2NfU1RSVkFSKHBvc2l4X3NjaGVkX2dldGFmZmluaXR5X19kb2NfXywKLSJzY2hlZF9nZXRhZmZpbml0eShwaWQsIG5jcHVzKSAtPiBjcHVfc2V0XG5cblwKLVJldHVybiB0aGUgYWZmaW5pdHkgb2YgdGhlIHByb2Nlc3Mgd2l0aCBQSUQgKnBpZCouXG5cCi1UaGUgcmV0dXJuZWQgY3B1X3NldCB3aWxsIGJlIG9mIHNpemUgKm5jcHVzKi4iKTsKKworLypbY2xpbmljIGlucHV0XQorb3Muc2NoZWRfZ2V0YWZmaW5pdHkKKyAgICBwaWQ6IHBpZF90CisgICAgLworCitSZXR1cm4gdGhlIGFmZmluaXR5IG9mIHRoZSBwcm9jZXNzIGlkZW50aWZpZWQgYnkgcGlkLgorCitUaGUgYWZmaW5pdHkgaXMgcmV0dXJuZWQgYXMgYSBzZXQgb2YgQ1BVIGlkZW50aWZpZXJzLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3Nfc2NoZWRfZ2V0YWZmaW5pdHlfX2RvY19fLAorInNjaGVkX2dldGFmZmluaXR5KCRtb2R1bGUsIHBpZCwgLylcbiIKKyItLVxuIgorIlxuIgorIlJldHVybiB0aGUgYWZmaW5pdHkgb2YgdGhlIHByb2Nlc3MgaWRlbnRpZmllZCBieSBwaWQuXG4iCisiXG4iCisiVGhlIGFmZmluaXR5IGlzIHJldHVybmVkIGFzIGEgc2V0IG9mIENQVSBpZGVudGlmaWVycy4iKTsKKworI2RlZmluZSBPU19TQ0hFRF9HRVRBRkZJTklUWV9NRVRIT0RERUYgICAgXAorICAgIHsic2NoZWRfZ2V0YWZmaW5pdHkiLCAoUHlDRnVuY3Rpb24pb3Nfc2NoZWRfZ2V0YWZmaW5pdHksIE1FVEhfVkFSQVJHUywgb3Nfc2NoZWRfZ2V0YWZmaW5pdHlfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X3NjaGVkX2dldGFmZmluaXR5KFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK29zX3NjaGVkX2dldGFmZmluaXR5X2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgcGlkX3QgcGlkKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX3NjaGVkX2dldGFmZmluaXR5KFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzKQogeworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOwogICAgIHBpZF90IHBpZDsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAiIiBfUHlfUEFSU0VfUElEICI6c2NoZWRfZ2V0YWZmaW5pdHkiLAorICAgICAgICAmcGlkKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IG9zX3NjaGVkX2dldGFmZmluaXR5X2ltcGwobW9kdWxlLCBwaWQpOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19zY2hlZF9nZXRhZmZpbml0eV9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIHBpZF90IHBpZCkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD03YjI3M2IwZmNhOTgzMGYwIGlucHV0PWVhZjE2MTkzNjg3NGI4YTFdKi8KK3sKICAgICBpbnQgY3B1LCBuY3B1cywgY291bnQ7CiAgICAgc2l6ZV90IHNldHNpemU7CiAgICAgY3B1X3NldF90ICptYXNrID0gTlVMTDsKICAgICBQeU9iamVjdCAqcmVzID0gTlVMTDsKIAotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCBfUHlfUEFSU0VfUElEICI6c2NoZWRfZ2V0YWZmaW5pdHkiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAmcGlkKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0KICAgICBuY3B1cyA9IE5DUFVTX1NUQVJUOwogICAgIHdoaWxlICgxKSB7CiAgICAgICAgIHNldHNpemUgPSBDUFVfQUxMT0NfU0laRShuY3B1cyk7CkBAIC01OTcxLDYgKzc5OTQsNDcgQEAKIAogI2VuZGlmIC8qIEhBVkVfU0NIRURfSCAqLwogCisjaWZuZGVmIE9TX1NDSEVEX0dFVF9QUklPUklUWV9NQVhfTUVUSE9EREVGCisjZGVmaW5lIE9TX1NDSEVEX0dFVF9QUklPUklUWV9NQVhfTUVUSE9EREVGCisjZW5kaWYgIC8qIE9TX1NDSEVEX0dFVF9QUklPUklUWV9NQVhfTUVUSE9EREVGICovCisKKyNpZm5kZWYgT1NfU0NIRURfR0VUX1BSSU9SSVRZX01JTl9NRVRIT0RERUYKKyNkZWZpbmUgT1NfU0NIRURfR0VUX1BSSU9SSVRZX01JTl9NRVRIT0RERUYKKyNlbmRpZiAgLyogT1NfU0NIRURfR0VUX1BSSU9SSVRZX01JTl9NRVRIT0RERUYgKi8KKworI2lmbmRlZiBPU19TQ0hFRF9HRVRTQ0hFRFVMRVJfTUVUSE9EREVGCisjZGVmaW5lIE9TX1NDSEVEX0dFVFNDSEVEVUxFUl9NRVRIT0RERUYKKyNlbmRpZiAgLyogT1NfU0NIRURfR0VUU0NIRURVTEVSX01FVEhPRERFRiAqLworCisjaWZuZGVmIE9TX1NDSEVEX1NFVFNDSEVEVUxFUl9NRVRIT0RERUYKKyNkZWZpbmUgT1NfU0NIRURfU0VUU0NIRURVTEVSX01FVEhPRERFRgorI2VuZGlmICAvKiBPU19TQ0hFRF9TRVRTQ0hFRFVMRVJfTUVUSE9EREVGICovCisKKyNpZm5kZWYgT1NfU0NIRURfR0VUUEFSQU1fTUVUSE9EREVGCisjZGVmaW5lIE9TX1NDSEVEX0dFVFBBUkFNX01FVEhPRERFRgorI2VuZGlmICAvKiBPU19TQ0hFRF9HRVRQQVJBTV9NRVRIT0RERUYgKi8KKworI2lmbmRlZiBPU19TQ0hFRF9TRVRQQVJBTV9NRVRIT0RERUYKKyNkZWZpbmUgT1NfU0NIRURfU0VUUEFSQU1fTUVUSE9EREVGCisjZW5kaWYgIC8qIE9TX1NDSEVEX1NFVFBBUkFNX01FVEhPRERFRiAqLworCisjaWZuZGVmIE9TX1NDSEVEX1JSX0dFVF9JTlRFUlZBTF9NRVRIT0RERUYKKyNkZWZpbmUgT1NfU0NIRURfUlJfR0VUX0lOVEVSVkFMX01FVEhPRERFRgorI2VuZGlmICAvKiBPU19TQ0hFRF9SUl9HRVRfSU5URVJWQUxfTUVUSE9EREVGICovCisKKyNpZm5kZWYgT1NfU0NIRURfWUlFTERfTUVUSE9EREVGCisjZGVmaW5lIE9TX1NDSEVEX1lJRUxEX01FVEhPRERFRgorI2VuZGlmICAvKiBPU19TQ0hFRF9ZSUVMRF9NRVRIT0RERUYgKi8KKworI2lmbmRlZiBPU19TQ0hFRF9TRVRBRkZJTklUWV9NRVRIT0RERUYKKyNkZWZpbmUgT1NfU0NIRURfU0VUQUZGSU5JVFlfTUVUSE9EREVGCisjZW5kaWYgIC8qIE9TX1NDSEVEX1NFVEFGRklOSVRZX01FVEhPRERFRiAqLworCisjaWZuZGVmIE9TX1NDSEVEX0dFVEFGRklOSVRZX01FVEhPRERFRgorI2RlZmluZSBPU19TQ0hFRF9HRVRBRkZJTklUWV9NRVRIT0RERUYKKyNlbmRpZiAgLyogT1NfU0NIRURfR0VUQUZGSU5JVFlfTUVUSE9EREVGICovCisKKwogLyogQUlYIHVzZXMgL2Rldi9wdGMgYnV0IGlzIG90aGVyd2lzZSB0aGUgc2FtZSBhcyAvZGV2L3B0bXggKi8KIC8qIElSSVggaGFzIGJvdGggL2Rldi9wdGMgYW5kIC9kZXYvcHRteCwgdXNlIHB0bXggKi8KICNpZiBkZWZpbmVkKEhBVkVfREVWX1BUQykgJiYgIWRlZmluZWQoSEFWRV9ERVZfUFRNWCkKQEAgLTU5OTcsMTMgKzgwNjEsNDEgQEAKICNlbmRpZgogI2VuZGlmIC8qIGRlZmluZWQoSEFWRV9PUEVOUFRZKSB8fCBkZWZpbmVkKEhBVkVfRk9SS1BUWSkgfHwgZGVmaW5lZChIQVZFX0RFVl9QVE1YICovCiAKKwogI2lmIGRlZmluZWQoSEFWRV9PUEVOUFRZKSB8fCBkZWZpbmVkKEhBVkVfX0dFVFBUWSkgfHwgZGVmaW5lZChIQVZFX0RFVl9QVE1YKQotUHlEb2NfU1RSVkFSKHBvc2l4X29wZW5wdHlfX2RvY19fLAotIm9wZW5wdHkoKSAtPiAobWFzdGVyX2ZkLCBzbGF2ZV9mZClcblxuXAotT3BlbiBhIHBzZXVkby10ZXJtaW5hbCwgcmV0dXJuaW5nIG9wZW4gZmQncyBmb3IgYm90aCBtYXN0ZXIgYW5kIHNsYXZlIGVuZC5cbiIpOworLypbY2xpbmljIGlucHV0XQorb3Mub3BlbnB0eQorCitPcGVuIGEgcHNldWRvLXRlcm1pbmFsLgorCitSZXR1cm4gYSB0dXBsZSBvZiAobWFzdGVyX2ZkLCBzbGF2ZV9mZCkgY29udGFpbmluZyBvcGVuIGZpbGUgZGVzY3JpcHRvcnMKK2ZvciBib3RoIHRoZSBtYXN0ZXIgYW5kIHNsYXZlIGVuZHMuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19vcGVucHR5X19kb2NfXywKKyJvcGVucHR5KCRtb2R1bGUsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJPcGVuIGEgcHNldWRvLXRlcm1pbmFsLlxuIgorIlxuIgorIlJldHVybiBhIHR1cGxlIG9mIChtYXN0ZXJfZmQsIHNsYXZlX2ZkKSBjb250YWluaW5nIG9wZW4gZmlsZSBkZXNjcmlwdG9yc1xuIgorImZvciBib3RoIHRoZSBtYXN0ZXIgYW5kIHNsYXZlIGVuZHMuIik7CisKKyNkZWZpbmUgT1NfT1BFTlBUWV9NRVRIT0RERUYgICAgXAorICAgIHsib3BlbnB0eSIsIChQeUNGdW5jdGlvbilvc19vcGVucHR5LCBNRVRIX05PQVJHUywgb3Nfb3BlbnB0eV9fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfb3BlbnB0eShQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKm5vYXJncykKK29zX29wZW5wdHlfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX29wZW5wdHkoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKlB5X1VOVVNFRChpZ25vcmVkKSkKK3sKKyAgICByZXR1cm4gb3Nfb3BlbnB0eV9pbXBsKG1vZHVsZSk7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19vcGVucHR5X2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1iMTJkM2MxNzM1NDY4NDY0IGlucHV0PWYzZDk5ZmQ5OWU3NjI5MDddKi8KIHsKICAgICBpbnQgbWFzdGVyX2ZkID0gLTEsIHNsYXZlX2ZkID0gLTE7CiAjaWZuZGVmIEhBVkVfT1BFTlBUWQpAQCAtNjA5MiwxNSArODE4NCw0NSBAQAogfQogI2VuZGlmIC8qIGRlZmluZWQoSEFWRV9PUEVOUFRZKSB8fCBkZWZpbmVkKEhBVkVfX0dFVFBUWSkgfHwgZGVmaW5lZChIQVZFX0RFVl9QVE1YKSAqLwogCisKICNpZmRlZiBIQVZFX0ZPUktQVFkKLVB5RG9jX1NUUlZBUihwb3NpeF9mb3JrcHR5X19kb2NfXywKLSJmb3JrcHR5KCkgLT4gKHBpZCwgbWFzdGVyX2ZkKVxuXG5cCi1Gb3JrIGEgbmV3IHByb2Nlc3Mgd2l0aCBhIG5ldyBwc2V1ZG8tdGVybWluYWwgYXMgY29udHJvbGxpbmcgdHR5LlxuXG5cCi1MaWtlIGZvcmsoKSwgcmV0dXJuIDAgYXMgcGlkIHRvIGNoaWxkIHByb2Nlc3MsIGFuZCBQSUQgb2YgY2hpbGQgdG8gcGFyZW50LlxuXAotVG8gYm90aCwgcmV0dXJuIGZkIG9mIG5ld2x5IG9wZW5lZCBwc2V1ZG8tdGVybWluYWwuXG4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK29zLmZvcmtwdHkKKworRm9yayBhIG5ldyBwcm9jZXNzIHdpdGggYSBuZXcgcHNldWRvLXRlcm1pbmFsIGFzIGNvbnRyb2xsaW5nIHR0eS4KKworUmV0dXJucyBhIHR1cGxlIG9mIChwaWQsIG1hc3Rlcl9mZCkuCitMaWtlIGZvcmsoKSwgcmV0dXJuIHBpZCBvZiAwIHRvIHRoZSBjaGlsZCBwcm9jZXNzLAorYW5kIHBpZCBvZiBjaGlsZCB0byB0aGUgcGFyZW50IHByb2Nlc3MuCitUbyBib3RoLCByZXR1cm4gZmQgb2YgbmV3bHkgb3BlbmVkIHBzZXVkby10ZXJtaW5hbC4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX2ZvcmtwdHlfX2RvY19fLAorImZvcmtwdHkoJG1vZHVsZSwgLylcbiIKKyItLVxuIgorIlxuIgorIkZvcmsgYSBuZXcgcHJvY2VzcyB3aXRoIGEgbmV3IHBzZXVkby10ZXJtaW5hbCBhcyBjb250cm9sbGluZyB0dHkuXG4iCisiXG4iCisiUmV0dXJucyBhIHR1cGxlIG9mIChwaWQsIG1hc3Rlcl9mZCkuXG4iCisiTGlrZSBmb3JrKCksIHJldHVybiBwaWQgb2YgMCB0byB0aGUgY2hpbGQgcHJvY2VzcyxcbiIKKyJhbmQgcGlkIG9mIGNoaWxkIHRvIHRoZSBwYXJlbnQgcHJvY2Vzcy5cbiIKKyJUbyBib3RoLCByZXR1cm4gZmQgb2YgbmV3bHkgb3BlbmVkIHBzZXVkby10ZXJtaW5hbC4iKTsKKworI2RlZmluZSBPU19GT1JLUFRZX01FVEhPRERFRiAgICBcCisgICAgeyJmb3JrcHR5IiwgKFB5Q0Z1bmN0aW9uKW9zX2ZvcmtwdHksIE1FVEhfTk9BUkdTLCBvc19mb3JrcHR5X19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF9mb3JrcHR5KFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqbm9hcmdzKQorb3NfZm9ya3B0eV9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUpOworCitzdGF0aWMgUHlPYmplY3QgKgorb3NfZm9ya3B0eShQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqUHlfVU5VU0VEKGlnbm9yZWQpKQoreworICAgIHJldHVybiBvc19mb3JrcHR5X2ltcGwobW9kdWxlKTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK29zX2ZvcmtwdHlfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWQ0ZjgyOTU4ZDJlZDVjYWQgaW5wdXQ9ZjFmN2Y0YmFlMzk2NjAxMF0qLwogewogICAgIGludCBtYXN0ZXJfZmQgPSAtMSwgcmVzdWx0ID0gMDsKICAgICBwaWRfdCBwaWQ7CkBAIC02MTI0LDU5ICs4MjQ2LDE0NSBAQAogICAgIH0KICAgICByZXR1cm4gUHlfQnVpbGRWYWx1ZSgiKE5pKSIsIFB5TG9uZ19Gcm9tUGlkKHBpZCksIG1hc3Rlcl9mZCk7CiB9Ci0jZW5kaWYKKyNlbmRpZiAvKiBIQVZFX0ZPUktQVFkgKi8KIAogCiAjaWZkZWYgSEFWRV9HRVRFR0lECi1QeURvY19TVFJWQVIocG9zaXhfZ2V0ZWdpZF9fZG9jX18sCi0iZ2V0ZWdpZCgpIC0+IGVnaWRcblxuXAotUmV0dXJuIHRoZSBjdXJyZW50IHByb2Nlc3MncyBlZmZlY3RpdmUgZ3JvdXAgaWQuIik7CisvKltjbGluaWMgaW5wdXRdCitvcy5nZXRlZ2lkCisKK1JldHVybiB0aGUgY3VycmVudCBwcm9jZXNzJ3MgZWZmZWN0aXZlIGdyb3VwIGlkLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3NfZ2V0ZWdpZF9fZG9jX18sCisiZ2V0ZWdpZCgkbW9kdWxlLCAvKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJuIHRoZSBjdXJyZW50IHByb2Nlc3NcJ3MgZWZmZWN0aXZlIGdyb3VwIGlkLiIpOworCisjZGVmaW5lIE9TX0dFVEVHSURfTUVUSE9EREVGICAgIFwKKyAgICB7ImdldGVnaWQiLCAoUHlDRnVuY3Rpb24pb3NfZ2V0ZWdpZCwgTUVUSF9OT0FSR1MsIG9zX2dldGVnaWRfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X2dldGVnaWQoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpub2FyZ3MpCitvc19nZXRlZ2lkX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19nZXRlZ2lkKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICpQeV9VTlVTRUQoaWdub3JlZCkpCit7CisgICAgcmV0dXJuIG9zX2dldGVnaWRfaW1wbChtb2R1bGUpOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorb3NfZ2V0ZWdpZF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9ZmQxMmMzNDZmYTQxY2NjYiBpbnB1dD0xNTk2Zjc5YWQxMTA3ZDVkXSovCiB7CiAgICAgcmV0dXJuIF9QeUxvbmdfRnJvbUdpZChnZXRlZ2lkKCkpOwogfQotI2VuZGlmCisjZW5kaWYgLyogSEFWRV9HRVRFR0lEICovCiAKIAogI2lmZGVmIEhBVkVfR0VURVVJRAotUHlEb2NfU1RSVkFSKHBvc2l4X2dldGV1aWRfX2RvY19fLAotImdldGV1aWQoKSAtPiBldWlkXG5cblwKLVJldHVybiB0aGUgY3VycmVudCBwcm9jZXNzJ3MgZWZmZWN0aXZlIHVzZXIgaWQuIik7CisvKltjbGluaWMgaW5wdXRdCitvcy5nZXRldWlkCisKK1JldHVybiB0aGUgY3VycmVudCBwcm9jZXNzJ3MgZWZmZWN0aXZlIHVzZXIgaWQuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19nZXRldWlkX19kb2NfXywKKyJnZXRldWlkKCRtb2R1bGUsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJSZXR1cm4gdGhlIGN1cnJlbnQgcHJvY2Vzc1wncyBlZmZlY3RpdmUgdXNlciBpZC4iKTsKKworI2RlZmluZSBPU19HRVRFVUlEX01FVEhPRERFRiAgICBcCisgICAgeyJnZXRldWlkIiwgKFB5Q0Z1bmN0aW9uKW9zX2dldGV1aWQsIE1FVEhfTk9BUkdTLCBvc19nZXRldWlkX19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF9nZXRldWlkKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqbm9hcmdzKQorb3NfZ2V0ZXVpZF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUpOworCitzdGF0aWMgUHlPYmplY3QgKgorb3NfZ2V0ZXVpZChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqUHlfVU5VU0VEKGlnbm9yZWQpKQoreworICAgIHJldHVybiBvc19nZXRldWlkX2ltcGwobW9kdWxlKTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK29zX2dldGV1aWRfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTAzZDk4ZTA3ZjRiYzAzZDQgaW5wdXQ9NDY0NGM2NjJkM2JkOWYxOV0qLwogewogICAgIHJldHVybiBfUHlMb25nX0Zyb21VaWQoZ2V0ZXVpZCgpKTsKIH0KLSNlbmRpZgorI2VuZGlmIC8qIEhBVkVfR0VURVVJRCAqLwogCiAKICNpZmRlZiBIQVZFX0dFVEdJRAotUHlEb2NfU1RSVkFSKHBvc2l4X2dldGdpZF9fZG9jX18sCi0iZ2V0Z2lkKCkgLT4gZ2lkXG5cblwKLVJldHVybiB0aGUgY3VycmVudCBwcm9jZXNzJ3MgZ3JvdXAgaWQuIik7CisvKltjbGluaWMgaW5wdXRdCitvcy5nZXRnaWQKKworUmV0dXJuIHRoZSBjdXJyZW50IHByb2Nlc3MncyBncm91cCBpZC4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX2dldGdpZF9fZG9jX18sCisiZ2V0Z2lkKCRtb2R1bGUsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJSZXR1cm4gdGhlIGN1cnJlbnQgcHJvY2Vzc1wncyBncm91cCBpZC4iKTsKKworI2RlZmluZSBPU19HRVRHSURfTUVUSE9EREVGICAgIFwKKyAgICB7ImdldGdpZCIsIChQeUNGdW5jdGlvbilvc19nZXRnaWQsIE1FVEhfTk9BUkdTLCBvc19nZXRnaWRfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X2dldGdpZChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKm5vYXJncykKK29zX2dldGdpZF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUpOworCitzdGF0aWMgUHlPYmplY3QgKgorb3NfZ2V0Z2lkKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICpQeV9VTlVTRUQoaWdub3JlZCkpCit7CisgICAgcmV0dXJuIG9zX2dldGdpZF9pbXBsKG1vZHVsZSk7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19nZXRnaWRfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTA3YjAzNTYxMjFiODA5OGQgaW5wdXQ9NTg3OTYzNDRjZDg3YzBmNl0qLwogewogICAgIHJldHVybiBfUHlMb25nX0Zyb21HaWQoZ2V0Z2lkKCkpOwogfQotI2VuZGlmCisjZW5kaWYgLyogSEFWRV9HRVRHSUQgKi8KIAogCi1QeURvY19TVFJWQVIocG9zaXhfZ2V0cGlkX19kb2NfXywKLSJnZXRwaWQoKSAtPiBwaWRcblxuXAotUmV0dXJuIHRoZSBjdXJyZW50IHByb2Nlc3MgaWQiKTsKKy8qW2NsaW5pYyBpbnB1dF0KK29zLmdldHBpZAorCitSZXR1cm4gdGhlIGN1cnJlbnQgcHJvY2VzcyBpZC4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX2dldHBpZF9fZG9jX18sCisiZ2V0cGlkKCRtb2R1bGUsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJSZXR1cm4gdGhlIGN1cnJlbnQgcHJvY2VzcyBpZC4iKTsKKworI2RlZmluZSBPU19HRVRQSURfTUVUSE9EREVGICAgIFwKKyAgICB7ImdldHBpZCIsIChQeUNGdW5jdGlvbilvc19nZXRwaWQsIE1FVEhfTk9BUkdTLCBvc19nZXRwaWRfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X2dldHBpZChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKm5vYXJncykKK29zX2dldHBpZF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUpOworCitzdGF0aWMgUHlPYmplY3QgKgorb3NfZ2V0cGlkKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICpQeV9VTlVTRUQoaWdub3JlZCkpCit7CisgICAgcmV0dXJuIG9zX2dldHBpZF9pbXBsKG1vZHVsZSk7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19nZXRwaWRfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWQ2M2EwMWEzY2ViYzU3M2QgaW5wdXQ9NWE5YTAwZjBhYjY4YWEwMF0qLwogewogICAgIHJldHVybiBQeUxvbmdfRnJvbVBpZChnZXRwaWQoKSk7CiB9CiAKICNpZmRlZiBIQVZFX0dFVEdST1VQTElTVAorCisvKiBBQyAzLjU6IGZ1bm55IGFwcGxlIGxvZ2ljIGJlbG93ICovCiBQeURvY19TVFJWQVIocG9zaXhfZ2V0Z3JvdXBsaXN0X19kb2NfXywKICJnZXRncm91cGxpc3QodXNlciwgZ3JvdXApIC0+IGxpc3Qgb2YgZ3JvdXBzIHRvIHdoaWNoIGEgdXNlciBiZWxvbmdzXG5cblwKIFJldHVybnMgYSBsaXN0IG9mIGdyb3VwcyB0byB3aGljaCBhIHVzZXIgYmVsb25ncy5cblxuXApAQCAtNjI0OSwxNSArODQ1NywzNyBAQAogCiAgICAgcmV0dXJuIGxpc3Q7CiB9Ci0jZW5kaWYKKyNlbmRpZiAvKiBIQVZFX0dFVEdST1VQTElTVCAqLworCiAKICNpZmRlZiBIQVZFX0dFVEdST1VQUwotUHlEb2NfU1RSVkFSKHBvc2l4X2dldGdyb3Vwc19fZG9jX18sCi0iZ2V0Z3JvdXBzKCkgLT4gbGlzdCBvZiBncm91cCBJRHNcblxuXAotUmV0dXJuIGxpc3Qgb2Ygc3VwcGxlbWVudGFsIGdyb3VwIElEcyBmb3IgdGhlIHByb2Nlc3MuIik7CisvKltjbGluaWMgaW5wdXRdCitvcy5nZXRncm91cHMKKworUmV0dXJuIGxpc3Qgb2Ygc3VwcGxlbWVudGFsIGdyb3VwIElEcyBmb3IgdGhlIHByb2Nlc3MuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19nZXRncm91cHNfX2RvY19fLAorImdldGdyb3VwcygkbW9kdWxlLCAvKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJuIGxpc3Qgb2Ygc3VwcGxlbWVudGFsIGdyb3VwIElEcyBmb3IgdGhlIHByb2Nlc3MuIik7CisKKyNkZWZpbmUgT1NfR0VUR1JPVVBTX01FVEhPRERFRiAgICBcCisgICAgeyJnZXRncm91cHMiLCAoUHlDRnVuY3Rpb24pb3NfZ2V0Z3JvdXBzLCBNRVRIX05PQVJHUywgb3NfZ2V0Z3JvdXBzX19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF9nZXRncm91cHMoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpub2FyZ3MpCitvc19nZXRncm91cHNfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX2dldGdyb3VwcyhQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqUHlfVU5VU0VEKGlnbm9yZWQpKQoreworICAgIHJldHVybiBvc19nZXRncm91cHNfaW1wbChtb2R1bGUpOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorb3NfZ2V0Z3JvdXBzX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1kOWEzNTU5YjJlNmY0YWI4IGlucHV0PWQzZjEwOTQxMmU2YTE1NWNdKi8KIHsKICAgICBQeU9iamVjdCAqcmVzdWx0ID0gTlVMTDsKIApAQCAtNjM1Niw3ICs4NTg2LDcgQEAKIAogICAgIHJldHVybiByZXN1bHQ7CiB9Ci0jZW5kaWYKKyNlbmRpZiAvKiBIQVZFX0dFVEdST1VQUyAqLwogCiAjaWZkZWYgSEFWRV9JTklUR1JPVVBTCiBQeURvY19TVFJWQVIocG9zaXhfaW5pdGdyb3Vwc19fZG9jX18sCkBAIC02MzY1LDYgKzg1OTUsNyBAQAogdGhlIGdyb3VwcyBvZiB3aGljaCB0aGUgc3BlY2lmaWVkIHVzZXJuYW1lIGlzIGEgbWVtYmVyLCBwbHVzIHRoZSBzcGVjaWZpZWRcblwKIGdyb3VwIGlkLiIpOwogCisvKiBBQyAzLjU6IGZ1bm55IGFwcGxlIGxvZ2ljICovCiBzdGF0aWMgUHlPYmplY3QgKgogcG9zaXhfaW5pdGdyb3VwcyhQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCiB7CkBAIC02Mzk3LDIwICs4NjI4LDUyIEBACiAgICAgUHlfSU5DUkVGKFB5X05vbmUpOwogICAgIHJldHVybiBQeV9Ob25lOwogfQotI2VuZGlmCisjZW5kaWYgLyogSEFWRV9JTklUR1JPVVBTICovCisKIAogI2lmZGVmIEhBVkVfR0VUUEdJRAotUHlEb2NfU1RSVkFSKHBvc2l4X2dldHBnaWRfX2RvY19fLAotImdldHBnaWQocGlkKSAtPiBwZ2lkXG5cblwKLUNhbGwgdGhlIHN5c3RlbSBjYWxsIGdldHBnaWQoKS4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK29zLmdldHBnaWQKKworICAgIHBpZDogcGlkX3QKKworQ2FsbCB0aGUgc3lzdGVtIGNhbGwgZ2V0cGdpZCgpLCBhbmQgcmV0dXJuIHRoZSByZXN1bHQuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19nZXRwZ2lkX19kb2NfXywKKyJnZXRwZ2lkKCRtb2R1bGUsIC8sIHBpZClcbiIKKyItLVxuIgorIlxuIgorIkNhbGwgdGhlIHN5c3RlbSBjYWxsIGdldHBnaWQoKSwgYW5kIHJldHVybiB0aGUgcmVzdWx0LiIpOworCisjZGVmaW5lIE9TX0dFVFBHSURfTUVUSE9EREVGICAgIFwKKyAgICB7ImdldHBnaWQiLCAoUHlDRnVuY3Rpb24pb3NfZ2V0cGdpZCwgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsIG9zX2dldHBnaWRfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X2dldHBnaWQoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQorb3NfZ2V0cGdpZF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIHBpZF90IHBpZCk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19nZXRwZ2lkKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQogewotICAgIHBpZF90IHBpZCwgcGdpZDsKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgX1B5X1BBUlNFX1BJRCAiOmdldHBnaWQiLCAmcGlkKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgcGdpZCA9IGdldHBnaWQocGlkKTsKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBzdGF0aWMgY2hhciAqX2tleXdvcmRzW10gPSB7InBpZCIsIE5VTEx9OworICAgIHBpZF90IHBpZDsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywKKyAgICAgICAgIiIgX1B5X1BBUlNFX1BJRCAiOmdldHBnaWQiLCBfa2V5d29yZHMsCisgICAgICAgICZwaWQpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gb3NfZ2V0cGdpZF9pbXBsKG1vZHVsZSwgcGlkKTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorb3NfZ2V0cGdpZF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIHBpZF90IHBpZCkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD0zZGI0ZWQ2ODYxNzkxNjBkIGlucHV0PTM5ZDcxMGFlM2JhYWYxYzddKi8KK3sKKyAgICBwaWRfdCBwZ2lkID0gZ2V0cGdpZChwaWQpOwogICAgIGlmIChwZ2lkIDwgMCkKICAgICAgICAgcmV0dXJuIHBvc2l4X2Vycm9yKCk7CiAgICAgcmV0dXJuIFB5TG9uZ19Gcm9tUGlkKHBnaWQpOwpAQCAtNjQxOSwxMiArODY4MiwzMyBAQAogCiAKICNpZmRlZiBIQVZFX0dFVFBHUlAKLVB5RG9jX1NUUlZBUihwb3NpeF9nZXRwZ3JwX19kb2NfXywKLSJnZXRwZ3JwKCkgLT4gcGdycFxuXG5cCi1SZXR1cm4gdGhlIGN1cnJlbnQgcHJvY2VzcyBncm91cCBpZC4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK29zLmdldHBncnAKKworUmV0dXJuIHRoZSBjdXJyZW50IHByb2Nlc3MgZ3JvdXAgaWQuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19nZXRwZ3JwX19kb2NfXywKKyJnZXRwZ3JwKCRtb2R1bGUsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJSZXR1cm4gdGhlIGN1cnJlbnQgcHJvY2VzcyBncm91cCBpZC4iKTsKKworI2RlZmluZSBPU19HRVRQR1JQX01FVEhPRERFRiAgICBcCisgICAgeyJnZXRwZ3JwIiwgKFB5Q0Z1bmN0aW9uKW9zX2dldHBncnAsIE1FVEhfTk9BUkdTLCBvc19nZXRwZ3JwX19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF9nZXRwZ3JwKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqbm9hcmdzKQorb3NfZ2V0cGdycF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUpOworCitzdGF0aWMgUHlPYmplY3QgKgorb3NfZ2V0cGdycChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqUHlfVU5VU0VEKGlnbm9yZWQpKQoreworICAgIHJldHVybiBvc19nZXRwZ3JwX2ltcGwobW9kdWxlKTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK29zX2dldHBncnBfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTNiMGQzNjYzZWEwNTQyNzcgaW5wdXQ9Njg0NmZiMmJiOWEzNzA1ZV0qLwogewogI2lmZGVmIEdFVFBHUlBfSEFWRV9BUkcKICAgICByZXR1cm4gUHlMb25nX0Zyb21QaWQoZ2V0cGdycCgwKSk7CkBAIC02NDM2LDEyICs4NzIwLDMzIEBACiAKIAogI2lmZGVmIEhBVkVfU0VUUEdSUAotUHlEb2NfU1RSVkFSKHBvc2l4X3NldHBncnBfX2RvY19fLAotInNldHBncnAoKVxuXG5cCi1NYWtlIHRoaXMgcHJvY2VzcyB0aGUgcHJvY2VzcyBncm91cCBsZWFkZXIuIik7CisvKltjbGluaWMgaW5wdXRdCitvcy5zZXRwZ3JwCisKK01ha2UgdGhlIGN1cnJlbnQgcHJvY2VzcyB0aGUgbGVhZGVyIG9mIGl0cyBwcm9jZXNzIGdyb3VwLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3Nfc2V0cGdycF9fZG9jX18sCisic2V0cGdycCgkbW9kdWxlLCAvKVxuIgorIi0tXG4iCisiXG4iCisiTWFrZSB0aGUgY3VycmVudCBwcm9jZXNzIHRoZSBsZWFkZXIgb2YgaXRzIHByb2Nlc3MgZ3JvdXAuIik7CisKKyNkZWZpbmUgT1NfU0VUUEdSUF9NRVRIT0RERUYgICAgXAorICAgIHsic2V0cGdycCIsIChQeUNGdW5jdGlvbilvc19zZXRwZ3JwLCBNRVRIX05PQVJHUywgb3Nfc2V0cGdycF9fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfc2V0cGdycChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKm5vYXJncykKK29zX3NldHBncnBfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX3NldHBncnAoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKlB5X1VOVVNFRChpZ25vcmVkKSkKK3sKKyAgICByZXR1cm4gb3Nfc2V0cGdycF9pbXBsKG1vZHVsZSk7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19zZXRwZ3JwX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD04ZmJiMGVlMjllZjZmYjJkIGlucHV0PTFmMDYxOWZjYjU3MzFlN2VdKi8KIHsKICNpZmRlZiBTRVRQR1JQX0hBVkVfQVJHCiAgICAgaWYgKHNldHBncnAoMCwgMCkgPCAwKQpAQCAtNjQ1Miw3ICs4NzU3LDYgQEAKICAgICBQeV9JTkNSRUYoUHlfTm9uZSk7CiAgICAgcmV0dXJuIFB5X05vbmU7CiB9Ci0KICNlbmRpZiAvKiBIQVZFX1NFVFBHUlAgKi8KIAogI2lmZGVmIEhBVkVfR0VUUFBJRApAQCAtNjQ5OSwxNCArODgwMyw0MCBAQAogfQogI2VuZGlmIC8qTVNfV0lORE9XUyovCiAKLVB5RG9jX1NUUlZBUihwb3NpeF9nZXRwcGlkX19kb2NfXywKLSJnZXRwcGlkKCkgLT4gcHBpZFxuXG5cCi1SZXR1cm4gdGhlIHBhcmVudCdzIHByb2Nlc3MgaWQuICBJZiB0aGUgcGFyZW50IHByb2Nlc3MgaGFzIGFscmVhZHkgZXhpdGVkLFxuXAotV2luZG93cyBtYWNoaW5lcyB3aWxsIHN0aWxsIHJldHVybiBpdHMgaWQ7IG90aGVycyBzeXN0ZW1zIHdpbGwgcmV0dXJuIHRoZSBpZFxuXAotb2YgdGhlICdpbml0JyBwcm9jZXNzICgxKS4iKTsKKworLypbY2xpbmljIGlucHV0XQorb3MuZ2V0cHBpZAorCitSZXR1cm4gdGhlIHBhcmVudCdzIHByb2Nlc3MgaWQuCisKK0lmIHRoZSBwYXJlbnQgcHJvY2VzcyBoYXMgYWxyZWFkeSBleGl0ZWQsIFdpbmRvd3MgbWFjaGluZXMgd2lsbCBzdGlsbAorcmV0dXJuIGl0cyBpZDsgb3RoZXJzIHN5c3RlbXMgd2lsbCByZXR1cm4gdGhlIGlkIG9mIHRoZSAnaW5pdCcgcHJvY2VzcyAoMSkuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19nZXRwcGlkX19kb2NfXywKKyJnZXRwcGlkKCRtb2R1bGUsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJSZXR1cm4gdGhlIHBhcmVudFwncyBwcm9jZXNzIGlkLlxuIgorIlxuIgorIklmIHRoZSBwYXJlbnQgcHJvY2VzcyBoYXMgYWxyZWFkeSBleGl0ZWQsIFdpbmRvd3MgbWFjaGluZXMgd2lsbCBzdGlsbFxuIgorInJldHVybiBpdHMgaWQ7IG90aGVycyBzeXN0ZW1zIHdpbGwgcmV0dXJuIHRoZSBpZCBvZiB0aGUgXCdpbml0XCcgcHJvY2VzcyAoMSkuIik7CisKKyNkZWZpbmUgT1NfR0VUUFBJRF9NRVRIT0RERUYgICAgXAorICAgIHsiZ2V0cHBpZCIsIChQeUNGdW5jdGlvbilvc19nZXRwcGlkLCBNRVRIX05PQVJHUywgb3NfZ2V0cHBpZF9fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfZ2V0cHBpZChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKm5vYXJncykKK29zX2dldHBwaWRfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX2dldHBwaWQoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKlB5X1VOVVNFRChpZ25vcmVkKSkKK3sKKyAgICByZXR1cm4gb3NfZ2V0cHBpZF9pbXBsKG1vZHVsZSk7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19nZXRwcGlkX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD05ZmYzYjM4Nzc4MWVkZjNhIGlucHV0PWU2MzdjYjg3NTM5YzAzMGVdKi8KIHsKICNpZmRlZiBNU19XSU5ET1dTCiAgICAgcmV0dXJuIHdpbjMyX2dldHBwaWQoKTsKQEAgLTY1MTgsMTIgKzg4NDgsMzMgQEAKIAogCiAjaWZkZWYgSEFWRV9HRVRMT0dJTgotUHlEb2NfU1RSVkFSKHBvc2l4X2dldGxvZ2luX19kb2NfXywKLSJnZXRsb2dpbigpIC0+IHN0cmluZ1xuXG5cCi1SZXR1cm4gdGhlIGFjdHVhbCBsb2dpbiBuYW1lLiIpOworLypbY2xpbmljIGlucHV0XQorb3MuZ2V0bG9naW4KKworUmV0dXJuIHRoZSBhY3R1YWwgbG9naW4gbmFtZS4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX2dldGxvZ2luX19kb2NfXywKKyJnZXRsb2dpbigkbW9kdWxlLCAvKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJuIHRoZSBhY3R1YWwgbG9naW4gbmFtZS4iKTsKKworI2RlZmluZSBPU19HRVRMT0dJTl9NRVRIT0RERUYgICAgXAorICAgIHsiZ2V0bG9naW4iLCAoUHlDRnVuY3Rpb24pb3NfZ2V0bG9naW4sIE1FVEhfTk9BUkdTLCBvc19nZXRsb2dpbl9fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfZ2V0bG9naW4oUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpub2FyZ3MpCitvc19nZXRsb2dpbl9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUpOworCitzdGF0aWMgUHlPYmplY3QgKgorb3NfZ2V0bG9naW4oUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKlB5X1VOVVNFRChpZ25vcmVkKSkKK3sKKyAgICByZXR1cm4gb3NfZ2V0bG9naW5faW1wbChtb2R1bGUpOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorb3NfZ2V0bG9naW5faW1wbChQeU1vZHVsZURlZiAqbW9kdWxlKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWFiNjIxMWRhYjEwNGNiYjIgaW5wdXQ9MmEyMWFiMWU5MTcxNjNkZl0qLwogewogICAgIFB5T2JqZWN0ICpyZXN1bHQgPSBOVUxMOwogI2lmZGVmIE1TX1dJTkRPV1MKQEAgLTY1NTYsNzcgKzg5MDcsMTAxIEBACiB9CiAjZW5kaWYgLyogSEFWRV9HRVRMT0dJTiAqLwogCisKICNpZmRlZiBIQVZFX0dFVFVJRAotUHlEb2NfU1RSVkFSKHBvc2l4X2dldHVpZF9fZG9jX18sCi0iZ2V0dWlkKCkgLT4gdWlkXG5cblwKLVJldHVybiB0aGUgY3VycmVudCBwcm9jZXNzJ3MgdXNlciBpZC4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK29zLmdldHVpZAorCitSZXR1cm4gdGhlIGN1cnJlbnQgcHJvY2VzcydzIHVzZXIgaWQuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19nZXR1aWRfX2RvY19fLAorImdldHVpZCgkbW9kdWxlLCAvKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJuIHRoZSBjdXJyZW50IHByb2Nlc3NcJ3MgdXNlciBpZC4iKTsKKworI2RlZmluZSBPU19HRVRVSURfTUVUSE9EREVGICAgIFwKKyAgICB7ImdldHVpZCIsIChQeUNGdW5jdGlvbilvc19nZXR1aWQsIE1FVEhfTk9BUkdTLCBvc19nZXR1aWRfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X2dldHVpZChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKm5vYXJncykKK29zX2dldHVpZF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUpOworCitzdGF0aWMgUHlPYmplY3QgKgorb3NfZ2V0dWlkKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICpQeV9VTlVTRUQoaWdub3JlZCkpCit7CisgICAgcmV0dXJuIG9zX2dldHVpZF9pbXBsKG1vZHVsZSk7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19nZXR1aWRfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTc3ZTBkY2YyZTM3ZDFlODkgaW5wdXQ9YjUzYzhiMzVmMTEwYTUxNl0qLwogewogICAgIHJldHVybiBfUHlMb25nX0Zyb21VaWQoZ2V0dWlkKCkpOwogfQotI2VuZGlmCisjZW5kaWYgLyogSEFWRV9HRVRVSUQgKi8KIAogCi0jaWZkZWYgSEFWRV9LSUxMCi1QeURvY19TVFJWQVIocG9zaXhfa2lsbF9fZG9jX18sCi0ia2lsbChwaWQsIHNpZylcblxuXAotS2lsbCBhIHByb2Nlc3Mgd2l0aCBhIHNpZ25hbC4iKTsKLQotc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X2tpbGwoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQotewotICAgIHBpZF90IHBpZDsKLSAgICBpbnQgc2lnOwotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCBfUHlfUEFSU0VfUElEICJpOmtpbGwiLCAmcGlkLCAmc2lnKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgaWYgKGtpbGwocGlkLCBzaWcpID09IC0xKQotICAgICAgICByZXR1cm4gcG9zaXhfZXJyb3IoKTsKLSAgICBQeV9JTkNSRUYoUHlfTm9uZSk7Ci0gICAgcmV0dXJuIFB5X05vbmU7Ci19Ci0jZW5kaWYKLQotI2lmZGVmIEhBVkVfS0lMTFBHCi1QeURvY19TVFJWQVIocG9zaXhfa2lsbHBnX19kb2NfXywKLSJraWxscGcocGdpZCwgc2lnKVxuXG5cCi1LaWxsIGEgcHJvY2VzcyBncm91cCB3aXRoIGEgc2lnbmFsLiIpOwotCi1zdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfa2lsbHBnKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKLXsKLSAgICBpbnQgc2lnOwotICAgIHBpZF90IHBnaWQ7Ci0gICAgLyogWFhYIHNvbWUgbWFuIHBhZ2VzIG1ha2UgdGhlIGBwZ2lkYCBwYXJhbWV0ZXIgYW4gaW50LCBvdGhlcnMKLSAgICAgICBhIHBpZF90LiBTaW5jZSBnZXRwZ3JwKCkgcmV0dXJucyBhIHBpZF90LCB3ZSBhc3N1bWUga2lsbHBnIHNob3VsZAotICAgICAgIHRha2UgdGhlIHNhbWUgdHlwZS4gTW9yZW92ZXIsIHBpZF90IGlzIGFsd2F5cyBhdCBsZWFzdCBhcyB3aWRlIGFzCi0gICAgICAgaW50IChlbHNlIGNvbXBpbGF0aW9uIG9mIHRoaXMgbW9kdWxlIGZhaWxzKSwgd2hpY2ggaXMgc2FmZS4gKi8KLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgX1B5X1BBUlNFX1BJRCAiaTpraWxscGciLCAmcGdpZCwgJnNpZykpCi0gICAgICAgIHJldHVybiBOVUxMOwotICAgIGlmIChraWxscGcocGdpZCwgc2lnKSA9PSAtMSkKLSAgICAgICAgcmV0dXJuIHBvc2l4X2Vycm9yKCk7Ci0gICAgUHlfSU5DUkVGKFB5X05vbmUpOwotICAgIHJldHVybiBQeV9Ob25lOwotfQotI2VuZGlmCi0KICNpZmRlZiBNU19XSU5ET1dTCi1QeURvY19TVFJWQVIod2luMzJfa2lsbF9fZG9jX18sCi0ia2lsbChwaWQsIHNpZylcblxuXAotS2lsbCBhIHByb2Nlc3Mgd2l0aCBhIHNpZ25hbC4iKTsKKyNkZWZpbmUgSEFWRV9LSUxMCisjZW5kaWYgLyogTVNfV0lORE9XUyAqLworCisjaWZkZWYgSEFWRV9LSUxMCisvKltjbGluaWMgaW5wdXRdCitvcy5raWxsCisKKyAgICBwaWQ6IHBpZF90CisgICAgc2lnbmFsOiBQeV9zc2l6ZV90CisgICAgLworCitLaWxsIGEgcHJvY2VzcyB3aXRoIGEgc2lnbmFsLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3Nfa2lsbF9fZG9jX18sCisia2lsbCgkbW9kdWxlLCBwaWQsIHNpZ25hbCwgLylcbiIKKyItLVxuIgorIlxuIgorIktpbGwgYSBwcm9jZXNzIHdpdGggYSBzaWduYWwuIik7CisKKyNkZWZpbmUgT1NfS0lMTF9NRVRIT0RERUYgICAgXAorICAgIHsia2lsbCIsIChQeUNGdW5jdGlvbilvc19raWxsLCBNRVRIX1ZBUkFSR1MsIG9zX2tpbGxfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLXdpbjMyX2tpbGwoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQorb3Nfa2lsbF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIHBpZF90IHBpZCwgUHlfc3NpemVfdCBzaWduYWwpOworCitzdGF0aWMgUHlPYmplY3QgKgorb3Nfa2lsbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncykKK3sKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBwaWRfdCBwaWQ7CisgICAgUHlfc3NpemVfdCBzaWduYWw7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgIiIgX1B5X1BBUlNFX1BJRCAibjpraWxsIiwKKyAgICAgICAgJnBpZCwgJnNpZ25hbCkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBvc19raWxsX2ltcGwobW9kdWxlLCBwaWQsIHNpZ25hbCk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK29zX2tpbGxfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBwaWRfdCBwaWQsIFB5X3NzaXplX3Qgc2lnbmFsKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTJmNWM3NzkyMGVkNTc1ZTYgaW5wdXQ9NjFhMzZiODZjYTI3NWFiOV0qLworI2lmbmRlZiBNU19XSU5ET1dTCit7CisgICAgaWYgKGtpbGwocGlkLCAoaW50KXNpZ25hbCkgPT0gLTEpCisgICAgICAgIHJldHVybiBwb3NpeF9lcnJvcigpOworICAgIFB5X1JFVFVSTl9OT05FOworfQorI2Vsc2UgLyogIU1TX1dJTkRPV1MgKi8KIHsKICAgICBQeU9iamVjdCAqcmVzdWx0OwotICAgIHBpZF90IHBpZDsKLSAgICBEV09SRCBzaWcsIGVycjsKKyAgICBEV09SRCBzaWcgPSAoRFdPUkQpc2lnbmFsOworICAgIERXT1JEIGVycjsKICAgICBIQU5ETEUgaGFuZGxlOwogCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsIF9QeV9QQVJTRV9QSUQgIms6a2lsbCIsICZwaWQsICZzaWcpKQotICAgICAgICByZXR1cm4gTlVMTDsKLQogICAgIC8qIENvbnNvbGUgcHJvY2Vzc2VzIHdoaWNoIHNoYXJlIGEgY29tbW9uIGNvbnNvbGUgY2FuIGJlIHNlbnQgQ1RSTCtDIG9yCiAgICAgICAgQ1RSTCtCUkVBSyBldmVudHMsIHByb3ZpZGVkIHRoZXkgaGFuZGxlIHNhaWQgZXZlbnRzLiAqLwogICAgIGlmIChzaWcgPT0gQ1RSTF9DX0VWRU5UIHx8IHNpZyA9PSBDVFJMX0JSRUFLX0VWRU5UKSB7CkBAIC02NjU3LDEwMyArOTAzMiwzMDggQEAKICAgICBDbG9zZUhhbmRsZShoYW5kbGUpOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci0jZW5kaWYgLyogTVNfV0lORE9XUyAqLworI2VuZGlmIC8qICFNU19XSU5ET1dTICovCisjZW5kaWYgLyogSEFWRV9LSUxMICovCisKKworI2lmZGVmIEhBVkVfS0lMTFBHCisvKltjbGluaWMgaW5wdXRdCitvcy5raWxscGcKKworICAgIHBnaWQ6IHBpZF90CisgICAgc2lnbmFsOiBpbnQKKyAgICAvCisKK0tpbGwgYSBwcm9jZXNzIGdyb3VwIHdpdGggYSBzaWduYWwuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19raWxscGdfX2RvY19fLAorImtpbGxwZygkbW9kdWxlLCBwZ2lkLCBzaWduYWwsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJLaWxsIGEgcHJvY2VzcyBncm91cCB3aXRoIGEgc2lnbmFsLiIpOworCisjZGVmaW5lIE9TX0tJTExQR19NRVRIT0RERUYgICAgXAorICAgIHsia2lsbHBnIiwgKFB5Q0Z1bmN0aW9uKW9zX2tpbGxwZywgTUVUSF9WQVJBUkdTLCBvc19raWxscGdfX2RvY19ffSwKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX2tpbGxwZ19pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIHBpZF90IHBnaWQsIGludCBzaWduYWwpOworCitzdGF0aWMgUHlPYmplY3QgKgorb3Nfa2lsbHBnKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzKQoreworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIHBpZF90IHBnaWQ7CisgICAgaW50IHNpZ25hbDsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAiIiBfUHlfUEFSU0VfUElEICJpOmtpbGxwZyIsCisgICAgICAgICZwZ2lkLCAmc2lnbmFsKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IG9zX2tpbGxwZ19pbXBsKG1vZHVsZSwgcGdpZCwgc2lnbmFsKTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorb3Nfa2lsbHBnX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgcGlkX3QgcGdpZCwgaW50IHNpZ25hbCkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD0wZTA1MjE1ZDFjMDA3ZTAxIGlucHV0PTM4YjU0NDllYjhmYWVjMTldKi8KK3sKKyAgICAvKiBYWFggc29tZSBtYW4gcGFnZXMgbWFrZSB0aGUgYHBnaWRgIHBhcmFtZXRlciBhbiBpbnQsIG90aGVycworICAgICAgIGEgcGlkX3QuIFNpbmNlIGdldHBncnAoKSByZXR1cm5zIGEgcGlkX3QsIHdlIGFzc3VtZSBraWxscGcgc2hvdWxkCisgICAgICAgdGFrZSB0aGUgc2FtZSB0eXBlLiBNb3Jlb3ZlciwgcGlkX3QgaXMgYWx3YXlzIGF0IGxlYXN0IGFzIHdpZGUgYXMKKyAgICAgICBpbnQgKGVsc2UgY29tcGlsYXRpb24gb2YgdGhpcyBtb2R1bGUgZmFpbHMpLCB3aGljaCBpcyBzYWZlLiAqLworICAgIGlmIChraWxscGcocGdpZCwgc2lnbmFsKSA9PSAtMSkKKyAgICAgICAgcmV0dXJuIHBvc2l4X2Vycm9yKCk7CisgICAgUHlfUkVUVVJOX05PTkU7Cit9CisjZW5kaWYgLyogSEFWRV9LSUxMUEcgKi8KKwogCiAjaWZkZWYgSEFWRV9QTE9DSwotCiAjaWZkZWYgSEFWRV9TWVNfTE9DS19ICiAjaW5jbHVkZSA8c3lzL2xvY2suaD4KICNlbmRpZgogCi1QeURvY19TVFJWQVIocG9zaXhfcGxvY2tfX2RvY19fLAotInBsb2NrKG9wKVxuXG5cCisvKltjbGluaWMgaW5wdXRdCitvcy5wbG9jaworICAgIG9wOiBpbnQKKyAgICAvCisKIExvY2sgcHJvZ3JhbSBzZWdtZW50cyBpbnRvIG1lbW9yeS4iKTsKK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX3Bsb2NrX19kb2NfXywKKyJwbG9jaygkbW9kdWxlLCBvcCwgLylcbiIKKyItLVxuIgorIlxuIgorIkxvY2sgcHJvZ3JhbSBzZWdtZW50cyBpbnRvIG1lbW9yeS5cIik7Iik7CisKKyNkZWZpbmUgT1NfUExPQ0tfTUVUSE9EREVGICAgIFwKKyAgICB7InBsb2NrIiwgKFB5Q0Z1bmN0aW9uKW9zX3Bsb2NrLCBNRVRIX1ZBUkFSR1MsIG9zX3Bsb2NrX19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF9wbG9jayhQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCitvc19wbG9ja19pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGludCBvcCk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19wbG9jayhQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncykKIHsKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKICAgICBpbnQgb3A7Ci0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJpOnBsb2NrIiwgJm9wKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgImk6cGxvY2siLAorICAgICAgICAmb3ApKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gb3NfcGxvY2tfaW1wbChtb2R1bGUsIG9wKTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorb3NfcGxvY2tfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBpbnQgb3ApCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9Mjc0NGZlNGI2ZTVmNGRiYyBpbnB1dD1lNmU1ZTM0OGUxNTI1ZjYwXSovCit7CiAgICAgaWYgKHBsb2NrKG9wKSA9PSAtMSkKICAgICAgICAgcmV0dXJuIHBvc2l4X2Vycm9yKCk7Ci0gICAgUHlfSU5DUkVGKFB5X05vbmUpOwotICAgIHJldHVybiBQeV9Ob25lOworICAgIFB5X1JFVFVSTl9OT05FOwogfQotI2VuZGlmCisjZW5kaWYgLyogSEFWRV9QTE9DSyAqLworCiAKICNpZmRlZiBIQVZFX1NFVFVJRAotUHlEb2NfU1RSVkFSKHBvc2l4X3NldHVpZF9fZG9jX18sCi0ic2V0dWlkKHVpZClcblxuXAotU2V0IHRoZSBjdXJyZW50IHByb2Nlc3MncyB1c2VyIGlkLiIpOworLypbY2xpbmljIGlucHV0XQorb3Muc2V0dWlkCisKKyAgICB1aWQ6IHVpZF90CisgICAgLworCitTZXQgdGhlIGN1cnJlbnQgcHJvY2VzcydzIHVzZXIgaWQuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19zZXR1aWRfX2RvY19fLAorInNldHVpZCgkbW9kdWxlLCB1aWQsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJTZXQgdGhlIGN1cnJlbnQgcHJvY2Vzc1wncyB1c2VyIGlkLiIpOworCisjZGVmaW5lIE9TX1NFVFVJRF9NRVRIT0RERUYgICAgXAorICAgIHsic2V0dWlkIiwgKFB5Q0Z1bmN0aW9uKW9zX3NldHVpZCwgTUVUSF9WQVJBUkdTLCBvc19zZXR1aWRfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X3NldHVpZChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCitvc19zZXR1aWRfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCB1aWRfdCB1aWQpOworCitzdGF0aWMgUHlPYmplY3QgKgorb3Nfc2V0dWlkKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzKQogeworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOwogICAgIHVpZF90IHVpZDsKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgIk8mOnNldHVpZCIsIF9QeV9VaWRfQ29udmVydGVyLCAmdWlkKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgIk8mOnNldHVpZCIsCisgICAgICAgIF9QeV9VaWRfQ29udmVydGVyLCAmdWlkKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IG9zX3NldHVpZF9pbXBsKG1vZHVsZSwgdWlkKTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorb3Nfc2V0dWlkX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgdWlkX3QgdWlkKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWFlYTM0NGJjMjJjY2Y0MDAgaW5wdXQ9YzkyMWEzMjg1YWEyMjI1Nl0qLworewogICAgIGlmIChzZXR1aWQodWlkKSA8IDApCiAgICAgICAgIHJldHVybiBwb3NpeF9lcnJvcigpOwotICAgIFB5X0lOQ1JFRihQeV9Ob25lKTsKLSAgICByZXR1cm4gUHlfTm9uZTsKKyAgICBQeV9SRVRVUk5fTk9ORTsKIH0KICNlbmRpZiAvKiBIQVZFX1NFVFVJRCAqLwogCiAKICNpZmRlZiBIQVZFX1NFVEVVSUQKLVB5RG9jX1NUUlZBUihwb3NpeF9zZXRldWlkX19kb2NfXywKLSJzZXRldWlkKHVpZClcblxuXAotU2V0IHRoZSBjdXJyZW50IHByb2Nlc3MncyBlZmZlY3RpdmUgdXNlciBpZC4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK29zLnNldGV1aWQKKworICAgIGV1aWQ6IHVpZF90CisgICAgLworCitTZXQgdGhlIGN1cnJlbnQgcHJvY2VzcydzIGVmZmVjdGl2ZSB1c2VyIGlkLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3Nfc2V0ZXVpZF9fZG9jX18sCisic2V0ZXVpZCgkbW9kdWxlLCBldWlkLCAvKVxuIgorIi0tXG4iCisiXG4iCisiU2V0IHRoZSBjdXJyZW50IHByb2Nlc3NcJ3MgZWZmZWN0aXZlIHVzZXIgaWQuIik7CisKKyNkZWZpbmUgT1NfU0VURVVJRF9NRVRIT0RERUYgICAgXAorICAgIHsic2V0ZXVpZCIsIChQeUNGdW5jdGlvbilvc19zZXRldWlkLCBNRVRIX1ZBUkFSR1MsIG9zX3NldGV1aWRfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X3NldGV1aWQgKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK29zX3NldGV1aWRfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCB1aWRfdCBldWlkKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX3NldGV1aWQoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MpCiB7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CiAgICAgdWlkX3QgZXVpZDsKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgIk8mOnNldGV1aWQiLCBfUHlfVWlkX0NvbnZlcnRlciwgJmV1aWQpKQotICAgICAgICByZXR1cm4gTlVMTDsKLSAgICBpZiAoc2V0ZXVpZChldWlkKSA8IDApIHsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAiTyY6c2V0ZXVpZCIsCisgICAgICAgIF9QeV9VaWRfQ29udmVydGVyLCAmZXVpZCkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBvc19zZXRldWlkX2ltcGwobW9kdWxlLCBldWlkKTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorb3Nfc2V0ZXVpZF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIHVpZF90IGV1aWQpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9NmU4MjRjY2U0ZjNiOGE1ZCBpbnB1dD1iYTkzZDkyN2U0NzgxYWE5XSovCit7CisgICAgaWYgKHNldGV1aWQoZXVpZCkgPCAwKQogICAgICAgICByZXR1cm4gcG9zaXhfZXJyb3IoKTsKLSAgICB9IGVsc2UgewotICAgICAgICBQeV9JTkNSRUYoUHlfTm9uZSk7Ci0gICAgICAgIHJldHVybiBQeV9Ob25lOwotICAgIH0KKyAgICBQeV9SRVRVUk5fTk9ORTsKIH0KICNlbmRpZiAvKiBIQVZFX1NFVEVVSUQgKi8KIAorCiAjaWZkZWYgSEFWRV9TRVRFR0lECi1QeURvY19TVFJWQVIocG9zaXhfc2V0ZWdpZF9fZG9jX18sCi0ic2V0ZWdpZChnaWQpXG5cblwKLVNldCB0aGUgY3VycmVudCBwcm9jZXNzJ3MgZWZmZWN0aXZlIGdyb3VwIGlkLiIpOworLypbY2xpbmljIGlucHV0XQorb3Muc2V0ZWdpZAorCisgICAgZWdpZDogZ2lkX3QKKyAgICAvCisKK1NldCB0aGUgY3VycmVudCBwcm9jZXNzJ3MgZWZmZWN0aXZlIGdyb3VwIGlkLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3Nfc2V0ZWdpZF9fZG9jX18sCisic2V0ZWdpZCgkbW9kdWxlLCBlZ2lkLCAvKVxuIgorIi0tXG4iCisiXG4iCisiU2V0IHRoZSBjdXJyZW50IHByb2Nlc3NcJ3MgZWZmZWN0aXZlIGdyb3VwIGlkLiIpOworCisjZGVmaW5lIE9TX1NFVEVHSURfTUVUSE9EREVGICAgIFwKKyAgICB7InNldGVnaWQiLCAoUHlDRnVuY3Rpb24pb3Nfc2V0ZWdpZCwgTUVUSF9WQVJBUkdTLCBvc19zZXRlZ2lkX19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF9zZXRlZ2lkIChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCitvc19zZXRlZ2lkX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgZ2lkX3QgZWdpZCk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19zZXRlZ2lkKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzKQogeworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOwogICAgIGdpZF90IGVnaWQ7Ci0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJPJjpzZXRlZ2lkIiwgX1B5X0dpZF9Db252ZXJ0ZXIsICZlZ2lkKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgaWYgKHNldGVnaWQoZWdpZCkgPCAwKSB7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgIk8mOnNldGVnaWQiLAorICAgICAgICBfUHlfR2lkX0NvbnZlcnRlciwgJmVnaWQpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gb3Nfc2V0ZWdpZF9pbXBsKG1vZHVsZSwgZWdpZCk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK29zX3NldGVnaWRfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBnaWRfdCBlZ2lkKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTgwYTMyMjYzYTRkNTZhOWMgaW5wdXQ9NDA4MDUyNmQwY2NkNmNlM10qLworeworICAgIGlmIChzZXRlZ2lkKGVnaWQpIDwgMCkKICAgICAgICAgcmV0dXJuIHBvc2l4X2Vycm9yKCk7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgUHlfSU5DUkVGKFB5X05vbmUpOwotICAgICAgICByZXR1cm4gUHlfTm9uZTsKLSAgICB9CisgICAgUHlfUkVUVVJOX05PTkU7CiB9CiAjZW5kaWYgLyogSEFWRV9TRVRFR0lEICovCiAKKwogI2lmZGVmIEhBVkVfU0VUUkVVSUQKLVB5RG9jX1NUUlZBUihwb3NpeF9zZXRyZXVpZF9fZG9jX18sCi0ic2V0cmV1aWQocnVpZCwgZXVpZClcblxuXAotU2V0IHRoZSBjdXJyZW50IHByb2Nlc3MncyByZWFsIGFuZCBlZmZlY3RpdmUgdXNlciBpZHMuIik7CisvKltjbGluaWMgaW5wdXRdCitvcy5zZXRyZXVpZAorCisgICAgcnVpZDogdWlkX3QKKyAgICBldWlkOiB1aWRfdAorICAgIC8KKworU2V0IHRoZSBjdXJyZW50IHByb2Nlc3MncyByZWFsIGFuZCBlZmZlY3RpdmUgdXNlciBpZHMuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19zZXRyZXVpZF9fZG9jX18sCisic2V0cmV1aWQoJG1vZHVsZSwgcnVpZCwgZXVpZCwgLylcbiIKKyItLVxuIgorIlxuIgorIlNldCB0aGUgY3VycmVudCBwcm9jZXNzXCdzIHJlYWwgYW5kIGVmZmVjdGl2ZSB1c2VyIGlkcy4iKTsKKworI2RlZmluZSBPU19TRVRSRVVJRF9NRVRIT0RERUYgICAgXAorICAgIHsic2V0cmV1aWQiLCAoUHlDRnVuY3Rpb24pb3Nfc2V0cmV1aWQsIE1FVEhfVkFSQVJHUywgb3Nfc2V0cmV1aWRfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X3NldHJldWlkIChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCitvc19zZXRyZXVpZF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIHVpZF90IHJ1aWQsIHVpZF90IGV1aWQpOworCitzdGF0aWMgUHlPYmplY3QgKgorb3Nfc2V0cmV1aWQoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MpCiB7Ci0gICAgdWlkX3QgcnVpZCwgZXVpZDsKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgIk8mTyY6c2V0cmV1aWQiLAotICAgICAgICAgICAgICAgICAgICAgICAgICBfUHlfVWlkX0NvbnZlcnRlciwgJnJ1aWQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIF9QeV9VaWRfQ29udmVydGVyLCAmZXVpZCkpCi0gICAgICAgIHJldHVybiBOVUxMOworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIHVpZF90IHJ1aWQ7CisgICAgdWlkX3QgZXVpZDsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAiTyZPJjpzZXRyZXVpZCIsCisgICAgICAgIF9QeV9VaWRfQ29udmVydGVyLCAmcnVpZCwgX1B5X1VpZF9Db252ZXJ0ZXIsICZldWlkKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IG9zX3NldHJldWlkX2ltcGwobW9kdWxlLCBydWlkLCBldWlkKTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorb3Nfc2V0cmV1aWRfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCB1aWRfdCBydWlkLCB1aWRfdCBldWlkKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWQ3ZjIyNmY5NDNkYWQ3MzkgaW5wdXQ9MGNhODk3OGRlNjYzODgwY10qLworewogICAgIGlmIChzZXRyZXVpZChydWlkLCBldWlkKSA8IDApIHsKICAgICAgICAgcmV0dXJuIHBvc2l4X2Vycm9yKCk7CiAgICAgfSBlbHNlIHsKQEAgLTY3NjMsNTMgKzkzNDMsMTI4IEBACiB9CiAjZW5kaWYgLyogSEFWRV9TRVRSRVVJRCAqLwogCisKICNpZmRlZiBIQVZFX1NFVFJFR0lECi1QeURvY19TVFJWQVIocG9zaXhfc2V0cmVnaWRfX2RvY19fLAotInNldHJlZ2lkKHJnaWQsIGVnaWQpXG5cblwKLVNldCB0aGUgY3VycmVudCBwcm9jZXNzJ3MgcmVhbCBhbmQgZWZmZWN0aXZlIGdyb3VwIGlkcy4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK29zLnNldHJlZ2lkCisKKyAgICByZ2lkOiBnaWRfdAorICAgIGVnaWQ6IGdpZF90CisgICAgLworCitTZXQgdGhlIGN1cnJlbnQgcHJvY2VzcydzIHJlYWwgYW5kIGVmZmVjdGl2ZSBncm91cCBpZHMuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19zZXRyZWdpZF9fZG9jX18sCisic2V0cmVnaWQoJG1vZHVsZSwgcmdpZCwgZWdpZCwgLylcbiIKKyItLVxuIgorIlxuIgorIlNldCB0aGUgY3VycmVudCBwcm9jZXNzXCdzIHJlYWwgYW5kIGVmZmVjdGl2ZSBncm91cCBpZHMuIik7CisKKyNkZWZpbmUgT1NfU0VUUkVHSURfTUVUSE9EREVGICAgIFwKKyAgICB7InNldHJlZ2lkIiwgKFB5Q0Z1bmN0aW9uKW9zX3NldHJlZ2lkLCBNRVRIX1ZBUkFSR1MsIG9zX3NldHJlZ2lkX19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF9zZXRyZWdpZCAoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQorb3Nfc2V0cmVnaWRfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBnaWRfdCByZ2lkLCBnaWRfdCBlZ2lkKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX3NldHJlZ2lkKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzKQogewotICAgIGdpZF90IHJnaWQsIGVnaWQ7Ci0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJPJk8mOnNldHJlZ2lkIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgX1B5X0dpZF9Db252ZXJ0ZXIsICZyZ2lkLAotICAgICAgICAgICAgICAgICAgICAgICAgICBfUHlfR2lkX0NvbnZlcnRlciwgJmVnaWQpKQotICAgICAgICByZXR1cm4gTlVMTDsKLSAgICBpZiAoc2V0cmVnaWQocmdpZCwgZWdpZCkgPCAwKSB7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgZ2lkX3QgcmdpZDsKKyAgICBnaWRfdCBlZ2lkOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCisgICAgICAgICJPJk8mOnNldHJlZ2lkIiwKKyAgICAgICAgX1B5X0dpZF9Db252ZXJ0ZXIsICZyZ2lkLCBfUHlfR2lkX0NvbnZlcnRlciwgJmVnaWQpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gb3Nfc2V0cmVnaWRfaW1wbChtb2R1bGUsIHJnaWQsIGVnaWQpOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19zZXRyZWdpZF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGdpZF90IHJnaWQsIGdpZF90IGVnaWQpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9YTgyZDlhYjcwZjhlNjU2MiBpbnB1dD1jNTk0OTlmNzI4NDZkYjc4XSovCit7CisgICAgaWYgKHNldHJlZ2lkKHJnaWQsIGVnaWQpIDwgMCkKICAgICAgICAgcmV0dXJuIHBvc2l4X2Vycm9yKCk7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgUHlfSU5DUkVGKFB5X05vbmUpOwotICAgICAgICByZXR1cm4gUHlfTm9uZTsKLSAgICB9CisgICAgUHlfUkVUVVJOX05PTkU7CiB9CiAjZW5kaWYgLyogSEFWRV9TRVRSRUdJRCAqLwogCisKICNpZmRlZiBIQVZFX1NFVEdJRAotUHlEb2NfU1RSVkFSKHBvc2l4X3NldGdpZF9fZG9jX18sCi0ic2V0Z2lkKGdpZClcblxuXAotU2V0IHRoZSBjdXJyZW50IHByb2Nlc3MncyBncm91cCBpZC4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK29zLnNldGdpZAorICAgIGdpZDogZ2lkX3QKKyAgICAvCisKK1NldCB0aGUgY3VycmVudCBwcm9jZXNzJ3MgZ3JvdXAgaWQuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19zZXRnaWRfX2RvY19fLAorInNldGdpZCgkbW9kdWxlLCBnaWQsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJTZXQgdGhlIGN1cnJlbnQgcHJvY2Vzc1wncyBncm91cCBpZC4iKTsKKworI2RlZmluZSBPU19TRVRHSURfTUVUSE9EREVGICAgIFwKKyAgICB7InNldGdpZCIsIChQeUNGdW5jdGlvbilvc19zZXRnaWQsIE1FVEhfVkFSQVJHUywgb3Nfc2V0Z2lkX19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF9zZXRnaWQoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQorb3Nfc2V0Z2lkX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgZ2lkX3QgZ2lkKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX3NldGdpZChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncykKIHsKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKICAgICBnaWRfdCBnaWQ7Ci0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJPJjpzZXRnaWQiLCBfUHlfR2lkX0NvbnZlcnRlciwgJmdpZCkpCi0gICAgICAgIHJldHVybiBOVUxMOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCisgICAgICAgICJPJjpzZXRnaWQiLAorICAgICAgICBfUHlfR2lkX0NvbnZlcnRlciwgJmdpZCkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBvc19zZXRnaWRfaW1wbChtb2R1bGUsIGdpZCk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK29zX3NldGdpZF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGdpZF90IGdpZCkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD0wODI4Nzg4NmRiNDM1ZjIzIGlucHV0PTI3ZDMwYzQwNTkwNDVkYzZdKi8KK3sKICAgICBpZiAoc2V0Z2lkKGdpZCkgPCAwKQogICAgICAgICByZXR1cm4gcG9zaXhfZXJyb3IoKTsKLSAgICBQeV9JTkNSRUYoUHlfTm9uZSk7Ci0gICAgcmV0dXJuIFB5X05vbmU7CisgICAgUHlfUkVUVVJOX05PTkU7CiB9CiAjZW5kaWYgLyogSEFWRV9TRVRHSUQgKi8KIAorCiAjaWZkZWYgSEFWRV9TRVRHUk9VUFMKLVB5RG9jX1NUUlZBUihwb3NpeF9zZXRncm91cHNfX2RvY19fLAotInNldGdyb3VwcyhsaXN0KVxuXG5cCi1TZXQgdGhlIGdyb3VwcyBvZiB0aGUgY3VycmVudCBwcm9jZXNzIHRvIGxpc3QuIik7CisvKltjbGluaWMgaW5wdXRdCitvcy5zZXRncm91cHMKKworICAgIGdyb3Vwczogb2JqZWN0CisgICAgLworCitTZXQgdGhlIGdyb3VwcyBvZiB0aGUgY3VycmVudCBwcm9jZXNzIHRvIGxpc3QuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19zZXRncm91cHNfX2RvY19fLAorInNldGdyb3VwcygkbW9kdWxlLCBncm91cHMsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJTZXQgdGhlIGdyb3VwcyBvZiB0aGUgY3VycmVudCBwcm9jZXNzIHRvIGxpc3QuIik7CisKKyNkZWZpbmUgT1NfU0VUR1JPVVBTX01FVEhPRERFRiAgICBcCisgICAgeyJzZXRncm91cHMiLCAoUHlDRnVuY3Rpb24pb3Nfc2V0Z3JvdXBzLCBNRVRIX08sIG9zX3NldGdyb3Vwc19fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfc2V0Z3JvdXBzKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqZ3JvdXBzKQorb3Nfc2V0Z3JvdXBzKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICpncm91cHMpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9MGI4ZGU2NWQ1YjNjZGE5NCBpbnB1dD1mYTc0MmNhM2RhZjg1YTdlXSovCiB7CiAgICAgaW50IGksIGxlbjsKICAgICBnaWRfdCBncm91cGxpc3RbTUFYX0dST1VQU107CkBAIC02OTEwLDgzICs5NTY1LDIyMCBAQAogfQogI2VuZGlmIC8qIEhBVkVfV0FJVDMgfHwgSEFWRV9XQUlUNCAqLwogCisKICNpZmRlZiBIQVZFX1dBSVQzCi1QeURvY19TVFJWQVIocG9zaXhfd2FpdDNfX2RvY19fLAotIndhaXQzKG9wdGlvbnMpIC0+IChwaWQsIHN0YXR1cywgcnVzYWdlKVxuXG5cCi1XYWl0IGZvciBjb21wbGV0aW9uIG9mIGEgY2hpbGQgcHJvY2Vzcy4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK29zLndhaXQzCisKKyAgICBvcHRpb25zOiBpbnQKK1dhaXQgZm9yIGNvbXBsZXRpb24gb2YgYSBjaGlsZCBwcm9jZXNzLgorCitSZXR1cm5zIGEgdHVwbGUgb2YgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGNoaWxkIHByb2Nlc3M6CisgIChwaWQsIHN0YXR1cywgcnVzYWdlKQorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3Nfd2FpdDNfX2RvY19fLAorIndhaXQzKCRtb2R1bGUsIC8sIG9wdGlvbnMpXG4iCisiLS1cbiIKKyJcbiIKKyJXYWl0IGZvciBjb21wbGV0aW9uIG9mIGEgY2hpbGQgcHJvY2Vzcy5cbiIKKyJcbiIKKyJSZXR1cm5zIGEgdHVwbGUgb2YgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGNoaWxkIHByb2Nlc3M6XG4iCisiICAocGlkLCBzdGF0dXMsIHJ1c2FnZSkiKTsKKworI2RlZmluZSBPU19XQUlUM19NRVRIT0RERUYgICAgXAorICAgIHsid2FpdDMiLCAoUHlDRnVuY3Rpb24pb3Nfd2FpdDMsIE1FVEhfVkFSQVJHU3xNRVRIX0tFWVdPUkRTLCBvc193YWl0M19fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfd2FpdDMoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQorb3Nfd2FpdDNfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBpbnQgb3B0aW9ucyk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc193YWl0MyhQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3YXJncykKK3sKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBzdGF0aWMgY2hhciAqX2tleXdvcmRzW10gPSB7Im9wdGlvbnMiLCBOVUxMfTsKKyAgICBpbnQgb3B0aW9uczsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywKKyAgICAgICAgImk6d2FpdDMiLCBfa2V5d29yZHMsCisgICAgICAgICZvcHRpb25zKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IG9zX3dhaXQzX2ltcGwobW9kdWxlLCBvcHRpb25zKTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorb3Nfd2FpdDNfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBpbnQgb3B0aW9ucykKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD0xZjJhNjNiNmE5M2NiYjU3IGlucHV0PThhYzRjNTY5NTZiNjE3MTBdKi8KIHsKICAgICBwaWRfdCBwaWQ7Ci0gICAgaW50IG9wdGlvbnM7CiAgICAgc3RydWN0IHJ1c2FnZSBydTsKKyAgICBpbnQgYXN5bmNfZXJyID0gMDsKICAgICBXQUlUX1RZUEUgc3RhdHVzOwogICAgIFdBSVRfU1RBVFVTX0lOVChzdGF0dXMpID0gMDsKIAotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiaTp3YWl0MyIsICZvcHRpb25zKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0KLSAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCi0gICAgcGlkID0gd2FpdDMoJnN0YXR1cywgb3B0aW9ucywgJnJ1KTsKLSAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUworICAgIGRvIHsKKyAgICAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUworICAgICAgICBwaWQgPSB3YWl0Mygmc3RhdHVzLCBvcHRpb25zLCAmcnUpOworICAgICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUworICAgIH0gd2hpbGUgKHBpZCA8IDAgJiYgZXJybm8gPT0gRUlOVFIgJiYgIShhc3luY19lcnIgPSBQeUVycl9DaGVja1NpZ25hbHMoKSkpOworICAgIGlmIChwaWQgPCAwKQorICAgICAgICByZXR1cm4gKCFhc3luY19lcnIpID8gcG9zaXhfZXJyb3IoKSA6IE5VTEw7CiAKICAgICByZXR1cm4gd2FpdF9oZWxwZXIocGlkLCBXQUlUX1NUQVRVU19JTlQoc3RhdHVzKSwgJnJ1KTsKIH0KICNlbmRpZiAvKiBIQVZFX1dBSVQzICovCiAKKwogI2lmZGVmIEhBVkVfV0FJVDQKLVB5RG9jX1NUUlZBUihwb3NpeF93YWl0NF9fZG9jX18sCi0id2FpdDQocGlkLCBvcHRpb25zKSAtPiAocGlkLCBzdGF0dXMsIHJ1c2FnZSlcblxuXAotV2FpdCBmb3IgY29tcGxldGlvbiBvZiBhIGdpdmVuIGNoaWxkIHByb2Nlc3MuIik7CisvKltjbGluaWMgaW5wdXRdCisKK29zLndhaXQ0CisKKyAgICBwaWQ6IHBpZF90CisgICAgb3B0aW9uczogaW50CisKK1dhaXQgZm9yIGNvbXBsZXRpb24gb2YgYSBzcGVjaWZpYyBjaGlsZCBwcm9jZXNzLgorCitSZXR1cm5zIGEgdHVwbGUgb2YgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGNoaWxkIHByb2Nlc3M6CisgIChwaWQsIHN0YXR1cywgcnVzYWdlKQorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3Nfd2FpdDRfX2RvY19fLAorIndhaXQ0KCRtb2R1bGUsIC8sIHBpZCwgb3B0aW9ucylcbiIKKyItLVxuIgorIlxuIgorIldhaXQgZm9yIGNvbXBsZXRpb24gb2YgYSBzcGVjaWZpYyBjaGlsZCBwcm9jZXNzLlxuIgorIlxuIgorIlJldHVybnMgYSB0dXBsZSBvZiBpbmZvcm1hdGlvbiBhYm91dCB0aGUgY2hpbGQgcHJvY2VzczpcbiIKKyIgIChwaWQsIHN0YXR1cywgcnVzYWdlKSIpOworCisjZGVmaW5lIE9TX1dBSVQ0X01FVEhPRERFRiAgICBcCisgICAgeyJ3YWl0NCIsIChQeUNGdW5jdGlvbilvc193YWl0NCwgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsIG9zX3dhaXQ0X19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF93YWl0NChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCitvc193YWl0NF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIHBpZF90IHBpZCwgaW50IG9wdGlvbnMpOworCitzdGF0aWMgUHlPYmplY3QgKgorb3Nfd2FpdDQoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCiB7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgc3RhdGljIGNoYXIgKl9rZXl3b3Jkc1tdID0geyJwaWQiLCAib3B0aW9ucyIsIE5VTEx9OwogICAgIHBpZF90IHBpZDsKICAgICBpbnQgb3B0aW9uczsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywKKyAgICAgICAgIiIgX1B5X1BBUlNFX1BJRCAiaTp3YWl0NCIsIF9rZXl3b3JkcywKKyAgICAgICAgJnBpZCwgJm9wdGlvbnMpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gb3Nfd2FpdDRfaW1wbChtb2R1bGUsIHBpZCwgb3B0aW9ucyk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK29zX3dhaXQ0X2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgcGlkX3QgcGlkLCBpbnQgb3B0aW9ucykKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD0yMGRmYjA1Mjg5ZDM3ZGM2IGlucHV0PWQxMWRlZWQwNzUwNjAwYmFdKi8KK3sKKyAgICBwaWRfdCByZXM7CiAgICAgc3RydWN0IHJ1c2FnZSBydTsKKyAgICBpbnQgYXN5bmNfZXJyID0gMDsKICAgICBXQUlUX1RZUEUgc3RhdHVzOwogICAgIFdBSVRfU1RBVFVTX0lOVChzdGF0dXMpID0gMDsKIAotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCBfUHlfUEFSU0VfUElEICJpOndhaXQ0IiwgJnBpZCwgJm9wdGlvbnMpKQotICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBkbyB7CisgICAgICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKKyAgICAgICAgcmVzID0gd2FpdDQocGlkLCAmc3RhdHVzLCBvcHRpb25zLCAmcnUpOworICAgICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUworICAgIH0gd2hpbGUgKHJlcyA8IDAgJiYgZXJybm8gPT0gRUlOVFIgJiYgIShhc3luY19lcnIgPSBQeUVycl9DaGVja1NpZ25hbHMoKSkpOworICAgIGlmIChyZXMgPCAwKQorICAgICAgICByZXR1cm4gKCFhc3luY19lcnIpID8gcG9zaXhfZXJyb3IoKSA6IE5VTEw7CiAKLSAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCi0gICAgcGlkID0gd2FpdDQocGlkLCAmc3RhdHVzLCBvcHRpb25zLCAmcnUpOwotICAgIFB5X0VORF9BTExPV19USFJFQURTCi0KLSAgICByZXR1cm4gd2FpdF9oZWxwZXIocGlkLCBXQUlUX1NUQVRVU19JTlQoc3RhdHVzKSwgJnJ1KTsKKyAgICByZXR1cm4gd2FpdF9oZWxwZXIocmVzLCBXQUlUX1NUQVRVU19JTlQoc3RhdHVzKSwgJnJ1KTsKIH0KICNlbmRpZiAvKiBIQVZFX1dBSVQ0ICovCiAKKwogI2lmIGRlZmluZWQoSEFWRV9XQUlUSUQpICYmICFkZWZpbmVkKF9fQVBQTEVfXykKLVB5RG9jX1NUUlZBUihwb3NpeF93YWl0aWRfX2RvY19fLAotIndhaXRpZChpZHR5cGUsIGlkLCBvcHRpb25zKSAtPiB3YWl0aWRfcmVzdWx0XG5cblwKLVdhaXQgZm9yIHRoZSBjb21wbGV0aW9uIG9mIG9uZSBvciBtb3JlIGNoaWxkIHByb2Nlc3Nlcy5cblxuXAotaWR0eXBlIGNhbiBiZSBQX1BJRCwgUF9QR0lEIG9yIFBfQUxMLlxuXAotaWQgc3BlY2lmaWVzIHRoZSBwaWQgdG8gd2FpdCBvbi5cblwKLW9wdGlvbnMgaXMgY29uc3RydWN0ZWQgZnJvbSB0aGUgT1Jpbmcgb2Ygb25lIG9yIG1vcmUgb2YgV0VYSVRFRCwgV1NUT1BQRURcblwKLW9yIFdDT05USU5VRUQgYW5kIGFkZGl0aW9uYWxseSBtYXkgYmUgT1JlZCB3aXRoIFdOT0hBTkcgb3IgV05PV0FJVC5cblwKLVJldHVybnMgZWl0aGVyIHdhaXRpZF9yZXN1bHQgb3IgTm9uZSBpZiBXTk9IQU5HIGlzIHNwZWNpZmllZCBhbmQgdGhlcmUgYXJlXG5cCi1ubyBjaGlsZHJlbiBpbiBhIHdhaXRhYmxlIHN0YXRlLiIpOworLypbY2xpbmljIGlucHV0XQorb3Mud2FpdGlkCisKKyAgICBpZHR5cGU6IGlkdHlwZV90CisgICAgICAgIE11c3QgYmUgb25lIG9mIGJlIFBfUElELCBQX1BHSUQgb3IgUF9BTEwuCisgICAgaWQ6IGlkX3QKKyAgICAgICAgVGhlIGlkIHRvIHdhaXQgb24uCisgICAgb3B0aW9uczogaW50CisgICAgICAgIENvbnN0cnVjdGVkIGZyb20gdGhlIE9SaW5nIG9mIG9uZSBvciBtb3JlIG9mIFdFWElURUQsIFdTVE9QUEVECisgICAgICAgIG9yIFdDT05USU5VRUQgYW5kIGFkZGl0aW9uYWxseSBtYXkgYmUgT1JlZCB3aXRoIFdOT0hBTkcgb3IgV05PV0FJVC4KKyAgICAvCisKK1JldHVybnMgdGhlIHJlc3VsdCBvZiB3YWl0aW5nIGZvciBhIHByb2Nlc3Mgb3IgcHJvY2Vzc2VzLgorCitSZXR1cm5zIGVpdGhlciB3YWl0aWRfcmVzdWx0IG9yIE5vbmUgaWYgV05PSEFORyBpcyBzcGVjaWZpZWQgYW5kIHRoZXJlIGFyZQorbm8gY2hpbGRyZW4gaW4gYSB3YWl0YWJsZSBzdGF0ZS4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX3dhaXRpZF9fZG9jX18sCisid2FpdGlkKCRtb2R1bGUsIGlkdHlwZSwgaWQsIG9wdGlvbnMsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJSZXR1cm5zIHRoZSByZXN1bHQgb2Ygd2FpdGluZyBmb3IgYSBwcm9jZXNzIG9yIHByb2Nlc3Nlcy5cbiIKKyJcbiIKKyIgIGlkdHlwZVxuIgorIiAgICBNdXN0IGJlIG9uZSBvZiBiZSBQX1BJRCwgUF9QR0lEIG9yIFBfQUxMLlxuIgorIiAgaWRcbiIKKyIgICAgVGhlIGlkIHRvIHdhaXQgb24uXG4iCisiICBvcHRpb25zXG4iCisiICAgIENvbnN0cnVjdGVkIGZyb20gdGhlIE9SaW5nIG9mIG9uZSBvciBtb3JlIG9mIFdFWElURUQsIFdTVE9QUEVEXG4iCisiICAgIG9yIFdDT05USU5VRUQgYW5kIGFkZGl0aW9uYWxseSBtYXkgYmUgT1JlZCB3aXRoIFdOT0hBTkcgb3IgV05PV0FJVC5cbiIKKyJcbiIKKyJSZXR1cm5zIGVpdGhlciB3YWl0aWRfcmVzdWx0IG9yIE5vbmUgaWYgV05PSEFORyBpcyBzcGVjaWZpZWQgYW5kIHRoZXJlIGFyZVxuIgorIm5vIGNoaWxkcmVuIGluIGEgd2FpdGFibGUgc3RhdGUuIik7CisKKyNkZWZpbmUgT1NfV0FJVElEX01FVEhPRERFRiAgICBcCisgICAgeyJ3YWl0aWQiLCAoUHlDRnVuY3Rpb24pb3Nfd2FpdGlkLCBNRVRIX1ZBUkFSR1MsIG9zX3dhaXRpZF9fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfd2FpdGlkKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK29zX3dhaXRpZF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGlkdHlwZV90IGlkdHlwZSwgaWRfdCBpZCwgaW50IG9wdGlvbnMpOworCitzdGF0aWMgUHlPYmplY3QgKgorb3Nfd2FpdGlkKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzKQogewotICAgIFB5T2JqZWN0ICpyZXN1bHQ7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CiAgICAgaWR0eXBlX3QgaWR0eXBlOwogICAgIGlkX3QgaWQ7Ci0gICAgaW50IG9wdGlvbnMsIHJlczsKKyAgICBpbnQgb3B0aW9uczsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAiaSIgX1B5X1BBUlNFX1BJRCAiaTp3YWl0aWQiLAorICAgICAgICAmaWR0eXBlLCAmaWQsICZvcHRpb25zKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IG9zX3dhaXRpZF9pbXBsKG1vZHVsZSwgaWR0eXBlLCBpZCwgb3B0aW9ucyk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK29zX3dhaXRpZF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGlkdHlwZV90IGlkdHlwZSwgaWRfdCBpZCwgaW50IG9wdGlvbnMpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9ZmI0NGJmOTdmMDEwMjFiMiBpbnB1dD1kOGU3Zjc2ZTA1MmI3OTIwXSovCit7CisgICAgUHlPYmplY3QgKnJlc3VsdDsKKyAgICBpbnQgcmVzOworICAgIGludCBhc3luY19lcnIgPSAwOwogICAgIHNpZ2luZm9fdCBzaTsKICAgICBzaS5zaV9waWQgPSAwOwotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiaSIgX1B5X1BBUlNFX1BJRCAiaTp3YWl0aWQiLCAmaWR0eXBlLCAmaWQsICZvcHRpb25zKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwotICAgIHJlcyA9IHdhaXRpZChpZHR5cGUsIGlkLCAmc2ksIG9wdGlvbnMpOwotICAgIFB5X0VORF9BTExPV19USFJFQURTCi0gICAgaWYgKHJlcyA9PSAtMSkKLSAgICAgICAgcmV0dXJuIHBvc2l4X2Vycm9yKCk7CisKKyAgICBkbyB7CisgICAgICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKKyAgICAgICAgcmVzID0gd2FpdGlkKGlkdHlwZSwgaWQsICZzaSwgb3B0aW9ucyk7CisgICAgICAgIFB5X0VORF9BTExPV19USFJFQURTCisgICAgfSB3aGlsZSAocmVzIDwgMCAmJiBlcnJubyA9PSBFSU5UUiAmJiAhKGFzeW5jX2VyciA9IFB5RXJyX0NoZWNrU2lnbmFscygpKSk7CisgICAgaWYgKHJlcyA8IDApCisgICAgICAgIHJldHVybiAoIWFzeW5jX2VycikgPyBwb3NpeF9lcnJvcigpIDogTlVMTDsKIAogICAgIGlmIChzaS5zaV9waWQgPT0gMCkKICAgICAgICAgUHlfUkVUVVJOX05PTkU7CkBAIC03MDA3LDc5ICs5Nzk5LDIwMCBAQAogCiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLSNlbmRpZgorI2VuZGlmIC8qIGRlZmluZWQoSEFWRV9XQUlUSUQpICYmICFkZWZpbmVkKF9fQVBQTEVfXykgKi8KIAotI2lmZGVmIEhBVkVfV0FJVFBJRAotUHlEb2NfU1RSVkFSKHBvc2l4X3dhaXRwaWRfX2RvY19fLAotIndhaXRwaWQocGlkLCBvcHRpb25zKSAtPiAocGlkLCBzdGF0dXMpXG5cblwKLVdhaXQgZm9yIGNvbXBsZXRpb24gb2YgYSBnaXZlbiBjaGlsZCBwcm9jZXNzLiIpOworCisjaWYgZGVmaW5lZChIQVZFX1dBSVRQSUQpCisvKltjbGluaWMgaW5wdXRdCitvcy53YWl0cGlkCisgICAgcGlkOiBwaWRfdAorICAgIG9wdGlvbnM6IGludAorICAgIC8KKworV2FpdCBmb3IgY29tcGxldGlvbiBvZiBhIGdpdmVuIGNoaWxkIHByb2Nlc3MuCisKK1JldHVybnMgYSB0dXBsZSBvZiBpbmZvcm1hdGlvbiByZWdhcmRpbmcgdGhlIGNoaWxkIHByb2Nlc3M6CisgICAgKHBpZCwgc3RhdHVzKQorCitUaGUgb3B0aW9ucyBhcmd1bWVudCBpcyBpZ25vcmVkIG9uIFdpbmRvd3MuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc193YWl0cGlkX19kb2NfXywKKyJ3YWl0cGlkKCRtb2R1bGUsIHBpZCwgb3B0aW9ucywgLylcbiIKKyItLVxuIgorIlxuIgorIldhaXQgZm9yIGNvbXBsZXRpb24gb2YgYSBnaXZlbiBjaGlsZCBwcm9jZXNzLlxuIgorIlxuIgorIlJldHVybnMgYSB0dXBsZSBvZiBpbmZvcm1hdGlvbiByZWdhcmRpbmcgdGhlIGNoaWxkIHByb2Nlc3M6XG4iCisiICAgIChwaWQsIHN0YXR1cylcbiIKKyJcbiIKKyJUaGUgb3B0aW9ucyBhcmd1bWVudCBpcyBpZ25vcmVkIG9uIFdpbmRvd3MuIik7CisKKyNkZWZpbmUgT1NfV0FJVFBJRF9NRVRIT0RERUYgICAgXAorICAgIHsid2FpdHBpZCIsIChQeUNGdW5jdGlvbilvc193YWl0cGlkLCBNRVRIX1ZBUkFSR1MsIG9zX3dhaXRwaWRfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X3dhaXRwaWQoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQorb3Nfd2FpdHBpZF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIHBpZF90IHBpZCwgaW50IG9wdGlvbnMpOworCitzdGF0aWMgUHlPYmplY3QgKgorb3Nfd2FpdHBpZChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncykKIHsKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKICAgICBwaWRfdCBwaWQ7CiAgICAgaW50IG9wdGlvbnM7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgIiIgX1B5X1BBUlNFX1BJRCAiaTp3YWl0cGlkIiwKKyAgICAgICAgJnBpZCwgJm9wdGlvbnMpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gb3Nfd2FpdHBpZF9pbXBsKG1vZHVsZSwgcGlkLCBvcHRpb25zKTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorb3Nfd2FpdHBpZF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIHBpZF90IHBpZCwgaW50IG9wdGlvbnMpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9MDk1YTZiMDBhZjcwYjdhYyBpbnB1dD0wYmYxNjY2Yjg3NThmZGEzXSovCit7CisgICAgcGlkX3QgcmVzOworICAgIGludCBhc3luY19lcnIgPSAwOwogICAgIFdBSVRfVFlQRSBzdGF0dXM7CiAgICAgV0FJVF9TVEFUVVNfSU5UKHN0YXR1cykgPSAwOwogCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsIF9QeV9QQVJTRV9QSUQgImk6d2FpdHBpZCIsICZwaWQsICZvcHRpb25zKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwotICAgIHBpZCA9IHdhaXRwaWQocGlkLCAmc3RhdHVzLCBvcHRpb25zKTsKLSAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUwotICAgIGlmIChwaWQgPT0gLTEpCi0gICAgICAgIHJldHVybiBwb3NpeF9lcnJvcigpOworICAgIGRvIHsKKyAgICAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUworICAgICAgICByZXMgPSB3YWl0cGlkKHBpZCwgJnN0YXR1cywgb3B0aW9ucyk7CisgICAgICAgIFB5X0VORF9BTExPV19USFJFQURTCisgICAgfSB3aGlsZSAocmVzIDwgMCAmJiBlcnJubyA9PSBFSU5UUiAmJiAhKGFzeW5jX2VyciA9IFB5RXJyX0NoZWNrU2lnbmFscygpKSk7CisgICAgaWYgKHJlcyA8IDApCisgICAgICAgIHJldHVybiAoIWFzeW5jX2VycikgPyBwb3NpeF9lcnJvcigpIDogTlVMTDsKIAotICAgIHJldHVybiBQeV9CdWlsZFZhbHVlKCJOaSIsIFB5TG9uZ19Gcm9tUGlkKHBpZCksIFdBSVRfU1RBVFVTX0lOVChzdGF0dXMpKTsKKyAgICByZXR1cm4gUHlfQnVpbGRWYWx1ZSgiTmkiLCBQeUxvbmdfRnJvbVBpZChyZXMpLCBXQUlUX1NUQVRVU19JTlQoc3RhdHVzKSk7CiB9Ci0KICNlbGlmIGRlZmluZWQoSEFWRV9DV0FJVCkKLQogLyogTVMgQyBoYXMgYSB2YXJpYW50IG9mIHdhaXRwaWQoKSB0aGF0J3MgdXNhYmxlIGZvciBtb3N0IHB1cnBvc2VzLiAqLwotUHlEb2NfU1RSVkFSKHBvc2l4X3dhaXRwaWRfX2RvY19fLAotIndhaXRwaWQocGlkLCBvcHRpb25zKSAtPiAocGlkLCBzdGF0dXMgPDwgOClcblxuIgotIldhaXQgZm9yIGNvbXBsZXRpb24gb2YgYSBnaXZlbiBwcm9jZXNzLiAgb3B0aW9ucyBpcyBpZ25vcmVkIG9uIFdpbmRvd3MuIik7CisvKltjbGluaWMgaW5wdXRdCitvcy53YWl0cGlkCisgICAgcGlkOiBQeV9pbnRwdHJfdAorICAgIG9wdGlvbnM6IGludAorICAgIC8KKworV2FpdCBmb3IgY29tcGxldGlvbiBvZiBhIGdpdmVuIHByb2Nlc3MuCisKK1JldHVybnMgYSB0dXBsZSBvZiBpbmZvcm1hdGlvbiByZWdhcmRpbmcgdGhlIHByb2Nlc3M6CisgICAgKHBpZCwgc3RhdHVzIDw8IDgpCisKK1RoZSBvcHRpb25zIGFyZ3VtZW50IGlzIGlnbm9yZWQgb24gV2luZG93cy4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX3dhaXRwaWRfX2RvY19fLAorIndhaXRwaWQoJG1vZHVsZSwgcGlkLCBvcHRpb25zLCAvKVxuIgorIi0tXG4iCisiXG4iCisiV2FpdCBmb3IgY29tcGxldGlvbiBvZiBhIGdpdmVuIHByb2Nlc3MuXG4iCisiXG4iCisiUmV0dXJucyBhIHR1cGxlIG9mIGluZm9ybWF0aW9uIHJlZ2FyZGluZyB0aGUgcHJvY2VzczpcbiIKKyIgICAgKHBpZCwgc3RhdHVzIDw8IDgpXG4iCisiXG4iCisiVGhlIG9wdGlvbnMgYXJndW1lbnQgaXMgaWdub3JlZCBvbiBXaW5kb3dzLiIpOworCisjZGVmaW5lIE9TX1dBSVRQSURfTUVUSE9EREVGICAgIFwKKyAgICB7IndhaXRwaWQiLCAoUHlDRnVuY3Rpb24pb3Nfd2FpdHBpZCwgTUVUSF9WQVJBUkdTLCBvc193YWl0cGlkX19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF93YWl0cGlkKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKLXsKLSAgICBQeV9pbnRwdHJfdCBwaWQ7Ci0gICAgaW50IHN0YXR1cywgb3B0aW9uczsKK29zX3dhaXRwaWRfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeV9pbnRwdHJfdCBwaWQsIGludCBvcHRpb25zKTsKIAotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCBfUHlfUEFSU0VfSU5UUFRSICJpOndhaXRwaWQiLCAmcGlkLCAmb3B0aW9ucykpCi0gICAgICAgIHJldHVybiBOVUxMOwotICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKLSAgICBwaWQgPSBfY3dhaXQoJnN0YXR1cywgcGlkLCBvcHRpb25zKTsKLSAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUwotICAgIGlmIChwaWQgPT0gLTEpCi0gICAgICAgIHJldHVybiBwb3NpeF9lcnJvcigpOworc3RhdGljIFB5T2JqZWN0ICoKK29zX3dhaXRwaWQoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgUHlfaW50cHRyX3QgcGlkOworICAgIGludCBvcHRpb25zOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCisgICAgICAgICIiIF9QeV9QQVJTRV9JTlRQVFIgImk6d2FpdHBpZCIsCisgICAgICAgICZwaWQsICZvcHRpb25zKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IG9zX3dhaXRwaWRfaW1wbChtb2R1bGUsIHBpZCwgb3B0aW9ucyk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK29zX3dhaXRwaWRfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeV9pbnRwdHJfdCBwaWQsIGludCBvcHRpb25zKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWMyMGI5NWIxNWFkNDRhM2EgaW5wdXQ9NDQ0YzhmNTFjY2E1Yjg2Ml0qLworeworICAgIGludCBzdGF0dXM7CisgICAgUHlfaW50cHRyX3QgcmVzOworICAgIGludCBhc3luY19lcnIgPSAwOworCisgICAgZG8geworICAgICAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCisgICAgICAgIHJlcyA9IF9jd2FpdCgmc3RhdHVzLCBwaWQsIG9wdGlvbnMpOworICAgICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUworICAgIH0gd2hpbGUgKHJlcyA8IDAgJiYgZXJybm8gPT0gRUlOVFIgJiYgIShhc3luY19lcnIgPSBQeUVycl9DaGVja1NpZ25hbHMoKSkpOworICAgIGlmIChyZXMgIT0gMCkKKyAgICAgICAgcmV0dXJuICghYXN5bmNfZXJyKSA/IHBvc2l4X2Vycm9yKCkgOiBOVUxMOwogCiAgICAgLyogc2hpZnQgdGhlIHN0YXR1cyBsZWZ0IGEgYnl0ZSBzbyB0aGlzIGlzIG1vcmUgbGlrZSB0aGUgUE9TSVggd2FpdHBpZCAqLwotICAgIHJldHVybiBQeV9CdWlsZFZhbHVlKF9QeV9QQVJTRV9JTlRQVFIgImkiLCBwaWQsIHN0YXR1cyA8PCA4KTsKKyAgICByZXR1cm4gUHlfQnVpbGRWYWx1ZShfUHlfUEFSU0VfSU5UUFRSICJpIiwgcmVzLCBzdGF0dXMgPDwgOCk7CiB9Ci0jZW5kaWYgLyogSEFWRV9XQUlUUElEIHx8IEhBVkVfQ1dBSVQgKi8KKyNlbmRpZgorCiAKICNpZmRlZiBIQVZFX1dBSVQKLVB5RG9jX1NUUlZBUihwb3NpeF93YWl0X19kb2NfXywKLSJ3YWl0KCkgLT4gKHBpZCwgc3RhdHVzKVxuXG5cCi1XYWl0IGZvciBjb21wbGV0aW9uIG9mIGEgY2hpbGQgcHJvY2Vzcy4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK29zLndhaXQKKworV2FpdCBmb3IgY29tcGxldGlvbiBvZiBhIGNoaWxkIHByb2Nlc3MuCisKK1JldHVybnMgYSB0dXBsZSBvZiBpbmZvcm1hdGlvbiBhYm91dCB0aGUgY2hpbGQgcHJvY2VzczoKKyAgICAocGlkLCBzdGF0dXMpCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc193YWl0X19kb2NfXywKKyJ3YWl0KCRtb2R1bGUsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJXYWl0IGZvciBjb21wbGV0aW9uIG9mIGEgY2hpbGQgcHJvY2Vzcy5cbiIKKyJcbiIKKyJSZXR1cm5zIGEgdHVwbGUgb2YgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGNoaWxkIHByb2Nlc3M6XG4iCisiICAgIChwaWQsIHN0YXR1cykiKTsKKworI2RlZmluZSBPU19XQUlUX01FVEhPRERFRiAgICBcCisgICAgeyJ3YWl0IiwgKFB5Q0Z1bmN0aW9uKW9zX3dhaXQsIE1FVEhfTk9BUkdTLCBvc193YWl0X19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF93YWl0KFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqbm9hcmdzKQorb3Nfd2FpdF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUpOworCitzdGF0aWMgUHlPYmplY3QgKgorb3Nfd2FpdChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqUHlfVU5VU0VEKGlnbm9yZWQpKQoreworICAgIHJldHVybiBvc193YWl0X2ltcGwobW9kdWxlKTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK29zX3dhaXRfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTJhODNhOWQxNjRlN2U2YTggaW5wdXQ9MDNiMDE4MmQ0YTQ3MDBjZV0qLwogewogICAgIHBpZF90IHBpZDsKKyAgICBpbnQgYXN5bmNfZXJyID0gMDsKICAgICBXQUlUX1RZUEUgc3RhdHVzOwogICAgIFdBSVRfU1RBVFVTX0lOVChzdGF0dXMpID0gMDsKIAotICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKLSAgICBwaWQgPSB3YWl0KCZzdGF0dXMpOwotICAgIFB5X0VORF9BTExPV19USFJFQURTCi0gICAgaWYgKHBpZCA9PSAtMSkKLSAgICAgICAgcmV0dXJuIHBvc2l4X2Vycm9yKCk7CisgICAgZG8geworICAgICAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCisgICAgICAgIHBpZCA9IHdhaXQoJnN0YXR1cyk7CisgICAgICAgIFB5X0VORF9BTExPV19USFJFQURTCisgICAgfSB3aGlsZSAocGlkIDwgMCAmJiBlcnJubyA9PSBFSU5UUiAmJiAhKGFzeW5jX2VyciA9IFB5RXJyX0NoZWNrU2lnbmFscygpKSk7CisgICAgaWYgKHBpZCA8IDApCisgICAgICAgIHJldHVybiAoIWFzeW5jX2VycikgPyBwb3NpeF9lcnJvcigpIDogTlVMTDsKIAogICAgIHJldHVybiBQeV9CdWlsZFZhbHVlKCJOaSIsIFB5TG9uZ19Gcm9tUGlkKHBpZCksIFdBSVRfU1RBVFVTX0lOVChzdGF0dXMpKTsKIH0KLSNlbmRpZgorI2VuZGlmIC8qIEhBVkVfV0FJVCAqLwogCiAKICNpZiBkZWZpbmVkKEhBVkVfUkVBRExJTkspIHx8IGRlZmluZWQoTVNfV0lORE9XUykKQEAgLTcwOTUsNiArMTAwMDgsNyBAQAogCiAjaWZkZWYgSEFWRV9SRUFETElOSwogCisvKiBBQyAzLjU6IG1lcmdlIHdpbjMyIGFuZCBub3QgdG9nZXRoZXIgKi8KIHN0YXRpYyBQeU9iamVjdCAqCiBwb3NpeF9yZWFkbGluayhQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCiB7CkBAIC03MTA5LDEyICsxMDAyMyw3IEBACiAgICAgcGF0aC5mdW5jdGlvbl9uYW1lID0gInJlYWRsaW5rIjsKICAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsICJPJnwkTyY6cmVhZGxpbmsiLCBrZXl3b3JkcywKICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0aF9jb252ZXJ0ZXIsICZwYXRoLAotI2lmZGVmIEhBVkVfUkVBRExJTktBVAotICAgICAgICAgICAgICAgICAgICAgICAgICBkaXJfZmRfY29udmVydGVyLCAmZGlyX2ZkCi0jZWxzZQotICAgICAgICAgICAgICAgICAgICAgICAgICBkaXJfZmRfdW5hdmFpbGFibGUsICZkaXJfZmQKLSNlbmRpZgotICAgICAgICAgICAgICAgICAgICAgICAgICApKQorICAgICAgICAgICAgICAgICAgICAgICAgICBSRUFETElOS0FUX0RJUl9GRF9DT05WRVJURVIsICZkaXJfZmQpKQogICAgICAgICByZXR1cm4gTlVMTDsKIAogICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKQEAgLTcxNDAsMjMgKzEwMDQ5LDg2IEBACiAgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKIH0KIAotCiAjZW5kaWYgLyogSEFWRV9SRUFETElOSyAqLwogCisjaWYgIWRlZmluZWQoSEFWRV9SRUFETElOSykgJiYgZGVmaW5lZChNU19XSU5ET1dTKQorCitzdGF0aWMgUHlPYmplY3QgKgord2luX3JlYWRsaW5rKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3YXJncykKK3sKKyAgICB3Y2hhcl90ICpwYXRoOworICAgIERXT1JEIG5fYnl0ZXNfcmV0dXJuZWQ7CisgICAgRFdPUkQgaW9fcmVzdWx0OworICAgIFB5T2JqZWN0ICpwbywgKnJlc3VsdDsKKyAgICAgICAgaW50IGRpcl9mZDsKKyAgICBIQU5ETEUgcmVwYXJzZV9wb2ludF9oYW5kbGU7CisKKyAgICBjaGFyIHRhcmdldF9idWZmZXJbTUFYSU1VTV9SRVBBUlNFX0RBVEFfQlVGRkVSX1NJWkVdOworICAgIFJFUEFSU0VfREFUQV9CVUZGRVIgKnJkYiA9IChSRVBBUlNFX0RBVEFfQlVGRkVSICopdGFyZ2V0X2J1ZmZlcjsKKyAgICB3Y2hhcl90ICpwcmludF9uYW1lOworCisgICAgc3RhdGljIGNoYXIgKmtleXdvcmRzW10gPSB7InBhdGgiLCAiZGlyX2ZkIiwgTlVMTH07CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsICJVfCRPJjpyZWFkbGluayIsIGtleXdvcmRzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAmcG8sCisgICAgICAgICAgICAgICAgICAgICAgICAgIGRpcl9mZF91bmF2YWlsYWJsZSwgJmRpcl9mZAorICAgICAgICAgICAgICAgICAgICAgICAgICApKQorICAgICAgICByZXR1cm4gTlVMTDsKKworICAgIHBhdGggPSBQeVVuaWNvZGVfQXNVbmljb2RlKHBvKTsKKyAgICBpZiAocGF0aCA9PSBOVUxMKQorICAgICAgICByZXR1cm4gTlVMTDsKKworICAgIC8qIEZpcnN0IGdldCBhIGhhbmRsZSB0byB0aGUgcmVwYXJzZSBwb2ludCAqLworICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKKyAgICByZXBhcnNlX3BvaW50X2hhbmRsZSA9IENyZWF0ZUZpbGVXKAorICAgICAgICBwYXRoLAorICAgICAgICAwLAorICAgICAgICAwLAorICAgICAgICAwLAorICAgICAgICBPUEVOX0VYSVNUSU5HLAorICAgICAgICBGSUxFX0ZMQUdfT1BFTl9SRVBBUlNFX1BPSU5UfEZJTEVfRkxBR19CQUNLVVBfU0VNQU5USUNTLAorICAgICAgICAwKTsKKyAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUworCisgICAgaWYgKHJlcGFyc2VfcG9pbnRfaGFuZGxlPT1JTlZBTElEX0hBTkRMRV9WQUxVRSkKKyAgICAgICAgcmV0dXJuIHdpbjMyX2Vycm9yX29iamVjdCgicmVhZGxpbmsiLCBwbyk7CisKKyAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCisgICAgLyogTmV3IGNhbGwgRGV2aWNlSW9Db250cm9sIHRvIHJlYWQgdGhlIHJlcGFyc2UgcG9pbnQgKi8KKyAgICBpb19yZXN1bHQgPSBEZXZpY2VJb0NvbnRyb2woCisgICAgICAgIHJlcGFyc2VfcG9pbnRfaGFuZGxlLAorICAgICAgICBGU0NUTF9HRVRfUkVQQVJTRV9QT0lOVCwKKyAgICAgICAgMCwgMCwgLyogaW4gYnVmZmVyICovCisgICAgICAgIHRhcmdldF9idWZmZXIsIHNpemVvZih0YXJnZXRfYnVmZmVyKSwKKyAgICAgICAgJm5fYnl0ZXNfcmV0dXJuZWQsCisgICAgICAgIDAgLyogd2UncmUgbm90IHVzaW5nIE9WRVJMQVBQRURfSU8gKi8KKyAgICAgICAgKTsKKyAgICBDbG9zZUhhbmRsZShyZXBhcnNlX3BvaW50X2hhbmRsZSk7CisgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKKworICAgIGlmIChpb19yZXN1bHQ9PTApCisgICAgICAgIHJldHVybiB3aW4zMl9lcnJvcl9vYmplY3QoInJlYWRsaW5rIiwgcG8pOworCisgICAgaWYgKHJkYi0+UmVwYXJzZVRhZyAhPSBJT19SRVBBUlNFX1RBR19TWU1MSU5LKQorICAgIHsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsCisgICAgICAgICAgICAgICAgIm5vdCBhIHN5bWJvbGljIGxpbmsiKTsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorICAgIHByaW50X25hbWUgPSByZGItPlN5bWJvbGljTGlua1JlcGFyc2VCdWZmZXIuUGF0aEJ1ZmZlciArCisgICAgICAgICAgICAgICAgIHJkYi0+U3ltYm9saWNMaW5rUmVwYXJzZUJ1ZmZlci5QcmludE5hbWVPZmZzZXQ7CisKKyAgICByZXN1bHQgPSBQeVVuaWNvZGVfRnJvbVdpZGVDaGFyKHByaW50X25hbWUsCisgICAgICAgICAgICAgICAgICAgIHJkYi0+U3ltYm9saWNMaW5rUmVwYXJzZUJ1ZmZlci5QcmludE5hbWVMZW5ndGgvMik7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KKworI2VuZGlmIC8qICFkZWZpbmVkKEhBVkVfUkVBRExJTkspICYmIGRlZmluZWQoTVNfV0lORE9XUykgKi8KKworCiAKICNpZmRlZiBIQVZFX1NZTUxJTksKLVB5RG9jX1NUUlZBUihwb3NpeF9zeW1saW5rX19kb2NfXywKLSJzeW1saW5rKHNyYywgZHN0LCB0YXJnZXRfaXNfZGlyZWN0b3J5PUZhbHNlLCAqLCBkaXJfZmQ9Tm9uZSlcblxuXAotQ3JlYXRlIGEgc3ltYm9saWMgbGluayBwb2ludGluZyB0byBzcmMgbmFtZWQgZHN0LlxuXG5cCi10YXJnZXRfaXNfZGlyZWN0b3J5IGlzIHJlcXVpcmVkIG9uIFdpbmRvd3MgaWYgdGhlIHRhcmdldCBpcyB0byBiZVxuXAotICBpbnRlcnByZXRlZCBhcyBhIGRpcmVjdG9yeS4gIChPbiBXaW5kb3dzLCBzeW1saW5rIHJlcXVpcmVzXG5cCi0gIFdpbmRvd3MgNi4wIG9yIGdyZWF0ZXIsIGFuZCByYWlzZXMgYSBOb3RJbXBsZW1lbnRlZEVycm9yIG90aGVyd2lzZS4pXG5cCi0gIHRhcmdldF9pc19kaXJlY3RvcnkgaXMgaWdub3JlZCBvbiBub24tV2luZG93cyBwbGF0Zm9ybXMuXG5cCi1cblwKLUlmIGRpcl9mZCBpcyBub3QgTm9uZSwgaXQgc2hvdWxkIGJlIGEgZmlsZSBkZXNjcmlwdG9yIG9wZW4gdG8gYSBkaXJlY3RvcnksXG5cCi0gIGFuZCBwYXRoIHNob3VsZCBiZSByZWxhdGl2ZTsgcGF0aCB3aWxsIHRoZW4gYmUgcmVsYXRpdmUgdG8gdGhhdCBkaXJlY3RvcnkuXG5cCi1kaXJfZmQgbWF5IG5vdCBiZSBpbXBsZW1lbnRlZCBvbiB5b3VyIHBsYXRmb3JtLlxuXAotICBJZiBpdCBpcyB1bmF2YWlsYWJsZSwgdXNpbmcgaXQgd2lsbCByYWlzZSBhIE5vdEltcGxlbWVudGVkRXJyb3IuIik7CiAKICNpZiBkZWZpbmVkKE1TX1dJTkRPV1MpCiAKQEAgLTczMDIsMTg5ICsxMDI3NCwxNDggQEAKICAgICAgICAgJiYgc3JjX2luZm8uZHdGaWxlQXR0cmlidXRlcyAmIEZJTEVfQVRUUklCVVRFX0RJUkVDVE9SWQogICAgICk7CiB9Ci0KICNlbmRpZgogCisKKy8qW2NsaW5pYyBpbnB1dF0KK29zLnN5bWxpbmsKKyAgICBzcmM6IHBhdGhfdAorICAgIGRzdDogcGF0aF90CisgICAgdGFyZ2V0X2lzX2RpcmVjdG9yeTogYm9vbCA9IEZhbHNlCisgICAgKgorICAgIGRpcl9mZDogZGlyX2ZkKHJlcXVpcmVzPSdzeW1saW5rYXQnKT1Ob25lCisKKyMgInN5bWxpbmsoc3JjLCBkc3QsIHRhcmdldF9pc19kaXJlY3Rvcnk9RmFsc2UsICosIGRpcl9mZD1Ob25lKVxuXG5cCisKK0NyZWF0ZSBhIHN5bWJvbGljIGxpbmsgcG9pbnRpbmcgdG8gc3JjIG5hbWVkIGRzdC4KKwordGFyZ2V0X2lzX2RpcmVjdG9yeSBpcyByZXF1aXJlZCBvbiBXaW5kb3dzIGlmIHRoZSB0YXJnZXQgaXMgdG8gYmUKKyAgaW50ZXJwcmV0ZWQgYXMgYSBkaXJlY3RvcnkuICAoT24gV2luZG93cywgc3ltbGluayByZXF1aXJlcworICBXaW5kb3dzIDYuMCBvciBncmVhdGVyLCBhbmQgcmFpc2VzIGEgTm90SW1wbGVtZW50ZWRFcnJvciBvdGhlcndpc2UuKQorICB0YXJnZXRfaXNfZGlyZWN0b3J5IGlzIGlnbm9yZWQgb24gbm9uLVdpbmRvd3MgcGxhdGZvcm1zLgorCitJZiBkaXJfZmQgaXMgbm90IE5vbmUsIGl0IHNob3VsZCBiZSBhIGZpbGUgZGVzY3JpcHRvciBvcGVuIHRvIGEgZGlyZWN0b3J5LAorICBhbmQgcGF0aCBzaG91bGQgYmUgcmVsYXRpdmU7IHBhdGggd2lsbCB0aGVuIGJlIHJlbGF0aXZlIHRvIHRoYXQgZGlyZWN0b3J5LgorZGlyX2ZkIG1heSBub3QgYmUgaW1wbGVtZW50ZWQgb24geW91ciBwbGF0Zm9ybS4KKyAgSWYgaXQgaXMgdW5hdmFpbGFibGUsIHVzaW5nIGl0IHdpbGwgcmFpc2UgYSBOb3RJbXBsZW1lbnRlZEVycm9yLgorCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19zeW1saW5rX19kb2NfXywKKyJzeW1saW5rKCRtb2R1bGUsIC8sIHNyYywgZHN0LCB0YXJnZXRfaXNfZGlyZWN0b3J5PUZhbHNlLCAqLCBkaXJfZmQ9Tm9uZSlcbiIKKyItLVxuIgorIlxuIgorIkNyZWF0ZSBhIHN5bWJvbGljIGxpbmsgcG9pbnRpbmcgdG8gc3JjIG5hbWVkIGRzdC5cbiIKKyJcbiIKKyJ0YXJnZXRfaXNfZGlyZWN0b3J5IGlzIHJlcXVpcmVkIG9uIFdpbmRvd3MgaWYgdGhlIHRhcmdldCBpcyB0byBiZVxuIgorIiAgaW50ZXJwcmV0ZWQgYXMgYSBkaXJlY3RvcnkuICAoT24gV2luZG93cywgc3ltbGluayByZXF1aXJlc1xuIgorIiAgV2luZG93cyA2LjAgb3IgZ3JlYXRlciwgYW5kIHJhaXNlcyBhIE5vdEltcGxlbWVudGVkRXJyb3Igb3RoZXJ3aXNlLilcbiIKKyIgIHRhcmdldF9pc19kaXJlY3RvcnkgaXMgaWdub3JlZCBvbiBub24tV2luZG93cyBwbGF0Zm9ybXMuXG4iCisiXG4iCisiSWYgZGlyX2ZkIGlzIG5vdCBOb25lLCBpdCBzaG91bGQgYmUgYSBmaWxlIGRlc2NyaXB0b3Igb3BlbiB0byBhIGRpcmVjdG9yeSxcbiIKKyIgIGFuZCBwYXRoIHNob3VsZCBiZSByZWxhdGl2ZTsgcGF0aCB3aWxsIHRoZW4gYmUgcmVsYXRpdmUgdG8gdGhhdCBkaXJlY3RvcnkuXG4iCisiZGlyX2ZkIG1heSBub3QgYmUgaW1wbGVtZW50ZWQgb24geW91ciBwbGF0Zm9ybS5cbiIKKyIgIElmIGl0IGlzIHVuYXZhaWxhYmxlLCB1c2luZyBpdCB3aWxsIHJhaXNlIGEgTm90SW1wbGVtZW50ZWRFcnJvci4iKTsKKworI2RlZmluZSBPU19TWU1MSU5LX01FVEhPRERFRiAgICBcCisgICAgeyJzeW1saW5rIiwgKFB5Q0Z1bmN0aW9uKW9zX3N5bWxpbmssIE1FVEhfVkFSQVJHU3xNRVRIX0tFWVdPUkRTLCBvc19zeW1saW5rX19kb2NfX30sCisKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF9zeW1saW5rKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3YXJncykKK29zX3N5bWxpbmtfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBwYXRoX3QgKnNyYywgcGF0aF90ICpkc3QsIGludCB0YXJnZXRfaXNfZGlyZWN0b3J5LCBpbnQgZGlyX2ZkKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX3N5bWxpbmsoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCiB7Ci0gICAgcGF0aF90IHNyYzsKLSAgICBwYXRoX3QgZHN0OwotICAgIGludCBkaXJfZmQgPSBERUZBVUxUX0RJUl9GRDsKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBzdGF0aWMgY2hhciAqX2tleXdvcmRzW10gPSB7InNyYyIsICJkc3QiLCAidGFyZ2V0X2lzX2RpcmVjdG9yeSIsICJkaXJfZmQiLCBOVUxMfTsKKyAgICBwYXRoX3Qgc3JjID0gUEFUSF9UX0lOSVRJQUxJWkUoInN5bWxpbmsiLCAic3JjIiwgMCwgMCk7CisgICAgcGF0aF90IGRzdCA9IFBBVEhfVF9JTklUSUFMSVpFKCJzeW1saW5rIiwgImRzdCIsIDAsIDApOwogICAgIGludCB0YXJnZXRfaXNfZGlyZWN0b3J5ID0gMDsKLSAgICBzdGF0aWMgY2hhciAqa2V5d29yZHNbXSA9IHsic3JjIiwgImRzdCIsICJ0YXJnZXRfaXNfZGlyZWN0b3J5IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGlyX2ZkIiwgTlVMTH07Ci0gICAgUHlPYmplY3QgKnJldHVybl92YWx1ZTsKKyAgICBpbnQgZGlyX2ZkID0gREVGQVVMVF9ESVJfRkQ7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsCisgICAgICAgICJPJk8mfHAkTyY6c3ltbGluayIsIF9rZXl3b3JkcywKKyAgICAgICAgcGF0aF9jb252ZXJ0ZXIsICZzcmMsIHBhdGhfY29udmVydGVyLCAmZHN0LCAmdGFyZ2V0X2lzX2RpcmVjdG9yeSwgU1lNTElOS0FUX0RJUl9GRF9DT05WRVJURVIsICZkaXJfZmQpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gb3Nfc3ltbGlua19pbXBsKG1vZHVsZSwgJnNyYywgJmRzdCwgdGFyZ2V0X2lzX2RpcmVjdG9yeSwgZGlyX2ZkKTsKKworZXhpdDoKKyAgICAvKiBDbGVhbnVwIGZvciBzcmMgKi8KKyAgICBwYXRoX2NsZWFudXAoJnNyYyk7CisgICAgLyogQ2xlYW51cCBmb3IgZHN0ICovCisgICAgcGF0aF9jbGVhbnVwKCZkc3QpOworCisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK29zX3N5bWxpbmtfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBwYXRoX3QgKnNyYywgcGF0aF90ICpkc3QsIGludCB0YXJnZXRfaXNfZGlyZWN0b3J5LCBpbnQgZGlyX2ZkKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTFhMzFlNmQ4OGFhZmU5YjYgaW5wdXQ9ZTgyMGVjNDQ3MjU0N2JjM10qLworewogI2lmZGVmIE1TX1dJTkRPV1MKICAgICBEV09SRCByZXN1bHQ7CiAjZWxzZQogICAgIGludCByZXN1bHQ7CiAjZW5kaWYKIAotICAgIG1lbXNldCgmc3JjLCAwLCBzaXplb2Yoc3JjKSk7Ci0gICAgc3JjLmZ1bmN0aW9uX25hbWUgPSAic3ltbGluayI7Ci0gICAgc3JjLmFyZ3VtZW50X25hbWUgPSAic3JjIjsKLSAgICBtZW1zZXQoJmRzdCwgMCwgc2l6ZW9mKGRzdCkpOwotICAgIGRzdC5mdW5jdGlvbl9uYW1lID0gInN5bWxpbmsiOwotICAgIGRzdC5hcmd1bWVudF9uYW1lID0gImRzdCI7Ci0KICNpZmRlZiBNU19XSU5ET1dTCiAgICAgaWYgKCFjaGVja19DcmVhdGVTeW1ib2xpY0xpbmsoKSkgewogICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfTm90SW1wbGVtZW50ZWRFcnJvciwKICAgICAgICAgICAgICJDcmVhdGVTeW1ib2xpY0xpbmsgZnVuY3Rpb25zIG5vdCBmb3VuZCIpOwotICAgICAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICByZXR1cm4gTlVMTDsKICAgICAgICAgfQogICAgIGlmICghd2luMzJfY2FuX3N5bWxpbmspIHsKICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX09TRXJyb3IsICJzeW1ib2xpYyBsaW5rIHByaXZpbGVnZSBub3QgaGVsZCIpOwotICAgICAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICByZXR1cm4gTlVMTDsKICAgICAgICAgfQogI2VuZGlmCiAKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsICJPJk8mfGkkTyY6c3ltbGluayIsCi0gICAgICAgICAgICBrZXl3b3JkcywKLSAgICAgICAgICAgIHBhdGhfY29udmVydGVyLCAmc3JjLAotICAgICAgICAgICAgcGF0aF9jb252ZXJ0ZXIsICZkc3QsCi0gICAgICAgICAgICAmdGFyZ2V0X2lzX2RpcmVjdG9yeSwKLSNpZmRlZiBIQVZFX1NZTUxJTktBVAotICAgICAgICAgICAgZGlyX2ZkX2NvbnZlcnRlciwgJmRpcl9mZAotI2Vsc2UKLSAgICAgICAgICAgIGRpcl9mZF91bmF2YWlsYWJsZSwgJmRpcl9mZAotI2VuZGlmCi0gICAgICAgICAgICApKQotICAgICAgICByZXR1cm4gTlVMTDsKLQotICAgIGlmICgoc3JjLm5hcnJvdyAmJiBkc3Qud2lkZSkgfHwgKHNyYy53aWRlICYmIGRzdC5uYXJyb3cpKSB7CisgICAgaWYgKChzcmMtPm5hcnJvdyAmJiBkc3QtPndpZGUpIHx8IChzcmMtPndpZGUgJiYgZHN0LT5uYXJyb3cpKSB7CiAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLAogICAgICAgICAgICAgInN5bWxpbms6IHNyYyBhbmQgZHN0IG11c3QgYmUgdGhlIHNhbWUgdHlwZSIpOwotICAgICAgICByZXR1cm5fdmFsdWUgPSBOVUxMOwotICAgICAgICBnb3RvIGV4aXQ7CisgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KIAogI2lmZGVmIE1TX1dJTkRPV1MKIAogICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKLSAgICBpZiAoZHN0LndpZGUpIHsKKyAgICBpZiAoZHN0LT53aWRlKSB7CiAgICAgICAgIC8qIGlmIHNyYyBpcyBhIGRpcmVjdG9yeSwgZW5zdXJlIHRhcmdldF9pc19kaXJlY3Rvcnk9PTEgKi8KLSAgICAgICAgdGFyZ2V0X2lzX2RpcmVjdG9yeSB8PSBfY2hlY2tfZGlyVyhzcmMud2lkZSwgZHN0LndpZGUpOwotICAgICAgICByZXN1bHQgPSBQeV9DcmVhdGVTeW1ib2xpY0xpbmtXKGRzdC53aWRlLCBzcmMud2lkZSwKKyAgICAgICAgdGFyZ2V0X2lzX2RpcmVjdG9yeSB8PSBfY2hlY2tfZGlyVyhzcmMtPndpZGUsIGRzdC0+d2lkZSk7CisgICAgICAgIHJlc3VsdCA9IFB5X0NyZWF0ZVN5bWJvbGljTGlua1coZHN0LT53aWRlLCBzcmMtPndpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0X2lzX2RpcmVjdG9yeSk7CiAgICAgfQogICAgIGVsc2UgewogICAgICAgICAvKiBpZiBzcmMgaXMgYSBkaXJlY3RvcnksIGVuc3VyZSB0YXJnZXRfaXNfZGlyZWN0b3J5PT0xICovCi0gICAgICAgIHRhcmdldF9pc19kaXJlY3RvcnkgfD0gX2NoZWNrX2RpckEoc3JjLm5hcnJvdywgZHN0Lm5hcnJvdyk7Ci0gICAgICAgIHJlc3VsdCA9IFB5X0NyZWF0ZVN5bWJvbGljTGlua0EoZHN0Lm5hcnJvdywgc3JjLm5hcnJvdywKKyAgICAgICAgdGFyZ2V0X2lzX2RpcmVjdG9yeSB8PSBfY2hlY2tfZGlyQShzcmMtPm5hcnJvdywgZHN0LT5uYXJyb3cpOworICAgICAgICByZXN1bHQgPSBQeV9DcmVhdGVTeW1ib2xpY0xpbmtBKGRzdC0+bmFycm93LCBzcmMtPm5hcnJvdywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXRfaXNfZGlyZWN0b3J5KTsKICAgICB9CiAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKIAotICAgIGlmICghcmVzdWx0KSB7Ci0gICAgICAgIHJldHVybl92YWx1ZSA9IHBhdGhfZXJyb3IyKCZzcmMsICZkc3QpOwotICAgICAgICBnb3RvIGV4aXQ7Ci0gICAgfQorICAgIGlmICghcmVzdWx0KQorICAgICAgICByZXR1cm4gcGF0aF9lcnJvcjIoc3JjLCBkc3QpOwogCiAjZWxzZQogCiAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwogI2lmIEhBVkVfU1lNTElOS0FUCiAgICAgaWYgKGRpcl9mZCAhPSBERUZBVUxUX0RJUl9GRCkKLSAgICAgICAgcmVzdWx0ID0gc3ltbGlua2F0KHNyYy5uYXJyb3csIGRpcl9mZCwgZHN0Lm5hcnJvdyk7CisgICAgICAgIHJlc3VsdCA9IHN5bWxpbmthdChzcmMtPm5hcnJvdywgZGlyX2ZkLCBkc3QtPm5hcnJvdyk7CiAgICAgZWxzZQogI2VuZGlmCi0gICAgICAgIHJlc3VsdCA9IHN5bWxpbmsoc3JjLm5hcnJvdywgZHN0Lm5hcnJvdyk7CisgICAgICAgIHJlc3VsdCA9IHN5bWxpbmsoc3JjLT5uYXJyb3csIGRzdC0+bmFycm93KTsKICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUwogCi0gICAgaWYgKHJlc3VsdCkgewotICAgICAgICByZXR1cm5fdmFsdWUgPSBwYXRoX2Vycm9yMigmc3JjLCAmZHN0KTsKLSAgICAgICAgZ290byBleGl0OwotICAgIH0KKyAgICBpZiAocmVzdWx0KQorICAgICAgICByZXR1cm4gcGF0aF9lcnJvcjIoc3JjLCBkc3QpOwogI2VuZGlmCiAKLSAgICByZXR1cm5fdmFsdWUgPSBQeV9Ob25lOwotICAgIFB5X0lOQ1JFRihQeV9Ob25lKTsKLSAgICBnb3RvIGV4aXQ7IC8qIHNpbGVuY2UgInVudXNlZCBsYWJlbCIgd2FybmluZyAqLwotZXhpdDoKLSAgICBwYXRoX2NsZWFudXAoJnNyYyk7Ci0gICAgcGF0aF9jbGVhbnVwKCZkc3QpOwotICAgIHJldHVybiByZXR1cm5fdmFsdWU7CisgICAgUHlfUkVUVVJOX05PTkU7CiB9Ci0KICNlbmRpZiAvKiBIQVZFX1NZTUxJTksgKi8KIAogCi0jaWYgIWRlZmluZWQoSEFWRV9SRUFETElOSykgJiYgZGVmaW5lZChNU19XSU5ET1dTKQotCi1zdGF0aWMgUHlPYmplY3QgKgotd2luX3JlYWRsaW5rKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3YXJncykKLXsKLSAgICB3Y2hhcl90ICpwYXRoOwotICAgIERXT1JEIG5fYnl0ZXNfcmV0dXJuZWQ7Ci0gICAgRFdPUkQgaW9fcmVzdWx0OwotICAgIFB5T2JqZWN0ICpwbywgKnJlc3VsdDsKLSAgICAgICAgaW50IGRpcl9mZDsKLSAgICBIQU5ETEUgcmVwYXJzZV9wb2ludF9oYW5kbGU7Ci0KLSAgICBjaGFyIHRhcmdldF9idWZmZXJbTUFYSU1VTV9SRVBBUlNFX0RBVEFfQlVGRkVSX1NJWkVdOwotICAgIFJFUEFSU0VfREFUQV9CVUZGRVIgKnJkYiA9IChSRVBBUlNFX0RBVEFfQlVGRkVSICopdGFyZ2V0X2J1ZmZlcjsKLSAgICB3Y2hhcl90ICpwcmludF9uYW1lOwotCi0gICAgc3RhdGljIGNoYXIgKmtleXdvcmRzW10gPSB7InBhdGgiLCAiZGlyX2ZkIiwgTlVMTH07Ci0KLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsICJVfCRPJjpyZWFkbGluayIsIGtleXdvcmRzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAmcG8sCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGRpcl9mZF91bmF2YWlsYWJsZSwgJmRpcl9mZAotICAgICAgICAgICAgICAgICAgICAgICAgICApKQotICAgICAgICByZXR1cm4gTlVMTDsKLQotICAgIHBhdGggPSBQeVVuaWNvZGVfQXNVbmljb2RlKHBvKTsKLSAgICBpZiAocGF0aCA9PSBOVUxMKQotICAgICAgICByZXR1cm4gTlVMTDsKLQotICAgIC8qIEZpcnN0IGdldCBhIGhhbmRsZSB0byB0aGUgcmVwYXJzZSBwb2ludCAqLwotICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKLSAgICByZXBhcnNlX3BvaW50X2hhbmRsZSA9IENyZWF0ZUZpbGVXKAotICAgICAgICBwYXRoLAotICAgICAgICAwLAotICAgICAgICAwLAotICAgICAgICAwLAotICAgICAgICBPUEVOX0VYSVNUSU5HLAotICAgICAgICBGSUxFX0ZMQUdfT1BFTl9SRVBBUlNFX1BPSU5UfEZJTEVfRkxBR19CQUNLVVBfU0VNQU5USUNTLAotICAgICAgICAwKTsKLSAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUwotCi0gICAgaWYgKHJlcGFyc2VfcG9pbnRfaGFuZGxlPT1JTlZBTElEX0hBTkRMRV9WQUxVRSkKLSAgICAgICAgcmV0dXJuIHdpbjMyX2Vycm9yX29iamVjdCgicmVhZGxpbmsiLCBwbyk7Ci0KLSAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCi0gICAgLyogTmV3IGNhbGwgRGV2aWNlSW9Db250cm9sIHRvIHJlYWQgdGhlIHJlcGFyc2UgcG9pbnQgKi8KLSAgICBpb19yZXN1bHQgPSBEZXZpY2VJb0NvbnRyb2woCi0gICAgICAgIHJlcGFyc2VfcG9pbnRfaGFuZGxlLAotICAgICAgICBGU0NUTF9HRVRfUkVQQVJTRV9QT0lOVCwKLSAgICAgICAgMCwgMCwgLyogaW4gYnVmZmVyICovCi0gICAgICAgIHRhcmdldF9idWZmZXIsIHNpemVvZih0YXJnZXRfYnVmZmVyKSwKLSAgICAgICAgJm5fYnl0ZXNfcmV0dXJuZWQsCi0gICAgICAgIDAgLyogd2UncmUgbm90IHVzaW5nIE9WRVJMQVBQRURfSU8gKi8KLSAgICAgICAgKTsKLSAgICBDbG9zZUhhbmRsZShyZXBhcnNlX3BvaW50X2hhbmRsZSk7Ci0gICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKLQotICAgIGlmIChpb19yZXN1bHQ9PTApCi0gICAgICAgIHJldHVybiB3aW4zMl9lcnJvcl9vYmplY3QoInJlYWRsaW5rIiwgcG8pOwotCi0gICAgaWYgKHJkYi0+UmVwYXJzZVRhZyAhPSBJT19SRVBBUlNFX1RBR19TWU1MSU5LKQotICAgIHsKLSAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsCi0gICAgICAgICAgICAgICAgIm5vdCBhIHN5bWJvbGljIGxpbmsiKTsKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgfQotICAgIHByaW50X25hbWUgPSByZGItPlN5bWJvbGljTGlua1JlcGFyc2VCdWZmZXIuUGF0aEJ1ZmZlciArCi0gICAgICAgICAgICAgICAgIHJkYi0+U3ltYm9saWNMaW5rUmVwYXJzZUJ1ZmZlci5QcmludE5hbWVPZmZzZXQ7Ci0KLSAgICByZXN1bHQgPSBQeVVuaWNvZGVfRnJvbVdpZGVDaGFyKHByaW50X25hbWUsCi0gICAgICAgICAgICAgICAgICAgIHJkYi0+U3ltYm9saWNMaW5rUmVwYXJzZUJ1ZmZlci5QcmludE5hbWVMZW5ndGgvMik7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotI2VuZGlmIC8qICFkZWZpbmVkKEhBVkVfUkVBRExJTkspICYmIGRlZmluZWQoTVNfV0lORE9XUykgKi8KIAogCiBzdGF0aWMgUHlTdHJ1Y3RTZXF1ZW5jZV9GaWVsZCB0aW1lc19yZXN1bHRfZmllbGRzW10gPSB7CkBAIC03NTUwLDE1ICsxMDQ4MSw0OCBAQAogICAgIHJldHVybiB2YWx1ZTsKIH0KIAotUHlEb2NfU1RSVkFSKHBvc2l4X3RpbWVzX19kb2NfXywKLSJ0aW1lcygpIC0+IHRpbWVzX3Jlc3VsdFxuXG5cCi1SZXR1cm4gYW4gb2JqZWN0IGNvbnRhaW5pbmcgZmxvYXRpbmcgcG9pbnQgbnVtYmVycyBpbmRpY2F0aW5nIHByb2Nlc3NcblwKLXRpbWVzLiAgVGhlIG9iamVjdCBiZWhhdmVzIGxpa2UgYSBuYW1lZCB0dXBsZSB3aXRoIHRoZXNlIGZpZWxkczpcblwKLSAgKHV0aW1lLCBzdGltZSwgY3V0aW1lLCBjc3RpbWUsIGVsYXBzZWRfdGltZSkiKTsKIAotI2lmIGRlZmluZWQoTVNfV0lORE9XUykKKyNpZm5kZWYgTVNfV0lORE9XUworI2RlZmluZSBORUVEX1RJQ0tTX1BFUl9TRUNPTkQKK3N0YXRpYyBsb25nIHRpY2tzX3Blcl9zZWNvbmQgPSAtMTsKKyNlbmRpZiAvKiBNU19XSU5ET1dTICovCisKKy8qW2NsaW5pYyBpbnB1dF0KK29zLnRpbWVzCisKK1JldHVybiBhIGNvbGxlY3Rpb24gY29udGFpbmluZyBwcm9jZXNzIHRpbWluZyBpbmZvcm1hdGlvbi4KKworVGhlIG9iamVjdCByZXR1cm5lZCBiZWhhdmVzIGxpa2UgYSBuYW1lZCB0dXBsZSB3aXRoIHRoZXNlIGZpZWxkczoKKyAgKHV0aW1lLCBzdGltZSwgY3V0aW1lLCBjc3RpbWUsIGVsYXBzZWRfdGltZSkKK0FsbCBmaWVsZHMgYXJlIGZsb2F0aW5nIHBvaW50IG51bWJlcnMuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc190aW1lc19fZG9jX18sCisidGltZXMoJG1vZHVsZSwgLylcbiIKKyItLVxuIgorIlxuIgorIlJldHVybiBhIGNvbGxlY3Rpb24gY29udGFpbmluZyBwcm9jZXNzIHRpbWluZyBpbmZvcm1hdGlvbi5cbiIKKyJcbiIKKyJUaGUgb2JqZWN0IHJldHVybmVkIGJlaGF2ZXMgbGlrZSBhIG5hbWVkIHR1cGxlIHdpdGggdGhlc2UgZmllbGRzOlxuIgorIiAgKHV0aW1lLCBzdGltZSwgY3V0aW1lLCBjc3RpbWUsIGVsYXBzZWRfdGltZSlcbiIKKyJBbGwgZmllbGRzIGFyZSBmbG9hdGluZyBwb2ludCBudW1iZXJzLiIpOworCisjZGVmaW5lIE9TX1RJTUVTX01FVEhPRERFRiAgICBcCisgICAgeyJ0aW1lcyIsIChQeUNGdW5jdGlvbilvc190aW1lcywgTUVUSF9OT0FSR1MsIG9zX3RpbWVzX19kb2NfX30sCisKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF90aW1lcyhQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKm5vYXJncykKK29zX3RpbWVzX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc190aW1lcyhQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqUHlfVU5VU0VEKGlnbm9yZWQpKQoreworICAgIHJldHVybiBvc190aW1lc19pbXBsKG1vZHVsZSk7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc190aW1lc19pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9Yjg2ODk2ZDAzMWE5Yjc2OCBpbnB1dD0yYmY5ZGYzZDZhYjJlNDhiXSovCisjaWZkZWYgTVNfV0lORE9XUwogewogICAgIEZJTEVUSU1FIGNyZWF0ZSwgZXhpdCwga2VybmVsLCB1c2VyOwogICAgIEhBTkRMRSBoUHJvYzsKQEAgLTc1NzgsMTIgKzEwNTQyLDEwIEBACiAgICAgICAgIChkb3VibGUpMCwKICAgICAgICAgKGRvdWJsZSkwKTsKIH0KLSNlbHNlIC8qIE5vdCBXaW5kb3dzICovCi0jZGVmaW5lIE5FRURfVElDS1NfUEVSX1NFQ09ORAotc3RhdGljIGxvbmcgdGlja3NfcGVyX3NlY29uZCA9IC0xOwotc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X3RpbWVzKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqbm9hcmdzKQorI2Vsc2UgLyogTVNfV0lORE9XUyAqLwogeworCisKICAgICBzdHJ1Y3QgdG1zIHQ7CiAgICAgY2xvY2tfdCBjOwogICAgIGVycm5vID0gMDsKQEAgLTc1OTcsMjMgKzEwNTU5LDUzIEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgKGRvdWJsZSl0LnRtc19jc3RpbWUgLyB0aWNrc19wZXJfc2Vjb25kLAogICAgICAgICAgICAgICAgICAgICAgICAgIChkb3VibGUpYyAvIHRpY2tzX3Blcl9zZWNvbmQpOwogfQotI2VuZGlmCi0KKyNlbmRpZiAvKiBNU19XSU5ET1dTICovCiAjZW5kaWYgLyogSEFWRV9USU1FUyAqLwogCiAKICNpZmRlZiBIQVZFX0dFVFNJRAotUHlEb2NfU1RSVkFSKHBvc2l4X2dldHNpZF9fZG9jX18sCi0iZ2V0c2lkKHBpZCkgLT4gc2lkXG5cblwKLUNhbGwgdGhlIHN5c3RlbSBjYWxsIGdldHNpZCgpLiIpOworLypbY2xpbmljIGlucHV0XQorb3MuZ2V0c2lkCisKKyAgICBwaWQ6IHBpZF90CisgICAgLworCitDYWxsIHRoZSBzeXN0ZW0gY2FsbCBnZXRzaWQocGlkKSBhbmQgcmV0dXJuIHRoZSByZXN1bHQuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19nZXRzaWRfX2RvY19fLAorImdldHNpZCgkbW9kdWxlLCBwaWQsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJDYWxsIHRoZSBzeXN0ZW0gY2FsbCBnZXRzaWQocGlkKSBhbmQgcmV0dXJuIHRoZSByZXN1bHQuIik7CisKKyNkZWZpbmUgT1NfR0VUU0lEX01FVEhPRERFRiAgICBcCisgICAgeyJnZXRzaWQiLCAoUHlDRnVuY3Rpb24pb3NfZ2V0c2lkLCBNRVRIX1ZBUkFSR1MsIG9zX2dldHNpZF9fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfZ2V0c2lkKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK29zX2dldHNpZF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIHBpZF90IHBpZCk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19nZXRzaWQoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MpCiB7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CiAgICAgcGlkX3QgcGlkOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCisgICAgICAgICIiIF9QeV9QQVJTRV9QSUQgIjpnZXRzaWQiLAorICAgICAgICAmcGlkKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IG9zX2dldHNpZF9pbXBsKG1vZHVsZSwgcGlkKTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorb3NfZ2V0c2lkX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgcGlkX3QgcGlkKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWVhODM5MGYzOTVmNGUwZTEgaW5wdXQ9ZWViMmI5MjNhMzBjZTA0ZV0qLworewogICAgIGludCBzaWQ7Ci0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsIF9QeV9QQVJTRV9QSUQgIjpnZXRzaWQiLCAmcGlkKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgc2lkID0gZ2V0c2lkKHBpZCk7CiAgICAgaWYgKHNpZCA8IDApCiAgICAgICAgIHJldHVybiBwb3NpeF9lcnJvcigpOwpAQCAtNzYyMyw1MyArMTA2MTUsMTM1IEBACiAKIAogI2lmZGVmIEhBVkVfU0VUU0lECi1QeURvY19TVFJWQVIocG9zaXhfc2V0c2lkX19kb2NfXywKLSJzZXRzaWQoKVxuXG5cCi1DYWxsIHRoZSBzeXN0ZW0gY2FsbCBzZXRzaWQoKS4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK29zLnNldHNpZAorCitDYWxsIHRoZSBzeXN0ZW0gY2FsbCBzZXRzaWQoKS4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX3NldHNpZF9fZG9jX18sCisic2V0c2lkKCRtb2R1bGUsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJDYWxsIHRoZSBzeXN0ZW0gY2FsbCBzZXRzaWQoKS4iKTsKKworI2RlZmluZSBPU19TRVRTSURfTUVUSE9EREVGICAgIFwKKyAgICB7InNldHNpZCIsIChQeUNGdW5jdGlvbilvc19zZXRzaWQsIE1FVEhfTk9BUkdTLCBvc19zZXRzaWRfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X3NldHNpZChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKm5vYXJncykKK29zX3NldHNpZF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUpOworCitzdGF0aWMgUHlPYmplY3QgKgorb3Nfc2V0c2lkKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICpQeV9VTlVTRUQoaWdub3JlZCkpCit7CisgICAgcmV0dXJuIG9zX3NldHNpZF9pbXBsKG1vZHVsZSk7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19zZXRzaWRfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTJhOWExNDM1ZDhkNzY0ZDUgaW5wdXQ9NWZmZjQ1ODU4ZTJmMDc3Nl0qLwogewogICAgIGlmIChzZXRzaWQoKSA8IDApCiAgICAgICAgIHJldHVybiBwb3NpeF9lcnJvcigpOwotICAgIFB5X0lOQ1JFRihQeV9Ob25lKTsKLSAgICByZXR1cm4gUHlfTm9uZTsKKyAgICBQeV9SRVRVUk5fTk9ORTsKIH0KICNlbmRpZiAvKiBIQVZFX1NFVFNJRCAqLwogCisKICNpZmRlZiBIQVZFX1NFVFBHSUQKLVB5RG9jX1NUUlZBUihwb3NpeF9zZXRwZ2lkX19kb2NfXywKLSJzZXRwZ2lkKHBpZCwgcGdycClcblxuXAotQ2FsbCB0aGUgc3lzdGVtIGNhbGwgc2V0cGdpZCgpLiIpOworLypbY2xpbmljIGlucHV0XQorb3Muc2V0cGdpZAorCisgICAgcGlkOiBwaWRfdAorICAgIHBncnA6IHBpZF90CisgICAgLworCitDYWxsIHRoZSBzeXN0ZW0gY2FsbCBzZXRwZ2lkKHBpZCwgcGdycCkuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19zZXRwZ2lkX19kb2NfXywKKyJzZXRwZ2lkKCRtb2R1bGUsIHBpZCwgcGdycCwgLylcbiIKKyItLVxuIgorIlxuIgorIkNhbGwgdGhlIHN5c3RlbSBjYWxsIHNldHBnaWQocGlkLCBwZ3JwKS4iKTsKKworI2RlZmluZSBPU19TRVRQR0lEX01FVEhPRERFRiAgICBcCisgICAgeyJzZXRwZ2lkIiwgKFB5Q0Z1bmN0aW9uKW9zX3NldHBnaWQsIE1FVEhfVkFSQVJHUywgb3Nfc2V0cGdpZF9fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfc2V0cGdpZChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCitvc19zZXRwZ2lkX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgcGlkX3QgcGlkLCBwaWRfdCBwZ3JwKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX3NldHBnaWQoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MpCiB7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CiAgICAgcGlkX3QgcGlkOwotICAgIGludCBwZ3JwOwotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCBfUHlfUEFSU0VfUElEICJpOnNldHBnaWQiLCAmcGlkLCAmcGdycCkpCi0gICAgICAgIHJldHVybiBOVUxMOworICAgIHBpZF90IHBncnA7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgIiIgX1B5X1BBUlNFX1BJRCAiIiBfUHlfUEFSU0VfUElEICI6c2V0cGdpZCIsCisgICAgICAgICZwaWQsICZwZ3JwKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IG9zX3NldHBnaWRfaW1wbChtb2R1bGUsIHBpZCwgcGdycCk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK29zX3NldHBnaWRfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBwaWRfdCBwaWQsIHBpZF90IHBncnApCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9N2FkNzliNzI1Zjg5MGUxZiBpbnB1dD1mY2ViMzk1ZWNhNTcyZTFhXSovCit7CiAgICAgaWYgKHNldHBnaWQocGlkLCBwZ3JwKSA8IDApCiAgICAgICAgIHJldHVybiBwb3NpeF9lcnJvcigpOwotICAgIFB5X0lOQ1JFRihQeV9Ob25lKTsKLSAgICByZXR1cm4gUHlfTm9uZTsKKyAgICBQeV9SRVRVUk5fTk9ORTsKIH0KICNlbmRpZiAvKiBIQVZFX1NFVFBHSUQgKi8KIAogCiAjaWZkZWYgSEFWRV9UQ0dFVFBHUlAKLVB5RG9jX1NUUlZBUihwb3NpeF90Y2dldHBncnBfX2RvY19fLAotInRjZ2V0cGdycChmZCkgLT4gcGdpZFxuXG5cCi1SZXR1cm4gdGhlIHByb2Nlc3MgZ3JvdXAgYXNzb2NpYXRlZCB3aXRoIHRoZSB0ZXJtaW5hbCBnaXZlbiBieSBhIGZkLiIpOworLypbY2xpbmljIGlucHV0XQorb3MudGNnZXRwZ3JwCisKKyAgICBmZDogaW50CisgICAgLworCitSZXR1cm4gdGhlIHByb2Nlc3MgZ3JvdXAgYXNzb2NpYXRlZCB3aXRoIHRoZSB0ZXJtaW5hbCBzcGVjaWZpZWQgYnkgZmQuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc190Y2dldHBncnBfX2RvY19fLAorInRjZ2V0cGdycCgkbW9kdWxlLCBmZCwgLylcbiIKKyItLVxuIgorIlxuIgorIlJldHVybiB0aGUgcHJvY2VzcyBncm91cCBhc3NvY2lhdGVkIHdpdGggdGhlIHRlcm1pbmFsIHNwZWNpZmllZCBieSBmZC4iKTsKKworI2RlZmluZSBPU19UQ0dFVFBHUlBfTUVUSE9EREVGICAgIFwKKyAgICB7InRjZ2V0cGdycCIsIChQeUNGdW5jdGlvbilvc190Y2dldHBncnAsIE1FVEhfVkFSQVJHUywgb3NfdGNnZXRwZ3JwX19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF90Y2dldHBncnAoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQorb3NfdGNnZXRwZ3JwX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgaW50IGZkKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX3RjZ2V0cGdycChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncykKIHsKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKICAgICBpbnQgZmQ7Ci0gICAgcGlkX3QgcGdpZDsKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgImk6dGNnZXRwZ3JwIiwgJmZkKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgcGdpZCA9IHRjZ2V0cGdycChmZCk7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgImk6dGNnZXRwZ3JwIiwKKyAgICAgICAgJmZkKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IG9zX3RjZ2V0cGdycF9pbXBsKG1vZHVsZSwgZmQpOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc190Y2dldHBncnBfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBpbnQgZmQpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9YWJjZjUyZWQ0YzhkMjJjYiBpbnB1dD03ZjZjMThlYWMxMGFkYTg2XSovCit7CisgICAgcGlkX3QgcGdpZCA9IHRjZ2V0cGdycChmZCk7CiAgICAgaWYgKHBnaWQgPCAwKQogICAgICAgICByZXR1cm4gcG9zaXhfZXJyb3IoKTsKICAgICByZXR1cm4gUHlMb25nX0Zyb21QaWQocGdpZCk7CkBAIC03Njc4LDIxICsxMDc1Miw1MiBAQAogCiAKICNpZmRlZiBIQVZFX1RDU0VUUEdSUAotUHlEb2NfU1RSVkFSKHBvc2l4X3Rjc2V0cGdycF9fZG9jX18sCi0idGNzZXRwZ3JwKGZkLCBwZ2lkKVxuXG5cCi1TZXQgdGhlIHByb2Nlc3MgZ3JvdXAgYXNzb2NpYXRlZCB3aXRoIHRoZSB0ZXJtaW5hbCBnaXZlbiBieSBhIGZkLiIpOworLypbY2xpbmljIGlucHV0XQorb3MudGNzZXRwZ3JwCisKKyAgICBmZDogaW50CisgICAgcGdpZDogcGlkX3QKKyAgICAvCisKK1NldCB0aGUgcHJvY2VzcyBncm91cCBhc3NvY2lhdGVkIHdpdGggdGhlIHRlcm1pbmFsIHNwZWNpZmllZCBieSBmZC4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX3Rjc2V0cGdycF9fZG9jX18sCisidGNzZXRwZ3JwKCRtb2R1bGUsIGZkLCBwZ2lkLCAvKVxuIgorIi0tXG4iCisiXG4iCisiU2V0IHRoZSBwcm9jZXNzIGdyb3VwIGFzc29jaWF0ZWQgd2l0aCB0aGUgdGVybWluYWwgc3BlY2lmaWVkIGJ5IGZkLiIpOworCisjZGVmaW5lIE9TX1RDU0VUUEdSUF9NRVRIT0RERUYgICAgXAorICAgIHsidGNzZXRwZ3JwIiwgKFB5Q0Z1bmN0aW9uKW9zX3Rjc2V0cGdycCwgTUVUSF9WQVJBUkdTLCBvc190Y3NldHBncnBfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X3Rjc2V0cGdycChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCitvc190Y3NldHBncnBfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBpbnQgZmQsIHBpZF90IHBnaWQpOworCitzdGF0aWMgUHlPYmplY3QgKgorb3NfdGNzZXRwZ3JwKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzKQogeworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOwogICAgIGludCBmZDsKICAgICBwaWRfdCBwZ2lkOwotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiaSIgX1B5X1BBUlNFX1BJRCAiOnRjc2V0cGdycCIsICZmZCwgJnBnaWQpKQotICAgICAgICByZXR1cm4gTlVMTDsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAiaSIgX1B5X1BBUlNFX1BJRCAiOnRjc2V0cGdycCIsCisgICAgICAgICZmZCwgJnBnaWQpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gb3NfdGNzZXRwZ3JwX2ltcGwobW9kdWxlLCBmZCwgcGdpZCk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK29zX3Rjc2V0cGdycF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGludCBmZCwgcGlkX3QgcGdpZCkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD03NmY5YmI4ZmQwMGYyMGY1IGlucHV0PTViZGM5OTdjNmE2MTkwMjBdKi8KK3sKICAgICBpZiAodGNzZXRwZ3JwKGZkLCBwZ2lkKSA8IDApCiAgICAgICAgIHJldHVybiBwb3NpeF9lcnJvcigpOwotICAgIFB5X0lOQ1JFRihQeV9Ob25lKTsKLSAgICByZXR1cm4gUHlfTm9uZTsKKyAgICBQeV9SRVRVUk5fTk9ORTsKIH0KICNlbmRpZiAvKiBIQVZFX1RDU0VUUEdSUCAqLwogCkBAIC03NzAyLDEyMSArMTA4MDcsMjI0IEBACiBleHRlcm4gaW50IF9QeV9vcGVuX2Nsb2V4ZWNfd29ya3M7CiAjZW5kaWYKIAotUHlEb2NfU1RSVkFSKHBvc2l4X29wZW5fX2RvY19fLAotIm9wZW4ocGF0aCwgZmxhZ3MsIG1vZGU9MG83NzcsICosIGRpcl9mZD1Ob25lKVxuXG5cCi1PcGVuIGEgZmlsZSBmb3IgbG93IGxldmVsIElPLiAgUmV0dXJucyBhIGZpbGUgaGFuZGxlIChpbnRlZ2VyKS5cblwKLVxuXAotSWYgZGlyX2ZkIGlzIG5vdCBOb25lLCBpdCBzaG91bGQgYmUgYSBmaWxlIGRlc2NyaXB0b3Igb3BlbiB0byBhIGRpcmVjdG9yeSxcblwKLSAgYW5kIHBhdGggc2hvdWxkIGJlIHJlbGF0aXZlOyBwYXRoIHdpbGwgdGhlbiBiZSByZWxhdGl2ZSB0byB0aGF0IGRpcmVjdG9yeS5cblwKLWRpcl9mZCBtYXkgbm90IGJlIGltcGxlbWVudGVkIG9uIHlvdXIgcGxhdGZvcm0uXG5cCi0gIElmIGl0IGlzIHVuYXZhaWxhYmxlLCB1c2luZyBpdCB3aWxsIHJhaXNlIGEgTm90SW1wbGVtZW50ZWRFcnJvci4iKTsKKworLypbY2xpbmljIGlucHV0XQorb3Mub3BlbiAtPiBpbnQKKyAgICBwYXRoOiBwYXRoX3QKKyAgICBmbGFnczogaW50CisgICAgbW9kZTogaW50ID0gMG83NzcKKyAgICAqCisgICAgZGlyX2ZkOiBkaXJfZmQocmVxdWlyZXM9J29wZW5hdCcpID0gTm9uZQorCisjICJvcGVuKHBhdGgsIGZsYWdzLCBtb2RlPTBvNzc3LCAqLCBkaXJfZmQ9Tm9uZSlcblxuXAorCitPcGVuIGEgZmlsZSBmb3IgbG93IGxldmVsIElPLiAgUmV0dXJucyBhIGZpbGUgZGVzY3JpcHRvciAoaW50ZWdlcikuCisKK0lmIGRpcl9mZCBpcyBub3QgTm9uZSwgaXQgc2hvdWxkIGJlIGEgZmlsZSBkZXNjcmlwdG9yIG9wZW4gdG8gYSBkaXJlY3RvcnksCisgIGFuZCBwYXRoIHNob3VsZCBiZSByZWxhdGl2ZTsgcGF0aCB3aWxsIHRoZW4gYmUgcmVsYXRpdmUgdG8gdGhhdCBkaXJlY3RvcnkuCitkaXJfZmQgbWF5IG5vdCBiZSBpbXBsZW1lbnRlZCBvbiB5b3VyIHBsYXRmb3JtLgorICBJZiBpdCBpcyB1bmF2YWlsYWJsZSwgdXNpbmcgaXQgd2lsbCByYWlzZSBhIE5vdEltcGxlbWVudGVkRXJyb3IuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19vcGVuX19kb2NfXywKKyJvcGVuKCRtb2R1bGUsIC8sIHBhdGgsIGZsYWdzLCBtb2RlPTUxMSwgKiwgZGlyX2ZkPU5vbmUpXG4iCisiLS1cbiIKKyJcbiIKKyJPcGVuIGEgZmlsZSBmb3IgbG93IGxldmVsIElPLiAgUmV0dXJucyBhIGZpbGUgZGVzY3JpcHRvciAoaW50ZWdlcikuXG4iCisiXG4iCisiSWYgZGlyX2ZkIGlzIG5vdCBOb25lLCBpdCBzaG91bGQgYmUgYSBmaWxlIGRlc2NyaXB0b3Igb3BlbiB0byBhIGRpcmVjdG9yeSxcbiIKKyIgIGFuZCBwYXRoIHNob3VsZCBiZSByZWxhdGl2ZTsgcGF0aCB3aWxsIHRoZW4gYmUgcmVsYXRpdmUgdG8gdGhhdCBkaXJlY3RvcnkuXG4iCisiZGlyX2ZkIG1heSBub3QgYmUgaW1wbGVtZW50ZWQgb24geW91ciBwbGF0Zm9ybS5cbiIKKyIgIElmIGl0IGlzIHVuYXZhaWxhYmxlLCB1c2luZyBpdCB3aWxsIHJhaXNlIGEgTm90SW1wbGVtZW50ZWRFcnJvci4iKTsKKworI2RlZmluZSBPU19PUEVOX01FVEhPRERFRiAgICBcCisgICAgeyJvcGVuIiwgKFB5Q0Z1bmN0aW9uKW9zX29wZW4sIE1FVEhfVkFSQVJHU3xNRVRIX0tFWVdPUkRTLCBvc19vcGVuX19kb2NfX30sCisKK3N0YXRpYyBpbnQKK29zX29wZW5faW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBwYXRoX3QgKnBhdGgsIGludCBmbGFncywgaW50IG1vZGUsIGludCBkaXJfZmQpOwogCiBzdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfb3BlbihQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCitvc19vcGVuKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQogewotICAgIHBhdGhfdCBwYXRoOwotICAgIGludCBmbGFnczsKLSAgICBpbnQgbW9kZSA9IDA3Nzc7Ci0gICAgaW50IGRpcl9mZCA9IERFRkFVTFRfRElSX0ZEOwotICAgIGludCBmZDsKICAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKLSAgICBzdGF0aWMgY2hhciAqa2V5d29yZHNbXSA9IHsicGF0aCIsICJmbGFncyIsICJtb2RlIiwgImRpcl9mZCIsIE5VTEx9OworICAgIHN0YXRpYyBjaGFyICpfa2V5d29yZHNbXSA9IHsicGF0aCIsICJmbGFncyIsICJtb2RlIiwgImRpcl9mZCIsIE5VTEx9OworICAgIHBhdGhfdCBwYXRoID0gUEFUSF9UX0lOSVRJQUxJWkUoIm9wZW4iLCAicGF0aCIsIDAsIDApOworICAgIGludCBmbGFnczsKKyAgICBpbnQgbW9kZSA9IDUxMTsKKyAgICBpbnQgZGlyX2ZkID0gREVGQVVMVF9ESVJfRkQ7CisgICAgaW50IF9yZXR1cm5fdmFsdWU7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsCisgICAgICAgICJPJml8aSRPJjpvcGVuIiwgX2tleXdvcmRzLAorICAgICAgICBwYXRoX2NvbnZlcnRlciwgJnBhdGgsICZmbGFncywgJm1vZGUsIE9QRU5BVF9ESVJfRkRfQ09OVkVSVEVSLCAmZGlyX2ZkKSkKKyAgICAgICAgZ290byBleGl0OworICAgIF9yZXR1cm5fdmFsdWUgPSBvc19vcGVuX2ltcGwobW9kdWxlLCAmcGF0aCwgZmxhZ3MsIG1vZGUsIGRpcl9mZCk7CisgICAgaWYgKChfcmV0dXJuX3ZhbHVlID09IC0xKSAmJiBQeUVycl9PY2N1cnJlZCgpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gUHlMb25nX0Zyb21Mb25nKChsb25nKV9yZXR1cm5fdmFsdWUpOworCitleGl0OgorICAgIC8qIENsZWFudXAgZm9yIHBhdGggKi8KKyAgICBwYXRoX2NsZWFudXAoJnBhdGgpOworCisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIGludAorb3Nfb3Blbl9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIHBhdGhfdCAqcGF0aCwgaW50IGZsYWdzLCBpbnQgbW9kZSwgaW50IGRpcl9mZCkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD0wNWI2OGZjNGVkNWUyOWM5IGlucHV0PWFkODYyM2IyOWFjZDI5MzRdKi8KK3sKKyAgICBpbnQgZmQ7CisgICAgaW50IGFzeW5jX2VyciA9IDA7CisKICNpZmRlZiBPX0NMT0VYRUMKICAgICBpbnQgKmF0b21pY19mbGFnX3dvcmtzID0gJl9QeV9vcGVuX2Nsb2V4ZWNfd29ya3M7CiAjZWxpZiAhZGVmaW5lZChNU19XSU5ET1dTKQogICAgIGludCAqYXRvbWljX2ZsYWdfd29ya3MgPSBOVUxMOwogI2VuZGlmCiAKLSAgICBtZW1zZXQoJnBhdGgsIDAsIHNpemVvZihwYXRoKSk7Ci0gICAgcGF0aC5mdW5jdGlvbl9uYW1lID0gIm9wZW4iOwotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywgIk8maXxpJE8mOm9wZW4iLCBrZXl3b3JkcywKLSAgICAgICAgcGF0aF9jb252ZXJ0ZXIsICZwYXRoLAotICAgICAgICAmZmxhZ3MsICZtb2RlLAotI2lmZGVmIEhBVkVfT1BFTkFUCi0gICAgICAgIGRpcl9mZF9jb252ZXJ0ZXIsICZkaXJfZmQKLSNlbHNlCi0gICAgICAgIGRpcl9mZF91bmF2YWlsYWJsZSwgJmRpcl9mZAotI2VuZGlmCi0gICAgICAgICkpCi0gICAgICAgIHJldHVybiBOVUxMOwotCiAjaWZkZWYgTVNfV0lORE9XUwogICAgIGZsYWdzIHw9IE9fTk9JTkhFUklUOwogI2VsaWYgZGVmaW5lZChPX0NMT0VYRUMpCiAgICAgZmxhZ3MgfD0gT19DTE9FWEVDOwogI2VuZGlmCiAKLSAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCisgICAgZG8geworICAgICAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCiAjaWZkZWYgTVNfV0lORE9XUwotICAgIGlmIChwYXRoLndpZGUpCi0gICAgICAgIGZkID0gX3dvcGVuKHBhdGgud2lkZSwgZmxhZ3MsIG1vZGUpOwotICAgIGVsc2UKKyAgICAgICAgaWYgKHBhdGgtPndpZGUpCisgICAgICAgICAgICBmZCA9IF93b3BlbihwYXRoLT53aWRlLCBmbGFncywgbW9kZSk7CisgICAgICAgIGVsc2UKICNlbmRpZgogI2lmZGVmIEhBVkVfT1BFTkFUCi0gICAgaWYgKGRpcl9mZCAhPSBERUZBVUxUX0RJUl9GRCkKLSAgICAgICAgZmQgPSBvcGVuYXQoZGlyX2ZkLCBwYXRoLm5hcnJvdywgZmxhZ3MsIG1vZGUpOwotICAgIGVsc2UKKyAgICAgICAgaWYgKGRpcl9mZCAhPSBERUZBVUxUX0RJUl9GRCkKKyAgICAgICAgICAgIGZkID0gb3BlbmF0KGRpcl9mZCwgcGF0aC0+bmFycm93LCBmbGFncywgbW9kZSk7CisgICAgICAgIGVsc2UKICNlbmRpZgotICAgICAgICBmZCA9IG9wZW4ocGF0aC5uYXJyb3csIGZsYWdzLCBtb2RlKTsKLSAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUworICAgICAgICAgICAgZmQgPSBvcGVuKHBhdGgtPm5hcnJvdywgZmxhZ3MsIG1vZGUpOworICAgICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUworICAgIH0gd2hpbGUgKGZkIDwgMCAmJiBlcnJubyA9PSBFSU5UUiAmJiAhKGFzeW5jX2VyciA9IFB5RXJyX0NoZWNrU2lnbmFscygpKSk7CiAKICAgICBpZiAoZmQgPT0gLTEpIHsKLSAgICAgICAgUHlFcnJfU2V0RnJvbUVycm5vV2l0aEZpbGVuYW1lT2JqZWN0KFB5RXhjX09TRXJyb3IsIHBhdGgub2JqZWN0KTsKLSAgICAgICAgZ290byBleGl0OworICAgICAgICBpZiAoIWFzeW5jX2VycikKKyAgICAgICAgICAgIFB5RXJyX1NldEZyb21FcnJub1dpdGhGaWxlbmFtZU9iamVjdChQeUV4Y19PU0Vycm9yLCBwYXRoLT5vYmplY3QpOworICAgICAgICByZXR1cm4gLTE7CiAgICAgfQogCiAjaWZuZGVmIE1TX1dJTkRPV1MKICAgICBpZiAoX1B5X3NldF9pbmhlcml0YWJsZShmZCwgMCwgYXRvbWljX2ZsYWdfd29ya3MpIDwgMCkgewogICAgICAgICBjbG9zZShmZCk7Ci0gICAgICAgIGdvdG8gZXhpdDsKKyAgICAgICAgcmV0dXJuIC0xOwogICAgIH0KICNlbmRpZgogCi0gICAgcmV0dXJuX3ZhbHVlID0gUHlMb25nX0Zyb21Mb25nKChsb25nKWZkKTsKKyAgICByZXR1cm4gZmQ7Cit9CisKKworLypbY2xpbmljIGlucHV0XQorb3MuY2xvc2UKKworICAgIGZkOiBpbnQKKworQ2xvc2UgYSBmaWxlIGRlc2NyaXB0b3IuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19jbG9zZV9fZG9jX18sCisiY2xvc2UoJG1vZHVsZSwgLywgZmQpXG4iCisiLS1cbiIKKyJcbiIKKyJDbG9zZSBhIGZpbGUgZGVzY3JpcHRvci4iKTsKKworI2RlZmluZSBPU19DTE9TRV9NRVRIT0RERUYgICAgXAorICAgIHsiY2xvc2UiLCAoUHlDRnVuY3Rpb24pb3NfY2xvc2UsIE1FVEhfVkFSQVJHU3xNRVRIX0tFWVdPUkRTLCBvc19jbG9zZV9fZG9jX199LAorCitzdGF0aWMgUHlPYmplY3QgKgorb3NfY2xvc2VfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBpbnQgZmQpOworCitzdGF0aWMgUHlPYmplY3QgKgorb3NfY2xvc2UoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCit7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgc3RhdGljIGNoYXIgKl9rZXl3b3Jkc1tdID0geyJmZCIsIE5VTEx9OworICAgIGludCBmZDsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywKKyAgICAgICAgImk6Y2xvc2UiLCBfa2V5d29yZHMsCisgICAgICAgICZmZCkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBvc19jbG9zZV9pbXBsKG1vZHVsZSwgZmQpOwogCiBleGl0OgotICAgIHBhdGhfY2xlYW51cCgmcGF0aCk7CiAgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKIH0KIAotUHlEb2NfU1RSVkFSKHBvc2l4X2Nsb3NlX19kb2NfXywKLSJjbG9zZShmZClcblxuXAotQ2xvc2UgYSBmaWxlIGRlc2NyaXB0b3IgKGZvciBsb3cgbGV2ZWwgSU8pLiIpOwotCi0vKgotVGhlIHVuZGVyc2NvcmUgYXQgZW5kIG9mIGZ1bmN0aW9uIG5hbWUgYXZvaWRzIGEgbmFtZSBjbGFzaCB3aXRoIHRoZSBsaWJjCi1mdW5jdGlvbiBwb3NpeF9jbG9zZS4KLSovCiBzdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfY2xvc2VfKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK29zX2Nsb3NlX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgaW50IGZkKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTkyNzAwNGUyOWFkNTU4MDggaW5wdXQ9MmJjNDI0NTFjYTVjMzIyM10qLwogewotICAgIGludCBmZCwgcmVzOwotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiaTpjbG9zZSIsICZmZCkpCi0gICAgICAgIHJldHVybiBOVUxMOworICAgIGludCByZXM7CiAgICAgaWYgKCFfUHlWZXJpZnlfZmQoZmQpKQogICAgICAgICByZXR1cm4gcG9zaXhfZXJyb3IoKTsKKyAgICAvKiBXZSBkbyBub3Qgd2FudCB0byByZXRyeSB1cG9uIEVJTlRSOiBzZWUgaHR0cDovL2x3bi5uZXQvQXJ0aWNsZXMvNTc2NDc4LworICAgICAqIGFuZCBodHRwOi8vbGludXguZGVya2VpbGVyLmNvbS9NYWlsaW5nLUxpc3RzL0tlcm5lbC8yMDA1LTA5LzMwMDAuaHRtbAorICAgICAqIGZvciBtb3JlIGRldGFpbHMuCisgICAgICovCiAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwogICAgIHJlcyA9IGNsb3NlKGZkKTsKICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUwogICAgIGlmIChyZXMgPCAwKQogICAgICAgICByZXR1cm4gcG9zaXhfZXJyb3IoKTsKLSAgICBQeV9JTkNSRUYoUHlfTm9uZSk7Ci0gICAgcmV0dXJuIFB5X05vbmU7CisgICAgUHlfUkVUVVJOX05PTkU7CiB9CiAKIAotUHlEb2NfU1RSVkFSKHBvc2l4X2Nsb3NlcmFuZ2VfX2RvY19fLAotImNsb3NlcmFuZ2UoZmRfbG93LCBmZF9oaWdoKVxuXG5cCi1DbG9zZXMgYWxsIGZpbGUgZGVzY3JpcHRvcnMgaW4gW2ZkX2xvdywgZmRfaGlnaCksIGlnbm9yaW5nIGVycm9ycy4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK29zLmNsb3NlcmFuZ2UKKworICAgIGZkX2xvdzogaW50CisgICAgZmRfaGlnaDogaW50CisgICAgLworCitDbG9zZXMgYWxsIGZpbGUgZGVzY3JpcHRvcnMgaW4gW2ZkX2xvdywgZmRfaGlnaCksIGlnbm9yaW5nIGVycm9ycy4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX2Nsb3NlcmFuZ2VfX2RvY19fLAorImNsb3NlcmFuZ2UoJG1vZHVsZSwgZmRfbG93LCBmZF9oaWdoLCAvKVxuIgorIi0tXG4iCisiXG4iCisiQ2xvc2VzIGFsbCBmaWxlIGRlc2NyaXB0b3JzIGluIFtmZF9sb3csIGZkX2hpZ2gpLCBpZ25vcmluZyBlcnJvcnMuIik7CisKKyNkZWZpbmUgT1NfQ0xPU0VSQU5HRV9NRVRIT0RERUYgICAgXAorICAgIHsiY2xvc2VyYW5nZSIsIChQeUNGdW5jdGlvbilvc19jbG9zZXJhbmdlLCBNRVRIX1ZBUkFSR1MsIG9zX2Nsb3NlcmFuZ2VfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X2Nsb3NlcmFuZ2UoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQorb3NfY2xvc2VyYW5nZV9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGludCBmZF9sb3csIGludCBmZF9oaWdoKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX2Nsb3NlcmFuZ2UoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MpCiB7Ci0gICAgaW50IGZkX2Zyb20sIGZkX3RvLCBpOwotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiaWk6Y2xvc2VyYW5nZSIsICZmZF9mcm9tLCAmZmRfdG8pKQotICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBpbnQgZmRfbG93OworICAgIGludCBmZF9oaWdoOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCisgICAgICAgICJpaTpjbG9zZXJhbmdlIiwKKyAgICAgICAgJmZkX2xvdywgJmZkX2hpZ2gpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gb3NfY2xvc2VyYW5nZV9pbXBsKG1vZHVsZSwgZmRfbG93LCBmZF9oaWdoKTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorb3NfY2xvc2VyYW5nZV9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGludCBmZF9sb3csIGludCBmZF9oaWdoKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTBhOTI5ZWNlMzg2ODExYzMgaW5wdXQ9NTg1NWEzZDA1M2ViZDRlY10qLworeworICAgIGludCBpOwogICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKLSAgICBmb3IgKGkgPSBmZF9mcm9tOyBpIDwgZmRfdG87IGkrKykKKyAgICBmb3IgKGkgPSBmZF9sb3c7IGkgPCBmZF9oaWdoOyBpKyspCiAgICAgICAgIGlmIChfUHlWZXJpZnlfZmQoaSkpCiAgICAgICAgICAgICBjbG9zZShpKTsKICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUwpAQCAtNzgyNCwzNiArMTEwMzIsOTkgQEAKIH0KIAogCi1QeURvY19TVFJWQVIocG9zaXhfZHVwX19kb2NfXywKLSJkdXAoZmQpIC0+IGZkMlxuXG5cCi1SZXR1cm4gYSBkdXBsaWNhdGUgb2YgYSBmaWxlIGRlc2NyaXB0b3IuIik7CisvKltjbGluaWMgaW5wdXRdCitvcy5kdXAgLT4gaW50CisKKyAgICBmZDogaW50CisgICAgLworCitSZXR1cm4gYSBkdXBsaWNhdGUgb2YgYSBmaWxlIGRlc2NyaXB0b3IuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19kdXBfX2RvY19fLAorImR1cCgkbW9kdWxlLCBmZCwgLylcbiIKKyItLVxuIgorIlxuIgorIlJldHVybiBhIGR1cGxpY2F0ZSBvZiBhIGZpbGUgZGVzY3JpcHRvci4iKTsKKworI2RlZmluZSBPU19EVVBfTUVUSE9EREVGICAgIFwKKyAgICB7ImR1cCIsIChQeUNGdW5jdGlvbilvc19kdXAsIE1FVEhfVkFSQVJHUywgb3NfZHVwX19kb2NfX30sCisKK3N0YXRpYyBpbnQKK29zX2R1cF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGludCBmZCk7CiAKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF9kdXAoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQorb3NfZHVwKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzKQogeworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOwogICAgIGludCBmZDsKKyAgICBpbnQgX3JldHVybl92YWx1ZTsKIAotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiaTpkdXAiLCAmZmQpKQotICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgImk6ZHVwIiwKKyAgICAgICAgJmZkKSkKKyAgICAgICAgZ290byBleGl0OworICAgIF9yZXR1cm5fdmFsdWUgPSBvc19kdXBfaW1wbChtb2R1bGUsIGZkKTsKKyAgICBpZiAoKF9yZXR1cm5fdmFsdWUgPT0gLTEpICYmIFB5RXJyX09jY3VycmVkKCkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBQeUxvbmdfRnJvbUxvbmcoKGxvbmcpX3JldHVybl92YWx1ZSk7CiAKLSAgICBmZCA9IF9QeV9kdXAoZmQpOwotICAgIGlmIChmZCA9PSAtMSkKLSAgICAgICAgcmV0dXJuIE5VTEw7CitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CiAKLSAgICByZXR1cm4gUHlMb25nX0Zyb21Mb25nKChsb25nKWZkKTsKK3N0YXRpYyBpbnQKK29zX2R1cF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGludCBmZCkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD03NTk0M2UwNTdiMjVlMWJkIGlucHV0PTZmMTBmN2VhOTdmNzg1MmFdKi8KK3sKKyAgICByZXR1cm4gX1B5X2R1cChmZCk7CiB9CiAKIAotUHlEb2NfU1RSVkFSKHBvc2l4X2R1cDJfX2RvY19fLAotImR1cDIob2xkX2ZkLCBuZXdfZmQpXG5cblwKLUR1cGxpY2F0ZSBmaWxlIGRlc2NyaXB0b3IuIik7CisvKltjbGluaWMgaW5wdXRdCitvcy5kdXAyCisgICAgZmQ6IGludAorICAgIGZkMjogaW50CisgICAgaW5oZXJpdGFibGU6IGJvb2w9VHJ1ZQorCitEdXBsaWNhdGUgZmlsZSBkZXNjcmlwdG9yLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3NfZHVwMl9fZG9jX18sCisiZHVwMigkbW9kdWxlLCAvLCBmZCwgZmQyLCBpbmhlcml0YWJsZT1UcnVlKVxuIgorIi0tXG4iCisiXG4iCisiRHVwbGljYXRlIGZpbGUgZGVzY3JpcHRvci4iKTsKKworI2RlZmluZSBPU19EVVAyX01FVEhPRERFRiAgICBcCisgICAgeyJkdXAyIiwgKFB5Q0Z1bmN0aW9uKW9zX2R1cDIsIE1FVEhfVkFSQVJHU3xNRVRIX0tFWVdPUkRTLCBvc19kdXAyX19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF9kdXAyKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3YXJncykKK29zX2R1cDJfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBpbnQgZmQsIGludCBmZDIsIGludCBpbmhlcml0YWJsZSk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19kdXAyKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQogewotICAgIHN0YXRpYyBjaGFyICprZXl3b3Jkc1tdID0geyJmZCIsICJmZDIiLCAiaW5oZXJpdGFibGUiLCBOVUxMfTsKLSAgICBpbnQgZmQsIGZkMjsKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBzdGF0aWMgY2hhciAqX2tleXdvcmRzW10gPSB7ImZkIiwgImZkMiIsICJpbmhlcml0YWJsZSIsIE5VTEx9OworICAgIGludCBmZDsKKyAgICBpbnQgZmQyOwogICAgIGludCBpbmhlcml0YWJsZSA9IDE7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsCisgICAgICAgICJpaXxwOmR1cDIiLCBfa2V5d29yZHMsCisgICAgICAgICZmZCwgJmZkMiwgJmluaGVyaXRhYmxlKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IG9zX2R1cDJfaW1wbChtb2R1bGUsIGZkLCBmZDIsIGluaGVyaXRhYmxlKTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorb3NfZHVwMl9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGludCBmZCwgaW50IGZkMiwgaW50IGluaGVyaXRhYmxlKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTUzMWU0ODJkZDExYTk5YTAgaW5wdXQ9NzZlOTZmNTExYmUwMzUyZl0qLworewogICAgIGludCByZXM7CiAjaWYgZGVmaW5lZChIQVZFX0RVUDMpICYmIFwKICAgICAhKGRlZmluZWQoSEFWRV9GQ05UTF9IKSAmJiBkZWZpbmVkKEZfRFVQMkZEX0NMT0VYRUMpKQpAQCAtNzg2MSwxMyArMTExMzIsMTMgQEAKICAgICBpbnQgZHVwM193b3JrcyA9IC0xOwogI2VuZGlmCiAKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsICJpaXxpOmR1cDIiLCBrZXl3b3JkcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZmQsICZmZDIsICZpbmhlcml0YWJsZSkpCi0gICAgICAgIHJldHVybiBOVUxMOwotCiAgICAgaWYgKCFfUHlWZXJpZnlfZmRfZHVwMihmZCwgZmQyKSkKICAgICAgICAgcmV0dXJuIHBvc2l4X2Vycm9yKCk7CiAKKyAgICAvKiBkdXAyKCkgY2FuIGZhaWwgd2l0aCBFSU5UUiBpZiB0aGUgdGFyZ2V0IEZEIGlzIGFscmVhZHkgb3BlbiwgYmVjYXVzZSBpdAorICAgICAqIHRoZW4gaGFzIHRvIGJlIGNsb3NlZC4gU2VlIG9zX2Nsb3NlX2ltcGwoKSBmb3Igd2h5IHdlIGRvbid0IGhhbmRsZSBFSU5UUgorICAgICAqIHVwb24gY2xvc2UoKSwgYW5kIHRoZXJlZm9yZSBiZWxvdy4KKyAgICAgKi8KICNpZmRlZiBNU19XSU5ET1dTCiAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwogICAgIHJlcyA9IGR1cDIoZmQsIGZkMik7CkBAIC03OTI1LDMwICsxMTE5Niw3MSBAQAogCiAjZW5kaWYKIAotICAgIFB5X0lOQ1JFRihQeV9Ob25lKTsKLSAgICByZXR1cm4gUHlfTm9uZTsKKyAgICBQeV9SRVRVUk5fTk9ORTsKIH0KIAorCiAjaWZkZWYgSEFWRV9MT0NLRgotUHlEb2NfU1RSVkFSKHBvc2l4X2xvY2tmX19kb2NfXywKLSJsb2NrZihmZCwgY21kLCBsZW4pXG5cblwKLUFwcGx5LCB0ZXN0IG9yIHJlbW92ZSBhIFBPU0lYIGxvY2sgb24gYW4gb3BlbiBmaWxlIGRlc2NyaXB0b3IuXG5cblwKLWZkIGlzIGFuIG9wZW4gZmlsZSBkZXNjcmlwdG9yLlxuXAotY21kIHNwZWNpZmllcyB0aGUgY29tbWFuZCB0byB1c2UgLSBvbmUgb2YgRl9MT0NLLCBGX1RMT0NLLCBGX1VMT0NLIG9yXG5cCi1GX1RFU1QuXG5cCi1sZW4gc3BlY2lmaWVzIHRoZSBzZWN0aW9uIG9mIHRoZSBmaWxlIHRvIGxvY2suIik7CisvKltjbGluaWMgaW5wdXRdCitvcy5sb2NrZgorCisgICAgZmQ6IGludAorICAgICAgICBBbiBvcGVuIGZpbGUgZGVzY3JpcHRvci4KKyAgICBjb21tYW5kOiBpbnQKKyAgICAgICAgT25lIG9mIEZfTE9DSywgRl9UTE9DSywgRl9VTE9DSyBvciBGX1RFU1QuCisgICAgbGVuZ3RoOiBQeV9vZmZfdAorICAgICAgICBUaGUgbnVtYmVyIG9mIGJ5dGVzIHRvIGxvY2ssIHN0YXJ0aW5nIGF0IHRoZSBjdXJyZW50IHBvc2l0aW9uLgorICAgIC8KKworQXBwbHksIHRlc3Qgb3IgcmVtb3ZlIGEgUE9TSVggbG9jayBvbiBhbiBvcGVuIGZpbGUgZGVzY3JpcHRvci4KKworW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3NfbG9ja2ZfX2RvY19fLAorImxvY2tmKCRtb2R1bGUsIGZkLCBjb21tYW5kLCBsZW5ndGgsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJBcHBseSwgdGVzdCBvciByZW1vdmUgYSBQT1NJWCBsb2NrIG9uIGFuIG9wZW4gZmlsZSBkZXNjcmlwdG9yLlxuIgorIlxuIgorIiAgZmRcbiIKKyIgICAgQW4gb3BlbiBmaWxlIGRlc2NyaXB0b3IuXG4iCisiICBjb21tYW5kXG4iCisiICAgIE9uZSBvZiBGX0xPQ0ssIEZfVExPQ0ssIEZfVUxPQ0sgb3IgRl9URVNULlxuIgorIiAgbGVuZ3RoXG4iCisiICAgIFRoZSBudW1iZXIgb2YgYnl0ZXMgdG8gbG9jaywgc3RhcnRpbmcgYXQgdGhlIGN1cnJlbnQgcG9zaXRpb24uIik7CisKKyNkZWZpbmUgT1NfTE9DS0ZfTUVUSE9EREVGICAgIFwKKyAgICB7ImxvY2tmIiwgKFB5Q0Z1bmN0aW9uKW9zX2xvY2tmLCBNRVRIX1ZBUkFSR1MsIG9zX2xvY2tmX19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF9sb2NrZihQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCitvc19sb2NrZl9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGludCBmZCwgaW50IGNvbW1hbmQsIFB5X29mZl90IGxlbmd0aCk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19sb2NrZihQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncykKIHsKLSAgICBpbnQgZmQsIGNtZCwgcmVzOwotICAgIG9mZl90IGxlbjsKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgImlpTyY6bG9ja2YiLAotICAgICAgICAgICAgJmZkLCAmY21kLCBfcGFyc2Vfb2ZmX3QsICZsZW4pKQotICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBpbnQgZmQ7CisgICAgaW50IGNvbW1hbmQ7CisgICAgUHlfb2ZmX3QgbGVuZ3RoOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCisgICAgICAgICJpaU8mOmxvY2tmIiwKKyAgICAgICAgJmZkLCAmY29tbWFuZCwgUHlfb2ZmX3RfY29udmVydGVyLCAmbGVuZ3RoKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IG9zX2xvY2tmX2ltcGwobW9kdWxlLCBmZCwgY29tbWFuZCwgbGVuZ3RoKTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorb3NfbG9ja2ZfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBpbnQgZmQsIGludCBjb21tYW5kLCBQeV9vZmZfdCBsZW5ndGgpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9MWIyODM0NmFjNzMzNWMwZiBpbnB1dD02NWRhNDFkMjEwNmU5Yjc5XSovCit7CisgICAgaW50IHJlczsKIAogICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKLSAgICByZXMgPSBsb2NrZihmZCwgY21kLCBsZW4pOworICAgIHJlcyA9IGxvY2tmKGZkLCBjb21tYW5kLCBsZW5ndGgpOwogICAgIFB5X0VORF9BTExPV19USFJFQURTCiAKICAgICBpZiAocmVzIDwgMCkKQEAgLTc5NTYsOTUgKzExMjY4LDE3OSBAQAogCiAgICAgUHlfUkVUVVJOX05PTkU7CiB9Ci0jZW5kaWYKKyNlbmRpZiAvKiBIQVZFX0xPQ0tGICovCiAKIAotUHlEb2NfU1RSVkFSKHBvc2l4X2xzZWVrX19kb2NfXywKLSJsc2VlayhmZCwgcG9zLCBob3cpIC0+IG5ld3Bvc1xuXG5cCi1TZXQgdGhlIGN1cnJlbnQgcG9zaXRpb24gb2YgYSBmaWxlIGRlc2NyaXB0b3IuXG5cCi1SZXR1cm4gdGhlIG5ldyBjdXJzb3IgcG9zaXRpb24gaW4gYnl0ZXMsIHN0YXJ0aW5nIGZyb20gdGhlIGJlZ2lubmluZy4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK29zLmxzZWVrIC0+IFB5X29mZl90CisKKyAgICBmZDogaW50CisgICAgcG9zaXRpb246IFB5X29mZl90CisgICAgaG93OiBpbnQKKyAgICAvCisKK1NldCB0aGUgcG9zaXRpb24gb2YgYSBmaWxlIGRlc2NyaXB0b3IuICBSZXR1cm4gdGhlIG5ldyBwb3NpdGlvbi4KKworUmV0dXJuIHRoZSBuZXcgY3Vyc29yIHBvc2l0aW9uIGluIG51bWJlciBvZiBieXRlcworcmVsYXRpdmUgdG8gdGhlIGJlZ2lubmluZyBvZiB0aGUgZmlsZS4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX2xzZWVrX19kb2NfXywKKyJsc2VlaygkbW9kdWxlLCBmZCwgcG9zaXRpb24sIGhvdywgLylcbiIKKyItLVxuIgorIlxuIgorIlNldCB0aGUgcG9zaXRpb24gb2YgYSBmaWxlIGRlc2NyaXB0b3IuICBSZXR1cm4gdGhlIG5ldyBwb3NpdGlvbi5cbiIKKyJcbiIKKyJSZXR1cm4gdGhlIG5ldyBjdXJzb3IgcG9zaXRpb24gaW4gbnVtYmVyIG9mIGJ5dGVzXG4iCisicmVsYXRpdmUgdG8gdGhlIGJlZ2lubmluZyBvZiB0aGUgZmlsZS4iKTsKKworI2RlZmluZSBPU19MU0VFS19NRVRIT0RERUYgICAgXAorICAgIHsibHNlZWsiLCAoUHlDRnVuY3Rpb24pb3NfbHNlZWssIE1FVEhfVkFSQVJHUywgb3NfbHNlZWtfX2RvY19ffSwKKworc3RhdGljIFB5X29mZl90Citvc19sc2Vla19pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGludCBmZCwgUHlfb2ZmX3QgcG9zaXRpb24sIGludCBob3cpOwogCiBzdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfbHNlZWsoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQorb3NfbHNlZWsoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MpCiB7Ci0gICAgaW50IGZkLCBob3c7Ci0jaWZkZWYgTVNfV0lORE9XUwotICAgIFBZX0xPTkdfTE9ORyBwb3MsIHJlczsKLSNlbHNlCi0gICAgb2ZmX3QgcG9zLCByZXM7Ci0jZW5kaWYKLSAgICBQeU9iamVjdCAqcG9zb2JqOwotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiaU9pOmxzZWVrIiwgJmZkLCAmcG9zb2JqLCAmaG93KSkKLSAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgaW50IGZkOworICAgIFB5X29mZl90IHBvc2l0aW9uOworICAgIGludCBob3c7CisgICAgUHlfb2ZmX3QgX3JldHVybl92YWx1ZTsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAiaU8maTpsc2VlayIsCisgICAgICAgICZmZCwgUHlfb2ZmX3RfY29udmVydGVyLCAmcG9zaXRpb24sICZob3cpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgX3JldHVybl92YWx1ZSA9IG9zX2xzZWVrX2ltcGwobW9kdWxlLCBmZCwgcG9zaXRpb24sIGhvdyk7CisgICAgaWYgKChfcmV0dXJuX3ZhbHVlID09IC0xKSAmJiBQeUVycl9PY2N1cnJlZCgpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gUHlMb25nX0Zyb21QeV9vZmZfdChfcmV0dXJuX3ZhbHVlKTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlfb2ZmX3QKK29zX2xzZWVrX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgaW50IGZkLCBQeV9vZmZfdCBwb3NpdGlvbiwgaW50IGhvdykKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD04OGNmYzE0NmY1NTY2N2FmIGlucHV0PTkwMjY1NGFkM2Y5NmE2ZDNdKi8KK3sKKyAgICBQeV9vZmZfdCByZXN1bHQ7CisKKyAgICBpZiAoIV9QeVZlcmlmeV9mZChmZCkpIHsKKyAgICAgICAgcG9zaXhfZXJyb3IoKTsKKyAgICAgICAgcmV0dXJuIC0xOworICAgIH0KICNpZmRlZiBTRUVLX1NFVAogICAgIC8qIFR1cm4gMCwgMSwgMiBpbnRvIFNFRUtfe1NFVCxDVVIsRU5EfSAqLwogICAgIHN3aXRjaCAoaG93KSB7Ci0gICAgY2FzZSAwOiBob3cgPSBTRUVLX1NFVDsgYnJlYWs7Ci0gICAgY2FzZSAxOiBob3cgPSBTRUVLX0NVUjsgYnJlYWs7Ci0gICAgY2FzZSAyOiBob3cgPSBTRUVLX0VORDsgYnJlYWs7CisgICAgICAgIGNhc2UgMDogaG93ID0gU0VFS19TRVQ7IGJyZWFrOworICAgICAgICBjYXNlIDE6IGhvdyA9IFNFRUtfQ1VSOyBicmVhazsKKyAgICAgICAgY2FzZSAyOiBob3cgPSBTRUVLX0VORDsgYnJlYWs7CiAgICAgfQogI2VuZGlmIC8qIFNFRUtfRU5EICovCiAKLSNpZiAhZGVmaW5lZChIQVZFX0xBUkdFRklMRV9TVVBQT1JUKQotICAgIHBvcyA9IFB5TG9uZ19Bc0xvbmcocG9zb2JqKTsKLSNlbHNlCi0gICAgcG9zID0gUHlMb25nX0FzTG9uZ0xvbmcocG9zb2JqKTsKLSNlbmRpZgogICAgIGlmIChQeUVycl9PY2N1cnJlZCgpKQotICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgcmV0dXJuIC0xOwogCi0gICAgaWYgKCFfUHlWZXJpZnlfZmQoZmQpKQotICAgICAgICByZXR1cm4gcG9zaXhfZXJyb3IoKTsKKyAgICBpZiAoIV9QeVZlcmlmeV9mZChmZCkpIHsKKyAgICAgICAgcG9zaXhfZXJyb3IoKTsKKyAgICAgICAgcmV0dXJuIC0xOworICAgIH0KICAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCiAjaWZkZWYgTVNfV0lORE9XUwotICAgIHJlcyA9IF9sc2Vla2k2NChmZCwgcG9zLCBob3cpOworICAgIHJlc3VsdCA9IF9sc2Vla2k2NChmZCwgcG9zaXRpb24sIGhvdyk7CiAjZWxzZQotICAgIHJlcyA9IGxzZWVrKGZkLCBwb3MsIGhvdyk7CisgICAgcmVzdWx0ID0gbHNlZWsoZmQsIHBvc2l0aW9uLCBob3cpOwogI2VuZGlmCiAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKLSAgICBpZiAocmVzIDwgMCkKLSAgICAgICAgcmV0dXJuIHBvc2l4X2Vycm9yKCk7CisgICAgaWYgKHJlc3VsdCA8IDApCisgICAgICAgIHBvc2l4X2Vycm9yKCk7CiAKLSNpZiAhZGVmaW5lZChIQVZFX0xBUkdFRklMRV9TVVBQT1JUKQotICAgIHJldHVybiBQeUxvbmdfRnJvbUxvbmcocmVzKTsKLSNlbHNlCi0gICAgcmV0dXJuIFB5TG9uZ19Gcm9tTG9uZ0xvbmcocmVzKTsKLSNlbmRpZgorICAgIHJldHVybiByZXN1bHQ7CiB9CiAKIAotUHlEb2NfU1RSVkFSKHBvc2l4X3JlYWRfX2RvY19fLAotInJlYWQoZmQsIGJ1ZmZlcnNpemUpIC0+IGJ5dGVzXG5cblwKLVJlYWQgYSBmaWxlIGRlc2NyaXB0b3IuIik7CisvKltjbGluaWMgaW5wdXRdCitvcy5yZWFkCisgICAgZmQ6IGludAorICAgIGxlbmd0aDogUHlfc3NpemVfdAorICAgIC8KKworUmVhZCBmcm9tIGEgZmlsZSBkZXNjcmlwdG9yLiAgUmV0dXJucyBhIGJ5dGVzIG9iamVjdC4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX3JlYWRfX2RvY19fLAorInJlYWQoJG1vZHVsZSwgZmQsIGxlbmd0aCwgLylcbiIKKyItLVxuIgorIlxuIgorIlJlYWQgZnJvbSBhIGZpbGUgZGVzY3JpcHRvci4gIFJldHVybnMgYSBieXRlcyBvYmplY3QuIik7CisKKyNkZWZpbmUgT1NfUkVBRF9NRVRIT0RERUYgICAgXAorICAgIHsicmVhZCIsIChQeUNGdW5jdGlvbilvc19yZWFkLCBNRVRIX1ZBUkFSR1MsIG9zX3JlYWRfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X3JlYWQoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQorb3NfcmVhZF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGludCBmZCwgUHlfc3NpemVfdCBsZW5ndGgpOworCitzdGF0aWMgUHlPYmplY3QgKgorb3NfcmVhZChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncykKIHsKLSAgICBpbnQgZmQsIHNpemU7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgaW50IGZkOworICAgIFB5X3NzaXplX3QgbGVuZ3RoOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCisgICAgICAgICJpbjpyZWFkIiwKKyAgICAgICAgJmZkLCAmbGVuZ3RoKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IG9zX3JlYWRfaW1wbChtb2R1bGUsIGZkLCBsZW5ndGgpOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19yZWFkX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgaW50IGZkLCBQeV9zc2l6ZV90IGxlbmd0aCkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD0xZjNiYzI3MjYwYTI0OTY4IGlucHV0PTFkZjJlYWEyN2MwYmYxZDNdKi8KK3sKICAgICBQeV9zc2l6ZV90IG47CisgICAgaW50IGFzeW5jX2VyciA9IDA7CiAgICAgUHlPYmplY3QgKmJ1ZmZlcjsKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgImlpOnJlYWQiLCAmZmQsICZzaXplKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgaWYgKHNpemUgPCAwKSB7CisKKyAgICBpZiAobGVuZ3RoIDwgMCkgewogICAgICAgICBlcnJubyA9IEVJTlZBTDsKICAgICAgICAgcmV0dXJuIHBvc2l4X2Vycm9yKCk7CiAgICAgfQotICAgIGJ1ZmZlciA9IFB5Qnl0ZXNfRnJvbVN0cmluZ0FuZFNpemUoKGNoYXIgKilOVUxMLCBzaXplKTsKKyAgICBpZiAoIV9QeVZlcmlmeV9mZChmZCkpCisgICAgICAgIHJldHVybiBwb3NpeF9lcnJvcigpOworCisjaWZkZWYgTVNfV0lORE9XUworICAgICNkZWZpbmUgUkVBRF9DQVNUIChpbnQpCisgICAgaWYgKGxlbmd0aCA+IElOVF9NQVgpCisgICAgICAgIGxlbmd0aCA9IElOVF9NQVg7CisjZWxzZQorICAgICNkZWZpbmUgUkVBRF9DQVNUCisjZW5kaWYKKworICAgIGJ1ZmZlciA9IFB5Qnl0ZXNfRnJvbVN0cmluZ0FuZFNpemUoKGNoYXIgKilOVUxMLCBsZW5ndGgpOwogICAgIGlmIChidWZmZXIgPT0gTlVMTCkKICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgaWYgKCFfUHlWZXJpZnlfZmQoZmQpKSB7Ci0gICAgICAgIFB5X0RFQ1JFRihidWZmZXIpOwotICAgICAgICByZXR1cm4gcG9zaXhfZXJyb3IoKTsKLSAgICB9Ci0gICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwotICAgIG4gPSByZWFkKGZkLCBQeUJ5dGVzX0FTX1NUUklORyhidWZmZXIpLCBzaXplKTsKLSAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUworCisgICAgZG8geworICAgICAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCisgICAgICAgIG4gPSByZWFkKGZkLCBQeUJ5dGVzX0FTX1NUUklORyhidWZmZXIpLCBSRUFEX0NBU1QgbGVuZ3RoKTsKKyAgICAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKKyAgICB9IHdoaWxlIChuIDwgMCAmJiBlcnJubyA9PSBFSU5UUiAmJiAhKGFzeW5jX2VyciA9IFB5RXJyX0NoZWNrU2lnbmFscygpKSk7CisKICAgICBpZiAobiA8IDApIHsKICAgICAgICAgUHlfREVDUkVGKGJ1ZmZlcik7Ci0gICAgICAgIHJldHVybiBwb3NpeF9lcnJvcigpOworICAgICAgICByZXR1cm4gKCFhc3luY19lcnIpID8gcG9zaXhfZXJyb3IoKSA6IE5VTEw7CiAgICAgfQotICAgIGlmIChuICE9IHNpemUpCisKKyAgICBpZiAobiAhPSBsZW5ndGgpCiAgICAgICAgIF9QeUJ5dGVzX1Jlc2l6ZSgmYnVmZmVyLCBuKTsKKwogICAgIHJldHVybiBidWZmZXI7CiB9CiAKQEAgLTgxMDYsMTIwICsxMTUwMiwyNzAgQEAKIH0KICNlbmRpZgogCisKICNpZmRlZiBIQVZFX1JFQURWCi1QeURvY19TVFJWQVIocG9zaXhfcmVhZHZfX2RvY19fLAotInJlYWR2KGZkLCBidWZmZXJzKSAtPiBieXRlc3JlYWRcblxuXAotUmVhZCBmcm9tIGEgZmlsZSBkZXNjcmlwdG9yIGZkIGludG8gYSBudW1iZXIgb2YgbXV0YWJsZSwgYnl0ZXMtbGlrZVxuXAotb2JqZWN0cyAoXCJidWZmZXJzXCIpLiAgcmVhZHYgd2lsbCB0cmFuc2ZlciBkYXRhIGludG8gZWFjaCBidWZmZXJcblwKLXVudGlsIGl0IGlzIGZ1bGwgYW5kIHRoZW4gbW92ZSBvbiB0byB0aGUgbmV4dCBidWZmZXIgaW4gdGhlIHNlcXVlbmNlXG5cCi10byBob2xkIHRoZSByZXN0IG9mIHRoZSBkYXRhLlxuXG5cCi1yZWFkdiByZXR1cm5zIHRoZSB0b3RhbCBudW1iZXIgb2YgYnl0ZXMgcmVhZCAod2hpY2ggbWF5IGJlIGxlc3MgdGhhblxuXAotdGhlIHRvdGFsIGNhcGFjaXR5IG9mIGFsbCB0aGUgYnVmZmVycy4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK29zLnJlYWR2IC0+IFB5X3NzaXplX3QKKworICAgIGZkOiBpbnQKKyAgICBidWZmZXJzOiBvYmplY3QKKyAgICAvCisKK1JlYWQgZnJvbSBhIGZpbGUgZGVzY3JpcHRvciBmZCBpbnRvIGFuIGl0ZXJhYmxlIG9mIGJ1ZmZlcnMuCisKK1RoZSBidWZmZXJzIHNob3VsZCBiZSBtdXRhYmxlIGJ1ZmZlcnMgYWNjZXB0aW5nIGJ5dGVzLgorcmVhZHYgd2lsbCB0cmFuc2ZlciBkYXRhIGludG8gZWFjaCBidWZmZXIgdW50aWwgaXQgaXMgZnVsbAorYW5kIHRoZW4gbW92ZSBvbiB0byB0aGUgbmV4dCBidWZmZXIgaW4gdGhlIHNlcXVlbmNlIHRvIGhvbGQKK3RoZSByZXN0IG9mIHRoZSBkYXRhLgorCityZWFkdiByZXR1cm5zIHRoZSB0b3RhbCBudW1iZXIgb2YgYnl0ZXMgcmVhZCwKK3doaWNoIG1heSBiZSBsZXNzIHRoYW4gdGhlIHRvdGFsIGNhcGFjaXR5IG9mIGFsbCB0aGUgYnVmZmVycy4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX3JlYWR2X19kb2NfXywKKyJyZWFkdigkbW9kdWxlLCBmZCwgYnVmZmVycywgLylcbiIKKyItLVxuIgorIlxuIgorIlJlYWQgZnJvbSBhIGZpbGUgZGVzY3JpcHRvciBmZCBpbnRvIGFuIGl0ZXJhYmxlIG9mIGJ1ZmZlcnMuXG4iCisiXG4iCisiVGhlIGJ1ZmZlcnMgc2hvdWxkIGJlIG11dGFibGUgYnVmZmVycyBhY2NlcHRpbmcgYnl0ZXMuXG4iCisicmVhZHYgd2lsbCB0cmFuc2ZlciBkYXRhIGludG8gZWFjaCBidWZmZXIgdW50aWwgaXQgaXMgZnVsbFxuIgorImFuZCB0aGVuIG1vdmUgb24gdG8gdGhlIG5leHQgYnVmZmVyIGluIHRoZSBzZXF1ZW5jZSB0byBob2xkXG4iCisidGhlIHJlc3Qgb2YgdGhlIGRhdGEuXG4iCisiXG4iCisicmVhZHYgcmV0dXJucyB0aGUgdG90YWwgbnVtYmVyIG9mIGJ5dGVzIHJlYWQsXG4iCisid2hpY2ggbWF5IGJlIGxlc3MgdGhhbiB0aGUgdG90YWwgY2FwYWNpdHkgb2YgYWxsIHRoZSBidWZmZXJzLiIpOworCisjZGVmaW5lIE9TX1JFQURWX01FVEhPRERFRiAgICBcCisgICAgeyJyZWFkdiIsIChQeUNGdW5jdGlvbilvc19yZWFkdiwgTUVUSF9WQVJBUkdTLCBvc19yZWFkdl9fZG9jX199LAorCitzdGF0aWMgUHlfc3NpemVfdAorb3NfcmVhZHZfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBpbnQgZmQsIFB5T2JqZWN0ICpidWZmZXJzKTsKIAogc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X3JlYWR2KFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK29zX3JlYWR2KFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzKQogewotICAgIGludCBmZCwgY250OworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIGludCBmZDsKKyAgICBQeU9iamVjdCAqYnVmZmVyczsKKyAgICBQeV9zc2l6ZV90IF9yZXR1cm5fdmFsdWU7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgImlPOnJlYWR2IiwKKyAgICAgICAgJmZkLCAmYnVmZmVycykpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICBfcmV0dXJuX3ZhbHVlID0gb3NfcmVhZHZfaW1wbChtb2R1bGUsIGZkLCBidWZmZXJzKTsKKyAgICBpZiAoKF9yZXR1cm5fdmFsdWUgPT0gLTEpICYmIFB5RXJyX09jY3VycmVkKCkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBQeUxvbmdfRnJvbVNzaXplX3QoX3JldHVybl92YWx1ZSk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5X3NzaXplX3QKK29zX3JlYWR2X2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgaW50IGZkLCBQeU9iamVjdCAqYnVmZmVycykKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD03Mjc0OGIxYzMyYTZlMmExIGlucHV0PWU2NzllYjVkYmZhMDM1N2RdKi8KK3sKKyAgICBpbnQgY250OwogICAgIFB5X3NzaXplX3QgbjsKLSAgICBQeU9iamVjdCAqc2VxOworICAgIGludCBhc3luY19lcnIgPSAwOwogICAgIHN0cnVjdCBpb3ZlYyAqaW92OwogICAgIFB5X2J1ZmZlciAqYnVmOwogCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJpTzpyZWFkdiIsICZmZCwgJnNlcSkpCi0gICAgICAgIHJldHVybiBOVUxMOwotICAgIGlmICghUHlTZXF1ZW5jZV9DaGVjayhzZXEpKSB7CisgICAgaWYgKCFQeVNlcXVlbmNlX0NoZWNrKGJ1ZmZlcnMpKSB7CiAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsCiAgICAgICAgICAgICAicmVhZHYoKSBhcmcgMiBtdXN0IGJlIGEgc2VxdWVuY2UiKTsKLSAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgIHJldHVybiAtMTsKICAgICB9Ci0gICAgY250ID0gUHlTZXF1ZW5jZV9TaXplKHNlcSk7CiAKLSAgICBpZiAoaW92X3NldHVwKCZpb3YsICZidWYsIHNlcSwgY250LCBQeUJVRl9XUklUQUJMRSkgPCAwKQotICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBjbnQgPSBQeVNlcXVlbmNlX1NpemUoYnVmZmVycyk7CiAKLSAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCi0gICAgbiA9IHJlYWR2KGZkLCBpb3YsIGNudCk7Ci0gICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKKyAgICBpZiAoaW92X3NldHVwKCZpb3YsICZidWYsIGJ1ZmZlcnMsIGNudCwgUHlCVUZfV1JJVEFCTEUpIDwgMCkKKyAgICAgICAgcmV0dXJuIC0xOworCisgICAgZG8geworICAgICAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCisgICAgICAgIG4gPSByZWFkdihmZCwgaW92LCBjbnQpOworICAgICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUworICAgIH0gd2hpbGUgKG4gPCAwICYmIGVycm5vID09IEVJTlRSICYmICEoYXN5bmNfZXJyID0gUHlFcnJfQ2hlY2tTaWduYWxzKCkpKTsKIAogICAgIGlvdl9jbGVhbnVwKGlvdiwgYnVmLCBjbnQpOwotICAgIGlmIChuIDwgMCkKLSAgICAgICAgcmV0dXJuIHBvc2l4X2Vycm9yKCk7CisgICAgaWYgKG4gPCAwKSB7CisgICAgICAgIGlmICghYXN5bmNfZXJyKQorICAgICAgICAgICAgcG9zaXhfZXJyb3IoKTsKKyAgICAgICAgcmV0dXJuIC0xOworICAgIH0KIAotICAgIHJldHVybiBQeUxvbmdfRnJvbVNzaXplX3Qobik7CisgICAgcmV0dXJuIG47CiB9Ci0jZW5kaWYKKyNlbmRpZiAvKiBIQVZFX1JFQURWICovCisKIAogI2lmZGVmIEhBVkVfUFJFQUQKLVB5RG9jX1NUUlZBUihwb3NpeF9wcmVhZF9fZG9jX18sCi0icHJlYWQoZmQsIGJ1ZmZlcnNpemUsIG9mZnNldCkgLT4gc3RyaW5nXG5cblwKLVJlYWQgZnJvbSBhIGZpbGUgZGVzY3JpcHRvciwgZmQsIGF0IGEgcG9zaXRpb24gb2Ygb2Zmc2V0LiBJdCB3aWxsIHJlYWQgdXBcblwKLXRvIGJ1ZmZlcnNpemUgbnVtYmVyIG9mIGJ5dGVzLiBUaGUgZmlsZSBvZmZzZXQgcmVtYWlucyB1bmNoYW5nZWQuIik7CisvKltjbGluaWMgaW5wdXRdCisjIFRPRE8gbGVuZ3RoIHNob3VsZCBiZSBzaXplX3QhICBidXQgUHl0aG9uIGRvZXNuJ3Qgc3VwcG9ydCBwYXJzaW5nIHNpemVfdCB5ZXQuCitvcy5wcmVhZAorCisgICAgZmQ6IGludAorICAgIGxlbmd0aDogaW50CisgICAgb2Zmc2V0OiBQeV9vZmZfdAorICAgIC8KKworUmVhZCBhIG51bWJlciBvZiBieXRlcyBmcm9tIGEgZmlsZSBkZXNjcmlwdG9yIHN0YXJ0aW5nIGF0IGEgcGFydGljdWxhciBvZmZzZXQuCisKK1JlYWQgbGVuZ3RoIGJ5dGVzIGZyb20gZmlsZSBkZXNjcmlwdG9yIGZkLCBzdGFydGluZyBhdCBvZmZzZXQgYnl0ZXMgZnJvbQordGhlIGJlZ2lubmluZyBvZiB0aGUgZmlsZS4gIFRoZSBmaWxlIG9mZnNldCByZW1haW5zIHVuY2hhbmdlZC4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX3ByZWFkX19kb2NfXywKKyJwcmVhZCgkbW9kdWxlLCBmZCwgbGVuZ3RoLCBvZmZzZXQsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJSZWFkIGEgbnVtYmVyIG9mIGJ5dGVzIGZyb20gYSBmaWxlIGRlc2NyaXB0b3Igc3RhcnRpbmcgYXQgYSBwYXJ0aWN1bGFyIG9mZnNldC5cbiIKKyJcbiIKKyJSZWFkIGxlbmd0aCBieXRlcyBmcm9tIGZpbGUgZGVzY3JpcHRvciBmZCwgc3RhcnRpbmcgYXQgb2Zmc2V0IGJ5dGVzIGZyb21cbiIKKyJ0aGUgYmVnaW5uaW5nIG9mIHRoZSBmaWxlLiAgVGhlIGZpbGUgb2Zmc2V0IHJlbWFpbnMgdW5jaGFuZ2VkLiIpOworCisjZGVmaW5lIE9TX1BSRUFEX01FVEhPRERFRiAgICBcCisgICAgeyJwcmVhZCIsIChQeUNGdW5jdGlvbilvc19wcmVhZCwgTUVUSF9WQVJBUkdTLCBvc19wcmVhZF9fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfcHJlYWQoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQotewotICAgIGludCBmZCwgc2l6ZTsKLSAgICBvZmZfdCBvZmZzZXQ7Ci0gICAgUHlfc3NpemVfdCBuOwotICAgIFB5T2JqZWN0ICpidWZmZXI7Ci0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJpaU8mOnByZWFkIiwgJmZkLCAmc2l6ZSwgX3BhcnNlX29mZl90LCAmb2Zmc2V0KSkKLSAgICAgICAgcmV0dXJuIE5VTEw7Citvc19wcmVhZF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGludCBmZCwgaW50IGxlbmd0aCwgUHlfb2ZmX3Qgb2Zmc2V0KTsKIAotICAgIGlmIChzaXplIDwgMCkgeworc3RhdGljIFB5T2JqZWN0ICoKK29zX3ByZWFkKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzKQoreworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIGludCBmZDsKKyAgICBpbnQgbGVuZ3RoOworICAgIFB5X29mZl90IG9mZnNldDsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAiaWlPJjpwcmVhZCIsCisgICAgICAgICZmZCwgJmxlbmd0aCwgUHlfb2ZmX3RfY29udmVydGVyLCAmb2Zmc2V0KSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IG9zX3ByZWFkX2ltcGwobW9kdWxlLCBmZCwgbGVuZ3RoLCBvZmZzZXQpOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19wcmVhZF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGludCBmZCwgaW50IGxlbmd0aCwgUHlfb2ZmX3Qgb2Zmc2V0KQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTdiNjJiZjZjMDZlMjBhZTggaW5wdXQ9MDg0OTQ4ZGNiYWEzNWQ0Y10qLworeworICAgIFB5X3NzaXplX3QgbjsKKyAgICBpbnQgYXN5bmNfZXJyID0gMDsKKyAgICBQeU9iamVjdCAqYnVmZmVyOworCisgICAgaWYgKGxlbmd0aCA8IDApIHsKICAgICAgICAgZXJybm8gPSBFSU5WQUw7CiAgICAgICAgIHJldHVybiBwb3NpeF9lcnJvcigpOwogICAgIH0KLSAgICBidWZmZXIgPSBQeUJ5dGVzX0Zyb21TdHJpbmdBbmRTaXplKChjaGFyICopTlVMTCwgc2l6ZSk7CisgICAgYnVmZmVyID0gUHlCeXRlc19Gcm9tU3RyaW5nQW5kU2l6ZSgoY2hhciAqKU5VTEwsIGxlbmd0aCk7CiAgICAgaWYgKGJ1ZmZlciA9PSBOVUxMKQogICAgICAgICByZXR1cm4gTlVMTDsKICAgICBpZiAoIV9QeVZlcmlmeV9mZChmZCkpIHsKICAgICAgICAgUHlfREVDUkVGKGJ1ZmZlcik7CiAgICAgICAgIHJldHVybiBwb3NpeF9lcnJvcigpOwogICAgIH0KLSAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCi0gICAgbiA9IHByZWFkKGZkLCBQeUJ5dGVzX0FTX1NUUklORyhidWZmZXIpLCBzaXplLCBvZmZzZXQpOwotICAgIFB5X0VORF9BTExPV19USFJFQURTCisKKyAgICBkbyB7CisgICAgICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKKyAgICAgICAgbiA9IHByZWFkKGZkLCBQeUJ5dGVzX0FTX1NUUklORyhidWZmZXIpLCBsZW5ndGgsIG9mZnNldCk7CisgICAgICAgIFB5X0VORF9BTExPV19USFJFQURTCisgICAgfSB3aGlsZSAobiA8IDAgJiYgZXJybm8gPT0gRUlOVFIgJiYgIShhc3luY19lcnIgPSBQeUVycl9DaGVja1NpZ25hbHMoKSkpOworCiAgICAgaWYgKG4gPCAwKSB7CiAgICAgICAgIFB5X0RFQ1JFRihidWZmZXIpOwotICAgICAgICByZXR1cm4gcG9zaXhfZXJyb3IoKTsKKyAgICAgICAgcmV0dXJuICghYXN5bmNfZXJyKSA/IHBvc2l4X2Vycm9yKCkgOiBOVUxMOwogICAgIH0KLSAgICBpZiAobiAhPSBzaXplKQorICAgIGlmIChuICE9IGxlbmd0aCkKICAgICAgICAgX1B5Qnl0ZXNfUmVzaXplKCZidWZmZXIsIG4pOwogICAgIHJldHVybiBidWZmZXI7CiB9Ci0jZW5kaWYKKyNlbmRpZiAvKiBIQVZFX1BSRUFEICovCiAKLVB5RG9jX1NUUlZBUihwb3NpeF93cml0ZV9fZG9jX18sCi0id3JpdGUoZmQsIGRhdGEpIC0+IGJ5dGVzd3JpdHRlblxuXG5cCi1Xcml0ZSBieXRlcyB0byBhIGZpbGUgZGVzY3JpcHRvci4iKTsKKworLypbY2xpbmljIGlucHV0XQorb3Mud3JpdGUgLT4gUHlfc3NpemVfdAorCisgICAgZmQ6IGludAorICAgIGRhdGE6IFB5X2J1ZmZlcgorICAgIC8KKworV3JpdGUgYSBieXRlcyBvYmplY3QgdG8gYSBmaWxlIGRlc2NyaXB0b3IuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc193cml0ZV9fZG9jX18sCisid3JpdGUoJG1vZHVsZSwgZmQsIGRhdGEsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJXcml0ZSBhIGJ5dGVzIG9iamVjdCB0byBhIGZpbGUgZGVzY3JpcHRvci4iKTsKKworI2RlZmluZSBPU19XUklURV9NRVRIT0RERUYgICAgXAorICAgIHsid3JpdGUiLCAoUHlDRnVuY3Rpb24pb3Nfd3JpdGUsIE1FVEhfVkFSQVJHUywgb3Nfd3JpdGVfX2RvY19ffSwKKworc3RhdGljIFB5X3NzaXplX3QKK29zX3dyaXRlX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgaW50IGZkLCBQeV9idWZmZXIgKmRhdGEpOwogCiBzdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfd3JpdGUoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQorb3Nfd3JpdGUoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MpCiB7Ci0gICAgUHlfYnVmZmVyIHBidWY7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CiAgICAgaW50IGZkOwotICAgIFB5X3NzaXplX3Qgc2l6ZSwgbGVuOworICAgIFB5X2J1ZmZlciBkYXRhID0ge05VTEwsIE5VTEx9OworICAgIFB5X3NzaXplX3QgX3JldHVybl92YWx1ZTsKIAotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiaXkqOndyaXRlIiwgJmZkLCAmcGJ1ZikpCi0gICAgICAgIHJldHVybiBOVUxMOworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAiaXkqOndyaXRlIiwKKyAgICAgICAgJmZkLCAmZGF0YSkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICBfcmV0dXJuX3ZhbHVlID0gb3Nfd3JpdGVfaW1wbChtb2R1bGUsIGZkLCAmZGF0YSk7CisgICAgaWYgKChfcmV0dXJuX3ZhbHVlID09IC0xKSAmJiBQeUVycl9PY2N1cnJlZCgpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gUHlMb25nX0Zyb21Tc2l6ZV90KF9yZXR1cm5fdmFsdWUpOworCitleGl0OgorICAgIC8qIENsZWFudXAgZm9yIGRhdGEgKi8KKyAgICBpZiAoZGF0YS5vYmopCisgICAgICAgUHlCdWZmZXJfUmVsZWFzZSgmZGF0YSk7CisKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlfc3NpemVfdAorb3Nfd3JpdGVfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBpbnQgZmQsIFB5X2J1ZmZlciAqZGF0YSkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1hZWI5NmFjZmRkNGQ1MTEyIGlucHV0PTMyMDdlMjg5NjMyMzRmM2NdKi8KK3sKKyAgICBQeV9zc2l6ZV90IHNpemU7CisgICAgaW50IGFzeW5jX2VyciA9IDA7CisgICAgUHlfc3NpemVfdCBsZW4gPSBkYXRhLT5sZW47CisKICAgICBpZiAoIV9QeVZlcmlmeV9mZChmZCkpIHsKLSAgICAgICAgUHlCdWZmZXJfUmVsZWFzZSgmcGJ1Zik7Ci0gICAgICAgIHJldHVybiBwb3NpeF9lcnJvcigpOworICAgICAgICBwb3NpeF9lcnJvcigpOworICAgICAgICByZXR1cm4gLTE7CiAgICAgfQotICAgIGxlbiA9IHBidWYubGVuOwotICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKKworICAgIGRvIHsKKyAgICAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwogI2lmZGVmIE1TX1dJTkRPV1MKLSAgICBpZiAobGVuID4gSU5UX01BWCkKLSAgICAgICAgbGVuID0gSU5UX01BWDsKLSAgICBzaXplID0gd3JpdGUoZmQsIHBidWYuYnVmLCAoaW50KWxlbik7CisgICAgICAgIGlmIChsZW4gPiBJTlRfTUFYKQorICAgICAgICAgICAgbGVuID0gSU5UX01BWDsKKyAgICAgICAgc2l6ZSA9IHdyaXRlKGZkLCBkYXRhLT5idWYsIChpbnQpbGVuKTsKICNlbHNlCi0gICAgc2l6ZSA9IHdyaXRlKGZkLCBwYnVmLmJ1ZiwgbGVuKTsKKyAgICAgICAgc2l6ZSA9IHdyaXRlKGZkLCBkYXRhLT5idWYsIGxlbik7CiAjZW5kaWYKLSAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUwotICAgIFB5QnVmZmVyX1JlbGVhc2UoJnBidWYpOwotICAgIGlmIChzaXplIDwgMCkKLSAgICAgICAgcmV0dXJuIHBvc2l4X2Vycm9yKCk7Ci0gICAgcmV0dXJuIFB5TG9uZ19Gcm9tU3NpemVfdChzaXplKTsKKyAgICAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKKyAgICB9IHdoaWxlIChzaXplIDwgMCAmJiBlcnJubyA9PSBFSU5UUiAmJiAhKGFzeW5jX2VyciA9IFB5RXJyX0NoZWNrU2lnbmFscygpKSk7CisKKyAgICBpZiAoc2l6ZSA8IDApIHsKKyAgICAgICAgaWYgKCFhc3luY19lcnIpCisgICAgICAgICAgICBwb3NpeF9lcnJvcigpOworICAgICAgICByZXR1cm4gLTE7CisgICAgfQorICAgIHJldHVybiBzaXplOwogfQogCiAjaWZkZWYgSEFWRV9TRU5ERklMRQpAQCAtODIyOSwxMSArMTE3NzUsMTMgQEAKICAgICAgICAgICAgIC0+IGJ5dGVzd3JpdHRlblxuXAogQ29weSBuYnl0ZXMgYnl0ZXMgZnJvbSBmaWxlIGRlc2NyaXB0b3IgaW4gdG8gZmlsZSBkZXNjcmlwdG9yIG91dC4iKTsKIAorLyogQUMgMy41OiBkb24ndCBib3RoZXIgY29udmVydGluZywgaGFzIG9wdGlvbmFsIGdyb3VwKi8KIHN0YXRpYyBQeU9iamVjdCAqCiBwb3NpeF9zZW5kZmlsZShQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2RpY3QpCiB7CiAgICAgaW50IGluLCBvdXQ7CiAgICAgUHlfc3NpemVfdCByZXQ7CisgICAgaW50IGFzeW5jX2VyciA9IDA7CiAgICAgb2ZmX3Qgb2Zmc2V0OwogCiAjaWYgZGVmaW5lZChfX0ZyZWVCU0RfXykgfHwgZGVmaW5lZChfX0RyYWdvbkZseV9fKSB8fCBkZWZpbmVkKF9fQVBQTEVfXykKQEAgLTgyNTQsMTAgKzExODAyLDEwIEBACiAKICNpZmRlZiBfX0FQUExFX18KICAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2RpY3QsICJpaU8mTyZ8T09pOnNlbmRmaWxlIiwKLSAgICAgICAga2V5d29yZHMsICZvdXQsICZpbiwgX3BhcnNlX29mZl90LCAmb2Zmc2V0LCBfcGFyc2Vfb2ZmX3QsICZzYnl0ZXMsCisgICAgICAgIGtleXdvcmRzLCAmb3V0LCAmaW4sIFB5X29mZl90X2NvbnZlcnRlciwgJm9mZnNldCwgUHlfb2ZmX3RfY29udmVydGVyLCAmc2J5dGVzLAogI2Vsc2UKICAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2RpY3QsICJpaU8mbnxPT2k6c2VuZGZpbGUiLAotICAgICAgICBrZXl3b3JkcywgJm91dCwgJmluLCBfcGFyc2Vfb2ZmX3QsICZvZmZzZXQsICZsZW4sCisgICAgICAgIGtleXdvcmRzLCAmb3V0LCAmaW4sIFB5X29mZl90X2NvbnZlcnRlciwgJm9mZnNldCwgJmxlbiwKICNlbmRpZgogICAgICAgICAgICAgICAgICZoZWFkZXJzLCAmdHJhaWxlcnMsICZmbGFncykpCiAgICAgICAgICAgICByZXR1cm4gTlVMTDsKQEAgLTgyOTYsMTMgKzExODQ0LDE1IEBACiAgICAgICAgIH0KICAgICB9CiAKLSAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCisgICAgZG8geworICAgICAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCiAjaWZkZWYgX19BUFBMRV9fCi0gICAgcmV0ID0gc2VuZGZpbGUoaW4sIG91dCwgb2Zmc2V0LCAmc2J5dGVzLCAmc2YsIGZsYWdzKTsKKyAgICAgICAgcmV0ID0gc2VuZGZpbGUoaW4sIG91dCwgb2Zmc2V0LCAmc2J5dGVzLCAmc2YsIGZsYWdzKTsKICNlbHNlCi0gICAgcmV0ID0gc2VuZGZpbGUoaW4sIG91dCwgb2Zmc2V0LCBsZW4sICZzZiwgJnNieXRlcywgZmxhZ3MpOworICAgICAgICByZXQgPSBzZW5kZmlsZShpbiwgb3V0LCBvZmZzZXQsIGxlbiwgJnNmLCAmc2J5dGVzLCBmbGFncyk7CiAjZW5kaWYKLSAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUworICAgICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUworICAgIH0gd2hpbGUgKHJldCA8IDAgJiYgZXJybm8gPT0gRUlOVFIgJiYgIShhc3luY19lcnIgPSBQeUVycl9DaGVja1NpZ25hbHMoKSkpOwogCiAgICAgaWYgKHNmLmhlYWRlcnMgIT0gTlVMTCkKICAgICAgICAgaW92X2NsZWFudXAoc2YuaGVhZGVycywgaGJ1Ziwgc2YuaGRyX2NudCk7CkBAIC04MzIxLDcgKzExODcxLDcgQEAKICAgICAgICAgICAgICAgICByZXR1cm4gcG9zaXhfZXJyb3IoKTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQotICAgICAgICByZXR1cm4gcG9zaXhfZXJyb3IoKTsKKyAgICAgICAgcmV0dXJuICghYXN5bmNfZXJyKSA/IHBvc2l4X2Vycm9yKCkgOiBOVUxMOwogICAgIH0KICAgICBnb3RvIGRvbmU7CiAKQEAgLTgzNDIsNzYgKzExODkyLDE5MCBAQAogICAgICAgICByZXR1cm4gTlVMTDsKICNpZmRlZiBsaW51eAogICAgIGlmIChvZmZvYmogPT0gUHlfTm9uZSkgewotICAgICAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCi0gICAgICAgIHJldCA9IHNlbmRmaWxlKG91dCwgaW4sIE5VTEwsIGNvdW50KTsKLSAgICAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKKyAgICAgICAgZG8geworICAgICAgICAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUworICAgICAgICAgICAgcmV0ID0gc2VuZGZpbGUob3V0LCBpbiwgTlVMTCwgY291bnQpOworICAgICAgICAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKKyAgICAgICAgfSB3aGlsZSAocmV0IDwgMCAmJiBlcnJubyA9PSBFSU5UUiAmJiAhKGFzeW5jX2VyciA9IFB5RXJyX0NoZWNrU2lnbmFscygpKSk7CiAgICAgICAgIGlmIChyZXQgPCAwKQotICAgICAgICAgICAgcmV0dXJuIHBvc2l4X2Vycm9yKCk7CisgICAgICAgICAgICByZXR1cm4gKCFhc3luY19lcnIpID8gcG9zaXhfZXJyb3IoKSA6IE5VTEw7CiAgICAgICAgIHJldHVybiBQeV9CdWlsZFZhbHVlKCJuIiwgcmV0KTsKICAgICB9CiAjZW5kaWYKLSAgICBpZiAoIV9wYXJzZV9vZmZfdChvZmZvYmosICZvZmZzZXQpKQorICAgIGlmICghUHlfb2ZmX3RfY29udmVydGVyKG9mZm9iaiwgJm9mZnNldCkpCiAgICAgICAgIHJldHVybiBOVUxMOwotICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKLSAgICByZXQgPSBzZW5kZmlsZShvdXQsIGluLCAmb2Zmc2V0LCBjb3VudCk7Ci0gICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKKworICAgIGRvIHsKKyAgICAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUworICAgICAgICByZXQgPSBzZW5kZmlsZShvdXQsIGluLCAmb2Zmc2V0LCBjb3VudCk7CisgICAgICAgIFB5X0VORF9BTExPV19USFJFQURTCisgICAgfSB3aGlsZSAocmV0IDwgMCAmJiBlcnJubyA9PSBFSU5UUiAmJiAhKGFzeW5jX2VyciA9IFB5RXJyX0NoZWNrU2lnbmFscygpKSk7CiAgICAgaWYgKHJldCA8IDApCi0gICAgICAgIHJldHVybiBwb3NpeF9lcnJvcigpOworICAgICAgICByZXR1cm4gKCFhc3luY19lcnIpID8gcG9zaXhfZXJyb3IoKSA6IE5VTEw7CiAgICAgcmV0dXJuIFB5X0J1aWxkVmFsdWUoIm4iLCByZXQpOwogI2VuZGlmCiB9Ci0jZW5kaWYKKyNlbmRpZiAvKiBIQVZFX1NFTkRGSUxFICovCiAKLVB5RG9jX1NUUlZBUihwb3NpeF9mc3RhdF9fZG9jX18sCi0iZnN0YXQoZmQpIC0+IHN0YXQgcmVzdWx0XG5cblwKLUxpa2Ugc3RhdCgpLCBidXQgZm9yIGFuIG9wZW4gZmlsZSBkZXNjcmlwdG9yLlxuXAotRXF1aXZhbGVudCB0byBzdGF0KGZkPWZkKS4iKTsKKworLypbY2xpbmljIGlucHV0XQorb3MuZnN0YXQKKworICAgIGZkIDogaW50CisKK1BlcmZvcm0gYSBzdGF0IHN5c3RlbSBjYWxsIG9uIHRoZSBnaXZlbiBmaWxlIGRlc2NyaXB0b3IuCisKK0xpa2Ugc3RhdCgpLCBidXQgZm9yIGFuIG9wZW4gZmlsZSBkZXNjcmlwdG9yLgorRXF1aXZhbGVudCB0byBvcy5zdGF0KGZkKS4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX2ZzdGF0X19kb2NfXywKKyJmc3RhdCgkbW9kdWxlLCAvLCBmZClcbiIKKyItLVxuIgorIlxuIgorIlBlcmZvcm0gYSBzdGF0IHN5c3RlbSBjYWxsIG9uIHRoZSBnaXZlbiBmaWxlIGRlc2NyaXB0b3IuXG4iCisiXG4iCisiTGlrZSBzdGF0KCksIGJ1dCBmb3IgYW4gb3BlbiBmaWxlIGRlc2NyaXB0b3IuXG4iCisiRXF1aXZhbGVudCB0byBvcy5zdGF0KGZkKS4iKTsKKworI2RlZmluZSBPU19GU1RBVF9NRVRIT0RERUYgICAgXAorICAgIHsiZnN0YXQiLCAoUHlDRnVuY3Rpb24pb3NfZnN0YXQsIE1FVEhfVkFSQVJHU3xNRVRIX0tFWVdPUkRTLCBvc19mc3RhdF9fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfZnN0YXQoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQorb3NfZnN0YXRfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBpbnQgZmQpOworCitzdGF0aWMgUHlPYmplY3QgKgorb3NfZnN0YXQoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCiB7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgc3RhdGljIGNoYXIgKl9rZXl3b3Jkc1tdID0geyJmZCIsIE5VTEx9OwogICAgIGludCBmZDsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywKKyAgICAgICAgImk6ZnN0YXQiLCBfa2V5d29yZHMsCisgICAgICAgICZmZCkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBvc19mc3RhdF9pbXBsKG1vZHVsZSwgZmQpOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19mc3RhdF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGludCBmZCkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1kYWU0YTk2NzhjN2JkODgxIGlucHV0PTI3ZTBlMGViYmU1NjAwYzldKi8KK3sKICAgICBTVFJVQ1RfU1RBVCBzdDsKICAgICBpbnQgcmVzOwotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiaTpmc3RhdCIsICZmZCkpCi0gICAgICAgIHJldHVybiBOVUxMOwotICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKLSAgICByZXMgPSBGU1RBVChmZCwgJnN0KTsKLSAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUworICAgIGludCBhc3luY19lcnIgPSAwOworCisgICAgZG8geworICAgICAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCisgICAgICAgIHJlcyA9IEZTVEFUKGZkLCAmc3QpOworICAgICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUworICAgIH0gd2hpbGUgKHJlcyAhPSAwICYmIGVycm5vID09IEVJTlRSICYmICEoYXN5bmNfZXJyID0gUHlFcnJfQ2hlY2tTaWduYWxzKCkpKTsKICAgICBpZiAocmVzICE9IDApIHsKICNpZmRlZiBNU19XSU5ET1dTCiAgICAgICAgIHJldHVybiBQeUVycl9TZXRGcm9tV2luZG93c0VycigwKTsKICNlbHNlCi0gICAgICAgIHJldHVybiBwb3NpeF9lcnJvcigpOworICAgICAgICByZXR1cm4gKCFhc3luY19lcnIpID8gcG9zaXhfZXJyb3IoKSA6IE5VTEw7CiAjZW5kaWYKICAgICB9CiAKICAgICByZXR1cm4gX3B5c3RhdF9mcm9tc3RydWN0c3RhdCgmc3QpOwogfQogCi1QeURvY19TVFJWQVIocG9zaXhfaXNhdHR5X19kb2NfXywKLSJpc2F0dHkoZmQpIC0+IGJvb2xcblxuXAotUmV0dXJuIFRydWUgaWYgdGhlIGZpbGUgZGVzY3JpcHRvciAnZmQnIGlzIGFuIG9wZW4gZmlsZSBkZXNjcmlwdG9yXG5cCi1jb25uZWN0ZWQgdG8gdGhlIHNsYXZlIGVuZCBvZiBhIHRlcm1pbmFsLiIpOworCisvKltjbGluaWMgaW5wdXRdCitvcy5pc2F0dHkgLT4gYm9vbAorICAgIGZkOiBpbnQKKyAgICAvCisKK1JldHVybiBUcnVlIGlmIHRoZSBmZCBpcyBjb25uZWN0ZWQgdG8gYSB0ZXJtaW5hbC4KKworUmV0dXJuIFRydWUgaWYgdGhlIGZpbGUgZGVzY3JpcHRvciBpcyBhbiBvcGVuIGZpbGUgZGVzY3JpcHRvcgorY29ubmVjdGVkIHRvIHRoZSBzbGF2ZSBlbmQgb2YgYSB0ZXJtaW5hbC4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX2lzYXR0eV9fZG9jX18sCisiaXNhdHR5KCRtb2R1bGUsIGZkLCAvKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJuIFRydWUgaWYgdGhlIGZkIGlzIGNvbm5lY3RlZCB0byBhIHRlcm1pbmFsLlxuIgorIlxuIgorIlJldHVybiBUcnVlIGlmIHRoZSBmaWxlIGRlc2NyaXB0b3IgaXMgYW4gb3BlbiBmaWxlIGRlc2NyaXB0b3JcbiIKKyJjb25uZWN0ZWQgdG8gdGhlIHNsYXZlIGVuZCBvZiBhIHRlcm1pbmFsLiIpOworCisjZGVmaW5lIE9TX0lTQVRUWV9NRVRIT0RERUYgICAgXAorICAgIHsiaXNhdHR5IiwgKFB5Q0Z1bmN0aW9uKW9zX2lzYXR0eSwgTUVUSF9WQVJBUkdTLCBvc19pc2F0dHlfX2RvY19ffSwKKworc3RhdGljIGludAorb3NfaXNhdHR5X2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgaW50IGZkKTsKIAogc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X2lzYXR0eShQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCitvc19pc2F0dHkoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MpCiB7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CiAgICAgaW50IGZkOwotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiaTppc2F0dHkiLCAmZmQpKQotICAgICAgICByZXR1cm4gTlVMTDsKLSAgICBpZiAoIV9QeVZlcmlmeV9mZChmZCkpCi0gICAgICAgIHJldHVybiBQeUJvb2xfRnJvbUxvbmcoMCk7Ci0gICAgcmV0dXJuIFB5Qm9vbF9Gcm9tTG9uZyhpc2F0dHkoZmQpKTsKKyAgICBpbnQgX3JldHVybl92YWx1ZTsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAiaTppc2F0dHkiLAorICAgICAgICAmZmQpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgX3JldHVybl92YWx1ZSA9IG9zX2lzYXR0eV9pbXBsKG1vZHVsZSwgZmQpOworICAgIGlmICgoX3JldHVybl92YWx1ZSA9PSAtMSkgJiYgUHlFcnJfT2NjdXJyZWQoKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IFB5Qm9vbF9Gcm9tTG9uZygobG9uZylfcmV0dXJuX3ZhbHVlKTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOwogfQogCitzdGF0aWMgaW50Citvc19pc2F0dHlfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBpbnQgZmQpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9NGJmYWRiZmUyMjcxNTA5NyBpbnB1dD0wOGNlOTRhYTFlYWY3YjVlXSovCit7CisgICAgaWYgKCFfUHlWZXJpZnlfZmQoZmQpKQorICAgICAgICByZXR1cm4gMDsKKyAgICByZXR1cm4gaXNhdHR5KGZkKTsKK30KKworCiAjaWZkZWYgSEFWRV9QSVBFCi1QeURvY19TVFJWQVIocG9zaXhfcGlwZV9fZG9jX18sCi0icGlwZSgpIC0+IChyZWFkX2VuZCwgd3JpdGVfZW5kKVxuXG5cCi1DcmVhdGUgYSBwaXBlLiIpOworLypbY2xpbmljIGlucHV0XQorb3MucGlwZQorCitDcmVhdGUgYSBwaXBlLgorCitSZXR1cm5zIGEgdHVwbGUgb2YgdHdvIGZpbGUgZGVzY3JpcHRvcnM6CisgIChyZWFkX2ZkLCB3cml0ZV9mZCkKK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX3BpcGVfX2RvY19fLAorInBpcGUoJG1vZHVsZSwgLylcbiIKKyItLVxuIgorIlxuIgorIkNyZWF0ZSBhIHBpcGUuXG4iCisiXG4iCisiUmV0dXJucyBhIHR1cGxlIG9mIHR3byBmaWxlIGRlc2NyaXB0b3JzOlxuIgorIiAgKHJlYWRfZmQsIHdyaXRlX2ZkKSIpOworCisjZGVmaW5lIE9TX1BJUEVfTUVUSE9EREVGICAgIFwKKyAgICB7InBpcGUiLCAoUHlDRnVuY3Rpb24pb3NfcGlwZSwgTUVUSF9OT0FSR1MsIG9zX3BpcGVfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X3BpcGUoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpub2FyZ3MpCitvc19waXBlX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19waXBlKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICpQeV9VTlVTRUQoaWdub3JlZCkpCit7CisgICAgcmV0dXJuIG9zX3BpcGVfaW1wbChtb2R1bGUpOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorb3NfcGlwZV9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9MGRhMjQ3OWYyMjY2ZTc3NCBpbnB1dD0wMjUzNWU4YzhmYTZjNGQ0XSovCiB7CiAgICAgaW50IGZkc1syXTsKICNpZmRlZiBNU19XSU5ET1dTCkBAIC04NDc5LDI1ICsxMjE0Myw2NCBAQAogfQogI2VuZGlmICAvKiBIQVZFX1BJUEUgKi8KIAorCiAjaWZkZWYgSEFWRV9QSVBFMgotUHlEb2NfU1RSVkFSKHBvc2l4X3BpcGUyX19kb2NfXywKLSJwaXBlMihmbGFncykgLT4gKHJlYWRfZW5kLCB3cml0ZV9lbmQpXG5cblwKLUNyZWF0ZSBhIHBpcGUgd2l0aCBmbGFncyBzZXQgYXRvbWljYWxseS5cblwKLWZsYWdzIGNhbiBiZSBjb25zdHJ1Y3RlZCBieSBPUmluZyB0b2dldGhlciBvbmUgb3IgbW9yZSBvZiB0aGVzZSB2YWx1ZXM6XG5cCi1PX05PTkJMT0NLLCBPX0NMT0VYRUMuXG5cCi0iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK29zLnBpcGUyCisKKyAgICBmbGFnczogaW50CisgICAgLworCitDcmVhdGUgYSBwaXBlIHdpdGggZmxhZ3Mgc2V0IGF0b21pY2FsbHkuCisKK1JldHVybnMgYSB0dXBsZSBvZiB0d28gZmlsZSBkZXNjcmlwdG9yczoKKyAgKHJlYWRfZmQsIHdyaXRlX2ZkKQorCitmbGFncyBjYW4gYmUgY29uc3RydWN0ZWQgYnkgT1JpbmcgdG9nZXRoZXIgb25lIG9yIG1vcmUgb2YgdGhlc2UgdmFsdWVzOgorT19OT05CTE9DSywgT19DTE9FWEVDLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3NfcGlwZTJfX2RvY19fLAorInBpcGUyKCRtb2R1bGUsIGZsYWdzLCAvKVxuIgorIi0tXG4iCisiXG4iCisiQ3JlYXRlIGEgcGlwZSB3aXRoIGZsYWdzIHNldCBhdG9taWNhbGx5LlxuIgorIlxuIgorIlJldHVybnMgYSB0dXBsZSBvZiB0d28gZmlsZSBkZXNjcmlwdG9yczpcbiIKKyIgIChyZWFkX2ZkLCB3cml0ZV9mZClcbiIKKyJcbiIKKyJmbGFncyBjYW4gYmUgY29uc3RydWN0ZWQgYnkgT1JpbmcgdG9nZXRoZXIgb25lIG9yIG1vcmUgb2YgdGhlc2UgdmFsdWVzOlxuIgorIk9fTk9OQkxPQ0ssIE9fQ0xPRVhFQy4iKTsKKworI2RlZmluZSBPU19QSVBFMl9NRVRIT0RERUYgICAgXAorICAgIHsicGlwZTIiLCAoUHlDRnVuY3Rpb24pb3NfcGlwZTIsIE1FVEhfVkFSQVJHUywgb3NfcGlwZTJfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X3BpcGUyKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJnKQorb3NfcGlwZTJfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBpbnQgZmxhZ3MpOworCitzdGF0aWMgUHlPYmplY3QgKgorb3NfcGlwZTIoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MpCiB7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CiAgICAgaW50IGZsYWdzOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCisgICAgICAgICJpOnBpcGUyIiwKKyAgICAgICAgJmZsYWdzKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IG9zX3BpcGUyX2ltcGwobW9kdWxlLCBmbGFncyk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK29zX3BpcGUyX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgaW50IGZsYWdzKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTllMjdjNzk5Y2UxOTIyMGIgaW5wdXQ9ZjI2MWI2ZTdlNjNjNjgxN10qLworewogICAgIGludCBmZHNbMl07CiAgICAgaW50IHJlczsKIAotICAgIGZsYWdzID0gX1B5TG9uZ19Bc0ludChhcmcpOwotICAgIGlmIChmbGFncyA9PSAtMSAmJiBQeUVycl9PY2N1cnJlZCgpKQotICAgICAgICByZXR1cm4gTlVMTDsKLQogICAgIHJlcyA9IHBpcGUyKGZkcywgZmxhZ3MpOwogICAgIGlmIChyZXMgIT0gMCkKICAgICAgICAgcmV0dXJuIHBvc2l4X2Vycm9yKCk7CkBAIC04NTA1LDMwNiArMTIyMDgsNjM1IEBACiB9CiAjZW5kaWYgLyogSEFWRV9QSVBFMiAqLwogCisKICNpZmRlZiBIQVZFX1dSSVRFVgotUHlEb2NfU1RSVkFSKHBvc2l4X3dyaXRldl9fZG9jX18sCi0id3JpdGV2KGZkLCBidWZmZXJzKSAtPiBieXRlc3dyaXR0ZW5cblxuXAotV3JpdGUgdGhlIGNvbnRlbnRzIG9mICpidWZmZXJzKiB0byBmaWxlIGRlc2NyaXB0b3IgKmZkKi4gKmJ1ZmZlcnMqXG5cCi1tdXN0IGJlIGEgc2VxdWVuY2Ugb2YgYnl0ZXMtbGlrZSBvYmplY3RzLlxuXG5cCi13cml0ZXYgd3JpdGVzIHRoZSBjb250ZW50cyBvZiBlYWNoIG9iamVjdCB0byB0aGUgZmlsZSBkZXNjcmlwdG9yXG5cCi1hbmQgcmV0dXJucyB0aGUgdG90YWwgbnVtYmVyIG9mIGJ5dGVzIHdyaXR0ZW4uIik7CisvKltjbGluaWMgaW5wdXRdCitvcy53cml0ZXYgLT4gUHlfc3NpemVfdAorICAgIGZkOiBpbnQKKyAgICBidWZmZXJzOiBvYmplY3QKKyAgICAvCisKK0l0ZXJhdGUgb3ZlciBidWZmZXJzLCBhbmQgd3JpdGUgdGhlIGNvbnRlbnRzIG9mIGVhY2ggdG8gYSBmaWxlIGRlc2NyaXB0b3IuCisKK1JldHVybnMgdGhlIHRvdGFsIG51bWJlciBvZiBieXRlcyB3cml0dGVuLgorYnVmZmVycyBtdXN0IGJlIGEgc2VxdWVuY2Ugb2YgYnl0ZXMtbGlrZSBvYmplY3RzLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3Nfd3JpdGV2X19kb2NfXywKKyJ3cml0ZXYoJG1vZHVsZSwgZmQsIGJ1ZmZlcnMsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJJdGVyYXRlIG92ZXIgYnVmZmVycywgYW5kIHdyaXRlIHRoZSBjb250ZW50cyBvZiBlYWNoIHRvIGEgZmlsZSBkZXNjcmlwdG9yLlxuIgorIlxuIgorIlJldHVybnMgdGhlIHRvdGFsIG51bWJlciBvZiBieXRlcyB3cml0dGVuLlxuIgorImJ1ZmZlcnMgbXVzdCBiZSBhIHNlcXVlbmNlIG9mIGJ5dGVzLWxpa2Ugb2JqZWN0cy4iKTsKKworI2RlZmluZSBPU19XUklURVZfTUVUSE9EREVGICAgIFwKKyAgICB7IndyaXRldiIsIChQeUNGdW5jdGlvbilvc193cml0ZXYsIE1FVEhfVkFSQVJHUywgb3Nfd3JpdGV2X19kb2NfX30sCisKK3N0YXRpYyBQeV9zc2l6ZV90Citvc193cml0ZXZfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBpbnQgZmQsIFB5T2JqZWN0ICpidWZmZXJzKTsKIAogc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X3dyaXRldihQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCitvc193cml0ZXYoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MpCiB7Ci0gICAgaW50IGZkLCBjbnQ7Ci0gICAgUHlfc3NpemVfdCByZXM7Ci0gICAgUHlPYmplY3QgKnNlcTsKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBpbnQgZmQ7CisgICAgUHlPYmplY3QgKmJ1ZmZlcnM7CisgICAgUHlfc3NpemVfdCBfcmV0dXJuX3ZhbHVlOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCisgICAgICAgICJpTzp3cml0ZXYiLAorICAgICAgICAmZmQsICZidWZmZXJzKSkKKyAgICAgICAgZ290byBleGl0OworICAgIF9yZXR1cm5fdmFsdWUgPSBvc193cml0ZXZfaW1wbChtb2R1bGUsIGZkLCBidWZmZXJzKTsKKyAgICBpZiAoKF9yZXR1cm5fdmFsdWUgPT0gLTEpICYmIFB5RXJyX09jY3VycmVkKCkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBQeUxvbmdfRnJvbVNzaXplX3QoX3JldHVybl92YWx1ZSk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5X3NzaXplX3QKK29zX3dyaXRldl9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGludCBmZCwgUHlPYmplY3QgKmJ1ZmZlcnMpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9NTkxYzY2MmRjY2JlNDk1MSBpbnB1dD01YjhkMTdmZTQxODlkMmZlXSovCit7CisgICAgaW50IGNudDsKKyAgICBQeV9zc2l6ZV90IHJlc3VsdDsKKyAgICBpbnQgYXN5bmNfZXJyID0gMDsKICAgICBzdHJ1Y3QgaW92ZWMgKmlvdjsKICAgICBQeV9idWZmZXIgKmJ1ZjsKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgImlPOndyaXRldiIsICZmZCwgJnNlcSkpCi0gICAgICAgIHJldHVybiBOVUxMOwotICAgIGlmICghUHlTZXF1ZW5jZV9DaGVjayhzZXEpKSB7CisKKyAgICBpZiAoIVB5U2VxdWVuY2VfQ2hlY2soYnVmZmVycykpIHsKICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwKICAgICAgICAgICAgICJ3cml0ZXYoKSBhcmcgMiBtdXN0IGJlIGEgc2VxdWVuY2UiKTsKLSAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgIHJldHVybiAtMTsKICAgICB9Ci0gICAgY250ID0gUHlTZXF1ZW5jZV9TaXplKHNlcSk7CisgICAgY250ID0gUHlTZXF1ZW5jZV9TaXplKGJ1ZmZlcnMpOwogCi0gICAgaWYgKGlvdl9zZXR1cCgmaW92LCAmYnVmLCBzZXEsIGNudCwgUHlCVUZfU0lNUExFKSA8IDApIHsKLSAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgaWYgKGlvdl9zZXR1cCgmaW92LCAmYnVmLCBidWZmZXJzLCBjbnQsIFB5QlVGX1NJTVBMRSkgPCAwKSB7CisgICAgICAgIHJldHVybiAtMTsKICAgICB9CiAKLSAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCi0gICAgcmVzID0gd3JpdGV2KGZkLCBpb3YsIGNudCk7Ci0gICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKKyAgICBkbyB7CisgICAgICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKKyAgICAgICAgcmVzdWx0ID0gd3JpdGV2KGZkLCBpb3YsIGNudCk7CisgICAgICAgIFB5X0VORF9BTExPV19USFJFQURTCisgICAgfSB3aGlsZSAocmVzdWx0IDwgMCAmJiBlcnJubyA9PSBFSU5UUiAmJiAhKGFzeW5jX2VyciA9IFB5RXJyX0NoZWNrU2lnbmFscygpKSk7CiAKICAgICBpb3ZfY2xlYW51cChpb3YsIGJ1ZiwgY250KTsKLSAgICBpZiAocmVzIDwgMCkKLSAgICAgICAgcmV0dXJuIHBvc2l4X2Vycm9yKCk7CisgICAgaWYgKHJlc3VsdCA8IDAgJiYgIWFzeW5jX2VycikKKyAgICAgICAgcG9zaXhfZXJyb3IoKTsKIAotICAgIHJldHVybiBQeUxvbmdfRnJvbVNzaXplX3QocmVzKTsKLX0KLSNlbmRpZgotCi0jaWZkZWYgSEFWRV9QV1JJVEUKLVB5RG9jX1NUUlZBUihwb3NpeF9wd3JpdGVfX2RvY19fLAotInB3cml0ZShmZCwgc3RyaW5nLCBvZmZzZXQpIC0+IGJ5dGVzd3JpdHRlblxuXG5cCi1Xcml0ZSBzdHJpbmcgdG8gYSBmaWxlIGRlc2NyaXB0b3IsIGZkLCBmcm9tIG9mZnNldCwgbGVhdmluZyB0aGUgZmlsZVxuXAotb2Zmc2V0IHVuY2hhbmdlZC4iKTsKLQotc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X3B3cml0ZShQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCi17Ci0gICAgUHlfYnVmZmVyIHBidWY7Ci0gICAgaW50IGZkOwotICAgIG9mZl90IG9mZnNldDsKLSAgICBQeV9zc2l6ZV90IHNpemU7Ci0KLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgIml5Kk8mOnB3cml0ZSIsICZmZCwgJnBidWYsIF9wYXJzZV9vZmZfdCwgJm9mZnNldCkpCi0gICAgICAgIHJldHVybiBOVUxMOwotCi0gICAgaWYgKCFfUHlWZXJpZnlfZmQoZmQpKSB7Ci0gICAgICAgIFB5QnVmZmVyX1JlbGVhc2UoJnBidWYpOwotICAgICAgICByZXR1cm4gcG9zaXhfZXJyb3IoKTsKLSAgICB9Ci0gICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwotICAgIHNpemUgPSBwd3JpdGUoZmQsIHBidWYuYnVmLCAoc2l6ZV90KXBidWYubGVuLCBvZmZzZXQpOwotICAgIFB5X0VORF9BTExPV19USFJFQURTCi0gICAgUHlCdWZmZXJfUmVsZWFzZSgmcGJ1Zik7Ci0gICAgaWYgKHNpemUgPCAwKQotICAgICAgICByZXR1cm4gcG9zaXhfZXJyb3IoKTsKLSAgICByZXR1cm4gUHlMb25nX0Zyb21Tc2l6ZV90KHNpemUpOwotfQotI2VuZGlmCi0KLSNpZmRlZiBIQVZFX01LRklGTwotUHlEb2NfU1RSVkFSKHBvc2l4X21rZmlmb19fZG9jX18sCi0ibWtmaWZvKHBhdGgsIG1vZGU9MG82NjYsICosIGRpcl9mZD1Ob25lKVxuXG5cCi1DcmVhdGUgYSBGSUZPIChhIFBPU0lYIG5hbWVkIHBpcGUpLlxuXAotXG5cCi1JZiBkaXJfZmQgaXMgbm90IE5vbmUsIGl0IHNob3VsZCBiZSBhIGZpbGUgZGVzY3JpcHRvciBvcGVuIHRvIGEgZGlyZWN0b3J5LFxuXAotICBhbmQgcGF0aCBzaG91bGQgYmUgcmVsYXRpdmU7IHBhdGggd2lsbCB0aGVuIGJlIHJlbGF0aXZlIHRvIHRoYXQgZGlyZWN0b3J5LlxuXAotZGlyX2ZkIG1heSBub3QgYmUgaW1wbGVtZW50ZWQgb24geW91ciBwbGF0Zm9ybS5cblwKLSAgSWYgaXQgaXMgdW5hdmFpbGFibGUsIHVzaW5nIGl0IHdpbGwgcmFpc2UgYSBOb3RJbXBsZW1lbnRlZEVycm9yLiIpOwotCi1zdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfbWtmaWZvKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3YXJncykKLXsKLSAgICBwYXRoX3QgcGF0aDsKLSAgICBpbnQgbW9kZSA9IDA2NjY7Ci0gICAgaW50IGRpcl9mZCA9IERFRkFVTFRfRElSX0ZEOwotICAgIGludCByZXN1bHQ7Ci0gICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7Ci0gICAgc3RhdGljIGNoYXIgKmtleXdvcmRzW10gPSB7InBhdGgiLCAibW9kZSIsICJkaXJfZmQiLCBOVUxMfTsKLQotICAgIG1lbXNldCgmcGF0aCwgMCwgc2l6ZW9mKHBhdGgpKTsKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsICJPJnxpJE8mOm1rZmlmbyIsIGtleXdvcmRzLAotICAgICAgICBwYXRoX2NvbnZlcnRlciwgJnBhdGgsCi0gICAgICAgICZtb2RlLAotI2lmZGVmIEhBVkVfTUtGSUZPQVQKLSAgICAgICAgZGlyX2ZkX2NvbnZlcnRlciwgJmRpcl9mZAotI2Vsc2UKLSAgICAgICAgZGlyX2ZkX3VuYXZhaWxhYmxlLCAmZGlyX2ZkCi0jZW5kaWYKLSAgICAgICAgKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0KLSAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCi0jaWZkZWYgSEFWRV9NS0ZJRk9BVAotICAgIGlmIChkaXJfZmQgIT0gREVGQVVMVF9ESVJfRkQpCi0gICAgICAgIHJlc3VsdCA9IG1rZmlmb2F0KGRpcl9mZCwgcGF0aC5uYXJyb3csIG1vZGUpOwotICAgIGVsc2UKLSNlbmRpZgotICAgICAgICByZXN1bHQgPSBta2ZpZm8ocGF0aC5uYXJyb3csIG1vZGUpOwotICAgIFB5X0VORF9BTExPV19USFJFQURTCi0KLSAgICBpZiAocmVzdWx0IDwgMCkgewotICAgICAgICByZXR1cm5fdmFsdWUgPSBwb3NpeF9lcnJvcigpOwotICAgICAgICBnb3RvIGV4aXQ7Ci0gICAgfQotCi0gICAgcmV0dXJuX3ZhbHVlID0gUHlfTm9uZTsKLSAgICBQeV9JTkNSRUYoUHlfTm9uZSk7Ci0KLWV4aXQ6Ci0gICAgcGF0aF9jbGVhbnVwKCZwYXRoKTsKLSAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOwotfQotI2VuZGlmCi0KLSNpZiBkZWZpbmVkKEhBVkVfTUtOT0QpICYmIGRlZmluZWQoSEFWRV9NQUtFREVWKQotUHlEb2NfU1RSVkFSKHBvc2l4X21rbm9kX19kb2NfXywKLSJta25vZChmaWxlbmFtZSwgbW9kZT0wbzYwMCwgZGV2aWNlPTAsICosIGRpcl9mZD1Ob25lKVxuXG5cCi1DcmVhdGUgYSBmaWxlc3lzdGVtIG5vZGUgKGZpbGUsIGRldmljZSBzcGVjaWFsIGZpbGUgb3IgbmFtZWQgcGlwZSlcblwKLW5hbWVkIGZpbGVuYW1lLiBtb2RlIHNwZWNpZmllcyBib3RoIHRoZSBwZXJtaXNzaW9ucyB0byB1c2UgYW5kIHRoZVxuXAotdHlwZSBvZiBub2RlIHRvIGJlIGNyZWF0ZWQsIGJlaW5nIGNvbWJpbmVkIChiaXR3aXNlIE9SKSB3aXRoIG9uZSBvZlxuXAotU19JRlJFRywgU19JRkNIUiwgU19JRkJMSywgYW5kIFNfSUZJRk8uIEZvciBTX0lGQ0hSIGFuZCBTX0lGQkxLLFxuXAotZGV2aWNlIGRlZmluZXMgdGhlIG5ld2x5IGNyZWF0ZWQgZGV2aWNlIHNwZWNpYWwgZmlsZSAocHJvYmFibHkgdXNpbmdcblwKLW9zLm1ha2VkZXYoKSksIG90aGVyd2lzZSBpdCBpcyBpZ25vcmVkLlxuXAotXG5cCi1JZiBkaXJfZmQgaXMgbm90IE5vbmUsIGl0IHNob3VsZCBiZSBhIGZpbGUgZGVzY3JpcHRvciBvcGVuIHRvIGEgZGlyZWN0b3J5LFxuXAotICBhbmQgcGF0aCBzaG91bGQgYmUgcmVsYXRpdmU7IHBhdGggd2lsbCB0aGVuIGJlIHJlbGF0aXZlIHRvIHRoYXQgZGlyZWN0b3J5LlxuXAotZGlyX2ZkIG1heSBub3QgYmUgaW1wbGVtZW50ZWQgb24geW91ciBwbGF0Zm9ybS5cblwKLSAgSWYgaXQgaXMgdW5hdmFpbGFibGUsIHVzaW5nIGl0IHdpbGwgcmFpc2UgYSBOb3RJbXBsZW1lbnRlZEVycm9yLiIpOwotCi0KLXN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF9ta25vZChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCi17Ci0gICAgcGF0aF90IHBhdGg7Ci0gICAgaW50IG1vZGUgPSAwNjY2OwotICAgIGRldl90IGRldmljZSA9IDA7Ci0gICAgaW50IGRpcl9mZCA9IERFRkFVTFRfRElSX0ZEOwotICAgIGludCByZXN1bHQ7Ci0gICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7Ci0gICAgc3RhdGljIGNoYXIgKmtleXdvcmRzW10gPSB7InBhdGgiLCAibW9kZSIsICJkZXZpY2UiLCAiZGlyX2ZkIiwgTlVMTH07Ci0KLSAgICBtZW1zZXQoJnBhdGgsIDAsIHNpemVvZihwYXRoKSk7Ci0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLCAiTyZ8aU8mJE8mOm1rbm9kIiwga2V5d29yZHMsCi0gICAgICAgIHBhdGhfY29udmVydGVyLCAmcGF0aCwKLSAgICAgICAgJm1vZGUsIF9QeV9EZXZfQ29udmVydGVyLCAmZGV2aWNlLAotI2lmZGVmIEhBVkVfTUtOT0RBVAotICAgICAgICBkaXJfZmRfY29udmVydGVyLCAmZGlyX2ZkCi0jZWxzZQotICAgICAgICBkaXJfZmRfdW5hdmFpbGFibGUsICZkaXJfZmQKLSNlbmRpZgotICAgICAgICApKQotICAgICAgICByZXR1cm4gTlVMTDsKLQotICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKLSNpZmRlZiBIQVZFX01LTk9EQVQKLSAgICBpZiAoZGlyX2ZkICE9IERFRkFVTFRfRElSX0ZEKQotICAgICAgICByZXN1bHQgPSBta25vZGF0KGRpcl9mZCwgcGF0aC5uYXJyb3csIG1vZGUsIGRldmljZSk7Ci0gICAgZWxzZQotI2VuZGlmCi0gICAgICAgIHJlc3VsdCA9IG1rbm9kKHBhdGgubmFycm93LCBtb2RlLCBkZXZpY2UpOwotICAgIFB5X0VORF9BTExPV19USFJFQURTCi0KLSAgICBpZiAocmVzdWx0IDwgMCkgewotICAgICAgICByZXR1cm5fdmFsdWUgPSBwb3NpeF9lcnJvcigpOwotICAgICAgICBnb3RvIGV4aXQ7Ci0gICAgfQotCi0gICAgcmV0dXJuX3ZhbHVlID0gUHlfTm9uZTsKLSAgICBQeV9JTkNSRUYoUHlfTm9uZSk7Ci0KLWV4aXQ6Ci0gICAgcGF0aF9jbGVhbnVwKCZwYXRoKTsKLSAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOwotfQotI2VuZGlmCi0KLSNpZmRlZiBIQVZFX0RFVklDRV9NQUNST1MKLVB5RG9jX1NUUlZBUihwb3NpeF9tYWpvcl9fZG9jX18sCi0ibWFqb3IoZGV2aWNlKSAtPiBtYWpvciBudW1iZXJcblwKLUV4dHJhY3RzIGEgZGV2aWNlIG1ham9yIG51bWJlciBmcm9tIGEgcmF3IGRldmljZSBudW1iZXIuIik7Ci0KLXN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF9tYWpvcihQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCi17Ci0gICAgZGV2X3QgZGV2aWNlOwotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiTyY6bWFqb3IiLCBfUHlfRGV2X0NvbnZlcnRlciwgJmRldmljZSkpCi0gICAgICAgIHJldHVybiBOVUxMOwotICAgIHJldHVybiBQeUxvbmdfRnJvbUxvbmcoKGxvbmcpbWFqb3IoZGV2aWNlKSk7Ci19Ci0KLVB5RG9jX1NUUlZBUihwb3NpeF9taW5vcl9fZG9jX18sCi0ibWlub3IoZGV2aWNlKSAtPiBtaW5vciBudW1iZXJcblwKLUV4dHJhY3RzIGEgZGV2aWNlIG1pbm9yIG51bWJlciBmcm9tIGEgcmF3IGRldmljZSBudW1iZXIuIik7Ci0KLXN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF9taW5vcihQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCi17Ci0gICAgZGV2X3QgZGV2aWNlOwotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiTyY6bWlub3IiLCBfUHlfRGV2X0NvbnZlcnRlciwgJmRldmljZSkpCi0gICAgICAgIHJldHVybiBOVUxMOwotICAgIHJldHVybiBQeUxvbmdfRnJvbUxvbmcoKGxvbmcpbWlub3IoZGV2aWNlKSk7Ci19Ci0KLVB5RG9jX1NUUlZBUihwb3NpeF9tYWtlZGV2X19kb2NfXywKLSJtYWtlZGV2KG1ham9yLCBtaW5vcikgLT4gZGV2aWNlIG51bWJlclxuXAotQ29tcG9zZXMgYSByYXcgZGV2aWNlIG51bWJlciBmcm9tIHRoZSBtYWpvciBhbmQgbWlub3IgZGV2aWNlIG51bWJlcnMuIik7Ci0KLXN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF9tYWtlZGV2KFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKLXsKLSAgICBpbnQgbWFqb3IsIG1pbm9yOwotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiaWk6bWFrZWRldiIsICZtYWpvciwgJm1pbm9yKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgcmV0dXJuIF9QeUxvbmdfRnJvbURldihtYWtlZGV2KG1ham9yLCBtaW5vcikpOwotfQotI2VuZGlmIC8qIGRldmljZSBtYWNyb3MgKi8KLQotCi0jaWZkZWYgSEFWRV9GVFJVTkNBVEUKLVB5RG9jX1NUUlZBUihwb3NpeF9mdHJ1bmNhdGVfX2RvY19fLAotImZ0cnVuY2F0ZShmZCwgbGVuZ3RoKVxuXG5cCi1UcnVuY2F0ZSBhIGZpbGUgdG8gYSBzcGVjaWZpZWQgbGVuZ3RoLiIpOwotCi1zdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfZnRydW5jYXRlKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKLXsKLSAgICBpbnQgZmQ7Ci0gICAgb2ZmX3QgbGVuZ3RoOwotICAgIGludCByZXM7Ci0KLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgImlPJjpmdHJ1bmNhdGUiLCAmZmQsIF9wYXJzZV9vZmZfdCwgJmxlbmd0aCkpCi0gICAgICAgIHJldHVybiBOVUxMOwotCi0gICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwotICAgIHJlcyA9IGZ0cnVuY2F0ZShmZCwgbGVuZ3RoKTsKLSAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUwotICAgIGlmIChyZXMgPCAwKQotICAgICAgICByZXR1cm4gcG9zaXhfZXJyb3IoKTsKLSAgICBQeV9JTkNSRUYoUHlfTm9uZSk7Ci0gICAgcmV0dXJuIFB5X05vbmU7Ci19Ci0jZW5kaWYKLQotI2lmZGVmIEhBVkVfVFJVTkNBVEUKLVB5RG9jX1NUUlZBUihwb3NpeF90cnVuY2F0ZV9fZG9jX18sCi0idHJ1bmNhdGUocGF0aCwgbGVuZ3RoKVxuXG5cCi1UcnVuY2F0ZSB0aGUgZmlsZSBnaXZlbiBieSBwYXRoIHRvIGxlbmd0aCBieXRlcy5cblwKLU9uIHNvbWUgcGxhdGZvcm1zLCBwYXRoIG1heSBhbHNvIGJlIHNwZWNpZmllZCBhcyBhbiBvcGVuIGZpbGUgZGVzY3JpcHRvci5cblwKLSAgSWYgdGhpcyBmdW5jdGlvbmFsaXR5IGlzIHVuYXZhaWxhYmxlLCB1c2luZyBpdCByYWlzZXMgYW4gZXhjZXB0aW9uLiIpOwotCi1zdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfdHJ1bmNhdGUoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQotewotICAgIHBhdGhfdCBwYXRoOwotICAgIG9mZl90IGxlbmd0aDsKLSAgICBpbnQgcmVzOwotICAgIFB5T2JqZWN0ICpyZXN1bHQgPSBOVUxMOwotICAgIHN0YXRpYyBjaGFyICprZXl3b3Jkc1tdID0geyJwYXRoIiwgImxlbmd0aCIsIE5VTEx9OwotCi0gICAgbWVtc2V0KCZwYXRoLCAwLCBzaXplb2YocGF0aCkpOwotICAgIHBhdGguZnVuY3Rpb25fbmFtZSA9ICJ0cnVuY2F0ZSI7Ci0jaWZkZWYgSEFWRV9GVFJVTkNBVEUKLSAgICBwYXRoLmFsbG93X2ZkID0gMTsKLSNlbmRpZgotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywgIk8mTyY6dHJ1bmNhdGUiLCBrZXl3b3JkcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXRoX2NvbnZlcnRlciwgJnBhdGgsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX3BhcnNlX29mZl90LCAmbGVuZ3RoKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0KLSAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCi0jaWZkZWYgSEFWRV9GVFJVTkNBVEUKLSAgICBpZiAocGF0aC5mZCAhPSAtMSkKLSAgICAgICAgcmVzID0gZnRydW5jYXRlKHBhdGguZmQsIGxlbmd0aCk7Ci0gICAgZWxzZQotI2VuZGlmCi0gICAgICAgIHJlcyA9IHRydW5jYXRlKHBhdGgubmFycm93LCBsZW5ndGgpOwotICAgIFB5X0VORF9BTExPV19USFJFQURTCi0gICAgaWYgKHJlcyA8IDApCi0gICAgICAgIHJlc3VsdCA9IHBhdGhfZXJyb3IoJnBhdGgpOwotICAgIGVsc2UgewotICAgICAgICBQeV9JTkNSRUYoUHlfTm9uZSk7Ci0gICAgICAgIHJlc3VsdCA9IFB5X05vbmU7Ci0gICAgfQotICAgIHBhdGhfY2xlYW51cCgmcGF0aCk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KKyNlbmRpZiAvKiBIQVZFX1dSSVRFViAqLworCisKKyNpZmRlZiBIQVZFX1BXUklURQorLypbY2xpbmljIGlucHV0XQorb3MucHdyaXRlIC0+IFB5X3NzaXplX3QKKworICAgIGZkOiBpbnQKKyAgICBidWZmZXI6IFB5X2J1ZmZlcgorICAgIG9mZnNldDogUHlfb2ZmX3QKKyAgICAvCisKK1dyaXRlIGJ5dGVzIHRvIGEgZmlsZSBkZXNjcmlwdG9yIHN0YXJ0aW5nIGF0IGEgcGFydGljdWxhciBvZmZzZXQuCisKK1dyaXRlIGJ1ZmZlciB0byBmZCwgc3RhcnRpbmcgYXQgb2Zmc2V0IGJ5dGVzIGZyb20gdGhlIGJlZ2lubmluZyBvZgordGhlIGZpbGUuICBSZXR1cm5zIHRoZSBudW1iZXIgb2YgYnl0ZXMgd3JpdHRlLiAgRG9lcyBub3QgY2hhbmdlIHRoZQorY3VycmVudCBmaWxlIG9mZnNldC4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX3B3cml0ZV9fZG9jX18sCisicHdyaXRlKCRtb2R1bGUsIGZkLCBidWZmZXIsIG9mZnNldCwgLylcbiIKKyItLVxuIgorIlxuIgorIldyaXRlIGJ5dGVzIHRvIGEgZmlsZSBkZXNjcmlwdG9yIHN0YXJ0aW5nIGF0IGEgcGFydGljdWxhciBvZmZzZXQuXG4iCisiXG4iCisiV3JpdGUgYnVmZmVyIHRvIGZkLCBzdGFydGluZyBhdCBvZmZzZXQgYnl0ZXMgZnJvbSB0aGUgYmVnaW5uaW5nIG9mXG4iCisidGhlIGZpbGUuICBSZXR1cm5zIHRoZSBudW1iZXIgb2YgYnl0ZXMgd3JpdHRlLiAgRG9lcyBub3QgY2hhbmdlIHRoZVxuIgorImN1cnJlbnQgZmlsZSBvZmZzZXQuIik7CisKKyNkZWZpbmUgT1NfUFdSSVRFX01FVEhPRERFRiAgICBcCisgICAgeyJwd3JpdGUiLCAoUHlDRnVuY3Rpb24pb3NfcHdyaXRlLCBNRVRIX1ZBUkFSR1MsIG9zX3B3cml0ZV9fZG9jX199LAorCitzdGF0aWMgUHlfc3NpemVfdAorb3NfcHdyaXRlX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgaW50IGZkLCBQeV9idWZmZXIgKmJ1ZmZlciwgUHlfb2ZmX3Qgb2Zmc2V0KTsKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX3B3cml0ZShQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncykKK3sKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBpbnQgZmQ7CisgICAgUHlfYnVmZmVyIGJ1ZmZlciA9IHtOVUxMLCBOVUxMfTsKKyAgICBQeV9vZmZfdCBvZmZzZXQ7CisgICAgUHlfc3NpemVfdCBfcmV0dXJuX3ZhbHVlOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCisgICAgICAgICJpeSpPJjpwd3JpdGUiLAorICAgICAgICAmZmQsICZidWZmZXIsIFB5X29mZl90X2NvbnZlcnRlciwgJm9mZnNldCkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICBfcmV0dXJuX3ZhbHVlID0gb3NfcHdyaXRlX2ltcGwobW9kdWxlLCBmZCwgJmJ1ZmZlciwgb2Zmc2V0KTsKKyAgICBpZiAoKF9yZXR1cm5fdmFsdWUgPT0gLTEpICYmIFB5RXJyX09jY3VycmVkKCkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBQeUxvbmdfRnJvbVNzaXplX3QoX3JldHVybl92YWx1ZSk7CisKK2V4aXQ6CisgICAgLyogQ2xlYW51cCBmb3IgYnVmZmVyICovCisgICAgaWYgKGJ1ZmZlci5vYmopCisgICAgICAgUHlCdWZmZXJfUmVsZWFzZSgmYnVmZmVyKTsKKworICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeV9zc2l6ZV90Citvc19wd3JpdGVfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBpbnQgZmQsIFB5X2J1ZmZlciAqYnVmZmVyLCBQeV9vZmZfdCBvZmZzZXQpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9ZWM5Y2M1YjIyMzhlOTZhNyBpbnB1dD0xOTkwM2YxYjNkZDI2Mzc3XSovCit7CisgICAgUHlfc3NpemVfdCBzaXplOworICAgIGludCBhc3luY19lcnIgPSAwOworCisgICAgaWYgKCFfUHlWZXJpZnlfZmQoZmQpKSB7CisgICAgICAgIHBvc2l4X2Vycm9yKCk7CisgICAgICAgIHJldHVybiAtMTsKKyAgICB9CisKKyAgICBkbyB7CisgICAgICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKKyAgICAgICAgc2l6ZSA9IHB3cml0ZShmZCwgYnVmZmVyLT5idWYsIChzaXplX3QpYnVmZmVyLT5sZW4sIG9mZnNldCk7CisgICAgICAgIFB5X0VORF9BTExPV19USFJFQURTCisgICAgfSB3aGlsZSAoc2l6ZSA8IDAgJiYgZXJybm8gPT0gRUlOVFIgJiYgIShhc3luY19lcnIgPSBQeUVycl9DaGVja1NpZ25hbHMoKSkpOworCisgICAgaWYgKHNpemUgPCAwICYmICFhc3luY19lcnIpCisgICAgICAgIHBvc2l4X2Vycm9yKCk7CisgICAgcmV0dXJuIHNpemU7Cit9CisjZW5kaWYgLyogSEFWRV9QV1JJVEUgKi8KKworCisjaWZkZWYgSEFWRV9NS0ZJRk8KKy8qW2NsaW5pYyBpbnB1dF0KK29zLm1rZmlmbworCisgICAgcGF0aDogcGF0aF90CisgICAgbW9kZTogaW50PTBvNjY2CisgICAgKgorICAgIGRpcl9mZDogZGlyX2ZkKHJlcXVpcmVzPSdta2ZpZm9hdCcpPU5vbmUKKworQ3JlYXRlIGEgImZpZm8iIChhIFBPU0lYIG5hbWVkIHBpcGUpLgorCitJZiBkaXJfZmQgaXMgbm90IE5vbmUsIGl0IHNob3VsZCBiZSBhIGZpbGUgZGVzY3JpcHRvciBvcGVuIHRvIGEgZGlyZWN0b3J5LAorICBhbmQgcGF0aCBzaG91bGQgYmUgcmVsYXRpdmU7IHBhdGggd2lsbCB0aGVuIGJlIHJlbGF0aXZlIHRvIHRoYXQgZGlyZWN0b3J5LgorZGlyX2ZkIG1heSBub3QgYmUgaW1wbGVtZW50ZWQgb24geW91ciBwbGF0Zm9ybS4KKyAgSWYgaXQgaXMgdW5hdmFpbGFibGUsIHVzaW5nIGl0IHdpbGwgcmFpc2UgYSBOb3RJbXBsZW1lbnRlZEVycm9yLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3NfbWtmaWZvX19kb2NfXywKKyJta2ZpZm8oJG1vZHVsZSwgLywgcGF0aCwgbW9kZT00MzgsICosIGRpcl9mZD1Ob25lKVxuIgorIi0tXG4iCisiXG4iCisiQ3JlYXRlIGEgXCJmaWZvXCIgKGEgUE9TSVggbmFtZWQgcGlwZSkuXG4iCisiXG4iCisiSWYgZGlyX2ZkIGlzIG5vdCBOb25lLCBpdCBzaG91bGQgYmUgYSBmaWxlIGRlc2NyaXB0b3Igb3BlbiB0byBhIGRpcmVjdG9yeSxcbiIKKyIgIGFuZCBwYXRoIHNob3VsZCBiZSByZWxhdGl2ZTsgcGF0aCB3aWxsIHRoZW4gYmUgcmVsYXRpdmUgdG8gdGhhdCBkaXJlY3RvcnkuXG4iCisiZGlyX2ZkIG1heSBub3QgYmUgaW1wbGVtZW50ZWQgb24geW91ciBwbGF0Zm9ybS5cbiIKKyIgIElmIGl0IGlzIHVuYXZhaWxhYmxlLCB1c2luZyBpdCB3aWxsIHJhaXNlIGEgTm90SW1wbGVtZW50ZWRFcnJvci4iKTsKKworI2RlZmluZSBPU19NS0ZJRk9fTUVUSE9EREVGICAgIFwKKyAgICB7Im1rZmlmbyIsIChQeUNGdW5jdGlvbilvc19ta2ZpZm8sIE1FVEhfVkFSQVJHU3xNRVRIX0tFWVdPUkRTLCBvc19ta2ZpZm9fX2RvY19ffSwKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX21rZmlmb19pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIHBhdGhfdCAqcGF0aCwgaW50IG1vZGUsIGludCBkaXJfZmQpOworCitzdGF0aWMgUHlPYmplY3QgKgorb3NfbWtmaWZvKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQoreworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIHN0YXRpYyBjaGFyICpfa2V5d29yZHNbXSA9IHsicGF0aCIsICJtb2RlIiwgImRpcl9mZCIsIE5VTEx9OworICAgIHBhdGhfdCBwYXRoID0gUEFUSF9UX0lOSVRJQUxJWkUoIm1rZmlmbyIsICJwYXRoIiwgMCwgMCk7CisgICAgaW50IG1vZGUgPSA0Mzg7CisgICAgaW50IGRpcl9mZCA9IERFRkFVTFRfRElSX0ZEOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLAorICAgICAgICAiTyZ8aSRPJjpta2ZpZm8iLCBfa2V5d29yZHMsCisgICAgICAgIHBhdGhfY29udmVydGVyLCAmcGF0aCwgJm1vZGUsIE1LRklGT0FUX0RJUl9GRF9DT05WRVJURVIsICZkaXJfZmQpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gb3NfbWtmaWZvX2ltcGwobW9kdWxlLCAmcGF0aCwgbW9kZSwgZGlyX2ZkKTsKKworZXhpdDoKKyAgICAvKiBDbGVhbnVwIGZvciBwYXRoICovCisgICAgcGF0aF9jbGVhbnVwKCZwYXRoKTsKKworICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19ta2ZpZm9faW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBwYXRoX3QgKnBhdGgsIGludCBtb2RlLCBpbnQgZGlyX2ZkKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWIzMzIxOTI3NTQ2ODkzZDAgaW5wdXQ9NzMwMzJlOThhMzZlMGUxOV0qLworeworICAgIGludCByZXN1bHQ7CisgICAgaW50IGFzeW5jX2VyciA9IDA7CisKKyAgICBkbyB7CisgICAgICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKKyNpZmRlZiBIQVZFX01LRklGT0FUCisgICAgICAgIGlmIChkaXJfZmQgIT0gREVGQVVMVF9ESVJfRkQpCisgICAgICAgICAgICByZXN1bHQgPSBta2ZpZm9hdChkaXJfZmQsIHBhdGgtPm5hcnJvdywgbW9kZSk7CisgICAgICAgIGVsc2UKICNlbmRpZgorICAgICAgICAgICAgcmVzdWx0ID0gbWtmaWZvKHBhdGgtPm5hcnJvdywgbW9kZSk7CisgICAgICAgIFB5X0VORF9BTExPV19USFJFQURTCisgICAgfSB3aGlsZSAocmVzdWx0ICE9IDAgJiYgZXJybm8gPT0gRUlOVFIgJiYKKyAgICAgICAgICAgICAhKGFzeW5jX2VyciA9IFB5RXJyX0NoZWNrU2lnbmFscygpKSk7CisgICAgaWYgKHJlc3VsdCAhPSAwKQorICAgICAgICByZXR1cm4gKCFhc3luY19lcnIpID8gcG9zaXhfZXJyb3IoKSA6IE5VTEw7CisKKyAgICBQeV9SRVRVUk5fTk9ORTsKK30KKyNlbmRpZiAvKiBIQVZFX01LRklGTyAqLworCisKKyNpZiBkZWZpbmVkKEhBVkVfTUtOT0QpICYmIGRlZmluZWQoSEFWRV9NQUtFREVWKQorLypbY2xpbmljIGlucHV0XQorb3MubWtub2QKKworICAgIHBhdGg6IHBhdGhfdAorICAgIG1vZGU6IGludD0wbzYwMAorICAgIGRldmljZTogZGV2X3Q9MAorICAgICoKKyAgICBkaXJfZmQ6IGRpcl9mZChyZXF1aXJlcz0nbWtub2RhdCcpPU5vbmUKKworQ3JlYXRlIGEgbm9kZSBpbiB0aGUgZmlsZSBzeXN0ZW0uCisKK0NyZWF0ZSBhIG5vZGUgaW4gdGhlIGZpbGUgc3lzdGVtIChmaWxlLCBkZXZpY2Ugc3BlY2lhbCBmaWxlIG9yIG5hbWVkIHBpcGUpCithdCBwYXRoLiAgbW9kZSBzcGVjaWZpZXMgYm90aCB0aGUgcGVybWlzc2lvbnMgdG8gdXNlIGFuZCB0aGUKK3R5cGUgb2Ygbm9kZSB0byBiZSBjcmVhdGVkLCBiZWluZyBjb21iaW5lZCAoYml0d2lzZSBPUikgd2l0aCBvbmUgb2YKK1NfSUZSRUcsIFNfSUZDSFIsIFNfSUZCTEssIGFuZCBTX0lGSUZPLiAgSWYgU19JRkNIUiBvciBTX0lGQkxLIGlzIHNldCBvbiBtb2RlLAorZGV2aWNlIGRlZmluZXMgdGhlIG5ld2x5IGNyZWF0ZWQgZGV2aWNlIHNwZWNpYWwgZmlsZSAocHJvYmFibHkgdXNpbmcKK29zLm1ha2VkZXYoKSkuICBPdGhlcndpc2UgZGV2aWNlIGlzIGlnbm9yZWQuCisKK0lmIGRpcl9mZCBpcyBub3QgTm9uZSwgaXQgc2hvdWxkIGJlIGEgZmlsZSBkZXNjcmlwdG9yIG9wZW4gdG8gYSBkaXJlY3RvcnksCisgIGFuZCBwYXRoIHNob3VsZCBiZSByZWxhdGl2ZTsgcGF0aCB3aWxsIHRoZW4gYmUgcmVsYXRpdmUgdG8gdGhhdCBkaXJlY3RvcnkuCitkaXJfZmQgbWF5IG5vdCBiZSBpbXBsZW1lbnRlZCBvbiB5b3VyIHBsYXRmb3JtLgorICBJZiBpdCBpcyB1bmF2YWlsYWJsZSwgdXNpbmcgaXQgd2lsbCByYWlzZSBhIE5vdEltcGxlbWVudGVkRXJyb3IuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19ta25vZF9fZG9jX18sCisibWtub2QoJG1vZHVsZSwgLywgcGF0aCwgbW9kZT0zODQsIGRldmljZT0wLCAqLCBkaXJfZmQ9Tm9uZSlcbiIKKyItLVxuIgorIlxuIgorIkNyZWF0ZSBhIG5vZGUgaW4gdGhlIGZpbGUgc3lzdGVtLlxuIgorIlxuIgorIkNyZWF0ZSBhIG5vZGUgaW4gdGhlIGZpbGUgc3lzdGVtIChmaWxlLCBkZXZpY2Ugc3BlY2lhbCBmaWxlIG9yIG5hbWVkIHBpcGUpXG4iCisiYXQgcGF0aC4gIG1vZGUgc3BlY2lmaWVzIGJvdGggdGhlIHBlcm1pc3Npb25zIHRvIHVzZSBhbmQgdGhlXG4iCisidHlwZSBvZiBub2RlIHRvIGJlIGNyZWF0ZWQsIGJlaW5nIGNvbWJpbmVkIChiaXR3aXNlIE9SKSB3aXRoIG9uZSBvZlxuIgorIlNfSUZSRUcsIFNfSUZDSFIsIFNfSUZCTEssIGFuZCBTX0lGSUZPLiAgSWYgU19JRkNIUiBvciBTX0lGQkxLIGlzIHNldCBvbiBtb2RlLFxuIgorImRldmljZSBkZWZpbmVzIHRoZSBuZXdseSBjcmVhdGVkIGRldmljZSBzcGVjaWFsIGZpbGUgKHByb2JhYmx5IHVzaW5nXG4iCisib3MubWFrZWRldigpKS4gIE90aGVyd2lzZSBkZXZpY2UgaXMgaWdub3JlZC5cbiIKKyJcbiIKKyJJZiBkaXJfZmQgaXMgbm90IE5vbmUsIGl0IHNob3VsZCBiZSBhIGZpbGUgZGVzY3JpcHRvciBvcGVuIHRvIGEgZGlyZWN0b3J5LFxuIgorIiAgYW5kIHBhdGggc2hvdWxkIGJlIHJlbGF0aXZlOyBwYXRoIHdpbGwgdGhlbiBiZSByZWxhdGl2ZSB0byB0aGF0IGRpcmVjdG9yeS5cbiIKKyJkaXJfZmQgbWF5IG5vdCBiZSBpbXBsZW1lbnRlZCBvbiB5b3VyIHBsYXRmb3JtLlxuIgorIiAgSWYgaXQgaXMgdW5hdmFpbGFibGUsIHVzaW5nIGl0IHdpbGwgcmFpc2UgYSBOb3RJbXBsZW1lbnRlZEVycm9yLiIpOworCisjZGVmaW5lIE9TX01LTk9EX01FVEhPRERFRiAgICBcCisgICAgeyJta25vZCIsIChQeUNGdW5jdGlvbilvc19ta25vZCwgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsIG9zX21rbm9kX19kb2NfX30sCisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19ta25vZF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIHBhdGhfdCAqcGF0aCwgaW50IG1vZGUsIGRldl90IGRldmljZSwgaW50IGRpcl9mZCk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19ta25vZChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3YXJncykKK3sKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBzdGF0aWMgY2hhciAqX2tleXdvcmRzW10gPSB7InBhdGgiLCAibW9kZSIsICJkZXZpY2UiLCAiZGlyX2ZkIiwgTlVMTH07CisgICAgcGF0aF90IHBhdGggPSBQQVRIX1RfSU5JVElBTElaRSgibWtub2QiLCAicGF0aCIsIDAsIDApOworICAgIGludCBtb2RlID0gMzg0OworICAgIGRldl90IGRldmljZSA9IDA7CisgICAgaW50IGRpcl9mZCA9IERFRkFVTFRfRElSX0ZEOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLAorICAgICAgICAiTyZ8aU8mJE8mOm1rbm9kIiwgX2tleXdvcmRzLAorICAgICAgICBwYXRoX2NvbnZlcnRlciwgJnBhdGgsICZtb2RlLCBfUHlfRGV2X0NvbnZlcnRlciwgJmRldmljZSwgTUtOT0RBVF9ESVJfRkRfQ09OVkVSVEVSLCAmZGlyX2ZkKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IG9zX21rbm9kX2ltcGwobW9kdWxlLCAmcGF0aCwgbW9kZSwgZGV2aWNlLCBkaXJfZmQpOworCitleGl0OgorICAgIC8qIENsZWFudXAgZm9yIHBhdGggKi8KKyAgICBwYXRoX2NsZWFudXAoJnBhdGgpOworCisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK29zX21rbm9kX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgcGF0aF90ICpwYXRoLCBpbnQgbW9kZSwgZGV2X3QgZGV2aWNlLCBpbnQgZGlyX2ZkKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWY3MWQ1NGVhZjliYjZmMWEgaW5wdXQ9ZWU0NDUzMTU1MWE0ZDgzYl0qLworeworICAgIGludCByZXN1bHQ7CisgICAgaW50IGFzeW5jX2VyciA9IDA7CisKKyAgICBkbyB7CisgICAgICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKKyNpZmRlZiBIQVZFX01LTk9EQVQKKyAgICAgICAgaWYgKGRpcl9mZCAhPSBERUZBVUxUX0RJUl9GRCkKKyAgICAgICAgICAgIHJlc3VsdCA9IG1rbm9kYXQoZGlyX2ZkLCBwYXRoLT5uYXJyb3csIG1vZGUsIGRldmljZSk7CisgICAgICAgIGVsc2UKKyNlbmRpZgorICAgICAgICAgICAgcmVzdWx0ID0gbWtub2QocGF0aC0+bmFycm93LCBtb2RlLCBkZXZpY2UpOworICAgICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUworICAgIH0gd2hpbGUgKHJlc3VsdCAhPSAwICYmIGVycm5vID09IEVJTlRSICYmCisgICAgICAgICAgICAgIShhc3luY19lcnIgPSBQeUVycl9DaGVja1NpZ25hbHMoKSkpOworICAgIGlmIChyZXN1bHQgIT0gMCkKKyAgICAgICAgcmV0dXJuICghYXN5bmNfZXJyKSA/IHBvc2l4X2Vycm9yKCkgOiBOVUxMOworCisgICAgUHlfUkVUVVJOX05PTkU7Cit9CisjZW5kaWYgLyogZGVmaW5lZChIQVZFX01LTk9EKSAmJiBkZWZpbmVkKEhBVkVfTUFLRURFVikgKi8KKworCisjaWZkZWYgSEFWRV9ERVZJQ0VfTUFDUk9TCisvKltjbGluaWMgaW5wdXRdCitvcy5tYWpvciAtPiB1bnNpZ25lZF9pbnQKKworICAgIGRldmljZTogZGV2X3QKKyAgICAvCisKK0V4dHJhY3RzIGEgZGV2aWNlIG1ham9yIG51bWJlciBmcm9tIGEgcmF3IGRldmljZSBudW1iZXIuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19tYWpvcl9fZG9jX18sCisibWFqb3IoJG1vZHVsZSwgZGV2aWNlLCAvKVxuIgorIi0tXG4iCisiXG4iCisiRXh0cmFjdHMgYSBkZXZpY2UgbWFqb3IgbnVtYmVyIGZyb20gYSByYXcgZGV2aWNlIG51bWJlci4iKTsKKworI2RlZmluZSBPU19NQUpPUl9NRVRIT0RERUYgICAgXAorICAgIHsibWFqb3IiLCAoUHlDRnVuY3Rpb24pb3NfbWFqb3IsIE1FVEhfVkFSQVJHUywgb3NfbWFqb3JfX2RvY19ffSwKKworc3RhdGljIHVuc2lnbmVkIGludAorb3NfbWFqb3JfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBkZXZfdCBkZXZpY2UpOworCitzdGF0aWMgUHlPYmplY3QgKgorb3NfbWFqb3IoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgZGV2X3QgZGV2aWNlOworICAgIHVuc2lnbmVkIGludCBfcmV0dXJuX3ZhbHVlOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCisgICAgICAgICJPJjptYWpvciIsCisgICAgICAgIF9QeV9EZXZfQ29udmVydGVyLCAmZGV2aWNlKSkKKyAgICAgICAgZ290byBleGl0OworICAgIF9yZXR1cm5fdmFsdWUgPSBvc19tYWpvcl9pbXBsKG1vZHVsZSwgZGV2aWNlKTsKKyAgICBpZiAoKF9yZXR1cm5fdmFsdWUgPT0gKHVuc2lnbmVkIGludCktMSkgJiYgUHlFcnJfT2NjdXJyZWQoKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IFB5TG9uZ19Gcm9tVW5zaWduZWRMb25nKCh1bnNpZ25lZCBsb25nKV9yZXR1cm5fdmFsdWUpOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyB1bnNpZ25lZCBpbnQKK29zX21ham9yX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgZGV2X3QgZGV2aWNlKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWEyZDA2ZTkwOGViZjk1YjUgaW5wdXQ9MWUxNmE0ZDMwYzRkNDQ2Ml0qLworeworICAgIHJldHVybiBtYWpvcihkZXZpY2UpOworfQorCisKKy8qW2NsaW5pYyBpbnB1dF0KK29zLm1pbm9yIC0+IHVuc2lnbmVkX2ludAorCisgICAgZGV2aWNlOiBkZXZfdAorICAgIC8KKworRXh0cmFjdHMgYSBkZXZpY2UgbWlub3IgbnVtYmVyIGZyb20gYSByYXcgZGV2aWNlIG51bWJlci4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX21pbm9yX19kb2NfXywKKyJtaW5vcigkbW9kdWxlLCBkZXZpY2UsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJFeHRyYWN0cyBhIGRldmljZSBtaW5vciBudW1iZXIgZnJvbSBhIHJhdyBkZXZpY2UgbnVtYmVyLiIpOworCisjZGVmaW5lIE9TX01JTk9SX01FVEhPRERFRiAgICBcCisgICAgeyJtaW5vciIsIChQeUNGdW5jdGlvbilvc19taW5vciwgTUVUSF9WQVJBUkdTLCBvc19taW5vcl9fZG9jX199LAorCitzdGF0aWMgdW5zaWduZWQgaW50Citvc19taW5vcl9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGRldl90IGRldmljZSk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19taW5vcihQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncykKK3sKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBkZXZfdCBkZXZpY2U7CisgICAgdW5zaWduZWQgaW50IF9yZXR1cm5fdmFsdWU7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgIk8mOm1pbm9yIiwKKyAgICAgICAgX1B5X0Rldl9Db252ZXJ0ZXIsICZkZXZpY2UpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgX3JldHVybl92YWx1ZSA9IG9zX21pbm9yX2ltcGwobW9kdWxlLCBkZXZpY2UpOworICAgIGlmICgoX3JldHVybl92YWx1ZSA9PSAodW5zaWduZWQgaW50KS0xKSAmJiBQeUVycl9PY2N1cnJlZCgpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gUHlMb25nX0Zyb21VbnNpZ25lZExvbmcoKHVuc2lnbmVkIGxvbmcpX3JldHVybl92YWx1ZSk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIHVuc2lnbmVkIGludAorb3NfbWlub3JfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBkZXZfdCBkZXZpY2UpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9NjMzMjI4N2VlM2YwMDZlMiBpbnB1dD0wODQyYzZkMjNmMjRjNjVlXSovCit7CisgICAgcmV0dXJuIG1pbm9yKGRldmljZSk7Cit9CisKKworLypbY2xpbmljIGlucHV0XQorb3MubWFrZWRldiAtPiBkZXZfdAorCisgICAgbWFqb3I6IGludAorICAgIG1pbm9yOiBpbnQKKyAgICAvCisKK0NvbXBvc2VzIGEgcmF3IGRldmljZSBudW1iZXIgZnJvbSB0aGUgbWFqb3IgYW5kIG1pbm9yIGRldmljZSBudW1iZXJzLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3NfbWFrZWRldl9fZG9jX18sCisibWFrZWRldigkbW9kdWxlLCBtYWpvciwgbWlub3IsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJDb21wb3NlcyBhIHJhdyBkZXZpY2UgbnVtYmVyIGZyb20gdGhlIG1ham9yIGFuZCBtaW5vciBkZXZpY2UgbnVtYmVycy4iKTsKKworI2RlZmluZSBPU19NQUtFREVWX01FVEhPRERFRiAgICBcCisgICAgeyJtYWtlZGV2IiwgKFB5Q0Z1bmN0aW9uKW9zX21ha2VkZXYsIE1FVEhfVkFSQVJHUywgb3NfbWFrZWRldl9fZG9jX199LAorCitzdGF0aWMgZGV2X3QKK29zX21ha2VkZXZfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBpbnQgbWFqb3IsIGludCBtaW5vcik7CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19tYWtlZGV2KFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzKQoreworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIGludCBtYWpvcjsKKyAgICBpbnQgbWlub3I7CisgICAgZGV2X3QgX3JldHVybl92YWx1ZTsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAiaWk6bWFrZWRldiIsCisgICAgICAgICZtYWpvciwgJm1pbm9yKSkKKyAgICAgICAgZ290byBleGl0OworICAgIF9yZXR1cm5fdmFsdWUgPSBvc19tYWtlZGV2X2ltcGwobW9kdWxlLCBtYWpvciwgbWlub3IpOworICAgIGlmICgoX3JldHVybl92YWx1ZSA9PSAoZGV2X3QpLTEpICYmIFB5RXJyX09jY3VycmVkKCkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBfUHlMb25nX0Zyb21EZXYoX3JldHVybl92YWx1ZSk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIGRldl90Citvc19tYWtlZGV2X2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgaW50IG1ham9yLCBpbnQgbWlub3IpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9MzhlOWE5Nzc0Yzk2NTExYSBpbnB1dD00YjlmZDhmYzczY2JlNDhmXSovCit7CisgICAgcmV0dXJuIG1ha2VkZXYobWFqb3IsIG1pbm9yKTsKK30KKyNlbmRpZiAvKiBIQVZFX0RFVklDRV9NQUNST1MgKi8KKworCisjaWZkZWYgSEFWRV9GVFJVTkNBVEUKKy8qW2NsaW5pYyBpbnB1dF0KK29zLmZ0cnVuY2F0ZQorCisgICAgZmQ6IGludAorICAgIGxlbmd0aDogUHlfb2ZmX3QKKyAgICAvCisKK1RydW5jYXRlIGEgZmlsZSwgc3BlY2lmaWVkIGJ5IGZpbGUgZGVzY3JpcHRvciwgdG8gYSBzcGVjaWZpYyBsZW5ndGguCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19mdHJ1bmNhdGVfX2RvY19fLAorImZ0cnVuY2F0ZSgkbW9kdWxlLCBmZCwgbGVuZ3RoLCAvKVxuIgorIi0tXG4iCisiXG4iCisiVHJ1bmNhdGUgYSBmaWxlLCBzcGVjaWZpZWQgYnkgZmlsZSBkZXNjcmlwdG9yLCB0byBhIHNwZWNpZmljIGxlbmd0aC4iKTsKKworI2RlZmluZSBPU19GVFJVTkNBVEVfTUVUSE9EREVGICAgIFwKKyAgICB7ImZ0cnVuY2F0ZSIsIChQeUNGdW5jdGlvbilvc19mdHJ1bmNhdGUsIE1FVEhfVkFSQVJHUywgb3NfZnRydW5jYXRlX19kb2NfX30sCisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19mdHJ1bmNhdGVfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBpbnQgZmQsIFB5X29mZl90IGxlbmd0aCk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19mdHJ1bmNhdGUoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgaW50IGZkOworICAgIFB5X29mZl90IGxlbmd0aDsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAiaU8mOmZ0cnVuY2F0ZSIsCisgICAgICAgICZmZCwgUHlfb2ZmX3RfY29udmVydGVyLCAmbGVuZ3RoKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IG9zX2Z0cnVuY2F0ZV9pbXBsKG1vZHVsZSwgZmQsIGxlbmd0aCk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK29zX2Z0cnVuY2F0ZV9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGludCBmZCwgUHlfb2ZmX3QgbGVuZ3RoKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTYyMzI2NzY2Y2I5Yjc2YmYgaW5wdXQ9NjNiNDM2NDFlNTI4MThmMl0qLworeworICAgIGludCByZXN1bHQ7CisgICAgaW50IGFzeW5jX2VyciA9IDA7CisKKyAgICBkbyB7CisgICAgICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKKyAgICAgICAgcmVzdWx0ID0gZnRydW5jYXRlKGZkLCBsZW5ndGgpOworICAgICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUworICAgIH0gd2hpbGUgKHJlc3VsdCAhPSAwICYmIGVycm5vID09IEVJTlRSICYmCisgICAgICAgICAgICAgIShhc3luY19lcnIgPSBQeUVycl9DaGVja1NpZ25hbHMoKSkpOworICAgIGlmIChyZXN1bHQgIT0gMCkKKyAgICAgICAgcmV0dXJuICghYXN5bmNfZXJyKSA/IHBvc2l4X2Vycm9yKCkgOiBOVUxMOworICAgIFB5X1JFVFVSTl9OT05FOworfQorI2VuZGlmIC8qIEhBVkVfRlRSVU5DQVRFICovCisKKworI2lmZGVmIEhBVkVfVFJVTkNBVEUKKy8qW2NsaW5pYyBpbnB1dF0KK29zLnRydW5jYXRlCisgICAgcGF0aDogcGF0aF90KGFsbG93X2ZkPSdQQVRIX0hBVkVfRlRSVU5DQVRFJykKKyAgICBsZW5ndGg6IFB5X29mZl90CisKK1RydW5jYXRlIGEgZmlsZSwgc3BlY2lmaWVkIGJ5IHBhdGgsIHRvIGEgc3BlY2lmaWMgbGVuZ3RoLgorCitPbiBzb21lIHBsYXRmb3JtcywgcGF0aCBtYXkgYWxzbyBiZSBzcGVjaWZpZWQgYXMgYW4gb3BlbiBmaWxlIGRlc2NyaXB0b3IuCisgIElmIHRoaXMgZnVuY3Rpb25hbGl0eSBpcyB1bmF2YWlsYWJsZSwgdXNpbmcgaXQgcmFpc2VzIGFuIGV4Y2VwdGlvbi4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX3RydW5jYXRlX19kb2NfXywKKyJ0cnVuY2F0ZSgkbW9kdWxlLCAvLCBwYXRoLCBsZW5ndGgpXG4iCisiLS1cbiIKKyJcbiIKKyJUcnVuY2F0ZSBhIGZpbGUsIHNwZWNpZmllZCBieSBwYXRoLCB0byBhIHNwZWNpZmljIGxlbmd0aC5cbiIKKyJcbiIKKyJPbiBzb21lIHBsYXRmb3JtcywgcGF0aCBtYXkgYWxzbyBiZSBzcGVjaWZpZWQgYXMgYW4gb3BlbiBmaWxlIGRlc2NyaXB0b3IuXG4iCisiICBJZiB0aGlzIGZ1bmN0aW9uYWxpdHkgaXMgdW5hdmFpbGFibGUsIHVzaW5nIGl0IHJhaXNlcyBhbiBleGNlcHRpb24uIik7CisKKyNkZWZpbmUgT1NfVFJVTkNBVEVfTUVUSE9EREVGICAgIFwKKyAgICB7InRydW5jYXRlIiwgKFB5Q0Z1bmN0aW9uKW9zX3RydW5jYXRlLCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywgb3NfdHJ1bmNhdGVfX2RvY19ffSwKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX3RydW5jYXRlX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgcGF0aF90ICpwYXRoLCBQeV9vZmZfdCBsZW5ndGgpOworCitzdGF0aWMgUHlPYmplY3QgKgorb3NfdHJ1bmNhdGUoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCit7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgc3RhdGljIGNoYXIgKl9rZXl3b3Jkc1tdID0geyJwYXRoIiwgImxlbmd0aCIsIE5VTEx9OworICAgIHBhdGhfdCBwYXRoID0gUEFUSF9UX0lOSVRJQUxJWkUoInRydW5jYXRlIiwgInBhdGgiLCAwLCBQQVRIX0hBVkVfRlRSVU5DQVRFKTsKKyAgICBQeV9vZmZfdCBsZW5ndGg7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsCisgICAgICAgICJPJk8mOnRydW5jYXRlIiwgX2tleXdvcmRzLAorICAgICAgICBwYXRoX2NvbnZlcnRlciwgJnBhdGgsIFB5X29mZl90X2NvbnZlcnRlciwgJmxlbmd0aCkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBvc190cnVuY2F0ZV9pbXBsKG1vZHVsZSwgJnBhdGgsIGxlbmd0aCk7CisKK2V4aXQ6CisgICAgLyogQ2xlYW51cCBmb3IgcGF0aCAqLworICAgIHBhdGhfY2xlYW51cCgmcGF0aCk7CisKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorb3NfdHJ1bmNhdGVfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBwYXRoX3QgKnBhdGgsIFB5X29mZl90IGxlbmd0aCkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD02YmQ3NjI2MmQyZTAyN2M2IGlucHV0PTc3MjI5Y2YwYjUwYTliNzddKi8KK3sKKyAgICBpbnQgcmVzdWx0OworCisgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUworI2lmZGVmIEhBVkVfRlRSVU5DQVRFCisgICAgaWYgKHBhdGgtPmZkICE9IC0xKQorICAgICAgICByZXN1bHQgPSBmdHJ1bmNhdGUocGF0aC0+ZmQsIGxlbmd0aCk7CisgICAgZWxzZQorI2VuZGlmCisgICAgICAgIHJlc3VsdCA9IHRydW5jYXRlKHBhdGgtPm5hcnJvdywgbGVuZ3RoKTsKKyAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUworICAgIGlmIChyZXN1bHQgPCAwKQorICAgICAgICByZXR1cm4gcGF0aF9lcnJvcihwYXRoKTsKKworICAgIFB5X1JFVFVSTl9OT05FOworfQorI2VuZGlmIC8qIEhBVkVfVFJVTkNBVEUgKi8KKwogCiAvKiBJc3N1ZSAjMjIzOTY6IE9uIDMyLWJpdCBBSVggcGxhdGZvcm0sIHRoZSBwcm90b3R5cGVzIG9mIG9zLnBvc2l4X2ZhZHZpc2UoKQogICAgYW5kIG9zLnBvc2l4X2ZhbGxvY2F0ZSgpIGluIHN5c3RlbSBoZWFkZXJzIGFyZSB3cm9uZyBpZiBfTEFSR0VfRklMRVMgaXMKQEAgLTg4MTQsMTg2ICsxMjg0NiwzNzUgQEAKICMgIGRlZmluZSBQT1NJWF9GQURWSVNFX0FJWF9CVUcKICNlbmRpZgogCisKICNpZiBkZWZpbmVkKEhBVkVfUE9TSVhfRkFMTE9DQVRFKSAmJiAhZGVmaW5lZChQT1NJWF9GQURWSVNFX0FJWF9CVUcpCi1QeURvY19TVFJWQVIocG9zaXhfcG9zaXhfZmFsbG9jYXRlX19kb2NfXywKLSJwb3NpeF9mYWxsb2NhdGUoZmQsIG9mZnNldCwgbGVuKVxuXG5cCi1FbnN1cmVzIHRoYXQgZW5vdWdoIGRpc2sgc3BhY2UgaXMgYWxsb2NhdGVkIGZvciB0aGUgZmlsZSBzcGVjaWZpZWQgYnkgZmRcblwKLXN0YXJ0aW5nIGZyb20gb2Zmc2V0IGFuZCBjb250aW51aW5nIGZvciBsZW4gYnl0ZXMuIik7CisvKltjbGluaWMgaW5wdXRdCitvcy5wb3NpeF9mYWxsb2NhdGUKKworICAgIGZkOiBpbnQKKyAgICBvZmZzZXQ6IFB5X29mZl90CisgICAgbGVuZ3RoOiBQeV9vZmZfdAorICAgIC8KKworRW5zdXJlIGEgZmlsZSBoYXMgYWxsb2NhdGVkIGF0IGxlYXN0IGEgcGFydGljdWxhciBudW1iZXIgb2YgYnl0ZXMgb24gZGlzay4KKworRW5zdXJlIHRoYXQgdGhlIGZpbGUgc3BlY2lmaWVkIGJ5IGZkIGVuY29tcGFzc2VzIGEgcmFuZ2Ugb2YgYnl0ZXMKK3N0YXJ0aW5nIGF0IG9mZnNldCBieXRlcyBmcm9tIHRoZSBiZWdpbm5pbmcgYW5kIGNvbnRpbnVpbmcgZm9yIGxlbmd0aCBieXRlcy4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX3Bvc2l4X2ZhbGxvY2F0ZV9fZG9jX18sCisicG9zaXhfZmFsbG9jYXRlKCRtb2R1bGUsIGZkLCBvZmZzZXQsIGxlbmd0aCwgLylcbiIKKyItLVxuIgorIlxuIgorIkVuc3VyZSBhIGZpbGUgaGFzIGFsbG9jYXRlZCBhdCBsZWFzdCBhIHBhcnRpY3VsYXIgbnVtYmVyIG9mIGJ5dGVzIG9uIGRpc2suXG4iCisiXG4iCisiRW5zdXJlIHRoYXQgdGhlIGZpbGUgc3BlY2lmaWVkIGJ5IGZkIGVuY29tcGFzc2VzIGEgcmFuZ2Ugb2YgYnl0ZXNcbiIKKyJzdGFydGluZyBhdCBvZmZzZXQgYnl0ZXMgZnJvbSB0aGUgYmVnaW5uaW5nIGFuZCBjb250aW51aW5nIGZvciBsZW5ndGggYnl0ZXMuIik7CisKKyNkZWZpbmUgT1NfUE9TSVhfRkFMTE9DQVRFX01FVEhPRERFRiAgICBcCisgICAgeyJwb3NpeF9mYWxsb2NhdGUiLCAoUHlDRnVuY3Rpb24pb3NfcG9zaXhfZmFsbG9jYXRlLCBNRVRIX1ZBUkFSR1MsIG9zX3Bvc2l4X2ZhbGxvY2F0ZV9fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfcG9zaXhfZmFsbG9jYXRlKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK29zX3Bvc2l4X2ZhbGxvY2F0ZV9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGludCBmZCwgUHlfb2ZmX3Qgb2Zmc2V0LCBQeV9vZmZfdCBsZW5ndGgpOworCitzdGF0aWMgUHlPYmplY3QgKgorb3NfcG9zaXhfZmFsbG9jYXRlKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzKQogewotICAgIG9mZl90IGxlbiwgb2Zmc2V0OwotICAgIGludCByZXMsIGZkOworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIGludCBmZDsKKyAgICBQeV9vZmZfdCBvZmZzZXQ7CisgICAgUHlfb2ZmX3QgbGVuZ3RoOwogCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJpTyZPJjpwb3NpeF9mYWxsb2NhdGUiLAotICAgICAgICAgICAgJmZkLCBfcGFyc2Vfb2ZmX3QsICZvZmZzZXQsIF9wYXJzZV9vZmZfdCwgJmxlbikpCi0gICAgICAgIHJldHVybiBOVUxMOworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAiaU8mTyY6cG9zaXhfZmFsbG9jYXRlIiwKKyAgICAgICAgJmZkLCBQeV9vZmZfdF9jb252ZXJ0ZXIsICZvZmZzZXQsIFB5X29mZl90X2NvbnZlcnRlciwgJmxlbmd0aCkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBvc19wb3NpeF9mYWxsb2NhdGVfaW1wbChtb2R1bGUsIGZkLCBvZmZzZXQsIGxlbmd0aCk7CiAKLSAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCi0gICAgcmVzID0gcG9zaXhfZmFsbG9jYXRlKGZkLCBvZmZzZXQsIGxlbik7Ci0gICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKLSAgICBpZiAocmVzICE9IDApIHsKLSAgICAgICAgZXJybm8gPSByZXM7Ci0gICAgICAgIHJldHVybiBwb3NpeF9lcnJvcigpOwotICAgIH0KK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK29zX3Bvc2l4X2ZhbGxvY2F0ZV9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGludCBmZCwgUHlfb2ZmX3Qgb2Zmc2V0LCBQeV9vZmZfdCBsZW5ndGgpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9MGNkNzAyZDIwNjVjNzlkYiBpbnB1dD1kN2EyZWYwYWIyY2E1MmZiXSovCit7CisgICAgaW50IHJlc3VsdDsKKyAgICBpbnQgYXN5bmNfZXJyID0gMDsKKworICAgIGRvIHsKKyAgICAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUworICAgICAgICByZXN1bHQgPSBwb3NpeF9mYWxsb2NhdGUoZmQsIG9mZnNldCwgbGVuZ3RoKTsKKyAgICAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKKyAgICB9IHdoaWxlIChyZXN1bHQgIT0gMCAmJiBlcnJubyA9PSBFSU5UUiAmJgorICAgICAgICAgICAgICEoYXN5bmNfZXJyID0gUHlFcnJfQ2hlY2tTaWduYWxzKCkpKTsKKyAgICBpZiAocmVzdWx0ICE9IDApCisgICAgICAgIHJldHVybiAoIWFzeW5jX2VycikgPyBwb3NpeF9lcnJvcigpIDogTlVMTDsKICAgICBQeV9SRVRVUk5fTk9ORTsKIH0KLSNlbmRpZgorI2VuZGlmIC8qIEhBVkVfUE9TSVhfRkFMTE9DQVRFKSAmJiAhUE9TSVhfRkFEVklTRV9BSVhfQlVHICovCisKIAogI2lmIGRlZmluZWQoSEFWRV9QT1NJWF9GQURWSVNFKSAmJiAhZGVmaW5lZChQT1NJWF9GQURWSVNFX0FJWF9CVUcpCi1QeURvY19TVFJWQVIocG9zaXhfcG9zaXhfZmFkdmlzZV9fZG9jX18sCi0icG9zaXhfZmFkdmlzZShmZCwgb2Zmc2V0LCBsZW4sIGFkdmljZSlcblxuXAotQW5ub3VuY2VzIGFuIGludGVudGlvbiB0byBhY2Nlc3MgZGF0YSBpbiBhIHNwZWNpZmljIHBhdHRlcm4gdGh1cyBhbGxvd2luZ1xuXAotdGhlIGtlcm5lbCB0byBtYWtlIG9wdGltaXphdGlvbnMuXG5cCi1UaGUgYWR2aWNlIGFwcGxpZXMgdG8gdGhlIHJlZ2lvbiBvZiB0aGUgZmlsZSBzcGVjaWZpZWQgYnkgZmQgc3RhcnRpbmcgYXRcblwKLW9mZnNldCBhbmQgY29udGludWluZyBmb3IgbGVuIGJ5dGVzLlxuXAotYWR2aWNlIGlzIG9uZSBvZiBQT1NJWF9GQURWX05PUk1BTCwgUE9TSVhfRkFEVl9TRVFVRU5USUFMLFxuXAotUE9TSVhfRkFEVl9SQU5ET00sIFBPU0lYX0ZBRFZfTk9SRVVTRSwgUE9TSVhfRkFEVl9XSUxMTkVFRCBvclxuXAotUE9TSVhfRkFEVl9ET05UTkVFRC4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK29zLnBvc2l4X2ZhZHZpc2UKKworICAgIGZkOiBpbnQKKyAgICBvZmZzZXQ6IFB5X29mZl90CisgICAgbGVuZ3RoOiBQeV9vZmZfdAorICAgIGFkdmljZTogaW50CisgICAgLworCitBbm5vdW5jZSBhbiBpbnRlbnRpb24gdG8gYWNjZXNzIGRhdGEgaW4gYSBzcGVjaWZpYyBwYXR0ZXJuLgorCitBbm5vdW5jZSBhbiBpbnRlbnRpb24gdG8gYWNjZXNzIGRhdGEgaW4gYSBzcGVjaWZpYyBwYXR0ZXJuLCB0aHVzIGFsbG93aW5nCit0aGUga2VybmVsIHRvIG1ha2Ugb3B0aW1pemF0aW9ucy4KK1RoZSBhZHZpY2UgYXBwbGllcyB0byB0aGUgcmVnaW9uIG9mIHRoZSBmaWxlIHNwZWNpZmllZCBieSBmZCBzdGFydGluZyBhdAorb2Zmc2V0IGFuZCBjb250aW51aW5nIGZvciBsZW5ndGggYnl0ZXMuCithZHZpY2UgaXMgb25lIG9mIFBPU0lYX0ZBRFZfTk9STUFMLCBQT1NJWF9GQURWX1NFUVVFTlRJQUwsCitQT1NJWF9GQURWX1JBTkRPTSwgUE9TSVhfRkFEVl9OT1JFVVNFLCBQT1NJWF9GQURWX1dJTExORUVELCBvcgorUE9TSVhfRkFEVl9ET05UTkVFRC4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX3Bvc2l4X2ZhZHZpc2VfX2RvY19fLAorInBvc2l4X2ZhZHZpc2UoJG1vZHVsZSwgZmQsIG9mZnNldCwgbGVuZ3RoLCBhZHZpY2UsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJBbm5vdW5jZSBhbiBpbnRlbnRpb24gdG8gYWNjZXNzIGRhdGEgaW4gYSBzcGVjaWZpYyBwYXR0ZXJuLlxuIgorIlxuIgorIkFubm91bmNlIGFuIGludGVudGlvbiB0byBhY2Nlc3MgZGF0YSBpbiBhIHNwZWNpZmljIHBhdHRlcm4sIHRodXMgYWxsb3dpbmdcbiIKKyJ0aGUga2VybmVsIHRvIG1ha2Ugb3B0aW1pemF0aW9ucy5cbiIKKyJUaGUgYWR2aWNlIGFwcGxpZXMgdG8gdGhlIHJlZ2lvbiBvZiB0aGUgZmlsZSBzcGVjaWZpZWQgYnkgZmQgc3RhcnRpbmcgYXRcbiIKKyJvZmZzZXQgYW5kIGNvbnRpbnVpbmcgZm9yIGxlbmd0aCBieXRlcy5cbiIKKyJhZHZpY2UgaXMgb25lIG9mIFBPU0lYX0ZBRFZfTk9STUFMLCBQT1NJWF9GQURWX1NFUVVFTlRJQUwsXG4iCisiUE9TSVhfRkFEVl9SQU5ET00sIFBPU0lYX0ZBRFZfTk9SRVVTRSwgUE9TSVhfRkFEVl9XSUxMTkVFRCwgb3JcbiIKKyJQT1NJWF9GQURWX0RPTlRORUVELiIpOworCisjZGVmaW5lIE9TX1BPU0lYX0ZBRFZJU0VfTUVUSE9EREVGICAgIFwKKyAgICB7InBvc2l4X2ZhZHZpc2UiLCAoUHlDRnVuY3Rpb24pb3NfcG9zaXhfZmFkdmlzZSwgTUVUSF9WQVJBUkdTLCBvc19wb3NpeF9mYWR2aXNlX19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF9wb3NpeF9mYWR2aXNlKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK29zX3Bvc2l4X2ZhZHZpc2VfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBpbnQgZmQsIFB5X29mZl90IG9mZnNldCwgUHlfb2ZmX3QgbGVuZ3RoLCBpbnQgYWR2aWNlKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX3Bvc2l4X2ZhZHZpc2UoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MpCiB7Ci0gICAgb2ZmX3QgbGVuLCBvZmZzZXQ7Ci0gICAgaW50IHJlcywgZmQsIGFkdmljZTsKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBpbnQgZmQ7CisgICAgUHlfb2ZmX3Qgb2Zmc2V0OworICAgIFB5X29mZl90IGxlbmd0aDsKKyAgICBpbnQgYWR2aWNlOwogCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJpTyZPJmk6cG9zaXhfZmFkdmlzZSIsCi0gICAgICAgICAgICAmZmQsIF9wYXJzZV9vZmZfdCwgJm9mZnNldCwgX3BhcnNlX29mZl90LCAmbGVuLCAmYWR2aWNlKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCisgICAgICAgICJpTyZPJmk6cG9zaXhfZmFkdmlzZSIsCisgICAgICAgICZmZCwgUHlfb2ZmX3RfY29udmVydGVyLCAmb2Zmc2V0LCBQeV9vZmZfdF9jb252ZXJ0ZXIsICZsZW5ndGgsICZhZHZpY2UpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gb3NfcG9zaXhfZmFkdmlzZV9pbXBsKG1vZHVsZSwgZmQsIG9mZnNldCwgbGVuZ3RoLCBhZHZpY2UpOwogCi0gICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwotICAgIHJlcyA9IHBvc2l4X2ZhZHZpc2UoZmQsIG9mZnNldCwgbGVuLCBhZHZpY2UpOwotICAgIFB5X0VORF9BTExPV19USFJFQURTCi0gICAgaWYgKHJlcyAhPSAwKSB7Ci0gICAgICAgIGVycm5vID0gcmVzOwotICAgICAgICByZXR1cm4gcG9zaXhfZXJyb3IoKTsKLSAgICB9CitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19wb3NpeF9mYWR2aXNlX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgaW50IGZkLCBQeV9vZmZfdCBvZmZzZXQsIFB5X29mZl90IGxlbmd0aCwgaW50IGFkdmljZSkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1kYWQ5M2YzMmMwNGRkNGY3IGlucHV0PTBmYmU1NTRlZGMyZjA0YjVdKi8KK3sKKyAgICBpbnQgcmVzdWx0OworICAgIGludCBhc3luY19lcnIgPSAwOworCisgICAgZG8geworICAgICAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCisgICAgICAgIHJlc3VsdCA9IHBvc2l4X2ZhZHZpc2UoZmQsIG9mZnNldCwgbGVuZ3RoLCBhZHZpY2UpOworICAgICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUworICAgIH0gd2hpbGUgKHJlc3VsdCAhPSAwICYmIGVycm5vID09IEVJTlRSICYmCisgICAgICAgICAgICAgIShhc3luY19lcnIgPSBQeUVycl9DaGVja1NpZ25hbHMoKSkpOworICAgIGlmIChyZXN1bHQgIT0gMCkKKyAgICAgICAgcmV0dXJuICghYXN5bmNfZXJyKSA/IHBvc2l4X2Vycm9yKCkgOiBOVUxMOwogICAgIFB5X1JFVFVSTl9OT05FOwogfQotI2VuZGlmCisjZW5kaWYgLyogSEFWRV9QT1NJWF9GQURWSVNFICYmICFQT1NJWF9GQURWSVNFX0FJWF9CVUcgKi8KIAogI2lmZGVmIEhBVkVfUFVURU5WCi1QeURvY19TVFJWQVIocG9zaXhfcHV0ZW52X19kb2NfXywKLSJwdXRlbnYoa2V5LCB2YWx1ZSlcblxuXAotQ2hhbmdlIG9yIGFkZCBhbiBlbnZpcm9ubWVudCB2YXJpYWJsZS4iKTsKIAogLyogU2F2ZSBwdXRlbnYoKSBwYXJhbWV0ZXJzIGFzIHZhbHVlcyBoZXJlLCBzbyB3ZSBjYW4gY29sbGVjdCB0aGVtIHdoZW4gdGhleQogICogZ2V0IHJlLXNldCB3aXRoIGFub3RoZXIgY2FsbCBmb3IgdGhlIHNhbWUga2V5LiAqLwogc3RhdGljIFB5T2JqZWN0ICpwb3NpeF9wdXRlbnZfZ2FyYmFnZTsKIAotc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X3B1dGVudihQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCitzdGF0aWMgdm9pZAorcG9zaXhfcHV0ZW52X2dhcmJhZ2Vfc2V0aXRlbShQeU9iamVjdCAqbmFtZSwgUHlPYmplY3QgKnZhbHVlKQogewotICAgIFB5T2JqZWN0ICpuZXdzdHIgPSBOVUxMOworICAgIC8qIEluc3RhbGwgdGhlIGZpcnN0IGFyZyBhbmQgbmV3c3RyIGluIHBvc2l4X3B1dGVudl9nYXJiYWdlOworICAgICAqIHRoaXMgd2lsbCBjYXVzZSBwcmV2aW91cyB2YWx1ZSB0byBiZSBjb2xsZWN0ZWQuICBUaGlzIGhhcyB0bworICAgICAqIGhhcHBlbiBhZnRlciB0aGUgcmVhbCBwdXRlbnYoKSBjYWxsIGJlY2F1c2UgdGhlIG9sZCB2YWx1ZQorICAgICAqIHdhcyBzdGlsbCBhY2Nlc3NpYmxlIHVudGlsIHRoZW4uICovCisgICAgaWYgKFB5RGljdF9TZXRJdGVtKHBvc2l4X3B1dGVudl9nYXJiYWdlLCBuYW1lLCB2YWx1ZSkpCisgICAgICAgIC8qIHJlYWxseSBub3QgbXVjaCB3ZSBjYW4gZG87IGp1c3QgbGVhayAqLworICAgICAgICBQeUVycl9DbGVhcigpOworICAgIGVsc2UKKyAgICAgICAgUHlfREVDUkVGKHZhbHVlKTsKK30KKworCiAjaWZkZWYgTVNfV0lORE9XUwotICAgIFB5T2JqZWN0ICpvczEsICpvczI7Ci0gICAgd2NoYXJfdCAqbmV3ZW52OworLypbY2xpbmljIGlucHV0XQorb3MucHV0ZW52CisKKyAgICBuYW1lOiB1bmljb2RlCisgICAgdmFsdWU6IHVuaWNvZGUKKyAgICAvCisKK0NoYW5nZSBvciBhZGQgYW4gZW52aXJvbm1lbnQgdmFyaWFibGUuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19wdXRlbnZfX2RvY19fLAorInB1dGVudigkbW9kdWxlLCBuYW1lLCB2YWx1ZSwgLylcbiIKKyItLVxuIgorIlxuIgorIkNoYW5nZSBvciBhZGQgYW4gZW52aXJvbm1lbnQgdmFyaWFibGUuIik7CisKKyNkZWZpbmUgT1NfUFVURU5WX01FVEhPRERFRiAgICBcCisgICAgeyJwdXRlbnYiLCAoUHlDRnVuY3Rpb24pb3NfcHV0ZW52LCBNRVRIX1ZBUkFSR1MsIG9zX3B1dGVudl9fZG9jX199LAorCitzdGF0aWMgUHlPYmplY3QgKgorb3NfcHV0ZW52X2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKm5hbWUsIFB5T2JqZWN0ICp2YWx1ZSk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19wdXRlbnYoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgUHlPYmplY3QgKm5hbWU7CisgICAgUHlPYmplY3QgKnZhbHVlOwogCiAgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICJVVTpwdXRlbnYiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAmb3MxLCAmb3MyKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgICJVVTpwdXRlbnYiLAorICAgICAgICAmbmFtZSwgJnZhbHVlKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IG9zX3B1dGVudl9pbXBsKG1vZHVsZSwgbmFtZSwgdmFsdWUpOwogCi0gICAgbmV3c3RyID0gUHlVbmljb2RlX0Zyb21Gb3JtYXQoIiVVPSVVIiwgb3MxLCBvczIpOwotICAgIGlmIChuZXdzdHIgPT0gTlVMTCkgeworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorb3NfcHV0ZW52X2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKm5hbWUsIFB5T2JqZWN0ICp2YWx1ZSkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD01Y2U5ZWY5YjE1NjA2ZTdlIGlucHV0PWJhNTg2NTgxYzJlNjEwNWZdKi8KK3sKKyAgICB3Y2hhcl90ICplbnY7CisKKyAgICBQeU9iamVjdCAqdW5pY29kZSA9IFB5VW5pY29kZV9Gcm9tRm9ybWF0KCIlVT0lVSIsIG5hbWUsIHZhbHVlKTsKKyAgICBpZiAodW5pY29kZSA9PSBOVUxMKSB7CiAgICAgICAgIFB5RXJyX05vTWVtb3J5KCk7Ci0gICAgICAgIGdvdG8gZXJyb3I7CisgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KLSAgICBpZiAoX01BWF9FTlYgPCBQeVVuaWNvZGVfR0VUX0xFTkdUSChuZXdzdHIpKSB7CisgICAgaWYgKF9NQVhfRU5WIDwgUHlVbmljb2RlX0dFVF9MRU5HVEgodW5pY29kZSkpIHsKICAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX1ZhbHVlRXJyb3IsCiAgICAgICAgICAgICAgICAgICAgICAidGhlIGVudmlyb25tZW50IHZhcmlhYmxlIGlzIGxvbmdlciB0aGFuICV1IGNoYXJhY3RlcnMiLAogICAgICAgICAgICAgICAgICAgICAgX01BWF9FTlYpOwogICAgICAgICBnb3RvIGVycm9yOwogICAgIH0KIAotICAgIG5ld2VudiA9IFB5VW5pY29kZV9Bc1VuaWNvZGUobmV3c3RyKTsKLSAgICBpZiAobmV3ZW52ID09IE5VTEwpCisgICAgZW52ID0gUHlVbmljb2RlX0FzVW5pY29kZSh1bmljb2RlKTsKKyAgICBpZiAoZW52ID09IE5VTEwpCiAgICAgICAgIGdvdG8gZXJyb3I7Ci0gICAgaWYgKF93cHV0ZW52KG5ld2VudikpIHsKKyAgICBpZiAoX3dwdXRlbnYoZW52KSkgewogICAgICAgICBwb3NpeF9lcnJvcigpOwogICAgICAgICBnb3RvIGVycm9yOwogICAgIH0KLSNlbHNlCi0gICAgUHlPYmplY3QgKm9zMSwgKm9zMjsKLSAgICBjaGFyICpzMSwgKnMyOwotICAgIGNoYXIgKm5ld2VudjsKIAotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAiTyZPJjpwdXRlbnYiLAotICAgICAgICAgICAgICAgICAgICAgICAgICBQeVVuaWNvZGVfRlNDb252ZXJ0ZXIsICZvczEsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIFB5VW5pY29kZV9GU0NvbnZlcnRlciwgJm9zMikpCi0gICAgICAgIHJldHVybiBOVUxMOwotICAgIHMxID0gUHlCeXRlc19Bc1N0cmluZyhvczEpOwotICAgIHMyID0gUHlCeXRlc19Bc1N0cmluZyhvczIpOwotCi0gICAgbmV3c3RyID0gUHlCeXRlc19Gcm9tRm9ybWF0KCIlcz0lcyIsIHMxLCBzMik7Ci0gICAgaWYgKG5ld3N0ciA9PSBOVUxMKSB7Ci0gICAgICAgIFB5RXJyX05vTWVtb3J5KCk7Ci0gICAgICAgIGdvdG8gZXJyb3I7Ci0gICAgfQotCi0gICAgbmV3ZW52ID0gUHlCeXRlc19BU19TVFJJTkcobmV3c3RyKTsKLSAgICBpZiAocHV0ZW52KG5ld2VudikpIHsKLSAgICAgICAgcG9zaXhfZXJyb3IoKTsKLSAgICAgICAgZ290byBlcnJvcjsKLSAgICB9Ci0jZW5kaWYKLQotICAgIC8qIEluc3RhbGwgdGhlIGZpcnN0IGFyZyBhbmQgbmV3c3RyIGluIHBvc2l4X3B1dGVudl9nYXJiYWdlOwotICAgICAqIHRoaXMgd2lsbCBjYXVzZSBwcmV2aW91cyB2YWx1ZSB0byBiZSBjb2xsZWN0ZWQuICBUaGlzIGhhcyB0bwotICAgICAqIGhhcHBlbiBhZnRlciB0aGUgcmVhbCBwdXRlbnYoKSBjYWxsIGJlY2F1c2UgdGhlIG9sZCB2YWx1ZQotICAgICAqIHdhcyBzdGlsbCBhY2Nlc3NpYmxlIHVudGlsIHRoZW4uICovCi0gICAgaWYgKFB5RGljdF9TZXRJdGVtKHBvc2l4X3B1dGVudl9nYXJiYWdlLCBvczEsIG5ld3N0cikpIHsKLSAgICAgICAgLyogcmVhbGx5IG5vdCBtdWNoIHdlIGNhbiBkbzsganVzdCBsZWFrICovCi0gICAgICAgIFB5RXJyX0NsZWFyKCk7Ci0gICAgfQotICAgIGVsc2UgewotICAgICAgICBQeV9ERUNSRUYobmV3c3RyKTsKLSAgICB9Ci0KLSNpZm5kZWYgTVNfV0lORE9XUwotICAgIFB5X0RFQ1JFRihvczEpOwotICAgIFB5X0RFQ1JFRihvczIpOwotI2VuZGlmCisgICAgcG9zaXhfcHV0ZW52X2dhcmJhZ2Vfc2V0aXRlbShuYW1lLCB1bmljb2RlKTsKICAgICBQeV9SRVRVUk5fTk9ORTsKIAogZXJyb3I6Ci0jaWZuZGVmIE1TX1dJTkRPV1MKLSAgICBQeV9ERUNSRUYob3MxKTsKLSAgICBQeV9ERUNSRUYob3MyKTsKLSNlbmRpZgotICAgIFB5X1hERUNSRUYobmV3c3RyKTsKKyAgICBQeV9ERUNSRUYodW5pY29kZSk7CiAgICAgcmV0dXJuIE5VTEw7CiB9Ci0jZW5kaWYgLyogcHV0ZW52ICovCisjZWxzZSAvKiBNU19XSU5ET1dTICovCisvKltjbGluaWMgaW5wdXRdCitvcy5wdXRlbnYKIAotI2lmZGVmIEhBVkVfVU5TRVRFTlYKLVB5RG9jX1NUUlZBUihwb3NpeF91bnNldGVudl9fZG9jX18sCi0idW5zZXRlbnYoa2V5KVxuXG5cCi1EZWxldGUgYW4gZW52aXJvbm1lbnQgdmFyaWFibGUuIik7CisgICAgbmFtZTogRlNDb252ZXJ0ZXIKKyAgICB2YWx1ZTogRlNDb252ZXJ0ZXIKKyAgICAvCisKK0NoYW5nZSBvciBhZGQgYW4gZW52aXJvbm1lbnQgdmFyaWFibGUuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19wdXRlbnZfX2RvY19fLAorInB1dGVudigkbW9kdWxlLCBuYW1lLCB2YWx1ZSwgLylcbiIKKyItLVxuIgorIlxuIgorIkNoYW5nZSBvciBhZGQgYW4gZW52aXJvbm1lbnQgdmFyaWFibGUuIik7CisKKyNkZWZpbmUgT1NfUFVURU5WX01FVEhPRERFRiAgICBcCisgICAgeyJwdXRlbnYiLCAoUHlDRnVuY3Rpb24pb3NfcHV0ZW52LCBNRVRIX1ZBUkFSR1MsIG9zX3B1dGVudl9fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfdW5zZXRlbnYoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQorb3NfcHV0ZW52X2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKm5hbWUsIFB5T2JqZWN0ICp2YWx1ZSk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19wdXRlbnYoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MpCiB7Ci0gICAgUHlPYmplY3QgKm5hbWU7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgUHlPYmplY3QgKm5hbWUgPSBOVUxMOworICAgIFB5T2JqZWN0ICp2YWx1ZSA9IE5VTEw7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgIk8mTyY6cHV0ZW52IiwKKyAgICAgICAgUHlVbmljb2RlX0ZTQ29udmVydGVyLCAmbmFtZSwgUHlVbmljb2RlX0ZTQ29udmVydGVyLCAmdmFsdWUpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gb3NfcHV0ZW52X2ltcGwobW9kdWxlLCBuYW1lLCB2YWx1ZSk7CisKK2V4aXQ6CisgICAgLyogQ2xlYW51cCBmb3IgbmFtZSAqLworICAgIFB5X1hERUNSRUYobmFtZSk7CisgICAgLyogQ2xlYW51cCBmb3IgdmFsdWUgKi8KKyAgICBQeV9YREVDUkVGKHZhbHVlKTsKKworICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19wdXRlbnZfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqbmFtZSwgUHlPYmplY3QgKnZhbHVlKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTg1YWIyMjMzOTNkYzdhZmQgaW5wdXQ9YTk3YmM2MTUyZjY4OGQzMV0qLworeworICAgIFB5T2JqZWN0ICpieXRlcyA9IE5VTEw7CisgICAgY2hhciAqZW52OworICAgIGNoYXIgKm5hbWVfc3RyaW5nID0gUHlCeXRlc19Bc1N0cmluZyhuYW1lKTsKKyAgICBjaGFyICp2YWx1ZV9zdHJpbmcgPSBQeUJ5dGVzX0FzU3RyaW5nKHZhbHVlKTsKKworICAgIGJ5dGVzID0gUHlCeXRlc19Gcm9tRm9ybWF0KCIlcz0lcyIsIG5hbWVfc3RyaW5nLCB2YWx1ZV9zdHJpbmcpOworICAgIGlmIChieXRlcyA9PSBOVUxMKSB7CisgICAgICAgIFB5RXJyX05vTWVtb3J5KCk7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKworICAgIGVudiA9IFB5Qnl0ZXNfQVNfU1RSSU5HKGJ5dGVzKTsKKyAgICBpZiAocHV0ZW52KGVudikpIHsKKyAgICAgICAgUHlfREVDUkVGKGJ5dGVzKTsKKyAgICAgICAgcmV0dXJuIHBvc2l4X2Vycm9yKCk7CisgICAgfQorCisgICAgcG9zaXhfcHV0ZW52X2dhcmJhZ2Vfc2V0aXRlbShuYW1lLCBieXRlcyk7CisgICAgUHlfUkVUVVJOX05PTkU7Cit9CisjZW5kaWYgLyogTVNfV0lORE9XUyAqLworI2VuZGlmIC8qIEhBVkVfUFVURU5WICovCisKKworI2lmZGVmIEhBVkVfVU5TRVRFTlYKKy8qW2NsaW5pYyBpbnB1dF0KK29zLnVuc2V0ZW52CisgICAgbmFtZTogRlNDb252ZXJ0ZXIKKyAgICAvCisKK0RlbGV0ZSBhbiBlbnZpcm9ubWVudCB2YXJpYWJsZS4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX3Vuc2V0ZW52X19kb2NfXywKKyJ1bnNldGVudigkbW9kdWxlLCBuYW1lLCAvKVxuIgorIi0tXG4iCisiXG4iCisiRGVsZXRlIGFuIGVudmlyb25tZW50IHZhcmlhYmxlLiIpOworCisjZGVmaW5lIE9TX1VOU0VURU5WX01FVEhPRERFRiAgICBcCisgICAgeyJ1bnNldGVudiIsIChQeUNGdW5jdGlvbilvc191bnNldGVudiwgTUVUSF9WQVJBUkdTLCBvc191bnNldGVudl9fZG9jX199LAorCitzdGF0aWMgUHlPYmplY3QgKgorb3NfdW5zZXRlbnZfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqbmFtZSk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc191bnNldGVudihQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncykKK3sKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBQeU9iamVjdCAqbmFtZSA9IE5VTEw7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgIk8mOnVuc2V0ZW52IiwKKyAgICAgICAgUHlVbmljb2RlX0ZTQ29udmVydGVyLCAmbmFtZSkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBvc191bnNldGVudl9pbXBsKG1vZHVsZSwgbmFtZSk7CisKK2V4aXQ6CisgICAgLyogQ2xlYW51cCBmb3IgbmFtZSAqLworICAgIFB5X1hERUNSRUYobmFtZSk7CisKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorb3NfdW5zZXRlbnZfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqbmFtZSkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD05MTMxOGM5OTVmOWEwNzY3IGlucHV0PTJiYjUyODhhNTk5YzcxMDddKi8KK3sKICNpZm5kZWYgSEFWRV9CUk9LRU5fVU5TRVRFTlYKICAgICBpbnQgZXJyOwogI2VuZGlmCiAKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgIk8mOnVuc2V0ZW52IiwKLQotICAgICAgICAgICAgICAgICAgICAgICAgICBQeVVuaWNvZGVfRlNDb252ZXJ0ZXIsICZuYW1lKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0KICNpZmRlZiBIQVZFX0JST0tFTl9VTlNFVEVOVgogICAgIHVuc2V0ZW52KFB5Qnl0ZXNfQVNfU1RSSU5HKG5hbWUpKTsKICNlbHNlCiAgICAgZXJyID0gdW5zZXRlbnYoUHlCeXRlc19BU19TVFJJTkcobmFtZSkpOwotICAgIGlmIChlcnIpIHsKLSAgICAgICAgUHlfREVDUkVGKG5hbWUpOworICAgIGlmIChlcnIpCiAgICAgICAgIHJldHVybiBwb3NpeF9lcnJvcigpOwotICAgIH0KICNlbmRpZgogCiAgICAgLyogUmVtb3ZlIHRoZSBrZXkgZnJvbSBwb3NpeF9wdXRlbnZfZ2FyYmFnZTsKQEAgLTkwMDUsMjMgKzEzMjI2LDUzIEBACiAgICAgICAgIC8qIHJlYWxseSBub3QgbXVjaCB3ZSBjYW4gZG87IGp1c3QgbGVhayAqLwogICAgICAgICBQeUVycl9DbGVhcigpOwogICAgIH0KLSAgICBQeV9ERUNSRUYobmFtZSk7CiAgICAgUHlfUkVUVVJOX05PTkU7CiB9Ci0jZW5kaWYgLyogdW5zZXRlbnYgKi8KKyNlbmRpZiAvKiBIQVZFX1VOU0VURU5WICovCiAKLVB5RG9jX1NUUlZBUihwb3NpeF9zdHJlcnJvcl9fZG9jX18sCi0ic3RyZXJyb3IoY29kZSkgLT4gc3RyaW5nXG5cblwKLVRyYW5zbGF0ZSBhbiBlcnJvciBjb2RlIHRvIGEgbWVzc2FnZSBzdHJpbmcuIik7CisKKy8qW2NsaW5pYyBpbnB1dF0KK29zLnN0cmVycm9yCisKKyAgICBjb2RlOiBpbnQKKyAgICAvCisKK1RyYW5zbGF0ZSBhbiBlcnJvciBjb2RlIHRvIGEgbWVzc2FnZSBzdHJpbmcuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19zdHJlcnJvcl9fZG9jX18sCisic3RyZXJyb3IoJG1vZHVsZSwgY29kZSwgLylcbiIKKyItLVxuIgorIlxuIgorIlRyYW5zbGF0ZSBhbiBlcnJvciBjb2RlIHRvIGEgbWVzc2FnZSBzdHJpbmcuIik7CisKKyNkZWZpbmUgT1NfU1RSRVJST1JfTUVUSE9EREVGICAgIFwKKyAgICB7InN0cmVycm9yIiwgKFB5Q0Z1bmN0aW9uKW9zX3N0cmVycm9yLCBNRVRIX1ZBUkFSR1MsIG9zX3N0cmVycm9yX19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF9zdHJlcnJvcihQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCitvc19zdHJlcnJvcl9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGludCBjb2RlKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX3N0cmVycm9yKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzKQogeworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOwogICAgIGludCBjb2RlOwotICAgIGNoYXIgKm1lc3NhZ2U7Ci0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJpOnN0cmVycm9yIiwgJmNvZGUpKQotICAgICAgICByZXR1cm4gTlVMTDsKLSAgICBtZXNzYWdlID0gc3RyZXJyb3IoY29kZSk7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgImk6c3RyZXJyb3IiLAorICAgICAgICAmY29kZSkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBvc19zdHJlcnJvcl9pbXBsKG1vZHVsZSwgY29kZSk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK29zX3N0cmVycm9yX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgaW50IGNvZGUpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9ODY2NWM3MGJiMmNhNDcyMCBpbnB1dD03NWE4NjczZDk3OTE1YTkxXSovCit7CisgICAgY2hhciAqbWVzc2FnZSA9IHN0cmVycm9yKGNvZGUpOwogICAgIGlmIChtZXNzYWdlID09IE5VTEwpIHsKICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsCiAgICAgICAgICAgICAgICAgICAgICAgICAic3RyZXJyb3IoKSBhcmd1bWVudCBvdXQgb2YgcmFuZ2UiKTsKQEAgLTkwMzIsMTU4ICsxMzI4Myw0NzAgQEAKIAogCiAjaWZkZWYgSEFWRV9TWVNfV0FJVF9ICi0KICNpZmRlZiBXQ09SRURVTVAKLVB5RG9jX1NUUlZBUihwb3NpeF9XQ09SRURVTVBfX2RvY19fLAotIldDT1JFRFVNUChzdGF0dXMpIC0+IGJvb2xcblxuXAotUmV0dXJuIFRydWUgaWYgdGhlIHByb2Nlc3MgcmV0dXJuaW5nICdzdGF0dXMnIHdhcyBkdW1wZWQgdG8gYSBjb3JlIGZpbGUuIik7CisvKltjbGluaWMgaW5wdXRdCitvcy5XQ09SRURVTVAgLT4gYm9vbAorCisgICAgc3RhdHVzOiBpbnQKKyAgICAvCisKK1JldHVybiBUcnVlIGlmIHRoZSBwcm9jZXNzIHJldHVybmluZyBzdGF0dXMgd2FzIGR1bXBlZCB0byBhIGNvcmUgZmlsZS4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX1dDT1JFRFVNUF9fZG9jX18sCisiV0NPUkVEVU1QKCRtb2R1bGUsIHN0YXR1cywgLylcbiIKKyItLVxuIgorIlxuIgorIlJldHVybiBUcnVlIGlmIHRoZSBwcm9jZXNzIHJldHVybmluZyBzdGF0dXMgd2FzIGR1bXBlZCB0byBhIGNvcmUgZmlsZS4iKTsKKworI2RlZmluZSBPU19XQ09SRURVTVBfTUVUSE9EREVGICAgIFwKKyAgICB7IldDT1JFRFVNUCIsIChQeUNGdW5jdGlvbilvc19XQ09SRURVTVAsIE1FVEhfVkFSQVJHUywgb3NfV0NPUkVEVU1QX19kb2NfX30sCisKK3N0YXRpYyBpbnQKK29zX1dDT1JFRFVNUF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGludCBzdGF0dXMpOwogCiBzdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfV0NPUkVEVU1QKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK29zX1dDT1JFRFVNUChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncykKIHsKLSAgICBXQUlUX1RZUEUgc3RhdHVzOwotICAgIFdBSVRfU1RBVFVTX0lOVChzdGF0dXMpID0gMDsKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBpbnQgc3RhdHVzOworICAgIGludCBfcmV0dXJuX3ZhbHVlOwogCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJpOldDT1JFRFVNUCIsICZXQUlUX1NUQVRVU19JTlQoc3RhdHVzKSkpCi0gICAgICAgIHJldHVybiBOVUxMOworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAiaTpXQ09SRURVTVAiLAorICAgICAgICAmc3RhdHVzKSkKKyAgICAgICAgZ290byBleGl0OworICAgIF9yZXR1cm5fdmFsdWUgPSBvc19XQ09SRURVTVBfaW1wbChtb2R1bGUsIHN0YXR1cyk7CisgICAgaWYgKChfcmV0dXJuX3ZhbHVlID09IC0xKSAmJiBQeUVycl9PY2N1cnJlZCgpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gUHlCb29sX0Zyb21Mb25nKChsb25nKV9yZXR1cm5fdmFsdWUpOwogCi0gICAgcmV0dXJuIFB5Qm9vbF9Gcm9tTG9uZyhXQ09SRURVTVAoc3RhdHVzKSk7CitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBpbnQKK29zX1dDT1JFRFVNUF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGludCBzdGF0dXMpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9ZTA0ZDU1YzA5YzI5OTgyOCBpbnB1dD04YjA1ZTdhYjM4NTI4ZDA0XSovCit7CisgICAgV0FJVF9UWVBFIHdhaXRfc3RhdHVzOworICAgIFdBSVRfU1RBVFVTX0lOVCh3YWl0X3N0YXR1cykgPSBzdGF0dXM7CisgICAgcmV0dXJuIFdDT1JFRFVNUCh3YWl0X3N0YXR1cyk7CiB9CiAjZW5kaWYgLyogV0NPUkVEVU1QICovCiAKKwogI2lmZGVmIFdJRkNPTlRJTlVFRAotUHlEb2NfU1RSVkFSKHBvc2l4X1dJRkNPTlRJTlVFRF9fZG9jX18sCi0iV0lGQ09OVElOVUVEKHN0YXR1cykgLT4gYm9vbFxuXG5cCi1SZXR1cm4gVHJ1ZSBpZiB0aGUgcHJvY2VzcyByZXR1cm5pbmcgJ3N0YXR1cycgd2FzIGNvbnRpbnVlZCBmcm9tIGFcblwKLWpvYiBjb250cm9sIHN0b3AuIik7CisvKltjbGluaWMgaW5wdXRdCitvcy5XSUZDT05USU5VRUQgLT4gYm9vbAorCisgICAgc3RhdHVzOiBpbnQKKworUmV0dXJuIFRydWUgaWYgYSBwYXJ0aWN1bGFyIHByb2Nlc3Mgd2FzIGNvbnRpbnVlZCBmcm9tIGEgam9iIGNvbnRyb2wgc3RvcC4KKworUmV0dXJuIFRydWUgaWYgdGhlIHByb2Nlc3MgcmV0dXJuaW5nIHN0YXR1cyB3YXMgY29udGludWVkIGZyb20gYQoram9iIGNvbnRyb2wgc3RvcC4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX1dJRkNPTlRJTlVFRF9fZG9jX18sCisiV0lGQ09OVElOVUVEKCRtb2R1bGUsIC8sIHN0YXR1cylcbiIKKyItLVxuIgorIlxuIgorIlJldHVybiBUcnVlIGlmIGEgcGFydGljdWxhciBwcm9jZXNzIHdhcyBjb250aW51ZWQgZnJvbSBhIGpvYiBjb250cm9sIHN0b3AuXG4iCisiXG4iCisiUmV0dXJuIFRydWUgaWYgdGhlIHByb2Nlc3MgcmV0dXJuaW5nIHN0YXR1cyB3YXMgY29udGludWVkIGZyb20gYVxuIgorImpvYiBjb250cm9sIHN0b3AuIik7CisKKyNkZWZpbmUgT1NfV0lGQ09OVElOVUVEX01FVEhPRERFRiAgICBcCisgICAgeyJXSUZDT05USU5VRUQiLCAoUHlDRnVuY3Rpb24pb3NfV0lGQ09OVElOVUVELCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywgb3NfV0lGQ09OVElOVUVEX19kb2NfX30sCisKK3N0YXRpYyBpbnQKK29zX1dJRkNPTlRJTlVFRF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGludCBzdGF0dXMpOwogCiBzdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfV0lGQ09OVElOVUVEKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK29zX1dJRkNPTlRJTlVFRChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3YXJncykKIHsKLSAgICBXQUlUX1RZUEUgc3RhdHVzOwotICAgIFdBSVRfU1RBVFVTX0lOVChzdGF0dXMpID0gMDsKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBzdGF0aWMgY2hhciAqX2tleXdvcmRzW10gPSB7InN0YXR1cyIsIE5VTEx9OworICAgIGludCBzdGF0dXM7CisgICAgaW50IF9yZXR1cm5fdmFsdWU7CiAKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgImk6V0NPTlRJTlVFRCIsICZXQUlUX1NUQVRVU19JTlQoc3RhdHVzKSkpCi0gICAgICAgIHJldHVybiBOVUxMOworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywKKyAgICAgICAgImk6V0lGQ09OVElOVUVEIiwgX2tleXdvcmRzLAorICAgICAgICAmc3RhdHVzKSkKKyAgICAgICAgZ290byBleGl0OworICAgIF9yZXR1cm5fdmFsdWUgPSBvc19XSUZDT05USU5VRURfaW1wbChtb2R1bGUsIHN0YXR1cyk7CisgICAgaWYgKChfcmV0dXJuX3ZhbHVlID09IC0xKSAmJiBQeUVycl9PY2N1cnJlZCgpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gUHlCb29sX0Zyb21Mb25nKChsb25nKV9yZXR1cm5fdmFsdWUpOwogCi0gICAgcmV0dXJuIFB5Qm9vbF9Gcm9tTG9uZyhXSUZDT05USU5VRUQoc3RhdHVzKSk7CitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBpbnQKK29zX1dJRkNPTlRJTlVFRF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGludCBzdGF0dXMpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9OWM0ZTYxMDVhNDUyMGFiNSBpbnB1dD1lNzc3ZTdkMzhlYjI1YmQ5XSovCit7CisgICAgV0FJVF9UWVBFIHdhaXRfc3RhdHVzOworICAgIFdBSVRfU1RBVFVTX0lOVCh3YWl0X3N0YXR1cykgPSBzdGF0dXM7CisgICAgcmV0dXJuIFdJRkNPTlRJTlVFRCh3YWl0X3N0YXR1cyk7CiB9CiAjZW5kaWYgLyogV0lGQ09OVElOVUVEICovCiAKKwogI2lmZGVmIFdJRlNUT1BQRUQKLVB5RG9jX1NUUlZBUihwb3NpeF9XSUZTVE9QUEVEX19kb2NfXywKLSJXSUZTVE9QUEVEKHN0YXR1cykgLT4gYm9vbFxuXG5cCi1SZXR1cm4gVHJ1ZSBpZiB0aGUgcHJvY2VzcyByZXR1cm5pbmcgJ3N0YXR1cycgd2FzIHN0b3BwZWQuIik7CisvKltjbGluaWMgaW5wdXRdCitvcy5XSUZTVE9QUEVEIC0+IGJvb2wKKworICAgIHN0YXR1czogaW50CisKK1JldHVybiBUcnVlIGlmIHRoZSBwcm9jZXNzIHJldHVybmluZyBzdGF0dXMgd2FzIHN0b3BwZWQuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19XSUZTVE9QUEVEX19kb2NfXywKKyJXSUZTVE9QUEVEKCRtb2R1bGUsIC8sIHN0YXR1cylcbiIKKyItLVxuIgorIlxuIgorIlJldHVybiBUcnVlIGlmIHRoZSBwcm9jZXNzIHJldHVybmluZyBzdGF0dXMgd2FzIHN0b3BwZWQuIik7CisKKyNkZWZpbmUgT1NfV0lGU1RPUFBFRF9NRVRIT0RERUYgICAgXAorICAgIHsiV0lGU1RPUFBFRCIsIChQeUNGdW5jdGlvbilvc19XSUZTVE9QUEVELCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywgb3NfV0lGU1RPUFBFRF9fZG9jX199LAorCitzdGF0aWMgaW50Citvc19XSUZTVE9QUEVEX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgaW50IHN0YXR1cyk7CiAKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF9XSUZTVE9QUEVEKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK29zX1dJRlNUT1BQRUQoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCiB7Ci0gICAgV0FJVF9UWVBFIHN0YXR1czsKLSAgICBXQUlUX1NUQVRVU19JTlQoc3RhdHVzKSA9IDA7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgc3RhdGljIGNoYXIgKl9rZXl3b3Jkc1tdID0geyJzdGF0dXMiLCBOVUxMfTsKKyAgICBpbnQgc3RhdHVzOworICAgIGludCBfcmV0dXJuX3ZhbHVlOwogCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJpOldJRlNUT1BQRUQiLCAmV0FJVF9TVEFUVVNfSU5UKHN0YXR1cykpKQotICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsCisgICAgICAgICJpOldJRlNUT1BQRUQiLCBfa2V5d29yZHMsCisgICAgICAgICZzdGF0dXMpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgX3JldHVybl92YWx1ZSA9IG9zX1dJRlNUT1BQRURfaW1wbChtb2R1bGUsIHN0YXR1cyk7CisgICAgaWYgKChfcmV0dXJuX3ZhbHVlID09IC0xKSAmJiBQeUVycl9PY2N1cnJlZCgpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gUHlCb29sX0Zyb21Mb25nKChsb25nKV9yZXR1cm5fdmFsdWUpOwogCi0gICAgcmV0dXJuIFB5Qm9vbF9Gcm9tTG9uZyhXSUZTVE9QUEVEKHN0YXR1cykpOworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgaW50Citvc19XSUZTVE9QUEVEX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgaW50IHN0YXR1cykKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1lMGRlMmRhOGVjOTU5M2ZmIGlucHV0PTA0M2NiN2YxMjg5ZWY5MDRdKi8KK3sKKyAgICBXQUlUX1RZUEUgd2FpdF9zdGF0dXM7CisgICAgV0FJVF9TVEFUVVNfSU5UKHdhaXRfc3RhdHVzKSA9IHN0YXR1czsKKyAgICByZXR1cm4gV0lGU1RPUFBFRCh3YWl0X3N0YXR1cyk7CiB9CiAjZW5kaWYgLyogV0lGU1RPUFBFRCAqLwogCisKICNpZmRlZiBXSUZTSUdOQUxFRAotUHlEb2NfU1RSVkFSKHBvc2l4X1dJRlNJR05BTEVEX19kb2NfXywKLSJXSUZTSUdOQUxFRChzdGF0dXMpIC0+IGJvb2xcblxuXAotUmV0dXJuIFRydWUgaWYgdGhlIHByb2Nlc3MgcmV0dXJuaW5nICdzdGF0dXMnIHdhcyB0ZXJtaW5hdGVkIGJ5IGEgc2lnbmFsLiIpOworLypbY2xpbmljIGlucHV0XQorb3MuV0lGU0lHTkFMRUQgLT4gYm9vbAorCisgICAgc3RhdHVzOiBpbnQKKworUmV0dXJuIFRydWUgaWYgdGhlIHByb2Nlc3MgcmV0dXJuaW5nIHN0YXR1cyB3YXMgdGVybWluYXRlZCBieSBhIHNpZ25hbC4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX1dJRlNJR05BTEVEX19kb2NfXywKKyJXSUZTSUdOQUxFRCgkbW9kdWxlLCAvLCBzdGF0dXMpXG4iCisiLS1cbiIKKyJcbiIKKyJSZXR1cm4gVHJ1ZSBpZiB0aGUgcHJvY2VzcyByZXR1cm5pbmcgc3RhdHVzIHdhcyB0ZXJtaW5hdGVkIGJ5IGEgc2lnbmFsLiIpOworCisjZGVmaW5lIE9TX1dJRlNJR05BTEVEX01FVEhPRERFRiAgICBcCisgICAgeyJXSUZTSUdOQUxFRCIsIChQeUNGdW5jdGlvbilvc19XSUZTSUdOQUxFRCwgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsIG9zX1dJRlNJR05BTEVEX19kb2NfX30sCisKK3N0YXRpYyBpbnQKK29zX1dJRlNJR05BTEVEX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgaW50IHN0YXR1cyk7CiAKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF9XSUZTSUdOQUxFRChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCitvc19XSUZTSUdOQUxFRChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3YXJncykKIHsKLSAgICBXQUlUX1RZUEUgc3RhdHVzOwotICAgIFdBSVRfU1RBVFVTX0lOVChzdGF0dXMpID0gMDsKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBzdGF0aWMgY2hhciAqX2tleXdvcmRzW10gPSB7InN0YXR1cyIsIE5VTEx9OworICAgIGludCBzdGF0dXM7CisgICAgaW50IF9yZXR1cm5fdmFsdWU7CiAKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgImk6V0lGU0lHTkFMRUQiLCAmV0FJVF9TVEFUVVNfSU5UKHN0YXR1cykpKQotICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsCisgICAgICAgICJpOldJRlNJR05BTEVEIiwgX2tleXdvcmRzLAorICAgICAgICAmc3RhdHVzKSkKKyAgICAgICAgZ290byBleGl0OworICAgIF9yZXR1cm5fdmFsdWUgPSBvc19XSUZTSUdOQUxFRF9pbXBsKG1vZHVsZSwgc3RhdHVzKTsKKyAgICBpZiAoKF9yZXR1cm5fdmFsdWUgPT0gLTEpICYmIFB5RXJyX09jY3VycmVkKCkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBQeUJvb2xfRnJvbUxvbmcoKGxvbmcpX3JldHVybl92YWx1ZSk7CiAKLSAgICByZXR1cm4gUHlCb29sX0Zyb21Mb25nKFdJRlNJR05BTEVEKHN0YXR1cykpOworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgaW50Citvc19XSUZTSUdOQUxFRF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGludCBzdGF0dXMpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9ZjE0ZDEwNjU1OGY0MDZiZSBpbnB1dD1kNTViYTdjYzljZTVkYzQzXSovCit7CisgICAgV0FJVF9UWVBFIHdhaXRfc3RhdHVzOworICAgIFdBSVRfU1RBVFVTX0lOVCh3YWl0X3N0YXR1cykgPSBzdGF0dXM7CisgICAgcmV0dXJuIFdJRlNJR05BTEVEKHdhaXRfc3RhdHVzKTsKIH0KICNlbmRpZiAvKiBXSUZTSUdOQUxFRCAqLwogCisKICNpZmRlZiBXSUZFWElURUQKLVB5RG9jX1NUUlZBUihwb3NpeF9XSUZFWElURURfX2RvY19fLAotIldJRkVYSVRFRChzdGF0dXMpIC0+IGJvb2xcblxuXAotUmV0dXJuIHRydWUgaWYgdGhlIHByb2Nlc3MgcmV0dXJuaW5nICdzdGF0dXMnIGV4aXRlZCB1c2luZyB0aGUgZXhpdCgpXG5cCi1zeXN0ZW0gY2FsbC4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK29zLldJRkVYSVRFRCAtPiBib29sCisKKyAgICBzdGF0dXM6IGludAorCitSZXR1cm4gVHJ1ZSBpZiB0aGUgcHJvY2VzcyByZXR1cm5pbmcgc3RhdHVzIGV4aXRlZCB2aWEgdGhlIGV4aXQoKSBzeXN0ZW0gY2FsbC4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX1dJRkVYSVRFRF9fZG9jX18sCisiV0lGRVhJVEVEKCRtb2R1bGUsIC8sIHN0YXR1cylcbiIKKyItLVxuIgorIlxuIgorIlJldHVybiBUcnVlIGlmIHRoZSBwcm9jZXNzIHJldHVybmluZyBzdGF0dXMgZXhpdGVkIHZpYSB0aGUgZXhpdCgpIHN5c3RlbSBjYWxsLiIpOworCisjZGVmaW5lIE9TX1dJRkVYSVRFRF9NRVRIT0RERUYgICAgXAorICAgIHsiV0lGRVhJVEVEIiwgKFB5Q0Z1bmN0aW9uKW9zX1dJRkVYSVRFRCwgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsIG9zX1dJRkVYSVRFRF9fZG9jX199LAorCitzdGF0aWMgaW50Citvc19XSUZFWElURURfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBpbnQgc3RhdHVzKTsKIAogc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X1dJRkVYSVRFRChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCitvc19XSUZFWElURUQoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCiB7Ci0gICAgV0FJVF9UWVBFIHN0YXR1czsKLSAgICBXQUlUX1NUQVRVU19JTlQoc3RhdHVzKSA9IDA7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgc3RhdGljIGNoYXIgKl9rZXl3b3Jkc1tdID0geyJzdGF0dXMiLCBOVUxMfTsKKyAgICBpbnQgc3RhdHVzOworICAgIGludCBfcmV0dXJuX3ZhbHVlOwogCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJpOldJRkVYSVRFRCIsICZXQUlUX1NUQVRVU19JTlQoc3RhdHVzKSkpCi0gICAgICAgIHJldHVybiBOVUxMOworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywKKyAgICAgICAgImk6V0lGRVhJVEVEIiwgX2tleXdvcmRzLAorICAgICAgICAmc3RhdHVzKSkKKyAgICAgICAgZ290byBleGl0OworICAgIF9yZXR1cm5fdmFsdWUgPSBvc19XSUZFWElURURfaW1wbChtb2R1bGUsIHN0YXR1cyk7CisgICAgaWYgKChfcmV0dXJuX3ZhbHVlID09IC0xKSAmJiBQeUVycl9PY2N1cnJlZCgpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gUHlCb29sX0Zyb21Mb25nKChsb25nKV9yZXR1cm5fdmFsdWUpOwogCi0gICAgcmV0dXJuIFB5Qm9vbF9Gcm9tTG9uZyhXSUZFWElURUQoc3RhdHVzKSk7CitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBpbnQKK29zX1dJRkVYSVRFRF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGludCBzdGF0dXMpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9MmY3NjA4N2Q1MzcyMTI1NSBpbnB1dD1kNjM3NzVhNjc5MTU4NmMwXSovCit7CisgICAgV0FJVF9UWVBFIHdhaXRfc3RhdHVzOworICAgIFdBSVRfU1RBVFVTX0lOVCh3YWl0X3N0YXR1cykgPSBzdGF0dXM7CisgICAgcmV0dXJuIFdJRkVYSVRFRCh3YWl0X3N0YXR1cyk7CiB9CiAjZW5kaWYgLyogV0lGRVhJVEVEICovCiAKKwogI2lmZGVmIFdFWElUU1RBVFVTCi1QeURvY19TVFJWQVIocG9zaXhfV0VYSVRTVEFUVVNfX2RvY19fLAotIldFWElUU1RBVFVTKHN0YXR1cykgLT4gaW50ZWdlclxuXG5cCi1SZXR1cm4gdGhlIHByb2Nlc3MgcmV0dXJuIGNvZGUgZnJvbSAnc3RhdHVzJy4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK29zLldFWElUU1RBVFVTIC0+IGludAorCisgICAgc3RhdHVzOiBpbnQKKworUmV0dXJuIHRoZSBwcm9jZXNzIHJldHVybiBjb2RlIGZyb20gc3RhdHVzLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3NfV0VYSVRTVEFUVVNfX2RvY19fLAorIldFWElUU1RBVFVTKCRtb2R1bGUsIC8sIHN0YXR1cylcbiIKKyItLVxuIgorIlxuIgorIlJldHVybiB0aGUgcHJvY2VzcyByZXR1cm4gY29kZSBmcm9tIHN0YXR1cy4iKTsKKworI2RlZmluZSBPU19XRVhJVFNUQVRVU19NRVRIT0RERUYgICAgXAorICAgIHsiV0VYSVRTVEFUVVMiLCAoUHlDRnVuY3Rpb24pb3NfV0VYSVRTVEFUVVMsIE1FVEhfVkFSQVJHU3xNRVRIX0tFWVdPUkRTLCBvc19XRVhJVFNUQVRVU19fZG9jX199LAorCitzdGF0aWMgaW50Citvc19XRVhJVFNUQVRVU19pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGludCBzdGF0dXMpOwogCiBzdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfV0VYSVRTVEFUVVMoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQorb3NfV0VYSVRTVEFUVVMoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCiB7Ci0gICAgV0FJVF9UWVBFIHN0YXR1czsKLSAgICBXQUlUX1NUQVRVU19JTlQoc3RhdHVzKSA9IDA7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgc3RhdGljIGNoYXIgKl9rZXl3b3Jkc1tdID0geyJzdGF0dXMiLCBOVUxMfTsKKyAgICBpbnQgc3RhdHVzOworICAgIGludCBfcmV0dXJuX3ZhbHVlOwogCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJpOldFWElUU1RBVFVTIiwgJldBSVRfU1RBVFVTX0lOVChzdGF0dXMpKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLAorICAgICAgICAiaTpXRVhJVFNUQVRVUyIsIF9rZXl3b3JkcywKKyAgICAgICAgJnN0YXR1cykpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICBfcmV0dXJuX3ZhbHVlID0gb3NfV0VYSVRTVEFUVVNfaW1wbChtb2R1bGUsIHN0YXR1cyk7CisgICAgaWYgKChfcmV0dXJuX3ZhbHVlID09IC0xKSAmJiBQeUVycl9PY2N1cnJlZCgpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gUHlMb25nX0Zyb21Mb25nKChsb25nKV9yZXR1cm5fdmFsdWUpOwogCi0gICAgcmV0dXJuIFB5X0J1aWxkVmFsdWUoImkiLCBXRVhJVFNUQVRVUyhzdGF0dXMpKTsKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIGludAorb3NfV0VYSVRTVEFUVVNfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBpbnQgc3RhdHVzKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTEzYjZjMjcwZTJhMzI2YjEgaW5wdXQ9ZTFmYjQ5NDRlMzc3NTg1Yl0qLworeworICAgIFdBSVRfVFlQRSB3YWl0X3N0YXR1czsKKyAgICBXQUlUX1NUQVRVU19JTlQod2FpdF9zdGF0dXMpID0gc3RhdHVzOworICAgIHJldHVybiBXRVhJVFNUQVRVUyh3YWl0X3N0YXR1cyk7CiB9CiAjZW5kaWYgLyogV0VYSVRTVEFUVVMgKi8KIAorCiAjaWZkZWYgV1RFUk1TSUcKLVB5RG9jX1NUUlZBUihwb3NpeF9XVEVSTVNJR19fZG9jX18sCi0iV1RFUk1TSUcoc3RhdHVzKSAtPiBpbnRlZ2VyXG5cblwKLVJldHVybiB0aGUgc2lnbmFsIHRoYXQgdGVybWluYXRlZCB0aGUgcHJvY2VzcyB0aGF0IHByb3ZpZGVkIHRoZSAnc3RhdHVzJ1xuXAotdmFsdWUuIik7CisvKltjbGluaWMgaW5wdXRdCitvcy5XVEVSTVNJRyAtPiBpbnQKKworICAgIHN0YXR1czogaW50CisKK1JldHVybiB0aGUgc2lnbmFsIHRoYXQgdGVybWluYXRlZCB0aGUgcHJvY2VzcyB0aGF0IHByb3ZpZGVkIHRoZSBzdGF0dXMgdmFsdWUuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19XVEVSTVNJR19fZG9jX18sCisiV1RFUk1TSUcoJG1vZHVsZSwgLywgc3RhdHVzKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJuIHRoZSBzaWduYWwgdGhhdCB0ZXJtaW5hdGVkIHRoZSBwcm9jZXNzIHRoYXQgcHJvdmlkZWQgdGhlIHN0YXR1cyB2YWx1ZS4iKTsKKworI2RlZmluZSBPU19XVEVSTVNJR19NRVRIT0RERUYgICAgXAorICAgIHsiV1RFUk1TSUciLCAoUHlDRnVuY3Rpb24pb3NfV1RFUk1TSUcsIE1FVEhfVkFSQVJHU3xNRVRIX0tFWVdPUkRTLCBvc19XVEVSTVNJR19fZG9jX199LAorCitzdGF0aWMgaW50Citvc19XVEVSTVNJR19pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGludCBzdGF0dXMpOwogCiBzdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfV1RFUk1TSUcoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQorb3NfV1RFUk1TSUcoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCiB7Ci0gICAgV0FJVF9UWVBFIHN0YXR1czsKLSAgICBXQUlUX1NUQVRVU19JTlQoc3RhdHVzKSA9IDA7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgc3RhdGljIGNoYXIgKl9rZXl3b3Jkc1tdID0geyJzdGF0dXMiLCBOVUxMfTsKKyAgICBpbnQgc3RhdHVzOworICAgIGludCBfcmV0dXJuX3ZhbHVlOwogCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJpOldURVJNU0lHIiwgJldBSVRfU1RBVFVTX0lOVChzdGF0dXMpKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLAorICAgICAgICAiaTpXVEVSTVNJRyIsIF9rZXl3b3JkcywKKyAgICAgICAgJnN0YXR1cykpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICBfcmV0dXJuX3ZhbHVlID0gb3NfV1RFUk1TSUdfaW1wbChtb2R1bGUsIHN0YXR1cyk7CisgICAgaWYgKChfcmV0dXJuX3ZhbHVlID09IC0xKSAmJiBQeUVycl9PY2N1cnJlZCgpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gUHlMb25nX0Zyb21Mb25nKChsb25nKV9yZXR1cm5fdmFsdWUpOwogCi0gICAgcmV0dXJuIFB5X0J1aWxkVmFsdWUoImkiLCBXVEVSTVNJRyhzdGF0dXMpKTsKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIGludAorb3NfV1RFUk1TSUdfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBpbnQgc3RhdHVzKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWJmMWZkNGIwMDJkMGE5ZWQgaW5wdXQ9NzI3ZmQ3Zjg0ZWMzZjI0M10qLworeworICAgIFdBSVRfVFlQRSB3YWl0X3N0YXR1czsKKyAgICBXQUlUX1NUQVRVU19JTlQod2FpdF9zdGF0dXMpID0gc3RhdHVzOworICAgIHJldHVybiBXVEVSTVNJRyh3YWl0X3N0YXR1cyk7CiB9CiAjZW5kaWYgLyogV1RFUk1TSUcgKi8KIAorCiAjaWZkZWYgV1NUT1BTSUcKLVB5RG9jX1NUUlZBUihwb3NpeF9XU1RPUFNJR19fZG9jX18sCi0iV1NUT1BTSUcoc3RhdHVzKSAtPiBpbnRlZ2VyXG5cblwKLVJldHVybiB0aGUgc2lnbmFsIHRoYXQgc3RvcHBlZCB0aGUgcHJvY2VzcyB0aGF0IHByb3ZpZGVkXG5cCi10aGUgJ3N0YXR1cycgdmFsdWUuIik7CisvKltjbGluaWMgaW5wdXRdCitvcy5XU1RPUFNJRyAtPiBpbnQKKworICAgIHN0YXR1czogaW50CisKK1JldHVybiB0aGUgc2lnbmFsIHRoYXQgc3RvcHBlZCB0aGUgcHJvY2VzcyB0aGF0IHByb3ZpZGVkIHRoZSBzdGF0dXMgdmFsdWUuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19XU1RPUFNJR19fZG9jX18sCisiV1NUT1BTSUcoJG1vZHVsZSwgLywgc3RhdHVzKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJuIHRoZSBzaWduYWwgdGhhdCBzdG9wcGVkIHRoZSBwcm9jZXNzIHRoYXQgcHJvdmlkZWQgdGhlIHN0YXR1cyB2YWx1ZS4iKTsKKworI2RlZmluZSBPU19XU1RPUFNJR19NRVRIT0RERUYgICAgXAorICAgIHsiV1NUT1BTSUciLCAoUHlDRnVuY3Rpb24pb3NfV1NUT1BTSUcsIE1FVEhfVkFSQVJHU3xNRVRIX0tFWVdPUkRTLCBvc19XU1RPUFNJR19fZG9jX199LAorCitzdGF0aWMgaW50Citvc19XU1RPUFNJR19pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGludCBzdGF0dXMpOwogCiBzdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfV1NUT1BTSUcoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQorb3NfV1NUT1BTSUcoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCiB7Ci0gICAgV0FJVF9UWVBFIHN0YXR1czsKLSAgICBXQUlUX1NUQVRVU19JTlQoc3RhdHVzKSA9IDA7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgc3RhdGljIGNoYXIgKl9rZXl3b3Jkc1tdID0geyJzdGF0dXMiLCBOVUxMfTsKKyAgICBpbnQgc3RhdHVzOworICAgIGludCBfcmV0dXJuX3ZhbHVlOwogCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJpOldTVE9QU0lHIiwgJldBSVRfU1RBVFVTX0lOVChzdGF0dXMpKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLAorICAgICAgICAiaTpXU1RPUFNJRyIsIF9rZXl3b3JkcywKKyAgICAgICAgJnN0YXR1cykpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICBfcmV0dXJuX3ZhbHVlID0gb3NfV1NUT1BTSUdfaW1wbChtb2R1bGUsIHN0YXR1cyk7CisgICAgaWYgKChfcmV0dXJuX3ZhbHVlID09IC0xKSAmJiBQeUVycl9PY2N1cnJlZCgpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gUHlMb25nX0Zyb21Mb25nKChsb25nKV9yZXR1cm5fdmFsdWUpOwogCi0gICAgcmV0dXJuIFB5X0J1aWxkVmFsdWUoImkiLCBXU1RPUFNJRyhzdGF0dXMpKTsKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIGludAorb3NfV1NUT1BTSUdfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBpbnQgc3RhdHVzKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTkyZTE2NDdkMjllZTA1NDkgaW5wdXQ9NDZlYmYxZDFiMjkzYzVjMV0qLworeworICAgIFdBSVRfVFlQRSB3YWl0X3N0YXR1czsKKyAgICBXQUlUX1NUQVRVU19JTlQod2FpdF9zdGF0dXMpID0gc3RhdHVzOworICAgIHJldHVybiBXU1RPUFNJRyh3YWl0X3N0YXR1cyk7CiB9CiAjZW5kaWYgLyogV1NUT1BTSUcgKi8KLQogI2VuZGlmIC8qIEhBVkVfU1lTX1dBSVRfSCAqLwogCiAKKyNpZm5kZWYgT1NfV0NPUkVEVU1QX01FVEhPRERFRgorI2RlZmluZSBPU19XQ09SRURVTVBfTUVUSE9EREVGCisjZW5kaWYgLyogT1NfV0NPUkVEVU1QX01FVEhPRERFRiAqLworCisjaWZuZGVmIE9TX1dJRkNPTlRJTlVFRF9NRVRIT0RERUYKKyNkZWZpbmUgT1NfV0lGQ09OVElOVUVEX01FVEhPRERFRgorI2VuZGlmIC8qIE9TX1dJRkNPTlRJTlVFRF9NRVRIT0RERUYgKi8KKworI2lmbmRlZiBPU19XSUZTVE9QUEVEX01FVEhPRERFRgorI2RlZmluZSBPU19XSUZTVE9QUEVEX01FVEhPRERFRgorI2VuZGlmIC8qIE9TX1dJRlNUT1BQRURfTUVUSE9EREVGICovCisKKyNpZm5kZWYgT1NfV0lGU0lHTkFMRURfTUVUSE9EREVGCisjZGVmaW5lIE9TX1dJRlNJR05BTEVEX01FVEhPRERFRgorI2VuZGlmIC8qIE9TX1dJRlNJR05BTEVEX01FVEhPRERFRiAqLworCisjaWZuZGVmIE9TX1dJRkVYSVRFRF9NRVRIT0RERUYKKyNkZWZpbmUgT1NfV0lGRVhJVEVEX01FVEhPRERFRgorI2VuZGlmIC8qIE9TX1dJRkVYSVRFRF9NRVRIT0RERUYgKi8KKworI2lmbmRlZiBPU19XRVhJVFNUQVRVU19NRVRIT0RERUYKKyNkZWZpbmUgT1NfV0VYSVRTVEFUVVNfTUVUSE9EREVGCisjZW5kaWYgLyogT1NfV0VYSVRTVEFUVVNfTUVUSE9EREVGICovCisKKyNpZm5kZWYgT1NfV1RFUk1TSUdfTUVUSE9EREVGCisjZGVmaW5lIE9TX1dURVJNU0lHX01FVEhPRERFRgorI2VuZGlmIC8qIE9TX1dURVJNU0lHX01FVEhPRERFRiAqLworCisjaWZuZGVmIE9TX1dTVE9QU0lHX01FVEhPRERFRgorI2RlZmluZSBPU19XU1RPUFNJR19NRVRIT0RERUYKKyNlbmRpZiAvKiBPU19XU1RPUFNJR19NRVRIT0RERUYgKi8KKworCiAjaWYgZGVmaW5lZChIQVZFX0ZTVEFUVkZTKSAmJiBkZWZpbmVkKEhBVkVfU1lTX1NUQVRWRlNfSCkKICNpZmRlZiBfU0NPX0RTCiAvKiBTQ08gT3BlblNlcnZlciA1LjAgYW5kIGxhdGVyIHJlcXVpcmVzIF9TVklEMyBiZWZvcmUgaXQgcmV2ZWFscyB0aGUKQEAgLTkyMzUsMTA0ICsxMzc5OCwxOTYgQEAKICAgICByZXR1cm4gdjsKIH0KIAotUHlEb2NfU1RSVkFSKHBvc2l4X2ZzdGF0dmZzX19kb2NfXywKLSJmc3RhdHZmcyhmZCkgLT4gc3RhdHZmcyByZXN1bHRcblxuXAotUGVyZm9ybSBhbiBmc3RhdHZmcyBzeXN0ZW0gY2FsbCBvbiB0aGUgZ2l2ZW4gZmQuXG5cCi1FcXVpdmFsZW50IHRvIHN0YXR2ZnMoZmQpLiIpOworCisvKltjbGluaWMgaW5wdXRdCitvcy5mc3RhdHZmcworICAgIGZkOiBpbnQKKyAgICAvCisKK1BlcmZvcm0gYW4gZnN0YXR2ZnMgc3lzdGVtIGNhbGwgb24gdGhlIGdpdmVuIGZkLgorCitFcXVpdmFsZW50IHRvIHN0YXR2ZnMoZmQpLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3NfZnN0YXR2ZnNfX2RvY19fLAorImZzdGF0dmZzKCRtb2R1bGUsIGZkLCAvKVxuIgorIi0tXG4iCisiXG4iCisiUGVyZm9ybSBhbiBmc3RhdHZmcyBzeXN0ZW0gY2FsbCBvbiB0aGUgZ2l2ZW4gZmQuXG4iCisiXG4iCisiRXF1aXZhbGVudCB0byBzdGF0dmZzKGZkKS4iKTsKKworI2RlZmluZSBPU19GU1RBVFZGU19NRVRIT0RERUYgICAgXAorICAgIHsiZnN0YXR2ZnMiLCAoUHlDRnVuY3Rpb24pb3NfZnN0YXR2ZnMsIE1FVEhfVkFSQVJHUywgb3NfZnN0YXR2ZnNfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X2ZzdGF0dmZzKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK29zX2ZzdGF0dmZzX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgaW50IGZkKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX2ZzdGF0dmZzKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzKQogewotICAgIGludCBmZCwgcmVzOworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIGludCBmZDsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAiaTpmc3RhdHZmcyIsCisgICAgICAgICZmZCkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBvc19mc3RhdHZmc19pbXBsKG1vZHVsZSwgZmQpOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19mc3RhdHZmc19pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGludCBmZCkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD0wZTMyYmYwN2Y5NDZlYzBkIGlucHV0PWQ4MTIyMjQzYWM1MDk3NWVdKi8KK3sKKyAgICBpbnQgcmVzdWx0OworICAgIGludCBhc3luY19lcnIgPSAwOwogICAgIHN0cnVjdCBzdGF0dmZzIHN0OwogCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJpOmZzdGF0dmZzIiwgJmZkKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwotICAgIHJlcyA9IGZzdGF0dmZzKGZkLCAmc3QpOwotICAgIFB5X0VORF9BTExPV19USFJFQURTCi0gICAgaWYgKHJlcyAhPSAwKQotICAgICAgICByZXR1cm4gcG9zaXhfZXJyb3IoKTsKKyAgICBkbyB7CisgICAgICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKKyAgICAgICAgcmVzdWx0ID0gZnN0YXR2ZnMoZmQsICZzdCk7CisgICAgICAgIFB5X0VORF9BTExPV19USFJFQURTCisgICAgfSB3aGlsZSAocmVzdWx0ICE9IDAgJiYgZXJybm8gPT0gRUlOVFIgJiYKKyAgICAgICAgICAgICAhKGFzeW5jX2VyciA9IFB5RXJyX0NoZWNrU2lnbmFscygpKSk7CisgICAgaWYgKHJlc3VsdCAhPSAwKQorICAgICAgICByZXR1cm4gKCFhc3luY19lcnIpID8gcG9zaXhfZXJyb3IoKSA6IE5VTEw7CiAKICAgICByZXR1cm4gX3B5c3RhdHZmc19mcm9tc3RydWN0c3RhdHZmcyhzdCk7CiB9Ci0jZW5kaWYgLyogSEFWRV9GU1RBVFZGUyAmJiBIQVZFX1NZU19TVEFUVkZTX0ggKi8KKyNlbmRpZiAvKiBkZWZpbmVkKEhBVkVfRlNUQVRWRlMpICYmIGRlZmluZWQoSEFWRV9TWVNfU1RBVFZGU19IKSAqLwogCiAKICNpZiBkZWZpbmVkKEhBVkVfU1RBVFZGUykgJiYgZGVmaW5lZChIQVZFX1NZU19TVEFUVkZTX0gpCiAjaW5jbHVkZSA8c3lzL3N0YXR2ZnMuaD4KKy8qW2NsaW5pYyBpbnB1dF0KK29zLnN0YXR2ZnMKIAotUHlEb2NfU1RSVkFSKHBvc2l4X3N0YXR2ZnNfX2RvY19fLAotInN0YXR2ZnMocGF0aClcblxuXAotUGVyZm9ybSBhIHN0YXR2ZnMgc3lzdGVtIGNhbGwgb24gdGhlIGdpdmVuIHBhdGguXG5cCi1cblwKLXBhdGggbWF5IGFsd2F5cyBiZSBzcGVjaWZpZWQgYXMgYSBzdHJpbmcuXG5cCi1PbiBzb21lIHBsYXRmb3JtcywgcGF0aCBtYXkgYWxzbyBiZSBzcGVjaWZpZWQgYXMgYW4gb3BlbiBmaWxlIGRlc2NyaXB0b3IuXG5cCi0gIElmIHRoaXMgZnVuY3Rpb25hbGl0eSBpcyB1bmF2YWlsYWJsZSwgdXNpbmcgaXQgcmFpc2VzIGFuIGV4Y2VwdGlvbi4iKTsKKyAgICBwYXRoOiBwYXRoX3QoYWxsb3dfZmQ9J1BBVEhfSEFWRV9GU1RBVFZGUycpCisKK1BlcmZvcm0gYSBzdGF0dmZzIHN5c3RlbSBjYWxsIG9uIHRoZSBnaXZlbiBwYXRoLgorCitwYXRoIG1heSBhbHdheXMgYmUgc3BlY2lmaWVkIGFzIGEgc3RyaW5nLgorT24gc29tZSBwbGF0Zm9ybXMsIHBhdGggbWF5IGFsc28gYmUgc3BlY2lmaWVkIGFzIGFuIG9wZW4gZmlsZSBkZXNjcmlwdG9yLgorICBJZiB0aGlzIGZ1bmN0aW9uYWxpdHkgaXMgdW5hdmFpbGFibGUsIHVzaW5nIGl0IHJhaXNlcyBhbiBleGNlcHRpb24uCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19zdGF0dmZzX19kb2NfXywKKyJzdGF0dmZzKCRtb2R1bGUsIC8sIHBhdGgpXG4iCisiLS1cbiIKKyJcbiIKKyJQZXJmb3JtIGEgc3RhdHZmcyBzeXN0ZW0gY2FsbCBvbiB0aGUgZ2l2ZW4gcGF0aC5cbiIKKyJcbiIKKyJwYXRoIG1heSBhbHdheXMgYmUgc3BlY2lmaWVkIGFzIGEgc3RyaW5nLlxuIgorIk9uIHNvbWUgcGxhdGZvcm1zLCBwYXRoIG1heSBhbHNvIGJlIHNwZWNpZmllZCBhcyBhbiBvcGVuIGZpbGUgZGVzY3JpcHRvci5cbiIKKyIgIElmIHRoaXMgZnVuY3Rpb25hbGl0eSBpcyB1bmF2YWlsYWJsZSwgdXNpbmcgaXQgcmFpc2VzIGFuIGV4Y2VwdGlvbi4iKTsKKworI2RlZmluZSBPU19TVEFUVkZTX01FVEhPRERFRiAgICBcCisgICAgeyJzdGF0dmZzIiwgKFB5Q0Z1bmN0aW9uKW9zX3N0YXR2ZnMsIE1FVEhfVkFSQVJHU3xNRVRIX0tFWVdPUkRTLCBvc19zdGF0dmZzX19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF9zdGF0dmZzKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3YXJncykKLXsKLSAgICBzdGF0aWMgY2hhciAqa2V5d29yZHNbXSA9IHsicGF0aCIsIE5VTEx9OwotICAgIHBhdGhfdCBwYXRoOwotICAgIGludCByZXN1bHQ7Ci0gICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7Ci0gICAgc3RydWN0IHN0YXR2ZnMgc3Q7Citvc19zdGF0dmZzX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgcGF0aF90ICpwYXRoKTsKIAotICAgIG1lbXNldCgmcGF0aCwgMCwgc2l6ZW9mKHBhdGgpKTsKLSAgICBwYXRoLmZ1bmN0aW9uX25hbWUgPSAic3RhdHZmcyI7Ci0jaWZkZWYgSEFWRV9GU1RBVFZGUwotICAgIHBhdGguYWxsb3dfZmQgPSAxOwotI2VuZGlmCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLCAiTyY6c3RhdHZmcyIsIGtleXdvcmRzLAotICAgICAgICBwYXRoX2NvbnZlcnRlciwgJnBhdGgKLSAgICAgICAgKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7CitzdGF0aWMgUHlPYmplY3QgKgorb3Nfc3RhdHZmcyhQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3YXJncykKK3sKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBzdGF0aWMgY2hhciAqX2tleXdvcmRzW10gPSB7InBhdGgiLCBOVUxMfTsKKyAgICBwYXRoX3QgcGF0aCA9IFBBVEhfVF9JTklUSUFMSVpFKCJzdGF0dmZzIiwgInBhdGgiLCAwLCBQQVRIX0hBVkVfRlNUQVRWRlMpOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLAorICAgICAgICAiTyY6c3RhdHZmcyIsIF9rZXl3b3JkcywKKyAgICAgICAgcGF0aF9jb252ZXJ0ZXIsICZwYXRoKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IG9zX3N0YXR2ZnNfaW1wbChtb2R1bGUsICZwYXRoKTsKKworZXhpdDoKKyAgICAvKiBDbGVhbnVwIGZvciBwYXRoICovCisgICAgcGF0aF9jbGVhbnVwKCZwYXRoKTsKKworICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19zdGF0dmZzX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgcGF0aF90ICpwYXRoKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTAwZmY1NDk4MzM2MGI0NDYgaW5wdXQ9M2Y1YzM1NzkxYzY2OWJkOV0qLworeworICAgIGludCByZXN1bHQ7CisgICAgc3RydWN0IHN0YXR2ZnMgc3Q7CiAKICAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCiAjaWZkZWYgSEFWRV9GU1RBVFZGUwotICAgIGlmIChwYXRoLmZkICE9IC0xKSB7CisgICAgaWYgKHBhdGgtPmZkICE9IC0xKSB7CiAjaWZkZWYgX19BUFBMRV9fCiAgICAgICAgIC8qIGhhbmRsZSB3ZWFrLWxpbmtpbmcgb24gTWFjIE9TIFggMTAuMyAqLwogICAgICAgICBpZiAoZnN0YXR2ZnMgPT0gTlVMTCkgewotICAgICAgICAgICAgZmRfc3BlY2lmaWVkKCJzdGF0dmZzIiwgcGF0aC5mZCk7Ci0gICAgICAgICAgICBnb3RvIGV4aXQ7CisgICAgICAgICAgICBmZF9zcGVjaWZpZWQoInN0YXR2ZnMiLCBwYXRoLT5mZCk7CisgICAgICAgICAgICByZXR1cm4gTlVMTDsKICAgICAgICAgfQogI2VuZGlmCi0gICAgICAgIHJlc3VsdCA9IGZzdGF0dmZzKHBhdGguZmQsICZzdCk7CisgICAgICAgIHJlc3VsdCA9IGZzdGF0dmZzKHBhdGgtPmZkLCAmc3QpOwogICAgIH0KICAgICBlbHNlCiAjZW5kaWYKLSAgICAgICAgcmVzdWx0ID0gc3RhdHZmcyhwYXRoLm5hcnJvdywgJnN0KTsKKyAgICAgICAgcmVzdWx0ID0gc3RhdHZmcyhwYXRoLT5uYXJyb3csICZzdCk7CiAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKIAogICAgIGlmIChyZXN1bHQpIHsKLSAgICAgICAgcmV0dXJuX3ZhbHVlID0gcGF0aF9lcnJvcigmcGF0aCk7Ci0gICAgICAgIGdvdG8gZXhpdDsKKyAgICAgICAgcmV0dXJuIHBhdGhfZXJyb3IocGF0aCk7CiAgICAgfQogCi0gICAgcmV0dXJuX3ZhbHVlID0gX3B5c3RhdHZmc19mcm9tc3RydWN0c3RhdHZmcyhzdCk7Ci0KLWV4aXQ6Ci0gICAgcGF0aF9jbGVhbnVwKCZwYXRoKTsKLSAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworICAgIHJldHVybiBfcHlzdGF0dmZzX2Zyb21zdHJ1Y3RzdGF0dmZzKHN0KTsKIH0KLSNlbmRpZiAvKiBIQVZFX1NUQVRWRlMgKi8KKyNlbmRpZiAvKiBkZWZpbmVkKEhBVkVfU1RBVFZGUykgJiYgZGVmaW5lZChIQVZFX1NZU19TVEFUVkZTX0gpICovCisKIAogI2lmZGVmIE1TX1dJTkRPV1MKLVB5RG9jX1NUUlZBUih3aW4zMl9fZ2V0ZGlza3VzYWdlX19kb2NfXywKLSJfZ2V0ZGlza3VzYWdlKHBhdGgpIC0+ICh0b3RhbCwgZnJlZSlcblxuXAotUmV0dXJuIGRpc2sgdXNhZ2Ugc3RhdGlzdGljcyBhYm91dCB0aGUgZ2l2ZW4gcGF0aCBhcyAodG90YWwsIGZyZWUpIHR1cGxlLiIpOworLypbY2xpbmljIGlucHV0XQorb3MuX2dldGRpc2t1c2FnZQorCisgICAgcGF0aDogUHlfVU5JQ09ERQorCitSZXR1cm4gZGlzayB1c2FnZSBzdGF0aXN0aWNzIGFib3V0IHRoZSBnaXZlbiBwYXRoIGFzIGEgKHRvdGFsLCBmcmVlKSB0dXBsZS4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX19nZXRkaXNrdXNhZ2VfX2RvY19fLAorIl9nZXRkaXNrdXNhZ2UoJG1vZHVsZSwgLywgcGF0aClcbiIKKyItLVxuIgorIlxuIgorIlJldHVybiBkaXNrIHVzYWdlIHN0YXRpc3RpY3MgYWJvdXQgdGhlIGdpdmVuIHBhdGggYXMgYSAodG90YWwsIGZyZWUpIHR1cGxlLiIpOworCisjZGVmaW5lIE9TX19HRVRESVNLVVNBR0VfTUVUSE9EREVGICAgIFwKKyAgICB7Il9nZXRkaXNrdXNhZ2UiLCAoUHlDRnVuY3Rpb24pb3NfX2dldGRpc2t1c2FnZSwgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsIG9zX19nZXRkaXNrdXNhZ2VfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLXdpbjMyX19nZXRkaXNrdXNhZ2UoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQorb3NfX2dldGRpc2t1c2FnZV9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5X1VOSUNPREUgKnBhdGgpOworCitzdGF0aWMgUHlPYmplY3QgKgorb3NfX2dldGRpc2t1c2FnZShQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3YXJncykKK3sKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBzdGF0aWMgY2hhciAqX2tleXdvcmRzW10gPSB7InBhdGgiLCBOVUxMfTsKKyAgICBQeV9VTklDT0RFICpwYXRoOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLAorICAgICAgICAidTpfZ2V0ZGlza3VzYWdlIiwgX2tleXdvcmRzLAorICAgICAgICAmcGF0aCkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBvc19fZ2V0ZGlza3VzYWdlX2ltcGwobW9kdWxlLCBwYXRoKTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorb3NfX2dldGRpc2t1c2FnZV9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5X1VOSUNPREUgKnBhdGgpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9MDU0Yzk3MjE3OWIxMzcwOCBpbnB1dD02NDU4MTMzYWVkODkzYzc4XSovCiB7CiAgICAgQk9PTCByZXR2YWw7CiAgICAgVUxBUkdFX0lOVEVHRVIgXywgdG90YWwsIGZyZWU7Ci0gICAgY29uc3Qgd2NoYXJfdCAqcGF0aDsKLQotICAgIGlmICghIFB5QXJnX1BhcnNlVHVwbGUoYXJncywgInUiLCAmcGF0aCkpCi0gICAgICAgIHJldHVybiBOVUxMOwogCiAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwogICAgIHJldHZhbCA9IEdldERpc2tGcmVlU3BhY2VFeFcocGF0aCwgJl8sICZ0b3RhbCwgJmZyZWUpOwpAQCAtOTM0Miw3ICsxMzk5Nyw3IEBACiAKICAgICByZXR1cm4gUHlfQnVpbGRWYWx1ZSgiKExMKSIsIHRvdGFsLlF1YWRQYXJ0LCBmcmVlLlF1YWRQYXJ0KTsKIH0KLSNlbmRpZgorI2VuZGlmIC8qIE1TX1dJTkRPV1MgKi8KIAogCiAvKiBUaGlzIGlzIHVzZWQgZm9yIGZwYXRoY29uZigpLCBwYXRoY29uZigpLCBjb25mc3RyKCkgYW5kIHN5c2NvbmYoKS4KQEAgLTk0OTksODEgKzE0MTU0LDE0OSBAQAogfQogI2VuZGlmCiAKKwogI2lmZGVmIEhBVkVfRlBBVEhDT05GCi1QeURvY19TVFJWQVIocG9zaXhfZnBhdGhjb25mX19kb2NfXywKLSJmcGF0aGNvbmYoZmQsIG5hbWUpIC0+IGludGVnZXJcblxuXAotUmV0dXJuIHRoZSBjb25maWd1cmF0aW9uIGxpbWl0IG5hbWUgZm9yIHRoZSBmaWxlIGRlc2NyaXB0b3IgZmQuXG5cCi1JZiB0aGVyZSBpcyBubyBsaW1pdCwgcmV0dXJuIC0xLiIpOworLypbY2xpbmljIGlucHV0XQorb3MuZnBhdGhjb25mIC0+IGxvbmcKKworICAgIGZkOiBpbnQKKyAgICBuYW1lOiBwYXRoX2NvbmZuYW1lCisgICAgLworCitSZXR1cm4gdGhlIGNvbmZpZ3VyYXRpb24gbGltaXQgbmFtZSBmb3IgdGhlIGZpbGUgZGVzY3JpcHRvciBmZC4KKworSWYgdGhlcmUgaXMgbm8gbGltaXQsIHJldHVybiAtMS4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX2ZwYXRoY29uZl9fZG9jX18sCisiZnBhdGhjb25mKCRtb2R1bGUsIGZkLCBuYW1lLCAvKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJuIHRoZSBjb25maWd1cmF0aW9uIGxpbWl0IG5hbWUgZm9yIHRoZSBmaWxlIGRlc2NyaXB0b3IgZmQuXG4iCisiXG4iCisiSWYgdGhlcmUgaXMgbm8gbGltaXQsIHJldHVybiAtMS4iKTsKKworI2RlZmluZSBPU19GUEFUSENPTkZfTUVUSE9EREVGICAgIFwKKyAgICB7ImZwYXRoY29uZiIsIChQeUNGdW5jdGlvbilvc19mcGF0aGNvbmYsIE1FVEhfVkFSQVJHUywgb3NfZnBhdGhjb25mX19kb2NfX30sCisKK3N0YXRpYyBsb25nCitvc19mcGF0aGNvbmZfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBpbnQgZmQsIGludCBuYW1lKTsKIAogc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X2ZwYXRoY29uZihQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCitvc19mcGF0aGNvbmYoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MpCiB7Ci0gICAgUHlPYmplY3QgKnJlc3VsdCA9IE5VTEw7Ci0gICAgaW50IG5hbWUsIGZkOworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIGludCBmZDsKKyAgICBpbnQgbmFtZTsKKyAgICBsb25nIF9yZXR1cm5fdmFsdWU7CiAKLSAgICBpZiAoUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiaU8mOmZwYXRoY29uZiIsICZmZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICBjb252X3BhdGhfY29uZm5hbWUsICZuYW1lKSkgewotICAgICAgICBsb25nIGxpbWl0OworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAiaU8mOmZwYXRoY29uZiIsCisgICAgICAgICZmZCwgY29udl9wYXRoX2NvbmZuYW1lLCAmbmFtZSkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICBfcmV0dXJuX3ZhbHVlID0gb3NfZnBhdGhjb25mX2ltcGwobW9kdWxlLCBmZCwgbmFtZSk7CisgICAgaWYgKChfcmV0dXJuX3ZhbHVlID09IC0xKSAmJiBQeUVycl9PY2N1cnJlZCgpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gUHlMb25nX0Zyb21Mb25nKF9yZXR1cm5fdmFsdWUpOwogCi0gICAgICAgIGVycm5vID0gMDsKLSAgICAgICAgbGltaXQgPSBmcGF0aGNvbmYoZmQsIG5hbWUpOwotICAgICAgICBpZiAobGltaXQgPT0gLTEgJiYgZXJybm8gIT0gMCkKLSAgICAgICAgICAgIHBvc2l4X2Vycm9yKCk7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIHJlc3VsdCA9IFB5TG9uZ19Gcm9tTG9uZyhsaW1pdCk7Ci0gICAgfQotICAgIHJldHVybiByZXN1bHQ7CitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7CiB9Ci0jZW5kaWYKKworc3RhdGljIGxvbmcKK29zX2ZwYXRoY29uZl9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGludCBmZCwgaW50IG5hbWUpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9M2JmMDRiNDBlMDUyM2E4YyBpbnB1dD01OTQyYTAyNGQzNzc3ODEwXSovCit7CisgICAgbG9uZyBsaW1pdDsKKworICAgIGVycm5vID0gMDsKKyAgICBsaW1pdCA9IGZwYXRoY29uZihmZCwgbmFtZSk7CisgICAgaWYgKGxpbWl0ID09IC0xICYmIGVycm5vICE9IDApCisgICAgICAgIHBvc2l4X2Vycm9yKCk7CisKKyAgICByZXR1cm4gbGltaXQ7Cit9CisjZW5kaWYgLyogSEFWRV9GUEFUSENPTkYgKi8KIAogCiAjaWZkZWYgSEFWRV9QQVRIQ09ORgotUHlEb2NfU1RSVkFSKHBvc2l4X3BhdGhjb25mX19kb2NfXywKLSJwYXRoY29uZihwYXRoLCBuYW1lKSAtPiBpbnRlZ2VyXG5cblwKLVJldHVybiB0aGUgY29uZmlndXJhdGlvbiBsaW1pdCBuYW1lIGZvciB0aGUgZmlsZSBvciBkaXJlY3RvcnkgcGF0aC5cblwKLUlmIHRoZXJlIGlzIG5vIGxpbWl0LCByZXR1cm4gLTEuXG5cCi1PbiBzb21lIHBsYXRmb3JtcywgcGF0aCBtYXkgYWxzbyBiZSBzcGVjaWZpZWQgYXMgYW4gb3BlbiBmaWxlIGRlc2NyaXB0b3IuXG5cCi0gIElmIHRoaXMgZnVuY3Rpb25hbGl0eSBpcyB1bmF2YWlsYWJsZSwgdXNpbmcgaXQgcmFpc2VzIGFuIGV4Y2VwdGlvbi4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK29zLnBhdGhjb25mIC0+IGxvbmcKKyAgICBwYXRoOiBwYXRoX3QoYWxsb3dfZmQ9J1BBVEhfSEFWRV9GUEFUSENPTkYnKQorICAgIG5hbWU6IHBhdGhfY29uZm5hbWUKKworUmV0dXJuIHRoZSBjb25maWd1cmF0aW9uIGxpbWl0IG5hbWUgZm9yIHRoZSBmaWxlIG9yIGRpcmVjdG9yeSBwYXRoLgorCitJZiB0aGVyZSBpcyBubyBsaW1pdCwgcmV0dXJuIC0xLgorT24gc29tZSBwbGF0Zm9ybXMsIHBhdGggbWF5IGFsc28gYmUgc3BlY2lmaWVkIGFzIGFuIG9wZW4gZmlsZSBkZXNjcmlwdG9yLgorICBJZiB0aGlzIGZ1bmN0aW9uYWxpdHkgaXMgdW5hdmFpbGFibGUsIHVzaW5nIGl0IHJhaXNlcyBhbiBleGNlcHRpb24uCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19wYXRoY29uZl9fZG9jX18sCisicGF0aGNvbmYoJG1vZHVsZSwgLywgcGF0aCwgbmFtZSlcbiIKKyItLVxuIgorIlxuIgorIlJldHVybiB0aGUgY29uZmlndXJhdGlvbiBsaW1pdCBuYW1lIGZvciB0aGUgZmlsZSBvciBkaXJlY3RvcnkgcGF0aC5cbiIKKyJcbiIKKyJJZiB0aGVyZSBpcyBubyBsaW1pdCwgcmV0dXJuIC0xLlxuIgorIk9uIHNvbWUgcGxhdGZvcm1zLCBwYXRoIG1heSBhbHNvIGJlIHNwZWNpZmllZCBhcyBhbiBvcGVuIGZpbGUgZGVzY3JpcHRvci5cbiIKKyIgIElmIHRoaXMgZnVuY3Rpb25hbGl0eSBpcyB1bmF2YWlsYWJsZSwgdXNpbmcgaXQgcmFpc2VzIGFuIGV4Y2VwdGlvbi4iKTsKKworI2RlZmluZSBPU19QQVRIQ09ORl9NRVRIT0RERUYgICAgXAorICAgIHsicGF0aGNvbmYiLCAoUHlDRnVuY3Rpb24pb3NfcGF0aGNvbmYsIE1FVEhfVkFSQVJHU3xNRVRIX0tFWVdPUkRTLCBvc19wYXRoY29uZl9fZG9jX199LAorCitzdGF0aWMgbG9uZworb3NfcGF0aGNvbmZfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBwYXRoX3QgKnBhdGgsIGludCBuYW1lKTsKIAogc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X3BhdGhjb25mKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3YXJncykKK29zX3BhdGhjb25mKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQogewotICAgIHBhdGhfdCBwYXRoOwotICAgIFB5T2JqZWN0ICpyZXN1bHQgPSBOVUxMOworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIHN0YXRpYyBjaGFyICpfa2V5d29yZHNbXSA9IHsicGF0aCIsICJuYW1lIiwgTlVMTH07CisgICAgcGF0aF90IHBhdGggPSBQQVRIX1RfSU5JVElBTElaRSgicGF0aGNvbmYiLCAicGF0aCIsIDAsIFBBVEhfSEFWRV9GUEFUSENPTkYpOwogICAgIGludCBuYW1lOwotICAgIHN0YXRpYyBjaGFyICprZXl3b3Jkc1tdID0geyJwYXRoIiwgIm5hbWUiLCBOVUxMfTsKKyAgICBsb25nIF9yZXR1cm5fdmFsdWU7CiAKLSAgICBtZW1zZXQoJnBhdGgsIDAsIHNpemVvZihwYXRoKSk7Ci0gICAgcGF0aC5mdW5jdGlvbl9uYW1lID0gInBhdGhjb25mIjsKLSNpZmRlZiBIQVZFX0ZQQVRIQ09ORgotICAgIHBhdGguYWxsb3dfZmQgPSAxOwotI2VuZGlmCi0gICAgaWYgKFB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsICJPJk8mOnBhdGhjb25mIiwga2V5d29yZHMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXRoX2NvbnZlcnRlciwgJnBhdGgsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb252X3BhdGhfY29uZm5hbWUsICZuYW1lKSkgeworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywKKyAgICAgICAgIk8mTyY6cGF0aGNvbmYiLCBfa2V5d29yZHMsCisgICAgICAgIHBhdGhfY29udmVydGVyLCAmcGF0aCwgY29udl9wYXRoX2NvbmZuYW1lLCAmbmFtZSkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICBfcmV0dXJuX3ZhbHVlID0gb3NfcGF0aGNvbmZfaW1wbChtb2R1bGUsICZwYXRoLCBuYW1lKTsKKyAgICBpZiAoKF9yZXR1cm5fdmFsdWUgPT0gLTEpICYmIFB5RXJyX09jY3VycmVkKCkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBQeUxvbmdfRnJvbUxvbmcoX3JldHVybl92YWx1ZSk7CisKK2V4aXQ6CisgICAgLyogQ2xlYW51cCBmb3IgcGF0aCAqLworICAgIHBhdGhfY2xlYW51cCgmcGF0aCk7CisKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgbG9uZworb3NfcGF0aGNvbmZfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBwYXRoX3QgKnBhdGgsIGludCBuYW1lKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTFhNTNlMTI1YjZjZjYzZTQgaW5wdXQ9YmMzZTJhOTg1YWYyN2U1ZV0qLworewogICAgIGxvbmcgbGltaXQ7CiAKICAgICBlcnJubyA9IDA7CiAjaWZkZWYgSEFWRV9GUEFUSENPTkYKLSAgICBpZiAocGF0aC5mZCAhPSAtMSkKLSAgICAgICAgbGltaXQgPSBmcGF0aGNvbmYocGF0aC5mZCwgbmFtZSk7CisgICAgaWYgKHBhdGgtPmZkICE9IC0xKQorICAgICAgICBsaW1pdCA9IGZwYXRoY29uZihwYXRoLT5mZCwgbmFtZSk7CiAgICAgZWxzZQogI2VuZGlmCi0gICAgICAgIGxpbWl0ID0gcGF0aGNvbmYocGF0aC5uYXJyb3csIG5hbWUpOworICAgICAgICBsaW1pdCA9IHBhdGhjb25mKHBhdGgtPm5hcnJvdywgbmFtZSk7CiAgICAgaWYgKGxpbWl0ID09IC0xICYmIGVycm5vICE9IDApIHsKICAgICAgICAgaWYgKGVycm5vID09IEVJTlZBTCkKICAgICAgICAgICAgIC8qIGNvdWxkIGJlIGEgcGF0aCBvciBuYW1lIHByb2JsZW0gKi8KICAgICAgICAgICAgIHBvc2l4X2Vycm9yKCk7CiAgICAgICAgIGVsc2UKLSAgICAgICAgICAgIHJlc3VsdCA9IHBhdGhfZXJyb3IoJnBhdGgpOworICAgICAgICAgICAgcGF0aF9lcnJvcihwYXRoKTsKICAgICB9Ci0gICAgZWxzZQotICAgICAgICByZXN1bHQgPSBQeUxvbmdfRnJvbUxvbmcobGltaXQpOwotICAgIH0KLSAgICBwYXRoX2NsZWFudXAoJnBhdGgpOwotICAgIHJldHVybiByZXN1bHQ7CisKKyAgICByZXR1cm4gbGltaXQ7CiB9Ci0jZW5kaWYKKyNlbmRpZiAvKiBIQVZFX1BBVEhDT05GICovCiAKICNpZmRlZiBIQVZFX0NPTkZTVFIKIHN0YXRpYyBzdHJ1Y3QgY29uc3RkZWYgcG9zaXhfY29uc3RhbnRzX2NvbmZzdHJbXSA9IHsKQEAgLTk3MzcsMjEgKzE0NDYwLDUyIEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvIHNpemVvZihzdHJ1Y3QgY29uc3RkZWYpKTsKIH0KIAotUHlEb2NfU1RSVkFSKHBvc2l4X2NvbmZzdHJfX2RvY19fLAotImNvbmZzdHIobmFtZSkgLT4gc3RyaW5nXG5cblwKLVJldHVybiBhIHN0cmluZy12YWx1ZWQgc3lzdGVtIGNvbmZpZ3VyYXRpb24gdmFyaWFibGUuIik7CisKKy8qW2NsaW5pYyBpbnB1dF0KK29zLmNvbmZzdHIKKworICAgIG5hbWU6IGNvbmZzdHJfY29uZm5hbWUKKyAgICAvCisKK1JldHVybiBhIHN0cmluZy12YWx1ZWQgc3lzdGVtIGNvbmZpZ3VyYXRpb24gdmFyaWFibGUuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19jb25mc3RyX19kb2NfXywKKyJjb25mc3RyKCRtb2R1bGUsIG5hbWUsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJSZXR1cm4gYSBzdHJpbmctdmFsdWVkIHN5c3RlbSBjb25maWd1cmF0aW9uIHZhcmlhYmxlLiIpOworCisjZGVmaW5lIE9TX0NPTkZTVFJfTUVUSE9EREVGICAgIFwKKyAgICB7ImNvbmZzdHIiLCAoUHlDRnVuY3Rpb24pb3NfY29uZnN0ciwgTUVUSF9WQVJBUkdTLCBvc19jb25mc3RyX19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF9jb25mc3RyKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK29zX2NvbmZzdHJfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBpbnQgbmFtZSk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19jb25mc3RyKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzKQoreworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIGludCBuYW1lOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCisgICAgICAgICJPJjpjb25mc3RyIiwKKyAgICAgICAgY29udl9jb25mc3RyX2NvbmZuYW1lLCAmbmFtZSkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBvc19jb25mc3RyX2ltcGwobW9kdWxlLCBuYW1lKTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorb3NfY29uZnN0cl9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGludCBuYW1lKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTNmNWU4YWJhOWY4ZTMxNzQgaW5wdXQ9MThmYjRkMDU2NzI0MmU2NV0qLwogewogICAgIFB5T2JqZWN0ICpyZXN1bHQgPSBOVUxMOwotICAgIGludCBuYW1lOwogICAgIGNoYXIgYnVmZmVyWzI1NV07CiAgICAgc2l6ZV90IGxlbjsKIAotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiTyY6Y29uZnN0ciIsIGNvbnZfY29uZnN0cl9jb25mbmFtZSwgJm5hbWUpKQotICAgICAgICByZXR1cm4gTlVMTDsKLQogICAgIGVycm5vID0gMDsKICAgICBsZW4gPSBjb25mc3RyKG5hbWUsIGJ1ZmZlciwgc2l6ZW9mKGJ1ZmZlcikpOwogICAgIGlmIChsZW4gPT0gMCkgewpAQCAtOTc2NSwxMCArMTQ1MTksMTIgQEAKICAgICB9CiAKICAgICBpZiAobGVuID49IHNpemVvZihidWZmZXIpKSB7CisgICAgICAgIHNpemVfdCBsZW4yOwogICAgICAgICBjaGFyICpidWYgPSBQeU1lbV9NYWxsb2MobGVuKTsKICAgICAgICAgaWYgKGJ1ZiA9PSBOVUxMKQogICAgICAgICAgICAgcmV0dXJuIFB5RXJyX05vTWVtb3J5KCk7Ci0gICAgICAgIGNvbmZzdHIobmFtZSwgYnVmLCBsZW4pOworICAgICAgICBsZW4yID0gY29uZnN0cihuYW1lLCBidWYsIGxlbik7CisgICAgICAgIGFzc2VydChsZW4gPT0gbGVuMik7CiAgICAgICAgIHJlc3VsdCA9IFB5VW5pY29kZV9EZWNvZGVGU0RlZmF1bHRBbmRTaXplKGJ1ZiwgbGVuLTEpOwogICAgICAgICBQeU1lbV9GcmVlKGJ1Zik7CiAgICAgfQpAQCAtOTc3Niw3ICsxNDUzMiw3IEBACiAgICAgICAgIHJlc3VsdCA9IFB5VW5pY29kZV9EZWNvZGVGU0RlZmF1bHRBbmRTaXplKGJ1ZmZlciwgbGVuLTEpOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci0jZW5kaWYKKyNlbmRpZiAvKiBIQVZFX0NPTkZTVFIgKi8KIAogCiAjaWZkZWYgSEFWRV9TWVNDT05GCkBAIC0xMDI4MywyOSArMTUwMzksNjAgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8gc2l6ZW9mKHN0cnVjdCBjb25zdGRlZikpOwogfQogCi1QeURvY19TVFJWQVIocG9zaXhfc3lzY29uZl9fZG9jX18sCi0ic3lzY29uZihuYW1lKSAtPiBpbnRlZ2VyXG5cblwKLVJldHVybiBhbiBpbnRlZ2VyLXZhbHVlZCBzeXN0ZW0gY29uZmlndXJhdGlvbiB2YXJpYWJsZS4iKTsKKworLypbY2xpbmljIGlucHV0XQorb3Muc3lzY29uZiAtPiBsb25nCisgICAgbmFtZTogc3lzY29uZl9jb25mbmFtZQorICAgIC8KKworUmV0dXJuIGFuIGludGVnZXItdmFsdWVkIHN5c3RlbSBjb25maWd1cmF0aW9uIHZhcmlhYmxlLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3Nfc3lzY29uZl9fZG9jX18sCisic3lzY29uZigkbW9kdWxlLCBuYW1lLCAvKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJuIGFuIGludGVnZXItdmFsdWVkIHN5c3RlbSBjb25maWd1cmF0aW9uIHZhcmlhYmxlLiIpOworCisjZGVmaW5lIE9TX1NZU0NPTkZfTUVUSE9EREVGICAgIFwKKyAgICB7InN5c2NvbmYiLCAoUHlDRnVuY3Rpb24pb3Nfc3lzY29uZiwgTUVUSF9WQVJBUkdTLCBvc19zeXNjb25mX19kb2NfX30sCisKK3N0YXRpYyBsb25nCitvc19zeXNjb25mX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgaW50IG5hbWUpOwogCiBzdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfc3lzY29uZihQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCitvc19zeXNjb25mKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzKQogewotICAgIFB5T2JqZWN0ICpyZXN1bHQgPSBOVUxMOworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOwogICAgIGludCBuYW1lOworICAgIGxvbmcgX3JldHVybl92YWx1ZTsKIAotICAgIGlmIChQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJPJjpzeXNjb25mIiwgY29udl9zeXNjb25mX2NvbmZuYW1lLCAmbmFtZSkpIHsKLSAgICAgICAgbG9uZyB2YWx1ZTsKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgIk8mOnN5c2NvbmYiLAorICAgICAgICBjb252X3N5c2NvbmZfY29uZm5hbWUsICZuYW1lKSkKKyAgICAgICAgZ290byBleGl0OworICAgIF9yZXR1cm5fdmFsdWUgPSBvc19zeXNjb25mX2ltcGwobW9kdWxlLCBuYW1lKTsKKyAgICBpZiAoKF9yZXR1cm5fdmFsdWUgPT0gLTEpICYmIFB5RXJyX09jY3VycmVkKCkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBQeUxvbmdfRnJvbUxvbmcoX3JldHVybl92YWx1ZSk7CiAKLSAgICAgICAgZXJybm8gPSAwOwotICAgICAgICB2YWx1ZSA9IHN5c2NvbmYobmFtZSk7Ci0gICAgICAgIGlmICh2YWx1ZSA9PSAtMSAmJiBlcnJubyAhPSAwKQotICAgICAgICAgICAgcG9zaXhfZXJyb3IoKTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgcmVzdWx0ID0gUHlMb25nX0Zyb21Mb25nKHZhbHVlKTsKLSAgICB9Ci0gICAgcmV0dXJuIHJlc3VsdDsKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKIH0KLSNlbmRpZgorCitzdGF0aWMgbG9uZworb3Nfc3lzY29uZl9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGludCBuYW1lKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTdiMDZkZmRjNDcyNDMxZTQgaW5wdXQ9Mjc5ZTM0MzBhMzNmMjllNF0qLworeworICAgIGxvbmcgdmFsdWU7CisKKyAgICBlcnJubyA9IDA7CisgICAgdmFsdWUgPSBzeXNjb25mKG5hbWUpOworICAgIGlmICh2YWx1ZSA9PSAtMSAmJiBlcnJubyAhPSAwKQorICAgICAgICBwb3NpeF9lcnJvcigpOworICAgIHJldHVybiB2YWx1ZTsKK30KKyNlbmRpZiAvKiBIQVZFX1NZU0NPTkYgKi8KIAogCiAvKiBUaGlzIGNvZGUgaXMgdXNlZCB0byBlbnN1cmUgdGhhdCB0aGUgdGFibGVzIG9mIGNvbmZpZ3VyYXRpb24gdmFsdWUgbmFtZXMKQEAgLTEwMzgyLDEzICsxNTE2OSwzOSBAQAogfQogCiAKLVB5RG9jX1NUUlZBUihwb3NpeF9hYm9ydF9fZG9jX18sCi0iYWJvcnQoKSAtPiBkb2VzIG5vdCByZXR1cm4hXG5cblwKLUFib3J0IHRoZSBpbnRlcnByZXRlciBpbW1lZGlhdGVseS4gIFRoaXMgJ2R1bXBzIGNvcmUnIG9yIG90aGVyd2lzZSBmYWlsc1xuXAotaW4gdGhlIGhhcmRlc3Qgd2F5IHBvc3NpYmxlIG9uIHRoZSBob3N0aW5nIG9wZXJhdGluZyBzeXN0ZW0uIik7CisvKltjbGluaWMgaW5wdXRdCitvcy5hYm9ydAorCitBYm9ydCB0aGUgaW50ZXJwcmV0ZXIgaW1tZWRpYXRlbHkuCisKK1RoaXMgZnVuY3Rpb24gJ2R1bXBzIGNvcmUnIG9yIG90aGVyd2lzZSBmYWlscyBpbiB0aGUgaGFyZGVzdCB3YXkgcG9zc2libGUKK29uIHRoZSBob3N0aW5nIG9wZXJhdGluZyBzeXN0ZW0uICBUaGlzIGZ1bmN0aW9uIG5ldmVyIHJldHVybnMuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19hYm9ydF9fZG9jX18sCisiYWJvcnQoJG1vZHVsZSwgLylcbiIKKyItLVxuIgorIlxuIgorIkFib3J0IHRoZSBpbnRlcnByZXRlciBpbW1lZGlhdGVseS5cbiIKKyJcbiIKKyJUaGlzIGZ1bmN0aW9uIFwnZHVtcHMgY29yZVwnIG9yIG90aGVyd2lzZSBmYWlscyBpbiB0aGUgaGFyZGVzdCB3YXkgcG9zc2libGVcbiIKKyJvbiB0aGUgaG9zdGluZyBvcGVyYXRpbmcgc3lzdGVtLiAgVGhpcyBmdW5jdGlvbiBuZXZlciByZXR1cm5zLiIpOworCisjZGVmaW5lIE9TX0FCT1JUX01FVEhPRERFRiAgICBcCisgICAgeyJhYm9ydCIsIChQeUNGdW5jdGlvbilvc19hYm9ydCwgTUVUSF9OT0FSR1MsIG9zX2Fib3J0X19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF9hYm9ydChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKm5vYXJncykKK29zX2Fib3J0X2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19hYm9ydChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqUHlfVU5VU0VEKGlnbm9yZWQpKQoreworICAgIHJldHVybiBvc19hYm9ydF9pbXBsKG1vZHVsZSk7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19hYm9ydF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9Y2RlZDJjYzhjNTQ1M2QzYSBpbnB1dD1jZjJjN2Q5OGJjNTA0MDQ3XSovCiB7CiAgICAgYWJvcnQoKTsKICAgICAvKk5PVFJFQUNIRUQqLwpAQCAtMTAzOTcsOSArMTUyMTAsMTEgQEAKIH0KIAogI2lmZGVmIE1TX1dJTkRPV1MKKy8qIEFDIDMuNTogY2hhbmdlIHRvIHBhdGhfdD8gYnV0IHRoYXQgbWlnaHQgY2hhbmdlIGV4Y2VwdGlvbnMgKi8KIFB5RG9jX1NUUlZBUih3aW4zMl9zdGFydGZpbGVfX2RvY19fLAotInN0YXJ0ZmlsZShmaWxlcGF0aCBbLCBvcGVyYXRpb25dKSAtIFN0YXJ0IGEgZmlsZSB3aXRoIGl0cyBhc3NvY2lhdGVkXG5cCi1hcHBsaWNhdGlvbi5cblwKKyJzdGFydGZpbGUoZmlsZXBhdGggWywgb3BlcmF0aW9uXSlcblwKK1xuXAorU3RhcnQgYSBmaWxlIHdpdGggaXRzIGFzc29jaWF0ZWQgYXBwbGljYXRpb24uXG5cCiBcblwKIFdoZW4gXCJvcGVyYXRpb25cIiBpcyBub3Qgc3BlY2lmaWVkIG9yIFwib3BlblwiLCB0aGlzIGFjdHMgbGlrZVxuXAogZG91YmxlLWNsaWNraW5nIHRoZSBmaWxlIGluIEV4cGxvcmVyLCBvciBnaXZpbmcgdGhlIGZpbGUgbmFtZSBhcyBhblxuXApAQCAtMTA0MTYsNiArMTUyMzEsMzcgQEAKIGFuIGFic29sdXRlIHBhdGgsIG1ha2Ugc3VyZSB0aGUgZmlyc3QgY2hhcmFjdGVyIGlzIG5vdCBhIHNsYXNoIChcIi9cIik7XG5cCiB0aGUgdW5kZXJseWluZyBXaW4zMiBTaGVsbEV4ZWN1dGUgZnVuY3Rpb24gZG9lc24ndCB3b3JrIGlmIGl0IGlzLiIpOwogCisvKiBHcmFiIFNoZWxsRXhlY3V0ZSBkeW5hbWljYWxseSBmcm9tIHNoZWxsMzIgKi8KK3N0YXRpYyBpbnQgaGFzX1NoZWxsRXhlY3V0ZSA9IC0xOworc3RhdGljIEhJTlNUQU5DRSAoQ0FMTEJBQ0sgKlB5X1NoZWxsRXhlY3V0ZUEpKEhXTkQsIExQQ1NUUiwgTFBDU1RSLCBMUENTVFIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTFBDU1RSLCBJTlQpOworc3RhdGljIEhJTlNUQU5DRSAoQ0FMTEJBQ0sgKlB5X1NoZWxsRXhlY3V0ZVcpKEhXTkQsIExQQ1dTVFIsIExQQ1dTVFIsIExQQ1dTVFIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTFBDV1NUUiwgSU5UKTsKK3N0YXRpYyBpbnQKK2NoZWNrX1NoZWxsRXhlY3V0ZSgpCit7CisgICAgSElOU1RBTkNFIGhTaGVsbDMyOworCisgICAgLyogb25seSByZWNoZWNrICovCisgICAgaWYgKC0xID09IGhhc19TaGVsbEV4ZWN1dGUpIHsKKyAgICAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUworICAgICAgICBoU2hlbGwzMiA9IExvYWRMaWJyYXJ5VyhMIlNIRUxMMzIiKTsKKyAgICAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKKyAgICAgICAgaWYgKGhTaGVsbDMyKSB7CisgICAgICAgICAgICAqKEZBUlBST0MqKSZQeV9TaGVsbEV4ZWN1dGVBID0gR2V0UHJvY0FkZHJlc3MoaFNoZWxsMzIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJTaGVsbEV4ZWN1dGVBIik7CisgICAgICAgICAgICAqKEZBUlBST0MqKSZQeV9TaGVsbEV4ZWN1dGVXID0gR2V0UHJvY0FkZHJlc3MoaFNoZWxsMzIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJTaGVsbEV4ZWN1dGVXIik7CisgICAgICAgICAgICBoYXNfU2hlbGxFeGVjdXRlID0gUHlfU2hlbGxFeGVjdXRlQSAmJgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5X1NoZWxsRXhlY3V0ZVc7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBoYXNfU2hlbGxFeGVjdXRlID0gMDsKKyAgICAgICAgfQorICAgIH0KKyAgICByZXR1cm4gaGFzX1NoZWxsRXhlY3V0ZTsKK30KKworCiBzdGF0aWMgUHlPYmplY3QgKgogd2luMzJfc3RhcnRmaWxlKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKIHsKQEAgLTEwNDI2LDYgKzE1MjcyLDE0IEBACiAgICAgSElOU1RBTkNFIHJjOwogCiAgICAgUHlPYmplY3QgKnVuaXBhdGgsICp1b3BlcmF0aW9uID0gTlVMTDsKKworICAgIGlmKCFjaGVja19TaGVsbEV4ZWN1dGUoKSkgeworICAgICAgICAvKiBJZiB0aGUgT1MgZG9lc24ndCBoYXZlIFNoZWxsRXhlY3V0ZSwgcmV0dXJuIGEKKyAgICAgICAgICAgTm90SW1wbGVtZW50ZWRFcnJvci4gKi8KKyAgICAgICAgcmV0dXJuIFB5RXJyX0Zvcm1hdChQeUV4Y19Ob3RJbXBsZW1lbnRlZEVycm9yLAorICAgICAgICAgICAgInN0YXJ0ZmlsZSBub3QgYXZhaWxhYmxlIG9uIHRoaXMgcGxhdGZvcm0iKTsKKyAgICB9CisKICAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgIlV8czpzdGFydGZpbGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAmdW5pcGF0aCwgJm9wZXJhdGlvbikpIHsKICAgICAgICAgUHlFcnJfQ2xlYXIoKTsKQEAgLTEwNDU0LDggKzE1MzA4LDggQEAKICAgICAgICAgd29wZXJhdGlvbiA9IE5VTEw7CiAKICAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCi0gICAgcmMgPSBTaGVsbEV4ZWN1dGVXKChIV05EKTAsIHdvcGVyYXRpb24sIHdwYXRoLAotICAgICAgICAgICAgICAgICAgICAgICBOVUxMLCBOVUxMLCBTV19TSE9XTk9STUFMKTsKKyAgICByYyA9IFB5X1NoZWxsRXhlY3V0ZVcoKEhXTkQpMCwgd29wZXJhdGlvbiwgd3BhdGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsIE5VTEwsIFNXX1NIT1dOT1JNQUwpOwogICAgIFB5X0VORF9BTExPV19USFJFQURTCiAKICAgICBQeV9YREVDUkVGKHVvcGVyYXRpb24pOwpAQCAtMTA0NzcsOCArMTUzMzEsOCBAQAogICAgIH0KICAgICBmaWxlcGF0aCA9IFB5Qnl0ZXNfQXNTdHJpbmcob2ZpbGVwYXRoKTsKICAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCi0gICAgcmMgPSBTaGVsbEV4ZWN1dGUoKEhXTkQpMCwgb3BlcmF0aW9uLCBmaWxlcGF0aCwKLSAgICAgICAgICAgICAgICAgICAgICBOVUxMLCBOVUxMLCBTV19TSE9XTk9STUFMKTsKKyAgICByYyA9IFB5X1NoZWxsRXhlY3V0ZUEoKEhXTkQpMCwgb3BlcmF0aW9uLCBmaWxlcGF0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwgTlVMTCwgU1dfU0hPV05PUk1BTCk7CiAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKICAgICBpZiAocmMgPD0gKEhJTlNUQU5DRSkzMikgewogICAgICAgICBQeU9iamVjdCAqZXJydmFsID0gd2luMzJfZXJyb3IoInN0YXJ0ZmlsZSIsIGZpbGVwYXRoKTsKQEAgLTEwNDg5LDE3ICsxNTM0Myw0NSBAQAogICAgIFB5X0lOQ1JFRihQeV9Ob25lKTsKICAgICByZXR1cm4gUHlfTm9uZTsKIH0KLSNlbmRpZgorI2VuZGlmIC8qIE1TX1dJTkRPV1MgKi8KKwogCiAjaWZkZWYgSEFWRV9HRVRMT0FEQVZHCi1QeURvY19TVFJWQVIocG9zaXhfZ2V0bG9hZGF2Z19fZG9jX18sCi0iZ2V0bG9hZGF2ZygpIC0+IChmbG9hdCwgZmxvYXQsIGZsb2F0KVxuXG5cCi1SZXR1cm4gdGhlIG51bWJlciBvZiBwcm9jZXNzZXMgaW4gdGhlIHN5c3RlbSBydW4gcXVldWUgYXZlcmFnZWQgb3ZlclxuXAotdGhlIGxhc3QgMSwgNSwgYW5kIDE1IG1pbnV0ZXMgb3IgcmFpc2VzIE9TRXJyb3IgaWYgdGhlIGxvYWQgYXZlcmFnZVxuXAotd2FzIHVub2J0YWluYWJsZSIpOworLypbY2xpbmljIGlucHV0XQorb3MuZ2V0bG9hZGF2ZworCitSZXR1cm4gYXZlcmFnZSByZWNlbnQgc3lzdGVtIGxvYWQgaW5mb3JtYXRpb24uCisKK1JldHVybiB0aGUgbnVtYmVyIG9mIHByb2Nlc3NlcyBpbiB0aGUgc3lzdGVtIHJ1biBxdWV1ZSBhdmVyYWdlZCBvdmVyCit0aGUgbGFzdCAxLCA1LCBhbmQgMTUgbWludXRlcyBhcyBhIHR1cGxlIG9mIHRocmVlIGZsb2F0cy4KK1JhaXNlcyBPU0Vycm9yIGlmIHRoZSBsb2FkIGF2ZXJhZ2Ugd2FzIHVub2J0YWluYWJsZS4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX2dldGxvYWRhdmdfX2RvY19fLAorImdldGxvYWRhdmcoJG1vZHVsZSwgLylcbiIKKyItLVxuIgorIlxuIgorIlJldHVybiBhdmVyYWdlIHJlY2VudCBzeXN0ZW0gbG9hZCBpbmZvcm1hdGlvbi5cbiIKKyJcbiIKKyJSZXR1cm4gdGhlIG51bWJlciBvZiBwcm9jZXNzZXMgaW4gdGhlIHN5c3RlbSBydW4gcXVldWUgYXZlcmFnZWQgb3ZlclxuIgorInRoZSBsYXN0IDEsIDUsIGFuZCAxNSBtaW51dGVzIGFzIGEgdHVwbGUgb2YgdGhyZWUgZmxvYXRzLlxuIgorIlJhaXNlcyBPU0Vycm9yIGlmIHRoZSBsb2FkIGF2ZXJhZ2Ugd2FzIHVub2J0YWluYWJsZS4iKTsKKworI2RlZmluZSBPU19HRVRMT0FEQVZHX01FVEhPRERFRiAgICBcCisgICAgeyJnZXRsb2FkYXZnIiwgKFB5Q0Z1bmN0aW9uKW9zX2dldGxvYWRhdmcsIE1FVEhfTk9BUkdTLCBvc19nZXRsb2FkYXZnX19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF9nZXRsb2FkYXZnKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqbm9hcmdzKQorb3NfZ2V0bG9hZGF2Z19pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUpOworCitzdGF0aWMgUHlPYmplY3QgKgorb3NfZ2V0bG9hZGF2ZyhQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqUHlfVU5VU0VEKGlnbm9yZWQpKQoreworICAgIHJldHVybiBvc19nZXRsb2FkYXZnX2ltcGwobW9kdWxlKTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK29zX2dldGxvYWRhdmdfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTY3NTkzYTkyNDU3ZDU1YWYgaW5wdXQ9M2Q2ZDgyNmI3NmQ4YTM0ZV0qLwogewogICAgIGRvdWJsZSBsb2FkYXZnWzNdOwogICAgIGlmIChnZXRsb2FkYXZnKGxvYWRhdmcsIDMpIT0zKSB7CkBAIC0xMDUwOCw3MiArMTUzOTAsMTkzIEBACiAgICAgfSBlbHNlCiAgICAgICAgIHJldHVybiBQeV9CdWlsZFZhbHVlKCJkZGQiLCBsb2FkYXZnWzBdLCBsb2FkYXZnWzFdLCBsb2FkYXZnWzJdKTsKIH0KLSNlbmRpZgorI2VuZGlmIC8qIEhBVkVfR0VUTE9BREFWRyAqLwogCi1QeURvY19TVFJWQVIoZGV2aWNlX2VuY29kaW5nX19kb2NfXywKLSJkZXZpY2VfZW5jb2RpbmcoZmQpIC0+IHN0clxuXG5cCi1SZXR1cm4gYSBzdHJpbmcgZGVzY3JpYmluZyB0aGUgZW5jb2Rpbmcgb2YgdGhlIGRldmljZVxuXAotaWYgdGhlIG91dHB1dCBpcyBhIHRlcm1pbmFsOyBlbHNlIHJldHVybiBOb25lLiIpOworCisvKltjbGluaWMgaW5wdXRdCitvcy5kZXZpY2VfZW5jb2RpbmcKKyAgICBmZDogaW50CisKK1JldHVybiBhIHN0cmluZyBkZXNjcmliaW5nIHRoZSBlbmNvZGluZyBvZiBhIHRlcm1pbmFsJ3MgZmlsZSBkZXNjcmlwdG9yLgorCitUaGUgZmlsZSBkZXNjcmlwdG9yIG11c3QgYmUgYXR0YWNoZWQgdG8gYSB0ZXJtaW5hbC4KK0lmIHRoZSBkZXZpY2UgaXMgbm90IGEgdGVybWluYWwsIHJldHVybiBOb25lLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3NfZGV2aWNlX2VuY29kaW5nX19kb2NfXywKKyJkZXZpY2VfZW5jb2RpbmcoJG1vZHVsZSwgLywgZmQpXG4iCisiLS1cbiIKKyJcbiIKKyJSZXR1cm4gYSBzdHJpbmcgZGVzY3JpYmluZyB0aGUgZW5jb2Rpbmcgb2YgYSB0ZXJtaW5hbFwncyBmaWxlIGRlc2NyaXB0b3IuXG4iCisiXG4iCisiVGhlIGZpbGUgZGVzY3JpcHRvciBtdXN0IGJlIGF0dGFjaGVkIHRvIGEgdGVybWluYWwuXG4iCisiSWYgdGhlIGRldmljZSBpcyBub3QgYSB0ZXJtaW5hbCwgcmV0dXJuIE5vbmUuIik7CisKKyNkZWZpbmUgT1NfREVWSUNFX0VOQ09ESU5HX01FVEhPRERFRiAgICBcCisgICAgeyJkZXZpY2VfZW5jb2RpbmciLCAoUHlDRnVuY3Rpb24pb3NfZGV2aWNlX2VuY29kaW5nLCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywgb3NfZGV2aWNlX2VuY29kaW5nX19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1kZXZpY2VfZW5jb2RpbmcoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQorb3NfZGV2aWNlX2VuY29kaW5nX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgaW50IGZkKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX2RldmljZV9lbmNvZGluZyhQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3YXJncykKIHsKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBzdGF0aWMgY2hhciAqX2tleXdvcmRzW10gPSB7ImZkIiwgTlVMTH07CiAgICAgaW50IGZkOwogCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJpOmRldmljZV9lbmNvZGluZyIsICZmZCkpCi0gICAgICAgIHJldHVybiBOVUxMOworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywKKyAgICAgICAgImk6ZGV2aWNlX2VuY29kaW5nIiwgX2tleXdvcmRzLAorICAgICAgICAmZmQpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gb3NfZGV2aWNlX2VuY29kaW5nX2ltcGwobW9kdWxlLCBmZCk7CiAKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK29zX2RldmljZV9lbmNvZGluZ19pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGludCBmZCkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1lOWY4Mjc0ZDQyZjVjY2UzIGlucHV0PTllMWQ0YTQyYjY2ZGYzMTJdKi8KK3sKICAgICByZXR1cm4gX1B5X2RldmljZV9lbmNvZGluZyhmZCk7CiB9CiAKLSNpZmRlZiBIQVZFX1NFVFJFU1VJRAotUHlEb2NfU1RSVkFSKHBvc2l4X3NldHJlc3VpZF9fZG9jX18sCi0ic2V0cmVzdWlkKHJ1aWQsIGV1aWQsIHN1aWQpXG5cblwKLVNldCB0aGUgY3VycmVudCBwcm9jZXNzJ3MgcmVhbCwgZWZmZWN0aXZlLCBhbmQgc2F2ZWQgdXNlciBpZHMuIik7CiAKLXN0YXRpYyBQeU9iamVjdCoKLXBvc2l4X3NldHJlc3VpZCAoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQorI2lmZGVmIEhBVkVfU0VUUkVTVUlECisvKltjbGluaWMgaW5wdXRdCitvcy5zZXRyZXN1aWQKKworICAgIHJ1aWQ6IHVpZF90CisgICAgZXVpZDogdWlkX3QKKyAgICBzdWlkOiB1aWRfdAorICAgIC8KKworU2V0IHRoZSBjdXJyZW50IHByb2Nlc3MncyByZWFsLCBlZmZlY3RpdmUsIGFuZCBzYXZlZCB1c2VyIGlkcy4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX3NldHJlc3VpZF9fZG9jX18sCisic2V0cmVzdWlkKCRtb2R1bGUsIHJ1aWQsIGV1aWQsIHN1aWQsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJTZXQgdGhlIGN1cnJlbnQgcHJvY2Vzc1wncyByZWFsLCBlZmZlY3RpdmUsIGFuZCBzYXZlZCB1c2VyIGlkcy4iKTsKKworI2RlZmluZSBPU19TRVRSRVNVSURfTUVUSE9EREVGICAgIFwKKyAgICB7InNldHJlc3VpZCIsIChQeUNGdW5jdGlvbilvc19zZXRyZXN1aWQsIE1FVEhfVkFSQVJHUywgb3Nfc2V0cmVzdWlkX19kb2NfX30sCisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19zZXRyZXN1aWRfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCB1aWRfdCBydWlkLCB1aWRfdCBldWlkLCB1aWRfdCBzdWlkKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX3NldHJlc3VpZChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncykKIHsKLSAgICAvKiBXZSBhc3N1bWUgdWlkX3QgaXMgbm8gbGFyZ2VyIHRoYW4gYSBsb25nLiAqLwotICAgIHVpZF90IHJ1aWQsIGV1aWQsIHN1aWQ7Ci0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJPJk8mTyY6c2V0cmVzdWlkIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgX1B5X1VpZF9Db252ZXJ0ZXIsICZydWlkLAotICAgICAgICAgICAgICAgICAgICAgICAgICBfUHlfVWlkX0NvbnZlcnRlciwgJmV1aWQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIF9QeV9VaWRfQ29udmVydGVyLCAmc3VpZCkpCi0gICAgICAgIHJldHVybiBOVUxMOworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIHVpZF90IHJ1aWQ7CisgICAgdWlkX3QgZXVpZDsKKyAgICB1aWRfdCBzdWlkOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCisgICAgICAgICJPJk8mTyY6c2V0cmVzdWlkIiwKKyAgICAgICAgX1B5X1VpZF9Db252ZXJ0ZXIsICZydWlkLCBfUHlfVWlkX0NvbnZlcnRlciwgJmV1aWQsIF9QeV9VaWRfQ29udmVydGVyLCAmc3VpZCkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBvc19zZXRyZXN1aWRfaW1wbChtb2R1bGUsIHJ1aWQsIGV1aWQsIHN1aWQpOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19zZXRyZXN1aWRfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCB1aWRfdCBydWlkLCB1aWRfdCBldWlkLCB1aWRfdCBzdWlkKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTJlMzQ1N2NmZTdjZDFmOTQgaW5wdXQ9OWUzM2NiNzlhODI3OTJmM10qLworewogICAgIGlmIChzZXRyZXN1aWQocnVpZCwgZXVpZCwgc3VpZCkgPCAwKQogICAgICAgICByZXR1cm4gcG9zaXhfZXJyb3IoKTsKICAgICBQeV9SRVRVUk5fTk9ORTsKIH0KLSNlbmRpZgorI2VuZGlmIC8qIEhBVkVfU0VUUkVTVUlEICovCisKIAogI2lmZGVmIEhBVkVfU0VUUkVTR0lECi1QeURvY19TVFJWQVIocG9zaXhfc2V0cmVzZ2lkX19kb2NfXywKLSJzZXRyZXNnaWQocmdpZCwgZWdpZCwgc2dpZClcblxuXAotU2V0IHRoZSBjdXJyZW50IHByb2Nlc3MncyByZWFsLCBlZmZlY3RpdmUsIGFuZCBzYXZlZCBncm91cCBpZHMuIik7CisvKltjbGluaWMgaW5wdXRdCitvcy5zZXRyZXNnaWQKIAotc3RhdGljIFB5T2JqZWN0KgotcG9zaXhfc2V0cmVzZ2lkIChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCisgICAgcmdpZDogZ2lkX3QKKyAgICBlZ2lkOiBnaWRfdAorICAgIHNnaWQ6IGdpZF90CisgICAgLworCitTZXQgdGhlIGN1cnJlbnQgcHJvY2VzcydzIHJlYWwsIGVmZmVjdGl2ZSwgYW5kIHNhdmVkIGdyb3VwIGlkcy4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX3NldHJlc2dpZF9fZG9jX18sCisic2V0cmVzZ2lkKCRtb2R1bGUsIHJnaWQsIGVnaWQsIHNnaWQsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJTZXQgdGhlIGN1cnJlbnQgcHJvY2Vzc1wncyByZWFsLCBlZmZlY3RpdmUsIGFuZCBzYXZlZCBncm91cCBpZHMuIik7CisKKyNkZWZpbmUgT1NfU0VUUkVTR0lEX01FVEhPRERFRiAgICBcCisgICAgeyJzZXRyZXNnaWQiLCAoUHlDRnVuY3Rpb24pb3Nfc2V0cmVzZ2lkLCBNRVRIX1ZBUkFSR1MsIG9zX3NldHJlc2dpZF9fZG9jX199LAorCitzdGF0aWMgUHlPYmplY3QgKgorb3Nfc2V0cmVzZ2lkX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgZ2lkX3QgcmdpZCwgZ2lkX3QgZWdpZCwgZ2lkX3Qgc2dpZCk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19zZXRyZXNnaWQoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MpCiB7Ci0gICAgZ2lkX3QgcmdpZCwgZWdpZCwgc2dpZDsKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgIk8mTyZPJjpzZXRyZXNnaWQiLAotICAgICAgICAgICAgICAgICAgICAgICAgICBfUHlfR2lkX0NvbnZlcnRlciwgJnJnaWQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIF9QeV9HaWRfQ29udmVydGVyLCAmZWdpZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgX1B5X0dpZF9Db252ZXJ0ZXIsICZzZ2lkKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgZ2lkX3QgcmdpZDsKKyAgICBnaWRfdCBlZ2lkOworICAgIGdpZF90IHNnaWQ7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgIk8mTyZPJjpzZXRyZXNnaWQiLAorICAgICAgICBfUHlfR2lkX0NvbnZlcnRlciwgJnJnaWQsIF9QeV9HaWRfQ29udmVydGVyLCAmZWdpZCwgX1B5X0dpZF9Db252ZXJ0ZXIsICZzZ2lkKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IG9zX3NldHJlc2dpZF9pbXBsKG1vZHVsZSwgcmdpZCwgZWdpZCwgc2dpZCk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK29zX3NldHJlc2dpZF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGdpZF90IHJnaWQsIGdpZF90IGVnaWQsIGdpZF90IHNnaWQpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9OGE3ZWU2YzFmMjQ4MjM2MiBpbnB1dD0zM2U5ZTA3ODVlZjQyNmIxXSovCit7CiAgICAgaWYgKHNldHJlc2dpZChyZ2lkLCBlZ2lkLCBzZ2lkKSA8IDApCiAgICAgICAgIHJldHVybiBwb3NpeF9lcnJvcigpOwogICAgIFB5X1JFVFVSTl9OT05FOwogfQotI2VuZGlmCisjZW5kaWYgLyogSEFWRV9TRVRSRVNHSUQgKi8KKwogCiAjaWZkZWYgSEFWRV9HRVRSRVNVSUQKLVB5RG9jX1NUUlZBUihwb3NpeF9nZXRyZXN1aWRfX2RvY19fLAotImdldHJlc3VpZCgpIC0+IChydWlkLCBldWlkLCBzdWlkKVxuXG5cCi1HZXQgdHVwbGUgb2YgdGhlIGN1cnJlbnQgcHJvY2VzcydzIHJlYWwsIGVmZmVjdGl2ZSwgYW5kIHNhdmVkIHVzZXIgaWRzLiIpOworLypbY2xpbmljIGlucHV0XQorb3MuZ2V0cmVzdWlkCiAKLXN0YXRpYyBQeU9iamVjdCoKLXBvc2l4X2dldHJlc3VpZCAoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpub2FyZ3MpCitSZXR1cm4gYSB0dXBsZSBvZiB0aGUgY3VycmVudCBwcm9jZXNzJ3MgcmVhbCwgZWZmZWN0aXZlLCBhbmQgc2F2ZWQgdXNlciBpZHMuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19nZXRyZXN1aWRfX2RvY19fLAorImdldHJlc3VpZCgkbW9kdWxlLCAvKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJuIGEgdHVwbGUgb2YgdGhlIGN1cnJlbnQgcHJvY2Vzc1wncyByZWFsLCBlZmZlY3RpdmUsIGFuZCBzYXZlZCB1c2VyIGlkcy4iKTsKKworI2RlZmluZSBPU19HRVRSRVNVSURfTUVUSE9EREVGICAgIFwKKyAgICB7ImdldHJlc3VpZCIsIChQeUNGdW5jdGlvbilvc19nZXRyZXN1aWQsIE1FVEhfTk9BUkdTLCBvc19nZXRyZXN1aWRfX2RvY19ffSwKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX2dldHJlc3VpZF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUpOworCitzdGF0aWMgUHlPYmplY3QgKgorb3NfZ2V0cmVzdWlkKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICpQeV9VTlVTRUQoaWdub3JlZCkpCit7CisgICAgcmV0dXJuIG9zX2dldHJlc3VpZF9pbXBsKG1vZHVsZSk7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19nZXRyZXN1aWRfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWQwNzg2Njg2YTZlZjEzMjAgaW5wdXQ9NDFjY2ZhOGUxZjY1MTdhZF0qLwogewogICAgIHVpZF90IHJ1aWQsIGV1aWQsIHN1aWQ7CiAgICAgaWYgKGdldHJlc3VpZCgmcnVpZCwgJmV1aWQsICZzdWlkKSA8IDApCkBAIC0xMDU4Miw1OSArMTU1ODUsMTE2IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX1B5TG9uZ19Gcm9tVWlkKGV1aWQpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9QeUxvbmdfRnJvbVVpZChzdWlkKSk7CiB9Ci0jZW5kaWYKKyNlbmRpZiAvKiBIQVZFX0dFVFJFU1VJRCAqLworCiAKICNpZmRlZiBIQVZFX0dFVFJFU0dJRAotUHlEb2NfU1RSVkFSKHBvc2l4X2dldHJlc2dpZF9fZG9jX18sCi0iZ2V0cmVzZ2lkKCkgLT4gKHJnaWQsIGVnaWQsIHNnaWQpXG5cblwKLUdldCB0dXBsZSBvZiB0aGUgY3VycmVudCBwcm9jZXNzJ3MgcmVhbCwgZWZmZWN0aXZlLCBhbmQgc2F2ZWQgZ3JvdXAgaWRzLiIpOworLypbY2xpbmljIGlucHV0XQorb3MuZ2V0cmVzZ2lkCiAKLXN0YXRpYyBQeU9iamVjdCoKLXBvc2l4X2dldHJlc2dpZCAoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpub2FyZ3MpCitSZXR1cm4gYSB0dXBsZSBvZiB0aGUgY3VycmVudCBwcm9jZXNzJ3MgcmVhbCwgZWZmZWN0aXZlLCBhbmQgc2F2ZWQgZ3JvdXAgaWRzLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3NfZ2V0cmVzZ2lkX19kb2NfXywKKyJnZXRyZXNnaWQoJG1vZHVsZSwgLylcbiIKKyItLVxuIgorIlxuIgorIlJldHVybiBhIHR1cGxlIG9mIHRoZSBjdXJyZW50IHByb2Nlc3NcJ3MgcmVhbCwgZWZmZWN0aXZlLCBhbmQgc2F2ZWQgZ3JvdXAgaWRzLiIpOworCisjZGVmaW5lIE9TX0dFVFJFU0dJRF9NRVRIT0RERUYgICAgXAorICAgIHsiZ2V0cmVzZ2lkIiwgKFB5Q0Z1bmN0aW9uKW9zX2dldHJlc2dpZCwgTUVUSF9OT0FSR1MsIG9zX2dldHJlc2dpZF9fZG9jX199LAorCitzdGF0aWMgUHlPYmplY3QgKgorb3NfZ2V0cmVzZ2lkX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19nZXRyZXNnaWQoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKlB5X1VOVVNFRChpZ25vcmVkKSkKIHsKLSAgICB1aWRfdCByZ2lkLCBlZ2lkLCBzZ2lkOworICAgIHJldHVybiBvc19nZXRyZXNnaWRfaW1wbChtb2R1bGUpOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorb3NfZ2V0cmVzZ2lkX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD0wNTI0OWFjNzk1ZmE3NTlmIGlucHV0PTUxN2U2OGRiOWNhMzJkZjZdKi8KK3sKKyAgICBnaWRfdCByZ2lkLCBlZ2lkLCBzZ2lkOwogICAgIGlmIChnZXRyZXNnaWQoJnJnaWQsICZlZ2lkLCAmc2dpZCkgPCAwKQogICAgICAgICByZXR1cm4gcG9zaXhfZXJyb3IoKTsKICAgICByZXR1cm4gUHlfQnVpbGRWYWx1ZSgiKE5OTikiLCBfUHlMb25nX0Zyb21HaWQocmdpZCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX1B5TG9uZ19Gcm9tR2lkKGVnaWQpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9QeUxvbmdfRnJvbUdpZChzZ2lkKSk7CiB9Ci0jZW5kaWYKKyNlbmRpZiAvKiBIQVZFX0dFVFJFU0dJRCAqLworCiAKICNpZmRlZiBVU0VfWEFUVFJTCisvKltjbGluaWMgaW5wdXRdCitvcy5nZXR4YXR0cgogCi1QeURvY19TVFJWQVIocG9zaXhfZ2V0eGF0dHJfX2RvY19fLAotImdldHhhdHRyKHBhdGgsIGF0dHJpYnV0ZSwgKiwgZm9sbG93X3N5bWxpbmtzPVRydWUpIC0+IHZhbHVlXG5cblwKLVJldHVybiB0aGUgdmFsdWUgb2YgZXh0ZW5kZWQgYXR0cmlidXRlIGF0dHJpYnV0ZSBvbiBwYXRoLlxuXAotXG5cCi1wYXRoIG1heSBiZSBlaXRoZXIgYSBzdHJpbmcgb3IgYW4gb3BlbiBmaWxlIGRlc2NyaXB0b3IuXG5cCi1JZiBmb2xsb3dfc3ltbGlua3MgaXMgRmFsc2UsIGFuZCB0aGUgbGFzdCBlbGVtZW50IG9mIHRoZSBwYXRoIGlzIGEgc3ltYm9saWNcblwKLSAgbGluaywgZ2V0eGF0dHIgd2lsbCBleGFtaW5lIHRoZSBzeW1ib2xpYyBsaW5rIGl0c2VsZiBpbnN0ZWFkIG9mIHRoZSBmaWxlXG5cCi0gIHRoZSBsaW5rIHBvaW50cyB0by4iKTsKKyAgICBwYXRoOiBwYXRoX3QoYWxsb3dfZmQ9VHJ1ZSkKKyAgICBhdHRyaWJ1dGU6IHBhdGhfdAorICAgICoKKyAgICBmb2xsb3dfc3ltbGlua3M6IGJvb2wgPSBUcnVlCisKK1JldHVybiB0aGUgdmFsdWUgb2YgZXh0ZW5kZWQgYXR0cmlidXRlIGF0dHJpYnV0ZSBvbiBwYXRoLgorCitwYXRoIG1heSBiZSBlaXRoZXIgYSBzdHJpbmcgb3IgYW4gb3BlbiBmaWxlIGRlc2NyaXB0b3IuCitJZiBmb2xsb3dfc3ltbGlua3MgaXMgRmFsc2UsIGFuZCB0aGUgbGFzdCBlbGVtZW50IG9mIHRoZSBwYXRoIGlzIGEgc3ltYm9saWMKKyAgbGluaywgZ2V0eGF0dHIgd2lsbCBleGFtaW5lIHRoZSBzeW1ib2xpYyBsaW5rIGl0c2VsZiBpbnN0ZWFkIG9mIHRoZSBmaWxlCisgIHRoZSBsaW5rIHBvaW50cyB0by4KKworW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3NfZ2V0eGF0dHJfX2RvY19fLAorImdldHhhdHRyKCRtb2R1bGUsIC8sIHBhdGgsIGF0dHJpYnV0ZSwgKiwgZm9sbG93X3N5bWxpbmtzPVRydWUpXG4iCisiLS1cbiIKKyJcbiIKKyJSZXR1cm4gdGhlIHZhbHVlIG9mIGV4dGVuZGVkIGF0dHJpYnV0ZSBhdHRyaWJ1dGUgb24gcGF0aC5cbiIKKyJcbiIKKyJwYXRoIG1heSBiZSBlaXRoZXIgYSBzdHJpbmcgb3IgYW4gb3BlbiBmaWxlIGRlc2NyaXB0b3IuXG4iCisiSWYgZm9sbG93X3N5bWxpbmtzIGlzIEZhbHNlLCBhbmQgdGhlIGxhc3QgZWxlbWVudCBvZiB0aGUgcGF0aCBpcyBhIHN5bWJvbGljXG4iCisiICBsaW5rLCBnZXR4YXR0ciB3aWxsIGV4YW1pbmUgdGhlIHN5bWJvbGljIGxpbmsgaXRzZWxmIGluc3RlYWQgb2YgdGhlIGZpbGVcbiIKKyIgIHRoZSBsaW5rIHBvaW50cyB0by4iKTsKKworI2RlZmluZSBPU19HRVRYQVRUUl9NRVRIT0RERUYgICAgXAorICAgIHsiZ2V0eGF0dHIiLCAoUHlDRnVuY3Rpb24pb3NfZ2V0eGF0dHIsIE1FVEhfVkFSQVJHU3xNRVRIX0tFWVdPUkRTLCBvc19nZXR4YXR0cl9fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfZ2V0eGF0dHIoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQorb3NfZ2V0eGF0dHJfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBwYXRoX3QgKnBhdGgsIHBhdGhfdCAqYXR0cmlidXRlLCBpbnQgZm9sbG93X3N5bWxpbmtzKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX2dldHhhdHRyKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQogewotICAgIHBhdGhfdCBwYXRoOwotICAgIHBhdGhfdCBhdHRyaWJ1dGU7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgc3RhdGljIGNoYXIgKl9rZXl3b3Jkc1tdID0geyJwYXRoIiwgImF0dHJpYnV0ZSIsICJmb2xsb3dfc3ltbGlua3MiLCBOVUxMfTsKKyAgICBwYXRoX3QgcGF0aCA9IFBBVEhfVF9JTklUSUFMSVpFKCJnZXR4YXR0ciIsICJwYXRoIiwgMCwgMSk7CisgICAgcGF0aF90IGF0dHJpYnV0ZSA9IFBBVEhfVF9JTklUSUFMSVpFKCJnZXR4YXR0ciIsICJhdHRyaWJ1dGUiLCAwLCAwKTsKICAgICBpbnQgZm9sbG93X3N5bWxpbmtzID0gMTsKLSAgICBQeU9iamVjdCAqYnVmZmVyID0gTlVMTDsKLSAgICBpbnQgaTsKLSAgICBzdGF0aWMgY2hhciAqa2V5d29yZHNbXSA9IHsicGF0aCIsICJhdHRyaWJ1dGUiLCAiZm9sbG93X3N5bWxpbmtzIiwgTlVMTH07CiAKLSAgICBtZW1zZXQoJnBhdGgsIDAsIHNpemVvZihwYXRoKSk7Ci0gICAgbWVtc2V0KCZhdHRyaWJ1dGUsIDAsIHNpemVvZihhdHRyaWJ1dGUpKTsKLSAgICBwYXRoLmZ1bmN0aW9uX25hbWUgPSAiZ2V0eGF0dHIiOwotICAgIGF0dHJpYnV0ZS5mdW5jdGlvbl9uYW1lID0gImdldHhhdHRyIjsKLSAgICBwYXRoLmFsbG93X2ZkID0gMTsKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsICJPJk8mfCRwOmdldHhhdHRyIiwga2V5d29yZHMsCi0gICAgICAgIHBhdGhfY29udmVydGVyLCAmcGF0aCwKLSAgICAgICAgcGF0aF9jb252ZXJ0ZXIsICZhdHRyaWJ1dGUsCi0gICAgICAgICZmb2xsb3dfc3ltbGlua3MpKQotICAgICAgICByZXR1cm4gTlVMTDsKLQotICAgIGlmIChmZF9hbmRfZm9sbG93X3N5bWxpbmtzX2ludmFsaWQoImdldHhhdHRyIiwgcGF0aC5mZCwgZm9sbG93X3N5bWxpbmtzKSkKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsCisgICAgICAgICJPJk8mfCRwOmdldHhhdHRyIiwgX2tleXdvcmRzLAorICAgICAgICBwYXRoX2NvbnZlcnRlciwgJnBhdGgsIHBhdGhfY29udmVydGVyLCAmYXR0cmlidXRlLCAmZm9sbG93X3N5bWxpbmtzKSkKICAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IG9zX2dldHhhdHRyX2ltcGwobW9kdWxlLCAmcGF0aCwgJmF0dHJpYnV0ZSwgZm9sbG93X3N5bWxpbmtzKTsKKworZXhpdDoKKyAgICAvKiBDbGVhbnVwIGZvciBwYXRoICovCisgICAgcGF0aF9jbGVhbnVwKCZwYXRoKTsKKyAgICAvKiBDbGVhbnVwIGZvciBhdHRyaWJ1dGUgKi8KKyAgICBwYXRoX2NsZWFudXAoJmF0dHJpYnV0ZSk7CisKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorb3NfZ2V0eGF0dHJfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBwYXRoX3QgKnBhdGgsIHBhdGhfdCAqYXR0cmlidXRlLCBpbnQgZm9sbG93X3N5bWxpbmtzKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWJiYzk0NTRmZTJiOWVhODYgaW5wdXQ9OGM4ZWEzYmFiNzhkODljMl0qLworeworICAgIFB5X3NzaXplX3QgaTsKKyAgICBQeU9iamVjdCAqYnVmZmVyID0gTlVMTDsKKworICAgIGlmIChmZF9hbmRfZm9sbG93X3N5bWxpbmtzX2ludmFsaWQoImdldHhhdHRyIiwgcGF0aC0+ZmQsIGZvbGxvd19zeW1saW5rcykpCisgICAgICAgIHJldHVybiBOVUxMOwogCiAgICAgZm9yIChpID0gMDsgOyBpKyspIHsKICAgICAgICAgdm9pZCAqcHRyOwpAQCAtMTA2NDIsMzAgKzE1NzAyLDI5IEBACiAgICAgICAgIHN0YXRpYyBQeV9zc2l6ZV90IGJ1ZmZlcl9zaXplc1tdID0gezEyOCwgWEFUVFJfU0laRV9NQVgsIDB9OwogICAgICAgICBQeV9zc2l6ZV90IGJ1ZmZlcl9zaXplID0gYnVmZmVyX3NpemVzW2ldOwogICAgICAgICBpZiAoIWJ1ZmZlcl9zaXplKSB7Ci0gICAgICAgICAgICBwYXRoX2Vycm9yKCZwYXRoKTsKLSAgICAgICAgICAgIGdvdG8gZXhpdDsKKyAgICAgICAgICAgIHBhdGhfZXJyb3IocGF0aCk7CisgICAgICAgICAgICByZXR1cm4gTlVMTDsKICAgICAgICAgfQogICAgICAgICBidWZmZXIgPSBQeUJ5dGVzX0Zyb21TdHJpbmdBbmRTaXplKE5VTEwsIGJ1ZmZlcl9zaXplKTsKICAgICAgICAgaWYgKCFidWZmZXIpCi0gICAgICAgICAgICBnb3RvIGV4aXQ7CisgICAgICAgICAgICByZXR1cm4gTlVMTDsKICAgICAgICAgcHRyID0gUHlCeXRlc19BU19TVFJJTkcoYnVmZmVyKTsKIAogICAgICAgICBQeV9CRUdJTl9BTExPV19USFJFQURTOwotICAgICAgICBpZiAocGF0aC5mZCA+PSAwKQotICAgICAgICAgICAgcmVzdWx0ID0gZmdldHhhdHRyKHBhdGguZmQsIGF0dHJpYnV0ZS5uYXJyb3csIHB0ciwgYnVmZmVyX3NpemUpOworICAgICAgICBpZiAocGF0aC0+ZmQgPj0gMCkKKyAgICAgICAgICAgIHJlc3VsdCA9IGZnZXR4YXR0cihwYXRoLT5mZCwgYXR0cmlidXRlLT5uYXJyb3csIHB0ciwgYnVmZmVyX3NpemUpOwogICAgICAgICBlbHNlIGlmIChmb2xsb3dfc3ltbGlua3MpCi0gICAgICAgICAgICByZXN1bHQgPSBnZXR4YXR0cihwYXRoLm5hcnJvdywgYXR0cmlidXRlLm5hcnJvdywgcHRyLCBidWZmZXJfc2l6ZSk7CisgICAgICAgICAgICByZXN1bHQgPSBnZXR4YXR0cihwYXRoLT5uYXJyb3csIGF0dHJpYnV0ZS0+bmFycm93LCBwdHIsIGJ1ZmZlcl9zaXplKTsKICAgICAgICAgZWxzZQotICAgICAgICAgICAgcmVzdWx0ID0gbGdldHhhdHRyKHBhdGgubmFycm93LCBhdHRyaWJ1dGUubmFycm93LCBwdHIsIGJ1ZmZlcl9zaXplKTsKKyAgICAgICAgICAgIHJlc3VsdCA9IGxnZXR4YXR0cihwYXRoLT5uYXJyb3csIGF0dHJpYnV0ZS0+bmFycm93LCBwdHIsIGJ1ZmZlcl9zaXplKTsKICAgICAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFM7CiAKICAgICAgICAgaWYgKHJlc3VsdCA8IDApIHsKICAgICAgICAgICAgIFB5X0RFQ1JFRihidWZmZXIpOwotICAgICAgICAgICAgYnVmZmVyID0gTlVMTDsKICAgICAgICAgICAgIGlmIChlcnJubyA9PSBFUkFOR0UpCiAgICAgICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgICAgICBwYXRoX2Vycm9yKCZwYXRoKTsKLSAgICAgICAgICAgIGdvdG8gZXhpdDsKKyAgICAgICAgICAgIHBhdGhfZXJyb3IocGF0aCk7CisgICAgICAgICAgICByZXR1cm4gTlVMTDsKICAgICAgICAgfQogCiAgICAgICAgIGlmIChyZXN1bHQgIT0gYnVmZmVyX3NpemUpIHsKQEAgLTEwNjc1LDE2OCArMTU3MzQsMjU5IEBACiAgICAgICAgIGJyZWFrOwogICAgIH0KIAotZXhpdDoKLSAgICBwYXRoX2NsZWFudXAoJnBhdGgpOwotICAgIHBhdGhfY2xlYW51cCgmYXR0cmlidXRlKTsKICAgICByZXR1cm4gYnVmZmVyOwogfQogCi1QeURvY19TVFJWQVIocG9zaXhfc2V0eGF0dHJfX2RvY19fLAotInNldHhhdHRyKHBhdGgsIGF0dHJpYnV0ZSwgdmFsdWUsIGZsYWdzPTAsICosIGZvbGxvd19zeW1saW5rcz1UcnVlKVxuXG5cCi1TZXQgZXh0ZW5kZWQgYXR0cmlidXRlIGF0dHJpYnV0ZSBvbiBwYXRoIHRvIHZhbHVlLlxuXAotcGF0aCBtYXkgYmUgZWl0aGVyIGEgc3RyaW5nIG9yIGFuIG9wZW4gZmlsZSBkZXNjcmlwdG9yLlxuXAotSWYgZm9sbG93X3N5bWxpbmtzIGlzIEZhbHNlLCBhbmQgdGhlIGxhc3QgZWxlbWVudCBvZiB0aGUgcGF0aCBpcyBhIHN5bWJvbGljXG5cCi0gIGxpbmssIHNldHhhdHRyIHdpbGwgbW9kaWZ5IHRoZSBzeW1ib2xpYyBsaW5rIGl0c2VsZiBpbnN0ZWFkIG9mIHRoZSBmaWxlXG5cCi0gIHRoZSBsaW5rIHBvaW50cyB0by4iKTsKKworLypbY2xpbmljIGlucHV0XQorb3Muc2V0eGF0dHIKKworICAgIHBhdGg6IHBhdGhfdChhbGxvd19mZD1UcnVlKQorICAgIGF0dHJpYnV0ZTogcGF0aF90CisgICAgdmFsdWU6IFB5X2J1ZmZlcgorICAgIGZsYWdzOiBpbnQgPSAwCisgICAgKgorICAgIGZvbGxvd19zeW1saW5rczogYm9vbCA9IFRydWUKKworU2V0IGV4dGVuZGVkIGF0dHJpYnV0ZSBhdHRyaWJ1dGUgb24gcGF0aCB0byB2YWx1ZS4KKworcGF0aCBtYXkgYmUgZWl0aGVyIGEgc3RyaW5nIG9yIGFuIG9wZW4gZmlsZSBkZXNjcmlwdG9yLgorSWYgZm9sbG93X3N5bWxpbmtzIGlzIEZhbHNlLCBhbmQgdGhlIGxhc3QgZWxlbWVudCBvZiB0aGUgcGF0aCBpcyBhIHN5bWJvbGljCisgIGxpbmssIHNldHhhdHRyIHdpbGwgbW9kaWZ5IHRoZSBzeW1ib2xpYyBsaW5rIGl0c2VsZiBpbnN0ZWFkIG9mIHRoZSBmaWxlCisgIHRoZSBsaW5rIHBvaW50cyB0by4KKworW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3Nfc2V0eGF0dHJfX2RvY19fLAorInNldHhhdHRyKCRtb2R1bGUsIC8sIHBhdGgsIGF0dHJpYnV0ZSwgdmFsdWUsIGZsYWdzPTAsICosXG4iCisiICAgICAgICAgZm9sbG93X3N5bWxpbmtzPVRydWUpXG4iCisiLS1cbiIKKyJcbiIKKyJTZXQgZXh0ZW5kZWQgYXR0cmlidXRlIGF0dHJpYnV0ZSBvbiBwYXRoIHRvIHZhbHVlLlxuIgorIlxuIgorInBhdGggbWF5IGJlIGVpdGhlciBhIHN0cmluZyBvciBhbiBvcGVuIGZpbGUgZGVzY3JpcHRvci5cbiIKKyJJZiBmb2xsb3dfc3ltbGlua3MgaXMgRmFsc2UsIGFuZCB0aGUgbGFzdCBlbGVtZW50IG9mIHRoZSBwYXRoIGlzIGEgc3ltYm9saWNcbiIKKyIgIGxpbmssIHNldHhhdHRyIHdpbGwgbW9kaWZ5IHRoZSBzeW1ib2xpYyBsaW5rIGl0c2VsZiBpbnN0ZWFkIG9mIHRoZSBmaWxlXG4iCisiICB0aGUgbGluayBwb2ludHMgdG8uIik7CisKKyNkZWZpbmUgT1NfU0VUWEFUVFJfTUVUSE9EREVGICAgIFwKKyAgICB7InNldHhhdHRyIiwgKFB5Q0Z1bmN0aW9uKW9zX3NldHhhdHRyLCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywgb3Nfc2V0eGF0dHJfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X3NldHhhdHRyKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3YXJncykKK29zX3NldHhhdHRyX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgcGF0aF90ICpwYXRoLCBwYXRoX3QgKmF0dHJpYnV0ZSwgUHlfYnVmZmVyICp2YWx1ZSwgaW50IGZsYWdzLCBpbnQgZm9sbG93X3N5bWxpbmtzKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX3NldHhhdHRyKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQogewotICAgIHBhdGhfdCBwYXRoOwotICAgIHBhdGhfdCBhdHRyaWJ1dGU7Ci0gICAgUHlfYnVmZmVyIHZhbHVlOworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIHN0YXRpYyBjaGFyICpfa2V5d29yZHNbXSA9IHsicGF0aCIsICJhdHRyaWJ1dGUiLCAidmFsdWUiLCAiZmxhZ3MiLCAiZm9sbG93X3N5bWxpbmtzIiwgTlVMTH07CisgICAgcGF0aF90IHBhdGggPSBQQVRIX1RfSU5JVElBTElaRSgic2V0eGF0dHIiLCAicGF0aCIsIDAsIDEpOworICAgIHBhdGhfdCBhdHRyaWJ1dGUgPSBQQVRIX1RfSU5JVElBTElaRSgic2V0eGF0dHIiLCAiYXR0cmlidXRlIiwgMCwgMCk7CisgICAgUHlfYnVmZmVyIHZhbHVlID0ge05VTEwsIE5VTEx9OwogICAgIGludCBmbGFncyA9IDA7CiAgICAgaW50IGZvbGxvd19zeW1saW5rcyA9IDE7Ci0gICAgaW50IHJlc3VsdDsKLSAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKLSAgICBzdGF0aWMgY2hhciAqa2V5d29yZHNbXSA9IHsicGF0aCIsICJhdHRyaWJ1dGUiLCAidmFsdWUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJmbGFncyIsICJmb2xsb3dfc3ltbGlua3MiLCBOVUxMfTsKIAotICAgIG1lbXNldCgmcGF0aCwgMCwgc2l6ZW9mKHBhdGgpKTsKLSAgICBwYXRoLmZ1bmN0aW9uX25hbWUgPSAic2V0eGF0dHIiOwotICAgIHBhdGguYWxsb3dfZmQgPSAxOwotICAgIG1lbXNldCgmYXR0cmlidXRlLCAwLCBzaXplb2YoYXR0cmlidXRlKSk7Ci0gICAgbWVtc2V0KCZ2YWx1ZSwgMCwgc2l6ZW9mKHZhbHVlKSk7Ci0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLCAiTyZPJnkqfGkkcDpzZXR4YXR0ciIsCi0gICAgICAgIGtleXdvcmRzLAotICAgICAgICBwYXRoX2NvbnZlcnRlciwgJnBhdGgsCi0gICAgICAgIHBhdGhfY29udmVydGVyLCAmYXR0cmlidXRlLAotICAgICAgICAmdmFsdWUsICZmbGFncywKLSAgICAgICAgJmZvbGxvd19zeW1saW5rcykpCi0gICAgICAgIHJldHVybiBOVUxMOwotCi0gICAgaWYgKGZkX2FuZF9mb2xsb3dfc3ltbGlua3NfaW52YWxpZCgic2V0eGF0dHIiLCBwYXRoLmZkLCBmb2xsb3dfc3ltbGlua3MpKQorICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywKKyAgICAgICAgIk8mTyZ5KnxpJHA6c2V0eGF0dHIiLCBfa2V5d29yZHMsCisgICAgICAgIHBhdGhfY29udmVydGVyLCAmcGF0aCwgcGF0aF9jb252ZXJ0ZXIsICZhdHRyaWJ1dGUsICZ2YWx1ZSwgJmZsYWdzLCAmZm9sbG93X3N5bWxpbmtzKSkKICAgICAgICAgZ290byBleGl0OwotCi0gICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUzsKLSAgICBpZiAocGF0aC5mZCA+IC0xKQotICAgICAgICByZXN1bHQgPSBmc2V0eGF0dHIocGF0aC5mZCwgYXR0cmlidXRlLm5hcnJvdywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlLmJ1ZiwgdmFsdWUubGVuLCBmbGFncyk7Ci0gICAgZWxzZSBpZiAoZm9sbG93X3N5bWxpbmtzKQotICAgICAgICByZXN1bHQgPSBzZXR4YXR0cihwYXRoLm5hcnJvdywgYXR0cmlidXRlLm5hcnJvdywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlLmJ1ZiwgdmFsdWUubGVuLCBmbGFncyk7Ci0gICAgZWxzZQotICAgICAgICByZXN1bHQgPSBsc2V0eGF0dHIocGF0aC5uYXJyb3csIGF0dHJpYnV0ZS5uYXJyb3csCi0gICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZS5idWYsIHZhbHVlLmxlbiwgZmxhZ3MpOwotICAgIFB5X0VORF9BTExPV19USFJFQURTOwotCi0gICAgaWYgKHJlc3VsdCkgewotICAgICAgICByZXR1cm5fdmFsdWUgPSBwYXRoX2Vycm9yKCZwYXRoKTsKLSAgICAgICAgZ290byBleGl0OwotICAgIH0KLQotICAgIHJldHVybl92YWx1ZSA9IFB5X05vbmU7Ci0gICAgUHlfSU5DUkVGKHJldHVybl92YWx1ZSk7CisgICAgcmV0dXJuX3ZhbHVlID0gb3Nfc2V0eGF0dHJfaW1wbChtb2R1bGUsICZwYXRoLCAmYXR0cmlidXRlLCAmdmFsdWUsIGZsYWdzLCBmb2xsb3dfc3ltbGlua3MpOwogCiBleGl0OgorICAgIC8qIENsZWFudXAgZm9yIHBhdGggKi8KICAgICBwYXRoX2NsZWFudXAoJnBhdGgpOworICAgIC8qIENsZWFudXAgZm9yIGF0dHJpYnV0ZSAqLwogICAgIHBhdGhfY2xlYW51cCgmYXR0cmlidXRlKTsKLSAgICBQeUJ1ZmZlcl9SZWxlYXNlKCZ2YWx1ZSk7CisgICAgLyogQ2xlYW51cCBmb3IgdmFsdWUgKi8KKyAgICBpZiAodmFsdWUub2JqKQorICAgICAgIFB5QnVmZmVyX1JlbGVhc2UoJnZhbHVlKTsKIAogICAgIHJldHVybiByZXR1cm5fdmFsdWU7CiB9CiAKLVB5RG9jX1NUUlZBUihwb3NpeF9yZW1vdmV4YXR0cl9fZG9jX18sCi0icmVtb3ZleGF0dHIocGF0aCwgYXR0cmlidXRlLCAqLCBmb2xsb3dfc3ltbGlua3M9VHJ1ZSlcblxuXAotUmVtb3ZlIGV4dGVuZGVkIGF0dHJpYnV0ZSBhdHRyaWJ1dGUgb24gcGF0aC5cblwKLXBhdGggbWF5IGJlIGVpdGhlciBhIHN0cmluZyBvciBhbiBvcGVuIGZpbGUgZGVzY3JpcHRvci5cblwKLUlmIGZvbGxvd19zeW1saW5rcyBpcyBGYWxzZSwgYW5kIHRoZSBsYXN0IGVsZW1lbnQgb2YgdGhlIHBhdGggaXMgYSBzeW1ib2xpY1xuXAotICBsaW5rLCByZW1vdmV4YXR0ciB3aWxsIG1vZGlmeSB0aGUgc3ltYm9saWMgbGluayBpdHNlbGYgaW5zdGVhZCBvZiB0aGUgZmlsZVxuXAotICB0aGUgbGluayBwb2ludHMgdG8uIik7Ci0KIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF9yZW1vdmV4YXR0cihQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCitvc19zZXR4YXR0cl9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIHBhdGhfdCAqcGF0aCwgcGF0aF90ICphdHRyaWJ1dGUsIFB5X2J1ZmZlciAqdmFsdWUsIGludCBmbGFncywgaW50IGZvbGxvd19zeW1saW5rcykKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD0yZmY4NDVkOGUwMjRiMjE4IGlucHV0PWYwZDI2ODMzOTkyMDE1YzJdKi8KIHsKLSAgICBwYXRoX3QgcGF0aDsKLSAgICBwYXRoX3QgYXR0cmlidXRlOwotICAgIGludCBmb2xsb3dfc3ltbGlua3MgPSAxOwotICAgIGludCByZXN1bHQ7Ci0gICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7Ci0gICAgc3RhdGljIGNoYXIgKmtleXdvcmRzW10gPSB7InBhdGgiLCAiYXR0cmlidXRlIiwgImZvbGxvd19zeW1saW5rcyIsIE5VTEx9OworICAgIHNzaXplX3QgcmVzdWx0OwogCi0gICAgbWVtc2V0KCZwYXRoLCAwLCBzaXplb2YocGF0aCkpOwotICAgIHBhdGguZnVuY3Rpb25fbmFtZSA9ICJyZW1vdmV4YXR0ciI7Ci0gICAgbWVtc2V0KCZhdHRyaWJ1dGUsIDAsIHNpemVvZihhdHRyaWJ1dGUpKTsKLSAgICBhdHRyaWJ1dGUuZnVuY3Rpb25fbmFtZSA9ICJyZW1vdmV4YXR0ciI7Ci0gICAgcGF0aC5hbGxvd19mZCA9IDE7Ci0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLCAiTyZPJnwkcDpyZW1vdmV4YXR0ciIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5d29yZHMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0aF9jb252ZXJ0ZXIsICZwYXRoLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhdGhfY29udmVydGVyLCAmYXR0cmlidXRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZmb2xsb3dfc3ltbGlua3MpKQorICAgIGlmIChmZF9hbmRfZm9sbG93X3N5bWxpbmtzX2ludmFsaWQoInNldHhhdHRyIiwgcGF0aC0+ZmQsIGZvbGxvd19zeW1saW5rcykpCiAgICAgICAgIHJldHVybiBOVUxMOwogCi0gICAgaWYgKGZkX2FuZF9mb2xsb3dfc3ltbGlua3NfaW52YWxpZCgicmVtb3ZleGF0dHIiLCBwYXRoLmZkLCBmb2xsb3dfc3ltbGlua3MpKQotICAgICAgICBnb3RvIGV4aXQ7Ci0KICAgICBQeV9CRUdJTl9BTExPV19USFJFQURTOwotICAgIGlmIChwYXRoLmZkID4gLTEpCi0gICAgICAgIHJlc3VsdCA9IGZyZW1vdmV4YXR0cihwYXRoLmZkLCBhdHRyaWJ1dGUubmFycm93KTsKKyAgICBpZiAocGF0aC0+ZmQgPiAtMSkKKyAgICAgICAgcmVzdWx0ID0gZnNldHhhdHRyKHBhdGgtPmZkLCBhdHRyaWJ1dGUtPm5hcnJvdywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlLT5idWYsIHZhbHVlLT5sZW4sIGZsYWdzKTsKICAgICBlbHNlIGlmIChmb2xsb3dfc3ltbGlua3MpCi0gICAgICAgIHJlc3VsdCA9IHJlbW92ZXhhdHRyKHBhdGgubmFycm93LCBhdHRyaWJ1dGUubmFycm93KTsKKyAgICAgICAgcmVzdWx0ID0gc2V0eGF0dHIocGF0aC0+bmFycm93LCBhdHRyaWJ1dGUtPm5hcnJvdywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlLT5idWYsIHZhbHVlLT5sZW4sIGZsYWdzKTsKICAgICBlbHNlCi0gICAgICAgIHJlc3VsdCA9IGxyZW1vdmV4YXR0cihwYXRoLm5hcnJvdywgYXR0cmlidXRlLm5hcnJvdyk7CisgICAgICAgIHJlc3VsdCA9IGxzZXR4YXR0cihwYXRoLT5uYXJyb3csIGF0dHJpYnV0ZS0+bmFycm93LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUtPmJ1ZiwgdmFsdWUtPmxlbiwgZmxhZ3MpOwogICAgIFB5X0VORF9BTExPV19USFJFQURTOwogCiAgICAgaWYgKHJlc3VsdCkgewotICAgICAgICByZXR1cm5fdmFsdWUgPSBwYXRoX2Vycm9yKCZwYXRoKTsKLSAgICAgICAgZ290byBleGl0OworICAgICAgICBwYXRoX2Vycm9yKHBhdGgpOworICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CiAKLSAgICByZXR1cm5fdmFsdWUgPSBQeV9Ob25lOwotICAgIFB5X0lOQ1JFRihyZXR1cm5fdmFsdWUpOworICAgIFB5X1JFVFVSTl9OT05FOworfQorCisKKy8qW2NsaW5pYyBpbnB1dF0KK29zLnJlbW92ZXhhdHRyCisKKyAgICBwYXRoOiBwYXRoX3QoYWxsb3dfZmQ9VHJ1ZSkKKyAgICBhdHRyaWJ1dGU6IHBhdGhfdAorICAgICoKKyAgICBmb2xsb3dfc3ltbGlua3M6IGJvb2wgPSBUcnVlCisKK1JlbW92ZSBleHRlbmRlZCBhdHRyaWJ1dGUgYXR0cmlidXRlIG9uIHBhdGguCisKK3BhdGggbWF5IGJlIGVpdGhlciBhIHN0cmluZyBvciBhbiBvcGVuIGZpbGUgZGVzY3JpcHRvci4KK0lmIGZvbGxvd19zeW1saW5rcyBpcyBGYWxzZSwgYW5kIHRoZSBsYXN0IGVsZW1lbnQgb2YgdGhlIHBhdGggaXMgYSBzeW1ib2xpYworICBsaW5rLCByZW1vdmV4YXR0ciB3aWxsIG1vZGlmeSB0aGUgc3ltYm9saWMgbGluayBpdHNlbGYgaW5zdGVhZCBvZiB0aGUgZmlsZQorICB0aGUgbGluayBwb2ludHMgdG8uCisKK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX3JlbW92ZXhhdHRyX19kb2NfXywKKyJyZW1vdmV4YXR0cigkbW9kdWxlLCAvLCBwYXRoLCBhdHRyaWJ1dGUsICosIGZvbGxvd19zeW1saW5rcz1UcnVlKVxuIgorIi0tXG4iCisiXG4iCisiUmVtb3ZlIGV4dGVuZGVkIGF0dHJpYnV0ZSBhdHRyaWJ1dGUgb24gcGF0aC5cbiIKKyJcbiIKKyJwYXRoIG1heSBiZSBlaXRoZXIgYSBzdHJpbmcgb3IgYW4gb3BlbiBmaWxlIGRlc2NyaXB0b3IuXG4iCisiSWYgZm9sbG93X3N5bWxpbmtzIGlzIEZhbHNlLCBhbmQgdGhlIGxhc3QgZWxlbWVudCBvZiB0aGUgcGF0aCBpcyBhIHN5bWJvbGljXG4iCisiICBsaW5rLCByZW1vdmV4YXR0ciB3aWxsIG1vZGlmeSB0aGUgc3ltYm9saWMgbGluayBpdHNlbGYgaW5zdGVhZCBvZiB0aGUgZmlsZVxuIgorIiAgdGhlIGxpbmsgcG9pbnRzIHRvLiIpOworCisjZGVmaW5lIE9TX1JFTU9WRVhBVFRSX01FVEhPRERFRiAgICBcCisgICAgeyJyZW1vdmV4YXR0ciIsIChQeUNGdW5jdGlvbilvc19yZW1vdmV4YXR0ciwgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsIG9zX3JlbW92ZXhhdHRyX19kb2NfX30sCisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19yZW1vdmV4YXR0cl9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIHBhdGhfdCAqcGF0aCwgcGF0aF90ICphdHRyaWJ1dGUsIGludCBmb2xsb3dfc3ltbGlua3MpOworCitzdGF0aWMgUHlPYmplY3QgKgorb3NfcmVtb3ZleGF0dHIoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCit7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgc3RhdGljIGNoYXIgKl9rZXl3b3Jkc1tdID0geyJwYXRoIiwgImF0dHJpYnV0ZSIsICJmb2xsb3dfc3ltbGlua3MiLCBOVUxMfTsKKyAgICBwYXRoX3QgcGF0aCA9IFBBVEhfVF9JTklUSUFMSVpFKCJyZW1vdmV4YXR0ciIsICJwYXRoIiwgMCwgMSk7CisgICAgcGF0aF90IGF0dHJpYnV0ZSA9IFBBVEhfVF9JTklUSUFMSVpFKCJyZW1vdmV4YXR0ciIsICJhdHRyaWJ1dGUiLCAwLCAwKTsKKyAgICBpbnQgZm9sbG93X3N5bWxpbmtzID0gMTsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywKKyAgICAgICAgIk8mTyZ8JHA6cmVtb3ZleGF0dHIiLCBfa2V5d29yZHMsCisgICAgICAgIHBhdGhfY29udmVydGVyLCAmcGF0aCwgcGF0aF9jb252ZXJ0ZXIsICZhdHRyaWJ1dGUsICZmb2xsb3dfc3ltbGlua3MpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gb3NfcmVtb3ZleGF0dHJfaW1wbChtb2R1bGUsICZwYXRoLCAmYXR0cmlidXRlLCBmb2xsb3dfc3ltbGlua3MpOwogCiBleGl0OgorICAgIC8qIENsZWFudXAgZm9yIHBhdGggKi8KICAgICBwYXRoX2NsZWFudXAoJnBhdGgpOworICAgIC8qIENsZWFudXAgZm9yIGF0dHJpYnV0ZSAqLwogICAgIHBhdGhfY2xlYW51cCgmYXR0cmlidXRlKTsKIAogICAgIHJldHVybiByZXR1cm5fdmFsdWU7CiB9CiAKLVB5RG9jX1NUUlZBUihwb3NpeF9saXN0eGF0dHJfX2RvY19fLAotImxpc3R4YXR0cihwYXRoPScuJywgKiwgZm9sbG93X3N5bWxpbmtzPVRydWUpXG5cblwKLVJldHVybiBhIGxpc3Qgb2YgZXh0ZW5kZWQgYXR0cmlidXRlcyBvbiBwYXRoLlxuXAotXG5cCi1wYXRoIG1heSBiZSBlaXRoZXIgTm9uZSwgYSBzdHJpbmcsIG9yIGFuIG9wZW4gZmlsZSBkZXNjcmlwdG9yLlxuXAotaWYgcGF0aCBpcyBOb25lLCBsaXN0eGF0dHIgd2lsbCBleGFtaW5lIHRoZSBjdXJyZW50IGRpcmVjdG9yeS5cblwKLUlmIGZvbGxvd19zeW1saW5rcyBpcyBGYWxzZSwgYW5kIHRoZSBsYXN0IGVsZW1lbnQgb2YgdGhlIHBhdGggaXMgYSBzeW1ib2xpY1xuXAotICBsaW5rLCBsaXN0eGF0dHIgd2lsbCBleGFtaW5lIHRoZSBzeW1ib2xpYyBsaW5rIGl0c2VsZiBpbnN0ZWFkIG9mIHRoZSBmaWxlXG5cCi0gIHRoZSBsaW5rIHBvaW50cyB0by4iKTsKK3N0YXRpYyBQeU9iamVjdCAqCitvc19yZW1vdmV4YXR0cl9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIHBhdGhfdCAqcGF0aCwgcGF0aF90ICphdHRyaWJ1dGUsIGludCBmb2xsb3dfc3ltbGlua3MpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9OGRmYzcxNWJmNjA3YzRjZiBpbnB1dD1jZGI1NDgzNDE2MWUzMzI5XSovCit7CisgICAgc3NpemVfdCByZXN1bHQ7CisKKyAgICBpZiAoZmRfYW5kX2ZvbGxvd19zeW1saW5rc19pbnZhbGlkKCJyZW1vdmV4YXR0ciIsIHBhdGgtPmZkLCBmb2xsb3dfc3ltbGlua3MpKQorICAgICAgICByZXR1cm4gTlVMTDsKKworICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFM7CisgICAgaWYgKHBhdGgtPmZkID4gLTEpCisgICAgICAgIHJlc3VsdCA9IGZyZW1vdmV4YXR0cihwYXRoLT5mZCwgYXR0cmlidXRlLT5uYXJyb3cpOworICAgIGVsc2UgaWYgKGZvbGxvd19zeW1saW5rcykKKyAgICAgICAgcmVzdWx0ID0gcmVtb3ZleGF0dHIocGF0aC0+bmFycm93LCBhdHRyaWJ1dGUtPm5hcnJvdyk7CisgICAgZWxzZQorICAgICAgICByZXN1bHQgPSBscmVtb3ZleGF0dHIocGF0aC0+bmFycm93LCBhdHRyaWJ1dGUtPm5hcnJvdyk7CisgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFM7CisKKyAgICBpZiAocmVzdWx0KSB7CisgICAgICAgIHJldHVybiBwYXRoX2Vycm9yKHBhdGgpOworICAgIH0KKworICAgIFB5X1JFVFVSTl9OT05FOworfQorCisKKy8qW2NsaW5pYyBpbnB1dF0KK29zLmxpc3R4YXR0cgorCisgICAgcGF0aDogcGF0aF90KGFsbG93X2ZkPVRydWUsIG51bGxhYmxlPVRydWUpID0gTm9uZQorICAgICoKKyAgICBmb2xsb3dfc3ltbGlua3M6IGJvb2wgPSBUcnVlCisKK1JldHVybiBhIGxpc3Qgb2YgZXh0ZW5kZWQgYXR0cmlidXRlcyBvbiBwYXRoLgorCitwYXRoIG1heSBiZSBlaXRoZXIgTm9uZSwgYSBzdHJpbmcsIG9yIGFuIG9wZW4gZmlsZSBkZXNjcmlwdG9yLgoraWYgcGF0aCBpcyBOb25lLCBsaXN0eGF0dHIgd2lsbCBleGFtaW5lIHRoZSBjdXJyZW50IGRpcmVjdG9yeS4KK0lmIGZvbGxvd19zeW1saW5rcyBpcyBGYWxzZSwgYW5kIHRoZSBsYXN0IGVsZW1lbnQgb2YgdGhlIHBhdGggaXMgYSBzeW1ib2xpYworICBsaW5rLCBsaXN0eGF0dHIgd2lsbCBleGFtaW5lIHRoZSBzeW1ib2xpYyBsaW5rIGl0c2VsZiBpbnN0ZWFkIG9mIHRoZSBmaWxlCisgIHRoZSBsaW5rIHBvaW50cyB0by4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX2xpc3R4YXR0cl9fZG9jX18sCisibGlzdHhhdHRyKCRtb2R1bGUsIC8sIHBhdGg9Tm9uZSwgKiwgZm9sbG93X3N5bWxpbmtzPVRydWUpXG4iCisiLS1cbiIKKyJcbiIKKyJSZXR1cm4gYSBsaXN0IG9mIGV4dGVuZGVkIGF0dHJpYnV0ZXMgb24gcGF0aC5cbiIKKyJcbiIKKyJwYXRoIG1heSBiZSBlaXRoZXIgTm9uZSwgYSBzdHJpbmcsIG9yIGFuIG9wZW4gZmlsZSBkZXNjcmlwdG9yLlxuIgorImlmIHBhdGggaXMgTm9uZSwgbGlzdHhhdHRyIHdpbGwgZXhhbWluZSB0aGUgY3VycmVudCBkaXJlY3RvcnkuXG4iCisiSWYgZm9sbG93X3N5bWxpbmtzIGlzIEZhbHNlLCBhbmQgdGhlIGxhc3QgZWxlbWVudCBvZiB0aGUgcGF0aCBpcyBhIHN5bWJvbGljXG4iCisiICBsaW5rLCBsaXN0eGF0dHIgd2lsbCBleGFtaW5lIHRoZSBzeW1ib2xpYyBsaW5rIGl0c2VsZiBpbnN0ZWFkIG9mIHRoZSBmaWxlXG4iCisiICB0aGUgbGluayBwb2ludHMgdG8uIik7CisKKyNkZWZpbmUgT1NfTElTVFhBVFRSX01FVEhPRERFRiAgICBcCisgICAgeyJsaXN0eGF0dHIiLCAoUHlDRnVuY3Rpb24pb3NfbGlzdHhhdHRyLCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywgb3NfbGlzdHhhdHRyX19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF9saXN0eGF0dHIoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQorb3NfbGlzdHhhdHRyX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgcGF0aF90ICpwYXRoLCBpbnQgZm9sbG93X3N5bWxpbmtzKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX2xpc3R4YXR0cihQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3YXJncykKIHsKLSAgICBwYXRoX3QgcGF0aDsKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBzdGF0aWMgY2hhciAqX2tleXdvcmRzW10gPSB7InBhdGgiLCAiZm9sbG93X3N5bWxpbmtzIiwgTlVMTH07CisgICAgcGF0aF90IHBhdGggPSBQQVRIX1RfSU5JVElBTElaRSgibGlzdHhhdHRyIiwgInBhdGgiLCAxLCAxKTsKICAgICBpbnQgZm9sbG93X3N5bWxpbmtzID0gMTsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywKKyAgICAgICAgInxPJiRwOmxpc3R4YXR0ciIsIF9rZXl3b3JkcywKKyAgICAgICAgcGF0aF9jb252ZXJ0ZXIsICZwYXRoLCAmZm9sbG93X3N5bWxpbmtzKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IG9zX2xpc3R4YXR0cl9pbXBsKG1vZHVsZSwgJnBhdGgsIGZvbGxvd19zeW1saW5rcyk7CisKK2V4aXQ6CisgICAgLyogQ2xlYW51cCBmb3IgcGF0aCAqLworICAgIHBhdGhfY2xlYW51cCgmcGF0aCk7CisKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorb3NfbGlzdHhhdHRyX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgcGF0aF90ICpwYXRoLCBpbnQgZm9sbG93X3N5bWxpbmtzKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTMxMDRjYWZkYTFhM2Q4ODcgaW5wdXQ9MDhjY2E1M2FjMGIwN2MxM10qLworewogICAgIFB5X3NzaXplX3QgaTsKICAgICBQeU9iamVjdCAqcmVzdWx0ID0gTlVMTDsKKyAgICBjb25zdCBjaGFyICpuYW1lOwogICAgIGNoYXIgKmJ1ZmZlciA9IE5VTEw7Ci0gICAgY2hhciAqbmFtZTsKLSAgICBzdGF0aWMgY2hhciAqa2V5d29yZHNbXSA9IHsicGF0aCIsICJmb2xsb3dfc3ltbGlua3MiLCBOVUxMfTsKIAotICAgIG1lbXNldCgmcGF0aCwgMCwgc2l6ZW9mKHBhdGgpKTsKLSAgICBwYXRoLmZ1bmN0aW9uX25hbWUgPSAibGlzdHhhdHRyIjsKLSAgICBwYXRoLmFsbG93X2ZkID0gMTsKLSAgICBwYXRoLmZkID0gLTE7Ci0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLCAifE8mJHA6bGlzdHhhdHRyIiwga2V5d29yZHMsCi0gICAgICAgIHBhdGhfY29udmVydGVyLCAmcGF0aCwKLSAgICAgICAgJmZvbGxvd19zeW1saW5rcykpCi0gICAgICAgIHJldHVybiBOVUxMOwotCi0gICAgaWYgKGZkX2FuZF9mb2xsb3dfc3ltbGlua3NfaW52YWxpZCgibGlzdHhhdHRyIiwgcGF0aC5mZCwgZm9sbG93X3N5bWxpbmtzKSkKKyAgICBpZiAoZmRfYW5kX2ZvbGxvd19zeW1saW5rc19pbnZhbGlkKCJsaXN0eGF0dHIiLCBwYXRoLT5mZCwgZm9sbG93X3N5bWxpbmtzKSkKICAgICAgICAgZ290byBleGl0OwogCi0gICAgbmFtZSA9IHBhdGgubmFycm93ID8gcGF0aC5uYXJyb3cgOiAiLiI7CisgICAgbmFtZSA9IHBhdGgtPm5hcnJvdyA/IHBhdGgtPm5hcnJvdyA6ICIuIjsKKwogICAgIGZvciAoaSA9IDA7IDsgaSsrKSB7CiAgICAgICAgIGNoYXIgKnN0YXJ0LCAqdHJhY2UsICplbmQ7CiAgICAgICAgIHNzaXplX3QgbGVuZ3RoOwpAQCAtMTA4NDQsNyArMTU5OTQsNyBAQAogICAgICAgICBQeV9zc2l6ZV90IGJ1ZmZlcl9zaXplID0gYnVmZmVyX3NpemVzW2ldOwogICAgICAgICBpZiAoIWJ1ZmZlcl9zaXplKSB7CiAgICAgICAgICAgICAvKiBFUkFOR0UgKi8KLSAgICAgICAgICAgIHBhdGhfZXJyb3IoJnBhdGgpOworICAgICAgICAgICAgcGF0aF9lcnJvcihwYXRoKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAgICAgICAgIGJ1ZmZlciA9IFB5TWVtX01BTExPQyhidWZmZXJfc2l6ZSk7CkBAIC0xMDg1NCw4ICsxNjAwNCw4IEBACiAgICAgICAgIH0KIAogICAgICAgICBQeV9CRUdJTl9BTExPV19USFJFQURTOwotICAgICAgICBpZiAocGF0aC5mZCA+IC0xKQotICAgICAgICAgICAgbGVuZ3RoID0gZmxpc3R4YXR0cihwYXRoLmZkLCBidWZmZXIsIGJ1ZmZlcl9zaXplKTsKKyAgICAgICAgaWYgKHBhdGgtPmZkID4gLTEpCisgICAgICAgICAgICBsZW5ndGggPSBmbGlzdHhhdHRyKHBhdGgtPmZkLCBidWZmZXIsIGJ1ZmZlcl9zaXplKTsKICAgICAgICAgZWxzZSBpZiAoZm9sbG93X3N5bWxpbmtzKQogICAgICAgICAgICAgbGVuZ3RoID0gbGlzdHhhdHRyKG5hbWUsIGJ1ZmZlciwgYnVmZmVyX3NpemUpOwogICAgICAgICBlbHNlCkBAIC0xMDg2OCw3ICsxNjAxOCw3IEBACiAgICAgICAgICAgICAgICAgYnVmZmVyID0gTlVMTDsKICAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIHBhdGhfZXJyb3IoJnBhdGgpOworICAgICAgICAgICAgcGF0aF9lcnJvcihwYXRoKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAKQEAgLTEwOTAxLDQzICsxNjA1MSw3MSBAQAogICAgIGJyZWFrOwogICAgIH0KIGV4aXQ6Ci0gICAgcGF0aF9jbGVhbnVwKCZwYXRoKTsKICAgICBpZiAoYnVmZmVyKQogICAgICAgICBQeU1lbV9GUkVFKGJ1ZmZlcik7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLQogI2VuZGlmIC8qIFVTRV9YQVRUUlMgKi8KIAogCi1QeURvY19TVFJWQVIocG9zaXhfdXJhbmRvbV9fZG9jX18sCi0idXJhbmRvbShuKSAtPiBzdHJcblxuXAotUmV0dXJuIG4gcmFuZG9tIGJ5dGVzIHN1aXRhYmxlIGZvciBjcnlwdG9ncmFwaGljIHVzZS4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK29zLnVyYW5kb20KKworICAgIHNpemU6IFB5X3NzaXplX3QKKyAgICAvCisKK1JldHVybiBhIGJ5dGVzIG9iamVjdCBjb250YWluaW5nIHJhbmRvbSBieXRlcyBzdWl0YWJsZSBmb3IgY3J5cHRvZ3JhcGhpYyB1c2UuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc191cmFuZG9tX19kb2NfXywKKyJ1cmFuZG9tKCRtb2R1bGUsIHNpemUsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJSZXR1cm4gYSBieXRlcyBvYmplY3QgY29udGFpbmluZyByYW5kb20gYnl0ZXMgc3VpdGFibGUgZm9yIGNyeXB0b2dyYXBoaWMgdXNlLiIpOworCisjZGVmaW5lIE9TX1VSQU5ET01fTUVUSE9EREVGICAgIFwKKyAgICB7InVyYW5kb20iLCAoUHlDRnVuY3Rpb24pb3NfdXJhbmRvbSwgTUVUSF9WQVJBUkdTLCBvc191cmFuZG9tX19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF91cmFuZG9tKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKLXsKLSAgICBQeV9zc2l6ZV90IHNpemU7Ci0gICAgUHlPYmplY3QgKnJlc3VsdDsKLSAgICBpbnQgcmV0Oworb3NfdXJhbmRvbV9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5X3NzaXplX3Qgc2l6ZSk7CiAKLSAgICAgLyogUmVhZCBhcmd1bWVudHMgKi8KLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgIm46dXJhbmRvbSIsICZzaXplKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7CitzdGF0aWMgUHlPYmplY3QgKgorb3NfdXJhbmRvbShQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncykKK3sKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBQeV9zc2l6ZV90IHNpemU7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgIm46dXJhbmRvbSIsCisgICAgICAgICZzaXplKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IG9zX3VyYW5kb21faW1wbChtb2R1bGUsIHNpemUpOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc191cmFuZG9tX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlfc3NpemVfdCBzaXplKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTVkYmZmNTgyY2FiOTRjYjkgaW5wdXQ9NDA2N2NkYjFiNjc3NmMyOV0qLworeworICAgIFB5T2JqZWN0ICpieXRlczsKKyAgICBpbnQgcmVzdWx0OworCiAgICAgaWYgKHNpemUgPCAwKQogICAgICAgICByZXR1cm4gUHlFcnJfRm9ybWF0KFB5RXhjX1ZhbHVlRXJyb3IsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5lZ2F0aXZlIGFyZ3VtZW50IG5vdCBhbGxvd2VkIik7Ci0gICAgcmVzdWx0ID0gUHlCeXRlc19Gcm9tU3RyaW5nQW5kU2l6ZShOVUxMLCBzaXplKTsKLSAgICBpZiAocmVzdWx0ID09IE5VTEwpCisgICAgYnl0ZXMgPSBQeUJ5dGVzX0Zyb21TdHJpbmdBbmRTaXplKE5VTEwsIHNpemUpOworICAgIGlmIChieXRlcyA9PSBOVUxMKQogICAgICAgICByZXR1cm4gTlVMTDsKIAotICAgIHJldCA9IF9QeU9TX1VSYW5kb20oUHlCeXRlc19BU19TVFJJTkcocmVzdWx0KSwKLSAgICAgICAgICAgICAgICAgICAgICAgIFB5Qnl0ZXNfR0VUX1NJWkUocmVzdWx0KSk7Ci0gICAgaWYgKHJldCA9PSAtMSkgewotICAgICAgICBQeV9ERUNSRUYocmVzdWx0KTsKKyAgICByZXN1bHQgPSBfUHlPU19VUmFuZG9tKFB5Qnl0ZXNfQVNfU1RSSU5HKGJ5dGVzKSwKKyAgICAgICAgICAgICAgICAgICAgICAgIFB5Qnl0ZXNfR0VUX1NJWkUoYnl0ZXMpKTsKKyAgICBpZiAocmVzdWx0ID09IC0xKSB7CisgICAgICAgIFB5X0RFQ1JFRihieXRlcyk7CiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KLSAgICByZXR1cm4gcmVzdWx0OworICAgIHJldHVybiBieXRlczsKIH0KIAogLyogVGVybWluYWwgc2l6ZSBxdWVyeWluZyAqLwpAQCAtMTA5NjEsNiArMTYxMzksNyBAQAogfTsKIAogI2lmIGRlZmluZWQoVEVSTVNJWkVfVVNFX0NPTklPKSB8fCBkZWZpbmVkKFRFUk1TSVpFX1VTRV9JT0NUTCkKKy8qIEFDIDMuNTogZmQgc2hvdWxkIGFjY2VwdCBOb25lICovCiBQeURvY19TVFJWQVIodGVybXNpemVfX2RvY19fLAogICAgICJSZXR1cm4gdGhlIHNpemUgb2YgdGhlIHRlcm1pbmFsIHdpbmRvdyBhcyAoY29sdW1ucywgbGluZXMpLlxuIiAgICAgICAgXAogICAgICJcbiIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXApAQCAtMTEwNDYsMTMgKzE2MjI1LDM0IEBACiB9CiAjZW5kaWYgLyogZGVmaW5lZChURVJNU0laRV9VU0VfQ09OSU8pIHx8IGRlZmluZWQoVEVSTVNJWkVfVVNFX0lPQ1RMKSAqLwogCi1QeURvY19TVFJWQVIocG9zaXhfY3B1X2NvdW50X19kb2NfXywKLSJjcHVfY291bnQoKSAtPiBpbnRlZ2VyXG5cblwKLVJldHVybiB0aGUgbnVtYmVyIG9mIENQVXMgaW4gdGhlIHN5c3RlbSwgb3IgTm9uZSBpZiB0aGlzIHZhbHVlIGNhbm5vdCBiZVxuXAotZXN0YWJsaXNoZWQuIik7CisKKy8qW2NsaW5pYyBpbnB1dF0KK29zLmNwdV9jb3VudAorCitSZXR1cm4gdGhlIG51bWJlciBvZiBDUFVzIGluIHRoZSBzeXN0ZW07IHJldHVybiBOb25lIGlmIGluZGV0ZXJtaW5hYmxlLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3NfY3B1X2NvdW50X19kb2NfXywKKyJjcHVfY291bnQoJG1vZHVsZSwgLylcbiIKKyItLVxuIgorIlxuIgorIlJldHVybiB0aGUgbnVtYmVyIG9mIENQVXMgaW4gdGhlIHN5c3RlbTsgcmV0dXJuIE5vbmUgaWYgaW5kZXRlcm1pbmFibGUuIik7CisKKyNkZWZpbmUgT1NfQ1BVX0NPVU5UX01FVEhPRERFRiAgICBcCisgICAgeyJjcHVfY291bnQiLCAoUHlDRnVuY3Rpb24pb3NfY3B1X2NvdW50LCBNRVRIX05PQVJHUywgb3NfY3B1X2NvdW50X19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF9jcHVfY291bnQoUHlPYmplY3QgKnNlbGYpCitvc19jcHVfY291bnRfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK29zX2NwdV9jb3VudChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqUHlfVU5VU0VEKGlnbm9yZWQpKQoreworICAgIHJldHVybiBvc19jcHVfY291bnRfaW1wbChtb2R1bGUpOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorb3NfY3B1X2NvdW50X2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD05MmUyYTRhNzI5ZWI3NzQwIGlucHV0PWQ1NWUyZjhmMzgyM2E2MjhdKi8KIHsKICAgICBpbnQgbmNwdSA9IDA7CiAjaWZkZWYgTVNfV0lORE9XUwpAQCAtMTEwODEsNDIgKzE2MjgxLDEwMyBAQAogICAgICAgICBQeV9SRVRVUk5fTk9ORTsKIH0KIAotUHlEb2NfU1RSVkFSKGdldF9pbmhlcml0YWJsZV9fZG9jX18sCi0gICAgImdldF9pbmhlcml0YWJsZShmZCkgLT4gYm9vbFxuIiBcCi0gICAgIlxuIiBcCi0gICAgIkdldCB0aGUgY2xvc2Utb24tZXhlIGZsYWcgb2YgdGhlIHNwZWNpZmllZCBmaWxlIGRlc2NyaXB0b3IuIik7CiAKLXN0YXRpYyBQeU9iamVjdCoKLXBvc2l4X2dldF9pbmhlcml0YWJsZShQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCisvKltjbGluaWMgaW5wdXRdCitvcy5nZXRfaW5oZXJpdGFibGUgLT4gYm9vbAorCisgICAgZmQ6IGludAorICAgIC8KKworR2V0IHRoZSBjbG9zZS1vbi1leGUgZmxhZyBvZiB0aGUgc3BlY2lmaWVkIGZpbGUgZGVzY3JpcHRvci4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKG9zX2dldF9pbmhlcml0YWJsZV9fZG9jX18sCisiZ2V0X2luaGVyaXRhYmxlKCRtb2R1bGUsIGZkLCAvKVxuIgorIi0tXG4iCisiXG4iCisiR2V0IHRoZSBjbG9zZS1vbi1leGUgZmxhZyBvZiB0aGUgc3BlY2lmaWVkIGZpbGUgZGVzY3JpcHRvci4iKTsKKworI2RlZmluZSBPU19HRVRfSU5IRVJJVEFCTEVfTUVUSE9EREVGICAgIFwKKyAgICB7ImdldF9pbmhlcml0YWJsZSIsIChQeUNGdW5jdGlvbilvc19nZXRfaW5oZXJpdGFibGUsIE1FVEhfVkFSQVJHUywgb3NfZ2V0X2luaGVyaXRhYmxlX19kb2NfX30sCisKK3N0YXRpYyBpbnQKK29zX2dldF9pbmhlcml0YWJsZV9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGludCBmZCk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19nZXRfaW5oZXJpdGFibGUoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MpCiB7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgaW50IGZkOworICAgIGludCBfcmV0dXJuX3ZhbHVlOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCisgICAgICAgICJpOmdldF9pbmhlcml0YWJsZSIsCisgICAgICAgICZmZCkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICBfcmV0dXJuX3ZhbHVlID0gb3NfZ2V0X2luaGVyaXRhYmxlX2ltcGwobW9kdWxlLCBmZCk7CisgICAgaWYgKChfcmV0dXJuX3ZhbHVlID09IC0xKSAmJiBQeUVycl9PY2N1cnJlZCgpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gUHlCb29sX0Zyb21Mb25nKChsb25nKV9yZXR1cm5fdmFsdWUpOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBpbnQKK29zX2dldF9pbmhlcml0YWJsZV9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGludCBmZCkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD0yNjFkMWRkMmIwZGJkYzM1IGlucHV0PTg5YWMwMDhkYzlhYjZiOTVdKi8KK3sKKyAgICBpZiAoIV9QeVZlcmlmeV9mZChmZCkpeworICAgICAgICBwb3NpeF9lcnJvcigpOworICAgICAgICByZXR1cm4gLTE7CisgICAgfQorCisgICAgcmV0dXJuIF9QeV9nZXRfaW5oZXJpdGFibGUoZmQpOworfQorCisKKy8qW2NsaW5pYyBpbnB1dF0KK29zLnNldF9pbmhlcml0YWJsZQorICAgIGZkOiBpbnQKKyAgICBpbmhlcml0YWJsZTogaW50CisgICAgLworCitTZXQgdGhlIGluaGVyaXRhYmxlIGZsYWcgb2YgdGhlIHNwZWNpZmllZCBmaWxlIGRlc2NyaXB0b3IuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19zZXRfaW5oZXJpdGFibGVfX2RvY19fLAorInNldF9pbmhlcml0YWJsZSgkbW9kdWxlLCBmZCwgaW5oZXJpdGFibGUsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJTZXQgdGhlIGluaGVyaXRhYmxlIGZsYWcgb2YgdGhlIHNwZWNpZmllZCBmaWxlIGRlc2NyaXB0b3IuIik7CisKKyNkZWZpbmUgT1NfU0VUX0lOSEVSSVRBQkxFX01FVEhPRERFRiAgICBcCisgICAgeyJzZXRfaW5oZXJpdGFibGUiLCAoUHlDRnVuY3Rpb24pb3Nfc2V0X2luaGVyaXRhYmxlLCBNRVRIX1ZBUkFSR1MsIG9zX3NldF9pbmhlcml0YWJsZV9fZG9jX199LAorCitzdGF0aWMgUHlPYmplY3QgKgorb3Nfc2V0X2luaGVyaXRhYmxlX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgaW50IGZkLCBpbnQgaW5oZXJpdGFibGUpOworCitzdGF0aWMgUHlPYmplY3QgKgorb3Nfc2V0X2luaGVyaXRhYmxlKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzKQoreworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOwogICAgIGludCBmZDsKICAgICBpbnQgaW5oZXJpdGFibGU7CiAKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgImk6Z2V0X2luaGVyaXRhYmxlIiwgJmZkKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCisgICAgICAgICJpaTpzZXRfaW5oZXJpdGFibGUiLAorICAgICAgICAmZmQsICZpbmhlcml0YWJsZSkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBvc19zZXRfaW5oZXJpdGFibGVfaW1wbChtb2R1bGUsIGZkLCBpbmhlcml0YWJsZSk7CiAKLSAgICBpZiAoIV9QeVZlcmlmeV9mZChmZCkpCi0gICAgICAgIHJldHVybiBwb3NpeF9lcnJvcigpOwotCi0gICAgaW5oZXJpdGFibGUgPSBfUHlfZ2V0X2luaGVyaXRhYmxlKGZkKTsKLSAgICBpZiAoaW5oZXJpdGFibGUgPCAwKQotICAgICAgICByZXR1cm4gTlVMTDsKLSAgICByZXR1cm4gUHlCb29sX0Zyb21Mb25nKGluaGVyaXRhYmxlKTsKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKIH0KIAotUHlEb2NfU1RSVkFSKHNldF9pbmhlcml0YWJsZV9fZG9jX18sCi0gICAgInNldF9pbmhlcml0YWJsZShmZCwgaW5oZXJpdGFibGUpXG4iIFwKLSAgICAiXG4iIFwKLSAgICAiU2V0IHRoZSBpbmhlcml0YWJsZSBmbGFnIG9mIHRoZSBzcGVjaWZpZWQgZmlsZSBkZXNjcmlwdG9yLiIpOwotCi1zdGF0aWMgUHlPYmplY3QqCi1wb3NpeF9zZXRfaW5oZXJpdGFibGUoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQorc3RhdGljIFB5T2JqZWN0ICoKK29zX3NldF9pbmhlcml0YWJsZV9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGludCBmZCwgaW50IGluaGVyaXRhYmxlKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTY0ZGZlNWUxNWM5MDY1MzkgaW5wdXQ9OWNlYWVhZDg3YTFlMjQwMl0qLwogewotICAgIGludCBmZCwgaW5oZXJpdGFibGU7Ci0KLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgImlpOnNldF9pbmhlcml0YWJsZSIsICZmZCwgJmluaGVyaXRhYmxlKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0KICAgICBpZiAoIV9QeVZlcmlmeV9mZChmZCkpCiAgICAgICAgIHJldHVybiBwb3NpeF9lcnJvcigpOwogCkBAIC0xMTEyNyw1NSArMTYzODgsMTYwIEBACiAKIAogI2lmZGVmIE1TX1dJTkRPV1MKLVB5RG9jX1NUUlZBUihnZXRfaGFuZGxlX2luaGVyaXRhYmxlX19kb2NfXywKLSAgICAiZ2V0X2hhbmRsZV9pbmhlcml0YWJsZShmZCkgLT4gYm9vbFxuIiBcCi0gICAgIlxuIiBcCi0gICAgIkdldCB0aGUgY2xvc2Utb24tZXhlIGZsYWcgb2YgdGhlIHNwZWNpZmllZCBmaWxlIGRlc2NyaXB0b3IuIik7CisvKltjbGluaWMgaW5wdXRdCitvcy5nZXRfaGFuZGxlX2luaGVyaXRhYmxlIC0+IGJvb2wKKyAgICBoYW5kbGU6IFB5X2ludHB0cl90CisgICAgLwogCi1zdGF0aWMgUHlPYmplY3QqCi1wb3NpeF9nZXRfaGFuZGxlX2luaGVyaXRhYmxlKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK0dldCB0aGUgY2xvc2Utb24tZXhlIGZsYWcgb2YgdGhlIHNwZWNpZmllZCBmaWxlIGRlc2NyaXB0b3IuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihvc19nZXRfaGFuZGxlX2luaGVyaXRhYmxlX19kb2NfXywKKyJnZXRfaGFuZGxlX2luaGVyaXRhYmxlKCRtb2R1bGUsIGhhbmRsZSwgLylcbiIKKyItLVxuIgorIlxuIgorIkdldCB0aGUgY2xvc2Utb24tZXhlIGZsYWcgb2YgdGhlIHNwZWNpZmllZCBmaWxlIGRlc2NyaXB0b3IuIik7CisKKyNkZWZpbmUgT1NfR0VUX0hBTkRMRV9JTkhFUklUQUJMRV9NRVRIT0RERUYgICAgXAorICAgIHsiZ2V0X2hhbmRsZV9pbmhlcml0YWJsZSIsIChQeUNGdW5jdGlvbilvc19nZXRfaGFuZGxlX2luaGVyaXRhYmxlLCBNRVRIX1ZBUkFSR1MsIG9zX2dldF9oYW5kbGVfaW5oZXJpdGFibGVfX2RvY19ffSwKKworc3RhdGljIGludAorb3NfZ2V0X2hhbmRsZV9pbmhlcml0YWJsZV9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5X2ludHB0cl90IGhhbmRsZSk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19nZXRfaGFuZGxlX2luaGVyaXRhYmxlKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzKQogeworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOwogICAgIFB5X2ludHB0cl90IGhhbmRsZTsKLSAgICBEV09SRCBmbGFnczsKKyAgICBpbnQgX3JldHVybl92YWx1ZTsKIAotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCBfUHlfUEFSU0VfSU5UUFRSICI6Z2V0X2hhbmRsZV9pbmhlcml0YWJsZSIsICZoYW5kbGUpKQotICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgIiIgX1B5X1BBUlNFX0lOVFBUUiAiOmdldF9oYW5kbGVfaW5oZXJpdGFibGUiLAorICAgICAgICAmaGFuZGxlKSkKKyAgICAgICAgZ290byBleGl0OworICAgIF9yZXR1cm5fdmFsdWUgPSBvc19nZXRfaGFuZGxlX2luaGVyaXRhYmxlX2ltcGwobW9kdWxlLCBoYW5kbGUpOworICAgIGlmICgoX3JldHVybl92YWx1ZSA9PSAtMSkgJiYgUHlFcnJfT2NjdXJyZWQoKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IFB5Qm9vbF9Gcm9tTG9uZygobG9uZylfcmV0dXJuX3ZhbHVlKTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgaW50Citvc19nZXRfaGFuZGxlX2luaGVyaXRhYmxlX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlfaW50cHRyX3QgaGFuZGxlKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWQ1YmY5ZDg2OTAwYmY0NTcgaW5wdXQ9NWY3NzU5NDQzYWFlM2RjNV0qLworeworICAgIERXT1JEIGZsYWdzOwogCiAgICAgaWYgKCFHZXRIYW5kbGVJbmZvcm1hdGlvbigoSEFORExFKWhhbmRsZSwgJmZsYWdzKSkgewogICAgICAgICBQeUVycl9TZXRGcm9tV2luZG93c0VycigwKTsKLSAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgIHJldHVybiAtMTsKICAgICB9CiAKLSAgICByZXR1cm4gUHlCb29sX0Zyb21Mb25nKGZsYWdzICYgSEFORExFX0ZMQUdfSU5IRVJJVCk7CisgICAgcmV0dXJuIGZsYWdzICYgSEFORExFX0ZMQUdfSU5IRVJJVDsKIH0KIAotUHlEb2NfU1RSVkFSKHNldF9oYW5kbGVfaW5oZXJpdGFibGVfX2RvY19fLAotICAgICJzZXRfaGFuZGxlX2luaGVyaXRhYmxlKGZkLCBpbmhlcml0YWJsZSlcbiIgXAotICAgICJcbiIgXAotICAgICJTZXQgdGhlIGluaGVyaXRhYmxlIGZsYWcgb2YgdGhlIHNwZWNpZmllZCBoYW5kbGUuIik7CiAKLXN0YXRpYyBQeU9iamVjdCoKLXBvc2l4X3NldF9oYW5kbGVfaW5oZXJpdGFibGUoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQorLypbY2xpbmljIGlucHV0XQorb3Muc2V0X2hhbmRsZV9pbmhlcml0YWJsZQorICAgIGhhbmRsZTogUHlfaW50cHRyX3QKKyAgICBpbmhlcml0YWJsZTogYm9vbAorICAgIC8KKworU2V0IHRoZSBpbmhlcml0YWJsZSBmbGFnIG9mIHRoZSBzcGVjaWZpZWQgaGFuZGxlLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIob3Nfc2V0X2hhbmRsZV9pbmhlcml0YWJsZV9fZG9jX18sCisic2V0X2hhbmRsZV9pbmhlcml0YWJsZSgkbW9kdWxlLCBoYW5kbGUsIGluaGVyaXRhYmxlLCAvKVxuIgorIi0tXG4iCisiXG4iCisiU2V0IHRoZSBpbmhlcml0YWJsZSBmbGFnIG9mIHRoZSBzcGVjaWZpZWQgaGFuZGxlLiIpOworCisjZGVmaW5lIE9TX1NFVF9IQU5ETEVfSU5IRVJJVEFCTEVfTUVUSE9EREVGICAgIFwKKyAgICB7InNldF9oYW5kbGVfaW5oZXJpdGFibGUiLCAoUHlDRnVuY3Rpb24pb3Nfc2V0X2hhbmRsZV9pbmhlcml0YWJsZSwgTUVUSF9WQVJBUkdTLCBvc19zZXRfaGFuZGxlX2luaGVyaXRhYmxlX19kb2NfX30sCisKK3N0YXRpYyBQeU9iamVjdCAqCitvc19zZXRfaGFuZGxlX2luaGVyaXRhYmxlX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlfaW50cHRyX3QgaGFuZGxlLCBpbnQgaW5oZXJpdGFibGUpOworCitzdGF0aWMgUHlPYmplY3QgKgorb3Nfc2V0X2hhbmRsZV9pbmhlcml0YWJsZShQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncykKIHsKLSAgICBpbnQgaW5oZXJpdGFibGUgPSAxOworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOwogICAgIFB5X2ludHB0cl90IGhhbmRsZTsKLSAgICBEV09SRCBmbGFnczsKKyAgICBpbnQgaW5oZXJpdGFibGU7CiAKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgX1B5X1BBUlNFX0lOVFBUUiAiaTpzZXRfaGFuZGxlX2luaGVyaXRhYmxlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgJmhhbmRsZSwgJmluaGVyaXRhYmxlKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCisgICAgICAgICIiIF9QeV9QQVJTRV9JTlRQVFIgInA6c2V0X2hhbmRsZV9pbmhlcml0YWJsZSIsCisgICAgICAgICZoYW5kbGUsICZpbmhlcml0YWJsZSkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBvc19zZXRfaGFuZGxlX2luaGVyaXRhYmxlX2ltcGwobW9kdWxlLCBoYW5kbGUsIGluaGVyaXRhYmxlKTsKIAotICAgIGlmIChpbmhlcml0YWJsZSkKLSAgICAgICAgZmxhZ3MgPSBIQU5ETEVfRkxBR19JTkhFUklUOwotICAgIGVsc2UKLSAgICAgICAgZmxhZ3MgPSAwOworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorb3Nfc2V0X2hhbmRsZV9pbmhlcml0YWJsZV9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5X2ludHB0cl90IGhhbmRsZSwgaW50IGluaGVyaXRhYmxlKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWVlNWZjYzZkOWYwZDRmOGIgaW5wdXQ9ZTY0YjJiMjczMDQ2OWRlZl0qLworeworICAgIERXT1JEIGZsYWdzID0gaW5oZXJpdGFibGUgPyBIQU5ETEVfRkxBR19JTkhFUklUIDogMDsKICAgICBpZiAoIVNldEhhbmRsZUluZm9ybWF0aW9uKChIQU5ETEUpaGFuZGxlLCBIQU5ETEVfRkxBR19JTkhFUklULCBmbGFncykpIHsKICAgICAgICAgUHlFcnJfU2V0RnJvbVdpbmRvd3NFcnIoMCk7CiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KICAgICBQeV9SRVRVUk5fTk9ORTsKIH0KLSNlbmRpZiAgIC8qIE1TX1dJTkRPV1MgKi8KKyNlbmRpZiAvKiBNU19XSU5ET1dTICovCisKKyNpZm5kZWYgTVNfV0lORE9XUworUHlEb2NfU1RSVkFSKGdldF9ibG9ja2luZ19fZG9jX18sCisgICAgImdldF9ibG9ja2luZyhmZCkgLT4gYm9vbFxuIiBcCisgICAgIlxuIiBcCisgICAgIkdldCB0aGUgYmxvY2tpbmcgbW9kZSBvZiB0aGUgZmlsZSBkZXNjcmlwdG9yOlxuIiBcCisgICAgIkZhbHNlIGlmIHRoZSBPX05PTkJMT0NLIGZsYWcgaXMgc2V0LCBUcnVlIGlmIHRoZSBmbGFnIGlzIGNsZWFyZWQuIik7CisKK3N0YXRpYyBQeU9iamVjdCoKK3Bvc2l4X2dldF9ibG9ja2luZyhQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgaW50IGZkOworICAgIGludCBibG9ja2luZzsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiaTpnZXRfYmxvY2tpbmciLCAmZmQpKQorICAgICAgICByZXR1cm4gTlVMTDsKKworICAgIGlmICghX1B5VmVyaWZ5X2ZkKGZkKSkKKyAgICAgICAgcmV0dXJuIHBvc2l4X2Vycm9yKCk7CisKKyAgICBibG9ja2luZyA9IF9QeV9nZXRfYmxvY2tpbmcoZmQpOworICAgIGlmIChibG9ja2luZyA8IDApCisgICAgICAgIHJldHVybiBOVUxMOworICAgIHJldHVybiBQeUJvb2xfRnJvbUxvbmcoYmxvY2tpbmcpOworfQorCitQeURvY19TVFJWQVIoc2V0X2Jsb2NraW5nX19kb2NfXywKKyAgICAic2V0X2Jsb2NraW5nKGZkLCBibG9ja2luZylcbiIgXAorICAgICJcbiIgXAorICAgICJTZXQgdGhlIGJsb2NraW5nIG1vZGUgb2YgdGhlIHNwZWNpZmllZCBmaWxlIGRlc2NyaXB0b3IuXG4iIFwKKyAgICAiU2V0IHRoZSBPX05PTkJMT0NLIGZsYWcgaWYgYmxvY2tpbmcgaXMgRmFsc2UsXG4iIFwKKyAgICAiY2xlYXIgdGhlIE9fTk9OQkxPQ0sgZmxhZyBvdGhlcndpc2UuIik7CisKK3N0YXRpYyBQeU9iamVjdCoKK3Bvc2l4X3NldF9ibG9ja2luZyhQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgaW50IGZkLCBibG9ja2luZzsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiaWk6c2V0X2Jsb2NraW5nIiwgJmZkLCAmYmxvY2tpbmcpKQorICAgICAgICByZXR1cm4gTlVMTDsKKworICAgIGlmICghX1B5VmVyaWZ5X2ZkKGZkKSkKKyAgICAgICAgcmV0dXJuIHBvc2l4X2Vycm9yKCk7CisKKyAgICBpZiAoX1B5X3NldF9ibG9ja2luZyhmZCwgYmxvY2tpbmcpIDwgMCkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgUHlfUkVUVVJOX05PTkU7Cit9CisjZW5kaWYgICAvKiAhTVNfV0lORE9XUyAqLwogCiAKIC8qW2NsaW5pYyBpbnB1dF0KQEAgLTExMTg1LDcgKzE2NTUxLDQ3OSBAQAogI2lmbmRlZiBPU19UVFlOQU1FX01FVEhPRERFRgogICAgICNkZWZpbmUgT1NfVFRZTkFNRV9NRVRIT0RERUYKICNlbmRpZiAvKiAhZGVmaW5lZChPU19UVFlOQU1FX01FVEhPRERFRikgKi8KLS8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD01ZDA3MWJiYzhmNDllYTEyIGlucHV0PTUyNGNlMmUwMjFlNGViYTZdKi8KKworI2lmbmRlZiBPU19DVEVSTUlEX01FVEhPRERFRgorICAgICNkZWZpbmUgT1NfQ1RFUk1JRF9NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChPU19DVEVSTUlEX01FVEhPRERFRikgKi8KKworI2lmbmRlZiBPU19GQ0hESVJfTUVUSE9EREVGCisgICAgI2RlZmluZSBPU19GQ0hESVJfTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoT1NfRkNIRElSX01FVEhPRERFRikgKi8KKworI2lmbmRlZiBPU19GQ0hNT0RfTUVUSE9EREVGCisgICAgI2RlZmluZSBPU19GQ0hNT0RfTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoT1NfRkNITU9EX01FVEhPRERFRikgKi8KKworI2lmbmRlZiBPU19MQ0hNT0RfTUVUSE9EREVGCisgICAgI2RlZmluZSBPU19MQ0hNT0RfTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoT1NfTENITU9EX01FVEhPRERFRikgKi8KKworI2lmbmRlZiBPU19DSEZMQUdTX01FVEhPRERFRgorICAgICNkZWZpbmUgT1NfQ0hGTEFHU19NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChPU19DSEZMQUdTX01FVEhPRERFRikgKi8KKworI2lmbmRlZiBPU19MQ0hGTEFHU19NRVRIT0RERUYKKyAgICAjZGVmaW5lIE9TX0xDSEZMQUdTX01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKE9TX0xDSEZMQUdTX01FVEhPRERFRikgKi8KKworI2lmbmRlZiBPU19DSFJPT1RfTUVUSE9EREVGCisgICAgI2RlZmluZSBPU19DSFJPT1RfTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoT1NfQ0hST09UX01FVEhPRERFRikgKi8KKworI2lmbmRlZiBPU19GU1lOQ19NRVRIT0RERUYKKyAgICAjZGVmaW5lIE9TX0ZTWU5DX01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKE9TX0ZTWU5DX01FVEhPRERFRikgKi8KKworI2lmbmRlZiBPU19TWU5DX01FVEhPRERFRgorICAgICNkZWZpbmUgT1NfU1lOQ19NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChPU19TWU5DX01FVEhPRERFRikgKi8KKworI2lmbmRlZiBPU19GREFUQVNZTkNfTUVUSE9EREVGCisgICAgI2RlZmluZSBPU19GREFUQVNZTkNfTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoT1NfRkRBVEFTWU5DX01FVEhPRERFRikgKi8KKworI2lmbmRlZiBPU19DSE9XTl9NRVRIT0RERUYKKyAgICAjZGVmaW5lIE9TX0NIT1dOX01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKE9TX0NIT1dOX01FVEhPRERFRikgKi8KKworI2lmbmRlZiBPU19GQ0hPV05fTUVUSE9EREVGCisgICAgI2RlZmluZSBPU19GQ0hPV05fTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoT1NfRkNIT1dOX01FVEhPRERFRikgKi8KKworI2lmbmRlZiBPU19MQ0hPV05fTUVUSE9EREVGCisgICAgI2RlZmluZSBPU19MQ0hPV05fTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoT1NfTENIT1dOX01FVEhPRERFRikgKi8KKworI2lmbmRlZiBPU19MSU5LX01FVEhPRERFRgorICAgICNkZWZpbmUgT1NfTElOS19NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChPU19MSU5LX01FVEhPRERFRikgKi8KKworI2lmbmRlZiBPU19fR0VURklOQUxQQVRITkFNRV9NRVRIT0RERUYKKyAgICAjZGVmaW5lIE9TX19HRVRGSU5BTFBBVEhOQU1FX01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKE9TX19HRVRGSU5BTFBBVEhOQU1FX01FVEhPRERFRikgKi8KKworI2lmbmRlZiBPU19fR0VUVk9MVU1FUEFUSE5BTUVfTUVUSE9EREVGCisgICAgI2RlZmluZSBPU19fR0VUVk9MVU1FUEFUSE5BTUVfTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoT1NfX0dFVFZPTFVNRVBBVEhOQU1FX01FVEhPRERFRikgKi8KKworI2lmbmRlZiBPU19OSUNFX01FVEhPRERFRgorICAgICNkZWZpbmUgT1NfTklDRV9NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChPU19OSUNFX01FVEhPRERFRikgKi8KKworI2lmbmRlZiBPU19HRVRQUklPUklUWV9NRVRIT0RERUYKKyAgICAjZGVmaW5lIE9TX0dFVFBSSU9SSVRZX01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKE9TX0dFVFBSSU9SSVRZX01FVEhPRERFRikgKi8KKworI2lmbmRlZiBPU19TRVRQUklPUklUWV9NRVRIT0RERUYKKyAgICAjZGVmaW5lIE9TX1NFVFBSSU9SSVRZX01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKE9TX1NFVFBSSU9SSVRZX01FVEhPRERFRikgKi8KKworI2lmbmRlZiBPU19TWVNURU1fTUVUSE9EREVGCisgICAgI2RlZmluZSBPU19TWVNURU1fTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoT1NfU1lTVEVNX01FVEhPRERFRikgKi8KKworI2lmbmRlZiBPU19TWVNURU1fTUVUSE9EREVGCisgICAgI2RlZmluZSBPU19TWVNURU1fTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoT1NfU1lTVEVNX01FVEhPRERFRikgKi8KKworI2lmbmRlZiBPU19VTkFNRV9NRVRIT0RERUYKKyAgICAjZGVmaW5lIE9TX1VOQU1FX01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKE9TX1VOQU1FX01FVEhPRERFRikgKi8KKworI2lmbmRlZiBPU19FWEVDVl9NRVRIT0RERUYKKyAgICAjZGVmaW5lIE9TX0VYRUNWX01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKE9TX0VYRUNWX01FVEhPRERFRikgKi8KKworI2lmbmRlZiBPU19FWEVDVkVfTUVUSE9EREVGCisgICAgI2RlZmluZSBPU19FWEVDVkVfTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoT1NfRVhFQ1ZFX01FVEhPRERFRikgKi8KKworI2lmbmRlZiBPU19TUEFXTlZfTUVUSE9EREVGCisgICAgI2RlZmluZSBPU19TUEFXTlZfTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoT1NfU1BBV05WX01FVEhPRERFRikgKi8KKworI2lmbmRlZiBPU19TUEFXTlZFX01FVEhPRERFRgorICAgICNkZWZpbmUgT1NfU1BBV05WRV9NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChPU19TUEFXTlZFX01FVEhPRERFRikgKi8KKworI2lmbmRlZiBPU19GT1JLMV9NRVRIT0RERUYKKyAgICAjZGVmaW5lIE9TX0ZPUksxX01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKE9TX0ZPUksxX01FVEhPRERFRikgKi8KKworI2lmbmRlZiBPU19GT1JLX01FVEhPRERFRgorICAgICNkZWZpbmUgT1NfRk9SS19NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChPU19GT1JLX01FVEhPRERFRikgKi8KKworI2lmbmRlZiBPU19TQ0hFRF9HRVRfUFJJT1JJVFlfTUFYX01FVEhPRERFRgorICAgICNkZWZpbmUgT1NfU0NIRURfR0VUX1BSSU9SSVRZX01BWF9NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChPU19TQ0hFRF9HRVRfUFJJT1JJVFlfTUFYX01FVEhPRERFRikgKi8KKworI2lmbmRlZiBPU19TQ0hFRF9HRVRfUFJJT1JJVFlfTUlOX01FVEhPRERFRgorICAgICNkZWZpbmUgT1NfU0NIRURfR0VUX1BSSU9SSVRZX01JTl9NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChPU19TQ0hFRF9HRVRfUFJJT1JJVFlfTUlOX01FVEhPRERFRikgKi8KKworI2lmbmRlZiBPU19TQ0hFRF9HRVRTQ0hFRFVMRVJfTUVUSE9EREVGCisgICAgI2RlZmluZSBPU19TQ0hFRF9HRVRTQ0hFRFVMRVJfTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoT1NfU0NIRURfR0VUU0NIRURVTEVSX01FVEhPRERFRikgKi8KKworI2lmbmRlZiBPU19TQ0hFRF9TRVRTQ0hFRFVMRVJfTUVUSE9EREVGCisgICAgI2RlZmluZSBPU19TQ0hFRF9TRVRTQ0hFRFVMRVJfTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoT1NfU0NIRURfU0VUU0NIRURVTEVSX01FVEhPRERFRikgKi8KKworI2lmbmRlZiBPU19TQ0hFRF9HRVRQQVJBTV9NRVRIT0RERUYKKyAgICAjZGVmaW5lIE9TX1NDSEVEX0dFVFBBUkFNX01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKE9TX1NDSEVEX0dFVFBBUkFNX01FVEhPRERFRikgKi8KKworI2lmbmRlZiBPU19TQ0hFRF9TRVRQQVJBTV9NRVRIT0RERUYKKyAgICAjZGVmaW5lIE9TX1NDSEVEX1NFVFBBUkFNX01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKE9TX1NDSEVEX1NFVFBBUkFNX01FVEhPRERFRikgKi8KKworI2lmbmRlZiBPU19TQ0hFRF9SUl9HRVRfSU5URVJWQUxfTUVUSE9EREVGCisgICAgI2RlZmluZSBPU19TQ0hFRF9SUl9HRVRfSU5URVJWQUxfTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoT1NfU0NIRURfUlJfR0VUX0lOVEVSVkFMX01FVEhPRERFRikgKi8KKworI2lmbmRlZiBPU19TQ0hFRF9ZSUVMRF9NRVRIT0RERUYKKyAgICAjZGVmaW5lIE9TX1NDSEVEX1lJRUxEX01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKE9TX1NDSEVEX1lJRUxEX01FVEhPRERFRikgKi8KKworI2lmbmRlZiBPU19TQ0hFRF9TRVRBRkZJTklUWV9NRVRIT0RERUYKKyAgICAjZGVmaW5lIE9TX1NDSEVEX1NFVEFGRklOSVRZX01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKE9TX1NDSEVEX1NFVEFGRklOSVRZX01FVEhPRERFRikgKi8KKworI2lmbmRlZiBPU19TQ0hFRF9HRVRBRkZJTklUWV9NRVRIT0RERUYKKyAgICAjZGVmaW5lIE9TX1NDSEVEX0dFVEFGRklOSVRZX01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKE9TX1NDSEVEX0dFVEFGRklOSVRZX01FVEhPRERFRikgKi8KKworI2lmbmRlZiBPU19PUEVOUFRZX01FVEhPRERFRgorICAgICNkZWZpbmUgT1NfT1BFTlBUWV9NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChPU19PUEVOUFRZX01FVEhPRERFRikgKi8KKworI2lmbmRlZiBPU19GT1JLUFRZX01FVEhPRERFRgorICAgICNkZWZpbmUgT1NfRk9SS1BUWV9NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChPU19GT1JLUFRZX01FVEhPRERFRikgKi8KKworI2lmbmRlZiBPU19HRVRFR0lEX01FVEhPRERFRgorICAgICNkZWZpbmUgT1NfR0VURUdJRF9NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChPU19HRVRFR0lEX01FVEhPRERFRikgKi8KKworI2lmbmRlZiBPU19HRVRFVUlEX01FVEhPRERFRgorICAgICNkZWZpbmUgT1NfR0VURVVJRF9NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChPU19HRVRFVUlEX01FVEhPRERFRikgKi8KKworI2lmbmRlZiBPU19HRVRHSURfTUVUSE9EREVGCisgICAgI2RlZmluZSBPU19HRVRHSURfTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoT1NfR0VUR0lEX01FVEhPRERFRikgKi8KKworI2lmbmRlZiBPU19HRVRHUk9VUFNfTUVUSE9EREVGCisgICAgI2RlZmluZSBPU19HRVRHUk9VUFNfTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoT1NfR0VUR1JPVVBTX01FVEhPRERFRikgKi8KKworI2lmbmRlZiBPU19HRVRQR0lEX01FVEhPRERFRgorICAgICNkZWZpbmUgT1NfR0VUUEdJRF9NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChPU19HRVRQR0lEX01FVEhPRERFRikgKi8KKworI2lmbmRlZiBPU19HRVRQR1JQX01FVEhPRERFRgorICAgICNkZWZpbmUgT1NfR0VUUEdSUF9NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChPU19HRVRQR1JQX01FVEhPRERFRikgKi8KKworI2lmbmRlZiBPU19TRVRQR1JQX01FVEhPRERFRgorICAgICNkZWZpbmUgT1NfU0VUUEdSUF9NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChPU19TRVRQR1JQX01FVEhPRERFRikgKi8KKworI2lmbmRlZiBPU19HRVRQUElEX01FVEhPRERFRgorICAgICNkZWZpbmUgT1NfR0VUUFBJRF9NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChPU19HRVRQUElEX01FVEhPRERFRikgKi8KKworI2lmbmRlZiBPU19HRVRMT0dJTl9NRVRIT0RERUYKKyAgICAjZGVmaW5lIE9TX0dFVExPR0lOX01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKE9TX0dFVExPR0lOX01FVEhPRERFRikgKi8KKworI2lmbmRlZiBPU19HRVRVSURfTUVUSE9EREVGCisgICAgI2RlZmluZSBPU19HRVRVSURfTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoT1NfR0VUVUlEX01FVEhPRERFRikgKi8KKworI2lmbmRlZiBPU19LSUxMX01FVEhPRERFRgorICAgICNkZWZpbmUgT1NfS0lMTF9NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChPU19LSUxMX01FVEhPRERFRikgKi8KKworI2lmbmRlZiBPU19LSUxMUEdfTUVUSE9EREVGCisgICAgI2RlZmluZSBPU19LSUxMUEdfTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoT1NfS0lMTFBHX01FVEhPRERFRikgKi8KKworI2lmbmRlZiBPU19QTE9DS19NRVRIT0RERUYKKyAgICAjZGVmaW5lIE9TX1BMT0NLX01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKE9TX1BMT0NLX01FVEhPRERFRikgKi8KKworI2lmbmRlZiBPU19TRVRVSURfTUVUSE9EREVGCisgICAgI2RlZmluZSBPU19TRVRVSURfTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoT1NfU0VUVUlEX01FVEhPRERFRikgKi8KKworI2lmbmRlZiBPU19TRVRFVUlEX01FVEhPRERFRgorICAgICNkZWZpbmUgT1NfU0VURVVJRF9NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChPU19TRVRFVUlEX01FVEhPRERFRikgKi8KKworI2lmbmRlZiBPU19TRVRFR0lEX01FVEhPRERFRgorICAgICNkZWZpbmUgT1NfU0VURUdJRF9NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChPU19TRVRFR0lEX01FVEhPRERFRikgKi8KKworI2lmbmRlZiBPU19TRVRSRVVJRF9NRVRIT0RERUYKKyAgICAjZGVmaW5lIE9TX1NFVFJFVUlEX01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKE9TX1NFVFJFVUlEX01FVEhPRERFRikgKi8KKworI2lmbmRlZiBPU19TRVRSRUdJRF9NRVRIT0RERUYKKyAgICAjZGVmaW5lIE9TX1NFVFJFR0lEX01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKE9TX1NFVFJFR0lEX01FVEhPRERFRikgKi8KKworI2lmbmRlZiBPU19TRVRHSURfTUVUSE9EREVGCisgICAgI2RlZmluZSBPU19TRVRHSURfTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoT1NfU0VUR0lEX01FVEhPRERFRikgKi8KKworI2lmbmRlZiBPU19TRVRHUk9VUFNfTUVUSE9EREVGCisgICAgI2RlZmluZSBPU19TRVRHUk9VUFNfTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoT1NfU0VUR1JPVVBTX01FVEhPRERFRikgKi8KKworI2lmbmRlZiBPU19XQUlUM19NRVRIT0RERUYKKyAgICAjZGVmaW5lIE9TX1dBSVQzX01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKE9TX1dBSVQzX01FVEhPRERFRikgKi8KKworI2lmbmRlZiBPU19XQUlUNF9NRVRIT0RERUYKKyAgICAjZGVmaW5lIE9TX1dBSVQ0X01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKE9TX1dBSVQ0X01FVEhPRERFRikgKi8KKworI2lmbmRlZiBPU19XQUlUSURfTUVUSE9EREVGCisgICAgI2RlZmluZSBPU19XQUlUSURfTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoT1NfV0FJVElEX01FVEhPRERFRikgKi8KKworI2lmbmRlZiBPU19XQUlUUElEX01FVEhPRERFRgorICAgICNkZWZpbmUgT1NfV0FJVFBJRF9NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChPU19XQUlUUElEX01FVEhPRERFRikgKi8KKworI2lmbmRlZiBPU19XQUlUUElEX01FVEhPRERFRgorICAgICNkZWZpbmUgT1NfV0FJVFBJRF9NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChPU19XQUlUUElEX01FVEhPRERFRikgKi8KKworI2lmbmRlZiBPU19XQUlUX01FVEhPRERFRgorICAgICNkZWZpbmUgT1NfV0FJVF9NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChPU19XQUlUX01FVEhPRERFRikgKi8KKworI2lmbmRlZiBPU19TWU1MSU5LX01FVEhPRERFRgorICAgICNkZWZpbmUgT1NfU1lNTElOS19NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChPU19TWU1MSU5LX01FVEhPRERFRikgKi8KKworI2lmbmRlZiBPU19USU1FU19NRVRIT0RERUYKKyAgICAjZGVmaW5lIE9TX1RJTUVTX01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKE9TX1RJTUVTX01FVEhPRERFRikgKi8KKworI2lmbmRlZiBPU19HRVRTSURfTUVUSE9EREVGCisgICAgI2RlZmluZSBPU19HRVRTSURfTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoT1NfR0VUU0lEX01FVEhPRERFRikgKi8KKworI2lmbmRlZiBPU19TRVRTSURfTUVUSE9EREVGCisgICAgI2RlZmluZSBPU19TRVRTSURfTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoT1NfU0VUU0lEX01FVEhPRERFRikgKi8KKworI2lmbmRlZiBPU19TRVRQR0lEX01FVEhPRERFRgorICAgICNkZWZpbmUgT1NfU0VUUEdJRF9NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChPU19TRVRQR0lEX01FVEhPRERFRikgKi8KKworI2lmbmRlZiBPU19UQ0dFVFBHUlBfTUVUSE9EREVGCisgICAgI2RlZmluZSBPU19UQ0dFVFBHUlBfTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoT1NfVENHRVRQR1JQX01FVEhPRERFRikgKi8KKworI2lmbmRlZiBPU19UQ1NFVFBHUlBfTUVUSE9EREVGCisgICAgI2RlZmluZSBPU19UQ1NFVFBHUlBfTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoT1NfVENTRVRQR1JQX01FVEhPRERFRikgKi8KKworI2lmbmRlZiBPU19MT0NLRl9NRVRIT0RERUYKKyAgICAjZGVmaW5lIE9TX0xPQ0tGX01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKE9TX0xPQ0tGX01FVEhPRERFRikgKi8KKworI2lmbmRlZiBPU19SRUFEVl9NRVRIT0RERUYKKyAgICAjZGVmaW5lIE9TX1JFQURWX01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKE9TX1JFQURWX01FVEhPRERFRikgKi8KKworI2lmbmRlZiBPU19QUkVBRF9NRVRIT0RERUYKKyAgICAjZGVmaW5lIE9TX1BSRUFEX01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKE9TX1BSRUFEX01FVEhPRERFRikgKi8KKworI2lmbmRlZiBPU19QSVBFX01FVEhPRERFRgorICAgICNkZWZpbmUgT1NfUElQRV9NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChPU19QSVBFX01FVEhPRERFRikgKi8KKworI2lmbmRlZiBPU19QSVBFMl9NRVRIT0RERUYKKyAgICAjZGVmaW5lIE9TX1BJUEUyX01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKE9TX1BJUEUyX01FVEhPRERFRikgKi8KKworI2lmbmRlZiBPU19XUklURVZfTUVUSE9EREVGCisgICAgI2RlZmluZSBPU19XUklURVZfTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoT1NfV1JJVEVWX01FVEhPRERFRikgKi8KKworI2lmbmRlZiBPU19QV1JJVEVfTUVUSE9EREVGCisgICAgI2RlZmluZSBPU19QV1JJVEVfTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoT1NfUFdSSVRFX01FVEhPRERFRikgKi8KKworI2lmbmRlZiBPU19NS0ZJRk9fTUVUSE9EREVGCisgICAgI2RlZmluZSBPU19NS0ZJRk9fTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoT1NfTUtGSUZPX01FVEhPRERFRikgKi8KKworI2lmbmRlZiBPU19NS05PRF9NRVRIT0RERUYKKyAgICAjZGVmaW5lIE9TX01LTk9EX01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKE9TX01LTk9EX01FVEhPRERFRikgKi8KKworI2lmbmRlZiBPU19NQUpPUl9NRVRIT0RERUYKKyAgICAjZGVmaW5lIE9TX01BSk9SX01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKE9TX01BSk9SX01FVEhPRERFRikgKi8KKworI2lmbmRlZiBPU19NSU5PUl9NRVRIT0RERUYKKyAgICAjZGVmaW5lIE9TX01JTk9SX01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKE9TX01JTk9SX01FVEhPRERFRikgKi8KKworI2lmbmRlZiBPU19NQUtFREVWX01FVEhPRERFRgorICAgICNkZWZpbmUgT1NfTUFLRURFVl9NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChPU19NQUtFREVWX01FVEhPRERFRikgKi8KKworI2lmbmRlZiBPU19GVFJVTkNBVEVfTUVUSE9EREVGCisgICAgI2RlZmluZSBPU19GVFJVTkNBVEVfTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoT1NfRlRSVU5DQVRFX01FVEhPRERFRikgKi8KKworI2lmbmRlZiBPU19UUlVOQ0FURV9NRVRIT0RERUYKKyAgICAjZGVmaW5lIE9TX1RSVU5DQVRFX01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKE9TX1RSVU5DQVRFX01FVEhPRERFRikgKi8KKworI2lmbmRlZiBPU19QT1NJWF9GQUxMT0NBVEVfTUVUSE9EREVGCisgICAgI2RlZmluZSBPU19QT1NJWF9GQUxMT0NBVEVfTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoT1NfUE9TSVhfRkFMTE9DQVRFX01FVEhPRERFRikgKi8KKworI2lmbmRlZiBPU19QT1NJWF9GQURWSVNFX01FVEhPRERFRgorICAgICNkZWZpbmUgT1NfUE9TSVhfRkFEVklTRV9NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChPU19QT1NJWF9GQURWSVNFX01FVEhPRERFRikgKi8KKworI2lmbmRlZiBPU19QVVRFTlZfTUVUSE9EREVGCisgICAgI2RlZmluZSBPU19QVVRFTlZfTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoT1NfUFVURU5WX01FVEhPRERFRikgKi8KKworI2lmbmRlZiBPU19QVVRFTlZfTUVUSE9EREVGCisgICAgI2RlZmluZSBPU19QVVRFTlZfTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoT1NfUFVURU5WX01FVEhPRERFRikgKi8KKworI2lmbmRlZiBPU19VTlNFVEVOVl9NRVRIT0RERUYKKyAgICAjZGVmaW5lIE9TX1VOU0VURU5WX01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKE9TX1VOU0VURU5WX01FVEhPRERFRikgKi8KKworI2lmbmRlZiBPU19XQ09SRURVTVBfTUVUSE9EREVGCisgICAgI2RlZmluZSBPU19XQ09SRURVTVBfTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoT1NfV0NPUkVEVU1QX01FVEhPRERFRikgKi8KKworI2lmbmRlZiBPU19XSUZDT05USU5VRURfTUVUSE9EREVGCisgICAgI2RlZmluZSBPU19XSUZDT05USU5VRURfTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoT1NfV0lGQ09OVElOVUVEX01FVEhPRERFRikgKi8KKworI2lmbmRlZiBPU19XSUZTVE9QUEVEX01FVEhPRERFRgorICAgICNkZWZpbmUgT1NfV0lGU1RPUFBFRF9NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChPU19XSUZTVE9QUEVEX01FVEhPRERFRikgKi8KKworI2lmbmRlZiBPU19XSUZTSUdOQUxFRF9NRVRIT0RERUYKKyAgICAjZGVmaW5lIE9TX1dJRlNJR05BTEVEX01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKE9TX1dJRlNJR05BTEVEX01FVEhPRERFRikgKi8KKworI2lmbmRlZiBPU19XSUZFWElURURfTUVUSE9EREVGCisgICAgI2RlZmluZSBPU19XSUZFWElURURfTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoT1NfV0lGRVhJVEVEX01FVEhPRERFRikgKi8KKworI2lmbmRlZiBPU19XRVhJVFNUQVRVU19NRVRIT0RERUYKKyAgICAjZGVmaW5lIE9TX1dFWElUU1RBVFVTX01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKE9TX1dFWElUU1RBVFVTX01FVEhPRERFRikgKi8KKworI2lmbmRlZiBPU19XVEVSTVNJR19NRVRIT0RERUYKKyAgICAjZGVmaW5lIE9TX1dURVJNU0lHX01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKE9TX1dURVJNU0lHX01FVEhPRERFRikgKi8KKworI2lmbmRlZiBPU19XU1RPUFNJR19NRVRIT0RERUYKKyAgICAjZGVmaW5lIE9TX1dTVE9QU0lHX01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKE9TX1dTVE9QU0lHX01FVEhPRERFRikgKi8KKworI2lmbmRlZiBPU19GU1RBVFZGU19NRVRIT0RERUYKKyAgICAjZGVmaW5lIE9TX0ZTVEFUVkZTX01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKE9TX0ZTVEFUVkZTX01FVEhPRERFRikgKi8KKworI2lmbmRlZiBPU19TVEFUVkZTX01FVEhPRERFRgorICAgICNkZWZpbmUgT1NfU1RBVFZGU19NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChPU19TVEFUVkZTX01FVEhPRERFRikgKi8KKworI2lmbmRlZiBPU19fR0VURElTS1VTQUdFX01FVEhPRERFRgorICAgICNkZWZpbmUgT1NfX0dFVERJU0tVU0FHRV9NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChPU19fR0VURElTS1VTQUdFX01FVEhPRERFRikgKi8KKworI2lmbmRlZiBPU19GUEFUSENPTkZfTUVUSE9EREVGCisgICAgI2RlZmluZSBPU19GUEFUSENPTkZfTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoT1NfRlBBVEhDT05GX01FVEhPRERFRikgKi8KKworI2lmbmRlZiBPU19QQVRIQ09ORl9NRVRIT0RERUYKKyAgICAjZGVmaW5lIE9TX1BBVEhDT05GX01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKE9TX1BBVEhDT05GX01FVEhPRERFRikgKi8KKworI2lmbmRlZiBPU19DT05GU1RSX01FVEhPRERFRgorICAgICNkZWZpbmUgT1NfQ09ORlNUUl9NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChPU19DT05GU1RSX01FVEhPRERFRikgKi8KKworI2lmbmRlZiBPU19TWVNDT05GX01FVEhPRERFRgorICAgICNkZWZpbmUgT1NfU1lTQ09ORl9NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChPU19TWVNDT05GX01FVEhPRERFRikgKi8KKworI2lmbmRlZiBPU19HRVRMT0FEQVZHX01FVEhPRERFRgorICAgICNkZWZpbmUgT1NfR0VUTE9BREFWR19NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChPU19HRVRMT0FEQVZHX01FVEhPRERFRikgKi8KKworI2lmbmRlZiBPU19TRVRSRVNVSURfTUVUSE9EREVGCisgICAgI2RlZmluZSBPU19TRVRSRVNVSURfTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoT1NfU0VUUkVTVUlEX01FVEhPRERFRikgKi8KKworI2lmbmRlZiBPU19TRVRSRVNHSURfTUVUSE9EREVGCisgICAgI2RlZmluZSBPU19TRVRSRVNHSURfTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoT1NfU0VUUkVTR0lEX01FVEhPRERFRikgKi8KKworI2lmbmRlZiBPU19HRVRSRVNVSURfTUVUSE9EREVGCisgICAgI2RlZmluZSBPU19HRVRSRVNVSURfTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoT1NfR0VUUkVTVUlEX01FVEhPRERFRikgKi8KKworI2lmbmRlZiBPU19HRVRSRVNHSURfTUVUSE9EREVGCisgICAgI2RlZmluZSBPU19HRVRSRVNHSURfTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoT1NfR0VUUkVTR0lEX01FVEhPRERFRikgKi8KKworI2lmbmRlZiBPU19HRVRYQVRUUl9NRVRIT0RERUYKKyAgICAjZGVmaW5lIE9TX0dFVFhBVFRSX01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKE9TX0dFVFhBVFRSX01FVEhPRERFRikgKi8KKworI2lmbmRlZiBPU19TRVRYQVRUUl9NRVRIT0RERUYKKyAgICAjZGVmaW5lIE9TX1NFVFhBVFRSX01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKE9TX1NFVFhBVFRSX01FVEhPRERFRikgKi8KKworI2lmbmRlZiBPU19SRU1PVkVYQVRUUl9NRVRIT0RERUYKKyAgICAjZGVmaW5lIE9TX1JFTU9WRVhBVFRSX01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKE9TX1JFTU9WRVhBVFRSX01FVEhPRERFRikgKi8KKworI2lmbmRlZiBPU19MSVNUWEFUVFJfTUVUSE9EREVGCisgICAgI2RlZmluZSBPU19MSVNUWEFUVFJfTUVUSE9EREVGCisjZW5kaWYgLyogIWRlZmluZWQoT1NfTElTVFhBVFRSX01FVEhPRERFRikgKi8KKworI2lmbmRlZiBPU19HRVRfSEFORExFX0lOSEVSSVRBQkxFX01FVEhPRERFRgorICAgICNkZWZpbmUgT1NfR0VUX0hBTkRMRV9JTkhFUklUQUJMRV9NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChPU19HRVRfSEFORExFX0lOSEVSSVRBQkxFX01FVEhPRERFRikgKi8KKworI2lmbmRlZiBPU19TRVRfSEFORExFX0lOSEVSSVRBQkxFX01FVEhPRERFRgorICAgICNkZWZpbmUgT1NfU0VUX0hBTkRMRV9JTkhFUklUQUJMRV9NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChPU19TRVRfSEFORExFX0lOSEVSSVRBQkxFX01FVEhPRERFRikgKi8KKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD01MmE2MTQwYjBiMDUyY2U2IGlucHV0PTUyNGNlMmUwMjFlNGViYTZdKi8KIAogCiBzdGF0aWMgUHlNZXRob2REZWYgcG9zaXhfbWV0aG9kc1tdID0gewpAQCAtMTExOTMsNzEgKzE3MDMxLDI2IEBACiAgICAgT1NfU1RBVF9NRVRIT0RERUYKICAgICBPU19BQ0NFU1NfTUVUSE9EREVGCiAgICAgT1NfVFRZTkFNRV9NRVRIT0RERUYKLQotICAgIHsiY2hkaXIiLCAgICAgICAgICAgKFB5Q0Z1bmN0aW9uKXBvc2l4X2NoZGlyLAotICAgICAgICAgICAgICAgICAgICAgICAgTUVUSF9WQVJBUkdTIHwgTUVUSF9LRVlXT1JEUywKLSAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l4X2NoZGlyX19kb2NfX30sCi0jaWZkZWYgSEFWRV9DSEZMQUdTCi0gICAgeyJjaGZsYWdzIiwgICAgICAgICAoUHlDRnVuY3Rpb24pcG9zaXhfY2hmbGFncywKLSAgICAgICAgICAgICAgICAgICAgICAgIE1FVEhfVkFSQVJHUyB8IE1FVEhfS0VZV09SRFMsCi0gICAgICAgICAgICAgICAgICAgICAgICBwb3NpeF9jaGZsYWdzX19kb2NfX30sCi0jZW5kaWYgLyogSEFWRV9DSEZMQUdTICovCi0gICAgeyJjaG1vZCIsICAgICAgICAgICAoUHlDRnVuY3Rpb24pcG9zaXhfY2htb2QsCi0gICAgICAgICAgICAgICAgICAgICAgICBNRVRIX1ZBUkFSR1MgfCBNRVRIX0tFWVdPUkRTLAotICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXhfY2htb2RfX2RvY19ffSwKLSNpZmRlZiBIQVZFX0ZDSE1PRAotICAgIHsiZmNobW9kIiwgICAgICAgICAgcG9zaXhfZmNobW9kLCBNRVRIX1ZBUkFSR1MsIHBvc2l4X2ZjaG1vZF9fZG9jX199LAotI2VuZGlmIC8qIEhBVkVfRkNITU9EICovCi0jaWZkZWYgSEFWRV9DSE9XTgotICAgIHsiY2hvd24iLCAgICAgICAgICAgKFB5Q0Z1bmN0aW9uKXBvc2l4X2Nob3duLAotICAgICAgICAgICAgICAgICAgICAgICAgTUVUSF9WQVJBUkdTIHwgTUVUSF9LRVlXT1JEUywKLSAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l4X2Nob3duX19kb2NfX30sCi0jZW5kaWYgLyogSEFWRV9DSE9XTiAqLwotI2lmZGVmIEhBVkVfTENITU9ECi0gICAgeyJsY2htb2QiLCAgICAgICAgICBwb3NpeF9sY2htb2QsIE1FVEhfVkFSQVJHUywgcG9zaXhfbGNobW9kX19kb2NfX30sCi0jZW5kaWYgLyogSEFWRV9MQ0hNT0QgKi8KLSNpZmRlZiBIQVZFX0ZDSE9XTgotICAgIHsiZmNob3duIiwgICAgICAgICAgcG9zaXhfZmNob3duLCBNRVRIX1ZBUkFSR1MsIHBvc2l4X2ZjaG93bl9fZG9jX199LAotI2VuZGlmIC8qIEhBVkVfRkNIT1dOICovCi0jaWZkZWYgSEFWRV9MQ0hGTEFHUwotICAgIHsibGNoZmxhZ3MiLCAgICAgICAgcG9zaXhfbGNoZmxhZ3MsIE1FVEhfVkFSQVJHUywgcG9zaXhfbGNoZmxhZ3NfX2RvY19ffSwKLSNlbmRpZiAvKiBIQVZFX0xDSEZMQUdTICovCi0jaWZkZWYgSEFWRV9MQ0hPV04KLSAgICB7ImxjaG93biIsICAgICAgICAgIHBvc2l4X2xjaG93biwgTUVUSF9WQVJBUkdTLCBwb3NpeF9sY2hvd25fX2RvY19ffSwKLSNlbmRpZiAvKiBIQVZFX0xDSE9XTiAqLwotI2lmZGVmIEhBVkVfQ0hST09UCi0gICAgeyJjaHJvb3QiLCAgICAgICAgICBwb3NpeF9jaHJvb3QsIE1FVEhfVkFSQVJHUywgcG9zaXhfY2hyb290X19kb2NfX30sCi0jZW5kaWYKLSNpZmRlZiBIQVZFX0NURVJNSUQKLSAgICB7ImN0ZXJtaWQiLCAgICAgICAgIHBvc2l4X2N0ZXJtaWQsIE1FVEhfTk9BUkdTLCBwb3NpeF9jdGVybWlkX19kb2NfX30sCi0jZW5kaWYKLSAgICB7ImdldGN3ZCIsICAgICAgICAgIChQeUNGdW5jdGlvbilwb3NpeF9nZXRjd2RfdW5pY29kZSwKLSAgICBNRVRIX05PQVJHUywgcG9zaXhfZ2V0Y3dkX19kb2NfX30sCi0gICAgeyJnZXRjd2RiIiwgICAgICAgICAoUHlDRnVuY3Rpb24pcG9zaXhfZ2V0Y3dkX2J5dGVzLAotICAgIE1FVEhfTk9BUkdTLCBwb3NpeF9nZXRjd2RiX19kb2NfX30sCi0jaWYgZGVmaW5lZChIQVZFX0xJTkspIHx8IGRlZmluZWQoTVNfV0lORE9XUykKLSAgICB7ImxpbmsiLCAgICAgICAgICAgIChQeUNGdW5jdGlvbilwb3NpeF9saW5rLAotICAgICAgICAgICAgICAgICAgICAgICAgTUVUSF9WQVJBUkdTIHwgTUVUSF9LRVlXT1JEUywKLSAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l4X2xpbmtfX2RvY19ffSwKLSNlbmRpZiAvKiBIQVZFX0xJTksgKi8KLSAgICB7Imxpc3RkaXIiLCAgICAgICAgIChQeUNGdW5jdGlvbilwb3NpeF9saXN0ZGlyLAotICAgICAgICAgICAgICAgICAgICAgICAgTUVUSF9WQVJBUkdTIHwgTUVUSF9LRVlXT1JEUywKLSAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l4X2xpc3RkaXJfX2RvY19ffSwKLSAgICB7ImxzdGF0IiwgICAgICAgICAgIChQeUNGdW5jdGlvbilwb3NpeF9sc3RhdCwKLSAgICAgICAgICAgICAgICAgICAgICAgIE1FVEhfVkFSQVJHUyB8IE1FVEhfS0VZV09SRFMsCi0gICAgICAgICAgICAgICAgICAgICAgICBwb3NpeF9sc3RhdF9fZG9jX199LAotICAgIHsibWtkaXIiLCAgICAgICAgICAgKFB5Q0Z1bmN0aW9uKXBvc2l4X21rZGlyLAotICAgICAgICAgICAgICAgICAgICAgICAgTUVUSF9WQVJBUkdTIHwgTUVUSF9LRVlXT1JEUywKLSAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l4X21rZGlyX19kb2NfX30sCi0jaWZkZWYgSEFWRV9OSUNFCi0gICAgeyJuaWNlIiwgICAgICAgICAgICBwb3NpeF9uaWNlLCBNRVRIX1ZBUkFSR1MsIHBvc2l4X25pY2VfX2RvY19ffSwKLSNlbmRpZiAvKiBIQVZFX05JQ0UgKi8KLSNpZmRlZiBIQVZFX0dFVFBSSU9SSVRZCi0gICAgeyJnZXRwcmlvcml0eSIsICAgICBwb3NpeF9nZXRwcmlvcml0eSwgTUVUSF9WQVJBUkdTLCBwb3NpeF9nZXRwcmlvcml0eV9fZG9jX199LAotI2VuZGlmIC8qIEhBVkVfR0VUUFJJT1JJVFkgKi8KLSNpZmRlZiBIQVZFX1NFVFBSSU9SSVRZCi0gICAgeyJzZXRwcmlvcml0eSIsICAgICBwb3NpeF9zZXRwcmlvcml0eSwgTUVUSF9WQVJBUkdTLCBwb3NpeF9zZXRwcmlvcml0eV9fZG9jX199LAotI2VuZGlmIC8qIEhBVkVfU0VUUFJJT1JJVFkgKi8KKyAgICBPU19DSERJUl9NRVRIT0RERUYKKyAgICBPU19DSEZMQUdTX01FVEhPRERFRgorICAgIE9TX0NITU9EX01FVEhPRERFRgorICAgIE9TX0ZDSE1PRF9NRVRIT0RERUYKKyAgICBPU19MQ0hNT0RfTUVUSE9EREVGCisgICAgT1NfQ0hPV05fTUVUSE9EREVGCisgICAgT1NfRkNIT1dOX01FVEhPRERFRgorICAgIE9TX0xDSE9XTl9NRVRIT0RERUYKKyAgICBPU19MQ0hGTEFHU19NRVRIT0RERUYKKyAgICBPU19DSFJPT1RfTUVUSE9EREVGCisgICAgT1NfQ1RFUk1JRF9NRVRIT0RERUYKKyAgICBPU19HRVRDV0RfTUVUSE9EREVGCisgICAgT1NfR0VUQ1dEQl9NRVRIT0RERUYKKyAgICBPU19MSU5LX01FVEhPRERFRgorICAgIE9TX0xJU1RESVJfTUVUSE9EREVGCisgICAgT1NfTFNUQVRfTUVUSE9EREVGCisgICAgT1NfTUtESVJfTUVUSE9EREVGCisgICAgT1NfTklDRV9NRVRIT0RERUYKKyAgICBPU19HRVRQUklPUklUWV9NRVRIT0RERUYKKyAgICBPU19TRVRQUklPUklUWV9NRVRIT0RERUYKICNpZmRlZiBIQVZFX1JFQURMSU5LCiAgICAgeyJyZWFkbGluayIsICAgICAgICAoUHlDRnVuY3Rpb24pcG9zaXhfcmVhZGxpbmssCiAgICAgICAgICAgICAgICAgICAgICAgICBNRVRIX1ZBUkFSR1MgfCBNRVRIX0tFWVdPUkRTLApAQCAtMTEyNjgsMzc1ICsxNzA2MSwxNjAgQEAKICAgICAgICAgICAgICAgICAgICAgICAgIE1FVEhfVkFSQVJHUyB8IE1FVEhfS0VZV09SRFMsCiAgICAgICAgICAgICAgICAgICAgICAgICByZWFkbGlua19fZG9jX199LAogI2VuZGlmIC8qICFkZWZpbmVkKEhBVkVfUkVBRExJTkspICYmIGRlZmluZWQoTVNfV0lORE9XUykgKi8KLSAgICB7InJlbmFtZSIsICAgICAgICAgIChQeUNGdW5jdGlvbilwb3NpeF9yZW5hbWUsCi0gICAgICAgICAgICAgICAgICAgICAgICBNRVRIX1ZBUkFSR1MgfCBNRVRIX0tFWVdPUkRTLAotICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXhfcmVuYW1lX19kb2NfX30sCi0gICAgeyJyZXBsYWNlIiwgICAgICAgICAoUHlDRnVuY3Rpb24pcG9zaXhfcmVwbGFjZSwKLSAgICAgICAgICAgICAgICAgICAgICAgIE1FVEhfVkFSQVJHUyB8IE1FVEhfS0VZV09SRFMsCi0gICAgICAgICAgICAgICAgICAgICAgICBwb3NpeF9yZXBsYWNlX19kb2NfX30sCi0gICAgeyJybWRpciIsICAgICAgICAgICAoUHlDRnVuY3Rpb24pcG9zaXhfcm1kaXIsCi0gICAgICAgICAgICAgICAgICAgICAgICBNRVRIX1ZBUkFSR1MgfCBNRVRIX0tFWVdPUkRTLAotICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXhfcm1kaXJfX2RvY19ffSwKKyAgICBPU19SRU5BTUVfTUVUSE9EREVGCisgICAgT1NfUkVQTEFDRV9NRVRIT0RERUYKKyAgICBPU19STURJUl9NRVRIT0RERUYKICAgICB7InN0YXRfZmxvYXRfdGltZXMiLCBzdGF0X2Zsb2F0X3RpbWVzLCBNRVRIX1ZBUkFSR1MsIHN0YXRfZmxvYXRfdGltZXNfX2RvY19ffSwKLSNpZiBkZWZpbmVkKEhBVkVfU1lNTElOSykKLSAgICB7InN5bWxpbmsiLCAgICAgICAgIChQeUNGdW5jdGlvbilwb3NpeF9zeW1saW5rLAotICAgICAgICAgICAgICAgICAgICAgICAgTUVUSF9WQVJBUkdTIHwgTUVUSF9LRVlXT1JEUywKLSAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l4X3N5bWxpbmtfX2RvY19ffSwKLSNlbmRpZiAvKiBIQVZFX1NZTUxJTksgKi8KLSNpZmRlZiBIQVZFX1NZU1RFTQotICAgIHsic3lzdGVtIiwgICAgICAgICAgcG9zaXhfc3lzdGVtLCBNRVRIX1ZBUkFSR1MsIHBvc2l4X3N5c3RlbV9fZG9jX199LAotI2VuZGlmCi0gICAgeyJ1bWFzayIsICAgICAgICAgICBwb3NpeF91bWFzaywgTUVUSF9WQVJBUkdTLCBwb3NpeF91bWFza19fZG9jX199LAotI2lmZGVmIEhBVkVfVU5BTUUKLSAgICB7InVuYW1lIiwgICAgICAgICAgIHBvc2l4X3VuYW1lLCBNRVRIX05PQVJHUywgcG9zaXhfdW5hbWVfX2RvY19ffSwKLSNlbmRpZiAvKiBIQVZFX1VOQU1FICovCi0gICAgeyJ1bmxpbmsiLCAgICAgICAgICAoUHlDRnVuY3Rpb24pcG9zaXhfdW5saW5rLAotICAgICAgICAgICAgICAgICAgICAgICAgTUVUSF9WQVJBUkdTIHwgTUVUSF9LRVlXT1JEUywKLSAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l4X3VubGlua19fZG9jX199LAotICAgIHsicmVtb3ZlIiwgICAgICAgICAgKFB5Q0Z1bmN0aW9uKXBvc2l4X3VubGluaywKLSAgICAgICAgICAgICAgICAgICAgICAgIE1FVEhfVkFSQVJHUyB8IE1FVEhfS0VZV09SRFMsCi0gICAgICAgICAgICAgICAgICAgICAgICBwb3NpeF9yZW1vdmVfX2RvY19ffSwKLSAgICB7InV0aW1lIiwgICAgICAgICAgIChQeUNGdW5jdGlvbilwb3NpeF91dGltZSwKLSAgICAgICAgICAgICAgICAgICAgICAgIE1FVEhfVkFSQVJHUyB8IE1FVEhfS0VZV09SRFMsIHBvc2l4X3V0aW1lX19kb2NfX30sCi0jaWZkZWYgSEFWRV9USU1FUwotICAgIHsidGltZXMiLCAgICAgICAgICAgcG9zaXhfdGltZXMsIE1FVEhfTk9BUkdTLCBwb3NpeF90aW1lc19fZG9jX199LAotI2VuZGlmIC8qIEhBVkVfVElNRVMgKi8KLSAgICB7Il9leGl0IiwgICAgICAgICAgIHBvc2l4X19leGl0LCBNRVRIX1ZBUkFSR1MsIHBvc2l4X19leGl0X19kb2NfX30sCi0jaWZkZWYgSEFWRV9FWEVDVgotICAgIHsiZXhlY3YiLCAgICAgICAgICAgcG9zaXhfZXhlY3YsIE1FVEhfVkFSQVJHUywgcG9zaXhfZXhlY3ZfX2RvY19ffSwKLSAgICB7ImV4ZWN2ZSIsICAgICAgICAgIChQeUNGdW5jdGlvbilwb3NpeF9leGVjdmUsCi0gICAgICAgICAgICAgICAgICAgICAgICBNRVRIX1ZBUkFSR1MgfCBNRVRIX0tFWVdPUkRTLAotICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXhfZXhlY3ZlX19kb2NfX30sCi0jZW5kaWYgLyogSEFWRV9FWEVDViAqLwotI2lmZGVmIEhBVkVfU1BBV05WCi0gICAgeyJzcGF3bnYiLCAgICAgICAgICBwb3NpeF9zcGF3bnYsIE1FVEhfVkFSQVJHUywgcG9zaXhfc3Bhd252X19kb2NfX30sCi0gICAgeyJzcGF3bnZlIiwgICAgICAgICBwb3NpeF9zcGF3bnZlLCBNRVRIX1ZBUkFSR1MsIHBvc2l4X3NwYXdudmVfX2RvY19ffSwKLSNlbmRpZiAvKiBIQVZFX1NQQVdOViAqLwotI2lmZGVmIEhBVkVfRk9SSzEKLSAgICB7ImZvcmsxIiwgICAgICAgcG9zaXhfZm9yazEsIE1FVEhfTk9BUkdTLCBwb3NpeF9mb3JrMV9fZG9jX199LAotI2VuZGlmIC8qIEhBVkVfRk9SSzEgKi8KLSNpZmRlZiBIQVZFX0ZPUksKLSAgICB7ImZvcmsiLCAgICAgICAgICAgIHBvc2l4X2ZvcmssIE1FVEhfTk9BUkdTLCBwb3NpeF9mb3JrX19kb2NfX30sCi0jZW5kaWYgLyogSEFWRV9GT1JLICovCi0jaWZkZWYgSEFWRV9TQ0hFRF9ICi0jaWZkZWYgSEFWRV9TQ0hFRF9HRVRfUFJJT1JJVFlfTUFYCi0gICAgeyJzY2hlZF9nZXRfcHJpb3JpdHlfbWF4IiwgcG9zaXhfc2NoZWRfZ2V0X3ByaW9yaXR5X21heCwgTUVUSF9WQVJBUkdTLCBwb3NpeF9zY2hlZF9nZXRfcHJpb3JpdHlfbWF4X19kb2NfX30sCi0gICAgeyJzY2hlZF9nZXRfcHJpb3JpdHlfbWluIiwgcG9zaXhfc2NoZWRfZ2V0X3ByaW9yaXR5X21pbiwgTUVUSF9WQVJBUkdTLCBwb3NpeF9zY2hlZF9nZXRfcHJpb3JpdHlfbWluX19kb2NfX30sCi0jZW5kaWYKLSNpZmRlZiBIQVZFX1NDSEVEX1NFVFBBUkFNCi0gICAgeyJzY2hlZF9nZXRwYXJhbSIsIHBvc2l4X3NjaGVkX2dldHBhcmFtLCBNRVRIX1ZBUkFSR1MsIHBvc2l4X3NjaGVkX2dldHBhcmFtX19kb2NfX30sCi0jZW5kaWYKLSNpZmRlZiBIQVZFX1NDSEVEX1NFVFNDSEVEVUxFUgotICAgIHsic2NoZWRfZ2V0c2NoZWR1bGVyIiwgcG9zaXhfc2NoZWRfZ2V0c2NoZWR1bGVyLCBNRVRIX1ZBUkFSR1MsIHBvc2l4X3NjaGVkX2dldHNjaGVkdWxlcl9fZG9jX199LAotI2VuZGlmCi0jaWZkZWYgSEFWRV9TQ0hFRF9SUl9HRVRfSU5URVJWQUwKLSAgICB7InNjaGVkX3JyX2dldF9pbnRlcnZhbCIsIHBvc2l4X3NjaGVkX3JyX2dldF9pbnRlcnZhbCwgTUVUSF9WQVJBUkdTLCBwb3NpeF9zY2hlZF9ycl9nZXRfaW50ZXJ2YWxfX2RvY19ffSwKLSNlbmRpZgotI2lmZGVmIEhBVkVfU0NIRURfU0VUUEFSQU0KLSAgICB7InNjaGVkX3NldHBhcmFtIiwgcG9zaXhfc2NoZWRfc2V0cGFyYW0sIE1FVEhfVkFSQVJHUywgcG9zaXhfc2NoZWRfc2V0cGFyYW1fX2RvY19ffSwKLSNlbmRpZgotI2lmZGVmIEhBVkVfU0NIRURfU0VUU0NIRURVTEVSCi0gICAgeyJzY2hlZF9zZXRzY2hlZHVsZXIiLCBwb3NpeF9zY2hlZF9zZXRzY2hlZHVsZXIsIE1FVEhfVkFSQVJHUywgcG9zaXhfc2NoZWRfc2V0c2NoZWR1bGVyX19kb2NfX30sCi0jZW5kaWYKLSAgICB7InNjaGVkX3lpZWxkIiwgICAgIHBvc2l4X3NjaGVkX3lpZWxkLCBNRVRIX05PQVJHUywgcG9zaXhfc2NoZWRfeWllbGRfX2RvY19ffSwKLSNpZmRlZiBIQVZFX1NDSEVEX1NFVEFGRklOSVRZCi0gICAgeyJzY2hlZF9zZXRhZmZpbml0eSIsIHBvc2l4X3NjaGVkX3NldGFmZmluaXR5LCBNRVRIX1ZBUkFSR1MsIHBvc2l4X3NjaGVkX3NldGFmZmluaXR5X19kb2NfX30sCi0gICAgeyJzY2hlZF9nZXRhZmZpbml0eSIsIHBvc2l4X3NjaGVkX2dldGFmZmluaXR5LCBNRVRIX1ZBUkFSR1MsIHBvc2l4X3NjaGVkX2dldGFmZmluaXR5X19kb2NfX30sCi0jZW5kaWYKLSNlbmRpZiAvKiBIQVZFX1NDSEVEX0ggKi8KLSNpZiBkZWZpbmVkKEhBVkVfT1BFTlBUWSkgfHwgZGVmaW5lZChIQVZFX19HRVRQVFkpIHx8IGRlZmluZWQoSEFWRV9ERVZfUFRNWCkKLSAgICB7Im9wZW5wdHkiLCAgICAgICAgIHBvc2l4X29wZW5wdHksIE1FVEhfTk9BUkdTLCBwb3NpeF9vcGVucHR5X19kb2NfX30sCi0jZW5kaWYgLyogSEFWRV9PUEVOUFRZIHx8IEhBVkVfX0dFVFBUWSB8fCBIQVZFX0RFVl9QVE1YICovCi0jaWZkZWYgSEFWRV9GT1JLUFRZCi0gICAgeyJmb3JrcHR5IiwgICAgICAgICBwb3NpeF9mb3JrcHR5LCBNRVRIX05PQVJHUywgcG9zaXhfZm9ya3B0eV9fZG9jX199LAotI2VuZGlmIC8qIEhBVkVfRk9SS1BUWSAqLwotI2lmZGVmIEhBVkVfR0VURUdJRAotICAgIHsiZ2V0ZWdpZCIsICAgICAgICAgcG9zaXhfZ2V0ZWdpZCwgTUVUSF9OT0FSR1MsIHBvc2l4X2dldGVnaWRfX2RvY19ffSwKLSNlbmRpZiAvKiBIQVZFX0dFVEVHSUQgKi8KLSNpZmRlZiBIQVZFX0dFVEVVSUQKLSAgICB7ImdldGV1aWQiLCAgICAgICAgIHBvc2l4X2dldGV1aWQsIE1FVEhfTk9BUkdTLCBwb3NpeF9nZXRldWlkX19kb2NfX30sCi0jZW5kaWYgLyogSEFWRV9HRVRFVUlEICovCi0jaWZkZWYgSEFWRV9HRVRHSUQKLSAgICB7ImdldGdpZCIsICAgICAgICAgIHBvc2l4X2dldGdpZCwgTUVUSF9OT0FSR1MsIHBvc2l4X2dldGdpZF9fZG9jX199LAotI2VuZGlmIC8qIEhBVkVfR0VUR0lEICovCisgICAgT1NfU1lNTElOS19NRVRIT0RERUYKKyAgICBPU19TWVNURU1fTUVUSE9EREVGCisgICAgT1NfVU1BU0tfTUVUSE9EREVGCisgICAgT1NfVU5BTUVfTUVUSE9EREVGCisgICAgT1NfVU5MSU5LX01FVEhPRERFRgorICAgIE9TX1JFTU9WRV9NRVRIT0RERUYKKyAgICBPU19VVElNRV9NRVRIT0RERUYKKyAgICBPU19USU1FU19NRVRIT0RERUYKKyAgICBPU19fRVhJVF9NRVRIT0RERUYKKyAgICBPU19FWEVDVl9NRVRIT0RERUYKKyAgICBPU19FWEVDVkVfTUVUSE9EREVGCisgICAgT1NfU1BBV05WX01FVEhPRERFRgorICAgIE9TX1NQQVdOVkVfTUVUSE9EREVGCisgICAgT1NfRk9SSzFfTUVUSE9EREVGCisgICAgT1NfRk9SS19NRVRIT0RERUYKKyAgICBPU19TQ0hFRF9HRVRfUFJJT1JJVFlfTUFYX01FVEhPRERFRgorICAgIE9TX1NDSEVEX0dFVF9QUklPUklUWV9NSU5fTUVUSE9EREVGCisgICAgT1NfU0NIRURfR0VUUEFSQU1fTUVUSE9EREVGCisgICAgT1NfU0NIRURfR0VUU0NIRURVTEVSX01FVEhPRERFRgorICAgIE9TX1NDSEVEX1JSX0dFVF9JTlRFUlZBTF9NRVRIT0RERUYKKyAgICBPU19TQ0hFRF9TRVRQQVJBTV9NRVRIT0RERUYKKyAgICBPU19TQ0hFRF9TRVRTQ0hFRFVMRVJfTUVUSE9EREVGCisgICAgT1NfU0NIRURfWUlFTERfTUVUSE9EREVGCisgICAgT1NfU0NIRURfU0VUQUZGSU5JVFlfTUVUSE9EREVGCisgICAgT1NfU0NIRURfR0VUQUZGSU5JVFlfTUVUSE9EREVGCisgICAgT1NfT1BFTlBUWV9NRVRIT0RERUYKKyAgICBPU19GT1JLUFRZX01FVEhPRERFRgorICAgIE9TX0dFVEVHSURfTUVUSE9EREVGCisgICAgT1NfR0VURVVJRF9NRVRIT0RERUYKKyAgICBPU19HRVRHSURfTUVUSE9EREVGCiAjaWZkZWYgSEFWRV9HRVRHUk9VUExJU1QKICAgICB7ImdldGdyb3VwbGlzdCIsICAgIHBvc2l4X2dldGdyb3VwbGlzdCwgTUVUSF9WQVJBUkdTLCBwb3NpeF9nZXRncm91cGxpc3RfX2RvY19ffSwKICNlbmRpZgotI2lmZGVmIEhBVkVfR0VUR1JPVVBTCi0gICAgeyJnZXRncm91cHMiLCAgICAgICBwb3NpeF9nZXRncm91cHMsIE1FVEhfTk9BUkdTLCBwb3NpeF9nZXRncm91cHNfX2RvY19ffSwKLSNlbmRpZgotICAgIHsiZ2V0cGlkIiwgICAgICAgICAgcG9zaXhfZ2V0cGlkLCBNRVRIX05PQVJHUywgcG9zaXhfZ2V0cGlkX19kb2NfX30sCi0jaWZkZWYgSEFWRV9HRVRQR1JQCi0gICAgeyJnZXRwZ3JwIiwgICAgICAgICBwb3NpeF9nZXRwZ3JwLCBNRVRIX05PQVJHUywgcG9zaXhfZ2V0cGdycF9fZG9jX199LAotI2VuZGlmIC8qIEhBVkVfR0VUUEdSUCAqLwotI2lmZGVmIEhBVkVfR0VUUFBJRAotICAgIHsiZ2V0cHBpZCIsICAgICAgICAgcG9zaXhfZ2V0cHBpZCwgTUVUSF9OT0FSR1MsIHBvc2l4X2dldHBwaWRfX2RvY19ffSwKLSNlbmRpZiAvKiBIQVZFX0dFVFBQSUQgKi8KLSNpZmRlZiBIQVZFX0dFVFVJRAotICAgIHsiZ2V0dWlkIiwgICAgICAgICAgcG9zaXhfZ2V0dWlkLCBNRVRIX05PQVJHUywgcG9zaXhfZ2V0dWlkX19kb2NfX30sCi0jZW5kaWYgLyogSEFWRV9HRVRVSUQgKi8KLSNpZmRlZiBIQVZFX0dFVExPR0lOCi0gICAgeyJnZXRsb2dpbiIsICAgICAgICBwb3NpeF9nZXRsb2dpbiwgTUVUSF9OT0FSR1MsIHBvc2l4X2dldGxvZ2luX19kb2NfX30sCi0jZW5kaWYKLSNpZmRlZiBIQVZFX0tJTEwKLSAgICB7ImtpbGwiLCAgICAgICAgICAgIHBvc2l4X2tpbGwsIE1FVEhfVkFSQVJHUywgcG9zaXhfa2lsbF9fZG9jX199LAotI2VuZGlmIC8qIEhBVkVfS0lMTCAqLwotI2lmZGVmIEhBVkVfS0lMTFBHCi0gICAgeyJraWxscGciLCAgICAgICAgICBwb3NpeF9raWxscGcsIE1FVEhfVkFSQVJHUywgcG9zaXhfa2lsbHBnX19kb2NfX30sCi0jZW5kaWYgLyogSEFWRV9LSUxMUEcgKi8KLSNpZmRlZiBIQVZFX1BMT0NLCi0gICAgeyJwbG9jayIsICAgICAgICAgICBwb3NpeF9wbG9jaywgTUVUSF9WQVJBUkdTLCBwb3NpeF9wbG9ja19fZG9jX199LAotI2VuZGlmIC8qIEhBVkVfUExPQ0sgKi8KKyAgICBPU19HRVRHUk9VUFNfTUVUSE9EREVGCisgICAgT1NfR0VUUElEX01FVEhPRERFRgorICAgIE9TX0dFVFBHUlBfTUVUSE9EREVGCisgICAgT1NfR0VUUFBJRF9NRVRIT0RERUYKKyAgICBPU19HRVRVSURfTUVUSE9EREVGCisgICAgT1NfR0VUTE9HSU5fTUVUSE9EREVGCisgICAgT1NfS0lMTF9NRVRIT0RERUYKKyAgICBPU19LSUxMUEdfTUVUSE9EREVGCisgICAgT1NfUExPQ0tfTUVUSE9EREVGCiAjaWZkZWYgTVNfV0lORE9XUwogICAgIHsic3RhcnRmaWxlIiwgICAgICAgd2luMzJfc3RhcnRmaWxlLCBNRVRIX1ZBUkFSR1MsIHdpbjMyX3N0YXJ0ZmlsZV9fZG9jX199LAotICAgIHsia2lsbCIsICAgIHdpbjMyX2tpbGwsIE1FVEhfVkFSQVJHUywgd2luMzJfa2lsbF9fZG9jX199LAogI2VuZGlmCi0jaWZkZWYgSEFWRV9TRVRVSUQKLSAgICB7InNldHVpZCIsICAgICAgICAgIHBvc2l4X3NldHVpZCwgTUVUSF9WQVJBUkdTLCBwb3NpeF9zZXR1aWRfX2RvY19ffSwKLSNlbmRpZiAvKiBIQVZFX1NFVFVJRCAqLwotI2lmZGVmIEhBVkVfU0VURVVJRAotICAgIHsic2V0ZXVpZCIsICAgICAgICAgcG9zaXhfc2V0ZXVpZCwgTUVUSF9WQVJBUkdTLCBwb3NpeF9zZXRldWlkX19kb2NfX30sCi0jZW5kaWYgLyogSEFWRV9TRVRFVUlEICovCi0jaWZkZWYgSEFWRV9TRVRFR0lECi0gICAgeyJzZXRlZ2lkIiwgICAgICAgICBwb3NpeF9zZXRlZ2lkLCBNRVRIX1ZBUkFSR1MsIHBvc2l4X3NldGVnaWRfX2RvY19ffSwKLSNlbmRpZiAvKiBIQVZFX1NFVEVHSUQgKi8KLSNpZmRlZiBIQVZFX1NFVFJFVUlECi0gICAgeyJzZXRyZXVpZCIsICAgICAgICBwb3NpeF9zZXRyZXVpZCwgTUVUSF9WQVJBUkdTLCBwb3NpeF9zZXRyZXVpZF9fZG9jX199LAotI2VuZGlmIC8qIEhBVkVfU0VUUkVVSUQgKi8KLSNpZmRlZiBIQVZFX1NFVFJFR0lECi0gICAgeyJzZXRyZWdpZCIsICAgICAgICBwb3NpeF9zZXRyZWdpZCwgTUVUSF9WQVJBUkdTLCBwb3NpeF9zZXRyZWdpZF9fZG9jX199LAotI2VuZGlmIC8qIEhBVkVfU0VUUkVHSUQgKi8KLSNpZmRlZiBIQVZFX1NFVEdJRAotICAgIHsic2V0Z2lkIiwgICAgICAgICAgcG9zaXhfc2V0Z2lkLCBNRVRIX1ZBUkFSR1MsIHBvc2l4X3NldGdpZF9fZG9jX199LAotI2VuZGlmIC8qIEhBVkVfU0VUR0lEICovCi0jaWZkZWYgSEFWRV9TRVRHUk9VUFMKLSAgICB7InNldGdyb3VwcyIsICAgICAgIHBvc2l4X3NldGdyb3VwcywgTUVUSF9PLCBwb3NpeF9zZXRncm91cHNfX2RvY19ffSwKLSNlbmRpZiAvKiBIQVZFX1NFVEdST1VQUyAqLworICAgIE9TX1NFVFVJRF9NRVRIT0RERUYKKyAgICBPU19TRVRFVUlEX01FVEhPRERFRgorICAgIE9TX1NFVFJFVUlEX01FVEhPRERFRgorICAgIE9TX1NFVEdJRF9NRVRIT0RERUYKKyAgICBPU19TRVRFR0lEX01FVEhPRERFRgorICAgIE9TX1NFVFJFR0lEX01FVEhPRERFRgorICAgIE9TX1NFVEdST1VQU19NRVRIT0RERUYKICNpZmRlZiBIQVZFX0lOSVRHUk9VUFMKICAgICB7ImluaXRncm91cHMiLCAgICAgIHBvc2l4X2luaXRncm91cHMsIE1FVEhfVkFSQVJHUywgcG9zaXhfaW5pdGdyb3Vwc19fZG9jX199LAogI2VuZGlmIC8qIEhBVkVfSU5JVEdST1VQUyAqLwotI2lmZGVmIEhBVkVfR0VUUEdJRAotICAgIHsiZ2V0cGdpZCIsICAgICAgICAgcG9zaXhfZ2V0cGdpZCwgTUVUSF9WQVJBUkdTLCBwb3NpeF9nZXRwZ2lkX19kb2NfX30sCi0jZW5kaWYgLyogSEFWRV9HRVRQR0lEICovCi0jaWZkZWYgSEFWRV9TRVRQR1JQCi0gICAgeyJzZXRwZ3JwIiwgICAgICAgICBwb3NpeF9zZXRwZ3JwLCBNRVRIX05PQVJHUywgcG9zaXhfc2V0cGdycF9fZG9jX199LAotI2VuZGlmIC8qIEhBVkVfU0VUUEdSUCAqLwotI2lmZGVmIEhBVkVfV0FJVAotICAgIHsid2FpdCIsICAgICAgICAgICAgcG9zaXhfd2FpdCwgTUVUSF9OT0FSR1MsIHBvc2l4X3dhaXRfX2RvY19ffSwKLSNlbmRpZiAvKiBIQVZFX1dBSVQgKi8KLSNpZmRlZiBIQVZFX1dBSVQzCi0gICAgeyJ3YWl0MyIsICAgICAgICAgICBwb3NpeF93YWl0MywgTUVUSF9WQVJBUkdTLCBwb3NpeF93YWl0M19fZG9jX199LAotI2VuZGlmIC8qIEhBVkVfV0FJVDMgKi8KLSNpZmRlZiBIQVZFX1dBSVQ0Ci0gICAgeyJ3YWl0NCIsICAgICAgICAgICBwb3NpeF93YWl0NCwgTUVUSF9WQVJBUkdTLCBwb3NpeF93YWl0NF9fZG9jX199LAotI2VuZGlmIC8qIEhBVkVfV0FJVDQgKi8KLSNpZiBkZWZpbmVkKEhBVkVfV0FJVElEKSAmJiAhZGVmaW5lZChfX0FQUExFX18pCi0gICAgeyJ3YWl0aWQiLCAgICAgICAgICBwb3NpeF93YWl0aWQsIE1FVEhfVkFSQVJHUywgcG9zaXhfd2FpdGlkX19kb2NfX30sCi0jZW5kaWYKLSNpZiBkZWZpbmVkKEhBVkVfV0FJVFBJRCkgfHwgZGVmaW5lZChIQVZFX0NXQUlUKQotICAgIHsid2FpdHBpZCIsICAgICAgICAgcG9zaXhfd2FpdHBpZCwgTUVUSF9WQVJBUkdTLCBwb3NpeF93YWl0cGlkX19kb2NfX30sCi0jZW5kaWYgLyogSEFWRV9XQUlUUElEICovCi0jaWZkZWYgSEFWRV9HRVRTSUQKLSAgICB7ImdldHNpZCIsICAgICAgICAgIHBvc2l4X2dldHNpZCwgTUVUSF9WQVJBUkdTLCBwb3NpeF9nZXRzaWRfX2RvY19ffSwKLSNlbmRpZiAvKiBIQVZFX0dFVFNJRCAqLwotI2lmZGVmIEhBVkVfU0VUU0lECi0gICAgeyJzZXRzaWQiLCAgICAgICAgICBwb3NpeF9zZXRzaWQsIE1FVEhfTk9BUkdTLCBwb3NpeF9zZXRzaWRfX2RvY19ffSwKLSNlbmRpZiAvKiBIQVZFX1NFVFNJRCAqLwotI2lmZGVmIEhBVkVfU0VUUEdJRAotICAgIHsic2V0cGdpZCIsICAgICAgICAgcG9zaXhfc2V0cGdpZCwgTUVUSF9WQVJBUkdTLCBwb3NpeF9zZXRwZ2lkX19kb2NfX30sCi0jZW5kaWYgLyogSEFWRV9TRVRQR0lEICovCi0jaWZkZWYgSEFWRV9UQ0dFVFBHUlAKLSAgICB7InRjZ2V0cGdycCIsICAgICAgIHBvc2l4X3RjZ2V0cGdycCwgTUVUSF9WQVJBUkdTLCBwb3NpeF90Y2dldHBncnBfX2RvY19ffSwKLSNlbmRpZiAvKiBIQVZFX1RDR0VUUEdSUCAqLwotI2lmZGVmIEhBVkVfVENTRVRQR1JQCi0gICAgeyJ0Y3NldHBncnAiLCAgICAgICBwb3NpeF90Y3NldHBncnAsIE1FVEhfVkFSQVJHUywgcG9zaXhfdGNzZXRwZ3JwX19kb2NfX30sCi0jZW5kaWYgLyogSEFWRV9UQ1NFVFBHUlAgKi8KLSAgICB7Im9wZW4iLCAgICAgICAgICAgIChQeUNGdW5jdGlvbilwb3NpeF9vcGVuLFwKLSAgICAgICAgICAgICAgICAgICAgICAgIE1FVEhfVkFSQVJHUyB8IE1FVEhfS0VZV09SRFMsCi0gICAgICAgICAgICAgICAgICAgICAgICBwb3NpeF9vcGVuX19kb2NfX30sCi0gICAgeyJjbG9zZSIsICAgICAgICAgICBwb3NpeF9jbG9zZV8sIE1FVEhfVkFSQVJHUywgcG9zaXhfY2xvc2VfX2RvY19ffSwKLSAgICB7ImNsb3NlcmFuZ2UiLCAgICAgIHBvc2l4X2Nsb3NlcmFuZ2UsIE1FVEhfVkFSQVJHUywgcG9zaXhfY2xvc2VyYW5nZV9fZG9jX199LAotICAgIHsiZGV2aWNlX2VuY29kaW5nIiwgZGV2aWNlX2VuY29kaW5nLCBNRVRIX1ZBUkFSR1MsIGRldmljZV9lbmNvZGluZ19fZG9jX199LAotICAgIHsiZHVwIiwgICAgICAgICAgICAgcG9zaXhfZHVwLCBNRVRIX1ZBUkFSR1MsIHBvc2l4X2R1cF9fZG9jX199LAotICAgIHsiZHVwMiIsICAgICAgICAgICAgKFB5Q0Z1bmN0aW9uKXBvc2l4X2R1cDIsCi0gICAgICAgICAgICAgICAgICAgICAgICBNRVRIX1ZBUkFSR1MgfCBNRVRIX0tFWVdPUkRTLCBwb3NpeF9kdXAyX19kb2NfX30sCi0jaWZkZWYgSEFWRV9MT0NLRgotICAgIHsibG9ja2YiLCAgICAgICAgICAgcG9zaXhfbG9ja2YsIE1FVEhfVkFSQVJHUywgcG9zaXhfbG9ja2ZfX2RvY19ffSwKLSNlbmRpZgotICAgIHsibHNlZWsiLCAgICAgICAgICAgcG9zaXhfbHNlZWssIE1FVEhfVkFSQVJHUywgcG9zaXhfbHNlZWtfX2RvY19ffSwKLSAgICB7InJlYWQiLCAgICAgICAgICAgIHBvc2l4X3JlYWQsIE1FVEhfVkFSQVJHUywgcG9zaXhfcmVhZF9fZG9jX199LAotI2lmZGVmIEhBVkVfUkVBRFYKLSAgICB7InJlYWR2IiwgICAgICAgICAgIHBvc2l4X3JlYWR2LCBNRVRIX1ZBUkFSR1MsIHBvc2l4X3JlYWR2X19kb2NfX30sCi0jZW5kaWYKLSNpZmRlZiBIQVZFX1BSRUFECi0gICAgeyJwcmVhZCIsICAgICAgICAgICBwb3NpeF9wcmVhZCwgTUVUSF9WQVJBUkdTLCBwb3NpeF9wcmVhZF9fZG9jX199LAotI2VuZGlmCi0gICAgeyJ3cml0ZSIsICAgICAgICAgICBwb3NpeF93cml0ZSwgTUVUSF9WQVJBUkdTLCBwb3NpeF93cml0ZV9fZG9jX199LAotI2lmZGVmIEhBVkVfV1JJVEVWCi0gICAgeyJ3cml0ZXYiLCAgICAgICAgICBwb3NpeF93cml0ZXYsIE1FVEhfVkFSQVJHUywgcG9zaXhfd3JpdGV2X19kb2NfX30sCi0jZW5kaWYKLSNpZmRlZiBIQVZFX1BXUklURQotICAgIHsicHdyaXRlIiwgICAgICAgICAgcG9zaXhfcHdyaXRlLCBNRVRIX1ZBUkFSR1MsIHBvc2l4X3B3cml0ZV9fZG9jX199LAotI2VuZGlmCisgICAgT1NfR0VUUEdJRF9NRVRIT0RERUYKKyAgICBPU19TRVRQR1JQX01FVEhPRERFRgorICAgIE9TX1dBSVRfTUVUSE9EREVGCisgICAgT1NfV0FJVDNfTUVUSE9EREVGCisgICAgT1NfV0FJVDRfTUVUSE9EREVGCisgICAgT1NfV0FJVElEX01FVEhPRERFRgorICAgIE9TX1dBSVRQSURfTUVUSE9EREVGCisgICAgT1NfR0VUU0lEX01FVEhPRERFRgorICAgIE9TX1NFVFNJRF9NRVRIT0RERUYKKyAgICBPU19TRVRQR0lEX01FVEhPRERFRgorICAgIE9TX1RDR0VUUEdSUF9NRVRIT0RERUYKKyAgICBPU19UQ1NFVFBHUlBfTUVUSE9EREVGCisgICAgT1NfT1BFTl9NRVRIT0RERUYKKyAgICBPU19DTE9TRV9NRVRIT0RERUYKKyAgICBPU19DTE9TRVJBTkdFX01FVEhPRERFRgorICAgIE9TX0RFVklDRV9FTkNPRElOR19NRVRIT0RERUYKKyAgICBPU19EVVBfTUVUSE9EREVGCisgICAgT1NfRFVQMl9NRVRIT0RERUYKKyAgICBPU19MT0NLRl9NRVRIT0RERUYKKyAgICBPU19MU0VFS19NRVRIT0RERUYKKyAgICBPU19SRUFEX01FVEhPRERFRgorICAgIE9TX1JFQURWX01FVEhPRERFRgorICAgIE9TX1BSRUFEX01FVEhPRERFRgorICAgIE9TX1dSSVRFX01FVEhPRERFRgorICAgIE9TX1dSSVRFVl9NRVRIT0RERUYKKyAgICBPU19QV1JJVEVfTUVUSE9EREVGCiAjaWZkZWYgSEFWRV9TRU5ERklMRQogICAgIHsic2VuZGZpbGUiLCAgICAgICAgKFB5Q0Z1bmN0aW9uKXBvc2l4X3NlbmRmaWxlLCBNRVRIX1ZBUkFSR1MgfCBNRVRIX0tFWVdPUkRTLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l4X3NlbmRmaWxlX19kb2NfX30sCiAjZW5kaWYKLSAgICB7ImZzdGF0IiwgICAgICAgICAgIHBvc2l4X2ZzdGF0LCBNRVRIX1ZBUkFSR1MsIHBvc2l4X2ZzdGF0X19kb2NfX30sCi0gICAgeyJpc2F0dHkiLCAgICAgICAgICBwb3NpeF9pc2F0dHksIE1FVEhfVkFSQVJHUywgcG9zaXhfaXNhdHR5X19kb2NfX30sCi0jaWZkZWYgSEFWRV9QSVBFCi0gICAgeyJwaXBlIiwgICAgICAgICAgICBwb3NpeF9waXBlLCBNRVRIX05PQVJHUywgcG9zaXhfcGlwZV9fZG9jX199LAotI2VuZGlmCi0jaWZkZWYgSEFWRV9QSVBFMgotICAgIHsicGlwZTIiLCAgICAgICAgICAgcG9zaXhfcGlwZTIsIE1FVEhfTywgcG9zaXhfcGlwZTJfX2RvY19ffSwKLSNlbmRpZgotI2lmZGVmIEhBVkVfTUtGSUZPCi0gICAgeyJta2ZpZm8iLCAgICAgICAgICAoUHlDRnVuY3Rpb24pcG9zaXhfbWtmaWZvLAotICAgICAgICAgICAgICAgICAgICAgICAgTUVUSF9WQVJBUkdTIHwgTUVUSF9LRVlXT1JEUywKLSAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l4X21rZmlmb19fZG9jX199LAotI2VuZGlmCi0jaWYgZGVmaW5lZChIQVZFX01LTk9EKSAmJiBkZWZpbmVkKEhBVkVfTUFLRURFVikKLSAgICB7Im1rbm9kIiwgICAgICAgICAgIChQeUNGdW5jdGlvbilwb3NpeF9ta25vZCwKLSAgICAgICAgICAgICAgICAgICAgICAgIE1FVEhfVkFSQVJHUyB8IE1FVEhfS0VZV09SRFMsCi0gICAgICAgICAgICAgICAgICAgICAgICBwb3NpeF9ta25vZF9fZG9jX199LAotI2VuZGlmCi0jaWZkZWYgSEFWRV9ERVZJQ0VfTUFDUk9TCi0gICAgeyJtYWpvciIsICAgICAgICAgICBwb3NpeF9tYWpvciwgTUVUSF9WQVJBUkdTLCBwb3NpeF9tYWpvcl9fZG9jX199LAotICAgIHsibWlub3IiLCAgICAgICAgICAgcG9zaXhfbWlub3IsIE1FVEhfVkFSQVJHUywgcG9zaXhfbWlub3JfX2RvY19ffSwKLSAgICB7Im1ha2VkZXYiLCAgICAgICAgIHBvc2l4X21ha2VkZXYsIE1FVEhfVkFSQVJHUywgcG9zaXhfbWFrZWRldl9fZG9jX199LAotI2VuZGlmCi0jaWZkZWYgSEFWRV9GVFJVTkNBVEUKLSAgICB7ImZ0cnVuY2F0ZSIsICAgICAgIHBvc2l4X2Z0cnVuY2F0ZSwgTUVUSF9WQVJBUkdTLCBwb3NpeF9mdHJ1bmNhdGVfX2RvY19ffSwKLSNlbmRpZgotI2lmZGVmIEhBVkVfVFJVTkNBVEUKLSAgICB7InRydW5jYXRlIiwgICAgICAgIChQeUNGdW5jdGlvbilwb3NpeF90cnVuY2F0ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgIE1FVEhfVkFSQVJHUyB8IE1FVEhfS0VZV09SRFMsCi0gICAgICAgICAgICAgICAgICAgICAgICBwb3NpeF90cnVuY2F0ZV9fZG9jX199LAotI2VuZGlmCi0jaWYgZGVmaW5lZChIQVZFX1BPU0lYX0ZBTExPQ0FURSkgJiYgIWRlZmluZWQoUE9TSVhfRkFEVklTRV9BSVhfQlVHKQotICAgIHsicG9zaXhfZmFsbG9jYXRlIiwgcG9zaXhfcG9zaXhfZmFsbG9jYXRlLCBNRVRIX1ZBUkFSR1MsIHBvc2l4X3Bvc2l4X2ZhbGxvY2F0ZV9fZG9jX199LAotI2VuZGlmCi0jaWYgZGVmaW5lZChIQVZFX1BPU0lYX0ZBRFZJU0UpICYmICFkZWZpbmVkKFBPU0lYX0ZBRFZJU0VfQUlYX0JVRykKLSAgICB7InBvc2l4X2ZhZHZpc2UiLCAgIHBvc2l4X3Bvc2l4X2ZhZHZpc2UsIE1FVEhfVkFSQVJHUywgcG9zaXhfcG9zaXhfZmFkdmlzZV9fZG9jX199LAotI2VuZGlmCi0jaWZkZWYgSEFWRV9QVVRFTlYKLSAgICB7InB1dGVudiIsICAgICAgICAgIHBvc2l4X3B1dGVudiwgTUVUSF9WQVJBUkdTLCBwb3NpeF9wdXRlbnZfX2RvY19ffSwKLSNlbmRpZgotI2lmZGVmIEhBVkVfVU5TRVRFTlYKLSAgICB7InVuc2V0ZW52IiwgICAgICAgIHBvc2l4X3Vuc2V0ZW52LCBNRVRIX1ZBUkFSR1MsIHBvc2l4X3Vuc2V0ZW52X19kb2NfX30sCi0jZW5kaWYKLSAgICB7InN0cmVycm9yIiwgICAgICAgIHBvc2l4X3N0cmVycm9yLCBNRVRIX1ZBUkFSR1MsIHBvc2l4X3N0cmVycm9yX19kb2NfX30sCi0jaWZkZWYgSEFWRV9GQ0hESVIKLSAgICB7ImZjaGRpciIsICAgICAgICAgIHBvc2l4X2ZjaGRpciwgTUVUSF9PLCBwb3NpeF9mY2hkaXJfX2RvY19ffSwKLSNlbmRpZgotI2lmZGVmIEhBVkVfRlNZTkMKLSAgICB7ImZzeW5jIiwgICAgICAgcG9zaXhfZnN5bmMsIE1FVEhfTywgcG9zaXhfZnN5bmNfX2RvY19ffSwKLSNlbmRpZgotI2lmZGVmIEhBVkVfU1lOQwotICAgIHsic3luYyIsICAgICAgICBwb3NpeF9zeW5jLCBNRVRIX05PQVJHUywgcG9zaXhfc3luY19fZG9jX199LAotI2VuZGlmCi0jaWZkZWYgSEFWRV9GREFUQVNZTkMKLSAgICB7ImZkYXRhc3luYyIsICAgcG9zaXhfZmRhdGFzeW5jLCAgTUVUSF9PLCBwb3NpeF9mZGF0YXN5bmNfX2RvY19ffSwKLSNlbmRpZgotI2lmZGVmIEhBVkVfU1lTX1dBSVRfSAotI2lmZGVmIFdDT1JFRFVNUAotICAgIHsiV0NPUkVEVU1QIiwgICAgICAgcG9zaXhfV0NPUkVEVU1QLCBNRVRIX1ZBUkFSR1MsIHBvc2l4X1dDT1JFRFVNUF9fZG9jX199LAotI2VuZGlmIC8qIFdDT1JFRFVNUCAqLwotI2lmZGVmIFdJRkNPTlRJTlVFRAotICAgIHsiV0lGQ09OVElOVUVEIixwb3NpeF9XSUZDT05USU5VRUQsIE1FVEhfVkFSQVJHUywgcG9zaXhfV0lGQ09OVElOVUVEX19kb2NfX30sCi0jZW5kaWYgLyogV0lGQ09OVElOVUVEICovCi0jaWZkZWYgV0lGU1RPUFBFRAotICAgIHsiV0lGU1RPUFBFRCIsICAgICAgcG9zaXhfV0lGU1RPUFBFRCwgTUVUSF9WQVJBUkdTLCBwb3NpeF9XSUZTVE9QUEVEX19kb2NfX30sCi0jZW5kaWYgLyogV0lGU1RPUFBFRCAqLwotI2lmZGVmIFdJRlNJR05BTEVECi0gICAgeyJXSUZTSUdOQUxFRCIsICAgICBwb3NpeF9XSUZTSUdOQUxFRCwgTUVUSF9WQVJBUkdTLCBwb3NpeF9XSUZTSUdOQUxFRF9fZG9jX199LAotI2VuZGlmIC8qIFdJRlNJR05BTEVEICovCi0jaWZkZWYgV0lGRVhJVEVECi0gICAgeyJXSUZFWElURUQiLCAgICAgICBwb3NpeF9XSUZFWElURUQsIE1FVEhfVkFSQVJHUywgcG9zaXhfV0lGRVhJVEVEX19kb2NfX30sCi0jZW5kaWYgLyogV0lGRVhJVEVEICovCi0jaWZkZWYgV0VYSVRTVEFUVVMKLSAgICB7IldFWElUU1RBVFVTIiwgICAgIHBvc2l4X1dFWElUU1RBVFVTLCBNRVRIX1ZBUkFSR1MsIHBvc2l4X1dFWElUU1RBVFVTX19kb2NfX30sCi0jZW5kaWYgLyogV0VYSVRTVEFUVVMgKi8KLSNpZmRlZiBXVEVSTVNJRwotICAgIHsiV1RFUk1TSUciLCAgICAgICAgcG9zaXhfV1RFUk1TSUcsIE1FVEhfVkFSQVJHUywgcG9zaXhfV1RFUk1TSUdfX2RvY19ffSwKLSNlbmRpZiAvKiBXVEVSTVNJRyAqLwotI2lmZGVmIFdTVE9QU0lHCi0gICAgeyJXU1RPUFNJRyIsICAgICAgICBwb3NpeF9XU1RPUFNJRywgTUVUSF9WQVJBUkdTLCBwb3NpeF9XU1RPUFNJR19fZG9jX199LAotI2VuZGlmIC8qIFdTVE9QU0lHICovCi0jZW5kaWYgLyogSEFWRV9TWVNfV0FJVF9IICovCi0jaWYgZGVmaW5lZChIQVZFX0ZTVEFUVkZTKSAmJiBkZWZpbmVkKEhBVkVfU1lTX1NUQVRWRlNfSCkKLSAgICB7ImZzdGF0dmZzIiwgICAgICAgIHBvc2l4X2ZzdGF0dmZzLCBNRVRIX1ZBUkFSR1MsIHBvc2l4X2ZzdGF0dmZzX19kb2NfX30sCi0jZW5kaWYKLSNpZiBkZWZpbmVkKEhBVkVfU1RBVFZGUykgJiYgZGVmaW5lZChIQVZFX1NZU19TVEFUVkZTX0gpCi0gICAgeyJzdGF0dmZzIiwgICAgICAgICAoUHlDRnVuY3Rpb24pcG9zaXhfc3RhdHZmcywKLSAgICAgICAgICAgICAgICAgICAgICAgIE1FVEhfVkFSQVJHUyB8IE1FVEhfS0VZV09SRFMsCi0gICAgICAgICAgICAgICAgICAgICAgICBwb3NpeF9zdGF0dmZzX19kb2NfX30sCi0jZW5kaWYKLSNpZmRlZiBIQVZFX0NPTkZTVFIKLSAgICB7ImNvbmZzdHIiLCAgICAgICAgIHBvc2l4X2NvbmZzdHIsIE1FVEhfVkFSQVJHUywgcG9zaXhfY29uZnN0cl9fZG9jX199LAotI2VuZGlmCi0jaWZkZWYgSEFWRV9TWVNDT05GCi0gICAgeyJzeXNjb25mIiwgICAgICAgICBwb3NpeF9zeXNjb25mLCBNRVRIX1ZBUkFSR1MsIHBvc2l4X3N5c2NvbmZfX2RvY19ffSwKLSNlbmRpZgotI2lmZGVmIEhBVkVfRlBBVEhDT05GCi0gICAgeyJmcGF0aGNvbmYiLCAgICAgICBwb3NpeF9mcGF0aGNvbmYsIE1FVEhfVkFSQVJHUywgcG9zaXhfZnBhdGhjb25mX19kb2NfX30sCi0jZW5kaWYKLSNpZmRlZiBIQVZFX1BBVEhDT05GCi0gICAgeyJwYXRoY29uZiIsICAgICAgICAoUHlDRnVuY3Rpb24pcG9zaXhfcGF0aGNvbmYsCi0gICAgICAgICAgICAgICAgICAgICAgICBNRVRIX1ZBUkFSR1MgfCBNRVRIX0tFWVdPUkRTLAotICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXhfcGF0aGNvbmZfX2RvY19ffSwKLSNlbmRpZgotICAgIHsiYWJvcnQiLCAgICAgICAgICAgcG9zaXhfYWJvcnQsIE1FVEhfTk9BUkdTLCBwb3NpeF9hYm9ydF9fZG9jX199LAorICAgIE9TX0ZTVEFUX01FVEhPRERFRgorICAgIE9TX0lTQVRUWV9NRVRIT0RERUYKKyAgICBPU19QSVBFX01FVEhPRERFRgorICAgIE9TX1BJUEUyX01FVEhPRERFRgorICAgIE9TX01LRklGT19NRVRIT0RERUYKKyAgICBPU19NS05PRF9NRVRIT0RERUYKKyAgICBPU19NQUpPUl9NRVRIT0RERUYKKyAgICBPU19NSU5PUl9NRVRIT0RERUYKKyAgICBPU19NQUtFREVWX01FVEhPRERFRgorICAgIE9TX0ZUUlVOQ0FURV9NRVRIT0RERUYKKyAgICBPU19UUlVOQ0FURV9NRVRIT0RERUYKKyAgICBPU19QT1NJWF9GQUxMT0NBVEVfTUVUSE9EREVGCisgICAgT1NfUE9TSVhfRkFEVklTRV9NRVRIT0RERUYKKyAgICBPU19QVVRFTlZfTUVUSE9EREVGCisgICAgT1NfVU5TRVRFTlZfTUVUSE9EREVGCisgICAgT1NfU1RSRVJST1JfTUVUSE9EREVGCisgICAgT1NfRkNIRElSX01FVEhPRERFRgorICAgIE9TX0ZTWU5DX01FVEhPRERFRgorICAgIE9TX1NZTkNfTUVUSE9EREVGCisgICAgT1NfRkRBVEFTWU5DX01FVEhPRERFRgorICAgIE9TX1dDT1JFRFVNUF9NRVRIT0RERUYKKyAgICBPU19XSUZDT05USU5VRURfTUVUSE9EREVGCisgICAgT1NfV0lGU1RPUFBFRF9NRVRIT0RERUYKKyAgICBPU19XSUZTSUdOQUxFRF9NRVRIT0RERUYKKyAgICBPU19XSUZFWElURURfTUVUSE9EREVGCisgICAgT1NfV0VYSVRTVEFUVVNfTUVUSE9EREVGCisgICAgT1NfV1RFUk1TSUdfTUVUSE9EREVGCisgICAgT1NfV1NUT1BTSUdfTUVUSE9EREVGCisgICAgT1NfRlNUQVRWRlNfTUVUSE9EREVGCisgICAgT1NfU1RBVFZGU19NRVRIT0RERUYKKyAgICBPU19DT05GU1RSX01FVEhPRERFRgorICAgIE9TX1NZU0NPTkZfTUVUSE9EREVGCisgICAgT1NfRlBBVEhDT05GX01FVEhPRERFRgorICAgIE9TX1BBVEhDT05GX01FVEhPRERFRgorICAgIE9TX0FCT1JUX01FVEhPRERFRgogI2lmZGVmIE1TX1dJTkRPV1MKICAgICB7Il9nZXRmdWxscGF0aG5hbWUiLCAgICAgICAgcG9zaXhfX2dldGZ1bGxwYXRobmFtZSwgTUVUSF9WQVJBUkdTLCBOVUxMfSwKLSAgICB7Il9nZXRmaW5hbHBhdGhuYW1lIiwgICAgICAgcG9zaXhfX2dldGZpbmFscGF0aG5hbWUsIE1FVEhfVkFSQVJHUywgTlVMTH0sCiAgICAgeyJfaXNkaXIiLCAgICAgICAgICAgICAgICAgIHBvc2l4X19pc2RpciwgTUVUSF9WQVJBUkdTLCBwb3NpeF9faXNkaXJfX2RvY19ffSwKLSAgICB7Il9nZXRkaXNrdXNhZ2UiLCAgICAgICAgICAgd2luMzJfX2dldGRpc2t1c2FnZSwgTUVUSF9WQVJBUkdTLCB3aW4zMl9fZ2V0ZGlza3VzYWdlX19kb2NfX30sCi0gICAgeyJfZ2V0dm9sdW1lcGF0aG5hbWUiLCAgICAgIHBvc2l4X19nZXR2b2x1bWVwYXRobmFtZSwgTUVUSF9WQVJBUkdTLCBwb3NpeF9fZ2V0dm9sdW1lcGF0aG5hbWVfX2RvY19ffSwKICNlbmRpZgotI2lmZGVmIEhBVkVfR0VUTE9BREFWRwotICAgIHsiZ2V0bG9hZGF2ZyIsICAgICAgcG9zaXhfZ2V0bG9hZGF2ZywgTUVUSF9OT0FSR1MsIHBvc2l4X2dldGxvYWRhdmdfX2RvY19ffSwKLSNlbmRpZgotICAgIHsidXJhbmRvbSIsICAgICAgICAgcG9zaXhfdXJhbmRvbSwgICBNRVRIX1ZBUkFSR1MsIHBvc2l4X3VyYW5kb21fX2RvY19ffSwKLSNpZmRlZiBIQVZFX1NFVFJFU1VJRAotICAgIHsic2V0cmVzdWlkIiwgICAgICAgcG9zaXhfc2V0cmVzdWlkLCBNRVRIX1ZBUkFSR1MsIHBvc2l4X3NldHJlc3VpZF9fZG9jX199LAotI2VuZGlmCi0jaWZkZWYgSEFWRV9TRVRSRVNHSUQKLSAgICB7InNldHJlc2dpZCIsICAgICAgIHBvc2l4X3NldHJlc2dpZCwgTUVUSF9WQVJBUkdTLCBwb3NpeF9zZXRyZXNnaWRfX2RvY19ffSwKLSNlbmRpZgotI2lmZGVmIEhBVkVfR0VUUkVTVUlECi0gICAgeyJnZXRyZXN1aWQiLCAgICAgICBwb3NpeF9nZXRyZXN1aWQsIE1FVEhfTk9BUkdTLCBwb3NpeF9nZXRyZXN1aWRfX2RvY19ffSwKLSNlbmRpZgotI2lmZGVmIEhBVkVfR0VUUkVTR0lECi0gICAgeyJnZXRyZXNnaWQiLCAgICAgICBwb3NpeF9nZXRyZXNnaWQsIE1FVEhfTk9BUkdTLCBwb3NpeF9nZXRyZXNnaWRfX2RvY19ffSwKLSNlbmRpZgorICAgIE9TX19HRVRESVNLVVNBR0VfTUVUSE9EREVGCisgICAgT1NfX0dFVEZJTkFMUEFUSE5BTUVfTUVUSE9EREVGCisgICAgT1NfX0dFVFZPTFVNRVBBVEhOQU1FX01FVEhPRERFRgorICAgIE9TX0dFVExPQURBVkdfTUVUSE9EREVGCisgICAgT1NfVVJBTkRPTV9NRVRIT0RERUYKKyAgICBPU19TRVRSRVNVSURfTUVUSE9EREVGCisgICAgT1NfU0VUUkVTR0lEX01FVEhPRERFRgorICAgIE9TX0dFVFJFU1VJRF9NRVRIT0RERUYKKyAgICBPU19HRVRSRVNHSURfTUVUSE9EREVGCiAKLSNpZmRlZiBVU0VfWEFUVFJTCi0gICAgeyJzZXR4YXR0ciIsIChQeUNGdW5jdGlvbilwb3NpeF9zZXR4YXR0ciwKLSAgICAgICAgICAgICAgICAgTUVUSF9WQVJBUkdTIHwgTUVUSF9LRVlXT1JEUywKLSAgICAgICAgICAgICAgICAgcG9zaXhfc2V0eGF0dHJfX2RvY19ffSwKLSAgICB7ImdldHhhdHRyIiwgKFB5Q0Z1bmN0aW9uKXBvc2l4X2dldHhhdHRyLAotICAgICAgICAgICAgICAgICBNRVRIX1ZBUkFSR1MgfCBNRVRIX0tFWVdPUkRTLAotICAgICAgICAgICAgICAgICBwb3NpeF9nZXR4YXR0cl9fZG9jX199LAotICAgIHsicmVtb3ZleGF0dHIiLCAoUHlDRnVuY3Rpb24pcG9zaXhfcmVtb3ZleGF0dHIsCi0gICAgICAgICAgICAgICAgIE1FVEhfVkFSQVJHUyB8IE1FVEhfS0VZV09SRFMsCi0gICAgICAgICAgICAgICAgIHBvc2l4X3JlbW92ZXhhdHRyX19kb2NfX30sCi0gICAgeyJsaXN0eGF0dHIiLCAoUHlDRnVuY3Rpb24pcG9zaXhfbGlzdHhhdHRyLAotICAgICAgICAgICAgICAgICBNRVRIX1ZBUkFSR1MgfCBNRVRIX0tFWVdPUkRTLAotICAgICAgICAgICAgICAgICBwb3NpeF9saXN0eGF0dHJfX2RvY19ffSwKLSNlbmRpZgorICAgIE9TX0dFVFhBVFRSX01FVEhPRERFRgorICAgIE9TX1NFVFhBVFRSX01FVEhPRERFRgorICAgIE9TX1JFTU9WRVhBVFRSX01FVEhPRERFRgorICAgIE9TX0xJU1RYQVRUUl9NRVRIT0RERUYKKwogI2lmIGRlZmluZWQoVEVSTVNJWkVfVVNFX0NPTklPKSB8fCBkZWZpbmVkKFRFUk1TSVpFX1VTRV9JT0NUTCkKICAgICB7ImdldF90ZXJtaW5hbF9zaXplIiwgZ2V0X3Rlcm1pbmFsX3NpemUsIE1FVEhfVkFSQVJHUywgdGVybXNpemVfX2RvY19ffSwKICNlbmRpZgotICAgIHsiY3B1X2NvdW50IiwgKFB5Q0Z1bmN0aW9uKXBvc2l4X2NwdV9jb3VudCwKLSAgICAgICAgICAgICAgICAgIE1FVEhfTk9BUkdTLCBwb3NpeF9jcHVfY291bnRfX2RvY19ffSwKLSAgICB7ImdldF9pbmhlcml0YWJsZSIsIHBvc2l4X2dldF9pbmhlcml0YWJsZSwgTUVUSF9WQVJBUkdTLCBnZXRfaW5oZXJpdGFibGVfX2RvY19ffSwKLSAgICB7InNldF9pbmhlcml0YWJsZSIsIHBvc2l4X3NldF9pbmhlcml0YWJsZSwgTUVUSF9WQVJBUkdTLCBzZXRfaW5oZXJpdGFibGVfX2RvY19ffSwKLSNpZmRlZiBNU19XSU5ET1dTCi0gICAgeyJnZXRfaGFuZGxlX2luaGVyaXRhYmxlIiwgcG9zaXhfZ2V0X2hhbmRsZV9pbmhlcml0YWJsZSwKLSAgICAgTUVUSF9WQVJBUkdTLCBnZXRfaGFuZGxlX2luaGVyaXRhYmxlX19kb2NfX30sCi0gICAgeyJzZXRfaGFuZGxlX2luaGVyaXRhYmxlIiwgcG9zaXhfc2V0X2hhbmRsZV9pbmhlcml0YWJsZSwKLSAgICAgTUVUSF9WQVJBUkdTLCBzZXRfaGFuZGxlX2luaGVyaXRhYmxlX19kb2NfX30sCisgICAgT1NfQ1BVX0NPVU5UX01FVEhPRERFRgorICAgIE9TX0dFVF9JTkhFUklUQUJMRV9NRVRIT0RERUYKKyAgICBPU19TRVRfSU5IRVJJVEFCTEVfTUVUSE9EREVGCisgICAgT1NfR0VUX0hBTkRMRV9JTkhFUklUQUJMRV9NRVRIT0RERUYKKyAgICBPU19TRVRfSEFORExFX0lOSEVSSVRBQkxFX01FVEhPRERFRgorI2lmbmRlZiBNU19XSU5ET1dTCisgICAgeyJnZXRfYmxvY2tpbmciLCBwb3NpeF9nZXRfYmxvY2tpbmcsIE1FVEhfVkFSQVJHUywgZ2V0X2Jsb2NraW5nX19kb2NfX30sCisgICAgeyJzZXRfYmxvY2tpbmciLCBwb3NpeF9zZXRfYmxvY2tpbmcsIE1FVEhfVkFSQVJHUywgc2V0X2Jsb2NraW5nX19kb2NfX30sCiAjZW5kaWYKICAgICB7TlVMTCwgICAgICAgICAgICAgIE5VTEx9ICAgICAgICAgICAgLyogU2VudGluZWwgKi8KIH07CkBAIC0xMjA4MCw3ICsxNzY1OCw3IEBACiB9CiAKIAotI2lmIChkZWZpbmVkKF9NU0NfVkVSKSB8fCBkZWZpbmVkKF9fV0FUQ09NQ19fKSB8fCBkZWZpbmVkKF9fQk9STEFORENfXykpICYmICFkZWZpbmVkKF9fUU5YX18pCisjaWZkZWYgTVNfV0lORE9XUwogI2RlZmluZSBJTklURlVOQyBQeUluaXRfbnQKICNkZWZpbmUgTU9ETkFNRSAibnQiCiAKQEAgLTEyMzAyLDcgKzE3ODgwLDcgQEAKICAgICAgICAgc2NoZWRfcGFyYW1fZGVzYy5uYW1lID0gTU9ETkFNRSAiLnNjaGVkX3BhcmFtIjsKICAgICAgICAgaWYgKFB5U3RydWN0U2VxdWVuY2VfSW5pdFR5cGUyKCZTY2hlZFBhcmFtVHlwZSwgJnNjaGVkX3BhcmFtX2Rlc2MpIDwgMCkKICAgICAgICAgICAgIHJldHVybiBOVUxMOwotICAgICAgICBTY2hlZFBhcmFtVHlwZS50cF9uZXcgPSBzY2hlZF9wYXJhbV9uZXc7CisgICAgICAgIFNjaGVkUGFyYW1UeXBlLnRwX25ldyA9IG9zX3NjaGVkX3BhcmFtOwogI2VuZGlmCiAKICAgICAgICAgLyogaW5pdGlhbGl6ZSBUZXJtaW5hbFNpemVfaW5mbyAqLwpkaWZmIC0tZ2l0IGEvTW9kdWxlcy9wd2Rtb2R1bGUuYyBiL01vZHVsZXMvcHdkbW9kdWxlLmMKaW5kZXggZWJiODcxMi4uYjAyNzUzZiAxMDA2NDQKLS0tIGEvTW9kdWxlcy9wd2Rtb2R1bGUuYworKysgYi9Nb2R1bGVzL3B3ZG1vZHVsZS5jCkBAIC02LDYgKzYsMTMgQEAKIAogI2luY2x1ZGUgPHB3ZC5oPgogCisjaW5jbHVkZSAiY2xpbmljL3B3ZG1vZHVsZS5jLmgiCisvKltjbGluaWMgaW5wdXRdCitvdXRwdXQgcHJlc2V0IGZpbGUKK21vZHVsZSBwd2QKK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1kYTM5YTNlZTVlNmI0YjBkIGlucHV0PWJiY2Y2OGIxZjU0OWY5MTddKi8KKwogc3RhdGljIFB5U3RydWN0U2VxdWVuY2VfRmllbGQgc3RydWN0X3B3ZF90eXBlX2ZpZWxkc1tdID0gewogICAgIHsicHdfbmFtZSIsICJ1c2VyIG5hbWUifSwKICAgICB7InB3X3Bhc3N3ZCIsICJwYXNzd29yZCJ9LApAQCAtODcsMTggKzk0LDI1IEBACiAgICAgcmV0dXJuIHY7CiB9CiAKLVB5RG9jX1NUUlZBUihwd2RfZ2V0cHd1aWRfX2RvY19fLAotImdldHB3dWlkKHVpZCkgLT4gKHB3X25hbWUscHdfcGFzc3dkLHB3X3VpZCxcblwKLSAgICAgICAgICAgICAgICAgIHB3X2dpZCxwd19nZWNvcyxwd19kaXIscHdfc2hlbGwpXG5cCi1SZXR1cm4gdGhlIHBhc3N3b3JkIGRhdGFiYXNlIGVudHJ5IGZvciB0aGUgZ2l2ZW4gbnVtZXJpYyB1c2VyIElELlxuXAotU2VlIGhlbHAocHdkKSBmb3IgbW9yZSBvbiBwYXNzd29yZCBkYXRhYmFzZSBlbnRyaWVzLiIpOworLypbY2xpbmljIGlucHV0XQorcHdkLmdldHB3dWlkCisKKyAgICB1aWRvYmo6IG9iamVjdAorICAgIC8KKworUmV0dXJuIHRoZSBwYXNzd29yZCBkYXRhYmFzZSBlbnRyeSBmb3IgdGhlIGdpdmVuIG51bWVyaWMgdXNlciBJRC4KKworU2VlIGBoZWxwKHB3ZClgIGZvciBtb3JlIG9uIHBhc3N3b3JkIGRhdGFiYXNlIGVudHJpZXMuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1wd2RfZ2V0cHd1aWQoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQorcHdkX2dldHB3dWlkKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICp1aWRvYmopCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9Y2JhMjlhZTRjMmJjYjhlMSBpbnB1dD1hZTY0ZDUwN2ExYzZkM2U4XSovCiB7CiAgICAgdWlkX3QgdWlkOwogICAgIHN0cnVjdCBwYXNzd2QgKnA7Ci0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJPJjpnZXRwd3VpZCIsIF9QeV9VaWRfQ29udmVydGVyLCAmdWlkKSkgeworCisgICAgaWYgKCFfUHlfVWlkX0NvbnZlcnRlcih1aWRvYmosICZ1aWQpKSB7CiAgICAgICAgIGlmIChQeUVycl9FeGNlcHRpb25NYXRjaGVzKFB5RXhjX092ZXJmbG93RXJyb3IpKQogICAgICAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX0tleUVycm9yLAogICAgICAgICAgICAgICAgICAgICAgICAgICJnZXRwd3VpZCgpOiB1aWQgbm90IGZvdW5kIik7CkBAIC0xMTYsMjEgKzEzMCwyNSBAQAogICAgIHJldHVybiBta3B3ZW50KHApOwogfQogCi1QeURvY19TVFJWQVIocHdkX2dldHB3bmFtX19kb2NfXywKLSJnZXRwd25hbShuYW1lKSAtPiAocHdfbmFtZSxwd19wYXNzd2QscHdfdWlkLFxuXAotICAgICAgICAgICAgICAgICAgICBwd19naWQscHdfZ2Vjb3MscHdfZGlyLHB3X3NoZWxsKVxuXAotUmV0dXJuIHRoZSBwYXNzd29yZCBkYXRhYmFzZSBlbnRyeSBmb3IgdGhlIGdpdmVuIHVzZXIgbmFtZS5cblwKLVNlZSBoZWxwKHB3ZCkgZm9yIG1vcmUgb24gcGFzc3dvcmQgZGF0YWJhc2UgZW50cmllcy4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK3B3ZC5nZXRwd25hbQorCisgICAgYXJnOiB1bmljb2RlCisgICAgLworCitSZXR1cm4gdGhlIHBhc3N3b3JkIGRhdGFiYXNlIGVudHJ5IGZvciB0aGUgZ2l2ZW4gdXNlciBuYW1lLgorCitTZWUgYGhlbHAocHdkKWAgZm9yIG1vcmUgb24gcGFzc3dvcmQgZGF0YWJhc2UgZW50cmllcy4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KIAogc3RhdGljIFB5T2JqZWN0ICoKLXB3ZF9nZXRwd25hbShQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCitwd2RfZ2V0cHduYW1faW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJnKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTY2ODQ4ZDQyZDM4NmZjYTMgaW5wdXQ9ZDVmN2U3MDA5MTliMDJkM10qLwogewogICAgIGNoYXIgKm5hbWU7CiAgICAgc3RydWN0IHBhc3N3ZCAqcDsKLSAgICBQeU9iamVjdCAqYXJnLCAqYnl0ZXMsICpyZXR2YWwgPSBOVUxMOworICAgIFB5T2JqZWN0ICpieXRlcywgKnJldHZhbCA9IE5VTEw7CiAKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgIlU6Z2V0cHduYW0iLCAmYXJnKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgaWYgKChieXRlcyA9IFB5VW5pY29kZV9FbmNvZGVGU0RlZmF1bHQoYXJnKSkgPT0gTlVMTCkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgaWYgKFB5Qnl0ZXNfQXNTdHJpbmdBbmRTaXplKGJ5dGVzLCAmbmFtZSwgTlVMTCkgPT0gLTEpCkBAIC0xNDcsMTQgKzE2NSwxNyBAQAogfQogCiAjaWZkZWYgSEFWRV9HRVRQV0VOVAotUHlEb2NfU1RSVkFSKHB3ZF9nZXRwd2FsbF9fZG9jX18sCi0iZ2V0cHdhbGwoKSAtPiBsaXN0X29mX2VudHJpZXNcblwKLVJldHVybiBhIGxpc3Qgb2YgYWxsIGF2YWlsYWJsZSBwYXNzd29yZCBkYXRhYmFzZSBlbnRyaWVzLCBcCi1pbiBhcmJpdHJhcnkgb3JkZXIuXG5cCi1TZWUgaGVscChwd2QpIGZvciBtb3JlIG9uIHBhc3N3b3JkIGRhdGFiYXNlIGVudHJpZXMuIik7CisvKltjbGluaWMgaW5wdXRdCitwd2QuZ2V0cHdhbGwKKworUmV0dXJuIGEgbGlzdCBvZiBhbGwgYXZhaWxhYmxlIHBhc3N3b3JkIGRhdGFiYXNlIGVudHJpZXMsIGluIGFyYml0cmFyeSBvcmRlci4KKworU2VlIGhlbHAocHdkKSBmb3IgbW9yZSBvbiBwYXNzd29yZCBkYXRhYmFzZSBlbnRyaWVzLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLwogCiBzdGF0aWMgUHlPYmplY3QgKgotcHdkX2dldHB3YWxsKFB5T2JqZWN0ICpzZWxmKQorcHdkX2dldHB3YWxsX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1hYjMwZTM3YmYyNmQ0MzFkIGlucHV0PWQ3ZWNlYmZkOTAyMTliODVdKi8KIHsKICAgICBQeU9iamVjdCAqZDsKICAgICBzdHJ1Y3QgcGFzc3dkICpwOwpAQCAtMTc3LDExICsxOTgsMTAgQEAKICNlbmRpZgogCiBzdGF0aWMgUHlNZXRob2REZWYgcHdkX21ldGhvZHNbXSA9IHsKLSAgICB7ImdldHB3dWlkIiwgICAgICAgIHB3ZF9nZXRwd3VpZCwgTUVUSF9WQVJBUkdTLCBwd2RfZ2V0cHd1aWRfX2RvY19ffSwKLSAgICB7ImdldHB3bmFtIiwgICAgICAgIHB3ZF9nZXRwd25hbSwgTUVUSF9WQVJBUkdTLCBwd2RfZ2V0cHduYW1fX2RvY19ffSwKKyAgICBQV0RfR0VUUFdVSURfTUVUSE9EREVGCisgICAgUFdEX0dFVFBXTkFNX01FVEhPRERFRgogI2lmZGVmIEhBVkVfR0VUUFdFTlQKLSAgICB7ImdldHB3YWxsIiwgICAgICAgIChQeUNGdW5jdGlvbilwd2RfZ2V0cHdhbGwsCi0gICAgICAgIE1FVEhfTk9BUkdTLCAgcHdkX2dldHB3YWxsX19kb2NfX30sCisgICAgUFdEX0dFVFBXQUxMX01FVEhPRERFRgogI2VuZGlmCiAgICAge05VTEwsICAgICAgICAgICAgICBOVUxMfSAgICAgICAgICAgLyogc2VudGluZWwgKi8KIH07CmRpZmYgLS1naXQgYS9Nb2R1bGVzL3B5ZXhwYXQuYyBiL01vZHVsZXMvcHlleHBhdC5jCmluZGV4IDE5YmUwYzcuLjIxY2IwNGEgMTAwNjQ0Ci0tLSBhL01vZHVsZXMvcHlleHBhdC5jCisrKyBiL01vZHVsZXMvcHlleHBhdC5jCkBAIC02LDYgKzYsMTMgQEAKIAogI2luY2x1ZGUgInB5ZXhwYXQuaCIKIAorLyogRG8gbm90IGVtaXQgQ2xpbmljIG91dHB1dCB0byBhIGZpbGUgYXMgdGhhdCB3cmVha3MgaGF2b2Mgd2l0aCBjb25kaXRpb25hbGx5CisgICBpbmNsdWRlZCBtZXRob2RzLiAqLworLypbY2xpbmljIGlucHV0XQorbW9kdWxlIHB5ZXhwYXQKK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1kYTM5YTNlZTVlNmI0YjBkIGlucHV0PWIxNjhkNTAzYTQ0OTBjMTVdKi8KKwogI2RlZmluZSBYTUxfQ09NQklORURfVkVSU0lPTiAoMTAwMDAqWE1MX01BSk9SX1ZFUlNJT04rMTAwKlhNTF9NSU5PUl9WRVJTSU9OK1hNTF9NSUNST19WRVJTSU9OKQogCiBzdGF0aWMgWE1MX01lbW9yeV9IYW5kbGluZ19TdWl0ZSBFeHBhdE1lbW9yeUhhbmRsZXIgPSB7CkBAIC02NzEsNiArNjc4LDExIEBACiBWT0lEX0hBTkRMRVIoRW5kRG9jdHlwZURlY2wsICh2b2lkICp1c2VyRGF0YSksICgiKCkiKSkKIAogLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLworLypbY2xpbmljIGlucHV0XQorY2xhc3MgcHlleHBhdC54bWxwYXJzZXIgInhtbHBhcnNlb2JqZWN0ICoiICImWG1scGFyc2V0eXBlIgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWRhMzlhM2VlNWU2YjRiMGQgaW5wdXQ9MjM5MzE2MjM4NTIzMmUxY10qLworCiAKIHN0YXRpYyBQeU9iamVjdCAqCiBnZXRfcGFyc2VfcmVzdWx0KHhtbHBhcnNlb2JqZWN0ICpzZWxmLCBpbnQgcnYpCkBAIC02ODcsMjUgKzY5OSw2MCBAQAogICAgIHJldHVybiBQeUxvbmdfRnJvbUxvbmcocnYpOwogfQogCi1QeURvY19TVFJWQVIoeG1scGFyc2VfUGFyc2VfX2RvY19fLAotIlBhcnNlKGRhdGFbLCBpc2ZpbmFsXSlcblwKLVBhcnNlIFhNTCBkYXRhLiAgYGlzZmluYWwnIHNob3VsZCBiZSB0cnVlIGF0IGVuZCBvZiBpbnB1dC4iKTsKLQogI2RlZmluZSBNQVhfQ0hVTktfU0laRSAoMSA8PCAyMCkKIAorLypbY2xpbmljIGlucHV0XQorcHlleHBhdC54bWxwYXJzZXIuUGFyc2UKKworICAgIGRhdGE6IG9iamVjdAorICAgIGlzRmluYWw6IGludCA9IDAKKyAgICAvCisKK1BhcnNlIFhNTCBkYXRhLgorCitgaXNmaW5hbCcgc2hvdWxkIGJlIHRydWUgYXQgZW5kIG9mIGlucHV0LgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIocHlleHBhdF94bWxwYXJzZXJfUGFyc2VfX2RvY19fLAorIlBhcnNlKCRzZWxmLCBkYXRhLCBpc0ZpbmFsPTAsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJQYXJzZSBYTUwgZGF0YS5cbiIKKyJcbiIKKyJgaXNmaW5hbFwnIHNob3VsZCBiZSB0cnVlIGF0IGVuZCBvZiBpbnB1dC4iKTsKKworI2RlZmluZSBQWUVYUEFUX1hNTFBBUlNFUl9QQVJTRV9NRVRIT0RERUYgICAgXAorICAgIHsiUGFyc2UiLCAoUHlDRnVuY3Rpb24pcHlleHBhdF94bWxwYXJzZXJfUGFyc2UsIE1FVEhfVkFSQVJHUywgcHlleHBhdF94bWxwYXJzZXJfUGFyc2VfX2RvY19ffSwKKwogc3RhdGljIFB5T2JqZWN0ICoKLXhtbHBhcnNlX1BhcnNlKHhtbHBhcnNlb2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK3B5ZXhwYXRfeG1scGFyc2VyX1BhcnNlX2ltcGwoeG1scGFyc2VvYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpkYXRhLCBpbnQgaXNGaW5hbCk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitweWV4cGF0X3htbHBhcnNlcl9QYXJzZSh4bWxwYXJzZW9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCiB7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CiAgICAgUHlPYmplY3QgKmRhdGE7CiAgICAgaW50IGlzRmluYWwgPSAwOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCisgICAgICAgICJPfGk6UGFyc2UiLAorICAgICAgICAmZGF0YSwgJmlzRmluYWwpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gcHlleHBhdF94bWxwYXJzZXJfUGFyc2VfaW1wbChzZWxmLCBkYXRhLCBpc0ZpbmFsKTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorcHlleHBhdF94bWxwYXJzZXJfUGFyc2VfaW1wbCh4bWxwYXJzZW9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmRhdGEsIGludCBpc0ZpbmFsKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTY1YjE2NTJiMDFmMjA4NTYgaW5wdXQ9ZTM3YjgxYjg5NDhjYTdlMF0qLworewogICAgIGNvbnN0IGNoYXIgKnM7CiAgICAgUHlfc3NpemVfdCBzbGVuOwogICAgIFB5X2J1ZmZlciB2aWV3OwogICAgIGludCByYzsKIAotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiT3xpOlBhcnNlIiwgJmRhdGEsICZpc0ZpbmFsKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0KICAgICBpZiAoUHlVbmljb2RlX0NoZWNrKGRhdGEpKSB7CiAgICAgICAgIHZpZXcuYnVmID0gTlVMTDsKICAgICAgICAgcyA9IFB5VW5pY29kZV9Bc1VURjhBbmRTaXplKGRhdGEsICZzbGVuKTsKQEAgLTc4MCwxOCArODI3LDMzIEBACiAgICAgcmV0dXJuIC0xOwogfQogCi1QeURvY19TVFJWQVIoeG1scGFyc2VfUGFyc2VGaWxlX19kb2NfXywKLSJQYXJzZUZpbGUoZmlsZSlcblwKLVBhcnNlIFhNTCBkYXRhIGZyb20gZmlsZS1saWtlIG9iamVjdC4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK3B5ZXhwYXQueG1scGFyc2VyLlBhcnNlRmlsZQorCisgICAgZmlsZTogb2JqZWN0CisgICAgLworCitQYXJzZSBYTUwgZGF0YSBmcm9tIGZpbGUtbGlrZSBvYmplY3QuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihweWV4cGF0X3htbHBhcnNlcl9QYXJzZUZpbGVfX2RvY19fLAorIlBhcnNlRmlsZSgkc2VsZiwgZmlsZSwgLylcbiIKKyItLVxuIgorIlxuIgorIlBhcnNlIFhNTCBkYXRhIGZyb20gZmlsZS1saWtlIG9iamVjdC4iKTsKKworI2RlZmluZSBQWUVYUEFUX1hNTFBBUlNFUl9QQVJTRUZJTEVfTUVUSE9EREVGICAgIFwKKyAgICB7IlBhcnNlRmlsZSIsIChQeUNGdW5jdGlvbilweWV4cGF0X3htbHBhcnNlcl9QYXJzZUZpbGUsIE1FVEhfTywgcHlleHBhdF94bWxwYXJzZXJfUGFyc2VGaWxlX19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi14bWxwYXJzZV9QYXJzZUZpbGUoeG1scGFyc2VvYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpmKQorcHlleHBhdF94bWxwYXJzZXJfUGFyc2VGaWxlKHhtbHBhcnNlb2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqZmlsZSkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD0yZTEzODAzYzNkOGMyMmIyIGlucHV0PWZiYjVhMTJiNjAzOGQ3MzVdKi8KIHsKICAgICBpbnQgcnYgPSAxOwogICAgIFB5T2JqZWN0ICpyZWFkbWV0aG9kID0gTlVMTDsKICAgICBfUHlfSURFTlRJRklFUihyZWFkKTsKIAotICAgIHJlYWRtZXRob2QgPSBfUHlPYmplY3RfR2V0QXR0cklkKGYsICZQeUlkX3JlYWQpOworICAgIHJlYWRtZXRob2QgPSBfUHlPYmplY3RfR2V0QXR0cklkKGZpbGUsICZQeUlkX3JlYWQpOwogICAgIGlmIChyZWFkbWV0aG9kID09IE5VTEwpIHsKICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwKICAgICAgICAgICAgICAgICAgICAgICAgICJhcmd1bWVudCBtdXN0IGhhdmUgJ3JlYWQnIGF0dHJpYnV0ZSIpOwpAQCAtODIzLDQyICs4ODUsMTE3IEBACiAgICAgcmV0dXJuIGdldF9wYXJzZV9yZXN1bHQoc2VsZiwgcnYpOwogfQogCi1QeURvY19TVFJWQVIoeG1scGFyc2VfU2V0QmFzZV9fZG9jX18sCi0iU2V0QmFzZShiYXNlX3VybClcblwKLVNldCB0aGUgYmFzZSBVUkwgZm9yIHRoZSBwYXJzZXIuIik7CisvKltjbGluaWMgaW5wdXRdCitweWV4cGF0LnhtbHBhcnNlci5TZXRCYXNlCisKKyAgICBiYXNlOiBzdHIKKyAgICAvCisKK1NldCB0aGUgYmFzZSBVUkwgZm9yIHRoZSBwYXJzZXIuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihweWV4cGF0X3htbHBhcnNlcl9TZXRCYXNlX19kb2NfXywKKyJTZXRCYXNlKCRzZWxmLCBiYXNlLCAvKVxuIgorIi0tXG4iCisiXG4iCisiU2V0IHRoZSBiYXNlIFVSTCBmb3IgdGhlIHBhcnNlci4iKTsKKworI2RlZmluZSBQWUVYUEFUX1hNTFBBUlNFUl9TRVRCQVNFX01FVEhPRERFRiAgICBcCisgICAgeyJTZXRCYXNlIiwgKFB5Q0Z1bmN0aW9uKXB5ZXhwYXRfeG1scGFyc2VyX1NldEJhc2UsIE1FVEhfVkFSQVJHUywgcHlleHBhdF94bWxwYXJzZXJfU2V0QmFzZV9fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgoteG1scGFyc2VfU2V0QmFzZSh4bWxwYXJzZW9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCi17Ci0gICAgY2hhciAqYmFzZTsKK3B5ZXhwYXRfeG1scGFyc2VyX1NldEJhc2VfaW1wbCh4bWxwYXJzZW9iamVjdCAqc2VsZiwgY29uc3QgY2hhciAqYmFzZSk7CiAKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgInM6U2V0QmFzZSIsICZiYXNlKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7CitzdGF0aWMgUHlPYmplY3QgKgorcHlleHBhdF94bWxwYXJzZXJfU2V0QmFzZSh4bWxwYXJzZW9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgY29uc3QgY2hhciAqYmFzZTsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAiczpTZXRCYXNlIiwKKyAgICAgICAgJmJhc2UpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gcHlleHBhdF94bWxwYXJzZXJfU2V0QmFzZV9pbXBsKHNlbGYsIGJhc2UpOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitweWV4cGF0X3htbHBhcnNlcl9TZXRCYXNlX2ltcGwoeG1scGFyc2VvYmplY3QgKnNlbGYsIGNvbnN0IGNoYXIgKmJhc2UpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9NWJkYjQ5ZjY2ODlhNWY5MyBpbnB1dD1jNjg0ZTVkZTg5NWVlMWE4XSovCit7CiAgICAgaWYgKCFYTUxfU2V0QmFzZShzZWxmLT5pdHNlbGYsIGJhc2UpKSB7CiAgICAgICAgIHJldHVybiBQeUVycl9Ob01lbW9yeSgpOwogICAgIH0KLSAgICBQeV9JTkNSRUYoUHlfTm9uZSk7Ci0gICAgcmV0dXJuIFB5X05vbmU7CisgICAgUHlfUkVUVVJOX05PTkU7CiB9CiAKLVB5RG9jX1NUUlZBUih4bWxwYXJzZV9HZXRCYXNlX19kb2NfXywKLSJHZXRCYXNlKCkgLT4gdXJsXG5cCi1SZXR1cm4gYmFzZSBVUkwgc3RyaW5nIGZvciB0aGUgcGFyc2VyLiIpOworLypbY2xpbmljIGlucHV0XQorcHlleHBhdC54bWxwYXJzZXIuR2V0QmFzZQorCitSZXR1cm4gYmFzZSBVUkwgc3RyaW5nIGZvciB0aGUgcGFyc2VyLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIocHlleHBhdF94bWxwYXJzZXJfR2V0QmFzZV9fZG9jX18sCisiR2V0QmFzZSgkc2VsZiwgLylcbiIKKyItLVxuIgorIlxuIgorIlJldHVybiBiYXNlIFVSTCBzdHJpbmcgZm9yIHRoZSBwYXJzZXIuIik7CisKKyNkZWZpbmUgUFlFWFBBVF9YTUxQQVJTRVJfR0VUQkFTRV9NRVRIT0RERUYgICAgXAorICAgIHsiR2V0QmFzZSIsIChQeUNGdW5jdGlvbilweWV4cGF0X3htbHBhcnNlcl9HZXRCYXNlLCBNRVRIX05PQVJHUywgcHlleHBhdF94bWxwYXJzZXJfR2V0QmFzZV9fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgoteG1scGFyc2VfR2V0QmFzZSh4bWxwYXJzZW9iamVjdCAqc2VsZiwgUHlPYmplY3QgKnVudXNlZCkKK3B5ZXhwYXRfeG1scGFyc2VyX0dldEJhc2VfaW1wbCh4bWxwYXJzZW9iamVjdCAqc2VsZik7CisKK3N0YXRpYyBQeU9iamVjdCAqCitweWV4cGF0X3htbHBhcnNlcl9HZXRCYXNlKHhtbHBhcnNlb2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqUHlfVU5VU0VEKGlnbm9yZWQpKQoreworICAgIHJldHVybiBweWV4cGF0X3htbHBhcnNlcl9HZXRCYXNlX2ltcGwoc2VsZik7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitweWV4cGF0X3htbHBhcnNlcl9HZXRCYXNlX2ltcGwoeG1scGFyc2VvYmplY3QgKnNlbGYpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9ZWY2MDQ2ZWUyOGYyYjhlZSBpbnB1dD05MThkNzFjMzgwMDk2MjBlXSovCiB7CiAgICAgcmV0dXJuIFB5X0J1aWxkVmFsdWUoInoiLCBYTUxfR2V0QmFzZShzZWxmLT5pdHNlbGYpKTsKIH0KIAotUHlEb2NfU1RSVkFSKHhtbHBhcnNlX0dldElucHV0Q29udGV4dF9fZG9jX18sCi0iR2V0SW5wdXRDb250ZXh0KCkgLT4gc3RyaW5nXG5cCi1SZXR1cm4gdGhlIHVudHJhbnNsYXRlZCB0ZXh0IG9mIHRoZSBpbnB1dCB0aGF0IGNhdXNlZCB0aGUgY3VycmVudCBldmVudC5cblwKLUlmIHRoZSBldmVudCB3YXMgZ2VuZXJhdGVkIGJ5IGEgbGFyZ2UgYW1vdW50IG9mIHRleHQgKHN1Y2ggYXMgYSBzdGFydCB0YWdcblwKLWZvciBhbiBlbGVtZW50IHdpdGggbWFueSBhdHRyaWJ1dGVzKSwgbm90IGFsbCBvZiB0aGUgdGV4dCBtYXkgYmUgYXZhaWxhYmxlLiIpOworLypbY2xpbmljIGlucHV0XQorcHlleHBhdC54bWxwYXJzZXIuR2V0SW5wdXRDb250ZXh0CisKK1JldHVybiB0aGUgdW50cmFuc2xhdGVkIHRleHQgb2YgdGhlIGlucHV0IHRoYXQgY2F1c2VkIHRoZSBjdXJyZW50IGV2ZW50LgorCitJZiB0aGUgZXZlbnQgd2FzIGdlbmVyYXRlZCBieSBhIGxhcmdlIGFtb3VudCBvZiB0ZXh0IChzdWNoIGFzIGEgc3RhcnQgdGFnCitmb3IgYW4gZWxlbWVudCB3aXRoIG1hbnkgYXR0cmlidXRlcyksIG5vdCBhbGwgb2YgdGhlIHRleHQgbWF5IGJlIGF2YWlsYWJsZS4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKHB5ZXhwYXRfeG1scGFyc2VyX0dldElucHV0Q29udGV4dF9fZG9jX18sCisiR2V0SW5wdXRDb250ZXh0KCRzZWxmLCAvKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJuIHRoZSB1bnRyYW5zbGF0ZWQgdGV4dCBvZiB0aGUgaW5wdXQgdGhhdCBjYXVzZWQgdGhlIGN1cnJlbnQgZXZlbnQuXG4iCisiXG4iCisiSWYgdGhlIGV2ZW50IHdhcyBnZW5lcmF0ZWQgYnkgYSBsYXJnZSBhbW91bnQgb2YgdGV4dCAoc3VjaCBhcyBhIHN0YXJ0IHRhZ1xuIgorImZvciBhbiBlbGVtZW50IHdpdGggbWFueSBhdHRyaWJ1dGVzKSwgbm90IGFsbCBvZiB0aGUgdGV4dCBtYXkgYmUgYXZhaWxhYmxlLiIpOworCisjZGVmaW5lIFBZRVhQQVRfWE1MUEFSU0VSX0dFVElOUFVUQ09OVEVYVF9NRVRIT0RERUYgICAgXAorICAgIHsiR2V0SW5wdXRDb250ZXh0IiwgKFB5Q0Z1bmN0aW9uKXB5ZXhwYXRfeG1scGFyc2VyX0dldElucHV0Q29udGV4dCwgTUVUSF9OT0FSR1MsIHB5ZXhwYXRfeG1scGFyc2VyX0dldElucHV0Q29udGV4dF9fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgoteG1scGFyc2VfR2V0SW5wdXRDb250ZXh0KHhtbHBhcnNlb2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqdW51c2VkKQorcHlleHBhdF94bWxwYXJzZXJfR2V0SW5wdXRDb250ZXh0X2ltcGwoeG1scGFyc2VvYmplY3QgKnNlbGYpOworCitzdGF0aWMgUHlPYmplY3QgKgorcHlleHBhdF94bWxwYXJzZXJfR2V0SW5wdXRDb250ZXh0KHhtbHBhcnNlb2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqUHlfVU5VU0VEKGlnbm9yZWQpKQoreworICAgIHJldHVybiBweWV4cGF0X3htbHBhcnNlcl9HZXRJbnB1dENvbnRleHRfaW1wbChzZWxmKTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK3B5ZXhwYXRfeG1scGFyc2VyX0dldElucHV0Q29udGV4dF9pbXBsKHhtbHBhcnNlb2JqZWN0ICpzZWxmKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTYyZmYwMzM5MGYwNzRjZDIgaW5wdXQ9MDM0ZGY4NzEyZGI2ODM3OV0qLwogewogICAgIGlmIChzZWxmLT5pbl9jYWxsYmFjaykgewogICAgICAgICBpbnQgb2Zmc2V0LCBzaXplOwpAQCAtODc1LDI0ICsxMDEyLDUyIEBACiAgICAgICAgIFB5X1JFVFVSTl9OT05FOwogfQogCi1QeURvY19TVFJWQVIoeG1scGFyc2VfRXh0ZXJuYWxFbnRpdHlQYXJzZXJDcmVhdGVfX2RvY19fLAotIkV4dGVybmFsRW50aXR5UGFyc2VyQ3JlYXRlKGNvbnRleHRbLCBlbmNvZGluZ10pXG5cCi1DcmVhdGUgYSBwYXJzZXIgZm9yIHBhcnNpbmcgYW4gZXh0ZXJuYWwgZW50aXR5IGJhc2VkIG9uIHRoZVxuXAotaW5mb3JtYXRpb24gcGFzc2VkIHRvIHRoZSBFeHRlcm5hbEVudGl0eVJlZkhhbmRsZXIuIik7CisvKltjbGluaWMgaW5wdXRdCitweWV4cGF0LnhtbHBhcnNlci5FeHRlcm5hbEVudGl0eVBhcnNlckNyZWF0ZQorCisgICAgY29udGV4dDogc3RyKG51bGxhYmxlPVRydWUpCisgICAgZW5jb2Rpbmc6IHN0ciA9IE5VTEwKKyAgICAvCisKK0NyZWF0ZSBhIHBhcnNlciBmb3IgcGFyc2luZyBhbiBleHRlcm5hbCBlbnRpdHkgYmFzZWQgb24gdGhlIGluZm9ybWF0aW9uIHBhc3NlZCB0byB0aGUgRXh0ZXJuYWxFbnRpdHlSZWZIYW5kbGVyLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIocHlleHBhdF94bWxwYXJzZXJfRXh0ZXJuYWxFbnRpdHlQYXJzZXJDcmVhdGVfX2RvY19fLAorIkV4dGVybmFsRW50aXR5UGFyc2VyQ3JlYXRlKCRzZWxmLCBjb250ZXh0LCBlbmNvZGluZz1Ob25lLCAvKVxuIgorIi0tXG4iCisiXG4iCisiQ3JlYXRlIGEgcGFyc2VyIGZvciBwYXJzaW5nIGFuIGV4dGVybmFsIGVudGl0eSBiYXNlZCBvbiB0aGUgaW5mb3JtYXRpb24gcGFzc2VkIHRvIHRoZSBFeHRlcm5hbEVudGl0eVJlZkhhbmRsZXIuIik7CisKKyNkZWZpbmUgUFlFWFBBVF9YTUxQQVJTRVJfRVhURVJOQUxFTlRJVFlQQVJTRVJDUkVBVEVfTUVUSE9EREVGICAgIFwKKyAgICB7IkV4dGVybmFsRW50aXR5UGFyc2VyQ3JlYXRlIiwgKFB5Q0Z1bmN0aW9uKXB5ZXhwYXRfeG1scGFyc2VyX0V4dGVybmFsRW50aXR5UGFyc2VyQ3JlYXRlLCBNRVRIX1ZBUkFSR1MsIHB5ZXhwYXRfeG1scGFyc2VyX0V4dGVybmFsRW50aXR5UGFyc2VyQ3JlYXRlX19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi14bWxwYXJzZV9FeHRlcm5hbEVudGl0eVBhcnNlckNyZWF0ZSh4bWxwYXJzZW9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCitweWV4cGF0X3htbHBhcnNlcl9FeHRlcm5hbEVudGl0eVBhcnNlckNyZWF0ZV9pbXBsKHhtbHBhcnNlb2JqZWN0ICpzZWxmLCBjb25zdCBjaGFyICpjb250ZXh0LCBjb25zdCBjaGFyICplbmNvZGluZyk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitweWV4cGF0X3htbHBhcnNlcl9FeHRlcm5hbEVudGl0eVBhcnNlckNyZWF0ZSh4bWxwYXJzZW9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCiB7Ci0gICAgY2hhciAqY29udGV4dDsKLSAgICBjaGFyICplbmNvZGluZyA9IE5VTEw7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgY29uc3QgY2hhciAqY29udGV4dDsKKyAgICBjb25zdCBjaGFyICplbmNvZGluZyA9IE5VTEw7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgInp8czpFeHRlcm5hbEVudGl0eVBhcnNlckNyZWF0ZSIsCisgICAgICAgICZjb250ZXh0LCAmZW5jb2RpbmcpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gcHlleHBhdF94bWxwYXJzZXJfRXh0ZXJuYWxFbnRpdHlQYXJzZXJDcmVhdGVfaW1wbChzZWxmLCBjb250ZXh0LCBlbmNvZGluZyk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK3B5ZXhwYXRfeG1scGFyc2VyX0V4dGVybmFsRW50aXR5UGFyc2VyQ3JlYXRlX2ltcGwoeG1scGFyc2VvYmplY3QgKnNlbGYsIGNvbnN0IGNoYXIgKmNvbnRleHQsIGNvbnN0IGNoYXIgKmVuY29kaW5nKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTQ5NDhjMzVmM2RkMDExMzMgaW5wdXQ9MjgzMjA2NTc1ZDk2MDI3Ml0qLworewogICAgIHhtbHBhcnNlb2JqZWN0ICpuZXdfcGFyc2VyOwogICAgIGludCBpOwogCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJ6fHM6RXh0ZXJuYWxFbnRpdHlQYXJzZXJDcmVhdGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAmY29udGV4dCwgJmVuY29kaW5nKSkgewotICAgICAgICByZXR1cm4gTlVMTDsKLSAgICB9Ci0KICAgICBuZXdfcGFyc2VyID0gUHlPYmplY3RfR0NfTmV3KHhtbHBhcnNlb2JqZWN0LCAmWG1scGFyc2V0eXBlKTsKICAgICBpZiAobmV3X3BhcnNlciA9PSBOVUxMKQogICAgICAgICByZXR1cm4gTlVMTDsKQEAgLTk0OCw0MSArMTExMywxMTQgQEAKICAgICByZXR1cm4gKFB5T2JqZWN0ICopbmV3X3BhcnNlcjsKIH0KIAotUHlEb2NfU1RSVkFSKHhtbHBhcnNlX1NldFBhcmFtRW50aXR5UGFyc2luZ19fZG9jX18sCi0iU2V0UGFyYW1FbnRpdHlQYXJzaW5nKGZsYWcpIC0+IHN1Y2Nlc3NcblwKLUNvbnRyb2xzIHBhcnNpbmcgb2YgcGFyYW1ldGVyIGVudGl0aWVzIChpbmNsdWRpbmcgdGhlIGV4dGVybmFsIERURFxuXAotc3Vic2V0KS4gUG9zc2libGUgZmxhZyB2YWx1ZXMgYXJlIFhNTF9QQVJBTV9FTlRJVFlfUEFSU0lOR19ORVZFUixcblwKLVhNTF9QQVJBTV9FTlRJVFlfUEFSU0lOR19VTkxFU1NfU1RBTkRBTE9ORSBhbmRcblwKLVhNTF9QQVJBTV9FTlRJVFlfUEFSU0lOR19BTFdBWVMuIFJldHVybnMgdHJ1ZSBpZiBzZXR0aW5nIHRoZSBmbGFnXG5cCi13YXMgc3VjY2Vzc2Z1bC4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK3B5ZXhwYXQueG1scGFyc2VyLlNldFBhcmFtRW50aXR5UGFyc2luZwogCi1zdGF0aWMgUHlPYmplY3QqCi14bWxwYXJzZV9TZXRQYXJhbUVudGl0eVBhcnNpbmcoeG1scGFyc2VvYmplY3QgKnAsIFB5T2JqZWN0KiBhcmdzKQorICAgIGZsYWc6IGludAorICAgIC8KKworQ29udHJvbHMgcGFyc2luZyBvZiBwYXJhbWV0ZXIgZW50aXRpZXMgKGluY2x1ZGluZyB0aGUgZXh0ZXJuYWwgRFREIHN1YnNldCkuCisKK1Bvc3NpYmxlIGZsYWcgdmFsdWVzIGFyZSBYTUxfUEFSQU1fRU5USVRZX1BBUlNJTkdfTkVWRVIsCitYTUxfUEFSQU1fRU5USVRZX1BBUlNJTkdfVU5MRVNTX1NUQU5EQUxPTkUgYW5kCitYTUxfUEFSQU1fRU5USVRZX1BBUlNJTkdfQUxXQVlTLiBSZXR1cm5zIHRydWUgaWYgc2V0dGluZyB0aGUgZmxhZword2FzIHN1Y2Nlc3NmdWwuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihweWV4cGF0X3htbHBhcnNlcl9TZXRQYXJhbUVudGl0eVBhcnNpbmdfX2RvY19fLAorIlNldFBhcmFtRW50aXR5UGFyc2luZygkc2VsZiwgZmxhZywgLylcbiIKKyItLVxuIgorIlxuIgorIkNvbnRyb2xzIHBhcnNpbmcgb2YgcGFyYW1ldGVyIGVudGl0aWVzIChpbmNsdWRpbmcgdGhlIGV4dGVybmFsIERURCBzdWJzZXQpLlxuIgorIlxuIgorIlBvc3NpYmxlIGZsYWcgdmFsdWVzIGFyZSBYTUxfUEFSQU1fRU5USVRZX1BBUlNJTkdfTkVWRVIsXG4iCisiWE1MX1BBUkFNX0VOVElUWV9QQVJTSU5HX1VOTEVTU19TVEFOREFMT05FIGFuZFxuIgorIlhNTF9QQVJBTV9FTlRJVFlfUEFSU0lOR19BTFdBWVMuIFJldHVybnMgdHJ1ZSBpZiBzZXR0aW5nIHRoZSBmbGFnXG4iCisid2FzIHN1Y2Nlc3NmdWwuIik7CisKKyNkZWZpbmUgUFlFWFBBVF9YTUxQQVJTRVJfU0VUUEFSQU1FTlRJVFlQQVJTSU5HX01FVEhPRERFRiAgICBcCisgICAgeyJTZXRQYXJhbUVudGl0eVBhcnNpbmciLCAoUHlDRnVuY3Rpb24pcHlleHBhdF94bWxwYXJzZXJfU2V0UGFyYW1FbnRpdHlQYXJzaW5nLCBNRVRIX1ZBUkFSR1MsIHB5ZXhwYXRfeG1scGFyc2VyX1NldFBhcmFtRW50aXR5UGFyc2luZ19fZG9jX199LAorCitzdGF0aWMgUHlPYmplY3QgKgorcHlleHBhdF94bWxwYXJzZXJfU2V0UGFyYW1FbnRpdHlQYXJzaW5nX2ltcGwoeG1scGFyc2VvYmplY3QgKnNlbGYsIGludCBmbGFnKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK3B5ZXhwYXRfeG1scGFyc2VyX1NldFBhcmFtRW50aXR5UGFyc2luZyh4bWxwYXJzZW9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCiB7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CiAgICAgaW50IGZsYWc7Ci0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJpIiwgJmZsYWcpKQotICAgICAgICByZXR1cm4gTlVMTDsKLSAgICBmbGFnID0gWE1MX1NldFBhcmFtRW50aXR5UGFyc2luZyhwLT5pdHNlbGYsIGZsYWcpOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCisgICAgICAgICJpOlNldFBhcmFtRW50aXR5UGFyc2luZyIsCisgICAgICAgICZmbGFnKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IHB5ZXhwYXRfeG1scGFyc2VyX1NldFBhcmFtRW50aXR5UGFyc2luZ19pbXBsKHNlbGYsIGZsYWcpOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitweWV4cGF0X3htbHBhcnNlcl9TZXRQYXJhbUVudGl0eVBhcnNpbmdfaW1wbCh4bWxwYXJzZW9iamVjdCAqc2VsZiwgaW50IGZsYWcpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9MGY4MjA4ODJiYzc3NjhjYyBpbnB1dD04YWVhMTliNGIxNWU5YWYxXSovCit7CisgICAgZmxhZyA9IFhNTF9TZXRQYXJhbUVudGl0eVBhcnNpbmcoc2VsZi0+aXRzZWxmLCBmbGFnKTsKICAgICByZXR1cm4gUHlMb25nX0Zyb21Mb25nKGZsYWcpOwogfQogCiAKICNpZiBYTUxfQ09NQklORURfVkVSU0lPTiA+PSAxOTUwNQotUHlEb2NfU1RSVkFSKHhtbHBhcnNlX1VzZUZvcmVpZ25EVERfX2RvY19fLAotIlVzZUZvcmVpZ25EVEQoW2ZsYWddKVxuXAotQWxsb3dzIHRoZSBhcHBsaWNhdGlvbiB0byBwcm92aWRlIGFuIGFydGlmaWNpYWwgZXh0ZXJuYWwgc3Vic2V0IGlmIG9uZSBpc1xuXAotbm90IHNwZWNpZmllZCBhcyBwYXJ0IG9mIHRoZSBkb2N1bWVudCBpbnN0YW5jZS4gIFRoaXMgcmVhZGlseSBhbGxvd3MgdGhlXG5cCi11c2Ugb2YgYSAnZGVmYXVsdCcgZG9jdW1lbnQgdHlwZSBjb250cm9sbGVkIGJ5IHRoZSBhcHBsaWNhdGlvbiwgd2hpbGUgc3RpbGxcblwKLWdldHRpbmcgdGhlIGFkdmFudGFnZSBvZiBwcm92aWRpbmcgZG9jdW1lbnQgdHlwZSBpbmZvcm1hdGlvbiB0byB0aGUgcGFyc2VyLlxuXAotJ2ZsYWcnIGRlZmF1bHRzIHRvIFRydWUgaWYgbm90IHByb3ZpZGVkLiIpOworLypbY2xpbmljIGlucHV0XQorcHlleHBhdC54bWxwYXJzZXIuVXNlRm9yZWlnbkRURAorCisgICAgZmxhZzogYm9vbCA9IFRydWUKKyAgICAvCisKK0FsbG93cyB0aGUgYXBwbGljYXRpb24gdG8gcHJvdmlkZSBhbiBhcnRpZmljaWFsIGV4dGVybmFsIHN1YnNldCBpZiBvbmUgaXMgbm90IHNwZWNpZmllZCBhcyBwYXJ0IG9mIHRoZSBkb2N1bWVudCBpbnN0YW5jZS4KKworVGhpcyByZWFkaWx5IGFsbG93cyB0aGUgdXNlIG9mIGEgJ2RlZmF1bHQnIGRvY3VtZW50IHR5cGUgY29udHJvbGxlZCBieSB0aGUKK2FwcGxpY2F0aW9uLCB3aGlsZSBzdGlsbCBnZXR0aW5nIHRoZSBhZHZhbnRhZ2Ugb2YgcHJvdmlkaW5nIGRvY3VtZW50IHR5cGUKK2luZm9ybWF0aW9uIHRvIHRoZSBwYXJzZXIuICdmbGFnJyBkZWZhdWx0cyB0byBUcnVlIGlmIG5vdCBwcm92aWRlZC4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKHB5ZXhwYXRfeG1scGFyc2VyX1VzZUZvcmVpZ25EVERfX2RvY19fLAorIlVzZUZvcmVpZ25EVEQoJHNlbGYsIGZsYWc9VHJ1ZSwgLylcbiIKKyItLVxuIgorIlxuIgorIkFsbG93cyB0aGUgYXBwbGljYXRpb24gdG8gcHJvdmlkZSBhbiBhcnRpZmljaWFsIGV4dGVybmFsIHN1YnNldCBpZiBvbmUgaXMgbm90IHNwZWNpZmllZCBhcyBwYXJ0IG9mIHRoZSBkb2N1bWVudCBpbnN0YW5jZS5cbiIKKyJcbiIKKyJUaGlzIHJlYWRpbHkgYWxsb3dzIHRoZSB1c2Ugb2YgYSBcJ2RlZmF1bHRcJyBkb2N1bWVudCB0eXBlIGNvbnRyb2xsZWQgYnkgdGhlXG4iCisiYXBwbGljYXRpb24sIHdoaWxlIHN0aWxsIGdldHRpbmcgdGhlIGFkdmFudGFnZSBvZiBwcm92aWRpbmcgZG9jdW1lbnQgdHlwZVxuIgorImluZm9ybWF0aW9uIHRvIHRoZSBwYXJzZXIuIFwnZmxhZ1wnIGRlZmF1bHRzIHRvIFRydWUgaWYgbm90IHByb3ZpZGVkLiIpOworCisjZGVmaW5lIFBZRVhQQVRfWE1MUEFSU0VSX1VTRUZPUkVJR05EVERfTUVUSE9EREVGICAgIFwKKyAgICB7IlVzZUZvcmVpZ25EVEQiLCAoUHlDRnVuY3Rpb24pcHlleHBhdF94bWxwYXJzZXJfVXNlRm9yZWlnbkRURCwgTUVUSF9WQVJBUkdTLCBweWV4cGF0X3htbHBhcnNlcl9Vc2VGb3JlaWduRFREX19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi14bWxwYXJzZV9Vc2VGb3JlaWduRFREKHhtbHBhcnNlb2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK3B5ZXhwYXRfeG1scGFyc2VyX1VzZUZvcmVpZ25EVERfaW1wbCh4bWxwYXJzZW9iamVjdCAqc2VsZiwgaW50IGZsYWcpOworCitzdGF0aWMgUHlPYmplY3QgKgorcHlleHBhdF94bWxwYXJzZXJfVXNlRm9yZWlnbkRURCh4bWxwYXJzZW9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCiB7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CiAgICAgaW50IGZsYWcgPSAxOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCisgICAgICAgICJ8cDpVc2VGb3JlaWduRFREIiwKKyAgICAgICAgJmZsYWcpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gcHlleHBhdF94bWxwYXJzZXJfVXNlRm9yZWlnbkRURF9pbXBsKHNlbGYsIGZsYWcpOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitweWV4cGF0X3htbHBhcnNlcl9Vc2VGb3JlaWduRFREX2ltcGwoeG1scGFyc2VvYmplY3QgKnNlbGYsIGludCBmbGFnKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTIyZTkyNGFlNmNhZDY3ZDYgaW5wdXQ9NzgxNDRjNTE5ZDExNmE2ZV0qLworewogICAgIGVudW0gWE1MX0Vycm9yIHJjOwotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAifHA6VXNlRm9yZWlnbkRURCIsICZmbGFnKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7CisKICAgICByYyA9IFhNTF9Vc2VGb3JlaWduRFREKHNlbGYtPml0c2VsZiwgZmxhZyA/IFhNTF9UUlVFIDogWE1MX0ZBTFNFKTsKICAgICBpZiAocmMgIT0gWE1MX0VSUk9SX05PTkUpIHsKICAgICAgICAgcmV0dXJuIHNldF9lcnJvcihzZWxmLCByYyk7CkBAIC05OTIsMjkgKzEyMzAsODYgQEAKIH0KICNlbmRpZgogCi1zdGF0aWMgUHlPYmplY3QgKnhtbHBhcnNlX2RpcihQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QqIG5vYXJncyk7CisvKltjbGluaWMgaW5wdXRdCitweWV4cGF0LnhtbHBhcnNlci5fX2Rpcl9fCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihweWV4cGF0X3htbHBhcnNlcl9fX2Rpcl9fX19kb2NfXywKKyJfX2Rpcl9fKCRzZWxmLCAvKVxuIgorIi0tIik7CisKKyNkZWZpbmUgUFlFWFBBVF9YTUxQQVJTRVJfX19ESVJfX19NRVRIT0RERUYgICAgXAorICAgIHsiX19kaXJfXyIsIChQeUNGdW5jdGlvbilweWV4cGF0X3htbHBhcnNlcl9fX2Rpcl9fLCBNRVRIX05PQVJHUywgcHlleHBhdF94bWxwYXJzZXJfX19kaXJfX19fZG9jX199LAorCitzdGF0aWMgUHlPYmplY3QgKgorcHlleHBhdF94bWxwYXJzZXJfX19kaXJfX19pbXBsKHhtbHBhcnNlb2JqZWN0ICpzZWxmKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK3B5ZXhwYXRfeG1scGFyc2VyX19fZGlyX18oeG1scGFyc2VvYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpQeV9VTlVTRUQoaWdub3JlZCkpCit7CisgICAgcmV0dXJuIHB5ZXhwYXRfeG1scGFyc2VyX19fZGlyX19faW1wbChzZWxmKTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK3B5ZXhwYXRfeG1scGFyc2VyX19fZGlyX19faW1wbCh4bWxwYXJzZW9iamVjdCAqc2VsZikKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD0xZWQ2ZWZlODNiYzMwNGNjIGlucHV0PTc2YWE0NTVmMmE2NjEzODRdKi8KK3sKKyNkZWZpbmUgQVBQRU5EKGxpc3QsIHN0cikgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICBkbyB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgUHlPYmplY3QgKm8gPSBQeVVuaWNvZGVfRnJvbVN0cmluZyhzdHIpOyAgICAgICAgXAorICAgICAgICAgICAgICAgIGlmIChvICE9IE5VTEwpICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgICAgICAgICBQeUxpc3RfQXBwZW5kKGxpc3QsIG8pOyAgICAgICAgIFwKKyAgICAgICAgICAgICAgICBQeV9YREVDUkVGKG8pOyAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICB9IHdoaWxlICgwKQorCisgICAgaW50IGk7CisgICAgUHlPYmplY3QgKnJjID0gUHlMaXN0X05ldygwKTsKKyAgICBpZiAoIXJjKQorICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBmb3IgKGkgPSAwOyBoYW5kbGVyX2luZm9baV0ubmFtZSAhPSBOVUxMOyBpKyspIHsKKyAgICAgICAgUHlPYmplY3QgKm8gPSBnZXRfaGFuZGxlcl9uYW1lKCZoYW5kbGVyX2luZm9baV0pOworICAgICAgICBpZiAobyAhPSBOVUxMKQorICAgICAgICAgICAgUHlMaXN0X0FwcGVuZChyYywgbyk7CisgICAgICAgIFB5X1hERUNSRUYobyk7CisgICAgfQorICAgIEFQUEVORChyYywgIkVycm9yQ29kZSIpOworICAgIEFQUEVORChyYywgIkVycm9yTGluZU51bWJlciIpOworICAgIEFQUEVORChyYywgIkVycm9yQ29sdW1uTnVtYmVyIik7CisgICAgQVBQRU5EKHJjLCAiRXJyb3JCeXRlSW5kZXgiKTsKKyAgICBBUFBFTkQocmMsICJDdXJyZW50TGluZU51bWJlciIpOworICAgIEFQUEVORChyYywgIkN1cnJlbnRDb2x1bW5OdW1iZXIiKTsKKyAgICBBUFBFTkQocmMsICJDdXJyZW50Qnl0ZUluZGV4Iik7CisgICAgQVBQRU5EKHJjLCAiYnVmZmVyX3NpemUiKTsKKyAgICBBUFBFTkQocmMsICJidWZmZXJfdGV4dCIpOworICAgIEFQUEVORChyYywgImJ1ZmZlcl91c2VkIik7CisgICAgQVBQRU5EKHJjLCAibmFtZXNwYWNlX3ByZWZpeGVzIik7CisgICAgQVBQRU5EKHJjLCAib3JkZXJlZF9hdHRyaWJ1dGVzIik7CisgICAgQVBQRU5EKHJjLCAic3BlY2lmaWVkX2F0dHJpYnV0ZXMiKTsKKyAgICBBUFBFTkQocmMsICJpbnRlcm4iKTsKKworI3VuZGVmIEFQUEVORAorCisgICAgaWYgKFB5RXJyX09jY3VycmVkKCkpIHsKKyAgICAgICAgUHlfREVDUkVGKHJjKTsKKyAgICAgICAgcmMgPSBOVUxMOworICAgIH0KKworICAgIHJldHVybiByYzsKK30KIAogc3RhdGljIHN0cnVjdCBQeU1ldGhvZERlZiB4bWxwYXJzZV9tZXRob2RzW10gPSB7Ci0gICAgeyJQYXJzZSIsICAgICAoUHlDRnVuY3Rpb24peG1scGFyc2VfUGFyc2UsCi0gICAgICAgICAgICAgICAgICBNRVRIX1ZBUkFSR1MsIHhtbHBhcnNlX1BhcnNlX19kb2NfX30sCi0gICAgeyJQYXJzZUZpbGUiLCAoUHlDRnVuY3Rpb24peG1scGFyc2VfUGFyc2VGaWxlLAotICAgICAgICAgICAgICAgICAgTUVUSF9PLCAgICAgICB4bWxwYXJzZV9QYXJzZUZpbGVfX2RvY19ffSwKLSAgICB7IlNldEJhc2UiLCAgIChQeUNGdW5jdGlvbil4bWxwYXJzZV9TZXRCYXNlLAotICAgICAgICAgICAgICAgICAgTUVUSF9WQVJBUkdTLCB4bWxwYXJzZV9TZXRCYXNlX19kb2NfX30sCi0gICAgeyJHZXRCYXNlIiwgICAoUHlDRnVuY3Rpb24peG1scGFyc2VfR2V0QmFzZSwKLSAgICAgICAgICAgICAgICAgIE1FVEhfTk9BUkdTLCB4bWxwYXJzZV9HZXRCYXNlX19kb2NfX30sCi0gICAgeyJFeHRlcm5hbEVudGl0eVBhcnNlckNyZWF0ZSIsIChQeUNGdW5jdGlvbil4bWxwYXJzZV9FeHRlcm5hbEVudGl0eVBhcnNlckNyZWF0ZSwKLSAgICAgICAgICAgICAgICAgIE1FVEhfVkFSQVJHUywgeG1scGFyc2VfRXh0ZXJuYWxFbnRpdHlQYXJzZXJDcmVhdGVfX2RvY19ffSwKLSAgICB7IlNldFBhcmFtRW50aXR5UGFyc2luZyIsIChQeUNGdW5jdGlvbil4bWxwYXJzZV9TZXRQYXJhbUVudGl0eVBhcnNpbmcsCi0gICAgICAgICAgICAgICAgICBNRVRIX1ZBUkFSR1MsIHhtbHBhcnNlX1NldFBhcmFtRW50aXR5UGFyc2luZ19fZG9jX199LAotICAgIHsiR2V0SW5wdXRDb250ZXh0IiwgKFB5Q0Z1bmN0aW9uKXhtbHBhcnNlX0dldElucHV0Q29udGV4dCwKLSAgICAgICAgICAgICAgICAgIE1FVEhfTk9BUkdTLCB4bWxwYXJzZV9HZXRJbnB1dENvbnRleHRfX2RvY19ffSwKKyAgICBQWUVYUEFUX1hNTFBBUlNFUl9QQVJTRV9NRVRIT0RERUYKKyAgICBQWUVYUEFUX1hNTFBBUlNFUl9QQVJTRUZJTEVfTUVUSE9EREVGCisgICAgUFlFWFBBVF9YTUxQQVJTRVJfU0VUQkFTRV9NRVRIT0RERUYKKyAgICBQWUVYUEFUX1hNTFBBUlNFUl9HRVRCQVNFX01FVEhPRERFRgorICAgIFBZRVhQQVRfWE1MUEFSU0VSX0dFVElOUFVUQ09OVEVYVF9NRVRIT0RERUYKKyAgICBQWUVYUEFUX1hNTFBBUlNFUl9FWFRFUk5BTEVOVElUWVBBUlNFUkNSRUFURV9NRVRIT0RERUYKKyAgICBQWUVYUEFUX1hNTFBBUlNFUl9TRVRQQVJBTUVOVElUWVBBUlNJTkdfTUVUSE9EREVGCiAjaWYgWE1MX0NPTUJJTkVEX1ZFUlNJT04gPj0gMTk1MDUKLSAgICB7IlVzZUZvcmVpZ25EVEQiLCAoUHlDRnVuY3Rpb24peG1scGFyc2VfVXNlRm9yZWlnbkRURCwKLSAgICAgICAgICAgICAgICAgIE1FVEhfVkFSQVJHUywgeG1scGFyc2VfVXNlRm9yZWlnbkRURF9fZG9jX199LAorICAgIFBZRVhQQVRfWE1MUEFSU0VSX1VTRUZPUkVJR05EVERfTUVUSE9EREVGCiAjZW5kaWYKLSAgICB7Il9fZGlyX18iLCB4bWxwYXJzZV9kaXIsIE1FVEhfTk9BUkdTfSwKLSAgICB7TlVMTCwgICAgICAgIE5VTEx9ICAgICAgICAgLyogc2VudGluZWwgKi8KKyAgICBQWUVYUEFUX1hNTFBBUlNFUl9fX0RJUl9fX01FVEhPRERFRgorICAgIHtOVUxMLCBOVUxMfSAgLyogc2VudGluZWwgKi8KIH07CiAKIC8qIC0tLS0tLS0tLS0gKi8KQEAgLTEwNzcsNyArMTM3Miw3IEBACiAKIAogc3RhdGljIFB5T2JqZWN0ICoKLW5ld3htbHBhcnNlb2JqZWN0KGNoYXIgKmVuY29kaW5nLCBjaGFyICpuYW1lc3BhY2Vfc2VwYXJhdG9yLCBQeU9iamVjdCAqaW50ZXJuKQorbmV3eG1scGFyc2VvYmplY3QoY29uc3QgY2hhciAqZW5jb2RpbmcsIGNvbnN0IGNoYXIgKm5hbWVzcGFjZV9zZXBhcmF0b3IsIFB5T2JqZWN0ICppbnRlcm4pCiB7CiAgICAgaW50IGk7CiAgICAgeG1scGFyc2VvYmplY3QgKnNlbGY7CkBAIC0xMjU1LDUyICsxNTUwLDYgQEAKICAgICByZXR1cm4gUHlPYmplY3RfR2VuZXJpY0dldEF0dHIoKFB5T2JqZWN0KilzZWxmLCBuYW1lb2JqKTsKIH0KIAotc3RhdGljIFB5T2JqZWN0ICoKLXhtbHBhcnNlX2RpcihQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QqIG5vYXJncykKLXsKLSNkZWZpbmUgQVBQRU5EKGxpc3QsIHN0cikgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICBkbyB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgUHlPYmplY3QgKm8gPSBQeVVuaWNvZGVfRnJvbVN0cmluZyhzdHIpOyAgICAgICAgXAotICAgICAgICAgICAgICAgIGlmIChvICE9IE5VTEwpICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgICAgICAgICBQeUxpc3RfQXBwZW5kKGxpc3QsIG8pOyAgICAgICAgIFwKLSAgICAgICAgICAgICAgICBQeV9YREVDUkVGKG8pOyAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICB9IHdoaWxlICgwKQotCi0gICAgaW50IGk7Ci0gICAgUHlPYmplY3QgKnJjID0gUHlMaXN0X05ldygwKTsKLSAgICBpZiAoIXJjKQotICAgICAgICByZXR1cm4gTlVMTDsKLSAgICBmb3IgKGkgPSAwOyBoYW5kbGVyX2luZm9baV0ubmFtZSAhPSBOVUxMOyBpKyspIHsKLSAgICAgICAgUHlPYmplY3QgKm8gPSBnZXRfaGFuZGxlcl9uYW1lKCZoYW5kbGVyX2luZm9baV0pOwotICAgICAgICBpZiAobyAhPSBOVUxMKQotICAgICAgICAgICAgUHlMaXN0X0FwcGVuZChyYywgbyk7Ci0gICAgICAgIFB5X1hERUNSRUYobyk7Ci0gICAgfQotICAgIEFQUEVORChyYywgIkVycm9yQ29kZSIpOwotICAgIEFQUEVORChyYywgIkVycm9yTGluZU51bWJlciIpOwotICAgIEFQUEVORChyYywgIkVycm9yQ29sdW1uTnVtYmVyIik7Ci0gICAgQVBQRU5EKHJjLCAiRXJyb3JCeXRlSW5kZXgiKTsKLSAgICBBUFBFTkQocmMsICJDdXJyZW50TGluZU51bWJlciIpOwotICAgIEFQUEVORChyYywgIkN1cnJlbnRDb2x1bW5OdW1iZXIiKTsKLSAgICBBUFBFTkQocmMsICJDdXJyZW50Qnl0ZUluZGV4Iik7Ci0gICAgQVBQRU5EKHJjLCAiYnVmZmVyX3NpemUiKTsKLSAgICBBUFBFTkQocmMsICJidWZmZXJfdGV4dCIpOwotICAgIEFQUEVORChyYywgImJ1ZmZlcl91c2VkIik7Ci0gICAgQVBQRU5EKHJjLCAibmFtZXNwYWNlX3ByZWZpeGVzIik7Ci0gICAgQVBQRU5EKHJjLCAib3JkZXJlZF9hdHRyaWJ1dGVzIik7Ci0gICAgQVBQRU5EKHJjLCAic3BlY2lmaWVkX2F0dHJpYnV0ZXMiKTsKLSAgICBBUFBFTkQocmMsICJpbnRlcm4iKTsKLQotI3VuZGVmIEFQUEVORAotCi0gICAgaWYgKFB5RXJyX09jY3VycmVkKCkpIHsKLSAgICAgICAgUHlfREVDUkVGKHJjKTsKLSAgICAgICAgcmMgPSBOVUxMOwotICAgIH0KLQotICAgIHJldHVybiByYzsKLX0KLQogc3RhdGljIGludAogc2V0aGFuZGxlcih4bWxwYXJzZW9iamVjdCAqc2VsZiwgUHlPYmplY3QgKm5hbWUsIFB5T2JqZWN0KiB2KQogewpAQCAtMTUwNiwyNCArMTc1NSw1NSBAQAogLyogRW5kIG9mIGNvZGUgZm9yIHhtbHBhcnNlciBvYmplY3RzICovCiAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLwogCisvKltjbGluaWMgaW5wdXRdCitweWV4cGF0LlBhcnNlckNyZWF0ZQorCisgICAgZW5jb2Rpbmc6IHN0cihudWxsYWJsZT1UcnVlKSA9IE5VTEwKKyAgICBuYW1lc3BhY2Vfc2VwYXJhdG9yOiBzdHIobnVsbGFibGU9VHJ1ZSkgPSBOVUxMCisgICAgaW50ZXJuOiBvYmplY3QgPSBOVUxMCisKK1JldHVybiBhIG5ldyBYTUwgcGFyc2VyIG9iamVjdC4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKwogUHlEb2NfU1RSVkFSKHB5ZXhwYXRfUGFyc2VyQ3JlYXRlX19kb2NfXywKLSJQYXJzZXJDcmVhdGUoW2VuY29kaW5nWywgbmFtZXNwYWNlX3NlcGFyYXRvcl1dKSAtPiBwYXJzZXJcblwKLVJldHVybiBhIG5ldyBYTUwgcGFyc2VyIG9iamVjdC4iKTsKKyJQYXJzZXJDcmVhdGUoJG1vZHVsZSwgLywgZW5jb2Rpbmc9Tm9uZSwgbmFtZXNwYWNlX3NlcGFyYXRvcj1Ob25lLFxuIgorIiAgICAgICAgICAgICBpbnRlcm49Tm9uZSlcbiIKKyItLVxuIgorIlxuIgorIlJldHVybiBhIG5ldyBYTUwgcGFyc2VyIG9iamVjdC4iKTsKKworI2RlZmluZSBQWUVYUEFUX1BBUlNFUkNSRUFURV9NRVRIT0RERUYgICAgXAorICAgIHsiUGFyc2VyQ3JlYXRlIiwgKFB5Q0Z1bmN0aW9uKXB5ZXhwYXRfUGFyc2VyQ3JlYXRlLCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywgcHlleHBhdF9QYXJzZXJDcmVhdGVfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLXB5ZXhwYXRfUGFyc2VyQ3JlYXRlKFB5T2JqZWN0ICpub3R1c2VkLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3KQorcHlleHBhdF9QYXJzZXJDcmVhdGVfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBjb25zdCBjaGFyICplbmNvZGluZywgY29uc3QgY2hhciAqbmFtZXNwYWNlX3NlcGFyYXRvciwgUHlPYmplY3QgKmludGVybik7CisKK3N0YXRpYyBQeU9iamVjdCAqCitweWV4cGF0X1BhcnNlckNyZWF0ZShQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3YXJncykKIHsKLSAgICBjaGFyICplbmNvZGluZyA9IE5VTEw7Ci0gICAgY2hhciAqbmFtZXNwYWNlX3NlcGFyYXRvciA9IE5VTEw7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgc3RhdGljIGNoYXIgKl9rZXl3b3Jkc1tdID0geyJlbmNvZGluZyIsICJuYW1lc3BhY2Vfc2VwYXJhdG9yIiwgImludGVybiIsIE5VTEx9OworICAgIGNvbnN0IGNoYXIgKmVuY29kaW5nID0gTlVMTDsKKyAgICBjb25zdCBjaGFyICpuYW1lc3BhY2Vfc2VwYXJhdG9yID0gTlVMTDsKICAgICBQeU9iamVjdCAqaW50ZXJuID0gTlVMTDsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywKKyAgICAgICAgInx6ek86UGFyc2VyQ3JlYXRlIiwgX2tleXdvcmRzLAorICAgICAgICAmZW5jb2RpbmcsICZuYW1lc3BhY2Vfc2VwYXJhdG9yLCAmaW50ZXJuKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IHB5ZXhwYXRfUGFyc2VyQ3JlYXRlX2ltcGwobW9kdWxlLCBlbmNvZGluZywgbmFtZXNwYWNlX3NlcGFyYXRvciwgaW50ZXJuKTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorcHlleHBhdF9QYXJzZXJDcmVhdGVfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBjb25zdCBjaGFyICplbmNvZGluZywgY29uc3QgY2hhciAqbmFtZXNwYWNlX3NlcGFyYXRvciwgUHlPYmplY3QgKmludGVybikKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD00ZmMwMjdkZDMzYjdhMmFjIGlucHV0PTcxYjlmNDcxYWE2ZjhmODZdKi8KK3sKICAgICBQeU9iamVjdCAqcmVzdWx0OwogICAgIGludCBpbnRlcm5fZGVjcmVmID0gMDsKLSAgICBzdGF0aWMgY2hhciAqa3dsaXN0W10gPSB7ImVuY29kaW5nIiwgIm5hbWVzcGFjZV9zZXBhcmF0b3IiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaW50ZXJuIiwgTlVMTH07CiAKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrdywgInx6ek86UGFyc2VyQ3JlYXRlIiwga3dsaXN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZlbmNvZGluZywgJm5hbWVzcGFjZV9zZXBhcmF0b3IsICZpbnRlcm4pKQotICAgICAgICByZXR1cm4gTlVMTDsKICAgICBpZiAobmFtZXNwYWNlX3NlcGFyYXRvciAhPSBOVUxMCiAgICAgICAgICYmIHN0cmxlbihuYW1lc3BhY2Vfc2VwYXJhdG9yKSA+IDEpIHsKICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsCkBAIC0xNTUzLDI5ICsxODMzLDU2IEBACiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAorLypbY2xpbmljIGlucHV0XQorcHlleHBhdC5FcnJvclN0cmluZworCisgICAgY29kZTogbG9uZworICAgIC8KKworUmV0dXJucyBzdHJpbmcgZXJyb3IgZm9yIGdpdmVuIG51bWJlci4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKwogUHlEb2NfU1RSVkFSKHB5ZXhwYXRfRXJyb3JTdHJpbmdfX2RvY19fLAotIkVycm9yU3RyaW5nKGVycm5vKSAtPiBzdHJpbmdcblwKLVJldHVybnMgc3RyaW5nIGVycm9yIGZvciBnaXZlbiBudW1iZXIuIik7CisiRXJyb3JTdHJpbmcoJG1vZHVsZSwgY29kZSwgLylcbiIKKyItLVxuIgorIlxuIgorIlJldHVybnMgc3RyaW5nIGVycm9yIGZvciBnaXZlbiBudW1iZXIuIik7CisKKyNkZWZpbmUgUFlFWFBBVF9FUlJPUlNUUklOR19NRVRIT0RERUYgICAgXAorICAgIHsiRXJyb3JTdHJpbmciLCAoUHlDRnVuY3Rpb24pcHlleHBhdF9FcnJvclN0cmluZywgTUVUSF9WQVJBUkdTLCBweWV4cGF0X0Vycm9yU3RyaW5nX19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1weWV4cGF0X0Vycm9yU3RyaW5nKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKLXsKLSAgICBsb25nIGNvZGUgPSAwOworcHlleHBhdF9FcnJvclN0cmluZ19pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIGxvbmcgY29kZSk7CiAKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgImw6RXJyb3JTdHJpbmciLCAmY29kZSkpCi0gICAgICAgIHJldHVybiBOVUxMOworc3RhdGljIFB5T2JqZWN0ICoKK3B5ZXhwYXRfRXJyb3JTdHJpbmcoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgbG9uZyBjb2RlOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCisgICAgICAgICJsOkVycm9yU3RyaW5nIiwKKyAgICAgICAgJmNvZGUpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gcHlleHBhdF9FcnJvclN0cmluZ19pbXBsKG1vZHVsZSwgY29kZSk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK3B5ZXhwYXRfRXJyb3JTdHJpbmdfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBsb25nIGNvZGUpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9YzcwZjNjZDgyYmZhZjA2NyBpbnB1dD1jYzY3ZGUwMTBkOWU2MmIzXSovCit7CiAgICAgcmV0dXJuIFB5X0J1aWxkVmFsdWUoInoiLCBYTUxfRXJyb3JTdHJpbmcoKGludCljb2RlKSk7CiB9CiAKIC8qIExpc3Qgb2YgbWV0aG9kcyBkZWZpbmVkIGluIHRoZSBtb2R1bGUgKi8KIAogc3RhdGljIHN0cnVjdCBQeU1ldGhvZERlZiBweWV4cGF0X21ldGhvZHNbXSA9IHsKLSAgICB7IlBhcnNlckNyZWF0ZSIsICAgIChQeUNGdW5jdGlvbilweWV4cGF0X1BhcnNlckNyZWF0ZSwKLSAgICAgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsIHB5ZXhwYXRfUGFyc2VyQ3JlYXRlX19kb2NfX30sCi0gICAgeyJFcnJvclN0cmluZyIsICAgICAoUHlDRnVuY3Rpb24pcHlleHBhdF9FcnJvclN0cmluZywKLSAgICAgTUVUSF9WQVJBUkdTLCAgICAgIHB5ZXhwYXRfRXJyb3JTdHJpbmdfX2RvY19ffSwKLQotICAgIHtOVUxMLCAgICAgICAoUHlDRnVuY3Rpb24pTlVMTCwgMCwgTlVMTH0gICAgICAgICAgICAvKiBzZW50aW5lbCAqLworICAgIFBZRVhQQVRfUEFSU0VSQ1JFQVRFX01FVEhPRERFRgorICAgIFBZRVhQQVRfRVJST1JTVFJJTkdfTUVUSE9EREVGCisgICAge05VTEwsIE5VTEx9ICAvKiBzZW50aW5lbCAqLwogfTsKIAogLyogTW9kdWxlIGRvY3N0cmluZyAqLwpAQCAtMTY2MCw3ICsxOTY3LDcgQEAKICAgICBQeU1vZHVsZV9BZGRPYmplY3QobSwgIlhNTFBhcnNlclR5cGUiLCAoUHlPYmplY3QgKikgJlhtbHBhcnNldHlwZSk7CiAKICAgICBQeU1vZHVsZV9BZGRTdHJpbmdDb25zdGFudChtLCAiRVhQQVRfVkVSU0lPTiIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNoYXIgKikgWE1MX0V4cGF0VmVyc2lvbigpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYTUxfRXhwYXRWZXJzaW9uKCkpOwogICAgIHsKICAgICAgICAgWE1MX0V4cGF0X1ZlcnNpb24gaW5mbyA9IFhNTF9FeHBhdFZlcnNpb25JbmZvKCk7CiAgICAgICAgIFB5TW9kdWxlX0FkZE9iamVjdChtLCAidmVyc2lvbl9pbmZvIiwKQEAgLTE3NDAsNyArMjA0Nyw3IEBACiAKICNkZWZpbmUgTVlDT05TVChuYW1lKSBcCiAgICAgaWYgKFB5TW9kdWxlX0FkZFN0cmluZ0NvbnN0YW50KGVycm9yc19tb2R1bGUsICNuYW1lLCAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNoYXIgKilYTUxfRXJyb3JTdHJpbmcobmFtZSkpIDwgMCkgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYTUxfRXJyb3JTdHJpbmcobmFtZSkpIDwgMCkgICAgICAgICBcCiAgICAgICAgIHJldHVybiBOVUxMOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICB0bXBudW0gPSBQeUxvbmdfRnJvbUxvbmcobmFtZSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgIGlmICh0bXBudW0gPT0gTlVMTCkgcmV0dXJuIE5VTEw7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCkBAIC0xOTUxLDMgKzIyNTgsMTIgQEAKIAogICAgIHtOVUxMLCBOVUxMLCBOVUxMfSAvKiBzZW50aW5lbCAqLwogfTsKKworLypbY2xpbmljIGlucHV0XQorZHVtcCBidWZmZXIKK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworI2lmbmRlZiBQWUVYUEFUX1hNTFBBUlNFUl9VU0VGT1JFSUdORFREX01FVEhPRERFRgorICAgICNkZWZpbmUgUFlFWFBBVF9YTUxQQVJTRVJfVVNFRk9SRUlHTkRURF9NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChQWUVYUEFUX1hNTFBBUlNFUl9VU0VGT1JFSUdORFREX01FVEhPRERFRikgKi8KKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1hNzg4MGNiNzhiYmQ1OGNlIGlucHV0PTUyNGNlMmUwMjFlNGViYTZdKi8KZGlmZiAtLWdpdCBhL01vZHVsZXMvcmVhZGxpbmUuYyBiL01vZHVsZXMvcmVhZGxpbmUuYwppbmRleCBmMzQ5ZDNiLi4yNmRmZmZiIDEwMDY0NAotLS0gYS9Nb2R1bGVzL3JlYWRsaW5lLmMKKysrIGIvTW9kdWxlcy9yZWFkbGluZS5jCkBAIC0yMzcsNiArMjM3LDQzIEBACiBUaGUgZGVmYXVsdCBmaWxlbmFtZSBpcyB+Ly5oaXN0b3J5LiIpOwogCiAKKyNpZmRlZiBIQVZFX1JMX0FQUEVORF9ISVNUT1JZCisvKiBFeHBvcnRlZCBmdW5jdGlvbiB0byBzYXZlIHBhcnQgb2YgYSByZWFkbGluZSBoaXN0b3J5IGZpbGUgKi8KKworc3RhdGljIFB5T2JqZWN0ICoKK2FwcGVuZF9oaXN0b3J5X2ZpbGUoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQoreworICAgIGludCBuZWxlbWVudHM7CisgICAgUHlPYmplY3QgKmZpbGVuYW1lX29iaiA9IFB5X05vbmUsICpmaWxlbmFtZV9ieXRlczsKKyAgICBjaGFyICpmaWxlbmFtZTsKKyAgICBpbnQgZXJyOworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiaXxPOmFwcGVuZF9oaXN0b3J5X2ZpbGUiLCAmbmVsZW1lbnRzLCAmZmlsZW5hbWVfb2JqKSkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgaWYgKGZpbGVuYW1lX29iaiAhPSBQeV9Ob25lKSB7CisgICAgICAgIGlmICghUHlVbmljb2RlX0ZTQ29udmVydGVyKGZpbGVuYW1lX29iaiwgJmZpbGVuYW1lX2J5dGVzKSkKKyAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICBmaWxlbmFtZSA9IFB5Qnl0ZXNfQXNTdHJpbmcoZmlsZW5hbWVfYnl0ZXMpOworICAgIH0gZWxzZSB7CisgICAgICAgIGZpbGVuYW1lX2J5dGVzID0gTlVMTDsKKyAgICAgICAgZmlsZW5hbWUgPSBOVUxMOworICAgIH0KKyAgICBlcnJubyA9IGVyciA9IGFwcGVuZF9oaXN0b3J5KG5lbGVtZW50cywgZmlsZW5hbWUpOworICAgIGlmICghZXJyICYmIF9oaXN0b3J5X2xlbmd0aCA+PSAwKQorICAgICAgICBoaXN0b3J5X3RydW5jYXRlX2ZpbGUoZmlsZW5hbWUsIF9oaXN0b3J5X2xlbmd0aCk7CisgICAgUHlfWERFQ1JFRihmaWxlbmFtZV9ieXRlcyk7CisgICAgZXJybm8gPSBlcnI7CisgICAgaWYgKGVycm5vKQorICAgICAgICByZXR1cm4gUHlFcnJfU2V0RnJvbUVycm5vKFB5RXhjX0lPRXJyb3IpOworICAgIFB5X1JFVFVSTl9OT05FOworfQorCitQeURvY19TVFJWQVIoZG9jX2FwcGVuZF9oaXN0b3J5X2ZpbGUsCisiYXBwZW5kX2hpc3RvcnlfZmlsZShuZWxlbWVudHNbLCBmaWxlbmFtZV0pIC0+IE5vbmVcblwKK0FwcGVuZCB0aGUgbGFzdCBuZWxlbWVudHMgb2YgdGhlIGhpc3RvcnkgbGlzdCB0byBmaWxlLlxuXAorVGhlIGRlZmF1bHQgZmlsZW5hbWUgaXMgfi8uaGlzdG9yeS4iKTsKKyNlbmRpZgorCisKIC8qIFNldCBoaXN0b3J5IGxlbmd0aCAqLwogCiBzdGF0aWMgUHlPYmplY3QqCkBAIC03NDcsNiArNzg0LDEwIEBACiAgICAgIE1FVEhfVkFSQVJHUywgZG9jX3JlYWRfaGlzdG9yeV9maWxlfSwKICAgICB7IndyaXRlX2hpc3RvcnlfZmlsZSIsIHdyaXRlX2hpc3RvcnlfZmlsZSwKICAgICAgTUVUSF9WQVJBUkdTLCBkb2Nfd3JpdGVfaGlzdG9yeV9maWxlfSwKKyNpZmRlZiBIQVZFX1JMX0FQUEVORF9ISVNUT1JZCisgICAgeyJhcHBlbmRfaGlzdG9yeV9maWxlIiwgYXBwZW5kX2hpc3RvcnlfZmlsZSwKKyAgICAgTUVUSF9WQVJBUkdTLCBkb2NfYXBwZW5kX2hpc3RvcnlfZmlsZX0sCisjZW5kaWYKICAgICB7ImdldF9oaXN0b3J5X2l0ZW0iLCBnZXRfaGlzdG9yeV9pdGVtLAogICAgICBNRVRIX1ZBUkFSR1MsIGRvY19nZXRfaGlzdG9yeV9pdGVtfSwKICAgICB7ImdldF9jdXJyZW50X2hpc3RvcnlfbGVuZ3RoIiwgKFB5Q0Z1bmN0aW9uKWdldF9jdXJyZW50X2hpc3RvcnlfbGVuZ3RoLApkaWZmIC0tZ2l0IGEvTW9kdWxlcy9zaGExbW9kdWxlLmMgYi9Nb2R1bGVzL3NoYTFtb2R1bGUuYwppbmRleCBiNDRmZTE4Li44OTYxZGU0IDEwMDY0NAotLS0gYS9Nb2R1bGVzL3NoYTFtb2R1bGUuYworKysgYi9Nb2R1bGVzL3NoYTFtb2R1bGUuYwpAQCAtMTksNiArMTksMTEgQEAKICNpbmNsdWRlICJQeXRob24uaCIKICNpbmNsdWRlICJoYXNobGliLmgiCiAKKy8qW2NsaW5pYyBpbnB1dF0KK21vZHVsZSBfc2hhMQorY2xhc3MgU0hBMVR5cGUgIlNIQTFvYmplY3QgKiIgIiZQeVR5cGVfVHlwZSIKK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1kYTM5YTNlZTVlNmI0YjBkIGlucHV0PTNkYzlhMjBkMWJlY2I3NTldKi8KIAogLyogU29tZSB1c2VmdWwgdHlwZXMgKi8KIApAQCAtMzA5LDEwICszMTQsMzMgQEAKIAogLyogRXh0ZXJuYWwgbWV0aG9kcyBmb3IgYSBoYXNoIG9iamVjdCAqLwogCi1QeURvY19TVFJWQVIoU0hBMV9jb3B5X19kb2NfXywgIlJldHVybiBhIGNvcHkgb2YgdGhlIGhhc2ggb2JqZWN0LiIpOworLypbY2xpbmljIGlucHV0XQorU0hBMVR5cGUuY29weQorCitSZXR1cm4gYSBjb3B5IG9mIHRoZSBoYXNoIG9iamVjdC4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKFNIQTFUeXBlX2NvcHlfX2RvY19fLAorImNvcHkoJHNlbGYsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJSZXR1cm4gYSBjb3B5IG9mIHRoZSBoYXNoIG9iamVjdC4iKTsKKworI2RlZmluZSBTSEExVFlQRV9DT1BZX01FVEhPRERFRiAgICBcCisgICAgeyJjb3B5IiwgKFB5Q0Z1bmN0aW9uKVNIQTFUeXBlX2NvcHksIE1FVEhfTk9BUkdTLCBTSEExVHlwZV9jb3B5X19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1TSEExX2NvcHkoU0hBMW9iamVjdCAqc2VsZiwgUHlPYmplY3QgKnVudXNlZCkKK1NIQTFUeXBlX2NvcHlfaW1wbChTSEExb2JqZWN0ICpzZWxmKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK1NIQTFUeXBlX2NvcHkoU0hBMW9iamVjdCAqc2VsZiwgUHlPYmplY3QgKlB5X1VOVVNFRChpZ25vcmVkKSkKK3sKKyAgICByZXR1cm4gU0hBMVR5cGVfY29weV9pbXBsKHNlbGYpOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorU0hBMVR5cGVfY29weV9pbXBsKFNIQTFvYmplY3QgKnNlbGYpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9MWEzMjBlNzVhNzQ0NDA5OCBpbnB1dD1iN2VhZTEwZGY2Zjg5YjM2XSovCiB7CiAgICAgU0hBMW9iamVjdCAqbmV3b2JqOwogCkBAIC0zMjMsMTEgKzM1MSwzMyBAQAogICAgIHJldHVybiAoUHlPYmplY3QgKiluZXdvYmo7CiB9CiAKLVB5RG9jX1NUUlZBUihTSEExX2RpZ2VzdF9fZG9jX18sCisvKltjbGluaWMgaW5wdXRdCitTSEExVHlwZS5kaWdlc3QKKworUmV0dXJuIHRoZSBkaWdlc3QgdmFsdWUgYXMgYSBzdHJpbmcgb2YgYmluYXJ5IGRhdGEuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihTSEExVHlwZV9kaWdlc3RfX2RvY19fLAorImRpZ2VzdCgkc2VsZiwgLylcbiIKKyItLVxuIgorIlxuIgogIlJldHVybiB0aGUgZGlnZXN0IHZhbHVlIGFzIGEgc3RyaW5nIG9mIGJpbmFyeSBkYXRhLiIpOwogCisjZGVmaW5lIFNIQTFUWVBFX0RJR0VTVF9NRVRIT0RERUYgICAgXAorICAgIHsiZGlnZXN0IiwgKFB5Q0Z1bmN0aW9uKVNIQTFUeXBlX2RpZ2VzdCwgTUVUSF9OT0FSR1MsIFNIQTFUeXBlX2RpZ2VzdF9fZG9jX199LAorCiBzdGF0aWMgUHlPYmplY3QgKgotU0hBMV9kaWdlc3QoU0hBMW9iamVjdCAqc2VsZiwgUHlPYmplY3QgKnVudXNlZCkKK1NIQTFUeXBlX2RpZ2VzdF9pbXBsKFNIQTFvYmplY3QgKnNlbGYpOworCitzdGF0aWMgUHlPYmplY3QgKgorU0hBMVR5cGVfZGlnZXN0KFNIQTFvYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpQeV9VTlVTRUQoaWdub3JlZCkpCit7CisgICAgcmV0dXJuIFNIQTFUeXBlX2RpZ2VzdF9pbXBsKHNlbGYpOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorU0hBMVR5cGVfZGlnZXN0X2ltcGwoU0hBMW9iamVjdCAqc2VsZikKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1jNDkyMGY3NTIyOGJmYmZkIGlucHV0PTIwNWQ0N2UxOTI3ZmQwMDldKi8KIHsKICAgICB1bnNpZ25lZCBjaGFyIGRpZ2VzdFtTSEExX0RJR0VTVFNJWkVdOwogICAgIHN0cnVjdCBzaGExX3N0YXRlIHRlbXA7CkBAIC0zMzcsMTEgKzM4NywzMyBAQAogICAgIHJldHVybiBQeUJ5dGVzX0Zyb21TdHJpbmdBbmRTaXplKChjb25zdCBjaGFyICopZGlnZXN0LCBTSEExX0RJR0VTVFNJWkUpOwogfQogCi1QeURvY19TVFJWQVIoU0hBMV9oZXhkaWdlc3RfX2RvY19fLAorLypbY2xpbmljIGlucHV0XQorU0hBMVR5cGUuaGV4ZGlnZXN0CisKK1JldHVybiB0aGUgZGlnZXN0IHZhbHVlIGFzIGEgc3RyaW5nIG9mIGhleGFkZWNpbWFsIGRpZ2l0cy4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKFNIQTFUeXBlX2hleGRpZ2VzdF9fZG9jX18sCisiaGV4ZGlnZXN0KCRzZWxmLCAvKVxuIgorIi0tXG4iCisiXG4iCiAiUmV0dXJuIHRoZSBkaWdlc3QgdmFsdWUgYXMgYSBzdHJpbmcgb2YgaGV4YWRlY2ltYWwgZGlnaXRzLiIpOwogCisjZGVmaW5lIFNIQTFUWVBFX0hFWERJR0VTVF9NRVRIT0RERUYgICAgXAorICAgIHsiaGV4ZGlnZXN0IiwgKFB5Q0Z1bmN0aW9uKVNIQTFUeXBlX2hleGRpZ2VzdCwgTUVUSF9OT0FSR1MsIFNIQTFUeXBlX2hleGRpZ2VzdF9fZG9jX199LAorCiBzdGF0aWMgUHlPYmplY3QgKgotU0hBMV9oZXhkaWdlc3QoU0hBMW9iamVjdCAqc2VsZiwgUHlPYmplY3QgKnVudXNlZCkKK1NIQTFUeXBlX2hleGRpZ2VzdF9pbXBsKFNIQTFvYmplY3QgKnNlbGYpOworCitzdGF0aWMgUHlPYmplY3QgKgorU0hBMVR5cGVfaGV4ZGlnZXN0KFNIQTFvYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpQeV9VTlVTRUQoaWdub3JlZCkpCit7CisgICAgcmV0dXJuIFNIQTFUeXBlX2hleGRpZ2VzdF9pbXBsKHNlbGYpOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorU0hBMVR5cGVfaGV4ZGlnZXN0X2ltcGwoU0hBMW9iamVjdCAqc2VsZikKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD02ZTM0NWFhYzIwMTg4N2IyIGlucHV0PTk3NjkxMDU1YzBjNzRhYjBdKi8KIHsKICAgICB1bnNpZ25lZCBjaGFyIGRpZ2VzdFtTSEExX0RJR0VTVFNJWkVdOwogICAgIHN0cnVjdCBzaGExX3N0YXRlIHRlbXA7CkBAIC0zNzMsMTggKzQ0NSwzMCBAQAogICAgIHJldHVybiByZXR2YWw7CiB9CiAKLVB5RG9jX1NUUlZBUihTSEExX3VwZGF0ZV9fZG9jX18sCi0iVXBkYXRlIHRoaXMgaGFzaCBvYmplY3QncyBzdGF0ZSB3aXRoIHRoZSBwcm92aWRlZCBzdHJpbmcuIik7CisvKltjbGluaWMgaW5wdXRdCitTSEExVHlwZS51cGRhdGUKKworICAgIG9iajogb2JqZWN0CisgICAgLworCitVcGRhdGUgdGhpcyBoYXNoIG9iamVjdCdzIHN0YXRlIHdpdGggdGhlIHByb3ZpZGVkIHN0cmluZy4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKFNIQTFUeXBlX3VwZGF0ZV9fZG9jX18sCisidXBkYXRlKCRzZWxmLCBvYmosIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJVcGRhdGUgdGhpcyBoYXNoIG9iamVjdFwncyBzdGF0ZSB3aXRoIHRoZSBwcm92aWRlZCBzdHJpbmcuIik7CisKKyNkZWZpbmUgU0hBMVRZUEVfVVBEQVRFX01FVEhPRERFRiAgICBcCisgICAgeyJ1cGRhdGUiLCAoUHlDRnVuY3Rpb24pU0hBMVR5cGVfdXBkYXRlLCBNRVRIX08sIFNIQTFUeXBlX3VwZGF0ZV9fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotU0hBMV91cGRhdGUoU0hBMW9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCitTSEExVHlwZV91cGRhdGUoU0hBMW9iamVjdCAqc2VsZiwgUHlPYmplY3QgKm9iaikKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1hYjIwYTg2YTI1ZTdkMjU1IGlucHV0PWFhZDhlMDc4MTJlZGJiYTNdKi8KIHsKLSAgICBQeU9iamVjdCAqb2JqOwogICAgIFB5X2J1ZmZlciBidWY7CiAKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgIk86dXBkYXRlIiwgJm9iaikpCi0gICAgICAgIHJldHVybiBOVUxMOwotCiAgICAgR0VUX0JVRkZFUl9WSUVXX09SX0VSUk9VVChvYmosICZidWYpOwogCiAgICAgc2hhMV9wcm9jZXNzKCZzZWxmLT5oYXNoX3N0YXRlLCBidWYuYnVmLCBidWYubGVuKTsKQEAgLTM5NSwxMCArNDc5LDEwIEBACiB9CiAKIHN0YXRpYyBQeU1ldGhvZERlZiBTSEExX21ldGhvZHNbXSA9IHsKLSAgICB7ImNvcHkiLCAgICAgIChQeUNGdW5jdGlvbilTSEExX2NvcHksICAgICAgTUVUSF9OT0FSR1MsICBTSEExX2NvcHlfX2RvY19ffSwKLSAgICB7ImRpZ2VzdCIsICAgIChQeUNGdW5jdGlvbilTSEExX2RpZ2VzdCwgICAgTUVUSF9OT0FSR1MsICBTSEExX2RpZ2VzdF9fZG9jX199LAotICAgIHsiaGV4ZGlnZXN0IiwgKFB5Q0Z1bmN0aW9uKVNIQTFfaGV4ZGlnZXN0LCBNRVRIX05PQVJHUywgIFNIQTFfaGV4ZGlnZXN0X19kb2NfX30sCi0gICAgeyJ1cGRhdGUiLCAgICAoUHlDRnVuY3Rpb24pU0hBMV91cGRhdGUsICAgIE1FVEhfVkFSQVJHUywgU0hBMV91cGRhdGVfX2RvY19ffSwKKyAgICBTSEExVFlQRV9DT1BZX01FVEhPRERFRgorICAgIFNIQTFUWVBFX0RJR0VTVF9NRVRIT0RERUYKKyAgICBTSEExVFlQRV9IRVhESUdFU1RfTUVUSE9EREVGCisgICAgU0hBMVRZUEVfVVBEQVRFX01FVEhPRERFRgogICAgIHtOVUxMLCAgICAgICAgTlVMTH0gICAgICAgICAvKiBzZW50aW5lbCAqLwogfTsKIApAQCAtNDc0LDI3ICs1NTgsNTUgQEAKIAogLyogVGhlIHNpbmdsZSBtb2R1bGUtbGV2ZWwgZnVuY3Rpb246IG5ldygpICovCiAKLVB5RG9jX1NUUlZBUihTSEExX25ld19fZG9jX18sCisvKltjbGluaWMgaW5wdXRdCitfc2hhMS5zaGExCisKKyAgICBzdHJpbmc6IG9iamVjdChjX2RlZmF1bHQ9Ik5VTEwiKSA9IGInJworCitSZXR1cm4gYSBuZXcgU0hBMSBoYXNoIG9iamVjdDsgb3B0aW9uYWxseSBpbml0aWFsaXplZCB3aXRoIGEgc3RyaW5nLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIoX3NoYTFfc2hhMV9fZG9jX18sCisic2hhMSgkbW9kdWxlLCAvLCBzdHJpbmc9YlwnXCcpXG4iCisiLS1cbiIKKyJcbiIKICJSZXR1cm4gYSBuZXcgU0hBMSBoYXNoIG9iamVjdDsgb3B0aW9uYWxseSBpbml0aWFsaXplZCB3aXRoIGEgc3RyaW5nLiIpOwogCisjZGVmaW5lIF9TSEExX1NIQTFfTUVUSE9EREVGICAgIFwKKyAgICB7InNoYTEiLCAoUHlDRnVuY3Rpb24pX3NoYTFfc2hhMSwgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsIF9zaGExX3NoYTFfX2RvY19ffSwKKwogc3RhdGljIFB5T2JqZWN0ICoKLVNIQTFfbmV3KFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3ZGljdCkKK19zaGExX3NoYTFfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqc3RyaW5nKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK19zaGExX3NoYTEoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCiB7Ci0gICAgc3RhdGljIGNoYXIgKmt3bGlzdFtdID0geyJzdHJpbmciLCBOVUxMfTsKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBzdGF0aWMgY2hhciAqX2tleXdvcmRzW10gPSB7InN0cmluZyIsIE5VTEx9OworICAgIFB5T2JqZWN0ICpzdHJpbmcgPSBOVUxMOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLAorICAgICAgICAifE86c2hhMSIsIF9rZXl3b3JkcywKKyAgICAgICAgJnN0cmluZykpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBfc2hhMV9zaGExX2ltcGwobW9kdWxlLCBzdHJpbmcpOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitfc2hhMV9zaGExX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKnN0cmluZykKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1jOTA2ODU1MmYwN2I4OTU0IGlucHV0PTI3ZWE1NDI4MWQ5OTVlYzJdKi8KK3sKICAgICBTSEExb2JqZWN0ICpuZXc7Ci0gICAgUHlPYmplY3QgKmRhdGFfb2JqID0gTlVMTDsKICAgICBQeV9idWZmZXIgYnVmOwogCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dkaWN0LCAifE86bmV3Iiwga3dsaXN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZkYXRhX29iaikpIHsKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgfQotCi0gICAgaWYgKGRhdGFfb2JqKQotICAgICAgICBHRVRfQlVGRkVSX1ZJRVdfT1JfRVJST1VUKGRhdGFfb2JqLCAmYnVmKTsKKyAgICBpZiAoc3RyaW5nKQorICAgICAgICBHRVRfQlVGRkVSX1ZJRVdfT1JfRVJST1VUKHN0cmluZywgJmJ1Zik7CiAKICAgICBpZiAoKG5ldyA9IG5ld1NIQTFvYmplY3QoKSkgPT0gTlVMTCkgewotICAgICAgICBpZiAoZGF0YV9vYmopCisgICAgICAgIGlmIChzdHJpbmcpCiAgICAgICAgICAgICBQeUJ1ZmZlcl9SZWxlYXNlKCZidWYpOwogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CkBAIC01MDMsMTEgKzYxNSwxMSBAQAogCiAgICAgaWYgKFB5RXJyX09jY3VycmVkKCkpIHsKICAgICAgICAgUHlfREVDUkVGKG5ldyk7Ci0gICAgICAgIGlmIChkYXRhX29iaikKKyAgICAgICAgaWYgKHN0cmluZykKICAgICAgICAgICAgIFB5QnVmZmVyX1JlbGVhc2UoJmJ1Zik7CiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KLSAgICBpZiAoZGF0YV9vYmopIHsKKyAgICBpZiAoc3RyaW5nKSB7CiAgICAgICAgIHNoYTFfcHJvY2VzcygmbmV3LT5oYXNoX3N0YXRlLCBidWYuYnVmLCBidWYubGVuKTsKICAgICAgICAgUHlCdWZmZXJfUmVsZWFzZSgmYnVmKTsKICAgICB9CkBAIC01MTksNyArNjMxLDcgQEAKIC8qIExpc3Qgb2YgZnVuY3Rpb25zIGV4cG9ydGVkIGJ5IHRoaXMgbW9kdWxlICovCiAKIHN0YXRpYyBzdHJ1Y3QgUHlNZXRob2REZWYgU0hBMV9mdW5jdGlvbnNbXSA9IHsKLSAgICB7InNoYTEiLChQeUNGdW5jdGlvbilTSEExX25ldywgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsU0hBMV9uZXdfX2RvY19ffSwKKyAgICBfU0hBMV9TSEExX01FVEhPRERFRgogICAgIHtOVUxMLCAgICAgIE5VTEx9ICAgICAgICAgICAgLyogU2VudGluZWwgKi8KIH07CiAKZGlmZiAtLWdpdCBhL01vZHVsZXMvc2hhMjU2bW9kdWxlLmMgYi9Nb2R1bGVzL3NoYTI1Nm1vZHVsZS5jCmluZGV4IGIwNWJmYzEuLjdiMTQ4ODYgMTAwNjQ0Ci0tLSBhL01vZHVsZXMvc2hhMjU2bW9kdWxlLmMKKysrIGIvTW9kdWxlcy9zaGEyNTZtb2R1bGUuYwpAQCAtMjAsNiArMjAsMTEgQEAKICNpbmNsdWRlICJzdHJ1Y3RtZW1iZXIuaCIKICNpbmNsdWRlICJoYXNobGliLmgiCiAKKy8qW2NsaW5pYyBpbnB1dF0KK21vZHVsZSBfc2hhMjU2CitjbGFzcyBTSEEyNTZUeXBlICJTSEFvYmplY3QgKiIgIiZQeVR5cGVfVHlwZSIKK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1kYTM5YTNlZTVlNmI0YjBkIGlucHV0PTcxYTM5MTc0ZDRmMGE3NDRdKi8KIAogLyogU29tZSB1c2VmdWwgdHlwZXMgKi8KIApAQCAtMzkzLDEwICszOTgsMzMgQEAKIAogLyogRXh0ZXJuYWwgbWV0aG9kcyBmb3IgYSBoYXNoIG9iamVjdCAqLwogCi1QeURvY19TVFJWQVIoU0hBMjU2X2NvcHlfX2RvY19fLCAiUmV0dXJuIGEgY29weSBvZiB0aGUgaGFzaCBvYmplY3QuIik7CisvKltjbGluaWMgaW5wdXRdCitTSEEyNTZUeXBlLmNvcHkKKworUmV0dXJuIGEgY29weSBvZiB0aGUgaGFzaCBvYmplY3QuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihTSEEyNTZUeXBlX2NvcHlfX2RvY19fLAorImNvcHkoJHNlbGYsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJSZXR1cm4gYSBjb3B5IG9mIHRoZSBoYXNoIG9iamVjdC4iKTsKKworI2RlZmluZSBTSEEyNTZUWVBFX0NPUFlfTUVUSE9EREVGICAgIFwKKyAgICB7ImNvcHkiLCAoUHlDRnVuY3Rpb24pU0hBMjU2VHlwZV9jb3B5LCBNRVRIX05PQVJHUywgU0hBMjU2VHlwZV9jb3B5X19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1TSEEyNTZfY29weShTSEFvYmplY3QgKnNlbGYsIFB5T2JqZWN0ICp1bnVzZWQpCitTSEEyNTZUeXBlX2NvcHlfaW1wbChTSEFvYmplY3QgKnNlbGYpOworCitzdGF0aWMgUHlPYmplY3QgKgorU0hBMjU2VHlwZV9jb3B5KFNIQW9iamVjdCAqc2VsZiwgUHlPYmplY3QgKlB5X1VOVVNFRChpZ25vcmVkKSkKK3sKKyAgICByZXR1cm4gU0hBMjU2VHlwZV9jb3B5X2ltcGwoc2VsZik7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitTSEEyNTZUeXBlX2NvcHlfaW1wbChTSEFvYmplY3QgKnNlbGYpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9ZjcxNmMzOWQzZjgxYzI3YyBpbnB1dD1mNTg4NDBhNjE4ZDRmMmE3XSovCiB7CiAgICAgU0hBb2JqZWN0ICpuZXdvYmo7CiAKQEAgLTQxMiwxMSArNDQwLDMzIEBACiAgICAgcmV0dXJuIChQeU9iamVjdCAqKW5ld29iajsKIH0KIAotUHlEb2NfU1RSVkFSKFNIQTI1Nl9kaWdlc3RfX2RvY19fLAorLypbY2xpbmljIGlucHV0XQorU0hBMjU2VHlwZS5kaWdlc3QKKworUmV0dXJuIHRoZSBkaWdlc3QgdmFsdWUgYXMgYSBzdHJpbmcgb2YgYmluYXJ5IGRhdGEuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihTSEEyNTZUeXBlX2RpZ2VzdF9fZG9jX18sCisiZGlnZXN0KCRzZWxmLCAvKVxuIgorIi0tXG4iCisiXG4iCiAiUmV0dXJuIHRoZSBkaWdlc3QgdmFsdWUgYXMgYSBzdHJpbmcgb2YgYmluYXJ5IGRhdGEuIik7CiAKKyNkZWZpbmUgU0hBMjU2VFlQRV9ESUdFU1RfTUVUSE9EREVGICAgIFwKKyAgICB7ImRpZ2VzdCIsIChQeUNGdW5jdGlvbilTSEEyNTZUeXBlX2RpZ2VzdCwgTUVUSF9OT0FSR1MsIFNIQTI1NlR5cGVfZGlnZXN0X19kb2NfX30sCisKIHN0YXRpYyBQeU9iamVjdCAqCi1TSEEyNTZfZGlnZXN0KFNIQW9iamVjdCAqc2VsZiwgUHlPYmplY3QgKnVudXNlZCkKK1NIQTI1NlR5cGVfZGlnZXN0X2ltcGwoU0hBb2JqZWN0ICpzZWxmKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK1NIQTI1NlR5cGVfZGlnZXN0KFNIQW9iamVjdCAqc2VsZiwgUHlPYmplY3QgKlB5X1VOVVNFRChpZ25vcmVkKSkKK3sKKyAgICByZXR1cm4gU0hBMjU2VHlwZV9kaWdlc3RfaW1wbChzZWxmKTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK1NIQTI1NlR5cGVfZGlnZXN0X2ltcGwoU0hBb2JqZWN0ICpzZWxmKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTcyZDM0NzIzZDdiYjY5NGMgaW5wdXQ9MWZiNzUyZTU4OTU0MTU3ZF0qLwogewogICAgIHVuc2lnbmVkIGNoYXIgZGlnZXN0W1NIQV9ESUdFU1RTSVpFXTsKICAgICBTSEFvYmplY3QgdGVtcDsKQEAgLTQyNiwxMSArNDc2LDMzIEBACiAgICAgcmV0dXJuIFB5Qnl0ZXNfRnJvbVN0cmluZ0FuZFNpemUoKGNvbnN0IGNoYXIgKilkaWdlc3QsIHNlbGYtPmRpZ2VzdHNpemUpOwogfQogCi1QeURvY19TVFJWQVIoU0hBMjU2X2hleGRpZ2VzdF9fZG9jX18sCisvKltjbGluaWMgaW5wdXRdCitTSEEyNTZUeXBlLmhleGRpZ2VzdAorCitSZXR1cm4gdGhlIGRpZ2VzdCB2YWx1ZSBhcyBhIHN0cmluZyBvZiBoZXhhZGVjaW1hbCBkaWdpdHMuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihTSEEyNTZUeXBlX2hleGRpZ2VzdF9fZG9jX18sCisiaGV4ZGlnZXN0KCRzZWxmLCAvKVxuIgorIi0tXG4iCisiXG4iCiAiUmV0dXJuIHRoZSBkaWdlc3QgdmFsdWUgYXMgYSBzdHJpbmcgb2YgaGV4YWRlY2ltYWwgZGlnaXRzLiIpOwogCisjZGVmaW5lIFNIQTI1NlRZUEVfSEVYRElHRVNUX01FVEhPRERFRiAgICBcCisgICAgeyJoZXhkaWdlc3QiLCAoUHlDRnVuY3Rpb24pU0hBMjU2VHlwZV9oZXhkaWdlc3QsIE1FVEhfTk9BUkdTLCBTSEEyNTZUeXBlX2hleGRpZ2VzdF9fZG9jX199LAorCiBzdGF0aWMgUHlPYmplY3QgKgotU0hBMjU2X2hleGRpZ2VzdChTSEFvYmplY3QgKnNlbGYsIFB5T2JqZWN0ICp1bnVzZWQpCitTSEEyNTZUeXBlX2hleGRpZ2VzdF9pbXBsKFNIQW9iamVjdCAqc2VsZik7CisKK3N0YXRpYyBQeU9iamVjdCAqCitTSEEyNTZUeXBlX2hleGRpZ2VzdChTSEFvYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpQeV9VTlVTRUQoaWdub3JlZCkpCit7CisgICAgcmV0dXJuIFNIQTI1NlR5cGVfaGV4ZGlnZXN0X2ltcGwoc2VsZik7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitTSEEyNTZUeXBlX2hleGRpZ2VzdF9pbXBsKFNIQW9iamVjdCAqc2VsZikKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD0zNjg3YWE2MTgzYzdkMjdmIGlucHV0PTBjYzRjNzE0NjkzMDEwZDFdKi8KIHsKICAgICB1bnNpZ25lZCBjaGFyIGRpZ2VzdFtTSEFfRElHRVNUU0laRV07CiAgICAgU0hBb2JqZWN0IHRlbXA7CkBAIC00NjIsMTggKzUzNCwzMCBAQAogICAgIHJldHVybiByZXR2YWw7CiB9CiAKLVB5RG9jX1NUUlZBUihTSEEyNTZfdXBkYXRlX19kb2NfXywKLSJVcGRhdGUgdGhpcyBoYXNoIG9iamVjdCdzIHN0YXRlIHdpdGggdGhlIHByb3ZpZGVkIHN0cmluZy4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK1NIQTI1NlR5cGUudXBkYXRlCisKKyAgICBvYmo6IG9iamVjdAorICAgIC8KKworVXBkYXRlIHRoaXMgaGFzaCBvYmplY3QncyBzdGF0ZSB3aXRoIHRoZSBwcm92aWRlZCBzdHJpbmcuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihTSEEyNTZUeXBlX3VwZGF0ZV9fZG9jX18sCisidXBkYXRlKCRzZWxmLCBvYmosIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJVcGRhdGUgdGhpcyBoYXNoIG9iamVjdFwncyBzdGF0ZSB3aXRoIHRoZSBwcm92aWRlZCBzdHJpbmcuIik7CisKKyNkZWZpbmUgU0hBMjU2VFlQRV9VUERBVEVfTUVUSE9EREVGICAgIFwKKyAgICB7InVwZGF0ZSIsIChQeUNGdW5jdGlvbilTSEEyNTZUeXBlX3VwZGF0ZSwgTUVUSF9PLCBTSEEyNTZUeXBlX3VwZGF0ZV9fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotU0hBMjU2X3VwZGF0ZShTSEFvYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQorU0hBMjU2VHlwZV91cGRhdGUoU0hBb2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqb2JqKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWI0N2Y1M2Q3Y2JlYWJlZTQgaW5wdXQ9YjJkNDQ5ZDViMzBmMGY1YV0qLwogewotICAgIFB5T2JqZWN0ICpvYmo7CiAgICAgUHlfYnVmZmVyIGJ1ZjsKIAotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiTzp1cGRhdGUiLCAmb2JqKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0KICAgICBHRVRfQlVGRkVSX1ZJRVdfT1JfRVJST1VUKG9iaiwgJmJ1Zik7CiAKICAgICBzaGFfdXBkYXRlKHNlbGYsIGJ1Zi5idWYsIGJ1Zi5sZW4pOwpAQCAtNDg0LDEwICs1NjgsMTAgQEAKIH0KIAogc3RhdGljIFB5TWV0aG9kRGVmIFNIQV9tZXRob2RzW10gPSB7Ci0gICAgeyJjb3B5IiwgICAgICAoUHlDRnVuY3Rpb24pU0hBMjU2X2NvcHksICAgICAgTUVUSF9OT0FSR1MsICBTSEEyNTZfY29weV9fZG9jX199LAotICAgIHsiZGlnZXN0IiwgICAgKFB5Q0Z1bmN0aW9uKVNIQTI1Nl9kaWdlc3QsICAgIE1FVEhfTk9BUkdTLCAgU0hBMjU2X2RpZ2VzdF9fZG9jX199LAotICAgIHsiaGV4ZGlnZXN0IiwgKFB5Q0Z1bmN0aW9uKVNIQTI1Nl9oZXhkaWdlc3QsIE1FVEhfTk9BUkdTLCAgU0hBMjU2X2hleGRpZ2VzdF9fZG9jX199LAotICAgIHsidXBkYXRlIiwgICAgKFB5Q0Z1bmN0aW9uKVNIQTI1Nl91cGRhdGUsICAgIE1FVEhfVkFSQVJHUywgU0hBMjU2X3VwZGF0ZV9fZG9jX199LAorICAgIFNIQTI1NlRZUEVfQ09QWV9NRVRIT0RERUYKKyAgICBTSEEyNTZUWVBFX0RJR0VTVF9NRVRIT0RERUYKKyAgICBTSEEyNTZUWVBFX0hFWERJR0VTVF9NRVRIT0RERUYKKyAgICBTSEEyNTZUWVBFX1VQREFURV9NRVRIT0RERUYKICAgICB7TlVMTCwgICAgICAgIE5VTEx9ICAgICAgICAgLyogc2VudGluZWwgKi8KIH07CiAKQEAgLTU5NCwyNyArNjc4LDU1IEBACiAKIC8qIFRoZSBzaW5nbGUgbW9kdWxlLWxldmVsIGZ1bmN0aW9uOiBuZXcoKSAqLwogCi1QeURvY19TVFJWQVIoU0hBMjU2X25ld19fZG9jX18sCisvKltjbGluaWMgaW5wdXRdCitfc2hhMjU2LnNoYTI1NgorCisgICAgc3RyaW5nOiBvYmplY3QoY19kZWZhdWx0PSJOVUxMIikgPSBiJycKKworUmV0dXJuIGEgbmV3IFNIQS0yNTYgaGFzaCBvYmplY3Q7IG9wdGlvbmFsbHkgaW5pdGlhbGl6ZWQgd2l0aCBhIHN0cmluZy4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKF9zaGEyNTZfc2hhMjU2X19kb2NfXywKKyJzaGEyNTYoJG1vZHVsZSwgLywgc3RyaW5nPWJcJ1wnKVxuIgorIi0tXG4iCisiXG4iCiAiUmV0dXJuIGEgbmV3IFNIQS0yNTYgaGFzaCBvYmplY3Q7IG9wdGlvbmFsbHkgaW5pdGlhbGl6ZWQgd2l0aCBhIHN0cmluZy4iKTsKIAorI2RlZmluZSBfU0hBMjU2X1NIQTI1Nl9NRVRIT0RERUYgICAgXAorICAgIHsic2hhMjU2IiwgKFB5Q0Z1bmN0aW9uKV9zaGEyNTZfc2hhMjU2LCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywgX3NoYTI1Nl9zaGEyNTZfX2RvY19ffSwKKwogc3RhdGljIFB5T2JqZWN0ICoKLVNIQTI1Nl9uZXcoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dkaWN0KQorX3NoYTI1Nl9zaGEyNTZfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqc3RyaW5nKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK19zaGEyNTZfc2hhMjU2KFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQogewotICAgIHN0YXRpYyBjaGFyICprd2xpc3RbXSA9IHsic3RyaW5nIiwgTlVMTH07CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgc3RhdGljIGNoYXIgKl9rZXl3b3Jkc1tdID0geyJzdHJpbmciLCBOVUxMfTsKKyAgICBQeU9iamVjdCAqc3RyaW5nID0gTlVMTDsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywKKyAgICAgICAgInxPOnNoYTI1NiIsIF9rZXl3b3JkcywKKyAgICAgICAgJnN0cmluZykpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBfc2hhMjU2X3NoYTI1Nl9pbXBsKG1vZHVsZSwgc3RyaW5nKTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorX3NoYTI1Nl9zaGEyNTZfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqc3RyaW5nKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTRiMTI2M2QxZTJmY2RiOTggaW5wdXQ9MDljY2UzZmI4NTUwNTZiMl0qLworewogICAgIFNIQW9iamVjdCAqbmV3OwotICAgIFB5T2JqZWN0ICpkYXRhX29iaiA9IE5VTEw7CiAgICAgUHlfYnVmZmVyIGJ1ZjsKIAotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3ZGljdCwgInxPOm5ldyIsIGt3bGlzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZGF0YV9vYmopKSB7Ci0gICAgICAgIHJldHVybiBOVUxMOwotICAgIH0KLQotICAgIGlmIChkYXRhX29iaikKLSAgICAgICAgR0VUX0JVRkZFUl9WSUVXX09SX0VSUk9VVChkYXRhX29iaiwgJmJ1Zik7CisgICAgaWYgKHN0cmluZykKKyAgICAgICAgR0VUX0JVRkZFUl9WSUVXX09SX0VSUk9VVChzdHJpbmcsICZidWYpOwogCiAgICAgaWYgKChuZXcgPSBuZXdTSEEyNTZvYmplY3QoKSkgPT0gTlVMTCkgewotICAgICAgICBpZiAoZGF0YV9vYmopCisgICAgICAgIGlmIChzdHJpbmcpCiAgICAgICAgICAgICBQeUJ1ZmZlcl9SZWxlYXNlKCZidWYpOwogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CkBAIC02MjMsMTEgKzczNSwxMSBAQAogCiAgICAgaWYgKFB5RXJyX09jY3VycmVkKCkpIHsKICAgICAgICAgUHlfREVDUkVGKG5ldyk7Ci0gICAgICAgIGlmIChkYXRhX29iaikKKyAgICAgICAgaWYgKHN0cmluZykKICAgICAgICAgICAgIFB5QnVmZmVyX1JlbGVhc2UoJmJ1Zik7CiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KLSAgICBpZiAoZGF0YV9vYmopIHsKKyAgICBpZiAoc3RyaW5nKSB7CiAgICAgICAgIHNoYV91cGRhdGUobmV3LCBidWYuYnVmLCBidWYubGVuKTsKICAgICAgICAgUHlCdWZmZXJfUmVsZWFzZSgmYnVmKTsKICAgICB9CkBAIC02MzUsMjcgKzc0Nyw1NSBAQAogICAgIHJldHVybiAoUHlPYmplY3QgKiluZXc7CiB9CiAKLVB5RG9jX1NUUlZBUihTSEEyMjRfbmV3X19kb2NfXywKKy8qW2NsaW5pYyBpbnB1dF0KK19zaGEyNTYuc2hhMjI0CisKKyAgICBzdHJpbmc6IG9iamVjdChjX2RlZmF1bHQ9Ik5VTEwiKSA9IGInJworCitSZXR1cm4gYSBuZXcgU0hBLTIyNCBoYXNoIG9iamVjdDsgb3B0aW9uYWxseSBpbml0aWFsaXplZCB3aXRoIGEgc3RyaW5nLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIoX3NoYTI1Nl9zaGEyMjRfX2RvY19fLAorInNoYTIyNCgkbW9kdWxlLCAvLCBzdHJpbmc9YlwnXCcpXG4iCisiLS1cbiIKKyJcbiIKICJSZXR1cm4gYSBuZXcgU0hBLTIyNCBoYXNoIG9iamVjdDsgb3B0aW9uYWxseSBpbml0aWFsaXplZCB3aXRoIGEgc3RyaW5nLiIpOwogCisjZGVmaW5lIF9TSEEyNTZfU0hBMjI0X01FVEhPRERFRiAgICBcCisgICAgeyJzaGEyMjQiLCAoUHlDRnVuY3Rpb24pX3NoYTI1Nl9zaGEyMjQsIE1FVEhfVkFSQVJHU3xNRVRIX0tFWVdPUkRTLCBfc2hhMjU2X3NoYTIyNF9fZG9jX199LAorCiBzdGF0aWMgUHlPYmplY3QgKgotU0hBMjI0X25ldyhQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2RpY3QpCitfc2hhMjU2X3NoYTIyNF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICpzdHJpbmcpOworCitzdGF0aWMgUHlPYmplY3QgKgorX3NoYTI1Nl9zaGEyMjQoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCiB7Ci0gICAgc3RhdGljIGNoYXIgKmt3bGlzdFtdID0geyJzdHJpbmciLCBOVUxMfTsKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBzdGF0aWMgY2hhciAqX2tleXdvcmRzW10gPSB7InN0cmluZyIsIE5VTEx9OworICAgIFB5T2JqZWN0ICpzdHJpbmcgPSBOVUxMOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLAorICAgICAgICAifE86c2hhMjI0IiwgX2tleXdvcmRzLAorICAgICAgICAmc3RyaW5nKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IF9zaGEyNTZfc2hhMjI0X2ltcGwobW9kdWxlLCBzdHJpbmcpOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitfc2hhMjU2X3NoYTIyNF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICpzdHJpbmcpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9NGRkZTBlYjFjZGFlYmMwNiBpbnB1dD0yN2EwNGJhMjRjMzUzYTczXSovCit7CiAgICAgU0hBb2JqZWN0ICpuZXc7Ci0gICAgUHlPYmplY3QgKmRhdGFfb2JqID0gTlVMTDsKICAgICBQeV9idWZmZXIgYnVmOwogCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dkaWN0LCAifE86bmV3Iiwga3dsaXN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZkYXRhX29iaikpIHsKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgfQotCi0gICAgaWYgKGRhdGFfb2JqKQotICAgICAgICBHRVRfQlVGRkVSX1ZJRVdfT1JfRVJST1VUKGRhdGFfb2JqLCAmYnVmKTsKKyAgICBpZiAoc3RyaW5nKQorICAgICAgICBHRVRfQlVGRkVSX1ZJRVdfT1JfRVJST1VUKHN0cmluZywgJmJ1Zik7CiAKICAgICBpZiAoKG5ldyA9IG5ld1NIQTIyNG9iamVjdCgpKSA9PSBOVUxMKSB7Ci0gICAgICAgIGlmIChkYXRhX29iaikKKyAgICAgICAgaWYgKHN0cmluZykKICAgICAgICAgICAgIFB5QnVmZmVyX1JlbGVhc2UoJmJ1Zik7CiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KQEAgLTY2NCwxMSArODA0LDExIEBACiAKICAgICBpZiAoUHlFcnJfT2NjdXJyZWQoKSkgewogICAgICAgICBQeV9ERUNSRUYobmV3KTsKLSAgICAgICAgaWYgKGRhdGFfb2JqKQorICAgICAgICBpZiAoc3RyaW5nKQogICAgICAgICAgICAgUHlCdWZmZXJfUmVsZWFzZSgmYnVmKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQotICAgIGlmIChkYXRhX29iaikgeworICAgIGlmIChzdHJpbmcpIHsKICAgICAgICAgc2hhX3VwZGF0ZShuZXcsIGJ1Zi5idWYsIGJ1Zi5sZW4pOwogICAgICAgICBQeUJ1ZmZlcl9SZWxlYXNlKCZidWYpOwogICAgIH0KQEAgLTY4MCw4ICs4MjAsOCBAQAogLyogTGlzdCBvZiBmdW5jdGlvbnMgZXhwb3J0ZWQgYnkgdGhpcyBtb2R1bGUgKi8KIAogc3RhdGljIHN0cnVjdCBQeU1ldGhvZERlZiBTSEFfZnVuY3Rpb25zW10gPSB7Ci0gICAgeyJzaGEyNTYiLCAoUHlDRnVuY3Rpb24pU0hBMjU2X25ldywgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsIFNIQTI1Nl9uZXdfX2RvY19ffSwKLSAgICB7InNoYTIyNCIsIChQeUNGdW5jdGlvbilTSEEyMjRfbmV3LCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywgU0hBMjI0X25ld19fZG9jX199LAorICAgIF9TSEEyNTZfU0hBMjU2X01FVEhPRERFRgorICAgIF9TSEEyNTZfU0hBMjI0X01FVEhPRERFRgogICAgIHtOVUxMLCAgICAgIE5VTEx9ICAgICAgICAgICAgLyogU2VudGluZWwgKi8KIH07CiAKZGlmZiAtLWdpdCBhL01vZHVsZXMvc2hhNTEybW9kdWxlLmMgYi9Nb2R1bGVzL3NoYTUxMm1vZHVsZS5jCmluZGV4IDQ3YzU3ZTUuLjg0M2Y5NWQgMTAwNjQ0Ci0tLSBhL01vZHVsZXMvc2hhNTEybW9kdWxlLmMKKysrIGIvTW9kdWxlcy9zaGE1MTJtb2R1bGUuYwpAQCAtMjAsNiArMjAsMTIgQEAKICNpbmNsdWRlICJzdHJ1Y3RtZW1iZXIuaCIKICNpbmNsdWRlICJoYXNobGliLmgiCiAKKy8qW2NsaW5pYyBpbnB1dF0KK21vZHVsZSBfc2hhNTEyCitjbGFzcyBTSEE1MTJUeXBlICJTSEFvYmplY3QgKiIgIiZQeVR5cGVfVHlwZSIKK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1kYTM5YTNlZTVlNmI0YjBkIGlucHV0PTgxYTNjY2RlOTJiY2ZlOGRdKi8KKwogI2lmZGVmIFBZX0xPTkdfTE9ORyAvKiBJZiBubyBQWV9MT05HX0xPTkcsIGRvbid0IGNvbXBpbGUgYW55dGhpbmchICovCiAKIC8qIFNvbWUgdXNlZnVsIHR5cGVzICovCkBAIC00NTksMTAgKzQ2NSwzMyBAQAogCiAvKiBFeHRlcm5hbCBtZXRob2RzIGZvciBhIGhhc2ggb2JqZWN0ICovCiAKLVB5RG9jX1NUUlZBUihTSEE1MTJfY29weV9fZG9jX18sICJSZXR1cm4gYSBjb3B5IG9mIHRoZSBoYXNoIG9iamVjdC4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK1NIQTUxMlR5cGUuY29weQorCitSZXR1cm4gYSBjb3B5IG9mIHRoZSBoYXNoIG9iamVjdC4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKFNIQTUxMlR5cGVfY29weV9fZG9jX18sCisiY29weSgkc2VsZiwgLylcbiIKKyItLVxuIgorIlxuIgorIlJldHVybiBhIGNvcHkgb2YgdGhlIGhhc2ggb2JqZWN0LiIpOworCisjZGVmaW5lIFNIQTUxMlRZUEVfQ09QWV9NRVRIT0RERUYgICAgXAorICAgIHsiY29weSIsIChQeUNGdW5jdGlvbilTSEE1MTJUeXBlX2NvcHksIE1FVEhfTk9BUkdTLCBTSEE1MTJUeXBlX2NvcHlfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLVNIQTUxMl9jb3B5KFNIQW9iamVjdCAqc2VsZiwgUHlPYmplY3QgKnVudXNlZCkKK1NIQTUxMlR5cGVfY29weV9pbXBsKFNIQW9iamVjdCAqc2VsZik7CisKK3N0YXRpYyBQeU9iamVjdCAqCitTSEE1MTJUeXBlX2NvcHkoU0hBb2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqUHlfVU5VU0VEKGlnbm9yZWQpKQoreworICAgIHJldHVybiBTSEE1MTJUeXBlX2NvcHlfaW1wbChzZWxmKTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK1NIQTUxMlR5cGVfY29weV9pbXBsKFNIQW9iamVjdCAqc2VsZikKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD0xNGY4ZTZjZTljNjFlY2UwIGlucHV0PTlmNWYzMWU2YzQ1Nzc3NmFdKi8KIHsKICAgICBTSEFvYmplY3QgKm5ld29iajsKIApAQCAtNDc4LDExICs1MDcsMzMgQEAKICAgICByZXR1cm4gKFB5T2JqZWN0ICopbmV3b2JqOwogfQogCi1QeURvY19TVFJWQVIoU0hBNTEyX2RpZ2VzdF9fZG9jX18sCisvKltjbGluaWMgaW5wdXRdCitTSEE1MTJUeXBlLmRpZ2VzdAorCitSZXR1cm4gdGhlIGRpZ2VzdCB2YWx1ZSBhcyBhIHN0cmluZyBvZiBiaW5hcnkgZGF0YS4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKFNIQTUxMlR5cGVfZGlnZXN0X19kb2NfXywKKyJkaWdlc3QoJHNlbGYsIC8pXG4iCisiLS1cbiIKKyJcbiIKICJSZXR1cm4gdGhlIGRpZ2VzdCB2YWx1ZSBhcyBhIHN0cmluZyBvZiBiaW5hcnkgZGF0YS4iKTsKIAorI2RlZmluZSBTSEE1MTJUWVBFX0RJR0VTVF9NRVRIT0RERUYgICAgXAorICAgIHsiZGlnZXN0IiwgKFB5Q0Z1bmN0aW9uKVNIQTUxMlR5cGVfZGlnZXN0LCBNRVRIX05PQVJHUywgU0hBNTEyVHlwZV9kaWdlc3RfX2RvY19ffSwKKwogc3RhdGljIFB5T2JqZWN0ICoKLVNIQTUxMl9kaWdlc3QoU0hBb2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqdW51c2VkKQorU0hBNTEyVHlwZV9kaWdlc3RfaW1wbChTSEFvYmplY3QgKnNlbGYpOworCitzdGF0aWMgUHlPYmplY3QgKgorU0hBNTEyVHlwZV9kaWdlc3QoU0hBb2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqUHlfVU5VU0VEKGlnbm9yZWQpKQoreworICAgIHJldHVybiBTSEE1MTJUeXBlX2RpZ2VzdF9pbXBsKHNlbGYpOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorU0hBNTEyVHlwZV9kaWdlc3RfaW1wbChTSEFvYmplY3QgKnNlbGYpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9YmU4ZGUwMjRiMjMyOTc3ZSBpbnB1dD02MGMyY2VkZTllMDIzMDE4XSovCiB7CiAgICAgdW5zaWduZWQgY2hhciBkaWdlc3RbU0hBX0RJR0VTVFNJWkVdOwogICAgIFNIQW9iamVjdCB0ZW1wOwpAQCAtNDkyLDExICs1NDMsMzMgQEAKICAgICByZXR1cm4gUHlCeXRlc19Gcm9tU3RyaW5nQW5kU2l6ZSgoY29uc3QgY2hhciAqKWRpZ2VzdCwgc2VsZi0+ZGlnZXN0c2l6ZSk7CiB9CiAKLVB5RG9jX1NUUlZBUihTSEE1MTJfaGV4ZGlnZXN0X19kb2NfXywKKy8qW2NsaW5pYyBpbnB1dF0KK1NIQTUxMlR5cGUuaGV4ZGlnZXN0CisKK1JldHVybiB0aGUgZGlnZXN0IHZhbHVlIGFzIGEgc3RyaW5nIG9mIGhleGFkZWNpbWFsIGRpZ2l0cy4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKFNIQTUxMlR5cGVfaGV4ZGlnZXN0X19kb2NfXywKKyJoZXhkaWdlc3QoJHNlbGYsIC8pXG4iCisiLS1cbiIKKyJcbiIKICJSZXR1cm4gdGhlIGRpZ2VzdCB2YWx1ZSBhcyBhIHN0cmluZyBvZiBoZXhhZGVjaW1hbCBkaWdpdHMuIik7CiAKKyNkZWZpbmUgU0hBNTEyVFlQRV9IRVhESUdFU1RfTUVUSE9EREVGICAgIFwKKyAgICB7ImhleGRpZ2VzdCIsIChQeUNGdW5jdGlvbilTSEE1MTJUeXBlX2hleGRpZ2VzdCwgTUVUSF9OT0FSR1MsIFNIQTUxMlR5cGVfaGV4ZGlnZXN0X19kb2NfX30sCisKIHN0YXRpYyBQeU9iamVjdCAqCi1TSEE1MTJfaGV4ZGlnZXN0KFNIQW9iamVjdCAqc2VsZiwgUHlPYmplY3QgKnVudXNlZCkKK1NIQTUxMlR5cGVfaGV4ZGlnZXN0X2ltcGwoU0hBb2JqZWN0ICpzZWxmKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK1NIQTUxMlR5cGVfaGV4ZGlnZXN0KFNIQW9iamVjdCAqc2VsZiwgUHlPYmplY3QgKlB5X1VOVVNFRChpZ25vcmVkKSkKK3sKKyAgICByZXR1cm4gU0hBNTEyVHlwZV9oZXhkaWdlc3RfaW1wbChzZWxmKTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK1NIQTUxMlR5cGVfaGV4ZGlnZXN0X2ltcGwoU0hBb2JqZWN0ICpzZWxmKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTI4YTRhYjJmOWExNzgxYjggaW5wdXQ9NDk4Yjg3N2IyNWNiZTBhMl0qLwogewogICAgIHVuc2lnbmVkIGNoYXIgZGlnZXN0W1NIQV9ESUdFU1RTSVpFXTsKICAgICBTSEFvYmplY3QgdGVtcDsKQEAgLTUyOCwxOCArNjAxLDMwIEBACiAgICAgcmV0dXJuIHJldHZhbDsKIH0KIAotUHlEb2NfU1RSVkFSKFNIQTUxMl91cGRhdGVfX2RvY19fLAotIlVwZGF0ZSB0aGlzIGhhc2ggb2JqZWN0J3Mgc3RhdGUgd2l0aCB0aGUgcHJvdmlkZWQgc3RyaW5nLiIpOworLypbY2xpbmljIGlucHV0XQorU0hBNTEyVHlwZS51cGRhdGUKKworICAgIG9iajogb2JqZWN0CisgICAgLworCitVcGRhdGUgdGhpcyBoYXNoIG9iamVjdCdzIHN0YXRlIHdpdGggdGhlIHByb3ZpZGVkIHN0cmluZy4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKFNIQTUxMlR5cGVfdXBkYXRlX19kb2NfXywKKyJ1cGRhdGUoJHNlbGYsIG9iaiwgLylcbiIKKyItLVxuIgorIlxuIgorIlVwZGF0ZSB0aGlzIGhhc2ggb2JqZWN0XCdzIHN0YXRlIHdpdGggdGhlIHByb3ZpZGVkIHN0cmluZy4iKTsKKworI2RlZmluZSBTSEE1MTJUWVBFX1VQREFURV9NRVRIT0RERUYgICAgXAorICAgIHsidXBkYXRlIiwgKFB5Q0Z1bmN0aW9uKVNIQTUxMlR5cGVfdXBkYXRlLCBNRVRIX08sIFNIQTUxMlR5cGVfdXBkYXRlX19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1TSEE1MTJfdXBkYXRlKFNIQW9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCitTSEE1MTJUeXBlX3VwZGF0ZShTSEFvYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpvYmopCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9NmJlNTc0Y2RjM2E5YzUyZCBpbnB1dD1kZWQyYjQ2NjU2NTY2MjgzXSovCiB7Ci0gICAgUHlPYmplY3QgKm9iajsKICAgICBQeV9idWZmZXIgYnVmOwogCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJPOnVwZGF0ZSIsICZvYmopKQotICAgICAgICByZXR1cm4gTlVMTDsKLQogICAgIEdFVF9CVUZGRVJfVklFV19PUl9FUlJPVVQob2JqLCAmYnVmKTsKIAogICAgIHNoYTUxMl91cGRhdGUoc2VsZiwgYnVmLmJ1ZiwgYnVmLmxlbik7CkBAIC01NDgsMTIgKzYzMywzMiBAQAogICAgIFB5X0lOQ1JFRihQeV9Ob25lKTsKICAgICByZXR1cm4gUHlfTm9uZTsKIH0KKy8qW2NsaW5pYyBpbnB1dF0KK2R1bXAgYnVmZmVyCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKKyNpZm5kZWYgU0hBNTEyVFlQRV9DT1BZX01FVEhPRERFRgorICAgICNkZWZpbmUgU0hBNTEyVFlQRV9DT1BZX01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKFNIQTUxMlRZUEVfQ09QWV9NRVRIT0RERUYpICovCisKKyNpZm5kZWYgU0hBNTEyVFlQRV9ESUdFU1RfTUVUSE9EREVGCisgICAgI2RlZmluZSBTSEE1MTJUWVBFX0RJR0VTVF9NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChTSEE1MTJUWVBFX0RJR0VTVF9NRVRIT0RERUYpICovCisKKyNpZm5kZWYgU0hBNTEyVFlQRV9IRVhESUdFU1RfTUVUSE9EREVGCisgICAgI2RlZmluZSBTSEE1MTJUWVBFX0hFWERJR0VTVF9NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChTSEE1MTJUWVBFX0hFWERJR0VTVF9NRVRIT0RERUYpICovCisKKyNpZm5kZWYgU0hBNTEyVFlQRV9VUERBVEVfTUVUSE9EREVGCisgICAgI2RlZmluZSBTSEE1MTJUWVBFX1VQREFURV9NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChTSEE1MTJUWVBFX1VQREFURV9NRVRIT0RERUYpICovCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9ZGU3MTM5NDdkMzExMzBlOSBpbnB1dD01MjRjZTJlMDIxZTRlYmE2XSovCiAKIHN0YXRpYyBQeU1ldGhvZERlZiBTSEFfbWV0aG9kc1tdID0gewotICAgIHsiY29weSIsICAgICAgKFB5Q0Z1bmN0aW9uKVNIQTUxMl9jb3B5LCAgICAgIE1FVEhfTk9BUkdTLCBTSEE1MTJfY29weV9fZG9jX199LAotICAgIHsiZGlnZXN0IiwgICAgKFB5Q0Z1bmN0aW9uKVNIQTUxMl9kaWdlc3QsICAgIE1FVEhfTk9BUkdTLCBTSEE1MTJfZGlnZXN0X19kb2NfX30sCi0gICAgeyJoZXhkaWdlc3QiLCAoUHlDRnVuY3Rpb24pU0hBNTEyX2hleGRpZ2VzdCwgTUVUSF9OT0FSR1MsIFNIQTUxMl9oZXhkaWdlc3RfX2RvY19ffSwKLSAgICB7InVwZGF0ZSIsICAgIChQeUNGdW5jdGlvbilTSEE1MTJfdXBkYXRlLCAgICBNRVRIX1ZBUkFSR1MsIFNIQTUxMl91cGRhdGVfX2RvY19ffSwKKyAgICBTSEE1MTJUWVBFX0NPUFlfTUVUSE9EREVGCisgICAgU0hBNTEyVFlQRV9ESUdFU1RfTUVUSE9EREVGCisgICAgU0hBNTEyVFlQRV9IRVhESUdFU1RfTUVUSE9EREVGCisgICAgU0hBNTEyVFlQRV9VUERBVEVfTUVUSE9EREVGCiAgICAge05VTEwsICAgICAgICBOVUxMfSAgICAgICAgIC8qIHNlbnRpbmVsICovCiB9OwogCkBAIC02NjAsMjcgKzc2NSw1NSBAQAogCiAvKiBUaGUgc2luZ2xlIG1vZHVsZS1sZXZlbCBmdW5jdGlvbjogbmV3KCkgKi8KIAotUHlEb2NfU1RSVkFSKFNIQTUxMl9uZXdfX2RvY19fLAorLypbY2xpbmljIGlucHV0XQorX3NoYTUxMi5zaGE1MTIKKworICAgIHN0cmluZzogb2JqZWN0KGNfZGVmYXVsdD0iTlVMTCIpID0gYicnCisKK1JldHVybiBhIG5ldyBTSEEtNTEyIGhhc2ggb2JqZWN0OyBvcHRpb25hbGx5IGluaXRpYWxpemVkIHdpdGggYSBzdHJpbmcuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihfc2hhNTEyX3NoYTUxMl9fZG9jX18sCisic2hhNTEyKCRtb2R1bGUsIC8sIHN0cmluZz1iXCdcJylcbiIKKyItLVxuIgorIlxuIgogIlJldHVybiBhIG5ldyBTSEEtNTEyIGhhc2ggb2JqZWN0OyBvcHRpb25hbGx5IGluaXRpYWxpemVkIHdpdGggYSBzdHJpbmcuIik7CiAKKyNkZWZpbmUgX1NIQTUxMl9TSEE1MTJfTUVUSE9EREVGICAgIFwKKyAgICB7InNoYTUxMiIsIChQeUNGdW5jdGlvbilfc2hhNTEyX3NoYTUxMiwgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsIF9zaGE1MTJfc2hhNTEyX19kb2NfX30sCisKIHN0YXRpYyBQeU9iamVjdCAqCi1TSEE1MTJfbmV3KFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3ZGljdCkKK19zaGE1MTJfc2hhNTEyX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKnN0cmluZyk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitfc2hhNTEyX3NoYTUxMihQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3YXJncykKIHsKLSAgICBzdGF0aWMgY2hhciAqa3dsaXN0W10gPSB7InN0cmluZyIsIE5VTEx9OworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIHN0YXRpYyBjaGFyICpfa2V5d29yZHNbXSA9IHsic3RyaW5nIiwgTlVMTH07CisgICAgUHlPYmplY3QgKnN0cmluZyA9IE5VTEw7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsCisgICAgICAgICJ8TzpzaGE1MTIiLCBfa2V5d29yZHMsCisgICAgICAgICZzdHJpbmcpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gX3NoYTUxMl9zaGE1MTJfaW1wbChtb2R1bGUsIHN0cmluZyk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK19zaGE1MTJfc2hhNTEyX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKnN0cmluZykKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD05ZTM5YjExMTE1ZjM2ODc4IGlucHV0PWU2OWJhZDlhZTliNmEzMDhdKi8KK3sKICAgICBTSEFvYmplY3QgKm5ldzsKLSAgICBQeU9iamVjdCAqZGF0YV9vYmogPSBOVUxMOwogICAgIFB5X2J1ZmZlciBidWY7CiAKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2RpY3QsICJ8TzpuZXciLCBrd2xpc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmRhdGFfb2JqKSkgewotICAgICAgICByZXR1cm4gTlVMTDsKLSAgICB9Ci0KLSAgICBpZiAoZGF0YV9vYmopCi0gICAgICAgIEdFVF9CVUZGRVJfVklFV19PUl9FUlJPVVQoZGF0YV9vYmosICZidWYpOworICAgIGlmIChzdHJpbmcpCisgICAgICAgIEdFVF9CVUZGRVJfVklFV19PUl9FUlJPVVQoc3RyaW5nLCAmYnVmKTsKIAogICAgIGlmICgobmV3ID0gbmV3U0hBNTEyb2JqZWN0KCkpID09IE5VTEwpIHsKLSAgICAgICAgaWYgKGRhdGFfb2JqKQorICAgICAgICBpZiAoc3RyaW5nKQogICAgICAgICAgICAgUHlCdWZmZXJfUmVsZWFzZSgmYnVmKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQpAQCAtNjg5LDExICs4MjIsMTEgQEAKIAogICAgIGlmIChQeUVycl9PY2N1cnJlZCgpKSB7CiAgICAgICAgIFB5X0RFQ1JFRihuZXcpOwotICAgICAgICBpZiAoZGF0YV9vYmopCisgICAgICAgIGlmIChzdHJpbmcpCiAgICAgICAgICAgICBQeUJ1ZmZlcl9SZWxlYXNlKCZidWYpOwogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9Ci0gICAgaWYgKGRhdGFfb2JqKSB7CisgICAgaWYgKHN0cmluZykgewogICAgICAgICBzaGE1MTJfdXBkYXRlKG5ldywgYnVmLmJ1ZiwgYnVmLmxlbik7CiAgICAgICAgIFB5QnVmZmVyX1JlbGVhc2UoJmJ1Zik7CiAgICAgfQpAQCAtNzAxLDI3ICs4MzQsNTUgQEAKICAgICByZXR1cm4gKFB5T2JqZWN0ICopbmV3OwogfQogCi1QeURvY19TVFJWQVIoU0hBMzg0X25ld19fZG9jX18sCisvKltjbGluaWMgaW5wdXRdCitfc2hhNTEyLnNoYTM4NAorCisgICAgc3RyaW5nOiBvYmplY3QoY19kZWZhdWx0PSJOVUxMIikgPSBiJycKKworUmV0dXJuIGEgbmV3IFNIQS0zODQgaGFzaCBvYmplY3Q7IG9wdGlvbmFsbHkgaW5pdGlhbGl6ZWQgd2l0aCBhIHN0cmluZy4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKF9zaGE1MTJfc2hhMzg0X19kb2NfXywKKyJzaGEzODQoJG1vZHVsZSwgLywgc3RyaW5nPWJcJ1wnKVxuIgorIi0tXG4iCisiXG4iCiAiUmV0dXJuIGEgbmV3IFNIQS0zODQgaGFzaCBvYmplY3Q7IG9wdGlvbmFsbHkgaW5pdGlhbGl6ZWQgd2l0aCBhIHN0cmluZy4iKTsKIAorI2RlZmluZSBfU0hBNTEyX1NIQTM4NF9NRVRIT0RERUYgICAgXAorICAgIHsic2hhMzg0IiwgKFB5Q0Z1bmN0aW9uKV9zaGE1MTJfc2hhMzg0LCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywgX3NoYTUxMl9zaGEzODRfX2RvY19ffSwKKwogc3RhdGljIFB5T2JqZWN0ICoKLVNIQTM4NF9uZXcoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dkaWN0KQorX3NoYTUxMl9zaGEzODRfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqc3RyaW5nKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK19zaGE1MTJfc2hhMzg0KFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQogewotICAgIHN0YXRpYyBjaGFyICprd2xpc3RbXSA9IHsic3RyaW5nIiwgTlVMTH07CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgc3RhdGljIGNoYXIgKl9rZXl3b3Jkc1tdID0geyJzdHJpbmciLCBOVUxMfTsKKyAgICBQeU9iamVjdCAqc3RyaW5nID0gTlVMTDsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywKKyAgICAgICAgInxPOnNoYTM4NCIsIF9rZXl3b3JkcywKKyAgICAgICAgJnN0cmluZykpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBfc2hhNTEyX3NoYTM4NF9pbXBsKG1vZHVsZSwgc3RyaW5nKTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorX3NoYTUxMl9zaGEzODRfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqc3RyaW5nKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTM5N2M2ZmJhMzUyNWI5M2EgaW5wdXQ9YzkzMjc3ODhkNGVhNDU0NV0qLworewogICAgIFNIQW9iamVjdCAqbmV3OwotICAgIFB5T2JqZWN0ICpkYXRhX29iaiA9IE5VTEw7CiAgICAgUHlfYnVmZmVyIGJ1ZjsKIAotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3ZGljdCwgInxPOm5ldyIsIGt3bGlzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZGF0YV9vYmopKSB7Ci0gICAgICAgIHJldHVybiBOVUxMOwotICAgIH0KLQotICAgIGlmIChkYXRhX29iaikKLSAgICAgICAgR0VUX0JVRkZFUl9WSUVXX09SX0VSUk9VVChkYXRhX29iaiwgJmJ1Zik7CisgICAgaWYgKHN0cmluZykKKyAgICAgICAgR0VUX0JVRkZFUl9WSUVXX09SX0VSUk9VVChzdHJpbmcsICZidWYpOwogCiAgICAgaWYgKChuZXcgPSBuZXdTSEEzODRvYmplY3QoKSkgPT0gTlVMTCkgewotICAgICAgICBpZiAoZGF0YV9vYmopCisgICAgICAgIGlmIChzdHJpbmcpCiAgICAgICAgICAgICBQeUJ1ZmZlcl9SZWxlYXNlKCZidWYpOwogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CkBAIC03MzAsMTEgKzg5MSwxMSBAQAogCiAgICAgaWYgKFB5RXJyX09jY3VycmVkKCkpIHsKICAgICAgICAgUHlfREVDUkVGKG5ldyk7Ci0gICAgICAgIGlmIChkYXRhX29iaikKKyAgICAgICAgaWYgKHN0cmluZykKICAgICAgICAgICAgIFB5QnVmZmVyX1JlbGVhc2UoJmJ1Zik7CiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KLSAgICBpZiAoZGF0YV9vYmopIHsKKyAgICBpZiAoc3RyaW5nKSB7CiAgICAgICAgIHNoYTUxMl91cGRhdGUobmV3LCBidWYuYnVmLCBidWYubGVuKTsKICAgICAgICAgUHlCdWZmZXJfUmVsZWFzZSgmYnVmKTsKICAgICB9CkBAIC03NDMsMTEgKzkwNCwyNCBAQAogfQogCiAKKy8qW2NsaW5pYyBpbnB1dF0KK2R1bXAgYnVmZmVyCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKKyNpZm5kZWYgX1NIQTUxMl9TSEE1MTJfTUVUSE9EREVGCisgICAgI2RlZmluZSBfU0hBNTEyX1NIQTUxMl9NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChfU0hBNTEyX1NIQTUxMl9NRVRIT0RERUYpICovCisKKyNpZm5kZWYgX1NIQTUxMl9TSEEzODRfTUVUSE9EREVGCisgICAgI2RlZmluZSBfU0hBNTEyX1NIQTM4NF9NRVRIT0RERUYKKyNlbmRpZiAvKiAhZGVmaW5lZChfU0hBNTEyX1NIQTM4NF9NRVRIT0RERUYpICovCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9NjlkODRhYTk0NDViMDFkOCBpbnB1dD01MjRjZTJlMDIxZTRlYmE2XSovCisKIC8qIExpc3Qgb2YgZnVuY3Rpb25zIGV4cG9ydGVkIGJ5IHRoaXMgbW9kdWxlICovCiAKIHN0YXRpYyBzdHJ1Y3QgUHlNZXRob2REZWYgU0hBX2Z1bmN0aW9uc1tdID0gewotICAgIHsic2hhNTEyIiwgKFB5Q0Z1bmN0aW9uKVNIQTUxMl9uZXcsIE1FVEhfVkFSQVJHU3xNRVRIX0tFWVdPUkRTLCBTSEE1MTJfbmV3X19kb2NfX30sCi0gICAgeyJzaGEzODQiLCAoUHlDRnVuY3Rpb24pU0hBMzg0X25ldywgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsIFNIQTM4NF9uZXdfX2RvY19ffSwKKyAgICBfU0hBNTEyX1NIQTUxMl9NRVRIT0RERUYKKyAgICBfU0hBNTEyX1NIQTM4NF9NRVRIT0RERUYKICAgICB7TlVMTCwgICAgICBOVUxMfSAgICAgICAgICAgIC8qIFNlbnRpbmVsICovCiB9OwogCmRpZmYgLS1naXQgYS9Nb2R1bGVzL3NpZ25hbG1vZHVsZS5jIGIvTW9kdWxlcy9zaWduYWxtb2R1bGUuYwppbmRleCBmZWRhZGRmLi4yZjJiMjYwIDEwMDY0NAotLS0gYS9Nb2R1bGVzL3NpZ25hbG1vZHVsZS5jCisrKyBiL01vZHVsZXMvc2lnbmFsbW9kdWxlLmMKQEAgLTcsNiArNyw5IEBACiAjaWZuZGVmIE1TX1dJTkRPV1MKICNpbmNsdWRlICJwb3NpeG1vZHVsZS5oIgogI2VuZGlmCisjaWZkZWYgTVNfV0lORE9XUworI2luY2x1ZGUgInNvY2tldG1vZHVsZS5oIiAgIC8qIG5lZWRlZCBmb3IgU09DS0VUX1QgKi8KKyNlbmRpZgogCiAjaWZkZWYgTVNfV0lORE9XUwogI2luY2x1ZGUgPHdpbmRvd3MuaD4KQEAgLTg3LDcgKzkwLDIwIEBACiAgICAgUHlPYmplY3QgKmZ1bmM7CiB9IEhhbmRsZXJzW05TSUddOwogCisjaWZkZWYgTVNfV0lORE9XUworI2RlZmluZSBJTlZBTElEX0ZEICgoU09DS0VUX1QpLTEpCisKK3N0YXRpYyB2b2xhdGlsZSBzdHJ1Y3QgeworICAgIFNPQ0tFVF9UIGZkOworICAgIGludCB1c2Vfc2VuZDsKKyAgICBpbnQgc2VuZF9lcnJfc2V0OworICAgIGludCBzZW5kX2Vycm5vOworICAgIGludCBzZW5kX3dpbl9lcnJvcjsKK30gd2FrZXVwID0ge0lOVkFMSURfRkQsIDAsIDB9OworI2Vsc2UKKyNkZWZpbmUgSU5WQUxJRF9GRCAoLTEpCiBzdGF0aWMgdm9sYXRpbGUgc2lnX2F0b21pY190IHdha2V1cF9mZCA9IC0xOworI2VuZGlmCiAKIC8qIFNwZWVkIHVwIHNpZ2NoZWNrKCkgd2hlbiBub25lIHRyaXBwZWQgKi8KIHN0YXRpYyB2b2xhdGlsZSBzaWdfYXRvbWljX3QgaXNfdHJpcHBlZCA9IDA7CkBAIC0xNzIsNyArMTg4LDcgQEAKIH0KIAogc3RhdGljIGludAotcmVwb3J0X3dha2V1cF9lcnJvcih2b2lkICpkYXRhKQorcmVwb3J0X3dha2V1cF93cml0ZV9lcnJvcih2b2lkICpkYXRhKQogewogICAgIGludCBzYXZlX2Vycm5vID0gZXJybm87CiAgICAgZXJybm8gPSAoaW50KSAoUHlfaW50cHRyX3QpIGRhdGE7CkBAIC0xODQsMjUgKzIwMCw4NiBAQAogICAgIHJldHVybiAwOwogfQogCisjaWZkZWYgTVNfV0lORE9XUworc3RhdGljIGludAorcmVwb3J0X3dha2V1cF9zZW5kX2Vycm9yKHZvaWQqIFB5X1VOVVNFRChkYXRhKSkKK3sKKyAgICBQeU9iamVjdCAqcmVzOworCisgICAgaWYgKHdha2V1cC5zZW5kX3dpbl9lcnJvcikgeworICAgICAgICAvKiBQeUVycl9TZXRFeGNGcm9tV2luZG93c0VycigpIGludm9rZXMgRm9ybWF0TWVzc2FnZSgpIHdoaWNoCisgICAgICAgICAgIHJlY29nbml6ZXMgdGhlIGVycm9yIGNvZGVzIHVzZWQgYnkgYm90aCBHZXRMYXN0RXJyb3IoKSBhbmQKKyAgICAgICAgICAgV1NBR2V0TGFzdEVycm9yICovCisgICAgICAgIHJlcyA9IFB5RXJyX1NldEV4Y0Zyb21XaW5kb3dzRXJyKFB5RXhjX09TRXJyb3IsIHdha2V1cC5zZW5kX3dpbl9lcnJvcik7CisgICAgfQorICAgIGVsc2UgeworICAgICAgICBlcnJubyA9IHdha2V1cC5zZW5kX2Vycm5vOworICAgICAgICByZXMgPSBQeUVycl9TZXRGcm9tRXJybm8oUHlFeGNfT1NFcnJvcik7CisgICAgfQorCisgICAgYXNzZXJ0KHJlcyA9PSBOVUxMKTsKKyAgICB3YWtldXAuc2VuZF9lcnJfc2V0ID0gMDsKKworICAgIFB5U3lzX1dyaXRlU3RkZXJyKCJFeGNlcHRpb24gaWdub3JlZCB3aGVuIHRyeWluZyB0byBzZW5kIHRvIHRoZSAiCisgICAgICAgICAgICAgICAgICAgICAgInNpZ25hbCB3YWtldXAgZmQ6XG4iKTsKKyAgICBQeUVycl9Xcml0ZVVucmFpc2FibGUoTlVMTCk7CisKKyAgICByZXR1cm4gMDsKK30KKyNlbmRpZiAgIC8qIE1TX1dJTkRPV1MgKi8KKwogc3RhdGljIHZvaWQKIHRyaXBfc2lnbmFsKGludCBzaWdfbnVtKQogewogICAgIHVuc2lnbmVkIGNoYXIgYnl0ZTsKLSAgICBpbnQgcmMgPSAwOworICAgIGludCBmZDsKKyAgICBQeV9zc2l6ZV90IHJjOwogCiAgICAgSGFuZGxlcnNbc2lnX251bV0udHJpcHBlZCA9IDE7Ci0gICAgaWYgKHdha2V1cF9mZCAhPSAtMSkgeworCisjaWZkZWYgTVNfV0lORE9XUworICAgIGZkID0gUHlfU0FGRV9ET1dOQ0FTVCh3YWtldXAuZmQsIFNPQ0tFVF9ULCBpbnQpOworI2Vsc2UKKyAgICBmZCA9IHdha2V1cF9mZDsKKyNlbmRpZgorCisgICAgaWYgKGZkICE9IElOVkFMSURfRkQpIHsKICAgICAgICAgYnl0ZSA9ICh1bnNpZ25lZCBjaGFyKXNpZ19udW07Ci0gICAgICAgIHdoaWxlICgocmMgPSB3cml0ZSh3YWtldXBfZmQsICZieXRlLCAxKSkgPT0gLTEgJiYgZXJybm8gPT0gRUlOVFIpOwotICAgICAgICBpZiAocmMgPT0gLTEpCi0gICAgICAgICAgICBQeV9BZGRQZW5kaW5nQ2FsbChyZXBvcnRfd2FrZXVwX2Vycm9yLCAodm9pZCAqKSAoUHlfaW50cHRyX3QpIGVycm5vKTsKKyNpZmRlZiBNU19XSU5ET1dTCisgICAgICAgIGlmICh3YWtldXAudXNlX3NlbmQpIHsKKyAgICAgICAgICAgIGRvIHsKKyAgICAgICAgICAgICAgICByYyA9IHNlbmQoZmQsICZieXRlLCAxLCAwKTsKKyAgICAgICAgICAgIH0gd2hpbGUgKHJjIDwgMCAmJiBlcnJubyA9PSBFSU5UUik7CisKKyAgICAgICAgICAgIC8qIHdlIG9ubHkgaGF2ZSBhIHN0b3JhZ2UgZm9yIG9uZSBlcnJvciBpbiB0aGUgd2FrZXVwIHN0cnVjdHVyZSAqLworICAgICAgICAgICAgaWYgKHJjIDwgMCAmJiAhd2FrZXVwLnNlbmRfZXJyX3NldCkgeworICAgICAgICAgICAgICAgIHdha2V1cC5zZW5kX2Vycl9zZXQgPSAxOworICAgICAgICAgICAgICAgIHdha2V1cC5zZW5kX2Vycm5vID0gZXJybm87CisgICAgICAgICAgICAgICAgd2FrZXVwLnNlbmRfd2luX2Vycm9yID0gR2V0TGFzdEVycm9yKCk7CisgICAgICAgICAgICAgICAgUHlfQWRkUGVuZGluZ0NhbGwocmVwb3J0X3dha2V1cF9zZW5kX2Vycm9yLCBOVUxMKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICBlbHNlCisjZW5kaWYKKyAgICAgICAgeworICAgICAgICAgICAgYnl0ZSA9ICh1bnNpZ25lZCBjaGFyKXNpZ19udW07CisgICAgICAgICAgICBkbyB7CisgICAgICAgICAgICAgICAgcmMgPSB3cml0ZShmZCwgJmJ5dGUsIDEpOworICAgICAgICAgICAgfSB3aGlsZSAocmMgPCAwICYmIGVycm5vID09IEVJTlRSKTsKKworICAgICAgICAgICAgaWYgKHJjIDwgMCkgeworICAgICAgICAgICAgICAgIFB5X0FkZFBlbmRpbmdDYWxsKHJlcG9ydF93YWtldXBfd3JpdGVfZXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHZvaWQgKikoUHlfaW50cHRyX3QpZXJybm8pOworICAgICAgICAgICAgfQorICAgICAgICB9CiAgICAgfQotICAgIGlmIChpc190cmlwcGVkKQotICAgICAgICByZXR1cm47Ci0gICAgLyogU2V0IGlzX3RyaXBwZWQgYWZ0ZXIgc2V0dGluZyAudHJpcHBlZCwgYXMgaXQgZ2V0cwotICAgICAgIGNsZWFyZWQgaW4gUHlFcnJfQ2hlY2tTaWduYWxzKCkgYmVmb3JlIC50cmlwcGVkLiAqLwotICAgIGlzX3RyaXBwZWQgPSAxOwotICAgIFB5X0FkZFBlbmRpbmdDYWxsKGNoZWNrc2lnbmFsc193aXRoYXJnLCBOVUxMKTsKKworICAgIGlmICghaXNfdHJpcHBlZCkgeworICAgICAgICAvKiBTZXQgaXNfdHJpcHBlZCBhZnRlciBzZXR0aW5nIC50cmlwcGVkLCBhcyBpdCBnZXRzCisgICAgICAgICAgIGNsZWFyZWQgaW4gUHlFcnJfQ2hlY2tTaWduYWxzKCkgYmVmb3JlIC50cmlwcGVkLiAqLworICAgICAgICBpc190cmlwcGVkID0gMTsKKyAgICAgICAgUHlfQWRkUGVuZGluZ0NhbGwoY2hlY2tzaWduYWxzX3dpdGhhcmcsIE5VTEwpOworICAgIH0KIH0KIAogc3RhdGljIHZvaWQKQEAgLTIyNyw3ICszMDQsNyBAQAogICAgIGlmIChzaWdfbnVtICE9IFNJR0NITEQpCiAjZW5kaWYKICAgICAvKiBJZiB0aGUgaGFuZGxlciB3YXMgbm90IHNldCB1cCB3aXRoIHNpZ2FjdGlvbiwgcmVpbnN0YWxsIGl0LiAgU2VlCi0gICAgICogUHl0aG9uL3B5dGhvbnJ1bi5jIGZvciB0aGUgaW1wbGVtZW50YXRpb24gb2YgUHlPU19zZXRzaWcgd2hpY2gKKyAgICAgKiBQeXRob24vcHlsaWZlY3ljbGUuYyBmb3IgdGhlIGltcGxlbWVudGF0aW9uIG9mIFB5T1Nfc2V0c2lnIHdoaWNoCiAgICAgICogbWFrZXMgdGhpcyB0cnVlLiAgU2VlIGFsc28gaXNzdWU4MzU0LiAqLwogICAgIFB5T1Nfc2V0c2lnKHNpZ19udW0sIHNpZ25hbF9oYW5kbGVyKTsKICNlbmRpZgpAQCAtNDI2LDEwICs1MDMsMjkgQEAKIHN0YXRpYyBQeU9iamVjdCAqCiBzaWduYWxfc2V0X3dha2V1cF9mZChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCiB7Ci0gICAgc3RydWN0IHN0YXQgYnVmOworI2lmZGVmIE1TX1dJTkRPV1MKKyAgICBQeU9iamVjdCAqZmRvYmo7CisgICAgU09DS0VUX1Qgc29ja2ZkLCBvbGRfc29ja2ZkOworICAgIGludCByZXM7CisgICAgaW50IHJlc19zaXplID0gc2l6ZW9mIHJlczsKKyAgICBQeU9iamVjdCAqbW9kOworICAgIHN0cnVjdCBzdGF0IHN0OworICAgIGludCBpc19zb2NrZXQ7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgIk86c2V0X3dha2V1cF9mZCIsICZmZG9iaikpCisgICAgICAgIHJldHVybiBOVUxMOworCisgICAgc29ja2ZkID0gUHlMb25nX0FzU29ja2V0X3QoZmRvYmopOworICAgIGlmIChzb2NrZmQgPT0gKFNPQ0tFVF9UKSgtMSkgJiYgUHlFcnJfT2NjdXJyZWQoKSkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisjZWxzZQogICAgIGludCBmZCwgb2xkX2ZkOworICAgIHN0cnVjdCBzdGF0IHN0OworCiAgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJpOnNldF93YWtldXBfZmQiLCAmZmQpKQogICAgICAgICByZXR1cm4gTlVMTDsKKyNlbmRpZgorCiAjaWZkZWYgV0lUSF9USFJFQUQKICAgICBpZiAoUHlUaHJlYWRfZ2V0X3RocmVhZF9pZGVudCgpICE9IG1haW5fdGhyZWFkKSB7CiAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLApAQCAtNDM3LDIxICs1MzMsOTQgQEAKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQogI2VuZGlmCi0gICAgaWYgKGZkICE9IC0xICYmICghX1B5VmVyaWZ5X2ZkKGZkKSB8fCBmc3RhdChmZCwgJmJ1ZikgIT0gMCkpIHsKLSAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsICJpbnZhbGlkIGZkIik7Ci0gICAgICAgIHJldHVybiBOVUxMOworCisjaWZkZWYgTVNfV0lORE9XUworICAgIGlzX3NvY2tldCA9IDA7CisgICAgaWYgKHNvY2tmZCAhPSBJTlZBTElEX0ZEKSB7CisgICAgICAgIC8qIEltcG9ydCB0aGUgX3NvY2tldCBtb2R1bGUgdG8gY2FsbCBXU0FTdGFydHVwKCkgKi8KKyAgICAgICAgbW9kID0gUHlJbXBvcnRfSW1wb3J0TW9kdWxlTm9CbG9jaygiX3NvY2tldCIpOworICAgICAgICBpZiAobW9kID09IE5VTEwpCisgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgUHlfREVDUkVGKG1vZCk7CisKKyAgICAgICAgLyogdGVzdCB0aGUgc29ja2V0ICovCisgICAgICAgIGlmIChnZXRzb2Nrb3B0KHNvY2tmZCwgU09MX1NPQ0tFVCwgU09fRVJST1IsCisgICAgICAgICAgICAgICAgICAgICAgIChjaGFyICopJnJlcywgJnJlc19zaXplKSAhPSAwKSB7CisgICAgICAgICAgICBpbnQgZmQsIGVycjsKKworICAgICAgICAgICAgZXJyID0gV1NBR2V0TGFzdEVycm9yKCk7CisgICAgICAgICAgICBpZiAoZXJyICE9IFdTQUVOT1RTT0NLKSB7CisgICAgICAgICAgICAgICAgUHlFcnJfU2V0RXhjRnJvbVdpbmRvd3NFcnIoUHlFeGNfT1NFcnJvciwgZXJyKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgZmQgPSAoaW50KXNvY2tmZDsKKyAgICAgICAgICAgIGlmICgoU09DS0VUX1QpZmQgIT0gc29ja2ZkIHx8ICFfUHlWZXJpZnlfZmQoZmQpKSB7CisgICAgICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsICJpbnZhbGlkIGZkIik7CisgICAgICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGlmIChmc3RhdChmZCwgJnN0KSAhPSAwKSB7CisgICAgICAgICAgICAgICAgUHlFcnJfU2V0RnJvbUVycm5vKFB5RXhjX09TRXJyb3IpOworICAgICAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICAvKiBvbiBXaW5kb3dzLCBhIGZpbGUgY2Fubm90IGJlIHNldCB0byBub24tYmxvY2tpbmcgbW9kZSAqLworICAgICAgICB9CisgICAgICAgIGVsc2UgeworICAgICAgICAgICAgaXNfc29ja2V0ID0gMTsKKworICAgICAgICAgICAgLyogV2luZG93cyBkb2VzIG5vdCBwcm92aWRlIGEgZnVuY3Rpb24gdG8gdGVzdCBpZiBhIHNvY2tldAorICAgICAgICAgICAgICAgaXMgaW4gbm9uLWJsb2NraW5nIG1vZGUgKi8KKyAgICAgICAgfQogICAgIH0KKworICAgIG9sZF9zb2NrZmQgPSB3YWtldXAuZmQ7CisgICAgd2FrZXVwLmZkID0gc29ja2ZkOworICAgIHdha2V1cC51c2Vfc2VuZCA9IGlzX3NvY2tldDsKKworICAgIGlmIChvbGRfc29ja2ZkICE9IElOVkFMSURfRkQpCisgICAgICAgIHJldHVybiBQeUxvbmdfRnJvbVNvY2tldF90KG9sZF9zb2NrZmQpOworICAgIGVsc2UKKyAgICAgICAgcmV0dXJuIFB5TG9uZ19Gcm9tTG9uZygtMSk7CisjZWxzZQorICAgIGlmIChmZCAhPSAtMSkgeworICAgICAgICBpbnQgYmxvY2tpbmc7CisKKyAgICAgICAgaWYgKCFfUHlWZXJpZnlfZmQoZmQpKSB7CisgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVmFsdWVFcnJvciwgImludmFsaWQgZmQiKTsKKyAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICB9CisKKyAgICAgICAgaWYgKGZzdGF0KGZkLCAmc3QpICE9IDApIHsKKyAgICAgICAgICAgIFB5RXJyX1NldEZyb21FcnJubyhQeUV4Y19PU0Vycm9yKTsKKyAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICB9CisKKyAgICAgICAgYmxvY2tpbmcgPSBfUHlfZ2V0X2Jsb2NraW5nKGZkKTsKKyAgICAgICAgaWYgKGJsb2NraW5nIDwgMCkKKyAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICBpZiAoYmxvY2tpbmcpIHsKKyAgICAgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19WYWx1ZUVycm9yLAorICAgICAgICAgICAgICAgICAgICAgICAgICJ0aGUgZmQgJWkgbXVzdCBiZSBpbiBub24tYmxvY2tpbmcgbW9kZSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgZmQpOworICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgIH0KKyAgICB9CisKICAgICBvbGRfZmQgPSB3YWtldXBfZmQ7CiAgICAgd2FrZXVwX2ZkID0gZmQ7CisKICAgICByZXR1cm4gUHlMb25nX0Zyb21Mb25nKG9sZF9mZCk7CisjZW5kaWYKIH0KIAogUHlEb2NfU1RSVkFSKHNldF93YWtldXBfZmRfZG9jLAogInNldF93YWtldXBfZmQoZmQpIC0+IGZkXG5cCiBcblwKLVNldHMgdGhlIGZkIHRvIGJlIHdyaXR0ZW4gdG8gKHdpdGggJ1xcMCcpIHdoZW4gYSBzaWduYWxcblwKK1NldHMgdGhlIGZkIHRvIGJlIHdyaXR0ZW4gdG8gKHdpdGggdGhlIHNpZ25hbCBudW1iZXIpIHdoZW4gYSBzaWduYWxcblwKIGNvbWVzIGluLiAgQSBsaWJyYXJ5IGNhbiB1c2UgdGhpcyB0byB3YWtldXAgc2VsZWN0IG9yIHBvbGwuXG5cCi1UaGUgcHJldmlvdXMgZmQgaXMgcmV0dXJuZWQuXG5cCitUaGUgcHJldmlvdXMgZmQgb3IgLTEgaXMgcmV0dXJuZWQuXG5cCiBcblwKIFRoZSBmZCBtdXN0IGJlIG5vbi1ibG9ja2luZy4iKTsKIApAQCAtNDU5LDEwICs2MjgsMTcgQEAKIGludAogUHlTaWduYWxfU2V0V2FrZXVwRmQoaW50IGZkKQogewotICAgIGludCBvbGRfZmQgPSB3YWtldXBfZmQ7CisgICAgaW50IG9sZF9mZDsKICAgICBpZiAoZmQgPCAwKQogICAgICAgICBmZCA9IC0xOworCisjaWZkZWYgTVNfV0lORE9XUworICAgIG9sZF9mZCA9IFB5X1NBRkVfRE9XTkNBU1Qod2FrZXVwLmZkLCBTT0NLRVRfVCwgaW50KTsKKyAgICB3YWtldXAuZmQgPSBmZDsKKyNlbHNlCisgICAgb2xkX2ZkID0gd2FrZXVwX2ZkOwogICAgIHdha2V1cF9mZCA9IGZkOworI2VuZGlmCiAgICAgcmV0dXJuIG9sZF9mZDsKIH0KIApAQCAtOTU2LDcgKzExMzIsNyBAQAogCiBzdGF0aWMgc3RydWN0IFB5TW9kdWxlRGVmIHNpZ25hbG1vZHVsZSA9IHsKICAgICBQeU1vZHVsZURlZl9IRUFEX0lOSVQsCi0gICAgInNpZ25hbCIsCisgICAgIl9zaWduYWwiLAogICAgIG1vZHVsZV9kb2MsCiAgICAgLTEsCiAgICAgc2lnbmFsX21ldGhvZHMsCkBAIC05NjcsNyArMTE0Myw3IEBACiB9OwogCiBQeU1PRElOSVRfRlVOQwotUHlJbml0X3NpZ25hbCh2b2lkKQorUHlJbml0X19zaWduYWwodm9pZCkKIHsKICAgICBQeU9iamVjdCAqbSwgKmQsICp4OwogICAgIGludCBpOwpAQCAtMTM4MCw3ICsxNTU2LDcgQEAKIHZvaWQKIFB5T1NfSW5pdEludGVycnVwdHModm9pZCkKIHsKLSAgICBQeU9iamVjdCAqbSA9IFB5SW1wb3J0X0ltcG9ydE1vZHVsZSgic2lnbmFsIik7CisgICAgUHlPYmplY3QgKm0gPSBQeUltcG9ydF9JbXBvcnRNb2R1bGUoIl9zaWduYWwiKTsKICAgICBpZiAobSkgewogICAgICAgICBQeV9ERUNSRUYobSk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvTW9kdWxlcy9zb2NrZXRtb2R1bGUuYyBiL01vZHVsZXMvc29ja2V0bW9kdWxlLmMKaW5kZXggZTlmZWJhMy4uN2M3Y2I3ZCAxMDA2NDQKLS0tIGEvTW9kdWxlcy9zb2NrZXRtb2R1bGUuYworKysgYi9Nb2R1bGVzL3NvY2tldG1vZHVsZS5jCkBAIC0xMjEsNyArMTIxLDcgQEAKIGdldHNvY2tuYW1lKCkgLS0gcmV0dXJuIGxvY2FsIGFkZHJlc3NcblwKIGdldHNvY2tvcHQobGV2ZWwsIG9wdG5hbWVbLCBidWZsZW5dKSAtLSBnZXQgc29ja2V0IG9wdGlvbnNcblwKIGdldHRpbWVvdXQoKSAtLSByZXR1cm4gdGltZW91dCBvciBOb25lXG5cCi1saXN0ZW4obikgLS0gc3RhcnQgbGlzdGVuaW5nIGZvciBpbmNvbWluZyBjb25uZWN0aW9uc1xuXAorbGlzdGVuKFtuXSkgLS0gc3RhcnQgbGlzdGVuaW5nIGZvciBpbmNvbWluZyBjb25uZWN0aW9uc1xuXAogcmVjdihidWZsZW5bLCBmbGFnc10pIC0tIHJlY2VpdmUgZGF0YVxuXAogcmVjdl9pbnRvKGJ1ZmZlclssIG5ieXRlc1ssIGZsYWdzXV0pIC0tIHJlY2VpdmUgZGF0YSAoaW50byBhIGJ1ZmZlcilcblwKIHJlY3Zmcm9tKGJ1ZmxlblssIGZsYWdzXSkgLS0gcmVjZWl2ZSBkYXRhIGFuZCBzZW5kZXJcJ3MgYWRkcmVzc1xuXApAQCAtMjg0LDE0ICsyODQsMTUgQEAKICMgIGluY2x1ZGUgPGZjbnRsLmg+CiAjIGVuZGlmCiAKKyNpZiBkZWZpbmVkKF9NU0NfVkVSKSAmJiBfTVNDX1ZFUiA+PSAxODAwCisvKiBQcm92aWRlcyB0aGUgSXNXaW5kb3dzN1NQMU9yR3JlYXRlcigpIGZ1bmN0aW9uICovCisjaW5jbHVkZSA8VmVyc2lvbkhlbHBlcnMuaD4KKyNlbmRpZgorCiAjZW5kaWYKIAogI2luY2x1ZGUgPHN0ZGRlZi5oPgogCi0jaWZuZGVmIG9mZnNldG9mCi0jIGRlZmluZSBvZmZzZXRvZih0eXBlLCBtZW1iZXIpICgoc2l6ZV90KSgmKCh0eXBlICopMCktPm1lbWJlcikpCi0jZW5kaWYKLQogI2lmbmRlZiBPX05PTkJMT0NLCiAjIGRlZmluZSBPX05PTkJMT0NLIE9fTkRFTEFZCiAjZW5kaWYKQEAgLTU1Miw2ICs1NTMsOSBAQAogc3RhdGljIGludAogaW50ZXJuYWxfc2V0YmxvY2tpbmcoUHlTb2NrZXRTb2NrT2JqZWN0ICpzLCBpbnQgYmxvY2spCiB7CisjaWZkZWYgTVNfV0lORE9XUworICAgIHVfbG9uZyBhcmc7CisjZW5kaWYKICNpZiAhZGVmaW5lZChNU19XSU5ET1dTKSBcCiAgICAgJiYgISgoZGVmaW5lZChIQVZFX1NZU19JT0NUTF9IKSAmJiBkZWZpbmVkKEZJT05CSU8pKSkKICAgICBpbnQgZGVsYXlfZmxhZywgbmV3X2RlbGF5X2ZsYWc7CkBAIC01NzgsOCArNTgyLDggQEAKICAgICAgICAgZmNudGwocy0+c29ja19mZCwgRl9TRVRGTCwgbmV3X2RlbGF5X2ZsYWcpOwogI2VuZGlmCiAjZWxzZSAvKiBNU19XSU5ET1dTICovCi0gICAgYmxvY2sgPSAhYmxvY2s7Ci0gICAgaW9jdGxzb2NrZXQocy0+c29ja19mZCwgRklPTkJJTywgKHVfbG9uZyopJmJsb2NrKTsKKyAgICBhcmcgPSAhYmxvY2s7CisgICAgaW9jdGxzb2NrZXQocy0+c29ja19mZCwgRklPTkJJTywgJmFyZyk7CiAjZW5kaWYgLyogTVNfV0lORE9XUyAqLwogICAgIFB5X0VORF9BTExPV19USFJFQURTCiAKQEAgLTY4MSw3ICs2ODUsNyBAQAogICAgICAgICBkb3VibGUgaW50ZXJ2YWwgPSBzLT5zb2NrX3RpbWVvdXQ7IFwKICAgICAgICAgaW50IGhhc190aW1lb3V0ID0gcy0+c29ja190aW1lb3V0ID4gMC4wOyBcCiAgICAgICAgIGlmIChoYXNfdGltZW91dCkgeyBcCi0gICAgICAgICAgICBfUHlUaW1lX2dldHRpbWVvZmRheSgmbm93KTsgXAorICAgICAgICAgICAgX1B5VGltZV9tb25vdG9uaWMoJm5vdyk7IFwKICAgICAgICAgICAgIGRlYWRsaW5lID0gbm93OyBcCiAgICAgICAgICAgICBfUHlUaW1lX0FERF9TRUNPTkRTKGRlYWRsaW5lLCBzLT5zb2NrX3RpbWVvdXQpOyBcCiAgICAgICAgIH0gXApAQCAtNjkyLDcgKzY5Niw3IEBACiAgICAgICAgICAgICBpZiAoIWhhc190aW1lb3V0IHx8IFwKICAgICAgICAgICAgICAgICAoIUNIRUNLX0VSUk5PKEVXT1VMREJMT0NLKSAmJiAhQ0hFQ0tfRVJSTk8oRUFHQUlOKSkpIFwKICAgICAgICAgICAgICAgICBicmVhazsgXAotICAgICAgICAgICAgX1B5VGltZV9nZXR0aW1lb2ZkYXkoJm5vdyk7IFwKKyAgICAgICAgICAgIF9QeVRpbWVfbW9ub3RvbmljKCZub3cpOyBcCiAgICAgICAgICAgICBpbnRlcnZhbCA9IF9QeVRpbWVfSU5URVJWQUwobm93LCBkZWFkbGluZSk7IFwKICAgICAgICAgfSBcCiAgICAgfSBcCkBAIC0xMjE0LDYgKzEyMTgsNzEgQEAKICAgICB9CiB9CiAKKy8qIEhlbHBlciBmb3IgZ2V0c29ja2FkZHJhcmc6IGJ5cGFzcyBJRE5BIGZvciBBU0NJSS1vbmx5IGhvc3QgbmFtZXMKKyAgIChpbiBwYXJ0aWN1bGFyLCBudW1lcmljIElQIGFkZHJlc3NlcykuICovCitzdHJ1Y3QgbWF5YmVfaWRuYSB7CisgICAgUHlPYmplY3QgKm9iajsKKyAgICBjaGFyICpidWY7Cit9OworCitzdGF0aWMgdm9pZAoraWRuYV9jbGVhbnVwKHN0cnVjdCBtYXliZV9pZG5hICpkYXRhKQoreworICAgIFB5X0NMRUFSKGRhdGEtPm9iaik7Cit9CisKK3N0YXRpYyBpbnQKK2lkbmFfY29udmVydGVyKFB5T2JqZWN0ICpvYmosIHN0cnVjdCBtYXliZV9pZG5hICpkYXRhKQoreworICAgIHNpemVfdCBsZW47CisgICAgUHlPYmplY3QgKm9iajIsICpvYmozOworICAgIGlmIChvYmogPT0gTlVMTCkgeworICAgICAgICBpZG5hX2NsZWFudXAoZGF0YSk7CisgICAgICAgIHJldHVybiAxOworICAgIH0KKyAgICBkYXRhLT5vYmogPSBOVUxMOworICAgIGxlbiA9IC0xOworICAgIGlmIChQeUJ5dGVzX0NoZWNrKG9iaikpIHsKKyAgICAgICAgZGF0YS0+YnVmID0gUHlCeXRlc19Bc1N0cmluZyhvYmopOworICAgICAgICBsZW4gPSBQeUJ5dGVzX1NpemUob2JqKTsKKyAgICB9CisgICAgZWxzZSBpZiAoUHlCeXRlQXJyYXlfQ2hlY2sob2JqKSkgeworICAgICAgICBkYXRhLT5idWYgPSBQeUJ5dGVBcnJheV9Bc1N0cmluZyhvYmopOworICAgICAgICBsZW4gPSBQeUJ5dGVBcnJheV9TaXplKG9iaik7CisgICAgfQorICAgIGVsc2UgaWYgKFB5VW5pY29kZV9DaGVjayhvYmopICYmIFB5VW5pY29kZV9SRUFEWShvYmopID09IDAgJiYgUHlVbmljb2RlX0lTX0NPTVBBQ1RfQVNDSUkob2JqKSkgeworICAgICAgICBkYXRhLT5idWYgPSBQeVVuaWNvZGVfREFUQShvYmopOworICAgICAgICBsZW4gPSBQeVVuaWNvZGVfR0VUX0xFTkdUSChvYmopOworICAgIH0KKyAgICBlbHNlIHsKKyAgICAgICAgb2JqMiA9IFB5VW5pY29kZV9Gcm9tT2JqZWN0KG9iaik7CisgICAgICAgIGlmICghb2JqMikgeworICAgICAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX1R5cGVFcnJvciwgInN0cmluZyBvciB1bmljb2RlIHRleHQgYnVmZmVyIGV4cGVjdGVkLCBub3QgJXMiLAorICAgICAgICAgICAgICAgICAgICAgICAgIG9iai0+b2JfdHlwZS0+dHBfbmFtZSk7CisgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgfQorICAgICAgICBvYmozID0gUHlVbmljb2RlX0FzRW5jb2RlZFN0cmluZyhvYmoyLCAiaWRuYSIsIE5VTEwpOworICAgICAgICBQeV9ERUNSRUYob2JqMik7CisgICAgICAgIGlmICghb2JqMykgeworICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwgImVuY29kaW5nIG9mIGhvc3RuYW1lIGZhaWxlZCIpOworICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIH0KKyAgICAgICAgaWYgKCFQeUJ5dGVzX0NoZWNrKG9iajMpKSB7CisgICAgICAgICAgICBQeV9ERUNSRUYob2JqMyk7CisgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCAiZW5jb2Rpbmcgb2YgaG9zdG5hbWUgZmFpbGVkIHRvIHJldHVybiBieXRlcyIpOworICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIH0KKyAgICAgICAgZGF0YS0+b2JqID0gb2JqMzsKKyAgICAgICAgZGF0YS0+YnVmID0gUHlCeXRlc19BU19TVFJJTkcob2JqMyk7CisgICAgICAgIGxlbiA9IFB5Qnl0ZXNfR0VUX1NJWkUob2JqMyk7CisgICAgfQorICAgIGlmIChzdHJsZW4oZGF0YS0+YnVmKSAhPSBsZW4pIHsKKyAgICAgICAgUHlfQ0xFQVIoZGF0YS0+b2JqKTsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwgImhvc3QgbmFtZSBtdXN0IG5vdCBjb250YWluIG51bGwgY2hhcmFjdGVyIik7CisgICAgICAgIHJldHVybiAwOworICAgIH0KKyAgICByZXR1cm4gUHlfQ0xFQU5VUF9TVVBQT1JURUQ7Cit9CiAKIC8qIFBhcnNlIGEgc29ja2V0IGFkZHJlc3MgYXJndW1lbnQgYWNjb3JkaW5nIHRvIHRoZSBzb2NrZXQgb2JqZWN0J3MKICAgIGFkZHJlc3MgZmFtaWx5LiAgUmV0dXJuIDEgaWYgdGhlIGFkZHJlc3Mgd2FzIGluIHRoZSBwcm9wZXIgZm9ybWF0LApAQCAtMTI0NCwxMiArMTMxMywxMyBAQAogICAgICAgICAgICAgUHlfSU5DUkVGKGFyZ3MpOwogICAgICAgICBpZiAoIVB5QXJnX1BhcnNlKGFyZ3MsICJ5IyIsICZwYXRoLCAmbGVuKSkKICAgICAgICAgICAgIGdvdG8gdW5peF9vdXQ7CisgICAgICAgIGFzc2VydChsZW4gPj0gMCk7CiAKICAgICAgICAgYWRkciA9IChzdHJ1Y3Qgc29ja2FkZHJfdW4qKWFkZHJfcmV0OwogI2lmZGVmIGxpbnV4CiAgICAgICAgIGlmIChsZW4gPiAwICYmIHBhdGhbMF0gPT0gMCkgewogICAgICAgICAgICAgLyogTGludXggYWJzdHJhY3QgbmFtZXNwYWNlIGV4dGVuc2lvbiAqLwotICAgICAgICAgICAgaWYgKGxlbiA+IHNpemVvZiBhZGRyLT5zdW5fcGF0aCkgeworICAgICAgICAgICAgaWYgKChzaXplX3QpbGVuID4gc2l6ZW9mIGFkZHItPnN1bl9wYXRoKSB7CiAgICAgICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX09TRXJyb3IsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJBRl9VTklYIHBhdGggdG9vIGxvbmciKTsKICAgICAgICAgICAgICAgICBnb3RvIHVuaXhfb3V0OwpAQCAtMTI1OSw3ICsxMzI5LDcgQEAKICNlbmRpZiAvKiBsaW51eCAqLwogICAgICAgICB7CiAgICAgICAgICAgICAvKiByZWd1bGFyIE5VTEwtdGVybWluYXRlZCBzdHJpbmcgKi8KLSAgICAgICAgICAgIGlmIChsZW4gPj0gc2l6ZW9mIGFkZHItPnN1bl9wYXRoKSB7CisgICAgICAgICAgICBpZiAoKHNpemVfdClsZW4gPj0gc2l6ZW9mIGFkZHItPnN1bl9wYXRoKSB7CiAgICAgICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX09TRXJyb3IsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJBRl9VTklYIHBhdGggdG9vIGxvbmciKTsKICAgICAgICAgICAgICAgICBnb3RvIHVuaXhfb3V0OwpAQCAtMTMwOCw3ICsxMzc4LDcgQEAKICAgICBjYXNlIEFGX0lORVQ6CiAgICAgewogICAgICAgICBzdHJ1Y3Qgc29ja2FkZHJfaW4qIGFkZHI7Ci0gICAgICAgIGNoYXIgKmhvc3Q7CisgICAgICAgIHN0cnVjdCBtYXliZV9pZG5hIGhvc3QgPSB7TlVMTCwgTlVMTH07CiAgICAgICAgIGludCBwb3J0LCByZXN1bHQ7CiAgICAgICAgIGlmICghUHlUdXBsZV9DaGVjayhhcmdzKSkgewogICAgICAgICAgICAgUHlFcnJfRm9ybWF0KApAQCAtMTMxOCwxMyArMTM4OCwxMyBAQAogICAgICAgICAgICAgICAgIFB5X1RZUEUoYXJncyktPnRwX25hbWUpOwogICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgIH0KLSAgICAgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJldGk6Z2V0c29ja2FkZHJhcmciLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImlkbmEiLCAmaG9zdCwgJnBvcnQpKQorICAgICAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgIk8maTpnZXRzb2NrYWRkcmFyZyIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZG5hX2NvbnZlcnRlciwgJmhvc3QsICZwb3J0KSkKICAgICAgICAgICAgIHJldHVybiAwOwogICAgICAgICBhZGRyPShzdHJ1Y3Qgc29ja2FkZHJfaW4qKWFkZHJfcmV0OwotICAgICAgICByZXN1bHQgPSBzZXRpcGFkZHIoaG9zdCwgKHN0cnVjdCBzb2NrYWRkciAqKWFkZHIsCisgICAgICAgIHJlc3VsdCA9IHNldGlwYWRkcihob3N0LmJ1ZiwgKHN0cnVjdCBzb2NrYWRkciAqKWFkZHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplb2YoKmFkZHIpLCAgQUZfSU5FVCk7Ci0gICAgICAgIFB5TWVtX0ZyZWUoaG9zdCk7CisgICAgICAgIGlkbmFfY2xlYW51cCgmaG9zdCk7CiAgICAgICAgIGlmIChyZXN1bHQgPCAwKQogICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgIGlmIChwb3J0IDwgMCB8fCBwb3J0ID4gMHhmZmZmKSB7CkBAIC0xMzQzLDcgKzE0MTMsNyBAQAogICAgIGNhc2UgQUZfSU5FVDY6CiAgICAgewogICAgICAgICBzdHJ1Y3Qgc29ja2FkZHJfaW42KiBhZGRyOwotICAgICAgICBjaGFyICpob3N0OworICAgICAgICBzdHJ1Y3QgbWF5YmVfaWRuYSBob3N0ID0ge05VTEwsIE5VTEx9OwogICAgICAgICBpbnQgcG9ydCwgcmVzdWx0OwogICAgICAgICB1bnNpZ25lZCBpbnQgZmxvd2luZm8sIHNjb3BlX2lkOwogICAgICAgICBmbG93aW5mbyA9IHNjb3BlX2lkID0gMDsKQEAgLTEzNTUsMTUgKzE0MjUsMTUgQEAKICAgICAgICAgICAgICAgICBQeV9UWVBFKGFyZ3MpLT50cF9uYW1lKTsKICAgICAgICAgICAgIHJldHVybiAwOwogICAgICAgICB9Ci0gICAgICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiZXRpfElJIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpZG5hIiwgJmhvc3QsICZwb3J0LCAmZmxvd2luZm8sCisgICAgICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiTyZpfElJIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkbmFfY29udmVydGVyLCAmaG9zdCwgJnBvcnQsICZmbG93aW5mbywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZzY29wZV9pZCkpIHsKICAgICAgICAgICAgIHJldHVybiAwOwogICAgICAgICB9CiAgICAgICAgIGFkZHIgPSAoc3RydWN0IHNvY2thZGRyX2luNiopYWRkcl9yZXQ7Ci0gICAgICAgIHJlc3VsdCA9IHNldGlwYWRkcihob3N0LCAoc3RydWN0IHNvY2thZGRyICopYWRkciwKKyAgICAgICAgcmVzdWx0ID0gc2V0aXBhZGRyKGhvc3QuYnVmLCAoc3RydWN0IHNvY2thZGRyICopYWRkciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVvZigqYWRkciksIEFGX0lORVQ2KTsKLSAgICAgICAgUHlNZW1fRnJlZShob3N0KTsKKyAgICAgICAgaWRuYV9jbGVhbnVwKCZob3N0KTsKICAgICAgICAgaWYgKHJlc3VsdCA8IDApCiAgICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICAgaWYgKHBvcnQgPCAwIHx8IHBvcnQgPiAweGZmZmYpIHsKQEAgLTE2MTEsNyArMTY4MSw3IEBACiAKICAgICAgICAgICAgIGlmIChsZW4gPT0gMCkgewogICAgICAgICAgICAgICAgIGlmci5pZnJfaWZpbmRleCA9IDA7Ci0gICAgICAgICAgICB9IGVsc2UgaWYgKGxlbiA8IHNpemVvZihpZnIuaWZyX25hbWUpKSB7CisgICAgICAgICAgICB9IGVsc2UgaWYgKChzaXplX3QpbGVuIDwgc2l6ZW9mKGlmci5pZnJfbmFtZSkpIHsKICAgICAgICAgICAgICAgICBzdHJuY3B5KGlmci5pZnJfbmFtZSwgUHlCeXRlc19BU19TVFJJTkcoaW50ZXJmYWNlTmFtZSksIHNpemVvZihpZnIuaWZyX25hbWUpKTsKICAgICAgICAgICAgICAgICBpZnIuaWZyX25hbWVbKHNpemVvZihpZnIuaWZyX25hbWUpKS0xXSA9ICdcMCc7CiAgICAgICAgICAgICAgICAgaWYgKGlvY3RsKHMtPnNvY2tfZmQsIFNJT0NHSUZJTkRFWCwgJmlmcikgPCAwKSB7CkBAIC0xOTY3LDYgKzIwMzcsNyBAQAogICAgIFB5T2JqZWN0ICphZGRyID0gTlVMTDsKICAgICBQeU9iamVjdCAqcmVzID0gTlVMTDsKICAgICBpbnQgdGltZW91dDsKKyAgICBpbnQgYXN5bmNfZXJyID0gMDsKICNpZiBkZWZpbmVkKEhBVkVfQUNDRVBUNCkgJiYgZGVmaW5lZChTT0NLX0NMT0VYRUMpCiAgICAgLyogYWNjZXB0NCgpIGlzIGF2YWlsYWJsZSBvbiBMaW51eCAyLjYuMjgrIGFuZCBnbGliYyAyLjEwICovCiAgICAgc3RhdGljIGludCBhY2NlcHQ0X3dvcmtzID0gLTE7CkBAIC0xOTgwLDI3ICsyMDUxLDI3IEBACiAgICAgICAgIHJldHVybiBzZWxlY3RfZXJyb3IoKTsKIAogICAgIEJFR0lOX1NFTEVDVF9MT09QKHMpCi0KLSAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCi0gICAgdGltZW91dCA9IGludGVybmFsX3NlbGVjdF9leChzLCAwLCBpbnRlcnZhbCk7Ci0gICAgaWYgKCF0aW1lb3V0KSB7CisgICAgZG8geworICAgICAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCisgICAgICAgIHRpbWVvdXQgPSBpbnRlcm5hbF9zZWxlY3RfZXgocywgMCwgaW50ZXJ2YWwpOworICAgICAgICBpZiAoIXRpbWVvdXQpIHsKICNpZiBkZWZpbmVkKEhBVkVfQUNDRVBUNCkgJiYgZGVmaW5lZChTT0NLX0NMT0VYRUMpCi0gICAgICAgIGlmIChhY2NlcHQ0X3dvcmtzICE9IDApIHsKLSAgICAgICAgICAgIG5ld2ZkID0gYWNjZXB0NChzLT5zb2NrX2ZkLCBTQVMyU0EoJmFkZHJidWYpLCAmYWRkcmxlbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBTT0NLX0NMT0VYRUMpOwotICAgICAgICAgICAgaWYgKG5ld2ZkID09IElOVkFMSURfU09DS0VUICYmIGFjY2VwdDRfd29ya3MgPT0gLTEpIHsKLSAgICAgICAgICAgICAgICAvKiBPbiBMaW51eCBvbGRlciB0aGFuIDIuNi4yOCwgYWNjZXB0NCgpIGZhaWxzIHdpdGggRU5PU1lTICovCi0gICAgICAgICAgICAgICAgYWNjZXB0NF93b3JrcyA9IChlcnJubyAhPSBFTk9TWVMpOworICAgICAgICAgICAgaWYgKGFjY2VwdDRfd29ya3MgIT0gMCkgeworICAgICAgICAgICAgICAgIG5ld2ZkID0gYWNjZXB0NChzLT5zb2NrX2ZkLCBTQVMyU0EoJmFkZHJidWYpLCAmYWRkcmxlbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU09DS19DTE9FWEVDKTsKKyAgICAgICAgICAgICAgICBpZiAobmV3ZmQgPT0gSU5WQUxJRF9TT0NLRVQgJiYgYWNjZXB0NF93b3JrcyA9PSAtMSkgeworICAgICAgICAgICAgICAgICAgICAvKiBPbiBMaW51eCBvbGRlciB0aGFuIDIuNi4yOCwgYWNjZXB0NCgpIGZhaWxzIHdpdGggRU5PU1lTICovCisgICAgICAgICAgICAgICAgICAgIGFjY2VwdDRfd29ya3MgPSAoZXJybm8gIT0gRU5PU1lTKTsKKyAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICAgICAgaWYgKGFjY2VwdDRfd29ya3MgPT0gMCkKLSAgICAgICAgICAgIG5ld2ZkID0gYWNjZXB0KHMtPnNvY2tfZmQsIFNBUzJTQSgmYWRkcmJ1ZiksICZhZGRybGVuKTsKKyAgICAgICAgICAgIGlmIChhY2NlcHQ0X3dvcmtzID09IDApCisgICAgICAgICAgICAgICAgbmV3ZmQgPSBhY2NlcHQocy0+c29ja19mZCwgU0FTMlNBKCZhZGRyYnVmKSwgJmFkZHJsZW4pOwogI2Vsc2UKLSAgICAgICAgbmV3ZmQgPSBhY2NlcHQocy0+c29ja19mZCwgU0FTMlNBKCZhZGRyYnVmKSwgJmFkZHJsZW4pOworICAgICAgICAgICAgbmV3ZmQgPSBhY2NlcHQocy0+c29ja19mZCwgU0FTMlNBKCZhZGRyYnVmKSwgJmFkZHJsZW4pOwogI2VuZGlmCi0gICAgfQotICAgIFB5X0VORF9BTExPV19USFJFQURTCi0KKyAgICAgICAgfQorICAgICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUworICAgIH0gd2hpbGUgKG5ld2ZkIDwgMCAmJiBlcnJubyA9PSBFSU5UUiAmJiAhKGFzeW5jX2VyciA9IFB5RXJyX0NoZWNrU2lnbmFscygpKSk7CiAgICAgaWYgKHRpbWVvdXQgPT0gMSkgewogICAgICAgICBQeUVycl9TZXRTdHJpbmcoc29ja2V0X3RpbWVvdXQsICJ0aW1lZCBvdXQiKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CkBAIC0yMDA4LDcgKzIwNzksNyBAQAogICAgIEVORF9TRUxFQ1RfTE9PUChzKQogCiAgICAgaWYgKG5ld2ZkID09IElOVkFMSURfU09DS0VUKQotICAgICAgICByZXR1cm4gcy0+ZXJyb3JoYW5kbGVyKCk7CisgICAgICAgIHJldHVybiAoIWFzeW5jX2VycikgPyBzLT5lcnJvcmhhbmRsZXIoKSA6IE5VTEw7CiAKICNpZmRlZiBNU19XSU5ET1dTCiAgICAgaWYgKCFTZXRIYW5kbGVJbmZvcm1hdGlvbigoSEFORExFKW5ld2ZkLCBIQU5ETEVfRkxBR19JTkhFUklULCAwKSkgewpAQCAtMjI3MSw2ICsyMzQyLDEwIEBACiB7CiAgICAgU09DS0VUX1QgZmQ7CiAKKyAgICAvKiBXZSBkbyBub3Qgd2FudCB0byByZXRyeSB1cG9uIEVJTlRSOiBzZWUgaHR0cDovL2x3bi5uZXQvQXJ0aWNsZXMvNTc2NDc4LworICAgICAqIGFuZCBodHRwOi8vbGludXguZGVya2VpbGVyLmNvbS9NYWlsaW5nLUxpc3RzL0tlcm5lbC8yMDA1LTA5LzMwMDAuaHRtbAorICAgICAqIGZvciBtb3JlIGRldGFpbHMuCisgICAgICovCiAgICAgaWYgKChmZCA9IHMtPnNvY2tfZmQpICE9IC0xKSB7CiAgICAgICAgIHMtPnNvY2tfZmQgPSAtMTsKICAgICAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwpAQCAtMjQ0MywxMCArMjUxOCw4IEBACiAKICAgICAvKiBTaWduYWxzIGFyZSBub3QgZXJyb3JzICh0aG91Z2ggdGhleSBtYXkgcmFpc2UgZXhjZXB0aW9ucykuICBBZGFwdGVkCiAgICAgICAgZnJvbSBQeUVycl9TZXRGcm9tRXJybm9XaXRoRmlsZW5hbWVPYmplY3QoKS4gKi8KLSNpZmRlZiBFSU5UUgogICAgIGlmIChyZXMgPT0gRUlOVFIgJiYgUHlFcnJfQ2hlY2tTaWduYWxzKCkpCiAgICAgICAgIHJldHVybiBOVUxMOwotI2VuZGlmCiAKICAgICByZXR1cm4gUHlMb25nX0Zyb21Mb25nKChsb25nKSByZXMpOwogfQpAQCAtMjUzNCwxNCArMjYwNywxNiBAQAogLyogcy5saXN0ZW4obikgbWV0aG9kICovCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1zb2NrX2xpc3RlbihQeVNvY2tldFNvY2tPYmplY3QgKnMsIFB5T2JqZWN0ICphcmcpCitzb2NrX2xpc3RlbihQeVNvY2tldFNvY2tPYmplY3QgKnMsIFB5T2JqZWN0ICphcmdzKQogewotICAgIGludCBiYWNrbG9nOworICAgIC8qIFdlIHRyeSB0byBjaG9vc2UgYSBkZWZhdWx0IGJhY2tsb2cgaGlnaCBlbm91Z2ggdG8gYXZvaWQgY29ubmVjdGlvbiBkcm9wcworICAgICAqIGZvciBjb21tb24gd29ya2xvYWRzLCB5ZXQgbm90IHRvbyBoaWdoIHRvIGxpbWl0IHJlc291cmNlIHVzYWdlLiAqLworICAgIGludCBiYWNrbG9nID0gUHlfTUlOKFNPTUFYQ09OTiwgMTI4KTsKICAgICBpbnQgcmVzOwogCi0gICAgYmFja2xvZyA9IF9QeUxvbmdfQXNJbnQoYXJnKTsKLSAgICBpZiAoYmFja2xvZyA9PSAtMSAmJiBQeUVycl9PY2N1cnJlZCgpKQorICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAifGk6bGlzdGVuIiwgJmJhY2tsb2cpKQogICAgICAgICByZXR1cm4gTlVMTDsKKwogICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKICAgICAvKiBUbyBhdm9pZCBwcm9ibGVtcyBvbiBzeXN0ZW1zIHRoYXQgZG9uJ3QgYWxsb3cgYSBuZWdhdGl2ZSBiYWNrbG9nCiAgICAgICogKHdoaWNoIGRvZXNuJ3QgbWFrZSBzZW5zZSBhbnl3YXkpIHdlIGZvcmNlIGEgbWluaW11bSB2YWx1ZSBvZiAwLiAqLwpAQCAtMjU1NiwxMiArMjYzMSwxMiBAQAogfQogCiBQeURvY19TVFJWQVIobGlzdGVuX2RvYywKLSJsaXN0ZW4oYmFja2xvZylcblwKKyJsaXN0ZW4oW2JhY2tsb2ddKVxuXAogXG5cCi1FbmFibGUgYSBzZXJ2ZXIgdG8gYWNjZXB0IGNvbm5lY3Rpb25zLiAgVGhlIGJhY2tsb2cgYXJndW1lbnQgbXVzdCBiZSBhdFxuXAotbGVhc3QgMCAoaWYgaXQgaXMgbG93ZXIsIGl0IGlzIHNldCB0byAwKTsgaXQgc3BlY2lmaWVzIHRoZSBudW1iZXIgb2ZcblwKK0VuYWJsZSBhIHNlcnZlciB0byBhY2NlcHQgY29ubmVjdGlvbnMuICBJZiBiYWNrbG9nIGlzIHNwZWNpZmllZCwgaXQgbXVzdCBiZVxuXAorYXQgbGVhc3QgMCAoaWYgaXQgaXMgbG93ZXIsIGl0IGlzIHNldCB0byAwKTsgaXQgc3BlY2lmaWVzIHRoZSBudW1iZXIgb2ZcblwKIHVuYWNjZXB0ZWQgY29ubmVjdGlvbnMgdGhhdCB0aGUgc3lzdGVtIHdpbGwgYWxsb3cgYmVmb3JlIHJlZnVzaW5nIG5ld1xuXAotY29ubmVjdGlvbnMuIik7Citjb25uZWN0aW9ucy4gSWYgbm90IHNwZWNpZmllZCwgYSBkZWZhdWx0IHJlYXNvbmFibGUgdmFsdWUgaXMgY2hvc2VuLiIpOwogCiAKIC8qCkBAIC0yNTc4LDYgKzI2NTMsNyBAQAogewogICAgIFB5X3NzaXplX3Qgb3V0bGVuID0gLTE7CiAgICAgaW50IHRpbWVvdXQ7CisgICAgaW50IGFzeW5jX2VyciA9IDA7CiAKICAgICBpZiAoIUlTX1NFTEVDVEFCTEUocykpIHsKICAgICAgICAgc2VsZWN0X2Vycm9yKCk7CkBAIC0yNTg5LDE4ICsyNjY1LDIwIEBACiAgICAgfQogCiAgICAgQkVHSU5fU0VMRUNUX0xPT1AocykKLSAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCi0gICAgdGltZW91dCA9IGludGVybmFsX3NlbGVjdF9leChzLCAwLCBpbnRlcnZhbCk7Ci0gICAgaWYgKCF0aW1lb3V0KSB7CisgICAgZG8geworICAgICAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCisgICAgICAgIHRpbWVvdXQgPSBpbnRlcm5hbF9zZWxlY3RfZXgocywgMCwgaW50ZXJ2YWwpOworICAgICAgICBpZiAoIXRpbWVvdXQpIHsKICNpZmRlZiBNU19XSU5ET1dTCi0gICAgICAgIGlmIChsZW4gPiBJTlRfTUFYKQotICAgICAgICAgICAgbGVuID0gSU5UX01BWDsKLSAgICAgICAgb3V0bGVuID0gcmVjdihzLT5zb2NrX2ZkLCBjYnVmLCAoaW50KWxlbiwgZmxhZ3MpOworICAgICAgICAgICAgaWYgKGxlbiA+IElOVF9NQVgpCisgICAgICAgICAgICAgICAgbGVuID0gSU5UX01BWDsKKyAgICAgICAgICAgIG91dGxlbiA9IHJlY3Yocy0+c29ja19mZCwgY2J1ZiwgKGludClsZW4sIGZsYWdzKTsKICNlbHNlCi0gICAgICAgIG91dGxlbiA9IHJlY3Yocy0+c29ja19mZCwgY2J1ZiwgbGVuLCBmbGFncyk7CisgICAgICAgICAgICBvdXRsZW4gPSByZWN2KHMtPnNvY2tfZmQsIGNidWYsIGxlbiwgZmxhZ3MpOwogI2VuZGlmCi0gICAgfQotICAgIFB5X0VORF9BTExPV19USFJFQURTCisgICAgICAgIH0KKyAgICAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKKyAgICB9IHdoaWxlIChvdXRsZW4gPCAwICYmIGVycm5vID09IEVJTlRSICYmICEoYXN5bmNfZXJyID0gUHlFcnJfQ2hlY2tTaWduYWxzKCkpKTsKIAogICAgIGlmICh0aW1lb3V0ID09IDEpIHsKICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKHNvY2tldF90aW1lb3V0LCAidGltZWQgb3V0Iik7CkBAIC0yNjEwLDcgKzI2ODgsOCBAQAogICAgIGlmIChvdXRsZW4gPCAwKSB7CiAgICAgICAgIC8qIE5vdGU6IHRoZSBjYWxsIHRvIGVycm9yaGFuZGxlcigpIEFMV0FZUyBpbmRpcmVjdGx5IHJldHVybmVkCiAgICAgICAgICAgIE5VTEwsIHNvIGlnbm9yZSBpdHMgcmV0dXJuIHZhbHVlICovCi0gICAgICAgIHMtPmVycm9yaGFuZGxlcigpOworICAgICAgICBpZiAoIWFzeW5jX2VycikKKyAgICAgICAgICAgIHMtPmVycm9yaGFuZGxlcigpOwogICAgICAgICByZXR1cm4gLTE7CiAgICAgfQogICAgIHJldHVybiBvdXRsZW47CkBAIC0yNzQ3LDYgKzI4MjYsNyBAQAogICAgIGludCB0aW1lb3V0OwogICAgIFB5X3NzaXplX3QgbiA9IC0xOwogICAgIHNvY2tsZW5fdCBhZGRybGVuOworICAgIGludCBhc3luY19lcnIgPSAwOwogCiAgICAgKmFkZHIgPSBOVUxMOwogCkBAIC0yNzU5LDIxICsyODM5LDIzIEBACiAgICAgfQogCiAgICAgQkVHSU5fU0VMRUNUX0xPT1AocykKLSAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCi0gICAgbWVtc2V0KCZhZGRyYnVmLCAwLCBhZGRybGVuKTsKLSAgICB0aW1lb3V0ID0gaW50ZXJuYWxfc2VsZWN0X2V4KHMsIDAsIGludGVydmFsKTsKLSAgICBpZiAoIXRpbWVvdXQpIHsKKyAgICBkbyB7CisgICAgICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKKyAgICAgICAgbWVtc2V0KCZhZGRyYnVmLCAwLCBhZGRybGVuKTsKKyAgICAgICAgdGltZW91dCA9IGludGVybmFsX3NlbGVjdF9leChzLCAwLCBpbnRlcnZhbCk7CisgICAgICAgIGlmICghdGltZW91dCkgewogI2lmZGVmIE1TX1dJTkRPV1MKLSAgICAgICAgaWYgKGxlbiA+IElOVF9NQVgpCi0gICAgICAgICAgICBsZW4gPSBJTlRfTUFYOwotICAgICAgICBuID0gcmVjdmZyb20ocy0+c29ja19mZCwgY2J1ZiwgKGludClsZW4sIGZsYWdzLAotICAgICAgICAgICAgICAgICAgICAgKHZvaWQgKikgJmFkZHJidWYsICZhZGRybGVuKTsKKyAgICAgICAgICAgIGlmIChsZW4gPiBJTlRfTUFYKQorICAgICAgICAgICAgICAgIGxlbiA9IElOVF9NQVg7CisgICAgICAgICAgICBuID0gcmVjdmZyb20ocy0+c29ja19mZCwgY2J1ZiwgKGludClsZW4sIGZsYWdzLAorICAgICAgICAgICAgICAgICAgICAgICAgICh2b2lkICopICZhZGRyYnVmLCAmYWRkcmxlbik7CiAjZWxzZQotICAgICAgICBuID0gcmVjdmZyb20ocy0+c29ja19mZCwgY2J1ZiwgbGVuLCBmbGFncywKLSAgICAgICAgICAgICAgICAgICAgIFNBUzJTQSgmYWRkcmJ1ZiksICZhZGRybGVuKTsKKyAgICAgICAgICAgIG4gPSByZWN2ZnJvbShzLT5zb2NrX2ZkLCBjYnVmLCBsZW4sIGZsYWdzLAorICAgICAgICAgICAgICAgICAgICAgICAgIFNBUzJTQSgmYWRkcmJ1ZiksICZhZGRybGVuKTsKICNlbmRpZgotICAgIH0KLSAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUworICAgICAgICB9CisgICAgICAgIFB5X0VORF9BTExPV19USFJFQURTCisgICAgfSB3aGlsZSAobiA8IDAgJiYgZXJybm8gPT0gRUlOVFIgJiYgIShhc3luY19lcnIgPSBQeUVycl9DaGVja1NpZ25hbHMoKSkpOwogCiAgICAgaWYgKHRpbWVvdXQgPT0gMSkgewogICAgICAgICBQeUVycl9TZXRTdHJpbmcoc29ja2V0X3RpbWVvdXQsICJ0aW1lZCBvdXQiKTsKQEAgLTI3ODEsNyArMjg2Myw4IEBACiAgICAgfQogICAgIEVORF9TRUxFQ1RfTE9PUChzKQogICAgIGlmIChuIDwgMCkgewotICAgICAgICBzLT5lcnJvcmhhbmRsZXIoKTsKKyAgICAgICAgaWYgKCFhc3luY19lcnIpCisgICAgICAgICAgICBzLT5lcnJvcmhhbmRsZXIoKTsKICAgICAgICAgcmV0dXJuIC0xOwogICAgIH0KIApAQCAtMjkyMSw2ICszMDA0LDcgQEAKIHsKICAgICBzc2l6ZV90IGJ5dGVzX3JlY2VpdmVkID0gLTE7CiAgICAgaW50IHRpbWVvdXQ7CisgICAgaW50IGFzeW5jX2VyciA9IDA7CiAgICAgc29ja19hZGRyX3QgYWRkcmJ1ZjsKICAgICBzb2NrbGVuX3QgYWRkcmJ1ZmxlbjsKICAgICBzdHJ1Y3QgbXNnaGRyIG1zZyA9IHswfTsKQEAgLTI5NTYsMjUgKzMwNDAsMjkgQEAKICAgICB9CiAKICAgICBCRUdJTl9TRUxFQ1RfTE9PUChzKQotICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFM7Ci0gICAgbXNnLm1zZ19uYW1lID0gU0FTMlNBKCZhZGRyYnVmKTsKLSAgICBtc2cubXNnX25hbWVsZW4gPSBhZGRyYnVmbGVuOwotICAgIG1zZy5tc2dfaW92ID0gaW92OwotICAgIG1zZy5tc2dfaW92bGVuID0gaW92bGVuOwotICAgIG1zZy5tc2dfY29udHJvbCA9IGNvbnRyb2xidWY7Ci0gICAgbXNnLm1zZ19jb250cm9sbGVuID0gY29udHJvbGxlbjsKLSAgICB0aW1lb3V0ID0gaW50ZXJuYWxfc2VsZWN0X2V4KHMsIDAsIGludGVydmFsKTsKLSAgICBpZiAoIXRpbWVvdXQpCi0gICAgICAgIGJ5dGVzX3JlY2VpdmVkID0gcmVjdm1zZyhzLT5zb2NrX2ZkLCAmbXNnLCBmbGFncyk7Ci0gICAgUHlfRU5EX0FMTE9XX1RIUkVBRFM7Ci0gICAgaWYgKHRpbWVvdXQgPT0gMSkgewotICAgICAgICBQeUVycl9TZXRTdHJpbmcoc29ja2V0X3RpbWVvdXQsICJ0aW1lZCBvdXQiKTsKLSAgICAgICAgZ290byBmaW5hbGx5OwotICAgIH0KKyAgICBkbyB7CisgICAgICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFM7CisgICAgICAgIG1zZy5tc2dfbmFtZSA9IFNBUzJTQSgmYWRkcmJ1Zik7CisgICAgICAgIG1zZy5tc2dfbmFtZWxlbiA9IGFkZHJidWZsZW47CisgICAgICAgIG1zZy5tc2dfaW92ID0gaW92OworICAgICAgICBtc2cubXNnX2lvdmxlbiA9IGlvdmxlbjsKKyAgICAgICAgbXNnLm1zZ19jb250cm9sID0gY29udHJvbGJ1ZjsKKyAgICAgICAgbXNnLm1zZ19jb250cm9sbGVuID0gY29udHJvbGxlbjsKKyAgICAgICAgdGltZW91dCA9IGludGVybmFsX3NlbGVjdF9leChzLCAwLCBpbnRlcnZhbCk7CisgICAgICAgIGlmICghdGltZW91dCkKKyAgICAgICAgICAgIGJ5dGVzX3JlY2VpdmVkID0gcmVjdm1zZyhzLT5zb2NrX2ZkLCAmbXNnLCBmbGFncyk7CisgICAgICAgIFB5X0VORF9BTExPV19USFJFQURTOworICAgICAgICBpZiAodGltZW91dCA9PSAxKSB7CisgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoc29ja2V0X3RpbWVvdXQsICJ0aW1lZCBvdXQiKTsKKyAgICAgICAgICAgIGdvdG8gZmluYWxseTsKKyAgICAgICAgfQorICAgIH0gd2hpbGUgKGJ5dGVzX3JlY2VpdmVkIDwgMCAmJiBlcnJubyA9PSBFSU5UUiAmJgorICAgICAgICAgICAgICEoYXN5bmNfZXJyID0gUHlFcnJfQ2hlY2tTaWduYWxzKCkpKTsKICAgICBFTkRfU0VMRUNUX0xPT1AocykKIAogICAgIGlmIChieXRlc19yZWNlaXZlZCA8IDApIHsKLSAgICAgICAgcy0+ZXJyb3JoYW5kbGVyKCk7CisgICAgICAgIGlmICghYXN5bmNfZXJyKQorICAgICAgICAgICAgcy0+ZXJyb3JoYW5kbGVyKCk7CiAgICAgICAgIGdvdG8gZmluYWxseTsKICAgICB9CiAKQEAgLTMyMzMsNiArMzMyMSw3IEBACiB7CiAgICAgY2hhciAqYnVmOwogICAgIFB5X3NzaXplX3QgbGVuLCBuID0gLTE7CisgICAgaW50IGFzeW5jX2VyciA9IDA7CiAgICAgaW50IGZsYWdzID0gMCwgdGltZW91dDsKICAgICBQeV9idWZmZXIgcGJ1ZjsKIApAQCAtMzI0NywxOCArMzMzNiwyMCBAQAogICAgIGxlbiA9IHBidWYubGVuOwogCiAgICAgQkVHSU5fU0VMRUNUX0xPT1AocykKLSAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCi0gICAgdGltZW91dCA9IGludGVybmFsX3NlbGVjdF9leChzLCAxLCBpbnRlcnZhbCk7Ci0gICAgaWYgKCF0aW1lb3V0KSB7CisgICAgZG8geworICAgICAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCisgICAgICAgIHRpbWVvdXQgPSBpbnRlcm5hbF9zZWxlY3RfZXgocywgMSwgaW50ZXJ2YWwpOworICAgICAgICBpZiAoIXRpbWVvdXQpIHsKICNpZmRlZiBNU19XSU5ET1dTCi0gICAgICAgIGlmIChsZW4gPiBJTlRfTUFYKQotICAgICAgICAgICAgbGVuID0gSU5UX01BWDsKLSAgICAgICAgbiA9IHNlbmQocy0+c29ja19mZCwgYnVmLCAoaW50KWxlbiwgZmxhZ3MpOworICAgICAgICAgICAgaWYgKGxlbiA+IElOVF9NQVgpCisgICAgICAgICAgICAgICAgbGVuID0gSU5UX01BWDsKKyAgICAgICAgICAgIG4gPSBzZW5kKHMtPnNvY2tfZmQsIGJ1ZiwgKGludClsZW4sIGZsYWdzKTsKICNlbHNlCi0gICAgICAgIG4gPSBzZW5kKHMtPnNvY2tfZmQsIGJ1ZiwgbGVuLCBmbGFncyk7CisgICAgICAgICAgICBuID0gc2VuZChzLT5zb2NrX2ZkLCBidWYsIGxlbiwgZmxhZ3MpOwogI2VuZGlmCi0gICAgfQotICAgIFB5X0VORF9BTExPV19USFJFQURTCisgICAgICAgIH0KKyAgICAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKKyAgICB9IHdoaWxlIChuIDwgMCAmJiBlcnJubyA9PSBFSU5UUiAmJiAhKGFzeW5jX2VyciA9IFB5RXJyX0NoZWNrU2lnbmFscygpKSk7CiAgICAgaWYgKHRpbWVvdXQgPT0gMSkgewogICAgICAgICBQeUJ1ZmZlcl9SZWxlYXNlKCZwYnVmKTsKICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKHNvY2tldF90aW1lb3V0LCAidGltZWQgb3V0Iik7CkBAIC0zMjY4LDcgKzMzNTksNyBAQAogCiAgICAgUHlCdWZmZXJfUmVsZWFzZSgmcGJ1Zik7CiAgICAgaWYgKG4gPCAwKQotICAgICAgICByZXR1cm4gcy0+ZXJyb3JoYW5kbGVyKCk7CisgICAgICAgIHJldHVybiAoIWFzeW5jX2VycikgPyBzLT5lcnJvcmhhbmRsZXIoKSA6IE5VTEw7CiAgICAgcmV0dXJuIFB5TG9uZ19Gcm9tU3NpemVfdChuKTsKIH0KIApAQCAtMzI4Nyw3ICszMzc4LDggQEAKIHsKICAgICBjaGFyICpidWY7CiAgICAgUHlfc3NpemVfdCBsZW4sIG4gPSAtMTsKLSAgICBpbnQgZmxhZ3MgPSAwLCB0aW1lb3V0LCBzYXZlZF9lcnJubzsKKyAgICBpbnQgYXN5bmNfZXJyID0gMDsKKyAgICBpbnQgZmxhZ3MgPSAwLCB0aW1lb3V0OwogICAgIFB5X2J1ZmZlciBwYnVmOwogCiAgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJ5KnxpOnNlbmRhbGwiLCAmcGJ1ZiwgJmZsYWdzKSkKQEAgLTMzMTksMjkgKzM0MTEsMTYgQEAKICAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhzb2NrZXRfdGltZW91dCwgInRpbWVkIG91dCIpOwogICAgICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgICAgIH0KLSAgICAgICAgLyogUHlFcnJfQ2hlY2tTaWduYWxzKCkgbWlnaHQgY2hhbmdlIGVycm5vICovCi0gICAgICAgIHNhdmVkX2Vycm5vID0gZXJybm87Ci0gICAgICAgIC8qIFdlIG11c3QgcnVuIG91ciBzaWduYWwgaGFuZGxlcnMgYmVmb3JlIGxvb3BpbmcgYWdhaW4uCi0gICAgICAgICAgIHNlbmQoKSBjYW4gcmV0dXJuIGEgc3VjY2Vzc2Z1bCBwYXJ0aWFsIHdyaXRlIHdoZW4gaXQgaXMKLSAgICAgICAgICAgaW50ZXJydXB0ZWQsIHNvIHdlIGNhbid0IHJlc3RyaWN0IG91cnNlbHZlcyB0byBFSU5UUi4gKi8KLSAgICAgICAgaWYgKFB5RXJyX0NoZWNrU2lnbmFscygpKSB7Ci0gICAgICAgICAgICBQeUJ1ZmZlcl9SZWxlYXNlKCZwYnVmKTsKLSAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICBpZiAobiA+PSAwKSB7CisgICAgICAgICAgICBidWYgKz0gbjsKKyAgICAgICAgICAgIGxlbiAtPSBuOwogICAgICAgICB9Ci0gICAgICAgIGlmIChuIDwgMCkgewotICAgICAgICAgICAgLyogSWYgaW50ZXJydXB0ZWQsIHRyeSBhZ2FpbiAqLwotICAgICAgICAgICAgaWYgKHNhdmVkX2Vycm5vID09IEVJTlRSKQotICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0gICAgICAgIGJ1ZiArPSBuOwotICAgICAgICBsZW4gLT0gbjsKLSAgICB9IHdoaWxlIChsZW4gPiAwKTsKKyAgICB9IHdoaWxlIChsZW4gPiAwICYmIChuID49IDAgfHwgZXJybm8gPT0gRUlOVFIpICYmCisgICAgICAgICAgICAgIShhc3luY19lcnIgPSBQeUVycl9DaGVja1NpZ25hbHMoKSkpOwogICAgIFB5QnVmZmVyX1JlbGVhc2UoJnBidWYpOwogCi0gICAgaWYgKG4gPCAwKQotICAgICAgICByZXR1cm4gcy0+ZXJyb3JoYW5kbGVyKCk7CisgICAgaWYgKG4gPCAwIHx8IGFzeW5jX2VycikKKyAgICAgICAgcmV0dXJuICghYXN5bmNfZXJyKSA/IHMtPmVycm9yaGFuZGxlcigpIDogTlVMTDsKIAogICAgIFB5X0lOQ1JFRihQeV9Ob25lKTsKICAgICByZXR1cm4gUHlfTm9uZTsKQEAgLTMzNjcsNiArMzQ0Niw3IEBACiAgICAgUHlfc3NpemVfdCBsZW4sIGFyZ2xlbjsKICAgICBzb2NrX2FkZHJfdCBhZGRyYnVmOwogICAgIGludCBhZGRybGVuLCBuID0gLTEsIGZsYWdzLCB0aW1lb3V0OworICAgIGludCBhc3luY19lcnIgPSAwOwogCiAgICAgZmxhZ3MgPSAwOwogICAgIGFyZ2xlbiA9IFB5VHVwbGVfU2l6ZShhcmdzKTsKQEAgLTM0MDEsMjAgKzM0ODEsMjIgQEAKICAgICB9CiAKICAgICBCRUdJTl9TRUxFQ1RfTE9PUChzKQotICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKLSAgICB0aW1lb3V0ID0gaW50ZXJuYWxfc2VsZWN0X2V4KHMsIDEsIGludGVydmFsKTsKLSAgICBpZiAoIXRpbWVvdXQpIHsKKyAgICBkbyB7CisgICAgICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKKyAgICAgICAgdGltZW91dCA9IGludGVybmFsX3NlbGVjdF9leChzLCAxLCBpbnRlcnZhbCk7CisgICAgICAgIGlmICghdGltZW91dCkgewogI2lmZGVmIE1TX1dJTkRPV1MKLSAgICAgICAgaWYgKGxlbiA+IElOVF9NQVgpCi0gICAgICAgICAgICBsZW4gPSBJTlRfTUFYOwotICAgICAgICBuID0gc2VuZHRvKHMtPnNvY2tfZmQsIGJ1ZiwgKGludClsZW4sIGZsYWdzLAotICAgICAgICAgICAgICAgICAgIFNBUzJTQSgmYWRkcmJ1ZiksIGFkZHJsZW4pOworICAgICAgICAgICAgaWYgKGxlbiA+IElOVF9NQVgpCisgICAgICAgICAgICAgICAgbGVuID0gSU5UX01BWDsKKyAgICAgICAgICAgIG4gPSBzZW5kdG8ocy0+c29ja19mZCwgYnVmLCAoaW50KWxlbiwgZmxhZ3MsCisgICAgICAgICAgICAgICAgICAgICAgIFNBUzJTQSgmYWRkcmJ1ZiksIGFkZHJsZW4pOwogI2Vsc2UKLSAgICAgICAgbiA9IHNlbmR0byhzLT5zb2NrX2ZkLCBidWYsIGxlbiwgZmxhZ3MsCi0gICAgICAgICAgICAgICAgICAgU0FTMlNBKCZhZGRyYnVmKSwgYWRkcmxlbik7CisgICAgICAgICAgICBuID0gc2VuZHRvKHMtPnNvY2tfZmQsIGJ1ZiwgbGVuLCBmbGFncywKKyAgICAgICAgICAgICAgICAgICAgICAgU0FTMlNBKCZhZGRyYnVmKSwgYWRkcmxlbik7CiAjZW5kaWYKLSAgICB9Ci0gICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKKyAgICAgICAgfQorICAgICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUworICAgIH0gd2hpbGUgKG4gPCAwICYmIGVycm5vID09IEVJTlRSICYmICEoYXN5bmNfZXJyID0gUHlFcnJfQ2hlY2tTaWduYWxzKCkpKTsKIAogICAgIGlmICh0aW1lb3V0ID09IDEpIHsKICAgICAgICAgUHlCdWZmZXJfUmVsZWFzZSgmcGJ1Zik7CkBAIC0zNDI0LDcgKzM1MDYsNyBAQAogICAgIEVORF9TRUxFQ1RfTE9PUChzKQogICAgIFB5QnVmZmVyX1JlbGVhc2UoJnBidWYpOwogICAgIGlmIChuIDwgMCkKLSAgICAgICAgcmV0dXJuIHMtPmVycm9yaGFuZGxlcigpOworICAgICAgICByZXR1cm4gKCFhc3luY19lcnIpID8gcy0+ZXJyb3JoYW5kbGVyKCkgOiBOVUxMOwogICAgIHJldHVybiBQeUxvbmdfRnJvbVNzaXplX3Qobik7CiB9CiAKQEAgLTM0NTYsNiArMzUzOCw3IEBACiAgICAgdm9pZCAqY29udHJvbGJ1ZiA9IE5VTEw7CiAgICAgc2l6ZV90IGNvbnRyb2xsZW4sIGNvbnRyb2xsZW5fbGFzdDsKICAgICBzc2l6ZV90IGJ5dGVzX3NlbnQgPSAtMTsKKyAgICBpbnQgYXN5bmNfZXJyID0gMDsKICAgICBpbnQgYWRkcmxlbiwgdGltZW91dCwgZmxhZ3MgPSAwOwogICAgIFB5T2JqZWN0ICpkYXRhX2FyZywgKmNtc2dfYXJnID0gTlVMTCwgKmFkZHJfYXJnID0gTlVMTCwgKmRhdGFfZmFzdCA9IE5VTEwsCiAgICAgICAgICpjbXNnX2Zhc3QgPSBOVUxMLCAqcmV0dmFsID0gTlVMTDsKQEAgLTM2MTMsMTkgKzM2OTYsMjMgQEAKICAgICB9CiAKICAgICBCRUdJTl9TRUxFQ1RfTE9PUChzKQotICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFM7Ci0gICAgdGltZW91dCA9IGludGVybmFsX3NlbGVjdF9leChzLCAxLCBpbnRlcnZhbCk7Ci0gICAgaWYgKCF0aW1lb3V0KQotICAgICAgICBieXRlc19zZW50ID0gc2VuZG1zZyhzLT5zb2NrX2ZkLCAmbXNnLCBmbGFncyk7Ci0gICAgUHlfRU5EX0FMTE9XX1RIUkVBRFM7Ci0gICAgaWYgKHRpbWVvdXQgPT0gMSkgewotICAgICAgICBQeUVycl9TZXRTdHJpbmcoc29ja2V0X3RpbWVvdXQsICJ0aW1lZCBvdXQiKTsKLSAgICAgICAgZ290byBmaW5hbGx5OwotICAgIH0KKyAgICBkbyB7CisgICAgICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFM7CisgICAgICAgIHRpbWVvdXQgPSBpbnRlcm5hbF9zZWxlY3RfZXgocywgMSwgaW50ZXJ2YWwpOworICAgICAgICBpZiAoIXRpbWVvdXQpCisgICAgICAgICAgICBieXRlc19zZW50ID0gc2VuZG1zZyhzLT5zb2NrX2ZkLCAmbXNnLCBmbGFncyk7CisgICAgICAgIFB5X0VORF9BTExPV19USFJFQURTOworICAgICAgICBpZiAodGltZW91dCA9PSAxKSB7CisgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoc29ja2V0X3RpbWVvdXQsICJ0aW1lZCBvdXQiKTsKKyAgICAgICAgICAgIGdvdG8gZmluYWxseTsKKyAgICAgICAgfQorICAgIH0gd2hpbGUgKGJ5dGVzX3NlbnQgPCAwICYmIGVycm5vID09IEVJTlRSICYmCisgICAgICAgICAgICAgIShhc3luY19lcnIgPSBQeUVycl9DaGVja1NpZ25hbHMoKSkpOwogICAgIEVORF9TRUxFQ1RfTE9PUChzKQogCiAgICAgaWYgKGJ5dGVzX3NlbnQgPCAwKSB7Ci0gICAgICAgIHMtPmVycm9yaGFuZGxlcigpOworICAgICAgICBpZiAoIWFzeW5jX2VycikKKyAgICAgICAgICAgIHMtPmVycm9yaGFuZGxlcigpOwogICAgICAgICBnb3RvIGZpbmFsbHk7CiAgICAgfQogICAgIHJldHZhbCA9IFB5TG9uZ19Gcm9tU3NpemVfdChieXRlc19zZW50KTsKQEAgLTM3OTUsNyArMzg4Miw3IEBACiAgICAgeyJzaGFyZSIsICAgICAgICAgKFB5Q0Z1bmN0aW9uKXNvY2tfc2hhcmUsIE1FVEhfVkFSQVJHUywKICAgICAgICAgICAgICAgICAgICAgICBzb2NrX3NoYXJlX2RvY30sCiAjZW5kaWYKLSAgICB7Imxpc3RlbiIsICAgICAgICAgICAgKFB5Q0Z1bmN0aW9uKXNvY2tfbGlzdGVuLCBNRVRIX08sCisgICAgeyJsaXN0ZW4iLCAgICAgICAgICAgIChQeUNGdW5jdGlvbilzb2NrX2xpc3RlbiwgTUVUSF9WQVJBUkdTLAogICAgICAgICAgICAgICAgICAgICAgIGxpc3Rlbl9kb2N9LAogICAgIHsicmVjdiIsICAgICAgICAgICAgICAoUHlDRnVuY3Rpb24pc29ja19yZWN2LCBNRVRIX1ZBUkFSR1MsCiAgICAgICAgICAgICAgICAgICAgICAgcmVjdl9kb2N9LApAQCAtNDIyNiw3ICs0MzEzLDcgQEAKIC8qIENvbnZlbmllbmNlIGZ1bmN0aW9uIGNvbW1vbiB0byBnZXRob3N0YnluYW1lX2V4IGFuZCBnZXRob3N0YnlhZGRyICovCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1nZXRob3N0X2NvbW1vbihzdHJ1Y3QgaG9zdGVudCAqaCwgc3RydWN0IHNvY2thZGRyICphZGRyLCBpbnQgYWxlbiwgaW50IGFmKQorZ2V0aG9zdF9jb21tb24oc3RydWN0IGhvc3RlbnQgKmgsIHN0cnVjdCBzb2NrYWRkciAqYWRkciwgc2l6ZV90IGFsZW4sIGludCBhZikKIHsKICAgICBjaGFyICoqcGNoOwogICAgIFB5T2JqZWN0ICpydG5fdHVwbGUgPSAoUHlPYmplY3QgKilOVUxMOwpAQCAtNTc4MCwxMSArNTg2NywxNSBAQAogCiAjaWZkZWYgTVNfV0lORE9XUwogICAgIGlmIChzdXBwb3J0X3dzYV9ub19pbmhlcml0ID09IC0xKSB7CisjaWYgZGVmaW5lZChfTVNDX1ZFUikgJiYgX01TQ19WRVIgPj0gMTgwMAorICAgICAgICBzdXBwb3J0X3dzYV9ub19pbmhlcml0ID0gSXNXaW5kb3dzN1NQMU9yR3JlYXRlcigpOworI2Vsc2UKICAgICAgICAgRFdPUkQgdmVyc2lvbiA9IEdldFZlcnNpb24oKTsKICAgICAgICAgRFdPUkQgbWFqb3IgPSAoRFdPUkQpTE9CWVRFKExPV09SRCh2ZXJzaW9uKSk7CiAgICAgICAgIERXT1JEIG1pbm9yID0gKERXT1JEKUhJQllURShMT1dPUkQodmVyc2lvbikpOwogICAgICAgICAvKiBuZWVkIFdpbmRvd3MgNyBTUDEsIDIwMDggUjIgU1AxIG9yIGxhdGVyICovCi0gICAgICAgIHN1cHBvcnRfd3NhX25vX2luaGVyaXQgPSAobWFqb3IgPj0gNiAmJiBtaW5vciA+PSAxKTsKKyAgICAgICAgc3VwcG9ydF93c2Ffbm9faW5oZXJpdCA9IG1ham9yID4gNiB8fCAobWFqb3IgPT0gNiAmJiBtaW5vciA+PSAxKTsKKyNlbmRpZgogICAgIH0KICNlbmRpZgogCkBAIC02MTgzLDYgKzYyNzQsOSBAQAogI2lmZGVmICBTT19QUklPUklUWQogICAgIFB5TW9kdWxlX0FkZEludE1hY3JvKG0sIFNPX1BSSU9SSVRZKTsKICNlbmRpZgorI2lmZGVmICBTT19NQVJLCisgICAgUHlNb2R1bGVfQWRkSW50TWFjcm8obSwgU09fTUFSSyk7CisjZW5kaWYKIAogICAgIC8qIE1heGltdW0gbnVtYmVyIG9mIGNvbm5lY3Rpb25zIGZvciAibGlzdGVuIiAqLwogI2lmZGVmICBTT01BWENPTk4KZGlmZiAtLWdpdCBhL01vZHVsZXMvc3B3ZG1vZHVsZS5jIGIvTW9kdWxlcy9zcHdkbW9kdWxlLmMKaW5kZXggNjhlYTFiNS4uMDEzY2IxMSAxMDA2NDQKLS0tIGEvTW9kdWxlcy9zcHdkbW9kdWxlLmMKKysrIGIvTW9kdWxlcy9zcHdkbW9kdWxlLmMKQEAgLTEwLDYgKzEwLDEzIEBACiAjaW5jbHVkZSA8c2hhZG93Lmg+CiAjZW5kaWYKIAorI2luY2x1ZGUgImNsaW5pYy9zcHdkbW9kdWxlLmMuaCIKKworLypbY2xpbmljIGlucHV0XQorb3V0cHV0IHByZXNldCBmaWxlCittb2R1bGUgc3B3ZAorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWRhMzlhM2VlNWU2YjRiMGQgaW5wdXQ9YjM0NjRhMzY2NzI3OGZhZV0qLwogCiBQeURvY19TVFJWQVIoc3B3ZF9fZG9jX18sCiAiVGhpcyBtb2R1bGUgcHJvdmlkZXMgYWNjZXNzIHRvIHRoZSBVbml4IHNoYWRvdyBwYXNzd29yZCBkYXRhYmFzZS5cblwKQEAgLTEwNywyMCArMTE0LDI1IEBACiAKICNpZmRlZiBIQVZFX0dFVFNQTkFNCiAKLVB5RG9jX1NUUlZBUihzcHdkX2dldHNwbmFtX19kb2NfXywKLSJnZXRzcG5hbShuYW1lKSAtPiAoc3BfbmFtcCwgc3BfcHdkcCwgc3BfbHN0Y2hnLCBzcF9taW4sIHNwX21heCxcblwKLSAgICAgICAgICAgICAgICAgICAgc3Bfd2Fybiwgc3BfaW5hY3QsIHNwX2V4cGlyZSwgc3BfZmxhZylcblwKLVJldHVybiB0aGUgc2hhZG93IHBhc3N3b3JkIGRhdGFiYXNlIGVudHJ5IGZvciB0aGUgZ2l2ZW4gdXNlciBuYW1lLlxuXAotU2VlIHNwd2QuX19kb2NfXyBmb3IgbW9yZSBvbiBzaGFkb3cgcGFzc3dvcmQgZGF0YWJhc2UgZW50cmllcy4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK3Nwd2QuZ2V0c3BuYW0KIAotc3RhdGljIFB5T2JqZWN0KiBzcHdkX2dldHNwbmFtKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKKyAgICBhcmc6IHVuaWNvZGUKKyAgICAvCisKK1JldHVybiB0aGUgc2hhZG93IHBhc3N3b3JkIGRhdGFiYXNlIGVudHJ5IGZvciB0aGUgZ2l2ZW4gdXNlciBuYW1lLgorCitTZWUgYGhlbHAoc3B3ZClgIGZvciBtb3JlIG9uIHNoYWRvdyBwYXNzd29yZCBkYXRhYmFzZSBlbnRyaWVzLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitzdGF0aWMgUHlPYmplY3QgKgorc3B3ZF9nZXRzcG5hbV9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmcpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9OWY2YmJlNTFhNGViM2IyMSBpbnB1dD1kZDg5NDI5ZTYxNjdhMDBmXSovCiB7CiAgICAgY2hhciAqbmFtZTsKICAgICBzdHJ1Y3Qgc3B3ZCAqcDsKLSAgICBQeU9iamVjdCAqYXJnLCAqYnl0ZXMsICpyZXR2YWwgPSBOVUxMOworICAgIFB5T2JqZWN0ICpieXRlcywgKnJldHZhbCA9IE5VTEw7CiAKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgIlU6Z2V0c3BuYW0iLCAmYXJnKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgaWYgKChieXRlcyA9IFB5VW5pY29kZV9FbmNvZGVGU0RlZmF1bHQoYXJnKSkgPT0gTlVMTCkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgaWYgKFB5Qnl0ZXNfQXNTdHJpbmdBbmRTaXplKGJ5dGVzLCAmbmFtZSwgTlVMTCkgPT0gLTEpCkBAIC0xMzksMTQgKzE1MSwxNyBAQAogCiAjaWZkZWYgSEFWRV9HRVRTUEVOVAogCi1QeURvY19TVFJWQVIoc3B3ZF9nZXRzcGFsbF9fZG9jX18sCi0iZ2V0c3BhbGwoKSAtPiBsaXN0X29mX2VudHJpZXNcblwKLVJldHVybiBhIGxpc3Qgb2YgYWxsIGF2YWlsYWJsZSBzaGFkb3cgcGFzc3dvcmQgZGF0YWJhc2UgZW50cmllcywgXAotaW4gYXJiaXRyYXJ5IG9yZGVyLlxuXAotU2VlIHNwd2QuX19kb2NfXyBmb3IgbW9yZSBvbiBzaGFkb3cgcGFzc3dvcmQgZGF0YWJhc2UgZW50cmllcy4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK3Nwd2QuZ2V0c3BhbGwKKworUmV0dXJuIGEgbGlzdCBvZiBhbGwgYXZhaWxhYmxlIHNoYWRvdyBwYXNzd29yZCBkYXRhYmFzZSBlbnRyaWVzLCBpbiBhcmJpdHJhcnkgb3JkZXIuCisKK1NlZSBgaGVscChzcHdkKWAgZm9yIG1vcmUgb24gc2hhZG93IHBhc3N3b3JkIGRhdGFiYXNlIGVudHJpZXMuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1zcHdkX2dldHNwYWxsKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK3Nwd2RfZ2V0c3BhbGxfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWIxMmQ4ZWM3YmRiMjk2MTIgaW5wdXQ9YjJjODRiNzg1N2Q2MjJiZF0qLwogewogICAgIFB5T2JqZWN0ICpkOwogICAgIHN0cnVjdCBzcHdkICpwOwpAQCAtMTcxLDEwICsxODYsMTAgQEAKIAogc3RhdGljIFB5TWV0aG9kRGVmIHNwd2RfbWV0aG9kc1tdID0gewogI2lmZGVmIEhBVkVfR0VUU1BOQU0KLSAgICB7ImdldHNwbmFtIiwgICAgICAgIHNwd2RfZ2V0c3BuYW0sIE1FVEhfVkFSQVJHUywgc3B3ZF9nZXRzcG5hbV9fZG9jX199LAorICAgIFNQV0RfR0VUU1BOQU1fTUVUSE9EREVGCiAjZW5kaWYKICNpZmRlZiBIQVZFX0dFVFNQRU5UCi0gICAgeyJnZXRzcGFsbCIsICAgICAgICBzcHdkX2dldHNwYWxsLCBNRVRIX05PQVJHUywgc3B3ZF9nZXRzcGFsbF9fZG9jX199LAorICAgIFNQV0RfR0VUU1BBTExfTUVUSE9EREVGCiAjZW5kaWYKICAgICB7TlVMTCwgICAgICAgICAgICAgIE5VTEx9ICAgICAgICAgICAvKiBzZW50aW5lbCAqLwogfTsKZGlmZiAtLWdpdCBhL01vZHVsZXMvc3JlLmggYi9Nb2R1bGVzL3NyZS5oCmluZGV4IDQyZmUyOGQuLmI2MzIxNjUgMTAwNjQ0Ci0tLSBhL01vZHVsZXMvc3JlLmgKKysrIGIvTW9kdWxlcy9zcmUuaApAQCAtMTgsOCArMTgsMTAgQEAKICNkZWZpbmUgU1JFX0NPREUgUHlfVUNTNAogI2lmIFNJWkVPRl9TSVpFX1QgPiA0CiAjIGRlZmluZSBTUkVfTUFYUkVQRUFUICh+KFNSRV9DT0RFKTApCisjIGRlZmluZSBTUkVfTUFYR1JPVVBTICgofihTUkVfQ09ERSkwKSAvIDIpCiAjZWxzZQogIyBkZWZpbmUgU1JFX01BWFJFUEVBVCAoKFNSRV9DT0RFKVBZX1NTSVpFX1RfTUFYKQorIyBkZWZpbmUgU1JFX01BWEdST1VQUyAoKFNSRV9DT0RFKVBZX1NTSVpFX1RfTUFYIC8gU0laRU9GX1NJWkVfVCAvIDIpCiAjZW5kaWYKIAogdHlwZWRlZiBzdHJ1Y3QgewpAQCAtNTIsOSArNTQsNiBAQAogCiB0eXBlZGVmIHVuc2lnbmVkIGludCAoKlNSRV9UT0xPV0VSX0hPT0spKHVuc2lnbmVkIGludCBjaCk7CiAKLS8qIEZJWE1FOiA8Zmw+IHNob3VsZG4ndCBiZSBhIGNvbnN0YW50LCByZWFsbHkuLi4gKi8KLSNkZWZpbmUgU1JFX01BUktfU0laRSAyMDAKLQogdHlwZWRlZiBzdHJ1Y3QgU1JFX1JFUEVBVF9UIHsKICAgICBQeV9zc2l6ZV90IGNvdW50OwogICAgIFNSRV9DT0RFKiBwYXR0ZXJuOyAvKiBwb2ludHMgdG8gUkVQRUFUIG9wZXJhdG9yIGFyZ3VtZW50cyAqLwpAQCAtNzYsNyArNzUsNyBAQAogICAgIC8qIHJlZ2lzdGVycyAqLwogICAgIFB5X3NzaXplX3QgbGFzdGluZGV4OwogICAgIFB5X3NzaXplX3QgbGFzdG1hcms7Ci0gICAgdm9pZCogbWFya1tTUkVfTUFSS19TSVpFXTsKKyAgICB2b2lkKiogbWFyazsKICAgICAvKiBkeW5hbWljYWxseSBhbGxvY2F0ZWQgc3R1ZmYgKi8KICAgICBjaGFyKiBkYXRhX3N0YWNrOwogICAgIHNpemVfdCBkYXRhX3N0YWNrX3NpemU7CkBAIC04NSw3ICs4NCw3IEBACiAgICAgLyogY3VycmVudCByZXBlYXQgY29udGV4dCAqLwogICAgIFNSRV9SRVBFQVQgKnJlcGVhdDsKICAgICAvKiBob29rcyAqLwotICAgIFNSRV9UT0xPV0VSX0hPT0sgbG93ZXI7CisgICAgU1JFX1RPTE9XRVJfSE9PSyBsb3dlciwgdXBwZXI7CiB9IFNSRV9TVEFURTsKIAogdHlwZWRlZiBzdHJ1Y3QgewpkaWZmIC0tZ2l0IGEvTW9kdWxlcy9zcmVfY29uc3RhbnRzLmggYi9Nb2R1bGVzL3NyZV9jb25zdGFudHMuaAppbmRleCA1OTQwZDVhLi42NjMyNDQyIDEwMDY0NAotLS0gYS9Nb2R1bGVzL3NyZV9jb25zdGFudHMuaAorKysgYi9Nb2R1bGVzL3NyZV9jb25zdGFudHMuaApAQCAtMTEsNyArMTEsNyBAQAogICogU2VlIHRoZSBfc3JlLmMgZmlsZSBmb3IgaW5mb3JtYXRpb24gb24gdXNhZ2UgYW5kIHJlZGlzdHJpYnV0aW9uLgogICovCiAKLSNkZWZpbmUgU1JFX01BR0lDIDIwMDMxMDE3CisjZGVmaW5lIFNSRV9NQUdJQyAyMDE0MDkxNwogI2RlZmluZSBTUkVfT1BfRkFJTFVSRSAwCiAjZGVmaW5lIFNSRV9PUF9TVUNDRVNTIDEKICNkZWZpbmUgU1JFX09QX0FOWSAyCkBAIC00NCw2ICs0NCw3IEBACiAjZGVmaW5lIFNSRV9PUF9SRVBFQVRfT05FIDI5CiAjZGVmaW5lIFNSRV9PUF9TVUJQQVRURVJOIDMwCiAjZGVmaW5lIFNSRV9PUF9NSU5fUkVQRUFUX09ORSAzMQorI2RlZmluZSBTUkVfT1BfUkFOR0VfSUdOT1JFIDMyCiAjZGVmaW5lIFNSRV9BVF9CRUdJTk5JTkcgMAogI2RlZmluZSBTUkVfQVRfQkVHSU5OSU5HX0xJTkUgMQogI2RlZmluZSBTUkVfQVRfQkVHSU5OSU5HX1NUUklORyAyCmRpZmYgLS1naXQgYS9Nb2R1bGVzL3NyZV9saWIuaCBiL01vZHVsZXMvc3JlX2xpYi5oCmluZGV4IDVjNmM1YTUuLjQ2M2E5MDggMTAwNjQ0Ci0tLSBhL01vZHVsZXMvc3JlX2xpYi5oCisrKyBiL01vZHVsZXMvc3JlX2xpYi5oCkBAIC0xMDEsNyArMTAxLDcgQEAKIH0KIAogTE9DQUwoaW50KQotU1JFKGNoYXJzZXQpKFNSRV9DT0RFKiBzZXQsIFNSRV9DT0RFIGNoKQorU1JFKGNoYXJzZXQpKFNSRV9TVEFURSogc3RhdGUsIFNSRV9DT0RFKiBzZXQsIFNSRV9DT0RFIGNoKQogewogICAgIC8qIGNoZWNrIGlmIGNoYXJhY3RlciBpcyBhIG1lbWJlciBvZiB0aGUgZ2l2ZW4gc2V0ICovCiAKQEAgLTE0Miw2ICsxNDIsMjAgQEAKICAgICAgICAgICAgIHNldCArPSAyOwogICAgICAgICAgICAgYnJlYWs7CiAKKyAgICAgICAgY2FzZSBTUkVfT1BfUkFOR0VfSUdOT1JFOgorICAgICAgICAgICAgLyogPFJBTkdFX0lHTk9SRT4gPGxvd2VyPiA8dXBwZXI+ICovCisgICAgICAgIHsKKyAgICAgICAgICAgIFNSRV9DT0RFIHVjaDsKKyAgICAgICAgICAgIC8qIGNoIGlzIGFscmVhZHkgbG93ZXIgY2FzZWQgKi8KKyAgICAgICAgICAgIGlmIChzZXRbMF0gPD0gY2ggJiYgY2ggPD0gc2V0WzFdKQorICAgICAgICAgICAgICAgIHJldHVybiBvazsKKyAgICAgICAgICAgIHVjaCA9IHN0YXRlLT51cHBlcihjaCk7CisgICAgICAgICAgICBpZiAoc2V0WzBdIDw9IHVjaCAmJiB1Y2ggPD0gc2V0WzFdKQorICAgICAgICAgICAgICAgIHJldHVybiBvazsKKyAgICAgICAgICAgIHNldCArPSAyOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKwogICAgICAgICBjYXNlIFNSRV9PUF9ORUdBVEU6CiAgICAgICAgICAgICBvayA9ICFvazsKICAgICAgICAgICAgIGJyZWFrOwpAQCAtMTkzLDcgKzIwNyw3IEBACiAgICAgY2FzZSBTUkVfT1BfSU46CiAgICAgICAgIC8qIHJlcGVhdGVkIHNldCAqLwogICAgICAgICBUUkFDRSgoInwlcHwlcHxDT1VOVCBJTlxuIiwgcGF0dGVybiwgcHRyKSk7Ci0gICAgICAgIHdoaWxlIChwdHIgPCBlbmQgJiYgU1JFKGNoYXJzZXQpKHBhdHRlcm4gKyAyLCAqcHRyKSkKKyAgICAgICAgd2hpbGUgKHB0ciA8IGVuZCAmJiBTUkUoY2hhcnNldCkoc3RhdGUsIHBhdHRlcm4gKyAyLCAqcHRyKSkKICAgICAgICAgICAgIHB0cisrOwogICAgICAgICBicmVhazsKIApAQCAtNjI4LDcgKzY0Miw4IEBACiAgICAgICAgICAgICAvKiBtYXRjaCBzZXQgbWVtYmVyIChvciBub25fbWVtYmVyKSAqLwogICAgICAgICAgICAgLyogPElOPiA8c2tpcD4gPHNldD4gKi8KICAgICAgICAgICAgIFRSQUNFKCgifCVwfCVwfElOXG4iLCBjdHgtPnBhdHRlcm4sIGN0eC0+cHRyKSk7Ci0gICAgICAgICAgICBpZiAoY3R4LT5wdHIgPj0gZW5kIHx8ICFTUkUoY2hhcnNldCkoY3R4LT5wYXR0ZXJuICsgMSwgKmN0eC0+cHRyKSkKKyAgICAgICAgICAgIGlmIChjdHgtPnB0ciA+PSBlbmQgfHwKKyAgICAgICAgICAgICAgICAhU1JFKGNoYXJzZXQpKHN0YXRlLCBjdHgtPnBhdHRlcm4gKyAxLCAqY3R4LT5wdHIpKQogICAgICAgICAgICAgICAgIFJFVFVSTl9GQUlMVVJFOwogICAgICAgICAgICAgY3R4LT5wYXR0ZXJuICs9IGN0eC0+cGF0dGVyblswXTsKICAgICAgICAgICAgIGN0eC0+cHRyKys7CkBAIC02NTcsNyArNjcyLDcgQEAKICAgICAgICAgY2FzZSBTUkVfT1BfSU5fSUdOT1JFOgogICAgICAgICAgICAgVFJBQ0UoKCJ8JXB8JXB8SU5fSUdOT1JFXG4iLCBjdHgtPnBhdHRlcm4sIGN0eC0+cHRyKSk7CiAgICAgICAgICAgICBpZiAoY3R4LT5wdHIgPj0gZW5kCi0gICAgICAgICAgICAgICAgfHwgIVNSRShjaGFyc2V0KShjdHgtPnBhdHRlcm4rMSwKKyAgICAgICAgICAgICAgICB8fCAhU1JFKGNoYXJzZXQpKHN0YXRlLCBjdHgtPnBhdHRlcm4rMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChTUkVfQ09ERSlzdGF0ZS0+bG93ZXIoKmN0eC0+cHRyKSkpCiAgICAgICAgICAgICAgICAgUkVUVVJOX0ZBSUxVUkU7CiAgICAgICAgICAgICBjdHgtPnBhdHRlcm4gKz0gY3R4LT5wYXR0ZXJuWzBdOwpAQCAtNjg4LDcgKzcwMyw4IEBACiAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgICAgIGlmIChjdHgtPnBhdHRlcm5bMV0gPT0gU1JFX09QX0lOICYmCiAgICAgICAgICAgICAgICAgICAgIChjdHgtPnB0ciA+PSBlbmQgfHwKLSAgICAgICAgICAgICAgICAgICAgICFTUkUoY2hhcnNldCkoY3R4LT5wYXR0ZXJuICsgMywgKFNSRV9DT0RFKSAqY3R4LT5wdHIpKSkKKyAgICAgICAgICAgICAgICAgICAgICFTUkUoY2hhcnNldCkoc3RhdGUsIGN0eC0+cGF0dGVybiArIDMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChTUkVfQ09ERSkgKmN0eC0+cHRyKSkpCiAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgICAgIHN0YXRlLT5wdHIgPSBjdHgtPnB0cjsKICAgICAgICAgICAgICAgICBET19KVU1QKEpVTVBfQlJBTkNILCBqdW1wX2JyYW5jaCwgY3R4LT5wYXR0ZXJuKzEpOwpAQCAtMTMxMCw3ICsxMzI2LDcgQEAKICAgICAgICAgLyogcGF0dGVybiBzdGFydHMgd2l0aCBhIGNoYXJhY3RlciBmcm9tIGEga25vd24gc2V0ICovCiAgICAgICAgIGVuZCA9IChTUkVfQ0hBUiAqKXN0YXRlLT5lbmQ7CiAgICAgICAgIGZvciAoOzspIHsKLSAgICAgICAgICAgIHdoaWxlIChwdHIgPCBlbmQgJiYgIVNSRShjaGFyc2V0KShjaGFyc2V0LCAqcHRyKSkKKyAgICAgICAgICAgIHdoaWxlIChwdHIgPCBlbmQgJiYgIVNSRShjaGFyc2V0KShzdGF0ZSwgY2hhcnNldCwgKnB0cikpCiAgICAgICAgICAgICAgICAgcHRyKys7CiAgICAgICAgICAgICBpZiAocHRyID49IGVuZCkKICAgICAgICAgICAgICAgICByZXR1cm4gMDsKZGlmZiAtLWdpdCBhL01vZHVsZXMvdGltZW1vZHVsZS5jIGIvTW9kdWxlcy90aW1lbW9kdWxlLmMKaW5kZXggZDA5MTdhNC4uN2Y1ZjMxNCAxMDA2NDQKLS0tIGEvTW9kdWxlcy90aW1lbW9kdWxlLmMKKysrIGIvTW9kdWxlcy90aW1lbW9kdWxlLmMKQEAgLTI3LDI4ICsyNywxMyBAQAogI2RlZmluZSBXSU4zMl9MRUFOX0FORF9NRUFOCiAjaW5jbHVkZSA8d2luZG93cy5oPgogI2luY2x1ZGUgInB5dGhyZWFkLmgiCi0KLSNpZiBkZWZpbmVkKF9fQk9STEFORENfXykKLS8qIFRoZXNlIG92ZXJyaWRlcyBub3QgbmVlZGVkIGZvciBXaW4zMiAqLwotI2RlZmluZSB0aW1lem9uZSBfdGltZXpvbmUKLSNkZWZpbmUgdHpuYW1lIF90em5hbWUKLSNkZWZpbmUgZGF5bGlnaHQgX2RheWxpZ2h0Ci0jZW5kaWYgLyogX19CT1JMQU5EQ19fICovCiAjZW5kaWYgLyogTVNfV0lORE9XUyAqLwogI2VuZGlmIC8qICFfX1dBVENPTUNfXyB8fCBfX1FOWF9fICovCiAKLSNpZiBkZWZpbmVkKF9fQVBQTEVfXykKLSNpbmNsdWRlIDxtYWNoL21hY2hfdGltZS5oPgotI2VuZGlmCi0KIC8qIEZvcndhcmQgZGVjbGFyYXRpb25zICovCiBzdGF0aWMgaW50IGZsb2F0c2xlZXAoZG91YmxlKTsKIHN0YXRpYyBQeU9iamVjdCogZmxvYXR0aW1lKF9QeV9jbG9ja19pbmZvX3QgKmluZm8pOwogCi0jaWZkZWYgTVNfV0lORE9XUwotc3RhdGljIE9TVkVSU0lPTklORk9FWCB3aW52ZXI7Ci0jZW5kaWYKLQogc3RhdGljIFB5T2JqZWN0ICoKIHRpbWVfdGltZShQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKnVudXNlZCkKIHsKQEAgLTkyLDEyICs3NywxMiBAQAogfQogI2VuZGlmIC8qIEhBVkVfQ0xPQ0sgKi8KIAotI2lmIGRlZmluZWQoTVNfV0lORE9XUykgJiYgIWRlZmluZWQoX19CT1JMQU5EQ19fKQorI2lmZGVmIE1TX1dJTkRPV1MKICNkZWZpbmUgV0lOMzJfUEVSRl9DT1VOVEVSCiAvKiBXaW4zMiBoYXMgYmV0dGVyIGNsb2NrIHJlcGxhY2VtZW50OyB3ZSBoYXZlIG91ciBvd24gdmVyc2lvbiwgZHVlIHRvIE1hcmsKICAgIEhhbW1vbmQgYW5kIFRpbSBQZXRlcnMgKi8KLXN0YXRpYyBpbnQKLXdpbl9wZXJmX2NvdW50ZXIoX1B5X2Nsb2NrX2luZm9fdCAqaW5mbywgUHlPYmplY3QgKipyZXN1bHQpCitzdGF0aWMgUHlPYmplY3QqCit3aW5fcGVyZl9jb3VudGVyKF9QeV9jbG9ja19pbmZvX3QgKmluZm8pCiB7CiAgICAgc3RhdGljIExPTkdMT05HIGNwdV9mcmVxdWVuY3kgPSAwOwogICAgIHN0YXRpYyBMT05HTE9ORyBjdHJTdGFydDsKQEAgLTEwOSwxMCArOTQsOCBAQAogICAgICAgICBRdWVyeVBlcmZvcm1hbmNlQ291bnRlcigmbm93KTsKICAgICAgICAgY3RyU3RhcnQgPSBub3cuUXVhZFBhcnQ7CiAgICAgICAgIGlmICghUXVlcnlQZXJmb3JtYW5jZUZyZXF1ZW5jeSgmZnJlcSkgfHwgZnJlcS5RdWFkUGFydCA9PSAwKSB7Ci0gICAgICAgICAgICAvKiBVbmxpa2VseSB0byBoYXBwZW4gLSB0aGlzIHdvcmtzIG9uIGFsbCBpbnRlbAotICAgICAgICAgICAgICAgbWFjaGluZXMgYXQgbGVhc3QhICBSZXZlcnQgdG8gY2xvY2soKSAqLwotICAgICAgICAgICAgKnJlc3VsdCA9IE5VTEw7Ci0gICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgICAgICBQeUVycl9TZXRGcm9tV2luZG93c0VycigwKTsKKyAgICAgICAgICAgIHJldHVybiBOVUxMOwogICAgICAgICB9CiAgICAgICAgIGNwdV9mcmVxdWVuY3kgPSBmcmVxLlF1YWRQYXJ0OwogICAgIH0KQEAgLTEyNCwxMCArMTA3LDkgQEAKICAgICAgICAgaW5mby0+bW9ub3RvbmljID0gMTsKICAgICAgICAgaW5mby0+YWRqdXN0YWJsZSA9IDA7CiAgICAgfQotICAgICpyZXN1bHQgPSBQeUZsb2F0X0Zyb21Eb3VibGUoZGlmZiAvIChkb3VibGUpY3B1X2ZyZXF1ZW5jeSk7Ci0gICAgcmV0dXJuIDA7CisgICAgcmV0dXJuIFB5RmxvYXRfRnJvbURvdWJsZShkaWZmIC8gKGRvdWJsZSljcHVfZnJlcXVlbmN5KTsKIH0KLSNlbmRpZgorI2VuZGlmICAgLyogTVNfV0lORE9XUyAqLwogCiAjaWYgZGVmaW5lZChXSU4zMl9QRVJGX0NPVU5URVIpIHx8IGRlZmluZWQoSEFWRV9DTE9DSykKICNkZWZpbmUgUFlDTE9DSwpAQCAtMTM1LDExICsxMTcsMTAgQEAKIHB5Y2xvY2soX1B5X2Nsb2NrX2luZm9fdCAqaW5mbykKIHsKICNpZmRlZiBXSU4zMl9QRVJGX0NPVU5URVIKLSAgICBQeU9iamVjdCAqcmVzOwotICAgIGlmICh3aW5fcGVyZl9jb3VudGVyKGluZm8sICZyZXMpID09IDApCi0gICAgICAgIHJldHVybiByZXM7Ci0jZW5kaWYKKyAgICByZXR1cm4gd2luX3BlcmZfY291bnRlcihpbmZvKTsKKyNlbHNlCiAgICAgcmV0dXJuIGZsb2F0Y2xvY2soaW5mbyk7CisjZW5kaWYKIH0KIAogc3RhdGljIFB5T2JqZWN0ICoKQEAgLTE2OSw3ICsxNTAsNyBAQAogCiAgICAgcmV0ID0gY2xvY2tfZ2V0dGltZSgoY2xvY2tpZF90KWNsa19pZCwgJnRwKTsKICAgICBpZiAocmV0ICE9IDApIHsKLSAgICAgICAgUHlFcnJfU2V0RnJvbUVycm5vKFB5RXhjX0lPRXJyb3IpOworICAgICAgICBQeUVycl9TZXRGcm9tRXJybm8oUHlFeGNfT1NFcnJvcik7CiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KICAgICByZXR1cm4gUHlGbG9hdF9Gcm9tRG91YmxlKHRwLnR2X3NlYyArIHRwLnR2X25zZWMgKiAxZS05KTsKQEAgLTIwMCw3ICsxODEsNyBAQAogCiAgICAgcmV0ID0gY2xvY2tfc2V0dGltZSgoY2xvY2tpZF90KWNsa19pZCwgJnRwKTsKICAgICBpZiAocmV0ICE9IDApIHsKLSAgICAgICAgUHlFcnJfU2V0RnJvbUVycm5vKFB5RXhjX0lPRXJyb3IpOworICAgICAgICBQeUVycl9TZXRGcm9tRXJybm8oUHlFeGNfT1NFcnJvcik7CiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KICAgICBQeV9SRVRVUk5fTk9ORTsKQEAgLTIyMyw3ICsyMDQsNyBAQAogCiAgICAgcmV0ID0gY2xvY2tfZ2V0cmVzKChjbG9ja2lkX3QpY2xrX2lkLCAmdHApOwogICAgIGlmIChyZXQgIT0gMCkgewotICAgICAgICBQeUVycl9TZXRGcm9tRXJybm8oUHlFeGNfSU9FcnJvcik7CisgICAgICAgIFB5RXJyX1NldEZyb21FcnJubyhQeUV4Y19PU0Vycm9yKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQogCkBAIC05MDMsMTIyICs4ODQsMTUgQEAKIHNob3VsZCBub3QgYmUgcmVsaWVkIG9uLiIpOwogI2VuZGlmIC8qIEhBVkVfV09SS0lOR19UWlNFVCAqLwogCi0jaWYgZGVmaW5lZChNU19XSU5ET1dTKSB8fCBkZWZpbmVkKF9fQVBQTEVfXykgXAotICAgIHx8IChkZWZpbmVkKEhBVkVfQ0xPQ0tfR0VUVElNRSkgXAotICAgICAgICAmJiAoZGVmaW5lZChDTE9DS19ISUdIUkVTKSB8fCBkZWZpbmVkKENMT0NLX01PTk9UT05JQykpKQotI2RlZmluZSBQWU1PTk9UT05JQwotI2VuZGlmCi0KLSNpZmRlZiBQWU1PTk9UT05JQwotc3RhdGljIFB5T2JqZWN0Kgorc3RhdGljIFB5T2JqZWN0ICoKIHB5bW9ub3RvbmljKF9QeV9jbG9ja19pbmZvX3QgKmluZm8pCiB7Ci0jaWYgZGVmaW5lZChNU19XSU5ET1dTKQotICAgIHN0YXRpYyBVTE9OR0xPTkcgKCpHZXRUaWNrQ291bnQ2NCkgKHZvaWQpID0gTlVMTDsKLSAgICBzdGF0aWMgVUxPTkdMT05HIChDQUxMQkFDSyAqUHlfR2V0VGlja0NvdW50NjQpKHZvaWQpOwotICAgIHN0YXRpYyBpbnQgaGFzX2dldGlja2NvdW50NjQgPSAtMTsKLSAgICBkb3VibGUgcmVzdWx0OwotCi0gICAgaWYgKGhhc19nZXRpY2tjb3VudDY0ID09IC0xKSB7Ci0gICAgICAgIC8qIEdldFRpY2tDb3VudDY0KCkgd2FzIGFkZGVkIHRvIFdpbmRvd3MgVmlzdGEgKi8KLSAgICAgICAgaWYgKHdpbnZlci5kd01ham9yVmVyc2lvbiA+PSA2KSB7Ci0gICAgICAgICAgICBISU5TVEFOQ0UgaEtlcm5lbDMyOwotICAgICAgICAgICAgaEtlcm5lbDMyID0gR2V0TW9kdWxlSGFuZGxlVyhMIktFUk5FTDMyIik7Ci0gICAgICAgICAgICAqKEZBUlBST0MqKSZQeV9HZXRUaWNrQ291bnQ2NCA9IEdldFByb2NBZGRyZXNzKGhLZXJuZWwzMiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkdldFRpY2tDb3VudDY0Iik7Ci0gICAgICAgICAgICBoYXNfZ2V0aWNrY291bnQ2NCA9IChQeV9HZXRUaWNrQ291bnQ2NCAhPSBOVUxMKTsKLSAgICAgICAgfQotICAgICAgICBlbHNlCi0gICAgICAgICAgICBoYXNfZ2V0aWNrY291bnQ2NCA9IDA7Ci0gICAgfQotCi0gICAgaWYgKGhhc19nZXRpY2tjb3VudDY0KSB7Ci0gICAgICAgIFVMT05HTE9ORyB0aWNrczsKLSAgICAgICAgdGlja3MgPSBQeV9HZXRUaWNrQ291bnQ2NCgpOwotICAgICAgICByZXN1bHQgPSAoZG91YmxlKXRpY2tzICogMWUtMzsKLSAgICB9Ci0gICAgZWxzZSB7Ci0gICAgICAgIHN0YXRpYyBEV09SRCBsYXN0X3RpY2tzID0gMDsKLSAgICAgICAgc3RhdGljIERXT1JEIG5fb3ZlcmZsb3cgPSAwOwotICAgICAgICBEV09SRCB0aWNrczsKLQotICAgICAgICB0aWNrcyA9IEdldFRpY2tDb3VudCgpOwotICAgICAgICBpZiAodGlja3MgPCBsYXN0X3RpY2tzKQotICAgICAgICAgICAgbl9vdmVyZmxvdysrOwotICAgICAgICBsYXN0X3RpY2tzID0gdGlja3M7Ci0KLSAgICAgICAgcmVzdWx0ID0gbGRleHAobl9vdmVyZmxvdywgMzIpOwotICAgICAgICByZXN1bHQgKz0gdGlja3M7Ci0gICAgICAgIHJlc3VsdCAqPSAxZS0zOwotICAgIH0KLQotICAgIGlmIChpbmZvKSB7Ci0gICAgICAgIERXT1JEIHRpbWVBZGp1c3RtZW50LCB0aW1lSW5jcmVtZW50OwotICAgICAgICBCT09MIGlzVGltZUFkanVzdG1lbnREaXNhYmxlZCwgb2s7Ci0gICAgICAgIGlmIChoYXNfZ2V0aWNrY291bnQ2NCkKLSAgICAgICAgICAgIGluZm8tPmltcGxlbWVudGF0aW9uID0gIkdldFRpY2tDb3VudDY0KCkiOwotICAgICAgICBlbHNlCi0gICAgICAgICAgICBpbmZvLT5pbXBsZW1lbnRhdGlvbiA9ICJHZXRUaWNrQ291bnQoKSI7Ci0gICAgICAgIGluZm8tPm1vbm90b25pYyA9IDE7Ci0gICAgICAgIG9rID0gR2V0U3lzdGVtVGltZUFkanVzdG1lbnQoJnRpbWVBZGp1c3RtZW50LCAmdGltZUluY3JlbWVudCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmaXNUaW1lQWRqdXN0bWVudERpc2FibGVkKTsKLSAgICAgICAgaWYgKCFvaykgewotICAgICAgICAgICAgUHlFcnJfU2V0RnJvbVdpbmRvd3NFcnIoMCk7Ci0gICAgICAgICAgICByZXR1cm4gTlVMTDsKLSAgICAgICAgfQotICAgICAgICBpbmZvLT5yZXNvbHV0aW9uID0gdGltZUluY3JlbWVudCAqIDFlLTc7Ci0gICAgICAgIGluZm8tPmFkanVzdGFibGUgPSAwOwotICAgIH0KLSAgICByZXR1cm4gUHlGbG9hdF9Gcm9tRG91YmxlKHJlc3VsdCk7Ci0KLSNlbGlmIGRlZmluZWQoX19BUFBMRV9fKQotICAgIHN0YXRpYyBtYWNoX3RpbWViYXNlX2luZm9fZGF0YV90IHRpbWViYXNlOwotICAgIHVpbnQ2NF90IHRpbWU7Ci0gICAgZG91YmxlIHNlY3M7Ci0KLSAgICBpZiAodGltZWJhc2UuZGVub20gPT0gMCkgewotICAgICAgICAvKiBBY2NvcmRpbmcgdG8gdGhlIFRlY2huaWNhbCBRJkEgUUExMzk4LCBtYWNoX3RpbWViYXNlX2luZm8oKSBjYW5ub3QKLSAgICAgICAgICAgZmFpbDogaHR0cHM6Ly9kZXZlbG9wZXIuYXBwbGUuY29tL2xpYnJhcnkvbWFjLyNxYS9xYTEzOTgvICovCi0gICAgICAgICh2b2lkKW1hY2hfdGltZWJhc2VfaW5mbygmdGltZWJhc2UpOwotICAgIH0KLQotICAgIHRpbWUgPSBtYWNoX2Fic29sdXRlX3RpbWUoKTsKLSAgICBzZWNzID0gKGRvdWJsZSl0aW1lICogdGltZWJhc2UubnVtZXIgLyB0aW1lYmFzZS5kZW5vbSAqIDFlLTk7Ci0gICAgaWYgKGluZm8pIHsKLSAgICAgICAgaW5mby0+aW1wbGVtZW50YXRpb24gPSAibWFjaF9hYnNvbHV0ZV90aW1lKCkiOwotICAgICAgICBpbmZvLT5yZXNvbHV0aW9uID0gKGRvdWJsZSl0aW1lYmFzZS5udW1lciAvIHRpbWViYXNlLmRlbm9tICogMWUtOTsKLSAgICAgICAgaW5mby0+bW9ub3RvbmljID0gMTsKLSAgICAgICAgaW5mby0+YWRqdXN0YWJsZSA9IDA7Ci0gICAgfQotICAgIHJldHVybiBQeUZsb2F0X0Zyb21Eb3VibGUoc2Vjcyk7Ci0KLSNlbGlmIGRlZmluZWQoSEFWRV9DTE9DS19HRVRUSU1FKSAmJiAoZGVmaW5lZChDTE9DS19ISUdIUkVTKSB8fCBkZWZpbmVkKENMT0NLX01PTk9UT05JQykpCi0gICAgc3RydWN0IHRpbWVzcGVjIHRwOwotI2lmZGVmIENMT0NLX0hJR0hSRVMKLSAgICBjb25zdCBjbG9ja2lkX3QgY2xrX2lkID0gQ0xPQ0tfSElHSFJFUzsKLSAgICBjb25zdCBjaGFyICpmdW5jdGlvbiA9ICJjbG9ja19nZXR0aW1lKENMT0NLX0hJR0hSRVMpIjsKLSNlbHNlCi0gICAgY29uc3QgY2xvY2tpZF90IGNsa19pZCA9IENMT0NLX01PTk9UT05JQzsKLSAgICBjb25zdCBjaGFyICpmdW5jdGlvbiA9ICJjbG9ja19nZXR0aW1lKENMT0NLX01PTk9UT05JQykiOwotI2VuZGlmCi0KLSAgICBpZiAoY2xvY2tfZ2V0dGltZShjbGtfaWQsICZ0cCkgIT0gMCkgewotICAgICAgICBQeUVycl9TZXRGcm9tRXJybm8oUHlFeGNfT1NFcnJvcik7CisgICAgX1B5VGltZV90aW1ldmFsIHR2OworICAgIGlmIChfUHlUaW1lX21vbm90b25pY19pbmZvKCZ0diwgaW5mbykgPCAwKSB7CisgICAgICAgIGFzc2VydChpbmZvICE9IE5VTEwpOwogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9Ci0KLSAgICBpZiAoaW5mbykgewotICAgICAgICBzdHJ1Y3QgdGltZXNwZWMgcmVzOwotICAgICAgICBpbmZvLT5tb25vdG9uaWMgPSAxOwotICAgICAgICBpbmZvLT5pbXBsZW1lbnRhdGlvbiA9IGZ1bmN0aW9uOwotICAgICAgICBpbmZvLT5hZGp1c3RhYmxlID0gMDsKLSAgICAgICAgaWYgKGNsb2NrX2dldHJlcyhjbGtfaWQsICZyZXMpID09IDApCi0gICAgICAgICAgICBpbmZvLT5yZXNvbHV0aW9uID0gcmVzLnR2X3NlYyArIHJlcy50dl9uc2VjICogMWUtOTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgaW5mby0+cmVzb2x1dGlvbiA9IDFlLTk7Ci0gICAgfQotICAgIHJldHVybiBQeUZsb2F0X0Zyb21Eb3VibGUodHAudHZfc2VjICsgdHAudHZfbnNlYyAqIDFlLTkpOwotI2VuZGlmCisgICAgcmV0dXJuIFB5RmxvYXRfRnJvbURvdWJsZSgoZG91YmxlKXR2LnR2X3NlYyArIHR2LnR2X3VzZWMgKiAxZS02KTsKIH0KIAogc3RhdGljIFB5T2JqZWN0ICoKQEAgLTEwMzEsNDAgKzkwNSwxNSBAQAogIm1vbm90b25pYygpIC0+IGZsb2F0XG5cCiBcblwKIE1vbm90b25pYyBjbG9jaywgY2Fubm90IGdvIGJhY2t3YXJkLiIpOwotI2VuZGlmICAgLyogUFlNT05PVE9OSUMgKi8KIAogc3RhdGljIFB5T2JqZWN0KgogcGVyZl9jb3VudGVyKF9QeV9jbG9ja19pbmZvX3QgKmluZm8pCiB7Ci0jaWYgZGVmaW5lZChXSU4zMl9QRVJGX0NPVU5URVIpIHx8IGRlZmluZWQoUFlNT05PVE9OSUMpCi0gICAgUHlPYmplY3QgKnJlczsKLSNlbmRpZgotI2lmIGRlZmluZWQoV0lOMzJfUEVSRl9DT1VOVEVSKQotICAgIHN0YXRpYyBpbnQgdXNlX3BlcmZfY291bnRlciA9IDE7Ci0jZW5kaWYKLSNpZmRlZiBQWU1PTk9UT05JQwotICAgIHN0YXRpYyBpbnQgdXNlX21vbm90b25pYyA9IDE7Ci0jZW5kaWYKLQogI2lmZGVmIFdJTjMyX1BFUkZfQ09VTlRFUgotICAgIGlmICh1c2VfcGVyZl9jb3VudGVyKSB7Ci0gICAgICAgIGlmICh3aW5fcGVyZl9jb3VudGVyKGluZm8sICZyZXMpID09IDApCi0gICAgICAgICAgICByZXR1cm4gcmVzOwotICAgICAgICB1c2VfcGVyZl9jb3VudGVyID0gMDsKLSAgICB9CisgICAgcmV0dXJuIHdpbl9wZXJmX2NvdW50ZXIoaW5mbyk7CisjZWxzZQorICAgIHJldHVybiBweW1vbm90b25pYyhpbmZvKTsKICNlbmRpZgotCi0jaWZkZWYgUFlNT05PVE9OSUMKLSAgICBpZiAodXNlX21vbm90b25pYykgewotICAgICAgICByZXMgPSBweW1vbm90b25pYyhpbmZvKTsKLSAgICAgICAgaWYgKHJlcyAhPSBOVUxMKQotICAgICAgICAgICAgcmV0dXJuIHJlczsKLSAgICAgICAgdXNlX21vbm90b25pYyA9IDA7Ci0gICAgICAgIFB5RXJyX0NsZWFyKCk7Ci0gICAgfQotI2VuZGlmCi0KLSAgICByZXR1cm4gZmxvYXR0aW1lKGluZm8pOwogfQogCiBzdGF0aWMgUHlPYmplY3QgKgpAQCAtMTIzMSwxMCArMTA4MCw4IEBACiAgICAgZWxzZSBpZiAoc3RyY21wKG5hbWUsICJjbG9jayIpID09IDApCiAgICAgICAgIG9iaiA9IHB5Y2xvY2soJmluZm8pOwogI2VuZGlmCi0jaWZkZWYgUFlNT05PVE9OSUMKICAgICBlbHNlIGlmIChzdHJjbXAobmFtZSwgIm1vbm90b25pYyIpID09IDApCiAgICAgICAgIG9iaiA9IHB5bW9ub3RvbmljKCZpbmZvKTsKLSNlbmRpZgogICAgIGVsc2UgaWYgKHN0cmNtcChuYW1lLCAicGVyZl9jb3VudGVyIikgPT0gMCkKICAgICAgICAgb2JqID0gcGVyZl9jb3VudGVyKCZpbmZvKTsKICAgICBlbHNlIGlmIChzdHJjbXAobmFtZSwgInByb2Nlc3NfdGltZSIpID09IDApCkBAIC0xNDI2LDkgKzEyNzMsNyBAQAogI2lmZGVmIEhBVkVfV09SS0lOR19UWlNFVAogICAgIHsidHpzZXQiLCAgICAgICAgICAgdGltZV90enNldCwgTUVUSF9OT0FSR1MsIHR6c2V0X2RvY30sCiAjZW5kaWYKLSNpZmRlZiBQWU1PTk9UT05JQwogICAgIHsibW9ub3RvbmljIiwgICAgICAgdGltZV9tb25vdG9uaWMsIE1FVEhfTk9BUkdTLCBtb25vdG9uaWNfZG9jfSwKLSNlbmRpZgogICAgIHsicHJvY2Vzc190aW1lIiwgICAgdGltZV9wcm9jZXNzX3RpbWUsIE1FVEhfTk9BUkdTLCBwcm9jZXNzX3RpbWVfZG9jfSwKICAgICB7InBlcmZfY291bnRlciIsICAgIHRpbWVfcGVyZl9jb3VudGVyLCBNRVRIX05PQVJHUywgcGVyZl9jb3VudGVyX2RvY30sCiAgICAgeyJnZXRfY2xvY2tfaW5mbyIsICB0aW1lX2dldF9jbG9ja19pbmZvLCBNRVRIX1ZBUkFSR1MsIGdldF9jbG9ja19pbmZvX2RvY30sCkBAIC0xNTEwLDE1ICsxMzU1LDYgQEAKICAgICAgICAgaWYgKFB5U3RydWN0U2VxdWVuY2VfSW5pdFR5cGUyKCZTdHJ1Y3RUaW1lVHlwZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZzdHJ1Y3RfdGltZV90eXBlX2Rlc2MpIDwgMCkKICAgICAgICAgICAgIHJldHVybiBOVUxMOwotCi0jaWZkZWYgTVNfV0lORE9XUwotICAgICAgICB3aW52ZXIuZHdPU1ZlcnNpb25JbmZvU2l6ZSA9IHNpemVvZih3aW52ZXIpOwotICAgICAgICBpZiAoIUdldFZlcnNpb25FeCgoT1NWRVJTSU9OSU5GTyopJndpbnZlcikpIHsKLSAgICAgICAgICAgIFB5X0RFQ1JFRihtKTsKLSAgICAgICAgICAgIFB5RXJyX1NldEZyb21XaW5kb3dzRXJyKDApOwotICAgICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgICAgIH0KLSNlbmRpZgogICAgIH0KICAgICBQeV9JTkNSRUYoJlN0cnVjdFRpbWVUeXBlKTsKICNpZmRlZiBIQVZFX1NUUlVDVF9UTV9UTV9aT05FCkBAIC0xNTM1LDI5ICsxMzcxLDEwIEBACiBmbG9hdHRpbWUoX1B5X2Nsb2NrX2luZm9fdCAqaW5mbykKIHsKICAgICBfUHlUaW1lX3RpbWV2YWwgdDsKLSNpZmRlZiBIQVZFX0NMT0NLX0dFVFRJTUUKLSAgICBzdHJ1Y3QgdGltZXNwZWMgdHA7Ci0gICAgaW50IHJldDsKLQotICAgIC8qIF9QeVRpbWVfZ2V0dGltZW9mZGF5KCkgZG9lcyBub3QgdXNlIGNsb2NrX2dldHRpbWUoKQotICAgICAgIGJlY2F1c2UgaXQgd291bGQgcmVxdWlyZSB0byBsaW5rIFB5dGhvbiB0byB0aGUgcnQgKHJlYWwtdGltZSkKLSAgICAgICBsaWJyYXJ5LCBhdCBsZWFzdCBvbiBMaW51eCAqLwotICAgIHJldCA9IGNsb2NrX2dldHRpbWUoQ0xPQ0tfUkVBTFRJTUUsICZ0cCk7Ci0gICAgaWYgKHJldCA9PSAwKSB7Ci0gICAgICAgIGlmIChpbmZvKSB7Ci0gICAgICAgICAgICBzdHJ1Y3QgdGltZXNwZWMgcmVzOwotICAgICAgICAgICAgaW5mby0+aW1wbGVtZW50YXRpb24gPSAiY2xvY2tfZ2V0dGltZShDTE9DS19SRUFMVElNRSkiOwotICAgICAgICAgICAgaW5mby0+bW9ub3RvbmljID0gMDsKLSAgICAgICAgICAgIGluZm8tPmFkanVzdGFibGUgPSAxOwotICAgICAgICAgICAgaWYgKGNsb2NrX2dldHJlcyhDTE9DS19SRUFMVElNRSwgJnJlcykgPT0gMCkKLSAgICAgICAgICAgICAgICBpbmZvLT5yZXNvbHV0aW9uID0gcmVzLnR2X3NlYyArIHJlcy50dl9uc2VjICogMWUtOTsKLSAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICBpbmZvLT5yZXNvbHV0aW9uID0gMWUtOTsKLSAgICAgICAgfQotICAgICAgICByZXR1cm4gUHlGbG9hdF9Gcm9tRG91YmxlKHRwLnR2X3NlYyArIHRwLnR2X25zZWMgKiAxZS05KTsKKyAgICBpZiAoX1B5VGltZV9nZXR0aW1lb2ZkYXlfaW5mbygmdCwgaW5mbykgPCAwKSB7CisgICAgICAgIGFzc2VydChpbmZvICE9IE5VTEwpOworICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9Ci0jZW5kaWYKLSAgICBfUHlUaW1lX2dldHRpbWVvZmRheV9pbmZvKCZ0LCBpbmZvKTsKICAgICByZXR1cm4gUHlGbG9hdF9Gcm9tRG91YmxlKChkb3VibGUpdC50dl9zZWMgKyB0LnR2X3VzZWMgKiAxZS02KTsKIH0KIApAQCAtMTU5MSw3ICsxNDA4LDcgQEAKICAgICAgICAgZWxzZQogI2VuZGlmCiAgICAgICAgIHsKLSAgICAgICAgICAgIFB5RXJyX1NldEZyb21FcnJubyhQeUV4Y19JT0Vycm9yKTsKKyAgICAgICAgICAgIFB5RXJyX1NldEZyb21FcnJubyhQeUV4Y19PU0Vycm9yKTsKICAgICAgICAgICAgIHJldHVybiAtMTsKICAgICAgICAgfQogICAgIH0KQEAgLTE2MjUsNyArMTQ0Miw3IEBACiAgICAgICAgICAgICBpZiAocmMgPT0gV0FJVF9PQkpFQ1RfMCkgewogICAgICAgICAgICAgICAgIFB5X0JMT0NLX1RIUkVBRFMKICAgICAgICAgICAgICAgICBlcnJubyA9IEVJTlRSOwotICAgICAgICAgICAgICAgIFB5RXJyX1NldEZyb21FcnJubyhQeUV4Y19JT0Vycm9yKTsKKyAgICAgICAgICAgICAgICBQeUVycl9TZXRGcm9tRXJybm8oUHlFeGNfT1NFcnJvcik7CiAgICAgICAgICAgICAgICAgcmV0dXJuIC0xOwogICAgICAgICAgICAgfQogICAgICAgICB9CmRpZmYgLS1naXQgYS9Nb2R1bGVzL3RrYXBwaW5pdC5jIGIvTW9kdWxlcy90a2FwcGluaXQuYwppbmRleCAyZWQ4NTk0Li43NjE2ZDlkIDEwMDY0NAotLS0gYS9Nb2R1bGVzL3RrYXBwaW5pdC5jCisrKyBiL01vZHVsZXMvdGthcHBpbml0LmMKQEAgLTI2LDkgKzI2LDYgQEAKIGludAogVGNsX0FwcEluaXQoVGNsX0ludGVycCAqaW50ZXJwKQogewotI2lmZGVmIFdJVEhfTU9SRUJVVFRPTlMKLSAgICBUa19XaW5kb3cgbWFpbl93aW5kb3c7Ci0jZW5kaWYKICAgICBjb25zdCBjaGFyICpfdGtpbnRlcl9za2lwX3RrX2luaXQ7CiAjaWZkZWYgVEtJTlRFUl9QUk9URUNUX0xPQURUSwogICAgIGNvbnN0IGNoYXIgKl90a2ludGVyX3RrX2ZhaWxlZDsKQEAgLTExMywyOSArMTEwLDEzIEBACiAgICAgICAgIHJldHVybiBUQ0xfRVJST1I7CiAgICAgfQogCi0jaWZkZWYgV0lUSF9NT1JFQlVUVE9OUwotICAgIG1haW5fd2luZG93ID0gVGtfTWFpbldpbmRvdyhpbnRlcnApOwotI2Vsc2UKICAgICBUa19NYWluV2luZG93KGludGVycCk7Ci0jZW5kaWYKIAogI2lmZGVmIFRLX0FRVUEKICAgICBUa01hY09TWEluaXRBcHBsZUV2ZW50cyhpbnRlcnApOwogICAgIFRrTWFjT1NYSW5pdE1lbnVzKGludGVycCk7CiAjZW5kaWYKIAotI2lmZGVmIFdJVEhfTU9SRUJVVFRPTlMKLSAgICB7Ci0gICAgICAgIGV4dGVybiBUY2xfQ21kUHJvYyBzdHVkQnV0dG9uQ21kOwotICAgICAgICBleHRlcm4gVGNsX0NtZFByb2MgdHJpQnV0dG9uQ21kOwotCi0gICAgICAgIFRjbF9DcmVhdGVDb21tYW5kKGludGVycCwgInN0dWRidXR0b24iLCBzdHVkQnV0dG9uQ21kLAotICAgICAgICAgICAgICAgICAgICAgICAgICAoQ2xpZW50RGF0YSkgbWFpbl93aW5kb3csIE5VTEwpOwotICAgICAgICBUY2xfQ3JlYXRlQ29tbWFuZChpbnRlcnAsICJ0cmlidXR0b24iLCB0cmlCdXR0b25DbWQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIChDbGllbnREYXRhKSBtYWluX3dpbmRvdywgTlVMTCk7Ci0gICAgfQotI2VuZGlmCi0KICNpZmRlZiBXSVRIX1BJTCAvKiAwLjJiNSBhbmQgbGF0ZXIgLS0gbm90IHlldCByZWxlYXNlZCBhcyBvZiBNYXkgMTQgKi8KICAgICB7CiAgICAgICAgIGV4dGVybiB2b2lkIFRrSW1hZ2luZ19Jbml0KFRjbF9JbnRlcnAgKik7CmRpZmYgLS1naXQgYS9Nb2R1bGVzL3VuaWNvZGVkYXRhX2RiLmggYi9Nb2R1bGVzL3VuaWNvZGVkYXRhX2RiLmgKaW5kZXggZWMxMWZhMS4uYTc5MTMyZiAxMDA2NDQKLS0tIGEvTW9kdWxlcy91bmljb2RlZGF0YV9kYi5oCisrKyBiL01vZHVsZXMvdW5pY29kZWRhdGFfZGIuaApAQCAtMSw2ICsxLDYgQEAKIC8qIHRoaXMgZmlsZSB3YXMgZ2VuZXJhdGVkIGJ5IFRvb2xzL3VuaWNvZGUvbWFrZXVuaWNvZGVkYXRhLnB5IDMuMiAqLwogCi0jZGVmaW5lIFVOSURBVEFfVkVSU0lPTiAiNi4zLjAiCisjZGVmaW5lIFVOSURBVEFfVkVSU0lPTiAiNy4wLjAiCiAvKiBhIGxpc3Qgb2YgdW5pcXVlIGRhdGFiYXNlIHJlY29yZHMgKi8KIGNvbnN0IF9QeVVuaWNvZGVfRGF0YWJhc2VSZWNvcmQgX1B5VW5pY29kZV9EYXRhYmFzZV9SZWNvcmRzW10gPSB7CiAgICAgezAsIDAsIDAsIDAsIDAsIDB9LApAQCAtMzIzLDcgKzMyMyw5IEBACiAgICAgezI3LCAwLCAxOSwgMCwgMSwgMTM2fSwKICAgICB7MTQsIDAsIDE5LCAwLCA1LCAwfSwKICAgICB7OCwgMCwgMTksIDAsIDUsIDB9LAorICAgIHs5LCAwLCA5LCAwLCA1LCAwfSwKICAgICB7OSwgMCwgNCwgMCwgNSwgMH0sCisgICAgezMwLCAwLCA0LCAwLCA1LCAwfSwKICAgICB7OSwgMCwgMTIsIDAsIDUsIDB9LAogICAgIHszMCwgMCwgMSwgMCwgNSwgMTcwfSwKICAgICB7NSwgMjE2LCAxLCAwLCA1LCAwfSwKQEAgLTMzNSw4ICszMzcsOCBAQAogfTsKIAogLyogUmVpbmRleGluZyBvZiBORkMgZmlyc3QgY2hhcmFjdGVycy4gKi8KLSNkZWZpbmUgVE9UQUxfRklSU1QgMzcyCi0jZGVmaW5lIFRPVEFMX0xBU1QgNTYKKyNkZWZpbmUgVE9UQUxfRklSU1QgMzc2CisjZGVmaW5lIFRPVEFMX0xBU1QgNjIKIHN0cnVjdCByZWluZGV4e2ludCBzdGFydDtzaG9ydCBjb3VudCxpbmRleDt9Owogc3RhdGljIHN0cnVjdCByZWluZGV4IG5mY19maXJzdFtdID0gewogICB7IDYwLCAyLCAwfSwKQEAgLTU0Niw2ICs1NDgsOSBAQAogICB7IDY5Nzg3LCAwLCAzNjh9LAogICB7IDY5Nzk3LCAwLCAzNjl9LAogICB7IDY5OTM3LCAxLCAzNzB9LAorICB7IDcwNDcxLCAwLCAzNzJ9LAorICB7IDcwODQxLCAwLCAzNzN9LAorICB7IDcxMDk2LCAxLCAzNzR9LAogICB7MCwwLDB9CiB9OwogCkBAIC01ODMsNiArNTg4LDEyIEBACiAgIHsgMTI0NDEsIDEsIDUyfSwKICAgeyA2OTgxOCwgMCwgNTR9LAogICB7IDY5OTI3LCAwLCA1NX0sCisgIHsgNzA0NjIsIDAsIDU2fSwKKyAgeyA3MDQ4NywgMCwgNTd9LAorICB7IDcwODMyLCAwLCA1OH0sCisgIHsgNzA4NDIsIDAsIDU5fSwKKyAgeyA3MDg0NSwgMCwgNjB9LAorICB7IDcxMDg3LCAwLCA2MX0sCiAgIHswLDAsMH0KIH07CiAKQEAgLTcxNCwzNiArNzI1LDQzIEBACiAgICAgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIAogICAgIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAKICAgICAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMiwgMTIyLCAxMjMsIDEyNCwgCi0gICAgMTI1LCAxMjYsIDEyNywgMTI3LCAxMjgsIDEyOSwgMTMwLCAxMzEsIDEzMiwgMTMzLCAxMzQsIDEzNSwgMTM2LCAxMzcsIDg0LCAKLSAgICAxMzgsIDEzOSwgMTQwLCAxNDEsIDE0MiwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgMTQzLCA4NCwgMTQ0LCAxNDUsIDE0NiwgCi0gICAgODQsIDE0NywgODQsIDE0OCwgODQsIDg0LCA4NCwgMTQ5LCA4NCwgODQsIDg0LCAxNTAsIDE1MSwgMTUyLCAxNTMsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDE1NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCi0gICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgNDEsIDQxLCA0MSwgNDEsIDQxLCA0MSwgMTU1LCA4NCwgMTU2LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDQxLCA0MSwgNDEsIDQxLCA0MSwgNDEsIDQxLCA0MSwgMTU3LCA4NCwgODQsIDg0LCA4NCwgCi0gICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCi0gICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCi0gICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCi0gICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCi0gICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCi0gICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgNDEsIDQxLCA0MSwgNDEsIDE1OCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgMTU5LCAxNjAsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCi0gICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCi0gICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCi0gICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCi0gICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCi0gICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCi0gICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCi0gICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgMTYxLCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA3OCwgMTYyLCAxNjMsIDE2NCwgMTY1LCA4NCwgMTY2LCA4NCwgMTY3LCAxNjgsIDE2OSwgMTcwLCAxNzEsIDE3MiwgCi0gICAgMTczLCAxNzQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgMTc1LCAxNzYsIDg0LCA4NCwgMTc3LCAxNzgsIDE3OSwgCi0gICAgMTgwLCAxODEsIDg0LCAxODIsIDE4MywgMTg0LCAxODUsIDE4NiwgMTg3LCAxODgsIDE4OSwgMTkwLCA4NCwgODQsIDg0LCAKLSAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDEwMSwgMTAxLCAxMDEsIAorICAgIDEyNSwgMTI2LCAxMjcsIDEyNywgMTI4LCAxMjksIDEzMCwgMTMxLCAxMzIsIDEzMywgMTM0LCAxMzUsIDEzNiwgMTM3LCAKKyAgICAxMzgsIDEzOSwgMTQwLCAxNDEsIDE0MiwgMTQzLCAxNDQsIDEzOCwgNDEsIDQxLCAxNDUsIDEzOCwgMTQ2LCAxNDcsIDE0OCwgCisgICAgMTQ5LCAxNTAsIDE1MSwgMTUyLCAxNTMsIDE1NCwgMTM4LCAxMzgsIDEzOCwgMTU1LCAxMzgsIDEzOCwgMTM4LCAxNTYsIAorICAgIDE1NywgMTU4LCAxNTksIDE2MCwgMTYxLCAxNjIsIDEzOCwgMTM4LCAxNjMsIDEzOCwgMTY0LCAxNjUsIDE2NiwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTY3LCAxMzgsIDEzOCwgMTM4LCAxNjgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgNDEsIDQxLCA0MSwgNDEsIDQxLCA0MSwgNDEsIDE2OSwgMTcwLCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgNDEsIDQxLCA0MSwgNDEsIDQxLCA0MSwgNDEsIDQxLCAxNzEsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgNDEsIDQxLCA0MSwgNDEsIDE3MiwgMTczLCAxNzQsIDE3NSwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTc2LCAxNzcsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxNzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxNzksIDE4MCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDc4LCAKKyAgICAxODEsIDE4MiwgMTgzLCAxODQsIDEzOCwgMTg1LCAxMzgsIDE4NiwgMTg3LCAxODgsIDE4OSwgMTkwLCAxOTEsIDE5MiwgCisgICAgMTkzLCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTk0LCAxOTUsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTk2LCAxOTcsIDEzOCwgMTM4LCAxOTgsIDE5OSwgMjAwLCAyMDEsIDIwMiwgMTM4LCAyMDMsIAorICAgIDIwNCwgMjA1LCAyMDYsIDIwNywgMjA4LCAyMDksIDIxMCwgMjExLCAyMTIsIDIxMywgMjE0LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTAxLCAxMDEsIDEwMSwgCiAgICAgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIAogICAgIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAKICAgICAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgCkBAIC03NjcsMzU5ICs3ODUsNDU5IEBACiAgICAgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIAogICAgIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAKICAgICAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgCi0gICAgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDE5MSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIAorICAgIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAyMTUsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAKICAgICAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgCi0gICAgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxOTIsIAotICAgIDEwMSwgMTkzLCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCi0gICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCi0gICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCi0gICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCi0gICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCi0gICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCi0gICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCi0gICAgODQsIDg0LCA4NCwgMTIyLCAxMjIsIDEyMiwgMTIyLCAxOTQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAotICAgIDE5NSwgODQsIDE5NiwgMTk3LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCi0gICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCi0gICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCi0gICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCi0gICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCi0gICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCi0gICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCi0gICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCi0gICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCi0gICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCi0gICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCi0gICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCi0gICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCi0gICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCi0gICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCi0gICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCi0gICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCi0gICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCi0gICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCi0gICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCi0gICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCi0gICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCi0gICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCi0gICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCi0gICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCi0gICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCi0gICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCi0gICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCi0gICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAKKyAgICAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDIxNiwgCisgICAgMTAxLCAyMTcsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTIyLCAxMjIsIDEyMiwgMTIyLCAyMTgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDIxOSwgMTM4LCAyMjAsIDIyMSwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgCiAgICAgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIAogICAgIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAKICAgICAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgCkBAIC0xMTU1LDggKzEyNzMsOCBAQAogICAgIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAKICAgICAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgCiAgICAgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIAorICAgIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMjIyLCAxMjEsIDEyMSwgMTIxLCAKICAgICAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgCi0gICAgMTk4LCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIAogICAgIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAKICAgICAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgCiAgICAgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIApAQCAtMTE5Miw3ICsxMzEwLDcgQEAKICAgICAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgCiAgICAgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIAogICAgIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAKLSAgICAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTk4LCAKKyAgICAxMjEsIDEyMSwgMTIxLCAxMjEsIDIyMiwgCiB9OwogCiBzdGF0aWMgdW5zaWduZWQgc2hvcnQgaW5kZXgyW10gPSB7CkBAIC0xMjQ0LDcgKzEzNjIsNyBAQAogICAgIDY5LCA1OSwgNjksIDY5LCA3MCwgNjAsIDYyLCA2MiwgNjIsIDYwLCA2MCwgNjAsIDYyLCA2MiwgNzEsIDYwLCA2MCwgNjAsIAogICAgIDYyLCA2MiwgNjIsIDYyLCA2MCwgNjEsIDYyLCA2MiwgNjAsIDcyLCA3MywgNzMsIDcyLCA3MywgNzMsIDcyLCA2MCwgNjAsIAogICAgIDYwLCA2MCwgNjAsIDYwLCA2MCwgNjAsIDYwLCA2MCwgNjAsIDYwLCA2MCwgNDQsIDQ3LCA0NCwgNDcsIDc0LCA1NCwgNDQsIAotICAgIDQ3LCAwLCAwLCA1MSwgNDcsIDQ3LCA0NywgNzUsIDAsIDAsIDAsIDAsIDAsIDU4LCA3NiwgMzgsIDc1LCAzOCwgMzgsIDM4LCAKKyAgICA0NywgMCwgMCwgNTEsIDQ3LCA0NywgNDcsIDc1LCA0NCwgMCwgMCwgMCwgMCwgNTgsIDc2LCAzOCwgNzUsIDM4LCAzOCwgMzgsIAogICAgIDAsIDM4LCAwLCAzOCwgMzgsIDQzLCAzOSwgMzksIDM5LCAzOSwgMzksIDM5LCAzOSwgMzksIDM5LCAzOSwgMzksIDM5LCAzOSwgCiAgICAgMzksIDM5LCAzOSwgMzksIDAsIDM5LCAzOSwgMzksIDM5LCAzOSwgMzksIDM5LCAzOCwgMzgsIDQzLCA0MywgNDMsIDQzLCAKICAgICA0MywgNDEsIDQxLCA0MSwgNDEsIDQxLCA0MSwgNDEsIDQxLCA0MSwgNDEsIDQxLCA0MSwgNDEsIDQxLCA0MSwgNDEsIDQxLCAKQEAgLTEyNjcsMTUzICsxMzg1LDE1NCBAQAogICAgIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDQ0LCA0NywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIAogICAgIDM4LCA0MywgNDQsIDQ3LCAzOCwgNDMsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIAogICAgIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIAotICAgIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIAorICAgIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIAorICAgIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDAsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgCiAgICAgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgCi0gICAgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgMCwgMCwgNTMsIDgzLCA4MywgODMsIDgzLCA4MywgODMsIDAsIDQ3LCA0NywgNDcsIAorICAgIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDAsIDAsIDUzLCA4MywgODMsIDgzLCA4MywgODMsIDgzLCAwLCAKICAgICA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCAKLSAgICA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDM1LCAKLSAgICAwLCA4MywgODQsIDAsIDAsIDAsIDAsIDg1LCAwLCA4NiwgODEsIDgxLCA4MSwgODEsIDg2LCA4MSwgODEsIDgxLCA4NywgODYsIAotICAgIDgxLCA4MSwgODEsIDgxLCA4MSwgODEsIDg2LCA4NiwgODYsIDg2LCA4NiwgODYsIDgxLCA4MSwgODYsIDgxLCA4MSwgODcsIAotICAgIDg4LCA4MSwgODksIDkwLCA5MSwgOTIsIDkzLCA5NCwgOTUsIDk2LCA5NywgOTgsIDk4LCA5OSwgMTAwLCAxMDEsIDEwMiwgCi0gICAgMTAzLCAxMDQsIDEwNSwgMTA2LCAxMDQsIDgxLCA4NiwgMTA0LCA5NywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTA3LCAKLSAgICAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgCi0gICAgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMCwgMCwgMCwgMCwgCi0gICAgMCwgMTA3LCAxMDcsIDEwNywgMTA0LCAxMDQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEwOCwgMTA4LCAKLSAgICAxMDgsIDEwOCwgMTA4LCAwLCA3OCwgNzgsIDEwOSwgMTEwLCAxMTAsIDExMSwgMTEyLCAxMTMsIDI2LCAyNiwgODEsIDgxLCAKLSAgICA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCAxMTQsIDExNSwgMTE2LCAxMTMsIDExNywgMCwgMTEzLCAxMTMsIDExOCwgMTE4LCAKLSAgICAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgCi0gICAgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIAotICAgIDExOCwgMTE4LCAxMjAsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTIxLCAKLSAgICAxMjIsIDEyMywgMTE0LCAxMTUsIDExNiwgMTI0LCAxMjUsIDEyNiwgMTI2LCAxMjcsIDg2LCA4MSwgODEsIDgxLCA4MSwgODEsIAotICAgIDg2LCA4MSwgODEsIDg2LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDExMCwgCi0gICAgMTI5LCAxMjksIDExMywgMTE4LCAxMTgsIDEzMCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMzEsIDEzMSwgMTMxLCAxMzEsIAotICAgIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAKLSAgICAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgCi0gICAgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIAotICAgIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAKLSAgICAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgCi0gICAgMTE4LCAxMTksIDExOCwgMTE5LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIAotICAgIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOSwgMTEzLCAxMTgsIDgxLCA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCAKLSAgICAxMDgsIDI2LCA4MSwgODEsIDgxLCA4MSwgODYsIDgxLCAxMjAsIDEyMCwgODEsIDgxLCAyNiwgODYsIDgxLCA4MSwgODYsIAotICAgIDExOCwgMTE4LCAxMzIsIDEzMiwgMTMyLCAxMzIsIDEzMiwgMTMyLCAxMzIsIDEzMiwgMTMyLCAxMzIsIDExOCwgMTE4LCAKLSAgICAxMTgsIDEzMywgMTMzLCAxMTgsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgCi0gICAgMTEzLCAxMTMsIDExMywgMTEzLCAwLCAxMTcsIDExOCwgMTM0LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIAotICAgIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAKLSAgICAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCA4MSwgODYsIDgxLCA4MSwgODYsIDgxLCA4MSwgCi0gICAgODYsIDg2LCA4NiwgODEsIDg2LCA4NiwgODEsIDg2LCA4MSwgODEsIDgxLCA4NiwgODEsIDg2LCA4MSwgODYsIDgxLCA4NiwgCi0gICAgODEsIDgxLCAwLCAwLCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAKLSAgICAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgCi0gICAgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIAotICAgIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAKLSAgICAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgCi0gICAgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIAotICAgIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAKLSAgICAxMzUsIDEzNSwgMTM1LCAxMzUsIDExOCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTM2LCAKLSAgICAxMzYsIDEzNiwgMTM2LCAxMzYsIDEzNiwgMTM2LCAxMzYsIDEzNiwgMTM2LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgCi0gICAgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIAotICAgIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCA4MSwgCi0gICAgODEsIDgxLCA4MSwgODEsIDgxLCA4MSwgODYsIDgxLCAxMzcsIDEzNywgMjYsIDEzOCwgMTM4LCAxMzgsIDEzNywgMCwgMCwgCisgICAgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgCisgICAgNDcsIDQ3LCAzNSwgMCwgODMsIDg0LCAwLCAwLCAyNiwgMjYsIDg1LCAwLCA4NiwgODEsIDgxLCA4MSwgODEsIDg2LCA4MSwgCisgICAgODEsIDgxLCA4NywgODYsIDgxLCA4MSwgODEsIDgxLCA4MSwgODEsIDg2LCA4NiwgODYsIDg2LCA4NiwgODYsIDgxLCA4MSwgCisgICAgODYsIDgxLCA4MSwgODcsIDg4LCA4MSwgODksIDkwLCA5MSwgOTIsIDkzLCA5NCwgOTUsIDk2LCA5NywgOTgsIDk4LCA5OSwgCisgICAgMTAwLCAxMDEsIDEwMiwgMTAzLCAxMDQsIDEwNSwgMTA2LCAxMDQsIDgxLCA4NiwgMTA0LCA5NywgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAKLSAgICAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCA4MSwgODEsIDgxLCA4MSwgMTM3LCA4MSwgODEsIAotICAgIDgxLCA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCAxMzcsIDgxLCA4MSwgODEsIDEzNywgODEsIDgxLCA4MSwgODEsIDgxLCAwLCAKLSAgICAwLCAxMDQsIDEwNCwgMTA0LCAxMDQsIDEwNCwgMTA0LCAxMDQsIDEwNCwgMTA0LCAxMDQsIDEwNCwgMTA0LCAxMDQsIDEwNCwgCi0gICAgMTA0LCAwLCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIAotICAgIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDg2LCA4NiwgODYsIAotICAgIDAsIDAsIDEwNCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDAsIAorICAgIDAsIDAsIDAsIDAsIDEwNywgMTA3LCAxMDcsIDEwNCwgMTA0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAxMDgsIDEwOCwgMTA4LCAxMDgsIDEwOCwgMTA4LCA3OCwgNzgsIDEwOSwgMTEwLCAxMTAsIDExMSwgMTEyLCAxMTMsIDI2LCAKKyAgICAyNiwgODEsIDgxLCA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCAxMTQsIDExNSwgMTE2LCAxMTMsIDExNywgMCwgMTEzLCAxMTMsIAorICAgIDExOCwgMTE4LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAKKyAgICAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgCisgICAgMTE4LCAxMTgsIDExOCwgMTE4LCAxMjAsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIAorICAgIDExOCwgMTIxLCAxMjIsIDEyMywgMTE0LCAxMTUsIDExNiwgMTI0LCAxMjUsIDEyNiwgMTI2LCAxMjcsIDg2LCA4MSwgODEsIAorICAgIDgxLCA4MSwgODEsIDg2LCA4MSwgODEsIDg2LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAKKyAgICAxMjgsIDExMCwgMTI5LCAxMjksIDExMywgMTE4LCAxMTgsIDEzMCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMzEsIDEzMSwgCisgICAgMTMxLCAxMzEsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIAorICAgIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAKKyAgICAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgCisgICAgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIAorICAgIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAKKyAgICAxMTgsIDExOCwgMTE4LCAxMTksIDExOCwgMTE5LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgCisgICAgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOSwgMTEzLCAxMTgsIDgxLCA4MSwgODEsIDgxLCAKKyAgICA4MSwgODEsIDgxLCAxMDgsIDI2LCA4MSwgODEsIDgxLCA4MSwgODYsIDgxLCAxMjAsIDEyMCwgODEsIDgxLCAyNiwgODYsIAorICAgIDgxLCA4MSwgODYsIDExOCwgMTE4LCAxMzIsIDEzMiwgMTMyLCAxMzIsIDEzMiwgMTMyLCAxMzIsIDEzMiwgMTMyLCAxMzIsIAorICAgIDExOCwgMTE4LCAxMTgsIDEzMywgMTMzLCAxMTgsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAKKyAgICAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAwLCAxMTcsIDExOCwgMTM0LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgCisgICAgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIAorICAgIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCA4MSwgODYsIDgxLCA4MSwgCisgICAgODYsIDgxLCA4MSwgODYsIDg2LCA4NiwgODEsIDg2LCA4NiwgODEsIDg2LCA4MSwgODEsIDgxLCA4NiwgODEsIDg2LCA4MSwgCisgICAgODYsIDgxLCA4NiwgODEsIDgxLCAwLCAwLCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAKKyAgICAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgCisgICAgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIAorICAgIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAKKyAgICAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgCisgICAgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIAorICAgIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTM1LCAxMzUsIDEzNSwgMTM1LCAKKyAgICAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDExOCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMTM2LCAxMzYsIDEzNiwgMTM2LCAxMzYsIDEzNiwgMTM2LCAxMzYsIDEzNiwgMTM2LCAxMDcsIDEwNywgMTA3LCAKKyAgICAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgCisgICAgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIAorICAgIDEwNywgMTA3LCA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCA4MSwgODYsIDgxLCAxMzcsIDEzNywgMjYsIDEzOCwgMTM4LCAKKyAgICAxMzgsIDEzNywgMCwgMCwgMCwgMCwgMCwgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgCisgICAgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCA4MSwgODEsIAorICAgIDgxLCA4MSwgMTM3LCA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCAxMzcsIDgxLCA4MSwgODEsIDEzNywgCisgICAgODEsIDgxLCA4MSwgODEsIDgxLCAwLCAwLCAxMDQsIDEwNCwgMTA0LCAxMDQsIDEwNCwgMTA0LCAxMDQsIDEwNCwgMTA0LCAKKyAgICAxMDQsIDEwNCwgMTA0LCAxMDQsIDEwNCwgMTA0LCAwLCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgCisgICAgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIAorICAgIDEwNywgMTA3LCAxMDcsIDg2LCA4NiwgODYsIDAsIDAsIDEwNCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTE4LCAwLCAxMTgsIAotICAgIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgODEsIAotICAgIDgxLCA4NiwgODEsIDgxLCA4NiwgODEsIDgxLCA4MSwgODYsIDg2LCA4NiwgMTIxLCAxMjIsIDEyMywgODEsIDgxLCA4MSwgCi0gICAgODYsIDgxLCA4MSwgODYsIDg2LCA4MSwgODEsIDgxLCA4MSwgMCwgMTM1LCAxMzUsIDEzNSwgMTM5LCA0OCwgNDgsIDQ4LCAKKyAgICAwLCAwLCAwLCAwLCAwLCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgCisgICAgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDgxLCA4MSwgODYsIDgxLCA4MSwgODYsIDgxLCA4MSwgCisgICAgODEsIDg2LCA4NiwgODYsIDEyMSwgMTIyLCAxMjMsIDgxLCA4MSwgODEsIDg2LCA4MSwgODEsIDg2LCA4NiwgODEsIDgxLCAKKyAgICA4MSwgODEsIDgxLCAxMzUsIDEzNSwgMTM1LCAxMzksIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKICAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMTQwLCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMTQwLCA0OCwgNDgsIDE0MCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAxMzUsIDEzOSwgCi0gICAgMTQxLCA0OCwgMTM5LCAxMzksIDEzOSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzOSwgMTM5LCAKLSAgICAxMzksIDEzOSwgMTQyLCAxMzksIDEzOSwgNDgsIDgxLCA4NiwgODEsIDgxLCAxMzUsIDEzNSwgMTM1LCAxNDMsIDE0MywgCi0gICAgMTQzLCAxNDMsIDE0MywgMTQzLCAxNDMsIDE0MywgNDgsIDQ4LCAxMzUsIDEzNSwgODMsIDgzLCAxNDQsIDE0NCwgMTQ0LCAKLSAgICAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDgzLCA1MywgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgNDgsIAotICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDEzNSwgMTM5LCAxMzksIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgMCwgMCwgNDgsIDQ4LCAwLCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIAotICAgIDQ4LCAwLCAwLCAwLCA0OCwgNDgsIDQ4LCA0OCwgMCwgMCwgMTQ1LCA0OCwgMTQ2LCAxMzksIDEzOSwgMTM1LCAxMzUsIDEzNSwgCi0gICAgMTM1LCAwLCAwLCAxMzksIDEzOSwgMCwgMCwgMTQ3LCAxNDcsIDE0MiwgNDgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDE0NiwgMCwgMCwgMCwgMCwgMTQzLCAxNDMsIDAsIDE0MywgNDgsIDQ4LCAxMzUsIDEzNSwgMCwgMCwgMTQ0LCAxNDQsIDE0NCwgCi0gICAgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCA0OCwgNDgsIDg1LCA4NSwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAKLSAgICAxNDgsIDE0OCwgODAsIDg1LCAwLCAwLCAwLCAwLCAwLCAxMzUsIDEzNSwgMTM5LCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAotICAgIDQ4LCAwLCAwLCAwLCAwLCA0OCwgNDgsIDAsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgMCwgNDgsIDE0MywgMCwgNDgsIDE0MywgMCwgNDgsIDQ4LCAwLCAwLCAxNDUsIDAsIDEzOSwgMTM5LCAxMzksIDEzNSwgCi0gICAgMTM1LCAwLCAwLCAwLCAwLCAxMzUsIDEzNSwgMCwgMCwgMTM1LCAxMzUsIDE0MiwgMCwgMCwgMCwgMTM1LCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAxNDMsIDE0MywgMTQzLCA0OCwgMCwgMTQzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNDQsIDE0NCwgMTQ0LCAKLSAgICAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDEzNSwgMTM1LCA0OCwgNDgsIDQ4LCAxMzUsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEzNSwgMTM1LCAxMzksIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDAsIDQ4LCA0OCwgNDgsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgNDgsIAotICAgIDQ4LCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDAsIDE0NSwgNDgsIDEzOSwgMTM5LCAxMzksIDEzNSwgMTM1LCAxMzUsIAotICAgIDEzNSwgMTM1LCAwLCAxMzUsIDEzNSwgMTM5LCAwLCAxMzksIDEzOSwgMTQyLCAwLCAwLCA0OCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDgsIDQ4LCAxMzUsIDEzNSwgMCwgMCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAKLSAgICAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCA4MywgODUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDEzNSwgMTM5LCAxMzksIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgMCwgNDgsIDQ4LCAKLSAgICAwLCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAotICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDQ4LCA0OCwgMCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCAwLCAwLCAxNDUsIDQ4LCAxNDYsIDEzNSwgMTM5LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDAsIDAsIDEzOSwgCi0gICAgMTQ3LCAwLCAwLCAxNDcsIDE0NywgMTQyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNDksIDE0NiwgMCwgMCwgMCwgMCwgCi0gICAgMTQzLCAxNDMsIDAsIDQ4LCA0OCwgNDgsIDEzNSwgMTM1LCAwLCAwLCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAKLSAgICAxNDQsIDE0NCwgMTQ0LCAxNDQsIDgwLCA0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMTM1LCA0OCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgMCwgMCwgNDgsIDQ4LCA0OCwgCi0gICAgMCwgNDgsIDQ4LCAxNDAsIDQ4LCAwLCAwLCAwLCA0OCwgNDgsIDAsIDQ4LCAwLCA0OCwgNDgsIDAsIDAsIDAsIDQ4LCA0OCwgCi0gICAgMCwgMCwgMCwgNDgsIDQ4LCA0OCwgMCwgMCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgMCwgMCwgMCwgMCwgMTQ2LCAxMzksIDEzNSwgMTM5LCAxMzksIDAsIDAsIDAsIDEzOSwgMTM5LCAxMzksIDAsIDE0NywgCi0gICAgMTQ3LCAxNDcsIDE0MiwgMCwgMCwgNDgsIDAsIDAsIDAsIDAsIDAsIDAsIDE0NiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDgsIAotICAgIDE0OCwgMTQ4LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCA4NSwgMjYsIDAsIDAsIDAsIDAsIDAsIDAsIDEzOSwgMTM5LCAKLSAgICAxMzksIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgNDgsIDQ4LCA0OCwgMCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDE0MCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDE0MCwgCisgICAgNDgsIDQ4LCAxNDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMTM1LCAxMzksIDE0MSwgNDgsIDEzOSwgMTM5LCAxMzksIDEzNSwgCisgICAgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzksIDEzOSwgMTM5LCAxMzksIDE0MiwgMTM5LCAxMzksIDQ4LCAKKyAgICA4MSwgODYsIDgxLCA4MSwgMTM1LCAxMzUsIDEzNSwgMTQzLCAxNDMsIDE0MywgMTQzLCAxNDMsIDE0MywgMTQzLCAxNDMsIAorICAgIDQ4LCA0OCwgMTM1LCAxMzUsIDgzLCA4MywgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgCisgICAgMTQ0LCA4MywgNTMsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDEzNSwgMTM5LCAxMzksIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgMCwgNDgsIDQ4LCAwLCAwLCA0OCwgCiAgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIAotICAgIDAsIDAsIDQ4LCAxMzUsIDEzNSwgMTM1LCAxMzksIDEzOSwgMTM5LCAxMzksIDAsIDEzNSwgMTM1LCAxNTAsIDAsIDEzNSwgCi0gICAgMTM1LCAxMzUsIDE0MiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTUxLCAxNTIsIDAsIDQ4LCA0OCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgNDgsIDQ4LCAxMzUsIDEzNSwgMCwgMCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgCi0gICAgMTQ0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNTMsIDE1MywgMTUzLCAxNTMsIDE1MywgMTUzLCAxNTMsIDgwLCAwLCAwLCAKLSAgICAxMzksIDEzOSwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCA0OCwgNDgsIDQ4LCAwLCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCA0OCwgMCwgMCwgMCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDAsIDAsIDE0NSwgNDgsIDE0NiwgMTM5LCAxMzksIDEzNSwgMTM1LCAxMzUsIDEzNSwgMCwgMCwgMTM5LCAxMzksIDAsIAorICAgIDAsIDE0NywgMTQ3LCAxNDIsIDQ4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNDYsIDAsIDAsIDAsIDAsIDE0MywgMTQzLCAKKyAgICAwLCAxNDMsIDQ4LCA0OCwgMTM1LCAxMzUsIDAsIDAsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAKKyAgICAxNDQsIDE0NCwgNDgsIDQ4LCA4NSwgODUsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDgwLCA4NSwgMCwgMCwgMCwgCisgICAgMCwgMCwgMTM1LCAxMzUsIDEzOSwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgMCwgMCwgMCwgNDgsIDQ4LCAwLCAwLCAKICAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgNDgsIDQ4LCA0OCwgNDgsIAotICAgIDQ4LCAwLCAwLCAxNDUsIDQ4LCAxMzksIDE1NCwgMTQ3LCAxMzksIDE0NiwgMTM5LCAxMzksIDAsIDE1NCwgMTQ3LCAxNDcsIAotICAgIDAsIDE0NywgMTQ3LCAxMzUsIDE0MiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTQ2LCAxNDYsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDQ4LCAwLCA0OCwgNDgsIDEzNSwgMTM1LCAwLCAwLCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgCi0gICAgMTQ0LCAxNDQsIDAsIDQ4LCA0OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTM5LCAKLSAgICAxMzksIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgNDgsIDQ4LCA0OCwgMCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgNDgsIDE0MywgMCwgNDgsIDE0MywgMCwgCisgICAgNDgsIDQ4LCAwLCAwLCAxNDUsIDAsIDEzOSwgMTM5LCAxMzksIDEzNSwgMTM1LCAwLCAwLCAwLCAwLCAxMzUsIDEzNSwgMCwgCisgICAgMCwgMTM1LCAxMzUsIDE0MiwgMCwgMCwgMCwgMTM1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNDMsIDE0MywgMTQzLCA0OCwgCisgICAgMCwgMTQzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAKKyAgICAxNDQsIDEzNSwgMTM1LCA0OCwgNDgsIDQ4LCAxMzUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEzNSwgCisgICAgMTM1LCAxMzksIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDQ4LCA0OCwgNDgsIDAsIDQ4LCAKICAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgNDgsIDQ4LCAwLCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDAsIDAsIDE0NSwgNDgsIDEzOSwgMTM5LCAxMzksIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAwLCAxMzUsIDEzNSwgCisgICAgMTM5LCAwLCAxMzksIDEzOSwgMTQyLCAwLCAwLCA0OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgNDgsIDQ4LCAxMzUsIDEzNSwgMCwgMCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIAorICAgIDE0NCwgMTQ0LCA4MywgODUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEzNSwgMTM5LCAKKyAgICAxMzksIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgMCwgNDgsIDQ4LCAwLCAwLCA0OCwgNDgsIDQ4LCAKICAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgMCwgMCwgNDgsIDE0NiwgMTM5LCAxMzksIDEzNSwgMTM1LCAxMzUsIDEzNSwgMCwgMTM5LCAxMzksIDEzOSwgMCwgCi0gICAgMTQ3LCAxNDcsIDE0NywgMTQyLCA0OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTQ2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCA0OCwgNDgsIDEzNSwgMTM1LCAwLCAwLCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAKLSAgICAxNDQsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDAsIDAsIDAsIDgwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICAwLCAwLCAxMzksIDEzOSwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAotICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgMCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDQ4LCA0OCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCAKKyAgICAwLCAxNDUsIDQ4LCAxNDYsIDEzNSwgMTM5LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDAsIDAsIDEzOSwgMTQ3LCAwLCAwLCAxNDcsIAorICAgIDE0NywgMTQyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNDksIDE0NiwgMCwgMCwgMCwgMCwgMTQzLCAxNDMsIDAsIDQ4LCAKKyAgICA0OCwgNDgsIDEzNSwgMTM1LCAwLCAwLCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIAorICAgIDgwLCA0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTM1LCAKKyAgICA0OCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgMCwgMCwgNDgsIDQ4LCA0OCwgMCwgNDgsIDQ4LCAxNDAsIDQ4LCAKKyAgICAwLCAwLCAwLCA0OCwgNDgsIDAsIDQ4LCAwLCA0OCwgNDgsIDAsIDAsIDAsIDQ4LCA0OCwgMCwgMCwgMCwgNDgsIDQ4LCA0OCwgCisgICAgMCwgMCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgMCwgMCwgMCwgMTQ2LCAKKyAgICAxMzksIDEzNSwgMTM5LCAxMzksIDAsIDAsIDAsIDEzOSwgMTM5LCAxMzksIDAsIDE0NywgMTQ3LCAxNDcsIDE0MiwgMCwgMCwgCisgICAgNDgsIDAsIDAsIDAsIDAsIDAsIDAsIDE0NiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTQ0LCAKKyAgICAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDgsIDE0OCwgMTQ4LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCA4NSwgMjYsIDAsIDAsIDAsIDAsIDAsIDEzNSwgMTM5LCAxMzksIDEzOSwgMCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCAwLCA0OCwgNDgsIDQ4LCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCiAgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDQ4LCAwLCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgMCwgMCwgCi0gICAgMTU1LCAwLCAwLCAwLCAwLCAxNDYsIDEzOSwgMTM5LCAxMzUsIDEzNSwgMTM1LCAwLCAxMzUsIDAsIDEzOSwgMTM5LCAxNDcsIAotICAgIDEzOSwgMTQ3LCAxNDcsIDE0NywgMTQ2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAxMzksIDEzOSwgODMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCAwLCAwLCA0OCwgMTM1LCAxMzUsIAorICAgIDEzNSwgMTM5LCAxMzksIDEzOSwgMTM5LCAwLCAxMzUsIDEzNSwgMTUwLCAwLCAxMzUsIDEzNSwgMTM1LCAxNDIsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDE1MSwgMTUyLCAwLCA0OCwgNDgsIDAsIDAsIDAsIDAsIDAsIDAsIDQ4LCA0OCwgMTM1LCAxMzUsIAorICAgIDAsIDAsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMTUzLCAxNTMsIDE1MywgMTUzLCAxNTMsIDE1MywgMTUzLCA4MCwgMCwgMTM1LCAxMzksIDEzOSwgMCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCA0OCwgNDgsIDQ4LCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDAsIDE0NSwgNDgsIAorICAgIDEzOSwgMTU0LCAxNDcsIDEzOSwgMTQ2LCAxMzksIDEzOSwgMCwgMTU0LCAxNDcsIDE0NywgMCwgMTQ3LCAxNDcsIDEzNSwgCisgICAgMTQyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNDYsIDE0NiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDgsIDAsIDQ4LCA0OCwgCisgICAgMTM1LCAxMzUsIDAsIDAsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMCwgNDgsIAorICAgIDQ4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMzUsIDEzOSwgMTM5LCAwLCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDQ4LCA0OCwgNDgsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgMCwgNDgsIAorICAgIDE0NiwgMTM5LCAxMzksIDEzNSwgMTM1LCAxMzUsIDEzNSwgMCwgMTM5LCAxMzksIDEzOSwgMCwgMTQ3LCAxNDcsIDE0NywgCisgICAgMTQyLCA0OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTQ2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0OCwgNDgsIAorICAgIDEzNSwgMTM1LCAwLCAwLCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0OCwgCisgICAgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDAsIDAsIDAsIDgwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCAwLCAxMzksIAorICAgIDEzOSwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgMCwgMCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgMCwgNDgsIDAsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCAwLCAwLCAxNTUsIDAsIDAsIDAsIAorICAgIDAsIDE0NiwgMTM5LCAxMzksIDEzNSwgMTM1LCAxMzUsIDAsIDEzNSwgMCwgMTM5LCAxMzksIDE0NywgMTM5LCAxNDcsIDE0NywgCisgICAgMTQ3LCAxNDYsIDAsIDAsIDAsIDAsIDAsIDAsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIAorICAgIDE0NCwgMCwgMCwgMTM5LCAxMzksIDgzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0OCwgNDgsIDQ4LCAKICAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKICAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDEzNSwgNDgsIDE1NiwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxNTcsIAotICAgIDE1NywgMTQyLCAwLCAwLCAwLCAwLCA4NSwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNTMsIDEzNSwgMTU4LCAxNTgsIDE1OCwgCi0gICAgMTU4LCAxMzUsIDEzNSwgMTM1LCA4MywgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAKLSAgICA4MywgODMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ4LCA0OCwgMCwgNDgsIDAsIDAsIDQ4LCA0OCwgCi0gICAgMCwgNDgsIDAsIDAsIDQ4LCAwLCAwLCAwLCAwLCAwLCAwLCA0OCwgNDgsIDQ4LCA0OCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDAsIDQ4LCA0OCwgNDgsIDAsIDQ4LCAwLCA0OCwgMCwgMCwgNDgsIDQ4LCAwLCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgMTM1LCA0OCwgMTU2LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDE1OSwgMTU5LCAwLCAxMzUsIDEzNSwgNDgsIDAsIDAsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgMCwgNTMsIDAsIDE2MCwgMTYwLCAxNjAsIDE2MCwgMTM1LCAxMzUsIDAsIDAsIDE0NCwgMTQ0LCAKLSAgICAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMCwgMCwgMTU2LCAxNTYsIDQ4LCA0OCwgMCwgMCwgMCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMTM1LCA0OCwgMTU2LCAxMzUsIDEzNSwgMTM1LCAxMzUsIAorICAgIDE1NywgMTU3LCAxNDIsIDAsIDAsIDAsIDAsIDg1LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA1MywgMTM1LCAxNTgsIDE1OCwgCisgICAgMTU4LCAxNTgsIDEzNSwgMTM1LCAxMzUsIDgzLCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAKKyAgICAxNDQsIDgzLCA4MywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDgsIDQ4LCAwLCA0OCwgMCwgMCwgCisgICAgNDgsIDQ4LCAwLCA0OCwgMCwgMCwgNDgsIDAsIDAsIDAsIDAsIDAsIDAsIDQ4LCA0OCwgNDgsIDQ4LCAwLCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgMCwgNDgsIDQ4LCA0OCwgMCwgNDgsIDAsIDQ4LCAwLCAwLCA0OCwgNDgsIDAsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCAxMzUsIDQ4LCAxNTYsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTU5LCAxNTksIDAsIDEzNSwgMTM1LCA0OCwgMCwgMCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCA1MywgMCwgMTYwLCAxNjAsIDE2MCwgMTYwLCAxMzUsIDEzNSwgMCwgMCwgMTQ0LCAKKyAgICAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAwLCAwLCAxNTYsIDE1NiwgNDgsIDQ4LCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCA0OCwgODAsIDgwLCA4MCwgODMsIDgzLCA4MywgODMsIDgzLCA4MywgODMsIDgzLCAxNjEsIDgzLCAKLSAgICA4MywgODMsIDgzLCA4MywgODMsIDgwLCA4MywgODAsIDgwLCA4MCwgODYsIDg2LCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCAKLSAgICAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDgsIDgwLCA4MCwgODAsIDgzLCA4MywgODMsIDgzLCA4MywgODMsIDgzLCA4MywgMTYxLCAKKyAgICA4MywgODMsIDgzLCA4MywgODMsIDgzLCA4MCwgODMsIDgwLCA4MCwgODAsIDg2LCA4NiwgODAsIDgwLCA4MCwgODAsIDgwLCAKKyAgICA4MCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIAogICAgIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDgwLCA4NiwgODAsIDg2LCA4MCwgMTYyLCAxNjMsIDE2NCwgMTYzLCAKICAgICAxNjQsIDEzOSwgMTM5LCA0OCwgNDgsIDQ4LCAxNDMsIDQ4LCA0OCwgNDgsIDQ4LCAwLCA0OCwgNDgsIDQ4LCA0OCwgMTQzLCAKICAgICA0OCwgNDgsIDQ4LCA0OCwgMTQzLCA0OCwgNDgsIDQ4LCA0OCwgMTQzLCA0OCwgNDgsIDQ4LCA0OCwgMTQzLCA0OCwgNDgsIApAQCAtMTUxMywxMCArMTYzMiwxMCBAQAogICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAogICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAogICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAotICAgIDQ4LCA0OCwgNDgsIDgzLCA4MywgODMsIDE3MywgMTczLCAxNzMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgMTM1LCAxMzUsIDE0MiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMTM1LCAxMzUsIAorICAgIDQ4LCA0OCwgNDgsIDgzLCA4MywgODMsIDE3MywgMTczLCAxNzMsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCAxMzUsIDEzNSwgMTQyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAxMzUsIDEzNSwgCiAgICAgMTQyLCA4MywgODMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCiAgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDEzNSwgMTM1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgNDgsIApAQCAtMTU0NCw3ICsxNjYzLDcgQEAKICAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKICAgICA0OCwgNDgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAogICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAotICAgIDQ4LCA0OCwgMCwgMCwgMCwgMTM1LCAxMzUsIDEzNSwgMTM5LCAxMzksIDEzOSwgMTM5LCAxMzUsIDEzNSwgMTM5LCAxMzksIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCAwLCAxMzUsIDEzNSwgMTM1LCAxMzksIDEzOSwgMTM5LCAxMzksIDEzNSwgMTM1LCAxMzksIDEzOSwgCiAgICAgMTM5LCAwLCAwLCAwLCAwLCAxMzksIDEzOSwgMTM1LCAxMzksIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM5LCA4NywgODEsIDg2LCAKICAgICAwLCAwLCAwLCAwLCAyNiwgMCwgMCwgMCwgMTM4LCAxMzgsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgCiAgICAgMTQ0LCAxNDQsIDE0NCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKQEAgLTE1NjcsMjk1ICsxNjg2LDI5NyBAQAogICAgIDgxLCA4MSwgODEsIDgxLCA4MSwgODEsIDAsIDAsIDg2LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgCiAgICAgMTQ0LCAxNDQsIDAsIDAsIDAsIDAsIDAsIDAsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIAogICAgIDE0NCwgMCwgMCwgMCwgMCwgMCwgMCwgODMsIDgzLCA4MywgODMsIDgzLCA4MywgODMsIDUzLCA4MywgODMsIDgzLCA4MywgCi0gICAgODMsIDgzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICA4MywgODMsIDAsIDAsIDgxLCA4MSwgODEsIDgxLCA4MSwgODYsIDg2LCA4NiwgODYsIDg2LCA4NiwgODEsIDgxLCA4NiwgODIsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM5LCA0OCwgMTQwLCA0OCwgCi0gICAgMTQwLCA0OCwgMTQwLCA0OCwgMTQwLCA0OCwgMTQwLCA0OCwgNDgsIDQ4LCAxNDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEzNSwgMTM1LCAxMzUsIDEzNSwgCisgICAgMTM5LCA0OCwgMTQwLCA0OCwgMTQwLCA0OCwgMTQwLCA0OCwgMTQwLCA0OCwgMTQwLCA0OCwgNDgsIDQ4LCAxNDAsIDQ4LCAKICAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAxNDUsIDE0NiwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIAotICAgIDE0NywgMTM1LCAxNDcsIDEzOSwgMTM5LCAxNDcsIDE0NywgMTM1LCAxNDcsIDE3NSwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDAsIDAsIDAsIDAsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgODMsIDgzLCAKLSAgICA4MywgODMsIDgzLCA4MywgODMsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MSwgODYsIDgxLCAKLSAgICA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCAwLCAwLCAwLCAxMzUsIAotICAgIDEzNSwgMTM5LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAxMzksIDEzNSwgMTM1LCAKLSAgICAxMzUsIDEzNSwgMTM5LCAxMzksIDEzNSwgMTM1LCAxNzUsIDE0MiwgMTM5LCAxMzksIDQ4LCA0OCwgMTQ0LCAxNDQsIDE0NCwgCi0gICAgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDE0NSwgMTQ2LCAxMzUsIAorICAgIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTQ3LCAxMzUsIDE0NywgMTM5LCAxMzksIDE0NywgMTQ3LCAxMzUsIDE0NywgMTc1LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgMCwgMCwgMCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAKKyAgICAxNDQsIDE0NCwgMTQ0LCA4MywgODMsIDgzLCA4MywgODMsIDgzLCA4MywgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIAorICAgIDgwLCA4MCwgODAsIDgxLCA4NiwgODEsIDgxLCA4MSwgODEsIDgxLCA4MSwgODEsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIAorICAgIDgwLCA4MCwgODAsIDAsIDAsIDAsIDEzNSwgMTM1LCAxMzksIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAogICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAotICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMTQ1LCAKLSAgICAxMzksIDEzNSwgMTM1LCAxMzksIDEzOSwgMTM5LCAxMzUsIDEzOSwgMTM1LCAxMzUsIDEzNSwgMTc1LCAxNzUsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDgzLCA4MywgODMsIDgzLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgMTM5LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzOSwgMTM5LCAxMzUsIDEzNSwgMTc1LCAxNDIsIDEzNSwgCisgICAgMTM1LCA0OCwgNDgsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgNDgsIDQ4LCAKICAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM5LCAKLSAgICAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM5LCAxMzksIDEzNSwgMTQ1LCAwLCAwLCAwLCA4MywgCi0gICAgODMsIDgzLCA4MywgODMsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMCwgMCwgCi0gICAgMCwgNDgsIDQ4LCA0OCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCA0OCwgNDgsIAogICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAotICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA1MywgNTMsIDUzLCA1MywgNTMsIDUzLCA4MywgODMsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDE0NSwgMTM5LCAxMzUsIDEzNSwgMTM5LCAxMzksIDEzOSwgMTM1LCAxMzksIDEzNSwgCisgICAgMTM1LCAxMzUsIDE3NSwgMTc1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA4MywgODMsIDgzLCA4MywgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMTM5LCAxMzksIAorICAgIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM5LCAxMzksIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAKKyAgICAxMzksIDEzOSwgMTM1LCAxNDUsIDAsIDAsIDAsIDgzLCA4MywgODMsIDgzLCA4MywgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIAorICAgIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAwLCAwLCAwLCA0OCwgNDgsIDQ4LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgCisgICAgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDUzLCA1MywgNTMsIDUzLCA1MywgNTMsIDgzLCA4MywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgODMsIDgzLCA4MywgODMsIDgzLCA4MywgCi0gICAgODMsIDgzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA4MSwgODEsIDgxLCA4MywgMTc2LCA4NiwgODYsIDg2LCA4NiwgODYsIAotICAgIDgxLCA4MSwgODYsIDg2LCA4NiwgODYsIDgxLCAxMzksIDE3NiwgMTc2LCAxNzYsIDE3NiwgMTc2LCAxNzYsIDE3NiwgNDgsIAotICAgIDQ4LCA0OCwgNDgsIDg2LCA0OCwgNDgsIDQ4LCA0OCwgMTM5LCAxMzksIDgxLCA0OCwgNDgsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCAKKyAgICAwLCAwLCA4MywgODMsIDgzLCA4MywgODMsIDgzLCA4MywgODMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDgxLCA4MSwgODEsIAorICAgIDgzLCAxNzYsIDg2LCA4NiwgODYsIDg2LCA4NiwgODEsIDgxLCA4NiwgODYsIDg2LCA4NiwgODEsIDEzOSwgMTc2LCAxNzYsIAorICAgIDE3NiwgMTc2LCAxNzYsIDE3NiwgMTc2LCA0OCwgNDgsIDQ4LCA0OCwgODYsIDQ4LCA0OCwgNDgsIDQ4LCAxMzksIDEzOSwgCisgICAgODEsIDQ4LCA0OCwgMCwgODEsIDgxLCAwLCAwLCAwLCAwLCAwLCAwLCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIAogICAgIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIAotICAgIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA1MSwgNTEsIDUxLCA1MywgNTEsIDUxLCA1MSwgNTEsIAotICAgIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MywgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIAotICAgIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTMsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIAotICAgIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIAotICAgIDUxLCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNTEsIDQ3LCA0NywgNDcsIAogICAgIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIAotICAgIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA1MSwgNTEsIDUxLCA1MSwgNTEsIAorICAgIDUxLCA1MSwgNTEsIDUzLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUzLCA1MSwgNTEsIAorICAgIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MywgNTEsIAogICAgIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIAotICAgIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgODEsIDgxLCA4NiwgODEsIAotICAgIDgxLCA4MSwgODEsIDgxLCA4MSwgODEsIDg2LCA4MSwgODEsIDE3NywgMTc4LCA4NiwgMTc5LCA4MSwgODEsIDgxLCA4MSwgCisgICAgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgCisgICAgNDcsIDQ3LCA0NywgNDcsIDUxLCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgCisgICAgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgCisgICAgNDcsIDQ3LCA0NywgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgCisgICAgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgCisgICAgNTEsIDUxLCA1MSwgNTEsIDgxLCA4MSwgODYsIDgxLCA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCA4NiwgODEsIDgxLCAxNzcsIAorICAgIDE3OCwgODYsIDE3OSwgODEsIDgxLCA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCA4MSwgCiAgICAgODEsIDgxLCA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCA4MSwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTgwLCA4NiwgCi0gICAgODEsIDg2LCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgCi0gICAgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgCi0gICAgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgCi0gICAgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgCi0gICAgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgCi0gICAgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgCi0gICAgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgCi0gICAgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgCi0gICAgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCA0MywgNDMsIDQzLCA0MywgMzUsIDE4MSwgNDcsIDQ3LCA0NCwgNDcsIAotICAgIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIAotICAgIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIAotICAgIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIAotICAgIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIAotICAgIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIAotICAgIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQzLCA0MywgNDMsIDQzLCA0MywgNDMsIDQzLCA0MywgMzgsIDM4LCAzOCwgMzgsIAotICAgIDM4LCAzOCwgMzgsIDM4LCA0MywgNDMsIDQzLCA0MywgNDMsIDQzLCAwLCAwLCAzOCwgMzgsIDM4LCAzOCwgMzgsIDM4LCAwLCAKLSAgICAwLCA0MywgNDMsIDQzLCA0MywgNDMsIDQzLCA0MywgNDMsIDM4LCAzOCwgMzgsIDM4LCAzOCwgMzgsIDM4LCAzOCwgNDMsIAorICAgIDgxLCA4MSwgODEsIDgxLCAwLCAwLCAwLCAwLCAwLCAwLCAxODAsIDg2LCA4MSwgODYsIDM4LCA0MywgMzgsIDQzLCAzOCwgCisgICAgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgCisgICAgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgCisgICAgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgCisgICAgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgCisgICAgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgCisgICAgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgCisgICAgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgCisgICAgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgCisgICAgNDMsIDQzLCA0MywgNDMsIDQzLCAzNSwgMTgxLCA0NywgNDcsIDQ0LCA0NywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIAorICAgIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIAorICAgIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIAorICAgIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIAorICAgIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIAorICAgIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDMsIAogICAgIDQzLCA0MywgNDMsIDQzLCA0MywgNDMsIDQzLCAzOCwgMzgsIDM4LCAzOCwgMzgsIDM4LCAzOCwgMzgsIDQzLCA0MywgNDMsIAogICAgIDQzLCA0MywgNDMsIDAsIDAsIDM4LCAzOCwgMzgsIDM4LCAzOCwgMzgsIDAsIDAsIDQzLCA0MywgNDMsIDQzLCA0MywgNDMsIAotICAgIDQzLCA0MywgMCwgMzgsIDAsIDM4LCAwLCAzOCwgMCwgMzgsIDQzLCA0MywgNDMsIDQzLCA0MywgNDMsIDQzLCA0MywgMzgsIAotICAgIDM4LCAzOCwgMzgsIDM4LCAzOCwgMzgsIDM4LCA0MywgMTgyLCA0MywgMTgyLCA0MywgMTgyLCA0MywgMTgyLCA0MywgMTgyLCAKLSAgICA0MywgMTgyLCA0MywgMTgyLCAwLCAwLCA0MywgNDMsIDQzLCA0MywgNDMsIDQzLCA0MywgNDMsIDE4MywgMTgzLCAxODMsIAotICAgIDE4MywgMTgzLCAxODMsIDE4MywgMTgzLCA0MywgNDMsIDQzLCA0MywgNDMsIDQzLCA0MywgNDMsIDE4MywgMTgzLCAxODMsIAotICAgIDE4MywgMTgzLCAxODMsIDE4MywgMTgzLCA0MywgNDMsIDQzLCA0MywgNDMsIDQzLCA0MywgNDMsIDE4MywgMTgzLCAxODMsIAotICAgIDE4MywgMTgzLCAxODMsIDE4MywgMTgzLCA0MywgNDMsIDQzLCA0MywgNDMsIDAsIDQzLCA0MywgMzgsIDM4LCAzOCwgMTg0LCAKLSAgICAxODMsIDU4LCAxODIsIDU4LCA1OCwgNzYsIDQzLCA0MywgNDMsIDAsIDQzLCA0MywgMzgsIDE4NCwgMzgsIDE4NCwgMTgzLCAKLSAgICA3NiwgNzYsIDc2LCA0MywgNDMsIDQzLCAxODIsIDAsIDAsIDQzLCA0MywgMzgsIDM4LCAzOCwgMTg0LCAwLCA3NiwgNzYsIAotICAgIDc2LCA0MywgNDMsIDQzLCAxODIsIDQzLCA0MywgNDMsIDQzLCAzOCwgMzgsIDM4LCAxODQsIDM4LCA3NiwgMTg1LCAxODUsIAotICAgIDAsIDAsIDQzLCA0MywgNDMsIDAsIDQzLCA0MywgMzgsIDE4NCwgMzgsIDE4NCwgMTgzLCAxODUsIDU4LCAwLCAxODYsIDE4NiwgCi0gICAgMTg3LCAxODcsIDE4NywgMTg3LCAxODcsIDE4NywgMTg3LCAxODcsIDE4NywgMTc0LCAxNzQsIDE3NCwgMTg4LCAxODksIAotICAgIDE5MCwgMTkxLCA4NCwgMTkwLCAxOTAsIDE5MCwgMjIsIDE5MiwgMTkzLCAxOTQsIDE5NSwgMTk2LCAxOTMsIDE5NCwgMTk1LCAKLSAgICAxOTYsIDIyLCAyMiwgMjIsIDEzOCwgMTk3LCAxOTcsIDE5NywgMjIsIDE5OCwgMTk5LCAyMDAsIDIwMSwgMjAyLCAyMDMsIAotICAgIDIwNCwgMjEsIDIwNSwgMTEwLCAyMDUsIDIwNiwgMjA3LCAyMiwgMTkyLCAxOTIsIDEzOCwgMjgsIDM2LCAyMiwgMTkyLCAKLSAgICAxMzgsIDE5NywgMjA4LCAyMDgsIDEzOCwgMTM4LCAxMzgsIDIwOSwgMTYzLCAxNjQsIDE5MiwgMTkyLCAxOTIsIDEzOCwgCi0gICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCA3OCwgMTM4LCAyMDgsIDEzOCwgMTM4LCAxOTIsIDEzOCwgMTM4LCAKLSAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTg3LCAxNzQsIDE3NCwgMTc0LCAxNzQsIDE3NCwgMCwgMjEwLCAyMTEsIDIxMiwgCi0gICAgMjEzLCAxNzQsIDE3NCwgMTc0LCAxNzQsIDE3NCwgMTc0LCAyMTQsIDUxLCAwLCAwLCAzNCwgMjE0LCAyMTQsIDIxNCwgMjE0LCAKLSAgICAyMTQsIDIxNSwgMjE1LCAyMTYsIDIxNywgMjE4LCAyMTksIDIxNCwgMzQsIDM0LCAzNCwgMzQsIDIxNCwgMjE0LCAyMTQsIAotICAgIDIxNCwgMjE0LCAyMTUsIDIxNSwgMjE2LCAyMTcsIDIxOCwgMCwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgCi0gICAgNTEsIDUxLCA1MSwgNTEsIDAsIDAsIDAsIDg1LCA4NSwgODUsIDg1LCA4NSwgODUsIDg1LCA4NSwgMjIwLCAyMjEsIDg1LCAKLSAgICA4NSwgMjMsIDg1LCA4NSwgODUsIDg1LCA4NSwgODUsIDg1LCA4NSwgODUsIDg1LCA4NSwgODUsIDg1LCA4NSwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgODEsIDgxLCAxNzYsIDE3NiwgCi0gICAgODEsIDgxLCA4MSwgODEsIDE3NiwgMTc2LCAxNzYsIDgxLCA4MSwgODIsIDgyLCA4MiwgODIsIDgxLCA4MiwgODIsIDgyLCAKLSAgICAxNzYsIDE3NiwgODEsIDg2LCA4MSwgMTc2LCAxNzYsIDg2LCA4NiwgODYsIDg2LCA4MSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjIyLCAyMjIsIDQ5LCAyMjMsIDI2LCAyMjMsIDIyMiwgNDksIDI2LCAyMjMsIDM1LCAKLSAgICA0OSwgNDksIDQ5LCAzNSwgMzUsIDQ5LCA0OSwgNDksIDQ2LCAyNiwgNDksIDIyMywgMjYsIDc4LCA0OSwgNDksIDQ5LCA0OSwgCi0gICAgNDksIDI2LCAyNiwgMjIyLCAyMjMsIDIyMywgMjYsIDQ5LCAyNiwgMjI0LCAyNiwgNDksIDI2LCAxODQsIDIyNCwgNDksIDQ5LCAKLSAgICAyMjUsIDM1LCA0OSwgNDksIDQ0LCA0OSwgMzUsIDE1NiwgMTU2LCAxNTYsIDE1NiwgMzUsIDI2LCAyMjIsIDM1LCAzNSwgNDksIAotICAgIDQ5LCAyMjYsIDc4LCA3OCwgNzgsIDc4LCA0OSwgMzUsIDM1LCAzNSwgMzUsIDI2LCA3OCwgMjYsIDI2LCA0NywgODAsIDIyNywgCi0gICAgMjI3LCAyMjcsIDM3LCAzNywgMjI3LCAyMjcsIDIyNywgMjI3LCAyMjcsIDIyNywgMzcsIDM3LCAzNywgMzcsIDIyNywgMjI4LCAKLSAgICAyMjgsIDIyOCwgMjI4LCAyMjgsIDIyOCwgMjI4LCAyMjgsIDIyOCwgMjI4LCAyMjgsIDIyOCwgMjI5LCAyMjksIDIyOSwgCi0gICAgMjI5LCAyMjgsIDIyOCwgMjI4LCAyMjgsIDIyOCwgMjI4LCAyMjgsIDIyOCwgMjI4LCAyMjgsIDIyOSwgMjI5LCAyMjksIAotICAgIDIyOSwgMjI5LCAyMjksIDE3MywgMTczLCAxNzMsIDQ0LCA0NywgMTczLCAxNzMsIDE3MywgMTczLCAzNywgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgNDAsIDQwLCA0MCwgNDAsIDQwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDIzMCwgMjMwLCAyNiwgMjYsIDI2LCAyNiwgCi0gICAgNzgsIDI2LCAyNiwgNzgsIDI2LCAyNiwgNzgsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyMzAsIDI2LCAyNiwgMjYsIAotICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDMwLCAzMCwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAotICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDIzMSwgMjMwLCAyMzAsIDI2LCAyNiwgNDAsIDI2LCA0MCwgCisgICAgNDMsIDQzLCAzOCwgMzgsIDM4LCAzOCwgMzgsIDM4LCAzOCwgMzgsIDQzLCA0MywgNDMsIDQzLCA0MywgNDMsIDQzLCA0MywgCisgICAgMzgsIDM4LCAzOCwgMzgsIDM4LCAzOCwgMzgsIDM4LCA0MywgNDMsIDQzLCA0MywgNDMsIDQzLCAwLCAwLCAzOCwgMzgsIDM4LCAKKyAgICAzOCwgMzgsIDM4LCAwLCAwLCA0MywgNDMsIDQzLCA0MywgNDMsIDQzLCA0MywgNDMsIDAsIDM4LCAwLCAzOCwgMCwgMzgsIDAsIAorICAgIDM4LCA0MywgNDMsIDQzLCA0MywgNDMsIDQzLCA0MywgNDMsIDM4LCAzOCwgMzgsIDM4LCAzOCwgMzgsIDM4LCAzOCwgNDMsIAorICAgIDE4MiwgNDMsIDE4MiwgNDMsIDE4MiwgNDMsIDE4MiwgNDMsIDE4MiwgNDMsIDE4MiwgNDMsIDE4MiwgMCwgMCwgNDMsIDQzLCAKKyAgICA0MywgNDMsIDQzLCA0MywgNDMsIDQzLCAxODMsIDE4MywgMTgzLCAxODMsIDE4MywgMTgzLCAxODMsIDE4MywgNDMsIDQzLCAKKyAgICA0MywgNDMsIDQzLCA0MywgNDMsIDQzLCAxODMsIDE4MywgMTgzLCAxODMsIDE4MywgMTgzLCAxODMsIDE4MywgNDMsIDQzLCAKKyAgICA0MywgNDMsIDQzLCA0MywgNDMsIDQzLCAxODMsIDE4MywgMTgzLCAxODMsIDE4MywgMTgzLCAxODMsIDE4MywgNDMsIDQzLCAKKyAgICA0MywgNDMsIDQzLCAwLCA0MywgNDMsIDM4LCAzOCwgMzgsIDE4NCwgMTgzLCA1OCwgMTgyLCA1OCwgNTgsIDc2LCA0MywgNDMsIAorICAgIDQzLCAwLCA0MywgNDMsIDM4LCAxODQsIDM4LCAxODQsIDE4MywgNzYsIDc2LCA3NiwgNDMsIDQzLCA0MywgMTgyLCAwLCAwLCAKKyAgICA0MywgNDMsIDM4LCAzOCwgMzgsIDE4NCwgMCwgNzYsIDc2LCA3NiwgNDMsIDQzLCA0MywgMTgyLCA0MywgNDMsIDQzLCA0MywgCisgICAgMzgsIDM4LCAzOCwgMTg0LCAzOCwgNzYsIDE4NSwgMTg1LCAwLCAwLCA0MywgNDMsIDQzLCAwLCA0MywgNDMsIDM4LCAxODQsIAorICAgIDM4LCAxODQsIDE4MywgMTg1LCA1OCwgMCwgMTg2LCAxODYsIDE4NywgMTg3LCAxODcsIDE4NywgMTg3LCAxODcsIDE4NywgCisgICAgMTg3LCAxODcsIDE3NCwgMTc0LCAxNzQsIDE4OCwgMTg5LCAxOTAsIDE5MSwgODQsIDE5MCwgMTkwLCAxOTAsIDIyLCAxOTIsIAorICAgIDE5MywgMTk0LCAxOTUsIDE5NiwgMTkzLCAxOTQsIDE5NSwgMTk2LCAyMiwgMjIsIDIyLCAxMzgsIDE5NywgMTk3LCAxOTcsIAorICAgIDIyLCAxOTgsIDE5OSwgMjAwLCAyMDEsIDIwMiwgMjAzLCAyMDQsIDIxLCAyMDUsIDExMCwgMjA1LCAyMDYsIDIwNywgMjIsIAorICAgIDE5MiwgMTkyLCAxMzgsIDI4LCAzNiwgMjIsIDE5MiwgMTM4LCAxOTcsIDIwOCwgMjA4LCAxMzgsIDEzOCwgMTM4LCAyMDksIAorICAgIDE2MywgMTY0LCAxOTIsIDE5MiwgMTkyLCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgNzgsIDEzOCwgCisgICAgMjA4LCAxMzgsIDEzOCwgMTkyLCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDE4NywgMTc0LCAxNzQsIAorICAgIDE3NCwgMTc0LCAxNzQsIDAsIDIxMCwgMjExLCAyMTIsIDIxMywgMTc0LCAxNzQsIDE3NCwgMTc0LCAxNzQsIDE3NCwgMjE0LCAKKyAgICA1MSwgMCwgMCwgMzQsIDIxNCwgMjE0LCAyMTQsIDIxNCwgMjE0LCAyMTUsIDIxNSwgMjE2LCAyMTcsIDIxOCwgMjE5LCAyMTQsIAorICAgIDM0LCAzNCwgMzQsIDM0LCAyMTQsIDIxNCwgMjE0LCAyMTQsIDIxNCwgMjE1LCAyMTUsIDIxNiwgMjE3LCAyMTgsIDAsIDUxLCAKKyAgICA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCAwLCAwLCAwLCA4NSwgODUsIDg1LCA4NSwgCisgICAgODUsIDg1LCA4NSwgODUsIDIyMCwgMjIxLCA4NSwgODUsIDIzLCA4NSwgODUsIDg1LCA4NSwgODUsIDg1LCA4NSwgODUsIDg1LCAKKyAgICA4NSwgODUsIDg1LCA4NSwgODUsIDg1LCA4NSwgODUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDgxLCA4MSwgMTc2LCAxNzYsIDgxLCA4MSwgODEsIDgxLCAxNzYsIDE3NiwgMTc2LCA4MSwgODEsIDgyLCAKKyAgICA4MiwgODIsIDgyLCA4MSwgODIsIDgyLCA4MiwgMTc2LCAxNzYsIDgxLCA4NiwgODEsIDE3NiwgMTc2LCA4NiwgODYsIDg2LCAKKyAgICA4NiwgODEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDIyMiwgMjIyLCA0OSwgMjIzLCAKKyAgICAyNiwgMjIzLCAyMjIsIDQ5LCAyNiwgMjIzLCAzNSwgNDksIDQ5LCA0OSwgMzUsIDM1LCA0OSwgNDksIDQ5LCA0NiwgMjYsIAorICAgIDQ5LCAyMjMsIDI2LCA3OCwgNDksIDQ5LCA0OSwgNDksIDQ5LCAyNiwgMjYsIDIyMiwgMjIzLCAyMjMsIDI2LCA0OSwgMjYsIAorICAgIDIyNCwgMjYsIDQ5LCAyNiwgMTg0LCAyMjQsIDQ5LCA0OSwgMjI1LCAzNSwgNDksIDQ5LCA0NCwgNDksIDM1LCAxNTYsIDE1NiwgCisgICAgMTU2LCAxNTYsIDM1LCAyNiwgMjIyLCAzNSwgMzUsIDQ5LCA0OSwgMjI2LCA3OCwgNzgsIDc4LCA3OCwgNDksIDM1LCAzNSwgCisgICAgMzUsIDM1LCAyNiwgNzgsIDI2LCAyNiwgNDcsIDgwLCAyMjcsIDIyNywgMjI3LCAzNywgMzcsIDIyNywgMjI3LCAyMjcsIAorICAgIDIyNywgMjI3LCAyMjcsIDM3LCAzNywgMzcsIDM3LCAyMjcsIDIyOCwgMjI4LCAyMjgsIDIyOCwgMjI4LCAyMjgsIDIyOCwgCisgICAgMjI4LCAyMjgsIDIyOCwgMjI4LCAyMjgsIDIyOSwgMjI5LCAyMjksIDIyOSwgMjI4LCAyMjgsIDIyOCwgMjI4LCAyMjgsIAorICAgIDIyOCwgMjI4LCAyMjgsIDIyOCwgMjI4LCAyMjksIDIyOSwgMjI5LCAyMjksIDIyOSwgMjI5LCAxNzMsIDE3MywgMTczLCA0NCwgCisgICAgNDcsIDE3MywgMTczLCAxNzMsIDE3MywgMzcsIDAsIDAsIDAsIDAsIDAsIDAsIDQwLCA0MCwgNDAsIDQwLCA0MCwgMzAsIDMwLCAKKyAgICAzMCwgMzAsIDMwLCAyMzAsIDIzMCwgMjYsIDI2LCAyNiwgMjYsIDc4LCAyNiwgMjYsIDc4LCAyNiwgMjYsIDc4LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjMwLCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAzMCwgMzAsIDI2LCAKICAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAzMCwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgNzgsIDc4LCA3OCwgNzgsIDc4LCAKLSAgICA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNDAsIDIzMiwgMjMzLCAyMzMsIDIzNCwgNzgsIDc4LCA0MCwgMjMzLCAyMzQsIAotICAgIDIzMiwgMjMzLCAyMzQsIDIzMiwgNzgsIDQwLCA3OCwgMjMzLCAyMzUsIDIzNiwgNzgsIDIzMywgMjMyLCA3OCwgNzgsIDc4LCAKLSAgICAyMzMsIDIzMiwgMjMyLCAyMzMsIDQwLCAyMzMsIDIzMywgMjMyLCAyMzIsIDQwLCAyMzQsIDQwLCAyMzQsIDQwLCA0MCwgNDAsIAotICAgIDQwLCAyMzMsIDIzNywgMjI2LCAyMzMsIDIyNiwgMjI2LCAyMzIsIDIzMiwgMjMyLCA0MCwgNDAsIDQwLCA0MCwgNzgsIDIzMiwgCi0gICAgNzgsIDIzMiwgMjMzLCAyMzMsIDIzMiwgMjMyLCAyMzIsIDIzNCwgMjMyLCAyMzIsIDIzNCwgMjMyLCAyMzIsIDIzNCwgMjMzLCAKLSAgICAyMzQsIDIzMiwgMjMyLCAyMzMsIDc4LCA3OCwgNzgsIDc4LCA3OCwgMjMzLCAyMzIsIDIzMiwgMjMyLCA3OCwgNzgsIDc4LCAKLSAgICA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCAyMzIsIDIzOCwgNDAsIDIzNCwgNzgsIDIzMywgMjMzLCAyMzMsIDIzMywgMjMyLCAKLSAgICAyMzIsIDIzMywgMjMzLCA3OCwgMjMwLCAyMzgsIDIzOCwgMjM0LCAyMzQsIDIzMiwgMjMyLCAyMzQsIDIzNCwgMjMyLCAyMzIsIAotICAgIDIzNCwgMjM0LCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzQsIDIzNCwgMjMzLCAyMzMsIDIzNCwgMjM0LCAKLSAgICAyMzMsIDIzMywgMjM0LCAyMzQsIDIzMiwgMjMyLCAyMzIsIDc4LCA3OCwgMjMyLCAyMzIsIDIzMiwgMjMyLCA3OCwgNzgsIAotICAgIDQwLCA3OCwgNzgsIDIzMiwgNDAsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgMjMyLCAyMzIsIDc4LCA0MCwgCi0gICAgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjM0LCAyMzQsIDIzNCwgMjM0LCAyMzIsIDIzMiwgMjMyLCAyMzIsIAotICAgIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCA3OCwgNzgsIDc4LCA3OCwgNzgsIDIzMiwgMjMzLCA3OCwgNzgsIDc4LCA3OCwgCi0gICAgNzgsIDc4LCA3OCwgNzgsIDc4LCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgNzgsIDc4LCAyMzIsIDIzMiwgNzgsIDc4LCAKLSAgICA3OCwgNzgsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjM0LCAyMzQsIDIzNCwgCi0gICAgMjM0LCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzQsIDIzNCwgMjM0LCAyMzQsIDc4LCA3OCwgMjMyLCAyMzIsIAotICAgIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyNiwgCi0gICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDE2MywgMTY0LCAxNjMsIDE2NCwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCi0gICAgMzAsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyMzIsIDIzMiwgMjYsIDI2LCAKLSAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDIzOSwgMjQwLCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDIzMSwgMjMwLCAyMzAsIDI2LCAyNiwgNDAsIDI2LCA0MCwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMzAsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDQwLCAyMzIsIAorICAgIDIzMywgMjMzLCAyMzQsIDc4LCA3OCwgNDAsIDIzMywgMjM0LCAyMzIsIDIzMywgMjM0LCAyMzIsIDc4LCA0MCwgNzgsIDIzMywgCisgICAgMjM1LCAyMzYsIDc4LCAyMzMsIDIzMiwgNzgsIDc4LCA3OCwgMjMzLCAyMzIsIDIzMiwgMjMzLCA0MCwgMjMzLCAyMzMsIAorICAgIDIzMiwgMjMyLCA0MCwgMjM0LCA0MCwgMjM0LCA0MCwgNDAsIDQwLCA0MCwgMjMzLCAyMzcsIDIyNiwgMjMzLCAyMjYsIDIyNiwgCisgICAgMjMyLCAyMzIsIDIzMiwgNDAsIDQwLCA0MCwgNDAsIDc4LCAyMzIsIDc4LCAyMzIsIDIzMywgMjMzLCAyMzIsIDIzMiwgMjMyLCAKKyAgICAyMzQsIDIzMiwgMjMyLCAyMzQsIDIzMiwgMjMyLCAyMzQsIDIzMywgMjM0LCAyMzIsIDIzMiwgMjMzLCA3OCwgNzgsIDc4LCAKKyAgICA3OCwgNzgsIDIzMywgMjMyLCAyMzIsIDIzMiwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgMjMyLCAyMzgsIAorICAgIDQwLCAyMzQsIDc4LCAyMzMsIDIzMywgMjMzLCAyMzMsIDIzMiwgMjMyLCAyMzMsIDIzMywgNzgsIDIzMCwgMjM4LCAyMzgsIAorICAgIDIzNCwgMjM0LCAyMzIsIDIzMiwgMjM0LCAyMzQsIDIzMiwgMjMyLCAyMzQsIDIzNCwgMjMyLCAyMzIsIDIzMiwgMjMyLCAKKyAgICAyMzIsIDIzMiwgMjM0LCAyMzQsIDIzMywgMjMzLCAyMzQsIDIzNCwgMjMzLCAyMzMsIDIzNCwgMjM0LCAyMzIsIDIzMiwgCisgICAgMjMyLCA3OCwgNzgsIDIzMiwgMjMyLCAyMzIsIDIzMiwgNzgsIDc4LCA0MCwgNzgsIDc4LCAyMzIsIDQwLCA3OCwgNzgsIDc4LCAKKyAgICA3OCwgNzgsIDc4LCA3OCwgNzgsIDIzMiwgMjMyLCA3OCwgNDAsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzNCwgCisgICAgMjM0LCAyMzQsIDIzNCwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgNzgsIDc4LCA3OCwgCisgICAgNzgsIDc4LCAyMzIsIDIzMywgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgMjMyLCAyMzIsIDIzMiwgMjMyLCAKKyAgICAyMzIsIDc4LCA3OCwgMjMyLCAyMzIsIDc4LCA3OCwgNzgsIDc4LCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIAorICAgIDIzMiwgMjMyLCAyMzIsIDIzNCwgMjM0LCAyMzQsIDIzNCwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjM0LCAKKyAgICAyMzQsIDIzNCwgMjM0LCA3OCwgNzgsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgCisgICAgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAxNjMsIDE2NCwgCisgICAgMTYzLCAxNjQsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDMwLCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjMyLCAyMzIsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyMzksIDI0MCwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCAKICAgICA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCAKICAgICA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCAKICAgICA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCAKLSAgICA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCAyNiwgNzgsIDI2LCAKKyAgICA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCAyNiwgNzgsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDgwLCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCAKKyAgICA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKICAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDgwLCAyNiwgMjYsIDI2LCAyNiwgMjYsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCAKLSAgICA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgNzgsIDc4LCA3OCwgNzgsIDc4LCAKKyAgICA3OCwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDAsIDAsIDAsIDAsIDAsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAogICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAotICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAotICAgIDI2LCAyNiwgMjYsIDI2LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAotICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAotICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAotICAgIDI2LCAyNiwgMjYsIDI2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDM3LCAzNywgMzcsIDM3LCAzNywgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzNywgMzcsIDM3LCAzNywgMzcsIDM3LCAzNywgMzcsIDM3LCAzNywgMzcsIAogICAgIDM3LCAzNywgMzcsIDM3LCAzNywgMzcsIDM3LCAzNywgMzcsIDM3LCAzNywgMzcsIDM3LCAzNywgMzcsIDM3LCAzNywgMzcsIAotICAgIDM3LCAzNywgMzcsIDM3LCAzNywgMzcsIDM3LCAzNywgMzcsIDM3LCAzNywgMzcsIDM3LCAzNywgMzcsIDM3LCAzNywgMzQsIAotICAgIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIAotICAgIDM0LCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgCisgICAgMzcsIDM3LCAzNywgMzcsIDM3LCAzNywgMzcsIDM3LCAzNywgMzcsIDM3LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgCisgICAgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDI0MSwgMjQxLCAyNDEsIDI0MSwgCiAgICAgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIAogICAgIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAKICAgICAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgCiAgICAgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIAotICAgIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyMjcsIDI0MiwgMjQyLCAyNDIsIDI0MiwgMjQyLCAKLSAgICAyNDIsIDI0MiwgMjQyLCAyNDIsIDI0MiwgMjQyLCAyNDIsIDI0MiwgMjQyLCAyNDIsIDI0MiwgMjQyLCAyNDIsIDI0MiwgCi0gICAgMjQyLCAyNDIsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAKKyAgICAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgCisgICAgMjQxLCAyNDEsIDI0MSwgMjQxLCAyMjcsIDI0MiwgMjQyLCAyNDIsIDI0MiwgMjQyLCAyNDIsIDI0MiwgMjQyLCAyNDIsIAorICAgIDI0MiwgMjQyLCAyNDIsIDI0MiwgMjQyLCAyNDIsIDI0MiwgMjQyLCAyNDIsIDI0MiwgMjQyLCAyNDIsIDMwLCAzMCwgMzAsIAogICAgIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIAogICAgIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIAogICAgIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIAotICAgIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDI2LCAyNiwgMjYsIDI2LCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIAogICAgIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIAotICAgIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAotICAgIDI2LCAyNiwgMjYsIDI2LCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIAotICAgIDMwLCAzMCwgMjYsIDI2LCAzMCwgMzAsIDMwLCAzMCwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAotICAgIDMwLCAzMCwgMjYsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAotICAgIDMwLCAzMCwgMjYsIDI2LCAzMCwgNDAsIDI2LCAyNiwgMjYsIDI2LCAzMCwgMzAsIDI2LCAyNiwgMzAsIDQwLCAyNiwgMjYsIAotICAgIDI2LCAyNiwgMzAsIDMwLCAzMCwgMjYsIDI2LCAzMCwgMjYsIDI2LCAzMCwgMzAsIDMwLCAzMCwgMjYsIDI2LCAyNiwgMjYsIAotICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDMwLCAzMCwgMzAsIDMwLCAyNiwgMjYsIAotICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAzMCwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCA3OCwgNzgsIAotICAgIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMzAsIDMwLCAyNiwgMjYsIDMwLCAyNiwgMjYsIAotICAgIDI2LCAyNiwgMzAsIDMwLCAyNiwgMjYsIDI2LCAyNiwgMzAsIDMwLCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAzMCwgMjYsIAotICAgIDMwLCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAotICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAzMCwgMjYsIAotICAgIDMwLCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAotICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDMwLCAzMCwgMjYsIDMwLCAzMCwgMzAsIAotICAgIDI2LCAzMCwgMzAsIDMwLCAzMCwgMjYsIDMwLCAzMCwgMjYsIDQwLCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDMwLCAyNiwgMjYsIDI2LCAyNiwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIAorICAgIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIAorICAgIDMwLCAzMCwgMzAsIDMwLCAzMCwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMzAsIAorICAgIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDI2LCAyNiwgMzAsIAorICAgIDMwLCAzMCwgMzAsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAzMCwgMzAsIDI2LCAzMCwgMzAsIAorICAgIDMwLCAzMCwgMzAsIDMwLCAzMCwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAzMCwgMzAsIDI2LCAyNiwgMzAsIAorICAgIDQwLCAyNiwgMjYsIDI2LCAyNiwgMzAsIDMwLCAyNiwgMjYsIDMwLCA0MCwgMjYsIDI2LCAyNiwgMjYsIDMwLCAzMCwgMzAsIAorICAgIDI2LCAyNiwgMzAsIDI2LCAyNiwgMzAsIDMwLCAzMCwgMzAsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAzMCwgMzAsIDMwLCAzMCwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMzAsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIAorICAgIDc4LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDMwLCAzMCwgMjYsIDI2LCAzMCwgMjYsIDI2LCAyNiwgMjYsIDMwLCAzMCwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDMwLCAzMCwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMzAsIDI2LCAzMCwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMzAsIDI2LCAzMCwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAzMCwgMzAsIDI2LCAzMCwgMzAsIDMwLCAyNiwgMzAsIDMwLCAzMCwgMzAsIAorICAgIDI2LCAzMCwgMzAsIDI2LCA0MCwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDMwLCAzMCwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgODAsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMzAsIDMwLCAyNiwgMjYsIDI2LCAyNiwgMzAsIAorICAgIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDI2LCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIAorICAgIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMjYsIDMwLCAyNiwgMjYsIDI2LCAyNiwgMzAsIAorICAgIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIAorICAgIDMwLCAzMCwgMzAsIDMwLCAzMCwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAogICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAogICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAotICAgIDI2LCAyNiwgMzAsIDMwLCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCA4MCwgMjYsIAotICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAzMCwgMzAsIAotICAgIDI2LCAyNiwgMjYsIDI2LCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMjYsIDMwLCAzMCwgMzAsIAotICAgIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAyNiwgMzAsIAotICAgIDI2LCAyNiwgMjYsIDI2LCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIAotICAgIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAwLCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMzAsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCiAgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCi0gICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCi0gICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAzMCwgCi0gICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCi0gICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDMwLCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCi0gICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMTYzLCAxNjQsIDE2MywgMTY0LCAxNjMsIDE2NCwgMTYzLCAxNjQsIDE2MywgMTY0LCAKLSAgICAxNjMsIDE2NCwgMTYzLCAxNjQsIDI0MiwgMjQyLCAyNDIsIDI0MiwgMjQyLCAyNDIsIDI0MiwgMjQyLCAyNDIsIDI0MiwgCisgICAgMjYsIDI2LCAzMCwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDE2MywgMTY0LCAxNjMsIDE2NCwgMTYzLCAxNjQsIDE2MywgMTY0LCAxNjMsIDE2NCwgMTYzLCAxNjQsIDE2MywgMTY0LCAKKyAgICAyNDIsIDI0MiwgMjQyLCAyNDIsIDI0MiwgMjQyLCAyNDIsIDI0MiwgMjQyLCAyNDIsIDE1MywgMTUzLCAxNTMsIDE1MywgCiAgICAgMTUzLCAxNTMsIDE1MywgMTUzLCAxNTMsIDE1MywgMTUzLCAxNTMsIDE1MywgMTUzLCAxNTMsIDE1MywgMTUzLCAxNTMsIAotICAgIDE1MywgMTUzLCAxNTMsIDE1MywgMTUzLCAxNTMsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMTUzLCAxNTMsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKICAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyMzIsIDc4LCA3OCwgCi0gICAgMjMyLCAyMzIsIDE2MywgMTY0LCA3OCwgMjMyLCAyMzIsIDc4LCAyMzIsIDIzMiwgMjMyLCA3OCwgNzgsIDc4LCA3OCwgNzgsIAotICAgIDIzMiwgMjMyLCAyMzIsIDIzMiwgNzgsIDc4LCA3OCwgNzgsIDc4LCAyMzIsIDIzMiwgMjMyLCA3OCwgNzgsIDc4LCAyMzIsIAotICAgIDIzMiwgMjMyLCAyMzIsIDksIDEwLCA5LCAxMCwgOSwgMTAsIDksIDEwLCAxNjMsIDE2NCwgNzgsIDc4LCA3OCwgNzgsIDc4LCAKLSAgICA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjMyLCA3OCwgNzgsIDIzMiwgMjMyLCAxNjMsIDE2NCwgCisgICAgNzgsIDIzMiwgMjMyLCA3OCwgMjMyLCAyMzIsIDIzMiwgNzgsIDc4LCA3OCwgNzgsIDc4LCAyMzIsIDIzMiwgMjMyLCAyMzIsIAorICAgIDc4LCA3OCwgNzgsIDc4LCA3OCwgMjMyLCAyMzIsIDIzMiwgNzgsIDc4LCA3OCwgMjMyLCAyMzIsIDIzMiwgMjMyLCA5LCAxMCwgCisgICAgOSwgMTAsIDksIDEwLCA5LCAxMCwgMTYzLCAxNjQsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCAKKyAgICA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCAKICAgICA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCAKICAgICA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCAKICAgICA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCAKICAgICA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCAKICAgICA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCAKICAgICA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCAKLSAgICA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgNzgsIDc4LCA3OCwgNzgsIDc4LCAKKyAgICA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCAKICAgICA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCAKICAgICA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCAKICAgICA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCAKICAgICA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCAKICAgICA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCAKICAgICA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCAKLSAgICA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCAKLSAgICAxNjMsIDE2NCwgOSwgMTAsIDE2MywgMTY0LCAxNjMsIDE2NCwgMTYzLCAxNjQsIDE2MywgMTY0LCAxNjMsIDE2NCwgMTYzLCAKLSAgICAxNjQsIDE2MywgMTY0LCAxNjMsIDE2NCwgMTYzLCAxNjQsIDc4LCA3OCwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgCi0gICAgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIAotICAgIDIzMiwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCAyMzIsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCAKLSAgICAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCA3OCwgNzgsIDc4LCAyMzIsIDc4LCA3OCwgNzgsIDc4LCAyMzIsIDIzMiwgCi0gICAgMjMyLCAyMzIsIDIzMiwgNzgsIDIzMiwgMjMyLCA3OCwgNzgsIDE2MywgMTY0LCAxNjMsIDE2NCwgMjMyLCA3OCwgNzgsIDc4LCAKLSAgICA3OCwgMjMyLCA3OCwgMjMyLCAyMzIsIDIzMiwgNzgsIDc4LCAyMzIsIDIzMiwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIAotICAgIDc4LCA3OCwgNzgsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDc4LCA3OCwgMTYzLCAxNjQsIDc4LCA3OCwgNzgsIAotICAgIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDIzMiwgMjMyLCAyMjYsIDIzMiwgMjMyLCAyMzIsIDIzMiwgCi0gICAgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgNzgsIDIzMiwgMjMyLCAKLSAgICAyMzIsIDIzMiwgNzgsIDc4LCAyMzIsIDc4LCAyMzIsIDc4LCA3OCwgMjMyLCA3OCwgMjMyLCAyMzIsIDIzMiwgMjMyLCA3OCwgCi0gICAgNzgsIDc4LCA3OCwgNzgsIDIzMiwgMjMyLCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCAyMzIsIDIzMiwgMjMyLCA3OCwgNzgsIAotICAgIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIAotICAgIDc4LCA3OCwgNzgsIDc4LCAyMzIsIDIzMiwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCAKLSAgICAyMzIsIDIzMiwgNzgsIDc4LCA3OCwgNzgsIDIzMiwgMjMyLCAyMzIsIDIzMiwgNzgsIDIzMiwgMjMyLCA3OCwgNzgsIDIzMiwgCi0gICAgMjI2LCAyMTYsIDIxNiwgNzgsIDc4LCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIAorICAgIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCAxNjMsIDE2NCwgOSwgMTAsIDE2MywgCisgICAgMTY0LCAxNjMsIDE2NCwgMTYzLCAxNjQsIDE2MywgMTY0LCAxNjMsIDE2NCwgMTYzLCAxNjQsIDE2MywgMTY0LCAxNjMsIAorICAgIDE2NCwgMTYzLCAxNjQsIDc4LCA3OCwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAKKyAgICAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgNzgsIDc4LCA3OCwgNzgsIAorICAgIDc4LCA3OCwgNzgsIDc4LCAyMzIsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgCisgICAgMjMyLCA3OCwgNzgsIDc4LCAyMzIsIDc4LCA3OCwgNzgsIDc4LCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgNzgsIDIzMiwgCisgICAgMjMyLCA3OCwgNzgsIDE2MywgMTY0LCAxNjMsIDE2NCwgMjMyLCA3OCwgNzgsIDc4LCA3OCwgMjMyLCA3OCwgMjMyLCAyMzIsIAorICAgIDIzMiwgNzgsIDc4LCAyMzIsIDIzMiwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDIzMiwgMjMyLCAKKyAgICAyMzIsIDIzMiwgMjMyLCAyMzIsIDc4LCA3OCwgMTYzLCAxNjQsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIAorICAgIDc4LCA3OCwgNzgsIDIzMiwgMjMyLCAyMjYsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIAorICAgIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgNzgsIDIzMiwgMjMyLCAyMzIsIDIzMiwgNzgsIDc4LCAyMzIsIAorICAgIDc4LCAyMzIsIDc4LCA3OCwgMjMyLCA3OCwgMjMyLCAyMzIsIDIzMiwgMjMyLCA3OCwgNzgsIDc4LCA3OCwgNzgsIDIzMiwgCisgICAgMjMyLCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCAyMzIsIDIzMiwgMjMyLCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgCisgICAgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCAyMzIsIAorICAgIDIzMiwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCAyMzIsIDIzMiwgNzgsIDc4LCA3OCwgCisgICAgNzgsIDIzMiwgMjMyLCAyMzIsIDIzMiwgNzgsIDIzMiwgMjMyLCA3OCwgNzgsIDIzMiwgMjI2LCAyMTYsIDIxNiwgNzgsIDc4LCAKICAgICAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgCiAgICAgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIAotICAgIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCA3OCwgNzgsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAKLSAgICA3OCwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIAogICAgIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAKLSAgICAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCA3OCwgNzgsIDc4LCAKLSAgICA3OCwgNzgsIDI0MywgNzgsIDIzMiwgNzgsIDc4LCA3OCwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDc4LCA3OCwgNzgsIAotICAgIDc4LCA3OCwgMjMyLCAyMzIsIDIzMiwgNzgsIDc4LCA3OCwgNzgsIDIzMiwgNzgsIDc4LCA3OCwgMjMyLCAyMzIsIDIzMiwgCi0gICAgMjMyLCAyMzIsIDc4LCAyMzIsIDc4LCA3OCwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyMzIsIDc4LCA3OCwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDc4LCAyMzIsIDIzMiwgMjMyLCAKKyAgICAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgCisgICAgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIAorICAgIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgMjMyLCAyMzIsIDc4LCA3OCwgNzgsIDc4LCA3OCwgMjQzLCA3OCwgCisgICAgMjMyLCA3OCwgNzgsIDc4LCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgNzgsIDc4LCA3OCwgNzgsIDc4LCAyMzIsIDIzMiwgCisgICAgMjMyLCA3OCwgNzgsIDc4LCA3OCwgMjMyLCA3OCwgNzgsIDc4LCAyMzIsIDIzMiwgMjMyLCAyMzIsIDIzMiwgNzgsIDIzMiwgCisgICAgNzgsIDc4LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCiAgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCA3OCwgNzgsIDc4LCA3OCwgCisgICAgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCAyNiwgCisgICAgMjYsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMzAsIDMwLCAzMCwgCisgICAgMzAsIDMwLCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDAsIDAsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKICAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAyNiwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCAKLSAgICA3OCwgNzgsIDc4LCA3OCwgMjYsIDI2LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCAwLCAwLCAwLCAyNiwgMjYsIDI2LCAyNiwgCi0gICAgMjYsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDAsIDAsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAwLCAwLCAwLCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAwLCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgCiAgICAgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgCi0gICAgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgMCwgNDcsIDQ3LCAKKyAgICA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCAKKyAgICA0NCwgNDQsIDAsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIAogICAgIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIAorICAgIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgMCwgNDQsIDQ3LCA0NCwgCisgICAgNDQsIDQ0LCA0NywgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NCwgNDQsIDQ0LCA0NywgNDQsIDQ3LCA0NywgCisgICAgNDQsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDUxLCA1MSwgNDQsIDQ0LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgCisgICAgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgCisgICAgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgCisgICAgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgCisgICAgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgCisgICAgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgCisgICAgNDcsIDQ0LCA0NywgNDcsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDQ0LCA0NywgNDQsIDQ3LCA4MSwgODEsIDgxLCA0NCwgCisgICAgNDcsIDAsIDAsIDAsIDAsIDAsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTUzLCAxMzgsIDEzOCwgNDcsIDQ3LCA0NywgNDcsIDQ3LCAKICAgICA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCAKLSAgICA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCAwLCA0NCwgNDcsIDQ0LCA0NCwgNDQsIDQ3LCA0NywgNDQsIAotICAgIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ0LCA0NCwgNDQsIDQ3LCA0NCwgNDcsIDQ3LCA0NCwgNDcsIDQ3LCA0NywgNDcsIAotICAgIDQ3LCA0NywgNTEsIDUxLCA0NCwgNDQsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIAotICAgIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIAotICAgIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIAotICAgIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIAotICAgIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIAotICAgIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NywgMjYsIAotICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgNDQsIDQ3LCA0NCwgNDcsIDgxLCA4MSwgODEsIDQ0LCA0NywgMCwgMCwgMCwgMCwgMCwgCi0gICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxNTMsIDEzOCwgMTM4LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCAKLSAgICA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCAKLSAgICA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDAsIDQ3LCAwLCAwLCAwLCAwLCAwLCA0NywgMCwgCi0gICAgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCAwLCA0NywgMCwgMCwgCisgICAgMCwgMCwgMCwgNDcsIDAsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKICAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKICAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1MSwgODMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDE0MiwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAotICAgIDQ4LCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTEsIDgzLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNDIsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCA0OCwgCiAgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCAwLCA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCA4MSwgODEsIAorICAgIDQ4LCA0OCwgNDgsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDgxLCA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCAKICAgICA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCAKLSAgICAxMzgsIDEzOCwgMjgsIDM2LCAyOCwgMzYsIDEzOCwgMTM4LCAxMzgsIDI4LCAzNiwgMTM4LCAyOCwgMzYsIDEzOCwgMTM4LCAKLSAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDg0LCAxMzgsIDEzOCwgODQsIDEzOCwgMjgsIDM2LCAxMzgsIAotICAgIDEzOCwgMjgsIDM2LCAxNjMsIDE2NCwgMTYzLCAxNjQsIDE2MywgMTY0LCAxNjMsIDE2NCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAKLSAgICAxMzgsIDUyLCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDg0LCA4NCwgMCwgMCwgCisgICAgODEsIDgxLCA4MSwgODEsIDEzOCwgMTM4LCAyOCwgMzYsIDI4LCAzNiwgMTM4LCAxMzgsIDEzOCwgMjgsIDM2LCAxMzgsIDI4LCAKKyAgICAzNiwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgODQsIDEzOCwgMTM4LCA4NCwgMTM4LCAKKyAgICAyOCwgMzYsIDEzOCwgMTM4LCAyOCwgMzYsIDE2MywgMTY0LCAxNjMsIDE2NCwgMTYzLCAxNjQsIDE2MywgMTY0LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgNTIsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgODQsIDg0LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDg0LCAxMzgsIDE5NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAKLSAgICAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgCi0gICAgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDAsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ1LCAyNDQsIAorICAgIDAsIDAsIDAsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgCisgICAgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAwLCAyNDQsIAorICAgIDI0NCwgMjQ0LCAyNDQsIDI0NSwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAKICAgICAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgCiAgICAgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIAogICAgIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAKICAgICAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgCiAgICAgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIAotICAgIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NSwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjQ1LCAyNDUsIDI0NSwgMjQ1LCAyNDUsIDI0NSwgMjQ1LCAyNDUsIDI0NSwgCisgICAgMjQ0LCAyNDQsIDI0NCwgMjQ1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNDUsIDI0NSwgMjQ1LCAKICAgICAyNDUsIDI0NSwgMjQ1LCAyNDUsIDI0NSwgMjQ1LCAyNDUsIDI0NSwgMjQ1LCAyNDUsIDI0NSwgMjQ1LCAyNDUsIDI0NSwgCiAgICAgMjQ1LCAyNDUsIDI0NSwgMjQ1LCAyNDUsIDI0NSwgMjQ1LCAyNDUsIDI0NSwgMjQ1LCAyNDUsIDI0NSwgMjQ1LCAyNDUsIAogICAgIDI0NSwgMjQ1LCAyNDUsIDI0NSwgMjQ1LCAyNDUsIDI0NSwgMjQ1LCAyNDUsIDI0NSwgMjQ1LCAyNDUsIDI0NSwgMjQ1LCAKQEAgLTE4NzAsODEgKzE5OTEsODEgQEAKICAgICAyNDUsIDI0NSwgMjQ1LCAyNDUsIDI0NSwgMjQ1LCAyNDUsIDI0NSwgMjQ1LCAyNDUsIDI0NSwgMjQ1LCAyNDUsIDI0NSwgCiAgICAgMjQ1LCAyNDUsIDI0NSwgMjQ1LCAyNDUsIDI0NSwgMjQ1LCAyNDUsIDI0NSwgMjQ1LCAyNDUsIDI0NSwgMjQ1LCAyNDUsIAogICAgIDI0NSwgMjQ1LCAyNDUsIDI0NSwgMjQ1LCAyNDUsIDI0NSwgMjQ1LCAyNDUsIDI0NSwgMjQ1LCAyNDUsIDI0NSwgMjQ1LCAKLSAgICAyNDUsIDI0NSwgMjQ1LCAyNDUsIDI0NSwgMjQ1LCAyNDUsIDI0NSwgMjQ1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNDQsIDI0NCwgMjQ0LCAyNDQsIAotICAgIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAwLCAwLCAwLCAwLCAyNDYsIDI0NywgMjQ3LCAyNDcsIAotICAgIDI0NCwgMjQ4LCAxNzAsIDI0OSwgMjUwLCAyNTEsIDI1MCwgMjUxLCAyNTAsIDI1MSwgMjUwLCAyNTEsIDI1MCwgMjUxLCAKLSAgICAyNDQsIDI0NCwgMjUwLCAyNTEsIDI1MCwgMjUxLCAyNTAsIDI1MSwgMjUwLCAyNTEsIDI1MiwgMjUzLCAyNTQsIDI1NCwgCi0gICAgMjQ0LCAyNDksIDI0OSwgMjQ5LCAyNDksIDI0OSwgMjQ5LCAyNDksIDI0OSwgMjQ5LCAyNTUsIDI1NiwgMjU3LCAyNTgsIAotICAgIDI1OSwgMjU5LCAyNTIsIDI0OCwgMjQ4LCAyNDgsIDI0OCwgMjQ4LCAyNDUsIDI0NCwgMjYwLCAyNjAsIDI2MCwgMjQ4LCAKLSAgICAxNzAsIDI0NywgMjQ0LCAyNiwgMCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAKLSAgICAxNzAsIDI2MSwgMTcwLCAyNjEsIDE3MCwgMjYxLCAxNzAsIDI2MSwgMTcwLCAyNjEsIDE3MCwgMjYxLCAxNzAsIDI2MSwgCi0gICAgMTcwLCAyNjEsIDE3MCwgMjYxLCAxNzAsIDI2MSwgMTcwLCAyNjEsIDE3MCwgMjYxLCAxNzAsIDE3MCwgMjYxLCAxNzAsIAotICAgIDI2MSwgMTcwLCAyNjEsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDI2MSwgMjYxLCAxNzAsIDI2MSwgMjYxLCAKLSAgICAxNzAsIDI2MSwgMjYxLCAxNzAsIDI2MSwgMjYxLCAxNzAsIDI2MSwgMjYxLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgCi0gICAgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIAotICAgIDE3MCwgMTcwLCAxNzAsIDI2MSwgMTcwLCAxNzAsIDAsIDAsIDI2MiwgMjYyLCAyNjMsIDI2MywgMjQ4LCAyNjQsIDI2NSwgCi0gICAgMjUyLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMjYxLCAxNzAsIAorICAgIDI0NSwgMjQ1LCAyNDUsIDI0NSwgMjQ1LCAyNDUsIDI0NSwgMjQ1LCAyNDUsIDI0NSwgMjQ1LCAyNDUsIDI0NSwgMjQ1LCAKKyAgICAyNDUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDAsIAorICAgIDAsIDAsIDAsIDI0NiwgMjQ3LCAyNDcsIDI0NywgMjQ0LCAyNDgsIDE3MCwgMjQ5LCAyNTAsIDI1MSwgMjUwLCAyNTEsIDI1MCwgCisgICAgMjUxLCAyNTAsIDI1MSwgMjUwLCAyNTEsIDI0NCwgMjQ0LCAyNTAsIDI1MSwgMjUwLCAyNTEsIDI1MCwgMjUxLCAyNTAsIAorICAgIDI1MSwgMjUyLCAyNTMsIDI1NCwgMjU0LCAyNDQsIDI0OSwgMjQ5LCAyNDksIDI0OSwgMjQ5LCAyNDksIDI0OSwgMjQ5LCAKKyAgICAyNDksIDI1NSwgMjU2LCAyNTcsIDI1OCwgMjU5LCAyNTksIDI1MiwgMjQ4LCAyNDgsIDI0OCwgMjQ4LCAyNDgsIDI0NSwgCisgICAgMjQ0LCAyNjAsIDI2MCwgMjYwLCAyNDgsIDE3MCwgMjQ3LCAyNDQsIDI2LCAwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgCisgICAgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMjYxLCAxNzAsIDI2MSwgMTcwLCAyNjEsIDE3MCwgMjYxLCAxNzAsIAogICAgIDI2MSwgMTcwLCAyNjEsIDE3MCwgMjYxLCAxNzAsIDI2MSwgMTcwLCAyNjEsIDE3MCwgMjYxLCAxNzAsIDI2MSwgMTcwLCAKLSAgICAyNjEsIDE3MCwgMjYxLCAxNzAsIDI2MSwgMTcwLCAyNjEsIDE3MCwgMTcwLCAyNjEsIDE3MCwgMjYxLCAxNzAsIDI2MSwgCi0gICAgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMjYxLCAyNjEsIDE3MCwgMjYxLCAyNjEsIDE3MCwgMjYxLCAyNjEsIAotICAgIDE3MCwgMjYxLCAyNjEsIDE3MCwgMjYxLCAyNjEsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAKKyAgICAyNjEsIDE3MCwgMTcwLCAyNjEsIDE3MCwgMjYxLCAxNzAsIDI2MSwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgCisgICAgMjYxLCAyNjEsIDE3MCwgMjYxLCAyNjEsIDE3MCwgMjYxLCAyNjEsIDE3MCwgMjYxLCAyNjEsIDE3MCwgMjYxLCAyNjEsIAogICAgIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAKLSAgICAyNjEsIDE3MCwgMTcwLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI0NywgMjQ4LCAyNDgsIDI2NCwgMjY1LCAwLCAwLCAwLCAwLCAKLSAgICAwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgCisgICAgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDI2MSwgMTcwLCAxNzAsIDAsIDAsIDI2MiwgMjYyLCAKKyAgICAyNjMsIDI2MywgMjQ4LCAyNjQsIDI2NSwgMjUyLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgCisgICAgMTcwLCAxNzAsIDE3MCwgMjYxLCAxNzAsIDI2MSwgMTcwLCAyNjEsIDE3MCwgMjYxLCAxNzAsIDI2MSwgMTcwLCAyNjEsIAorICAgIDE3MCwgMjYxLCAxNzAsIDI2MSwgMTcwLCAyNjEsIDE3MCwgMjYxLCAxNzAsIDI2MSwgMTcwLCAyNjEsIDE3MCwgMTcwLCAKKyAgICAyNjEsIDE3MCwgMjYxLCAxNzAsIDI2MSwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMjYxLCAyNjEsIDE3MCwgCisgICAgMjYxLCAyNjEsIDE3MCwgMjYxLCAyNjEsIDE3MCwgMjYxLCAyNjEsIDE3MCwgMjYxLCAyNjEsIDE3MCwgMTcwLCAxNzAsIAogICAgIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAKLSAgICAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDAsIDAsIDAsIAotICAgIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAKLSAgICAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgCi0gICAgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIAotICAgIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAKLSAgICAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgCi0gICAgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIAotICAgIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMCwgMjY2LCAyNjYsIDI2NywgMjY3LCAKLSAgICAyNjcsIDI2NywgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAxNzAsIDE3MCwgCisgICAgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDI2MSwgMTcwLCAxNzAsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjQ3LCAyNDgsIAorICAgIDI0OCwgMjY0LCAyNjUsIDAsIDAsIDAsIDAsIDAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAKICAgICAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgCi0gICAgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAKKyAgICAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMCwgMCwgMCwgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIAorICAgIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAKKyAgICAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgCisgICAgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIAorICAgIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAKKyAgICAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgCisgICAgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIAorICAgIDI2NSwgMjY1LCAwLCAyNjYsIDI2NiwgMjY3LCAyNjcsIDI2NywgMjY3LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAKKyAgICAyNjgsIDI2OCwgMjY4LCAyNjgsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgCisgICAgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIAorICAgIDE3MCwgMTcwLCAxNzAsIDAsIDAsIDAsIDAsIDAsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAKICAgICAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgCi0gICAgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIAotICAgIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgCi0gICAgMTcwLCAxNzAsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIAorICAgIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgCisgICAgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIAogICAgIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAKLSAgICAyNjgsIDI2OCwgMjY4LCAyNDUsIDI0NSwgMCwgMjY3LCAyNjcsIDI2NywgMjY3LCAyNjcsIDI2NywgMjY3LCAyNjcsIDI2NywgCi0gICAgMjY3LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIAorICAgIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI0NSwgMjQ1LCAwLCAyNjcsIDI2NywgMjY3LCAKKyAgICAyNjcsIDI2NywgMjY3LCAyNjcsIDI2NywgMjY3LCAyNjcsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgCiAgICAgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIAotICAgIDI2OCwgMjY4LCAyNjgsIDI2OSwgMjY5LCAyNjksIDI2OSwgMjY5LCAyNjksIDI2OSwgMjY5LCAyNDUsIDI3MCwgMjcwLCAKLSAgICAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI2OCwgCisgICAgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY5LCAyNjksIDI2OSwgMjY5LCAyNjksIAorICAgIDI2OSwgMjY5LCAyNjksIDI0NSwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAKKyAgICAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgCisgICAgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIAorICAgIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNDUsIDI0NSwgMjQ1LCAyNjYsIDI2NywgMjY3LCAyNjcsIDI2NywgMjY3LCAKKyAgICAyNjcsIDI2NywgMjY3LCAyNjcsIDI2NywgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgCisgICAgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIAorICAgIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAKKyAgICAyNjgsIDI2OCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgCisgICAgMjcwLCAyNzAsIDI3MCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIAorICAgIDI2OCwgMjQ1LCAyNDUsIDI0NSwgMjQ1LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAKKyAgICAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgCisgICAgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIAorICAgIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAKKyAgICAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgCisgICAgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIAorICAgIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAKKyAgICAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgCisgICAgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIAorICAgIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAKKyAgICAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgCisgICAgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIAorICAgIDI2OCwgMjY4LCAyNjgsIDI0NSwgMjQ1LCAyNDUsIDI0NSwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAKKyAgICAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgCisgICAgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIAorICAgIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAKKyAgICAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgCisgICAgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIAorICAgIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAKKyAgICAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjQ1LCAyNDUsIDI2OCwgMjY4LCAyNjgsIDI2OCwgCiAgICAgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIAogICAgIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjQ1LCAKLSAgICAyNDUsIDI0NSwgMjY2LCAyNjcsIDI2NywgMjY3LCAyNjcsIDI2NywgMjY3LCAyNjcsIDI2NywgMjY3LCAyNjcsIDI2OCwgCi0gICAgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIAotICAgIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAKLSAgICAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI3MCwgMjcwLCAyNzAsIDI3MCwgCi0gICAgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI2OCwgMjY4LCAyNjgsIAotICAgIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI0NSwgMjQ1LCAyNDUsIDI0NSwgMjY4LCAKLSAgICAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgCi0gICAgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIAotICAgIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAKLSAgICAyNjgsIDI2OCwgMjY4LCAyNjgsIDAsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgCi0gICAgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIAotICAgIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAKLSAgICAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgCi0gICAgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIAotICAgIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAKLSAgICAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgCi0gICAgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIAotICAgIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNDUsIDI0NSwgMjQ1LCAKLSAgICAyNDUsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgCi0gICAgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIAotICAgIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAKLSAgICAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgCi0gICAgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIAotICAgIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAKLSAgICAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgCi0gICAgMjY4LCAyNjgsIDI0NSwgMjQ1LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIAotICAgIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAKLSAgICAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI0NSwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgCiAgICAgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIAogICAgIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAKICAgICAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgCkBAIC0xOTU3LDY0OSArMjA3OCwxMSBAQAogICAgIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAKICAgICAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgCiAgICAgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIAotICAgIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNiwgCi0gICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCi0gICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCi0gICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCi0gICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAKLSAgICAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgCi0gICAgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIAotICAgIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAKLSAgICAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgCiAgICAgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgCi0gICAgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDI0OCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIAotICAgIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAKLSAgICAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgCi0gICAgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIAotICAgIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAKLSAgICAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgCi0gICAgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIAotICAgIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAKLSAgICAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgCi0gICAgMTcwLCAxNzAsIDAsIDAsIDAsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAKLSAgICAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgCi0gICAgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIAotICAgIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAKLSAgICAyNDQsIDI0NCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDUzLCA1MywgNTMsIDUzLCA1MywgCi0gICAgNTMsIDgzLCA4MywgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNTMsIDEzOCwgMTM4LCAKLSAgICAxMzgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAxNDQsIAotICAgIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDQ4LCA0OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCAKLSAgICA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCAKLSAgICA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCAKLSAgICA0NCwgNDcsIDQ4LCA4MSwgODIsIDgyLCA4MiwgMTM4LCA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCA4MSwgCi0gICAgMTM4LCA1MiwgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIAotICAgIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgODEsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgCi0gICAgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDgxLCA4MSwgODMsIDgzLCA4MywgODMsIDgzLCA4MywgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgNTQsIDU0LCA1NCwgNTQsIDU0LCA1NCwgNTQsIDU0LCA1NCwgNTQsIDU0LCA1NCwgNTQsIDU0LCA1NCwgNTQsIAotICAgIDU0LCA1NCwgNTQsIDU0LCA1NCwgNTQsIDU0LCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1NCwgNTQsIAotICAgIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDcsIDQ3LCA0NCwgNDcsIAotICAgIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIAotICAgIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIAotICAgIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIAotICAgIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDUxLCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ0LCA0NywgNDQsIAotICAgIDQ3LCA0NCwgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDUyLCAyNzEsIDI3MSwgNDQsIDQ3LCA0NCwgCi0gICAgNDcsIDAsIDQ0LCA0NywgNDQsIDQ3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0NCwgNDcsIDQ0LCAKLSAgICA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDUxLCA1MSwgNDcsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCAxMzUsIDQ4LCA0OCwgNDgsIDE0MiwgNDgsIDQ4LCA0OCwgNDgsIDEzNSwgNDgsIDQ4LCA0OCwgNDgsIAotICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAotICAgIDQ4LCAxMzksIDEzOSwgMTM1LCAxMzUsIDEzOSwgMjYsIDI2LCAyNiwgMjYsIDAsIDAsIDAsIDAsIDE0OCwgMTQ4LCAxNDgsIAotICAgIDE0OCwgMTQ4LCAxNDgsIDgwLCA4MCwgODUsIDIyNSwgMCwgMCwgMCwgMCwgMCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMTM5LCAxMzksIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgMTM5LCAxMzksIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM5LCAxMzksIAotICAgIDEzOSwgMTM5LCAxNDIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDgzLCA4MywgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAKLSAgICAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAwLCAwLCAwLCAwLCAwLCAwLCA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCAKLSAgICA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA4MywgODMsIDgzLCA0OCwgMCwgMCwgMCwgMCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgCi0gICAgMTQ0LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAotICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDg2LCAKLSAgICA4NiwgODYsIDgzLCA4MywgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIAotICAgIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM5LCAxNzUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDgzLCAxNzAsIAotICAgIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAKLSAgICAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMCwgCi0gICAgMCwgMCwgMTM1LCAxMzUsIDEzNSwgMTM5LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDE0NSwgCi0gICAgMTM5LCAxMzksIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM5LCAxMzksIDEzNSwgMTM5LCAxMzksIDEzOSwgMTc1LCA4MywgODMsIAotICAgIDgzLCA4MywgODMsIDgzLCA4MywgODMsIDgzLCA4MywgODMsIDgzLCA4MywgMCwgNTMsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgCi0gICAgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMCwgMCwgMCwgMCwgODMsIDgzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzOSwgMTM5LCAxMzUsIDEzNSwgCi0gICAgMTM5LCAxMzksIDEzNSwgMTM1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0OCwgNDgsIDQ4LCAxMzUsIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMTM1LCAxMzksIDAsIDAsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIAotICAgIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMCwgMCwgODMsIDgzLCA4MywgODMsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA1MywgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgODAsIDgwLCA4MCwgCi0gICAgNDgsIDEzOSwgMCwgMCwgMCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAotICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAotICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgODEsIAotICAgIDQ4LCA4MSwgODEsIDg2LCA0OCwgNDgsIDgxLCA4MSwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA4MSwgODEsIDQ4LCA4MSwgNDgsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDQ4LCA0OCwgNTMsIDgzLCA4MywgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAxMzksIDEzNSwgCi0gICAgMTM1LCAxMzksIDEzOSwgODMsIDgzLCA0OCwgNTMsIDUzLCAxMzksIDE0MiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgMCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIAotICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAotICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAotICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDEzOSwgMTM5LCAxMzUsIDEzOSwgMTM5LCAxMzUsIDEzOSwgMTM5LCA4MywgMTM5LCAKLSAgICAxNDIsIDAsIDAsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAKLSAgICAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgCi0gICAgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIAotICAgIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAKLSAgICAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgCi0gICAgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIAotICAgIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAKLSAgICAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgCi0gICAgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIAotICAgIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAKLSAgICAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgCi0gICAgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgMCwgMCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDAsIDAsIDAsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIAotICAgIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAKLSAgICAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgCi0gICAgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIAotICAgIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAKLSAgICAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgCi0gICAgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIAotICAgIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAKLSAgICAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgCi0gICAgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzMsIDI3MywgMjczLCAyNzMsIAotICAgIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAKLSAgICAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgCi0gICAgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIAotICAgIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAKLSAgICAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgCi0gICAgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIAotICAgIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAKLSAgICAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgCi0gICAgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjc0LCAyNzQsIAotICAgIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAKLSAgICAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgCi0gICAgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIAotICAgIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAKLSAgICAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgCi0gICAgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIAotICAgIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAKLSAgICAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgCi0gICAgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIAotICAgIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAKLSAgICAxNzAsIDE3MCwgMjc0LCAxNzAsIDI3NCwgMTcwLCAxNzAsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgCi0gICAgMjc0LCAyNzQsIDI3NCwgMTcwLCAyNzQsIDE3MCwgMjc0LCAxNzAsIDE3MCwgMjc0LCAyNzQsIDE3MCwgMTcwLCAxNzAsIAotICAgIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAKLSAgICAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgCi0gICAgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIAotICAgIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAKLSAgICAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAwLCAwLCAyNzQsIAotICAgIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAKLSAgICAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgCi0gICAgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIAotICAgIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAKLSAgICAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgCi0gICAgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIAotICAgIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAKLSAgICAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzNSwgCi0gICAgMzUsIDM1LCAzNSwgMzUsIDAsIDAsIDAsIDAsIDAsIDI3NSwgMjc2LCAyNzUsIDI3NywgMjc3LCAyNzcsIDI3NywgMjc3LCAKLSAgICAyNzcsIDI3NywgMjc3LCAyNzcsIDIxNSwgMjc1LCAyNzUsIDI3NSwgMjc1LCAyNzUsIDI3NSwgMjc1LCAyNzUsIDI3NSwgCi0gICAgMjc1LCAyNzUsIDI3NSwgMjc1LCAwLCAyNzUsIDI3NSwgMjc1LCAyNzUsIDI3NSwgMCwgMjc1LCAwLCAyNzUsIDI3NSwgMCwgCi0gICAgMjc1LCAyNzUsIDAsIDI3NSwgMjc1LCAyNzUsIDI3NSwgMjc1LCAyNzUsIDI3NSwgMjc1LCAyNzUsIDI3NywgMTMxLCAxMzEsIAotICAgIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAKLSAgICAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgCi0gICAgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIAotICAgIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAKLSAgICAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgCi0gICAgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIAotICAgIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDI3OCwgMjc4LCAKLSAgICAyNzgsIDI3OCwgMjc4LCAyNzgsIDI3OCwgMjc4LCAyNzgsIDI3OCwgMjc4LCAyNzgsIDI3OCwgMjc4LCAyNzgsIDI3OCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIAotICAgIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAKLSAgICAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgCi0gICAgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIAotICAgIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAKLSAgICAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgCi0gICAgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIAotICAgIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAKLSAgICAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgCi0gICAgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIAotICAgIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAKLSAgICAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgCi0gICAgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIAotICAgIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAKLSAgICAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgCi0gICAgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIAotICAgIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAKLSAgICAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxOTUsIDI3OSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIAotICAgIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAKLSAgICAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgCi0gICAgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIAotICAgIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAwLCAwLCAxMzEsIDEzMSwgCi0gICAgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIAotICAgIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAKLSAgICAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgCi0gICAgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIAotICAgIDEzMSwgMTMxLCAyODAsIDI2LCAwLCAwLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgMjgxLCAyODEsIDI4MSwgMjgxLCAyODEsIDI4MSwgMjgxLCAyODIsIDI4MywgMjgxLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCA4MSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjgxLCAKLSAgICAyODQsIDI4NCwgMjg1LCAyODUsIDI4MiwgMjgzLCAyODIsIDI4MywgMjgyLCAyODMsIDI4MiwgMjgzLCAyODIsIDI4MywgCi0gICAgMjgyLCAyODMsIDI4MiwgMjgzLCAyODIsIDI4MywgMjQ3LCAyNDcsIDI4MiwgMjgzLCAyODEsIDI4MSwgMjgxLCAyODEsIAotICAgIDI4NSwgMjg1LCAyODUsIDI4NiwgMjgxLCAyODYsIDAsIDI4MSwgMjg2LCAyODEsIDI4MSwgMjg0LCAyODcsIDI4OCwgMjg3LCAKLSAgICAyODgsIDI4NywgMjg4LCAyODksIDI4MSwgMjgxLCAyOTAsIDI5MSwgMjkyLCAyOTIsIDI5MywgMCwgMjgxLCAyOTQsIDI4OSwgCi0gICAgMjgxLCAwLCAwLCAwLCAwLCAxMzEsIDEzMSwgMTMxLCAxMTgsIDEzMSwgMCwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIAotICAgIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAKLSAgICAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgCi0gICAgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIAotICAgIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAKLSAgICAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgCi0gICAgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIAotICAgIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAKLSAgICAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgCi0gICAgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIAotICAgIDEzMSwgMTMxLCAxMzEsIDEzMSwgMCwgMCwgMTc0LCAwLCAyOTUsIDI5NSwgMjk2LCAyOTcsIDI5NiwgMjk1LCAyOTUsIDI5OCwgCi0gICAgMjk5LCAyOTUsIDMwMCwgMzAxLCAzMDIsIDMwMSwgMzAxLCAzMDMsIDMwMywgMzAzLCAzMDMsIDMwMywgMzAzLCAzMDMsIAotICAgIDMwMywgMzAzLCAzMDMsIDMwMSwgMjk1LCAzMDQsIDMwNSwgMzA0LCAyOTUsIDI5NSwgMzA2LCAzMDYsIDMwNiwgMzA2LCAKLSAgICAzMDYsIDMwNiwgMzA2LCAzMDYsIDMwNiwgMzA2LCAzMDYsIDMwNiwgMzA2LCAzMDYsIDMwNiwgMzA2LCAzMDYsIDMwNiwgCi0gICAgMzA2LCAzMDYsIDMwNiwgMzA2LCAzMDYsIDMwNiwgMzA2LCAzMDYsIDI5OCwgMjk1LCAyOTksIDMwNywgMzA4LCAzMDcsIAotICAgIDMwOSwgMzA5LCAzMDksIDMwOSwgMzA5LCAzMDksIDMwOSwgMzA5LCAzMDksIDMwOSwgMzA5LCAzMDksIDMwOSwgMzA5LCAKLSAgICAzMDksIDMwOSwgMzA5LCAzMDksIDMwOSwgMzA5LCAzMDksIDMwOSwgMzA5LCAzMDksIDMwOSwgMzA5LCAyOTgsIDMwNSwgCi0gICAgMjk5LCAzMDUsIDI5OCwgMjk5LCAzMTAsIDMxMSwgMzEyLCAzMTAsIDMxMCwgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTMsIAotICAgIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTQsIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAKLSAgICAzMTMsIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTMsIDMxMywgCi0gICAgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTMsIAotICAgIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTMsIDMxNCwgMzE0LCAzMTMsIDMxMywgMzEzLCAKLSAgICAzMTMsIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTMsIDMxMywgCi0gICAgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTMsIDAsIAotICAgIDAsIDAsIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTMsIDAsIDAsIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTMsIAotICAgIDAsIDAsIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTMsIDAsIDAsIDMxMywgMzEzLCAzMTMsIDAsIDAsIDAsIDI5NywgCi0gICAgMjk3LCAzMDUsIDMwNywgMzE1LCAyOTcsIDI5NywgMCwgMzE2LCAzMTcsIDMxNywgMzE3LCAzMTcsIDMxNiwgMzE2LCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzMTgsIDMxOCwgMzE4LCAyNiwgMzAsIDAsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgNDgsIAotICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAotICAgIDAsIDQ4LCA0OCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgMCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAotICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAotICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAotICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAotICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAotICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAotICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAotICAgIDQ4LCAwLCAwLCAwLCAwLCAwLCA4MywgMTM4LCA4MywgMCwgMCwgMCwgMCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgCi0gICAgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIAotICAgIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAKLSAgICAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMCwgMCwgMCwgODAsIDgwLCAKLSAgICA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgMzE5LCAzMTksIDMxOSwgMzE5LCAzMTksIDMxOSwgMzE5LCAzMTksIDMxOSwgCi0gICAgMzE5LCAzMTksIDMxOSwgMzE5LCAzMTksIDMxOSwgMzE5LCAzMTksIDMxOSwgMzE5LCAzMTksIDMxOSwgMzE5LCAzMTksIAotICAgIDMxOSwgMzE5LCAzMTksIDMxOSwgMzE5LCAzMTksIDMxOSwgMzE5LCAzMTksIDMxOSwgMzE5LCAzMTksIDMxOSwgMzE5LCAKLSAgICAzMTksIDMxOSwgMzE5LCAzMTksIDMxOSwgMzE5LCAzMTksIDMxOSwgMzE5LCAzMTksIDMxOSwgMzE5LCAzMTksIDMxOSwgCi0gICAgMzE5LCAzMTksIDE1MywgMTUzLCAxNTMsIDE1MywgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAxNTMsIDAsIDAsIDAsIDAsIDAsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgCi0gICAgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgCi0gICAgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDg2LCAwLCAwLCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDAsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAotICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAotICAgIDQ4LCA0OCwgMCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDE3MywgNDgsIAotICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAxNzMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAotICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAotICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDgzLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCAwLCAwLCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDgzLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCAKLSAgICA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCAKLSAgICA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCAKLSAgICA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCAKLSAgICA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICAwLCAwLCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDAsIDAsIDEwNywgMCwgMTA3LCAKLSAgICAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgCi0gICAgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIAotICAgIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAKLSAgICAxMDcsIDAsIDEwNywgMTA3LCAwLCAwLCAwLCAxMDcsIDAsIDAsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgCi0gICAgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIAotICAgIDEwNywgMTA3LCAwLCAxMDQsIDMyMCwgMzIwLCAzMjAsIDMyMCwgMzIwLCAzMjAsIDMyMCwgMzIwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIAotICAgIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDMyMCwgMzIwLCAzMjAsIDMyMCwgMzIwLCAKLSAgICAzMjAsIDAsIDAsIDAsIDEzOCwgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIAotICAgIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAKLSAgICAxMDcsIDAsIDAsIDAsIDAsIDAsIDEwNCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIAotICAgIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAKLSAgICAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgCi0gICAgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDEwNywgMTA3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAxMDcsIDEzNSwgMTM1LCAxMzUsIDAsIDEzNSwgMTM1LCAwLCAwLCAwLCAwLCAwLCAxMzUsIDg2LCAxMzUsIDgxLCAxMDcsIAotICAgIDEwNywgMTA3LCAxMDcsIDAsIDEwNywgMTA3LCAxMDcsIDAsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgCi0gICAgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIAotICAgIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDAsIDAsIDAsIDAsIDgxLCAxNzYsIDg2LCAwLCAwLCAwLCAwLCAxNDIsIAotICAgIDMyMCwgMzIwLCAzMjAsIDMyMCwgMzIwLCAzMjAsIDMyMCwgMzIwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMDQsIDEwNCwgCi0gICAgMTA0LCAxMDQsIDEwNCwgMTA0LCAxMDQsIDEwNCwgMTA0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMDcsIDEwNywgMTA3LCAKLSAgICAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgCi0gICAgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMzIwLCAzMjAsIAotICAgIDEwNCwgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAKLSAgICAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgCi0gICAgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIAotICAgIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMCwgMCwgMCwgCi0gICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIAotICAgIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAKLSAgICAxMDcsIDAsIDAsIDMyMCwgMzIwLCAzMjAsIDMyMCwgMzIwLCAzMjAsIDMyMCwgMzIwLCAxMDcsIDEwNywgMTA3LCAxMDcsIAotICAgIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAKLSAgICAxMDcsIDAsIDAsIDAsIDAsIDAsIDMyMCwgMzIwLCAzMjAsIDMyMCwgMzIwLCAzMjAsIDMyMCwgMzIwLCAxMDcsIDEwNywgCi0gICAgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIAotICAgIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAKLSAgICAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgCi0gICAgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIAotICAgIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAKLSAgICAxMDcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDMyMSwgMzIxLCAzMjEsIDMyMSwgMzIxLCAzMjEsIDMyMSwgMzIxLCAzMjEsIDMyMSwgCi0gICAgMzIxLCAzMjEsIDMyMSwgMzIxLCAzMjEsIDMyMSwgMzIxLCAzMjEsIDMyMSwgMzIxLCAzMjEsIDMyMSwgMzIxLCAzMjEsIAotICAgIDMyMSwgMzIxLCAzMjEsIDMyMSwgMzIxLCAzMjEsIDMyMSwgMCwgMTM5LCAxMzUsIDEzOSwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgCi0gICAgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTQyLCA4MywgODMsIDgzLCA4MywgODMsIDgzLCAKLSAgICA4MywgMCwgMCwgMCwgMCwgMTUzLCAxNTMsIDE1MywgMTUzLCAxNTMsIDE1MywgMTUzLCAxNTMsIDE1MywgMTUzLCAxNTMsIAotICAgIDE1MywgMTUzLCAxNTMsIDE1MywgMTUzLCAxNTMsIDE1MywgMTUzLCAxNTMsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAKLSAgICAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMTM1LCAxMzUsIDEzOSwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAxNDAsIDQ4LCAxNDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAotICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMTQwLCA0OCwgNDgsIDQ4LCA0OCwgMTM5LCAxMzksIDEzOSwgMTM1LCAKLSAgICAxMzUsIDEzNSwgMTM1LCAxMzksIDEzOSwgMTQyLCAxNDEsIDgzLCA4MywgMTg4LCA4MywgODMsIDgzLCA4MywgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAotICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgODEsIDgxLCA4MSwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgMTQ5LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzOSwgMTM1LCAxNTAsIDE1MCwgMTM1LCAxMzUsIAotICAgIDEzNSwgMTQyLCAxNDIsIDAsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgODMsIAotICAgIDgzLCA4MywgODMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEzNSwgMTM1LCAxMzksIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDEzOSwgMTM5LCAxMzksIDEzNSwgMTM1LCAxMzUsIAotICAgIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzOSwgMTc1LCA0OCwgNDgsIDQ4LCA0OCwgODMsIDgzLCA4MywgODMsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDEzNSwgCi0gICAgMTM5LCAxMzUsIDEzOSwgMTM5LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxNzUsIDE0NSwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAotICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAotICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAotICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAotICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAotICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAotICAgIDQ4LCA0OCwgNDgsIDQ4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNzMsIAotICAgIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAKLSAgICAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgCi0gICAgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIAotICAgIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAKLSAgICAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgCi0gICAgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIAotICAgIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA4MywgODMsIDgzLCA4MywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAotICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAotICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAotICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0OCwgMTM5LCAxMzksIDEzOSwgMTM5LCAxMzksIAotICAgIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM5LCAKLSAgICAxMzksIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM5LCAxMzksIDEzOSwgCi0gICAgMTM5LCAxMzksIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM5LCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMzUsIDEzNSwgMTM1LCAxMzUsIDUzLCA1MywgNTMsIAotICAgIDUzLCA1MywgNTMsIDUzLCA1MywgNTMsIDUzLCA1MywgNTMsIDUzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNzAsIDE3MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgODAsIDgwLCAKLSAgICA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCAKLSAgICA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCAKLSAgICA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCAKLSAgICA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCAKLSAgICA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCAKLSAgICA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCAKLSAgICA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDgwLCA4MCwgODAsIAotICAgIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIAotICAgIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIAotICAgIDAsIDAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgCi0gICAgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgCi0gICAgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgCi0gICAgMzIyLCAzMjIsIDMyMiwgMzIyLCAzMjIsIDMyMiwgMzIyLCAzMjMsIDMyMywgMTc2LCAxNzYsIDE3NiwgODAsIDgwLCA4MCwgCi0gICAgMzI0LCAzMjMsIDMyMywgMzIzLCAzMjMsIDMyMywgMTc0LCAxNzQsIDE3NCwgMTc0LCAxNzQsIDE3NCwgMTc0LCAxNzQsIDg2LCAKLSAgICA4NiwgODYsIDg2LCA4NiwgODYsIDg2LCA4NiwgODAsIDgwLCA4MSwgODEsIDgxLCA4MSwgODEsIDg2LCA4NiwgODAsIDgwLCAKLSAgICA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCAKLSAgICA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODEsIDgxLCA4MSwgODEsIDgwLCA4MCwgODAsIDgwLCAKLSAgICA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCAzMjIsIDMyMiwgMzIyLCAzMjIsIDMyMiwgMzIyLCA4MCwgODAsIAotICAgIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIAotICAgIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI2LCAyNiwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKICAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKICAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgODEsIDgxLCA4MSwgMjYsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAotICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAotICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAotICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAotICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIAotICAgIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgCi0gICAgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgCi0gICAgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgCi0gICAgMzUsIDM1LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgCi0gICAgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAwLCAKLSAgICAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAKLSAgICA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCAKLSAgICA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAKLSAgICAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgNDksIDAsIAotICAgIDQ5LCA0OSwgMCwgMCwgNDksIDAsIDAsIDQ5LCA0OSwgMCwgMCwgNDksIDQ5LCA0OSwgNDksIDAsIDQ5LCA0OSwgNDksIDQ5LCAKLSAgICA0OSwgNDksIDQ5LCA0OSwgMzUsIDM1LCAzNSwgMzUsIDAsIDM1LCAwLCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMCwgCi0gICAgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgCi0gICAgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgCi0gICAgNDksIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgCi0gICAgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgNDksIDQ5LCAwLCA0OSwgNDksIDQ5LCA0OSwgMCwgMCwgNDksIAotICAgIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCAwLCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgMCwgMzUsIDM1LCAzNSwgCi0gICAgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgCi0gICAgMzUsIDM1LCAzNSwgMzUsIDM1LCA0OSwgNDksIDAsIDQ5LCA0OSwgNDksIDQ5LCAwLCA0OSwgNDksIDQ5LCA0OSwgNDksIDAsIAotICAgIDQ5LCAwLCAwLCAwLCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgMCwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIAotICAgIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIAotICAgIDM1LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIAotICAgIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIAotICAgIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgNDksIAotICAgIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIAotICAgIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIAotICAgIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDQ5LCA0OSwgNDksIAotICAgIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIAotICAgIDQ5LCA0OSwgNDksIDQ5LCA0OSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIAotICAgIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCA0OSwgNDksIDQ5LCA0OSwgNDksIAotICAgIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIAotICAgIDQ5LCA0OSwgNDksIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIAotICAgIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIAotICAgIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIAotICAgIDQ5LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIAotICAgIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIAotICAgIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgMzUsIAotICAgIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIAotICAgIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDAsIDAsIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgCi0gICAgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCAzMjUsIAotICAgIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIAotICAgIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAyMjYsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDQ5LCA0OSwgNDksIDQ5LCAKLSAgICA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCAKLSAgICA0OSwgNDksIDQ5LCAzMjUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgCi0gICAgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAyMjYsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIAotICAgIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIAotICAgIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCAzMjUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAKLSAgICAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAyMjYsIDM1LCAzNSwgCi0gICAgMzUsIDM1LCAzNSwgMzUsIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgCi0gICAgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCAzMjUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIAotICAgIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIAotICAgIDM1LCAyMjYsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCAKLSAgICA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCAzMjUsIDM1LCAzNSwgCi0gICAgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgCi0gICAgMzUsIDM1LCAzNSwgMzUsIDM1LCAyMjYsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDQ5LCAzNSwgMCwgMCwgMzI2LCAzMjYsIAotICAgIDMyNiwgMzI2LCAzMjYsIDMyNiwgMzI2LCAzMjYsIDMyNiwgMzI2LCAzMjYsIDMyNiwgMzI2LCAzMjYsIDMyNiwgMzI2LCAKLSAgICAzMjYsIDMyNiwgMzI2LCAzMjYsIDMyNiwgMzI2LCAzMjYsIDMyNiwgMzI2LCAzMjYsIDMyNiwgMzI2LCAzMjYsIDMyNiwgCi0gICAgMzI2LCAzMjYsIDMyNiwgMzI2LCAzMjYsIDMyNiwgMzI2LCAzMjYsIDMyNiwgMzI2LCAzMjYsIDMyNiwgMzI2LCAzMjYsIAotICAgIDMyNiwgMzI2LCAzMjYsIDMyNiwgMzI2LCAzMjYsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMCwgMTMxLCAxMzEsIDEzMSwgMTMxLCAKLSAgICAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgCi0gICAgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMCwgMTMxLCAxMzEsIDAsIDEzMSwgMCwgMCwgCi0gICAgMTMxLCAwLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDAsIDEzMSwgMTMxLCAKLSAgICAxMzEsIDEzMSwgMCwgMTMxLCAwLCAxMzEsIDAsIDAsIDAsIDAsIDAsIDAsIDEzMSwgMCwgMCwgMCwgMCwgMTMxLCAwLCAxMzEsIAotICAgIDAsIDEzMSwgMCwgMTMxLCAxMzEsIDEzMSwgMCwgMTMxLCAxMzEsIDAsIDEzMSwgMCwgMCwgMTMxLCAwLCAxMzEsIDAsIDEzMSwgCi0gICAgMCwgMTMxLCAwLCAxMzEsIDAsIDEzMSwgMTMxLCAwLCAxMzEsIDAsIDAsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMCwgMTMxLCAKLSAgICAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAwLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDAsIDEzMSwgMTMxLCAxMzEsIAotICAgIDEzMSwgMCwgMTMxLCAwLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDAsIDEzMSwgCi0gICAgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIAotICAgIDEzMSwgMTMxLCAwLCAwLCAwLCAwLCAwLCAxMzEsIDEzMSwgMTMxLCAwLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMCwgCi0gICAgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIAotICAgIDEzMSwgMTMxLCAxMzEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDc4LCA3OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAwLCAwLCAwLCAwLCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAyNiwgMjYsIDI2LCAyNiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMCwgMCwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAotICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAwLCAwLCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCi0gICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAwLCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAyNiwgMjYsIDI2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAKLSAgICAzNCwgMzQsIDAsIDAsIDAsIDAsIDAsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgCi0gICAgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIAotICAgIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDMyNywgMCwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAKLSAgICAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgCi0gICAgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDMyOCwgMzI4LCAzMjgsIAotICAgIDMyOCwgMzI4LCAzMjgsIDMyOCwgMzI4LCAzMjgsIDMyOCwgMzI4LCAzMjgsIDMyOCwgMzI4LCAzMjgsIDMyOCwgMzI4LCAKLSAgICAzMjgsIDMyOCwgMzI4LCAzMjgsIDMyOCwgMzI4LCAzMjgsIDMyOCwgMzI4LCAyMjIsIDIyMiwgMCwgMCwgMCwgMCwgMzI4LCAKLSAgICAzMjgsIDMyOCwgMzI4LCAzMjgsIDMyOCwgMzI4LCAzMjgsIDMyOCwgMzI4LCAzMjgsIDMyOCwgMzI4LCAzMjgsIDMyOCwgCi0gICAgMzI4LCAzMjgsIDMyOCwgMzI4LCAzMjgsIDMyOCwgMzI4LCAzMjgsIDMyOCwgMzI4LCAzMjgsIDMyOCwgMzI4LCAzMjgsIAotICAgIDMyOCwgMzI4LCAzMjgsIDI0MSwgMzI4LCAzMjgsIDMyOCwgMzI4LCAzMjgsIDMyOCwgMzI4LCAzMjgsIDMyOCwgMzI4LCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIAotICAgIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDI2OCwgMjY4LCAyNjgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAKLSAgICAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgCi0gICAgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIAotICAgIDI2OCwgMjY4LCAyNjgsIDI2OCwgMCwgMCwgMCwgMCwgMCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAKLSAgICAyNjgsIDI2OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjY4LCAyNjgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI2LCAyNiwgCi0gICAgMjYsIDI2LCAyNiwgMjYsIDAsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAyNiwgMjYsIDI2LCAwLCAwLCAwLCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCi0gICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI2LCAyNiwgCi0gICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCi0gICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAwLCAKLSAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAyNiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCi0gICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCi0gICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCi0gICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCi0gICAgMjYsIDI2LCAyNiwgMCwgMjYsIDAsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMCwgMjYsIDI2LCAyNiwgMjYsIDAsIDAsIDAsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAyNiwgMjYsIDI2LCAyNiwgMCwgMCwgMjYsIDI2LCAyNiwgMjYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAotICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAwLCAwLCAwLCAwLCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAyNiwgMjYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCi0gICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCi0gICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCi0gICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDE3MCwgCiAgICAgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIAogICAgIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAKICAgICAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgCkBAIC0yNjA3LDM2ICsyMDkwLDg0MyBAQAogICAgIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAKICAgICAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgCiAgICAgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIAotICAgIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAKLSAgICAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIAorICAgIDI0OCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAKICAgICAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgCiAgICAgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIAogICAgIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAKICAgICAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgCiAgICAgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIAotICAgIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAwLCAKKyAgICAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgCisgICAgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIAorICAgIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAwLCAwLCAwLCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgCisgICAgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIAorICAgIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAKKyAgICAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgCisgICAgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA1MywgNTMsIDUzLCA1MywgNTMsIDUzLCA4MywgODMsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDUzLCAxMzgsIDEzOCwgMTM4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIAorICAgIDE0NCwgMTQ0LCA0OCwgNDgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgCisgICAgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgCisgICAgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0OCwgODEsIDgyLCA4MiwgODIsIDEzOCwgODEsIAorICAgIDgxLCA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCA4MSwgODEsIDEzOCwgNTIsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCAKKyAgICA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCAKKyAgICA0NywgNDQsIDQ3LCA1MSwgNTEsIDAsIDgxLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCA4MSwgCisgICAgODEsIDgzLCA4MywgODMsIDgzLCA4MywgODMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU0LCA1NCwgNTQsIDU0LCA1NCwgCisgICAgNTQsIDU0LCA1NCwgNTQsIDU0LCA1NCwgNTQsIDU0LCA1NCwgNTQsIDU0LCA1NCwgNTQsIDU0LCA1NCwgNTQsIDU0LCA1NCwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTQsIDU0LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgCisgICAgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ3LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgCisgICAgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgCisgICAgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgCisgICAgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA1MSwgCisgICAgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgCisgICAgNDcsIDQ0LCA0NywgNDQsIDQ3LCA1MiwgMjcxLCAyNzEsIDQ0LCA0NywgNDQsIDQ3LCAwLCA0NCwgNDcsIDQ0LCA0NywgNDcsIAorICAgIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIAorICAgIDQ3LCA0NCwgNDcsIDQ0LCA0NCwgNDQsIDQ0LCAwLCAwLCA0NCwgNDQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ4LCA1MSwgNTEsIDQ3LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgMTM1LCA0OCwgNDgsIDQ4LCAxNDIsIDQ4LCA0OCwgNDgsIDQ4LCAxMzUsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMTM5LCAKKyAgICAxMzksIDEzNSwgMTM1LCAxMzksIDI2LCAyNiwgMjYsIDI2LCAwLCAwLCAwLCAwLCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgCisgICAgMTQ4LCA4MCwgODAsIDg1LCAyMjUsIDAsIDAsIDAsIDAsIDAsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDEzOSwgMTM5LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDEzOSwgCisgICAgMTM5LCAxMzksIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM5LCAxMzksIAorICAgIDEzOSwgMTQyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA4MywgODMsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAKKyAgICAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMCwgMCwgMCwgMCwgMCwgMCwgODEsIDgxLCA4MSwgODEsIDgxLCA4MSwgODEsIAorICAgIDgxLCA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCA4MSwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgODMsIAorICAgIDgzLCA4MywgNDgsIDAsIDAsIDAsIDAsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCA4NiwgODYsIAorICAgIDg2LCA4MywgODMsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIAorICAgIDEzNSwgMTM1LCAxMzUsIDEzOSwgMTc1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA4MywgMTcwLCAxNzAsIAorICAgIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAKKyAgICAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDAsIDAsIDAsIAorICAgIDEzNSwgMTM1LCAxMzUsIDEzOSwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAxNDUsIDEzOSwgCisgICAgMTM5LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzOSwgMTM5LCAxMzUsIDEzOSwgMTM5LCAxMzksIDE3NSwgODMsIDgzLCA4MywgCisgICAgODMsIDgzLCA4MywgODMsIDgzLCA4MywgODMsIDgzLCA4MywgODMsIDAsIDUzLCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgCisgICAgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDAsIDAsIDAsIDAsIDgzLCA4MywgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAxMzUsIDUzLCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIAorICAgIDE0NCwgMTQ0LCAxNDQsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAxMzUsIDEzNSwgMTM1LCAKKyAgICAxMzUsIDEzNSwgMTM1LCAxMzksIDEzOSwgMTM1LCAxMzUsIDEzOSwgMTM5LCAxMzUsIDEzNSwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgNDgsIDQ4LCA0OCwgMTM1LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDEzNSwgMTM5LCAwLCAwLCAKKyAgICAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDAsIDAsIDgzLCA4MywgODMsIDgzLCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNTMsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDgwLCA4MCwgODAsIDQ4LCAxMzksIDEzNSwgMTM5LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDgxLCA0OCwgODEsIDgxLCA4NiwgNDgsIDQ4LCA4MSwgODEsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgODEsIDgxLCA0OCwgODEsIDQ4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0OCwgNDgsIDUzLCA4MywgODMsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMTM5LCAxMzUsIDEzNSwgMTM5LCAxMzksIDgzLCA4MywgNDgsIDUzLCAKKyAgICA1MywgMTM5LCAxNDIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDAsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgCisgICAgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgCisgICAgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgCisgICAgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDI3MSwgNTEsIDUxLCA1MSwgNTEsIDAsIDAsIDAsIDAsIDQ3LCA0NywgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMTM5LCAxMzksIDEzNSwgMTM5LCAxMzksIAorICAgIDEzNSwgMTM5LCAxMzksIDgzLCAxMzksIDE0MiwgMCwgMCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAKKyAgICAxNDQsIDE0NCwgMTQ0LCAwLCAwLCAwLCAwLCAwLCAwLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgCisgICAgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIAorICAgIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAKKyAgICAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgCisgICAgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIAorICAgIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAKKyAgICAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgCisgICAgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIAorICAgIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAKKyAgICAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgCisgICAgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIAorICAgIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAKKyAgICAyNjEsIDI2MSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCAwLCAwLCAKKyAgICAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgMCwgMCwgMCwgMjcyLCAKKyAgICAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgCisgICAgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIAorICAgIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAKKyAgICAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgCisgICAgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIAorICAgIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAKKyAgICAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgCisgICAgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIAorICAgIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAKKyAgICAyNzIsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgCisgICAgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIAorICAgIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAKKyAgICAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgCisgICAgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIAorICAgIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAKKyAgICAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgCisgICAgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIAorICAgIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAKKyAgICAyNzMsIDI3MywgMjczLCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgCiAgICAgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIAotICAgIDI3NCwgMjc0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgCisgICAgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIAorICAgIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAKKyAgICAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgCisgICAgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIAorICAgIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAKKyAgICAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgCisgICAgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIAorICAgIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAxNzAsIDE3MCwgMjc0LCAxNzAsIDI3NCwgMTcwLCAxNzAsIDI3NCwgMjc0LCAKKyAgICAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMTcwLCAyNzQsIDE3MCwgMjc0LCAxNzAsIDE3MCwgCisgICAgMjc0LCAyNzQsIDE3MCwgMTcwLCAxNzAsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIAorICAgIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAKKyAgICAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgCisgICAgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIAorICAgIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAKKyAgICAyNzQsIDI3NCwgMjc0LCAwLCAwLCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIAorICAgIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAKKyAgICAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgCisgICAgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIAorICAgIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAKKyAgICAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgCisgICAgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIAorICAgIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzNSwgMzUsIDM1LCAzNSwgMzUsIDAsIDAsIDAsIDAsIDAsIDI3NSwgMjc2LCAyNzUsIAorICAgIDI3NywgMjc3LCAyNzcsIDI3NywgMjc3LCAyNzcsIDI3NywgMjc3LCAyNzcsIDIxNSwgMjc1LCAyNzUsIDI3NSwgMjc1LCAKKyAgICAyNzUsIDI3NSwgMjc1LCAyNzUsIDI3NSwgMjc1LCAyNzUsIDI3NSwgMjc1LCAwLCAyNzUsIDI3NSwgMjc1LCAyNzUsIDI3NSwgCisgICAgMCwgMjc1LCAwLCAyNzUsIDI3NSwgMCwgMjc1LCAyNzUsIDAsIDI3NSwgMjc1LCAyNzUsIDI3NSwgMjc1LCAyNzUsIDI3NSwgCisgICAgMjc1LCAyNzUsIDI3NywgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIAorICAgIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAKKyAgICAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgCisgICAgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIAorICAgIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAKKyAgICAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgCisgICAgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIAorICAgIDEzMSwgMTMxLCAxMzEsIDI3OCwgMjc4LCAyNzgsIDI3OCwgMjc4LCAyNzgsIDI3OCwgMjc4LCAyNzgsIDI3OCwgMjc4LCAKKyAgICAyNzgsIDI3OCwgMjc4LCAyNzgsIDI3OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIAorICAgIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAKKyAgICAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgCisgICAgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIAorICAgIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAKKyAgICAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgCisgICAgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIAorICAgIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAKKyAgICAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgCisgICAgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIAorICAgIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAKKyAgICAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgCisgICAgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIAorICAgIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAKKyAgICAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgCisgICAgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIAorICAgIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAyNzksIDE5NSwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAKKyAgICAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgCisgICAgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIAorICAgIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAKKyAgICAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgCisgICAgMTMxLCAwLCAwLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAKKyAgICAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgCisgICAgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIAorICAgIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgCisgICAgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAyODAsIDI2LCAwLCAwLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKKyAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgMjgxLCAyODEsIDI4MSwgMjgxLCAyODEsIDI4MSwgCisgICAgMjgxLCAyODIsIDI4MywgMjgxLCAwLCAwLCAwLCAwLCAwLCAwLCA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCA4MSwgODYsIDg2LCAKKyAgICA4NiwgODYsIDg2LCA4NiwgODYsIDAsIDAsIDI4MSwgMjg0LCAyODQsIDI4NSwgMjg1LCAyODIsIDI4MywgMjgyLCAyODMsIAorICAgIDI4MiwgMjgzLCAyODIsIDI4MywgMjgyLCAyODMsIDI4MiwgMjgzLCAyODIsIDI4MywgMjgyLCAyODMsIDI0NywgMjQ3LCAKKyAgICAyODIsIDI4MywgMjgxLCAyODEsIDI4MSwgMjgxLCAyODUsIDI4NSwgMjg1LCAyODYsIDI4MSwgMjg2LCAwLCAyODEsIDI4NiwgCisgICAgMjgxLCAyODEsIDI4NCwgMjg3LCAyODgsIDI4NywgMjg4LCAyODcsIDI4OCwgMjg5LCAyODEsIDI4MSwgMjkwLCAyOTEsIAorICAgIDI5MiwgMjkyLCAyOTMsIDAsIDI4MSwgMjk0LCAyODksIDI4MSwgMCwgMCwgMCwgMCwgMTMxLCAxMzEsIDEzMSwgMTE4LCAKKyAgICAxMzEsIDAsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgCisgICAgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIAorICAgIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAKKyAgICAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgCisgICAgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIAorICAgIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAKKyAgICAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgCisgICAgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIAorICAgIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAKKyAgICAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDAsIDAsIDE3NCwgMCwgMjk1LCAyOTUsIAorICAgIDI5NiwgMjk3LCAyOTYsIDI5NSwgMjk1LCAyOTgsIDI5OSwgMjk1LCAzMDAsIDMwMSwgMzAyLCAzMDEsIDMwMSwgMzAzLCAKKyAgICAzMDMsIDMwMywgMzAzLCAzMDMsIDMwMywgMzAzLCAzMDMsIDMwMywgMzAzLCAzMDEsIDI5NSwgMzA0LCAzMDUsIDMwNCwgCisgICAgMjk1LCAyOTUsIDMwNiwgMzA2LCAzMDYsIDMwNiwgMzA2LCAzMDYsIDMwNiwgMzA2LCAzMDYsIDMwNiwgMzA2LCAzMDYsIAorICAgIDMwNiwgMzA2LCAzMDYsIDMwNiwgMzA2LCAzMDYsIDMwNiwgMzA2LCAzMDYsIDMwNiwgMzA2LCAzMDYsIDMwNiwgMzA2LCAKKyAgICAyOTgsIDI5NSwgMjk5LCAzMDcsIDMwOCwgMzA3LCAzMDksIDMwOSwgMzA5LCAzMDksIDMwOSwgMzA5LCAzMDksIDMwOSwgCisgICAgMzA5LCAzMDksIDMwOSwgMzA5LCAzMDksIDMwOSwgMzA5LCAzMDksIDMwOSwgMzA5LCAzMDksIDMwOSwgMzA5LCAzMDksIAorICAgIDMwOSwgMzA5LCAzMDksIDMwOSwgMjk4LCAzMDUsIDI5OSwgMzA1LCAyOTgsIDI5OSwgMzEwLCAzMTEsIDMxMiwgMzEwLCAKKyAgICAzMTAsIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTMsIDMxMywgMzE0LCAzMTMsIDMxMywgCisgICAgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTMsIAorICAgIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAKKyAgICAzMTMsIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTMsIDMxMywgCisgICAgMzEzLCAzMTQsIDMxNCwgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTMsIAorICAgIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAKKyAgICAzMTMsIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAwLCAwLCAwLCAzMTMsIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAwLCAKKyAgICAwLCAzMTMsIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAwLCAwLCAzMTMsIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAwLCAKKyAgICAwLCAzMTMsIDMxMywgMzEzLCAwLCAwLCAwLCAyOTcsIDI5NywgMzA1LCAzMDcsIDMxNSwgMjk3LCAyOTcsIDAsIDMxNiwgCisgICAgMzE3LCAzMTcsIDMxNywgMzE3LCAzMTYsIDMxNiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzE4LCAzMTgsIAorICAgIDMxOCwgMjYsIDMwLCAwLCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCA0OCwgNDgsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgMCwgMCwgMCwgMCwgODMsIDEzOCwgODMsIDAsIDAsIAorICAgIDAsIDAsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgCisgICAgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIAorICAgIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAKKyAgICAxNDgsIDE0OCwgMTQ4LCAxNDgsIDAsIDAsIDAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDMxOSwgCisgICAgMzE5LCAzMTksIDMxOSwgMzE5LCAzMTksIDMxOSwgMzE5LCAzMTksIDMxOSwgMzE5LCAzMTksIDMxOSwgMzE5LCAzMTksIAorICAgIDMxOSwgMzE5LCAzMTksIDMxOSwgMzE5LCAzMTksIDMxOSwgMzE5LCAzMTksIDMxOSwgMzE5LCAzMTksIDMxOSwgMzE5LCAKKyAgICAzMTksIDMxOSwgMzE5LCAzMTksIDMxOSwgMzE5LCAzMTksIDMxOSwgMzE5LCAzMTksIDMxOSwgMzE5LCAzMTksIDMxOSwgCisgICAgMzE5LCAzMTksIDMxOSwgMzE5LCAzMTksIDMxOSwgMzE5LCAzMTksIDMxOSwgMzE5LCAxNTMsIDE1MywgMTUzLCAxNTMsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMTUzLCAxNTMsIAorICAgIDI2LCAwLCAwLCAwLCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAwLCAwLCAwLCAwLCAKKyAgICAyNiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgCisgICAgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgCisgICAgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDE3NCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTc0LCAxNzQsIDE3NCwgMTc0LCAxNzQsIDE3NCwgMTc0LCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDAsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICA4NiwgMzIwLCAzMjAsIDMyMCwgMzIwLCAzMjAsIDMyMCwgMzIwLCAzMjAsIDMyMCwgMzIwLCAzMjAsIDMyMCwgMzIwLCAzMjAsIAorICAgIDMyMCwgMzIwLCAzMjAsIDMyMCwgMzIwLCAzMjAsIDMyMCwgMzIwLCAzMjAsIDMyMCwgMzIwLCAzMjAsIDMyMCwgMCwgMCwgMCwgCisgICAgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAxNDgsIDE0OCwgCisgICAgMTQ4LCAxNDgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMTczLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDE3MywgMCwgMCwgMCwgMCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA4MSwgODEsIDgxLCA4MSwgODEsIDAsIDAsIDAsIDAsIDAsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDgzLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCAwLCAwLCAwLCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDgzLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIAorICAgIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIAorICAgIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIAorICAgIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIAorICAgIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCAwLCAwLCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgODMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAwLCAKKyAgICAwLCAxMDcsIDAsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIAorICAgIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAKKyAgICAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgCisgICAgMTA3LCAxMDcsIDEwNywgMTA3LCAwLCAxMDcsIDEwNywgMCwgMCwgMCwgMTA3LCAwLCAwLCAxMDcsIDEwNywgMTA3LCAxMDcsIAorICAgIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAKKyAgICAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMCwgMTA0LCAzMjEsIDMyMSwgMzIxLCAzMjEsIDMyMSwgMzIxLCAzMjEsIDMyMSwgCisgICAgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIAorICAgIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDMyMiwgMzIyLCAzMjEsIDMyMSwgMzIxLCAKKyAgICAzMjEsIDMyMSwgMzIxLCAzMjEsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgCisgICAgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIAorICAgIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzIxLCAzMjEsIDMyMSwgCisgICAgMzIxLCAzMjEsIDMyMSwgMzIxLCAzMjEsIDMyMSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTA3LCAxMDcsIDEwNywgMTA3LCAKKyAgICAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgCisgICAgMTA3LCAxMDcsIDEwNywgMTA3LCAzMjEsIDMyMSwgMzIxLCAzMjEsIDMyMSwgMzIxLCAwLCAwLCAwLCAxMzgsIDEwNywgMTA3LCAKKyAgICAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgCisgICAgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAwLCAwLCAwLCAwLCAwLCAxMDQsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAKKyAgICAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgCisgICAgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIAorICAgIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAKKyAgICAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAwLCAwLCAwLCAwLCAwLCAwLCAxMDcsIDEwNywgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTA3LCAxMzUsIDEzNSwgMTM1LCAwLCAKKyAgICAxMzUsIDEzNSwgMCwgMCwgMCwgMCwgMCwgMTM1LCA4NiwgMTM1LCA4MSwgMTA3LCAxMDcsIDEwNywgMTA3LCAwLCAxMDcsIAorICAgIDEwNywgMTA3LCAwLCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAKKyAgICAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgCisgICAgMTA3LCAwLCAwLCAwLCAwLCA4MSwgMTc2LCA4NiwgMCwgMCwgMCwgMCwgMTQyLCAzMjEsIDMyMSwgMzIxLCAzMjEsIDMyMSwgCisgICAgMzIxLCAzMjEsIDMyMSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTA0LCAxMDQsIDEwNCwgMTA0LCAxMDQsIDEwNCwgMTA0LCAKKyAgICAxMDQsIDEwNCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIAorICAgIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAKKyAgICAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDMyMSwgMzIxLCAxMDQsIDEwNywgMTA3LCAxMDcsIDEwNywgCisgICAgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIAorICAgIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAzMjEsIDMyMSwgMzIxLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMzIyLCAxMDcsIAorICAgIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAKKyAgICAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDgxLCA4NiwgCisgICAgMCwgMCwgMCwgMCwgMzIxLCAzMjEsIDMyMSwgMzIxLCAzMjEsIDEwNCwgMTA0LCAxMDQsIDEwNCwgMTA0LCAxMDQsIDEwNCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgCisgICAgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIAorICAgIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAKKyAgICAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgCisgICAgMTA3LCAxMDcsIDEwNywgMCwgMCwgMCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMDcsIDEwNywgMTA3LCAKKyAgICAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgCisgICAgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDAsIDAsIDMyMSwgMzIxLCAzMjEsIDMyMSwgMzIxLCAzMjEsIDMyMSwgMzIxLCAKKyAgICAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgCisgICAgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDAsIDAsIDAsIDAsIDAsIDMyMSwgMzIxLCAzMjEsIDMyMSwgMzIxLCAzMjEsIAorICAgIDMyMSwgMzIxLCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAKKyAgICAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMDQsIDEwNCwgMTA0LCAxMDQsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDMyMSwgMzIxLCAzMjEsIDMyMSwgMzIxLCAzMjEsIDMyMSwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIAorICAgIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAKKyAgICAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgCisgICAgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIAorICAgIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAKKyAgICAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzMjMsIDMyMywgMzIzLCAzMjMsIAorICAgIDMyMywgMzIzLCAzMjMsIDMyMywgMzIzLCAzMjMsIDMyMywgMzIzLCAzMjMsIDMyMywgMzIzLCAzMjMsIDMyMywgMzIzLCAKKyAgICAzMjMsIDMyMywgMzIzLCAzMjMsIDMyMywgMzIzLCAzMjMsIDMyMywgMzIzLCAzMjMsIDMyMywgMzIzLCAzMjMsIDAsIDEzOSwgCisgICAgMTM1LCAxMzksIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIAorICAgIDE0MiwgODMsIDgzLCA4MywgODMsIDgzLCA4MywgODMsIDAsIDAsIDAsIDAsIDE1MywgMTUzLCAxNTMsIDE1MywgMTUzLCAKKyAgICAxNTMsIDE1MywgMTUzLCAxNTMsIDE1MywgMTUzLCAxNTMsIDE1MywgMTUzLCAxNTMsIDE1MywgMTUzLCAxNTMsIDE1MywgCisgICAgMTUzLCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE0MiwgMTM1LCAxMzUsIDEzOSwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAxNDAsIAorICAgIDQ4LCAxNDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMTQwLCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgMTM5LCAxMzksIDEzOSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzksIDEzOSwgMTQyLCAxNDEsIDgzLCAKKyAgICA4MywgMTg4LCA4MywgODMsIDgzLCA4MywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAKKyAgICAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMCwgMCwgMCwgMCwgMCwgMCwgODEsIDgxLCA4MSwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMTQ5LCAxMzUsIDEzNSwgCisgICAgMTM1LCAxMzUsIDEzOSwgMTM1LCAxNTAsIDE1MCwgMTM1LCAxMzUsIDEzNSwgMTQyLCAxNDIsIDAsIDE0NCwgMTQ0LCAxNDQsIAorICAgIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgODMsIDgzLCA4MywgODMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgMTQ1LCA4MywgODMsIDQ4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMzUsIDEzNSwgMTM5LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAxMzksIDEzOSwgMTM5LCAxMzUsIDEzNSwgCisgICAgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzksIDE3NSwgNDgsIDQ4LCA0OCwgNDgsIDgzLCA4MywgODMsIAorICAgIDgzLCAwLCAwLCAwLCAwLCA4MywgMCwgMCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgCisgICAgMTQ0LCA0OCwgMCwgMCwgMCwgMCwgMCwgMCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgCisgICAgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAxMzksIDEzOSwgMTM5LCAxMzUsIDEzNSwgCisgICAgMTM1LCAxMzksIDEzOSwgMTM1LCAxNzUsIDE0NSwgMTM1LCA4MywgODMsIDgzLCA4MywgODMsIDgzLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDEzNSwgMTM5LCAxMzksIDEzOSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTQ1LCAxNDIsIAorICAgIDAsIDAsIDAsIDAsIDAsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMTM1LCAxMzksIDEzOSwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCAwLCA0OCwgCisgICAgNDgsIDAsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgNDgsIDQ4LCAwLCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDAsIDAsIDE0NSwgNDgsIDE0NiwgMTM5LCAxMzUsIDEzOSwgMTM5LCAxMzksIDEzOSwgMCwgMCwgCisgICAgMTM5LCAxMzksIDAsIDAsIDE0NywgMTQ3LCAxNzUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE0NiwgMCwgMCwgMCwgCisgICAgMCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAxMzksIDEzOSwgMCwgMCwgODEsIDgxLCA4MSwgODEsIDgxLCA4MSwgODEsIDAsIAorICAgIDAsIDAsIDgxLCA4MSwgODEsIDgxLCA4MSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMTQ2LCAxMzksIDEzOSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAKKyAgICAxMzUsIDEzNSwgMTM5LCAxNDksIDE0NywgMTQ3LCAxNDYsIDE0NywgMTM1LCAxMzUsIDEzOSwgMTQyLCAxNDUsIDQ4LCA0OCwgCisgICAgODMsIDQ4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgCisgICAgMTQ0LCAxNDQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMTQ2LCAxMzksIDEzOSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAwLCAwLCAxMzksIAorICAgIDEzOSwgMTQ3LCAxNDcsIDEzNSwgMTM1LCAxMzksIDE0MiwgMTQ1LCA4MywgODMsIDgzLCA4MywgODMsIDgzLCA4MywgODMsIAorICAgIDgzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAxMzksIAorICAgIDEzOSwgMTM5LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM5LCAxMzksIDEzNSwgMTM5LCAKKyAgICAxNDIsIDEzNSwgODMsIDgzLCA4MywgNDgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE0NCwgMTQ0LCAxNDQsIAorICAgIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDEzNSwgMTM5LCAxMzUsIDEzOSwgMTM5LCAxMzUsIDEzNSwgMTM1LCAKKyAgICAxMzUsIDEzNSwgMTM1LCAxNzUsIDE0NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIAorICAgIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0NCwgNDQsIAorICAgIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIAorICAgIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIAorICAgIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIAorICAgIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIAorICAgIDE0NCwgMTQ0LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCA0OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAKKyAgICAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgCisgICAgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIAorICAgIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAKKyAgICAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgCisgICAgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIAorICAgIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAKKyAgICAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDAsIDgzLCAKKyAgICA4MywgODMsIDgzLCA4MywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgMTQ0LCAxNDQsIDE0NCwgCisgICAgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAwLCAwLCAwLCAwLCA4MywgODMsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDAsIDE3NiwgMTc2LCAxNzYsIDE3NiwgMTc2LCA4MywgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgODEsIAorICAgIDgxLCA4MSwgODEsIDgxLCA4MSwgODEsIDgzLCA4MywgODMsIDgzLCA4MywgODAsIDgwLCA4MCwgODAsIDUzLCA1MywgNTMsIAorICAgIDUzLCA4MywgODAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIAorICAgIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAwLCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICAwLCAwLCAwLCAwLCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgNDgsIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM5LCAKKyAgICAxMzksIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM5LCAxMzksIDEzOSwgCisgICAgMTM5LCAxMzksIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM5LCAxMzksIAorICAgIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM5LCAxMzksIDEzOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMTM1LCAxMzUsIDEzNSwgMTM1LCA1MywgNTMsIDUzLCA1MywgNTMsIDUzLCA1MywgNTMsIDUzLCA1MywgNTMsIAorICAgIDUzLCA1MywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMTcwLCAxNzAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgMCwgMCwgMCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDAsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCAwLCA4MCwgMTM1LCAKKyAgICAxNzYsIDgzLCAxNzQsIDE3NCwgMTc0LCAxNzQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgCisgICAgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgCisgICAgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgCisgICAgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgCisgICAgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgCisgICAgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgCisgICAgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCAKKyAgICA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCAKKyAgICA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCAwLCAwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIAorICAgIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIAorICAgIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIAorICAgIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDMyNCwgMzI0LCAzMjQsIDMyNCwgMzI0LCAzMjQsIDMyNCwgMzI1LCAzMjUsIDE3NiwgCisgICAgMTc2LCAxNzYsIDgwLCA4MCwgODAsIDMyNiwgMzI1LCAzMjUsIDMyNSwgMzI1LCAzMjUsIDE3NCwgMTc0LCAxNzQsIDE3NCwgCisgICAgMTc0LCAxNzQsIDE3NCwgMTc0LCA4NiwgODYsIDg2LCA4NiwgODYsIDg2LCA4NiwgODYsIDgwLCA4MCwgODEsIDgxLCA4MSwgCisgICAgODEsIDgxLCA4NiwgODYsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgCisgICAgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgxLCA4MSwgCisgICAgODEsIDgxLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgMzI0LCAzMjQsIAorICAgIDMyNCwgMzI0LCAzMjQsIDMyNCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIAorICAgIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCA4MSwgCisgICAgODEsIDgxLCAyNiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTQ4LCAxNDgsIDE0OCwgCisgICAgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIAorICAgIDE0OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgCisgICAgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgCisgICAgNDksIDQ5LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgCisgICAgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgCisgICAgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgCisgICAgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDAsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAKKyAgICAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCAKKyAgICA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgMzUsIDM1LCAKKyAgICAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAKKyAgICAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCA0OSwgMCwgNDksIDQ5LCAwLCAwLCA0OSwgMCwgMCwgNDksIDQ5LCAwLCAwLCA0OSwgCisgICAgNDksIDQ5LCA0OSwgMCwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCAzNSwgMzUsIDM1LCAzNSwgMCwgMzUsIDAsIAorICAgIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAwLCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgCisgICAgMzUsIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgCisgICAgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgCisgICAgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCA0OSwgCisgICAgNDksIDAsIDQ5LCA0OSwgNDksIDQ5LCAwLCAwLCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDAsIDQ5LCA0OSwgCisgICAgNDksIDQ5LCA0OSwgNDksIDQ5LCAwLCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAKKyAgICAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDQ5LCA0OSwgMCwgNDksIAorICAgIDQ5LCA0OSwgNDksIDAsIDQ5LCA0OSwgNDksIDQ5LCA0OSwgMCwgNDksIDAsIDAsIDAsIDQ5LCA0OSwgNDksIDQ5LCA0OSwgCisgICAgNDksIDQ5LCAwLCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAKKyAgICAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCAKKyAgICA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCAKKyAgICA0OSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAKKyAgICAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCAKKyAgICA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDM1LCAKKyAgICAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAKKyAgICAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCAKKyAgICA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCAzNSwgMzUsIDM1LCAKKyAgICAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAKKyAgICAzNSwgMzUsIDM1LCAzNSwgMzUsIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCAKKyAgICA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAKKyAgICAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAKKyAgICAzNSwgMzUsIDM1LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCAKKyAgICA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAKKyAgICAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAKKyAgICAzNSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCAKKyAgICA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAKKyAgICAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAKKyAgICAzNSwgMCwgMCwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIAorICAgIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDMyNywgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAKKyAgICAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDIyNiwgCisgICAgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgCisgICAgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDMyNywgMzUsIDM1LCAzNSwgMzUsIAorICAgIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIAorICAgIDM1LCAzNSwgMzUsIDIyNiwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCAKKyAgICA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDMyNywgCisgICAgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgCisgICAgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDIyNiwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgNDksIDQ5LCA0OSwgNDksIAorICAgIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIAorICAgIDQ5LCA0OSwgNDksIDMyNywgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAKKyAgICAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDIyNiwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgCisgICAgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgCisgICAgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDMyNywgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIAorICAgIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDIyNiwgMzUsIDM1LCAKKyAgICAzNSwgMzUsIDM1LCAzNSwgNDksIDM1LCAwLCAwLCAzMjgsIDMyOCwgMzI4LCAzMjgsIDMyOCwgMzI4LCAzMjgsIDMyOCwgCisgICAgMzI4LCAzMjgsIDMyOCwgMzI4LCAzMjgsIDMyOCwgMzI4LCAzMjgsIDMyOCwgMzI4LCAzMjgsIDMyOCwgMzI4LCAzMjgsIAorICAgIDMyOCwgMzI4LCAzMjgsIDMyOCwgMzI4LCAzMjgsIDMyOCwgMzI4LCAzMjgsIDMyOCwgMzI4LCAzMjgsIDMyOCwgMzI4LCAKKyAgICAzMjgsIDMyOCwgMzI4LCAzMjgsIDMyOCwgMzI4LCAzMjgsIDMyOCwgMzI4LCAzMjgsIDMyOCwgMzI4LCAzMjgsIDMyOCwgCisgICAgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIAorICAgIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAKKyAgICAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgCisgICAgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIAorICAgIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAKKyAgICAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgCisgICAgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIAorICAgIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAKKyAgICAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgCisgICAgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIAorICAgIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAKKyAgICAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgCisgICAgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIAorICAgIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAKKyAgICAxMDcsIDAsIDAsIDMyMSwgMzIxLCAzMjEsIDMyMSwgMzIxLCAzMjEsIDMyMSwgMzIxLCAzMjEsIDg2LCA4NiwgODYsIDg2LCAKKyAgICA4NiwgODYsIDg2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMzEsIDEzMSwgCisgICAgMTMxLCAxMzEsIDAsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIAorICAgIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAKKyAgICAxMzEsIDAsIDEzMSwgMTMxLCAwLCAxMzEsIDAsIDAsIDEzMSwgMCwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgCisgICAgMTMxLCAxMzEsIDEzMSwgMTMxLCAwLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDAsIDEzMSwgMCwgMTMxLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAxMzEsIDAsIDAsIDAsIDAsIDEzMSwgMCwgMTMxLCAwLCAxMzEsIDAsIDEzMSwgMTMxLCAxMzEsIDAsIDEzMSwgMTMxLCAKKyAgICAwLCAxMzEsIDAsIDAsIDEzMSwgMCwgMTMxLCAwLCAxMzEsIDAsIDEzMSwgMCwgMTMxLCAwLCAxMzEsIDEzMSwgMCwgMTMxLCAKKyAgICAwLCAwLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDAsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMCwgMTMxLCAKKyAgICAxMzEsIDEzMSwgMTMxLCAwLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDAsIDEzMSwgMCwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIAorICAgIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAwLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAKKyAgICAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMCwgMCwgMCwgMCwgMCwgMTMxLCAxMzEsIDEzMSwgMCwgCisgICAgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDAsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIAorICAgIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA3OCwgNzgsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMCwgMCwgMCwgMCwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDAsIDAsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDAsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDAsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDE1MywgMTUzLCAwLCAwLCAKKyAgICAwLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgCisgICAgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIAorICAgIDI0MSwgMjQxLCAzMjksIDAsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAKKyAgICAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgCisgICAgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAzMzAsIDMzMCwgMzMwLCAzMzAsIDMzMCwgMzMwLCAzMzAsIAorICAgIDMzMCwgMzMwLCAzMzAsIDMzMCwgMzMwLCAzMzAsIDMzMCwgMzMwLCAzMzAsIDMzMCwgMzMwLCAzMzAsIDMzMCwgMzMwLCAKKyAgICAzMzAsIDMzMCwgMzMwLCAzMzAsIDMzMCwgMjIyLCAyMjIsIDAsIDAsIDAsIDAsIDMzMCwgMzMwLCAzMzAsIDMzMCwgMzMwLCAKKyAgICAzMzAsIDMzMCwgMzMwLCAzMzAsIDMzMCwgMzMwLCAzMzAsIDMzMCwgMzMwLCAzMzAsIDMzMCwgMzMwLCAzMzAsIDMzMCwgCisgICAgMzMwLCAzMzAsIDMzMCwgMzMwLCAzMzAsIDMzMCwgMzMwLCAzMzAsIDMzMCwgMzMwLCAzMzAsIDMzMCwgMzMwLCAyNDEsIAorICAgIDMzMCwgMzMwLCAzMzAsIDMzMCwgMzMwLCAzMzAsIDMzMCwgMzMwLCAzMzAsIDMzMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgODAsIDgwLCA4MCwgODAsIAorICAgIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIAorICAgIDgwLCA4MCwgODAsIDgwLCAyNjgsIDI2OCwgMjY4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgCisgICAgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIAorICAgIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAKKyAgICAyNjgsIDAsIDAsIDAsIDAsIDAsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDI2OCwgMjY4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAwLCAwLCAwLCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAwLCAwLCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMCwgMCwgMCwgMCwgMCwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMCwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMCwgMCwgMCwgMCwgMCwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMCwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAwLCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDAsIDAsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMCwgMCwgMCwgMjYsIDI2LCAyNiwgMjYsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDAsIDAsIDAsIDAsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDAsIDAsIDAsIDAsIDAsIDAsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgCisgICAgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIAorICAgIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAKKyAgICAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgCisgICAgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIAorICAgIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAKKyAgICAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIAorICAgIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAKKyAgICAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgCisgICAgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIAorICAgIDE3MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAKKyAgICAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgCisgICAgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIAorICAgIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAKKyAgICAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgCisgICAgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIAorICAgIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAKKyAgICAxNzAsIDE3MCwgMTcwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIAorICAgIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAKKyAgICAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNzQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE3NCwgMTc0LCAKICAgICAxNzQsIDE3NCwgMTc0LCAxNzQsIDE3NCwgMTc0LCAxNzQsIDE3NCwgMTc0LCAxNzQsIDE3NCwgMTc0LCAxNzQsIDE3NCwgCiAgICAgMTc0LCAxNzQsIDE3NCwgMTc0LCAxNzQsIDE3NCwgMTc0LCAxNzQsIDE3NCwgMTc0LCAxNzQsIDE3NCwgMTc0LCAxNzQsIAogICAgIDE3NCwgMTc0LCAxNzQsIDE3NCwgMTc0LCAxNzQsIDE3NCwgMTc0LCAxNzQsIDE3NCwgMTc0LCAxNzQsIDE3NCwgMTc0LCAKICAgICAxNzQsIDE3NCwgMTc0LCAxNzQsIDE3NCwgMTc0LCAxNzQsIDE3NCwgMTc0LCAxNzQsIDE3NCwgMTc0LCAxNzQsIDE3NCwgCiAgICAgMTc0LCAxNzQsIDE3NCwgMTc0LCAxNzQsIDE3NCwgMTc0LCAxNzQsIDE3NCwgMTc0LCAxNzQsIDE3NCwgMTc0LCAxNzQsIAogICAgIDE3NCwgMTc0LCAxNzQsIDE3NCwgMTc0LCAxNzQsIDE3NCwgMTc0LCAxNzQsIDE3NCwgMTc0LCAxNzQsIDE3NCwgMTc0LCAKLSAgICAxNzQsIDE3NCwgMTc0LCAxNzQsIDE3NCwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCisgICAgMTc0LCAxNzQsIDE3NCwgMTc0LCAxNzQsIDE3NCwgMTc0LCAxNzQsIDE3NCwgMTc0LCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKICAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKICAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKICAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKQEAgLTI2NDksOCArMjkzOSw4IEBACiAgICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCiAgICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCiAgICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAKKyAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgCiAgICAgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIAogICAgIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAKICAgICAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgCkBAIC0yNjU5LDcgKzI5NDksNyBAQAogICAgIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAKICAgICAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgCiAgICAgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIAotICAgIDI3MywgMjczLCAyNzMsIDI3MywgMCwgMCwgCisgICAgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMCwgMCwgCiB9OwogCiAvKiBkZWNvbXBvc2l0aW9uIGRhdGEgKi8KQEAgLTMxNDYsMzU5ICszNDM2LDM1NSBAQAogICAgIDUwLCA0OSwgMjYwODUsIDc3MCwgNTAsIDUwLCAyNjA4NSwgNzcwLCA1MCwgNTEsIDI2MDg1LCA3NzAsIDUwLCA1MiwgCiAgICAgMjYwODUsIDc3MCwgNTAsIDUzLCAyNjA4NSwgNzcwLCA1MCwgNTQsIDI2MDg1LCA3NzAsIDUwLCA1NSwgMjYwODUsIDc3MCwgCiAgICAgNTAsIDU2LCAyNjA4NSwgNzcwLCA1MCwgNTcsIDI2MDg1LCA3NzAsIDUxLCA0OCwgMjYwODUsIDc3MCwgNTEsIDQ5LCAKLSAgICAyNjA4NSwgNzc4LCAxMDMsIDk3LCAxMDgsIDI1OSwgNDI4NjMsIDI1OSwgMjk0LCAyNTksIDMzOSwgMjU2LCAzNTkxMiwgCi0gICAgMjU2LCAyNjM1NiwgMjU2LCAzNjU1NCwgMjU2LCAzNjA0MCwgMjU2LCAyODM2OSwgMjU2LCAyMDAxOCwgMjU2LCAyMTQ3NywgCi0gICAgMjU2LCA0MDg2MCwgMjU2LCA0MDg2MCwgMjU2LCAyMjg2NSwgMjU2LCAzNzMyOSwgMjU2LCAyMTg5NSwgMjU2LCAyMjg1NiwgCi0gICAgMjU2LCAyNTA3OCwgMjU2LCAzMDMxMywgMjU2LCAzMjY0NSwgMjU2LCAzNDM2NywgMjU2LCAzNDc0NiwgMjU2LCAzNTA2NCwgCi0gICAgMjU2LCAzNzAwNywgMjU2LCAyNzEzOCwgMjU2LCAyNzkzMSwgMjU2LCAyODg4OSwgMjU2LCAyOTY2MiwgMjU2LCAzMzg1MywgCi0gICAgMjU2LCAzNzIyNiwgMjU2LCAzOTQwOSwgMjU2LCAyMDA5OCwgMjU2LCAyMTM2NSwgMjU2LCAyNzM5NiwgMjU2LCAyOTIxMSwgCi0gICAgMjU2LCAzNDM0OSwgMjU2LCA0MDQ3OCwgMjU2LCAyMzg4OCwgMjU2LCAyODY1MSwgMjU2LCAzNDI1MywgMjU2LCAzNTE3MiwgCi0gICAgMjU2LCAyNTI4OSwgMjU2LCAzMzI0MCwgMjU2LCAzNDg0NywgMjU2LCAyNDI2NiwgMjU2LCAyNjM5MSwgMjU2LCAyODAxMCwgCi0gICAgMjU2LCAyOTQzNiwgMjU2LCAzNzA3MCwgMjU2LCAyMDM1OCwgMjU2LCAyMDkxOSwgMjU2LCAyMTIxNCwgMjU2LCAyNTc5NiwgCi0gICAgMjU2LCAyNzM0NywgMjU2LCAyOTIwMCwgMjU2LCAzMDQzOSwgMjU2LCAzMjc2OSwgMjU2LCAzNDMxMCwgMjU2LCAzNDM5NiwgCi0gICAgMjU2LCAzNjMzNSwgMjU2LCAzODcwNiwgMjU2LCAzOTc5MSwgMjU2LCA0MDQ0MiwgMjU2LCAzMDg2MCwgMjU2LCAzMTEwMywgCi0gICAgMjU2LCAzMjE2MCwgMjU2LCAzMzczNywgMjU2LCAzNzYzNiwgMjU2LCA0MDU3NSwgMjU2LCAzNTU0MiwgMjU2LCAyMjc1MSwgCi0gICAgMjU2LCAyNDMyNCwgMjU2LCAzMTg0MCwgMjU2LCAzMjg5NCwgMjU2LCAyOTI4MiwgMjU2LCAzMDkyMiwgMjU2LCAzNjAzNCwgCi0gICAgMjU2LCAzODY0NywgMjU2LCAyMjc0NCwgMjU2LCAyMzY1MCwgMjU2LCAyNzE1NSwgMjU2LCAyODEyMiwgMjU2LCAyODQzMSwgCi0gICAgMjU2LCAzMjA0NywgMjU2LCAzMjMxMSwgMjU2LCAzODQ3NSwgMjU2LCAyMTIwMiwgMjU2LCAzMjkwNywgMjU2LCAyMDk1NiwgCi0gICAgMjU2LCAyMDk0MCwgMjU2LCAzMTI2MCwgMjU2LCAzMjE5MCwgMjU2LCAzMzc3NywgMjU2LCAzODUxNywgMjU2LCAzNTcxMiwgCi0gICAgMjU2LCAyNTI5NSwgMjU2LCAyNzEzOCwgMjU2LCAzNTU4MiwgMjU2LCAyMDAyNSwgMjU2LCAyMzUyNywgMjU2LCAyNDU5NCwgCi0gICAgMjU2LCAyOTU3NSwgMjU2LCAzMDA2NCwgMjU2LCAyMTI3MSwgMjU2LCAzMDk3MSwgMjU2LCAyMDQxNSwgMjU2LCAyNDQ4OSwgCi0gICAgMjU2LCAxOTk4MSwgMjU2LCAyNzg1MiwgMjU2LCAyNTk3NiwgMjU2LCAzMjAzNCwgMjU2LCAyMTQ0MywgMjU2LCAyMjYyMiwgCi0gICAgMjU2LCAzMDQ2NSwgMjU2LCAzMzg2NSwgMjU2LCAzNTQ5OCwgMjU2LCAyNzU3OCwgMjU2LCAzNjc4NCwgMjU2LCAyNzc4NCwgCi0gICAgMjU2LCAyNTM0MiwgMjU2LCAzMzUwOSwgMjU2LCAyNTUwNCwgMjU2LCAzMDA1MywgMjU2LCAyMDE0MiwgMjU2LCAyMDg0MSwgCi0gICAgMjU2LCAyMDkzNywgMjU2LCAyNjc1MywgMjU2LCAzMTk3NSwgMjU2LCAzMzM5MSwgMjU2LCAzNTUzOCwgMjU2LCAzNzMyNywgCi0gICAgMjU2LCAyMTIzNywgMjU2LCAyMTU3MCwgMjU2LCAyMjg5OSwgMjU2LCAyNDMwMCwgMjU2LCAyNjA1MywgMjU2LCAyODY3MCwgCi0gICAgMjU2LCAzMTAxOCwgMjU2LCAzODMxNywgMjU2LCAzOTUzMCwgMjU2LCA0MDU5OSwgMjU2LCA0MDY1NCwgMjU2LCAyMTE0NywgCi0gICAgMjU2LCAyNjMxMCwgMjU2LCAyNzUxMSwgMjU2LCAzNjcwNiwgMjU2LCAyNDE4MCwgMjU2LCAyNDk3NiwgMjU2LCAyNTA4OCwgCi0gICAgMjU2LCAyNTc1NCwgMjU2LCAyODQ1MSwgMjU2LCAyOTAwMSwgMjU2LCAyOTgzMywgMjU2LCAzMTE3OCwgMjU2LCAzMjI0NCwgCi0gICAgMjU2LCAzMjg3OSwgMjU2LCAzNjY0NiwgMjU2LCAzNDAzMCwgMjU2LCAzNjg5OSwgMjU2LCAzNzcwNiwgMjU2LCAyMTAxNSwgCi0gICAgMjU2LCAyMTE1NSwgMjU2LCAyMTY5MywgMjU2LCAyODg3MiwgMjU2LCAzNTAxMCwgMjU2LCAzNTQ5OCwgMjU2LCAyNDI2NSwgCi0gICAgMjU2LCAyNDU2NSwgMjU2LCAyNTQ2NywgMjU2LCAyNzU2NiwgMjU2LCAzMTgwNiwgMjU2LCAyOTU1NywgMjU2LCAyMDE5NiwgCi0gICAgMjU2LCAyMjI2NSwgMjU2LCAyMzUyNywgMjU2LCAyMzk5NCwgMjU2LCAyNDYwNCwgMjU2LCAyOTYxOCwgMjU2LCAyOTgwMSwgCi0gICAgMjU2LCAzMjY2NiwgMjU2LCAzMjgzOCwgMjU2LCAzNzQyOCwgMjU2LCAzODY0NiwgMjU2LCAzODcyOCwgMjU2LCAzODkzNiwgCi0gICAgMjU2LCAyMDM2MywgMjU2LCAzMTE1MCwgMjU2LCAzNzMwMCwgMjU2LCAzODU4NCwgMjU2LCAyNDgwMSwgMjU2LCAyMDEwMiwgCi0gICAgMjU2LCAyMDY5OCwgMjU2LCAyMzUzNCwgMjU2LCAyMzYxNSwgMjU2LCAyNjAwOSwgMjU2LCAyNzEzOCwgMjU2LCAyOTEzNCwgCi0gICAgMjU2LCAzMDI3NCwgMjU2LCAzNDA0NCwgMjU2LCAzNjk4OCwgMjU2LCA0MDg0NSwgMjU2LCAyNjI0OCwgMjU2LCAzODQ0NiwgCi0gICAgMjU2LCAyMTEyOSwgMjU2LCAyNjQ5MSwgMjU2LCAyNjYxMSwgMjU2LCAyNzk2OSwgMjU2LCAyODMxNiwgMjU2LCAyOTcwNSwgCi0gICAgMjU2LCAzMDA0MSwgMjU2LCAzMDgyNywgMjU2LCAzMjAxNiwgMjU2LCAzOTAwNiwgMjU2LCAyMDg0NSwgMjU2LCAyNTEzNCwgCi0gICAgMjU2LCAzODUyMCwgMjU2LCAyMDUyMywgMjU2LCAyMzgzMywgMjU2LCAyODEzOCwgMjU2LCAzNjY1MCwgMjU2LCAyNDQ1OSwgCi0gICAgMjU2LCAyNDkwMCwgMjU2LCAyNjY0NywgMjU2LCAyOTU3NSwgMjU2LCAzODUzNCwgMjU2LCAyMTAzMywgMjU2LCAyMTUxOSwgCi0gICAgMjU2LCAyMzY1MywgMjU2LCAyNjEzMSwgMjU2LCAyNjQ0NiwgMjU2LCAyNjc5MiwgMjU2LCAyNzg3NywgMjU2LCAyOTcwMiwgCi0gICAgMjU2LCAzMDE3OCwgMjU2LCAzMjYzMywgMjU2LCAzNTAyMywgMjU2LCAzNTA0MSwgMjU2LCAzNzMyNCwgMjU2LCAzODYyNiwgCi0gICAgMjU2LCAyMTMxMSwgMjU2LCAyODM0NiwgMjU2LCAyMTUzMywgMjU2LCAyOTEzNiwgMjU2LCAyOTg0OCwgMjU2LCAzNDI5OCwgCi0gICAgMjU2LCAzODU2MywgMjU2LCA0MDAyMywgMjU2LCA0MDYwNywgMjU2LCAyNjUxOSwgMjU2LCAyODEwNywgMjU2LCAzMzI1NiwgCi0gICAgMjU2LCAzMTQzNSwgMjU2LCAzMTUyMCwgMjU2LCAzMTg5MCwgMjU2LCAyOTM3NiwgMjU2LCAyODgyNSwgMjU2LCAzNTY3MiwgCi0gICAgMjU2LCAyMDE2MCwgMjU2LCAzMzU5MCwgMjU2LCAyMTA1MCwgMjU2LCAyMDk5OSwgMjU2LCAyNDIzMCwgMjU2LCAyNTI5OSwgCi0gICAgMjU2LCAzMTk1OCwgMjU2LCAyMzQyOSwgMjU2LCAyNzkzNCwgMjU2LCAyNjI5MiwgMjU2LCAzNjY2NywgMjU2LCAzNDg5MiwgCi0gICAgMjU2LCAzODQ3NywgMjU2LCAzNTIxMSwgMjU2LCAyNDI3NSwgMjU2LCAyMDgwMCwgMjU2LCAyMTk1MiwgMjU2LCAyMjYxOCwgCi0gICAgMjU2LCAyNjIyOCwgMjU2LCAyMDk1OCwgMjU2LCAyOTQ4MiwgMjU2LCAzMDQxMCwgMjU2LCAzMTAzNiwgMjU2LCAzMTA3MCwgCi0gICAgMjU2LCAzMTA3NywgMjU2LCAzMTExOSwgMjU2LCAzODc0MiwgMjU2LCAzMTkzNCwgMjU2LCAzMjcwMSwgMjU2LCAzNDMyMiwgCi0gICAgMjU2LCAzNTU3NiwgMjU2LCAzNjkyMCwgMjU2LCAzNzExNywgMjU2LCAzOTE1MSwgMjU2LCAzOTE2NCwgMjU2LCAzOTIwOCwgCi0gICAgMjU2LCA0MDM3MiwgMjU2LCAzNzA4NiwgMjU2LCAzODU4MywgMjU2LCAyMDM5OCwgMjU2LCAyMDcxMSwgMjU2LCAyMDgxMywgCi0gICAgMjU2LCAyMTE5MywgMjU2LCAyMTIyMCwgMjU2LCAyMTMyOSwgMjU2LCAyMTkxNywgMjU2LCAyMjAyMiwgMjU2LCAyMjEyMCwgCi0gICAgMjU2LCAyMjU5MiwgMjU2LCAyMjY5NiwgMjU2LCAyMzY1MiwgMjU2LCAyMzY2MiwgMjU2LCAyNDcyNCwgMjU2LCAyNDkzNiwgCi0gICAgMjU2LCAyNDk3NCwgMjU2LCAyNTA3NCwgMjU2LCAyNTkzNSwgMjU2LCAyNjA4MiwgMjU2LCAyNjI1NywgMjU2LCAyNjc1NywgCi0gICAgMjU2LCAyODAyMywgMjU2LCAyODE4NiwgMjU2LCAyODQ1MCwgMjU2LCAyOTAzOCwgMjU2LCAyOTIyNywgMjU2LCAyOTczMCwgCi0gICAgMjU2LCAzMDg2NSwgMjU2LCAzMTAzOCwgMjU2LCAzMTA0OSwgMjU2LCAzMTA0OCwgMjU2LCAzMTA1NiwgMjU2LCAzMTA2MiwgCi0gICAgMjU2LCAzMTA2OSwgMjU2LCAzMTExNywgMjU2LCAzMTExOCwgMjU2LCAzMTI5NiwgMjU2LCAzMTM2MSwgMjU2LCAzMTY4MCwgCi0gICAgMjU2LCAzMjI0NCwgMjU2LCAzMjI2NSwgMjU2LCAzMjMyMSwgMjU2LCAzMjYyNiwgMjU2LCAzMjc3MywgMjU2LCAzMzI2MSwgCi0gICAgMjU2LCAzMzQwMSwgMjU2LCAzMzQwMSwgMjU2LCAzMzg3OSwgMjU2LCAzNTA4OCwgMjU2LCAzNTIyMiwgMjU2LCAzNTU4NSwgCi0gICAgMjU2LCAzNTY0MSwgMjU2LCAzNjA1MSwgMjU2LCAzNjEwNCwgMjU2LCAzNjc5MCwgMjU2LCAzNjkyMCwgMjU2LCAzODYyNywgCi0gICAgMjU2LCAzODkxMSwgMjU2LCAzODk3MSwgMjU2LCAyNDY5MywgMjU2LCAxNDgyMDYsIDI1NiwgMzMzMDQsIDI1NiwgMjAwMDYsIAotICAgIDI1NiwgMjA5MTcsIDI1NiwgMjA4NDAsIDI1NiwgMjAzNTIsIDI1NiwgMjA4MDUsIDI1NiwgMjA4NjQsIDI1NiwgMjExOTEsIAotICAgIDI1NiwgMjEyNDIsIDI1NiwgMjE5MTcsIDI1NiwgMjE4NDUsIDI1NiwgMjE5MTMsIDI1NiwgMjE5ODYsIDI1NiwgMjI2MTgsIAotICAgIDI1NiwgMjI3MDcsIDI1NiwgMjI4NTIsIDI1NiwgMjI4NjgsIDI1NiwgMjMxMzgsIDI1NiwgMjMzMzYsIDI1NiwgMjQyNzQsIAotICAgIDI1NiwgMjQyODEsIDI1NiwgMjQ0MjUsIDI1NiwgMjQ0OTMsIDI1NiwgMjQ3OTIsIDI1NiwgMjQ5MTAsIDI1NiwgMjQ4NDAsIAotICAgIDI1NiwgMjQ5NzQsIDI1NiwgMjQ5MjgsIDI1NiwgMjUwNzQsIDI1NiwgMjUxNDAsIDI1NiwgMjU1NDAsIDI1NiwgMjU2MjgsIAotICAgIDI1NiwgMjU2ODIsIDI1NiwgMjU5NDIsIDI1NiwgMjYyMjgsIDI1NiwgMjYzOTEsIDI1NiwgMjYzOTUsIDI1NiwgMjY0NTQsIAotICAgIDI1NiwgMjc1MTMsIDI1NiwgMjc1NzgsIDI1NiwgMjc5NjksIDI1NiwgMjgzNzksIDI1NiwgMjgzNjMsIDI1NiwgMjg0NTAsIAotICAgIDI1NiwgMjg3MDIsIDI1NiwgMjkwMzgsIDI1NiwgMzA2MzEsIDI1NiwgMjkyMzcsIDI1NiwgMjkzNTksIDI1NiwgMjk0ODIsIAotICAgIDI1NiwgMjk4MDksIDI1NiwgMjk5NTgsIDI1NiwgMzAwMTEsIDI1NiwgMzAyMzcsIDI1NiwgMzAyMzksIDI1NiwgMzA0MTAsIAotICAgIDI1NiwgMzA0MjcsIDI1NiwgMzA0NTIsIDI1NiwgMzA1MzgsIDI1NiwgMzA1MjgsIDI1NiwgMzA5MjQsIDI1NiwgMzE0MDksIAotICAgIDI1NiwgMzE2ODAsIDI1NiwgMzE4NjcsIDI1NiwgMzIwOTEsIDI1NiwgMzIyNDQsIDI1NiwgMzI1NzQsIDI1NiwgMzI3NzMsIAotICAgIDI1NiwgMzM2MTgsIDI1NiwgMzM3NzUsIDI1NiwgMzQ2ODEsIDI1NiwgMzUxMzcsIDI1NiwgMzUyMDYsIDI1NiwgMzUyMjIsIAotICAgIDI1NiwgMzU1MTksIDI1NiwgMzU1NzYsIDI1NiwgMzU1MzEsIDI1NiwgMzU1ODUsIDI1NiwgMzU1ODIsIDI1NiwgMzU1NjUsIAotICAgIDI1NiwgMzU2NDEsIDI1NiwgMzU3MjIsIDI1NiwgMzYxMDQsIDI1NiwgMzY2NjQsIDI1NiwgMzY5NzgsIDI1NiwgMzcyNzMsIAotICAgIDI1NiwgMzc0OTQsIDI1NiwgMzg1MjQsIDI1NiwgMzg2MjcsIDI1NiwgMzg3NDIsIDI1NiwgMzg4NzUsIDI1NiwgMzg5MTEsIAotICAgIDI1NiwgMzg5MjMsIDI1NiwgMzg5NzEsIDI1NiwgMzk2OTgsIDI1NiwgNDA4NjAsIDI1NiwgMTQxMzg2LCAyNTYsIDE0MTM4MCwgCi0gICAgMjU2LCAxNDQzNDEsIDI1NiwgMTUyNjEsIDI1NiwgMTY0MDgsIDI1NiwgMTY0NDEsIDI1NiwgMTUyMTM3LCAyNTYsIAotICAgIDE1NDgzMiwgMjU2LCAxNjM1MzksIDI1NiwgNDA3NzEsIDI1NiwgNDA4NDYsIDUxNCwgMTAyLCAxMDIsIDUxNCwgMTAyLCAKLSAgICAxMDUsIDUxNCwgMTAyLCAxMDgsIDc3MCwgMTAyLCAxMDIsIDEwNSwgNzcwLCAxMDIsIDEwMiwgMTA4LCA1MTQsIDM4MywgCi0gICAgMTE2LCA1MTQsIDExNSwgMTE2LCA1MTQsIDEzOTYsIDEzOTgsIDUxNCwgMTM5NiwgMTM4MSwgNTE0LCAxMzk2LCAxMzg3LCAKLSAgICA1MTQsIDE0MDYsIDEzOTgsIDUxNCwgMTM5NiwgMTM4OSwgNTEyLCAxNDk3LCAxNDYwLCA1MTIsIDE1MjIsIDE0NjMsIDI2MiwgCi0gICAgMTUwNiwgMjYyLCAxNDg4LCAyNjIsIDE0OTEsIDI2MiwgMTQ5MiwgMjYyLCAxNDk5LCAyNjIsIDE1MDAsIDI2MiwgMTUwMSwgCi0gICAgMjYyLCAxNTEyLCAyNjIsIDE1MTQsIDI2MiwgNDMsIDUxMiwgMTUxMywgMTQ3MywgNTEyLCAxNTEzLCAxNDc0LCA1MTIsIAotICAgIDY0MzI5LCAxNDczLCA1MTIsIDY0MzI5LCAxNDc0LCA1MTIsIDE0ODgsIDE0NjMsIDUxMiwgMTQ4OCwgMTQ2NCwgNTEyLCAKLSAgICAxNDg4LCAxNDY4LCA1MTIsIDE0ODksIDE0NjgsIDUxMiwgMTQ5MCwgMTQ2OCwgNTEyLCAxNDkxLCAxNDY4LCA1MTIsIDE0OTIsIAotICAgIDE0NjgsIDUxMiwgMTQ5MywgMTQ2OCwgNTEyLCAxNDk0LCAxNDY4LCA1MTIsIDE0OTYsIDE0NjgsIDUxMiwgMTQ5NywgMTQ2OCwgCi0gICAgNTEyLCAxNDk4LCAxNDY4LCA1MTIsIDE0OTksIDE0NjgsIDUxMiwgMTUwMCwgMTQ2OCwgNTEyLCAxNTAyLCAxNDY4LCA1MTIsIAotICAgIDE1MDQsIDE0NjgsIDUxMiwgMTUwNSwgMTQ2OCwgNTEyLCAxNTA3LCAxNDY4LCA1MTIsIDE1MDgsIDE0NjgsIDUxMiwgMTUxMCwgCi0gICAgMTQ2OCwgNTEyLCAxNTExLCAxNDY4LCA1MTIsIDE1MTIsIDE0NjgsIDUxMiwgMTUxMywgMTQ2OCwgNTEyLCAxNTE0LCAxNDY4LCAKLSAgICA1MTIsIDE0OTMsIDE0NjUsIDUxMiwgMTQ4OSwgMTQ3MSwgNTEyLCAxNDk5LCAxNDcxLCA1MTIsIDE1MDgsIDE0NzEsIDUxNCwgCi0gICAgMTQ4OCwgMTUwMCwgMjY3LCAxNjQ5LCAyNjgsIDE2NDksIDI2NywgMTY1OSwgMjY4LCAxNjU5LCAyNjksIDE2NTksIDI3MCwgCi0gICAgMTY1OSwgMjY3LCAxNjYyLCAyNjgsIDE2NjIsIDI2OSwgMTY2MiwgMjcwLCAxNjYyLCAyNjcsIDE2NjQsIDI2OCwgMTY2NCwgCi0gICAgMjY5LCAxNjY0LCAyNzAsIDE2NjQsIDI2NywgMTY1OCwgMjY4LCAxNjU4LCAyNjksIDE2NTgsIDI3MCwgMTY1OCwgMjY3LCAKLSAgICAxNjYzLCAyNjgsIDE2NjMsIDI2OSwgMTY2MywgMjcwLCAxNjYzLCAyNjcsIDE2NTcsIDI2OCwgMTY1NywgMjY5LCAxNjU3LCAKLSAgICAyNzAsIDE2NTcsIDI2NywgMTcwMCwgMjY4LCAxNzAwLCAyNjksIDE3MDAsIDI3MCwgMTcwMCwgMjY3LCAxNzAyLCAyNjgsIAotICAgIDE3MDIsIDI2OSwgMTcwMiwgMjcwLCAxNzAyLCAyNjcsIDE2NjgsIDI2OCwgMTY2OCwgMjY5LCAxNjY4LCAyNzAsIDE2NjgsIAotICAgIDI2NywgMTY2NywgMjY4LCAxNjY3LCAyNjksIDE2NjcsIDI3MCwgMTY2NywgMjY3LCAxNjcwLCAyNjgsIDE2NzAsIDI2OSwgCi0gICAgMTY3MCwgMjcwLCAxNjcwLCAyNjcsIDE2NzEsIDI2OCwgMTY3MSwgMjY5LCAxNjcxLCAyNzAsIDE2NzEsIDI2NywgMTY3NywgCi0gICAgMjY4LCAxNjc3LCAyNjcsIDE2NzYsIDI2OCwgMTY3NiwgMjY3LCAxNjc4LCAyNjgsIDE2NzgsIDI2NywgMTY3MiwgMjY4LCAKLSAgICAxNjcyLCAyNjcsIDE2ODgsIDI2OCwgMTY4OCwgMjY3LCAxNjgxLCAyNjgsIDE2ODEsIDI2NywgMTcwNSwgMjY4LCAxNzA1LCAKLSAgICAyNjksIDE3MDUsIDI3MCwgMTcwNSwgMjY3LCAxNzExLCAyNjgsIDE3MTEsIDI2OSwgMTcxMSwgMjcwLCAxNzExLCAyNjcsIAotICAgIDE3MTUsIDI2OCwgMTcxNSwgMjY5LCAxNzE1LCAyNzAsIDE3MTUsIDI2NywgMTcxMywgMjY4LCAxNzEzLCAyNjksIDE3MTMsIAotICAgIDI3MCwgMTcxMywgMjY3LCAxNzIyLCAyNjgsIDE3MjIsIDI2NywgMTcyMywgMjY4LCAxNzIzLCAyNjksIDE3MjMsIDI3MCwgCi0gICAgMTcyMywgMjY3LCAxNzI4LCAyNjgsIDE3MjgsIDI2NywgMTcyOSwgMjY4LCAxNzI5LCAyNjksIDE3MjksIDI3MCwgMTcyOSwgCi0gICAgMjY3LCAxNzI2LCAyNjgsIDE3MjYsIDI2OSwgMTcyNiwgMjcwLCAxNzI2LCAyNjcsIDE3NDYsIDI2OCwgMTc0NiwgMjY3LCAKLSAgICAxNzQ3LCAyNjgsIDE3NDcsIDI2NywgMTcwOSwgMjY4LCAxNzA5LCAyNjksIDE3MDksIDI3MCwgMTcwOSwgMjY3LCAxNzM1LCAKLSAgICAyNjgsIDE3MzUsIDI2NywgMTczNCwgMjY4LCAxNzM0LCAyNjcsIDE3MzYsIDI2OCwgMTczNiwgMjY3LCAxNjU1LCAyNjcsIAotICAgIDE3MzksIDI2OCwgMTczOSwgMjY3LCAxNzMzLCAyNjgsIDE3MzMsIDI2NywgMTczNywgMjY4LCAxNzM3LCAyNjcsIDE3NDQsIAotICAgIDI2OCwgMTc0NCwgMjY5LCAxNzQ0LCAyNzAsIDE3NDQsIDI2OSwgMTYwOSwgMjcwLCAxNjA5LCA1MjMsIDE1NzQsIDE1NzUsIAotICAgIDUyNCwgMTU3NCwgMTU3NSwgNTIzLCAxNTc0LCAxNzQ5LCA1MjQsIDE1NzQsIDE3NDksIDUyMywgMTU3NCwgMTYwOCwgNTI0LCAKLSAgICAxNTc0LCAxNjA4LCA1MjMsIDE1NzQsIDE3MzUsIDUyNCwgMTU3NCwgMTczNSwgNTIzLCAxNTc0LCAxNzM0LCA1MjQsIDE1NzQsIAotICAgIDE3MzQsIDUyMywgMTU3NCwgMTczNiwgNTI0LCAxNTc0LCAxNzM2LCA1MjMsIDE1NzQsIDE3NDQsIDUyNCwgMTU3NCwgMTc0NCwgCi0gICAgNTI1LCAxNTc0LCAxNzQ0LCA1MjMsIDE1NzQsIDE2MDksIDUyNCwgMTU3NCwgMTYwOSwgNTI1LCAxNTc0LCAxNjA5LCAyNjcsIAotICAgIDE3NDAsIDI2OCwgMTc0MCwgMjY5LCAxNzQwLCAyNzAsIDE3NDAsIDUyMywgMTU3NCwgMTU4MCwgNTIzLCAxNTc0LCAxNTgxLCAKLSAgICA1MjMsIDE1NzQsIDE2MDUsIDUyMywgMTU3NCwgMTYwOSwgNTIzLCAxNTc0LCAxNjEwLCA1MjMsIDE1NzYsIDE1ODAsIDUyMywgCi0gICAgMTU3NiwgMTU4MSwgNTIzLCAxNTc2LCAxNTgyLCA1MjMsIDE1NzYsIDE2MDUsIDUyMywgMTU3NiwgMTYwOSwgNTIzLCAxNTc2LCAKLSAgICAxNjEwLCA1MjMsIDE1NzgsIDE1ODAsIDUyMywgMTU3OCwgMTU4MSwgNTIzLCAxNTc4LCAxNTgyLCA1MjMsIDE1NzgsIDE2MDUsIAotICAgIDUyMywgMTU3OCwgMTYwOSwgNTIzLCAxNTc4LCAxNjEwLCA1MjMsIDE1NzksIDE1ODAsIDUyMywgMTU3OSwgMTYwNSwgNTIzLCAKLSAgICAxNTc5LCAxNjA5LCA1MjMsIDE1NzksIDE2MTAsIDUyMywgMTU4MCwgMTU4MSwgNTIzLCAxNTgwLCAxNjA1LCA1MjMsIDE1ODEsIAotICAgIDE1ODAsIDUyMywgMTU4MSwgMTYwNSwgNTIzLCAxNTgyLCAxNTgwLCA1MjMsIDE1ODIsIDE1ODEsIDUyMywgMTU4MiwgMTYwNSwgCi0gICAgNTIzLCAxNTg3LCAxNTgwLCA1MjMsIDE1ODcsIDE1ODEsIDUyMywgMTU4NywgMTU4MiwgNTIzLCAxNTg3LCAxNjA1LCA1MjMsIAotICAgIDE1ODksIDE1ODEsIDUyMywgMTU4OSwgMTYwNSwgNTIzLCAxNTkwLCAxNTgwLCA1MjMsIDE1OTAsIDE1ODEsIDUyMywgMTU5MCwgCi0gICAgMTU4MiwgNTIzLCAxNTkwLCAxNjA1LCA1MjMsIDE1OTEsIDE1ODEsIDUyMywgMTU5MSwgMTYwNSwgNTIzLCAxNTkyLCAxNjA1LCAKLSAgICA1MjMsIDE1OTMsIDE1ODAsIDUyMywgMTU5MywgMTYwNSwgNTIzLCAxNTk0LCAxNTgwLCA1MjMsIDE1OTQsIDE2MDUsIDUyMywgCi0gICAgMTYwMSwgMTU4MCwgNTIzLCAxNjAxLCAxNTgxLCA1MjMsIDE2MDEsIDE1ODIsIDUyMywgMTYwMSwgMTYwNSwgNTIzLCAxNjAxLCAKLSAgICAxNjA5LCA1MjMsIDE2MDEsIDE2MTAsIDUyMywgMTYwMiwgMTU4MSwgNTIzLCAxNjAyLCAxNjA1LCA1MjMsIDE2MDIsIDE2MDksIAotICAgIDUyMywgMTYwMiwgMTYxMCwgNTIzLCAxNjAzLCAxNTc1LCA1MjMsIDE2MDMsIDE1ODAsIDUyMywgMTYwMywgMTU4MSwgNTIzLCAKLSAgICAxNjAzLCAxNTgyLCA1MjMsIDE2MDMsIDE2MDQsIDUyMywgMTYwMywgMTYwNSwgNTIzLCAxNjAzLCAxNjA5LCA1MjMsIDE2MDMsIAotICAgIDE2MTAsIDUyMywgMTYwNCwgMTU4MCwgNTIzLCAxNjA0LCAxNTgxLCA1MjMsIDE2MDQsIDE1ODIsIDUyMywgMTYwNCwgMTYwNSwgCi0gICAgNTIzLCAxNjA0LCAxNjA5LCA1MjMsIDE2MDQsIDE2MTAsIDUyMywgMTYwNSwgMTU4MCwgNTIzLCAxNjA1LCAxNTgxLCA1MjMsIAotICAgIDE2MDUsIDE1ODIsIDUyMywgMTYwNSwgMTYwNSwgNTIzLCAxNjA1LCAxNjA5LCA1MjMsIDE2MDUsIDE2MTAsIDUyMywgMTYwNiwgCi0gICAgMTU4MCwgNTIzLCAxNjA2LCAxNTgxLCA1MjMsIDE2MDYsIDE1ODIsIDUyMywgMTYwNiwgMTYwNSwgNTIzLCAxNjA2LCAxNjA5LCAKLSAgICA1MjMsIDE2MDYsIDE2MTAsIDUyMywgMTYwNywgMTU4MCwgNTIzLCAxNjA3LCAxNjA1LCA1MjMsIDE2MDcsIDE2MDksIDUyMywgCi0gICAgMTYwNywgMTYxMCwgNTIzLCAxNjEwLCAxNTgwLCA1MjMsIDE2MTAsIDE1ODEsIDUyMywgMTYxMCwgMTU4MiwgNTIzLCAxNjEwLCAKLSAgICAxNjA1LCA1MjMsIDE2MTAsIDE2MDksIDUyMywgMTYxMCwgMTYxMCwgNTIzLCAxNTg0LCAxNjQ4LCA1MjMsIDE1ODUsIDE2NDgsIAotICAgIDUyMywgMTYwOSwgMTY0OCwgNzc5LCAzMiwgMTYxMiwgMTYxNywgNzc5LCAzMiwgMTYxMywgMTYxNywgNzc5LCAzMiwgMTYxNCwgCi0gICAgMTYxNywgNzc5LCAzMiwgMTYxNSwgMTYxNywgNzc5LCAzMiwgMTYxNiwgMTYxNywgNzc5LCAzMiwgMTYxNywgMTY0OCwgNTI0LCAKLSAgICAxNTc0LCAxNTg1LCA1MjQsIDE1NzQsIDE1ODYsIDUyNCwgMTU3NCwgMTYwNSwgNTI0LCAxNTc0LCAxNjA2LCA1MjQsIDE1NzQsIAotICAgIDE2MDksIDUyNCwgMTU3NCwgMTYxMCwgNTI0LCAxNTc2LCAxNTg1LCA1MjQsIDE1NzYsIDE1ODYsIDUyNCwgMTU3NiwgMTYwNSwgCi0gICAgNTI0LCAxNTc2LCAxNjA2LCA1MjQsIDE1NzYsIDE2MDksIDUyNCwgMTU3NiwgMTYxMCwgNTI0LCAxNTc4LCAxNTg1LCA1MjQsIAotICAgIDE1NzgsIDE1ODYsIDUyNCwgMTU3OCwgMTYwNSwgNTI0LCAxNTc4LCAxNjA2LCA1MjQsIDE1NzgsIDE2MDksIDUyNCwgMTU3OCwgCi0gICAgMTYxMCwgNTI0LCAxNTc5LCAxNTg1LCA1MjQsIDE1NzksIDE1ODYsIDUyNCwgMTU3OSwgMTYwNSwgNTI0LCAxNTc5LCAxNjA2LCAKLSAgICA1MjQsIDE1NzksIDE2MDksIDUyNCwgMTU3OSwgMTYxMCwgNTI0LCAxNjAxLCAxNjA5LCA1MjQsIDE2MDEsIDE2MTAsIDUyNCwgCi0gICAgMTYwMiwgMTYwOSwgNTI0LCAxNjAyLCAxNjEwLCA1MjQsIDE2MDMsIDE1NzUsIDUyNCwgMTYwMywgMTYwNCwgNTI0LCAxNjAzLCAKLSAgICAxNjA1LCA1MjQsIDE2MDMsIDE2MDksIDUyNCwgMTYwMywgMTYxMCwgNTI0LCAxNjA0LCAxNjA1LCA1MjQsIDE2MDQsIDE2MDksIAotICAgIDUyNCwgMTYwNCwgMTYxMCwgNTI0LCAxNjA1LCAxNTc1LCA1MjQsIDE2MDUsIDE2MDUsIDUyNCwgMTYwNiwgMTU4NSwgNTI0LCAKLSAgICAxNjA2LCAxNTg2LCA1MjQsIDE2MDYsIDE2MDUsIDUyNCwgMTYwNiwgMTYwNiwgNTI0LCAxNjA2LCAxNjA5LCA1MjQsIDE2MDYsIAotICAgIDE2MTAsIDUyNCwgMTYwOSwgMTY0OCwgNTI0LCAxNjEwLCAxNTg1LCA1MjQsIDE2MTAsIDE1ODYsIDUyNCwgMTYxMCwgMTYwNSwgCi0gICAgNTI0LCAxNjEwLCAxNjA2LCA1MjQsIDE2MTAsIDE2MDksIDUyNCwgMTYxMCwgMTYxMCwgNTI1LCAxNTc0LCAxNTgwLCA1MjUsIAotICAgIDE1NzQsIDE1ODEsIDUyNSwgMTU3NCwgMTU4MiwgNTI1LCAxNTc0LCAxNjA1LCA1MjUsIDE1NzQsIDE2MDcsIDUyNSwgMTU3NiwgCi0gICAgMTU4MCwgNTI1LCAxNTc2LCAxNTgxLCA1MjUsIDE1NzYsIDE1ODIsIDUyNSwgMTU3NiwgMTYwNSwgNTI1LCAxNTc2LCAxNjA3LCAKLSAgICA1MjUsIDE1NzgsIDE1ODAsIDUyNSwgMTU3OCwgMTU4MSwgNTI1LCAxNTc4LCAxNTgyLCA1MjUsIDE1NzgsIDE2MDUsIDUyNSwgCi0gICAgMTU3OCwgMTYwNywgNTI1LCAxNTc5LCAxNjA1LCA1MjUsIDE1ODAsIDE1ODEsIDUyNSwgMTU4MCwgMTYwNSwgNTI1LCAxNTgxLCAKLSAgICAxNTgwLCA1MjUsIDE1ODEsIDE2MDUsIDUyNSwgMTU4MiwgMTU4MCwgNTI1LCAxNTgyLCAxNjA1LCA1MjUsIDE1ODcsIDE1ODAsIAotICAgIDUyNSwgMTU4NywgMTU4MSwgNTI1LCAxNTg3LCAxNTgyLCA1MjUsIDE1ODcsIDE2MDUsIDUyNSwgMTU4OSwgMTU4MSwgNTI1LCAKLSAgICAxNTg5LCAxNTgyLCA1MjUsIDE1ODksIDE2MDUsIDUyNSwgMTU5MCwgMTU4MCwgNTI1LCAxNTkwLCAxNTgxLCA1MjUsIDE1OTAsIAotICAgIDE1ODIsIDUyNSwgMTU5MCwgMTYwNSwgNTI1LCAxNTkxLCAxNTgxLCA1MjUsIDE1OTIsIDE2MDUsIDUyNSwgMTU5MywgMTU4MCwgCi0gICAgNTI1LCAxNTkzLCAxNjA1LCA1MjUsIDE1OTQsIDE1ODAsIDUyNSwgMTU5NCwgMTYwNSwgNTI1LCAxNjAxLCAxNTgwLCA1MjUsIAotICAgIDE2MDEsIDE1ODEsIDUyNSwgMTYwMSwgMTU4MiwgNTI1LCAxNjAxLCAxNjA1LCA1MjUsIDE2MDIsIDE1ODEsIDUyNSwgMTYwMiwgCi0gICAgMTYwNSwgNTI1LCAxNjAzLCAxNTgwLCA1MjUsIDE2MDMsIDE1ODEsIDUyNSwgMTYwMywgMTU4MiwgNTI1LCAxNjAzLCAxNjA0LCAKLSAgICA1MjUsIDE2MDMsIDE2MDUsIDUyNSwgMTYwNCwgMTU4MCwgNTI1LCAxNjA0LCAxNTgxLCA1MjUsIDE2MDQsIDE1ODIsIDUyNSwgCi0gICAgMTYwNCwgMTYwNSwgNTI1LCAxNjA0LCAxNjA3LCA1MjUsIDE2MDUsIDE1ODAsIDUyNSwgMTYwNSwgMTU4MSwgNTI1LCAxNjA1LCAKLSAgICAxNTgyLCA1MjUsIDE2MDUsIDE2MDUsIDUyNSwgMTYwNiwgMTU4MCwgNTI1LCAxNjA2LCAxNTgxLCA1MjUsIDE2MDYsIDE1ODIsIAotICAgIDUyNSwgMTYwNiwgMTYwNSwgNTI1LCAxNjA2LCAxNjA3LCA1MjUsIDE2MDcsIDE1ODAsIDUyNSwgMTYwNywgMTYwNSwgNTI1LCAKLSAgICAxNjA3LCAxNjQ4LCA1MjUsIDE2MTAsIDE1ODAsIDUyNSwgMTYxMCwgMTU4MSwgNTI1LCAxNjEwLCAxNTgyLCA1MjUsIDE2MTAsIAotICAgIDE2MDUsIDUyNSwgMTYxMCwgMTYwNywgNTI2LCAxNTc0LCAxNjA1LCA1MjYsIDE1NzQsIDE2MDcsIDUyNiwgMTU3NiwgMTYwNSwgCi0gICAgNTI2LCAxNTc2LCAxNjA3LCA1MjYsIDE1NzgsIDE2MDUsIDUyNiwgMTU3OCwgMTYwNywgNTI2LCAxNTc5LCAxNjA1LCA1MjYsIAotICAgIDE1NzksIDE2MDcsIDUyNiwgMTU4NywgMTYwNSwgNTI2LCAxNTg3LCAxNjA3LCA1MjYsIDE1ODgsIDE2MDUsIDUyNiwgMTU4OCwgCi0gICAgMTYwNywgNTI2LCAxNjAzLCAxNjA0LCA1MjYsIDE2MDMsIDE2MDUsIDUyNiwgMTYwNCwgMTYwNSwgNTI2LCAxNjA2LCAxNjA1LCAKLSAgICA1MjYsIDE2MDYsIDE2MDcsIDUyNiwgMTYxMCwgMTYwNSwgNTI2LCAxNjEwLCAxNjA3LCA3ODIsIDE2MDAsIDE2MTQsIDE2MTcsIAotICAgIDc4MiwgMTYwMCwgMTYxNSwgMTYxNywgNzgyLCAxNjAwLCAxNjE2LCAxNjE3LCA1MjMsIDE1OTEsIDE2MDksIDUyMywgMTU5MSwgCi0gICAgMTYxMCwgNTIzLCAxNTkzLCAxNjA5LCA1MjMsIDE1OTMsIDE2MTAsIDUyMywgMTU5NCwgMTYwOSwgNTIzLCAxNTk0LCAxNjEwLCAKLSAgICA1MjMsIDE1ODcsIDE2MDksIDUyMywgMTU4NywgMTYxMCwgNTIzLCAxNTg4LCAxNjA5LCA1MjMsIDE1ODgsIDE2MTAsIDUyMywgCi0gICAgMTU4MSwgMTYwOSwgNTIzLCAxNTgxLCAxNjEwLCA1MjMsIDE1ODAsIDE2MDksIDUyMywgMTU4MCwgMTYxMCwgNTIzLCAxNTgyLCAKLSAgICAxNjA5LCA1MjMsIDE1ODIsIDE2MTAsIDUyMywgMTU4OSwgMTYwOSwgNTIzLCAxNTg5LCAxNjEwLCA1MjMsIDE1OTAsIDE2MDksIAotICAgIDUyMywgMTU5MCwgMTYxMCwgNTIzLCAxNTg4LCAxNTgwLCA1MjMsIDE1ODgsIDE1ODEsIDUyMywgMTU4OCwgMTU4MiwgNTIzLCAKLSAgICAxNTg4LCAxNjA1LCA1MjMsIDE1ODgsIDE1ODUsIDUyMywgMTU4NywgMTU4NSwgNTIzLCAxNTg5LCAxNTg1LCA1MjMsIDE1OTAsIAotICAgIDE1ODUsIDUyNCwgMTU5MSwgMTYwOSwgNTI0LCAxNTkxLCAxNjEwLCA1MjQsIDE1OTMsIDE2MDksIDUyNCwgMTU5MywgMTYxMCwgCi0gICAgNTI0LCAxNTk0LCAxNjA5LCA1MjQsIDE1OTQsIDE2MTAsIDUyNCwgMTU4NywgMTYwOSwgNTI0LCAxNTg3LCAxNjEwLCA1MjQsIAotICAgIDE1ODgsIDE2MDksIDUyNCwgMTU4OCwgMTYxMCwgNTI0LCAxNTgxLCAxNjA5LCA1MjQsIDE1ODEsIDE2MTAsIDUyNCwgMTU4MCwgCi0gICAgMTYwOSwgNTI0LCAxNTgwLCAxNjEwLCA1MjQsIDE1ODIsIDE2MDksIDUyNCwgMTU4MiwgMTYxMCwgNTI0LCAxNTg5LCAxNjA5LCAKLSAgICA1MjQsIDE1ODksIDE2MTAsIDUyNCwgMTU5MCwgMTYwOSwgNTI0LCAxNTkwLCAxNjEwLCA1MjQsIDE1ODgsIDE1ODAsIDUyNCwgCi0gICAgMTU4OCwgMTU4MSwgNTI0LCAxNTg4LCAxNTgyLCA1MjQsIDE1ODgsIDE2MDUsIDUyNCwgMTU4OCwgMTU4NSwgNTI0LCAxNTg3LCAKLSAgICAxNTg1LCA1MjQsIDE1ODksIDE1ODUsIDUyNCwgMTU5MCwgMTU4NSwgNTI1LCAxNTg4LCAxNTgwLCA1MjUsIDE1ODgsIDE1ODEsIAotICAgIDUyNSwgMTU4OCwgMTU4MiwgNTI1LCAxNTg4LCAxNjA1LCA1MjUsIDE1ODcsIDE2MDcsIDUyNSwgMTU4OCwgMTYwNywgNTI1LCAKLSAgICAxNTkxLCAxNjA1LCA1MjYsIDE1ODcsIDE1ODAsIDUyNiwgMTU4NywgMTU4MSwgNTI2LCAxNTg3LCAxNTgyLCA1MjYsIDE1ODgsIAotICAgIDE1ODAsIDUyNiwgMTU4OCwgMTU4MSwgNTI2LCAxNTg4LCAxNTgyLCA1MjYsIDE1OTEsIDE2MDUsIDUyNiwgMTU5MiwgMTYwNSwgCi0gICAgNTI0LCAxNTc1LCAxNjExLCA1MjMsIDE1NzUsIDE2MTEsIDc4MSwgMTU3OCwgMTU4MCwgMTYwNSwgNzgwLCAxNTc4LCAxNTgxLCAKLSAgICAxNTgwLCA3ODEsIDE1NzgsIDE1ODEsIDE1ODAsIDc4MSwgMTU3OCwgMTU4MSwgMTYwNSwgNzgxLCAxNTc4LCAxNTgyLCAKLSAgICAxNjA1LCA3ODEsIDE1NzgsIDE2MDUsIDE1ODAsIDc4MSwgMTU3OCwgMTYwNSwgMTU4MSwgNzgxLCAxNTc4LCAxNjA1LCAKLSAgICAxNTgyLCA3ODAsIDE1ODAsIDE2MDUsIDE1ODEsIDc4MSwgMTU4MCwgMTYwNSwgMTU4MSwgNzgwLCAxNTgxLCAxNjA1LCAKLSAgICAxNjEwLCA3ODAsIDE1ODEsIDE2MDUsIDE2MDksIDc4MSwgMTU4NywgMTU4MSwgMTU4MCwgNzgxLCAxNTg3LCAxNTgwLCAKLSAgICAxNTgxLCA3ODAsIDE1ODcsIDE1ODAsIDE2MDksIDc4MCwgMTU4NywgMTYwNSwgMTU4MSwgNzgxLCAxNTg3LCAxNjA1LCAKLSAgICAxNTgxLCA3ODEsIDE1ODcsIDE2MDUsIDE1ODAsIDc4MCwgMTU4NywgMTYwNSwgMTYwNSwgNzgxLCAxNTg3LCAxNjA1LCAKLSAgICAxNjA1LCA3ODAsIDE1ODksIDE1ODEsIDE1ODEsIDc4MSwgMTU4OSwgMTU4MSwgMTU4MSwgNzgwLCAxNTg5LCAxNjA1LCAKLSAgICAxNjA1LCA3ODAsIDE1ODgsIDE1ODEsIDE2MDUsIDc4MSwgMTU4OCwgMTU4MSwgMTYwNSwgNzgwLCAxNTg4LCAxNTgwLCAKLSAgICAxNjEwLCA3ODAsIDE1ODgsIDE2MDUsIDE1ODIsIDc4MSwgMTU4OCwgMTYwNSwgMTU4MiwgNzgwLCAxNTg4LCAxNjA1LCAKLSAgICAxNjA1LCA3ODEsIDE1ODgsIDE2MDUsIDE2MDUsIDc4MCwgMTU5MCwgMTU4MSwgMTYwOSwgNzgwLCAxNTkwLCAxNTgyLCAKLSAgICAxNjA1LCA3ODEsIDE1OTAsIDE1ODIsIDE2MDUsIDc4MCwgMTU5MSwgMTYwNSwgMTU4MSwgNzgxLCAxNTkxLCAxNjA1LCAKLSAgICAxNTgxLCA3ODEsIDE1OTEsIDE2MDUsIDE2MDUsIDc4MCwgMTU5MSwgMTYwNSwgMTYxMCwgNzgwLCAxNTkzLCAxNTgwLCAKLSAgICAxNjA1LCA3ODAsIDE1OTMsIDE2MDUsIDE2MDUsIDc4MSwgMTU5MywgMTYwNSwgMTYwNSwgNzgwLCAxNTkzLCAxNjA1LCAKLSAgICAxNjA5LCA3ODAsIDE1OTQsIDE2MDUsIDE2MDUsIDc4MCwgMTU5NCwgMTYwNSwgMTYxMCwgNzgwLCAxNTk0LCAxNjA1LCAKLSAgICAxNjA5LCA3ODAsIDE2MDEsIDE1ODIsIDE2MDUsIDc4MSwgMTYwMSwgMTU4MiwgMTYwNSwgNzgwLCAxNjAyLCAxNjA1LCAKLSAgICAxNTgxLCA3ODAsIDE2MDIsIDE2MDUsIDE2MDUsIDc4MCwgMTYwNCwgMTU4MSwgMTYwNSwgNzgwLCAxNjA0LCAxNTgxLCAKLSAgICAxNjEwLCA3ODAsIDE2MDQsIDE1ODEsIDE2MDksIDc4MSwgMTYwNCwgMTU4MCwgMTU4MCwgNzgwLCAxNjA0LCAxNTgwLCAKLSAgICAxNTgwLCA3ODAsIDE2MDQsIDE1ODIsIDE2MDUsIDc4MSwgMTYwNCwgMTU4MiwgMTYwNSwgNzgwLCAxNjA0LCAxNjA1LCAKLSAgICAxNTgxLCA3ODEsIDE2MDQsIDE2MDUsIDE1ODEsIDc4MSwgMTYwNSwgMTU4MSwgMTU4MCwgNzgxLCAxNjA1LCAxNTgxLCAKLSAgICAxNjA1LCA3ODAsIDE2MDUsIDE1ODEsIDE2MTAsIDc4MSwgMTYwNSwgMTU4MCwgMTU4MSwgNzgxLCAxNjA1LCAxNTgwLCAKLSAgICAxNjA1LCA3ODEsIDE2MDUsIDE1ODIsIDE1ODAsIDc4MSwgMTYwNSwgMTU4MiwgMTYwNSwgNzgxLCAxNjA1LCAxNTgwLCAKLSAgICAxNTgyLCA3ODEsIDE2MDcsIDE2MDUsIDE1ODAsIDc4MSwgMTYwNywgMTYwNSwgMTYwNSwgNzgxLCAxNjA2LCAxNTgxLCAKLSAgICAxNjA1LCA3ODAsIDE2MDYsIDE1ODEsIDE2MDksIDc4MCwgMTYwNiwgMTU4MCwgMTYwNSwgNzgxLCAxNjA2LCAxNTgwLCAKLSAgICAxNjA1LCA3ODAsIDE2MDYsIDE1ODAsIDE2MDksIDc4MCwgMTYwNiwgMTYwNSwgMTYxMCwgNzgwLCAxNjA2LCAxNjA1LCAKLSAgICAxNjA5LCA3ODAsIDE2MTAsIDE2MDUsIDE2MDUsIDc4MSwgMTYxMCwgMTYwNSwgMTYwNSwgNzgwLCAxNTc2LCAxNTgyLCAKLSAgICAxNjEwLCA3ODAsIDE1NzgsIDE1ODAsIDE2MTAsIDc4MCwgMTU3OCwgMTU4MCwgMTYwOSwgNzgwLCAxNTc4LCAxNTgyLCAKLSAgICAxNjEwLCA3ODAsIDE1NzgsIDE1ODIsIDE2MDksIDc4MCwgMTU3OCwgMTYwNSwgMTYxMCwgNzgwLCAxNTc4LCAxNjA1LCAKLSAgICAxNjA5LCA3ODAsIDE1ODAsIDE2MDUsIDE2MTAsIDc4MCwgMTU4MCwgMTU4MSwgMTYwOSwgNzgwLCAxNTgwLCAxNjA1LCAKLSAgICAxNjA5LCA3ODAsIDE1ODcsIDE1ODIsIDE2MDksIDc4MCwgMTU4OSwgMTU4MSwgMTYxMCwgNzgwLCAxNTg4LCAxNTgxLCAKLSAgICAxNjEwLCA3ODAsIDE1OTAsIDE1ODEsIDE2MTAsIDc4MCwgMTYwNCwgMTU4MCwgMTYxMCwgNzgwLCAxNjA0LCAxNjA1LCAKLSAgICAxNjEwLCA3ODAsIDE2MTAsIDE1ODEsIDE2MTAsIDc4MCwgMTYxMCwgMTU4MCwgMTYxMCwgNzgwLCAxNjEwLCAxNjA1LCAKLSAgICAxNjEwLCA3ODAsIDE2MDUsIDE2MDUsIDE2MTAsIDc4MCwgMTYwMiwgMTYwNSwgMTYxMCwgNzgwLCAxNjA2LCAxNTgxLCAKLSAgICAxNjEwLCA3ODEsIDE2MDIsIDE2MDUsIDE1ODEsIDc4MSwgMTYwNCwgMTU4MSwgMTYwNSwgNzgwLCAxNTkzLCAxNjA1LCAKLSAgICAxNjEwLCA3ODAsIDE2MDMsIDE2MDUsIDE2MTAsIDc4MSwgMTYwNiwgMTU4MCwgMTU4MSwgNzgwLCAxNjA1LCAxNTgyLCAKLSAgICAxNjEwLCA3ODEsIDE2MDQsIDE1ODAsIDE2MDUsIDc4MCwgMTYwMywgMTYwNSwgMTYwNSwgNzgwLCAxNjA0LCAxNTgwLCAKLSAgICAxNjA1LCA3ODAsIDE2MDYsIDE1ODAsIDE1ODEsIDc4MCwgMTU4MCwgMTU4MSwgMTYxMCwgNzgwLCAxNTgxLCAxNTgwLCAKLSAgICAxNjEwLCA3ODAsIDE2MDUsIDE1ODAsIDE2MTAsIDc4MCwgMTYwMSwgMTYwNSwgMTYxMCwgNzgwLCAxNTc2LCAxNTgxLCAKLSAgICAxNjEwLCA3ODEsIDE2MDMsIDE2MDUsIDE2MDUsIDc4MSwgMTU5MywgMTU4MCwgMTYwNSwgNzgxLCAxNTg5LCAxNjA1LCAKLSAgICAxNjA1LCA3ODAsIDE1ODcsIDE1ODIsIDE2MTAsIDc4MCwgMTYwNiwgMTU4MCwgMTYxMCwgNzc5LCAxNTg5LCAxNjA0LCAKLSAgICAxNzQ2LCA3NzksIDE2MDIsIDE2MDQsIDE3NDYsIDEwMzUsIDE1NzUsIDE2MDQsIDE2MDQsIDE2MDcsIDEwMzUsIDE1NzUsIAotICAgIDE2MDMsIDE1NzYsIDE1ODUsIDEwMzUsIDE2MDUsIDE1ODEsIDE2MDUsIDE1ODMsIDEwMzUsIDE1ODksIDE2MDQsIDE1OTMsIAotICAgIDE2MDUsIDEwMzUsIDE1ODUsIDE1ODcsIDE2MDgsIDE2MDQsIDEwMzUsIDE1OTMsIDE2MDQsIDE2MTAsIDE2MDcsIDEwMzUsIAotICAgIDE2MDgsIDE1ODcsIDE2MDQsIDE2MDUsIDc3OSwgMTU4OSwgMTYwNCwgMTYwOSwgNDYxOSwgMTU4OSwgMTYwNCwgMTYwOSwgCi0gICAgMzIsIDE1NzUsIDE2MDQsIDE2MDQsIDE2MDcsIDMyLCAxNTkzLCAxNjA0LCAxNjEwLCAxNjA3LCAzMiwgMTYwOCwgMTU4NywgCi0gICAgMTYwNCwgMTYwNSwgMjA1OSwgMTU4MCwgMTYwNCwgMzIsIDE1ODAsIDE2MDQsIDE1NzUsIDE2MDQsIDE2MDcsIDEwMzUsIAotICAgIDE1ODUsIDE3NDAsIDE1NzUsIDE2MDQsIDI2NSwgNDQsIDI2NSwgMTIyODksIDI2NSwgMTIyOTAsIDI2NSwgNTgsIDI2NSwgCi0gICAgNTksIDI2NSwgMzMsIDI2NSwgNjMsIDI2NSwgMTIzMTAsIDI2NSwgMTIzMTEsIDI2NSwgODIzMCwgMjY1LCA4MjI5LCAyNjUsIAotICAgIDgyMTIsIDI2NSwgODIxMSwgMjY1LCA5NSwgMjY1LCA5NSwgMjY1LCA0MCwgMjY1LCA0MSwgMjY1LCAxMjMsIDI2NSwgMTI1LCAKLSAgICAyNjUsIDEyMzA4LCAyNjUsIDEyMzA5LCAyNjUsIDEyMzA0LCAyNjUsIDEyMzA1LCAyNjUsIDEyMjk4LCAyNjUsIDEyMjk5LCAKLSAgICAyNjUsIDEyMjk2LCAyNjUsIDEyMjk3LCAyNjUsIDEyMzAwLCAyNjUsIDEyMzAxLCAyNjUsIDEyMzAyLCAyNjUsIDEyMzAzLCAKLSAgICAyNjUsIDkxLCAyNjUsIDkzLCAyNTgsIDgyNTQsIDI1OCwgODI1NCwgMjU4LCA4MjU0LCAyNTgsIDgyNTQsIDI1OCwgOTUsIAotICAgIDI1OCwgOTUsIDI1OCwgOTUsIDI3MSwgNDQsIDI3MSwgMTIyODksIDI3MSwgNDYsIDI3MSwgNTksIDI3MSwgNTgsIDI3MSwgCi0gICAgNjMsIDI3MSwgMzMsIDI3MSwgODIxMiwgMjcxLCA0MCwgMjcxLCA0MSwgMjcxLCAxMjMsIDI3MSwgMTI1LCAyNzEsIDEyMzA4LCAKLSAgICAyNzEsIDEyMzA5LCAyNzEsIDM1LCAyNzEsIDM4LCAyNzEsIDQyLCAyNzEsIDQzLCAyNzEsIDQ1LCAyNzEsIDYwLCAyNzEsIAotICAgIDYyLCAyNzEsIDYxLCAyNzEsIDkyLCAyNzEsIDM2LCAyNzEsIDM3LCAyNzEsIDY0LCA1MjMsIDMyLCAxNjExLCA1MjYsIAotICAgIDE2MDAsIDE2MTEsIDUyMywgMzIsIDE2MTIsIDUyMywgMzIsIDE2MTMsIDUyMywgMzIsIDE2MTQsIDUyNiwgMTYwMCwgMTYxNCwgCi0gICAgNTIzLCAzMiwgMTYxNSwgNTI2LCAxNjAwLCAxNjE1LCA1MjMsIDMyLCAxNjE2LCA1MjYsIDE2MDAsIDE2MTYsIDUyMywgMzIsIAotICAgIDE2MTcsIDUyNiwgMTYwMCwgMTYxNywgNTIzLCAzMiwgMTYxOCwgNTI2LCAxNjAwLCAxNjE4LCAyNjcsIDE1NjksIDI2NywgCi0gICAgMTU3MCwgMjY4LCAxNTcwLCAyNjcsIDE1NzEsIDI2OCwgMTU3MSwgMjY3LCAxNTcyLCAyNjgsIDE1NzIsIDI2NywgMTU3MywgCi0gICAgMjY4LCAxNTczLCAyNjcsIDE1NzQsIDI2OCwgMTU3NCwgMjY5LCAxNTc0LCAyNzAsIDE1NzQsIDI2NywgMTU3NSwgMjY4LCAKLSAgICAxNTc1LCAyNjcsIDE1NzYsIDI2OCwgMTU3NiwgMjY5LCAxNTc2LCAyNzAsIDE1NzYsIDI2NywgMTU3NywgMjY4LCAxNTc3LCAKLSAgICAyNjcsIDE1NzgsIDI2OCwgMTU3OCwgMjY5LCAxNTc4LCAyNzAsIDE1NzgsIDI2NywgMTU3OSwgMjY4LCAxNTc5LCAyNjksIAotICAgIDE1NzksIDI3MCwgMTU3OSwgMjY3LCAxNTgwLCAyNjgsIDE1ODAsIDI2OSwgMTU4MCwgMjcwLCAxNTgwLCAyNjcsIDE1ODEsIAotICAgIDI2OCwgMTU4MSwgMjY5LCAxNTgxLCAyNzAsIDE1ODEsIDI2NywgMTU4MiwgMjY4LCAxNTgyLCAyNjksIDE1ODIsIDI3MCwgCi0gICAgMTU4MiwgMjY3LCAxNTgzLCAyNjgsIDE1ODMsIDI2NywgMTU4NCwgMjY4LCAxNTg0LCAyNjcsIDE1ODUsIDI2OCwgMTU4NSwgCi0gICAgMjY3LCAxNTg2LCAyNjgsIDE1ODYsIDI2NywgMTU4NywgMjY4LCAxNTg3LCAyNjksIDE1ODcsIDI3MCwgMTU4NywgMjY3LCAKLSAgICAxNTg4LCAyNjgsIDE1ODgsIDI2OSwgMTU4OCwgMjcwLCAxNTg4LCAyNjcsIDE1ODksIDI2OCwgMTU4OSwgMjY5LCAxNTg5LCAKLSAgICAyNzAsIDE1ODksIDI2NywgMTU5MCwgMjY4LCAxNTkwLCAyNjksIDE1OTAsIDI3MCwgMTU5MCwgMjY3LCAxNTkxLCAyNjgsIAotICAgIDE1OTEsIDI2OSwgMTU5MSwgMjcwLCAxNTkxLCAyNjcsIDE1OTIsIDI2OCwgMTU5MiwgMjY5LCAxNTkyLCAyNzAsIDE1OTIsIAotICAgIDI2NywgMTU5MywgMjY4LCAxNTkzLCAyNjksIDE1OTMsIDI3MCwgMTU5MywgMjY3LCAxNTk0LCAyNjgsIDE1OTQsIDI2OSwgCi0gICAgMTU5NCwgMjcwLCAxNTk0LCAyNjcsIDE2MDEsIDI2OCwgMTYwMSwgMjY5LCAxNjAxLCAyNzAsIDE2MDEsIDI2NywgMTYwMiwgCi0gICAgMjY4LCAxNjAyLCAyNjksIDE2MDIsIDI3MCwgMTYwMiwgMjY3LCAxNjAzLCAyNjgsIDE2MDMsIDI2OSwgMTYwMywgMjcwLCAKLSAgICAxNjAzLCAyNjcsIDE2MDQsIDI2OCwgMTYwNCwgMjY5LCAxNjA0LCAyNzAsIDE2MDQsIDI2NywgMTYwNSwgMjY4LCAxNjA1LCAKLSAgICAyNjksIDE2MDUsIDI3MCwgMTYwNSwgMjY3LCAxNjA2LCAyNjgsIDE2MDYsIDI2OSwgMTYwNiwgMjcwLCAxNjA2LCAyNjcsIAotICAgIDE2MDcsIDI2OCwgMTYwNywgMjY5LCAxNjA3LCAyNzAsIDE2MDcsIDI2NywgMTYwOCwgMjY4LCAxNjA4LCAyNjcsIDE2MDksIAotICAgIDI2OCwgMTYwOSwgMjY3LCAxNjEwLCAyNjgsIDE2MTAsIDI2OSwgMTYxMCwgMjcwLCAxNjEwLCA1MjMsIDE2MDQsIDE1NzAsIAotICAgIDUyNCwgMTYwNCwgMTU3MCwgNTIzLCAxNjA0LCAxNTcxLCA1MjQsIDE2MDQsIDE1NzEsIDUyMywgMTYwNCwgMTU3MywgNTI0LCAKLSAgICAxNjA0LCAxNTczLCA1MjMsIDE2MDQsIDE1NzUsIDUyNCwgMTYwNCwgMTU3NSwgMjY0LCAzMywgMjY0LCAzNCwgMjY0LCAzNSwgCi0gICAgMjY0LCAzNiwgMjY0LCAzNywgMjY0LCAzOCwgMjY0LCAzOSwgMjY0LCA0MCwgMjY0LCA0MSwgMjY0LCA0MiwgMjY0LCA0MywgCi0gICAgMjY0LCA0NCwgMjY0LCA0NSwgMjY0LCA0NiwgMjY0LCA0NywgMjY0LCA0OCwgMjY0LCA0OSwgMjY0LCA1MCwgMjY0LCA1MSwgCi0gICAgMjY0LCA1MiwgMjY0LCA1MywgMjY0LCA1NCwgMjY0LCA1NSwgMjY0LCA1NiwgMjY0LCA1NywgMjY0LCA1OCwgMjY0LCA1OSwgCi0gICAgMjY0LCA2MCwgMjY0LCA2MSwgMjY0LCA2MiwgMjY0LCA2MywgMjY0LCA2NCwgMjY0LCA2NSwgMjY0LCA2NiwgMjY0LCA2NywgCi0gICAgMjY0LCA2OCwgMjY0LCA2OSwgMjY0LCA3MCwgMjY0LCA3MSwgMjY0LCA3MiwgMjY0LCA3MywgMjY0LCA3NCwgMjY0LCA3NSwgCi0gICAgMjY0LCA3NiwgMjY0LCA3NywgMjY0LCA3OCwgMjY0LCA3OSwgMjY0LCA4MCwgMjY0LCA4MSwgMjY0LCA4MiwgMjY0LCA4MywgCi0gICAgMjY0LCA4NCwgMjY0LCA4NSwgMjY0LCA4NiwgMjY0LCA4NywgMjY0LCA4OCwgMjY0LCA4OSwgMjY0LCA5MCwgMjY0LCA5MSwgCi0gICAgMjY0LCA5MiwgMjY0LCA5MywgMjY0LCA5NCwgMjY0LCA5NSwgMjY0LCA5NiwgMjY0LCA5NywgMjY0LCA5OCwgMjY0LCA5OSwgCi0gICAgMjY0LCAxMDAsIDI2NCwgMTAxLCAyNjQsIDEwMiwgMjY0LCAxMDMsIDI2NCwgMTA0LCAyNjQsIDEwNSwgMjY0LCAxMDYsIAotICAgIDI2NCwgMTA3LCAyNjQsIDEwOCwgMjY0LCAxMDksIDI2NCwgMTEwLCAyNjQsIDExMSwgMjY0LCAxMTIsIDI2NCwgMTEzLCAKLSAgICAyNjQsIDExNCwgMjY0LCAxMTUsIDI2NCwgMTE2LCAyNjQsIDExNywgMjY0LCAxMTgsIDI2NCwgMTE5LCAyNjQsIDEyMCwgCi0gICAgMjY0LCAxMjEsIDI2NCwgMTIyLCAyNjQsIDEyMywgMjY0LCAxMjQsIDI2NCwgMTI1LCAyNjQsIDEyNiwgMjY0LCAxMDYyOSwgCi0gICAgMjY0LCAxMDYzMCwgMjcyLCAxMjI5MCwgMjcyLCAxMjMwMCwgMjcyLCAxMjMwMSwgMjcyLCAxMjI4OSwgMjcyLCAxMjUzOSwgCi0gICAgMjcyLCAxMjUzMCwgMjcyLCAxMjQ0OSwgMjcyLCAxMjQ1MSwgMjcyLCAxMjQ1MywgMjcyLCAxMjQ1NSwgMjcyLCAxMjQ1NywgCi0gICAgMjcyLCAxMjUxNSwgMjcyLCAxMjUxNywgMjcyLCAxMjUxOSwgMjcyLCAxMjQ4MywgMjcyLCAxMjU0MCwgMjcyLCAxMjQ1MCwgCi0gICAgMjcyLCAxMjQ1MiwgMjcyLCAxMjQ1NCwgMjcyLCAxMjQ1NiwgMjcyLCAxMjQ1OCwgMjcyLCAxMjQ1OSwgMjcyLCAxMjQ2MSwgCi0gICAgMjcyLCAxMjQ2MywgMjcyLCAxMjQ2NSwgMjcyLCAxMjQ2NywgMjcyLCAxMjQ2OSwgMjcyLCAxMjQ3MSwgMjcyLCAxMjQ3MywgCi0gICAgMjcyLCAxMjQ3NSwgMjcyLCAxMjQ3NywgMjcyLCAxMjQ3OSwgMjcyLCAxMjQ4MSwgMjcyLCAxMjQ4NCwgMjcyLCAxMjQ4NiwgCi0gICAgMjcyLCAxMjQ4OCwgMjcyLCAxMjQ5MCwgMjcyLCAxMjQ5MSwgMjcyLCAxMjQ5MiwgMjcyLCAxMjQ5MywgMjcyLCAxMjQ5NCwgCi0gICAgMjcyLCAxMjQ5NSwgMjcyLCAxMjQ5OCwgMjcyLCAxMjUwMSwgMjcyLCAxMjUwNCwgMjcyLCAxMjUwNywgMjcyLCAxMjUxMCwgCi0gICAgMjcyLCAxMjUxMSwgMjcyLCAxMjUxMiwgMjcyLCAxMjUxMywgMjcyLCAxMjUxNCwgMjcyLCAxMjUxNiwgMjcyLCAxMjUxOCwgCi0gICAgMjcyLCAxMjUyMCwgMjcyLCAxMjUyMSwgMjcyLCAxMjUyMiwgMjcyLCAxMjUyMywgMjcyLCAxMjUyNCwgMjcyLCAxMjUyNSwgCi0gICAgMjcyLCAxMjUyNywgMjcyLCAxMjUzMSwgMjcyLCAxMjQ0MSwgMjcyLCAxMjQ0MiwgMjcyLCAxMjY0NCwgMjcyLCAxMjU5MywgCi0gICAgMjcyLCAxMjU5NCwgMjcyLCAxMjU5NSwgMjcyLCAxMjU5NiwgMjcyLCAxMjU5NywgMjcyLCAxMjU5OCwgMjcyLCAxMjU5OSwgCi0gICAgMjcyLCAxMjYwMCwgMjcyLCAxMjYwMSwgMjcyLCAxMjYwMiwgMjcyLCAxMjYwMywgMjcyLCAxMjYwNCwgMjcyLCAxMjYwNSwgCi0gICAgMjcyLCAxMjYwNiwgMjcyLCAxMjYwNywgMjcyLCAxMjYwOCwgMjcyLCAxMjYwOSwgMjcyLCAxMjYxMCwgMjcyLCAxMjYxMSwgCi0gICAgMjcyLCAxMjYxMiwgMjcyLCAxMjYxMywgMjcyLCAxMjYxNCwgMjcyLCAxMjYxNSwgMjcyLCAxMjYxNiwgMjcyLCAxMjYxNywgCi0gICAgMjcyLCAxMjYxOCwgMjcyLCAxMjYxOSwgMjcyLCAxMjYyMCwgMjcyLCAxMjYyMSwgMjcyLCAxMjYyMiwgMjcyLCAxMjYyMywgCi0gICAgMjcyLCAxMjYyNCwgMjcyLCAxMjYyNSwgMjcyLCAxMjYyNiwgMjcyLCAxMjYyNywgMjcyLCAxMjYyOCwgMjcyLCAxMjYyOSwgCi0gICAgMjcyLCAxMjYzMCwgMjcyLCAxMjYzMSwgMjcyLCAxMjYzMiwgMjcyLCAxMjYzMywgMjcyLCAxMjYzNCwgMjcyLCAxMjYzNSwgCi0gICAgMjcyLCAxMjYzNiwgMjcyLCAxMjYzNywgMjcyLCAxMjYzOCwgMjcyLCAxMjYzOSwgMjcyLCAxMjY0MCwgMjcyLCAxMjY0MSwgCi0gICAgMjcyLCAxMjY0MiwgMjcyLCAxMjY0MywgMjY0LCAxNjIsIDI2NCwgMTYzLCAyNjQsIDE3MiwgMjY0LCAxNzUsIDI2NCwgMTY2LCAKLSAgICAyNjQsIDE2NSwgMjY0LCA4MzYxLCAyNzIsIDk0NzQsIDI3MiwgODU5MiwgMjcyLCA4NTkzLCAyNzIsIDg1OTQsIDI3MiwgCi0gICAgODU5NSwgMjcyLCA5NjMyLCAyNzIsIDk2NzUsIDUxMiwgNjk3ODUsIDY5ODE4LCA1MTIsIDY5Nzg3LCA2OTgxOCwgNTEyLCAKLSAgICA2OTc5NywgNjk4MTgsIDUxMiwgNjk5MzcsIDY5OTI3LCA1MTIsIDY5OTM4LCA2OTkyNywgNTEyLCAxMTkxMjcsIDExOTE0MSwgCi0gICAgNTEyLCAxMTkxMjgsIDExOTE0MSwgNTEyLCAxMTkxMzUsIDExOTE1MCwgNTEyLCAxMTkxMzUsIDExOTE1MSwgNTEyLCAKLSAgICAxMTkxMzUsIDExOTE1MiwgNTEyLCAxMTkxMzUsIDExOTE1MywgNTEyLCAxMTkxMzUsIDExOTE1NCwgNTEyLCAxMTkyMjUsIAotICAgIDExOTE0MSwgNTEyLCAxMTkyMjYsIDExOTE0MSwgNTEyLCAxMTkyMjcsIDExOTE1MCwgNTEyLCAxMTkyMjgsIDExOTE1MCwgCi0gICAgNTEyLCAxMTkyMjcsIDExOTE1MSwgNTEyLCAxMTkyMjgsIDExOTE1MSwgMjYyLCA2NSwgMjYyLCA2NiwgMjYyLCA2NywgMjYyLCAKLSAgICA2OCwgMjYyLCA2OSwgMjYyLCA3MCwgMjYyLCA3MSwgMjYyLCA3MiwgMjYyLCA3MywgMjYyLCA3NCwgMjYyLCA3NSwgMjYyLCAKLSAgICA3NiwgMjYyLCA3NywgMjYyLCA3OCwgMjYyLCA3OSwgMjYyLCA4MCwgMjYyLCA4MSwgMjYyLCA4MiwgMjYyLCA4MywgMjYyLCAKLSAgICA4NCwgMjYyLCA4NSwgMjYyLCA4NiwgMjYyLCA4NywgMjYyLCA4OCwgMjYyLCA4OSwgMjYyLCA5MCwgMjYyLCA5NywgMjYyLCAKLSAgICA5OCwgMjYyLCA5OSwgMjYyLCAxMDAsIDI2MiwgMTAxLCAyNjIsIDEwMiwgMjYyLCAxMDMsIDI2MiwgMTA0LCAyNjIsIDEwNSwgCi0gICAgMjYyLCAxMDYsIDI2MiwgMTA3LCAyNjIsIDEwOCwgMjYyLCAxMDksIDI2MiwgMTEwLCAyNjIsIDExMSwgMjYyLCAxMTIsIAotICAgIDI2MiwgMTEzLCAyNjIsIDExNCwgMjYyLCAxMTUsIDI2MiwgMTE2LCAyNjIsIDExNywgMjYyLCAxMTgsIDI2MiwgMTE5LCAKLSAgICAyNjIsIDEyMCwgMjYyLCAxMjEsIDI2MiwgMTIyLCAyNjIsIDY1LCAyNjIsIDY2LCAyNjIsIDY3LCAyNjIsIDY4LCAyNjIsIAotICAgIDY5LCAyNjIsIDcwLCAyNjIsIDcxLCAyNjIsIDcyLCAyNjIsIDczLCAyNjIsIDc0LCAyNjIsIDc1LCAyNjIsIDc2LCAyNjIsIAotICAgIDc3LCAyNjIsIDc4LCAyNjIsIDc5LCAyNjIsIDgwLCAyNjIsIDgxLCAyNjIsIDgyLCAyNjIsIDgzLCAyNjIsIDg0LCAyNjIsIAotICAgIDg1LCAyNjIsIDg2LCAyNjIsIDg3LCAyNjIsIDg4LCAyNjIsIDg5LCAyNjIsIDkwLCAyNjIsIDk3LCAyNjIsIDk4LCAyNjIsIAotICAgIDk5LCAyNjIsIDEwMCwgMjYyLCAxMDEsIDI2MiwgMTAyLCAyNjIsIDEwMywgMjYyLCAxMDUsIDI2MiwgMTA2LCAyNjIsIDEwNywgCi0gICAgMjYyLCAxMDgsIDI2MiwgMTA5LCAyNjIsIDExMCwgMjYyLCAxMTEsIDI2MiwgMTEyLCAyNjIsIDExMywgMjYyLCAxMTQsIAotICAgIDI2MiwgMTE1LCAyNjIsIDExNiwgMjYyLCAxMTcsIDI2MiwgMTE4LCAyNjIsIDExOSwgMjYyLCAxMjAsIDI2MiwgMTIxLCAKLSAgICAyNjIsIDEyMiwgMjYyLCA2NSwgMjYyLCA2NiwgMjYyLCA2NywgMjYyLCA2OCwgMjYyLCA2OSwgMjYyLCA3MCwgMjYyLCA3MSwgCi0gICAgMjYyLCA3MiwgMjYyLCA3MywgMjYyLCA3NCwgMjYyLCA3NSwgMjYyLCA3NiwgMjYyLCA3NywgMjYyLCA3OCwgMjYyLCA3OSwgCi0gICAgMjYyLCA4MCwgMjYyLCA4MSwgMjYyLCA4MiwgMjYyLCA4MywgMjYyLCA4NCwgMjYyLCA4NSwgMjYyLCA4NiwgMjYyLCA4NywgCi0gICAgMjYyLCA4OCwgMjYyLCA4OSwgMjYyLCA5MCwgMjYyLCA5NywgMjYyLCA5OCwgMjYyLCA5OSwgMjYyLCAxMDAsIDI2MiwgMTAxLCAKLSAgICAyNjIsIDEwMiwgMjYyLCAxMDMsIDI2MiwgMTA0LCAyNjIsIDEwNSwgMjYyLCAxMDYsIDI2MiwgMTA3LCAyNjIsIDEwOCwgCisgICAgMjYwODUsIDc3OCwgMTAzLCA5NywgMTA4LCAyNTksIDEwOTgsIDI1OSwgMTEwMCwgMjU5LCA0Mjg2MywgMjU5LCAyOTQsIAorICAgIDI1OSwgMzM5LCAyNTksIDQyNzkxLCAyNTksIDQzODMxLCAyNTksIDYxOSwgMjU5LCA0Mzg1OCwgMjU2LCAzNTkxMiwgMjU2LCAKKyAgICAyNjM1NiwgMjU2LCAzNjU1NCwgMjU2LCAzNjA0MCwgMjU2LCAyODM2OSwgMjU2LCAyMDAxOCwgMjU2LCAyMTQ3NywgMjU2LCAKKyAgICA0MDg2MCwgMjU2LCA0MDg2MCwgMjU2LCAyMjg2NSwgMjU2LCAzNzMyOSwgMjU2LCAyMTg5NSwgMjU2LCAyMjg1NiwgMjU2LCAKKyAgICAyNTA3OCwgMjU2LCAzMDMxMywgMjU2LCAzMjY0NSwgMjU2LCAzNDM2NywgMjU2LCAzNDc0NiwgMjU2LCAzNTA2NCwgMjU2LCAKKyAgICAzNzAwNywgMjU2LCAyNzEzOCwgMjU2LCAyNzkzMSwgMjU2LCAyODg4OSwgMjU2LCAyOTY2MiwgMjU2LCAzMzg1MywgMjU2LCAKKyAgICAzNzIyNiwgMjU2LCAzOTQwOSwgMjU2LCAyMDA5OCwgMjU2LCAyMTM2NSwgMjU2LCAyNzM5NiwgMjU2LCAyOTIxMSwgMjU2LCAKKyAgICAzNDM0OSwgMjU2LCA0MDQ3OCwgMjU2LCAyMzg4OCwgMjU2LCAyODY1MSwgMjU2LCAzNDI1MywgMjU2LCAzNTE3MiwgMjU2LCAKKyAgICAyNTI4OSwgMjU2LCAzMzI0MCwgMjU2LCAzNDg0NywgMjU2LCAyNDI2NiwgMjU2LCAyNjM5MSwgMjU2LCAyODAxMCwgMjU2LCAKKyAgICAyOTQzNiwgMjU2LCAzNzA3MCwgMjU2LCAyMDM1OCwgMjU2LCAyMDkxOSwgMjU2LCAyMTIxNCwgMjU2LCAyNTc5NiwgMjU2LCAKKyAgICAyNzM0NywgMjU2LCAyOTIwMCwgMjU2LCAzMDQzOSwgMjU2LCAzMjc2OSwgMjU2LCAzNDMxMCwgMjU2LCAzNDM5NiwgMjU2LCAKKyAgICAzNjMzNSwgMjU2LCAzODcwNiwgMjU2LCAzOTc5MSwgMjU2LCA0MDQ0MiwgMjU2LCAzMDg2MCwgMjU2LCAzMTEwMywgMjU2LCAKKyAgICAzMjE2MCwgMjU2LCAzMzczNywgMjU2LCAzNzYzNiwgMjU2LCA0MDU3NSwgMjU2LCAzNTU0MiwgMjU2LCAyMjc1MSwgMjU2LCAKKyAgICAyNDMyNCwgMjU2LCAzMTg0MCwgMjU2LCAzMjg5NCwgMjU2LCAyOTI4MiwgMjU2LCAzMDkyMiwgMjU2LCAzNjAzNCwgMjU2LCAKKyAgICAzODY0NywgMjU2LCAyMjc0NCwgMjU2LCAyMzY1MCwgMjU2LCAyNzE1NSwgMjU2LCAyODEyMiwgMjU2LCAyODQzMSwgMjU2LCAKKyAgICAzMjA0NywgMjU2LCAzMjMxMSwgMjU2LCAzODQ3NSwgMjU2LCAyMTIwMiwgMjU2LCAzMjkwNywgMjU2LCAyMDk1NiwgMjU2LCAKKyAgICAyMDk0MCwgMjU2LCAzMTI2MCwgMjU2LCAzMjE5MCwgMjU2LCAzMzc3NywgMjU2LCAzODUxNywgMjU2LCAzNTcxMiwgMjU2LCAKKyAgICAyNTI5NSwgMjU2LCAyNzEzOCwgMjU2LCAzNTU4MiwgMjU2LCAyMDAyNSwgMjU2LCAyMzUyNywgMjU2LCAyNDU5NCwgMjU2LCAKKyAgICAyOTU3NSwgMjU2LCAzMDA2NCwgMjU2LCAyMTI3MSwgMjU2LCAzMDk3MSwgMjU2LCAyMDQxNSwgMjU2LCAyNDQ4OSwgMjU2LCAKKyAgICAxOTk4MSwgMjU2LCAyNzg1MiwgMjU2LCAyNTk3NiwgMjU2LCAzMjAzNCwgMjU2LCAyMTQ0MywgMjU2LCAyMjYyMiwgMjU2LCAKKyAgICAzMDQ2NSwgMjU2LCAzMzg2NSwgMjU2LCAzNTQ5OCwgMjU2LCAyNzU3OCwgMjU2LCAzNjc4NCwgMjU2LCAyNzc4NCwgMjU2LCAKKyAgICAyNTM0MiwgMjU2LCAzMzUwOSwgMjU2LCAyNTUwNCwgMjU2LCAzMDA1MywgMjU2LCAyMDE0MiwgMjU2LCAyMDg0MSwgMjU2LCAKKyAgICAyMDkzNywgMjU2LCAyNjc1MywgMjU2LCAzMTk3NSwgMjU2LCAzMzM5MSwgMjU2LCAzNTUzOCwgMjU2LCAzNzMyNywgMjU2LCAKKyAgICAyMTIzNywgMjU2LCAyMTU3MCwgMjU2LCAyMjg5OSwgMjU2LCAyNDMwMCwgMjU2LCAyNjA1MywgMjU2LCAyODY3MCwgMjU2LCAKKyAgICAzMTAxOCwgMjU2LCAzODMxNywgMjU2LCAzOTUzMCwgMjU2LCA0MDU5OSwgMjU2LCA0MDY1NCwgMjU2LCAyMTE0NywgMjU2LCAKKyAgICAyNjMxMCwgMjU2LCAyNzUxMSwgMjU2LCAzNjcwNiwgMjU2LCAyNDE4MCwgMjU2LCAyNDk3NiwgMjU2LCAyNTA4OCwgMjU2LCAKKyAgICAyNTc1NCwgMjU2LCAyODQ1MSwgMjU2LCAyOTAwMSwgMjU2LCAyOTgzMywgMjU2LCAzMTE3OCwgMjU2LCAzMjI0NCwgMjU2LCAKKyAgICAzMjg3OSwgMjU2LCAzNjY0NiwgMjU2LCAzNDAzMCwgMjU2LCAzNjg5OSwgMjU2LCAzNzcwNiwgMjU2LCAyMTAxNSwgMjU2LCAKKyAgICAyMTE1NSwgMjU2LCAyMTY5MywgMjU2LCAyODg3MiwgMjU2LCAzNTAxMCwgMjU2LCAzNTQ5OCwgMjU2LCAyNDI2NSwgMjU2LCAKKyAgICAyNDU2NSwgMjU2LCAyNTQ2NywgMjU2LCAyNzU2NiwgMjU2LCAzMTgwNiwgMjU2LCAyOTU1NywgMjU2LCAyMDE5NiwgMjU2LCAKKyAgICAyMjI2NSwgMjU2LCAyMzUyNywgMjU2LCAyMzk5NCwgMjU2LCAyNDYwNCwgMjU2LCAyOTYxOCwgMjU2LCAyOTgwMSwgMjU2LCAKKyAgICAzMjY2NiwgMjU2LCAzMjgzOCwgMjU2LCAzNzQyOCwgMjU2LCAzODY0NiwgMjU2LCAzODcyOCwgMjU2LCAzODkzNiwgMjU2LCAKKyAgICAyMDM2MywgMjU2LCAzMTE1MCwgMjU2LCAzNzMwMCwgMjU2LCAzODU4NCwgMjU2LCAyNDgwMSwgMjU2LCAyMDEwMiwgMjU2LCAKKyAgICAyMDY5OCwgMjU2LCAyMzUzNCwgMjU2LCAyMzYxNSwgMjU2LCAyNjAwOSwgMjU2LCAyNzEzOCwgMjU2LCAyOTEzNCwgMjU2LCAKKyAgICAzMDI3NCwgMjU2LCAzNDA0NCwgMjU2LCAzNjk4OCwgMjU2LCA0MDg0NSwgMjU2LCAyNjI0OCwgMjU2LCAzODQ0NiwgMjU2LCAKKyAgICAyMTEyOSwgMjU2LCAyNjQ5MSwgMjU2LCAyNjYxMSwgMjU2LCAyNzk2OSwgMjU2LCAyODMxNiwgMjU2LCAyOTcwNSwgMjU2LCAKKyAgICAzMDA0MSwgMjU2LCAzMDgyNywgMjU2LCAzMjAxNiwgMjU2LCAzOTAwNiwgMjU2LCAyMDg0NSwgMjU2LCAyNTEzNCwgMjU2LCAKKyAgICAzODUyMCwgMjU2LCAyMDUyMywgMjU2LCAyMzgzMywgMjU2LCAyODEzOCwgMjU2LCAzNjY1MCwgMjU2LCAyNDQ1OSwgMjU2LCAKKyAgICAyNDkwMCwgMjU2LCAyNjY0NywgMjU2LCAyOTU3NSwgMjU2LCAzODUzNCwgMjU2LCAyMTAzMywgMjU2LCAyMTUxOSwgMjU2LCAKKyAgICAyMzY1MywgMjU2LCAyNjEzMSwgMjU2LCAyNjQ0NiwgMjU2LCAyNjc5MiwgMjU2LCAyNzg3NywgMjU2LCAyOTcwMiwgMjU2LCAKKyAgICAzMDE3OCwgMjU2LCAzMjYzMywgMjU2LCAzNTAyMywgMjU2LCAzNTA0MSwgMjU2LCAzNzMyNCwgMjU2LCAzODYyNiwgMjU2LCAKKyAgICAyMTMxMSwgMjU2LCAyODM0NiwgMjU2LCAyMTUzMywgMjU2LCAyOTEzNiwgMjU2LCAyOTg0OCwgMjU2LCAzNDI5OCwgMjU2LCAKKyAgICAzODU2MywgMjU2LCA0MDAyMywgMjU2LCA0MDYwNywgMjU2LCAyNjUxOSwgMjU2LCAyODEwNywgMjU2LCAzMzI1NiwgMjU2LCAKKyAgICAzMTQzNSwgMjU2LCAzMTUyMCwgMjU2LCAzMTg5MCwgMjU2LCAyOTM3NiwgMjU2LCAyODgyNSwgMjU2LCAzNTY3MiwgMjU2LCAKKyAgICAyMDE2MCwgMjU2LCAzMzU5MCwgMjU2LCAyMTA1MCwgMjU2LCAyMDk5OSwgMjU2LCAyNDIzMCwgMjU2LCAyNTI5OSwgMjU2LCAKKyAgICAzMTk1OCwgMjU2LCAyMzQyOSwgMjU2LCAyNzkzNCwgMjU2LCAyNjI5MiwgMjU2LCAzNjY2NywgMjU2LCAzNDg5MiwgMjU2LCAKKyAgICAzODQ3NywgMjU2LCAzNTIxMSwgMjU2LCAyNDI3NSwgMjU2LCAyMDgwMCwgMjU2LCAyMTk1MiwgMjU2LCAyMjYxOCwgMjU2LCAKKyAgICAyNjIyOCwgMjU2LCAyMDk1OCwgMjU2LCAyOTQ4MiwgMjU2LCAzMDQxMCwgMjU2LCAzMTAzNiwgMjU2LCAzMTA3MCwgMjU2LCAKKyAgICAzMTA3NywgMjU2LCAzMTExOSwgMjU2LCAzODc0MiwgMjU2LCAzMTkzNCwgMjU2LCAzMjcwMSwgMjU2LCAzNDMyMiwgMjU2LCAKKyAgICAzNTU3NiwgMjU2LCAzNjkyMCwgMjU2LCAzNzExNywgMjU2LCAzOTE1MSwgMjU2LCAzOTE2NCwgMjU2LCAzOTIwOCwgMjU2LCAKKyAgICA0MDM3MiwgMjU2LCAzNzA4NiwgMjU2LCAzODU4MywgMjU2LCAyMDM5OCwgMjU2LCAyMDcxMSwgMjU2LCAyMDgxMywgMjU2LCAKKyAgICAyMTE5MywgMjU2LCAyMTIyMCwgMjU2LCAyMTMyOSwgMjU2LCAyMTkxNywgMjU2LCAyMjAyMiwgMjU2LCAyMjEyMCwgMjU2LCAKKyAgICAyMjU5MiwgMjU2LCAyMjY5NiwgMjU2LCAyMzY1MiwgMjU2LCAyMzY2MiwgMjU2LCAyNDcyNCwgMjU2LCAyNDkzNiwgMjU2LCAKKyAgICAyNDk3NCwgMjU2LCAyNTA3NCwgMjU2LCAyNTkzNSwgMjU2LCAyNjA4MiwgMjU2LCAyNjI1NywgMjU2LCAyNjc1NywgMjU2LCAKKyAgICAyODAyMywgMjU2LCAyODE4NiwgMjU2LCAyODQ1MCwgMjU2LCAyOTAzOCwgMjU2LCAyOTIyNywgMjU2LCAyOTczMCwgMjU2LCAKKyAgICAzMDg2NSwgMjU2LCAzMTAzOCwgMjU2LCAzMTA0OSwgMjU2LCAzMTA0OCwgMjU2LCAzMTA1NiwgMjU2LCAzMTA2MiwgMjU2LCAKKyAgICAzMTA2OSwgMjU2LCAzMTExNywgMjU2LCAzMTExOCwgMjU2LCAzMTI5NiwgMjU2LCAzMTM2MSwgMjU2LCAzMTY4MCwgMjU2LCAKKyAgICAzMjI0NCwgMjU2LCAzMjI2NSwgMjU2LCAzMjMyMSwgMjU2LCAzMjYyNiwgMjU2LCAzMjc3MywgMjU2LCAzMzI2MSwgMjU2LCAKKyAgICAzMzQwMSwgMjU2LCAzMzQwMSwgMjU2LCAzMzg3OSwgMjU2LCAzNTA4OCwgMjU2LCAzNTIyMiwgMjU2LCAzNTU4NSwgMjU2LCAKKyAgICAzNTY0MSwgMjU2LCAzNjA1MSwgMjU2LCAzNjEwNCwgMjU2LCAzNjc5MCwgMjU2LCAzNjkyMCwgMjU2LCAzODYyNywgMjU2LCAKKyAgICAzODkxMSwgMjU2LCAzODk3MSwgMjU2LCAyNDY5MywgMjU2LCAxNDgyMDYsIDI1NiwgMzMzMDQsIDI1NiwgMjAwMDYsIDI1NiwgCisgICAgMjA5MTcsIDI1NiwgMjA4NDAsIDI1NiwgMjAzNTIsIDI1NiwgMjA4MDUsIDI1NiwgMjA4NjQsIDI1NiwgMjExOTEsIDI1NiwgCisgICAgMjEyNDIsIDI1NiwgMjE5MTcsIDI1NiwgMjE4NDUsIDI1NiwgMjE5MTMsIDI1NiwgMjE5ODYsIDI1NiwgMjI2MTgsIDI1NiwgCisgICAgMjI3MDcsIDI1NiwgMjI4NTIsIDI1NiwgMjI4NjgsIDI1NiwgMjMxMzgsIDI1NiwgMjMzMzYsIDI1NiwgMjQyNzQsIDI1NiwgCisgICAgMjQyODEsIDI1NiwgMjQ0MjUsIDI1NiwgMjQ0OTMsIDI1NiwgMjQ3OTIsIDI1NiwgMjQ5MTAsIDI1NiwgMjQ4NDAsIDI1NiwgCisgICAgMjQ5NzQsIDI1NiwgMjQ5MjgsIDI1NiwgMjUwNzQsIDI1NiwgMjUxNDAsIDI1NiwgMjU1NDAsIDI1NiwgMjU2MjgsIDI1NiwgCisgICAgMjU2ODIsIDI1NiwgMjU5NDIsIDI1NiwgMjYyMjgsIDI1NiwgMjYzOTEsIDI1NiwgMjYzOTUsIDI1NiwgMjY0NTQsIDI1NiwgCisgICAgMjc1MTMsIDI1NiwgMjc1NzgsIDI1NiwgMjc5NjksIDI1NiwgMjgzNzksIDI1NiwgMjgzNjMsIDI1NiwgMjg0NTAsIDI1NiwgCisgICAgMjg3MDIsIDI1NiwgMjkwMzgsIDI1NiwgMzA2MzEsIDI1NiwgMjkyMzcsIDI1NiwgMjkzNTksIDI1NiwgMjk0ODIsIDI1NiwgCisgICAgMjk4MDksIDI1NiwgMjk5NTgsIDI1NiwgMzAwMTEsIDI1NiwgMzAyMzcsIDI1NiwgMzAyMzksIDI1NiwgMzA0MTAsIDI1NiwgCisgICAgMzA0MjcsIDI1NiwgMzA0NTIsIDI1NiwgMzA1MzgsIDI1NiwgMzA1MjgsIDI1NiwgMzA5MjQsIDI1NiwgMzE0MDksIDI1NiwgCisgICAgMzE2ODAsIDI1NiwgMzE4NjcsIDI1NiwgMzIwOTEsIDI1NiwgMzIyNDQsIDI1NiwgMzI1NzQsIDI1NiwgMzI3NzMsIDI1NiwgCisgICAgMzM2MTgsIDI1NiwgMzM3NzUsIDI1NiwgMzQ2ODEsIDI1NiwgMzUxMzcsIDI1NiwgMzUyMDYsIDI1NiwgMzUyMjIsIDI1NiwgCisgICAgMzU1MTksIDI1NiwgMzU1NzYsIDI1NiwgMzU1MzEsIDI1NiwgMzU1ODUsIDI1NiwgMzU1ODIsIDI1NiwgMzU1NjUsIDI1NiwgCisgICAgMzU2NDEsIDI1NiwgMzU3MjIsIDI1NiwgMzYxMDQsIDI1NiwgMzY2NjQsIDI1NiwgMzY5NzgsIDI1NiwgMzcyNzMsIDI1NiwgCisgICAgMzc0OTQsIDI1NiwgMzg1MjQsIDI1NiwgMzg2MjcsIDI1NiwgMzg3NDIsIDI1NiwgMzg4NzUsIDI1NiwgMzg5MTEsIDI1NiwgCisgICAgMzg5MjMsIDI1NiwgMzg5NzEsIDI1NiwgMzk2OTgsIDI1NiwgNDA4NjAsIDI1NiwgMTQxMzg2LCAyNTYsIDE0MTM4MCwgMjU2LCAKKyAgICAxNDQzNDEsIDI1NiwgMTUyNjEsIDI1NiwgMTY0MDgsIDI1NiwgMTY0NDEsIDI1NiwgMTUyMTM3LCAyNTYsIDE1NDgzMiwgCisgICAgMjU2LCAxNjM1MzksIDI1NiwgNDA3NzEsIDI1NiwgNDA4NDYsIDUxNCwgMTAyLCAxMDIsIDUxNCwgMTAyLCAxMDUsIDUxNCwgCisgICAgMTAyLCAxMDgsIDc3MCwgMTAyLCAxMDIsIDEwNSwgNzcwLCAxMDIsIDEwMiwgMTA4LCA1MTQsIDM4MywgMTE2LCA1MTQsIAorICAgIDExNSwgMTE2LCA1MTQsIDEzOTYsIDEzOTgsIDUxNCwgMTM5NiwgMTM4MSwgNTE0LCAxMzk2LCAxMzg3LCA1MTQsIDE0MDYsIAorICAgIDEzOTgsIDUxNCwgMTM5NiwgMTM4OSwgNTEyLCAxNDk3LCAxNDYwLCA1MTIsIDE1MjIsIDE0NjMsIDI2MiwgMTUwNiwgMjYyLCAKKyAgICAxNDg4LCAyNjIsIDE0OTEsIDI2MiwgMTQ5MiwgMjYyLCAxNDk5LCAyNjIsIDE1MDAsIDI2MiwgMTUwMSwgMjYyLCAxNTEyLCAKKyAgICAyNjIsIDE1MTQsIDI2MiwgNDMsIDUxMiwgMTUxMywgMTQ3MywgNTEyLCAxNTEzLCAxNDc0LCA1MTIsIDY0MzI5LCAxNDczLCAKKyAgICA1MTIsIDY0MzI5LCAxNDc0LCA1MTIsIDE0ODgsIDE0NjMsIDUxMiwgMTQ4OCwgMTQ2NCwgNTEyLCAxNDg4LCAxNDY4LCA1MTIsIAorICAgIDE0ODksIDE0NjgsIDUxMiwgMTQ5MCwgMTQ2OCwgNTEyLCAxNDkxLCAxNDY4LCA1MTIsIDE0OTIsIDE0NjgsIDUxMiwgMTQ5MywgCisgICAgMTQ2OCwgNTEyLCAxNDk0LCAxNDY4LCA1MTIsIDE0OTYsIDE0NjgsIDUxMiwgMTQ5NywgMTQ2OCwgNTEyLCAxNDk4LCAxNDY4LCAKKyAgICA1MTIsIDE0OTksIDE0NjgsIDUxMiwgMTUwMCwgMTQ2OCwgNTEyLCAxNTAyLCAxNDY4LCA1MTIsIDE1MDQsIDE0NjgsIDUxMiwgCisgICAgMTUwNSwgMTQ2OCwgNTEyLCAxNTA3LCAxNDY4LCA1MTIsIDE1MDgsIDE0NjgsIDUxMiwgMTUxMCwgMTQ2OCwgNTEyLCAxNTExLCAKKyAgICAxNDY4LCA1MTIsIDE1MTIsIDE0NjgsIDUxMiwgMTUxMywgMTQ2OCwgNTEyLCAxNTE0LCAxNDY4LCA1MTIsIDE0OTMsIDE0NjUsIAorICAgIDUxMiwgMTQ4OSwgMTQ3MSwgNTEyLCAxNDk5LCAxNDcxLCA1MTIsIDE1MDgsIDE0NzEsIDUxNCwgMTQ4OCwgMTUwMCwgMjY3LCAKKyAgICAxNjQ5LCAyNjgsIDE2NDksIDI2NywgMTY1OSwgMjY4LCAxNjU5LCAyNjksIDE2NTksIDI3MCwgMTY1OSwgMjY3LCAxNjYyLCAKKyAgICAyNjgsIDE2NjIsIDI2OSwgMTY2MiwgMjcwLCAxNjYyLCAyNjcsIDE2NjQsIDI2OCwgMTY2NCwgMjY5LCAxNjY0LCAyNzAsIAorICAgIDE2NjQsIDI2NywgMTY1OCwgMjY4LCAxNjU4LCAyNjksIDE2NTgsIDI3MCwgMTY1OCwgMjY3LCAxNjYzLCAyNjgsIDE2NjMsIAorICAgIDI2OSwgMTY2MywgMjcwLCAxNjYzLCAyNjcsIDE2NTcsIDI2OCwgMTY1NywgMjY5LCAxNjU3LCAyNzAsIDE2NTcsIDI2NywgCisgICAgMTcwMCwgMjY4LCAxNzAwLCAyNjksIDE3MDAsIDI3MCwgMTcwMCwgMjY3LCAxNzAyLCAyNjgsIDE3MDIsIDI2OSwgMTcwMiwgCisgICAgMjcwLCAxNzAyLCAyNjcsIDE2NjgsIDI2OCwgMTY2OCwgMjY5LCAxNjY4LCAyNzAsIDE2NjgsIDI2NywgMTY2NywgMjY4LCAKKyAgICAxNjY3LCAyNjksIDE2NjcsIDI3MCwgMTY2NywgMjY3LCAxNjcwLCAyNjgsIDE2NzAsIDI2OSwgMTY3MCwgMjcwLCAxNjcwLCAKKyAgICAyNjcsIDE2NzEsIDI2OCwgMTY3MSwgMjY5LCAxNjcxLCAyNzAsIDE2NzEsIDI2NywgMTY3NywgMjY4LCAxNjc3LCAyNjcsIAorICAgIDE2NzYsIDI2OCwgMTY3NiwgMjY3LCAxNjc4LCAyNjgsIDE2NzgsIDI2NywgMTY3MiwgMjY4LCAxNjcyLCAyNjcsIDE2ODgsIAorICAgIDI2OCwgMTY4OCwgMjY3LCAxNjgxLCAyNjgsIDE2ODEsIDI2NywgMTcwNSwgMjY4LCAxNzA1LCAyNjksIDE3MDUsIDI3MCwgCisgICAgMTcwNSwgMjY3LCAxNzExLCAyNjgsIDE3MTEsIDI2OSwgMTcxMSwgMjcwLCAxNzExLCAyNjcsIDE3MTUsIDI2OCwgMTcxNSwgCisgICAgMjY5LCAxNzE1LCAyNzAsIDE3MTUsIDI2NywgMTcxMywgMjY4LCAxNzEzLCAyNjksIDE3MTMsIDI3MCwgMTcxMywgMjY3LCAKKyAgICAxNzIyLCAyNjgsIDE3MjIsIDI2NywgMTcyMywgMjY4LCAxNzIzLCAyNjksIDE3MjMsIDI3MCwgMTcyMywgMjY3LCAxNzI4LCAKKyAgICAyNjgsIDE3MjgsIDI2NywgMTcyOSwgMjY4LCAxNzI5LCAyNjksIDE3MjksIDI3MCwgMTcyOSwgMjY3LCAxNzI2LCAyNjgsIAorICAgIDE3MjYsIDI2OSwgMTcyNiwgMjcwLCAxNzI2LCAyNjcsIDE3NDYsIDI2OCwgMTc0NiwgMjY3LCAxNzQ3LCAyNjgsIDE3NDcsIAorICAgIDI2NywgMTcwOSwgMjY4LCAxNzA5LCAyNjksIDE3MDksIDI3MCwgMTcwOSwgMjY3LCAxNzM1LCAyNjgsIDE3MzUsIDI2NywgCisgICAgMTczNCwgMjY4LCAxNzM0LCAyNjcsIDE3MzYsIDI2OCwgMTczNiwgMjY3LCAxNjU1LCAyNjcsIDE3MzksIDI2OCwgMTczOSwgCisgICAgMjY3LCAxNzMzLCAyNjgsIDE3MzMsIDI2NywgMTczNywgMjY4LCAxNzM3LCAyNjcsIDE3NDQsIDI2OCwgMTc0NCwgMjY5LCAKKyAgICAxNzQ0LCAyNzAsIDE3NDQsIDI2OSwgMTYwOSwgMjcwLCAxNjA5LCA1MjMsIDE1NzQsIDE1NzUsIDUyNCwgMTU3NCwgMTU3NSwgCisgICAgNTIzLCAxNTc0LCAxNzQ5LCA1MjQsIDE1NzQsIDE3NDksIDUyMywgMTU3NCwgMTYwOCwgNTI0LCAxNTc0LCAxNjA4LCA1MjMsIAorICAgIDE1NzQsIDE3MzUsIDUyNCwgMTU3NCwgMTczNSwgNTIzLCAxNTc0LCAxNzM0LCA1MjQsIDE1NzQsIDE3MzQsIDUyMywgMTU3NCwgCisgICAgMTczNiwgNTI0LCAxNTc0LCAxNzM2LCA1MjMsIDE1NzQsIDE3NDQsIDUyNCwgMTU3NCwgMTc0NCwgNTI1LCAxNTc0LCAxNzQ0LCAKKyAgICA1MjMsIDE1NzQsIDE2MDksIDUyNCwgMTU3NCwgMTYwOSwgNTI1LCAxNTc0LCAxNjA5LCAyNjcsIDE3NDAsIDI2OCwgMTc0MCwgCisgICAgMjY5LCAxNzQwLCAyNzAsIDE3NDAsIDUyMywgMTU3NCwgMTU4MCwgNTIzLCAxNTc0LCAxNTgxLCA1MjMsIDE1NzQsIDE2MDUsIAorICAgIDUyMywgMTU3NCwgMTYwOSwgNTIzLCAxNTc0LCAxNjEwLCA1MjMsIDE1NzYsIDE1ODAsIDUyMywgMTU3NiwgMTU4MSwgNTIzLCAKKyAgICAxNTc2LCAxNTgyLCA1MjMsIDE1NzYsIDE2MDUsIDUyMywgMTU3NiwgMTYwOSwgNTIzLCAxNTc2LCAxNjEwLCA1MjMsIDE1NzgsIAorICAgIDE1ODAsIDUyMywgMTU3OCwgMTU4MSwgNTIzLCAxNTc4LCAxNTgyLCA1MjMsIDE1NzgsIDE2MDUsIDUyMywgMTU3OCwgMTYwOSwgCisgICAgNTIzLCAxNTc4LCAxNjEwLCA1MjMsIDE1NzksIDE1ODAsIDUyMywgMTU3OSwgMTYwNSwgNTIzLCAxNTc5LCAxNjA5LCA1MjMsIAorICAgIDE1NzksIDE2MTAsIDUyMywgMTU4MCwgMTU4MSwgNTIzLCAxNTgwLCAxNjA1LCA1MjMsIDE1ODEsIDE1ODAsIDUyMywgMTU4MSwgCisgICAgMTYwNSwgNTIzLCAxNTgyLCAxNTgwLCA1MjMsIDE1ODIsIDE1ODEsIDUyMywgMTU4MiwgMTYwNSwgNTIzLCAxNTg3LCAxNTgwLCAKKyAgICA1MjMsIDE1ODcsIDE1ODEsIDUyMywgMTU4NywgMTU4MiwgNTIzLCAxNTg3LCAxNjA1LCA1MjMsIDE1ODksIDE1ODEsIDUyMywgCisgICAgMTU4OSwgMTYwNSwgNTIzLCAxNTkwLCAxNTgwLCA1MjMsIDE1OTAsIDE1ODEsIDUyMywgMTU5MCwgMTU4MiwgNTIzLCAxNTkwLCAKKyAgICAxNjA1LCA1MjMsIDE1OTEsIDE1ODEsIDUyMywgMTU5MSwgMTYwNSwgNTIzLCAxNTkyLCAxNjA1LCA1MjMsIDE1OTMsIDE1ODAsIAorICAgIDUyMywgMTU5MywgMTYwNSwgNTIzLCAxNTk0LCAxNTgwLCA1MjMsIDE1OTQsIDE2MDUsIDUyMywgMTYwMSwgMTU4MCwgNTIzLCAKKyAgICAxNjAxLCAxNTgxLCA1MjMsIDE2MDEsIDE1ODIsIDUyMywgMTYwMSwgMTYwNSwgNTIzLCAxNjAxLCAxNjA5LCA1MjMsIDE2MDEsIAorICAgIDE2MTAsIDUyMywgMTYwMiwgMTU4MSwgNTIzLCAxNjAyLCAxNjA1LCA1MjMsIDE2MDIsIDE2MDksIDUyMywgMTYwMiwgMTYxMCwgCisgICAgNTIzLCAxNjAzLCAxNTc1LCA1MjMsIDE2MDMsIDE1ODAsIDUyMywgMTYwMywgMTU4MSwgNTIzLCAxNjAzLCAxNTgyLCA1MjMsIAorICAgIDE2MDMsIDE2MDQsIDUyMywgMTYwMywgMTYwNSwgNTIzLCAxNjAzLCAxNjA5LCA1MjMsIDE2MDMsIDE2MTAsIDUyMywgMTYwNCwgCisgICAgMTU4MCwgNTIzLCAxNjA0LCAxNTgxLCA1MjMsIDE2MDQsIDE1ODIsIDUyMywgMTYwNCwgMTYwNSwgNTIzLCAxNjA0LCAxNjA5LCAKKyAgICA1MjMsIDE2MDQsIDE2MTAsIDUyMywgMTYwNSwgMTU4MCwgNTIzLCAxNjA1LCAxNTgxLCA1MjMsIDE2MDUsIDE1ODIsIDUyMywgCisgICAgMTYwNSwgMTYwNSwgNTIzLCAxNjA1LCAxNjA5LCA1MjMsIDE2MDUsIDE2MTAsIDUyMywgMTYwNiwgMTU4MCwgNTIzLCAxNjA2LCAKKyAgICAxNTgxLCA1MjMsIDE2MDYsIDE1ODIsIDUyMywgMTYwNiwgMTYwNSwgNTIzLCAxNjA2LCAxNjA5LCA1MjMsIDE2MDYsIDE2MTAsIAorICAgIDUyMywgMTYwNywgMTU4MCwgNTIzLCAxNjA3LCAxNjA1LCA1MjMsIDE2MDcsIDE2MDksIDUyMywgMTYwNywgMTYxMCwgNTIzLCAKKyAgICAxNjEwLCAxNTgwLCA1MjMsIDE2MTAsIDE1ODEsIDUyMywgMTYxMCwgMTU4MiwgNTIzLCAxNjEwLCAxNjA1LCA1MjMsIDE2MTAsIAorICAgIDE2MDksIDUyMywgMTYxMCwgMTYxMCwgNTIzLCAxNTg0LCAxNjQ4LCA1MjMsIDE1ODUsIDE2NDgsIDUyMywgMTYwOSwgMTY0OCwgCisgICAgNzc5LCAzMiwgMTYxMiwgMTYxNywgNzc5LCAzMiwgMTYxMywgMTYxNywgNzc5LCAzMiwgMTYxNCwgMTYxNywgNzc5LCAzMiwgCisgICAgMTYxNSwgMTYxNywgNzc5LCAzMiwgMTYxNiwgMTYxNywgNzc5LCAzMiwgMTYxNywgMTY0OCwgNTI0LCAxNTc0LCAxNTg1LCAKKyAgICA1MjQsIDE1NzQsIDE1ODYsIDUyNCwgMTU3NCwgMTYwNSwgNTI0LCAxNTc0LCAxNjA2LCA1MjQsIDE1NzQsIDE2MDksIDUyNCwgCisgICAgMTU3NCwgMTYxMCwgNTI0LCAxNTc2LCAxNTg1LCA1MjQsIDE1NzYsIDE1ODYsIDUyNCwgMTU3NiwgMTYwNSwgNTI0LCAxNTc2LCAKKyAgICAxNjA2LCA1MjQsIDE1NzYsIDE2MDksIDUyNCwgMTU3NiwgMTYxMCwgNTI0LCAxNTc4LCAxNTg1LCA1MjQsIDE1NzgsIDE1ODYsIAorICAgIDUyNCwgMTU3OCwgMTYwNSwgNTI0LCAxNTc4LCAxNjA2LCA1MjQsIDE1NzgsIDE2MDksIDUyNCwgMTU3OCwgMTYxMCwgNTI0LCAKKyAgICAxNTc5LCAxNTg1LCA1MjQsIDE1NzksIDE1ODYsIDUyNCwgMTU3OSwgMTYwNSwgNTI0LCAxNTc5LCAxNjA2LCA1MjQsIDE1NzksIAorICAgIDE2MDksIDUyNCwgMTU3OSwgMTYxMCwgNTI0LCAxNjAxLCAxNjA5LCA1MjQsIDE2MDEsIDE2MTAsIDUyNCwgMTYwMiwgMTYwOSwgCisgICAgNTI0LCAxNjAyLCAxNjEwLCA1MjQsIDE2MDMsIDE1NzUsIDUyNCwgMTYwMywgMTYwNCwgNTI0LCAxNjAzLCAxNjA1LCA1MjQsIAorICAgIDE2MDMsIDE2MDksIDUyNCwgMTYwMywgMTYxMCwgNTI0LCAxNjA0LCAxNjA1LCA1MjQsIDE2MDQsIDE2MDksIDUyNCwgMTYwNCwgCisgICAgMTYxMCwgNTI0LCAxNjA1LCAxNTc1LCA1MjQsIDE2MDUsIDE2MDUsIDUyNCwgMTYwNiwgMTU4NSwgNTI0LCAxNjA2LCAxNTg2LCAKKyAgICA1MjQsIDE2MDYsIDE2MDUsIDUyNCwgMTYwNiwgMTYwNiwgNTI0LCAxNjA2LCAxNjA5LCA1MjQsIDE2MDYsIDE2MTAsIDUyNCwgCisgICAgMTYwOSwgMTY0OCwgNTI0LCAxNjEwLCAxNTg1LCA1MjQsIDE2MTAsIDE1ODYsIDUyNCwgMTYxMCwgMTYwNSwgNTI0LCAxNjEwLCAKKyAgICAxNjA2LCA1MjQsIDE2MTAsIDE2MDksIDUyNCwgMTYxMCwgMTYxMCwgNTI1LCAxNTc0LCAxNTgwLCA1MjUsIDE1NzQsIDE1ODEsIAorICAgIDUyNSwgMTU3NCwgMTU4MiwgNTI1LCAxNTc0LCAxNjA1LCA1MjUsIDE1NzQsIDE2MDcsIDUyNSwgMTU3NiwgMTU4MCwgNTI1LCAKKyAgICAxNTc2LCAxNTgxLCA1MjUsIDE1NzYsIDE1ODIsIDUyNSwgMTU3NiwgMTYwNSwgNTI1LCAxNTc2LCAxNjA3LCA1MjUsIDE1NzgsIAorICAgIDE1ODAsIDUyNSwgMTU3OCwgMTU4MSwgNTI1LCAxNTc4LCAxNTgyLCA1MjUsIDE1NzgsIDE2MDUsIDUyNSwgMTU3OCwgMTYwNywgCisgICAgNTI1LCAxNTc5LCAxNjA1LCA1MjUsIDE1ODAsIDE1ODEsIDUyNSwgMTU4MCwgMTYwNSwgNTI1LCAxNTgxLCAxNTgwLCA1MjUsIAorICAgIDE1ODEsIDE2MDUsIDUyNSwgMTU4MiwgMTU4MCwgNTI1LCAxNTgyLCAxNjA1LCA1MjUsIDE1ODcsIDE1ODAsIDUyNSwgMTU4NywgCisgICAgMTU4MSwgNTI1LCAxNTg3LCAxNTgyLCA1MjUsIDE1ODcsIDE2MDUsIDUyNSwgMTU4OSwgMTU4MSwgNTI1LCAxNTg5LCAxNTgyLCAKKyAgICA1MjUsIDE1ODksIDE2MDUsIDUyNSwgMTU5MCwgMTU4MCwgNTI1LCAxNTkwLCAxNTgxLCA1MjUsIDE1OTAsIDE1ODIsIDUyNSwgCisgICAgMTU5MCwgMTYwNSwgNTI1LCAxNTkxLCAxNTgxLCA1MjUsIDE1OTIsIDE2MDUsIDUyNSwgMTU5MywgMTU4MCwgNTI1LCAxNTkzLCAKKyAgICAxNjA1LCA1MjUsIDE1OTQsIDE1ODAsIDUyNSwgMTU5NCwgMTYwNSwgNTI1LCAxNjAxLCAxNTgwLCA1MjUsIDE2MDEsIDE1ODEsIAorICAgIDUyNSwgMTYwMSwgMTU4MiwgNTI1LCAxNjAxLCAxNjA1LCA1MjUsIDE2MDIsIDE1ODEsIDUyNSwgMTYwMiwgMTYwNSwgNTI1LCAKKyAgICAxNjAzLCAxNTgwLCA1MjUsIDE2MDMsIDE1ODEsIDUyNSwgMTYwMywgMTU4MiwgNTI1LCAxNjAzLCAxNjA0LCA1MjUsIDE2MDMsIAorICAgIDE2MDUsIDUyNSwgMTYwNCwgMTU4MCwgNTI1LCAxNjA0LCAxNTgxLCA1MjUsIDE2MDQsIDE1ODIsIDUyNSwgMTYwNCwgMTYwNSwgCisgICAgNTI1LCAxNjA0LCAxNjA3LCA1MjUsIDE2MDUsIDE1ODAsIDUyNSwgMTYwNSwgMTU4MSwgNTI1LCAxNjA1LCAxNTgyLCA1MjUsIAorICAgIDE2MDUsIDE2MDUsIDUyNSwgMTYwNiwgMTU4MCwgNTI1LCAxNjA2LCAxNTgxLCA1MjUsIDE2MDYsIDE1ODIsIDUyNSwgMTYwNiwgCisgICAgMTYwNSwgNTI1LCAxNjA2LCAxNjA3LCA1MjUsIDE2MDcsIDE1ODAsIDUyNSwgMTYwNywgMTYwNSwgNTI1LCAxNjA3LCAxNjQ4LCAKKyAgICA1MjUsIDE2MTAsIDE1ODAsIDUyNSwgMTYxMCwgMTU4MSwgNTI1LCAxNjEwLCAxNTgyLCA1MjUsIDE2MTAsIDE2MDUsIDUyNSwgCisgICAgMTYxMCwgMTYwNywgNTI2LCAxNTc0LCAxNjA1LCA1MjYsIDE1NzQsIDE2MDcsIDUyNiwgMTU3NiwgMTYwNSwgNTI2LCAxNTc2LCAKKyAgICAxNjA3LCA1MjYsIDE1NzgsIDE2MDUsIDUyNiwgMTU3OCwgMTYwNywgNTI2LCAxNTc5LCAxNjA1LCA1MjYsIDE1NzksIDE2MDcsIAorICAgIDUyNiwgMTU4NywgMTYwNSwgNTI2LCAxNTg3LCAxNjA3LCA1MjYsIDE1ODgsIDE2MDUsIDUyNiwgMTU4OCwgMTYwNywgNTI2LCAKKyAgICAxNjAzLCAxNjA0LCA1MjYsIDE2MDMsIDE2MDUsIDUyNiwgMTYwNCwgMTYwNSwgNTI2LCAxNjA2LCAxNjA1LCA1MjYsIDE2MDYsIAorICAgIDE2MDcsIDUyNiwgMTYxMCwgMTYwNSwgNTI2LCAxNjEwLCAxNjA3LCA3ODIsIDE2MDAsIDE2MTQsIDE2MTcsIDc4MiwgMTYwMCwgCisgICAgMTYxNSwgMTYxNywgNzgyLCAxNjAwLCAxNjE2LCAxNjE3LCA1MjMsIDE1OTEsIDE2MDksIDUyMywgMTU5MSwgMTYxMCwgNTIzLCAKKyAgICAxNTkzLCAxNjA5LCA1MjMsIDE1OTMsIDE2MTAsIDUyMywgMTU5NCwgMTYwOSwgNTIzLCAxNTk0LCAxNjEwLCA1MjMsIDE1ODcsIAorICAgIDE2MDksIDUyMywgMTU4NywgMTYxMCwgNTIzLCAxNTg4LCAxNjA5LCA1MjMsIDE1ODgsIDE2MTAsIDUyMywgMTU4MSwgMTYwOSwgCisgICAgNTIzLCAxNTgxLCAxNjEwLCA1MjMsIDE1ODAsIDE2MDksIDUyMywgMTU4MCwgMTYxMCwgNTIzLCAxNTgyLCAxNjA5LCA1MjMsIAorICAgIDE1ODIsIDE2MTAsIDUyMywgMTU4OSwgMTYwOSwgNTIzLCAxNTg5LCAxNjEwLCA1MjMsIDE1OTAsIDE2MDksIDUyMywgMTU5MCwgCisgICAgMTYxMCwgNTIzLCAxNTg4LCAxNTgwLCA1MjMsIDE1ODgsIDE1ODEsIDUyMywgMTU4OCwgMTU4MiwgNTIzLCAxNTg4LCAxNjA1LCAKKyAgICA1MjMsIDE1ODgsIDE1ODUsIDUyMywgMTU4NywgMTU4NSwgNTIzLCAxNTg5LCAxNTg1LCA1MjMsIDE1OTAsIDE1ODUsIDUyNCwgCisgICAgMTU5MSwgMTYwOSwgNTI0LCAxNTkxLCAxNjEwLCA1MjQsIDE1OTMsIDE2MDksIDUyNCwgMTU5MywgMTYxMCwgNTI0LCAxNTk0LCAKKyAgICAxNjA5LCA1MjQsIDE1OTQsIDE2MTAsIDUyNCwgMTU4NywgMTYwOSwgNTI0LCAxNTg3LCAxNjEwLCA1MjQsIDE1ODgsIDE2MDksIAorICAgIDUyNCwgMTU4OCwgMTYxMCwgNTI0LCAxNTgxLCAxNjA5LCA1MjQsIDE1ODEsIDE2MTAsIDUyNCwgMTU4MCwgMTYwOSwgNTI0LCAKKyAgICAxNTgwLCAxNjEwLCA1MjQsIDE1ODIsIDE2MDksIDUyNCwgMTU4MiwgMTYxMCwgNTI0LCAxNTg5LCAxNjA5LCA1MjQsIDE1ODksIAorICAgIDE2MTAsIDUyNCwgMTU5MCwgMTYwOSwgNTI0LCAxNTkwLCAxNjEwLCA1MjQsIDE1ODgsIDE1ODAsIDUyNCwgMTU4OCwgMTU4MSwgCisgICAgNTI0LCAxNTg4LCAxNTgyLCA1MjQsIDE1ODgsIDE2MDUsIDUyNCwgMTU4OCwgMTU4NSwgNTI0LCAxNTg3LCAxNTg1LCA1MjQsIAorICAgIDE1ODksIDE1ODUsIDUyNCwgMTU5MCwgMTU4NSwgNTI1LCAxNTg4LCAxNTgwLCA1MjUsIDE1ODgsIDE1ODEsIDUyNSwgMTU4OCwgCisgICAgMTU4MiwgNTI1LCAxNTg4LCAxNjA1LCA1MjUsIDE1ODcsIDE2MDcsIDUyNSwgMTU4OCwgMTYwNywgNTI1LCAxNTkxLCAxNjA1LCAKKyAgICA1MjYsIDE1ODcsIDE1ODAsIDUyNiwgMTU4NywgMTU4MSwgNTI2LCAxNTg3LCAxNTgyLCA1MjYsIDE1ODgsIDE1ODAsIDUyNiwgCisgICAgMTU4OCwgMTU4MSwgNTI2LCAxNTg4LCAxNTgyLCA1MjYsIDE1OTEsIDE2MDUsIDUyNiwgMTU5MiwgMTYwNSwgNTI0LCAxNTc1LCAKKyAgICAxNjExLCA1MjMsIDE1NzUsIDE2MTEsIDc4MSwgMTU3OCwgMTU4MCwgMTYwNSwgNzgwLCAxNTc4LCAxNTgxLCAxNTgwLCA3ODEsIAorICAgIDE1NzgsIDE1ODEsIDE1ODAsIDc4MSwgMTU3OCwgMTU4MSwgMTYwNSwgNzgxLCAxNTc4LCAxNTgyLCAxNjA1LCA3ODEsIAorICAgIDE1NzgsIDE2MDUsIDE1ODAsIDc4MSwgMTU3OCwgMTYwNSwgMTU4MSwgNzgxLCAxNTc4LCAxNjA1LCAxNTgyLCA3ODAsIAorICAgIDE1ODAsIDE2MDUsIDE1ODEsIDc4MSwgMTU4MCwgMTYwNSwgMTU4MSwgNzgwLCAxNTgxLCAxNjA1LCAxNjEwLCA3ODAsIAorICAgIDE1ODEsIDE2MDUsIDE2MDksIDc4MSwgMTU4NywgMTU4MSwgMTU4MCwgNzgxLCAxNTg3LCAxNTgwLCAxNTgxLCA3ODAsIAorICAgIDE1ODcsIDE1ODAsIDE2MDksIDc4MCwgMTU4NywgMTYwNSwgMTU4MSwgNzgxLCAxNTg3LCAxNjA1LCAxNTgxLCA3ODEsIAorICAgIDE1ODcsIDE2MDUsIDE1ODAsIDc4MCwgMTU4NywgMTYwNSwgMTYwNSwgNzgxLCAxNTg3LCAxNjA1LCAxNjA1LCA3ODAsIAorICAgIDE1ODksIDE1ODEsIDE1ODEsIDc4MSwgMTU4OSwgMTU4MSwgMTU4MSwgNzgwLCAxNTg5LCAxNjA1LCAxNjA1LCA3ODAsIAorICAgIDE1ODgsIDE1ODEsIDE2MDUsIDc4MSwgMTU4OCwgMTU4MSwgMTYwNSwgNzgwLCAxNTg4LCAxNTgwLCAxNjEwLCA3ODAsIAorICAgIDE1ODgsIDE2MDUsIDE1ODIsIDc4MSwgMTU4OCwgMTYwNSwgMTU4MiwgNzgwLCAxNTg4LCAxNjA1LCAxNjA1LCA3ODEsIAorICAgIDE1ODgsIDE2MDUsIDE2MDUsIDc4MCwgMTU5MCwgMTU4MSwgMTYwOSwgNzgwLCAxNTkwLCAxNTgyLCAxNjA1LCA3ODEsIAorICAgIDE1OTAsIDE1ODIsIDE2MDUsIDc4MCwgMTU5MSwgMTYwNSwgMTU4MSwgNzgxLCAxNTkxLCAxNjA1LCAxNTgxLCA3ODEsIAorICAgIDE1OTEsIDE2MDUsIDE2MDUsIDc4MCwgMTU5MSwgMTYwNSwgMTYxMCwgNzgwLCAxNTkzLCAxNTgwLCAxNjA1LCA3ODAsIAorICAgIDE1OTMsIDE2MDUsIDE2MDUsIDc4MSwgMTU5MywgMTYwNSwgMTYwNSwgNzgwLCAxNTkzLCAxNjA1LCAxNjA5LCA3ODAsIAorICAgIDE1OTQsIDE2MDUsIDE2MDUsIDc4MCwgMTU5NCwgMTYwNSwgMTYxMCwgNzgwLCAxNTk0LCAxNjA1LCAxNjA5LCA3ODAsIAorICAgIDE2MDEsIDE1ODIsIDE2MDUsIDc4MSwgMTYwMSwgMTU4MiwgMTYwNSwgNzgwLCAxNjAyLCAxNjA1LCAxNTgxLCA3ODAsIAorICAgIDE2MDIsIDE2MDUsIDE2MDUsIDc4MCwgMTYwNCwgMTU4MSwgMTYwNSwgNzgwLCAxNjA0LCAxNTgxLCAxNjEwLCA3ODAsIAorICAgIDE2MDQsIDE1ODEsIDE2MDksIDc4MSwgMTYwNCwgMTU4MCwgMTU4MCwgNzgwLCAxNjA0LCAxNTgwLCAxNTgwLCA3ODAsIAorICAgIDE2MDQsIDE1ODIsIDE2MDUsIDc4MSwgMTYwNCwgMTU4MiwgMTYwNSwgNzgwLCAxNjA0LCAxNjA1LCAxNTgxLCA3ODEsIAorICAgIDE2MDQsIDE2MDUsIDE1ODEsIDc4MSwgMTYwNSwgMTU4MSwgMTU4MCwgNzgxLCAxNjA1LCAxNTgxLCAxNjA1LCA3ODAsIAorICAgIDE2MDUsIDE1ODEsIDE2MTAsIDc4MSwgMTYwNSwgMTU4MCwgMTU4MSwgNzgxLCAxNjA1LCAxNTgwLCAxNjA1LCA3ODEsIAorICAgIDE2MDUsIDE1ODIsIDE1ODAsIDc4MSwgMTYwNSwgMTU4MiwgMTYwNSwgNzgxLCAxNjA1LCAxNTgwLCAxNTgyLCA3ODEsIAorICAgIDE2MDcsIDE2MDUsIDE1ODAsIDc4MSwgMTYwNywgMTYwNSwgMTYwNSwgNzgxLCAxNjA2LCAxNTgxLCAxNjA1LCA3ODAsIAorICAgIDE2MDYsIDE1ODEsIDE2MDksIDc4MCwgMTYwNiwgMTU4MCwgMTYwNSwgNzgxLCAxNjA2LCAxNTgwLCAxNjA1LCA3ODAsIAorICAgIDE2MDYsIDE1ODAsIDE2MDksIDc4MCwgMTYwNiwgMTYwNSwgMTYxMCwgNzgwLCAxNjA2LCAxNjA1LCAxNjA5LCA3ODAsIAorICAgIDE2MTAsIDE2MDUsIDE2MDUsIDc4MSwgMTYxMCwgMTYwNSwgMTYwNSwgNzgwLCAxNTc2LCAxNTgyLCAxNjEwLCA3ODAsIAorICAgIDE1NzgsIDE1ODAsIDE2MTAsIDc4MCwgMTU3OCwgMTU4MCwgMTYwOSwgNzgwLCAxNTc4LCAxNTgyLCAxNjEwLCA3ODAsIAorICAgIDE1NzgsIDE1ODIsIDE2MDksIDc4MCwgMTU3OCwgMTYwNSwgMTYxMCwgNzgwLCAxNTc4LCAxNjA1LCAxNjA5LCA3ODAsIAorICAgIDE1ODAsIDE2MDUsIDE2MTAsIDc4MCwgMTU4MCwgMTU4MSwgMTYwOSwgNzgwLCAxNTgwLCAxNjA1LCAxNjA5LCA3ODAsIAorICAgIDE1ODcsIDE1ODIsIDE2MDksIDc4MCwgMTU4OSwgMTU4MSwgMTYxMCwgNzgwLCAxNTg4LCAxNTgxLCAxNjEwLCA3ODAsIAorICAgIDE1OTAsIDE1ODEsIDE2MTAsIDc4MCwgMTYwNCwgMTU4MCwgMTYxMCwgNzgwLCAxNjA0LCAxNjA1LCAxNjEwLCA3ODAsIAorICAgIDE2MTAsIDE1ODEsIDE2MTAsIDc4MCwgMTYxMCwgMTU4MCwgMTYxMCwgNzgwLCAxNjEwLCAxNjA1LCAxNjEwLCA3ODAsIAorICAgIDE2MDUsIDE2MDUsIDE2MTAsIDc4MCwgMTYwMiwgMTYwNSwgMTYxMCwgNzgwLCAxNjA2LCAxNTgxLCAxNjEwLCA3ODEsIAorICAgIDE2MDIsIDE2MDUsIDE1ODEsIDc4MSwgMTYwNCwgMTU4MSwgMTYwNSwgNzgwLCAxNTkzLCAxNjA1LCAxNjEwLCA3ODAsIAorICAgIDE2MDMsIDE2MDUsIDE2MTAsIDc4MSwgMTYwNiwgMTU4MCwgMTU4MSwgNzgwLCAxNjA1LCAxNTgyLCAxNjEwLCA3ODEsIAorICAgIDE2MDQsIDE1ODAsIDE2MDUsIDc4MCwgMTYwMywgMTYwNSwgMTYwNSwgNzgwLCAxNjA0LCAxNTgwLCAxNjA1LCA3ODAsIAorICAgIDE2MDYsIDE1ODAsIDE1ODEsIDc4MCwgMTU4MCwgMTU4MSwgMTYxMCwgNzgwLCAxNTgxLCAxNTgwLCAxNjEwLCA3ODAsIAorICAgIDE2MDUsIDE1ODAsIDE2MTAsIDc4MCwgMTYwMSwgMTYwNSwgMTYxMCwgNzgwLCAxNTc2LCAxNTgxLCAxNjEwLCA3ODEsIAorICAgIDE2MDMsIDE2MDUsIDE2MDUsIDc4MSwgMTU5MywgMTU4MCwgMTYwNSwgNzgxLCAxNTg5LCAxNjA1LCAxNjA1LCA3ODAsIAorICAgIDE1ODcsIDE1ODIsIDE2MTAsIDc4MCwgMTYwNiwgMTU4MCwgMTYxMCwgNzc5LCAxNTg5LCAxNjA0LCAxNzQ2LCA3NzksIAorICAgIDE2MDIsIDE2MDQsIDE3NDYsIDEwMzUsIDE1NzUsIDE2MDQsIDE2MDQsIDE2MDcsIDEwMzUsIDE1NzUsIDE2MDMsIDE1NzYsIAorICAgIDE1ODUsIDEwMzUsIDE2MDUsIDE1ODEsIDE2MDUsIDE1ODMsIDEwMzUsIDE1ODksIDE2MDQsIDE1OTMsIDE2MDUsIDEwMzUsIAorICAgIDE1ODUsIDE1ODcsIDE2MDgsIDE2MDQsIDEwMzUsIDE1OTMsIDE2MDQsIDE2MTAsIDE2MDcsIDEwMzUsIDE2MDgsIDE1ODcsIAorICAgIDE2MDQsIDE2MDUsIDc3OSwgMTU4OSwgMTYwNCwgMTYwOSwgNDYxOSwgMTU4OSwgMTYwNCwgMTYwOSwgMzIsIDE1NzUsIAorICAgIDE2MDQsIDE2MDQsIDE2MDcsIDMyLCAxNTkzLCAxNjA0LCAxNjEwLCAxNjA3LCAzMiwgMTYwOCwgMTU4NywgMTYwNCwgMTYwNSwgCisgICAgMjA1OSwgMTU4MCwgMTYwNCwgMzIsIDE1ODAsIDE2MDQsIDE1NzUsIDE2MDQsIDE2MDcsIDEwMzUsIDE1ODUsIDE3NDAsIAorICAgIDE1NzUsIDE2MDQsIDI2NSwgNDQsIDI2NSwgMTIyODksIDI2NSwgMTIyOTAsIDI2NSwgNTgsIDI2NSwgNTksIDI2NSwgMzMsIAorICAgIDI2NSwgNjMsIDI2NSwgMTIzMTAsIDI2NSwgMTIzMTEsIDI2NSwgODIzMCwgMjY1LCA4MjI5LCAyNjUsIDgyMTIsIDI2NSwgCisgICAgODIxMSwgMjY1LCA5NSwgMjY1LCA5NSwgMjY1LCA0MCwgMjY1LCA0MSwgMjY1LCAxMjMsIDI2NSwgMTI1LCAyNjUsIDEyMzA4LCAKKyAgICAyNjUsIDEyMzA5LCAyNjUsIDEyMzA0LCAyNjUsIDEyMzA1LCAyNjUsIDEyMjk4LCAyNjUsIDEyMjk5LCAyNjUsIDEyMjk2LCAKKyAgICAyNjUsIDEyMjk3LCAyNjUsIDEyMzAwLCAyNjUsIDEyMzAxLCAyNjUsIDEyMzAyLCAyNjUsIDEyMzAzLCAyNjUsIDkxLCAyNjUsIAorICAgIDkzLCAyNTgsIDgyNTQsIDI1OCwgODI1NCwgMjU4LCA4MjU0LCAyNTgsIDgyNTQsIDI1OCwgOTUsIDI1OCwgOTUsIDI1OCwgCisgICAgOTUsIDI3MSwgNDQsIDI3MSwgMTIyODksIDI3MSwgNDYsIDI3MSwgNTksIDI3MSwgNTgsIDI3MSwgNjMsIDI3MSwgMzMsIAorICAgIDI3MSwgODIxMiwgMjcxLCA0MCwgMjcxLCA0MSwgMjcxLCAxMjMsIDI3MSwgMTI1LCAyNzEsIDEyMzA4LCAyNzEsIDEyMzA5LCAKKyAgICAyNzEsIDM1LCAyNzEsIDM4LCAyNzEsIDQyLCAyNzEsIDQzLCAyNzEsIDQ1LCAyNzEsIDYwLCAyNzEsIDYyLCAyNzEsIDYxLCAKKyAgICAyNzEsIDkyLCAyNzEsIDM2LCAyNzEsIDM3LCAyNzEsIDY0LCA1MjMsIDMyLCAxNjExLCA1MjYsIDE2MDAsIDE2MTEsIDUyMywgCisgICAgMzIsIDE2MTIsIDUyMywgMzIsIDE2MTMsIDUyMywgMzIsIDE2MTQsIDUyNiwgMTYwMCwgMTYxNCwgNTIzLCAzMiwgMTYxNSwgCisgICAgNTI2LCAxNjAwLCAxNjE1LCA1MjMsIDMyLCAxNjE2LCA1MjYsIDE2MDAsIDE2MTYsIDUyMywgMzIsIDE2MTcsIDUyNiwgCisgICAgMTYwMCwgMTYxNywgNTIzLCAzMiwgMTYxOCwgNTI2LCAxNjAwLCAxNjE4LCAyNjcsIDE1NjksIDI2NywgMTU3MCwgMjY4LCAKKyAgICAxNTcwLCAyNjcsIDE1NzEsIDI2OCwgMTU3MSwgMjY3LCAxNTcyLCAyNjgsIDE1NzIsIDI2NywgMTU3MywgMjY4LCAxNTczLCAKKyAgICAyNjcsIDE1NzQsIDI2OCwgMTU3NCwgMjY5LCAxNTc0LCAyNzAsIDE1NzQsIDI2NywgMTU3NSwgMjY4LCAxNTc1LCAyNjcsIAorICAgIDE1NzYsIDI2OCwgMTU3NiwgMjY5LCAxNTc2LCAyNzAsIDE1NzYsIDI2NywgMTU3NywgMjY4LCAxNTc3LCAyNjcsIDE1NzgsIAorICAgIDI2OCwgMTU3OCwgMjY5LCAxNTc4LCAyNzAsIDE1NzgsIDI2NywgMTU3OSwgMjY4LCAxNTc5LCAyNjksIDE1NzksIDI3MCwgCisgICAgMTU3OSwgMjY3LCAxNTgwLCAyNjgsIDE1ODAsIDI2OSwgMTU4MCwgMjcwLCAxNTgwLCAyNjcsIDE1ODEsIDI2OCwgMTU4MSwgCisgICAgMjY5LCAxNTgxLCAyNzAsIDE1ODEsIDI2NywgMTU4MiwgMjY4LCAxNTgyLCAyNjksIDE1ODIsIDI3MCwgMTU4MiwgMjY3LCAKKyAgICAxNTgzLCAyNjgsIDE1ODMsIDI2NywgMTU4NCwgMjY4LCAxNTg0LCAyNjcsIDE1ODUsIDI2OCwgMTU4NSwgMjY3LCAxNTg2LCAKKyAgICAyNjgsIDE1ODYsIDI2NywgMTU4NywgMjY4LCAxNTg3LCAyNjksIDE1ODcsIDI3MCwgMTU4NywgMjY3LCAxNTg4LCAyNjgsIAorICAgIDE1ODgsIDI2OSwgMTU4OCwgMjcwLCAxNTg4LCAyNjcsIDE1ODksIDI2OCwgMTU4OSwgMjY5LCAxNTg5LCAyNzAsIDE1ODksIAorICAgIDI2NywgMTU5MCwgMjY4LCAxNTkwLCAyNjksIDE1OTAsIDI3MCwgMTU5MCwgMjY3LCAxNTkxLCAyNjgsIDE1OTEsIDI2OSwgCisgICAgMTU5MSwgMjcwLCAxNTkxLCAyNjcsIDE1OTIsIDI2OCwgMTU5MiwgMjY5LCAxNTkyLCAyNzAsIDE1OTIsIDI2NywgMTU5MywgCisgICAgMjY4LCAxNTkzLCAyNjksIDE1OTMsIDI3MCwgMTU5MywgMjY3LCAxNTk0LCAyNjgsIDE1OTQsIDI2OSwgMTU5NCwgMjcwLCAKKyAgICAxNTk0LCAyNjcsIDE2MDEsIDI2OCwgMTYwMSwgMjY5LCAxNjAxLCAyNzAsIDE2MDEsIDI2NywgMTYwMiwgMjY4LCAxNjAyLCAKKyAgICAyNjksIDE2MDIsIDI3MCwgMTYwMiwgMjY3LCAxNjAzLCAyNjgsIDE2MDMsIDI2OSwgMTYwMywgMjcwLCAxNjAzLCAyNjcsIAorICAgIDE2MDQsIDI2OCwgMTYwNCwgMjY5LCAxNjA0LCAyNzAsIDE2MDQsIDI2NywgMTYwNSwgMjY4LCAxNjA1LCAyNjksIDE2MDUsIAorICAgIDI3MCwgMTYwNSwgMjY3LCAxNjA2LCAyNjgsIDE2MDYsIDI2OSwgMTYwNiwgMjcwLCAxNjA2LCAyNjcsIDE2MDcsIDI2OCwgCisgICAgMTYwNywgMjY5LCAxNjA3LCAyNzAsIDE2MDcsIDI2NywgMTYwOCwgMjY4LCAxNjA4LCAyNjcsIDE2MDksIDI2OCwgMTYwOSwgCisgICAgMjY3LCAxNjEwLCAyNjgsIDE2MTAsIDI2OSwgMTYxMCwgMjcwLCAxNjEwLCA1MjMsIDE2MDQsIDE1NzAsIDUyNCwgMTYwNCwgCisgICAgMTU3MCwgNTIzLCAxNjA0LCAxNTcxLCA1MjQsIDE2MDQsIDE1NzEsIDUyMywgMTYwNCwgMTU3MywgNTI0LCAxNjA0LCAxNTczLCAKKyAgICA1MjMsIDE2MDQsIDE1NzUsIDUyNCwgMTYwNCwgMTU3NSwgMjY0LCAzMywgMjY0LCAzNCwgMjY0LCAzNSwgMjY0LCAzNiwgCisgICAgMjY0LCAzNywgMjY0LCAzOCwgMjY0LCAzOSwgMjY0LCA0MCwgMjY0LCA0MSwgMjY0LCA0MiwgMjY0LCA0MywgMjY0LCA0NCwgCisgICAgMjY0LCA0NSwgMjY0LCA0NiwgMjY0LCA0NywgMjY0LCA0OCwgMjY0LCA0OSwgMjY0LCA1MCwgMjY0LCA1MSwgMjY0LCA1MiwgCisgICAgMjY0LCA1MywgMjY0LCA1NCwgMjY0LCA1NSwgMjY0LCA1NiwgMjY0LCA1NywgMjY0LCA1OCwgMjY0LCA1OSwgMjY0LCA2MCwgCisgICAgMjY0LCA2MSwgMjY0LCA2MiwgMjY0LCA2MywgMjY0LCA2NCwgMjY0LCA2NSwgMjY0LCA2NiwgMjY0LCA2NywgMjY0LCA2OCwgCisgICAgMjY0LCA2OSwgMjY0LCA3MCwgMjY0LCA3MSwgMjY0LCA3MiwgMjY0LCA3MywgMjY0LCA3NCwgMjY0LCA3NSwgMjY0LCA3NiwgCisgICAgMjY0LCA3NywgMjY0LCA3OCwgMjY0LCA3OSwgMjY0LCA4MCwgMjY0LCA4MSwgMjY0LCA4MiwgMjY0LCA4MywgMjY0LCA4NCwgCisgICAgMjY0LCA4NSwgMjY0LCA4NiwgMjY0LCA4NywgMjY0LCA4OCwgMjY0LCA4OSwgMjY0LCA5MCwgMjY0LCA5MSwgMjY0LCA5MiwgCisgICAgMjY0LCA5MywgMjY0LCA5NCwgMjY0LCA5NSwgMjY0LCA5NiwgMjY0LCA5NywgMjY0LCA5OCwgMjY0LCA5OSwgMjY0LCAxMDAsIAorICAgIDI2NCwgMTAxLCAyNjQsIDEwMiwgMjY0LCAxMDMsIDI2NCwgMTA0LCAyNjQsIDEwNSwgMjY0LCAxMDYsIDI2NCwgMTA3LCAKKyAgICAyNjQsIDEwOCwgMjY0LCAxMDksIDI2NCwgMTEwLCAyNjQsIDExMSwgMjY0LCAxMTIsIDI2NCwgMTEzLCAyNjQsIDExNCwgCisgICAgMjY0LCAxMTUsIDI2NCwgMTE2LCAyNjQsIDExNywgMjY0LCAxMTgsIDI2NCwgMTE5LCAyNjQsIDEyMCwgMjY0LCAxMjEsIAorICAgIDI2NCwgMTIyLCAyNjQsIDEyMywgMjY0LCAxMjQsIDI2NCwgMTI1LCAyNjQsIDEyNiwgMjY0LCAxMDYyOSwgMjY0LCAxMDYzMCwgCisgICAgMjcyLCAxMjI5MCwgMjcyLCAxMjMwMCwgMjcyLCAxMjMwMSwgMjcyLCAxMjI4OSwgMjcyLCAxMjUzOSwgMjcyLCAxMjUzMCwgCisgICAgMjcyLCAxMjQ0OSwgMjcyLCAxMjQ1MSwgMjcyLCAxMjQ1MywgMjcyLCAxMjQ1NSwgMjcyLCAxMjQ1NywgMjcyLCAxMjUxNSwgCisgICAgMjcyLCAxMjUxNywgMjcyLCAxMjUxOSwgMjcyLCAxMjQ4MywgMjcyLCAxMjU0MCwgMjcyLCAxMjQ1MCwgMjcyLCAxMjQ1MiwgCisgICAgMjcyLCAxMjQ1NCwgMjcyLCAxMjQ1NiwgMjcyLCAxMjQ1OCwgMjcyLCAxMjQ1OSwgMjcyLCAxMjQ2MSwgMjcyLCAxMjQ2MywgCisgICAgMjcyLCAxMjQ2NSwgMjcyLCAxMjQ2NywgMjcyLCAxMjQ2OSwgMjcyLCAxMjQ3MSwgMjcyLCAxMjQ3MywgMjcyLCAxMjQ3NSwgCisgICAgMjcyLCAxMjQ3NywgMjcyLCAxMjQ3OSwgMjcyLCAxMjQ4MSwgMjcyLCAxMjQ4NCwgMjcyLCAxMjQ4NiwgMjcyLCAxMjQ4OCwgCisgICAgMjcyLCAxMjQ5MCwgMjcyLCAxMjQ5MSwgMjcyLCAxMjQ5MiwgMjcyLCAxMjQ5MywgMjcyLCAxMjQ5NCwgMjcyLCAxMjQ5NSwgCisgICAgMjcyLCAxMjQ5OCwgMjcyLCAxMjUwMSwgMjcyLCAxMjUwNCwgMjcyLCAxMjUwNywgMjcyLCAxMjUxMCwgMjcyLCAxMjUxMSwgCisgICAgMjcyLCAxMjUxMiwgMjcyLCAxMjUxMywgMjcyLCAxMjUxNCwgMjcyLCAxMjUxNiwgMjcyLCAxMjUxOCwgMjcyLCAxMjUyMCwgCisgICAgMjcyLCAxMjUyMSwgMjcyLCAxMjUyMiwgMjcyLCAxMjUyMywgMjcyLCAxMjUyNCwgMjcyLCAxMjUyNSwgMjcyLCAxMjUyNywgCisgICAgMjcyLCAxMjUzMSwgMjcyLCAxMjQ0MSwgMjcyLCAxMjQ0MiwgMjcyLCAxMjY0NCwgMjcyLCAxMjU5MywgMjcyLCAxMjU5NCwgCisgICAgMjcyLCAxMjU5NSwgMjcyLCAxMjU5NiwgMjcyLCAxMjU5NywgMjcyLCAxMjU5OCwgMjcyLCAxMjU5OSwgMjcyLCAxMjYwMCwgCisgICAgMjcyLCAxMjYwMSwgMjcyLCAxMjYwMiwgMjcyLCAxMjYwMywgMjcyLCAxMjYwNCwgMjcyLCAxMjYwNSwgMjcyLCAxMjYwNiwgCisgICAgMjcyLCAxMjYwNywgMjcyLCAxMjYwOCwgMjcyLCAxMjYwOSwgMjcyLCAxMjYxMCwgMjcyLCAxMjYxMSwgMjcyLCAxMjYxMiwgCisgICAgMjcyLCAxMjYxMywgMjcyLCAxMjYxNCwgMjcyLCAxMjYxNSwgMjcyLCAxMjYxNiwgMjcyLCAxMjYxNywgMjcyLCAxMjYxOCwgCisgICAgMjcyLCAxMjYxOSwgMjcyLCAxMjYyMCwgMjcyLCAxMjYyMSwgMjcyLCAxMjYyMiwgMjcyLCAxMjYyMywgMjcyLCAxMjYyNCwgCisgICAgMjcyLCAxMjYyNSwgMjcyLCAxMjYyNiwgMjcyLCAxMjYyNywgMjcyLCAxMjYyOCwgMjcyLCAxMjYyOSwgMjcyLCAxMjYzMCwgCisgICAgMjcyLCAxMjYzMSwgMjcyLCAxMjYzMiwgMjcyLCAxMjYzMywgMjcyLCAxMjYzNCwgMjcyLCAxMjYzNSwgMjcyLCAxMjYzNiwgCisgICAgMjcyLCAxMjYzNywgMjcyLCAxMjYzOCwgMjcyLCAxMjYzOSwgMjcyLCAxMjY0MCwgMjcyLCAxMjY0MSwgMjcyLCAxMjY0MiwgCisgICAgMjcyLCAxMjY0MywgMjY0LCAxNjIsIDI2NCwgMTYzLCAyNjQsIDE3MiwgMjY0LCAxNzUsIDI2NCwgMTY2LCAyNjQsIDE2NSwgCisgICAgMjY0LCA4MzYxLCAyNzIsIDk0NzQsIDI3MiwgODU5MiwgMjcyLCA4NTkzLCAyNzIsIDg1OTQsIDI3MiwgODU5NSwgMjcyLCAKKyAgICA5NjMyLCAyNzIsIDk2NzUsIDUxMiwgNjk3ODUsIDY5ODE4LCA1MTIsIDY5Nzg3LCA2OTgxOCwgNTEyLCA2OTc5NywgNjk4MTgsIAorICAgIDUxMiwgNjk5MzcsIDY5OTI3LCA1MTIsIDY5OTM4LCA2OTkyNywgNTEyLCA3MDQ3MSwgNzA0NjIsIDUxMiwgNzA0NzEsIAorICAgIDcwNDg3LCA1MTIsIDcwODQxLCA3MDg0MiwgNTEyLCA3MDg0MSwgNzA4MzIsIDUxMiwgNzA4NDEsIDcwODQ1LCA1MTIsIAorICAgIDcxMDk2LCA3MTA4NywgNTEyLCA3MTA5NywgNzEwODcsIDUxMiwgMTE5MTI3LCAxMTkxNDEsIDUxMiwgMTE5MTI4LCAKKyAgICAxMTkxNDEsIDUxMiwgMTE5MTM1LCAxMTkxNTAsIDUxMiwgMTE5MTM1LCAxMTkxNTEsIDUxMiwgMTE5MTM1LCAxMTkxNTIsIAorICAgIDUxMiwgMTE5MTM1LCAxMTkxNTMsIDUxMiwgMTE5MTM1LCAxMTkxNTQsIDUxMiwgMTE5MjI1LCAxMTkxNDEsIDUxMiwgCisgICAgMTE5MjI2LCAxMTkxNDEsIDUxMiwgMTE5MjI3LCAxMTkxNTAsIDUxMiwgMTE5MjI4LCAxMTkxNTAsIDUxMiwgMTE5MjI3LCAKKyAgICAxMTkxNTEsIDUxMiwgMTE5MjI4LCAxMTkxNTEsIDI2MiwgNjUsIDI2MiwgNjYsIDI2MiwgNjcsIDI2MiwgNjgsIDI2MiwgNjksIAorICAgIDI2MiwgNzAsIDI2MiwgNzEsIDI2MiwgNzIsIDI2MiwgNzMsIDI2MiwgNzQsIDI2MiwgNzUsIDI2MiwgNzYsIDI2MiwgNzcsIAorICAgIDI2MiwgNzgsIDI2MiwgNzksIDI2MiwgODAsIDI2MiwgODEsIDI2MiwgODIsIDI2MiwgODMsIDI2MiwgODQsIDI2MiwgODUsIAorICAgIDI2MiwgODYsIDI2MiwgODcsIDI2MiwgODgsIDI2MiwgODksIDI2MiwgOTAsIDI2MiwgOTcsIDI2MiwgOTgsIDI2MiwgOTksIAorICAgIDI2MiwgMTAwLCAyNjIsIDEwMSwgMjYyLCAxMDIsIDI2MiwgMTAzLCAyNjIsIDEwNCwgMjYyLCAxMDUsIDI2MiwgMTA2LCAKKyAgICAyNjIsIDEwNywgMjYyLCAxMDgsIDI2MiwgMTA5LCAyNjIsIDExMCwgMjYyLCAxMTEsIDI2MiwgMTEyLCAyNjIsIDExMywgCisgICAgMjYyLCAxMTQsIDI2MiwgMTE1LCAyNjIsIDExNiwgMjYyLCAxMTcsIDI2MiwgMTE4LCAyNjIsIDExOSwgMjYyLCAxMjAsIAorICAgIDI2MiwgMTIxLCAyNjIsIDEyMiwgMjYyLCA2NSwgMjYyLCA2NiwgMjYyLCA2NywgMjYyLCA2OCwgMjYyLCA2OSwgMjYyLCA3MCwgCisgICAgMjYyLCA3MSwgMjYyLCA3MiwgMjYyLCA3MywgMjYyLCA3NCwgMjYyLCA3NSwgMjYyLCA3NiwgMjYyLCA3NywgMjYyLCA3OCwgCisgICAgMjYyLCA3OSwgMjYyLCA4MCwgMjYyLCA4MSwgMjYyLCA4MiwgMjYyLCA4MywgMjYyLCA4NCwgMjYyLCA4NSwgMjYyLCA4NiwgCisgICAgMjYyLCA4NywgMjYyLCA4OCwgMjYyLCA4OSwgMjYyLCA5MCwgMjYyLCA5NywgMjYyLCA5OCwgMjYyLCA5OSwgMjYyLCAxMDAsIAorICAgIDI2MiwgMTAxLCAyNjIsIDEwMiwgMjYyLCAxMDMsIDI2MiwgMTA1LCAyNjIsIDEwNiwgMjYyLCAxMDcsIDI2MiwgMTA4LCAKICAgICAyNjIsIDEwOSwgMjYyLCAxMTAsIDI2MiwgMTExLCAyNjIsIDExMiwgMjYyLCAxMTMsIDI2MiwgMTE0LCAyNjIsIDExNSwgCiAgICAgMjYyLCAxMTYsIDI2MiwgMTE3LCAyNjIsIDExOCwgMjYyLCAxMTksIDI2MiwgMTIwLCAyNjIsIDEyMSwgMjYyLCAxMjIsIAotICAgIDI2MiwgNjUsIDI2MiwgNjcsIDI2MiwgNjgsIDI2MiwgNzEsIDI2MiwgNzQsIDI2MiwgNzUsIDI2MiwgNzgsIDI2MiwgNzksIAotICAgIDI2MiwgODAsIDI2MiwgODEsIDI2MiwgODMsIDI2MiwgODQsIDI2MiwgODUsIDI2MiwgODYsIDI2MiwgODcsIDI2MiwgODgsIAotICAgIDI2MiwgODksIDI2MiwgOTAsIDI2MiwgOTcsIDI2MiwgOTgsIDI2MiwgOTksIDI2MiwgMTAwLCAyNjIsIDEwMiwgMjYyLCAKLSAgICAxMDQsIDI2MiwgMTA1LCAyNjIsIDEwNiwgMjYyLCAxMDcsIDI2MiwgMTA4LCAyNjIsIDEwOSwgMjYyLCAxMTAsIDI2MiwgCi0gICAgMTEyLCAyNjIsIDExMywgMjYyLCAxMTQsIDI2MiwgMTE1LCAyNjIsIDExNiwgMjYyLCAxMTcsIDI2MiwgMTE4LCAyNjIsIAotICAgIDExOSwgMjYyLCAxMjAsIDI2MiwgMTIxLCAyNjIsIDEyMiwgMjYyLCA2NSwgMjYyLCA2NiwgMjYyLCA2NywgMjYyLCA2OCwgCi0gICAgMjYyLCA2OSwgMjYyLCA3MCwgMjYyLCA3MSwgMjYyLCA3MiwgMjYyLCA3MywgMjYyLCA3NCwgMjYyLCA3NSwgMjYyLCA3NiwgCi0gICAgMjYyLCA3NywgMjYyLCA3OCwgMjYyLCA3OSwgMjYyLCA4MCwgMjYyLCA4MSwgMjYyLCA4MiwgMjYyLCA4MywgMjYyLCA4NCwgCi0gICAgMjYyLCA4NSwgMjYyLCA4NiwgMjYyLCA4NywgMjYyLCA4OCwgMjYyLCA4OSwgMjYyLCA5MCwgMjYyLCA5NywgMjYyLCA5OCwgCi0gICAgMjYyLCA5OSwgMjYyLCAxMDAsIDI2MiwgMTAxLCAyNjIsIDEwMiwgMjYyLCAxMDMsIDI2MiwgMTA0LCAyNjIsIDEwNSwgMjYyLCAKLSAgICAxMDYsIDI2MiwgMTA3LCAyNjIsIDEwOCwgMjYyLCAxMDksIDI2MiwgMTEwLCAyNjIsIDExMSwgMjYyLCAxMTIsIDI2MiwgCi0gICAgMTEzLCAyNjIsIDExNCwgMjYyLCAxMTUsIDI2MiwgMTE2LCAyNjIsIDExNywgMjYyLCAxMTgsIDI2MiwgMTE5LCAyNjIsIAotICAgIDEyMCwgMjYyLCAxMjEsIDI2MiwgMTIyLCAyNjIsIDY1LCAyNjIsIDY2LCAyNjIsIDY4LCAyNjIsIDY5LCAyNjIsIDcwLCAKLSAgICAyNjIsIDcxLCAyNjIsIDc0LCAyNjIsIDc1LCAyNjIsIDc2LCAyNjIsIDc3LCAyNjIsIDc4LCAyNjIsIDc5LCAyNjIsIDgwLCAKKyAgICAyNjIsIDY1LCAyNjIsIDY2LCAyNjIsIDY3LCAyNjIsIDY4LCAyNjIsIDY5LCAyNjIsIDcwLCAyNjIsIDcxLCAyNjIsIDcyLCAKKyAgICAyNjIsIDczLCAyNjIsIDc0LCAyNjIsIDc1LCAyNjIsIDc2LCAyNjIsIDc3LCAyNjIsIDc4LCAyNjIsIDc5LCAyNjIsIDgwLCAKKyAgICAyNjIsIDgxLCAyNjIsIDgyLCAyNjIsIDgzLCAyNjIsIDg0LCAyNjIsIDg1LCAyNjIsIDg2LCAyNjIsIDg3LCAyNjIsIDg4LCAKKyAgICAyNjIsIDg5LCAyNjIsIDkwLCAyNjIsIDk3LCAyNjIsIDk4LCAyNjIsIDk5LCAyNjIsIDEwMCwgMjYyLCAxMDEsIDI2MiwgCisgICAgMTAyLCAyNjIsIDEwMywgMjYyLCAxMDQsIDI2MiwgMTA1LCAyNjIsIDEwNiwgMjYyLCAxMDcsIDI2MiwgMTA4LCAyNjIsIAorICAgIDEwOSwgMjYyLCAxMTAsIDI2MiwgMTExLCAyNjIsIDExMiwgMjYyLCAxMTMsIDI2MiwgMTE0LCAyNjIsIDExNSwgMjYyLCAKKyAgICAxMTYsIDI2MiwgMTE3LCAyNjIsIDExOCwgMjYyLCAxMTksIDI2MiwgMTIwLCAyNjIsIDEyMSwgMjYyLCAxMjIsIDI2MiwgNjUsIAorICAgIDI2MiwgNjcsIDI2MiwgNjgsIDI2MiwgNzEsIDI2MiwgNzQsIDI2MiwgNzUsIDI2MiwgNzgsIDI2MiwgNzksIDI2MiwgODAsIAogICAgIDI2MiwgODEsIDI2MiwgODMsIDI2MiwgODQsIDI2MiwgODUsIDI2MiwgODYsIDI2MiwgODcsIDI2MiwgODgsIDI2MiwgODksIAotICAgIDI2MiwgOTcsIDI2MiwgOTgsIDI2MiwgOTksIDI2MiwgMTAwLCAyNjIsIDEwMSwgMjYyLCAxMDIsIDI2MiwgMTAzLCAyNjIsIAotICAgIDEwNCwgMjYyLCAxMDUsIDI2MiwgMTA2LCAyNjIsIDEwNywgMjYyLCAxMDgsIDI2MiwgMTA5LCAyNjIsIDExMCwgMjYyLCAKLSAgICAxMTEsIDI2MiwgMTEyLCAyNjIsIDExMywgMjYyLCAxMTQsIDI2MiwgMTE1LCAyNjIsIDExNiwgMjYyLCAxMTcsIDI2MiwgCi0gICAgMTE4LCAyNjIsIDExOSwgMjYyLCAxMjAsIDI2MiwgMTIxLCAyNjIsIDEyMiwgMjYyLCA2NSwgMjYyLCA2NiwgMjYyLCA2OCwgCi0gICAgMjYyLCA2OSwgMjYyLCA3MCwgMjYyLCA3MSwgMjYyLCA3MywgMjYyLCA3NCwgMjYyLCA3NSwgMjYyLCA3NiwgMjYyLCA3NywgCi0gICAgMjYyLCA3OSwgMjYyLCA4MywgMjYyLCA4NCwgMjYyLCA4NSwgMjYyLCA4NiwgMjYyLCA4NywgMjYyLCA4OCwgMjYyLCA4OSwgCi0gICAgMjYyLCA5NywgMjYyLCA5OCwgMjYyLCA5OSwgMjYyLCAxMDAsIDI2MiwgMTAxLCAyNjIsIDEwMiwgMjYyLCAxMDMsIDI2MiwgCi0gICAgMTA0LCAyNjIsIDEwNSwgMjYyLCAxMDYsIDI2MiwgMTA3LCAyNjIsIDEwOCwgMjYyLCAxMDksIDI2MiwgMTEwLCAyNjIsIAotICAgIDExMSwgMjYyLCAxMTIsIDI2MiwgMTEzLCAyNjIsIDExNCwgMjYyLCAxMTUsIDI2MiwgMTE2LCAyNjIsIDExNywgMjYyLCAKLSAgICAxMTgsIDI2MiwgMTE5LCAyNjIsIDEyMCwgMjYyLCAxMjEsIDI2MiwgMTIyLCAyNjIsIDY1LCAyNjIsIDY2LCAyNjIsIDY3LCAKLSAgICAyNjIsIDY4LCAyNjIsIDY5LCAyNjIsIDcwLCAyNjIsIDcxLCAyNjIsIDcyLCAyNjIsIDczLCAyNjIsIDc0LCAyNjIsIDc1LCAKLSAgICAyNjIsIDc2LCAyNjIsIDc3LCAyNjIsIDc4LCAyNjIsIDc5LCAyNjIsIDgwLCAyNjIsIDgxLCAyNjIsIDgyLCAyNjIsIDgzLCAKLSAgICAyNjIsIDg0LCAyNjIsIDg1LCAyNjIsIDg2LCAyNjIsIDg3LCAyNjIsIDg4LCAyNjIsIDg5LCAyNjIsIDkwLCAyNjIsIDk3LCAKKyAgICAyNjIsIDkwLCAyNjIsIDk3LCAyNjIsIDk4LCAyNjIsIDk5LCAyNjIsIDEwMCwgMjYyLCAxMDIsIDI2MiwgMTA0LCAyNjIsIAorICAgIDEwNSwgMjYyLCAxMDYsIDI2MiwgMTA3LCAyNjIsIDEwOCwgMjYyLCAxMDksIDI2MiwgMTEwLCAyNjIsIDExMiwgMjYyLCAKKyAgICAxMTMsIDI2MiwgMTE0LCAyNjIsIDExNSwgMjYyLCAxMTYsIDI2MiwgMTE3LCAyNjIsIDExOCwgMjYyLCAxMTksIDI2MiwgCisgICAgMTIwLCAyNjIsIDEyMSwgMjYyLCAxMjIsIDI2MiwgNjUsIDI2MiwgNjYsIDI2MiwgNjcsIDI2MiwgNjgsIDI2MiwgNjksIAorICAgIDI2MiwgNzAsIDI2MiwgNzEsIDI2MiwgNzIsIDI2MiwgNzMsIDI2MiwgNzQsIDI2MiwgNzUsIDI2MiwgNzYsIDI2MiwgNzcsIAorICAgIDI2MiwgNzgsIDI2MiwgNzksIDI2MiwgODAsIDI2MiwgODEsIDI2MiwgODIsIDI2MiwgODMsIDI2MiwgODQsIDI2MiwgODUsIAorICAgIDI2MiwgODYsIDI2MiwgODcsIDI2MiwgODgsIDI2MiwgODksIDI2MiwgOTAsIDI2MiwgOTcsIDI2MiwgOTgsIDI2MiwgOTksIAorICAgIDI2MiwgMTAwLCAyNjIsIDEwMSwgMjYyLCAxMDIsIDI2MiwgMTAzLCAyNjIsIDEwNCwgMjYyLCAxMDUsIDI2MiwgMTA2LCAKKyAgICAyNjIsIDEwNywgMjYyLCAxMDgsIDI2MiwgMTA5LCAyNjIsIDExMCwgMjYyLCAxMTEsIDI2MiwgMTEyLCAyNjIsIDExMywgCisgICAgMjYyLCAxMTQsIDI2MiwgMTE1LCAyNjIsIDExNiwgMjYyLCAxMTcsIDI2MiwgMTE4LCAyNjIsIDExOSwgMjYyLCAxMjAsIAorICAgIDI2MiwgMTIxLCAyNjIsIDEyMiwgMjYyLCA2NSwgMjYyLCA2NiwgMjYyLCA2OCwgMjYyLCA2OSwgMjYyLCA3MCwgMjYyLCA3MSwgCisgICAgMjYyLCA3NCwgMjYyLCA3NSwgMjYyLCA3NiwgMjYyLCA3NywgMjYyLCA3OCwgMjYyLCA3OSwgMjYyLCA4MCwgMjYyLCA4MSwgCisgICAgMjYyLCA4MywgMjYyLCA4NCwgMjYyLCA4NSwgMjYyLCA4NiwgMjYyLCA4NywgMjYyLCA4OCwgMjYyLCA4OSwgMjYyLCA5NywgCisgICAgMjYyLCA5OCwgMjYyLCA5OSwgMjYyLCAxMDAsIDI2MiwgMTAxLCAyNjIsIDEwMiwgMjYyLCAxMDMsIDI2MiwgMTA0LCAyNjIsIAorICAgIDEwNSwgMjYyLCAxMDYsIDI2MiwgMTA3LCAyNjIsIDEwOCwgMjYyLCAxMDksIDI2MiwgMTEwLCAyNjIsIDExMSwgMjYyLCAKKyAgICAxMTIsIDI2MiwgMTEzLCAyNjIsIDExNCwgMjYyLCAxMTUsIDI2MiwgMTE2LCAyNjIsIDExNywgMjYyLCAxMTgsIDI2MiwgCisgICAgMTE5LCAyNjIsIDEyMCwgMjYyLCAxMjEsIDI2MiwgMTIyLCAyNjIsIDY1LCAyNjIsIDY2LCAyNjIsIDY4LCAyNjIsIDY5LCAKKyAgICAyNjIsIDcwLCAyNjIsIDcxLCAyNjIsIDczLCAyNjIsIDc0LCAyNjIsIDc1LCAyNjIsIDc2LCAyNjIsIDc3LCAyNjIsIDc5LCAKKyAgICAyNjIsIDgzLCAyNjIsIDg0LCAyNjIsIDg1LCAyNjIsIDg2LCAyNjIsIDg3LCAyNjIsIDg4LCAyNjIsIDg5LCAyNjIsIDk3LCAKICAgICAyNjIsIDk4LCAyNjIsIDk5LCAyNjIsIDEwMCwgMjYyLCAxMDEsIDI2MiwgMTAyLCAyNjIsIDEwMywgMjYyLCAxMDQsIDI2MiwgCiAgICAgMTA1LCAyNjIsIDEwNiwgMjYyLCAxMDcsIDI2MiwgMTA4LCAyNjIsIDEwOSwgMjYyLCAxMTAsIDI2MiwgMTExLCAyNjIsIAogICAgIDExMiwgMjYyLCAxMTMsIDI2MiwgMTE0LCAyNjIsIDExNSwgMjYyLCAxMTYsIDI2MiwgMTE3LCAyNjIsIDExOCwgMjYyLCAKQEAgLTM1MzYsMzMgKzM4MjIsMTUgQEAKICAgICAyNjIsIDg5LCAyNjIsIDkwLCAyNjIsIDk3LCAyNjIsIDk4LCAyNjIsIDk5LCAyNjIsIDEwMCwgMjYyLCAxMDEsIDI2MiwgCiAgICAgMTAyLCAyNjIsIDEwMywgMjYyLCAxMDQsIDI2MiwgMTA1LCAyNjIsIDEwNiwgMjYyLCAxMDcsIDI2MiwgMTA4LCAyNjIsIAogICAgIDEwOSwgMjYyLCAxMTAsIDI2MiwgMTExLCAyNjIsIDExMiwgMjYyLCAxMTMsIDI2MiwgMTE0LCAyNjIsIDExNSwgMjYyLCAKLSAgICAxMTYsIDI2MiwgMTE3LCAyNjIsIDExOCwgMjYyLCAxMTksIDI2MiwgMTIwLCAyNjIsIDEyMSwgMjYyLCAxMjIsIDI2MiwgCi0gICAgMzA1LCAyNjIsIDU2NywgMjYyLCA5MTMsIDI2MiwgOTE0LCAyNjIsIDkxNSwgMjYyLCA5MTYsIDI2MiwgOTE3LCAyNjIsIAotICAgIDkxOCwgMjYyLCA5MTksIDI2MiwgOTIwLCAyNjIsIDkyMSwgMjYyLCA5MjIsIDI2MiwgOTIzLCAyNjIsIDkyNCwgMjYyLCAKLSAgICA5MjUsIDI2MiwgOTI2LCAyNjIsIDkyNywgMjYyLCA5MjgsIDI2MiwgOTI5LCAyNjIsIDEwMTIsIDI2MiwgOTMxLCAyNjIsIAotICAgIDkzMiwgMjYyLCA5MzMsIDI2MiwgOTM0LCAyNjIsIDkzNSwgMjYyLCA5MzYsIDI2MiwgOTM3LCAyNjIsIDg3MTEsIDI2MiwgCi0gICAgOTQ1LCAyNjIsIDk0NiwgMjYyLCA5NDcsIDI2MiwgOTQ4LCAyNjIsIDk0OSwgMjYyLCA5NTAsIDI2MiwgOTUxLCAyNjIsIAotICAgIDk1MiwgMjYyLCA5NTMsIDI2MiwgOTU0LCAyNjIsIDk1NSwgMjYyLCA5NTYsIDI2MiwgOTU3LCAyNjIsIDk1OCwgMjYyLCAKLSAgICA5NTksIDI2MiwgOTYwLCAyNjIsIDk2MSwgMjYyLCA5NjIsIDI2MiwgOTYzLCAyNjIsIDk2NCwgMjYyLCA5NjUsIDI2MiwgCi0gICAgOTY2LCAyNjIsIDk2NywgMjYyLCA5NjgsIDI2MiwgOTY5LCAyNjIsIDg3MDYsIDI2MiwgMTAxMywgMjYyLCA5NzcsIDI2MiwgCi0gICAgMTAwOCwgMjYyLCA5ODEsIDI2MiwgMTAwOSwgMjYyLCA5ODIsIDI2MiwgOTEzLCAyNjIsIDkxNCwgMjYyLCA5MTUsIDI2MiwgCi0gICAgOTE2LCAyNjIsIDkxNywgMjYyLCA5MTgsIDI2MiwgOTE5LCAyNjIsIDkyMCwgMjYyLCA5MjEsIDI2MiwgOTIyLCAyNjIsIAotICAgIDkyMywgMjYyLCA5MjQsIDI2MiwgOTI1LCAyNjIsIDkyNiwgMjYyLCA5MjcsIDI2MiwgOTI4LCAyNjIsIDkyOSwgMjYyLCAKLSAgICAxMDEyLCAyNjIsIDkzMSwgMjYyLCA5MzIsIDI2MiwgOTMzLCAyNjIsIDkzNCwgMjYyLCA5MzUsIDI2MiwgOTM2LCAyNjIsIAotICAgIDkzNywgMjYyLCA4NzExLCAyNjIsIDk0NSwgMjYyLCA5NDYsIDI2MiwgOTQ3LCAyNjIsIDk0OCwgMjYyLCA5NDksIDI2MiwgCi0gICAgOTUwLCAyNjIsIDk1MSwgMjYyLCA5NTIsIDI2MiwgOTUzLCAyNjIsIDk1NCwgMjYyLCA5NTUsIDI2MiwgOTU2LCAyNjIsIAotICAgIDk1NywgMjYyLCA5NTgsIDI2MiwgOTU5LCAyNjIsIDk2MCwgMjYyLCA5NjEsIDI2MiwgOTYyLCAyNjIsIDk2MywgMjYyLCAKLSAgICA5NjQsIDI2MiwgOTY1LCAyNjIsIDk2NiwgMjYyLCA5NjcsIDI2MiwgOTY4LCAyNjIsIDk2OSwgMjYyLCA4NzA2LCAyNjIsIAotICAgIDEwMTMsIDI2MiwgOTc3LCAyNjIsIDEwMDgsIDI2MiwgOTgxLCAyNjIsIDEwMDksIDI2MiwgOTgyLCAyNjIsIDkxMywgMjYyLCAKLSAgICA5MTQsIDI2MiwgOTE1LCAyNjIsIDkxNiwgMjYyLCA5MTcsIDI2MiwgOTE4LCAyNjIsIDkxOSwgMjYyLCA5MjAsIDI2MiwgCi0gICAgOTIxLCAyNjIsIDkyMiwgMjYyLCA5MjMsIDI2MiwgOTI0LCAyNjIsIDkyNSwgMjYyLCA5MjYsIDI2MiwgOTI3LCAyNjIsIAotICAgIDkyOCwgMjYyLCA5MjksIDI2MiwgMTAxMiwgMjYyLCA5MzEsIDI2MiwgOTMyLCAyNjIsIDkzMywgMjYyLCA5MzQsIDI2MiwgCi0gICAgOTM1LCAyNjIsIDkzNiwgMjYyLCA5MzcsIDI2MiwgODcxMSwgMjYyLCA5NDUsIDI2MiwgOTQ2LCAyNjIsIDk0NywgMjYyLCAKLSAgICA5NDgsIDI2MiwgOTQ5LCAyNjIsIDk1MCwgMjYyLCA5NTEsIDI2MiwgOTUyLCAyNjIsIDk1MywgMjYyLCA5NTQsIDI2MiwgCi0gICAgOTU1LCAyNjIsIDk1NiwgMjYyLCA5NTcsIDI2MiwgOTU4LCAyNjIsIDk1OSwgMjYyLCA5NjAsIDI2MiwgOTYxLCAyNjIsIAotICAgIDk2MiwgMjYyLCA5NjMsIDI2MiwgOTY0LCAyNjIsIDk2NSwgMjYyLCA5NjYsIDI2MiwgOTY3LCAyNjIsIDk2OCwgMjYyLCAKLSAgICA5NjksIDI2MiwgODcwNiwgMjYyLCAxMDEzLCAyNjIsIDk3NywgMjYyLCAxMDA4LCAyNjIsIDk4MSwgMjYyLCAxMDA5LCAyNjIsIAotICAgIDk4MiwgMjYyLCA5MTMsIDI2MiwgOTE0LCAyNjIsIDkxNSwgMjYyLCA5MTYsIDI2MiwgOTE3LCAyNjIsIDkxOCwgMjYyLCAKKyAgICAxMTYsIDI2MiwgMTE3LCAyNjIsIDExOCwgMjYyLCAxMTksIDI2MiwgMTIwLCAyNjIsIDEyMSwgMjYyLCAxMjIsIDI2MiwgNjUsIAorICAgIDI2MiwgNjYsIDI2MiwgNjcsIDI2MiwgNjgsIDI2MiwgNjksIDI2MiwgNzAsIDI2MiwgNzEsIDI2MiwgNzIsIDI2MiwgNzMsIAorICAgIDI2MiwgNzQsIDI2MiwgNzUsIDI2MiwgNzYsIDI2MiwgNzcsIDI2MiwgNzgsIDI2MiwgNzksIDI2MiwgODAsIDI2MiwgODEsIAorICAgIDI2MiwgODIsIDI2MiwgODMsIDI2MiwgODQsIDI2MiwgODUsIDI2MiwgODYsIDI2MiwgODcsIDI2MiwgODgsIDI2MiwgODksIAorICAgIDI2MiwgOTAsIDI2MiwgOTcsIDI2MiwgOTgsIDI2MiwgOTksIDI2MiwgMTAwLCAyNjIsIDEwMSwgMjYyLCAxMDIsIDI2MiwgCisgICAgMTAzLCAyNjIsIDEwNCwgMjYyLCAxMDUsIDI2MiwgMTA2LCAyNjIsIDEwNywgMjYyLCAxMDgsIDI2MiwgMTA5LCAyNjIsIAorICAgIDExMCwgMjYyLCAxMTEsIDI2MiwgMTEyLCAyNjIsIDExMywgMjYyLCAxMTQsIDI2MiwgMTE1LCAyNjIsIDExNiwgMjYyLCAKKyAgICAxMTcsIDI2MiwgMTE4LCAyNjIsIDExOSwgMjYyLCAxMjAsIDI2MiwgMTIxLCAyNjIsIDEyMiwgMjYyLCAzMDUsIDI2MiwgCisgICAgNTY3LCAyNjIsIDkxMywgMjYyLCA5MTQsIDI2MiwgOTE1LCAyNjIsIDkxNiwgMjYyLCA5MTcsIDI2MiwgOTE4LCAyNjIsIAogICAgIDkxOSwgMjYyLCA5MjAsIDI2MiwgOTIxLCAyNjIsIDkyMiwgMjYyLCA5MjMsIDI2MiwgOTI0LCAyNjIsIDkyNSwgMjYyLCAKICAgICA5MjYsIDI2MiwgOTI3LCAyNjIsIDkyOCwgMjYyLCA5MjksIDI2MiwgMTAxMiwgMjYyLCA5MzEsIDI2MiwgOTMyLCAyNjIsIAogICAgIDkzMywgMjYyLCA5MzQsIDI2MiwgOTM1LCAyNjIsIDkzNiwgMjYyLCA5MzcsIDI2MiwgODcxMSwgMjYyLCA5NDUsIDI2MiwgCkBAIC0zNTc4LDMzOSArMzg0Niw1NDYgQEAKICAgICA5NTEsIDI2MiwgOTUyLCAyNjIsIDk1MywgMjYyLCA5NTQsIDI2MiwgOTU1LCAyNjIsIDk1NiwgMjYyLCA5NTcsIDI2MiwgCiAgICAgOTU4LCAyNjIsIDk1OSwgMjYyLCA5NjAsIDI2MiwgOTYxLCAyNjIsIDk2MiwgMjYyLCA5NjMsIDI2MiwgOTY0LCAyNjIsIAogICAgIDk2NSwgMjYyLCA5NjYsIDI2MiwgOTY3LCAyNjIsIDk2OCwgMjYyLCA5NjksIDI2MiwgODcwNiwgMjYyLCAxMDEzLCAyNjIsIAotICAgIDk3NywgMjYyLCAxMDA4LCAyNjIsIDk4MSwgMjYyLCAxMDA5LCAyNjIsIDk4MiwgMjYyLCA5ODgsIDI2MiwgOTg5LCAyNjIsIAotICAgIDQ4LCAyNjIsIDQ5LCAyNjIsIDUwLCAyNjIsIDUxLCAyNjIsIDUyLCAyNjIsIDUzLCAyNjIsIDU0LCAyNjIsIDU1LCAyNjIsIAotICAgIDU2LCAyNjIsIDU3LCAyNjIsIDQ4LCAyNjIsIDQ5LCAyNjIsIDUwLCAyNjIsIDUxLCAyNjIsIDUyLCAyNjIsIDUzLCAyNjIsIAotICAgIDU0LCAyNjIsIDU1LCAyNjIsIDU2LCAyNjIsIDU3LCAyNjIsIDQ4LCAyNjIsIDQ5LCAyNjIsIDUwLCAyNjIsIDUxLCAyNjIsIAotICAgIDUyLCAyNjIsIDUzLCAyNjIsIDU0LCAyNjIsIDU1LCAyNjIsIDU2LCAyNjIsIDU3LCAyNjIsIDQ4LCAyNjIsIDQ5LCAyNjIsIAotICAgIDUwLCAyNjIsIDUxLCAyNjIsIDUyLCAyNjIsIDUzLCAyNjIsIDU0LCAyNjIsIDU1LCAyNjIsIDU2LCAyNjIsIDU3LCAyNjIsIAotICAgIDQ4LCAyNjIsIDQ5LCAyNjIsIDUwLCAyNjIsIDUxLCAyNjIsIDUyLCAyNjIsIDUzLCAyNjIsIDU0LCAyNjIsIDU1LCAyNjIsIAotICAgIDU2LCAyNjIsIDU3LCAyNjIsIDE1NzUsIDI2MiwgMTU3NiwgMjYyLCAxNTgwLCAyNjIsIDE1ODMsIDI2MiwgMTYwOCwgMjYyLCAKLSAgICAxNTg2LCAyNjIsIDE1ODEsIDI2MiwgMTU5MSwgMjYyLCAxNjEwLCAyNjIsIDE2MDMsIDI2MiwgMTYwNCwgMjYyLCAxNjA1LCAKLSAgICAyNjIsIDE2MDYsIDI2MiwgMTU4NywgMjYyLCAxNTkzLCAyNjIsIDE2MDEsIDI2MiwgMTU4OSwgMjYyLCAxNjAyLCAyNjIsIAotICAgIDE1ODUsIDI2MiwgMTU4OCwgMjYyLCAxNTc4LCAyNjIsIDE1NzksIDI2MiwgMTU4MiwgMjYyLCAxNTg0LCAyNjIsIDE1OTAsIAotICAgIDI2MiwgMTU5MiwgMjYyLCAxNTk0LCAyNjIsIDE2NDYsIDI2MiwgMTcyMiwgMjYyLCAxNjk3LCAyNjIsIDE2NDcsIDI2MiwgCi0gICAgMTU3NiwgMjYyLCAxNTgwLCAyNjIsIDE2MDcsIDI2MiwgMTU4MSwgMjYyLCAxNjEwLCAyNjIsIDE2MDMsIDI2MiwgMTYwNCwgCi0gICAgMjYyLCAxNjA1LCAyNjIsIDE2MDYsIDI2MiwgMTU4NywgMjYyLCAxNTkzLCAyNjIsIDE2MDEsIDI2MiwgMTU4OSwgMjYyLCAKLSAgICAxNjAyLCAyNjIsIDE1ODgsIDI2MiwgMTU3OCwgMjYyLCAxNTc5LCAyNjIsIDE1ODIsIDI2MiwgMTU5MCwgMjYyLCAxNTk0LCAKLSAgICAyNjIsIDE1ODAsIDI2MiwgMTU4MSwgMjYyLCAxNjEwLCAyNjIsIDE2MDQsIDI2MiwgMTYwNiwgMjYyLCAxNTg3LCAyNjIsIAotICAgIDE1OTMsIDI2MiwgMTU4OSwgMjYyLCAxNjAyLCAyNjIsIDE1ODgsIDI2MiwgMTU4MiwgMjYyLCAxNTkwLCAyNjIsIDE1OTQsIAotICAgIDI2MiwgMTcyMiwgMjYyLCAxNjQ3LCAyNjIsIDE1NzYsIDI2MiwgMTU4MCwgMjYyLCAxNjA3LCAyNjIsIDE1ODEsIDI2MiwgCi0gICAgMTU5MSwgMjYyLCAxNjEwLCAyNjIsIDE2MDMsIDI2MiwgMTYwNSwgMjYyLCAxNjA2LCAyNjIsIDE1ODcsIDI2MiwgMTU5MywgCi0gICAgMjYyLCAxNjAxLCAyNjIsIDE1ODksIDI2MiwgMTYwMiwgMjYyLCAxNTg4LCAyNjIsIDE1NzgsIDI2MiwgMTU3OSwgMjYyLCAKLSAgICAxNTgyLCAyNjIsIDE1OTAsIDI2MiwgMTU5MiwgMjYyLCAxNTk0LCAyNjIsIDE2NDYsIDI2MiwgMTY5NywgMjYyLCAxNTc1LCAKLSAgICAyNjIsIDE1NzYsIDI2MiwgMTU4MCwgMjYyLCAxNTgzLCAyNjIsIDE2MDcsIDI2MiwgMTYwOCwgMjYyLCAxNTg2LCAyNjIsIAotICAgIDE1ODEsIDI2MiwgMTU5MSwgMjYyLCAxNjEwLCAyNjIsIDE2MDQsIDI2MiwgMTYwNSwgMjYyLCAxNjA2LCAyNjIsIDE1ODcsIAotICAgIDI2MiwgMTU5MywgMjYyLCAxNjAxLCAyNjIsIDE1ODksIDI2MiwgMTYwMiwgMjYyLCAxNTg1LCAyNjIsIDE1ODgsIDI2MiwgCi0gICAgMTU3OCwgMjYyLCAxNTc5LCAyNjIsIDE1ODIsIDI2MiwgMTU4NCwgMjYyLCAxNTkwLCAyNjIsIDE1OTIsIDI2MiwgMTU5NCwgCi0gICAgMjYyLCAxNTc2LCAyNjIsIDE1ODAsIDI2MiwgMTU4MywgMjYyLCAxNjA4LCAyNjIsIDE1ODYsIDI2MiwgMTU4MSwgMjYyLCAKLSAgICAxNTkxLCAyNjIsIDE2MTAsIDI2MiwgMTYwNCwgMjYyLCAxNjA1LCAyNjIsIDE2MDYsIDI2MiwgMTU4NywgMjYyLCAxNTkzLCAKLSAgICAyNjIsIDE2MDEsIDI2MiwgMTU4OSwgMjYyLCAxNjAyLCAyNjIsIDE1ODUsIDI2MiwgMTU4OCwgMjYyLCAxNTc4LCAyNjIsIAotICAgIDE1NzksIDI2MiwgMTU4MiwgMjYyLCAxNTg0LCAyNjIsIDE1OTAsIDI2MiwgMTU5MiwgMjYyLCAxNTk0LCA1MTQsIDQ4LCA0NiwgCi0gICAgNTE0LCA0OCwgNDQsIDUxNCwgNDksIDQ0LCA1MTQsIDUwLCA0NCwgNTE0LCA1MSwgNDQsIDUxNCwgNTIsIDQ0LCA1MTQsIDUzLCAKLSAgICA0NCwgNTE0LCA1NCwgNDQsIDUxNCwgNTUsIDQ0LCA1MTQsIDU2LCA0NCwgNTE0LCA1NywgNDQsIDc3MCwgNDAsIDY1LCA0MSwgCi0gICAgNzcwLCA0MCwgNjYsIDQxLCA3NzAsIDQwLCA2NywgNDEsIDc3MCwgNDAsIDY4LCA0MSwgNzcwLCA0MCwgNjksIDQxLCA3NzAsIAotICAgIDQwLCA3MCwgNDEsIDc3MCwgNDAsIDcxLCA0MSwgNzcwLCA0MCwgNzIsIDQxLCA3NzAsIDQwLCA3MywgNDEsIDc3MCwgNDAsIAotICAgIDc0LCA0MSwgNzcwLCA0MCwgNzUsIDQxLCA3NzAsIDQwLCA3NiwgNDEsIDc3MCwgNDAsIDc3LCA0MSwgNzcwLCA0MCwgNzgsIAotICAgIDQxLCA3NzAsIDQwLCA3OSwgNDEsIDc3MCwgNDAsIDgwLCA0MSwgNzcwLCA0MCwgODEsIDQxLCA3NzAsIDQwLCA4MiwgNDEsIAotICAgIDc3MCwgNDAsIDgzLCA0MSwgNzcwLCA0MCwgODQsIDQxLCA3NzAsIDQwLCA4NSwgNDEsIDc3MCwgNDAsIDg2LCA0MSwgNzcwLCAKLSAgICA0MCwgODcsIDQxLCA3NzAsIDQwLCA4OCwgNDEsIDc3MCwgNDAsIDg5LCA0MSwgNzcwLCA0MCwgOTAsIDQxLCA3NzAsIAotICAgIDEyMzA4LCA4MywgMTIzMDksIDI2MywgNjcsIDI2MywgODIsIDUxOSwgNjcsIDY4LCA1MTksIDg3LCA5MCwgMjY2LCA2NSwgCi0gICAgMjY2LCA2NiwgMjY2LCA2NywgMjY2LCA2OCwgMjY2LCA2OSwgMjY2LCA3MCwgMjY2LCA3MSwgMjY2LCA3MiwgMjY2LCA3MywgCi0gICAgMjY2LCA3NCwgMjY2LCA3NSwgMjY2LCA3NiwgMjY2LCA3NywgMjY2LCA3OCwgMjY2LCA3OSwgMjY2LCA4MCwgMjY2LCA4MSwgCi0gICAgMjY2LCA4MiwgMjY2LCA4MywgMjY2LCA4NCwgMjY2LCA4NSwgMjY2LCA4NiwgMjY2LCA4NywgMjY2LCA4OCwgMjY2LCA4OSwgCi0gICAgMjY2LCA5MCwgNTIyLCA3MiwgODYsIDUyMiwgNzcsIDg2LCA1MjIsIDgzLCA2OCwgNTIyLCA4MywgODMsIDc3OCwgODAsIDgwLCAKLSAgICA4NiwgNTIyLCA4NywgNjcsIDUxNSwgNzcsIDY3LCA1MTUsIDc3LCA2OCwgNTIyLCA2OCwgNzQsIDUyMiwgMTI0MTEsIAotICAgIDEyMzYzLCA1MjIsIDEyNDY3LCAxMjQ2NywgMjY2LCAxMjQ2OSwgMjY2LCAyNTE2MywgMjY2LCAyMzM4MywgMjY2LCAyMTQ1MiwgCi0gICAgMjY2LCAxMjQ4NywgMjY2LCAyMDEwOCwgMjY2LCAyMjgxMCwgMjY2LCAzNTI5OSwgMjY2LCAyMjgyNSwgMjY2LCAyMDEzMiwgCi0gICAgMjY2LCAyNjE0NCwgMjY2LCAyODk2MSwgMjY2LCAyNjAwOSwgMjY2LCAyMTA2OSwgMjY2LCAyNDQ2MCwgMjY2LCAyMDg3NywgCi0gICAgMjY2LCAyNjAzMiwgMjY2LCAyMTAyMSwgMjY2LCAzMjA2NiwgMjY2LCAyOTk4MywgMjY2LCAzNjAwOSwgMjY2LCAyMjc2OCwgCi0gICAgMjY2LCAyMTU2MSwgMjY2LCAyODQzNiwgMjY2LCAyNTIzNywgMjY2LCAyNTQyOSwgMjY2LCAxOTk2OCwgMjY2LCAxOTk3NywgCi0gICAgMjY2LCAzNjkzOCwgMjY2LCAyNDAzOCwgMjY2LCAyMDAxMywgMjY2LCAyMTQ5MSwgMjY2LCAyNTM1MSwgMjY2LCAzNjIwOCwgCi0gICAgMjY2LCAyNTE3MSwgMjY2LCAzMTEwNSwgMjY2LCAzMTM1NCwgMjY2LCAyMTUxMiwgMjY2LCAyODI4OCwgMjY2LCAyNjM3NywgCi0gICAgMjY2LCAyNjM3NiwgMjY2LCAzMDAwMywgMjY2LCAyMTEwNiwgMjY2LCAyMTk0MiwgNzcwLCAxMjMwOCwgMjY0MTIsIDEyMzA5LCAKLSAgICA3NzAsIDEyMzA4LCAxOTk3NywgMTIzMDksIDc3MCwgMTIzMDgsIDIwMTA4LCAxMjMwOSwgNzcwLCAxMjMwOCwgMjM0MzMsIAotICAgIDEyMzA5LCA3NzAsIDEyMzA4LCAyODg1NywgMTIzMDksIDc3MCwgMTIzMDgsIDI1MTcxLCAxMjMwOSwgNzcwLCAxMjMwOCwgCi0gICAgMzA0MjMsIDEyMzA5LCA3NzAsIDEyMzA4LCAyMTIxMywgMTIzMDksIDc3MCwgMTIzMDgsIDI1OTQzLCAxMjMwOSwgMjYzLCAKLSAgICAyNDQ3MSwgMjYzLCAyMTQ4NywgMjU2LCAyMDAyOSwgMjU2LCAyMDAyNCwgMjU2LCAyMDAzMywgMjU2LCAxMzEzNjIsIDI1NiwgCi0gICAgMjAzMjAsIDI1NiwgMjAzOTgsIDI1NiwgMjA0MTEsIDI1NiwgMjA0ODIsIDI1NiwgMjA2MDIsIDI1NiwgMjA2MzMsIDI1NiwgCi0gICAgMjA3MTEsIDI1NiwgMjA2ODcsIDI1NiwgMTM0NzAsIDI1NiwgMTMyNjY2LCAyNTYsIDIwODEzLCAyNTYsIDIwODIwLCAyNTYsIAotICAgIDIwODM2LCAyNTYsIDIwODU1LCAyNTYsIDEzMjM4MCwgMjU2LCAxMzQ5NywgMjU2LCAyMDgzOSwgMjU2LCAyMDg3NywgMjU2LCAKLSAgICAxMzI0MjcsIDI1NiwgMjA4ODcsIDI1NiwgMjA5MDAsIDI1NiwgMjAxNzIsIDI1NiwgMjA5MDgsIDI1NiwgMjA5MTcsIDI1NiwgCi0gICAgMTY4NDE1LCAyNTYsIDIwOTgxLCAyNTYsIDIwOTk1LCAyNTYsIDEzNTM1LCAyNTYsIDIxMDUxLCAyNTYsIDIxMDYyLCAyNTYsIAotICAgIDIxMTA2LCAyNTYsIDIxMTExLCAyNTYsIDEzNTg5LCAyNTYsIDIxMTkxLCAyNTYsIDIxMTkzLCAyNTYsIDIxMjIwLCAyNTYsIAotICAgIDIxMjQyLCAyNTYsIDIxMjUzLCAyNTYsIDIxMjU0LCAyNTYsIDIxMjcxLCAyNTYsIDIxMzIxLCAyNTYsIDIxMzI5LCAyNTYsIAotICAgIDIxMzM4LCAyNTYsIDIxMzYzLCAyNTYsIDIxMzczLCAyNTYsIDIxMzc1LCAyNTYsIDIxMzc1LCAyNTYsIDIxMzc1LCAyNTYsIAotICAgIDEzMzY3NiwgMjU2LCAyODc4NCwgMjU2LCAyMTQ1MCwgMjU2LCAyMTQ3MSwgMjU2LCAxMzM5ODcsIDI1NiwgMjE0ODMsIDI1NiwgCi0gICAgMjE0ODksIDI1NiwgMjE1MTAsIDI1NiwgMjE2NjIsIDI1NiwgMjE1NjAsIDI1NiwgMjE1NzYsIDI1NiwgMjE2MDgsIDI1NiwgCi0gICAgMjE2NjYsIDI1NiwgMjE3NTAsIDI1NiwgMjE3NzYsIDI1NiwgMjE4NDMsIDI1NiwgMjE4NTksIDI1NiwgMjE4OTIsIDI1NiwgCi0gICAgMjE4OTIsIDI1NiwgMjE5MTMsIDI1NiwgMjE5MzEsIDI1NiwgMjE5MzksIDI1NiwgMjE5NTQsIDI1NiwgMjIyOTQsIDI1NiwgCi0gICAgMjIwMjIsIDI1NiwgMjIyOTUsIDI1NiwgMjIwOTcsIDI1NiwgMjIxMzIsIDI1NiwgMjA5OTksIDI1NiwgMjI3NjYsIDI1NiwgCi0gICAgMjI0NzgsIDI1NiwgMjI1MTYsIDI1NiwgMjI1NDEsIDI1NiwgMjI0MTEsIDI1NiwgMjI1NzgsIDI1NiwgMjI1NzcsIDI1NiwgCi0gICAgMjI3MDAsIDI1NiwgMTM2NDIwLCAyNTYsIDIyNzcwLCAyNTYsIDIyNzc1LCAyNTYsIDIyNzkwLCAyNTYsIDIyODEwLCAyNTYsIAotICAgIDIyODE4LCAyNTYsIDIyODgyLCAyNTYsIDEzNjg3MiwgMjU2LCAxMzY5MzgsIDI1NiwgMjMwMjAsIDI1NiwgMjMwNjcsIDI1NiwgCi0gICAgMjMwNzksIDI1NiwgMjMwMDAsIDI1NiwgMjMxNDIsIDI1NiwgMTQwNjIsIDI1NiwgMTQwNzYsIDI1NiwgMjMzMDQsIDI1NiwgCi0gICAgMjMzNTgsIDI1NiwgMjMzNTgsIDI1NiwgMTM3NjcyLCAyNTYsIDIzNDkxLCAyNTYsIDIzNTEyLCAyNTYsIDIzNTI3LCAyNTYsIAotICAgIDIzNTM5LCAyNTYsIDEzODAwOCwgMjU2LCAyMzU1MSwgMjU2LCAyMzU1OCwgMjU2LCAyNDQwMywgMjU2LCAyMzU4NiwgMjU2LCAKLSAgICAxNDIwOSwgMjU2LCAyMzY0OCwgMjU2LCAyMzY2MiwgMjU2LCAyMzc0NCwgMjU2LCAyMzY5MywgMjU2LCAxMzg3MjQsIDI1NiwgCi0gICAgMjM4NzUsIDI1NiwgMTM4NzI2LCAyNTYsIDIzOTE4LCAyNTYsIDIzOTE1LCAyNTYsIDIzOTMyLCAyNTYsIDI0MDMzLCAyNTYsIAotICAgIDI0MDM0LCAyNTYsIDE0MzgzLCAyNTYsIDI0MDYxLCAyNTYsIDI0MTA0LCAyNTYsIDI0MTI1LCAyNTYsIDI0MTY5LCAyNTYsIAotICAgIDE0NDM0LCAyNTYsIDEzOTY1MSwgMjU2LCAxNDQ2MCwgMjU2LCAyNDI0MCwgMjU2LCAyNDI0MywgMjU2LCAyNDI0NiwgMjU2LCAKLSAgICAyNDI2NiwgMjU2LCAxNzI5NDYsIDI1NiwgMjQzMTgsIDI1NiwgMTQwMDgxLCAyNTYsIDE0MDA4MSwgMjU2LCAzMzI4MSwgCi0gICAgMjU2LCAyNDM1NCwgMjU2LCAyNDM1NCwgMjU2LCAxNDUzNSwgMjU2LCAxNDQwNTYsIDI1NiwgMTU2MTIyLCAyNTYsIDI0NDE4LCAKLSAgICAyNTYsIDI0NDI3LCAyNTYsIDE0NTYzLCAyNTYsIDI0NDc0LCAyNTYsIDI0NTI1LCAyNTYsIDI0NTM1LCAyNTYsIDI0NTY5LCAKLSAgICAyNTYsIDI0NzA1LCAyNTYsIDE0NjUwLCAyNTYsIDE0NjIwLCAyNTYsIDI0NzI0LCAyNTYsIDE0MTAxMiwgMjU2LCAyNDc3NSwgCi0gICAgMjU2LCAyNDkwNCwgMjU2LCAyNDkwOCwgMjU2LCAyNDkxMCwgMjU2LCAyNDkwOCwgMjU2LCAyNDk1NCwgMjU2LCAyNDk3NCwgCi0gICAgMjU2LCAyNTAxMCwgMjU2LCAyNDk5NiwgMjU2LCAyNTAwNywgMjU2LCAyNTA1NCwgMjU2LCAyNTA3NCwgMjU2LCAyNTA3OCwgCi0gICAgMjU2LCAyNTEwNCwgMjU2LCAyNTExNSwgMjU2LCAyNTE4MSwgMjU2LCAyNTI2NSwgMjU2LCAyNTMwMCwgMjU2LCAyNTQyNCwgCi0gICAgMjU2LCAxNDIwOTIsIDI1NiwgMjU0MDUsIDI1NiwgMjUzNDAsIDI1NiwgMjU0NDgsIDI1NiwgMjU0NzUsIDI1NiwgMjU1NzIsIAotICAgIDI1NiwgMTQyMzIxLCAyNTYsIDI1NjM0LCAyNTYsIDI1NTQxLCAyNTYsIDI1NTEzLCAyNTYsIDE0ODk0LCAyNTYsIDI1NzA1LCAKLSAgICAyNTYsIDI1NzI2LCAyNTYsIDI1NzU3LCAyNTYsIDI1NzE5LCAyNTYsIDE0OTU2LCAyNTYsIDI1OTM1LCAyNTYsIDI1OTY0LCAKLSAgICAyNTYsIDE0MzM3MCwgMjU2LCAyNjA4MywgMjU2LCAyNjM2MCwgMjU2LCAyNjE4NSwgMjU2LCAxNTEyOSwgMjU2LCAyNjI1NywgCi0gICAgMjU2LCAxNTExMiwgMjU2LCAxNTA3NiwgMjU2LCAyMDg4MiwgMjU2LCAyMDg4NSwgMjU2LCAyNjM2OCwgMjU2LCAyNjI2OCwgCi0gICAgMjU2LCAzMjk0MSwgMjU2LCAxNzM2OSwgMjU2LCAyNjM5MSwgMjU2LCAyNjM5NSwgMjU2LCAyNjQwMSwgMjU2LCAyNjQ2MiwgCi0gICAgMjU2LCAyNjQ1MSwgMjU2LCAxNDQzMjMsIDI1NiwgMTUxNzcsIDI1NiwgMjY2MTgsIDI1NiwgMjY1MDEsIDI1NiwgMjY3MDYsIAotICAgIDI1NiwgMjY3NTcsIDI1NiwgMTQ0NDkzLCAyNTYsIDI2NzY2LCAyNTYsIDI2NjU1LCAyNTYsIDI2OTAwLCAyNTYsIDE1MjYxLCAKLSAgICAyNTYsIDI2OTQ2LCAyNTYsIDI3MDQzLCAyNTYsIDI3MTE0LCAyNTYsIDI3MzA0LCAyNTYsIDE0NTA1OSwgMjU2LCAyNzM1NSwgCi0gICAgMjU2LCAxNTM4NCwgMjU2LCAyNzQyNSwgMjU2LCAxNDU1NzUsIDI1NiwgMjc0NzYsIDI1NiwgMTU0MzgsIDI1NiwgMjc1MDYsIAotICAgIDI1NiwgMjc1NTEsIDI1NiwgMjc1NzgsIDI1NiwgMjc1NzksIDI1NiwgMTQ2MDYxLCAyNTYsIDEzODUwNywgMjU2LCAKLSAgICAxNDYxNzAsIDI1NiwgMjc3MjYsIDI1NiwgMTQ2NjIwLCAyNTYsIDI3ODM5LCAyNTYsIDI3ODUzLCAyNTYsIDI3NzUxLCAyNTYsIAotICAgIDI3OTI2LCAyNTYsIDI3OTY2LCAyNTYsIDI4MDIzLCAyNTYsIDI3OTY5LCAyNTYsIDI4MDA5LCAyNTYsIDI4MDI0LCAyNTYsIAotICAgIDI4MDM3LCAyNTYsIDE0NjcxOCwgMjU2LCAyNzk1NiwgMjU2LCAyODIwNywgMjU2LCAyODI3MCwgMjU2LCAxNTY2NywgMjU2LCAKLSAgICAyODM2MywgMjU2LCAyODM1OSwgMjU2LCAxNDcxNTMsIDI1NiwgMjgxNTMsIDI1NiwgMjg1MjYsIDI1NiwgMTQ3Mjk0LCAyNTYsIAotICAgIDE0NzM0MiwgMjU2LCAyODYxNCwgMjU2LCAyODcyOSwgMjU2LCAyODcwMiwgMjU2LCAyODY5OSwgMjU2LCAxNTc2NiwgMjU2LCAKLSAgICAyODc0NiwgMjU2LCAyODc5NywgMjU2LCAyODc5MSwgMjU2LCAyODg0NSwgMjU2LCAxMzIzODksIDI1NiwgMjg5OTcsIDI1NiwgCi0gICAgMTQ4MDY3LCAyNTYsIDI5MDg0LCAyNTYsIDE0ODM5NSwgMjU2LCAyOTIyNCwgMjU2LCAyOTIzNywgMjU2LCAyOTI2NCwgMjU2LCAKLSAgICAxNDkwMDAsIDI1NiwgMjkzMTIsIDI1NiwgMjkzMzMsIDI1NiwgMTQ5MzAxLCAyNTYsIDE0OTUyNCwgMjU2LCAyOTU2MiwgCi0gICAgMjU2LCAyOTU3OSwgMjU2LCAxNjA0NCwgMjU2LCAyOTYwNSwgMjU2LCAxNjA1NiwgMjU2LCAxNjA1NiwgMjU2LCAyOTc2NywgCi0gICAgMjU2LCAyOTc4OCwgMjU2LCAyOTgwOSwgMjU2LCAyOTgyOSwgMjU2LCAyOTg5OCwgMjU2LCAxNjE1NSwgMjU2LCAyOTk4OCwgCi0gICAgMjU2LCAxNTA1ODIsIDI1NiwgMzAwMTQsIDI1NiwgMTUwNjc0LCAyNTYsIDMwMDY0LCAyNTYsIDEzOTY3OSwgMjU2LCAKLSAgICAzMDIyNCwgMjU2LCAxNTE0NTcsIDI1NiwgMTUxNDgwLCAyNTYsIDE1MTYyMCwgMjU2LCAxNjM4MCwgMjU2LCAxNjM5MiwgCi0gICAgMjU2LCAzMDQ1MiwgMjU2LCAxNTE3OTUsIDI1NiwgMTUxNzk0LCAyNTYsIDE1MTgzMywgMjU2LCAxNTE4NTksIDI1NiwgCi0gICAgMzA0OTQsIDI1NiwgMzA0OTUsIDI1NiwgMzA0OTUsIDI1NiwgMzA1MzgsIDI1NiwgMTY0NDEsIDI1NiwgMzA2MDMsIDI1NiwgCi0gICAgMTY0NTQsIDI1NiwgMTY1MzQsIDI1NiwgMTUyNjA1LCAyNTYsIDMwNzk4LCAyNTYsIDMwODYwLCAyNTYsIDMwOTI0LCAyNTYsIAotICAgIDE2NjExLCAyNTYsIDE1MzEyNiwgMjU2LCAzMTA2MiwgMjU2LCAxNTMyNDIsIDI1NiwgMTUzMjg1LCAyNTYsIDMxMTE5LCAKLSAgICAyNTYsIDMxMjExLCAyNTYsIDE2Njg3LCAyNTYsIDMxMjk2LCAyNTYsIDMxMzA2LCAyNTYsIDMxMzExLCAyNTYsIDE1Mzk4MCwgCi0gICAgMjU2LCAxNTQyNzksIDI1NiwgMTU0Mjc5LCAyNTYsIDMxNDcwLCAyNTYsIDE2ODk4LCAyNTYsIDE1NDUzOSwgMjU2LCAKLSAgICAzMTY4NiwgMjU2LCAzMTY4OSwgMjU2LCAxNjkzNSwgMjU2LCAxNTQ3NTIsIDI1NiwgMzE5NTQsIDI1NiwgMTcwNTYsIDI1NiwgCi0gICAgMzE5NzYsIDI1NiwgMzE5NzEsIDI1NiwgMzIwMDAsIDI1NiwgMTU1NTI2LCAyNTYsIDMyMDk5LCAyNTYsIDE3MTUzLCAyNTYsIAotICAgIDMyMTk5LCAyNTYsIDMyMjU4LCAyNTYsIDMyMzI1LCAyNTYsIDE3MjA0LCAyNTYsIDE1NjIwMCwgMjU2LCAxNTYyMzEsIDI1NiwgCi0gICAgMTcyNDEsIDI1NiwgMTU2Mzc3LCAyNTYsIDMyNjM0LCAyNTYsIDE1NjQ3OCwgMjU2LCAzMjY2MSwgMjU2LCAzMjc2MiwgMjU2LCAKLSAgICAzMjc3MywgMjU2LCAxNTY4OTAsIDI1NiwgMTU2OTYzLCAyNTYsIDMyODY0LCAyNTYsIDE1NzA5NiwgMjU2LCAzMjg4MCwgCi0gICAgMjU2LCAxNDQyMjMsIDI1NiwgMTczNjUsIDI1NiwgMzI5NDYsIDI1NiwgMzMwMjcsIDI1NiwgMTc0MTksIDI1NiwgMzMwODYsIAotICAgIDI1NiwgMjMyMjEsIDI1NiwgMTU3NjA3LCAyNTYsIDE1NzYyMSwgMjU2LCAxNDQyNzUsIDI1NiwgMTQ0Mjg0LCAyNTYsIAotICAgIDMzMjgxLCAyNTYsIDMzMjg0LCAyNTYsIDM2NzY2LCAyNTYsIDE3NTE1LCAyNTYsIDMzNDI1LCAyNTYsIDMzNDE5LCAyNTYsIAotICAgIDMzNDM3LCAyNTYsIDIxMTcxLCAyNTYsIDMzNDU3LCAyNTYsIDMzNDU5LCAyNTYsIDMzNDY5LCAyNTYsIDMzNTEwLCAyNTYsIAotICAgIDE1ODUyNCwgMjU2LCAzMzUwOSwgMjU2LCAzMzU2NSwgMjU2LCAzMzYzNSwgMjU2LCAzMzcwOSwgMjU2LCAzMzU3MSwgMjU2LCAKLSAgICAzMzcyNSwgMjU2LCAzMzc2NywgMjU2LCAzMzg3OSwgMjU2LCAzMzYxOSwgMjU2LCAzMzczOCwgMjU2LCAzMzc0MCwgMjU2LCAKLSAgICAzMzc1NiwgMjU2LCAxNTg3NzQsIDI1NiwgMTU5MDgzLCAyNTYsIDE1ODkzMywgMjU2LCAxNzcwNywgMjU2LCAzNDAzMywgCi0gICAgMjU2LCAzNDAzNSwgMjU2LCAzNDA3MCwgMjU2LCAxNjA3MTQsIDI1NiwgMzQxNDgsIDI1NiwgMTU5NTMyLCAyNTYsIDE3NzU3LCAKLSAgICAyNTYsIDE3NzYxLCAyNTYsIDE1OTY2NSwgMjU2LCAxNTk5NTQsIDI1NiwgMTc3NzEsIDI1NiwgMzQzODQsIDI1NiwgMzQzOTYsIAotICAgIDI1NiwgMzQ0MDcsIDI1NiwgMzQ0MDksIDI1NiwgMzQ0NzMsIDI1NiwgMzQ0NDAsIDI1NiwgMzQ1NzQsIDI1NiwgMzQ1MzAsIAotICAgIDI1NiwgMzQ2ODEsIDI1NiwgMzQ2MDAsIDI1NiwgMzQ2NjcsIDI1NiwgMzQ2OTQsIDI1NiwgMTc4NzksIDI1NiwgMzQ3ODUsIAotICAgIDI1NiwgMzQ4MTcsIDI1NiwgMTc5MTMsIDI1NiwgMzQ5MTIsIDI1NiwgMzQ5MTUsIDI1NiwgMTYxMzgzLCAyNTYsIDM1MDMxLCAKLSAgICAyNTYsIDM1MDM4LCAyNTYsIDE3OTczLCAyNTYsIDM1MDY2LCAyNTYsIDEzNDk5LCAyNTYsIDE2MTk2NiwgMjU2LCAxNjIxNTAsIAotICAgIDI1NiwgMTgxMTAsIDI1NiwgMTgxMTksIDI1NiwgMzU0ODgsIDI1NiwgMzU1NjUsIDI1NiwgMzU3MjIsIDI1NiwgMzU5MjUsIAotICAgIDI1NiwgMTYyOTg0LCAyNTYsIDM2MDExLCAyNTYsIDM2MDMzLCAyNTYsIDM2MTIzLCAyNTYsIDM2MjE1LCAyNTYsIDE2MzYzMSwgCi0gICAgMjU2LCAxMzMxMjQsIDI1NiwgMzYyOTksIDI1NiwgMzYyODQsIDI1NiwgMzYzMzYsIDI1NiwgMTMzMzQyLCAyNTYsIDM2NTY0LCAKLSAgICAyNTYsIDM2NjY0LCAyNTYsIDE2NTMzMCwgMjU2LCAxNjUzNTcsIDI1NiwgMzcwMTIsIDI1NiwgMzcxMDUsIDI1NiwgMzcxMzcsIAotICAgIDI1NiwgMTY1Njc4LCAyNTYsIDM3MTQ3LCAyNTYsIDM3NDMyLCAyNTYsIDM3NTkxLCAyNTYsIDM3NTkyLCAyNTYsIDM3NTAwLCAKLSAgICAyNTYsIDM3ODgxLCAyNTYsIDM3OTA5LCAyNTYsIDE2NjkwNiwgMjU2LCAzODI4MywgMjU2LCAxODgzNywgMjU2LCAzODMyNywgCi0gICAgMjU2LCAxNjcyODcsIDI1NiwgMTg5MTgsIDI1NiwgMzg1OTUsIDI1NiwgMjM5ODYsIDI1NiwgMzg2OTEsIDI1NiwgMTY4MjYxLCAKLSAgICAyNTYsIDE2ODQ3NCwgMjU2LCAxOTA1NCwgMjU2LCAxOTA2MiwgMjU2LCAzODg4MCwgMjU2LCAxNjg5NzAsIDI1NiwgMTkxMjIsIAotICAgIDI1NiwgMTY5MTEwLCAyNTYsIDM4OTIzLCAyNTYsIDM4OTIzLCAyNTYsIDM4OTUzLCAyNTYsIDE2OTM5OCwgMjU2LCAzOTEzOCwgCi0gICAgMjU2LCAxOTI1MSwgMjU2LCAzOTIwOSwgMjU2LCAzOTMzNSwgMjU2LCAzOTM2MiwgMjU2LCAzOTQyMiwgMjU2LCAxOTQwNiwgCi0gICAgMjU2LCAxNzA4MDAsIDI1NiwgMzk2OTgsIDI1NiwgNDAwMDAsIDI1NiwgNDAxODksIDI1NiwgMTk2NjIsIDI1NiwgMTk2OTMsIAotICAgIDI1NiwgNDAyOTUsIDI1NiwgMTcyMjM4LCAyNTYsIDE5NzA0LCAyNTYsIDE3MjI5MywgMjU2LCAxNzI1NTgsIDI1NiwgCi0gICAgMTcyNjg5LCAyNTYsIDQwNjM1LCAyNTYsIDE5Nzk4LCAyNTYsIDQwNjk3LCAyNTYsIDQwNzAyLCAyNTYsIDQwNzA5LCAyNTYsIAotICAgIDQwNzE5LCAyNTYsIDQwNzI2LCAyNTYsIDQwNzYzLCAyNTYsIDE3MzU2OCwgCisgICAgOTc3LCAyNjIsIDEwMDgsIDI2MiwgOTgxLCAyNjIsIDEwMDksIDI2MiwgOTgyLCAyNjIsIDkxMywgMjYyLCA5MTQsIDI2MiwgCisgICAgOTE1LCAyNjIsIDkxNiwgMjYyLCA5MTcsIDI2MiwgOTE4LCAyNjIsIDkxOSwgMjYyLCA5MjAsIDI2MiwgOTIxLCAyNjIsIAorICAgIDkyMiwgMjYyLCA5MjMsIDI2MiwgOTI0LCAyNjIsIDkyNSwgMjYyLCA5MjYsIDI2MiwgOTI3LCAyNjIsIDkyOCwgMjYyLCAKKyAgICA5MjksIDI2MiwgMTAxMiwgMjYyLCA5MzEsIDI2MiwgOTMyLCAyNjIsIDkzMywgMjYyLCA5MzQsIDI2MiwgOTM1LCAyNjIsIAorICAgIDkzNiwgMjYyLCA5MzcsIDI2MiwgODcxMSwgMjYyLCA5NDUsIDI2MiwgOTQ2LCAyNjIsIDk0NywgMjYyLCA5NDgsIDI2MiwgCisgICAgOTQ5LCAyNjIsIDk1MCwgMjYyLCA5NTEsIDI2MiwgOTUyLCAyNjIsIDk1MywgMjYyLCA5NTQsIDI2MiwgOTU1LCAyNjIsIAorICAgIDk1NiwgMjYyLCA5NTcsIDI2MiwgOTU4LCAyNjIsIDk1OSwgMjYyLCA5NjAsIDI2MiwgOTYxLCAyNjIsIDk2MiwgMjYyLCAKKyAgICA5NjMsIDI2MiwgOTY0LCAyNjIsIDk2NSwgMjYyLCA5NjYsIDI2MiwgOTY3LCAyNjIsIDk2OCwgMjYyLCA5NjksIDI2MiwgCisgICAgODcwNiwgMjYyLCAxMDEzLCAyNjIsIDk3NywgMjYyLCAxMDA4LCAyNjIsIDk4MSwgMjYyLCAxMDA5LCAyNjIsIDk4MiwgMjYyLCAKKyAgICA5MTMsIDI2MiwgOTE0LCAyNjIsIDkxNSwgMjYyLCA5MTYsIDI2MiwgOTE3LCAyNjIsIDkxOCwgMjYyLCA5MTksIDI2MiwgCisgICAgOTIwLCAyNjIsIDkyMSwgMjYyLCA5MjIsIDI2MiwgOTIzLCAyNjIsIDkyNCwgMjYyLCA5MjUsIDI2MiwgOTI2LCAyNjIsIAorICAgIDkyNywgMjYyLCA5MjgsIDI2MiwgOTI5LCAyNjIsIDEwMTIsIDI2MiwgOTMxLCAyNjIsIDkzMiwgMjYyLCA5MzMsIDI2MiwgCisgICAgOTM0LCAyNjIsIDkzNSwgMjYyLCA5MzYsIDI2MiwgOTM3LCAyNjIsIDg3MTEsIDI2MiwgOTQ1LCAyNjIsIDk0NiwgMjYyLCAKKyAgICA5NDcsIDI2MiwgOTQ4LCAyNjIsIDk0OSwgMjYyLCA5NTAsIDI2MiwgOTUxLCAyNjIsIDk1MiwgMjYyLCA5NTMsIDI2MiwgCisgICAgOTU0LCAyNjIsIDk1NSwgMjYyLCA5NTYsIDI2MiwgOTU3LCAyNjIsIDk1OCwgMjYyLCA5NTksIDI2MiwgOTYwLCAyNjIsIAorICAgIDk2MSwgMjYyLCA5NjIsIDI2MiwgOTYzLCAyNjIsIDk2NCwgMjYyLCA5NjUsIDI2MiwgOTY2LCAyNjIsIDk2NywgMjYyLCAKKyAgICA5NjgsIDI2MiwgOTY5LCAyNjIsIDg3MDYsIDI2MiwgMTAxMywgMjYyLCA5NzcsIDI2MiwgMTAwOCwgMjYyLCA5ODEsIDI2MiwgCisgICAgMTAwOSwgMjYyLCA5ODIsIDI2MiwgOTEzLCAyNjIsIDkxNCwgMjYyLCA5MTUsIDI2MiwgOTE2LCAyNjIsIDkxNywgMjYyLCAKKyAgICA5MTgsIDI2MiwgOTE5LCAyNjIsIDkyMCwgMjYyLCA5MjEsIDI2MiwgOTIyLCAyNjIsIDkyMywgMjYyLCA5MjQsIDI2MiwgCisgICAgOTI1LCAyNjIsIDkyNiwgMjYyLCA5MjcsIDI2MiwgOTI4LCAyNjIsIDkyOSwgMjYyLCAxMDEyLCAyNjIsIDkzMSwgMjYyLCAKKyAgICA5MzIsIDI2MiwgOTMzLCAyNjIsIDkzNCwgMjYyLCA5MzUsIDI2MiwgOTM2LCAyNjIsIDkzNywgMjYyLCA4NzExLCAyNjIsIAorICAgIDk0NSwgMjYyLCA5NDYsIDI2MiwgOTQ3LCAyNjIsIDk0OCwgMjYyLCA5NDksIDI2MiwgOTUwLCAyNjIsIDk1MSwgMjYyLCAKKyAgICA5NTIsIDI2MiwgOTUzLCAyNjIsIDk1NCwgMjYyLCA5NTUsIDI2MiwgOTU2LCAyNjIsIDk1NywgMjYyLCA5NTgsIDI2MiwgCisgICAgOTU5LCAyNjIsIDk2MCwgMjYyLCA5NjEsIDI2MiwgOTYyLCAyNjIsIDk2MywgMjYyLCA5NjQsIDI2MiwgOTY1LCAyNjIsIAorICAgIDk2NiwgMjYyLCA5NjcsIDI2MiwgOTY4LCAyNjIsIDk2OSwgMjYyLCA4NzA2LCAyNjIsIDEwMTMsIDI2MiwgOTc3LCAyNjIsIAorICAgIDEwMDgsIDI2MiwgOTgxLCAyNjIsIDEwMDksIDI2MiwgOTgyLCAyNjIsIDk4OCwgMjYyLCA5ODksIDI2MiwgNDgsIDI2MiwgCisgICAgNDksIDI2MiwgNTAsIDI2MiwgNTEsIDI2MiwgNTIsIDI2MiwgNTMsIDI2MiwgNTQsIDI2MiwgNTUsIDI2MiwgNTYsIDI2MiwgCisgICAgNTcsIDI2MiwgNDgsIDI2MiwgNDksIDI2MiwgNTAsIDI2MiwgNTEsIDI2MiwgNTIsIDI2MiwgNTMsIDI2MiwgNTQsIDI2MiwgCisgICAgNTUsIDI2MiwgNTYsIDI2MiwgNTcsIDI2MiwgNDgsIDI2MiwgNDksIDI2MiwgNTAsIDI2MiwgNTEsIDI2MiwgNTIsIDI2MiwgCisgICAgNTMsIDI2MiwgNTQsIDI2MiwgNTUsIDI2MiwgNTYsIDI2MiwgNTcsIDI2MiwgNDgsIDI2MiwgNDksIDI2MiwgNTAsIDI2MiwgCisgICAgNTEsIDI2MiwgNTIsIDI2MiwgNTMsIDI2MiwgNTQsIDI2MiwgNTUsIDI2MiwgNTYsIDI2MiwgNTcsIDI2MiwgNDgsIDI2MiwgCisgICAgNDksIDI2MiwgNTAsIDI2MiwgNTEsIDI2MiwgNTIsIDI2MiwgNTMsIDI2MiwgNTQsIDI2MiwgNTUsIDI2MiwgNTYsIDI2MiwgCisgICAgNTcsIDI2MiwgMTU3NSwgMjYyLCAxNTc2LCAyNjIsIDE1ODAsIDI2MiwgMTU4MywgMjYyLCAxNjA4LCAyNjIsIDE1ODYsIAorICAgIDI2MiwgMTU4MSwgMjYyLCAxNTkxLCAyNjIsIDE2MTAsIDI2MiwgMTYwMywgMjYyLCAxNjA0LCAyNjIsIDE2MDUsIDI2MiwgCisgICAgMTYwNiwgMjYyLCAxNTg3LCAyNjIsIDE1OTMsIDI2MiwgMTYwMSwgMjYyLCAxNTg5LCAyNjIsIDE2MDIsIDI2MiwgMTU4NSwgCisgICAgMjYyLCAxNTg4LCAyNjIsIDE1NzgsIDI2MiwgMTU3OSwgMjYyLCAxNTgyLCAyNjIsIDE1ODQsIDI2MiwgMTU5MCwgMjYyLCAKKyAgICAxNTkyLCAyNjIsIDE1OTQsIDI2MiwgMTY0NiwgMjYyLCAxNzIyLCAyNjIsIDE2OTcsIDI2MiwgMTY0NywgMjYyLCAxNTc2LCAKKyAgICAyNjIsIDE1ODAsIDI2MiwgMTYwNywgMjYyLCAxNTgxLCAyNjIsIDE2MTAsIDI2MiwgMTYwMywgMjYyLCAxNjA0LCAyNjIsIAorICAgIDE2MDUsIDI2MiwgMTYwNiwgMjYyLCAxNTg3LCAyNjIsIDE1OTMsIDI2MiwgMTYwMSwgMjYyLCAxNTg5LCAyNjIsIDE2MDIsIAorICAgIDI2MiwgMTU4OCwgMjYyLCAxNTc4LCAyNjIsIDE1NzksIDI2MiwgMTU4MiwgMjYyLCAxNTkwLCAyNjIsIDE1OTQsIDI2MiwgCisgICAgMTU4MCwgMjYyLCAxNTgxLCAyNjIsIDE2MTAsIDI2MiwgMTYwNCwgMjYyLCAxNjA2LCAyNjIsIDE1ODcsIDI2MiwgMTU5MywgCisgICAgMjYyLCAxNTg5LCAyNjIsIDE2MDIsIDI2MiwgMTU4OCwgMjYyLCAxNTgyLCAyNjIsIDE1OTAsIDI2MiwgMTU5NCwgMjYyLCAKKyAgICAxNzIyLCAyNjIsIDE2NDcsIDI2MiwgMTU3NiwgMjYyLCAxNTgwLCAyNjIsIDE2MDcsIDI2MiwgMTU4MSwgMjYyLCAxNTkxLCAKKyAgICAyNjIsIDE2MTAsIDI2MiwgMTYwMywgMjYyLCAxNjA1LCAyNjIsIDE2MDYsIDI2MiwgMTU4NywgMjYyLCAxNTkzLCAyNjIsIAorICAgIDE2MDEsIDI2MiwgMTU4OSwgMjYyLCAxNjAyLCAyNjIsIDE1ODgsIDI2MiwgMTU3OCwgMjYyLCAxNTc5LCAyNjIsIDE1ODIsIAorICAgIDI2MiwgMTU5MCwgMjYyLCAxNTkyLCAyNjIsIDE1OTQsIDI2MiwgMTY0NiwgMjYyLCAxNjk3LCAyNjIsIDE1NzUsIDI2MiwgCisgICAgMTU3NiwgMjYyLCAxNTgwLCAyNjIsIDE1ODMsIDI2MiwgMTYwNywgMjYyLCAxNjA4LCAyNjIsIDE1ODYsIDI2MiwgMTU4MSwgCisgICAgMjYyLCAxNTkxLCAyNjIsIDE2MTAsIDI2MiwgMTYwNCwgMjYyLCAxNjA1LCAyNjIsIDE2MDYsIDI2MiwgMTU4NywgMjYyLCAKKyAgICAxNTkzLCAyNjIsIDE2MDEsIDI2MiwgMTU4OSwgMjYyLCAxNjAyLCAyNjIsIDE1ODUsIDI2MiwgMTU4OCwgMjYyLCAxNTc4LCAKKyAgICAyNjIsIDE1NzksIDI2MiwgMTU4MiwgMjYyLCAxNTg0LCAyNjIsIDE1OTAsIDI2MiwgMTU5MiwgMjYyLCAxNTk0LCAyNjIsIAorICAgIDE1NzYsIDI2MiwgMTU4MCwgMjYyLCAxNTgzLCAyNjIsIDE2MDgsIDI2MiwgMTU4NiwgMjYyLCAxNTgxLCAyNjIsIDE1OTEsIAorICAgIDI2MiwgMTYxMCwgMjYyLCAxNjA0LCAyNjIsIDE2MDUsIDI2MiwgMTYwNiwgMjYyLCAxNTg3LCAyNjIsIDE1OTMsIDI2MiwgCisgICAgMTYwMSwgMjYyLCAxNTg5LCAyNjIsIDE2MDIsIDI2MiwgMTU4NSwgMjYyLCAxNTg4LCAyNjIsIDE1NzgsIDI2MiwgMTU3OSwgCisgICAgMjYyLCAxNTgyLCAyNjIsIDE1ODQsIDI2MiwgMTU5MCwgMjYyLCAxNTkyLCAyNjIsIDE1OTQsIDUxNCwgNDgsIDQ2LCA1MTQsIAorICAgIDQ4LCA0NCwgNTE0LCA0OSwgNDQsIDUxNCwgNTAsIDQ0LCA1MTQsIDUxLCA0NCwgNTE0LCA1MiwgNDQsIDUxNCwgNTMsIDQ0LCAKKyAgICA1MTQsIDU0LCA0NCwgNTE0LCA1NSwgNDQsIDUxNCwgNTYsIDQ0LCA1MTQsIDU3LCA0NCwgNzcwLCA0MCwgNjUsIDQxLCA3NzAsIAorICAgIDQwLCA2NiwgNDEsIDc3MCwgNDAsIDY3LCA0MSwgNzcwLCA0MCwgNjgsIDQxLCA3NzAsIDQwLCA2OSwgNDEsIDc3MCwgNDAsIAorICAgIDcwLCA0MSwgNzcwLCA0MCwgNzEsIDQxLCA3NzAsIDQwLCA3MiwgNDEsIDc3MCwgNDAsIDczLCA0MSwgNzcwLCA0MCwgNzQsIAorICAgIDQxLCA3NzAsIDQwLCA3NSwgNDEsIDc3MCwgNDAsIDc2LCA0MSwgNzcwLCA0MCwgNzcsIDQxLCA3NzAsIDQwLCA3OCwgNDEsIAorICAgIDc3MCwgNDAsIDc5LCA0MSwgNzcwLCA0MCwgODAsIDQxLCA3NzAsIDQwLCA4MSwgNDEsIDc3MCwgNDAsIDgyLCA0MSwgNzcwLCAKKyAgICA0MCwgODMsIDQxLCA3NzAsIDQwLCA4NCwgNDEsIDc3MCwgNDAsIDg1LCA0MSwgNzcwLCA0MCwgODYsIDQxLCA3NzAsIDQwLCAKKyAgICA4NywgNDEsIDc3MCwgNDAsIDg4LCA0MSwgNzcwLCA0MCwgODksIDQxLCA3NzAsIDQwLCA5MCwgNDEsIDc3MCwgMTIzMDgsIAorICAgIDgzLCAxMjMwOSwgMjYzLCA2NywgMjYzLCA4MiwgNTE5LCA2NywgNjgsIDUxOSwgODcsIDkwLCAyNjYsIDY1LCAyNjYsIDY2LCAKKyAgICAyNjYsIDY3LCAyNjYsIDY4LCAyNjYsIDY5LCAyNjYsIDcwLCAyNjYsIDcxLCAyNjYsIDcyLCAyNjYsIDczLCAyNjYsIDc0LCAKKyAgICAyNjYsIDc1LCAyNjYsIDc2LCAyNjYsIDc3LCAyNjYsIDc4LCAyNjYsIDc5LCAyNjYsIDgwLCAyNjYsIDgxLCAyNjYsIDgyLCAKKyAgICAyNjYsIDgzLCAyNjYsIDg0LCAyNjYsIDg1LCAyNjYsIDg2LCAyNjYsIDg3LCAyNjYsIDg4LCAyNjYsIDg5LCAyNjYsIDkwLCAKKyAgICA1MjIsIDcyLCA4NiwgNTIyLCA3NywgODYsIDUyMiwgODMsIDY4LCA1MjIsIDgzLCA4MywgNzc4LCA4MCwgODAsIDg2LCA1MjIsIAorICAgIDg3LCA2NywgNTE1LCA3NywgNjcsIDUxNSwgNzcsIDY4LCA1MjIsIDY4LCA3NCwgNTIyLCAxMjQxMSwgMTIzNjMsIDUyMiwgCisgICAgMTI0NjcsIDEyNDY3LCAyNjYsIDEyNDY5LCAyNjYsIDI1MTYzLCAyNjYsIDIzMzgzLCAyNjYsIDIxNDUyLCAyNjYsIDEyNDg3LCAKKyAgICAyNjYsIDIwMTA4LCAyNjYsIDIyODEwLCAyNjYsIDM1Mjk5LCAyNjYsIDIyODI1LCAyNjYsIDIwMTMyLCAyNjYsIDI2MTQ0LCAKKyAgICAyNjYsIDI4OTYxLCAyNjYsIDI2MDA5LCAyNjYsIDIxMDY5LCAyNjYsIDI0NDYwLCAyNjYsIDIwODc3LCAyNjYsIDI2MDMyLCAKKyAgICAyNjYsIDIxMDIxLCAyNjYsIDMyMDY2LCAyNjYsIDI5OTgzLCAyNjYsIDM2MDA5LCAyNjYsIDIyNzY4LCAyNjYsIDIxNTYxLCAKKyAgICAyNjYsIDI4NDM2LCAyNjYsIDI1MjM3LCAyNjYsIDI1NDI5LCAyNjYsIDE5OTY4LCAyNjYsIDE5OTc3LCAyNjYsIDM2OTM4LCAKKyAgICAyNjYsIDI0MDM4LCAyNjYsIDIwMDEzLCAyNjYsIDIxNDkxLCAyNjYsIDI1MzUxLCAyNjYsIDM2MjA4LCAyNjYsIDI1MTcxLCAKKyAgICAyNjYsIDMxMTA1LCAyNjYsIDMxMzU0LCAyNjYsIDIxNTEyLCAyNjYsIDI4Mjg4LCAyNjYsIDI2Mzc3LCAyNjYsIDI2Mzc2LCAKKyAgICAyNjYsIDMwMDAzLCAyNjYsIDIxMTA2LCAyNjYsIDIxOTQyLCA3NzAsIDEyMzA4LCAyNjQxMiwgMTIzMDksIDc3MCwgMTIzMDgsIAorICAgIDE5OTc3LCAxMjMwOSwgNzcwLCAxMjMwOCwgMjAxMDgsIDEyMzA5LCA3NzAsIDEyMzA4LCAyMzQzMywgMTIzMDksIDc3MCwgCisgICAgMTIzMDgsIDI4ODU3LCAxMjMwOSwgNzcwLCAxMjMwOCwgMjUxNzEsIDEyMzA5LCA3NzAsIDEyMzA4LCAzMDQyMywgMTIzMDksIAorICAgIDc3MCwgMTIzMDgsIDIxMjEzLCAxMjMwOSwgNzcwLCAxMjMwOCwgMjU5NDMsIDEyMzA5LCAyNjMsIDI0NDcxLCAyNjMsIAorICAgIDIxNDg3LCAyNTYsIDIwMDI5LCAyNTYsIDIwMDI0LCAyNTYsIDIwMDMzLCAyNTYsIDEzMTM2MiwgMjU2LCAyMDMyMCwgMjU2LCAKKyAgICAyMDM5OCwgMjU2LCAyMDQxMSwgMjU2LCAyMDQ4MiwgMjU2LCAyMDYwMiwgMjU2LCAyMDYzMywgMjU2LCAyMDcxMSwgMjU2LCAKKyAgICAyMDY4NywgMjU2LCAxMzQ3MCwgMjU2LCAxMzI2NjYsIDI1NiwgMjA4MTMsIDI1NiwgMjA4MjAsIDI1NiwgMjA4MzYsIDI1NiwgCisgICAgMjA4NTUsIDI1NiwgMTMyMzgwLCAyNTYsIDEzNDk3LCAyNTYsIDIwODM5LCAyNTYsIDIwODc3LCAyNTYsIDEzMjQyNywgMjU2LCAKKyAgICAyMDg4NywgMjU2LCAyMDkwMCwgMjU2LCAyMDE3MiwgMjU2LCAyMDkwOCwgMjU2LCAyMDkxNywgMjU2LCAxNjg0MTUsIDI1NiwgCisgICAgMjA5ODEsIDI1NiwgMjA5OTUsIDI1NiwgMTM1MzUsIDI1NiwgMjEwNTEsIDI1NiwgMjEwNjIsIDI1NiwgMjExMDYsIDI1NiwgCisgICAgMjExMTEsIDI1NiwgMTM1ODksIDI1NiwgMjExOTEsIDI1NiwgMjExOTMsIDI1NiwgMjEyMjAsIDI1NiwgMjEyNDIsIDI1NiwgCisgICAgMjEyNTMsIDI1NiwgMjEyNTQsIDI1NiwgMjEyNzEsIDI1NiwgMjEzMjEsIDI1NiwgMjEzMjksIDI1NiwgMjEzMzgsIDI1NiwgCisgICAgMjEzNjMsIDI1NiwgMjEzNzMsIDI1NiwgMjEzNzUsIDI1NiwgMjEzNzUsIDI1NiwgMjEzNzUsIDI1NiwgMTMzNjc2LCAyNTYsIAorICAgIDI4Nzg0LCAyNTYsIDIxNDUwLCAyNTYsIDIxNDcxLCAyNTYsIDEzMzk4NywgMjU2LCAyMTQ4MywgMjU2LCAyMTQ4OSwgMjU2LCAKKyAgICAyMTUxMCwgMjU2LCAyMTY2MiwgMjU2LCAyMTU2MCwgMjU2LCAyMTU3NiwgMjU2LCAyMTYwOCwgMjU2LCAyMTY2NiwgMjU2LCAKKyAgICAyMTc1MCwgMjU2LCAyMTc3NiwgMjU2LCAyMTg0MywgMjU2LCAyMTg1OSwgMjU2LCAyMTg5MiwgMjU2LCAyMTg5MiwgMjU2LCAKKyAgICAyMTkxMywgMjU2LCAyMTkzMSwgMjU2LCAyMTkzOSwgMjU2LCAyMTk1NCwgMjU2LCAyMjI5NCwgMjU2LCAyMjAyMiwgMjU2LCAKKyAgICAyMjI5NSwgMjU2LCAyMjA5NywgMjU2LCAyMjEzMiwgMjU2LCAyMDk5OSwgMjU2LCAyMjc2NiwgMjU2LCAyMjQ3OCwgMjU2LCAKKyAgICAyMjUxNiwgMjU2LCAyMjU0MSwgMjU2LCAyMjQxMSwgMjU2LCAyMjU3OCwgMjU2LCAyMjU3NywgMjU2LCAyMjcwMCwgMjU2LCAKKyAgICAxMzY0MjAsIDI1NiwgMjI3NzAsIDI1NiwgMjI3NzUsIDI1NiwgMjI3OTAsIDI1NiwgMjI4MTAsIDI1NiwgMjI4MTgsIDI1NiwgCisgICAgMjI4ODIsIDI1NiwgMTM2ODcyLCAyNTYsIDEzNjkzOCwgMjU2LCAyMzAyMCwgMjU2LCAyMzA2NywgMjU2LCAyMzA3OSwgMjU2LCAKKyAgICAyMzAwMCwgMjU2LCAyMzE0MiwgMjU2LCAxNDA2MiwgMjU2LCAxNDA3NiwgMjU2LCAyMzMwNCwgMjU2LCAyMzM1OCwgMjU2LCAKKyAgICAyMzM1OCwgMjU2LCAxMzc2NzIsIDI1NiwgMjM0OTEsIDI1NiwgMjM1MTIsIDI1NiwgMjM1MjcsIDI1NiwgMjM1MzksIDI1NiwgCisgICAgMTM4MDA4LCAyNTYsIDIzNTUxLCAyNTYsIDIzNTU4LCAyNTYsIDI0NDAzLCAyNTYsIDIzNTg2LCAyNTYsIDE0MjA5LCAyNTYsIAorICAgIDIzNjQ4LCAyNTYsIDIzNjYyLCAyNTYsIDIzNzQ0LCAyNTYsIDIzNjkzLCAyNTYsIDEzODcyNCwgMjU2LCAyMzg3NSwgMjU2LCAKKyAgICAxMzg3MjYsIDI1NiwgMjM5MTgsIDI1NiwgMjM5MTUsIDI1NiwgMjM5MzIsIDI1NiwgMjQwMzMsIDI1NiwgMjQwMzQsIDI1NiwgCisgICAgMTQzODMsIDI1NiwgMjQwNjEsIDI1NiwgMjQxMDQsIDI1NiwgMjQxMjUsIDI1NiwgMjQxNjksIDI1NiwgMTQ0MzQsIDI1NiwgCisgICAgMTM5NjUxLCAyNTYsIDE0NDYwLCAyNTYsIDI0MjQwLCAyNTYsIDI0MjQzLCAyNTYsIDI0MjQ2LCAyNTYsIDI0MjY2LCAyNTYsIAorICAgIDE3Mjk0NiwgMjU2LCAyNDMxOCwgMjU2LCAxNDAwODEsIDI1NiwgMTQwMDgxLCAyNTYsIDMzMjgxLCAyNTYsIDI0MzU0LCAKKyAgICAyNTYsIDI0MzU0LCAyNTYsIDE0NTM1LCAyNTYsIDE0NDA1NiwgMjU2LCAxNTYxMjIsIDI1NiwgMjQ0MTgsIDI1NiwgMjQ0MjcsIAorICAgIDI1NiwgMTQ1NjMsIDI1NiwgMjQ0NzQsIDI1NiwgMjQ1MjUsIDI1NiwgMjQ1MzUsIDI1NiwgMjQ1NjksIDI1NiwgMjQ3MDUsIAorICAgIDI1NiwgMTQ2NTAsIDI1NiwgMTQ2MjAsIDI1NiwgMjQ3MjQsIDI1NiwgMTQxMDEyLCAyNTYsIDI0Nzc1LCAyNTYsIDI0OTA0LCAKKyAgICAyNTYsIDI0OTA4LCAyNTYsIDI0OTEwLCAyNTYsIDI0OTA4LCAyNTYsIDI0OTU0LCAyNTYsIDI0OTc0LCAyNTYsIDI1MDEwLCAKKyAgICAyNTYsIDI0OTk2LCAyNTYsIDI1MDA3LCAyNTYsIDI1MDU0LCAyNTYsIDI1MDc0LCAyNTYsIDI1MDc4LCAyNTYsIDI1MTA0LCAKKyAgICAyNTYsIDI1MTE1LCAyNTYsIDI1MTgxLCAyNTYsIDI1MjY1LCAyNTYsIDI1MzAwLCAyNTYsIDI1NDI0LCAyNTYsIDE0MjA5MiwgCisgICAgMjU2LCAyNTQwNSwgMjU2LCAyNTM0MCwgMjU2LCAyNTQ0OCwgMjU2LCAyNTQ3NSwgMjU2LCAyNTU3MiwgMjU2LCAxNDIzMjEsIAorICAgIDI1NiwgMjU2MzQsIDI1NiwgMjU1NDEsIDI1NiwgMjU1MTMsIDI1NiwgMTQ4OTQsIDI1NiwgMjU3MDUsIDI1NiwgMjU3MjYsIAorICAgIDI1NiwgMjU3NTcsIDI1NiwgMjU3MTksIDI1NiwgMTQ5NTYsIDI1NiwgMjU5MzUsIDI1NiwgMjU5NjQsIDI1NiwgMTQzMzcwLCAKKyAgICAyNTYsIDI2MDgzLCAyNTYsIDI2MzYwLCAyNTYsIDI2MTg1LCAyNTYsIDE1MTI5LCAyNTYsIDI2MjU3LCAyNTYsIDE1MTEyLCAKKyAgICAyNTYsIDE1MDc2LCAyNTYsIDIwODgyLCAyNTYsIDIwODg1LCAyNTYsIDI2MzY4LCAyNTYsIDI2MjY4LCAyNTYsIDMyOTQxLCAKKyAgICAyNTYsIDE3MzY5LCAyNTYsIDI2MzkxLCAyNTYsIDI2Mzk1LCAyNTYsIDI2NDAxLCAyNTYsIDI2NDYyLCAyNTYsIDI2NDUxLCAKKyAgICAyNTYsIDE0NDMyMywgMjU2LCAxNTE3NywgMjU2LCAyNjYxOCwgMjU2LCAyNjUwMSwgMjU2LCAyNjcwNiwgMjU2LCAyNjc1NywgCisgICAgMjU2LCAxNDQ0OTMsIDI1NiwgMjY3NjYsIDI1NiwgMjY2NTUsIDI1NiwgMjY5MDAsIDI1NiwgMTUyNjEsIDI1NiwgMjY5NDYsIAorICAgIDI1NiwgMjcwNDMsIDI1NiwgMjcxMTQsIDI1NiwgMjczMDQsIDI1NiwgMTQ1MDU5LCAyNTYsIDI3MzU1LCAyNTYsIDE1Mzg0LCAKKyAgICAyNTYsIDI3NDI1LCAyNTYsIDE0NTU3NSwgMjU2LCAyNzQ3NiwgMjU2LCAxNTQzOCwgMjU2LCAyNzUwNiwgMjU2LCAyNzU1MSwgCisgICAgMjU2LCAyNzU3OCwgMjU2LCAyNzU3OSwgMjU2LCAxNDYwNjEsIDI1NiwgMTM4NTA3LCAyNTYsIDE0NjE3MCwgMjU2LCAKKyAgICAyNzcyNiwgMjU2LCAxNDY2MjAsIDI1NiwgMjc4MzksIDI1NiwgMjc4NTMsIDI1NiwgMjc3NTEsIDI1NiwgMjc5MjYsIDI1NiwgCisgICAgMjc5NjYsIDI1NiwgMjgwMjMsIDI1NiwgMjc5NjksIDI1NiwgMjgwMDksIDI1NiwgMjgwMjQsIDI1NiwgMjgwMzcsIDI1NiwgCisgICAgMTQ2NzE4LCAyNTYsIDI3OTU2LCAyNTYsIDI4MjA3LCAyNTYsIDI4MjcwLCAyNTYsIDE1NjY3LCAyNTYsIDI4MzYzLCAyNTYsIAorICAgIDI4MzU5LCAyNTYsIDE0NzE1MywgMjU2LCAyODE1MywgMjU2LCAyODUyNiwgMjU2LCAxNDcyOTQsIDI1NiwgMTQ3MzQyLCAKKyAgICAyNTYsIDI4NjE0LCAyNTYsIDI4NzI5LCAyNTYsIDI4NzAyLCAyNTYsIDI4Njk5LCAyNTYsIDE1NzY2LCAyNTYsIDI4NzQ2LCAKKyAgICAyNTYsIDI4Nzk3LCAyNTYsIDI4NzkxLCAyNTYsIDI4ODQ1LCAyNTYsIDEzMjM4OSwgMjU2LCAyODk5NywgMjU2LCAxNDgwNjcsIAorICAgIDI1NiwgMjkwODQsIDI1NiwgMTQ4Mzk1LCAyNTYsIDI5MjI0LCAyNTYsIDI5MjM3LCAyNTYsIDI5MjY0LCAyNTYsIDE0OTAwMCwgCisgICAgMjU2LCAyOTMxMiwgMjU2LCAyOTMzMywgMjU2LCAxNDkzMDEsIDI1NiwgMTQ5NTI0LCAyNTYsIDI5NTYyLCAyNTYsIDI5NTc5LCAKKyAgICAyNTYsIDE2MDQ0LCAyNTYsIDI5NjA1LCAyNTYsIDE2MDU2LCAyNTYsIDE2MDU2LCAyNTYsIDI5NzY3LCAyNTYsIDI5Nzg4LCAKKyAgICAyNTYsIDI5ODA5LCAyNTYsIDI5ODI5LCAyNTYsIDI5ODk4LCAyNTYsIDE2MTU1LCAyNTYsIDI5OTg4LCAyNTYsIDE1MDU4MiwgCisgICAgMjU2LCAzMDAxNCwgMjU2LCAxNTA2NzQsIDI1NiwgMzAwNjQsIDI1NiwgMTM5Njc5LCAyNTYsIDMwMjI0LCAyNTYsIAorICAgIDE1MTQ1NywgMjU2LCAxNTE0ODAsIDI1NiwgMTUxNjIwLCAyNTYsIDE2MzgwLCAyNTYsIDE2MzkyLCAyNTYsIDMwNDUyLCAKKyAgICAyNTYsIDE1MTc5NSwgMjU2LCAxNTE3OTQsIDI1NiwgMTUxODMzLCAyNTYsIDE1MTg1OSwgMjU2LCAzMDQ5NCwgMjU2LCAKKyAgICAzMDQ5NSwgMjU2LCAzMDQ5NSwgMjU2LCAzMDUzOCwgMjU2LCAxNjQ0MSwgMjU2LCAzMDYwMywgMjU2LCAxNjQ1NCwgMjU2LCAKKyAgICAxNjUzNCwgMjU2LCAxNTI2MDUsIDI1NiwgMzA3OTgsIDI1NiwgMzA4NjAsIDI1NiwgMzA5MjQsIDI1NiwgMTY2MTEsIDI1NiwgCisgICAgMTUzMTI2LCAyNTYsIDMxMDYyLCAyNTYsIDE1MzI0MiwgMjU2LCAxNTMyODUsIDI1NiwgMzExMTksIDI1NiwgMzEyMTEsIAorICAgIDI1NiwgMTY2ODcsIDI1NiwgMzEyOTYsIDI1NiwgMzEzMDYsIDI1NiwgMzEzMTEsIDI1NiwgMTUzOTgwLCAyNTYsIDE1NDI3OSwgCisgICAgMjU2LCAxNTQyNzksIDI1NiwgMzE0NzAsIDI1NiwgMTY4OTgsIDI1NiwgMTU0NTM5LCAyNTYsIDMxNjg2LCAyNTYsIDMxNjg5LCAKKyAgICAyNTYsIDE2OTM1LCAyNTYsIDE1NDc1MiwgMjU2LCAzMTk1NCwgMjU2LCAxNzA1NiwgMjU2LCAzMTk3NiwgMjU2LCAzMTk3MSwgCisgICAgMjU2LCAzMjAwMCwgMjU2LCAxNTU1MjYsIDI1NiwgMzIwOTksIDI1NiwgMTcxNTMsIDI1NiwgMzIxOTksIDI1NiwgMzIyNTgsIAorICAgIDI1NiwgMzIzMjUsIDI1NiwgMTcyMDQsIDI1NiwgMTU2MjAwLCAyNTYsIDE1NjIzMSwgMjU2LCAxNzI0MSwgMjU2LCAKKyAgICAxNTYzNzcsIDI1NiwgMzI2MzQsIDI1NiwgMTU2NDc4LCAyNTYsIDMyNjYxLCAyNTYsIDMyNzYyLCAyNTYsIDMyNzczLCAyNTYsIAorICAgIDE1Njg5MCwgMjU2LCAxNTY5NjMsIDI1NiwgMzI4NjQsIDI1NiwgMTU3MDk2LCAyNTYsIDMyODgwLCAyNTYsIDE0NDIyMywgCisgICAgMjU2LCAxNzM2NSwgMjU2LCAzMjk0NiwgMjU2LCAzMzAyNywgMjU2LCAxNzQxOSwgMjU2LCAzMzA4NiwgMjU2LCAyMzIyMSwgCisgICAgMjU2LCAxNTc2MDcsIDI1NiwgMTU3NjIxLCAyNTYsIDE0NDI3NSwgMjU2LCAxNDQyODQsIDI1NiwgMzMyODEsIDI1NiwgCisgICAgMzMyODQsIDI1NiwgMzY3NjYsIDI1NiwgMTc1MTUsIDI1NiwgMzM0MjUsIDI1NiwgMzM0MTksIDI1NiwgMzM0MzcsIDI1NiwgCisgICAgMjExNzEsIDI1NiwgMzM0NTcsIDI1NiwgMzM0NTksIDI1NiwgMzM0NjksIDI1NiwgMzM1MTAsIDI1NiwgMTU4NTI0LCAyNTYsIAorICAgIDMzNTA5LCAyNTYsIDMzNTY1LCAyNTYsIDMzNjM1LCAyNTYsIDMzNzA5LCAyNTYsIDMzNTcxLCAyNTYsIDMzNzI1LCAyNTYsIAorICAgIDMzNzY3LCAyNTYsIDMzODc5LCAyNTYsIDMzNjE5LCAyNTYsIDMzNzM4LCAyNTYsIDMzNzQwLCAyNTYsIDMzNzU2LCAyNTYsIAorICAgIDE1ODc3NCwgMjU2LCAxNTkwODMsIDI1NiwgMTU4OTMzLCAyNTYsIDE3NzA3LCAyNTYsIDM0MDMzLCAyNTYsIDM0MDM1LCAKKyAgICAyNTYsIDM0MDcwLCAyNTYsIDE2MDcxNCwgMjU2LCAzNDE0OCwgMjU2LCAxNTk1MzIsIDI1NiwgMTc3NTcsIDI1NiwgMTc3NjEsIAorICAgIDI1NiwgMTU5NjY1LCAyNTYsIDE1OTk1NCwgMjU2LCAxNzc3MSwgMjU2LCAzNDM4NCwgMjU2LCAzNDM5NiwgMjU2LCAzNDQwNywgCisgICAgMjU2LCAzNDQwOSwgMjU2LCAzNDQ3MywgMjU2LCAzNDQ0MCwgMjU2LCAzNDU3NCwgMjU2LCAzNDUzMCwgMjU2LCAzNDY4MSwgCisgICAgMjU2LCAzNDYwMCwgMjU2LCAzNDY2NywgMjU2LCAzNDY5NCwgMjU2LCAxNzg3OSwgMjU2LCAzNDc4NSwgMjU2LCAzNDgxNywgCisgICAgMjU2LCAxNzkxMywgMjU2LCAzNDkxMiwgMjU2LCAzNDkxNSwgMjU2LCAxNjEzODMsIDI1NiwgMzUwMzEsIDI1NiwgMzUwMzgsIAorICAgIDI1NiwgMTc5NzMsIDI1NiwgMzUwNjYsIDI1NiwgMTM0OTksIDI1NiwgMTYxOTY2LCAyNTYsIDE2MjE1MCwgMjU2LCAxODExMCwgCisgICAgMjU2LCAxODExOSwgMjU2LCAzNTQ4OCwgMjU2LCAzNTU2NSwgMjU2LCAzNTcyMiwgMjU2LCAzNTkyNSwgMjU2LCAxNjI5ODQsIAorICAgIDI1NiwgMzYwMTEsIDI1NiwgMzYwMzMsIDI1NiwgMzYxMjMsIDI1NiwgMzYyMTUsIDI1NiwgMTYzNjMxLCAyNTYsIDEzMzEyNCwgCisgICAgMjU2LCAzNjI5OSwgMjU2LCAzNjI4NCwgMjU2LCAzNjMzNiwgMjU2LCAxMzMzNDIsIDI1NiwgMzY1NjQsIDI1NiwgMzY2NjQsIAorICAgIDI1NiwgMTY1MzMwLCAyNTYsIDE2NTM1NywgMjU2LCAzNzAxMiwgMjU2LCAzNzEwNSwgMjU2LCAzNzEzNywgMjU2LCAKKyAgICAxNjU2NzgsIDI1NiwgMzcxNDcsIDI1NiwgMzc0MzIsIDI1NiwgMzc1OTEsIDI1NiwgMzc1OTIsIDI1NiwgMzc1MDAsIDI1NiwgCisgICAgMzc4ODEsIDI1NiwgMzc5MDksIDI1NiwgMTY2OTA2LCAyNTYsIDM4MjgzLCAyNTYsIDE4ODM3LCAyNTYsIDM4MzI3LCAyNTYsIAorICAgIDE2NzI4NywgMjU2LCAxODkxOCwgMjU2LCAzODU5NSwgMjU2LCAyMzk4NiwgMjU2LCAzODY5MSwgMjU2LCAxNjgyNjEsIDI1NiwgCisgICAgMTY4NDc0LCAyNTYsIDE5MDU0LCAyNTYsIDE5MDYyLCAyNTYsIDM4ODgwLCAyNTYsIDE2ODk3MCwgMjU2LCAxOTEyMiwgMjU2LCAKKyAgICAxNjkxMTAsIDI1NiwgMzg5MjMsIDI1NiwgMzg5MjMsIDI1NiwgMzg5NTMsIDI1NiwgMTY5Mzk4LCAyNTYsIDM5MTM4LCAyNTYsIAorICAgIDE5MjUxLCAyNTYsIDM5MjA5LCAyNTYsIDM5MzM1LCAyNTYsIDM5MzYyLCAyNTYsIDM5NDIyLCAyNTYsIDE5NDA2LCAyNTYsIAorICAgIDE3MDgwMCwgMjU2LCAzOTY5OCwgMjU2LCA0MDAwMCwgMjU2LCA0MDE4OSwgMjU2LCAxOTY2MiwgMjU2LCAxOTY5MywgMjU2LCAKKyAgICA0MDI5NSwgMjU2LCAxNzIyMzgsIDI1NiwgMTk3MDQsIDI1NiwgMTcyMjkzLCAyNTYsIDE3MjU1OCwgMjU2LCAxNzI2ODksIAorICAgIDI1NiwgNDA2MzUsIDI1NiwgMTk3OTgsIDI1NiwgNDA2OTcsIDI1NiwgNDA3MDIsIDI1NiwgNDA3MDksIDI1NiwgNDA3MTksIAorICAgIDI1NiwgNDA3MjYsIDI1NiwgNDA3NjMsIDI1NiwgMTczNTY4LCAKIH07CiAKIC8qIGluZGV4IHRhYmxlcyBmb3IgdGhlIGRlY29tcG9zaXRpb24gZGF0YSAqLwotI2RlZmluZSBERUNPTVBfU0hJRlQgOAorI2RlZmluZSBERUNPTVBfU0hJRlQgNwogc3RhdGljIHVuc2lnbmVkIGNoYXIgZGVjb21wX2luZGV4MVtdID0gewotICAgIDAsIDEsIDIsIDMsIDQsIDUsIDYsIDcsIDcsIDgsIDksIDEwLCAxMSwgMTIsIDEzLCAxNCwgMTUsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDE2LCA3LCAxNywgMTgsIDE5LCAyMCwgMjEsIDIyLCAyMywgMjQsIDcsIDcsIDcsIDcsIDcsIDI1LCAKLSAgICA3LCAyNiwgMjcsIDI4LCAyOSwgMzAsIDMxLCAzMiwgMzMsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDM0LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAzNSwgMzYsIDM3LCAzOCwgMzksIDQwLCAKLSAgICA0MSwgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNDIsIDQzLCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA0NCwgNywgNywgNDUsIAotICAgIDQ2LCA0NywgNDgsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDQ5LCA3LCA3LCA1MCwgNTEsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDUyLCA1MywgNTQsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAorICAgIDAsIDEsIDIsIDMsIDQsIDUsIDYsIDcsIDgsIDksIDAsIDEwLCAxMSwgMTIsIDAsIDAsIDAsIDAsIDEzLCAxNCwgMTUsIDAsIAorICAgIDE2LCAxNywgMTgsIDE5LCAyMCwgMjEsIDIyLCAyMywgMjQsIDI1LCAyNiwgMjcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI4LCAwLCAwLCAwLCAyOSwgMzAsIDMxLCAzMiwgMzMsIDM0LCAKKyAgICAzNSwgMzYsIDM3LCAzOCwgMzksIDQwLCA0MSwgMCwgNDIsIDQzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0NCwgCisgICAgNDUsIDAsIDAsIDQ2LCAwLCA0NywgMCwgMCwgNDgsIDQ5LCA1MCwgNTEsIDUyLCA1MywgNTQsIDU1LCA1NiwgNTcsIDU4LCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1OSwgNjAsIDYxLCAwLCAwLCAwLCAwLCAwLCAwLCA2MiwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNjMsIDY0LCA2NSwgNjYsIDY3LCA2OCwgNjksIDcwLCA3MSwgNzIsIDczLCAKKyAgICA3NCwgNzUsIDc2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA3NywgNzgsIDAsIDAsIDAsIDc5LCAwLCAwLCA4MCwgMCwgCisgICAgODEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDgyLCA4MywgMCwgMCwgMCwgMCwgODQsIDg1LCAKKyAgICA4NiwgODcsIDg4LCA4OSwgOTAsIDkxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCA5MiwgOTMsIDAsIDAsIDAsIDAsIDk0LCA5NSwgOTYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDk3LCA5OCwgOTksIDEwMCwgMTAxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKIH07CiAKIHN0YXRpYyB1bnNpZ25lZCBzaG9ydCBkZWNvbXBfaW5kZXgyW10gPSB7CkBAIC0zOTc4LDM4ICs0NDUzLDIyIEBACiAgICAgMCwgMCwgMCwgMCwgMTA2NiwgMTA2OSwgMTA3MiwgMTA3NSwgMCwgMCwgMTA3OCwgMTA4MSwgMCwgMCwgMTA4NCwgMTA4NywgCiAgICAgMTA5MCwgMTA5MywgMTA5NiwgMTA5OSwgMCwgMCwgMTEwMiwgMTEwNSwgMTEwOCwgMTExMSwgMTExNCwgMTExNywgMCwgMCwgCiAgICAgMTEyMCwgMTEyMywgMTEyNiwgMTEyOSwgMTEzMiwgMTEzNSwgMTEzOCwgMTE0MSwgMTE0NCwgMTE0NywgMTE1MCwgMTE1MywgCi0gICAgMCwgMCwgMTE1NiwgMTE1OSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMTE2MiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTE2NSwgMTE2OCwgMTE3MSwgMTE3NCwgCi0gICAgMTE3NywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTE4MCwgMTE4MywgMTE4NiwgMTE4OSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTE5MiwgMCwgMTE5NSwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTE5OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMTE1NiwgMTE1OSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTE2MiwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTE2NSwgMTE2OCwgMTE3MSwgMTE3NCwgMTE3NywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMTE4MCwgMTE4MywgMTE4NiwgMTE4OSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTE5MiwgMCwgMTE5NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMTE5OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTIwMSwgMCwgMCwgMCwgCkBAIC00MDMxLDE5MSArNDQ5MCwxNzUgQEAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAxMjY3LCAwLCAwLCAxMjcwLCAxMjczLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAxMjc2LCAxMjc5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMjgyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMjg1LCAxMjg4LCAxMjkxLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMjY3LCAwLCAwLCAxMjcwLCAxMjczLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMjc2LCAxMjc5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMjgyLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAxMjg1LCAxMjg4LCAxMjkxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAxMjk0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMjk0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMjk3LCAwLCAwLCAwLCAwLCAwLCAwLCAxMzAwLCAxMzAzLCAwLCAKLSAgICAxMzA2LCAxMzA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMzEyLCAxMzE1LCAxMzE4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAxMjk3LCAwLCAwLCAwLCAwLCAwLCAwLCAxMzAwLCAxMzAzLCAwLCAxMzA2LCAxMzA5LCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMzIxLCAwLCAxMzI0LCAxMzI3LCAxMzMwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMzMzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAxMzEyLCAxMzE1LCAxMzE4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMzM2LCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMzM5LCAxMzQyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAxMzIxLCAwLCAxMzI0LCAxMzI3LCAxMzMwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMzQ1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAxMzMzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMzM2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAxMzM5LCAxMzQyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMzQ1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMzQ3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAxMzUwLCAwLCAwLCAwLCAwLCAxMzUzLCAwLCAwLCAwLCAwLCAxMzU2LCAwLCAwLCAwLCAwLCAxMzU5LCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMzYyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMzY1LCAwLCAKKyAgICAxMzY4LCAxMzcxLCAxMzc0LCAxMzc3LCAxMzgwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMzgzLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMzg2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAxMzg5LCAwLCAwLCAwLCAwLCAxMzkyLCAwLCAwLCAwLCAwLCAxMzk1LCAwLCAwLCAwLCAwLCAxMzk4LCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNDAxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNDA0LCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNDA3LCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNDA5LCAwLCAxNDEyLCAwLCAxNDE1LCAwLCAxNDE4LCAwLCAxNDIxLCAwLCAwLCAKKyAgICAwLCAxNDI0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNDI3LCAwLCAxNDMwLCAKKyAgICAwLCAwLCAxNDMzLCAxNDM2LCAwLCAxNDM5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNDQyLCAxNDQ0LCAxNDQ2LCAwLCAKKyAgICAxNDQ4LCAxNDUwLCAxNDUyLCAxNDU0LCAxNDU2LCAxNDU4LCAxNDYwLCAxNDYyLCAxNDY0LCAxNDY2LCAxNDY4LCAwLCAKKyAgICAxNDcwLCAxNDcyLCAxNDc0LCAxNDc2LCAxNDc4LCAxNDgwLCAxNDgyLCAxNDg0LCAxNDg2LCAxNDg4LCAxNDkwLCAxNDkyLCAKKyAgICAxNDk0LCAxNDk2LCAxNDk4LCAxNTAwLCAxNTAyLCAxNTA0LCAwLCAxNTA2LCAxNTA4LCAxNTEwLCAxNTEyLCAxNTE0LCAKKyAgICAxNTE2LCAxNTE4LCAxNTIwLCAxNTIyLCAxNTI0LCAxNTI2LCAxNTI4LCAxNTMwLCAxNTMyLCAxNTM0LCAxNTM2LCAxNTM4LCAKKyAgICAxNTQwLCAxNTQyLCAxNTQ0LCAxNTQ2LCAxNTQ4LCAxNTUwLCAxNTUyLCAxNTU0LCAxNTU2LCAxNTU4LCAxNTYwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNTYyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAxMzQ3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMzUwLCAwLCAwLCAwLCAwLCAxMzUzLCAwLCAwLCAwLCAwLCAKLSAgICAxMzU2LCAwLCAwLCAwLCAwLCAxMzU5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMzYyLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMzY1LCAwLCAxMzY4LCAxMzcxLCAxMzc0LCAxMzc3LCAxMzgwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAxMzgzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMzg2LCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMzg5LCAwLCAwLCAwLCAwLCAxMzkyLCAwLCAwLCAwLCAwLCAxMzk1LCAwLCAKLSAgICAwLCAwLCAwLCAxMzk4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNDAxLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAxNTY0LCAxNTY2LCAxNTY4LCAxNTcwLCAxNTcyLCAxNTc0LCAxNTc2LCAxNTc4LCAxNTgwLCAxNTgyLCAxNTg0LCAxNTg2LCAKKyAgICAxNTg4LCAxNTkwLCAxNTkyLCAxNTk0LCAxNTk2LCAxNTk4LCAxNjAwLCAxNjAyLCAxNjA0LCAxNjA2LCAxNjA4LCAxNjEwLCAKKyAgICAxNjEyLCAxNjE0LCAxNjE2LCAxNjE4LCAxNjIwLCAxNjIyLCAxNjI0LCAxNjI2LCAxNjI4LCAxNjMwLCAxNjMyLCAxNjM0LCAKKyAgICAxNjM2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNjM4LCAxNjQxLCAxNjQ0LCAKKyAgICAxNjQ3LCAxNjUwLCAxNjUzLCAxNjU2LCAxNjU5LCAxNjYyLCAxNjY1LCAxNjY4LCAxNjcxLCAxNjc0LCAxNjc3LCAxNjgwLCAKKyAgICAxNjgzLCAxNjg2LCAxNjg5LCAxNjkyLCAxNjk1LCAxNjk4LCAxNzAxLCAxNzA0LCAxNzA3LCAxNzEwLCAxNzEzLCAxNzE2LCAKKyAgICAxNzE5LCAxNzIyLCAxNzI1LCAxNzI4LCAxNzMxLCAxNzM0LCAxNzM3LCAxNzQwLCAxNzQzLCAxNzQ2LCAxNzQ5LCAxNzUyLCAKKyAgICAxNzU1LCAxNzU4LCAxNzYxLCAxNzY0LCAxNzY3LCAxNzcwLCAxNzczLCAxNzc2LCAxNzc5LCAxNzgyLCAxNzg1LCAxNzg4LCAKKyAgICAxNzkxLCAxNzk0LCAxNzk3LCAxODAwLCAxODAzLCAxODA2LCAxODA5LCAxODEyLCAxODE1LCAxODE4LCAxODIxLCAxODI0LCAKKyAgICAxODI3LCAxODMwLCAxODMzLCAxODM2LCAxODM5LCAxODQyLCAxODQ1LCAxODQ4LCAxODUxLCAxODU0LCAxODU3LCAxODYwLCAKKyAgICAxODYzLCAxODY2LCAxODY5LCAxODcyLCAxODc1LCAxODc4LCAxODgxLCAxODg0LCAxODg3LCAxODkwLCAxODkzLCAxODk2LCAKKyAgICAxODk5LCAxOTAyLCAxOTA1LCAxOTA4LCAxOTExLCAxOTE0LCAxOTE3LCAxOTIwLCAxOTIzLCAxOTI2LCAxOTI5LCAxOTMyLCAKKyAgICAxOTM1LCAxOTM4LCAxOTQxLCAxOTQ0LCAxOTQ3LCAxOTUwLCAxOTUzLCAxOTU2LCAxOTU5LCAxOTYyLCAxOTY1LCAxOTY4LCAKKyAgICAxOTcxLCAxOTc0LCAxOTc3LCAxOTgwLCAxOTgzLCAxOTg2LCAxOTg5LCAxOTkyLCAxOTk1LCAxOTk4LCAyMDAxLCAyMDA0LCAKKyAgICAyMDA3LCAyMDEwLCAyMDEzLCAyMDE2LCAyMDE5LCAyMDIyLCAyMDI1LCAyMDI4LCAyMDMxLCAyMDM0LCAyMDM3LCAyMDQwLCAKKyAgICAyMDQzLCAyMDQ2LCAyMDQ5LCAyMDUyLCAyMDU1LCAyMDU4LCAyMDYxLCAyMDY0LCAyMDY3LCAyMDcwLCAyMDczLCAyMDc2LCAKKyAgICAyMDc5LCAyMDgyLCAyMDg1LCAyMDg4LCAyMDkxLCAyMDk0LCAyMDk3LCAyMTAwLCAyMTAzLCAwLCAwLCAwLCAwLCAyMTA2LCAKKyAgICAyMTA5LCAyMTEyLCAyMTE1LCAyMTE4LCAyMTIxLCAyMTI0LCAyMTI3LCAyMTMwLCAyMTMzLCAyMTM2LCAyMTM5LCAyMTQyLCAKKyAgICAyMTQ1LCAyMTQ4LCAyMTUxLCAyMTU0LCAyMTU3LCAyMTYwLCAyMTYzLCAyMTY2LCAyMTY5LCAyMTcyLCAyMTc1LCAyMTc4LCAKKyAgICAyMTgxLCAyMTg0LCAyMTg3LCAyMTkwLCAyMTkzLCAyMTk2LCAyMTk5LCAyMjAyLCAyMjA1LCAyMjA4LCAyMjExLCAyMjE0LCAKKyAgICAyMjE3LCAyMjIwLCAyMjIzLCAyMjI2LCAyMjI5LCAyMjMyLCAyMjM1LCAyMjM4LCAyMjQxLCAyMjQ0LCAyMjQ3LCAyMjUwLCAKKyAgICAyMjUzLCAyMjU2LCAyMjU5LCAyMjYyLCAyMjY1LCAyMjY4LCAyMjcxLCAyMjc0LCAyMjc3LCAyMjgwLCAyMjgzLCAyMjg2LCAKKyAgICAyMjg5LCAyMjkyLCAyMjk1LCAyMjk4LCAyMzAxLCAyMzA0LCAyMzA3LCAyMzEwLCAyMzEzLCAyMzE2LCAyMzE5LCAyMzIyLCAKKyAgICAyMzI1LCAyMzI4LCAyMzMxLCAyMzM0LCAyMzM3LCAyMzQwLCAyMzQzLCAyMzQ2LCAyMzQ5LCAyMzUyLCAyMzU1LCAyMzU4LCAKKyAgICAyMzYxLCAyMzY0LCAyMzY3LCAyMzcwLCAyMzczLCAwLCAwLCAwLCAwLCAwLCAwLCAyMzc2LCAyMzc5LCAyMzgyLCAyMzg1LCAKKyAgICAyMzg4LCAyMzkxLCAyMzk0LCAyMzk3LCAyNDAwLCAyNDAzLCAyNDA2LCAyNDA5LCAyNDEyLCAyNDE1LCAyNDE4LCAyNDIxLCAKKyAgICAyNDI0LCAyNDI3LCAyNDMwLCAyNDMzLCAyNDM2LCAyNDM5LCAwLCAwLCAyNDQyLCAyNDQ1LCAyNDQ4LCAyNDUxLCAyNDU0LCAKKyAgICAyNDU3LCAwLCAwLCAyNDYwLCAyNDYzLCAyNDY2LCAyNDY5LCAyNDcyLCAyNDc1LCAyNDc4LCAyNDgxLCAyNDg0LCAyNDg3LCAKKyAgICAyNDkwLCAyNDkzLCAyNDk2LCAyNDk5LCAyNTAyLCAyNTA1LCAyNTA4LCAyNTExLCAyNTE0LCAyNTE3LCAyNTIwLCAyNTIzLCAKKyAgICAyNTI2LCAyNTI5LCAyNTMyLCAyNTM1LCAyNTM4LCAyNTQxLCAyNTQ0LCAyNTQ3LCAyNTUwLCAyNTUzLCAyNTU2LCAyNTU5LCAKKyAgICAyNTYyLCAyNTY1LCAyNTY4LCAyNTcxLCAwLCAwLCAyNTc0LCAyNTc3LCAyNTgwLCAyNTgzLCAyNTg2LCAyNTg5LCAwLCAwLCAKKyAgICAyNTkyLCAyNTk1LCAyNTk4LCAyNjAxLCAyNjA0LCAyNjA3LCAyNjEwLCAyNjEzLCAwLCAyNjE2LCAwLCAyNjE5LCAwLCAKKyAgICAyNjIyLCAwLCAyNjI1LCAyNjI4LCAyNjMxLCAyNjM0LCAyNjM3LCAyNjQwLCAyNjQzLCAyNjQ2LCAyNjQ5LCAyNjUyLCAKKyAgICAyNjU1LCAyNjU4LCAyNjYxLCAyNjY0LCAyNjY3LCAyNjcwLCAyNjczLCAyNjc2LCAyNjc5LCAyNjgxLCAyNjg0LCAyNjg2LCAKKyAgICAyNjg5LCAyNjkxLCAyNjk0LCAyNjk2LCAyNjk5LCAyNzAxLCAyNzA0LCAyNzA2LCAyNzA5LCAwLCAwLCAyNzExLCAyNzE0LCAKKyAgICAyNzE3LCAyNzIwLCAyNzIzLCAyNzI2LCAyNzI5LCAyNzMyLCAyNzM1LCAyNzM4LCAyNzQxLCAyNzQ0LCAyNzQ3LCAyNzUwLCAKKyAgICAyNzUzLCAyNzU2LCAyNzU5LCAyNzYyLCAyNzY1LCAyNzY4LCAyNzcxLCAyNzc0LCAyNzc3LCAyNzgwLCAyNzgzLCAyNzg2LCAKKyAgICAyNzg5LCAyNzkyLCAyNzk1LCAyNzk4LCAyODAxLCAyODA0LCAyODA3LCAyODEwLCAyODEzLCAyODE2LCAyODE5LCAyODIyLCAKKyAgICAyODI1LCAyODI4LCAyODMxLCAyODM0LCAyODM3LCAyODQwLCAyODQzLCAyODQ2LCAyODQ5LCAyODUyLCAyODU1LCAyODU4LCAKKyAgICAyODYxLCAyODY0LCAyODY3LCAwLCAyODcwLCAyODczLCAyODc2LCAyODc5LCAyODgyLCAyODg1LCAyODg3LCAyODkwLCAKKyAgICAyODkzLCAyODk1LCAyODk4LCAyOTAxLCAyOTA0LCAyOTA3LCAyOTEwLCAwLCAyOTEzLCAyOTE2LCAyOTE5LCAyOTIyLCAKKyAgICAyOTI0LCAyOTI3LCAyOTI5LCAyOTMyLCAyOTM1LCAyOTM4LCAyOTQxLCAyOTQ0LCAyOTQ3LCAyOTUwLCAwLCAwLCAyOTUyLCAKKyAgICAyOTU1LCAyOTU4LCAyOTYxLCAyOTY0LCAyOTY3LCAwLCAyOTY5LCAyOTcyLCAyOTc1LCAyOTc4LCAyOTgxLCAyOTg0LCAKKyAgICAyOTg3LCAyOTg5LCAyOTkyLCAyOTk1LCAyOTk4LCAzMDAxLCAzMDA0LCAzMDA3LCAzMDEwLCAzMDEyLCAzMDE1LCAzMDE4LCAKKyAgICAzMDIwLCAwLCAwLCAzMDIyLCAzMDI1LCAzMDI4LCAwLCAzMDMxLCAzMDM0LCAzMDM3LCAzMDQwLCAzMDQyLCAzMDQ1LCAKKyAgICAzMDQ3LCAzMDUwLCAzMDUyLCAwLCAzMDU1LCAzMDU3LCAzMDU5LCAzMDYxLCAzMDYzLCAzMDY1LCAzMDY3LCAzMDY5LCAKKyAgICAzMDcxLCAzMDczLCAzMDc1LCAwLCAwLCAwLCAwLCAwLCAwLCAzMDc3LCAwLCAwLCAwLCAwLCAwLCAzMDc5LCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzMDgyLCAzMDg0LCAzMDg3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAzMDkxLCAwLCAwLCAwLCAzMDkzLCAzMDk2LCAwLCAzMTAwLCAzMTAzLCAwLCAwLCAwLCAwLCAzMTA3LCAwLCAzMTEwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzMTEzLCAzMTE2LCAzMTE5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAzMTIyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzMTI3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAzMTI5LCAzMTMxLCAwLCAwLCAzMTMzLCAzMTM1LCAzMTM3LCAzMTM5LCAzMTQxLCAzMTQzLCAKKyAgICAzMTQ1LCAzMTQ3LCAzMTQ5LCAzMTUxLCAzMTUzLCAzMTU1LCAzMTU3LCAzMTU5LCAzMTYxLCAzMTYzLCAzMTY1LCAzMTY3LCAKKyAgICAzMTY5LCAzMTcxLCAzMTczLCAzMTc1LCAzMTc3LCAzMTc5LCAzMTgxLCAzMTgzLCAzMTg1LCAwLCAzMTg3LCAzMTg5LCAKKyAgICAzMTkxLCAzMTkzLCAzMTk1LCAzMTk3LCAzMTk5LCAzMjAxLCAzMjAzLCAzMjA1LCAzMjA3LCAzMjA5LCAzMjExLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzMjEzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAzMjE2LCAzMjIwLCAzMjI0LCAzMjI2LCAwLCAzMjI5LCAzMjMzLCAzMjM3LCAwLCAzMjM5LCAzMjQyLCAzMjQ0LCAKKyAgICAzMjQ2LCAzMjQ4LCAzMjUwLCAzMjUyLCAzMjU0LCAzMjU2LCAzMjU4LCAzMjYwLCAwLCAzMjYyLCAzMjY0LCAwLCAwLCAKKyAgICAzMjY3LCAzMjY5LCAzMjcxLCAzMjczLCAzMjc1LCAwLCAwLCAzMjc3LCAzMjgwLCAzMjg0LCAwLCAzMjg3LCAwLCAzMjg5LCAKKyAgICAwLCAzMjkxLCAwLCAzMjkzLCAzMjk1LCAzMjk3LCAzMjk5LCAwLCAzMzAxLCAzMzAzLCAzMzA1LCAwLCAzMzA3LCAzMzA5LCAKKyAgICAzMzExLCAzMzEzLCAzMzE1LCAzMzE3LCAzMzE5LCAwLCAzMzIxLCAzMzI1LCAzMzI3LCAzMzI5LCAzMzMxLCAzMzMzLCAwLCAKKyAgICAwLCAwLCAwLCAzMzM1LCAzMzM3LCAzMzM5LCAzMzQxLCAzMzQzLCAwLCAwLCAwLCAwLCAwLCAwLCAzMzQ1LCAzMzQ5LCAKKyAgICAzMzUzLCAzMzU4LCAzMzYyLCAzMzY2LCAzMzcwLCAzMzc0LCAzMzc4LCAzMzgyLCAzMzg2LCAzMzkwLCAzMzk0LCAzMzk4LCAKKyAgICAzNDAyLCAzNDA2LCAzNDA5LCAzNDExLCAzNDE0LCAzNDE4LCAzNDIxLCAzNDIzLCAzNDI2LCAzNDMwLCAzNDM1LCAzNDM4LCAKKyAgICAzNDQwLCAzNDQzLCAzNDQ3LCAzNDQ5LCAzNDUxLCAzNDUzLCAzNDU1LCAzNDU3LCAzNDYwLCAzNDY0LCAzNDY3LCAzNDY5LCAKKyAgICAzNDcyLCAzNDc2LCAzNDgxLCAzNDg0LCAzNDg2LCAzNDg5LCAzNDkzLCAzNDk1LCAzNDk3LCAzNDk5LCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAzNTAxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAzNTA1LCAzNTA4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzNTExLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNDA0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAzNTE0LCAzNTE3LCAzNTIwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzNTIzLCAwLCAwLCAwLCAwLCAzNTI2LCAKKyAgICAwLCAwLCAzNTI5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAzNTMyLCAwLCAzNTM1LCAwLCAwLCAwLCAwLCAwLCAzNTM4LCAzNTQxLCAwLCAzNTQ1LCAzNTQ4LCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzNTUyLCAwLCAwLCAzNTU1LCAwLCAwLCAzNTU4LCAKKyAgICAwLCAzNTYxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAzNTY0LCAwLCAzNTY3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzNTcwLCAzNTczLCAzNTc2LCAzNTc5LCAKKyAgICAzNTgyLCAwLCAwLCAzNTg1LCAzNTg4LCAwLCAwLCAzNTkxLCAzNTk0LCAwLCAwLCAwLCAwLCAwLCAwLCAzNTk3LCAzNjAwLCAKKyAgICAwLCAwLCAzNjAzLCAzNjA2LCAwLCAwLCAzNjA5LCAzNjEyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzNjE1LCAKKyAgICAzNjE4LCAzNjIxLCAzNjI0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAzNjI3LCAzNjMwLCAzNjMzLCAzNjM2LCAwLCAwLCAwLCAwLCAwLCAwLCAzNjM5LCAzNjQyLCAKKyAgICAzNjQ1LCAzNjQ4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAxNDA3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNDA5LCAwLCAxNDEyLCAwLCAKLSAgICAxNDE1LCAwLCAxNDE4LCAwLCAxNDIxLCAwLCAwLCAwLCAxNDI0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAxNDI3LCAwLCAxNDMwLCAwLCAwLCAxNDMzLCAxNDM2LCAwLCAxNDM5LCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNDQyLCAxNDQ0LCAxNDQ2LCAwLCAxNDQ4LCAxNDUwLCAxNDUyLCAKLSAgICAxNDU0LCAxNDU2LCAxNDU4LCAxNDYwLCAxNDYyLCAxNDY0LCAxNDY2LCAxNDY4LCAwLCAxNDcwLCAxNDcyLCAxNDc0LCAKLSAgICAxNDc2LCAxNDc4LCAxNDgwLCAxNDgyLCAxNDg0LCAxNDg2LCAxNDg4LCAxNDkwLCAxNDkyLCAxNDk0LCAxNDk2LCAxNDk4LCAKLSAgICAxNTAwLCAxNTAyLCAxNTA0LCAwLCAxNTA2LCAxNTA4LCAxNTEwLCAxNTEyLCAxNTE0LCAxNTE2LCAxNTE4LCAxNTIwLCAKLSAgICAxNTIyLCAxNTI0LCAxNTI2LCAxNTI4LCAxNTMwLCAxNTMyLCAxNTM0LCAxNTM2LCAxNTM4LCAxNTQwLCAxNTQyLCAxNTQ0LCAKLSAgICAxNTQ2LCAxNTQ4LCAxNTUwLCAxNTUyLCAxNTU0LCAxNTU2LCAxNTU4LCAxNTYwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAxNTYyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNTY0LCAxNTY2LCAxNTY4LCAKLSAgICAxNTcwLCAxNTcyLCAxNTc0LCAxNTc2LCAxNTc4LCAxNTgwLCAxNTgyLCAxNTg0LCAxNTg2LCAxNTg4LCAxNTkwLCAxNTkyLCAKLSAgICAxNTk0LCAxNTk2LCAxNTk4LCAxNjAwLCAxNjAyLCAxNjA0LCAxNjA2LCAxNjA4LCAxNjEwLCAxNjEyLCAxNjE0LCAxNjE2LCAKLSAgICAxNjE4LCAxNjIwLCAxNjIyLCAxNjI0LCAxNjI2LCAxNjI4LCAxNjMwLCAxNjMyLCAxNjM0LCAxNjM2LCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNjM4LCAxNjQxLCAxNjQ0LCAxNjQ3LCAxNjUwLCAxNjUzLCAKLSAgICAxNjU2LCAxNjU5LCAxNjYyLCAxNjY1LCAxNjY4LCAxNjcxLCAxNjc0LCAxNjc3LCAxNjgwLCAxNjgzLCAxNjg2LCAxNjg5LCAKLSAgICAxNjkyLCAxNjk1LCAxNjk4LCAxNzAxLCAxNzA0LCAxNzA3LCAxNzEwLCAxNzEzLCAxNzE2LCAxNzE5LCAxNzIyLCAxNzI1LCAKLSAgICAxNzI4LCAxNzMxLCAxNzM0LCAxNzM3LCAxNzQwLCAxNzQzLCAxNzQ2LCAxNzQ5LCAxNzUyLCAxNzU1LCAxNzU4LCAxNzYxLCAKLSAgICAxNzY0LCAxNzY3LCAxNzcwLCAxNzczLCAxNzc2LCAxNzc5LCAxNzgyLCAxNzg1LCAxNzg4LCAxNzkxLCAxNzk0LCAxNzk3LCAKLSAgICAxODAwLCAxODAzLCAxODA2LCAxODA5LCAxODEyLCAxODE1LCAxODE4LCAxODIxLCAxODI0LCAxODI3LCAxODMwLCAxODMzLCAKLSAgICAxODM2LCAxODM5LCAxODQyLCAxODQ1LCAxODQ4LCAxODUxLCAxODU0LCAxODU3LCAxODYwLCAxODYzLCAxODY2LCAxODY5LCAKLSAgICAxODcyLCAxODc1LCAxODc4LCAxODgxLCAxODg0LCAxODg3LCAxODkwLCAxODkzLCAxODk2LCAxODk5LCAxOTAyLCAxOTA1LCAKLSAgICAxOTA4LCAxOTExLCAxOTE0LCAxOTE3LCAxOTIwLCAxOTIzLCAxOTI2LCAxOTI5LCAxOTMyLCAxOTM1LCAxOTM4LCAxOTQxLCAKLSAgICAxOTQ0LCAxOTQ3LCAxOTUwLCAxOTUzLCAxOTU2LCAxOTU5LCAxOTYyLCAxOTY1LCAxOTY4LCAxOTcxLCAxOTc0LCAxOTc3LCAKLSAgICAxOTgwLCAxOTgzLCAxOTg2LCAxOTg5LCAxOTkyLCAxOTk1LCAxOTk4LCAyMDAxLCAyMDA0LCAyMDA3LCAyMDEwLCAyMDEzLCAKLSAgICAyMDE2LCAyMDE5LCAyMDIyLCAyMDI1LCAyMDI4LCAyMDMxLCAyMDM0LCAyMDM3LCAyMDQwLCAyMDQzLCAyMDQ2LCAyMDQ5LCAKLSAgICAyMDUyLCAyMDU1LCAyMDU4LCAyMDYxLCAyMDY0LCAyMDY3LCAyMDcwLCAyMDczLCAyMDc2LCAyMDc5LCAyMDgyLCAyMDg1LCAKLSAgICAyMDg4LCAyMDkxLCAyMDk0LCAyMDk3LCAyMTAwLCAyMTAzLCAwLCAwLCAwLCAwLCAyMTA2LCAyMTA5LCAyMTEyLCAyMTE1LCAKLSAgICAyMTE4LCAyMTIxLCAyMTI0LCAyMTI3LCAyMTMwLCAyMTMzLCAyMTM2LCAyMTM5LCAyMTQyLCAyMTQ1LCAyMTQ4LCAyMTUxLCAKLSAgICAyMTU0LCAyMTU3LCAyMTYwLCAyMTYzLCAyMTY2LCAyMTY5LCAyMTcyLCAyMTc1LCAyMTc4LCAyMTgxLCAyMTg0LCAyMTg3LCAKLSAgICAyMTkwLCAyMTkzLCAyMTk2LCAyMTk5LCAyMjAyLCAyMjA1LCAyMjA4LCAyMjExLCAyMjE0LCAyMjE3LCAyMjIwLCAyMjIzLCAKLSAgICAyMjI2LCAyMjI5LCAyMjMyLCAyMjM1LCAyMjM4LCAyMjQxLCAyMjQ0LCAyMjQ3LCAyMjUwLCAyMjUzLCAyMjU2LCAyMjU5LCAKLSAgICAyMjYyLCAyMjY1LCAyMjY4LCAyMjcxLCAyMjc0LCAyMjc3LCAyMjgwLCAyMjgzLCAyMjg2LCAyMjg5LCAyMjkyLCAyMjk1LCAKLSAgICAyMjk4LCAyMzAxLCAyMzA0LCAyMzA3LCAyMzEwLCAyMzEzLCAyMzE2LCAyMzE5LCAyMzIyLCAyMzI1LCAyMzI4LCAyMzMxLCAKLSAgICAyMzM0LCAyMzM3LCAyMzQwLCAyMzQzLCAyMzQ2LCAyMzQ5LCAyMzUyLCAyMzU1LCAyMzU4LCAyMzYxLCAyMzY0LCAyMzY3LCAKLSAgICAyMzcwLCAyMzczLCAwLCAwLCAwLCAwLCAwLCAwLCAyMzc2LCAyMzc5LCAyMzgyLCAyMzg1LCAyMzg4LCAyMzkxLCAyMzk0LCAKLSAgICAyMzk3LCAyNDAwLCAyNDAzLCAyNDA2LCAyNDA5LCAyNDEyLCAyNDE1LCAyNDE4LCAyNDIxLCAyNDI0LCAyNDI3LCAyNDMwLCAKLSAgICAyNDMzLCAyNDM2LCAyNDM5LCAwLCAwLCAyNDQyLCAyNDQ1LCAyNDQ4LCAyNDUxLCAyNDU0LCAyNDU3LCAwLCAwLCAyNDYwLCAKLSAgICAyNDYzLCAyNDY2LCAyNDY5LCAyNDcyLCAyNDc1LCAyNDc4LCAyNDgxLCAyNDg0LCAyNDg3LCAyNDkwLCAyNDkzLCAyNDk2LCAKLSAgICAyNDk5LCAyNTAyLCAyNTA1LCAyNTA4LCAyNTExLCAyNTE0LCAyNTE3LCAyNTIwLCAyNTIzLCAyNTI2LCAyNTI5LCAyNTMyLCAKLSAgICAyNTM1LCAyNTM4LCAyNTQxLCAyNTQ0LCAyNTQ3LCAyNTUwLCAyNTUzLCAyNTU2LCAyNTU5LCAyNTYyLCAyNTY1LCAyNTY4LCAKLSAgICAyNTcxLCAwLCAwLCAyNTc0LCAyNTc3LCAyNTgwLCAyNTgzLCAyNTg2LCAyNTg5LCAwLCAwLCAyNTkyLCAyNTk1LCAyNTk4LCAKLSAgICAyNjAxLCAyNjA0LCAyNjA3LCAyNjEwLCAyNjEzLCAwLCAyNjE2LCAwLCAyNjE5LCAwLCAyNjIyLCAwLCAyNjI1LCAyNjI4LCAKLSAgICAyNjMxLCAyNjM0LCAyNjM3LCAyNjQwLCAyNjQzLCAyNjQ2LCAyNjQ5LCAyNjUyLCAyNjU1LCAyNjU4LCAyNjYxLCAyNjY0LCAKLSAgICAyNjY3LCAyNjcwLCAyNjczLCAyNjc2LCAyNjc5LCAyNjgxLCAyNjg0LCAyNjg2LCAyNjg5LCAyNjkxLCAyNjk0LCAyNjk2LCAKLSAgICAyNjk5LCAyNzAxLCAyNzA0LCAyNzA2LCAyNzA5LCAwLCAwLCAyNzExLCAyNzE0LCAyNzE3LCAyNzIwLCAyNzIzLCAyNzI2LCAKLSAgICAyNzI5LCAyNzMyLCAyNzM1LCAyNzM4LCAyNzQxLCAyNzQ0LCAyNzQ3LCAyNzUwLCAyNzUzLCAyNzU2LCAyNzU5LCAyNzYyLCAKLSAgICAyNzY1LCAyNzY4LCAyNzcxLCAyNzc0LCAyNzc3LCAyNzgwLCAyNzgzLCAyNzg2LCAyNzg5LCAyNzkyLCAyNzk1LCAyNzk4LCAKLSAgICAyODAxLCAyODA0LCAyODA3LCAyODEwLCAyODEzLCAyODE2LCAyODE5LCAyODIyLCAyODI1LCAyODI4LCAyODMxLCAyODM0LCAKLSAgICAyODM3LCAyODQwLCAyODQzLCAyODQ2LCAyODQ5LCAyODUyLCAyODU1LCAyODU4LCAyODYxLCAyODY0LCAyODY3LCAwLCAKLSAgICAyODcwLCAyODczLCAyODc2LCAyODc5LCAyODgyLCAyODg1LCAyODg3LCAyODkwLCAyODkzLCAyODk1LCAyODk4LCAyOTAxLCAKLSAgICAyOTA0LCAyOTA3LCAyOTEwLCAwLCAyOTEzLCAyOTE2LCAyOTE5LCAyOTIyLCAyOTI0LCAyOTI3LCAyOTI5LCAyOTMyLCAKLSAgICAyOTM1LCAyOTM4LCAyOTQxLCAyOTQ0LCAyOTQ3LCAyOTUwLCAwLCAwLCAyOTUyLCAyOTU1LCAyOTU4LCAyOTYxLCAyOTY0LCAKLSAgICAyOTY3LCAwLCAyOTY5LCAyOTcyLCAyOTc1LCAyOTc4LCAyOTgxLCAyOTg0LCAyOTg3LCAyOTg5LCAyOTkyLCAyOTk1LCAKLSAgICAyOTk4LCAzMDAxLCAzMDA0LCAzMDA3LCAzMDEwLCAzMDEyLCAzMDE1LCAzMDE4LCAzMDIwLCAwLCAwLCAzMDIyLCAzMDI1LCAKLSAgICAzMDI4LCAwLCAzMDMxLCAzMDM0LCAzMDM3LCAzMDQwLCAzMDQyLCAzMDQ1LCAzMDQ3LCAzMDUwLCAzMDUyLCAwLCAzMDU1LCAKLSAgICAzMDU3LCAzMDU5LCAzMDYxLCAzMDYzLCAzMDY1LCAzMDY3LCAzMDY5LCAzMDcxLCAzMDczLCAzMDc1LCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAzMDc3LCAwLCAwLCAwLCAwLCAwLCAzMDc5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAzMDgyLCAzMDg0LCAzMDg3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzMDkxLCAwLCAwLCAwLCAzMDkzLCAzMDk2LCAwLCAKLSAgICAzMTAwLCAzMTAzLCAwLCAwLCAwLCAwLCAzMTA3LCAwLCAzMTEwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzMTEzLCAKLSAgICAzMTE2LCAzMTE5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzMTIyLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAzMTI3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzMTI5LCAzMTMxLCAKLSAgICAwLCAwLCAzMTMzLCAzMTM1LCAzMTM3LCAzMTM5LCAzMTQxLCAzMTQzLCAzMTQ1LCAzMTQ3LCAzMTQ5LCAzMTUxLCAzMTUzLCAKLSAgICAzMTU1LCAzMTU3LCAzMTU5LCAzMTYxLCAzMTYzLCAzMTY1LCAzMTY3LCAzMTY5LCAzMTcxLCAzMTczLCAzMTc1LCAzMTc3LCAKLSAgICAzMTc5LCAzMTgxLCAzMTgzLCAzMTg1LCAwLCAzMTg3LCAzMTg5LCAzMTkxLCAzMTkzLCAzMTk1LCAzMTk3LCAzMTk5LCAKLSAgICAzMjAxLCAzMjAzLCAzMjA1LCAzMjA3LCAzMjA5LCAzMjExLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAzMjEzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzMjE2LCAzMjIwLCAzMjI0LCAKLSAgICAzMjI2LCAwLCAzMjI5LCAzMjMzLCAzMjM3LCAwLCAzMjM5LCAzMjQyLCAzMjQ0LCAzMjQ2LCAzMjQ4LCAzMjUwLCAzMjUyLCAKLSAgICAzMjU0LCAzMjU2LCAzMjU4LCAzMjYwLCAwLCAzMjYyLCAzMjY0LCAwLCAwLCAzMjY3LCAzMjY5LCAzMjcxLCAzMjczLCAKLSAgICAzMjc1LCAwLCAwLCAzMjc3LCAzMjgwLCAzMjg0LCAwLCAzMjg3LCAwLCAzMjg5LCAwLCAzMjkxLCAwLCAzMjkzLCAzMjk1LCAKLSAgICAzMjk3LCAzMjk5LCAwLCAzMzAxLCAzMzAzLCAzMzA1LCAwLCAzMzA3LCAzMzA5LCAzMzExLCAzMzEzLCAzMzE1LCAzMzE3LCAKLSAgICAzMzE5LCAwLCAzMzIxLCAzMzI1LCAzMzI3LCAzMzI5LCAzMzMxLCAzMzMzLCAwLCAwLCAwLCAwLCAzMzM1LCAzMzM3LCAKLSAgICAzMzM5LCAzMzQxLCAzMzQzLCAwLCAwLCAwLCAwLCAwLCAwLCAzMzQ1LCAzMzQ5LCAzMzUzLCAzMzU4LCAzMzYyLCAzMzY2LCAKLSAgICAzMzcwLCAzMzc0LCAzMzc4LCAzMzgyLCAzMzg2LCAzMzkwLCAzMzk0LCAzMzk4LCAzNDAyLCAzNDA2LCAzNDA5LCAzNDExLCAKLSAgICAzNDE0LCAzNDE4LCAzNDIxLCAzNDIzLCAzNDI2LCAzNDMwLCAzNDM1LCAzNDM4LCAzNDQwLCAzNDQzLCAzNDQ3LCAzNDQ5LCAKLSAgICAzNDUxLCAzNDUzLCAzNDU1LCAzNDU3LCAzNDYwLCAzNDY0LCAzNDY3LCAzNDY5LCAzNDcyLCAzNDc2LCAzNDgxLCAzNDg0LCAKLSAgICAzNDg2LCAzNDg5LCAzNDkzLCAzNDk1LCAzNDk3LCAzNDk5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzNTAxLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzNTA1LCAzNTA4LCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzNTExLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzNTE0LCAKLSAgICAzNTE3LCAzNTIwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzNTIzLCAwLCAwLCAwLCAwLCAzNTI2LCAwLCAwLCAzNTI5LCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzNTMyLCAwLCAzNTM1LCAKLSAgICAwLCAwLCAwLCAwLCAwLCAzNTM4LCAzNTQxLCAwLCAzNTQ1LCAzNTQ4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAzNTUyLCAwLCAwLCAzNTU1LCAwLCAwLCAzNTU4LCAwLCAzNTYxLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzNTY0LCAwLCAzNTY3LCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzNTcwLCAzNTczLCAzNTc2LCAzNTc5LCAzNTgyLCAwLCAwLCAzNTg1LCAzNTg4LCAKLSAgICAwLCAwLCAzNTkxLCAzNTk0LCAwLCAwLCAwLCAwLCAwLCAwLCAzNTk3LCAzNjAwLCAwLCAwLCAzNjAzLCAzNjA2LCAwLCAwLCAKLSAgICAzNjA5LCAzNjEyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzNjE1LCAzNjE4LCAzNjIxLCAzNjI0LCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzNjI3LCAKLSAgICAzNjMwLCAzNjMzLCAzNjM2LCAwLCAwLCAwLCAwLCAwLCAwLCAzNjM5LCAzNjQyLCAzNjQ1LCAzNjQ4LCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzNjUxLCAzNjUzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzNjUxLCAzNjUzLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKQEAgLTQyNTYsMjMgKzQ2OTksNyBAQAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDQxMDEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQxMDEsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQxMDMsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIApAQCAtNDM3MCwxNzIgKzQ3OTcsNyBAQAogICAgIDY1MzAsIDY1MzMsIDY1MzYsIDY1MzksIDY1NDIsIDY1NDUsIDY1NDgsIDY1NTEsIDY1NTQsIDY1NTgsIDY1NjIsIDY1NjYsIAogICAgIDY1NzAsIDY1NzQsIDY1NzgsIDY1ODIsIDY1ODYsIDY1OTAsIDY1OTQsIDY1OTgsIDY2MDIsIDY2MDYsIDY2MTAsIDY2MTQsIAogICAgIDY2MTgsIDY2MjIsIDY2MjYsIDY2MzAsIDY2MzQsIDY2MzgsIDY2NDIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDY2NDYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDY2NDgsIDY2NTAsIDAsIDAsIDAsIDAsIDAsIDAsIDY2NTIsIDY2NTQsIDY2NTYsIDY2NTgsIDY2NjAsIDY2NjIsIDY2NjQsIAotICAgIDY2NjYsIDY2NjgsIDY2NzAsIDY2NzIsIDY2NzQsIDY2NzYsIDY2NzgsIDY2ODAsIDY2ODIsIDY2ODQsIDY2ODYsIDY2ODgsIAotICAgIDY2OTAsIDY2OTIsIDY2OTQsIDY2OTYsIDY2OTgsIDY3MDAsIDY3MDIsIDY3MDQsIDY3MDYsIDY3MDgsIDY3MTAsIDY3MTIsIAotICAgIDY3MTQsIDY3MTYsIDY3MTgsIDY3MjAsIDY3MjIsIDY3MjQsIDY3MjYsIDY3MjgsIDY3MzAsIDY3MzIsIDY3MzQsIDY3MzYsIAotICAgIDY3MzgsIDY3NDAsIDY3NDIsIDY3NDQsIDY3NDYsIDY3NDgsIDY3NTAsIDY3NTIsIDY3NTQsIDY3NTYsIDY3NTgsIDY3NjAsIAotICAgIDY3NjIsIDY3NjQsIDY3NjYsIDY3NjgsIDY3NzAsIDY3NzIsIDY3NzQsIDY3NzYsIDY3NzgsIDY3ODAsIDY3ODIsIDY3ODQsIAotICAgIDY3ODYsIDY3ODgsIDY3OTAsIDY3OTIsIDY3OTQsIDY3OTYsIDY3OTgsIDY4MDAsIDY4MDIsIDY4MDQsIDY4MDYsIDY4MDgsIAotICAgIDY4MTAsIDY4MTIsIDY4MTQsIDY4MTYsIDY4MTgsIDY4MjAsIDY4MjIsIDY4MjQsIDY4MjYsIDY4MjgsIDY4MzAsIDY4MzIsIAotICAgIDY4MzQsIDY4MzYsIDY4MzgsIDY4NDAsIDY4NDIsIDY4NDQsIDY4NDYsIDY4NDgsIDY4NTAsIDY4NTIsIDY4NTQsIDY4NTYsIAotICAgIDY4NTgsIDY4NjAsIDY4NjIsIDY4NjQsIDY4NjYsIDY4NjgsIDY4NzAsIDY4NzIsIDY4NzQsIDY4NzYsIDY4NzgsIDY4ODAsIAotICAgIDY4ODIsIDY4ODQsIDY4ODYsIDY4ODgsIDY4OTAsIDY4OTIsIDY4OTQsIDY4OTYsIDY4OTgsIDY5MDAsIDY5MDIsIDY5MDQsIAotICAgIDY5MDYsIDY5MDgsIDY5MTAsIDY5MTIsIDY5MTQsIDY5MTYsIDY5MTgsIDY5MjAsIDY5MjIsIDY5MjQsIDY5MjYsIDY5MjgsIAotICAgIDY5MzAsIDY5MzIsIDY5MzQsIDY5MzYsIDY5MzgsIDY5NDAsIDY5NDIsIDY5NDQsIDY5NDYsIDY5NDgsIDY5NTAsIDY5NTIsIAotICAgIDY5NTQsIDY5NTYsIDY5NTgsIDY5NjAsIDY5NjIsIDY5NjQsIDY5NjYsIDY5NjgsIDY5NzAsIDY5NzIsIDY5NzQsIDY5NzYsIAotICAgIDY5NzgsIDY5ODAsIDY5ODIsIDY5ODQsIDY5ODYsIDY5ODgsIDY5OTAsIDY5OTIsIDY5OTQsIDY5OTYsIDY5OTgsIDcwMDAsIAotICAgIDcwMDIsIDcwMDQsIDcwMDYsIDcwMDgsIDcwMTAsIDcwMTIsIDcwMTQsIDcwMTYsIDcwMTgsIDcwMjAsIDcwMjIsIDcwMjQsIAotICAgIDcwMjYsIDcwMjgsIDcwMzAsIDcwMzIsIDcwMzQsIDcwMzYsIDcwMzgsIDcwNDAsIDcwNDIsIDcwNDQsIDcwNDYsIDcwNDgsIAotICAgIDcwNTAsIDcwNTIsIDcwNTQsIDcwNTYsIDcwNTgsIDcwNjAsIDcwNjIsIDcwNjQsIDcwNjYsIDcwNjgsIDcwNzAsIDcwNzIsIAotICAgIDcwNzQsIDcwNzYsIDcwNzgsIDcwODAsIDcwODIsIDcwODQsIDcwODYsIDcwODgsIDcwOTAsIDcwOTIsIDcwOTQsIDcwOTYsIAotICAgIDcwOTgsIDcxMDAsIDcxMDIsIDcxMDQsIDcxMDYsIDcxMDgsIDcxMTAsIDcxMTIsIDcxMTQsIDcxMTYsIDcxMTgsIDcxMjAsIAotICAgIDcxMjIsIDcxMjQsIDcxMjYsIDcxMjgsIDcxMzAsIDcxMzIsIDcxMzQsIDcxMzYsIDcxMzgsIDcxNDAsIDcxNDIsIDcxNDQsIAotICAgIDcxNDYsIDcxNDgsIDcxNTAsIDcxNTIsIDcxNTQsIDcxNTYsIDcxNTgsIDcxNjAsIDcxNjIsIDcxNjQsIDcxNjYsIDcxNjgsIAotICAgIDcxNzAsIDcxNzIsIDcxNzQsIDcxNzYsIDcxNzgsIDcxODAsIDcxODIsIDcxODQsIDcxODYsIDcxODgsIDcxOTAsIDAsIDAsIAotICAgIDcxOTIsIDAsIDcxOTQsIDAsIDAsIDcxOTYsIDcxOTgsIDcyMDAsIDcyMDIsIDcyMDQsIDcyMDYsIDcyMDgsIDcyMTAsIAotICAgIDcyMTIsIDcyMTQsIDAsIDcyMTYsIDAsIDcyMTgsIDAsIDAsIDcyMjAsIDcyMjIsIDAsIDAsIDAsIDcyMjQsIDcyMjYsIAotICAgIDcyMjgsIDcyMzAsIDcyMzIsIDcyMzQsIDcyMzYsIDcyMzgsIDcyNDAsIDcyNDIsIDcyNDQsIDcyNDYsIDcyNDgsIDcyNTAsIAotICAgIDcyNTIsIDcyNTQsIDcyNTYsIDcyNTgsIDcyNjAsIDcyNjIsIDcyNjQsIDcyNjYsIDcyNjgsIDcyNzAsIDcyNzIsIDcyNzQsIAotICAgIDcyNzYsIDcyNzgsIDcyODAsIDcyODIsIDcyODQsIDcyODYsIDcyODgsIDcyOTAsIDcyOTIsIDcyOTQsIDcyOTYsIDcyOTgsIAotICAgIDczMDAsIDczMDIsIDczMDQsIDczMDYsIDczMDgsIDczMTAsIDczMTIsIDczMTQsIDczMTYsIDczMTgsIDczMjAsIDczMjIsIAotICAgIDczMjQsIDczMjYsIDczMjgsIDczMzAsIDczMzIsIDczMzQsIDczMzYsIDczMzgsIDczNDAsIDczNDIsIDczNDQsIDczNDYsIAotICAgIDczNDgsIDczNTAsIDczNTIsIDczNTQsIDczNTYsIDczNTgsIDAsIDAsIDczNjAsIDczNjIsIDczNjQsIDczNjYsIDczNjgsIAotICAgIDczNzAsIDczNzIsIDczNzQsIDczNzYsIDczNzgsIDczODAsIDczODIsIDczODQsIDczODYsIDczODgsIDczOTAsIDczOTIsIAotICAgIDczOTQsIDczOTYsIDczOTgsIDc0MDAsIDc0MDIsIDc0MDQsIDc0MDYsIDc0MDgsIDc0MTAsIDc0MTIsIDc0MTQsIDc0MTYsIAotICAgIDc0MTgsIDc0MjAsIDc0MjIsIDc0MjQsIDc0MjYsIDc0MjgsIDc0MzAsIDc0MzIsIDc0MzQsIDc0MzYsIDc0MzgsIDc0NDAsIAotICAgIDc0NDIsIDc0NDQsIDc0NDYsIDc0NDgsIDc0NTAsIDc0NTIsIDc0NTQsIDc0NTYsIDc0NTgsIDc0NjAsIDc0NjIsIDc0NjQsIAotICAgIDc0NjYsIDc0NjgsIDc0NzAsIDc0NzIsIDc0NzQsIDc0NzYsIDc0NzgsIDc0ODAsIDc0ODIsIDc0ODQsIDc0ODYsIDc0ODgsIAotICAgIDc0OTAsIDc0OTIsIDc0OTQsIDc0OTYsIDc0OTgsIDc1MDAsIDc1MDIsIDc1MDQsIDc1MDYsIDc1MDgsIDc1MTAsIDc1MTIsIAotICAgIDc1MTQsIDc1MTYsIDc1MTgsIDc1MjAsIDc1MjIsIDc1MjQsIDc1MjYsIDc1MjgsIDc1MzAsIDc1MzIsIDc1MzQsIDc1MzYsIAotICAgIDc1MzgsIDc1NDAsIDc1NDIsIDc1NDQsIDc1NDYsIDc1NDgsIDc1NTAsIDc1NTIsIDc1NTQsIDc1NTYsIDc1NTgsIDc1NjAsIAotICAgIDc1NjIsIDc1NjQsIDc1NjYsIDc1NjgsIDc1NzAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDc1NzIsIDc1NzUsIDc1NzgsIDc1ODEsIDc1ODUsIDc1ODksIDc1OTIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDc1OTUsIDc1OTgsIDc2MDEsIDc2MDQsIDc2MDcsIDAsIDAsIDAsIDAsIDAsIDc2MTAsIDAsIDc2MTMsIDc2MTYsIAotICAgIDc2MTgsIDc2MjAsIDc2MjIsIDc2MjQsIDc2MjYsIDc2MjgsIDc2MzAsIDc2MzIsIDc2MzQsIDc2MzYsIDc2MzksIDc2NDIsIAotICAgIDc2NDUsIDc2NDgsIDc2NTEsIDc2NTQsIDc2NTcsIDc2NjAsIDc2NjMsIDc2NjYsIDc2NjksIDc2NzIsIDAsIDc2NzUsIAotICAgIDc2NzgsIDc2ODEsIDc2ODQsIDc2ODcsIDAsIDc2OTAsIDAsIDc2OTMsIDc2OTYsIDAsIDc2OTksIDc3MDIsIDAsIDc3MDUsIAotICAgIDc3MDgsIDc3MTEsIDc3MTQsIDc3MTcsIDc3MjAsIDc3MjMsIDc3MjYsIDc3MjksIDc3MzIsIDc3MzUsIDc3MzcsIDc3MzksIAotICAgIDc3NDEsIDc3NDMsIDc3NDUsIDc3NDcsIDc3NDksIDc3NTEsIDc3NTMsIDc3NTUsIDc3NTcsIDc3NTksIDc3NjEsIDc3NjMsIAotICAgIDc3NjUsIDc3NjcsIDc3NjksIDc3NzEsIDc3NzMsIDc3NzUsIDc3NzcsIDc3NzksIDc3ODEsIDc3ODMsIDc3ODUsIDc3ODcsIAotICAgIDc3ODksIDc3OTEsIDc3OTMsIDc3OTUsIDc3OTcsIDc3OTksIDc4MDEsIDc4MDMsIDc4MDUsIDc4MDcsIDc4MDksIDc4MTEsIAotICAgIDc4MTMsIDc4MTUsIDc4MTcsIDc4MTksIDc4MjEsIDc4MjMsIDc4MjUsIDc4MjcsIDc4MjksIDc4MzEsIDc4MzMsIDc4MzUsIAotICAgIDc4MzcsIDc4MzksIDc4NDEsIDc4NDMsIDc4NDUsIDc4NDcsIDc4NDksIDc4NTEsIDc4NTMsIDc4NTUsIDc4NTcsIDc4NTksIAotICAgIDc4NjEsIDc4NjMsIDc4NjUsIDc4NjcsIDc4NjksIDc4NzEsIDc4NzMsIDc4NzUsIDc4NzcsIDc4NzksIDc4ODEsIDc4ODMsIAotICAgIDc4ODUsIDc4ODcsIDc4ODksIDc4OTEsIDc4OTMsIDc4OTUsIDc4OTcsIDc4OTksIDc5MDEsIDc5MDMsIDc5MDUsIDc5MDcsIAotICAgIDc5MDksIDc5MTEsIDc5MTMsIDc5MTUsIDc5MTcsIDc5MTksIDc5MjEsIDc5MjMsIDc5MjUsIDc5MjcsIDc5MjksIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDc5MzEsIDc5MzMsIDc5MzUsIDc5MzcsIDc5MzksIDc5NDEsIDc5NDMsIDc5NDUsIAotICAgIDc5NDcsIDc5NDksIDc5NTEsIDc5NTMsIDc5NTUsIDc5NTcsIDc5NTksIDc5NjEsIDc5NjMsIDc5NjUsIDc5NjcsIDc5NjksIAotICAgIDc5NzEsIDc5NzMsIDc5NzUsIDc5NzcsIDc5ODAsIDc5ODMsIDc5ODYsIDc5ODksIDc5OTIsIDc5OTUsIDc5OTgsIDgwMDEsIAotICAgIDgwMDQsIDgwMDcsIDgwMTAsIDgwMTMsIDgwMTYsIDgwMTksIDgwMjIsIDgwMjUsIDgwMjgsIDgwMzEsIDgwMzMsIDgwMzUsIAotICAgIDgwMzcsIDgwMzksIDgwNDIsIDgwNDUsIDgwNDgsIDgwNTEsIDgwNTQsIDgwNTcsIDgwNjAsIDgwNjMsIDgwNjYsIDgwNjksIAotICAgIDgwNzIsIDgwNzUsIDgwNzgsIDgwODEsIDgwODQsIDgwODcsIDgwOTAsIDgwOTMsIDgwOTYsIDgwOTksIDgxMDIsIDgxMDUsIAotICAgIDgxMDgsIDgxMTEsIDgxMTQsIDgxMTcsIDgxMjAsIDgxMjMsIDgxMjYsIDgxMjksIDgxMzIsIDgxMzUsIDgxMzgsIDgxNDEsIAotICAgIDgxNDQsIDgxNDcsIDgxNTAsIDgxNTMsIDgxNTYsIDgxNTksIDgxNjIsIDgxNjUsIDgxNjgsIDgxNzEsIDgxNzQsIDgxNzcsIAotICAgIDgxODAsIDgxODMsIDgxODYsIDgxODksIDgxOTIsIDgxOTUsIDgxOTgsIDgyMDEsIDgyMDQsIDgyMDcsIDgyMTAsIDgyMTMsIAotICAgIDgyMTYsIDgyMTksIDgyMjIsIDgyMjUsIDgyMjgsIDgyMzEsIDgyMzQsIDgyMzcsIDgyNDAsIDgyNDMsIDgyNDYsIDgyNDksIAotICAgIDgyNTIsIDgyNTUsIDgyNTgsIDgyNjEsIDgyNjQsIDgyNjcsIDgyNzAsIDgyNzMsIDgyNzYsIDgyNzksIDgyODIsIDgyODUsIAotICAgIDgyODgsIDgyOTEsIDgyOTQsIDgyOTcsIDgzMDAsIDgzMDMsIDgzMDYsIDgzMDksIDgzMTIsIDgzMTUsIDgzMTgsIDgzMjEsIAotICAgIDgzMjUsIDgzMjksIDgzMzMsIDgzMzcsIDgzNDEsIDgzNDUsIDgzNDgsIDgzNTEsIDgzNTQsIDgzNTcsIDgzNjAsIDgzNjMsIAotICAgIDgzNjYsIDgzNjksIDgzNzIsIDgzNzUsIDgzNzgsIDgzODEsIDgzODQsIDgzODcsIDgzOTAsIDgzOTMsIDgzOTYsIDgzOTksIAotICAgIDg0MDIsIDg0MDUsIDg0MDgsIDg0MTEsIDg0MTQsIDg0MTcsIDg0MjAsIDg0MjMsIDg0MjYsIDg0MjksIDg0MzIsIDg0MzUsIAotICAgIDg0MzgsIDg0NDEsIDg0NDQsIDg0NDcsIDg0NTAsIDg0NTMsIDg0NTYsIDg0NTksIDg0NjIsIDg0NjUsIDg0NjgsIDg0NzEsIAotICAgIDg0NzQsIDg0NzcsIDg0ODAsIDg0ODMsIDg0ODYsIDg0ODksIDg0OTIsIDg0OTUsIDg0OTgsIDg1MDEsIDg1MDQsIDg1MDcsIAotICAgIDg1MTAsIDg1MTMsIDg1MTYsIDg1MTksIDg1MjIsIDg1MjUsIDg1MjgsIDg1MzEsIDg1MzQsIDg1MzcsIDg1NDAsIDg1NDMsIAotICAgIDg1NDYsIDg1NDksIDg1NTIsIDg1NTUsIDg1NTgsIDg1NjEsIDg1NjQsIDg1NjcsIDg1NzAsIDg1NzMsIDg1NzYsIDg1NzksIAotICAgIDg1ODIsIDg1ODUsIDg1ODgsIDg1OTEsIDg1OTQsIDg1OTcsIDg2MDAsIDg2MDMsIDg2MDYsIDg2MDksIDg2MTIsIDg2MTUsIAotICAgIDg2MTgsIDg2MjEsIDg2MjQsIDg2MjcsIDg2MzAsIDg2MzMsIDg2MzYsIDg2MzksIDg2NDIsIDg2NDUsIDg2NDgsIDg2NTEsIAotICAgIDg2NTQsIDg2NTcsIDg2NjAsIDg2NjMsIDg2NjYsIDg2NjksIDg2NzIsIDg2NzUsIDg2NzgsIDg2ODEsIDg2ODQsIDg2ODcsIAotICAgIDg2OTAsIDg2OTMsIDg2OTYsIDg2OTksIDg3MDIsIDg3MDUsIDg3MDgsIDg3MTEsIDg3MTQsIDg3MTcsIDg3MjAsIDg3MjMsIAotICAgIDg3MjYsIDg3MjksIDg3MzIsIDg3MzUsIDg3MzgsIDg3NDEsIDg3NDQsIDg3NDcsIDg3NTAsIDg3NTMsIDg3NTYsIDg3NTksIAotICAgIDg3NjIsIDg3NjUsIDg3NjgsIDg3NzEsIDg3NzUsIDg3NzksIDg3ODMsIDg3ODYsIDg3ODksIDg3OTIsIDg3OTUsIDg3OTgsIAotICAgIDg4MDEsIDg4MDQsIDg4MDcsIDg4MTAsIDg4MTMsIDg4MTYsIDg4MTksIDg4MjIsIDg4MjUsIDg4MjgsIDg4MzEsIDg4MzQsIAotICAgIDg4MzcsIDg4NDAsIDg4NDMsIDg4NDYsIDg4NDksIDg4NTIsIDg4NTUsIDg4NTgsIDg4NjEsIDg4NjQsIDg4NjcsIDg4NzAsIAotICAgIDg4NzMsIDg4NzYsIDg4NzksIDg4ODIsIDg4ODUsIDg4ODgsIDg4OTEsIDg4OTQsIDg4OTcsIDg5MDAsIDg5MDMsIDg5MDYsIAotICAgIDg5MDksIDg5MTIsIDg5MTUsIDg5MTgsIDg5MjEsIDg5MjQsIDg5MjcsIDg5MzAsIDg5MzMsIDg5MzYsIDg5MzksIDg5NDIsIAotICAgIDg5NDUsIDg5NDgsIDg5NTEsIDg5NTQsIDg5NTcsIDg5NjAsIDg5NjMsIDg5NjYsIDg5NjksIDg5NzIsIDg5NzUsIDg5NzgsIAotICAgIDg5ODEsIDg5ODQsIDg5ODcsIDg5OTAsIDg5OTMsIDg5OTYsIDg5OTksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDkwMDIsIDkwMDYsIDkwMTAsIDkwMTQsIDkwMTgsIDkwMjIsIDkwMjYsIDkwMzAsIAotICAgIDkwMzQsIDkwMzgsIDkwNDIsIDkwNDYsIDkwNTAsIDkwNTQsIDkwNTgsIDkwNjIsIDkwNjYsIDkwNzAsIDkwNzQsIDkwNzgsIAotICAgIDkwODIsIDkwODYsIDkwOTAsIDkwOTQsIDkwOTgsIDkxMDIsIDkxMDYsIDkxMTAsIDkxMTQsIDkxMTgsIDkxMjIsIDkxMjYsIAotICAgIDkxMzAsIDkxMzQsIDkxMzgsIDkxNDIsIDkxNDYsIDkxNTAsIDkxNTQsIDkxNTgsIDkxNjIsIDkxNjYsIDkxNzAsIDkxNzQsIAotICAgIDkxNzgsIDkxODIsIDkxODYsIDkxOTAsIDkxOTQsIDkxOTgsIDkyMDIsIDkyMDYsIDkyMTAsIDkyMTQsIDkyMTgsIDkyMjIsIAotICAgIDkyMjYsIDkyMzAsIDkyMzQsIDkyMzgsIDkyNDIsIDkyNDYsIDkyNTAsIDkyNTQsIDAsIDAsIDkyNTgsIDkyNjIsIDkyNjYsIAotICAgIDkyNzAsIDkyNzQsIDkyNzgsIDkyODIsIDkyODYsIDkyOTAsIDkyOTQsIDkyOTgsIDkzMDIsIDkzMDYsIDkzMTAsIDkzMTQsIAotICAgIDkzMTgsIDkzMjIsIDkzMjYsIDkzMzAsIDkzMzQsIDkzMzgsIDkzNDIsIDkzNDYsIDkzNTAsIDkzNTQsIDkzNTgsIDkzNjIsIAotICAgIDkzNjYsIDkzNzAsIDkzNzQsIDkzNzgsIDkzODIsIDkzODYsIDkzOTAsIDkzOTQsIDkzOTgsIDk0MDIsIDk0MDYsIDk0MTAsIAotICAgIDk0MTQsIDk0MTgsIDk0MjIsIDk0MjYsIDk0MzAsIDk0MzQsIDk0MzgsIDk0NDIsIDk0NDYsIDk0NTAsIDk0NTQsIDk0NTgsIAotICAgIDk0NjIsIDk0NjYsIDk0NzAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDk0NzQsIAotICAgIDk0NzgsIDk0ODIsIDk0ODcsIDk0OTIsIDk0OTcsIDk1MDIsIDk1MDcsIDk1MTIsIDk1MTcsIDk1MjEsIDk1NDAsIDk1NDksIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDk1NTQsIDk1NTYsIAotICAgIDk1NTgsIDk1NjAsIDk1NjIsIDk1NjQsIDk1NjYsIDk1NjgsIDk1NzAsIDk1NzIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDk1NzQsIDk1NzYsIDk1NzgsIDk1ODAsIDk1ODIsIAotICAgIDk1ODQsIDk1ODYsIDk1ODgsIDk1OTAsIDk1OTIsIDk1OTQsIDk1OTYsIDk1OTgsIDk2MDAsIDk2MDIsIDk2MDQsIDk2MDYsIAotICAgIDk2MDgsIDk2MTAsIDk2MTIsIDk2MTQsIDAsIDAsIDk2MTYsIDk2MTgsIDk2MjAsIDk2MjIsIDk2MjQsIDk2MjYsIDk2MjgsIAotICAgIDk2MzAsIDk2MzIsIDk2MzQsIDk2MzYsIDk2MzgsIDAsIDk2NDAsIDk2NDIsIDk2NDQsIDk2NDYsIDk2NDgsIDk2NTAsIAotICAgIDk2NTIsIDk2NTQsIDk2NTYsIDk2NTgsIDk2NjAsIDk2NjIsIDk2NjQsIDk2NjYsIDk2NjgsIDk2NzAsIDk2NzIsIDk2NzQsIAotICAgIDk2NzYsIDAsIDk2NzgsIDk2ODAsIDk2ODIsIDk2ODQsIDAsIDAsIDAsIDAsIDk2ODYsIDk2ODksIDk2OTIsIDAsIDk2OTUsIAotICAgIDAsIDk2OTgsIDk3MDEsIDk3MDQsIDk3MDcsIDk3MTAsIDk3MTMsIDk3MTYsIDk3MTksIDk3MjIsIDk3MjUsIDk3MjgsIAotICAgIDk3MzAsIDk3MzIsIDk3MzQsIDk3MzYsIDk3MzgsIDk3NDAsIDk3NDIsIDk3NDQsIDk3NDYsIDk3NDgsIDk3NTAsIDk3NTIsIAotICAgIDk3NTQsIDk3NTYsIDk3NTgsIDk3NjAsIDk3NjIsIDk3NjQsIDk3NjYsIDk3NjgsIDk3NzAsIDk3NzIsIDk3NzQsIDk3NzYsIAotICAgIDk3NzgsIDk3ODAsIDk3ODIsIDk3ODQsIDk3ODYsIDk3ODgsIDk3OTAsIDk3OTIsIDk3OTQsIDk3OTYsIDk3OTgsIDk4MDAsIAotICAgIDk4MDIsIDk4MDQsIDk4MDYsIDk4MDgsIDk4MTAsIDk4MTIsIDk4MTQsIDk4MTYsIDk4MTgsIDk4MjAsIDk4MjIsIDk4MjQsIAotICAgIDk4MjYsIDk4MjgsIDk4MzAsIDk4MzIsIDk4MzQsIDk4MzYsIDk4MzgsIDk4NDAsIDk4NDIsIDk4NDQsIDk4NDYsIDk4NDgsIAotICAgIDk4NTAsIDk4NTIsIDk4NTQsIDk4NTYsIDk4NTgsIDk4NjAsIDk4NjIsIDk4NjQsIDk4NjYsIDk4NjgsIDk4NzAsIDk4NzIsIAotICAgIDk4NzQsIDk4NzYsIDk4NzgsIDk4ODAsIDk4ODIsIDk4ODQsIDk4ODYsIDk4ODgsIDk4OTAsIDk4OTIsIDk4OTQsIDk4OTYsIAotICAgIDk4OTgsIDk5MDAsIDk5MDIsIDk5MDQsIDk5MDYsIDk5MDgsIDk5MTAsIDk5MTIsIDk5MTQsIDk5MTYsIDk5MTgsIDk5MjAsIAotICAgIDk5MjIsIDk5MjQsIDk5MjYsIDk5MjgsIDk5MzAsIDk5MzIsIDk5MzQsIDk5MzYsIDk5MzgsIDk5NDAsIDk5NDIsIDk5NDQsIAotICAgIDk5NDYsIDk5NDgsIDk5NTAsIDk5NTIsIDk5NTQsIDk5NTYsIDk5NTgsIDk5NjAsIDk5NjIsIDk5NjUsIDk5NjgsIDk5NzEsIAotICAgIDk5NzQsIDk5NzcsIDk5ODAsIDk5ODMsIDAsIDAsIDAsIDAsIDk5ODYsIDk5ODgsIDk5OTAsIDk5OTIsIDk5OTQsIDk5OTYsIAotICAgIDk5OTgsIDEwMDAwLCAxMDAwMiwgMTAwMDQsIDEwMDA2LCAxMDAwOCwgMTAwMTAsIDEwMDEyLCAxMDAxNCwgMTAwMTYsIAotICAgIDEwMDE4LCAxMDAyMCwgMTAwMjIsIDEwMDI0LCAxMDAyNiwgMTAwMjgsIDEwMDMwLCAxMDAzMiwgMTAwMzQsIDEwMDM2LCAKLSAgICAxMDAzOCwgMTAwNDAsIDEwMDQyLCAxMDA0NCwgMTAwNDYsIDEwMDQ4LCAxMDA1MCwgMTAwNTIsIDEwMDU0LCAxMDA1NiwgCi0gICAgMTAwNTgsIDEwMDYwLCAxMDA2MiwgMTAwNjQsIDEwMDY2LCAxMDA2OCwgMTAwNzAsIDEwMDcyLCAxMDA3NCwgMTAwNzYsIAotICAgIDEwMDc4LCAxMDA4MCwgMTAwODIsIDEwMDg0LCAxMDA4NiwgMTAwODgsIDEwMDkwLCAxMDA5MiwgMTAwOTQsIDEwMDk2LCAKLSAgICAxMDA5OCwgMTAxMDAsIDEwMTAyLCAxMDEwNCwgMTAxMDYsIDEwMTA4LCAxMDExMCwgMTAxMTIsIDEwMTE0LCAxMDExNiwgCi0gICAgMTAxMTgsIDEwMTIwLCAxMDEyMiwgMTAxMjQsIDEwMTI2LCAxMDEyOCwgMTAxMzAsIDEwMTMyLCAxMDEzNCwgMTAxMzYsIAotICAgIDEwMTM4LCAxMDE0MCwgMTAxNDIsIDEwMTQ0LCAxMDE0NiwgMTAxNDgsIDEwMTUwLCAxMDE1MiwgMTAxNTQsIDEwMTU2LCAKLSAgICAxMDE1OCwgMTAxNjAsIDEwMTYyLCAxMDE2NCwgMTAxNjYsIDEwMTY4LCAxMDE3MCwgMTAxNzIsIDEwMTc0LCAxMDE3NiwgCi0gICAgMTAxNzgsIDEwMTgwLCAxMDE4MiwgMTAxODQsIDEwMTg2LCAxMDE4OCwgMTAxOTAsIDEwMTkyLCAxMDE5NCwgMTAxOTYsIAotICAgIDEwMTk4LCAxMDIwMCwgMTAyMDIsIDEwMjA0LCAxMDIwNiwgMTAyMDgsIDEwMjEwLCAxMDIxMiwgMTAyMTQsIDEwMjE2LCAKLSAgICAxMDIxOCwgMTAyMjAsIDEwMjIyLCAxMDIyNCwgMTAyMjYsIDEwMjI4LCAxMDIzMCwgMTAyMzIsIDEwMjM0LCAxMDIzNiwgCi0gICAgMTAyMzgsIDEwMjQwLCAxMDI0MiwgMTAyNDQsIDEwMjQ2LCAxMDI0OCwgMTAyNTAsIDEwMjUyLCAxMDI1NCwgMTAyNTYsIAotICAgIDEwMjU4LCAxMDI2MCwgMTAyNjIsIDEwMjY0LCAxMDI2NiwgMTAyNjgsIDEwMjcwLCAxMDI3MiwgMTAyNzQsIDEwMjc2LCAKLSAgICAxMDI3OCwgMTAyODAsIDEwMjgyLCAxMDI4NCwgMTAyODYsIDEwMjg4LCAxMDI5MCwgMTAyOTIsIDEwMjk0LCAxMDI5NiwgCi0gICAgMTAyOTgsIDEwMzAwLCAxMDMwMiwgMTAzMDQsIDEwMzA2LCAxMDMwOCwgMTAzMTAsIDEwMzEyLCAxMDMxNCwgMTAzMTYsIAotICAgIDEwMzE4LCAxMDMyMCwgMTAzMjIsIDEwMzI0LCAxMDMyNiwgMTAzMjgsIDEwMzMwLCAxMDMzMiwgMTAzMzQsIDEwMzM2LCAKLSAgICAxMDMzOCwgMTAzNDAsIDEwMzQyLCAxMDM0NCwgMTAzNDYsIDEwMzQ4LCAxMDM1MCwgMTAzNTIsIDEwMzU0LCAxMDM1NiwgCi0gICAgMTAzNTgsIDEwMzYwLCAxMDM2MiwgMTAzNjQsIDAsIDAsIDAsIDEwMzY2LCAxMDM2OCwgMTAzNzAsIDEwMzcyLCAxMDM3NCwgCi0gICAgMTAzNzYsIDAsIDAsIDEwMzc4LCAxMDM4MCwgMTAzODIsIDEwMzg0LCAxMDM4NiwgMTAzODgsIDAsIDAsIDEwMzkwLCAKLSAgICAxMDM5MiwgMTAzOTQsIDEwMzk2LCAxMDM5OCwgMTA0MDAsIDAsIDAsIDEwNDAyLCAxMDQwNCwgMTA0MDYsIDAsIDAsIDAsIAotICAgIDEwNDA4LCAxMDQxMCwgMTA0MTIsIDEwNDE0LCAxMDQxNiwgMTA0MTgsIDEwNDIwLCAwLCAxMDQyMiwgMTA0MjQsIDEwNDI2LCAKLSAgICAxMDQyOCwgMTA0MzAsIDEwNDMyLCAxMDQzNCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTA0MzYsIDAsIDEwNDM5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMDQ0MiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTA0NDUsIDEwNDQ4LCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA2NjQ2LCA2NjQ4LCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKQEAgLTQ1NDQsNjExICs0ODA2LDgxMyBAQAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDY2NTAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEwNDUxLCAxMDQ1NCwgMTA0NTcsIDEwNDYwLCAxMDQ2MywgCi0gICAgMTA0NjYsIDEwNDY5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA2NjUyLCA2NjU0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMDQ3MiwgMTA0NzUsIAotICAgIDEwNDc4LCAxMDQ4MSwgMTA0ODQsIDEwNDg3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA2NjU2LCA2NjU4LCA2NjYwLCA2NjYyLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAxMDQ5MCwgMTA0OTIsIDEwNDk0LCAxMDQ5NiwgMTA0OTgsIDEwNTAwLCAxMDUwMiwgMTA1MDQsIDEwNTA2LCAxMDUwOCwgCi0gICAgMTA1MTAsIDEwNTEyLCAxMDUxNCwgMTA1MTYsIDEwNTE4LCAxMDUyMCwgMTA1MjIsIDEwNTI0LCAxMDUyNiwgMTA1MjgsIAotICAgIDEwNTMwLCAxMDUzMiwgMTA1MzQsIDEwNTM2LCAxMDUzOCwgMTA1NDAsIDEwNTQyLCAxMDU0NCwgMTA1NDYsIDEwNTQ4LCAKLSAgICAxMDU1MCwgMTA1NTIsIDEwNTU0LCAxMDU1NiwgMTA1NTgsIDEwNTYwLCAxMDU2MiwgMTA1NjQsIDEwNTY2LCAxMDU2OCwgCi0gICAgMTA1NzAsIDEwNTcyLCAxMDU3NCwgMTA1NzYsIDEwNTc4LCAxMDU4MCwgMTA1ODIsIDEwNTg0LCAxMDU4NiwgMTA1ODgsIAotICAgIDEwNTkwLCAxMDU5MiwgMTA1OTQsIDEwNTk2LCAxMDU5OCwgMTA2MDAsIDEwNjAyLCAxMDYwNCwgMTA2MDYsIDEwNjA4LCAKLSAgICAxMDYxMCwgMTA2MTIsIDEwNjE0LCAxMDYxNiwgMTA2MTgsIDEwNjIwLCAxMDYyMiwgMTA2MjQsIDEwNjI2LCAxMDYyOCwgCi0gICAgMTA2MzAsIDEwNjMyLCAxMDYzNCwgMTA2MzYsIDEwNjM4LCAxMDY0MCwgMTA2NDIsIDEwNjQ0LCAxMDY0NiwgMTA2NDgsIAotICAgIDEwNjUwLCAxMDY1MiwgMTA2NTQsIDEwNjU2LCAxMDY1OCwgMCwgMTA2NjAsIDEwNjYyLCAxMDY2NCwgMTA2NjYsIDEwNjY4LCAKLSAgICAxMDY3MCwgMTA2NzIsIDEwNjc0LCAxMDY3NiwgMTA2NzgsIDEwNjgwLCAxMDY4MiwgMTA2ODQsIDEwNjg2LCAxMDY4OCwgCi0gICAgMTA2OTAsIDEwNjkyLCAxMDY5NCwgMTA2OTYsIDEwNjk4LCAxMDcwMCwgMTA3MDIsIDEwNzA0LCAxMDcwNiwgMTA3MDgsIAotICAgIDEwNzEwLCAxMDcxMiwgMTA3MTQsIDEwNzE2LCAxMDcxOCwgMTA3MjAsIDEwNzIyLCAxMDcyNCwgMTA3MjYsIDEwNzI4LCAKLSAgICAxMDczMCwgMTA3MzIsIDEwNzM0LCAxMDczNiwgMTA3MzgsIDEwNzQwLCAxMDc0MiwgMTA3NDQsIDEwNzQ2LCAxMDc0OCwgCi0gICAgMTA3NTAsIDEwNzUyLCAxMDc1NCwgMTA3NTYsIDEwNzU4LCAxMDc2MCwgMTA3NjIsIDEwNzY0LCAxMDc2NiwgMTA3NjgsIAotICAgIDEwNzcwLCAxMDc3MiwgMTA3NzQsIDEwNzc2LCAxMDc3OCwgMTA3ODAsIDEwNzgyLCAxMDc4NCwgMTA3ODYsIDEwNzg4LCAKLSAgICAxMDc5MCwgMTA3OTIsIDEwNzk0LCAxMDc5NiwgMTA3OTgsIDEwODAwLCAwLCAxMDgwMiwgMTA4MDQsIDAsIDAsIDEwODA2LCAKLSAgICAwLCAwLCAxMDgwOCwgMTA4MTAsIDAsIDAsIDEwODEyLCAxMDgxNCwgMTA4MTYsIDEwODE4LCAwLCAxMDgyMCwgMTA4MjIsIAotICAgIDEwODI0LCAxMDgyNiwgMTA4MjgsIDEwODMwLCAxMDgzMiwgMTA4MzQsIDEwODM2LCAxMDgzOCwgMTA4NDAsIDEwODQyLCAwLCAKLSAgICAxMDg0NCwgMCwgMTA4NDYsIDEwODQ4LCAxMDg1MCwgMTA4NTIsIDEwODU0LCAxMDg1NiwgMTA4NTgsIDAsIDEwODYwLCAKLSAgICAxMDg2MiwgMTA4NjQsIDEwODY2LCAxMDg2OCwgMTA4NzAsIDEwODcyLCAxMDg3NCwgMTA4NzYsIDEwODc4LCAxMDg4MCwgCi0gICAgMTA4ODIsIDEwODg0LCAxMDg4NiwgMTA4ODgsIDEwODkwLCAxMDg5MiwgMTA4OTQsIDEwODk2LCAxMDg5OCwgMTA5MDAsIAotICAgIDEwOTAyLCAxMDkwNCwgMTA5MDYsIDEwOTA4LCAxMDkxMCwgMTA5MTIsIDEwOTE0LCAxMDkxNiwgMTA5MTgsIDEwOTIwLCAKLSAgICAxMDkyMiwgMTA5MjQsIDEwOTI2LCAxMDkyOCwgMTA5MzAsIDEwOTMyLCAxMDkzNCwgMTA5MzYsIDEwOTM4LCAxMDk0MCwgCi0gICAgMTA5NDIsIDEwOTQ0LCAxMDk0NiwgMTA5NDgsIDEwOTUwLCAxMDk1MiwgMTA5NTQsIDEwOTU2LCAxMDk1OCwgMTA5NjAsIAotICAgIDEwOTYyLCAxMDk2NCwgMTA5NjYsIDEwOTY4LCAxMDk3MCwgMTA5NzIsIDEwOTc0LCAxMDk3NiwgMTA5NzgsIDEwOTgwLCAKLSAgICAxMDk4MiwgMTA5ODQsIDEwOTg2LCAxMDk4OCwgMCwgMTA5OTAsIDEwOTkyLCAxMDk5NCwgMTA5OTYsIDAsIDAsIDEwOTk4LCAKLSAgICAxMTAwMCwgMTEwMDIsIDExMDA0LCAxMTAwNiwgMTEwMDgsIDExMDEwLCAxMTAxMiwgMCwgMTEwMTQsIDExMDE2LCAxMTAxOCwgCi0gICAgMTEwMjAsIDExMDIyLCAxMTAyNCwgMTEwMjYsIDAsIDExMDI4LCAxMTAzMCwgMTEwMzIsIDExMDM0LCAxMTAzNiwgMTEwMzgsIAotICAgIDExMDQwLCAxMTA0MiwgMTEwNDQsIDExMDQ2LCAxMTA0OCwgMTEwNTAsIDExMDUyLCAxMTA1NCwgMTEwNTYsIDExMDU4LCAKLSAgICAxMTA2MCwgMTEwNjIsIDExMDY0LCAxMTA2NiwgMTEwNjgsIDExMDcwLCAxMTA3MiwgMTEwNzQsIDExMDc2LCAxMTA3OCwgCi0gICAgMTEwODAsIDExMDgyLCAwLCAxMTA4NCwgMTEwODYsIDExMDg4LCAxMTA5MCwgMCwgMTEwOTIsIDExMDk0LCAxMTA5NiwgCi0gICAgMTEwOTgsIDExMTAwLCAwLCAxMTEwMiwgMCwgMCwgMCwgMTExMDQsIDExMTA2LCAxMTEwOCwgMTExMTAsIDExMTEyLCAKLSAgICAxMTExNCwgMTExMTYsIDAsIDExMTE4LCAxMTEyMCwgMTExMjIsIDExMTI0LCAxMTEyNiwgMTExMjgsIDExMTMwLCAxMTEzMiwgCi0gICAgMTExMzQsIDExMTM2LCAxMTEzOCwgMTExNDAsIDExMTQyLCAxMTE0NCwgMTExNDYsIDExMTQ4LCAxMTE1MCwgMTExNTIsIAotICAgIDExMTU0LCAxMTE1NiwgMTExNTgsIDExMTYwLCAxMTE2MiwgMTExNjQsIDExMTY2LCAxMTE2OCwgMTExNzAsIDExMTcyLCAKLSAgICAxMTE3NCwgMTExNzYsIDExMTc4LCAxMTE4MCwgMTExODIsIDExMTg0LCAxMTE4NiwgMTExODgsIDExMTkwLCAxMTE5MiwgCi0gICAgMTExOTQsIDExMTk2LCAxMTE5OCwgMTEyMDAsIDExMjAyLCAxMTIwNCwgMTEyMDYsIDExMjA4LCAxMTIxMCwgMTEyMTIsIAotICAgIDExMjE0LCAxMTIxNiwgMTEyMTgsIDExMjIwLCAxMTIyMiwgMTEyMjQsIDExMjI2LCAxMTIyOCwgMTEyMzAsIDExMjMyLCAKLSAgICAxMTIzNCwgMTEyMzYsIDExMjM4LCAxMTI0MCwgMTEyNDIsIDExMjQ0LCAxMTI0NiwgMTEyNDgsIDExMjUwLCAxMTI1MiwgCi0gICAgMTEyNTQsIDExMjU2LCAxMTI1OCwgMTEyNjAsIDExMjYyLCAxMTI2NCwgMTEyNjYsIDExMjY4LCAxMTI3MCwgMTEyNzIsIAotICAgIDExMjc0LCAxMTI3NiwgMTEyNzgsIDExMjgwLCAxMTI4MiwgMTEyODQsIDExMjg2LCAxMTI4OCwgMTEyOTAsIDExMjkyLCAKLSAgICAxMTI5NCwgMTEyOTYsIDExMjk4LCAxMTMwMCwgMTEzMDIsIDExMzA0LCAxMTMwNiwgMTEzMDgsIDExMzEwLCAxMTMxMiwgCi0gICAgMTEzMTQsIDExMzE2LCAxMTMxOCwgMTEzMjAsIDExMzIyLCAxMTMyNCwgMTEzMjYsIDExMzI4LCAxMTMzMCwgMTEzMzIsIAotICAgIDExMzM0LCAxMTMzNiwgMTEzMzgsIDExMzQwLCAxMTM0MiwgMTEzNDQsIDExMzQ2LCAxMTM0OCwgMTEzNTAsIDExMzUyLCAKLSAgICAxMTM1NCwgMTEzNTYsIDExMzU4LCAxMTM2MCwgMTEzNjIsIDExMzY0LCAxMTM2NiwgMTEzNjgsIDExMzcwLCAxMTM3MiwgCi0gICAgMTEzNzQsIDExMzc2LCAxMTM3OCwgMTEzODAsIDExMzgyLCAxMTM4NCwgMTEzODYsIDExMzg4LCAxMTM5MCwgMTEzOTIsIAotICAgIDExMzk0LCAxMTM5NiwgMTEzOTgsIDExNDAwLCAxMTQwMiwgMTE0MDQsIDExNDA2LCAxMTQwOCwgMTE0MTAsIDExNDEyLCAKLSAgICAxMTQxNCwgMTE0MTYsIDExNDE4LCAxMTQyMCwgMTE0MjIsIDExNDI0LCAxMTQyNiwgMTE0MjgsIDExNDMwLCAxMTQzMiwgCi0gICAgMTE0MzQsIDExNDM2LCAxMTQzOCwgMTE0NDAsIDExNDQyLCAxMTQ0NCwgMTE0NDYsIDExNDQ4LCAxMTQ1MCwgMTE0NTIsIAotICAgIDExNDU0LCAxMTQ1NiwgMTE0NTgsIDExNDYwLCAxMTQ2MiwgMTE0NjQsIDExNDY2LCAxMTQ2OCwgMTE0NzAsIDExNDcyLCAKLSAgICAxMTQ3NCwgMTE0NzYsIDExNDc4LCAxMTQ4MCwgMTE0ODIsIDExNDg0LCAxMTQ4NiwgMTE0ODgsIDExNDkwLCAxMTQ5MiwgCi0gICAgMTE0OTQsIDExNDk2LCAxMTQ5OCwgMTE1MDAsIDExNTAyLCAxMTUwNCwgMTE1MDYsIDExNTA4LCAxMTUxMCwgMTE1MTIsIAotICAgIDExNTE0LCAxMTUxNiwgMTE1MTgsIDExNTIwLCAxMTUyMiwgMTE1MjQsIDExNTI2LCAxMTUyOCwgMTE1MzAsIDExNTMyLCAKLSAgICAxMTUzNCwgMTE1MzYsIDExNTM4LCAxMTU0MCwgMTE1NDIsIDExNTQ0LCAxMTU0NiwgMTE1NDgsIDExNTUwLCAxMTU1MiwgCi0gICAgMTE1NTQsIDExNTU2LCAxMTU1OCwgMTE1NjAsIDExNTYyLCAxMTU2NCwgMTE1NjYsIDExNTY4LCAxMTU3MCwgMTE1NzIsIAotICAgIDExNTc0LCAxMTU3NiwgMTE1NzgsIDExNTgwLCAxMTU4MiwgMTE1ODQsIDExNTg2LCAxMTU4OCwgMTE1OTAsIDExNTkyLCAKLSAgICAxMTU5NCwgMTE1OTYsIDExNTk4LCAxMTYwMCwgMTE2MDIsIDExNjA0LCAxMTYwNiwgMTE2MDgsIDExNjEwLCAxMTYxMiwgCi0gICAgMTE2MTQsIDExNjE2LCAxMTYxOCwgMTE2MjAsIDExNjIyLCAxMTYyNCwgMTE2MjYsIDExNjI4LCAxMTYzMCwgMTE2MzIsIAotICAgIDExNjM0LCAxMTYzNiwgMTE2MzgsIDExNjQwLCAxMTY0MiwgMTE2NDQsIDExNjQ2LCAxMTY0OCwgMTE2NTAsIDExNjUyLCAKLSAgICAxMTY1NCwgMTE2NTYsIDExNjU4LCAxMTY2MCwgMTE2NjIsIDExNjY0LCAxMTY2NiwgMTE2NjgsIDExNjcwLCAxMTY3MiwgCi0gICAgMTE2NzQsIDExNjc2LCAxMTY3OCwgMTE2ODAsIDExNjgyLCAxMTY4NCwgMTE2ODYsIDExNjg4LCAxMTY5MCwgMTE2OTIsIAotICAgIDExNjk0LCAxMTY5NiwgMTE2OTgsIDExNzAwLCAxMTcwMiwgMTE3MDQsIDExNzA2LCAxMTcwOCwgMTE3MTAsIDExNzEyLCAKLSAgICAxMTcxNCwgMTE3MTYsIDExNzE4LCAxMTcyMCwgMTE3MjIsIDExNzI0LCAxMTcyNiwgMTE3MjgsIDExNzMwLCAxMTczMiwgCi0gICAgMTE3MzQsIDExNzM2LCAxMTczOCwgMTE3NDAsIDExNzQyLCAxMTc0NCwgMTE3NDYsIDExNzQ4LCAxMTc1MCwgMTE3NTIsIAotICAgIDExNzU0LCAxMTc1NiwgMTE3NTgsIDExNzYwLCAxMTc2MiwgMTE3NjQsIDExNzY2LCAxMTc2OCwgMTE3NzAsIDExNzcyLCAKLSAgICAxMTc3NCwgMTE3NzYsIDExNzc4LCAxMTc4MCwgMTE3ODIsIDExNzg0LCAxMTc4NiwgMTE3ODgsIDExNzkwLCAxMTc5MiwgCi0gICAgMTE3OTQsIDExNzk2LCAwLCAwLCAxMTc5OCwgMTE4MDAsIDExODAyLCAxMTgwNCwgMTE4MDYsIDExODA4LCAxMTgxMCwgCi0gICAgMTE4MTIsIDExODE0LCAxMTgxNiwgMTE4MTgsIDExODIwLCAxMTgyMiwgMTE4MjQsIDExODI2LCAxMTgyOCwgMTE4MzAsIAotICAgIDExODMyLCAxMTgzNCwgMTE4MzYsIDExODM4LCAxMTg0MCwgMTE4NDIsIDExODQ0LCAxMTg0NiwgMTE4NDgsIDExODUwLCAKLSAgICAxMTg1MiwgMTE4NTQsIDExODU2LCAxMTg1OCwgMTE4NjAsIDExODYyLCAxMTg2NCwgMTE4NjYsIDExODY4LCAxMTg3MCwgCi0gICAgMTE4NzIsIDExODc0LCAxMTg3NiwgMTE4NzgsIDExODgwLCAxMTg4MiwgMTE4ODQsIDExODg2LCAxMTg4OCwgMTE4OTAsIAotICAgIDExODkyLCAxMTg5NCwgMTE4OTYsIDExODk4LCAxMTkwMCwgMTE5MDIsIDExOTA0LCAxMTkwNiwgMTE5MDgsIDExOTEwLCAKLSAgICAxMTkxMiwgMTE5MTQsIDExOTE2LCAxMTkxOCwgMTE5MjAsIDExOTIyLCAxMTkyNCwgMTE5MjYsIDExOTI4LCAxMTkzMCwgCi0gICAgMTE5MzIsIDExOTM0LCAxMTkzNiwgMTE5MzgsIDExOTQwLCAxMTk0MiwgMTE5NDQsIDExOTQ2LCAxMTk0OCwgMTE5NTAsIAotICAgIDExOTUyLCAxMTk1NCwgMTE5NTYsIDExOTU4LCAxMTk2MCwgMTE5NjIsIDExOTY0LCAxMTk2NiwgMTE5NjgsIDExOTcwLCAKLSAgICAxMTk3MiwgMTE5NzQsIDExOTc2LCAxMTk3OCwgMTE5ODAsIDExOTgyLCAxMTk4NCwgMTE5ODYsIDExOTg4LCAxMTk5MCwgCi0gICAgMTE5OTIsIDExOTk0LCAxMTk5NiwgMTE5OTgsIDEyMDAwLCAxMjAwMiwgMTIwMDQsIDEyMDA2LCAxMjAwOCwgMTIwMTAsIAotICAgIDEyMDEyLCAxMjAxNCwgMTIwMTYsIDEyMDE4LCAxMjAyMCwgMTIwMjIsIDEyMDI0LCAxMjAyNiwgMTIwMjgsIDEyMDMwLCAKLSAgICAxMjAzMiwgMTIwMzQsIDEyMDM2LCAxMjAzOCwgMTIwNDAsIDEyMDQyLCAxMjA0NCwgMTIwNDYsIDEyMDQ4LCAxMjA1MCwgCi0gICAgMTIwNTIsIDEyMDU0LCAxMjA1NiwgMTIwNTgsIDEyMDYwLCAxMjA2MiwgMTIwNjQsIDEyMDY2LCAxMjA2OCwgMTIwNzAsIAotICAgIDEyMDcyLCAxMjA3NCwgMTIwNzYsIDEyMDc4LCAxMjA4MCwgMTIwODIsIDEyMDg0LCAxMjA4NiwgMTIwODgsIDEyMDkwLCAKLSAgICAxMjA5MiwgMTIwOTQsIDEyMDk2LCAxMjA5OCwgMTIxMDAsIDEyMTAyLCAxMjEwNCwgMTIxMDYsIDEyMTA4LCAxMjExMCwgCi0gICAgMTIxMTIsIDEyMTE0LCAxMjExNiwgMTIxMTgsIDEyMTIwLCAxMjEyMiwgMTIxMjQsIDEyMTI2LCAxMjEyOCwgMTIxMzAsIAotICAgIDEyMTMyLCAxMjEzNCwgMTIxMzYsIDEyMTM4LCAxMjE0MCwgMTIxNDIsIDEyMTQ0LCAxMjE0NiwgMTIxNDgsIDEyMTUwLCAKLSAgICAxMjE1MiwgMTIxNTQsIDEyMTU2LCAxMjE1OCwgMTIxNjAsIDEyMTYyLCAxMjE2NCwgMTIxNjYsIDEyMTY4LCAxMjE3MCwgCi0gICAgMTIxNzIsIDEyMTc0LCAxMjE3NiwgMTIxNzgsIDEyMTgwLCAxMjE4MiwgMTIxODQsIDEyMTg2LCAxMjE4OCwgMTIxOTAsIAotICAgIDEyMTkyLCAxMjE5NCwgMTIxOTYsIDEyMTk4LCAxMjIwMCwgMTIyMDIsIDEyMjA0LCAxMjIwNiwgMTIyMDgsIDEyMjEwLCAKLSAgICAxMjIxMiwgMTIyMTQsIDEyMjE2LCAxMjIxOCwgMTIyMjAsIDEyMjIyLCAxMjIyNCwgMTIyMjYsIDEyMjI4LCAxMjIzMCwgCi0gICAgMTIyMzIsIDEyMjM0LCAxMjIzNiwgMTIyMzgsIDEyMjQwLCAxMjI0MiwgMTIyNDQsIDEyMjQ2LCAxMjI0OCwgMTIyNTAsIAotICAgIDEyMjUyLCAxMjI1NCwgMTIyNTYsIDEyMjU4LCAxMjI2MCwgMTIyNjIsIDEyMjY0LCAxMjI2NiwgMTIyNjgsIDEyMjcwLCAKLSAgICAxMjI3MiwgMTIyNzQsIDEyMjc2LCAxMjI3OCwgMTIyODAsIDEyMjgyLCAxMjI4NCwgMTIyODYsIDEyMjg4LCAxMjI5MCwgCi0gICAgMTIyOTIsIDEyMjk0LCAxMjI5NiwgMTIyOTgsIDEyMzAwLCAxMjMwMiwgMTIzMDQsIDEyMzA2LCAxMjMwOCwgMTIzMTAsIAotICAgIDEyMzEyLCAxMjMxNCwgMTIzMTYsIDEyMzE4LCAxMjMyMCwgMTIzMjIsIDEyMzI0LCAxMjMyNiwgMTIzMjgsIDEyMzMwLCAKLSAgICAxMjMzMiwgMTIzMzQsIDEyMzM2LCAxMjMzOCwgMTIzNDAsIDEyMzQyLCAxMjM0NCwgMTIzNDYsIDEyMzQ4LCAxMjM1MCwgCi0gICAgMTIzNTIsIDEyMzU0LCAxMjM1NiwgMTIzNTgsIDEyMzYwLCAxMjM2MiwgMTIzNjQsIDEyMzY2LCAxMjM2OCwgMTIzNzAsIAotICAgIDEyMzcyLCAxMjM3NCwgMTIzNzYsIDEyMzc4LCAxMjM4MCwgMCwgMCwgMTIzODIsIDEyMzg0LCAxMjM4NiwgMTIzODgsIAotICAgIDEyMzkwLCAxMjM5MiwgMTIzOTQsIDEyMzk2LCAxMjM5OCwgMTI0MDAsIDEyNDAyLCAxMjQwNCwgMTI0MDYsIDEyNDA4LCAKLSAgICAxMjQxMCwgMTI0MTIsIDEyNDE0LCAxMjQxNiwgMTI0MTgsIDEyNDIwLCAxMjQyMiwgMTI0MjQsIDEyNDI2LCAxMjQyOCwgCi0gICAgMTI0MzAsIDEyNDMyLCAxMjQzNCwgMTI0MzYsIDEyNDM4LCAxMjQ0MCwgMTI0NDIsIDEyNDQ0LCAxMjQ0NiwgMTI0NDgsIAotICAgIDEyNDUwLCAxMjQ1MiwgMTI0NTQsIDEyNDU2LCAxMjQ1OCwgMTI0NjAsIDEyNDYyLCAxMjQ2NCwgMTI0NjYsIDEyNDY4LCAKLSAgICAxMjQ3MCwgMTI0NzIsIDEyNDc0LCAxMjQ3NiwgMTI0NzgsIDEyNDgwLCAxMjQ4MiwgMTI0ODQsIDEyNDg2LCAxMjQ4OCwgMCwgCi0gICAgMTI0OTAsIDEyNDkyLCAxMjQ5NCwgMTI0OTYsIDEyNDk4LCAxMjUwMCwgMTI1MDIsIDEyNTA0LCAxMjUwNiwgMTI1MDgsIAotICAgIDEyNTEwLCAxMjUxMiwgMTI1MTQsIDEyNTE2LCAxMjUxOCwgMTI1MjAsIDEyNTIyLCAxMjUyNCwgMTI1MjYsIDEyNTI4LCAKLSAgICAxMjUzMCwgMTI1MzIsIDEyNTM0LCAxMjUzNiwgMTI1MzgsIDEyNTQwLCAxMjU0MiwgMCwgMTI1NDQsIDEyNTQ2LCAwLCAKLSAgICAxMjU0OCwgMCwgMCwgMTI1NTAsIDAsIDEyNTUyLCAxMjU1NCwgMTI1NTYsIDEyNTU4LCAxMjU2MCwgMTI1NjIsIDEyNTY0LCAKLSAgICAxMjU2NiwgMTI1NjgsIDEyNTcwLCAwLCAxMjU3MiwgMTI1NzQsIDEyNTc2LCAxMjU3OCwgMCwgMTI1ODAsIDAsIDEyNTgyLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAxMjU4NCwgMCwgMCwgMCwgMCwgMTI1ODYsIDAsIDEyNTg4LCAwLCAxMjU5MCwgMCwgMTI1OTIsIAotICAgIDEyNTk0LCAxMjU5NiwgMCwgMTI1OTgsIDEyNjAwLCAwLCAxMjYwMiwgMCwgMCwgMTI2MDQsIDAsIDEyNjA2LCAwLCAxMjYwOCwgCi0gICAgMCwgMTI2MTAsIDAsIDEyNjEyLCAwLCAxMjYxNCwgMTI2MTYsIDAsIDEyNjE4LCAwLCAwLCAxMjYyMCwgMTI2MjIsIDEyNjI0LCAKLSAgICAxMjYyNiwgMCwgMTI2MjgsIDEyNjMwLCAxMjYzMiwgMTI2MzQsIDEyNjM2LCAxMjYzOCwgMTI2NDAsIDAsIDEyNjQyLCAKLSAgICAxMjY0NCwgMTI2NDYsIDEyNjQ4LCAwLCAxMjY1MCwgMTI2NTIsIDEyNjU0LCAxMjY1NiwgMCwgMTI2NTgsIDAsIDEyNjYwLCAKLSAgICAxMjY2MiwgMTI2NjQsIDEyNjY2LCAxMjY2OCwgMTI2NzAsIDEyNjcyLCAxMjY3NCwgMTI2NzYsIDEyNjc4LCAwLCAxMjY4MCwgCi0gICAgMTI2ODIsIDEyNjg0LCAxMjY4NiwgMTI2ODgsIDEyNjkwLCAxMjY5MiwgMTI2OTQsIDEyNjk2LCAxMjY5OCwgMTI3MDAsIAotICAgIDEyNzAyLCAxMjcwNCwgMTI3MDYsIDEyNzA4LCAxMjcxMCwgMTI3MTIsIDAsIDAsIDAsIDAsIDAsIDEyNzE0LCAxMjcxNiwgCi0gICAgMTI3MTgsIDAsIDEyNzIwLCAxMjcyMiwgMTI3MjQsIDEyNzI2LCAxMjcyOCwgMCwgMTI3MzAsIDEyNzMyLCAxMjczNCwgCi0gICAgMTI3MzYsIDEyNzM4LCAxMjc0MCwgMTI3NDIsIDEyNzQ0LCAxMjc0NiwgMTI3NDgsIDEyNzUwLCAxMjc1MiwgMTI3NTQsIAotICAgIDEyNzU2LCAxMjc1OCwgMTI3NjAsIDEyNzYyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCA2NjY0LCA2NjY2LCA2NjY4LCA2NjcwLCA2NjcyLCA2Njc0LCA2Njc2LCA2Njc4LCAKKyAgICA2NjgwLCA2NjgyLCA2Njg0LCA2Njg2LCA2Njg4LCA2NjkwLCA2NjkyLCA2Njk0LCA2Njk2LCA2Njk4LCA2NzAwLCA2NzAyLCAKKyAgICA2NzA0LCA2NzA2LCA2NzA4LCA2NzEwLCA2NzEyLCA2NzE0LCA2NzE2LCA2NzE4LCA2NzIwLCA2NzIyLCA2NzI0LCA2NzI2LCAKKyAgICA2NzI4LCA2NzMwLCA2NzMyLCA2NzM0LCA2NzM2LCA2NzM4LCA2NzQwLCA2NzQyLCA2NzQ0LCA2NzQ2LCA2NzQ4LCA2NzUwLCAKKyAgICA2NzUyLCA2NzU0LCA2NzU2LCA2NzU4LCA2NzYwLCA2NzYyLCA2NzY0LCA2NzY2LCA2NzY4LCA2NzcwLCA2NzcyLCA2Nzc0LCAKKyAgICA2Nzc2LCA2Nzc4LCA2NzgwLCA2NzgyLCA2Nzg0LCA2Nzg2LCA2Nzg4LCA2NzkwLCA2NzkyLCA2Nzk0LCA2Nzk2LCA2Nzk4LCAKKyAgICA2ODAwLCA2ODAyLCA2ODA0LCA2ODA2LCA2ODA4LCA2ODEwLCA2ODEyLCA2ODE0LCA2ODE2LCA2ODE4LCA2ODIwLCA2ODIyLCAKKyAgICA2ODI0LCA2ODI2LCA2ODI4LCA2ODMwLCA2ODMyLCA2ODM0LCA2ODM2LCA2ODM4LCA2ODQwLCA2ODQyLCA2ODQ0LCA2ODQ2LCAKKyAgICA2ODQ4LCA2ODUwLCA2ODUyLCA2ODU0LCA2ODU2LCA2ODU4LCA2ODYwLCA2ODYyLCA2ODY0LCA2ODY2LCA2ODY4LCA2ODcwLCAKKyAgICA2ODcyLCA2ODc0LCA2ODc2LCA2ODc4LCA2ODgwLCA2ODgyLCA2ODg0LCA2ODg2LCA2ODg4LCA2ODkwLCA2ODkyLCA2ODk0LCAKKyAgICA2ODk2LCA2ODk4LCA2OTAwLCA2OTAyLCA2OTA0LCA2OTA2LCA2OTA4LCA2OTEwLCA2OTEyLCA2OTE0LCA2OTE2LCA2OTE4LCAKKyAgICA2OTIwLCA2OTIyLCA2OTI0LCA2OTI2LCA2OTI4LCA2OTMwLCA2OTMyLCA2OTM0LCA2OTM2LCA2OTM4LCA2OTQwLCA2OTQyLCAKKyAgICA2OTQ0LCA2OTQ2LCA2OTQ4LCA2OTUwLCA2OTUyLCA2OTU0LCA2OTU2LCA2OTU4LCA2OTYwLCA2OTYyLCA2OTY0LCA2OTY2LCAKKyAgICA2OTY4LCA2OTcwLCA2OTcyLCA2OTc0LCA2OTc2LCA2OTc4LCA2OTgwLCA2OTgyLCA2OTg0LCA2OTg2LCA2OTg4LCA2OTkwLCAKKyAgICA2OTkyLCA2OTk0LCA2OTk2LCA2OTk4LCA3MDAwLCA3MDAyLCA3MDA0LCA3MDA2LCA3MDA4LCA3MDEwLCA3MDEyLCA3MDE0LCAKKyAgICA3MDE2LCA3MDE4LCA3MDIwLCA3MDIyLCA3MDI0LCA3MDI2LCA3MDI4LCA3MDMwLCA3MDMyLCA3MDM0LCA3MDM2LCA3MDM4LCAKKyAgICA3MDQwLCA3MDQyLCA3MDQ0LCA3MDQ2LCA3MDQ4LCA3MDUwLCA3MDUyLCA3MDU0LCA3MDU2LCA3MDU4LCA3MDYwLCA3MDYyLCAKKyAgICA3MDY0LCA3MDY2LCA3MDY4LCA3MDcwLCA3MDcyLCA3MDc0LCA3MDc2LCA3MDc4LCA3MDgwLCA3MDgyLCA3MDg0LCA3MDg2LCAKKyAgICA3MDg4LCA3MDkwLCA3MDkyLCA3MDk0LCA3MDk2LCA3MDk4LCA3MTAwLCA3MTAyLCA3MTA0LCA3MTA2LCA3MTA4LCA3MTEwLCAKKyAgICA3MTEyLCA3MTE0LCA3MTE2LCA3MTE4LCA3MTIwLCA3MTIyLCA3MTI0LCA3MTI2LCA3MTI4LCA3MTMwLCA3MTMyLCA3MTM0LCAKKyAgICA3MTM2LCA3MTM4LCA3MTQwLCA3MTQyLCA3MTQ0LCA3MTQ2LCA3MTQ4LCA3MTUwLCA3MTUyLCA3MTU0LCA3MTU2LCA3MTU4LCAKKyAgICA3MTYwLCA3MTYyLCA3MTY0LCA3MTY2LCA3MTY4LCA3MTcwLCA3MTcyLCA3MTc0LCA3MTc2LCA3MTc4LCA3MTgwLCA3MTgyLCAKKyAgICA3MTg0LCA3MTg2LCA3MTg4LCA3MTkwLCA3MTkyLCA3MTk0LCA3MTk2LCA3MTk4LCA3MjAwLCA3MjAyLCAwLCAwLCA3MjA0LCAKKyAgICAwLCA3MjA2LCAwLCAwLCA3MjA4LCA3MjEwLCA3MjEyLCA3MjE0LCA3MjE2LCA3MjE4LCA3MjIwLCA3MjIyLCA3MjI0LCAKKyAgICA3MjI2LCAwLCA3MjI4LCAwLCA3MjMwLCAwLCAwLCA3MjMyLCA3MjM0LCAwLCAwLCAwLCA3MjM2LCA3MjM4LCA3MjQwLCAKKyAgICA3MjQyLCA3MjQ0LCA3MjQ2LCA3MjQ4LCA3MjUwLCA3MjUyLCA3MjU0LCA3MjU2LCA3MjU4LCA3MjYwLCA3MjYyLCA3MjY0LCAKKyAgICA3MjY2LCA3MjY4LCA3MjcwLCA3MjcyLCA3Mjc0LCA3Mjc2LCA3Mjc4LCA3MjgwLCA3MjgyLCA3Mjg0LCA3Mjg2LCA3Mjg4LCAKKyAgICA3MjkwLCA3MjkyLCA3Mjk0LCA3Mjk2LCA3Mjk4LCA3MzAwLCA3MzAyLCA3MzA0LCA3MzA2LCA3MzA4LCA3MzEwLCA3MzEyLCAKKyAgICA3MzE0LCA3MzE2LCA3MzE4LCA3MzIwLCA3MzIyLCA3MzI0LCA3MzI2LCA3MzI4LCA3MzMwLCA3MzMyLCA3MzM0LCA3MzM2LCAKKyAgICA3MzM4LCA3MzQwLCA3MzQyLCA3MzQ0LCA3MzQ2LCA3MzQ4LCA3MzUwLCA3MzUyLCA3MzU0LCA3MzU2LCA3MzU4LCA3MzYwLCAKKyAgICA3MzYyLCA3MzY0LCA3MzY2LCA3MzY4LCA3MzcwLCAwLCAwLCA3MzcyLCA3Mzc0LCA3Mzc2LCA3Mzc4LCA3MzgwLCA3MzgyLCAKKyAgICA3Mzg0LCA3Mzg2LCA3Mzg4LCA3MzkwLCA3MzkyLCA3Mzk0LCA3Mzk2LCA3Mzk4LCA3NDAwLCA3NDAyLCA3NDA0LCA3NDA2LCAKKyAgICA3NDA4LCA3NDEwLCA3NDEyLCA3NDE0LCA3NDE2LCA3NDE4LCA3NDIwLCA3NDIyLCA3NDI0LCA3NDI2LCA3NDI4LCA3NDMwLCAKKyAgICA3NDMyLCA3NDM0LCA3NDM2LCA3NDM4LCA3NDQwLCA3NDQyLCA3NDQ0LCA3NDQ2LCA3NDQ4LCA3NDUwLCA3NDUyLCA3NDU0LCAKKyAgICA3NDU2LCA3NDU4LCA3NDYwLCA3NDYyLCA3NDY0LCA3NDY2LCA3NDY4LCA3NDcwLCA3NDcyLCA3NDc0LCA3NDc2LCA3NDc4LCAKKyAgICA3NDgwLCA3NDgyLCA3NDg0LCA3NDg2LCA3NDg4LCA3NDkwLCA3NDkyLCA3NDk0LCA3NDk2LCA3NDk4LCA3NTAwLCA3NTAyLCAKKyAgICA3NTA0LCA3NTA2LCA3NTA4LCA3NTEwLCA3NTEyLCA3NTE0LCA3NTE2LCA3NTE4LCA3NTIwLCA3NTIyLCA3NTI0LCA3NTI2LCAKKyAgICA3NTI4LCA3NTMwLCA3NTMyLCA3NTM0LCA3NTM2LCA3NTM4LCA3NTQwLCA3NTQyLCA3NTQ0LCA3NTQ2LCA3NTQ4LCA3NTUwLCAKKyAgICA3NTUyLCA3NTU0LCA3NTU2LCA3NTU4LCA3NTYwLCA3NTYyLCA3NTY0LCA3NTY2LCA3NTY4LCA3NTcwLCA3NTcyLCA3NTc0LCAKKyAgICA3NTc2LCA3NTc4LCA3NTgwLCA3NTgyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA3NTg0LCAKKyAgICA3NTg3LCA3NTkwLCA3NTkzLCA3NTk3LCA3NjAxLCA3NjA0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICA3NjA3LCA3NjEwLCA3NjEzLCA3NjE2LCA3NjE5LCAwLCAwLCAwLCAwLCAwLCA3NjIyLCAwLCA3NjI1LCA3NjI4LCA3NjMwLCAKKyAgICA3NjMyLCA3NjM0LCA3NjM2LCA3NjM4LCA3NjQwLCA3NjQyLCA3NjQ0LCA3NjQ2LCA3NjQ4LCA3NjUxLCA3NjU0LCA3NjU3LCAKKyAgICA3NjYwLCA3NjYzLCA3NjY2LCA3NjY5LCA3NjcyLCA3Njc1LCA3Njc4LCA3NjgxLCA3Njg0LCAwLCA3Njg3LCA3NjkwLCAKKyAgICA3NjkzLCA3Njk2LCA3Njk5LCAwLCA3NzAyLCAwLCA3NzA1LCA3NzA4LCAwLCA3NzExLCA3NzE0LCAwLCA3NzE3LCA3NzIwLCAKKyAgICA3NzIzLCA3NzI2LCA3NzI5LCA3NzMyLCA3NzM1LCA3NzM4LCA3NzQxLCA3NzQ0LCA3NzQ3LCA3NzQ5LCA3NzUxLCA3NzUzLCAKKyAgICA3NzU1LCA3NzU3LCA3NzU5LCA3NzYxLCA3NzYzLCA3NzY1LCA3NzY3LCA3NzY5LCA3NzcxLCA3NzczLCA3Nzc1LCA3Nzc3LCAKKyAgICA3Nzc5LCA3NzgxLCA3NzgzLCA3Nzg1LCA3Nzg3LCA3Nzg5LCA3NzkxLCA3NzkzLCA3Nzk1LCA3Nzk3LCA3Nzk5LCA3ODAxLCAKKyAgICA3ODAzLCA3ODA1LCA3ODA3LCA3ODA5LCA3ODExLCA3ODEzLCA3ODE1LCA3ODE3LCA3ODE5LCA3ODIxLCA3ODIzLCA3ODI1LCAKKyAgICA3ODI3LCA3ODI5LCA3ODMxLCA3ODMzLCA3ODM1LCA3ODM3LCA3ODM5LCA3ODQxLCA3ODQzLCA3ODQ1LCA3ODQ3LCA3ODQ5LCAKKyAgICA3ODUxLCA3ODUzLCA3ODU1LCA3ODU3LCA3ODU5LCA3ODYxLCA3ODYzLCA3ODY1LCA3ODY3LCA3ODY5LCA3ODcxLCA3ODczLCAKKyAgICA3ODc1LCA3ODc3LCA3ODc5LCA3ODgxLCA3ODgzLCA3ODg1LCA3ODg3LCA3ODg5LCA3ODkxLCA3ODkzLCA3ODk1LCA3ODk3LCAKKyAgICA3ODk5LCA3OTAxLCA3OTAzLCA3OTA1LCA3OTA3LCA3OTA5LCA3OTExLCA3OTEzLCA3OTE1LCA3OTE3LCA3OTE5LCA3OTIxLCAKKyAgICA3OTIzLCA3OTI1LCA3OTI3LCA3OTI5LCA3OTMxLCA3OTMzLCA3OTM1LCA3OTM3LCA3OTM5LCA3OTQxLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCA3OTQzLCA3OTQ1LCA3OTQ3LCA3OTQ5LCA3OTUxLCA3OTUzLCA3OTU1LCA3OTU3LCA3OTU5LCAKKyAgICA3OTYxLCA3OTYzLCA3OTY1LCA3OTY3LCA3OTY5LCA3OTcxLCA3OTczLCA3OTc1LCA3OTc3LCA3OTc5LCA3OTgxLCA3OTgzLCAKKyAgICA3OTg1LCA3OTg3LCA3OTg5LCA3OTkyLCA3OTk1LCA3OTk4LCA4MDAxLCA4MDA0LCA4MDA3LCA4MDEwLCA4MDEzLCA4MDE2LCAKKyAgICA4MDE5LCA4MDIyLCA4MDI1LCA4MDI4LCA4MDMxLCA4MDM0LCA4MDM3LCA4MDQwLCA4MDQzLCA4MDQ1LCA4MDQ3LCA4MDQ5LCAKKyAgICA4MDUxLCA4MDU0LCA4MDU3LCA4MDYwLCA4MDYzLCA4MDY2LCA4MDY5LCA4MDcyLCA4MDc1LCA4MDc4LCA4MDgxLCA4MDg0LCAKKyAgICA4MDg3LCA4MDkwLCA4MDkzLCA4MDk2LCA4MDk5LCA4MTAyLCA4MTA1LCA4MTA4LCA4MTExLCA4MTE0LCA4MTE3LCA4MTIwLCAKKyAgICA4MTIzLCA4MTI2LCA4MTI5LCA4MTMyLCA4MTM1LCA4MTM4LCA4MTQxLCA4MTQ0LCA4MTQ3LCA4MTUwLCA4MTUzLCA4MTU2LCAKKyAgICA4MTU5LCA4MTYyLCA4MTY1LCA4MTY4LCA4MTcxLCA4MTc0LCA4MTc3LCA4MTgwLCA4MTgzLCA4MTg2LCA4MTg5LCA4MTkyLCAKKyAgICA4MTk1LCA4MTk4LCA4MjAxLCA4MjA0LCA4MjA3LCA4MjEwLCA4MjEzLCA4MjE2LCA4MjE5LCA4MjIyLCA4MjI1LCA4MjI4LCAKKyAgICA4MjMxLCA4MjM0LCA4MjM3LCA4MjQwLCA4MjQzLCA4MjQ2LCA4MjQ5LCA4MjUyLCA4MjU1LCA4MjU4LCA4MjYxLCA4MjY0LCAKKyAgICA4MjY3LCA4MjcwLCA4MjczLCA4Mjc2LCA4Mjc5LCA4MjgyLCA4Mjg1LCA4Mjg4LCA4MjkxLCA4Mjk0LCA4Mjk3LCA4MzAwLCAKKyAgICA4MzAzLCA4MzA2LCA4MzA5LCA4MzEyLCA4MzE1LCA4MzE4LCA4MzIxLCA4MzI0LCA4MzI3LCA4MzMwLCA4MzMzLCA4MzM3LCAKKyAgICA4MzQxLCA4MzQ1LCA4MzQ5LCA4MzUzLCA4MzU3LCA4MzYwLCA4MzYzLCA4MzY2LCA4MzY5LCA4MzcyLCA4Mzc1LCA4Mzc4LCAKKyAgICA4MzgxLCA4Mzg0LCA4Mzg3LCA4MzkwLCA4MzkzLCA4Mzk2LCA4Mzk5LCA4NDAyLCA4NDA1LCA4NDA4LCA4NDExLCA4NDE0LCAKKyAgICA4NDE3LCA4NDIwLCA4NDIzLCA4NDI2LCA4NDI5LCA4NDMyLCA4NDM1LCA4NDM4LCA4NDQxLCA4NDQ0LCA4NDQ3LCA4NDUwLCAKKyAgICA4NDUzLCA4NDU2LCA4NDU5LCA4NDYyLCA4NDY1LCA4NDY4LCA4NDcxLCA4NDc0LCA4NDc3LCA4NDgwLCA4NDgzLCA4NDg2LCAKKyAgICA4NDg5LCA4NDkyLCA4NDk1LCA4NDk4LCA4NTAxLCA4NTA0LCA4NTA3LCA4NTEwLCA4NTEzLCA4NTE2LCA4NTE5LCA4NTIyLCAKKyAgICA4NTI1LCA4NTI4LCA4NTMxLCA4NTM0LCA4NTM3LCA4NTQwLCA4NTQzLCA4NTQ2LCA4NTQ5LCA4NTUyLCA4NTU1LCA4NTU4LCAKKyAgICA4NTYxLCA4NTY0LCA4NTY3LCA4NTcwLCA4NTczLCA4NTc2LCA4NTc5LCA4NTgyLCA4NTg1LCA4NTg4LCA4NTkxLCA4NTk0LCAKKyAgICA4NTk3LCA4NjAwLCA4NjAzLCA4NjA2LCA4NjA5LCA4NjEyLCA4NjE1LCA4NjE4LCA4NjIxLCA4NjI0LCA4NjI3LCA4NjMwLCAKKyAgICA4NjMzLCA4NjM2LCA4NjM5LCA4NjQyLCA4NjQ1LCA4NjQ4LCA4NjUxLCA4NjU0LCA4NjU3LCA4NjYwLCA4NjYzLCA4NjY2LCAKKyAgICA4NjY5LCA4NjcyLCA4Njc1LCA4Njc4LCA4NjgxLCA4Njg0LCA4Njg3LCA4NjkwLCA4NjkzLCA4Njk2LCA4Njk5LCA4NzAyLCAKKyAgICA4NzA1LCA4NzA4LCA4NzExLCA4NzE0LCA4NzE3LCA4NzIwLCA4NzIzLCA4NzI2LCA4NzI5LCA4NzMyLCA4NzM1LCA4NzM4LCAKKyAgICA4NzQxLCA4NzQ0LCA4NzQ3LCA4NzUwLCA4NzUzLCA4NzU2LCA4NzU5LCA4NzYyLCA4NzY1LCA4NzY4LCA4NzcxLCA4Nzc0LCAKKyAgICA4Nzc3LCA4NzgwLCA4NzgzLCA4Nzg3LCA4NzkxLCA4Nzk1LCA4Nzk4LCA4ODAxLCA4ODA0LCA4ODA3LCA4ODEwLCA4ODEzLCAKKyAgICA4ODE2LCA4ODE5LCA4ODIyLCA4ODI1LCA4ODI4LCA4ODMxLCA4ODM0LCA4ODM3LCA4ODQwLCA4ODQzLCA4ODQ2LCA4ODQ5LCAKKyAgICA4ODUyLCA4ODU1LCA4ODU4LCA4ODYxLCA4ODY0LCA4ODY3LCA4ODcwLCA4ODczLCA4ODc2LCA4ODc5LCA4ODgyLCA4ODg1LCAKKyAgICA4ODg4LCA4ODkxLCA4ODk0LCA4ODk3LCA4OTAwLCA4OTAzLCA4OTA2LCA4OTA5LCA4OTEyLCA4OTE1LCA4OTE4LCA4OTIxLCAKKyAgICA4OTI0LCA4OTI3LCA4OTMwLCA4OTMzLCA4OTM2LCA4OTM5LCA4OTQyLCA4OTQ1LCA4OTQ4LCA4OTUxLCA4OTU0LCA4OTU3LCAKKyAgICA4OTYwLCA4OTYzLCA4OTY2LCA4OTY5LCA4OTcyLCA4OTc1LCA4OTc4LCA4OTgxLCA4OTg0LCA4OTg3LCA4OTkwLCA4OTkzLCAKKyAgICA4OTk2LCA4OTk5LCA5MDAyLCA5MDA1LCA5MDA4LCA5MDExLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCA5MDE0LCA5MDE4LCA5MDIyLCA5MDI2LCA5MDMwLCA5MDM0LCA5MDM4LCA5MDQyLCA5MDQ2LCAKKyAgICA5MDUwLCA5MDU0LCA5MDU4LCA5MDYyLCA5MDY2LCA5MDcwLCA5MDc0LCA5MDc4LCA5MDgyLCA5MDg2LCA5MDkwLCA5MDk0LCAKKyAgICA5MDk4LCA5MTAyLCA5MTA2LCA5MTEwLCA5MTE0LCA5MTE4LCA5MTIyLCA5MTI2LCA5MTMwLCA5MTM0LCA5MTM4LCA5MTQyLCAKKyAgICA5MTQ2LCA5MTUwLCA5MTU0LCA5MTU4LCA5MTYyLCA5MTY2LCA5MTcwLCA5MTc0LCA5MTc4LCA5MTgyLCA5MTg2LCA5MTkwLCAKKyAgICA5MTk0LCA5MTk4LCA5MjAyLCA5MjA2LCA5MjEwLCA5MjE0LCA5MjE4LCA5MjIyLCA5MjI2LCA5MjMwLCA5MjM0LCA5MjM4LCAKKyAgICA5MjQyLCA5MjQ2LCA5MjUwLCA5MjU0LCA5MjU4LCA5MjYyLCA5MjY2LCAwLCAwLCA5MjcwLCA5Mjc0LCA5Mjc4LCA5MjgyLCAKKyAgICA5Mjg2LCA5MjkwLCA5Mjk0LCA5Mjk4LCA5MzAyLCA5MzA2LCA5MzEwLCA5MzE0LCA5MzE4LCA5MzIyLCA5MzI2LCA5MzMwLCAKKyAgICA5MzM0LCA5MzM4LCA5MzQyLCA5MzQ2LCA5MzUwLCA5MzU0LCA5MzU4LCA5MzYyLCA5MzY2LCA5MzcwLCA5Mzc0LCA5Mzc4LCAKKyAgICA5MzgyLCA5Mzg2LCA5MzkwLCA5Mzk0LCA5Mzk4LCA5NDAyLCA5NDA2LCA5NDEwLCA5NDE0LCA5NDE4LCA5NDIyLCA5NDI2LCAKKyAgICA5NDMwLCA5NDM0LCA5NDM4LCA5NDQyLCA5NDQ2LCA5NDUwLCA5NDU0LCA5NDU4LCA5NDYyLCA5NDY2LCA5NDcwLCA5NDc0LCAKKyAgICA5NDc4LCA5NDgyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5NDg2LCA5NDkwLCAKKyAgICA5NDk0LCA5NDk5LCA5NTA0LCA5NTA5LCA5NTE0LCA5NTE5LCA5NTI0LCA5NTI5LCA5NTMzLCA5NTUyLCA5NTYxLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5NTY2LCA5NTY4LCA5NTcwLCAKKyAgICA5NTcyLCA5NTc0LCA5NTc2LCA5NTc4LCA5NTgwLCA5NTgyLCA5NTg0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5NTg2LCA5NTg4LCA5NTkwLCA5NTkyLCA5NTk0LCA5NTk2LCAKKyAgICA5NTk4LCA5NjAwLCA5NjAyLCA5NjA0LCA5NjA2LCA5NjA4LCA5NjEwLCA5NjEyLCA5NjE0LCA5NjE2LCA5NjE4LCA5NjIwLCAKKyAgICA5NjIyLCA5NjI0LCA5NjI2LCAwLCAwLCA5NjI4LCA5NjMwLCA5NjMyLCA5NjM0LCA5NjM2LCA5NjM4LCA5NjQwLCA5NjQyLCAKKyAgICA5NjQ0LCA5NjQ2LCA5NjQ4LCA5NjUwLCAwLCA5NjUyLCA5NjU0LCA5NjU2LCA5NjU4LCA5NjYwLCA5NjYyLCA5NjY0LCAKKyAgICA5NjY2LCA5NjY4LCA5NjcwLCA5NjcyLCA5Njc0LCA5Njc2LCA5Njc4LCA5NjgwLCA5NjgyLCA5Njg0LCA5Njg2LCA5Njg4LCAKKyAgICAwLCA5NjkwLCA5NjkyLCA5Njk0LCA5Njk2LCAwLCAwLCAwLCAwLCA5Njk4LCA5NzAxLCA5NzA0LCAwLCA5NzA3LCAwLCAKKyAgICA5NzEwLCA5NzEzLCA5NzE2LCA5NzE5LCA5NzIyLCA5NzI1LCA5NzI4LCA5NzMxLCA5NzM0LCA5NzM3LCA5NzQwLCA5NzQyLCAKKyAgICA5NzQ0LCA5NzQ2LCA5NzQ4LCA5NzUwLCA5NzUyLCA5NzU0LCA5NzU2LCA5NzU4LCA5NzYwLCA5NzYyLCA5NzY0LCA5NzY2LCAKKyAgICA5NzY4LCA5NzcwLCA5NzcyLCA5Nzc0LCA5Nzc2LCA5Nzc4LCA5NzgwLCA5NzgyLCA5Nzg0LCA5Nzg2LCA5Nzg4LCA5NzkwLCAKKyAgICA5NzkyLCA5Nzk0LCA5Nzk2LCA5Nzk4LCA5ODAwLCA5ODAyLCA5ODA0LCA5ODA2LCA5ODA4LCA5ODEwLCA5ODEyLCA5ODE0LCAKKyAgICA5ODE2LCA5ODE4LCA5ODIwLCA5ODIyLCA5ODI0LCA5ODI2LCA5ODI4LCA5ODMwLCA5ODMyLCA5ODM0LCA5ODM2LCA5ODM4LCAKKyAgICA5ODQwLCA5ODQyLCA5ODQ0LCA5ODQ2LCA5ODQ4LCA5ODUwLCA5ODUyLCA5ODU0LCA5ODU2LCA5ODU4LCA5ODYwLCA5ODYyLCAKKyAgICA5ODY0LCA5ODY2LCA5ODY4LCA5ODcwLCA5ODcyLCA5ODc0LCA5ODc2LCA5ODc4LCA5ODgwLCA5ODgyLCA5ODg0LCA5ODg2LCAKKyAgICA5ODg4LCA5ODkwLCA5ODkyLCA5ODk0LCA5ODk2LCA5ODk4LCA5OTAwLCA5OTAyLCA5OTA0LCA5OTA2LCA5OTA4LCA5OTEwLCAKKyAgICA5OTEyLCA5OTE0LCA5OTE2LCA5OTE4LCA5OTIwLCA5OTIyLCA5OTI0LCA5OTI2LCA5OTI4LCA5OTMwLCA5OTMyLCA5OTM0LCAKKyAgICA5OTM2LCA5OTM4LCA5OTQwLCA5OTQyLCA5OTQ0LCA5OTQ2LCA5OTQ4LCA5OTUwLCA5OTUyLCA5OTU0LCA5OTU2LCA5OTU4LCAKKyAgICA5OTYwLCA5OTYyLCA5OTY0LCA5OTY2LCA5OTY4LCA5OTcwLCA5OTcyLCA5OTc0LCA5OTc3LCA5OTgwLCA5OTgzLCA5OTg2LCAKKyAgICA5OTg5LCA5OTkyLCA5OTk1LCAwLCAwLCAwLCAwLCA5OTk4LCAxMDAwMCwgMTAwMDIsIDEwMDA0LCAxMDAwNiwgMTAwMDgsIAorICAgIDEwMDEwLCAxMDAxMiwgMTAwMTQsIDEwMDE2LCAxMDAxOCwgMTAwMjAsIDEwMDIyLCAxMDAyNCwgMTAwMjYsIDEwMDI4LCAKKyAgICAxMDAzMCwgMTAwMzIsIDEwMDM0LCAxMDAzNiwgMTAwMzgsIDEwMDQwLCAxMDA0MiwgMTAwNDQsIDEwMDQ2LCAxMDA0OCwgCisgICAgMTAwNTAsIDEwMDUyLCAxMDA1NCwgMTAwNTYsIDEwMDU4LCAxMDA2MCwgMTAwNjIsIDEwMDY0LCAxMDA2NiwgMTAwNjgsIAorICAgIDEwMDcwLCAxMDA3MiwgMTAwNzQsIDEwMDc2LCAxMDA3OCwgMTAwODAsIDEwMDgyLCAxMDA4NCwgMTAwODYsIDEwMDg4LCAKKyAgICAxMDA5MCwgMTAwOTIsIDEwMDk0LCAxMDA5NiwgMTAwOTgsIDEwMTAwLCAxMDEwMiwgMTAxMDQsIDEwMTA2LCAxMDEwOCwgCisgICAgMTAxMTAsIDEwMTEyLCAxMDExNCwgMTAxMTYsIDEwMTE4LCAxMDEyMCwgMTAxMjIsIDEwMTI0LCAxMDEyNiwgMTAxMjgsIAorICAgIDEwMTMwLCAxMDEzMiwgMTAxMzQsIDEwMTM2LCAxMDEzOCwgMTAxNDAsIDEwMTQyLCAxMDE0NCwgMTAxNDYsIDEwMTQ4LCAKKyAgICAxMDE1MCwgMTAxNTIsIDEwMTU0LCAxMDE1NiwgMTAxNTgsIDEwMTYwLCAxMDE2MiwgMTAxNjQsIDEwMTY2LCAxMDE2OCwgCisgICAgMTAxNzAsIDEwMTcyLCAxMDE3NCwgMTAxNzYsIDEwMTc4LCAxMDE4MCwgMTAxODIsIDEwMTg0LCAxMDE4NiwgMTAxODgsIAorICAgIDEwMTkwLCAxMDE5MiwgMTAxOTQsIDEwMTk2LCAxMDE5OCwgMTAyMDAsIDEwMjAyLCAxMDIwNCwgMTAyMDYsIDEwMjA4LCAKKyAgICAxMDIxMCwgMTAyMTIsIDEwMjE0LCAxMDIxNiwgMTAyMTgsIDEwMjIwLCAxMDIyMiwgMTAyMjQsIDEwMjI2LCAxMDIyOCwgCisgICAgMTAyMzAsIDEwMjMyLCAxMDIzNCwgMTAyMzYsIDEwMjM4LCAxMDI0MCwgMTAyNDIsIDEwMjQ0LCAxMDI0NiwgMTAyNDgsIAorICAgIDEwMjUwLCAxMDI1MiwgMTAyNTQsIDEwMjU2LCAxMDI1OCwgMTAyNjAsIDEwMjYyLCAxMDI2NCwgMTAyNjYsIDEwMjY4LCAKKyAgICAxMDI3MCwgMTAyNzIsIDEwMjc0LCAxMDI3NiwgMTAyNzgsIDEwMjgwLCAxMDI4MiwgMTAyODQsIDEwMjg2LCAxMDI4OCwgCisgICAgMTAyOTAsIDEwMjkyLCAxMDI5NCwgMTAyOTYsIDEwMjk4LCAxMDMwMCwgMTAzMDIsIDEwMzA0LCAxMDMwNiwgMTAzMDgsIAorICAgIDEwMzEwLCAxMDMxMiwgMTAzMTQsIDEwMzE2LCAxMDMxOCwgMTAzMjAsIDEwMzIyLCAxMDMyNCwgMTAzMjYsIDEwMzI4LCAKKyAgICAxMDMzMCwgMTAzMzIsIDEwMzM0LCAxMDMzNiwgMTAzMzgsIDEwMzQwLCAxMDM0MiwgMTAzNDQsIDEwMzQ2LCAxMDM0OCwgCisgICAgMTAzNTAsIDEwMzUyLCAxMDM1NCwgMTAzNTYsIDEwMzU4LCAxMDM2MCwgMTAzNjIsIDEwMzY0LCAxMDM2NiwgMTAzNjgsIAorICAgIDEwMzcwLCAxMDM3MiwgMTAzNzQsIDEwMzc2LCAwLCAwLCAwLCAxMDM3OCwgMTAzODAsIDEwMzgyLCAxMDM4NCwgMTAzODYsIAorICAgIDEwMzg4LCAwLCAwLCAxMDM5MCwgMTAzOTIsIDEwMzk0LCAxMDM5NiwgMTAzOTgsIDEwNDAwLCAwLCAwLCAxMDQwMiwgCisgICAgMTA0MDQsIDEwNDA2LCAxMDQwOCwgMTA0MTAsIDEwNDEyLCAwLCAwLCAxMDQxNCwgMTA0MTYsIDEwNDE4LCAwLCAwLCAwLCAKKyAgICAxMDQyMCwgMTA0MjIsIDEwNDI0LCAxMDQyNiwgMTA0MjgsIDEwNDMwLCAxMDQzMiwgMCwgMTA0MzQsIDEwNDM2LCAxMDQzOCwgCisgICAgMTA0NDAsIDEwNDQyLCAxMDQ0NCwgMTA0NDYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDEyNzY0LCAxMjc2NywgMTI3NzAsIDEyNzczLCAxMjc3NiwgMTI3NzksIDEyNzgyLCAxMjc4NSwgCi0gICAgMTI3ODgsIDEyNzkxLCAxMjc5NCwgMCwgMCwgMCwgMCwgMCwgMTI3OTcsIDEyODAxLCAxMjgwNSwgMTI4MDksIDEyODEzLCAKLSAgICAxMjgxNywgMTI4MjEsIDEyODI1LCAxMjgyOSwgMTI4MzMsIDEyODM3LCAxMjg0MSwgMTI4NDUsIDEyODQ5LCAxMjg1MywgCi0gICAgMTI4NTcsIDEyODYxLCAxMjg2NSwgMTI4NjksIDEyODczLCAxMjg3NywgMTI4ODEsIDEyODg1LCAxMjg4OSwgMTI4OTMsIAotICAgIDEyODk3LCAxMjkwMSwgMTI5MDUsIDEyOTA3LCAxMjkwOSwgMTI5MTIsIDAsIDEyOTE1LCAxMjkxNywgMTI5MTksIDEyOTIxLCAKLSAgICAxMjkyMywgMTI5MjUsIDEyOTI3LCAxMjkyOSwgMTI5MzEsIDEyOTMzLCAxMjkzNSwgMTI5MzcsIDEyOTM5LCAxMjk0MSwgCi0gICAgMTI5NDMsIDEyOTQ1LCAxMjk0NywgMTI5NDksIDEyOTUxLCAxMjk1MywgMTI5NTUsIDEyOTU3LCAxMjk1OSwgMTI5NjEsIAotICAgIDEyOTYzLCAxMjk2NSwgMTI5NjcsIDEyOTcwLCAxMjk3MywgMTI5NzYsIDEyOTc5LCAxMjk4MywgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTI5ODYsIDEyOTg5LCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMjk5MiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMTA0NDgsIDAsIDEwNDUxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAxMDQ1NCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMTI5OTUsIDEyOTk4LCAxMzAwMSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMTMwMDMsIDEzMDA1LCAxMzAwNywgMTMwMDksIDEzMDExLCAxMzAxMywgMTMwMTUsIDEzMDE3LCAxMzAxOSwgMTMwMjEsIAotICAgIDEzMDIzLCAxMzAyNSwgMTMwMjcsIDEzMDI5LCAxMzAzMSwgMTMwMzMsIDEzMDM1LCAxMzAzNywgMTMwMzksIDEzMDQxLCAKLSAgICAxMzA0MywgMTMwNDUsIDEzMDQ3LCAxMzA0OSwgMTMwNTEsIDEzMDUzLCAxMzA1NSwgMTMwNTcsIDEzMDU5LCAxMzA2MSwgCi0gICAgMTMwNjMsIDEzMDY1LCAxMzA2NywgMTMwNjksIDEzMDcxLCAxMzA3MywgMTMwNzUsIDEzMDc3LCAxMzA3OSwgMTMwODEsIAotICAgIDEzMDgzLCAxMzA4NSwgMTMwODcsIDAsIDAsIDAsIDAsIDAsIDEzMDg5LCAxMzA5MywgMTMwOTcsIDEzMTAxLCAxMzEwNSwgCi0gICAgMTMxMDksIDEzMTEzLCAxMzExNywgMTMxMjEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEzMTI1LCAxMzEyNywgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTA0NTcsIDEwNDYwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAxMDQ2MywgMTA0NjYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDEzMTI5LCAxMzEzMSwgMTMxMzMsIDEzMTM1LCAxMzEzNywgMTMxMzksIDEzMTQxLCAxMzE0MywgMTMxNDUsIAotICAgIDEzMTQ3LCAxMzE0OSwgMTMxNTEsIDEzMTUzLCAxMzE1NSwgMTMxNTcsIDEzMTU5LCAxMzE2MSwgMTMxNjMsIDEzMTY1LCAKLSAgICAxMzE2NywgMTMxNjksIDEzMTcxLCAxMzE3MywgMTMxNzUsIDEzMTc3LCAxMzE3OSwgMTMxODEsIDEzMTgzLCAxMzE4NSwgCi0gICAgMTMxODcsIDEzMTg5LCAxMzE5MSwgMTMxOTMsIDEzMTk1LCAxMzE5NywgMTMxOTksIDEzMjAxLCAxMzIwMywgMTMyMDUsIAotICAgIDEzMjA3LCAxMzIwOSwgMTMyMTEsIDEzMjEzLCAxMzIxNSwgMTMyMTcsIDEzMjE5LCAxMzIyMSwgMTMyMjMsIDEzMjI1LCAKLSAgICAxMzIyNywgMTMyMjksIDEzMjMxLCAxMzIzMywgMTMyMzUsIDEzMjM3LCAxMzIzOSwgMTMyNDEsIDEzMjQzLCAxMzI0NSwgCi0gICAgMTMyNDcsIDEzMjQ5LCAxMzI1MSwgMTMyNTMsIDEzMjU1LCAxMzI1NywgMTMyNTksIDEzMjYxLCAxMzI2MywgMTMyNjUsIAotICAgIDEzMjY3LCAxMzI2OSwgMTMyNzEsIDEzMjczLCAxMzI3NSwgMTMyNzcsIDEzMjc5LCAxMzI4MSwgMTMyODMsIDEzMjg1LCAKLSAgICAxMzI4NywgMTMyODksIDEzMjkxLCAxMzI5MywgMTMyOTUsIDEzMjk3LCAxMzI5OSwgMTMzMDEsIDEzMzAzLCAxMzMwNSwgCi0gICAgMTMzMDcsIDEzMzA5LCAxMzMxMSwgMTMzMTMsIDEzMzE1LCAxMzMxNywgMTMzMTksIDEzMzIxLCAxMzMyMywgMTMzMjUsIAotICAgIDEzMzI3LCAxMzMyOSwgMTMzMzEsIDEzMzMzLCAxMzMzNSwgMTMzMzcsIDEzMzM5LCAxMzM0MSwgMTMzNDMsIDEzMzQ1LCAKLSAgICAxMzM0NywgMTMzNDksIDEzMzUxLCAxMzM1MywgMTMzNTUsIDEzMzU3LCAxMzM1OSwgMTMzNjEsIDEzMzYzLCAxMzM2NSwgCi0gICAgMTMzNjcsIDEzMzY5LCAxMzM3MSwgMTMzNzMsIDEzMzc1LCAxMzM3NywgMTMzNzksIDEzMzgxLCAxMzM4MywgMTMzODUsIAotICAgIDEzMzg3LCAxMzM4OSwgMTMzOTEsIDEzMzkzLCAxMzM5NSwgMTMzOTcsIDEzMzk5LCAxMzQwMSwgMTM0MDMsIDEzNDA1LCAKLSAgICAxMzQwNywgMTM0MDksIDEzNDExLCAxMzQxMywgMTM0MTUsIDEzNDE3LCAxMzQxOSwgMTM0MjEsIDEzNDIzLCAxMzQyNSwgCi0gICAgMTM0MjcsIDEzNDI5LCAxMzQzMSwgMTM0MzMsIDEzNDM1LCAxMzQzNywgMTM0MzksIDEzNDQxLCAxMzQ0MywgMTM0NDUsIAotICAgIDEzNDQ3LCAxMzQ0OSwgMTM0NTEsIDEzNDUzLCAxMzQ1NSwgMTM0NTcsIDEzNDU5LCAxMzQ2MSwgMTM0NjMsIDEzNDY1LCAKLSAgICAxMzQ2NywgMTM0NjksIDEzNDcxLCAxMzQ3MywgMTM0NzUsIDEzNDc3LCAxMzQ3OSwgMTM0ODEsIDEzNDgzLCAxMzQ4NSwgCi0gICAgMTM0ODcsIDEzNDg5LCAxMzQ5MSwgMTM0OTMsIDEzNDk1LCAxMzQ5NywgMTM0OTksIDEzNTAxLCAxMzUwMywgMTM1MDUsIAotICAgIDEzNTA3LCAxMzUwOSwgMTM1MTEsIDEzNTEzLCAxMzUxNSwgMTM1MTcsIDEzNTE5LCAxMzUyMSwgMTM1MjMsIDEzNTI1LCAKLSAgICAxMzUyNywgMTM1MjksIDEzNTMxLCAxMzUzMywgMTM1MzUsIDEzNTM3LCAxMzUzOSwgMTM1NDEsIDEzNTQzLCAxMzU0NSwgCi0gICAgMTM1NDcsIDEzNTQ5LCAxMzU1MSwgMTM1NTMsIDEzNTU1LCAxMzU1NywgMTM1NTksIDEzNTYxLCAxMzU2MywgMTM1NjUsIAotICAgIDEzNTY3LCAxMzU2OSwgMTM1NzEsIDEzNTczLCAxMzU3NSwgMTM1NzcsIDEzNTc5LCAxMzU4MSwgMTM1ODMsIDEzNTg1LCAKLSAgICAxMzU4NywgMTM1ODksIDEzNTkxLCAxMzU5MywgMTM1OTUsIDEzNTk3LCAxMzU5OSwgMTM2MDEsIDEzNjAzLCAxMzYwNSwgCi0gICAgMTM2MDcsIDEzNjA5LCAxMzYxMSwgMTM2MTMsIDEzNjE1LCAxMzYxNywgMTM2MTksIDEzNjIxLCAxMzYyMywgMTM2MjUsIAotICAgIDEzNjI3LCAxMzYyOSwgMTM2MzEsIDEzNjMzLCAxMzYzNSwgMTM2MzcsIDEzNjM5LCAxMzY0MSwgMTM2NDMsIDEzNjQ1LCAKLSAgICAxMzY0NywgMTM2NDksIDEzNjUxLCAxMzY1MywgMTM2NTUsIDEzNjU3LCAxMzY1OSwgMTM2NjEsIDEzNjYzLCAxMzY2NSwgCi0gICAgMTM2NjcsIDEzNjY5LCAxMzY3MSwgMTM2NzMsIDEzNjc1LCAxMzY3NywgMTM2NzksIDEzNjgxLCAxMzY4MywgMTM2ODUsIAotICAgIDEzNjg3LCAxMzY4OSwgMTM2OTEsIDEzNjkzLCAxMzY5NSwgMTM2OTcsIDEzNjk5LCAxMzcwMSwgMTM3MDMsIDEzNzA1LCAKLSAgICAxMzcwNywgMTM3MDksIDEzNzExLCAxMzcxMywgMTM3MTUsIDEzNzE3LCAxMzcxOSwgMTM3MjEsIDEzNzIzLCAxMzcyNSwgCi0gICAgMTM3MjcsIDEzNzI5LCAxMzczMSwgMTM3MzMsIDEzNzM1LCAxMzczNywgMTM3MzksIDEzNzQxLCAxMzc0MywgMTM3NDUsIAotICAgIDEzNzQ3LCAxMzc0OSwgMTM3NTEsIDEzNzUzLCAxMzc1NSwgMTM3NTcsIDEzNzU5LCAxMzc2MSwgMTM3NjMsIDEzNzY1LCAKLSAgICAxMzc2NywgMTM3NjksIDEzNzcxLCAxMzc3MywgMTM3NzUsIDEzNzc3LCAxMzc3OSwgMTM3ODEsIDEzNzgzLCAxMzc4NSwgCi0gICAgMTM3ODcsIDEzNzg5LCAxMzc5MSwgMTM3OTMsIDEzNzk1LCAxMzc5NywgMTM3OTksIDEzODAxLCAxMzgwMywgMTM4MDUsIAotICAgIDEzODA3LCAxMzgwOSwgMTM4MTEsIDEzODEzLCAxMzgxNSwgMTM4MTcsIDEzODE5LCAxMzgyMSwgMTM4MjMsIDEzODI1LCAKLSAgICAxMzgyNywgMTM4MjksIDEzODMxLCAxMzgzMywgMTM4MzUsIDEzODM3LCAxMzgzOSwgMTM4NDEsIDEzODQzLCAxMzg0NSwgCi0gICAgMTM4NDcsIDEzODQ5LCAxMzg1MSwgMTM4NTMsIDEzODU1LCAxMzg1NywgMTM4NTksIDEzODYxLCAxMzg2MywgMTM4NjUsIAotICAgIDEzODY3LCAxMzg2OSwgMTM4NzEsIDEzODczLCAxMzg3NSwgMTM4NzcsIDEzODc5LCAxMzg4MSwgMTM4ODMsIDEzODg1LCAKLSAgICAxMzg4NywgMTM4ODksIDEzODkxLCAxMzg5MywgMTM4OTUsIDEzODk3LCAxMzg5OSwgMTM5MDEsIDEzOTAzLCAxMzkwNSwgCi0gICAgMTM5MDcsIDEzOTA5LCAxMzkxMSwgMTM5MTMsIDEzOTE1LCAxMzkxNywgMTM5MTksIDEzOTIxLCAxMzkyMywgMTM5MjUsIAotICAgIDEzOTI3LCAxMzkyOSwgMTM5MzEsIDEzOTMzLCAxMzkzNSwgMTM5MzcsIDEzOTM5LCAxMzk0MSwgMTM5NDMsIDEzOTQ1LCAKLSAgICAxMzk0NywgMTM5NDksIDEzOTUxLCAxMzk1MywgMTM5NTUsIDEzOTU3LCAxMzk1OSwgMTM5NjEsIDEzOTYzLCAxMzk2NSwgCi0gICAgMTM5NjcsIDEzOTY5LCAxMzk3MSwgMTM5NzMsIDEzOTc1LCAxMzk3NywgMTM5NzksIDEzOTgxLCAxMzk4MywgMTM5ODUsIAotICAgIDEzOTg3LCAxMzk4OSwgMTM5OTEsIDEzOTkzLCAxMzk5NSwgMTM5OTcsIDEzOTk5LCAxNDAwMSwgMTQwMDMsIDE0MDA1LCAKLSAgICAxNDAwNywgMTQwMDksIDE0MDExLCAxNDAxMywgMTQwMTUsIDE0MDE3LCAxNDAxOSwgMTQwMjEsIDE0MDIzLCAxNDAyNSwgCi0gICAgMTQwMjcsIDE0MDI5LCAxNDAzMSwgMTQwMzMsIDE0MDM1LCAxNDAzNywgMTQwMzksIDE0MDQxLCAxNDA0MywgMTQwNDUsIAotICAgIDE0MDQ3LCAxNDA0OSwgMTQwNTEsIDE0MDUzLCAxNDA1NSwgMTQwNTcsIDE0MDU5LCAxNDA2MSwgMTQwNjMsIDE0MDY1LCAKLSAgICAxNDA2NywgMTQwNjksIDE0MDcxLCAxNDA3MywgMTQwNzUsIDE0MDc3LCAxNDA3OSwgMTQwODEsIDE0MDgzLCAxNDA4NSwgCi0gICAgMTQwODcsIDE0MDg5LCAxNDA5MSwgMTQwOTMsIDE0MDk1LCAxNDA5NywgMTQwOTksIDE0MTAxLCAxNDEwMywgMTQxMDUsIAotICAgIDE0MTA3LCAxNDEwOSwgMTQxMTEsIDE0MTEzLCAxNDExNSwgMTQxMTcsIDE0MTE5LCAxNDEyMSwgMTQxMjMsIDE0MTI1LCAKLSAgICAxNDEyNywgMTQxMjksIDE0MTMxLCAxNDEzMywgMTQxMzUsIDE0MTM3LCAxNDEzOSwgMTQxNDEsIDE0MTQzLCAxNDE0NSwgCi0gICAgMTQxNDcsIDE0MTQ5LCAxNDE1MSwgMTQxNTMsIDE0MTU1LCAxNDE1NywgMTQxNTksIDE0MTYxLCAxNDE2MywgMTQxNjUsIAotICAgIDE0MTY3LCAxNDE2OSwgMTQxNzEsIDE0MTczLCAxNDE3NSwgMTQxNzcsIDE0MTc5LCAxNDE4MSwgMTQxODMsIDE0MTg1LCAKLSAgICAxNDE4NywgMTQxODksIDE0MTkxLCAxNDE5MywgMTQxOTUsIDE0MTk3LCAxNDE5OSwgMTQyMDEsIDE0MjAzLCAxNDIwNSwgCi0gICAgMTQyMDcsIDE0MjA5LCAxNDIxMSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTA0NjksIAorICAgIDEwNDcyLCAwLCAxMDQ3NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTA0NzgsIDEwNDgxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAxMDQ4NCwgMTA0ODcsIDEwNDkwLCAxMDQ5MywgMTA0OTYsIDEwNDk5LCAxMDUwMiwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTA1MDUsIDEwNTA4LCAxMDUxMSwgMTA1MTQsIDEwNTE3LCAKKyAgICAxMDUyMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTA1MjMsIDEwNTI1LCAxMDUyNywgCisgICAgMTA1MjksIDEwNTMxLCAxMDUzMywgMTA1MzUsIDEwNTM3LCAxMDUzOSwgMTA1NDEsIDEwNTQzLCAxMDU0NSwgMTA1NDcsIAorICAgIDEwNTQ5LCAxMDU1MSwgMTA1NTMsIDEwNTU1LCAxMDU1NywgMTA1NTksIDEwNTYxLCAxMDU2MywgMTA1NjUsIDEwNTY3LCAKKyAgICAxMDU2OSwgMTA1NzEsIDEwNTczLCAxMDU3NSwgMTA1NzcsIDEwNTc5LCAxMDU4MSwgMTA1ODMsIDEwNTg1LCAxMDU4NywgCisgICAgMTA1ODksIDEwNTkxLCAxMDU5MywgMTA1OTUsIDEwNTk3LCAxMDU5OSwgMTA2MDEsIDEwNjAzLCAxMDYwNSwgMTA2MDcsIAorICAgIDEwNjA5LCAxMDYxMSwgMTA2MTMsIDEwNjE1LCAxMDYxNywgMTA2MTksIDEwNjIxLCAxMDYyMywgMTA2MjUsIDEwNjI3LCAKKyAgICAxMDYyOSwgMTA2MzEsIDEwNjMzLCAxMDYzNSwgMTA2MzcsIDEwNjM5LCAxMDY0MSwgMTA2NDMsIDEwNjQ1LCAxMDY0NywgCisgICAgMTA2NDksIDEwNjUxLCAxMDY1MywgMTA2NTUsIDEwNjU3LCAxMDY1OSwgMTA2NjEsIDEwNjYzLCAxMDY2NSwgMTA2NjcsIAorICAgIDEwNjY5LCAxMDY3MSwgMTA2NzMsIDEwNjc1LCAxMDY3NywgMTA2NzksIDEwNjgxLCAxMDY4MywgMTA2ODUsIDEwNjg3LCAKKyAgICAxMDY4OSwgMTA2OTEsIDAsIDEwNjkzLCAxMDY5NSwgMTA2OTcsIDEwNjk5LCAxMDcwMSwgMTA3MDMsIDEwNzA1LCAxMDcwNywgCisgICAgMTA3MDksIDEwNzExLCAxMDcxMywgMTA3MTUsIDEwNzE3LCAxMDcxOSwgMTA3MjEsIDEwNzIzLCAxMDcyNSwgMTA3MjcsIAorICAgIDEwNzI5LCAxMDczMSwgMTA3MzMsIDEwNzM1LCAxMDczNywgMTA3MzksIDEwNzQxLCAxMDc0MywgMTA3NDUsIDEwNzQ3LCAKKyAgICAxMDc0OSwgMTA3NTEsIDEwNzUzLCAxMDc1NSwgMTA3NTcsIDEwNzU5LCAxMDc2MSwgMTA3NjMsIDEwNzY1LCAxMDc2NywgCisgICAgMTA3NjksIDEwNzcxLCAxMDc3MywgMTA3NzUsIDEwNzc3LCAxMDc3OSwgMTA3ODEsIDEwNzgzLCAxMDc4NSwgMTA3ODcsIAorICAgIDEwNzg5LCAxMDc5MSwgMTA3OTMsIDEwNzk1LCAxMDc5NywgMTA3OTksIDEwODAxLCAxMDgwMywgMTA4MDUsIDEwODA3LCAKKyAgICAxMDgwOSwgMTA4MTEsIDEwODEzLCAxMDgxNSwgMTA4MTcsIDEwODE5LCAxMDgyMSwgMTA4MjMsIDEwODI1LCAxMDgyNywgCisgICAgMTA4MjksIDEwODMxLCAxMDgzMywgMCwgMTA4MzUsIDEwODM3LCAwLCAwLCAxMDgzOSwgMCwgMCwgMTA4NDEsIDEwODQzLCAwLCAKKyAgICAwLCAxMDg0NSwgMTA4NDcsIDEwODQ5LCAxMDg1MSwgMCwgMTA4NTMsIDEwODU1LCAxMDg1NywgMTA4NTksIDEwODYxLCAKKyAgICAxMDg2MywgMTA4NjUsIDEwODY3LCAxMDg2OSwgMTA4NzEsIDEwODczLCAxMDg3NSwgMCwgMTA4NzcsIDAsIDEwODc5LCAKKyAgICAxMDg4MSwgMTA4ODMsIDEwODg1LCAxMDg4NywgMTA4ODksIDEwODkxLCAwLCAxMDg5MywgMTA4OTUsIDEwODk3LCAxMDg5OSwgCisgICAgMTA5MDEsIDEwOTAzLCAxMDkwNSwgMTA5MDcsIDEwOTA5LCAxMDkxMSwgMTA5MTMsIDEwOTE1LCAxMDkxNywgMTA5MTksIAorICAgIDEwOTIxLCAxMDkyMywgMTA5MjUsIDEwOTI3LCAxMDkyOSwgMTA5MzEsIDEwOTMzLCAxMDkzNSwgMTA5MzcsIDEwOTM5LCAKKyAgICAxMDk0MSwgMTA5NDMsIDEwOTQ1LCAxMDk0NywgMTA5NDksIDEwOTUxLCAxMDk1MywgMTA5NTUsIDEwOTU3LCAxMDk1OSwgCisgICAgMTA5NjEsIDEwOTYzLCAxMDk2NSwgMTA5NjcsIDEwOTY5LCAxMDk3MSwgMTA5NzMsIDEwOTc1LCAxMDk3NywgMTA5NzksIAorICAgIDEwOTgxLCAxMDk4MywgMTA5ODUsIDEwOTg3LCAxMDk4OSwgMTA5OTEsIDEwOTkzLCAxMDk5NSwgMTA5OTcsIDEwOTk5LCAKKyAgICAxMTAwMSwgMTEwMDMsIDExMDA1LCAxMTAwNywgMTEwMDksIDExMDExLCAxMTAxMywgMTEwMTUsIDExMDE3LCAxMTAxOSwgCisgICAgMTEwMjEsIDAsIDExMDIzLCAxMTAyNSwgMTEwMjcsIDExMDI5LCAwLCAwLCAxMTAzMSwgMTEwMzMsIDExMDM1LCAxMTAzNywgCisgICAgMTEwMzksIDExMDQxLCAxMTA0MywgMTEwNDUsIDAsIDExMDQ3LCAxMTA0OSwgMTEwNTEsIDExMDUzLCAxMTA1NSwgMTEwNTcsIAorICAgIDExMDU5LCAwLCAxMTA2MSwgMTEwNjMsIDExMDY1LCAxMTA2NywgMTEwNjksIDExMDcxLCAxMTA3MywgMTEwNzUsIDExMDc3LCAKKyAgICAxMTA3OSwgMTEwODEsIDExMDgzLCAxMTA4NSwgMTEwODcsIDExMDg5LCAxMTA5MSwgMTEwOTMsIDExMDk1LCAxMTA5NywgCisgICAgMTEwOTksIDExMTAxLCAxMTEwMywgMTExMDUsIDExMTA3LCAxMTEwOSwgMTExMTEsIDExMTEzLCAxMTExNSwgMCwgMTExMTcsIAorICAgIDExMTE5LCAxMTEyMSwgMTExMjMsIDAsIDExMTI1LCAxMTEyNywgMTExMjksIDExMTMxLCAxMTEzMywgMCwgMTExMzUsIDAsIAorICAgIDAsIDAsIDExMTM3LCAxMTEzOSwgMTExNDEsIDExMTQzLCAxMTE0NSwgMTExNDcsIDExMTQ5LCAwLCAxMTE1MSwgMTExNTMsIAorICAgIDExMTU1LCAxMTE1NywgMTExNTksIDExMTYxLCAxMTE2MywgMTExNjUsIDExMTY3LCAxMTE2OSwgMTExNzEsIDExMTczLCAKKyAgICAxMTE3NSwgMTExNzcsIDExMTc5LCAxMTE4MSwgMTExODMsIDExMTg1LCAxMTE4NywgMTExODksIDExMTkxLCAxMTE5MywgCisgICAgMTExOTUsIDExMTk3LCAxMTE5OSwgMTEyMDEsIDExMjAzLCAxMTIwNSwgMTEyMDcsIDExMjA5LCAxMTIxMSwgMTEyMTMsIAorICAgIDExMjE1LCAxMTIxNywgMTEyMTksIDExMjIxLCAxMTIyMywgMTEyMjUsIDExMjI3LCAxMTIyOSwgMTEyMzEsIDExMjMzLCAKKyAgICAxMTIzNSwgMTEyMzcsIDExMjM5LCAxMTI0MSwgMTEyNDMsIDExMjQ1LCAxMTI0NywgMTEyNDksIDExMjUxLCAxMTI1MywgCisgICAgMTEyNTUsIDExMjU3LCAxMTI1OSwgMTEyNjEsIDExMjYzLCAxMTI2NSwgMTEyNjcsIDExMjY5LCAxMTI3MSwgMTEyNzMsIAorICAgIDExMjc1LCAxMTI3NywgMTEyNzksIDExMjgxLCAxMTI4MywgMTEyODUsIDExMjg3LCAxMTI4OSwgMTEyOTEsIDExMjkzLCAKKyAgICAxMTI5NSwgMTEyOTcsIDExMjk5LCAxMTMwMSwgMTEzMDMsIDExMzA1LCAxMTMwNywgMTEzMDksIDExMzExLCAxMTMxMywgCisgICAgMTEzMTUsIDExMzE3LCAxMTMxOSwgMTEzMjEsIDExMzIzLCAxMTMyNSwgMTEzMjcsIDExMzI5LCAxMTMzMSwgMTEzMzMsIAorICAgIDExMzM1LCAxMTMzNywgMTEzMzksIDExMzQxLCAxMTM0MywgMTEzNDUsIDExMzQ3LCAxMTM0OSwgMTEzNTEsIDExMzUzLCAKKyAgICAxMTM1NSwgMTEzNTcsIDExMzU5LCAxMTM2MSwgMTEzNjMsIDExMzY1LCAxMTM2NywgMTEzNjksIDExMzcxLCAxMTM3MywgCisgICAgMTEzNzUsIDExMzc3LCAxMTM3OSwgMTEzODEsIDExMzgzLCAxMTM4NSwgMTEzODcsIDExMzg5LCAxMTM5MSwgMTEzOTMsIAorICAgIDExMzk1LCAxMTM5NywgMTEzOTksIDExNDAxLCAxMTQwMywgMTE0MDUsIDExNDA3LCAxMTQwOSwgMTE0MTEsIDExNDEzLCAKKyAgICAxMTQxNSwgMTE0MTcsIDExNDE5LCAxMTQyMSwgMTE0MjMsIDExNDI1LCAxMTQyNywgMTE0MjksIDExNDMxLCAxMTQzMywgCisgICAgMTE0MzUsIDExNDM3LCAxMTQzOSwgMTE0NDEsIDExNDQzLCAxMTQ0NSwgMTE0NDcsIDExNDQ5LCAxMTQ1MSwgMTE0NTMsIAorICAgIDExNDU1LCAxMTQ1NywgMTE0NTksIDExNDYxLCAxMTQ2MywgMTE0NjUsIDExNDY3LCAxMTQ2OSwgMTE0NzEsIDExNDczLCAKKyAgICAxMTQ3NSwgMTE0NzcsIDExNDc5LCAxMTQ4MSwgMTE0ODMsIDExNDg1LCAxMTQ4NywgMTE0ODksIDExNDkxLCAxMTQ5MywgCisgICAgMTE0OTUsIDExNDk3LCAxMTQ5OSwgMTE1MDEsIDExNTAzLCAxMTUwNSwgMTE1MDcsIDExNTA5LCAxMTUxMSwgMTE1MTMsIAorICAgIDExNTE1LCAxMTUxNywgMTE1MTksIDExNTIxLCAxMTUyMywgMTE1MjUsIDExNTI3LCAxMTUyOSwgMTE1MzEsIDExNTMzLCAKKyAgICAxMTUzNSwgMTE1MzcsIDExNTM5LCAxMTU0MSwgMTE1NDMsIDExNTQ1LCAxMTU0NywgMTE1NDksIDExNTUxLCAxMTU1MywgCisgICAgMTE1NTUsIDExNTU3LCAxMTU1OSwgMTE1NjEsIDExNTYzLCAxMTU2NSwgMTE1NjcsIDExNTY5LCAxMTU3MSwgMTE1NzMsIAorICAgIDExNTc1LCAxMTU3NywgMTE1NzksIDExNTgxLCAxMTU4MywgMTE1ODUsIDExNTg3LCAxMTU4OSwgMTE1OTEsIDExNTkzLCAKKyAgICAxMTU5NSwgMTE1OTcsIDExNTk5LCAxMTYwMSwgMTE2MDMsIDExNjA1LCAxMTYwNywgMTE2MDksIDExNjExLCAxMTYxMywgCisgICAgMTE2MTUsIDExNjE3LCAxMTYxOSwgMTE2MjEsIDExNjIzLCAxMTYyNSwgMTE2MjcsIDExNjI5LCAxMTYzMSwgMTE2MzMsIAorICAgIDExNjM1LCAxMTYzNywgMTE2MzksIDExNjQxLCAxMTY0MywgMTE2NDUsIDExNjQ3LCAxMTY0OSwgMTE2NTEsIDExNjUzLCAKKyAgICAxMTY1NSwgMTE2NTcsIDExNjU5LCAxMTY2MSwgMTE2NjMsIDExNjY1LCAxMTY2NywgMTE2NjksIDExNjcxLCAxMTY3MywgCisgICAgMTE2NzUsIDExNjc3LCAxMTY3OSwgMTE2ODEsIDExNjgzLCAxMTY4NSwgMTE2ODcsIDExNjg5LCAxMTY5MSwgMTE2OTMsIAorICAgIDExNjk1LCAxMTY5NywgMTE2OTksIDExNzAxLCAxMTcwMywgMTE3MDUsIDExNzA3LCAxMTcwOSwgMTE3MTEsIDExNzEzLCAKKyAgICAxMTcxNSwgMTE3MTcsIDExNzE5LCAxMTcyMSwgMTE3MjMsIDExNzI1LCAxMTcyNywgMTE3MjksIDExNzMxLCAxMTczMywgCisgICAgMTE3MzUsIDExNzM3LCAxMTczOSwgMTE3NDEsIDExNzQzLCAxMTc0NSwgMTE3NDcsIDExNzQ5LCAxMTc1MSwgMTE3NTMsIAorICAgIDExNzU1LCAxMTc1NywgMTE3NTksIDExNzYxLCAxMTc2MywgMTE3NjUsIDExNzY3LCAxMTc2OSwgMTE3NzEsIDExNzczLCAKKyAgICAxMTc3NSwgMTE3NzcsIDExNzc5LCAxMTc4MSwgMTE3ODMsIDExNzg1LCAxMTc4NywgMTE3ODksIDExNzkxLCAxMTc5MywgCisgICAgMTE3OTUsIDExNzk3LCAxMTc5OSwgMTE4MDEsIDExODAzLCAxMTgwNSwgMTE4MDcsIDExODA5LCAxMTgxMSwgMTE4MTMsIAorICAgIDExODE1LCAxMTgxNywgMTE4MTksIDExODIxLCAxMTgyMywgMTE4MjUsIDExODI3LCAxMTgyOSwgMCwgMCwgMTE4MzEsIAorICAgIDExODMzLCAxMTgzNSwgMTE4MzcsIDExODM5LCAxMTg0MSwgMTE4NDMsIDExODQ1LCAxMTg0NywgMTE4NDksIDExODUxLCAKKyAgICAxMTg1MywgMTE4NTUsIDExODU3LCAxMTg1OSwgMTE4NjEsIDExODYzLCAxMTg2NSwgMTE4NjcsIDExODY5LCAxMTg3MSwgCisgICAgMTE4NzMsIDExODc1LCAxMTg3NywgMTE4NzksIDExODgxLCAxMTg4MywgMTE4ODUsIDExODg3LCAxMTg4OSwgMTE4OTEsIAorICAgIDExODkzLCAxMTg5NSwgMTE4OTcsIDExODk5LCAxMTkwMSwgMTE5MDMsIDExOTA1LCAxMTkwNywgMTE5MDksIDExOTExLCAKKyAgICAxMTkxMywgMTE5MTUsIDExOTE3LCAxMTkxOSwgMTE5MjEsIDExOTIzLCAxMTkyNSwgMTE5MjcsIDExOTI5LCAxMTkzMSwgCisgICAgMTE5MzMsIDExOTM1LCAxMTkzNywgMTE5MzksIDExOTQxLCAxMTk0MywgMTE5NDUsIDExOTQ3LCAxMTk0OSwgMTE5NTEsIAorICAgIDExOTUzLCAxMTk1NSwgMTE5NTcsIDExOTU5LCAxMTk2MSwgMTE5NjMsIDExOTY1LCAxMTk2NywgMTE5NjksIDExOTcxLCAKKyAgICAxMTk3MywgMTE5NzUsIDExOTc3LCAxMTk3OSwgMTE5ODEsIDExOTgzLCAxMTk4NSwgMTE5ODcsIDExOTg5LCAxMTk5MSwgCisgICAgMTE5OTMsIDExOTk1LCAxMTk5NywgMTE5OTksIDEyMDAxLCAxMjAwMywgMTIwMDUsIDEyMDA3LCAxMjAwOSwgMTIwMTEsIAorICAgIDEyMDEzLCAxMjAxNSwgMTIwMTcsIDEyMDE5LCAxMjAyMSwgMTIwMjMsIDEyMDI1LCAxMjAyNywgMTIwMjksIDEyMDMxLCAKKyAgICAxMjAzMywgMTIwMzUsIDEyMDM3LCAxMjAzOSwgMTIwNDEsIDEyMDQzLCAxMjA0NSwgMTIwNDcsIDEyMDQ5LCAxMjA1MSwgCisgICAgMTIwNTMsIDEyMDU1LCAxMjA1NywgMTIwNTksIDEyMDYxLCAxMjA2MywgMTIwNjUsIDEyMDY3LCAxMjA2OSwgMTIwNzEsIAorICAgIDEyMDczLCAxMjA3NSwgMTIwNzcsIDEyMDc5LCAxMjA4MSwgMTIwODMsIDEyMDg1LCAxMjA4NywgMTIwODksIDEyMDkxLCAKKyAgICAxMjA5MywgMTIwOTUsIDEyMDk3LCAxMjA5OSwgMTIxMDEsIDEyMTAzLCAxMjEwNSwgMTIxMDcsIDEyMTA5LCAxMjExMSwgCisgICAgMTIxMTMsIDEyMTE1LCAxMjExNywgMTIxMTksIDEyMTIxLCAxMjEyMywgMTIxMjUsIDEyMTI3LCAxMjEyOSwgMTIxMzEsIAorICAgIDEyMTMzLCAxMjEzNSwgMTIxMzcsIDEyMTM5LCAxMjE0MSwgMTIxNDMsIDEyMTQ1LCAxMjE0NywgMTIxNDksIDEyMTUxLCAKKyAgICAxMjE1MywgMTIxNTUsIDEyMTU3LCAxMjE1OSwgMTIxNjEsIDEyMTYzLCAxMjE2NSwgMTIxNjcsIDEyMTY5LCAxMjE3MSwgCisgICAgMTIxNzMsIDEyMTc1LCAxMjE3NywgMTIxNzksIDEyMTgxLCAxMjE4MywgMTIxODUsIDEyMTg3LCAxMjE4OSwgMTIxOTEsIAorICAgIDEyMTkzLCAxMjE5NSwgMTIxOTcsIDEyMTk5LCAxMjIwMSwgMTIyMDMsIDEyMjA1LCAxMjIwNywgMTIyMDksIDEyMjExLCAKKyAgICAxMjIxMywgMTIyMTUsIDEyMjE3LCAxMjIxOSwgMTIyMjEsIDEyMjIzLCAxMjIyNSwgMTIyMjcsIDEyMjI5LCAxMjIzMSwgCisgICAgMTIyMzMsIDEyMjM1LCAxMjIzNywgMTIyMzksIDEyMjQxLCAxMjI0MywgMTIyNDUsIDEyMjQ3LCAxMjI0OSwgMTIyNTEsIAorICAgIDEyMjUzLCAxMjI1NSwgMTIyNTcsIDEyMjU5LCAxMjI2MSwgMTIyNjMsIDEyMjY1LCAxMjI2NywgMTIyNjksIDEyMjcxLCAKKyAgICAxMjI3MywgMTIyNzUsIDEyMjc3LCAxMjI3OSwgMTIyODEsIDEyMjgzLCAxMjI4NSwgMTIyODcsIDEyMjg5LCAxMjI5MSwgCisgICAgMTIyOTMsIDEyMjk1LCAxMjI5NywgMTIyOTksIDEyMzAxLCAxMjMwMywgMTIzMDUsIDEyMzA3LCAxMjMwOSwgMTIzMTEsIAorICAgIDEyMzEzLCAxMjMxNSwgMTIzMTcsIDEyMzE5LCAxMjMyMSwgMTIzMjMsIDEyMzI1LCAxMjMyNywgMTIzMjksIDEyMzMxLCAKKyAgICAxMjMzMywgMTIzMzUsIDEyMzM3LCAxMjMzOSwgMTIzNDEsIDEyMzQzLCAxMjM0NSwgMTIzNDcsIDEyMzQ5LCAxMjM1MSwgCisgICAgMTIzNTMsIDEyMzU1LCAxMjM1NywgMTIzNTksIDEyMzYxLCAxMjM2MywgMTIzNjUsIDEyMzY3LCAxMjM2OSwgMTIzNzEsIAorICAgIDEyMzczLCAxMjM3NSwgMTIzNzcsIDEyMzc5LCAxMjM4MSwgMTIzODMsIDEyMzg1LCAxMjM4NywgMTIzODksIDEyMzkxLCAKKyAgICAxMjM5MywgMTIzOTUsIDEyMzk3LCAxMjM5OSwgMTI0MDEsIDEyNDAzLCAxMjQwNSwgMTI0MDcsIDEyNDA5LCAxMjQxMSwgCisgICAgMTI0MTMsIDAsIDAsIDEyNDE1LCAxMjQxNywgMTI0MTksIDEyNDIxLCAxMjQyMywgMTI0MjUsIDEyNDI3LCAxMjQyOSwgCisgICAgMTI0MzEsIDEyNDMzLCAxMjQzNSwgMTI0MzcsIDEyNDM5LCAxMjQ0MSwgMTI0NDMsIDEyNDQ1LCAxMjQ0NywgMTI0NDksIAorICAgIDEyNDUxLCAxMjQ1MywgMTI0NTUsIDEyNDU3LCAxMjQ1OSwgMTI0NjEsIDEyNDYzLCAxMjQ2NSwgMTI0NjcsIDEyNDY5LCAKKyAgICAxMjQ3MSwgMTI0NzMsIDEyNDc1LCAxMjQ3NywgMTI0NzksIDEyNDgxLCAxMjQ4MywgMTI0ODUsIDEyNDg3LCAxMjQ4OSwgCisgICAgMTI0OTEsIDEyNDkzLCAxMjQ5NSwgMTI0OTcsIDEyNDk5LCAxMjUwMSwgMTI1MDMsIDEyNTA1LCAxMjUwNywgMTI1MDksIAorICAgIDEyNTExLCAxMjUxMywgMTI1MTUsIDEyNTE3LCAxMjUxOSwgMTI1MjEsIDAsIDEyNTIzLCAxMjUyNSwgMTI1MjcsIDEyNTI5LCAKKyAgICAxMjUzMSwgMTI1MzMsIDEyNTM1LCAxMjUzNywgMTI1MzksIDEyNTQxLCAxMjU0MywgMTI1NDUsIDEyNTQ3LCAxMjU0OSwgCisgICAgMTI1NTEsIDEyNTUzLCAxMjU1NSwgMTI1NTcsIDEyNTU5LCAxMjU2MSwgMTI1NjMsIDEyNTY1LCAxMjU2NywgMTI1NjksIAorICAgIDEyNTcxLCAxMjU3MywgMTI1NzUsIDAsIDEyNTc3LCAxMjU3OSwgMCwgMTI1ODEsIDAsIDAsIDEyNTgzLCAwLCAxMjU4NSwgCisgICAgMTI1ODcsIDEyNTg5LCAxMjU5MSwgMTI1OTMsIDEyNTk1LCAxMjU5NywgMTI1OTksIDEyNjAxLCAxMjYwMywgMCwgMTI2MDUsIAorICAgIDEyNjA3LCAxMjYwOSwgMTI2MTEsIDAsIDEyNjEzLCAwLCAxMjYxNSwgMCwgMCwgMCwgMCwgMCwgMCwgMTI2MTcsIDAsIDAsIAorICAgIDAsIDAsIDEyNjE5LCAwLCAxMjYyMSwgMCwgMTI2MjMsIDAsIDEyNjI1LCAxMjYyNywgMTI2MjksIDAsIDEyNjMxLCAxMjYzMywgCisgICAgMCwgMTI2MzUsIDAsIDAsIDEyNjM3LCAwLCAxMjYzOSwgMCwgMTI2NDEsIDAsIDEyNjQzLCAwLCAxMjY0NSwgMCwgMTI2NDcsIAorICAgIDEyNjQ5LCAwLCAxMjY1MSwgMCwgMCwgMTI2NTMsIDEyNjU1LCAxMjY1NywgMTI2NTksIDAsIDEyNjYxLCAxMjY2MywgCisgICAgMTI2NjUsIDEyNjY3LCAxMjY2OSwgMTI2NzEsIDEyNjczLCAwLCAxMjY3NSwgMTI2NzcsIDEyNjc5LCAxMjY4MSwgMCwgCisgICAgMTI2ODMsIDEyNjg1LCAxMjY4NywgMTI2ODksIDAsIDEyNjkxLCAwLCAxMjY5MywgMTI2OTUsIDEyNjk3LCAxMjY5OSwgCisgICAgMTI3MDEsIDEyNzAzLCAxMjcwNSwgMTI3MDcsIDEyNzA5LCAxMjcxMSwgMCwgMTI3MTMsIDEyNzE1LCAxMjcxNywgMTI3MTksIAorICAgIDEyNzIxLCAxMjcyMywgMTI3MjUsIDEyNzI3LCAxMjcyOSwgMTI3MzEsIDEyNzMzLCAxMjczNSwgMTI3MzcsIDEyNzM5LCAKKyAgICAxMjc0MSwgMTI3NDMsIDEyNzQ1LCAwLCAwLCAwLCAwLCAwLCAxMjc0NywgMTI3NDksIDEyNzUxLCAwLCAxMjc1MywgMTI3NTUsIAorICAgIDEyNzU3LCAxMjc1OSwgMTI3NjEsIDAsIDEyNzYzLCAxMjc2NSwgMTI3NjcsIDEyNzY5LCAxMjc3MSwgMTI3NzMsIDEyNzc1LCAKKyAgICAxMjc3NywgMTI3NzksIDEyNzgxLCAxMjc4MywgMTI3ODUsIDEyNzg3LCAxMjc4OSwgMTI3OTEsIDEyNzkzLCAxMjc5NSwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTI3OTcsIDEyODAwLCAKKyAgICAxMjgwMywgMTI4MDYsIDEyODA5LCAxMjgxMiwgMTI4MTUsIDEyODE4LCAxMjgyMSwgMTI4MjQsIDEyODI3LCAwLCAwLCAwLCAKKyAgICAwLCAwLCAxMjgzMCwgMTI4MzQsIDEyODM4LCAxMjg0MiwgMTI4NDYsIDEyODUwLCAxMjg1NCwgMTI4NTgsIDEyODYyLCAKKyAgICAxMjg2NiwgMTI4NzAsIDEyODc0LCAxMjg3OCwgMTI4ODIsIDEyODg2LCAxMjg5MCwgMTI4OTQsIDEyODk4LCAxMjkwMiwgCisgICAgMTI5MDYsIDEyOTEwLCAxMjkxNCwgMTI5MTgsIDEyOTIyLCAxMjkyNiwgMTI5MzAsIDEyOTM0LCAxMjkzOCwgMTI5NDAsIAorICAgIDEyOTQyLCAxMjk0NSwgMCwgMTI5NDgsIDEyOTUwLCAxMjk1MiwgMTI5NTQsIDEyOTU2LCAxMjk1OCwgMTI5NjAsIDEyOTYyLCAKKyAgICAxMjk2NCwgMTI5NjYsIDEyOTY4LCAxMjk3MCwgMTI5NzIsIDEyOTc0LCAxMjk3NiwgMTI5NzgsIDEyOTgwLCAxMjk4MiwgCisgICAgMTI5ODQsIDEyOTg2LCAxMjk4OCwgMTI5OTAsIDEyOTkyLCAxMjk5NCwgMTI5OTYsIDEyOTk4LCAxMzAwMCwgMTMwMDMsIAorICAgIDEzMDA2LCAxMzAwOSwgMTMwMTIsIDEzMDE2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMzAxOSwgMTMwMjIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDEzMDI1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMzAyOCwgMTMwMzEsIAorICAgIDEzMDM0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMzAzNiwgMTMwMzgsIDEzMDQwLCAxMzA0MiwgCisgICAgMTMwNDQsIDEzMDQ2LCAxMzA0OCwgMTMwNTAsIDEzMDUyLCAxMzA1NCwgMTMwNTYsIDEzMDU4LCAxMzA2MCwgMTMwNjIsIAorICAgIDEzMDY0LCAxMzA2NiwgMTMwNjgsIDEzMDcwLCAxMzA3MiwgMTMwNzQsIDEzMDc2LCAxMzA3OCwgMTMwODAsIDEzMDgyLCAKKyAgICAxMzA4NCwgMTMwODYsIDEzMDg4LCAxMzA5MCwgMTMwOTIsIDEzMDk0LCAxMzA5NiwgMTMwOTgsIDEzMTAwLCAxMzEwMiwgCisgICAgMTMxMDQsIDEzMTA2LCAxMzEwOCwgMTMxMTAsIDEzMTEyLCAxMzExNCwgMTMxMTYsIDEzMTE4LCAxMzEyMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMTMxMjIsIDEzMTI2LCAxMzEzMCwgMTMxMzQsIDEzMTM4LCAxMzE0MiwgMTMxNDYsIDEzMTUwLCAxMzE1NCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMTMxNTgsIDEzMTYwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMzE2MiwgMTMxNjQsIDEzMTY2LCAxMzE2OCwgMTMxNzAsIDEzMTcyLCAxMzE3NCwgCisgICAgMTMxNzYsIDEzMTc4LCAxMzE4MCwgMTMxODIsIDEzMTg0LCAxMzE4NiwgMTMxODgsIDEzMTkwLCAxMzE5MiwgMTMxOTQsIAorICAgIDEzMTk2LCAxMzE5OCwgMTMyMDAsIDEzMjAyLCAxMzIwNCwgMTMyMDYsIDEzMjA4LCAxMzIxMCwgMTMyMTIsIDEzMjE0LCAKKyAgICAxMzIxNiwgMTMyMTgsIDEzMjIwLCAxMzIyMiwgMTMyMjQsIDEzMjI2LCAxMzIyOCwgMTMyMzAsIDEzMjMyLCAxMzIzNCwgCisgICAgMTMyMzYsIDEzMjM4LCAxMzI0MCwgMTMyNDIsIDEzMjQ0LCAxMzI0NiwgMTMyNDgsIDEzMjUwLCAxMzI1MiwgMTMyNTQsIAorICAgIDEzMjU2LCAxMzI1OCwgMTMyNjAsIDEzMjYyLCAxMzI2NCwgMTMyNjYsIDEzMjY4LCAxMzI3MCwgMTMyNzIsIDEzMjc0LCAKKyAgICAxMzI3NiwgMTMyNzgsIDEzMjgwLCAxMzI4MiwgMTMyODQsIDEzMjg2LCAxMzI4OCwgMTMyOTAsIDEzMjkyLCAxMzI5NCwgCisgICAgMTMyOTYsIDEzMjk4LCAxMzMwMCwgMTMzMDIsIDEzMzA0LCAxMzMwNiwgMTMzMDgsIDEzMzEwLCAxMzMxMiwgMTMzMTQsIAorICAgIDEzMzE2LCAxMzMxOCwgMTMzMjAsIDEzMzIyLCAxMzMyNCwgMTMzMjYsIDEzMzI4LCAxMzMzMCwgMTMzMzIsIDEzMzM0LCAKKyAgICAxMzMzNiwgMTMzMzgsIDEzMzQwLCAxMzM0MiwgMTMzNDQsIDEzMzQ2LCAxMzM0OCwgMTMzNTAsIDEzMzUyLCAxMzM1NCwgCisgICAgMTMzNTYsIDEzMzU4LCAxMzM2MCwgMTMzNjIsIDEzMzY0LCAxMzM2NiwgMTMzNjgsIDEzMzcwLCAxMzM3MiwgMTMzNzQsIAorICAgIDEzMzc2LCAxMzM3OCwgMTMzODAsIDEzMzgyLCAxMzM4NCwgMTMzODYsIDEzMzg4LCAxMzM5MCwgMTMzOTIsIDEzMzk0LCAKKyAgICAxMzM5NiwgMTMzOTgsIDEzNDAwLCAxMzQwMiwgMTM0MDQsIDEzNDA2LCAxMzQwOCwgMTM0MTAsIDEzNDEyLCAxMzQxNCwgCisgICAgMTM0MTYsIDEzNDE4LCAxMzQyMCwgMTM0MjIsIDEzNDI0LCAxMzQyNiwgMTM0MjgsIDEzNDMwLCAxMzQzMiwgMTM0MzQsIAorICAgIDEzNDM2LCAxMzQzOCwgMTM0NDAsIDEzNDQyLCAxMzQ0NCwgMTM0NDYsIDEzNDQ4LCAxMzQ1MCwgMTM0NTIsIDEzNDU0LCAKKyAgICAxMzQ1NiwgMTM0NTgsIDEzNDYwLCAxMzQ2MiwgMTM0NjQsIDEzNDY2LCAxMzQ2OCwgMTM0NzAsIDEzNDcyLCAxMzQ3NCwgCisgICAgMTM0NzYsIDEzNDc4LCAxMzQ4MCwgMTM0ODIsIDEzNDg0LCAxMzQ4NiwgMTM0ODgsIDEzNDkwLCAxMzQ5MiwgMTM0OTQsIAorICAgIDEzNDk2LCAxMzQ5OCwgMTM1MDAsIDEzNTAyLCAxMzUwNCwgMTM1MDYsIDEzNTA4LCAxMzUxMCwgMTM1MTIsIDEzNTE0LCAKKyAgICAxMzUxNiwgMTM1MTgsIDEzNTIwLCAxMzUyMiwgMTM1MjQsIDEzNTI2LCAxMzUyOCwgMTM1MzAsIDEzNTMyLCAxMzUzNCwgCisgICAgMTM1MzYsIDEzNTM4LCAxMzU0MCwgMTM1NDIsIDEzNTQ0LCAxMzU0NiwgMTM1NDgsIDEzNTUwLCAxMzU1MiwgMTM1NTQsIAorICAgIDEzNTU2LCAxMzU1OCwgMTM1NjAsIDEzNTYyLCAxMzU2NCwgMTM1NjYsIDEzNTY4LCAxMzU3MCwgMTM1NzIsIDEzNTc0LCAKKyAgICAxMzU3NiwgMTM1NzgsIDEzNTgwLCAxMzU4MiwgMTM1ODQsIDEzNTg2LCAxMzU4OCwgMTM1OTAsIDEzNTkyLCAxMzU5NCwgCisgICAgMTM1OTYsIDEzNTk4LCAxMzYwMCwgMTM2MDIsIDEzNjA0LCAxMzYwNiwgMTM2MDgsIDEzNjEwLCAxMzYxMiwgMTM2MTQsIAorICAgIDEzNjE2LCAxMzYxOCwgMTM2MjAsIDEzNjIyLCAxMzYyNCwgMTM2MjYsIDEzNjI4LCAxMzYzMCwgMTM2MzIsIDEzNjM0LCAKKyAgICAxMzYzNiwgMTM2MzgsIDEzNjQwLCAxMzY0MiwgMTM2NDQsIDEzNjQ2LCAxMzY0OCwgMTM2NTAsIDEzNjUyLCAxMzY1NCwgCisgICAgMTM2NTYsIDEzNjU4LCAxMzY2MCwgMTM2NjIsIDEzNjY0LCAxMzY2NiwgMTM2NjgsIDEzNjcwLCAxMzY3MiwgMTM2NzQsIAorICAgIDEzNjc2LCAxMzY3OCwgMTM2ODAsIDEzNjgyLCAxMzY4NCwgMTM2ODYsIDEzNjg4LCAxMzY5MCwgMTM2OTIsIDEzNjk0LCAKKyAgICAxMzY5NiwgMTM2OTgsIDEzNzAwLCAxMzcwMiwgMTM3MDQsIDEzNzA2LCAxMzcwOCwgMTM3MTAsIDEzNzEyLCAxMzcxNCwgCisgICAgMTM3MTYsIDEzNzE4LCAxMzcyMCwgMTM3MjIsIDEzNzI0LCAxMzcyNiwgMTM3MjgsIDEzNzMwLCAxMzczMiwgMTM3MzQsIAorICAgIDEzNzM2LCAxMzczOCwgMTM3NDAsIDEzNzQyLCAxMzc0NCwgMTM3NDYsIDEzNzQ4LCAxMzc1MCwgMTM3NTIsIDEzNzU0LCAKKyAgICAxMzc1NiwgMTM3NTgsIDEzNzYwLCAxMzc2MiwgMTM3NjQsIDEzNzY2LCAxMzc2OCwgMTM3NzAsIDEzNzcyLCAxMzc3NCwgCisgICAgMTM3NzYsIDEzNzc4LCAxMzc4MCwgMTM3ODIsIDEzNzg0LCAxMzc4NiwgMTM3ODgsIDEzNzkwLCAxMzc5MiwgMTM3OTQsIAorICAgIDEzNzk2LCAxMzc5OCwgMTM4MDAsIDEzODAyLCAxMzgwNCwgMTM4MDYsIDEzODA4LCAxMzgxMCwgMTM4MTIsIDEzODE0LCAKKyAgICAxMzgxNiwgMTM4MTgsIDEzODIwLCAxMzgyMiwgMTM4MjQsIDEzODI2LCAxMzgyOCwgMTM4MzAsIDEzODMyLCAxMzgzNCwgCisgICAgMTM4MzYsIDEzODM4LCAxMzg0MCwgMTM4NDIsIDEzODQ0LCAxMzg0NiwgMTM4NDgsIDEzODUwLCAxMzg1MiwgMTM4NTQsIAorICAgIDEzODU2LCAxMzg1OCwgMTM4NjAsIDEzODYyLCAxMzg2NCwgMTM4NjYsIDEzODY4LCAxMzg3MCwgMTM4NzIsIDEzODc0LCAKKyAgICAxMzg3NiwgMTM4NzgsIDEzODgwLCAxMzg4MiwgMTM4ODQsIDEzODg2LCAxMzg4OCwgMTM4OTAsIDEzODkyLCAxMzg5NCwgCisgICAgMTM4OTYsIDEzODk4LCAxMzkwMCwgMTM5MDIsIDEzOTA0LCAxMzkwNiwgMTM5MDgsIDEzOTEwLCAxMzkxMiwgMTM5MTQsIAorICAgIDEzOTE2LCAxMzkxOCwgMTM5MjAsIDEzOTIyLCAxMzkyNCwgMTM5MjYsIDEzOTI4LCAxMzkzMCwgMTM5MzIsIDEzOTM0LCAKKyAgICAxMzkzNiwgMTM5MzgsIDEzOTQwLCAxMzk0MiwgMTM5NDQsIDEzOTQ2LCAxMzk0OCwgMTM5NTAsIDEzOTUyLCAxMzk1NCwgCisgICAgMTM5NTYsIDEzOTU4LCAxMzk2MCwgMTM5NjIsIDEzOTY0LCAxMzk2NiwgMTM5NjgsIDEzOTcwLCAxMzk3MiwgMTM5NzQsIAorICAgIDEzOTc2LCAxMzk3OCwgMTM5ODAsIDEzOTgyLCAxMzk4NCwgMTM5ODYsIDEzOTg4LCAxMzk5MCwgMTM5OTIsIDEzOTk0LCAKKyAgICAxMzk5NiwgMTM5OTgsIDE0MDAwLCAxNDAwMiwgMTQwMDQsIDE0MDA2LCAxNDAwOCwgMTQwMTAsIDE0MDEyLCAxNDAxNCwgCisgICAgMTQwMTYsIDE0MDE4LCAxNDAyMCwgMTQwMjIsIDE0MDI0LCAxNDAyNiwgMTQwMjgsIDE0MDMwLCAxNDAzMiwgMTQwMzQsIAorICAgIDE0MDM2LCAxNDAzOCwgMTQwNDAsIDE0MDQyLCAxNDA0NCwgMTQwNDYsIDE0MDQ4LCAxNDA1MCwgMTQwNTIsIDE0MDU0LCAKKyAgICAxNDA1NiwgMTQwNTgsIDE0MDYwLCAxNDA2MiwgMTQwNjQsIDE0MDY2LCAxNDA2OCwgMTQwNzAsIDE0MDcyLCAxNDA3NCwgCisgICAgMTQwNzYsIDE0MDc4LCAxNDA4MCwgMTQwODIsIDE0MDg0LCAxNDA4NiwgMTQwODgsIDE0MDkwLCAxNDA5MiwgMTQwOTQsIAorICAgIDE0MDk2LCAxNDA5OCwgMTQxMDAsIDE0MTAyLCAxNDEwNCwgMTQxMDYsIDE0MTA4LCAxNDExMCwgMTQxMTIsIDE0MTE0LCAKKyAgICAxNDExNiwgMTQxMTgsIDE0MTIwLCAxNDEyMiwgMTQxMjQsIDE0MTI2LCAxNDEyOCwgMTQxMzAsIDE0MTMyLCAxNDEzNCwgCisgICAgMTQxMzYsIDE0MTM4LCAxNDE0MCwgMTQxNDIsIDE0MTQ0LCAxNDE0NiwgMTQxNDgsIDE0MTUwLCAxNDE1MiwgMTQxNTQsIAorICAgIDE0MTU2LCAxNDE1OCwgMTQxNjAsIDE0MTYyLCAxNDE2NCwgMTQxNjYsIDE0MTY4LCAxNDE3MCwgMTQxNzIsIDE0MTc0LCAKKyAgICAxNDE3NiwgMTQxNzgsIDE0MTgwLCAxNDE4MiwgMTQxODQsIDE0MTg2LCAxNDE4OCwgMTQxOTAsIDE0MTkyLCAxNDE5NCwgCisgICAgMTQxOTYsIDE0MTk4LCAxNDIwMCwgMTQyMDIsIDE0MjA0LCAxNDIwNiwgMTQyMDgsIDE0MjEwLCAxNDIxMiwgMTQyMTQsIAorICAgIDE0MjE2LCAxNDIxOCwgMTQyMjAsIDE0MjIyLCAxNDIyNCwgMTQyMjYsIDE0MjI4LCAxNDIzMCwgMTQyMzIsIDE0MjM0LCAKKyAgICAxNDIzNiwgMTQyMzgsIDE0MjQwLCAxNDI0MiwgMTQyNDQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogfTsKIAogLyogTkZDIHBhaXJzICovCiAjZGVmaW5lIENPTVBfU0hJRlQgMgogc3RhdGljIHVuc2lnbmVkIHNob3J0IGNvbXBfaW5kZXhbXSA9IHsKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0LCA1LCA2LCA3LCA4LCA5LCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMCwgMCwgMCwgMTEsIDAsIDEyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMywgCi0gICAgMTQsIDE1LCAwLCAwLCAxNiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTcsIDE4LCAwLCAxOSwgMjAsIDIxLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAyMiwgMjMsIDI0LCAyNSwgMjYsIDI3LCAyOCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjksIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDMwLCAzMSwgMzIsIDAsIDAsIDMzLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAzNCwgMzUsIDM2LCAwLCAzNywgMzgsIDM5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0MCwgNDEsIDQyLCA0MywgNDQsIAotICAgIDQ1LCA0NiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDQ4LCAwLCA0OSwgMCwgNTAsIDUxLCA1MiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTMsIDAsIDU0LCAwLCA1NSwgNTYsIDU3LCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1OCwgNTksIDAsIDAsIDYwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA2MSwgNjIsIAotICAgIDYzLCAwLCA2NCwgNjUsIDY2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA2NywgNjgsIDY5LCA3MCwgNzEsIDcyLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCA3MywgNzQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDc1LCA3NiwgNzcsIAotICAgIDc4LCA3OSwgODAsIDgxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA4MiwgODMsIDg0LCAwLCA4NSwgODYsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDg3LCA4OCwgMCwgODksIDkwLCA5MSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOTIsIDkzLCA5NCwgCi0gICAgOTUsIDk2LCA5NywgOTgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDk5LCAwLCAwLCAwLCAxMDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDEwMSwgMTAyLCAwLCAwLCAxMDMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEwNCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTA1LCAxMDYsIDEwNywgMCwgMTA4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAxMDksIDExMCwgMTExLCAwLCAxMTIsIDAsIDExMywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTE0LCAxMTUsIDExNiwgCi0gICAgMTE3LCAxMTgsIDExOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTIwLCAwLCAwLCAxMjEsIDAsIDEyMiwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMTIzLCAxMjQsIDEyNSwgMCwgMCwgMTI2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMjcsIAotICAgIDEyOCwgMCwgMTI5LCAxMzAsIDEzMSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTMyLCAxMzMsIDEzNCwgMTM1LCAxMzYsIDEzNywgCi0gICAgMTM4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMzksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDE0MCwgMTQxLCAxNDIsIDAsIDAsIDE0MywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTQ0LCAxNDUsIDE0NiwgMCwgMTQ3LCAKLSAgICAxNDgsIDE0OSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTUwLCAxNTEsIDE1MiwgMTUzLCAxNTQsIDE1NSwgMTU2LCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAxNTcsIDAsIDE1OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTU5LCAwLCAxNjAsIAotICAgIDAsIDE2MSwgMTYyLCAxNjMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE2NCwgMCwgMTY1LCAwLCAxNjYsIDE2NywgMTY4LCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAxNjksIDE3MCwgMCwgMCwgMTcxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNzIsIAotICAgIDE3MywgMTc0LCAwLCAxNzUsIDE3NiwgMTc3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNzgsIDE3OSwgMTgwLCAxODEsIDE4MiwgCi0gICAgMTgzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxODQsIDE4NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMTg2LCAxODcsIDE4OCwgMTg5LCAxOTAsIDE5MSwgMTkyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxOTMsIDE5NCwgMTk1LCAKLSAgICAwLCAxOTYsIDE5NywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTk4LCAxOTksIDAsIDIwMCwgMjAxLCAyMDIsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDIwMywgMjA0LCAyMDUsIDIwNiwgMjA3LCAyMDgsIDIwOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMjEwLCAwLCAwLCAwLCAyMTEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDIxMiwgMjEzLCAyMTQsIDAsIDIxNSwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjE2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyMTcsIAotICAgIDIxOCwgMjE5LCAwLCAyMjAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDIyMSwgMjIyLCAyMjMsIDAsIDIyNCwgMCwgCi0gICAgMjI1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyMjYsIDAsIDAsIDAsIDAsIDAsIDAsIDIyNywgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMjI4LCAwLCAyMjksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDIzMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMjMxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyMzIsIDIzMywgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjM0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAyMzUsIDAsIDIzNiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjM3LCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyMzgsIDAsIDIzOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMjQwLCAyNDEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI0MiwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMjQzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNDQsIDI0NSwgCi0gICAgMjQ2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNDcsIDAsIDI0OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMjQ5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNTAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI1MSwgMjUyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAyNTMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI1NCwgMCwgMjU1LCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAyNTYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI1NywgMCwgCi0gICAgMjU4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNTksIDI2MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMjYxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNjIsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI2MywgMjY0LCAyNjUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDI2NiwgMCwgMjY3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNjgsIDAsIDI2OSwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjcwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNzEsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI3MiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMjczLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNzQsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI3NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjc2LCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNzcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDI3OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjc5LCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyODAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI4MSwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjgyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAyODMsIDAsIDI4NCwgMCwgMjg1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyODYsIDAsIDI4NywgMCwgCi0gICAgMjg4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyODksIDAsIDI5MCwgMCwgMjkxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAyOTIsIDAsIDI5MywgMCwgMjk0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyOTUsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI5NiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMjk3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyOTgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDI5OSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzMDEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDMwMiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzAzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAzMDQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDMwNSwgMzA2LCAwLCAzMDcsIAotICAgIDAsIDAsIDAsIDMwOCwgMCwgMCwgMCwgMCwgMCwgMCwgMzA5LCAwLCAwLCAzMTAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDMxMSwgMCwgMCwgMzEyLCAwLCAwLCAwLCAzMTMsIDAsIDAsIDAsIDAsIDAsIDAsIDMxNCwgMzE1LCAwLCAzMTYsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDMxNywgMCwgMCwgMzE4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAzMTksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDMyMCwgMzIxLCAwLCAzMjIsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDMyMywgMCwgMCwgMzI0LCAwLCAwLCAwLCAzMjUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDMyNiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzI3LCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAzMjgsIDMyOSwgMCwgMzMwLCAwLCAwLCAwLCAzMzEsIDAsIDAsIDAsIDAsIDAsIDAsIDMzMiwgMCwgMCwgCi0gICAgMzMzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzMzQsIDAsIDAsIDMzNSwgMCwgMCwgMCwgMzM2LCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAzMzcsIDMzOCwgMCwgMzM5LCAwLCAwLCAwLCAzNDAsIDAsIDAsIDAsIDAsIDAsIDAsIDM0MSwgMCwgMCwgCi0gICAgMzQyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzNDMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDM0NCwgMzQ1LCAwLCAzNDYsIDAsIDAsIDAsIDM0NywgMCwgMCwgMCwgMCwgMCwgMCwgMzQ4LCAwLCAwLCAzNDksIAotICAgIDAsIDAsIDAsIDM1MCwgMCwgMCwgMCwgMCwgMCwgMCwgMzUxLCAwLCAwLCAwLCAwLCAwLCAwLCAzNTIsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDM1MywgMCwgMCwgMCwgMCwgMCwgMCwgMzU0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAzNTUsIDAsIDAsIDAsIDAsIDAsIDAsIDM1NiwgMzU3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAzNTgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDM1OSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMzYwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzNjEsIDM2MiwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzYzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAzNjQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDM2NSwgMzY2LCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAzNjcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDM2OCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzY5LCAzNzAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDM3MSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzcyLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzNzMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDM3NCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzc1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAzNzYsIDM3NywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzc4LCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzNzksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDM4MCwgCi0gICAgMzgxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzODIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDM4MywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzg0LCAzODUsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDM4NiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMzg3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzODgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDM4OSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzkwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzOTEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDM5MiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzkzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAzOTQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDM5NSwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzk2LCAzOTcsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDM5OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzk5LCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0MDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDQwMSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDAyLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0MDMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDQwNCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDA1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCA0MDYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQwNywgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDA4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCA0MDksIDQxMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDExLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0MTIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQxMywgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDE0LCA0MTUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDQxNiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDE3LCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0MTgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDQxOSwgNDIwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0MjEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQyMiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDIzLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0MjQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDQyNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDI2LCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0MjcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQyOCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDI5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCA0MzAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQzMSwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDMyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0MzMsIDAsIAotICAgIDAsIDQzNCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDM1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCA0MzYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQzNywgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDM4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCA0MzksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ0MCwgNDQxLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCA0NDIsIDQ0MywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDQ0LCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0NDUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDQ0NiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDQ3LCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0NDgsIDAsIDAsIDAsIDAsIDAsIDAsIDQ0OSwgMCwgMCwgMCwgMCwgMCwgMCwgNDUwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCA0NTEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ1MiwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDUzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCA0NTQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ1NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgNDU2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0NTcsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDQ1OCwgMCwgMCwgMCwgMCwgMCwgMCwgNDU5LCAwLCAwLCAwLCAwLCAwLCAwLCA0NjAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDQ2MSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDYyLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0NjMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ2NCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDY1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCA0NjYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ2NywgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgNDY4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0NjksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDQ3MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDcxLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0NzIsIDAsIDAsIDAsIDAsIDAsIDAsIDQ3MywgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgNDc0LCAwLCAwLCAwLCAwLCAwLCAwLCA0NzUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDQ3NiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDc3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCA0NzgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ3OSwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDgwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICA0ODEsIDAsIDAsIDAsIDAsIDAsIDAsIDQ4MiwgMCwgMCwgMCwgMCwgMCwgMCwgNDgzLCAwLCAwLCAwLCAwLCAwLCAwLCA0ODQsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDQ4NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDg2LCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0ODcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDQ4OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDg5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCA0OTAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ5MSwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgNDkyLCAwLCAwLCAwLCAwLCAwLCAwLCA0OTMsIDAsIDAsIDAsIDAsIDAsIDAsIDQ5NCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgNDk1LCAwLCAwLCAwLCAwLCAwLCAwLCA0OTYsIDAsIDAsIDAsIDAsIDAsIDAsIDQ5NywgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgNDk4LCAwLCAwLCAwLCAwLCAwLCAwLCA0OTksIDAsIDAsIDAsIDAsIDAsIDAsIDUwMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTAxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1MDIsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDUwMywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgNTA0LCAwLCAwLCAwLCAwLCAwLCAwLCA1MDUsIDAsIDAsIDAsIDAsIDAsIDAsIDUwNiwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgNTA3LCAwLCAwLCAwLCAwLCAwLCAwLCA1MDgsIDAsIDAsIDAsIDAsIDAsIDAsIDUwOSwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgNTEwLCAwLCAwLCAwLCAwLCAwLCAwLCA1MTEsIDAsIDAsIDAsIDAsIDAsIDAsIDUxMiwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgNTEzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1MTQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDUxNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTE2LCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1MTcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDUxOCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTE5LCAwLCAwLCAwLCAwLCAwLCAwLCA1MjAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDUyMSwgMCwgMCwgMCwgMCwgMCwgMCwgNTIyLCAwLCAwLCAwLCAwLCAwLCAwLCA1MjMsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDUyNCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgNTI1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1MjYsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDUyNywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTI4LCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1MjksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDUzMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTMxLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1MzIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDUzMywgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgNTM0LCAwLCAwLCAwLCAwLCAwLCAwLCA1MzUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDUzNiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTM3LCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCA1MzgsIDAsIDAsIDAsIDAsIDAsIDAsIDUzOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTQwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NDEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDU0MiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTQzLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NDQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU0NSwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTQ2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCA1NDcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU0OCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTQ5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NTAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU1MSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgNTUyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NTMsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU1NCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTU1LCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NTYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDU1NywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTU4LCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NTksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU2MCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTYxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCA1NjIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU2MywgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTY0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NjUsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU2NiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgNTY3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NjgsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU2OSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTcwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NzEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDU3MiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTczLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NzQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU3NSwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTc2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCA1NzcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU3OCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTc5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1ODAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU4MSwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTgyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICA1ODMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU4NCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgNTg1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1ODYsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU4NywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgNTg4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1ODksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDU5MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTkxLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1OTIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDU5MywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTk0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCA1OTUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU5NiwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTk3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICA1OTgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU5OSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgNjAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA2MDEsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDYwMiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgNjAzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA2MDQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDYwNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNjA2LCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA2MDcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDYwOCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNjA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCA2MTAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDYxMSwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNjEyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICA2MTMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDYxNCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgNjE1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA2MTYsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDYxNywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgNjE4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA2MTksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDYyMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNjIxLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA2MjIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDYyMywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNjI0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCA2MjUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDYyNiwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNjI3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICA2MjgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDYyOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgNjMwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA2MzEsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDYzMiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgNjMzLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0LCA1LCAKKyAgICA2LCA3LCA4LCA5LCAxMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTEsIDAsIDAsIDEyLCAwLCAxMywgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMTQsIDE1LCAxNiwgMTcsIDAsIDE4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAxOSwgMjAsIDAsIDIxLCAyMiwgMjMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI0LCAyNSwgMjYsIDI3LCAyOCwgMjksIAorICAgIDMwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzMSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMzIsIDMzLCAzNCwgMzUsIDAsIDM2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzNywgMzgsIDM5LCAwLCAKKyAgICA0MCwgNDEsIDQyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0MywgNDQsIDQ1LCA0NiwgNDcsIDAsIDQ4LCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCA0OSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTAsIDAsIDAsIAorICAgIDUxLCA1MiwgNTMsIDAsIDU0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NSwgMCwgNTYsIDAsIDU3LCA1OCwgNTksIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDYwLCAwLCA2MSwgMCwgNjIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDYzLCA2NCwgNjUsIDAsIDY2LCA2NywgNjgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDY5LCA3MCwgNzEsIDcyLCA3MywgMCwgCisgICAgNzQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDc1LCA3NiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgNzcsIDAsIDc4LCA3OSwgODAsIDgxLCAwLCA4MiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgODMsIDg0LCA4NSwgCisgICAgMCwgODYsIDg3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA4OCwgODksIDkwLCA5MSwgOTIsIDkzLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCA5NCwgOTUsIDk2LCA5NywgOTgsIDk5LCAxMDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDEwMSwgMCwgMCwgMTAyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMDMsIDEwNCwgMCwgMCwgMTA1LCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMDYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDEwNywgMTA4LCAxMDksIDAsIDExMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTExLCAxMTIsIDExMywgCisgICAgMTE0LCAxMTUsIDAsIDAsIDExNiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTE3LCAxMTgsIDExOSwgMTIwLCAxMjEsIAorICAgIDEyMiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTIzLCAwLCAxMjQsIDAsIDAsIDEyNSwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMTI2LCAxMjcsIDEyOCwgMCwgMCwgMTI5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAxMzAsIDEzMSwgMTMyLCAxMzMsIDEzNCwgMTM1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMzYsIDEzNywgMTM4LCAxMzksIAorICAgIDE0MCwgMTQxLCAxNDIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE0MywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMTQ0LCAxNDUsIDE0NiwgMCwgMCwgMTQ3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAxNDgsIDE0OSwgMTUwLCAxNTEsIDE1MiwgMTUzLCAxNTQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE1NSwgMTU2LCAxNTcsIAorICAgIDE1OCwgMTU5LCAxNjAsIDE2MSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTYyLCAwLCAxNjMsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE2NCwgMCwgMTY1LCAwLCAxNjYsIDE2NywgMTY4LCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAxNjksIDAsIDAsIDE3MCwgMTcxLCAxNzIsIDE3MywgMTc0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNzUsIAorICAgIDE3NiwgMCwgMCwgMTc3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNzgsIDE3OSwgMTgwLCAxODEsIDE4MiwgCisgICAgMTgzLCAxODQsIDE4NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTg2LCAxODcsIDE4OCwgMTg5LCAxOTAsIDE5MSwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTkyLCAwLCAxOTMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDE5NCwgMTk1LCAxOTYsIDE5NywgMTk4LCAxOTksIDIwMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjAxLCAyMDIsIAorICAgIDIwMywgMjA0LCAyMDUsIDIwNiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjA3LCAyMDgsIDAsIDIwOSwgCisgICAgMjEwLCAyMTEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDIxMiwgMjEzLCAyMTQsIDIxNSwgMjE2LCAyMTcsIDIxOCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjE5LCAwLCAwLCAwLCAyMjAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDIyMSwgMjIyLCAyMjMsIDAsIDIyNCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjI1LCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyMjYsIDIyNywgMjI4LCAwLCAyMjksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDIzMCwgMjMxLCAyMzIsIDAsIDIzMywgMCwgMjM0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyMzUsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDIzNiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjM3LCAwLCAyMzgsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDIzOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMjQwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNDEsIDI0MiwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjQzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAyNDQsIDI0NSwgMjQ2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNDcsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI0OCwgMjQ5LCAyNTAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDI1MSwgMjUyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNTMsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI1NCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMjU1LCAyNTYsIDAsIDI1NywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjU4LCAwLCAKKyAgICAyNTksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI2MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMjYxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNjIsIAorICAgIDI2MywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjY0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNjUsIDI2NiwgMjY3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAyNjgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI2OSwgMjcwLCAyNzEsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI3MiwgMjczLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAyNzQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI3NSwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjc2LCAyNzcsIDAsIDI3OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMjc5LCAwLCAyODAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI4MSwgMjgyLCAKKyAgICAyODMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI4NCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMjg1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyODYsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI4NywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjg4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAyODksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI5MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjkxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyOTIsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI5MywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjk0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAyOTUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI5NiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMjk3LCAyOTgsIDI5OSwgMCwgMzAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAzMDEsIDAsIDMwMiwgMCwgMzAzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzMDQsIDMwNSwgMzA2LCAwLCAzMDcsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDMwOCwgMCwgMzA5LCAwLCAzMTAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDMxMSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzEyLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzMTMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDMxNCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzE1LCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzMTYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDMxNywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzE4LCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzMTksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDMyMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzIxLCAzMjIsIDAsIDAsIAorICAgIDMyMywgMCwgMCwgMzI0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzMjUsIDAsIDAsIDMyNiwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMzI3LCAwLCAwLCAwLCAzMjgsIDAsIDAsIDMyOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzMwLCAKKyAgICAzMzEsIDAsIDMzMiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzMzLCAwLCAwLCAwLCAzMzQsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDMzNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMzM2LCAzMzcsIDMzOCwgMCwgMzM5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzNDAsIDAsIDAsIDM0MSwgCisgICAgMCwgMCwgMCwgMzQyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzNDMsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDM0NCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzQ1LCAzNDYsIDAsIAorICAgIDAsIDM0NywgMCwgMCwgMzQ4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzNDksIDAsIDAsIDM1MCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMzUxLCAwLCAwLCAwLCAzNTIsIDAsIDAsIDM1MywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMzU0LCAzNTUsIDAsIDM1NiwgMCwgMCwgMCwgMzU3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzNTgsIDAsIDAsIDAsIDM1OSwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzYwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAzNjEsIDM2MiwgMzYzLCAwLCAzNjQsIDAsIDAsIDM2NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzY2LCAwLCAKKyAgICAwLCAzNjcsIDAsIDAsIDAsIDM2OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzY5LCAwLCAwLCAwLCAwLCAwLCAwLCAzNzAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDM3MSwgMCwgMCwgMCwgMCwgMCwgMCwgMzcyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAzNzMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDM3NCwgMzc1LCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzNzYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDM3NywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzc4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzNzksIDM4MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMzgxLCAzODIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDM4MywgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzg0LCAzODUsIDM4NiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMzg3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzODgsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDM4OSwgMzkwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAzOTEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDM5MiwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzkzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAzOTQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDM5NSwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzk2LCAzOTcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDM5OCwgMzk5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0MDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQwMSwgNDAyLCA0MDMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDQwNCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgNDA1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0MDYsIDQwNywgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDA4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICA0MDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQxMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDExLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCA0MTIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQxMywgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDE0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICA0MTUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQxNiwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDE3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCA0MTgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQxOSwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDIwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCA0MjEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQyMiwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDIzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCA0MjQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQyNSwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDI2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCA0MjcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQyOCwgCisgICAgNDI5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0MzAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQzMSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgNDMyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0MzMsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQzNCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgNDM1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0MzYsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQzNywgNDM4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCA0MzksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ0MCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDQxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCA0NDIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ0MywgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDQ0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCA0NDUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ0NiwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDQ3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCA0NDgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ0OSwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDUwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCA0NTEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ1MiwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDUzLCAwLCAwLCAwLCA0NTQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDQ1NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDU2LCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0NTcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDQ1OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDU5LCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0NjAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDQ2MSwgNDYyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0NjMsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ2NCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgNDY1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0NjYsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ2NywgMCwgMCwgMCwgMCwgMCwgMCwgNDY4LCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCA0NjksIDAsIDAsIDAsIDAsIDAsIDAsIDQ3MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgNDcxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0NzIsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ3MywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgNDc0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0NzUsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ3NiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDc3LCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCA0NzgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ3OSwgMCwgMCwgMCwgMCwgMCwgMCwgNDgwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0ODEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDQ4MiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDgzLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0ODQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDQ4NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDg2LCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCA0ODcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ4OCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDg5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCA0OTAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ5MSwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgNDkyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0OTMsIDAsIDAsIDAsIDAsIDAsIDAsIDQ5NCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDk1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCA0OTYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ5NywgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDk4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCA0OTksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDUwMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgNTAxLCAwLCAwLCAwLCAwLCAwLCAwLCA1MDIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDUwMywgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgNTA0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1MDUsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDUwNiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgNTA3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1MDgsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDUwOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgNTEwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1MTEsIDAsIDAsIDAsIDAsIDAsIDAsIDUxMiwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTEzLCAwLCAwLCAwLCAwLCAwLCAwLCA1MTQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDUxNSwgMCwgMCwgMCwgMCwgMCwgMCwgNTE2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1MTcsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDUxOCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTE5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCA1MjAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDUyMSwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTIyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCA1MjMsIDAsIDAsIDAsIDAsIDAsIDAsIDUyNCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTI1LCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCA1MjYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDUyNywgMCwgMCwgMCwgMCwgMCwgMCwgNTI4LCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCA1MjksIDAsIDAsIDAsIDAsIDAsIDAsIDUzMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTMxLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCA1MzIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDUzMywgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTM0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCA1MzUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDUzNiwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTM3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCA1MzgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDUzOSwgMCwgMCwgMCwgMCwgMCwgMCwgNTQwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCA1NDEsIDAsIDAsIDAsIDAsIDAsIDAsIDU0MiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgNTQzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NDQsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU0NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgNTQ2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NDcsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU0OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgNTQ5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NTAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU1MSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgNTUyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NTMsIDAsIDAsIDAsIDAsIDAsIDAsIDU1NCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTU1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCA1NTYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU1NywgMCwgMCwgMCwgMCwgMCwgMCwgNTU4LCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NTksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDU2MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTYxLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NjIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDU2MywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTY0LCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NjUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDU2NiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTY3LCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NjgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDU2OSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTcwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NzEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDU3MiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTczLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NzQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDU3NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTc2LCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NzcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDU3OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTc5LCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1ODAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDU4MSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTgyLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1ODMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDU4NCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTg1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1ODYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDU4NywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTg4LCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1ODksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDU5MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTkxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1OTIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDU5MywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTk0LCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1OTUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDU5NiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTk3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1OTgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDU5OSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNjAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA2MDEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDYwMiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNjAzLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA2MDQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDYwNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNjA2LCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA2MDcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDYwOCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNjA5LCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA2MTAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDYxMSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNjEyLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA2MTMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDYxNCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNjE1LCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA2MTYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDYxNywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNjE4LCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA2MTksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDYyMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNjIxLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA2MjIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDYyMywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNjI0LCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA2MjUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDYyNiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNjI3LCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA2MjgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDYyOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNjMwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA2MzEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDYzMiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNjMzLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA2MzQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDYzNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNjM2LCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA2MzcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDYzOCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNjM5LCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA2NDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDY0MSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNjQyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA2NDMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDY0NCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNjQ1LCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA2NDYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDY0NywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNjQ4LCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA2NDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDY1MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNjUxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA2NTIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDY1MywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNjU0LCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA2NTUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDY1NiwgCiB9OwogCiBzdGF0aWMgdW5zaWduZWQgaW50IGNvbXBfZGF0YVtdID0gewotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDg4MTQsIDAsIDAsIDAsIDg4MDAsIDAsIDAsIDAsIDg4MTUsIDE5MiwgMTkzLCAxOTQsIAotICAgIDE5NSwgMjU2LCAyNTgsIDU1MCwgMTk2LCA3ODQyLCAxOTcsIDAsIDQ2MSwgNTEyLCA1MTQsIDAsIDAsIDAsIDc4NDAsIDAsIAotICAgIDc2ODAsIDAsIDAsIDI2MCwgMCwgMCwgMCwgNzY4MiwgMCwgMCwgNzY4NCwgMCwgMCwgMCwgMCwgNzY4NiwgMCwgMCwgMjYyLCAKLSAgICAyNjQsIDAsIDAsIDAsIDI2NiwgMCwgMCwgMCwgMCwgMjY4LCAwLCAxOTksIDAsIDAsIDAsIDAsIDc2OTAsIDAsIDAsIDAsIDAsIAotICAgIDI3MCwgMCwgNzY5MiwgMCwgMCwgMCwgNzY5NiwgMCwgNzY5OCwgMCwgMCwgNzY5NCwgMCwgMjAwLCAyMDEsIDIwMiwgNzg2OCwgCi0gICAgMjc0LCAyNzYsIDI3OCwgMjAzLCA3ODY2LCAwLCAwLCAyODIsIDUxNiwgNTE4LCAwLCAwLCAwLCA3ODY0LCAwLCAwLCAwLCAKLSAgICA1NTIsIDI4MCwgNzcwNCwgMCwgNzcwNiwgMCwgMCwgMCwgMCwgNzcxMCwgMCwgMCwgNTAwLCAyODQsIDAsIDc3MTIsIDI4NiwgCi0gICAgMjg4LCAwLCAwLCAwLCAwLCA0ODYsIDAsIDI5MCwgMCwgMCwgMCwgMCwgMjkyLCAwLCAwLCAwLCA3NzE0LCA3NzE4LCAwLCAwLCAKLSAgICAwLCA1NDIsIDAsIDc3MTYsIDAsIDAsIDAsIDc3MjAsIDAsIDAsIDc3MjIsIDAsIDAsIDAsIDIwNCwgMjA1LCAyMDYsIDI5NiwgCi0gICAgMjk4LCAzMDAsIDMwNCwgMjA3LCA3ODgwLCAwLCAwLCA0NjMsIDUyMCwgNTIyLCAwLCAwLCAwLCA3ODgyLCAwLCAwLCAwLCAwLCAKLSAgICAzMDIsIDAsIDAsIDc3MjQsIDAsIDAsIDAsIDAsIDMwOCwgMCwgMCwgNzcyOCwgMCwgMCwgMCwgMCwgMCwgNDg4LCAwLCAKLSAgICA3NzMwLCAwLCAwLCAwLCAzMTAsIDAsIDAsIDAsIDAsIDc3MzIsIDAsIDAsIDMxMywgMCwgMCwgMCwgMCwgMCwgMzE3LCAwLCAKLSAgICA3NzM0LCAwLCAwLCAwLCAzMTUsIDAsIDc3NDAsIDAsIDAsIDc3MzgsIDAsIDAsIDc3NDIsIDAsIDAsIDAsIDAsIDc3NDQsIDAsIAotICAgIDAsIDc3NDYsIDAsIDAsIDUwNCwgMzIzLCAwLCAyMDksIDAsIDAsIDc3NDgsIDAsIDAsIDAsIDAsIDMyNywgMCwgNzc1MCwgMCwgCi0gICAgMCwgMCwgMzI1LCAwLCA3NzU0LCAwLCAwLCA3NzUyLCAwLCAyMTAsIDIxMSwgMjEyLCAyMTMsIDMzMiwgMzM0LCA1NTgsIAotICAgIDIxNCwgNzg4NiwgMCwgMzM2LCA0NjUsIDUyNCwgNTI2LCAwLCAwLCA0MTYsIDc4ODQsIDAsIDAsIDAsIDAsIDQ5MCwgMCwgMCwgCi0gICAgNzc2NCwgMCwgMCwgMCwgMCwgNzc2NiwgMCwgMCwgMzQwLCAwLCAwLCAwLCAwLCA3NzY4LCAwLCAwLCAwLCAwLCAzNDQsIAotICAgIDUyOCwgNTMwLCAwLCAwLCAwLCA3NzcwLCAwLCAwLCAwLCAzNDIsIDAsIDAsIDAsIDAsIDc3NzQsIDAsIDAsIDM0NiwgMzQ4LCAKLSAgICAwLCAwLCAwLCA3Nzc2LCAwLCAwLCAwLCAwLCAzNTIsIDAsIDc3NzgsIDAsIDAsIDUzNiwgMzUwLCAwLCAwLCAwLCAwLCAKLSAgICA3Nzg2LCAwLCAwLCAwLCAwLCAzNTYsIDAsIDc3ODgsIDAsIDAsIDUzOCwgMzU0LCAwLCA3NzkyLCAwLCAwLCA3NzkwLCAwLCAKLSAgICAyMTcsIDIxOCwgMjE5LCAzNjAsIDM2MiwgMzY0LCAwLCAyMjAsIDc5MTAsIDM2NiwgMzY4LCA0NjcsIDUzMiwgNTM0LCAwLCAKLSAgICAwLCA0MzEsIDc5MDgsIDc3OTQsIDAsIDAsIDAsIDM3MCwgNzc5OCwgMCwgNzc5NiwgMCwgMCwgMCwgMCwgMCwgNzgwNCwgMCwgCi0gICAgNzgwNiwgMCwgMCwgNzgwOCwgNzgxMCwgMzcyLCAwLCAwLCAwLCA3ODE0LCA3ODEyLCAwLCA3ODE2LCAwLCAwLCAwLCAwLCAKLSAgICA3ODE4LCA3ODIwLCA3OTIyLCAyMjEsIDM3NCwgNzkyOCwgNTYyLCAwLCA3ODIyLCAzNzYsIDc5MjYsIDAsIDAsIDAsIDAsIAotICAgIDc5MjQsIDAsIDAsIDAsIDM3NywgNzgyNCwgMCwgMCwgMCwgMzc5LCAwLCAwLCAwLCAwLCAzODEsIDAsIDc4MjYsIDAsIDAsIAotICAgIDAsIDAsIDc4MjgsIDAsIDIyNCwgMjI1LCAyMjYsIDIyNywgMjU3LCAyNTksIDU1MSwgMjI4LCA3ODQzLCAyMjksIDAsIDQ2MiwgCi0gICAgNTEzLCA1MTUsIDAsIDAsIDAsIDc4NDEsIDAsIDc2ODEsIDAsIDAsIDI2MSwgMCwgMCwgMCwgNzY4MywgMCwgMCwgNzY4NSwgCi0gICAgMCwgMCwgMCwgMCwgNzY4NywgMCwgMCwgMjYzLCAyNjUsIDAsIDAsIDAsIDI2NywgMCwgMCwgMCwgMCwgMjY5LCAwLCAyMzEsIAotICAgIDAsIDAsIDAsIDAsIDc2OTEsIDAsIDAsIDAsIDAsIDI3MSwgMCwgNzY5MywgMCwgMCwgMCwgNzY5NywgMCwgNzY5OSwgMCwgMCwgCi0gICAgNzY5NSwgMCwgMjMyLCAyMzMsIDIzNCwgNzg2OSwgMjc1LCAyNzcsIDI3OSwgMjM1LCA3ODY3LCAwLCAwLCAyODMsIDUxNywgCi0gICAgNTE5LCAwLCAwLCAwLCA3ODY1LCAwLCAwLCAwLCA1NTMsIDI4MSwgNzcwNSwgMCwgNzcwNywgMCwgMCwgMCwgMCwgNzcxMSwgCi0gICAgMCwgMCwgNTAxLCAyODUsIDAsIDc3MTMsIDI4NywgMjg5LCAwLCAwLCAwLCAwLCA0ODcsIDAsIDI5MSwgMCwgMCwgMCwgMCwgCi0gICAgMjkzLCAwLCAwLCAwLCA3NzE1LCA3NzE5LCAwLCAwLCAwLCA1NDMsIDAsIDc3MTcsIDAsIDAsIDAsIDc3MjEsIDAsIDAsIAotICAgIDc3MjMsIDAsIDc4MzAsIDAsIDIzNiwgMjM3LCAyMzgsIDI5NywgMjk5LCAzMDEsIDAsIDIzOSwgNzg4MSwgMCwgMCwgNDY0LCAKLSAgICA1MjEsIDUyMywgMCwgMCwgMCwgNzg4MywgMCwgMCwgMCwgMCwgMzAzLCAwLCAwLCA3NzI1LCAwLCAwLCAwLCAwLCAzMDksIDAsIAotICAgIDAsIDAsIDAsIDQ5NiwgMCwgNzcyOSwgMCwgMCwgMCwgMCwgMCwgNDg5LCAwLCA3NzMxLCAwLCAwLCAwLCAzMTEsIDAsIDAsIAotICAgIDAsIDAsIDc3MzMsIDAsIDAsIDMxNCwgMCwgMCwgMCwgMCwgMCwgMzE4LCAwLCA3NzM1LCAwLCAwLCAwLCAzMTYsIDAsIAotICAgIDc3NDEsIDAsIDAsIDc3MzksIDAsIDAsIDc3NDMsIDAsIDAsIDAsIDAsIDc3NDUsIDAsIDAsIDc3NDcsIDAsIDAsIDUwNSwgCi0gICAgMzI0LCAwLCAyNDEsIDAsIDAsIDc3NDksIDAsIDAsIDAsIDAsIDMyOCwgMCwgNzc1MSwgMCwgMCwgMCwgMzI2LCAwLCA3NzU1LCAKLSAgICAwLCAwLCA3NzUzLCAwLCAyNDIsIDI0MywgMjQ0LCAyNDUsIDMzMywgMzM1LCA1NTksIDI0NiwgNzg4NywgMCwgMzM3LCA0NjYsIAotICAgIDUyNSwgNTI3LCAwLCAwLCA0MTcsIDc4ODUsIDAsIDAsIDAsIDAsIDQ5MSwgMCwgMCwgNzc2NSwgMCwgMCwgMCwgMCwgNzc2NywgCi0gICAgMCwgMCwgMzQxLCAwLCAwLCAwLCAwLCA3NzY5LCAwLCAwLCAwLCAwLCAzNDUsIDUyOSwgNTMxLCAwLCAwLCAwLCA3NzcxLCAwLCAKLSAgICAwLCAwLCAzNDMsIDAsIDAsIDAsIDAsIDc3NzUsIDAsIDAsIDM0NywgMzQ5LCAwLCAwLCAwLCA3Nzc3LCAwLCAwLCAwLCAwLCAKLSAgICAzNTMsIDAsIDc3NzksIDAsIDAsIDUzNywgMzUxLCAwLCAwLCAwLCAwLCA3Nzg3LCA3ODMxLCAwLCAwLCAwLCAzNTcsIDAsIAotICAgIDc3ODksIDAsIDAsIDUzOSwgMzU1LCAwLCA3NzkzLCAwLCAwLCA3NzkxLCAwLCAyNDksIDI1MCwgMjUxLCAzNjEsIDM2MywgCi0gICAgMzY1LCAwLCAyNTIsIDc5MTEsIDM2NywgMzY5LCA0NjgsIDUzMywgNTM1LCAwLCAwLCA0MzIsIDc5MDksIDc3OTUsIDAsIDAsIAotICAgIDAsIDM3MSwgNzc5OSwgMCwgNzc5NywgMCwgMCwgMCwgMCwgMCwgNzgwNSwgMCwgNzgwNywgMCwgMCwgNzgwOSwgNzgxMSwgCi0gICAgMzczLCAwLCAwLCAwLCA3ODE1LCA3ODEzLCAwLCA3ODMyLCAwLCAwLCAwLCA3ODE3LCAwLCAwLCAwLCAwLCA3ODE5LCA3ODIxLCAKLSAgICA3OTIzLCAyNTMsIDM3NSwgNzkyOSwgNTYzLCAwLCA3ODIzLCAyNTUsIDc5MjcsIDc4MzMsIDAsIDAsIDAsIDc5MjUsIDAsIDAsIAotICAgIDAsIDM3OCwgNzgyNSwgMCwgMCwgMCwgMzgwLCAwLCAwLCAwLCAwLCAzODIsIDAsIDc4MjcsIDAsIDAsIDAsIDAsIDc4MjksIAotICAgIDAsIDgxNzMsIDkwMSwgMCwgMCwgODEyOSwgMCwgMCwgMCwgNzg0NiwgNzg0NCwgMCwgNzg1MCwgNzg0OCwgMCwgMCwgMCwgCi0gICAgNDc4LCAwLCAwLCAwLCAwLCA1MDYsIDAsIDAsIDAsIDUwOCwgMCwgMCwgNDgyLCAwLCAwLCAwLCAwLCA3Njg4LCAwLCAwLCAKLSAgICA3ODcyLCA3ODcwLCAwLCA3ODc2LCA3ODc0LCAwLCAwLCAwLCAwLCA3NzI2LCAwLCAwLCA3ODkwLCA3ODg4LCAwLCA3ODk0LCAKLSAgICA3ODkyLCAwLCAwLCAwLCAwLCA3NzU2LCAwLCAwLCA1NTYsIDAsIDAsIDc3NTgsIDU1NCwgMCwgMCwgMCwgMCwgNTEwLCAwLCAKLSAgICAwLCA0NzUsIDQ3MSwgMCwgMCwgNDY5LCAwLCAwLCAwLCAwLCAwLCAwLCA0NzMsIDc4NDcsIDc4NDUsIDAsIDc4NTEsIDc4NDksIAotICAgIDAsIDAsIDAsIDQ3OSwgMCwgMCwgMCwgMCwgNTA3LCAwLCAwLCAwLCA1MDksIDAsIDAsIDQ4MywgMCwgMCwgMCwgMCwgNzY4OSwgCi0gICAgMCwgMCwgNzg3MywgNzg3MSwgMCwgNzg3NywgNzg3NSwgMCwgMCwgMCwgMCwgNzcyNywgMCwgMCwgNzg5MSwgNzg4OSwgMCwgCi0gICAgNzg5NSwgNzg5MywgMCwgMCwgMCwgMCwgNzc1NywgMCwgMCwgNTU3LCAwLCAwLCA3NzU5LCA1NTUsIDAsIDAsIDAsIDAsIAotICAgIDUxMSwgMCwgMCwgNDc2LCA0NzIsIDAsIDAsIDQ3MCwgMCwgMCwgMCwgMCwgMCwgMCwgNDc0LCA3ODU2LCA3ODU0LCAwLCAKLSAgICA3ODYwLCA3ODU4LCAwLCAwLCAwLCA3ODU3LCA3ODU1LCAwLCA3ODYxLCA3ODU5LCAwLCAwLCAwLCA3NzAwLCA3NzAyLCAwLCAKLSAgICAwLCA3NzAxLCA3NzAzLCAwLCAwLCA3NzYwLCA3NzYyLCAwLCAwLCA3NzYxLCA3NzYzLCAwLCAwLCAwLCAwLCA3NzgwLCAwLCAKLSAgICAwLCAwLCA3NzgxLCAwLCAwLCAwLCA3NzgyLCAwLCAwLCAwLCA3NzgzLCAwLCAwLCA3ODAwLCAwLCAwLCAwLCA3ODAxLCAwLCAKLSAgICAwLCAwLCAwLCAwLCA3ODAyLCAwLCAwLCAwLCA3ODAzLCAwLCAwLCA3ODM1LCAwLCA3OTAwLCA3ODk4LCAwLCA3OTA0LCAKLSAgICA3OTAyLCAwLCAwLCAwLCAwLCA3OTA2LCAwLCAwLCA3OTAxLCA3ODk5LCAwLCA3OTA1LCA3OTAzLCAwLCAwLCAwLCAwLCAKLSAgICA3OTA3LCAwLCAwLCA3OTE0LCA3OTEyLCAwLCA3OTE4LCA3OTE2LCAwLCAwLCAwLCAwLCA3OTIwLCAwLCAwLCA3OTE1LCAKLSAgICA3OTEzLCAwLCA3OTE5LCA3OTE3LCAwLCAwLCAwLCAwLCA3OTIxLCAwLCAwLCAwLCAwLCAwLCA0OTQsIDQ5MiwgMCwgMCwgMCwgCi0gICAgNDkzLCAwLCAwLCAwLCA0ODAsIDAsIDAsIDAsIDQ4MSwgMCwgMCwgMCwgMCwgNzcwOCwgMCwgMCwgMCwgNzcwOSwgMCwgMCwgCi0gICAgNTYwLCAwLCAwLCAwLCA1NjEsIDAsIDAsIDAsIDAsIDAsIDAsIDQ5NSwgODEyMiwgOTAyLCAwLCAwLCA4MTIxLCA4MTIwLCAwLCAKLSAgICAwLCAwLCAwLCA3OTQ0LCA3OTQ1LCAwLCA4MTI0LCAwLCAwLCA4MTM2LCA5MDQsIDAsIDAsIDAsIDAsIDc5NjAsIDc5NjEsIAotICAgIDgxMzgsIDkwNSwgMCwgMCwgMCwgMCwgNzk3NiwgNzk3NywgMCwgODE0MCwgMCwgMCwgODE1NCwgOTA2LCAwLCAwLCA4MTUzLCAKLSAgICA4MTUyLCAwLCA5MzgsIDAsIDAsIDc5OTIsIDc5OTMsIDgxODQsIDkwOCwgMCwgMCwgMCwgMCwgODAwOCwgODAwOSwgMCwgMCwgCi0gICAgMCwgODE3MiwgODE3MCwgOTEwLCAwLCAwLCA4MTY5LCA4MTY4LCAwLCA5MzksIDAsIDAsIDAsIDgwMjUsIDgxODYsIDkxMSwgCi0gICAgMCwgMCwgMCwgMCwgODA0MCwgODA0MSwgMCwgODE4OCwgMCwgMCwgMCwgODExNiwgMCwgMCwgMCwgODEzMiwgMCwgMCwgCi0gICAgODA0OCwgOTQwLCAwLCAwLCA4MTEzLCA4MTEyLCAwLCAwLCAwLCAwLCA3OTM2LCA3OTM3LCA4MTE4LCA4MTE1LCAwLCAwLCAKLSAgICA4MDUwLCA5NDEsIDAsIDAsIDAsIDAsIDc5NTIsIDc5NTMsIDgwNTIsIDk0MiwgMCwgMCwgMCwgMCwgNzk2OCwgNzk2OSwgCi0gICAgODEzNCwgODEzMSwgMCwgMCwgODA1NCwgOTQzLCAwLCAwLCA4MTQ1LCA4MTQ0LCAwLCA5NzAsIDAsIDAsIDc5ODQsIDc5ODUsIAotICAgIDgxNTAsIDAsIDAsIDAsIDgwNTYsIDk3MiwgMCwgMCwgMCwgMCwgODAwMCwgODAwMSwgMCwgMCwgODE2NCwgODE2NSwgODA1OCwgCi0gICAgOTczLCAwLCAwLCA4MTYxLCA4MTYwLCAwLCA5NzEsIDAsIDAsIDgwMTYsIDgwMTcsIDgxNjYsIDAsIDAsIDAsIDgwNjAsIAotICAgIDk3NCwgMCwgMCwgMCwgMCwgODAzMiwgODAzMywgODE4MiwgODE3OSwgMCwgMCwgODE0NiwgOTEyLCAwLCAwLCA4MTUxLCAwLCAKLSAgICAwLCAwLCA4MTYyLCA5NDQsIDAsIDAsIDgxNjcsIDAsIDAsIDAsIDAsIDgxODAsIDAsIDAsIDAsIDk3OSwgMCwgMCwgMCwgMCwgCi0gICAgMCwgOTgwLCAwLCAwLCAwLCAxMDMxLCAwLCAxMjMyLCAwLCAxMjM0LCAwLCAxMDI3LCAwLCAwLCAxMDI0LCAwLCAwLCAwLCAwLCAKLSAgICAxMjM4LCAwLCAxMDI1LCAwLCAxMjE3LCAwLCAxMjQ0LCAwLCAwLCAwLCAxMjQ2LCAxMDM3LCAwLCAwLCAwLCAxMjUwLCAKLSAgICAxMDQ5LCAwLCAxMjUyLCAwLCAxMDM2LCAwLCAwLCAwLCAwLCAwLCAxMjU0LCAxMjYyLCAxMDM4LCAwLCAxMjY0LCAwLCAwLCAKLSAgICAxMjY2LCAwLCAwLCAwLCAwLCAxMjY4LCAwLCAwLCAwLCAxMjcyLCAwLCAwLCAwLCAxMjYwLCAwLCAxMjMzLCAwLCAxMjM1LCAKLSAgICAwLCAxMTA3LCAwLCAwLCAxMTA0LCAwLCAwLCAwLCAwLCAxMjM5LCAwLCAxMTA1LCAwLCAxMjE4LCAwLCAxMjQ1LCAwLCAwLCAKLSAgICAwLCAxMjQ3LCAxMTE3LCAwLCAwLCAwLCAxMjUxLCAxMDgxLCAwLCAxMjUzLCAwLCAxMTE2LCAwLCAwLCAwLCAwLCAwLCAKLSAgICAxMjU1LCAxMjYzLCAxMTE4LCAwLCAxMjY1LCAwLCAwLCAxMjY3LCAwLCAwLCAwLCAwLCAxMjY5LCAwLCAwLCAwLCAxMjczLCAKLSAgICAwLCAwLCAwLCAxMjYxLCAwLCAwLCAwLCAxMTExLCAxMTQyLCAwLCAwLCAwLCAxMTQzLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAxMjQyLCAwLCAwLCAwLCAxMjQzLCAwLCAwLCAwLCAxMjU4LCAwLCAwLCAwLCAxMjU5LCAwLCAwLCAxNTcwLCAxNTcxLCAKLSAgICAxNTczLCAwLCAwLCAwLCAwLCAwLCAwLCAxNTcyLCAwLCAwLCAwLCAxNTc0LCAwLCAwLCAwLCAxNzMwLCAwLCAwLCAwLCAKLSAgICAxNzQ3LCAwLCAwLCAwLCAxNzI4LCAwLCAyMzQ1LCAwLCAwLCAwLCAyMzUzLCAwLCAwLCAwLCAyMzU2LCAwLCAwLCAwLCAwLCAKLSAgICAyNTA3LCAyNTA4LCAyODkxLCAyODg4LCAyODkyLCAwLCAyOTY0LCAwLCAwLCAwLCAwLCAwLCAwLCAzMDE4LCAzMDIwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAzMDE5LCAwLCAzMTQ0LCAwLCAwLCAwLCAwLCAwLCAzMjY0LCAwLCAwLCAzMjc0LCAzMjcxLCAKLSAgICAzMjcyLCAwLCAwLCAwLCAwLCAwLCAwLCAzMjc1LCAwLCAzNDAyLCAzNDA0LCAwLCAwLCAzNDAzLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAzNTQ2LCAzNTQ4LCAzNTUwLCAwLCAwLCAwLCAwLCAwLCAzNTQ5LCAwLCAwLCA0MTM0LCAwLCAwLCAwLCAwLCA2OTE4LCAwLCAKLSAgICAwLCAwLCA2OTIwLCAwLCAwLCAwLCA2OTIyLCAwLCAwLCAwLCA2OTI0LCAwLCAwLCAwLCA2OTI2LCAwLCAwLCAwLCA2OTMwLCAKLSAgICAwLCAwLCAwLCA2OTcxLCAwLCAwLCAwLCA2OTczLCAwLCAwLCAwLCA2OTc2LCAwLCAwLCAwLCA2OTc3LCAwLCAwLCAwLCAKLSAgICA2OTc5LCA3NzM2LCAwLCAwLCAwLCA3NzM3LCAwLCAwLCAwLCA3NzcyLCAwLCAwLCAwLCA3NzczLCAwLCAwLCAwLCAwLCAwLCAKLSAgICA3Nzg0LCAwLCAwLCAwLCA3Nzg1LCAwLCAwLCAwLCA3ODUyLCAwLCAwLCA3ODYyLCAwLCAwLCAwLCAwLCA3ODUzLCAwLCAwLCAKLSAgICA3ODYzLCAwLCAwLCAwLCAwLCA3ODc4LCAwLCAwLCAwLCA3ODc5LCAwLCAwLCAwLCA3ODk2LCAwLCAwLCAwLCA3ODk3LCAwLCAKLSAgICA3OTM4LCA3OTQwLCAwLCAwLCA3OTQyLCA4MDY0LCAwLCAwLCA3OTM5LCA3OTQxLCAwLCAwLCA3OTQzLCA4MDY1LCAwLCAwLCAKLSAgICAwLCA4MDY2LCAwLCAwLCAwLCA4MDY3LCAwLCAwLCAwLCA4MDY4LCAwLCAwLCAwLCA4MDY5LCAwLCAwLCAwLCA4MDcwLCAwLCAKLSAgICAwLCAwLCA4MDcxLCAwLCAwLCA3OTQ2LCA3OTQ4LCAwLCAwLCA3OTUwLCA4MDcyLCAwLCAwLCA3OTQ3LCA3OTQ5LCAwLCAwLCAKLSAgICA3OTUxLCA4MDczLCAwLCAwLCAwLCA4MDc0LCAwLCAwLCAwLCA4MDc1LCAwLCAwLCAwLCA4MDc2LCAwLCAwLCAwLCA4MDc3LCAKLSAgICAwLCAwLCAwLCA4MDc4LCAwLCAwLCAwLCA4MDc5LCAwLCAwLCA3OTU0LCA3OTU2LCAwLCAwLCA3OTU1LCA3OTU3LCAwLCAwLCAKLSAgICA3OTYyLCA3OTY0LCAwLCAwLCA3OTYzLCA3OTY1LCAwLCAwLCA3OTcwLCA3OTcyLCAwLCAwLCA3OTc0LCA4MDgwLCAwLCAwLCAKLSAgICA3OTcxLCA3OTczLCAwLCAwLCA3OTc1LCA4MDgxLCAwLCAwLCAwLCA4MDgyLCAwLCAwLCAwLCA4MDgzLCAwLCAwLCAwLCAKLSAgICA4MDg0LCAwLCAwLCAwLCA4MDg1LCAwLCAwLCAwLCA4MDg2LCAwLCAwLCAwLCA4MDg3LCAwLCAwLCA3OTc4LCA3OTgwLCAwLCAKLSAgICAwLCA3OTgyLCA4MDg4LCAwLCAwLCA3OTc5LCA3OTgxLCAwLCAwLCA3OTgzLCA4MDg5LCAwLCAwLCAwLCA4MDkwLCAwLCAwLCAKLSAgICAwLCA4MDkxLCAwLCAwLCAwLCA4MDkyLCAwLCAwLCAwLCA4MDkzLCAwLCAwLCAwLCA4MDk0LCAwLCAwLCAwLCA4MDk1LCAwLCAKLSAgICAwLCA3OTg2LCA3OTg4LCAwLCAwLCA3OTkwLCAwLCAwLCAwLCA3OTg3LCA3OTg5LCAwLCAwLCA3OTkxLCAwLCAwLCAwLCAKLSAgICA3OTk0LCA3OTk2LCAwLCAwLCA3OTk4LCAwLCAwLCAwLCA3OTk1LCA3OTk3LCAwLCAwLCA3OTk5LCAwLCAwLCAwLCA4MDAyLCAKLSAgICA4MDA0LCAwLCAwLCA4MDAzLCA4MDA1LCAwLCAwLCA4MDEwLCA4MDEyLCAwLCAwLCA4MDExLCA4MDEzLCAwLCAwLCA4MDE4LCAKLSAgICA4MDIwLCAwLCAwLCA4MDIyLCAwLCAwLCAwLCA4MDE5LCA4MDIxLCAwLCAwLCA4MDIzLCAwLCAwLCAwLCA4MDI3LCA4MDI5LCAKLSAgICAwLCAwLCA4MDMxLCAwLCAwLCAwLCA4MDM0LCA4MDM2LCAwLCAwLCA4MDM4LCA4MDk2LCAwLCAwLCA4MDM1LCA4MDM3LCAwLCAKLSAgICAwLCA4MDM5LCA4MDk3LCAwLCAwLCAwLCA4MDk4LCAwLCAwLCAwLCA4MDk5LCAwLCAwLCAwLCA4MTAwLCAwLCAwLCAwLCAKLSAgICA4MTAxLCAwLCAwLCAwLCA4MTAyLCAwLCAwLCAwLCA4MTAzLCAwLCAwLCA4MDQyLCA4MDQ0LCAwLCAwLCA4MDQ2LCA4MTA0LCAKLSAgICAwLCAwLCA4MDQzLCA4MDQ1LCAwLCAwLCA4MDQ3LCA4MTA1LCAwLCAwLCAwLCA4MTA2LCAwLCAwLCAwLCA4MTA3LCAwLCAwLCAKLSAgICAwLCA4MTA4LCAwLCAwLCAwLCA4MTA5LCAwLCAwLCAwLCA4MTEwLCAwLCAwLCAwLCA4MTExLCAwLCAwLCAwLCA4MTE0LCAwLCAKLSAgICAwLCAwLCA4MTMwLCAwLCAwLCAwLCA4MTc4LCAwLCAwLCAwLCA4MTE5LCAwLCAwLCA4MTQxLCA4MTQyLCAwLCAwLCA4MTQzLCAKLSAgICAwLCAwLCAwLCAwLCA4MTM1LCAwLCAwLCAwLCA4MTgzLCAwLCAwLCA4MTU3LCA4MTU4LCAwLCAwLCA4MTU5LCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCA4NjAyLCAwLCAwLCAwLCA4NjAzLCAwLCAwLCAwLCA4NjIyLCAwLCAwLCAwLCA4NjUzLCAwLCAwLCAwLCAKLSAgICA4NjU1LCAwLCAwLCAwLCA4NjU0LCAwLCAwLCAwLCA4NzA4LCAwLCAwLCAwLCA4NzEzLCAwLCAwLCAwLCA4NzE2LCAwLCAwLCAKLSAgICAwLCA4NzQwLCAwLCAwLCAwLCA4NzQyLCAwLCAwLCAwLCA4NzY5LCAwLCAwLCAwLCA4NzcyLCAwLCAwLCAwLCA4Nzc1LCAwLCAKLSAgICAwLCAwLCA4Nzc3LCAwLCAwLCAwLCA4ODEzLCAwLCAwLCAwLCA4ODAyLCAwLCAwLCAwLCA4ODE2LCAwLCAwLCAwLCA4ODE3LCAKLSAgICAwLCAwLCAwLCA4ODIwLCAwLCAwLCAwLCA4ODIxLCAwLCAwLCAwLCA4ODI0LCAwLCAwLCAwLCA4ODI1LCAwLCAwLCAwLCAKLSAgICA4ODMyLCAwLCAwLCAwLCA4ODMzLCAwLCAwLCAwLCA4OTI4LCAwLCAwLCAwLCA4OTI5LCAwLCAwLCAwLCA4ODM2LCAwLCAwLCAKLSAgICAwLCA4ODM3LCAwLCAwLCAwLCA4ODQwLCAwLCAwLCAwLCA4ODQxLCAwLCAwLCAwLCA4OTMwLCAwLCAwLCAwLCA4OTMxLCAwLCAKLSAgICAwLCAwLCA4ODc2LCAwLCAwLCAwLCA4ODc3LCAwLCAwLCAwLCA4ODc4LCAwLCAwLCAwLCA4ODc5LCAwLCAwLCAwLCA4OTM4LCAKLSAgICAwLCAwLCAwLCA4OTM5LCAwLCAwLCAwLCA4OTQwLCAwLCAwLCAwLCA4OTQxLCAxMjQzNiwgMCwgMCwgMCwgMTIzNjQsIDAsIDAsIAotICAgIDAsIDEyMzY2LCAwLCAwLCAwLCAxMjM2OCwgMCwgMCwgMCwgMTIzNzAsIDAsIDAsIDAsIDEyMzcyLCAwLCAwLCAwLCAxMjM3NCwgCi0gICAgMCwgMCwgMCwgMTIzNzYsIDAsIDAsIDAsIDEyMzc4LCAwLCAwLCAwLCAxMjM4MCwgMCwgMCwgMCwgMTIzODIsIDAsIDAsIDAsIAotICAgIDEyMzg0LCAwLCAwLCAwLCAxMjM4NiwgMCwgMCwgMCwgMTIzODksIDAsIDAsIDAsIDEyMzkxLCAwLCAwLCAwLCAxMjM5MywgMCwgCi0gICAgMCwgMCwgMTI0MDAsIDEyNDAxLCAwLCAwLCAxMjQwMywgMTI0MDQsIDAsIDAsIDEyNDA2LCAxMjQwNywgMCwgMCwgMTI0MDksIAotICAgIDEyNDEwLCAwLCAwLCAxMjQxMiwgMTI0MTMsIDAsIDAsIDEyNDQ2LCAwLCAwLCAwLCAxMjUzMiwgMCwgMCwgMCwgMTI0NjAsIAotICAgIDAsIDAsIDAsIDEyNDYyLCAwLCAwLCAwLCAxMjQ2NCwgMCwgMCwgMCwgMTI0NjYsIDAsIDAsIDAsIDEyNDY4LCAwLCAwLCAwLCAKLSAgICAxMjQ3MCwgMCwgMCwgMCwgMTI0NzIsIDAsIDAsIDAsIDEyNDc0LCAwLCAwLCAwLCAxMjQ3NiwgMCwgMCwgMCwgMTI0NzgsIDAsIAotICAgIDAsIDAsIDEyNDgwLCAwLCAwLCAwLCAxMjQ4MiwgMCwgMCwgMCwgMTI0ODUsIDAsIDAsIDAsIDEyNDg3LCAwLCAwLCAwLCAKLSAgICAxMjQ4OSwgMCwgMCwgMCwgMTI0OTYsIDEyNDk3LCAwLCAwLCAxMjQ5OSwgMTI1MDAsIDAsIDAsIDEyNTAyLCAxMjUwMywgMCwgCi0gICAgMCwgMTI1MDUsIDEyNTA2LCAwLCAwLCAxMjUwOCwgMTI1MDksIDAsIDAsIDEyNTM1LCAwLCAwLCAwLCAxMjUzNiwgMCwgMCwgCi0gICAgMCwgMTI1MzcsIDAsIDAsIDAsIDEyNTM4LCAwLCAwLCAwLCAxMjU0MiwgMCwgMCwgMCwgMCwgMCwgNjk3ODYsIDAsIDAsIDAsIAotICAgIDY5Nzg4LCAwLCAwLCAwLCA2OTgwMywgMCwgMCwgMCwgMCwgNjk5MzQsIDAsIDAsIDAsIDY5OTM1LCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCA4ODE0LCAwLCA4ODAwLCAwLCAwLCAwLCAwLCAwLCA4ODE1LCAwLCAwLCAxOTIsIDE5MywgCisgICAgMTk0LCAxOTUsIDI1NiwgMjU4LCA1NTAsIDE5NiwgNzg0MiwgMTk3LCAwLCA0NjEsIDUxMiwgNTE0LCAwLCAwLCAwLCA3ODQwLCAKKyAgICAwLCA3NjgwLCAwLCAwLCAyNjAsIDAsIDAsIDAsIDAsIDAsIDc2ODIsIDAsIDAsIDc2ODQsIDAsIDAsIDAsIDAsIDc2ODYsIDAsIAorICAgIDAsIDAsIDAsIDI2MiwgMjY0LCAwLCAwLCAwLCAyNjYsIDAsIDAsIDAsIDAsIDI2OCwgMCwgMCwgMCwgMCwgMCwgMTk5LCAwLCAKKyAgICAwLCA3NjkwLCAwLCAwLCAwLCAwLCAyNzAsIDAsIDc2OTIsIDAsIDAsIDAsIDc2OTYsIDAsIDc2OTgsIDAsIDAsIDc2OTQsIDAsIAorICAgIDAsIDAsIDIwMCwgMjAxLCAyMDIsIDc4NjgsIDI3NCwgMjc2LCAyNzgsIDIwMywgNzg2NiwgMCwgMCwgMjgyLCA1MTYsIDUxOCwgCisgICAgMCwgMCwgMCwgNzg2NCwgMCwgMCwgMCwgNTUyLCAyODAsIDc3MDQsIDAsIDc3MDYsIDAsIDAsIDc3MTAsIDAsIDAsIDAsIDAsIAorICAgIDUwMCwgMjg0LCAwLCA3NzEyLCAyODYsIDI4OCwgMCwgMCwgMCwgMCwgNDg2LCAwLCAwLCAwLCAwLCAwLCAyOTAsIDAsIDAsIAorICAgIDI5MiwgMCwgMCwgMCwgNzcxNCwgNzcxOCwgMCwgMCwgMCwgNTQyLCAwLCA3NzE2LCAwLCAwLCAwLCA3NzIwLCAwLCAwLCAKKyAgICA3NzIyLCAwLCAwLCAwLCAwLCAwLCAyMDQsIDIwNSwgMjA2LCAyOTYsIDI5OCwgMzAwLCAzMDQsIDIwNywgNzg4MCwgMCwgMCwgCisgICAgNDYzLCA1MjAsIDUyMiwgMCwgMCwgMCwgNzg4MiwgMzAyLCAwLCAwLCA3NzI0LCAwLCAwLCAzMDgsIDAsIDAsIDAsIDAsIAorICAgIDc3MjgsIDAsIDQ4OCwgMCwgMCwgMCwgMCwgMCwgNzczMCwgMCwgMCwgMCwgMzEwLCA3NzMyLCAwLCAwLCAwLCAwLCAzMTMsIAorICAgIDAsIDAsIDAsIDAsIDAsIDMxNywgMCwgNzczNCwgMCwgMCwgMCwgMzE1LCAwLCA3NzQwLCAwLCAwLCA3NzM4LCAwLCAwLCAwLCAKKyAgICAwLCA3NzQyLCA3NzQ0LCAwLCAwLCAwLCAwLCAwLCAwLCA3NzQ2LCA1MDQsIDMyMywgMCwgMjA5LCAwLCAwLCA3NzQ4LCAwLCAKKyAgICAwLCAwLCAwLCAzMjcsIDAsIDc3NTAsIDAsIDAsIDAsIDMyNSwgMCwgNzc1NCwgMCwgMCwgNzc1MiwgMCwgMCwgMCwgMjEwLCAKKyAgICAyMTEsIDIxMiwgMjEzLCAzMzIsIDMzNCwgNTU4LCAyMTQsIDc4ODYsIDAsIDMzNiwgNDY1LCA1MjQsIDUyNiwgMCwgMCwgCisgICAgNDE2LCA3ODg0LCA0OTAsIDAsIDAsIDAsIDAsIDc3NjQsIDAsIDAsIDAsIDAsIDc3NjYsIDAsIDAsIDAsIDAsIDM0MCwgCisgICAgNzc2OCwgMCwgMCwgMCwgMCwgMzQ0LCA1MjgsIDUzMCwgMCwgMCwgMCwgNzc3MCwgMCwgMCwgMCwgMzQyLCA3Nzc0LCAwLCAwLCAKKyAgICAwLCAwLCAzNDYsIDM0OCwgMCwgMCwgMCwgNzc3NiwgMCwgMCwgMCwgMCwgMzUyLCAwLCA3Nzc4LCAwLCAwLCA1MzYsIDM1MCwgCisgICAgMCwgMCwgNzc4NiwgMCwgMCwgMCwgMCwgMzU2LCAwLCAwLCAwLCAwLCAwLCA3Nzg4LCAwLCAwLCA1MzgsIDM1NCwgMCwgCisgICAgNzc5MiwgMCwgMCwgNzc5MCwgMCwgMCwgMCwgMjE3LCAyMTgsIDIxOSwgMzYwLCAzNjIsIDM2NCwgMCwgMjIwLCA3OTEwLCAKKyAgICAzNjYsIDM2OCwgNDY3LCA1MzIsIDUzNCwgMCwgMCwgNDMxLCA3OTA4LCA3Nzk0LCAwLCAwLCAwLCAzNzAsIDc3OTgsIDAsIAorICAgIDc3OTYsIDAsIDAsIDAsIDc4MDQsIDAsIDAsIDAsIDAsIDAsIDc4MDYsIDc4MDgsIDc4MTAsIDM3MiwgMCwgMCwgMCwgNzgxNCwgCisgICAgNzgxMiwgMCwgNzgxNiwgMCwgMCwgNzgxOCwgNzgyMCwgMCwgMCwgNzkyMiwgMjIxLCAzNzQsIDc5MjgsIDU2MiwgMCwgCisgICAgNzgyMiwgMzc2LCA3OTI2LCAwLCAwLCAwLCAwLCA3OTI0LCAwLCAwLCAwLCAwLCAwLCAzNzcsIDc4MjQsIDAsIDAsIDAsIAorICAgIDM3OSwgMCwgMCwgMCwgMCwgMzgxLCAwLCAwLCAwLCAwLCAwLCA3ODI2LCA3ODI4LCAwLCAwLCAwLCAyMjQsIDIyNSwgMjI2LCAKKyAgICAyMjcsIDI1NywgMjU5LCA1NTEsIDIyOCwgNzg0MywgMjI5LCAwLCA0NjIsIDUxMywgNTE1LCAwLCAwLCAwLCA3ODQxLCAwLCAKKyAgICA3NjgxLCAwLCAwLCAyNjEsIDAsIDc2ODMsIDAsIDAsIDAsIDAsIDAsIDAsIDc2ODUsIDc2ODcsIDAsIDAsIDAsIDAsIDI2MywgCisgICAgMjY1LCAwLCAwLCAwLCAyNjcsIDAsIDAsIDAsIDAsIDI2OSwgMCwgMjMxLCAwLCAwLCA3NjkxLCAwLCAwLCAwLCAwLCAyNzEsIAorICAgIDAsIDAsIDAsIDAsIDAsIDc2OTMsIDAsIDAsIDAsIDc2OTcsIDAsIDc2OTksIDAsIDAsIDc2OTUsIDAsIDAsIDAsIDIzMiwgCisgICAgMjMzLCAyMzQsIDc4NjksIDI3NSwgMjc3LCAyNzksIDIzNSwgNzg2NywgMCwgMCwgMjgzLCA1MTcsIDUxOSwgMCwgMCwgMCwgCisgICAgNzg2NSwgMCwgMCwgMCwgNTUzLCAyODEsIDc3MDUsIDAsIDc3MDcsIDAsIDAsIDc3MTEsIDAsIDAsIDAsIDAsIDUwMSwgMjg1LCAKKyAgICAwLCA3NzEzLCAyODcsIDI4OSwgMCwgMCwgMCwgMCwgNDg3LCAwLCAyOTEsIDAsIDAsIDI5MywgMCwgMCwgMCwgNzcxNSwgCisgICAgNzcxOSwgMCwgMCwgMCwgNTQzLCAwLCAwLCAwLCAwLCAwLCA3NzE3LCAwLCAwLCAwLCA3NzIxLCAwLCAwLCA3NzIzLCAwLCAKKyAgICA3ODMwLCAwLCAwLCAwLCAyMzYsIDIzNywgMjM4LCAyOTcsIDI5OSwgMzAxLCAwLCAyMzksIDc4ODEsIDAsIDAsIDQ2NCwgCisgICAgNTIxLCA1MjMsIDAsIDAsIDAsIDc4ODMsIDAsIDAsIDAsIDAsIDMwMywgMCwgMCwgNzcyNSwgMCwgMCwgMzA5LCAwLCAwLCAwLCAKKyAgICAwLCA0OTYsIDAsIDAsIDAsIDc3MjksIDAsIDAsIDAsIDAsIDAsIDQ4OSwgMCwgNzczMSwgMCwgMCwgMCwgMzExLCAwLCAwLCAKKyAgICAwLCAwLCA3NzMzLCAwLCAwLCAwLCAwLCAzMTQsIDAsIDMxOCwgMCwgMCwgMCwgMCwgMCwgNzczNSwgMCwgMCwgMCwgMzE2LCAKKyAgICAwLCA3NzQxLCAwLCAwLCA3NzM5LCAwLCAwLCAwLCAwLCA3NzQzLCAwLCAwLCAwLCAwLCA3NzQ1LCAwLCAwLCA3NzQ3LCAwLCAKKyAgICAwLCAwLCAwLCA1MDUsIDMyNCwgMCwgMjQxLCAwLCAwLCA3NzQ5LCAwLCAwLCAwLCAwLCAzMjgsIDAsIDAsIDAsIDAsIDAsIAorICAgIDc3NTEsIDAsIDAsIDAsIDMyNiwgMCwgNzc1NSwgMCwgMCwgNzc1MywgMCwgMCwgMCwgMjQyLCAyNDMsIDI0NCwgMjQ1LCAKKyAgICAzMzMsIDMzNSwgNTU5LCAyNDYsIDc4ODcsIDAsIDMzNywgNDY2LCA1MjUsIDUyNywgMCwgMCwgNDE3LCA3ODg1LCAwLCAwLCAKKyAgICAwLCAwLCA0OTEsIDAsIDAsIDAsIDAsIDc3NjUsIDc3NjcsIDAsIDAsIDAsIDAsIDM0MSwgMCwgMCwgMCwgMCwgNzc2OSwgMCwgCisgICAgMCwgMCwgMCwgMzQ1LCA1MjksIDUzMSwgMCwgMCwgMCwgNzc3MSwgMCwgMCwgMCwgMzQzLCAwLCAwLCAwLCAwLCA3Nzc1LCAwLCAKKyAgICAwLCAwLCAwLCAzNDcsIDM0OSwgMCwgMCwgMCwgNzc3NywgMCwgMCwgMCwgMCwgMzUzLCAwLCAwLCAwLCAwLCAwLCA3Nzc5LCAKKyAgICAwLCAwLCA1MzcsIDM1MSwgMCwgMCwgNzc4NywgNzgzMSwgMCwgMCwgMCwgMzU3LCAwLCA3Nzg5LCAwLCAwLCA1MzksIDM1NSwgCisgICAgMCwgNzc5MywgMCwgMCwgNzc5MSwgMCwgMCwgMCwgMjQ5LCAyNTAsIDI1MSwgMzYxLCAzNjMsIDM2NSwgMCwgMjUyLCA3OTExLCAKKyAgICAzNjcsIDM2OSwgNDY4LCA1MzMsIDUzNSwgMCwgMCwgNDMyLCA3OTA5LCA3Nzk1LCAwLCAwLCAwLCAzNzEsIDc3OTksIDAsIAorICAgIDc3OTcsIDAsIDAsIDAsIDc4MDUsIDAsIDc4MDcsIDAsIDAsIDAsIDAsIDc4MDksIDc4MTEsIDM3MywgMCwgMCwgMCwgNzgxNSwgCisgICAgNzgxMywgMCwgNzgzMiwgMCwgMCwgMCwgNzgxNywgMCwgMCwgNzgxOSwgNzgyMSwgMCwgMCwgNzkyMywgMjUzLCAzNzUsIAorICAgIDc5MjksIDU2MywgMCwgNzgyMywgMjU1LCA3OTI3LCA3ODMzLCAwLCAwLCAwLCA3OTI1LCAwLCAzNzgsIDc4MjUsIDAsIDAsIAorICAgIDAsIDM4MCwgMCwgMCwgMCwgMCwgMzgyLCAwLCA3ODI3LCAwLCAwLCAwLCAwLCA3ODI5LCAwLCAwLCAwLCA4MTczLCA5MDEsIAorICAgIDAsIDAsIDgxMjksIDAsIDc4NDYsIDc4NDQsIDAsIDc4NTAsIDc4NDgsIDAsIDAsIDAsIDAsIDAsIDQ3OCwgMCwgMCwgNTA2LCAKKyAgICAwLCAwLCAwLCAwLCAwLCA1MDgsIDAsIDAsIDQ4MiwgMCwgMCwgNzY4OCwgMCwgMCwgMCwgMCwgNzg3MiwgNzg3MCwgMCwgCisgICAgNzg3NiwgMCwgMCwgMCwgMCwgNzg3NCwgMCwgMCwgNzcyNiwgMCwgMCwgMCwgMCwgNzg5MCwgNzg4OCwgMCwgNzg5NCwgMCwgCisgICAgMCwgMCwgMCwgNzg5MiwgMCwgMCwgNzc1NiwgMCwgMCwgNTU2LCAwLCAwLCA3NzU4LCAwLCAwLCA1NTQsIDAsIDAsIDUxMCwgCisgICAgMCwgMCwgMCwgMCwgNDc1LCA0NzEsIDAsIDAsIDQ2OSwgMCwgMCwgNDczLCAwLCAwLCA3ODQ3LCA3ODQ1LCAwLCA3ODUxLCAKKyAgICA3ODQ5LCAwLCAwLCAwLCAwLCAwLCA0NzksIDAsIDAsIDUwNywgMCwgMCwgMCwgMCwgMCwgNTA5LCAwLCAwLCA0ODMsIDAsIDAsIAorICAgIDc2ODksIDAsIDAsIDAsIDAsIDc4NzMsIDc4NzEsIDAsIDc4NzcsIDAsIDAsIDAsIDAsIDc4NzUsIDAsIDAsIDc3MjcsIDAsIAorICAgIDAsIDAsIDAsIDc4OTEsIDc4ODksIDAsIDc4OTUsIDAsIDAsIDAsIDAsIDc4OTMsIDAsIDAsIDc3NTcsIDAsIDAsIDU1NywgMCwgCisgICAgMCwgNzc1OSwgMCwgMCwgNTU1LCAwLCAwLCA1MTEsIDAsIDAsIDAsIDAsIDQ3NiwgNDcyLCAwLCAwLCA0NzAsIDAsIDAsIAorICAgIDQ3NCwgMCwgMCwgNzg1NiwgNzg1NCwgMCwgNzg2MCwgNzg1OCwgMCwgMCwgMCwgMCwgMCwgNzg1NywgNzg1NSwgMCwgNzg2MSwgCisgICAgMCwgMCwgMCwgMCwgNzg1OSwgMCwgNzcwMCwgNzcwMiwgMCwgMCwgMCwgMCwgNzcwMSwgNzcwMywgNzc2MCwgNzc2MiwgMCwgCisgICAgMCwgMCwgMCwgNzc2MSwgNzc2MywgMCwgMCwgNzc4MCwgMCwgNzc4MSwgMCwgMCwgMCwgMCwgMCwgNzc4MiwgMCwgNzc4MywgCisgICAgMCwgMCwgMCwgMCwgNzgwMCwgMCwgMCwgMCwgMCwgMCwgNzgwMSwgMCwgMCwgMCwgNzgwMiwgMCwgNzgwMywgMCwgMCwgMCwgCisgICAgMCwgNzgzNSwgMCwgMCwgMCwgNzkwMCwgNzg5OCwgMCwgNzkwNCwgMCwgMCwgMCwgMCwgNzkwMiwgMCwgMCwgMCwgMCwgCisgICAgNzkwNiwgNzkwMSwgNzg5OSwgMCwgNzkwNSwgNzkwMywgMCwgMCwgMCwgMCwgNzkwNywgMCwgMCwgMCwgMCwgNzkxNCwgCisgICAgNzkxMiwgMCwgNzkxOCwgMCwgMCwgMCwgMCwgNzkxNiwgMCwgMCwgMCwgMCwgNzkyMCwgNzkxNSwgNzkxMywgMCwgNzkxOSwgCisgICAgNzkxNywgMCwgMCwgMCwgMCwgNzkyMSwgMCwgMCwgMCwgNDk0LCAwLCAwLCA0OTIsIDAsIDAsIDAsIDAsIDAsIDQ5MywgMCwgCisgICAgNDgwLCAwLCAwLCAwLCAwLCAwLCA0ODEsIDAsIDAsIDc3MDgsIDAsIDAsIDAsIDAsIDAsIDc3MDksIDU2MCwgMCwgMCwgMCwgCisgICAgMCwgMCwgNTYxLCAwLCAwLCAwLCAwLCA0OTUsIDAsIDAsIDgxMjIsIDkwMiwgMCwgMCwgODEyMSwgODEyMCwgNzk0NCwgCisgICAgNzk0NSwgMCwgMCwgMCwgMCwgMCwgODEyNCwgODEzNiwgOTA0LCAwLCAwLCAwLCAwLCA3OTYwLCA3OTYxLCAwLCAwLCA4MTM4LCAKKyAgICA5MDUsIDc5NzYsIDc5NzcsIDAsIDAsIDAsIDAsIDAsIDgxNDAsIDgxNTQsIDkwNiwgMCwgMCwgODE1MywgODE1MiwgMCwgCisgICAgOTM4LCAwLCAwLCA3OTkyLCA3OTkzLCAwLCAwLCA4MTg0LCA5MDgsIDgwMDgsIDgwMDksIDAsIDAsIDAsIDAsIDAsIDgxNzIsIAorICAgIDAsIDAsIDgxNzAsIDkxMCwgMCwgMCwgODE2OSwgODE2OCwgMCwgOTM5LCAwLCAwLCAwLCA4MDI1LCAwLCAwLCA4MTg2LCAKKyAgICA5MTEsIDAsIDAsIDAsIDAsIDgwNDAsIDgwNDEsIDAsIDgxODgsIDAsIDAsIDAsIDAsIDAsIDgxMTYsIDAsIDgxMzIsIDAsIDAsIAorICAgIDAsIDAsIDgwNDgsIDk0MCwgMCwgMCwgODExMywgODExMiwgNzkzNiwgNzkzNywgMCwgMCwgMCwgMCwgODExOCwgODExNSwgCisgICAgODA1MCwgOTQxLCAwLCAwLCAwLCAwLCA3OTUyLCA3OTUzLCAwLCAwLCA4MDUyLCA5NDIsIDc5NjgsIDc5NjksIDAsIDAsIDAsIAorICAgIDAsIDgxMzQsIDgxMzEsIDgwNTQsIDk0MywgMCwgMCwgODE0NSwgODE0NCwgMCwgOTcwLCAwLCAwLCA3OTg0LCA3OTg1LCAKKyAgICA4MTUwLCAwLCAwLCAwLCAwLCAwLCA4MDU2LCA5NzIsIDgwMDAsIDgwMDEsIDAsIDAsIDAsIDAsIDgxNjQsIDgxNjUsIDAsIDAsIAorICAgIDgwNTgsIDk3MywgMCwgMCwgODE2MSwgODE2MCwgMCwgOTcxLCAwLCAwLCA4MDE2LCA4MDE3LCAwLCAwLCAwLCAwLCA4MTY2LCAKKyAgICAwLCA4MDYwLCA5NzQsIDAsIDAsIDAsIDAsIDgwMzIsIDgwMzMsIDgxODIsIDgxNzksIDAsIDAsIDAsIDAsIDgxNDYsIDkxMiwgCisgICAgMCwgMCwgODE1MSwgMCwgODE2MiwgOTQ0LCAwLCAwLCA4MTY3LCAwLCAwLCAwLCAwLCAwLCAwLCA4MTgwLCAwLCA5NzksIDAsIAorICAgIDAsIDAsIDAsIDAsIDk4MCwgMCwgMTAzMSwgMCwgMCwgMCwgMTIzMiwgMCwgMTIzNCwgMCwgMCwgMCwgMTAyNywgMTAyNCwgMCwgCisgICAgMCwgMCwgMCwgMTIzOCwgMCwgMTAyNSwgMCwgMCwgMCwgMTIxNywgMCwgMTI0NCwgMCwgMCwgMCwgMCwgMCwgMTI0NiwgMCwgCisgICAgMCwgMTAzNywgMCwgMCwgMCwgMTI1MCwgMTA0OSwgMCwgMTI1MiwgMCwgMCwgMCwgMTAzNiwgMCwgMCwgMCwgMTI1NCwgMCwgCisgICAgMCwgMTI2MiwgMTAzOCwgMCwgMTI2NCwgMCwgMCwgMTI2NiwgMCwgMCwgMTI2OCwgMCwgMCwgMCwgMCwgMCwgMTI3MiwgMCwgCisgICAgMTI2MCwgMCwgMCwgMCwgMTIzMywgMCwgMTIzNSwgMCwgMCwgMCwgMTEwNywgMTEwNCwgMCwgMCwgMCwgMCwgMTIzOSwgMCwgCisgICAgMTEwNSwgMCwgMCwgMCwgMTIxOCwgMCwgMTI0NSwgMCwgMCwgMCwgMCwgMCwgMTI0NywgMCwgMCwgMTExNywgMCwgMCwgMCwgCisgICAgMTI1MSwgMTA4MSwgMCwgMTI1MywgMCwgMCwgMCwgMTExNiwgMCwgMCwgMCwgMTI1NSwgMCwgMCwgMTI2MywgMTExOCwgMCwgCisgICAgMTI2NSwgMCwgMCwgMTI2NywgMCwgMCwgMTI2OSwgMCwgMCwgMCwgMCwgMCwgMTI3MywgMCwgMTI2MSwgMCwgMCwgMCwgMCwgCisgICAgMCwgMTExMSwgMCwgMCwgMTE0MiwgMCwgMTE0MywgMCwgMCwgMCwgMCwgMTI0MiwgMCwgMCwgMCwgMCwgMCwgMTI0MywgMCwgCisgICAgMTI1OCwgMCwgMCwgMCwgMCwgMCwgMTI1OSwgMTU3MCwgMTU3MSwgMTU3MywgMCwgMCwgMCwgMCwgMTU3MiwgMCwgMTU3NCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMTczMCwgMCwgMTc0NywgMCwgMCwgMCwgMCwgMCwgMTcyOCwgMCwgMCwgMCwgMjM0NSwgMCwgCisgICAgMjM1MywgMCwgMCwgMCwgMCwgMCwgMjM1NiwgMCwgMCwgMjUwNywgMjUwOCwgMCwgMCwgMjg5MSwgMjg4OCwgMjg5MiwgMCwgCisgICAgMCwgMCwgMjk2NCwgMCwgMCwgMCwgMCwgMzAxOCwgMzAyMCwgMCwgMCwgMCwgMCwgMzAxOSwgMCwgMCwgMCwgMzE0NCwgMCwgCisgICAgMCwgMCwgMzI2NCwgMzI3NCwgMzI3MSwgMzI3MiwgMCwgMCwgMCwgMCwgMzI3NSwgMCwgMCwgMCwgMzQwMiwgMzQwNCwgMCwgCisgICAgMCwgMCwgMCwgMzQwMywgMCwgMCwgMCwgMzU0NiwgMzU0OCwgMzU1MCwgMCwgMCwgMCwgMzU0OSwgNDEzNCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgNjkxOCwgMCwgNjkyMCwgMCwgMCwgMCwgMCwgMCwgNjkyMiwgMCwgNjkyNCwgMCwgMCwgMCwgMCwgMCwgCisgICAgNjkyNiwgMCwgNjkzMCwgMCwgMCwgMCwgMCwgMCwgNjk3MSwgMCwgNjk3MywgMCwgMCwgMCwgMCwgMCwgNjk3NiwgMCwgCisgICAgNjk3NywgMCwgMCwgMCwgMCwgMCwgNjk3OSwgMCwgMCwgNzczNiwgMCwgNzczNywgMCwgMCwgMCwgMCwgMCwgNzc3MiwgMCwgCisgICAgNzc3MywgMCwgMCwgMCwgNzc4NCwgMCwgMCwgMCwgMCwgMCwgNzc4NSwgMCwgNzg1MiwgMCwgMCwgNzg2MiwgMCwgMCwgCisgICAgNzg1MywgMCwgMCwgNzg2MywgMCwgMCwgNzg3OCwgMCwgMCwgMCwgMCwgMCwgNzg3OSwgMCwgNzg5NiwgMCwgMCwgMCwgMCwgCisgICAgMCwgNzg5NywgMCwgMCwgMCwgNzkzOCwgNzk0MCwgMCwgMCwgNzk0MiwgODA2NCwgNzkzOSwgNzk0MSwgMCwgMCwgNzk0MywgCisgICAgODA2NSwgMCwgMCwgMCwgMCwgMCwgODA2NiwgMCwgODA2NywgMCwgMCwgMCwgMCwgMCwgODA2OCwgMCwgODA2OSwgMCwgMCwgCisgICAgMCwgMCwgMCwgODA3MCwgMCwgODA3MSwgMCwgMCwgMCwgMCwgNzk0NiwgNzk0OCwgMCwgMCwgNzk1MCwgODA3MiwgNzk0NywgCisgICAgNzk0OSwgMCwgMCwgNzk1MSwgODA3MywgMCwgMCwgMCwgMCwgMCwgODA3NCwgMCwgODA3NSwgMCwgMCwgMCwgMCwgMCwgCisgICAgODA3NiwgMCwgODA3NywgMCwgMCwgMCwgMCwgMCwgODA3OCwgMCwgODA3OSwgMCwgMCwgMCwgMCwgNzk1NCwgNzk1NiwgCisgICAgNzk1NSwgNzk1NywgMCwgMCwgMCwgMCwgNzk2MiwgNzk2NCwgNzk2MywgNzk2NSwgMCwgMCwgMCwgMCwgNzk3MCwgNzk3MiwgCisgICAgMCwgMCwgNzk3NCwgODA4MCwgNzk3MSwgNzk3MywgMCwgMCwgNzk3NSwgODA4MSwgMCwgMCwgMCwgMCwgMCwgODA4MiwgMCwgCisgICAgODA4MywgMCwgMCwgMCwgMCwgMCwgODA4NCwgMCwgODA4NSwgMCwgMCwgMCwgMCwgMCwgODA4NiwgMCwgODA4NywgMCwgMCwgCisgICAgMCwgMCwgNzk3OCwgNzk4MCwgMCwgMCwgNzk4MiwgODA4OCwgNzk3OSwgNzk4MSwgMCwgMCwgNzk4MywgODA4OSwgMCwgMCwgCisgICAgMCwgMCwgMCwgODA5MCwgMCwgODA5MSwgMCwgMCwgMCwgMCwgMCwgODA5MiwgMCwgODA5MywgMCwgMCwgMCwgMCwgMCwgCisgICAgODA5NCwgMCwgODA5NSwgMCwgMCwgMCwgMCwgNzk4NiwgNzk4OCwgMCwgMCwgNzk5MCwgMCwgNzk4NywgNzk4OSwgMCwgMCwgCisgICAgNzk5MSwgMCwgMCwgMCwgMCwgMCwgNzk5NCwgNzk5NiwgMCwgMCwgNzk5OCwgMCwgNzk5NSwgNzk5NywgMCwgMCwgNzk5OSwgCisgICAgMCwgMCwgMCwgMCwgMCwgODAwMiwgODAwNCwgODAwMywgODAwNSwgMCwgMCwgMCwgMCwgODAxMCwgODAxMiwgODAxMSwgCisgICAgODAxMywgMCwgMCwgMCwgMCwgODAxOCwgODAyMCwgMCwgMCwgODAyMiwgMCwgODAxOSwgODAyMSwgMCwgMCwgODAyMywgMCwgCisgICAgMCwgMCwgMCwgMCwgODAyNywgODAyOSwgMCwgMCwgODAzMSwgMCwgODAzNCwgODAzNiwgMCwgMCwgODAzOCwgODA5NiwgMCwgCisgICAgMCwgMCwgMCwgODAzNSwgODAzNywgMCwgMCwgODAzOSwgODA5NywgMCwgODA5OCwgMCwgMCwgMCwgMCwgMCwgODA5OSwgMCwgCisgICAgODEwMCwgMCwgMCwgMCwgMCwgMCwgODEwMSwgMCwgODEwMiwgMCwgMCwgMCwgMCwgMCwgODEwMywgODA0MiwgODA0NCwgMCwgCisgICAgMCwgODA0NiwgODEwNCwgMCwgMCwgMCwgMCwgODA0MywgODA0NSwgMCwgMCwgODA0NywgODEwNSwgMCwgODEwNiwgMCwgMCwgCisgICAgMCwgMCwgMCwgODEwNywgMCwgODEwOCwgMCwgMCwgMCwgMCwgMCwgODEwOSwgMCwgODExMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgODExMSwgMCwgODExNCwgMCwgMCwgMCwgMCwgMCwgODEzMCwgMCwgODE3OCwgMCwgMCwgMCwgMCwgMCwgODExOSwgODE0MSwgCisgICAgODE0MiwgMCwgMCwgODE0MywgMCwgMCwgMCwgMCwgMCwgMCwgODEzNSwgMCwgODE4MywgMCwgMCwgMCwgMCwgODE1NywgCisgICAgODE1OCwgMCwgMCwgODE1OSwgMCwgMCwgMCwgMCwgODYwMiwgMCwgODYwMywgMCwgMCwgMCwgMCwgMCwgODYyMiwgMCwgCisgICAgODY1MywgMCwgMCwgMCwgMCwgMCwgODY1NSwgMCwgODY1NCwgMCwgMCwgMCwgMCwgMCwgODcwOCwgMCwgODcxMywgMCwgMCwgCisgICAgMCwgMCwgMCwgODcxNiwgMCwgODc0MCwgMCwgMCwgMCwgMCwgMCwgODc0MiwgMCwgODc2OSwgMCwgMCwgMCwgMCwgMCwgCisgICAgODc3MiwgMCwgODc3NSwgMCwgMCwgMCwgMCwgMCwgODc3NywgMCwgODgxMywgMCwgMCwgMCwgMCwgMCwgODgwMiwgMCwgCisgICAgODgxNiwgMCwgMCwgMCwgMCwgMCwgODgxNywgMCwgODgyMCwgMCwgMCwgMCwgMCwgMCwgODgyMSwgMCwgODgyNCwgMCwgMCwgCisgICAgMCwgMCwgMCwgODgyNSwgMCwgODgzMiwgMCwgMCwgMCwgMCwgMCwgODgzMywgMCwgODkyOCwgMCwgMCwgMCwgMCwgMCwgCisgICAgODkyOSwgMCwgODgzNiwgMCwgMCwgMCwgMCwgMCwgODgzNywgMCwgODg0MCwgMCwgMCwgMCwgMCwgMCwgODg0MSwgMCwgCisgICAgODkzMCwgMCwgMCwgMCwgMCwgMCwgODkzMSwgMCwgODg3NiwgMCwgMCwgMCwgMCwgMCwgODg3NywgMCwgODg3OCwgMCwgMCwgCisgICAgMCwgMCwgMCwgODg3OSwgMCwgODkzOCwgMCwgMCwgMCwgMCwgMCwgODkzOSwgMCwgODk0MCwgMCwgMCwgMCwgMCwgMCwgCisgICAgODk0MSwgMCwgMCwgMTI0MzYsIDAsIDEyMzY0LCAwLCAwLCAwLCAwLCAwLCAxMjM2NiwgMCwgMTIzNjgsIDAsIDAsIDAsIDAsIAorICAgIDAsIDEyMzcwLCAwLCAxMjM3MiwgMCwgMCwgMCwgMCwgMCwgMTIzNzQsIDAsIDEyMzc2LCAwLCAwLCAwLCAwLCAwLCAxMjM3OCwgCisgICAgMCwgMTIzODAsIDAsIDAsIDAsIDAsIDAsIDEyMzgyLCAwLCAxMjM4NCwgMCwgMCwgMCwgMCwgMCwgMTIzODYsIDAsIDEyMzg5LCAKKyAgICAwLCAwLCAwLCAwLCAwLCAxMjM5MSwgMCwgMTIzOTMsIDAsIDAsIDAsIDAsIDAsIDEyNDAwLCAxMjQwMSwgMTI0MDMsIAorICAgIDEyNDA0LCAwLCAwLCAwLCAwLCAxMjQwNiwgMTI0MDcsIDEyNDA5LCAxMjQxMCwgMCwgMCwgMCwgMCwgMTI0MTIsIDEyNDEzLCAKKyAgICAxMjQ0NiwgMCwgMCwgMCwgMCwgMCwgMTI1MzIsIDAsIDEyNDYwLCAwLCAwLCAwLCAwLCAwLCAxMjQ2MiwgMCwgMTI0NjQsIDAsIAorICAgIDAsIDAsIDAsIDAsIDEyNDY2LCAwLCAxMjQ2OCwgMCwgMCwgMCwgMCwgMCwgMTI0NzAsIDAsIDEyNDcyLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAxMjQ3NCwgMCwgMTI0NzYsIDAsIDAsIDAsIDAsIDAsIDEyNDc4LCAwLCAxMjQ4MCwgMCwgMCwgMCwgMCwgMCwgMTI0ODIsIAorICAgIDAsIDEyNDg1LCAwLCAwLCAwLCAwLCAwLCAxMjQ4NywgMCwgMTI0ODksIDAsIDAsIDAsIDAsIDAsIDEyNDk2LCAxMjQ5NywgCisgICAgMTI0OTksIDEyNTAwLCAwLCAwLCAwLCAwLCAxMjUwMiwgMTI1MDMsIDEyNTA1LCAxMjUwNiwgMCwgMCwgMCwgMCwgMTI1MDgsIAorICAgIDEyNTA5LCAxMjUzNSwgMCwgMCwgMCwgMCwgMCwgMTI1MzYsIDAsIDEyNTM3LCAwLCAwLCAwLCAwLCAwLCAxMjUzOCwgMCwgCisgICAgMTI1NDIsIDAsIDAsIDAsIDY5Nzg2LCAwLCAwLCAwLCAwLCAwLCA2OTc4OCwgMCwgNjk4MDMsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDY5OTM0LCAwLCA2OTkzNSwgMCwgMCwgNzA0NzUsIDcwNDc2LCAwLCAwLCA3MDg0NCwgNzA4NDMsIDcwODQ2LCAwLCAwLCAKKyAgICA3MTA5OCwgMCwgMCwgMCwgMCwgMCwgNzEwOTksIAogfTsKIAogc3RhdGljIGNvbnN0IGNoYW5nZV9yZWNvcmQgY2hhbmdlX3JlY29yZHNfM18yXzBbXSA9IHsKQEAgLTUyMTAsNzMgKzU2NzQsNzQgQEAKIH07CiBzdGF0aWMgdW5zaWduZWQgY2hhciBjaGFuZ2VzXzNfMl8wX2luZGV4W10gPSB7CiAgICAgMCwgMSwgMiwgMiwgMywgNCwgNSwgNiwgMiwgNywgOCwgOSwgMTAsIDExLCAxMiwgMTMsIDE0LCAxNSwgMTYsIDE3LCAxOCwgCi0gICAgMTksIDIwLCAyMSwgMjIsIDIzLCAyNCwgMiwgMiwgMjUsIDI2LCAyNywgMjgsIDI5LCAzMCwgMzEsIDMyLCAzMywgMzQsIDM1LCAKLSAgICAzNiwgMiwgMiwgMiwgMzcsIDM4LCAyLCAzOSwgMiwgNDAsIDQxLCA0MiwgNDMsIDQ0LCA0NSwgNDYsIDQ3LCA0OCwgNDksIAotICAgIDUwLCAyLCA1MSwgMiwgMiwgNTIsIDUzLCA1NCwgNTUsIDU2LCAyLCA1NywgNTgsIDU5LCA2MCwgMiwgMiwgNjEsIDYyLCA2MywgCi0gICAgNjQsIDY1LCA2NSwgMiwgMiwgMiwgMiwgNjYsIDIsIDY3LCA2OCwgNjksIDcwLCA3MSwgMiwgMiwgMiwgNzIsIDczLCA3NCwgCi0gICAgNzUsIDc2LCA3NywgNzgsIDc5LCA4MCwgODEsIDIsIDIsIDIsIDIsIDIsIDIsIDgyLCAyLCAyLCAyLCAyLCAyLCA4MywgMiwgCisgICAgMTksIDIwLCAyMSwgMjIsIDIzLCAyNCwgMjUsIDIsIDI2LCAyNywgMjgsIDI5LCAzMCwgMzEsIDMyLCAzMywgMzQsIDM1LCAKKyAgICAzNiwgMzcsIDIsIDIsIDIsIDM4LCAzOSwgMiwgNDAsIDIsIDQxLCA0MiwgNDMsIDQ0LCA0NSwgNDYsIDQ3LCA0OCwgNDksIAorICAgIDUwLCA1MSwgMiwgNTIsIDIsIDIsIDUzLCA1NCwgNTUsIDU2LCA1NywgMiwgNTgsIDU5LCA2MCwgNjEsIDIsIDIsIDYyLCA2MywgCisgICAgNjQsIDY1LCA2NiwgNjYsIDIsIDIsIDIsIDIsIDY3LCA2OCwgNjksIDcwLCA3MSwgNzIsIDczLCAyLCAyLCAyLCA3NCwgNzUsIAorICAgIDc2LCA3NywgNzgsIDc5LCA4MCwgODEsIDgyLCA4MywgMiwgMiwgMiwgMiwgMiwgMiwgODQsIDIsIDIsIDIsIDIsIDIsIDg1LCAKICAgICAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAKLSAgICAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCA4NCwgMiwgODUsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDg2LCAKLSAgICA4NywgMiwgMiwgMiwgMiwgMiwgMiwgMiwgODgsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDg5LCA5MCwgCisgICAgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgODYsIDIsIDg3LCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAKKyAgICA4OCwgODksIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDkwLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCA5MSwgCisgICAgOTIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIAorICAgIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDkzLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAKICAgICAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAKLSAgICAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCA5MSwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgCi0gICAgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgCi0gICAgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgOTIsIDIsIDIsIDIsIDIsIAotICAgIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDkzLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAKLSAgICAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCA5NCwgOTUsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDk2LCA0OSwgNDksIAotICAgIDk3LCA5OCwgNDksIDk5LCAxMDAsIDEwMSwgMTAyLCAxMDMsIDEwNCwgMTA1LCAxMDYsIDEwNywgMiwgMiwgMiwgMiwgMiwgMiwgCisgICAgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgOTQsIDIsIDIsIDIsIAorICAgIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDk1LCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAKKyAgICAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCA5NiwgOTcsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDk4LCA1MCwgNTAsIAorICAgIDk5LCAxMDAsIDUwLCAxMDEsIDEwMiwgMTAzLCAxMDQsIDEwNSwgMTA2LCAxMDcsIDEwOCwgMTA5LCAyLCAyLCAyLCAyLCAyLCAKICAgICAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAKICAgICAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAKICAgICAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAKLSAgICAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAxMDgsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIAorICAgIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDExMCwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgCiAgICAgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgCiAgICAgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgCi0gICAgMiwgMiwgMiwgMiwgMTA5LCAxMTAsIDExMSwgMTEyLCAxMTMsIDExNCwgMiwgMiwgMiwgMTE1LCAxMTYsIDIsIDExNywgMTE4LCAKLSAgICAxMTksIDEyMCwgMTIxLCAxMjIsIDIsIDEyMywgMTI0LCAxMjUsIDEyNiwgMTI3LCAyLCAyLCAyLCAyLCAyLCAyLCAxMjgsIDIsIAotICAgIDEyOSwgMTMwLCAxMzEsIDIsIDEzMiwgMiwgMTMzLCAyLCAyLCAyLCAxMzQsIDIsIDIsIDIsIDEzNSwgMTM2LCAxMzcsIDEzOCwgCi0gICAgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMTM5LCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAKLSAgICAyLCAyLCAyLCAyLCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCAxNDAsIDIsIDE0MSwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgCi0gICAgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIAotICAgIDQ5LCAxNDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIAorICAgIDIsIDIsIDIsIDIsIDIsIDExMSwgMTEyLCAxMTMsIDExNCwgMTE1LCAxMTYsIDIsIDIsIDExNywgMTE4LCAxMTksIDIsIDEyMCwgCisgICAgMTIxLCAxMjIsIDEyMywgMTI0LCAxMjUsIDIsIDEyNiwgMTI3LCAxMjgsIDEyOSwgMTMwLCAxMzEsIDIsIDUwLCA1MCwgMTMyLCAKKyAgICAyLCAxMzMsIDEzNCwgMTM1LCAxMzYsIDEzNywgMTM4LCAxMzksIDE0MCwgMTQxLCAyLCAyLCAyLCAxNDIsIDIsIDIsIDIsIAorICAgIDE0MywgMTQ0LCAxNDUsIDE0NiwgMTQ3LCAxNDgsIDE0OSwgMiwgMiwgMTUwLCAyLCAxNTEsIDE1MiwgMTUzLCAyLCAyLCAyLCAKKyAgICAxNTQsIDIsIDIsIDIsIDE1NSwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCisgICAgNTAsIDE1NiwgMTU3LCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAKKyAgICAyLCAyLCAyLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDE1OCwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgCiAgICAgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgCiAgICAgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgCiAgICAgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgCi0gICAgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgNDksIDQ5LCA0OSwgNDksIDE0MywgMiwgMiwgMiwgMiwgMiwgMiwgMiwgCi0gICAgMiwgMiwgMTQ0LCAxNDUsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIAorICAgIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDUwLCA1MCwgCisgICAgNTAsIDUwLCAxNTksIDE2MCwgMTYxLCAxNjIsIDIsIDIsIDIsIDIsIDIsIDIsIDE2MywgMTY0LCAyLCAyLCAyLCAyLCAyLCAyLCAKICAgICAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAKICAgICAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAKICAgICAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAKICAgICAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAKLSAgICAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAxNDYsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIAogICAgIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIAorICAgIDIsIDIsIDE2NSwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgCisgICAgMiwgMiwgMTY2LCAxNjcsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIAorICAgIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDE2OCwgMiwgCisgICAgMTY5LCAyLCAxNzAsIDIsIDIsIDE3MSwgMiwgMiwgMiwgMTcyLCAxNzMsIDE3NCwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgCiAgICAgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgCi0gICAgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMTQ3LCAyLCAxNDgsIDIsIDE0OSwgMiwgMiwgMTUwLCAyLCAyLCAyLCAxNTEsIDE1MiwgCi0gICAgMTUzLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAKLSAgICAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAxNTQsIDE1NSwgCi0gICAgMiwgMiwgMTU2LCAxNTcsIDE1OCwgMTU5LCAxNjAsIDIsIDE2MSwgMTYyLCAxNjMsIDE2NCwgMTY1LCAxNjYsIDE2NywgMTQ4LCAKLSAgICAxNjgsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDE2OSwgMTcwLCA5MywgMiwgCi0gICAgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgODIsIDE3MSwgMiwgMTcyLCAxNzMsIDIsIDIsIDIsIAorICAgIDUwLCAxNzUsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDE3NiwgMTc3LCAyLCAyLCAxNzgsIDE3OSwgMTgwLCAKKyAgICAxODEsIDE4MiwgMiwgMTgzLCAxODQsIDUwLCAxODUsIDE4NiwgMTg3LCAxODgsIDE4OSwgMTkwLCAxOTEsIDE5MiwgMTkzLCAKKyAgICAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAxOTQsIDE5NSwgOTUsIDIsIDIsIDIsIDIsIDIsIDIsIAorICAgIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDg0LCAxOTYsIDIsIDE5NywgMTk4LCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAKICAgICAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAKLSAgICAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAxNzQsIDIsIDIsIAotICAgIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDE3NSwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgCi0gICAgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMTc2LCAyLCAyLCAyLCAKKyAgICAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAxOTksIDIsIDIsIDIsIDIsIDIsIDIsIDIsIAorICAgIDIsIDIsIDIsIDIsIDIwMCwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgCisgICAgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMjAxLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAKICAgICAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAKICAgICAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAKKyAgICAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyMDIsIDIsIDIsIAogICAgIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIAotICAgIDIsIDIsIDE3NywgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgCiAgICAgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgCiAgICAgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgCiAgICAgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgCiAgICAgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgCi0gICAgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgNDksIDQ5LCA0OSwgCi0gICAgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgCi0gICAgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCAxNzgsIDQ5LCAxNzksIDIsIDIsIDIsIDIsIDIsIAorICAgIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKKyAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKKyAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgMjAzLCA1MCwgMjA0LCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAKICAgICAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAKICAgICAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAKICAgICAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAKICAgICAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAKKyAgICAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAxOTksIDIsIAogICAgIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIAotICAgIDIsIDIsIDIsIDE3NCwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgCiAgICAgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgCiAgICAgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgCiAgICAgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgCkBAIC01NTExLDcgKzU5NzYsNyBAQAogICAgIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIAogICAgIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIAogICAgIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIAotICAgIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDQ5LCAxODAsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIAorICAgIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDUwLCAyMDUsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIAogICAgIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIAogICAgIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIAogICAgIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIApAQCAtNTU3NSw3ICs2MDQwLDcgQEAKICAgICAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAKICAgICAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAKICAgICAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAKLSAgICAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAKKyAgICAyLCAyLCAyLCAyLCAyLCAyLCAKIH07CiAKIHN0YXRpYyB1bnNpZ25lZCBjaGFyIGNoYW5nZXNfM18yXzBfZGF0YVtdID0gewpAQCAtNTYxMSw3ICs2MDc2LDcgQEAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCAxMCwgMCwgOSwgOSwgMCwgMCwgMCwgOSwgOSwgCi0gICAgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgOSwgMCwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCkBAIC01NjIzLDE2ICs2MDg4LDE2IEBACiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgMCwgMCwgMCwgMTEsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDAsIDksIDksIDksIDksIDksIDksIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIAogICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDksIDAsIDksIDAsIDksIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIAogICAgIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIApAQCAtNTY2MCwxNiArNjEyNSwxNiBAQAogICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDksIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDksIDAsIDAsIDAsIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDAsIDAsIDAsIDAsIDAsIAogICAgIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDAsIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIApAQCAtNTY5NiwxOCArNjE2MSwxOCBAQAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDksIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDAsIDIwLCAwLCAwLCAwLCAwLCAwLCAwLCAyMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgMCwgMCwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCkBAIC01NzE2LDc5NiArNjE4MSwzMTAgQEAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAyMSwgMjEsIDIxLCAyMSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgCi0gICAgMCwgMCwgMCwgMCwgMCwgOSwgMCwgMCwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgMCwgMCwgMCwgCi0gICAgMCwgMCwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgCi0gICAgMCwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgCi0gICAgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjIsIDIzLCAKLSAgICAyNCwgMjUsIDI2LCAyNywgMjgsIDI5LCAzMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMjEsIDIxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzMSwgMzEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDksIDAsIDAsIDAsIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDMyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzMywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDksIDksIDksIDksIDAsIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDksIDAsIDksIDksIDksIAotICAgIDksIDAsIDAsIDAsIDAsIDAsIDAsIDM1LCA0LCAwLCAwLCAzNiwgMzcsIDM4LCAzOSwgNDAsIDQxLCAxLCAxLCAwLCAwLCAwLCAKLSAgICA0LCAzNSwgOCwgNiwgNywgMzYsIDM3LCAzOCwgMzksIDQwLCA0MSwgMSwgMSwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQzLCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0NCwgNDQsIDQ0LCA0NCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgNDUsIDQ2LCAxMSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCAKLSAgICA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCAKLSAgICA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCAwLCAwLCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCAwLCAwLCAwLCAwLCAwLCA5LCAwLCAwLCAwLCAwLCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCA5LCAwLCA5LCAwLCAwLCAwLCAwLCA5LCA5LCA5LCAwLCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCAKLSAgICA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzNCwgMzQsIDM0LCAzNCwgMzQsIAotICAgIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIAotICAgIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIAotICAgIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIAotICAgIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIAotICAgIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIAotICAgIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIAotICAgIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDksIDAsIDAsIDAsIDAsIDAsIDksIDAsIDAsIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDAsIDksIDksIDksIDksIAotICAgIDksIDksIDksIDAsIDksIDksIDksIDksIDksIDksIDksIDAsIDksIDksIDksIDksIDksIDksIDksIDAsIDksIDksIDksIDksIAotICAgIDksIDksIDksIDAsIDksIDksIDksIDksIDksIDksIDksIDAsIDksIDksIDksIDksIDksIDksIDksIDAsIDksIDksIDksIDksIAotICAgIDksIDksIDksIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ4LCA0OCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDAsIDAsIDAsIDAsIDAsIDE5LCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxOSwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTksIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE5LCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAxOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgNTAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE5LCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTEsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAxOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAxOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIAotICAgIDAsIDAsIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDAsIDAsIDksIDksIDksIDksIDksIDksIDAsIDAsIDksIDksIDksIAotICAgIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDAsIDksIDksIDksIDksIAotICAgIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxOSwgCi0gICAgMCwgMCwgMCwgMCwgMTksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxOSwgMCwgMTksIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE5LCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICAzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyMSwgMjEsIDIxLCAyMSwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgMCwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgMCwgMCwgMCwgMCwgMCwgOSwgMCwgMCwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgOSwgOSwgOSwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCiAgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCiAgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgOSwgMCwgMCwgMCwgMCwgMCwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgMCwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMjIsIDIzLCAyNCwgMjUsIDI2LCAyNywgMjgsIDI5LCAzMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjEsIDIxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzMSwgMzEsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDAsIDAsIDAsIDAsIDAsIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAogICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAogICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDAsIDAsIDAsIDEsIDEsIDIxLCAyMSwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMSwgMCwgMSwgMCwgMiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgNDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE0LCAxNCwgMTQsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDAsIDksIDksIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIAorICAgIDksIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIAorICAgIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIAogICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAogICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAogICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAogICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIAogICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDksIDksIDksIDksIDksIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDUzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgOSwgCi0gICAgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgOSwgOSwgCi0gICAgMCwgMCwgMCwgOSwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgMCwgOSwgOSwgMCwgMCwgCi0gICAgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgOSwgOSwgOSwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgOSwgCi0gICAgOSwgOSwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCiAgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCiAgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCiAgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCiAgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgCi0gICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgCiAgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCiAgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDMzLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzNCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgCisgICAgMCwgMCwgMCwgMCwgOSwgMCwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMzUsIDQsIDAsIDAsIDM2LCAzNywgMzgsIAorICAgIDM5LCA0MCwgNDEsIDEsIDEsIDAsIDAsIDAsIDQsIDM1LCA4LCA2LCA3LCAzNiwgMzcsIDM4LCAzOSwgNDAsIDQxLCAxLCAxLCAKKyAgICAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCAKICAgICA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0MiwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDMsIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDQ0LCA0NCwgNDQsIDQ0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0NSwgNDYsIDExLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKICAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKICAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIAorICAgIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIAorICAgIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDcsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDAsIDAsIDksIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDU0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTQsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCA5LCAwLCAwLCAwLCAwLCA5LCA5LCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgMCwgOSwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgCisgICAgMCwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAKKyAgICAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAKKyAgICAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAKKyAgICAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAKKyAgICAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAKKyAgICAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAKKyAgICAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAKKyAgICAzNCwgMzQsIDM0LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAKKyAgICAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCAwLCA5LCAwLCAwLCAwLCAwLCAwLCA5LCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0OCwgNDgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ5LCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCAwLCAKKyAgICAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCA5LCA5LCAwLCA5LCAwLCAwLCA5LCAwLCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCA5LCA5LCA5LCA5LCAwLCA5LCAwLCA5LCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCA5LCAwLCAwLCAwLCAwLCA5LCAwLCA5LCAwLCA5LCAwLCA5LCA5LCA5LCAwLCA5LCA5LCAwLCA5LCAwLCAwLCA5LCAwLCAKLSAgICA5LCAwLCA5LCAwLCA5LCAwLCA5LCAwLCA5LCA5LCAwLCA5LCAwLCAwLCA5LCA5LCA5LCA5LCAwLCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCAwLCA5LCA5LCA5LCA5LCAwLCA5LCA5LCA5LCA5LCAwLCA5LCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAKLSAgICA5LCA5LCA5LCAwLCA5LCA5LCA5LCA5LCA5LCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKICAgICA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCAwLCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCA5LCA5LCA5LCAKLSAgICA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCA5LCAKLSAgICAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCA5LCA5LCA5LCA5LCAwLCAwLCAwLCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKLSAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE5LCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAxOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDE5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxOSwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCA5LCAwLCAwLCAwLCAwLCAwLCAxOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCkBAIC02NTE2LDM4ICs2NDk1LDY1NyBAQAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTksIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDUwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMTksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDE5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDUxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAxOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTksIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDE5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTksIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE5LCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCA1MiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIAorICAgIDksIDksIDksIDAsIDAsIDksIDksIDksIDksIDksIDksIDAsIDAsIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDAsIDksIDksIDksIDksIDksIDksIDksIDAsIDksIDksIDksIDksIAogICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIAorICAgIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIAogICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIAogICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIAotICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxOSwgMCwgMCwgMCwgMCwgMTksIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxOSwgMCwgMTksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICA5LCA5LCA5LCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKICAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKICAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKICAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKICAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0NSwgNDYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDAsIDAsIDAsIDEsIDEsIDIxLCAyMSwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMSwgMCwgMSwgMCwgMiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgNDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE0LCAxNCwgMTQsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDAsIDksIDksIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIAorICAgIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDUzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxOSwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgOSwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgOSwgOSwgMCwgMCwgMCwgOSwgMCwgMCwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgMCwgOSwgOSwgMCwgCisgICAgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgOSwgOSwgOSwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgCisgICAgOSwgOSwgOSwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgCisgICAgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgOSwgMCwgMCwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgMCwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgMCwgMCwgOSwgOSwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgOSwgOSwgMCwgOSwgOSwgOSwgCisgICAgOSwgOSwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgOSwgOSwgMCwgMCwgOSwgOSwgOSwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgCisgICAgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgNTQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU0LCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCAwLCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICAwLCA5LCA5LCAwLCA5LCAwLCAwLCA5LCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCA5LCA5LCA5LCA5LCAKKyAgICAwLCA5LCAwLCA5LCAwLCAwLCAwLCAwLCAwLCAwLCA5LCAwLCAwLCAwLCAwLCA5LCAwLCA5LCAwLCA5LCAwLCA5LCA5LCA5LCAKKyAgICAwLCA5LCA5LCAwLCA5LCAwLCAwLCA5LCAwLCA5LCAwLCA5LCAwLCA5LCAwLCA5LCAwLCA5LCA5LCAwLCA5LCAwLCAwLCA5LCAKKyAgICA5LCA5LCA5LCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCA5LCA5LCA5LCA5LCAwLCA5LCA5LCA5LCA5LCAwLCA5LCAwLCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCAwLCA5LCA5LCA5LCA5LCA5LCAwLCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxOSwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTksIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDE5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTksIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAxOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTksIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDE5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAxOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDE5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxOSwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiB9OwogCiBzdGF0aWMgY29uc3QgY2hhbmdlX3JlY29yZCogZ2V0X2NoYW5nZV8zXzJfMChQeV9VQ1M0IG4pCmRpZmYgLS1naXQgYS9Nb2R1bGVzL3VuaWNvZGVuYW1lX2RiLmggYi9Nb2R1bGVzL3VuaWNvZGVuYW1lX2RiLmgKaW5kZXggN2NjYjEyNi4uZGQwNWY4NSAxMDA2NDQKLS0tIGEvTW9kdWxlcy91bmljb2RlbmFtZV9kYi5oCisrKyBiL01vZHVsZXMvdW5pY29kZW5hbWVfZGIuaApAQCAtNCw3NiArNCw3NSBAQAogCiAvKiBsZXhpY29uICovCiBzdGF0aWMgdW5zaWduZWQgY2hhciBsZXhpY29uW10gPSB7Ci0gICAgNzYsIDY5LCA4NCwgODQsIDY5LCAyMTAsIDg3LCA3MywgODQsIDIwMCwgODMsIDg5LCA3NiwgNzYsIDY1LCA2NiwgNzYsIAotICAgIDE5NywgODMsIDc3LCA2NSwgNzYsIDIwNCwgODMsIDczLCA3MSwgMjA2LCA2NywgNjUsIDgwLCA3MywgODQsIDY1LCAyMDQsIAotICAgIDc2LCA2NSwgODQsIDczLCAyMDYsIDg5LCAyMDEsIDY1LCA4MiwgNjUsIDY2LCA3MywgMTk1LCA2NywgNzQsIDIwMywgNzcsIAorICAgIDc2LCA2OSwgODQsIDg0LCA2OSwgMjEwLCA4NywgNzMsIDg0LCAyMDAsIDgzLCA3MywgNzEsIDIwNiwgODMsIDg5LCA3NiwgCisgICAgNzYsIDY1LCA2NiwgNzYsIDE5NywgODMsIDc3LCA2NSwgNzYsIDIwNCwgNjcsIDY1LCA4MCwgNzMsIDg0LCA2NSwgMjA0LCAKKyAgICA3NiwgNjUsIDg0LCA3MywgMjA2LCA2NSwgODIsIDY1LCA2NiwgNzMsIDE5NSwgODksIDIwMSwgNjcsIDc0LCAyMDMsIDc3LCAKICAgICA2NSwgODQsIDcyLCA2OSwgNzcsIDY1LCA4NCwgNzMsIDY3LCA2NSwgMjA0LCA2OSwgNzEsIDg5LCA4MCwgODQsIDczLCA2NSwgCi0gICAgMjA2LCA3MiwgNzMsIDY5LCA4MiwgNzksIDcxLCA3NiwgODksIDgwLCAyMDAsIDY3LCA3OSwgNzcsIDgwLCA2NSwgODQsIDczLCAKLSAgICA2NiwgNzMsIDc2LCA3MywgODQsIDIxNywgNjcsIDg1LCA3OCwgNjksIDczLCA3MCwgNzksIDgyLCAyMDUsIDgzLCA4OSwgNzcsIAotICAgIDY2LCA3OSwgMjA0LCA3MCwgNzksIDgyLCA3NywgMTI4LCA2NywgNjUsIDc4LCA2NSwgNjgsIDczLCA2NSwgMjA2LCA4MywgCi0gICAgODksIDc2LCA3NiwgNjUsIDY2LCA3MywgNjcsIDIxMSwgNjYsIDY1LCA3NywgODUsIDIwNSwgNjgsIDczLCA3MSwgNzMsIAotICAgIDIxMiwgNjUsIDc4LCAxOTYsIDY2LCA3OSwgNzYsIDE5NiwgNzIsIDY1LCA3OCwgNzEsIDg1LCAyMDQsIDg2LCA3OSwgODcsIAotICAgIDY5LCAyMDQsIDcxLCA4MiwgNjksIDY5LCAyMDMsIDc2LCA3MywgNzEsIDY1LCA4NCwgODUsIDgyLCAxOTcsIDc3LCA4NSwgCi0gICAgODMsIDczLCA2NywgNjUsIDIwNCwgNjksIDg0LCA3MiwgNzMsIDc5LCA4MCwgNzMsIDE5NSwgODQsIDczLCA3NywgNjksIAotICAgIDIxMSwgNzAsIDc5LCAyMTAsIDczLCA4NCwgNjUsIDc2LCA3MywgMTk1LCA2NywgODksIDgyLCA3MywgNzYsIDc2LCA3MywgCi0gICAgMTk1LCA4MiwgNjUsIDY4LCA3MywgNjcsIDY1LCAyMDQsIDgzLCA2NSwgNzgsIDgzLCA0NSwgODMsIDY5LCA4MiwgNzMsIAotICAgIDE5OCwgODQsIDY1LCA3NywgNzMsIDIwNCwgNjcsIDczLCA4MiwgNjcsIDc2LCA2OSwgMTk2LCA2NywgNzksIDc3LCA2NiwgCi0gICAgNzMsIDc4LCA3MywgNzgsIDE5OSwgODQsIDY1LCAyMDEsIDcwLCA3MywgNzgsIDY1LCAyMDQsIDg2LCA2NSwgMjAxLCA4MywgCi0gICAgODEsIDg1LCA2NSwgODIsIDE5NywgNzYsIDY5LCA3MCwgMjEyLCA4MiwgNzMsIDcxLCA3MiwgMjEyLCA4NiwgNjUsIDgyLCAKLSAgICA3MywgNjUsIDg0LCA3MywgNzksIDIwNiwgNjYsIDgyLCA2NSwgNzMsIDc2LCA3NiwgMTk3LCA4MCwgNjUsIDg0LCA4NCwgNjksIAotICAgIDgyLCAyMDYsIDY1LCA2NiwgNzksIDg2LCA2OSwgMTI4LCA2NiwgODksIDkwLCA2NSwgNzgsIDg0LCA3MywgNzgsIDE5NywgCi0gICAgODMsIDczLCA3MSwgNzgsIDEyOCwgNjYsIDY5LCA3NiwgNzksIDg3LCAxMjgsIDY4LCA3OSwgODUsIDY2LCA3NiwgMTk3LCAKLSAgICA3MywgODMsIDc5LCA3NiwgNjUsIDg0LCA2OSwgMTk2LCA3OCwgODUsIDc3LCA2NiwgNjksIDIxMCwgNzUsIDY1LCA4NCwgNjUsIAotICAgIDc1LCA2NSwgNzgsIDE5MywgMTk0LCA3NywgNzksIDY4LCA3MywgNzAsIDczLCA2OSwgMjEwLCA2OCwgNzksIDIxMiwgNzUsIAotICAgIDY1LCA3OCwgNzEsIDg4LCAyMDEsIDY1LCAxMjgsIDc2LCA3MywgNzgsIDY5LCA2NSwgMjEwLCA4NCwgNzMsIDY2LCA2OSwgCi0gICAgODQsIDY1LCAyMDYsIDc5LCAxOTgsIDczLCA3OCwgNzMsIDg0LCA3MywgNjUsIDIwNCwgNzcsIDY5LCA2OSwgMjA1LCA4NiwgCi0gICAgNjksIDgyLCA4NCwgNzMsIDY3LCA2NSwgMjA0LCA3NywgODksIDY1LCA3OCwgNzcsIDY1LCAyMTAsIDg1LCAxMjgsIDc1LCAKLSAgICA3MiwgNzcsIDY5LCAyMTAsIDg3LCA3MiwgNzMsIDg0LCAxOTcsIDY1LCA2NiwgNzksIDg2LCAxOTcsIDY3LCA2NSwgODIsIAotICAgIDgyLCA3MywgNjksIDIxMCwgNzMsIDEyOCwgNjUsIDgyLCA4MiwgNzksIDg3LCAxMjgsIDg5LCA2OSwgMjAwLCA3OSwgMTI4LCAKLSAgICA3NywgNjUsIDgyLCA3NSwgMTI4LCA2NSwgODIsIDgyLCA3OSwgMjE1LCA2NywgNzksIDgwLCA4NCwgNzMsIDE5NSwgODAsIAotICAgIDcyLCA2NSwgODMsIDY5LCA0NSwgMTk3LCA3NywgNzksIDc4LCA3MSwgNzksIDc2LCA3MywgNjUsIDIwNiwgNjgsIDY5LCA4NiwgCi0gICAgNjUsIDc4LCA2NSwgNzEsIDY1LCA4MiwgMjAxLCA2NiwgNzYsIDY1LCA2NywgMjAzLCA4NCwgNzMsIDc2LCAxOTcsIDgzLCAKLSAgICA4OSwgNzcsIDY2LCA3OSwgNzYsIDEyOCwgODAsIDY1LCA4MiwgNjksIDc4LCA4NCwgNzIsIDY5LCA4MywgNzMsIDkwLCA2OSwgCi0gICAgMTk2LCA4NCwgNzIsIDY1LCAyMDUsIDc0LCA3OSwgNzgsIDcxLCA4MywgNjksIDc5LCA3OCwgMTk5LCA4MywgODQsIDgyLCAKLSAgICA3OSwgNzUsIDY5LCAxMjgsIDgzLCA4MSwgODUsIDY1LCA4MiwgNjksIDE5NiwgNjYsIDc5LCAyMTYsIDcyLCA2OSwgNjYsIAotICAgIDgyLCA2OSwgMjE1LCA3NywgNzMsIDY1LCAyMDcsIDgwLCA3NiwgODUsIDIxMSwgODIsIDczLCA3MSwgNzIsIDg0LCA4NywgCi0gICAgNjUsIDgyLCA2OCwgMjExLCA3MSwgNjksIDc5LCA4MiwgNzEsIDczLCA2NSwgMjA2LCA2OCwgODIsIDY1LCA4NywgNzMsIDc4LCAKLSAgICA3MSwgMjExLCA2NywgNzIsIDc5LCA4MywgNjksIDc5LCA3OCwgMTk5LCA3MiwgNjUsIDc2LCA3MCwgODcsIDczLCA2OCwgODQsIAotICAgIDIwMCwgNjYsIDY1LCA3NiwgNzMsIDc4LCA2OSwgODMsIDE5NywgNzIsIDc5LCA3OSwgNzUsIDEyOCwgMjEzLCA4NCwgODcsIAotICAgIDc5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAyMDUsIDgwLCA3MiwgNjUsIDgzLCA2OSwgNDUsIDE5NiwgCi0gICAgNjUsIDc2LCA2NywgNzIsIDY5LCA3NywgNzMsIDY3LCA2NSwgMjA0LCA2NSwgNzYsIDY5LCAxOTgsIDczLCA2OCwgNjksIDc5LCAKLSAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDczLCAxOTUsIDc5LCA3OCwgNjksIDEyOCwgODQsIDc5LCAxMjgsIDg0LCA4NywgMjA3LCAKLSAgICA3MiwgNjksIDY1LCA4NiwgMjE3LCA3OSwgODYsIDY5LCAyMTAsIDY3LCA3OSwgNzgsIDgzLCA3OSwgNzgsIDY1LCA3OCwgCi0gICAgMjEyLCA2NiwgODIsIDY1LCA3MiwgNzcsIDIwMSwgODMsIDY3LCA4MiwgNzMsIDgwLCAyMTIsIDg1LCAyMDgsIDc2LCA3OSwgCi0gICAgMjE1LCA3MiwgNjUsIDIwMCwgNzksIDc4LCAxOTcsIDY4LCA3OSwgODcsIDIwNiwgNzIsIDczLCA3MSwgMjAwLCA3MCwgODUsIAotICAgIDc2LCA3NiwgODcsIDczLCA2OCwgODQsIDIwMCwgNjYsIDgyLCA2NSwgNjcsIDc1LCA2OSwgODQsIDEyOCwgNjksIDgxLCA4NSwgCi0gICAgNjUsIDIwNCwgODQsIDY1LCAxOTksIDY2LCA2NSwgODIsIDEyOCwgNjgsIDc5LCA3NywgNzMsIDc4LCAyMDcsIDc4LCA4NSwgCi0gICAgNzcsIDY5LCA4MiwgNzMsIDE5NSwgNzAsIDgyLCA2NSwgNzUsIDg0LCA4NSwgMjEwLCA4NCwgNzIsIDgyLCA2OSwgMTk3LCAKLSAgICA2NywgNzIsIDY1LCA4MiwgNjUsIDY3LCA4NCwgNjksIDIxMCwgNzcsIDY1LCA3NiwgNjUsIDg5LCA2NSwgNzYsIDY1LCAyMDUsIAotICAgIDgwLCA3MiwgNjUsIDgzLCA2OSwgNDUsIDE5NSwgODQsIDc5LCA3OCwgMTk3LCA2OCwgNzksIDg1LCA2NiwgNzYsIDY5LCA0NSwgCi0gICAgODMsIDg0LCA4MiwgODUsIDY3LCAyMDMsIDc2LCA2OSwgNzAsIDg0LCA4NywgNjUsIDgyLCA2OCwgMjExLCA3MiwgNzMsIDgyLCAKLSAgICA2NSwgNzEsIDY1LCA3OCwgMTkzLCA2NSwgNjcsIDg1LCA4NCwgNjksIDEyOCwgNzQsIDg1LCA3OCwgNzEsIDgzLCA2OSwgNzksIAotICAgIDc4LCAxOTksIDcxLCA3NiwgNjUsIDcxLCA3OSwgNzYsIDczLCA4NCwgNzMsIDE5NSwgNjYsIDY5LCA3OCwgNzEsIDY1LCA3NiwgCi0gICAgMjAxLCA3NywgNjksIDY4LCA3MywgNjUsIDIwNCwgODQsIDY5LCA3NiwgODUsIDcxLCAyMTMsIDg2LCA3OSwgNjcsIDY1LCAKLSAgICA3NiwgNzMsIDE5NSwgNjUsIDgyLCA3NywgNjksIDc4LCA3MywgNjUsIDIwNiwgNzQsIDY5LCA2OSwgMjA1LCA3OCwgNjksIAotICAgIDcxLCA2NSwgODQsIDczLCA4NiwgMTk3LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDIwMCwgNzQsIDY1LCA4NiwgCi0gICAgNjUsIDc4LCA2OSwgODMsIDE5NywgNzksIDgyLCA3MywgODksIDE5MywgODQsIDcyLCA4MiwgNjksIDY5LCAxMjgsIDg3LCAKLSAgICA2OSwgODMsIDg0LCA0NSwgNjcsIDgyLCA2OSwgMTk3LCA3MCwgNzksIDg1LCA4MiwgMTI4LCA3MiwgNjUsIDEyOCwgNzIsIAotICAgIDY1LCA3NiwgMTk4LCA3NywgNjUsIDgyLCAyMDMsIDc1LCA2NSwgNzgsIDc4LCA2NSwgNjgsIDE5MywgNzgsIDY5LCAyMTUsIAotICAgIDgwLCA3MiwgNjUsIDgzLCA2OSwgNDUsIDE5MywgODQsIDcyLCA2NSwgMjAxLCA2NywgNzIsIDY5LCA4MiwgNzksIDc1LCA2OSwgCi0gICAgMTk3LCA2OCwgNzksIDg0LCAyMTEsIDcxLCA4NSwgNzQsIDY1LCA4MiwgNjUsIDg0LCAyMDEsIDY3LCA3MiwgNjUsIDIwNSwgCi0gICAgNzYsIDg1LCAxOTcsIDgzLCA3MiwgNjUsIDgyLCA2NSwgNjgsIDE5MywgODMsIDczLCA3OCwgNzIsIDY1LCA3NiwgMTkzLCAKLSAgICA3NSwgNjUsIDEyOCwgODIsIDg1LCA3OCwgNzMsIDE5NSwgODMsIDY1LCA4NSwgODIsIDY1LCA4MywgNzIsIDg0LCA4MiwgCi0gICAgMTkzLCA4NCwgNjksIDg0LCA4MiwgNjUsIDcxLCA4MiwgNjUsIDIwNSwgNjgsIDY5LCA4MywgNjksIDgyLCA2OSwgMjEyLCAKLSAgICA3MiwgNjUsIDc3LCA5MCwgMTkzLCA4MywgODksIDgyLCA3MywgNjUsIDE5NSwgODQsIDczLCA3NiwgNjgsIDY5LCAxMjgsIAotICAgIDcxLCA4NSwgODIsIDc3LCA4NSwgNzUsIDcyLCAyMDEsIDc3LCA2NSwgMTI4LCA3NywgNjUsIDg5LCA2OSwgMjAzLCA3NywgCi0gICAgNjksIDY5LCA4NCwgNjksIDIwMSwgNzgsIDc5LCA4NCwgNjUsIDg0LCA3MywgNzksIDIwNiwgNzAsIDczLCA4NiwgNjksIAotICAgIDEyOCwgODAsIDY1LCAxMjgsIDg5LCA2NSwgMTI4LCA3NiwgNzMsIDcxLCA3MiwgMjEyLCA4MywgNzMsIDg4LCAxMjgsIDY5LCAKLSAgICA3MywgNzEsIDcyLCA4NCwgMTI4LCA3NiwgNjksIDgwLCA2NywgNzIsIDE5MywgNzgsIDY1LCAxMjgsIDgzLCA2OSwgODYsIAotICAgIDY5LCA3OCwgMTI4LCA3NiwgNzksIDc4LCAxOTksIDc4LCA3MywgNzgsIDY5LCAxMjgsIDg0LCA4NSwgODIsIDc1LCA3MywgCi0gICAgMTk1LCA3MiwgNzksIDgyLCA3MywgOTAsIDc5LCA3OCwgODQsIDY1LCAyMDQsIDc5LCA4MCwgNjksIDIwNiwgODIsIDY1LCAKLSAgICAxMjgsIDgzLCA2NSwgMTI4LCA4MywgODUsIDc4LCA2OCwgNjUsIDc4LCA2OSwgODMsIDE5NywgODYsIDczLCA2OSwgMjEyLCAKLSAgICA3NiwgNjUsIDIwNywgOTAsIDkwLCA4OSwgODgsIDEyOCwgOTAsIDkwLCA4OSwgODQsIDEyOCwgOTAsIDkwLCA4OSwgODIsIAorICAgIDIwNiwgNzIsIDczLCA2OSwgODIsIDc5LCA3MSwgNzYsIDg5LCA4MCwgMjAwLCA2NywgODUsIDc4LCA2OSwgNzMsIDcwLCA3OSwgCisgICAgODIsIDIwNSwgNjcsIDc5LCA3NywgODAsIDY1LCA4NCwgNzMsIDY2LCA3MywgNzYsIDczLCA4NCwgMjE3LCA4MywgODksIDc3LCAKKyAgICA2NiwgNzksIDIwNCwgNzAsIDc5LCA4MiwgNzcsIDEyOCwgNjgsIDczLCA3MSwgNzMsIDIxMiwgNjcsIDY1LCA3OCwgNjUsIAorICAgIDY4LCA3MywgNjUsIDIwNiwgODMsIDg5LCA3NiwgNzYsIDY1LCA2NiwgNzMsIDY3LCAyMTEsIDY2LCA2NSwgNzcsIDg1LCAKKyAgICAyMDUsIDg2LCA3OSwgODcsIDY5LCAyMDQsIDY1LCA3OCwgMTk2LCA2NiwgNzksIDc2LCAxOTYsIDcyLCA2NSwgNzgsIDcxLCAKKyAgICA4NSwgMjA0LCA3NiwgNzMsIDc4LCA2OSwgNjUsIDIxMCwgNzEsIDgyLCA2OSwgNjksIDIwMywgNzYsIDczLCA3MSwgNjUsIAorICAgIDg0LCA4NSwgODIsIDE5NywgODQsIDczLCA3NywgNjksIDIxMSwgNzcsIDg1LCA4MywgNzMsIDY3LCA2NSwgMjA0LCA2OSwgCisgICAgODQsIDcyLCA3MywgNzksIDgwLCA3MywgMTk1LCAxOTMsIDcwLCA3OSwgMjEwLCA2NywgODksIDgyLCA3MywgNzYsIDc2LCAKKyAgICA3MywgMTk1LCA3MywgODQsIDY1LCA3NiwgNzMsIDE5NSwgNjcsIDc5LCA3NywgNjYsIDczLCA3OCwgNzMsIDc4LCAxOTksIAorICAgIDgyLCA2NSwgNjgsIDczLCA2NywgNjUsIDIwNCwgODMsIDY1LCA3OCwgODMsIDQ1LCA4MywgNjksIDgyLCA3MywgMTk4LCA2NywgCisgICAgNzMsIDgyLCA2NywgNzYsIDY5LCAxOTYsIDg0LCA2NSwgNzcsIDczLCAyMDQsIDg0LCA2NSwgMjAxLCA3MCwgNzMsIDc4LCAKKyAgICA2NSwgMjA0LCA3OCwgODUsIDc3LCA2NiwgNjksIDIxMCwgNjUsIDgyLCA4MiwgNzksIDg3LCAxMjgsIDg2LCA2NSwgMjAxLCAKKyAgICA3NiwgNjksIDcwLCAyMTIsIDgyLCA3MywgNzEsIDcyLCAyMTIsIDgzLCA4MSwgODUsIDY1LCA4MiwgMTk3LCA2OCwgNzksIAorICAgIDg1LCA2NiwgNzYsIDE5NywgNjUsIDgyLCA4MiwgNzksIDIxNSwgNjUsIDY2LCA3OSwgODYsIDY5LCAxMjgsIDgzLCA3MywgCisgICAgNzEsIDc4LCAxMjgsIDg2LCA2NSwgODIsIDczLCA2NSwgODQsIDczLCA3OSwgMjA2LCA2NiwgNjksIDc2LCA3OSwgODcsIAorICAgIDEyOCwgNjYsIDgyLCA2NSwgNzMsIDc2LCA3NiwgMTk3LCA4MCwgNjUsIDg0LCA4NCwgNjksIDgyLCAyMDYsIDY2LCA4OSwgCisgICAgOTAsIDY1LCA3OCwgODQsIDczLCA3OCwgMTk3LCA4NywgNzIsIDczLCA4NCwgMTk3LCA2NiwgNzYsIDY1LCA2NywgMjAzLCAKKyAgICA3MywgODMsIDc5LCA3NiwgNjUsIDg0LCA2OSwgMTk2LCA2NSwgMTI4LCAxOTQsIDc1LCA2NSwgODQsIDY1LCA3NSwgNjUsIAorICAgIDc4LCAxOTMsIDc3LCA3OSwgNjgsIDczLCA3MCwgNzMsIDY5LCAyMTAsIDc3LCA4OSwgNjUsIDc4LCA3NywgNjUsIDIxMCwgCisgICAgNjgsIDc5LCAyMTIsIDc1LCA2NSwgNzgsIDcxLCA4OCwgMjAxLCA3NSwgNzMsIDc1LCA2NSwgNzUsIDg1LCAyMDEsIDc3LCAKKyAgICA2OSwgNzgsIDY4LCAxOTcsIDg1LCAxMjgsIDg0LCA3MywgNjYsIDY5LCA4NCwgNjUsIDIwNiwgNzksIDE5OCwgNzMsIDEyOCwgCisgICAgNzksIDEyOCwgNzIsIDY5LCA2NSwgODYsIDIxNywgNzMsIDc4LCA3MywgODQsIDczLCA2NSwgMjA0LCA4NiwgNjksIDgyLCAKKyAgICA4NCwgNzMsIDY3LCA2NSwgMjA0LCA3NywgNjksIDY5LCAyMDUsIDY3LCA3OSwgODAsIDg0LCA3MywgMTk1LCA3NSwgNzIsIAorICAgIDc3LCA2OSwgMjEwLCA3NywgNjUsIDgyLCA3NSwgMTI4LCA2NSwgNjYsIDc5LCA4NiwgMTk3LCA2NywgNjUsIDgyLCA4MiwgCisgICAgNzMsIDY5LCAyMTAsIDgyLCA3MywgNzEsIDcyLCA4NCwgODcsIDY1LCA4MiwgNjgsIDIxMSwgODksIDY5LCAyMDAsIDgwLCAKKyAgICA3MiwgNjUsIDgzLCA2OSwgNDUsIDE5NywgNjgsIDY5LCA4NiwgNjUsIDc4LCA2NSwgNzEsIDY1LCA4MiwgMjAxLCA3NywgNzksIAorICAgIDc4LCA3MSwgNzksIDc2LCA3MywgNjUsIDIwNiwgODMsIDg0LCA4MiwgNzksIDc1LCA2OSwgMTI4LCA3NiwgNjksIDcwLCA4NCwgCisgICAgODcsIDY1LCA4MiwgNjgsIDIxMSwgODMsIDg5LCA3NywgNjYsIDc5LCA3NiwgMTI4LCA4NCwgNzMsIDc2LCAxOTcsIDY4LCAKKyAgICA4NSwgODAsIDc2LCA3OSwgODksIDY1LCAyMDYsIDY2LCA3OSwgMjE2LCA4MCwgNjUsIDgyLCA2OSwgNzgsIDg0LCA3MiwgNjksIAorICAgIDgzLCA3MywgOTAsIDY5LCAxOTYsIDgzLCA4MSwgODUsIDY1LCA4MiwgNjksIDE5NiwgODQsIDcyLCA2NSwgMjA1LCA3NCwgCisgICAgNzksIDc4LCA3MSwgODMsIDY5LCA3OSwgNzgsIDE5OSwgODAsIDc2LCA4NSwgMjExLCA3OSwgNzgsIDY5LCAxMjgsIDcyLCAKKyAgICA2OSwgNjYsIDgyLCA2OSwgMjE1LCA3NywgNzMsIDY1LCAyMDcsIDg0LCA4NywgNzksIDEyOCwgMjEzLCA2NywgNzksIDc4LCAKKyAgICA4MywgNzksIDc4LCA2NSwgNzgsIDIxMiwgNzEsIDY5LCA3OSwgODIsIDcxLCA3MywgNjUsIDIwNiwgNzIsIDc5LCA3OSwgNzUsIAorICAgIDEyOCwgNjgsIDgyLCA2NSwgODcsIDczLCA3OCwgNzEsIDIxMSwgNzIsIDc3LCA3OSwgNzgsIDE5OSwgODAsIDY1LCA3MiwgCisgICAgNjUsIDg3LCAyMDAsIDY3LCA3MiwgNzksIDgzLCA2OSwgNzksIDc4LCAxOTksIDc2LCA3OSwgMjE1LCA4NiwgNzksIDY3LCAKKyAgICA2NSwgNzYsIDczLCAxOTUsIDcyLCA2NSwgNzYsIDcwLCA4NywgNzMsIDY4LCA4NCwgMjAwLCA2NiwgNjUsIDc2LCA3MywgNzgsIAorICAgIDY5LCA4MywgMTk3LCA4NCwgODcsIDIwNywgNzksIDc4LCAxOTcsIDg1LCAyMDgsIDgzLCA2NywgODIsIDczLCA4MCwgMjEyLCAKKyAgICA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgMjA1LCA4MCwgNzIsIDY1LCA4MywgNjksIDQ1LCAxOTYsIDg0LCA3OSwgCisgICAgMTI4LCA2NSwgNzYsIDY3LCA3MiwgNjksIDc3LCA3MywgNjcsIDY1LCAyMDQsIDY1LCA3NiwgNjksIDE5OCwgNzIsIDczLCAKKyAgICA3MSwgMjAwLCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA3MywgMTk1LCA4NCwgNzIsIDgyLCA2OSwgCisgICAgMTk3LCA2OCwgNzksIDg3LCAyMDYsIDc5LCA4NiwgNjksIDIxMCwgODMsIDczLCA3OCwgNzIsIDY1LCA3NiwgMTkzLCA3OCwgCisgICAgODUsIDc3LCA2OSwgODIsIDczLCAxOTUsIDY2LCA2NSwgODIsIDEyOCwgODQsIDc5LCA3OCwgMTk3LCA2NiwgODIsIDY1LCAKKyAgICA3MiwgNzcsIDIwMSwgNjYsIDY1LCA4MiwgMTk0LCA3MCwgNzksIDg1LCA4MiwgMTI4LCA3MiwgNjUsIDIwMCwgNzcsIDY1LCAKKyAgICA4MiwgMjAzLCA4NCwgNzIsIDgyLCA2OSwgNjksIDEyOCwgNzgsIDc5LCA4MiwgODQsIDIwMCwgNzAsIDg1LCA3NiwgNzYsIAorICAgIDg3LCA3MywgNjgsIDg0LCAyMDAsIDY2LCA4MiwgNjUsIDY3LCA3NSwgNjksIDg0LCAxMjgsIDY5LCA4MSwgODUsIDY1LCAKKyAgICAyMDQsIDc2LCA3MywgNzEsIDcyLCAyMTIsIDg0LCA2NSwgMTk5LCA2OCwgNzksIDc3LCA3MywgNzgsIDIwNywgNzYsIDc5LCAKKyAgICA3OCwgMTk5LCA2NSwgNjcsIDg1LCA4NCwgNjksIDEyOCwgNzAsIDgyLCA2NSwgNzUsIDg0LCA4NSwgMjEwLCA3MiwgNjUsIAorICAgIDEyOCwgNzcsIDY1LCA3NiwgNjUsIDg5LCA2NSwgNzYsIDY1LCAyMDUsIDY3LCA3MiwgNjUsIDgyLCA2NSwgNjcsIDg0LCA2OSwgCisgICAgMjEwLCA4MCwgNzIsIDY1LCA4MywgNjksIDQ1LCAxOTUsIDY4LCA3OSwgODUsIDY2LCA3NiwgNjksIDQ1LCA4MywgODQsIDgyLCAKKyAgICA4NSwgNjcsIDIwMywgNzIsIDY1LCA3NiwgMTk4LCA3MiwgNzMsIDgyLCA2NSwgNzEsIDY1LCA3OCwgMTkzLCA3NCwgODUsIAorICAgIDc4LCA3MSwgODMsIDY5LCA3OSwgNzgsIDE5OSwgODQsIDY5LCA3NiwgODUsIDcxLCAyMTMsIDY1LCA4MiwgNzcsIDY5LCA3OCwgCisgICAgNzMsIDY1LCAyMDYsIDY2LCA2OSwgNzgsIDcxLCA2NSwgNzYsIDIwMSwgNzEsIDc2LCA2NSwgNzEsIDc5LCA3NiwgNzMsIDg0LCAKKyAgICA3MywgMTk1LCA4NSwgODAsIDg3LCA2NSwgODIsIDY4LCAyMTEsIDcwLCA3MywgODYsIDY5LCAxMjgsIDc3LCA2OSwgNjgsIAorICAgIDczLCA2NSwgMjA0LCA3OCwgNjksIDcxLCA2NSwgODQsIDczLCA4NiwgMTk3LCA3NCwgNjksIDY5LCAyMDUsIDc1LCA2NSwgCisgICAgMTI4LCA2OCwgNzksIDg3LCA3OCwgODcsIDY1LCA4MiwgNjgsIDIxMSwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCAKKyAgICAyMDAsIDc0LCA2NSwgODYsIDY1LCA3OCwgNjksIDgzLCAxOTcsIDY4LCA3OSwgODQsIDIxMSwgNzksIDgyLCA3MywgODksIAorICAgIDE5MywgODAsIDY1LCAxMjgsIDg3LCA2OSwgODMsIDg0LCA0NSwgNjcsIDgyLCA2OSwgMTk3LCA4MiwgODUsIDc4LCA3MywgCisgICAgMTk1LCA4MywgMTI4LCA3NSwgNjUsIDc4LCA3OCwgNjUsIDY4LCAxOTMsIDgzLCA3MywgODgsIDEyOCwgNzcsIDY1LCAxMjgsIAorICAgIDc4LCA2OSwgMjE1LCA4MCwgNzIsIDY1LCA4MywgNjksIDQ1LCAxOTMsIDgzLCA3OSwgODUsIDg0LCAyMDAsIDg0LCA3MiwgCisgICAgNjUsIDIwMSwgODksIDY1LCAxMjgsIDY3LCA2NSwgODIsIDE5NiwgNjcsIDcyLCA2OSwgODIsIDc5LCA3NSwgNjksIDE5NywgCisgICAgNjksIDczLCA3MSwgNzIsIDg0LCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDIwNCwgODMsIDY5LCAKKyAgICA4NiwgNjksIDc4LCAxMjgsIDgzLCA3MiwgNjUsIDgyLCA2NSwgNjgsIDE5MywgNjcsIDczLCA4NCwgMjAxLCA3MSwgODUsIAorICAgIDc0LCA2NSwgODIsIDY1LCA4NCwgMjAxLCA3OCwgNjUsIDEyOCwgNzgsIDczLCA3OCwgNjksIDEyOCwgODQsIDg1LCA4MiwgCisgICAgNzgsIDY5LCAxOTYsIDg3LCA2NSwgODIsIDY1LCA3OCwgMTk5LCA2NywgNzIsIDY1LCAyMDUsIDcxLCA4MiwgNjUsIDc4LCAKKyAgICA4NCwgNzIsIDE5MywgOTAsIDkwLCA4OSwgODgsIDEyOCwgOTAsIDkwLCA4OSwgODQsIDEyOCwgOTAsIDkwLCA4OSwgODIsIAogICAgIDg4LCAxMjgsIDkwLCA5MCwgODksIDgyLCAxMjgsIDkwLCA5MCwgODksIDgwLCAxMjgsIDkwLCA5MCwgODksIDY1LCAxMjgsIAogICAgIDkwLCA5MCwgODksIDEyOCwgOTAsIDkwLCA4NSwgODgsIDEyOCwgOTAsIDkwLCA4NSwgODIsIDg4LCAxMjgsIDkwLCA5MCwgCiAgICAgODUsIDgyLCAxMjgsIDkwLCA5MCwgODUsIDgwLCAxMjgsIDkwLCA5MCwgODUsIDEyOCwgOTAsIDkwLCA4MywgODksIDY1LCAKQEAgLTg0LDE4MSArODMsMTkyIEBACiAgICAgOTAsIDY5LCA4MCwgMTI4LCA5MCwgOTAsIDY5LCA2OSwgMTI4LCA5MCwgOTAsIDY5LCAxMjgsIDkwLCA5MCwgNjUsIDg4LCAKICAgICAxMjgsIDkwLCA5MCwgNjUsIDg0LCAxMjgsIDkwLCA5MCwgNjUsIDgwLCAxMjgsIDkwLCA5MCwgNjUsIDY1LCAxMjgsIDkwLCAKICAgICA5MCwgNjUsIDEyOCwgOTAsIDg5LCA3MSwgNzksIDgzLCAxMjgsIDkwLCA4NywgODMsIDgwLCAxMjgsIDkwLCA4NywgNzgsIAotICAgIDc0LCAxMjgsIDkwLCA4NywgNzgsIDY2LCA4MywgODAsIDEyOCwgOTAsIDg3LCA3NCwgMTI4LCA5MCwgODcsIDY1LCA4MiwgCi0gICAgNjUsIDc1LCA2NSwgODksIDEyOCwgOTAsIDg3LCA2NSwgMTI4LCA5MCwgODUsIDg0LCAxMjgsIDkwLCA4NSwgNzksIDg4LCAKLSAgICAxMjgsIDkwLCA4NSwgNzksIDgwLCAxMjgsIDkwLCA4NSwgNzksIDEyOCwgOTAsIDg1LCA3NywgMTI4LCA5MCwgODUsIDY2LCAKLSAgICA4NSwgODIsIDEyOCwgOTAsIDg1LCA1MywgMTI4LCA5MCwgODUsIDE4MSwgOTAsIDgzLCA3MiwgNjUsIDEyOCwgOTAsIDgyLCAKLSAgICA2NSwgMTI4LCA5MCwgODEsIDY1LCA4MCwgNzIsIDE5MywgOTAsIDc5LCA4NCwgMTI4LCA5MCwgNzksIDc5LCAxMjgsIDkwLCAKLSAgICA3OSwgNjUsIDEyOCwgOTAsIDc2LCA2NSwgNzcsIDE5MywgOTAsIDc2LCA2NSwgMTI4LCA5MCwgNzYsIDE5MywgOTAsIDc0LCAKLSAgICA2OSwgMTI4LCA5MCwgNzMsIDkwLCA1MCwgMTI4LCA5MCwgNzMsIDgxLCA2NSwgNjUsIDEyOCwgOTAsIDczLCA3OCwgNzksIAotICAgIDgyLCAxMjgsIDkwLCA3MywgNzYsIDY4LCA2OSwgMTI4LCA5MCwgNzMsIDcxLCA5MCwgNjUsIDE5OSwgOTAsIDczLCA3MSwgCi0gICAgMTI4LCA5MCwgNzMsIDY4LCAxOTMsIDkwLCA3MywgNjYsIDEyOCwgOTAsIDczLCAxOTQsIDkwLCA3MywgNTEsIDEyOCwgOTAsIAotICAgIDIwMSwgOTAsIDcyLCA4OSwgODgsIDEyOCwgOTAsIDcyLCA4OSwgODQsIDEyOCwgOTAsIDcyLCA4OSwgODIsIDg4LCAxMjgsIAotICAgIDkwLCA3MiwgODksIDgyLCAxMjgsIDkwLCA3MiwgODksIDgwLCAxMjgsIDkwLCA3MiwgODksIDEyOCwgOTAsIDcyLCA4NywgCi0gICAgNjksIDEyOCwgOTAsIDcyLCA4NywgNjUsIDEyOCwgOTAsIDcyLCA4NSwgODgsIDEyOCwgOTAsIDcyLCA4NSwgODQsIDEyOCwgCi0gICAgOTAsIDcyLCA4NSwgODIsIDg4LCAxMjgsIDkwLCA3MiwgODUsIDgyLCAxMjgsIDkwLCA3MiwgODUsIDgwLCAxMjgsIDkwLCAKLSAgICA3MiwgODUsIDc5LCA4OCwgMTI4LCA5MCwgNzIsIDg1LCA3OSwgODAsIDEyOCwgOTAsIDcyLCA4NSwgNzksIDEyOCwgOTAsIAotICAgIDcyLCA4NSwgMTI4LCA5MCwgNzIsIDc5LCA4OCwgMTI4LCA5MCwgNzIsIDc5LCA4NCwgMTI4LCA5MCwgNzIsIDc5LCA4MCwgCi0gICAgMTI4LCA5MCwgNzIsIDc5LCA3OSwgMTI4LCA5MCwgNzIsIDc5LCAxMjgsIDkwLCA3MiwgNzMsIDg2LCA2OSwgODQsIDY5LCAKLSAgICAxMjgsIDkwLCA3MiwgNzMsIDEyOCwgOTAsIDcyLCA2OSwgODgsIDEyOCwgOTAsIDcyLCA2OSwgODQsIDEyOCwgOTAsIDcyLCAKLSAgICA2OSwgODAsIDEyOCwgOTAsIDcyLCA2OSwgNjksIDEyOCwgOTAsIDcyLCA2OSwgMTI4LCA5MCwgNzIsIDE5NywgOTAsIDcyLCAKLSAgICA2NSwgODgsIDEyOCwgOTAsIDcyLCA2NSwgODQsIDEyOCwgOTAsIDcyLCA2NSwgODIsIDEyOCwgOTAsIDcyLCA2NSwgODAsIAotICAgIDEyOCwgOTAsIDcyLCA2NSwgNzMsIDc4LCAxMjgsIDkwLCA3MiwgNjUsIDY1LCAxMjgsIDkwLCA3MiwgNjUsIDEyOCwgOTAsIAotICAgIDcyLCAxMjgsIDkwLCA2OSwgODQsIDY1LCAxMjgsIDkwLCA2OSwgODIsIDc5LCAxMjgsIDkwLCA2OSwgODIsIDIwNywgOTAsIAotICAgIDY5LCA3OCwgMTI4LCA5MCwgNjksIDc3LCA3NiwgODksIDY1LCAxMjgsIDkwLCA2OSwgNzcsIDc2LCA3NCwgNjUsIDEyOCwgCi0gICAgOTAsIDY5LCA1MCwgMTI4LCA5MCwgMTk3LCA5MCwgNjUsIDg5LCA3OCwgMTI4LCA5MCwgNjUsIDg5LCA3MywgNzgsIDEyOCwgCi0gICAgOTAsIDY1LCA4OSwgNzMsIDIwNiwgOTAsIDY1LCA4NiwgNzMsIDg5LCA2NSwgNzgsIDczLCAxMjgsIDkwLCA2NSwgODQsIDY1LCAKLSAgICAxMjgsIDkwLCA2NSwgODIsIDgxLCA2NSwgMTI4LCA5MCwgNjUsIDgxLCA2OSwgMTk4LCA5MCwgNjUsIDc3LCA4OCwgMTI4LCAKLSAgICA5MCwgNjUsIDIwNCwgOTAsIDY1LCA3MywgNzgsIDEyOCwgOTAsIDY1LCA3MywgMjA2LCA5MCwgNjUsIDczLCAxMjgsIDkwLCAKLSAgICA2NSwgNzIsIDEyOCwgOTAsIDY1LCAyMDAsIDkwLCA2NSwgNzEsIDEyOCwgOTAsIDY1LCA2OSwgNzAsIDEyOCwgOTAsIDQ4LCAKLSAgICA0OSwgNTQsIDcyLCAxMjgsIDkwLCA0OCwgNDksIDU0LCA3MSwgMTI4LCA5MCwgNDgsIDQ5LCA1NCwgNzAsIDEyOCwgOTAsIAotICAgIDQ4LCA0OSwgNTQsIDY5LCAxMjgsIDkwLCA0OCwgNDksIDU0LCA2OCwgMTI4LCA5MCwgNDgsIDQ5LCA1NCwgNjcsIDEyOCwgCi0gICAgOTAsIDQ4LCA0OSwgNTQsIDY2LCAxMjgsIDkwLCA0OCwgNDksIDU0LCA2NSwgMTI4LCA5MCwgNDgsIDQ5LCA1NCwgMTI4LCAKLSAgICA5MCwgNDgsIDQ5LCA1MywgNzMsIDEyOCwgOTAsIDQ4LCA0OSwgNTMsIDcyLCAxMjgsIDkwLCA0OCwgNDksIDUzLCA3MSwgCi0gICAgMTI4LCA5MCwgNDgsIDQ5LCA1MywgNzAsIDEyOCwgOTAsIDQ4LCA0OSwgNTMsIDY5LCAxMjgsIDkwLCA0OCwgNDksIDUzLCAKLSAgICA2OCwgMTI4LCA5MCwgNDgsIDQ5LCA1MywgNjcsIDEyOCwgOTAsIDQ4LCA0OSwgNTMsIDY2LCAxMjgsIDkwLCA0OCwgNDksIAotICAgIDUzLCA2NSwgMTI4LCA5MCwgNDgsIDQ5LCA1MywgMTI4LCA5MCwgNDgsIDQ5LCA1MiwgMTI4LCA5MCwgNDgsIDQ5LCA1MSwgCi0gICAgMTI4LCA5MCwgNDgsIDQ5LCA1MCwgMTI4LCA5MCwgNDgsIDQ5LCA0OSwgMTI4LCA5MCwgNDgsIDQ5LCA0OCwgMTI4LCA5MCwgCi0gICAgNDgsIDQ4LCA1NywgMTI4LCA5MCwgNDgsIDQ4LCA1NiwgMTI4LCA5MCwgNDgsIDQ4LCA1NSwgMTI4LCA5MCwgNDgsIDQ4LCAKLSAgICA1NCwgMTI4LCA5MCwgNDgsIDQ4LCA1MywgNjUsIDEyOCwgOTAsIDQ4LCA0OCwgNTMsIDEyOCwgOTAsIDQ4LCA0OCwgNTIsIAotICAgIDY1LCAxMjgsIDkwLCA0OCwgNDgsIDUyLCAxMjgsIDkwLCA0OCwgNDgsIDUxLCA2NiwgMTI4LCA5MCwgNDgsIDQ4LCA1MSwgCi0gICAgNjUsIDEyOCwgOTAsIDQ4LCA0OCwgNTEsIDEyOCwgOTAsIDQ4LCA0OCwgNTAsIDY4LCAxMjgsIDkwLCA0OCwgNDgsIDUwLCAKLSAgICA2NywgMTI4LCA5MCwgNDgsIDQ4LCA1MCwgNjYsIDEyOCwgOTAsIDQ4LCA0OCwgNTAsIDY1LCAxMjgsIDkwLCA0OCwgNDgsIAotICAgIDUwLCAxMjgsIDkwLCA0OCwgNDgsIDQ5LCAxMjgsIDkwLCAxMjgsIDIxOCwgODksIDg5LCA4OCwgMTI4LCA4OSwgODksIDg0LCAKLSAgICAxMjgsIDg5LCA4OSwgODIsIDg4LCAxMjgsIDg5LCA4OSwgODIsIDEyOCwgODksIDg5LCA4MCwgMTI4LCA4OSwgODksIDY5LCAKLSAgICAxMjgsIDg5LCA4OSwgNjUsIDY1LCAxMjgsIDg5LCA4OSwgNjUsIDEyOCwgODksIDg5LCAxMjgsIDg5LCA4NywgNzksIDc5LCAKLSAgICAxMjgsIDg5LCA4NywgNzksIDEyOCwgODksIDg3LCA3MywgNzMsIDEyOCwgODksIDg3LCA3MywgMTI4LCA4OSwgODcsIDY5LCAKLSAgICAxMjgsIDg5LCA4NywgNjUsIDY1LCAxMjgsIDg5LCA4NywgNjUsIDEyOCwgODksIDg2LCAxMjgsIDg5LCA4NSwgODgsIDEyOCwgCi0gICAgODksIDg1LCA4NywgNzksIDgxLCAxMjgsIDg5LCA4NSwgODUsIDc1LCA2NSwgNzYsIDY5LCA2NSwgODAsIDczLCA3OCwgODQsIAotICAgIDg1LCAxMjgsIDg5LCA4NSwgODUsIDEyOCwgODksIDg1LCA4NCwgMTI4LCA4OSwgODUsIDgzLCAxMjgsIDg5LCA4NSwgMjExLCAKLSAgICA4OSwgODUsIDgyLCA4OCwgMTI4LCA4OSwgODUsIDgyLCAxMjgsIDg5LCA4NSwgODEsIDEyOCwgODksIDg1LCAyMDksIDg5LCAKLSAgICA4NSwgODAsIDEyOCwgODksIDg1LCA3OSwgODgsIDEyOCwgODksIDg1LCA3OSwgODQsIDEyOCwgODksIDg1LCA3OSwgODAsIAotICAgIDEyOCwgODksIDg1LCA3OSwgNzcsIDEyOCwgODksIDg1LCA3OSwgMTI4LCA4OSwgODUsIDc4LCAxMjgsIDg5LCA4NSwgNzcsIAotICAgIDEyOCwgODksIDg1LCA2OSwgODEsIDEyOCwgODksIDg1LCA2OSwgMTI4LCA4OSwgODUsIDY4LCA3MiwgMTI4LCA4OSwgODUsIAotICAgIDY4LCAyMDAsIDg5LCA4NSwgNjUsIDc4LCAxMjgsIDg5LCA4NSwgNjUsIDY5LCA3OCwgMTI4LCA4OSwgODUsIDQ1LCA4OSwgCi0gICAgNjksIDc5LCAxMjgsIDg5LCA4NSwgNDUsIDg5LCA2OSwgMTI4LCA4OSwgODUsIDQ1LCA4NSwgMTI4LCA4OSwgODUsIDQ1LCAKLSAgICA3OSwgMTI4LCA4OSwgODUsIDQ1LCA3MywgMTI4LCA4OSwgODUsIDQ1LCA2OSwgNzksIDEyOCwgODksIDg1LCA0NSwgNjksIAotICAgIDEyOCwgODksIDg1LCA0NSwgNjUsIDY5LCAxMjgsIDg5LCA4NSwgNDUsIDY1LCAxMjgsIDg5LCA4NSwgMTI4LCA4OSwgMjEzLCAKLSAgICA4OSwgODAsIDgzLCA3MywgNzYsIDczLCAxMjgsIDg5LCA4MCwgNzksIDgyLCA4MiwgNzksIDczLCAxMjgsIDg5LCA4MCwgNzksIAotICAgIDc1LCA4MiwgNzMsIDgzLCA3MywgODMsIDEyOCwgODksIDgwLCA3OSwgNzUsIDgyLCA3MywgODMsIDczLCAyMTEsIDg5LCA4MCwgCi0gICAgNzksIDcxLCA2OSwgNzEsIDgyLCA2NSwgNzcsIDc3LCA2OSwgNzgsIDczLCAxMjgsIDg5LCA3OSwgODksIDEyOCwgODksIDc5LCAKLSAgICA4OCwgMTI4LCA4OSwgNzksIDg1LCA4NCwgNzIsIDcwLCA4NSwgNzYsIDc4LCA2OSwgODMsIDgzLCAxMjgsIDg5LCA3OSwgODUsIAotICAgIDg0LCA3MiwgNzAsIDg1LCAyMDQsIDg5LCA3OSwgODQsIDEyOCwgODksIDc5LCA4MiwgNzMsIDEyOCwgODksIDc5LCA4MSwgCi0gICAgMTI4LCA4OSwgNzksIDIwOSwgODksIDc5LCA4MCwgMTI4LCA4OSwgNzksIDc5LCAxMjgsIDg5LCA3OSwgNzcsIDc5LCAxMjgsIAotICAgIDg5LCA3OSwgNzEsIDcyLCAxMjgsIDg5LCA3OSwgNjgsIDcyLCAxMjgsIDg5LCA3OSwgNjgsIDEyOCwgODksIDc5LCAxOTYsIAotICAgIDg5LCA3OSwgNjUsIDEyOCwgODksIDc5LCA0NSwgODksIDY5LCA3OSwgMTI4LCA4OSwgNzksIDQ1LCA4OSwgNjUsIDY5LCAKLSAgICAxMjgsIDg5LCA3OSwgNDUsIDg5LCA2NSwgMTI4LCA4OSwgNzksIDQ1LCA3OSwgMTI4LCA4OSwgNzksIDQ1LCA3MywgMTI4LCAKLSAgICA4OSwgNzksIDQ1LCA2OSwgNzksIDEyOCwgODksIDc5LCA0NSwgNjUsIDY5LCAxMjgsIDg5LCA3OSwgNDUsIDY1LCAxMjgsIAotICAgIDg5LCA3OSwgMTI4LCA4OSwgMjA3LCA4OSwgNzMsIDkwLCA2OSwgODQsIDEyOCwgODksIDczLCA4OCwgMTI4LCA4OSwgNzMsIAotICAgIDg3LCA3OCwgMTI4LCA4OSwgNzMsIDg0LCAxMjgsIDg5LCA3MywgODAsIDEyOCwgODksIDczLCA3OCwgNzEsIDEyOCwgODksIAotICAgIDczLCA3MywgMTI4LCA4OSwgNzMsIDE5OSwgODksIDczLCA2OSwgODgsIDEyOCwgODksIDczLCA2OSwgODQsIDEyOCwgODksIAotICAgIDczLCA2OSwgODAsIDEyOCwgODksIDczLCA2OSwgNjksIDEyOCwgODksIDczLCA2OSwgMTI4LCA4OSwgNzMsIDY4LCA2OCwgCi0gICAgNzMsIDgzLCAyMDAsIDg5LCA3MywgNDUsIDg1LCAxMjgsIDg5LCA3MywgMTI4LCA4OSwgNzAsIDY5LCA4MywgNzMsIDgzLCAKLSAgICAxMjgsIDg5LCA3MCwgNjksIDgzLCA3MywgMjExLCA4OSwgNzAsIDY5LCAyMDYsIDg5LCA2OSwgODksIDEyOCwgODksIDY5LCAKLSAgICA4NywgMTI4LCA4OSwgNjksIDg1LCA4OCwgMTI4LCA4OSwgNjksIDg1LCA4MiwgNjUsIDY5LCAxMjgsIDg5LCA2OSwgODUsIAotICAgIDgxLCAxMjgsIDg5LCA2OSwgODUsIDc3LCAxMjgsIDg5LCA2OSwgODUsIDY1LCA2OSwgODQsIDEyOCwgODksIDY5LCA4NSwgCi0gICAgNjUsIDY5LCAxMjgsIDg5LCA2OSwgODQsIDczLCA4NiwgMTI4LCA4OSwgNjksIDgzLCA4NCwgODUsIDEyOCwgODksIDY5LCAKLSAgICA4MywgNzMsIDY5LCA4NSwgNzgsIDcxLCA0NSwgODMsIDczLCA3OSwgODMsIDEyOCwgODksIDY5LCA4MywgNzMsIDY5LCA4NSwgCi0gICAgNzgsIDcxLCA0NSwgODAsIDY1LCA3OCwgODMsIDczLCA3OSwgODMsIDEyOCwgODksIDY5LCA4MywgNzMsIDY5LCA4NSwgNzgsIAotICAgIDcxLCA0NSwgNzcsIDczLCA2OSwgODUsIDc3LCAxMjgsIDg5LCA2OSwgODMsIDczLCA2OSwgODUsIDc4LCA3MSwgNDUsIDcyLCAKLSAgICA3MywgNjksIDg1LCA3MiwgMTI4LCA4OSwgNjksIDgzLCA3MywgNjksIDg1LCA3OCwgNzEsIDEyOCwgODksIDY5LCA4MiwgODUsIAotICAgIDEyOCwgODksIDY5LCA4MiwgMjEzLCA4OSwgNjksIDgyLCA3MywgMTI4LCA4OSwgNjksIDgyLCA2NSwgMjAwLCA4OSwgNjksIAotICAgIDgyLCAxMjgsIDg5LCA2OSwgNzksIDgyLCA3MywgNzgsIDcyLCA3MywgNjksIDg1LCA3MiwgMTI4LCA4OSwgNjksIDc5LCA0NSwgCi0gICAgODksIDY1LCAxMjgsIDg5LCA2OSwgNzksIDQ1LCA4NSwgMTI4LCA4OSwgNjksIDc5LCA0NSwgNzksIDEyOCwgODksIDY5LCAKLSAgICA3OCwgNzMsIDgzLCA2OSwgMjAxLCA4OSwgNjksIDc4LCA2NSwgODAsIDEyOCwgODksIDY5LCA3OCwgMTI4LCA4OSwgNjksIAotICAgIDIwNiwgODksIDY5LCA3NiwgNzYsIDc5LCA4NywgMTI4LCA4OSwgNjksIDc2LCA3NiwgNzksIDIxNSwgODksIDY5LCA3MiwgCi0gICAgMTI4LCA4OSwgNjksIDY5LCAxMjgsIDg5LCA2OSwgNjUsIDIxMCwgODksIDY5LCA2NSwgMTI4LCA4OSwgNjUsIDkwLCA5MCwgCi0gICAgMTI4LCA4OSwgNjUsIDkwLCA3MiwgMTI4LCA4OSwgNjUsIDkwLCAxMjgsIDg5LCA2NSwgODksIDY1LCA3OCwgNzgsIDY1LCAKLSAgICAxMjgsIDg5LCA2NSwgODksIDEyOCwgODksIDY1LCA4NywgMTI4LCA4OSwgNjUsIDg2LCAxMjgsIDg5LCA2NSwgODUsIDEyOCwgCi0gICAgODksIDY1LCA4NCwgODQsIDEyOCwgODksIDY1LCA4NCwgNzMsIDEyOCwgODksIDY1LCA4NCwgNzIsIDEyOCwgODksIDY1LCAKLSAgICA4NCwgMTI4LCA4OSwgNjUsIDgzLCA4MywgMTI4LCA4OSwgNjUsIDgzLCA3MiwgMTI4LCA4OSwgNjUsIDgzLCAxMjgsIDg5LCAKLSAgICA2NSwgODIsIDgyLCAxMjgsIDg5LCA2NSwgODIsIDEyOCwgODksIDY1LCAyMTAsIDg5LCA2NSwgODEsIDEyOCwgODksIDY1LCAKLSAgICA4MCwgMTI4LCA4OSwgNjUsIDc4LCA4MywgNjUsIDg5LCA2NSwgMTI4LCA4OSwgNjUsIDc4LCA3MSwgMTI4LCA4OSwgNjUsIAotICAgIDc4LCAxOTksIDg5LCA2NSwgNzgsIDEyOCwgODksIDY1LCA3NywgNzksIDc1LCAxMjgsIDg5LCA2NSwgNzcsIDY1LCA3NSwgCi0gICAgNzUsIDY1LCA3OCwgMTI4LCA4OSwgNjUsIDc3LCAxMjgsIDg5LCA2NSwgNzYsIDEyOCwgODksIDY1LCA3NSwgNzIsIDcyLCAKLSAgICAxMjgsIDg5LCA2NSwgNzUsIDcyLCAxMjgsIDg5LCA2NSwgNzUsIDY1LCA4MywgNzIsIDEyOCwgODksIDY1LCA3NSwgMTI4LCAKLSAgICA4OSwgNjUsIDc0LCA4NSwgODIsIDg2LCA2OSwgNjgsIDczLCAxOTUsIDg5LCA2NSwgNzQsIDEyOCwgODksIDY1LCA3MywgCi0gICAgMTI4LCA4OSwgNjUsIDcyLCA3MiwgMTI4LCA4OSwgNjUsIDcyLCAxMjgsIDg5LCA2NSwgNzEsIDc4LCAxMjgsIDg5LCA2NSwgCi0gICAgNzEsIDcyLCA3MiwgMTI4LCA4OSwgNjUsIDcxLCA3MiwgMTI4LCA4OSwgNjUsIDcxLCAxMjgsIDg5LCA2NSwgNzAsIDIxMywgCi0gICAgODksIDY1LCA3MCwgMTI4LCA4OSwgNjUsIDY5LCA3NywgNzcsIDY1LCA2OSwgMTI4LCA4OSwgNjUsIDY4LCA3MiwgMTI4LCAKLSAgICA4OSwgNjUsIDY4LCA2OCwgNzIsIDEyOCwgODksIDY1LCA2OCwgNjgsIDEyOCwgODksIDY1LCA2OCwgMTI4LCA4OSwgNjUsIAotICAgIDY3LCA3MiwgMTI4LCA4OSwgNjUsIDY2LCA3MiwgMTI4LCA4OSwgNjUsIDY2LCAxMjgsIDg5LCA2NSwgNjUsIDgyLCA4NSwgCi0gICAgMTI4LCA4OSwgNjUsIDY1LCA3MywgMTI4LCA4OSwgNjUsIDY1LCA2OCwgNzksIDEyOCwgODksIDY1LCA0NSwgODksIDc5LCAKLSAgICAxMjgsIDg5LCA2NSwgNDUsIDg1LCAxMjgsIDg5LCA2NSwgNDUsIDc5LCAxMjgsIDg5LCA0OCwgNDgsIDU2LCAxMjgsIDg5LCAKLSAgICA0OCwgNDgsIDU1LCAxMjgsIDg5LCA0OCwgNDgsIDU0LCAxMjgsIDg5LCA0OCwgNDgsIDUzLCAxMjgsIDg5LCA0OCwgNDgsIAotICAgIDUyLCAxMjgsIDg5LCA0OCwgNDgsIDUxLCAxMjgsIDg5LCA0OCwgNDgsIDUwLCAxMjgsIDg5LCA0OCwgNDgsIDQ5LCA2NSwgCi0gICAgMTI4LCA4OSwgNDgsIDQ4LCA0OSwgMTI4LCA4OSwgNDUsIDY3LCA4MiwgNjksIDE5NywgODgsIDg5LCA4OCwgMTI4LCA4OCwgCi0gICAgODksIDg1LCAxMjgsIDg4LCA4OSwgODQsIDEyOCwgODgsIDg5LCA4MiwgODgsIDEyOCwgODgsIDg5LCA4MiwgMTI4LCA4OCwgCi0gICAgODksIDgwLCAxMjgsIDg4LCA4OSwgNzksIDEyOCwgODgsIDg5LCA3MywgMTI4LCA4OCwgODksIDY5LCA2OSwgMTI4LCA4OCwgCi0gICAgODksIDY5LCAxMjgsIDg4LCA4OSwgNjUsIDY1LCAxMjgsIDg4LCA4OSwgNjUsIDEyOCwgODgsIDg5LCAxMjgsIDg4LCA4NywgCi0gICAgNzMsIDEyOCwgODgsIDg3LCA2OSwgNjksIDEyOCwgODgsIDg3LCA2OSwgMTI4LCA4OCwgODcsIDY1LCA2NSwgMTI4LCA4OCwgCi0gICAgODcsIDY1LCAxMjgsIDg4LCA4NiwgNjksIDEyOCwgODgsIDg2LCA2NSwgMTI4LCA4OCwgODUsIDc5LCA4OCwgMTI4LCA4OCwgCi0gICAgODUsIDc5LCAxMjgsIDg4LCA4NSwgMTI4LCA4OCwgODMsIDcyLCA2NSwgNjUsIDg5LCA2NSwgODQsIDcyLCA3MywgODksIDY1LCAKLSAgICAxMjgsIDg4LCA3OSwgODgsIDEyOCwgODgsIDc5LCA4NCwgMTI4LCA4OCwgNzksIDgyLCAxMjgsIDg4LCA3OSwgODAsIDEyOCwgCi0gICAgODgsIDc5LCA2NSwgMTI4LCA4OCwgNzksIDEyOCwgODgsIDczLCA4OCwgMTI4LCA4OCwgNzMsIDg0LCAxMjgsIDg4LCA3MywgCi0gICAgODIsIDc5LCAyMDYsIDg4LCA3MywgODAsIDEyOCwgODgsIDczLCA2OSwgODgsIDEyOCwgODgsIDczLCA2OSwgODQsIDEyOCwgCi0gICAgODgsIDczLCA2OSwgODAsIDEyOCwgODgsIDczLCA2OSwgMTI4LCA4OCwgNzMsIDEyOCwgODgsIDcxLCAxMjgsIDg4LCA2OSwgCi0gICAgODMsIDg0LCA2OSwgMjExLCA4OCwgNjksIDcyLCAxMjgsIDg4LCA2OSwgNjksIDEyOCwgODgsIDY5LCAxMjgsIDg4LCA2NSwgCi0gICAgNzgsIDEyOCwgODgsIDY1LCA2NSwgMTI4LCA4OCwgNjUsIDEyOCwgODgsIDQ4LCA0OCwgNTYsIDY1LCAxMjgsIDg4LCA0OCwgCi0gICAgNDgsIDU2LCAxMjgsIDg4LCA0OCwgNDgsIDU1LCAxMjgsIDg4LCA0OCwgNDgsIDU0LCA2NSwgMTI4LCA4OCwgNDgsIDQ4LCAKLSAgICA1NCwgMTI4LCA4OCwgNDgsIDQ4LCA1MywgMTI4LCA4OCwgNDgsIDQ4LCA1MiwgNjYsIDEyOCwgODgsIDQ4LCA0OCwgNTIsIAotICAgIDY1LCAxMjgsIDg4LCA0OCwgNDgsIDUyLCAxMjgsIDg4LCA0OCwgNDgsIDUxLCAxMjgsIDg4LCA0OCwgNDgsIDUwLCAxMjgsIAotICAgIDg4LCA0OCwgNDgsIDQ5LCAxMjgsIDg3LCA5MCwgMTI4LCA4NywgODksIDc4LCA3OCwgMTI4LCA4NywgODksIDc4LCAyMDYsIAotICAgIDg3LCA4NiwgMTI4LCA4NywgODUsIDgwLCAxMjgsIDg3LCA4NSwgNzksIDg4LCAxMjgsIDg3LCA4NSwgNzksIDgwLCAxMjgsIAotICAgIDg3LCA4NSwgNzksIDEyOCwgODcsIDg1LCA3OCwgNzQsIDIwNywgODcsIDg1LCA3OCwgMTI4LCA4NywgODUsIDc2LCA4NSwgCi0gICAgMTI4LCA4NywgODUsIDc2LCAyMTMsIDg3LCA4NSwgNjksIDEyOCwgODcsIDg1LCA2NSwgNjksIDg0LCAxMjgsIDg3LCA4NSwgCi0gICAgNjUsIDY5LCA3OCwgMTI4LCA4NywgODUsIDEyOCwgODcsIDgyLCAyMTcsIDg3LCA4MiwgNzksIDc4LCA3MSwgMTI4LCA4NywgCi0gICAgODIsIDczLCA4NCwgNzMsIDc4LCAxOTksIDg3LCA4MiwgNjksIDc4LCA2NywgNzIsIDEyOCwgODcsIDgyLCA2OSwgNjUsIDg0LCAKLSAgICAyMDAsIDg3LCA4MiwgNjUsIDgwLCA4MCwgNjksIDE5NiwgODcsIDgyLCA2NSwgODAsIDEyOCwgODcsIDc5LCA4OCwgMTI4LCAKLSAgICA4NywgNzksIDgyLCA4MiwgNzMsIDY5LCAxOTYsIDg3LCA3OSwgODIsIDc1LCA2OSwgODIsIDEyOCwgODcsIDc5LCA4MiwgNzUsIAotICAgIDEyOCwgODcsIDc5LCA4MiwgMjAzLCA4NywgNzksIDgyLCA2OCwgODMsIDgwLCA2NSwgNjcsIDY5LCAxMjgsIDg3LCA3OSwgCi0gICAgODIsIDE5NiwgODcsIDc5LCA4MCwgMTI4LCA4NywgNzksIDc5LCA3OCwgMTI4LCA4NywgNzksIDc5LCA3NiwgMTI4LCA4NywgCi0gICAgNzksIDc5LCA2OCwgODMsIDQ1LCA2NywgODIsIDY5LCAxOTcsIDg3LCA3OSwgNzksIDY4LCAxMjgsIDg3LCA3OSwgNzgsIAotICAgIDEyOCwgODcsIDc5LCAyMDYsIDg3LCA3OSwgNzcsIDY5LCA3OCwgMjExLCA4NywgNzksIDc3LCA2OSwgMjA2LCA4NywgNzksIAotICAgIDc3LCA2NSwgNzgsIDIxMSwgODcsIDc5LCA3NywgNjUsIDc4LCAxMjgsIDg3LCA3OSwgNzcsIDY1LCAyMDYsIDg3LCA3OSwgCi0gICAgNzYsIDc5LCA4MywgNzksIDEyOCwgODcsIDc5LCA3NiwgMTk4LCA4NywgNzksIDY5LCAxMjgsIDg3LCA3OSwgNjUsIDEyOCwgCi0gICAgODcsIDczLCA4NCwgNzIsIDc5LCA4NSwgMjEyLCA4NywgNzMsIDg0LCA3MiwgNzMsIDc4LCAxMjgsIDg3LCA3MywgNzgsIDg0LCAKLSAgICA2OSwgODIsIDEyOCwgODcsIDczLCA3OCwgNzUsIDczLCA3OCwgMTk5LCA4NywgNzMsIDc4LCA3NCwgNjUsIDEyOCwgODcsIAotICAgIDczLCA3OCwgNzEsIDgzLCAxMjgsIDg3LCA3MywgNzgsIDY5LCAxMjgsIDg3LCA3MywgNzgsIDE5NywgODcsIDczLCA3OCwgCi0gICAgNjgsIDg1LCAxMjgsIDg3LCA3MywgNzgsIDY4LCAxMjgsIDg3LCA3MywgNzgsIDE5NiwgODcsIDczLCA3OCwgMTI4LCA4NywgCisgICAgNzQsIDEyOCwgOTAsIDg3LCA3OCwgNjYsIDgzLCA4MCwgMTI4LCA5MCwgODcsIDc0LCAxMjgsIDkwLCA4NywgMjAyLCA5MCwgCisgICAgODcsIDY1LCA4MiwgNjUsIDc1LCA2NSwgODksIDEyOCwgOTAsIDg3LCA2NSwgMTI4LCA5MCwgODUsIDg0LCAxMjgsIDkwLCAKKyAgICA4NSwgNzksIDg4LCAxMjgsIDkwLCA4NSwgNzksIDgwLCAxMjgsIDkwLCA4NSwgNzksIDEyOCwgOTAsIDg1LCA3NywgMTI4LCAKKyAgICA5MCwgODUsIDY2LCA4NSwgODIsIDEyOCwgOTAsIDg1LCA1MywgMTI4LCA5MCwgODUsIDE4MSwgOTAsIDgzLCA3MiwgNjUsIAorICAgIDEyOCwgOTAsIDgyLCA2NSwgMTI4LCA5MCwgODEsIDY1LCA4MCwgNzIsIDE5MywgOTAsIDc5LCA4NCwgMTI4LCA5MCwgNzksIAorICAgIDc5LCAxMjgsIDkwLCA3OSwgNjUsIDEyOCwgOTAsIDc2LCA2NSwgNzcsIDE5MywgOTAsIDc2LCA2NSwgMTI4LCA5MCwgNzYsIAorICAgIDE5MywgOTAsIDc0LCA2OSwgMTI4LCA5MCwgNzMsIDkwLCA1MCwgMTI4LCA5MCwgNzMsIDgxLCA2NSwgNjUsIDEyOCwgOTAsIAorICAgIDczLCA3OCwgNzksIDgyLCAxMjgsIDkwLCA3MywgNzYsIDY4LCA2OSwgMTI4LCA5MCwgNzMsIDcxLCA5MCwgNjUsIDE5OSwgCisgICAgOTAsIDczLCA3MSwgMTI4LCA5MCwgNzMsIDY4LCAxOTMsIDkwLCA3MywgNjYsIDEyOCwgOTAsIDczLCAxOTQsIDkwLCA3MywgCisgICAgNTEsIDEyOCwgOTAsIDIwMSwgOTAsIDcyLCA4OSwgODgsIDEyOCwgOTAsIDcyLCA4OSwgODQsIDEyOCwgOTAsIDcyLCA4OSwgCisgICAgODIsIDg4LCAxMjgsIDkwLCA3MiwgODksIDgyLCAxMjgsIDkwLCA3MiwgODksIDgwLCAxMjgsIDkwLCA3MiwgODksIDEyOCwgCisgICAgOTAsIDcyLCA4NywgNjksIDEyOCwgOTAsIDcyLCA4NywgNjUsIDEyOCwgOTAsIDcyLCA4NSwgODgsIDEyOCwgOTAsIDcyLCAKKyAgICA4NSwgODQsIDEyOCwgOTAsIDcyLCA4NSwgODIsIDg4LCAxMjgsIDkwLCA3MiwgODUsIDgyLCAxMjgsIDkwLCA3MiwgODUsIAorICAgIDgwLCAxMjgsIDkwLCA3MiwgODUsIDc5LCA4OCwgMTI4LCA5MCwgNzIsIDg1LCA3OSwgODAsIDEyOCwgOTAsIDcyLCA4NSwgCisgICAgNzksIDEyOCwgOTAsIDcyLCA4NSwgMTI4LCA5MCwgNzIsIDc5LCA4OCwgMTI4LCA5MCwgNzIsIDc5LCA4NCwgMTI4LCA5MCwgCisgICAgNzIsIDc5LCA4MCwgMTI4LCA5MCwgNzIsIDc5LCA3OSwgMTI4LCA5MCwgNzIsIDc5LCA3MywgMTI4LCA5MCwgNzIsIDc5LCAKKyAgICAxMjgsIDkwLCA3MiwgNzMsIDg2LCA2OSwgODQsIDY5LCAxMjgsIDkwLCA3MiwgNzMsIDc2LCAxMjgsIDkwLCA3MiwgNzMsIAorICAgIDEyOCwgOTAsIDcyLCA2OSwgODgsIDEyOCwgOTAsIDcyLCA2OSwgODQsIDEyOCwgOTAsIDcyLCA2OSwgODAsIDEyOCwgOTAsIAorICAgIDcyLCA2OSwgNjksIDEyOCwgOTAsIDcyLCA2OSwgMTI4LCA5MCwgNzIsIDE5NywgOTAsIDcyLCA2NSwgODksIDczLCA3OCwgCisgICAgMTI4LCA5MCwgNzIsIDY1LCA4OCwgMTI4LCA5MCwgNzIsIDY1LCA4NCwgMTI4LCA5MCwgNzIsIDY1LCA4MiwgMTI4LCA5MCwgCisgICAgNzIsIDY1LCA4MCwgMTI4LCA5MCwgNzIsIDY1LCA3MywgNzgsIDEyOCwgOTAsIDcyLCA2NSwgNjUsIDEyOCwgOTAsIDcyLCAKKyAgICA2NSwgMTI4LCA5MCwgNzIsIDEyOCwgOTAsIDY5LCA4NCwgNjUsIDEyOCwgOTAsIDY5LCA4MiwgNzksIDEyOCwgOTAsIDY5LCAKKyAgICA4MiwgMjA3LCA5MCwgNjksIDc4LCAxMjgsIDkwLCA2OSwgNzcsIDc2LCA4OSwgNjUsIDEyOCwgOTAsIDY5LCA3NywgNzYsIAorICAgIDc0LCA2NSwgMTI4LCA5MCwgNjksIDUwLCAxMjgsIDkwLCAxOTcsIDkwLCA2NSwgODksIDc4LCAxMjgsIDkwLCA2NSwgODksIAorICAgIDczLCA3OCwgMTI4LCA5MCwgNjUsIDg5LCA3MywgMjA2LCA5MCwgNjUsIDg2LCA3MywgODksIDY1LCA3OCwgNzMsIDEyOCwgCisgICAgOTAsIDY1LCA4NCwgNjUsIDEyOCwgOTAsIDY1LCA4MiwgODEsIDY1LCAxMjgsIDkwLCA2NSwgODIsIDc2LCAxMjgsIDkwLCAKKyAgICA2NSwgODEsIDY5LCAxOTgsIDkwLCA2NSwgNzcsIDg4LCAxMjgsIDkwLCA2NSwgMjA0LCA5MCwgNjUsIDczLCA3OCwgMTI4LCAKKyAgICA5MCwgNjUsIDczLCAyMDYsIDkwLCA2NSwgNzMsIDEyOCwgOTAsIDY1LCA3MiwgMTI4LCA5MCwgNjUsIDIwMCwgOTAsIDY1LCAKKyAgICA3MSwgMTI4LCA5MCwgNjUsIDY5LCA3MCwgMTI4LCA5MCwgMTkzLCA5MCwgNDgsIDQ5LCA1NCwgNzIsIDEyOCwgOTAsIDQ4LCAKKyAgICA0OSwgNTQsIDcxLCAxMjgsIDkwLCA0OCwgNDksIDU0LCA3MCwgMTI4LCA5MCwgNDgsIDQ5LCA1NCwgNjksIDEyOCwgOTAsIAorICAgIDQ4LCA0OSwgNTQsIDY4LCAxMjgsIDkwLCA0OCwgNDksIDU0LCA2NywgMTI4LCA5MCwgNDgsIDQ5LCA1NCwgNjYsIDEyOCwgCisgICAgOTAsIDQ4LCA0OSwgNTQsIDY1LCAxMjgsIDkwLCA0OCwgNDksIDU0LCAxMjgsIDkwLCA0OCwgNDksIDUzLCA3MywgMTI4LCAKKyAgICA5MCwgNDgsIDQ5LCA1MywgNzIsIDEyOCwgOTAsIDQ4LCA0OSwgNTMsIDcxLCAxMjgsIDkwLCA0OCwgNDksIDUzLCA3MCwgCisgICAgMTI4LCA5MCwgNDgsIDQ5LCA1MywgNjksIDEyOCwgOTAsIDQ4LCA0OSwgNTMsIDY4LCAxMjgsIDkwLCA0OCwgNDksIDUzLCAKKyAgICA2NywgMTI4LCA5MCwgNDgsIDQ5LCA1MywgNjYsIDEyOCwgOTAsIDQ4LCA0OSwgNTMsIDY1LCAxMjgsIDkwLCA0OCwgNDksIAorICAgIDUzLCAxMjgsIDkwLCA0OCwgNDksIDUyLCAxMjgsIDkwLCA0OCwgNDksIDUxLCAxMjgsIDkwLCA0OCwgNDksIDUwLCAxMjgsIAorICAgIDkwLCA0OCwgNDksIDQ5LCAxMjgsIDkwLCA0OCwgNDksIDQ4LCAxMjgsIDkwLCA0OCwgNDgsIDU3LCAxMjgsIDkwLCA0OCwgCisgICAgNDgsIDU2LCAxMjgsIDkwLCA0OCwgNDgsIDU1LCAxMjgsIDkwLCA0OCwgNDgsIDU0LCAxMjgsIDkwLCA0OCwgNDgsIDUzLCAKKyAgICA2NSwgMTI4LCA5MCwgNDgsIDQ4LCA1MywgMTI4LCA5MCwgNDgsIDQ4LCA1MiwgNjUsIDEyOCwgOTAsIDQ4LCA0OCwgNTIsIAorICAgIDEyOCwgOTAsIDQ4LCA0OCwgNTEsIDY2LCAxMjgsIDkwLCA0OCwgNDgsIDUxLCA2NSwgMTI4LCA5MCwgNDgsIDQ4LCA1MSwgCisgICAgMTI4LCA5MCwgNDgsIDQ4LCA1MCwgNjgsIDEyOCwgOTAsIDQ4LCA0OCwgNTAsIDY3LCAxMjgsIDkwLCA0OCwgNDgsIDUwLCAKKyAgICA2NiwgMTI4LCA5MCwgNDgsIDQ4LCA1MCwgNjUsIDEyOCwgOTAsIDQ4LCA0OCwgNTAsIDEyOCwgOTAsIDQ4LCA0OCwgNDksIAorICAgIDEyOCwgOTAsIDEyOCwgMjE4LCA4OSwgODksIDg4LCAxMjgsIDg5LCA4OSwgODQsIDEyOCwgODksIDg5LCA4MiwgODgsIDEyOCwgCisgICAgODksIDg5LCA4MiwgMTI4LCA4OSwgODksIDgwLCAxMjgsIDg5LCA4OSwgNjksIDEyOCwgODksIDg5LCA2NSwgNjUsIDEyOCwgCisgICAgODksIDg5LCA2NSwgMTI4LCA4OSwgODksIDEyOCwgODksIDg3LCA3OSwgNzksIDEyOCwgODksIDg3LCA3OSwgMTI4LCA4OSwgCisgICAgODcsIDczLCA3MywgMTI4LCA4OSwgODcsIDczLCAxMjgsIDg5LCA4NywgNjksIDEyOCwgODksIDg3LCA2NSwgNjUsIDEyOCwgCisgICAgODksIDg3LCA2NSwgMTI4LCA4OSwgODYsIDEyOCwgODksIDg1LCA4OCwgMTI4LCA4OSwgODUsIDg3LCA3OSwgODEsIDEyOCwgCisgICAgODksIDg1LCA4NSwgNzUsIDY1LCA3NiwgNjksIDY1LCA4MCwgNzMsIDc4LCA4NCwgODUsIDEyOCwgODksIDg1LCA4NSwgMTI4LCAKKyAgICA4OSwgODUsIDg0LCAxMjgsIDg5LCA4NSwgODMsIDEyOCwgODksIDg1LCAyMTEsIDg5LCA4NSwgODIsIDg4LCAxMjgsIDg5LCAKKyAgICA4NSwgODIsIDEyOCwgODksIDg1LCA4MSwgMTI4LCA4OSwgODUsIDIwOSwgODksIDg1LCA4MCwgMTI4LCA4OSwgODUsIDc5LCAKKyAgICA4OCwgMTI4LCA4OSwgODUsIDc5LCA4NCwgMTI4LCA4OSwgODUsIDc5LCA4MCwgMTI4LCA4OSwgODUsIDc5LCA3NywgMTI4LCAKKyAgICA4OSwgODUsIDc5LCAxMjgsIDg5LCA4NSwgNzgsIDEyOCwgODksIDg1LCA3NywgMTI4LCA4OSwgODUsIDc0LCAxMjgsIDg5LCAKKyAgICA4NSwgNjksIDgxLCAxMjgsIDg5LCA4NSwgNjksIDEyOCwgODksIDg1LCA2OCwgNzIsIDEyOCwgODksIDg1LCA2OCwgMjAwLCAKKyAgICA4OSwgODUsIDY1LCA3OCwgMTI4LCA4OSwgODUsIDY1LCA2OSwgNzgsIDEyOCwgODksIDg1LCA0NSwgODksIDY5LCA3OSwgCisgICAgMTI4LCA4OSwgODUsIDQ1LCA4OSwgNjksIDEyOCwgODksIDg1LCA0NSwgODUsIDEyOCwgODksIDg1LCA0NSwgNzksIDEyOCwgCisgICAgODksIDg1LCA0NSwgNzMsIDEyOCwgODksIDg1LCA0NSwgNjksIDc5LCAxMjgsIDg5LCA4NSwgNDUsIDY5LCAxMjgsIDg5LCAKKyAgICA4NSwgNDUsIDY1LCA2OSwgMTI4LCA4OSwgODUsIDQ1LCA2NSwgMTI4LCA4OSwgODUsIDEyOCwgODksIDIxMywgODksIDgyLCAKKyAgICA4OSwgMTI4LCA4OSwgODAsIDgzLCA3MywgNzYsIDczLCAxMjgsIDg5LCA4MCwgNzksIDgyLCA4MiwgNzksIDczLCAxMjgsIAorICAgIDg5LCA4MCwgNzksIDc1LCA4MiwgNzMsIDgzLCA3MywgODMsIDEyOCwgODksIDgwLCA3OSwgNzUsIDgyLCA3MywgODMsIDczLCAKKyAgICAyMTEsIDg5LCA4MCwgNzksIDcxLCA2OSwgNzEsIDgyLCA2NSwgNzcsIDc3LCA2OSwgNzgsIDczLCAxMjgsIDg5LCA3OSwgODksIAorICAgIDEyOCwgODksIDc5LCA4OCwgMTI4LCA4OSwgNzksIDg3LCA2OCwgMTI4LCA4OSwgNzksIDg1LCA4NCwgNzIsIDcwLCA4NSwgCisgICAgNzYsIDc4LCA2OSwgODMsIDgzLCAxMjgsIDg5LCA3OSwgODUsIDg0LCA3MiwgNzAsIDg1LCAyMDQsIDg5LCA3OSwgODQsIAorICAgIDEyOCwgODksIDc5LCA4MiwgNzMsIDEyOCwgODksIDc5LCA4MSwgMTI4LCA4OSwgNzksIDIwOSwgODksIDc5LCA4MCwgMTI4LCAKKyAgICA4OSwgNzksIDc5LCAxMjgsIDg5LCA3OSwgNzcsIDc5LCAxMjgsIDg5LCA3OSwgNzEsIDcyLCAxMjgsIDg5LCA3OSwgNjgsIAorICAgIDcyLCAxMjgsIDg5LCA3OSwgNjgsIDEyOCwgODksIDc5LCAxOTYsIDg5LCA3OSwgNjUsIDEyOCwgODksIDc5LCA0NSwgODksIAorICAgIDY5LCA3OSwgMTI4LCA4OSwgNzksIDQ1LCA4OSwgNjUsIDY5LCAxMjgsIDg5LCA3OSwgNDUsIDg5LCA2NSwgMTI4LCA4OSwgCisgICAgNzksIDQ1LCA3OSwgMTI4LCA4OSwgNzksIDQ1LCA3MywgMTI4LCA4OSwgNzksIDQ1LCA2OSwgNzksIDEyOCwgODksIDc5LCAKKyAgICA0NSwgNjUsIDY5LCAxMjgsIDg5LCA3OSwgNDUsIDY1LCAxMjgsIDg5LCA3OSwgMTI4LCA4OSwgMjA3LCA4OSwgNzMsIDkwLCAKKyAgICA2OSwgODQsIDEyOCwgODksIDczLCA4OCwgMTI4LCA4OSwgNzMsIDg3LCA3OCwgMTI4LCA4OSwgNzMsIDg0LCAxMjgsIDg5LCAKKyAgICA3MywgODAsIDEyOCwgODksIDczLCA3OCwgNzEsIDEyOCwgODksIDczLCA3MywgMTI4LCA4OSwgNzMsIDE5OSwgODksIDczLCAKKyAgICA2OSwgODgsIDEyOCwgODksIDczLCA2OSwgODQsIDEyOCwgODksIDczLCA2OSwgODAsIDEyOCwgODksIDczLCA2OSwgNjksIAorICAgIDEyOCwgODksIDczLCA2OSwgMTI4LCA4OSwgNzMsIDY4LCA2OCwgNzMsIDgzLCAyMDAsIDg5LCA3MywgNDUsIDg1LCAxMjgsIAorICAgIDg5LCA3MywgMTI4LCA4OSwgNzAsIDY5LCA4MywgNzMsIDgzLCAxMjgsIDg5LCA3MCwgNjksIDgzLCA3MywgMjExLCA4OSwgCisgICAgNzAsIDY5LCAyMDYsIDg5LCA2OSwgODksIDEyOCwgODksIDY5LCA4NywgMTI4LCA4OSwgNjksIDg1LCA4OCwgMTI4LCA4OSwgCisgICAgNjksIDg1LCA4MiwgNjUsIDY5LCAxMjgsIDg5LCA2OSwgODUsIDgxLCAxMjgsIDg5LCA2OSwgODUsIDc3LCAxMjgsIDg5LCAKKyAgICA2OSwgODUsIDY1LCA2OSwgODQsIDEyOCwgODksIDY5LCA4NSwgNjUsIDY5LCAxMjgsIDg5LCA2OSwgODQsIDczLCA4NiwgCisgICAgMTI4LCA4OSwgNjksIDgzLCA4NCwgODUsIDEyOCwgODksIDY5LCA4MywgNzMsIDY5LCA4NSwgNzgsIDcxLCA0NSwgODMsIDczLCAKKyAgICA3OSwgODMsIDEyOCwgODksIDY5LCA4MywgNzMsIDY5LCA4NSwgNzgsIDcxLCA0NSwgODAsIDY1LCA3OCwgODMsIDczLCA3OSwgCisgICAgODMsIDEyOCwgODksIDY5LCA4MywgNzMsIDY5LCA4NSwgNzgsIDcxLCA0NSwgNzcsIDczLCA2OSwgODUsIDc3LCAxMjgsIDg5LCAKKyAgICA2OSwgODMsIDczLCA2OSwgODUsIDc4LCA3MSwgNDUsIDcyLCA3MywgNjksIDg1LCA3MiwgMTI4LCA4OSwgNjksIDgzLCA3MywgCisgICAgNjksIDg1LCA3OCwgNzEsIDEyOCwgODksIDY5LCA4MiwgODUsIDEyOCwgODksIDY5LCA4MiwgMjEzLCA4OSwgNjksIDgyLCAKKyAgICA3MywgMTI4LCA4OSwgNjksIDgyLCA2NSwgMjAwLCA4OSwgNjksIDgyLCAxMjgsIDg5LCA2OSwgNzksIDgyLCA3MywgNzgsIAorICAgIDcyLCA3MywgNjksIDg1LCA3MiwgMTI4LCA4OSwgNjksIDc5LCA0NSwgODksIDY1LCAxMjgsIDg5LCA2OSwgNzksIDQ1LCA4NSwgCisgICAgMTI4LCA4OSwgNjksIDc5LCA0NSwgNzksIDEyOCwgODksIDY5LCA3OCwgNzMsIDgzLCA2OSwgMjAxLCA4OSwgNjksIDc4LCAKKyAgICA2NSwgODAsIDEyOCwgODksIDY5LCA3OCwgMTI4LCA4OSwgNjksIDIwNiwgODksIDY5LCA3NiwgNzYsIDc5LCA4NywgMTI4LCAKKyAgICA4OSwgNjksIDc2LCA3NiwgNzksIDIxNSwgODksIDY5LCA3MywgNzgsIDEyOCwgODksIDY5LCA3MiwgMTI4LCA4OSwgNjksIAorICAgIDY5LCA3MSwgMTI4LCA4OSwgNjksIDY5LCAxMjgsIDg5LCA2OSwgNjUsIDIxMCwgODksIDY5LCA2NSwgMTI4LCA4OSwgNjUsIAorICAgIDkwLCA5MCwgMTI4LCA4OSwgNjUsIDkwLCA3MiwgMTI4LCA4OSwgNjUsIDkwLCAxMjgsIDg5LCA2NSwgODksIDY4LCAxMjgsIAorICAgIDg5LCA2NSwgODksIDY1LCA3OCwgNzgsIDY1LCAxMjgsIDg5LCA2NSwgODksIDEyOCwgODksIDY1LCA4NywgMTI4LCA4OSwgCisgICAgNjUsIDg2LCAxMjgsIDg5LCA2NSwgODUsIDEyOCwgODksIDY1LCA4NCwgODQsIDEyOCwgODksIDY1LCA4NCwgNzMsIDEyOCwgCisgICAgODksIDY1LCA4NCwgNzIsIDEyOCwgODksIDY1LCA4NCwgMTI4LCA4OSwgNjUsIDgzLCA4MywgMTI4LCA4OSwgNjUsIDgzLCAKKyAgICA3MiwgMTI4LCA4OSwgNjUsIDgzLCAxMjgsIDg5LCA2NSwgODIsIDgyLCAxMjgsIDg5LCA2NSwgODIsIDEyOCwgODksIDY1LCAKKyAgICAyMTAsIDg5LCA2NSwgODEsIDEyOCwgODksIDY1LCA4MCwgMTI4LCA4OSwgNjUsIDc4LCA4MywgNjUsIDg5LCA2NSwgMTI4LCAKKyAgICA4OSwgNjUsIDc4LCA3MSwgMTI4LCA4OSwgNjUsIDc4LCAxOTksIDg5LCA2NSwgNzgsIDEyOCwgODksIDY1LCA3NywgNzksIAorICAgIDc1LCAxMjgsIDg5LCA2NSwgNzcsIDY1LCA3NSwgNzUsIDY1LCA3OCwgMTI4LCA4OSwgNjUsIDc3LCAxMjgsIDg5LCA2NSwgCisgICAgNzYsIDEyOCwgODksIDY1LCA3NSwgNzIsIDcyLCAxMjgsIDg5LCA2NSwgNzUsIDcyLCAxMjgsIDg5LCA2NSwgNzUsIDY1LCAKKyAgICA4MywgNzIsIDEyOCwgODksIDY1LCA3NSwgMTI4LCA4OSwgNjUsIDc0LCA4NSwgODIsIDg2LCA2OSwgNjgsIDczLCAxOTUsIAorICAgIDg5LCA2NSwgNzQsIDEyOCwgODksIDY1LCA3MywgMTI4LCA4OSwgNjUsIDcyLCA3MiwgMTI4LCA4OSwgNjUsIDcyLCAxMjgsIAorICAgIDg5LCA2NSwgNzEsIDc4LCAxMjgsIDg5LCA2NSwgNzEsIDcyLCA3MiwgMTI4LCA4OSwgNjUsIDcxLCA3MiwgMTI4LCA4OSwgCisgICAgNjUsIDcxLCAxMjgsIDg5LCA2NSwgNzAsIDIxMywgODksIDY1LCA3MCwgMTI4LCA4OSwgNjUsIDY5LCA3NywgNzcsIDY1LCAKKyAgICA2OSwgMTI4LCA4OSwgNjUsIDY4LCA3MiwgMTI4LCA4OSwgNjUsIDY4LCA2OCwgNzIsIDEyOCwgODksIDY1LCA2OCwgNjgsIAorICAgIDEyOCwgODksIDY1LCA2OCwgMTI4LCA4OSwgNjUsIDY3LCA3MiwgMTI4LCA4OSwgNjUsIDY2LCA3MiwgMTI4LCA4OSwgNjUsIAorICAgIDY2LCAxMjgsIDg5LCA2NSwgNjUsIDgyLCA4NSwgMTI4LCA4OSwgNjUsIDY1LCA3MywgMTI4LCA4OSwgNjUsIDY1LCA2OCwgCisgICAgNzksIDEyOCwgODksIDY1LCA0NSwgODksIDc5LCAxMjgsIDg5LCA2NSwgNDUsIDg1LCAxMjgsIDg5LCA2NSwgNDUsIDc5LCAKKyAgICAxMjgsIDg5LCA0OCwgNDgsIDU2LCAxMjgsIDg5LCA0OCwgNDgsIDU1LCAxMjgsIDg5LCA0OCwgNDgsIDU0LCAxMjgsIDg5LCAKKyAgICA0OCwgNDgsIDUzLCAxMjgsIDg5LCA0OCwgNDgsIDUyLCAxMjgsIDg5LCA0OCwgNDgsIDUxLCAxMjgsIDg5LCA0OCwgNDgsIAorICAgIDUwLCAxMjgsIDg5LCA0OCwgNDgsIDQ5LCA2NSwgMTI4LCA4OSwgNDgsIDQ4LCA0OSwgMTI4LCA4OSwgNDUsIDY3LCA4MiwgCisgICAgNjksIDE5NywgODgsIDg5LCA4OCwgMTI4LCA4OCwgODksIDg1LCAxMjgsIDg4LCA4OSwgODQsIDEyOCwgODgsIDg5LCA4MiwgCisgICAgODgsIDEyOCwgODgsIDg5LCA4MiwgMTI4LCA4OCwgODksIDgwLCAxMjgsIDg4LCA4OSwgNzksIDc5LCA3NCwgMTI4LCA4OCwgCisgICAgODksIDc5LCA3OSwgMTI4LCA4OCwgODksIDc5LCAxMjgsIDg4LCA4OSwgNzMsIDEyOCwgODgsIDg5LCA2OSwgNjksIDIwNSwgCisgICAgODgsIDg5LCA2OSwgNjksIDEyOCwgODgsIDg5LCA2OSwgMTI4LCA4OCwgODksIDY1LCA2NSwgMTI4LCA4OCwgODksIDY1LCAKKyAgICAxMjgsIDg4LCA4OSwgMTI4LCA4OCwgODcsIDczLCAxMjgsIDg4LCA4NywgNjksIDY5LCAxMjgsIDg4LCA4NywgNjksIDEyOCwgCisgICAgODgsIDg3LCA2NSwgNjUsIDEyOCwgODgsIDg3LCA2NSwgMTI4LCA4OCwgODcsIDEyOCwgODgsIDg2LCA2OSwgMTI4LCA4OCwgCisgICAgODYsIDY1LCAxMjgsIDg4LCA4NSwgNzksIDg4LCAxMjgsIDg4LCA4NSwgNzksIDEyOCwgODgsIDg1LCAxMjgsIDg4LCA4MywgCisgICAgNzIsIDY1LCA2NSwgODksIDY1LCA4NCwgNzIsIDczLCA4OSwgNjUsIDEyOCwgODgsIDc5LCA4OCwgMTI4LCA4OCwgNzksIDg0LCAKKyAgICAxMjgsIDg4LCA3OSwgODIsIDEyOCwgODgsIDc5LCA4MCwgNzIsIDEyOCwgODgsIDc5LCA4MCwgMTI4LCA4OCwgNzksIDY1LCAKKyAgICAxMjgsIDg4LCA3OSwgMTI4LCA4OCwgNzMsIDg4LCAxMjgsIDg4LCA3MywgODQsIDEyOCwgODgsIDczLCA4MiwgNzksIDIwNiwgCisgICAgODgsIDczLCA4MCwgMTI4LCA4OCwgNzMsIDY5LCA4OCwgMTI4LCA4OCwgNzMsIDY5LCA4NCwgMTI4LCA4OCwgNzMsIDY5LCAKKyAgICA4MCwgMTI4LCA4OCwgNzMsIDY5LCAxMjgsIDg4LCA3MywgNjUsIDY2LCAxMjgsIDg4LCA3MywgMTI4LCA4OCwgNzEsIDEyOCwgCisgICAgODgsIDY5LCA4OSwgNzgsIDEyOCwgODgsIDY5LCA4MywgODQsIDY5LCAyMTEsIDg4LCA2OSwgNzIsIDEyOCwgODgsIDY5LCAKKyAgICA2OSwgMTI4LCA4OCwgNjksIDEyOCwgODgsIDY1LCA4NSwgODMsIDEyOCwgODgsIDY1LCA4NSwgMTI4LCA4OCwgNjUsIDgwLCAKKyAgICA3MiwgMTI4LCA4OCwgNjUsIDc4LCAxMjgsIDg4LCA2NSwgNjUsIDEyOCwgODgsIDY1LCAxMjgsIDg4LCA0OCwgNDgsIDU2LCAKKyAgICA2NSwgMTI4LCA4OCwgNDgsIDQ4LCA1NiwgMTI4LCA4OCwgNDgsIDQ4LCA1NSwgMTI4LCA4OCwgNDgsIDQ4LCA1NCwgNjUsIAorICAgIDEyOCwgODgsIDQ4LCA0OCwgNTQsIDEyOCwgODgsIDQ4LCA0OCwgNTMsIDEyOCwgODgsIDQ4LCA0OCwgNTIsIDY2LCAxMjgsIAorICAgIDg4LCA0OCwgNDgsIDUyLCA2NSwgMTI4LCA4OCwgNDgsIDQ4LCA1MiwgMTI4LCA4OCwgNDgsIDQ4LCA1MSwgMTI4LCA4OCwgCisgICAgNDgsIDQ4LCA1MCwgMTI4LCA4OCwgNDgsIDQ4LCA0OSwgMTI4LCA4OCwgNDUsIDIxNiwgODcsIDkwLCAxMjgsIDg3LCA4OSwgCisgICAgNzgsIDc4LCAxMjgsIDg3LCA4OSwgNzgsIDIwNiwgODcsIDg2LCA3MywgMTI4LCA4NywgODYsIDY5LCAxMjgsIDg3LCA4NiwgCisgICAgNjUsIDEyOCwgODcsIDg2LCAxMjgsIDg3LCA4NSwgODAsIDEyOCwgODcsIDg1LCA3OSwgODgsIDEyOCwgODcsIDg1LCA3OSwgCisgICAgODAsIDEyOCwgODcsIDg1LCA3OSwgMTI4LCA4NywgODUsIDc4LCA3NCwgMjA3LCA4NywgODUsIDc4LCAxMjgsIDg3LCA4NSwgCisgICAgNzYsIDg1LCAxMjgsIDg3LCA4NSwgNzYsIDIxMywgODcsIDg1LCA3MywgMTI4LCA4NywgODUsIDY5LCAxMjgsIDg3LCA4NSwgCisgICAgNjUsIDY5LCA4NCwgMTI4LCA4NywgODUsIDY1LCA2OSwgNzgsIDEyOCwgODcsIDg1LCAxMjgsIDg3LCA4MiwgMjE3LCA4NywgCisgICAgODIsIDc5LCA3OCwgNzEsIDEyOCwgODcsIDgyLCA3MywgODQsIDczLCA3OCwgMTk5LCA4NywgODIsIDY5LCA3OCwgNjcsIDcyLCAKKyAgICAxMjgsIDg3LCA4MiwgNjksIDY1LCA4NCwgMjAwLCA4NywgODIsIDY1LCA4MCwgODAsIDY5LCAxOTYsIDg3LCA4MiwgNjUsIAorICAgIDgwLCAxMjgsIDg3LCA3OSwgODgsIDEyOCwgODcsIDc5LCA4NywgMTI4LCA4NywgNzksIDgyLCA4MiwgNzMsIDY5LCAxOTYsIAorICAgIDg3LCA3OSwgODIsIDc2LCAxOTYsIDg3LCA3OSwgODIsIDc1LCA2OSwgODIsIDEyOCwgODcsIDc5LCA4MiwgNzUsIDEyOCwgCisgICAgODcsIDc5LCA4MiwgMjAzLCA4NywgNzksIDgyLCA2OCwgODMsIDgwLCA2NSwgNjcsIDY5LCAxMjgsIDg3LCA3OSwgODIsIAorICAgIDE5NiwgODcsIDc5LCA4MCwgMTI4LCA4NywgNzksIDc5LCA3OCwgMTI4LCA4NywgNzksIDc5LCA3NiwgMTI4LCA4NywgNzksIAorICAgIDc5LCA2OCwgODMsIDQ1LCA2NywgODIsIDY5LCAxOTcsIDg3LCA3OSwgNzksIDY4LCAxMjgsIDg3LCA3OSwgNzgsIDEyOCwgCisgICAgODcsIDc5LCAyMDYsIDg3LCA3OSwgNzcsIDY5LCA3OCwgMjExLCA4NywgNzksIDc3LCA2OSwgMjA2LCA4NywgNzksIDc3LCAKKyAgICA2NSwgNzgsIDIxMSwgODcsIDc5LCA3NywgNjUsIDc4LCAxMjgsIDg3LCA3OSwgNzcsIDY1LCAyMDYsIDg3LCA3OSwgNzYsIAorICAgIDc5LCA4MywgNzksIDEyOCwgODcsIDc5LCA3NiwgMTk4LCA4NywgNzksIDY5LCAxMjgsIDg3LCA3OSwgNjUsIDEyOCwgODcsIAorICAgIDczLCA4NCwgNzIsIDc5LCA4NSwgMjEyLCA4NywgNzMsIDg0LCA3MiwgNzMsIDc4LCAxMjgsIDg3LCA3MywgODQsIDcyLCA3MywgCisgICAgMjA2LCA4NywgNzMsIDgyLCA2OSwgMTk2LCA4NywgNzMsIDc4LCA4NCwgNjksIDgyLCAxMjgsIDg3LCA3MywgNzgsIDc1LCAKKyAgICA3MywgNzgsIDE5OSwgODcsIDczLCA3OCwgNzQsIDY1LCAxMjgsIDg3LCA3MywgNzgsIDcxLCA4MywgMTI4LCA4NywgNzMsIAorICAgIDc4LCA2OSwgMTI4LCA4NywgNzMsIDc4LCAxOTcsIDg3LCA3MywgNzgsIDY4LCA4NSwgMTI4LCA4NywgNzMsIDc4LCA2OCwgCisgICAgNzksIDg3LCAxMjgsIDg3LCA3MywgNzgsIDY4LCAxMjgsIDg3LCA3MywgNzgsIDE5NiwgODcsIDczLCA3OCwgMTI4LCA4NywgCiAgICAgNzMsIDcxLCA3OCwgODksIDY1LCA3OCwgMTI4LCA4NywgNzMsIDcxLCA3MSwgNzYsIDIxNywgODcsIDczLCA2OCwgNjksIDQ1LCAKICAgICA3MiwgNjksIDY1LCA2OCwgNjksIDE5NiwgODcsIDczLCA2OCwgMTk3LCA4NywgNzMsIDY1LCA3OCwgNzEsIDg3LCA2NSwgNjUsIAogICAgIDc1LCAxMjgsIDg3LCA3MywgNjUsIDc4LCA3MSwgMTI4LCA4NywgNzIsIDc5LCA3NiwgMTk3LCA4NywgNzIsIDczLCA4NCwgCiAgICAgNjksIDQ1LCA3MCwgNjksIDY1LCA4NCwgNzIsIDY5LCA4MiwgNjksIDE5NiwgODcsIDcyLCA3MywgODQsIDY5LCAxMjgsIDg3LCAKICAgICA3MiwgNjksIDY5LCA3NiwgNjksIDE5NiwgODcsIDcyLCA2OSwgNjksIDc2LCA2NywgNzIsIDY1LCA3MywgMjEwLCA4NywgNzIsIAogICAgIDY5LCA2OSwgNzYsIDEyOCwgODcsIDcyLCA2OSwgNjksIDIwNCwgODcsIDcyLCA2OSwgNjUsIDg0LCAxMjgsIDg3LCA3MiwgCi0gICAgNjUsIDc2LCA2OSwgMTI4LCA4NywgNzEsIDEyOCwgODcsIDY5LCA4OCwgMTI4LCA4NywgNjksIDg1LCA4OCwgMTI4LCA4NywgCi0gICAgNjksIDgzLCA4NCwgNjksIDgyLCAyMDYsIDg3LCA2OSwgODMsIDg0LCAxMjgsIDg3LCA2OSwgODMsIDIxMiwgODcsIDY5LCAKLSAgICA4MCwgMTI4LCA4NywgNjksIDc5LCAxMjgsIDg3LCA2OSwgNzgsIDEyOCwgODcsIDY5LCA3NiwgNzYsIDEyOCwgODcsIDY5LCAKLSAgICA3MywgNzEsIDcyLCAyMTIsIDg3LCA2OSwgNzMsIDY5LCA4MiwgODMsIDg0LCA4MiwgNjUsIDgzLCAyMTEsIDg3LCA2OSwgNjksIAotICAgIDc4LCAxMjgsIDg3LCA2OSwgNjgsIDcxLCA2OSwgNDUsIDg0LCA2NSwgNzMsIDc2LCA2OSwgMTk2LCA4NywgNjksIDY4LCA2OCwgCi0gICAgNzMsIDc4LCA3MSwgMTI4LCA4NywgNjksIDY1LCA4MiwgMjE3LCA4NywgNjksIDY1LCA4MCwgNzksIDc4LCAxMjgsIDg3LCAKLSAgICA2NywgMTI4LCA4NywgNjYsIDEyOCwgODcsIDY1LCA4OSwgMTI4LCA4NywgNjUsIDIxNywgODcsIDY1LCA4OCwgNzMsIDc4LCAKLSAgICAxOTksIDg3LCA2NSwgODgsIDEyOCwgODcsIDY1LCA4NywgNDUsIDY1LCA4OSwgNzMsIDc4LCA0NSwgODIsIDY5LCA4MywgNzIsIAotICAgIDEyOCwgODcsIDY1LCA4NywgMTI4LCA4NywgNjUsIDIxNSwgODcsIDY1LCA4NiwgMjE3LCA4NywgNjUsIDg2LCA3MywgNzgsIAotICAgIDE5OSwgODcsIDY1LCA4NiwgNjksIDgzLCAxMjgsIDg3LCA2NSwgODYsIDY5LCAxMjgsIDg3LCA2NSwgODYsIDE5NywgODcsIAotICAgIDY1LCA4NSwgMTI4LCA4NywgNjUsIDg0LCA4NCwgNzksIDEyOCwgODcsIDY1LCA4NCwgNjksIDgyLCA3NywgNjksIDc2LCA3OSwgCi0gICAgNzgsIDEyOCwgODcsIDY1LCA4NCwgNjksIDgyLCAxMjgsIDg3LCA2NSwgODQsIDY5LCAyMTAsIDg3LCA2NSwgODQsIDY3LCAKLSAgICA3MiwgMTI4LCA4NywgNjUsIDg0LCAxMjgsIDg3LCA2NSwgODMsIDg0LCA3MywgNzgsIDcxLCAxMjgsIDg3LCA2NSwgODMsIAotICAgIDgzLCA2NSwgNzYsIDc2LCA2NSwgNzcsIDEyOCwgODcsIDY1LCA4MywgNzYsIDY1LCAxMjgsIDg3LCA2NSwgODMsIDc2LCAKLSAgICAxOTMsIDg3LCA2NSwgODMsIDY1LCA3NiwgNzYsIDY1LCA3NywgMTI4LCA4NywgNjUsIDgzLCA2NSwgNzYsIDc2LCA2NSwgCi0gICAgMjA1LCA4NywgNjUsIDgyLCA3OCwgNzMsIDc4LCAxOTksIDg3LCA2NSwgODAsIDEyOCwgODcsIDY1LCA3OCwgNzMsIDc4LCAKLSAgICAxOTksIDg3LCA2NSwgNzgsIDcxLCA3NSwgODUsIDc5LCA4MSwgMTI4LCA4NywgNjUsIDc4LCA2OCwgNjksIDgyLCA2OSwgODIsIAotICAgIDEyOCwgODcsIDY1LCA3OCwgMTI4LCA4NywgNjUsIDc2LCA3NiwgMTI4LCA4NywgNjUsIDc2LCA3NSwgMTI4LCA4NywgNjUsIAotICAgIDc2LCAyMDMsIDg3LCA2NSwgNzMsIDg0LCA3MywgNzgsIDcxLCAxMjgsIDg3LCA2NSwgNzMsIDEyOCwgODcsIDY1LCA2OSwgCi0gICAgNzgsIDEyOCwgODcsIDY1LCA2OSwgMTI4LCA4NywgNjUsIDY1LCA4NiwgODUsIDEyOCwgODcsIDQ4LCA1MCwgNTMsIDEyOCwgCi0gICAgODcsIDQ4LCA1MCwgNTIsIDY1LCAxMjgsIDg3LCA0OCwgNTAsIDUyLCAxMjgsIDg3LCA0OCwgNTAsIDUxLCAxMjgsIDg3LCAKLSAgICA0OCwgNTAsIDUwLCAxMjgsIDg3LCA0OCwgNTAsIDQ5LCAxMjgsIDg3LCA0OCwgNTAsIDQ4LCAxMjgsIDg3LCA0OCwgNDksIAotICAgIDU3LCAxMjgsIDg3LCA0OCwgNDksIDU2LCA2NSwgMTI4LCA4NywgNDgsIDQ5LCA1NiwgMTI4LCA4NywgNDgsIDQ5LCA1NSwgCi0gICAgNjUsIDEyOCwgODcsIDQ4LCA0OSwgNTUsIDEyOCwgODcsIDQ4LCA0OSwgNTQsIDEyOCwgODcsIDQ4LCA0OSwgNTMsIDEyOCwgCi0gICAgODcsIDQ4LCA0OSwgNTIsIDY1LCAxMjgsIDg3LCA0OCwgNDksIDUyLCAxMjgsIDg3LCA0OCwgNDksIDUxLCAxMjgsIDg3LCAKLSAgICA0OCwgNDksIDUwLCAxMjgsIDg3LCA0OCwgNDksIDQ5LCAxMjgsIDg3LCA0OCwgNDksIDQ4LCA2NSwgMTI4LCA4NywgNDgsIAotICAgIDQ5LCA0OCwgMTI4LCA4NywgNDgsIDQ4LCA1NywgNjUsIDEyOCwgODcsIDQ4LCA0OCwgNTcsIDEyOCwgODcsIDQ4LCA0OCwgCi0gICAgNTYsIDEyOCwgODcsIDQ4LCA0OCwgNTUsIDEyOCwgODcsIDQ4LCA0OCwgNTQsIDEyOCwgODcsIDQ4LCA0OCwgNTMsIDEyOCwgCi0gICAgODcsIDQ4LCA0OCwgNTIsIDEyOCwgODcsIDQ4LCA0OCwgNTEsIDY1LCAxMjgsIDg3LCA0OCwgNDgsIDUxLCAxMjgsIDg3LCAKLSAgICA0OCwgNDgsIDUwLCAxMjgsIDg3LCA0OCwgNDgsIDQ5LCAxMjgsIDg2LCA5MCwgNzcsIDY5LCA4NCwgMTI4LCA4NiwgODksIAotICAgIDg4LCAxMjgsIDg2LCA4OSwgODQsIDEyOCwgODYsIDg5LCA4MiwgODgsIDEyOCwgODYsIDg5LCA4MiwgMTI4LCA4NiwgODksIAotICAgIDgwLCAxMjgsIDg2LCA4OSwgMTI4LCA4NiwgODcsIDY1LCAxMjgsIDg2LCA4NSwgODgsIDEyOCwgODYsIDg1LCA4NSwgMTI4LCAKKyAgICA2NSwgNzYsIDY5LCAxMjgsIDg3LCA3MiwgMTI4LCA4NywgNzEsIDEyOCwgODcsIDY5LCA4OCwgMTI4LCA4NywgNjksIDg1LCAKKyAgICA4OCwgMTI4LCA4NywgNjksIDgzLCA4NCwgNjksIDgyLCAyMDYsIDg3LCA2OSwgODMsIDg0LCAxMjgsIDg3LCA2OSwgODMsIAorICAgIDIxMiwgODcsIDY5LCA4MCwgMTI4LCA4NywgNjksIDc5LCAxMjgsIDg3LCA2OSwgNzgsIDEyOCwgODcsIDY5LCA3NiwgNzYsIAorICAgIDEyOCwgODcsIDY5LCA3MywgNzEsIDcyLCAyMTIsIDg3LCA2OSwgNzMsIDY5LCA4MiwgODMsIDg0LCA4MiwgNjUsIDgzLCAKKyAgICAyMTEsIDg3LCA2OSwgNzMsIDEyOCwgODcsIDY5LCA2OSwgNzgsIDEyOCwgODcsIDY5LCA2OCwgNzEsIDY5LCA0NSwgODQsIAorICAgIDY1LCA3MywgNzYsIDY5LCAxOTYsIDg3LCA2OSwgNjgsIDY4LCA3MywgNzgsIDcxLCAxMjgsIDg3LCA2OSwgNjYsIDEyOCwgCisgICAgODcsIDY5LCA2NSwgODIsIDIxNywgODcsIDY5LCA2NSwgODAsIDc5LCA3OCwgMTI4LCA4NywgNjcsIDEyOCwgODcsIDY2LCAKKyAgICAxMjgsIDg3LCA2NSwgODksIDEyOCwgODcsIDY1LCAyMTcsIDg3LCA2NSwgODgsIDczLCA3OCwgMTk5LCA4NywgNjUsIDg4LCAKKyAgICAxMjgsIDg3LCA2NSwgODcsIDQ1LCA2NSwgODksIDczLCA3OCwgNDUsIDgyLCA2OSwgODMsIDcyLCAxMjgsIDg3LCA2NSwgODcsIAorICAgIDEyOCwgODcsIDY1LCAyMTUsIDg3LCA2NSwgODYsIDIxNywgODcsIDY1LCA4NiwgNzMsIDc4LCAxOTksIDg3LCA2NSwgODYsIAorICAgIDY5LCA4MywgMTI4LCA4NywgNjUsIDg2LCA2OSwgMTI4LCA4NywgNjUsIDg2LCAxOTcsIDg3LCA2NSwgODUsIDEyOCwgODcsIAorICAgIDY1LCA4NCwgODQsIDc5LCAxMjgsIDg3LCA2NSwgODQsIDY5LCA4MiwgNzcsIDY5LCA3NiwgNzksIDc4LCAxMjgsIDg3LCA2NSwgCisgICAgODQsIDY5LCA4MiwgMTI4LCA4NywgNjUsIDg0LCA2OSwgMjEwLCA4NywgNjUsIDg0LCA2NywgNzIsIDEyOCwgODcsIDY1LCAKKyAgICA4NCwgMTI4LCA4NywgNjUsIDgzLCA4NCwgNzMsIDc4LCA3MSwgMTI4LCA4NywgNjUsIDgzLCA4NCwgNjksIDY2LCA2NSwgODMsIAorICAgIDc1LCA2OSwgODQsIDEyOCwgODcsIDY1LCA4MywgODMsIDY1LCA3NiwgNzYsIDY1LCA3NywgMTI4LCA4NywgNjUsIDgzLCA3NiwgCisgICAgNjUsIDEyOCwgODcsIDY1LCA4MywgNzYsIDE5MywgODcsIDY1LCA4MywgNjUsIDc2LCA3NiwgNjUsIDc3LCAxMjgsIDg3LCAKKyAgICA2NSwgODMsIDY1LCA3NiwgNzYsIDY1LCAyMDUsIDg3LCA2NSwgODIsIDc4LCA3MywgNzgsIDE5OSwgODcsIDY1LCA4MCwgCisgICAgMTI4LCA4NywgNjUsIDc4LCA3MywgNzgsIDE5OSwgODcsIDY1LCA3OCwgNzEsIDc1LCA4NSwgNzksIDgxLCAxMjgsIDg3LCAKKyAgICA2NSwgNzgsIDY4LCA2OSwgODIsIDY5LCA4MiwgMTI4LCA4NywgNjUsIDc4LCAxMjgsIDg3LCA2NSwgNzYsIDc2LCAxMjgsIAorICAgIDg3LCA2NSwgNzYsIDc1LCAxMjgsIDg3LCA2NSwgNzYsIDIwMywgODcsIDY1LCA3MywgODQsIDczLCA3OCwgNzEsIDEyOCwgCisgICAgODcsIDY1LCA3MywgMTI4LCA4NywgNjUsIDY5LCA3OCwgMTI4LCA4NywgNjUsIDY5LCAxMjgsIDg3LCA2NSwgNjgsIDY4LCAKKyAgICA2NSwgMTI4LCA4NywgNjUsIDY1LCA4NiwgODUsIDEyOCwgODcsIDQ4LCA1MCwgNTMsIDEyOCwgODcsIDQ4LCA1MCwgNTIsIAorICAgIDY1LCAxMjgsIDg3LCA0OCwgNTAsIDUyLCAxMjgsIDg3LCA0OCwgNTAsIDUxLCAxMjgsIDg3LCA0OCwgNTAsIDUwLCAxMjgsIAorICAgIDg3LCA0OCwgNTAsIDQ5LCAxMjgsIDg3LCA0OCwgNTAsIDQ4LCAxMjgsIDg3LCA0OCwgNDksIDU3LCAxMjgsIDg3LCA0OCwgCisgICAgNDksIDU2LCA2NSwgMTI4LCA4NywgNDgsIDQ5LCA1NiwgMTI4LCA4NywgNDgsIDQ5LCA1NSwgNjUsIDEyOCwgODcsIDQ4LCAKKyAgICA0OSwgNTUsIDEyOCwgODcsIDQ4LCA0OSwgNTQsIDEyOCwgODcsIDQ4LCA0OSwgNTMsIDEyOCwgODcsIDQ4LCA0OSwgNTIsIAorICAgIDY1LCAxMjgsIDg3LCA0OCwgNDksIDUyLCAxMjgsIDg3LCA0OCwgNDksIDUxLCAxMjgsIDg3LCA0OCwgNDksIDUwLCAxMjgsIAorICAgIDg3LCA0OCwgNDksIDQ5LCAxMjgsIDg3LCA0OCwgNDksIDQ4LCA2NSwgMTI4LCA4NywgNDgsIDQ5LCA0OCwgMTI4LCA4NywgCisgICAgNDgsIDQ4LCA1NywgNjUsIDEyOCwgODcsIDQ4LCA0OCwgNTcsIDEyOCwgODcsIDQ4LCA0OCwgNTYsIDEyOCwgODcsIDQ4LCAKKyAgICA0OCwgNTUsIDEyOCwgODcsIDQ4LCA0OCwgNTQsIDEyOCwgODcsIDQ4LCA0OCwgNTMsIDEyOCwgODcsIDQ4LCA0OCwgNTIsIAorICAgIDEyOCwgODcsIDQ4LCA0OCwgNTEsIDY1LCAxMjgsIDg3LCA0OCwgNDgsIDUxLCAxMjgsIDg3LCA0OCwgNDgsIDUwLCAxMjgsIAorICAgIDg3LCA0OCwgNDgsIDQ5LCAxMjgsIDg2LCA5MCwgNzcsIDY5LCA4NCwgMTI4LCA4NiwgODksIDg4LCAxMjgsIDg2LCA4OSwgCisgICAgODQsIDEyOCwgODYsIDg5LCA4MiwgODgsIDEyOCwgODYsIDg5LCA4MiwgMTI4LCA4NiwgODksIDgwLCAxMjgsIDg2LCA4OSwgCisgICAgMTI4LCA4NiwgODcsIDc0LCAxMjgsIDg2LCA4NywgNjUsIDEyOCwgODYsIDg1LCA4OCwgMTI4LCA4NiwgODUsIDg1LCAxMjgsIAogICAgIDg2LCA4NSwgODQsIDEyOCwgODYsIDg1LCA4MiwgODgsIDEyOCwgODYsIDg1LCA4MiwgMTI4LCA4NiwgODUsIDgwLCAxMjgsIAogICAgIDg2LCA4NSwgNzYsIDcxLCA2NSwgMjEwLCA4NiwgODUsIDY5LCA4MSwgMTI4LCA4NiwgODQsIDgzLCAxMjgsIDg2LCA4NCwgCiAgICAgMTI4LCA4NiwgODMsIDU3LCA1NywgMTI4LCA4NiwgODMsIDU3LCA1NiwgMTI4LCA4NiwgODMsIDU3LCA1NSwgMTI4LCA4NiwgCkBAIC0zNDcsMjMyICszNTcsMjUwIEBACiAgICAgNDgsIDQ5LCAxMjgsIDg2LCA4MywgNDksIDQ4LCA0OCwgMTI4LCA4NiwgODMsIDQ5LCA0OCwgMTI4LCA4NiwgODMsIDQ5LCAKICAgICAxMjgsIDg2LCA4MywgMTI4LCA4NiwgODIsIDY1LCA2NywgNzIsIDg5LCAxMjgsIDg2LCA3OSwgODgsIDEyOCwgODYsIDc5LCAKICAgICA4NywgNjksIDc2LCA0NSwgNjcsIDY1LCA4MiwgODIsIDczLCA2OSwgMjEwLCA4NiwgNzksIDg3LCAxMjgsIDg2LCA3OSwgODUsIAotICAgIDEyOCwgODYsIDc5LCA4NCwgMTI4LCA4NiwgNzksIDgwLCAxMjgsIDg2LCA3OSwgNzksIDEyOCwgODYsIDc5LCA3NywgMTI4LCAKLSAgICA4NiwgNzksIDc2LCA4NSwgNzcsIDE5NywgODYsIDc5LCA3NiwgODQsIDY1LCA3MSwgMTk3LCA4NiwgNzksIDc2LCA2NywgNjUsIAotICAgIDc4LCA3OSwgMTI4LCA4NiwgNzksIDczLCAxOTYsIDg2LCA3OSwgNzMsIDY3LCA3MywgNzgsIDcxLCAxMjgsIDg2LCA3OSwgCi0gICAgNzMsIDY3LCA2OSwgNzYsIDY5LCA4MywgMjExLCA4NiwgNzksIDczLCA2NywgNjksIDE5NiwgODYsIDc5LCA2NywgNjUsIDc2LCAKLSAgICA3MywgOTAsIDY1LCA4NCwgNzMsIDc5LCAyMDYsIDg2LCA3OSwgNjcsIDY1LCAyMDQsIDg2LCA3OSwgMTI4LCA4NiwgNzMsIAotICAgIDg4LCAxMjgsIDg2LCA3MywgODQsIDgyLCA3MywgNzksIDc2LCA0NSwgNTAsIDEyOCwgODYsIDczLCA4NCwgODIsIDczLCA3OSwgCi0gICAgNzYsIDEyOCwgODYsIDczLCA4NCwgNjUsIDY5LCA0NSwgNTAsIDEyOCwgODYsIDczLCA4NCwgNjUsIDY5LCAxMjgsIDg2LCAKLSAgICA3MywgODQsIDEyOCwgODYsIDczLCA4MywgNzMsIDcxLCA3OSwgODQsIDcyLCA3MywgMTk1LCA4NiwgNzMsIDgzLCA2NSwgODIsIAotICAgIDcxLCA2NSwgODksIDY1LCAxMjgsIDg2LCA3MywgODMsIDY1LCA4MiwgNzEsIDY1LCAxMjgsIDg2LCA3MywgODMsIDY1LCA4MiwgCi0gICAgNzEsIDE5MywgODYsIDczLCA4MiwgNzMsIDY1LCA3NywgMTI4LCA4NiwgNzMsIDgyLCA3MSwgNzksIDEyOCwgODYsIDczLCAKLSAgICA4MiwgNzEsIDY1LCAxMjgsIDg2LCA3MywgODIsIDY1LCA3NywgNjUsIDEyOCwgODYsIDczLCA4MCwgMTI4LCA4NiwgNzMsIAotICAgIDc5LCA3NiwgNzMsIDc4LCAxMjgsIDg2LCA3MywgNzgsIDY5LCA3MSwgNjUsIDgyLCA0NSwgNTEsIDEyOCwgODYsIDczLCA3OCwgCi0gICAgNjksIDcxLCA2NSwgODIsIDQ1LCA1MCwgMTI4LCA4NiwgNzMsIDc4LCA2OSwgNzEsIDY1LCA4MiwgMTI4LCA4NiwgNzMsIDc4LCAKLSAgICA2OSwgNzEsIDY1LCAyMTAsIDg2LCA3MywgNzgsIDY5LCAxMjgsIDg2LCA3MywgNzgsIDEyOCwgODYsIDczLCA3NiwgNzYsIAotICAgIDY1LCA3MSwgNjksIDEyOCwgODYsIDczLCA3MywgMTI4LCA4NiwgNzMsIDY5LCA4OCwgMTI4LCA4NiwgNzMsIDY5LCA4NywgCi0gICAgNzMsIDc4LCAxOTksIDg2LCA3MywgNjksIDg3LCA2OCwgNjUsIDg0LCAxOTMsIDg2LCA3MywgNjksIDg0LCAxMjgsIDg2LCAKLSAgICA3MywgNjksIDgwLCAxMjgsIDg2LCA3MywgNjksIDEyOCwgODYsIDczLCA2OCwgNzQsIDQ1LCA1MCwgMTI4LCA4NiwgNzMsIAotICAgIDY4LCA3NCwgMTI4LCA4NiwgNzMsIDY4LCA2OSwgNzksIDY3LCA2NSwgODMsIDgzLCA2OSwgODQsIDg0LCA2OSwgMTI4LCA4NiwgCi0gICAgNzMsIDY4LCA2OSwgMjA3LCA4NiwgNzMsIDY4LCA2NSwgMTI4LCA4NiwgNzMsIDY3LCA4NCwgNzksIDgyLCAyMTcsIDg2LCAKLSAgICA3MywgNjYsIDgyLCA2NSwgODQsIDczLCA3OSwgMjA2LCA4NiwgNzMsIDEyOCwgODYsIDcwLCA2NSwgMTI4LCA4NiwgNjksIAotICAgIDg4LCAxMjgsIDg2LCA2OSwgODcsIDEyOCwgODYsIDY5LCAyMTUsIDg2LCA2OSwgODUsIDg4LCAxMjgsIDg2LCA2OSwgODUsIAotICAgIDc3LCAxMjgsIDg2LCA2OSwgODUsIDY1LCA2OSwgODAsIDY5LCA3OCwgMTI4LCA4NiwgNjksIDg1LCA2NSwgNjksIDEyOCwgCi0gICAgODYsIDY5LCA4MywgODQsIDY1LCAxMjgsIDg2LCA2OSwgODMsIDgzLCA2OSwgMjA0LCA4NiwgNjksIDgyLCAyMTcsIDg2LCAKLSAgICA2OSwgODIsIDg0LCA3MywgNjcsIDY1LCA3NiwgNzYsIDg5LCAxMjgsIDg2LCA2OSwgODIsIDg0LCA3MywgNjcsIDY1LCA3NiwgCi0gICAgNzYsIDIxNywgODYsIDY5LCA4MiwgODQsIDczLCA2NywgNjUsIDc2LCA0NSwgNDgsIDU0LCA0NSwgNDgsIDU0LCAxMjgsIDg2LCAKLSAgICA2OSwgODIsIDg0LCA3MywgNjcsIDY1LCA3NiwgNDUsIDQ4LCA1NCwgNDUsIDQ4LCA1MywgMTI4LCA4NiwgNjksIDgyLCA4NCwgCi0gICAgNzMsIDY3LCA2NSwgNzYsIDQ1LCA0OCwgNTQsIDQ1LCA0OCwgNTIsIDEyOCwgODYsIDY5LCA4MiwgODQsIDczLCA2NywgNjUsIAotICAgIDc2LCA0NSwgNDgsIDU0LCA0NSwgNDgsIDUxLCAxMjgsIDg2LCA2OSwgODIsIDg0LCA3MywgNjcsIDY1LCA3NiwgNDUsIDQ4LCAKLSAgICA1NCwgNDUsIDQ4LCA1MCwgMTI4LCA4NiwgNjksIDgyLCA4NCwgNzMsIDY3LCA2NSwgNzYsIDQ1LCA0OCwgNTQsIDQ1LCA0OCwgCi0gICAgNDksIDEyOCwgODYsIDY5LCA4MiwgODQsIDczLCA2NywgNjUsIDc2LCA0NSwgNDgsIDU0LCA0NSwgNDgsIDQ4LCAxMjgsIDg2LCAKLSAgICA2OSwgODIsIDg0LCA3MywgNjcsIDY1LCA3NiwgNDUsIDQ4LCA1MywgNDUsIDQ4LCA1NCwgMTI4LCA4NiwgNjksIDgyLCA4NCwgCi0gICAgNzMsIDY3LCA2NSwgNzYsIDQ1LCA0OCwgNTMsIDQ1LCA0OCwgNTMsIDEyOCwgODYsIDY5LCA4MiwgODQsIDczLCA2NywgNjUsIAotICAgIDc2LCA0NSwgNDgsIDUzLCA0NSwgNDgsIDUyLCAxMjgsIDg2LCA2OSwgODIsIDg0LCA3MywgNjcsIDY1LCA3NiwgNDUsIDQ4LCAKLSAgICA1MywgNDUsIDQ4LCA1MSwgMTI4LCA4NiwgNjksIDgyLCA4NCwgNzMsIDY3LCA2NSwgNzYsIDQ1LCA0OCwgNTMsIDQ1LCA0OCwgCi0gICAgNTAsIDEyOCwgODYsIDY5LCA4MiwgODQsIDczLCA2NywgNjUsIDc2LCA0NSwgNDgsIDUzLCA0NSwgNDgsIDQ5LCAxMjgsIDg2LCAKLSAgICA2OSwgODIsIDg0LCA3MywgNjcsIDY1LCA3NiwgNDUsIDQ4LCA1MywgNDUsIDQ4LCA0OCwgMTI4LCA4NiwgNjksIDgyLCA4NCwgCi0gICAgNzMsIDY3LCA2NSwgNzYsIDQ1LCA0OCwgNTIsIDQ1LCA0OCwgNTQsIDEyOCwgODYsIDY5LCA4MiwgODQsIDczLCA2NywgNjUsIAotICAgIDc2LCA0NSwgNDgsIDUyLCA0NSwgNDgsIDUzLCAxMjgsIDg2LCA2OSwgODIsIDg0LCA3MywgNjcsIDY1LCA3NiwgNDUsIDQ4LCAKLSAgICA1MiwgNDUsIDQ4LCA1MiwgMTI4LCA4NiwgNjksIDgyLCA4NCwgNzMsIDY3LCA2NSwgNzYsIDQ1LCA0OCwgNTIsIDQ1LCA0OCwgCi0gICAgNTEsIDEyOCwgODYsIDY5LCA4MiwgODQsIDczLCA2NywgNjUsIDc2LCA0NSwgNDgsIDUyLCA0NSwgNDgsIDUwLCAxMjgsIDg2LCAKLSAgICA2OSwgODIsIDg0LCA3MywgNjcsIDY1LCA3NiwgNDUsIDQ4LCA1MiwgNDUsIDQ4LCA0OSwgMTI4LCA4NiwgNjksIDgyLCA4NCwgCi0gICAgNzMsIDY3LCA2NSwgNzYsIDQ1LCA0OCwgNTIsIDQ1LCA0OCwgNDgsIDEyOCwgODYsIDY5LCA4MiwgODQsIDczLCA2NywgNjUsIAotICAgIDc2LCA0NSwgNDgsIDUxLCA0NSwgNDgsIDU0LCAxMjgsIDg2LCA2OSwgODIsIDg0LCA3MywgNjcsIDY1LCA3NiwgNDUsIDQ4LCAKLSAgICA1MSwgNDUsIDQ4LCA1MywgMTI4LCA4NiwgNjksIDgyLCA4NCwgNzMsIDY3LCA2NSwgNzYsIDQ1LCA0OCwgNTEsIDQ1LCA0OCwgCi0gICAgNTIsIDEyOCwgODYsIDY5LCA4MiwgODQsIDczLCA2NywgNjUsIDc2LCA0NSwgNDgsIDUxLCA0NSwgNDgsIDUxLCAxMjgsIDg2LCAKLSAgICA2OSwgODIsIDg0LCA3MywgNjcsIDY1LCA3NiwgNDUsIDQ4LCA1MSwgNDUsIDQ4LCA1MCwgMTI4LCA4NiwgNjksIDgyLCA4NCwgCi0gICAgNzMsIDY3LCA2NSwgNzYsIDQ1LCA0OCwgNTEsIDQ1LCA0OCwgNDksIDEyOCwgODYsIDY5LCA4MiwgODQsIDczLCA2NywgNjUsIAotICAgIDc2LCA0NSwgNDgsIDUxLCA0NSwgNDgsIDQ4LCAxMjgsIDg2LCA2OSwgODIsIDg0LCA3MywgNjcsIDY1LCA3NiwgNDUsIDQ4LCAKLSAgICA1MCwgNDUsIDQ4LCA1NCwgMTI4LCA4NiwgNjksIDgyLCA4NCwgNzMsIDY3LCA2NSwgNzYsIDQ1LCA0OCwgNTAsIDQ1LCA0OCwgCi0gICAgNTMsIDEyOCwgODYsIDY5LCA4MiwgODQsIDczLCA2NywgNjUsIDc2LCA0NSwgNDgsIDUwLCA0NSwgNDgsIDUyLCAxMjgsIDg2LCAKLSAgICA2OSwgODIsIDg0LCA3MywgNjcsIDY1LCA3NiwgNDUsIDQ4LCA1MCwgNDUsIDQ4LCA1MSwgMTI4LCA4NiwgNjksIDgyLCA4NCwgCi0gICAgNzMsIDY3LCA2NSwgNzYsIDQ1LCA0OCwgNTAsIDQ1LCA0OCwgNTAsIDEyOCwgODYsIDY5LCA4MiwgODQsIDczLCA2NywgNjUsIAotICAgIDc2LCA0NSwgNDgsIDUwLCA0NSwgNDgsIDQ5LCAxMjgsIDg2LCA2OSwgODIsIDg0LCA3MywgNjcsIDY1LCA3NiwgNDUsIDQ4LCAKLSAgICA1MCwgNDUsIDQ4LCA0OCwgMTI4LCA4NiwgNjksIDgyLCA4NCwgNzMsIDY3LCA2NSwgNzYsIDQ1LCA0OCwgNDksIDQ1LCA0OCwgCi0gICAgNTQsIDEyOCwgODYsIDY5LCA4MiwgODQsIDczLCA2NywgNjUsIDc2LCA0NSwgNDgsIDQ5LCA0NSwgNDgsIDUzLCAxMjgsIDg2LCAKLSAgICA2OSwgODIsIDg0LCA3MywgNjcsIDY1LCA3NiwgNDUsIDQ4LCA0OSwgNDUsIDQ4LCA1MiwgMTI4LCA4NiwgNjksIDgyLCA4NCwgCi0gICAgNzMsIDY3LCA2NSwgNzYsIDQ1LCA0OCwgNDksIDQ1LCA0OCwgNTEsIDEyOCwgODYsIDY5LCA4MiwgODQsIDczLCA2NywgNjUsIAotICAgIDc2LCA0NSwgNDgsIDQ5LCA0NSwgNDgsIDUwLCAxMjgsIDg2LCA2OSwgODIsIDg0LCA3MywgNjcsIDY1LCA3NiwgNDUsIDQ4LCAKLSAgICA0OSwgNDUsIDQ4LCA0OSwgMTI4LCA4NiwgNjksIDgyLCA4NCwgNzMsIDY3LCA2NSwgNzYsIDQ1LCA0OCwgNDksIDQ1LCA0OCwgCi0gICAgNDgsIDEyOCwgODYsIDY5LCA4MiwgODQsIDczLCA2NywgNjUsIDc2LCA0NSwgNDgsIDQ4LCA0NSwgNDgsIDU0LCAxMjgsIDg2LCAKLSAgICA2OSwgODIsIDg0LCA3MywgNjcsIDY1LCA3NiwgNDUsIDQ4LCA0OCwgNDUsIDQ4LCA1MywgMTI4LCA4NiwgNjksIDgyLCA4NCwgCi0gICAgNzMsIDY3LCA2NSwgNzYsIDQ1LCA0OCwgNDgsIDQ1LCA0OCwgNTIsIDEyOCwgODYsIDY5LCA4MiwgODQsIDczLCA2NywgNjUsIAotICAgIDc2LCA0NSwgNDgsIDQ4LCA0NSwgNDgsIDUxLCAxMjgsIDg2LCA2OSwgODIsIDg0LCA3MywgNjcsIDY1LCA3NiwgNDUsIDQ4LCAKLSAgICA0OCwgNDUsIDQ4LCA1MCwgMTI4LCA4NiwgNjksIDgyLCA4NCwgNzMsIDY3LCA2NSwgNzYsIDQ1LCA0OCwgNDgsIDQ1LCA0OCwgCi0gICAgNDksIDEyOCwgODYsIDY5LCA4MiwgODQsIDczLCA2NywgNjUsIDc2LCA0NSwgNDgsIDQ4LCA0NSwgNDgsIDQ4LCAxMjgsIDg2LCAKLSAgICA2OSwgODIsIDg0LCA3MywgNjcsIDY1LCA3NiwgMTI4LCA4NiwgNjksIDgyLCA4MywgNzMsIDY3LCA3NiwgNjksIDEyOCwgODYsIAotICAgIDY5LCA4MiwgODMsIDE5NywgODYsIDY5LCA4MiwgNzEsIDY5LCAxMjgsIDg2LCA2OSwgODIsIDY4LCA3MywgNzEsIDgyLCA3MywgCi0gICAgODMsIDEyOCwgODYsIDY5LCA4MCwgMTI4LCA4NiwgNjksIDc4LCA2OCwgMTI4LCA4NiwgNjksIDczLCA3NiwgMTI4LCA4NiwgCisgICAgMTI4LCA4NiwgNzksIDg0LCAxMjgsIDg2LCA3OSwgMjExLCA4NiwgNzksIDgwLCAxMjgsIDg2LCA3OSwgNzksIDczLCAxMjgsIAorICAgIDg2LCA3OSwgNzksIDEyOCwgODYsIDc5LCA3NywgMTI4LCA4NiwgNzksIDc2LCA4NSwgNzcsIDE5NywgODYsIDc5LCA3NiwgCisgICAgODQsIDY1LCA3MSwgMTk3LCA4NiwgNzksIDc2LCA2NywgNjUsIDc4LCA3OSwgMTI4LCA4NiwgNzksIDc2LCA2NSwgODAsIDg1LCAKKyAgICAyMDMsIDg2LCA3OSwgNzMsIDE5NiwgODYsIDc5LCA3MywgNjcsIDczLCA3OCwgNzEsIDEyOCwgODYsIDc5LCA3MywgNjcsIAorICAgIDY5LCA3NiwgNjksIDgzLCAyMTEsIDg2LCA3OSwgNzMsIDY3LCA2OSwgMTk2LCA4NiwgNzksIDY3LCA2NSwgNzYsIDczLCA5MCwgCisgICAgNjUsIDg0LCA3MywgNzksIDIwNiwgODYsIDc5LCA2NywgNjUsIDIwNCwgODYsIDc5LCAxMjgsIDg2LCA3MywgODksIDc5LCAKKyAgICAxMjgsIDg2LCA3MywgODgsIDEyOCwgODYsIDczLCA4NCwgODIsIDczLCA3OSwgNzYsIDQ1LCA1MCwgMTI4LCA4NiwgNzMsIAorICAgIDg0LCA4MiwgNzMsIDc5LCA3NiwgMTI4LCA4NiwgNzMsIDg0LCA2NSwgNjksIDQ1LCA1MCwgMTI4LCA4NiwgNzMsIDg0LCA2NSwgCisgICAgNjksIDEyOCwgODYsIDczLCA4NCwgMTI4LCA4NiwgNzMsIDgzLCA3MywgNzEsIDc5LCA4NCwgNzIsIDczLCAxOTUsIDg2LCAKKyAgICA3MywgODMsIDY1LCA4MiwgNzEsIDY1LCA4OSwgNjUsIDEyOCwgODYsIDczLCA4MywgNjUsIDgyLCA3MSwgNjUsIDEyOCwgODYsIAorICAgIDczLCA4MywgNjUsIDgyLCA3MSwgMTkzLCA4NiwgNzMsIDgyLCA3MywgNjUsIDc3LCAxMjgsIDg2LCA3MywgODIsIDcxLCA3OSwgCisgICAgMTI4LCA4NiwgNzMsIDgyLCA3MSwgNjUsIDEyOCwgODYsIDczLCA4MiwgNjUsIDc3LCA2NSwgMTI4LCA4NiwgNzMsIDgwLCAKKyAgICAxMjgsIDg2LCA3MywgNzksIDc2LCA3MywgNzgsIDEyOCwgODYsIDczLCA3OCwgNjksIDcxLCA2NSwgODIsIDQ1LCA1MSwgCisgICAgMTI4LCA4NiwgNzMsIDc4LCA2OSwgNzEsIDY1LCA4MiwgNDUsIDUwLCAxMjgsIDg2LCA3MywgNzgsIDY5LCA3MSwgNjUsIDgyLCAKKyAgICAxMjgsIDg2LCA3MywgNzgsIDY5LCA3MSwgNjUsIDIxMCwgODYsIDczLCA3OCwgNjksIDEyOCwgODYsIDczLCA3OCwgMTk3LCAKKyAgICA4NiwgNzMsIDc4LCAxMjgsIDg2LCA3MywgNzYsIDc2LCA2NSwgNzEsIDY5LCAxMjgsIDg2LCA3MywgNzMsIDEyOCwgODYsIAorICAgIDczLCA2OSwgODgsIDEyOCwgODYsIDczLCA2OSwgODcsIDczLCA3OCwgMTk5LCA4NiwgNzMsIDY5LCA4NywgNjgsIDY1LCA4NCwgCisgICAgMTkzLCA4NiwgNzMsIDY5LCA4NCwgMTI4LCA4NiwgNzMsIDY5LCAyMTIsIDg2LCA3MywgNjksIDgwLCAxMjgsIDg2LCA3MywgCisgICAgNjksIDEyOCwgODYsIDczLCA2OCwgNzQsIDQ1LCA1MCwgMTI4LCA4NiwgNzMsIDY4LCA3NCwgMTI4LCA4NiwgNzMsIDY4LCAKKyAgICA2OSwgNzksIDY3LCA2NSwgODMsIDgzLCA2OSwgODQsIDg0LCA2OSwgMTI4LCA4NiwgNzMsIDY4LCA2OSwgMjA3LCA4NiwgNzMsIAorICAgIDY4LCA2NSwgMTI4LCA4NiwgNzMsIDY3LCA4NCwgNzksIDgyLCAyMTcsIDg2LCA3MywgNjYsIDgyLCA2NSwgODQsIDczLCA3OSwgCisgICAgMjA2LCA4NiwgNzAsIDY1LCAxMjgsIDg2LCA2OSwgODksIDkwLCAxMjgsIDg2LCA2OSwgODgsIDEyOCwgODYsIDY5LCA4NywgCisgICAgMTI4LCA4NiwgNjksIDIxNSwgODYsIDY5LCA4NSwgODgsIDEyOCwgODYsIDY5LCA4NSwgNzcsIDEyOCwgODYsIDY5LCA4NSwgCisgICAgNjUsIDY5LCA4MCwgNjksIDc4LCAxMjgsIDg2LCA2OSwgODUsIDY1LCA2OSwgMTI4LCA4NiwgNjksIDgzLCA4NCwgNjUsIAorICAgIDEyOCwgODYsIDY5LCA4MywgODMsIDY5LCAyMDQsIDg2LCA2OSwgODIsIDIxNywgODYsIDY5LCA4MiwgODQsIDczLCA2NywgCisgICAgNjUsIDc2LCA3NiwgODksIDEyOCwgODYsIDY5LCA4MiwgODQsIDczLCA2NywgNjUsIDc2LCA3NiwgMjE3LCA4NiwgNjksIDgyLCAKKyAgICA4NCwgNzMsIDY3LCA2NSwgNzYsIDQ1LCA0OCwgNTQsIDQ1LCA0OCwgNTQsIDEyOCwgODYsIDY5LCA4MiwgODQsIDczLCA2NywgCisgICAgNjUsIDc2LCA0NSwgNDgsIDU0LCA0NSwgNDgsIDUzLCAxMjgsIDg2LCA2OSwgODIsIDg0LCA3MywgNjcsIDY1LCA3NiwgNDUsIAorICAgIDQ4LCA1NCwgNDUsIDQ4LCA1MiwgMTI4LCA4NiwgNjksIDgyLCA4NCwgNzMsIDY3LCA2NSwgNzYsIDQ1LCA0OCwgNTQsIDQ1LCAKKyAgICA0OCwgNTEsIDEyOCwgODYsIDY5LCA4MiwgODQsIDczLCA2NywgNjUsIDc2LCA0NSwgNDgsIDU0LCA0NSwgNDgsIDUwLCAxMjgsIAorICAgIDg2LCA2OSwgODIsIDg0LCA3MywgNjcsIDY1LCA3NiwgNDUsIDQ4LCA1NCwgNDUsIDQ4LCA0OSwgMTI4LCA4NiwgNjksIDgyLCAKKyAgICA4NCwgNzMsIDY3LCA2NSwgNzYsIDQ1LCA0OCwgNTQsIDQ1LCA0OCwgNDgsIDEyOCwgODYsIDY5LCA4MiwgODQsIDczLCA2NywgCisgICAgNjUsIDc2LCA0NSwgNDgsIDUzLCA0NSwgNDgsIDU0LCAxMjgsIDg2LCA2OSwgODIsIDg0LCA3MywgNjcsIDY1LCA3NiwgNDUsIAorICAgIDQ4LCA1MywgNDUsIDQ4LCA1MywgMTI4LCA4NiwgNjksIDgyLCA4NCwgNzMsIDY3LCA2NSwgNzYsIDQ1LCA0OCwgNTMsIDQ1LCAKKyAgICA0OCwgNTIsIDEyOCwgODYsIDY5LCA4MiwgODQsIDczLCA2NywgNjUsIDc2LCA0NSwgNDgsIDUzLCA0NSwgNDgsIDUxLCAxMjgsIAorICAgIDg2LCA2OSwgODIsIDg0LCA3MywgNjcsIDY1LCA3NiwgNDUsIDQ4LCA1MywgNDUsIDQ4LCA1MCwgMTI4LCA4NiwgNjksIDgyLCAKKyAgICA4NCwgNzMsIDY3LCA2NSwgNzYsIDQ1LCA0OCwgNTMsIDQ1LCA0OCwgNDksIDEyOCwgODYsIDY5LCA4MiwgODQsIDczLCA2NywgCisgICAgNjUsIDc2LCA0NSwgNDgsIDUzLCA0NSwgNDgsIDQ4LCAxMjgsIDg2LCA2OSwgODIsIDg0LCA3MywgNjcsIDY1LCA3NiwgNDUsIAorICAgIDQ4LCA1MiwgNDUsIDQ4LCA1NCwgMTI4LCA4NiwgNjksIDgyLCA4NCwgNzMsIDY3LCA2NSwgNzYsIDQ1LCA0OCwgNTIsIDQ1LCAKKyAgICA0OCwgNTMsIDEyOCwgODYsIDY5LCA4MiwgODQsIDczLCA2NywgNjUsIDc2LCA0NSwgNDgsIDUyLCA0NSwgNDgsIDUyLCAxMjgsIAorICAgIDg2LCA2OSwgODIsIDg0LCA3MywgNjcsIDY1LCA3NiwgNDUsIDQ4LCA1MiwgNDUsIDQ4LCA1MSwgMTI4LCA4NiwgNjksIDgyLCAKKyAgICA4NCwgNzMsIDY3LCA2NSwgNzYsIDQ1LCA0OCwgNTIsIDQ1LCA0OCwgNTAsIDEyOCwgODYsIDY5LCA4MiwgODQsIDczLCA2NywgCisgICAgNjUsIDc2LCA0NSwgNDgsIDUyLCA0NSwgNDgsIDQ5LCAxMjgsIDg2LCA2OSwgODIsIDg0LCA3MywgNjcsIDY1LCA3NiwgNDUsIAorICAgIDQ4LCA1MiwgNDUsIDQ4LCA0OCwgMTI4LCA4NiwgNjksIDgyLCA4NCwgNzMsIDY3LCA2NSwgNzYsIDQ1LCA0OCwgNTEsIDQ1LCAKKyAgICA0OCwgNTQsIDEyOCwgODYsIDY5LCA4MiwgODQsIDczLCA2NywgNjUsIDc2LCA0NSwgNDgsIDUxLCA0NSwgNDgsIDUzLCAxMjgsIAorICAgIDg2LCA2OSwgODIsIDg0LCA3MywgNjcsIDY1LCA3NiwgNDUsIDQ4LCA1MSwgNDUsIDQ4LCA1MiwgMTI4LCA4NiwgNjksIDgyLCAKKyAgICA4NCwgNzMsIDY3LCA2NSwgNzYsIDQ1LCA0OCwgNTEsIDQ1LCA0OCwgNTEsIDEyOCwgODYsIDY5LCA4MiwgODQsIDczLCA2NywgCisgICAgNjUsIDc2LCA0NSwgNDgsIDUxLCA0NSwgNDgsIDUwLCAxMjgsIDg2LCA2OSwgODIsIDg0LCA3MywgNjcsIDY1LCA3NiwgNDUsIAorICAgIDQ4LCA1MSwgNDUsIDQ4LCA0OSwgMTI4LCA4NiwgNjksIDgyLCA4NCwgNzMsIDY3LCA2NSwgNzYsIDQ1LCA0OCwgNTEsIDQ1LCAKKyAgICA0OCwgNDgsIDEyOCwgODYsIDY5LCA4MiwgODQsIDczLCA2NywgNjUsIDc2LCA0NSwgNDgsIDUwLCA0NSwgNDgsIDU0LCAxMjgsIAorICAgIDg2LCA2OSwgODIsIDg0LCA3MywgNjcsIDY1LCA3NiwgNDUsIDQ4LCA1MCwgNDUsIDQ4LCA1MywgMTI4LCA4NiwgNjksIDgyLCAKKyAgICA4NCwgNzMsIDY3LCA2NSwgNzYsIDQ1LCA0OCwgNTAsIDQ1LCA0OCwgNTIsIDEyOCwgODYsIDY5LCA4MiwgODQsIDczLCA2NywgCisgICAgNjUsIDc2LCA0NSwgNDgsIDUwLCA0NSwgNDgsIDUxLCAxMjgsIDg2LCA2OSwgODIsIDg0LCA3MywgNjcsIDY1LCA3NiwgNDUsIAorICAgIDQ4LCA1MCwgNDUsIDQ4LCA1MCwgMTI4LCA4NiwgNjksIDgyLCA4NCwgNzMsIDY3LCA2NSwgNzYsIDQ1LCA0OCwgNTAsIDQ1LCAKKyAgICA0OCwgNDksIDEyOCwgODYsIDY5LCA4MiwgODQsIDczLCA2NywgNjUsIDc2LCA0NSwgNDgsIDUwLCA0NSwgNDgsIDQ4LCAxMjgsIAorICAgIDg2LCA2OSwgODIsIDg0LCA3MywgNjcsIDY1LCA3NiwgNDUsIDQ4LCA0OSwgNDUsIDQ4LCA1NCwgMTI4LCA4NiwgNjksIDgyLCAKKyAgICA4NCwgNzMsIDY3LCA2NSwgNzYsIDQ1LCA0OCwgNDksIDQ1LCA0OCwgNTMsIDEyOCwgODYsIDY5LCA4MiwgODQsIDczLCA2NywgCisgICAgNjUsIDc2LCA0NSwgNDgsIDQ5LCA0NSwgNDgsIDUyLCAxMjgsIDg2LCA2OSwgODIsIDg0LCA3MywgNjcsIDY1LCA3NiwgNDUsIAorICAgIDQ4LCA0OSwgNDUsIDQ4LCA1MSwgMTI4LCA4NiwgNjksIDgyLCA4NCwgNzMsIDY3LCA2NSwgNzYsIDQ1LCA0OCwgNDksIDQ1LCAKKyAgICA0OCwgNTAsIDEyOCwgODYsIDY5LCA4MiwgODQsIDczLCA2NywgNjUsIDc2LCA0NSwgNDgsIDQ5LCA0NSwgNDgsIDQ5LCAxMjgsIAorICAgIDg2LCA2OSwgODIsIDg0LCA3MywgNjcsIDY1LCA3NiwgNDUsIDQ4LCA0OSwgNDUsIDQ4LCA0OCwgMTI4LCA4NiwgNjksIDgyLCAKKyAgICA4NCwgNzMsIDY3LCA2NSwgNzYsIDQ1LCA0OCwgNDgsIDQ1LCA0OCwgNTQsIDEyOCwgODYsIDY5LCA4MiwgODQsIDczLCA2NywgCisgICAgNjUsIDc2LCA0NSwgNDgsIDQ4LCA0NSwgNDgsIDUzLCAxMjgsIDg2LCA2OSwgODIsIDg0LCA3MywgNjcsIDY1LCA3NiwgNDUsIAorICAgIDQ4LCA0OCwgNDUsIDQ4LCA1MiwgMTI4LCA4NiwgNjksIDgyLCA4NCwgNzMsIDY3LCA2NSwgNzYsIDQ1LCA0OCwgNDgsIDQ1LCAKKyAgICA0OCwgNTEsIDEyOCwgODYsIDY5LCA4MiwgODQsIDczLCA2NywgNjUsIDc2LCA0NSwgNDgsIDQ4LCA0NSwgNDgsIDUwLCAxMjgsIAorICAgIDg2LCA2OSwgODIsIDg0LCA3MywgNjcsIDY1LCA3NiwgNDUsIDQ4LCA0OCwgNDUsIDQ4LCA0OSwgMTI4LCA4NiwgNjksIDgyLCAKKyAgICA4NCwgNzMsIDY3LCA2NSwgNzYsIDQ1LCA0OCwgNDgsIDQ1LCA0OCwgNDgsIDEyOCwgODYsIDY5LCA4MiwgODQsIDczLCA2NywgCisgICAgNjUsIDc2LCAxMjgsIDg2LCA2OSwgODIsIDgzLCA3MywgNjcsIDc2LCA2OSwgMTI4LCA4NiwgNjksIDgyLCA4MywgMTk3LCAKKyAgICA4NiwgNjksIDgyLCA3MSwgNjksIDEyOCwgODYsIDY5LCA4MiwgNjgsIDczLCA3MSwgODIsIDczLCA4MywgMTI4LCA4NiwgNjksIAorICAgIDgyLCAxMjgsIDg2LCA2OSwgODAsIDEyOCwgODYsIDY5LCA3OCwgNjgsIDEyOCwgODYsIDY5LCA3MywgNzYsIDEyOCwgODYsIAogICAgIDY5LCA3MiwgNzMsIDY3LCA3NiwgNjksIDEyOCwgODYsIDY5LCA3MiwgMTI4LCA4NiwgNjksIDIwMCwgODYsIDY5LCA2OSwgCiAgICAgMTI4LCA4NiwgNjksIDE5NywgODYsIDY5LCA2OCwgNjksIDEyOCwgODYsIDY5LCA2NywgODQsIDc5LCAyMTAsIDg2LCA2NSwgCiAgICAgODksIDY1LCA3OCwgNzgsIDY1LCAxMjgsIDg2LCA2NSwgODgsIDEyOCwgODYsIDY1LCA4NiwgMTI4LCA4NiwgNjUsIDIxNCwgCiAgICAgODYsIDY1LCA4NSwgMTI4LCA4NiwgNjUsIDg0LCA3MiwgODksIDEyOCwgODYsIDY1LCA4NCwgMTI4LCA4NiwgNjUsIDgzLCAKICAgICA4NCwgNzgsIDY5LCA4MywgMjExLCA4NiwgNjUsIDgzLCA3MywgODMsIDEyOCwgODYsIDY1LCA4MiwgODksIDIxMSwgODYsIAotICAgIDY1LCA4MiwgNzMsIDc1LCA2NSwgMTI4LCA4NiwgNjUsIDgyLCA3MywgNjUsIDc4LCAyMTIsIDg2LCA2NSwgODIsIDczLCA2NSwgCi0gICAgMTI4LCA4NiwgNjUsIDgyLCA3MywgMTkzLCA4NiwgNjUsIDgyLCA2OSwgNzMsIDY1LCAyMDEsIDg2LCA2NSwgODIsIDY5LCAKLSAgICA3MywgMTkzLCA4NiwgNjUsIDgwLCA3OSwgODUsIDgyLCA4MywgMTI4LCA4NiwgNjUsIDgwLCAxMjgsIDg2LCA2NSwgNzgsIAotICAgIDY5LCAxMjgsIDg2LCA2NSwgNzcsIDY1LCA3MSwgNzksIDc3LCA4NSwgNzUsIDcyLCA2NSwgMTI4LCA4NiwgNjUsIDc3LCA2NSwgCi0gICAgNzEsIDc5LCA3NywgODUsIDc1LCA3MiwgMTkzLCA4NiwgNjUsIDc2LCA3NiwgNjksIDg5LCAxMjgsIDg2LCA2NSwgNzMsIAotICAgIDEyOCwgODYsIDY1LCA3MiwgMTI4LCA4NiwgNjUsIDY1LCA4NiwgODUsIDEyOCwgODYsIDY1LCA2NSwgMTI4LCA4NiwgNDgsIAotICAgIDUyLCA0OCwgNjUsIDEyOCwgODYsIDQ4LCA1MiwgNDgsIDEyOCwgODYsIDQ4LCA1MSwgNTcsIDEyOCwgODYsIDQ4LCA1MSwgCi0gICAgNTYsIDEyOCwgODYsIDQ4LCA1MSwgNTUsIDY1LCAxMjgsIDg2LCA0OCwgNTEsIDU1LCAxMjgsIDg2LCA0OCwgNTEsIDU0LCAKLSAgICAxMjgsIDg2LCA0OCwgNTEsIDUzLCAxMjgsIDg2LCA0OCwgNTEsIDUyLCAxMjgsIDg2LCA0OCwgNTEsIDUxLCA2NSwgMTI4LCAKLSAgICA4NiwgNDgsIDUxLCA1MSwgMTI4LCA4NiwgNDgsIDUxLCA1MCwgMTI4LCA4NiwgNDgsIDUxLCA0OSwgNjUsIDEyOCwgODYsIAotICAgIDQ4LCA1MSwgNDksIDEyOCwgODYsIDQ4LCA1MSwgNDgsIDY1LCAxMjgsIDg2LCA0OCwgNTEsIDQ4LCAxMjgsIDg2LCA0OCwgCi0gICAgNTAsIDU3LCA2NSwgMTI4LCA4NiwgNDgsIDUwLCA1NywgMTI4LCA4NiwgNDgsIDUwLCA1NiwgNjUsIDEyOCwgODYsIDQ4LCAKLSAgICA1MCwgNTYsIDEyOCwgODYsIDQ4LCA1MCwgNTUsIDEyOCwgODYsIDQ4LCA1MCwgNTQsIDEyOCwgODYsIDQ4LCA1MCwgNTMsIAotICAgIDEyOCwgODYsIDQ4LCA1MCwgNTIsIDEyOCwgODYsIDQ4LCA1MCwgNTEsIDY1LCAxMjgsIDg2LCA0OCwgNTAsIDUxLCAxMjgsIAotICAgIDg2LCA0OCwgNTAsIDUwLCAxMjgsIDg2LCA0OCwgNTAsIDQ5LCAxMjgsIDg2LCA0OCwgNTAsIDQ4LCA3NiwgMTI4LCA4NiwgCi0gICAgNDgsIDUwLCA0OCwgNzUsIDEyOCwgODYsIDQ4LCA1MCwgNDgsIDc0LCAxMjgsIDg2LCA0OCwgNTAsIDQ4LCA3MywgMTI4LCAKLSAgICA4NiwgNDgsIDUwLCA0OCwgNzIsIDEyOCwgODYsIDQ4LCA1MCwgNDgsIDcxLCAxMjgsIDg2LCA0OCwgNTAsIDQ4LCA3MCwgCi0gICAgMTI4LCA4NiwgNDgsIDUwLCA0OCwgNjksIDEyOCwgODYsIDQ4LCA1MCwgNDgsIDY4LCAxMjgsIDg2LCA0OCwgNTAsIDQ4LCAKLSAgICA2NywgMTI4LCA4NiwgNDgsIDUwLCA0OCwgNjYsIDEyOCwgODYsIDQ4LCA1MCwgNDgsIDY1LCAxMjgsIDg2LCA0OCwgNTAsIAotICAgIDQ4LCAxMjgsIDg2LCA0OCwgNDksIDU3LCAxMjgsIDg2LCA0OCwgNDksIDU2LCAxMjgsIDg2LCA0OCwgNDksIDU1LCAxMjgsIAotICAgIDg2LCA0OCwgNDksIDU0LCAxMjgsIDg2LCA0OCwgNDksIDUzLCAxMjgsIDg2LCA0OCwgNDksIDUyLCAxMjgsIDg2LCA0OCwgCi0gICAgNDksIDUxLCAxMjgsIDg2LCA0OCwgNDksIDUwLCA2NiwgMTI4LCA4NiwgNDgsIDQ5LCA1MCwgNjUsIDEyOCwgODYsIDQ4LCAKLSAgICA0OSwgNTAsIDEyOCwgODYsIDQ4LCA0OSwgNDksIDY3LCAxMjgsIDg2LCA0OCwgNDksIDQ5LCA2NiwgMTI4LCA4NiwgNDgsIAotICAgIDQ5LCA0OSwgNjUsIDEyOCwgODYsIDQ4LCA0OSwgNDksIDEyOCwgODYsIDQ4LCA0OSwgNDgsIDEyOCwgODYsIDQ4LCA0OCwgCi0gICAgNTcsIDEyOCwgODYsIDQ4LCA0OCwgNTYsIDEyOCwgODYsIDQ4LCA0OCwgNTUsIDY2LCAxMjgsIDg2LCA0OCwgNDgsIDU1LCAKLSAgICA2NSwgMTI4LCA4NiwgNDgsIDQ4LCA1NSwgMTI4LCA4NiwgNDgsIDQ4LCA1NCwgMTI4LCA4NiwgNDgsIDQ4LCA1MywgMTI4LCAKLSAgICA4NiwgNDgsIDQ4LCA1MiwgMTI4LCA4NiwgNDgsIDQ4LCA1MSwgMTI4LCA4NiwgNDgsIDQ4LCA1MCwgNjUsIDEyOCwgODYsIAotICAgIDQ4LCA0OCwgNTAsIDEyOCwgODYsIDQ4LCA0OCwgNDksIDczLCAxMjgsIDg2LCA0OCwgNDgsIDQ5LCA3MiwgMTI4LCA4NiwgCi0gICAgNDgsIDQ4LCA0OSwgNzEsIDEyOCwgODYsIDQ4LCA0OCwgNDksIDcwLCAxMjgsIDg2LCA0OCwgNDgsIDQ5LCA2OSwgMTI4LCAKLSAgICA4NiwgNDgsIDQ4LCA0OSwgNjgsIDEyOCwgODYsIDQ4LCA0OCwgNDksIDY3LCAxMjgsIDg2LCA0OCwgNDgsIDQ5LCA2NiwgCi0gICAgMTI4LCA4NiwgNDgsIDQ4LCA0OSwgNjUsIDEyOCwgODYsIDQ4LCA0OCwgNDksIDEyOCwgODUsIDkwLCA4NSwgMTI4LCA4NSwgCi0gICAgOTAsIDUxLCAxMjgsIDg1LCA5MCwgMTc5LCA4NSwgODksIDY1LCA3OCwgNzgsIDY1LCAxMjgsIDg1LCA4OSwgMTI4LCA4NSwgCi0gICAgODUsIDg5LCA2NSwgNzgsIDc4LCA2NSwgMTI4LCA4NSwgODUsIDg1LCA4NSwgMTI4LCA4NSwgODUsIDg1LCA1MSwgMTI4LCAKLSAgICA4NSwgODUsIDg1LCA1MCwgMTI4LCA4NSwgODUsIDY5LCAxMjgsIDg1LCA4NCwgODUsIDc1LCA3MywgMTI4LCA4NSwgODMsIAotICAgIDgzLCA4NSwgNTEsIDEyOCwgODUsIDgzLCA4MywgODUsIDEyOCwgODUsIDgzLCA3MiwgODgsIDEyOCwgODUsIDgzLCA3MiwgCi0gICAgODUsIDc3LCA4OCwgMTI4LCA4NSwgODMsIDcyLCA2OSwgNzgsIDc4LCA2NSwgMTI4LCA4NSwgODMsIDcyLCA1MCwgMTI4LCAKLSAgICA4NSwgODMsIDcyLCAxMjgsIDg1LCA4MywgMjAwLCA4NSwgODMsIDY5LCAxOTYsIDg1LCA4MywgNjksIDQ1LCA1MCwgMTI4LCAKLSAgICA4NSwgODMsIDY5LCA0NSwgNDksIDEyOCwgODUsIDgzLCA2OSwgMTI4LCA4NSwgODMsIDE5NywgODUsIDgyLCA4NSwgMjE4LCAKLSAgICA4NSwgODIsIDg1LCA4MywgMTI4LCA4NSwgODIsIDg1LCA2OCwgNjUsIDEyOCwgODUsIDgyLCA4NSwgNjgsIDE5MywgODUsIAotICAgIDgyLCA4NSwgMTI4LCA4NSwgODIsIDIxMywgODUsIDgyLCA3OCwgMTI4LCA4NSwgODIsIDczLCA3OCwgNjksIDEyOCwgODUsIAotICAgIDgyLCA3MywgNTEsIDEyOCwgODUsIDgyLCA3MywgMTI4LCA4NSwgODIsIDY1LCA3OCwgODUsIDgzLCAxMjgsIDg1LCA4MiwgCi0gICAgNjUsIDEyOCwgODUsIDgyLCA1MiwgMTI4LCA4NSwgODIsIDUwLCAxMjgsIDg1LCA4MiwgMTc4LCA4NSwgODAsIDg3LCA2NSwgCi0gICAgODIsIDY4LCA4MywgMTI4LCA4NSwgODAsIDg3LCA2NSwgODIsIDY4LCAyMTEsIDg1LCA4MCwgODcsIDY1LCA4MiwgNjgsIAotICAgIDEyOCwgODUsIDgwLCA4NywgNjUsIDgyLCAxOTYsIDg1LCA4MCwgODQsIDg1LCA4MiwgNzgsIDEyOCwgODUsIDgwLCA4MywgCi0gICAgNzMsIDc2LCA3OSwgNzgsIDEyOCwgODUsIDgwLCA4MywgNzMsIDc2LCA3OSwgMjA2LCA4NSwgODAsIDgyLCA3MywgNzEsIDcyLCAKLSAgICAyMTIsIDg1LCA4MCwgODAsIDY5LCAyMTAsIDg1LCA4MCwgNjUsIDY4LCA3MiwgNzcsIDY1LCA3OCwgNzMsIDg5LCA2NSwgCi0gICAgMTI4LCA4NSwgODAsIDQ1LCA4MCwgNzksIDczLCA3OCwgODQsIDczLCA3OCwgMTk5LCA4NSwgNzksIDc4LCAxMjgsIDg1LCAKLSAgICA3OCwgNzgsIDEyOCwgODUsIDc4LCA3NywgNjUsIDgyLCA4MiwgNzMsIDY5LCAxOTYsIDg1LCA3OCwgNzUsIDc4LCA3OSwgODcsIAotICAgIDc4LCAxMjgsIDg1LCA3OCwgNzMsIDg2LCA2OSwgODIsIDgzLCA2NSwgMjA0LCA4NSwgNzgsIDczLCA4NCwgODksIDEyOCwgCi0gICAgODUsIDc4LCA3MywgODQsIDEyOCwgODUsIDc4LCA3MywgMjEyLCA4NSwgNzgsIDczLCA3OSwgNzgsIDEyOCwgODUsIDc4LCAKLSAgICA3MywgNzksIDIwNiwgODUsIDc4LCA3MywgNzAsIDczLCA2OSwgMTk2LCA4NSwgNzgsIDY4LCAyMDcsIDg1LCA3OCwgNjgsIAotICAgIDY5LCA4MiwgODQsIDczLCA2OSwgMTI4LCA4NSwgNzgsIDY4LCA2OSwgODIsIDc2LCA3MywgNzgsIDE5NywgODUsIDc4LCA2OCwgCi0gICAgNjksIDgyLCA2OCwgNzksIDg0LCAxMjgsIDg1LCA3OCwgNjgsIDY5LCA4MiwgNjYsIDY1LCA4MiwgMTI4LCA4NSwgNzgsIDY4LCAKLSAgICA2OSwgMjEwLCA4NSwgNzgsIDY3LCA3MywgMTkzLCA4NSwgNzgsIDY1LCA4MywgODAsIDczLCA4MiwgNjUsIDg0LCA2OSwgNjgsIAotICAgIDEyOCwgODUsIDc4LCA2NSwgODAsIDEyOCwgODUsIDc4LCA2NSwgNzcsIDg1LCA4MywgNjksIDE5NiwgODUsIDc4LCA2NSwgCi0gICAgMTI4LCA4NSwgMjA2LCA4NSwgNzcsIDg1LCA3NywgMTI4LCA4NSwgNzcsIDg1LCAyMDUsIDg1LCA3NywgNjYsIDgyLCA2OSwgCi0gICAgNzYsIDc2LCA2NSwgMTI4LCA4NSwgNzcsIDY2LCA4MiwgNjksIDc2LCA3NiwgMTkzLCA4NSwgNzcsIDY2LCA3MywgNzgsIAotICAgIDEyOCwgODUsIDc1LCA4NSwgMTI4LCA4NSwgNzUsIDgyLCA2NSwgNzMsIDc4LCA3MywgNjUsIDIwNiwgODUsIDc1LCA2NSwgCi0gICAgODIsIDY1LCAxMjgsIDg1LCA3NSwgNjUsIDgyLCAxOTMsIDg1LCA3NSwgMTI4LCA4NSwgNzMsIDc2LCA3NiwgNjksIDY1LCAKLSAgICA3OCwgNzgsIDEyOCwgODUsIDczLCA3MSwgNzIsIDg1LCAyMTAsIDg1LCA3MSwgNjUsIDgyLCA3MywgODQsIDczLCAxOTUsIAotICAgIDg1LCA2OSwgODksIDEyOCwgODUsIDY5LCA3MywgMTI4LCA4NSwgNjksIDY5LCAxMjgsIDg1LCA2OSwgNjUsIDEyOCwgODUsIAotICAgIDY4LCA4NSwgNzEsIDEyOCwgODUsIDY4LCA2NSwgODQsIDg0LCA2NSwgMTI4LCA4NSwgNjgsIDY1LCA4NCwgODQsIDE5MywgCi0gICAgODUsIDY4LCA2NSwgNjUsIDg0LCAxMjgsIDg1LCA2OCwgMTI4LCA4NSwgMTk2LCA4NSwgNjcsIDEyOCwgODUsIDY2LCA4NSwgCi0gICAgNzAsIDczLCA3NiwgNzMsIDEyOCwgODUsIDY2LCA3MiwgNjUsIDg5LCA2NSwgODQsIDIwNywgODUsIDY2LCA2NSwgNjgsIDY1LCAKLSAgICA3NywgNjUsIDEyOCwgODUsIDY2LCAxMjgsIDg1LCA2NSwgODQsIDcyLCAxMjgsIDg1LCA2NSwgNzgsIDcxLCAxMjgsIDg1LCAKLSAgICA2NSwgMTI4LCA4NSwgMTc4LCA4NSwgNDgsIDUyLCA1MCwgMTI4LCA4NSwgNDgsIDUyLCA0OSwgMTI4LCA4NSwgNDgsIDUyLCAKLSAgICA0OCwgMTI4LCA4NSwgNDgsIDUxLCA1NywgMTI4LCA4NSwgNDgsIDUxLCA1NiwgMTI4LCA4NSwgNDgsIDUxLCA1NSwgMTI4LCAKLSAgICA4NSwgNDgsIDUxLCA1NCwgMTI4LCA4NSwgNDgsIDUxLCA1MywgMTI4LCA4NSwgNDgsIDUxLCA1MiwgMTI4LCA4NSwgNDgsIAotICAgIDUxLCA1MSwgMTI4LCA4NSwgNDgsIDUxLCA1MCwgNjUsIDEyOCwgODUsIDQ4LCA1MSwgNTAsIDEyOCwgODUsIDQ4LCA1MSwgCi0gICAgNDksIDEyOCwgODUsIDQ4LCA1MSwgNDgsIDEyOCwgODUsIDQ4LCA1MCwgNTcsIDY1LCAxMjgsIDg1LCA0OCwgNTAsIDU3LCAKLSAgICAxMjgsIDg1LCA0OCwgNTAsIDU2LCAxMjgsIDg1LCA0OCwgNTAsIDU1LCAxMjgsIDg1LCA0OCwgNTAsIDU0LCAxMjgsIDg1LCAKLSAgICA0OCwgNTAsIDUzLCAxMjgsIDg1LCA0OCwgNTAsIDUyLCAxMjgsIDg1LCA0OCwgNTAsIDUxLCA2NSwgMTI4LCA4NSwgNDgsIAotICAgIDUwLCA1MSwgMTI4LCA4NSwgNDgsIDUwLCA1MCwgMTI4LCA4NSwgNDgsIDUwLCA0OSwgMTI4LCA4NSwgNDgsIDUwLCA0OCwgCi0gICAgMTI4LCA4NSwgNDgsIDQ5LCA1NywgMTI4LCA4NSwgNDgsIDQ5LCA1NiwgMTI4LCA4NSwgNDgsIDQ5LCA1NSwgMTI4LCA4NSwgCi0gICAgNDgsIDQ5LCA1NCwgMTI4LCA4NSwgNDgsIDQ5LCA1MywgMTI4LCA4NSwgNDgsIDQ5LCA1MiwgMTI4LCA4NSwgNDgsIDQ5LCAKLSAgICA1MSwgMTI4LCA4NSwgNDgsIDQ5LCA1MCwgMTI4LCA4NSwgNDgsIDQ5LCA0OSwgMTI4LCA4NSwgNDgsIDQ5LCA0OCwgMTI4LCAKLSAgICA4NSwgNDgsIDQ4LCA1NywgMTI4LCA4NSwgNDgsIDQ4LCA1NiwgMTI4LCA4NSwgNDgsIDQ4LCA1NSwgMTI4LCA4NSwgNDgsIAotICAgIDQ4LCA1NCwgNjYsIDEyOCwgODUsIDQ4LCA0OCwgNTQsIDY1LCAxMjgsIDg1LCA0OCwgNDgsIDU0LCAxMjgsIDg1LCA0OCwgCi0gICAgNDgsIDUzLCAxMjgsIDg1LCA0OCwgNDgsIDUyLCAxMjgsIDg1LCA0OCwgNDgsIDUxLCAxMjgsIDg1LCA0OCwgNDgsIDUwLCAKLSAgICAxMjgsIDg1LCA0OCwgNDgsIDQ5LCAxMjgsIDg1LCA0NSwgNzMsIDQ1LCA3MywgMTI4LCA4NSwgNDUsIDY5LCA3OSwgNDUsIAotICAgIDY5LCA4NSwgMTI4LCA4NSwgNDUsIDY2LCA4MiwgNzQsIDcxLCA4NSwgMTI4LCA4NCwgOTAsIDg1LCAxMjgsIDg0LCA5MCwgCi0gICAgNzksIDY1LCAxMjgsIDg0LCA5MCwgNzksIDEyOCwgODQsIDkwLCA3MywgMjEwLCA4NCwgOTAsIDczLCAxMjgsIDg0LCA5MCwgCi0gICAgNjksIDY5LCAxMjgsIDg0LCA5MCwgNjksIDEyOCwgODQsIDkwLCA2NSwgNjUsIDEyOCwgODQsIDkwLCA2NSwgMTI4LCA4NCwgCi0gICAgOTAsIDEyOCwgODQsIDg5LCAyMTAsIDg0LCA4OSwgODAsIDY5LCA0NSwgMTgzLCA4NCwgODksIDgwLCA2OSwgNDUsIDE4MiwgCi0gICAgODQsIDg5LCA4MCwgNjksIDQ1LCAxODEsIDg0LCA4OSwgODAsIDY5LCA0NSwgMTgwLCA4NCwgODksIDgwLCA2OSwgNDUsIAotICAgIDE3OSwgODQsIDg5LCA4MCwgNjksIDQ1LCAxNzgsIDg0LCA4OSwgODAsIDY5LCA0NSwgMTc3LCA4NCwgODksIDgwLCAxOTcsIAotICAgIDg0LCA4OSwgNzksIDEyOCwgODQsIDg5LCA3MywgMTI4LCA4NCwgODksIDY5LCAxMjgsIDg0LCA4OSwgNjUsIDEyOCwgODQsIAotICAgIDg3LCA3OSwgNzksIDEyOCwgODQsIDg3LCA3OSwgNDUsIDg3LCA2NSwgMjE3LCA4NCwgODcsIDc5LCA0NSwgODQsIDcyLCA3MywgCi0gICAgODIsIDg0LCA4OSwgMTI4LCA4NCwgODcsIDc5LCA0NSwgNzYsIDczLCA3OCwgMTk3LCA4NCwgODcsIDc5LCA0NSwgNzIsIDY5LCAKLSAgICA2NSwgNjgsIDY5LCAxOTYsIDg0LCA4NywgNzksIDQ1LCA2OSwgMjA1LCA4NCwgODcsIDczLCA4MywgODQsIDY5LCAxOTYsIAotICAgIDg0LCA4NywgNzMsIDczLCAxMjgsIDg0LCA4NywgNzMsIDEyOCwgODQsIDg3LCA2OSwgNzgsIDg0LCA4OSwgNDUsIDg0LCA4NywgCi0gICAgNzksIDEyOCwgODQsIDg3LCA2OSwgNzgsIDg0LCA4OSwgNDUsIDg0LCA3MiwgODIsIDY5LCA2OSwgMTI4LCA4NCwgODcsIDY5LCAKLSAgICA3OCwgODQsIDg5LCA0NSwgODMsIDczLCA4OCwgMTI4LCA4NCwgODcsIDY5LCA3OCwgODQsIDg5LCA0NSwgODMsIDY5LCA4NiwgCi0gICAgNjksIDc4LCAxMjgsIDg0LCA4NywgNjksIDc4LCA4NCwgODksIDQ1LCA3OSwgNzgsIDY5LCAxMjgsIDg0LCA4NywgNjksIDc4LCAKLSAgICA4NCwgODksIDQ1LCA3OCwgNzMsIDc4LCA2OSwgMTI4LCA4NCwgODcsIDY5LCA3OCwgODQsIDg5LCA0NSwgNzAsIDc5LCA4NSwgCi0gICAgODIsIDEyOCwgODQsIDg3LCA2OSwgNzgsIDg0LCA4OSwgNDUsIDcwLCA3MywgODYsIDY5LCAxMjgsIDg0LCA4NywgNjksIDc4LCAKLSAgICA4NCwgODksIDQ1LCA2OSwgNzMsIDcxLCA3MiwgODQsIDIwMCwgODQsIDg3LCA2OSwgNzgsIDg0LCA4OSwgNDUsIDY5LCA3MywgCi0gICAgNzEsIDcyLCA4NCwgMTI4LCA4NCwgODcsIDY5LCA3OCwgODQsIDg5LCAxMjgsIDg0LCA4NywgNjksIDc4LCA4NCwgMjE3LCAKLSAgICA4NCwgODcsIDY5LCA3NiwgODYsIDY5LCA0NSwgODQsIDcyLCA3MywgODIsIDg0LCA4OSwgMTI4LCA4NCwgODcsIDY5LCA3NiwgCi0gICAgODYsIDY5LCAxMjgsIDg0LCA4NywgNjksIDc2LCA4NiwgMTk3LCA4NCwgODcsIDY5LCAxMjgsIDg0LCA4NywgNjUsIDY1LCAKLSAgICAxMjgsIDg0LCA4NywgNjUsIDEyOCwgODQsIDg2LCA4MiwgNzMsIDY4LCA3OSwgMTI4LCA4NCwgODYsIDczLCA3NywgNjUsIAotICAgIDY4LCA4NSwgMjEwLCA4NCwgODUsIDg4LCAxMjgsIDg0LCA4NSwgODUsIDc3LCA4NSwgMTI4LCA4NCwgODUsIDg1LCAxMjgsIAotICAgIDg0LCA4NSwgODQsIDg0LCA4OSwgMTI4LCA4NCwgODUsIDg0LCA2OSwgODksIDY1LCA4MywgNjUsIDg0LCAxMjgsIDg0LCA4NSwgCi0gICAgODQsIDEyOCwgODQsIDg1LCA4MiwgODgsIDEyOCwgODQsIDg1LCA4MiwgODUsIDEyOCwgODQsIDg1LCA4MiwgODQsIDc2LCAKLSAgICA2OSwgMTI4LCA4NCwgODUsIDgyLCA3OSwgNTAsIDEyOCwgODQsIDg1LCA4MiwgNzgsIDgzLCA4NCwgNzMsIDc2LCA2OSwgCi0gICAgMTI4LCA4NCwgODUsIDgyLCA3OCwgNjksIDE5NiwgODQsIDg1LCA4MiwgMjA2LCA4NCwgODUsIDgyLCA3NSwgNzMsIDgzLCAKLSAgICAyMDAsIDg0LCA4NSwgODIsIDY2LCA2NSwgNzgsIDEyOCwgODQsIDg1LCA4MiwgMTI4LCA4NCwgODUsIDgwLCAxMjgsIDg0LCAKLSAgICA4NSwgNzksIDg4LCAxMjgsIDg0LCA4NSwgNzksIDg0LCAxMjgsIDg0LCA4NSwgNzksIDgwLCAxMjgsIDg0LCA4NSwgNzksIAotICAgIDEyOCwgODQsIDg1LCA3OCwgNzgsIDg5LCAxMjgsIDg0LCA4NSwgNzcsIDY5LCA4NCwgNjksIDgzLCAxMjgsIDg0LCA4NSwgCi0gICAgNzcsIDY1LCA2OSwgMTI4LCA4NCwgODUsIDc3LCAxMjgsIDg0LCA4NSwgNzYsIDczLCA4MCwgMTI4LCA4NCwgODUsIDc1LCAKLSAgICA4NywgNjksIDc4LCA4NCwgNzMsIDgzLCAxMjgsIDg0LCA4NSwgNzUsIDEyOCwgODQsIDg1LCA3MSwgODIsIDczLCAyMDMsIAotICAgIDg0LCA4NSwgNzEsIDUwLCAxMjgsIDg0LCA4NSwgNzEsIDE3OCwgODQsIDg1LCA2NSwgODIsIDY5LCAxOTksIDg0LCA4NSwgCi0gICAgNjUsIDY5LCA4MCwgMTI4LCA4NCwgODUsIDY1LCA2OSwgMTI4LCA4NCwgMjEzLCA4NCwgODQsIDg1LCA4NSwgMTI4LCA4NCwgCi0gICAgODQsIDg1LCA2OCwgNjgsIDY1LCA3MSwgMTI4LCA4NCwgODQsIDg1LCA2OCwgNjgsIDY1LCA2NSwgNzEsIDEyOCwgODQsIDg0LCAKLSAgICA4NSwgMTI4LCA4NCwgODQsIDg0LCA3MiwgNjUsIDEyOCwgODQsIDg0LCA4NCwgNjUsIDEyOCwgODQsIDg0LCA4MywgODUsIAotICAgIDEyOCwgODQsIDg0LCA4MywgNzksIDEyOCwgODQsIDg0LCA4MywgNzMsIDEyOCwgODQsIDg0LCA4MywgNjksIDY5LCAxMjgsIAotICAgIDg0LCA4NCwgODMsIDY5LCAxMjgsIDg0LCA4NCwgODMsIDY1LCAxMjgsIDg0LCA4NCwgNzksIDc5LCAxMjgsIDg0LCA4NCwgCi0gICAgNzMsIDczLCAxMjgsIDg0LCA4NCwgNzMsIDEyOCwgODQsIDg0LCA3MiwgODcsIDY5LCAxMjgsIDg0LCA4NCwgNzIsIDg1LCAKLSAgICAxMjgsIDg0LCA4NCwgNzIsIDc5LCA3OSwgMTI4LCA4NCwgODQsIDcyLCA3OSwgMTI4LCA4NCwgODQsIDcyLCA3MywgMTI4LCAKLSAgICA4NCwgODQsIDcyLCA2OSwgNjksIDEyOCwgODQsIDg0LCA3MiwgNjksIDEyOCwgODQsIDg0LCA3MiwgNjUsIDY1LCAxMjgsIAotICAgIDg0LCA4NCwgNzIsIDEyOCwgODQsIDg0LCA2OSwgNzIsIDY5LCA3MiwgMTI4LCA4NCwgODQsIDY5LCA3MiwgNjksIDIwMCwgCi0gICAgODQsIDg0LCA2OSwgNzIsIDEyOCwgODQsIDg0LCA2OSwgMjAwLCA4NCwgODQsIDY5LCA2OSwgMTI4LCA4NCwgODQsIDY1LCAKLSAgICA4OSwgNjUsIDc4LCA3OCwgNjUsIDEyOCwgODQsIDg0LCA2NSwgODUsIDEyOCwgODQsIDg0LCA2NSwgNzMsIDEyOCwgODQsIAotICAgIDg0LCA2NSwgNjUsIDEyOCwgODQsIDg0LCA1MCwgMTI4LCA4NCwgODMsIDg3LCA2OSwgMTI4LCA4NCwgODMsIDg3LCA2NSwgCi0gICAgMTI4LCA4NCwgODMsIDg2LCAxMjgsIDg0LCA4MywgODMsIDY5LCAxMjgsIDg0LCA4MywgODMsIDY1LCAxMjgsIDg0LCA4MywgCi0gICAgNzIsIDg1LCA3MSwgODMsIDEyOCwgODQsIDgzLCA3MiwgNzksIDc5LCA3NSwgMTI4LCA4NCwgODMsIDcyLCA3OSwgNzksIAotICAgIDIwMywgODQsIDgzLCA3MiwgNjksIDgzLCAxMjgsIDg0LCA4MywgNzIsIDY5LCA3MSwgMTI4LCA4NCwgODMsIDcyLCA2OSwgCi0gICAgMTk5LCA4NCwgODMsIDcyLCA2OSwgMTI4LCA4NCwgODMsIDcyLCA2NSwgMTI4LCA4NCwgODMsIDY5LCA4MiwgNjksIDEyOCwgCi0gICAgODQsIDgzLCA2NSwgNjgsIDczLCAxMjgsIDg0LCA4MywgNjUsIDY4LCAyMDEsIDg0LCA4MywgNjUsIDY1LCA2OCwgNzMsIDg5LCAKLSAgICAxMjgsIDg0LCA4MywgNjUsIDY1LCAxMjgsIDg0LCA4MywgMTkzLCA4NCwgODIsIDg5LCA2NiwgNzYsIDczLCA3OSwgMjA2LCAKLSAgICA4NCwgODIsIDg1LCA4NCwgNzIsIDEyOCwgODQsIDgyLCA4NSwgNzgsIDc1LCAxMjgsIDg0LCA4MiwgODUsIDc4LCA2NywgNjUsIAotICAgIDg0LCA2OSwgMTk2LCA4NCwgODIsIDg1LCA3NywgODAsIDY5LCA4NCwgMTI4LCA4NCwgODIsIDg1LCA2OSwgMTI4LCA4NCwgCi0gICAgODIsIDg1LCA2NywgNzUsIDEyOCwgODQsIDgyLCA3OSwgODAsIDczLCA2NywgNjUsIDIwNCwgODQsIDgyLCA3OSwgODAsIDcyLCAKLSAgICA4OSwgMTI4LCA4NCwgODIsIDc5LCA3NywgNzMsIDc1LCA3OSwgODMsIDg5LCA3OCwgNjUsIDcxLCA3NywgNjUsIDEyOCwgODQsIAotICAgIDgyLCA3OSwgNzcsIDczLCA3NSwgNzksIDgwLCA4MywgNzMsIDcwLCA3MywgODMsIDg0LCA3OSwgNzgsIDEyOCwgODQsIDgyLCAKLSAgICA3OSwgNzcsIDczLCA3NSwgNzksIDgwLCA2NSwgODIsIDY1LCA3NSwgNjUsIDc2LCA2OSwgODMsIDc3LCA2NSwgMTI4LCA4NCwgCi0gICAgODIsIDc5LCA3NywgNzMsIDc1LCA3OSwgNzgsIDEyOCwgODQsIDgyLCA3OSwgNzcsIDczLCA3NSwgNzksIDIwNiwgODQsIDgyLCAKLSAgICA3OSwgNzcsIDczLCA3NSwgNzksIDc2LCA4OSwgNzEsIDczLCA4MywgNzcsIDY1LCAxMjgsIDg0LCA4MiwgNzksIDc2LCA3NiwgCi0gICAgNjksIDg5LCA2NiwgODUsIDgzLCAxMjgsIDg0LCA4MiwgNzksIDc1LCA4NSwgODQsIDY1LCA4MywgODQsIDIwMSwgODQsIDgyLCAKLSAgICA3OSwgNjksIDkwLCA2OSwgNzgsIDczLCA2NSwgMjA2LCA4NCwgODIsIDczLCA4NSwgNzcsIDgwLCA3MiwgMTI4LCA4NCwgODIsIAotICAgIDczLCA4NCwgNzksIDIxMSwgODQsIDgyLCA3MywgODQsIDczLCA3NywgNzksIDgyLCA3MywgNzksIDc4LCAxMjgsIDg0LCA4MiwgCi0gICAgNzMsIDgzLCA3MywgNzcsIDc5LCA4NSwgMTI4LCA4NCwgODIsIDczLCA4MywgNjksIDc3LCA2OSwgMTI4LCA4NCwgODIsIDczLCAKLSAgICA4MCwgNzksIDY4LCAxMjgsIDg0LCA4MiwgNzMsIDgwLCA3NiwgNzMsIDEyOCwgODQsIDgyLCA3MywgODAsIDc2LCAxOTcsIAotICAgIDg0LCA4MiwgNzMsIDc5LCAyMDYsIDg0LCA4MiwgNzMsIDczLCA4MywgNjUsIDgwLCAxMjgsIDg0LCA4MiwgNzMsIDcxLCA4MiwgCi0gICAgNjUsIDc3LCA3NywgNzksIDIxMSwgODQsIDgyLCA3MywgNzEsIDgyLCA2NSwgMjA1LCA4NCwgODIsIDczLCA3MSwgNzksIDgyLCAKLSAgICA3MSwgNzksIDc4LCAxMjgsIDg0LCA4MiwgNzMsIDcwLCA3OSwgNzgsIDczLCA2NSwgODMsIDEyOCwgODQsIDgyLCA3MywgNzAsIAotICAgIDc5LCA3NiwgNzMsIDY1LCA4NCwgMTk3LCA4NCwgODIsIDczLCA2OCwgNjksIDc4LCA4NCwgMTI4LCA4NCwgODIsIDczLCA2OCwgCi0gICAgNjksIDc4LCAyMTIsIDg0LCA4MiwgNzMsIDY3LCA3OSwgNzYsIDc5LCA3OCwgMTI4LCA4NCwgODIsIDczLCA2NSwgNzgsIDcxLCAKLSAgICA4NSwgNzYsIDY1LCAyMTAsIDg0LCA4MiwgNzMsIDY1LCA3OCwgNzEsIDc2LCA2OSwgNDUsIDgyLCA3OSwgODUsIDc4LCAxOTYsIAotICAgIDg0LCA4MiwgNzMsIDY1LCA3OCwgNzEsIDc2LCA2OSwgNDUsIDcyLCA2OSwgNjUsIDY4LCA2OSwgMTk2LCA4NCwgODIsIDczLCAKLSAgICA2NSwgNzgsIDcxLCA3NiwgNjksIDEyOCwgODQsIDgyLCA3MywgNjUsIDc4LCA3MSwgNzYsIDE5NywgODQsIDgyLCA3MywgNjUsIAotICAgIDEyOCwgODQsIDgyLCA3MywgMTI4LCA4NCwgODIsIDY5LCA4MywgNzMsIDc2LCA3NiwgNzksIDEyOCwgODQsIDgyLCA2OSwgCi0gICAgNzgsIDY4LCAxMjgsIDg0LCA4MiwgNjksIDc4LCAxOTYsIDg0LCA4MiwgNjksIDc3LCA3OSwgNzYsIDc5LCA0NSwgNTEsIAorICAgIDY1LCA4MiwgNzMsIDc1LCA2NSwgMTI4LCA4NiwgNjUsIDgyLCA3MywgNjUsIDc4LCA4NCwgMTI4LCA4NiwgNjUsIDgyLCA3MywgCisgICAgNjUsIDc4LCAyMTIsIDg2LCA2NSwgODIsIDczLCA2NSwgMTI4LCA4NiwgNjUsIDgyLCA3MywgMTkzLCA4NiwgNjUsIDgyLCAKKyAgICA2OSwgNzMsIDY1LCAyMDEsIDg2LCA2NSwgODIsIDY5LCA3MywgMTkzLCA4NiwgNjUsIDgwLCA3OSwgODUsIDgyLCA4MywgCisgICAgMTI4LCA4NiwgNjUsIDgwLCAxMjgsIDg2LCA2NSwgNzgsIDY5LCAxMjgsIDg2LCA2NSwgNzcsIDY1LCA3MSwgNzksIDc3LCAKKyAgICA4NSwgNzUsIDcyLCA2NSwgMTI4LCA4NiwgNjUsIDc3LCA2NSwgNzEsIDc5LCA3NywgODUsIDc1LCA3MiwgMTkzLCA4NiwgNjUsIAorICAgIDc2LCA3NiwgNjksIDg5LCAxMjgsIDg2LCA2NSwgNzQsIDEyOCwgODYsIDY1LCA3MywgMTI4LCA4NiwgNjUsIDcyLCAxMjgsIAorICAgIDg2LCA2NSwgMjAwLCA4NiwgNjUsIDY1LCA4NiwgODUsIDEyOCwgODYsIDY1LCA2NSwgMTI4LCA4NiwgNDgsIDUyLCA0OCwgCisgICAgNjUsIDEyOCwgODYsIDQ4LCA1MiwgNDgsIDEyOCwgODYsIDQ4LCA1MSwgNTcsIDEyOCwgODYsIDQ4LCA1MSwgNTYsIDEyOCwgCisgICAgODYsIDQ4LCA1MSwgNTUsIDY1LCAxMjgsIDg2LCA0OCwgNTEsIDU1LCAxMjgsIDg2LCA0OCwgNTEsIDU0LCAxMjgsIDg2LCAKKyAgICA0OCwgNTEsIDUzLCAxMjgsIDg2LCA0OCwgNTEsIDUyLCAxMjgsIDg2LCA0OCwgNTEsIDUxLCA2NSwgMTI4LCA4NiwgNDgsIAorICAgIDUxLCA1MSwgMTI4LCA4NiwgNDgsIDUxLCA1MCwgMTI4LCA4NiwgNDgsIDUxLCA0OSwgNjUsIDEyOCwgODYsIDQ4LCA1MSwgCisgICAgNDksIDEyOCwgODYsIDQ4LCA1MSwgNDgsIDY1LCAxMjgsIDg2LCA0OCwgNTEsIDQ4LCAxMjgsIDg2LCA0OCwgNTAsIDU3LCAKKyAgICA2NSwgMTI4LCA4NiwgNDgsIDUwLCA1NywgMTI4LCA4NiwgNDgsIDUwLCA1NiwgNjUsIDEyOCwgODYsIDQ4LCA1MCwgNTYsIAorICAgIDEyOCwgODYsIDQ4LCA1MCwgNTUsIDEyOCwgODYsIDQ4LCA1MCwgNTQsIDEyOCwgODYsIDQ4LCA1MCwgNTMsIDEyOCwgODYsIAorICAgIDQ4LCA1MCwgNTIsIDEyOCwgODYsIDQ4LCA1MCwgNTEsIDY1LCAxMjgsIDg2LCA0OCwgNTAsIDUxLCAxMjgsIDg2LCA0OCwgCisgICAgNTAsIDUwLCAxMjgsIDg2LCA0OCwgNTAsIDQ5LCAxMjgsIDg2LCA0OCwgNTAsIDQ4LCA3NiwgMTI4LCA4NiwgNDgsIDUwLCAKKyAgICA0OCwgNzUsIDEyOCwgODYsIDQ4LCA1MCwgNDgsIDc0LCAxMjgsIDg2LCA0OCwgNTAsIDQ4LCA3MywgMTI4LCA4NiwgNDgsIAorICAgIDUwLCA0OCwgNzIsIDEyOCwgODYsIDQ4LCA1MCwgNDgsIDcxLCAxMjgsIDg2LCA0OCwgNTAsIDQ4LCA3MCwgMTI4LCA4NiwgCisgICAgNDgsIDUwLCA0OCwgNjksIDEyOCwgODYsIDQ4LCA1MCwgNDgsIDY4LCAxMjgsIDg2LCA0OCwgNTAsIDQ4LCA2NywgMTI4LCAKKyAgICA4NiwgNDgsIDUwLCA0OCwgNjYsIDEyOCwgODYsIDQ4LCA1MCwgNDgsIDY1LCAxMjgsIDg2LCA0OCwgNTAsIDQ4LCAxMjgsIAorICAgIDg2LCA0OCwgNDksIDU3LCAxMjgsIDg2LCA0OCwgNDksIDU2LCAxMjgsIDg2LCA0OCwgNDksIDU1LCAxMjgsIDg2LCA0OCwgCisgICAgNDksIDU0LCAxMjgsIDg2LCA0OCwgNDksIDUzLCAxMjgsIDg2LCA0OCwgNDksIDUyLCAxMjgsIDg2LCA0OCwgNDksIDUxLCAKKyAgICAxMjgsIDg2LCA0OCwgNDksIDUwLCA2NiwgMTI4LCA4NiwgNDgsIDQ5LCA1MCwgNjUsIDEyOCwgODYsIDQ4LCA0OSwgNTAsIAorICAgIDEyOCwgODYsIDQ4LCA0OSwgNDksIDY3LCAxMjgsIDg2LCA0OCwgNDksIDQ5LCA2NiwgMTI4LCA4NiwgNDgsIDQ5LCA0OSwgCisgICAgNjUsIDEyOCwgODYsIDQ4LCA0OSwgNDksIDEyOCwgODYsIDQ4LCA0OSwgNDgsIDEyOCwgODYsIDQ4LCA0OCwgNTcsIDEyOCwgCisgICAgODYsIDQ4LCA0OCwgNTYsIDEyOCwgODYsIDQ4LCA0OCwgNTUsIDY2LCAxMjgsIDg2LCA0OCwgNDgsIDU1LCA2NSwgMTI4LCAKKyAgICA4NiwgNDgsIDQ4LCA1NSwgMTI4LCA4NiwgNDgsIDQ4LCA1NCwgMTI4LCA4NiwgNDgsIDQ4LCA1MywgMTI4LCA4NiwgNDgsIAorICAgIDQ4LCA1MiwgMTI4LCA4NiwgNDgsIDQ4LCA1MSwgMTI4LCA4NiwgNDgsIDQ4LCA1MCwgNjUsIDEyOCwgODYsIDQ4LCA0OCwgCisgICAgNTAsIDEyOCwgODYsIDQ4LCA0OCwgNDksIDczLCAxMjgsIDg2LCA0OCwgNDgsIDQ5LCA3MiwgMTI4LCA4NiwgNDgsIDQ4LCAKKyAgICA0OSwgNzEsIDEyOCwgODYsIDQ4LCA0OCwgNDksIDcwLCAxMjgsIDg2LCA0OCwgNDgsIDQ5LCA2OSwgMTI4LCA4NiwgNDgsIAorICAgIDQ4LCA0OSwgNjgsIDEyOCwgODYsIDQ4LCA0OCwgNDksIDY3LCAxMjgsIDg2LCA0OCwgNDgsIDQ5LCA2NiwgMTI4LCA4NiwgCisgICAgNDgsIDQ4LCA0OSwgNjUsIDEyOCwgODYsIDQ4LCA0OCwgNDksIDEyOCwgODUsIDkwLCA4NSwgMTI4LCA4NSwgOTAsIDUxLCAKKyAgICAxMjgsIDg1LCA5MCwgMTc5LCA4NSwgODksIDY1LCA3OCwgNzgsIDY1LCAxMjgsIDg1LCA4OSwgMTI4LCA4NSwgODcsIDg1LCAKKyAgICAxMjgsIDg1LCA4NSwgODksIDY1LCA3OCwgNzgsIDY1LCAxMjgsIDg1LCA4NSwgODUsIDg1LCAxMjgsIDg1LCA4NSwgODUsIAorICAgIDUxLCAxMjgsIDg1LCA4NSwgODUsIDUwLCAxMjgsIDg1LCA4NSwgNjksIDEyOCwgODUsIDg0LCA4NSwgNzUsIDczLCAxMjgsIAorICAgIDg1LCA4MywgODMsIDg1LCA1MSwgMTI4LCA4NSwgODMsIDgzLCA4NSwgMTI4LCA4NSwgODMsIDcyLCA4OCwgMTI4LCA4NSwgCisgICAgODMsIDcyLCA4NSwgNzcsIDg4LCAxMjgsIDg1LCA4MywgNzIsIDY5LCA3OCwgNzgsIDY1LCAxMjgsIDg1LCA4MywgNzIsIDUwLCAKKyAgICAxMjgsIDg1LCA4MywgNzIsIDEyOCwgODUsIDgzLCAyMDAsIDg1LCA4MywgNjksIDE5NiwgODUsIDgzLCA2OSwgNDUsIDUwLCAKKyAgICAxMjgsIDg1LCA4MywgNjksIDQ1LCA0OSwgMTI4LCA4NSwgODMsIDY5LCAxMjgsIDg1LCA4MywgMTk3LCA4NSwgODIsIDg1LCAKKyAgICAyMTgsIDg1LCA4MiwgODUsIDgzLCAxMjgsIDg1LCA4MiwgODUsIDY4LCA2NSwgMTI4LCA4NSwgODIsIDg1LCA2OCwgMTkzLCAKKyAgICA4NSwgODIsIDg1LCAxMjgsIDg1LCA4MiwgMjEzLCA4NSwgODIsIDc4LCAxMjgsIDg1LCA4MiwgNzMsIDc4LCA2OSwgMTI4LCAKKyAgICA4NSwgODIsIDczLCA1MSwgMTI4LCA4NSwgODIsIDczLCAxMjgsIDg1LCA4MiwgNjUsIDc4LCA4NSwgODMsIDEyOCwgODUsIAorICAgIDgyLCA2NSwgMTI4LCA4NSwgODIsIDUyLCAxMjgsIDg1LCA4MiwgNTAsIDEyOCwgODUsIDgyLCAxNzgsIDg1LCA4MCwgODcsIAorICAgIDY1LCA4MiwgNjgsIDgzLCAxMjgsIDg1LCA4MCwgODcsIDY1LCA4MiwgNjgsIDEyOCwgODUsIDgwLCA4NywgNjUsIDgyLCAKKyAgICAxOTYsIDg1LCA4MCwgODQsIDg1LCA4MiwgNzgsIDEyOCwgODUsIDgwLCA4MywgNzMsIDc2LCA3OSwgNzgsIDEyOCwgODUsIAorICAgIDgwLCA4MywgNzMsIDc2LCA3OSwgMjA2LCA4NSwgODAsIDgyLCA3MywgNzEsIDcyLCAyMTIsIDg1LCA4MCwgODAsIDY5LCAKKyAgICAyMTAsIDg1LCA4MCwgNjUsIDY4LCA3MiwgNzcsIDY1LCA3OCwgNzMsIDg5LCA2NSwgMTI4LCA4NSwgODAsIDQ1LCA4MCwgNzksIAorICAgIDczLCA3OCwgODQsIDczLCA3OCwgMTk5LCA4NSwgNzksIDc4LCAxMjgsIDg1LCA3OCwgNzgsIDEyOCwgODUsIDc4LCA3NywgCisgICAgNjUsIDgyLCA4MiwgNzMsIDY5LCAxOTYsIDg1LCA3OCwgNzUsIDc4LCA3OSwgODcsIDc4LCAxMjgsIDg1LCA3OCwgNzMsIDg2LCAKKyAgICA2OSwgODIsIDgzLCA2NSwgMjA0LCA4NSwgNzgsIDczLCA4NCwgODksIDEyOCwgODUsIDc4LCA3MywgODQsIDEyOCwgODUsIAorICAgIDc4LCA3MywgMjEyLCA4NSwgNzgsIDczLCA3OSwgNzgsIDEyOCwgODUsIDc4LCA3MywgNzksIDIwNiwgODUsIDc4LCA3MywgCisgICAgNzAsIDczLCA2OSwgMTk2LCA4NSwgNzgsIDY4LCAyMDcsIDg1LCA3OCwgNjgsIDY5LCA4MiwgODQsIDczLCA2OSwgMTI4LCAKKyAgICA4NSwgNzgsIDY4LCA2OSwgODIsIDc2LCA3MywgNzgsIDE5NywgODUsIDc4LCA2OCwgNjksIDgyLCA2OCwgNzksIDg0LCAxMjgsIAorICAgIDg1LCA3OCwgNjgsIDY5LCA4MiwgNjYsIDY1LCA4MiwgMTI4LCA4NSwgNzgsIDY4LCA2OSwgMjEwLCA4NSwgNzgsIDY3LCA3MywgCisgICAgMTkzLCA4NSwgNzgsIDY3LCA2OSwgODIsIDg0LCA2NSwgNzMsIDc4LCA4NCwgMjE3LCA4NSwgNzgsIDY1LCA4MywgODAsIDczLCAKKyAgICA4MiwgNjUsIDg0LCA2OSwgNjgsIDEyOCwgODUsIDc4LCA2NSwgODAsIDEyOCwgODUsIDc4LCA2NSwgNzcsIDg1LCA4MywgNjksIAorICAgIDE5NiwgODUsIDc4LCA2NSwgMTI4LCA4NSwgMjA2LCA4NSwgNzcsIDg1LCA3NywgMTI4LCA4NSwgNzcsIDg1LCAyMDUsIDg1LCAKKyAgICA3NywgNjYsIDgyLCA2OSwgNzYsIDc2LCA2NSwgMTI4LCA4NSwgNzcsIDY2LCA4MiwgNjksIDc2LCA3NiwgMTkzLCA4NSwgNzcsIAorICAgIDY2LCA3MywgNzgsIDEyOCwgODUsIDc1LCA4NSwgMTI4LCA4NSwgNzUsIDgyLCA2NSwgNzMsIDc4LCA3MywgNjUsIDIwNiwgCisgICAgODUsIDc1LCA2NSwgODIsIDY1LCAxMjgsIDg1LCA3NSwgNjUsIDgyLCAxOTMsIDg1LCA3NSwgMTI4LCA4NSwgNzMsIDc2LCAKKyAgICA3NiwgNjksIDY1LCA3OCwgNzgsIDEyOCwgODUsIDczLCA3MSwgNzIsIDg1LCAyMTAsIDg1LCA3MSwgNjUsIDgyLCA3MywgODQsIAorICAgIDczLCAxOTUsIDg1LCA2OSwgODksIDEyOCwgODUsIDY5LCA3MywgMTI4LCA4NSwgNjksIDY5LCAxMjgsIDg1LCA2OSwgNjUsIAorICAgIDEyOCwgODUsIDY4LCA4NSwgNzEsIDEyOCwgODUsIDY4LCA2NSwgODQsIDg0LCA2NSwgMTI4LCA4NSwgNjgsIDY1LCA4NCwgCisgICAgODQsIDE5MywgODUsIDY4LCA2NSwgNjUsIDg0LCAxMjgsIDg1LCA2OCwgMTI4LCA4NSwgMTk2LCA4NSwgNjcsIDEyOCwgODUsIAorICAgIDY2LCA4NSwgNzAsIDczLCA3NiwgNzMsIDEyOCwgODUsIDY2LCA3MiwgNjUsIDg5LCA2NSwgODQsIDIwNywgODUsIDY2LCA2NSwgCisgICAgNjgsIDY1LCA3NywgNjUsIDEyOCwgODUsIDY2LCAxMjgsIDg1LCA2NSwgODQsIDcyLCAxMjgsIDg1LCA2NSwgNzgsIDcxLCAKKyAgICAxMjgsIDg1LCA2NSwgMTI4LCA4NSwgMTc4LCA4NSwgNDgsIDUyLCA1MCwgMTI4LCA4NSwgNDgsIDUyLCA0OSwgMTI4LCA4NSwgCisgICAgNDgsIDUyLCA0OCwgMTI4LCA4NSwgNDgsIDUxLCA1NywgMTI4LCA4NSwgNDgsIDUxLCA1NiwgMTI4LCA4NSwgNDgsIDUxLCAKKyAgICA1NSwgMTI4LCA4NSwgNDgsIDUxLCA1NCwgMTI4LCA4NSwgNDgsIDUxLCA1MywgMTI4LCA4NSwgNDgsIDUxLCA1MiwgMTI4LCAKKyAgICA4NSwgNDgsIDUxLCA1MSwgMTI4LCA4NSwgNDgsIDUxLCA1MCwgNjUsIDEyOCwgODUsIDQ4LCA1MSwgNTAsIDEyOCwgODUsIAorICAgIDQ4LCA1MSwgNDksIDEyOCwgODUsIDQ4LCA1MSwgNDgsIDEyOCwgODUsIDQ4LCA1MCwgNTcsIDY1LCAxMjgsIDg1LCA0OCwgCisgICAgNTAsIDU3LCAxMjgsIDg1LCA0OCwgNTAsIDU2LCAxMjgsIDg1LCA0OCwgNTAsIDU1LCAxMjgsIDg1LCA0OCwgNTAsIDU0LCAKKyAgICAxMjgsIDg1LCA0OCwgNTAsIDUzLCAxMjgsIDg1LCA0OCwgNTAsIDUyLCAxMjgsIDg1LCA0OCwgNTAsIDUxLCA2NSwgMTI4LCAKKyAgICA4NSwgNDgsIDUwLCA1MSwgMTI4LCA4NSwgNDgsIDUwLCA1MCwgMTI4LCA4NSwgNDgsIDUwLCA0OSwgMTI4LCA4NSwgNDgsIAorICAgIDUwLCA0OCwgMTI4LCA4NSwgNDgsIDQ5LCA1NywgMTI4LCA4NSwgNDgsIDQ5LCA1NiwgMTI4LCA4NSwgNDgsIDQ5LCA1NSwgCisgICAgMTI4LCA4NSwgNDgsIDQ5LCA1NCwgMTI4LCA4NSwgNDgsIDQ5LCA1MywgMTI4LCA4NSwgNDgsIDQ5LCA1MiwgMTI4LCA4NSwgCisgICAgNDgsIDQ5LCA1MSwgMTI4LCA4NSwgNDgsIDQ5LCA1MCwgMTI4LCA4NSwgNDgsIDQ5LCA0OSwgMTI4LCA4NSwgNDgsIDQ5LCAKKyAgICA0OCwgMTI4LCA4NSwgNDgsIDQ4LCA1NywgMTI4LCA4NSwgNDgsIDQ4LCA1NiwgMTI4LCA4NSwgNDgsIDQ4LCA1NSwgMTI4LCAKKyAgICA4NSwgNDgsIDQ4LCA1NCwgNjYsIDEyOCwgODUsIDQ4LCA0OCwgNTQsIDY1LCAxMjgsIDg1LCA0OCwgNDgsIDU0LCAxMjgsIAorICAgIDg1LCA0OCwgNDgsIDUzLCAxMjgsIDg1LCA0OCwgNDgsIDUyLCAxMjgsIDg1LCA0OCwgNDgsIDUxLCAxMjgsIDg1LCA0OCwgCisgICAgNDgsIDUwLCAxMjgsIDg1LCA0OCwgNDgsIDQ5LCAxMjgsIDg1LCA0NSwgODMsIDcyLCA2NSwgODAsIDY5LCAxOTYsIDg1LCAKKyAgICA0NSwgNzMsIDQ1LCA3MywgMTI4LCA4NSwgNDUsIDY5LCA3OSwgNDUsIDY5LCA4NSwgMTI4LCA4NSwgNDUsIDY2LCA4MiwgNzQsIAorICAgIDcxLCA4NSwgMTI4LCA4NCwgOTAsIDg1LCAxMjgsIDg0LCA5MCwgNzksIDY1LCAxMjgsIDg0LCA5MCwgNzksIDEyOCwgODQsIAorICAgIDkwLCA3MywgMjEwLCA4NCwgOTAsIDczLCAxMjgsIDg0LCA5MCwgNjksIDY5LCAxMjgsIDg0LCA5MCwgNjksIDEyOCwgODQsIAorICAgIDkwLCA2NSwgNjUsIDEyOCwgODQsIDkwLCA2NSwgMTI4LCA4NCwgOTAsIDEyOCwgODQsIDg5LCAyMTAsIDg0LCA4OSwgODAsIAorICAgIDY5LCA0NSwgMTgzLCA4NCwgODksIDgwLCA2OSwgNDUsIDE4MiwgODQsIDg5LCA4MCwgNjksIDQ1LCAxODEsIDg0LCA4OSwgCisgICAgODAsIDY5LCA0NSwgMTgwLCA4NCwgODksIDgwLCA2OSwgNDUsIDE3OSwgODQsIDg5LCA4MCwgNjksIDQ1LCAxNzgsIDg0LCAKKyAgICA4OSwgODAsIDY5LCA0NSwgMTc3LCA4NCwgODksIDgwLCAxOTcsIDg0LCA4OSwgNzksIDEyOCwgODQsIDg5LCA3MywgMTI4LCAKKyAgICA4NCwgODksIDY5LCAxMjgsIDg0LCA4OSwgNjUsIDg5LCAxMjgsIDg0LCA4OSwgNjUsIDEyOCwgODQsIDg4LCA4NywgODYsIAorICAgIDEyOCwgODQsIDg4LCA4NywgMjE0LCA4NCwgODgsIDcyLCA2OSwgNjksIDIwMiwgODQsIDg3LCA3OSwgNzksIDEyOCwgODQsIAorICAgIDg3LCA3OSwgNDUsIDg3LCA2NSwgMjE3LCA4NCwgODcsIDc5LCA0NSwgODQsIDcyLCA3MywgODIsIDg0LCA4OSwgMTI4LCA4NCwgCisgICAgODcsIDc5LCA0NSwgNzYsIDczLCA3OCwgMTk3LCA4NCwgODcsIDc5LCA0NSwgNzIsIDY5LCA2NSwgNjgsIDY5LCAxOTYsIDg0LCAKKyAgICA4NywgNzksIDQ1LCA2OSwgMjA1LCA4NCwgODcsIDczLCA4MywgODQsIDY5LCAxOTYsIDg0LCA4NywgNzMsIDczLCAxMjgsIAorICAgIDg0LCA4NywgNzMsIDEyOCwgODQsIDg3LCA2OSwgNzgsIDg0LCA4OSwgNDUsIDg0LCA4NywgNzksIDEyOCwgODQsIDg3LCA2OSwgCisgICAgNzgsIDg0LCA4OSwgNDUsIDg0LCA3MiwgODIsIDY5LCA2OSwgMTI4LCA4NCwgODcsIDY5LCA3OCwgODQsIDg5LCA0NSwgODMsIAorICAgIDczLCA4OCwgMTI4LCA4NCwgODcsIDY5LCA3OCwgODQsIDg5LCA0NSwgODMsIDY5LCA4NiwgNjksIDc4LCAxMjgsIDg0LCA4NywgCisgICAgNjksIDc4LCA4NCwgODksIDQ1LCA3OSwgNzgsIDY5LCAxMjgsIDg0LCA4NywgNjksIDc4LCA4NCwgODksIDQ1LCA3OCwgNzMsIAorICAgIDc4LCA2OSwgMTI4LCA4NCwgODcsIDY5LCA3OCwgODQsIDg5LCA0NSwgNzAsIDc5LCA4NSwgODIsIDEyOCwgODQsIDg3LCA2OSwgCisgICAgNzgsIDg0LCA4OSwgNDUsIDcwLCA3MywgODYsIDY5LCAxMjgsIDg0LCA4NywgNjksIDc4LCA4NCwgODksIDQ1LCA2OSwgNzMsIAorICAgIDcxLCA3MiwgODQsIDIwMCwgODQsIDg3LCA2OSwgNzgsIDg0LCA4OSwgNDUsIDY5LCA3MywgNzEsIDcyLCA4NCwgMTI4LCA4NCwgCisgICAgODcsIDY5LCA3OCwgODQsIDg5LCAxMjgsIDg0LCA4NywgNjksIDc4LCA4NCwgMjE3LCA4NCwgODcsIDY5LCA3NiwgODYsIDY5LCAKKyAgICA0NSwgODQsIDcyLCA3MywgODIsIDg0LCA4OSwgMTI4LCA4NCwgODcsIDY5LCA3NiwgODYsIDY5LCAxMjgsIDg0LCA4NywgNjksIAorICAgIDc2LCA4NiwgMTk3LCA4NCwgODcsIDY5LCAxMjgsIDg0LCA4NywgNjUsIDY1LCAxMjgsIDg0LCA4NywgNjUsIDEyOCwgODQsIAorICAgIDg2LCA4MiwgNzMsIDY4LCA3OSwgMTI4LCA4NCwgODYsIDczLCA3NywgNjUsIDY4LCA4NSwgMjEwLCA4NCwgODUsIDg4LCAKKyAgICAxMjgsIDg0LCA4NSwgODUsIDc3LCA4NSwgMTI4LCA4NCwgODUsIDg1LCAxMjgsIDg0LCA4NSwgODQsIDg0LCA4OSwgMTI4LCAKKyAgICA4NCwgODUsIDg0LCA2OSwgODksIDY1LCA4MywgNjUsIDg0LCAxMjgsIDg0LCA4NSwgODQsIDEyOCwgODQsIDg1LCA4MiwgODgsIAorICAgIDEyOCwgODQsIDg1LCA4MiwgODUsIDEyOCwgODQsIDg1LCA4MiwgODQsIDc2LCA2OSwgMTI4LCA4NCwgODUsIDgyLCA3OSwgCisgICAgNTAsIDEyOCwgODQsIDg1LCA4MiwgNzgsIDgzLCA4NCwgNzMsIDc2LCA2OSwgMTI4LCA4NCwgODUsIDgyLCAyMDYsIDg0LCAKKyAgICA4NSwgODIsIDc1LCA3MywgODMsIDIwMCwgODQsIDg1LCA4MiwgNzUsIDczLCAxOTUsIDg0LCA4NSwgODIsIDY2LCA2NSwgNzgsIAorICAgIDEyOCwgODQsIDg1LCA4MiwgMTI4LCA4NCwgODUsIDgwLCAxMjgsIDg0LCA4NSwgNzksIDg4LCAxMjgsIDg0LCA4NSwgNzksIAorICAgIDg0LCAxMjgsIDg0LCA4NSwgNzksIDgwLCAxMjgsIDg0LCA4NSwgNzksIDEyOCwgODQsIDg1LCA3OCwgNzgsIDg5LCAxMjgsIAorICAgIDg0LCA4NSwgNzcsIDY5LCA4NCwgNjksIDgzLCAxMjgsIDg0LCA4NSwgNzcsIDY1LCA2OSwgMTI4LCA4NCwgODUsIDc3LCAKKyAgICAxMjgsIDg0LCA4NSwgNzYsIDczLCA4MCwgMTI4LCA4NCwgODUsIDc1LCA4NywgNjksIDc4LCA4NCwgNzMsIDgzLCAxMjgsIAorICAgIDg0LCA4NSwgNzUsIDEyOCwgODQsIDg1LCA3MSwgODIsIDczLCAyMDMsIDg0LCA4NSwgNzEsIDUwLCAxMjgsIDg0LCA4NSwgCisgICAgNzEsIDE3OCwgODQsIDg1LCA2NiwgMTI4LCA4NCwgODUsIDY1LCA4MiwgNjksIDE5OSwgODQsIDg1LCA2NSwgNjksIDgwLCAKKyAgICAxMjgsIDg0LCA4NSwgNjUsIDY5LCAxMjgsIDg0LCAyMTMsIDg0LCA4NCwgODUsIDg1LCAxMjgsIDg0LCA4NCwgODUsIDY4LCAKKyAgICA2OCwgNjUsIDcxLCAxMjgsIDg0LCA4NCwgODUsIDY4LCA2OCwgNjUsIDY1LCA3MSwgMTI4LCA4NCwgODQsIDg1LCAxMjgsIAorICAgIDg0LCA4NCwgODQsIDcyLCA2NSwgMTI4LCA4NCwgODQsIDg0LCA2NSwgMTI4LCA4NCwgODQsIDgzLCA4NSwgMTI4LCA4NCwgCisgICAgODQsIDgzLCA3OSwgMTI4LCA4NCwgODQsIDgzLCA3MywgMTI4LCA4NCwgODQsIDgzLCA2OSwgNjksIDEyOCwgODQsIDg0LCAKKyAgICA4MywgNjksIDEyOCwgODQsIDg0LCA4MywgNjUsIDEyOCwgODQsIDg0LCA3OSwgNzksIDEyOCwgODQsIDg0LCA3MywgNzMsIAorICAgIDEyOCwgODQsIDg0LCA3MywgMTI4LCA4NCwgODQsIDcyLCA4NywgNjksIDEyOCwgODQsIDg0LCA3MiwgODUsIDEyOCwgODQsIAorICAgIDg0LCA3MiwgNzksIDc5LCAxMjgsIDg0LCA4NCwgNzIsIDc5LCAxMjgsIDg0LCA4NCwgNzIsIDczLCAxMjgsIDg0LCA4NCwgCisgICAgNzIsIDY5LCA2OSwgMTI4LCA4NCwgODQsIDcyLCA2OSwgMTI4LCA4NCwgODQsIDcyLCA2NSwgNjUsIDEyOCwgODQsIDg0LCAKKyAgICA3MiwgMTI4LCA4NCwgODQsIDY5LCA3MiwgNjksIDcyLCAxMjgsIDg0LCA4NCwgNjksIDcyLCA2OSwgMjAwLCA4NCwgODQsIAorICAgIDY5LCA3MiwgMTI4LCA4NCwgODQsIDY5LCAyMDAsIDg0LCA4NCwgNjksIDY5LCAxMjgsIDg0LCA4NCwgNjUsIDg5LCA2NSwgCisgICAgNzgsIDc4LCA2NSwgMTI4LCA4NCwgODQsIDY1LCA4NSwgMTI4LCA4NCwgODQsIDY1LCA3MywgMTI4LCA4NCwgODQsIDY1LCAKKyAgICA2NSwgMTI4LCA4NCwgODQsIDUwLCAxMjgsIDg0LCA4MywgODcsIDY5LCAxMjgsIDg0LCA4MywgODcsIDY2LCAxMjgsIDg0LCAKKyAgICA4MywgODcsIDY1LCAxMjgsIDg0LCA4MywgODYsIDEyOCwgODQsIDgzLCA4MywgNjksIDEyOCwgODQsIDgzLCA4MywgNjUsIAorICAgIDEyOCwgODQsIDgzLCA3OSwgMjE0LCA4NCwgODMsIDczLCA4NSwgMTI4LCA4NCwgODMsIDcyLCA4NSwgNzEsIDgzLCAxMjgsIAorICAgIDg0LCA4MywgNzIsIDc5LCA3OSwgNzUsIDEyOCwgODQsIDgzLCA3MiwgNzksIDc5LCAyMDMsIDg0LCA4MywgNzIsIDc5LCA3OSwgCisgICAgNzQsIDEyOCwgODQsIDgzLCA3MiwgNjksIDgzLCAxMjgsIDg0LCA4MywgNzIsIDY5LCA3MSwgMTI4LCA4NCwgODMsIDcyLCAKKyAgICA2OSwgMTk5LCA4NCwgODMsIDcyLCA2OSwgNjksIDc0LCAxMjgsIDg0LCA4MywgNzIsIDY5LCAxMjgsIDg0LCA4MywgNzIsIAorICAgIDY1LCAxOTQsIDg0LCA4MywgNzIsIDY1LCAxMjgsIDg0LCA4MywgNjksIDgyLCA2OSwgMTI4LCA4NCwgODMsIDY5LCA2OSwgCisgICAgNjYsIDEyOCwgODQsIDgzLCA2NSwgNjgsIDczLCAxMjgsIDg0LCA4MywgNjUsIDY4LCAyMDEsIDg0LCA4MywgNjUsIDY2LCAKKyAgICAxMjgsIDg0LCA4MywgNjUsIDY1LCA2OCwgNzMsIDg5LCAxMjgsIDg0LCA4MywgNjUsIDY1LCAxMjgsIDg0LCA4MywgMTkzLCAKKyAgICA4NCwgODIsIDg5LCA2NiwgNzYsIDczLCA3OSwgMjA2LCA4NCwgODIsIDg1LCA4NCwgNzIsIDEyOCwgODQsIDgyLCA4NSwgNzgsIAorICAgIDc1LCAxMjgsIDg0LCA4MiwgODUsIDc4LCA2NywgNjUsIDg0LCA2OSwgMTk2LCA4NCwgODIsIDg1LCA3NywgODAsIDY5LCA4NCwgCisgICAgMTI4LCA4NCwgODIsIDg1LCA3NywgODAsIDQ1LCA1NywgMTI4LCA4NCwgODIsIDg1LCA3NywgODAsIDQ1LCA1NiwgMTI4LCAKKyAgICA4NCwgODIsIDg1LCA3NywgODAsIDQ1LCA1NSwgMTI4LCA4NCwgODIsIDg1LCA3NywgODAsIDQ1LCA1NCwgMTI4LCA4NCwgODIsIAorICAgIDg1LCA3NywgODAsIDQ1LCA1MywgMTI4LCA4NCwgODIsIDg1LCA3NywgODAsIDQ1LCA1MiwgMTI4LCA4NCwgODIsIDg1LCA3NywgCisgICAgODAsIDQ1LCA1MSwgMTI4LCA4NCwgODIsIDg1LCA3NywgODAsIDQ1LCA1MCwgNDksIDEyOCwgODQsIDgyLCA4NSwgNzcsIDgwLCAKKyAgICA0NSwgNTAsIDQ4LCAxMjgsIDg0LCA4MiwgODUsIDc3LCA4MCwgNDUsIDUwLCAxMjgsIDg0LCA4MiwgODUsIDc3LCA4MCwgNDUsIAorICAgIDQ5LCA1NywgMTI4LCA4NCwgODIsIDg1LCA3NywgODAsIDQ1LCA0OSwgNTYsIDEyOCwgODQsIDgyLCA4NSwgNzcsIDgwLCA0NSwgCisgICAgNDksIDU1LCAxMjgsIDg0LCA4MiwgODUsIDc3LCA4MCwgNDUsIDQ5LCA1NCwgMTI4LCA4NCwgODIsIDg1LCA3NywgODAsIDQ1LCAKKyAgICA0OSwgNTMsIDEyOCwgODQsIDgyLCA4NSwgNzcsIDgwLCA0NSwgNDksIDUyLCAxMjgsIDg0LCA4MiwgODUsIDc3LCA4MCwgNDUsIAorICAgIDQ5LCA1MSwgMTI4LCA4NCwgODIsIDg1LCA3NywgODAsIDQ1LCA0OSwgNTAsIDEyOCwgODQsIDgyLCA4NSwgNzcsIDgwLCA0NSwgCisgICAgNDksIDQ5LCAxMjgsIDg0LCA4MiwgODUsIDc3LCA4MCwgNDUsIDQ5LCA0OCwgMTI4LCA4NCwgODIsIDg1LCA3NywgODAsIDQ1LCAKKyAgICA0OSwgMTI4LCA4NCwgODIsIDg1LCA2OSwgMTI4LCA4NCwgODIsIDg1LCA2NywgNzUsIDEyOCwgODQsIDgyLCA3OSwgODAsIAorICAgIDczLCA2NywgNjUsIDIwNCwgODQsIDgyLCA3OSwgODAsIDcyLCA4OSwgMTI4LCA4NCwgODIsIDc5LCA3NywgNzMsIDc1LCA3OSwgCisgICAgODMsIDg5LCA3OCwgNjUsIDcxLCA3NywgNjUsIDEyOCwgODQsIDgyLCA3OSwgNzcsIDczLCA3NSwgNzksIDgwLCA4MywgNzMsIAorICAgIDcwLCA3MywgODMsIDg0LCA3OSwgNzgsIDEyOCwgODQsIDgyLCA3OSwgNzcsIDczLCA3NSwgNzksIDgwLCA2NSwgODIsIDY1LCAKKyAgICA3NSwgNjUsIDc2LCA2OSwgODMsIDc3LCA2NSwgMTI4LCA4NCwgODIsIDc5LCA3NywgNzMsIDc1LCA3OSwgNzgsIDEyOCwgODQsIAorICAgIDgyLCA3OSwgNzcsIDczLCA3NSwgNzksIDIwNiwgODQsIDgyLCA3OSwgNzcsIDczLCA3NSwgNzksIDc2LCA4OSwgNzEsIDczLCAKKyAgICA4MywgNzcsIDY1LCAxMjgsIDg0LCA4MiwgNzksIDc2LCA3NiwgNjksIDg5LCA2NiwgODUsIDgzLCAxMjgsIDg0LCA4MiwgNzksIAorICAgIDc1LCA4NSwgODQsIDY1LCA4MywgODQsIDIwMSwgODQsIDgyLCA3OSwgNjksIDkwLCA2OSwgNzgsIDczLCA2NSwgMjA2LCA4NCwgCisgICAgODIsIDczLCA4NSwgNzcsIDgwLCA3MiwgMTI4LCA4NCwgODIsIDczLCA4NCwgNzksIDIxMSwgODQsIDgyLCA3MywgODQsIDczLCAKKyAgICA3NywgNzksIDgyLCA3MywgNzksIDc4LCAxMjgsIDg0LCA4MiwgNzMsIDgzLCA3MywgNzcsIDc5LCA4NSwgMTI4LCA4NCwgODIsIAorICAgIDczLCA4MywgNjksIDc3LCA2OSwgMTI4LCA4NCwgODIsIDczLCA4MCwgNzksIDY4LCAxMjgsIDg0LCA4MiwgNzMsIDgwLCA3NiwgCisgICAgNzMsIDEyOCwgODQsIDgyLCA3MywgODAsIDc2LCAxOTcsIDg0LCA4MiwgNzMsIDc5LCAyMDYsIDg0LCA4MiwgNzMsIDc2LCAKKyAgICA3NiwgNzMsIDc5LCA3OCwgODMsIDEyOCwgODQsIDgyLCA3MywgNzMsIDgzLCA2NSwgODAsIDEyOCwgODQsIDgyLCA3MywgNzEsIAorICAgIDgyLCA2NSwgNzcsIDc3LCA3OSwgMjExLCA4NCwgODIsIDczLCA3MSwgODIsIDY1LCAyMDUsIDg0LCA4MiwgNzMsIDcxLCA3OSwgCisgICAgODIsIDcxLCA3OSwgNzgsIDEyOCwgODQsIDgyLCA3MywgNzAsIDc5LCA3OCwgNzMsIDY1LCA4MywgMTI4LCA4NCwgODIsIDczLCAKKyAgICA3MCwgNzksIDc2LCA3MywgNjUsIDg0LCAxOTcsIDg0LCA4MiwgNzMsIDY4LCA2OSwgNzgsIDg0LCAxMjgsIDg0LCA4MiwgNzMsIAorICAgIDY4LCA2OSwgNzgsIDIxMiwgODQsIDgyLCA3MywgNjcsIDc5LCA3NiwgNzksIDc4LCAxMjgsIDg0LCA4MiwgNzMsIDY1LCA3OCwgCisgICAgNzEsIDg1LCA3NiwgNjUsIDIxMCwgODQsIDgyLCA3MywgNjUsIDc4LCA3MSwgNzYsIDY5LCA0NSwgODIsIDc5LCA4NSwgNzgsIAorICAgIDE5NiwgODQsIDgyLCA3MywgNjUsIDc4LCA3MSwgNzYsIDY5LCA0NSwgNzIsIDY5LCA2NSwgNjgsIDY5LCAxOTYsIDg0LCA4MiwgCisgICAgNzMsIDY1LCA3OCwgNzEsIDc2LCA2OSwgMTI4LCA4NCwgODIsIDczLCA2NSwgNzgsIDcxLCA3NiwgMTk3LCA4NCwgODIsIDczLCAKKyAgICA2NSwgMTI4LCA4NCwgODIsIDczLCAxMjgsIDg0LCA4MiwgNjksIDgzLCA3MywgNzYsIDc2LCA3OSwgMTI4LCA4NCwgODIsIAorICAgIDY5LCA3OCwgNjgsIDEyOCwgODQsIDgyLCA2OSwgNzgsIDE5NiwgODQsIDgyLCA2OSwgNzcsIDc5LCA3NiwgNzksIDQ1LCA1MSwgCiAgICAgMTI4LCA4NCwgODIsIDY5LCA3NywgNzksIDc2LCA3OSwgNDUsIDUwLCAxMjgsIDg0LCA4MiwgNjksIDc3LCA3OSwgNzYsIDc5LCAKICAgICA0NSwgNDksIDEyOCwgODQsIDgyLCA2OSwgNjksIDEyOCwgODQsIDgyLCA2OSwgMTk3LCA4NCwgODIsIDY5LCA2NSwgNjgsIAogICAgIDczLCA3OCwgNzEsIDEyOCwgODQsIDgyLCA2NSwgODksIDEyOCwgODQsIDgyLCA2NSwgODAsIDY5LCA5MCwgNzMsIDg1LCA3NywgCkBAIC01ODMsMTQxNCArNjExLDE0ODMgQEAKICAgICA4NCwgODIsIDY1LCAyMDUsIDg0LCA4MiwgNjUsIDczLCA3OCwgMTI4LCA4NCwgODIsIDY1LCA3MywgMjA2LCA4NCwgODIsIAogICAgIDY1LCA3MywgNzYsIDczLCA3OCwgMTk5LCA4NCwgODIsIDY1LCA3MCwgNzAsIDczLCA2NywgMTI4LCA4NCwgODIsIDY1LCA3MCwgCiAgICAgNzAsIDczLCAxOTUsIDg0LCA4MiwgNjUsIDY4LCAxOTcsIDg0LCA4MiwgNjUsIDY3LCA4NCwgNzksIDgyLCAxMjgsIDg0LCAKLSAgICA4MiwgNjUsIDY3LCA3NSwgMTI4LCA4NCwgODIsIDEyOCwgODQsIDc5LCA4OCwgMTI4LCA4NCwgNzksIDg3LCA2OSwgODIsIAotICAgIDEyOCwgODQsIDc5LCA4NSwgODIsIDc4LCA3OSwgNzMsIDIxMSwgODQsIDc5LCA4NCwgNjUsIDIwNCwgODQsIDc5LCA4NCwgCi0gICAgMTI4LCA4NCwgNzksIDgyLCA4NCwgNzksIDczLCA4MywgMTk3LCA4NCwgNzksIDgyLCA2NywgODUsIDc2LCA4NSwgODMsIAotICAgIDEyOCwgODQsIDc5LCA4MiwgNjcsIDg1LCA3NiwgODUsIDIxMSwgODQsIDc5LCA4MiwgNjcsIDcyLCAxMjgsIDg0LCA3OSwgCi0gICAgODEsIDEyOCwgODQsIDc5LCA4MCwgNjYsIDY1LCA4MiwgMTI4LCA4NCwgNzksIDgwLCA0NSwgNzYsIDczLCA3MSwgNzIsIDg0LCAKLSAgICA2OSwgMTk2LCA4NCwgNzksIDgwLCAxMjgsIDg0LCA3OSwgMjA4LCA4NCwgNzksIDc5LCA4NCwgNzIsIDEyOCwgODQsIDc5LCAKLSAgICA3OSwgNzgsIDEyOCwgODQsIDc5LCA3OCwgNzksIDgzLCAxMjgsIDg0LCA3OSwgNzgsIDcxLCA4NSwgNjksIDEyOCwgODQsIAotICAgIDc5LCA3OCwgNzEsIDg1LCAxOTcsIDg0LCA3OSwgNzgsIDcxLCAxMjgsIDg0LCA3OSwgNzgsIDY5LCA0NSwgNTYsIDEyOCwgCi0gICAgODQsIDc5LCA3OCwgNjksIDQ1LCA1NSwgMTI4LCA4NCwgNzksIDc4LCA2OSwgNDUsIDU0LCAxMjgsIDg0LCA3OSwgNzgsIDY5LCAKLSAgICA0NSwgNTMsIDEyOCwgODQsIDc5LCA3OCwgNjksIDQ1LCA1MiwgMTI4LCA4NCwgNzksIDc4LCA2OSwgNDUsIDUxLCAxMjgsIAotICAgIDg0LCA3OSwgNzgsIDY5LCA0NSwgNTAsIDEyOCwgODQsIDc5LCA3OCwgNjksIDQ1LCA0OSwgMTI4LCA4NCwgNzksIDc4LCA2OSwgCi0gICAgMTI4LCA4NCwgNzksIDc4LCA2NSwgMjA0LCA4NCwgNzksIDc3LCA4MCwgNzMsIDEyOCwgODQsIDc5LCA3NywgNjUsIDg0LCAKLSAgICA3OSwgMTI4LCA4NCwgNzksIDc2LCA3OSwgNzgsIDcxLCAxMjgsIDg0LCA3OSwgNzUsIDg5LCAyMDcsIDg0LCA3OSwgNzMsIAotICAgIDc2LCA2OSwgODQsIDEyOCwgODQsIDc5LCA3MSwgNjksIDg0LCA3MiwgNjksIDgyLCAxMjgsIDg0LCA3OSwgNjgsIDIwNywgCi0gICAgODQsIDc5LCA2NSwgNzgsIDY4LCA2NSwgNzUsIDcyLCA3MywgNjUsIDg0LCAxMjgsIDg0LCA3OSwgNjUsIDEyOCwgODQsIDc4LCAKLSAgICAxMjgsIDg0LCA3NiwgODYsIDEyOCwgODQsIDc2LCA4NSwgMTI4LCA4NCwgNzYsIDc5LCAxMjgsIDg0LCA3NiwgNzMsIDEyOCwgCi0gICAgODQsIDc2LCA3MiwgODksIDY1LCAxMjgsIDg0LCA3NiwgNzIsIDg3LCA2OSwgMTI4LCA4NCwgNzYsIDcyLCA4NSwgMTI4LCAKLSAgICA4NCwgNzYsIDcyLCA3OSwgNzksIDEyOCwgODQsIDc2LCA3MiwgNzksIDEyOCwgODQsIDc2LCA3MiwgNzMsIDEyOCwgODQsIAotICAgIDc2LCA3MiwgNjksIDY5LCAxMjgsIDg0LCA3NiwgNzIsIDY5LCAxMjgsIDg0LCA3NiwgNzIsIDY1LCAxMjgsIDg0LCA3NiwgCi0gICAgNjksIDY5LCAxMjgsIDg0LCA3NiwgNjUsIDEyOCwgODQsIDc0LCA2OSwgMTI4LCA4NCwgNzMsIDg4LCAxMjgsIDg0LCA3MywgCi0gICAgODcsIDc4LCAxMjgsIDg0LCA3MywgODcsIDY1LCAyMTgsIDg0LCA3MywgODQsIDg1LCA2NSwgNjksIDgwLCAxMjgsIDg0LCAKLSAgICA3MywgODQsIDc2LCA3OSwgMTI4LCA4NCwgNzMsIDg0LCAxOTMsIDg0LCA3MywgODQsIDEyOCwgODQsIDczLCA4MiwgODksIAotICAgIDY1LCA3NSwgMTI4LCA4NCwgNzMsIDgyLCA4NCwgMTkzLCA4NCwgNzMsIDgyLCA3OSwgNzgsIDczLCA2NSwgMjA2LCA4NCwgCi0gICAgNzMsIDgyLCA2OSwgMTk2LCA4NCwgNzMsIDgyLCAxMjgsIDg0LCA3MywgMjEwLCA4NCwgNzMsIDgwLCA4MCwgNzMsIDEyOCwgCi0gICAgODQsIDczLCA4MCwgNjksIDcyLCA2NSwgMTI4LCA4NCwgNzMsIDgwLCAxMjgsIDg0LCA3MywgMjA4LCA4NCwgNzMsIDc4LCAKLSAgICA4OSwgMTI4LCA4NCwgNzMsIDc4LCAyMTcsIDg0LCA3MywgNzgsIDc4LCA2OSwgMTI4LCA4NCwgNzMsIDc4LCA2NywgODQsIAotICAgIDg1LCA4MiwgNjksIDEyOCwgODQsIDczLCA3OCwgNjUsIDcxLCA3NywgNjUsIDEyOCwgODQsIDczLCA3NywgNjksIDgzLCAKLSAgICAxMjgsIDg0LCA3MywgNzcsIDY5LCAyMTAsIDg0LCA3MywgNzcsIDY5LCAxMjgsIDg0LCA3MywgNzYsIDY4LCAxOTcsIDg0LCAKLSAgICA3MywgNzYsIDEyOCwgODQsIDczLCAyMDQsIDg0LCA3MywgNzUsIDY5LCA4NSwgODQsIDQ1LCA4NCwgNzIsIDczLCA2OSwgODUsIAotICAgIDg0LCA3MiwgMTI4LCA4NCwgNzMsIDc1LCA2OSwgODUsIDg0LCA0NSwgODMsIDczLCA3OSwgODMsIDQ1LCA3NSwgNzMsIDg5LCAKLSAgICA2OSwgNzksIDc1LCAxMjgsIDg0LCA3MywgNzUsIDY5LCA4NSwgODQsIDQ1LCA4MywgNzMsIDc5LCA4MywgMTI4LCA4NCwgNzMsIAotICAgIDc1LCA2OSwgODUsIDg0LCA0NSwgODIsIDczLCA2OSwgODUsIDc2LCAxMjgsIDg0LCA3MywgNzUsIDY5LCA4NSwgODQsIDQ1LCAKLSAgICA4MCwgNzMsIDY5LCA4NSwgODAsIDEyOCwgODQsIDczLCA3NSwgNjksIDg1LCA4NCwgNDUsIDc3LCA3MywgNjksIDg1LCA3NywgCi0gICAgMTI4LCA4NCwgNzMsIDc1LCA2OSwgODUsIDg0LCA0NSwgNzUsIDczLCA4OSwgNjksIDc5LCA3NSwgMTI4LCA4NCwgNzMsIDc1LCAKLSAgICA2OSwgODUsIDg0LCA0NSwgNjcsIDczLCA2OSwgODUsIDY3LCAxMjgsIDg0LCA3MywgNzUsIDY5LCA4NSwgODQsIDQ1LCA2NywgCi0gICAgNzIsIDczLCA2OSwgODUsIDY3LCA3MiwgMTI4LCA4NCwgNzMsIDc1LCA2OSwgODUsIDg0LCAxMjgsIDg0LCA3MywgNzUsIDY5LCAKLSAgICA4NSwgMjEyLCA4NCwgNzMsIDcxLCA3MiwgODQsIDc2LCA4OSwgNDUsIDY3LCA3NiwgNzksIDgzLCA2OSwgMTk2LCA4NCwgNzMsIAotICAgIDcxLCA3MiwgMjEyLCA4NCwgNzMsIDcxLCA2OSwgODIsIDEyOCwgODQsIDczLCA3MSwgNjksIDIxMCwgODQsIDczLCA3MCwgCi0gICAgNzMsIDc4LCA2NSwgNzEsIDIwMCwgODQsIDczLCA2OSwgODgsIDEyOCwgODQsIDczLCA2OSwgODAsIDEyOCwgODQsIDczLCAKLSAgICAxOTcsIDg0LCA3MywgNjcsIDc1LCA2OSwgODQsIDEyOCwgODQsIDczLCA2NywgNzUsIDEyOCwgODQsIDczLCA2NywgMjAzLCAKLSAgICA4NCwgNzMsIDY1LCA4MiwgNjUsIDEyOCwgODQsIDcyLCA5MCwgMTI4LCA4NCwgNzIsIDg5LCA3OSwgNzksIDIwNSwgODQsIAotICAgIDcyLCA4NywgNzksIDc5LCAxMjgsIDg0LCA3MiwgODcsIDc5LCAxMjgsIDg0LCA3MiwgODcsIDczLCA3MywgMTI4LCA4NCwgCi0gICAgNzIsIDg3LCA3MywgMTI4LCA4NCwgNzIsIDg3LCA2OSwgNjksIDEyOCwgODQsIDcyLCA4NywgNjUsIDY1LCAxMjgsIDg0LCAKLSAgICA3MiwgODcsIDY1LCAxMjgsIDg0LCA3MiwgODUsIDgyLCAyMTEsIDg0LCA3MiwgODUsIDgyLCA3MywgODMsIDY1LCAyMTgsIAotICAgIDg0LCA3MiwgODUsIDc4LCA3MSwgMTI4LCA4NCwgNzIsIDg1LCA3OCwgNjgsIDY5LCA4MiwgODMsIDg0LCA3OSwgODIsIDc3LCAKLSAgICAxMjgsIDg0LCA3MiwgODUsIDc4LCA2OCwgNjksIDgyLCAxMjgsIDg0LCA3MiwgODUsIDc4LCA2OCwgNjksIDIxMCwgODQsIAotICAgIDcyLCA4NSwgNzcsIDY2LCAyMTEsIDg0LCA3MiwgODIsIDc5LCA4NywgNzMsIDc4LCAxOTksIDg0LCA3MiwgODIsIDc5LCA4NSwgCi0gICAgNzEsIDcyLCAxMjgsIDg0LCA3MiwgODIsIDc5LCA4NSwgNzEsIDIwMCwgODQsIDcyLCA4MiwgNjksIDY5LCA0NSwgODQsIDcyLCAKLSAgICA3MywgODIsIDg0LCA4OSwgMTI4LCA4NCwgNzIsIDgyLCA2OSwgNjksIDQ1LCA4MCwgNjksIDgyLCA0NSwgNjksIDIwNSwgODQsIAotICAgIDcyLCA4MiwgNjksIDY5LCA0NSwgNzYsIDczLCA3OCwgMTk3LCA4NCwgNzIsIDgyLCA2OSwgNjksIDQ1LCA2OSwgMjA1LCA4NCwgCi0gICAgNzIsIDgyLCA2OSwgNjksIDQ1LCAxOTYsIDg0LCA3MiwgODIsIDY5LCA2NSwgNjgsIDEyOCwgODQsIDcyLCA3OSwgODUsIDgzLCAKLSAgICA2NSwgNzgsIDY4LCAyMTEsIDg0LCA3MiwgNzksIDg1LCA4MywgNjUsIDc4LCA2OCwgMTI4LCA4NCwgNzIsIDc5LCA4NSwgODMsIAotICAgIDY1LCA3OCwgMTk2LCA4NCwgNzIsIDc5LCA4NSwgNzEsIDcyLCAyMTIsIDg0LCA3MiwgNzksIDg1LCAxMjgsIDg0LCA3MiwgCi0gICAgNzksIDgyLCA3OCwgMTI4LCA4NCwgNzIsIDc5LCA4MiwgMjA2LCA4NCwgNzIsIDc5LCA3OCwgNzEsIDEyOCwgODQsIDcyLCAKLSAgICA3OSwgNjUsIDEyOCwgODQsIDcyLCAyMDcsIDg0LCA3MiwgNzMsIDg1LCA4NCwgNzIsIDEyOCwgODQsIDcyLCA3MywgODQsIAotICAgIDY1LCAxMjgsIDg0LCA3MiwgNzMsIDgyLCA4NCwgODksIDQ1LCA4MywgNjksIDY3LCA3OSwgNzgsIDE5NiwgODQsIDcyLCA3MywgCi0gICAgODIsIDg0LCA4OSwgNDUsIDc5LCA3OCwgNjksIDEyOCwgODQsIDcyLCA3MywgODIsIDg0LCAyMTcsIDg0LCA3MiwgNzMsIDgyLCAKLSAgICA4NCwgNjksIDY5LCA3OCwgMTI4LCA4NCwgNzIsIDczLCA4MiwgODQsIDY5LCA2OSwgMjA2LCA4NCwgNzIsIDczLCA4MiwgNjgsIAotICAgIDgzLCAxMjgsIDg0LCA3MiwgNzMsIDgyLCA2OCwgMjExLCA4NCwgNzIsIDczLCA4MiwgNjgsIDEyOCwgODQsIDcyLCA3MywgCi0gICAgODIsIDE5NiwgODQsIDcyLCA3MywgMjA2LCA4NCwgNzIsIDczLCA3MywgMTI4LCA4NCwgNzIsIDczLCA3MSwgNzIsIDEyOCwgCi0gICAgODQsIDcyLCA3MywgNjksIDg1LCA4NCwgMjAwLCA4NCwgNzIsIDY5LCA4OSwgMTI4LCA4NCwgNzIsIDY5LCA4NCwgNzIsIDY5LCAKLSAgICAxMjgsIDg0LCA3MiwgNjksIDg0LCA3MiwgMTI4LCA4NCwgNzIsIDY5LCA4NCwgNjUsIDEyOCwgODQsIDcyLCA2OSwgODQsIAotICAgIDE5MywgODQsIDcyLCA2OSwgODMsIDgwLCA3MywgNjUsIDIwNiwgODQsIDcyLCA2OSwgODMsIDY5LCA3OSwgODMsIDEyOCwgCi0gICAgODQsIDcyLCA2OSwgODMsIDY5LCA3OSwgMjExLCA4NCwgNzIsIDY5LCAyMTEsIDg0LCA3MiwgNjksIDgyLCA3NywgNzksIDY4LCAKLSAgICA4OSwgNzgsIDY1LCA3NywgNzMsIDY3LCAxMjgsIDg0LCA3MiwgNjksIDgyLCA2OSwgNzAsIDc5LCA4MiwgNjksIDEyOCwgODQsIAotICAgIDcyLCA2OSwgODIsIDE5NywgODQsIDcyLCA2OSwgMjA2LCA4NCwgNzIsIDY5LCA3NywgNjUsIDg0LCA3MywgODMsIDc3LCA3OSwgCi0gICAgMjExLCA4NCwgNzIsIDY5LCA3NywgNjUsIDEyOCwgODQsIDcyLCA2OSwgNzcsIDE5MywgODQsIDcyLCA2OSwgNzIsIDEyOCwgCi0gICAgODQsIDcyLCA2OSwgMjAwLCA4NCwgNzIsIDE5NywgODQsIDcyLCA2NSwgODcsIDEyOCwgODQsIDcyLCA2NSwgNzgsIDg0LCAKLSAgICA3MiwgNjUsIDc1LCA3MiwgNjUsIDg0LCAxMjgsIDg0LCA3MiwgNjUsIDc4LCA3OCwgNjUsIDEyOCwgODQsIDcyLCA2NSwgNzgsIAotICAgIDEyOCwgODQsIDcyLCA2NSwgMjA2LCA4NCwgNzIsIDY1LCA3NiwgMTI4LCA4NCwgNzIsIDY1LCAyMDQsIDg0LCA3MiwgNjUsIAotICAgIDcyLCA2NSwgNzgsIDEyOCwgODQsIDcyLCA2NSwgNjUsIDc4LCAxOTMsIDg0LCA3MiwgNjUsIDY1LCA3NiwgODUsIDEyOCwgCi0gICAgODQsIDcyLCA0NSwgNjcsIDgyLCA2OSwgMTk3LCA4NCwgNjksIDg4LCA4NCwgMTI4LCA4NCwgNjksIDg4LCAxMjgsIDg0LCAKLSAgICA2OSwgODYsIDczLCA4MiwgMTI4LCA4NCwgNjksIDg1LCA4NCwgNjksIDg1LCA4OCwgMTI4LCA4NCwgNjksIDg1LCA4NCwgNjksIAotICAgIDg1LCA4NywgNjksIDc4LCAxMjgsIDg0LCA2OSwgODUsIDg0LCAxMjgsIDg0LCA2OSwgODUsIDc4LCAxMjgsIDg0LCA2OSwgCi0gICAgODUsIDY1LCA2OSwgODEsIDEyOCwgODQsIDY5LCA4NSwgNjUsIDY5LCA3OCwgMTI4LCA4NCwgNjksIDg1LCAxMjgsIDg0LCAKLSAgICA2OSwgODQsIDgyLCA2NSwgODMsIDczLCA3NywgNzksIDg1LCAxMjgsIDg0LCA2OSwgODQsIDgyLCA2NSwgODMsIDY5LCA3NywgCi0gICAgNjksIDEyOCwgODQsIDY5LCA4NCwgODIsIDY1LCA4MCwgNzYsIDczLCAxMjgsIDg0LCA2OSwgODQsIDgyLCA2NSwgNzAsIDc5LCAKLSAgICA3OCwgNzMsIDY1LCA4MywgMTI4LCA4NCwgNjksIDg0LCA3MiwgMTI4LCA4NCwgNjksIDg0LCAyMDAsIDg0LCA2OSwgODQsIAotICAgIDY1LCA4MiwgODQsIDc5LCAyMTEsIDg0LCA2OSwgODQsIDY1LCA4MiwgODQsIDczLCA3NywgNzksIDgyLCA3MywgNzksIDc4LCAKLSAgICAxMjgsIDg0LCA2OSwgODQsIDEyOCwgODQsIDY5LCAyMTIsIDg0LCA2OSwgODMsIDgzLCA2OSwgODIsIDY1LCAxMjgsIDg0LCAKLSAgICA2OSwgODMsIDgzLCA2OSwgODIsIDE5MywgODQsIDY5LCA4MywgODMsIDY1LCA4MiwgNzksIDIwNiwgODQsIDY5LCA4MywgCisgICAgODIsIDY1LCA2NywgNzUsIDY2LCA2NSwgNzYsIDc2LCAxMjgsIDg0LCA4MiwgNjUsIDY3LCA3NSwgMTI4LCA4NCwgODIsIDY1LCAKKyAgICAxMjgsIDg0LCA4MiwgMTI4LCA4NCwgNzksIDg4LCAxMjgsIDg0LCA3OSwgODcsIDY5LCA4MiwgMTI4LCA4NCwgNzksIDg2LCAKKyAgICAxMjgsIDg0LCA3OSwgODUsIDgyLCA3OCwgNzksIDczLCAyMTEsIDg0LCA3OSwgODUsIDY3LCA3MiwgODQsIDc5LCA3OCwgCisgICAgMTk3LCA4NCwgNzksIDg0LCA2NSwgMjA0LCA4NCwgNzksIDg0LCAxMjgsIDg0LCA3OSwgODMsIDEyOCwgODQsIDc5LCA4MiwgCisgICAgODQsIDc5LCA3MywgODMsIDE5NywgODQsIDc5LCA4MiwgNzgsIDY1LCA2OCwgNzksIDEyOCwgODQsIDc5LCA4MiwgNjcsIDg1LCAKKyAgICA3NiwgODUsIDgzLCAxMjgsIDg0LCA3OSwgODIsIDY3LCA4NSwgNzYsIDg1LCAyMTEsIDg0LCA3OSwgODIsIDY3LCA3MiwgCisgICAgMTI4LCA4NCwgNzksIDgxLCAxMjgsIDg0LCA3OSwgODAsIDY2LCA2NSwgODIsIDEyOCwgODQsIDc5LCA4MCwgNDUsIDc2LCAKKyAgICA3MywgNzEsIDcyLCA4NCwgNjksIDE5NiwgODQsIDc5LCA4MCwgMTI4LCA4NCwgNzksIDIwOCwgODQsIDc5LCA3OSwgODQsIAorICAgIDcyLCAxMjgsIDg0LCA3OSwgNzksIDc4LCAxMjgsIDg0LCA3OSwgNzgsIDc5LCA4MywgMTI4LCA4NCwgNzksIDc4LCA3MSwgCisgICAgODUsIDY5LCAxMjgsIDg0LCA3OSwgNzgsIDcxLCA4NSwgMTk3LCA4NCwgNzksIDc4LCA3MSwgMTI4LCA4NCwgNzksIDc4LCAKKyAgICA2OSwgNDUsIDU2LCAxMjgsIDg0LCA3OSwgNzgsIDY5LCA0NSwgNTUsIDEyOCwgODQsIDc5LCA3OCwgNjksIDQ1LCA1NCwgCisgICAgMTI4LCA4NCwgNzksIDc4LCA2OSwgNDUsIDUzLCAxMjgsIDg0LCA3OSwgNzgsIDY5LCA0NSwgNTIsIDEyOCwgODQsIDc5LCAKKyAgICA3OCwgNjksIDQ1LCA1MSwgMTI4LCA4NCwgNzksIDc4LCA2OSwgNDUsIDUwLCAxMjgsIDg0LCA3OSwgNzgsIDY5LCA0NSwgNDksIAorICAgIDEyOCwgODQsIDc5LCA3OCwgNjksIDEyOCwgODQsIDc5LCA3OCwgNjUsIDIwNCwgODQsIDc5LCA3NywgODAsIDczLCAxMjgsIAorICAgIDg0LCA3OSwgNzcsIDY1LCA4NCwgNzksIDEyOCwgODQsIDc5LCA3NiwgNzksIDc4LCA3MSwgMTI4LCA4NCwgNzksIDc1LCA4OSwgCisgICAgMjA3LCA4NCwgNzksIDczLCA3NiwgNjksIDg0LCAxMjgsIDg0LCA3OSwgNzEsIDY5LCA4NCwgNzIsIDY5LCA4MiwgMTI4LCAKKyAgICA4NCwgNzksIDY4LCAyMDcsIDg0LCA3OSwgNjUsIDc4LCA2OCwgNjUsIDc1LCA3MiwgNzMsIDY1LCA4NCwgMTI4LCA4NCwgNzksIAorICAgIDY1LCAxMjgsIDg0LCA3OCwgMTI4LCA4NCwgNzYsIDg2LCAxMjgsIDg0LCA3NiwgODUsIDEyOCwgODQsIDc2LCA3OSwgMTI4LCAKKyAgICA4NCwgNzYsIDczLCAxMjgsIDg0LCA3NiwgNzIsIDg5LCA2NSwgMTI4LCA4NCwgNzYsIDcyLCA4NywgNjksIDEyOCwgODQsIAorICAgIDc2LCA3MiwgODUsIDEyOCwgODQsIDc2LCA3MiwgNzksIDc5LCAxMjgsIDg0LCA3NiwgNzIsIDc5LCAxMjgsIDg0LCA3NiwgCisgICAgNzIsIDczLCAxMjgsIDg0LCA3NiwgNzIsIDY5LCA2OSwgMTI4LCA4NCwgNzYsIDcyLCA2OSwgMTI4LCA4NCwgNzYsIDcyLCAKKyAgICA2NSwgMTI4LCA4NCwgNzYsIDY5LCA2OSwgMTI4LCA4NCwgNzYsIDY1LCAxMjgsIDg0LCA3NCwgNjksIDEyOCwgODQsIDczLCAKKyAgICA4OCwgMTI4LCA4NCwgNzMsIDg3LCA4MiwgMTI4LCA4NCwgNzMsIDg3LCA3OCwgMTI4LCA4NCwgNzMsIDg3LCA2NSwgMjE4LCAKKyAgICA4NCwgNzMsIDg0LCA4NSwgNjUsIDY5LCA4MCwgMTI4LCA4NCwgNzMsIDg0LCA3NiwgNzksIDEyOCwgODQsIDczLCA4NCwgCisgICAgMTkzLCA4NCwgNzMsIDg0LCAxMjgsIDg0LCA3MywgODIsIDg5LCA2NSwgNzUsIDEyOCwgODQsIDczLCA4MiwgODQsIDE5MywgCisgICAgODQsIDczLCA4MiwgNzksIDc4LCA3MywgNjUsIDIwNiwgODQsIDczLCA4MiwgNzIsIDg1LCA4NCwgMTkzLCA4NCwgNzMsIDgyLCAKKyAgICA2OSwgMTk2LCA4NCwgNzMsIDgyLCAxMjgsIDg0LCA3MywgMjEwLCA4NCwgNzMsIDgwLCA4MCwgNzMsIDEyOCwgODQsIDczLCAKKyAgICA4MCwgNjksIDcyLCA2NSwgMTI4LCA4NCwgNzMsIDgwLCAxMjgsIDg0LCA3MywgMjA4LCA4NCwgNzMsIDc4LCA4OSwgMTI4LCAKKyAgICA4NCwgNzMsIDc4LCAyMTcsIDg0LCA3MywgNzgsIDc4LCA2OSwgMTI4LCA4NCwgNzMsIDc4LCA2NywgODQsIDg1LCA4MiwgNjksIAorICAgIDEyOCwgODQsIDczLCA3OCwgNjUsIDcxLCA3NywgNjUsIDEyOCwgODQsIDczLCA3NywgNjksIDgzLCAxMjgsIDg0LCA3MywgCisgICAgNzcsIDY5LCAyMTAsIDg0LCA3MywgNzcsIDY5LCAxMjgsIDg0LCA3MywgNzYsIDY5LCA4MywgMTI4LCA4NCwgNzMsIDc2LCAKKyAgICA2OCwgNjksIDEyOCwgODQsIDczLCA3NiwgNjgsIDE5NywgODQsIDczLCA3NiwgMTI4LCA4NCwgNzMsIDIwNCwgODQsIDczLCAKKyAgICA3NSwgNjksIDg1LCA4NCwgNDUsIDg0LCA3MiwgNzMsIDY5LCA4NSwgODQsIDcyLCAxMjgsIDg0LCA3MywgNzUsIDY5LCA4NSwgCisgICAgODQsIDQ1LCA4MywgNzMsIDc5LCA4MywgNDUsIDc1LCA3MywgODksIDY5LCA3OSwgNzUsIDEyOCwgODQsIDczLCA3NSwgNjksIAorICAgIDg1LCA4NCwgNDUsIDgzLCA3MywgNzksIDgzLCAxMjgsIDg0LCA3MywgNzUsIDY5LCA4NSwgODQsIDQ1LCA4MiwgNzMsIDY5LCAKKyAgICA4NSwgNzYsIDEyOCwgODQsIDczLCA3NSwgNjksIDg1LCA4NCwgNDUsIDgwLCA3MywgNjksIDg1LCA4MCwgMTI4LCA4NCwgNzMsIAorICAgIDc1LCA2OSwgODUsIDg0LCA0NSwgNzcsIDczLCA2OSwgODUsIDc3LCAxMjgsIDg0LCA3MywgNzUsIDY5LCA4NSwgODQsIDQ1LCAKKyAgICA3NSwgNzMsIDg5LCA2OSwgNzksIDc1LCAxMjgsIDg0LCA3MywgNzUsIDY5LCA4NSwgODQsIDQ1LCA2NywgNzMsIDY5LCA4NSwgCisgICAgNjcsIDEyOCwgODQsIDczLCA3NSwgNjksIDg1LCA4NCwgNDUsIDY3LCA3MiwgNzMsIDY5LCA4NSwgNjcsIDcyLCAxMjgsIDg0LCAKKyAgICA3MywgNzUsIDY5LCA4NSwgODQsIDEyOCwgODQsIDczLCA3NSwgNjksIDg1LCAyMTIsIDg0LCA3MywgNzEsIDcyLCA4NCwgNzYsIAorICAgIDg5LCA0NSwgNjcsIDc2LCA3OSwgODMsIDY5LCAxOTYsIDg0LCA3MywgNzEsIDcyLCAyMTIsIDg0LCA3MywgNzEsIDY5LCA4MiwgCisgICAgMTI4LCA4NCwgNzMsIDcxLCA2OSwgMjEwLCA4NCwgNzMsIDcwLCA3MywgNzgsIDY1LCA3MSwgMjAwLCA4NCwgNzMsIDY5LCAKKyAgICA4OCwgMTI4LCA4NCwgNzMsIDY5LCA4MCwgMTI4LCA4NCwgNzMsIDE5NywgODQsIDczLCA2NywgNzUsIDY5LCA4NCwgODMsIAorICAgIDEyOCwgODQsIDczLCA2NywgNzUsIDY5LCA4NCwgMTI4LCA4NCwgNzMsIDY3LCA3NSwgMTI4LCA4NCwgNzMsIDY3LCAyMDMsIAorICAgIDg0LCA3MywgNjUsIDgyLCA2NSwgMTI4LCA4NCwgNzMsIDUwLCAxMjgsIDg0LCA3MiwgOTAsIDEyOCwgODQsIDcyLCA4OSwgCisgICAgNzksIDc5LCAyMDUsIDg0LCA3MiwgODcsIDc5LCA3OSwgMTI4LCA4NCwgNzIsIDg3LCA3OSwgMTI4LCA4NCwgNzIsIDg3LCAKKyAgICA3MywgNzMsIDEyOCwgODQsIDcyLCA4NywgNzMsIDEyOCwgODQsIDcyLCA4NywgNjksIDY5LCAxMjgsIDg0LCA3MiwgODcsIAorICAgIDY1LCA2NSwgMTI4LCA4NCwgNzIsIDg3LCA2NSwgMTI4LCA4NCwgNzIsIDg1LCA4MiwgMjExLCA4NCwgNzIsIDg1LCA4MiwgCisgICAgNzMsIDgzLCA2NSwgMjE4LCA4NCwgNzIsIDg1LCA3OCwgNzEsIDEyOCwgODQsIDcyLCA4NSwgNzgsIDY4LCA2OSwgODIsIDgzLCAKKyAgICA4NCwgNzksIDgyLCA3NywgMTI4LCA4NCwgNzIsIDg1LCA3OCwgNjgsIDY5LCA4MiwgMTI4LCA4NCwgNzIsIDg1LCA3OCwgNjgsIAorICAgIDY5LCAyMTAsIDg0LCA3MiwgODUsIDc3LCA2NiwgMjExLCA4NCwgNzIsIDgyLCA3OSwgODcsIDczLCA3OCwgMTk5LCA4NCwgCisgICAgNzIsIDgyLCA3OSwgODUsIDcxLCA3MiwgMTI4LCA4NCwgNzIsIDgyLCA3OSwgODUsIDcxLCAyMDAsIDg0LCA3MiwgODIsIDY5LCAKKyAgICA2OSwgNDUsIDg0LCA3MiwgNzMsIDgyLCA4NCwgODksIDEyOCwgODQsIDcyLCA4MiwgNjksIDY5LCA0NSwgODAsIDY5LCA4MiwgCisgICAgNDUsIDY5LCAyMDUsIDg0LCA3MiwgODIsIDY5LCA2OSwgNDUsIDc2LCA3MywgNzgsIDE5NywgODQsIDcyLCA4MiwgNjksIDY5LCAKKyAgICA0NSwgNjksIDIwNSwgODQsIDcyLCA4MiwgNjksIDY5LCA0NSwgMTk2LCA4NCwgNzIsIDgyLCA2OSwgNjUsIDY4LCAxMjgsIAorICAgIDg0LCA3MiwgNzksIDg1LCA4MywgNjUsIDc4LCA2OCwgODMsIDEyOCwgODQsIDcyLCA3OSwgODUsIDgzLCA2NSwgNzgsIDY4LCAKKyAgICAyMTEsIDg0LCA3MiwgNzksIDg1LCA4MywgNjUsIDc4LCA2OCwgMTI4LCA4NCwgNzIsIDc5LCA4NSwgODMsIDY1LCA3OCwgCisgICAgMTk2LCA4NCwgNzIsIDc5LCA4NSwgNzEsIDcyLCAyMTIsIDg0LCA3MiwgNzksIDg1LCAxMjgsIDg0LCA3MiwgNzksIDgyLCAKKyAgICA3OCwgMTI4LCA4NCwgNzIsIDc5LCA4MiwgMjA2LCA4NCwgNzIsIDc5LCA3OCwgNzEsIDEyOCwgODQsIDcyLCA3OSwgNzcsIAorICAgIDEyOCwgODQsIDcyLCA3OSwgNzQsIDEyOCwgODQsIDcyLCA3OSwgNjUsIDEyOCwgODQsIDcyLCAyMDcsIDg0LCA3MiwgNzMsIAorICAgIDg1LCA4NCwgNzIsIDEyOCwgODQsIDcyLCA3MywgODQsIDY1LCAxMjgsIDg0LCA3MiwgNzMsIDgyLCA4NCwgODksIDQ1LCA4MywgCisgICAgNjksIDY3LCA3OSwgNzgsIDE5NiwgODQsIDcyLCA3MywgODIsIDg0LCA4OSwgNDUsIDc5LCA3OCwgNjksIDEyOCwgODQsIDcyLCAKKyAgICA3MywgODIsIDg0LCAyMTcsIDg0LCA3MiwgNzMsIDgyLCA4NCwgNjksIDY5LCA3OCwgMTI4LCA4NCwgNzIsIDczLCA4MiwgODQsIAorICAgIDY5LCA2OSwgMjA2LCA4NCwgNzIsIDczLCA4MiwgNjgsIDgzLCAxMjgsIDg0LCA3MiwgNzMsIDgyLCA2OCwgMjExLCA4NCwgCisgICAgNzIsIDczLCA4MiwgNjgsIDQ1LCA4MywgODQsIDY1LCA3MSwgMTk3LCA4NCwgNzIsIDczLCA4MiwgNjgsIDEyOCwgODQsIDcyLCAKKyAgICA3MywgODIsIDE5NiwgODQsIDcyLCA3MywgNzMsIDEyOCwgODQsIDcyLCA3MywgNzEsIDcyLCAxMjgsIDg0LCA3MiwgNzMsIAorICAgIDY5LCA4NSwgODQsIDIwMCwgODQsIDcyLCA3MywgNjcsIDIwMywgODQsIDcyLCA3MywgNjUsIDY2LCAxMjgsIDg0LCA3MiwgCisgICAgNjksIDg5LCAxMjgsIDg0LCA3MiwgNjksIDg0LCA3MiwgNjksIDEyOCwgODQsIDcyLCA2OSwgODQsIDcyLCAxMjgsIDg0LCAKKyAgICA3MiwgNjksIDg0LCA2NSwgMTI4LCA4NCwgNzIsIDY5LCA4NCwgMTkzLCA4NCwgNzIsIDY5LCA4MywgODAsIDczLCA2NSwgCisgICAgMjA2LCA4NCwgNzIsIDY5LCA4MywgNjksIDc5LCA4MywgMTI4LCA4NCwgNzIsIDY5LCA4MywgNjksIDc5LCAyMTEsIDg0LCAKKyAgICA3MiwgNjksIDIxMSwgODQsIDcyLCA2OSwgODIsIDc3LCA3OSwgNzcsIDY5LCA4NCwgNjksIDgyLCAxMjgsIDg0LCA3MiwgNjksIAorICAgIDgyLCA3NywgNzksIDY4LCA4OSwgNzgsIDY1LCA3NywgNzMsIDY3LCAxMjgsIDg0LCA3MiwgNjksIDgyLCA2OSwgNzAsIDc5LCAKKyAgICA4MiwgNjksIDEyOCwgODQsIDcyLCA2OSwgODIsIDE5NywgODQsIDcyLCA2OSwgMjA2LCA4NCwgNzIsIDY5LCA3NywgNjUsIAorICAgIDg0LCA3MywgODMsIDc3LCA3OSwgMjExLCA4NCwgNzIsIDY5LCA3NywgNjUsIDEyOCwgODQsIDcyLCA2OSwgNzcsIDE5MywgCisgICAgODQsIDcyLCA2OSwgNzIsIDEyOCwgODQsIDcyLCA2OSwgMjAwLCA4NCwgNzIsIDY5LCA2NSwgMTI4LCA4NCwgNzIsIDE5NywgCisgICAgODQsIDcyLCA2NSwgODcsIDEyOCwgODQsIDcyLCA2NSwgNzgsIDg0LCA3MiwgNjUsIDc1LCA3MiwgNjUsIDg0LCAxMjgsIDg0LCAKKyAgICA3MiwgNjUsIDc4LCA3OCwgNjUsIDEyOCwgODQsIDcyLCA2NSwgNzgsIDEyOCwgODQsIDcyLCA2NSwgMjA2LCA4NCwgNzIsIAorICAgIDY1LCA3NywgNjksIDY4LCA3MiwgMTI4LCA4NCwgNzIsIDY1LCA3NiwgMTI4LCA4NCwgNzIsIDY1LCAyMDQsIDg0LCA3MiwgCisgICAgNjUsIDc0LCAxMjgsIDg0LCA3MiwgNjUsIDcyLCA2NSwgNzgsIDEyOCwgODQsIDcyLCA2NSwgNjUsIDc4LCAxOTMsIDg0LCAKKyAgICA3MiwgNjUsIDY1LCA3NiwgODUsIDEyOCwgODQsIDcyLCA0NSwgNjcsIDgyLCA2OSwgMTk3LCA4NCwgNjksIDg4LCA4NCwgCisgICAgMTI4LCA4NCwgNjksIDg4LCAyMTIsIDg0LCA2OSwgODgsIDEyOCwgODQsIDY5LCA4NiwgNzMsIDgyLCAxMjgsIDg0LCA2OSwgCisgICAgODUsIDg0LCA2OSwgODUsIDg4LCAxMjgsIDg0LCA2OSwgODUsIDg0LCA2OSwgODUsIDg3LCA2OSwgNzgsIDEyOCwgODQsIDY5LCAKKyAgICA4NSwgODQsIDEyOCwgODQsIDY5LCA4NSwgNzgsIDEyOCwgODQsIDY5LCA4NSwgNjUsIDY5LCA4MSwgMTI4LCA4NCwgNjksIAorICAgIDg1LCA2NSwgNjksIDc4LCAxMjgsIDg0LCA2OSwgODUsIDEyOCwgODQsIDY5LCA4NCwgODIsIDY1LCA4MywgNzMsIDc3LCA3OSwgCisgICAgODUsIDEyOCwgODQsIDY5LCA4NCwgODIsIDY1LCA4MywgNjksIDc3LCA2OSwgMTI4LCA4NCwgNjksIDg0LCA4MiwgNjUsIDgwLCAKKyAgICA3NiwgNzMsIDEyOCwgODQsIDY5LCA4NCwgODIsIDY1LCA3MSwgODIsIDY1LCAyMDUsIDg0LCA2OSwgODQsIDgyLCA2NSwgNzAsIAorICAgIDc5LCA3OCwgNzMsIDY1LCA4MywgMTI4LCA4NCwgNjksIDg0LCA3MiwgMTI4LCA4NCwgNjksIDg0LCAyMDAsIDg0LCA2OSwgCisgICAgODQsIDY1LCA4MiwgODQsIDc5LCAyMTEsIDg0LCA2OSwgODQsIDY1LCA4MiwgODQsIDczLCA3NywgNzksIDgyLCA3MywgNzksIAorICAgIDc4LCAxMjgsIDg0LCA2OSwgODQsIDEyOCwgODQsIDY5LCAyMTIsIDg0LCA2OSwgODMsIDgzLCA2OSwgODIsIDY1LCAxMjgsIAorICAgIDg0LCA2OSwgODMsIDgzLCA2OSwgODIsIDE5MywgODQsIDY5LCA4MywgODMsIDY1LCA4MiwgNzksIDIwNiwgODQsIDY5LCA4MywgCiAgICAgMjAwLCA4NCwgNjksIDgyLCA3NywgNzMsIDc4LCA2NSwgODQsIDc5LCA4MiwgMTI4LCA4NCwgNjksIDgwLCAxMjgsIDg0LCAKICAgICA2OSwgNzgsIDg1LCA4NCwgNzksIDEyOCwgODQsIDY5LCA3OCwgODUsIDEyOCwgODQsIDY5LCA3OCwgMjEzLCA4NCwgNjksIAotICAgIDc4LCA4NCwgNzIsIDEyOCwgODQsIDY5LCA3OCwgODQsIDEyOCwgODQsIDY5LCA3OCwgMjExLCA4NCwgNjksIDc4LCA3OCwgCi0gICAgNzMsIDIxMSwgODQsIDY5LCA3OCwgNzEsIDE5NywgODQsIDY5LCA3OCwgNDUsIDg0LCA3MiwgNzMsIDgyLCA4NCwgODksIAotICAgIDEyOCwgODQsIDY5LCA3OCwgMTI4LCA4NCwgNjksIDIwNiwgODQsIDY5LCA3NywgODAsIDg1LCAyMTEsIDg0LCA2OSwgNzYsIAotICAgIDg1LCAxMjgsIDg0LCA2OSwgNzYsIDc5LCA4NSwgMjExLCA4NCwgNjksIDc2LCA3NiwgNjksIDIxMCwgODQsIDY5LCA3NiwgCi0gICAgNzMsIDgzLCA3MiwgMTkzLCA4NCwgNjksIDc2LCA2OSwgODYsIDczLCA4MywgNzMsIDc5LCA3OCwgMTI4LCA4NCwgNjksIDc2LCAKLSAgICA2OSwgODMsIDY3LCA3OSwgODAsIDY5LCAxMjgsIDg0LCA2OSwgNzYsIDY5LCA4MCwgNzIsIDc5LCA3OCwgNjksIDEyOCwgODQsIAotICAgIDY5LCA3NiwgNjksIDgwLCA3MiwgNzksIDc4LCAxOTcsIDg0LCA2OSwgNzYsIDY5LCA3MywgNjUsIDEyOCwgODQsIDY5LCA3NiwgCi0gICAgNjksIDcxLCA4MiwgNjUsIDgwLCAyMDAsIDg0LCA2OSwgNzMsIDg3LCA4MywgMTI4LCA4NCwgNjksIDcxLCA2OSwgNzIsIAotICAgIDEyOCwgODQsIDY5LCA2OSwgNjksIDY5LCAxMjgsIDg0LCA2OSwgMTk3LCA4NCwgNjksIDY4LCA4NSwgNzgsIDcxLCAxMjgsIAotICAgIDg0LCA2OSwgNjUsIDgyLCAyMTEsIDg0LCA2OSwgNjUsIDgyLCA2OCwgODIsIDc5LCA4MCwgNDUsIDgzLCA4MCwgNzksIDc1LCAKLSAgICA2OSwgMTk2LCA4NCwgNjksIDY1LCA4MiwgNjgsIDgyLCA3OSwgODAsIDQ1LCA4MywgNzIsIDY1LCA3OCwgNzUsIDY5LCAxOTYsIAotICAgIDg0LCA2OSwgNjUsIDgyLCA2OCwgODIsIDc5LCA4MCwgNDUsIDY2LCA2NSwgODIsIDY2LCA2OSwgMTk2LCA4NCwgNjksIDY1LCAKLSAgICA4MiwgNDUsIDc5LCA3MCwgMTk4LCA4NCwgNjksIDY1LCA2NywgODUsIDIwOCwgODQsIDY5LCA0NSwgODUsIDEyOCwgODQsIAotICAgIDY5LCA0NSwgNTAsIDEyOCwgODQsIDY3LCA3MiwgNjksIDcyLCA2OSwgNzIsIDEyOCwgODQsIDY3LCA3MiwgNjksIDcyLCA2OSwgCi0gICAgMjAwLCA4NCwgNjcsIDcyLCA2OSwgNzIsIDEyOCwgODQsIDY3LCA3MiwgNjksIDIwMCwgODQsIDY3LCA3MiwgNjksIDEyOCwgCi0gICAgODQsIDE5NSwgODQsIDY1LCA4OSwgMTI4LCA4NCwgNjUsIDg4LCA3MywgMTI4LCA4NCwgNjUsIDg4LCAxMjgsIDg0LCA2NSwgCi0gICAgODcsIDY5LCA3NiwgNzYsIDY5LCA3NywgNjksIDIxMiwgODQsIDY1LCA4NywgNjUsIDEyOCwgODQsIDY1LCA4NywgMTI4LCAKLSAgICA4NCwgNjUsIDg2LCA3MywgODksIDY1LCA3OCwgNzMsIDEyOCwgODQsIDY1LCA4NiwgMTI4LCA4NCwgNjUsIDIxNCwgODQsIAotICAgIDY1LCA4NSwgODIsIDg1LCA4MywgMTI4LCA4NCwgNjUsIDIxMywgODQsIDY1LCA4NCwgODcsIDY5LCA2OSwgNzYsIDEyOCwgCi0gICAgODQsIDY1LCA4NCwgODcsIDY5LCA2OSwgMjA0LCA4NCwgNjUsIDg0LCA4NCwgNzksIDc5LCA2OSwgMTk2LCA4NCwgNjUsIDg0LCAKLSAgICAxMjgsIDg0LCA2NSwgODIsIDg1LCA3OCwgNzEsIDEyOCwgODQsIDY1LCA4MiwgODQsIDY1LCA4MiwgNDUsIDUwLCAxMjgsIAotICAgIDg0LCA2NSwgODIsIDg0LCA2NSwgODIsIDEyOCwgODQsIDY1LCA4MSwgMTI4LCA4NCwgNjUsIDgwLCA2OSwgODIsIDEyOCwgCi0gICAgODQsIDY1LCA4MCwgMTk3LCA4NCwgNjUsIDgwLCAxMjgsIDg0LCA2NSwgNzksIDEyOCwgODQsIDY1LCA3OCwgNzgsIDY5LCAKLSAgICAxOTYsIDg0LCA2NSwgNzgsIDcxLCA2OSwgODIsIDczLCA3OCwgNjksIDEyOCwgODQsIDY1LCA3OCwgMTk5LCA4NCwgNjUsIAotICAgIDc4LCA2NSwgNjYsIDY1LCA4NCwgMTkzLCA4NCwgNjUsIDc4LCAxMjgsIDg0LCA2NSwgNzcsIDczLCA3OCwgNzEsIDEyOCwgCi0gICAgODQsIDY1LCA3NywgMTI4LCA4NCwgNjUsIDc2LCA3NiwgMTI4LCA4NCwgNjUsIDc2LCAyMDQsIDg0LCA2NSwgNzYsIDczLCAKLSAgICA3OCwgNzEsIDEyOCwgODQsIDY1LCA3NiwgNzMsIDc4LCAxOTksIDg0LCA2NSwgNzYsIDY5LCA3OCwgODQsIDgzLCAxMjgsIAotICAgIDg0LCA2NSwgNzYsIDY5LCA3OCwgMjEyLCA4NCwgNjUsIDc1LCA4MiwgMjAxLCA4NCwgNjUsIDc1LCA3MiwgNjUsIDc2LCA3NiwgCi0gICAgODUsIDgzLCAxMjgsIDg0LCA2NSwgNzUsIDY5LCAxMjgsIDg0LCA2NSwgNzUsIDUyLCAxMjgsIDg0LCA2NSwgNzUsIDEyOCwgCi0gICAgODQsIDY1LCA3MywgODMsIDg5LCA3OSwgODUsIDEyOCwgODQsIDY1LCA3MywgNzYsIDc2LCA2OSwgODMsIDIxMSwgODQsIDY1LCAKLSAgICA3MywgNzYsIDEyOCwgODQsIDY1LCA3MywgMjA0LCA4NCwgNjUsIDcyLCAxMjgsIDg0LCA2NSwgMjAwLCA4NCwgNjUsIDcxLCAKLSAgICA2NiwgNjUsIDc4LCA4NywgMTkzLCA4NCwgNjUsIDcxLCA2NSwgNzYsIDc5LCAxOTksIDg0LCA2NSwgNzEsIDEyOCwgODQsIAotICAgIDY1LCA2OSwgMjA2LCA4NCwgNjUsIDY3LCA3NSwgMTI4LCA4NCwgNjUsIDY3LCAyMDMsIDg0LCA2NSwgNjYsIDg1LCA3NiwgCi0gICAgNjUsIDg0LCA3MywgNzksIDc4LCAxMjgsIDg0LCA2NSwgNjYsIDg1LCA3NiwgNjUsIDg0LCA3MywgNzksIDIwNiwgODQsIDY1LCAKLSAgICA2NiwgODMsIDEyOCwgODQsIDY1LCA2NiwgNzYsIDY5LCAxMjgsIDg0LCA2NSwgNjYsIDEyOCwgODQsIDY1LCAxOTQsIDg0LCAKLSAgICA2NSwgNjUsIDgzLCA3MiwgNjUsIDY5LCAxMjgsIDg0LCA2NSwgNjUsIDgxLCAxMjgsIDg0LCA2NSwgNjUsIDc3LCAxMjgsIAotICAgIDg0LCA2NSwgNjUsIDc2LCA4NSwgNzQsIDE5MywgODQsIDY1LCA2NSwgNzMsIDEyOCwgODQsIDY1LCA2NSwgNzAsIDEyOCwgCi0gICAgODQsIDY1LCA1MCwgMTI4LCA4NCwgNjUsIDQ1LCA4MiwgNzksIDc2LCAxMjgsIDg0LCA2NSwgNDUsIDUwLCAxMjgsIDg0LCAKLSAgICA0OCwgNTEsIDU0LCAxMjgsIDg0LCA0OCwgNTEsIDUzLCAxMjgsIDg0LCA0OCwgNTEsIDUyLCAxMjgsIDg0LCA0OCwgNTEsIAotICAgIDUxLCA2NSwgMTI4LCA4NCwgNDgsIDUxLCA1MSwgMTI4LCA4NCwgNDgsIDUxLCA1MCwgNjUsIDEyOCwgODQsIDQ4LCA1MSwgCi0gICAgNTAsIDEyOCwgODQsIDQ4LCA1MSwgNDksIDEyOCwgODQsIDQ4LCA1MSwgNDgsIDEyOCwgODQsIDQ4LCA1MCwgNTcsIDEyOCwgCi0gICAgODQsIDQ4LCA1MCwgNTYsIDEyOCwgODQsIDQ4LCA1MCwgNTUsIDEyOCwgODQsIDQ4LCA1MCwgNTQsIDEyOCwgODQsIDQ4LCAKLSAgICA1MCwgNTMsIDEyOCwgODQsIDQ4LCA1MCwgNTIsIDEyOCwgODQsIDQ4LCA1MCwgNTEsIDEyOCwgODQsIDQ4LCA1MCwgNTAsIAotICAgIDEyOCwgODQsIDQ4LCA1MCwgNDksIDEyOCwgODQsIDQ4LCA1MCwgNDgsIDEyOCwgODQsIDQ4LCA0OSwgNTcsIDEyOCwgODQsIAotICAgIDQ4LCA0OSwgNTYsIDEyOCwgODQsIDQ4LCA0OSwgNTUsIDEyOCwgODQsIDQ4LCA0OSwgNTQsIDY1LCAxMjgsIDg0LCA0OCwgCi0gICAgNDksIDU0LCAxMjgsIDg0LCA0OCwgNDksIDUzLCAxMjgsIDg0LCA0OCwgNDksIDUyLCAxMjgsIDg0LCA0OCwgNDksIDUxLCAKLSAgICAxMjgsIDg0LCA0OCwgNDksIDUwLCAxMjgsIDg0LCA0OCwgNDksIDQ5LCA2NSwgMTI4LCA4NCwgNDgsIDQ5LCA0OSwgMTI4LCAKLSAgICA4NCwgNDgsIDQ5LCA0OCwgMTI4LCA4NCwgNDgsIDQ4LCA1NywgNjUsIDEyOCwgODQsIDQ4LCA0OCwgNTcsIDEyOCwgODQsIAotICAgIDQ4LCA0OCwgNTYsIDY1LCAxMjgsIDg0LCA0OCwgNDgsIDU2LCAxMjgsIDg0LCA0OCwgNDgsIDU1LCA2NSwgMTI4LCA4NCwgCi0gICAgNDgsIDQ4LCA1NSwgMTI4LCA4NCwgNDgsIDQ4LCA1NCwgMTI4LCA4NCwgNDgsIDQ4LCA1MywgMTI4LCA4NCwgNDgsIDQ4LCAKLSAgICA1MiwgMTI4LCA4NCwgNDgsIDQ4LCA1MSwgNjUsIDEyOCwgODQsIDQ4LCA0OCwgNTEsIDEyOCwgODQsIDQ4LCA0OCwgNTAsIAotICAgIDEyOCwgODQsIDQ4LCA0OCwgNDksIDEyOCwgODQsIDQ1LCA4MywgNzIsIDczLCA4MiwgODQsIDEyOCwgODMsIDkwLCA5MCwgCi0gICAgMTI4LCA4MywgOTAsIDg3LCA3MSwgMTI4LCA4MywgOTAsIDg3LCA2NSwgMTI4LCA4MywgOTAsIDg1LCAxMjgsIDgzLCA5MCwgCi0gICAgNzksIDEyOCwgODMsIDkwLCA3MywgMTI4LCA4MywgOTAsIDY5LCA2OSwgMTI4LCA4MywgOTAsIDY5LCAxMjgsIDgzLCA5MCwgCi0gICAgNjUsIDY1LCAxMjgsIDgzLCA5MCwgNjUsIDEyOCwgODMsIDkwLCAxMjgsIDgzLCA4OSwgODgsIDEyOCwgODMsIDg5LCA4NCwgCi0gICAgMTI4LCA4MywgODksIDgzLCA4NCwgNjksIDIwNSwgODMsIDg5LCA4MiwgODgsIDEyOCwgODMsIDg5LCA4MiwgNzcsIDY1LCAKLSAgICA4NCwgNzMsIDc1LCA3MywgMTI4LCA4MywgODksIDgyLCA3NywgNjUsIDEyOCwgODMsIDg5LCA4MiwgNzMsIDc4LCA3MSwgNjksIAotICAgIDEyOCwgODMsIDg5LCA4MiwgMTI4LCA4MywgODksIDgwLCAxMjgsIDgzLCA4OSwgNzksIDg1LCA4NywgNjUsIDEyOCwgODMsIAotICAgIDg5LCA3OCwgNjksIDg2LCA3NywgNjUsIDEyOCwgODMsIDg5LCA3OCwgNjgsIDY5LCA4MywgNzcsIDc5LCAyMTEsIDgzLCA4OSwgCi0gICAgNzgsIDY3LCA3MiwgODIsIDc5LCA3OCwgNzksIDg1LCAyMTEsIDgzLCA4OSwgNzgsIDY1LCA3MSwgNzcsIDE5MywgODMsIDg5LCAKLSAgICA3OCwgNjUsIDcwLCA3MywgMTI4LCA4MywgODksIDc4LCAxMjgsIDgzLCA4OSwgNzcsIDc3LCA2OSwgODQsIDgyLCA4OSwgCi0gICAgMTI4LCA4MywgODksIDc3LCA3NywgNjksIDg0LCA4MiwgNzMsIDE5NSwgODMsIDg5LCA3NywgNjYsIDc5LCA3NiwgODMsIAotICAgIDEyOCwgODMsIDg5LCA3NywgNjYsIDc5LCA3NiwgNDUsIDU3LCAxMjgsIDgzLCA4OSwgNzcsIDY2LCA3OSwgNzYsIDQ1LCA1NiwgCi0gICAgMTI4LCA4MywgODksIDc3LCA2NiwgNzksIDc2LCA0NSwgNTUsIDEyOCwgODMsIDg5LCA3NywgNjYsIDc5LCA3NiwgNDUsIDU0LCAKLSAgICAxMjgsIDgzLCA4OSwgNzcsIDY2LCA3OSwgNzYsIDQ1LCA1MywgNTIsIDEyOCwgODMsIDg5LCA3NywgNjYsIDc5LCA3NiwgNDUsIAotICAgIDUzLCA1MSwgMTI4LCA4MywgODksIDc3LCA2NiwgNzksIDc2LCA0NSwgNTMsIDUwLCAxMjgsIDgzLCA4OSwgNzcsIDY2LCA3OSwgCi0gICAgNzYsIDQ1LCA1MywgNDksIDEyOCwgODMsIDg5LCA3NywgNjYsIDc5LCA3NiwgNDUsIDUzLCA0OCwgMTI4LCA4MywgODksIDc3LCAKLSAgICA2NiwgNzksIDc2LCA0NSwgNTMsIDEyOCwgODMsIDg5LCA3NywgNjYsIDc5LCA3NiwgNDUsIDUyLCA1NywgMTI4LCA4MywgODksIAotICAgIDc3LCA2NiwgNzksIDc2LCA0NSwgNTIsIDU2LCAxMjgsIDgzLCA4OSwgNzcsIDY2LCA3OSwgNzYsIDQ1LCA1MiwgNTUsIDEyOCwgCi0gICAgODMsIDg5LCA3NywgNjYsIDc5LCA3NiwgNDUsIDUyLCA1MywgMTI4LCA4MywgODksIDc3LCA2NiwgNzksIDc2LCA0NSwgNTIsIAotICAgIDUxLCAxMjgsIDgzLCA4OSwgNzcsIDY2LCA3OSwgNzYsIDQ1LCA1MiwgNTAsIDEyOCwgODMsIDg5LCA3NywgNjYsIDc5LCA3NiwgCi0gICAgNDUsIDUyLCA0OCwgMTI4LCA4MywgODksIDc3LCA2NiwgNzksIDc2LCA0NSwgNTIsIDEyOCwgODMsIDg5LCA3NywgNjYsIDc5LCAKLSAgICA3NiwgNDUsIDUxLCA1NywgMTI4LCA4MywgODksIDc3LCA2NiwgNzksIDc2LCA0NSwgNTEsIDU2LCAxMjgsIDgzLCA4OSwgNzcsIAotICAgIDY2LCA3OSwgNzYsIDQ1LCA1MSwgNTUsIDEyOCwgODMsIDg5LCA3NywgNjYsIDc5LCA3NiwgNDUsIDUxLCA1NCwgMTI4LCA4MywgCi0gICAgODksIDc3LCA2NiwgNzksIDc2LCA0NSwgNTEsIDUwLCAxMjgsIDgzLCA4OSwgNzcsIDY2LCA3OSwgNzYsIDQ1LCA1MSwgNDgsIAotICAgIDEyOCwgODMsIDg5LCA3NywgNjYsIDc5LCA3NiwgNDUsIDUxLCAxMjgsIDgzLCA4OSwgNzcsIDY2LCA3OSwgNzYsIDQ1LCA1MCwgCi0gICAgNTcsIDEyOCwgODMsIDg5LCA3NywgNjYsIDc5LCA3NiwgNDUsIDUwLCA1NSwgMTI4LCA4MywgODksIDc3LCA2NiwgNzksIDc2LCAKLSAgICA0NSwgNTAsIDU0LCAxMjgsIDgzLCA4OSwgNzcsIDY2LCA3OSwgNzYsIDQ1LCA1MCwgNTMsIDEyOCwgODMsIDg5LCA3NywgNjYsIAotICAgIDc5LCA3NiwgNDUsIDUwLCA1MiwgMTI4LCA4MywgODksIDc3LCA2NiwgNzksIDc2LCA0NSwgNTAsIDUxLCAxMjgsIDgzLCA4OSwgCi0gICAgNzcsIDY2LCA3OSwgNzYsIDQ1LCA1MCwgNTAsIDEyOCwgODMsIDg5LCA3NywgNjYsIDc5LCA3NiwgNDUsIDUwLCA0OSwgMTI4LCAKLSAgICA4MywgODksIDc3LCA2NiwgNzksIDc2LCA0NSwgNTAsIDQ4LCAxMjgsIDgzLCA4OSwgNzcsIDY2LCA3OSwgNzYsIDQ1LCA1MCwgCi0gICAgMTI4LCA4MywgODksIDc3LCA2NiwgNzksIDc2LCA0NSwgNDksIDU3LCAxMjgsIDgzLCA4OSwgNzcsIDY2LCA3OSwgNzYsIDQ1LCAKLSAgICA0OSwgNTYsIDEyOCwgODMsIDg5LCA3NywgNjYsIDc5LCA3NiwgNDUsIDQ5LCA1NSwgMTI4LCA4MywgODksIDc3LCA2NiwgNzksIAotICAgIDc2LCA0NSwgNDksIDU0LCAxMjgsIDgzLCA4OSwgNzcsIDY2LCA3OSwgNzYsIDQ1LCA0OSwgNTMsIDEyOCwgODMsIDg5LCA3NywgCi0gICAgNjYsIDc5LCA3NiwgNDUsIDQ5LCA1MiwgMTI4LCA4MywgODksIDc3LCA2NiwgNzksIDc2LCA0NSwgNDksIDUxLCAxMjgsIDgzLCAKLSAgICA4OSwgNzcsIDY2LCA3OSwgNzYsIDQ1LCA0OSwgNTAsIDEyOCwgODMsIDg5LCA3NywgNjYsIDc5LCA3NiwgNDUsIDQ5LCA0OSwgCi0gICAgMTI4LCA4MywgODksIDc3LCA2NiwgNzksIDc2LCA0NSwgNDksIDQ4LCAxMjgsIDgzLCA4OSwgNzcsIDY2LCA3OSwgNzYsIDQ1LCAKLSAgICA0OSwgMTI4LCA4MywgODksIDc2LCA3OSwgODQsIDIwMSwgODMsIDg5LCAxMjgsIDgzLCA4NywgOTAsIDEyOCwgODMsIDg3LCAKLSAgICA4NSwgNzgsIDE5OSwgODMsIDg3LCA3OSwgODIsIDY4LCA4MywgMTI4LCA4MywgODcsIDc5LCA4MiwgNjgsIDEyOCwgODMsIAotICAgIDg3LCA3OSwgNzksIDEyOCwgODMsIDg3LCA3OSwgMTI4LCA4MywgODcsIDczLCA4MiwgMjA0LCA4MywgODcsIDczLCA3NywgCi0gICAgNzcsIDczLCA3OCwgNzEsIDEyOCwgODMsIDg3LCA3MywgNzcsIDc3LCA2OSwgODIsIDEyOCwgODMsIDg3LCA3MywgNzMsIAotICAgIDEyOCwgODMsIDg3LCA3MywgMTI4LCA4MywgODcsIDcxLCAxMjgsIDgzLCA4NywgNjksIDY5LCA4NCwgMTI4LCA4MywgODcsIAotICAgIDY5LCA2OSwgMjEyLCA4MywgODcsIDY5LCA2NSwgODQsIDEyOCwgODMsIDg3LCA2OSwgNjUsIDIxMiwgODMsIDg3LCA2NSwgCi0gICAgODMsIDIwMCwgODMsIDg3LCA2NSwgODAsIDgwLCA3MywgNzgsIDcxLCAxMjgsIDgzLCA4NywgNjUsIDY1LCAxMjgsIDgzLCAKLSAgICA4NywgMTI4LCA4MywgODYsIDY1LCA4MywgODQsIDIwMSwgODMsIDg2LCA2NSwgODIsIDczLCA4NCwgNjUsIDEyOCwgODMsIAotICAgIDg2LCA2NSwgODIsIDczLCA4NCwgMTkzLCA4MywgODUsIDg4LCAxMjgsIDgzLCA4NSwgODUsIDEyOCwgODMsIDg1LCA4NCwgCi0gICAgMTI4LCA4MywgODUsIDgzLCA4MCwgNjksIDc4LCA4MywgNzMsIDc5LCAyMDYsIDgzLCA4NSwgODMsIDcyLCA3MywgMTI4LCAKLSAgICA4MywgODUsIDgyLCA4OSwgNjUsIDEyOCwgODMsIDg1LCA4MiwgODgsIDEyOCwgODMsIDg1LCA4MiwgODIsIDc5LCA4NSwgNzgsIAotICAgIDY4LCAxMjgsIDgzLCA4NSwgODIsIDgyLCA3OSwgODUsIDc4LCAxOTYsIDgzLCA4NSwgODIsIDcwLCA2OSwgODIsIDEyOCwgCi0gICAgODMsIDg1LCA4MiwgNzAsIDY1LCA2NywgMTk3LCA4MywgODUsIDgyLCA2OSwgMTI4LCA4MywgODUsIDgyLCA2NSwgNzgsIDcxLCAKLSAgICAxMjgsIDgzLCA4NSwgODIsIDU3LCAxMjgsIDgzLCA4NSwgODIsIDEyOCwgODMsIDg1LCAyMTAsIDgzLCA4NSwgODAsIDgyLCAKLSAgICA2NSwgNzYsIDczLCA3OCwgNjksIDY1LCAyMTAsIDgzLCA4NSwgODAsIDY5LCA4MiwgODYsIDczLCA4MywgNjksIDEyOCwgODMsIAotICAgIDg1LCA4MCwgNjksIDgyLCA4MywgNjksIDg0LCAxMjgsIDgzLCA4NSwgODAsIDY5LCA4MiwgODMsIDY5LCAyMTIsIDgzLCA4NSwgCi0gICAgODAsIDY5LCA4MiwgODMsIDY3LCA4MiwgNzMsIDgwLCAyMTIsIDgzLCA4NSwgODAsIDY5LCA4MiwgNzMsIDc3LCA4MCwgNzksIAotICAgIDgzLCA2OSwgMTk2LCA4MywgODUsIDgwLCA2OSwgODIsIDcwLCA3MywgODgsIDY5LCAxOTYsIDgzLCA4NSwgODAsIDY5LCAKLSAgICAyMTAsIDgzLCA4NSwgODAsIDEyOCwgODMsIDg1LCA3OSwgODgsIDEyOCwgODMsIDg1LCA3OSwgODAsIDEyOCwgODMsIDg1LCAKLSAgICA3OSwgMTI4LCA4MywgODUsIDc4LCA4MywgNjksIDIxMiwgODMsIDg1LCA3OCwgODIsIDczLCA4MywgNjksIDEyOCwgODMsIAotICAgIDg1LCA3OCwgODIsIDczLCA4MywgMTk3LCA4MywgODUsIDc4LCA3MSwgNzYsIDY1LCA4MywgODMsIDY5LCA4MywgMTI4LCA4MywgCi0gICAgODUsIDc4LCA3MSwgMTI4LCA4MywgODUsIDc4LCA3MCwgNzYsIDc5LCA4NywgNjksIDgyLCAxMjgsIDgzLCA4NSwgNzgsIAotICAgIDEyOCwgODMsIDg1LCAyMDYsIDgzLCA4NSwgNzcsIDc3LCA2OSwgODIsIDEyOCwgODMsIDg1LCA3NywgNzcsIDY1LCA4NCwgCi0gICAgNzMsIDc5LCA3OCwgMTI4LCA4MywgODUsIDc3LCA3NywgNjUsIDg0LCA3MywgNzksIDIwNiwgODMsIDg1LCA3NywgNjUsIDgzLCAKLSAgICA3MiwgMTI4LCA4MywgODUsIDc3LCAxMjgsIDgzLCA4NSwgNzYsIDcwLCA4NSwgODIsIDEyOCwgODMsIDg1LCA3NSwgODUsIAotICAgIDc4LCAxMjgsIDgzLCA4NSwgNzUsIDg1LCAyMDYsIDgzLCA4NSwgNzUsIDg1LCAxMjgsIDgzLCA4NSwgNzUsIDIxMywgODMsIAotICAgIDg1LCA3MywgODQsIDY1LCA2NiwgNzYsIDY5LCAxMjgsIDgzLCA4NSwgNzMsIDg0LCAxMjgsIDgzLCA4NSwgNzIsIDg1LCA4MiwgCi0gICAgMTI4LCA4MywgODUsIDY5LCAxMjgsIDgzLCA4NSwgNjgsIDUwLCAxMjgsIDgzLCA4NSwgNjgsIDEyOCwgODMsIDg1LCA2NywgCi0gICAgNjcsIDY5LCA2OSwgNjgsIDgzLCAxMjgsIDgzLCA4NSwgNjcsIDY3LCA2OSwgNjksIDY4LCAyMTEsIDgzLCA4NSwgNjcsIDY3LCAKLSAgICA2OSwgNjksIDY4LCAxMjgsIDgzLCA4NSwgNjcsIDY3LCA2OSwgNjksIDE5NiwgODMsIDg1LCA2NiwgODUsIDc4LCA3MywgODQsIAotICAgIDEyOCwgODMsIDg1LCA2NiwgODMsIDg0LCA3MywgODQsIDg1LCA4NCwgNzMsIDc5LCAyMDYsIDgzLCA4NSwgNjYsIDgzLCA4NCwgCi0gICAgNzMsIDg0LCA4NSwgODQsIDY5LCAxMjgsIDgzLCA4NSwgNjYsIDgzLCA4NCwgNzMsIDg0LCA4NSwgODQsIDE5NywgODMsIDg1LCAKLSAgICA2NiwgODMsIDY5LCA4NCwgMTI4LCA4MywgODUsIDY2LCA4MywgNjksIDIxMiwgODMsIDg1LCA2NiwgODMsIDY3LCA4MiwgNzMsIAotICAgIDgwLCAyMTIsIDgzLCA4NSwgNjYsIDgwLCA4NSwgNzgsIDY3LCA4NCwgNzMsIDgzLCAxMjgsIDgzLCA4NSwgNjYsIDc2LCA3MywgCi0gICAgNzgsIDY5LCA2NSwgMjEwLCA4MywgODUsIDY2LCA3NiwgNzMsIDc3LCA2NSwgODQsIDczLCA3OSwgNzgsIDEyOCwgODMsIDg1LCAKLSAgICA2NiwgNzYsIDczLCA3NywgNjUsIDg0LCA2OSwgNDUsIDUxLCAxMjgsIDgzLCA4NSwgNjYsIDc2LCA3MywgNzcsIDY1LCA4NCwgCi0gICAgNjksIDQ1LCA1MCwgMTI4LCA4MywgODUsIDY2LCA3NiwgNzMsIDc3LCA2NSwgODQsIDY5LCAxMjgsIDgzLCA4NSwgNjYsIDc2LCAKLSAgICA3MywgNzcsIDY1LCA4NCwgMTk3LCA4MywgODUsIDY2LCA3NCwgNzksIDczLCA3OCwgNjksIDE5NiwgODMsIDg1LCA2NiwgNzQsIAotICAgIDY5LCA2NywgODQsIDEyOCwgODMsIDg1LCA2NiwgNzMsIDg0LCA3OSwgMTI4LCA4MywgODUsIDY2LCA3MSwgODIsIDc5LCA4NSwgCi0gICAgODAsIDEyOCwgODMsIDg1LCA2NiwgNzEsIDgyLCA3OSwgODUsIDIwOCwgODMsIDg1LCA2NiwgMTI4LCA4MywgODUsIDY1LCAKLSAgICA2OSwgODQsIDEyOCwgODMsIDg1LCA2NSwgNjksIDc4LCAxMjgsIDgzLCA4NSwgNjUsIDY5LCAxMjgsIDgzLCA4NSwgNjUsIAotICAgIDEyOCwgODMsIDIxMywgODMsIDg0LCA4OCwgMTI4LCA4MywgODQsIDg3LCA2NSwgMTI4LCA4MywgODQsIDg1LCA2OCwgODksIAotICAgIDEyOCwgODMsIDg0LCA4NSwgNjcsIDc1LCA0NSwgNzksIDg1LCAyMTIsIDgzLCA4NCwgODMsIDEyOCwgODMsIDg0LCA4MiwgCi0gICAgNzksIDc4LCAxOTksIDgzLCA4NCwgODIsIDc5LCA3NSwgNjksIDgzLCAxMjgsIDgzLCA4NCwgODIsIDc5LCA3NSwgNjksIAotICAgIDIxMSwgODMsIDg0LCA4MiwgNzksIDc1LCA2OSwgNDUsIDU3LCAxMjgsIDgzLCA4NCwgODIsIDc5LCA3NSwgNjksIDQ1LCA1NiwgCi0gICAgMTI4LCA4MywgODQsIDgyLCA3OSwgNzUsIDY5LCA0NSwgNTUsIDEyOCwgODMsIDg0LCA4MiwgNzksIDc1LCA2OSwgNDUsIDU0LCAKLSAgICAxMjgsIDgzLCA4NCwgODIsIDc5LCA3NSwgNjksIDQ1LCA1MywgMTI4LCA4MywgODQsIDgyLCA3OSwgNzUsIDY5LCA0NSwgNTIsIAotICAgIDEyOCwgODMsIDg0LCA4MiwgNzksIDc1LCA2OSwgNDUsIDUxLCAxMjgsIDgzLCA4NCwgODIsIDc5LCA3NSwgNjksIDQ1LCA1MCwgCi0gICAgMTI4LCA4MywgODQsIDgyLCA3OSwgNzUsIDY5LCA0NSwgNDksIDQ5LCAxMjgsIDgzLCA4NCwgODIsIDc5LCA3NSwgNjksIDQ1LCAKLSAgICA0OSwgNDgsIDEyOCwgODMsIDg0LCA4MiwgNzksIDc1LCA2OSwgNDUsIDQ5LCAxMjgsIDgzLCA4NCwgODIsIDc5LCA3NSwgCi0gICAgMTk3LCA4MywgODQsIDgyLCA3MywgODAsIDY5LCAxMjgsIDgzLCA4NCwgODIsIDczLCA3OCwgNzEsIDEyOCwgODMsIDg0LCAKLSAgICA4MiwgNzMsIDc4LCAxOTksIDgzLCA4NCwgODIsIDczLCA3NSwgNjksIDg0LCA3MiwgODIsIDc5LCA4NSwgNzEsIDcyLCAxMjgsIAotICAgIDgzLCA4NCwgODIsIDczLCA2OCwgNjksIDEyOCwgODMsIDg0LCA4MiwgNzMsIDY3LCA4NCwgNzYsIDIxNywgODMsIDg0LCA4MiwgCi0gICAgNjksIDg0LCA2NywgNzIsIDY5LCAxOTYsIDgzLCA4NCwgODIsIDY5LCA4MywgMjExLCA4MywgODQsIDgyLCA2OSwgNzgsIDcxLCAKLSAgICA4NCwgNzIsIDEyOCwgODMsIDg0LCA4MiwgNjksIDY1LCA3NywgNjksIDgyLCAxMjgsIDgzLCA4NCwgODIsIDY1LCA4NywgNjYsIAotICAgIDY5LCA4MiwgODIsIDg5LCAxMjgsIDgzLCA4NCwgODIsIDY1LCA4NCwgODUsIDc3LCA0NSwgNTAsIDEyOCwgODMsIDg0LCA4MiwgCi0gICAgNjUsIDg0LCA4NSwgNzcsIDEyOCwgODMsIDg0LCA4MiwgNjUsIDg0LCA4NSwgMjA1LCA4MywgODQsIDgyLCA2NSwgODQsIDczLCAKLSAgICA2NSwgMjA2LCA4MywgODQsIDgyLCA2NSwgNzMsIDc4LCA2OSwgODIsIDEyOCwgODMsIDg0LCA4MiwgNjUsIDczLCA3MSwgNzIsIAotICAgIDg0LCA3OCwgNjksIDgzLCA4MywgMTI4LCA4MywgODQsIDgyLCA2NSwgNzMsIDcxLCA3MiwgMjEyLCA4MywgODQsIDgyLCA2NSwgCi0gICAgNzMsIDcwLCAxMjgsIDgzLCA4NCwgODIsIDY1LCA3MSwgNzEsIDczLCA4MywgNzcsIDY1LCA4NCwgNjUsIDEyOCwgODMsIDg0LCAKLSAgICA3OSwgODYsIDY5LCAxMjgsIDgzLCA4NCwgNzksIDgyLCA2OSwgMTI4LCA4MywgODQsIDc5LCA4MCwgODcsIDY1LCA4NCwgNjcsIAotICAgIDcyLCAxMjgsIDgzLCA4NCwgNzksIDgwLCA4MCwgNzMsIDc4LCA3MSwgMTI4LCA4MywgODQsIDc5LCA4MCwgODAsIDY1LCA3MSwgCi0gICAgNjksIDEyOCwgODMsIDg0LCA3OSwgODAsIDEyOCwgODMsIDg0LCA3OSwgMjA4LCA4MywgODQsIDc5LCA3OCwgNjksIDEyOCwgCi0gICAgODMsIDg0LCA3OSwgNjcsIDc1LCAxMjgsIDgzLCA4NCwgNzMsIDc3LCA3NywgNjksIDEyOCwgODMsIDg0LCA3MywgNzYsIAotICAgIDIwNCwgODMsIDg0LCA3MywgNzYsIDE5NywgODMsIDg0LCA3MywgNzEsIDc3LCA2NSwgMTI4LCA4MywgODQsIDY5LCA4MCwgCi0gICAgMTI4LCA4MywgODQsIDY5LCA3NywgMTI4LCA4MywgODQsIDY5LCA2NSwgNzcsIDczLCA3OCwgMTk5LCA4MywgODQsIDY5LCAKLSAgICA2NSwgNzcsIDEyOCwgODMsIDg0LCA2OSwgNjUsIDIwNSwgODMsIDg0LCA2NSwgODYsIDgyLCA3OSwgODUsIDEyOCwgODMsIAotICAgIDg0LCA2NSwgODYsIDgyLCA3OSwgODMsIDEyOCwgODMsIDg0LCA2NSwgODYsIDgyLCA3OSwgMjExLCA4MywgODQsIDY1LCA4NSwgCi0gICAgODIsIDc5LCA4MywgMTI4LCA4MywgODQsIDY1LCA4NCwgODUsIDE5NywgODMsIDg0LCA2NSwgODQsIDczLCA3OSwgNzgsIAotICAgIDEyOCwgODMsIDg0LCA2NSwgODQsIDY5LCA4MiwgODMsIDEyOCwgODMsIDg0LCA2NSwgODQsIDY5LCAxMjgsIDgzLCA4NCwgCi0gICAgNjUsIDgyLCAyMTIsIDgzLCA4NCwgNjUsIDgyLCA4MywgMTI4LCA4MywgODQsIDY1LCA4MiwgODIsIDY5LCAxOTYsIDgzLCAKLSAgICA4NCwgNjUsIDgyLCA3NSwgMTI4LCA4MywgODQsIDY1LCA4MiwgMTI4LCA4MywgODQsIDY1LCAyMTAsIDgzLCA4NCwgNjUsIAotICAgIDc4LCA2OCwgODMsIDg0LCA3MywgNzYsIDc2LCAxMjgsIDgzLCA4NCwgNjUsIDc4LCA2OCwgNjUsIDgyLCAxOTYsIDgzLCA4NCwgCi0gICAgNjUsIDc4LCA2OCwgMTI4LCA4MywgODQsIDY1LCA3OCwgMTI4LCA4MywgODQsIDY1LCA3NiwgNzYsIDczLCA3OSwgNzgsIAotICAgIDEyOCwgODMsIDg0LCA2NSwgNzAsIDcwLCAxMjgsIDgzLCA4NCwgNjUsIDcwLCAxOTgsIDgzLCA4NCwgNjUsIDY3LCA2NywgCi0gICAgNjUsIDg0LCA3OSwgMTI4LCA4MywgODQsIDY1LCA2NywgNjcsIDY1LCA4NCwgNzMsIDgzLCA4MywgNzMsIDc3LCA3OSwgMTI4LCAKLSAgICA4MywgODQsIDUwLCAxMjgsIDgzLCA4MywgODksIDg4LCAxMjgsIDgzLCA4MywgODksIDg0LCAxMjgsIDgzLCA4MywgODksIAotICAgIDgyLCA4OCwgMTI4LCA4MywgODMsIDg5LCA4MiwgMTI4LCA4MywgODMsIDg5LCA4MCwgMTI4LCA4MywgODMsIDg5LCAxMjgsIAotICAgIDgzLCA4MywgODUsIDg4LCAxMjgsIDgzLCA4MywgODUsIDg1LCAxMjgsIDgzLCA4MywgODUsIDg0LCAxMjgsIDgzLCA4MywgCi0gICAgODUsIDgwLCAxMjgsIDgzLCA4MywgNzksIDg4LCAxMjgsIDgzLCA4MywgNzksIDg0LCAxMjgsIDgzLCA4MywgNzksIDgwLCAKLSAgICAxMjgsIDgzLCA4MywgNzksIDc5LCAxMjgsIDgzLCA4MywgNzksIDEyOCwgODMsIDgzLCA3MywgODgsIDEyOCwgODMsIDgzLCAKLSAgICA3MywgODQsIDEyOCwgODMsIDgzLCA3MywgODAsIDEyOCwgODMsIDgzLCA3MywgNzMsIDEyOCwgODMsIDgzLCA3MywgNjksIAotICAgIDg4LCAxMjgsIDgzLCA4MywgNzMsIDY5LCA4MCwgMTI4LCA4MywgODMsIDczLCA2OSwgMTI4LCA4MywgODMsIDczLCAxMjgsIAotICAgIDgzLCA4MywgNzIsIDY5LCAxMjgsIDgzLCA4MywgNjksIDg4LCAxMjgsIDgzLCA4MywgNjksIDgwLCAxMjgsIDgzLCA4MywgCi0gICAgNjksIDY5LCAxMjgsIDgzLCA4MywgNjUsIDg4LCAxMjgsIDgzLCA4MywgNjUsIDg1LCAxMjgsIDgzLCA4MywgNjUsIDg0LCAKLSAgICAxMjgsIDgzLCA4MywgNjUsIDgwLCAxMjgsIDgzLCA4MywgNjUsIDc4LCA3MSwgODksIDY5LCA3OSwgODIsIDczLCA3OCwgNzIsIAotICAgIDczLCA2OSwgODUsIDcyLCAxMjgsIDgzLCA4MywgNjUsIDc4LCA3MSwgODQsIDczLCA3NSwgNjksIDg1LCA4NCwgNDUsIDgwLCAKLSAgICA3MywgNjksIDg1LCA4MCwgMTI4LCA4MywgODMsIDY1LCA3OCwgNzEsIDg0LCA3MywgNzUsIDY5LCA4NSwgODQsIDEyOCwgODMsIAotICAgIDgzLCA2NSwgNzgsIDcxLCA4NCwgNzIsIDczLCA2OSwgODUsIDg0LCA3MiwgMTI4LCA4MywgODMsIDY1LCA3OCwgNzEsIDgzLCAKLSAgICA3MywgNzksIDgzLCA0NSwgODQsIDczLCA3NSwgNjksIDg1LCA4NCwgMTI4LCA4MywgODMsIDY1LCA3OCwgNzEsIDgzLCA3MywgCi0gICAgNzksIDgzLCA0NSwgODAsIDczLCA2OSwgODUsIDgwLCAxMjgsIDgzLCA4MywgNjUsIDc4LCA3MSwgODMsIDczLCA3OSwgODMsIAotICAgIDQ1LCA3NSwgNzMsIDg5LCA2OSwgNzksIDc1LCAxMjgsIDgzLCA4MywgNjUsIDc4LCA3MSwgODMsIDczLCA3OSwgODMsIDEyOCwgCi0gICAgODMsIDgzLCA2NSwgNzgsIDcxLCA4MiwgNzMsIDY5LCA4NSwgNzYsIDQ1LCA3NSwgNzIsIDczLCA2OSwgODUsIDc1LCA3MiwgCi0gICAgMTI4LCA4MywgODMsIDY1LCA3OCwgNzEsIDgyLCA3MywgNjksIDg1LCA3NiwgMTI4LCA4MywgODMsIDY1LCA3OCwgNzEsIDgwLCAKLSAgICA3MywgNjksIDg1LCA4MCwgMTI4LCA4MywgODMsIDY1LCA3OCwgNzEsIDc4LCA3MywgNjksIDg1LCA3OCwgMTI4LCA4MywgODMsIAotICAgIDY1LCA3OCwgNzEsIDc3LCA3MywgNjksIDg1LCA3NywgMTI4LCA4MywgODMsIDY1LCA3OCwgNzEsIDc1LCA3MywgODksIDY5LCAKLSAgICA3OSwgNzUsIDEyOCwgODMsIDgzLCA2NSwgNzgsIDcxLCA3MywgNjksIDg1LCA3OCwgNzEsIDEyOCwgODMsIDgzLCA2NSwgNzgsIAotICAgIDcxLCA3MiwgNzMsIDY5LCA4NSwgNzIsIDEyOCwgODMsIDgzLCA2NSwgNzgsIDcxLCA2NywgNzMsIDY5LCA4NSwgNjcsIDQ1LCAKLSAgICA3MiwgNzMsIDY5LCA4NSwgNzIsIDEyOCwgODMsIDgzLCA2NSwgNzgsIDcxLCA2NywgNzMsIDY5LCA4NSwgNjcsIDEyOCwgODMsIAotICAgIDgzLCA2NSwgNzgsIDcxLCA2NSwgODIsIDY1LCA2OSwgNjUsIDEyOCwgODMsIDgzLCA2NSwgNzMsIDEyOCwgODMsIDgzLCA2NSwgCi0gICAgNjUsIDEyOCwgODMsIDgzLCA1MSwgMTI4LCA4MywgODMsIDUwLCAxMjgsIDgzLCA4MiwgMTI4LCA4MywgODEsIDg1LCA3MywgCi0gICAgODMsIDIwMCwgODMsIDgxLCA4NSwgNzMsIDgyLCA4MiwgNjksIDIwNCwgODMsIDgxLCA4NSwgNzMsIDcxLCA3MSwgNzYsIAorICAgIDc4LCA4NCwgNzIsIDEyOCwgODQsIDY5LCA3OCwgODQsIDEyOCwgODQsIDY5LCA3OCwgODMsIDEyOCwgODQsIDY5LCA3OCwgCisgICAgMjExLCA4NCwgNjksIDc4LCA3OCwgNzMsIDIxMSwgODQsIDY5LCA3OCwgNzEsIDE5NywgODQsIDY5LCA3OCwgNDUsIDg0LCAKKyAgICA3MiwgNzMsIDgyLCA4NCwgODksIDEyOCwgODQsIDY5LCA3OCwgMTI4LCA4NCwgNjksIDIwNiwgODQsIDY5LCA3NywgODAsIAorICAgIDg1LCAyMTEsIDg0LCA2OSwgNzYsIDg1LCAxMjgsIDg0LCA2OSwgNzYsIDc5LCA4NSwgMjExLCA4NCwgNjksIDc2LCA3NiwgCisgICAgNjksIDIxMCwgODQsIDY5LCA3NiwgNzMsIDgzLCA3MiwgMTkzLCA4NCwgNjksIDc2LCA2OSwgODYsIDczLCA4MywgNzMsIDc5LCAKKyAgICA3OCwgMTI4LCA4NCwgNjksIDc2LCA2OSwgODMsIDY3LCA3OSwgODAsIDY5LCAxMjgsIDg0LCA2OSwgNzYsIDY5LCA4MCwgNzIsIAorICAgIDc5LCA3OCwgNjksIDEyOCwgODQsIDY5LCA3NiwgNjksIDgwLCA3MiwgNzksIDc4LCAxOTcsIDg0LCA2OSwgNzYsIDY5LCA3MywgCisgICAgNjUsIDEyOCwgODQsIDY5LCA3NiwgNjksIDcxLCA4MiwgNjUsIDgwLCAyMDAsIDg0LCA2OSwgNzUsIDEyOCwgODQsIDY5LCAKKyAgICA3MywgODcsIDgzLCAxMjgsIDg0LCA2OSwgNzEsIDY5LCA3MiwgMTI4LCA4NCwgNjksIDY5LCA3OCwgODMsIDEyOCwgODQsIAorICAgIDY5LCA2OSwgNjksIDY5LCAxMjgsIDg0LCA2OSwgMTk3LCA4NCwgNjksIDY4LCA4NSwgNzgsIDcxLCAxMjgsIDg0LCA2OSwgCisgICAgNjUsIDgyLCAyMTEsIDg0LCA2OSwgNjUsIDgyLCA2OCwgODIsIDc5LCA4MCwgNDUsIDgzLCA4MCwgNzksIDc1LCA2OSwgMTk2LCAKKyAgICA4NCwgNjksIDY1LCA4MiwgNjgsIDgyLCA3OSwgODAsIDQ1LCA4MywgNzIsIDY1LCA3OCwgNzUsIDY5LCAxOTYsIDg0LCA2OSwgCisgICAgNjUsIDgyLCA2OCwgODIsIDc5LCA4MCwgNDUsIDY2LCA2NSwgODIsIDY2LCA2OSwgMTk2LCA4NCwgNjksIDY1LCA4MiwgNDUsIAorICAgIDc5LCA3MCwgMTk4LCA4NCwgNjksIDY1LCA2NywgODUsIDIwOCwgODQsIDY5LCA0NSwgODUsIDEyOCwgODQsIDY5LCA0NSwgCisgICAgNTAsIDEyOCwgODQsIDY3LCA3MiwgNjksIDcyLCA2OSwgNzIsIDEyOCwgODQsIDY3LCA3MiwgNjksIDcyLCA2OSwgMjAwLCAKKyAgICA4NCwgNjcsIDcyLCA2OSwgNzIsIDEyOCwgODQsIDY3LCA3MiwgNjksIDIwMCwgODQsIDY3LCA3MiwgNjksIDEyOCwgODQsIAorICAgIDE5NSwgODQsIDY1LCA4OSwgMTI4LCA4NCwgNjUsIDg4LCA3MywgMTI4LCA4NCwgNjUsIDg4LCAxMjgsIDg0LCA2NSwgODcsIAorICAgIDY5LCA3NiwgNzYsIDY5LCA3NywgNjksIDIxMiwgODQsIDY1LCA4NywgNjUsIDEyOCwgODQsIDY1LCA4NywgMTI4LCA4NCwgCisgICAgNjUsIDg2LCA3MywgODksIDY1LCA3OCwgNzMsIDEyOCwgODQsIDY1LCA4NiwgMTI4LCA4NCwgNjUsIDIxNCwgODQsIDY1LCAKKyAgICA4NSwgODIsIDg1LCA4MywgMTI4LCA4NCwgNjUsIDg1LCA3NywgMTI4LCA4NCwgNjUsIDIxMywgODQsIDY1LCA4NCwgODcsIAorICAgIDY5LCA2OSwgNzYsIDEyOCwgODQsIDY1LCA4NCwgODcsIDY5LCA2OSwgMjA0LCA4NCwgNjUsIDg0LCA4NCwgNzksIDc5LCA2OSwgCisgICAgMTk2LCA4NCwgNjUsIDg0LCAxMjgsIDg0LCA2NSwgODMsIDEyOCwgODQsIDY1LCA4MiwgODUsIDc4LCA3MSwgMTI4LCA4NCwgCisgICAgNjUsIDgyLCA4NCwgNjUsIDgyLCA0NSwgNTAsIDEyOCwgODQsIDY1LCA4MiwgODQsIDY1LCA4MiwgMTI4LCA4NCwgNjUsIDgyLCAKKyAgICA3MSwgNjksIDg0LCAxMjgsIDg0LCA2NSwgODEsIDEyOCwgODQsIDY1LCA4MCwgNjksIDgyLCAxMjgsIDg0LCA2NSwgODAsIAorICAgIDE5NywgODQsIDY1LCA4MCwgMTI4LCA4NCwgNjUsIDc5LCAxMjgsIDg0LCA2NSwgNzgsIDc4LCA2OSwgMTk2LCA4NCwgNjUsIAorICAgIDc4LCA3MSwgNjksIDgyLCA3MywgNzgsIDY5LCAxMjgsIDg0LCA2NSwgNzgsIDcxLCA2OSwgNzgsIDg0LCAxMjgsIDg0LCA2NSwgCisgICAgNzgsIDcxLCA2OSwgNzgsIDIxMiwgODQsIDY1LCA3OCwgMTk5LCA4NCwgNjUsIDc4LCA2NSwgNjYsIDY1LCA4NCwgMTkzLCAKKyAgICA4NCwgNjUsIDc4LCAxMjgsIDg0LCA2NSwgNzcsIDczLCA3OCwgNzEsIDEyOCwgODQsIDY1LCA3NywgMTI4LCA4NCwgNjUsIAorICAgIDc2LCA3NiwgMTI4LCA4NCwgNjUsIDc2LCAyMDQsIDg0LCA2NSwgNzYsIDczLCA3OCwgNzEsIDEyOCwgODQsIDY1LCA3NiwgCisgICAgNzMsIDc4LCAxOTksIDg0LCA2NSwgNzYsIDY5LCA3OCwgODQsIDgzLCAxMjgsIDg0LCA2NSwgNzYsIDY5LCA3OCwgMjEyLCAKKyAgICA4NCwgNjUsIDc1LCA4MiwgMjAxLCA4NCwgNjUsIDc1LCA3MiwgNjUsIDc2LCA3NiwgODUsIDgzLCAxMjgsIDg0LCA2NSwgNzUsIAorICAgIDY5LCAxMjgsIDg0LCA2NSwgNzUsIDUyLCAxMjgsIDg0LCA2NSwgNzUsIDEyOCwgODQsIDY1LCA3MywgODMsIDg5LCA3OSwgCisgICAgODUsIDEyOCwgODQsIDY1LCA3MywgNzYsIDc2LCA2OSwgODMsIDIxMSwgODQsIDY1LCA3MywgNzYsIDEyOCwgODQsIDY1LCAKKyAgICA3MywgMjA0LCA4NCwgNjUsIDcyLCAxMjgsIDg0LCA2NSwgMjAwLCA4NCwgNjUsIDcxLCA2NiwgNjUsIDc4LCA4NywgMTkzLCAKKyAgICA4NCwgNjUsIDcxLCA2NSwgNzYsIDc5LCAxOTksIDg0LCA2NSwgNzEsIDEyOCwgODQsIDY1LCA2OSwgMjA2LCA4NCwgNjUsIAorICAgIDY3LCA3NSwgMTI4LCA4NCwgNjUsIDY3LCAyMDMsIDg0LCA2NSwgNjYsIDg1LCA3NiwgNjUsIDg0LCA3MywgNzksIDc4LCAKKyAgICAxMjgsIDg0LCA2NSwgNjYsIDg1LCA3NiwgNjUsIDg0LCA3MywgNzksIDIwNiwgODQsIDY1LCA2NiwgODMsIDEyOCwgODQsIAorICAgIDY1LCA2NiwgNzYsIDY5LCAxMjgsIDg0LCA2NSwgNjYsIDEyOCwgODQsIDY1LCAxOTQsIDg0LCA2NSwgNjUsIDgzLCA3MiwgCisgICAgNjUsIDY5LCAxMjgsIDg0LCA2NSwgNjUsIDgxLCAxMjgsIDg0LCA2NSwgNjUsIDc3LCAxMjgsIDg0LCA2NSwgNjUsIDc2LCAKKyAgICA4NSwgNzQsIDE5MywgODQsIDY1LCA2NSwgNzMsIDEyOCwgODQsIDY1LCA2NSwgNzAsIDEyOCwgODQsIDY1LCA1MCwgMTI4LCAKKyAgICA4NCwgNjUsIDQ1LCA4MiwgNzksIDc2LCAxMjgsIDg0LCA2NSwgNDUsIDUwLCAxMjgsIDg0LCA0OCwgNTEsIDU0LCAxMjgsIAorICAgIDg0LCA0OCwgNTEsIDUzLCAxMjgsIDg0LCA0OCwgNTEsIDUyLCAxMjgsIDg0LCA0OCwgNTEsIDUxLCA2NSwgMTI4LCA4NCwgCisgICAgNDgsIDUxLCA1MSwgMTI4LCA4NCwgNDgsIDUxLCA1MCwgNjUsIDEyOCwgODQsIDQ4LCA1MSwgNTAsIDEyOCwgODQsIDQ4LCAKKyAgICA1MSwgNDksIDEyOCwgODQsIDQ4LCA1MSwgNDgsIDEyOCwgODQsIDQ4LCA1MCwgNTcsIDEyOCwgODQsIDQ4LCA1MCwgNTYsIAorICAgIDEyOCwgODQsIDQ4LCA1MCwgNTUsIDEyOCwgODQsIDQ4LCA1MCwgNTQsIDEyOCwgODQsIDQ4LCA1MCwgNTMsIDEyOCwgODQsIAorICAgIDQ4LCA1MCwgNTIsIDEyOCwgODQsIDQ4LCA1MCwgNTEsIDEyOCwgODQsIDQ4LCA1MCwgNTAsIDEyOCwgODQsIDQ4LCA1MCwgCisgICAgNDksIDEyOCwgODQsIDQ4LCA1MCwgNDgsIDEyOCwgODQsIDQ4LCA0OSwgNTcsIDEyOCwgODQsIDQ4LCA0OSwgNTYsIDEyOCwgCisgICAgODQsIDQ4LCA0OSwgNTUsIDEyOCwgODQsIDQ4LCA0OSwgNTQsIDY1LCAxMjgsIDg0LCA0OCwgNDksIDU0LCAxMjgsIDg0LCAKKyAgICA0OCwgNDksIDUzLCAxMjgsIDg0LCA0OCwgNDksIDUyLCAxMjgsIDg0LCA0OCwgNDksIDUxLCAxMjgsIDg0LCA0OCwgNDksIAorICAgIDUwLCAxMjgsIDg0LCA0OCwgNDksIDQ5LCA2NSwgMTI4LCA4NCwgNDgsIDQ5LCA0OSwgMTI4LCA4NCwgNDgsIDQ5LCA0OCwgCisgICAgMTI4LCA4NCwgNDgsIDQ4LCA1NywgNjUsIDEyOCwgODQsIDQ4LCA0OCwgNTcsIDEyOCwgODQsIDQ4LCA0OCwgNTYsIDY1LCAKKyAgICAxMjgsIDg0LCA0OCwgNDgsIDU2LCAxMjgsIDg0LCA0OCwgNDgsIDU1LCA2NSwgMTI4LCA4NCwgNDgsIDQ4LCA1NSwgMTI4LCAKKyAgICA4NCwgNDgsIDQ4LCA1NCwgMTI4LCA4NCwgNDgsIDQ4LCA1MywgMTI4LCA4NCwgNDgsIDQ4LCA1MiwgMTI4LCA4NCwgNDgsIAorICAgIDQ4LCA1MSwgNjUsIDEyOCwgODQsIDQ4LCA0OCwgNTEsIDEyOCwgODQsIDQ4LCA0OCwgNTAsIDEyOCwgODQsIDQ4LCA0OCwgCisgICAgNDksIDEyOCwgODQsIDQ1LCA4MywgNzIsIDczLCA4MiwgODQsIDEyOCwgODMsIDkwLCA5MCwgMTI4LCA4MywgOTAsIDg3LCAKKyAgICA3MSwgMTI4LCA4MywgOTAsIDg3LCA2NSwgMTI4LCA4MywgOTAsIDg1LCAxMjgsIDgzLCA5MCwgNzksIDEyOCwgODMsIDkwLCAKKyAgICA3MywgMTI4LCA4MywgOTAsIDY5LCA2OSwgMTI4LCA4MywgOTAsIDY5LCAxMjgsIDgzLCA5MCwgNjUsIDY1LCAxMjgsIDgzLCAKKyAgICA5MCwgNjUsIDEyOCwgODMsIDkwLCAxMjgsIDgzLCA4OSwgODgsIDEyOCwgODMsIDg5LCA4NCwgMTI4LCA4MywgODksIDgzLCAKKyAgICA4NCwgNjksIDIwNSwgODMsIDg5LCA4MiwgODgsIDEyOCwgODMsIDg5LCA4MiwgNzcsIDY1LCA4NCwgNzMsIDc1LCA3MywgCisgICAgMTI4LCA4MywgODksIDgyLCA3NywgNjUsIDEyOCwgODMsIDg5LCA4MiwgNzMsIDc4LCA3MSwgNjksIDEyOCwgODMsIDg5LCAKKyAgICA4MiwgNzMsIDY1LCAxOTUsIDgzLCA4OSwgODIsIDEyOCwgODMsIDg5LCA4MCwgMTI4LCA4MywgODksIDc5LCA4NSwgODcsIAorICAgIDY1LCAxMjgsIDgzLCA4OSwgNzgsIDY5LCA4NiwgNzcsIDY1LCAxMjgsIDgzLCA4OSwgNzgsIDY4LCA2OSwgODMsIDc3LCA3OSwgCisgICAgMjExLCA4MywgODksIDc4LCA2NywgNzIsIDgyLCA3OSwgNzgsIDc5LCA4NSwgMjExLCA4MywgODksIDc4LCA2NSwgNzEsIDc3LCAKKyAgICAxOTMsIDgzLCA4OSwgNzgsIDY1LCA3MCwgNzMsIDEyOCwgODMsIDg5LCA3OCwgMTI4LCA4MywgODksIDc3LCA3NywgNjksIAorICAgIDg0LCA4MiwgODksIDEyOCwgODMsIDg5LCA3NywgNzcsIDY5LCA4NCwgODIsIDczLCAxOTUsIDgzLCA4OSwgNzcsIDY2LCA3OSwgCisgICAgNzYsIDgzLCAxMjgsIDgzLCA4OSwgNzcsIDY2LCA3OSwgNzYsIDQ1LCA1NywgMTI4LCA4MywgODksIDc3LCA2NiwgNzksIDc2LCAKKyAgICA0NSwgNTYsIDEyOCwgODMsIDg5LCA3NywgNjYsIDc5LCA3NiwgNDUsIDU1LCAxMjgsIDgzLCA4OSwgNzcsIDY2LCA3OSwgNzYsIAorICAgIDQ1LCA1NCwgMTI4LCA4MywgODksIDc3LCA2NiwgNzksIDc2LCA0NSwgNTMsIDUyLCAxMjgsIDgzLCA4OSwgNzcsIDY2LCA3OSwgCisgICAgNzYsIDQ1LCA1MywgNTEsIDEyOCwgODMsIDg5LCA3NywgNjYsIDc5LCA3NiwgNDUsIDUzLCA1MCwgMTI4LCA4MywgODksIDc3LCAKKyAgICA2NiwgNzksIDc2LCA0NSwgNTMsIDQ5LCAxMjgsIDgzLCA4OSwgNzcsIDY2LCA3OSwgNzYsIDQ1LCA1MywgNDgsIDEyOCwgODMsIAorICAgIDg5LCA3NywgNjYsIDc5LCA3NiwgNDUsIDUzLCAxMjgsIDgzLCA4OSwgNzcsIDY2LCA3OSwgNzYsIDQ1LCA1MiwgNTcsIDEyOCwgCisgICAgODMsIDg5LCA3NywgNjYsIDc5LCA3NiwgNDUsIDUyLCA1NiwgMTI4LCA4MywgODksIDc3LCA2NiwgNzksIDc2LCA0NSwgNTIsIAorICAgIDU1LCAxMjgsIDgzLCA4OSwgNzcsIDY2LCA3OSwgNzYsIDQ1LCA1MiwgNTMsIDEyOCwgODMsIDg5LCA3NywgNjYsIDc5LCA3NiwgCisgICAgNDUsIDUyLCA1MSwgMTI4LCA4MywgODksIDc3LCA2NiwgNzksIDc2LCA0NSwgNTIsIDUwLCAxMjgsIDgzLCA4OSwgNzcsIDY2LCAKKyAgICA3OSwgNzYsIDQ1LCA1MiwgNDgsIDEyOCwgODMsIDg5LCA3NywgNjYsIDc5LCA3NiwgNDUsIDUyLCAxMjgsIDgzLCA4OSwgNzcsIAorICAgIDY2LCA3OSwgNzYsIDQ1LCA1MSwgNTcsIDEyOCwgODMsIDg5LCA3NywgNjYsIDc5LCA3NiwgNDUsIDUxLCA1NiwgMTI4LCA4MywgCisgICAgODksIDc3LCA2NiwgNzksIDc2LCA0NSwgNTEsIDU1LCAxMjgsIDgzLCA4OSwgNzcsIDY2LCA3OSwgNzYsIDQ1LCA1MSwgNTQsIAorICAgIDEyOCwgODMsIDg5LCA3NywgNjYsIDc5LCA3NiwgNDUsIDUxLCA1MCwgMTI4LCA4MywgODksIDc3LCA2NiwgNzksIDc2LCA0NSwgCisgICAgNTEsIDQ4LCAxMjgsIDgzLCA4OSwgNzcsIDY2LCA3OSwgNzYsIDQ1LCA1MSwgMTI4LCA4MywgODksIDc3LCA2NiwgNzksIDc2LCAKKyAgICA0NSwgNTAsIDU3LCAxMjgsIDgzLCA4OSwgNzcsIDY2LCA3OSwgNzYsIDQ1LCA1MCwgNTUsIDEyOCwgODMsIDg5LCA3NywgNjYsIAorICAgIDc5LCA3NiwgNDUsIDUwLCA1NCwgMTI4LCA4MywgODksIDc3LCA2NiwgNzksIDc2LCA0NSwgNTAsIDUzLCAxMjgsIDgzLCA4OSwgCisgICAgNzcsIDY2LCA3OSwgNzYsIDQ1LCA1MCwgNTIsIDEyOCwgODMsIDg5LCA3NywgNjYsIDc5LCA3NiwgNDUsIDUwLCA1MSwgMTI4LCAKKyAgICA4MywgODksIDc3LCA2NiwgNzksIDc2LCA0NSwgNTAsIDUwLCAxMjgsIDgzLCA4OSwgNzcsIDY2LCA3OSwgNzYsIDQ1LCA1MCwgCisgICAgNDksIDEyOCwgODMsIDg5LCA3NywgNjYsIDc5LCA3NiwgNDUsIDUwLCA0OCwgMTI4LCA4MywgODksIDc3LCA2NiwgNzksIDc2LCAKKyAgICA0NSwgNTAsIDEyOCwgODMsIDg5LCA3NywgNjYsIDc5LCA3NiwgNDUsIDQ5LCA1NywgMTI4LCA4MywgODksIDc3LCA2NiwgNzksIAorICAgIDc2LCA0NSwgNDksIDU2LCAxMjgsIDgzLCA4OSwgNzcsIDY2LCA3OSwgNzYsIDQ1LCA0OSwgNTUsIDEyOCwgODMsIDg5LCA3NywgCisgICAgNjYsIDc5LCA3NiwgNDUsIDQ5LCA1NCwgMTI4LCA4MywgODksIDc3LCA2NiwgNzksIDc2LCA0NSwgNDksIDUzLCAxMjgsIDgzLCAKKyAgICA4OSwgNzcsIDY2LCA3OSwgNzYsIDQ1LCA0OSwgNTIsIDEyOCwgODMsIDg5LCA3NywgNjYsIDc5LCA3NiwgNDUsIDQ5LCA1MSwgCisgICAgMTI4LCA4MywgODksIDc3LCA2NiwgNzksIDc2LCA0NSwgNDksIDUwLCAxMjgsIDgzLCA4OSwgNzcsIDY2LCA3OSwgNzYsIDQ1LCAKKyAgICA0OSwgNDksIDEyOCwgODMsIDg5LCA3NywgNjYsIDc5LCA3NiwgNDUsIDQ5LCA0OCwgMTI4LCA4MywgODksIDc3LCA2NiwgNzksIAorICAgIDc2LCA0NSwgNDksIDEyOCwgODMsIDg5LCA3NiwgNzksIDg0LCAyMDEsIDgzLCA4OSwgMTI4LCA4MywgODcsIDkwLCAxMjgsIAorICAgIDgzLCA4NywgODUsIDc4LCAxOTksIDgzLCA4NywgNzksIDgyLCA2OCwgODMsIDEyOCwgODMsIDg3LCA3OSwgODIsIDY4LCAKKyAgICAxMjgsIDgzLCA4NywgNzksIDc5LCAxMjgsIDgzLCA4NywgNzksIDEyOCwgODMsIDg3LCA3MywgODIsIDIwNCwgODMsIDg3LCAKKyAgICA3MywgNzcsIDc3LCA3MywgNzgsIDcxLCAxMjgsIDgzLCA4NywgNzMsIDc3LCA3NywgNjksIDgyLCAxMjgsIDgzLCA4NywgNzMsIAorICAgIDczLCAxMjgsIDgzLCA4NywgNzMsIDEyOCwgODMsIDg3LCA3MSwgMTI4LCA4MywgODcsIDY5LCA2OSwgODQsIDEyOCwgODMsIAorICAgIDg3LCA2OSwgNjksIDIxMiwgODMsIDg3LCA2OSwgNjUsIDg0LCAxMjgsIDgzLCA4NywgNjksIDY1LCAyMTIsIDgzLCA4NywgCisgICAgNjUsIDgzLCAyMDAsIDgzLCA4NywgNjUsIDgwLCA4MCwgNzMsIDc4LCA3MSwgMTI4LCA4MywgODcsIDY1LCA2NSwgMTI4LCAKKyAgICA4MywgODcsIDEyOCwgODMsIDg2LCA2NSwgODMsIDg0LCAyMDEsIDgzLCA4NiwgNjUsIDgyLCA3MywgODQsIDY1LCAxMjgsIAorICAgIDgzLCA4NiwgNjUsIDgyLCA3MywgODQsIDE5MywgODMsIDg1LCA4OCwgMTI4LCA4MywgODUsIDg1LCAxMjgsIDgzLCA4NSwgCisgICAgODQsIDgyLCAxOTMsIDgzLCA4NSwgODQsIDEyOCwgODMsIDg1LCA4MywgODAsIDY5LCA3OCwgODMsIDczLCA3OSwgMjA2LCAKKyAgICA4MywgODUsIDgzLCA3MiwgNzMsIDEyOCwgODMsIDg1LCA4MiwgODksIDY1LCAxMjgsIDgzLCA4NSwgODIsIDg4LCAxMjgsIAorICAgIDgzLCA4NSwgODIsIDgyLCA3OSwgODUsIDc4LCA2OCwgMTI4LCA4MywgODUsIDgyLCA4MiwgNzksIDg1LCA3OCwgMTk2LCA4MywgCisgICAgODUsIDgyLCA3MCwgNjksIDgyLCAxMjgsIDgzLCA4NSwgODIsIDcwLCA2NSwgNjcsIDE5NywgODMsIDg1LCA4MiwgNjksIAorICAgIDEyOCwgODMsIDg1LCA4MiwgNjUsIDc4LCA3MSwgMTI4LCA4MywgODUsIDgyLCA1NywgMTI4LCA4MywgODUsIDgyLCAxMjgsIAorICAgIDgzLCA4NSwgMjEwLCA4MywgODUsIDgwLCA4MiwgNjUsIDc2LCA3MywgNzgsIDY5LCA2NSwgMjEwLCA4MywgODUsIDgwLCA2OSwgCisgICAgODIsIDg2LCA3MywgODMsIDY5LCAxMjgsIDgzLCA4NSwgODAsIDY5LCA4MiwgODMsIDY5LCA4NCwgMTI4LCA4MywgODUsIDgwLCAKKyAgICA2OSwgODIsIDgzLCA2OSwgMjEyLCA4MywgODUsIDgwLCA2OSwgODIsIDgzLCA2NywgODIsIDczLCA4MCwgMjEyLCA4MywgODUsIAorICAgIDgwLCA2OSwgODIsIDczLCA3NywgODAsIDc5LCA4MywgNjksIDE5NiwgODMsIDg1LCA4MCwgNjksIDgyLCA3MCwgNzMsIDg4LCAKKyAgICA2OSwgMTk2LCA4MywgODUsIDgwLCA2OSwgMjEwLCA4MywgODUsIDgwLCAxMjgsIDgzLCA4NSwgNzksIDg4LCAxMjgsIDgzLCAKKyAgICA4NSwgNzksIDgwLCAxMjgsIDgzLCA4NSwgNzksIDEyOCwgODMsIDg1LCA3OCwgODMsIDY5LCAyMTIsIDgzLCA4NSwgNzgsIAorICAgIDgyLCA3MywgODMsIDY5LCAxMjgsIDgzLCA4NSwgNzgsIDgyLCA3MywgODMsIDE5NywgODMsIDg1LCA3OCwgNzEsIDc2LCA2NSwgCisgICAgODMsIDgzLCA2OSwgODMsIDEyOCwgODMsIDg1LCA3OCwgNzEsIDEyOCwgODMsIDg1LCA3OCwgNzAsIDc2LCA3OSwgODcsIDY5LCAKKyAgICA4MiwgMTI4LCA4MywgODUsIDc4LCA2OCwgNjUsIDc4LCA2OSwgODMsIDE5NywgODMsIDg1LCA3OCwgMTI4LCA4MywgODUsIAorICAgIDIwNiwgODMsIDg1LCA3NywgNzcsIDY5LCA4MiwgMTI4LCA4MywgODUsIDc3LCA3NywgNjUsIDg0LCA3MywgNzksIDc4LCAKKyAgICAxMjgsIDgzLCA4NSwgNzcsIDc3LCA2NSwgODQsIDczLCA3OSwgMjA2LCA4MywgODUsIDc3LCA2NSwgODMsIDcyLCAxMjgsIAorICAgIDgzLCA4NSwgNzcsIDEyOCwgODMsIDg1LCA3NiwgNzAsIDg1LCA4MiwgMTI4LCA4MywgODUsIDc1LCA4NSwgNzgsIDEyOCwgCisgICAgODMsIDg1LCA3NSwgODUsIDIwNiwgODMsIDg1LCA3NSwgODUsIDEyOCwgODMsIDg1LCA3NSwgMjEzLCA4MywgODUsIDczLCAKKyAgICA4NCwgNjUsIDY2LCA3NiwgNjksIDEyOCwgODMsIDg1LCA3MywgODQsIDEyOCwgODMsIDg1LCA3MywgMjEyLCA4MywgODUsIAorICAgIDcyLCA4NSwgODIsIDEyOCwgODMsIDg1LCA2OSwgMTI4LCA4MywgODUsIDY4LCA1MCwgMTI4LCA4MywgODUsIDY4LCAxMjgsIAorICAgIDgzLCA4NSwgNjcsIDY3LCA2OSwgNjksIDY4LCA4MywgMTI4LCA4MywgODUsIDY3LCA2NywgNjksIDY5LCA2OCwgMjExLCA4MywgCisgICAgODUsIDY3LCA2NywgNjksIDY5LCA2OCwgMTI4LCA4MywgODUsIDY3LCA2NywgNjksIDY5LCAxOTYsIDgzLCA4NSwgNjYsIDg1LCAKKyAgICA3OCwgNzMsIDg0LCAxMjgsIDgzLCA4NSwgNjYsIDgzLCA4NCwgNzMsIDg0LCA4NSwgODQsIDczLCA3OSwgMjA2LCA4MywgODUsIAorICAgIDY2LCA4MywgODQsIDczLCA4NCwgODUsIDg0LCA2OSwgMTI4LCA4MywgODUsIDY2LCA4MywgODQsIDczLCA4NCwgODUsIDg0LCAKKyAgICAxOTcsIDgzLCA4NSwgNjYsIDgzLCA2OSwgODQsIDEyOCwgODMsIDg1LCA2NiwgODMsIDY5LCAyMTIsIDgzLCA4NSwgNjYsIAorICAgIDgzLCA2NywgODIsIDczLCA4MCwgMjEyLCA4MywgODUsIDY2LCA4MCwgODUsIDc4LCA2NywgODQsIDczLCA4MywgMTI4LCA4MywgCisgICAgODUsIDY2LCA3NiwgNzMsIDc4LCA2OSwgNjUsIDIxMCwgODMsIDg1LCA2NiwgNzYsIDczLCA3NywgNjUsIDg0LCA3MywgNzksIAorICAgIDc4LCAxMjgsIDgzLCA4NSwgNjYsIDc2LCA3MywgNzcsIDY1LCA4NCwgNjksIDQ1LCA1MSwgMTI4LCA4MywgODUsIDY2LCA3NiwgCisgICAgNzMsIDc3LCA2NSwgODQsIDY5LCA0NSwgNTAsIDEyOCwgODMsIDg1LCA2NiwgNzYsIDczLCA3NywgNjUsIDg0LCA2OSwgMTI4LCAKKyAgICA4MywgODUsIDY2LCA3NiwgNzMsIDc3LCA2NSwgODQsIDE5NywgODMsIDg1LCA2NiwgNzQsIDc5LCA3MywgNzgsIDY5LCAxOTYsIAorICAgIDgzLCA4NSwgNjYsIDc0LCA2OSwgNjcsIDg0LCAxMjgsIDgzLCA4NSwgNjYsIDczLCA4NCwgNzksIDEyOCwgODMsIDg1LCA2NiwgCisgICAgNzEsIDgyLCA3OSwgODUsIDgwLCAxMjgsIDgzLCA4NSwgNjYsIDcxLCA4MiwgNzksIDg1LCAyMDgsIDgzLCA4NSwgNjYsIAorICAgIDEyOCwgODMsIDg1LCA2NSwgNzcsIDEyOCwgODMsIDg1LCA2NSwgNjksIDg0LCAxMjgsIDgzLCA4NSwgNjUsIDY5LCA3OCwgCisgICAgMTI4LCA4MywgODUsIDY1LCA2OSwgMTI4LCA4MywgODUsIDY1LCA2NiwgMTI4LCA4MywgODUsIDY1LCAxMjgsIDgzLCAyMTMsIAorICAgIDgzLCA4NCwgODgsIDEyOCwgODMsIDg0LCA4NywgNjUsIDEyOCwgODMsIDg0LCA4NSwgNjgsIDg5LCAxMjgsIDgzLCA4NCwgCisgICAgODUsIDY4LCA3MywgMjA3LCA4MywgODQsIDg1LCA2NywgNzUsIDQ1LCA3OSwgODUsIDIxMiwgODMsIDg0LCA4MywgMTI4LCAKKyAgICA4MywgODQsIDgyLCA3OSwgNzgsIDE5OSwgODMsIDg0LCA4MiwgNzksIDc1LCA2OSwgODMsIDEyOCwgODMsIDg0LCA4MiwgNzksIAorICAgIDc1LCA2OSwgMjExLCA4MywgODQsIDgyLCA3OSwgNzUsIDY5LCA0NSwgNTcsIDEyOCwgODMsIDg0LCA4MiwgNzksIDc1LCA2OSwgCisgICAgNDUsIDU2LCAxMjgsIDgzLCA4NCwgODIsIDc5LCA3NSwgNjksIDQ1LCA1NSwgMTI4LCA4MywgODQsIDgyLCA3OSwgNzUsIDY5LCAKKyAgICA0NSwgNTQsIDEyOCwgODMsIDg0LCA4MiwgNzksIDc1LCA2OSwgNDUsIDUzLCAxMjgsIDgzLCA4NCwgODIsIDc5LCA3NSwgNjksIAorICAgIDQ1LCA1MiwgMTI4LCA4MywgODQsIDgyLCA3OSwgNzUsIDY5LCA0NSwgNTEsIDEyOCwgODMsIDg0LCA4MiwgNzksIDc1LCA2OSwgCisgICAgNDUsIDUwLCAxMjgsIDgzLCA4NCwgODIsIDc5LCA3NSwgNjksIDQ1LCA0OSwgNDksIDEyOCwgODMsIDg0LCA4MiwgNzksIDc1LCAKKyAgICA2OSwgNDUsIDQ5LCA0OCwgMTI4LCA4MywgODQsIDgyLCA3OSwgNzUsIDY5LCA0NSwgNDksIDEyOCwgODMsIDg0LCA4MiwgNzksIAorICAgIDc1LCAxOTcsIDgzLCA4NCwgODIsIDczLCA4MCwgNjksIDEyOCwgODMsIDg0LCA4MiwgNzMsIDc4LCA3MSwgMTI4LCA4MywgCisgICAgODQsIDgyLCA3MywgNzgsIDE5OSwgODMsIDg0LCA4MiwgNzMsIDc1LCA2OSwgODQsIDcyLCA4MiwgNzksIDg1LCA3MSwgNzIsIAorICAgIDEyOCwgODMsIDg0LCA4MiwgNzMsIDY4LCA2OSwgMTI4LCA4MywgODQsIDgyLCA3MywgNjcsIDg0LCA3NiwgMjE3LCA4MywgCisgICAgODQsIDgyLCA2OSwgODQsIDY3LCA3MiwgNjksIDE5NiwgODMsIDg0LCA4MiwgNjksIDgzLCAyMTEsIDgzLCA4NCwgODIsIDY5LCAKKyAgICA3OCwgNzEsIDg0LCA3MiwgMTI4LCA4MywgODQsIDgyLCA2OSwgNjUsIDc3LCA2OSwgODIsIDEyOCwgODMsIDg0LCA4MiwgNjUsIAorICAgIDg3LCA2NiwgNjksIDgyLCA4MiwgODksIDEyOCwgODMsIDg0LCA4MiwgNjUsIDg0LCA4NSwgNzcsIDQ1LCA1MCwgMTI4LCA4MywgCisgICAgODQsIDgyLCA2NSwgODQsIDg1LCA3NywgMTI4LCA4MywgODQsIDgyLCA2NSwgODQsIDg1LCAyMDUsIDgzLCA4NCwgODIsIDY1LCAKKyAgICA4NCwgNzMsIDY1LCAyMDYsIDgzLCA4NCwgODIsIDY1LCA3MywgNzgsIDY5LCA4MiwgMTI4LCA4MywgODQsIDgyLCA2NSwgNzMsIAorICAgIDcxLCA3MiwgODQsIDc4LCA2OSwgODMsIDgzLCAxMjgsIDgzLCA4NCwgODIsIDY1LCA3MywgNzEsIDcyLCAyMTIsIDgzLCA4NCwgCisgICAgODIsIDY1LCA3MywgNzAsIDEyOCwgODMsIDg0LCA4MiwgNjUsIDcxLCA3MSwgNzMsIDgzLCA3NywgNjUsIDg0LCA2NSwgMTI4LCAKKyAgICA4MywgODQsIDc5LCA4NiwgNjksIDEyOCwgODMsIDg0LCA3OSwgODIsIDY5LCAxMjgsIDgzLCA4NCwgNzksIDgwLCA4NywgNjUsIAorICAgIDg0LCA2NywgNzIsIDEyOCwgODMsIDg0LCA3OSwgODAsIDgwLCA3MywgNzgsIDcxLCAxMjgsIDgzLCA4NCwgNzksIDgwLCA4MCwgCisgICAgNjUsIDcxLCA2OSwgMTI4LCA4MywgODQsIDc5LCA4MCwgMTI4LCA4MywgODQsIDc5LCAyMDgsIDgzLCA4NCwgNzksIDc4LCAKKyAgICA2OSwgMTI4LCA4MywgODQsIDc5LCA2NywgNzUsIDEyOCwgODMsIDg0LCA3OSwgNjcsIDIwMywgODMsIDg0LCA3MywgODIsIAorICAgIDgyLCA4NSwgMjA4LCA4MywgODQsIDczLCA3NywgNzcsIDY5LCAxMjgsIDgzLCA4NCwgNzMsIDc2LCAyMDQsIDgzLCA4NCwgCisgICAgNzMsIDc2LCAxOTcsIDgzLCA4NCwgNzMsIDcxLCA3NywgNjUsIDEyOCwgODMsIDg0LCA2OSwgODIsIDY5LCA3OSwgMTI4LCAKKyAgICA4MywgODQsIDY5LCA4MCwgMTI4LCA4MywgODQsIDY5LCA3OCwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNzMsIDE5NSwgODMsIAorICAgIDg0LCA2OSwgNzcsIDEyOCwgODMsIDg0LCA2OSwgNjUsIDc3LCA3MywgNzgsIDE5OSwgODMsIDg0LCA2OSwgNjUsIDc3LCAKKyAgICAxMjgsIDgzLCA4NCwgNjksIDY1LCAyMDUsIDgzLCA4NCwgNjUsIDg2LCA4MiwgNzksIDg1LCAxMjgsIDgzLCA4NCwgNjUsIAorICAgIDg2LCA4MiwgNzksIDgzLCAxMjgsIDgzLCA4NCwgNjUsIDg2LCA4MiwgNzksIDIxMSwgODMsIDg0LCA2NSwgODUsIDgyLCA3OSwgCisgICAgODMsIDEyOCwgODMsIDg0LCA2NSwgODQsIDg1LCAxOTcsIDgzLCA4NCwgNjUsIDg0LCA3MywgNzksIDc4LCAxMjgsIDgzLCAKKyAgICA4NCwgNjUsIDg0LCA2OSwgODIsIDgzLCAxMjgsIDgzLCA4NCwgNjUsIDg0LCA2OSwgMTI4LCA4MywgODQsIDY1LCA4MiwgCisgICAgMjEyLCA4MywgODQsIDY1LCA4MiwgODMsIDEyOCwgODMsIDg0LCA2NSwgODIsIDgyLCA2OSwgMTk2LCA4MywgODQsIDY1LCAKKyAgICA4MiwgNzUsIDEyOCwgODMsIDg0LCA2NSwgODIsIDEyOCwgODMsIDg0LCA2NSwgMjEwLCA4MywgODQsIDY1LCA3OCwgNjgsIAorICAgIDgzLCA4NCwgNzMsIDc2LCA3NiwgMTI4LCA4MywgODQsIDY1LCA3OCwgNjgsIDY1LCA4MiwgMTk2LCA4MywgODQsIDY1LCA3OCwgCisgICAgNjgsIDEyOCwgODMsIDg0LCA2NSwgNzgsIDEyOCwgODMsIDg0LCA2NSwgNzcsIDgwLCA2OSwgMTk2LCA4MywgODQsIDY1LCAKKyAgICA3NiwgNzYsIDczLCA3OSwgNzgsIDEyOCwgODMsIDg0LCA2NSwgNzAsIDcwLCAxMjgsIDgzLCA4NCwgNjUsIDcwLCAxOTgsIAorICAgIDgzLCA4NCwgNjUsIDY4LCA3MywgODUsIDc3LCAxMjgsIDgzLCA4NCwgNjUsIDY3LCA2NywgNjUsIDg0LCA3OSwgMTI4LCA4MywgCisgICAgODQsIDY1LCA2NywgNjcsIDY1LCA4NCwgNzMsIDgzLCA4MywgNzMsIDc3LCA3OSwgMTI4LCA4MywgODQsIDUwLCAxMjgsIDgzLCAKKyAgICA4MywgODksIDg4LCAxMjgsIDgzLCA4MywgODksIDg0LCAxMjgsIDgzLCA4MywgODksIDgyLCA4OCwgMTI4LCA4MywgODMsIAorICAgIDg5LCA4MiwgMTI4LCA4MywgODMsIDg5LCA4MCwgMTI4LCA4MywgODMsIDg5LCAxMjgsIDgzLCA4MywgODUsIDg4LCAxMjgsIAorICAgIDgzLCA4MywgODUsIDg1LCAxMjgsIDgzLCA4MywgODUsIDg0LCAxMjgsIDgzLCA4MywgODUsIDgwLCAxMjgsIDgzLCA4MywgCisgICAgNzksIDg4LCAxMjgsIDgzLCA4MywgNzksIDg0LCAxMjgsIDgzLCA4MywgNzksIDgwLCAxMjgsIDgzLCA4MywgNzksIDc5LCAKKyAgICAxMjgsIDgzLCA4MywgNzksIDEyOCwgODMsIDgzLCA3MywgODgsIDEyOCwgODMsIDgzLCA3MywgODQsIDEyOCwgODMsIDgzLCAKKyAgICA3MywgODAsIDEyOCwgODMsIDgzLCA3MywgNzMsIDEyOCwgODMsIDgzLCA3MywgNjksIDg4LCAxMjgsIDgzLCA4MywgNzMsIAorICAgIDY5LCA4MCwgMTI4LCA4MywgODMsIDczLCA2OSwgMTI4LCA4MywgODMsIDczLCAxMjgsIDgzLCA4MywgNzIsIDczLCA3OCwgCisgICAgMTI4LCA4MywgODMsIDcyLCA2OSwgMTI4LCA4MywgODMsIDY5LCA4OCwgMTI4LCA4MywgODMsIDY5LCA4MCwgMTI4LCA4MywgCisgICAgODMsIDY5LCA2OSwgMTI4LCA4MywgODMsIDY1LCA4OCwgMTI4LCA4MywgODMsIDY1LCA4NSwgMTI4LCA4MywgODMsIDY1LCAKKyAgICA4NCwgMTI4LCA4MywgODMsIDY1LCA4MCwgMTI4LCA4MywgODMsIDY1LCA3OCwgNzEsIDg5LCA2OSwgNzksIDgyLCA3MywgNzgsIAorICAgIDcyLCA3MywgNjksIDg1LCA3MiwgMTI4LCA4MywgODMsIDY1LCA3OCwgNzEsIDg0LCA3MywgNzUsIDY5LCA4NSwgODQsIDQ1LCAKKyAgICA4MCwgNzMsIDY5LCA4NSwgODAsIDEyOCwgODMsIDgzLCA2NSwgNzgsIDcxLCA4NCwgNzMsIDc1LCA2OSwgODUsIDg0LCAxMjgsIAorICAgIDgzLCA4MywgNjUsIDc4LCA3MSwgODQsIDcyLCA3MywgNjksIDg1LCA4NCwgNzIsIDEyOCwgODMsIDgzLCA2NSwgNzgsIDcxLCAKKyAgICA4MywgNzMsIDc5LCA4MywgNDUsIDg0LCA3MywgNzUsIDY5LCA4NSwgODQsIDEyOCwgODMsIDgzLCA2NSwgNzgsIDcxLCA4MywgCisgICAgNzMsIDc5LCA4MywgNDUsIDgwLCA3MywgNjksIDg1LCA4MCwgMTI4LCA4MywgODMsIDY1LCA3OCwgNzEsIDgzLCA3MywgNzksIAorICAgIDgzLCA0NSwgNzUsIDczLCA4OSwgNjksIDc5LCA3NSwgMTI4LCA4MywgODMsIDY1LCA3OCwgNzEsIDgzLCA3MywgNzksIDgzLCAKKyAgICAxMjgsIDgzLCA4MywgNjUsIDc4LCA3MSwgODIsIDczLCA2OSwgODUsIDc2LCA0NSwgNzUsIDcyLCA3MywgNjksIDg1LCA3NSwgCisgICAgNzIsIDEyOCwgODMsIDgzLCA2NSwgNzgsIDcxLCA4MiwgNzMsIDY5LCA4NSwgNzYsIDEyOCwgODMsIDgzLCA2NSwgNzgsIDcxLCAKKyAgICA4MCwgNzMsIDY5LCA4NSwgODAsIDEyOCwgODMsIDgzLCA2NSwgNzgsIDcxLCA3OCwgNzMsIDY5LCA4NSwgNzgsIDEyOCwgODMsIAorICAgIDgzLCA2NSwgNzgsIDcxLCA3NywgNzMsIDY5LCA4NSwgNzcsIDEyOCwgODMsIDgzLCA2NSwgNzgsIDcxLCA3NSwgNzMsIDg5LCAKKyAgICA2OSwgNzksIDc1LCAxMjgsIDgzLCA4MywgNjUsIDc4LCA3MSwgNzMsIDY5LCA4NSwgNzgsIDcxLCAxMjgsIDgzLCA4MywgNjUsIAorICAgIDc4LCA3MSwgNzIsIDczLCA2OSwgODUsIDcyLCAxMjgsIDgzLCA4MywgNjUsIDc4LCA3MSwgNjcsIDczLCA2OSwgODUsIDY3LCAKKyAgICA0NSwgNzIsIDczLCA2OSwgODUsIDcyLCAxMjgsIDgzLCA4MywgNjUsIDc4LCA3MSwgNjcsIDczLCA2OSwgODUsIDY3LCAxMjgsIAorICAgIDgzLCA4MywgNjUsIDc4LCA3MSwgNjUsIDgyLCA2NSwgNjksIDY1LCAxMjgsIDgzLCA4MywgNjUsIDczLCAxMjgsIDgzLCA4MywgCisgICAgNjUsIDY1LCAxMjgsIDgzLCA4MywgNTEsIDEyOCwgODMsIDgzLCA1MCwgMTI4LCA4MywgODIsIDEyOCwgODMsIDgxLCA4NSwgCisgICAgNzMsIDgzLCAyMDAsIDgzLCA4MSwgODUsIDczLCA4MiwgODIsIDY5LCAyMDQsIDgzLCA4MSwgODUsIDczLCA3MSwgNzEsIDc2LCAKICAgICAxOTcsIDgzLCA4MSwgODUsIDY1LCAyMTIsIDgzLCA4MSwgODUsIDY1LCA4MiwgNjksIDgzLCAxMjgsIDgzLCA4MSwgODUsIAotICAgIDY1LCA4MiwgNjksIDY4LCAxMjgsIDgzLCA4MSwgODUsIDY1LCA4MiwgNjksIDEyOCwgODMsIDgwLCA4NywgNjUsIDEyOCwgCi0gICAgODMsIDgwLCA4NSwgNzgsIDcxLCAyMTEsIDgzLCA4MCwgODIsIDc5LCA4NSwgODQsIDEyOCwgODMsIDgwLCA4MiwgNzMsIDc4LCAKLSAgICA3MSwgODMsIDEyOCwgODMsIDgwLCA4MiwgNzMsIDc4LCA3MSwgMTI4LCA4MywgODAsIDgyLCA2OSwgNjcsIDcyLCA3MSwgNjksIAotICAgIDgzLCA2NSwgNzgsIDE5OSwgODMsIDgwLCA3OSwgODUsIDg0LCA3MywgNzgsIDE5OSwgODMsIDgwLCA3OSwgODQsIDEyOCwgCi0gICAgODMsIDgwLCA3OSwgNzksIDc4LCAxMjgsIDgzLCA4MCwgNzYsIDczLCA4NCwgODQsIDczLCA3OCwgMTk5LCA4MywgODAsIDc2LCAKLSAgICA2NSwgODMsIDcyLCA3MywgNzgsIDE5OSwgODMsIDgwLCA3MywgODIsIDczLCA4NCwgODUsIDIxMSwgODMsIDgwLCA3MywgODIsIAotICAgIDczLCA4NCwgMTI4LCA4MywgODAsIDczLCA4MiwgNzMsIDIxMiwgODMsIDgwLCA3MywgODIsIDY1LCA3OCwgODQsIDEyOCwgCi0gICAgODMsIDgwLCA3MywgODIsIDY1LCA3NiwgMTI4LCA4MywgODAsIDczLCA4MiwgNjUsIDIwNCwgODMsIDgwLCA3MywgNjgsIDY5LCAKLSAgICA4MiwgMjE3LCA4MywgODAsIDczLCA2NywgNjksIDEyOCwgODMsIDgwLCA3MiwgNjksIDgyLCA3MywgNjcsIDY1LCAyMDQsIAotICAgIDgzLCA4MCwgNjksIDgzLCA3NywgNzMsIDc2LCAyMDcsIDgzLCA4MCwgNjksIDY5LCA2OCwgNjYsIDc5LCA2NSwgODQsIDEyOCwgCi0gICAgODMsIDgwLCA2OSwgNjksIDY3LCA3MiwgMTI4LCA4MywgODAsIDY5LCA2OSwgNjcsIDIwMCwgODMsIDgwLCA2OSwgNjcsIDczLCAKLSAgICA2NSwgNzYsIDEyOCwgODMsIDgwLCA2OSwgNjUsIDgyLCAxMjgsIDgzLCA4MCwgNjksIDY1LCA3NSwgNjksIDgyLCAxMjgsIAotICAgIDgzLCA4MCwgNjksIDY1LCA3NSwgNjksIDIxMCwgODMsIDgwLCA2OSwgNjUsIDc1LCA0NSwgNzgsIDc5LCA0NSwgNjksIDg2LCAKLSAgICA3MywgMjA0LCA4MywgODAsIDY1LCA4NCwgNzIsIDczLCAxMjgsIDgzLCA4MCwgNjUsIDgyLCA3NSwgNzYsIDczLCA3OCwgCi0gICAgMTk5LCA4MywgODAsIDY1LCA4MiwgNzUsIDc2LCA2OSwgODMsIDEyOCwgODMsIDgwLCA2NSwgODIsIDc1LCA3NiwgNjksIDgyLCAKLSAgICAxMjgsIDgzLCA4MCwgNjUsIDgyLCA3NSwgNzYsIDY5LCAxMjgsIDgzLCA4MCwgNjUsIDcxLCA3MiwgNjksIDg0LCA4NCwgNzMsIAotICAgIDEyOCwgODMsIDgwLCA2NSwgNjgsIDY5LCA4MywgMTI4LCA4MywgODAsIDY1LCA2OCwgMTk3LCA4MywgODAsIDY1LCA2NywgCi0gICAgNzMsIDc4LCAxOTksIDgzLCA4MCwgNjUsIDY3LCAxOTcsIDgzLCA4MCwgNjUsIDEyOCwgODMsIDc5LCA4OSwgMTI4LCA4MywgCi0gICAgNzksIDg3LCA3MywgNzYsIDIwNywgODMsIDc5LCA4NywgMTI4LCA4MywgNzksIDg1LCA4NCwgNzIsIDY5LCA4MiwgMjA2LCAKLSAgICA4MywgNzksIDg1LCA4NCwgNzIsIDQ1LCA4MywgNzYsIDY1LCA4NiwgNjksIDIxNywgODMsIDc5LCA4NSwgODQsIDIwMCwgODMsIAorICAgIDY1LCA4MiwgNjksIDY4LCAxMjgsIDgzLCA4MSwgODUsIDY1LCA4MiwgNjksIDEyOCwgODMsIDgwLCA4OSwgMTI4LCA4MywgCisgICAgODAsIDg3LCA2NSwgMTI4LCA4MywgODAsIDg1LCA3OCwgNzEsIDIxMSwgODMsIDgwLCA4MiwgNzksIDg1LCA4NCwgMTI4LCAKKyAgICA4MywgODAsIDgyLCA3MywgNzgsIDcxLCA4MywgMTI4LCA4MywgODAsIDgyLCA3MywgNzgsIDcxLCAxMjgsIDgzLCA4MCwgODIsIAorICAgIDY5LCA2NywgNzIsIDcxLCA2OSwgODMsIDY1LCA3OCwgMTk5LCA4MywgODAsIDc5LCA4NSwgODQsIDczLCA3OCwgMTk5LCA4MywgCisgICAgODAsIDc5LCA4NCwgMTI4LCA4MywgODAsIDc5LCA4MiwgODQsIDIxMSwgODMsIDgwLCA3OSwgNzksIDc4LCAxMjgsIDgzLCAKKyAgICA4MCwgNzYsIDczLCA4NCwgODQsIDczLCA3OCwgMTk5LCA4MywgODAsIDc2LCA2NSwgODksIDY5LCA2OCwgMTI4LCA4MywgODAsIAorICAgIDc2LCA2NSwgODMsIDcyLCA3MywgNzgsIDE5OSwgODMsIDgwLCA3MywgODIsIDczLCA4NCwgODUsIDIxMSwgODMsIDgwLCA3MywgCisgICAgODIsIDczLCA4NCwgMTI4LCA4MywgODAsIDczLCA4MiwgNzMsIDIxMiwgODMsIDgwLCA3MywgODIsIDY1LCA3OCwgODQsIAorICAgIDEyOCwgODMsIDgwLCA3MywgODIsIDY1LCA3NiwgMTI4LCA4MywgODAsIDczLCA4MiwgNjUsIDIwNCwgODMsIDgwLCA3MywgCisgICAgNjgsIDY5LCA4MiwgMjE3LCA4MywgODAsIDczLCA2OCwgNjksIDgyLCAxMjgsIDgzLCA4MCwgNzMsIDY4LCA2OSwgMjEwLCAKKyAgICA4MywgODAsIDczLCA2NywgNjksIDEyOCwgODMsIDgwLCA3MiwgNjksIDgyLCA3MywgNjcsIDY1LCAyMDQsIDgzLCA4MCwgNjksIAorICAgIDgzLCA3NywgNzMsIDc2LCAyMDcsIDgzLCA4MCwgNjksIDY5LCA2OCwgNjYsIDc5LCA2NSwgODQsIDEyOCwgODMsIDgwLCA2OSwgCisgICAgNjksIDY3LCA3MiwgMTI4LCA4MywgODAsIDY5LCA2OSwgNjcsIDIwMCwgODMsIDgwLCA2OSwgNjcsIDczLCA2NSwgNzYsIAorICAgIDEyOCwgODMsIDgwLCA2OSwgNjUsIDgyLCAxMjgsIDgzLCA4MCwgNjksIDY1LCA3NSwgNzMsIDc4LCAxOTksIDgzLCA4MCwgCisgICAgNjksIDY1LCA3NSwgNjksIDgyLCAxMjgsIDgzLCA4MCwgNjksIDY1LCA3NSwgNjksIDIxMCwgODMsIDgwLCA2OSwgNjUsIDc1LCAKKyAgICA0NSwgNzgsIDc5LCA0NSwgNjksIDg2LCA3MywgMjA0LCA4MywgODAsIDY1LCA4NCwgNzIsIDczLCAxMjgsIDgzLCA4MCwgNjUsIAorICAgIDgyLCA3NSwgNzYsIDczLCA3OCwgMTk5LCA4MywgODAsIDY1LCA4MiwgNzUsIDc2LCA2OSwgODMsIDEyOCwgODMsIDgwLCA2NSwgCisgICAgODIsIDc1LCA3NiwgNjksIDgyLCAxMjgsIDgzLCA4MCwgNjUsIDgyLCA3NSwgNzYsIDY5LCAxMjgsIDgzLCA4MCwgNjUsIDcxLCAKKyAgICA3MiwgNjksIDg0LCA4NCwgNzMsIDEyOCwgODMsIDgwLCA2NSwgNjgsIDY5LCA4MywgMTI4LCA4MywgODAsIDY1LCA2OCwgCisgICAgMTk3LCA4MywgODAsIDY1LCA2NywgNzMsIDc4LCAxOTksIDgzLCA4MCwgNjUsIDY3LCAxOTcsIDgzLCA4MCwgNjUsIDEyOCwgCisgICAgODMsIDc5LCA4OSwgMTI4LCA4MywgNzksIDg3LCA3MywgNzYsIDIwNywgODMsIDc5LCA4NywgMTI4LCA4MywgNzksIDg1LCAKKyAgICA4NCwgNzIsIDY5LCA4MiwgMjA2LCA4MywgNzksIDg1LCA4NCwgNzIsIDQ1LCA4MywgNzYsIDY1LCA4NiwgNjksIDIxNywgODMsIAogICAgIDc5LCA4NSwgODIsIDY3LCA2OSwgMTI4LCA4MywgNzksIDg1LCA3OCwgNjgsIDEyOCwgODMsIDc5LCA4NSwgNzgsIDE5NiwgCiAgICAgODMsIDc5LCA4NSwgNzgsIDY1LCA4MCwgMTI4LCA4MywgNzksIDg1LCAxMjgsIDgzLCA3OSwgODMsIDEyOCwgODMsIDc5LCAKICAgICA4MiwgMTkzLCA4MywgNzksIDgxLCAxMjgsIDgzLCA3OSwgNzksIDIwNiwgODMsIDc5LCA3OCwgNzQsIDY1LCA3NywgMTI4LCAKICAgICA4MywgNzksIDc4LCA3MSwgMTI4LCA4MywgNzksIDc4LCAxMjgsIDgzLCA3OSwgNzcsIDgwLCA2OSwgNzgsIDE5OSwgODMsIAogICAgIDc5LCA3NywgMTI4LCA4MywgNzksIDc2LCA3MywgNjgsIDg1LCA4MywgMTI4LCA4MywgNzksIDc2LCA3MywgNjgsIDg1LCAKLSAgICAyMTEsIDgzLCA3OSwgNzIsIDEyOCwgODMsIDc5LCA3MSwgNjgsIDczLCA2NSwgMjA2LCA4MywgNzksIDcwLCA4NCwgODcsIAotICAgIDY1LCA4MiwgNjksIDQ1LCA3MCwgODUsIDc4LCA2NywgODQsIDczLCA3OSwgMjA2LCA4MywgNzksIDcwLCA4NCwgNzgsIDY5LCAKLSAgICA4MywgODMsIDEyOCwgODMsIDc5LCA3MCwgMjEyLCA4MywgNzksIDE5OCwgODMsIDc5LCA2NywgNzMsIDY5LCA4NCwgODksIAotICAgIDEyOCwgODMsIDc5LCA2NywgNjcsIDY5LCAyMTAsIDgzLCA3OSwgNjUsIDgwLCAxMjgsIDgzLCA3OSwgNjUsIDEyOCwgODMsIAotICAgIDIwNywgODMsIDc4LCA3OSwgODcsIDc3LCA2NSwgNzgsIDEyOCwgODMsIDc4LCA3OSwgODcsIDc3LCA2NSwgMjA2LCA4MywgCi0gICAgNzgsIDc5LCA4NywgNzAsIDc2LCA2NSwgNzUsIDY5LCAxMjgsIDgzLCA3OCwgNzksIDg3LCA2NiwgNzksIDY1LCA4MiwgNjgsIAotICAgIDY5LCA4MiwgMTI4LCA4MywgNzgsIDc5LCA4NywgMTI4LCA4MywgNzgsIDc5LCA4NSwgODQsIDEyOCwgODMsIDc4LCA3OSwgCi0gICAgODUsIDIxMiwgODMsIDc4LCA2NSwgMjA4LCA4MywgNzgsIDY1LCA3NSwgNjksIDEyOCwgODMsIDc4LCA2NSwgNzUsIDE5NywgCi0gICAgODMsIDc4LCA2NSwgNzMsIDc2LCAxMjgsIDgzLCA3OCwgMTkzLCA4MywgNzcsIDc5LCA3NSwgNzMsIDc4LCAxOTksIDgzLCAKLSAgICA3NywgNzMsIDgyLCA3NSwgNzMsIDc4LCAxOTksIDgzLCA3NywgNzMsIDc2LCA3MywgNzgsIDE5OSwgODMsIDc3LCA3MywgNzYsIAotICAgIDY5LCAxMjgsIDgzLCA3NywgNjksIDY1LCA4MiwgMTI4LCA4MywgNzcsIDY1LCA4MywgMjAwLCA4MywgNzcsIDY1LCA3NiwgCi0gICAgNzYsIDY5LCAyMTAsIDgzLCA3NywgNjUsIDc2LCA3NiwgMTI4LCA4MywgNzYsIDg1LCA4MiwgMTI4LCA4MywgNzYsIDc5LCAKLSAgICA4NywgNzYsIDg5LCAxMjgsIDgzLCA3NiwgNzksIDIxNSwgODMsIDc2LCA3OSwgODYsIDc5LCAxMjgsIDgzLCA3NiwgNzksIAotICAgIDIxMiwgODMsIDc2LCA3OSwgODAsIDczLCA3OCwgMTk5LCA4MywgNzYsIDc5LCA4MCwgNjksIDEyOCwgODMsIDc2LCA3MywgCi0gICAgNzgsIDcxLCAxMjgsIDgzLCA3NiwgNzMsIDY4LCA3MywgNzgsIDcxLCAxMjgsIDgzLCA3NiwgNzMsIDY3LCA2OSwgMTI4LCAKLSAgICA4MywgNzYsIDczLCA2NywgMTk3LCA4MywgNzYsIDY5LCA2OSwgODAsIDIxNywgODMsIDc2LCA2OSwgNjksIDgwLCA3MywgNzgsIAotICAgIDE5OSwgODMsIDc2LCA2NSwgODYsIDc5LCA3OCwgNzMsIDE5NSwgODMsIDc2LCA2NSwgODYsIDY5LCAxMjgsIDgzLCA3NiwgCi0gICAgNjUsIDgzLCA3MiwgMTI4LCA4MywgNzYsIDY1LCA4MywgMjAwLCA4MywgNzYsIDY1LCA3OCwgODQsIDY5LCAxOTYsIDgzLCAKLSAgICA3NSwgODcsIDY1LCAxMjgsIDgzLCA3NSwgODcsIDEyOCwgODMsIDc1LCA4NSwgNzYsIDc2LCAxMjgsIDgzLCA3NSwgODUsIAotICAgIDc2LCAyMDQsIDgzLCA3NSwgNzYsIDczLCA4MiwgNzksIDIwNiwgODMsIDc1LCA3MywgNzgsIDEyOCwgODMsIDc1LCA3MywgCi0gICAgNjksIDgyLCAxMjgsIDgzLCA3NSwgMjAxLCA4MywgNzUsIDY5LCA4NywgNjksIDE5NiwgODMsIDc1LCA2NSwgODQsIDY5LCAKLSAgICAxMjgsIDgzLCA3NSwgMTI4LCA4MywgNzQsIDY5LCAxMjgsIDgzLCA3MywgODgsIDg0LCA4OSwgNDUsIDcwLCA3OSwgODUsIAotICAgIDgyLCA4NCwgMjAwLCA4MywgNzMsIDg4LCA4NCwgODksIDEyOCwgODMsIDczLCA4OCwgODQsIDIxNywgODMsIDczLCA4OCwgCi0gICAgODQsIDcyLCA4MywgMTI4LCA4MywgNzMsIDg4LCA4NCwgNzIsIDIxMSwgODMsIDczLCA4OCwgODQsIDcyLCAxMjgsIDgzLCAKLSAgICA3MywgODgsIDg0LCA2OSwgNjksIDc4LCA4NCwgNzIsIDgzLCAxMjgsIDgzLCA3MywgODgsIDg0LCA2OSwgNjksIDc4LCA4NCwgCi0gICAgNzIsIDEyOCwgODMsIDczLCA4OCwgODQsIDY5LCA2OSwgNzgsIDg0LCAyMDAsIDgzLCA3MywgODgsIDg0LCA2OSwgNjksIDc4LCAKLSAgICAxMjgsIDgzLCA3MywgODgsIDg0LCA2OSwgNjksIDIwNiwgODMsIDczLCA4OCwgNDUsIDg0LCA3MiwgNzMsIDgyLCA4NCwgODksIAotICAgIDEyOCwgODMsIDczLCA4OCwgNDUsIDgzLCA4NCwgODIsIDczLCA3OCwgMTk5LCA4MywgNzMsIDg4LCA0NSwgODAsIDY5LCA4MiwgCi0gICAgNDUsIDY5LCAyMDUsIDgzLCA3MywgODgsIDQ1LCA3NiwgNzMsIDc4LCAxOTcsIDgzLCA3MywgMjE2LCA4MywgNzMsIDg0LCAKLSAgICA2OSwgMTI4LCA4MywgNzMsIDgzLCA2NSwgMTI4LCA4MywgNzMsIDgyLCA3MywgNzgsIDcxLCA4NSwgMTI4LCA4MywgNzMsIAotICAgIDc5LCA4MywgNDUsIDg0LCA3MiwgNzMsIDY5LCA4NSwgODQsIDcyLCAxMjgsIDgzLCA3MywgNzksIDgzLCA0NSwgODMsIDgzLCAKLSAgICA2NSwgNzgsIDcxLCA4MywgNzMsIDc5LCA4MywgMTI4LCA4MywgNzMsIDc5LCA4MywgNDUsIDgyLCA3MywgNjksIDg1LCA3NiwgCi0gICAgMTI4LCA4MywgNzMsIDc5LCA4MywgNDUsIDgwLCA3MywgNjksIDg1LCA4MCwgNDUsIDc1LCA3MywgODksIDY5LCA3OSwgNzUsIAotICAgIDEyOCwgODMsIDczLCA3OSwgODMsIDQ1LCA4MCwgNzIsIDczLCA2OSwgODUsIDgwLCA3MiwgMTI4LCA4MywgNzMsIDc5LCA4MywgCi0gICAgNDUsIDgwLCA2NSwgNzgsIDgzLCA3MywgNzksIDgzLCAxMjgsIDgzLCA3MywgNzksIDgzLCA0NSwgNzgsIDczLCA2OSwgODUsIAotICAgIDc4LCAxMjgsIDgzLCA3MywgNzksIDgzLCA0NSwgNzcsIDczLCA2OSwgODUsIDc3LCAxMjgsIDgzLCA3MywgNzksIDgzLCA0NSwgCi0gICAgNzUsIDcyLCA3MywgNjksIDg1LCA3NSwgNzIsIDEyOCwgODMsIDczLCA3OSwgODMsIDQ1LCA3NSwgNjUsIDgwLCA4OSwgNjksIAotICAgIDc5LCA4NSwgNzgsIDgwLCA3MywgNjksIDg1LCA4MCwgMTI4LCA4MywgNzMsIDc5LCA4MywgNDUsIDczLCA2OSwgODUsIDc4LCAKLSAgICA3MSwgMTI4LCA4MywgNzMsIDc5LCA4MywgNDUsIDcyLCA3MywgNjksIDg1LCA3MiwgMTI4LCA4MywgNzMsIDc5LCA4MywgNDUsIAotICAgIDY3LCA3MywgNjksIDg1LCA2NywgMTI4LCA4MywgNzMsIDc5LCA4MywgNDUsIDY3LCA3MiwgNzMsIDY5LCA4NSwgNjcsIDcyLCAKLSAgICAxMjgsIDgzLCA3MywgNzksIDIxMSwgODMsIDczLCA3OCwgNzUsIDczLCA3OCwgNzEsIDEyOCwgODMsIDczLCA3OCwgNzEsIAotICAgIDc2LCA2OSwgNDUsIDgzLCA3MiwgNzMsIDcwLCA4NCwgNDUsIDUxLCAxMjgsIDgzLCA3MywgNzgsIDcxLCA3NiwgNjksIDQ1LCAKLSAgICA4MywgNzIsIDczLCA3MCwgODQsIDQ1LCA1MCwgMTI4LCA4MywgNzMsIDc4LCA3MSwgNzYsIDY5LCA0NSwgNzYsIDczLCA3OCwgCi0gICAgMTk3LCA4MywgNzMsIDc4LCA3MSwgNzYsIDY5LCAxMjgsIDgzLCA3MywgNzgsIDcxLCA3NiwgMTk3LCA4MywgNzMsIDc4LCAKLSAgICA3MSwgNjUsIDY1LCA4NCwgMTI4LCA4MywgNzMsIDc4LCAxOTcsIDgzLCA3MywgNzgsIDY4LCA3MiwgMjAxLCA4MywgNzMsIAotICAgIDIwNiwgODMsIDczLCA3NywgODAsIDc2LCA3MywgNzAsIDczLCA2OSwgMTk2LCA4MywgNzMsIDc3LCA3MywgNzYsIDY1LCA4MiwgCi0gICAgMTI4LCA4MywgNzMsIDc3LCA3MywgNzYsIDY1LCAyMTAsIDgzLCA3MywgNzcsIDY1LCA3OCwgODMsIDczLCAyMTEsIDgzLCAKLSAgICA3MywgNzcsIDY1LCA3NiwgODUsIDc4LCA3MSwgODUsIDIwNiwgODMsIDczLCA3NywgNjUsIDEyOCwgODMsIDczLCA3NiwgODYsIAotICAgIDY5LCA4MiwgMTI4LCA4MywgNzMsIDc2LCA3NSwgMTI4LCA4MywgNzMsIDc2LCA3MywgODEsIDg1LCAxOTMsIDgzLCA3MywgCi0gICAgNzYsIDcyLCA3OSwgODUsIDY5LCA4NCwgODQsIDY5LCAxMjgsIDgzLCA3MywgNzYsIDcyLCA3OSwgODUsIDY5LCA4NCwgODQsIAotICAgIDE5NywgODMsIDczLCA3NiwgNjUsIDUxLCAxMjgsIDgzLCA3MywgNzUsIDczLCAxMjgsIDgzLCA3MywgNzUsIDUwLCAxMjgsIAotICAgIDgzLCA3MywgNzUsIDE3OCwgODMsIDczLCA3MSwgNzgsIDgzLCAxMjgsIDgzLCA3MywgNzEsIDc3LCA2NSwgMTI4LCA4MywgCi0gICAgNzMsIDcxLCA3NywgMTkzLCA4MywgNzMsIDcxLCA2OSwgMjA0LCA4MywgNzMsIDcxLCA1MiwgMTI4LCA4MywgNzMsIDcxLCAKLSAgICAxODAsIDgzLCA3MywgNzEsIDEyOCwgODMsIDczLCA2OSwgNjksIDEyOCwgODMsIDczLCA2OCwgNjksIDg3LCA2NSwgODksIAotICAgIDIxMSwgODMsIDczLCA2NywgNzUsIDc4LCA2OSwgODMsIDgzLCAxMjgsIDgzLCA3MywgNjcsIDc1LCA3NiwgNjksIDEyOCwgCi0gICAgODMsIDczLCA2NiwgMTk3LCA4MywgMjAxLCA4MywgNzIsIDg5LCA4OCwgMTI4LCA4MywgNzIsIDg5LCA4NCwgMTI4LCA4MywgCi0gICAgNzIsIDg5LCA4MiwgODgsIDEyOCwgODMsIDcyLCA4OSwgODIsIDEyOCwgODMsIDcyLCA4OSwgODAsIDEyOCwgODMsIDcyLCAKLSAgICA4OSwgNjksIDEyOCwgODMsIDcyLCA4OSwgNjUsIDEyOCwgODMsIDcyLCA4OSwgMTI4LCA4MywgNzIsIDg3LCA3OSwgODksIAotICAgIDEyOCwgODMsIDcyLCA4NywgNzksIDc5LCAxMjgsIDgzLCA3MiwgODcsIDc5LCAxMjgsIDgzLCA3MiwgODcsIDczLCA3MywgCi0gICAgMTI4LCA4MywgNzIsIDg3LCA3MywgMTI4LCA4MywgNzIsIDg3LCA2OSwgMTI4LCA4MywgNzIsIDg3LCA2NSwgNjUsIDEyOCwgCi0gICAgODMsIDcyLCA4NywgNjUsIDEyOCwgODMsIDcyLCA4NSwgODgsIDEyOCwgODMsIDcyLCA4NSwgODUsIDEyOCwgODMsIDcyLCAKLSAgICA4NSwgODQsIDEyOCwgODMsIDcyLCA4NSwgODIsIDg4LCAxMjgsIDgzLCA3MiwgODUsIDgyLCAxMjgsIDgzLCA3MiwgODUsIAotICAgIDgwLCAxMjgsIDgzLCA3MiwgODUsIDc5LCA4OCwgMTI4LCA4MywgNzIsIDg1LCA3OSwgODAsIDEyOCwgODMsIDcyLCA4NSwgCi0gICAgNzksIDEyOCwgODMsIDcyLCA4NSwgNzcsIDEyOCwgODMsIDcyLCA4NSwgNzAsIDcwLCA3NiwgMTk3LCA4MywgNzIsIDg1LCAKLSAgICA2OSwgODEsIDEyOCwgODMsIDcyLCA4NSwgNjksIDc4LCA4MywgNzIsIDg1LCA2OSwgODQsIDEyOCwgODMsIDcyLCA4NSwgNjYsIAotICAgIDg1LCA4MiwgMTI4LCA4MywgNzIsIDg1LCA1MCwgMTI4LCA4MywgNzIsIDg1LCAxNzgsIDgzLCA3MiwgODUsIDEyOCwgODMsIAotICAgIDcyLCAyMTMsIDgzLCA3MiwgODQsIDY1LCA4MCwgNzMsIDY3LCAxMjgsIDgzLCA3MiwgODQsIDY1LCAxMjgsIDgzLCA3MiwgCi0gICAgODIsIDczLCA3OCwgNjksIDEyOCwgODMsIDcyLCA4MiwgNzMsIDc3LCA4MCwgMTI4LCA4MywgNzIsIDgyLCA3MywgNzMsIAotICAgIDEyOCwgODMsIDcyLCA3OSwgODksIDEyOCwgODMsIDcyLCA3OSwgODgsIDEyOCwgODMsIDcyLCA3OSwgODcsIDY5LCA4MiwgCi0gICAgMTI4LCA4MywgNzIsIDc5LCA4NSwgNzYsIDY4LCA2OSwgODIsIDY5LCAxOTYsIDgzLCA3MiwgNzksIDg0LCAxMjgsIDgzLCAKLSAgICA3MiwgNzksIDgyLCA4NCwgODMsIDEyOCwgODMsIDcyLCA3OSwgODIsIDg0LCAyMTEsIDgzLCA3MiwgNzksIDgyLCA4NCwgNjksIAotICAgIDc4LCA2OSwgODIsIDEyOCwgODMsIDcyLCA3OSwgODIsIDg0LCA2NywgNjUsIDc1LCA2OSwgMTI4LCA4MywgNzIsIDc5LCA4MiwgCi0gICAgODQsIDQ1LCA4NCwgODcsIDczLCA3MSwgNDUsIDg5LCA4MiwgMTI4LCA4MywgNzIsIDc5LCA4MiwgODQsIDQ1LCA4NCwgODcsIAotICAgIDczLCA3MSwgNDUsIDg0LCA4OSwgMjEwLCA4MywgNzIsIDc5LCA4MiwgODQsIDQ1LCA4NCwgODcsIDczLCA3MSwgNDUsIDgzLCAKLSAgICA3OSwgMjA0LCA4MywgNzIsIDc5LCA4MiwgODQsIDQ1LCA4NCwgODcsIDczLCA3MSwgNDUsIDc5LCA4MywgMjExLCA4MywgNzIsIAotICAgIDc5LCA4MiwgODQsIDQ1LCA4NCwgODcsIDczLCA3MSwgNDUsIDc4LCA2NSwgODUsIDE5NiwgODMsIDcyLCA3OSwgODIsIDg0LCAKLSAgICA0NSwgODQsIDg3LCA3MywgNzEsIDQ1LCA3NywgNjUsIDY4LCAyMTAsIDgzLCA3MiwgNzksIDgyLCA4NCwgNDUsIDg0LCA4NywgCi0gICAgNzMsIDcxLCA0NSwgNzIsIDY1LCA3MSwgNjUsIDc2LCAyMDQsIDgzLCA3MiwgNzksIDgyLCA4NCwgNDUsIDg0LCA4NywgNzMsIAotICAgIDcxLCA0NSwgNjYsIDc0LCA2NSwgODIsIDc1LCA2NSwgMjA2LCA4MywgNzIsIDc5LCA4MiwgODQsIDQ1LCA4NCwgODcsIDczLCAKLSAgICA3MSwgNDUsIDY1LCAyMTAsIDgzLCA3MiwgNzksIDgyLCA4NCwgMTI4LCA4MywgNzIsIDc5LCA4MiwgMjEyLCA4MywgNzIsIAotICAgIDc5LCA4MSwgMTI4LCA4MywgNzIsIDc5LCAyMDksIDgzLCA3MiwgNzksIDgwLCAxMjgsIDgzLCA3MiwgNzksIDc5LCA4NCwgCi0gICAgNzMsIDc4LCAxOTksIDgzLCA3MiwgNzksIDc5LCA4NCwgMTI4LCA4MywgNzIsIDc5LCA3OSwgMTI4LCA4MywgNzIsIDc5LCAKLSAgICA3MSwgMjAxLCA4MywgNzIsIDc5LCAxOTksIDgzLCA3MiwgNzksIDY5LCAxMjgsIDgzLCA3MiwgNzksIDE5NywgODMsIDcyLCAKLSAgICA3OSwgNjUsIDEyOCwgODMsIDcyLCA3OSwgMTI4LCA4MywgNzIsIDczLCA4OSwgODksIDY1LCA2NSwgNzYsIDY1LCA2NSwgCi0gICAgMTI4LCA4MywgNzIsIDczLCA4NCwgNjUsIDEyOCwgODMsIDcyLCA3MywgODQsIDE5MywgODMsIDcyLCA3MywgODIsIDIxMiwgCi0gICAgODMsIDcyLCA3MywgODIsIDY1LCA2OSwgMTI4LCA4MywgNzIsIDczLCA4MiwgMTI4LCA4MywgNzIsIDczLCAyMTAsIDgzLCAKLSAgICA3MiwgNzMsIDgxLCAxMjgsIDgzLCA3MiwgNzMsIDgwLCAxMjgsIDgzLCA3MiwgNzMsIDc4LCA4NCwgMjA3LCA4MywgNzIsIAotICAgIDczLCA3OCwgNzMsIDcxLCAxMjgsIDgzLCA3MiwgNzMsIDc4LCA2OCwgMTkzLCA4MywgNzIsIDczLCA3OCwgMTI4LCA4MywgCi0gICAgNzIsIDczLCAyMDYsIDgzLCA3MiwgNzMsIDc3LCA2NSwgMTI4LCA4MywgNzIsIDczLCA3NywgMTkzLCA4MywgNzIsIDczLCAKLSAgICA3NywgMTI4LCA4MywgNzIsIDczLCAyMDUsIDgzLCA3MiwgNzMsIDczLCA3OCwgMTI4LCA4MywgNzIsIDczLCA3MywgMTI4LCAKLSAgICA4MywgNzIsIDczLCA3MCwgMjEyLCA4MywgNzIsIDczLCA2OSwgNzYsIDY4LCAxMjgsIDgzLCA3MiwgNzMsIDY4LCAxMjgsIAotICAgIDgzLCA3MiwgNzMsIDE5NiwgODMsIDcyLCA3MiwgNjUsIDEyOCwgODMsIDcyLCA3MiwgMTkzLCA4MywgNzIsIDY5LCA4OCwgCi0gICAgMTI4LCA4MywgNzIsIDY5LCA4NiwgNjUsIDEyOCwgODMsIDcyLCA2OSwgODUsIDg4LCAxMjgsIDgzLCA3MiwgNjksIDg1LCAKLSAgICA3OSwgODEsIDEyOCwgODMsIDcyLCA2OSwgODUsIDY1LCA2OSwgODEsIDg0LCA4NSwgMTI4LCA4MywgNzIsIDY5LCA4NSwgNjUsIAotICAgIDY5LCA4MSwgMTI4LCA4MywgNzIsIDY5LCA4NSwgNjUsIDY5LCAxMjgsIDgzLCA3MiwgNjksIDg0LCAxMjgsIDgzLCA3MiwgCi0gICAgNjksIDIxMiwgODMsIDcyLCA2OSwgODMsIDcyLCA3NiwgNjUsIDc3LCAxMjgsIDgzLCA3MiwgNjksIDgzLCA3MiwgNzMsIDcxLCAKLSAgICAxMjgsIDgzLCA3MiwgNjksIDgzLCA3MiwgNzMsIDE5OSwgODMsIDcyLCA2OSwgODMsIDcyLCA1MCwgMTI4LCA4MywgNzIsIAotICAgIDY5LCA4MywgNzIsIDEyOCwgODMsIDcyLCA2OSwgODEsIDY5LCAyMDQsIDgzLCA3MiwgNjksIDgwLCAxMjgsIDgzLCA3MiwgCi0gICAgNjksIDc4LCAxMjgsIDgzLCA3MiwgNjksIDc2LCA3NiwgMTI4LCA4MywgNzIsIDY5LCA3NiwgMjA0LCA4MywgNzIsIDY5LCAKLSAgICA3NiwgNzAsIDEyOCwgODMsIDcyLCA2OSwgNzMsIDEyOCwgODMsIDcyLCA2OSwgNzEsIDU3LCAxMjgsIDgzLCA3MiwgNjksIAotICAgIDY5LCA4MCwgMTI4LCA4MywgNzIsIDY5LCA2OSwgNzgsIDg1LCAxMjgsIDgzLCA3MiwgNjksIDY5LCA3OCwgMTI4LCA4MywgCi0gICAgNzIsIDY5LCA2OSwgMjA2LCA4MywgNzIsIDY5LCA2OSwgMTI4LCA4MywgNzIsIDY5LCA0NSwgNzEsIDc5LCA2NSwgODQsIAotICAgIDEyOCwgODMsIDcyLCAxOTcsIDgzLCA3MiwgNjcsIDcyLCA2NSwgMTI4LCA4MywgNzIsIDY1LCA4OSwgMTI4LCA4MywgNzIsIAotICAgIDY1LCA4OCwgMTI4LCA4MywgNzIsIDY1LCA4NiwgNzMsIDg5LCA2NSwgNzgsIDczLCAxMjgsIDgzLCA3MiwgNjUsIDg2LCA3MywgCi0gICAgNjUsIDIwNiwgODMsIDcyLCA2NSwgODYsIDY5LCAxOTYsIDgzLCA3MiwgNjUsIDg1LCAxMjgsIDgzLCA3MiwgNjUsIDg0LCAKLSAgICAxMjgsIDgzLCA3MiwgNjUsIDgyLCA4NSwgMTI4LCA4MywgNzIsIDY1LCA4MiwgMjEzLCA4MywgNzIsIDY1LCA4MiwgODAsIAotICAgIDEyOCwgODMsIDcyLCA2NSwgODIsIDIwOCwgODMsIDcyLCA2NSwgODIsIDY1LCAxMjgsIDgzLCA3MiwgNjUsIDgyLCA1MCwgCi0gICAgMTI4LCA4MywgNzIsIDY1LCA4MiwgMTc4LCA4MywgNzIsIDY1LCA4MCwgNzMsIDc4LCA3MSwgMTI4LCA4MywgNzIsIDY1LCAKLSAgICA4MCwgNjksIDgzLCAxMjgsIDgzLCA3MiwgNjUsIDgwLCAxOTcsIDgzLCA3MiwgNjUsIDgwLCAxMjgsIDgzLCA3MiwgNjUsIAotICAgIDc4LCA3MSwgMTI4LCA4MywgNzIsIDY1LCA3OCwgMTI4LCA4MywgNzIsIDY1LCAyMDYsIDgzLCA3MiwgNjUsIDc3LCA4MiwgCi0gICAgNzksIDY3LCA3NSwgMTI4LCA4MywgNzIsIDY1LCA3NiwgODMsIDcyLCA2OSwgNzYsIDY5LCA4NCwgMTI4LCA4MywgNzIsIDY1LCAKLSAgICA3NSwgODQsIDczLCAxMjgsIDgzLCA3MiwgNjUsIDczLCAxMjgsIDgzLCA3MiwgNjUsIDY4LCA3OSwgODcsIDY5LCAxOTYsIAotICAgIDgzLCA3MiwgNjUsIDY4LCA2OSwgMTI4LCA4MywgNzIsIDY1LCA2OCwgNjgsIDY1LCAxMjgsIDgzLCA3MiwgNjUsIDY4LCA2OCwgCi0gICAgMTkzLCA4MywgNzIsIDY1LCA2OCwgMTI4LCA4MywgNzIsIDY1LCAxOTYsIDgzLCA3MiwgNjUsIDY2LCA1NCwgMTI4LCA4MywgCi0gICAgNzIsIDY1LCA2NSwgMTI4LCA4MywgNzIsIDY1LCA1NCwgMTI4LCA4MywgNzIsIDY1LCA1MSwgMTI4LCA4MywgNzIsIDY1LCAKLSAgICAxNzksIDgzLCA3MSwgODIsIDE5MywgODMsIDcxLCA3OSwgMjEwLCA4MywgNzEsIDY3LCAxMjgsIDgzLCA3MSwgNjUsIDIxNSwgCi0gICAgODMsIDcxLCA2NSwgMTk0LCA4MywgNzEsIDEyOCwgODMsIDY5LCA4OCwgODQsIDg1LCA3NiwgMTkzLCA4MywgNjksIDg4LCAKLSAgICA4NCwgNzMsIDc2LCA2OSwgMTI4LCA4MywgNjksIDg4LCA4NCwgNjUsIDc4LCAyMTEsIDgzLCA2OSwgODYsIDY5LCA4MiwgNjUsIAotICAgIDc4LCA2NywgNjksIDEyOCwgODMsIDY5LCA4NiwgNjksIDc4LCA4NCwgODksIDEyOCwgODMsIDY5LCA4NiwgNjksIDc4LCA4NCwgCi0gICAgMjE3LCA4MywgNjksIDg2LCA2OSwgNzgsIDg0LCA3MiwgMTI4LCA4MywgNjksIDg2LCA2OSwgNzgsIDg0LCA2OSwgNjksIDc4LCAKLSAgICAxMjgsIDgzLCA2OSwgODYsIDY5LCA3OCwgODQsIDY5LCA2OSwgMjA2LCA4MywgNjksIDg2LCA2OSwgNzgsIDQ1LCA4NCwgNzIsIAotICAgIDczLCA4MiwgODQsIDg5LCAxMjgsIDgzLCA2OSwgODYsIDY5LCAyMDYsIDgzLCA2OSwgODUsIDg4LCAxMjgsIDgzLCA2OSwgCi0gICAgODUsIDc4LCA4OSwgNjUsIDc3LCAxMjgsIDgzLCA2OSwgODUsIDY1LCA2OSwgODEsIDEyOCwgODMsIDY5LCA4NCwgNzAsIDc5LCAKLSAgICA3OCwgMTI4LCA4MywgNjksIDgzLCA4NCwgNjksIDgyLCA4NCwgNzMsIDg1LCAyMTEsIDgzLCA2OSwgODMsIDgxLCA4NSwgNzMsIAotICAgIDgxLCA4NSwgNjUsIDY4LCA4MiwgNjUsIDg0LCA2OSwgMTI4LCA4MywgNjksIDgzLCA2NSwgNzcsIDE5NywgODMsIDY5LCA4MiwgCi0gICAgODYsIDczLCA2NywgMTk3LCA4MywgNjksIDgyLCA3MywgNzAsIDgzLCAxMjgsIDgzLCA2OSwgODIsIDczLCA3MCwgMjExLCAKLSAgICA4MywgNjksIDgxLCA4NSwgNjksIDc4LCA2NywgMTk3LCA4MywgNjksIDgwLCA4NCwgNjksIDc3LCA2NiwgNjksIDgyLCAxMjgsIAotICAgIDgzLCA2OSwgODAsIDY1LCA4MiwgNjUsIDg0LCA3OSwgODIsIDEyOCwgODMsIDY5LCA4MCwgNjUsIDgyLCA2NSwgODQsIDc5LCAKLSAgICAyMTAsIDgzLCA2OSwgNzgsIDg0LCA3OSwgMTI4LCA4MywgNjksIDc4LCA4NCwgNzMsIDEyOCwgODMsIDY5LCA3NywgODUsIAotICAgIDc4LCA2NywgNzMsIDE5MywgODMsIDY5LCA3NywgNzUsIDY1LCA4NCwgNzIsIDEyOCwgODMsIDY5LCA3NywgNzUsIDEyOCwgCi0gICAgODMsIDY5LCA3NywgNzMsIDg2LCA3OSwgODcsIDY5LCAyMDQsIDgzLCA2OSwgNzcsIDczLCA4MywgNzksIDcwLCAyMTIsIDgzLCAKLSAgICA2OSwgNzcsIDczLCA4MywgNjksIDg4LCA4NCwgNzMsIDc2LCA2OSwgMTI4LCA4MywgNjksIDc3LCA3MywgNzcsIDczLCA3OCwgCi0gICAgNzMsIDc3LCAxOTMsIDgzLCA2OSwgNzcsIDczLCA2OCwgNzMsIDgyLCA2OSwgNjcsIDIxMiwgODMsIDY5LCA3NywgNzMsIDY3LCAKLSAgICA3OSwgNzYsIDc5LCA3OCwgMTI4LCA4MywgNjksIDc3LCA3MywgNjcsIDc5LCA3NiwgNzksIDIwNiwgODMsIDY5LCA3NywgNzMsIAotICAgIDY3LCA3MywgODIsIDY3LCA4NSwgNzYsIDY1LCAyMTAsIDgzLCA2OSwgNzcsIDczLCA2NywgNzMsIDgyLCA2NywgNzYsIDE5NywgCi0gICAgODMsIDY5LCA3NywgNzMsIDY2LCA4MiwgNjksIDg2LCA3MywgMjExLCA4MywgNjksIDc3LCA3MywgNDUsIDg2LCA3OSwgNzMsIAotICAgIDY3LCA2OSwgMTk2LCA4MywgNjksIDc2LCA3MCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1NywgCi0gICAgNTcsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTcsIDU2LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCAKLSAgICA2NywgODQsIDc5LCA4MiwgNDUsIDU3LCA1NSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1NywgCi0gICAgNTQsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTcsIDUzLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCAKLSAgICA2NywgODQsIDc5LCA4MiwgNDUsIDU3LCA1MiwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1NywgCi0gICAgNTEsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTcsIDUwLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCAKLSAgICA2NywgODQsIDc5LCA4MiwgNDUsIDU3LCA0OSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1NywgCi0gICAgNDgsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTcsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCAKLSAgICA4NCwgNzksIDgyLCA0NSwgNTYsIDU3LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDU2LCA1NiwgCi0gICAgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1NiwgNTUsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCAKLSAgICA4NCwgNzksIDgyLCA0NSwgNTYsIDU0LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDU2LCA1MywgCi0gICAgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1NiwgNTIsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCAKLSAgICA4NCwgNzksIDgyLCA0NSwgNTYsIDUxLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDU2LCA1MCwgCi0gICAgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1NiwgNDksIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCAKLSAgICA4NCwgNzksIDgyLCA0NSwgNTYsIDQ4LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDU2LCAxMjgsIAotICAgIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDU1LCA1NywgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCAKLSAgICA3OSwgODIsIDQ1LCA1NSwgNTYsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTUsIDU1LCAxMjgsIAotICAgIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDU1LCA1NCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCAKLSAgICA3OSwgODIsIDQ1LCA1NSwgNTMsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTUsIDUyLCAxMjgsIAotICAgIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDU1LCA1MSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCAKLSAgICA3OSwgODIsIDQ1LCA1NSwgNTAsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTUsIDQ5LCAxMjgsIAotICAgIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDU1LCA0OCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCAKLSAgICA3OSwgODIsIDQ1LCA1NSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1NCwgNTcsIDEyOCwgODMsIAotICAgIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTQsIDU2LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCAKLSAgICA4MiwgNDUsIDU0LCA1NSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1NCwgNTQsIDEyOCwgODMsIAotICAgIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTQsIDUzLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCAKLSAgICA4MiwgNDUsIDU0LCA1MiwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1NCwgNTEsIDEyOCwgODMsIAotICAgIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTQsIDUwLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCAKLSAgICA4MiwgNDUsIDU0LCA0OSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1NCwgNDgsIDEyOCwgODMsIAotICAgIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTQsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCAKLSAgICA0NSwgNTMsIDU3LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUzLCA1NiwgMTI4LCA4MywgNjksIAotICAgIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MywgNTUsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCAKLSAgICA0NSwgNTMsIDU0LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUzLCA1MywgMTI4LCA4MywgNjksIAotICAgIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MywgNTIsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCAKLSAgICA0NSwgNTMsIDUxLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUzLCA1MCwgMTI4LCA4MywgNjksIAotICAgIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MywgNDksIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCAKLSAgICA0NSwgNTMsIDQ4LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUzLCAxMjgsIDgzLCA2OSwgNzYsIAotICAgIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUyLCA1NywgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCAKLSAgICA1MiwgNTYsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTIsIDU1LCAxMjgsIDgzLCA2OSwgNzYsIAotICAgIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUyLCA1NCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCAKLSAgICA1MiwgNTMsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTIsIDUyLCAxMjgsIDgzLCA2OSwgNzYsIAotICAgIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUyLCA1MSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCAKLSAgICA1MiwgNTAsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTIsIDQ5LCAxMjgsIDgzLCA2OSwgNzYsIAotICAgIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUyLCA0OCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCAKLSAgICA1MiwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MSwgNTcsIDEyOCwgODMsIDY5LCA3NiwgNjksIAotICAgIDY3LCA4NCwgNzksIDgyLCA0NSwgNTEsIDU2LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUxLCAKLSAgICA1NSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MSwgNTQsIDEyOCwgODMsIDY5LCA3NiwgNjksIAotICAgIDY3LCA4NCwgNzksIDgyLCA0NSwgNTEsIDUzLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUxLCAKLSAgICA1MiwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MSwgNTEsIDEyOCwgODMsIDY5LCA3NiwgNjksIAotICAgIDY3LCA4NCwgNzksIDgyLCA0NSwgNTEsIDUwLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUxLCAKLSAgICA0OSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MSwgNDgsIDEyOCwgODMsIDY5LCA3NiwgNjksIAotICAgIDY3LCA4NCwgNzksIDgyLCA0NSwgNTEsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIDU3LCAKLSAgICAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCA1NiwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIAotICAgIDg0LCA3OSwgODIsIDQ1LCA1MCwgNTUsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIDU0LCAKLSAgICAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCA1MywgNTQsIDEyOCwgODMsIDY5LCA3NiwgNjksIAotICAgIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIDUzLCA1MywgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCAKLSAgICA1MCwgNTMsIDUyLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCA1MywgNTEsIDEyOCwgODMsIAotICAgIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIDUzLCA1MCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCAKLSAgICA3OSwgODIsIDQ1LCA1MCwgNTMsIDQ5LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCA1MywgCi0gICAgNDgsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIDUzLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCAKLSAgICA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCA1MiwgNTcsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgCi0gICAgNTAsIDUyLCA1NiwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgNTIsIDU1LCAxMjgsIDgzLCAKLSAgICA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCA1MiwgNTQsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgCi0gICAgNzksIDgyLCA0NSwgNTAsIDUyLCA1MywgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgNTIsIAotICAgIDUyLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCA1MiwgNTEsIDEyOCwgODMsIDY5LCA3NiwgCi0gICAgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIDUyLCA1MCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIAotICAgIDQ1LCA1MCwgNTIsIDQ5LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCA1MiwgNDgsIDEyOCwgCi0gICAgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIDUyLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIAotICAgIDc5LCA4MiwgNDUsIDUwLCA1MSwgNTcsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIDUxLCAKLSAgICA1NiwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgNTEsIDU1LCAxMjgsIDgzLCA2OSwgNzYsIAotICAgIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCA1MSwgNTQsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCAKLSAgICA0NSwgNTAsIDUxLCA1MywgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgNTEsIDUyLCAxMjgsIAotICAgIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCA1MSwgNTEsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCAKLSAgICA4NCwgNzksIDgyLCA0NSwgNTAsIDUxLCA1MCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgCi0gICAgNTEsIDQ5LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCA1MSwgNDgsIDEyOCwgODMsIDY5LCAKLSAgICA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIDUxLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgCi0gICAgNDUsIDUwLCA1MCwgNTcsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIDUwLCA1NiwgMTI4LCAKLSAgICA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgNTAsIDU1LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgCi0gICAgODQsIDc5LCA4MiwgNDUsIDUwLCA1MCwgNTQsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIAotICAgIDUwLCA1MywgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgNTAsIDUyLCAxMjgsIDgzLCA2OSwgCi0gICAgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCA1MCwgNTEsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIAotICAgIDgyLCA0NSwgNTAsIDUwLCA1MCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgNTAsIDQ5LCAKLSAgICAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCA1MCwgNDgsIDEyOCwgODMsIDY5LCA3NiwgNjksIAotICAgIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIDUwLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCAKLSAgICA0OSwgNTcsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIDQ5LCA1NiwgMTI4LCA4MywgNjksIAotICAgIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgNDksIDU1LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCAKLSAgICA4MiwgNDUsIDUwLCA0OSwgNTQsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIDQ5LCA1MywgCi0gICAgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgNDksIDUyLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCAKLSAgICA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCA0OSwgNTEsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgCi0gICAgNTAsIDQ5LCA1MCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgNDksIDQ5LCAxMjgsIDgzLCAKLSAgICA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCA0OSwgNDgsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgCi0gICAgNzksIDgyLCA0NSwgNTAsIDQ5LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCA0OCwgNTcsIAotICAgIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIDQ4LCA1NiwgMTI4LCA4MywgNjksIDc2LCA2OSwgCi0gICAgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgNDgsIDU1LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIAotICAgIDUwLCA0OCwgNTQsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIDQ4LCA1MywgMTI4LCA4MywgCi0gICAgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgNDgsIDUyLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIAotICAgIDc5LCA4MiwgNDUsIDUwLCA0OCwgNTEsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIDQ4LCAKLSAgICA1MCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgNDgsIDQ5LCAxMjgsIDgzLCA2OSwgNzYsIAotICAgIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCA0OCwgNDgsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCAKLSAgICA0NSwgNTAsIDQ4LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCAxMjgsIDgzLCA2OSwgNzYsIAotICAgIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1NywgNTcsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCAKLSAgICA0NSwgNDksIDU3LCA1NiwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTcsIDU1LCAxMjgsIAotICAgIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1NywgNTQsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCAKLSAgICA4NCwgNzksIDgyLCA0NSwgNDksIDU3LCA1MywgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgCi0gICAgNTcsIDUyLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1NywgNTEsIDEyOCwgODMsIDY5LCAKLSAgICA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDU3LCA1MCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgCi0gICAgODIsIDQ1LCA0OSwgNTcsIDQ5LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1NywgNDgsIAotICAgIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDU3LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgCi0gICAgODQsIDc5LCA4MiwgNDUsIDQ5LCA1NiwgNTcsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIAotICAgIDU2LCA1NiwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTYsIDU1LCAxMjgsIDgzLCA2OSwgCi0gICAgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1NiwgNTQsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIAotICAgIDgyLCA0NSwgNDksIDU2LCA1MywgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTYsIDUyLCAKLSAgICAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1NiwgNTEsIDEyOCwgODMsIDY5LCA3NiwgNjksIAotICAgIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDU2LCA1MCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCAKLSAgICA0OSwgNTYsIDQ5LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1NiwgNDgsIDEyOCwgODMsIAotICAgIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDU2LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCAKLSAgICA4MiwgNDUsIDQ5LCA1NSwgNTcsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDU1LCA1NiwgCi0gICAgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTUsIDU1LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCAKLSAgICA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1NSwgNTQsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgCi0gICAgNDksIDU1LCA1MywgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTUsIDUyLCAxMjgsIDgzLCAKLSAgICA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1NSwgNTEsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgCi0gICAgNzksIDgyLCA0NSwgNDksIDU1LCA1MCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTUsIAotICAgIDQ5LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1NSwgNDgsIDEyOCwgODMsIDY5LCA3NiwgCi0gICAgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDU1LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIAotICAgIDQ5LCA1NCwgNTcsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDU0LCA1NiwgMTI4LCA4MywgCi0gICAgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTQsIDU1LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIAotICAgIDc5LCA4MiwgNDUsIDQ5LCA1NCwgNTQsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDU0LCAKLSAgICA1MywgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTQsIDUyLCAxMjgsIDgzLCA2OSwgNzYsIAotICAgIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1NCwgNTEsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCAKLSAgICA0NSwgNDksIDU0LCA1MCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTQsIDQ5LCAxMjgsIAotICAgIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1NCwgNDgsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCAKLSAgICA4NCwgNzksIDgyLCA0NSwgNDksIDU0LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1MywgCi0gICAgNTcsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDUzLCA1NiwgMTI4LCA4MywgNjksIDc2LCAKLSAgICA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTMsIDU1LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgCi0gICAgNDUsIDQ5LCA1MywgNTQsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDUzLCA1MywgMTI4LCAKLSAgICA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTMsIDUyLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgCi0gICAgODQsIDc5LCA4MiwgNDUsIDQ5LCA1MywgNTEsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIAotICAgIDUzLCA1MCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTMsIDQ5LCAxMjgsIDgzLCA2OSwgCi0gICAgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1MywgNDgsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIAotICAgIDgyLCA0NSwgNDksIDUzLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1MiwgNTcsIDEyOCwgCi0gICAgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDUyLCA1NiwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIAotICAgIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTIsIDU1LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCAKLSAgICA1MiwgNTQsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDUyLCA1MywgMTI4LCA4MywgNjksIAotICAgIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTIsIDUyLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCAKLSAgICA4MiwgNDUsIDQ5LCA1MiwgNTEsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDUyLCA1MCwgCi0gICAgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTIsIDQ5LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCAKLSAgICA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1MiwgNDgsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgCi0gICAgNDksIDUyLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1MSwgNTcsIDEyOCwgODMsIDY5LCAKLSAgICA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDUxLCA1NiwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgCi0gICAgODIsIDQ1LCA0OSwgNTEsIDU1LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1MSwgNTQsIAotICAgIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDUxLCA1MywgMTI4LCA4MywgNjksIDc2LCA2OSwgCi0gICAgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTEsIDUyLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIAotICAgIDQ5LCA1MSwgNTEsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDUxLCA1MCwgMTI4LCA4MywgCi0gICAgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTEsIDQ5LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIAotICAgIDc5LCA4MiwgNDUsIDQ5LCA1MSwgNDgsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDUxLCAKLSAgICAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1MCwgNTcsIDEyOCwgODMsIDY5LCA3NiwgNjksIAotICAgIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDUwLCA1NiwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCAKLSAgICA0OSwgNTAsIDU1LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1MCwgNTQsIDEyOCwgODMsIAotICAgIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDUwLCA1MywgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCAKLSAgICA3OSwgODIsIDQ1LCA0OSwgNTAsIDUyLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1MCwgCi0gICAgNTEsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDUwLCA1MCwgMTI4LCA4MywgNjksIDc2LCAKLSAgICA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTAsIDQ5LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgCi0gICAgNDUsIDQ5LCA1MCwgNDgsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDUwLCAxMjgsIDgzLCAKLSAgICA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA0OSwgNTcsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgCi0gICAgNzksIDgyLCA0NSwgNDksIDQ5LCA1NiwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNDksIAotICAgIDU1LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA0OSwgNTQsIDEyOCwgODMsIDY5LCA3NiwgCi0gICAgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDQ5LCA1MywgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIAotICAgIDQ1LCA0OSwgNDksIDUyLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA0OSwgNTEsIDEyOCwgCi0gICAgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDQ5LCA1MCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIAotICAgIDg0LCA3OSwgODIsIDQ1LCA0OSwgNDksIDQ5LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCAKLSAgICA0OSwgNDgsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDQ5LCAxMjgsIDgzLCA2OSwgNzYsIAotICAgIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA0OCwgNTcsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCAKLSAgICA0NSwgNDksIDQ4LCA1NiwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNDgsIDU1LCAxMjgsIAotICAgIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA0OCwgNTQsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCAKLSAgICA4NCwgNzksIDgyLCA0NSwgNDksIDQ4LCA1MywgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgCi0gICAgNDgsIDUyLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA0OCwgNTEsIDEyOCwgODMsIDY5LCAKLSAgICA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDQ4LCA1MCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgCi0gICAgODIsIDQ1LCA0OSwgNDgsIDQ5LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA0OCwgNDgsIAotICAgIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDQ4LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgCi0gICAgODQsIDc5LCA4MiwgNDUsIDQ5LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCAyMTAsIDgzLCA2OSwgNzYsIDY5LCAKLSAgICA2NywgODQsIDY5LCAxOTYsIDgzLCA2OSwgNzMsIDgzLCA3NywgNjUsIDEyOCwgODMsIDY5LCA3MywgODMsIDc3LCAxOTMsIAotICAgIDgzLCA2OSwgNzIsIDEyOCwgODMsIDY5LCA3MSwgNzksIDc2LCAxMjgsIDgzLCA2OSwgNzEsIDc4LCA3OSwgMTI4LCA4MywgCi0gICAgNjksIDcxLCA3NywgNjksIDc4LCA4NCwgMTI4LCA4MywgNjksIDY5LCA3OCwgODUsIDEyOCwgODMsIDY5LCA2OSwgNzgsIAotICAgIDEyOCwgODMsIDY5LCA2OSwgMjA2LCA4MywgNjksIDY5LCA2OCwgNzYsIDczLCA3OCwgNzEsIDEyOCwgODMsIDY5LCA2OSwgCi0gICAgNDUsIDc4LCA3OSwgNDUsIDY5LCA4NiwgNzMsIDIwNCwgODMsIDY5LCA2NywgODQsIDc5LCA4MiwgMTI4LCA4MywgNjksIDY3LCAKLSAgICA4NCwgNzMsIDc5LCA3OCwgMTI4LCA4MywgNjksIDY3LCA4NCwgNzMsIDc5LCAyMDYsIDgzLCA2OSwgNjcsIDgyLCA2OSwgODQsIAotICAgIDEyOCwgODMsIDY5LCA2NywgNzksIDc4LCA2OCwgMTI4LCA4MywgNjksIDY2LCA2NSwgODQsIDY2LCA2OSwgNzMsIDIxMiwgCi0gICAgODMsIDY5LCA2NSwgODQsIDEyOCwgODMsIDY5LCA2NSwgNzYsIDEyOCwgODMsIDY5LCA2NSwgNzEsIDg1LCA3NiwgMjA0LCAKLSAgICA4MywgNjgsIDc5LCA3OCwgMTk5LCA4MywgNjgsIDEyOCwgODMsIDY3LCA4NywgNjUsIDEyOCwgODMsIDY3LCA4MiwgODUsIAotICAgIDgwLCA3NiwgNjksIDEyOCwgODMsIDY3LCA4MiwgNzksIDc2LCA3NiwgMTI4LCA4MywgNjcsIDgyLCA3MywgODAsIDg0LCAKLSAgICAxMjgsIDgzLCA2NywgODIsIDY5LCA2OSwgNzgsIDEyOCwgODMsIDY3LCA4MiwgNjksIDY5LCAyMDYsIDgzLCA2NywgODIsIAotICAgIDY5LCA2NSwgNzcsIDczLCA3OCwgMTk5LCA4MywgNjcsIDc5LCA4MiwgODAsIDczLCA4NSwgODMsIDEyOCwgODMsIDY3LCA3OSwgCi0gICAgODIsIDY5LCAxMjgsIDgzLCA2NywgNzMsIDgzLCA4MywgNzksIDgyLCA4MywgMTI4LCA4MywgNjcsIDczLCAxMjgsIDgzLCAKLSAgICA2NywgNzIsIDg3LCA2NSwgMTI4LCA4MywgNjcsIDcyLCA4NywgMTkzLCA4MywgNjcsIDcyLCA4MiwgNzksIDY5LCA2OCwgNjksIAotICAgIDgyLCAxMjgsIDgzLCA2NywgNzIsIDc5LCA3OSwgNzYsIDEyOCwgODMsIDY3LCA3MiwgNzksIDc5LCAyMDQsIDgzLCA2NywgCi0gICAgNzIsIDc5LCA3NiwgNjUsIDgyLCAxMjgsIDgzLCA2NywgNzIsIDY5LCA3NywgMTkzLCA4MywgNjcsIDY5LCA4MCwgODQsIDY5LCAKLSAgICAyMTAsIDgzLCA2NywgNjUsIDc4LCA2OCwgNzMsIDY3LCA4NSwgODMsIDEyOCwgODMsIDY3LCA2NSwgNzgsIDY4LCA3MywgNjcsIAotICAgIDg1LCAyMTEsIDgzLCA2NywgNjUsIDIwNiwgODMsIDY3LCA2NSwgNzYsIDY5LCA4MywgMTI4LCA4MywgNjYsIDg1LCAxOTQsIAotICAgIDgzLCA2NiwgODIsIDg1LCAyMDQsIDgzLCA2NSwgODksIDczLCA4MywgMjAxLCA4MywgNjUsIDg5LCA2NSwgNzgsIDc4LCA2NSwgCi0gICAgMTI4LCA4MywgNjUsIDg5LCAxMjgsIDgzLCA2NSwgODgsIDc5LCA4MCwgNzIsIDc5LCA3OCwgNjksIDEyOCwgODMsIDY1LCAKLSAgICA4OCwgNzMsIDc3LCA2NSwgODQsIDY1LCAxMjgsIDgzLCA2NSwgODcsIDY1LCA3OCwgMTI4LCA4MywgNjUsIDg3LCAxMjgsIAotICAgIDgzLCA2NSwgODYsIDc5LCA4NSwgODIsIDczLCA3OCwgMTk5LCA4MywgNjUsIDg1LCA3MywgNzYsIDEyOCwgODMsIDY1LCA4NCwgCi0gICAgODUsIDgyLCA3OCwgMTI4LCA4MywgNjUsIDg0LCA3NSwgNjUsIDY1LCA3OCwgNzUsIDg1LCA4NSwgMTI4LCA4MywgNjUsIDg0LCAKLSAgICA3NSwgNjUsIDY1LCA3OCwgMTI4LCA4MywgNjUsIDg0LCA2OSwgNzYsIDc2LCA3MywgODQsIDE5NywgODMsIDY1LCA4NCwgNjcsIAotICAgIDcyLCA2OSwgNzYsIDEyOCwgODMsIDY1LCA4NCwgNjUsIDc4LCA3MSwgNjUsIDEyOCwgODMsIDY1LCA4MywgNzIsIDEyOCwgCi0gICAgODMsIDY1LCA4MywgNjUsIDc1LCAxMjgsIDgzLCA2NSwgODIsIDczLCAxMjgsIDgzLCA2NSwgODIsIDE5MywgODMsIDY1LCAKLSAgICA4MiwgMTI4LCA4MywgNjUsIDgxLCAxMjgsIDgzLCA2NSwgODAsIDY1LCAxMjgsIDgzLCA2NSwgNzgsIDg5LCA3OSwgNzksIAotICAgIDcxLCAxOTMsIDgzLCA2NSwgNzgsIDg5LCA2NSwgNzUsIDE5MywgODMsIDY1LCA3OCwgODQsIDczLCA3MywgNzcsIDg1LCAKLSAgICAxMjgsIDgzLCA2NSwgNzgsIDc4LCA4OSwgNjUsIDEyOCwgODMsIDY1LCA3OCwgNzEsIDY1LCA1MCwgMTI4LCA4MywgNjUsIAotICAgIDc4LCA2OCwgNjUsIDc2LCAxMjgsIDgzLCA2NSwgNzgsIDY1LCA3MiwgMTI4LCA4MywgNjUsIDc4LCAxMjgsIDgzLCA2NSwgCi0gICAgNzcsIDg5LCA3OSwgMjAzLCA4MywgNjUsIDc3LCA4NiwgNjUsIDg0LCAxMjgsIDgzLCA2NSwgNzcsIDgwLCA3MywgMTI4LCAKLSAgICA4MywgNjUsIDc3LCA4MCwgNzIsIDY1LCA3OSwgMTI4LCA4MywgNjUsIDc3LCA3NSwgNjUsIDEyOCwgODMsIDY1LCA3NywgNjksIAotICAgIDc1LCA3MiwgMTI4LCA4MywgNjUsIDc3LCA2OSwgNzUsIDIwMCwgODMsIDY1LCA3NywgNjYsIDY1LCAxMjgsIDgzLCA2NSwgCi0gICAgNzcsIDY1LCA4MiwgNzMsIDg0LCA2NSwgMjA2LCA4MywgNjUsIDc3LCAxMjgsIDgzLCA2NSwgNzYsIDg0LCA3MywgODIsIDY5LCAKLSAgICAxMjgsIDgzLCA2NSwgNzYsIDg0LCA3MywgNzYsIDc2LCA3OSwgMTI4LCA4MywgNjUsIDc2LCA4NCwgNDUsIDUwLCAxMjgsIAotICAgIDgzLCA2NSwgNzYsIDg0LCAxMjgsIDgzLCA2NSwgNzYsIDIxMiwgODMsIDY1LCA3NiwgNzYsIDY1LCA3NiwgNzYsIDY1LCA3MiwgCi0gICAgNzksIDIxMywgODMsIDY1LCA3NiwgNzYsIDE5MywgODMsIDY1LCA3NiwgNjUsIDIwNSwgODMsIDY1LCA3NiwgNjUsIDEyOCwgCi0gICAgODMsIDY1LCA3NiwgNDUsIDY1LCA3NywgNzcsIDc5LCA3OCwgNzMsIDY1LCA2NywgMTI4LCA4MywgNjUsIDc2LCAxMjgsIDgzLCAKLSAgICA2NSwgNzUsIDc5LCA4NCwgMTI4LCA4MywgNjUsIDc1LCA2OSwgODUsIDY1LCA2OSwgMTI4LCA4MywgNjUsIDc1LCAxOTcsIAotICAgIDgzLCA2NSwgNzQsIDY4LCA2NSwgNzIsIDEyOCwgODMsIDY1LCA3MywgNzYsIDY2LCA3OSwgNjUsIDg0LCAxMjgsIDgzLCA2NSwgCi0gICAgNzMsIDc2LCAxMjgsIDgzLCA2NSwgNzMsIDc1LCA4NSwgODIsIDg1LCAxMjgsIDgzLCA2NSwgNzIsIDEyOCwgODMsIDY1LCAKLSAgICA3MSwgNzMsIDg0LCA4NCwgNjUsIDgyLCA3MywgODUsIDgzLCAxMjgsIDgzLCA2NSwgNzEsIDY1LCAxMjgsIDgzLCA2NSwgNzEsIAotICAgIDEyOCwgODMsIDY1LCAxOTksIDgzLCA2NSwgNzAsIDcyLCA2NSwgMTI4LCA4MywgNjUsIDY4LCA3MiwgNjksIDEyOCwgODMsIAotICAgIDY1LCA2OCwgNjksIDEyOCwgODMsIDY1LCA2OCwgMTI4LCA4MywgNjUsIDE5NiwgODMsIDY1LCA2NywgODIsIDczLCA3MCwgCi0gICAgNzMsIDY3LCA3MywgNjUsIDIwNCwgODMsIDY1LCA2NSwgNzMsIDEyOCwgODMsIDY1LCA2NSwgNjgsIDcyLCA4NSwgMTI4LCAKLSAgICA4MywgNjUsIDQ1LCA3MywgMTI4LCA4MywgNjUsIDQ1LCA1MCwgMTI4LCA4MywgNDgsIDUyLCA1NCwgMTI4LCA4MywgNDgsIAotICAgIDUyLCA1MywgMTI4LCA4MywgNDgsIDUyLCA1MiwgMTI4LCA4MywgNDgsIDUyLCA1MSwgMTI4LCA4MywgNDgsIDUyLCA1MCwgCi0gICAgMTI4LCA4MywgNDgsIDUyLCA0OSwgMTI4LCA4MywgNDgsIDUyLCA0OCwgMTI4LCA4MywgNDgsIDUxLCA1NywgMTI4LCA4MywgCi0gICAgNDgsIDUxLCA1NiwgMTI4LCA4MywgNDgsIDUxLCA1NSwgMTI4LCA4MywgNDgsIDUxLCA1NCwgMTI4LCA4MywgNDgsIDUxLCAKLSAgICA1MywgNjUsIDEyOCwgODMsIDQ4LCA1MSwgNTMsIDEyOCwgODMsIDQ4LCA1MSwgNTIsIDEyOCwgODMsIDQ4LCA1MSwgNTEsIAotICAgIDEyOCwgODMsIDQ4LCA1MSwgNTAsIDEyOCwgODMsIDQ4LCA1MSwgNDksIDEyOCwgODMsIDQ4LCA1MSwgNDgsIDEyOCwgODMsIAotICAgIDQ4LCA1MCwgNTcsIDEyOCwgODMsIDQ4LCA1MCwgNTYsIDEyOCwgODMsIDQ4LCA1MCwgNTUsIDEyOCwgODMsIDQ4LCA1MCwgCi0gICAgNTQsIDY2LCAxMjgsIDgzLCA0OCwgNTAsIDU0LCA2NSwgMTI4LCA4MywgNDgsIDUwLCA1NCwgMTI4LCA4MywgNDgsIDUwLCAKLSAgICA1MywgMTI4LCA4MywgNDgsIDUwLCA1MiwgMTI4LCA4MywgNDgsIDUwLCA1MSwgMTI4LCA4MywgNDgsIDUwLCA1MCwgMTI4LCAKLSAgICA4MywgNDgsIDUwLCA0OSwgMTI4LCA4MywgNDgsIDUwLCA0OCwgMTI4LCA4MywgNDgsIDQ5LCA1NywgMTI4LCA4MywgNDgsIAotICAgIDQ5LCA1NiwgMTI4LCA4MywgNDgsIDQ5LCA1NSwgNjUsIDEyOCwgODMsIDQ4LCA0OSwgNTUsIDEyOCwgODMsIDQ4LCA0OSwgCi0gICAgNTQsIDEyOCwgODMsIDQ4LCA0OSwgNTMsIDEyOCwgODMsIDQ4LCA0OSwgNTIsIDY2LCAxMjgsIDgzLCA0OCwgNDksIDUyLCAKLSAgICA2NSwgMTI4LCA4MywgNDgsIDQ5LCA1MiwgMTI4LCA4MywgNDgsIDQ5LCA1MSwgMTI4LCA4MywgNDgsIDQ5LCA1MCwgMTI4LCAKLSAgICA4MywgNDgsIDQ5LCA0OSwgMTI4LCA4MywgNDgsIDQ5LCA0OCwgMTI4LCA4MywgNDgsIDQ4LCA1NywgMTI4LCA4MywgNDgsIAotICAgIDQ4LCA1NiwgMTI4LCA4MywgNDgsIDQ4LCA1NSwgMTI4LCA4MywgNDgsIDQ4LCA1NCwgNjUsIDEyOCwgODMsIDQ4LCA0OCwgCi0gICAgNTQsIDEyOCwgODMsIDQ4LCA0OCwgNTMsIDEyOCwgODMsIDQ4LCA0OCwgNTIsIDEyOCwgODMsIDQ4LCA0OCwgNTEsIDEyOCwgCi0gICAgODMsIDQ4LCA0OCwgNTAsIDY1LCAxMjgsIDgzLCA0OCwgNDgsIDUwLCAxMjgsIDgzLCA0OCwgNDgsIDQ5LCAxMjgsIDgzLCAKLSAgICA0NSwgODcsIDEyOCwgODMsIDQ1LCA4MywgNzIsIDY1LCA4MCwgNjksIDE5NiwgODIsIDg5LCA4OSwgMTI4LCA4MiwgODksIAotICAgIDg4LCAxMjgsIDgyLCA4OSwgODQsIDEyOCwgODIsIDg5LCA4MiwgODgsIDEyOCwgODIsIDg5LCA4MiwgMTI4LCA4MiwgODksIAotICAgIDgwLCAxMjgsIDgyLCA4NywgNzksIDc5LCAxMjgsIDgyLCA4NywgNzksIDEyOCwgODIsIDg3LCA3MywgNzMsIDEyOCwgODIsIAotICAgIDg3LCA3MywgMTI4LCA4MiwgODcsIDY5LCA2OSwgMTI4LCA4MiwgODcsIDY5LCAxMjgsIDgyLCA4NywgNjUsIDcyLCA2NSwgCi0gICAgMTI4LCA4MiwgODcsIDY1LCA2NSwgMTI4LCA4MiwgODcsIDY1LCAxMjgsIDgyLCA4NSwgODgsIDEyOCwgODIsIDg1LCA4NSwgCi0gICAgNjYsIDg1LCA4MiwgODUsIDEyOCwgODIsIDg1LCA4NSwgMTI4LCA4MiwgODUsIDg0LCAxMjgsIDgyLCA4NSwgODMsIDczLCAKLSAgICAxMjgsIDgyLCA4NSwgODIsIDg4LCAxMjgsIDgyLCA4NSwgODIsIDEyOCwgODIsIDg1LCA4MCwgNzMsIDczLCAxMjgsIDgyLCAKLSAgICA4NSwgODAsIDY5LCAxOTcsIDgyLCA4NSwgODAsIDEyOCwgODIsIDg1LCA3OSwgODgsIDEyOCwgODIsIDg1LCA3OSwgODAsIAotICAgIDEyOCwgODIsIDg1LCA3OSwgMTI4LCA4MiwgODUsIDc4LCA3OSwgODUsIDg0LCAxMjgsIDgyLCA4NSwgNzgsIDc4LCA3MywgCi0gICAgNzgsIDE5OSwgODIsIDg1LCA3OCwgNzgsIDY5LCA4MiwgMTI4LCA4MiwgODUsIDc4LCAxMjgsIDgyLCA4NSwgNzcsIDIwMSwgCi0gICAgODIsIDg1LCA3NywgNjUsIDIwMSwgODIsIDg1LCA3NywgMTI4LCA4MiwgODUsIDIwNSwgODIsIDg1LCA3NiwgNjksIDgyLCAKLSAgICAxMjgsIDgyLCA4NSwgNzYsIDY5LCA0NSwgNjgsIDY5LCA3NiwgNjUsIDg5LCA2OSwgNjgsIDEyOCwgODIsIDg1LCA3NiwgNjksIAotICAgIDEyOCwgODIsIDg1LCA3NSwgNzUsIDY1LCA3NSwgNzIsIDY1LCAxMjgsIDgyLCA4NSwgNzMsIDgzLCAxMjgsIDgyLCA4NSwgCi0gICAgNzEsIDY2LCAyMTcsIDgyLCA4NSwgMTk0LCA4MiwgODUsIDY1LCAxMjgsIDgyLCA4NCwgNzIsIDY1LCA3OCwgMTk5LCA4MiwgCi0gICAgODQsIDY1LCA3MSwgODMsIDEyOCwgODIsIDg0LCA2NSwgNzEsIDIxMSwgODIsIDgyLCA4OSwgODgsIDEyOCwgODIsIDgyLCAKLSAgICA4OSwgODQsIDEyOCwgODIsIDgyLCA4OSwgODIsIDg4LCAxMjgsIDgyLCA4MiwgODksIDgyLCAxMjgsIDgyLCA4MiwgODksIAotICAgIDgwLCAxMjgsIDgyLCA4MiwgODUsIDg4LCAxMjgsIDgyLCA4MiwgODUsIDg1LCAxMjgsIDgyLCA4MiwgODUsIDg0LCAxMjgsIAotICAgIDgyLCA4MiwgODUsIDgyLCA4OCwgMTI4LCA4MiwgODIsIDg1LCA4MiwgMTI4LCA4MiwgODIsIDg1LCA4MCwgMTI4LCA4MiwgCi0gICAgODIsIDg1LCA3OSwgODgsIDEyOCwgODIsIDgyLCA4NSwgNzksIDEyOCwgODIsIDgyLCA4NSwgMTI4LCA4MiwgODIsIDc5LCAKLSAgICA4OCwgMTI4LCA4MiwgODIsIDc5LCA4NCwgMTI4LCA4MiwgODIsIDc5LCA4MCwgMTI4LCA4MiwgODIsIDc5LCA3OSwgMTI4LCAKLSAgICA4MiwgODIsIDc5LCAxMjgsIDgyLCA4MiwgNzMsIDczLCAxMjgsIDgyLCA4MiwgNzMsIDEyOCwgODIsIDgyLCA2OSwgODgsIAotICAgIDEyOCwgODIsIDgyLCA2OSwgODQsIDEyOCwgODIsIDgyLCA2OSwgODAsIDEyOCwgODIsIDgyLCA2OSwgNzIsIDEyOCwgODIsIAotICAgIDgyLCA2OSwgMjAwLCA4MiwgODIsIDY5LCA2OSwgMTI4LCA4MiwgODIsIDY5LCAxMjgsIDgyLCA4MiwgNjUsIDg4LCAxMjgsIAotICAgIDgyLCA4MiwgNjUsIDg1LCAxMjgsIDgyLCA4MiwgNjUsIDczLCAxMjgsIDgyLCA4MiwgNjUsIDY1LCAxMjgsIDgyLCA4MiwgCi0gICAgNjUsIDEyOCwgODIsIDc5LCA4NywgNjYsIDc5LCA2NSwgODQsIDEyOCwgODIsIDc5LCA4NSwgNzgsIDY4LCA2OSwgMTk2LCAKLSAgICA4MiwgNzksIDg1LCA3OCwgNjgsIDQ1LCA4NCwgNzMsIDgwLCA4MCwgNjksIDE5NiwgODIsIDc5LCA4NCwgODUsIDc4LCA2OCwgCi0gICAgNjUsIDEyOCwgODIsIDc5LCA4NCwgNjUsIDg0LCA2OSwgMTk2LCA4MiwgNzksIDgzLCA3MiwgMTI4LCA4MiwgNzksIDgzLCAKLSAgICA2OSwgODQsIDg0LCA2OSwgMTI4LCA4MiwgNzksIDgzLCA2OSwgMTI4LCA4MiwgNzksIDc5LCA4NCwgMTI4LCA4MiwgNzksIAotICAgIDc5LCA4MywgODQsIDY5LCA4MiwgMTI4LCA4MiwgNzksIDc5LCA3NSwgMTI4LCA4MiwgNzksIDc5LCA3MCwgMTI4LCA4MiwgCi0gICAgNzksIDc3LCA2NSwgMjA2LCA4MiwgNzksIDc3LCAxMjgsIDgyLCA3OSwgNzYsIDc2LCA2OSwgMjEwLCA4MiwgNzksIDcyLCAKLSAgICA3MywgNzgsIDcxLCA4OSwgMTkzLCA4MiwgNzksIDE5NiwgODIsIDc5LCA2NywgNzUsIDY5LCA4NCwgMTI4LCA4MiwgNzksIAotICAgIDY3LCAyMDMsIDgyLCA3OSwgNjcsIDEyOCwgODIsIDc5LCA2NiwgNjUsIDg0LCAxMjgsIDgyLCA3OSwgNjUsIDgzLCA4NCwgCi0gICAgNjksIDE5NiwgODIsIDc5LCA2NSwgODIsIDEyOCwgODIsIDc5LCA2NSwgMTI4LCA4MiwgNzgsIDg5LCA3MywgNzgsIDE5OSwgCi0gICAgODIsIDc4LCA3OSwgNzksIDc4LCAxMjgsIDgyLCA3OCwgNzksIDc5LCAyMDYsIDgyLCA3OCwgNjUsIDIwNSwgODIsIDc3LCAKLSAgICA4NCwgMTI4LCA4MiwgNzYsIDc5LCAxMjgsIDgyLCA3NiwgNzcsIDEyOCwgODIsIDc2LCA3MywgMTI4LCA4MiwgNzYsIDY5LCAKLSAgICAxMjgsIDgyLCA3NCwgNjksIDIxMSwgODIsIDc0LCA2OSwgMTI4LCA4MiwgNzQsIDE5NywgODIsIDczLCA4NiwgNjksIDgyLCAKLSAgICAxMjgsIDgyLCA3MywgODQsIDg1LCA2NSwgNzYsIDEyOCwgODIsIDczLCA4NCwgODQsIDc5LCA4MiwgODUsIDEyOCwgODIsIAotICAgIDczLCA4NCwgODMsIDczLCAxMjgsIDgyLCA3MywgODMsIDczLCA3OCwgMTk5LCA4MiwgNzMsIDgzLCA3MiwgMTI4LCA4MiwgCi0gICAgNzMsIDgyLCA2NSwgMTI4LCA4MiwgNzMsIDgwLCAxMjgsIDgyLCA3MywgNzgsIDcxLCAyMTEsIDgyLCA3MywgNzgsIDcwLCAKLSAgICA3OSwgODIsIDkwLCA2NSwgNzgsIDY4LCA3OSwgMTI4LCA4MiwgNzMsIDIwNiwgODIsIDczLCA3NywgNzEsIDY2LCA2NSwgCisgICAgMjExLCA4MywgNzksIDc2LCA3MywgMTk2LCA4MywgNzksIDcyLCAxMjgsIDgzLCA3OSwgNzEsIDY4LCA3MywgNjUsIDIwNiwgCisgICAgODMsIDc5LCA3MCwgODQsIDg3LCA2NSwgODIsIDY5LCA0NSwgNzAsIDg1LCA3OCwgNjcsIDg0LCA3MywgNzksIDIwNiwgODMsIAorICAgIDc5LCA3MCwgODQsIDc4LCA2OSwgODMsIDgzLCAxMjgsIDgzLCA3OSwgNzAsIDIxMiwgODMsIDc5LCAxOTgsIDgzLCA3OSwgCisgICAgNjcsIDczLCA2OSwgODQsIDg5LCAxMjgsIDgzLCA3OSwgNjcsIDY3LCA2OSwgMjEwLCA4MywgNzksIDY1LCA4MCwgMTI4LCAKKyAgICA4MywgNzksIDY1LCAxMjgsIDgzLCAyMDcsIDgzLCA3OCwgNzksIDg3LCA3NywgNjUsIDc4LCAxMjgsIDgzLCA3OCwgNzksIAorICAgIDg3LCA3NywgNjUsIDIwNiwgODMsIDc4LCA3OSwgODcsIDcwLCA3NiwgNjUsIDc1LCA2OSwgMTI4LCA4MywgNzgsIDc5LCA4NywgCisgICAgNjYsIDc5LCA2NSwgODIsIDY4LCA2OSwgODIsIDEyOCwgODMsIDc4LCA3OSwgODcsIDEyOCwgODMsIDc4LCA3OSwgMjE1LCAKKyAgICA4MywgNzgsIDc5LCA4NSwgODQsIDEyOCwgODMsIDc4LCA3OSwgODUsIDIxMiwgODMsIDc4LCA2NSwgMjA4LCA4MywgNzgsIAorICAgIDY1LCA3NSwgNjksIDEyOCwgODMsIDc4LCA2NSwgNzUsIDE5NywgODMsIDc4LCA2NSwgNzMsIDc2LCAxMjgsIDgzLCA3OCwgCisgICAgMTkzLCA4MywgNzcsIDc5LCA3NSwgNzMsIDc4LCAxOTksIDgzLCA3NywgNzMsIDgyLCA3NSwgNzMsIDc4LCAxOTksIDgzLCAKKyAgICA3NywgNzMsIDc2LCA3MywgNzgsIDE5OSwgODMsIDc3LCA3MywgNzYsIDY5LCAxMjgsIDgzLCA3NywgNjksIDY1LCA4MiwgCisgICAgMTI4LCA4MywgNzcsIDY1LCA4MywgMjAwLCA4MywgNzcsIDY1LCA3NiwgNzYsIDY5LCAyMTAsIDgzLCA3NywgNjUsIDc2LCAKKyAgICA3NiwgMTI4LCA4MywgNzYsIDg1LCA4MiwgMTI4LCA4MywgNzYsIDc5LCA4NywgNzYsIDg5LCAxMjgsIDgzLCA3NiwgNzksIAorICAgIDIxNSwgODMsIDc2LCA3OSwgODYsIDc5LCAxMjgsIDgzLCA3NiwgNzksIDIxMiwgODMsIDc2LCA3OSwgODAsIDczLCA3OCwgCisgICAgMTk5LCA4MywgNzYsIDc5LCA4MCwgNjksIDEyOCwgODMsIDc2LCA3OSwgNjUsIDIwNiwgODMsIDc2LCA3MywgNzgsIDcxLCAKKyAgICAxMjgsIDgzLCA3NiwgNzMsIDcxLCA3MiwgODQsIDc2LCAyMTcsIDgzLCA3NiwgNzMsIDY4LCA3MywgNzgsIDcxLCAxMjgsIAorICAgIDgzLCA3NiwgNzMsIDY4LCA2OSwgODIsIDEyOCwgODMsIDc2LCA3MywgNjcsIDY5LCAxMjgsIDgzLCA3NiwgNzMsIDY3LCAKKyAgICAxOTcsIDgzLCA3NiwgNjksIDg1LCA4NCwgMjAwLCA4MywgNzYsIDY5LCA2OSwgODAsIDIxNywgODMsIDc2LCA2OSwgNjksIAorICAgIDgwLCA3MywgNzgsIDE5OSwgODMsIDc2LCA2NSwgODYsIDc5LCA3OCwgNzMsIDE5NSwgODMsIDc2LCA2NSwgODYsIDY5LCAKKyAgICAxMjgsIDgzLCA3NiwgNjUsIDgzLCA3MiwgMTI4LCA4MywgNzYsIDY1LCA4MywgMjAwLCA4MywgNzYsIDY1LCA3OCwgODQsIAorICAgIDY5LCAxOTYsIDgzLCA3NSwgODcsIDY1LCAxMjgsIDgzLCA3NSwgODcsIDEyOCwgODMsIDc1LCA4NSwgNzYsIDc2LCAxMjgsIAorICAgIDgzLCA3NSwgODUsIDc2LCAyMDQsIDgzLCA3NSwgNzYsIDczLCA4MiwgNzksIDIwNiwgODMsIDc1LCA3MywgNzgsIDEyOCwgCisgICAgODMsIDc1LCA3MywgNjksIDgyLCAxMjgsIDgzLCA3NSwgMjAxLCA4MywgNzUsIDY5LCA4NywgNjksIDE5NiwgODMsIDc1LCAKKyAgICA2NSwgODQsIDY5LCAxMjgsIDgzLCA3NSwgMTI4LCA4MywgNzQsIDY5LCAxMjgsIDgzLCA3MywgOTAsIDE5NywgODMsIDczLCAKKyAgICA4OCwgODQsIDg5LCA0NSwgNzAsIDc5LCA4NSwgODIsIDg0LCAyMDAsIDgzLCA3MywgODgsIDg0LCA4OSwgMTI4LCA4MywgNzMsIAorICAgIDg4LCA4NCwgMjE3LCA4MywgNzMsIDg4LCA4NCwgNzIsIDgzLCAxMjgsIDgzLCA3MywgODgsIDg0LCA3MiwgMjExLCA4MywgCisgICAgNzMsIDg4LCA4NCwgNzIsIDEyOCwgODMsIDczLCA4OCwgODQsIDY5LCA2OSwgNzgsIDg0LCA3MiwgODMsIDEyOCwgODMsIDczLCAKKyAgICA4OCwgODQsIDY5LCA2OSwgNzgsIDg0LCA3MiwgMTI4LCA4MywgNzMsIDg4LCA4NCwgNjksIDY5LCA3OCwgODQsIDIwMCwgODMsIAorICAgIDczLCA4OCwgODQsIDY5LCA2OSwgNzgsIDEyOCwgODMsIDczLCA4OCwgODQsIDY5LCA2OSwgMjA2LCA4MywgNzMsIDg4LCA0NSwgCisgICAgODQsIDcyLCA3MywgODIsIDg0LCA4OSwgMTI4LCA4MywgNzMsIDg4LCA0NSwgODMsIDg0LCA4MiwgNzMsIDc4LCAxOTksIDgzLCAKKyAgICA3MywgODgsIDQ1LCA4MCwgNjksIDgyLCA0NSwgNjksIDIwNSwgODMsIDczLCA4OCwgNDUsIDc2LCA3MywgNzgsIDE5NywgODMsIAorICAgIDczLCAyMTYsIDgzLCA3MywgODQsIDY5LCAxMjgsIDgzLCA3MywgODMsIDY1LCAxMjgsIDgzLCA3MywgODIsIDczLCA3OCwgCisgICAgNzEsIDg1LCAxMjgsIDgzLCA3MywgNzksIDgzLCA0NSwgODQsIDcyLCA3MywgNjksIDg1LCA4NCwgNzIsIDEyOCwgODMsIDczLCAKKyAgICA3OSwgODMsIDQ1LCA4MywgODMsIDY1LCA3OCwgNzEsIDgzLCA3MywgNzksIDgzLCAxMjgsIDgzLCA3MywgNzksIDgzLCA0NSwgCisgICAgODIsIDczLCA2OSwgODUsIDc2LCAxMjgsIDgzLCA3MywgNzksIDgzLCA0NSwgODAsIDczLCA2OSwgODUsIDgwLCA0NSwgNzUsIAorICAgIDczLCA4OSwgNjksIDc5LCA3NSwgMTI4LCA4MywgNzMsIDc5LCA4MywgNDUsIDgwLCA3MiwgNzMsIDY5LCA4NSwgODAsIDcyLCAKKyAgICAxMjgsIDgzLCA3MywgNzksIDgzLCA0NSwgODAsIDY1LCA3OCwgODMsIDczLCA3OSwgODMsIDEyOCwgODMsIDczLCA3OSwgODMsIAorICAgIDQ1LCA3OCwgNzMsIDY5LCA4NSwgNzgsIDEyOCwgODMsIDczLCA3OSwgODMsIDQ1LCA3NywgNzMsIDY5LCA4NSwgNzcsIDEyOCwgCisgICAgODMsIDczLCA3OSwgODMsIDQ1LCA3NSwgNzIsIDczLCA2OSwgODUsIDc1LCA3MiwgMTI4LCA4MywgNzMsIDc5LCA4MywgNDUsIAorICAgIDc1LCA2NSwgODAsIDg5LCA2OSwgNzksIDg1LCA3OCwgODAsIDczLCA2OSwgODUsIDgwLCAxMjgsIDgzLCA3MywgNzksIDgzLCAKKyAgICA0NSwgNzMsIDY5LCA4NSwgNzgsIDcxLCAxMjgsIDgzLCA3MywgNzksIDgzLCA0NSwgNzIsIDczLCA2OSwgODUsIDcyLCAxMjgsIAorICAgIDgzLCA3MywgNzksIDgzLCA0NSwgNjcsIDczLCA2OSwgODUsIDY3LCAxMjgsIDgzLCA3MywgNzksIDgzLCA0NSwgNjcsIDcyLCAKKyAgICA3MywgNjksIDg1LCA2NywgNzIsIDEyOCwgODMsIDczLCA3OSwgMjExLCA4MywgNzMsIDc4LCA4NSwgODMsIDc5LCA3MywgCisgICAgMTk2LCA4MywgNzMsIDc4LCA3NSwgNzMsIDc4LCA3MSwgMTI4LCA4MywgNzMsIDc4LCA3MSwgNzYsIDY5LCA0NSwgODMsIDcyLCAKKyAgICA3MywgNzAsIDg0LCA0NSwgNTEsIDEyOCwgODMsIDczLCA3OCwgNzEsIDc2LCA2OSwgNDUsIDgzLCA3MiwgNzMsIDcwLCA4NCwgCisgICAgNDUsIDUwLCAxMjgsIDgzLCA3MywgNzgsIDcxLCA3NiwgNjksIDQ1LCA3NiwgNzMsIDc4LCAxOTcsIDgzLCA3MywgNzgsIDcxLCAKKyAgICA3NiwgNjksIDEyOCwgODMsIDczLCA3OCwgNzEsIDc2LCAxOTcsIDgzLCA3MywgNzgsIDcxLCA2NSwgNjUsIDg0LCAxMjgsIAorICAgIDgzLCA3MywgNzgsIDE5NywgODMsIDczLCA3OCwgNjgsIDcyLCAyMDEsIDgzLCA3MywgMjA2LCA4MywgNzMsIDc3LCA4MCwgCisgICAgNzYsIDczLCA3MCwgNzMsIDY5LCAxOTYsIDgzLCA3MywgNzcsIDczLCA3NiwgNjUsIDgyLCAxMjgsIDgzLCA3MywgNzcsIDczLCAKKyAgICA3NiwgNjUsIDIxMCwgODMsIDczLCA3NywgNjUsIDc4LCA4MywgNzMsIDIxMSwgODMsIDczLCA3NywgNjUsIDc2LCA4NSwgNzgsIAorICAgIDcxLCA4NSwgMjA2LCA4MywgNzMsIDc3LCA2NSwgMTI4LCA4MywgNzMsIDc2LCA4NiwgNjksIDgyLCAxMjgsIDgzLCA3MywgCisgICAgNzYsIDc1LCAxMjgsIDgzLCA3MywgNzYsIDczLCA4MSwgODUsIDE5MywgODMsIDczLCA3NiwgNzIsIDc5LCA4NSwgNjksIDg0LCAKKyAgICA4NCwgNjksIDEyOCwgODMsIDczLCA3NiwgNzIsIDc5LCA4NSwgNjksIDg0LCA4NCwgMTk3LCA4MywgNzMsIDc2LCA2NSwgNTEsIAorICAgIDEyOCwgODMsIDczLCA3NSwgNzMsIDEyOCwgODMsIDczLCA3NSwgNTAsIDEyOCwgODMsIDczLCA3NSwgMTc4LCA4MywgNzMsIAorICAgIDcxLCA3OCwgODMsIDEyOCwgODMsIDczLCA3MSwgNzcsIDY1LCAxMjgsIDgzLCA3MywgNzEsIDc3LCAxOTMsIDgzLCA3MywgCisgICAgNzEsIDY5LCAyMDQsIDgzLCA3MywgNzEsIDUyLCAxMjgsIDgzLCA3MywgNzEsIDE4MCwgODMsIDczLCA3MSwgMTI4LCA4MywgCisgICAgNzMsIDY5LCA2OSwgMTI4LCA4MywgNzMsIDY4LCA2OSwgODcsIDY1LCA4OSwgMjExLCA4MywgNzMsIDY4LCA2OCwgNzIsIDY1LCAKKyAgICA3NywgMTI4LCA4MywgNzMsIDY4LCA2OCwgNzIsIDY1LCAyMDUsIDgzLCA3MywgNjcsIDc1LCA3OCwgNjksIDgzLCA4MywgCisgICAgMTI4LCA4MywgNzMsIDY3LCA3NSwgNzYsIDY5LCAxMjgsIDgzLCA3MywgNjYsIDE5NywgODMsIDczLCA2NSwgMTI4LCA4MywgCisgICAgMjAxLCA4MywgNzIsIDg5LCA4OCwgMTI4LCA4MywgNzIsIDg5LCA4NCwgMTI4LCA4MywgNzIsIDg5LCA4MiwgODgsIDEyOCwgCisgICAgODMsIDcyLCA4OSwgODIsIDEyOCwgODMsIDcyLCA4OSwgODAsIDEyOCwgODMsIDcyLCA4OSwgNjksIDEyOCwgODMsIDcyLCAKKyAgICA4OSwgNjUsIDEyOCwgODMsIDcyLCA4OSwgMTI4LCA4MywgNzIsIDg3LCA3OSwgODksIDEyOCwgODMsIDcyLCA4NywgNzksIAorICAgIDc5LCAxMjgsIDgzLCA3MiwgODcsIDc5LCAxMjgsIDgzLCA3MiwgODcsIDczLCA3MywgMTI4LCA4MywgNzIsIDg3LCA3MywgCisgICAgMTI4LCA4MywgNzIsIDg3LCA2OSwgMTI4LCA4MywgNzIsIDg3LCAxOTcsIDgzLCA3MiwgODcsIDY1LCA2NSwgMTI4LCA4MywgCisgICAgNzIsIDg3LCA2NSwgMTI4LCA4MywgNzIsIDg1LCA4OCwgMTI4LCA4MywgNzIsIDg1LCA4NSwgMTI4LCA4MywgNzIsIDg1LCAKKyAgICA4NCwgMTI4LCA4MywgNzIsIDg1LCA4MiwgODgsIDEyOCwgODMsIDcyLCA4NSwgODIsIDEyOCwgODMsIDcyLCA4NSwgODAsIAorICAgIDEyOCwgODMsIDcyLCA4NSwgNzksIDg4LCAxMjgsIDgzLCA3MiwgODUsIDc5LCA4MCwgMTI4LCA4MywgNzIsIDg1LCA3OSwgCisgICAgMTI4LCA4MywgNzIsIDg1LCA3NywgMTI4LCA4MywgNzIsIDg1LCA3NiwgMTI4LCA4MywgNzIsIDg1LCA3MCwgNzAsIDc2LCAKKyAgICAxOTcsIDgzLCA3MiwgODUsIDY5LCA4MSwgMTI4LCA4MywgNzIsIDg1LCA2OSwgNzgsIDgzLCA3MiwgODUsIDY5LCA4NCwgCisgICAgMTI4LCA4MywgNzIsIDg1LCA2NiwgODUsIDgyLCAxMjgsIDgzLCA3MiwgODUsIDUwLCAxMjgsIDgzLCA3MiwgODUsIDE3OCwgCisgICAgODMsIDcyLCA4NSwgMTI4LCA4MywgNzIsIDIxMywgODMsIDcyLCA4NCwgNjUsIDgwLCA3MywgNjcsIDEyOCwgODMsIDcyLCAKKyAgICA4NCwgNjUsIDEyOCwgODMsIDcyLCA4MiwgNzMsIDc4LCA2OSwgMTI4LCA4MywgNzIsIDgyLCA3MywgNzcsIDgwLCAxMjgsIAorICAgIDgzLCA3MiwgODIsIDczLCA3MywgMTI4LCA4MywgNzIsIDgyLCA3MywgMTI4LCA4MywgNzIsIDc5LCA4OSwgMTI4LCA4MywgCisgICAgNzIsIDc5LCA4OCwgMTI4LCA4MywgNzIsIDc5LCA4NywgNjksIDgyLCAxMjgsIDgzLCA3MiwgNzksIDg1LCA3NiwgNjgsIDY5LCAKKyAgICA4MiwgNjksIDE5NiwgODMsIDcyLCA3OSwgODQsIDEyOCwgODMsIDcyLCA3OSwgODIsIDg0LCA4MywgMTI4LCA4MywgNzIsIAorICAgIDc5LCA4MiwgODQsIDIxMSwgODMsIDcyLCA3OSwgODIsIDg0LCA3MiwgNjUsIDc4LCAxOTYsIDgzLCA3MiwgNzksIDgyLCA4NCwgCisgICAgNjksIDc4LCA2OSwgODIsIDEyOCwgODMsIDcyLCA3OSwgODIsIDg0LCA2NywgNjUsIDc1LCA2OSwgMTI4LCA4MywgNzIsIDc5LCAKKyAgICA4MiwgODQsIDQ1LCA4NCwgODcsIDczLCA3MSwgNDUsIDg5LCA4MiwgMTI4LCA4MywgNzIsIDc5LCA4MiwgODQsIDQ1LCA4NCwgCisgICAgODcsIDczLCA3MSwgNDUsIDg0LCA4OSwgMjEwLCA4MywgNzIsIDc5LCA4MiwgODQsIDQ1LCA4NCwgODcsIDczLCA3MSwgNDUsIAorICAgIDgzLCA3OSwgMjA0LCA4MywgNzIsIDc5LCA4MiwgODQsIDQ1LCA4NCwgODcsIDczLCA3MSwgNDUsIDc5LCA4MywgMjExLCA4MywgCisgICAgNzIsIDc5LCA4MiwgODQsIDQ1LCA4NCwgODcsIDczLCA3MSwgNDUsIDc4LCA2NSwgODUsIDE5NiwgODMsIDcyLCA3OSwgODIsIAorICAgIDg0LCA0NSwgODQsIDg3LCA3MywgNzEsIDQ1LCA3NywgNjUsIDY4LCAyMTAsIDgzLCA3MiwgNzksIDgyLCA4NCwgNDUsIDg0LCAKKyAgICA4NywgNzMsIDcxLCA0NSwgNzIsIDY1LCA3MSwgNjUsIDc2LCAyMDQsIDgzLCA3MiwgNzksIDgyLCA4NCwgNDUsIDg0LCA4NywgCisgICAgNzMsIDcxLCA0NSwgNjYsIDc0LCA2NSwgODIsIDc1LCA2NSwgMjA2LCA4MywgNzIsIDc5LCA4MiwgODQsIDQ1LCA4NCwgODcsIAorICAgIDczLCA3MSwgNDUsIDY1LCAyMTAsIDgzLCA3MiwgNzksIDgyLCA4NCwgMTI4LCA4MywgNzIsIDc5LCA4MiwgMjEyLCA4MywgCisgICAgNzIsIDc5LCA4MSwgMTI4LCA4MywgNzIsIDc5LCAyMDksIDgzLCA3MiwgNzksIDgwLCA4MCwgNzMsIDc4LCAxOTksIDgzLCAKKyAgICA3MiwgNzksIDgwLCAxMjgsIDgzLCA3MiwgNzksIDc5LCA4NCwgNzMsIDc4LCAxOTksIDgzLCA3MiwgNzksIDc5LCA4NCwgCisgICAgMTI4LCA4MywgNzIsIDc5LCA3OSwgNzMsIDEyOCwgODMsIDcyLCA3OSwgNzksIDEyOCwgODMsIDcyLCA3OSwgNzEsIDIwMSwgCisgICAgODMsIDcyLCA3OSwgMTk5LCA4MywgNzIsIDc5LCA2OSwgMTI4LCA4MywgNzIsIDc5LCAxOTcsIDgzLCA3MiwgNzksIDY1LCAKKyAgICAxMjgsIDgzLCA3MiwgNzksIDEyOCwgODMsIDcyLCA3MywgODksIDg5LCA2NSwgNjUsIDc2LCA2NSwgNjUsIDEyOCwgODMsIAorICAgIDcyLCA3MywgODQsIDY1LCAxMjgsIDgzLCA3MiwgNzMsIDg0LCAxOTMsIDgzLCA3MiwgNzMsIDgyLCAyMTIsIDgzLCA3MiwgCisgICAgNzMsIDgyLCA2NSwgNjksIDEyOCwgODMsIDcyLCA3MywgODIsIDEyOCwgODMsIDcyLCA3MywgMjEwLCA4MywgNzIsIDczLCAKKyAgICA4MSwgMTI4LCA4MywgNzIsIDczLCA4MCwgMTI4LCA4MywgNzIsIDczLCA3OCwgODQsIDIwNywgODMsIDcyLCA3MywgNzgsIAorICAgIDczLCA3MSwgMTI4LCA4MywgNzIsIDczLCA3OCwgNjgsIDE5MywgODMsIDcyLCA3MywgMjA2LCA4MywgNzIsIDczLCA3NywgCisgICAgNjUsIDEyOCwgODMsIDcyLCA3MywgNzcsIDE5MywgODMsIDcyLCA3MywgNzcsIDEyOCwgODMsIDcyLCA3MywgMjA1LCA4MywgCisgICAgNzIsIDczLCA3MywgNzgsIDEyOCwgODMsIDcyLCA3MywgNzMsIDEyOCwgODMsIDcyLCA3MywgNzAsIDIxMiwgODMsIDcyLCAKKyAgICA3MywgNjksIDc2LCA2OCwgMTI4LCA4MywgNzIsIDczLCA2OCwgMTI4LCA4MywgNzIsIDczLCAxOTYsIDgzLCA3MiwgNzIsIAorICAgIDY1LCAxMjgsIDgzLCA3MiwgNzIsIDE5MywgODMsIDcyLCA2OSwgODgsIDEyOCwgODMsIDcyLCA2OSwgODYsIDY1LCAxMjgsIAorICAgIDgzLCA3MiwgNjksIDg1LCA4OCwgMTI4LCA4MywgNzIsIDY5LCA4NSwgNzksIDgxLCAxMjgsIDgzLCA3MiwgNjksIDg1LCA2NSwgCisgICAgNjksIDgxLCA4NCwgODUsIDEyOCwgODMsIDcyLCA2OSwgODUsIDY1LCA2OSwgODEsIDEyOCwgODMsIDcyLCA2OSwgODUsIDY1LCAKKyAgICA2OSwgMTI4LCA4MywgNzIsIDY5LCA4NCwgMTI4LCA4MywgNzIsIDY5LCAyMTIsIDgzLCA3MiwgNjksIDgzLCA3MiwgNzYsIAorICAgIDY1LCA3NywgMTI4LCA4MywgNzIsIDY5LCA4MywgNzIsIDczLCA3MSwgMTI4LCA4MywgNzIsIDY5LCA4MywgNzIsIDczLCAKKyAgICAxOTksIDgzLCA3MiwgNjksIDgzLCA3MiwgNTAsIDEyOCwgODMsIDcyLCA2OSwgODMsIDcyLCAxMjgsIDgzLCA3MiwgNjksIAorICAgIDgxLCA2OSwgMjA0LCA4MywgNzIsIDY5LCA4MCwgMTI4LCA4MywgNzIsIDY5LCA3OCwgMTI4LCA4MywgNzIsIDY5LCA3NiwgCisgICAgNzYsIDEyOCwgODMsIDcyLCA2OSwgNzYsIDIwNCwgODMsIDcyLCA2OSwgNzYsIDcwLCAxMjgsIDgzLCA3MiwgNjksIDczLCAKKyAgICAxMjgsIDgzLCA3MiwgNjksIDcxLCA1NywgMTI4LCA4MywgNzIsIDY5LCA2OSwgODAsIDEyOCwgODMsIDcyLCA2OSwgNjksIAorICAgIDc4LCA4NSwgMTI4LCA4MywgNzIsIDY5LCA2OSwgNzgsIDEyOCwgODMsIDcyLCA2OSwgNjksIDIwNiwgODMsIDcyLCA2OSwgCisgICAgNjksIDEyOCwgODMsIDcyLCA2OSwgNDUsIDcxLCA3OSwgNjUsIDg0LCAxMjgsIDgzLCA3MiwgMTk3LCA4MywgNzIsIDY3LCAKKyAgICA3MiwgNzksIDc5LCA3MywgMTI4LCA4MywgNzIsIDY3LCA3MiwgNjUsIDEyOCwgODMsIDcyLCA2NSwgODksIDEyOCwgODMsIAorICAgIDcyLCA2NSwgODgsIDEyOCwgODMsIDcyLCA2NSwgODYsIDczLCA4OSwgNjUsIDc4LCA3MywgMTI4LCA4MywgNzIsIDY1LCA4NiwgCisgICAgNzMsIDY1LCAyMDYsIDgzLCA3MiwgNjUsIDg2LCA2OSwgMTk2LCA4MywgNzIsIDY1LCA4NSwgMTI4LCA4MywgNzIsIDY1LCAKKyAgICA4NCwgMTI4LCA4MywgNzIsIDY1LCA4MiwgODUsIDEyOCwgODMsIDcyLCA2NSwgODIsIDIxMywgODMsIDcyLCA2NSwgODIsIAorICAgIDgwLCAxMjgsIDgzLCA3MiwgNjUsIDgyLCAyMDgsIDgzLCA3MiwgNjUsIDgyLCA2NSwgMTI4LCA4MywgNzIsIDY1LCA4MiwgCisgICAgNTAsIDEyOCwgODMsIDcyLCA2NSwgODIsIDE3OCwgODMsIDcyLCA2NSwgODAsIDczLCA3OCwgNzEsIDEyOCwgODMsIDcyLCAKKyAgICA2NSwgODAsIDY5LCA4MywgMTI4LCA4MywgNzIsIDY1LCA4MCwgMTk3LCA4MywgNzIsIDY1LCA4MCwgMTI4LCA4MywgNzIsIAorICAgIDY1LCA3OCwgNzEsIDEyOCwgODMsIDcyLCA2NSwgNzgsIDEyOCwgODMsIDcyLCA2NSwgMjA2LCA4MywgNzIsIDY1LCA3NywgCisgICAgODIsIDc5LCA2NywgNzUsIDEyOCwgODMsIDcyLCA2NSwgNzYsIDgzLCA3MiwgNjksIDc2LCA2OSwgODQsIDEyOCwgODMsIDcyLCAKKyAgICA2NSwgNzUsIDg0LCA3MywgMTI4LCA4MywgNzIsIDY1LCA3NSwgMTI4LCA4MywgNzIsIDY1LCA3MywgMTI4LCA4MywgNzIsIAorICAgIDY1LCA3MCwgODQsIDEyOCwgODMsIDcyLCA2NSwgNzAsIDIxMiwgODMsIDcyLCA2NSwgNjgsIDc5LCA4NywgNjksIDE5NiwgCisgICAgODMsIDcyLCA2NSwgNjgsIDY5LCAxOTYsIDgzLCA3MiwgNjUsIDY4LCA2OSwgMTI4LCA4MywgNzIsIDY1LCA2OCwgNjgsIDY1LCAKKyAgICAxMjgsIDgzLCA3MiwgNjUsIDY4LCA2OCwgMTkzLCA4MywgNzIsIDY1LCA2OCwgMTI4LCA4MywgNzIsIDY1LCAxOTYsIDgzLCAKKyAgICA3MiwgNjUsIDY2LCA1NCwgMTI4LCA4MywgNzIsIDY1LCA2NSwgMTI4LCA4MywgNzIsIDY1LCA1NCwgMTI4LCA4MywgNzIsIAorICAgIDY1LCA1MSwgMTI4LCA4MywgNzIsIDY1LCAxNzksIDgzLCA3MSwgODIsIDE5MywgODMsIDcxLCA3OSwgMjEwLCA4MywgNzEsIAorICAgIDY3LCAxMjgsIDgzLCA3MSwgNjUsIDIxNSwgODMsIDcxLCA2NSwgMTk0LCA4MywgNzEsIDEyOCwgODMsIDY5LCA4OSwgNzUsIAorICAgIDEyOCwgODMsIDY5LCA4OCwgODQsIDg1LCA3NiwgMTkzLCA4MywgNjksIDg4LCA4NCwgNzMsIDc2LCA2OSwgMTI4LCA4MywgCisgICAgNjksIDg4LCA4NCwgNjUsIDc4LCAyMTEsIDgzLCA2OSwgODYsIDY5LCA4MiwgNjUsIDc4LCA2NywgNjksIDEyOCwgODMsIDY5LCAKKyAgICA4NiwgNjksIDc4LCA4NCwgODksIDEyOCwgODMsIDY5LCA4NiwgNjksIDc4LCA4NCwgMjE3LCA4MywgNjksIDg2LCA2OSwgNzgsIAorICAgIDg0LCA3MiwgMTI4LCA4MywgNjksIDg2LCA2OSwgNzgsIDg0LCA2OSwgNjksIDc4LCAxMjgsIDgzLCA2OSwgODYsIDY5LCA3OCwgCisgICAgODQsIDY5LCA2OSwgMjA2LCA4MywgNjksIDg2LCA2OSwgNzgsIDQ1LCA4NCwgNzIsIDczLCA4MiwgODQsIDg5LCAxMjgsIDgzLCAKKyAgICA2OSwgODYsIDY5LCAyMDYsIDgzLCA2OSwgODUsIDg4LCAxMjgsIDgzLCA2OSwgODUsIDc4LCA4OSwgNjUsIDc3LCAxMjgsIAorICAgIDgzLCA2OSwgODUsIDY1LCA2OSwgODEsIDEyOCwgODMsIDY5LCA4NCwgNzAsIDc5LCA3OCwgMTI4LCA4MywgNjksIDgzLCA4NCwgCisgICAgNjksIDgyLCA4NCwgNzMsIDg1LCAyMTEsIDgzLCA2OSwgODMsIDgxLCA4NSwgNzMsIDgxLCA4NSwgNjUsIDY4LCA4MiwgNjUsIAorICAgIDg0LCA2OSwgMTI4LCA4MywgNjksIDgzLCA2NSwgNzcsIDE5NywgODMsIDY5LCA4MiwgODYsIDczLCA2NywgMTk3LCA4MywgCisgICAgNjksIDgyLCA3MywgNzAsIDgzLCAxMjgsIDgzLCA2OSwgODIsIDczLCA3MCwgMjExLCA4MywgNjksIDgyLCA3MywgNzAsIAorICAgIDEyOCwgODMsIDY5LCA4MSwgODUsIDY5LCA3OCwgNjcsIDE5NywgODMsIDY5LCA4MCwgODQsIDY5LCA3NywgNjYsIDY5LCA4MiwgCisgICAgMTI4LCA4MywgNjksIDgwLCA2NSwgODIsIDY1LCA4NCwgNzksIDgyLCAxMjgsIDgzLCA2OSwgODAsIDY1LCA4MiwgNjUsIDg0LCAKKyAgICA3OSwgMjEwLCA4MywgNjksIDc4LCA4NCwgNzksIDEyOCwgODMsIDY5LCA3OCwgODQsIDczLCAxMjgsIDgzLCA2OSwgNzcsIAorICAgIDg1LCA3OCwgNjcsIDczLCAxOTMsIDgzLCA2OSwgNzcsIDc1LCA2NSwgODQsIDcyLCAxMjgsIDgzLCA2OSwgNzcsIDc1LCAKKyAgICAxMjgsIDgzLCA2OSwgNzcsIDczLCA4NiwgNzksIDg3LCA2OSwgMjA0LCA4MywgNjksIDc3LCA3MywgODMsIDc5LCA3MCwgCisgICAgMjEyLCA4MywgNjksIDc3LCA3MywgODMsIDY5LCA4OCwgODQsIDczLCA3NiwgNjksIDEyOCwgODMsIDY5LCA3NywgNzMsIDc3LCAKKyAgICA3MywgNzgsIDczLCA3NywgMTkzLCA4MywgNjksIDc3LCA3MywgNjgsIDczLCA4MiwgNjksIDY3LCAyMTIsIDgzLCA2OSwgNzcsIAorICAgIDczLCA2NywgNzksIDc2LCA3OSwgNzgsIDEyOCwgODMsIDY5LCA3NywgNzMsIDY3LCA3OSwgNzYsIDc5LCAyMDYsIDgzLCA2OSwgCisgICAgNzcsIDczLCA2NywgNzMsIDgyLCA2NywgODUsIDc2LCA2NSwgMjEwLCA4MywgNjksIDc3LCA3MywgNjcsIDczLCA4MiwgNjcsIAorICAgIDc2LCAxOTcsIDgzLCA2OSwgNzcsIDczLCA2NiwgODIsIDY5LCA4NiwgNzMsIDIxMSwgODMsIDY5LCA3NywgNzMsIDQ1LCA4NiwgCisgICAgNzksIDczLCA2NywgNjksIDE5NiwgODMsIDY5LCA3NiwgNzAsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCAKKyAgICA0NSwgNTcsIDU3LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDU3LCA1NiwgMTI4LCA4MywgNjksIAorICAgIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1NywgNTUsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCAKKyAgICA0NSwgNTcsIDU0LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDU3LCA1MywgMTI4LCA4MywgNjksIAorICAgIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1NywgNTIsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCAKKyAgICA0NSwgNTcsIDUxLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDU3LCA1MCwgMTI4LCA4MywgNjksIAorICAgIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1NywgNDksIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCAKKyAgICA0NSwgNTcsIDQ4LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDU3LCAxMjgsIDgzLCA2OSwgNzYsIAorICAgIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDU2LCA1NywgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCAKKyAgICA1NiwgNTYsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTYsIDU1LCAxMjgsIDgzLCA2OSwgNzYsIAorICAgIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDU2LCA1NCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCAKKyAgICA1NiwgNTMsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTYsIDUyLCAxMjgsIDgzLCA2OSwgNzYsIAorICAgIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDU2LCA1MSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCAKKyAgICA1NiwgNTAsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTYsIDQ5LCAxMjgsIDgzLCA2OSwgNzYsIAorICAgIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDU2LCA0OCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCAKKyAgICA1NiwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1NSwgNTcsIDEyOCwgODMsIDY5LCA3NiwgNjksIAorICAgIDY3LCA4NCwgNzksIDgyLCA0NSwgNTUsIDU2LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDU1LCAKKyAgICA1NSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1NSwgNTQsIDEyOCwgODMsIDY5LCA3NiwgNjksIAorICAgIDY3LCA4NCwgNzksIDgyLCA0NSwgNTUsIDUzLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDU1LCAKKyAgICA1MiwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1NSwgNTEsIDEyOCwgODMsIDY5LCA3NiwgNjksIAorICAgIDY3LCA4NCwgNzksIDgyLCA0NSwgNTUsIDUwLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDU1LCAKKyAgICA0OSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1NSwgNDgsIDEyOCwgODMsIDY5LCA3NiwgNjksIAorICAgIDY3LCA4NCwgNzksIDgyLCA0NSwgNTUsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTQsIDU3LCAKKyAgICAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDU0LCA1NiwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIAorICAgIDg0LCA3OSwgODIsIDQ1LCA1NCwgNTUsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTQsIDU0LCAKKyAgICAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDU0LCA1MywgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIAorICAgIDg0LCA3OSwgODIsIDQ1LCA1NCwgNTIsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTQsIDUxLCAKKyAgICAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDU0LCA1MCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIAorICAgIDg0LCA3OSwgODIsIDQ1LCA1NCwgNDksIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTQsIDQ4LCAKKyAgICAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDU0LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIAorICAgIDc5LCA4MiwgNDUsIDUzLCA1NywgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MywgNTYsIDEyOCwgCisgICAgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTMsIDU1LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIAorICAgIDc5LCA4MiwgNDUsIDUzLCA1NCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MywgNTMsIDEyOCwgCisgICAgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTMsIDUyLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIAorICAgIDc5LCA4MiwgNDUsIDUzLCA1MSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MywgNTAsIDEyOCwgCisgICAgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTMsIDQ5LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIAorICAgIDc5LCA4MiwgNDUsIDUzLCA0OCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MywgMTI4LCA4MywgCisgICAgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MiwgNTcsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIAorICAgIDgyLCA0NSwgNTIsIDU2LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUyLCA1NSwgMTI4LCA4MywgCisgICAgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MiwgNTQsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIAorICAgIDgyLCA0NSwgNTIsIDUzLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUyLCA1MiwgMTI4LCA4MywgCisgICAgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MiwgNTEsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIAorICAgIDgyLCA0NSwgNTIsIDUwLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUyLCA0OSwgMTI4LCA4MywgCisgICAgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MiwgNDgsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIAorICAgIDgyLCA0NSwgNTIsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTEsIDU3LCAxMjgsIDgzLCA2OSwgCisgICAgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUxLCA1NiwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIAorICAgIDQ1LCA1MSwgNTUsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTEsIDU0LCAxMjgsIDgzLCA2OSwgCisgICAgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUxLCA1MywgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIAorICAgIDQ1LCA1MSwgNTIsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTEsIDUxLCAxMjgsIDgzLCA2OSwgCisgICAgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUxLCA1MCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIAorICAgIDQ1LCA1MSwgNDksIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTEsIDQ4LCAxMjgsIDgzLCA2OSwgCisgICAgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUxLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIAorICAgIDUwLCA1NywgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgNTYsIDEyOCwgODMsIDY5LCA3NiwgCisgICAgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIDU1LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIAorICAgIDUwLCA1NCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgNTMsIDU0LCAxMjgsIDgzLCA2OSwgCisgICAgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCA1MywgNTMsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIAorICAgIDgyLCA0NSwgNTAsIDUzLCA1MiwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgNTMsIDUxLCAKKyAgICAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCA1MywgNTAsIDEyOCwgODMsIDY5LCA3NiwgNjksIAorICAgIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIDUzLCA0OSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCAKKyAgICA1MCwgNTMsIDQ4LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCA1MywgMTI4LCA4MywgNjksIAorICAgIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgNTIsIDU3LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCAKKyAgICA4MiwgNDUsIDUwLCA1MiwgNTYsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIDUyLCA1NSwgCisgICAgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgNTIsIDU0LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCAKKyAgICA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCA1MiwgNTMsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgCisgICAgNTAsIDUyLCA1MiwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgNTIsIDUxLCAxMjgsIDgzLCAKKyAgICA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCA1MiwgNTAsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgCisgICAgNzksIDgyLCA0NSwgNTAsIDUyLCA0OSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgNTIsIAorICAgIDQ4LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCA1MiwgMTI4LCA4MywgNjksIDc2LCA2OSwgCisgICAgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgNTEsIDU3LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIAorICAgIDUwLCA1MSwgNTYsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIDUxLCA1NSwgMTI4LCA4MywgCisgICAgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgNTEsIDU0LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIAorICAgIDc5LCA4MiwgNDUsIDUwLCA1MSwgNTMsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIDUxLCAKKyAgICA1MiwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgNTEsIDUxLCAxMjgsIDgzLCA2OSwgNzYsIAorICAgIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCA1MSwgNTAsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCAKKyAgICA0NSwgNTAsIDUxLCA0OSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgNTEsIDQ4LCAxMjgsIAorICAgIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCA1MSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCAKKyAgICA3OSwgODIsIDQ1LCA1MCwgNTAsIDU3LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCA1MCwgCisgICAgNTYsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIDUwLCA1NSwgMTI4LCA4MywgNjksIDc2LCAKKyAgICA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgNTAsIDU0LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgCisgICAgNDUsIDUwLCA1MCwgNTMsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIDUwLCA1MiwgMTI4LCAKKyAgICA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgNTAsIDUxLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgCisgICAgODQsIDc5LCA4MiwgNDUsIDUwLCA1MCwgNTAsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIAorICAgIDUwLCA0OSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgNTAsIDQ4LCAxMjgsIDgzLCA2OSwgCisgICAgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCA1MCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIAorICAgIDQ1LCA1MCwgNDksIDU3LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCA0OSwgNTYsIDEyOCwgCisgICAgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIDQ5LCA1NSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIAorICAgIDg0LCA3OSwgODIsIDQ1LCA1MCwgNDksIDU0LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCAKKyAgICA0OSwgNTMsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIDQ5LCA1MiwgMTI4LCA4MywgNjksIAorICAgIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgNDksIDUxLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCAKKyAgICA4MiwgNDUsIDUwLCA0OSwgNTAsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIDQ5LCA0OSwgCisgICAgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgNDksIDQ4LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCAKKyAgICA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCA0OSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgCisgICAgNDgsIDU3LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCA0OCwgNTYsIDEyOCwgODMsIDY5LCAKKyAgICA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIDQ4LCA1NSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgCisgICAgODIsIDQ1LCA1MCwgNDgsIDU0LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCA0OCwgNTMsIAorICAgIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIDQ4LCA1MiwgMTI4LCA4MywgNjksIDc2LCA2OSwgCisgICAgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgNDgsIDUxLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIAorICAgIDUwLCA0OCwgNTAsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIDQ4LCA0OSwgMTI4LCA4MywgCisgICAgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgNDgsIDQ4LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIAorICAgIDc5LCA4MiwgNDUsIDUwLCA0OCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgMTI4LCA4MywgCisgICAgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTcsIDU3LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIAorICAgIDc5LCA4MiwgNDUsIDQ5LCA1NywgNTYsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDU3LCAKKyAgICA1NSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTcsIDU0LCAxMjgsIDgzLCA2OSwgNzYsIAorICAgIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1NywgNTMsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCAKKyAgICA0NSwgNDksIDU3LCA1MiwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTcsIDUxLCAxMjgsIAorICAgIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1NywgNTAsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCAKKyAgICA4NCwgNzksIDgyLCA0NSwgNDksIDU3LCA0OSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgCisgICAgNTcsIDQ4LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1NywgMTI4LCA4MywgNjksIDc2LCAKKyAgICA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTYsIDU3LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgCisgICAgNDUsIDQ5LCA1NiwgNTYsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDU2LCA1NSwgMTI4LCAKKyAgICA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTYsIDU0LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgCisgICAgODQsIDc5LCA4MiwgNDUsIDQ5LCA1NiwgNTMsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIAorICAgIDU2LCA1MiwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTYsIDUxLCAxMjgsIDgzLCA2OSwgCisgICAgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1NiwgNTAsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIAorICAgIDgyLCA0NSwgNDksIDU2LCA0OSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTYsIDQ4LCAKKyAgICAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1NiwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIAorICAgIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTUsIDU3LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCAKKyAgICA1NSwgNTYsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDU1LCA1NSwgMTI4LCA4MywgNjksIAorICAgIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTUsIDU0LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCAKKyAgICA4MiwgNDUsIDQ5LCA1NSwgNTMsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDU1LCA1MiwgCisgICAgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTUsIDUxLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCAKKyAgICA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1NSwgNTAsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgCisgICAgNDksIDU1LCA0OSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTUsIDQ4LCAxMjgsIDgzLCAKKyAgICA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1NSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgCisgICAgODIsIDQ1LCA0OSwgNTQsIDU3LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1NCwgNTYsIAorICAgIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDU0LCA1NSwgMTI4LCA4MywgNjksIDc2LCA2OSwgCisgICAgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTQsIDU0LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIAorICAgIDQ5LCA1NCwgNTMsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDU0LCA1MiwgMTI4LCA4MywgCisgICAgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTQsIDUxLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIAorICAgIDc5LCA4MiwgNDUsIDQ5LCA1NCwgNTAsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDU0LCAKKyAgICA0OSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTQsIDQ4LCAxMjgsIDgzLCA2OSwgNzYsIAorICAgIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1NCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCAKKyAgICA0OSwgNTMsIDU3LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1MywgNTYsIDEyOCwgODMsIAorICAgIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDUzLCA1NSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCAKKyAgICA3OSwgODIsIDQ1LCA0OSwgNTMsIDU0LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1MywgCisgICAgNTMsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDUzLCA1MiwgMTI4LCA4MywgNjksIDc2LCAKKyAgICA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTMsIDUxLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgCisgICAgNDUsIDQ5LCA1MywgNTAsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDUzLCA0OSwgMTI4LCAKKyAgICA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTMsIDQ4LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgCisgICAgODQsIDc5LCA4MiwgNDUsIDQ5LCA1MywgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTIsIAorICAgIDU3LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1MiwgNTYsIDEyOCwgODMsIDY5LCA3NiwgCisgICAgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDUyLCA1NSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIAorICAgIDQ1LCA0OSwgNTIsIDU0LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1MiwgNTMsIDEyOCwgCisgICAgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDUyLCA1MiwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIAorICAgIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTIsIDUxLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCAKKyAgICA1MiwgNTAsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDUyLCA0OSwgMTI4LCA4MywgNjksIAorICAgIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTIsIDQ4LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCAKKyAgICA4MiwgNDUsIDQ5LCA1MiwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTEsIDU3LCAxMjgsIAorICAgIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1MSwgNTYsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCAKKyAgICA4NCwgNzksIDgyLCA0NSwgNDksIDUxLCA1NSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgCisgICAgNTEsIDU0LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1MSwgNTMsIDEyOCwgODMsIDY5LCAKKyAgICA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDUxLCA1MiwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgCisgICAgODIsIDQ1LCA0OSwgNTEsIDUxLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1MSwgNTAsIAorICAgIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDUxLCA0OSwgMTI4LCA4MywgNjksIDc2LCA2OSwgCisgICAgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTEsIDQ4LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIAorICAgIDQ5LCA1MSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTAsIDU3LCAxMjgsIDgzLCA2OSwgCisgICAgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1MCwgNTYsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIAorICAgIDgyLCA0NSwgNDksIDUwLCA1NSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTAsIDU0LCAKKyAgICAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1MCwgNTMsIDEyOCwgODMsIDY5LCA3NiwgNjksIAorICAgIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDUwLCA1MiwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCAKKyAgICA0OSwgNTAsIDUxLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1MCwgNTAsIDEyOCwgODMsIAorICAgIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDUwLCA0OSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCAKKyAgICA3OSwgODIsIDQ1LCA0OSwgNTAsIDQ4LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1MCwgCisgICAgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNDksIDU3LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCAKKyAgICA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA0OSwgNTYsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgCisgICAgNDksIDQ5LCA1NSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNDksIDU0LCAxMjgsIDgzLCAKKyAgICA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA0OSwgNTMsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgCisgICAgNzksIDgyLCA0NSwgNDksIDQ5LCA1MiwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNDksIAorICAgIDUxLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA0OSwgNTAsIDEyOCwgODMsIDY5LCA3NiwgCisgICAgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDQ5LCA0OSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIAorICAgIDQ1LCA0OSwgNDksIDQ4LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA0OSwgMTI4LCA4MywgCisgICAgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNDgsIDU3LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIAorICAgIDc5LCA4MiwgNDUsIDQ5LCA0OCwgNTYsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDQ4LCAKKyAgICA1NSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNDgsIDU0LCAxMjgsIDgzLCA2OSwgNzYsIAorICAgIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA0OCwgNTMsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCAKKyAgICA0NSwgNDksIDQ4LCA1MiwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNDgsIDUxLCAxMjgsIAorICAgIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA0OCwgNTAsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCAKKyAgICA4NCwgNzksIDgyLCA0NSwgNDksIDQ4LCA0OSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgCisgICAgNDgsIDQ4LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA0OCwgMTI4LCA4MywgNjksIDc2LCAKKyAgICA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDEyOCwgODMsIAorICAgIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDIxMCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNjksIDE5NiwgODMsIDY5LCA3MywgCisgICAgODMsIDc3LCA2NSwgMTI4LCA4MywgNjksIDczLCA4MywgNzcsIDE5MywgODMsIDY5LCA3MiwgMTI4LCA4MywgNjksIDcxLCAKKyAgICA3OSwgNzYsIDEyOCwgODMsIDY5LCA3MSwgNzgsIDc5LCAxMjgsIDgzLCA2OSwgNzEsIDc3LCA2OSwgNzgsIDg0LCAxMjgsIAorICAgIDgzLCA2OSwgNjksIDg2LCAxMjgsIDgzLCA2OSwgNjksIDc4LCA4NSwgMTI4LCA4MywgNjksIDY5LCA3OCwgMTI4LCA4MywgCisgICAgNjksIDY5LCAyMDYsIDgzLCA2OSwgNjksIDY4LCA3NiwgNzMsIDc4LCA3MSwgMTI4LCA4MywgNjksIDY5LCA0NSwgNzgsIDc5LCAKKyAgICA0NSwgNjksIDg2LCA3MywgMjA0LCA4MywgNjksIDY3LCA4NCwgNzksIDgyLCAxMjgsIDgzLCA2OSwgNjcsIDg0LCA3MywgNzksIAorICAgIDc4LCAxMjgsIDgzLCA2OSwgNjcsIDg0LCA3MywgNzksIDIwNiwgODMsIDY5LCA2NywgODIsIDY5LCA4NCwgMTI4LCA4MywgCisgICAgNjksIDY3LCA3OSwgNzgsIDY4LCAxMjgsIDgzLCA2OSwgNjcsIDY1LCA3OCwgODQsIDEyOCwgODMsIDY5LCA2NiwgNjUsIDg0LCAKKyAgICA2NiwgNjksIDczLCAyMTIsIDgzLCA2OSwgNjUsIDg0LCAxMjgsIDgzLCA2OSwgNjUsIDc2LCAxMjgsIDgzLCA2OSwgNjUsIAorICAgIDcxLCA4NSwgNzYsIDIwNCwgODMsIDY4LCA3OSwgNzgsIDE5OSwgODMsIDY4LCAxMjgsIDgzLCA2NywgODcsIDY1LCAxMjgsIAorICAgIDgzLCA2NywgODIsIDg1LCA4MCwgNzYsIDY5LCAxMjgsIDgzLCA2NywgODIsIDc5LCA3NiwgNzYsIDEyOCwgODMsIDY3LCA4MiwgCisgICAgNzMsIDgwLCA4NCwgMTI4LCA4MywgNjcsIDgyLCA2OSwgNjksIDc4LCAxMjgsIDgzLCA2NywgODIsIDY5LCA2OSwgMjA2LCAKKyAgICA4MywgNjcsIDgyLCA2OSwgNjUsIDc3LCA3MywgNzgsIDE5OSwgODMsIDY3LCA3OSwgODIsIDgwLCA3MywgODUsIDgzLCAxMjgsIAorICAgIDgzLCA2NywgNzksIDgyLCA2OSwgMTI4LCA4MywgNjcsIDczLCA4MywgODMsIDc5LCA4MiwgODMsIDEyOCwgODMsIDY3LCA3MywgCisgICAgMTI4LCA4MywgNjcsIDcyLCA4NywgNjUsIDEyOCwgODMsIDY3LCA3MiwgODcsIDE5MywgODMsIDY3LCA3MiwgODIsIDc5LCAKKyAgICA2OSwgNjgsIDY5LCA4MiwgMTI4LCA4MywgNjcsIDcyLCA3OSwgNzksIDc2LCAxMjgsIDgzLCA2NywgNzIsIDc5LCA3OSwgCisgICAgMjA0LCA4MywgNjcsIDcyLCA3OSwgNzYsIDY1LCA4MiwgMTI4LCA4MywgNjcsIDcyLCA2OSwgNzcsIDE5MywgODMsIDY3LCAKKyAgICA2OSwgODAsIDg0LCA2OSwgMjEwLCA4MywgNjcsIDY1LCA3OCwgNjgsIDczLCA2NywgODUsIDgzLCAxMjgsIDgzLCA2NywgNjUsIAorICAgIDc4LCA2OCwgNzMsIDY3LCA4NSwgMjExLCA4MywgNjcsIDY1LCAyMDYsIDgzLCA2NywgNjUsIDc2LCA2OSwgODMsIDEyOCwgCisgICAgODMsIDY2LCA4NSwgMTk0LCA4MywgNjYsIDgyLCA4NSwgMjA0LCA4MywgNjUsIDg5LCA3MywgODMsIDIwMSwgODMsIDY1LCAKKyAgICA4OSwgNjUsIDc4LCA3OCwgNjUsIDEyOCwgODMsIDY1LCA4OSwgMTI4LCA4MywgNjUsIDg4LCA3OSwgODAsIDcyLCA3OSwgNzgsIAorICAgIDY5LCAxMjgsIDgzLCA2NSwgODgsIDczLCA3NywgNjUsIDg0LCA2NSwgMTI4LCA4MywgNjUsIDg3LCA2NSwgNzgsIDEyOCwgCisgICAgODMsIDY1LCA4NywgMTI4LCA4MywgNjUsIDg2LCA3OSwgODUsIDgyLCA3MywgNzgsIDE5OSwgODMsIDY1LCA4NSwgODIsIDY1LCAKKyAgICA4MywgNzIsIDg0LCA4MiwgMTkzLCA4MywgNjUsIDg1LCA3MywgNzYsIDEyOCwgODMsIDY1LCA4NCwgODUsIDgyLCA3OCwgCisgICAgMTI4LCA4MywgNjUsIDg0LCA3NSwgNjUsIDY1LCA3OCwgNzUsIDg1LCA4NSwgMTI4LCA4MywgNjUsIDg0LCA3NSwgNjUsIDY1LCAKKyAgICA3OCwgMTI4LCA4MywgNjUsIDg0LCA2OSwgNzYsIDc2LCA3MywgODQsIDY5LCAxMjgsIDgzLCA2NSwgODQsIDY5LCA3NiwgNzYsIAorICAgIDczLCA4NCwgMTk3LCA4MywgNjUsIDg0LCA2NywgNzIsIDY5LCA3NiwgMTI4LCA4MywgNjUsIDg0LCA2NSwgNzgsIDcxLCA2NSwgCisgICAgMTI4LCA4MywgNjUsIDgzLCA3MiwgMTI4LCA4MywgNjUsIDgzLCA2NSwgNzUsIDEyOCwgODMsIDY1LCA4MiwgNzMsIDEyOCwgCisgICAgODMsIDY1LCA4MiwgMTkzLCA4MywgNjUsIDgyLCAxMjgsIDgzLCA2NSwgODEsIDEyOCwgODMsIDY1LCA4MCwgNjUsIDEyOCwgCisgICAgODMsIDY1LCA3OCwgODksIDc5LCA3OSwgNzEsIDE5MywgODMsIDY1LCA3OCwgODksIDY1LCA3NSwgMTkzLCA4MywgNjUsIDc4LCAKKyAgICA4NCwgNzMsIDczLCA3NywgODUsIDEyOCwgODMsIDY1LCA3OCwgNzgsIDg5LCA2NSwgMTI4LCA4MywgNjUsIDc4LCA3MSwgNjUsIAorICAgIDUwLCAxMjgsIDgzLCA2NSwgNzgsIDY4LCA3MiwgMjAxLCA4MywgNjUsIDc4LCA2OCwgNjUsIDc2LCAxMjgsIDgzLCA2NSwgCisgICAgNzgsIDY1LCA3MiwgMTI4LCA4MywgNjUsIDc4LCAxMjgsIDgzLCA2NSwgNzcsIDg5LCA3OSwgMjAzLCA4MywgNjUsIDc3LCAKKyAgICA4NiwgNjUsIDg0LCAxMjgsIDgzLCA2NSwgNzcsIDgwLCA3MywgMTI4LCA4MywgNjUsIDc3LCA4MCwgNzIsIDY1LCA3OSwgCisgICAgMTI4LCA4MywgNjUsIDc3LCA3NSwgNjUsIDEyOCwgODMsIDY1LCA3NywgNjksIDc1LCA3MiwgMTI4LCA4MywgNjUsIDc3LCAKKyAgICA2OSwgNzUsIDIwMCwgODMsIDY1LCA3NywgNjYsIDY1LCAxMjgsIDgzLCA2NSwgNzcsIDY1LCA4MiwgNzMsIDg0LCA2NSwgCisgICAgMjA2LCA4MywgNjUsIDc3LCAxMjgsIDgzLCA2NSwgNzYsIDg0LCA3MywgODIsIDY5LCAxMjgsIDgzLCA2NSwgNzYsIDg0LCAKKyAgICA3MywgNzYsIDc2LCA3OSwgMTI4LCA4MywgNjUsIDc2LCA4NCwgNDUsIDUwLCAxMjgsIDgzLCA2NSwgNzYsIDg0LCAxMjgsIAorICAgIDgzLCA2NSwgNzYsIDIxMiwgODMsIDY1LCA3NiwgNzYsIDY1LCA3NiwgNzYsIDY1LCA3MiwgNzksIDIxMywgODMsIDY1LCA3NiwgCisgICAgNzYsIDE5MywgODMsIDY1LCA3NiwgNjUsIDIwNSwgODMsIDY1LCA3NiwgNjUsIDEyOCwgODMsIDY1LCA3NiwgNDUsIDY1LCAKKyAgICA3NywgNzcsIDc5LCA3OCwgNzMsIDY1LCA2NywgMTI4LCA4MywgNjUsIDc2LCAxMjgsIDgzLCA2NSwgNzUsIDc5LCA4NCwgCisgICAgMTI4LCA4MywgNjUsIDc1LCA2OSwgODUsIDY1LCA2OSwgMTI4LCA4MywgNjUsIDc1LCAxOTcsIDgzLCA2NSwgNzQsIDY4LCAKKyAgICA2NSwgNzIsIDEyOCwgODMsIDY1LCA3MywgNzYsIDY2LCA3OSwgNjUsIDg0LCAxMjgsIDgzLCA2NSwgNzMsIDc2LCAxMjgsIAorICAgIDgzLCA2NSwgNzMsIDc1LCA4NSwgODIsIDg1LCAxMjgsIDgzLCA2NSwgNzIsIDEyOCwgODMsIDY1LCA3MSwgNzMsIDg0LCA4NCwgCisgICAgNjUsIDgyLCA3MywgODUsIDgzLCAxMjgsIDgzLCA2NSwgNzEsIDY1LCAxMjgsIDgzLCA2NSwgNzEsIDEyOCwgODMsIDY1LCAKKyAgICAxOTksIDgzLCA2NSwgNzAsIDcyLCA2NSwgMTI4LCA4MywgNjUsIDcwLCA2OSwgODQsIDIxNywgODMsIDY1LCA2OCwgNzIsIAorICAgIDY5LCAxMjgsIDgzLCA2NSwgNjgsIDY5LCAxMjgsIDgzLCA2NSwgNjgsIDEyOCwgODMsIDY1LCAxOTYsIDgzLCA2NSwgNjcsIAorICAgIDgyLCA3MywgNzAsIDczLCA2NywgNzMsIDY1LCAyMDQsIDgzLCA2NSwgNjUsIDczLCAxMjgsIDgzLCA2NSwgNjUsIDY4LCA3MiwgCisgICAgODUsIDEyOCwgODMsIDY1LCA0NSwgNzMsIDEyOCwgODMsIDY1LCA0NSwgNTAsIDEyOCwgODMsIDQ4LCA1MiwgNTQsIDEyOCwgCisgICAgODMsIDQ4LCA1MiwgNTMsIDEyOCwgODMsIDQ4LCA1MiwgNTIsIDEyOCwgODMsIDQ4LCA1MiwgNTEsIDEyOCwgODMsIDQ4LCAKKyAgICA1MiwgNTAsIDEyOCwgODMsIDQ4LCA1MiwgNDksIDEyOCwgODMsIDQ4LCA1MiwgNDgsIDEyOCwgODMsIDQ4LCA1MSwgNTcsIAorICAgIDEyOCwgODMsIDQ4LCA1MSwgNTYsIDEyOCwgODMsIDQ4LCA1MSwgNTUsIDEyOCwgODMsIDQ4LCA1MSwgNTQsIDEyOCwgODMsIAorICAgIDQ4LCA1MSwgNTMsIDY1LCAxMjgsIDgzLCA0OCwgNTEsIDUzLCAxMjgsIDgzLCA0OCwgNTEsIDUyLCAxMjgsIDgzLCA0OCwgCisgICAgNTEsIDUxLCAxMjgsIDgzLCA0OCwgNTEsIDUwLCAxMjgsIDgzLCA0OCwgNTEsIDQ5LCAxMjgsIDgzLCA0OCwgNTEsIDQ4LCAKKyAgICAxMjgsIDgzLCA0OCwgNTAsIDU3LCAxMjgsIDgzLCA0OCwgNTAsIDU2LCAxMjgsIDgzLCA0OCwgNTAsIDU1LCAxMjgsIDgzLCAKKyAgICA0OCwgNTAsIDU0LCA2NiwgMTI4LCA4MywgNDgsIDUwLCA1NCwgNjUsIDEyOCwgODMsIDQ4LCA1MCwgNTQsIDEyOCwgODMsIAorICAgIDQ4LCA1MCwgNTMsIDEyOCwgODMsIDQ4LCA1MCwgNTIsIDEyOCwgODMsIDQ4LCA1MCwgNTEsIDEyOCwgODMsIDQ4LCA1MCwgCisgICAgNTAsIDEyOCwgODMsIDQ4LCA1MCwgNDksIDEyOCwgODMsIDQ4LCA1MCwgNDgsIDEyOCwgODMsIDQ4LCA0OSwgNTcsIDEyOCwgCisgICAgODMsIDQ4LCA0OSwgNTYsIDEyOCwgODMsIDQ4LCA0OSwgNTUsIDY1LCAxMjgsIDgzLCA0OCwgNDksIDU1LCAxMjgsIDgzLCAKKyAgICA0OCwgNDksIDU0LCAxMjgsIDgzLCA0OCwgNDksIDUzLCAxMjgsIDgzLCA0OCwgNDksIDUyLCA2NiwgMTI4LCA4MywgNDgsIAorICAgIDQ5LCA1MiwgNjUsIDEyOCwgODMsIDQ4LCA0OSwgNTIsIDEyOCwgODMsIDQ4LCA0OSwgNTEsIDEyOCwgODMsIDQ4LCA0OSwgCisgICAgNTAsIDEyOCwgODMsIDQ4LCA0OSwgNDksIDEyOCwgODMsIDQ4LCA0OSwgNDgsIDEyOCwgODMsIDQ4LCA0OCwgNTcsIDEyOCwgCisgICAgODMsIDQ4LCA0OCwgNTYsIDEyOCwgODMsIDQ4LCA0OCwgNTUsIDEyOCwgODMsIDQ4LCA0OCwgNTQsIDY1LCAxMjgsIDgzLCAKKyAgICA0OCwgNDgsIDU0LCAxMjgsIDgzLCA0OCwgNDgsIDUzLCAxMjgsIDgzLCA0OCwgNDgsIDUyLCAxMjgsIDgzLCA0OCwgNDgsIAorICAgIDUxLCAxMjgsIDgzLCA0OCwgNDgsIDUwLCA2NSwgMTI4LCA4MywgNDgsIDQ4LCA1MCwgMTI4LCA4MywgNDgsIDQ4LCA0OSwgCisgICAgMTI4LCA4MywgNDUsIDg3LCAxMjgsIDgzLCA0NSwgODMsIDcyLCA2NSwgODAsIDY5LCAxOTYsIDgyLCA4OSwgODksIDEyOCwgCisgICAgODIsIDg5LCA4OCwgMTI4LCA4MiwgODksIDg0LCAxMjgsIDgyLCA4OSwgODIsIDg4LCAxMjgsIDgyLCA4OSwgODIsIDEyOCwgCisgICAgODIsIDg5LCA4MCwgMTI4LCA4MiwgODcsIDc5LCA3OSwgMTI4LCA4MiwgODcsIDc5LCAxMjgsIDgyLCA4NywgNzMsIDczLCAKKyAgICAxMjgsIDgyLCA4NywgNzMsIDEyOCwgODIsIDg3LCA2OSwgNjksIDEyOCwgODIsIDg3LCA2OSwgMTI4LCA4MiwgODcsIDY1LCAKKyAgICA3MiwgNjUsIDEyOCwgODIsIDg3LCA2NSwgNjUsIDEyOCwgODIsIDg3LCA2NSwgMTI4LCA4MiwgODUsIDg4LCAxMjgsIDgyLCAKKyAgICA4NSwgODUsIDY2LCA4NSwgODIsIDg1LCAxMjgsIDgyLCA4NSwgODUsIDEyOCwgODIsIDg1LCA4NCwgMTI4LCA4MiwgODUsIAorICAgIDgzLCA3MywgMTI4LCA4MiwgODUsIDgyLCA4OCwgMTI4LCA4MiwgODUsIDgyLCAxMjgsIDgyLCA4NSwgODAsIDczLCA3MywgCisgICAgMTI4LCA4MiwgODUsIDgwLCA2OSwgMTk3LCA4MiwgODUsIDgwLCAxMjgsIDgyLCA4NSwgNzksIDg4LCAxMjgsIDgyLCA4NSwgCisgICAgNzksIDgwLCAxMjgsIDgyLCA4NSwgNzksIDEyOCwgODIsIDg1LCA3OCwgNzksIDg1LCA4NCwgMTI4LCA4MiwgODUsIDc4LCAKKyAgICA3OCwgNzMsIDc4LCAxOTksIDgyLCA4NSwgNzgsIDc4LCA2OSwgODIsIDEyOCwgODIsIDg1LCA3OCwgMTI4LCA4MiwgODUsIAorICAgIDc3LCAyMDEsIDgyLCA4NSwgNzcsIDY1LCAyMDEsIDgyLCA4NSwgNzcsIDEyOCwgODIsIDg1LCAyMDUsIDgyLCA4NSwgNzYsIAorICAgIDY5LCA4MiwgMTI4LCA4MiwgODUsIDc2LCA2OSwgNDUsIDY4LCA2OSwgNzYsIDY1LCA4OSwgNjksIDY4LCAxMjgsIDgyLCA4NSwgCisgICAgNzYsIDY5LCAxMjgsIDgyLCA4NSwgNzUsIDc1LCA2NSwgNzUsIDcyLCA2NSwgMTI4LCA4MiwgODUsIDczLCA4MywgMTI4LCAKKyAgICA4MiwgODUsIDcxLCA2NiwgMjE3LCA4MiwgODUsIDY2LCA3NiwgMTk3LCA4MiwgODUsIDE5NCwgODIsIDg1LCA2NSwgMTI4LCAKKyAgICA4MiwgODQsIDcyLCA2NSwgNzgsIDE5OSwgODIsIDg0LCA2NSwgNzEsIDgzLCAxMjgsIDgyLCA4NCwgNjUsIDcxLCAyMTEsIAorICAgIDgyLCA4MiwgODksIDg4LCAxMjgsIDgyLCA4MiwgODksIDg0LCAxMjgsIDgyLCA4MiwgODksIDgyLCA4OCwgMTI4LCA4MiwgCisgICAgODIsIDg5LCA4MiwgMTI4LCA4MiwgODIsIDg5LCA4MCwgMTI4LCA4MiwgODIsIDg1LCA4OCwgMTI4LCA4MiwgODIsIDg1LCAKKyAgICA4NSwgMTI4LCA4MiwgODIsIDg1LCA4NCwgMTI4LCA4MiwgODIsIDg1LCA4MiwgODgsIDEyOCwgODIsIDgyLCA4NSwgODIsIAorICAgIDEyOCwgODIsIDgyLCA4NSwgODAsIDEyOCwgODIsIDgyLCA4NSwgNzksIDg4LCAxMjgsIDgyLCA4MiwgODUsIDc5LCAxMjgsIAorICAgIDgyLCA4MiwgODUsIDEyOCwgODIsIDgyLCA3OSwgODgsIDEyOCwgODIsIDgyLCA3OSwgODQsIDEyOCwgODIsIDgyLCA3OSwgCisgICAgODAsIDEyOCwgODIsIDgyLCA3OSwgNzksIDEyOCwgODIsIDgyLCA3OSwgMTI4LCA4MiwgODIsIDczLCA3MywgMTI4LCA4MiwgCisgICAgODIsIDczLCAxMjgsIDgyLCA4MiwgNjksIDg4LCAxMjgsIDgyLCA4MiwgNjksIDg0LCAxMjgsIDgyLCA4MiwgNjksIDgwLCAKKyAgICAxMjgsIDgyLCA4MiwgNjksIDcyLCAxMjgsIDgyLCA4MiwgNjksIDIwMCwgODIsIDgyLCA2OSwgNjksIDEyOCwgODIsIDgyLCAKKyAgICA2OSwgMTI4LCA4MiwgODIsIDY1LCA4OCwgMTI4LCA4MiwgODIsIDY1LCA4NSwgMTI4LCA4MiwgODIsIDY1LCA3MywgMTI4LCAKKyAgICA4MiwgODIsIDY1LCA2NSwgMTI4LCA4MiwgODIsIDY1LCAxMjgsIDgyLCA3OSwgODcsIDY2LCA3OSwgNjUsIDg0LCAxMjgsIAorICAgIDgyLCA3OSwgODUsIDc4LCA2OCwgNjksIDE5NiwgODIsIDc5LCA4NSwgNzgsIDY4LCA0NSwgODQsIDczLCA4MCwgODAsIDY5LCAKKyAgICAxOTYsIDgyLCA3OSwgODQsIDg1LCA3OCwgNjgsIDY1LCAxMjgsIDgyLCA3OSwgODQsIDY1LCA4NCwgNjksIDE5NiwgODIsIAorICAgIDc5LCA4MywgNzIsIDEyOCwgODIsIDc5LCA4MywgNjksIDg0LCA4NCwgNjksIDEyOCwgODIsIDc5LCA4MywgNjksIDEyOCwgCisgICAgODIsIDc5LCA3OSwgODQsIDEyOCwgODIsIDc5LCA3OSwgODMsIDg0LCA2OSwgODIsIDEyOCwgODIsIDc5LCA3OSwgNzUsIAorICAgIDEyOCwgODIsIDc5LCA3OSwgNzAsIDEyOCwgODIsIDc5LCA3NywgNjUsIDc4LCA3MywgNjUsIDIwNiwgODIsIDc5LCA3NywgCisgICAgNjUsIDIwNiwgODIsIDc5LCA3NywgMTI4LCA4MiwgNzksIDc2LCA3NiwgNjksIDIxMCwgODIsIDc5LCA3NiwgNzYsIDY5LCAKKyAgICA2OCwgNDUsIDg1LCAyMDgsIDgyLCA3OSwgNzIsIDczLCA3OCwgNzEsIDg5LCAxOTMsIDgyLCA3OSwgNzEsIDEyOCwgODIsIAorICAgIDc5LCAxOTYsIDgyLCA3OSwgNjcsIDc1LCA2OSwgODQsIDEyOCwgODIsIDc5LCA2NywgMjAzLCA4MiwgNzksIDY3LCAxMjgsIAorICAgIDgyLCA3OSwgNjYsIDY1LCA4NCwgMTI4LCA4MiwgNzksIDY1LCA4MywgODQsIDY5LCAxOTYsIDgyLCA3OSwgNjUsIDgyLCAKKyAgICAxMjgsIDgyLCA3OSwgNjUsIDEyOCwgODIsIDc4LCA4OSwgNzMsIDc4LCAxOTksIDgyLCA3OCwgNzksIDc5LCA3OCwgMTI4LCAKKyAgICA4MiwgNzgsIDc5LCA3OSwgMjA2LCA4MiwgNzgsIDY1LCAyMDUsIDgyLCA3NywgODQsIDEyOCwgODIsIDc2LCA3OSwgMTI4LCAKKyAgICA4MiwgNzYsIDc3LCAxMjgsIDgyLCA3NiwgNzMsIDEyOCwgODIsIDc2LCA2OSwgMTI4LCA4MiwgNzQsIDY5LCAyMTEsIDgyLCAKKyAgICA3NCwgNjksIDEyOCwgODIsIDc0LCAxOTcsIDgyLCA3MywgODYsIDY5LCA4MiwgMTI4LCA4MiwgNzMsIDg0LCA4NSwgNjUsIAorICAgIDc2LCAxMjgsIDgyLCA3MywgODQsIDg0LCA3OSwgODIsIDg1LCAxMjgsIDgyLCA3MywgODQsIDgzLCA3MywgMTI4LCA4MiwgCisgICAgNzMsIDgzLCA3MywgNzgsIDE5OSwgODIsIDczLCA4MywgNzIsIDEyOCwgODIsIDczLCA4MiwgNjUsIDEyOCwgODIsIDczLCAKKyAgICA4MCwgMTI4LCA4MiwgNzMsIDc4LCA3MSwgMjExLCA4MiwgNzMsIDc4LCA3MSwgNzMsIDc4LCAxOTksIDgyLCA3MywgNzgsIAorICAgIDcwLCA3OSwgODIsIDkwLCA2NSwgNzgsIDY4LCA3OSwgMTI4LCA4MiwgNzMsIDIwNiwgODIsIDczLCA3NywgNzEsIDY2LCA2NSwgCiAgICAgMTI4LCA4MiwgNzMsIDc1LCA4MiwgNzMsIDc1LCAxMjgsIDgyLCA3MywgNzEsIDg2LCA2OSwgNjgsIDczLCAxOTUsIDgyLCAKICAgICA3MywgNzEsIDcyLCA4NCwgODcsIDY1LCA4MiwgNjgsIDgzLCAxMjgsIDgyLCA3MywgNzEsIDcyLCA4NCwgNzIsIDY1LCA3OCwgCiAgICAgMTk2LCA4MiwgNzMsIDcxLCA3MiwgODQsIDQ1LCA4NCwgNzksIDQ1LCA3NiwgNjksIDcwLCAyMTIsIDgyLCA3MywgNzEsIDcyLCAKICAgICA4NCwgNDUsIDgzLCA3MywgNjgsIDE5NywgODIsIDczLCA3MSwgNzIsIDg0LCA0NSwgODMsIDcyLCA2NSwgNjgsIDc5LCA4NywgCiAgICAgNjksIDE5NiwgODIsIDczLCA3MSwgNzIsIDg0LCA0NSwgODMsIDcyLCA2NSwgNjgsIDY5LCAxOTYsIDgyLCA3MywgNzEsIDcyLCAKLSAgICA4NCwgNDUsIDgwLCA3OSwgNzMsIDc4LCA4NCwgNzMsIDc4LCAxOTksIDgyLCA3MywgNzEsIDcyLCA4NCwgNDUsIDcyLCA2NSwgCi0gICAgNzgsIDY4LCA2OSwgMTk2LCA4MiwgNzMsIDcxLCA3MiwgODQsIDQ1LCA3MiwgNjUsIDc4LCAxOTYsIDgyLCA3MywgNzEsIDcyLCAKLSAgICA4NCwgNDUsIDcwLCA2NSwgNjcsIDczLCA3OCwgMTk5LCA4MiwgNzMsIDcxLCA3MiwgODQsIDEyOCwgODIsIDczLCA2OSwgODUsIAotICAgIDc2LCA0NSwgODksIDY5LCA4MywgNzMsIDY5LCA4NSwgNzgsIDcxLCAxMjgsIDgyLCA3MywgNjksIDg1LCA3NiwgNDUsIDg5LCAKLSAgICA2OSwgNzksIDgyLCA3MywgNzgsIDcyLCA3MywgNjksIDg1LCA3MiwgNDUsIDcyLCA3MywgNjksIDg1LCA3MiwgMTI4LCA4MiwgCi0gICAgNzMsIDY5LCA4NSwgNzYsIDQ1LCA4OSwgNjksIDc5LCA4MiwgNzMsIDc4LCA3MiwgNzMsIDY5LCA4NSwgNzIsIDEyOCwgODIsIAotICAgIDczLCA2OSwgODUsIDc2LCA0NSwgODQsIDczLCA3NSwgNjksIDg1LCA4NCwgNDUsIDcyLCA3MywgNjksIDg1LCA3MiwgMTI4LCAKLSAgICA4MiwgNzMsIDY5LCA4NSwgNzYsIDQ1LCA4NCwgNzMsIDc1LCA2OSwgODUsIDg0LCAxMjgsIDgyLCA3MywgNjksIDg1LCA3NiwgCi0gICAgNDUsIDg0LCA3MiwgNzMsIDY5LCA4NSwgODQsIDcyLCAxMjgsIDgyLCA3MywgNjksIDg1LCA3NiwgNDUsIDgzLCA4MywgNjUsIAotICAgIDc4LCA3MSwgODQsIDczLCA3NSwgNjksIDg1LCA4NCwgMTI4LCA4MiwgNzMsIDY5LCA4NSwgNzYsIDQ1LCA4MywgODMsIDY1LCAKLSAgICA3OCwgNzEsIDgzLCA3MywgNzksIDgzLCAxMjgsIDgyLCA3MywgNjksIDg1LCA3NiwgNDUsIDgzLCA4MywgNjUsIDc4LCA3MSwgCi0gICAgODAsIDczLCA2OSwgODUsIDgwLCAxMjgsIDgyLCA3MywgNjksIDg1LCA3NiwgNDUsIDgzLCA4MywgNjUsIDc4LCA3MSwgNzUsIAotICAgIDczLCA4OSwgNjksIDc5LCA3NSwgMTI4LCA4MiwgNzMsIDY5LCA4NSwgNzYsIDQ1LCA4MywgNzMsIDc5LCA4MywgMTI4LCA4MiwgCi0gICAgNzMsIDY5LCA4NSwgNzYsIDQ1LCA4MCwgNzMsIDY5LCA4NSwgODAsIDQ1LCA4NCwgNzMsIDc1LCA2OSwgODUsIDg0LCAxMjgsIAotICAgIDgyLCA3MywgNjksIDg1LCA3NiwgNDUsIDgwLCA3MywgNjksIDg1LCA4MCwgNDUsIDgzLCA3MywgNzksIDgzLCAxMjgsIDgyLCAKLSAgICA3MywgNjksIDg1LCA3NiwgNDUsIDgwLCA3MywgNjksIDg1LCA4MCwgNDUsIDgwLCA3MiwgNzMsIDY5LCA4NSwgODAsIDcyLCAKLSAgICAxMjgsIDgyLCA3MywgNjksIDg1LCA3NiwgNDUsIDgwLCA3MywgNjksIDg1LCA4MCwgNDUsIDcyLCA3MywgNjksIDg1LCA3MiwgCi0gICAgMTI4LCA4MiwgNzMsIDY5LCA4NSwgNzYsIDQ1LCA4MCwgNzMsIDY5LCA4NSwgODAsIDEyOCwgODIsIDczLCA2OSwgODUsIDc2LCAKLSAgICA0NSwgODAsIDcyLCA3MywgNjksIDg1LCA4MCwgNzIsIDEyOCwgODIsIDczLCA2OSwgODUsIDc2LCA0NSwgODAsIDY1LCA3OCwgCi0gICAgODMsIDczLCA3OSwgODMsIDEyOCwgODIsIDczLCA2OSwgODUsIDc2LCA0NSwgNzgsIDczLCA2OSwgODUsIDc4LCAxMjgsIDgyLCAKLSAgICA3MywgNjksIDg1LCA3NiwgNDUsIDc3LCA3MywgNjksIDg1LCA3NywgNDUsIDgzLCA3MywgNzksIDgzLCAxMjgsIDgyLCA3MywgCi0gICAgNjksIDg1LCA3NiwgNDUsIDc3LCA3MywgNjksIDg1LCA3NywgNDUsIDc1LCA3MywgODksIDY5LCA3OSwgNzUsIDEyOCwgODIsIAotICAgIDczLCA2OSwgODUsIDc2LCA0NSwgNzcsIDczLCA2OSwgODUsIDc3LCA0NSwgNzIsIDczLCA2OSwgODUsIDcyLCAxMjgsIDgyLCAKLSAgICA3MywgNjksIDg1LCA3NiwgNDUsIDc3LCA3MywgNjksIDg1LCA3NywgMTI4LCA4MiwgNzMsIDY5LCA4NSwgNzYsIDQ1LCA3NSwgCi0gICAgNzMsIDg5LCA2OSwgNzksIDc1LCA0NSwgODMsIDczLCA3OSwgODMsIDEyOCwgODIsIDczLCA2OSwgODUsIDc2LCA0NSwgNzUsIAotICAgIDczLCA4OSwgNjksIDc5LCA3NSwgNDUsIDcyLCA3MywgNjksIDg1LCA3MiwgMTI4LCA4MiwgNzMsIDY5LCA4NSwgNzYsIDQ1LCAKLSAgICA3NSwgNzMsIDg5LCA2OSwgNzksIDc1LCAxMjgsIDgyLCA3MywgNjksIDg1LCA3NiwgNDUsIDc1LCA2NSwgODAsIDg5LCA2OSwgCi0gICAgNzksIDg1LCA3OCwgODAsIDczLCA2OSwgODUsIDgwLCAxMjgsIDgyLCA3MywgNjksIDg1LCA3NiwgNDUsIDcyLCA3MywgNjksIAotICAgIDg1LCA3MiwgMTI4LCA4MiwgNzMsIDY5LCA4NSwgNzYsIDQ1LCA2NywgNzMsIDY5LCA4NSwgNjcsIDEyOCwgODIsIDczLCA2OSwgCi0gICAgODUsIDIwNCwgODIsIDczLCA2OSwgNzYsIDEyOCwgODIsIDczLCA2OSwgNjksIDEyOCwgODIsIDczLCA2NywgNjksIDc3LCAKLSAgICAxMjgsIDgyLCA3MywgNjcsIDY5LCAxMjgsIDgyLCA3MywgNjcsIDE5NywgODIsIDczLCA2NiwgNjYsIDc5LCA3OCwgMTI4LCAKLSAgICA4MiwgNzMsIDY1LCAyMDQsIDgyLCA3MiwgNzksIDg0LCA3MywgMTk1LCA4MiwgNzIsIDc5LCAxMjgsIDgyLCA3MiwgMjA3LCAKLSAgICA4MiwgNzIsIDY1LCAxMjgsIDgyLCA3MSwgODksIDczLCA3OCwgNzEsIDgzLCAxMjgsIDgyLCA3MSwgODksIDY1LCA3OCwgCi0gICAgMTI4LCA4MiwgNzEsIDg5LCAxOTMsIDgyLCA2OSwgODYsIDc5LCA3NiwgODYsIDczLCA3OCwgMTk5LCA4MiwgNjksIDg2LCAKLSAgICA3OSwgNzYsIDg1LCA4NCwgNzMsIDc5LCA3OCwgMTI4LCA4MiwgNjksIDg2LCA3NywgNjUsIDEyOCwgODIsIDY5LCA4NiwgNzMsIAotICAgIDY1LCAxMjgsIDgyLCA2OSwgODYsIDY5LCA4MiwgODMsIDY5LCA2OCwgMTI4LCA4MiwgNjksIDg2LCA2OSwgODIsIDgzLCA2OSwgCi0gICAgMTk2LCA4MiwgNjksIDg2LCA2OSwgODIsIDgzLCAxOTcsIDgyLCA2OSwgODUsIDg4LCAxMjgsIDgyLCA2OSwgODUsIDEyOCwgCi0gICAgODIsIDY5LCA4NCwgODUsIDgyLCA3OCwgMTI4LCA4MiwgNjksIDg0LCA4NSwgODIsIDIwNiwgODIsIDY5LCA4NCwgODIsIDc5LCAKLSAgICA3MCwgNzYsIDY5LCAyMTYsIDgyLCA2OSwgODQsIDgyLCA2OSwgNjUsIDg0LCAxMjgsIDgyLCA2OSwgODQsIDc5LCA4MiwgODQsIAotICAgIDEyOCwgODIsIDY5LCA4MywgODUsIDgwLCA3MywgNzgsIDg1LCA4MywgMTI4LCA4MiwgNjksIDgzLCA4NCwgODIsIDc5LCA3OSwgCi0gICAgNzcsIDEyOCwgODIsIDY5LCA4MywgODQsIDgyLCA3MywgNjcsIDg0LCA2OSwgMTk2LCA4MiwgNjksIDgzLCA4NCwgMTI4LCAKLSAgICA4MiwgNjksIDgzLCA4MCwgNzksIDc4LCA4MywgNjksIDEyOCwgODIsIDY5LCA4MywgNzksIDg1LCA4MiwgNjcsIDY5LCAxMjgsIAotICAgIDgyLCA2OSwgODMsIDc5LCA3NiwgODUsIDg0LCA3MywgNzksIDc4LCAxMjgsIDgyLCA2OSwgODMsIDczLCA4MywgODQsIDY1LCAKLSAgICA3OCwgNjcsIDY5LCAxMjgsIDgyLCA2OSwgODMsIDczLCA2OCwgNjksIDc4LCA2NywgNjksIDEyOCwgODIsIDY5LCA4MywgCi0gICAgMjAwLCA4MiwgNjksIDgyLCA2OSwgNzgsIDcxLCA3MSwgNjUsIDc4LCAxMjgsIDgyLCA2OSwgODIsIDY5LCA3NSwgNjUsIDc4LCAKLSAgICAxMjgsIDgyLCA2OSwgODAsIDgyLCA2OSwgODMsIDY5LCA3OCwgODQsIDEyOCwgODIsIDY5LCA4MCwgNzYsIDY1LCA2NywgNjksIAotICAgIDc3LCA2OSwgNzgsIDIxMiwgODIsIDY5LCA4MCwgNzIsIDEyOCwgODIsIDY5LCA4MCwgNjksIDg0LCA3MywgODQsIDczLCA3OSwgCi0gICAgMjA2LCA4MiwgNjksIDgwLCA2OSwgNjUsIDg0LCA2OSwgMTk2LCA4MiwgNjksIDgwLCA2OSwgNjUsIDg0LCAxMjgsIDgyLCAKLSAgICA2OSwgODAsIDY5LCA2NSwgMjEyLCA4MiwgNjksIDgwLCA2NSwgODksIDY1LCAxMjgsIDgyLCA2OSwgODAsIDY1LCAxMjgsIAotICAgIDgyLCA2OSwgODAsIDE5MywgODIsIDY5LCA3OCwgODQsIDc5LCA3MSwgNjksIDc4LCAxMjgsIDgyLCA2OSwgNzgsIDEyOCwgCi0gICAgODIsIDY5LCAyMDYsIDgyLCA2OSwgNzcsIDg1LCAxMjgsIDgyLCA2OSwgNzcsIDY5LCA2OCwgODksIDEyOCwgODIsIDY5LCAKLSAgICA3NiwgNzMsIDcxLCA3MywgNzksIDc4LCAxMjgsIDgyLCA2OSwgNzYsIDczLCA2OSwgODYsIDY5LCAxOTYsIDgyLCA2OSwgNzYsIAotICAgIDY5LCA2NSwgODMsIDY5LCAxMjgsIDgyLCA2OSwgNzYsIDY1LCA4NCwgNzMsIDc5LCA3OCwgNjUsIDIwNCwgODIsIDY5LCA3NiwgCi0gICAgNjUsIDg0LCA3MywgNzksIDc4LCAxMjgsIDgyLCA2OSwgNzYsIDY1LCA2NSwgMTI4LCA4MiwgNjksIDc0LCA2NSwgNzgsIAotICAgIDE5OSwgODIsIDY5LCA3MywgMTk2LCA4MiwgNjksIDcxLCA4NSwgNzYsIDg1LCA4MywgNDUsIDUyLCAxMjgsIDgyLCA2OSwgCi0gICAgNzEsIDg1LCA3NiwgODUsIDgzLCA0NSwgNTEsIDEyOCwgODIsIDY5LCA3MSwgODUsIDc2LCA4NSwgODMsIDQ1LCA1MCwgMTI4LCAKLSAgICA4MiwgNjksIDcxLCA4NSwgNzYsIDg1LCA4MywgMTI4LCA4MiwgNjksIDcxLCA4NSwgNzYsIDg1LCAyMTEsIDgyLCA2OSwgNzEsIAotICAgIDczLCA4MywgODQsIDY5LCA4MiwgNjksIDE5NiwgODIsIDY5LCA3MSwgNzMsIDc5LCA3OCwgNjUsIDIwNCwgODIsIDY5LCA3MSwgCi0gICAgNzMsIDY1LCA0NSwgNTAsIDEyOCwgODIsIDY5LCA3MSwgNzMsIDY1LCAxMjgsIDgyLCA2OSwgNzAsIDc5LCA4MiwgNzcsIDY5LCAKLSAgICAxOTYsIDgyLCA2OSwgNzAsIDY5LCA4MiwgNjksIDc4LCA2NywgMTk3LCA4MiwgNjksIDY4LCA4NSwgODAsIDc2LCA3MywgNjcsIAotICAgIDY1LCA4NCwgNzMsIDc5LCA3OCwgMTI4LCA4MiwgNjksIDY3LCA4OSwgNjcsIDc2LCA3MywgNzgsIDE5OSwgODIsIDY5LCA2NywgCi0gICAgODksIDY3LCA3NiwgNjksIDE5NiwgODIsIDY5LCA2NywgODQsIDczLCA3NiwgNzMsIDc4LCA2OSwgNjUsIDIxMCwgODIsIDY5LCAKLSAgICA2NywgODQsIDY1LCA3OCwgNzEsIDg1LCA3NiwgNjUsIDIxMCwgODIsIDY5LCA2NywgODQsIDY1LCA3OCwgNzEsIDc2LCA2OSwgCi0gICAgMTI4LCA4MiwgNjksIDY3LCA4NCwgNjUsIDc4LCA3MSwgNzYsIDE5NywgODIsIDY5LCA2NywgODIsIDY5LCA2NSwgODQsIDczLCAKLSAgICA3OSwgNzgsIDY1LCAyMDQsIDgyLCA2OSwgNjcsIDc5LCA4MiwgNjgsIDczLCA3OCwgMTk5LCA4MiwgNjksIDY3LCA3OSwgODIsIAotICAgIDY4LCA2OSwgODIsIDEyOCwgODIsIDY5LCA2NywgNzksIDgyLCAxOTYsIDgyLCA2OSwgNjcsIDY5LCA4MCwgODQsIDczLCA4NiwgCi0gICAgMTk3LCA4MiwgNjksIDY3LCA2OSwgNzMsIDg2LCA2OSwgODIsIDEyOCwgODIsIDY5LCA2NSwgNzYsIDcxLCA2NSwgODIsIDQ1LCAKLSAgICA1MCwgMTI4LCA4MiwgNjksIDY1LCA3NiwgNzEsIDY1LCA4MiwgMTI4LCA4MiwgNjksIDY1LCA3MiwgNzcsIDg1LCA3NSwgCi0gICAgMTI4LCA4MiwgNjksIDY1LCA2NywgNzIsIDEyOCwgODIsIDY4LCAyMDcsIDgyLCA2OCwgNjksIDIwNCwgODIsIDY2LCA2NSwgCi0gICAgODMsIDE5MywgODIsIDY1LCA4OSwgODMsIDEyOCwgODIsIDY1LCA4OSwgNjUsIDc4LCA3OCwgNjUsIDEyOCwgODIsIDY1LCAKLSAgICA4NCwgNzMsIDc5LCAxMjgsIDgyLCA2NSwgODQsIDcyLCA2NSwgMTI4LCA4MiwgNjUsIDg0LCA3MiwgMTkzLCA4MiwgNjUsIAotICAgIDg0LCA2NSwgMTI4LCA4MiwgNjUsIDg0LCAxMjgsIDgyLCA2NSwgODMsIDg3LCA2NSwgNjgsIDczLCAxMjgsIDgyLCA2NSwgCi0gICAgODMsIDc5LCA4NSwgMjA0LCA4MiwgNjUsIDgzLCA3MiwgNjUsIDEyOCwgODIsIDY1LCA4MSwgMTI4LCA4MiwgNjUsIDgwLCAKLSAgICA3MywgODMsIDc3LCA2NSwgMTI4LCA4MiwgNjUsIDc4LCA3MSwgMTk3LCA4MiwgNjUsIDc4LCA2NSwgMTI4LCA4MiwgNjUsIAotICAgIDc4LCAxMjgsIDgyLCA2NSwgNzcsIDIxMSwgODIsIDY1LCA3NywgNjYsIDY1LCA4NCwgMTI4LCA4MiwgNjUsIDc1LCA3MiwgCi0gICAgNjUsIDc4LCA3MSwgMTI4LCA4MiwgNjUsIDc1LCA2NSwgNjUsIDgyLCA2NSwgNjUsIDc4LCA4MywgNjUsIDg5LCA2NSwgMTI4LCAKLSAgICA4MiwgNjUsIDczLCA4MywgNzMsIDc4LCAxOTksIDgyLCA2NSwgNzMsIDgzLCA2OSwgMTk2LCA4MiwgNjUsIDczLCA3OCwgNjYsIAotICAgIDc5LCA4NywgMTI4LCA4MiwgNjUsIDczLCA3NiwgODcsIDY1LCA4OSwgMTI4LCA4MiwgNjUsIDczLCA3NiwgODcsIDY1LCAKLSAgICAyMTcsIDgyLCA2NSwgNzMsIDc2LCAxMjgsIDgyLCA2NSwgNzMsIDY4LCAyMDcsIDgyLCA2NSwgNzMsIDY4LCA2NSwgMTI4LCAKLSAgICA4MiwgNjUsIDcyLCA3NywgNjUsIDg0LCA4NSwgNzYsIDc2LCA2NSwgMjAwLCA4MiwgNjUsIDcyLCAxMjgsIDgyLCA2NSwgNzAsIAotICAgIDY5LCAxMjgsIDgyLCA2NSwgNjksIDc3LCAxMjgsIDgyLCA2NSwgNjgsIDczLCA3OSwgNjUsIDY3LCA4NCwgNzMsIDg2LCAKLSAgICAxOTcsIDgyLCA2NSwgNjgsIDczLCA3OSwgMTI4LCA4MiwgNjUsIDY4LCA3MywgMjA3LCA4MiwgNjUsIDY4LCAyMDEsIDgyLCAKLSAgICA2NSwgNjgsIDEyOCwgODIsIDY1LCAxOTYsIDgyLCA2NSwgNjcsIDgxLCA4NSwgNjksIDIxMiwgODIsIDY1LCA2NywgNzMsIAotICAgIDc4LCA3MSwgMTI4LCA4MiwgNjUsIDY2LCA2NiwgNzMsIDg0LCAxMjgsIDgyLCA2NSwgNjYsIDY2LCA3MywgMjEyLCA4MiwgCi0gICAgNjUsIDY2LCAxMjgsIDgyLCA2NSwgNjUsIDczLCAxMjgsIDgyLCA2NSwgNTEsIDEyOCwgODIsIDY1LCA1MCwgMTI4LCA4MiwgCi0gICAgNjUsIDQ1LCA1MCwgMTI4LCA4MiwgNDgsIDUwLCA1NywgMTI4LCA4MiwgNDgsIDUwLCA1NiwgMTI4LCA4MiwgNDgsIDUwLCAKLSAgICA1NSwgMTI4LCA4MiwgNDgsIDUwLCA1NCwgMTI4LCA4MiwgNDgsIDUwLCA1MywgMTI4LCA4MiwgNDgsIDUwLCA1MiwgMTI4LCAKLSAgICA4MiwgNDgsIDUwLCA1MSwgMTI4LCA4MiwgNDgsIDUwLCA1MCwgMTI4LCA4MiwgNDgsIDUwLCA0OSwgMTI4LCA4MiwgNDgsIAotICAgIDUwLCA0OCwgMTI4LCA4MiwgNDgsIDQ5LCA1NywgMTI4LCA4MiwgNDgsIDQ5LCA1NiwgMTI4LCA4MiwgNDgsIDQ5LCA1NSwgCi0gICAgMTI4LCA4MiwgNDgsIDQ5LCA1NCwgNjUsIDEyOCwgODIsIDQ4LCA0OSwgNTQsIDEyOCwgODIsIDQ4LCA0OSwgNTMsIDEyOCwgCi0gICAgODIsIDQ4LCA0OSwgNTIsIDEyOCwgODIsIDQ4LCA0OSwgNTEsIDEyOCwgODIsIDQ4LCA0OSwgNTAsIDEyOCwgODIsIDQ4LCAKLSAgICA0OSwgNDksIDEyOCwgODIsIDQ4LCA0OSwgNDgsIDY1LCAxMjgsIDgyLCA0OCwgNDksIDQ4LCAxMjgsIDgyLCA0OCwgNDgsIAotICAgIDU3LCAxMjgsIDgyLCA0OCwgNDgsIDU2LCAxMjgsIDgyLCA0OCwgNDgsIDU1LCAxMjgsIDgyLCA0OCwgNDgsIDU0LCAxMjgsIAotICAgIDgyLCA0OCwgNDgsIDUzLCAxMjgsIDgyLCA0OCwgNDgsIDUyLCAxMjgsIDgyLCA0OCwgNDgsIDUxLCA2NiwgMTI4LCA4MiwgCi0gICAgNDgsIDQ4LCA1MSwgNjUsIDEyOCwgODIsIDQ4LCA0OCwgNTEsIDEyOCwgODIsIDQ4LCA0OCwgNTAsIDY1LCAxMjgsIDgyLCAKLSAgICA0OCwgNDgsIDUwLCAxMjgsIDgyLCA0OCwgNDgsIDQ5LCAxMjgsIDgyLCA0NSwgNjcsIDgyLCA2OSwgMTk3LCA4MSwgODksIAotICAgIDg4LCAxMjgsIDgxLCA4OSwgODUsIDEyOCwgODEsIDg5LCA4NCwgMTI4LCA4MSwgODksIDgyLCA4OCwgMTI4LCA4MSwgODksIAotICAgIDgyLCAxMjgsIDgxLCA4OSwgODAsIDEyOCwgODEsIDg5LCA3OSwgMTI4LCA4MSwgODksIDczLCAxMjgsIDgxLCA4OSwgNjksIAotICAgIDY5LCAxMjgsIDgxLCA4OSwgNjksIDEyOCwgODEsIDg5LCA2NSwgNjUsIDEyOCwgODEsIDg5LCA2NSwgMTI4LCA4MSwgODksIAotICAgIDEyOCwgODEsIDg3LCA3MywgMTI4LCA4MSwgODcsIDY5LCA2OSwgMTI4LCA4MSwgODcsIDY5LCAxMjgsIDgxLCA4NywgNjUsIAotICAgIDY1LCAxMjgsIDgxLCA4NywgNjUsIDEyOCwgODEsIDg1LCA4OCwgMTI4LCA4MSwgODUsIDg2LCAxMjgsIDgxLCA4NSwgODUsIAotICAgIDg2LCAxMjgsIDgxLCA4NSwgODUsIDEyOCwgODEsIDg1LCA4NCwgMTI4LCA4MSwgODUsIDgzLCA3MiwgODMsIDcyLCA2NSwgCi0gICAgODksIDY1LCAxMjgsIDgxLCA4NSwgODIsIDg4LCAxMjgsIDgxLCA4NSwgODIsIDEyOCwgODEsIDg1LCA4MCwgMTI4LCA4MSwgCi0gICAgODUsIDc5LCA4OCwgMTI4LCA4MSwgODUsIDc5LCA4NCwgMTk3LCA4MSwgODUsIDc5LCA4NCwgNjUsIDg0LCA3MywgNzksIAotICAgIDIwNiwgODEsIDg1LCA3OSwgODQsIDEyOCwgODEsIDg1LCA3OSwgODAsIDEyOCwgODEsIDg1LCA3OSwgMTI4LCA4MSwgODUsIAotICAgIDc1LCAxMjgsIDgxLCA4NSwgNzMsIDc4LCA4NCwgNjksIDgzLCA4MywgNjksIDc4LCA2NywgNjksIDEyOCwgODEsIDg1LCA3MywgCi0gICAgNzgsIDY4LCA3MywgNjcsIDY5LCA4MywgNzMsIDc3LCAxOTMsIDgxLCA4NSwgNzMsIDc4LCA2NywgODUsIDc4LCA4OCwgMTI4LCAKLSAgICA4MSwgODUsIDczLCA3OCwgNjUsIDgyLCA3MywgODUsIDIxMSwgODEsIDg1LCA3MywgNzYsIDc2LCAxMjgsIDgxLCA4NSwgNzMsIAotICAgIDY3LCAyMDMsIDgxLCA4NSwgNzMsIDEyOCwgODEsIDg1LCA3MCwgMTI4LCA4MSwgODUsIDY5LCA4MywgODQsIDczLCA3OSwgCi0gICAgNzgsIDY5LCAxOTYsIDgxLCA4NSwgNjksIDgzLCA4NCwgNzMsIDc5LCA3OCwgMTI4LCA4MSwgODUsIDY5LCA4MywgODQsIDczLCAKLSAgICA3OSwgMjA2LCA4MSwgODUsIDY5LCA2OSwgNzgsIDEyOCwgODEsIDg1LCA2OSwgNjksIDIwNiwgODEsIDg1LCA2OSwgMTI4LCAKLSAgICA4MSwgODUsIDY2LCA4NSwgODQsIDgzLCAxMjgsIDgxLCA4NSwgNjUsIDg0LCA2OSwgODIsIDc4LCA3MywgNzksIDIwNiwgODEsIAotICAgIDg1LCA2NSwgODIsIDg0LCA2OSwgODIsIDgzLCAxMjgsIDgxLCA4NSwgNjUsIDgyLCA4NCwgNjksIDgyLCAyMTEsIDgxLCA4NSwgCi0gICAgNjUsIDgyLCA4NCwgNjksIDgyLCAxMjgsIDgxLCA4NSwgNjUsIDgyLCA4NCwgNjksIDIxMCwgODEsIDg1LCA2NSwgNzgsIDg0LCAKLSAgICA3MywgODQsIDIxNywgODEsIDg1LCA2NSwgNjgsIDgyLCA4NSwgODAsIDc2LCAxOTcsIDgxLCA4NSwgNjUsIDY4LCA4MiwgNjUsIAotICAgIDc4LCA4NCwgMTI4LCA4MSwgODUsIDY1LCA2OCwgODIsIDY1LCA3OCwgMjEyLCA4MSwgODUsIDY1LCA2OCwgMTI4LCA4MSwgCi0gICAgODUsIDY1LCAxOTYsIDgxLCA4NSwgNjUsIDEyOCwgODEsIDg1LCAxMjgsIDgxLCAyMDgsIDgxLCA3OSwgODgsIDEyOCwgODEsIAotICAgIDc5LCA4NCwgMTI4LCA4MSwgNzksIDgwLCA3MiwgMTI4LCA4MSwgNzksIDgwLCA2NSwgMTI4LCA4MSwgNzksIDgwLCAxMjgsIAotICAgIDgxLCA3OSwgNzksIDEyOCwgODEsIDc5LCAyMDcsIDgxLCA3OSwgNzAsIDEyOCwgODEsIDc5LCAxOTgsIDgxLCA3OSwgNjUsIAotICAgIDEyOCwgODEsIDc5LCAxMjgsIDgxLCA3OCwgMTI4LCA4MSwgNzMsIDg4LCAxMjgsIDgxLCA3MywgODQsIDgzLCA2NSwgMTI4LCAKLSAgICA4MSwgNzMsIDg0LCAxMjgsIDgxLCA3MywgODAsIDEyOCwgODEsIDczLCA3MywgMTI4LCA4MSwgNzMsIDY5LCA4OCwgMTI4LCAKLSAgICA4MSwgNzMsIDY5LCA4NCwgMTI4LCA4MSwgNzMsIDY5LCA4MCwgMTI4LCA4MSwgNzMsIDY5LCAxMjgsIDgxLCA3MywgMTI4LCAKLSAgICA4MSwgNzIsIDg3LCA3MywgMTI4LCA4MSwgNzIsIDg3LCA2OSwgNjksIDEyOCwgODEsIDcyLCA4NywgNjksIDEyOCwgODEsIAotICAgIDcyLCA4NywgNjUsIDY1LCAxMjgsIDgxLCA3MiwgODcsIDY1LCAxMjgsIDgxLCA3MiwgODUsIDEyOCwgODEsIDcyLCA3OSwgCi0gICAgMTI4LCA4MSwgNzIsIDczLCAxMjgsIDgxLCA3MiwgNjksIDY5LCAxMjgsIDgxLCA3MiwgNjksIDEyOCwgODEsIDcyLCA2NSwgCi0gICAgNjUsIDEyOCwgODEsIDcyLCA2NSwgMTI4LCA4MSwgNzEsIDY1LCAxMjgsIDgxLCA2OSwgODQsIDY1LCA3OCwgNjUsIDEyOCwgCi0gICAgODEsIDY5LCA2OSwgMTI4LCA4MSwgNjksIDEyOCwgODEsIDY1LCA4NSwgMTI4LCA4MSwgNjUsIDg0LCA2NSwgNzgsIDEyOCwgCi0gICAgODEsIDY1LCA4MiwgNzgsIDY5LCAyMTcsIDgxLCA2NSwgODIsIDEyOCwgODEsIDY1LCA4MSwgMTI4LCA4MSwgNjUsIDgwLCAKLSAgICA3MiwgMTI4LCA4MSwgNjUsIDc3LCA2NSwgODQsIDgzLCAxMjgsIDgxLCA2NSwgNzcsIDY1LCA4NCwgMjExLCA4MSwgNjUsIAotICAgIDc2LCAxOTMsIDgxLCA2NSwgNzMsIDgyLCA4NCwgNzIsIDgyLCA2NSwgMTI4LCA4MSwgNjUsIDczLCAxMjgsIDgxLCA2NSwgCi0gICAgNzAsIDEyOCwgODEsIDY1LCAxOTgsIDgxLCA2NSwgNjgsIDc3LCA2NSwgMTI4LCA4MSwgNjUsIDY1LCA3MywgMTI4LCA4MSwgCi0gICAgNjUsIDY1LCA3MCwgODUsIDEyOCwgODEsIDY1LCA2NSwgNzAsIDEyOCwgODEsIDQ4LCA0OCwgNTUsIDEyOCwgODEsIDQ4LCAKLSAgICA0OCwgNTQsIDEyOCwgODEsIDQ4LCA0OCwgNTMsIDEyOCwgODEsIDQ4LCA0OCwgNTIsIDEyOCwgODEsIDQ4LCA0OCwgNTEsIAotICAgIDEyOCwgODEsIDQ4LCA0OCwgNTAsIDEyOCwgODEsIDQ4LCA0OCwgNDksIDEyOCwgODAsIDkwLCAxMjgsIDgwLCA4OSwgODgsIAotICAgIDEyOCwgODAsIDg5LCA4NCwgMTI4LCA4MCwgODksIDgyLCA4OCwgMTI4LCA4MCwgODksIDgyLCAxMjgsIDgwLCA4OSwgODAsIAotICAgIDEyOCwgODAsIDg5LCAxMjgsIDgwLCA4NywgNzksIDg5LCAxMjgsIDgwLCA4NywgNzksIDc5LCAxMjgsIDgwLCA4NywgNzksIAotICAgIDEyOCwgODAsIDg3LCAyMDcsIDgwLCA4NywgNzMsIDczLCAxMjgsIDgwLCA4NywgNzMsIDEyOCwgODAsIDg3LCA2OSwgNjksIAotICAgIDEyOCwgODAsIDg3LCA2OSwgMTI4LCA4MCwgODcsIDY1LCA2NSwgMTI4LCA4MCwgODcsIDEyOCwgODAsIDg2LCAxMjgsIDgwLCAKLSAgICA4NSwgODgsIDEyOCwgODAsIDg1LCA4NSwgODQsIDEyOCwgODAsIDg1LCA4NSwgMTI4LCA4MCwgODUsIDg0LCA4MiwgNjksIAotICAgIDcwLCA2NSwgNjcsIDg0LCA3MywgNzksIDc4LCAxMjgsIDgwLCA4NSwgODQsIDEyOCwgODAsIDg1LCAyMTIsIDgwLCA4NSwgCi0gICAgODMsIDcyLCA4MCwgNzMsIDc4LCAxMjgsIDgwLCA4NSwgODMsIDcyLCA4MCwgNzMsIDc1LCA2NSwgMTI4LCA4MCwgODUsIDgzLCAKLSAgICA3MiwgNzMsIDc4LCAxOTksIDgwLCA4NSwgODIsIDg4LCAxMjgsIDgwLCA4NSwgODIsIDgzLCA2OSwgMTI4LCA4MCwgODUsIAotICAgIDgyLCA4MCwgNzYsIDE5NywgODAsIDg1LCA4MiwgNzgsIDY1LCA3NywgNjUsIDEyOCwgODAsIDg1LCA4MiwgNzMsIDg0LCA4OSwgCi0gICAgMTI4LCA4MCwgODUsIDgyLCA3MywgNzAsIDg5LCAxMjgsIDgwLCA4NSwgODIsIDEyOCwgODAsIDg1LCA4MSwgMTI4LCA4MCwgCi0gICAgODUsIDgwLCAxMjgsIDgwLCA4NSwgNzksIDg4LCAxMjgsIDgwLCA4NSwgNzksIDgwLCAxMjgsIDgwLCA4NSwgNzksIDEyOCwgCi0gICAgODAsIDg1LCA3OCwgNzEsIDY1LCA2NSwgNzcsIDEyOCwgODAsIDg1LCA3OCwgNzEsIDEyOCwgODAsIDg1LCA3OCwgNjcsIDg0LCAKLSAgICA4NSwgNjUsIDg0LCA3MywgNzksIDc4LCAxMjgsIDgwLCA4NSwgNzgsIDY3LCA4NCwgODUsIDY1LCA4NCwgNzMsIDc5LCAyMDYsIAotICAgIDgwLCA4NSwgNzcsIDgwLCAxMjgsIDgwLCA4NSwgNzcsIDEyOCwgODAsIDg1LCA2OSwgMTI4LCA4MCwgODUsIDY2LCA3NiwgCi0gICAgNzMsIDE5NSwgODAsIDg1LCA2NSwgODEsIDEyOCwgODAsIDg1LCA2NSwgNjksIDEyOCwgODAsIDg1LCA1MCwgMTI4LCA4MCwgCi0gICAgODUsIDQ5LCAxMjgsIDgwLCA4NSwgMTI4LCA4MCwgODQsIDcyLCA2NSwgNzIsIDE5MywgODAsIDg0LCA2OSwgMTI4LCA4MCwgCi0gICAgODMsIDczLCA3NiwgMjAxLCA4MCwgODMsIDczLCA3MCwgNzMsIDgzLCA4NCwgNzksIDgzLCA4OSwgNzgsIDY1LCA3MSwgNzcsIAotICAgIDY1LCAxMjgsIDgwLCA4MywgNzMsIDcwLCA3MywgODMsIDg0LCA3OSwgODAsIDY1LCA4MiwgNjUsIDc1LCA2NSwgNzYsIDY5LCAKLSAgICA4MywgNzcsIDY1LCAxMjgsIDgwLCA4MywgNzMsIDcwLCA3MywgODMsIDg0LCA3OSwgMjA2LCA4MCwgODMsIDczLCA3MCwgNzMsIAotICAgIDgzLCA4NCwgNzksIDc2LCA4OSwgNzEsIDczLCA4MywgNzcsIDY1LCAxMjgsIDgwLCA4MywgNzMsIDEyOCwgODAsIDgzLCAKLSAgICAxMjgsIDgwLCA4MiwgNzksIDg2LCA2OSwgMTI4LCA4MCwgODIsIDc5LCA4NCwgNzksIDg2LCA2NSwgODIsIDg5LCAyMTEsIAotICAgIDgwLCA4MiwgNzksIDg0LCA3OSwgMjExLCA4MCwgODIsIDc5LCA4NCwgNjksIDY3LCA4NCwgNjksIDE5NiwgODAsIDgyLCA3OSwgCi0gICAgODMsIDcxLCA2OSwgNzEsIDgyLCA2NSwgNzcsIDc3LCA2OSwgNzgsIDczLCAxMjgsIDgwLCA4MiwgNzksIDgwLCA3OSwgODIsIAotICAgIDg0LCA3MywgNzksIDc4LCA2NSwgMjA0LCA4MCwgODIsIDc5LCA4MCwgNzksIDgyLCA4NCwgNzMsIDc5LCA3OCwgMTI4LCA4MCwgCi0gICAgODIsIDc5LCA4MCwgNjksIDgyLCA4NCwgMjE3LCA4MCwgODIsIDc5LCA4MCwgNjksIDc2LCA3NiwgNjksIDIxMCwgODAsIDgyLCAKLSAgICA3OSwgNzksIDcwLCAxMjgsIDgwLCA4MiwgNzksIDc2LCA3OSwgNzgsIDcxLCA2OSwgMTk2LCA4MCwgODIsIDc5LCA3NiwgNjUsIAotICAgIDg0LCA3MywgNzksIDc4LCAxOTcsIDgwLCA4MiwgNzksIDc0LCA2OSwgNjcsIDg0LCA3MywgODYsIDY5LCAxMjgsIDgwLCA4MiwgCi0gICAgNzksIDc0LCA2OSwgNjcsIDg0LCA3MywgNzksIDc4LCAxMjgsIDgwLCA4MiwgNzksIDcxLCA4MiwgNjksIDgzLCA4MywgMTI4LCAKLSAgICA4MCwgODIsIDc5LCA3MSwgODIsIDY1LCAyMDUsIDgwLCA4MiwgNzksIDcwLCA3OSwgODUsIDc4LCA2OCwgMTI4LCA4MCwgODIsIAotICAgIDc5LCA2OCwgODUsIDY3LCA4NCwgMTI4LCA4MCwgODIsIDc5LCA2OCwgODUsIDY3LCAyMTIsIDgwLCA4MiwgNzMsIDg2LCA2NSwgCi0gICAgODQsIDY5LCAxMjgsIDgwLCA4MiwgNzMsIDg2LCA2NSwgODQsIDE5NywgODAsIDgyLCA3MywgODYsIDY1LCA2NywgMjE3LCAKLSAgICA4MCwgODIsIDczLCA4MywgNzIsIDg0LCA3MiwgNjUsIDc3LCA2NSwgODQsIDgyLCAxOTMsIDgwLCA4MiwgNzMsIDc4LCA4NCwgCi0gICAgODMsIDEyOCwgODAsIDgyLCA3MywgNzgsIDg0LCAxMjgsIDgwLCA4MiwgNzMsIDc4LCAyMTIsIDgwLCA4MiwgNzMsIDc4LCAKLSAgICA2NywgNjksIDgzLCA4MywgMTI4LCA4MCwgODIsIDczLCA3NywgNjksIDEyOCwgODAsIDgyLCA3MywgNzcsIDE5NywgODAsIAotICAgIDgyLCA2OSwgODYsIDczLCA3OSwgODUsIDIxMSwgODAsIDgyLCA2OSwgODMsIDY5LCA4NCwgMTI4LCA4MCwgODIsIDY5LCA4MywgCi0gICAgNjksIDc4LCA4NCwgNjUsIDg0LCA3MywgNzksIDIwNiwgODAsIDgyLCA2OSwgODMsIDY3LCA4MiwgNzMsIDgwLCA4NCwgNzMsIAotICAgIDc5LCAyMDYsIDgwLCA4MiwgNjksIDgwLCA3OSwgNzgsIDY4LCA2OSwgODIsIDY1LCA3OCwgNjcsIDY5LCAxMjgsIDgwLCA4MiwgCi0gICAgNjksIDc4LCA3NSwgNzIsIDY1LCAxMjgsIDgwLCA4MiwgNjksIDcwLCA2NSwgNjcsIDE5NywgODAsIDgyLCA2OSwgNjcsIDczLCAKLSAgICA4MCwgNzMsIDg0LCA2NSwgODQsIDY5LCAxMjgsIDgwLCA4MiwgNjksIDY3LCA2OSwgNjgsIDczLCA3OCwgMTk5LCA4MCwgODIsIAotICAgIDY5LCA2NywgNjksIDY4LCA2OSwgODMsIDEyOCwgODAsIDgyLCA2OSwgNjcsIDY5LCA2OCwgNjksIDIxMSwgODAsIDgyLCA2OSwgCi0gICAgNjcsIDY5LCA2OCwgNjksIDE5NiwgODAsIDgyLCA2OSwgNjcsIDY5LCA2OCwgNjksIDEyOCwgODAsIDgyLCA2OSwgNjcsIDY5LCAKLSAgICA2OCwgMTk3LCA4MCwgODIsIDY1LCA3NywgNDUsIDgwLCA3MywgNzMsIDEyOCwgODAsIDgyLCA2NSwgNzcsIDQ1LCA4MCwgNzMsIAotICAgIDIwMSwgODAsIDgyLCA2NSwgNzcsIDQ1LCA3NywgODUsIDc5LCA4OSwgMTI4LCA4MCwgODIsIDY1LCA3NywgNDUsIDc3LCA4NSwgCi0gICAgNzksIDIxNywgODAsIDgyLCA2NSwgNzcsIDQ1LCA2NiwgODUsIDc5LCA3OCwgMTI4LCA4MCwgODIsIDY1LCA3NywgNDUsIDY2LCAKLSAgICA4NSwgNzksIDIwNiwgODAsIDgyLCA2NSwgNzcsIDQ1LCA2NiwgNjksIDczLCAxMjgsIDgwLCA4MiwgNjUsIDc3LCA0NSwgNjYsIAotICAgIDY5LCAyMDEsIDgwLCA4MiwgNjUsIDc3LCAxMjgsIDgwLCA4MiwgNjUsIDIwNSwgODAsIDgyLCAxMjgsIDgwLCA4MCwgODYsIAotICAgIDEyOCwgODAsIDgwLCA3NywgMTI4LCA4MCwgODAsIDY1LCAxMjgsIDgwLCA3OSwgODksIDEyOCwgODAsIDc5LCA4OCwgMTI4LCAKLSAgICA4MCwgNzksIDg3LCA2OSwgODIsIDIxMSwgODAsIDc5LCA4NywgNjksIDgyLCAxMjgsIDgwLCA3OSwgODcsIDY4LCA2OSwgODIsIAotICAgIDY5LCAxOTYsIDgwLCA3OSwgODcsIDY4LCA2OSwgODIsIDEyOCwgODAsIDc5LCA4NSwgNzgsIDE5NiwgODAsIDc5LCA4NSwgCi0gICAgNzYsIDg0LCA4MiwgMjE3LCA4MCwgNzksIDg1LCA2NywgNzIsIDEyOCwgODAsIDc5LCA4NCwgNjUsIDg0LCA3OSwgMTI4LCAKLSAgICA4MCwgNzksIDg0LCA2NSwgNjYsIDc2LCAxOTcsIDgwLCA3OSwgMjEyLCA4MCwgNzksIDgzLCA4NCwgODAsIDc5LCA4MywgNzMsIAotICAgIDg0LCA3MywgNzksIDIwNiwgODAsIDc5LCA4MywgODQsIDY2LCA3OSwgODgsIDEyOCwgODAsIDc5LCA4MywgODQsIDY1LCAKLSAgICAyMDQsIDgwLCA3OSwgODMsIDg0LCAxMjgsIDgwLCA3OSwgODMsIDIxMiwgODAsIDc5LCA4MywgODMsIDY5LCA4MywgODMsIAotICAgIDczLCA3OSwgNzgsIDEyOCwgODAsIDc5LCA4MiwgODIsIDY5LCA2NywgODQsIDg1LCA4MywgMTI4LCA4MCwgNzksIDgyLCA4MiwgCi0gICAgNjksIDY3LCA4NCwgODUsIDIxMSwgODAsIDc5LCA4MCwgODAsIDY5LCA4MiwgMTI4LCA4MCwgNzksIDgwLCAxMjgsIDgwLCAKLSAgICA3OSwgMjA4LCA4MCwgNzksIDc5LCA2OCwgNzYsIDY5LCAxMjgsIDgwLCA3OSwgNzksIDEyOCwgODAsIDc5LCA3OCwgNjgsIAotICAgIDc5LCAxMjgsIDgwLCA3OSwgMjA2LCA4MCwgNzksIDc3LCA3NywgNjksIDY5LCAxMjgsIDgwLCA3OSwgNzcsIDc3LCA2OSwgCi0gICAgMTk3LCA4MCwgNzksIDc2LCA3MywgODMsIDcyLCAxMjgsIDgwLCA3OSwgNzYsIDczLCA2NywgMTk3LCA4MCwgNzksIDc2LCAKLSAgICAyMDEsIDgwLCA3OSwgNzYsIDY5LCAxMjgsIDgwLCA3OSwgNzYsIDE5NywgODAsIDc5LCA3NSwgODIsIDg5LCA4NCwgNzMsIAotICAgIDY5LCAxMjgsIDgwLCA3OSwgNzUsIDc5LCA3NCwgNzMsIDEyOCwgODAsIDc5LCA3MywgNzgsIDg0LCAyMTEsIDgwLCA3OSwgCi0gICAgNzMsIDc4LCA4NCwgNzksIDEyOCwgODAsIDc5LCA3MywgNzgsIDg0LCA2OSwgODIsIDEyOCwgODAsIDc5LCA3MywgNzgsIDg0LCAKLSAgICA2OSwgMTk2LCA4MCwgNzksIDczLCA3OCwgODQsIDEyOCwgODAsIDc5LCA3MywgNzgsIDIxMiwgODAsIDc5LCA2OSwgODQsIAotICAgIDgyLCAyMTcsIDgwLCA3OSwgNjksIDg0LCA3MywgMTk1LCA4MCwgNzksIDY4LCA2NSwgODQsIDg1LCA4MywgMTI4LCA4MCwgCi0gICAgNzksIDY1LCAxMjgsIDgwLCA3OSwgMTI4LCA4MCwgMjA3LCA4MCwgNzgsIDY5LCA4NSwgNzcsIDY1LCA4NCwgNjUsIDEyOCwgCi0gICAgODAsIDc2LCA4NSwgODQsIDc5LCAxMjgsIDgwLCA3NiwgODUsIDgzLCA0NSwgNzcsIDczLCA3OCwgODUsIDIxMSwgODAsIDc2LCAKLSAgICA4NSwgODMsIDEyOCwgODAsIDc2LCA4NSwgODIsIDY1LCA3NiwgMTI4LCA4MCwgNzYsIDg1LCA3NywgNjksIDE5NiwgODAsIAotICAgIDc2LCA4NSwgNzcsIDEyOCwgODAsIDc2LCA4NSwgNzUsIDEyOCwgODAsIDc2LCA4NSwgNzEsIDEyOCwgODAsIDc2LCA4NSwgCi0gICAgMTI4LCA4MCwgNzYsIDc5LCA4NywgMTI4LCA4MCwgNzYsIDc5LCA4MCwgNzIsIDg1LCAxMjgsIDgwLCA3NiwgNjksIDg0LCAKLSAgICA3MiwgODIsIDc5LCA3OCwgMTI4LCA4MCwgNzYsIDY4LCAxMjgsIDgwLCA3NiwgNjUsIDg5LCA3MywgNzgsIDE5OSwgODAsIAotICAgIDc2LCA2NSwgODMsIDg0LCA3MywgNjcsIDgzLCAxMjgsIDgwLCA3NiwgNjUsIDc4LCA2OSwgMTI4LCA4MCwgNzYsIDY1LCA3OCwgCi0gICAgMTk3LCA4MCwgNzYsIDY1LCA3OCwgNjcsIDIwMywgODAsIDc2LCA2NSwgNzUsIDEyOCwgODAsIDc2LCA2NSwgNzEsIDczLCAKLSAgICA3OSwgMjExLCA4MCwgNzYsIDY1LCA2NywgNjksIDcyLCA3OSwgNzYsIDY4LCA2OSwgMjEwLCA4MCwgNzYsIDY1LCA2NywgCi0gICAgMTk3LCA4MCwgNzYsIDY1LCAxMjgsIDgwLCA3MywgOTAsIDkwLCA3MywgNjcsIDY1LCA4NCwgNzksIDEyOCwgODAsIDczLCAKLSAgICA5MCwgOTAsIDY1LCAxMjgsIDgwLCA3MywgODgsIDEyOCwgODAsIDczLCA4NywgODIsIDEyOCwgODAsIDczLCA4NCwgNjcsIAotICAgIDcyLCA3MCwgNzksIDgyLCA3NSwgMTI4LCA4MCwgNzMsIDg0LCA2NywgNzIsIDcwLCA3OSwgODIsIDIwMywgODAsIDczLCA4NCwgCi0gICAgMTI4LCA4MCwgNzMsIDgzLCA4NCwgNzksIDc2LCAxMjgsIDgwLCA3MywgODMsIDY5LCA3NiwgNjksIDcyLCAxMjgsIDgwLCAKLSAgICA3MywgODMsIDY3LCA2OSwgODMsIDEyOCwgODAsIDczLCA4MiwgNzMsIDcxLCAxMjgsIDgwLCA3MywgODIsIDczLCAxOTksIAotICAgIDgwLCA3MywgODIsIDczLCA2OSwgNjksIDc4LCAxMjgsIDgwLCA3MywgODAsIDczLCA3OCwgNzEsIDEyOCwgODAsIDczLCA4MCwgCi0gICAgNjUsIDY5LCA3NywgNzEsIDY2LCA3MywgNjksIDY5LCAxMjgsIDgwLCA3MywgODAsIDY1LCA2OSwgNzcsIDY2LCA2NSwgMTI4LCAKLSAgICA4MCwgNzMsIDgwLCAxMjgsIDgwLCA3MywgNzgsIDg3LCA3MiwgNjksIDY5LCAyMDQsIDgwLCA3MywgNzgsIDY5LCA2NSwgODAsIAotICAgIDgwLCA3NiwgNjksIDEyOCwgODAsIDczLCA3OCwgMTk3LCA4MCwgNzMsIDc4LCA2NSwgODIsIDY2LCA3OSwgODIsIDY1LCA4MywgCi0gICAgMTI4LCA4MCwgNzMsIDc2LCA3NiwgMTI4LCA4MCwgNzMsIDc2LCAxOTcsIDgwLCA3MywgNzYsIDY3LCA4MiwgNzksIDIxNSwgCi0gICAgODAsIDczLCA3NSwgODUsIDgyLCA4NSwgMTI4LCA4MCwgNzMsIDc1LCA3OSwgMTI4LCA4MCwgNzMsIDcxLCAxMjgsIDgwLCAKLSAgICA3MywgMTk5LCA4MCwgNzMsIDY5LCA4OCwgMTI4LCA4MCwgNzMsIDY5LCA4NSwgODAsIDQ1LCA4NCwgNzIsIDczLCA2OSwgODUsIAotICAgIDg0LCA3MiwgMTI4LCA4MCwgNzMsIDY5LCA4NSwgODAsIDQ1LCA4MywgODMsIDY1LCA3OCwgNzEsIDgzLCA3MywgNzksIDgzLCAKLSAgICAxMjgsIDgwLCA3MywgNjksIDg1LCA4MCwgNDUsIDgzLCA3MywgNzksIDgzLCA0NSwgODQsIDczLCA3NSwgNjksIDg1LCA4NCwgCi0gICAgMTI4LCA4MCwgNzMsIDY5LCA4NSwgODAsIDQ1LCA4MywgNzMsIDc5LCA4MywgNDUsIDg0LCA3MiwgNzMsIDY5LCA4NSwgODQsIAotICAgIDcyLCAxMjgsIDgwLCA3MywgNjksIDg1LCA4MCwgNDUsIDgzLCA3MywgNzksIDgzLCA0NSwgODAsIDczLCA2OSwgODUsIDgwLCAKLSAgICAxMjgsIDgwLCA3MywgNjksIDg1LCA4MCwgNDUsIDgzLCA3MywgNzksIDgzLCA0NSwgNzUsIDczLCA4OSwgNjksIDc5LCA3NSwgCi0gICAgMTI4LCA4MCwgNzMsIDY5LCA4NSwgODAsIDQ1LCA4MywgNzMsIDc5LCA4MywgNDUsIDY3LCA3MywgNjksIDg1LCA2NywgMTI4LCAKLSAgICA4MCwgNzMsIDY5LCA4NSwgODAsIDQ1LCA4MiwgNzMsIDY5LCA4NSwgNzYsIDQ1LCA4MCwgNzIsIDczLCA2OSwgODUsIDgwLCAKLSAgICA3MiwgMTI4LCA4MCwgNzMsIDY5LCA4NSwgODAsIDQ1LCA4MiwgNzMsIDY5LCA4NSwgNzYsIDEyOCwgODAsIDczLCA2OSwgODUsIAotICAgIDgwLCA0NSwgNzgsIDczLCA2OSwgODUsIDc4LCAxMjgsIDgwLCA3MywgNjksIDg1LCA4MCwgNDUsIDc3LCA3MywgNjksIDg1LCAKLSAgICA3NywgMTI4LCA4MCwgNzMsIDY5LCA4NSwgODAsIDQ1LCA3NSwgNzIsIDczLCA2OSwgODUsIDc1LCA3MiwgMTI4LCA4MCwgNzMsIAotICAgIDY5LCA4NSwgODAsIDQ1LCA2NywgNzMsIDY5LCA4NSwgNjcsIDEyOCwgODAsIDczLCA2OSwgODUsIDgwLCA0NSwgNjcsIDcyLCAKLSAgICA3MywgNjksIDg1LCA2NywgNzIsIDEyOCwgODAsIDczLCA2OSwgODUsIDIwOCwgODAsIDczLCA2OSwgODQsIDEyOCwgODAsIAotICAgIDczLCA2OSwgODAsIDEyOCwgODAsIDczLCA2OSwgNjksIDg0LCAxMjgsIDgwLCA3MywgNjksIDY5LCA4MSwgMTI4LCA4MCwgCi0gICAgNzMsIDY5LCA2NywgNjksIDEyOCwgODAsIDczLCA2OSwgMTI4LCA4MCwgNzMsIDY3LCA3NSwgNjksIDg0LCAxMjgsIDgwLCAKLSAgICA3MywgNjcsIDc1LCAxMjgsIDgwLCA3MywgNjUsIDgzLCA4NSwgODQsIDc5LCA4MiwgODUsIDEyOCwgODAsIDczLCA2NSwgODMsIAotICAgIDc3LCAxOTMsIDgwLCA3MywgNjUsIDc4LCA3OSwgMTI4LCA4MCwgMjAxLCA4MCwgNzIsIDg3LCA2NSwgMTI4LCA4MCwgNzIsIAotICAgIDg1LCA4NCwgNzIsIDY1LCA3OSwgMTI4LCA4MCwgNzIsIDg1LCAyMTAsIDgwLCA3MiwgODUsIDc4LCA3MSwgMTI4LCA4MCwgCi0gICAgNzIsIDgyLCA2NSwgODMsIDY5LCAxMjgsIDgwLCA3MiwgNzksIDc4LCA2OSwgODMsIDEyOCwgODAsIDcyLCA3OSwgNjksIDc4LCAKLSAgICA3MywgNjcsIDczLCA2NSwgMjA2LCA4MCwgNzIsIDc5LCA2NSwgMTI4LCA4MCwgNzIsIDc5LCAxMjgsIDgwLCA3MiwgMjA3LCAKLSAgICA4MCwgNzIsIDc4LCA2NSwgNjksIDIwMywgODAsIDcyLCA3MywgNzgsIDg0LCA3MiwgODUsIDEyOCwgODAsIDcyLCA3MywgNzYsIAotICAgIDc5LCA4MywgNzksIDgwLCA3MiwgNjksIDgyLCAyMTEsIDgwLCA3MiwgNzMsIDc2LCA3MywgODAsIDgwLCA3MywgNzgsIDE5NywgCi0gICAgODAsIDcyLCA3MywgNjksIDg1LCA4MCwgNzIsIDQ1LCA4NCwgNzIsIDczLCA2OSwgODUsIDg0LCA3MiwgMTI4LCA4MCwgNzIsIAotICAgIDczLCA2OSwgODUsIDgwLCA3MiwgNDUsIDgzLCA3MywgNzksIDgzLCAxMjgsIDgwLCA3MiwgNzMsIDY5LCA4NSwgODAsIDcyLCAKLSAgICA0NSwgODAsIDczLCA2OSwgODUsIDgwLCAxMjgsIDgwLCA3MiwgNzMsIDY5LCA4NSwgODAsIDcyLCA0NSwgNzIsIDczLCA2OSwgCi0gICAgODUsIDcyLCAxMjgsIDgwLCA3MiwgNzMsIDY5LCA4NSwgODAsIDIwMCwgODAsIDcyLCA3MywgMTI4LCA4MCwgNzIsIDIwMSwgCi0gICAgODAsIDcyLCA2OSwgNjksIDEyOCwgODAsIDcyLCA2OSwgMTI4LCA4MCwgNzIsIDY1LCA4MywgNjksIDQ1LCAxOTgsIDgwLCAKLSAgICA3MiwgNjUsIDgzLCA2OSwgNDUsIDE5NCwgODAsIDcyLCA2NSwgODIsIDg5LCA3OCwgNzEsIDY5LCA2NSwgMjA0LCA4MCwgNzIsIAotICAgIDY1LCA4MiwgMTI4LCA4MCwgNzIsIDY1LCA3OCwgMTI4LCA4MCwgNzIsIDY1LCA3NywgMTI4LCA4MCwgNzIsIDY1LCA3MywgCi0gICAgODMsIDg0LCA3OSwgMjExLCA4MCwgNzIsIDY1LCA3MSwgODMsIDQ1LCA4MCwgMTkzLCA4MCwgNzIsIDY1LCA2NSwgODIsIDc1LCAKLSAgICA2NSwgNjUsIDEyOCwgODAsIDcyLCA2NSwgNjUsIDEyOCwgODAsIDcyLCA2NSwgMTI4LCA4MCwgNzEsIDEyOCwgODAsIDcwLCAKLSAgICAxMjgsIDgwLCA2OSwgODUsIDg4LCAxMjgsIDgwLCA2OSwgODUsIDg0LCA2NSwgNjksIDEyOCwgODAsIDY5LCA4NSwgODQsIAotICAgIDEyOCwgODAsIDY5LCA4NCwgNjUsIDgzLCA4NCwgNzksIDc1LCA3OSwgODUsIDcwLCA3MywgODMsIDc3LCA2NSwgMTI4LCA4MCwgCi0gICAgNjksIDg0LCA2NSwgODMsIDg0LCA3MywgMTI4LCA4MCwgNjksIDg0LCA2NSwgODMsIDc3LCA2NSwgMTI4LCA4MCwgNjksIDg0LCAKLSAgICA2NSwgNzYsIDc2LCA2OSwgMTk2LCA4MCwgNjksIDgzLCA3OSwgMTI4LCA4MCwgNjksIDgzLCAyMDcsIDgwLCA2OSwgODMsIAotICAgIDcyLCA1MCwgMTI4LCA4MCwgNjksIDgzLCA2OSwgODQsIDE5MywgODAsIDY5LCAyMTEsIDgwLCA2OSwgODIsIDg0LCA3MiwgCi0gICAgMjA3LCA4MCwgNjksIDgyLCA4MywgODAsIDY5LCA2NywgODQsIDczLCA4NiwgNjksIDEyOCwgODAsIDY5LCA4MiwgODMsIDc5LCAKLSAgICA3OCwgNjUsIDIwNCwgODAsIDY5LCA4MiwgODMsIDc5LCA3OCwgMTI4LCA4MCwgNjksIDgyLCA4MywgNzksIDIwNiwgODAsIAotICAgIDY5LCA4MiwgODMsIDczLCA2NSwgMjA2LCA4MCwgNjksIDgyLCA4MywgNjksIDg2LCA2OSwgODIsIDczLCA3OCwgMTk5LCA4MCwgCi0gICAgNjksIDgyLCA4MCwgNjksIDc4LCA2OCwgNzMsIDY3LCA4NSwgNzYsIDY1LCA4MiwgMTI4LCA4MCwgNjksIDgyLCA4MCwgNjksIAotICAgIDc4LCA2OCwgNzMsIDY3LCA4NSwgNzYsIDY1LCAyMTAsIDgwLCA2OSwgODIsIDc3LCA3MywgODQsIDg0LCA2OSwgMTk2LCA4MCwgCi0gICAgNjksIDgyLCA3NywgNjUsIDc4LCA2OSwgNzgsIDIxMiwgODAsIDY5LCA4MiwgNzMsIDgzLCA4MCwgNzksIDc3LCA2OSwgNzgsIAotICAgIDczLCAxMjgsIDgwLCA2OSwgODIsIDczLCA4MywgODAsIDc5LCA3NywgNjksIDc4LCAyMDEsIDgwLCA2OSwgODIsIDcwLCA3OSwgCi0gICAgODIsIDc3LCA3MywgNzgsIDE5OSwgODAsIDY5LCA4MiwgNzAsIDY5LCA2NywgODQsIDg1LCAyMDUsIDgwLCA2OSwgODIsIDcwLCAKLSAgICA2OSwgNjcsIDg0LCA2NSwgMTI4LCA4MCwgNjksIDgyLCA3MCwgNjksIDY3LCA4NCwgMTkzLCA4MCwgNjksIDgyLCA2NywgODUsIAotICAgIDgzLCA4MywgNzMsIDg2LCA2OSwgMTI4LCA4MCwgNjksIDgyLCA2NywgNjksIDc4LCAyMTIsIDgwLCA2OSwgODAsIDY5LCA4NCwgCi0gICAgMTI4LCA4MCwgNjksIDgwLCA2OSwgMjEyLCA4MCwgNjksIDc5LCA4MiwgODQsIDIwMCwgODAsIDY5LCA3OSwgODAsIDc2LCAKLSAgICA2OSwgMTI4LCA4MCwgNjksIDc4LCA4NCwgNjUsIDgzLCA2OSwgNzcsIDY5LCAxMjgsIDgwLCA2OSwgNzgsIDg0LCA2NSwgNzEsIAotICAgIDgyLCA2NSwgNzcsIDEyOCwgODAsIDY5LCA3OCwgODQsIDY1LCA3MSwgNzksIDc4LCAxMjgsIDgwLCA2OSwgNzgsIDgzLCA4NSwgCi0gICAgMTI4LCA4MCwgNjksIDc4LCA4MywgNzMsIDg2LCAxOTcsIDgwLCA2OSwgNzgsIDc4LCAyMTcsIDgwLCA2OSwgNzgsIDczLCAKLSAgICA3MiwgNzMsIDEyOCwgODAsIDY5LCA3OCwgNzEsIDg1LCA3MywgNzgsIDEyOCwgODAsIDY5LCA3OCwgNzEsIDc1LCA2NSwgNzYsIAotICAgIDEyOCwgODAsIDY5LCA3OCwgNjksIDg0LCA4MiwgNjUsIDg0LCA3MywgNzksIDc4LCAxMjgsIDgwLCA2OSwgNzgsIDY3LCA3MywgCi0gICAgNzYsIDEyOCwgODAsIDY5LCA3NiwgNjUsIDgzLCA4NCwgNzksIDc4LCAxMjgsIDgwLCA2OSwgNzYsIDY1LCA4MywgODQsIDc5LCAKLSAgICAyMDYsIDgwLCA2OSwgNzMsIDg0LCA3MiwgMTI4LCA4MCwgNjksIDcyLCA2OSwgNzIsIDEyOCwgODAsIDY5LCA3MiwgNjksIAotICAgIDIwMCwgODAsIDY5LCA3MiwgMTI4LCA4MCwgNjksIDIwMCwgODAsIDY5LCA2OSwgOTAsIDczLCAxMjgsIDgwLCA2OSwgNjksIAotICAgIDgzLCA3MiwgNzMsIDEyOCwgODAsIDY5LCA2OSwgODAsIDEyOCwgODAsIDY5LCA2OSwgNzcsIDEyOCwgODAsIDY5LCA2OSwgCi0gICAgMTI4LCA4MCwgNjksIDY4LCA2OSwgODMsIDg0LCA4MiwgNzMsIDY1LCA3OCwgODMsIDEyOCwgODAsIDY5LCA2OCwgNjksIDgzLCAKLSAgICA4NCwgODIsIDczLCA2NSwgNzgsIDEyOCwgODAsIDY5LCA2OCwgNjksIDgzLCA4NCwgNjUsIDc2LCAxMjgsIDgwLCA2OSwgNjgsIAotICAgIDY5LCA4MywgODQsIDY1LCAyMDQsIDgwLCA2OSwgNjgsIDY1LCAyMDQsIDgwLCA2OSwgNjUsIDY3LCA3MiwgMTI4LCA4MCwgCi0gICAgNjksIDY1LCA2NywgNjksIDEyOCwgODAsIDY5LCA2NSwgNjcsIDE5NywgODAsIDY4LCA3MywgMTI4LCA4MCwgNjgsIDcwLCAKLSAgICAxMjgsIDgwLCA2OCwgMTI4LCA4MCwgNjcsIDEyOCwgODAsIDY1LCA5MCwgNjksIDgyLCAxMjgsIDgwLCA2NSwgODksIDY5LCAKLSAgICA4MiwgNzksIDc1LCAxMjgsIDgwLCA2NSwgODksIDY1LCA3OCwgNzgsIDY1LCAxMjgsIDgwLCA2NSwgODksIDEyOCwgODAsIAotICAgIDY1LCA4OCwgMTI4LCA4MCwgNjUsIDg3LCA3OCwgMTI4LCA4MCwgNjUsIDIxNSwgODAsIDY1LCA4NiwgNzMsIDg5LCA2NSwgCi0gICAgNzgsIDczLCAxMjgsIDgwLCA2NSwgODUsIDEyOCwgODAsIDY1LCA4NCwgODQsIDY5LCA4MiwgNzgsIDEyOCwgODAsIDY1LCAKLSAgICA4NCwgNzIsIDY1LCA3NywgNjUsIDgzLCA2NSwgODQsIDEyOCwgODAsIDY1LCA4NCwgMjAwLCA4MCwgNjUsIDg0LCA2NSwgNzUsIAotICAgIDEyOCwgODAsIDY1LCA4NCwgNjUsIDcyLCAxMjgsIDgwLCA2NSwgODQsIDEyOCwgODAsIDY1LCA4MywgODUsIDgxLCAxMjgsIAotICAgIDgwLCA2NSwgODMsIDgzLCA4MCwgNzksIDgyLCAyMTIsIDgwLCA2NSwgODMsIDgzLCA3MywgODYsIDY5LCA0NSwgODAsIDg1LCAKLSAgICA3NiwgNzYsIDQ1LCA4NSwgODAsIDQ1LCA3OSwgODUsIDg0LCA4MCwgODUsIDIxMiwgODAsIDY1LCA4MywgODMsIDczLCA4NiwgCi0gICAgNjksIDQ1LCA4MCwgODUsIDc2LCA3NiwgNDUsIDY4LCA3OSwgODcsIDc4LCA0NSwgNzksIDg1LCA4NCwgODAsIDg1LCAyMTIsIAotICAgIDgwLCA2NSwgODMsIDcyLCA4NCwgNjUsIDEyOCwgODAsIDY1LCA4MywgNzIsIDY1LCA2OSwgMTI4LCA4MCwgNjUsIDgzLCA2OSwgCi0gICAgODEsIDEyOCwgODAsIDY1LCA4MywgNjUsIDc4LCA3MSwgNjUsIDIwNiwgODAsIDY1LCA4MiwgODUsIDc3LCAxMjgsIDgwLCAKLSAgICA2NSwgODIsIDg0LCAyMTcsIDgwLCA2NSwgODIsIDg0LCA3OCwgNjksIDgyLCA4MywgNzIsIDczLCAyMDgsIDgwLCA2NSwgODIsIAotICAgIDg0LCA3MywgNjUsIDc2LCA3NiwgODksIDQ1LCA4MiwgNjksIDY3LCA4OSwgNjcsIDc2LCA2OSwgMTk2LCA4MCwgNjUsIDgyLCAKLSAgICA4NCwgNzMsIDY1LCAyMDQsIDgwLCA2NSwgODIsIDg0LCA3MiwgNzMsIDY1LCAyMDYsIDgwLCA2NSwgODIsIDIxMiwgODAsIAotICAgIDY1LCA4MiwgNzMsIDY3LCA3MiwgNzksIDc4LCAxMjgsIDgwLCA2NSwgODIsIDY5LCA4MywgODQsIDczLCA3MSwgNzcsIDY5LCAKLSAgICA3OCwgNzksIDIwNiwgODAsIDY1LCA4MiwgNjksIDgyLCA2OSwgNzgsIDEyOCwgODAsIDY1LCA4MiwgNjksIDc4LCA4NCwgNzIsIAotICAgIDY5LCA4MywgNzMsIDgzLCAxMjgsIDgwLCA2NSwgODIsIDY5LCA3OCwgODQsIDcyLCA2OSwgODMsIDczLCAyMTEsIDgwLCA2NSwgCi0gICAgODIsIDY1LCA4MCwgNzIsIDgyLCA2NSwgODMsIDE5NywgODAsIDY1LCA4MiwgNjUsIDc2LCA3NiwgNjksIDc2LCA3OSwgNzEsIAotICAgIDgyLCA2NSwgNzcsIDEyOCwgODAsIDY1LCA4MiwgNjUsIDc2LCA3NiwgNjksIDc2LCAxMjgsIDgwLCA2NSwgODIsIDY1LCA3NiwgCi0gICAgNzYsIDY5LCAyMDQsIDgwLCA2NSwgODIsIDY1LCA3NSwgNzYsIDczLCA4NCwgNzMsIDc1LCA3MywgMTI4LCA4MCwgNjUsIDgyLCAKLSAgICA2NSwgNzUsIDc2LCA3MywgODQsIDczLCA3NSwgMjAxLCA4MCwgNjUsIDgyLCA2NSwgNzUsIDY1LCA3NiwgNjksIDgzLCA3NywgCi0gICAgMTkzLCA4MCwgNjUsIDgyLCA2NSwgNzEsIDgyLCA2NSwgODAsIDcyLCA3OSwgODMsIDEyOCwgODAsIDY1LCA4MiwgNjUsIDcxLCAKLSAgICA4MiwgNjUsIDgwLCA3MiwgMTI4LCA4MCwgNjUsIDgyLCA2NSwgNzEsIDgyLCA2NSwgODAsIDIwMCwgODAsIDY1LCA4MiwgNjUsIAotICAgIDEyOCwgODAsIDY1LCA4MiwgMTI4LCA4MCwgNjUsIDgwLCA4OSwgODIsIDg1LCA4MywgMTI4LCA4MCwgNjUsIDgwLCA2OSwgCi0gICAgODIsIDY3LCA3NiwgNzMsIDgwLCAxMjgsIDgwLCA2NSwgODAsIDY5LCAyMTAsIDgwLCA2NSwgODAsIDEyOCwgODAsIDY1LCAKLSAgICAyMDgsIDgwLCA2NSwgMjA3LCA4MCwgNjUsIDc4LCA4OSwgODUsIDc1LCA4NSwgMTI4LCA4MCwgNjUsIDc4LCA4OSwgNzMsIAotICAgIDc1LCA4NSwgMTI4LCA4MCwgNjUsIDc4LCA4OSwgNjksIDY3LCA2OSwgNzUsIDEyOCwgODAsIDY1LCA3OCwgODksIDY1LCA3OCwgCi0gICAgNzEsIDcxLCA2NSwgMTI4LCA4MCwgNjUsIDc4LCA4OSwgNjUsIDc1LCA4MiwgNjUsIDEyOCwgODAsIDY1LCA3OCwgODQsIDczLCAKLSAgICAxMjgsIDgwLCA2NSwgNzgsIDgzLCA3MywgNzksIDgzLCA0NSwgODAsIDczLCA2OSwgODUsIDgwLCAxMjgsIDgwLCA2NSwgNzgsIAotICAgIDgzLCA3MywgNzksIDgzLCA0NSwgNzUsIDY1LCA4MCwgODksIDY5LCA3OSwgODUsIDc4LCA4MCwgNzMsIDY5LCA4NSwgODAsIAotICAgIDEyOCwgODAsIDY1LCA3OCwgNzksIDc4LCA3MSwgNzksIDc4LCA2NSwgNzgsIDEyOCwgODAsIDY1LCA3OCwgNzksIDc2LCA3OSwgCi0gICAgNzgsIDcxLCAxMjgsIDgwLCA2NSwgNzgsIDcxLCA4NywgNzMsIDgzLCA2NSwgNjgsIDEyOCwgODAsIDY1LCA3OCwgNzEsIDgyLCAKLSAgICA2NSwgNzgsIDcxLCA3NSwgNjksIDgwLCAxMjgsIDgwLCA2NSwgNzgsIDcxLCA3OSwgNzYsIDY1LCA4NCwgMTI4LCA4MCwgNjUsIAotICAgIDc4LCA3MSwgNzYsIDc5LCA3OCwgNzEsIDEyOCwgODAsIDY1LCA3OCwgNzEsIDc2LCA2NSwgODksIDY1LCA4MiwgMTI4LCA4MCwgCi0gICAgNjUsIDc4LCA3MSwgNzUsIDc5LCA3OCwgMTI4LCA4MCwgNjUsIDc4LCA3MSwgNzUsIDY1LCA4NCwgMTI4LCA4MCwgNjUsIDc4LCAKLSAgICA3MSwgNzIsIDg1LCA3NiwgODUsIDEyOCwgODAsIDY1LCA3OCwgNzEsIDEyOCwgODAsIDY1LCA3OCwgNjksIDg1LCA3NiwgNjksIAotICAgIDg1LCA3OCwgNzEsIDEyOCwgODAsIDY1LCA3OCwgNjgsIDE5MywgODAsIDY1LCA3OCwgNjUsIDY5LCA3NiwgNjUsIDY5LCA3OCwgCi0gICAgNzEsIDEyOCwgODAsIDY1LCA3OCwgMTI4LCA4MCwgNjUsIDc3LCA4NSwgNzgsIDcxLCA3NSwgNjUsIDcyLCAxMjgsIDgwLCAKLSAgICA2NSwgNzcsIDg1LCA2OCwgODAsIDc5LCA2OCwgMTI4LCA4MCwgNjUsIDc3LCA4MywgNzIsIDY1LCA2OSwgMTI4LCA4MCwgNjUsIAotICAgIDc3LCA4MCwgNzIsIDg5LCA3NiwgNzMsIDY1LCAyMDYsIDgwLCA2NSwgNzcsIDczLCA3OCwgNzEsIDc1LCA2NSwgNzYsIDEyOCwgCi0gICAgODAsIDY1LCA3NywgNjksIDgwLCA2OSwgODQsIDEyOCwgODAsIDY1LCA3NywgNjksIDc4LCA2OSwgNzgsIDcxLCAxMjgsIDgwLCAKLSAgICA2NSwgNzcsIDY1LCA2OCwgNjUsIDEyOCwgODAsIDY1LCA3NywgNjUsIDY1LCA2OSwgNzIsIDEyOCwgODAsIDY1LCA3NiwgODUsIAotICAgIDg0LCA2NSwgMTI4LCA4MCwgNjUsIDc2LCA3OSwgNjcsIDcyLCA3NSwgNjUsIDEyOCwgODAsIDY1LCA3NiwgMjA1LCA4MCwgCi0gICAgNjUsIDc2LCA3NiwgNjUsIDg3LCA2NSwgMTI4LCA4MCwgNjUsIDc2LCA3NiwgNjUsIDgzLCAxMjgsIDgwLCA2NSwgNzYsIDY5LCAKLSAgICA4NCwgODQsIDY5LCAxMjgsIDgwLCA2NSwgNzYsIDY1LCA4NSwgNzgsIDE5OSwgODAsIDY1LCA3NiwgNjUsIDg0LCA2NSwgNzYsIAotICAgIDczLCA5MCwgNjksIDE5NiwgODAsIDY1LCA3NiwgNjUsIDg0LCA2NSwgNzYsIDczLCA5MCwgNjUsIDg0LCA3MywgNzksIDc4LCAKLSAgICAxMjgsIDgwLCA2NSwgNzYsIDY1LCA4NCwgNjUsIDIwNCwgODAsIDY1LCA3NSwgODAsIDY1LCAyMDMsIDgwLCA2NSwgNzMsIAotICAgIDg5LCA2NSwgNzgsIDc4LCA3OSwgNzMsIDEyOCwgODAsIDY1LCA3MywgODIsIDg0LCA3MiwgODIsIDY1LCAxMjgsIDgwLCA2NSwgCi0gICAgNzMsIDgyLCA2OSwgMTk2LCA4MCwgNjUsIDczLCAxMjgsIDgwLCA2NSwgNzIsIDc2LCA2NSwgODYsIDIwMSwgODAsIDY1LCAKLSAgICA3MiwgMTI4LCA4MCwgNjUsIDcxLCA2OSwgODIsIDEyOCwgODAsIDY1LCA3MSwgMTk3LCA4MCwgNjUsIDY4LCA3NywgMTkzLCAKLSAgICA4MCwgNjUsIDY4LCA2OCwgNzMsIDc4LCAxOTksIDgwLCA2NSwgNjgsIDE5MywgODAsIDY1LCA2OCwgMTI4LCA4MCwgNjUsIAotICAgIDY3LCA3NSwgNzMsIDc4LCA3MSwgMTI4LCA4MCwgNjUsIDY3LCA3NSwgNjUsIDcxLCA2OSwgMTI4LCA4MCwgNjUsIDY1LCA4NCwgCi0gICAgODUsIDEyOCwgODAsIDY1LCA2NSwgODMsIDY5LCA3OCwgODQsIDc5LCAxMjgsIDgwLCA2NSwgNjUsIDgyLCA2NSwgNjksIAotICAgIDEyOCwgODAsIDY1LCA2NSwgNzcsIDEyOCwgODAsIDY1LCA2NSwgNzMsIDEyOCwgODAsIDY1LCA2NSwgNDUsIDgwLCA3MywgCi0gICAgNzYsIDc2LCA2NSwgMTI4LCA4MCwgNjUsIDY1LCAxMjgsIDgwLCA1MCwgMTI4LCA4MCwgNDgsIDQ5LCA0OSwgMTI4LCA4MCwgCi0gICAgNDgsIDQ5LCA0OCwgMTI4LCA4MCwgNDgsIDQ4LCA1NywgMTI4LCA4MCwgNDgsIDQ4LCA1NiwgMTI4LCA4MCwgNDgsIDQ4LCAKLSAgICA1NSwgMTI4LCA4MCwgNDgsIDQ4LCA1NCwgMTI4LCA4MCwgNDgsIDQ4LCA1MywgMTI4LCA4MCwgNDgsIDQ4LCA1MiwgMTI4LCAKLSAgICA4MCwgNDgsIDQ4LCA1MSwgNjUsIDEyOCwgODAsIDQ4LCA0OCwgNTEsIDEyOCwgODAsIDQ4LCA0OCwgNTAsIDEyOCwgODAsIAotICAgIDQ4LCA0OCwgNDksIDY1LCAxMjgsIDgwLCA0OCwgNDgsIDQ5LCAxMjgsIDc5LCA4OSwgODIsIDY1LCA3OCwgNzMsIDgzLCA3NywgCi0gICAgMTkzLCA3OSwgODksIDY1LCA3OCwgNzgsIDY1LCAxMjgsIDc5LCA4OCwgNzMsIDY1LCAxMjgsIDc5LCA4OCwgNzMsIDE5MywgCi0gICAgNzksIDg4LCA2OSwgNzMsIDY1LCAyMDEsIDc5LCA4OCwgNjksIDczLCAxOTMsIDc5LCA4NiwgNjksIDgyLCA4MiwgNzMsIDY4LCAKLSAgICA2OSwgMTI4LCA3OSwgODYsIDY5LCA4MiwgNzYsIDc5LCA3OCwgMTk5LCA3OSwgODYsIDY5LCA4MiwgNzYsIDczLCA3OCwgNjksIAorICAgIDg0LCA0NSwgODAsIDc5LCA3MywgNzgsIDg0LCA3MywgNzgsIDE5OSwgODIsIDczLCA3MSwgNzIsIDg0LCA0NSwgNzYsIDczLCAKKyAgICA3MSwgNzIsIDg0LCA2OSwgMTk2LCA4MiwgNzMsIDcxLCA3MiwgODQsIDQ1LCA3MiwgNjUsIDc4LCA2OCwgNjksIDE5NiwgODIsIAorICAgIDczLCA3MSwgNzIsIDg0LCA0NSwgNzIsIDY1LCA3OCwgMTk2LCA4MiwgNzMsIDcxLCA3MiwgODQsIDQ1LCA3MCwgNjUsIDY3LCAKKyAgICA3MywgNzgsIDE5OSwgODIsIDczLCA3MSwgNzIsIDg0LCAxMjgsIDgyLCA3MywgNjksIDg1LCA3NiwgNDUsIDg5LCA2OSwgODMsIAorICAgIDczLCA2OSwgODUsIDc4LCA3MSwgMTI4LCA4MiwgNzMsIDY5LCA4NSwgNzYsIDQ1LCA4OSwgNjksIDc5LCA4MiwgNzMsIDc4LCAKKyAgICA3MiwgNzMsIDY5LCA4NSwgNzIsIDQ1LCA3MiwgNzMsIDY5LCA4NSwgNzIsIDEyOCwgODIsIDczLCA2OSwgODUsIDc2LCA0NSwgCisgICAgODksIDY5LCA3OSwgODIsIDczLCA3OCwgNzIsIDczLCA2OSwgODUsIDcyLCAxMjgsIDgyLCA3MywgNjksIDg1LCA3NiwgNDUsIAorICAgIDg0LCA3MywgNzUsIDY5LCA4NSwgODQsIDQ1LCA3MiwgNzMsIDY5LCA4NSwgNzIsIDEyOCwgODIsIDczLCA2OSwgODUsIDc2LCAKKyAgICA0NSwgODQsIDczLCA3NSwgNjksIDg1LCA4NCwgMTI4LCA4MiwgNzMsIDY5LCA4NSwgNzYsIDQ1LCA4NCwgNzIsIDczLCA2OSwgCisgICAgODUsIDg0LCA3MiwgMTI4LCA4MiwgNzMsIDY5LCA4NSwgNzYsIDQ1LCA4MywgODMsIDY1LCA3OCwgNzEsIDg0LCA3MywgNzUsIAorICAgIDY5LCA4NSwgODQsIDEyOCwgODIsIDczLCA2OSwgODUsIDc2LCA0NSwgODMsIDgzLCA2NSwgNzgsIDcxLCA4MywgNzMsIDc5LCAKKyAgICA4MywgMTI4LCA4MiwgNzMsIDY5LCA4NSwgNzYsIDQ1LCA4MywgODMsIDY1LCA3OCwgNzEsIDgwLCA3MywgNjksIDg1LCA4MCwgCisgICAgMTI4LCA4MiwgNzMsIDY5LCA4NSwgNzYsIDQ1LCA4MywgODMsIDY1LCA3OCwgNzEsIDc1LCA3MywgODksIDY5LCA3OSwgNzUsIAorICAgIDEyOCwgODIsIDczLCA2OSwgODUsIDc2LCA0NSwgODMsIDczLCA3OSwgODMsIDEyOCwgODIsIDczLCA2OSwgODUsIDc2LCA0NSwgCisgICAgODAsIDczLCA2OSwgODUsIDgwLCA0NSwgODQsIDczLCA3NSwgNjksIDg1LCA4NCwgMTI4LCA4MiwgNzMsIDY5LCA4NSwgNzYsIAorICAgIDQ1LCA4MCwgNzMsIDY5LCA4NSwgODAsIDQ1LCA4MywgNzMsIDc5LCA4MywgMTI4LCA4MiwgNzMsIDY5LCA4NSwgNzYsIDQ1LCAKKyAgICA4MCwgNzMsIDY5LCA4NSwgODAsIDQ1LCA4MCwgNzIsIDczLCA2OSwgODUsIDgwLCA3MiwgMTI4LCA4MiwgNzMsIDY5LCA4NSwgCisgICAgNzYsIDQ1LCA4MCwgNzMsIDY5LCA4NSwgODAsIDQ1LCA3MiwgNzMsIDY5LCA4NSwgNzIsIDEyOCwgODIsIDczLCA2OSwgODUsIAorICAgIDc2LCA0NSwgODAsIDczLCA2OSwgODUsIDgwLCAxMjgsIDgyLCA3MywgNjksIDg1LCA3NiwgNDUsIDgwLCA3MiwgNzMsIDY5LCAKKyAgICA4NSwgODAsIDcyLCAxMjgsIDgyLCA3MywgNjksIDg1LCA3NiwgNDUsIDgwLCA2NSwgNzgsIDgzLCA3MywgNzksIDgzLCAxMjgsIAorICAgIDgyLCA3MywgNjksIDg1LCA3NiwgNDUsIDc4LCA3MywgNjksIDg1LCA3OCwgMTI4LCA4MiwgNzMsIDY5LCA4NSwgNzYsIDQ1LCAKKyAgICA3NywgNzMsIDY5LCA4NSwgNzcsIDQ1LCA4MywgNzMsIDc5LCA4MywgMTI4LCA4MiwgNzMsIDY5LCA4NSwgNzYsIDQ1LCA3NywgCisgICAgNzMsIDY5LCA4NSwgNzcsIDQ1LCA3NSwgNzMsIDg5LCA2OSwgNzksIDc1LCAxMjgsIDgyLCA3MywgNjksIDg1LCA3NiwgNDUsIAorICAgIDc3LCA3MywgNjksIDg1LCA3NywgNDUsIDcyLCA3MywgNjksIDg1LCA3MiwgMTI4LCA4MiwgNzMsIDY5LCA4NSwgNzYsIDQ1LCAKKyAgICA3NywgNzMsIDY5LCA4NSwgNzcsIDEyOCwgODIsIDczLCA2OSwgODUsIDc2LCA0NSwgNzUsIDczLCA4OSwgNjksIDc5LCA3NSwgCisgICAgNDUsIDgzLCA3MywgNzksIDgzLCAxMjgsIDgyLCA3MywgNjksIDg1LCA3NiwgNDUsIDc1LCA3MywgODksIDY5LCA3OSwgNzUsIAorICAgIDQ1LCA3MiwgNzMsIDY5LCA4NSwgNzIsIDEyOCwgODIsIDczLCA2OSwgODUsIDc2LCA0NSwgNzUsIDczLCA4OSwgNjksIDc5LCAKKyAgICA3NSwgMTI4LCA4MiwgNzMsIDY5LCA4NSwgNzYsIDQ1LCA3NSwgNjUsIDgwLCA4OSwgNjksIDc5LCA4NSwgNzgsIDgwLCA3MywgCisgICAgNjksIDg1LCA4MCwgMTI4LCA4MiwgNzMsIDY5LCA4NSwgNzYsIDQ1LCA3MiwgNzMsIDY5LCA4NSwgNzIsIDEyOCwgODIsIDczLCAKKyAgICA2OSwgODUsIDc2LCA0NSwgNjcsIDczLCA2OSwgODUsIDY3LCAxMjgsIDgyLCA3MywgNjksIDg1LCAyMDQsIDgyLCA3MywgNjksIAorICAgIDc2LCAxMjgsIDgyLCA3MywgNjksIDY5LCAxMjgsIDgyLCA3MywgNjcsIDY5LCA3NywgMTI4LCA4MiwgNzMsIDY3LCA2OSwgCisgICAgMTI4LCA4MiwgNzMsIDY3LCAxOTcsIDgyLCA3MywgNjYsIDY2LCA3OSwgNzgsIDEyOCwgODIsIDczLCA2NiwgNjYsIDc5LCAKKyAgICAyMDYsIDgyLCA3MywgNjUsIDIwNCwgODIsIDcyLCA3OSwgODQsIDczLCAxOTUsIDgyLCA3MiwgNzksIDEyOCwgODIsIDcyLCAKKyAgICAyMDcsIDgyLCA3MiwgNjUsIDEyOCwgODIsIDcyLCAxMjgsIDgyLCA3MSwgODksIDczLCA3OCwgNzEsIDgzLCAxMjgsIDgyLCAKKyAgICA3MSwgODksIDY1LCA3OCwgMTI4LCA4MiwgNzEsIDg5LCAxOTMsIDgyLCA2OSwgODYsIDc5LCA3NiwgODYsIDczLCA3OCwgCisgICAgMTk5LCA4MiwgNjksIDg2LCA3OSwgNzYsIDg1LCA4NCwgNzMsIDc5LCA3OCwgMTI4LCA4MiwgNjksIDg2LCA3NywgNjUsIAorICAgIDEyOCwgODIsIDY5LCA4NiwgNzMsIDY1LCAxMjgsIDgyLCA2OSwgODYsIDY5LCA4MiwgODMsIDY5LCA2OCwgNDUsIDgzLCA2NywgCisgICAgNzIsIDg3LCA2NSwgMTI4LCA4MiwgNjksIDg2LCA2OSwgODIsIDgzLCA2OSwgNjgsIDEyOCwgODIsIDY5LCA4NiwgNjksIDgyLCAKKyAgICA4MywgNjksIDE5NiwgODIsIDY5LCA4NiwgNjksIDgyLCA4MywgMTk3LCA4MiwgNjksIDg1LCA4OCwgMTI4LCA4MiwgNjksIAorICAgIDg1LCAxMjgsIDgyLCA2OSwgODQsIDg1LCA4MiwgNzgsIDEyOCwgODIsIDY5LCA4NCwgODUsIDgyLCAyMDYsIDgyLCA2OSwgCisgICAgODQsIDgyLCA3OSwgNzAsIDc2LCA2OSwgMjE2LCA4MiwgNjksIDg0LCA4MiwgNjksIDY1LCA4NCwgMTI4LCA4MiwgNjksIDg0LCAKKyAgICA3OSwgODIsIDg0LCAxMjgsIDgyLCA2OSwgODMsIDg1LCA4MCwgNzMsIDc4LCA4NSwgODMsIDEyOCwgODIsIDY5LCA4MywgODQsIAorICAgIDgyLCA3OSwgNzksIDc3LCAxMjgsIDgyLCA2OSwgODMsIDg0LCA4MiwgNzMsIDY3LCA4NCwgNjksIDE5NiwgODIsIDY5LCA4MywgCisgICAgODQsIDEyOCwgODIsIDY5LCA4MywgODAsIDc5LCA3OCwgODMsIDY5LCAxMjgsIDgyLCA2OSwgODMsIDc5LCA4NSwgODIsIDY3LCAKKyAgICA2OSwgMTI4LCA4MiwgNjksIDgzLCA3OSwgNzYsIDg1LCA4NCwgNzMsIDc5LCA3OCwgMTI4LCA4MiwgNjksIDgzLCA3MywgODMsIAorICAgIDg0LCA2NSwgNzgsIDY3LCA2OSwgMTI4LCA4MiwgNjksIDgzLCA3MywgNjgsIDY5LCA3OCwgNjcsIDY5LCAxMjgsIDgyLCA2OSwgCisgICAgODMsIDIwMCwgODIsIDY5LCA4MiwgNjksIDc4LCA3MSwgNzEsIDY1LCA3OCwgMTI4LCA4MiwgNjksIDgyLCA2OSwgNzUsIDY1LCAKKyAgICA3OCwgMTI4LCA4MiwgNjksIDgwLCA4MiwgNjksIDgzLCA2OSwgNzgsIDg0LCAxMjgsIDgyLCA2OSwgODAsIDc2LCA2NSwgNjcsIAorICAgIDY5LCA3NywgNjksIDc4LCAyMTIsIDgyLCA2OSwgODAsIDcyLCAxMjgsIDgyLCA2OSwgODAsIDY5LCA4NCwgNzMsIDg0LCA3MywgCisgICAgNzksIDIwNiwgODIsIDY5LCA4MCwgNjksIDY1LCA4NCwgNjksIDE5NiwgODIsIDY5LCA4MCwgNjksIDY1LCA4NCwgMTI4LCAKKyAgICA4MiwgNjksIDgwLCA2OSwgNjUsIDIxMiwgODIsIDY5LCA4MCwgNjUsIDg5LCA2NSwgMTI4LCA4MiwgNjksIDgwLCA2NSwgCisgICAgMTI4LCA4MiwgNjksIDgwLCAxOTMsIDgyLCA2OSwgNzgsIDg0LCA3OSwgNzEsIDY5LCA3OCwgMTI4LCA4MiwgNjksIDc4LCAKKyAgICAxMjgsIDgyLCA2OSwgMjA2LCA4MiwgNjksIDc3LCA4NSwgMTI4LCA4MiwgNjksIDc3LCA3MywgNzgsIDY4LCA2OSwgMjEwLCAKKyAgICA4MiwgNjksIDc3LCA2OSwgNjgsIDg5LCAxMjgsIDgyLCA2OSwgNzYsIDczLCA3MSwgNzMsIDc5LCA3OCwgMTI4LCA4MiwgNjksIAorICAgIDc2LCA3MywgNjksIDg2LCA2OSwgMTk2LCA4MiwgNjksIDc2LCA2OSwgNjUsIDgzLCA2OSwgMTI4LCA4MiwgNjksIDc2LCA2NSwgCisgICAgODQsIDczLCA3OSwgNzgsIDY1LCAyMDQsIDgyLCA2OSwgNzYsIDY1LCA4NCwgNzMsIDc5LCA3OCwgMTI4LCA4MiwgNjksIDc2LCAKKyAgICA2NSwgNjUsIDEyOCwgODIsIDY5LCA3NCwgNjUsIDc4LCAxOTksIDgyLCA2OSwgNzMsIDE5NiwgODIsIDY5LCA3MywgMTI4LCAKKyAgICA4MiwgNjksIDcxLCA4NSwgNzYsIDg1LCA4MywgNDUsIDUyLCAxMjgsIDgyLCA2OSwgNzEsIDg1LCA3NiwgODUsIDgzLCA0NSwgCisgICAgNTEsIDEyOCwgODIsIDY5LCA3MSwgODUsIDc2LCA4NSwgODMsIDQ1LCA1MCwgMTI4LCA4MiwgNjksIDcxLCA4NSwgNzYsIDg1LCAKKyAgICA4MywgMTI4LCA4MiwgNjksIDcxLCA4NSwgNzYsIDg1LCAyMTEsIDgyLCA2OSwgNzEsIDczLCA4MywgODQsIDY5LCA4MiwgNjksIAorICAgIDE5NiwgODIsIDY5LCA3MSwgNzMsIDc5LCA3OCwgNjUsIDIwNCwgODIsIDY5LCA3MSwgNzMsIDY1LCA0NSwgNTAsIDEyOCwgCisgICAgODIsIDY5LCA3MSwgNzMsIDY1LCAxMjgsIDgyLCA2OSwgNzAsIDc5LCA4MiwgNzcsIDY5LCAxOTYsIDgyLCA2OSwgNzAsIDY5LCAKKyAgICA4MiwgNjksIDc4LCA2NywgMTk3LCA4MiwgNjksIDY4LCA4NSwgODAsIDc2LCA3MywgNjcsIDY1LCA4NCwgNzMsIDc5LCA3OCwgCisgICAgMTI4LCA4MiwgNjksIDY3LCA4OSwgNjcsIDc2LCA3MywgNzgsIDE5OSwgODIsIDY5LCA2NywgODksIDY3LCA3NiwgNjksIAorICAgIDE5NiwgODIsIDY5LCA2NywgODQsIDczLCA3NiwgNzMsIDc4LCA2OSwgNjUsIDIxMCwgODIsIDY5LCA2NywgODQsIDY1LCA3OCwgCisgICAgNzEsIDg1LCA3NiwgNjUsIDIxMCwgODIsIDY5LCA2NywgODQsIDY1LCA3OCwgNzEsIDc2LCA2OSwgMTI4LCA4MiwgNjksIDY3LCAKKyAgICA4NCwgNjUsIDc4LCA3MSwgNzYsIDE5NywgODIsIDY5LCA2NywgODIsIDY5LCA2NSwgODQsIDczLCA3OSwgNzgsIDY1LCAyMDQsIAorICAgIDgyLCA2OSwgNjcsIDc5LCA4MiwgNjgsIDczLCA3OCwgMTk5LCA4MiwgNjksIDY3LCA3OSwgODIsIDY4LCA2OSwgODIsIDEyOCwgCisgICAgODIsIDY5LCA2NywgNzksIDgyLCA2OCwgMTI4LCA4MiwgNjksIDY3LCA3OSwgODIsIDE5NiwgODIsIDY5LCA2NywgNjksIDgwLCAKKyAgICA4NCwgNzMsIDg2LCAxOTcsIDgyLCA2OSwgNjcsIDY5LCA3MywgODYsIDY5LCA4MiwgMTI4LCA4MiwgNjksIDY3LCA2OSwgNzMsIAorICAgIDg2LCA2OSwgMjEwLCA4MiwgNjksIDY1LCA3NiwgNzEsIDY1LCA4MiwgNDUsIDUwLCAxMjgsIDgyLCA2OSwgNjUsIDc2LCA3MSwgCisgICAgNjUsIDgyLCAxMjgsIDgyLCA2OSwgNjUsIDcyLCA3NywgODUsIDc1LCAxMjgsIDgyLCA2OSwgNjUsIDY3LCA3MiwgMTI4LCAKKyAgICA4MiwgNjgsIDIwNywgODIsIDY4LCA2OSwgMjA0LCA4MiwgNjYsIDY1LCA4MywgMTkzLCA4MiwgNjUsIDg5LCA4MywgMTI4LCAKKyAgICA4MiwgNjUsIDg5LCAyMTEsIDgyLCA2NSwgODksIDY1LCA3OCwgNzgsIDY1LCAxMjgsIDgyLCA2NSwgODQsIDczLCA3OSwgCisgICAgMTI4LCA4MiwgNjUsIDg0LCA3MiwgNjUsIDEyOCwgODIsIDY1LCA4NCwgNzIsIDE5MywgODIsIDY1LCA4NCwgNjUsIDEyOCwgCisgICAgODIsIDY1LCA4NCwgMTI4LCA4MiwgNjUsIDgzLCA4NywgNjUsIDY4LCA3MywgMTI4LCA4MiwgNjUsIDgzLCA3OSwgODUsIAorICAgIDIwNCwgODIsIDY1LCA4MywgNzIsIDY1LCAxMjgsIDgyLCA2NSwgODEsIDEyOCwgODIsIDY1LCA4MCwgNzMsIDgzLCA3NywgCisgICAgNjUsIDEyOCwgODIsIDY1LCA3OCwgNzEsIDE5NywgODIsIDY1LCA3OCwgNjUsIDEyOCwgODIsIDY1LCA3OCwgMTI4LCA4MiwgCisgICAgNjUsIDc3LCAyMTEsIDgyLCA2NSwgNzcsIDY2LCA2NSwgODQsIDEyOCwgODIsIDY1LCA3NSwgNzIsIDY1LCA3OCwgNzEsIAorICAgIDEyOCwgODIsIDY1LCA3NSwgNjUsIDY1LCA4MiwgNjUsIDY1LCA3OCwgODMsIDY1LCA4OSwgNjUsIDEyOCwgODIsIDY1LCA3MywgCisgICAgODMsIDczLCA3OCwgMTk5LCA4MiwgNjUsIDczLCA4MywgNjksIDE5NiwgODIsIDY1LCA3MywgNzgsIDY2LCA3OSwgODcsIAorICAgIDEyOCwgODIsIDY1LCA3MywgNzYsIDg3LCA2NSwgODksIDEyOCwgODIsIDY1LCA3MywgNzYsIDg3LCA2NSwgMjE3LCA4MiwgCisgICAgNjUsIDczLCA3NiwgMTI4LCA4MiwgNjUsIDczLCA2OCwgMjA3LCA4MiwgNjUsIDczLCA2OCwgNjUsIDEyOCwgODIsIDY1LCAKKyAgICA3MiwgNzcsIDY1LCA4NCwgODUsIDc2LCA3NiwgNjUsIDIwMCwgODIsIDY1LCA3MiwgMTI4LCA4MiwgNjUsIDcwLCA2OSwgCisgICAgMTI4LCA4MiwgNjUsIDY5LCA3NywgMTI4LCA4MiwgNjUsIDY4LCA3MywgNzksIDY1LCA2NywgODQsIDczLCA4NiwgMTk3LCAKKyAgICA4MiwgNjUsIDY4LCA3MywgNzksIDEyOCwgODIsIDY1LCA2OCwgNzMsIDIwNywgODIsIDY1LCA2OCwgMjAxLCA4MiwgNjUsIAorICAgIDY4LCAxMjgsIDgyLCA2NSwgMTk2LCA4MiwgNjUsIDY3LCA4MSwgODUsIDY5LCAyMTIsIDgyLCA2NSwgNjcsIDczLCA3OCwgCisgICAgNzEsIDEyOCwgODIsIDY1LCA2NywgNzMsIDc4LCAxOTksIDgyLCA2NSwgNjYsIDY2LCA3MywgODQsIDEyOCwgODIsIDY1LCAKKyAgICA2NiwgNjYsIDczLCAyMTIsIDgyLCA2NSwgNjYsIDEyOCwgODIsIDY1LCA2NSwgNzMsIDEyOCwgODIsIDY1LCA1MSwgMTI4LCAKKyAgICA4MiwgNjUsIDUwLCAxMjgsIDgyLCA2NSwgNDUsIDUwLCAxMjgsIDgyLCA0OCwgNTAsIDU3LCAxMjgsIDgyLCA0OCwgNTAsIAorICAgIDU2LCAxMjgsIDgyLCA0OCwgNTAsIDU1LCAxMjgsIDgyLCA0OCwgNTAsIDU0LCAxMjgsIDgyLCA0OCwgNTAsIDUzLCAxMjgsIAorICAgIDgyLCA0OCwgNTAsIDUyLCAxMjgsIDgyLCA0OCwgNTAsIDUxLCAxMjgsIDgyLCA0OCwgNTAsIDUwLCAxMjgsIDgyLCA0OCwgCisgICAgNTAsIDQ5LCAxMjgsIDgyLCA0OCwgNTAsIDQ4LCAxMjgsIDgyLCA0OCwgNDksIDU3LCAxMjgsIDgyLCA0OCwgNDksIDU2LCAKKyAgICAxMjgsIDgyLCA0OCwgNDksIDU1LCAxMjgsIDgyLCA0OCwgNDksIDU0LCA2NSwgMTI4LCA4MiwgNDgsIDQ5LCA1NCwgMTI4LCAKKyAgICA4MiwgNDgsIDQ5LCA1MywgMTI4LCA4MiwgNDgsIDQ5LCA1MiwgMTI4LCA4MiwgNDgsIDQ5LCA1MSwgMTI4LCA4MiwgNDgsIAorICAgIDQ5LCA1MCwgMTI4LCA4MiwgNDgsIDQ5LCA0OSwgMTI4LCA4MiwgNDgsIDQ5LCA0OCwgNjUsIDEyOCwgODIsIDQ4LCA0OSwgCisgICAgNDgsIDEyOCwgODIsIDQ4LCA0OCwgNTcsIDEyOCwgODIsIDQ4LCA0OCwgNTYsIDEyOCwgODIsIDQ4LCA0OCwgNTUsIDEyOCwgCisgICAgODIsIDQ4LCA0OCwgNTQsIDEyOCwgODIsIDQ4LCA0OCwgNTMsIDEyOCwgODIsIDQ4LCA0OCwgNTIsIDEyOCwgODIsIDQ4LCAKKyAgICA0OCwgNTEsIDY2LCAxMjgsIDgyLCA0OCwgNDgsIDUxLCA2NSwgMTI4LCA4MiwgNDgsIDQ4LCA1MSwgMTI4LCA4MiwgNDgsIAorICAgIDQ4LCA1MCwgNjUsIDEyOCwgODIsIDQ4LCA0OCwgNTAsIDEyOCwgODIsIDQ4LCA0OCwgNDksIDEyOCwgODIsIDQ1LCA2NywgCisgICAgODIsIDY5LCAxOTcsIDgxLCA4OSwgODgsIDEyOCwgODEsIDg5LCA4NSwgMTI4LCA4MSwgODksIDg0LCAxMjgsIDgxLCA4OSwgCisgICAgODIsIDg4LCAxMjgsIDgxLCA4OSwgODIsIDEyOCwgODEsIDg5LCA4MCwgMTI4LCA4MSwgODksIDc5LCAxMjgsIDgxLCA4OSwgCisgICAgNzMsIDEyOCwgODEsIDg5LCA2OSwgNjksIDEyOCwgODEsIDg5LCA2OSwgMTI4LCA4MSwgODksIDY1LCA2NSwgMTI4LCA4MSwgCisgICAgODksIDY1LCAxMjgsIDgxLCA4OSwgMTI4LCA4MSwgODcsIDczLCAxMjgsIDgxLCA4NywgNjksIDY5LCAxMjgsIDgxLCA4NywgCisgICAgNjksIDEyOCwgODEsIDg3LCA2NSwgNjUsIDEyOCwgODEsIDg3LCA2NSwgMTI4LCA4MSwgODUsIDg4LCAxMjgsIDgxLCA4NSwgCisgICAgODYsIDEyOCwgODEsIDg1LCA4NSwgODYsIDEyOCwgODEsIDg1LCA4NSwgMTI4LCA4MSwgODUsIDg0LCAxMjgsIDgxLCA4NSwgCisgICAgODMsIDcyLCA4MywgNzIsIDY1LCA4OSwgNjUsIDEyOCwgODEsIDg1LCA4MiwgODgsIDEyOCwgODEsIDg1LCA4MiwgMTI4LCAKKyAgICA4MSwgODUsIDgwLCAxMjgsIDgxLCA4NSwgNzksIDg4LCAxMjgsIDgxLCA4NSwgNzksIDg0LCAxOTcsIDgxLCA4NSwgNzksIAorICAgIDg0LCA2NSwgODQsIDczLCA3OSwgMjA2LCA4MSwgODUsIDc5LCA4NCwgMTI4LCA4MSwgODUsIDc5LCA4MCwgMTI4LCA4MSwgCisgICAgODUsIDc5LCAxMjgsIDgxLCA4NSwgNzUsIDEyOCwgODEsIDg1LCA3MywgNzgsIDg0LCA2OSwgODMsIDgzLCA2OSwgNzgsIDY3LCAKKyAgICA2OSwgMTI4LCA4MSwgODUsIDczLCA3OCwgNjgsIDczLCA2NywgNjksIDgzLCA3MywgNzcsIDE5MywgODEsIDg1LCA3MywgNzgsIAorICAgIDY3LCA4NSwgNzgsIDg4LCAxMjgsIDgxLCA4NSwgNzMsIDc4LCA2NSwgODIsIDczLCA4NSwgMjExLCA4MSwgODUsIDczLCA3NiwgCisgICAgMjEyLCA4MSwgODUsIDczLCA3NiwgNzYsIDEyOCwgODEsIDg1LCA3MywgNjcsIDIwMywgODEsIDg1LCA3MywgMTI4LCA4MSwgCisgICAgODUsIDcwLCAxMjgsIDgxLCA4NSwgNjksIDgzLCA4NCwgNzMsIDc5LCA3OCwgNjksIDE5NiwgODEsIDg1LCA2OSwgODMsIDg0LCAKKyAgICA3MywgNzksIDc4LCAxMjgsIDgxLCA4NSwgNjksIDgzLCA4NCwgNzMsIDc5LCAyMDYsIDgxLCA4NSwgNjksIDY5LCA3OCwgCisgICAgMTI4LCA4MSwgODUsIDY5LCA2OSwgMjA2LCA4MSwgODUsIDY5LCAxMjgsIDgxLCA4NSwgNjYsIDg1LCA4NCwgODMsIDEyOCwgCisgICAgODEsIDg1LCA2NSwgODQsIDY5LCA4MiwgNzgsIDczLCA3OSwgMjA2LCA4MSwgODUsIDY1LCA4MiwgODQsIDY5LCA4MiwgODMsIAorICAgIDEyOCwgODEsIDg1LCA2NSwgODIsIDg0LCA2OSwgODIsIDIxMSwgODEsIDg1LCA2NSwgODIsIDg0LCA2OSwgODIsIDEyOCwgCisgICAgODEsIDg1LCA2NSwgODIsIDg0LCA2OSwgMjEwLCA4MSwgODUsIDY1LCA3OCwgODQsIDczLCA4NCwgMjE3LCA4MSwgODUsIDY1LCAKKyAgICA2OCwgODIsIDg1LCA4MCwgNzYsIDE5NywgODEsIDg1LCA2NSwgNjgsIDgyLCA2NSwgNzgsIDg0LCAxMjgsIDgxLCA4NSwgNjUsIAorICAgIDY4LCA4MiwgNjUsIDc4LCAyMTIsIDgxLCA4NSwgNjUsIDY4LCA2NywgNzksIDc2LCA3OSwgNzgsIDEyOCwgODEsIDg1LCA2NSwgCisgICAgNjgsIDEyOCwgODEsIDg1LCA2NSwgMTk2LCA4MSwgODUsIDY1LCAxMjgsIDgxLCA4NSwgMTI4LCA4MSwgMjA4LCA4MSwgNzksIAorICAgIDg4LCAxMjgsIDgxLCA3OSwgODQsIDEyOCwgODEsIDc5LCA4MCwgNzIsIDEyOCwgODEsIDc5LCA4MCwgNjUsIDEyOCwgODEsIAorICAgIDc5LCA4MCwgMTI4LCA4MSwgNzksIDc5LCAxMjgsIDgxLCA3OSwgMjA3LCA4MSwgNzksIDcwLCAxMjgsIDgxLCA3OSwgMTk4LCAKKyAgICA4MSwgNzksIDY1LCAxMjgsIDgxLCA3OSwgMTI4LCA4MSwgNzgsIDEyOCwgODEsIDczLCA4OCwgMTI4LCA4MSwgNzMsIDg0LCAKKyAgICA4MywgNjUsIDEyOCwgODEsIDczLCA4NCwgMTI4LCA4MSwgNzMsIDgwLCAxMjgsIDgxLCA3MywgNzMsIDEyOCwgODEsIDczLCAKKyAgICA2OSwgODgsIDEyOCwgODEsIDczLCA2OSwgODQsIDEyOCwgODEsIDczLCA2OSwgODAsIDEyOCwgODEsIDczLCA2OSwgMTI4LCAKKyAgICA4MSwgNzMsIDEyOCwgODEsIDcyLCA4NywgNzMsIDEyOCwgODEsIDcyLCA4NywgNjksIDY5LCAxMjgsIDgxLCA3MiwgODcsIAorICAgIDY5LCAxMjgsIDgxLCA3MiwgODcsIDY1LCA2NSwgMTI4LCA4MSwgNzIsIDg3LCA2NSwgMTI4LCA4MSwgNzIsIDg1LCAxMjgsIAorICAgIDgxLCA3MiwgNzksIDgwLCA3MiwgMTI4LCA4MSwgNzIsIDc5LCAxMjgsIDgxLCA3MiwgNzMsIDEyOCwgODEsIDcyLCA2OSwgCisgICAgNjksIDEyOCwgODEsIDcyLCA2OSwgMTI4LCA4MSwgNzIsIDY1LCA4NSwgMTI4LCA4MSwgNzIsIDY1LCA2NSwgMTI4LCA4MSwgCisgICAgNzIsIDY1LCAxMjgsIDgxLCA3MSwgNjUsIDEyOCwgODEsIDY5LCA4NCwgNjUsIDc4LCA2NSwgMTI4LCA4MSwgNjksIDY5LCAKKyAgICAxMjgsIDgxLCA2OSwgMTI4LCA4MSwgNjUsIDg5LCAxMjgsIDgxLCA2NSwgODUsIDEyOCwgODEsIDY1LCA4NCwgNjUsIDc4LCAKKyAgICAxMjgsIDgxLCA2NSwgODIsIDc4LCA2OSwgMjE3LCA4MSwgNjUsIDgyLCAxMjgsIDgxLCA2NSwgODEsIDEyOCwgODEsIDY1LCAKKyAgICA4MCwgNzIsIDEyOCwgODEsIDY1LCA3NywgNjUsIDg0LCA4MywgMTI4LCA4MSwgNjUsIDc3LCA2NSwgODQsIDIxMSwgODEsIAorICAgIDY1LCA3NiwgMTkzLCA4MSwgNjUsIDczLCA4MiwgODQsIDcyLCA4MiwgNjUsIDEyOCwgODEsIDY1LCA3MywgMTI4LCA4MSwgCisgICAgNjUsIDcwLCAxMjgsIDgxLCA2NSwgMTk4LCA4MSwgNjUsIDY4LCA3NywgNjUsIDEyOCwgODEsIDY1LCA2NSwgNzMsIDEyOCwgCisgICAgODEsIDY1LCA2NSwgNzAsIDg1LCAxMjgsIDgxLCA2NSwgNjUsIDcwLCAxMjgsIDgxLCA0OCwgNDgsIDU1LCAxMjgsIDgxLCAKKyAgICA0OCwgNDgsIDU0LCAxMjgsIDgxLCA0OCwgNDgsIDUzLCAxMjgsIDgxLCA0OCwgNDgsIDUyLCAxMjgsIDgxLCA0OCwgNDgsIAorICAgIDUxLCAxMjgsIDgxLCA0OCwgNDgsIDUwLCAxMjgsIDgxLCA0OCwgNDgsIDQ5LCAxMjgsIDgwLCA5MCwgMTI4LCA4MCwgODksIAorICAgIDg4LCAxMjgsIDgwLCA4OSwgODQsIDEyOCwgODAsIDg5LCA4MiwgODgsIDEyOCwgODAsIDg5LCA4MiwgMTI4LCA4MCwgODksIAorICAgIDgwLCAxMjgsIDgwLCA4NywgNzksIDg5LCAxMjgsIDgwLCA4NywgNzksIDc5LCAxMjgsIDgwLCA4NywgNzksIDEyOCwgODAsIAorICAgIDg3LCAyMDcsIDgwLCA4NywgNzMsIDczLCAxMjgsIDgwLCA4NywgNzMsIDEyOCwgODAsIDg3LCA2OSwgNjksIDEyOCwgODAsIAorICAgIDg3LCA2OSwgMTI4LCA4MCwgODcsIDY1LCA2NSwgMTI4LCA4MCwgODcsIDEyOCwgODAsIDg2LCAxMjgsIDgwLCA4NSwgODgsIAorICAgIDEyOCwgODAsIDg1LCA4NSwgODQsIDEyOCwgODAsIDg1LCA4NSwgMTI4LCA4MCwgODUsIDg0LCA4MiwgNjksIDcwLCA2NSwgCisgICAgNjcsIDg0LCA3MywgNzksIDc4LCAxMjgsIDgwLCA4NSwgODQsIDEyOCwgODAsIDg1LCAyMTIsIDgwLCA4NSwgODMsIDcyLCAKKyAgICA4MCwgNzMsIDc4LCAxMjgsIDgwLCA4NSwgODMsIDcyLCA4MCwgNzMsIDc1LCA2NSwgMTI4LCA4MCwgODUsIDgzLCA3MiwgNzMsIAorICAgIDc4LCAxOTksIDgwLCA4NSwgODIsIDg4LCAxMjgsIDgwLCA4NSwgODIsIDgzLCA2OSwgMTI4LCA4MCwgODUsIDgyLCA4MCwgCisgICAgNzYsIDE5NywgODAsIDg1LCA4MiwgNzgsIDY1LCA3NywgNjUsIDEyOCwgODAsIDg1LCA4MiwgNzMsIDg0LCA4OSwgMTI4LCAKKyAgICA4MCwgODUsIDgyLCA3MywgNzAsIDg5LCAxMjgsIDgwLCA4NSwgODIsIDEyOCwgODAsIDg1LCA4MSwgMTI4LCA4MCwgODUsIAorICAgIDgwLCAxMjgsIDgwLCA4NSwgNzksIDg4LCAxMjgsIDgwLCA4NSwgNzksIDgwLCAxMjgsIDgwLCA4NSwgNzksIDEyOCwgODAsIAorICAgIDg1LCA3OCwgNzEsIDY1LCA2NSwgNzcsIDEyOCwgODAsIDg1LCA3OCwgNzEsIDEyOCwgODAsIDg1LCA3OCwgNjcsIDg0LCA4NSwgCisgICAgNjUsIDg0LCA3MywgNzksIDc4LCAxMjgsIDgwLCA4NSwgNzgsIDY3LCA4NCwgODUsIDY1LCA4NCwgNzMsIDc5LCAyMDYsIDgwLCAKKyAgICA4NSwgNzcsIDgwLCAxMjgsIDgwLCA4NSwgNzcsIDEyOCwgODAsIDg1LCA2OSwgMTI4LCA4MCwgODUsIDY2LCA3NiwgNzMsIAorICAgIDE5NSwgODAsIDg1LCAxOTQsIDgwLCA4NSwgNjUsIDgxLCAxMjgsIDgwLCA4NSwgNjUsIDY5LCAxMjgsIDgwLCA4NSwgNTAsIAorICAgIDEyOCwgODAsIDg1LCA0OSwgMTI4LCA4MCwgODUsIDEyOCwgODAsIDg0LCA3MiwgNjUsIDcyLCAxOTMsIDgwLCA4NCwgNjksIAorICAgIDEyOCwgODAsIDgzLCA3MywgNzYsIDIwMSwgODAsIDgzLCA3MywgNzAsIDczLCA4MywgODQsIDc5LCA4MywgODksIDc4LCA2NSwgCisgICAgNzEsIDc3LCA2NSwgMTI4LCA4MCwgODMsIDczLCA3MCwgNzMsIDgzLCA4NCwgNzksIDgwLCA2NSwgODIsIDY1LCA3NSwgNjUsIAorICAgIDc2LCA2OSwgODMsIDc3LCA2NSwgMTI4LCA4MCwgODMsIDczLCA3MCwgNzMsIDgzLCA4NCwgNzksIDIwNiwgODAsIDgzLCA3MywgCisgICAgNzAsIDczLCA4MywgODQsIDc5LCA3NiwgODksIDcxLCA3MywgODMsIDc3LCA2NSwgMTI4LCA4MCwgODMsIDczLCAxMjgsIDgwLCAKKyAgICA4MywgNjUsIDc2LCA4NCwgNjksIDIxMCwgODAsIDgzLCAxMjgsIDgwLCA4MiwgNzksIDg2LCA2OSwgMTI4LCA4MCwgODIsIAorICAgIDc5LCA4NCwgNzksIDg2LCA2NSwgODIsIDg5LCAyMTEsIDgwLCA4MiwgNzksIDg0LCA3OSwgMjExLCA4MCwgODIsIDc5LCA4NCwgCisgICAgNjksIDY3LCA4NCwgNjksIDE5NiwgODAsIDgyLCA3OSwgODMsIDcxLCA2OSwgNzEsIDgyLCA2NSwgNzcsIDc3LCA2OSwgNzgsIAorICAgIDczLCAxMjgsIDgwLCA4MiwgNzksIDgwLCA3OSwgODIsIDg0LCA3MywgNzksIDc4LCA2NSwgMjA0LCA4MCwgODIsIDc5LCA4MCwgCisgICAgNzksIDgyLCA4NCwgNzMsIDc5LCA3OCwgMTI4LCA4MCwgODIsIDc5LCA4MCwgNjksIDgyLCA4NCwgMjE3LCA4MCwgODIsIDc5LCAKKyAgICA4MCwgNjksIDc2LCA3NiwgNjksIDIxMCwgODAsIDgyLCA3OSwgNzksIDcwLCAxMjgsIDgwLCA4MiwgNzksIDc2LCA3OSwgNzgsIAorICAgIDcxLCA2OSwgMTk2LCA4MCwgODIsIDc5LCA3NiwgNjUsIDg0LCA3MywgNzksIDc4LCAxOTcsIDgwLCA4MiwgNzksIDc0LCA2OSwgCisgICAgNjcsIDg0LCA3OSwgODIsIDEyOCwgODAsIDgyLCA3OSwgNzQsIDY5LCA2NywgODQsIDczLCA4NiwgNjksIDEyOCwgODAsIDgyLCAKKyAgICA3OSwgNzQsIDY5LCA2NywgODQsIDczLCA3OSwgNzgsIDEyOCwgODAsIDgyLCA3OSwgNzIsIDczLCA2NiwgNzMsIDg0LCA2OSwgCisgICAgMTk2LCA4MCwgODIsIDc5LCA3MSwgODIsIDY5LCA4MywgODMsIDEyOCwgODAsIDgyLCA3OSwgNzEsIDgyLCA2NSwgMjA1LCAKKyAgICA4MCwgODIsIDc5LCA3MCwgNzksIDg1LCA3OCwgNjgsIDEyOCwgODAsIDgyLCA3OSwgNjgsIDg1LCA2NywgODQsIDEyOCwgODAsIAorICAgIDgyLCA3OSwgNjgsIDg1LCA2NywgMjEyLCA4MCwgODIsIDczLCA4NiwgNjUsIDg0LCA2OSwgMTI4LCA4MCwgODIsIDczLCA4NiwgCisgICAgNjUsIDg0LCAxOTcsIDgwLCA4MiwgNzMsIDg2LCA2NSwgNjcsIDIxNywgODAsIDgyLCA3MywgODMsIDcyLCA4NCwgNzIsIDY1LCAKKyAgICA3NywgNjUsIDg0LCA4MiwgMTkzLCA4MCwgODIsIDczLCA3OCwgODQsIDgzLCAxMjgsIDgwLCA4MiwgNzMsIDc4LCA4NCwgNjksIAorICAgIDgyLCAxMjgsIDgwLCA4MiwgNzMsIDc4LCA4NCwgNjksIDIxMCwgODAsIDgyLCA3MywgNzgsIDg0LCAxMjgsIDgwLCA4MiwgCisgICAgNzMsIDc4LCAyMTIsIDgwLCA4MiwgNzMsIDc4LCA2NywgNjksIDgzLCA4MywgMTI4LCA4MCwgODIsIDczLCA3NywgNjksIAorICAgIDEyOCwgODAsIDgyLCA3MywgNzcsIDE5NywgODAsIDgyLCA2OSwgODYsIDczLCA3OSwgODUsIDIxMSwgODAsIDgyLCA2OSwgCisgICAgODMsIDY5LCA4NCwgMTI4LCA4MCwgODIsIDY5LCA4MywgNjksIDc4LCA4NCwgNjUsIDg0LCA3MywgNzksIDIwNiwgODAsIDgyLCAKKyAgICA2OSwgODMsIDY3LCA4MiwgNzMsIDgwLCA4NCwgNzMsIDc5LCAyMDYsIDgwLCA4MiwgNjksIDgwLCA3OSwgNzgsIDY4LCA2OSwgCisgICAgODIsIDY1LCA3OCwgNjcsIDY5LCAxMjgsIDgwLCA4MiwgNjksIDc4LCA3NSwgNzIsIDY1LCAxMjgsIDgwLCA4MiwgNjksIDcwLCAKKyAgICA2NSwgNjcsIDE5NywgODAsIDgyLCA2OSwgNjcsIDczLCA4MCwgNzMsIDg0LCA2NSwgODQsIDY5LCAxMjgsIDgwLCA4MiwgNjksIAorICAgIDY3LCA2OSwgNjgsIDczLCA3OCwgMTk5LCA4MCwgODIsIDY5LCA2NywgNjksIDY4LCA2OSwgODMsIDEyOCwgODAsIDgyLCA2OSwgCisgICAgNjcsIDY5LCA2OCwgNjksIDIxMSwgODAsIDgyLCA2OSwgNjcsIDY5LCA2OCwgNjksIDE5NiwgODAsIDgyLCA2OSwgNjcsIDY5LCAKKyAgICA2OCwgNjksIDEyOCwgODAsIDgyLCA2OSwgNjcsIDY5LCA2OCwgMTk3LCA4MCwgODIsIDY1LCA3NywgNDUsIDgwLCA3MywgNzMsIAorICAgIDEyOCwgODAsIDgyLCA2NSwgNzcsIDQ1LCA4MCwgNzMsIDIwMSwgODAsIDgyLCA2NSwgNzcsIDQ1LCA3NywgODUsIDc5LCA4OSwgCisgICAgMTI4LCA4MCwgODIsIDY1LCA3NywgNDUsIDc3LCA4NSwgNzksIDIxNywgODAsIDgyLCA2NSwgNzcsIDQ1LCA2NiwgODUsIDc5LCAKKyAgICA3OCwgMTI4LCA4MCwgODIsIDY1LCA3NywgNDUsIDY2LCA4NSwgNzksIDIwNiwgODAsIDgyLCA2NSwgNzcsIDQ1LCA2NiwgNjksIAorICAgIDczLCAxMjgsIDgwLCA4MiwgNjUsIDc3LCA0NSwgNjYsIDY5LCAyMDEsIDgwLCA4MiwgNjUsIDc3LCAxMjgsIDgwLCA4MiwgCisgICAgNjUsIDIwNSwgODAsIDgyLCAxMjgsIDgwLCA4MCwgODYsIDEyOCwgODAsIDgwLCA3NywgMTI4LCA4MCwgODAsIDY1LCAxMjgsIAorICAgIDgwLCA3OSwgODksIDEyOCwgODAsIDc5LCA4OCwgMTI4LCA4MCwgNzksIDg3LCA2OSwgODIsIDIxMSwgODAsIDc5LCA4NywgCisgICAgNjksIDgyLCAxMjgsIDgwLCA3OSwgODcsIDY4LCA2OSwgODIsIDY5LCAxOTYsIDgwLCA3OSwgODcsIDY4LCA2OSwgODIsIAorICAgIDEyOCwgODAsIDc5LCA4NSwgNzgsIDE5NiwgODAsIDc5LCA4NSwgNzYsIDg0LCA4MiwgMjE3LCA4MCwgNzksIDg1LCA2NywgCisgICAgNzIsIDEyOCwgODAsIDc5LCA4NCwgNjUsIDg0LCA3OSwgMTI4LCA4MCwgNzksIDg0LCA2NSwgNjYsIDc2LCAxOTcsIDgwLCAKKyAgICA3OSwgMjEyLCA4MCwgNzksIDgzLCA4NCwgODAsIDc5LCA4MywgNzMsIDg0LCA3MywgNzksIDIwNiwgODAsIDc5LCA4MywgODQsIAorICAgIDY2LCA3OSwgODgsIDEyOCwgODAsIDc5LCA4MywgODQsIDY1LCAyMDQsIDgwLCA3OSwgODMsIDg0LCAxMjgsIDgwLCA3OSwgCisgICAgODMsIDIxMiwgODAsIDc5LCA4MywgODMsIDY5LCA4MywgODMsIDczLCA3OSwgNzgsIDEyOCwgODAsIDc5LCA4MiwgODQsIDY1LCAKKyAgICA2NiwgNzYsIDE5NywgODAsIDc5LCA4MiwgODIsIDY5LCA2NywgODQsIDg1LCA4MywgMTI4LCA4MCwgNzksIDgyLCA4MiwgNjksIAorICAgIDY3LCA4NCwgODUsIDIxMSwgODAsIDc5LCA4MCwgODAsIDY5LCA4MiwgMTI4LCA4MCwgNzksIDgwLCAxMjgsIDgwLCA3OSwgCisgICAgMjA4LCA4MCwgNzksIDc5LCA2OCwgNzYsIDY5LCAxMjgsIDgwLCA3OSwgNzksIDEyOCwgODAsIDc5LCA3OCwgNjgsIDc5LCAKKyAgICAxMjgsIDgwLCA3OSwgMjA2LCA4MCwgNzksIDc3LCA3NywgNjksIDY5LCAxMjgsIDgwLCA3OSwgNzcsIDc3LCA2OSwgMTk3LCAKKyAgICA4MCwgNzksIDc2LCA3MywgODMsIDcyLCAxMjgsIDgwLCA3OSwgNzYsIDczLCA2NywgMTk3LCA4MCwgNzksIDc2LCAyMDEsIAorICAgIDgwLCA3OSwgNzYsIDY5LCAxMjgsIDgwLCA3OSwgNzYsIDE5NywgODAsIDc5LCA3NSwgODIsIDg5LCA4NCwgNzMsIDY5LCAKKyAgICAxMjgsIDgwLCA3OSwgNzUsIDc5LCA3NCwgNzMsIDEyOCwgODAsIDc5LCA3MywgNzgsIDg0LCAyMTEsIDgwLCA3OSwgNzMsIAorICAgIDc4LCA4NCwgNzksIDEyOCwgODAsIDc5LCA3MywgNzgsIDg0LCA2OSwgODIsIDEyOCwgODAsIDc5LCA3MywgNzgsIDg0LCA2OSwgCisgICAgMTk2LCA4MCwgNzksIDczLCA3OCwgODQsIDEyOCwgODAsIDc5LCA3MywgNzgsIDIxMiwgODAsIDc5LCA2OSwgODQsIDgyLCAKKyAgICAyMTcsIDgwLCA3OSwgNjksIDg0LCA3MywgMTk1LCA4MCwgNzksIDY4LCA2NSwgODQsIDg1LCA4MywgMTI4LCA4MCwgNzksIAorICAgIDY3LCA3NSwgNjksIDIxMiwgODAsIDc5LCA2NSwgMTI4LCA4MCwgNzksIDEyOCwgODAsIDIwNywgODAsIDc4LCA2OSwgODUsIAorICAgIDc3LCA2NSwgODQsIDY1LCAxMjgsIDgwLCA3NiwgODUsIDg0LCA3OSwgMTI4LCA4MCwgNzYsIDg1LCA4NCwgNjUsIDEyOCwgCisgICAgODAsIDc2LCA4NSwgODMsIDQ1LCA3NywgNzMsIDc4LCA4NSwgMjExLCA4MCwgNzYsIDg1LCA4MywgMTI4LCA4MCwgNzYsIDg1LCAKKyAgICA4MiwgNjUsIDc2LCAxMjgsIDgwLCA3NiwgODUsIDc3LCA2OSwgMTk2LCA4MCwgNzYsIDg1LCA3NywgMTI4LCA4MCwgNzYsIAorICAgIDg1LCA3NSwgMTI4LCA4MCwgNzYsIDg1LCA3MSwgMTI4LCA4MCwgNzYsIDg1LCAxMjgsIDgwLCA3NiwgNzksIDg3LCAxMjgsIAorICAgIDgwLCA3NiwgNzksIDgwLCA3MiwgODUsIDEyOCwgODAsIDc2LCA3MiwgNjUsIDg1LCAxMjgsIDgwLCA3NiwgNjksIDg0LCA3MiwgCisgICAgODIsIDc5LCA3OCwgMTI4LCA4MCwgNzYsIDY4LCAxMjgsIDgwLCA3NiwgNjUsIDg5LCA3MywgNzgsIDE5OSwgODAsIDc2LCAKKyAgICA2NSwgODQsIDY5LCAxMjgsIDgwLCA3NiwgNjUsIDgzLCA4NCwgNzMsIDY3LCA4MywgMTI4LCA4MCwgNzYsIDY1LCA3OCwgNjksIAorICAgIDEyOCwgODAsIDc2LCA2NSwgNzgsIDE5NywgODAsIDc2LCA2NSwgNzgsIDY3LCAyMDMsIDgwLCA3NiwgNjUsIDc1LCAxMjgsIAorICAgIDgwLCA3NiwgNjUsIDcxLCA3MywgNzksIDIxMSwgODAsIDc2LCA2NSwgNjcsIDY5LCA3MiwgNzksIDc2LCA2OCwgNjksIDIxMCwgCisgICAgODAsIDc2LCA2NSwgNjcsIDE5NywgODAsIDc2LCA2NSwgMTI4LCA4MCwgNzMsIDkwLCA5MCwgNzMsIDY3LCA2NSwgODQsIDc5LCAKKyAgICAxMjgsIDgwLCA3MywgOTAsIDkwLCA2NSwgMTI4LCA4MCwgNzMsIDg4LCAxMjgsIDgwLCA3MywgODcsIDgyLCAxMjgsIDgwLCAKKyAgICA3MywgODQsIDY3LCA3MiwgNzAsIDc5LCA4MiwgNzUsIDEyOCwgODAsIDczLCA4NCwgNjcsIDcyLCA3MCwgNzksIDgyLCAyMDMsIAorICAgIDgwLCA3MywgODQsIDEyOCwgODAsIDczLCA4MywgODQsIDc5LCA3NiwgMTI4LCA4MCwgNzMsIDgzLCA2OSwgNzYsIDY5LCA3MiwgCisgICAgMTI4LCA4MCwgNzMsIDgzLCA2NywgNjksIDgzLCAxMjgsIDgwLCA3MywgODIsIDczLCA3MSwgMTI4LCA4MCwgNzMsIDgyLCAKKyAgICA3MywgMTk5LCA4MCwgNzMsIDgyLCA3MywgNjksIDY5LCA3OCwgMTI4LCA4MCwgNzMsIDgyLCA2NSwgNjcsIDg5LCAxMjgsIAorICAgIDgwLCA3MywgODIsIDUwLCAxMjgsIDgwLCA3MywgODAsIDczLCA3OCwgNzEsIDEyOCwgODAsIDczLCA4MCwgNjUsIDY5LCA3NywgCisgICAgNzEsIDY2LCA3MywgNjksIDY5LCAxMjgsIDgwLCA3MywgODAsIDY1LCA2OSwgNzcsIDY2LCA2NSwgMTI4LCA4MCwgNzMsIDgwLCAKKyAgICAxMjgsIDgwLCA3MywgNzgsIDg3LCA3MiwgNjksIDY5LCAyMDQsIDgwLCA3MywgNzgsIDY5LCA2NSwgODAsIDgwLCA3NiwgNjksIAorICAgIDEyOCwgODAsIDczLCA3OCwgMTk3LCA4MCwgNzMsIDc4LCA2NSwgODIsIDY2LCA3OSwgODIsIDY1LCA4MywgMTI4LCA4MCwgCisgICAgNzMsIDc2LCA3NiwgMTI4LCA4MCwgNzMsIDc2LCAxOTcsIDgwLCA3MywgNzYsIDY3LCA4MiwgNzksIDIxNSwgODAsIDczLCAKKyAgICA3NSwgODUsIDgyLCA4NSwgMTI4LCA4MCwgNzMsIDc1LCA3OSwgMTI4LCA4MCwgNzMsIDcxLCAxMjgsIDgwLCA3MywgMTk5LCAKKyAgICA4MCwgNzMsIDY5LCA4OCwgMTI4LCA4MCwgNzMsIDY5LCA4NSwgODAsIDQ1LCA4NCwgNzIsIDczLCA2OSwgODUsIDg0LCA3MiwgCisgICAgMTI4LCA4MCwgNzMsIDY5LCA4NSwgODAsIDQ1LCA4MywgODMsIDY1LCA3OCwgNzEsIDgzLCA3MywgNzksIDgzLCAxMjgsIDgwLCAKKyAgICA3MywgNjksIDg1LCA4MCwgNDUsIDgzLCA3MywgNzksIDgzLCA0NSwgODQsIDczLCA3NSwgNjksIDg1LCA4NCwgMTI4LCA4MCwgCisgICAgNzMsIDY5LCA4NSwgODAsIDQ1LCA4MywgNzMsIDc5LCA4MywgNDUsIDg0LCA3MiwgNzMsIDY5LCA4NSwgODQsIDcyLCAxMjgsIAorICAgIDgwLCA3MywgNjksIDg1LCA4MCwgNDUsIDgzLCA3MywgNzksIDgzLCA0NSwgODAsIDczLCA2OSwgODUsIDgwLCAxMjgsIDgwLCAKKyAgICA3MywgNjksIDg1LCA4MCwgNDUsIDgzLCA3MywgNzksIDgzLCA0NSwgNzUsIDczLCA4OSwgNjksIDc5LCA3NSwgMTI4LCA4MCwgCisgICAgNzMsIDY5LCA4NSwgODAsIDQ1LCA4MywgNzMsIDc5LCA4MywgNDUsIDY3LCA3MywgNjksIDg1LCA2NywgMTI4LCA4MCwgNzMsIAorICAgIDY5LCA4NSwgODAsIDQ1LCA4MiwgNzMsIDY5LCA4NSwgNzYsIDQ1LCA4MCwgNzIsIDczLCA2OSwgODUsIDgwLCA3MiwgMTI4LCAKKyAgICA4MCwgNzMsIDY5LCA4NSwgODAsIDQ1LCA4MiwgNzMsIDY5LCA4NSwgNzYsIDEyOCwgODAsIDczLCA2OSwgODUsIDgwLCA0NSwgCisgICAgNzgsIDczLCA2OSwgODUsIDc4LCAxMjgsIDgwLCA3MywgNjksIDg1LCA4MCwgNDUsIDc3LCA3MywgNjksIDg1LCA3NywgMTI4LCAKKyAgICA4MCwgNzMsIDY5LCA4NSwgODAsIDQ1LCA3NSwgNzIsIDczLCA2OSwgODUsIDc1LCA3MiwgMTI4LCA4MCwgNzMsIDY5LCA4NSwgCisgICAgODAsIDQ1LCA2NywgNzMsIDY5LCA4NSwgNjcsIDEyOCwgODAsIDczLCA2OSwgODUsIDgwLCA0NSwgNjcsIDcyLCA3MywgNjksIAorICAgIDg1LCA2NywgNzIsIDEyOCwgODAsIDczLCA2OSwgODUsIDIwOCwgODAsIDczLCA2OSwgODQsIDEyOCwgODAsIDczLCA2OSwgCisgICAgODAsIDEyOCwgODAsIDczLCA2OSwgNjksIDg0LCAxMjgsIDgwLCA3MywgNjksIDY5LCA4MSwgMTI4LCA4MCwgNzMsIDY5LCAKKyAgICA2NywgNjksIDEyOCwgODAsIDczLCA2OSwgMTI4LCA4MCwgNzMsIDY3LCA4NCwgODUsIDgyLCA2OSwgMTI4LCA4MCwgNzMsIAorICAgIDY3LCA3NSwgNjksIDg0LCAxMjgsIDgwLCA3MywgNjcsIDc1LCAxMjgsIDgwLCA3MywgNjUsIDgzLCA4NSwgODQsIDc5LCA4MiwgCisgICAgODUsIDEyOCwgODAsIDczLCA2NSwgODMsIDc3LCAxOTMsIDgwLCA3MywgNjUsIDc4LCA3OSwgMTI4LCA4MCwgMjAxLCA4MCwgCisgICAgNzIsIDg3LCA2NSwgMTI4LCA4MCwgNzIsIDg1LCA4NCwgNzIsIDY1LCA3OSwgMTI4LCA4MCwgNzIsIDg1LCAyMTAsIDgwLCAKKyAgICA3MiwgODUsIDc4LCA3MSwgMTI4LCA4MCwgNzIsIDgyLCA2NSwgODMsIDY5LCAxMjgsIDgwLCA3MiwgNzksIDc4LCA2OSwgODMsIAorICAgIDEyOCwgODAsIDcyLCA3OSwgNjksIDc4LCA3MywgNjcsIDczLCA2NSwgMjA2LCA4MCwgNzIsIDc5LCA2NSwgMTI4LCA4MCwgCisgICAgNzIsIDc5LCAxMjgsIDgwLCA3MiwgMjA3LCA4MCwgNzIsIDc4LCA2NSwgNjksIDIwMywgODAsIDcyLCA3MywgNzgsIDg0LCAKKyAgICA3MiwgODUsIDEyOCwgODAsIDcyLCA3MywgNzYsIDc5LCA4MywgNzksIDgwLCA3MiwgNjksIDgyLCAyMTEsIDgwLCA3MiwgNzMsIAorICAgIDc2LCA3MywgODAsIDgwLCA3MywgNzgsIDE5NywgODAsIDcyLCA3MywgNjksIDg1LCA4MCwgNzIsIDQ1LCA4NCwgNzIsIDczLCAKKyAgICA2OSwgODUsIDg0LCA3MiwgMTI4LCA4MCwgNzIsIDczLCA2OSwgODUsIDgwLCA3MiwgNDUsIDgzLCA3MywgNzksIDgzLCAxMjgsIAorICAgIDgwLCA3MiwgNzMsIDY5LCA4NSwgODAsIDcyLCA0NSwgODAsIDczLCA2OSwgODUsIDgwLCAxMjgsIDgwLCA3MiwgNzMsIDY5LCAKKyAgICA4NSwgODAsIDcyLCA0NSwgNzIsIDczLCA2OSwgODUsIDcyLCAxMjgsIDgwLCA3MiwgNzMsIDY5LCA4NSwgODAsIDIwMCwgODAsIAorICAgIDcyLCA3MywgMTI4LCA4MCwgNzIsIDIwMSwgODAsIDcyLCA2OSwgNjksIDEyOCwgODAsIDcyLCA2OSwgMTI4LCA4MCwgNzIsIAorICAgIDY1LCA4MywgNjksIDQ1LCAxOTgsIDgwLCA3MiwgNjUsIDgzLCA2OSwgNDUsIDE5NCwgODAsIDcyLCA2NSwgODIsIDg5LCA3OCwgCisgICAgNzEsIDY5LCA2NSwgMjA0LCA4MCwgNzIsIDY1LCA4MiwgMTI4LCA4MCwgNzIsIDY1LCA3OCwgMTI4LCA4MCwgNzIsIDY1LCAKKyAgICA3NywgMTI4LCA4MCwgNzIsIDY1LCA3MywgODMsIDg0LCA3OSwgMjExLCA4MCwgNzIsIDY1LCA3MSwgODMsIDQ1LCA4MCwgCisgICAgMTkzLCA4MCwgNzIsIDY1LCA2NiwgMTI4LCA4MCwgNzIsIDY1LCA2NSwgODIsIDc1LCA2NSwgNjUsIDEyOCwgODAsIDcyLCAKKyAgICA2NSwgNjUsIDEyOCwgODAsIDcyLCA2NSwgMTI4LCA4MCwgNzEsIDEyOCwgODAsIDcwLCAxMjgsIDgwLCA2OSwgODUsIDg4LCAKKyAgICAxMjgsIDgwLCA2OSwgODUsIDg0LCA2NSwgNjksIDEyOCwgODAsIDY5LCA4NSwgODQsIDEyOCwgODAsIDY5LCA4NCwgNjUsIAorICAgIDgzLCA4NCwgNzksIDc1LCA3OSwgODUsIDcwLCA3MywgODMsIDc3LCA2NSwgMTI4LCA4MCwgNjksIDg0LCA2NSwgODMsIDg0LCAKKyAgICA3MywgMTI4LCA4MCwgNjksIDg0LCA2NSwgODMsIDc3LCA2NSwgMTI4LCA4MCwgNjksIDg0LCA2NSwgNzYsIDc2LCA2OSwgCisgICAgMTk2LCA4MCwgNjksIDgzLCA3OSwgMTI4LCA4MCwgNjksIDgzLCAyMDcsIDgwLCA2OSwgODMsIDcyLCA1MCwgMTI4LCA4MCwgCisgICAgNjksIDgzLCA3MiwgMTc4LCA4MCwgNjksIDgzLCA2OSwgODQsIDE5MywgODAsIDY5LCAyMTEsIDgwLCA2OSwgODIsIDg0LCAKKyAgICA3MiwgMjA3LCA4MCwgNjksIDgyLCA4MywgODAsIDY5LCA2NywgODQsIDczLCA4NiwgNjksIDEyOCwgODAsIDY5LCA4MiwgODMsIAorICAgIDc5LCA3OCwgNjUsIDIwNCwgODAsIDY5LCA4MiwgODMsIDc5LCA3OCwgMTI4LCA4MCwgNjksIDgyLCA4MywgNzksIDIwNiwgCisgICAgODAsIDY5LCA4MiwgODMsIDczLCA2NSwgMjA2LCA4MCwgNjksIDgyLCA4MywgNjksIDg2LCA2OSwgODIsIDczLCA3OCwgMTk5LCAKKyAgICA4MCwgNjksIDgyLCA4MCwgNjksIDc4LCA2OCwgNzMsIDY3LCA4NSwgNzYsIDY1LCA4MiwgMTI4LCA4MCwgNjksIDgyLCA4MCwgCisgICAgNjksIDc4LCA2OCwgNzMsIDY3LCA4NSwgNzYsIDY1LCAyMTAsIDgwLCA2OSwgODIsIDc4LCA3MywgMjA2LCA4MCwgNjksIDgyLCAKKyAgICA3NywgNzMsIDg0LCA4NCwgNjksIDE5NiwgODAsIDY5LCA4MiwgNzcsIDczLCAxOTUsIDgwLCA2OSwgODIsIDc3LCA2NSwgNzgsIAorICAgIDY5LCA3OCwgMjEyLCA4MCwgNjksIDgyLCA3MywgODMsIDgwLCA3OSwgNzcsIDY5LCA3OCwgNzMsIDEyOCwgODAsIDY5LCA4MiwgCisgICAgNzMsIDgzLCA4MCwgNzksIDc3LCA2OSwgNzgsIDIwMSwgODAsIDY5LCA4MiwgNzAsIDc5LCA4MiwgNzcsIDczLCA3OCwgMTk5LCAKKyAgICA4MCwgNjksIDgyLCA3MCwgNjksIDY3LCA4NCwgODUsIDIwNSwgODAsIDY5LCA4MiwgNzAsIDY5LCA2NywgODQsIDY1LCAxMjgsIAorICAgIDgwLCA2OSwgODIsIDcwLCA2OSwgNjcsIDg0LCAxOTMsIDgwLCA2OSwgODIsIDY3LCA4NSwgODMsIDgzLCA3MywgODYsIDY5LCAKKyAgICAxMjgsIDgwLCA2OSwgODIsIDY3LCA2OSwgNzgsIDIxMiwgODAsIDY5LCA4MCwgODAsIDY5LCA4MiwgMTI4LCA4MCwgNjksIAorICAgIDgwLCA2OSwgODQsIDEyOCwgODAsIDY5LCA4MCwgNjksIDIxMiwgODAsIDY5LCA3OSwgODIsIDg0LCAyMDAsIDgwLCA2OSwgCisgICAgNzksIDgwLCA3NiwgNjksIDEyOCwgODAsIDY5LCA3OCwgODQsIDY1LCA4MywgNjksIDc3LCA2OSwgMTI4LCA4MCwgNjksIDc4LCAKKyAgICA4NCwgNjUsIDcxLCA4MiwgNjUsIDc3LCAxMjgsIDgwLCA2OSwgNzgsIDg0LCA2NSwgNzEsIDc5LCA3OCwgMTI4LCA4MCwgNjksIAorICAgIDc4LCA4MywgODUsIDEyOCwgODAsIDY5LCA3OCwgODMsIDczLCA4NiwgMTk3LCA4MCwgNjksIDc4LCA3OCwgMjE3LCA4MCwgCisgICAgNjksIDc4LCA3OCwgNjUsIDc4LCA4NCwgMTI4LCA4MCwgNjksIDc4LCA3MywgNzIsIDczLCAxMjgsIDgwLCA2OSwgNzgsIDcxLCAKKyAgICA4NSwgNzMsIDc4LCAxMjgsIDgwLCA2OSwgNzgsIDcxLCA3NSwgNjUsIDc2LCAxMjgsIDgwLCA2OSwgNzgsIDY5LCA4NCwgODIsIAorICAgIDY1LCA4NCwgNzMsIDc5LCA3OCwgMTI4LCA4MCwgNjksIDc4LCA2NywgNzMsIDc2LCAxMjgsIDgwLCA2OSwgMjA2LCA4MCwgCisgICAgNjksIDc2LCA2NSwgODMsIDg0LCA3OSwgNzgsIDEyOCwgODAsIDY5LCA3NiwgNjUsIDgzLCA4NCwgNzksIDIwNiwgODAsIDY5LCAKKyAgICA3MywgODQsIDcyLCAxMjgsIDgwLCA2OSwgNzIsIDY5LCA3MiwgMTI4LCA4MCwgNjksIDcyLCA2OSwgMjAwLCA4MCwgNjksIAorICAgIDcyLCAxMjgsIDgwLCA2OSwgMjAwLCA4MCwgNjksIDY5LCA5MCwgNzMsIDEyOCwgODAsIDY5LCA2OSwgODMsIDcyLCA3MywgCisgICAgMTI4LCA4MCwgNjksIDY5LCA4MCwgMTI4LCA4MCwgNjksIDY5LCA3NywgMTI4LCA4MCwgNjksIDY5LCA3MywgMTI4LCA4MCwgCisgICAgNjksIDY5LCAxMjgsIDgwLCA2OSwgNjgsIDY5LCA4MywgODQsIDgyLCA3MywgNjUsIDc4LCA4MywgMTI4LCA4MCwgNjksIDY4LCAKKyAgICA2OSwgODMsIDg0LCA4MiwgNzMsIDY1LCA3OCwgMTI4LCA4MCwgNjksIDY4LCA2OSwgODMsIDg0LCA2NSwgNzYsIDEyOCwgODAsIAorICAgIDY5LCA2OCwgNjksIDgzLCA4NCwgNjUsIDIwNCwgODAsIDY5LCA2OCwgNjUsIDIwNCwgODAsIDY5LCA2NSwgNjcsIDcyLCAKKyAgICAxMjgsIDgwLCA2OSwgNjUsIDY3LCA2OSwgMTI4LCA4MCwgNjksIDY1LCA2NywgMTk3LCA4MCwgNjgsIDczLCAxMjgsIDgwLCAKKyAgICA2OCwgNzAsIDEyOCwgODAsIDY4LCAxMjgsIDgwLCA2NywgMTI4LCA4MCwgNjUsIDkwLCA2OSwgODIsIDEyOCwgODAsIDY1LCAKKyAgICA4OSwgNjksIDgyLCA3OSwgNzUsIDEyOCwgODAsIDY1LCA4OSwgNjUsIDc4LCA3OCwgNjUsIDEyOCwgODAsIDY1LCA4OSwgCisgICAgMTI4LCA4MCwgNjUsIDg4LCAxMjgsIDgwLCA2NSwgODcsIDc4LCAxMjgsIDgwLCA2NSwgMjE1LCA4MCwgNjUsIDg2LCA3MywgCisgICAgODksIDY1LCA3OCwgNzMsIDEyOCwgODAsIDY1LCA4NSwgMTI4LCA4MCwgNjUsIDIxMywgODAsIDY1LCA4NCwgODQsIDY5LCAKKyAgICA4MiwgNzgsIDEyOCwgODAsIDY1LCA4NCwgNzIsIDY1LCA3NywgNjUsIDgzLCA2NSwgODQsIDEyOCwgODAsIDY1LCA4NCwgCisgICAgMjAwLCA4MCwgNjUsIDg0LCA2NSwgNzUsIDEyOCwgODAsIDY1LCA4NCwgNjUsIDcyLCAxMjgsIDgwLCA2NSwgODQsIDEyOCwgCisgICAgODAsIDY1LCA4MywgODUsIDgxLCAxMjgsIDgwLCA2NSwgODMsIDgzLCA4MCwgNzksIDgyLCAyMTIsIDgwLCA2NSwgODMsIDgzLCAKKyAgICA3MywgODYsIDY5LCA0NSwgODAsIDg1LCA3NiwgNzYsIDQ1LCA4NSwgODAsIDQ1LCA3OSwgODUsIDg0LCA4MCwgODUsIDIxMiwgCisgICAgODAsIDY1LCA4MywgODMsIDczLCA4NiwgNjksIDQ1LCA4MCwgODUsIDc2LCA3NiwgNDUsIDY4LCA3OSwgODcsIDc4LCA0NSwgCisgICAgNzksIDg1LCA4NCwgODAsIDg1LCAyMTIsIDgwLCA2NSwgODMsIDgzLCA2OSwgNzgsIDcxLCA2OSwgMjEwLCA4MCwgNjUsIDgzLCAKKyAgICA3MiwgODQsIDY1LCAxMjgsIDgwLCA2NSwgODMsIDcyLCA2NSwgNjksIDEyOCwgODAsIDY1LCA4MywgNjksIDgxLCAxMjgsIAorICAgIDgwLCA2NSwgODMsIDY1LCA3OCwgNzEsIDY1LCAyMDYsIDgwLCA2NSwgODIsIDg1LCA3NywgMTI4LCA4MCwgNjUsIDgyLCA4NCwgCisgICAgMjE3LCA4MCwgNjUsIDgyLCA4NCwgNzgsIDY5LCA4MiwgODMsIDcyLCA3MywgMjA4LCA4MCwgNjUsIDgyLCA4NCwgNzMsIDY1LCAKKyAgICA3NiwgNzYsIDg5LCA0NSwgODIsIDY5LCA2NywgODksIDY3LCA3NiwgNjksIDE5NiwgODAsIDY1LCA4MiwgODQsIDczLCA2NSwgCisgICAgMjA0LCA4MCwgNjUsIDgyLCA4NCwgNzIsIDczLCA2NSwgMjA2LCA4MCwgNjUsIDgyLCAyMTIsIDgwLCA2NSwgODIsIDc1LCAKKyAgICAxMjgsIDgwLCA2NSwgODIsIDczLCA2NywgNzIsIDc5LCA3OCwgMTI4LCA4MCwgNjUsIDgyLCA2OSwgODMsIDg0LCA3MywgNzEsIAorICAgIDc3LCA2OSwgNzgsIDc5LCAyMDYsIDgwLCA2NSwgODIsIDY5LCA4MiwgNjksIDc4LCAxMjgsIDgwLCA2NSwgODIsIDY5LCA3OCwgCisgICAgODQsIDcyLCA2OSwgODMsIDczLCA4MywgMTI4LCA4MCwgNjUsIDgyLCA2OSwgNzgsIDg0LCA3MiwgNjksIDgzLCA3MywgMjExLCAKKyAgICA4MCwgNjUsIDgyLCA2OSwgNzgsIDg0LCA3MiwgNjksIDgzLCA2OSwgMjExLCA4MCwgNjUsIDgyLCA2NSwgODAsIDcyLCA4MiwgCisgICAgNjUsIDgzLCAxOTcsIDgwLCA2NSwgODIsIDY1LCA3NiwgNzYsIDY5LCA3NiwgNzksIDcxLCA4MiwgNjUsIDc3LCAxMjgsIDgwLCAKKyAgICA2NSwgODIsIDY1LCA3NiwgNzYsIDY5LCA3NiwgMTI4LCA4MCwgNjUsIDgyLCA2NSwgNzYsIDc2LCA2OSwgMjA0LCA4MCwgNjUsIAorICAgIDgyLCA2NSwgNzUsIDc2LCA3MywgODQsIDczLCA3NSwgNzMsIDEyOCwgODAsIDY1LCA4MiwgNjUsIDc1LCA3NiwgNzMsIDg0LCAKKyAgICA3MywgNzUsIDIwMSwgODAsIDY1LCA4MiwgNjUsIDc1LCA2NSwgNzYsIDY5LCA4MywgNzcsIDE5MywgODAsIDY1LCA4MiwgNjUsIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNzksIDgzLCAxMjgsIDgwLCA2NSwgODIsIDY1LCA3MSwgODIsIDY1LCA4MCwgNzIsIDEyOCwgCisgICAgODAsIDY1LCA4MiwgNjUsIDcxLCA4MiwgNjUsIDgwLCAyMDAsIDgwLCA2NSwgODIsIDY1LCAxMjgsIDgwLCA2NSwgODIsIAorICAgIDEyOCwgODAsIDY1LCA4MCwgODksIDgyLCA4NSwgODMsIDEyOCwgODAsIDY1LCA4MCwgNjksIDgyLCA2NywgNzYsIDczLCA4MCwgCisgICAgODMsIDEyOCwgODAsIDY1LCA4MCwgNjksIDgyLCA2NywgNzYsIDczLCA4MCwgMTI4LCA4MCwgNjUsIDgwLCA2OSwgMjEwLCAKKyAgICA4MCwgNjUsIDgwLCAxMjgsIDgwLCA2NSwgMjA4LCA4MCwgNjUsIDIwNywgODAsIDY1LCA3OCwgODksIDg1LCA3NSwgODUsIAorICAgIDEyOCwgODAsIDY1LCA3OCwgODksIDczLCA3NSwgODUsIDEyOCwgODAsIDY1LCA3OCwgODksIDY5LCA2NywgNjksIDc1LCAKKyAgICAxMjgsIDgwLCA2NSwgNzgsIDg5LCA2NSwgNzgsIDcxLCA3MSwgNjUsIDEyOCwgODAsIDY1LCA3OCwgODksIDY1LCA3NSwgODIsIAorICAgIDY1LCAxMjgsIDgwLCA2NSwgNzgsIDg0LCA3MywgMTI4LCA4MCwgNjUsIDc4LCA4MywgNzMsIDc5LCA4MywgNDUsIDgwLCA3MywgCisgICAgNjksIDg1LCA4MCwgMTI4LCA4MCwgNjUsIDc4LCA4MywgNzMsIDc5LCA4MywgNDUsIDc1LCA2NSwgODAsIDg5LCA2OSwgNzksIAorICAgIDg1LCA3OCwgODAsIDczLCA2OSwgODUsIDgwLCAxMjgsIDgwLCA2NSwgNzgsIDc5LCA3OCwgNzEsIDc5LCA3OCwgNjUsIDc4LCAKKyAgICAxMjgsIDgwLCA2NSwgNzgsIDc5LCA3NiwgNzksIDc4LCA3MSwgMTI4LCA4MCwgNjUsIDc4LCA3MSwgODcsIDczLCA4MywgNjUsIAorICAgIDY4LCAxMjgsIDgwLCA2NSwgNzgsIDcxLCA4MiwgNjUsIDc4LCA3MSwgNzUsIDY5LCA4MCwgMTI4LCA4MCwgNjUsIDc4LCA3MSwgCisgICAgNzksIDc2LCA2NSwgODQsIDEyOCwgODAsIDY1LCA3OCwgNzEsIDc2LCA3OSwgNzgsIDcxLCAxMjgsIDgwLCA2NSwgNzgsIDcxLCAKKyAgICA3NiwgNjUsIDg5LCA2NSwgODIsIDEyOCwgODAsIDY1LCA3OCwgNzEsIDc1LCA3OSwgNzgsIDEyOCwgODAsIDY1LCA3OCwgNzEsIAorICAgIDc1LCA2NSwgODQsIDEyOCwgODAsIDY1LCA3OCwgNzEsIDcyLCA4NSwgNzYsIDg1LCAxMjgsIDgwLCA2NSwgNzgsIDcxLCAKKyAgICAxMjgsIDgwLCA2NSwgNzgsIDY5LCA4NSwgNzYsIDY5LCA4NSwgNzgsIDcxLCAxMjgsIDgwLCA2NSwgNzgsIDY4LCAxOTMsIAorICAgIDgwLCA2NSwgNzgsIDY1LCA2OSwgNzYsIDY1LCA2OSwgNzgsIDcxLCAxMjgsIDgwLCA2NSwgNzgsIDEyOCwgODAsIDY1LCA3NywgCisgICAgODUsIDc4LCA3MSwgNzUsIDY1LCA3MiwgMTI4LCA4MCwgNjUsIDc3LCA4NSwgNjgsIDgwLCA3OSwgNjgsIDEyOCwgODAsIDY1LCAKKyAgICA3NywgODMsIDcyLCA2NSwgNjksIDEyOCwgODAsIDY1LCA3NywgODAsIDcyLCA4OSwgNzYsIDczLCA2NSwgMjA2LCA4MCwgNjUsIAorICAgIDc3LCA3MywgNzgsIDcxLCA3NSwgNjUsIDc2LCAxMjgsIDgwLCA2NSwgNzcsIDY5LCA4MCwgNjksIDg0LCAxMjgsIDgwLCA2NSwgCisgICAgNzcsIDY5LCA3OCwgNjksIDc4LCA3MSwgMTI4LCA4MCwgNjUsIDc3LCA2NSwgNjgsIDY1LCAxMjgsIDgwLCA2NSwgNzcsIDY1LCAKKyAgICA2NSwgNjksIDcyLCAxMjgsIDgwLCA2NSwgNzYsIDg1LCA4NCwgNjUsIDEyOCwgODAsIDY1LCA3NiwgNzksIDY3LCA3MiwgNzUsIAorICAgIDY1LCAxMjgsIDgwLCA2NSwgNzYsIDc3LCA4OSwgODIsIDY5LCA3OCwgMTk3LCA4MCwgNjUsIDc2LCAyMDUsIDgwLCA2NSwgCisgICAgNzYsIDc2LCA2NSwgODcsIDY1LCAxMjgsIDgwLCA2NSwgNzYsIDc2LCA2NSwgODMsIDEyOCwgODAsIDY1LCA3NiwgNjksIDg0LCAKKyAgICA4NCwgNjksIDEyOCwgODAsIDY1LCA3NiwgNjUsIDg1LCA3OCwgMTk5LCA4MCwgNjUsIDc2LCA2NSwgODQsIDY1LCA3NiwgNzMsIAorICAgIDkwLCA2OSwgMTk2LCA4MCwgNjUsIDc2LCA2NSwgODQsIDY1LCA3NiwgNzMsIDkwLCA2NSwgODQsIDczLCA3OSwgNzgsIDEyOCwgCisgICAgODAsIDY1LCA3NiwgNjUsIDg0LCA2NSwgMjA0LCA4MCwgNjUsIDc1LCA4MCwgNjUsIDIwMywgODAsIDY1LCA3MywgODksIDY1LCAKKyAgICA3OCwgNzgsIDc5LCA3MywgMTI4LCA4MCwgNjUsIDczLCA4MiwgODQsIDcyLCA4MiwgNjUsIDEyOCwgODAsIDY1LCA3MywgODIsIAorICAgIDY5LCAxOTYsIDgwLCA2NSwgNzMsIDc4LCA4NCwgNjYsIDgyLCA4NSwgODMsIDcyLCAxMjgsIDgwLCA2NSwgNzMsIDEyOCwgCisgICAgODAsIDY1LCA3MiwgNzYsIDY1LCA4NiwgMjAxLCA4MCwgNjUsIDcyLCAxMjgsIDgwLCA2NSwgNzEsIDY5LCA4MywgMTI4LCAKKyAgICA4MCwgNjUsIDcxLCA2OSwgODIsIDEyOCwgODAsIDY1LCA3MSwgMTk3LCA4MCwgNjUsIDY4LCA3NywgMTkzLCA4MCwgNjUsIAorICAgIDY4LCA2OCwgNzMsIDc4LCAxOTksIDgwLCA2NSwgNjgsIDE5MywgODAsIDY1LCA2OCwgMTI4LCA4MCwgNjUsIDY3LCA3NSwgCisgICAgNzMsIDc4LCA3MSwgMTI4LCA4MCwgNjUsIDY3LCA3NSwgNjUsIDcxLCA2OSwgMTI4LCA4MCwgNjUsIDY1LCA4NCwgODUsIAorICAgIDEyOCwgODAsIDY1LCA2NSwgODMsIDY5LCA3OCwgODQsIDc5LCAxMjgsIDgwLCA2NSwgNjUsIDgyLCA2NSwgNjksIDEyOCwgCisgICAgODAsIDY1LCA2NSwgNzcsIDEyOCwgODAsIDY1LCA2NSwgNzMsIDEyOCwgODAsIDY1LCA2NSwgNDUsIDgwLCA3MywgNzYsIDc2LCAKKyAgICA2NSwgMTI4LCA4MCwgNjUsIDY1LCAxMjgsIDgwLCA1MCwgMTI4LCA4MCwgNDgsIDQ5LCA0OSwgMTI4LCA4MCwgNDgsIDQ5LCAKKyAgICA0OCwgMTI4LCA4MCwgNDgsIDQ4LCA1NywgMTI4LCA4MCwgNDgsIDQ4LCA1NiwgMTI4LCA4MCwgNDgsIDQ4LCA1NSwgMTI4LCAKKyAgICA4MCwgNDgsIDQ4LCA1NCwgMTI4LCA4MCwgNDgsIDQ4LCA1MywgMTI4LCA4MCwgNDgsIDQ4LCA1MiwgMTI4LCA4MCwgNDgsIAorICAgIDQ4LCA1MSwgNjUsIDEyOCwgODAsIDQ4LCA0OCwgNTEsIDEyOCwgODAsIDQ4LCA0OCwgNTAsIDEyOCwgODAsIDQ4LCA0OCwgCisgICAgNDksIDY1LCAxMjgsIDgwLCA0OCwgNDgsIDQ5LCAxMjgsIDc5LCA4OSwgODIsIDY1LCA3OCwgNzMsIDgzLCA3NywgMTkzLCAKKyAgICA3OSwgODksIDY1LCA3OCwgNzgsIDY1LCAxMjgsIDc5LCA4OCwgNzMsIDY1LCAxMjgsIDc5LCA4OCwgNzMsIDE5MywgNzksIAorICAgIDg4LCA2OSwgNzMsIDY1LCAyMDEsIDc5LCA4OCwgNjksIDczLCAxOTMsIDc5LCA4NiwgNjksIDgyLCA4MiwgNzMsIDY4LCA2OSwgCisgICAgMTI4LCA3OSwgODYsIDY5LCA4MiwgNzYsIDc5LCA3OCwgMTk5LCA3OSwgODYsIDY5LCA4MiwgNzYsIDczLCA3OCwgNjksIAogICAgIDEyOCwgNzksIDg2LCA2OSwgODIsIDc2LCA2NSwgODksIDEyOCwgNzksIDg2LCA2OSwgODIsIDc2LCA2NSwgODAsIDgwLCA3MywgCi0gICAgNzgsIDE5OSwgNzksIDg2LCA2OSwgODIsIDc2LCA2NSwgNzMsIDY4LCAxMjgsIDc5LCA4NiwgNjksIDgyLCA2NiwgNjUsIDgyLCAKLSAgICAxMjgsIDc5LCA4NiwgNjUsIDIwNCwgNzksIDg2LCAxMjgsIDc5LCA4NSwgODQsIDc2LCA3MywgNzgsIDY5LCAxOTYsIDc5LCAKLSAgICA4NSwgODQsIDc2LCA3MywgNzgsIDY5LCAxMjgsIDc5LCA4NSwgODQsIDY5LCAyMTAsIDc5LCA4NSwgODQsIDY2LCA3OSwgCi0gICAgMjE2LCA3OSwgODUsIDc4LCA3NSwgNzMsIDE5MywgNzksIDg1LCA3OCwgNjcsIDY5LCAxMjgsIDc5LCA4NSwgNzgsIDY3LCAKLSAgICAxOTcsIDc5LCA4NCwgODUsIDEyOCwgNzksIDg0LCA4NCwgNjUsIDg2LCAxOTMsIDc5LCA4NCwgODQsIDEyOCwgNzksIDg0LCAKLSAgICA3MiwgNjUsIDc2LCA2NSwgMjA2LCA3OSwgODQsIDcyLCA2NSwgNzYsIDEyOCwgNzksIDgzLCA3NywgNjUsIDc4LCA4OSwgCi0gICAgMTkzLCA3OSwgODMsIDY3LCAxMjgsIDc5LCA4MiwgODQsIDcyLCA3OSwgNzEsIDc5LCA3OCwgNjUsIDIwNCwgNzksIDgyLCAKLSAgICA4NCwgNzIsIDc5LCA2OCwgNzksIDIxNiwgNzksIDgyLCA3OCwgNjUsIDg0LCAxOTcsIDc5LCA4MiwgNzgsIDY1LCA3NywgNjksIAotICAgIDc4LCA4NCwgMTI4LCA3OSwgODIsIDc4LCA2NSwgNzcsIDY5LCA3OCwgMjEyLCA3OSwgODIsIDc1LCA3MiwgNzksIDIwNiwgCi0gICAgNzksIDgyLCA3MywgNzEsIDczLCA3OCwgNjUsIDIwNCwgNzksIDgyLCA3MywgNzEsIDczLCA3OCwgMTI4LCA3OSwgODIsIDY5LCAKLSAgICA0NSwgNTAsIDEyOCwgNzksIDgyLCA2OCwgNzMsIDc4LCA2NSwgMjA0LCA3OSwgODIsIDY4LCA2OSwgMjEwLCA3OSwgODIsIAotICAgIDY3LCA3MiwgNzMsIDY4LCAxMjgsIDc5LCA4MiwgNjUsIDc4LCA3MSwgMTk3LCA3OSwgODAsIDg0LCA3MywgNzksIDIwNiwgCi0gICAgNzksIDgwLCA4NCwgNzMsIDY3LCA2NSwgMjA0LCA3OSwgODAsIDgwLCA4MiwgNjksIDgzLCA4MywgNzMsIDc5LCA3OCwgMTI4LCAKLSAgICA3OSwgODAsIDgwLCA3OSwgODMsIDczLCA4NCwgNzMsIDc5LCA3OCwgMTI4LCA3OSwgODAsIDgwLCA3OSwgODMsIDczLCA3OCwgCi0gICAgMTk5LCA3OSwgODAsIDgwLCA3OSwgODMsIDY5LCAxMjgsIDc5LCA4MCwgNzIsIDczLCA4NSwgNjcsIDcyLCA4NSwgODMsIAotICAgIDEyOCwgNzksIDgwLCA2OSwgODIsIDY1LCA4NCwgNzksIDgyLCAxMjgsIDc5LCA4MCwgNjksIDgyLCA2NSwgODQsIDc5LCAKLSAgICAyMTAsIDc5LCA4MCwgNjksIDgyLCA2NSwgODQsIDczLCA3OCwgMTk5LCA3OSwgODAsIDY5LCA3OCwgNzMsIDc4LCAxOTksIAotICAgIDc5LCA4MCwgNjksIDc4LCA0NSwgODAsIDEyOCwgNzksIDgwLCA2OSwgNzgsIDQ1LCA3OSwgODUsIDg0LCA3NiwgNzMsIDc4LCAKLSAgICA2OSwgMTk2LCA3OSwgODAsIDY5LCA3OCwgNDUsIDcyLCA2OSwgNjUsIDY4LCA2OSwgMTk2LCA3OSwgODAsIDY5LCA3OCwgNDUsIAotICAgIDY3LCA3MywgODIsIDY3LCA4NSwgNzMsIDg0LCA0NSwgNzksIDg1LCA4NCwgODAsIDg1LCAyMTIsIDc5LCA3OSwgOTAsIDY5LCAKLSAgICAxMjgsIDc5LCA3OSwgODksIDY1LCA3OCwgNzgsIDY1LCAxMjgsIDc5LCA3OSwgODUsIDEyOCwgNzksIDc5LCA3NywgODUsIAotICAgIDEyOCwgNzksIDc5LCA2OSwgMTI4LCA3OSwgNzksIDY2LCA3OSwgNzksIDcwLCA3MywgNzYsIDczLCAxMjgsIDc5LCA3OCwgCi0gICAgODUsIDEyOCwgNzksIDc4LCA4MywgODUsIDEyOCwgNzksIDc4LCA3OCwgMTI4LCA3OSwgNzgsIDc1LCA2NSwgODIsIDEyOCwgCi0gICAgNzksIDc4LCA2OSwgODMsIDY5LCA3NiwgNzAsIDEyOCwgNzksIDc4LCA2OSwgNDUsIDg3LCA2NSwgMjE3LCA3OSwgNzgsIDY5LCAKLSAgICA0NSwgODQsIDcyLCA3MywgODIsIDg0LCA4OSwgMTI4LCA3OSwgNzgsIDY5LCA0NSwgNzYsIDczLCA3OCwgMTk3LCA3OSwgNzgsIAotICAgIDY3LCA3OSwgNzcsIDczLCA3OCwgMTk5LCA3OSwgNzgsIDY1LCA4MCwgMTI4LCA3OSwgNzcsIDczLCA4MywgODMsIDczLCA3OSwgCi0gICAgMjA2LCA3OSwgNzcsIDczLCA2NywgODIsIDc5LCA3OCwgMTI4LCA3OSwgNzcsIDczLCA2NywgODIsIDc5LCAyMDYsIDc5LCAKLSAgICA3NywgNjksIDcxLCA2NSwgMTI4LCA3OSwgNzcsIDY5LCA3MSwgMTkzLCA3OSwgNzcsIDY1LCA3NiwgNzksIDc4LCAxMjgsIAotICAgIDc5LCA3NiwgNzMsIDg2LCA2OSwgMTI4LCA3OSwgNzYsIDczLCA3MSwgNzksIDIwNiwgNzksIDc2LCA2OCwgMTI4LCA3OSwgCi0gICAgNzUsIDg0LCAyMDcsIDc5LCA3NSwgNjUsIDgyLCA2NSwgMTI4LCA3OSwgNzUsIDY1LCA4MiwgMTkzLCA3OSwgNzQsIDczLCAKLSAgICA2NiwgODcsIDY1LCAyMTcsIDc5LCA3NCwgNjksIDc5LCA3OCwgMTI4LCA3OSwgNzMsIDc2LCAxMjgsIDc5LCA3MiwgNzcsIAotICAgIDEyOCwgNzksIDcyLCAyMDUsIDc5LCA3MSwgODIsIDY5LCAxMjgsIDc5LCA3MSwgNzksIDc4LCA2OSwgNzUsIDEyOCwgNzksIAotICAgIDcxLCA3OSwgNzgsIDY5LCAyMDMsIDc5LCA3MSwgNzIsIDY1LCAyMDUsIDc5LCA3MCwgNzAsIDczLCA2NywgNjksIDgyLCAKLSAgICAxMjgsIDc5LCA3MCwgNzAsIDczLCA2NywgNjksIDEyOCwgNzksIDcwLCA3MCwgNzMsIDY3LCAxOTcsIDc5LCA3MCwgNzAsIAotICAgIDEyOCwgNzksIDY5LCA4OSwgMTI4LCA3OSwgNjksIDc1LCAxMjgsIDc5LCA2OCwgNjksIDc4LCAxMjgsIDc5LCA2OCwgMTk2LCAKLSAgICA3OSwgNjcsIDg0LCA3OSwgODAsIDg1LCA4MywgMTI4LCA3OSwgNjcsIDg0LCA3OSwgNjYsIDY5LCA4MiwgMTI4LCA3OSwgNjcsIAotICAgIDg0LCA2OSwgMjEyLCA3OSwgNjcsIDIxMCwgNzksIDY3LCA3NiwgNzksIDY3LCA3NSwgMTI4LCA3OSwgNjcsIDY3LCA3NiwgCi0gICAgODUsIDgzLCA3MywgNzksIDc4LCAxMjgsIDc5LCA2NiwgODMsIDg0LCA4MiwgODUsIDY3LCA4NCwgNzMsIDc5LCA3OCwgMTI4LCAKLSAgICA3OSwgNjYsIDc5LCA3NiwgMjExLCA3OSwgNjYsIDc5LCAyMDQsIDc5LCA2NiwgNzksIDcwLCA3MywgNzYsIDczLCAxMjgsIAotICAgIDc5LCA2NiwgNzYsIDczLCA4MSwgODUsIDE5NywgNzksIDY2LCA3NCwgNjksIDY3LCAyMTIsIDc5LCA2NiwgNjksIDc2LCA4NSwgCi0gICAgODMsIDEyOCwgNzksIDY2LCA2OSwgNzYsIDc5LCA4MywgMTI4LCA3OSwgNjYsIDEyOCwgNzksIDY1LCA4OSwgMTI4LCA3OSwgCi0gICAgNjUsIDc1LCAxMjgsIDc5LCA2NSwgNjYsIDc5LCA2NSwgNzAsIDczLCA3NiwgNzMsIDEyOCwgNzksIDE5MywgNzksIDQ4LCAKLSAgICA1MywgNDksIDEyOCwgNzksIDQ4LCA1MywgNDgsIDY2LCAxMjgsIDc5LCA0OCwgNTMsIDQ4LCA2NSwgMTI4LCA3OSwgNDgsIAotICAgIDUzLCA0OCwgMTI4LCA3OSwgNDgsIDUyLCA1NywgMTI4LCA3OSwgNDgsIDUyLCA1NiwgMTI4LCA3OSwgNDgsIDUyLCA1NSwgCi0gICAgMTI4LCA3OSwgNDgsIDUyLCA1NCwgMTI4LCA3OSwgNDgsIDUyLCA1MywgMTI4LCA3OSwgNDgsIDUyLCA1MiwgMTI4LCA3OSwgCi0gICAgNDgsIDUyLCA1MSwgMTI4LCA3OSwgNDgsIDUyLCA1MCwgMTI4LCA3OSwgNDgsIDUyLCA0OSwgMTI4LCA3OSwgNDgsIDUyLCAKLSAgICA0OCwgMTI4LCA3OSwgNDgsIDUxLCA1NywgMTI4LCA3OSwgNDgsIDUxLCA1NiwgMTI4LCA3OSwgNDgsIDUxLCA1NSwgMTI4LCAKLSAgICA3OSwgNDgsIDUxLCA1NCwgNjgsIDEyOCwgNzksIDQ4LCA1MSwgNTQsIDY3LCAxMjgsIDc5LCA0OCwgNTEsIDU0LCA2NiwgCi0gICAgMTI4LCA3OSwgNDgsIDUxLCA1NCwgNjUsIDEyOCwgNzksIDQ4LCA1MSwgNTQsIDEyOCwgNzksIDQ4LCA1MSwgNTMsIDEyOCwgCi0gICAgNzksIDQ4LCA1MSwgNTIsIDEyOCwgNzksIDQ4LCA1MSwgNTEsIDY1LCAxMjgsIDc5LCA0OCwgNTEsIDUxLCAxMjgsIDc5LCAKLSAgICA0OCwgNTEsIDUwLCAxMjgsIDc5LCA0OCwgNTEsIDQ5LCAxMjgsIDc5LCA0OCwgNTEsIDQ4LCA2NSwgMTI4LCA3OSwgNDgsIAotICAgIDUxLCA0OCwgMTI4LCA3OSwgNDgsIDUwLCA1NywgNjUsIDEyOCwgNzksIDQ4LCA1MCwgNTcsIDEyOCwgNzksIDQ4LCA1MCwgCi0gICAgNTYsIDEyOCwgNzksIDQ4LCA1MCwgNTUsIDEyOCwgNzksIDQ4LCA1MCwgNTQsIDEyOCwgNzksIDQ4LCA1MCwgNTMsIDY1LCAKLSAgICAxMjgsIDc5LCA0OCwgNTAsIDUzLCAxMjgsIDc5LCA0OCwgNTAsIDUyLCA2NSwgMTI4LCA3OSwgNDgsIDUwLCA1MiwgMTI4LCAKLSAgICA3OSwgNDgsIDUwLCA1MSwgMTI4LCA3OSwgNDgsIDUwLCA1MCwgMTI4LCA3OSwgNDgsIDUwLCA0OSwgMTI4LCA3OSwgNDgsIAotICAgIDUwLCA0OCwgNjUsIDEyOCwgNzksIDQ4LCA1MCwgNDgsIDEyOCwgNzksIDQ4LCA0OSwgNTcsIDY1LCAxMjgsIDc5LCA0OCwgCi0gICAgNDksIDU3LCAxMjgsIDc5LCA0OCwgNDksIDU2LCAxMjgsIDc5LCA0OCwgNDksIDU1LCAxMjgsIDc5LCA0OCwgNDksIDU0LCAKLSAgICAxMjgsIDc5LCA0OCwgNDksIDUzLCAxMjgsIDc5LCA0OCwgNDksIDUyLCAxMjgsIDc5LCA0OCwgNDksIDUxLCAxMjgsIDc5LCAKLSAgICA0OCwgNDksIDUwLCAxMjgsIDc5LCA0OCwgNDksIDQ5LCAxMjgsIDc5LCA0OCwgNDksIDQ4LCA2NywgMTI4LCA3OSwgNDgsIAotICAgIDQ5LCA0OCwgNjYsIDEyOCwgNzksIDQ4LCA0OSwgNDgsIDY1LCAxMjgsIDc5LCA0OCwgNDksIDQ4LCAxMjgsIDc5LCA0OCwgCi0gICAgNDgsIDU3LCAxMjgsIDc5LCA0OCwgNDgsIDU2LCAxMjgsIDc5LCA0OCwgNDgsIDU1LCAxMjgsIDc5LCA0OCwgNDgsIDU0LCAKLSAgICA3MCwgMTI4LCA3OSwgNDgsIDQ4LCA1NCwgNjksIDEyOCwgNzksIDQ4LCA0OCwgNTQsIDY4LCAxMjgsIDc5LCA0OCwgNDgsIAotICAgIDU0LCA2NywgMTI4LCA3OSwgNDgsIDQ4LCA1NCwgNjYsIDEyOCwgNzksIDQ4LCA0OCwgNTQsIDY1LCAxMjgsIDc5LCA0OCwgCi0gICAgNDgsIDU0LCAxMjgsIDc5LCA0OCwgNDgsIDUzLCA2NSwgMTI4LCA3OSwgNDgsIDQ4LCA1MywgMTI4LCA3OSwgNDgsIDQ4LCAKLSAgICA1MiwgMTI4LCA3OSwgNDgsIDQ4LCA1MSwgMTI4LCA3OSwgNDgsIDQ4LCA1MCwgMTI4LCA3OSwgNDgsIDQ4LCA0OSwgNjUsIAotICAgIDEyOCwgNzksIDQ4LCA0OCwgNDksIDEyOCwgNzksIDQ1LCA4OSwgNjksIDEyOCwgNzksIDQ1LCA3OSwgNDUsIDczLCAxMjgsIAotICAgIDc5LCA0NSwgNjksIDEyOCwgNzgsIDkwLCA4OSwgODgsIDEyOCwgNzgsIDkwLCA4OSwgODQsIDEyOCwgNzgsIDkwLCA4OSwgCi0gICAgODIsIDg4LCAxMjgsIDc4LCA5MCwgODksIDgyLCAxMjgsIDc4LCA5MCwgODksIDgwLCAxMjgsIDc4LCA5MCwgODksIDEyOCwgCi0gICAgNzgsIDkwLCA4NSwgODgsIDEyOCwgNzgsIDkwLCA4NSwgODIsIDg4LCAxMjgsIDc4LCA5MCwgODUsIDgyLCAxMjgsIDc4LCAKLSAgICA5MCwgODUsIDgxLCAxMjgsIDc4LCA5MCwgODUsIDgwLCAxMjgsIDc4LCA5MCwgODUsIDc5LCA4OCwgMTI4LCA3OCwgOTAsIAotICAgIDg1LCA3OSwgMTI4LCA3OCwgOTAsIDg1LCAyMDYsIDc4LCA5MCwgODUsIDEyOCwgNzgsIDkwLCA3OSwgODgsIDEyOCwgNzgsIAotICAgIDkwLCA3OSwgODAsIDEyOCwgNzgsIDkwLCA3MywgODgsIDEyOCwgNzgsIDkwLCA3MywgODQsIDEyOCwgNzgsIDkwLCA3MywgCi0gICAgODAsIDEyOCwgNzgsIDkwLCA3MywgNjksIDg4LCAxMjgsIDc4LCA5MCwgNzMsIDY5LCA4MCwgMTI4LCA3OCwgOTAsIDczLCAKLSAgICA2OSwgMTI4LCA3OCwgOTAsIDczLCAxMjgsIDc4LCA5MCwgNjksIDg4LCAxMjgsIDc4LCA5MCwgNjksIDg1LCA3NywgMTI4LCAKLSAgICA3OCwgOTAsIDY5LCAxMjgsIDc4LCA5MCwgNjUsIDg4LCAxMjgsIDc4LCA5MCwgNjUsIDg0LCAxMjgsIDc4LCA5MCwgNjUsIAotICAgIDgxLCAxMjgsIDc4LCA5MCwgNjUsIDgwLCAxMjgsIDc4LCA5MCwgNjUsIDEyOCwgNzgsIDkwLCAxOTMsIDc4LCA4OSwgODcsIAotICAgIDY1LCAxMjgsIDc4LCA4OSwgODUsIDg4LCAxMjgsIDc4LCA4OSwgODUsIDg1LCAxMjgsIDc4LCA4OSwgODUsIDg0LCAxMjgsIAotICAgIDc4LCA4OSwgODUsIDgwLCAxMjgsIDc4LCA4OSwgODUsIDc5LCA4OCwgMTI4LCA3OCwgODksIDg1LCA3OSwgODAsIDEyOCwgCi0gICAgNzgsIDg5LCA4NSwgNzksIDEyOCwgNzgsIDg5LCA4NSwgNjksIDEyOCwgNzgsIDg5LCA4NSwgMTI4LCA3OCwgODksIDc5LCAKLSAgICA4OCwgMTI4LCA3OCwgODksIDc5LCA4NCwgMTI4LCA3OCwgODksIDc5LCA4MCwgMTI4LCA3OCwgODksIDc5LCA3OSwgMTI4LCAKLSAgICA3OCwgODksIDc5LCA2NSwgMTI4LCA3OCwgODksIDc5LCAxMjgsIDc4LCA4OSwgNzQsIDY1LCAxMjgsIDc4LCA4OSwgNzMsIAotICAgIDg4LCAxMjgsIDc4LCA4OSwgNzMsIDg0LCAxMjgsIDc4LCA4OSwgNzMsIDIxMiwgNzgsIDg5LCA3MywgMjExLCA3OCwgODksIAotICAgIDczLCAyMTAsIDc4LCA4OSwgNzMsIDgwLCAxMjgsIDc4LCA4OSwgNzMsIDc4LCA0NSwgNjgsIDc5LCAxMjgsIDc4LCA4OSwgCi0gICAgNzMsIDczLCAxMjgsIDc4LCA4OSwgNzMsIDY5LCA4OCwgMTI4LCA3OCwgODksIDczLCA2OSwgODQsIDEyOCwgNzgsIDg5LCAKLSAgICA3MywgNjksIDgwLCAxMjgsIDc4LCA4OSwgNzMsIDY5LCAxMjgsIDc4LCA4OSwgNzMsIDEyOCwgNzgsIDg5LCAyMDEsIDc4LCAKLSAgICA4OSwgNzIsIDY1LCAxMjgsIDc4LCA4OSwgNjksIDg0LCAxMjgsIDc4LCA4OSwgNjksIDIxMiwgNzgsIDg5LCA2OSwgNzIsIAotICAgIDEyOCwgNzgsIDg5LCA2OSwgMjAwLCA3OCwgODksIDY5LCA2OSwgMTI4LCA3OCwgODksIDY5LCAxMjgsIDc4LCA4OSwgMTk2LCAKLSAgICA3OCwgODksIDY3LCA2NSwgMTI4LCA3OCwgODksIDY1LCA4NSwgMTI4LCA3OCwgODksIDY1LCA3MywgMTI4LCA3OCwgODksIAotICAgIDY1LCA3MiwgMTI4LCA3OCwgODksIDY1LCA2OSwgNzcsIDY1LCA2OSwgMTI4LCA3OCwgODksIDY1LCA2NSwgMTI4LCA3OCwgCi0gICAgODcsIDc5LCA3OSwgMTI4LCA3OCwgODcsIDc5LCAxMjgsIDc4LCA4NywgNzMsIDczLCAxMjgsIDc4LCA4NywgNzMsIDEyOCwgCi0gICAgNzgsIDg3LCA2OSwgMTI4LCA3OCwgODcsIDY1LCA2NSwgMTI4LCA3OCwgODcsIDY1LCAxMjgsIDc4LCA4NywgMTI4LCA3OCwgCi0gICAgODYsIDEyOCwgNzgsIDg1LCA4OCwgMTI4LCA3OCwgODUsIDg1LCA3OCwgMTI4LCA3OCwgODUsIDg1LCAxMjgsIDc4LCA4NSwgCi0gICAgODQsIDczLCA3NiwgNzYsIDg1LCAxMjgsIDc4LCA4NSwgODQsIDEyOCwgNzgsIDg1LCAyMTIsIDc4LCA4NSwgODIsIDg4LCAKLSAgICAxMjgsIDc4LCA4NSwgODIsIDEyOCwgNzgsIDg1LCA4MCwgMTI4LCA3OCwgODUsIDc5LCA4OCwgMTI4LCA3OCwgODUsIDc5LCAKLSAgICA4MCwgMTI4LCA3OCwgODUsIDc5LCAxMjgsIDc4LCA4NSwgNzgsIDg1LCA5MCwgMTI4LCA3OCwgODUsIDc4LCA4NSwgMjE4LCAKLSAgICA3OCwgODUsIDc4LCA3MSwgMTI4LCA3OCwgODUsIDc4LCA2NSwgODYsIDg1LCAyMTIsIDc4LCA4NSwgNzgsIDY1LCA4NiwgNzMsIAotICAgIDIwMywgNzgsIDg1LCA3OCwgMTI4LCA3OCwgODUsIDIwNiwgNzgsIDg1LCA3NywgNjksIDgyLCAyMDcsIDc4LCA4NSwgNzcsIAotICAgIDY5LCA4MiwgNjUsIDg0LCA3OSwgMjEwLCA3OCwgODUsIDc3LCA2OSwgODIsIDY1LCAyMDQsIDc4LCA4NSwgNzcsIDY2LCA2OSwgCi0gICAgODIsIDgzLCAxMjgsIDc4LCA4NSwgNzcsIDY2LCA2OSwgODIsIDEyOCwgNzgsIDg1LCA3NywgMTI4LCA3OCwgODUsIDc2LCAKLSAgICA3NiwgMTI4LCA3OCwgODUsIDc2LCAyMDQsIDc4LCA4NSwgNzYsIDEyOCwgNzgsIDg1LCA3NSwgODQsIDY1LCAxMjgsIDc4LCAKLSAgICA4NSwgNjksIDc4LCA3MSwgMTI4LCA3OCwgODUsIDY5LCAxMjgsIDc4LCA4NSwgNjYsIDczLCA2NSwgMjA2LCA3OCwgODUsIAotICAgIDY1LCA2OSwgMTI4LCA3OCwgODUsIDQ5LCA0OSwgMTI4LCA3OCwgODUsIDQ5LCAxNzcsIDc4LCA4NSwgNDgsIDUwLCA1MCwgCi0gICAgNjUsIDEyOCwgNzgsIDg1LCA0OCwgNTAsIDUwLCAxMjgsIDc4LCA4NSwgNDgsIDUwLCA0OSwgMTI4LCA3OCwgODUsIDQ4LCAKLSAgICA1MCwgNDgsIDEyOCwgNzgsIDg1LCA0OCwgNDksIDU3LCAxMjgsIDc4LCA4NSwgNDgsIDQ5LCA1NiwgNjUsIDEyOCwgNzgsIAotICAgIDg1LCA0OCwgNDksIDU2LCAxMjgsIDc4LCA4NSwgNDgsIDQ5LCA1NSwgMTI4LCA3OCwgODUsIDQ4LCA0OSwgNTQsIDEyOCwgCi0gICAgNzgsIDg1LCA0OCwgNDksIDUzLCAxMjgsIDc4LCA4NSwgNDgsIDQ5LCA1MiwgMTI4LCA3OCwgODUsIDQ4LCA0OSwgNTEsIAotICAgIDEyOCwgNzgsIDg1LCA0OCwgNDksIDUwLCAxMjgsIDc4LCA4NSwgNDgsIDQ5LCA0OSwgNjUsIDEyOCwgNzgsIDg1LCA0OCwgCi0gICAgNDksIDQ5LCAxMjgsIDc4LCA4NSwgNDgsIDQ5LCA0OCwgNjUsIDEyOCwgNzgsIDg1LCA0OCwgNDksIDQ4LCAxMjgsIDc4LCAKLSAgICA4NSwgNDgsIDQ4LCA1NywgMTI4LCA3OCwgODUsIDQ4LCA0OCwgNTYsIDEyOCwgNzgsIDg1LCA0OCwgNDgsIDU1LCAxMjgsIAotICAgIDc4LCA4NSwgNDgsIDQ4LCA1NCwgMTI4LCA3OCwgODUsIDQ4LCA0OCwgNTMsIDEyOCwgNzgsIDg1LCA0OCwgNDgsIDUyLCAKLSAgICAxMjgsIDc4LCA4NSwgNDgsIDQ4LCA1MSwgMTI4LCA3OCwgODUsIDQ4LCA0OCwgNTAsIDEyOCwgNzgsIDg1LCA0OCwgNDgsIAotICAgIDQ5LCAxMjgsIDc4LCA4NCwgODUsIDg1LCAxMjgsIDc4LCA4NCwgODUsIDc3LCAxMjgsIDc4LCA4NCwgMjEzLCA3OCwgODQsIAotICAgIDc5LCA4MSwgODAsIDY5LCA3OCwgMTI4LCA3OCwgODQsIDczLCA2OSwgMTk3LCA3OCwgODQsIDY5LCA4NSwgNzgsIDcxLCA2NiwgCi0gICAgNjUsIDEyOCwgNzgsIDg0LCA2OSwgODUsIDc3LCAxMjgsIDc4LCA4NCwgNjksIDc4LCAxMjgsIDc4LCA4NCwgNjksIDY5LCAKLSAgICAxMjgsIDc4LCA4NCwgNjUsIDgwLCAxMjgsIDc4LCA4NCwgNjUsIDIwOCwgNzgsIDg0LCA2NSwgNjUsIDEyOCwgNzgsIDgzLCAKLSAgICA4NSwgNzksIDIxMiwgNzgsIDgzLCA4NSwgNzgsIDEyOCwgNzgsIDgzLCA4NSwgNzcsIDEyOCwgNzgsIDgzLCA3OSwgNzcsIAotICAgIDEyOCwgNzgsIDgzLCA3MywgNjksIDY5LCA4NCwgMTI4LCA3OCwgODMsIDczLCA2OSwgNjksIDgwLCAxMjgsIDc4LCA4MywgCi0gICAgNzMsIDY5LCA2OSwgMTI4LCA3OCwgODMsIDcyLCA4NSwgODQsIDEyOCwgNzgsIDgzLCA3MiwgODUsIDIxMiwgNzgsIDgzLCAKLSAgICA3MiwgODUsIDc5LCA4MCwgMTI4LCA3OCwgODMsIDcyLCA4NSwgNjksIDEyOCwgNzgsIDgzLCA3MiwgNzMsIDY5LCA2OSwgCi0gICAgMTI4LCA3OCwgODMsIDcyLCA2OSwgNjksIDEyOCwgNzgsIDgzLCA3MiwgNjUsIDgxLCAxMjgsIDc4LCA4MywgNzIsIDY1LCAKLSAgICAxMjgsIDc4LCA4MywgNjksIDg1LCA2NSwgNjksIDc4LCAxMjgsIDc4LCA4MywgNjksIDc4LCAxMjgsIDc4LCA4MywgNjUsIAotICAgIDEyOCwgNzgsIDgyLCA4OSwgODgsIDEyOCwgNzgsIDgyLCA4OSwgODQsIDEyOCwgNzgsIDgyLCA4OSwgODIsIDg4LCAxMjgsIAotICAgIDc4LCA4MiwgODksIDgyLCAxMjgsIDc4LCA4MiwgODksIDgwLCAxMjgsIDc4LCA4MiwgODksIDEyOCwgNzgsIDgyLCA4NSwgCi0gICAgODgsIDEyOCwgNzgsIDgyLCA4NSwgODQsIDEyOCwgNzgsIDgyLCA4NSwgODIsIDg4LCAxMjgsIDc4LCA4MiwgODUsIDgyLCAKLSAgICAxMjgsIDc4LCA4MiwgODUsIDgwLCAxMjgsIDc4LCA4MiwgODUsIDEyOCwgNzgsIDgyLCA3OSwgODgsIDEyOCwgNzgsIDgyLCAKLSAgICA3OSwgODAsIDEyOCwgNzgsIDgyLCA3OSwgMTI4LCA3OCwgODIsIDY5LCA4OCwgMTI4LCA3OCwgODIsIDY5LCA4NCwgMTI4LCAKLSAgICA3OCwgODIsIDY5LCA4MCwgMTI4LCA3OCwgODIsIDY5LCAxMjgsIDc4LCA4MiwgNjUsIDg4LCAxMjgsIDc4LCA4MiwgNjUsIAotICAgIDg0LCAxMjgsIDc4LCA4MiwgNjUsIDgwLCAxMjgsIDc4LCA4MiwgNjUsIDEyOCwgNzgsIDc5LCA4OSwgMTI4LCA3OCwgNzksIAotICAgIDg4LCAxMjgsIDc4LCA3OSwgODYsIDY5LCA3NywgNjYsIDY5LCA4MiwgMTI4LCA3OCwgNzksIDg0LCA4NCwgNzksIDEyOCwgCi0gICAgNzgsIDc5LCA4NCwgNjksIDgzLCAxMjgsIDc4LCA3OSwgODQsIDY5LCA3MiwgNjksIDY1LCA2OCwgMTI4LCA3OCwgNzksIDg0LCAKLSAgICA2OSwgNzIsIDY5LCA2NSwgMTk2LCA3OCwgNzksIDg0LCA2OSwgNjYsIDc5LCA3OSwgNzUsIDEyOCwgNzgsIDc5LCA4NCwgNjksIAotICAgIDY2LCA3OSwgNzksIDIwMywgNzgsIDc5LCA4NCwgNjksIDEyOCwgNzgsIDc5LCA4NCwgMTk3LCA3OCwgNzksIDg0LCA2NywgCi0gICAgNzIsIDY5LCAxOTYsIDc4LCA3OSwgODQsIDY3LCA3MiwgMTI4LCA3OCwgNzksIDg0LCAxMjgsIDc4LCA3OSwgMjEyLCA3OCwgCi0gICAgNzksIDgzLCA2OSwgMTI4LCA3OCwgNzksIDgyLCA4NCwgNzIsIDg3LCA2OSwgODMsIDIxMiwgNzgsIDc5LCA4MiwgODQsIDcyLCAKLSAgICA2OSwgODIsIDIwNiwgNzgsIDc5LCA4MiwgODQsIDIwMCwgNzgsIDc5LCA4MiwgNzcsIDY1LCAyMDQsIDc4LCA3OSwgMjEwLCAKKyAgICA3OCwgMTk5LCA3OSwgODYsIDY5LCA4MiwgNzYsIDY1LCA4MCwgMTI4LCA3OSwgODYsIDY5LCA4MiwgNzYsIDY1LCA3MywgNjgsIAorICAgIDEyOCwgNzksIDg2LCA2OSwgODIsIDY2LCA2NSwgODIsIDEyOCwgNzksIDg2LCA2NSwgMjA0LCA3OSwgODUsIDg0LCA3NiwgCisgICAgNzMsIDc4LCA2OSwgMTk2LCA3OSwgODUsIDg0LCA3NiwgNzMsIDc4LCA2OSwgMTI4LCA3OSwgODUsIDg0LCA2OSwgMjEwLCAKKyAgICA3OSwgODUsIDg0LCA2NiwgNzksIDIxNiwgNzksIDg1LCA3OCwgNzUsIDczLCAxOTMsIDc5LCA4NSwgNzgsIDY3LCA2OSwgCisgICAgMTI4LCA3OSwgODUsIDc4LCA2NywgMTk3LCA3OSwgODQsIDg1LCAxMjgsIDc5LCA4NCwgODQsIDY1LCA4NiwgMTkzLCA3OSwgCisgICAgODQsIDg0LCAxMjgsIDc5LCA4NCwgNzIsIDY1LCA3NiwgNjUsIDIwNiwgNzksIDg0LCA3MiwgNjUsIDc2LCAxMjgsIDc5LCAKKyAgICA4MywgNzcsIDY1LCA3OCwgODksIDE5MywgNzksIDgzLCA2NywgMTI4LCA3OSwgODIsIDg0LCA3MiwgNzksIDcxLCA3OSwgNzgsIAorICAgIDY1LCAyMDQsIDc5LCA4MiwgODQsIDcyLCA3OSwgNjgsIDc5LCAyMTYsIDc5LCA4MiwgNzgsIDY1LCA4NCwgMTk3LCA3OSwgCisgICAgODIsIDc4LCA2NSwgNzcsIDY5LCA3OCwgODQsIDEyOCwgNzksIDgyLCA3OCwgNjUsIDc3LCA2OSwgNzgsIDIxMiwgNzksIDgyLCAKKyAgICA3NSwgNzIsIDc5LCAyMDYsIDc5LCA4MiwgNzMsIDcxLCA3MywgNzgsIDY1LCAyMDQsIDc5LCA4MiwgNzMsIDcxLCA3MywgNzgsIAorICAgIDEyOCwgNzksIDgyLCA2OSwgNDUsIDUwLCAxMjgsIDc5LCA4MiwgNjgsIDczLCA3OCwgNjUsIDIwNCwgNzksIDgyLCA2OCwgCisgICAgNjksIDIxMCwgNzksIDgyLCA2NywgNzIsIDczLCA2OCwgMTI4LCA3OSwgODIsIDY1LCA3OCwgNzEsIDE5NywgNzksIDgwLCAKKyAgICA4NCwgNzMsIDc5LCAyMDYsIDc5LCA4MCwgODQsIDczLCA2NywgNjUsIDIwNCwgNzksIDgwLCA4MCwgODIsIDY5LCA4MywgODMsIAorICAgIDczLCA3OSwgNzgsIDEyOCwgNzksIDgwLCA4MCwgNzksIDgzLCA3MywgODQsIDczLCA3OSwgNzgsIDEyOCwgNzksIDgwLCA4MCwgCisgICAgNzksIDgzLCA3MywgNzgsIDE5OSwgNzksIDgwLCA4MCwgNzksIDgzLCA2OSwgMTI4LCA3OSwgODAsIDcyLCA3MywgODUsIDY3LCAKKyAgICA3MiwgODUsIDgzLCAxMjgsIDc5LCA4MCwgNjksIDgyLCA2NSwgODQsIDc5LCA4MiwgMTI4LCA3OSwgODAsIDY5LCA4MiwgNjUsIAorICAgIDg0LCA3OSwgMjEwLCA3OSwgODAsIDY5LCA4MiwgNjUsIDg0LCA3MywgNzgsIDE5OSwgNzksIDgwLCA2OSwgNzgsIDczLCA3OCwgCisgICAgMTk5LCA3OSwgODAsIDY5LCA3OCwgNDUsIDgwLCAxMjgsIDc5LCA4MCwgNjksIDc4LCA0NSwgNzksIDg1LCA4NCwgNzYsIDczLCAKKyAgICA3OCwgNjksIDE5NiwgNzksIDgwLCA2OSwgNzgsIDQ1LCA3OSwgMTI4LCA3OSwgODAsIDY5LCA3OCwgNDUsIDIwNywgNzksIAorICAgIDgwLCA2OSwgNzgsIDQ1LCA3MiwgNjksIDY1LCA2OCwgNjksIDE5NiwgNzksIDgwLCA2OSwgNzgsIDQ1LCA2NywgNzMsIDgyLCAKKyAgICA2NywgODUsIDczLCA4NCwgNDUsIDc5LCA4NSwgODQsIDgwLCA4NSwgMjEyLCA3OSwgODAsIDY5LCAyMDYsIDc5LCA3OSwgOTAsIAorICAgIDY5LCAxMjgsIDc5LCA3OSwgODksIDY1LCA3OCwgNzgsIDY1LCAxMjgsIDc5LCA3OSwgODUsIDEyOCwgNzksIDc5LCA3NywgCisgICAgODUsIDEyOCwgNzksIDc5LCA3MiwgMTI4LCA3OSwgNzksIDY5LCAxMjgsIDc5LCA3OSwgNjYsIDc5LCA3OSwgNzAsIDczLCAKKyAgICA3NiwgNzMsIDEyOCwgNzksIDc4LCA4NSwgMTI4LCA3OSwgNzgsIDgzLCA4NSwgMTI4LCA3OSwgNzgsIDc4LCAxMjgsIDc5LCAKKyAgICA3OCwgNzUsIDY1LCA4MiwgMTI4LCA3OSwgNzgsIDY5LCA4MywgNjksIDc2LCA3MCwgMTI4LCA3OSwgNzgsIDY5LCA0NSwgODcsIAorICAgIDY1LCAyMTcsIDc5LCA3OCwgNjksIDQ1LCA4NCwgNzIsIDczLCA4MiwgODQsIDg5LCAxMjgsIDc5LCA3OCwgNjksIDQ1LCA3NiwgCisgICAgNzMsIDc4LCAxOTcsIDc5LCA3OCwgNjcsIDc5LCA3NywgNzMsIDc4LCAxOTksIDc5LCA3OCwgNjUsIDgwLCAxMjgsIDc5LCAKKyAgICA3NywgNzMsIDgzLCA4MywgNzMsIDc5LCAyMDYsIDc5LCA3NywgNzMsIDY3LCA4MiwgNzksIDc4LCAxMjgsIDc5LCA3NywgNzMsIAorICAgIDY3LCA4MiwgNzksIDIwNiwgNzksIDc3LCA2OSwgNzEsIDY1LCAxMjgsIDc5LCA3NywgNjksIDcxLCAxOTMsIDc5LCA3NywgCisgICAgNjUsIDc2LCA3OSwgNzgsIDEyOCwgNzksIDc2LCA3MywgODYsIDY5LCAxMjgsIDc5LCA3NiwgNzMsIDcxLCA3OSwgMjA2LCAKKyAgICA3OSwgNzYsIDY4LCAxMjgsIDc5LCA3NSwgODQsIDIwNywgNzksIDc1LCA2NSwgODIsIDY1LCAxMjgsIDc5LCA3NSwgNjUsIAorICAgIDgyLCAxOTMsIDc5LCA3NCwgNzMsIDY2LCA4NywgNjUsIDIxNywgNzksIDc0LCA2OSwgNzksIDc4LCAxMjgsIDc5LCA3MywgCisgICAgNzYsIDEyOCwgNzksIDczLCAyMDQsIDc5LCA3MiwgNzcsIDEyOCwgNzksIDcyLCAyMDUsIDc5LCA3MSwgODIsIDY5LCAxMjgsIAorICAgIDc5LCA3MSwgNzksIDc4LCA2OSwgNzUsIDEyOCwgNzksIDcxLCA3OSwgNzgsIDY5LCAyMDMsIDc5LCA3MSwgNzIsIDY1LCAKKyAgICAyMDUsIDc5LCA3MCwgNzAsIDczLCA2NywgNjksIDgyLCAxMjgsIDc5LCA3MCwgNzAsIDczLCA2NywgNjksIDEyOCwgNzksIAorICAgIDcwLCA3MCwgNzMsIDY3LCAxOTcsIDc5LCA3MCwgNzAsIDEyOCwgNzksIDY5LCA4OSwgMTI4LCA3OSwgNjksIDc1LCAxMjgsIAorICAgIDc5LCA2OCwgNjksIDc4LCAxMjgsIDc5LCA2OCwgNjgsIDEyOCwgNzksIDY4LCAxOTYsIDc5LCA2NywgODQsIDc5LCA4MCwgCisgICAgODUsIDgzLCAxMjgsIDc5LCA2NywgODQsIDc5LCA2NiwgNjksIDgyLCAxMjgsIDc5LCA2NywgODQsIDY5LCAyMTIsIDc5LCAKKyAgICA2NywgODQsIDY1LCA3MSwgNzksIDc4LCAxMjgsIDc5LCA2NywgMjEwLCA3OSwgNjcsIDc2LCA3OSwgNjcsIDc1LCAxMjgsIAorICAgIDc5LCA2NywgNjcsIDc2LCA4NSwgODMsIDczLCA3OSwgNzgsIDEyOCwgNzksIDY2LCA4MywgODQsIDgyLCA4NSwgNjcsIDg0LCAKKyAgICA3MywgNzksIDc4LCAxMjgsIDc5LCA2NiwgNzksIDc2LCAyMTEsIDc5LCA2NiwgNzksIDIwNCwgNzksIDY2LCA3OSwgNzAsIAorICAgIDczLCA3NiwgNzMsIDEyOCwgNzksIDY2LCA3NiwgNzMsIDgxLCA4NSwgMTk3LCA3OSwgNjYsIDc0LCA2OSwgNjcsIDIxMiwgCisgICAgNzksIDY2LCA2OSwgNzYsIDg1LCA4MywgMTI4LCA3OSwgNjYsIDY5LCA3NiwgNzksIDgzLCAxMjgsIDc5LCA2NiwgMTI4LCAKKyAgICA3OSwgNjUsIDg5LCAxMjgsIDc5LCA2NSwgNzUsIDEyOCwgNzksIDY1LCA2NiwgNzksIDY1LCA3MCwgNzMsIDc2LCA3MywgCisgICAgMTI4LCA3OSwgMTkzLCA3OSwgNDgsIDUzLCA0OSwgMTI4LCA3OSwgNDgsIDUzLCA0OCwgNjYsIDEyOCwgNzksIDQ4LCA1MywgCisgICAgNDgsIDY1LCAxMjgsIDc5LCA0OCwgNTMsIDQ4LCAxMjgsIDc5LCA0OCwgNTIsIDU3LCAxMjgsIDc5LCA0OCwgNTIsIDU2LCAKKyAgICAxMjgsIDc5LCA0OCwgNTIsIDU1LCAxMjgsIDc5LCA0OCwgNTIsIDU0LCAxMjgsIDc5LCA0OCwgNTIsIDUzLCAxMjgsIDc5LCAKKyAgICA0OCwgNTIsIDUyLCAxMjgsIDc5LCA0OCwgNTIsIDUxLCAxMjgsIDc5LCA0OCwgNTIsIDUwLCAxMjgsIDc5LCA0OCwgNTIsIAorICAgIDQ5LCAxMjgsIDc5LCA0OCwgNTIsIDQ4LCAxMjgsIDc5LCA0OCwgNTEsIDU3LCAxMjgsIDc5LCA0OCwgNTEsIDU2LCAxMjgsIAorICAgIDc5LCA0OCwgNTEsIDU1LCAxMjgsIDc5LCA0OCwgNTEsIDU0LCA2OCwgMTI4LCA3OSwgNDgsIDUxLCA1NCwgNjcsIDEyOCwgCisgICAgNzksIDQ4LCA1MSwgNTQsIDY2LCAxMjgsIDc5LCA0OCwgNTEsIDU0LCA2NSwgMTI4LCA3OSwgNDgsIDUxLCA1NCwgMTI4LCAKKyAgICA3OSwgNDgsIDUxLCA1MywgMTI4LCA3OSwgNDgsIDUxLCA1MiwgMTI4LCA3OSwgNDgsIDUxLCA1MSwgNjUsIDEyOCwgNzksIAorICAgIDQ4LCA1MSwgNTEsIDEyOCwgNzksIDQ4LCA1MSwgNTAsIDEyOCwgNzksIDQ4LCA1MSwgNDksIDEyOCwgNzksIDQ4LCA1MSwgCisgICAgNDgsIDY1LCAxMjgsIDc5LCA0OCwgNTEsIDQ4LCAxMjgsIDc5LCA0OCwgNTAsIDU3LCA2NSwgMTI4LCA3OSwgNDgsIDUwLCAKKyAgICA1NywgMTI4LCA3OSwgNDgsIDUwLCA1NiwgMTI4LCA3OSwgNDgsIDUwLCA1NSwgMTI4LCA3OSwgNDgsIDUwLCA1NCwgMTI4LCAKKyAgICA3OSwgNDgsIDUwLCA1MywgNjUsIDEyOCwgNzksIDQ4LCA1MCwgNTMsIDEyOCwgNzksIDQ4LCA1MCwgNTIsIDY1LCAxMjgsIAorICAgIDc5LCA0OCwgNTAsIDUyLCAxMjgsIDc5LCA0OCwgNTAsIDUxLCAxMjgsIDc5LCA0OCwgNTAsIDUwLCAxMjgsIDc5LCA0OCwgCisgICAgNTAsIDQ5LCAxMjgsIDc5LCA0OCwgNTAsIDQ4LCA2NSwgMTI4LCA3OSwgNDgsIDUwLCA0OCwgMTI4LCA3OSwgNDgsIDQ5LCAKKyAgICA1NywgNjUsIDEyOCwgNzksIDQ4LCA0OSwgNTcsIDEyOCwgNzksIDQ4LCA0OSwgNTYsIDEyOCwgNzksIDQ4LCA0OSwgNTUsIAorICAgIDEyOCwgNzksIDQ4LCA0OSwgNTQsIDEyOCwgNzksIDQ4LCA0OSwgNTMsIDEyOCwgNzksIDQ4LCA0OSwgNTIsIDEyOCwgNzksIAorICAgIDQ4LCA0OSwgNTEsIDEyOCwgNzksIDQ4LCA0OSwgNTAsIDEyOCwgNzksIDQ4LCA0OSwgNDksIDEyOCwgNzksIDQ4LCA0OSwgCisgICAgNDgsIDY3LCAxMjgsIDc5LCA0OCwgNDksIDQ4LCA2NiwgMTI4LCA3OSwgNDgsIDQ5LCA0OCwgNjUsIDEyOCwgNzksIDQ4LCAKKyAgICA0OSwgNDgsIDEyOCwgNzksIDQ4LCA0OCwgNTcsIDEyOCwgNzksIDQ4LCA0OCwgNTYsIDEyOCwgNzksIDQ4LCA0OCwgNTUsIAorICAgIDEyOCwgNzksIDQ4LCA0OCwgNTQsIDcwLCAxMjgsIDc5LCA0OCwgNDgsIDU0LCA2OSwgMTI4LCA3OSwgNDgsIDQ4LCA1NCwgCisgICAgNjgsIDEyOCwgNzksIDQ4LCA0OCwgNTQsIDY3LCAxMjgsIDc5LCA0OCwgNDgsIDU0LCA2NiwgMTI4LCA3OSwgNDgsIDQ4LCAKKyAgICA1NCwgNjUsIDEyOCwgNzksIDQ4LCA0OCwgNTQsIDEyOCwgNzksIDQ4LCA0OCwgNTMsIDY1LCAxMjgsIDc5LCA0OCwgNDgsIAorICAgIDUzLCAxMjgsIDc5LCA0OCwgNDgsIDUyLCAxMjgsIDc5LCA0OCwgNDgsIDUxLCAxMjgsIDc5LCA0OCwgNDgsIDUwLCAxMjgsIAorICAgIDc5LCA0OCwgNDgsIDQ5LCA2NSwgMTI4LCA3OSwgNDgsIDQ4LCA0OSwgMTI4LCA3OSwgNDUsIDg5LCA2OSwgMTI4LCA3OSwgCisgICAgNDUsIDc5LCA0NSwgNzMsIDEyOCwgNzksIDQ1LCA2OSwgMTI4LCA3OCwgOTAsIDg5LCA4OCwgMTI4LCA3OCwgOTAsIDg5LCAKKyAgICA4NCwgMTI4LCA3OCwgOTAsIDg5LCA4MiwgODgsIDEyOCwgNzgsIDkwLCA4OSwgODIsIDEyOCwgNzgsIDkwLCA4OSwgODAsIAorICAgIDEyOCwgNzgsIDkwLCA4OSwgMTI4LCA3OCwgOTAsIDg1LCA4OCwgMTI4LCA3OCwgOTAsIDg1LCA4MiwgODgsIDEyOCwgNzgsIAorICAgIDkwLCA4NSwgODIsIDEyOCwgNzgsIDkwLCA4NSwgODEsIDEyOCwgNzgsIDkwLCA4NSwgODAsIDEyOCwgNzgsIDkwLCA4NSwgCisgICAgNzksIDg4LCAxMjgsIDc4LCA5MCwgODUsIDc5LCAxMjgsIDc4LCA5MCwgODUsIDIwNiwgNzgsIDkwLCA4NSwgMTI4LCA3OCwgCisgICAgOTAsIDc5LCA4OCwgMTI4LCA3OCwgOTAsIDc5LCA4MCwgMTI4LCA3OCwgOTAsIDczLCA4OCwgMTI4LCA3OCwgOTAsIDczLCAKKyAgICA4NCwgMTI4LCA3OCwgOTAsIDczLCA4MCwgMTI4LCA3OCwgOTAsIDczLCA2OSwgODgsIDEyOCwgNzgsIDkwLCA3MywgNjksIAorICAgIDgwLCAxMjgsIDc4LCA5MCwgNzMsIDY5LCAxMjgsIDc4LCA5MCwgNzMsIDEyOCwgNzgsIDkwLCA2OSwgODgsIDEyOCwgNzgsIAorICAgIDkwLCA2OSwgODUsIDc3LCAxMjgsIDc4LCA5MCwgNjksIDEyOCwgNzgsIDkwLCA2NSwgODgsIDEyOCwgNzgsIDkwLCA2NSwgCisgICAgODQsIDEyOCwgNzgsIDkwLCA2NSwgODEsIDEyOCwgNzgsIDkwLCA2NSwgODAsIDEyOCwgNzgsIDkwLCA2NSwgMTI4LCA3OCwgCisgICAgOTAsIDE5MywgNzgsIDg5LCA4NywgNjUsIDEyOCwgNzgsIDg5LCA4NSwgODgsIDEyOCwgNzgsIDg5LCA4NSwgODUsIDEyOCwgCisgICAgNzgsIDg5LCA4NSwgODQsIDEyOCwgNzgsIDg5LCA4NSwgODAsIDEyOCwgNzgsIDg5LCA4NSwgNzksIDg4LCAxMjgsIDc4LCAKKyAgICA4OSwgODUsIDc5LCA4MCwgMTI4LCA3OCwgODksIDg1LCA3OSwgMTI4LCA3OCwgODksIDg1LCA3OCwgMTI4LCA3OCwgODksIAorICAgIDg1LCA2OSwgMTI4LCA3OCwgODksIDg1LCAxMjgsIDc4LCA4OSwgNzksIDg4LCAxMjgsIDc4LCA4OSwgNzksIDg0LCAxMjgsIAorICAgIDc4LCA4OSwgNzksIDgwLCAxMjgsIDc4LCA4OSwgNzksIDc5LCAxMjgsIDc4LCA4OSwgNzksIDc4LCAxMjgsIDc4LCA4OSwgCisgICAgNzksIDY1LCAxMjgsIDc4LCA4OSwgNzksIDEyOCwgNzgsIDg5LCA3NCwgNjUsIDEyOCwgNzgsIDg5LCA3MywgODgsIDEyOCwgCisgICAgNzgsIDg5LCA3MywgODQsIDEyOCwgNzgsIDg5LCA3MywgMjEyLCA3OCwgODksIDczLCAyMTEsIDc4LCA4OSwgNzMsIDIxMCwgCisgICAgNzgsIDg5LCA3MywgODAsIDEyOCwgNzgsIDg5LCA3MywgNzgsIDQ1LCA2OCwgNzksIDEyOCwgNzgsIDg5LCA3MywgNzgsIAorICAgIDEyOCwgNzgsIDg5LCA3MywgNzMsIDEyOCwgNzgsIDg5LCA3MywgNjksIDg4LCAxMjgsIDc4LCA4OSwgNzMsIDY5LCA4NCwgCisgICAgMTI4LCA3OCwgODksIDczLCA2OSwgODAsIDEyOCwgNzgsIDg5LCA3MywgNjksIDEyOCwgNzgsIDg5LCA3MywgMTI4LCA3OCwgCisgICAgODksIDIwMSwgNzgsIDg5LCA3MiwgNjUsIDEyOCwgNzgsIDg5LCA2OSwgODQsIDEyOCwgNzgsIDg5LCA2OSwgMjEyLCA3OCwgCisgICAgODksIDY5LCA3OCwgMTI4LCA3OCwgODksIDY5LCA3MiwgMTI4LCA3OCwgODksIDY5LCAyMDAsIDc4LCA4OSwgNjksIDY5LCAKKyAgICAxMjgsIDc4LCA4OSwgNjksIDEyOCwgNzgsIDg5LCAxOTYsIDc4LCA4OSwgNjcsIDY1LCAxMjgsIDc4LCA4OSwgNjUsIDg1LCAKKyAgICAxMjgsIDc4LCA4OSwgNjUsIDczLCAxMjgsIDc4LCA4OSwgNjUsIDcyLCAxMjgsIDc4LCA4OSwgNjUsIDY5LCA3NywgNjUsIAorICAgIDY5LCAxMjgsIDc4LCA4OSwgNjUsIDY1LCAxMjgsIDc4LCA4NywgNzksIDc5LCAxMjgsIDc4LCA4NywgNzksIDEyOCwgNzgsIAorICAgIDg3LCA3MywgNzMsIDEyOCwgNzgsIDg3LCA3MywgMTI4LCA3OCwgODcsIDY5LCAxMjgsIDc4LCA4NywgNjUsIDY1LCAxMjgsIAorICAgIDc4LCA4NywgNjUsIDEyOCwgNzgsIDg3LCAxMjgsIDc4LCA4NiwgMTI4LCA3OCwgODUsIDg4LCAxMjgsIDc4LCA4NSwgODUsIAorICAgIDc4LCAxMjgsIDc4LCA4NSwgODUsIDEyOCwgNzgsIDg1LCA4NCwgNzMsIDc2LCA3NiwgODUsIDEyOCwgNzgsIDg1LCA4NCwgCisgICAgMTI4LCA3OCwgODUsIDIxMiwgNzgsIDg1LCA4MiwgODgsIDEyOCwgNzgsIDg1LCA4MiwgMTI4LCA3OCwgODUsIDgwLCAxMjgsIAorICAgIDc4LCA4NSwgNzksIDg4LCAxMjgsIDc4LCA4NSwgNzksIDgwLCAxMjgsIDc4LCA4NSwgNzksIDEyOCwgNzgsIDg1LCA3OCwgCisgICAgODUsIDkwLCAxMjgsIDc4LCA4NSwgNzgsIDg1LCAyMTgsIDc4LCA4NSwgNzgsIDcxLCAxMjgsIDc4LCA4NSwgNzgsIDY1LCAKKyAgICA4NiwgODUsIDIxMiwgNzgsIDg1LCA3OCwgNjUsIDg2LCA3MywgMjAzLCA3OCwgODUsIDc4LCAxMjgsIDc4LCA4NSwgMjA2LCAKKyAgICA3OCwgODUsIDc3LCA2OSwgODIsIDIwNywgNzgsIDg1LCA3NywgNjksIDgyLCA2NSwgODQsIDc5LCAyMTAsIDc4LCA4NSwgNzcsIAorICAgIDY5LCA4MiwgNjUsIDIwNCwgNzgsIDg1LCA3NywgNjYsIDY5LCA4MiwgODMsIDEyOCwgNzgsIDg1LCA3NywgNjYsIDY5LCA4MiwgCisgICAgMTI4LCA3OCwgODUsIDc3LCAxMjgsIDc4LCA4NSwgNzYsIDc2LCAxMjgsIDc4LCA4NSwgNzYsIDIwNCwgNzgsIDg1LCA3NiwgCisgICAgMTI4LCA3OCwgODUsIDc1LCA4NCwgNjUsIDEyOCwgNzgsIDg1LCA2OSwgNzgsIDcxLCAxMjgsIDc4LCA4NSwgNjksIDEyOCwgCisgICAgNzgsIDg1LCA2NiwgNzMsIDY1LCAyMDYsIDc4LCA4NSwgNjUsIDY5LCAxMjgsIDc4LCA4NSwgNDksIDQ5LCAxMjgsIDc4LCAKKyAgICA4NSwgNDksIDE3NywgNzgsIDg1LCA0OCwgNTAsIDUwLCA2NSwgMTI4LCA3OCwgODUsIDQ4LCA1MCwgNTAsIDEyOCwgNzgsIAorICAgIDg1LCA0OCwgNTAsIDQ5LCAxMjgsIDc4LCA4NSwgNDgsIDUwLCA0OCwgMTI4LCA3OCwgODUsIDQ4LCA0OSwgNTcsIDEyOCwgCisgICAgNzgsIDg1LCA0OCwgNDksIDU2LCA2NSwgMTI4LCA3OCwgODUsIDQ4LCA0OSwgNTYsIDEyOCwgNzgsIDg1LCA0OCwgNDksIDU1LCAKKyAgICAxMjgsIDc4LCA4NSwgNDgsIDQ5LCA1NCwgMTI4LCA3OCwgODUsIDQ4LCA0OSwgNTMsIDEyOCwgNzgsIDg1LCA0OCwgNDksIAorICAgIDUyLCAxMjgsIDc4LCA4NSwgNDgsIDQ5LCA1MSwgMTI4LCA3OCwgODUsIDQ4LCA0OSwgNTAsIDEyOCwgNzgsIDg1LCA0OCwgCisgICAgNDksIDQ5LCA2NSwgMTI4LCA3OCwgODUsIDQ4LCA0OSwgNDksIDEyOCwgNzgsIDg1LCA0OCwgNDksIDQ4LCA2NSwgMTI4LCAKKyAgICA3OCwgODUsIDQ4LCA0OSwgNDgsIDEyOCwgNzgsIDg1LCA0OCwgNDgsIDU3LCAxMjgsIDc4LCA4NSwgNDgsIDQ4LCA1NiwgCisgICAgMTI4LCA3OCwgODUsIDQ4LCA0OCwgNTUsIDEyOCwgNzgsIDg1LCA0OCwgNDgsIDU0LCAxMjgsIDc4LCA4NSwgNDgsIDQ4LCAKKyAgICA1MywgMTI4LCA3OCwgODUsIDQ4LCA0OCwgNTIsIDEyOCwgNzgsIDg1LCA0OCwgNDgsIDUxLCAxMjgsIDc4LCA4NSwgNDgsIAorICAgIDQ4LCA1MCwgMTI4LCA3OCwgODUsIDQ4LCA0OCwgNDksIDEyOCwgNzgsIDg0LCA4OCwgNzMsIDg2LCAxMjgsIDc4LCA4NCwgCisgICAgODUsIDg1LCAxMjgsIDc4LCA4NCwgODUsIDc3LCAxMjgsIDc4LCA4NCwgODUsIDc0LCAxMjgsIDc4LCA4NCwgMjEzLCA3OCwgCisgICAgODQsIDgzLCA2NSwgODUsIDEyOCwgNzgsIDg0LCA3OSwgODEsIDgwLCA2OSwgNzgsIDEyOCwgNzgsIDg0LCA3OSwgNzEsIAorICAgIDEyOCwgNzgsIDg0LCA3OSwgMTk5LCA3OCwgODQsIDczLCA2OSwgMTk3LCA3OCwgODQsIDcyLCA2NSwgODUsIDEyOCwgNzgsIAorICAgIDg0LCA2OSwgODUsIDc4LCA3MSwgNjYsIDY1LCAxMjgsIDc4LCA4NCwgNjksIDg1LCA3NywgMTI4LCA3OCwgODQsIDY5LCA3OCwgCisgICAgMTI4LCA3OCwgODQsIDY5LCA2OSwgMTI4LCA3OCwgODQsIDY1LCA4MCwgMTI4LCA3OCwgODQsIDY1LCAyMDgsIDc4LCA4NCwgCisgICAgNjUsIDY1LCAxMjgsIDc4LCA4MywgODUsIDc5LCAyMTIsIDc4LCA4MywgODUsIDc4LCAxMjgsIDc4LCA4MywgODUsIDc3LCAKKyAgICAxMjgsIDc4LCA4MywgNzksIDc3LCAxMjgsIDc4LCA4MywgNzMsIDY5LCA2OSwgODQsIDEyOCwgNzgsIDgzLCA3MywgNjksIAorICAgIDY5LCA4MCwgMTI4LCA3OCwgODMsIDczLCA2OSwgNjksIDEyOCwgNzgsIDgzLCA3MiwgODUsIDg0LCAxMjgsIDc4LCA4MywgCisgICAgNzIsIDg1LCAyMTIsIDc4LCA4MywgNzIsIDg1LCA3OSwgODAsIDEyOCwgNzgsIDgzLCA3MiwgODUsIDY5LCAxMjgsIDc4LCAKKyAgICA4MywgNzIsIDczLCA2OSwgNjksIDEyOCwgNzgsIDgzLCA3MiwgNjksIDY5LCAxMjgsIDc4LCA4MywgNzIsIDY1LCA4MSwgCisgICAgMTI4LCA3OCwgODMsIDcyLCA2NSwgMTI4LCA3OCwgODMsIDY5LCA4NSwgNjUsIDY5LCA3OCwgMTI4LCA3OCwgODMsIDY5LCAKKyAgICA3OCwgMTI4LCA3OCwgODMsIDY1LCAxMjgsIDc4LCA4MiwgODksIDg4LCAxMjgsIDc4LCA4MiwgODksIDg0LCAxMjgsIDc4LCAKKyAgICA4MiwgODksIDgyLCA4OCwgMTI4LCA3OCwgODIsIDg5LCA4MiwgMTI4LCA3OCwgODIsIDg5LCA4MCwgMTI4LCA3OCwgODIsIAorICAgIDg5LCAxMjgsIDc4LCA4MiwgODUsIDg4LCAxMjgsIDc4LCA4MiwgODUsIDg0LCAxMjgsIDc4LCA4MiwgODUsIDgyLCA4OCwgCisgICAgMTI4LCA3OCwgODIsIDg1LCA4MiwgMTI4LCA3OCwgODIsIDg1LCA4MCwgMTI4LCA3OCwgODIsIDg1LCA2NSwgMTI4LCA3OCwgCisgICAgODIsIDg1LCAxMjgsIDc4LCA4MiwgNzksIDg4LCAxMjgsIDc4LCA4MiwgNzksIDgwLCAxMjgsIDc4LCA4MiwgNzksIDEyOCwgCisgICAgNzgsIDgyLCA2OSwgODgsIDEyOCwgNzgsIDgyLCA2OSwgODQsIDEyOCwgNzgsIDgyLCA2OSwgMjExLCA3OCwgODIsIDY5LCAKKyAgICA4MCwgMTI4LCA3OCwgODIsIDY5LCAxMjgsIDc4LCA4MiwgNjUsIDg4LCAxMjgsIDc4LCA4MiwgNjUsIDg0LCAxMjgsIDc4LCAKKyAgICA4MiwgNjUsIDgwLCAxMjgsIDc4LCA4MiwgNjUsIDEyOCwgNzgsIDgxLCA3MywgNzEsIDEyOCwgNzgsIDc5LCA4OSwgMTI4LCAKKyAgICA3OCwgNzksIDg4LCAxMjgsIDc4LCA3OSwgODcsIDY3LCAxMjgsIDc4LCA3OSwgODYsIDY5LCA3NywgNjYsIDY5LCA4MiwgCisgICAgMTI4LCA3OCwgNzksIDg0LCA4NCwgNzksIDEyOCwgNzgsIDc5LCA4NCwgNjksIDgzLCAxMjgsIDc4LCA3OSwgODQsIDY5LCAKKyAgICA3MiwgNjksIDY1LCA2OCwgMTI4LCA3OCwgNzksIDg0LCA2OSwgNzIsIDY5LCA2NSwgMTk2LCA3OCwgNzksIDg0LCA2OSwgNjYsIAorICAgIDc5LCA3OSwgNzUsIDEyOCwgNzgsIDc5LCA4NCwgNjksIDY2LCA3OSwgNzksIDIwMywgNzgsIDc5LCA4NCwgNjksIDEyOCwgCisgICAgNzgsIDc5LCA4NCwgMTk3LCA3OCwgNzksIDg0LCA2NywgNzIsIDY5LCAxOTYsIDc4LCA3OSwgODQsIDY3LCA3MiwgMTI4LCAKKyAgICA3OCwgNzksIDg0LCA2NSwgODQsIDczLCA3OSwgMjA2LCA3OCwgNzksIDg0LCAxMjgsIDc4LCA3OSwgMjEyLCA3OCwgNzksIAorICAgIDgzLCA2OSwgMTI4LCA3OCwgNzksIDgyLCA4NCwgNzIsIDg3LCA2OSwgODMsIDIxMiwgNzgsIDc5LCA4MiwgODQsIDcyLCA2OSwgCisgICAgODIsIDIwNiwgNzgsIDc5LCA4MiwgODQsIDcyLCA2OSwgNjUsIDgzLCA4NCwgNDUsIDgwLCA3OSwgNzMsIDc4LCA4NCwgNzMsIAorICAgIDc4LCAxOTksIDc4LCA3OSwgODIsIDc3LCA2NSwgMjA0LCA3OCwgNzksIDgyLCA2OCwgNzMsIDE5NSwgNzgsIDc5LCAyMTAsIAogICAgIDc4LCA3OSwgODAsIDEyOCwgNzgsIDc5LCA3OSwgNzgsIDg1LCAxMjgsIDc4LCA3OSwgNzksIDEyOCwgNzgsIDc5LCA3OCwgCiAgICAgNzAsIDc5LCA4MiwgNzUsIDczLCA3OCwgNzEsIDEyOCwgNzgsIDc5LCA3OCwgNDUsIDgwLCA3OSwgODQsIDY1LCA2NiwgNzYsIAogICAgIDE5NywgNzgsIDc5LCA3OCwgNDUsIDc0LCA3OSwgNzMsIDc4LCA2OSwgODIsIDEyOCwgNzgsIDc5LCA3OCwgNDUsIDY2LCA4MiwgCi0gICAgNjksIDY1LCA3NSwgNzMsIDc4LCAxOTksIDc4LCA3OSwgNzcsIDczLCA3OCwgNjUsIDIwNCwgNzgsIDc5LCA3NSwgNzIsIDg1LCAKLSAgICA3NSwgMTI4LCA3OCwgNzksIDY4LCA2OSwgMTI4LCA3OCwgNzksIDY1LCAxMjgsIDc4LCA3OSwgNDUsIDY2LCA4MiwgNjksIAotICAgIDY1LCAyMDMsIDc4LCA3OCwgODUsIDg1LCAxMjgsIDc4LCA3OCwgODUsIDEyOCwgNzgsIDc4LCA3OSwgNzksIDEyOCwgNzgsIAotICAgIDc4LCA3OSwgMTI4LCA3OCwgNzgsIDc4LCA4NSwgODUsIDEyOCwgNzgsIDc4LCA3OCwgODUsIDEyOCwgNzgsIDc4LCA3OCwgCi0gICAgNzksIDc5LCAxMjgsIDc4LCA3OCwgNzgsIDc5LCAxMjgsIDc4LCA3OCwgNzgsIDczLCA3MywgMTI4LCA3OCwgNzgsIDc4LCAKLSAgICA3MywgMTI4LCA3OCwgNzgsIDc4LCA2OSwgNjksIDEyOCwgNzgsIDc4LCA3OCwgNjksIDEyOCwgNzgsIDc4LCA3OCwgNjUsIAotICAgIDg1LCAxMjgsIDc4LCA3OCwgNzgsIDY1LCA3MywgMTI4LCA3OCwgNzgsIDc4LCA2NSwgNjUsIDEyOCwgNzgsIDc4LCA3OCwgCi0gICAgNjUsIDEyOCwgNzgsIDc4LCA3OCwgMTI4LCA3OCwgNzgsIDcyLCA2NSwgMTI4LCA3OCwgNzgsIDcxLCA3OSwgNzksIDEyOCwgCi0gICAgNzgsIDc4LCA3MSwgNzksIDEyOCwgNzgsIDc4LCA3MSwgNzMsIDczLCAxMjgsIDc4LCA3OCwgNzEsIDczLCAxMjgsIDc4LCAKLSAgICA3OCwgNzEsIDY1LCA2NSwgMTI4LCA3OCwgNzgsIDcxLCA2NSwgMTI4LCA3OCwgNzgsIDcxLCAxMjgsIDc4LCA3OCwgNjYsIAotICAgIDgzLCA4MCwgMTI4LCA3OCwgNzcsIDEyOCwgNzgsIDc2LCA0OCwgNTAsIDQ4LCAxMjgsIDc4LCA3NiwgNDgsIDQ5LCA1NywgCi0gICAgMTI4LCA3OCwgNzYsIDQ4LCA0OSwgNTYsIDEyOCwgNzgsIDc2LCA0OCwgNDksIDU1LCA2NSwgMTI4LCA3OCwgNzYsIDQ4LCAKLSAgICA0OSwgNTUsIDEyOCwgNzgsIDc2LCA0OCwgNDksIDU0LCAxMjgsIDc4LCA3NiwgNDgsIDQ5LCA1MywgMTI4LCA3OCwgNzYsIAotICAgIDQ4LCA0OSwgNTIsIDEyOCwgNzgsIDc2LCA0OCwgNDksIDUxLCAxMjgsIDc4LCA3NiwgNDgsIDQ5LCA1MCwgMTI4LCA3OCwgCi0gICAgNzYsIDQ4LCA0OSwgNDksIDEyOCwgNzgsIDc2LCA0OCwgNDksIDQ4LCAxMjgsIDc4LCA3NiwgNDgsIDQ4LCA1NywgMTI4LCAKLSAgICA3OCwgNzYsIDQ4LCA0OCwgNTYsIDEyOCwgNzgsIDc2LCA0OCwgNDgsIDU1LCAxMjgsIDc4LCA3NiwgNDgsIDQ4LCA1NCwgCi0gICAgMTI4LCA3OCwgNzYsIDQ4LCA0OCwgNTMsIDY1LCAxMjgsIDc4LCA3NiwgNDgsIDQ4LCA1MywgMTI4LCA3OCwgNzYsIDQ4LCAKLSAgICA0OCwgNTIsIDEyOCwgNzgsIDc2LCA0OCwgNDgsIDUxLCAxMjgsIDc4LCA3NiwgNDgsIDQ4LCA1MCwgMTI4LCA3OCwgNzYsIAotICAgIDQ4LCA0OCwgNDksIDEyOCwgNzgsIDc2LCAxMjgsIDc4LCA3NSwgNzksIDc3LCAxMjgsIDc4LCA3NSwgMjA3LCA3OCwgNzUsIAotICAgIDczLCA3OCwgNjgsIDczLCAxMjgsIDc4LCA3NSwgNjUsIDY1LCA4MiwgNjUsIDY5LCAxMjgsIDc4LCA3NCwgODksIDg4LCAKLSAgICAxMjgsIDc4LCA3NCwgODksIDg0LCAxMjgsIDc4LCA3NCwgODksIDgyLCA4OCwgMTI4LCA3OCwgNzQsIDg5LCA4MiwgMTI4LCAKLSAgICA3OCwgNzQsIDg5LCA4MCwgMTI4LCA3OCwgNzQsIDg5LCAxMjgsIDc4LCA3NCwgODUsIDg4LCAxMjgsIDc4LCA3NCwgODUsIAotICAgIDgyLCA4OCwgMTI4LCA3OCwgNzQsIDg1LCA4MiwgMTI4LCA3OCwgNzQsIDg1LCA4MSwgNjUsIDEyOCwgNzgsIDc0LCA4NSwgCi0gICAgODAsIDEyOCwgNzgsIDc0LCA4NSwgNzksIDg4LCAxMjgsIDc4LCA3NCwgODUsIDc5LCAxMjgsIDc4LCA3NCwgODUsIDY5LCAKLSAgICA4MSwgMTI4LCA3OCwgNzQsIDg1LCA2NSwgNjksIDEyOCwgNzgsIDc0LCA4NSwgMTI4LCA3OCwgNzQsIDc5LCA4OCwgMTI4LCAKLSAgICA3OCwgNzQsIDc5LCA4NCwgMTI4LCA3OCwgNzQsIDc5LCA4MCwgMTI4LCA3OCwgNzQsIDc5LCA3OSwgMTI4LCA3OCwgNzQsIAotICAgIDc5LCAxMjgsIDc4LCA3NCwgNzMsIDg4LCAxMjgsIDc4LCA3NCwgNzMsIDg0LCAxMjgsIDc4LCA3NCwgNzMsIDgwLCAxMjgsIAotICAgIDc4LCA3NCwgNzMsIDY5LCA4OCwgMTI4LCA3OCwgNzQsIDczLCA2OSwgODQsIDEyOCwgNzgsIDc0LCA3MywgNjksIDgwLCAKLSAgICAxMjgsIDc4LCA3NCwgNzMsIDY5LCA2OSwgMTI4LCA3OCwgNzQsIDczLCA2OSwgMTI4LCA3OCwgNzQsIDczLCAxMjgsIDc4LCAKLSAgICA3NCwgMjAxLCA3OCwgNzQsIDY5LCA4NSwgODgsIDEyOCwgNzgsIDc0LCA2OSwgODUsIDg0LCAxMjgsIDc4LCA3NCwgNjksIAotICAgIDg1LCA2NSwgNjksIDc4LCA2NSwgMTI4LCA3OCwgNzQsIDY5LCA4NSwgNjUsIDY5LCA3NywgMTI4LCA3OCwgNzQsIDY5LCA2OSwgCi0gICAgNjksIDY5LCAxMjgsIDc4LCA3NCwgNjksIDY5LCAxMjgsIDc4LCA3NCwgNjksIDE5NywgNzgsIDc0LCA2OSwgMTI4LCA3OCwgCi0gICAgNzQsIDY1LCA4MSwgMTI4LCA3OCwgNzQsIDY1LCA4MCwgMTI4LCA3OCwgNzQsIDY1LCA2OSwgNzcsIDc2LCA3MywgMTI4LCAKLSAgICA3OCwgNzQsIDY1LCA2OSwgNzcsIDEyOCwgNzgsIDc0LCA2NSwgNjUsIDEyOCwgNzgsIDczLCA4OCwgMTI4LCA3OCwgNzMsIAotICAgIDg0LCA4MiwgNjksIDEyOCwgNzgsIDczLCA4MywgNjUsIDcxLCAxMjgsIDc4LCA3MywgODIsIDg1LCA3MSwgODUsIDEyOCwgCi0gICAgNzgsIDczLCA4MCwgMTI4LCA3OCwgNzMsIDc4LCA4NCwgNzIsIDEyOCwgNzgsIDczLCA3OCwgNjksIDg0LCA4OSwgMTI4LCAKLSAgICA3OCwgNzMsIDc4LCA2OSwgODQsIDIxNywgNzgsIDczLCA3OCwgNjksIDg0LCA2OSwgNjksIDc4LCAxMjgsIDc4LCA3MywgNzgsIAotICAgIDY5LCA4NCwgNjksIDY5LCAyMDYsIDc4LCA3MywgNzgsIDY5LCA0NSwgODQsIDcyLCA3MywgODIsIDg0LCA4OSwgMTI4LCA3OCwgCi0gICAgNzMsIDc4LCAxOTcsIDc4LCA3MywgNzgsIDY4LCA2NSwgNTAsIDEyOCwgNzgsIDczLCA3OCwgNjgsIDY1LCAxNzgsIDc4LCAKLSAgICA3MywgNzcsIDEyOCwgNzgsIDczLCAyMDUsIDc4LCA3MywgNzUsIDcyLCA2NSwgNzIsIDczLCA4NCwgMTI4LCA3OCwgNzMsIAotICAgIDc1LCA2NSwgNzIsIDczLCA4NCwgMTI4LCA3OCwgNzMsIDc1LCA2NSwgMTI4LCA3OCwgNzMsIDcyLCA4MywgNzIsIDg2LCA2NSwgCi0gICAgODMsIDY1LCAxMjgsIDc4LCA3MywgNzEsIDczLCA2OCwgNjUsIDc3LCA3MywgNzgsIDEyOCwgNzgsIDczLCA3MSwgNzMsIDY4LCAKLSAgICA2NSwgNjksIDgzLCA3MiwgMTI4LCA3OCwgNzMsIDcxLCA3MiwgODQsIDEyOCwgNzgsIDczLCA3MSwgNzIsIDIxMiwgNzgsIAotICAgIDczLCA3MSwgNzEsIDY1LCA3MiwgNzMsIDg0LCA2NSwgMTI4LCA3OCwgNzMsIDY5LCA4OCwgMTI4LCA3OCwgNzMsIDY5LCA4NSwgCi0gICAgNzgsIDQ1LCA4NCwgNzMsIDc1LCA2OSwgODUsIDg0LCAxMjgsIDc4LCA3MywgNjksIDg1LCA3OCwgNDUsIDg0LCA3MiwgNzMsIAotICAgIDY5LCA4NSwgODQsIDcyLCAxMjgsIDc4LCA3MywgNjksIDg1LCA3OCwgNDUsIDgzLCA3MywgNzksIDgzLCAxMjgsIDc4LCA3MywgCi0gICAgNjksIDg1LCA3OCwgNDUsIDgyLCA3MywgNjksIDg1LCA3NiwgMTI4LCA3OCwgNzMsIDY5LCA4NSwgNzgsIDQ1LCA4MCwgNzMsIAotICAgIDY5LCA4NSwgODAsIDEyOCwgNzgsIDczLCA2OSwgODUsIDc4LCA0NSwgODAsIDY1LCA3OCwgODMsIDczLCA3OSwgODMsIDEyOCwgCi0gICAgNzgsIDczLCA2OSwgODUsIDc4LCA0NSwgNzUsIDczLCA4OSwgNjksIDc5LCA3NSwgMTI4LCA3OCwgNzMsIDY5LCA4NSwgNzgsIAotICAgIDQ1LCA3MiwgNzMsIDY5LCA4NSwgNzIsIDEyOCwgNzgsIDczLCA2OSwgODUsIDc4LCA0NSwgNjcsIDczLCA2OSwgODUsIDY3LCAKLSAgICAxMjgsIDc4LCA3MywgNjksIDg1LCA3OCwgNDUsIDY3LCA3MiwgNzMsIDY5LCA4NSwgNjcsIDcyLCAxMjgsIDc4LCA3MywgNjksIAotICAgIDg1LCAyMDYsIDc4LCA3MywgNjksIDgwLCAxMjgsIDc4LCA3MywgNjksIDEyOCwgNzgsIDczLCA2NiwgMTI4LCA3OCwgNzMsIAotICAgIDY1LCAxMjgsIDc4LCA3MywgNTAsIDEyOCwgNzgsIDcyLCA4NSwgNjksIDEyOCwgNzgsIDcyLCA3NCwgNjUsIDEyOCwgNzgsIAotICAgIDcyLCAxMjgsIDc4LCA3MSwgODksIDY5LCAxMjgsIDc4LCA3MSwgODYsIDY5LCAxMjgsIDc4LCA3MSwgODUsIDg1LCAxMjgsIAotICAgIDc4LCA3MSwgODUsIDc5LCA4OCwgMTI4LCA3OCwgNzEsIDg1LCA3OSwgODQsIDEyOCwgNzgsIDcxLCA4NSwgNzksIDEyOCwgCi0gICAgNzgsIDcxLCA4NSwgNjUsIDY5LCA4NCwgMTI4LCA3OCwgNzEsIDg1LCA2NSwgNjksIDEyOCwgNzgsIDcxLCA3OSwgODgsIAotICAgIDEyOCwgNzgsIDcxLCA3OSwgODUsIDEyOCwgNzgsIDcxLCA3OSwgMjEzLCA3OCwgNzEsIDc5LCA4NCwgMTI4LCA3OCwgNzEsIAotICAgIDc5LCA4MSwgMTI4LCA3OCwgNzEsIDc5LCA4MCwgMTI4LCA3OCwgNzEsIDc5LCA3OCwgMTI4LCA3OCwgNzEsIDc5LCA3NywgCi0gICAgMTI4LCA3OCwgNzEsIDc5LCA2OSwgNzIsIDEyOCwgNzgsIDcxLCA3OSwgNjksIDIwMCwgNzgsIDcxLCAyMDcsIDc4LCA3MSwgCi0gICAgNzUsIDg5LCA2OSwgNjksIDEyOCwgNzgsIDcxLCA3NSwgODcsIDY1LCA2OSwgNzgsIDEyOCwgNzgsIDcxLCA3NSwgODUsIDgwLCAKLSAgICAxMjgsIDc4LCA3MSwgNzUsIDg1LCA3OCwgMTI4LCA3OCwgNzEsIDc1LCA4NSwgNzcsIDEyOCwgNzgsIDcxLCA3NSwgODUsIAotICAgIDY5LCA3OCwgOTAsIDY5LCA4NSwgNzcsIDEyOCwgNzgsIDcxLCA3NSwgODUsIDE5NywgNzgsIDcxLCA3NSwgNzMsIDc4LCA2OCwgCi0gICAgMjAxLCA3OCwgNzEsIDc1LCA3MywgNjksIDY5LCAxMjgsIDc4LCA3MSwgNzUsIDY5LCA4NSwgODgsIDEyOCwgNzgsIDcxLCAKLSAgICA3NSwgNjksIDg1LCA4MiwgNzMsIDEyOCwgNzgsIDcxLCA3NSwgNjksIDg1LCA2NSwgNjksIDgxLCAxMjgsIDc4LCA3MSwgNzUsIAotICAgIDY5LCA4NSwgNjUsIDY5LCA3NywgMTI4LCA3OCwgNzEsIDc1LCA2NSwgODEsIDEyOCwgNzgsIDcxLCA3NSwgNjUsIDgwLCAKLSAgICAxMjgsIDc4LCA3MSwgNzUsIDY1LCA2NSwgNzcsIDczLCAxMjgsIDc4LCA3MSwgNzUsIDY1LCAxMjgsIDc4LCA3MSwgNzMsIAotICAgIDY5LCA4OCwgMTI4LCA3OCwgNzEsIDczLCA2OSwgODAsIDEyOCwgNzgsIDcxLCA3MywgNjksIDEyOCwgNzgsIDcxLCA3MiwgCi0gICAgNjUsIDEyOCwgNzgsIDcxLCA3MSwgODcsIDY1LCA2OSwgNzgsIDEyOCwgNzgsIDcxLCA3MSwgODUsIDgyLCA2NSwgNjksIAotICAgIDEyOCwgNzgsIDcxLCA3MSwgODUsIDgwLCAxMjgsIDc4LCA3MSwgNzEsIDg1LCA3OSwgODEsIDEyOCwgNzgsIDcxLCA3MSwgCi0gICAgODUsIDc5LCAyMDksIDc4LCA3MSwgNzEsIDg1LCA3OSwgNzgsIDEyOCwgNzgsIDcxLCA3MSwgODUsIDc5LCA3NywgMTI4LCAKLSAgICA3OCwgNzEsIDcxLCA4NSwgNzcsIDEyOCwgNzgsIDcxLCA3MSwgODUsIDY5LCA2OSwgODQsIDEyOCwgNzgsIDcxLCA3MSwgODUsIAotICAgIDY1LCA2OSwgODMsIDcyLCA2NSwgMTk3LCA3OCwgNzEsIDcxLCA4NSwgNjUsIDY5LCAyMDYsIDc4LCA3MSwgNzEsIDg1LCAKLSAgICAxMjgsIDc4LCA3MSwgNzEsIDc5LCA3OSwgMTI4LCA3OCwgNzEsIDcxLCA3OSwgMTI4LCA3OCwgNzEsIDcxLCA3MywgMTI4LCAKLSAgICA3OCwgNzEsIDcxLCA2OSwgODUsIDg4LCAxMjgsIDc4LCA3MSwgNzEsIDY5LCA4NSwgNjUsIDY5LCA4NCwgMTI4LCA3OCwgNzEsIAotICAgIDcxLCA2OSwgODUsIDY1LCA2OSwgMTI4LCA3OCwgNzEsIDcxLCA2OSwgMjEzLCA3OCwgNzEsIDcxLCA2OSwgNzgsIDEyOCwgCi0gICAgNzgsIDcxLCA3MSwgNjksIDY5LCA4NCwgMTI4LCA3OCwgNzEsIDcxLCA2OSwgNjksIDY5LCA2OSwgMTI4LCA3OCwgNzEsIDcxLCAKLSAgICA2OSwgNjksIDEyOCwgNzgsIDcxLCA3MSwgNjksIDEyOCwgNzgsIDcxLCA3MSwgNjUsIDgwLCAxMjgsIDc4LCA3MSwgNzEsIAotICAgIDY1LCA2NSwgNzcsIDY1LCA2OSwgMTI4LCA3OCwgNzEsIDcxLCA2NSwgNjUsIDc3LCAxMjgsIDc4LCA3MSwgNzEsIDEyOCwgCi0gICAgNzgsIDcxLCA2OSwgODgsIDEyOCwgNzgsIDcxLCA2OSwgODUsIDgyLCA2OSwgODUsIDg0LCAxMjgsIDc4LCA3MSwgNjksIDgwLCAKLSAgICAxMjgsIDc4LCA3MSwgNjksIDc4LCAxMjgsIDc4LCA3MSwgNjksIDY5LCAxMjgsIDc4LCA3MSwgNjksIDY1LCA2OCwgNjUsIAotICAgIDc2LCAxMjgsIDc4LCA3MSwgNjUsIDg4LCAxMjgsIDc4LCA3MSwgNjUsIDg1LCAxMjgsIDc4LCA3MSwgNjUsIDg0LCAxMjgsIAotICAgIDc4LCA3MSwgNjUsIDIxMSwgNzgsIDcxLCA2NSwgODEsIDEyOCwgNzgsIDcxLCA2NSwgODAsIDEyOCwgNzgsIDcxLCA2NSwgCi0gICAgNzgsIDcxLCA4NSwgMTI4LCA3OCwgNzEsIDY1LCA3OCwgMTI4LCA3OCwgNzEsIDY1LCA3MywgMTI4LCA3OCwgNzEsIDY1LCAKLSAgICA3MiwgMTI4LCA3OCwgNzEsIDY1LCA2NSwgNzMsIDEyOCwgNzgsIDcxLCAxOTMsIDc4LCA3MCwgMTI4LCA3OCwgNjksIDg4LCAKLSAgICAyMTIsIDc4LCA2OSwgODgsIDEyOCwgNzgsIDY5LCA4NywgODMsIDgwLCA2NSwgODAsIDY5LCA4MiwgMTI4LCA3OCwgNjksIAotICAgIDg3LCA3NiwgNzMsIDc4LCA2OSwgMTI4LCA3OCwgNjksIDg3LCAxMjgsIDc4LCA2OSwgODUsIDg0LCA4MiwgNjUsIDIwNCwgCi0gICAgNzgsIDY5LCA4NSwgODQsIDY5LCA4MiwgMTI4LCA3OCwgNjksIDg0LCAxMjgsIDc4LCA2OSwgMjEyLCA3OCwgNjksIDgzLCAKLSAgICA4NCwgNjksIDE5NiwgNzgsIDY5LCA4MSwgODUsIDY4LCA2NSwgNjUsIDEyOCwgNzgsIDY5LCA4MCwgODQsIDg1LCA3OCwgNjksIAotICAgIDEyOCwgNzgsIDY5LCA4MCwgMTI4LCA3OCwgNjksIDc5LCAxMjgsIDc4LCA2OSwgMjA3LCA3OCwgNjksIDc4LCA2NSwgNzgsIAotICAgIDc5LCAxMjgsIDc4LCA2OSwgNzgsIDEyOCwgNzgsIDY5LCA3NiwgMTI4LCA3OCwgNjksIDczLCA4NCwgNzIsIDY5LCAyMTAsIAotICAgIDc4LCA2OSwgNzEsIDY1LCA4NCwgNzMsIDc5LCAyMDYsIDc4LCA2OSwgNzEsIDY1LCA4NCwgNjksIDE5NiwgNzgsIDY5LCA2NywgCi0gICAgNzUsIDg0LCA3MywgNjksIDEyOCwgNzgsIDY5LCA2NiwgNjksIDc4LCA4MywgODQsIDczLCA3NywgNzcsIDY5LCAxMjgsIDc4LCAKLSAgICA2OCwgODUsIDg4LCAxMjgsIDc4LCA2OCwgODUsIDg0LCAxMjgsIDc4LCA2OCwgODUsIDgyLCA4OCwgMTI4LCA3OCwgNjgsIAotICAgIDg1LCA4MiwgMTI4LCA3OCwgNjgsIDg1LCA4MCwgMTI4LCA3OCwgNjgsIDg1LCA3OCwgMTI4LCA3OCwgNjgsIDIxMywgNzgsIAotICAgIDY4LCA3OSwgODgsIDEyOCwgNzgsIDY4LCA3OSwgODQsIDEyOCwgNzgsIDY4LCA3OSwgODAsIDEyOCwgNzgsIDY4LCA3OSwgCi0gICAgNzksIDEyOCwgNzgsIDY4LCA3OSwgNzgsIDEyOCwgNzgsIDY4LCA3OSwgNzcsIDY2LCA4NSwgMTI4LCA3OCwgNjgsIDc5LCAKLSAgICA3NiwgMTk3LCA3OCwgNjgsIDczLCA4OCwgMTI4LCA3OCwgNjgsIDczLCA4NCwgMTI4LCA3OCwgNjgsIDczLCA4MSwgMTI4LCAKLSAgICA3OCwgNjgsIDczLCA4MCwgMTI4LCA3OCwgNjgsIDczLCA2OSwgODgsIDEyOCwgNzgsIDY4LCA3MywgNjksIDEyOCwgNzgsIAotICAgIDY4LCA3MywgNjgsIDY1LCAxMjgsIDc4LCA2OCwgNzMsIDY1LCA4MSwgMTI4LCA3OCwgNjgsIDY5LCA4OCwgMTI4LCA3OCwgCi0gICAgNjgsIDY5LCA4NSwgODgsIDEyOCwgNzgsIDY4LCA2OSwgODUsIDg0LCAxMjgsIDc4LCA2OCwgNjksIDg1LCA2NSwgNjksIDgyLCAKLSAgICA2OSwgNjksIDEyOCwgNzgsIDY4LCA2OSwgODAsIDEyOCwgNzgsIDY4LCA2OSwgNjksIDEyOCwgNzgsIDY4LCA2OSwgMTI4LCAKLSAgICA3OCwgNjgsIDY1LCA4OCwgMTI4LCA3OCwgNjgsIDY1LCA4NCwgMTI4LCA3OCwgNjgsIDY1LCA4MCwgMTI4LCA3OCwgNjgsIAotICAgIDY1LCA3NywgMTI4LCA3OCwgNjgsIDY1LCA2NSwgNzgsIDcxLCA3MSwgNjksIDg1LCA2NSwgNjksIDg0LCAxMjgsIDc4LCA2OCwgCi0gICAgNjUsIDY1LCAxMjgsIDc4LCA2OCwgNjUsIDE5MywgNzgsIDY2LCA4OSwgODgsIDEyOCwgNzgsIDY2LCA4OSwgODQsIDEyOCwgCi0gICAgNzgsIDY2LCA4OSwgODIsIDg4LCAxMjgsIDc4LCA2NiwgODksIDgyLCAxMjgsIDc4LCA2NiwgODksIDgwLCAxMjgsIDc4LCAKLSAgICA2NiwgODksIDEyOCwgNzgsIDY2LCA4NSwgODgsIDEyOCwgNzgsIDY2LCA4NSwgODQsIDEyOCwgNzgsIDY2LCA4NSwgODIsIAotICAgIDg4LCAxMjgsIDc4LCA2NiwgODUsIDgyLCAxMjgsIDc4LCA2NiwgODUsIDgwLCAxMjgsIDc4LCA2NiwgODUsIDEyOCwgNzgsIAotICAgIDY2LCA3OSwgODgsIDEyOCwgNzgsIDY2LCA3OSwgODQsIDEyOCwgNzgsIDY2LCA3OSwgODAsIDEyOCwgNzgsIDY2LCA3OSwgCi0gICAgMTI4LCA3OCwgNjYsIDczLCA4OCwgMTI4LCA3OCwgNjYsIDczLCA4NCwgMTI4LCA3OCwgNjYsIDczLCA4MCwgMTI4LCA3OCwgCi0gICAgNjYsIDczLCA2OSwgODgsIDEyOCwgNzgsIDY2LCA3MywgNjksIDgwLCAxMjgsIDc4LCA2NiwgNzMsIDY5LCAxMjgsIDc4LCAKLSAgICA2NiwgNzMsIDEyOCwgNzgsIDY2LCA3MiwgMTI4LCA3OCwgNjYsIDY1LCA4OCwgMTI4LCA3OCwgNjYsIDY1LCA4NCwgMTI4LCAKLSAgICA3OCwgNjYsIDY1LCA4MCwgMTI4LCA3OCwgNjYsIDY1LCAxMjgsIDc4LCA2NSwgODksIDY1LCA3OCwgNzgsIDY1LCAxMjgsIAotICAgIDc4LCA2NSwgODksIDEyOCwgNzgsIDY1LCA4OCwgNzMsIDY1LCAyMDYsIDc4LCA2NSwgODgsIDEyOCwgNzgsIDY1LCA4NSwgCi0gICAgODQsIDcyLCA4MywgMTI4LCA3OCwgNjUsIDg1LCA2OCwgNzMsIDIxOCwgNzgsIDY1LCA4NCwgODUsIDgyLCA2NSwgMjA0LCAKLSAgICA3OCwgNjUsIDg0LCA3MywgNzksIDc4LCA2NSwgMjA0LCA3OCwgNjUsIDgzLCA3NSwgNjUsIDgwLCAyMDEsIDc4LCA2NSwgODMsIAotICAgIDcyLCA3MywgMTI4LCA3OCwgNjUsIDgzLCA2NSwgNzYsIDczLCA5MCwgNjUsIDg0LCA3MywgNzksIDc4LCAxMjgsIDc4LCA2NSwgCi0gICAgODMsIDY1LCA3NiwgNzMsIDkwLCA2NSwgODQsIDczLCA3OSwgMjA2LCA3OCwgNjUsIDgyLCA4MiwgNzksIDIxNSwgNzgsIDY1LCAKLSAgICA4MiwgMTI4LCA3OCwgNjUsIDgxLCAxMjgsIDc4LCA2NSwgNzksIDIxMSwgNzgsIDY1LCA3OCwgODMsIDY1LCA3OCwgNjUsIAotICAgIDgxLCAxMjgsIDc4LCA2NSwgNzgsIDcxLCA3NywgNzksIDc4LCA4NCwgNzIsIDc5LCAxMjgsIDc4LCA2NSwgNzgsIDY4LCAKLSAgICAxMjgsIDc4LCA2NSwgNzgsIDY1LCAxMjgsIDc4LCA2NSwgNzcsIDY5LCAxMjgsIDc4LCA2NSwgNzcsIDE5NywgNzgsIDY1LCAKLSAgICA3NywgNTAsIDEyOCwgNzgsIDY1LCA3NywgMTI4LCA3OCwgNjUsIDc1LCAxMjgsIDc4LCA2NSwgNzMsIDgyLCAxOTMsIDc4LCAKLSAgICA2NSwgNzMsIDIwNCwgNzgsIDY1LCA3MSwgODIsIDIwMSwgNzgsIDY1LCA3MSwgNjUsIDgyLCAxMjgsIDc4LCA2NSwgNzEsIAotICAgIDY1LCAxMjgsIDc4LCA2NSwgNzEsIDE5MywgNzgsIDY1LCA3MSwgMTI4LCA3OCwgNjUsIDE5OSwgNzgsIDY1LCA2OSwgMTI4LCAKLSAgICA3OCwgNjUsIDY2LCA3NiwgNjUsIDEyOCwgNzgsIDY1LCA2NSwgODMsIDczLCA3NSwgODksIDY1LCA4OSwgNjUsIDEyOCwgNzgsIAorICAgIDY5LCA2NSwgNzUsIDczLCA3OCwgMTk5LCA3OCwgNzksIDc4LCAxMjgsIDc4LCA3OSwgNzcsIDczLCA3OCwgNjUsIDIwNCwgCisgICAgNzgsIDc5LCA3NSwgNzIsIDg1LCA3NSwgMTI4LCA3OCwgNzksIDY4LCA2OSwgMTI4LCA3OCwgNzksIDY1LCAxMjgsIDc4LCAKKyAgICA3OSwgNDUsIDY2LCA4MiwgNjksIDY1LCAyMDMsIDc4LCA3OCwgODUsIDg1LCAxMjgsIDc4LCA3OCwgODUsIDEyOCwgNzgsIAorICAgIDc4LCA3OSwgNzksIDEyOCwgNzgsIDc4LCA3OSwgMTI4LCA3OCwgNzgsIDc4LCA4NSwgODUsIDEyOCwgNzgsIDc4LCA3OCwgCisgICAgODUsIDEyOCwgNzgsIDc4LCA3OCwgNzksIDc5LCAxMjgsIDc4LCA3OCwgNzgsIDc5LCAxMjgsIDc4LCA3OCwgNzgsIDczLCAKKyAgICA3MywgMTI4LCA3OCwgNzgsIDc4LCA3MywgMTI4LCA3OCwgNzgsIDc4LCA2OSwgNjksIDEyOCwgNzgsIDc4LCA3OCwgNjksIAorICAgIDEyOCwgNzgsIDc4LCA3OCwgNjUsIDg1LCAxMjgsIDc4LCA3OCwgNzgsIDY1LCA3MywgMTI4LCA3OCwgNzgsIDc4LCA2NSwgCisgICAgNjUsIDEyOCwgNzgsIDc4LCA3OCwgNjUsIDEyOCwgNzgsIDc4LCA3OCwgMTI4LCA3OCwgNzgsIDcyLCA2NSwgMTI4LCA3OCwgCisgICAgNzgsIDcxLCA3OSwgNzksIDEyOCwgNzgsIDc4LCA3MSwgNzksIDEyOCwgNzgsIDc4LCA3MSwgNzMsIDczLCAxMjgsIDc4LCAKKyAgICA3OCwgNzEsIDczLCAxMjgsIDc4LCA3OCwgNzEsIDY1LCA2NSwgMTI4LCA3OCwgNzgsIDcxLCA2NSwgMTI4LCA3OCwgNzgsIAorICAgIDcxLCAxMjgsIDc4LCA3OCwgNjYsIDgzLCA4MCwgMTI4LCA3OCwgNzcsIDEyOCwgNzgsIDc2LCA2NSwgODUsIDEyOCwgNzgsIAorICAgIDc2LCA0OCwgNTAsIDQ4LCAxMjgsIDc4LCA3NiwgNDgsIDQ5LCA1NywgMTI4LCA3OCwgNzYsIDQ4LCA0OSwgNTYsIDEyOCwgCisgICAgNzgsIDc2LCA0OCwgNDksIDU1LCA2NSwgMTI4LCA3OCwgNzYsIDQ4LCA0OSwgNTUsIDEyOCwgNzgsIDc2LCA0OCwgNDksIDU0LCAKKyAgICAxMjgsIDc4LCA3NiwgNDgsIDQ5LCA1MywgMTI4LCA3OCwgNzYsIDQ4LCA0OSwgNTIsIDEyOCwgNzgsIDc2LCA0OCwgNDksIAorICAgIDUxLCAxMjgsIDc4LCA3NiwgNDgsIDQ5LCA1MCwgMTI4LCA3OCwgNzYsIDQ4LCA0OSwgNDksIDEyOCwgNzgsIDc2LCA0OCwgCisgICAgNDksIDQ4LCAxMjgsIDc4LCA3NiwgNDgsIDQ4LCA1NywgMTI4LCA3OCwgNzYsIDQ4LCA0OCwgNTYsIDEyOCwgNzgsIDc2LCAKKyAgICA0OCwgNDgsIDU1LCAxMjgsIDc4LCA3NiwgNDgsIDQ4LCA1NCwgMTI4LCA3OCwgNzYsIDQ4LCA0OCwgNTMsIDY1LCAxMjgsIAorICAgIDc4LCA3NiwgNDgsIDQ4LCA1MywgMTI4LCA3OCwgNzYsIDQ4LCA0OCwgNTIsIDEyOCwgNzgsIDc2LCA0OCwgNDgsIDUxLCAKKyAgICAxMjgsIDc4LCA3NiwgNDgsIDQ4LCA1MCwgMTI4LCA3OCwgNzYsIDQ4LCA0OCwgNDksIDEyOCwgNzgsIDc2LCAxMjgsIDc4LCAKKyAgICA3NSwgNzksIDc3LCAxMjgsIDc4LCA3NSwgMjA3LCA3OCwgNzUsIDczLCA3OCwgNjgsIDczLCAxMjgsIDc4LCA3NSwgNjUsIAorICAgIDg1LCAxMjgsIDc4LCA3NSwgNjUsIDY1LCA4MiwgNjUsIDY5LCAxMjgsIDc4LCA3NCwgODksIDg4LCAxMjgsIDc4LCA3NCwgCisgICAgODksIDg0LCAxMjgsIDc4LCA3NCwgODksIDgyLCA4OCwgMTI4LCA3OCwgNzQsIDg5LCA4MiwgMTI4LCA3OCwgNzQsIDg5LCAKKyAgICA4MCwgMTI4LCA3OCwgNzQsIDg5LCAxMjgsIDc4LCA3NCwgODUsIDg4LCAxMjgsIDc4LCA3NCwgODUsIDgyLCA4OCwgMTI4LCAKKyAgICA3OCwgNzQsIDg1LCA4MiwgMTI4LCA3OCwgNzQsIDg1LCA4MSwgNjUsIDEyOCwgNzgsIDc0LCA4NSwgODAsIDEyOCwgNzgsIAorICAgIDc0LCA4NSwgNzksIDg4LCAxMjgsIDc4LCA3NCwgODUsIDc5LCAxMjgsIDc4LCA3NCwgODUsIDY5LCA4MSwgMTI4LCA3OCwgCisgICAgNzQsIDg1LCA2NSwgNjksIDEyOCwgNzgsIDc0LCA4NSwgMTI4LCA3OCwgNzQsIDc5LCA4OCwgMTI4LCA3OCwgNzQsIDc5LCAKKyAgICA4NCwgMTI4LCA3OCwgNzQsIDc5LCA4MCwgMTI4LCA3OCwgNzQsIDc5LCA3OSwgMTI4LCA3OCwgNzQsIDc5LCAxMjgsIDc4LCAKKyAgICA3NCwgNzMsIDg4LCAxMjgsIDc4LCA3NCwgNzMsIDg0LCAxMjgsIDc4LCA3NCwgNzMsIDgwLCAxMjgsIDc4LCA3NCwgNzMsIAorICAgIDY5LCA4OCwgMTI4LCA3OCwgNzQsIDczLCA2OSwgODQsIDEyOCwgNzgsIDc0LCA3MywgNjksIDgwLCAxMjgsIDc4LCA3NCwgCisgICAgNzMsIDY5LCA2OSwgMTI4LCA3OCwgNzQsIDczLCA2OSwgMTI4LCA3OCwgNzQsIDczLCAxMjgsIDc4LCA3NCwgMjAxLCA3OCwgCisgICAgNzQsIDY5LCA4NSwgODgsIDEyOCwgNzgsIDc0LCA2OSwgODUsIDg0LCAxMjgsIDc4LCA3NCwgNjksIDg1LCA2NSwgNjksIDc4LCAKKyAgICA2NSwgMTI4LCA3OCwgNzQsIDY5LCA4NSwgNjUsIDY5LCA3NywgMTI4LCA3OCwgNzQsIDY5LCA2OSwgNjksIDY5LCAxMjgsIAorICAgIDc4LCA3NCwgNjksIDY5LCAxMjgsIDc4LCA3NCwgNjksIDE5NywgNzgsIDc0LCA2OSwgMTI4LCA3OCwgNzQsIDY1LCA4MSwgCisgICAgMTI4LCA3OCwgNzQsIDY1LCA4MCwgMTI4LCA3OCwgNzQsIDY1LCA2OSwgNzcsIDc2LCA3MywgMTI4LCA3OCwgNzQsIDY1LCAKKyAgICA2OSwgNzcsIDEyOCwgNzgsIDc0LCA2NSwgNjUsIDEyOCwgNzgsIDczLCA4OCwgMTI4LCA3OCwgNzMsIDg0LCA4MiwgNjksIAorICAgIDEyOCwgNzgsIDczLCA4MywgNjUsIDcxLCAxMjgsIDc4LCA3MywgODIsIDg1LCA3MSwgODUsIDEyOCwgNzgsIDczLCA4MCwgCisgICAgMTI4LCA3OCwgNzMsIDc4LCA4NCwgNzIsIDEyOCwgNzgsIDczLCA3OCwgNjksIDg0LCA4OSwgMTI4LCA3OCwgNzMsIDc4LCAKKyAgICA2OSwgODQsIDIxNywgNzgsIDczLCA3OCwgNjksIDg0LCA2OSwgNjksIDc4LCAxMjgsIDc4LCA3MywgNzgsIDY5LCA4NCwgNjksIAorICAgIDY5LCAyMDYsIDc4LCA3MywgNzgsIDY5LCA0NSwgODQsIDcyLCA3MywgODIsIDg0LCA4OSwgMTI4LCA3OCwgNzMsIDc4LCAKKyAgICAxOTcsIDc4LCA3MywgNzgsIDY4LCA2NSwgNTAsIDEyOCwgNzgsIDczLCA3OCwgNjgsIDY1LCAxNzgsIDc4LCA3MywgNzgsIAorICAgIDU3LCAxMjgsIDc4LCA3MywgNzgsIDEyOCwgNzgsIDczLCA3NywgMTI4LCA3OCwgNzMsIDIwNSwgNzgsIDczLCA3NSwgNzIsIAorICAgIDY1LCA3MiwgNzMsIDg0LCAxMjgsIDc4LCA3MywgNzUsIDY1LCA3MiwgNzMsIDg0LCAxMjgsIDc4LCA3MywgNzUsIDY1LCAKKyAgICAxMjgsIDc4LCA3MywgNzIsIDgzLCA3MiwgODYsIDY1LCA4MywgNjUsIDEyOCwgNzgsIDczLCA3MSwgNzMsIDY4LCA2NSwgNzcsIAorICAgIDczLCA3OCwgMTI4LCA3OCwgNzMsIDcxLCA3MywgNjgsIDY1LCA2OSwgODMsIDcyLCAxMjgsIDc4LCA3MywgNzEsIDcyLCA4NCwgCisgICAgMTI4LCA3OCwgNzMsIDcxLCA3MiwgMjEyLCA3OCwgNzMsIDcxLCA3MSwgNjUsIDcyLCA3MywgODQsIDY1LCAxMjgsIDc4LCAKKyAgICA3MywgNjksIDg4LCAxMjgsIDc4LCA3MywgNjksIDg1LCA3OCwgNDUsIDg0LCA3MywgNzUsIDY5LCA4NSwgODQsIDEyOCwgNzgsIAorICAgIDczLCA2OSwgODUsIDc4LCA0NSwgODQsIDcyLCA3MywgNjksIDg1LCA4NCwgNzIsIDEyOCwgNzgsIDczLCA2OSwgODUsIDc4LCAKKyAgICA0NSwgODMsIDczLCA3OSwgODMsIDEyOCwgNzgsIDczLCA2OSwgODUsIDc4LCA0NSwgODIsIDczLCA2OSwgODUsIDc2LCAxMjgsIAorICAgIDc4LCA3MywgNjksIDg1LCA3OCwgNDUsIDgwLCA3MywgNjksIDg1LCA4MCwgMTI4LCA3OCwgNzMsIDY5LCA4NSwgNzgsIDQ1LCAKKyAgICA4MCwgNjUsIDc4LCA4MywgNzMsIDc5LCA4MywgMTI4LCA3OCwgNzMsIDY5LCA4NSwgNzgsIDQ1LCA3NSwgNzMsIDg5LCA2OSwgCisgICAgNzksIDc1LCAxMjgsIDc4LCA3MywgNjksIDg1LCA3OCwgNDUsIDcyLCA3MywgNjksIDg1LCA3MiwgMTI4LCA3OCwgNzMsIDY5LCAKKyAgICA4NSwgNzgsIDQ1LCA2NywgNzMsIDY5LCA4NSwgNjcsIDEyOCwgNzgsIDczLCA2OSwgODUsIDc4LCA0NSwgNjcsIDcyLCA3MywgCisgICAgNjksIDg1LCA2NywgNzIsIDEyOCwgNzgsIDczLCA2OSwgODUsIDIwNiwgNzgsIDczLCA2OSwgODAsIDEyOCwgNzgsIDczLCAKKyAgICA2OSwgMTI4LCA3OCwgNzMsIDY2LCAxMjgsIDc4LCA3MywgNjUsIDEyOCwgNzgsIDczLCA1MCwgMTI4LCA3OCwgNzIsIDg1LCAKKyAgICA2OSwgMTI4LCA3OCwgNzIsIDc0LCA2NSwgMTI4LCA3OCwgNzIsIDEyOCwgNzgsIDcxLCA4OSwgNjksIDEyOCwgNzgsIDcxLCAKKyAgICA4NiwgNjksIDEyOCwgNzgsIDcxLCA4NSwgODUsIDEyOCwgNzgsIDcxLCA4NSwgNzksIDg4LCAxMjgsIDc4LCA3MSwgODUsIAorICAgIDc5LCA4NCwgMTI4LCA3OCwgNzEsIDg1LCA3OSwgMTI4LCA3OCwgNzEsIDg1LCA2NSwgNzgsIDEyOCwgNzgsIDcxLCA4NSwgCisgICAgNjUsIDY5LCA4NCwgMTI4LCA3OCwgNzEsIDg1LCA2NSwgNjksIDEyOCwgNzgsIDcxLCA3OSwgODgsIDEyOCwgNzgsIDcxLCAKKyAgICA3OSwgODUsIDEyOCwgNzgsIDcxLCA3OSwgMjEzLCA3OCwgNzEsIDc5LCA4NCwgMTI4LCA3OCwgNzEsIDc5LCA4MSwgMTI4LCAKKyAgICA3OCwgNzEsIDc5LCA4MCwgMTI4LCA3OCwgNzEsIDc5LCA3OCwgMTI4LCA3OCwgNzEsIDc5LCA3NywgMTI4LCA3OCwgNzEsIAorICAgIDc5LCA2OSwgNzIsIDEyOCwgNzgsIDcxLCA3OSwgNjksIDIwMCwgNzgsIDcxLCAyMDcsIDc4LCA3MSwgNzUsIDg5LCA2OSwgCisgICAgNjksIDEyOCwgNzgsIDcxLCA3NSwgODcsIDY1LCA2OSwgNzgsIDEyOCwgNzgsIDcxLCA3NSwgODUsIDgwLCAxMjgsIDc4LCAKKyAgICA3MSwgNzUsIDg1LCA3OCwgMTI4LCA3OCwgNzEsIDc1LCA4NSwgNzcsIDEyOCwgNzgsIDcxLCA3NSwgODUsIDY5LCA3OCwgOTAsIAorICAgIDY5LCA4NSwgNzcsIDEyOCwgNzgsIDcxLCA3NSwgODUsIDE5NywgNzgsIDcxLCA3NSwgNzMsIDc4LCA2OCwgMjAxLCA3OCwgCisgICAgNzEsIDc1LCA3MywgNjksIDY5LCAxMjgsIDc4LCA3MSwgNzUsIDY5LCA4NSwgODgsIDEyOCwgNzgsIDcxLCA3NSwgNjksIDg1LCAKKyAgICA4MiwgNzMsIDEyOCwgNzgsIDcxLCA3NSwgNjksIDg1LCA2NSwgNjksIDgxLCAxMjgsIDc4LCA3MSwgNzUsIDY5LCA4NSwgNjUsIAorICAgIDY5LCA3NywgMTI4LCA3OCwgNzEsIDc1LCA2NSwgODEsIDEyOCwgNzgsIDcxLCA3NSwgNjUsIDgwLCAxMjgsIDc4LCA3MSwgCisgICAgNzUsIDY1LCA2NSwgNzcsIDczLCAxMjgsIDc4LCA3MSwgNzUsIDY1LCAxMjgsIDc4LCA3MSwgNzMsIDY5LCA4OCwgMTI4LCAKKyAgICA3OCwgNzEsIDczLCA2OSwgODAsIDEyOCwgNzgsIDcxLCA3MywgNjksIDEyOCwgNzgsIDcxLCA3MiwgNjUsIDEyOCwgNzgsIAorICAgIDcxLCA3MSwgODcsIDY1LCA2OSwgNzgsIDEyOCwgNzgsIDcxLCA3MSwgODUsIDgyLCA2NSwgNjksIDEyOCwgNzgsIDcxLCA3MSwgCisgICAgODUsIDgwLCAxMjgsIDc4LCA3MSwgNzEsIDg1LCA3OSwgODEsIDEyOCwgNzgsIDcxLCA3MSwgODUsIDc5LCAyMDksIDc4LCAKKyAgICA3MSwgNzEsIDg1LCA3OSwgNzgsIDEyOCwgNzgsIDcxLCA3MSwgODUsIDc5LCA3NywgMTI4LCA3OCwgNzEsIDcxLCA4NSwgNzcsIAorICAgIDEyOCwgNzgsIDcxLCA3MSwgODUsIDY5LCA2OSwgODQsIDEyOCwgNzgsIDcxLCA3MSwgODUsIDY1LCA2OSwgODMsIDcyLCA2NSwgCisgICAgMTk3LCA3OCwgNzEsIDcxLCA4NSwgNjUsIDY5LCAyMDYsIDc4LCA3MSwgNzEsIDg1LCA2NSwgMTI4LCA3OCwgNzEsIDcxLCAKKyAgICA4NSwgMTI4LCA3OCwgNzEsIDcxLCA3OSwgNzksIDEyOCwgNzgsIDcxLCA3MSwgNzksIDEyOCwgNzgsIDcxLCA3MSwgNzMsIAorICAgIDEyOCwgNzgsIDcxLCA3MSwgNjksIDg1LCA4OCwgMTI4LCA3OCwgNzEsIDcxLCA2OSwgODUsIDY1LCA2OSwgODQsIDEyOCwgCisgICAgNzgsIDcxLCA3MSwgNjksIDg1LCA2NSwgNjksIDEyOCwgNzgsIDcxLCA3MSwgNjksIDIxMywgNzgsIDcxLCA3MSwgNjksIDc4LCAKKyAgICAxMjgsIDc4LCA3MSwgNzEsIDY5LCA2OSwgODQsIDEyOCwgNzgsIDcxLCA3MSwgNjksIDY5LCA2OSwgNjksIDEyOCwgNzgsIAorICAgIDcxLCA3MSwgNjksIDY5LCAxMjgsIDc4LCA3MSwgNzEsIDY5LCAxMjgsIDc4LCA3MSwgNzEsIDY1LCA4MCwgMTI4LCA3OCwgCisgICAgNzEsIDcxLCA2NSwgNjUsIDc3LCA2NSwgNjksIDEyOCwgNzgsIDcxLCA3MSwgNjUsIDY1LCA3NywgMTI4LCA3OCwgNzEsIDcxLCAKKyAgICA2NSwgNjUsIDEyOCwgNzgsIDcxLCA3MSwgMTI4LCA3OCwgNzEsIDY5LCA4OCwgMTI4LCA3OCwgNzEsIDY5LCA4NSwgODIsIAorICAgIDY5LCA4NSwgODQsIDEyOCwgNzgsIDcxLCA2OSwgODAsIDEyOCwgNzgsIDcxLCA2OSwgNzgsIDEyOCwgNzgsIDcxLCA2OSwgCisgICAgNjksIDEyOCwgNzgsIDcxLCA2OSwgNjUsIDY4LCA2NSwgNzYsIDEyOCwgNzgsIDcxLCA2NSwgODgsIDEyOCwgNzgsIDcxLCAKKyAgICA2NSwgODUsIDEyOCwgNzgsIDcxLCA2NSwgODQsIDEyOCwgNzgsIDcxLCA2NSwgMjExLCA3OCwgNzEsIDY1LCA4MSwgMTI4LCAKKyAgICA3OCwgNzEsIDY1LCA4MCwgMTI4LCA3OCwgNzEsIDY1LCA3OCwgNzEsIDg1LCAxMjgsIDc4LCA3MSwgNjUsIDc4LCAxMjgsIAorICAgIDc4LCA3MSwgNjUsIDczLCAxMjgsIDc4LCA3MSwgNjUsIDcyLCAxMjgsIDc4LCA3MSwgNjUsIDY1LCA3MywgMTI4LCA3OCwgCisgICAgNzEsIDE5MywgNzgsIDcwLCAxMjgsIDc4LCA2OSwgODgsIDIxMiwgNzgsIDY5LCA4OCwgMTI4LCA3OCwgNjksIDg3LCA4MywgCisgICAgODAsIDY1LCA4MCwgNjksIDgyLCAxMjgsIDc4LCA2OSwgODcsIDc2LCA3MywgNzgsIDY5LCAxMjgsIDc4LCA2OSwgODcsIDc2LCAKKyAgICA3MywgNzgsIDE5NywgNzgsIDY5LCA4NywgMTI4LCA3OCwgNjksIDg1LCA4NCwgODIsIDY1LCAyMDQsIDc4LCA2OSwgODUsIAorICAgIDg0LCA2OSwgODIsIDEyOCwgNzgsIDY5LCA4NCwgODcsIDc5LCA4MiwgNzUsIDY5LCAxOTYsIDc4LCA2OSwgODQsIDEyOCwgCisgICAgNzgsIDY5LCAyMTIsIDc4LCA2OSwgODMsIDg0LCA2OSwgMTk2LCA3OCwgNjksIDgxLCA4NSwgNjgsIDY1LCA2NSwgMTI4LCAKKyAgICA3OCwgNjksIDgwLCA4NCwgODUsIDc4LCA2OSwgMTI4LCA3OCwgNjksIDgwLCAxMjgsIDc4LCA2OSwgNzksIDEyOCwgNzgsIAorICAgIDY5LCAyMDcsIDc4LCA2OSwgNzgsIDc5LCA2OSwgMTI4LCA3OCwgNjksIDc4LCA2NSwgNzgsIDc5LCAxMjgsIDc4LCA2OSwgCisgICAgNzgsIDEyOCwgNzgsIDY5LCA3NiwgMTI4LCA3OCwgNjksIDczLCA4NCwgNzIsIDY5LCAyMTAsIDc4LCA2OSwgNzEsIDY1LCAKKyAgICA4NCwgNzMsIDc5LCAyMDYsIDc4LCA2OSwgNzEsIDY1LCA4NCwgNjksIDE5NiwgNzgsIDY5LCA2NywgNzUsIDg0LCA3MywgNjksIAorICAgIDEyOCwgNzgsIDY5LCA2NiwgNjksIDc4LCA4MywgODQsIDczLCA3NywgNzcsIDY5LCAxMjgsIDc4LCA2OCwgODUsIDg4LCAKKyAgICAxMjgsIDc4LCA2OCwgODUsIDg0LCAxMjgsIDc4LCA2OCwgODUsIDgyLCA4OCwgMTI4LCA3OCwgNjgsIDg1LCA4MiwgMTI4LCAKKyAgICA3OCwgNjgsIDg1LCA4MCwgMTI4LCA3OCwgNjgsIDg1LCA3OCwgMTI4LCA3OCwgNjgsIDIxMywgNzgsIDY4LCA3OSwgODgsIAorICAgIDEyOCwgNzgsIDY4LCA3OSwgODQsIDEyOCwgNzgsIDY4LCA3OSwgODAsIDEyOCwgNzgsIDY4LCA3OSwgNzksIDEyOCwgNzgsIAorICAgIDY4LCA3OSwgNzgsIDEyOCwgNzgsIDY4LCA3OSwgNzcsIDY2LCA4NSwgMTI4LCA3OCwgNjgsIDc5LCA3NiwgMTk3LCA3OCwgCisgICAgNjgsIDczLCA4OCwgMTI4LCA3OCwgNjgsIDczLCA4NCwgMTI4LCA3OCwgNjgsIDczLCA4MSwgMTI4LCA3OCwgNjgsIDczLCAKKyAgICA4MCwgMTI4LCA3OCwgNjgsIDczLCA2OSwgODgsIDEyOCwgNzgsIDY4LCA3MywgNjksIDEyOCwgNzgsIDY4LCA3MywgNjgsIAorICAgIDY1LCAxMjgsIDc4LCA2OCwgNzMsIDY1LCA4MSwgMTI4LCA3OCwgNjgsIDY5LCA4OCwgMTI4LCA3OCwgNjgsIDY5LCA4NSwgCisgICAgODgsIDEyOCwgNzgsIDY4LCA2OSwgODUsIDg0LCAxMjgsIDc4LCA2OCwgNjksIDg1LCA2NSwgNjksIDgyLCA2OSwgNjksIAorICAgIDEyOCwgNzgsIDY4LCA2OSwgODAsIDEyOCwgNzgsIDY4LCA2OSwgNjksIDEyOCwgNzgsIDY4LCA2OSwgMTI4LCA3OCwgNjgsIAorICAgIDY1LCA4OCwgMTI4LCA3OCwgNjgsIDY1LCA4NCwgMTI4LCA3OCwgNjgsIDY1LCA4MCwgMTI4LCA3OCwgNjgsIDY1LCA3NywgCisgICAgMTI4LCA3OCwgNjgsIDY1LCA2NSwgNzgsIDcxLCA3MSwgNjksIDg1LCA2NSwgNjksIDg0LCAxMjgsIDc4LCA2OCwgNjUsIDY1LCAKKyAgICAxMjgsIDc4LCA2OCwgNjUsIDE5MywgNzgsIDY3LCA3MiwgNjUsIDg1LCAxMjgsIDc4LCA2NiwgODksIDg4LCAxMjgsIDc4LCAKKyAgICA2NiwgODksIDg0LCAxMjgsIDc4LCA2NiwgODksIDgyLCA4OCwgMTI4LCA3OCwgNjYsIDg5LCA4MiwgMTI4LCA3OCwgNjYsIAorICAgIDg5LCA4MCwgMTI4LCA3OCwgNjYsIDg5LCAxMjgsIDc4LCA2NiwgODUsIDg4LCAxMjgsIDc4LCA2NiwgODUsIDg0LCAxMjgsIAorICAgIDc4LCA2NiwgODUsIDgyLCA4OCwgMTI4LCA3OCwgNjYsIDg1LCA4MiwgMTI4LCA3OCwgNjYsIDg1LCA4MCwgMTI4LCA3OCwgCisgICAgNjYsIDg1LCAxMjgsIDc4LCA2NiwgNzksIDg4LCAxMjgsIDc4LCA2NiwgNzksIDg0LCAxMjgsIDc4LCA2NiwgNzksIDgwLCAKKyAgICAxMjgsIDc4LCA2NiwgNzksIDEyOCwgNzgsIDY2LCA3MywgODgsIDEyOCwgNzgsIDY2LCA3MywgODQsIDEyOCwgNzgsIDY2LCAKKyAgICA3MywgODAsIDEyOCwgNzgsIDY2LCA3MywgNjksIDg4LCAxMjgsIDc4LCA2NiwgNzMsIDY5LCA4MCwgMTI4LCA3OCwgNjYsIAorICAgIDczLCA2OSwgMTI4LCA3OCwgNjYsIDczLCAxMjgsIDc4LCA2NiwgNzIsIDEyOCwgNzgsIDY2LCA2NSwgODgsIDEyOCwgNzgsIAorICAgIDY2LCA2NSwgODQsIDEyOCwgNzgsIDY2LCA2NSwgODAsIDEyOCwgNzgsIDY2LCA2NSwgMTI4LCA3OCwgNjUsIDg5LCA2NSwgCisgICAgNzgsIDc4LCA2NSwgMTI4LCA3OCwgNjUsIDg5LCAxMjgsIDc4LCA2NSwgODgsIDczLCA2NSwgMjA2LCA3OCwgNjUsIDg4LCAKKyAgICAxMjgsIDc4LCA2NSwgODUsIDg0LCA3MiwgODMsIDEyOCwgNzgsIDY1LCA4NSwgNjgsIDczLCAyMTgsIDc4LCA2NSwgODQsIAorICAgIDg1LCA4MiwgNjUsIDIwNCwgNzgsIDY1LCA4NCwgNzMsIDc5LCA3OCwgNjUsIDIwNCwgNzgsIDY1LCA4MywgNzUsIDY1LCA4MCwgCisgICAgMjAxLCA3OCwgNjUsIDgzLCA3MiwgNzMsIDEyOCwgNzgsIDY1LCA4MywgNjUsIDc2LCA3MywgOTAsIDY1LCA4NCwgNzMsIDc5LCAKKyAgICA3OCwgMTI4LCA3OCwgNjUsIDgzLCA2NSwgNzYsIDczLCA5MCwgNjUsIDg0LCA3MywgNzksIDIwNiwgNzgsIDY1LCA4MywgNjUsIAorICAgIDIwNCwgNzgsIDY1LCA4MiwgODIsIDc5LCAyMTUsIDc4LCA2NSwgODIsIDEyOCwgNzgsIDY1LCA4MSwgMTI4LCA3OCwgNjUsIAorICAgIDc5LCAyMTEsIDc4LCA2NSwgNzgsIDgzLCA2NSwgNzgsIDY1LCA4MSwgMTI4LCA3OCwgNjUsIDc4LCA3MSwgNzcsIDc5LCA3OCwgCisgICAgODQsIDcyLCA3OSwgMTI4LCA3OCwgNjUsIDc4LCA2OCwgMTI4LCA3OCwgNjUsIDc4LCA2NSwgMTI4LCA3OCwgNjUsIDc3LCAKKyAgICA2OSwgMTI4LCA3OCwgNjUsIDc3LCAxOTcsIDc4LCA2NSwgNzcsIDUwLCAxMjgsIDc4LCA2NSwgNzcsIDEyOCwgNzgsIDY1LCAKKyAgICA3NSwgMTI4LCA3OCwgNjUsIDczLCA4MiwgMTkzLCA3OCwgNjUsIDczLCAyMDQsIDc4LCA2NSwgNzEsIDgyLCAyMDEsIDc4LCAKKyAgICA2NSwgNzEsIDY1LCA4MiwgMTI4LCA3OCwgNjUsIDcxLCA2NSwgMTI4LCA3OCwgNjUsIDcxLCAxOTMsIDc4LCA2NSwgNzEsIAorICAgIDEyOCwgNzgsIDY1LCAxOTksIDc4LCA2NSwgNjksIDEyOCwgNzgsIDY1LCA2NiwgNzYsIDY1LCAxMjgsIDc4LCA2NSwgNjYsIAorICAgIDY1LCA4NCwgNjUsIDY5LCA2NSwgMjA2LCA3OCwgNjUsIDY1LCA4MywgNzMsIDc1LCA4OSwgNjUsIDg5LCA2NSwgMTI4LCA3OCwgCiAgICAgNjUsIDY1LCA3NSwgODMsIDczLCA3NSwgODksIDY1LCA4OSwgNjUsIDEyOCwgNzgsIDY1LCA2NSwgNzMsIDEyOCwgNzgsIDY1LCAKLSAgICAxOTMsIDc4LCA2NSwgNTAsIDEyOCwgNzgsIDY1LCA0NSwgNTAsIDEyOCwgNzgsIDQ4LCA1MiwgNTAsIDEyOCwgNzgsIDQ4LCAKLSAgICA1MiwgNDksIDEyOCwgNzgsIDQ4LCA1MiwgNDgsIDEyOCwgNzgsIDQ4LCA1MSwgNTcsIDEyOCwgNzgsIDQ4LCA1MSwgNTYsIAotICAgIDEyOCwgNzgsIDQ4LCA1MSwgNTUsIDY1LCAxMjgsIDc4LCA0OCwgNTEsIDU1LCAxMjgsIDc4LCA0OCwgNTEsIDU0LCAxMjgsIAotICAgIDc4LCA0OCwgNTEsIDUzLCA2NSwgMTI4LCA3OCwgNDgsIDUxLCA1MywgMTI4LCA3OCwgNDgsIDUxLCA1MiwgNjUsIDEyOCwgCi0gICAgNzgsIDQ4LCA1MSwgNTIsIDEyOCwgNzgsIDQ4LCA1MSwgNTEsIDY1LCAxMjgsIDc4LCA0OCwgNTEsIDUxLCAxMjgsIDc4LCAKLSAgICA0OCwgNTEsIDUwLCAxMjgsIDc4LCA0OCwgNTEsIDQ5LCAxMjgsIDc4LCA0OCwgNTEsIDQ4LCAxMjgsIDc4LCA0OCwgNTAsIAotICAgIDU3LCAxMjgsIDc4LCA0OCwgNTAsIDU2LCAxMjgsIDc4LCA0OCwgNTAsIDU1LCAxMjgsIDc4LCA0OCwgNTAsIDU0LCAxMjgsIAotICAgIDc4LCA0OCwgNTAsIDUzLCA2NSwgMTI4LCA3OCwgNDgsIDUwLCA1MywgMTI4LCA3OCwgNDgsIDUwLCA1MiwgMTI4LCA3OCwgCi0gICAgNDgsIDUwLCA1MSwgMTI4LCA3OCwgNDgsIDUwLCA1MCwgMTI4LCA3OCwgNDgsIDUwLCA0OSwgMTI4LCA3OCwgNDgsIDUwLCAKLSAgICA0OCwgMTI4LCA3OCwgNDgsIDQ5LCA1NywgMTI4LCA3OCwgNDgsIDQ5LCA1NiwgNjYsIDEyOCwgNzgsIDQ4LCA0OSwgNTYsIAotICAgIDY1LCAxMjgsIDc4LCA0OCwgNDksIDU2LCAxMjgsIDc4LCA0OCwgNDksIDU1LCAxMjgsIDc4LCA0OCwgNDksIDU0LCAxMjgsIAotICAgIDc4LCA0OCwgNDksIDUzLCAxMjgsIDc4LCA0OCwgNDksIDUyLCAxMjgsIDc4LCA0OCwgNDksIDUxLCAxMjgsIDc4LCA0OCwgCi0gICAgNDksIDUwLCAxMjgsIDc4LCA0OCwgNDksIDQ5LCAxMjgsIDc4LCA0OCwgNDksIDQ4LCAxMjgsIDc4LCA0OCwgNDgsIDU3LCAKLSAgICAxMjgsIDc4LCA0OCwgNDgsIDU2LCAxMjgsIDc4LCA0OCwgNDgsIDU1LCAxMjgsIDc4LCA0OCwgNDgsIDU0LCAxMjgsIDc4LCAKLSAgICA0OCwgNDgsIDUzLCAxMjgsIDc4LCA0OCwgNDgsIDUyLCAxMjgsIDc4LCA0OCwgNDgsIDUxLCAxMjgsIDc4LCA0OCwgNDgsIAotICAgIDUwLCAxMjgsIDc4LCA0OCwgNDgsIDQ5LCAxMjgsIDc4LCA0NSwgNjcsIDgyLCA2OSwgMTk3LCA3OCwgNDUsIDY1LCA4MiwgCi0gICAgMjE3LCA3NywgODksIDg4LCAxMjgsIDc3LCA4OSwgODQsIDEyOCwgNzcsIDg5LCA4MywgNzYsIDczLCA4NCwgNjksIDEyOCwgCi0gICAgNzcsIDg5LCA4MCwgMTI4LCA3NywgODksIDY1LCAxMjgsIDc3LCA4OSwgMTkzLCA3NywgODksIDEyOCwgNzcsIDIxNywgNzcsIAotICAgIDg3LCA3OSwgNzksIDEyOCwgNzcsIDg3LCA3OSwgMTI4LCA3NywgODcsIDczLCA3MywgMTI4LCA3NywgODcsIDczLCAxMjgsIAotICAgIDc3LCA4NywgNjksIDY5LCAxMjgsIDc3LCA4NywgNjksIDEyOCwgNzcsIDg3LCA2NSwgNjUsIDEyOCwgNzcsIDg3LCA2NSwgCi0gICAgMTI4LCA3NywgODcsIDEyOCwgNzcsIDIxNSwgNzcsIDg2LCA4MywgMTI4LCA3NywgODYsIDc5LCA4MCwgMTI4LCA3NywgODYsIAotICAgIDczLCAxMjgsIDc3LCA4NiwgNjksIDg1LCA2NSwgNjksIDc4LCA3MSwgNjUsIDc3LCAxMjgsIDc3LCA4NiwgMTI4LCA3NywgCi0gICAgMjE0LCA3NywgODUsIDg4LCAxMjgsIDc3LCA4NSwgODUsIDgzLCA3MywgNzUsIDY1LCA4NCwgNzksIDY1LCA3OCwgMTI4LCAKLSAgICA3NywgODUsIDg1LCA4MiwgNjgsIDcyLCA2NSwgNzQsIDE5MywgNzcsIDg1LCA4NSwgMTI4LCA3NywgODUsIDg0LCAxMjgsIAotICAgIDc3LCA4NSwgODMsIDczLCA2NywgMTI4LCA3NywgODUsIDgzLCA3MywgMTk1LCA3NywgODUsIDgzLCA3MiwgODIsIDc5LCA3OSwgCi0gICAgNzcsIDEyOCwgNzcsIDg1LCA4MywgNzIsIDUxLCAxMjgsIDc3LCA4NSwgODMsIDcyLCAxNzksIDc3LCA4NSwgODMsIDcyLCAKLSAgICAxMjgsIDc3LCA4NSwgODMsIDIwMCwgNzcsIDg1LCA4MiwgODgsIDEyOCwgNzcsIDg1LCA4MiwgNzEsIDg1LCA1MCwgMTI4LCAKLSAgICA3NywgODUsIDgyLCA2OSwgMTI4LCA3NywgODUsIDgyLCA2OCwgNjUsIDEyOCwgNzcsIDg1LCA4MiwgNjgsIDE5MywgNzcsIAotICAgIDg1LCA4MiwgMTI4LCA3NywgODUsIDgxLCA2OCwgNjUsIDc3LCAxMjgsIDc3LCA4NSwgODAsIDEyOCwgNzcsIDg1LCA3OSwgCi0gICAgODgsIDEyOCwgNzcsIDg1LCA3OSwgODQsIDEyOCwgNzcsIDg1LCA3OSwgODAsIDEyOCwgNzcsIDg1LCA3OSwgNzcsIDY1LCAKLSAgICA2OSwgMTI4LCA3NywgODUsIDc5LCAxMjgsIDc3LCA4NSwgNzgsIDgzLCA4NSwgNjYsIDEyOCwgNzcsIDg1LCA3OCwgNjUsIAotICAgIDcyLCAxMjgsIDc3LCA4NSwgNzYsIDg0LCA3MywgODMsIDY5LCA4NCwgMTI4LCA3NywgODUsIDc2LCA4NCwgNzMsIDgzLCA2OSwgCi0gICAgMjEyLCA3NywgODUsIDc2LCA4NCwgNzMsIDgwLCA3NiwgNzMsIDY3LCA2NSwgODQsIDczLCA3OSwgNzgsIDEyOCwgNzcsIDg1LCAKLSAgICA3NiwgODQsIDczLCA4MCwgNzYsIDczLCA2NywgNjUsIDg0LCA3MywgNzksIDIwNiwgNzcsIDg1LCA3NiwgODQsIDczLCA4MCwgCi0gICAgNzYsIDE5NywgNzcsIDg1LCA3NiwgODQsIDczLCA3OSwgNjcsIDg1LCA3NiwgNjUsIDIxMCwgNzcsIDg1LCA3NiwgODQsIDczLCAKLSAgICA3NywgNjUsIDgwLCAxMjgsIDc3LCA4NSwgNzYsIDg0LCAyMDEsIDc3LCA4NSwgNzUsIDgwLCA3MiwgODIsIDY5LCA3OCwgNzEsIAotICAgIDEyOCwgNzcsIDg1LCA3MywgNzgsIDEyOCwgNzcsIDg1LCA3MSwgODMsIDEyOCwgNzcsIDg1LCA3MSwgMTI4LCA3NywgODUsIAotICAgIDE5OSwgNzcsIDg1LCA2OSwgMTI4LCA3NywgODUsIDY3LCA3MiwgMTI4LCA3NywgODUsIDY3LCAyMDAsIDc3LCA4NSwgNjcsIAotICAgIDY1LCA2NSwgNjgsIDEyOCwgNzcsIDg1LCA2NSwgNzgsIDEyOCwgNzcsIDg1LCA2NSwgNjksIDEyOCwgNzcsIDg1LCA0NSwgCi0gICAgNzEsIDY1LCA2NSwgNzIsIDc2LCA2NSwgMTkzLCA3NywgMjEzLCA3NywgODMsIDEyOCwgNzcsIDgwLCA2NSwgMTI4LCA3NywgCi0gICAgNzksIDg5LCA2NSwgNzMsIDEyOCwgNzcsIDc5LCA4OCwgMTI4LCA3NywgNzksIDg2LCA3MywgMTk3LCA3NywgNzksIDg2LCAKLSAgICA2OSwgMTk2LCA3NywgNzksIDg1LCA4NCwgNzIsIDEyOCwgNzcsIDc5LCA4NSwgODQsIDIwMCwgNzcsIDc5LCA4NSwgODMsIAotICAgIDY5LCAxMjgsIDc3LCA3OSwgODUsIDgzLCAxOTcsIDc3LCA3OSwgODUsIDc4LCA4NCwgNjUsIDczLCA3OCwgODMsIDEyOCwgCi0gICAgNzcsIDc5LCA4NSwgNzgsIDg0LCA2NSwgNzMsIDc4LCAxMjgsIDc3LCA3OSwgODUsIDc4LCA4NCwgNjUsIDczLCAyMDYsIDc3LCAKLSAgICA3OSwgODUsIDc4LCAyMTIsIDc3LCA3OSwgODUsIDc4LCA2OCwgMTI4LCA3NywgNzksIDg1LCA3OCwgMTk2LCA3NywgNzksIAotICAgIDg0LCA3MiwgNjksIDgyLCAxMjgsIDc3LCA3OSwgODQsIDEyOCwgNzcsIDc5LCA4MiwgODQsIDg1LCA4NSwgNzcsIDEyOCwgCi0gICAgNzcsIDc5LCA4MiwgODQsIDY1LCA4MiwgMTI4LCA3NywgNzksIDgyLCA4MCwgNzIsIDc5LCA3NiwgNzksIDcxLCA3MywgNjcsIAotICAgIDY1LCAyMDQsIDc3LCA3OSwgODIsIDc4LCA3MywgNzgsIDcxLCAxMjgsIDc3LCA3OSwgODAsIDEyOCwgNzcsIDc5LCA3OSwgCi0gICAgODMsIDY5LCA0NSwgNjcsIDgyLCA2OSwgMTk3LCA3NywgNzksIDc5LCA3OCwgMTI4LCA3NywgNzksIDc5LCAyMDYsIDc3LCAKLSAgICA3OSwgNzksIDc3LCA4MCwgODUsIDgxLCAxMjgsIDc3LCA3OSwgNzksIDc3LCA2OSwgODUsIDg0LCAxMjgsIDc3LCA3OSwgNzksIAotICAgIDEyOCwgNzcsIDc5LCA3OCwgODQsIDczLCA2OSwgNjksIDc4LCAxMjgsIDc3LCA3OSwgNzgsIDg0LCA3MiwgMTI4LCA3NywgCi0gICAgNzksIDc4LCA4NCwgMjAwLCA3NywgNzksIDc4LCA4MywgODQsIDY5LCA4MiwgMTI4LCA3NywgNzksIDc4LCA3OSwgODMsIDg0LCAKLSAgICA2NSwgNjYsIDc2LCAxOTcsIDc3LCA3OSwgNzgsIDc5LCA4MywgODAsIDY1LCA2NywgMTk3LCA3NywgNzksIDc4LCA3OSwgODIsIAotICAgIDY1LCA3MywgNzYsIDEyOCwgNzcsIDc5LCA3OCwgNzksIDcxLCA4MiwgNjUsIDgwLCAyMDAsIDc3LCA3OSwgNzgsIDc5LCA3MSwgCi0gICAgODIsIDY1LCA3NywgNzcsIDc5LCAyMTEsIDc3LCA3OSwgNzgsIDc5LCA3MSwgODIsIDY1LCAyMDUsIDc3LCA3OSwgNzgsIDc5LCAKLSAgICA3MCwgNzksIDc4LCA3MywgNjUsIDgzLCAxMjgsIDc3LCA3OSwgNzgsIDc5LCA2NywgODUsIDc2LCA2NSwgMjEwLCA3NywgNzksIAotICAgIDc4LCA3NSwgNjksIDg5LCAxMjgsIDc3LCA3OSwgNzgsIDc1LCA2OSwgMjE3LCA3NywgNzksIDc4LCA3MywgMTI4LCA3NywgCi0gICAgNzksIDc4LCA3MSwgNzUsIDY5LCA4NSwgNjUsIDY5LCA4MSwgMTI4LCA3NywgNzksIDc4LCA2OSwgMjE3LCA3NywgNzksIDc4LCAKLSAgICAxMjgsIDc3LCA3OSwgMjA2LCA3NywgNzksIDc2LCAxMjgsIDc3LCA3OSwgNzIsIDY1LCA3NywgNzcsIDY1LCAxOTYsIDc3LCAKLSAgICA3OSwgNjgsIDg1LCA3NiwgMjA3LCA3NywgNzksIDY4LCA2OSwgODMsIDg0LCA4OSwgMTI4LCA3NywgNzksIDY4LCA2OSwgNzYsIAotICAgIDgzLCAxMjgsIDc3LCA3OSwgNjgsIDY5LCA3NiwgMTI4LCA3NywgNzksIDY4LCA2OSwgMTI4LCA3NywgNzksIDY2LCA3MywgCi0gICAgNzYsIDE5NywgNzcsIDc5LCA2NSwgMTI4LCA3NywgMjA3LCA3NywgNzgsIDg5LCA2NSwgMjA1LCA3NywgNzgsIDY1LCA4MywgCi0gICAgMTI4LCA3NywgNzcsIDgzLCA4MCwgMTI4LCA3NywgNzcsIDEyOCwgNzcsIDIwNSwgNzcsIDc2LCA2NSwgMTI4LCA3NywgNzYsIAotICAgIDEyOCwgNzcsIDc1LCA4MCwgNjUsIDgyLCA2NSwgMjA5LCA3NywgNzMsIDg4LCAxMjgsIDc3LCA3MywgODQsIDEyOCwgNzcsIAotICAgIDczLCA4MywgODIsIDY1LCAxMjgsIDc3LCA3MywgODIsIDczLCA2NiwgNjUsIDY1LCA4MiwgODUsIDEyOCwgNzcsIDczLCA4MiwgCi0gICAgNzMsIDEyOCwgNzcsIDczLCA4MiwgNjksIDY4LCAxMjgsIDc3LCA3MywgODAsIDEyOCwgNzcsIDczLCA3OCwgODksIDEyOCwgCi0gICAgNzcsIDczLCA3OCwgODUsIDgzLCA0NSwgNzksIDgyLCA0NSwgODAsIDc2LCA4NSwgMjExLCA3NywgNzMsIDc4LCA4NSwgODMsIAotICAgIDEyOCwgNzcsIDczLCA3OCwgNzMsIDgzLCA4NCwgNjksIDgyLCAxMjgsIDc3LCA3MywgNzgsIDczLCA3NywgNjUsIDEyOCwgCi0gICAgNzcsIDczLCA3OCwgNzMsIDY4LCA3MywgODMsIDY3LCAxMjgsIDc3LCA3MywgNzgsIDczLCA2NiwgODUsIDgzLCAxMjgsIDc3LCAKLSAgICA3MywgNzcsIDY5LCAxMjgsIDc3LCA3MywgNzcsIDEyOCwgNzcsIDczLCA3NiwgNzYsIDczLCA3OSwgNzgsIDIxMSwgNzcsIAotICAgIDczLCA3NiwgNzYsIDY5LCA4NCwgMTI4LCA3NywgNzMsIDc2LCA3NiwgMTk3LCA3NywgNzMsIDc2LCAyMDQsIDc3LCA3MywgCi0gICAgNzYsIDc1LCAyMTcsIDc3LCA3MywgNzYsIDEyOCwgNzcsIDczLCA3NSwgODUsIDgyLCA3OSwgNzgsIDEyOCwgNzcsIDczLCAKLSAgICA3NSwgODIsIDc5LCAyMDYsIDc3LCA3MywgNzUsIDgyLCA3MywgMTI4LCA3NywgNzMsIDczLCA3OCwgMTI4LCA3NywgNzMsIAotICAgIDczLCAxMjgsIDc3LCA3MywgMTk5LCA3NywgNzMsIDY5LCA4OCwgMTI4LCA3NywgNzMsIDY5LCA4NSwgNzcsIDQ1LCA4NCwgCi0gICAgNzMsIDc1LCA2OSwgODUsIDg0LCAxMjgsIDc3LCA3MywgNjksIDg1LCA3NywgNDUsIDgzLCA4MywgNjUsIDc4LCA3MSwgODMsIAotICAgIDczLCA3OSwgODMsIDEyOCwgNzcsIDczLCA2OSwgODUsIDc3LCA0NSwgODMsIDgzLCA2NSwgNzgsIDcxLCA3OCwgNzMsIDY5LCAKLSAgICA4NSwgNzgsIDEyOCwgNzcsIDczLCA2OSwgODUsIDc3LCA0NSwgODIsIDczLCA2OSwgODUsIDc2LCAxMjgsIDc3LCA3MywgNjksIAotICAgIDg1LCA3NywgNDUsIDgwLCA3MywgNjksIDg1LCA4MCwgNDUsIDgzLCA3MywgNzksIDgzLCAxMjgsIDc3LCA3MywgNjksIDg1LCAKLSAgICA3NywgNDUsIDgwLCA3MywgNjksIDg1LCA4MCwgMTI4LCA3NywgNzMsIDY5LCA4NSwgNzcsIDQ1LCA4MCwgNjUsIDc4LCA4MywgCi0gICAgNzMsIDc5LCA4MywgMTI4LCA3NywgNzMsIDY5LCA4NSwgNzcsIDQ1LCA3OCwgNzMsIDY5LCA4NSwgNzgsIDEyOCwgNzcsIDczLCAKLSAgICA2OSwgODUsIDc3LCA0NSwgNjcsIDczLCA2OSwgODUsIDY3LCAxMjgsIDc3LCA3MywgNjksIDg1LCA3NywgNDUsIDY3LCA3MiwgCi0gICAgNzMsIDY5LCA4NSwgNjcsIDcyLCAxMjgsIDc3LCA3MywgNjksIDg1LCAyMDUsIDc3LCA3MywgNjksIDgwLCAxMjgsIDc3LCAKLSAgICA3MywgNjksIDY5LCAxMjgsIDc3LCA3MywgNjksIDEyOCwgNzcsIDczLCA2OCwgNzYsIDczLCA3OCwgMTk3LCA3NywgNzMsIAotICAgIDY4LCA2OCwgNzYsIDY5LCA0NSwgODcsIDY5LCA3NiwgODMsIDIwMCwgNzcsIDczLCA2OCwgNjgsIDc2LCAxOTcsIDc3LCA3MywgCisgICAgMTkzLCA3OCwgNjUsIDUyLCAxMjgsIDc4LCA2NSwgNTAsIDEyOCwgNzgsIDY1LCA0NSwgNTAsIDEyOCwgNzgsIDQ4LCA1MiwgCisgICAgNTAsIDEyOCwgNzgsIDQ4LCA1MiwgNDksIDEyOCwgNzgsIDQ4LCA1MiwgNDgsIDEyOCwgNzgsIDQ4LCA1MSwgNTcsIDEyOCwgCisgICAgNzgsIDQ4LCA1MSwgNTYsIDEyOCwgNzgsIDQ4LCA1MSwgNTUsIDY1LCAxMjgsIDc4LCA0OCwgNTEsIDU1LCAxMjgsIDc4LCAKKyAgICA0OCwgNTEsIDU0LCAxMjgsIDc4LCA0OCwgNTEsIDUzLCA2NSwgMTI4LCA3OCwgNDgsIDUxLCA1MywgMTI4LCA3OCwgNDgsIAorICAgIDUxLCA1MiwgNjUsIDEyOCwgNzgsIDQ4LCA1MSwgNTIsIDEyOCwgNzgsIDQ4LCA1MSwgNTEsIDY1LCAxMjgsIDc4LCA0OCwgCisgICAgNTEsIDUxLCAxMjgsIDc4LCA0OCwgNTEsIDUwLCAxMjgsIDc4LCA0OCwgNTEsIDQ5LCAxMjgsIDc4LCA0OCwgNTEsIDQ4LCAKKyAgICAxMjgsIDc4LCA0OCwgNTAsIDU3LCAxMjgsIDc4LCA0OCwgNTAsIDU2LCAxMjgsIDc4LCA0OCwgNTAsIDU1LCAxMjgsIDc4LCAKKyAgICA0OCwgNTAsIDU0LCAxMjgsIDc4LCA0OCwgNTAsIDUzLCA2NSwgMTI4LCA3OCwgNDgsIDUwLCA1MywgMTI4LCA3OCwgNDgsIAorICAgIDUwLCA1MiwgMTI4LCA3OCwgNDgsIDUwLCA1MSwgMTI4LCA3OCwgNDgsIDUwLCA1MCwgMTI4LCA3OCwgNDgsIDUwLCA0OSwgCisgICAgMTI4LCA3OCwgNDgsIDUwLCA0OCwgMTI4LCA3OCwgNDgsIDQ5LCA1NywgMTI4LCA3OCwgNDgsIDQ5LCA1NiwgNjYsIDEyOCwgCisgICAgNzgsIDQ4LCA0OSwgNTYsIDY1LCAxMjgsIDc4LCA0OCwgNDksIDU2LCAxMjgsIDc4LCA0OCwgNDksIDU1LCAxMjgsIDc4LCAKKyAgICA0OCwgNDksIDU0LCAxMjgsIDc4LCA0OCwgNDksIDUzLCAxMjgsIDc4LCA0OCwgNDksIDUyLCAxMjgsIDc4LCA0OCwgNDksIAorICAgIDUxLCAxMjgsIDc4LCA0OCwgNDksIDUwLCAxMjgsIDc4LCA0OCwgNDksIDQ5LCAxMjgsIDc4LCA0OCwgNDksIDQ4LCAxMjgsIAorICAgIDc4LCA0OCwgNDgsIDU3LCAxMjgsIDc4LCA0OCwgNDgsIDU2LCAxMjgsIDc4LCA0OCwgNDgsIDU1LCAxMjgsIDc4LCA0OCwgCisgICAgNDgsIDU0LCAxMjgsIDc4LCA0OCwgNDgsIDUzLCAxMjgsIDc4LCA0OCwgNDgsIDUyLCAxMjgsIDc4LCA0OCwgNDgsIDUxLCAKKyAgICAxMjgsIDc4LCA0OCwgNDgsIDUwLCAxMjgsIDc4LCA0OCwgNDgsIDQ5LCAxMjgsIDc4LCA0NSwgNjcsIDgyLCA2OSwgMTk3LCAKKyAgICA3OCwgNDUsIDY1LCA4MiwgMjE3LCA3NywgODksIDg4LCAxMjgsIDc3LCA4OSwgODQsIDEyOCwgNzcsIDg5LCA4MywgNzYsIAorICAgIDczLCA4NCwgNjksIDEyOCwgNzcsIDg5LCA4MCwgMTI4LCA3NywgODksIDY1LCAxMjgsIDc3LCA4OSwgMTkzLCA3NywgODksIAorICAgIDEyOCwgNzcsIDIxNywgNzcsIDg3LCA3OSwgNzksIDEyOCwgNzcsIDg3LCA3OSwgMTI4LCA3NywgODcsIDczLCA3MywgMTI4LCAKKyAgICA3NywgODcsIDczLCAxMjgsIDc3LCA4NywgNjksIDY5LCAxMjgsIDc3LCA4NywgNjksIDEyOCwgNzcsIDg3LCA2NSwgNjUsIAorICAgIDEyOCwgNzcsIDg3LCA2NSwgMTI4LCA3NywgODcsIDEyOCwgNzcsIDIxNSwgNzcsIDg2LCA4MywgMTI4LCA3NywgODYsIDc5LCAKKyAgICA4MCwgMTI4LCA3NywgODYsIDczLCAxMjgsIDc3LCA4NiwgNjksIDg1LCA2NSwgNjksIDc4LCA3MSwgNjUsIDc3LCAxMjgsIAorICAgIDc3LCA4NiwgMTI4LCA3NywgMjE0LCA3NywgODUsIDg4LCAxMjgsIDc3LCA4NSwgODUsIDgzLCA3MywgNzUsIDY1LCA4NCwgCisgICAgNzksIDY1LCA3OCwgMTI4LCA3NywgODUsIDg1LCA4MiwgNjgsIDcyLCA2NSwgNzQsIDE5MywgNzcsIDg1LCA4NSwgMTI4LCAKKyAgICA3NywgODUsIDg0LCAxMjgsIDc3LCA4NSwgODMsIDczLCA2NywgMTI4LCA3NywgODUsIDgzLCA3MywgMTk1LCA3NywgODUsIAorICAgIDgzLCA3MiwgODIsIDc5LCA3OSwgNzcsIDEyOCwgNzcsIDg1LCA4MywgNzIsIDUxLCAxMjgsIDc3LCA4NSwgODMsIDcyLCAKKyAgICAxNzksIDc3LCA4NSwgODMsIDcyLCAxMjgsIDc3LCA4NSwgODMsIDIwMCwgNzcsIDg1LCA4MywgMTI4LCA3NywgODUsIDgyLCAKKyAgICA4OCwgMTI4LCA3NywgODUsIDgyLCA3MSwgODUsIDUwLCAxMjgsIDc3LCA4NSwgODIsIDY5LCAxMjgsIDc3LCA4NSwgODIsIAorICAgIDY4LCA2NSwgMTI4LCA3NywgODUsIDgyLCA2OCwgMTkzLCA3NywgODUsIDgyLCAxMjgsIDc3LCA4NSwgODEsIDY4LCA2NSwgCisgICAgNzcsIDEyOCwgNzcsIDg1LCA4MCwgMTI4LCA3NywgODUsIDc5LCA4OCwgMTI4LCA3NywgODUsIDc5LCA4NCwgMTI4LCA3NywgCisgICAgODUsIDc5LCA4MCwgMTI4LCA3NywgODUsIDc5LCA3NywgNjUsIDY5LCAxMjgsIDc3LCA4NSwgNzksIDEyOCwgNzcsIDg1LCAKKyAgICA3OCwgODMsIDg1LCA2NiwgMTI4LCA3NywgODUsIDc4LCA2NSwgNzIsIDEyOCwgNzcsIDg1LCA3OCwgMTI4LCA3NywgODUsIAorICAgIDc2LCA4NCwgNzMsIDgzLCA2OSwgODQsIDEyOCwgNzcsIDg1LCA3NiwgODQsIDczLCA4MywgNjksIDIxMiwgNzcsIDg1LCA3NiwgCisgICAgODQsIDczLCA4MCwgNzYsIDczLCA2NywgNjUsIDg0LCA3MywgNzksIDc4LCAxMjgsIDc3LCA4NSwgNzYsIDg0LCA3MywgODAsIAorICAgIDc2LCA3MywgNjcsIDY1LCA4NCwgNzMsIDc5LCAyMDYsIDc3LCA4NSwgNzYsIDg0LCA3MywgODAsIDc2LCAxOTcsIDc3LCA4NSwgCisgICAgNzYsIDg0LCA3MywgNzksIDY3LCA4NSwgNzYsIDY1LCAyMTAsIDc3LCA4NSwgNzYsIDg0LCA3MywgNzcsIDY1LCA4MCwgMTI4LCAKKyAgICA3NywgODUsIDc2LCA4NCwgMjAxLCA3NywgODUsIDc1LCA4MCwgNzIsIDgyLCA2OSwgNzgsIDcxLCAxMjgsIDc3LCA4NSwgNzMsIAorICAgIDc4LCAxMjgsIDc3LCA4NSwgNzEsIDgzLCAxMjgsIDc3LCA4NSwgNzEsIDEyOCwgNzcsIDg1LCAxOTksIDc3LCA4NSwgNjksIAorICAgIDc4LCAxMjgsIDc3LCA4NSwgNjksIDEyOCwgNzcsIDg1LCA2NywgNzIsIDEyOCwgNzcsIDg1LCA2NywgMjAwLCA3NywgODUsIAorICAgIDY3LCA2NSwgNjUsIDY4LCAxMjgsIDc3LCA4NSwgNjUsIDgzLCAxMjgsIDc3LCA4NSwgNjUsIDc4LCAxMjgsIDc3LCA4NSwgCisgICAgNjUsIDY5LCAxMjgsIDc3LCA4NSwgNDUsIDcxLCA2NSwgNjUsIDcyLCA3NiwgNjUsIDE5MywgNzcsIDIxMywgNzcsIDgzLCAKKyAgICAxMjgsIDc3LCA4MiwgMjA3LCA3NywgODAsIDY1LCAxMjgsIDc3LCA3OSwgODksIDY1LCA3MywgMTI4LCA3NywgNzksIDg4LCAKKyAgICAxMjgsIDc3LCA3OSwgODYsIDczLCAxOTcsIDc3LCA3OSwgODYsIDY5LCAxOTYsIDc3LCA3OSwgODUsIDg0LCA3MiwgMTI4LCAKKyAgICA3NywgNzksIDg1LCA4NCwgMjAwLCA3NywgNzksIDg1LCA4MywgNjksIDEyOCwgNzcsIDc5LCA4NSwgODMsIDE5NywgNzcsIAorICAgIDc5LCA4NSwgNzgsIDg0LCA2NSwgNzMsIDc4LCA4MywgMTI4LCA3NywgNzksIDg1LCA3OCwgODQsIDY1LCA3MywgNzgsIDEyOCwgCisgICAgNzcsIDc5LCA4NSwgNzgsIDg0LCA2NSwgNzMsIDIwNiwgNzcsIDc5LCA4NSwgNzgsIDIxMiwgNzcsIDc5LCA4NSwgNzgsIDY4LCAKKyAgICAxMjgsIDc3LCA3OSwgODUsIDc4LCAxOTYsIDc3LCA3OSwgODQsIDc5LCA4MiwgODcsIDY1LCA4OSwgMTI4LCA3NywgNzksIAorICAgIDg0LCA3OSwgODIsIDY3LCA4OSwgNjcsIDc2LCA2OSwgMTI4LCA3NywgNzksIDg0LCA3OSwgMjEwLCA3NywgNzksIDg0LCA3MiwgCisgICAgNjksIDgyLCAxMjgsIDc3LCA3OSwgODQsIDEyOCwgNzcsIDc5LCA4MiwgODQsIDg1LCA4NSwgNzcsIDEyOCwgNzcsIDc5LCAKKyAgICA4MiwgODQsIDY1LCA4MiwgMTI4LCA3NywgNzksIDgyLCA4MCwgNzIsIDc5LCA3NiwgNzksIDcxLCA3MywgNjcsIDY1LCAyMDQsIAorICAgIDc3LCA3OSwgODIsIDc4LCA3MywgNzgsIDcxLCAxMjgsIDc3LCA3OSwgODAsIDEyOCwgNzcsIDc5LCA3OSwgODMsIDY5LCA0NSwgCisgICAgNjcsIDgyLCA2OSwgMTk3LCA3NywgNzksIDc5LCA3OCwgMTI4LCA3NywgNzksIDc5LCAyMDYsIDc3LCA3OSwgNzksIDc3LCAKKyAgICA4MCwgODUsIDgxLCAxMjgsIDc3LCA3OSwgNzksIDc3LCA2OSwgODUsIDg0LCAxMjgsIDc3LCA3OSwgNzksIDY4LCAxMjgsIAorICAgIDc3LCA3OSwgNzksIDE5NiwgNzcsIDc5LCA3OSwgMTI4LCA3NywgNzksIDc4LCA4NCwgNzMsIDY5LCA2OSwgNzgsIDEyOCwgCisgICAgNzcsIDc5LCA3OCwgODQsIDcyLCAxMjgsIDc3LCA3OSwgNzgsIDg0LCAyMDAsIDc3LCA3OSwgNzgsIDgzLCA4NCwgNjksIDgyLCAKKyAgICAxMjgsIDc3LCA3OSwgNzgsIDc5LCA4MywgODQsIDY1LCA2NiwgNzYsIDE5NywgNzcsIDc5LCA3OCwgNzksIDgzLCA4MCwgNjUsIAorICAgIDY3LCAxOTcsIDc3LCA3OSwgNzgsIDc5LCA4MiwgNjUsIDczLCA3NiwgMTI4LCA3NywgNzksIDc4LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDIwMCwgNzcsIDc5LCA3OCwgNzksIDcxLCA4MiwgNjUsIDc3LCA3NywgNzksIDIxMSwgNzcsIDc5LCA3OCwgNzksIDcxLCAKKyAgICA4MiwgNjUsIDIwNSwgNzcsIDc5LCA3OCwgNzksIDcwLCA3OSwgNzgsIDczLCA2NSwgODMsIDEyOCwgNzcsIDc5LCA3OCwgNzksIAorICAgIDY3LCA4NSwgNzYsIDY1LCAyMTAsIDc3LCA3OSwgNzgsIDc1LCA2OSwgODksIDEyOCwgNzcsIDc5LCA3OCwgNzUsIDY5LCAKKyAgICAyMTcsIDc3LCA3OSwgNzgsIDczLCAxMjgsIDc3LCA3OSwgNzgsIDcxLCA3NSwgNjksIDg1LCA2NSwgNjksIDgxLCAxMjgsIAorICAgIDc3LCA3OSwgNzgsIDY5LCAyMTcsIDc3LCA3OSwgNzgsIDEyOCwgNzcsIDc5LCAyMDYsIDc3LCA3OSwgNzYsIDEyOCwgNzcsIAorICAgIDc5LCA3MiwgNjUsIDc3LCA3NywgNjUsIDE5NiwgNzcsIDc5LCA2OCwgODUsIDc2LCAyMDcsIDc3LCA3OSwgNjgsIDIwMSwgCisgICAgNzcsIDc5LCA2OCwgNjksIDgzLCA4NCwgODksIDEyOCwgNzcsIDc5LCA2OCwgNjksIDc3LCAxMjgsIDc3LCA3OSwgNjgsIDY5LCAKKyAgICA3NiwgODMsIDEyOCwgNzcsIDc5LCA2OCwgNjksIDc2LCAxMjgsIDc3LCA3OSwgNjgsIDY5LCAxMjgsIDc3LCA3OSwgNjYsIAorICAgIDczLCA3NiwgMTk3LCA3NywgNzksIDY1LCAxMjgsIDc3LCAyMDcsIDc3LCA3OCwgODksIDY1LCAyMDUsIDc3LCA3OCwgNjUsIAorICAgIDgzLCAxMjgsIDc3LCA3NywgODMsIDgwLCAxMjgsIDc3LCA3NywgMTI4LCA3NywgMjA1LCA3NywgNzYsIDY1LCAxMjgsIDc3LCAKKyAgICA3NiwgMTI4LCA3NywgNzUsIDgwLCA2NSwgODIsIDY1LCAyMDksIDc3LCA3MywgODgsIDEyOCwgNzcsIDczLCA4NCwgMTI4LCAKKyAgICA3NywgNzMsIDgzLCA4MiwgNjUsIDEyOCwgNzcsIDczLCA4MiwgNzMsIDY2LCA2NSwgNjUsIDgyLCA4NSwgMTI4LCA3NywgNzMsIAorICAgIDgyLCA3MywgMTI4LCA3NywgNzMsIDgyLCA2OSwgNjgsIDEyOCwgNzcsIDczLCA4MCwgMTI4LCA3NywgNzMsIDc4LCA4OSwgCisgICAgMTI4LCA3NywgNzMsIDc4LCA4NSwgODMsIDQ1LCA3OSwgODIsIDQ1LCA4MCwgNzYsIDg1LCAyMTEsIDc3LCA3MywgNzgsIDg1LCAKKyAgICA4MywgMTI4LCA3NywgNzMsIDc4LCA3MywgODMsIDg0LCA2OSwgODIsIDEyOCwgNzcsIDczLCA3OCwgNzMsIDc3LCA3MywgOTAsIAorICAgIDY5LCAxMjgsIDc3LCA3MywgNzgsIDczLCA3NywgNjUsIDEyOCwgNzcsIDczLCA3OCwgNzMsIDY4LCA3MywgODMsIDY3LCAKKyAgICAxMjgsIDc3LCA3MywgNzgsIDczLCA2NiwgODUsIDgzLCAxMjgsIDc3LCA3MywgNzcsIDY5LCAxMjgsIDc3LCA3MywgNzcsIAorICAgIDEyOCwgNzcsIDczLCA3NiwgNzYsIDczLCA3OSwgNzgsIDgzLCAxMjgsIDc3LCA3MywgNzYsIDc2LCA3MywgNzksIDc4LCAKKyAgICAyMTEsIDc3LCA3MywgNzYsIDc2LCA2OSwgODQsIDEyOCwgNzcsIDczLCA3NiwgNzYsIDE5NywgNzcsIDczLCA3NiwgMjA0LCAKKyAgICA3NywgNzMsIDc2LCA3NSwgMjE3LCA3NywgNzMsIDc2LCA3MywgODQsIDY1LCA4MiwgMjE3LCA3NywgNzMsIDc2LCAxMjgsIAorICAgIDc3LCA3MywgNzUsIDg1LCA4MiwgNzksIDc4LCAxMjgsIDc3LCA3MywgNzUsIDgyLCA3OSwgMjA2LCA3NywgNzMsIDc1LCA4MiwgCisgICAgNzMsIDEyOCwgNzcsIDczLCA3MywgNzgsIDEyOCwgNzcsIDczLCA3MywgMTI4LCA3NywgNzMsIDE5OSwgNzcsIDczLCA2OSwgCisgICAgODgsIDEyOCwgNzcsIDczLCA2OSwgODUsIDc3LCA0NSwgODQsIDczLCA3NSwgNjksIDg1LCA4NCwgMTI4LCA3NywgNzMsIDY5LCAKKyAgICA4NSwgNzcsIDQ1LCA4MywgODMsIDY1LCA3OCwgNzEsIDgzLCA3MywgNzksIDgzLCAxMjgsIDc3LCA3MywgNjksIDg1LCA3NywgCisgICAgNDUsIDgzLCA4MywgNjUsIDc4LCA3MSwgNzgsIDczLCA2OSwgODUsIDc4LCAxMjgsIDc3LCA3MywgNjksIDg1LCA3NywgNDUsIAorICAgIDgyLCA3MywgNjksIDg1LCA3NiwgMTI4LCA3NywgNzMsIDY5LCA4NSwgNzcsIDQ1LCA4MCwgNzMsIDY5LCA4NSwgODAsIDQ1LCAKKyAgICA4MywgNzMsIDc5LCA4MywgMTI4LCA3NywgNzMsIDY5LCA4NSwgNzcsIDQ1LCA4MCwgNzMsIDY5LCA4NSwgODAsIDEyOCwgNzcsIAorICAgIDczLCA2OSwgODUsIDc3LCA0NSwgODAsIDY1LCA3OCwgODMsIDczLCA3OSwgODMsIDEyOCwgNzcsIDczLCA2OSwgODUsIDc3LCAKKyAgICA0NSwgNzgsIDczLCA2OSwgODUsIDc4LCAxMjgsIDc3LCA3MywgNjksIDg1LCA3NywgNDUsIDY3LCA3MywgNjksIDg1LCA2NywgCisgICAgMTI4LCA3NywgNzMsIDY5LCA4NSwgNzcsIDQ1LCA2NywgNzIsIDczLCA2OSwgODUsIDY3LCA3MiwgMTI4LCA3NywgNzMsIDY5LCAKKyAgICA4NSwgMjA1LCA3NywgNzMsIDY5LCA4MCwgMTI4LCA3NywgNzMsIDY5LCA2OSwgMTI4LCA3NywgNzMsIDY5LCAxMjgsIDc3LCAKKyAgICA3MywgNjgsIDc2LCA3MywgNzgsIDE5NywgNzcsIDczLCA2OCwgNjgsIDc2LCA2OSwgNDUsIDg3LCA2OSwgNzYsIDgzLCAyMDAsIAorICAgIDc3LCA3MywgNjgsIDY4LCA3NiwgMTk3LCA3NywgNzMsIDY4LCA0NSwgNzYsIDY5LCA4NiwgNjksIDIwNCwgNzcsIDczLCAKICAgICAxOTYsIDc3LCA3MywgNjcsIDgyLCA3OSwgODMsIDY3LCA3OSwgODAsIDY5LCAxMjgsIDc3LCA3MywgNjcsIDgyLCA3OSwgODAsIAogICAgIDcyLCA3OSwgNzgsIDY5LCAxMjgsIDc3LCA3MywgNjcsIDgyLCAyMDcsIDc3LCA3MywgNjcsIDIxMCwgNzcsIDcyLCA5MCwgCiAgICAgMTI4LCA3NywgNzIsIDY1LCAxMjgsIDc3LCA3MiwgMTI4LCA3NywgNzEsIDg1LCA4OCwgMTI4LCA3NywgNzEsIDg1LCA4NCwgCkBAIC0yMDE4LDE2MSArMjExNSwyMTkgQEAKICAgICA3NywgNjksIDgyLCA3OSwgNzMsIDg0LCA3MywgMTk1LCA3NywgNjksIDgyLCA3NSwgNzIsIDY1LCAxMjgsIDc3LCA2OSwgODIsIAogICAgIDc1LCA3MiwgMTkzLCA3NywgNjksIDgyLCA3MywgNjgsIDczLCA2NSwgNzgsIDgzLCAxMjgsIDc3LCA2OSwgODIsIDczLCAKICAgICAxMjgsIDc3LCA2OSwgODIsIDcxLCA2OSwgMTI4LCA3NywgNjksIDgyLCA2NywgODUsIDgyLCA4OSwgMTI4LCA3NywgNjksIAotICAgIDgyLCA2NywgODUsIDgyLCAyMTcsIDc3LCA2OSwgNzgsIDY4LCA4NSwgODQsIDEyOCwgNzcsIDY5LCA3OCwgMTI4LCA3NywgCi0gICAgNjksIDc3LCA3OSwgMTI4LCA3NywgNjksIDc3LCA2NiwgNjksIDgyLCA4MywgNzIsIDczLCA4MCwgMTI4LCA3NywgNjksIDc3LCAKLSAgICA2NiwgNjksIDgyLCAxMjgsIDc3LCA2OSwgNzcsIDY2LCA2OSwgMjEwLCA3NywgNjksIDc3LCA0NSwgODEsIDc5LCA4MCwgNzIsIAotICAgIDEyOCwgNzcsIDY5LCA3NywgMTI4LCA3NywgNjksIDIwNSwgNzcsIDY5LCA3NiwgNzksIDY4LCA3MywgMTk1LCA3NywgNjksIAotICAgIDc2LCA3MywgNzUsIDEyOCwgNzcsIDY5LCA3MywgOTAsIDczLCAxMjgsIDc3LCA2OSwgNzEsIDY1LCA4NCwgNzksIDc4LCAKLSAgICAxMjgsIDc3LCA2OSwgNzEsIDY1LCA4MCwgNzIsIDc5LCA3OCwgNjksIDEyOCwgNzcsIDY5LCA3MSwgNjUsIDc2LCA3MywgCi0gICAgMTI4LCA3NywgNjksIDY5LCA4NCwgNzksIDgyLCA4NSwgMTI4LCA3NywgNjksIDY5LCA4NCwgMTI4LCA3NywgNjksIDY5LCAKLSAgICA3NywgODUsIDEyOCwgNzcsIDY5LCA2OSwgNzcsIDEyOCwgNzcsIDY5LCA2OSwgNjksIDY5LCAxMjgsIDc3LCA2OSwgNjgsIAorICAgIDgyLCA2NywgODUsIDgyLCAyMTcsIDc3LCA2OSwgNzgsIDc5LCA2OSwgMTI4LCA3NywgNjksIDc4LCA2OCwgODUsIDg0LCAKKyAgICAxMjgsIDc3LCA2OSwgNzgsIDEyOCwgNzcsIDY5LCA3NywgNzksIDEyOCwgNzcsIDY5LCA3NywgNjYsIDY5LCA4MiwgODMsIAorICAgIDcyLCA3MywgODAsIDEyOCwgNzcsIDY5LCA3NywgNjYsIDY5LCA4MiwgMTI4LCA3NywgNjksIDc3LCA2NiwgNjksIDIxMCwgCisgICAgNzcsIDY5LCA3NywgNDUsIDgxLCA3OSwgODAsIDcyLCAxMjgsIDc3LCA2OSwgNzcsIDEyOCwgNzcsIDY5LCAyMDUsIDc3LCAKKyAgICA2OSwgNzYsIDc5LCA2OCwgNzMsIDE5NSwgNzcsIDY5LCA3NiwgNzMsIDc1LCAxMjgsIDc3LCA2OSwgNzMsIDkwLCA3MywgCisgICAgMTI4LCA3NywgNjksIDcxLCA2NSwgODQsIDc5LCA3OCwgMTI4LCA3NywgNjksIDcxLCA2NSwgODAsIDcyLCA3OSwgNzgsIDY5LCAKKyAgICAxMjgsIDc3LCA2OSwgNzEsIDY1LCA3NiwgNzMsIDEyOCwgNzcsIDY5LCA2OSwgODQsIDc5LCA4MiwgODUsIDEyOCwgNzcsIAorICAgIDY5LCA2OSwgODQsIDY5LCAyMDEsIDc3LCA2OSwgNjksIDg0LCAxMjgsIDc3LCA2OSwgNjksIDc3LCA4NSwgMTI4LCA3NywgCisgICAgNjksIDY5LCA3NywgMTI4LCA3NywgNjksIDY5LCAyMDIsIDc3LCA2OSwgNjksIDY5LCA2OSwgMTI4LCA3NywgNjksIDY4LCAKICAgICA3MywgODUsIDc3LCAxMjgsIDc3LCA2OSwgNjgsIDczLCA4NSwgMjA1LCA3NywgNjksIDY4LCA3MywgNjcsIDczLCA3OCwgNjksIAotICAgIDEyOCwgNzcsIDY5LCA2OCwgNzMsIDY3LCA2NSwgMjA0LCA3NywgNjksIDY1LCA4NCwgMTI4LCA3NywgNjksIDY1LCAyMTIsIAotICAgIDc3LCA2OSwgNjUsIDgzLCA4NSwgODIsIDY5LCAxOTYsIDc3LCA2OSwgNjUsIDgzLCA4NSwgODIsIDY5LCAxMjgsIDc3LCA2OSwgCi0gICAgNjUsIDgzLCA4NSwgODIsIDE5NywgNzcsIDY4LCA4NSwgMjA2LCA3NywgMTk2LCA3NywgNjcsIDcyLCAyMTMsIDc3LCA2NywgCi0gICAgNzIsIDY1LCAyMDYsIDc3LCAxOTUsIDc3LCA2NiwgODUsIDc5LCA4MSwgMTI4LCA3NywgNjYsIDg1LCA3OSwgMTI4LCA3NywgCi0gICAgNjYsIDg1LCA2OSwgMTI4LCA3NywgNjYsIDg1LCA2NSwgNjksIDc3LCAxMjgsIDc3LCA2NiwgODUsIDY1LCA2OSwgMTI4LCAKLSAgICA3NywgNjYsIDc5LCA3OSwgMTI4LCA3NywgNjYsIDc5LCAxMjgsIDc3LCA2NiwgNzMsIDg0LCAxMjgsIDc3LCA2NiwgNzMsIAotICAgIDIxMiwgNzcsIDY2LCA3MywgODIsIDczLCA2OSwgNjksIDc4LCAxMjgsIDc3LCA2NiwgNzMsIDEyOCwgNzcsIDY2LCA2OSwgCi0gICAgODUsIDg4LCAxMjgsIDc3LCA2NiwgNjksIDg1LCA4MiwgNzMsIDEyOCwgNzcsIDY2LCA2OSwgODUsIDc3LCAxMjgsIDc3LCAKLSAgICA2NiwgNjksIDgyLCA2NSwgNjksIDEyOCwgNzcsIDY2LCA2OSwgNzgsIDEyOCwgNzcsIDY2LCA2OSwgNjksIDc1LCA2OSwgNjksIAotICAgIDg0LCAxMjgsIDc3LCA2NiwgNjksIDY5LCAxMjgsIDc3LCA2NiwgNjksIDEyOCwgNzcsIDY2LCA2NSwgODEsIDEyOCwgNzcsIAotICAgIDY2LCA2NSwgNzgsIDg5LCA3MywgMTI4LCA3NywgNjYsIDY1LCA2NSwgODIsIDY1LCA2OSwgMTI4LCA3NywgNjYsIDY1LCA2NSwgCi0gICAgNzUsIDY5LCA4NCwgMTI4LCA3NywgNjYsIDY1LCA2NSwgMTI4LCA3NywgNjYsIDY1LCAxOTMsIDc3LCA2NiwgMTkzLCA3NywgCi0gICAgNjYsIDUyLCAxMjgsIDc3LCA2NiwgNTEsIDEyOCwgNzcsIDY2LCA1MCwgMTI4LCA3NywgNjYsIDEyOCwgNzcsIDE5NCwgNzcsIAotICAgIDY1LCA4OSwgNjUsIDc4LCA3OCwgNjUsIDEyOCwgNzcsIDY1LCA4OSwgMTI4LCA3NywgNjUsIDg4LCA3MywgNzcsIDY1LCAKLSAgICAxMjgsIDc3LCA2NSwgODgsIDEyOCwgNzcsIDY1LCA4NSwgMTI4LCA3NywgNjUsIDg0LCA4NCwgNzksIDY3LCA3NSwgMTI4LCAKLSAgICA3NywgNjUsIDg0LCA4MiwgNzMsIDg4LCAxMjgsIDc3LCA2NSwgODQsIDY5LCA4MiwgNzMsIDY1LCA3NiwgODMsIDEyOCwgNzcsIAotICAgIDY1LCA4NCwgMTI4LCA3NywgNjUsIDgzLCAyMTMsIDc3LCA2NSwgODMsIDgzLCA3MywgNzgsIDcxLCAxMjgsIDc3LCA2NSwgCi0gICAgODMsIDgzLCA2NSwgNzEsIDY5LCAxMjgsIDc3LCA2NSwgODMsIDc5LCA4MiwgMTkzLCA3NywgNjUsIDgzLCA3NSwgMTI4LCAKLSAgICA3NywgNjUsIDgzLCA3MiwgNzAsIDY1LCA2NSwgODQsIDEyOCwgNzcsIDY1LCA4MywgNzIsIDUwLCAxMjgsIDc3LCA2NSwgODMsIAotICAgIDY3LCA4NSwgNzYsIDczLCA3OCwgMTk3LCA3NywgNjUsIDgyLCA4OSwgMTI4LCA3NywgNjUsIDgyLCA4NSwgNzUsIDg1LCAKLSAgICAxMjgsIDc3LCA2NSwgODIsIDg0LCA4OSwgODIsIDczLCAxOTMsIDc3LCA2NSwgODIsIDgyLCA4OSwgNzMsIDc4LCAxOTksIAotICAgIDc3LCA2NSwgODIsIDgyLCA3MywgNjUsIDcxLCAxOTcsIDc3LCA2NSwgODIsIDc1LCA2OSwgODIsIDEyOCwgNzcsIDY1LCA4MiwgCi0gICAgNzUsIDQ1LCA1MiwgMTI4LCA3NywgNjUsIDgyLCA3NSwgNDUsIDUxLCAxMjgsIDc3LCA2NSwgODIsIDc1LCA0NSwgNTAsIAotICAgIDEyOCwgNzcsIDY1LCA4MiwgNzUsIDQ1LCA0OSwgMTI4LCA3NywgNjUsIDgyLCA2OSwgMTI4LCA3NywgNjUsIDgyLCA2NywgCi0gICAgNzIsIDEyOCwgNzcsIDY1LCA4MiwgNjcsIDY1LCA4NCwgNzksIDQ1LCA4MywgODQsIDY1LCA2NywgNjcsIDY1LCA4NCwgNzksIAotICAgIDEyOCwgNzcsIDY1LCA4MiwgNjcsIDY1LCA4NCwgNzksIDEyOCwgNzcsIDY1LCA4MiwgNjcsIDY1LCA4MywgNzMsIDg0LCA2OSwgCi0gICAgMTI4LCA3NywgNjUsIDgyLCA2NiwgODUsIDg0LCA2NSwgMTI4LCA3NywgNjUsIDgyLCA2NiwgODUsIDg0LCAxOTMsIDc3LCAKLSAgICA2NSwgODIsIDEyOCwgNzcsIDY1LCA4MSwgNjUsIDcwLCAxMjgsIDc3LCA2NSwgODEsIDEyOCwgNzcsIDY1LCA4MCwgNzYsIAotICAgIDE5NywgNzcsIDY1LCA4MCwgNzMsIDgxLCAxMjgsIDc3LCA2NSwgMjA4LCA3NywgNjUsIDc5LCAxMjgsIDc3LCA2NSwgNzgsIAotICAgIDgzLCA4OSwgNzksIDc4LCAxMjgsIDc3LCA2NSwgNzgsIDgzLCA4NSwgNjUsIDY5LCAxMjgsIDc3LCA2NSwgNzgsIDc4LCA2NSwgCi0gICAgMjE4LCA3NywgNjUsIDc4LCA3OCwgNjUsIDEyOCwgNzcsIDY1LCA3OCwgNzEsIDY1LCA3NiwgNjUsIDc3LCAxMjgsIDc3LCAKLSAgICA2NSwgNzgsIDY4LCA2NSwgNzMsIDc2LCA3MywgNzgsIDE5OSwgNzcsIDY1LCA3OCwgNjgsIDY1LCA3MywgMTk1LCA3NywgNjUsIAotICAgIDc4LCA2NywgNzIsIDIxMywgNzcsIDY1LCA3OCwgNjUsIDY3LCA3NiwgNjksIDgzLCAxMjgsIDc3LCA2NSwgNzYsIDg0LCA2OSwgCi0gICAgODMsIDE5NywgNzcsIDY1LCA3NiwgNjksIDY5LCA4MiwgNzMsIDEyOCwgNzcsIDY1LCA3NiwgNjksIDEyOCwgNzcsIDY1LCAKLSAgICA3NiwgMTk3LCA3NywgNjUsIDc2LCA2NSwgNzUsIDc5LCAyMDYsIDc3LCA2NSwgNzUsIDgzLCA4NSwgODIsIDY1LCAxMjgsIAotICAgIDc3LCA2NSwgNzUsIDgzLCA4NSwgODIsIDE5MywgNzcsIDY1LCA3MywgOTAsIDY5LCAxMjgsIDc3LCA2NSwgNzMsIDg5LCA2NSwgCi0gICAgNzcsIDc5LCA3NSwgMTI4LCA3NywgNjUsIDczLCA4NCwgNjUsIDczLCA3NSwgNzIsIDg1LCAxMjgsIDc3LCA2NSwgNzMsIDgyLCAKLSAgICA4NSwgMTI4LCA3NywgNjUsIDczLCA3NywgODUsIDY1LCA3OCwgMTI4LCA3NywgNjUsIDczLCA3NywgNjUsIDc2LCA2NSwgNzMsIAorICAgIDEyOCwgNzcsIDY5LCA2OCwgNzMsIDY3LCA2NSwgMjA0LCA3NywgNjksIDY4LCA2NSwgNzYsIDEyOCwgNzcsIDY5LCA2NSwgCisgICAgODQsIDEyOCwgNzcsIDY5LCA2NSwgMjEyLCA3NywgNjksIDY1LCA4MywgODUsIDgyLCA2OSwgMTk2LCA3NywgNjksIDY1LCAKKyAgICA4MywgODUsIDgyLCA2OSwgMTI4LCA3NywgNjksIDY1LCA4MywgODUsIDgyLCAxOTcsIDc3LCA2OCwgODUsIDIwNiwgNzcsIAorICAgIDE5NiwgNzcsIDY3LCA3MiwgMjEzLCA3NywgNjcsIDcyLCA2NSwgMjA2LCA3NywgMTk1LCA3NywgNjYsIDg1LCA4NSwgMTI4LCAKKyAgICA3NywgNjYsIDg1LCA3OSwgODEsIDEyOCwgNzcsIDY2LCA4NSwgNzksIDEyOCwgNzcsIDY2LCA4NSwgNjksIDEyOCwgNzcsIAorICAgIDY2LCA4NSwgNjUsIDY5LCA3NywgMTI4LCA3NywgNjYsIDg1LCA2NSwgNjksIDEyOCwgNzcsIDY2LCA3OSwgNzksIDEyOCwgCisgICAgNzcsIDY2LCA3OSwgMTI4LCA3NywgNjYsIDczLCA4NCwgMTI4LCA3NywgNjYsIDczLCAyMTIsIDc3LCA2NiwgNzMsIDgyLCAKKyAgICA3MywgNjksIDY5LCA3OCwgMTI4LCA3NywgNjYsIDczLCAxMjgsIDc3LCA2NiwgNjksIDg1LCA4OCwgMTI4LCA3NywgNjYsIAorICAgIDY5LCA4NSwgODIsIDczLCAxMjgsIDc3LCA2NiwgNjksIDg1LCA3NywgMTI4LCA3NywgNjYsIDY5LCA4MiwgNjUsIDY5LCAKKyAgICAxMjgsIDc3LCA2NiwgNjksIDc4LCAxMjgsIDc3LCA2NiwgNjksIDY5LCA3NSwgNjksIDY5LCA4NCwgMTI4LCA3NywgNjYsIAorICAgIDY5LCA2OSwgMTI4LCA3NywgNjYsIDY5LCAxMjgsIDc3LCA2NiwgNjUsIDgxLCAxMjgsIDc3LCA2NiwgNjUsIDc4LCA4OSwgCisgICAgNzMsIDEyOCwgNzcsIDY2LCA2NSwgNjUsIDgyLCA2NSwgNjksIDEyOCwgNzcsIDY2LCA2NSwgNjUsIDc1LCA2OSwgODQsIAorICAgIDEyOCwgNzcsIDY2LCA2NSwgNjUsIDEyOCwgNzcsIDY2LCA2NSwgMTkzLCA3NywgNjYsIDE5MywgNzcsIDY2LCA1MiwgMTI4LCAKKyAgICA3NywgNjYsIDUxLCAxMjgsIDc3LCA2NiwgNTAsIDEyOCwgNzcsIDY2LCAxMjgsIDc3LCAxOTQsIDc3LCA2NSwgODksIDY5LCAKKyAgICAyMDMsIDc3LCA2NSwgODksIDY1LCA3OCwgNzgsIDY1LCAxMjgsIDc3LCA2NSwgODksIDEyOCwgNzcsIDY1LCA4OCwgNzMsIAorICAgIDc3LCA3MywgOTAsIDY5LCAxMjgsIDc3LCA2NSwgODgsIDczLCA3NywgNjUsIDEyOCwgNzcsIDY1LCA4OCwgMTI4LCA3NywgCisgICAgNjUsIDg1LCAxMjgsIDc3LCA2NSwgODQsIDg0LCA3OSwgNjcsIDc1LCAxMjgsIDc3LCA2NSwgODQsIDgyLCA3MywgODgsIAorICAgIDEyOCwgNzcsIDY1LCA4NCwgNjksIDgyLCA3MywgNjUsIDc2LCA4MywgMTI4LCA3NywgNjUsIDg0LCAxMjgsIDc3LCA2NSwgCisgICAgODMsIDIxMywgNzcsIDY1LCA4MywgODMsIDczLCA3OCwgNzEsIDEyOCwgNzcsIDY1LCA4MywgODMsIDY1LCA3MSwgNjksIAorICAgIDEyOCwgNzcsIDY1LCA4MywgNzksIDgyLCAxOTMsIDc3LCA2NSwgODMsIDc1LCAxMjgsIDc3LCA2NSwgODMsIDcyLCA3MCwgCisgICAgNjUsIDY1LCA4NCwgMTI4LCA3NywgNjUsIDgzLCA3MiwgNTAsIDEyOCwgNzcsIDY1LCA4MywgNjcsIDg1LCA3NiwgNzMsIDc4LCAKKyAgICAxOTcsIDc3LCA2NSwgODIsIDg5LCAxMjgsIDc3LCA2NSwgODIsIDg3LCA2NSwgODIsIDIwMSwgNzcsIDY1LCA4MiwgODUsIAorICAgIDc1LCA4NSwgMTI4LCA3NywgNjUsIDgyLCA4NCwgODksIDgyLCA3MywgMTkzLCA3NywgNjUsIDgyLCA4MiwgODksIDczLCA3OCwgCisgICAgMTk5LCA3NywgNjUsIDgyLCA4MiwgNzMsIDY1LCA3MSwgMTk3LCA3NywgNjUsIDgyLCA3NSwgMjExLCA3NywgNjUsIDgyLCAKKyAgICA3NSwgNjksIDgyLCAxMjgsIDc3LCA2NSwgODIsIDc1LCA0NSwgNTIsIDEyOCwgNzcsIDY1LCA4MiwgNzUsIDQ1LCA1MSwgCisgICAgMTI4LCA3NywgNjUsIDgyLCA3NSwgNDUsIDUwLCAxMjgsIDc3LCA2NSwgODIsIDc1LCA0NSwgNDksIDEyOCwgNzcsIDY1LCAKKyAgICA4MiwgNjksIDEyOCwgNzcsIDY1LCA4MiwgNjcsIDcyLCAxMjgsIDc3LCA2NSwgODIsIDY3LCA2NSwgODQsIDc5LCA0NSwgODMsIAorICAgIDg0LCA2NSwgNjcsIDY3LCA2NSwgODQsIDc5LCAxMjgsIDc3LCA2NSwgODIsIDY3LCA2NSwgODQsIDc5LCAxMjgsIDc3LCA2NSwgCisgICAgODIsIDY3LCA2NSwgODMsIDczLCA4NCwgNjksIDEyOCwgNzcsIDY1LCA4MiwgNjYsIDg1LCA4NCwgNjUsIDEyOCwgNzcsIDY1LCAKKyAgICA4MiwgNjYsIDg1LCA4NCwgMTkzLCA3NywgNjUsIDgyLCAxMjgsIDc3LCA2NSwgODEsIDY1LCA3MCwgMTI4LCA3NywgNjUsIAorICAgIDgxLCAxMjgsIDc3LCA2NSwgODAsIDc2LCAxOTcsIDc3LCA2NSwgODAsIDczLCA4MSwgMTI4LCA3NywgNjUsIDIwOCwgNzcsIAorICAgIDY1LCA3OSwgMTI4LCA3NywgNjUsIDc4LCA4NCwgNjksIDc2LCA4MCwgNzMsIDY5LCA2NywgMTk3LCA3NywgNjUsIDc4LCA4MywgCisgICAgODksIDc5LCA3OCwgMTI4LCA3NywgNjUsIDc4LCA4MywgODUsIDY1LCA2OSwgMTI4LCA3NywgNjUsIDc4LCA3OCwgNjUsIAorICAgIDIxOCwgNzcsIDY1LCA3OCwgNzgsIDY1LCAxMjgsIDc3LCA2NSwgNzgsIDczLCA2NywgNzIsIDY1LCA2OSwgNjUsIDIwNiwgCisgICAgNzcsIDY1LCA3OCwgNzEsIDY1LCA3NiwgNjUsIDc3LCAxMjgsIDc3LCA2NSwgNzgsIDY4LCA2NSwgNzMsIDc2LCA3MywgNzgsIAorICAgIDE5OSwgNzcsIDY1LCA3OCwgNjgsIDY1LCA3MywgMTk1LCA3NywgNjUsIDc4LCA2NywgNzIsIDIxMywgNzcsIDY1LCA3OCwgCisgICAgNjUsIDIxMiwgNzcsIDY1LCA3OCwgNjUsIDY3LCA3NiwgNjksIDgzLCAxMjgsIDc3LCA2NSwgNzYsIDg0LCA2OSwgODMsIAorICAgIDE5NywgNzcsIDY1LCA3NiwgNjksIDY5LCA4MiwgNzMsIDEyOCwgNzcsIDY1LCA3NiwgNjksIDEyOCwgNzcsIDY1LCA3NiwgCisgICAgMTk3LCA3NywgNjUsIDc2LCA2NSwgNzUsIDc5LCAyMDYsIDc3LCA2NSwgNzUsIDgzLCA4NSwgODIsIDY1LCAxMjgsIDc3LCAKKyAgICA2NSwgNzUsIDgzLCA4NSwgODIsIDE5MywgNzcsIDY1LCA3MywgOTAsIDY5LCAxMjgsIDc3LCA2NSwgNzMsIDg5LCA2NSwgNzcsIAorICAgIDc5LCA3NSwgMTI4LCA3NywgNjUsIDczLCA4NCwgNjUsIDczLCA3NSwgNzIsIDg1LCAxMjgsIDc3LCA2NSwgNzMsIDgyLCA4NSwgCisgICAgMTI4LCA3NywgNjUsIDczLCA3NywgODUsIDY1LCA3OCwgMTI4LCA3NywgNjUsIDczLCA3NywgNjUsIDc2LCA2NSwgNzMsIAogICAgIDEyOCwgNzcsIDY1LCA3MywgNzYsIDY2LCA3OSwgMjE2LCA3NywgNjUsIDczLCA3NSwgODUsIDgyLCA3OSwgMTI4LCA3NywgCiAgICAgNjUsIDczLCA2OCwgNjksIDc4LCAxMjgsIDc3LCA2NSwgNzMsIDEyOCwgNzcsIDY1LCA3MiwgNzQsIDc5LCA3OCwgMTk5LCAKICAgICA3NywgNjUsIDcyLCA3MiwgNjUsIDEyOCwgNzcsIDY1LCA3MiwgNjUsIDgwLCA4MiwgNjUsIDc4LCA2NSwgMTI4LCA3NywgNjUsIAotICAgIDcyLCA2NSwgODAsIDY1LCA3NSwgNzIsIDEyOCwgNzcsIDY1LCA3MiwgNjUsIDY1LCA4MCwgODIsIDY1LCA2NSwgNzgsIDE5MywgCi0gICAgNzcsIDY1LCA3MiwgMTI4LCA3NywgNjUsIDcxLCA3OCwgNzMsIDcwLCA4OSwgNzMsIDc4LCAxOTksIDc3LCA2NSwgNjksIDgzLCAKLSAgICA3MywgMTI4LCA3NywgNjUsIDY5LCA3OCwgODksIDczLCAxMjgsIDc3LCA2NSwgNjksIDc4LCA3NCwgNjksIDg0LCAxMjgsIAotICAgIDc3LCA2NSwgNjksIDc3LCA4NiwgNjksIDg1LCA4OCwgMTI4LCA3NywgNjUsIDY5LCA3NywgNzUsIDgwLCA2OSwgNzgsIDEyOCwgCi0gICAgNzcsIDY1LCA2OSwgNzcsIDcxLCA2NiwgNzMsIDY5LCA2OSwgMTI4LCA3NywgNjUsIDY5LCA3NywgNjYsIDcxLCA2NiwgNzMsIAotICAgIDY5LCA2OSwgMTI4LCA3NywgNjUsIDY5LCA3NywgNjYsIDY1LCAxMjgsIDc3LCA2NSwgNjksIDc3LCAxMjgsIDc3LCA2NSwgCi0gICAgNjksIDc2LCA2OSwgNjksIDEyOCwgNzcsIDY1LCA2OSwgNzUsIDY5LCA4NSwgODAsIDEyOCwgNzcsIDY1LCA2OCwgODksIDY1LCAKLSAgICAxMjgsIDc3LCA2NSwgNjgsIDg1LCAxMjgsIDc3LCA2NSwgNjgsIDY4LCA2NSwgMjAwLCA3NywgNjUsIDY4LCA2OCwgNjUsIAotICAgIDEyOCwgNzcsIDY1LCA2OCwgNjgsIDE5MywgNzcsIDY1LCA2NywgODIsIDc5LCA3OCwgNDUsIDcxLCA4MiwgNjUsIDg2LCA2OSwgCi0gICAgMTI4LCA3NywgNjUsIDY3LCA4MiwgNzksIDc4LCA0NSwgNjYsIDgyLCA2OSwgODYsIDY5LCAxMjgsIDc3LCA2NSwgNjcsIDgyLCAKLSAgICA3OSwgNzgsIDQ1LCA2NSwgNjcsIDg1LCA4NCwgNjksIDEyOCwgNzcsIDY1LCA2NywgODIsIDc5LCA3OCwgMTI4LCA3NywgNjUsIAotICAgIDY3LCA4MiwgNzksIDIwNiwgNzcsIDY1LCA2NywgNzIsIDczLCA3OCwgNjksIDEyOCwgNzcsIDY1LCA2NSwgODksIDg5LCA2NSwgCi0gICAgNjUsIDEyOCwgNzcsIDY1LCA2NSwgNzMsIDEyOCwgNzcsIDY1LCA2NSwgMTI4LCA3NywgNjUsIDUwLCAxMjgsIDc3LCA0OCwgCi0gICAgNTIsIDUyLCAxMjgsIDc3LCA0OCwgNTIsIDUxLCAxMjgsIDc3LCA0OCwgNTIsIDUwLCAxMjgsIDc3LCA0OCwgNTIsIDQ5LCAKLSAgICAxMjgsIDc3LCA0OCwgNTIsIDQ4LCA2NSwgMTI4LCA3NywgNDgsIDUyLCA0OCwgMTI4LCA3NywgNDgsIDUxLCA1NywgMTI4LCAKLSAgICA3NywgNDgsIDUxLCA1NiwgMTI4LCA3NywgNDgsIDUxLCA1NSwgMTI4LCA3NywgNDgsIDUxLCA1NCwgMTI4LCA3NywgNDgsIAotICAgIDUxLCA1MywgMTI4LCA3NywgNDgsIDUxLCA1MiwgMTI4LCA3NywgNDgsIDUxLCA1MSwgNjYsIDEyOCwgNzcsIDQ4LCA1MSwgCi0gICAgNTEsIDY1LCAxMjgsIDc3LCA0OCwgNTEsIDUxLCAxMjgsIDc3LCA0OCwgNTEsIDUwLCAxMjgsIDc3LCA0OCwgNTEsIDQ5LCAKLSAgICA2NSwgMTI4LCA3NywgNDgsIDUxLCA0OSwgMTI4LCA3NywgNDgsIDUxLCA0OCwgMTI4LCA3NywgNDgsIDUwLCA1NywgMTI4LCAKLSAgICA3NywgNDgsIDUwLCA1NiwgNjUsIDEyOCwgNzcsIDQ4LCA1MCwgNTYsIDEyOCwgNzcsIDQ4LCA1MCwgNTUsIDEyOCwgNzcsIAotICAgIDQ4LCA1MCwgNTQsIDEyOCwgNzcsIDQ4LCA1MCwgNTMsIDEyOCwgNzcsIDQ4LCA1MCwgNTIsIDY1LCAxMjgsIDc3LCA0OCwgCi0gICAgNTAsIDUyLCAxMjgsIDc3LCA0OCwgNTAsIDUxLCAxMjgsIDc3LCA0OCwgNTAsIDUwLCA2NSwgMTI4LCA3NywgNDgsIDUwLCAKLSAgICA1MCwgMTI4LCA3NywgNDgsIDUwLCA0OSwgMTI4LCA3NywgNDgsIDUwLCA0OCwgMTI4LCA3NywgNDgsIDQ5LCA1NywgMTI4LCAKLSAgICA3NywgNDgsIDQ5LCA1NiwgMTI4LCA3NywgNDgsIDQ5LCA1NSwgNjUsIDEyOCwgNzcsIDQ4LCA0OSwgNTUsIDEyOCwgNzcsIAotICAgIDQ4LCA0OSwgNTQsIDY1LCAxMjgsIDc3LCA0OCwgNDksIDU0LCAxMjgsIDc3LCA0OCwgNDksIDUzLCA2NSwgMTI4LCA3NywgCi0gICAgNDgsIDQ5LCA1MywgMTI4LCA3NywgNDgsIDQ5LCA1MiwgMTI4LCA3NywgNDgsIDQ5LCA1MSwgMTI4LCA3NywgNDgsIDQ5LCAKKyAgICA3MiwgNjUsIDgwLCA2NSwgNzUsIDcyLCAxMjgsIDc3LCA2NSwgNzIsIDY1LCA3NCwgNjUsIDc4LCAyMDEsIDc3LCA2NSwgNzIsIAorICAgIDY1LCA2NSwgODAsIDgyLCA2NSwgNjUsIDc4LCAxOTMsIDc3LCA2NSwgNzIsIDEyOCwgNzcsIDY1LCA3MSwgNzgsIDczLCA3MCwgCisgICAgODksIDczLCA3OCwgMTk5LCA3NywgNjUsIDY5LCA4MywgNzMsIDEyOCwgNzcsIDY1LCA2OSwgNzgsIDg5LCA3MywgMTI4LCAKKyAgICA3NywgNjUsIDY5LCA3OCwgNzQsIDY5LCA4NCwgMTI4LCA3NywgNjUsIDY5LCA3NywgODYsIDY5LCA4NSwgODgsIDEyOCwgNzcsIAorICAgIDY1LCA2OSwgNzcsIDc1LCA4MCwgNjksIDc4LCAxMjgsIDc3LCA2NSwgNjksIDc3LCA3MSwgNjYsIDczLCA2OSwgNjksIDEyOCwgCisgICAgNzcsIDY1LCA2OSwgNzcsIDY2LCA3MSwgNjYsIDczLCA2OSwgNjksIDEyOCwgNzcsIDY1LCA2OSwgNzcsIDY2LCA2NSwgMTI4LCAKKyAgICA3NywgNjUsIDY5LCA3NywgMTI4LCA3NywgNjUsIDY5LCA3NiwgNjksIDY5LCAxMjgsIDc3LCA2NSwgNjksIDc1LCA2OSwgODUsIAorICAgIDgwLCAxMjgsIDc3LCA2NSwgNjgsIDg5LCA2NSwgMTI4LCA3NywgNjUsIDY4LCA4NSwgMTI4LCA3NywgNjUsIDY4LCA2OCwgCisgICAgNjUsIDIwMCwgNzcsIDY1LCA2OCwgNjgsIDY1LCAxMjgsIDc3LCA2NSwgNjgsIDY4LCAxOTMsIDc3LCA2NSwgNjcsIDgyLCAKKyAgICA3OSwgNzgsIDQ1LCA3MSwgODIsIDY1LCA4NiwgNjksIDEyOCwgNzcsIDY1LCA2NywgODIsIDc5LCA3OCwgNDUsIDY2LCA4MiwgCisgICAgNjksIDg2LCA2OSwgMTI4LCA3NywgNjUsIDY3LCA4MiwgNzksIDc4LCA0NSwgNjUsIDY3LCA4NSwgODQsIDY5LCAxMjgsIDc3LCAKKyAgICA2NSwgNjcsIDgyLCA3OSwgNzgsIDEyOCwgNzcsIDY1LCA2NywgODIsIDc5LCAyMDYsIDc3LCA2NSwgNjcsIDcyLCA3MywgNzgsIAorICAgIDY5LCAxMjgsIDc3LCA2NSwgNjUsIDg5LCA4OSwgNjUsIDY1LCAxMjgsIDc3LCA2NSwgNjUsIDczLCAxMjgsIDc3LCA2NSwgCisgICAgNjUsIDEyOCwgNzcsIDY1LCA1MCwgMTI4LCA3NywgNDksIDU3LCAxODMsIDc3LCA0OSwgNTcsIDE4MiwgNzcsIDQ5LCA1NywgCisgICAgMTgxLCA3NywgNDksIDU3LCAxODAsIDc3LCA0OSwgNTcsIDE3OSwgNzcsIDQ5LCA1NywgMTc4LCA3NywgNDksIDU3LCAxNzcsIAorICAgIDc3LCA0OSwgNTcsIDE3NiwgNzcsIDQ5LCA1NiwgMTg1LCA3NywgNDksIDU2LCAxODQsIDc3LCA0OSwgNTYsIDE4MywgNzcsIAorICAgIDQ5LCA1NiwgMTgyLCA3NywgNDksIDU2LCAxODEsIDc3LCA0OSwgNTYsIDE4MCwgNzcsIDQ5LCA1NiwgMTc5LCA3NywgNDksIAorICAgIDU2LCAxNzgsIDc3LCA0OSwgNTYsIDE3NywgNzcsIDQ5LCA1NiwgMTc2LCA3NywgNDksIDU1LCAxODUsIDc3LCA0OSwgNTUsIAorICAgIDE4NCwgNzcsIDQ5LCA1NSwgMTgzLCA3NywgNDksIDU1LCAxODIsIDc3LCA0OSwgNTUsIDE4MSwgNzcsIDQ5LCA1NSwgMTgwLCAKKyAgICA3NywgNDksIDU1LCAxNzksIDc3LCA0OSwgNTUsIDE3OCwgNzcsIDQ5LCA1NSwgMTc3LCA3NywgNDksIDU1LCAxNzYsIDc3LCAKKyAgICA0OSwgNTQsIDE4NSwgNzcsIDQ5LCA1NCwgMTg0LCA3NywgNDksIDU0LCAxODMsIDc3LCA0OSwgNTQsIDE4MiwgNzcsIDQ5LCAKKyAgICA1NCwgMTgxLCA3NywgNDksIDU0LCAxODAsIDc3LCA0OSwgNTQsIDE3OSwgNzcsIDQ5LCA1NCwgMTc4LCA3NywgNDksIDU0LCAKKyAgICAxNzcsIDc3LCA0OSwgNTQsIDE3NiwgNzcsIDQ5LCA1MywgMTg1LCA3NywgNDksIDUzLCAxODQsIDc3LCA0OSwgNTMsIDE4MywgCisgICAgNzcsIDQ5LCA1MywgMTgyLCA3NywgNDksIDUzLCAxODEsIDc3LCA0OSwgNTMsIDE4MCwgNzcsIDQ5LCA1MywgMTc5LCA3NywgCisgICAgNDksIDUzLCAxNzgsIDc3LCA0OSwgNTMsIDE3NywgNzcsIDQ5LCA1MywgMTc2LCA3NywgNDksIDUyLCAxODUsIDc3LCA0OSwgCisgICAgNTIsIDE4NCwgNzcsIDQ5LCA1MiwgMTgzLCA3NywgNDksIDUyLCAxODIsIDc3LCA0OSwgNTIsIDE4MSwgNzcsIDQ5LCA1MiwgCisgICAgMTgwLCA3NywgNDksIDUyLCAxNzksIDc3LCA0OSwgNTIsIDE3OCwgNzcsIDQ5LCA1MiwgMTc3LCA3NywgNDksIDUyLCAxNzYsIAorICAgIDc3LCA0OSwgNTEsIDE4NSwgNzcsIDQ5LCA1MSwgMTg0LCA3NywgNDksIDUxLCAxODMsIDc3LCA0OSwgNTEsIDE4MiwgNzcsIAorICAgIDQ5LCA1MSwgMTgxLCA3NywgNDksIDUxLCAxODAsIDc3LCA0OSwgNTEsIDE3OSwgNzcsIDQ5LCA1MSwgMTc4LCA3NywgNDksIAorICAgIDUxLCAxNzcsIDc3LCA0OSwgNTEsIDE3NiwgNzcsIDQ5LCA1MCwgMTg1LCA3NywgNDksIDUwLCAxODQsIDc3LCA0OSwgNTAsIAorICAgIDE4MywgNzcsIDQ5LCA1MCwgMTgyLCA3NywgNDksIDUwLCAxODEsIDc3LCA0OSwgNTAsIDE4MCwgNzcsIDQ5LCA1MCwgMTc5LCAKKyAgICA3NywgNDksIDUwLCAxNzgsIDc3LCA0OSwgNTAsIDE3NywgNzcsIDQ5LCA1MCwgMTc2LCA3NywgNDksIDQ5LCAxODUsIDc3LCAKKyAgICA0OSwgNDksIDE4NCwgNzcsIDQ5LCA0OSwgMTgzLCA3NywgNDksIDQ5LCAxODIsIDc3LCA0OSwgNDksIDE4MSwgNzcsIDQ5LCAKKyAgICA0OSwgMTgwLCA3NywgNDksIDQ5LCAxNzksIDc3LCA0OSwgNDksIDE3OCwgNzcsIDQ5LCA0OSwgMTc3LCA3NywgNDksIDQ5LCAKKyAgICAxNzYsIDc3LCA0OSwgNDgsIDE4NSwgNzcsIDQ5LCA0OCwgMTg0LCA3NywgNDksIDQ4LCAxODMsIDc3LCA0OSwgNDgsIDE4MiwgCisgICAgNzcsIDQ5LCA0OCwgMTgxLCA3NywgNDksIDQ4LCAxODAsIDc3LCA0OSwgNDgsIDE3OSwgNzcsIDQ5LCA0OCwgMTc4LCA3NywgCisgICAgNDksIDQ4LCAxNzcsIDc3LCA0OSwgNDgsIDE3NiwgNzcsIDQ4LCA1NywgMTg1LCA3NywgNDgsIDU3LCAxODQsIDc3LCA0OCwgCisgICAgNTcsIDE4MywgNzcsIDQ4LCA1NywgMTgyLCA3NywgNDgsIDU3LCAxODEsIDc3LCA0OCwgNTcsIDE4MCwgNzcsIDQ4LCA1NywgCisgICAgMTc5LCA3NywgNDgsIDU3LCAxNzgsIDc3LCA0OCwgNTcsIDE3NywgNzcsIDQ4LCA1NywgMTc2LCA3NywgNDgsIDU2LCAxODUsIAorICAgIDc3LCA0OCwgNTYsIDE4NCwgNzcsIDQ4LCA1NiwgMTgzLCA3NywgNDgsIDU2LCAxODIsIDc3LCA0OCwgNTYsIDE4MSwgNzcsIAorICAgIDQ4LCA1NiwgMTgwLCA3NywgNDgsIDU2LCAxNzksIDc3LCA0OCwgNTYsIDE3OCwgNzcsIDQ4LCA1NiwgMTc3LCA3NywgNDgsIAorICAgIDU2LCAxNzYsIDc3LCA0OCwgNTUsIDE4NSwgNzcsIDQ4LCA1NSwgMTg0LCA3NywgNDgsIDU1LCAxODMsIDc3LCA0OCwgNTUsIAorICAgIDE4MiwgNzcsIDQ4LCA1NSwgMTgxLCA3NywgNDgsIDU1LCAxODAsIDc3LCA0OCwgNTUsIDE3OSwgNzcsIDQ4LCA1NSwgMTc4LCAKKyAgICA3NywgNDgsIDU1LCAxNzcsIDc3LCA0OCwgNTUsIDE3NiwgNzcsIDQ4LCA1NCwgMTg1LCA3NywgNDgsIDU0LCAxODQsIDc3LCAKKyAgICA0OCwgNTQsIDE4MywgNzcsIDQ4LCA1NCwgMTgyLCA3NywgNDgsIDU0LCAxODEsIDc3LCA0OCwgNTQsIDE4MCwgNzcsIDQ4LCAKKyAgICA1NCwgMTc5LCA3NywgNDgsIDU0LCAxNzgsIDc3LCA0OCwgNTQsIDE3NywgNzcsIDQ4LCA1NCwgMTc2LCA3NywgNDgsIDUzLCAKKyAgICAxODUsIDc3LCA0OCwgNTMsIDE4NCwgNzcsIDQ4LCA1MywgMTgzLCA3NywgNDgsIDUzLCAxODIsIDc3LCA0OCwgNTMsIDE4MSwgCisgICAgNzcsIDQ4LCA1MywgMTgwLCA3NywgNDgsIDUzLCAxNzksIDc3LCA0OCwgNTMsIDE3OCwgNzcsIDQ4LCA1MywgMTc3LCA3NywgCisgICAgNDgsIDUzLCAxNzYsIDc3LCA0OCwgNTIsIDE4NSwgNzcsIDQ4LCA1MiwgMTg0LCA3NywgNDgsIDUyLCAxODMsIDc3LCA0OCwgCisgICAgNTIsIDE4MiwgNzcsIDQ4LCA1MiwgMTgxLCA3NywgNDgsIDUyLCA1MiwgMTI4LCA3NywgNDgsIDUyLCAxODAsIDc3LCA0OCwgCisgICAgNTIsIDUxLCAxMjgsIDc3LCA0OCwgNTIsIDE3OSwgNzcsIDQ4LCA1MiwgNTAsIDEyOCwgNzcsIDQ4LCA1MiwgMTc4LCA3NywgCisgICAgNDgsIDUyLCA0OSwgMTI4LCA3NywgNDgsIDUyLCAxNzcsIDc3LCA0OCwgNTIsIDQ4LCA2NSwgMTI4LCA3NywgNDgsIDUyLCAKKyAgICA0OCwgMTI4LCA3NywgNDgsIDUyLCAxNzYsIDc3LCA0OCwgNTEsIDU3LCAxMjgsIDc3LCA0OCwgNTEsIDE4NSwgNzcsIDQ4LCAKKyAgICA1MSwgNTYsIDEyOCwgNzcsIDQ4LCA1MSwgMTg0LCA3NywgNDgsIDUxLCA1NSwgMTI4LCA3NywgNDgsIDUxLCAxODMsIDc3LCAKKyAgICA0OCwgNTEsIDU0LCAxMjgsIDc3LCA0OCwgNTEsIDE4MiwgNzcsIDQ4LCA1MSwgNTMsIDEyOCwgNzcsIDQ4LCA1MSwgMTgxLCAKKyAgICA3NywgNDgsIDUxLCA1MiwgMTI4LCA3NywgNDgsIDUxLCAxODAsIDc3LCA0OCwgNTEsIDUxLCA2NiwgMTI4LCA3NywgNDgsIAorICAgIDUxLCA1MSwgNjUsIDEyOCwgNzcsIDQ4LCA1MSwgNTEsIDEyOCwgNzcsIDQ4LCA1MSwgMTc5LCA3NywgNDgsIDUxLCA1MCwgCisgICAgMTI4LCA3NywgNDgsIDUxLCAxNzgsIDc3LCA0OCwgNTEsIDQ5LCA2NSwgMTI4LCA3NywgNDgsIDUxLCA0OSwgMTI4LCA3NywgCisgICAgNDgsIDUxLCAxNzcsIDc3LCA0OCwgNTEsIDQ4LCAxMjgsIDc3LCA0OCwgNTEsIDE3NiwgNzcsIDQ4LCA1MCwgNTcsIDEyOCwgCisgICAgNzcsIDQ4LCA1MCwgMTg1LCA3NywgNDgsIDUwLCA1NiwgNjUsIDEyOCwgNzcsIDQ4LCA1MCwgNTYsIDEyOCwgNzcsIDQ4LCAKKyAgICA1MCwgMTg0LCA3NywgNDgsIDUwLCA1NSwgMTI4LCA3NywgNDgsIDUwLCAxODMsIDc3LCA0OCwgNTAsIDU0LCAxMjgsIDc3LCAKKyAgICA0OCwgNTAsIDE4MiwgNzcsIDQ4LCA1MCwgNTMsIDEyOCwgNzcsIDQ4LCA1MCwgMTgxLCA3NywgNDgsIDUwLCA1MiwgNjUsIAorICAgIDEyOCwgNzcsIDQ4LCA1MCwgNTIsIDEyOCwgNzcsIDQ4LCA1MCwgMTgwLCA3NywgNDgsIDUwLCA1MSwgMTI4LCA3NywgNDgsIAorICAgIDUwLCAxNzksIDc3LCA0OCwgNTAsIDUwLCA2NSwgMTI4LCA3NywgNDgsIDUwLCA1MCwgMTI4LCA3NywgNDgsIDUwLCAxNzgsIAorICAgIDc3LCA0OCwgNTAsIDQ5LCAxMjgsIDc3LCA0OCwgNTAsIDE3NywgNzcsIDQ4LCA1MCwgNDgsIDEyOCwgNzcsIDQ4LCA1MCwgCisgICAgMTc2LCA3NywgNDgsIDQ5LCA1NywgMTI4LCA3NywgNDgsIDQ5LCAxODUsIDc3LCA0OCwgNDksIDU2LCAxMjgsIDc3LCA0OCwgCisgICAgNDksIDE4NCwgNzcsIDQ4LCA0OSwgNTUsIDY1LCAxMjgsIDc3LCA0OCwgNDksIDU1LCAxMjgsIDc3LCA0OCwgNDksIDE4MywgCisgICAgNzcsIDQ4LCA0OSwgNTQsIDY1LCAxMjgsIDc3LCA0OCwgNDksIDU0LCAxMjgsIDc3LCA0OCwgNDksIDE4MiwgNzcsIDQ4LCAKKyAgICA0OSwgNTMsIDY1LCAxMjgsIDc3LCA0OCwgNDksIDUzLCAxMjgsIDc3LCA0OCwgNDksIDE4MSwgNzcsIDQ4LCA0OSwgNTIsIAorICAgIDEyOCwgNzcsIDQ4LCA0OSwgMTgwLCA3NywgNDgsIDQ5LCA1MSwgMTI4LCA3NywgNDgsIDQ5LCAxNzksIDc3LCA0OCwgNDksIAogICAgIDUwLCA3MiwgMTI4LCA3NywgNDgsIDQ5LCA1MCwgNzEsIDEyOCwgNzcsIDQ4LCA0OSwgNTAsIDcwLCAxMjgsIDc3LCA0OCwgCiAgICAgNDksIDUwLCA2OSwgMTI4LCA3NywgNDgsIDQ5LCA1MCwgNjgsIDEyOCwgNzcsIDQ4LCA0OSwgNTAsIDY3LCAxMjgsIDc3LCAKICAgICA0OCwgNDksIDUwLCA2NiwgMTI4LCA3NywgNDgsIDQ5LCA1MCwgNjUsIDEyOCwgNzcsIDQ4LCA0OSwgNTAsIDEyOCwgNzcsIAotICAgIDQ4LCA0OSwgNDksIDEyOCwgNzcsIDQ4LCA0OSwgNDgsIDY1LCAxMjgsIDc3LCA0OCwgNDksIDQ4LCAxMjgsIDc3LCA0OCwgCi0gICAgNDgsIDU3LCAxMjgsIDc3LCA0OCwgNDgsIDU2LCAxMjgsIDc3LCA0OCwgNDgsIDU1LCAxMjgsIDc3LCA0OCwgNDgsIDU0LCAKLSAgICAxMjgsIDc3LCA0OCwgNDgsIDUzLCAxMjgsIDc3LCA0OCwgNDgsIDUyLCAxMjgsIDc3LCA0OCwgNDgsIDUxLCA2NSwgMTI4LCAKLSAgICA3NywgNDgsIDQ4LCA1MSwgMTI4LCA3NywgNDgsIDQ4LCA1MCwgMTI4LCA3NywgNDgsIDQ4LCA0OSwgNjYsIDEyOCwgNzcsIAotICAgIDQ4LCA0OCwgNDksIDY1LCAxMjgsIDc3LCA0OCwgNDgsIDQ5LCAxMjgsIDc2LCAyMTgsIDc2LCA4OSwgODksIDEyOCwgNzYsIAotICAgIDg5LCA4OCwgMTI4LCA3NiwgODksIDg0LCAxMjgsIDc2LCA4OSwgODIsIDg4LCAxMjgsIDc2LCA4OSwgODIsIDEyOCwgNzYsIAotICAgIDg5LCA4MCwgMTI4LCA3NiwgODksIDY4LCA3MywgNjUsIDIwNiwgNzYsIDg5LCA2NywgNzMsIDY1LCAyMDYsIDc2LCA4OCwgCi0gICAgMTI4LCA3NiwgODcsIDc5LCA3OSwgMTI4LCA3NiwgODcsIDc5LCAxMjgsIDc2LCA4NywgNzMsIDczLCAxMjgsIDc2LCA4NywgCi0gICAgNzMsIDEyOCwgNzYsIDg3LCA2OSwgMTI4LCA3NiwgODcsIDY1LCA2NSwgMTI4LCA3NiwgODcsIDY1LCAxMjgsIDc2LCA4NSwgCi0gICAgODgsIDEyOCwgNzYsIDg1LCA4NSwgMTI4LCA3NiwgODUsIDg0LCAxMjgsIDc2LCA4NSwgODIsIDg4LCAxMjgsIDc2LCA4NSwgCi0gICAgODAsIDEyOCwgNzYsIDg1LCA3OSwgODgsIDEyOCwgNzYsIDg1LCA3OSwgODQsIDEyOCwgNzYsIDg1LCA3OSwgODAsIDEyOCwgCi0gICAgNzYsIDg1LCA3OSwgMTI4LCA3NiwgODUsIDc4LCA3MSwgODMsIDczLCAxMjgsIDc2LCA4NSwgNzgsIDY1LCA4NCwgMTk3LCAKLSAgICA3NiwgODUsIDIwNSwgNzYsIDg1LCA3NiwgMTI4LCA3NiwgODUsIDczLCA4MywgMTI4LCA3NiwgODUsIDcyLCA4NSwgODIsIAotICAgIDEyOCwgNzYsIDg1LCA3MiwgMTI4LCA3NiwgODUsIDcxLCA3MSwgNjUsIDcxLCA2OSwgMTI4LCA3NiwgODUsIDcxLCA2NSwgCi0gICAgNzYsIDEyOCwgNzYsIDg1LCA3MSwgNjUsIDIwNCwgNzYsIDg1LCA2OSwgMTI4LCA3NiwgODUsIDY1LCA2OSwgODAsIDEyOCwgCi0gICAgNzYsIDg1LCA1MSwgMTI4LCA3NiwgODUsIDUwLCAxMjgsIDc2LCA4NSwgMTc4LCA3NiwgODIsIDc5LCAxMjgsIDc2LCA4MiwgCi0gICAgNzcsIDEyOCwgNzYsIDgyLCA3MywgMTI4LCA3NiwgODIsIDY5LCAxMjgsIDc2LCA3OSwgOTAsIDY5LCA3OCwgNzEsIDY5LCAKLSAgICAxMjgsIDc2LCA3OSwgOTAsIDY5LCA3OCwgNzEsIDE5NywgNzYsIDc5LCA4OCwgMTI4LCA3NiwgNzksIDg3LCA2OSwgODIsIAotICAgIDY5LCAxOTYsIDc2LCA3OSwgODcsIDY5LCAyMTAsIDc2LCA3OSwgODcsIDQ1LCAxODUsIDc2LCA3OSwgODYsIDE5NywgNzYsIAotICAgIDc5LCA4NSwgODIsIDY5LCAxMjgsIDc2LCA3OSwgODUsIDY4LCA4MywgODAsIDY5LCA2NSwgNzUsIDY5LCA4MiwgMTI4LCA3NiwgCi0gICAgNzksIDg1LCA2OCwgNzYsIDIxNywgNzYsIDc5LCA4NCwgODUsIDgzLCAxMjgsIDc2LCA3OSwgODQsIDEyOCwgNzYsIDc5LCAKLSAgICA4MiwgODIsIDg5LCAxMjgsIDc2LCA3OSwgODIsIDgyLCA2NSwgNzMsIDc4LCA2OSwgMTI4LCA3NiwgNzksIDgxLCAxMjgsIAotICAgIDc2LCA3OSwgODAsIDEyOCwgNzYsIDc5LCA3OSwgODQsIDEyOCwgNzYsIDc5LCA3OSwgODAsIDY5LCAxOTYsIDc2LCA3OSwgCi0gICAgNzksIDgwLCAxMjgsIDc2LCA3OSwgNzksIDIwOCwgNzYsIDc5LCA3OSwgNzgsIDEyOCwgNzYsIDc5LCA3OSwgMjAzLCA3NiwgCi0gICAgNzksIDc5LCAxMjgsIDc2LCA3OSwgNzgsIDgzLCA4NSwgNzcsIDEyOCwgNzYsIDc5LCA3OCwgNzEsIDY1LCAxMjgsIDc2LCAKLSAgICA3OSwgNzgsIDcxLCAxOTMsIDc2LCA3OSwgNzgsIDcxLCA0NSwgNjYsIDgyLCA2NSwgNzgsIDY3LCA3MiwgNDUsIDg5LCA4MiwgCi0gICAgMTI4LCA3NiwgNzksIDc4LCA3MSwgNDUsIDY2LCA4MiwgNjUsIDc4LCA2NywgNzIsIDQ1LCA4MywgNzksIDIwNCwgNzYsIDc5LCAKLSAgICA3OCwgNzEsIDQ1LCA2NiwgODIsIDY1LCA3OCwgNjcsIDcyLCA0NSwgNzksIDgzLCAyMTEsIDc2LCA3OSwgNzgsIDcxLCA0NSwgCi0gICAgNjYsIDgyLCA2NSwgNzgsIDY3LCA3MiwgNDUsIDc3LCA2NSwgNjgsIDIxMCwgNzYsIDc5LCA3OCwgNzEsIDQ1LCA2NiwgODIsIAotICAgIDY1LCA3OCwgNjcsIDcyLCA0NSwgNzIsIDY1LCA3MSwgNjUsIDc2LCAyMDQsIDc2LCA3OSwgNzgsIDcxLCA0NSwgNjYsIDgyLCAKLSAgICA2NSwgNzgsIDY3LCA3MiwgNDUsIDY1LCAyMTAsIDc2LCA3OSwgNzcsIDc3LCA2NSwgNjksIDEyOCwgNzYsIDc5LCA3NywgCi0gICAgMTI4LCA3NiwgNzksIDIwNSwgNzYsIDc5LCA3NiwgNzYsIDczLCA4MCwgNzksIDgwLCAxMjgsIDc2LCA3OSwgNzYsIDc2LCAKLSAgICAxMjgsIDc2LCA3OSwgNzEsIDIxMCwgNzYsIDc5LCA3MSwgNzksIDg0LCA4OSwgODAsIDE5NywgNzYsIDc5LCA3MSwgNzksIAotICAgIDcxLCA4MiwgNjUsIDIwNSwgNzYsIDc5LCA3MSwgMTI4LCA3NiwgNzksIDY4LCA2OSwgODMsIDg0LCA3OSwgNzgsIDY5LCAKLSAgICAxMjgsIDc2LCA3OSwgNjcsIDc5LCA3NywgNzksIDg0LCA3MywgODYsIDY5LCAxMjgsIDc2LCA3OSwgNjcsIDc1LCA3MywgNzgsIAotICAgIDcxLCA0NSwgODMsIDcyLCA3MywgNzAsIDIxMiwgNzYsIDc5LCA2NywgMjAzLCA3NiwgNzksIDY3LCA2NSwgODQsIDczLCA4NiwgCi0gICAgNjksIDEyOCwgNzYsIDc5LCA2NywgNjUsIDg0LCA3MywgNzksIDIwNiwgNzYsIDc5LCA2NSwgMTI4LCA3NiwgNzgsIDEyOCwgCi0gICAgNzYsIDc2LCA4NSwgODUsIDEyOCwgNzYsIDc2LCA3OSwgNzksIDEyOCwgNzYsIDc2LCA3NiwgODUsIDg1LCAxMjgsIDc2LCAKLSAgICA3NiwgNzYsIDg1LCAxMjgsIDc2LCA3NiwgNzYsIDc5LCA3OSwgMTI4LCA3NiwgNzYsIDc2LCA3OSwgMTI4LCA3NiwgNzYsIAotICAgIDc2LCA3MywgNzMsIDEyOCwgNzYsIDc2LCA3NiwgNzMsIDEyOCwgNzYsIDc2LCA3NiwgNjksIDY5LCAxMjgsIDc2LCA3NiwgCi0gICAgNzYsIDY5LCAxMjgsIDc2LCA3NiwgNzYsIDY1LCA4NSwgMTI4LCA3NiwgNzYsIDc2LCA2NSwgNzMsIDEyOCwgNzYsIDc2LCAKLSAgICA3NiwgNjUsIDY1LCAxMjgsIDc2LCA3NiwgNzYsIDY1LCAxMjgsIDc2LCA3NiwgNzYsIDEyOCwgNzYsIDc0LCA4NSwgNjgsIAotICAgIDczLCA3NCwgNjksIDEyOCwgNzYsIDc0LCA2OSwgMTI4LCA3NiwgNzQsIDEyOCwgNzYsIDczLCA4OCwgMTI4LCA3NiwgNzMsIAotICAgIDg3LCA3OCwgMTI4LCA3NiwgNzMsIDg2LCA4MiwgMTk3LCA3NiwgNzMsIDg0LCA4NCwgNzYsIDE5NywgNzYsIDczLCA4NCwgCi0gICAgODQsIDY5LCAyMTAsIDc2LCA3MywgODQsIDgyLCAxOTMsIDc2LCA3MywgODQsIDEyOCwgNzYsIDczLCA4MywgMjEzLCA3NiwgCi0gICAgNzMsIDgyLCAxOTMsIDc2LCA3MywgODEsIDg1LCA3MywgMTk2LCA3NiwgNzMsIDgxLCAxMjgsIDc2LCA3MywgODAsIDgzLCAKLSAgICA4NCwgNzMsIDY3LCA3NSwgMTI4LCA3NiwgNzMsIDc4LCA3NSwgNzMsIDc4LCAxOTksIDc2LCA3MywgNzgsIDIwMywgNzYsIAotICAgIDczLCA3OCwgNzEsIDgzLCA2NSwgMTI4LCA3NiwgNzMsIDc4LCA2OSwgODMsIDEyOCwgNzYsIDczLCA3OCwgNjksIDIxMSwgCi0gICAgNzYsIDczLCA3OCwgNjksIDQ1LCA1NywgMTI4LCA3NiwgNzMsIDc4LCA2OSwgNDUsIDU1LCAxMjgsIDc2LCA3MywgNzgsIDY5LCAKLSAgICA0NSwgNTEsIDEyOCwgNzYsIDczLCA3OCwgNjksIDQ1LCA0OSwgMTI4LCA3NiwgNzMsIDc3LCA3NywgODUsIDUyLCAxMjgsIAotICAgIDc2LCA3MywgNzcsIDc3LCA4NSwgNTAsIDEyOCwgNzYsIDczLCA3NywgNzcsIDg1LCAxMjgsIDc2LCA3MywgNzcsIDc3LCAKLSAgICAyMTMsIDc2LCA3MywgNzcsIDczLCA4NCwgNjksIDE5NiwgNzYsIDczLCA3NywgNzMsIDg0LCA2NSwgODQsIDczLCA3OSwgNzgsIAotICAgIDEyOCwgNzYsIDczLCA3NywgNzMsIDg0LCAxMjgsIDc2LCA3MywgNzcsIDY5LCAxMjgsIDc2LCA3MywgNzcsIDY2LCAyMTMsIAotICAgIDc2LCA3MywgNzYsIDg5LCAxMjgsIDc2LCA3MywgNzYsIDczLCA4NCwgNzIsIDEyOCwgNzYsIDczLCA3NiwgMTI4LCA3NiwgCi0gICAgNzMsIDcxLCA3MiwgODQsIDc4LCA3MywgNzgsIDcxLCAxMjgsIDc2LCA3MywgNzEsIDcyLCA4NCwgNzIsIDc5LCA4NSwgODMsIAotICAgIDY5LCAxMjgsIDc2LCA3MywgNzEsIDcyLCA4NCwgMTI4LCA3NiwgNzMsIDcwLCA2OSwgMTI4LCA3NiwgNzMsIDY5LCA4OCwgCisgICAgNDgsIDQ5LCAxNzgsIDc3LCA0OCwgNDksIDQ5LCAxMjgsIDc3LCA0OCwgNDksIDE3NywgNzcsIDQ4LCA0OSwgNDgsIDY1LCAKKyAgICAxMjgsIDc3LCA0OCwgNDksIDQ4LCAxMjgsIDc3LCA0OCwgNDksIDE3NiwgNzcsIDQ4LCA0OCwgNTcsIDEyOCwgNzcsIDQ4LCAKKyAgICA0OCwgMTg1LCA3NywgNDgsIDQ4LCA1NiwgMTI4LCA3NywgNDgsIDQ4LCAxODQsIDc3LCA0OCwgNDgsIDU1LCAxMjgsIDc3LCAKKyAgICA0OCwgNDgsIDE4MywgNzcsIDQ4LCA0OCwgNTQsIDEyOCwgNzcsIDQ4LCA0OCwgMTgyLCA3NywgNDgsIDQ4LCA1MywgMTI4LCAKKyAgICA3NywgNDgsIDQ4LCAxODEsIDc3LCA0OCwgNDgsIDUyLCAxMjgsIDc3LCA0OCwgNDgsIDE4MCwgNzcsIDQ4LCA0OCwgNTEsIAorICAgIDY1LCAxMjgsIDc3LCA0OCwgNDgsIDUxLCAxMjgsIDc3LCA0OCwgNDgsIDE3OSwgNzcsIDQ4LCA0OCwgNTAsIDEyOCwgNzcsIAorICAgIDQ4LCA0OCwgMTc4LCA3NywgNDgsIDQ4LCA0OSwgNjYsIDEyOCwgNzcsIDQ4LCA0OCwgNDksIDY1LCAxMjgsIDc3LCA0OCwgCisgICAgNDgsIDQ5LCAxMjgsIDc3LCA0OCwgNDgsIDE3NywgNzYsIDIxOCwgNzYsIDg5LCA4OSwgMTI4LCA3NiwgODksIDg4LCAxMjgsIAorICAgIDc2LCA4OSwgODQsIDEyOCwgNzYsIDg5LCA4MiwgODgsIDEyOCwgNzYsIDg5LCA4MiwgMTI4LCA3NiwgODksIDgwLCAxMjgsIAorICAgIDc2LCA4OSwgNzMsIDg0LCAxMjgsIDc2LCA4OSwgNjgsIDczLCA2NSwgMjA2LCA3NiwgODksIDY3LCA3MywgNjUsIDIwNiwgCisgICAgNzYsIDg4LCAxMjgsIDc2LCA4NywgNzksIDc5LCAxMjgsIDc2LCA4NywgNzksIDEyOCwgNzYsIDg3LCA3MywgNzMsIDEyOCwgCisgICAgNzYsIDg3LCA3MywgMTI4LCA3NiwgODcsIDY5LCAxMjgsIDc2LCA4NywgNjUsIDY1LCAxMjgsIDc2LCA4NywgNjUsIDEyOCwgCisgICAgNzYsIDg1LCA4OCwgMTI4LCA3NiwgODUsIDg1LCAxMjgsIDc2LCA4NSwgODQsIDEyOCwgNzYsIDg1LCA4MiwgODgsIDEyOCwgCisgICAgNzYsIDg1LCA4MCwgMTI4LCA3NiwgODUsIDc5LCA4OCwgMTI4LCA3NiwgODUsIDc5LCA4NCwgMTI4LCA3NiwgODUsIDc5LCAKKyAgICA4MCwgMTI4LCA3NiwgODUsIDc5LCAxMjgsIDc2LCA4NSwgNzgsIDcxLCA4MywgNzMsIDEyOCwgNzYsIDg1LCA3OCwgNjUsIAorICAgIDg0LCAxOTcsIDc2LCA4NSwgMjA1LCA3NiwgODUsIDc2LCAxMjgsIDc2LCA4NSwgNzMsIDgzLCAxMjgsIDc2LCA4NSwgNzIsIAorICAgIDg1LCA4MiwgMTI4LCA3NiwgODUsIDcyLCAxMjgsIDc2LCA4NSwgNzEsIDcxLCA2NSwgNzEsIDY5LCAxMjgsIDc2LCA4NSwgCisgICAgNzEsIDY1LCA3NiwgMTI4LCA3NiwgODUsIDcxLCA2NSwgMjA0LCA3NiwgODUsIDY5LCAxMjgsIDc2LCA4NSwgMTk3LCA3NiwgCisgICAgODUsIDY2LCAxMjgsIDc2LCA4NSwgNjUsIDY5LCA4MCwgMTI4LCA3NiwgODUsIDUxLCAxMjgsIDc2LCA4NSwgNTAsIDEyOCwgCisgICAgNzYsIDg1LCAxNzgsIDc2LCA4MiwgNzksIDEyOCwgNzYsIDgyLCA3NywgMTI4LCA3NiwgODIsIDczLCAxMjgsIDc2LCA4MiwgCisgICAgNjksIDEyOCwgNzYsIDc5LCA5MCwgNjksIDc4LCA3MSwgNjksIDEyOCwgNzYsIDc5LCA5MCwgNjksIDc4LCA3MSwgMTk3LCAKKyAgICA3NiwgNzksIDg4LCAxMjgsIDc2LCA3OSwgODcsIDY5LCA4MiwgNjksIDE5NiwgNzYsIDc5LCA4NywgNjksIDIxMCwgNzYsIAorICAgIDc5LCA4NywgNDUsIDgyLCA2OSwgODYsIDY5LCA4MiwgODMsIDY5LCA2OCwgNDUsIDE4NSwgNzYsIDc5LCA4NywgNDUsIDc3LCAKKyAgICA3MywgMTk2LCA3NiwgNzksIDg3LCA0NSwgNzAsIDY1LCA3NiwgNzYsIDczLCA3OCwgMTk5LCA3NiwgNzksIDg3LCA0NSwgCisgICAgMTg1LCA3NiwgNzksIDg2LCAxOTcsIDc2LCA3OSwgODUsIDgyLCA2OSwgMTI4LCA3NiwgNzksIDg1LCA2OCwgODMsIDgwLCAKKyAgICA2OSwgNjUsIDc1LCA2OSwgODIsIDEyOCwgNzYsIDc5LCA4NSwgNjgsIDc2LCAyMTcsIDc2LCA3OSwgODQsIDg1LCA4MywgCisgICAgMTI4LCA3NiwgNzksIDg0LCAxMjgsIDc2LCA3OSwgODIsIDgyLCA4OSwgMTI4LCA3NiwgNzksIDgyLCA4MiwgNjUsIDczLCAKKyAgICA3OCwgNjksIDEyOCwgNzYsIDc5LCA4MSwgMTI4LCA3NiwgNzksIDgwLCAxMjgsIDc2LCA3OSwgNzksIDg0LCAxMjgsIDc2LCAKKyAgICA3OSwgNzksIDgwLCA2OSwgMTk2LCA3NiwgNzksIDc5LCA4MCwgMTI4LCA3NiwgNzksIDc5LCAyMDgsIDc2LCA3OSwgNzksIAorICAgIDc4LCAxMjgsIDc2LCA3OSwgNzksIDIwMywgNzYsIDc5LCA3OSwgMTI4LCA3NiwgNzksIDc4LCA4MywgODUsIDc3LCAxMjgsIAorICAgIDc2LCA3OSwgNzgsIDcxLCA2NSwgMTI4LCA3NiwgNzksIDc4LCA3MSwgMTkzLCA3NiwgNzksIDc4LCA3MSwgNDUsIDY2LCA4MiwgCisgICAgNjUsIDc4LCA2NywgNzIsIDQ1LCA4OSwgODIsIDEyOCwgNzYsIDc5LCA3OCwgNzEsIDQ1LCA2NiwgODIsIDY1LCA3OCwgNjcsIAorICAgIDcyLCA0NSwgODMsIDc5LCAyMDQsIDc2LCA3OSwgNzgsIDcxLCA0NSwgNjYsIDgyLCA2NSwgNzgsIDY3LCA3MiwgNDUsIDc5LCAKKyAgICA4MywgMjExLCA3NiwgNzksIDc4LCA3MSwgNDUsIDY2LCA4MiwgNjUsIDc4LCA2NywgNzIsIDQ1LCA3NywgNjUsIDY4LCAyMTAsIAorICAgIDc2LCA3OSwgNzgsIDcxLCA0NSwgNjYsIDgyLCA2NSwgNzgsIDY3LCA3MiwgNDUsIDcyLCA2NSwgNzEsIDY1LCA3NiwgMjA0LCAKKyAgICA3NiwgNzksIDc4LCA3MSwgNDUsIDY2LCA4MiwgNjUsIDc4LCA2NywgNzIsIDQ1LCA2NSwgMjEwLCA3NiwgNzksIDc3LCA3NywgCisgICAgNjUsIDY5LCAxMjgsIDc2LCA3OSwgNzcsIDEyOCwgNzYsIDc5LCAyMDUsIDc2LCA3OSwgNzYsIDc2LCA3MywgODAsIDc5LCAKKyAgICA4MCwgMTI4LCA3NiwgNzksIDc2LCA3NiwgMTI4LCA3NiwgNzksIDcxLCAyMTAsIDc2LCA3OSwgNzEsIDc5LCA4NCwgODksIAorICAgIDgwLCAxOTcsIDc2LCA3OSwgNzEsIDc5LCA3MSwgODIsIDY1LCAyMDUsIDc2LCA3OSwgNzEsIDEyOCwgNzYsIDc5LCA2OCwgCisgICAgNjksIDgzLCA4NCwgNzksIDc4LCA2OSwgMTI4LCA3NiwgNzksIDY3LCA3OSwgNzcsIDc5LCA4NCwgNzMsIDg2LCA2OSwgMTI4LCAKKyAgICA3NiwgNzksIDY3LCA3NSwgNzMsIDc4LCA3MSwgNDUsIDgzLCA3MiwgNzMsIDcwLCAyMTIsIDc2LCA3OSwgNjcsIDIwMywgNzYsIAorICAgIDc5LCA2NywgNjUsIDg0LCA3MywgODYsIDY5LCAxMjgsIDc2LCA3OSwgNjcsIDY1LCA4NCwgNzMsIDc5LCAyMDYsIDc2LCA3OSwgCisgICAgNjUsIDEyOCwgNzYsIDc4LCAxMjgsIDc2LCA3NiwgODUsIDg1LCAxMjgsIDc2LCA3NiwgNzksIDc5LCAxMjgsIDc2LCA3NiwgCisgICAgNzYsIDg1LCA4NSwgMTI4LCA3NiwgNzYsIDc2LCA4NSwgMTI4LCA3NiwgNzYsIDc2LCA3OSwgNzksIDEyOCwgNzYsIDc2LCAKKyAgICA3NiwgNzksIDEyOCwgNzYsIDc2LCA3NiwgNzMsIDczLCAxMjgsIDc2LCA3NiwgNzYsIDczLCAxMjgsIDc2LCA3NiwgNzYsIAorICAgIDY5LCA2OSwgMTI4LCA3NiwgNzYsIDc2LCA2OSwgMTI4LCA3NiwgNzYsIDc2LCA2NSwgODUsIDEyOCwgNzYsIDc2LCA3NiwgCisgICAgNjUsIDczLCAxMjgsIDc2LCA3NiwgNzYsIDY1LCA2NSwgMTI4LCA3NiwgNzYsIDc2LCA2NSwgMTI4LCA3NiwgNzYsIDc2LCAKKyAgICAxMjgsIDc2LCA3NCwgODUsIDY4LCA3MywgNzQsIDY5LCAxMjgsIDc2LCA3NCwgNjksIDEyOCwgNzYsIDc0LCAxMjgsIDc2LCAKKyAgICA3MywgODgsIDEyOCwgNzYsIDczLCA4NywgNzgsIDEyOCwgNzYsIDczLCA4NiwgODIsIDE5NywgNzYsIDczLCA4NCwgODQsIAorICAgIDc2LCAxOTcsIDc2LCA3MywgODQsIDg0LCA2OSwgMjEwLCA3NiwgNzMsIDg0LCA4MiwgMTkzLCA3NiwgNzMsIDg0LCAyMDAsIAorICAgIDc2LCA3MywgODQsIDEyOCwgNzYsIDczLCA4MywgMjEzLCA3NiwgNzMsIDgzLCAxMjgsIDc2LCA3MywgODIsIDE5MywgNzYsIAorICAgIDczLCA4MSwgODUsIDczLCAxOTYsIDc2LCA3MywgODEsIDEyOCwgNzYsIDczLCA4MCwgODMsIDg0LCA3MywgNjcsIDc1LCAKKyAgICAxMjgsIDc2LCA3MywgNzgsIDc1LCA3MywgNzgsIDE5OSwgNzYsIDczLCA3OCwgNzUsIDY5LCAxOTYsIDc2LCA3MywgNzgsIAorICAgIDIwMywgNzYsIDczLCA3OCwgNzEsIDgzLCA2NSwgMTI4LCA3NiwgNzMsIDc4LCA2OSwgODMsIDEyOCwgNzYsIDczLCA3OCwgCisgICAgNjksIDIxMSwgNzYsIDczLCA3OCwgNjksIDQ1LCA1NywgMTI4LCA3NiwgNzMsIDc4LCA2OSwgNDUsIDU1LCAxMjgsIDc2LCAKKyAgICA3MywgNzgsIDY5LCA0NSwgNTEsIDEyOCwgNzYsIDczLCA3OCwgNjksIDQ1LCA0OSwgMTI4LCA3NiwgNzMsIDc3LCA3NywgODUsIAorICAgIDUyLCAxMjgsIDc2LCA3MywgNzcsIDc3LCA4NSwgNTAsIDEyOCwgNzYsIDczLCA3NywgNzcsIDg1LCAxMjgsIDc2LCA3MywgCisgICAgNzcsIDc3LCAyMTMsIDc2LCA3MywgNzcsIDczLCA4NCwgNjksIDE5NiwgNzYsIDczLCA3NywgNzMsIDg0LCA2NSwgODQsIDczLCAKKyAgICA3OSwgNzgsIDEyOCwgNzYsIDczLCA3NywgNzMsIDg0LCAxMjgsIDc2LCA3MywgNzcsIDY5LCAxMjgsIDc2LCA3MywgNzcsIAorICAgIDY2LCAyMTMsIDc2LCA3MywgNzYsIDg5LCAxMjgsIDc2LCA3MywgNzYsIDczLCA4NCwgNzIsIDEyOCwgNzYsIDczLCA3NiwgCisgICAgMTI4LCA3NiwgNzMsIDcxLCA3MiwgODQsIDc4LCA3MywgNzgsIDcxLCAxMjgsIDc2LCA3MywgNzEsIDcyLCA4NCwgNzgsIDczLCAKKyAgICA3OCwgMTk5LCA3NiwgNzMsIDcxLCA3MiwgODQsIDcyLCA3OSwgODUsIDgzLCA2OSwgMTI4LCA3NiwgNzMsIDcxLCA3MiwgODQsIAorICAgIDEyOCwgNzYsIDczLCA3MCwgODQsIDY5LCA4MiwgMTI4LCA3NiwgNzMsIDcwLCA2OSwgMTI4LCA3NiwgNzMsIDY5LCA4OCwgCiAgICAgMTI4LCA3NiwgNzMsIDY5LCA4NCwgMTI4LCA3NiwgNzMsIDY5LCA4MCwgMTI4LCA3NiwgNzMsIDY5LCA2OSwgMTI4LCA3NiwgCiAgICAgNzMsIDY5LCAxMjgsIDc2LCA3MywgNjgsIDEyOCwgNzYsIDczLCA2NiwgODIsIDY1LCAxMjgsIDc2LCA3MywgNjYsIDY5LCAKICAgICA4MiwgODQsIDg5LCAxMjgsIDc2LCA3MywgNjUsIDY2LCA3MywgNzYsIDczLCA4NCwgMjE3LCA3NiwgNzIsIDczLCA3MywgCiAgICAgMTI4LCA3NiwgNzIsIDY1LCA4NiwgNzMsIDg5LCA2NSwgNzgsIDczLCAxMjgsIDc2LCA3MiwgNjUsIDE5OSwgNzYsIDcyLCAKICAgICA2NSwgNjUsIDEyOCwgNzYsIDcyLCAxMjgsIDc2LCA2OSwgOTAsIDcyLCAxMjgsIDc2LCA2OSwgODgsIDEyOCwgNzYsIDY5LCAKLSAgICA4NiwgNjksIDIwNCwgNzYsIDY5LCA4NSwgNzcsIDEyOCwgNzYsIDY5LCA4NSwgNjUsIDY5LCA4MCwgMTI4LCA3NiwgNjksIAotICAgIDg1LCA2NSwgNjksIDc3LCAxMjgsIDc2LCA2OSwgODUsIDEyOCwgNzYsIDY5LCAyMTMsIDc2LCA2OSwgODQsIDg0LCA2OSwgCi0gICAgODIsIDgzLCAxMjgsIDc2LCA2OSwgODQsIDg0LCA2OSwgODIsIDEyOCwgNzYsIDY5LCAyMTIsIDc2LCA2OSwgODMsIDgzLCAKLSAgICA2OSwgMjEwLCA3NiwgNjksIDgzLCA4MywgNDUsIDg0LCA3MiwgNjUsIDc4LCAxMjgsIDc2LCA2OSwgODMsIDgzLCA0NSwgODQsIAotICAgIDcyLCA2NSwgMjA2LCA3NiwgNjksIDgwLCAxMjgsIDc2LCA2OSwgNzksIDgwLCA2NSwgODIsIDY4LCAxMjgsIDc2LCA2OSwgCi0gICAgNzksIDEyOCwgNzYsIDY5LCA3OCwgODQsIDczLCA2NywgODUsIDc2LCA2NSwgMjEwLCA3NiwgNjksIDc4LCA3MywgODMsIAotICAgIDEyOCwgNzYsIDY5LCA3OCwgNzEsIDg0LCA3MiwgNjksIDc4LCA2OSwgODIsIDEyOCwgNzYsIDY5LCA3OCwgNzEsIDg0LCAKLSAgICAyMDAsIDc2LCA2OSwgNzgsIDcxLCA2NSwgMTI4LCA3NiwgNjksIDc4LCA3MSwgMTkzLCA3NiwgNjksIDc3LCA3OSwgNzgsIAotICAgIDEyOCwgNzYsIDY5LCA3NywgNzksIDczLCAxMjgsIDc2LCA2OSwgNzYsIDY5LCA4NCwgMTI4LCA3NiwgNjksIDc2LCA2OSwgCi0gICAgMjEyLCA3NiwgNjksIDIwMywgNzYsIDY5LCA3MywgNzcsIDc3LCA2NSwgMTI4LCA3NiwgNjksIDczLCA3NywgNzcsIDE5MywgCi0gICAgNzYsIDY5LCA3MSwgODMsIDEyOCwgNzYsIDY5LCA3MSwgNzMsIDc5LCA3OCwgMTI4LCA3NiwgNjksIDcxLCA2OSwgODQsIDc5LCAKLSAgICAyMTEsIDc2LCA2OSwgNzEsIDEyOCwgNzYsIDY5LCA3MCwgODQsIDg3LCA2NSwgODIsIDY4LCA4MywgMTI4LCA3NiwgNjksIAotICAgIDcwLCA4NCwgNDUsIDg0LCA3OSwgNDUsIDgyLCA3MywgNzEsIDcyLCAyMTIsIDc2LCA2OSwgNzAsIDg0LCA0NSwgODMsIDg0LCAKLSAgICA2OSwgMjA1LCA3NiwgNjksIDcwLCA4NCwgNDUsIDgzLCA3MywgNjgsIDE5NywgNzYsIDY5LCA3MCwgODQsIDQ1LCA4MywgNzIsIAotICAgIDY1LCA2OCwgNjksIDE5NiwgNzYsIDY5LCA3MCwgODQsIDQ1LCA4MCwgNzksIDczLCA3OCwgODQsIDczLCA3OCwgMTk5LCA3NiwgCisgICAgODYsIDczLCA4NCwgNjUsIDg0LCA3MywgNzgsIDcxLCAxMjgsIDc2LCA2OSwgODUsIDc3LCAxMjgsIDc2LCA2OSwgODUsIDY1LCAKKyAgICA2OSwgODAsIDEyOCwgNzYsIDY5LCA4NSwgNjUsIDY5LCA3NywgMTI4LCA3NiwgNjksIDg1LCAxMjgsIDc2LCA2OSwgMjEzLCAKKyAgICA3NiwgNjksIDg0LCA4NCwgNjksIDgyLCA4MywgMTI4LCA3NiwgNjksIDg0LCA4NCwgNjksIDgyLCAxMjgsIDc2LCA2OSwgCisgICAgMjEyLCA3NiwgNjksIDgzLCA4MywgNjksIDIxMCwgNzYsIDY5LCA4MywgODMsIDQ1LCA4NCwgNzIsIDY1LCA3OCwgMTI4LCAKKyAgICA3NiwgNjksIDgzLCA4MywgNDUsIDg0LCA3MiwgNjUsIDIwNiwgNzYsIDY5LCA4MCwgNjcsIDcyLCAxOTMsIDc2LCA2OSwgODAsIAorICAgIDEyOCwgNzYsIDY5LCA3OSwgODAsIDY1LCA4MiwgNjgsIDEyOCwgNzYsIDY5LCA3OSwgMTI4LCA3NiwgNjksIDc4LCA4NCwgCisgICAgNzMsIDY3LCA4NSwgNzYsIDY1LCAyMTAsIDc2LCA2OSwgNzgsIDczLCA4MywgMTI4LCA3NiwgNjksIDc4LCA3MywgMjExLCAKKyAgICA3NiwgNjksIDc4LCA3MSwgODQsIDcyLCA2OSwgNzgsIDY5LCA4MiwgMTI4LCA3NiwgNjksIDc4LCA3MSwgODQsIDIwMCwgNzYsIAorICAgIDY5LCA3OCwgNzEsIDY1LCAxMjgsIDc2LCA2OSwgNzgsIDcxLCAxOTMsIDc2LCA2OSwgNzcsIDc5LCA3OCwgMTI4LCA3NiwgCisgICAgNjksIDc3LCA3OSwgNzMsIDEyOCwgNzYsIDY5LCA3NiwgNjksIDg0LCAxMjgsIDc2LCA2OSwgNzYsIDY5LCAyMTIsIDc2LCAKKyAgICA2OSwgMjAzLCA3NiwgNjksIDczLCA3NywgNzcsIDY1LCAxMjgsIDc2LCA2OSwgNzMsIDc3LCA3NywgMTkzLCA3NiwgNjksIAorICAgIDczLCAxMjgsIDc2LCA2OSwgNzEsIDgzLCAxMjgsIDc2LCA2OSwgNzEsIDczLCA3OSwgNzgsIDEyOCwgNzYsIDY5LCA3MSwgCisgICAgNjksIDg0LCA3OSwgMjExLCA3NiwgNjksIDcxLCAxMjgsIDc2LCA2OSwgMTk5LCA3NiwgNjksIDcwLCA4NCwgODcsIDY1LCAKKyAgICA4MiwgNjgsIDgzLCAxMjgsIDc2LCA2OSwgNzAsIDg0LCA0NSwgODQsIDc5LCA0NSwgODIsIDczLCA3MSwgNzIsIDIxMiwgNzYsIAorICAgIDY5LCA3MCwgODQsIDQ1LCA4MywgODQsIDY5LCAyMDUsIDc2LCA2OSwgNzAsIDg0LCA0NSwgODMsIDczLCA2OCwgMTk3LCA3NiwgCisgICAgNjksIDcwLCA4NCwgNDUsIDgzLCA3MiwgNjUsIDY4LCA2OSwgMTk2LCA3NiwgNjksIDcwLCA4NCwgNDUsIDgwLCA3OSwgNzMsIAorICAgIDc4LCA4NCwgNzMsIDc4LCAxOTksIDc2LCA2OSwgNzAsIDg0LCA0NSwgNzYsIDczLCA3MSwgNzIsIDg0LCA2OSwgMTk2LCA3NiwgCiAgICAgNjksIDcwLCA4NCwgNDUsIDcyLCA2NSwgNzgsIDY4LCA2OSwgMTk2LCA3NiwgNjksIDcwLCA4NCwgNDUsIDcyLCA2NSwgNzgsIAogICAgIDE5NiwgNzYsIDY5LCA3MCwgODQsIDQ1LCA3MCwgNjUsIDY3LCA3MywgNzgsIDE5OSwgNzYsIDY5LCA3MCwgODQsIDEyOCwgCiAgICAgNzYsIDY5LCA2OSwgODIsIDY1LCA2OSwgODcsIDY1LCAxMjgsIDc2LCA2OSwgNjksIDc1LCAxMjgsIDc2LCA2OSwgNjksIDY5LCAKQEAgLTIxODEsMTM3ICsyMzM2LDE1MSBAQAogICAgIDY5LCA2NSwgNjgsIDY5LCA4MiwgMTI4LCA3NiwgNjksIDY1LCAxOTYsIDc2LCA2OCwgNjUsIDc4LCAxMjgsIDc2LCA2OCwgCiAgICAgNTAsIDEyOCwgNzYsIDY3LCAyMDEsIDc2LCA2NywgMTk3LCA3NiwgNjUsIDkwLCAyMTcsIDc2LCA2NSwgODksIDY1LCA3OCwgCiAgICAgNzgsIDY1LCAxMjgsIDc2LCA2NSwgODgsIDEyOCwgNzYsIDY1LCA4NywgMTI4LCA3NiwgNjUsIDIxNSwgNzYsIDY1LCA4NSwgCi0gICAgNzYsIDY1LCAxMjgsIDc2LCA2NSwgODUsIDc1LCA2NSwgMjE4LCA3NiwgNjUsIDg0LCA3MywgNzgsIDY1LCA4NCwgMTk3LCAKLSAgICA3NiwgNjUsIDg0LCA3MywgNzUsIDEyOCwgNzYsIDY1LCA4NCwgNjksIDgyLCA2NSwgMjA0LCA3NiwgNjUsIDg0LCAxOTcsIAotICAgIDc2LCA2NSwgODMsIDIxMiwgNzYsIDY1LCA4MiwgODksIDc4LCA3MSwgNjksIDY1LCAyMDQsIDc2LCA2NSwgODIsIDcxLCA2OSwgCi0gICAgMjEwLCA3NiwgNjUsIDgyLCA3MSwgNjksIDEyOCwgNzYsIDY1LCA4MiwgNzEsIDE5NywgNzYsIDY1LCA4MSwgMTI4LCA3NiwgCi0gICAgNjUsIDgwLCA2NSwgODEsIDEyOCwgNzYsIDY1LCA4MCwgMTI4LCA3NiwgNjUsIDc4LCA4NCwgNjksIDgyLCA3OCwgMTI4LCAKLSAgICA3NiwgNjUsIDc4LCA3MSwgODUsIDY1LCA3MSwgMTk3LCA3NiwgNjUsIDc4LCA2OSwgODMsIDEyOCwgNzYsIDY1LCA3NywgNjksIAotICAgIDY4LCA3MiwgMTI4LCA3NiwgNjUsIDc3LCA2OSwgNjgsIDEyOCwgNzYsIDY1LCA3NywgNjksIDE5NiwgNzYsIDY1LCA3NywgCi0gICAgNjksIDEyOCwgNzYsIDY1LCA3NywgMTk3LCA3NiwgNjUsIDc3LCA2OCwgNjUsIDEyOCwgNzYsIDY1LCA3NywgNjgsIDEyOCwgCi0gICAgNzYsIDY1LCA3NywgNjYsIDY4LCAxOTMsIDc2LCA2NSwgNzcsIDY1LCA2OCwgNzIsIDEyOCwgNzYsIDY1LCA3NiwgMTI4LCAKLSAgICA3NiwgNjUsIDIwNCwgNzYsIDY1LCA3NSwgNzUsIDcyLCA2NSwgNzgsIDcxLCA4OSwgNjUsIDc5LCAxMjgsIDc2LCA2NSwgNzQsIAotICAgIDY1LCA3OCwgODksIDY1LCA3NiwgNjUsIDc4LCAxMjgsIDc2LCA2NSwgMjAxLCA3NiwgNjUsIDcyLCA4MywgNzIsIDg1LCAKLSAgICAxMjgsIDc2LCA2NSwgNzIsIDEyOCwgNzYsIDY1LCA3MSwgODUsIDgzLCAxMjgsIDc2LCA2NSwgNzEsIDIxMywgNzYsIDY1LCAKLSAgICA3MSwgNjUsIDgyLCAxMjgsIDc2LCA2NSwgNzEsIDY1LCAyMTAsIDc2LCA2NSwgNzEsIDY1LCA2NiwgMTI4LCA3NiwgNjUsIAotICAgIDcxLCA2NSwgMTk0LCA3NiwgNjUsIDY5LCA4NiwgMTI4LCA3NiwgNjUsIDY5LCAxMjgsIDc2LCA2NSwgNjgsIDIxNywgNzYsIAotICAgIDY1LCA2NywgNzUsIDEyOCwgNzYsIDY1LCA2NywgNjUsIDEyOCwgNzYsIDY1LCA2NiwgNzksIDg1LCA4MiwgNzMsIDc4LCA3MSwgCi0gICAgMTI4LCA3NiwgNjUsIDY2LCA3OSwgODIsIDEyOCwgNzYsIDY1LCA2NiwgNzMsIDY1LCA3NiwgNzMsIDkwLCA2NSwgODQsIDczLCAKLSAgICA3OSwgMjA2LCA3NiwgNjUsIDY2LCA3MywgNjUsIDIwNCwgNzYsIDY1LCA2NiwgNjUsIDg0LCAxMjgsIDc2LCA2NSwgNjUsIAotICAgIDc4LCA2NSwgNjksIDEyOCwgNzYsIDY1LCA2NSwgNzgsIDEyOCwgNzYsIDY1LCA2NSwgNzcsIDg1LCAxMjgsIDc2LCA2NSwgCi0gICAgNjUsIDc3LCAxMjgsIDc2LCA2NSwgNjUsIDczLCAxMjgsIDc2LCA0OCwgNDgsIDU0LCA2NSwgMTI4LCA3NiwgNDgsIDQ4LCAKLSAgICA1MCwgNjUsIDEyOCwgNzYsIDQ1LCA4NCwgODksIDgwLCAxOTcsIDc2LCA0NSwgODMsIDcyLCA2NSwgODAsIDY5LCAxOTYsIAotICAgIDc1LCA4OSwgODUsIDgyLCA3MywgNzMsIDEyOCwgNzUsIDg5LCA4NSwgMTI4LCA3NSwgODksIDc5LCAxMjgsIDc1LCA4OSwgCi0gICAgNzYsIDczLCA4MywgNzcsIDY1LCAxMjgsIDc1LCA4OSwgNzMsIDEyOCwgNzUsIDg5LCA2OSwgMTI4LCA3NSwgODksIDY1LCAKLSAgICA4NCwgNzIsIDc5LCAyMTEsIDc1LCA4OSwgNjUsIDY1LCAxMjgsIDc1LCA4OSwgNjUsIDEyOCwgNzUsIDg4LCA4NywgNzMsIAotICAgIDEyOCwgNzUsIDg4LCA4NywgNjksIDY5LCAxMjgsIDc1LCA4OCwgODcsIDY5LCAxMjgsIDc1LCA4OCwgODcsIDY1LCA2NSwgCi0gICAgMTI4LCA3NSwgODgsIDg3LCA2NSwgMTI4LCA3NSwgODgsIDg1LCAxMjgsIDc1LCA4OCwgNzksIDEyOCwgNzUsIDg4LCA3MywgCi0gICAgMTI4LCA3NSwgODgsIDY5LCA2OSwgMTI4LCA3NSwgODgsIDY5LCAxMjgsIDc1LCA4OCwgNjUsIDY1LCAxMjgsIDc1LCA4OCwgCi0gICAgNjUsIDEyOCwgNzUsIDg3LCA4NSwgNTEsIDQ5LCA1NiwgMTI4LCA3NSwgODcsIDc5LCA3OSwgMTI4LCA3NSwgODcsIDc5LCAKLSAgICAxMjgsIDc1LCA4NywgNzMsIDczLCAxMjgsIDc1LCA4NywgNzMsIDEyOCwgNzUsIDg3LCA2OSwgNjksIDEyOCwgNzUsIDg3LCAKLSAgICA2OSwgMTI4LCA3NSwgODcsIDY1LCA4OSwgMTI4LCA3NSwgODcsIDY1LCA2OSwgODQsIDEyOCwgNzUsIDg3LCA2NSwgNjUsIAotICAgIDEyOCwgNzUsIDg2LCA2NSwgMTI4LCA3NSwgODYsIDEyOCwgNzUsIDg1LCA4OCwgMTI4LCA3NSwgODUsIDg1LCA3MiwgMTI4LCAKLSAgICA3NSwgODUsIDg0LCAxMjgsIDc1LCA4NSwgODMsIDc3LCA2NSwgMTI4LCA3NSwgODUsIDgzLCA3MiwgODUsIDUwLCAxMjgsIAotICAgIDc1LCA4NSwgODIsIDg4LCAxMjgsIDc1LCA4NSwgODIsIDg1LCA5MCwgNjksIDczLCA4MiwgNzksIDEyOCwgNzUsIDg1LCA4MiwgCi0gICAgODQsIDEyOCwgNzUsIDg1LCA4MiwgNzksIDc5LCA3OCwgNjksIDEyOCwgNzUsIDg1LCA4MiwgMTI4LCA3NSwgODUsIDIxMCwgCi0gICAgNzUsIDg1LCA4MSwgMTI4LCA3NSwgODUsIDc5LCA4OCwgMTI4LCA3NSwgODUsIDc5LCA4MCwgMTI4LCA3NSwgODUsIDc5LCAKLSAgICAyMDgsIDc1LCA4NSwgNzksIDc3LCAxMjgsIDc1LCA4NSwgNzksIDEyOCwgNzUsIDg1LCA3OCwgNzEsIDEyOCwgNzUsIDg1LCAKLSAgICA3OCwgNjgsIDY4LCA2NSwgNzYsIDczLCA4OSwgNjUsIDEyOCwgNzUsIDg1LCA3NiwgMTI4LCA3NSwgODUsIDIwNCwgNzUsIAotICAgIDg1LCA2OSwgODQsIDEyOCwgNzUsIDg1LCA1NSwgMTI4LCA3NSwgODUsIDUyLCAxMjgsIDc1LCA4NSwgMTgwLCA3NSwgODUsIAotICAgIDUxLCAxMjgsIDc1LCA4NSwgMTc5LCA3NSwgODQsIDEyOCwgNzUsIDgzLCA4MywgODUsIDg1LCAxMjgsIDc1LCA4MywgODMsIAotICAgIDg1LCAxMjgsIDc1LCA4MywgODMsIDc5LCA3OSwgMTI4LCA3NSwgODMsIDgzLCA3OSwgMTI4LCA3NSwgODMsIDgzLCA3MywgCi0gICAgNzMsIDEyOCwgNzUsIDgzLCA4MywgNzMsIDEyOCwgNzUsIDgzLCA4MywgNjksIDY5LCAxMjgsIDc1LCA4MywgODMsIDY5LCAKLSAgICAxMjgsIDc1LCA4MywgODMsIDY1LCA4NSwgMTI4LCA3NSwgODMsIDgzLCA2NSwgNzMsIDEyOCwgNzUsIDgzLCA4MywgNjUsIAotICAgIDY1LCAxMjgsIDc1LCA4MywgODMsIDY1LCAxMjgsIDc1LCA4MywgODMsIDEyOCwgNzUsIDgzLCA3MywgMTI4LCA3NSwgODIsIAotICAgIDY5LCA3NywgNjUsIDgzLCA4NCwgNzMsIDEyOCwgNzUsIDgyLCA2NSwgODQsIDczLCA3NywgNzksIDg5LCA4MCwgNzksIDgyLCAKLSAgICA4MiwgNzksIDc5LCA3OCwgMTI4LCA3NSwgODIsIDY1LCA4NCwgNzMsIDc3LCA3OSwgNzUsIDc5LCA4NSwgNzAsIDczLCA4MywgCi0gICAgNzcsIDY1LCAxMjgsIDc1LCA4MiwgNjUsIDg0LCA3MywgNzcsIDY1LCA4NCwgNjUsIDEyOCwgNzUsIDgyLCA2NSwgODQsIDczLCAKLSAgICA3NywgMTkzLCA3NSwgODAsIDg1LCAxMjgsIDc1LCA4MCwgNzksIDgxLCAxMjgsIDc1LCA4MCwgNzksIDc5LCAxMjgsIDc1LCAKLSAgICA4MCwgNzksIDEyOCwgNzUsIDgwLCA3MywgMTI4LCA3NSwgODAsIDY5LCA4NSwgODgsIDEyOCwgNzUsIDgwLCA2OSwgNjksIAotICAgIDEyOCwgNzUsIDgwLCA2OSwgMTI4LCA3NSwgODAsIDY1LCA4MiwgNjUsIDgxLCAxMjgsIDc1LCA4MCwgNjUsIDc4LCAxMjgsIAotICAgIDc1LCA4MCwgNjUsIDEyOCwgNzUsIDc5LCA4OCwgMTI4LCA3NSwgNzksIDg2LCA4NSwgODUsIDEyOCwgNzUsIDc5LCA4NCwgCi0gICAgNzksIDEyOCwgNzUsIDc5LCA4MiwgODUsIDc4LCA2NSwgMTI4LCA3NSwgNzksIDgyLCA3OSwgNzgsIDczLCA4MywgMTI4LCAKLSAgICA3NSwgNzksIDgyLCA2OSwgNjUsIDIwNiwgNzUsIDc5LCA4MiwgNjUsIDc4LCA3MywgMTk1LCA3NSwgNzksIDgxLCA3OCwgNjgsIAotICAgIDc5LCA3OCwgMTI4LCA3NSwgNzksIDgwLCA4MCwgNjUsIDEyOCwgNzUsIDc5LCA4MCwgMTI4LCA3NSwgNzksIDc5LCA4MCwgCi0gICAgNzksIDEyOCwgNzUsIDc5LCA3OSwgNzcsIDg1LCA4NSwgODQsIDEyOCwgNzUsIDc5LCA3OSwgMTI4LCA3NSwgNzksIDc4LCAKLSAgICA4NCwgNjksIDg2LCA3NywgNjUsIDEyOCwgNzUsIDc5LCA3OCwgODQsIDY5LCA4NiwgNzcsIDE5MywgNzUsIDc5LCA3NywgCi0gICAgMjAxLCA3NSwgNzksIDc3LCA2NiwgODUsIDg2LCA2NSwgMTI4LCA3NSwgNzksIDc3LCA2NiwgODUsIDg2LCAxOTMsIDc1LCAKLSAgICA3OSwgNzcsIDY2LCAyMTMsIDc1LCA3OSwgNzUsIDc5LCAxMjgsIDc1LCA3OSwgNzUsIDEyOCwgNzUsIDc5LCAyMDMsIDc1LCAKKyAgICA3NiwgNjUsIDEyOCwgNzYsIDY1LCA4NSwgNzUsIDY1LCAyMTgsIDc2LCA2NSwgODUsIDc0LCAxMjgsIDc2LCA2NSwgODQsIAorICAgIDczLCA3OCwgNjUsIDg0LCAxOTcsIDc2LCA2NSwgODQsIDczLCA3NSwgMTI4LCA3NiwgNjUsIDg0LCA2OSwgODIsIDY1LCAKKyAgICAyMDQsIDc2LCA2NSwgODQsIDE5NywgNzYsIDY1LCA4MywgMjEyLCA3NiwgNjUsIDgyLCA4OSwgNzgsIDcxLCA2OSwgNjUsIAorICAgIDIwNCwgNzYsIDY1LCA4MiwgNzEsIDY5LCAyMTAsIDc2LCA2NSwgODIsIDcxLCA2OSwgMTI4LCA3NiwgNjUsIDgyLCA3MSwgCisgICAgMTk3LCA3NiwgNjUsIDgxLCAxMjgsIDc2LCA2NSwgODAsIDY1LCA4MSwgMTI4LCA3NiwgNjUsIDIwNywgNzYsIDY1LCA3OCwgCisgICAgODQsIDY5LCA4MiwgNzgsIDEyOCwgNzYsIDY1LCA3OCwgNzEsIDg1LCA2NSwgNzEsIDE5NywgNzYsIDY1LCA3OCwgNjksIDgzLCAKKyAgICAxMjgsIDc2LCA2NSwgNzgsIDEyOCwgNzYsIDY1LCA3NywgODAsIDEyOCwgNzYsIDY1LCA3NywgNjksIDY4LCA3MiwgMTI4LCAKKyAgICA3NiwgNjUsIDc3LCA2OSwgNjgsIDEyOCwgNzYsIDY1LCA3NywgNjksIDE5NiwgNzYsIDY1LCA3NywgNjksIDEyOCwgNzYsIAorICAgIDY1LCA3NywgMTk3LCA3NiwgNjUsIDc3LCA2OCwgNjUsIDEyOCwgNzYsIDY1LCA3NywgNjgsIDEyOCwgNzYsIDY1LCA3NywgCisgICAgNjYsIDY4LCAxOTMsIDc2LCA2NSwgNzcsIDY1LCA2OCwgNzIsIDEyOCwgNzYsIDY1LCA3NiwgMTI4LCA3NiwgNjUsIDIwNCwgCisgICAgNzYsIDY1LCA3NSwgNzUsIDcyLCA2NSwgNzgsIDcxLCA4OSwgNjUsIDc5LCAxMjgsIDc2LCA2NSwgNzQsIDY1LCA3OCwgODksIAorICAgIDY1LCA3NiwgNjUsIDc4LCAxMjgsIDc2LCA2NSwgNzMsIDc4LCAxOTksIDc2LCA2NSwgMjAxLCA3NiwgNjUsIDcyLCA4MywgCisgICAgNzIsIDg1LCAxMjgsIDc2LCA2NSwgNzIsIDEyOCwgNzYsIDY1LCA3MSwgODUsIDgzLCAxMjgsIDc2LCA2NSwgNzEsIDIxMywgCisgICAgNzYsIDY1LCA3MSwgNjUsIDgyLCAxMjgsIDc2LCA2NSwgNzEsIDY1LCAyMTAsIDc2LCA2NSwgNzEsIDY1LCA2NiwgMTI4LCAKKyAgICA3NiwgNjUsIDcxLCA2NSwgMTk0LCA3NiwgNjUsIDY5LCA4NiwgMTI4LCA3NiwgNjUsIDY5LCAxMjgsIDc2LCA2NSwgNjgsIAorICAgIDIxNywgNzYsIDY1LCA2NywgNzUsIDEyOCwgNzYsIDY1LCA2NywgNjUsIDEyOCwgNzYsIDY1LCA2NiwgNzksIDg1LCA4MiwgCisgICAgNzMsIDc4LCA3MSwgMTI4LCA3NiwgNjUsIDY2LCA3OSwgODIsIDEyOCwgNzYsIDY1LCA2NiwgNzMsIDY1LCA3NiwgNzMsIDkwLCAKKyAgICA2NSwgODQsIDczLCA3OSwgMjA2LCA3NiwgNjUsIDY2LCA3MywgNjUsIDIwNCwgNzYsIDY1LCA2NiwgNjksIDc2LCAxMjgsIAorICAgIDc2LCA2NSwgNjYsIDY1LCA4NCwgMTI4LCA3NiwgNjUsIDY1LCA3OCwgNjUsIDY5LCAxMjgsIDc2LCA2NSwgNjUsIDc4LCAKKyAgICAxMjgsIDc2LCA2NSwgNjUsIDc3LCA4NSwgMTI4LCA3NiwgNjUsIDY1LCA3NywgMTI4LCA3NiwgNjUsIDY1LCA3MywgMTI4LCAKKyAgICA3NiwgNTQsIDEyOCwgNzYsIDUyLCAxMjgsIDc2LCA1MSwgMTI4LCA3NiwgNTAsIDEyOCwgNzYsIDQ4LCA0OCwgNTQsIDY1LCAKKyAgICAxMjgsIDc2LCA0OCwgNDgsIDUwLCA2NSwgMTI4LCA3NiwgNDUsIDg0LCA4OSwgODAsIDE5NywgNzYsIDQ1LCA4MywgNzIsIAorICAgIDY1LCA4MCwgNjksIDE5NiwgNzUsIDg5LCA4NSwgODIsIDczLCA3MywgMTI4LCA3NSwgODksIDg1LCAxMjgsIDc1LCA4OSwgCisgICAgNzksIDEyOCwgNzUsIDg5LCA3NiwgNzMsIDgzLCA3NywgNjUsIDEyOCwgNzUsIDg5LCA3MywgMTI4LCA3NSwgODksIDY5LCAKKyAgICAxMjgsIDc1LCA4OSwgNjUsIDg0LCA3MiwgNzksIDIxMSwgNzUsIDg5LCA2NSwgNjUsIDEyOCwgNzUsIDg5LCA2NSwgMTI4LCAKKyAgICA3NSwgODgsIDg3LCA3MywgMTI4LCA3NSwgODgsIDg3LCA2OSwgNjksIDEyOCwgNzUsIDg4LCA4NywgNjksIDEyOCwgNzUsIAorICAgIDg4LCA4NywgNjUsIDY1LCAxMjgsIDc1LCA4OCwgODcsIDY1LCAxMjgsIDc1LCA4OCwgODUsIDEyOCwgNzUsIDg4LCA3OSwgCisgICAgMTI4LCA3NSwgODgsIDczLCAxMjgsIDc1LCA4OCwgNjksIDY5LCAxMjgsIDc1LCA4OCwgNjksIDEyOCwgNzUsIDg4LCA2NSwgCisgICAgNjUsIDEyOCwgNzUsIDg4LCA2NSwgMTI4LCA3NSwgODcsIDg2LCAxMjgsIDc1LCA4NywgODUsIDUxLCA0OSwgNTYsIDEyOCwgCisgICAgNzUsIDg3LCA3OSwgNzksIDEyOCwgNzUsIDg3LCA3OSwgMTI4LCA3NSwgODcsIDc3LCAxMjgsIDc1LCA4NywgNzMsIDczLCAKKyAgICAxMjgsIDc1LCA4NywgNzMsIDEyOCwgNzUsIDg3LCA2OSwgNjksIDEyOCwgNzUsIDg3LCA2OSwgMTI4LCA3NSwgODcsIDY2LCAKKyAgICAxMjgsIDc1LCA4NywgNjUsIDg5LCAxMjgsIDc1LCA4NywgNjUsIDY5LCA4NCwgMTI4LCA3NSwgODcsIDY1LCA2NSwgMTI4LCAKKyAgICA3NSwgODYsIDY1LCAxMjgsIDc1LCA4NiwgMTI4LCA3NSwgODUsIDg4LCAxMjgsIDc1LCA4NSwgODYsIDEyOCwgNzUsIDg1LCAKKyAgICA4NSwgNzIsIDEyOCwgNzUsIDg1LCA4NCwgMTI4LCA3NSwgODUsIDgzLCA3NywgNjUsIDEyOCwgNzUsIDg1LCA4MywgNzIsIAorICAgIDg1LCA1MCwgMTI4LCA3NSwgODUsIDgyLCA4OCwgMTI4LCA3NSwgODUsIDgyLCA4NSwgOTAsIDY5LCA3MywgODIsIDc5LCAKKyAgICAxMjgsIDc1LCA4NSwgODIsIDg0LCAxMjgsIDc1LCA4NSwgODIsIDc5LCA3OSwgNzgsIDY5LCAxMjgsIDc1LCA4NSwgODIsIAorICAgIDEyOCwgNzUsIDg1LCAyMTAsIDc1LCA4NSwgODEsIDEyOCwgNzUsIDg1LCA3OSwgODgsIDEyOCwgNzUsIDg1LCA3OSwgODAsIAorICAgIDEyOCwgNzUsIDg1LCA3OSwgMjA4LCA3NSwgODUsIDc5LCA3NywgMTI4LCA3NSwgODUsIDc5LCAxMjgsIDc1LCA4NSwgNzgsIAorICAgIDcxLCAxMjgsIDc1LCA4NSwgNzgsIDY4LCA2OCwgNjUsIDc2LCA3MywgODksIDY1LCAxMjgsIDc1LCA4NSwgNzYsIDEyOCwgCisgICAgNzUsIDg1LCAyMDQsIDc1LCA4NSwgNzEsIDEyOCwgNzUsIDg1LCA2OSwgODQsIDEyOCwgNzUsIDg1LCA2NiwgMTI4LCA3NSwgCisgICAgODUsIDY1LCA4NiwgMTI4LCA3NSwgODUsIDY1LCA2NiwgMTI4LCA3NSwgODUsIDY1LCAxMjgsIDc1LCA4NSwgNTUsIDEyOCwgCisgICAgNzUsIDg1LCA1MiwgMTI4LCA3NSwgODUsIDE4MCwgNzUsIDg1LCA1MSwgMTI4LCA3NSwgODUsIDE3OSwgNzUsIDg0LCAxMjgsIAorICAgIDc1LCA4MywgODMsIDg1LCA4NSwgMTI4LCA3NSwgODMsIDgzLCA4NSwgMTI4LCA3NSwgODMsIDgzLCA3OSwgNzksIDEyOCwgCisgICAgNzUsIDgzLCA4MywgNzksIDEyOCwgNzUsIDgzLCA4MywgNzMsIDczLCAxMjgsIDc1LCA4MywgODMsIDczLCAxMjgsIDc1LCAKKyAgICA4MywgODMsIDY5LCA2OSwgMTI4LCA3NSwgODMsIDgzLCA2OSwgMTI4LCA3NSwgODMsIDgzLCA2NSwgODUsIDEyOCwgNzUsIAorICAgIDgzLCA4MywgNjUsIDczLCAxMjgsIDc1LCA4MywgODMsIDY1LCA2NSwgMTI4LCA3NSwgODMsIDgzLCA2NSwgMTI4LCA3NSwgCisgICAgODMsIDgzLCAxMjgsIDc1LCA4MywgNzMsIDEyOCwgNzUsIDgyLCA2OSwgNzcsIDY1LCA4MywgODQsIDczLCAxMjgsIDc1LCAKKyAgICA4MiwgNjUsIDg0LCA3MywgNzcsIDc5LCA4OSwgODAsIDc5LCA4MiwgODIsIDc5LCA3OSwgNzgsIDEyOCwgNzUsIDgyLCA2NSwgCisgICAgODQsIDczLCA3NywgNzksIDc1LCA3OSwgODUsIDcwLCA3MywgODMsIDc3LCA2NSwgMTI4LCA3NSwgODIsIDY1LCA4NCwgNzMsIAorICAgIDc3LCA2NSwgODQsIDY1LCAxMjgsIDc1LCA4MiwgNjUsIDg0LCA3MywgNzcsIDE5MywgNzUsIDgwLCA4NSwgMTI4LCA3NSwgCisgICAgODAsIDc5LCA4MSwgMTI4LCA3NSwgODAsIDc5LCA3OSwgMTI4LCA3NSwgODAsIDc5LCAxMjgsIDc1LCA4MCwgNzMsIDEyOCwgCisgICAgNzUsIDgwLCA2OSwgODUsIDg4LCAxMjgsIDc1LCA4MCwgNjksIDY5LCAxMjgsIDc1LCA4MCwgNjksIDEyOCwgNzUsIDgwLCAKKyAgICA2NSwgODIsIDY1LCA4MSwgMTI4LCA3NSwgODAsIDY1LCA3OCwgMTI4LCA3NSwgODAsIDY1LCA3MiwgMTI4LCA3NSwgODAsIAorICAgIDY1LCAxMjgsIDc1LCA3OSwgODgsIDEyOCwgNzUsIDc5LCA4NiwgODUsIDg1LCAxMjgsIDc1LCA3OSwgODYsIDEyOCwgNzUsIAorICAgIDc5LCA4NCwgNzksIDEyOCwgNzUsIDc5LCA4MiwgODUsIDc4LCA2NSwgMTI4LCA3NSwgNzksIDgyLCA3OSwgNzgsIDczLCA4MywgCisgICAgMTI4LCA3NSwgNzksIDgyLCA2OSwgNjUsIDIwNiwgNzUsIDc5LCA4MiwgNjUsIDc4LCA3MywgMTk1LCA3NSwgNzksIDgxLCAKKyAgICA3OCwgNjgsIDc5LCA3OCwgMTI4LCA3NSwgNzksIDgwLCA4MCwgNjUsIDEyOCwgNzUsIDc5LCA4MCwgMTI4LCA3NSwgNzksIAorICAgIDc5LCA4NiwgMTI4LCA3NSwgNzksIDc5LCA4MCwgNzksIDEyOCwgNzUsIDc5LCA3OSwgNzcsIDg1LCA4NSwgODQsIDEyOCwgCisgICAgNzUsIDc5LCA3OSwgNjYsIDEyOCwgNzUsIDc5LCA3OSwgMTI4LCA3NSwgNzksIDc4LCA4NCwgNjksIDg2LCA3NywgNjUsIAorICAgIDEyOCwgNzUsIDc5LCA3OCwgODQsIDY5LCA4NiwgNzcsIDE5MywgNzUsIDc5LCA3NywgMjAxLCA3NSwgNzksIDc3LCA2NiwgCisgICAgODUsIDg2LCA2NSwgMTI4LCA3NSwgNzksIDc3LCA2NiwgODUsIDg2LCAxOTMsIDc1LCA3OSwgNzcsIDY2LCAyMTMsIDc1LCAKKyAgICA3OSwgNzUsIDc5LCAxMjgsIDc1LCA3OSwgNzUsIDY5LCAxMjgsIDc1LCA3OSwgNzUsIDEyOCwgNzUsIDc5LCAyMDMsIDc1LCAKICAgICA3OSwgNzMsIDEyOCwgNzUsIDc5LCAyMDEsIDc1LCA3OSwgNzIsIDEyOCwgNzUsIDc5LCA3MSwgNzIsIDc5LCA3NywgMTI4LCAKLSAgICA3NSwgNzksIDY5LCA4NCwgMTI4LCA3NSwgNzksIDY1LCA3NiwgNjUsIDEyOCwgNzUsIDc5LCA2NSwgMTI4LCA3NSwgNzgsIAotICAgIDczLCA3MSwgNzIsIDg0LCAxMjgsIDc1LCA3OCwgNzMsIDcxLCA3MiwgMjEyLCA3NSwgNzgsIDczLCA3MCwgNjksIDEyOCwgCi0gICAgNzUsIDc4LCA3MywgNzAsIDE5NywgNzUsIDc3LCAxMjgsIDc1LCAyMDUsIDc1LCA3NiwgNzMsIDg0LCA3OSwgNzgsIDEyOCwgCi0gICAgNzUsIDc2LCA2NSwgODMsIDc3LCA2NSwgMTI4LCA3NSwgNzYsIDY1LCA4MywgNzcsIDE5MywgNzUsIDc2LCA2NSwgMTI4LCAKLSAgICA3NSwgNzYsIDEyOCwgNzUsIDc1LCA4NSwgMTI4LCA3NSwgNzUsIDc5LCAxMjgsIDc1LCA3NSwgNzMsIDEyOCwgNzUsIDc1LCAKLSAgICA2OSwgNjksIDEyOCwgNzUsIDc1LCA2OSwgMTI4LCA3NSwgNzUsIDY1LCAxMjgsIDc1LCA3NSwgMTI4LCA3NSwgNzQsIDY5LCAKLSAgICAxMjgsIDc1LCA3MywgODksIDY5LCA3OSwgNzUsIDQ1LCA4NCwgNzMsIDc1LCA2OSwgODUsIDg0LCAxMjgsIDc1LCA3MywgODksIAotICAgIDY5LCA3OSwgNzUsIDQ1LCA4MywgNzMsIDc5LCA4MywgNDUsIDc1LCA3MywgODksIDY5LCA3OSwgNzUsIDEyOCwgNzUsIDczLCAKLSAgICA4OSwgNjksIDc5LCA3NSwgNDUsIDgyLCA3MywgNjksIDg1LCA3NiwgMTI4LCA3NSwgNzMsIDg5LCA2OSwgNzksIDc1LCA0NSwgCi0gICAgODAsIDczLCA2OSwgODUsIDgwLCAxMjgsIDc1LCA3MywgODksIDY5LCA3OSwgNzUsIDQ1LCA3OCwgNzMsIDY5LCA4NSwgNzgsIAotICAgIDEyOCwgNzUsIDczLCA4OSwgNjksIDc5LCA3NSwgNDUsIDc1LCA3MiwgNzMsIDY5LCA4NSwgNzUsIDcyLCAxMjgsIDc1LCA3MywgCi0gICAgODksIDY5LCA3OSwgNzUsIDQ1LCA2NywgNzIsIDczLCA2OSwgODUsIDY3LCA3MiwgMTI4LCA3NSwgNzMsIDg5LCA2OSwgNzksIAotICAgIDIwMywgNzUsIDczLCA4OCwgMTI4LCA3NSwgNzMsIDg0LCAxMjgsIDc1LCA3MywgODMsIDgzLCA3MywgNzgsIDE5OSwgNzUsIAotICAgIDczLCA4MywgODMsIDEyOCwgNzUsIDczLCA4MywgMjExLCA3NSwgNzMsIDgzLCA3MywgNzcsIDUzLCAxMjgsIDc1LCA3MywgCi0gICAgODMsIDczLCA3NywgMTgxLCA3NSwgNzMsIDgzLCA3MiwgMTI4LCA3NSwgNzMsIDgzLCA2NSwgNzYsIDEyOCwgNzUsIDczLCAKLSAgICA4MiwgNzksIDg3LCA2NSwgODQsIDg0LCA3OSwgMTI4LCA3NSwgNzMsIDgyLCA3OSwgNzcsIDY5LCA2OSwgODQsIDc5LCA4MiwgCi0gICAgODUsIDEyOCwgNzUsIDczLCA4MiwgNzksIDcxLCA4NSwgODIsIDY1LCA3NywgODUsIDEyOCwgNzUsIDczLCA4MiwgNzksIAotICAgIDEyOCwgNzUsIDczLCA4MiwgNzEsIDcyLCA3MywgMjE4LCA3NSwgNzMsIDgxLCAxMjgsIDc1LCA3MywgODAsIDEyOCwgNzUsIAotICAgIDczLCAyMDgsIDc1LCA3MywgNzgsIDgzLCA3MiwgNzMsIDgwLCAxMjgsIDc1LCA3MywgNzgsIDY4LCA2OSwgODIsIDcxLCA2NSwgCi0gICAgODIsIDg0LCA2OSwgNzgsIDEyOCwgNzUsIDczLCA3NywgNzksIDc4LCA3OSwgMTI4LCA3NSwgNzMsIDczLCAxMjgsIDc1LCAKLSAgICA3MywgNzIsIDEyOCwgNzUsIDczLCA2OSwgODgsIDEyOCwgNzUsIDczLCA2OSwgODAsIDEyOCwgNzUsIDczLCA2OSwgNjksIAotICAgIDc3LCAxMjgsIDc1LCA3MywgNjksIDEyOCwgNzUsIDczLCA2OCwgMTI4LCA3NSwgNzMsIDE5NiwgNzUsIDczLCA2NywgNzUsIAotICAgIDEyOCwgNzUsIDcyLCA5MCwgMTI4LCA3NSwgNzIsIDg3LCA2NSwgNzMsIDEyOCwgNzUsIDcyLCA4NSwgNjksIDc4LCA0NSwgCi0gICAgNzYsIDg1LCAxOTcsIDc1LCA3MiwgODUsIDY5LCAyMDYsIDc1LCA3MiwgODUsIDY4LCA2NSwgNzcsIDEyOCwgNzUsIDcyLCAKLSAgICA4NSwgNjUsIDg0LCAxMjgsIDc1LCA3MiwgNzksIDg1LCAxMjgsIDc1LCA3MiwgNzksIDIxMiwgNzUsIDcyLCA3OSwgNzgsIAotICAgIDEyOCwgNzUsIDcyLCA3OSwgNzcsIDg1LCA4NCwgMTI4LCA3NSwgNzIsIDc5LCAxMjgsIDc1LCA3MiwgMjA3LCA3NSwgNzIsIAotICAgIDc3LCAyMTMsIDc1LCA3MiwgNzMsIDg0LCAxMjgsIDc1LCA3MiwgNzMsIDc4LCA4OSwgNjUsIDEyOCwgNzUsIDcyLCA3MywgCi0gICAgNjksIDg1LCA3NSwgMjAwLCA3NSwgNzIsIDczLCAxMjgsIDc1LCA3MiwgNzIsIDc5LCAxMjgsIDc1LCA3MiwgNzIsIDY1LCAKLSAgICAxMjgsIDc1LCA3MiwgNjksIDg0LCA3MiwgMTI4LCA3NSwgNzIsIDY5LCA3MywgMTI4LCA3NSwgNzIsIDY5LCA2OSwgMTI4LCAKLSAgICA3NSwgNzIsIDY5LCAxMjgsIDc1LCA3MiwgNjUsIDgyLCA3OSwgODMsIDcyLCA4NCwgNzIsIDIwMSwgNzUsIDcyLCA2NSwgODIsIAotICAgIDEyOCwgNzUsIDcyLCA2NSwgODAsIDcyLCAxMjgsIDc1LCA3MiwgNjUsIDc4LCAxOTksIDc1LCA3MiwgNjUsIDc4LCA2OCwgCi0gICAgMTkzLCA3NSwgNzIsIDY1LCA3OCwgMTI4LCA3NSwgNzIsIDY1LCA3NywgODQsIDIwMSwgNzUsIDcyLCA2NSwgNzUsIDY1LCAKLSAgICA4MywgODMsIDczLCA2NSwgMjA2LCA3NSwgNzIsIDY1LCA3MywgMTI4LCA3NSwgNzIsIDY1LCA3MiwgMTI4LCA3NSwgNzIsIAotICAgIDY1LCAyMDAsIDc1LCA3MiwgNjUsIDY1LCAxMjgsIDc1LCA3MSwgMTI4LCA3NSwgNjksIDg5LCA2NywgNjUsIDgwLCAxMjgsIAotICAgIDc1LCA2OSwgODksIDY3LCA2NSwgMjA4LCA3NSwgNjksIDg5LCA2NiwgNzksIDY1LCA4MiwgNjgsIDEyOCwgNzUsIDY5LCA4OCwgCi0gICAgMTI4LCA3NSwgNjksIDg1LCA4OSwgNjksIDg1LCA4OCwgMTI4LCA3NSwgNjksIDg1LCA4MywgNzIsIDY5LCA4NSwgNjUsIDY5LCAKLSAgICA4MCwgMTI4LCA3NSwgNjksIDg1LCA4MywgNjksIDg1LCA4OCwgMTI4LCA3NSwgNjksIDg1LCA4MCwgODUsIDgxLCAxMjgsIAotICAgIDc1LCA2OSwgODUsIDc5LCAyMTIsIDc1LCA2OSwgODUsIDc3LCAxMjgsIDc1LCA2OSwgODUsIDc1LCA2OSwgODUsIDg0LCA3OCwgCi0gICAgNjgsIDY1LCAxMjgsIDc1LCA2OSwgODUsIDc1LCA2NSwgODEsIDEyOCwgNzUsIDY5LCA4NSwgNjUsIDY5LCA4NCwgNzcsIDY5LCAKLSAgICA4NSwgNzgsIDEyOCwgNzUsIDY5LCA4NSwgNjUsIDY5LCA4MiwgNzMsIDEyOCwgNzUsIDY5LCA4NCwgODQsIDIwMSwgNzUsIAotICAgIDY5LCA4MywgNzIsIDUwLCAxMjgsIDc1LCA2OSwgODIsIDY5LCA4NCwgMTI4LCA3NSwgNjksIDc5LCA4NywgMTI4LCA3NSwgCi0gICAgNjksIDc4LCA4NCwgNzMsIDc3LCA2NSwgODQsIDY1LCAxMjgsIDc1LCA2OSwgNzgsIDg0LCA3MywgNzcsIDY1LCA4NCwgMTkzLCAKLSAgICA3NSwgNjksIDc4LCA4NCwgNzMsIDc3LCAxOTMsIDc1LCA2OSwgNzgsIDY1LCA4NCwgMTI4LCA3NSwgNjksIDc4LCAxMjgsIAotICAgIDc1LCA2OSwgMjA2LCA3NSwgNjksIDc3LCA4MCwgODUsIDc2LCAxMjgsIDc1LCA2OSwgNzcsIDgwLCA4NSwgMjA0LCA3NSwgCi0gICAgNjksIDc3LCA4MCwgNzYsIDczLCAxMjgsIDc1LCA2OSwgNzcsIDgwLCA3NiwgMjAxLCA3NSwgNjksIDc3LCA4MCwgNzIsIDgyLCAKLSAgICA2OSwgNzgsIDcxLCAxMjgsIDc1LCA2OSwgNzcsIDY2LCA2NSwgNzgsIDcxLCAxMjgsIDc1LCA2OSwgNzYsIDg2LCA3MywgCi0gICAgMjA2LCA3NSwgNjksIDcyLCA2OSwgNzIsIDEyOCwgNzUsIDY5LCA3MiwgNjksIDIwMCwgNzUsIDY5LCA3MiwgMTI4LCA3NSwgCi0gICAgNjksIDcwLCA4NSwgNzYsIDY1LCAxMjgsIDc1LCA2OSwgNjksIDgzLCA4NSwgMTI4LCA3NSwgNjksIDY5LCA4MCwgNzMsIDc4LCAKLSAgICAxOTksIDc1LCA2OSwgNjksIDc4LCA3MSwgMTI4LCA3NSwgNjcsIDY1LCA3NiwgMTI4LCA3NSwgNjYsIDEyOCwgNzUsIDY1LCAKLSAgICA5MCwgNjUsIDc1LCAyMDAsIDc1LCA2NSwgODksIDY1LCA3OCwgNzgsIDY1LCAxMjgsIDc1LCA2NSwgODksIDY1LCAyMDAsIAotICAgIDc1LCA2NSwgODgsIDEyOCwgNzUsIDY1LCA4NywgNzMsIDEyOCwgNzUsIDY1LCA4NiwgODksIDc1LCA2NSwgMTI4LCA3NSwgCi0gICAgNjUsIDg1LCA3OCwgNjUsIDEyOCwgNzUsIDY1LCA4NSwgMjA2LCA3NSwgNjUsIDg1LCAxMjgsIDc1LCA2NSwgODQsIDc5LCAKLSAgICAxMjgsIDc1LCA2NSwgODQsIDcyLCA3MywgODMsIDg0LCA3MywgMTI4LCA3NSwgNjUsIDg0LCA3MiwgNjUsIDc1LCAxOTMsIAotICAgIDc1LCA2NSwgODQsIDY1LCA4NiwgNjUsIDgzLCA3NywgNjUsIDEyOCwgNzUsIDY1LCA4NCwgNjUsIDg2LCAxOTMsIDc1LCA2NSwgCi0gICAgODQsIDY1LCA3NSwgNjUsIDc4LCA2NSwgNDUsIDcyLCA3MywgODIsIDY1LCA3MSwgNjUsIDc4LCAxOTMsIDc1LCA2NSwgODMsIAotICAgIDgyLCA2NSwgODQsIDY1LCA3OCwgMTI4LCA3NSwgNjUsIDgzLCA4MiwgNjUsIDg0LCA2NSwgMjA2LCA3NSwgNjUsIDgzLCA4MiwgCi0gICAgNjUsIDEyOCwgNzUsIDY1LCA4MywgODIsIDE5MywgNzUsIDY1LCA4MywgNzUsIDY1LCA3NiwgMTI4LCA3NSwgNjUsIDgzLCAKLSAgICA3NSwgNjUsIDIwNCwgNzUsIDY1LCA4MywgNzIsIDc3LCA3MywgODIsIDIwMSwgNzUsIDY1LCA4MiwgODMsIDcyLCA2NSwgNzgsIAotICAgIDY1LCAxMjgsIDc1LCA2NSwgODIsIDc5LCA4MiwgNzMsIDczLCAxMjgsIDc1LCA2NSwgODIsIDIwNywgNzUsIDY1LCA4MiwgCi0gICAgNjksIDIwNiwgNzUsIDY1LCA4MiwgNjUsIDg0LCA4NCwgNzksIDEyOCwgNzUsIDY1LCA4MiwgNjUsIDc4LCAxMjgsIDc1LCAKLSAgICA2NSwgODAsIDg5LCA2OSwgNzksIDg1LCA3OCwgODMsIDgzLCA2NSwgNzgsIDcxLCA4MCwgNzMsIDY5LCA4NSwgODAsIDEyOCwgCi0gICAgNzUsIDY1LCA4MCwgODksIDY5LCA3OSwgODUsIDc4LCA4MiwgNzMsIDY5LCA4NSwgNzYsIDEyOCwgNzUsIDY1LCA4MCwgODksIAotICAgIDY5LCA3OSwgODUsIDc4LCA4MCwgNzIsIDczLCA2OSwgODUsIDgwLCA3MiwgMTI4LCA3NSwgNjUsIDgwLCA4OSwgNjksIDc5LCAKLSAgICA4NSwgNzgsIDc3LCA3MywgNjksIDg1LCA3NywgMTI4LCA3NSwgNjUsIDgwLCA4MCwgNjUsIDEyOCwgNzUsIDY1LCA4MCwgODAsIAotICAgIDE5MywgNzUsIDY1LCA4MCwgNzksIDEyOCwgNzUsIDY1LCA4MCwgNzIsIDEyOCwgNzUsIDY1LCA4MCwgNjUsIDc2LCAxMjgsIAotICAgIDc1LCA2NSwgODAsIDY1LCAxMjgsIDc1LCA2NSwgNzgsIDg0LCA2NSwgNzQsIDE5MywgNzUsIDY1LCA3OCwgNzEsIDEyOCwgCi0gICAgNzUsIDY1LCA3OCwgMTk5LCA3NSwgNjUsIDc4LCA2NSwgNzUsIDc5LCAxMjgsIDc1LCA2NSwgNzcsIDUyLCAxMjgsIDc1LCAKLSAgICA2NSwgNzcsIDUwLCAxMjgsIDc1LCA2NSwgNzcsIDEyOCwgNzUsIDY1LCA3NSwgNzksIDEyOCwgNzUsIDY1LCA3NSwgNjUsIAotICAgIDY2LCA2NSwgODQsIDEyOCwgNzUsIDY1LCA3NSwgMTI4LCA3NSwgNjUsIDIwMywgNzUsIDY1LCA3MywgODQsIDcyLCAyMDEsIAotICAgIDc1LCA2NSwgNzMsIDgyLCA3MywgMTI4LCA3NSwgNjUsIDczLCAxMjgsIDc1LCA2NSwgMjAxLCA3NSwgNjUsIDcwLCA2NSwgCi0gICAgMTI4LCA3NSwgNjUsIDcwLCAxMjgsIDc1LCA2NSwgMTk4LCA3NSwgNjUsIDY4LCA1MywgMTI4LCA3NSwgNjUsIDY4LCAxODEsIAotICAgIDc1LCA2NSwgNjgsIDUyLCAxMjgsIDc1LCA2NSwgNjgsIDUxLCAxMjgsIDc1LCA2NSwgNjgsIDE3OSwgNzUsIDY1LCA2OCwgCi0gICAgNTAsIDEyOCwgNzUsIDY1LCA2OCwgMTI4LCA3NSwgNjUsIDY2LCAxOTMsIDc1LCA2NSwgNjYsIDEyOCwgNzUsIDY1LCA2NSwgCi0gICAgNzMsIDEyOCwgNzUsIDY1LCA2NSwgNzAsIDg1LCAxMjgsIDc1LCA2NSwgNjUsIDcwLCAxMjgsIDc1LCA2NSwgNTAsIDEyOCwgCisgICAgNzUsIDc5LCA2OSwgODQsIDEyOCwgNzUsIDc5LCA2NiwgMTI4LCA3NSwgNzksIDY1LCA3NiwgNjUsIDEyOCwgNzUsIDc5LCAKKyAgICA2NSwgMTI4LCA3NSwgNzgsIDc5LCA2NiwgODMsIDEyOCwgNzUsIDc4LCA3MywgNzEsIDcyLCA4NCwgMTI4LCA3NSwgNzgsIAorICAgIDczLCA3MSwgNzIsIDIxMiwgNzUsIDc4LCA3MywgNzAsIDY5LCAxMjgsIDc1LCA3OCwgNzMsIDcwLCAxOTcsIDc1LCA3NywgCisgICAgMTI4LCA3NSwgMjA1LCA3NSwgNzYsIDczLCA4NCwgNzksIDc4LCAxMjgsIDc1LCA3NiwgNjUsIDgzLCA3NywgNjUsIDEyOCwgCisgICAgNzUsIDc2LCA2NSwgODMsIDc3LCAxOTMsIDc1LCA3NiwgNjUsIDEyOCwgNzUsIDc2LCAxMjgsIDc1LCA3NSwgODUsIDEyOCwgCisgICAgNzUsIDc1LCA3OSwgMTI4LCA3NSwgNzUsIDczLCAxMjgsIDc1LCA3NSwgNjksIDY5LCAxMjgsIDc1LCA3NSwgNjksIDEyOCwgCisgICAgNzUsIDc1LCA2NSwgMTI4LCA3NSwgNzUsIDEyOCwgNzUsIDc0LCA2OSwgMTI4LCA3NSwgNzMsIDg5LCA2OSwgNzksIDc1LCAKKyAgICA0NSwgODQsIDczLCA3NSwgNjksIDg1LCA4NCwgMTI4LCA3NSwgNzMsIDg5LCA2OSwgNzksIDc1LCA0NSwgODMsIDczLCA3OSwgCisgICAgODMsIDQ1LCA3NSwgNzMsIDg5LCA2OSwgNzksIDc1LCAxMjgsIDc1LCA3MywgODksIDY5LCA3OSwgNzUsIDQ1LCA4MiwgNzMsIAorICAgIDY5LCA4NSwgNzYsIDEyOCwgNzUsIDczLCA4OSwgNjksIDc5LCA3NSwgNDUsIDgwLCA3MywgNjksIDg1LCA4MCwgMTI4LCA3NSwgCisgICAgNzMsIDg5LCA2OSwgNzksIDc1LCA0NSwgNzgsIDczLCA2OSwgODUsIDc4LCAxMjgsIDc1LCA3MywgODksIDY5LCA3OSwgNzUsIAorICAgIDQ1LCA3NSwgNzIsIDczLCA2OSwgODUsIDc1LCA3MiwgMTI4LCA3NSwgNzMsIDg5LCA2OSwgNzksIDc1LCA0NSwgNjcsIDcyLCAKKyAgICA3MywgNjksIDg1LCA2NywgNzIsIDEyOCwgNzUsIDczLCA4OSwgNjksIDc5LCAyMDMsIDc1LCA3MywgODgsIDEyOCwgNzUsIAorICAgIDczLCA4NywgMTI4LCA3NSwgNzMsIDg2LCAxMjgsIDc1LCA3MywgODQsIDEyOCwgNzUsIDczLCA4MywgODMsIDczLCA3OCwgCisgICAgMTk5LCA3NSwgNzMsIDgzLCA4MywgMTI4LCA3NSwgNzMsIDgzLCAyMTEsIDc1LCA3MywgODMsIDczLCA3NywgNTMsIDEyOCwgCisgICAgNzUsIDczLCA4MywgNzMsIDc3LCAxODEsIDc1LCA3MywgODMsIDcyLCAxMjgsIDc1LCA3MywgODMsIDY1LCA3NiwgMTI4LCAKKyAgICA3NSwgNzMsIDgyLCA3OSwgODcsIDY1LCA4NCwgODQsIDc5LCAxMjgsIDc1LCA3MywgODIsIDc5LCA3NywgNjksIDY5LCA4NCwgCisgICAgNzksIDgyLCA4NSwgMTI4LCA3NSwgNzMsIDgyLCA3OSwgNzEsIDg1LCA4MiwgNjUsIDc3LCA4NSwgMTI4LCA3NSwgNzMsIDgyLCAKKyAgICA3OSwgMTI4LCA3NSwgNzMsIDgyLCA3MSwgNzIsIDczLCAyMTgsIDc1LCA3MywgODEsIDEyOCwgNzUsIDczLCA4MCwgMTI4LCAKKyAgICA3NSwgNzMsIDIwOCwgNzUsIDczLCA3OCwgODMsIDcyLCA3MywgODAsIDEyOCwgNzUsIDczLCA3OCwgNjgsIDY5LCA4MiwgNzEsIAorICAgIDY1LCA4MiwgODQsIDY5LCA3OCwgMTI4LCA3NSwgNzMsIDc3LCA3OSwgNzgsIDc5LCAxMjgsIDc1LCA3MywgNzMsIDEyOCwgCisgICAgNzUsIDczLCA3MiwgMTI4LCA3NSwgNzMsIDY5LCA4OCwgMTI4LCA3NSwgNzMsIDY5LCA4MCwgMTI4LCA3NSwgNzMsIDY5LCAKKyAgICA2OSwgNzcsIDEyOCwgNzUsIDczLCA2OSwgMTI4LCA3NSwgNzMsIDY4LCAxMjgsIDc1LCA3MywgMTk2LCA3NSwgNzMsIDY3LCAKKyAgICA3NSwgMTI4LCA3NSwgNzMsIDY2LCAxMjgsIDc1LCA3MywgNjUsIDg2LCAxMjgsIDc1LCA3MywgNjUsIDY2LCAxMjgsIDc1LCAKKyAgICA3MiwgOTAsIDEyOCwgNzUsIDcyLCA4NywgNjUsIDczLCAxMjgsIDc1LCA3MiwgODUsIDY5LCA3OCwgNDUsIDc2LCA4NSwgCisgICAgMTk3LCA3NSwgNzIsIDg1LCA2OSwgMjA2LCA3NSwgNzIsIDg1LCA2OCwgNjUsIDg3LCA2NSwgNjgsIDIwMSwgNzUsIDcyLCAKKyAgICA4NSwgNjgsIDY1LCA3NywgMTI4LCA3NSwgNzIsIDg1LCA2NSwgODQsIDEyOCwgNzUsIDcyLCA3OSwgODUsIDEyOCwgNzUsIAorICAgIDcyLCA3OSwgMjEyLCA3NSwgNzIsIDc5LCA3OCwgMTI4LCA3NSwgNzIsIDc5LCA3NywgODUsIDg0LCAxMjgsIDc1LCA3MiwgCisgICAgNzksIDc0LCA3NSwgMjAxLCA3NSwgNzIsIDc5LCAxMjgsIDc1LCA3MiwgMjA3LCA3NSwgNzIsIDc3LCAyMTMsIDc1LCA3MiwgCisgICAgNzMsIDg0LCAxMjgsIDc1LCA3MiwgNzMsIDc4LCA4OSwgNjUsIDEyOCwgNzUsIDcyLCA3MywgNjksIDg1LCA3NSwgMjAwLCAKKyAgICA3NSwgNzIsIDczLCAxMjgsIDc1LCA3MiwgMjAxLCA3NSwgNzIsIDcyLCA3OSwgMTI4LCA3NSwgNzIsIDcyLCA2NSwgMTI4LCAKKyAgICA3NSwgNzIsIDY5LCA4NCwgNzIsIDEyOCwgNzUsIDcyLCA2OSwgNzMsIDEyOCwgNzUsIDcyLCA2OSwgNjksIDEyOCwgNzUsIAorICAgIDcyLCA2OSwgMTI4LCA3NSwgNzIsIDY1LCA4NiwgMTI4LCA3NSwgNzIsIDY1LCA4MiwgNzksIDgzLCA3MiwgODQsIDcyLCAKKyAgICAyMDEsIDc1LCA3MiwgNjUsIDgyLCAxMjgsIDc1LCA3MiwgNjUsIDgwLCA3MiwgMTI4LCA3NSwgNzIsIDY1LCA3OCwgMTk5LCAKKyAgICA3NSwgNzIsIDY1LCA3OCwgNjgsIDE5MywgNzUsIDcyLCA2NSwgNzgsIDEyOCwgNzUsIDcyLCA2NSwgNzcsIDg0LCAyMDEsIAorICAgIDc1LCA3MiwgNjUsIDc1LCA2NSwgODMsIDgzLCA3MywgNjUsIDIwNiwgNzUsIDcyLCA2NSwgNzMsIDEyOCwgNzUsIDcyLCA2NSwgCisgICAgNzIsIDEyOCwgNzUsIDcyLCA2NSwgMjAwLCA3NSwgNzIsIDY1LCA2NiwgMTI4LCA3NSwgNzIsIDY1LCA2NSwgMTI4LCA3NSwgCisgICAgNzEsIDEyOCwgNzUsIDY5LCA4OSwgNjcsIDY1LCA4MCwgMTI4LCA3NSwgNjksIDg5LCA2NywgNjUsIDIwOCwgNzUsIDY5LCAKKyAgICA4OSwgNjYsIDc5LCA2NSwgODIsIDY4LCAxMjgsIDc1LCA2OSwgODksIDY2LCA3OSwgNjUsIDgyLCAxOTYsIDc1LCA2OSwgODgsIAorICAgIDEyOCwgNzUsIDY5LCA4NiwgMTI4LCA3NSwgNjksIDg1LCA4OSwgNjksIDg1LCA4OCwgMTI4LCA3NSwgNjksIDg1LCA4MywgCisgICAgNzIsIDY5LCA4NSwgNjUsIDY5LCA4MCwgMTI4LCA3NSwgNjksIDg1LCA4MywgNjksIDg1LCA4OCwgMTI4LCA3NSwgNjksIDg1LCAKKyAgICA4MCwgODUsIDgxLCAxMjgsIDc1LCA2OSwgODUsIDc5LCAyMTIsIDc1LCA2OSwgODUsIDc3LCAxMjgsIDc1LCA2OSwgODUsIAorICAgIDc1LCA2OSwgODUsIDg0LCA3OCwgNjgsIDY1LCAxMjgsIDc1LCA2OSwgODUsIDc1LCA2NSwgODEsIDEyOCwgNzUsIDY5LCA4NSwgCisgICAgNjUsIDY5LCA4NCwgNzcsIDY5LCA4NSwgNzgsIDEyOCwgNzUsIDY5LCA4NSwgNjUsIDY5LCA4MiwgNzMsIDEyOCwgNzUsIDY5LCAKKyAgICA4NCwgODQsIDIwMSwgNzUsIDY5LCA4MywgNzIsIDUwLCAxMjgsIDc1LCA2OSwgODIsIDY5LCA4NCwgMTI4LCA3NSwgNjksIAorICAgIDc5LCA4NywgMTI4LCA3NSwgNjksIDc4LCA4NCwgNzMsIDc3LCA2NSwgODQsIDY1LCAxMjgsIDc1LCA2OSwgNzgsIDg0LCA3MywgCisgICAgNzcsIDY1LCA4NCwgMTkzLCA3NSwgNjksIDc4LCA4NCwgNzMsIDc3LCAxOTMsIDc1LCA2OSwgNzgsIDY1LCA4NCwgMTI4LCAKKyAgICA3NSwgNjksIDc4LCAxMjgsIDc1LCA2OSwgMjA2LCA3NSwgNjksIDc3LCA4MCwgODUsIDc2LCAxMjgsIDc1LCA2OSwgNzcsIAorICAgIDgwLCA4NSwgMjA0LCA3NSwgNjksIDc3LCA4MCwgNzYsIDczLCAxMjgsIDc1LCA2OSwgNzcsIDgwLCA3NiwgMjAxLCA3NSwgCisgICAgNjksIDc3LCA4MCwgNzIsIDgyLCA2OSwgNzgsIDcxLCAxMjgsIDc1LCA2OSwgNzcsIDY2LCA2NSwgNzgsIDcxLCAxMjgsIDc1LCAKKyAgICA2OSwgNzYsIDg2LCA3MywgMjA2LCA3NSwgNjksIDcyLCA2OSwgNzIsIDEyOCwgNzUsIDY5LCA3MiwgNjksIDIwMCwgNzUsIAorICAgIDY5LCA3MiwgMTI4LCA3NSwgNjksIDcwLCA4NSwgNzYsIDY1LCAxMjgsIDc1LCA2OSwgNjksIDg2LCAxMjgsIDc1LCA2OSwgCisgICAgNjksIDgzLCA4NSwgMTI4LCA3NSwgNjksIDY5LCA4MCwgNzMsIDc4LCAxOTksIDc1LCA2OSwgNjksIDc4LCA3MSwgMTI4LCAKKyAgICA3NSwgNjksIDY5LCA2NiwgMTI4LCA3NSwgNjksIDY2LCAxMjgsIDc1LCA2OSwgNjUsIDY1LCA2OSwgMTI4LCA3NSwgNjcsIAorICAgIDY1LCA3NiwgMTI4LCA3NSwgNjYsIDEyOCwgNzUsIDY1LCA5MCwgNjUsIDc1LCAyMDAsIDc1LCA2NSwgODksIDY1LCA3OCwgCisgICAgNzgsIDY1LCAxMjgsIDc1LCA2NSwgODksIDY1LCAyMDAsIDc1LCA2NSwgODgsIDEyOCwgNzUsIDY1LCA4NywgODYsIDEyOCwgCisgICAgNzUsIDY1LCA4NywgNzMsIDEyOCwgNzUsIDY1LCA4NywgNjYsIDEyOCwgNzUsIDY1LCA4NiwgODksIDc1LCA2NSwgMTI4LCAKKyAgICA3NSwgNjUsIDg2LCAxMjgsIDc1LCA2NSwgODUsIDg2LCAxMjgsIDc1LCA2NSwgODUsIDc4LCA2NSwgMTI4LCA3NSwgNjUsIAorICAgIDg1LCAyMDYsIDc1LCA2NSwgODUsIDY2LCAxMjgsIDc1LCA2NSwgODQsIDc5LCAxMjgsIDc1LCA2NSwgODQsIDcyLCA3MywgCisgICAgODMsIDg0LCA3MywgMTI4LCA3NSwgNjUsIDg0LCA3MiwgNjUsIDc1LCAxOTMsIDc1LCA2NSwgODQsIDY1LCA4NiwgNjUsIDgzLCAKKyAgICA3NywgNjUsIDEyOCwgNzUsIDY1LCA4NCwgNjUsIDg2LCAxOTMsIDc1LCA2NSwgODQsIDY1LCA3NSwgNjUsIDc4LCA2NSwgNDUsIAorICAgIDcyLCA3MywgODIsIDY1LCA3MSwgNjUsIDc4LCAxOTMsIDc1LCA2NSwgODMsIDgyLCA2NSwgODQsIDY1LCA3OCwgMTI4LCA3NSwgCisgICAgNjUsIDgzLCA4MiwgNjUsIDg0LCA2NSwgMjA2LCA3NSwgNjUsIDgzLCA4MiwgNjUsIDEyOCwgNzUsIDY1LCA4MywgODIsIAorICAgIDE5MywgNzUsIDY1LCA4MywgNzUsIDY1LCA3NiwgMTI4LCA3NSwgNjUsIDgzLCA3NSwgNjUsIDIwNCwgNzUsIDY1LCA4MywgCisgICAgNzIsIDc3LCA3MywgODIsIDIwMSwgNzUsIDY1LCA4MiwgODMsIDcyLCA2NSwgNzgsIDY1LCAxMjgsIDc1LCA2NSwgODIsIDc5LCAKKyAgICA4MiwgNzMsIDczLCAxMjgsIDc1LCA2NSwgODIsIDIwNywgNzUsIDY1LCA4MiwgNjksIDIwNiwgNzUsIDY1LCA4MiwgNjUsIAorICAgIDg0LCA4NCwgNzksIDEyOCwgNzUsIDY1LCA4MiwgNjUsIDc4LCAxMjgsIDc1LCA2NSwgODAsIDg5LCA2OSwgNzksIDg1LCA3OCwgCisgICAgODMsIDgzLCA2NSwgNzgsIDcxLCA4MCwgNzMsIDY5LCA4NSwgODAsIDEyOCwgNzUsIDY1LCA4MCwgODksIDY5LCA3OSwgODUsIAorICAgIDc4LCA4MiwgNzMsIDY5LCA4NSwgNzYsIDEyOCwgNzUsIDY1LCA4MCwgODksIDY5LCA3OSwgODUsIDc4LCA4MCwgNzIsIDczLCAKKyAgICA2OSwgODUsIDgwLCA3MiwgMTI4LCA3NSwgNjUsIDgwLCA4OSwgNjksIDc5LCA4NSwgNzgsIDc3LCA3MywgNjksIDg1LCA3NywgCisgICAgMTI4LCA3NSwgNjUsIDgwLCA4MCwgNjUsIDEyOCwgNzUsIDY1LCA4MCwgODAsIDE5MywgNzUsIDY1LCA4MCwgNzksIDEyOCwgCisgICAgNzUsIDY1LCA4MCwgNzIsIDEyOCwgNzUsIDY1LCA4MCwgNjUsIDc2LCAxMjgsIDc1LCA2NSwgODAsIDY1LCAxMjgsIDc1LCAKKyAgICA2NSwgMjA4LCA3NSwgNjUsIDc4LCA4NCwgNjUsIDc0LCAxOTMsIDc1LCA2NSwgNzgsIDcxLCAxMjgsIDc1LCA2NSwgNzgsIAorICAgIDE5OSwgNzUsIDY1LCA3OCwgNjUsIDc1LCA3OSwgMTI4LCA3NSwgNjUsIDc3LCA1MiwgMTI4LCA3NSwgNjUsIDc3LCA1MCwgCisgICAgMTI4LCA3NSwgNjUsIDc3LCAxMjgsIDc1LCA2NSwgNzUsIDc5LCAxMjgsIDc1LCA2NSwgNzUsIDY1LCA2NiwgNjUsIDg0LCAKKyAgICAxMjgsIDc1LCA2NSwgNzUsIDEyOCwgNzUsIDY1LCAyMDMsIDc1LCA2NSwgNzMsIDg2LCAxMjgsIDc1LCA2NSwgNzMsIDg0LCAKKyAgICA3MiwgMjAxLCA3NSwgNjUsIDczLCA4MiwgNzMsIDEyOCwgNzUsIDY1LCA3MywgNjYsIDEyOCwgNzUsIDY1LCA3MywgMTI4LCAKKyAgICA3NSwgNjUsIDIwMSwgNzUsIDY1LCA3MCwgNjUsIDEyOCwgNzUsIDY1LCA3MCwgMTI4LCA3NSwgNjUsIDE5OCwgNzUsIDY1LCAKKyAgICA2OCwgNTMsIDEyOCwgNzUsIDY1LCA2OCwgMTgxLCA3NSwgNjUsIDY4LCA1MiwgMTI4LCA3NSwgNjUsIDY4LCA1MSwgMTI4LCAKKyAgICA3NSwgNjUsIDY4LCAxNzksIDc1LCA2NSwgNjgsIDUwLCAxMjgsIDc1LCA2NSwgNjgsIDEyOCwgNzUsIDY1LCA2NiwgMTkzLCAKKyAgICA3NSwgNjUsIDY2LCAxMjgsIDc1LCA2NSwgNjUsIDg2LCAxMjgsIDc1LCA2NSwgNjUsIDczLCAxMjgsIDc1LCA2NSwgNjUsIAorICAgIDcwLCA4NSwgMTI4LCA3NSwgNjUsIDY1LCA3MCwgMTI4LCA3NSwgNjUsIDY1LCA2NiwgMTI4LCA3NSwgNjUsIDUwLCAxMjgsIAogICAgIDc1LCA2NSwgMTc4LCA3NSwgNDgsIDQ4LCA1NiwgMTI4LCA3NSwgNDgsIDQ4LCA1NSwgMTI4LCA3NSwgNDgsIDQ4LCA1NCwgCiAgICAgMTI4LCA3NSwgNDgsIDQ4LCA1MywgMTI4LCA3NSwgNDgsIDQ4LCA1MiwgMTI4LCA3NSwgNDgsIDQ4LCA1MSwgMTI4LCA3NSwgCiAgICAgNDgsIDQ4LCA1MCwgMTI4LCA3NSwgNDgsIDQ4LCA0OSwgMTI4LCA3NCwgODcsIDY1LCAxMjgsIDc0LCA4NSwgODUsIDEyOCwgCkBAIC0yMzE5LDE1MDkgKzI0ODgsMTUzOCBAQAogICAgIDc0LCA4NSwgODAsIDczLCA4NCwgNjksIDgyLCAxMjgsIDc0LCA4NSwgNzksIDg0LCAxMjgsIDc0LCA4NSwgNzksIDgwLCAKICAgICAxMjgsIDc0LCA4NSwgNzgsIDc5LCAxMjgsIDc0LCA4NSwgNzgsIDY5LCAxMjgsIDc0LCA4NSwgNzYsIDg5LCAxMjgsIDc0LCAKICAgICA4NSwgNjksIDg1LCA3MywgMTI4LCA3NCwgODUsIDY4LCA4NSwgNzYsIDEyOCwgNzQsIDg1LCA2OCwgNzEsIDY5LCAxMjgsIAotICAgIDc0LCA4NSwgNjgsIDY5LCA3OSwgNDUsIDgzLCA4MCwgNjUsIDc4LCA3MywgODMsIDIwMCwgNzQsIDc5LCA4OSwgNzksIDg1LCAKLSAgICAyMTEsIDc0LCA3OSwgODksIDEyOCwgNzQsIDc5LCA4NiwgNjksIDEyOCwgNzQsIDc5LCAyMTIsIDc0LCA3OSwgNzgsIDcxLCAKLSAgICAxMjgsIDc0LCA3OSwgNzgsIDE5MywgNzQsIDc5LCA3NSwgNjksIDgyLCAxMjgsIDc0LCA3OSwgNzMsIDc4LCA2OSwgNjgsIAotICAgIDEyOCwgNzQsIDc5LCA3MywgNzgsIDEyOCwgNzQsIDc5LCA2NSwgMTI4LCA3NCwgNzQsIDg5LCA4OCwgMTI4LCA3NCwgNzQsIAotICAgIDg5LCA4NCwgMTI4LCA3NCwgNzQsIDg5LCA4MCwgMTI4LCA3NCwgNzQsIDg5LCAxMjgsIDc0LCA3NCwgODUsIDg4LCAxMjgsIAotICAgIDc0LCA3NCwgODUsIDg0LCAxMjgsIDc0LCA3NCwgODUsIDgyLCA4OCwgMTI4LCA3NCwgNzQsIDg1LCA4MiwgMTI4LCA3NCwgCi0gICAgNzQsIDg1LCA4MCwgMTI4LCA3NCwgNzQsIDg1LCA3OSwgODgsIDEyOCwgNzQsIDc0LCA4NSwgNzksIDgwLCAxMjgsIDc0LCAKLSAgICA3NCwgODUsIDc5LCAxMjgsIDc0LCA3NCwgODUsIDEyOCwgNzQsIDc0LCA3OSwgODgsIDEyOCwgNzQsIDc0LCA3OSwgODQsIAotICAgIDEyOCwgNzQsIDc0LCA3OSwgODAsIDEyOCwgNzQsIDc0LCA3OSwgMTI4LCA3NCwgNzQsIDczLCA4OCwgMTI4LCA3NCwgNzQsIAotICAgIDczLCA4NCwgMTI4LCA3NCwgNzQsIDczLCA4MCwgMTI4LCA3NCwgNzQsIDczLCA2OSwgODgsIDEyOCwgNzQsIDc0LCA3MywgCi0gICAgNjksIDg0LCAxMjgsIDc0LCA3NCwgNzMsIDY5LCA4MCwgMTI4LCA3NCwgNzQsIDczLCA2OSwgMTI4LCA3NCwgNzQsIDczLCAKLSAgICAxMjgsIDc0LCA3NCwgNjksIDY5LCAxMjgsIDc0LCA3NCwgNjksIDEyOCwgNzQsIDc0LCA2NSwgMTI4LCA3NCwgNzMsIDc2LCAKLSAgICAxMjgsIDc0LCA3MywgNzMsIDEyOCwgNzQsIDczLCA3MiwgODYsIDY1LCA3NywgODUsIDc2LCA3MywgODksIDY1LCAxMjgsIAotICAgIDc0LCA3MywgNjUsIDEyOCwgNzQsIDcyLCA3OSwgMTI4LCA3NCwgNzIsIDY5LCA3MiwgMTI4LCA3NCwgNzIsIDY1LCA3OCwgCi0gICAgMTI4LCA3NCwgNzIsIDY1LCA3NywgMTI4LCA3NCwgNzIsIDY1LCA2NSwgMTI4LCA3NCwgNzIsIDY1LCAxMjgsIDc0LCA2OSwgCi0gICAgODUsIDEyOCwgNzQsIDY5LCA4MiwgODUsIDgzLCA2NSwgNzYsIDY5LCA3NywgMTI4LCA3NCwgNjksIDgyLCA2NSwgMjA2LCAKLSAgICA3NCwgNjksIDgyLCA2NSwgMTI4LCA3NCwgNjksIDgyLCAxMjgsIDc0LCA2OSwgNzIsIDEyOCwgNzQsIDY5LCAyMDAsIDc0LCAKLSAgICA2OSwgNzEsIDc5LCA3MSwgNjUsIDc4LCAxMjgsIDc0LCA2OSwgNjksIDc3LCAxMjgsIDc0LCA2OSwgNjUsIDc4LCA4MywgCi0gICAgMTI4LCA3NCwgNjUsIDg5LCA2NSwgNzgsIDc4LCA2NSwgMTI4LCA3NCwgNjUsIDg2LCA3MywgODksIDY1LCA3OCwgNzMsIAotICAgIDEyOCwgNzQsIDY1LCA4NSwgMTI4LCA3NCwgNjUsIDgyLCAxMjgsIDc0LCA2NSwgODAsIDY1LCA3OCwgNjksIDgzLCAxOTcsIAotICAgIDc0LCA2NSwgODAsIDY1LCA3OCwgMTI4LCA3NCwgNjUsIDc4LCA4NSwgNjUsIDgyLCA4OSwgMTI4LCA3NCwgNjUsIDc2LCA3NiwgCi0gICAgNjUsIDc0LCA2NSwgNzYsIDY1LCA3NiwgNzksIDg1LCA3MiwgNzksIDg1LCAxMjgsIDc0LCA2NSwgNzMsIDEyOCwgNzQsIDY1LCAKLSAgICA3MiwgMTI4LCA3NCwgNjUsIDY4LCA2OSwgMTI4LCA3NCwgNjUsIDY3LCA3NSwgNDUsIDc5LCA0NSwgNzYsIDY1LCA3OCwgODQsIAotICAgIDY5LCA4MiwgNzgsIDEyOCwgNzQsIDY1LCA2NywgMjAzLCA3NCwgNDUsIDgzLCA3MywgNzcsIDgwLCA3NiwgNzMsIDcwLCA3MywgCi0gICAgNjksIDE5NiwgMjAyLCA3MywgOTAsIDcyLCA3MywgODQsIDgzLCA2NSwgMTI4LCA3MywgOTAsIDcyLCA3MywgODQsIDgzLCAKLSAgICAxOTMsIDczLCA5MCwgNzIsIDY5LCAxMjgsIDczLCA5MCwgNjUsIDc1LCA2NSwgODksIDE5MywgNzMsIDg5LCA2OSwgNzUsIAotICAgIDEyOCwgNzMsIDg5LCA2NSwgNzgsIDc4LCA2NSwgMTI4LCA3MywgODUsIDc0LCA2NSwgMTI4LCA3MywgODUsIDEyOCwgNzMsIAotICAgIDg0LCAyMTEsIDczLCA4NCwgNjksIDgyLCA2NSwgODQsIDczLCA3OSwgMjA2LCA3MywgODQsIDY5LCA3NywgMTI4LCA3MywgCi0gICAgODMsIDgzLCA3MiwgNjUsIDgyLCAxMjgsIDczLCA4MywgNzksIDc4LCAxMjgsIDczLCA4MywgNzksIDIwNiwgNzMsIDgzLCAKLSAgICA3OSwgNzYsIDY1LCA4NCwgNjksIDEyOCwgNzMsIDgzLCA2OSwgNzgsIDQ1LCA3MywgODMsIDY5LCA3OCwgMTI4LCA3MywgODMsIAotICAgIDY1LCA3NSwgNzMsIDE5MywgNzMsIDgzLCA0NSwgODAsIDczLCA3NiwgNzYsIDY1LCAxMjgsIDczLCA4MiwgODUsIDg5LCA2NSwgCi0gICAgNzgsIDc4LCA2NSwgMTI4LCA3MywgODIsIDg1LCA4NSwgODksIDY1LCA3OCwgNzgsIDY1LCAxMjgsIDczLCA4MiwgNzksIDc4LCAKLSAgICA0NSwgNjcsIDc5LCA4MCwgODAsIDY5LCAyMTAsIDczLCA4MiwgNzksIDc4LCAxMjgsIDczLCA3OSwgODQsIDczLCA3MCwgNzMsIAotICAgIDY5LCAxOTYsIDczLCA3OSwgODQsIDY1LCA4NCwgNjksIDE5NiwgNzMsIDc5LCA4NCwgNjUsIDEyOCwgNzMsIDc5LCA4NCwgCi0gICAgMTkzLCA3MywgNzksIDgyLCAxMjgsIDczLCA3OSwgNjgsIDcyLCA2NSwgNjgsIDcyLCAxMjgsIDczLCA3OCwgODYsIDczLCAKLSAgICA4MywgNzMsIDY2LCA3NiwgMTk3LCA3MywgNzgsIDg2LCA2OSwgODIsIDg0LCA2OSwgNjgsIDEyOCwgNzMsIDc4LCA4NiwgNjksIAotICAgIDgyLCA4NCwgNjksIDE5NiwgNzMsIDc4LCA4NiwgNjksIDgyLCA4MywgMTk3LCA3MywgNzgsIDg0LCA4MiwgNzksIDY4LCA4NSwgCi0gICAgNjcsIDY5LCA4MiwgMTI4LCA3MywgNzgsIDg0LCA3MywgMTI4LCA3MywgNzgsIDg0LCA2OSwgODIsIDgzLCA4OSwgNzYsIDc2LCAKLSAgICA2NSwgNjYsIDczLCAxOTUsIDczLCA3OCwgODQsIDY5LCA4MiwgODMsIDY5LCA2NywgODQsIDczLCA3OSwgNzgsIDEyOCwgNzMsIAotICAgIDc4LCA4NCwgNjksIDgyLCA4MywgNjksIDY3LCA4NCwgNzMsIDc5LCAyMDYsIDczLCA3OCwgODQsIDY5LCA4MiwgODMsIDY5LCAKLSAgICA2NywgODQsIDczLCA3OCwgMTk5LCA3MywgNzgsIDg0LCA2OSwgODIsIDgyLCA3OSwgNjYsIDY1LCA3OCwgNzEsIDEyOCwgNzMsIAotICAgIDc4LCA4NCwgNjksIDgyLCA4MCwgNzksIDc2LCA2NSwgODQsIDczLCA3OSwgMjA2LCA3MywgNzgsIDg0LCA2OSwgODIsIDc2LCAKLSAgICA3OSwgNjcsIDc1LCA2OSwgMTk2LCA3MywgNzgsIDg0LCA2OSwgODIsIDc2LCA3MywgNzgsIDY5LCA2NSwgMjEwLCA3MywgNzgsIAotICAgIDg0LCA2OSwgODIsIDc2LCA2NSwgNjcsIDY5LCAxOTYsIDczLCA3OCwgODQsIDY5LCA4MiwgNzMsIDc5LCAyMTAsIDczLCA3OCwgCi0gICAgODQsIDY5LCA4MiwgNjksIDgzLCAyMTIsIDczLCA3OCwgODQsIDY5LCA4MiwgNjcsIDY1LCA3NiwgNjUsIDg0LCA2OSwgMTI4LCAKLSAgICA3MywgNzgsIDg0LCA2OSwgNzEsIDgyLCA2NSwgODQsIDczLCA3OSwgNzgsIDEyOCwgNzMsIDc4LCA4NCwgNjksIDcxLCA4MiwgCi0gICAgNjUsIDg0LCA3MywgNzksIDIwNiwgNzMsIDc4LCA4NCwgNjksIDcxLCA4MiwgNjUsIDc2LCAxMjgsIDczLCA3OCwgODQsIDY5LCAKLSAgICA3MSwgODIsIDY1LCAyMDQsIDczLCA3OCwgODMsIDg1LCA3NiwgNjUsIDIxMCwgNzMsIDc4LCA4MywgODQsIDgyLCA4NSwgNzcsIAotICAgIDY5LCA3OCwgODQsIDY1LCAyMDQsIDczLCA3OCwgODMsIDczLCA2OCwgNjksIDEyOCwgNzMsIDc4LCA4MywgNjksIDgyLCA4NCwgCi0gICAgNzMsIDc5LCAyMDYsIDczLCA3OCwgODMsIDY5LCA2NywgODQsIDEyOCwgNzMsIDc4LCA4MywgNjcsIDgyLCA3MywgODAsIDg0LCAKLSAgICA3MywgNzksIDc4LCA2NSwgMjA0LCA3MywgNzgsIDgwLCA4NSwgMjEyLCA3MywgNzgsIDc4LCA3OSwgNjcsIDY5LCA3OCwgNjcsIAotICAgIDY5LCAxMjgsIDczLCA3OCwgNzgsIDc4LCAxMjgsIDczLCA3OCwgNzgsIDY5LCA4MiwgMTI4LCA3MywgNzgsIDc4LCA2OSwgCi0gICAgMjEwLCA3MywgNzgsIDc4LCAxMjgsIDczLCA3OCwgNzMsIDc4LCA3MSwgODUsIDEyOCwgNzMsIDc4LCA3MywgMTI4LCA3MywgCi0gICAgNzgsIDcyLCA3MywgNjYsIDczLCAyMTIsIDczLCA3OCwgNzIsIDY5LCA4MiwgNjksIDc4LCAyMTIsIDczLCA3OCwgNzEsIDg3LCAKLSAgICA2NSwgOTAsIDEyOCwgNzMsIDc4LCA3MCwgNzksIDgyLCA3NywgNjUsIDg0LCA3MywgNzksIDIwNiwgNzMsIDc4LCA3MCwgNzYsIAotICAgIDg1LCA2OSwgNzgsIDY3LCA2OSwgMTI4LCA3MywgNzgsIDcwLCA3MywgNzgsIDczLCA4NCwgODksIDEyOCwgNzMsIDc4LCA3MCwgCi0gICAgNzMsIDc4LCA3MywgODQsIDIxNywgNzMsIDc4LCA2OCwgODUsIDgzLCA4NCwgODIsIDczLCA2NSwgMjA0LCA3MywgNzgsIDY4LCAKLSAgICA3MywgODIsIDY5LCA2NywgMjEyLCA3MywgNzgsIDY4LCA3MywgNjcsIDY1LCA4NCwgNzksIDgyLCAxMjgsIDczLCA3OCwgNjgsIAotICAgIDczLCA2NywgNjUsIDg0LCA3OSwgMjEwLCA3MywgNzgsIDY4LCA3MywgMTk1LCA3MywgNzgsIDY4LCA3MywgNjUsIDIwNiwgCi0gICAgNzMsIDc4LCA2OCwgNjksIDg4LCAxMjgsIDczLCA3OCwgNjgsIDY5LCA4MCwgNjksIDc4LCA2OCwgNjksIDc4LCAyMTIsIDczLCAKLSAgICA3OCwgNjcsIDgyLCA2OSwgNzcsIDY5LCA3OCwgODQsIDEyOCwgNzMsIDc4LCA2NywgODIsIDY5LCA2NSwgODMsIDY5LCAyMTEsIAotICAgIDczLCA3OCwgNjcsIDgyLCA2OSwgNjUsIDgzLCA2OSwgMTI4LCA3MywgNzgsIDY3LCA3OSwgNzcsIDgwLCA3NiwgNjksIDg0LCAKLSAgICAxOTcsIDczLCA3OCwgNjcsIDc5LCA3NywgNzMsIDc4LCAxOTksIDczLCA3OCwgNjcsIDc2LCA4NSwgNjgsIDczLCA3OCwgCi0gICAgMTk5LCA3MywgNzgsIDY3LCA3MiwgMTI4LCA3MywgNzgsIDY2LCA3OSwgMjE2LCA3MywgNzgsIDY1LCA4MCwgMTI4LCA3MywgCi0gICAgNzgsIDQ1LCA2NSwgNzYsIDY1LCA3MCwgMTI4LCA3MywgNzcsIDgwLCA2OSwgODIsIDczLCA2NSwgMjA0LCA3MywgNzcsIDgwLCAKLSAgICA2OSwgODIsIDcwLCA2OSwgNjcsIDg0LCA4NSwgMjA1LCA3MywgNzcsIDgwLCA2OSwgODIsIDcwLCA2OSwgNjcsIDg0LCA2NSwgCi0gICAgMTI4LCA3MywgNzcsIDgwLCA2OSwgODIsIDcwLCA2OSwgNjcsIDg0LCAxOTMsIDczLCA3NywgNzgsIDEyOCwgNzMsIDc3LCAKLSAgICA3MywgODMsIDY5LCA3OSwgMjExLCA3MywgNzcsIDczLCA3OCwgNTEsIDEyOCwgNzMsIDc3LCA3MywgNzgsIDEyOCwgNzMsIAotICAgIDc3LCA3MywgMjA2LCA3MywgNzcsIDczLCA3MCwgODQsIDcyLCA3OSwgODIsIDc5LCA3OCwgMTI4LCA3MywgNzcsIDczLCA3MCwgCi0gICAgODQsIDcyLCA3OSwgODIsIDY1LCAxMjgsIDczLCA3NywgNzMsIDcwLCA3OSwgNzgsIDc5LCA3OCwgMTI4LCA3MywgNzcsIDczLCAKLSAgICA2OCwgNzMsIDY1LCA4MiwgNzEsIDc5LCA3OCwgMTI4LCA3MywgNzcsIDY1LCA3MSwgMTk3LCA3MywgNzYsIDg1LCA4OSwgNjUsIAotICAgIDc4LCA3OCwgNjUsIDEyOCwgNzMsIDc2LCA4NSwgODksIDEyOCwgNzMsIDc2LCA4NSwgODUsIDg5LCA2NSwgNzgsIDc4LCA2NSwgCi0gICAgMTI4LCA3MywgNzYsIDg1LCA4NCwgMTI4LCA3MywgNzYsIDczLCA3NywgNzcsIDg1LCA1MiwgMTI4LCA3MywgNzYsIDczLCAKLSAgICA3NywgNzcsIDg1LCA1MSwgMTI4LCA3MywgNzYsIDczLCA3NywgNzcsIDg1LCAxMjgsIDczLCA3NiwgNzMsIDc3LCA3NywgCi0gICAgMjEzLCA3MywgNzYsIDUwLCAxMjgsIDczLCA3NSwgNjUsIDgyLCA2NSwgMTI4LCA3MywgNzUsIDY1LCA4MiwgMTkzLCA3MywgCi0gICAgNzQsIDEyOCwgNzMsIDczLCA4OSwgNjUsIDc4LCA3OCwgNjUsIDEyOCwgNzMsIDcxLCA3MywgMTI4LCA3MywgNzEsIDIwMSwgCi0gICAgNzMsIDcxLCA3MSwgODcsIDgzLCAxMjgsIDczLCA3MCwgNzMsIDc4LCAxMjgsIDczLCA2OSwgODUsIDc4LCA3MSwgNDUsIDg0LCAKLSAgICA3MywgNzUsIDY5LCA4NSwgODQsIDEyOCwgNzMsIDY5LCA4NSwgNzgsIDcxLCA0NSwgODQsIDcyLCA3MywgNjksIDg1LCA4NCwgCi0gICAgNzIsIDEyOCwgNzMsIDY5LCA4NSwgNzgsIDcxLCA0NSwgODMsIDgzLCA2NSwgNzgsIDcxLCA3NSwgNzMsIDg5LCA2OSwgNzksIAotICAgIDc1LCAxMjgsIDczLCA2OSwgODUsIDc4LCA3MSwgNDUsIDgyLCA3MywgNjksIDg1LCA3NiwgMTI4LCA3MywgNjksIDg1LCA3OCwgCi0gICAgNzEsIDQ1LCA4MCwgNzMsIDY5LCA4NSwgODAsIDEyOCwgNzMsIDY5LCA4NSwgNzgsIDcxLCA0NSwgODAsIDcyLCA3MywgNjksIAotICAgIDg1LCA4MCwgNzIsIDEyOCwgNzMsIDY5LCA4NSwgNzgsIDcxLCA0NSwgNzUsIDczLCA4OSwgNjksIDc5LCA3NSwgMTI4LCA3MywgCi0gICAgNjksIDg1LCA3OCwgNzEsIDQ1LCA3NSwgNzIsIDczLCA2OSwgODUsIDc1LCA3MiwgMTI4LCA3MywgNjksIDg1LCA3OCwgNzEsIAotICAgIDQ1LCA2NywgNzMsIDY5LCA4NSwgNjcsIDEyOCwgNzMsIDY5LCA4NSwgNzgsIDcxLCA0NSwgNjcsIDcyLCA3MywgNjksIDg1LCAKLSAgICA2NywgNzIsIDEyOCwgNzMsIDY5LCA4NSwgNzgsIDE5OSwgNzMsIDY4LCA3NiwgNjksIDEyOCwgNzMsIDY4LCA3MywgNzcsIAotICAgIDEyOCwgNzMsIDY4LCA3MywgMjA1LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA2OCwgCi0gICAgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjgsIDU2LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDY4LCA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA2OCwgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjgsIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNjUsIDY4LCA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA2OCwgCi0gICAgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjgsIDUwLCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDY4LCA0OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA2OCwgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjcsIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNjUsIDY3LCA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA2NywgCi0gICAgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjcsIDY3LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDY3LCA2NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA2NywgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjcsIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNjUsIDY3LCA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA2NywgCi0gICAgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjcsIDU0LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDY3LCA1MywgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA2NywgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjcsIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNjUsIDY3LCA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA2NywgCi0gICAgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjcsIDQ4LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDY2LCA3MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA2NiwgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjYsIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNjUsIDY2LCA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA2NiwgCi0gICAgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjYsIDY1LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDY2LCA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA2NiwgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjYsIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNjUsIDY2LCA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA2NiwgCi0gICAgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjYsIDUyLCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDY2LCA1MSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA2NiwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjYsIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNjUsIDY2LCA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA2NSwgCi0gICAgNzAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjUsIDY5LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDY1LCA2OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA2NSwgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjUsIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNjUsIDY1LCA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA2NSwgCi0gICAgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjUsIDU2LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDY1LCA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA2NSwgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjUsIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNjUsIDY1LCA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA2NSwgCi0gICAgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjUsIDUwLCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDY1LCA0OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA2NSwgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTcsIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNjUsIDU3LCA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1NywgCi0gICAgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTcsIDY3LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU3LCA2NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1NywgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTcsIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNjUsIDU3LCA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1NywgCi0gICAgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTcsIDU0LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU3LCA1MywgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1NywgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTcsIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNjUsIDU3LCA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1NywgCi0gICAgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTcsIDQ4LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU2LCA3MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1NiwgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTYsIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNjUsIDU2LCA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1NiwgCi0gICAgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTYsIDY1LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU2LCA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1NiwgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTYsIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNjUsIDU2LCA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1NiwgCi0gICAgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTYsIDUyLCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU2LCA1MSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1NiwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTYsIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNjUsIDU2LCA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1NSwgCi0gICAgNzAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTUsIDY5LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU1LCA2OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1NSwgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTUsIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNjUsIDU1LCA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1NSwgCi0gICAgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTUsIDU2LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU1LCA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1NSwgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTUsIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNjUsIDU1LCA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1NSwgCi0gICAgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTUsIDUwLCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU1LCA0OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1NSwgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTQsIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNjUsIDU0LCA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1NCwgCi0gICAgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTQsIDY1LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU0LCA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1NCwgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTQsIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNjUsIDU0LCA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1NCwgCi0gICAgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTQsIDUyLCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU0LCA1MSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1NCwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTQsIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNjUsIDU0LCA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1MywgCi0gICAgNzAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTMsIDY5LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUzLCA2OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1MywgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTMsIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNjUsIDUzLCA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1MywgCi0gICAgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTMsIDU2LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUzLCA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1MywgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTMsIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNjUsIDUzLCA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1MywgCi0gICAgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTMsIDUwLCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUzLCA0OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1MywgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTIsIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNjUsIDUyLCA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1MiwgCi0gICAgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTIsIDY3LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUyLCA2NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1MiwgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTIsIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNjUsIDUyLCA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1MiwgCi0gICAgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTIsIDU0LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUyLCA1MywgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1MiwgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTIsIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNjUsIDUyLCA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1MiwgCi0gICAgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTIsIDQ4LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUxLCA3MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1MSwgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTEsIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNjUsIDUxLCA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1MSwgCi0gICAgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTEsIDY1LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUxLCA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1MSwgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTEsIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNjUsIDUxLCA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1MSwgCi0gICAgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTEsIDUyLCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUxLCA1MSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1MSwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTEsIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNjUsIDUxLCA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1MCwgCi0gICAgNzAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTAsIDY5LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUwLCA2OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1MCwgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTAsIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNjUsIDUwLCA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1MCwgCi0gICAgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTAsIDU2LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUwLCA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1MCwgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTAsIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNjUsIDUwLCA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1MCwgCi0gICAgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTAsIDUwLCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUwLCA0OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1MCwgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA2NSwgNDksIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNjUsIDQ5LCA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA0OSwgCi0gICAgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNDksIDY3LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDQ5LCA2NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA0OSwgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA2NSwgNDksIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNjUsIDQ5LCA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA0OSwgCi0gICAgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNDksIDU0LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDQ5LCA1MywgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA0OSwgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA2NSwgNDksIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNjUsIDQ5LCA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA0OSwgCi0gICAgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNDksIDQ4LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDQ4LCA3MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA0OCwgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA2NSwgNDgsIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNjUsIDQ4LCA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA0OCwgCi0gICAgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNDgsIDY1LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDQ4LCA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA0OCwgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA2NSwgNDgsIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNjUsIDQ4LCA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA0OCwgCi0gICAgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNDgsIDUyLCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDQ4LCA1MSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA0OCwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA2NSwgNDgsIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNjUsIDQ4LCA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA3MCwgCi0gICAgNzAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNzAsIDY5LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDcwLCA2OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA3MCwgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA1NywgNzAsIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNTcsIDcwLCA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA3MCwgCi0gICAgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNzAsIDU2LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDcwLCA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA3MCwgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA1NywgNzAsIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNTcsIDcwLCA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA3MCwgCi0gICAgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNzAsIDUwLCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDcwLCA0OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA3MCwgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA1NywgNjksIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNTcsIDY5LCA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2OSwgCi0gICAgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjksIDY3LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY5LCA2NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2OSwgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA1NywgNjksIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNTcsIDY5LCA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2OSwgCi0gICAgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjksIDU0LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY5LCA1MywgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2OSwgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA1NywgNjksIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNTcsIDY5LCA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2OSwgCi0gICAgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjksIDQ4LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY4LCA3MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2OCwgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA1NywgNjgsIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNTcsIDY4LCA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2OCwgCi0gICAgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjgsIDY1LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY4LCA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2OCwgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA1NywgNjgsIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNTcsIDY4LCA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2OCwgCi0gICAgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjgsIDUyLCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY4LCA1MSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2OCwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA1NywgNjgsIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNTcsIDY4LCA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2NywgCi0gICAgNzAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjcsIDY5LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY3LCA2OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2NywgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA1NywgNjcsIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNTcsIDY3LCA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2NywgCi0gICAgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjcsIDU2LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY3LCA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2NywgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA1NywgNjcsIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNTcsIDY3LCA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2NywgCi0gICAgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjcsIDUwLCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY3LCA0OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2NywgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA1NywgNjYsIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNTcsIDY2LCA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2NiwgCi0gICAgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjYsIDY3LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY2LCA2NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2NiwgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA1NywgNjYsIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNTcsIDY2LCA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2NiwgCi0gICAgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjYsIDU0LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY2LCA1MywgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2NiwgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA1NywgNjYsIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNTcsIDY2LCA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2NiwgCi0gICAgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjYsIDQ4LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY1LCA3MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2NSwgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA1NywgNjUsIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNTcsIDY1LCA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2NSwgCi0gICAgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjUsIDY1LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY1LCA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2NSwgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA1NywgNjUsIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNTcsIDY1LCA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2NSwgCi0gICAgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjUsIDUyLCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY1LCA1MSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2NSwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA1NywgNjUsIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNTcsIDY1LCA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1NywgCi0gICAgNzAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTcsIDY5LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU3LCA2OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1NywgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA1NywgNTcsIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNTcsIDU3LCA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1NywgCi0gICAgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTcsIDU2LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU3LCA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1NywgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA1NywgNTcsIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNTcsIDU3LCA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1NywgCi0gICAgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTcsIDUwLCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU3LCA0OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1NywgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA1NywgNTYsIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNTcsIDU2LCA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1NiwgCi0gICAgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTYsIDY3LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU2LCA2NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1NiwgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA1NywgNTYsIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNTcsIDU2LCA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1NiwgCi0gICAgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTYsIDU0LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU2LCA1MywgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1NiwgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA1NywgNTYsIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNTcsIDU2LCA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1NiwgCi0gICAgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTYsIDQ4LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU1LCA3MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1NSwgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA1NywgNTUsIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNTcsIDU1LCA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1NSwgCi0gICAgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTUsIDY1LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU1LCA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1NSwgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA1NywgNTUsIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNTcsIDU1LCA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1NSwgCi0gICAgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTUsIDUyLCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU1LCA1MSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1NSwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA1NywgNTUsIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNTcsIDU1LCA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1NCwgCi0gICAgNzAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTQsIDY5LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU0LCA2OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1NCwgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA1NywgNTQsIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNTcsIDU0LCA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1NCwgCi0gICAgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTQsIDU2LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU0LCA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1NCwgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA1NywgNTQsIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNTcsIDU0LCA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1NCwgCi0gICAgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTQsIDUwLCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU0LCA0OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1NCwgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA1NywgNTMsIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNTcsIDUzLCA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1MywgCi0gICAgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTMsIDY3LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUzLCA2NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1MywgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA1NywgNTMsIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNTcsIDUzLCA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1MywgCi0gICAgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTMsIDU0LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUzLCA1MywgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1MywgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA1NywgNTMsIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNTcsIDUzLCA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1MywgCi0gICAgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTMsIDQ4LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUyLCA3MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1MiwgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA1NywgNTIsIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNTcsIDUyLCA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1MiwgCi0gICAgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTIsIDY1LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUyLCA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1MiwgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA1NywgNTIsIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNTcsIDUyLCA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1MiwgCi0gICAgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTIsIDUyLCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUyLCA1MSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1MiwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA1NywgNTIsIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNTcsIDUyLCA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1MSwgCi0gICAgNzAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTEsIDY5LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUxLCA2OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1MSwgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA1NywgNTEsIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNTcsIDUxLCA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1MSwgCi0gICAgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTEsIDU2LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUxLCA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1MSwgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA1NywgNTEsIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNTcsIDUxLCA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1MSwgCi0gICAgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTEsIDUwLCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUxLCA0OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1MSwgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA1NywgNTAsIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNTcsIDUwLCA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1MCwgCi0gICAgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTAsIDY3LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUwLCA2NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1MCwgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA1NywgNTAsIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNTcsIDUwLCA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1MCwgCi0gICAgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTAsIDU0LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUwLCA1MywgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1MCwgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA1NywgNTAsIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNTcsIDUwLCA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1MCwgCi0gICAgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTAsIDQ4LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDQ5LCA3MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA0OSwgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA1NywgNDksIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNTcsIDQ5LCA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA0OSwgCi0gICAgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNDksIDY1LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDQ5LCA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA0OSwgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA1NywgNDksIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNTcsIDQ5LCA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA0OSwgCi0gICAgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNDksIDUyLCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDQ5LCA1MSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA0OSwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA1NywgNDksIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNTcsIDQ5LCA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA0OCwgCi0gICAgNzAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNDgsIDY5LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDQ4LCA2OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA0OCwgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA1NywgNDgsIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNTcsIDQ4LCA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA0OCwgCi0gICAgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNDgsIDU2LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDQ4LCA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA0OCwgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDcwLCA1NywgNDgsIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA3MCwgNTcsIDQ4LCA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA0OCwgCi0gICAgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNDgsIDUwLCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDQ4LCA0OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA0OCwgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDU3LCA0OCwgNTIsIDY1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA1NiwgNjgsIDU1LCA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTYsIDY3LCA2NSwgCi0gICAgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDU2LCA1NywgNjksIDUxLCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1NSwgNjgsIDUyLCA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTUsIDY1LCA1NSwgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDU1LCA1NywgNTYsIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA1NSwgNTQsIDY4LCA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTUsIDUzLCA1MSwgCi0gICAgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDU1LCA1MywgNDksIDcwLCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1NSwgNDksIDUwLCA0OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTUsIDQ4LCA2NiwgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDU0LCA3MCwgNDksIDUyLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA1NCwgNjksIDU2LCA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTQsIDU1LCA1MCwgCi0gICAgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDU0LCA1NSwgNDgsIDU3LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1NCwgNTUsIDQ4LCA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTQsIDU0LCA1MCwgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDU0LCA1MywgNjYsIDQ4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA1NCwgNTMsIDU3LCA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTQsIDUzLCA1MywgCi0gICAgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDU0LCA1MSwgNTMsIDUzLCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1NCwgNTEsIDQ4LCA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTQsIDUwLCA1NywgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDU0LCA1MCwgNTMsIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA1NCwgNTAsIDUyLCA2NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTMsIDcwLCA1NiwgCi0gICAgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUzLCA2OCwgNjksIDU0LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MywgNjYsIDU2LCA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTMsIDY2LCA1MywgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDUzLCA1NywgNTAsIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA1MywgNTcsIDQ5LCA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTMsIDU2LCA3MCwgCi0gICAgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUzLCA1MywgNjYsIDU0LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MywgNTIsIDUxLCA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTMsIDUyLCA0OCwgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDUzLCA1MSwgNzAsIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA1MywgNTEsIDY3LCA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTMsIDUwLCA2OCwgCi0gICAgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUzLCA1MCwgNTUsIDUwLCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MywgNTAsIDUyLCA2OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTMsIDUwLCA0OSwgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDUzLCA0OSwgNTYsIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA1MiwgNjksIDY1LCA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTIsIDY5LCA1NiwgCi0gICAgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUyLCA2OSwgNTAsIDY4LCAxMjgsIDczLCAKLSAgICA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MiwgNjksIDQ4LCA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgCi0gICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTIsIDY5LCA0OCwgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDUwLCA3MCwgNjUsIDQ5LCA2OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCAKLSAgICA0NSwgNTAsIDcwLCA2NSwgNDksIDY3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgCi0gICAgNzAsIDY1LCA0OSwgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNjUsIAotICAgIDQ5LCA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA2NSwgNDksIDU3LCAKLSAgICAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDY1LCA0OSwgNTYsIDEyOCwgNzMsIAotICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNjUsIDQ5LCA1NSwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA2NSwgNDksIDU0LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgCi0gICAgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDY1LCA0OSwgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDUwLCA3MCwgNjUsIDQ5LCA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCAKLSAgICA0NSwgNTAsIDcwLCA2NSwgNDksIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgCi0gICAgNzAsIDY1LCA0OSwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNjUsIAotICAgIDQ5LCA0OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA2NSwgNDksIDQ4LCAKLSAgICAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDY1LCA0OCwgNzAsIDEyOCwgNzMsIAotICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNjUsIDQ4LCA2OSwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA2NSwgNDgsIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgCi0gICAgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDY1LCA0OCwgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDUwLCA3MCwgNjUsIDQ4LCA2NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCAKLSAgICA0NSwgNTAsIDcwLCA2NSwgNDgsIDY1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgCi0gICAgNzAsIDY1LCA0OCwgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNjUsIAotICAgIDQ4LCA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA2NSwgNDgsIDU1LCAKLSAgICAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDY1LCA0OCwgNTQsIDEyOCwgNzMsIAotICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNjUsIDQ4LCA1MywgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA2NSwgNDgsIDUyLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgCi0gICAgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDY1LCA0OCwgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDUwLCA3MCwgNjUsIDQ4LCA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCAKLSAgICA0NSwgNTAsIDcwLCA2NSwgNDgsIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgCi0gICAgNzAsIDY1LCA0OCwgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIAotICAgIDcwLCA3MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNzAsIDY5LCAKLSAgICAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA3MCwgNjgsIDEyOCwgNzMsIAotICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDcwLCA2NywgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNzAsIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgCi0gICAgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA3MCwgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDcwLCA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCAKLSAgICA0NSwgNTAsIDcwLCA1NywgNzAsIDU2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgCi0gICAgNzAsIDU3LCA3MCwgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIAotICAgIDcwLCA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNzAsIDUzLCAKLSAgICAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA3MCwgNTIsIDEyOCwgNzMsIAotICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDcwLCA1MSwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNzAsIDUwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgCi0gICAgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA3MCwgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDcwLCA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCAKLSAgICA0NSwgNTAsIDcwLCA1NywgNjksIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgCi0gICAgNzAsIDU3LCA2OSwgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIAotICAgIDY5LCA2OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjksIDY3LCAKLSAgICAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2OSwgNjYsIDEyOCwgNzMsIAotICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY5LCA2NSwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjksIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgCi0gICAgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2OSwgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY5LCA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCAKLSAgICA0NSwgNTAsIDcwLCA1NywgNjksIDU0LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgCi0gICAgNzAsIDU3LCA2OSwgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIAotICAgIDY5LCA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjksIDUxLCAKLSAgICAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2OSwgNTAsIDEyOCwgNzMsIAotICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY5LCA0OSwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjksIDQ4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgCi0gICAgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2OCwgNzAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY4LCA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCAKLSAgICA0NSwgNTAsIDcwLCA1NywgNjgsIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgCi0gICAgNzAsIDU3LCA2OCwgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIAotICAgIDY4LCA2NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjgsIDY1LCAKLSAgICAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2OCwgNTcsIDEyOCwgNzMsIAotICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY4LCA1NiwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjgsIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgCi0gICAgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2OCwgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY4LCA1MywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCAKLSAgICA0NSwgNTAsIDcwLCA1NywgNjgsIDUyLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgCi0gICAgNzAsIDU3LCA2OCwgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIAotICAgIDY4LCA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjgsIDQ5LCAKLSAgICAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2OCwgNDgsIDEyOCwgNzMsIAotICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY3LCA3MCwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjcsIDY5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgCi0gICAgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2NywgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY3LCA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCAKLSAgICA0NSwgNTAsIDcwLCA1NywgNjcsIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgCi0gICAgNzAsIDU3LCA2NywgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIAotICAgIDY3LCA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjcsIDU2LCAKLSAgICAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2NywgNTUsIDEyOCwgNzMsIAotICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY3LCA1NCwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjcsIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgCi0gICAgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2NywgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY3LCA1MSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCAKLSAgICA0NSwgNTAsIDcwLCA1NywgNjcsIDUwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgCi0gICAgNzAsIDU3LCA2NywgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIAotICAgIDY3LCA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjYsIDcwLCAKLSAgICAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2NiwgNjksIDEyOCwgNzMsIAotICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY2LCA2OCwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjYsIDY3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgCi0gICAgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2NiwgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY2LCA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCAKLSAgICA0NSwgNTAsIDcwLCA1NywgNjYsIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgCi0gICAgNzAsIDU3LCA2NiwgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIAotICAgIDY2LCA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjYsIDU0LCAKLSAgICAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2NiwgNTMsIDEyOCwgNzMsIAotICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY2LCA1MiwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjYsIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgCi0gICAgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2NiwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY2LCA0OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCAKLSAgICA0NSwgNTAsIDcwLCA1NywgNjYsIDQ4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgCi0gICAgNzAsIDU3LCA2NSwgNzAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIAotICAgIDY1LCA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjUsIDY4LCAKLSAgICAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2NSwgNjcsIDEyOCwgNzMsIAotICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY1LCA2NiwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjUsIDY1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgCi0gICAgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2NSwgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY1LCA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCAKLSAgICA0NSwgNTAsIDcwLCA1NywgNjUsIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgCi0gICAgNzAsIDU3LCA2NSwgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIAotICAgIDY1LCA1MywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjUsIDUyLCAKLSAgICAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2NSwgNTEsIDEyOCwgNzMsIAotICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY1LCA1MCwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjUsIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgCi0gICAgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2NSwgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDU3LCA3MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCAKLSAgICA0NSwgNTAsIDcwLCA1NywgNTcsIDY5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgCi0gICAgNzAsIDU3LCA1NywgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIAotICAgIDU3LCA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTcsIDY2LCAKLSAgICAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1NywgNjUsIDEyOCwgNzMsIAotICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDU3LCA1NywgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTcsIDU2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgCi0gICAgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1NywgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDU3LCA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCAKLSAgICA0NSwgNTAsIDcwLCA1NywgNTcsIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgCi0gICAgNzAsIDU3LCA1NywgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIAotICAgIDU3LCA1MSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTcsIDUwLCAKLSAgICAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1NywgNDksIDEyOCwgNzMsIAotICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDU3LCA0OCwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTYsIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgCi0gICAgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1NiwgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDU2LCA2OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCAKLSAgICA0NSwgNTAsIDcwLCA1NywgNTYsIDY3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgCi0gICAgNzAsIDU3LCA1NiwgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIAotICAgIDU2LCA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTYsIDU3LCAKLSAgICAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1NiwgNTYsIDEyOCwgNzMsIAotICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDU2LCA1NSwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTYsIDU0LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgCi0gICAgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1NiwgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDU2LCA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCAKLSAgICA0NSwgNTAsIDcwLCA1NywgNTYsIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgCi0gICAgNzAsIDU3LCA1NiwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIAotICAgIDU2LCA0OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTYsIDQ4LCAKLSAgICAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1NSwgNzAsIDEyOCwgNzMsIAotICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDU1LCA2OSwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTUsIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgCi0gICAgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1NSwgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDU1LCA2NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCAKLSAgICA0NSwgNTAsIDcwLCA1NywgNTUsIDY1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgCi0gICAgNzAsIDU3LCA1NSwgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIAotICAgIDU1LCA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTUsIDU1LCAKLSAgICAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1NSwgNTQsIDEyOCwgNzMsIAotICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDU1LCA1MywgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTUsIDUyLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgCi0gICAgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1NSwgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDU1LCA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCAKLSAgICA0NSwgNTAsIDcwLCA1NywgNTUsIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgCi0gICAgNzAsIDU3LCA1NSwgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIAotICAgIDU0LCA3MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTQsIDY5LCAKLSAgICAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1NCwgNjgsIDEyOCwgNzMsIAotICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDU0LCA2NywgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTQsIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgCi0gICAgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1NCwgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDU0LCA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCAKLSAgICA0NSwgNTAsIDcwLCA1NywgNTQsIDU2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgCi0gICAgNzAsIDU3LCA1NCwgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIAotICAgIDU0LCA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTQsIDUzLCAKLSAgICAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1NCwgNTIsIDEyOCwgNzMsIAotICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDU0LCA1MSwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTQsIDUwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgCi0gICAgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1NCwgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDU0LCA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCAKLSAgICA0NSwgNTAsIDcwLCA1NywgNTMsIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgCi0gICAgNzAsIDU3LCA1MywgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIAotICAgIDUzLCA2OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTMsIDY3LCAKLSAgICAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1MywgNjYsIDEyOCwgNzMsIAotICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDUzLCA2NSwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTMsIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgCi0gICAgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1MywgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDUzLCA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCAKLSAgICA0NSwgNTAsIDcwLCA1NywgNTMsIDU0LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgCi0gICAgNzAsIDU3LCA1MywgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIAotICAgIDUzLCA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTMsIDUxLCAKLSAgICAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1MywgNTAsIDEyOCwgNzMsIAotICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDUzLCA0OSwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTMsIDQ4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgCi0gICAgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1MiwgNzAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDUyLCA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCAKLSAgICA0NSwgNTAsIDcwLCA1NywgNTIsIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgCi0gICAgNzAsIDU3LCA1MiwgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIAotICAgIDUyLCA2NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTIsIDY1LCAKLSAgICAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1MiwgNTcsIDEyOCwgNzMsIAotICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDUyLCA1NiwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTIsIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgCi0gICAgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1MiwgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDUyLCA1MywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCAKLSAgICA0NSwgNTAsIDcwLCA1NywgNTIsIDUyLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgCi0gICAgNzAsIDU3LCA1MiwgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIAotICAgIDUyLCA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTIsIDQ5LCAKLSAgICAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1MiwgNDgsIDEyOCwgNzMsIAotICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDUxLCA3MCwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTEsIDY5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgCi0gICAgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1MSwgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDUxLCA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCAKLSAgICA0NSwgNTAsIDcwLCA1NywgNTEsIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgCi0gICAgNzAsIDU3LCA1MSwgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIAotICAgIDUxLCA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTEsIDU2LCAKLSAgICAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1MSwgNTUsIDEyOCwgNzMsIAotICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDUxLCA1NCwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTEsIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgCi0gICAgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1MSwgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDUxLCA1MSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCAKLSAgICA0NSwgNTAsIDcwLCA1NywgNTEsIDUwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgCi0gICAgNzAsIDU3LCA1MSwgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIAotICAgIDUxLCA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTAsIDcwLCAKLSAgICAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1MCwgNjksIDEyOCwgNzMsIAotICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDUwLCA2OCwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTAsIDY3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgCi0gICAgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1MCwgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDUwLCA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCAKLSAgICA0NSwgNTAsIDcwLCA1NywgNTAsIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgCi0gICAgNzAsIDU3LCA1MCwgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIAotICAgIDUwLCA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTAsIDU0LCAKLSAgICAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1MCwgNTMsIDEyOCwgNzMsIAotICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDUwLCA1MiwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTAsIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgCi0gICAgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1MCwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDUwLCA0OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCAKLSAgICA0NSwgNTAsIDcwLCA1NywgNTAsIDQ4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgCi0gICAgNzAsIDU3LCA0OSwgNzAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIAotICAgIDQ5LCA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNDksIDY4LCAKLSAgICAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA0OSwgNjcsIDEyOCwgNzMsIAotICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDQ5LCA2NiwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNDksIDY1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgCi0gICAgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA0OSwgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDQ5LCA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCAKLSAgICA0NSwgNTAsIDcwLCA1NywgNDksIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgCi0gICAgNzAsIDU3LCA0OSwgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIAotICAgIDQ5LCA1MywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNDksIDUyLCAKLSAgICAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA0OSwgNTEsIDEyOCwgNzMsIAotICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDQ5LCA1MCwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNDksIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgCi0gICAgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA0OSwgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDQ4LCA3MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCAKLSAgICA0NSwgNTAsIDcwLCA1NywgNDgsIDY5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgCi0gICAgNzAsIDU3LCA0OCwgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIAotICAgIDQ4LCA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNDgsIDY2LCAKLSAgICAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA0OCwgNjUsIDEyOCwgNzMsIAotICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDQ4LCA1NywgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNDgsIDU2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgCi0gICAgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA0OCwgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDQ4LCA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCAKLSAgICA0NSwgNTAsIDcwLCA1NywgNDgsIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgCi0gICAgNzAsIDU3LCA0OCwgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIAotICAgIDQ4LCA1MSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNDgsIDUwLCAKLSAgICAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA0OCwgNDksIDEyOCwgNzMsIAotICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDQ4LCA0OCwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNzAsIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgCi0gICAgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA3MCwgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDcwLCA2OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCAKLSAgICA0NSwgNTAsIDcwLCA1NiwgNzAsIDY3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgCi0gICAgNzAsIDU2LCA3MCwgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIAotICAgIDcwLCA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNzAsIDU3LCAKLSAgICAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA3MCwgNTYsIDEyOCwgNzMsIAotICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDcwLCA1NSwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNzAsIDU0LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgCi0gICAgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA3MCwgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDcwLCA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCAKLSAgICA0NSwgNTAsIDcwLCA1NiwgNzAsIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgCi0gICAgNzAsIDU2LCA3MCwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIAotICAgIDcwLCA0OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNzAsIDQ4LCAKLSAgICAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2OSwgNzAsIDEyOCwgNzMsIAotICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY5LCA2OSwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjksIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgCi0gICAgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2OSwgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY5LCA2NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCAKLSAgICA0NSwgNTAsIDcwLCA1NiwgNjksIDY1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgCi0gICAgNzAsIDU2LCA2OSwgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIAotICAgIDY5LCA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjksIDU1LCAKLSAgICAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2OSwgNTQsIDEyOCwgNzMsIAotICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY5LCA1MywgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjksIDUyLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgCi0gICAgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2OSwgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY5LCA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCAKLSAgICA0NSwgNTAsIDcwLCA1NiwgNjksIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgCi0gICAgNzAsIDU2LCA2OSwgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIAotICAgIDY4LCA3MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjgsIDY5LCAKLSAgICAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2OCwgNjgsIDEyOCwgNzMsIAotICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY4LCA2NywgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjgsIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgCi0gICAgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2OCwgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY4LCA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCAKLSAgICA0NSwgNTAsIDcwLCA1NiwgNjgsIDU2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgCi0gICAgNzAsIDU2LCA2OCwgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIAotICAgIDY4LCA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjgsIDUzLCAKLSAgICAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2OCwgNTIsIDEyOCwgNzMsIAotICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY4LCA1MSwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjgsIDUwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgCi0gICAgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2OCwgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY4LCA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCAKLSAgICA0NSwgNTAsIDcwLCA1NiwgNjcsIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgCi0gICAgNzAsIDU2LCA2NywgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIAotICAgIDY3LCA2OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjcsIDY3LCAKLSAgICAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2NywgNjYsIDEyOCwgNzMsIAotICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY3LCA2NSwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjcsIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgCi0gICAgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2NywgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY3LCA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCAKLSAgICA0NSwgNTAsIDcwLCA1NiwgNjcsIDU0LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgCi0gICAgNzAsIDU2LCA2NywgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIAotICAgIDY3LCA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjcsIDUxLCAKLSAgICAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2NywgNTAsIDEyOCwgNzMsIAotICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY3LCA0OSwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjcsIDQ4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgCi0gICAgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2NiwgNzAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY2LCA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCAKLSAgICA0NSwgNTAsIDcwLCA1NiwgNjYsIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgCi0gICAgNzAsIDU2LCA2NiwgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIAotICAgIDY2LCA2NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjYsIDY1LCAKLSAgICAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2NiwgNTcsIDEyOCwgNzMsIAotICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY2LCA1NiwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjYsIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgCi0gICAgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2NiwgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY2LCA1MywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCAKLSAgICA0NSwgNTAsIDcwLCA1NiwgNjYsIDUyLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgCi0gICAgNzAsIDU2LCA2NiwgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIAotICAgIDY2LCA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjYsIDQ5LCAKLSAgICAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2NiwgNDgsIDEyOCwgNzMsIAotICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY1LCA3MCwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjUsIDY5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgCi0gICAgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2NSwgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY1LCA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCAKLSAgICA0NSwgNTAsIDcwLCA1NiwgNjUsIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgCi0gICAgNzAsIDU2LCA2NSwgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIAotICAgIDY1LCA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjUsIDU2LCAKLSAgICAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2NSwgNTUsIDEyOCwgNzMsIAotICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY1LCA1NCwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjUsIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgCi0gICAgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2NSwgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY1LCA1MSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCAKLSAgICA0NSwgNTAsIDcwLCA1NiwgNjUsIDUwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgCi0gICAgNzAsIDU2LCA2NSwgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIAotICAgIDY1LCA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTcsIDcwLCAKLSAgICAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1NywgNjksIDEyOCwgNzMsIAotICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDU3LCA2OCwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTcsIDY3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgCi0gICAgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1NywgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDU3LCA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCAKLSAgICA0NSwgNTAsIDcwLCA1NiwgNTcsIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgCi0gICAgNzAsIDU2LCA1NywgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIAotICAgIDU3LCA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTcsIDU0LCAKLSAgICAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1NywgNTMsIDEyOCwgNzMsIAotICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDU3LCA1MiwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTcsIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgCi0gICAgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1NywgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDU3LCA0OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCAKLSAgICA0NSwgNTAsIDcwLCA1NiwgNTcsIDQ4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgCi0gICAgNzAsIDU2LCA1NiwgNzAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIAotICAgIDU2LCA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTYsIDY4LCAKLSAgICAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1NiwgNjcsIDEyOCwgNzMsIAotICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDU2LCA2NiwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTYsIDY1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgCi0gICAgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1NiwgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDU2LCA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCAKLSAgICA0NSwgNTAsIDcwLCA1NiwgNTYsIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgCi0gICAgNzAsIDU2LCA1NiwgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIAotICAgIDU2LCA1MywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTYsIDUyLCAKLSAgICAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1NiwgNTEsIDEyOCwgNzMsIAotICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDU2LCA1MCwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTYsIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgCi0gICAgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1NiwgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDU1LCA3MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCAKLSAgICA0NSwgNTAsIDcwLCA1NiwgNTUsIDY5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgCi0gICAgNzAsIDU2LCA1NSwgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIAotICAgIDU1LCA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTUsIDY2LCAKLSAgICAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1NSwgNjUsIDEyOCwgNzMsIAotICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDU1LCA1NywgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTUsIDU2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgCi0gICAgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1NSwgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDU1LCA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCAKLSAgICA0NSwgNTAsIDcwLCA1NiwgNTUsIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgCi0gICAgNzAsIDU2LCA1NSwgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIAotICAgIDU1LCA1MSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTUsIDUwLCAKLSAgICAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1NSwgNDksIDEyOCwgNzMsIAotICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDU1LCA0OCwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTQsIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgCi0gICAgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1NCwgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDU0LCA2OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCAKLSAgICA0NSwgNTAsIDcwLCA1NiwgNTQsIDY3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgCi0gICAgNzAsIDU2LCA1NCwgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIAotICAgIDU0LCA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTQsIDU3LCAKLSAgICAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1NCwgNTYsIDEyOCwgNzMsIAotICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDU0LCA1NSwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTQsIDU0LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgCi0gICAgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1NCwgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDU0LCA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCAKLSAgICA0NSwgNTAsIDcwLCA1NiwgNTQsIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgCi0gICAgNzAsIDU2LCA1NCwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIAotICAgIDU0LCA0OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTQsIDQ4LCAKLSAgICAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MywgNzAsIDEyOCwgNzMsIAotICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDUzLCA2OSwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTMsIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgCi0gICAgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MywgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDUzLCA2NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCAKLSAgICA0NSwgNTAsIDcwLCA1NiwgNTMsIDY1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgCi0gICAgNzAsIDU2LCA1MywgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIAotICAgIDUzLCA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTMsIDU1LCAKLSAgICAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MywgNTQsIDEyOCwgNzMsIAotICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDUzLCA1MywgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTMsIDUyLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgCi0gICAgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MywgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDUzLCA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCAKLSAgICA0NSwgNTAsIDcwLCA1NiwgNTMsIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgCi0gICAgNzAsIDU2LCA1MywgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIAotICAgIDUyLCA3MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTIsIDY5LCAKLSAgICAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MiwgNjgsIDEyOCwgNzMsIAotICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDUyLCA2NywgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTIsIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgCi0gICAgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MiwgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDUyLCA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCAKLSAgICA0NSwgNTAsIDcwLCA1NiwgNTIsIDU2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgCi0gICAgNzAsIDU2LCA1MiwgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIAotICAgIDUyLCA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTIsIDUzLCAKLSAgICAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MiwgNTIsIDEyOCwgNzMsIAotICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDUyLCA1MSwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTIsIDUwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgCi0gICAgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MiwgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDUyLCA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCAKLSAgICA0NSwgNTAsIDcwLCA1NiwgNTEsIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgCi0gICAgNzAsIDU2LCA1MSwgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIAotICAgIDUxLCA2OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTEsIDY3LCAKLSAgICAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MSwgNjYsIDEyOCwgNzMsIAotICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDUxLCA2NSwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTEsIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgCi0gICAgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MSwgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDUxLCA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCAKLSAgICA0NSwgNTAsIDcwLCA1NiwgNTEsIDU0LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgCi0gICAgNzAsIDU2LCA1MSwgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIAotICAgIDUxLCA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTEsIDUxLCAKLSAgICAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MSwgNTAsIDEyOCwgNzMsIAotICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDUxLCA0OSwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTEsIDQ4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgCi0gICAgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MCwgNzAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDUwLCA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCAKLSAgICA0NSwgNTAsIDcwLCA1NiwgNTAsIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgCi0gICAgNzAsIDU2LCA1MCwgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIAotICAgIDUwLCA2NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTAsIDY1LCAKLSAgICAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MCwgNTcsIDEyOCwgNzMsIAotICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDUwLCA1NiwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTAsIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgCi0gICAgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MCwgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDUwLCA1MywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCAKLSAgICA0NSwgNTAsIDcwLCA1NiwgNTAsIDUyLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgCi0gICAgNzAsIDU2LCA1MCwgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIAotICAgIDUwLCA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTAsIDQ5LCAKLSAgICAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MCwgNDgsIDEyOCwgNzMsIAotICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDQ5LCA3MCwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNDksIDY5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgCi0gICAgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA0OSwgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDQ5LCA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCAKLSAgICA0NSwgNTAsIDcwLCA1NiwgNDksIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgCi0gICAgNzAsIDU2LCA0OSwgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIAotICAgIDQ5LCA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNDksIDU2LCAKLSAgICAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA0OSwgNTUsIDEyOCwgNzMsIAotICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDQ5LCA1NCwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNDksIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgCi0gICAgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA0OSwgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDQ5LCA1MSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCAKLSAgICA0NSwgNTAsIDcwLCA1NiwgNDksIDUwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgCi0gICAgNzAsIDU2LCA0OSwgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIAotICAgIDQ5LCA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNDgsIDcwLCAKLSAgICAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA0OCwgNjksIDEyOCwgNzMsIAotICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDQ4LCA2OCwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNDgsIDY3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgCi0gICAgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA0OCwgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDQ4LCA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCAKLSAgICA0NSwgNTAsIDcwLCA1NiwgNDgsIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgCi0gICAgNzAsIDU2LCA0OCwgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIAotICAgIDQ4LCA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNDgsIDU0LCAKLSAgICAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA0OCwgNTMsIDEyOCwgNzMsIAotICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDQ4LCA1MiwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNDgsIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgCi0gICAgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA0OCwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIAotICAgIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDQ4LCA0OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCAKLSAgICA0NSwgNTAsIDcwLCA1NiwgNDgsIDQ4LCAxMjgsIDczLCA2OCwgNjksIDc4LCA4NCwgNzMsIDcwLCA3MywgNjcsIDY1LCA4NCwgCi0gICAgNzMsIDc5LCA3OCwgMTI4LCA3MywgNjgsIDY5LCA3OCwgODQsIDczLCA2NywgNjUsIDIwNCwgNzMsIDY3LCA3MiwgNzksIDg1LCAKLSAgICAxMjgsIDczLCA2NywgNzIsIDc5LCA4MywgMTI4LCA3MywgNjcsIDcyLCA3MywgNzcsIDY1LCA4NCwgNzksIDgzLCAxMjgsIAotICAgIDczLCA2NywgNzIsIDY1LCA2OCwgNzMsIDc4LCAxMjgsIDczLCA2NywgNjksIDc2LCA2NSwgNzgsIDY4LCA3MywgNjcsIDQ1LCAKLSAgICA4OSwgODIsIDEyOCwgNzMsIDY2LCA3MywgNzAsIDczLCA3NiwgNzMsIDEyOCwgNzMsIDY1LCA4NSwgNjgsIDY1LCAxMjgsIAotICAgIDczLCA0OCwgNDksIDUzLCAxMjgsIDczLCA0OCwgNDksIDUyLCAxMjgsIDczLCA0OCwgNDksIDUxLCAxMjgsIDczLCA0OCwgCi0gICAgNDksIDUwLCAxMjgsIDczLCA0OCwgNDksIDQ5LCA2NSwgMTI4LCA3MywgNDgsIDQ5LCA0OSwgMTI4LCA3MywgNDgsIDQ5LCAKLSAgICA0OCwgNjUsIDEyOCwgNzMsIDQ4LCA0OSwgNDgsIDEyOCwgNzMsIDQ4LCA0OCwgNTcsIDY1LCAxMjgsIDczLCA0OCwgNDgsIAotICAgIDU3LCAxMjgsIDczLCA0OCwgNDgsIDU2LCAxMjgsIDczLCA0OCwgNDgsIDU1LCAxMjgsIDczLCA0OCwgNDgsIDU0LCAxMjgsIAotICAgIDczLCA0OCwgNDgsIDUzLCA2NSwgMTI4LCA3MywgNDgsIDQ4LCA1MywgMTI4LCA3MywgNDgsIDQ4LCA1MiwgMTI4LCA3MywgCi0gICAgNDgsIDQ4LCA1MSwgMTI4LCA3MywgNDgsIDQ4LCA1MCwgMTI4LCA3MywgNDgsIDQ4LCA0OSwgMTI4LCA3MywgNDUsIDg5LCAKLSAgICA4NSwgMTI4LCA3MywgNDUsIDg5LCA3OSwgMTI4LCA3MywgNDUsIDg5LCA2OSwgNzksIDEyOCwgNzMsIDQ1LCA4OSwgNjksIAotICAgIDEyOCwgNzMsIDQ1LCA4OSwgNjUsIDY5LCAxMjgsIDczLCA0NSwgODksIDY1LCA0NSwgNzksIDEyOCwgNzMsIDQ1LCA4OSwgCi0gICAgNjUsIDEyOCwgNzMsIDQ1LCA3OSwgNDUsIDczLCAxMjgsIDczLCA0NSwgNzksIDEyOCwgNzMsIDQ1LCA2OSwgODUsIDEyOCwgCi0gICAgNzMsIDQ1LCA2NiwgNjksIDY1LCA3NywgMTI4LCA3MywgNDUsIDY1LCA4MiwgNjUsIDY5LCA2NSwgMTI4LCA3MywgNDUsIDY1LCAKLSAgICAxMjgsIDcyLCA5MCwgOTAsIDkwLCA3MSwgMTI4LCA3MiwgOTAsIDkwLCA5MCwgMTI4LCA3MiwgOTAsIDkwLCA4MCwgMTI4LCAKLSAgICA3MiwgOTAsIDkwLCAxMjgsIDcyLCA5MCwgODcsIDcxLCAxMjgsIDcyLCA5MCwgODcsIDEyOCwgNzIsIDkwLCA4NCwgMTI4LCAKLSAgICA3MiwgOTAsIDcxLCAxMjgsIDcyLCA4OSwgODMsIDg0LCA2OSwgODIsIDY5LCA4MywgNzMsIDIxMSwgNzIsIDg5LCA4MCwgNzksIAotICAgIDY4LCA3MywgNjUsIDgzLCA4NCwgNzksIDc2LCA2OSwgMTI4LCA3MiwgODksIDgwLCA3MiwgNjksIDc4LCA2NSwgODQsIDczLCAKLSAgICA3OSwgMjA2LCA3MiwgODksIDgwLCA3MiwgNjksIDc4LCA0NSwgNzcsIDczLCA3OCwgODUsIDgzLCAxMjgsIDcyLCA4OSwgODAsIAotICAgIDcyLCA2OSwgNzgsIDEyOCwgNzIsIDg5LCA4MCwgNzIsIDY5LCAyMDYsIDcyLCA4OCwgODcsIDcxLCAxMjgsIDcyLCA4OCwgCi0gICAgODUsIDc5LCA4OCwgMTI4LCA3MiwgODgsIDg1LCA3OSwgODQsIDEyOCwgNzIsIDg4LCA4NSwgNzksIDgwLCAxMjgsIDcyLCAKLSAgICA4OCwgODUsIDc5LCAxMjgsIDcyLCA4OCwgNzksIDg4LCAxMjgsIDcyLCA4OCwgNzksIDg0LCAxMjgsIDcyLCA4OCwgNzksIAotICAgIDgwLCAxMjgsIDcyLCA4OCwgNzksIDEyOCwgNzIsIDg4LCA3MywgODgsIDEyOCwgNzIsIDg4LCA3MywgODQsIDEyOCwgNzIsIAotICAgIDg4LCA3MywgODAsIDEyOCwgNzIsIDg4LCA3MywgNjksIDg4LCAxMjgsIDcyLCA4OCwgNzMsIDY5LCA4NCwgMTI4LCA3MiwgCi0gICAgODgsIDczLCA2OSwgODAsIDEyOCwgNzIsIDg4LCA3MywgNjksIDEyOCwgNzIsIDg4LCA3MywgMTI4LCA3MiwgODgsIDY5LCAKLSAgICA4OCwgMTI4LCA3MiwgODgsIDY5LCA4MCwgMTI4LCA3MiwgODgsIDY5LCAxMjgsIDcyLCA4OCwgNjUsIDg4LCAxMjgsIDcyLCAKLSAgICA4OCwgNjUsIDg0LCAxMjgsIDcyLCA4OCwgNjUsIDgwLCAxMjgsIDcyLCA4OCwgNjUsIDEyOCwgNzIsIDg3LCA4NSwgMTI4LCAKLSAgICA3MiwgODcsIDY1LCA3MywgODIsIDEyOCwgNzIsIDg2LCAxMjgsIDcyLCA4NSwgODMsIDcyLCA2OSwgMTk2LCA3MiwgODUsIAotICAgIDgyLCA2NSwgNzgsIDEyOCwgNzIsIDg1LCA3OSwgODQsIDEyOCwgNzIsIDg1LCA3OCwgNjgsIDgyLCA2OSwgNjgsIDEyOCwgCi0gICAgNzIsIDg1LCA3OCwgNjgsIDgyLCA2OSwgMTk2LCA3MiwgODUsIDc4LCAxMjgsIDcyLCA4NSwgNzcsIDY1LCA3OCwgMTI4LCAKLSAgICA3MiwgODUsIDc3LCA2NSwgMjA2LCA3MiwgODUsIDc2LCA1MCwgMTI4LCA3MiwgODUsIDczLCA3MywgODQsIDc5LCAxMjgsIAotICAgIDcyLCA4NSwgNjYsIDUwLCAxMjgsIDcyLCA4NSwgNjYsIDE3OCwgNzIsIDg1LCA2NiwgMTI4LCA3MiwgODUsIDY1LCA4MiwgCi0gICAgNjUsIDY4LCA2OCwgNzksIDEyOCwgNzIsIDg0LCA4MywgMTI4LCA3MiwgODQsIDc0LCAxMjgsIDcyLCA4MiwgODksIDg2LCAKLSAgICA3OCwgNzMsIDE5MywgNzIsIDgwLCA4NywgNzEsIDEyOCwgNzIsIDgwLCA2NSwgMTI4LCA3MiwgODAsIDEyOCwgNzIsIDc5LCAKLSAgICA4NSwgODMsIDE5NywgNzIsIDc5LCA4NSwgODIsIDcxLCA3NiwgNjUsIDgzLCA4MywgMTI4LCA3MiwgNzksIDg1LCA4MiwgNzEsIAotICAgIDc2LCA2NSwgODMsIDIxMSwgNzIsIDc5LCA4NSwgODIsIDEyOCwgNzIsIDc5LCA4NSwgMjEwLCA3MiwgNzksIDg0LCA2OSwgCi0gICAgNzYsIDEyOCwgNzIsIDc5LCA4NCwgNjUsIDEyOCwgNzIsIDc5LCA4MywgODAsIDczLCA4NCwgNjUsIDc2LCAxMjgsIDcyLCAKLSAgICA3OSwgODIsIDgzLCA2OSwgMTI4LCA3MiwgNzksIDgyLCA4MywgMTk3LCA3MiwgNzksIDgyLCA3OCwgODMsIDEyOCwgNzIsIAotICAgIDc5LCA4MiwgNzMsIDkwLCA3OSwgNzgsIDg0LCA2NSwgNzYsIDc2LCAyMTcsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCAKLSAgICA4NCwgNjUsIDc2LCA0NSwgNDgsIDU0LCA0NSwgNDgsIDU0LCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgCi0gICAgNjUsIDc2LCA0NSwgNDgsIDU0LCA0NSwgNDgsIDUzLCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIAotICAgIDc2LCA0NSwgNDgsIDU0LCA0NSwgNDgsIDUyLCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCAKLSAgICA0NSwgNDgsIDU0LCA0NSwgNDgsIDUxLCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgCi0gICAgNDgsIDU0LCA0NSwgNDgsIDUwLCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIAotICAgIDU0LCA0NSwgNDgsIDQ5LCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIDU0LCAKLSAgICA0NSwgNDgsIDQ4LCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIDUzLCA0NSwgCi0gICAgNDgsIDU0LCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIDUzLCA0NSwgNDgsIAotICAgIDUzLCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIDUzLCA0NSwgNDgsIDUyLCAKLSAgICAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIDUzLCA0NSwgNDgsIDUxLCAxMjgsIAotICAgIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIDUzLCA0NSwgNDgsIDUwLCAxMjgsIDcyLCAKLSAgICA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIDUzLCA0NSwgNDgsIDQ5LCAxMjgsIDcyLCA3OSwgCi0gICAgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIDUzLCA0NSwgNDgsIDQ4LCAxMjgsIDcyLCA3OSwgODIsIAotICAgIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIDUyLCA0NSwgNDgsIDU0LCAxMjgsIDcyLCA3OSwgODIsIDczLCAKLSAgICA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIDUyLCA0NSwgNDgsIDUzLCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgCi0gICAgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIDUyLCA0NSwgNDgsIDUyLCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIAotICAgIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIDUyLCA0NSwgNDgsIDUxLCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCAKLSAgICA4NCwgNjUsIDc2LCA0NSwgNDgsIDUyLCA0NSwgNDgsIDUwLCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgCi0gICAgNjUsIDc2LCA0NSwgNDgsIDUyLCA0NSwgNDgsIDQ5LCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIAotICAgIDc2LCA0NSwgNDgsIDUyLCA0NSwgNDgsIDQ4LCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCAKLSAgICA0NSwgNDgsIDUxLCA0NSwgNDgsIDU0LCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgCi0gICAgNDgsIDUxLCA0NSwgNDgsIDUzLCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIAotICAgIDUxLCA0NSwgNDgsIDUyLCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIDUxLCAKLSAgICA0NSwgNDgsIDUxLCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIDUxLCA0NSwgCi0gICAgNDgsIDUwLCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIDUxLCA0NSwgNDgsIAotICAgIDQ5LCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIDUxLCA0NSwgNDgsIDQ4LCAKLSAgICAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIDUwLCA0NSwgNDgsIDU0LCAxMjgsIAotICAgIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIDUwLCA0NSwgNDgsIDUzLCAxMjgsIDcyLCAKLSAgICA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIDUwLCA0NSwgNDgsIDUyLCAxMjgsIDcyLCA3OSwgCi0gICAgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIDUwLCA0NSwgNDgsIDUxLCAxMjgsIDcyLCA3OSwgODIsIAotICAgIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIDUwLCA0NSwgNDgsIDUwLCAxMjgsIDcyLCA3OSwgODIsIDczLCAKLSAgICA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIDUwLCA0NSwgNDgsIDQ5LCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgCi0gICAgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIDUwLCA0NSwgNDgsIDQ4LCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIAotICAgIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIDQ5LCA0NSwgNDgsIDU0LCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCAKLSAgICA4NCwgNjUsIDc2LCA0NSwgNDgsIDQ5LCA0NSwgNDgsIDUzLCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgCi0gICAgNjUsIDc2LCA0NSwgNDgsIDQ5LCA0NSwgNDgsIDUyLCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIAotICAgIDc2LCA0NSwgNDgsIDQ5LCA0NSwgNDgsIDUxLCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCAKLSAgICA0NSwgNDgsIDQ5LCA0NSwgNDgsIDUwLCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgCi0gICAgNDgsIDQ5LCA0NSwgNDgsIDQ5LCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIAotICAgIDQ5LCA0NSwgNDgsIDQ4LCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIDQ4LCAKLSAgICA0NSwgNDgsIDU0LCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIDQ4LCA0NSwgCi0gICAgNDgsIDUzLCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIDQ4LCA0NSwgNDgsIAotICAgIDUyLCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIDQ4LCA0NSwgNDgsIDUxLCAKLSAgICAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIDQ4LCA0NSwgNDgsIDUwLCAxMjgsIAotICAgIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIDQ4LCA0NSwgNDgsIDQ5LCAxMjgsIDcyLCAKLSAgICA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIDQ4LCA0NSwgNDgsIDQ4LCAxMjgsIDcyLCA3OSwgCi0gICAgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCAxMjgsIDcyLCA3OSwgODIsIDczLCAxMjgsIDcyLCA3OSwgODIsIAotICAgIDE5MywgNzIsIDc5LCA3OSwgODIsIDg1LCAxMjgsIDcyLCA3OSwgNzksIDgwLCAxMjgsIDcyLCA3OSwgNzksIDc4LCAxMjgsIAotICAgIDcyLCA3OSwgNzksIDc1LCA2OSwgMTk2LCA3MiwgNzksIDc4LCA2OSwgODksIDY2LCA2OSwgNjksIDEyOCwgNzIsIDc5LCA3OCwgCi0gICAgNjksIDIxNywgNzIsIDc5LCA3NywgNzksIDg0LCA3MiwgNjksIDg0LCA3MywgNjcsIDEyOCwgNzIsIDc5LCA3NywgNzksIDg0LCAKLSAgICA3MiwgNjksIDg0LCA3MywgMTk1LCA3MiwgNzksIDc2LCA2OSwgMTI4LCA3MiwgNzksIDc2LCA2OCwgNzMsIDc4LCAxOTksIAorICAgIDc0LCA4NSwgNjgsIDY5LCA3OSwgNDUsIDgzLCA4MCwgNjUsIDc4LCA3MywgODMsIDIwMCwgNzQsIDc5LCA4OSwgODMsIDg0LCAKKyAgICA3MywgNjcsIDc1LCAxMjgsIDc0LCA3OSwgODksIDc5LCA4NSwgMjExLCA3NCwgNzksIDg5LCAxMjgsIDc0LCA3OSwgODYsIAorICAgIDY5LCAxMjgsIDc0LCA3OSwgMjEyLCA3NCwgNzksIDc4LCA3MSwgMTI4LCA3NCwgNzksIDc4LCAxOTMsIDc0LCA3OSwgNzUsIAorICAgIDY5LCA4MiwgMTI4LCA3NCwgNzksIDczLCA3OCwgNjksIDY4LCAxMjgsIDc0LCA3OSwgNzMsIDc4LCAxMjgsIDc0LCA3OSwgCisgICAgNjUsIDEyOCwgNzQsIDc0LCA4OSwgODgsIDEyOCwgNzQsIDc0LCA4OSwgODQsIDEyOCwgNzQsIDc0LCA4OSwgODAsIDEyOCwgCisgICAgNzQsIDc0LCA4OSwgMTI4LCA3NCwgNzQsIDg1LCA4OCwgMTI4LCA3NCwgNzQsIDg1LCA4NCwgMTI4LCA3NCwgNzQsIDg1LCAKKyAgICA4MiwgODgsIDEyOCwgNzQsIDc0LCA4NSwgODIsIDEyOCwgNzQsIDc0LCA4NSwgODAsIDEyOCwgNzQsIDc0LCA4NSwgNzksIAorICAgIDg4LCAxMjgsIDc0LCA3NCwgODUsIDc5LCA4MCwgMTI4LCA3NCwgNzQsIDg1LCA3OSwgMTI4LCA3NCwgNzQsIDg1LCAxMjgsIAorICAgIDc0LCA3NCwgNzksIDg4LCAxMjgsIDc0LCA3NCwgNzksIDg0LCAxMjgsIDc0LCA3NCwgNzksIDgwLCAxMjgsIDc0LCA3NCwgCisgICAgNzksIDEyOCwgNzQsIDc0LCA3MywgODgsIDEyOCwgNzQsIDc0LCA3MywgODQsIDEyOCwgNzQsIDc0LCA3MywgODAsIDEyOCwgCisgICAgNzQsIDc0LCA3MywgNjksIDg4LCAxMjgsIDc0LCA3NCwgNzMsIDY5LCA4NCwgMTI4LCA3NCwgNzQsIDczLCA2OSwgODAsIAorICAgIDEyOCwgNzQsIDc0LCA3MywgNjksIDEyOCwgNzQsIDc0LCA3MywgMTI4LCA3NCwgNzQsIDY5LCA2OSwgMTI4LCA3NCwgNzQsIAorICAgIDY5LCAxMjgsIDc0LCA3NCwgNjUsIDEyOCwgNzQsIDczLCA3NiwgMTI4LCA3NCwgNzMsIDczLCAxMjgsIDc0LCA3MywgNzIsIAorICAgIDg2LCA2NSwgNzcsIDg1LCA3NiwgNzMsIDg5LCA2NSwgMTI4LCA3NCwgNzMsIDY1LCAxMjgsIDc0LCA3MiwgNzksIDg4LCAKKyAgICAxMjgsIDc0LCA3MiwgNzksIDEyOCwgNzQsIDcyLCA2OSwgNzIsIDEyOCwgNzQsIDcyLCA2NSwgODksIDczLCA3OCwgMTI4LCAKKyAgICA3NCwgNzIsIDY1LCA3OCwgMTI4LCA3NCwgNzIsIDY1LCA3NywgMTI4LCA3NCwgNzIsIDY1LCA2NSwgMTI4LCA3NCwgNzIsIAorICAgIDY1LCAxMjgsIDc0LCA2OSwgODUsIDEyOCwgNzQsIDY5LCA4MiwgODUsIDgzLCA2NSwgNzYsIDY5LCA3NywgMTI4LCA3NCwgCisgICAgNjksIDgyLCA2NSwgMjA2LCA3NCwgNjksIDgyLCA2NSwgMTI4LCA3NCwgNjksIDgyLCAxMjgsIDc0LCA2OSwgNzIsIDEyOCwgCisgICAgNzQsIDY5LCAyMDAsIDc0LCA2OSwgNzEsIDc5LCA3MSwgNjUsIDc4LCAxMjgsIDc0LCA2OSwgNjksIDc3LCAxMjgsIDc0LCAKKyAgICA2OSwgNjUsIDc4LCA4MywgMTI4LCA3NCwgNjUsIDg5LCA3OCwgMTI4LCA3NCwgNjUsIDg5LCA3MywgNzgsIDEyOCwgNzQsIAorICAgIDY1LCA4OSwgNjUsIDc4LCA3OCwgNjUsIDEyOCwgNzQsIDY1LCA4NiwgNzMsIDg5LCA2NSwgNzgsIDczLCAxMjgsIDc0LCA2NSwgCisgICAgODUsIDEyOCwgNzQsIDY1LCA4MiwgMTI4LCA3NCwgNjUsIDgwLCA2NSwgNzgsIDY5LCA4MywgMTk3LCA3NCwgNjUsIDgwLCAKKyAgICA2NSwgNzgsIDEyOCwgNzQsIDY1LCA3OCwgODUsIDY1LCA4MiwgODksIDEyOCwgNzQsIDY1LCA3NiwgNzYsIDY1LCA3NCwgNjUsIAorICAgIDc2LCA2NSwgNzYsIDc5LCA4NSwgNzIsIDc5LCA4NSwgMTI4LCA3NCwgNjUsIDczLCAxMjgsIDc0LCA2NSwgNzIsIDEyOCwgCisgICAgNzQsIDY1LCA2OCwgNjksIDEyOCwgNzQsIDY1LCA2NywgNzUsIDgzLCAxMjgsIDc0LCA2NSwgNjcsIDc1LCA0NSwgNzksIDQ1LCAKKyAgICA3NiwgNjUsIDc4LCA4NCwgNjksIDgyLCA3OCwgMTI4LCA3NCwgNjUsIDY3LCAyMDMsIDc0LCA0NSwgODMsIDczLCA3NywgODAsIAorICAgIDc2LCA3MywgNzAsIDczLCA2OSwgMTk2LCA3MywgOTAsIDcyLCA3MywgODQsIDgzLCA2NSwgMTI4LCA3MywgOTAsIDcyLCA3MywgCisgICAgODQsIDgzLCAxOTMsIDczLCA5MCwgNzIsIDY5LCAxMjgsIDczLCA5MCwgNjUsIDc1LCA2NSwgODksIDE5MywgNzMsIDg5LCAKKyAgICA2OSwgNzUsIDEyOCwgNzMsIDg5LCA2NSwgNzgsIDc4LCA2NSwgMTI4LCA3MywgODUsIDc0LCA2NSwgMTI4LCA3MywgODQsIAorICAgIDIxMSwgNzMsIDg0LCA2OSwgODIsIDY1LCA4NCwgNzMsIDc5LCAyMDYsIDczLCA4NCwgNjksIDc3LCAxMjgsIDczLCA4MywgCisgICAgODMsIDcyLCA2NSwgODIsIDEyOCwgNzMsIDgzLCA3OSwgODMsIDY3LCA2OSwgNzYsIDY5LCAyMTEsIDczLCA4MywgNzksIDc4LCAKKyAgICAxMjgsIDczLCA4MywgNzksIDIwNiwgNzMsIDgzLCA3OSwgNzYsIDY1LCA4NCwgNjksIDEyOCwgNzMsIDgzLCA3NiwgNjUsIAorICAgIDc4LCA2OCwgMTI4LCA3MywgODMsIDY5LCA3OCwgNDUsIDczLCA4MywgNjksIDc4LCAxMjgsIDczLCA4MywgNjUsIDc1LCA3MywgCisgICAgMTkzLCA3MywgODMsIDQ1LCA4MCwgNzMsIDc2LCA3NiwgNjUsIDEyOCwgNzMsIDgyLCA4NSwgODksIDY1LCA3OCwgNzgsIDY1LCAKKyAgICAxMjgsIDczLCA4MiwgODUsIDg1LCA4OSwgNjUsIDc4LCA3OCwgNjUsIDEyOCwgNzMsIDgyLCA3OSwgNzgsIDQ1LCA2NywgNzksIAorICAgIDgwLCA4MCwgNjksIDIxMCwgNzMsIDgyLCA3OSwgNzgsIDEyOCwgNzMsIDgyLCA2NiwgMTI4LCA3MywgNzksIDg0LCA3MywgCisgICAgNzAsIDczLCA2OSwgMTk2LCA3MywgNzksIDg0LCA2NSwgODQsIDY5LCAxOTYsIDczLCA3OSwgODQsIDY1LCAxMjgsIDczLCAKKyAgICA3OSwgODQsIDE5MywgNzMsIDc5LCA4MiwgMTI4LCA3MywgNzksIDY4LCA3MiwgNjUsIDY4LCA3MiwgMTI4LCA3MywgNzgsIAorICAgIDg2LCA3MywgODMsIDczLCA2NiwgNzYsIDE5NywgNzMsIDc4LCA4NiwgNjksIDgyLCA4NCwgNjksIDY4LCAxMjgsIDczLCA3OCwgCisgICAgODYsIDY5LCA4MiwgODQsIDY5LCAxOTYsIDczLCA3OCwgODYsIDY5LCA4MiwgODMsIDE5NywgNzMsIDc4LCA4NCwgODIsIDc5LCAKKyAgICA2OCwgODUsIDY3LCA2OSwgODIsIDEyOCwgNzMsIDc4LCA4NCwgNzMsIDEyOCwgNzMsIDc4LCA4NCwgNjksIDgyLCA4MywgODksIAorICAgIDc2LCA3NiwgNjUsIDY2LCA3MywgMTk1LCA3MywgNzgsIDg0LCA2OSwgODIsIDgzLCA2OSwgNjcsIDg0LCA3MywgNzksIDc4LCAKKyAgICAxMjgsIDczLCA3OCwgODQsIDY5LCA4MiwgODMsIDY5LCA2NywgODQsIDczLCA3OSwgMjA2LCA3MywgNzgsIDg0LCA2OSwgODIsIAorICAgIDgzLCA2OSwgNjcsIDg0LCA3MywgNzgsIDE5OSwgNzMsIDc4LCA4NCwgNjksIDgyLCA4MiwgNzksIDY2LCA2NSwgNzgsIDcxLCAKKyAgICAxMjgsIDczLCA3OCwgODQsIDY5LCA4MiwgODIsIDc5LCA2NiwgNjUsIDc4LCAxOTksIDczLCA3OCwgODQsIDY5LCA4MiwgODAsIAorICAgIDc5LCA3NiwgNjUsIDg0LCA3MywgNzksIDIwNiwgNzMsIDc4LCA4NCwgNjksIDgyLCA3NiwgNzksIDY3LCA3NSwgNjksIDE5NiwgCisgICAgNzMsIDc4LCA4NCwgNjksIDgyLCA3NiwgNzMsIDc4LCA2OSwgNjUsIDIxMCwgNzMsIDc4LCA4NCwgNjksIDgyLCA3NiwgNjUsIAorICAgIDY3LCA2OSwgMTk2LCA3MywgNzgsIDg0LCA2OSwgODIsIDczLCA3OSwgMjEwLCA3MywgNzgsIDg0LCA2OSwgODIsIDY5LCA4MywgCisgICAgMjEyLCA3MywgNzgsIDg0LCA2OSwgODIsIDY3LCA2NSwgNzYsIDY1LCA4NCwgNjksIDEyOCwgNzMsIDc4LCA4NCwgNjksIDcxLCAKKyAgICA4MiwgNjUsIDg0LCA3MywgNzksIDc4LCAxMjgsIDczLCA3OCwgODQsIDY5LCA3MSwgODIsIDY1LCA4NCwgNzMsIDc5LCAyMDYsIAorICAgIDczLCA3OCwgODQsIDY5LCA3MSwgODIsIDY1LCA3NiwgMTI4LCA3MywgNzgsIDg0LCA2OSwgNzEsIDgyLCA2NSwgMjA0LCA3MywgCisgICAgNzgsIDgzLCA4NSwgNzYsIDY1LCAyMTAsIDczLCA3OCwgODMsIDg0LCA4MiwgODUsIDc3LCA2OSwgNzgsIDg0LCA2NSwgMjA0LCAKKyAgICA3MywgNzgsIDgzLCA3MywgNjgsIDY5LCAxMjgsIDczLCA3OCwgODMsIDczLCA2OCwgMTk3LCA3MywgNzgsIDgzLCA2OSwgODIsIAorICAgIDg0LCA3MywgNzksIDIwNiwgNzMsIDc4LCA4MywgNjksIDY3LCA4NCwgMTI4LCA3MywgNzgsIDgzLCA2NywgODIsIDczLCA4MCwgCisgICAgODQsIDczLCA3OSwgNzgsIDY1LCAyMDQsIDczLCA3OCwgODAsIDg1LCAyMTIsIDczLCA3OCwgNzgsIDc5LCA2NywgNjksIDc4LCAKKyAgICA2NywgNjksIDEyOCwgNzMsIDc4LCA3OCwgNzgsIDEyOCwgNzMsIDc4LCA3OCwgNjksIDgyLCAxMjgsIDczLCA3OCwgNzgsIAorICAgIDY5LCAyMTAsIDczLCA3OCwgNzgsIDEyOCwgNzMsIDc4LCA3MywgNzgsIDcxLCA4NSwgMTI4LCA3MywgNzgsIDczLCAxMjgsIAorICAgIDczLCA3OCwgNzIsIDczLCA2NiwgNzMsIDIxMiwgNzMsIDc4LCA3MiwgNjksIDgyLCA2OSwgNzgsIDIxMiwgNzMsIDc4LCA3MSwgCisgICAgODcsIDY1LCA5MCwgMTI4LCA3MywgNzgsIDcwLCA3OSwgODIsIDc3LCA2NSwgODQsIDczLCA3OSwgMjA2LCA3MywgNzgsIDcwLCAKKyAgICA3NiwgODUsIDY5LCA3OCwgNjcsIDY5LCAxMjgsIDczLCA3OCwgNzAsIDczLCA3OCwgNzMsIDg0LCA4OSwgMTI4LCA3MywgNzgsIAorICAgIDcwLCA3MywgNzgsIDczLCA4NCwgMjE3LCA3MywgNzgsIDY4LCA4NSwgODMsIDg0LCA4MiwgNzMsIDY1LCAyMDQsIDczLCA3OCwgCisgICAgNjgsIDczLCA4MiwgNjksIDY3LCAyMTIsIDczLCA3OCwgNjgsIDczLCA2NywgNjUsIDg0LCA3OSwgODIsIDEyOCwgNzMsIDc4LCAKKyAgICA2OCwgNzMsIDY3LCA2NSwgODQsIDc5LCAyMTAsIDczLCA3OCwgNjgsIDczLCAxOTUsIDczLCA3OCwgNjgsIDczLCA2NSwgCisgICAgMjA2LCA3MywgNzgsIDY4LCA2OSwgODgsIDEyOCwgNzMsIDc4LCA2OCwgNjksIDIxNiwgNzMsIDc4LCA2OCwgNjksIDgwLCAKKyAgICA2OSwgNzgsIDY4LCA2OSwgNzgsIDIxMiwgNzMsIDc4LCA2NywgODIsIDY5LCA3NywgNjksIDc4LCA4NCwgMTI4LCA3MywgNzgsIAorICAgIDY3LCA4MiwgNjksIDY1LCA4MywgNjksIDIxMSwgNzMsIDc4LCA2NywgODIsIDY5LCA2NSwgODMsIDY5LCAxMjgsIDczLCA3OCwgCisgICAgNjcsIDgyLCA2OSwgNjUsIDgzLCAxOTcsIDczLCA3OCwgNjcsIDc5LCA3NywgODAsIDc2LCA2OSwgODQsIDE5NywgNzMsIDc4LCAKKyAgICA2NywgNzksIDc3LCA3MywgNzgsIDE5OSwgNzMsIDc4LCA2NywgNzYsIDg1LCA2OCwgNzMsIDc4LCAxOTksIDczLCA3OCwgNjcsIAorICAgIDcyLCAxMjgsIDczLCA3OCwgNjYsIDc5LCAyMTYsIDczLCA3OCwgNjUsIDgwLCAxMjgsIDczLCA3OCwgNDUsIDY1LCA3NiwgCisgICAgNjUsIDcwLCAxMjgsIDczLCA3NywgODAsIDY5LCA4MiwgNzMsIDY1LCAyMDQsIDczLCA3NywgODAsIDY5LCA4MiwgNzAsIDY5LCAKKyAgICA2NywgODQsIDg1LCAyMDUsIDczLCA3NywgODAsIDY5LCA4MiwgNzAsIDY5LCA2NywgODQsIDY1LCAxMjgsIDczLCA3NywgODAsIAorICAgIDY5LCA4MiwgNzAsIDY5LCA2NywgODQsIDE5MywgNzMsIDc3LCA3OCwgMTI4LCA3MywgNzcsIDczLCA4MywgNjksIDc5LCAKKyAgICAyMTEsIDczLCA3NywgNzMsIDc4LCA1MSwgMTI4LCA3MywgNzcsIDczLCA3OCwgMTI4LCA3MywgNzcsIDczLCAyMDYsIDczLCAKKyAgICA3NywgNzMsIDcwLCA4NCwgNzIsIDc5LCA4MiwgNzksIDc4LCAxMjgsIDczLCA3NywgNzMsIDcwLCA4NCwgNzIsIDc5LCA4MiwgCisgICAgNjUsIDEyOCwgNzMsIDc3LCA3MywgNzAsIDc5LCA3OCwgNzksIDc4LCAxMjgsIDczLCA3NywgNzMsIDY4LCA3MywgNjUsIDgyLCAKKyAgICA3MSwgNzksIDc4LCAxMjgsIDczLCA3NywgNjUsIDcxLCAxOTcsIDczLCA3NiwgODUsIDg5LCA2NSwgNzgsIDc4LCA2NSwgCisgICAgMTI4LCA3MywgNzYsIDg1LCA4OSwgMTI4LCA3MywgNzYsIDg1LCA4NSwgODksIDY1LCA3OCwgNzgsIDY1LCAxMjgsIDczLCAKKyAgICA3NiwgODUsIDg0LCAxMjgsIDczLCA3NiwgNzMsIDc3LCA3NywgODUsIDUyLCAxMjgsIDczLCA3NiwgNzMsIDc3LCA3NywgODUsIAorICAgIDUxLCAxMjgsIDczLCA3NiwgNzMsIDc3LCA3NywgODUsIDEyOCwgNzMsIDc2LCA3MywgNzcsIDc3LCAyMTMsIDczLCA3NiwgCisgICAgNTAsIDEyOCwgNzMsIDc1LCA2NSwgODIsIDY1LCAxMjgsIDczLCA3NSwgNjUsIDgyLCAxOTMsIDczLCA3NCwgMTI4LCA3MywgCisgICAgNzMsIDg5LCA2NSwgNzgsIDc4LCA2NSwgMTI4LCA3MywgNzEsIDczLCAxMjgsIDczLCA3MSwgMjAxLCA3MywgNzEsIDcxLCAKKyAgICA4NywgODMsIDEyOCwgNzMsIDcwLCA3MywgNzgsIDEyOCwgNzMsIDY5LCA4NSwgNzgsIDcxLCA0NSwgODQsIDczLCA3NSwgNjksIAorICAgIDg1LCA4NCwgMTI4LCA3MywgNjksIDg1LCA3OCwgNzEsIDQ1LCA4NCwgNzIsIDczLCA2OSwgODUsIDg0LCA3MiwgMTI4LCA3MywgCisgICAgNjksIDg1LCA3OCwgNzEsIDQ1LCA4MywgODMsIDY1LCA3OCwgNzEsIDc1LCA3MywgODksIDY5LCA3OSwgNzUsIDEyOCwgNzMsIAorICAgIDY5LCA4NSwgNzgsIDcxLCA0NSwgODIsIDczLCA2OSwgODUsIDc2LCAxMjgsIDczLCA2OSwgODUsIDc4LCA3MSwgNDUsIDgwLCAKKyAgICA3MywgNjksIDg1LCA4MCwgMTI4LCA3MywgNjksIDg1LCA3OCwgNzEsIDQ1LCA4MCwgNzIsIDczLCA2OSwgODUsIDgwLCA3MiwgCisgICAgMTI4LCA3MywgNjksIDg1LCA3OCwgNzEsIDQ1LCA3NSwgNzMsIDg5LCA2OSwgNzksIDc1LCAxMjgsIDczLCA2OSwgODUsIDc4LCAKKyAgICA3MSwgNDUsIDc1LCA3MiwgNzMsIDY5LCA4NSwgNzUsIDcyLCAxMjgsIDczLCA2OSwgODUsIDc4LCA3MSwgNDUsIDY3LCA3MywgCisgICAgNjksIDg1LCA2NywgMTI4LCA3MywgNjksIDg1LCA3OCwgNzEsIDQ1LCA2NywgNzIsIDczLCA2OSwgODUsIDY3LCA3MiwgMTI4LCAKKyAgICA3MywgNjksIDg1LCA3OCwgMTk5LCA3MywgNjgsIDc2LCA2OSwgMTI4LCA3MywgNjgsIDczLCA3NywgMTI4LCA3MywgNjgsIAorICAgIDczLCAyMDUsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDY4LCA1NywgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA2OCwgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjgsIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNjUsIDY4LCA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDY1LCA2OCwgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjgsIAorICAgIDUyLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDY4LCA1MSwgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA2OCwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjgsIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNjUsIDY4LCA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDY1LCA2NywgNzAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjcsIAorICAgIDY5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDY3LCA2OCwgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA2NywgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjcsIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNjUsIDY3LCA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDY1LCA2NywgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjcsIAorICAgIDU2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDY3LCA1NSwgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA2NywgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjcsIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNjUsIDY3LCA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDY1LCA2NywgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjcsIAorICAgIDUwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDY3LCA0OSwgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA2NywgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjYsIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNjUsIDY2LCA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDY1LCA2NiwgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjYsIAorICAgIDY3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDY2LCA2NiwgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA2NiwgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjYsIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNjUsIDY2LCA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDY1LCA2NiwgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjYsIAorICAgIDU0LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDY2LCA1MywgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA2NiwgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjYsIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNjUsIDY2LCA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDY1LCA2NiwgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjYsIAorICAgIDQ4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDY1LCA3MCwgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA2NSwgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjUsIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNjUsIDY1LCA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDY1LCA2NSwgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjUsIAorICAgIDY1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDY1LCA1NywgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA2NSwgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjUsIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNjUsIDY1LCA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDY1LCA2NSwgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjUsIAorICAgIDUyLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDY1LCA1MSwgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA2NSwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjUsIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNjUsIDY1LCA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDY1LCA1NywgNzAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTcsIAorICAgIDY5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU3LCA2OCwgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1NywgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTcsIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU3LCA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDY1LCA1NywgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTcsIAorICAgIDU2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU3LCA1NSwgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1NywgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTcsIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU3LCA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDY1LCA1NywgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTcsIAorICAgIDUwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU3LCA0OSwgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1NywgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTYsIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU2LCA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDY1LCA1NiwgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTYsIAorICAgIDY3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU2LCA2NiwgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1NiwgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTYsIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU2LCA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDY1LCA1NiwgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTYsIAorICAgIDU0LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU2LCA1MywgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1NiwgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTYsIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU2LCA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDY1LCA1NiwgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTYsIAorICAgIDQ4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU1LCA3MCwgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1NSwgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTUsIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU1LCA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDY1LCA1NSwgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTUsIAorICAgIDY1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU1LCA1NywgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1NSwgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTUsIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU1LCA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDY1LCA1NSwgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTUsIAorICAgIDUyLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU1LCA1MSwgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1NSwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTUsIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU1LCA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDY1LCA1NCwgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTQsIAorICAgIDY3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU0LCA2NiwgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1NCwgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTQsIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU0LCA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDY1LCA1NCwgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTQsIAorICAgIDU0LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU0LCA1MywgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1NCwgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTQsIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU0LCA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDY1LCA1NCwgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTQsIAorICAgIDQ4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUzLCA3MCwgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1MywgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTMsIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUzLCA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDY1LCA1MywgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTMsIAorICAgIDY1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUzLCA1NywgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1MywgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTMsIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUzLCA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDY1LCA1MywgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTMsIAorICAgIDUyLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUzLCA1MSwgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1MywgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTMsIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUzLCA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDY1LCA1MiwgNzAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTIsIAorICAgIDY5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUyLCA2OCwgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1MiwgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTIsIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUyLCA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDY1LCA1MiwgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTIsIAorICAgIDU2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUyLCA1NSwgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1MiwgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTIsIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUyLCA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDY1LCA1MiwgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTIsIAorICAgIDUwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUyLCA0OSwgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1MiwgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTEsIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUxLCA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDY1LCA1MSwgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTEsIAorICAgIDY3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUxLCA2NiwgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1MSwgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTEsIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUxLCA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDY1LCA1MSwgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTEsIAorICAgIDU0LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUxLCA1MywgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1MSwgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTEsIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUxLCA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDY1LCA1MSwgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTEsIAorICAgIDQ4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUwLCA3MCwgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1MCwgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTAsIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUwLCA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDY1LCA1MCwgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTAsIAorICAgIDY1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUwLCA1NywgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1MCwgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTAsIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUwLCA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDY1LCA1MCwgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTAsIAorICAgIDUyLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUwLCA1MSwgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1MCwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTAsIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUwLCA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDY1LCA0OSwgNzAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNDksIAorICAgIDY5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDQ5LCA2OCwgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA0OSwgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNDksIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNjUsIDQ5LCA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDY1LCA0OSwgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNDksIAorICAgIDU2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDQ5LCA1NSwgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA0OSwgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNDksIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNjUsIDQ5LCA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDY1LCA0OSwgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNDksIAorICAgIDUwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDQ5LCA0OSwgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA0OSwgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNDgsIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNjUsIDQ4LCA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDY1LCA0OCwgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNDgsIAorICAgIDY3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDQ4LCA2NiwgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA0OCwgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNDgsIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNjUsIDQ4LCA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDY1LCA0OCwgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNDgsIAorICAgIDU0LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDQ4LCA1MywgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA0OCwgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNDgsIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNjUsIDQ4LCA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDY1LCA0OCwgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNDgsIAorICAgIDQ4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDcwLCA3MCwgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA3MCwgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNzAsIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNTcsIDcwLCA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDU3LCA3MCwgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNzAsIAorICAgIDY1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDcwLCA1NywgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA3MCwgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNzAsIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNTcsIDcwLCA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDU3LCA3MCwgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNzAsIAorICAgIDUyLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDcwLCA1MSwgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA3MCwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNzAsIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNTcsIDcwLCA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDU3LCA2OSwgNzAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjksIAorICAgIDY5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY5LCA2OCwgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2OSwgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjksIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY5LCA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDU3LCA2OSwgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjksIAorICAgIDU2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY5LCA1NSwgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2OSwgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjksIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY5LCA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDU3LCA2OSwgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjksIAorICAgIDUwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY5LCA0OSwgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2OSwgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjgsIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY4LCA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDU3LCA2OCwgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjgsIAorICAgIDY3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY4LCA2NiwgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2OCwgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjgsIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY4LCA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDU3LCA2OCwgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjgsIAorICAgIDU0LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY4LCA1MywgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2OCwgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjgsIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY4LCA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDU3LCA2OCwgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjgsIAorICAgIDQ4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY3LCA3MCwgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2NywgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjcsIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY3LCA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDU3LCA2NywgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjcsIAorICAgIDY1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY3LCA1NywgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2NywgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjcsIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY3LCA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDU3LCA2NywgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjcsIAorICAgIDUyLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY3LCA1MSwgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2NywgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjcsIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY3LCA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDU3LCA2NiwgNzAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjYsIAorICAgIDY5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY2LCA2OCwgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2NiwgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjYsIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY2LCA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDU3LCA2NiwgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjYsIAorICAgIDU2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY2LCA1NSwgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2NiwgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjYsIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY2LCA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDU3LCA2NiwgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjYsIAorICAgIDUwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY2LCA0OSwgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2NiwgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjUsIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY1LCA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDU3LCA2NSwgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjUsIAorICAgIDY3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY1LCA2NiwgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2NSwgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjUsIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY1LCA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDU3LCA2NSwgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjUsIAorICAgIDU0LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY1LCA1MywgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2NSwgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjUsIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY1LCA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDU3LCA2NSwgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjUsIAorICAgIDQ4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU3LCA3MCwgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1NywgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTcsIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU3LCA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDU3LCA1NywgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTcsIAorICAgIDY1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU3LCA1NywgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1NywgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTcsIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU3LCA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDU3LCA1NywgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTcsIAorICAgIDUyLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU3LCA1MSwgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1NywgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTcsIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU3LCA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDU3LCA1NiwgNzAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTYsIAorICAgIDY5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU2LCA2OCwgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1NiwgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTYsIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU2LCA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDU3LCA1NiwgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTYsIAorICAgIDU2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU2LCA1NSwgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1NiwgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTYsIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU2LCA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDU3LCA1NiwgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTYsIAorICAgIDUwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU2LCA0OSwgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1NiwgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTUsIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU1LCA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDU3LCA1NSwgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTUsIAorICAgIDY3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU1LCA2NiwgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1NSwgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTUsIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU1LCA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDU3LCA1NSwgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTUsIAorICAgIDU0LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU1LCA1MywgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1NSwgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTUsIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU1LCA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDU3LCA1NSwgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTUsIAorICAgIDQ4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU0LCA3MCwgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1NCwgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTQsIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU0LCA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDU3LCA1NCwgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTQsIAorICAgIDY1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU0LCA1NywgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1NCwgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTQsIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU0LCA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDU3LCA1NCwgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTQsIAorICAgIDUyLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU0LCA1MSwgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1NCwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTQsIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU0LCA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDU3LCA1MywgNzAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTMsIAorICAgIDY5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUzLCA2OCwgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1MywgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTMsIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUzLCA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDU3LCA1MywgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTMsIAorICAgIDU2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUzLCA1NSwgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1MywgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTMsIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUzLCA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDU3LCA1MywgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTMsIAorICAgIDUwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUzLCA0OSwgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1MywgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTIsIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUyLCA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDU3LCA1MiwgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTIsIAorICAgIDY3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUyLCA2NiwgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1MiwgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTIsIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUyLCA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDU3LCA1MiwgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTIsIAorICAgIDU0LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUyLCA1MywgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1MiwgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTIsIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUyLCA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDU3LCA1MiwgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTIsIAorICAgIDQ4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUxLCA3MCwgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1MSwgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTEsIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUxLCA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDU3LCA1MSwgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTEsIAorICAgIDY1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUxLCA1NywgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1MSwgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTEsIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUxLCA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDU3LCA1MSwgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTEsIAorICAgIDUyLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUxLCA1MSwgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1MSwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTEsIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUxLCA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDU3LCA1MCwgNzAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTAsIAorICAgIDY5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUwLCA2OCwgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1MCwgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTAsIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUwLCA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDU3LCA1MCwgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTAsIAorICAgIDU2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUwLCA1NSwgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1MCwgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTAsIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUwLCA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDU3LCA1MCwgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTAsIAorICAgIDUwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUwLCA0OSwgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1MCwgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNDksIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNTcsIDQ5LCA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDU3LCA0OSwgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNDksIAorICAgIDY3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDQ5LCA2NiwgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA0OSwgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNDksIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNTcsIDQ5LCA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDU3LCA0OSwgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNDksIAorICAgIDU0LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDQ5LCA1MywgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA0OSwgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNDksIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNTcsIDQ5LCA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDU3LCA0OSwgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNDksIAorICAgIDQ4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDQ4LCA3MCwgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA0OCwgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNDgsIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNTcsIDQ4LCA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDU3LCA0OCwgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNDgsIAorICAgIDY1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDQ4LCA1NywgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA0OCwgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNDgsIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNTcsIDQ4LCA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNzAsIDU3LCA0OCwgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNDgsIAorICAgIDUyLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDQ4LCA1MSwgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA0OCwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNDgsIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA3MCwgNTcsIDQ4LCA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTcsIDQ4LCA1MiwgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDU2LCA2OCwgNTUsIAorICAgIDQ4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1NiwgNjcsIDY1LCA1NywgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTYsIDU3LCA2OSwgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDU1LCA2OCwgNTIsIDUwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA1NSwgNjUsIDU1LCA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTUsIDU3LCA1NiwgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDU1LCA1NCwgNjgsIAorICAgIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1NSwgNTMsIDUxLCA1MSwgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTUsIDUzLCA0OSwgNzAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDU1LCA0OSwgNTAsIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA1NSwgNDgsIDY2LCA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTQsIDcwLCA0OSwgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDU0LCA2OSwgNTYsIAorICAgIDQ4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1NCwgNTUsIDUwLCA2NywgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTQsIDU1LCA0OCwgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDU0LCA1NSwgNDgsIDU2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA1NCwgNTQsIDUwLCA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTQsIDUzLCA2NiwgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDU0LCA1MywgNTcsIAorICAgIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1NCwgNTMsIDUzLCA1NSwgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTQsIDUxLCA1MywgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDU0LCA1MSwgNDgsIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA1NCwgNTAsIDU3LCA1MywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTQsIDUwLCA1MywgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDU0LCA1MCwgNTIsIAorICAgIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MywgNzAsIDU2LCA2NywgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTMsIDY4LCA2OSwgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUzLCA2NiwgNTYsIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA1MywgNjYsIDUzLCA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTMsIDU3LCA1MCwgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUzLCA1NywgNDksIAorICAgIDY1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MywgNTYsIDcwLCA0OCwgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTMsIDUzLCA2NiwgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUzLCA1MiwgNTEsIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA1MywgNTIsIDQ4LCA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTMsIDUxLCA3MCwgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUzLCA1MSwgNjcsIAorICAgIDY3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MywgNTAsIDY4LCA2OCwgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTMsIDUwLCA1NSwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUzLCA1MCwgNTIsIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA1MywgNTAsIDQ5LCA2OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTMsIDQ5LCA1NiwgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUyLCA2OSwgNjUsIAorICAgIDUyLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MiwgNjksIDU2LCA2NywgMTI4LCA3MywgCisgICAgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTIsIDY5LCA1MCwgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUyLCA2OSwgNDgsIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCAKKyAgICA4MCwgNzIsIDQ1LCA1MiwgNjksIDQ4LCA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTAsIDcwLCA2NSwgNDksIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIAorICAgIDY1LCA0OSwgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNjUsIDQ5LCAKKyAgICA2NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA2NSwgNDksIDY1LCAxMjgsIAorICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDY1LCA0OSwgNTcsIDEyOCwgNzMsIDY4LCAKKyAgICA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNjUsIDQ5LCA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCisgICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA2NSwgNDksIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIAorICAgIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDY1LCA0OSwgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCAKKyAgICA3MiwgNDUsIDUwLCA3MCwgNjUsIDQ5LCA1MywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTAsIDcwLCA2NSwgNDksIDUyLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIAorICAgIDY1LCA0OSwgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNjUsIDQ5LCAKKyAgICA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA2NSwgNDksIDQ5LCAxMjgsIAorICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDY1LCA0OSwgNDgsIDEyOCwgNzMsIDY4LCAKKyAgICA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNjUsIDQ4LCA3MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCisgICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA2NSwgNDgsIDY5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIAorICAgIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDY1LCA0OCwgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCAKKyAgICA3MiwgNDUsIDUwLCA3MCwgNjUsIDQ4LCA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTAsIDcwLCA2NSwgNDgsIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIAorICAgIDY1LCA0OCwgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNjUsIDQ4LCAKKyAgICA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA2NSwgNDgsIDU2LCAxMjgsIAorICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDY1LCA0OCwgNTUsIDEyOCwgNzMsIDY4LCAKKyAgICA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNjUsIDQ4LCA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCisgICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA2NSwgNDgsIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIAorICAgIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDY1LCA0OCwgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCAKKyAgICA3MiwgNDUsIDUwLCA3MCwgNjUsIDQ4LCA1MSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTAsIDcwLCA2NSwgNDgsIDUwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIAorICAgIDY1LCA0OCwgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNjUsIDQ4LCAKKyAgICA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNzAsIDcwLCAxMjgsIAorICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA3MCwgNjksIDEyOCwgNzMsIDY4LCAKKyAgICA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDcwLCA2OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCisgICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNzAsIDY3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIAorICAgIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA3MCwgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCAKKyAgICA3MiwgNDUsIDUwLCA3MCwgNTcsIDcwLCA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTAsIDcwLCA1NywgNzAsIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIAorICAgIDU3LCA3MCwgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDcwLCAKKyAgICA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNzAsIDU0LCAxMjgsIAorICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA3MCwgNTMsIDEyOCwgNzMsIDY4LCAKKyAgICA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDcwLCA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCisgICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNzAsIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIAorICAgIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA3MCwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCAKKyAgICA3MiwgNDUsIDUwLCA3MCwgNTcsIDcwLCA0OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTAsIDcwLCA1NywgNzAsIDQ4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIAorICAgIDU3LCA2OSwgNzAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY5LCAKKyAgICA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjksIDY4LCAxMjgsIAorICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2OSwgNjcsIDEyOCwgNzMsIDY4LCAKKyAgICA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY5LCA2NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCisgICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjksIDY1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIAorICAgIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2OSwgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCAKKyAgICA3MiwgNDUsIDUwLCA3MCwgNTcsIDY5LCA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTAsIDcwLCA1NywgNjksIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIAorICAgIDU3LCA2OSwgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY5LCAKKyAgICA1MywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjksIDUyLCAxMjgsIAorICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2OSwgNTEsIDEyOCwgNzMsIDY4LCAKKyAgICA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY5LCA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCisgICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjksIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIAorICAgIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2OSwgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCAKKyAgICA3MiwgNDUsIDUwLCA3MCwgNTcsIDY4LCA3MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTAsIDcwLCA1NywgNjgsIDY5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIAorICAgIDU3LCA2OCwgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY4LCAKKyAgICA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjgsIDY2LCAxMjgsIAorICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2OCwgNjUsIDEyOCwgNzMsIDY4LCAKKyAgICA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY4LCA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgCisgICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjgsIDU2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIAorICAgIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2OCwgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCAKKyAgICA3MiwgNDUsIDUwLCA3MCwgNTcsIDY4LCA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTAsIDcwLCA1NywgNjgsIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIAorICAgIDU3LCA2OCwgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY4LCAKKyAgICA1MSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjgsIDUwLCAxMjgsIAorICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2OCwgNDksIDEyOCwgNzMsIDY4LCAKKyAgICA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY4LCA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCisgICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjcsIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIAorICAgIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2NywgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCAKKyAgICA3MiwgNDUsIDUwLCA3MCwgNTcsIDY3LCA2OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTAsIDcwLCA1NywgNjcsIDY3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIAorICAgIDU3LCA2NywgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY3LCAKKyAgICA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjcsIDU3LCAxMjgsIAorICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2NywgNTYsIDEyOCwgNzMsIDY4LCAKKyAgICA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY3LCA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCisgICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjcsIDU0LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIAorICAgIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2NywgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCAKKyAgICA3MiwgNDUsIDUwLCA3MCwgNTcsIDY3LCA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTAsIDcwLCA1NywgNjcsIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIAorICAgIDU3LCA2NywgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY3LCAKKyAgICA0OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjcsIDQ4LCAxMjgsIAorICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2NiwgNzAsIDEyOCwgNzMsIDY4LCAKKyAgICA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY2LCA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCisgICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjYsIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIAorICAgIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2NiwgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCAKKyAgICA3MiwgNDUsIDUwLCA3MCwgNTcsIDY2LCA2NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTAsIDcwLCA1NywgNjYsIDY1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIAorICAgIDU3LCA2NiwgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY2LCAKKyAgICA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjYsIDU1LCAxMjgsIAorICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2NiwgNTQsIDEyOCwgNzMsIDY4LCAKKyAgICA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY2LCA1MywgMTI4LCA3MywgNjgsIDY5LCA3OSwgCisgICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjYsIDUyLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIAorICAgIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2NiwgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCAKKyAgICA3MiwgNDUsIDUwLCA3MCwgNTcsIDY2LCA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTAsIDcwLCA1NywgNjYsIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIAorICAgIDU3LCA2NiwgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY1LCAKKyAgICA3MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjUsIDY5LCAxMjgsIAorICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2NSwgNjgsIDEyOCwgNzMsIDY4LCAKKyAgICA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY1LCA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgCisgICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjUsIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIAorICAgIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2NSwgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCAKKyAgICA3MiwgNDUsIDUwLCA3MCwgNTcsIDY1LCA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTAsIDcwLCA1NywgNjUsIDU2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIAorICAgIDU3LCA2NSwgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY1LCAKKyAgICA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjUsIDUzLCAxMjgsIAorICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2NSwgNTIsIDEyOCwgNzMsIDY4LCAKKyAgICA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY1LCA1MSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCisgICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjUsIDUwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIAorICAgIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2NSwgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCAKKyAgICA3MiwgNDUsIDUwLCA3MCwgNTcsIDY1LCA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTAsIDcwLCA1NywgNTcsIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIAorICAgIDU3LCA1NywgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDU3LCAKKyAgICA2OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTcsIDY3LCAxMjgsIAorICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1NywgNjYsIDEyOCwgNzMsIDY4LCAKKyAgICA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDU3LCA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCisgICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTcsIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIAorICAgIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1NywgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCAKKyAgICA3MiwgNDUsIDUwLCA3MCwgNTcsIDU3LCA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTAsIDcwLCA1NywgNTcsIDU0LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIAorICAgIDU3LCA1NywgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDU3LCAKKyAgICA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTcsIDUxLCAxMjgsIAorICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1NywgNTAsIDEyOCwgNzMsIDY4LCAKKyAgICA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDU3LCA0OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCisgICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTcsIDQ4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIAorICAgIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1NiwgNzAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCAKKyAgICA3MiwgNDUsIDUwLCA3MCwgNTcsIDU2LCA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTAsIDcwLCA1NywgNTYsIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIAorICAgIDU3LCA1NiwgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDU2LCAKKyAgICA2NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTYsIDY1LCAxMjgsIAorICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1NiwgNTcsIDEyOCwgNzMsIDY4LCAKKyAgICA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDU2LCA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCisgICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTYsIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIAorICAgIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1NiwgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCAKKyAgICA3MiwgNDUsIDUwLCA3MCwgNTcsIDU2LCA1MywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTAsIDcwLCA1NywgNTYsIDUyLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIAorICAgIDU3LCA1NiwgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDU2LCAKKyAgICA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTYsIDQ5LCAxMjgsIAorICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1NiwgNDgsIDEyOCwgNzMsIDY4LCAKKyAgICA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDU1LCA3MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCisgICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTUsIDY5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIAorICAgIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1NSwgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCAKKyAgICA3MiwgNDUsIDUwLCA3MCwgNTcsIDU1LCA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTAsIDcwLCA1NywgNTUsIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIAorICAgIDU3LCA1NSwgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDU1LCAKKyAgICA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTUsIDU2LCAxMjgsIAorICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1NSwgNTUsIDEyOCwgNzMsIDY4LCAKKyAgICA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDU1LCA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCisgICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTUsIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIAorICAgIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1NSwgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCAKKyAgICA3MiwgNDUsIDUwLCA3MCwgNTcsIDU1LCA1MSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTAsIDcwLCA1NywgNTUsIDUwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIAorICAgIDU3LCA1NSwgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDU1LCAKKyAgICA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTQsIDcwLCAxMjgsIAorICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1NCwgNjksIDEyOCwgNzMsIDY4LCAKKyAgICA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDU0LCA2OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCisgICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTQsIDY3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIAorICAgIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1NCwgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCAKKyAgICA3MiwgNDUsIDUwLCA3MCwgNTcsIDU0LCA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTAsIDcwLCA1NywgNTQsIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIAorICAgIDU3LCA1NCwgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDU0LCAKKyAgICA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTQsIDU0LCAxMjgsIAorICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1NCwgNTMsIDEyOCwgNzMsIDY4LCAKKyAgICA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDU0LCA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCisgICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTQsIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIAorICAgIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1NCwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCAKKyAgICA3MiwgNDUsIDUwLCA3MCwgNTcsIDU0LCA0OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTAsIDcwLCA1NywgNTQsIDQ4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIAorICAgIDU3LCA1MywgNzAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDUzLCAKKyAgICA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTMsIDY4LCAxMjgsIAorICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1MywgNjcsIDEyOCwgNzMsIDY4LCAKKyAgICA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDUzLCA2NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCisgICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTMsIDY1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIAorICAgIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1MywgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCAKKyAgICA3MiwgNDUsIDUwLCA3MCwgNTcsIDUzLCA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTAsIDcwLCA1NywgNTMsIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIAorICAgIDU3LCA1MywgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDUzLCAKKyAgICA1MywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTMsIDUyLCAxMjgsIAorICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1MywgNTEsIDEyOCwgNzMsIDY4LCAKKyAgICA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDUzLCA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCisgICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTMsIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIAorICAgIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1MywgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCAKKyAgICA3MiwgNDUsIDUwLCA3MCwgNTcsIDUyLCA3MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTAsIDcwLCA1NywgNTIsIDY5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIAorICAgIDU3LCA1MiwgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDUyLCAKKyAgICA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTIsIDY2LCAxMjgsIAorICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1MiwgNjUsIDEyOCwgNzMsIDY4LCAKKyAgICA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDUyLCA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgCisgICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTIsIDU2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIAorICAgIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1MiwgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCAKKyAgICA3MiwgNDUsIDUwLCA3MCwgNTcsIDUyLCA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTAsIDcwLCA1NywgNTIsIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIAorICAgIDU3LCA1MiwgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDUyLCAKKyAgICA1MSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTIsIDUwLCAxMjgsIAorICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1MiwgNDksIDEyOCwgNzMsIDY4LCAKKyAgICA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDUyLCA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCisgICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTEsIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIAorICAgIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1MSwgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCAKKyAgICA3MiwgNDUsIDUwLCA3MCwgNTcsIDUxLCA2OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTAsIDcwLCA1NywgNTEsIDY3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIAorICAgIDU3LCA1MSwgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDUxLCAKKyAgICA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTEsIDU3LCAxMjgsIAorICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1MSwgNTYsIDEyOCwgNzMsIDY4LCAKKyAgICA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDUxLCA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCisgICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTEsIDU0LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIAorICAgIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1MSwgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCAKKyAgICA3MiwgNDUsIDUwLCA3MCwgNTcsIDUxLCA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTAsIDcwLCA1NywgNTEsIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIAorICAgIDU3LCA1MSwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDUxLCAKKyAgICA0OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTEsIDQ4LCAxMjgsIAorICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1MCwgNzAsIDEyOCwgNzMsIDY4LCAKKyAgICA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDUwLCA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCisgICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTAsIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIAorICAgIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1MCwgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCAKKyAgICA3MiwgNDUsIDUwLCA3MCwgNTcsIDUwLCA2NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTAsIDcwLCA1NywgNTAsIDY1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIAorICAgIDU3LCA1MCwgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDUwLCAKKyAgICA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTAsIDU1LCAxMjgsIAorICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1MCwgNTQsIDEyOCwgNzMsIDY4LCAKKyAgICA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDUwLCA1MywgMTI4LCA3MywgNjgsIDY5LCA3OSwgCisgICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTAsIDUyLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIAorICAgIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1MCwgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCAKKyAgICA3MiwgNDUsIDUwLCA3MCwgNTcsIDUwLCA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTAsIDcwLCA1NywgNTAsIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIAorICAgIDU3LCA1MCwgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDQ5LCAKKyAgICA3MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNDksIDY5LCAxMjgsIAorICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA0OSwgNjgsIDEyOCwgNzMsIDY4LCAKKyAgICA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDQ5LCA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgCisgICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNDksIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIAorICAgIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA0OSwgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCAKKyAgICA3MiwgNDUsIDUwLCA3MCwgNTcsIDQ5LCA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTAsIDcwLCA1NywgNDksIDU2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIAorICAgIDU3LCA0OSwgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDQ5LCAKKyAgICA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNDksIDUzLCAxMjgsIAorICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA0OSwgNTIsIDEyOCwgNzMsIDY4LCAKKyAgICA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDQ5LCA1MSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCisgICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNDksIDUwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIAorICAgIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA0OSwgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCAKKyAgICA3MiwgNDUsIDUwLCA3MCwgNTcsIDQ5LCA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTAsIDcwLCA1NywgNDgsIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIAorICAgIDU3LCA0OCwgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDQ4LCAKKyAgICA2OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNDgsIDY3LCAxMjgsIAorICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA0OCwgNjYsIDEyOCwgNzMsIDY4LCAKKyAgICA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDQ4LCA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCisgICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNDgsIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIAorICAgIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA0OCwgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCAKKyAgICA3MiwgNDUsIDUwLCA3MCwgNTcsIDQ4LCA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTAsIDcwLCA1NywgNDgsIDU0LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIAorICAgIDU3LCA0OCwgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDQ4LCAKKyAgICA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNDgsIDUxLCAxMjgsIAorICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA0OCwgNTAsIDEyOCwgNzMsIDY4LCAKKyAgICA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDQ4LCA0OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCisgICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNDgsIDQ4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIAorICAgIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA3MCwgNzAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCAKKyAgICA3MiwgNDUsIDUwLCA3MCwgNTYsIDcwLCA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTAsIDcwLCA1NiwgNzAsIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIAorICAgIDU2LCA3MCwgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDcwLCAKKyAgICA2NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNzAsIDY1LCAxMjgsIAorICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA3MCwgNTcsIDEyOCwgNzMsIDY4LCAKKyAgICA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDcwLCA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCisgICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNzAsIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIAorICAgIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA3MCwgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCAKKyAgICA3MiwgNDUsIDUwLCA3MCwgNTYsIDcwLCA1MywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTAsIDcwLCA1NiwgNzAsIDUyLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIAorICAgIDU2LCA3MCwgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDcwLCAKKyAgICA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNzAsIDQ5LCAxMjgsIAorICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA3MCwgNDgsIDEyOCwgNzMsIDY4LCAKKyAgICA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY5LCA3MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCisgICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjksIDY5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIAorICAgIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2OSwgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCAKKyAgICA3MiwgNDUsIDUwLCA3MCwgNTYsIDY5LCA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTAsIDcwLCA1NiwgNjksIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIAorICAgIDU2LCA2OSwgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY5LCAKKyAgICA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjksIDU2LCAxMjgsIAorICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2OSwgNTUsIDEyOCwgNzMsIDY4LCAKKyAgICA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY5LCA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCisgICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjksIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIAorICAgIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2OSwgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCAKKyAgICA3MiwgNDUsIDUwLCA3MCwgNTYsIDY5LCA1MSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTAsIDcwLCA1NiwgNjksIDUwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIAorICAgIDU2LCA2OSwgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY5LCAKKyAgICA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjgsIDcwLCAxMjgsIAorICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2OCwgNjksIDEyOCwgNzMsIDY4LCAKKyAgICA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY4LCA2OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCisgICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjgsIDY3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIAorICAgIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2OCwgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCAKKyAgICA3MiwgNDUsIDUwLCA3MCwgNTYsIDY4LCA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTAsIDcwLCA1NiwgNjgsIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIAorICAgIDU2LCA2OCwgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY4LCAKKyAgICA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjgsIDU0LCAxMjgsIAorICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2OCwgNTMsIDEyOCwgNzMsIDY4LCAKKyAgICA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY4LCA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCisgICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjgsIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIAorICAgIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2OCwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCAKKyAgICA3MiwgNDUsIDUwLCA3MCwgNTYsIDY4LCA0OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTAsIDcwLCA1NiwgNjgsIDQ4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIAorICAgIDU2LCA2NywgNzAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY3LCAKKyAgICA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjcsIDY4LCAxMjgsIAorICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2NywgNjcsIDEyOCwgNzMsIDY4LCAKKyAgICA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY3LCA2NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCisgICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjcsIDY1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIAorICAgIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2NywgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCAKKyAgICA3MiwgNDUsIDUwLCA3MCwgNTYsIDY3LCA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTAsIDcwLCA1NiwgNjcsIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIAorICAgIDU2LCA2NywgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY3LCAKKyAgICA1MywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjcsIDUyLCAxMjgsIAorICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2NywgNTEsIDEyOCwgNzMsIDY4LCAKKyAgICA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY3LCA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCisgICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjcsIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIAorICAgIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2NywgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCAKKyAgICA3MiwgNDUsIDUwLCA3MCwgNTYsIDY2LCA3MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTAsIDcwLCA1NiwgNjYsIDY5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIAorICAgIDU2LCA2NiwgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY2LCAKKyAgICA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjYsIDY2LCAxMjgsIAorICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2NiwgNjUsIDEyOCwgNzMsIDY4LCAKKyAgICA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY2LCA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgCisgICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjYsIDU2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIAorICAgIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2NiwgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCAKKyAgICA3MiwgNDUsIDUwLCA3MCwgNTYsIDY2LCA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTAsIDcwLCA1NiwgNjYsIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIAorICAgIDU2LCA2NiwgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY2LCAKKyAgICA1MSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjYsIDUwLCAxMjgsIAorICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2NiwgNDksIDEyOCwgNzMsIDY4LCAKKyAgICA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY2LCA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCisgICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjUsIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIAorICAgIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2NSwgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCAKKyAgICA3MiwgNDUsIDUwLCA3MCwgNTYsIDY1LCA2OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTAsIDcwLCA1NiwgNjUsIDY3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIAorICAgIDU2LCA2NSwgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY1LCAKKyAgICA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjUsIDU3LCAxMjgsIAorICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2NSwgNTYsIDEyOCwgNzMsIDY4LCAKKyAgICA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY1LCA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCisgICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjUsIDU0LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIAorICAgIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2NSwgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCAKKyAgICA3MiwgNDUsIDUwLCA3MCwgNTYsIDY1LCA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTAsIDcwLCA1NiwgNjUsIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIAorICAgIDU2LCA2NSwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY1LCAKKyAgICA0OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjUsIDQ4LCAxMjgsIAorICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1NywgNzAsIDEyOCwgNzMsIDY4LCAKKyAgICA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDU3LCA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCisgICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTcsIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIAorICAgIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1NywgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCAKKyAgICA3MiwgNDUsIDUwLCA3MCwgNTYsIDU3LCA2NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTAsIDcwLCA1NiwgNTcsIDY1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIAorICAgIDU2LCA1NywgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDU3LCAKKyAgICA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTcsIDU1LCAxMjgsIAorICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1NywgNTQsIDEyOCwgNzMsIDY4LCAKKyAgICA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDU3LCA1MywgMTI4LCA3MywgNjgsIDY5LCA3OSwgCisgICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTcsIDUyLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIAorICAgIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1NywgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCAKKyAgICA3MiwgNDUsIDUwLCA3MCwgNTYsIDU3LCA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTAsIDcwLCA1NiwgNTcsIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIAorICAgIDU2LCA1NywgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDU2LCAKKyAgICA3MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTYsIDY5LCAxMjgsIAorICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1NiwgNjgsIDEyOCwgNzMsIDY4LCAKKyAgICA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDU2LCA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgCisgICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTYsIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIAorICAgIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1NiwgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCAKKyAgICA3MiwgNDUsIDUwLCA3MCwgNTYsIDU2LCA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTAsIDcwLCA1NiwgNTYsIDU2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIAorICAgIDU2LCA1NiwgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDU2LCAKKyAgICA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTYsIDUzLCAxMjgsIAorICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1NiwgNTIsIDEyOCwgNzMsIDY4LCAKKyAgICA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDU2LCA1MSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCisgICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTYsIDUwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIAorICAgIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1NiwgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCAKKyAgICA3MiwgNDUsIDUwLCA3MCwgNTYsIDU2LCA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTAsIDcwLCA1NiwgNTUsIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIAorICAgIDU2LCA1NSwgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDU1LCAKKyAgICA2OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTUsIDY3LCAxMjgsIAorICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1NSwgNjYsIDEyOCwgNzMsIDY4LCAKKyAgICA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDU1LCA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCisgICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTUsIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIAorICAgIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1NSwgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCAKKyAgICA3MiwgNDUsIDUwLCA3MCwgNTYsIDU1LCA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTAsIDcwLCA1NiwgNTUsIDU0LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIAorICAgIDU2LCA1NSwgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDU1LCAKKyAgICA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTUsIDUxLCAxMjgsIAorICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1NSwgNTAsIDEyOCwgNzMsIDY4LCAKKyAgICA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDU1LCA0OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCisgICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTUsIDQ4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIAorICAgIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1NCwgNzAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCAKKyAgICA3MiwgNDUsIDUwLCA3MCwgNTYsIDU0LCA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTAsIDcwLCA1NiwgNTQsIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIAorICAgIDU2LCA1NCwgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDU0LCAKKyAgICA2NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTQsIDY1LCAxMjgsIAorICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1NCwgNTcsIDEyOCwgNzMsIDY4LCAKKyAgICA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDU0LCA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCisgICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTQsIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIAorICAgIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1NCwgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCAKKyAgICA3MiwgNDUsIDUwLCA3MCwgNTYsIDU0LCA1MywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTAsIDcwLCA1NiwgNTQsIDUyLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIAorICAgIDU2LCA1NCwgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDU0LCAKKyAgICA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTQsIDQ5LCAxMjgsIAorICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1NCwgNDgsIDEyOCwgNzMsIDY4LCAKKyAgICA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDUzLCA3MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCisgICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTMsIDY5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIAorICAgIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MywgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCAKKyAgICA3MiwgNDUsIDUwLCA3MCwgNTYsIDUzLCA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTAsIDcwLCA1NiwgNTMsIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIAorICAgIDU2LCA1MywgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDUzLCAKKyAgICA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTMsIDU2LCAxMjgsIAorICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MywgNTUsIDEyOCwgNzMsIDY4LCAKKyAgICA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDUzLCA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCisgICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTMsIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIAorICAgIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MywgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCAKKyAgICA3MiwgNDUsIDUwLCA3MCwgNTYsIDUzLCA1MSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTAsIDcwLCA1NiwgNTMsIDUwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIAorICAgIDU2LCA1MywgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDUzLCAKKyAgICA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTIsIDcwLCAxMjgsIAorICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MiwgNjksIDEyOCwgNzMsIDY4LCAKKyAgICA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDUyLCA2OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCisgICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTIsIDY3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIAorICAgIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MiwgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCAKKyAgICA3MiwgNDUsIDUwLCA3MCwgNTYsIDUyLCA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTAsIDcwLCA1NiwgNTIsIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIAorICAgIDU2LCA1MiwgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDUyLCAKKyAgICA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTIsIDU0LCAxMjgsIAorICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MiwgNTMsIDEyOCwgNzMsIDY4LCAKKyAgICA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDUyLCA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCisgICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTIsIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIAorICAgIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MiwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCAKKyAgICA3MiwgNDUsIDUwLCA3MCwgNTYsIDUyLCA0OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTAsIDcwLCA1NiwgNTIsIDQ4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIAorICAgIDU2LCA1MSwgNzAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDUxLCAKKyAgICA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTEsIDY4LCAxMjgsIAorICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MSwgNjcsIDEyOCwgNzMsIDY4LCAKKyAgICA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDUxLCA2NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCisgICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTEsIDY1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIAorICAgIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MSwgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCAKKyAgICA3MiwgNDUsIDUwLCA3MCwgNTYsIDUxLCA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTAsIDcwLCA1NiwgNTEsIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIAorICAgIDU2LCA1MSwgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDUxLCAKKyAgICA1MywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTEsIDUyLCAxMjgsIAorICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MSwgNTEsIDEyOCwgNzMsIDY4LCAKKyAgICA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDUxLCA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCisgICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTEsIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIAorICAgIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MSwgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCAKKyAgICA3MiwgNDUsIDUwLCA3MCwgNTYsIDUwLCA3MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTAsIDcwLCA1NiwgNTAsIDY5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIAorICAgIDU2LCA1MCwgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDUwLCAKKyAgICA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTAsIDY2LCAxMjgsIAorICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MCwgNjUsIDEyOCwgNzMsIDY4LCAKKyAgICA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDUwLCA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgCisgICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTAsIDU2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIAorICAgIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MCwgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCAKKyAgICA3MiwgNDUsIDUwLCA3MCwgNTYsIDUwLCA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTAsIDcwLCA1NiwgNTAsIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIAorICAgIDU2LCA1MCwgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDUwLCAKKyAgICA1MSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTAsIDUwLCAxMjgsIAorICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MCwgNDksIDEyOCwgNzMsIDY4LCAKKyAgICA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDUwLCA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCisgICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNDksIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIAorICAgIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA0OSwgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCAKKyAgICA3MiwgNDUsIDUwLCA3MCwgNTYsIDQ5LCA2OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTAsIDcwLCA1NiwgNDksIDY3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIAorICAgIDU2LCA0OSwgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDQ5LCAKKyAgICA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNDksIDU3LCAxMjgsIAorICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA0OSwgNTYsIDEyOCwgNzMsIDY4LCAKKyAgICA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDQ5LCA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCisgICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNDksIDU0LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIAorICAgIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA0OSwgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCAKKyAgICA3MiwgNDUsIDUwLCA3MCwgNTYsIDQ5LCA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTAsIDcwLCA1NiwgNDksIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIAorICAgIDU2LCA0OSwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDQ5LCAKKyAgICA0OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNDksIDQ4LCAxMjgsIAorICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA0OCwgNzAsIDEyOCwgNzMsIDY4LCAKKyAgICA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDQ4LCA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgCisgICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNDgsIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIAorICAgIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA0OCwgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCAKKyAgICA3MiwgNDUsIDUwLCA3MCwgNTYsIDQ4LCA2NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTAsIDcwLCA1NiwgNDgsIDY1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIAorICAgIDU2LCA0OCwgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDQ4LCAKKyAgICA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNDgsIDU1LCAxMjgsIAorICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA0OCwgNTQsIDEyOCwgNzMsIDY4LCAKKyAgICA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDQ4LCA1MywgMTI4LCA3MywgNjgsIDY5LCA3OSwgCisgICAgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNDgsIDUyLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIAorICAgIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA0OCwgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCAKKyAgICA3MiwgNDUsIDUwLCA3MCwgNTYsIDQ4LCA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgCisgICAgNTAsIDcwLCA1NiwgNDgsIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIAorICAgIDU2LCA0OCwgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzgsIDg0LCA3MywgNzAsIDczLCA2NywgNjUsIDg0LCA3MywgNzksIDc4LCAKKyAgICAxMjgsIDczLCA2OCwgNjksIDc4LCA4NCwgNzMsIDY3LCA2NSwgMjA0LCA3MywgNjcsIDc5LCA3OCwgMTI4LCA3MywgNjcsIAorICAgIDcyLCA3OSwgODUsIDEyOCwgNzMsIDY3LCA3MiwgNzksIDgzLCAxMjgsIDczLCA2NywgNzIsIDczLCA3NywgNjUsIDg0LCA3OSwgCisgICAgODMsIDEyOCwgNzMsIDY3LCA3MiwgNjUsIDY4LCA3MywgNzgsIDEyOCwgNzMsIDY3LCA2OSwgNzYsIDY1LCA3OCwgNjgsIDczLCAKKyAgICA2NywgNDUsIDg5LCA4MiwgMTI4LCA3MywgNjYsIDczLCA3MCwgNzMsIDc2LCA3MywgMTI4LCA3MywgNjUsIDg1LCA2OCwgNjUsIAorICAgIDEyOCwgNzMsIDQ4LCA0OSwgNTMsIDEyOCwgNzMsIDQ4LCA0OSwgNTIsIDEyOCwgNzMsIDQ4LCA0OSwgNTEsIDEyOCwgNzMsIAorICAgIDQ4LCA0OSwgNTAsIDEyOCwgNzMsIDQ4LCA0OSwgNDksIDY1LCAxMjgsIDczLCA0OCwgNDksIDQ5LCAxMjgsIDczLCA0OCwgCisgICAgNDksIDQ4LCA2NSwgMTI4LCA3MywgNDgsIDQ5LCA0OCwgMTI4LCA3MywgNDgsIDQ4LCA1NywgNjUsIDEyOCwgNzMsIDQ4LCAKKyAgICA0OCwgNTcsIDEyOCwgNzMsIDQ4LCA0OCwgNTYsIDEyOCwgNzMsIDQ4LCA0OCwgNTUsIDEyOCwgNzMsIDQ4LCA0OCwgNTQsIAorICAgIDEyOCwgNzMsIDQ4LCA0OCwgNTMsIDY1LCAxMjgsIDczLCA0OCwgNDgsIDUzLCAxMjgsIDczLCA0OCwgNDgsIDUyLCAxMjgsIAorICAgIDczLCA0OCwgNDgsIDUxLCAxMjgsIDczLCA0OCwgNDgsIDUwLCAxMjgsIDczLCA0OCwgNDgsIDQ5LCAxMjgsIDczLCA0NSwgCisgICAgODksIDg1LCAxMjgsIDczLCA0NSwgODksIDc5LCAxMjgsIDczLCA0NSwgODksIDY5LCA3OSwgMTI4LCA3MywgNDUsIDg5LCAKKyAgICA2OSwgMTI4LCA3MywgNDUsIDg5LCA2NSwgNjksIDEyOCwgNzMsIDQ1LCA4OSwgNjUsIDQ1LCA3OSwgMTI4LCA3MywgNDUsIAorICAgIDg5LCA2NSwgMTI4LCA3MywgNDUsIDc5LCA0NSwgNzMsIDEyOCwgNzMsIDQ1LCA3OSwgMTI4LCA3MywgNDUsIDY5LCA4NSwgCisgICAgMTI4LCA3MywgNDUsIDY2LCA2OSwgNjUsIDc3LCAxMjgsIDczLCA0NSwgNjUsIDgyLCA2NSwgNjksIDY1LCAxMjgsIDczLCAKKyAgICA0NSwgNjUsIDEyOCwgNzIsIDkwLCA5MCwgOTAsIDcxLCAxMjgsIDcyLCA5MCwgOTAsIDkwLCAxMjgsIDcyLCA5MCwgOTAsIAorICAgIDgwLCAxMjgsIDcyLCA5MCwgOTAsIDEyOCwgNzIsIDkwLCA4NywgNzEsIDEyOCwgNzIsIDkwLCA4NywgMTI4LCA3MiwgOTAsIAorICAgIDg0LCAxMjgsIDcyLCA5MCwgNzEsIDEyOCwgNzIsIDg5LCA4MywgODQsIDY5LCA4MiwgNjksIDgzLCA3MywgMjExLCA3MiwgCisgICAgODksIDgwLCA3OSwgNjgsIDczLCA2NSwgODMsIDg0LCA3OSwgNzYsIDY5LCAxMjgsIDcyLCA4OSwgODAsIDcyLCA2OSwgNzgsIAorICAgIDY1LCA4NCwgNzMsIDc5LCAyMDYsIDcyLCA4OSwgODAsIDcyLCA2OSwgNzgsIDQ1LCA3NywgNzMsIDc4LCA4NSwgODMsIDEyOCwgCisgICAgNzIsIDg5LCA4MCwgNzIsIDY5LCA3OCwgMTI4LCA3MiwgODksIDgwLCA3MiwgNjksIDIwNiwgNzIsIDg4LCA4NywgNzEsIAorICAgIDEyOCwgNzIsIDg4LCA4NSwgNzksIDg4LCAxMjgsIDcyLCA4OCwgODUsIDc5LCA4NCwgMTI4LCA3MiwgODgsIDg1LCA3OSwgCisgICAgODAsIDEyOCwgNzIsIDg4LCA4NSwgNzksIDEyOCwgNzIsIDg4LCA3OSwgODgsIDEyOCwgNzIsIDg4LCA3OSwgODQsIDEyOCwgCisgICAgNzIsIDg4LCA3OSwgODAsIDEyOCwgNzIsIDg4LCA3OSwgMTI4LCA3MiwgODgsIDczLCA4OCwgMTI4LCA3MiwgODgsIDczLCAKKyAgICA4NCwgMTI4LCA3MiwgODgsIDczLCA4MCwgMTI4LCA3MiwgODgsIDczLCA2OSwgODgsIDEyOCwgNzIsIDg4LCA3MywgNjksIAorICAgIDg0LCAxMjgsIDcyLCA4OCwgNzMsIDY5LCA4MCwgMTI4LCA3MiwgODgsIDczLCA2OSwgMTI4LCA3MiwgODgsIDczLCAxMjgsIAorICAgIDcyLCA4OCwgNjksIDg4LCAxMjgsIDcyLCA4OCwgNjksIDgwLCAxMjgsIDcyLCA4OCwgNjksIDEyOCwgNzIsIDg4LCA2NSwgCisgICAgODgsIDEyOCwgNzIsIDg4LCA2NSwgODQsIDEyOCwgNzIsIDg4LCA2NSwgODAsIDEyOCwgNzIsIDg4LCA2NSwgMTI4LCA3MiwgCisgICAgODcsIDg1LCAxMjgsIDcyLCA4NywgNjUsIDczLCA4MiwgMTI4LCA3MiwgODcsIDY1LCA3MiwgMTI4LCA3MiwgODYsIDEyOCwgCisgICAgNzIsIDg1LCA4NiwgNjUsIDEyOCwgNzIsIDg1LCA4MywgNzIsIDY5LCAxOTYsIDcyLCA4NSwgODMsIDcyLCAxMjgsIDcyLCAKKyAgICA4NSwgODIsIDY1LCA3OCwgMTI4LCA3MiwgODUsIDc5LCA4NCwgMTI4LCA3MiwgODUsIDc4LCA2OCwgODIsIDY5LCA2OCwgODMsIAorICAgIDEyOCwgNzIsIDg1LCA3OCwgNjgsIDgyLCA2OSwgNjgsIDEyOCwgNzIsIDg1LCA3OCwgNjgsIDgyLCA2OSwgMTk2LCA3MiwgCisgICAgODUsIDc4LCAxMjgsIDcyLCA4NSwgNzcsIDY1LCA3OCwgMTI4LCA3MiwgODUsIDc3LCA2NSwgMjA2LCA3MiwgODUsIDc2LCAKKyAgICA1MCwgMTI4LCA3MiwgODUsIDczLCA3MywgODQsIDc5LCAxMjgsIDcyLCA4NSwgNjYsIDUwLCAxMjgsIDcyLCA4NSwgNjYsIAorICAgIDE3OCwgNzIsIDg1LCA2NiwgMTI4LCA3MiwgODUsIDY1LCA4MiwgNjUsIDY4LCA2OCwgNzksIDEyOCwgNzIsIDg1LCA2NSwgCisgICAgNzgsIDEyOCwgNzIsIDg0LCA4MywgMTI4LCA3MiwgODQsIDc0LCAxMjgsIDcyLCA4MiwgODksIDg2LCA3OCwgNzMsIDE5MywgCisgICAgNzIsIDgwLCA4NywgNzEsIDEyOCwgNzIsIDgwLCA2NSwgMTI4LCA3MiwgODAsIDEyOCwgNzIsIDc5LCA4NSwgODMsIDE5NywgCisgICAgNzIsIDc5LCA4NSwgODIsIDcxLCA3NiwgNjUsIDgzLCA4MywgMTI4LCA3MiwgNzksIDg1LCA4MiwgNzEsIDc2LCA2NSwgODMsIAorICAgIDIxMSwgNzIsIDc5LCA4NSwgODIsIDEyOCwgNzIsIDc5LCA4NSwgMjEwLCA3MiwgNzksIDg0LCA2OSwgNzYsIDEyOCwgNzIsIAorICAgIDc5LCA4NCwgNjUsIDEyOCwgNzIsIDc5LCA4MywgODAsIDczLCA4NCwgNjUsIDc2LCAxMjgsIDcyLCA3OSwgODIsIDgzLCA2OSwgCisgICAgMTI4LCA3MiwgNzksIDgyLCA4MywgMTk3LCA3MiwgNzksIDgyLCA4MiwgMTI4LCA3MiwgNzksIDgyLCA3OCwgODMsIDEyOCwgCisgICAgNzIsIDc5LCA4MiwgNzMsIDkwLCA3OSwgNzgsIDg0LCA2NSwgNzYsIDc2LCAyMTcsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIAorICAgIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIDU0LCA0NSwgNDgsIDU0LCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCAKKyAgICA4NCwgNjUsIDc2LCA0NSwgNDgsIDU0LCA0NSwgNDgsIDUzLCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgCisgICAgNjUsIDc2LCA0NSwgNDgsIDU0LCA0NSwgNDgsIDUyLCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIAorICAgIDc2LCA0NSwgNDgsIDU0LCA0NSwgNDgsIDUxLCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCAKKyAgICA0NSwgNDgsIDU0LCA0NSwgNDgsIDUwLCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgCisgICAgNDgsIDU0LCA0NSwgNDgsIDQ5LCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIAorICAgIDU0LCA0NSwgNDgsIDQ4LCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIDUzLCAKKyAgICA0NSwgNDgsIDU0LCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIDUzLCA0NSwgCisgICAgNDgsIDUzLCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIDUzLCA0NSwgNDgsIAorICAgIDUyLCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIDUzLCA0NSwgNDgsIDUxLCAKKyAgICAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIDUzLCA0NSwgNDgsIDUwLCAxMjgsIAorICAgIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIDUzLCA0NSwgNDgsIDQ5LCAxMjgsIDcyLCAKKyAgICA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIDUzLCA0NSwgNDgsIDQ4LCAxMjgsIDcyLCA3OSwgCisgICAgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIDUyLCA0NSwgNDgsIDU0LCAxMjgsIDcyLCA3OSwgODIsIAorICAgIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIDUyLCA0NSwgNDgsIDUzLCAxMjgsIDcyLCA3OSwgODIsIDczLCAKKyAgICA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIDUyLCA0NSwgNDgsIDUyLCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgCisgICAgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIDUyLCA0NSwgNDgsIDUxLCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIAorICAgIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIDUyLCA0NSwgNDgsIDUwLCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCAKKyAgICA4NCwgNjUsIDc2LCA0NSwgNDgsIDUyLCA0NSwgNDgsIDQ5LCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgCisgICAgNjUsIDc2LCA0NSwgNDgsIDUyLCA0NSwgNDgsIDQ4LCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIAorICAgIDc2LCA0NSwgNDgsIDUxLCA0NSwgNDgsIDU0LCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCAKKyAgICA0NSwgNDgsIDUxLCA0NSwgNDgsIDUzLCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgCisgICAgNDgsIDUxLCA0NSwgNDgsIDUyLCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIAorICAgIDUxLCA0NSwgNDgsIDUxLCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIDUxLCAKKyAgICA0NSwgNDgsIDUwLCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIDUxLCA0NSwgCisgICAgNDgsIDQ5LCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIDUxLCA0NSwgNDgsIAorICAgIDQ4LCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIDUwLCA0NSwgNDgsIDU0LCAKKyAgICAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIDUwLCA0NSwgNDgsIDUzLCAxMjgsIAorICAgIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIDUwLCA0NSwgNDgsIDUyLCAxMjgsIDcyLCAKKyAgICA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIDUwLCA0NSwgNDgsIDUxLCAxMjgsIDcyLCA3OSwgCisgICAgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIDUwLCA0NSwgNDgsIDUwLCAxMjgsIDcyLCA3OSwgODIsIAorICAgIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIDUwLCA0NSwgNDgsIDQ5LCAxMjgsIDcyLCA3OSwgODIsIDczLCAKKyAgICA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIDUwLCA0NSwgNDgsIDQ4LCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgCisgICAgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIDQ5LCA0NSwgNDgsIDU0LCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIAorICAgIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIDQ5LCA0NSwgNDgsIDUzLCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCAKKyAgICA4NCwgNjUsIDc2LCA0NSwgNDgsIDQ5LCA0NSwgNDgsIDUyLCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgCisgICAgNjUsIDc2LCA0NSwgNDgsIDQ5LCA0NSwgNDgsIDUxLCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIAorICAgIDc2LCA0NSwgNDgsIDQ5LCA0NSwgNDgsIDUwLCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCAKKyAgICA0NSwgNDgsIDQ5LCA0NSwgNDgsIDQ5LCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgCisgICAgNDgsIDQ5LCA0NSwgNDgsIDQ4LCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIAorICAgIDQ4LCA0NSwgNDgsIDU0LCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIDQ4LCAKKyAgICA0NSwgNDgsIDUzLCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIDQ4LCA0NSwgCisgICAgNDgsIDUyLCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIDQ4LCA0NSwgNDgsIAorICAgIDUxLCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIDQ4LCA0NSwgNDgsIDUwLCAKKyAgICAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIDQ4LCA0NSwgNDgsIDQ5LCAxMjgsIAorICAgIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCA0NSwgNDgsIDQ4LCA0NSwgNDgsIDQ4LCAxMjgsIDcyLCAKKyAgICA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDc2LCAxMjgsIDcyLCA3OSwgODIsIDczLCAxMjgsIDcyLCA3OSwgODIsIAorICAgIDE5MywgNzIsIDc5LCA3OSwgODUsIDEyOCwgNzIsIDc5LCA3OSwgODIsIDg1LCAxMjgsIDcyLCA3OSwgNzksIDgwLCAxMjgsIAorICAgIDcyLCA3OSwgNzksIDc4LCAxMjgsIDcyLCA3OSwgNzksIDc1LCA2OSwgMTk2LCA3MiwgNzksIDc4LCA2OSwgODksIDY2LCA2OSwgCisgICAgNjksIDEyOCwgNzIsIDc5LCA3OCwgNjksIDIxNywgNzIsIDc5LCA3NywgNzksIDg0LCA3MiwgNjksIDg0LCA3MywgNjcsIAorICAgIDEyOCwgNzIsIDc5LCA3NywgNzksIDg0LCA3MiwgNjksIDg0LCA3MywgMTk1LCA3MiwgNzksIDc2LCA3OSwgMTI4LCA3MiwgCisgICAgNzksIDc2LCA3NiwgNzksIDIxNSwgNzIsIDc5LCA3NiwgNjksIDEyOCwgNzIsIDc5LCA3NiwgNjgsIDczLCA3OCwgMTk5LCAKICAgICA3MiwgNzksIDc2LCA2NSwgNzcsIDEyOCwgNzIsIDc5LCA3NiwgNjUsIDIwNSwgNzIsIDc5LCA3NSwgNjUsIDEyOCwgNzIsIAotICAgIDc5LCA3MywgMTI4LCA3MiwgNzksIDY3LCA3MiwgNzksIDEyOCwgNzIsIDc4LCA4NSwgODQsIDEyOCwgNzIsIDc4LCA4NSwgCi0gICAgNzksIDg4LCAxMjgsIDcyLCA3OCwgODUsIDc5LCAxMjgsIDcyLCA3OCwgNzksIDg4LCAxMjgsIDcyLCA3OCwgNzksIDg0LCAKLSAgICAxMjgsIDcyLCA3OCwgNzksIDgwLCAxMjgsIDcyLCA3OCwgNzMsIDg4LCAxMjgsIDcyLCA3OCwgNzMsIDg0LCAxMjgsIDcyLCAKLSAgICA3OCwgNzMsIDgwLCAxMjgsIDcyLCA3OCwgNzMsIDY5LCA4OCwgMTI4LCA3MiwgNzgsIDczLCA2OSwgODQsIDEyOCwgNzIsIAotICAgIDc4LCA3MywgNjksIDgwLCAxMjgsIDcyLCA3OCwgNzMsIDY5LCAxMjgsIDcyLCA3OCwgNzMsIDEyOCwgNzIsIDc4LCA2OSwgCi0gICAgODgsIDEyOCwgNzIsIDc4LCA2OSwgODAsIDEyOCwgNzIsIDc4LCA2OSwgMTI4LCA3MiwgNzgsIDY1LCA4OCwgMTI4LCA3MiwgCi0gICAgNzgsIDY1LCA4NCwgMTI4LCA3MiwgNzgsIDY1LCA4MCwgMTI4LCA3MiwgNzgsIDY1LCAxMjgsIDcyLCA3NywgODksIDg4LCAKLSAgICAxMjgsIDcyLCA3NywgODksIDgyLCA4OCwgMTI4LCA3MiwgNzcsIDg5LCA4MiwgMTI4LCA3MiwgNzcsIDg5LCA4MCwgMTI4LCAKLSAgICA3MiwgNzcsIDg5LCAxMjgsIDcyLCA3NywgODUsIDg4LCAxMjgsIDcyLCA3NywgODUsIDg0LCAxMjgsIDcyLCA3NywgODUsIAotICAgIDgyLCA4OCwgMTI4LCA3MiwgNzcsIDg1LCA4MiwgMTI4LCA3MiwgNzcsIDg1LCA4MCwgMTI4LCA3MiwgNzcsIDg1LCA3OSwgCi0gICAgODgsIDEyOCwgNzIsIDc3LCA4NSwgNzksIDgwLCAxMjgsIDcyLCA3NywgODUsIDc5LCAxMjgsIDcyLCA3NywgODUsIDEyOCwgCi0gICAgNzIsIDc3LCA3OSwgODgsIDEyOCwgNzIsIDc3LCA3OSwgODQsIDEyOCwgNzIsIDc3LCA3OSwgODAsIDEyOCwgNzIsIDc3LCAKLSAgICA3OSwgMTI4LCA3MiwgNzcsIDczLCA4OCwgMTI4LCA3MiwgNzcsIDczLCA4NCwgMTI4LCA3MiwgNzcsIDczLCA4MCwgMTI4LCAKLSAgICA3MiwgNzcsIDczLCA2OSwgODgsIDEyOCwgNzIsIDc3LCA3MywgNjksIDgwLCAxMjgsIDcyLCA3NywgNzMsIDY5LCAxMjgsIAotICAgIDcyLCA3NywgNzMsIDEyOCwgNzIsIDc3LCA2OSwgMTI4LCA3MiwgNzcsIDY1LCA4OCwgMTI4LCA3MiwgNzcsIDY1LCA4NCwgCi0gICAgMTI4LCA3MiwgNzcsIDY1LCA4MCwgMTI4LCA3MiwgNzcsIDY1LCAxMjgsIDcyLCA3NiwgODksIDg4LCAxMjgsIDcyLCA3NiwgCi0gICAgODksIDg0LCAxMjgsIDcyLCA3NiwgODksIDgyLCA4OCwgMTI4LCA3MiwgNzYsIDg5LCA4MiwgMTI4LCA3MiwgNzYsIDg5LCAKLSAgICA4MCwgMTI4LCA3MiwgNzYsIDg5LCAxMjgsIDcyLCA3NiwgODUsIDg4LCAxMjgsIDcyLCA3NiwgODUsIDg0LCAxMjgsIDcyLCAKLSAgICA3NiwgODUsIDgyLCA4OCwgMTI4LCA3MiwgNzYsIDg1LCA4MiwgMTI4LCA3MiwgNzYsIDg1LCA4MCwgMTI4LCA3MiwgNzYsIAotICAgIDg1LCA3OSwgODgsIDEyOCwgNzIsIDc2LCA4NSwgNzksIDgwLCAxMjgsIDcyLCA3NiwgODUsIDc5LCAxMjgsIDcyLCA3NiwgCi0gICAgODUsIDEyOCwgNzIsIDc2LCA3OSwgODgsIDEyOCwgNzIsIDc2LCA3OSwgODAsIDEyOCwgNzIsIDc2LCA3OSwgMTI4LCA3MiwgCi0gICAgNzYsIDczLCA4OCwgMTI4LCA3MiwgNzYsIDczLCA4NCwgMTI4LCA3MiwgNzYsIDczLCA4MCwgMTI4LCA3MiwgNzYsIDczLCAKLSAgICA2OSwgODgsIDEyOCwgNzIsIDc2LCA3MywgNjksIDgwLCAxMjgsIDcyLCA3NiwgNzMsIDY5LCAxMjgsIDcyLCA3NiwgNzMsIAotICAgIDEyOCwgNzIsIDc2LCA2OSwgODgsIDEyOCwgNzIsIDc2LCA2OSwgODAsIDEyOCwgNzIsIDc2LCA2OSwgMTI4LCA3MiwgNzYsIAotICAgIDY1LCA4OCwgMTI4LCA3MiwgNzYsIDY1LCA4NCwgMTI4LCA3MiwgNzYsIDY1LCA4MCwgMTI4LCA3MiwgNzYsIDY1LCAxMjgsIAotICAgIDcyLCA3NSwgMTI4LCA3MiwgNzMsIDkwLCA2NiwgMTI4LCA3MiwgNzMsIDgzLCA4NCwgNzksIDgyLCA3MywgMTk1LCA3MiwgCi0gICAgNzMsIDgyLCA3MywgODEsIDEyOCwgNzIsIDczLCA3MSwgNzIsIDQ1LCA4MywgODAsIDY5LCA2OSwgMTk2LCA3MiwgNzMsIDcxLCAKLSAgICA3MiwgNDUsIDgyLCA2OSwgODYsIDY5LCA4MiwgODMsIDY5LCA2OCwgNDUsIDE4NSwgNzIsIDczLCA3MSwgNzIsIDQ1LCA3MiwgCi0gICAgNjksIDY5LCA3NiwgNjksIDE5NiwgNzIsIDczLCA2OSwgODgsIDEyOCwgNzIsIDczLCA2OSwgODUsIDcyLCA0NSwgODMsIDczLCAKLSAgICA3OSwgODMsIDEyOCwgNzIsIDczLCA2OSwgODUsIDcyLCA0NSwgODIsIDczLCA2OSwgODUsIDc2LCAxMjgsIDcyLCA3MywgNjksIAotICAgIDg1LCA3MiwgNDUsIDgwLCA3MywgNjksIDg1LCA4MCwgMTI4LCA3MiwgNzMsIDY5LCA4NSwgNzIsIDQ1LCA3OCwgNzMsIDY5LCAKLSAgICA4NSwgNzgsIDEyOCwgNzIsIDczLCA2OSwgODUsIDcyLCA0NSwgNzcsIDczLCA2OSwgODUsIDc3LCAxMjgsIDcyLCA3MywgNjksIAotICAgIDg1LCAyMDAsIDcyLCA3MywgNjksIDgyLCA3OSwgNzEsIDc2LCA4OSwgODAsIDcyLCA3MywgMTk1LCA3MiwgNzMsIDY5LCAKLSAgICAxMjgsIDcyLCA3MywgNjgsIDczLCA3OCwgMTk5LCA3MiwgNzMsIDY4LCA2OSwgODQsIDEyOCwgNzIsIDczLCA2OCwgNjksIAotICAgIDEyOCwgNzIsIDczLCA2NiwgNzMsIDgzLCA2NywgODUsIDgzLCAxMjgsIDcyLCA3MiwgODcsIDY1LCAxMjgsIDcyLCA3MiwgCi0gICAgODUsIDEyOCwgNzIsIDcyLCA3MywgMTI4LCA3MiwgNzIsIDY5LCA2OSwgMTI4LCA3MiwgNzIsIDY5LCAxMjgsIDcyLCA3MiwgCi0gICAgNjUsIDY1LCAxMjgsIDcyLCA3MSwgMTI4LCA3MiwgNjksIDg4LCA3MywgNzAsIDc5LCA4MiwgMjA1LCA3MiwgNjksIDg4LCAKLSAgICA2NSwgNzEsIDgyLCA2NSwgMjA1LCA3MiwgNjksIDg4LCA2NSwgNzEsIDc5LCA3OCwgMTI4LCA3MiwgNjksIDgyLCA4NSwgODQsIAotICAgIDg1LCAxMjgsIDcyLCA2OSwgODIsIDg1LCAxMjgsIDcyLCA2OSwgODIsIDc3LCA3MywgODQsIDczLCA2NSwgMjA2LCA3MiwgCi0gICAgNjksIDgyLCA3NywgNzMsIDc5LCA3OCwgNzMsIDY1LCAyMDYsIDcyLCA2OSwgODIsIDc3LCA2OSwgODMsIDEyOCwgNzIsIDY5LCAKLSAgICA4MiwgNjksIDEyOCwgNzIsIDY5LCA4MiwgNjYsIDEyOCwgNzIsIDY5LCA4MiwgNjUsIDY5LCA4NSwgMjA1LCA3MiwgNjksIAotICAgIDc4LCA3MSwgMTI4LCA3MiwgNjksIDc4LCAxOTksIDcyLCA2OSwgNzcsIDgwLCAxMjgsIDcyLCA2OSwgNzYsIDc3LCA2OSwgCi0gICAgODQsIDEyOCwgNzIsIDY5LCA3NiwgNzcsIDY5LCAyMTIsIDcyLCA2OSwgNzYsIDIwNSwgNzIsIDY5LCA3NiwgNzMsIDY3LCAKLSAgICA3OSwgODAsIDg0LCA2OSwgODIsIDEyOCwgNzIsIDY5LCA3NSwgODUsIDg0LCA2NSwgNjUsIDgyLCA4NSwgMTI4LCA3MiwgNjksIAotICAgIDczLCA4MywgNjksIDczLCAxMjgsIDcyLCA2OSwgNjUsIDg2LCA4OSwgMTI4LCA3MiwgNjksIDY1LCA4NiwgNjksIDc4LCA3NiwgCi0gICAgMjE3LCA3MiwgNjksIDY1LCA4NiwgNjksIDc4LCAxMjgsIDcyLCA2OSwgNjUsIDg2LCA2OSwgMjA2LCA3MiwgNjksIDY1LCAKLSAgICA4MiwgODQsIDgzLCAxMjgsIDcyLCA2OSwgNjUsIDgyLCA4NCwgNDUsIDgzLCA3MiwgNjUsIDgwLCA2OSwgMTk2LCA3MiwgNjksIAotICAgIDY1LCA4MiwgODQsIDEyOCwgNzIsIDY5LCA2NSwgODIsIDIxMiwgNzIsIDY5LCA2NSwgODIsIDQ1LCA3OCwgNzksIDQ1LCA2OSwgCi0gICAgODYsIDczLCAyMDQsIDcyLCA2OSwgNjUsIDY4LCA4MywgODQsIDgyLCA3OSwgNzUsIDY5LCAxMjgsIDcyLCA2OSwgNjUsIDY4LCAKLSAgICA4MywgODQsIDc5LCA3OCwgMTk3LCA3MiwgNjksIDY1LCA2OCwgODAsIDcyLCA3OSwgNzgsIDY5LCAxMjgsIDcyLCA2OSwgNjUsIAotICAgIDY4LCA3MywgNzgsIDcxLCAxMjgsIDcyLCA2NiwgNjUsIDgzLCA2NSwgNDUsIDY5LCA4MywgNjUsIDgzLCAxOTMsIDcyLCA2NiwgCi0gICAgNjUsIDgzLCAxOTMsIDcyLCA2NSwgODksIDY1LCA3OCwgNzgsIDY1LCAxMjgsIDcyLCA2NSwgODYsIDY5LCAxMjgsIDcyLCAKLSAgICA2NSwgODUsIDgwLCA4NCwgODMsIDg0LCA3MywgNzcsIDc3LCA2OSwgMTI4LCA3MiwgNjUsIDg0LCA3MiwgNzMsIDEyOCwgNzIsIAotICAgIDY1LCA4NCwgNjksIDEyOCwgNzIsIDY1LCA4NCwgNjcsIDcyLCA3MywgNzgsIDE5OSwgNzIsIDY1LCA4NCwgNjUsIDE5OCwgCi0gICAgNzIsIDY1LCA4MywgNjksIDIxMCwgNzIsIDY1LCA4MywgNjUsIDc4LCA4NCwgNjUsIDEyOCwgNzIsIDY1LCA4MiwgODAsIDc5LCAKLSAgICA3OSwgNzgsIDEyOCwgNzIsIDY1LCA4MiwgODAsIDc5LCA3OSwgMjA2LCA3MiwgNjUsIDgyLCA3NywgNzksIDc4LCA3MywgNjcsIAotICAgIDEyOCwgNzIsIDY1LCA4MiwgNzUsIDc2LCA2OSwgNjUsIDIwNiwgNzIsIDY1LCA4MiwgNjgsIDc4LCA2OSwgODMsIDgzLCAKLSAgICAxMjgsIDcyLCA2NSwgODIsIDE5NiwgNzIsIDY1LCA4MCwgODAsIDIxNywgNzIsIDY1LCA3OCwgODUsIDc4LCA3OSwgMjA3LCAKLSAgICA3MiwgNjUsIDc4LCA3MSwgOTAsIDcyLCA3OSwgMjEzLCA3MiwgNjUsIDc4LCA2OCwgODMsIDEyOCwgNzIsIDY1LCA3OCwgNjgsIAotICAgIDIxMSwgNzIsIDY1LCA3OCwgNjgsIDc2LCA2OSwgODMsIDEyOCwgNzIsIDY1LCA3OCwgNjgsIDc2LCA2OSwgMTI4LCA3MiwgCi0gICAgNjUsIDc4LCA2OCwgNjYsIDY1LCA3MSwgMTI4LCA3MiwgNjUsIDc4LCA2OCwgMTI4LCA3MiwgNjUsIDc4LCA0NSwgNjUsIDc1LCAKLSAgICA2NSwgODQsIDEyOCwgNzIsIDY1LCA3NywgOTAsIDY1LCAxMjgsIDcyLCA2NSwgNzcsIDgzLCA4NCwgNjksIDIxMCwgNzIsIAorICAgIDc5LCA2NywgNzIsIDc5LCAxMjgsIDcyLCA3OCwgODUsIDg0LCAxMjgsIDcyLCA3OCwgODUsIDc5LCA4OCwgMTI4LCA3MiwgCisgICAgNzgsIDg1LCA3OSwgMTI4LCA3MiwgNzgsIDg1LCA2NiwgMTI4LCA3MiwgNzgsIDc5LCA4OCwgMTI4LCA3MiwgNzgsIDc5LCAKKyAgICA4NCwgMTI4LCA3MiwgNzgsIDc5LCA4MCwgMTI4LCA3MiwgNzgsIDczLCA4OCwgMTI4LCA3MiwgNzgsIDczLCA4NCwgMTI4LCAKKyAgICA3MiwgNzgsIDczLCA4MCwgMTI4LCA3MiwgNzgsIDczLCA2OSwgODgsIDEyOCwgNzIsIDc4LCA3MywgNjksIDg0LCAxMjgsIAorICAgIDcyLCA3OCwgNzMsIDY5LCA4MCwgMTI4LCA3MiwgNzgsIDczLCA2OSwgMTI4LCA3MiwgNzgsIDczLCAxMjgsIDcyLCA3OCwgCisgICAgNjksIDg4LCAxMjgsIDcyLCA3OCwgNjksIDgwLCAxMjgsIDcyLCA3OCwgNjksIDEyOCwgNzIsIDc4LCA2NSwgODgsIDEyOCwgCisgICAgNzIsIDc4LCA2NSwgODUsIDEyOCwgNzIsIDc4LCA2NSwgODQsIDEyOCwgNzIsIDc4LCA2NSwgODAsIDEyOCwgNzIsIDc4LCAKKyAgICA2NSwgMTI4LCA3MiwgNzcsIDg5LCA4OCwgMTI4LCA3MiwgNzcsIDg5LCA4MiwgODgsIDEyOCwgNzIsIDc3LCA4OSwgODIsIAorICAgIDEyOCwgNzIsIDc3LCA4OSwgODAsIDEyOCwgNzIsIDc3LCA4OSwgMTI4LCA3MiwgNzcsIDg1LCA4OCwgMTI4LCA3MiwgNzcsIAorICAgIDg1LCA4NCwgMTI4LCA3MiwgNzcsIDg1LCA4MiwgODgsIDEyOCwgNzIsIDc3LCA4NSwgODIsIDEyOCwgNzIsIDc3LCA4NSwgCisgICAgODAsIDEyOCwgNzIsIDc3LCA4NSwgNzksIDg4LCAxMjgsIDcyLCA3NywgODUsIDc5LCA4MCwgMTI4LCA3MiwgNzcsIDg1LCAKKyAgICA3OSwgMTI4LCA3MiwgNzcsIDg1LCAxMjgsIDcyLCA3NywgNzksIDg4LCAxMjgsIDcyLCA3NywgNzksIDg0LCAxMjgsIDcyLCAKKyAgICA3NywgNzksIDgwLCAxMjgsIDcyLCA3NywgNzksIDEyOCwgNzIsIDc3LCA3MywgODgsIDEyOCwgNzIsIDc3LCA3MywgODQsIAorICAgIDEyOCwgNzIsIDc3LCA3MywgODAsIDEyOCwgNzIsIDc3LCA3MywgNjksIDg4LCAxMjgsIDcyLCA3NywgNzMsIDY5LCA4MCwgCisgICAgMTI4LCA3MiwgNzcsIDczLCA2OSwgMTI4LCA3MiwgNzcsIDczLCAxMjgsIDcyLCA3NywgNjksIDEyOCwgNzIsIDc3LCA2NSwgCisgICAgODgsIDEyOCwgNzIsIDc3LCA2NSwgODQsIDEyOCwgNzIsIDc3LCA2NSwgODAsIDEyOCwgNzIsIDc3LCA2NSwgMTI4LCA3MiwgCisgICAgNzYsIDg5LCA4OCwgMTI4LCA3MiwgNzYsIDg5LCA4NCwgMTI4LCA3MiwgNzYsIDg5LCA4MiwgODgsIDEyOCwgNzIsIDc2LCAKKyAgICA4OSwgODIsIDEyOCwgNzIsIDc2LCA4OSwgODAsIDEyOCwgNzIsIDc2LCA4OSwgMTI4LCA3MiwgNzYsIDg1LCA4OCwgMTI4LCAKKyAgICA3MiwgNzYsIDg1LCA4NCwgMTI4LCA3MiwgNzYsIDg1LCA4MiwgODgsIDEyOCwgNzIsIDc2LCA4NSwgODIsIDEyOCwgNzIsIAorICAgIDc2LCA4NSwgODAsIDEyOCwgNzIsIDc2LCA4NSwgNzksIDg4LCAxMjgsIDcyLCA3NiwgODUsIDc5LCA4MCwgMTI4LCA3MiwgCisgICAgNzYsIDg1LCA3OSwgMTI4LCA3MiwgNzYsIDg1LCAxMjgsIDcyLCA3NiwgNzksIDg4LCAxMjgsIDcyLCA3NiwgNzksIDgwLCAKKyAgICAxMjgsIDcyLCA3NiwgNzksIDEyOCwgNzIsIDc2LCA3MywgODgsIDEyOCwgNzIsIDc2LCA3MywgODQsIDEyOCwgNzIsIDc2LCAKKyAgICA3MywgODAsIDEyOCwgNzIsIDc2LCA3MywgNjksIDg4LCAxMjgsIDcyLCA3NiwgNzMsIDY5LCA4MCwgMTI4LCA3MiwgNzYsIAorICAgIDczLCA2OSwgMTI4LCA3MiwgNzYsIDczLCAxMjgsIDcyLCA3NiwgNjksIDg4LCAxMjgsIDcyLCA3NiwgNjksIDgwLCAxMjgsIAorICAgIDcyLCA3NiwgNjksIDEyOCwgNzIsIDc2LCA2NSwgODgsIDEyOCwgNzIsIDc2LCA2NSwgODUsIDEyOCwgNzIsIDc2LCA2NSwgCisgICAgODQsIDEyOCwgNzIsIDc2LCA2NSwgODAsIDEyOCwgNzIsIDc2LCA2NSwgMTI4LCA3MiwgNzYsIDEyOCwgNzIsIDc1LCAxMjgsIAorICAgIDcyLCA3MywgOTAsIDY2LCAxMjgsIDcyLCA3MywgODksIDc5LCAxMjgsIDcyLCA3MywgODMsIDg0LCA3OSwgODIsIDczLCAKKyAgICAxOTUsIDcyLCA3MywgODIsIDczLCA4MSwgMTI4LCA3MiwgNzMsIDcxLCA3MiwgNDUsIDgzLCA4MCwgNjksIDY5LCAxOTYsIAorICAgIDcyLCA3MywgNzEsIDcyLCA0NSwgODIsIDY5LCA4NiwgNjksIDgyLCA4MywgNjksIDY4LCA0NSwgMTg1LCA3MiwgNzMsIDcxLCAKKyAgICA3MiwgNDUsIDc2LCA3OSwgMjE1LCA3MiwgNzMsIDcxLCA3MiwgNDUsIDcyLCA2OSwgNjksIDc2LCA2OSwgMTk2LCA3MiwgNzMsIAorICAgIDY5LCA4OCwgMTI4LCA3MiwgNzMsIDY5LCA4NSwgNzIsIDQ1LCA4MywgNzMsIDc5LCA4MywgMTI4LCA3MiwgNzMsIDY5LCA4NSwgCisgICAgNzIsIDQ1LCA4MiwgNzMsIDY5LCA4NSwgNzYsIDEyOCwgNzIsIDczLCA2OSwgODUsIDcyLCA0NSwgODAsIDczLCA2OSwgODUsIAorICAgIDgwLCAxMjgsIDcyLCA3MywgNjksIDg1LCA3MiwgNDUsIDc4LCA3MywgNjksIDg1LCA3OCwgMTI4LCA3MiwgNzMsIDY5LCA4NSwgCisgICAgNzIsIDQ1LCA3NywgNzMsIDY5LCA4NSwgNzcsIDEyOCwgNzIsIDczLCA2OSwgODUsIDIwMCwgNzIsIDczLCA2OSwgODIsIDc5LCAKKyAgICA3MSwgNzYsIDg5LCA4MCwgNzIsIDczLCAxOTUsIDcyLCA3MywgNjksIDEyOCwgNzIsIDczLCA2OCwgNzMsIDc4LCAxOTksIAorICAgIDcyLCA3MywgNjgsIDY5LCA4NCwgMTI4LCA3MiwgNzMsIDY4LCA2OSwgMTI4LCA3MiwgNzMsIDY2LCA3MywgODMsIDY3LCA4NSwgCisgICAgODMsIDEyOCwgNzIsIDcyLCA4NywgNjUsIDEyOCwgNzIsIDcyLCA4NSwgMTI4LCA3MiwgNzIsIDczLCAxMjgsIDcyLCA3MiwgCisgICAgNjksIDY5LCAxMjgsIDcyLCA3MiwgNjksIDEyOCwgNzIsIDcyLCA2NSwgNjUsIDEyOCwgNzIsIDcxLCAxMjgsIDcyLCA2OSwgCisgICAgODksIDg0LCAxMjgsIDcyLCA2OSwgODgsIDczLCA3MCwgNzksIDgyLCAyMDUsIDcyLCA2OSwgODgsIDY1LCA3MSwgODIsIDY1LCAKKyAgICAyMDUsIDcyLCA2OSwgODgsIDY1LCA3MSwgNzksIDc4LCAxMjgsIDcyLCA2OSwgODIsIDg1LCA4NCwgODUsIDEyOCwgNzIsIAorICAgIDY5LCA4MiwgODUsIDEyOCwgNzIsIDY5LCA4MiwgNzcsIDczLCA4NCwgNzMsIDY1LCAyMDYsIDcyLCA2OSwgODIsIDc3LCA3MywgCisgICAgNzksIDc4LCA3MywgNjUsIDIwNiwgNzIsIDY5LCA4MiwgNzcsIDY5LCA4MywgMTI4LCA3MiwgNjksIDgyLCA2OSwgMTI4LCAKKyAgICA3MiwgNjksIDgyLCA2NiwgMTI4LCA3MiwgNjksIDgyLCA2NSwgNjksIDg1LCAyMDUsIDcyLCA2OSwgNzgsIDcxLCAxMjgsIAorICAgIDcyLCA2OSwgNzgsIDE5OSwgNzIsIDY5LCA3NywgODAsIDEyOCwgNzIsIDY5LCA3NiwgNzcsIDY5LCA4NCwgMTI4LCA3MiwgCisgICAgNjksIDc2LCA3NywgNjksIDIxMiwgNzIsIDY5LCA3NiwgMjA1LCA3MiwgNjksIDc2LCA3MywgNjcsIDc5LCA4MCwgODQsIDY5LCAKKyAgICA4MiwgMTI4LCA3MiwgNjksIDc1LCA4NSwgODQsIDY1LCA2NSwgODIsIDg1LCAxMjgsIDcyLCA2OSwgNzMsIDgzLCA2OSwgNzMsIAorICAgIDEyOCwgNzIsIDY5LCA2OSwgNzMsIDEyOCwgNzIsIDY5LCA2NSwgODYsIDg5LCAxMjgsIDcyLCA2OSwgNjUsIDg2LCA2OSwgCisgICAgNzgsIDc2LCAyMTcsIDcyLCA2OSwgNjUsIDg2LCA2OSwgNzgsIDEyOCwgNzIsIDY5LCA2NSwgODYsIDY5LCAyMDYsIDcyLCAKKyAgICA2OSwgNjUsIDgyLCA4NCwgODMsIDEyOCwgNzIsIDY5LCA2NSwgODIsIDg0LCA0NSwgODMsIDcyLCA2NSwgODAsIDY5LCAxOTYsIAorICAgIDcyLCA2OSwgNjUsIDgyLCA4NCwgMTI4LCA3MiwgNjksIDY1LCA4MiwgMjEyLCA3MiwgNjksIDY1LCA4MiwgNDUsIDc4LCA3OSwgCisgICAgNDUsIDY5LCA4NiwgNzMsIDIwNCwgNzIsIDY5LCA2NSwgNjgsIDgzLCA4NCwgODIsIDc5LCA3NSwgNjksIDEyOCwgNzIsIDY5LCAKKyAgICA2NSwgNjgsIDgzLCA4NCwgNzksIDc4LCAxOTcsIDcyLCA2OSwgNjUsIDY4LCA4MCwgNzIsIDc5LCA3OCwgNjksIDEyOCwgNzIsIAorICAgIDY5LCA2NSwgNjgsIDczLCA3OCwgNzEsIDEyOCwgNzIsIDY2LCA2NSwgODMsIDY1LCA0NSwgNjksIDgzLCA2NSwgODMsIDE5MywgCisgICAgNzIsIDY2LCA2NSwgODMsIDE5MywgNzIsIDY1LCA4OSwgNjUsIDc4LCA3OCwgNjUsIDEyOCwgNzIsIDY1LCA4NywgNzQsIAorICAgIDEyOCwgNzIsIDY1LCA4NiwgNjksIDEyOCwgNzIsIDY1LCA4NSwgODAsIDg0LCA4MywgODQsIDczLCA3NywgNzcsIDY5LCAKKyAgICAxMjgsIDcyLCA2NSwgMjEzLCA3MiwgNjUsIDg0LCA3MiwgNzMsIDEyOCwgNzIsIDY1LCA4NCwgNjksIDEyOCwgNzIsIDY1LCAKKyAgICA4NCwgNjcsIDcyLCA3MywgNzgsIDE5OSwgNzIsIDY1LCA4NCwgNjUsIDE5OCwgNzIsIDY1LCA4MywgNjksIDIxMCwgNzIsIAorICAgIDY1LCA4MywgNjUsIDc4LCA4NCwgNjUsIDEyOCwgNzIsIDY1LCA4MiwgODAsIDc5LCA3OSwgNzgsIDEyOCwgNzIsIDY1LCA4MiwgCisgICAgODAsIDc5LCA3OSwgMjA2LCA3MiwgNjUsIDgyLCA3NywgNzksIDc4LCA3MywgNjcsIDEyOCwgNzIsIDY1LCA4MiwgNzUsIDc2LCAKKyAgICA2OSwgNjUsIDIwNiwgNzIsIDY1LCA4MiwgNjgsIDc4LCA2OSwgODMsIDgzLCAxMjgsIDcyLCA2NSwgODIsIDE5NiwgNzIsIAorICAgIDY1LCA4MCwgODAsIDIxNywgNzIsIDY1LCA3OCwgODUsIDc4LCA3OSwgMjA3LCA3MiwgNjUsIDc4LCA3MSwgOTAsIDcyLCA3OSwgCisgICAgMjEzLCA3MiwgNjUsIDc4LCA2OCwgODMsIDEyOCwgNzIsIDY1LCA3OCwgNjgsIDIxMSwgNzIsIDY1LCA3OCwgNjgsIDc2LCAKKyAgICA2OSwgODMsIDEyOCwgNzIsIDY1LCA3OCwgNjgsIDc2LCA2OSwgMTI4LCA3MiwgNjUsIDc4LCA2OCwgNjYsIDY1LCA3MSwgCisgICAgMTI4LCA3MiwgNjUsIDc4LCA2OCwgMTI4LCA3MiwgNjUsIDc4LCA0NSwgNjUsIDc1LCA2NSwgODQsIDEyOCwgNzIsIDY1LCAKKyAgICA3NywgOTAsIDY1LCAxMjgsIDcyLCA2NSwgNzcsIDkwLCAxOTMsIDcyLCA2NSwgNzcsIDgzLCA4NCwgNjksIDIxMCwgNzIsIAogICAgIDY1LCA3NywgNzcsIDY5LCA4MiwgMTI4LCA3MiwgNjUsIDc3LCA3NywgNjksIDIxMCwgNzIsIDY1LCA3NywgNjYsIDg1LCA4MiwgCiAgICAgNzEsIDY5LCA4MiwgMTI4LCA3MiwgNjUsIDc2LCA4MSwgNjUsIDEyOCwgNzIsIDY1LCA3NiwgNzksIDEyOCwgNzIsIDY1LCAKICAgICA3NiwgNzAsIDQ1LCA2NywgNzMsIDgyLCA2NywgNzYsIDE5NywgNzIsIDY1LCA3NiwgNzAsIDEyOCwgNzIsIDY1LCA3NiwgNjYsIAogICAgIDY5LCA4MiwgNjgsIDEyOCwgNzIsIDY1LCA3NiwgNjUsIDc4LCA4NCwgNjUsIDEyOCwgNzIsIDY1LCA3MywgODQsIDg1LCAKLSAgICAxMjgsIDcyLCA2NSwgNzMsIDgyLCA2NywgODUsIDg0LCAxMjgsIDcyLCA2NSwgNzMsIDgyLCAxMjgsIDcyLCA2NSwgNzEsIAotICAgIDc2LCA2NSwgMjE4LCA3MiwgNjUsIDcxLCA3NiwgMTI4LCA3MiwgNjUsIDcwLCA4NSwgNzUsIDcyLCA2NSwgMTI4LCA3MiwgCi0gICAgNjUsIDcwLCA4NSwgNzUsIDcyLCAxMjgsIDcyLCA2NSwgNjksIDcxLCAyMDQsIDcyLCA2NSwgNjUsIDgyLCA4NSwgMTI4LCAKLSAgICA3MiwgNjUsIDY1LCA3NywgMTI4LCA3MiwgNjUsIDE5MywgNzIsIDY1LCA0NSwgNzIsIDY1LCAxMjgsIDcyLCA0OCwgNDgsIAotICAgIDU2LCAxMjgsIDcyLCA0OCwgNDgsIDU1LCAxMjgsIDcyLCA0OCwgNDgsIDU0LCA2NSwgMTI4LCA3MiwgNDgsIDQ4LCA1NCwgCi0gICAgMTI4LCA3MiwgNDgsIDQ4LCA1MywgMTI4LCA3MiwgNDgsIDQ4LCA1MiwgMTI4LCA3MiwgNDgsIDQ4LCA1MSwgMTI4LCA3MiwgCi0gICAgNDgsIDQ4LCA1MCwgMTI4LCA3MiwgNDgsIDQ4LCA0OSwgMTI4LCA3MiwgNDUsIDg0LCA4OSwgODAsIDE5NywgNzEsIDg5LCAKLSAgICA4NSwgMTI4LCA3MSwgODksIDc5LCA3OCwgMTI4LCA3MSwgODksIDc5LCAxMjgsIDcxLCA4OSwgNzMsIDEyOCwgNzEsIDg5LCAKLSAgICA3MCwgMjEzLCA3MSwgODksIDY5LCA2OSwgMTI4LCA3MSwgODksIDY1LCA4MywgMTI4LCA3MSwgODksIDY1LCA2NSwgMTI4LCAKLSAgICA3MSwgODksIDY1LCAxMjgsIDcxLCA4OSwgMTI4LCA3MSwgODcsIDg1LCAxMjgsIDcxLCA4NywgNzMsIDEyOCwgNzEsIDg3LCAKLSAgICA2OSwgNjksIDEyOCwgNzEsIDg3LCA2OSwgMTI4LCA3MSwgODcsIDY1LCA2NSwgMTI4LCA3MSwgODcsIDY1LCAxMjgsIDcxLCAKLSAgICA4NiwgMTI4LCA3MSwgODUsIDgyLCA4NSwgODMsIDcyLCAxMjgsIDcxLCA4NSwgODIsIDg1LCA3OCwgMTI4LCA3MSwgODUsIAotICAgIDgyLCA2NSwgNzcsIDg1LCA4NCwgNzksIDc4LCAxMjgsIDcxLCA4NSwgODIsIDU1LCAxMjgsIDcxLCA4NSwgNzgsIDg1LCAKKyAgICAxMjgsIDcyLCA2NSwgNzMsIDIxMSwgNzIsIDY1LCA3MywgODIsIDY3LCA4NSwgODQsIDEyOCwgNzIsIDY1LCA3MywgODIsIAorICAgIDEyOCwgNzIsIDY1LCA3MSwgNzYsIDY1LCAyMTgsIDcyLCA2NSwgNzEsIDc2LCAxMjgsIDcyLCA2NSwgNzAsIDg1LCA3NSwgCisgICAgNzIsIDY1LCAxMjgsIDcyLCA2NSwgNzAsIDg1LCA3NSwgNzIsIDEyOCwgNzIsIDY1LCA2OSwgNzEsIDIwNCwgNzIsIDY1LCAKKyAgICA2NSwgODIsIDg1LCAxMjgsIDcyLCA2NSwgNjUsIDc3LCAxMjgsIDcyLCA2NSwgMTkzLCA3MiwgNjUsIDQ1LCA3MiwgNjUsIAorICAgIDEyOCwgNzIsIDQ4LCA0OCwgNTYsIDEyOCwgNzIsIDQ4LCA0OCwgNTUsIDEyOCwgNzIsIDQ4LCA0OCwgNTQsIDY1LCAxMjgsIAorICAgIDcyLCA0OCwgNDgsIDU0LCAxMjgsIDcyLCA0OCwgNDgsIDUzLCAxMjgsIDcyLCA0OCwgNDgsIDUyLCAxMjgsIDcyLCA0OCwgCisgICAgNDgsIDUxLCAxMjgsIDcyLCA0OCwgNDgsIDUwLCAxMjgsIDcyLCA0OCwgNDgsIDQ5LCAxMjgsIDcyLCA0NSwgODQsIDg5LCAKKyAgICA4MCwgMTk3LCA3MSwgODksIDg1LCAxMjgsIDcxLCA4OSwgNzksIDc4LCAxMjgsIDcxLCA4OSwgNzksIDEyOCwgNzEsIDg5LCAKKyAgICA3MywgMTI4LCA3MSwgODksIDcwLCAyMTMsIDcxLCA4OSwgNjksIDY5LCAxMjgsIDcxLCA4OSwgNjUsIDgzLCAxMjgsIDcxLCAKKyAgICA4OSwgNjUsIDY1LCAxMjgsIDcxLCA4OSwgNjUsIDEyOCwgNzEsIDg5LCAxMjgsIDcxLCA4NywgODUsIDEyOCwgNzEsIDg3LCAKKyAgICA3MywgMTI4LCA3MSwgODcsIDY5LCA2OSwgMTI4LCA3MSwgODcsIDY5LCAxMjgsIDcxLCA4NywgNjUsIDY1LCAxMjgsIDcxLCAKKyAgICA4NywgNjUsIDEyOCwgNzEsIDg2LCA2NSwgNzgsIDcxLCAxMjgsIDcxLCA4NiwgMTI4LCA3MSwgODUsIDgyLCA4NSwgODMsIAorICAgIDcyLCAxMjgsIDcxLCA4NSwgODIsIDg1LCA3OCwgMTI4LCA3MSwgODUsIDgyLCA3NywgODUsIDc1LCA3MiwgMjAxLCA3MSwgCisgICAgODUsIDgyLCA2NSwgNzcsIDg1LCA4NCwgNzksIDc4LCAxMjgsIDcxLCA4NSwgODIsIDU1LCAxMjgsIDcxLCA4NSwgNzgsIDg1LCAKICAgICAxMjgsIDcxLCA4NSwgNzgsIDIxMywgNzEsIDg1LCAyMDUsIDcxLCA4NSwgNzYsIDEyOCwgNzEsIDg1LCA3MywgODQsIDY1LCAKLSAgICA4MiwgMTI4LCA3MSwgODUsIDE5OSwgNzEsIDg1LCA2OSwgNzIsIDEyOCwgNzEsIDg1LCA2OSwgMjAwLCA3MSwgODUsIDY4LCAKLSAgICAxMjgsIDcxLCA4NSwgMTk2LCA3MSwgODUsIDY1LCA4MiwgNjgsIDgzLCA3NywgNjUsIDc4LCAxMjgsIDcxLCA4NSwgNjUsIAotICAgIDgyLCA2OCwgNjksIDY4LCA3OCwgNjksIDgzLCA4MywgMTI4LCA3MSwgODUsIDY1LCA4MiwgNjgsIDY5LCAxOTYsIDcxLCA4NSwgCi0gICAgNjUsIDgyLCA2OCwgMTI4LCA3MSwgODUsIDY1LCA4MiwgNjUsIDc4LCAyMDEsIDcxLCA4NSwgMTkzLCA3MSwgODUsIDE3OCwgCi0gICAgNzEsIDg0LCA2OSwgMjEwLCA3MSwgODMsIDg1LCA3NywgMTI4LCA3MSwgODMsIDg1LCAyMDUsIDcxLCA4MiwgMjEzLCA3MSwgCi0gICAgODIsIDc5LCA4NywgNzMsIDc4LCAxOTksIDcxLCA4MiwgNzksIDg1LCA3OCwgNjgsIDEyOCwgNzEsIDgyLCA3OSwgNzgsIDg0LCAKLSAgICA3MiwgNzMsIDgzLCA3NywgNjUsIDg0LCA2NSwgMTI4LCA3MSwgODIsIDczLCA3OCwgNzgsIDczLCA3OCwgMTk5LCA3MSwgODIsIAotICAgIDczLCA3NywgNjUsIDY3LCA3MywgNzgsIDE5OSwgNzEsIDgyLCA2OSwgNzEsIDc5LCA4MiwgNzMsIDY1LCAyMDYsIDcxLCA4MiwgCi0gICAgNjksIDY5LCAyMDYsIDcxLCA4MiwgNjksIDY1LCA4NCwgNzgsIDY5LCA4MywgODMsIDEyOCwgNzEsIDgyLCA2OSwgNjUsIDg0LCAKLSAgICA2OSwgODIsIDQ1LCA4NCwgNzIsIDY1LCA3OCwgMTI4LCA3MSwgODIsIDY5LCA2NSwgODQsIDY5LCA4MiwgNDUsIDg0LCA3MiwgCi0gICAgNjUsIDIwNiwgNzEsIDgyLCA2OSwgNjUsIDg0LCA2OSwgMjEwLCA3MSwgODIsIDY5LCA2NSwgMjEyLCA3MSwgODIsIDY1LCAKLSAgICA4NiwgNjksIDg5LCA2NSwgODIsIDE5NiwgNzEsIDgyLCA2NSwgODYsIDY5LCA0NSwgNzcsIDY1LCA2NywgODIsIDc5LCA3OCwgCi0gICAgMTI4LCA3MSwgODIsIDY1LCA4NiwgNjksIDQ1LCA2NSwgNjcsIDg1LCA4NCwgNjksIDQ1LCA3MSwgODIsIDY1LCA4NiwgNjksIAotICAgIDEyOCwgNzEsIDgyLCA2NSwgODYsIDE5NywgNzEsIDgyLCA2NSwgODQsIDY5LCA4MiwgMTI4LCA3MSwgODIsIDY1LCA4MywgCi0gICAgODMsIDEyOCwgNzEsIDgyLCA2NSwgODMsIDIxMSwgNzEsIDgyLCA2NSwgODAsIDcyLCA2OSwgNzcsIDE5NywgNzEsIDgyLCAKLSAgICA2NSwgODAsIDY5LCA4MywgMTI4LCA3MSwgODIsIDY1LCA3NywgNzcsIDE5MywgNzEsIDgyLCA2NSwgNzMsIDc4LCAxMjgsIAotICAgIDcxLCA4MiwgNjUsIDY4LCA4NSwgNjUsIDg0LCA3MywgNzksIDIwNiwgNzEsIDgyLCA2NSwgNjcsIDY5LCAxMjgsIDcxLCA4MiwgCi0gICAgNjUsIDY3LCAxOTcsIDcxLCA4MCwgNjUsIDEyOCwgNzEsIDc5LCA4MiwgODQsIDcyLCA3NywgNzMsIDc1LCA3OSwgMjA2LCAKLSAgICA3MSwgNzksIDgyLCA4NCwgMTI4LCA3MSwgNzksIDgyLCA3MSwgNzksIDg0LCA2OSwgODIsIDczLCAxMjgsIDcxLCA3OSwgODIsIAotICAgIDcxLCA3OSwgODMsIDg5LCA3OCwgODQsIDcyLCA2OSwgODQsIDc5LCA3OCwgMTI4LCA3MSwgNzksIDgyLCA3MSwgNzksIDIwNiwgCi0gICAgNzEsIDc5LCA4MiwgNzEsIDczLCAxMjgsIDcxLCA3OSwgODIsIDY1LCAxMjgsIDcxLCA3OSwgNzksIDE5NiwgNzEsIDc5LCAKLSAgICA3OCwgNzEsIDEyOCwgNzEsIDc5LCA3NiwgNjgsIDEyOCwgNzEsIDc5LCA3NSwgMTI4LCA3MSwgNzksIDczLCA3OCwgMTk5LCAKLSAgICA3MSwgNzksIDY2LCA3NiwgNzMsIDc4LCAxMjgsIDcxLCA3OSwgNjUsIDc2LCAxMjgsIDcxLCA3OSwgNjUsIDIwNCwgNzEsIAotICAgIDc5LCA2NSwgMTI4LCA3MSwgNzgsIDg5LCA3MywgODMsIDEyOCwgNzEsIDc4LCA2NSwgODYsIDczLCA4OSwgNjUsIDc4LCA3MywgCi0gICAgMTI4LCA3MSwgNzYsIDc5LCA4NywgNzMsIDc4LCAxOTksIDcxLCA3NiwgNzksIDg0LCA4NCwgNjUsIDIwNCwgNzEsIDc2LCAKLSAgICA3OSwgNjYsIDE5NywgNzEsIDc2LCA3MywgODMsIDgzLCA2NSwgNzgsIDY4LCAyMDcsIDcxLCA3NiwgNjksIDczLCA2NywgCi0gICAgMjAwLCA3MSwgNzYsIDY1LCA3MSwgNzksIDc2LCA3MywgMTI4LCA3MSwgNzYsIDY1LCAxMjgsIDcxLCA3NCwgNjksIDEyOCwgCi0gICAgNzEsIDczLCA4OCwgMTI4LCA3MSwgNzMsIDg0LCAxMjgsIDcxLCA3MywgODMsIDcyLCAxMjgsIDcxLCA3MywgODMsIDIwMCwgCi0gICAgNzEsIDczLCA4MywgNjUsIDc2LCAxMjgsIDcxLCA3MywgODIsIDg1LCA2OCwgNjUsIDY1LCAxMjgsIDcxLCA3MywgODIsIDc2LCAKKyAgICA4MiwgMTI4LCA3MSwgODUsIDE5OSwgNzEsIDg1LCA2OSwgNzMsIDEyOCwgNzEsIDg1LCA2OSwgNzIsIDEyOCwgNzEsIDg1LCAKKyAgICA2OSwgMjAwLCA3MSwgODUsIDY4LCAxMjgsIDcxLCA4NSwgMTk2LCA3MSwgODUsIDY1LCA4MiwgNjgsIDgzLCA3NywgNjUsIAorICAgIDc4LCAxMjgsIDcxLCA4NSwgNjUsIDgyLCA2OCwgNjksIDY4LCA3OCwgNjksIDgzLCA4MywgMTI4LCA3MSwgODUsIDY1LCA4MiwgCisgICAgNjgsIDY5LCAxOTYsIDcxLCA4NSwgNjUsIDgyLCA2OCwgMTI4LCA3MSwgODUsIDY1LCA4MiwgNjUsIDc4LCAyMDEsIDcxLCAKKyAgICA4NSwgMTkzLCA3MSwgODUsIDE3OCwgNzEsIDg0LCA2OSwgMjEwLCA3MSwgODMsIDg1LCA3NywgMTI4LCA3MSwgODMsIDg1LCAKKyAgICAyMDUsIDcxLCA4MiwgMjEzLCA3MSwgODIsIDc5LCA4NywgNzMsIDc4LCAxOTksIDcxLCA4MiwgNzksIDg1LCA3OCwgNjgsIAorICAgIDEyOCwgNzEsIDgyLCA3OSwgNzgsIDg0LCA3MiwgNzMsIDgzLCA3NywgNjUsIDg0LCA2NSwgMTI4LCA3MSwgODIsIDczLCA3OCwgCisgICAgNzgsIDczLCA3OCwgMTk5LCA3MSwgODIsIDczLCA3NywgNjUsIDY3LCA3MywgNzgsIDE5OSwgNzEsIDgyLCA2OSwgNzEsIDc5LCAKKyAgICA4MiwgNzMsIDY1LCAyMDYsIDcxLCA4MiwgNjksIDY5LCAyMDYsIDcxLCA4MiwgNjksIDY1LCA4NCwgNzgsIDY5LCA4MywgODMsIAorICAgIDEyOCwgNzEsIDgyLCA2OSwgNjUsIDg0LCA2OSwgODIsIDQ1LCA4NCwgNzIsIDY1LCA3OCwgMTI4LCA3MSwgODIsIDY5LCA2NSwgCisgICAgODQsIDY5LCA4MiwgNDUsIDg0LCA3MiwgNjUsIDIwNiwgNzEsIDgyLCA2OSwgNjUsIDg0LCA2OSwgMjEwLCA3MSwgODIsIDY5LCAKKyAgICA2NSwgMjEyLCA3MSwgODIsIDY1LCA4NiwgNjksIDg5LCA2NSwgODIsIDE5NiwgNzEsIDgyLCA2NSwgODYsIDY5LCA0NSwgNzcsIAorICAgIDY1LCA2NywgODIsIDc5LCA3OCwgMTI4LCA3MSwgODIsIDY1LCA4NiwgNjksIDQ1LCA2NSwgNjcsIDg1LCA4NCwgNjksIDQ1LCAKKyAgICA3MSwgODIsIDY1LCA4NiwgNjksIDEyOCwgNzEsIDgyLCA2NSwgODYsIDE5NywgNzEsIDgyLCA2NSwgODQsIDY5LCA4MiwgCisgICAgMTI4LCA3MSwgODIsIDY1LCA4MywgODMsIDEyOCwgNzEsIDgyLCA2NSwgODMsIDIxMSwgNzEsIDgyLCA2NSwgODAsIDcyLCAKKyAgICA2OSwgNzcsIDE5NywgNzEsIDgyLCA2NSwgODAsIDY5LCA4MywgMTI4LCA3MSwgODIsIDY1LCA3NywgNzcsIDE5MywgNzEsIAorICAgIDgyLCA2NSwgNzMsIDc4LCAxMjgsIDcxLCA4MiwgNjUsIDY4LCA4NSwgNjUsIDg0LCA3MywgNzksIDIwNiwgNzEsIDgyLCA2NSwgCisgICAgNjcsIDY5LCAxMjgsIDcxLCA4MiwgNjUsIDY3LCAxOTcsIDcxLCA4MCwgNjUsIDEyOCwgNzEsIDc5LCA4MiwgODQsIDcyLCAKKyAgICA3NywgNzMsIDc1LCA3OSwgMjA2LCA3MSwgNzksIDgyLCA4NCwgMTI4LCA3MSwgNzksIDgyLCA3MSwgNzksIDg0LCA2OSwgODIsIAorICAgIDczLCAxMjgsIDcxLCA3OSwgODIsIDcxLCA3OSwgODMsIDg5LCA3OCwgODQsIDcyLCA2OSwgODQsIDc5LCA3OCwgMTI4LCA3MSwgCisgICAgNzksIDgyLCA3MSwgNzksIDIwNiwgNzEsIDc5LCA4MiwgNzEsIDczLCAxMjgsIDcxLCA3OSwgODIsIDY1LCAxMjgsIDcxLCAKKyAgICA3OSwgNzksIDE5NiwgNzEsIDc5LCA3OCwgNzEsIDEyOCwgNzEsIDc5LCA3NiwgNzAsIDY5LCA4MiwgMTI4LCA3MSwgNzksIAorICAgIDc2LCA2OCwgMTI4LCA3MSwgNzksIDc1LCAxMjgsIDcxLCA3OSwgNzMsIDc4LCAxOTksIDcxLCA3OSwgNjYsIDc2LCA3MywgCisgICAgNzgsIDEyOCwgNzEsIDc5LCA2NSwgNzYsIDEyOCwgNzEsIDc5LCA2NSwgMjA0LCA3MSwgNzksIDY1LCAxMjgsIDcxLCA3OCwgCisgICAgODksIDczLCA4MywgMTI4LCA3MSwgNzgsIDY1LCA4NiwgNzMsIDg5LCA2NSwgNzgsIDczLCAxMjgsIDcxLCA3NiwgNzksIDg3LCAKKyAgICA3MywgNzgsIDE5OSwgNzEsIDc2LCA3OSwgODQsIDg0LCA2NSwgMjA0LCA3MSwgNzYsIDc5LCA2NiwgMTk3LCA3MSwgNzYsIAorICAgIDczLCA4MywgODMsIDY1LCA3OCwgNjgsIDIwNywgNzEsIDc2LCA2OSwgNzMsIDY3LCAyMDAsIDcxLCA3NiwgNjUsIDcxLCA3OSwgCisgICAgNzYsIDczLCAxMjgsIDcxLCA3NiwgNjUsIDEyOCwgNzEsIDc0LCA2OSwgMTI4LCA3MSwgNzMsIDg4LCAxMjgsIDcxLCA3MywgCisgICAgODQsIDEyOCwgNzEsIDczLCA4MywgNzIsIDEyOCwgNzEsIDczLCA4MywgMjAwLCA3MSwgNzMsIDgzLCA2NSwgNzYsIDEyOCwgCisgICAgNzEsIDczLCA4MiwgODUsIDY4LCA2NSwgNjUsIDEyOCwgNzEsIDczLCA4MiwgNzYsIDIxMSwgNzEsIDczLCA4MiwgNzYsIAogICAgIDEyOCwgNzEsIDczLCA4MiwgNTEsIDEyOCwgNzEsIDczLCA4MiwgMTc5LCA3MSwgNzMsIDgyLCA1MCwgMTI4LCA3MSwgNzMsIAogICAgIDgyLCAxNzgsIDcxLCA3MywgODAsIDEyOCwgNzEsIDczLCA3OCwgNzMsIDczLCAxMjgsIDcxLCA3MywgNzcsIDY5LCA3NiwgCiAgICAgMTI4LCA3MSwgNzMsIDc3LCA2OSwgMjA0LCA3MSwgNzMsIDc3LCAxMjgsIDcxLCA3MywgNzEsIDY1LCAxMjgsIDcxLCA3MywgCi0gICAgNjksIDg0LCAxMjgsIDcxLCA3MywgNjgsIDczLCA3NywgMTI4LCA3MSwgNzMsIDY2LCA2NiwgNzksIDg1LCAyMTEsIDcxLCAKLSAgICA3MywgNjYsIDY1LCAxMjgsIDcxLCA3MywgNTIsIDEyOCwgNzEsIDczLCAxODAsIDcxLCA3MiwgOTAsIDEyOCwgNzEsIDcyLCAKLSAgICA4NywgNjUsIDEyOCwgNzEsIDcyLCA4NSwgNzgsIDc4LCA2NSwgMTI4LCA3MSwgNzIsIDg1LCA3OCwgNzgsIDE5MywgNzEsIAotICAgIDcyLCA4NSwgMTI4LCA3MSwgNzIsIDc5LCA4NSwgMTI4LCA3MSwgNzIsIDc5LCA4MywgODQsIDEyOCwgNzEsIDcyLCA3OSwgCi0gICAgMTI4LCA3MSwgNzIsIDczLCAxMjgsIDcxLCA3MiwgNzIsIDY1LCAxMjgsIDcxLCA3MiwgNjksIDg1LCA4OCwgMTI4LCA3MSwgCisgICAgNzEsIDEyOCwgNzEsIDczLCA2OSwgODQsIDEyOCwgNzEsIDczLCA2OCwgNzMsIDc3LCAxMjgsIDcxLCA3MywgNjYsIDY2LCAKKyAgICA3OSwgODUsIDIxMSwgNzEsIDczLCA2NiwgNjUsIDEyOCwgNzEsIDczLCA1MiwgMTI4LCA3MSwgNzMsIDE4MCwgNzEsIDcyLCAKKyAgICA5MCwgMTI4LCA3MSwgNzIsIDg3LCA2NSwgMTI4LCA3MSwgNzIsIDg1LCA3OCwgNzgsIDY1LCAxMjgsIDcxLCA3MiwgODUsIAorICAgIDc4LCA3OCwgMTkzLCA3MSwgNzIsIDg1LCAxMjgsIDcxLCA3MiwgNzksIDg1LCAxMjgsIDcxLCA3MiwgNzksIDgzLCA4NCwgCisgICAgMTI4LCA3MSwgNzIsIDc5LCAxMjgsIDcxLCA3MiwgNzMsIDc3LCA2OSwgNzYsIDEyOCwgNzEsIDcyLCA3MywgMTI4LCA3MSwgCisgICAgNzIsIDcyLCA2NSwgMTI4LCA3MSwgNzIsIDY5LCA4OSwgODMsIDEyOCwgNzEsIDcyLCA2OSwgODUsIDg4LCAxMjgsIDcxLCAKICAgICA3MiwgNjksIDg1LCA3OCwgMTI4LCA3MSwgNzIsIDY5LCA4NSwgNzEsIDcyLCA2OSwgODUsIDY1LCA2OSwgNzcsIDEyOCwgNzEsIAogICAgIDcyLCA2OSwgODUsIDcxLCA3MiwgNjksIDc4LCAxMjgsIDcxLCA3MiwgNjksIDg1LCA2NSwgNjksIDgyLCA2NSwgNjksIDEyOCwgCiAgICAgNzEsIDcyLCA2OSwgODUsIDY1LCA2OSwgNzEsIDcyLCA2OSwgODUsIDY1LCA2OSwgMTI4LCA3MSwgNzIsIDY5LCA4NCwgMTI4LCAKICAgICA3MSwgNzIsIDY5LCA2OSwgMTI4LCA3MSwgNzIsIDY5LCAxMjgsIDcxLCA3MiwgMTk3LCA3MSwgNzIsIDY1LCA4OSwgNzgsIAogICAgIDEyOCwgNzEsIDcyLCA2NSwgODIsIDY1LCA2OSwgMTI4LCA3MSwgNzIsIDY1LCA4MCwgMTI4LCA3MSwgNzIsIDY1LCA3OCwgCi0gICAgMTI4LCA3MSwgNzIsIDY1LCA3NywgNjUsIDc2LCAxMjgsIDcxLCA3MiwgNjUsIDczLCA3OCwgODUsIDEyOCwgNzEsIDcyLCAKLSAgICA2NSwgNzMsIDc4LCAxMjgsIDcxLCA3MiwgNjUsIDczLCAyMDYsIDcxLCA3MiwgNjUsIDY4LCAxMjgsIDcxLCA3MiwgNjUsIAotICAgIDY1LCA3NywgNjUsIDY5LCAxMjgsIDcxLCA3MiwgNjUsIDY1LCAxMjgsIDcxLCA3MSwgODcsIDczLCAxMjgsIDcxLCA3MSwgCi0gICAgODcsIDY5LCA2OSwgMTI4LCA3MSwgNzEsIDg3LCA2OSwgMTI4LCA3MSwgNzEsIDg3LCA2NSwgNjUsIDEyOCwgNzEsIDcxLCAKLSAgICA4NywgNjUsIDEyOCwgNzEsIDcxLCA4NSwgODgsIDEyOCwgNzEsIDcxLCA4NSwgODQsIDEyOCwgNzEsIDcxLCA4NSwgODIsIAotICAgIDg4LCAxMjgsIDcxLCA3MSwgODUsIDgyLCAxMjgsIDcxLCA3MSwgODUsIDc5LCA4OCwgMTI4LCA3MSwgNzEsIDg1LCA3OSwgCi0gICAgODQsIDEyOCwgNzEsIDcxLCA4NSwgNzksIDgwLCAxMjgsIDcxLCA3MSwgODUsIDc5LCAxMjgsIDcxLCA3MSwgNzksIDg4LCAKLSAgICAxMjgsIDcxLCA3MSwgNzksIDg0LCAxMjgsIDcxLCA3MSwgNzksIDgwLCAxMjgsIDcxLCA3MSwgNzMsIDg4LCAxMjgsIDcxLCAKLSAgICA3MSwgNzMsIDg0LCAxMjgsIDcxLCA3MSwgNzMsIDY5LCA4OCwgMTI4LCA3MSwgNzEsIDczLCA2OSwgODAsIDEyOCwgNzEsIAotICAgIDcxLCA3MywgNjksIDEyOCwgNzEsIDcxLCA2OSwgODgsIDEyOCwgNzEsIDcxLCA2OSwgODQsIDEyOCwgNzEsIDcxLCA2OSwgCi0gICAgODAsIDEyOCwgNzEsIDcxLCA2NSwgODgsIDEyOCwgNzEsIDcxLCA2NSwgODQsIDEyOCwgNzEsIDcxLCA2NSwgNjUsIDEyOCwgCi0gICAgNzEsIDY5LCA4NCwgMTkzLCA3MSwgNjksIDgzLCA4NCwgODUsIDgyLCA2OSwgMTI4LCA3MSwgNjksIDgzLCA3MiwgODUsIAotICAgIDEyOCwgNzEsIDY5LCA4MywgNzIsIDg0LCA3MywgNzgsIDEyOCwgNzEsIDY5LCA4MywgNzIsIDg0LCA3MywgMjA2LCA3MSwgCi0gICAgNjksIDgzLCA3MiwgNTAsIDEyOCwgNzEsIDY5LCA4MiwgODMsIDcyLCA2NSwgODksIDczLCA3NywgMTI4LCA3MSwgNjksIDgyLCAKLSAgICA3NywgNjUsIDIwNiwgNzEsIDY5LCA4MiwgNjksIDgzLCA3MiwgMTI4LCA3MSwgNjksIDgyLCA2OSwgODMsIDIwMCwgNzEsIAotICAgIDY5LCA3OSwgNzcsIDY5LCA4NCwgODIsIDczLCA2NywgNjUsIDc2LCA3NiwgMjE3LCA3MSwgNjksIDc5LCA3NywgNjksIDg0LCAKLSAgICA4MiwgNzMsIDE5NSwgNzEsIDY5LCA3OCwgODQsIDc2LCAxOTcsIDcxLCA2OSwgNzgsIDczLCA4NCwgNzMsIDg2LCA2OSwgCi0gICAgMTI4LCA3MSwgNjksIDc4LCA3MywgNzUsIDIwMSwgNzEsIDY5LCA3OCwgNjksIDgyLCA3MywgMTk1LCA3MSwgNjksIDc3LCAKLSAgICA3MywgNzgsIDczLCAxMjgsIDcxLCA2OSwgNzcsIDczLCA3OCwgNjUsIDg0LCA3MywgNzksIDIwNiwgNzEsIDY5LCAyMDUsIAotICAgIDcxLCA2OSwgNjgsIDc5LCA3NiwgNjUsIDEyOCwgNzEsIDY5LCA2OCwgNjksIDEyOCwgNzEsIDY5LCA2NiwgMjA3LCA3MSwgCi0gICAgNjksIDY2LCAxOTMsIDcxLCA2OSwgNjUsIDgyLCAxMjgsIDcxLCA2OSwgNjUsIDIxMCwgNzEsIDY4LCA2NSwgNzgsIDEyOCwgCi0gICAgNzEsIDY3LCA3MywgNzEsIDEyOCwgNzEsIDY3LCA2NSwgMjA2LCA3MSwgNjYsIDc5LCA3OCwgMTI4LCA3MSwgNjYsIDczLCAKLSAgICA2OSwgMTk3LCA3MSwgNjYsIDY5LCA4NSwgODgsIDEyOCwgNzEsIDY2LCA2OSwgODQsIDEyOCwgNzEsIDY2LCA2NSwgODksIAotICAgIDczLCAxMjgsIDcxLCA2NiwgNjUsIDc1LCA4NSwgODIsIDg1LCA3OCwgNjksIDc4LCAxMjgsIDcxLCA2NiwgMTI4LCA3MSwgCi0gICAgNjUsIDg5LCA2NSwgNzgsIDg1LCA3NSwgNzMsIDg0LCA4NCwgNjUsIDEyOCwgNzEsIDY1LCA4OSwgNjUsIDc4LCA3OCwgNjUsIAotICAgIDEyOCwgNzEsIDY1LCA4OSwgMTI4LCA3MSwgNjUsIDg1LCA3OCwgODQsIDc2LCA2OSwgODQsIDEyOCwgNzEsIDY1LCA4NCwgCi0gICAgNzIsIDY5LCA4MiwgNzMsIDc4LCA3MSwgMTI4LCA3MSwgNjUsIDg0LCA3MiwgNjksIDgyLCA3MywgNzgsIDE5OSwgNzEsIDY1LCAKLSAgICA4NCwgNjksIDEyOCwgNzEsIDY1LCA4MywgNzIsIDY1LCA3OCwgMTI4LCA3MSwgNjUsIDgyLCA4MywgNzIsIDg1LCA3OCwgNzMsIAotICAgIDEyOCwgNzEsIDY1LCA4MiwgNzksIDc4LCAxMjgsIDcxLCA2NSwgODIsIDc3LCA2OSwgNzgsIDg0LCAxMjgsIDcxLCA2NSwgCi0gICAgODIsIDY4LCA2OSwgNzgsIDEyOCwgNzEsIDY1LCA4MiwgNTEsIDEyOCwgNzEsIDY1LCA4MCwgODAsIDY5LCAxOTYsIDcxLCAKLSAgICA2NSwgMjA4LCA3MSwgNjUsIDc4LCA3NywgNjUsIDEyOCwgNzEsIDY1LCA3OCwgNzEsIDczLCA2NSwgMTI4LCA3MSwgNjUsIAotICAgIDc4LCA2OCwgMTkzLCA3MSwgNjUsIDc4LCA1MCwgMTI4LCA3MSwgNjUsIDc4LCAxNzgsIDcxLCA2NSwgNzcsIDc3LCA2NSwgCi0gICAgMTI4LCA3MSwgNjUsIDc3LCA3NiwgNjUsIDEyOCwgNzEsIDY1LCA3NywgNzYsIDEyOCwgNzEsIDY1LCA3NywgNjksIDEyOCwgCi0gICAgNzEsIDY1LCA3NywgMTk3LCA3MSwgNjUsIDc3LCA2NSwgNzgsIDEyOCwgNzEsIDY1LCA3NywgNjUsIDc2LCAxMjgsIDcxLCAKLSAgICA2NSwgNzcsIDY1LCAyMDQsIDcxLCA2NSwgNzEsIDEyOCwgNzEsIDY1LCA3MCwgMTI4LCA3MSwgNjUsIDE5OCwgNzEsIDY1LCAKLSAgICA2OSwgODQsIDg0LCA2NSwgNDUsIDgwLCA3MywgNzYsIDc2LCA2NSwgMTI4LCA3MSwgNjUsIDY4LCA3OSwgNzYsIDEyOCwgNzEsIAotICAgIDY1LCA2OCwgMTI4LCA3MSwgNjUsIDE5NiwgNzEsIDY1LCA2NiwgNjUsIDEyOCwgNzEsIDY1LCA2NiwgMTkzLCA3MSwgNjUsIAotICAgIDY1LCA3MCwgODUsIDEyOCwgNzEsIDY1LCAxNzgsIDcxLCA0OCwgNTMsIDUyLCAxMjgsIDcxLCA0OCwgNTMsIDUxLCAxMjgsIAotICAgIDcxLCA0OCwgNTMsIDUwLCAxMjgsIDcxLCA0OCwgNTMsIDQ5LCAxMjgsIDcxLCA0OCwgNTMsIDQ4LCAxMjgsIDcxLCA0OCwgCi0gICAgNTIsIDU3LCAxMjgsIDcxLCA0OCwgNTIsIDU2LCAxMjgsIDcxLCA0OCwgNTIsIDU1LCAxMjgsIDcxLCA0OCwgNTIsIDU0LCAKLSAgICAxMjgsIDcxLCA0OCwgNTIsIDUzLCA2NSwgMTI4LCA3MSwgNDgsIDUyLCA1MywgMTI4LCA3MSwgNDgsIDUyLCA1MiwgMTI4LCAKLSAgICA3MSwgNDgsIDUyLCA1MSwgNjUsIDEyOCwgNzEsIDQ4LCA1MiwgNTEsIDEyOCwgNzEsIDQ4LCA1MiwgNTAsIDEyOCwgNzEsIAotICAgIDQ4LCA1MiwgNDksIDEyOCwgNzEsIDQ4LCA1MiwgNDgsIDEyOCwgNzEsIDQ4LCA1MSwgNTcsIDEyOCwgNzEsIDQ4LCA1MSwgCi0gICAgNTYsIDEyOCwgNzEsIDQ4LCA1MSwgNTUsIDY1LCAxMjgsIDcxLCA0OCwgNTEsIDU1LCAxMjgsIDcxLCA0OCwgNTEsIDU0LCAKLSAgICA2NSwgMTI4LCA3MSwgNDgsIDUxLCA1NCwgMTI4LCA3MSwgNDgsIDUxLCA1MywgMTI4LCA3MSwgNDgsIDUxLCA1MiwgMTI4LCAKLSAgICA3MSwgNDgsIDUxLCA1MSwgMTI4LCA3MSwgNDgsIDUxLCA1MCwgMTI4LCA3MSwgNDgsIDUxLCA0OSwgMTI4LCA3MSwgNDgsIAotICAgIDUxLCA0OCwgMTI4LCA3MSwgNDgsIDUwLCA1NywgMTI4LCA3MSwgNDgsIDUwLCA1NiwgMTI4LCA3MSwgNDgsIDUwLCA1NSwgCi0gICAgMTI4LCA3MSwgNDgsIDUwLCA1NCwgNjUsIDEyOCwgNzEsIDQ4LCA1MCwgNTQsIDEyOCwgNzEsIDQ4LCA1MCwgNTMsIDEyOCwgCi0gICAgNzEsIDQ4LCA1MCwgNTIsIDEyOCwgNzEsIDQ4LCA1MCwgNTEsIDEyOCwgNzEsIDQ4LCA1MCwgNTAsIDEyOCwgNzEsIDQ4LCAKLSAgICA1MCwgNDksIDEyOCwgNzEsIDQ4LCA1MCwgNDgsIDY1LCAxMjgsIDcxLCA0OCwgNTAsIDQ4LCAxMjgsIDcxLCA0OCwgNDksIAotICAgIDU3LCAxMjgsIDcxLCA0OCwgNDksIDU2LCAxMjgsIDcxLCA0OCwgNDksIDU1LCAxMjgsIDcxLCA0OCwgNDksIDU0LCAxMjgsIAotICAgIDcxLCA0OCwgNDksIDUzLCAxMjgsIDcxLCA0OCwgNDksIDUyLCAxMjgsIDcxLCA0OCwgNDksIDUxLCAxMjgsIDcxLCA0OCwgCi0gICAgNDksIDUwLCAxMjgsIDcxLCA0OCwgNDksIDQ5LCA2NSwgMTI4LCA3MSwgNDgsIDQ5LCA0OSwgMTI4LCA3MSwgNDgsIDQ5LCAKLSAgICA0OCwgMTI4LCA3MSwgNDgsIDQ4LCA1NywgMTI4LCA3MSwgNDgsIDQ4LCA1NiwgMTI4LCA3MSwgNDgsIDQ4LCA1NSwgNjYsIAotICAgIDEyOCwgNzEsIDQ4LCA0OCwgNTUsIDY1LCAxMjgsIDcxLCA0OCwgNDgsIDU1LCAxMjgsIDcxLCA0OCwgNDgsIDU0LCA2NSwgCi0gICAgMTI4LCA3MSwgNDgsIDQ4LCA1NCwgMTI4LCA3MSwgNDgsIDQ4LCA1MywgMTI4LCA3MSwgNDgsIDQ4LCA1MiwgMTI4LCA3MSwgCi0gICAgNDgsIDQ4LCA1MSwgMTI4LCA3MSwgNDgsIDQ4LCA1MCwgMTI4LCA3MSwgNDgsIDQ4LCA0OSwgMTI4LCA3MCwgODksIDg4LCAKLSAgICAxMjgsIDcwLCA4OSwgODQsIDEyOCwgNzAsIDg5LCA4MCwgMTI4LCA3MCwgODksIDY1LCAxMjgsIDcwLCA4NywgNzMsIDEyOCwgCi0gICAgNzAsIDg3LCA2OSwgNjksIDEyOCwgNzAsIDg3LCA2OSwgMTI4LCA3MCwgODcsIDY1LCA2NSwgMTI4LCA3MCwgODcsIDY1LCAKLSAgICAxMjgsIDcwLCA4NiwgODMsIDUxLCAxMjgsIDcwLCA4NiwgODMsIDUwLCAxMjgsIDcwLCA4NiwgODMsIDQ5LCAxMjgsIDcwLCAKLSAgICA4NSwgODgsIDEyOCwgNzAsIDg1LCA4NCwgMTI4LCA3MCwgODUsIDgzLCA2OSwgMTI4LCA3MCwgODUsIDgzLCAxOTMsIDcwLCAKLSAgICA4NSwgODIsIDg4LCAxMjgsIDcwLCA4NSwgODAsIDEyOCwgNzAsIDg1LCA3OCwgNjksIDgyLCA2NSwgMjA0LCA3MCwgODUsIAotICAgIDc4LCA2NywgODQsIDczLCA3OSwgNzgsIDY1LCAyMDQsIDcwLCA4NSwgNzgsIDY3LCA4NCwgNzMsIDc5LCA3OCwgMTI4LCA3MCwgCi0gICAgODUsIDc2LCA3NiwgNzgsIDY5LCA4MywgODMsIDEyOCwgNzAsIDg1LCA3NiwgMjA0LCA3MCwgODUsIDc0LCA3MywgMTI4LCAKLSAgICA3MCwgODUsIDY5LCA4NCwgMTI4LCA3MCwgODUsIDY5LCAyMDQsIDcwLCA4NSwgNjksIDEyOCwgNzAsIDg0LCA3MiwgNzksIAotICAgIDgyLCAxOTMsIDcwLCA4MywgNzMsIDEyOCwgNzAsIDgyLCA3OSwgODcsIDc4LCA3MywgNzgsIDcxLCAxMjgsIDcwLCA4MiwgCi0gICAgNzksIDg3LCA3OCwgNzMsIDc4LCAxOTksIDcwLCA4MiwgNzksIDg3LCA3OCwgMTI4LCA3MCwgODIsIDc5LCA3OCwgODQsIDQ1LCAKLSAgICA4NCwgNzMsIDc2LCA4NCwgNjksIDE5NiwgNzAsIDgyLCA3OSwgNzgsIDg0LCA0NSwgNzAsIDY1LCA2NywgNzMsIDc4LCAxOTksIAotICAgIDcwLCA4MiwgNzksIDIwNSwgNzAsIDgyLCA3OSwgNzEsIDEyOCwgNzAsIDgyLCA3OSwgMTk5LCA3MCwgODIsIDczLCA4NCwgCi0gICAgODUsIDEyOCwgNzAsIDgyLCA3MywgNjksIDgzLCAxMjgsIDcwLCA4MiwgNzMsIDY5LCAxOTYsIDcwLCA4MiwgNzMsIDY3LCAKLSAgICA2NSwgODQsIDczLCA4NiwgNjksIDEyOCwgNzAsIDgyLCA2OSwgODQsIDY2LCA3OSwgNjUsIDgyLCA2OCwgMTI4LCA3MCwgODIsIAotICAgIDY5LCA3OCwgNjcsIDIwMCwgNzAsIDgyLCA2OSwgNjksIDEyOCwgNzAsIDgyLCA2OSwgMTk3LCA3MCwgODIsIDY1LCA3OCwgCi0gICAgMTk1LCA3MCwgODIsIDY1LCA3NywgNjksIDEyOCwgNzAsIDgyLCA2NSwgNzEsIDgyLCA2NSwgNzgsIDg0LCAxMjgsIDcwLCAKLSAgICA4MiwgNjUsIDcxLCA3NywgNjksIDc4LCA4NCwgMTI4LCA3MCwgODIsIDY1LCA2NywgODQsIDczLCA3OSwgMjA2LCA3MCwgNzksIAotICAgIDg4LCAxMjgsIDcwLCA3OSwgODUsIDgyLCA4NCwgNjksIDY5LCA3OCwgMTI4LCA3MCwgNzksIDg1LCA4MiwgODQsIDY5LCA2OSwgCi0gICAgMjA2LCA3MCwgNzksIDg1LCA4MiwgNDUsIDg0LCA3MiwgNzMsIDgyLCA4NCwgODksIDEyOCwgNzAsIDc5LCA4NSwgODIsIDQ1LCAKLSAgICA4MywgODQsIDgyLCA3MywgNzgsIDE5OSwgNzAsIDc5LCA4NSwgODIsIDQ1LCA4MCwgNjksIDgyLCA0NSwgNjksIDIwNSwgNzAsIAotICAgIDc5LCA4NSwgODIsIDQ1LCA3NiwgNzMsIDc4LCAxOTcsIDcwLCA3OSwgODUsIDIxMCwgNzAsIDc5LCA4NSwgNzgsIDg0LCA2NSwgCi0gICAgNzMsIDc4LCAxMjgsIDcwLCA3OSwgODMsIDg0LCA2OSwgODIsIDczLCA3OCwgNzEsIDEyOCwgNzAsIDc5LCA4MiwgODcsIDY1LCAKLSAgICA4MiwgNjgsIDEyOCwgNzAsIDc5LCA4MiwgODQsIDg5LCAxMjgsIDcwLCA3OSwgODIsIDg0LCAyMTcsIDcwLCA3OSwgODIsIAotICAgIDg0LCA2OSwgMTI4LCA3MCwgNzksIDgyLCA3NywgMjExLCA3MCwgNzksIDgyLCA3NywgNjUsIDg0LCA4NCwgNzMsIDc4LCA3MSwgCi0gICAgMTI4LCA3MCwgNzksIDgyLCA3NSwgNjksIDE5NiwgNzAsIDc5LCA4MiwgNjcsIDY5LCA4MywgMTI4LCA3MCwgNzksIDgyLCAKLSAgICA2NywgNjksIDEyOCwgNzAsIDc5LCA4MCwgMTI4LCA3MCwgNzksIDc5LCA4NCwgODMsIDg0LCA3OSwgNzksIDc2LCAxMjgsIAotICAgIDcwLCA3OSwgNzksIDg0LCA4MCwgODIsIDczLCA3OCwgODQsIDgzLCAxMjgsIDcwLCA3OSwgNzksIDg0LCA3OCwgNzksIDg0LCAKLSAgICAxOTcsIDcwLCA3OSwgNzksIDg0LCA2NiwgNjUsIDc2LCA3NiwgMTI4LCA3MCwgNzksIDc5LCA4NCwgMTI4LCA3MCwgNzksIAotICAgIDc5LCA2OCwgMTI4LCA3MCwgNzksIDc5LCAxMjgsIDcwLCA3OSwgNzgsIDcxLCA3NywgNjUsIDc4LCAxMjgsIDcwLCA3OSwgCi0gICAgNzcsIDEyOCwgNzAsIDc5LCA3NiwgNzYsIDg5LCAxMjgsIDcwLCA3OSwgNzYsIDc2LCA3OSwgODcsIDczLCA3OCwgNzEsIAotICAgIDEyOCwgNzAsIDc5LCA3NiwgNjgsIDY5LCA4MiwgMTI4LCA3MCwgNzksIDc2LCA2OCwgNjksIDE5NiwgNzAsIDc5LCA3MSwgCi0gICAgNzEsIDg5LCAxMjgsIDcwLCAyMDcsIDcwLCA3NywgMTI4LCA3MCwgNzYsIDg5LCAxMjgsIDcwLCA3NiwgODUsIDg0LCA4NCwgCi0gICAgNjksIDgyLCA3MywgNzgsIDE5OSwgNzAsIDc2LCA4NSwgODQsIDY5LCAxMjgsIDcwLCA3NiwgODUsIDgzLCA3MiwgNjksIAotICAgIDE5NiwgNzAsIDc2LCA3OSwgODcsIDczLCA3OCwgMTk5LCA3MCwgNzYsIDc5LCA4NywgNjksIDIxMCwgNzAsIDc2LCA3OSwgCi0gICAgODUsIDgyLCA3MywgODMsIDcyLCAxMjgsIDcwLCA3NiwgNzksIDgyLCA2OSwgODQsIDg0LCA2OSwgMTI4LCA3MCwgNzYsIDc5LCAKLSAgICA4MiwgNjUsIDIwNCwgNzAsIDc2LCA3OSwgODAsIDgwLCAyMTcsIDcwLCA3NiwgNzksIDc5LCA4MiwgMTI4LCA3MCwgNzYsIAotICAgIDczLCA4MCwgMTI4LCA3MCwgNzYsIDczLCA3MSwgNzIsIDg0LCAxMjgsIDcwLCA3NiwgNjksIDg4LCA4NSwgODMsIDEyOCwgCi0gICAgNzAsIDc2LCA2OSwgODgsIDY5LCAxOTYsIDcwLCA3NiwgNjksIDg1LCA4MiwgNDUsIDY4LCA2OSwgNDUsIDc2LCA3MywgODMsIAotICAgIDEyOCwgNzAsIDc2LCA2NSwgODQsIDg0LCA2OSwgNzgsIDY5LCAxOTYsIDcwLCA3NiwgNjUsIDg0LCA3OCwgNjksIDgzLCA4MywgCi0gICAgMTI4LCA3MCwgNzYsIDY1LCA4NCwgMTI4LCA3MCwgNzYsIDY1LCAyMTIsIDcwLCA3NiwgNjUsIDcxLCA4MywgMTI4LCA3MCwgCi0gICAgNzYsIDY1LCA3MSwgNDUsIDUzLCAxMjgsIDcwLCA3NiwgNjUsIDcxLCA0NSwgNTIsIDEyOCwgNzAsIDc2LCA2NSwgNzEsIDQ1LCAKLSAgICA1MSwgMTI4LCA3MCwgNzYsIDY1LCA3MSwgNDUsIDUwLCAxMjgsIDcwLCA3NiwgNjUsIDcxLCA0NSwgNDksIDEyOCwgNzAsIAotICAgIDc2LCA2NSwgNzEsIDEyOCwgNzAsIDc2LCA2NSwgMTk5LCA3MCwgNzYsIDY1LCAxMjgsIDcwLCA3NiwgMTI4LCA3MCwgNzMsIAotICAgIDg4LCA2OSwgNjgsIDQ1LCA3MCwgNzksIDgyLCAyMDUsIDcwLCA3MywgODgsIDEyOCwgNzAsIDczLCA4NiwgNjksIDQ1LCA4NCwgCi0gICAgNzIsIDczLCA4MiwgODQsIDg5LCAxMjgsIDcwLCA3MywgODYsIDY5LCA0NSwgNzYsIDczLCA3OCwgMTk3LCA3MCwgNzMsIDg2LCAKLSAgICAxOTcsIDcwLCA3MywgODQsIDY1LCAxMjgsIDcwLCA3MywgODQsIDEyOCwgNzAsIDczLCA4MywgODQsIDY5LCAxOTYsIDcwLCAKLSAgICA3MywgODMsIDg0LCAxMjgsIDcwLCA3MywgODMsIDcyLCA3MywgNzgsIDE5OSwgNzAsIDczLCA4MywgNzIsIDcyLCA3OSwgNzksIAotICAgIDc1LCAxMjgsIDcwLCA3MywgODMsIDcyLCA3MiwgNzksIDc5LCAyMDMsIDcwLCA3MywgODMsIDcyLCA2OSwgODksIDY5LCAKKyAgICAxMjgsIDcxLCA3MiwgNjUsIDc3LCA3NywgNjUsIDEyOCwgNzEsIDcyLCA2NSwgNzcsIDY1LCA3NiwgMTI4LCA3MSwgNzIsIAorICAgIDY1LCA3MywgNzgsIDg1LCAxMjgsIDcxLCA3MiwgNjUsIDczLCA3OCwgMTI4LCA3MSwgNzIsIDY1LCA3MywgMjA2LCA3MSwgCisgICAgNzIsIDY1LCA2OCwgMTI4LCA3MSwgNzIsIDY1LCA2NSwgNzcsIDY1LCA2OSwgMTI4LCA3MSwgNzIsIDY1LCA2NSwgMTI4LCAKKyAgICA3MSwgNzEsIDg3LCA3MywgMTI4LCA3MSwgNzEsIDg3LCA2OSwgNjksIDEyOCwgNzEsIDcxLCA4NywgNjksIDEyOCwgNzEsIAorICAgIDcxLCA4NywgNjUsIDY1LCAxMjgsIDcxLCA3MSwgODcsIDY1LCAxMjgsIDcxLCA3MSwgODUsIDg4LCAxMjgsIDcxLCA3MSwgCisgICAgODUsIDg0LCAxMjgsIDcxLCA3MSwgODUsIDgyLCA4OCwgMTI4LCA3MSwgNzEsIDg1LCA4MiwgMTI4LCA3MSwgNzEsIDg1LCAKKyAgICA3OSwgODgsIDEyOCwgNzEsIDcxLCA4NSwgNzksIDg0LCAxMjgsIDcxLCA3MSwgODUsIDc5LCA4MCwgMTI4LCA3MSwgNzEsIAorICAgIDg1LCA3OSwgMTI4LCA3MSwgNzEsIDc5LCA4OCwgMTI4LCA3MSwgNzEsIDc5LCA4NCwgMTI4LCA3MSwgNzEsIDc5LCA4MCwgCisgICAgMTI4LCA3MSwgNzEsIDczLCA4OCwgMTI4LCA3MSwgNzEsIDczLCA4NCwgMTI4LCA3MSwgNzEsIDczLCA2OSwgODgsIDEyOCwgCisgICAgNzEsIDcxLCA3MywgNjksIDgwLCAxMjgsIDcxLCA3MSwgNzMsIDY5LCAxMjgsIDcxLCA3MSwgNjksIDg4LCAxMjgsIDcxLCAKKyAgICA3MSwgNjksIDg0LCAxMjgsIDcxLCA3MSwgNjksIDgwLCAxMjgsIDcxLCA3MSwgNjUsIDg4LCAxMjgsIDcxLCA3MSwgNjUsIAorICAgIDg0LCAxMjgsIDcxLCA2OSwgODQsIDE5MywgNzEsIDY5LCA4MywgODQsIDg1LCA4MiwgNjksIDEyOCwgNzEsIDY5LCA4MywgCisgICAgNzIsIDg1LCAxMjgsIDcxLCA2OSwgODMsIDcyLCA4NCwgNzMsIDc4LCAxMjgsIDcxLCA2OSwgODMsIDcyLCA4NCwgNzMsIAorICAgIDIwNiwgNzEsIDY5LCA4MywgNzIsIDUwLCAxMjgsIDcxLCA2OSwgODIsIDgzLCA3MiwgNjUsIDg5LCA3MywgNzcsIDEyOCwgCisgICAgNzEsIDY5LCA4MiwgNzcsIDY1LCAyMDYsIDcxLCA2OSwgODIsIDY5LCA4MywgNzIsIDEyOCwgNzEsIDY5LCA4MiwgNjksIDgzLCAKKyAgICAyMDAsIDcxLCA2OSwgNzksIDc3LCA2OSwgODQsIDgyLCA3MywgNjcsIDY1LCA3NiwgNzYsIDIxNywgNzEsIDY5LCA3OSwgNzcsIAorICAgIDY5LCA4NCwgODIsIDczLCAxOTUsIDcxLCA2OSwgNzgsIDg0LCA3NiwgMTk3LCA3MSwgNjksIDc4LCA3MywgODQsIDczLCA4NiwgCisgICAgNjksIDEyOCwgNzEsIDY5LCA3OCwgNzMsIDc1LCAyMDEsIDcxLCA2OSwgNzgsIDY5LCA4MiwgNzMsIDE5NSwgNzEsIDY5LCAKKyAgICA3NywgNzMsIDc4LCA3MywgMTI4LCA3MSwgNjksIDc3LCA3MywgNzgsIDY1LCA4NCwgNzMsIDc5LCAyMDYsIDcxLCA2OSwgCisgICAgMjA1LCA3MSwgNjksIDY5LCA3NywgMTI4LCA3MSwgNjksIDY4LCA3OSwgNzYsIDY1LCAxMjgsIDcxLCA2OSwgNjgsIDY5LCAKKyAgICAxMjgsIDcxLCA2OSwgNjYsIDIwNywgNzEsIDY5LCA2NiwgMTkzLCA3MSwgNjksIDY1LCA4MiwgMTI4LCA3MSwgNjksIDY1LCAKKyAgICAyMTAsIDcxLCA2OSwgNTAsIDUwLCAxMjgsIDcxLCA2OCwgNjUsIDc4LCAxMjgsIDcxLCA2NywgNzMsIDcxLCAxMjgsIDcxLCAKKyAgICA2NywgNjUsIDIwNiwgNzEsIDY2LCA3OSwgNzgsIDEyOCwgNzEsIDY2LCA3MywgNjksIDE5NywgNzEsIDY2LCA2OSwgODUsIAorICAgIDg4LCAxMjgsIDcxLCA2NiwgNjksIDg0LCAxMjgsIDcxLCA2NiwgNjUsIDg5LCA3MywgMTI4LCA3MSwgNjYsIDY1LCA3NSwgCisgICAgODUsIDgyLCA4NSwgNzgsIDY5LCA3OCwgMTI4LCA3MSwgNjYsIDEyOCwgNzEsIDY1LCA4OSwgNjUsIDc4LCA4NSwgNzUsIDczLCAKKyAgICA4NCwgODQsIDY1LCAxMjgsIDcxLCA2NSwgODksIDY1LCA3OCwgNzgsIDY1LCAxMjgsIDcxLCA2NSwgODksIDEyOCwgNzEsIAorICAgIDY1LCA4NSwgNzgsIDg0LCA3NiwgNjksIDg0LCAxMjgsIDcxLCA2NSwgODQsIDcyLCA2OSwgODIsIDczLCA3OCwgNzEsIDEyOCwgCisgICAgNzEsIDY1LCA4NCwgNzIsIDY5LCA4MiwgNzMsIDc4LCAxOTksIDcxLCA2NSwgODQsIDY5LCAxMjgsIDcxLCA2NSwgODMsIDcyLCAKKyAgICA2NSwgNzgsIDEyOCwgNzEsIDY1LCA4MiwgODMsIDcyLCA4NSwgNzgsIDczLCAxMjgsIDcxLCA2NSwgODIsIDc5LCA3OCwgCisgICAgMTI4LCA3MSwgNjUsIDgyLCA3NywgNjksIDc4LCA4NCwgMTI4LCA3MSwgNjUsIDgyLCA2OCwgNjksIDc4LCAxMjgsIDcxLCAKKyAgICA2NSwgODIsIDUxLCAxMjgsIDcxLCA2NSwgODAsIDgwLCA2OSwgMTk2LCA3MSwgNjUsIDIwOCwgNzEsIDY1LCA3OCwgNzcsIAorICAgIDY1LCAxMjgsIDcxLCA2NSwgNzgsIDcxLCA3MywgNjUsIDEyOCwgNzEsIDY1LCA3OCwgNjgsIDE5MywgNzEsIDY1LCA3OCwgCisgICAgNTAsIDEyOCwgNzEsIDY1LCA3OCwgMTc4LCA3MSwgNjUsIDc3LCA3NywgNjUsIDEyOCwgNzEsIDY1LCA3NywgNzYsIDY1LCAKKyAgICAxMjgsIDcxLCA2NSwgNzcsIDc2LCAxMjgsIDcxLCA2NSwgNzcsIDY5LCAxMjgsIDcxLCA2NSwgNzcsIDE5NywgNzEsIDY1LCAKKyAgICA3NywgNjUsIDc4LCAxMjgsIDcxLCA2NSwgNzcsIDY1LCA3NiwgMTI4LCA3MSwgNjUsIDc3LCA2NSwgMjA0LCA3MSwgNjUsIAorICAgIDcxLCAxMjgsIDcxLCA2NSwgNzAsIDEyOCwgNzEsIDY1LCAxOTgsIDcxLCA2NSwgNjksIDg0LCA4NCwgNjUsIDQ1LCA4MCwgCisgICAgNzMsIDc2LCA3NiwgNjUsIDEyOCwgNzEsIDY1LCA2OCwgNzksIDc2LCAxMjgsIDcxLCA2NSwgNjgsIDEyOCwgNzEsIDY1LCAKKyAgICAxOTYsIDcxLCA2NSwgNjYsIDY1LCAxMjgsIDcxLCA2NSwgNjYsIDE5MywgNzEsIDY1LCA2NSwgNzAsIDg1LCAxMjgsIDcxLCAKKyAgICA2NSwgMTc4LCA3MSwgNDgsIDUzLCA1MiwgMTI4LCA3MSwgNDgsIDUzLCA1MSwgMTI4LCA3MSwgNDgsIDUzLCA1MCwgMTI4LCAKKyAgICA3MSwgNDgsIDUzLCA0OSwgMTI4LCA3MSwgNDgsIDUzLCA0OCwgMTI4LCA3MSwgNDgsIDUyLCA1NywgMTI4LCA3MSwgNDgsIAorICAgIDUyLCA1NiwgMTI4LCA3MSwgNDgsIDUyLCA1NSwgMTI4LCA3MSwgNDgsIDUyLCA1NCwgMTI4LCA3MSwgNDgsIDUyLCA1MywgCisgICAgNjUsIDEyOCwgNzEsIDQ4LCA1MiwgNTMsIDEyOCwgNzEsIDQ4LCA1MiwgNTIsIDEyOCwgNzEsIDQ4LCA1MiwgNTEsIDY1LCAKKyAgICAxMjgsIDcxLCA0OCwgNTIsIDUxLCAxMjgsIDcxLCA0OCwgNTIsIDUwLCAxMjgsIDcxLCA0OCwgNTIsIDQ5LCAxMjgsIDcxLCAKKyAgICA0OCwgNTIsIDQ4LCAxMjgsIDcxLCA0OCwgNTEsIDU3LCAxMjgsIDcxLCA0OCwgNTEsIDU2LCAxMjgsIDcxLCA0OCwgNTEsIAorICAgIDU1LCA2NSwgMTI4LCA3MSwgNDgsIDUxLCA1NSwgMTI4LCA3MSwgNDgsIDUxLCA1NCwgNjUsIDEyOCwgNzEsIDQ4LCA1MSwgCisgICAgNTQsIDEyOCwgNzEsIDQ4LCA1MSwgNTMsIDEyOCwgNzEsIDQ4LCA1MSwgNTIsIDEyOCwgNzEsIDQ4LCA1MSwgNTEsIDEyOCwgCisgICAgNzEsIDQ4LCA1MSwgNTAsIDEyOCwgNzEsIDQ4LCA1MSwgNDksIDEyOCwgNzEsIDQ4LCA1MSwgNDgsIDEyOCwgNzEsIDQ4LCAKKyAgICA1MCwgNTcsIDEyOCwgNzEsIDQ4LCA1MCwgNTYsIDEyOCwgNzEsIDQ4LCA1MCwgNTUsIDEyOCwgNzEsIDQ4LCA1MCwgNTQsIAorICAgIDY1LCAxMjgsIDcxLCA0OCwgNTAsIDU0LCAxMjgsIDcxLCA0OCwgNTAsIDUzLCAxMjgsIDcxLCA0OCwgNTAsIDUyLCAxMjgsIAorICAgIDcxLCA0OCwgNTAsIDUxLCAxMjgsIDcxLCA0OCwgNTAsIDUwLCAxMjgsIDcxLCA0OCwgNTAsIDQ5LCAxMjgsIDcxLCA0OCwgCisgICAgNTAsIDQ4LCA2NSwgMTI4LCA3MSwgNDgsIDUwLCA0OCwgMTI4LCA3MSwgNDgsIDQ5LCA1NywgMTI4LCA3MSwgNDgsIDQ5LCAKKyAgICA1NiwgMTI4LCA3MSwgNDgsIDQ5LCA1NSwgMTI4LCA3MSwgNDgsIDQ5LCA1NCwgMTI4LCA3MSwgNDgsIDQ5LCA1MywgMTI4LCAKKyAgICA3MSwgNDgsIDQ5LCA1MiwgMTI4LCA3MSwgNDgsIDQ5LCA1MSwgMTI4LCA3MSwgNDgsIDQ5LCA1MCwgMTI4LCA3MSwgNDgsIAorICAgIDQ5LCA0OSwgNjUsIDEyOCwgNzEsIDQ4LCA0OSwgNDksIDEyOCwgNzEsIDQ4LCA0OSwgNDgsIDEyOCwgNzEsIDQ4LCA0OCwgCisgICAgNTcsIDEyOCwgNzEsIDQ4LCA0OCwgNTYsIDEyOCwgNzEsIDQ4LCA0OCwgNTUsIDY2LCAxMjgsIDcxLCA0OCwgNDgsIDU1LCAKKyAgICA2NSwgMTI4LCA3MSwgNDgsIDQ4LCA1NSwgMTI4LCA3MSwgNDgsIDQ4LCA1NCwgNjUsIDEyOCwgNzEsIDQ4LCA0OCwgNTQsIAorICAgIDEyOCwgNzEsIDQ4LCA0OCwgNTMsIDEyOCwgNzEsIDQ4LCA0OCwgNTIsIDEyOCwgNzEsIDQ4LCA0OCwgNTEsIDEyOCwgNzEsIAorICAgIDQ4LCA0OCwgNTAsIDEyOCwgNzEsIDQ4LCA0OCwgNDksIDEyOCwgNzAsIDg5LCA4OCwgMTI4LCA3MCwgODksIDg0LCAxMjgsIAorICAgIDcwLCA4OSwgODAsIDEyOCwgNzAsIDg5LCA2NSwgMTI4LCA3MCwgODcsIDczLCAxMjgsIDcwLCA4NywgNjksIDY5LCAxMjgsIAorICAgIDcwLCA4NywgNjksIDEyOCwgNzAsIDg3LCA2NSwgNjUsIDEyOCwgNzAsIDg3LCA2NSwgMTI4LCA3MCwgODYsIDgzLCA1MSwgCisgICAgMTI4LCA3MCwgODYsIDgzLCA1MCwgMTI4LCA3MCwgODYsIDgzLCA0OSwgMTI4LCA3MCwgODUsIDg4LCAxMjgsIDcwLCA4NSwgCisgICAgODQsIDEyOCwgNzAsIDg1LCA4MywgNjksIDEyOCwgNzAsIDg1LCA4MywgMTkzLCA3MCwgODUsIDgyLCA4OCwgMTI4LCA3MCwgCisgICAgODUsIDgwLCAxMjgsIDcwLCA4NSwgNzgsIDY5LCA4MiwgNjUsIDIwNCwgNzAsIDg1LCA3OCwgNjcsIDg0LCA3MywgNzksIDc4LCAKKyAgICA2NSwgMjA0LCA3MCwgODUsIDc4LCA2NywgODQsIDczLCA3OSwgNzgsIDEyOCwgNzAsIDg1LCA3NiwgNzYsIDc4LCA2OSwgODMsIAorICAgIDgzLCAxMjgsIDcwLCA4NSwgNzYsIDIwNCwgNzAsIDg1LCA3NCwgNzMsIDEyOCwgNzAsIDg1LCA2OSwgODQsIDEyOCwgNzAsIAorICAgIDg1LCA2OSwgMjA0LCA3MCwgODUsIDY5LCAxMjgsIDcwLCA4NSwgNjUsIDEyOCwgNzAsIDg0LCA3MiwgNzksIDgyLCAxOTMsIAorICAgIDcwLCA4MywgNzMsIDEyOCwgNzAsIDgyLCA3OSwgODcsIDc4LCA3MywgNzgsIDcxLCAxMjgsIDcwLCA4MiwgNzksIDg3LCA3OCwgCisgICAgNzMsIDc4LCAxOTksIDcwLCA4MiwgNzksIDg3LCA3OCwgMTI4LCA3MCwgODIsIDc5LCA3OCwgODQsIDQ1LCA4NCwgNzMsIDc2LCAKKyAgICA4NCwgNjksIDE5NiwgNzAsIDgyLCA3OSwgNzgsIDg0LCA0NSwgNzAsIDY1LCA2NywgNzMsIDc4LCAxOTksIDcwLCA4MiwgNzksIAorICAgIDIwNSwgNzAsIDgyLCA3OSwgNzEsIDEyOCwgNzAsIDgyLCA3OSwgMTk5LCA3MCwgODIsIDczLCA4NCwgODUsIDEyOCwgNzAsIAorICAgIDgyLCA3MywgNjksIDgzLCAxMjgsIDcwLCA4MiwgNzMsIDY5LCAxOTYsIDcwLCA4MiwgNzMsIDY3LCA2NSwgODQsIDczLCA4NiwgCisgICAgNjksIDEyOCwgNzAsIDgyLCA2OSwgODQsIDY2LCA3OSwgNjUsIDgyLCA2OCwgMTI4LCA3MCwgODIsIDY5LCA3OCwgNjcsIAorICAgIDIwMCwgNzAsIDgyLCA2OSwgNjksIDEyOCwgNzAsIDgyLCA2OSwgMTk3LCA3MCwgODIsIDY1LCA3OCwgNzUsIDIxMSwgNzAsIAorICAgIDgyLCA2NSwgNzgsIDE5NSwgNzAsIDgyLCA2NSwgNzcsIDY5LCA4MywgMTI4LCA3MCwgODIsIDY1LCA3NywgNjksIDEyOCwgCisgICAgNzAsIDgyLCA2NSwgNzcsIDE5NywgNzAsIDgyLCA2NSwgNzEsIDgyLCA2NSwgNzgsIDg0LCAxMjgsIDcwLCA4MiwgNjUsIDcxLCAKKyAgICA3NywgNjksIDc4LCA4NCwgMTI4LCA3MCwgODIsIDY1LCA2NywgODQsIDczLCA3OSwgMjA2LCA3MCwgNzksIDg4LCAxMjgsIAorICAgIDcwLCA3OSwgODUsIDgyLCA4NCwgNjksIDY5LCA3OCwgMTI4LCA3MCwgNzksIDg1LCA4MiwgODQsIDY5LCA2OSwgMjA2LCA3MCwgCisgICAgNzksIDg1LCA4MiwgNDUsIDg0LCA3MiwgNzMsIDgyLCA4NCwgODksIDEyOCwgNzAsIDc5LCA4NSwgODIsIDQ1LCA4MywgODQsIAorICAgIDgyLCA3MywgNzgsIDE5OSwgNzAsIDc5LCA4NSwgODIsIDQ1LCA4MCwgNjksIDgyLCA0NSwgNjksIDIwNSwgNzAsIDc5LCA4NSwgCisgICAgODIsIDQ1LCA3NiwgNzMsIDc4LCAxOTcsIDcwLCA3OSwgODUsIDIxMCwgNzAsIDc5LCA4NSwgNzgsIDg0LCA2NSwgNzMsIDc4LCAKKyAgICAxMjgsIDcwLCA3OSwgODUsIDc4LCA4NCwgNjUsIDczLCAyMDYsIDcwLCA3OSwgODMsIDg0LCA2OSwgODIsIDczLCA3OCwgNzEsIAorICAgIDEyOCwgNzAsIDc5LCA4MiwgODcsIDY1LCA4MiwgNjgsIDEyOCwgNzAsIDc5LCA4MiwgODQsIDg5LCAxMjgsIDcwLCA3OSwgCisgICAgODIsIDg0LCAyMTcsIDcwLCA3OSwgODIsIDg0LCA2OSwgMTI4LCA3MCwgNzksIDgyLCA3NywgMjExLCA3MCwgNzksIDgyLCAKKyAgICA3NywgNjUsIDg0LCA4NCwgNzMsIDc4LCA3MSwgMTI4LCA3MCwgNzksIDgyLCA3NywgNjUsIDIxMiwgNzAsIDc5LCA4MiwgNzUsIAorICAgIDY5LCAxOTYsIDcwLCA3OSwgODIsIDY3LCA2OSwgODMsIDEyOCwgNzAsIDc5LCA4MiwgNjcsIDY5LCAxMjgsIDcwLCA3OSwgCisgICAgODAsIDEyOCwgNzAsIDc5LCA3OSwgODQsIDgzLCA4NCwgNzksIDc5LCA3NiwgMTI4LCA3MCwgNzksIDc5LCA4NCwgODAsIDgyLCAKKyAgICA3MywgNzgsIDg0LCA4MywgMTI4LCA3MCwgNzksIDc5LCA4NCwgNzgsIDc5LCA4NCwgMTk3LCA3MCwgNzksIDc5LCA4NCwgNjYsIAorICAgIDY1LCA3NiwgNzYsIDEyOCwgNzAsIDc5LCA3OSwgODQsIDEyOCwgNzAsIDc5LCA3OSwgNzYsIDEyOCwgNzAsIDc5LCA3OSwgCisgICAgNjgsIDEyOCwgNzAsIDc5LCA3OSwgMTI4LCA3MCwgNzksIDc4LCAyMTIsIDcwLCA3OSwgNzgsIDcxLCA3NywgNjUsIDc4LCAKKyAgICAxMjgsIDcwLCA3OSwgNzcsIDEyOCwgNzAsIDc5LCA3NiwgNzYsIDg5LCAxMjgsIDcwLCA3OSwgNzYsIDc2LCA3OSwgODcsIAorICAgIDczLCA3OCwgNzEsIDEyOCwgNzAsIDc5LCA3NiwgNjgsIDY5LCA4MiwgMTI4LCA3MCwgNzksIDc2LCA2OCwgNjksIDE5NiwgCisgICAgNzAsIDc5LCA3MSwgNzEsIDg5LCAxMjgsIDcwLCA3OSwgNzEsIDEyOCwgNzAsIDIwNywgNzAsIDc3LCAxMjgsIDcwLCA3NiwgCisgICAgODksIDczLCA3OCwgMTk5LCA3MCwgNzYsIDg5LCAxMjgsIDcwLCA3NiwgODUsIDg0LCA4NCwgNjksIDgyLCA3MywgNzgsIAorICAgIDE5OSwgNzAsIDc2LCA4NSwgODQsIDY5LCAxMjgsIDcwLCA3NiwgODUsIDgzLCA3MiwgNjksIDE5NiwgNzAsIDc2LCA3OSwgCisgICAgODcsIDczLCA3OCwgMTk5LCA3MCwgNzYsIDc5LCA4NywgNjksIDgyLCA4MywgMTI4LCA3MCwgNzYsIDc5LCA4NywgNjksIAorICAgIDIxMCwgNzAsIDc2LCA3OSwgODUsIDgyLCA3MywgODMsIDcyLCAxMjgsIDcwLCA3NiwgNzksIDgyLCA2OSwgODQsIDg0LCA2OSwgCisgICAgMTI4LCA3MCwgNzYsIDc5LCA4MiwgNjUsIDIwNCwgNzAsIDc2LCA3OSwgODAsIDgwLCAyMTcsIDcwLCA3NiwgNzksIDc5LCAKKyAgICA4MiwgMTI4LCA3MCwgNzYsIDczLCA4MCwgMTI4LCA3MCwgNzYsIDczLCA3MSwgNzIsIDg0LCAxMjgsIDcwLCA3NiwgNjksIAorICAgIDg4LCA4NSwgODMsIDEyOCwgNzAsIDc2LCA2OSwgODgsIDY5LCAxOTYsIDcwLCA3NiwgNjksIDg1LCA4MiwgNzksIDc4LCAKKyAgICAxMjgsIDcwLCA3NiwgNjksIDg1LCA4MiwgNDUsIDY4LCA2OSwgNDUsIDc2LCA3MywgODMsIDEyOCwgNzAsIDc2LCA2NSwgODQsIAorICAgIDg0LCA2OSwgNzgsIDY5LCAxOTYsIDcwLCA3NiwgNjUsIDg0LCA3OCwgNjksIDgzLCA4MywgMTI4LCA3MCwgNzYsIDY1LCA4NCwgCisgICAgMTI4LCA3MCwgNzYsIDY1LCAyMTIsIDcwLCA3NiwgNjUsIDgzLCA3MiwgMTI4LCA3MCwgNzYsIDY1LCA3MSwgODMsIDEyOCwgCisgICAgNzAsIDc2LCA2NSwgNzEsIDQ1LCA1MywgMTI4LCA3MCwgNzYsIDY1LCA3MSwgNDUsIDUyLCAxMjgsIDcwLCA3NiwgNjUsIDcxLCAKKyAgICA0NSwgNTEsIDEyOCwgNzAsIDc2LCA2NSwgNzEsIDQ1LCA1MCwgMTI4LCA3MCwgNzYsIDY1LCA3MSwgNDUsIDQ5LCAxMjgsIAorICAgIDcwLCA3NiwgNjUsIDcxLCAxMjgsIDcwLCA3NiwgNjUsIDE5OSwgNzAsIDc2LCA2NSwgMTI4LCA3MCwgNzYsIDEyOCwgNzAsIAorICAgIDczLCA4OCwgNjksIDY4LCA0NSwgNzAsIDc5LCA4MiwgMjA1LCA3MCwgNzMsIDg4LCAxMjgsIDcwLCA3MywgODYsIDY5LCA0NSwgCisgICAgODQsIDcyLCA3MywgODIsIDg0LCA4OSwgMTI4LCA3MCwgNzMsIDg2LCA2OSwgNDUsIDc2LCA3MywgNzgsIDE5NywgNzAsIDczLCAKKyAgICA4NiwgMTk3LCA3MCwgNzMsIDg0LCA2NSwgMTI4LCA3MCwgNzMsIDg0LCAxMjgsIDcwLCA3MywgODMsIDg0LCA2OSwgMTk2LCAKKyAgICA3MCwgNzMsIDgzLCA4NCwgMTI4LCA3MCwgNzMsIDgzLCA3MiwgNzMsIDc4LCAxOTksIDcwLCA3MywgODMsIDcyLCA3MiwgNzksIAorICAgIDc5LCA3NSwgMTI4LCA3MCwgNzMsIDgzLCA3MiwgNzIsIDc5LCA3OSwgMjAzLCA3MCwgNzMsIDgzLCA3MiwgNjksIDg5LCA2OSwgCiAgICAgMTI4LCA3MCwgNzMsIDgzLCA3MiwgMTI4LCA3MCwgNzMsIDgzLCAyMDAsIDcwLCA3MywgODIsIDgzLCAyMTIsIDcwLCA3MywgCiAgICAgODIsIDczLCAxMjgsIDcwLCA3MywgODIsIDY5LCA4NywgNzksIDgyLCA3NSwgODMsIDEyOCwgNzAsIDczLCA4MiwgNjksIDg3LCAKICAgICA3OSwgODIsIDIwMywgNzAsIDczLCA4MiwgNjksIDEyOCwgNzAsIDczLCA4MiwgMTk3LCA3MCwgNzMsIDgwLCAxMjgsIDcwLCAKLSAgICA3MywgNzgsIDczLCA4NCwgMTk3LCA3MCwgNzMsIDc4LCA3MSwgNjksIDgyLCA3OCwgNjUsIDczLCA3NiwgODMsIDEyOCwgNzAsIAotICAgIDczLCA3OCwgNzEsIDY5LCA4MiwgNjksIDE5NiwgNzAsIDczLCA3OCwgNjUsIDc4LCA2NywgNzMsIDY1LCA3NiwgMTI4LCA3MCwgCi0gICAgNzMsIDc2LCA3NiwgNjksIDgyLCAxMjgsIDcwLCA3MywgNzYsIDc2LCA2OSwgMTk2LCA3MCwgNzMsIDc2LCA3NiwgMTI4LCAKLSAgICA3MCwgNzMsIDc2LCAyMDQsIDcwLCA3MywgNzYsIDE5NywgNzAsIDczLCA3MywgMTI4LCA3MCwgNzMsIDcxLCA4NSwgODIsIAotICAgIDY5LCA0NSwgNTEsIDEyOCwgNzAsIDczLCA3MSwgODUsIDgyLCA2OSwgNDUsIDUwLCAxMjgsIDcwLCA3MywgNzEsIDg1LCA4MiwgCi0gICAgNjksIDQ1LCA0OSwgMTI4LCA3MCwgNzMsIDcxLCA4NSwgODIsIDE5NywgNzAsIDczLCA3MSwgNzIsIDg0LCAxMjgsIDcwLCAKLSAgICA3MywgNzAsIDg0LCA4OSwgMTI4LCA3MCwgNzMsIDcwLCA4NCwgMjE3LCA3MCwgNzMsIDcwLCA4NCwgNzIsIDgzLCAxMjgsIAotICAgIDcwLCA3MywgNzAsIDg0LCA3MiwgMTI4LCA3MCwgNzMsIDcwLCA4NCwgNjksIDY5LCA3OCwgMTI4LCA3MCwgNzMsIDcwLCA4NCwgCi0gICAgNjksIDY5LCAyMDYsIDcwLCA3MywgNjksIDc2LCA2OCwgMTI4LCA3MCwgNzIsIDg0LCA3OSwgODIsIDE5MywgNzAsIDcwLCAKLSAgICA3NiwgMTI4LCA3MCwgNzAsIDczLCAxMjgsIDcwLCA2OSwgODUsIDg4LCAxMjgsIDcwLCA2OSwgODUsIDcwLCA2OSwgODUsIAotICAgIDY1LCA2OSwgODQsIDEyOCwgNzAsIDY5LCA4MywgODQsIDczLCA4NiwgNjUsIDc2LCAxMjgsIDcwLCA2OSwgODIsIDgyLCA4OSwgCi0gICAgMTI4LCA3MCwgNjksIDgyLCA4MiwgNzMsIDIxMSwgNzAsIDY5LCA4MiwgNzcsIDY1LCA4NCwgNjUsIDEyOCwgNzAsIDY5LCAKLSAgICA4MiwgNzcsIDY1LCA4NCwgMTkzLCA3MCwgNjksIDc5LCAyMDAsIDcwLCA2OSwgNzgsIDE5OSwgNzAsIDY5LCA3OCwgNjcsIAotICAgIDY5LCAxMjgsIDcwLCA2OSwgNzcsIDczLCA3OCwgNzMsIDc4LCAxOTcsIDcwLCA2OSwgNzcsIDY1LCA3NiwgNjksIDEyOCwgCi0gICAgNzAsIDY5LCA3NywgNjUsIDc2LCAxOTcsIDcwLCA2OSwgNzYsIDc2LCA3OSwgODcsIDgzLCA3MiwgNzMsIDgwLCAxMjgsIDcwLCAKLSAgICA2OSwgNzMsIDEyOCwgNzAsIDY5LCA3MiwgMjEzLCA3MCwgNjksIDcyLCAxMjgsIDcwLCA2OSwgMjAwLCA3MCwgNjksIDY5LCAKLSAgICA3OCwgNzEsIDEyOCwgNzAsIDY5LCA2OSwgNjgsIDEyOCwgNzAsIDY5LCA2OSwgMTk2LCA3MCwgNjksIDY5LCAxMjgsIDcwLCAKLSAgICA2OSwgNjYsIDgyLCA4NSwgNjUsIDgyLCA4OSwgMTI4LCA3MCwgNjksIDY1LCA4NCwgNzIsIDY5LCA4MiwgMTI4LCA3MCwgNjksIAotICAgIDY1LCA4NCwgNzIsIDY5LCAyMTAsIDcwLCA2OSwgNjUsIDgyLCA3OCwgMTI4LCA3MCwgNjksIDY1LCA4MiwgNzAsIDg1LCAKLSAgICAyMDQsIDcwLCA2OSwgNjUsIDgyLCAxMjgsIDcwLCA2NSwgODksIDY1LCA3OCwgNzgsIDY1LCAxMjgsIDcwLCA2NSwgODksIAotICAgIDEyOCwgNzAsIDY1LCA4OCwgMTI4LCA3MCwgNjUsIDIxNiwgNzAsIDY1LCA4NCwgNzMsIDcxLCA4NSwgNjksIDEyOCwgNzAsIAotICAgIDY1LCA4NCwgNzIsIDY5LCA4MiwgMTI4LCA3MCwgNjUsIDg0LCA3MiwgNjksIDIxMCwgNzAsIDY1LCA4NCwgNzIsIDY1LCA4NCwgCi0gICAgNjUsIDc4LCAxMjgsIDcwLCA2NSwgODQsIDcyLCA2NSwgODQsIDY1LCAyMDYsIDcwLCA2NSwgODQsIDcyLCA2NSwgMTI4LCAKLSAgICA3MCwgNjUsIDg0LCA3MiwgMTkzLCA3MCwgNjUsIDg0LCAxMjgsIDcwLCA2NSwgODIsIDgzLCAyMDEsIDcwLCA2NSwgODEsIAotICAgIDEyOCwgNzAsIDY1LCA4MCwgMTI4LCA3MCwgNjUsIDc4LCA3MSwgMTI4LCA3MCwgNjUsIDc4LCA2OSwgODIsIDc5LCA4MywgCi0gICAgNzMsIDIxMSwgNzAsIDY1LCA3OCwgMTI4LCA3MCwgNjUsIDc3LCA3MywgNzYsIDg5LCAxMjgsIDcwLCA2NSwgNzYsIDc2LCAKLSAgICA3MywgNzgsIDE5OSwgNzAsIDY1LCA3NiwgNzYsIDY5LCAyMDYsIDcwLCA2NSwgNzMsIDc2LCA4NSwgODIsIDY5LCAxMjgsIAotICAgIDcwLCA2NSwgNzMsIDcyLCA4NSwgMTI4LCA3MCwgNjUsIDcyLCA4MiwgNjksIDc4LCA3MiwgNjksIDczLCA4NCwgMTI4LCA3MCwgCi0gICAgNjUsIDY3LCA4NCwgNzksIDgyLCA4OSwgMTI4LCA3MCwgNjUsIDY3LCA4NCwgNzksIDIxMCwgNzAsIDY1LCA2NywgODMsIDczLCAKLSAgICA3NywgNzMsIDc2LCAxOTcsIDcwLCA2NSwgNjcsIDY5LCA0NSwgNTQsIDEyOCwgNzAsIDY1LCA2NywgNjksIDQ1LCA1MywgCi0gICAgMTI4LCA3MCwgNjUsIDY3LCA2OSwgNDUsIDUyLCAxMjgsIDcwLCA2NSwgNjcsIDY5LCA0NSwgNTEsIDEyOCwgNzAsIDY1LCAKLSAgICA2NywgNjksIDQ1LCA1MCwgMTI4LCA3MCwgNjUsIDY3LCA2OSwgNDUsIDQ5LCAxMjgsIDcwLCA2NSwgNjUsIDc3LCA2NSwgNjksIAotICAgIDEyOCwgNzAsIDY1LCA2NSwgNzMsIDEyOCwgNzAsIDY1LCA2NSwgNzAsIDg1LCAxMjgsIDcwLCA0OCwgNTMsIDUxLCAxMjgsIAotICAgIDcwLCA0OCwgNTMsIDUwLCAxMjgsIDcwLCA0OCwgNTMsIDQ5LCA2NywgMTI4LCA3MCwgNDgsIDUzLCA0OSwgNjYsIDEyOCwgCi0gICAgNzAsIDQ4LCA1MywgNDksIDY1LCAxMjgsIDcwLCA0OCwgNTMsIDQ5LCAxMjgsIDcwLCA0OCwgNTMsIDQ4LCAxMjgsIDcwLCAKLSAgICA0OCwgNTIsIDU3LCAxMjgsIDcwLCA0OCwgNTIsIDU2LCAxMjgsIDcwLCA0OCwgNTIsIDU1LCA2NSwgMTI4LCA3MCwgNDgsIAotICAgIDUyLCA1NSwgMTI4LCA3MCwgNDgsIDUyLCA1NCwgNjUsIDEyOCwgNzAsIDQ4LCA1MiwgNTQsIDEyOCwgNzAsIDQ4LCA1MiwgCi0gICAgNTMsIDY1LCAxMjgsIDcwLCA0OCwgNTIsIDUzLCAxMjgsIDcwLCA0OCwgNTIsIDUyLCAxMjgsIDcwLCA0OCwgNTIsIDUxLCAKLSAgICAxMjgsIDcwLCA0OCwgNTIsIDUwLCAxMjgsIDcwLCA0OCwgNTIsIDQ5LCAxMjgsIDcwLCA0OCwgNTIsIDQ4LCAxMjgsIDcwLCAKLSAgICA0OCwgNTEsIDU3LCAxMjgsIDcwLCA0OCwgNTEsIDU2LCA2NSwgMTI4LCA3MCwgNDgsIDUxLCA1NiwgMTI4LCA3MCwgNDgsIAotICAgIDUxLCA1NSwgNjUsIDEyOCwgNzAsIDQ4LCA1MSwgNTUsIDEyOCwgNzAsIDQ4LCA1MSwgNTQsIDEyOCwgNzAsIDQ4LCA1MSwgCi0gICAgNTMsIDEyOCwgNzAsIDQ4LCA1MSwgNTIsIDEyOCwgNzAsIDQ4LCA1MSwgNTEsIDEyOCwgNzAsIDQ4LCA1MSwgNTAsIDEyOCwgCi0gICAgNzAsIDQ4LCA1MSwgNDksIDY1LCAxMjgsIDcwLCA0OCwgNTEsIDQ5LCAxMjgsIDcwLCA0OCwgNTEsIDQ4LCAxMjgsIDcwLCAKLSAgICA0OCwgNTAsIDU3LCAxMjgsIDcwLCA0OCwgNTAsIDU2LCAxMjgsIDcwLCA0OCwgNTAsIDU1LCAxMjgsIDcwLCA0OCwgNTAsIAotICAgIDU0LCAxMjgsIDcwLCA0OCwgNTAsIDUzLCAxMjgsIDcwLCA0OCwgNTAsIDUyLCAxMjgsIDcwLCA0OCwgNTAsIDUxLCAxMjgsIAotICAgIDcwLCA0OCwgNTAsIDUwLCAxMjgsIDcwLCA0OCwgNTAsIDQ5LCA2NSwgMTI4LCA3MCwgNDgsIDUwLCA0OSwgMTI4LCA3MCwgCi0gICAgNDgsIDUwLCA0OCwgMTI4LCA3MCwgNDgsIDQ5LCA1NywgMTI4LCA3MCwgNDgsIDQ5LCA1NiwgMTI4LCA3MCwgNDgsIDQ5LCAKLSAgICA1NSwgMTI4LCA3MCwgNDgsIDQ5LCA1NCwgMTI4LCA3MCwgNDgsIDQ5LCA1MywgMTI4LCA3MCwgNDgsIDQ5LCA1MiwgMTI4LCAKLSAgICA3MCwgNDgsIDQ5LCA1MSwgNjUsIDEyOCwgNzAsIDQ4LCA0OSwgNTEsIDEyOCwgNzAsIDQ4LCA0OSwgNTAsIDEyOCwgNzAsIAotICAgIDQ4LCA0OSwgNDksIDEyOCwgNzAsIDQ4LCA0OSwgNDgsIDEyOCwgNzAsIDQ4LCA0OCwgNTcsIDEyOCwgNzAsIDQ4LCA0OCwgCi0gICAgNTYsIDEyOCwgNzAsIDQ4LCA0OCwgNTUsIDEyOCwgNzAsIDQ4LCA0OCwgNTQsIDEyOCwgNzAsIDQ4LCA0OCwgNTMsIDEyOCwgCi0gICAgNzAsIDQ4LCA0OCwgNTIsIDEyOCwgNzAsIDQ4LCA0OCwgNTEsIDEyOCwgNzAsIDQ4LCA0OCwgNTAsIDEyOCwgNzAsIDQ4LCAKLSAgICA0OCwgNDksIDY1LCAxMjgsIDcwLCA0OCwgNDgsIDQ5LCAxMjgsIDY5LCA5MCwgMjAwLCA2OSwgOTAsIDY5LCA3OCwgMTI4LCAKLSAgICA2OSwgOTAsIDY5LCAyMDYsIDY5LCA5MCwgMTI4LCA2OSwgODksIDY5LCA4MywgMTI4LCA2OSwgODksIDY5LCA3MSwgNzYsIAotICAgIDY1LCA4MywgODMsIDY5LCA4MywgMTI4LCA2OSwgODksIDY2LCA2OSwgODksIDcwLCA3MywgNzYsIDczLCAxMjgsIDY5LCA4OSwgCi0gICAgNjUsIDc4LCA3OCwgNjUsIDEyOCwgNjksIDg4LCA4NCwgODIsIDY1LCA4NCwgNjksIDgyLCA4MiwgNjksIDgzLCA4NCwgODIsIAotICAgIDczLCA2NSwgMjA0LCA2OSwgODgsIDg0LCA4MiwgNjUsIDQ1LCA3NiwgNzksIDIxNSwgNjksIDg4LCA4NCwgODIsIDY1LCA0NSwgCi0gICAgNzIsIDczLCA3MSwgMjAwLCA2OSwgODgsIDg0LCA2OSwgNzgsIDgzLCA3MywgNzksIDc4LCAxMjgsIDY5LCA4OCwgODQsIDY5LCAKLSAgICA3OCwgNjgsIDY5LCAxOTYsIDY5LCA4OCwgODAsIDgyLCA2OSwgODMsIDgzLCA3MywgNzksIDc4LCA3NiwgNjksIDgzLCAyMTEsIAotICAgIDY5LCA4OCwgODAsIDc5LCA3OCwgNjksIDc4LCAyMTIsIDY5LCA4OCwgNzksIDEyOCwgNjksIDg4LCAyMDcsIDY5LCA4OCwgCi0gICAgNzMsIDgzLCA4NCwgODMsIDEyOCwgNjksIDg4LCA3MywgODMsIDg0LCAxMjgsIDY5LCA4OCwgNzIsIDY1LCA4NSwgODMsIDg0LCAKLSAgICA3MywgNzksIDc4LCAxMjgsIDY5LCA4OCwgNjcsIDc2LCA2NSwgNzcsIDY1LCA4NCwgNzMsIDc5LCA3OCwgMTI4LCA2OSwgODgsIAotICAgIDY3LCA3NiwgNjUsIDc3LCA2NSwgODQsIDczLCA3OSwgMjA2LCA2OSwgODgsIDY3LCA3MiwgNjUsIDc4LCA3MSwgNjksIDEyOCwgCi0gICAgNjksIDg4LCA2NywgNjksIDgzLCA4MywgMTI4LCA2OSwgODgsIDY3LCA2OSwgNzYsIDc2LCA2OSwgNzgsIDg0LCAxMjgsIDY5LCAKLSAgICA4NywgNjksIDEyOCwgNjksIDg2LCA2OSwgODIsIDcxLCA4MiwgNjksIDY5LCAyMDYsIDY5LCA4NiwgNjksIDc4LCA3MywgNzgsIAotICAgIDcxLCAxMjgsIDY5LCA4NSwgODIsIDc5LCA4MCwgNjksIDY1LCAyMDYsIDY5LCA4NSwgODIsIDc5LCA4MCwgNjksIDQ1LCA2NSwgCi0gICAgNzAsIDgyLCA3MywgNjcsIDY1LCAxMjgsIDY5LCA4NSwgODIsIDc5LCA0NSwgNjcsIDg1LCA4MiwgODIsIDY5LCA3OCwgNjcsIAotICAgIDIxNywgNjksIDg1LCA4MiwgMjA3LCA2OSwgODUsIDc2LCA2OSwgMjEwLCA2OSwgODUsIDQ1LCA4NSwgMTI4LCA2OSwgODUsIAotICAgIDQ1LCA3OSwgMTI4LCA2OSwgODUsIDQ1LCA2OSwgODUsIDEyOCwgNjksIDg1LCA0NSwgNjksIDc5LCAxMjgsIDY5LCA4NSwgCi0gICAgNDUsIDY5LCAxMjgsIDY5LCA4NSwgNDUsIDY1LCAxMjgsIDY5LCA4NCwgODgsIDEyOCwgNjksIDg0LCA3OCwgNjUsIDcyLCAKLSAgICA4NCwgNjUsIDEyOCwgNjksIDg0LCA3MiwgNjksIDIwNCwgNjksIDg0LCA2OSwgODIsIDc5LCAyMDYsIDY5LCA4NCwgNjksIAotICAgIDgyLCA3OCwgNzMsIDg0LCA4OSwgMTI4LCA2OSwgODQsIDY2LCAxMjgsIDY5LCA4MywgODUsIDc1LCA4NSwgODUsIDY4LCA3OSwgCi0gICAgMTI4LCA2OSwgODMsIDg0LCA3MywgNzcsIDY1LCA4NCwgNjksIDgzLCAxMjgsIDY5LCA4MywgODQsIDczLCA3NywgNjUsIDg0LCAKLSAgICA2OSwgMTk2LCA2OSwgODMsIDcyLCA2OSwgNTEsIDEyOCwgNjksIDgzLCA3MiwgNTAsIDQ5LCAxMjgsIDY5LCA4MywgNzIsIAotICAgIDE3OCwgNjksIDgzLCA3MiwgNDksIDU0LCAxMjgsIDY5LCA4MywgNjcsIDY1LCA4MCwgNjksIDEyOCwgNjksIDgzLCA2NywgCi0gICAgMTI4LCA2OSwgODMsIDY1LCAxMjgsIDY5LCA4MywgNDUsIDg0LCA2OSwgMTI4LCA2OSwgODIsIDgyLCA3OSwgODIsIDQ1LCAKLSAgICA2NiwgNjUsIDgyLCA4MiwgNjksIDE5NiwgNjksIDgyLCA4MiwgMTI4LCA2OSwgODIsIDczLCA3OCwgNTAsIDEyOCwgNjksIAotICAgIDgyLCA3MSwgMTI4LCA2OSwgODIsIDY1LCA4MywgMTk3LCA2OSwgODEsIDg1LCA3MywgODYsIDY1LCA3NiwgNjksIDc4LCAKLSAgICAyMTIsIDY5LCA4MSwgODUsIDczLCA2OCwgMTI4LCA2OSwgODEsIDg1LCA3MywgNjUsIDc4LCA3MSwgODUsIDc2LCA2NSwgCi0gICAgMjEwLCA2OSwgODEsIDg1LCA2NSwgNzYsIDgzLCAxMjgsIDY5LCA4MSwgODUsIDY1LCA3NiwgMjExLCA2OSwgODEsIDg1LCAKLSAgICA2NSwgNzYsIDEyOCwgNjksIDgwLCA4MywgNzMsIDc2LCA3OSwgNzgsIDEyOCwgNjksIDgwLCA4MywgNzMsIDc2LCA3OSwgCisgICAgNzMsIDc4LCA3MywgODQsIDE5NywgNzAsIDczLCA3OCwgNzEsIDY5LCA4MiwgODMsIDEyOCwgNzAsIDczLCA3OCwgNzEsIDY5LCAKKyAgICA4MiwgMjExLCA3MCwgNzMsIDc4LCA3MSwgNjksIDgyLCA3OCwgNjUsIDczLCA3NiwgODMsIDEyOCwgNzAsIDczLCA3OCwgNzEsIAorICAgIDY5LCA4MiwgNjksIDE5NiwgNzAsIDczLCA3OCwgNzEsIDY5LCA4MiwgNDUsIDgwLCA3OSwgODMsIDIxMiwgNzAsIDczLCA3OCwgCisgICAgNzEsIDY5LCAyMTAsIDcwLCA3MywgNzgsIDY1LCA3OCwgNjcsIDczLCA2NSwgNzYsIDEyOCwgNzAsIDczLCA3OCwgNjUsIDc2LCAKKyAgICAxMjgsIDcwLCA3MywgNzYsIDIwNSwgNzAsIDczLCA3NiwgNzYsIDY5LCA4MiwgMTI4LCA3MCwgNzMsIDc2LCA3NiwgNjksIAorICAgIDE5NiwgNzAsIDczLCA3NiwgNzYsIDEyOCwgNzAsIDczLCA3NiwgMjA0LCA3MCwgNzMsIDc2LCAxOTcsIDcwLCA3MywgNzMsIAorICAgIDEyOCwgNzAsIDczLCA3MSwgODUsIDgyLCA2OSwgNDUsIDUxLCAxMjgsIDcwLCA3MywgNzEsIDg1LCA4MiwgNjksIDQ1LCA1MCwgCisgICAgMTI4LCA3MCwgNzMsIDcxLCA4NSwgODIsIDY5LCA0NSwgNDksIDEyOCwgNzAsIDczLCA3MSwgODUsIDgyLCAxOTcsIDcwLCAKKyAgICA3MywgNzEsIDcyLCA4NCwgMTI4LCA3MCwgNzMsIDcwLCA4NCwgODksIDEyOCwgNzAsIDczLCA3MCwgODQsIDIxNywgNzAsIAorICAgIDczLCA3MCwgODQsIDcyLCA4MywgMTI4LCA3MCwgNzMsIDcwLCA4NCwgNzIsIDEyOCwgNzAsIDczLCA3MCwgODQsIDY5LCA2OSwgCisgICAgNzgsIDEyOCwgNzAsIDczLCA3MCwgODQsIDY5LCA2OSwgMjA2LCA3MCwgNzMsIDY5LCA3NiwgNjgsIDEyOCwgNzAsIDcyLCAKKyAgICA4NCwgNzksIDgyLCAxOTMsIDcwLCA3MCwgNzYsIDEyOCwgNzAsIDcwLCA3MywgMTI4LCA3MCwgNjksIDg1LCA4OCwgMTI4LCAKKyAgICA3MCwgNjksIDg1LCA3MCwgNjksIDg1LCA2NSwgNjksIDg0LCAxMjgsIDcwLCA2OSwgODMsIDg0LCA3MywgODYsIDY1LCA3NiwgCisgICAgMTI4LCA3MCwgNjksIDgyLCA4MiwgODksIDEyOCwgNzAsIDY5LCA4MiwgODIsIDczLCAyMTEsIDcwLCA2OSwgODIsIDc3LCAKKyAgICA2NSwgODQsIDY1LCAxMjgsIDcwLCA2OSwgODIsIDc3LCA2NSwgODQsIDE5MywgNzAsIDY5LCA3OSwgMjAwLCA3MCwgNjksIAorICAgIDc4LCAxOTksIDcwLCA2OSwgNzgsIDY3LCA2OSwgMTI4LCA3MCwgNjksIDc3LCA3MywgNzgsIDczLCA3OCwgMTk3LCA3MCwgCisgICAgNjksIDc3LCA2NSwgNzYsIDY5LCAxMjgsIDcwLCA2OSwgNzcsIDY1LCA3NiwgMTk3LCA3MCwgNjksIDc2LCA3NiwgNzksIDg3LCAKKyAgICA4MywgNzIsIDczLCA4MCwgMTI4LCA3MCwgNjksIDczLCAxMjgsIDcwLCA2OSwgNzIsIDIxMywgNzAsIDY5LCA3MiwgMTI4LCAKKyAgICA3MCwgNjksIDIwMCwgNzAsIDY5LCA2OSwgNzgsIDcxLCAxMjgsIDcwLCA2OSwgNjksIDc3LCAxMjgsIDcwLCA2OSwgNjksIAorICAgIDY4LCAxMjgsIDcwLCA2OSwgNjksIDE5NiwgNzAsIDY5LCA2OSwgMTI4LCA3MCwgNjksIDY2LCA4MiwgODUsIDY1LCA4MiwgCisgICAgODksIDEyOCwgNzAsIDY5LCA2NSwgODQsIDcyLCA2OSwgODIsIDEyOCwgNzAsIDY5LCA2NSwgODQsIDcyLCA2OSwgMjEwLCAKKyAgICA3MCwgNjksIDY1LCA4MiwgNzgsIDEyOCwgNzAsIDY5LCA2NSwgODIsIDcwLCA4NSwgMjA0LCA3MCwgNjksIDY1LCA4MiwgCisgICAgMTI4LCA3MCwgNjUsIDg5LCA2NSwgNzgsIDc4LCA2NSwgMTI4LCA3MCwgNjUsIDg5LCAxMjgsIDcwLCA2NSwgODgsIDEyOCwgCisgICAgNzAsIDY1LCAyMTYsIDcwLCA2NSwgODQsIDczLCA3MSwgODUsIDY5LCAxMjgsIDcwLCA2NSwgODQsIDcyLCA2OSwgODIsIAorICAgIDEyOCwgNzAsIDY1LCA4NCwgNzIsIDY5LCAyMTAsIDcwLCA2NSwgODQsIDcyLCA2NSwgODQsIDY1LCA3OCwgMTI4LCA3MCwgCisgICAgNjUsIDg0LCA3MiwgNjUsIDg0LCA2NSwgMjA2LCA3MCwgNjUsIDg0LCA3MiwgNjUsIDEyOCwgNzAsIDY1LCA4NCwgNzIsIAorICAgIDE5MywgNzAsIDY1LCA4NCwgMTI4LCA3MCwgNjUsIDgyLCA4MywgMjAxLCA3MCwgNjUsIDgxLCAxMjgsIDcwLCA2NSwgODAsIAorICAgIDEyOCwgNzAsIDY1LCA3OCwgNzEsIDEyOCwgNzAsIDY1LCA3OCwgNjksIDgyLCA3OSwgODMsIDczLCAyMTEsIDcwLCA2NSwgCisgICAgNzgsIDEyOCwgNzAsIDY1LCA3NywgNzMsIDc2LCA4OSwgMTI4LCA3MCwgNjUsIDc3LCAxMjgsIDcwLCA2NSwgNzYsIDc2LCAKKyAgICA2OSwgMjA2LCA3MCwgNjUsIDc0LCAxMjgsIDcwLCA2NSwgNzMsIDc2LCA4NSwgODIsIDY5LCAxMjgsIDcwLCA2NSwgNzMsIAorICAgIDcyLCA4NSwgMTI4LCA3MCwgNjUsIDczLCA2NiwgMTI4LCA3MCwgNjUsIDcyLCA4MiwgNjksIDc4LCA3MiwgNjksIDczLCA4NCwgCisgICAgMTI4LCA3MCwgNjUsIDY3LCA4NCwgNzksIDgyLCA4OSwgMTI4LCA3MCwgNjUsIDY3LCA4NCwgNzksIDIxMCwgNzAsIDY1LCAKKyAgICA2NywgODMsIDczLCA3NywgNzMsIDc2LCAxOTcsIDcwLCA2NSwgNjcsIDY5LCA0NSwgNTQsIDEyOCwgNzAsIDY1LCA2NywgNjksIAorICAgIDQ1LCA1MywgMTI4LCA3MCwgNjUsIDY3LCA2OSwgNDUsIDUyLCAxMjgsIDcwLCA2NSwgNjcsIDY5LCA0NSwgNTEsIDEyOCwgCisgICAgNzAsIDY1LCA2NywgNjksIDQ1LCA1MCwgMTI4LCA3MCwgNjUsIDY3LCA2OSwgNDUsIDQ5LCAxMjgsIDcwLCA2NSwgNjUsIDc3LCAKKyAgICA2NSwgNjksIDEyOCwgNzAsIDY1LCA2NSwgNzMsIDEyOCwgNzAsIDY1LCA2NSwgNzAsIDg1LCAxMjgsIDcwLCA0OCwgNTMsIAorICAgIDUxLCAxMjgsIDcwLCA0OCwgNTMsIDUwLCAxMjgsIDcwLCA0OCwgNTMsIDQ5LCA2NywgMTI4LCA3MCwgNDgsIDUzLCA0OSwgCisgICAgNjYsIDEyOCwgNzAsIDQ4LCA1MywgNDksIDY1LCAxMjgsIDcwLCA0OCwgNTMsIDQ5LCAxMjgsIDcwLCA0OCwgNTMsIDQ4LCAKKyAgICAxMjgsIDcwLCA0OCwgNTIsIDU3LCAxMjgsIDcwLCA0OCwgNTIsIDU2LCAxMjgsIDcwLCA0OCwgNTIsIDU1LCA2NSwgMTI4LCAKKyAgICA3MCwgNDgsIDUyLCA1NSwgMTI4LCA3MCwgNDgsIDUyLCA1NCwgNjUsIDEyOCwgNzAsIDQ4LCA1MiwgNTQsIDEyOCwgNzAsIAorICAgIDQ4LCA1MiwgNTMsIDY1LCAxMjgsIDcwLCA0OCwgNTIsIDUzLCAxMjgsIDcwLCA0OCwgNTIsIDUyLCAxMjgsIDcwLCA0OCwgCisgICAgNTIsIDUxLCAxMjgsIDcwLCA0OCwgNTIsIDUwLCAxMjgsIDcwLCA0OCwgNTIsIDQ5LCAxMjgsIDcwLCA0OCwgNTIsIDQ4LCAKKyAgICAxMjgsIDcwLCA0OCwgNTEsIDU3LCAxMjgsIDcwLCA0OCwgNTEsIDU2LCA2NSwgMTI4LCA3MCwgNDgsIDUxLCA1NiwgMTI4LCAKKyAgICA3MCwgNDgsIDUxLCA1NSwgNjUsIDEyOCwgNzAsIDQ4LCA1MSwgNTUsIDEyOCwgNzAsIDQ4LCA1MSwgNTQsIDEyOCwgNzAsIAorICAgIDQ4LCA1MSwgNTMsIDEyOCwgNzAsIDQ4LCA1MSwgNTIsIDEyOCwgNzAsIDQ4LCA1MSwgNTEsIDEyOCwgNzAsIDQ4LCA1MSwgCisgICAgNTAsIDEyOCwgNzAsIDQ4LCA1MSwgNDksIDY1LCAxMjgsIDcwLCA0OCwgNTEsIDQ5LCAxMjgsIDcwLCA0OCwgNTEsIDQ4LCAKKyAgICAxMjgsIDcwLCA0OCwgNTAsIDU3LCAxMjgsIDcwLCA0OCwgNTAsIDU2LCAxMjgsIDcwLCA0OCwgNTAsIDU1LCAxMjgsIDcwLCAKKyAgICA0OCwgNTAsIDU0LCAxMjgsIDcwLCA0OCwgNTAsIDUzLCAxMjgsIDcwLCA0OCwgNTAsIDUyLCAxMjgsIDcwLCA0OCwgNTAsIAorICAgIDUxLCAxMjgsIDcwLCA0OCwgNTAsIDUwLCAxMjgsIDcwLCA0OCwgNTAsIDQ5LCA2NSwgMTI4LCA3MCwgNDgsIDUwLCA0OSwgCisgICAgMTI4LCA3MCwgNDgsIDUwLCA0OCwgMTI4LCA3MCwgNDgsIDQ5LCA1NywgMTI4LCA3MCwgNDgsIDQ5LCA1NiwgMTI4LCA3MCwgCisgICAgNDgsIDQ5LCA1NSwgMTI4LCA3MCwgNDgsIDQ5LCA1NCwgMTI4LCA3MCwgNDgsIDQ5LCA1MywgMTI4LCA3MCwgNDgsIDQ5LCAKKyAgICA1MiwgMTI4LCA3MCwgNDgsIDQ5LCA1MSwgNjUsIDEyOCwgNzAsIDQ4LCA0OSwgNTEsIDEyOCwgNzAsIDQ4LCA0OSwgNTAsIAorICAgIDEyOCwgNzAsIDQ4LCA0OSwgNDksIDEyOCwgNzAsIDQ4LCA0OSwgNDgsIDEyOCwgNzAsIDQ4LCA0OCwgNTcsIDEyOCwgNzAsIAorICAgIDQ4LCA0OCwgNTYsIDEyOCwgNzAsIDQ4LCA0OCwgNTUsIDEyOCwgNzAsIDQ4LCA0OCwgNTQsIDEyOCwgNzAsIDQ4LCA0OCwgCisgICAgNTMsIDEyOCwgNzAsIDQ4LCA0OCwgNTIsIDEyOCwgNzAsIDQ4LCA0OCwgNTEsIDEyOCwgNzAsIDQ4LCA0OCwgNTAsIDEyOCwgCisgICAgNzAsIDQ4LCA0OCwgNDksIDY1LCAxMjgsIDcwLCA0OCwgNDgsIDQ5LCAxMjgsIDY5LCA5MCwgMjAwLCA2OSwgOTAsIDY5LCAKKyAgICA3OCwgMTI4LCA2OSwgOTAsIDY5LCAyMDYsIDY5LCA5MCwgMTI4LCA2OSwgODksIDg5LCA4OSwgMTI4LCA2OSwgODksIDY5LCAKKyAgICA4MywgMTI4LCA2OSwgODksIDY5LCA3MSwgNzYsIDY1LCA4MywgODMsIDY5LCA4MywgMTI4LCA2OSwgODksIDY2LCA2OSwgODksIAorICAgIDcwLCA3MywgNzYsIDczLCAxMjgsIDY5LCA4OSwgNjUsIDc4LCA3OCwgNjUsIDEyOCwgNjksIDg4LCA4NCwgODIsIDY5LCA3NywgCisgICAgNjksIDc2LCAyMTcsIDY5LCA4OCwgODQsIDgyLCA2NSwgODQsIDY5LCA4MiwgODIsIDY5LCA4MywgODQsIDgyLCA3MywgNjUsIAorICAgIDIwNCwgNjksIDg4LCA4NCwgODIsIDY1LCA0NSwgNzYsIDc5LCAyMTUsIDY5LCA4OCwgODQsIDgyLCA2NSwgNDUsIDcyLCA3MywgCisgICAgNzEsIDIwMCwgNjksIDg4LCA4NCwgNjksIDc4LCA4MywgNzMsIDc5LCA3OCwgMTI4LCA2OSwgODgsIDg0LCA2OSwgNzgsIDY4LCAKKyAgICA2OSwgNjgsIDEyOCwgNjksIDg4LCA4NCwgNjksIDc4LCA2OCwgNjksIDE5NiwgNjksIDg4LCA4MCwgODIsIDY5LCA4MywgODMsIAorICAgIDczLCA3OSwgNzgsIDc2LCA2OSwgODMsIDIxMSwgNjksIDg4LCA4MCwgNzksIDc4LCA2OSwgNzgsIDIxMiwgNjksIDg4LCA3OSwgCisgICAgMTI4LCA2OSwgODgsIDIwNywgNjksIDg4LCA3MywgODMsIDg0LCA4MywgMTI4LCA2OSwgODgsIDczLCA4MywgODQsIDEyOCwgCisgICAgNjksIDg4LCA3MiwgNjUsIDg1LCA4MywgODQsIDczLCA3OSwgNzgsIDEyOCwgNjksIDg4LCA2NywgNzYsIDY1LCA3NywgNjUsIAorICAgIDg0LCA3MywgNzksIDc4LCAxMjgsIDY5LCA4OCwgNjcsIDc2LCA2NSwgNzcsIDY1LCA4NCwgNzMsIDc5LCAyMDYsIDY5LCA4OCwgCisgICAgNjcsIDcyLCA2NSwgNzgsIDcxLCA2OSwgMTI4LCA2OSwgODgsIDY3LCA2OSwgODMsIDgzLCAxMjgsIDY5LCA4OCwgNjcsIDY5LCAKKyAgICA3NiwgNzYsIDY5LCA3OCwgODQsIDEyOCwgNjksIDg3LCA2OSwgMTI4LCA2OSwgODYsIDY5LCA4MiwgNzEsIDgyLCA2OSwgNjksIAorICAgIDIwNiwgNjksIDg2LCA2OSwgNzgsIDczLCA3OCwgNzEsIDEyOCwgNjksIDg1LCA4MiwgNzksIDgwLCA2OSwgNjUsIDIwNiwgCisgICAgNjksIDg1LCA4MiwgNzksIDgwLCA2OSwgNDUsIDY1LCA3MCwgODIsIDczLCA2NywgNjUsIDEyOCwgNjksIDg1LCA4MiwgNzksIAorICAgIDQ1LCA2NywgODUsIDgyLCA4MiwgNjksIDc4LCA2NywgMjE3LCA2OSwgODUsIDgyLCAyMDcsIDY5LCA4NSwgNzYsIDY5LCAKKyAgICAyMTAsIDY5LCA4NSwgNDUsIDg1LCAxMjgsIDY5LCA4NSwgNDUsIDc5LCAxMjgsIDY5LCA4NSwgNDUsIDY5LCA4NSwgMTI4LCAKKyAgICA2OSwgODUsIDQ1LCA2OSwgNzksIDEyOCwgNjksIDg1LCA0NSwgNjksIDEyOCwgNjksIDg1LCA0NSwgNjUsIDEyOCwgNjksIAorICAgIDg0LCA4OCwgMTI4LCA2OSwgODQsIDc4LCA2NSwgNzIsIDg0LCA2NSwgMTI4LCA2OSwgODQsIDcyLCA2OSwgMjA0LCA2OSwgCisgICAgODQsIDY5LCA4MiwgNzksIDIwNiwgNjksIDg0LCA2OSwgODIsIDc4LCA3MywgODQsIDg5LCAxMjgsIDY5LCA4NCwgNjksIDgyLCAKKyAgICA3OCwgNzMsIDg0LCAyMTcsIDY5LCA4NCwgNjYsIDEyOCwgNjksIDgzLCA4NSwgNzUsIDg1LCA4NSwgNjgsIDc5LCAxMjgsIAorICAgIDY5LCA4MywgODQsIDczLCA3NywgNjUsIDg0LCA2OSwgODMsIDEyOCwgNjksIDgzLCA4NCwgNzMsIDc3LCA2NSwgODQsIDY5LCAKKyAgICAxOTYsIDY5LCA4MywgNzIsIDY5LCA1MSwgMTI4LCA2OSwgODMsIDcyLCA1MCwgNDksIDEyOCwgNjksIDgzLCA3MiwgNDksIAorICAgIDU0LCAxMjgsIDY5LCA4MywgNjcsIDY1LCA4MCwgNjksIDEyOCwgNjksIDgzLCA2NywgMTI4LCA2OSwgODMsIDY1LCAxMjgsIAorICAgIDY5LCA4MywgNDUsIDg0LCA2OSwgMTI4LCA2OSwgODMsIDQ1LCA1MSwgMTI4LCA2OSwgODMsIDQ1LCA1MCwgMTI4LCA2OSwgCisgICAgODMsIDQ1LCA0OSwgMTI4LCA2OSwgODIsIDgyLCA3OSwgODIsIDQ1LCA2NiwgNjUsIDgyLCA4MiwgNjksIDE5NiwgNjksIDgyLCAKKyAgICA4MiwgMTI4LCA2OSwgODIsIDczLCA3OCwgNTAsIDEyOCwgNjksIDgyLCA3MSwgMTI4LCA2OSwgODIsIDY1LCA4MywgMTk3LCAKKyAgICA2OSwgODEsIDg1LCA3MywgODYsIDY1LCA3NiwgNjksIDc4LCAyMTIsIDY5LCA4MSwgODUsIDczLCA3NiwgNjUsIDg0LCA2OSwgCisgICAgODIsIDY1LCAyMDQsIDY5LCA4MSwgODUsIDczLCA2OCwgMTI4LCA2OSwgODEsIDg1LCA3MywgNjUsIDc4LCA3MSwgODUsIDc2LCAKKyAgICA2NSwgMjEwLCA2OSwgODEsIDg1LCA2NSwgNzYsIDgzLCAxMjgsIDY5LCA4MSwgODUsIDY1LCA3NiwgMjExLCA2OSwgODEsIAorICAgIDg1LCA2NSwgNzYsIDEyOCwgNjksIDgwLCA4MywgNzMsIDc2LCA3OSwgNzgsIDEyOCwgNjksIDgwLCA4MywgNzMsIDc2LCA3OSwgCiAgICAgMjA2LCA2OSwgODAsIDc5LCA2NywgNzIsIDEyOCwgNjksIDgwLCA3MywgNzEsIDgyLCA2NSwgODAsIDcyLCA3MywgMTk1LCAKICAgICA2OSwgODAsIDczLCA2OCwgNjUsIDg1LCA4MiwgNjksIDY1LCAyMDYsIDY5LCA4MCwgNjksIDc4LCA4NCwgNzIsIDY5LCA4NCwgCi0gICAgNzMsIDE5NSwgNjksIDgwLCA2OSwgNzEsIDY5LCA4MiwgNzcsIDY1LCAxMjgsIDY5LCA3OSwgODQsIDEyOCwgNjksIDc5LCAKLSAgICA3NywgMTI4LCA2OSwgNzksIDc2LCA3MiwgODgsIDEyOCwgNjksIDc5LCA3NiwgMTI4LCA2OSwgNzksIDcyLCAxMjgsIDY5LCAKLSAgICA3OCwgODksIDEyOCwgNjksIDc4LCA4NiwgNjksIDc2LCA3OSwgODAsIDY5LCAxMjgsIDY5LCA3OCwgODYsIDY5LCA3NiwgNzksIAotICAgIDgwLCAxOTcsIDY5LCA3OCwgODUsIDc3LCA2OSwgODIsIDY1LCA4NCwgNzMsIDc5LCAyMDYsIDY5LCA3OCwgODQsIDgyLCA4OSwgCi0gICAgNDUsIDUwLCAxMjgsIDY5LCA3OCwgODQsIDgyLCA4OSwgNDUsIDQ5LCAxMjgsIDY5LCA3OCwgODQsIDgyLCA4OSwgMTI4LCAKLSAgICA2OSwgNzgsIDg0LCA4MiwgMjE3LCA2OSwgNzgsIDg0LCA3MiwgODUsIDgzLCA3MywgNjUsIDgzLCA3NywgMTI4LCA2OSwgNzgsIAotICAgIDg0LCA2OSwgODIsIDgwLCA4MiwgNzMsIDgzLCA2OSwgMTI4LCA2OSwgNzgsIDg0LCA2OSwgODIsIDczLCA3OCwgMTk5LCA2OSwgCi0gICAgNzgsIDg0LCA2OSwgODIsIDEyOCwgNjksIDc4LCA4NCwgNjksIDIxMCwgNjksIDc4LCA4MSwgODUsIDczLCA4MiwgODksIAotICAgIDEyOCwgNjksIDc4LCA4MSwgMTI4LCA2OSwgNzgsIDc5LCAyMTEsIDY5LCA3OCwgNzgsIDEyOCwgNjksIDc4LCA3NiwgNjUsIAotICAgIDgyLCA3MSwgNjksIDc3LCA2OSwgNzgsIDg0LCAxMjgsIDY5LCA3OCwgNzEsIDczLCA3OCwgNjksIDEyOCwgNjksIDc4LCA2OCwgCi0gICAgNzksIDcwLCA3OSwgNzgsIDc5LCA3OCwgMTI4LCA2OSwgNzgsIDY4LCA3MywgNzgsIDE5OSwgNjksIDc4LCA2OCwgNjksIDgwLCAKLSAgICAxMjgsIDY5LCA3OCwgNjgsIDY5LCA2NSwgODYsIDc5LCA4NSwgODIsIDEyOCwgNjksIDc4LCA2NywgNzksIDg1LCA3OCwgODQsIAotICAgIDY5LCA4MiwgODMsIDEyOCwgNjksIDc4LCA2NywgNzYsIDc5LCA4MywgODUsIDgyLCA2OSwgMTI4LCA2OSwgNzgsIDY3LCA3NiwgCi0gICAgNzksIDgzLCA3MywgNzgsIDE5OSwgNjksIDc4LCA2NywgMTI4LCA2OSwgNzgsIDY1LCA4MiwgODgsIDczLCAyMTEsIDY5LCAKLSAgICA3OCwgNjUsIDgyLCA3NywgNzksIDc4LCA3MywgNzksIDIxMSwgNjksIDc3LCA4MCwgODQsIDIxNywgNjksIDc3LCA4MCwgNzIsIAotICAgIDY1LCA4NCwgNzMsIDE5NSwgNjksIDc3LCA4MCwgNzIsIDY1LCA4MywgNzMsIDIxMSwgNjksIDc3LCA2NiwgODIsIDc5LCA3MywgCi0gICAgNjgsIDY5LCA4MiwgODksIDEyOCwgNjksIDc3LCA2NiwgNzYsIDY5LCA3NywgMTI4LCA2OSwgNzcsIDY2LCA2OSwgNzYsIDc2LCAKLSAgICA3MywgODMsIDcyLCA3NywgNjksIDc4LCA4NCwgMTI4LCA2OSwgNzcsIDY2LCA2OSwgNjgsIDY4LCA3MywgNzgsIDcxLCAxMjgsIAotICAgIDY5LCA3NiwgODQsIDEyOCwgNjksIDc2LCA3NiwgNzMsIDgwLCA4NCwgNzMsIDE5NSwgNjksIDc2LCA3NiwgNzMsIDgwLCA4MywgCi0gICAgNzMsIDgzLCAxMjgsIDY5LCA3NiwgNzYsIDczLCA4MCwgODMsIDY5LCAxMjgsIDY5LCA3NiwgNzMsIDcwLCA3MywgMTI4LCAKLSAgICA2OSwgNzYsIDY5LCA4NiwgNjksIDc4LCA0NSwgODQsIDcyLCA3MywgODIsIDg0LCA4OSwgMTI4LCA2OSwgNzYsIDY5LCA4NiwgCi0gICAgNjksIDc4LCAxMjgsIDY5LCA3NiwgNjksIDg2LCA2OSwgMjA2LCA2OSwgNzYsIDY5LCA4MCwgNzIsIDY1LCA3OCwgODQsIAotICAgIDEyOCwgNjksIDc2LCA2OSwgNzcsIDY5LCA3OCwgMjEyLCA2OSwgNzYsIDY5LCA2NywgODQsIDgyLCA3MywgNjcsIDY1LCAKLSAgICAyMDQsIDY5LCA3NiwgNjksIDY3LCA4NCwgODIsIDczLCAxOTUsIDY5LCA3NiwgNjUsIDcwLCA4MiwgNzksIDc4LCAxMjgsIAotICAgIDY5LCA3NSwgODMsIDg0LCA4MiwgNjksIDgwLCA4NCwgNzksIDc4LCAxMjgsIDY5LCA3NSwgODMsIDEyOCwgNjksIDc1LCA3MCwgCi0gICAgNzksIDc4LCA3MywgODQsIDczLCA3NSwgNzksIDc4LCAxMjgsIDY5LCA3NSwgNjUsIDgyLCA2NSwgMTI4LCA2OSwgNzQsIDY5LCAKLSAgICA2NywgMjEyLCA2OSwgNzMsIDgzLCAxMjgsIDY5LCA3MywgNzEsIDcyLCA4NCwgODksIDEyOCwgNjksIDczLCA3MSwgNzIsIAotICAgIDg0LCAyMTcsIDY5LCA3MywgNzEsIDcyLCA4NCwgNzIsIDgzLCAxMjgsIDY5LCA3MywgNzEsIDcyLCA4NCwgNzIsIDIxMSwgCi0gICAgNjksIDczLCA3MSwgNzIsIDg0LCA3MiwgMTI4LCA2OSwgNzMsIDcxLCA3MiwgODQsIDY5LCA2OSwgNzgsIDEyOCwgNjksIDczLCAKLSAgICA3MSwgNzIsIDg0LCA2OSwgNjksIDIwNiwgNjksIDczLCA3MSwgNzIsIDg0LCA0NSwgODQsIDcyLCA3MywgODIsIDg0LCA4OSwgCi0gICAgMTI4LCA2OSwgNzMsIDY5LCAxMjgsIDY5LCA3MiwgODcsIDY1LCAyMTgsIDY5LCA3MSwgODksIDgwLCA4NCwgNzksIDc2LCAKLSAgICA3OSwgNzEsIDczLCA2NywgNjUsIDIwNCwgNjksIDcxLCA3MywgODIsIDEyOCwgNjksIDcxLCA3MSwgMTI4LCA2OSwgNjksIAotICAgIDg5LCA2NSwgNzgsIDc4LCA2NSwgMTI4LCA2OSwgNjksIDc1LCA2NSwgNjUsIDEyOCwgNjksIDY5LCA3MiwgMTI4LCA2OSwgCi0gICAgNjksIDY2LCA2OSwgNjksIDcwLCA3MywgNzYsIDczLCAxMjgsIDY5LCA2OCwgNzMsIDg0LCA3OSwgODIsIDczLCA2NSwgMjA0LCAKLSAgICA2OSwgNjgsIDczLCA3OCwgMTI4LCA2OSwgNjgsIDY4LCAxMjgsIDY5LCA2NiwgNjksIDcwLCA3MywgNzYsIDczLCAxMjgsIAotICAgIDY5LCA2NSwgODMsIDg0LCA2OSwgODIsIDIwNiwgNjksIDY1LCA4MywgMjEyLCA2OSwgNjUsIDgyLCA4NCwgNzIsIDc2LCAKLSAgICAyMTcsIDY5LCA2NSwgODIsIDg0LCA3MiwgMTI4LCA2OSwgNjUsIDgyLCA4NCwgMjAwLCA2OSwgNjUsIDgyLCA4MywgMTI4LCAKLSAgICA2OSwgNjUsIDgyLCA3NiwgMjE3LCA2OSwgNjUsIDc3LCA3MiwgNjUsIDc4LCA2NywgNzIsIDc5LCA3NiwgNzYsIDEyOCwgNjksIAotICAgIDY1LCA3MSwgNzYsIDY5LCAxMjgsIDY5LCA2NSwgNjgsIDcyLCA2NSwgNjgsIDcyLCAxMjgsIDY5LCA2NSwgNjYsIDcyLCA2NSwgCi0gICAgNjgsIDcyLCAxMjgsIDY5LCAxNzgsIDY5LCA0OCwgNTEsIDU2LCAxMjgsIDY5LCA0OCwgNTEsIDU1LCAxMjgsIDY5LCA0OCwgCi0gICAgNTEsIDU0LCAxMjgsIDY5LCA0OCwgNTEsIDUyLCA2NSwgMTI4LCA2OSwgNDgsIDUxLCA1MiwgMTI4LCA2OSwgNDgsIDUxLCAKLSAgICA1MSwgMTI4LCA2OSwgNDgsIDUxLCA1MCwgMTI4LCA2OSwgNDgsIDUxLCA0OSwgMTI4LCA2OSwgNDgsIDUxLCA0OCwgMTI4LCAKLSAgICA2OSwgNDgsIDUwLCA1NywgMTI4LCA2OSwgNDgsIDUwLCA1NiwgNjUsIDEyOCwgNjksIDQ4LCA1MCwgNTYsIDEyOCwgNjksIAotICAgIDQ4LCA1MCwgNTUsIDEyOCwgNjksIDQ4LCA1MCwgNTQsIDEyOCwgNjksIDQ4LCA1MCwgNTMsIDEyOCwgNjksIDQ4LCA1MCwgCi0gICAgNTIsIDEyOCwgNjksIDQ4LCA1MCwgNTEsIDEyOCwgNjksIDQ4LCA1MCwgNTAsIDEyOCwgNjksIDQ4LCA1MCwgNDksIDEyOCwgCi0gICAgNjksIDQ4LCA1MCwgNDgsIDY1LCAxMjgsIDY5LCA0OCwgNTAsIDQ4LCAxMjgsIDY5LCA0OCwgNDksIDU3LCAxMjgsIDY5LCAKLSAgICA0OCwgNDksIDU2LCAxMjgsIDY5LCA0OCwgNDksIDU1LCA2NSwgMTI4LCA2OSwgNDgsIDQ5LCA1NSwgMTI4LCA2OSwgNDgsIAotICAgIDQ5LCA1NCwgNjUsIDEyOCwgNjksIDQ4LCA0OSwgNTQsIDEyOCwgNjksIDQ4LCA0OSwgNTMsIDEyOCwgNjksIDQ4LCA0OSwgCi0gICAgNTIsIDEyOCwgNjksIDQ4LCA0OSwgNTEsIDEyOCwgNjksIDQ4LCA0OSwgNTAsIDEyOCwgNjksIDQ4LCA0OSwgNDksIDEyOCwgCi0gICAgNjksIDQ4LCA0OSwgNDgsIDEyOCwgNjksIDQ4LCA0OCwgNTcsIDY1LCAxMjgsIDY5LCA0OCwgNDgsIDU3LCAxMjgsIDY5LCAKLSAgICA0OCwgNDgsIDU2LCA2NSwgMTI4LCA2OSwgNDgsIDQ4LCA1NiwgMTI4LCA2OSwgNDgsIDQ4LCA1NSwgMTI4LCA2OSwgNDgsIAotICAgIDQ4LCA1NCwgMTI4LCA2OSwgNDgsIDQ4LCA1MywgMTI4LCA2OSwgNDgsIDQ4LCA1MiwgMTI4LCA2OSwgNDgsIDQ4LCA1MSwgCi0gICAgMTI4LCA2OSwgNDgsIDQ4LCA1MCwgMTI4LCA2OSwgNDgsIDQ4LCA0OSwgMTI4LCA2OSwgNDUsIDc3LCA2NSwgNzMsIDIwNCwgCi0gICAgNjgsIDkwLCA5MCwgNjksIDEyOCwgNjgsIDkwLCA5MCwgNjUsIDEyOCwgNjgsIDkwLCA4NywgNjksIDEyOCwgNjgsIDkwLCAKLSAgICA4NSwgMTI4LCA2OCwgOTAsIDc5LCAxMjgsIDY4LCA5MCwgNzQsIDY5LCAxMjgsIDY4LCA5MCwgNzMsIDEyOCwgNjgsIDkwLCAKLSAgICA3MiwgNjksIDEyOCwgNjgsIDkwLCA3MiwgNjUsIDEyOCwgNjgsIDkwLCA2OSwgNzYsIDc5LCAxMjgsIDY4LCA5MCwgNjksIAotICAgIDY5LCAxMjgsIDY4LCA5MCwgNjksIDEyOCwgNjgsIDkwLCA2NSwgNjUsIDEyOCwgNjgsIDkwLCA2NSwgMTI4LCA2OCwgOTAsIAotICAgIDEyOCwgNjgsIDIxOCwgNjgsIDg5LCA3OSwgMTI4LCA2OCwgODksIDIwNywgNjgsIDg5LCA2OSwgNzIsIDEyOCwgNjgsIDg5LCAKLSAgICA2OSwgMjAwLCA2OCwgODcsIDc5LCAxMjgsIDY4LCA4NywgNjksIDEyOCwgNjgsIDg3LCA2NSwgMTI4LCA2OCwgODYsIDczLCAKLSAgICA4MywgODYsIDY1LCA4MiwgNjUsIDEyOCwgNjgsIDg2LCA2OCwgMTI4LCA2OCwgODYsIDEyOCwgNjgsIDg1LCA4NCwgNzMsIAotICAgIDY5LCA4MywgMTI4LCA2OCwgODUsIDgzLCA3NSwgMTI4LCA2OCwgODUsIDgzLCA3MiwgNjksIDc4LCA3OCwgNjUsIDEyOCwgCi0gICAgNjgsIDg1LCA4MiwgNjUsIDg0LCA3MywgNzksIDc4LCAxMjgsIDY4LCA4NSwgODIsIDUwLCAxMjgsIDY4LCA4NSwgODAsIDc5LCAKLSAgICA3OCwgNjgsIDczLCA4NSwgMjExLCA2OCwgODUsIDc5LCA4OCwgMTI4LCA2OCwgODUsIDc5LCAxMjgsIDY4LCA4NSwgNzgsIAotICAgIDUyLCAxMjgsIDY4LCA4NSwgNzgsIDUxLCAxMjgsIDY4LCA4NSwgNzgsIDE3OSwgNjgsIDg1LCA3NywgMTI4LCA2OCwgODUsIAotICAgIDIwNCwgNjgsIDg1LCA3MiwgMTI4LCA2OCwgODUsIDcxLCA4NSwgNjgsIDEyOCwgNjgsIDg1LCA2NiwgNTAsIDEyOCwgNjgsIAotICAgIDg1LCA2NiwgMTI4LCA2OCwgODUsIDE5NCwgNjgsIDgyLCA4OSwgMTI4LCA2OCwgODIsIDIxNywgNjgsIDgyLCA4NSwgNzcsIAotICAgIDEyOCwgNjgsIDgyLCA4NSwgMjA1LCA2OCwgODIsIDc5LCA4MCwgODMsIDEyOCwgNjgsIDgyLCA3OSwgODAsIDc2LCA2OSwgCi0gICAgODQsIDEyOCwgNjgsIDgyLCA3OSwgODAsIDQ1LCA4MywgNzIsIDY1LCA2OCwgNzksIDg3LCA2OSwgMTk2LCA2OCwgODIsIDc5LCAKLSAgICA3NywgNjksIDY4LCA2NSwgODIsIDIxNywgNjgsIDgyLCA3MywgODYsIDY5LCAxMjgsIDY4LCA4MiwgNzMsIDg2LCAxOTcsIAotICAgIDY4LCA4MiwgNzMsIDc4LCA3NSwgMTI4LCA2OCwgODIsIDczLCAyMDQsIDY4LCA4MiwgNjksIDgzLCA4MywgMTI4LCA2OCwgCi0gICAgODIsIDY1LCA4NSwgNzEsIDcyLCA4NCwgMjExLCA2OCwgODIsIDY1LCA3NywgMTI4LCA2OCwgODIsIDY1LCAyMDUsIDY4LCAKLSAgICA4MiwgNjUsIDcxLCA3OSwgNzgsIDEyOCwgNjgsIDgyLCA2NSwgNzEsIDc5LCAyMDYsIDY4LCA4MiwgNjUsIDcwLCA4NCwgNzMsIAotICAgIDc4LCAxOTksIDY4LCA4MiwgNjUsIDY3LCA3MiwgNzcsIDY1LCA4MywgMTI4LCA2OCwgODIsIDY1LCA2NywgNzIsIDc3LCA2NSwgCi0gICAgMTI4LCA2OCwgODIsIDY1LCA2NywgNzIsIDc3LCAxOTMsIDY4LCA3OSwgODcsIDc4LCA4NywgNjUsIDgyLCA2OCwgODMsIAotICAgIDEyOCwgNjgsIDc5LCA4NywgNzgsIDg3LCA2NSwgODIsIDY4LCAyMTEsIDY4LCA3OSwgODcsIDc4LCA0NSwgODAsIDc5LCA3MywgCi0gICAgNzgsIDg0LCA3MywgNzgsIDE5OSwgNjgsIDc5LCA4NywgNzgsIDEyOCwgNjgsIDc5LCA4NiwgNjksIDEyOCwgNjgsIDc5LCAKLSAgICA4NSwgNzEsIDcyLCA3OCwgODUsIDg0LCAxMjgsIDY4LCA3OSwgODUsIDY2LCA4NCwgMTI4LCA2OCwgNzksIDg1LCA2NiwgNzYsIAotICAgIDY5LCAxOTYsIDY4LCA3OSwgODUsIDY2LCA3NiwgNjksIDQ1LCA3NiwgNzMsIDc4LCAxOTcsIDY4LCA3OSwgODUsIDY2LCA3NiwgCi0gICAgNjksIDQ1LCA2OSwgNzgsIDY4LCA2OSwgMTk2LCA2OCwgNzksIDg1LCA2NiwgNzYsIDY5LCAxMjgsIDY4LCA3OSwgODQsIDg0LCAKLSAgICA2OSwgNjgsIDQ1LCA4MCwgMTI4LCA2OCwgNzksIDg0LCA4NCwgNjksIDY4LCA0NSwgNzgsIDEyOCwgNjgsIDc5LCA4NCwgODQsIAotICAgIDY5LCA2OCwgNDUsIDc2LCAxMjgsIDY4LCA3OSwgODQsIDg0LCA2OSwgNjgsIDEyOCwgNjgsIDc5LCA4NCwgODQsIDY5LCAKLSAgICAxOTYsIDY4LCA3OSwgODQsIDgzLCA0NSwgNTYsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA1NSwgNTYsIDEyOCwgNjgsIAotICAgIDc5LCA4NCwgODMsIDQ1LCA1NSwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDU0LCA1NiwgMTI4LCA2OCwgNzksIDg0LCA4MywgCi0gICAgNDUsIDU0LCA1NSwgNTYsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA1NCwgNTUsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCAKLSAgICA1NCwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDUzLCA1NiwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDUzLCA1NSwgNTYsIAotICAgIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA1MywgNTUsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA1MywgNTQsIDU2LCAKLSAgICAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNTMsIDU0LCA1NSwgNTYsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA1MywgNTQsIAotICAgIDU1LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNTMsIDU0LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNTMsIDEyOCwgCi0gICAgNjgsIDc5LCA4NCwgODMsIDQ1LCA1MiwgNTYsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA1MiwgNTUsIDU2LCAxMjgsIDY4LCAKLSAgICA3OSwgODQsIDgzLCA0NSwgNTIsIDU1LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNTIsIDU0LCA1NiwgMTI4LCA2OCwgNzksIAotICAgIDg0LCA4MywgNDUsIDUyLCA1NCwgNTUsIDU2LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNTIsIDU0LCA1NSwgMTI4LCA2OCwgCi0gICAgNzksIDg0LCA4MywgNDUsIDUyLCA1NCwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDUyLCA1MywgNTYsIDEyOCwgNjgsIDc5LCAKLSAgICA4NCwgODMsIDQ1LCA1MiwgNTMsIDU1LCA1NiwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDUyLCA1MywgNTUsIDEyOCwgNjgsIAotICAgIDc5LCA4NCwgODMsIDQ1LCA1MiwgNTMsIDU0LCA1NiwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDUyLCA1MywgNTQsIDU1LCAKLSAgICA1NiwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDUyLCA1MywgNTQsIDU1LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNTIsIAotICAgIDUzLCA1NCwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDUyLCA1MywgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDUyLCAKLSAgICAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNTEsIDU2LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNTEsIDU1LCA1NiwgCi0gICAgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDUxLCA1NSwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDUxLCA1NCwgNTYsIAorICAgIDczLCAxOTUsIDY5LCA4MCwgNjksIDcxLCA2OSwgODIsIDc3LCA2NSwgMTI4LCA2OSwgODAsIDY1LCA2NywgMjEyLCA2OSwgCisgICAgNzksIDg0LCAxMjgsIDY5LCA3OSwgNzcsIDEyOCwgNjksIDc5LCA3NiwgNzIsIDg4LCAxMjgsIDY5LCA3OSwgNzYsIDEyOCwgCisgICAgNjksIDc5LCA3MiwgMTI4LCA2OSwgNzgsIDg5LCAxMjgsIDY5LCA3OCwgODYsIDY5LCA3NiwgNzksIDgwLCA2OSwgMTI4LCAKKyAgICA2OSwgNzgsIDg2LCA2OSwgNzYsIDc5LCA4MCwgMTk3LCA2OSwgNzgsIDg1LCA3NywgNjksIDgyLCA2NSwgODQsIDczLCA3OSwgCisgICAgMjA2LCA2OSwgNzgsIDg0LCA4MiwgODksIDQ1LCA1MCwgMTI4LCA2OSwgNzgsIDg0LCA4MiwgODksIDQ1LCA0OSwgMTI4LCAKKyAgICA2OSwgNzgsIDg0LCA4MiwgODksIDEyOCwgNjksIDc4LCA4NCwgODIsIDIxNywgNjksIDc4LCA4NCwgNzIsIDg1LCA4MywgNzMsIAorICAgIDY1LCA4MywgNzcsIDEyOCwgNjksIDc4LCA4NCwgNjksIDgyLCA4MCwgODIsIDczLCA4MywgNjksIDEyOCwgNjksIDc4LCA4NCwgCisgICAgNjksIDgyLCA3MywgNzgsIDE5OSwgNjksIDc4LCA4NCwgNjksIDgyLCAxMjgsIDY5LCA3OCwgODQsIDY5LCAyMTAsIDY5LCAKKyAgICA3OCwgODEsIDg1LCA3MywgODIsIDg5LCAxMjgsIDY5LCA3OCwgODEsIDEyOCwgNjksIDc4LCA3OSwgMjExLCA2OSwgNzgsIAorICAgIDc4LCA3MywgMTI4LCA2OSwgNzgsIDc4LCAxMjgsIDY5LCA3OCwgNzYsIDY1LCA4MiwgNzEsIDY5LCA3NywgNjksIDc4LCA4NCwgCisgICAgMTI4LCA2OSwgNzgsIDcxLCA3MywgNzgsIDY5LCAxMjgsIDY5LCA3OCwgNjgsIDc5LCA3MCwgNzksIDc4LCA3OSwgNzgsIAorICAgIDEyOCwgNjksIDc4LCA2OCwgNzMsIDc4LCAxOTksIDY5LCA3OCwgNjgsIDY5LCA4MCwgMTI4LCA2OSwgNzgsIDY4LCA2OSwgCisgICAgNjUsIDg2LCA3OSwgODUsIDgyLCAxMjgsIDY5LCA3OCwgNjcsIDc5LCA4NSwgNzgsIDg0LCA2OSwgODIsIDgzLCAxMjgsIDY5LCAKKyAgICA3OCwgNjcsIDc2LCA3OSwgODMsIDg1LCA4MiwgNjksIDEyOCwgNjksIDc4LCA2NywgNzYsIDc5LCA4MywgNzMsIDc4LCAxOTksIAorICAgIDY5LCA3OCwgNjcsIDEyOCwgNjksIDc4LCA2NSwgODIsIDg4LCA3MywgMjExLCA2OSwgNzgsIDY1LCA4MiwgNzcsIDc5LCA3OCwgCisgICAgNzMsIDc5LCAyMTEsIDY5LCA3NywgODAsIDg0LCAyMTcsIDY5LCA3NywgODAsIDcyLCA2NSwgODQsIDczLCAxOTUsIDY5LCAKKyAgICA3NywgODAsIDcyLCA2NSwgODMsIDczLCAyMTEsIDY5LCA3NywgNjYsIDgyLCA3OSwgNzMsIDY4LCA2OSwgODIsIDg5LCAxMjgsIAorICAgIDY5LCA3NywgNjYsIDc2LCA2OSwgNzcsIDEyOCwgNjksIDc3LCA2NiwgNjksIDc2LCA3NiwgNzMsIDgzLCA3MiwgNzcsIDY5LCAKKyAgICA3OCwgODQsIDEyOCwgNjksIDc3LCA2NiwgNjksIDY4LCA2OCwgNzMsIDc4LCA3MSwgMTI4LCA2OSwgNzYsIDg0LCAxMjgsIAorICAgIDY5LCA3NiwgNzYsIDczLCA4MCwgODQsIDczLCAxOTUsIDY5LCA3NiwgNzYsIDczLCA4MCwgODMsIDczLCA4MywgMTI4LCA2OSwgCisgICAgNzYsIDc2LCA3MywgODAsIDgzLCA2OSwgMTI4LCA2OSwgNzYsIDczLCA3MCwgNzMsIDEyOCwgNjksIDc2LCA2OSwgODYsIDY5LCAKKyAgICA3OCwgNDUsIDg0LCA3MiwgNzMsIDgyLCA4NCwgODksIDEyOCwgNjksIDc2LCA2OSwgODYsIDY5LCA3OCwgMTI4LCA2OSwgNzYsIAorICAgIDY5LCA4NiwgNjksIDIwNiwgNjksIDc2LCA2OSwgODAsIDcyLCA2NSwgNzgsIDg0LCAxMjgsIDY5LCA3NiwgNjksIDc3LCA2OSwgCisgICAgNzgsIDIxMiwgNjksIDc2LCA2OSwgNjcsIDg0LCA4MiwgNzMsIDY3LCA2NSwgMjA0LCA2OSwgNzYsIDY5LCA2NywgODQsIDgyLCAKKyAgICA3MywgMTk1LCA2OSwgNzYsIDY2LCA2NSwgODMsIDY1LCAyMDYsIDY5LCA3NiwgNjUsIDc3LCA3MywgODQsIDY5LCAxMjgsIAorICAgIDY5LCA3NiwgNjUsIDc3LCA3MywgODQsIDE5NywgNjksIDc2LCA2NSwgNzAsIDgyLCA3OSwgNzgsIDEyOCwgNjksIDc1LCA4MywgCisgICAgODQsIDgyLCA2OSwgODAsIDg0LCA3OSwgNzgsIDEyOCwgNjksIDc1LCA4MywgMTI4LCA2OSwgNzUsIDcwLCA3OSwgNzgsIDczLCAKKyAgICA4NCwgNzMsIDc1LCA3OSwgNzgsIDEyOCwgNjksIDc1LCA2NSwgODIsIDY1LCAxMjgsIDY5LCA3NSwgNjUsIDc3LCAxMjgsIAorICAgIDY5LCA3NCwgNjksIDY3LCAyMTIsIDY5LCA3MywgODMsIDEyOCwgNjksIDczLCA3MSwgNzIsIDg0LCA4OSwgMTI4LCA2OSwgCisgICAgNzMsIDcxLCA3MiwgODQsIDIxNywgNjksIDczLCA3MSwgNzIsIDg0LCA3MiwgODMsIDEyOCwgNjksIDczLCA3MSwgNzIsIDg0LCAKKyAgICA3MiwgMjExLCA2OSwgNzMsIDcxLCA3MiwgODQsIDcyLCAxMjgsIDY5LCA3MywgNzEsIDcyLCA4NCwgNjksIDY5LCA3OCwgCisgICAgMTI4LCA2OSwgNzMsIDcxLCA3MiwgODQsIDY5LCA2OSwgMjA2LCA2OSwgNzMsIDcxLCA3MiwgODQsIDQ1LCA4NCwgNzIsIDczLCAKKyAgICA4MiwgODQsIDg5LCAxMjgsIDY5LCA3MywgNjksIDEyOCwgNjksIDcyLCA4NywgNjUsIDIxOCwgNjksIDcxLCA4OSwgODAsIAorICAgIDg0LCA3OSwgNzYsIDc5LCA3MSwgNzMsIDY3LCA2NSwgMjA0LCA2OSwgNzEsIDczLCA4MiwgMTI4LCA2OSwgNzEsIDcxLCAKKyAgICAxMjgsIDY5LCA2OSwgODksIDY1LCA3OCwgNzgsIDY1LCAxMjgsIDY5LCA2OSwgNzUsIDY1LCA2NSwgMTI4LCA2OSwgNjksIAorICAgIDcyLCAxMjgsIDY5LCA2OSwgNjYsIDY5LCA2OSwgNzAsIDczLCA3NiwgNzMsIDEyOCwgNjksIDY4LCA3MywgODQsIDc5LCA4MiwgCisgICAgNzMsIDY1LCAyMDQsIDY5LCA2OCwgNzMsIDc4LCAxMjgsIDY5LCA2OCwgNjgsIDEyOCwgNjksIDY2LCA2OSwgNzAsIDczLCAKKyAgICA3NiwgNzMsIDEyOCwgNjksIDY1LCA4MywgODQsIDY5LCA4MiwgMjA2LCA2OSwgNjUsIDgzLCA4NCwgMTI4LCA2OSwgNjUsIAorICAgIDgzLCAyMTIsIDY5LCA2NSwgODIsIDg0LCA3MiwgNzYsIDIxNywgNjksIDY1LCA4MiwgODQsIDcyLCAxMjgsIDY5LCA2NSwgCisgICAgODIsIDg0LCAyMDAsIDY5LCA2NSwgODIsIDgzLCAxMjgsIDY5LCA2NSwgODIsIDc2LCAyMTcsIDY5LCA2NSwgNzcsIDcyLCAKKyAgICA2NSwgNzgsIDY3LCA3MiwgNzksIDc2LCA3NiwgMTI4LCA2OSwgNjUsIDcxLCA3NiwgNjksIDEyOCwgNjksIDY1LCA2OCwgNzIsIAorICAgIDY1LCA2OCwgNzIsIDEyOCwgNjksIDY1LCA2NiwgNzIsIDY1LCA2OCwgNzIsIDEyOCwgNjksIDE3OCwgNjksIDQ4LCA1MSwgCisgICAgNTYsIDEyOCwgNjksIDQ4LCA1MSwgNTUsIDEyOCwgNjksIDQ4LCA1MSwgNTQsIDEyOCwgNjksIDQ4LCA1MSwgNTIsIDY1LCAKKyAgICAxMjgsIDY5LCA0OCwgNTEsIDUyLCAxMjgsIDY5LCA0OCwgNTEsIDUxLCAxMjgsIDY5LCA0OCwgNTEsIDUwLCAxMjgsIDY5LCAKKyAgICA0OCwgNTEsIDQ5LCAxMjgsIDY5LCA0OCwgNTEsIDQ4LCAxMjgsIDY5LCA0OCwgNTAsIDU3LCAxMjgsIDY5LCA0OCwgNTAsIAorICAgIDU2LCA2NSwgMTI4LCA2OSwgNDgsIDUwLCA1NiwgMTI4LCA2OSwgNDgsIDUwLCA1NSwgMTI4LCA2OSwgNDgsIDUwLCA1NCwgCisgICAgMTI4LCA2OSwgNDgsIDUwLCA1MywgMTI4LCA2OSwgNDgsIDUwLCA1MiwgMTI4LCA2OSwgNDgsIDUwLCA1MSwgMTI4LCA2OSwgCisgICAgNDgsIDUwLCA1MCwgMTI4LCA2OSwgNDgsIDUwLCA0OSwgMTI4LCA2OSwgNDgsIDUwLCA0OCwgNjUsIDEyOCwgNjksIDQ4LCAKKyAgICA1MCwgNDgsIDEyOCwgNjksIDQ4LCA0OSwgNTcsIDEyOCwgNjksIDQ4LCA0OSwgNTYsIDEyOCwgNjksIDQ4LCA0OSwgNTUsIAorICAgIDY1LCAxMjgsIDY5LCA0OCwgNDksIDU1LCAxMjgsIDY5LCA0OCwgNDksIDU0LCA2NSwgMTI4LCA2OSwgNDgsIDQ5LCA1NCwgCisgICAgMTI4LCA2OSwgNDgsIDQ5LCA1MywgMTI4LCA2OSwgNDgsIDQ5LCA1MiwgMTI4LCA2OSwgNDgsIDQ5LCA1MSwgMTI4LCA2OSwgCisgICAgNDgsIDQ5LCA1MCwgMTI4LCA2OSwgNDgsIDQ5LCA0OSwgMTI4LCA2OSwgNDgsIDQ5LCA0OCwgMTI4LCA2OSwgNDgsIDQ4LCAKKyAgICA1NywgNjUsIDEyOCwgNjksIDQ4LCA0OCwgNTcsIDEyOCwgNjksIDQ4LCA0OCwgNTYsIDY1LCAxMjgsIDY5LCA0OCwgNDgsIAorICAgIDU2LCAxMjgsIDY5LCA0OCwgNDgsIDU1LCAxMjgsIDY5LCA0OCwgNDgsIDU0LCAxMjgsIDY5LCA0OCwgNDgsIDUzLCAxMjgsIAorICAgIDY5LCA0OCwgNDgsIDUyLCAxMjgsIDY5LCA0OCwgNDgsIDUxLCAxMjgsIDY5LCA0OCwgNDgsIDUwLCAxMjgsIDY5LCA0OCwgCisgICAgNDgsIDQ5LCAxMjgsIDY5LCA0NSwgNzcsIDY1LCA3MywgMjA0LCA2OCwgOTAsIDkwLCA3MiwgNjksIDEyOCwgNjgsIDkwLCAKKyAgICA5MCwgNjksIDEyOCwgNjgsIDkwLCA5MCwgNjUsIDEyOCwgNjgsIDkwLCA4OSwgNjUsIDg5LCAxMjgsIDY4LCA5MCwgODcsIAorICAgIDY5LCAxMjgsIDY4LCA5MCwgODUsIDEyOCwgNjgsIDkwLCA3OSwgMTI4LCA2OCwgOTAsIDc0LCA2OSwgMTI4LCA2OCwgOTAsIAorICAgIDczLCA4NCwgNjUsIDEyOCwgNjgsIDkwLCA3MywgMTI4LCA2OCwgOTAsIDcyLCA3OSwgNzMsIDEyOCwgNjgsIDkwLCA3MiwgCisgICAgNjksIDEyOCwgNjgsIDkwLCA3MiwgNjUsIDEyOCwgNjgsIDkwLCA2OSwgNzYsIDc5LCAxMjgsIDY4LCA5MCwgNjksIDY5LCAKKyAgICAxMjgsIDY4LCA5MCwgNjksIDEyOCwgNjgsIDkwLCA2NSwgODksIDEyOCwgNjgsIDkwLCA2NSwgNjUsIDEyOCwgNjgsIDkwLCAKKyAgICA2NSwgMTI4LCA2OCwgOTAsIDEyOCwgNjgsIDIxOCwgNjgsIDg5LCA3OSwgMTI4LCA2OCwgODksIDIwNywgNjgsIDg5LCA2OSwgCisgICAgNzIsIDEyOCwgNjgsIDg5LCA2OSwgMjAwLCA2OCwgODksIDY1LCA3OCwgMTI4LCA2OCwgODcsIDc5LCAxMjgsIDY4LCA4NywgCisgICAgNjksIDEyOCwgNjgsIDg3LCA2NSwgMTI4LCA2OCwgODYsIDczLCA4MywgODYsIDY1LCA4MiwgNjUsIDEyOCwgNjgsIDg2LCAKKyAgICA2OCwgMTI4LCA2OCwgODYsIDEyOCwgNjgsIDg1LCA4NCwgNzMsIDY5LCA4MywgMTI4LCA2OCwgODUsIDgzLCA3NSwgMTI4LCAKKyAgICA2OCwgODUsIDgzLCA3MiwgNjksIDc4LCA3OCwgNjUsIDEyOCwgNjgsIDg1LCA4MiwgNjUsIDg0LCA3MywgNzksIDc4LCAxMjgsIAorICAgIDY4LCA4NSwgODIsIDUwLCAxMjgsIDY4LCA4NSwgODAsIDc5LCA3OCwgNjgsIDczLCA4NSwgMjExLCA2OCwgODUsIDc5LCA4OCwgCisgICAgMTI4LCA2OCwgODUsIDc5LCAxMjgsIDY4LCA4NSwgNzgsIDUyLCAxMjgsIDY4LCA4NSwgNzgsIDUxLCAxMjgsIDY4LCA4NSwgCisgICAgNzgsIDE3OSwgNjgsIDg1LCA3NywgMTI4LCA2OCwgODUsIDIwNCwgNjgsIDg1LCA3MiwgMTI4LCA2OCwgODUsIDcxLCA4NSwgCisgICAgNjgsIDEyOCwgNjgsIDg1LCA2NiwgNTAsIDEyOCwgNjgsIDg1LCA2NiwgMTI4LCA2OCwgODUsIDE5NCwgNjgsIDgyLCA4OSwgCisgICAgMTI4LCA2OCwgODIsIDIxNywgNjgsIDgyLCA4NSwgNzcsIDEyOCwgNjgsIDgyLCA4NSwgMjA1LCA2OCwgODIsIDc5LCA4MCwgCisgICAgODMsIDEyOCwgNjgsIDgyLCA3OSwgODAsIDc2LCA2OSwgODQsIDEyOCwgNjgsIDgyLCA3OSwgODAsIDQ1LCA4MywgNzIsIDY1LCAKKyAgICA2OCwgNzksIDg3LCA2OSwgMTk2LCA2OCwgODIsIDc5LCA3NywgNjksIDY4LCA2NSwgODIsIDIxNywgNjgsIDgyLCA3MywgODYsIAorICAgIDY5LCAxMjgsIDY4LCA4MiwgNzMsIDg2LCAxOTcsIDY4LCA4MiwgNzMsIDc4LCA3NSwgMTI4LCA2OCwgODIsIDczLCAyMDQsIAorICAgIDY4LCA4MiwgNjksIDgzLCA4MywgMTI4LCA2OCwgODIsIDY1LCA4NSwgNzEsIDcyLCA4NCwgMjExLCA2OCwgODIsIDY1LCA3NywgCisgICAgMTI4LCA2OCwgODIsIDY1LCAyMDUsIDY4LCA4MiwgNjUsIDcxLCA3OSwgNzgsIDEyOCwgNjgsIDgyLCA2NSwgNzEsIDc5LCAKKyAgICAyMDYsIDY4LCA4MiwgNjUsIDcwLCA4NCwgNzMsIDc4LCAxOTksIDY4LCA4MiwgNjUsIDY3LCA3MiwgNzcsIDY1LCA4MywgCisgICAgMTI4LCA2OCwgODIsIDY1LCA2NywgNzIsIDc3LCA2NSwgMTI4LCA2OCwgODIsIDY1LCA2NywgNzIsIDc3LCAxOTMsIDY4LCAKKyAgICA3OSwgODcsIDc4LCA4NywgNjUsIDgyLCA2OCwgODMsIDEyOCwgNjgsIDc5LCA4NywgNzgsIDQ1LCA4MCwgNzksIDczLCA3OCwgCisgICAgODQsIDczLCA3OCwgMTk5LCA2OCwgNzksIDg3LCA3OCwgMTI4LCA2OCwgNzksIDg2LCA2OSwgMTI4LCA2OCwgNzksIDg2LCAKKyAgICAxOTcsIDY4LCA3OSwgODUsIDcxLCA3MiwgNzgsIDg1LCA4NCwgMTI4LCA2OCwgNzksIDg1LCA2NiwgODQsIDEyOCwgNjgsIAorICAgIDc5LCA4NSwgNjYsIDc2LCA2OSwgMTk2LCA2OCwgNzksIDg1LCA2NiwgNzYsIDY5LCA0NSwgNzYsIDczLCA3OCwgMTk3LCA2OCwgCisgICAgNzksIDg1LCA2NiwgNzYsIDY5LCA0NSwgNjksIDc4LCA2OCwgNjksIDE5NiwgNjgsIDc5LCA4NSwgNjYsIDc2LCA2OSwgMTI4LCAKKyAgICA2OCwgNzksIDg0LCA4NCwgNjksIDY4LCA0NSwgODAsIDEyOCwgNjgsIDc5LCA4NCwgODQsIDY5LCA2OCwgNDUsIDc4LCAxMjgsIAorICAgIDY4LCA3OSwgODQsIDg0LCA2OSwgNjgsIDQ1LCA3NiwgMTI4LCA2OCwgNzksIDg0LCA4NCwgNjksIDY4LCAxMjgsIDY4LCA3OSwgCisgICAgODQsIDg0LCA2OSwgMTk2LCA2OCwgNzksIDg0LCA4MywgNDUsIDU2LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNTUsIDU2LCAKKyAgICAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNTUsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA1NCwgNTYsIDEyOCwgNjgsIAorICAgIDc5LCA4NCwgODMsIDQ1LCA1NCwgNTUsIDU2LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNTQsIDU1LCAxMjgsIDY4LCA3OSwgCisgICAgODQsIDgzLCA0NSwgNTQsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA1MywgNTYsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCAKKyAgICA1MywgNTUsIDU2LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNTMsIDU1LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNTMsIAorICAgIDU0LCA1NiwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDUzLCA1NCwgNTUsIDU2LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgCisgICAgNTMsIDU0LCA1NSwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDUzLCA1NCwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDUzLCAKKyAgICAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNTIsIDU2LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNTIsIDU1LCA1NiwgCisgICAgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDUyLCA1NSwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDUyLCA1NCwgNTYsIAorICAgIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA1MiwgNTQsIDU1LCA1NiwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDUyLCA1NCwgCisgICAgNTUsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA1MiwgNTQsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA1MiwgNTMsIDU2LCAKKyAgICAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNTIsIDUzLCA1NSwgNTYsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA1MiwgNTMsIAorICAgIDU1LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNTIsIDUzLCA1NCwgNTYsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA1MiwgCisgICAgNTMsIDU0LCA1NSwgNTYsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA1MiwgNTMsIDU0LCA1NSwgMTI4LCA2OCwgNzksIDg0LCAKKyAgICA4MywgNDUsIDUyLCA1MywgNTQsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA1MiwgNTMsIDEyOCwgNjgsIDc5LCA4NCwgODMsIAorICAgIDQ1LCA1MiwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDUxLCA1NiwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDUxLCA1NSwgCisgICAgNTYsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA1MSwgNTUsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA1MSwgNTQsIDU2LCAKICAgICAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNTEsIDU0LCA1NSwgNTYsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA1MSwgNTQsIAogICAgIDU1LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNTEsIDU0LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNTEsIDUzLCA1NiwgCiAgICAgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDUxLCA1MywgNTUsIDU2LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNTEsIDUzLCAKQEAgLTM5NTIsOTkgKzQxNTAsMTA2IEBACiAgICAgNzEsIDEyOCwgNjgsIDc5LCA3OCwgNzEsIDEyOCwgNjgsIDc5LCA3NywgNjUsIDczLCAyMDYsIDY4LCA3OSwgNzYsIDgwLCAKICAgICA3MiwgNzMsIDc4LCAxMjgsIDY4LCA3OSwgNzYsIDc2LCA4MywgMTI4LCA2OCwgNzksIDc2LCA3NiwgNjUsIDIxMCwgNjgsIAogICAgIDc5LCA3NiwgNzMsIDg1LCA3NywgMTI4LCA2OCwgNzksIDc1LCA3NywgNjUsIDczLCAxMjgsIDY4LCA3OSwgNzMsIDg0LCAKLSAgICAxMjgsIDY4LCA3OSwgNzEsIDEyOCwgNjgsIDc5LCAxOTksIDY4LCA3OSwgNjksIDIxMSwgNjgsIDc5LCA2OCwgNjksIDc1LCAKLSAgICA2NSwgODQsIDY1LCAxMjgsIDY4LCA3OSwgNjYsIDgyLCA3OSwgMTI4LCA2OCwgNzksIDY1LCA2NywgNzIsIDY1LCA4MywgNzIsIAotICAgIDc3LCA2OSwgNjksIDEyOCwgNjgsIDc5LCA2NSwgNjcsIDcyLCA2NSwgODMsIDcyLCA3NywgNjksIDE5NywgNjgsIDc5LCA2NSwgCi0gICAgMTI4LCA2OCwgNzksIDQ1LCA3OSwgMTI4LCA2OCwgNzcsIDEyOCwgNjgsIDIwNSwgNjgsIDc2LCA4NSwgMTI4LCA2OCwgNzYsIAotICAgIDc5LCAxMjgsIDY4LCA3NiwgNzMsIDEyOCwgNjgsIDc2LCA3MiwgODksIDY1LCAxMjgsIDY4LCA3NiwgNzIsIDY1LCAxMjgsIAotICAgIDY4LCA3NiwgNjksIDY5LCAxMjgsIDY4LCA3NiwgNjUsIDEyOCwgNjgsIDc2LCAxMjgsIDY4LCA3NSwgNjUsIDgyLCAxMjgsIAotICAgIDY4LCA3NSwgNjUsIDIxMCwgNjgsIDc0LCA2OSwgODIsIDg2LCA3MywgMTI4LCA2OCwgNzQsIDY5LCA4MiwgODYsIDEyOCwgCi0gICAgNjgsIDc0LCA2OSwgMTI4LCA2OCwgNzQsIDY1LCAxMjgsIDY4LCA3MywgOTAsIDkwLCAyMTcsIDY4LCA3MywgODYsIDc5LCAKLSAgICA4MiwgNjcsIDE5NywgNjgsIDczLCA4NiwgNzMsIDgzLCA3MywgNzksIDc4LCAxMjgsIDY4LCA3MywgODYsIDczLCA4MywgNzMsIAotICAgIDc5LCAyMDYsIDY4LCA3MywgODYsIDczLCA3OCwgNjUsIDg0LCA3MywgNzksIDc4LCAxMjgsIDY4LCA3MywgODYsIDczLCA2OCwgCi0gICAgNjksIDgzLCAxMjgsIDY4LCA3MywgODYsIDczLCA2OCwgNjksIDgyLCAxMjgsIDY4LCA3MywgODYsIDczLCA2OCwgNjksIAotICAgIDE5NiwgNjgsIDczLCA4NiwgNzMsIDY4LCA2OSwgMTI4LCA2OCwgNzMsIDg2LCA3MywgNjgsIDE5NywgNjgsIDczLCA4NiwgCi0gICAgNjksIDgyLCA3MSwgNjksIDc4LCA2NywgNjksIDEyOCwgNjgsIDczLCA4NCwgODQsIDIwNywgNjgsIDczLCA4MywgODQsIDc5LCAKLSAgICA4MiwgODQsIDczLCA3OSwgNzgsIDEyOCwgNjgsIDczLCA4MywgODQsIDczLCA3OCwgNzEsIDg1LCA3MywgODMsIDcyLCAxMjgsIAotICAgIDY4LCA3MywgODMsIDg0LCA3MywgNzYsIDc2LCAxMjgsIDY4LCA3MywgODMsIDgzLCA3OSwgNzYsIDg2LCA2OSwgNDUsIDUwLCAKLSAgICAxMjgsIDY4LCA3MywgODMsIDgzLCA3OSwgNzYsIDg2LCA2OSwgMTI4LCA2OCwgNzMsIDgzLCA4MCwgNjksIDgyLCA4MywgNzMsIAotICAgIDc5LCA3OCwgMTI4LCA2OCwgNzMsIDgzLCA3NSwgMTI4LCA2OCwgNzMsIDgzLCA3MywgNzcsIDc5LCA4NSwgMTI4LCA2OCwgCi0gICAgNzMsIDgzLCA3MiwgMTI4LCA2OCwgNzMsIDgzLCA2NywgNzksIDc4LCA4NCwgNzMsIDc4LCA4NSwgNzksIDg1LCAyMTEsIDY4LCAKLSAgICA3MywgODMsIDE5NSwgNjgsIDczLCA4MywgNjUsIDgwLCA4MCwgNzksIDczLCA3OCwgODQsIDY5LCAxOTYsIDY4LCA3MywgODMsIAotICAgIDY1LCA2NiwgNzYsIDY5LCAxOTYsIDY4LCA3MywgODIsIDcxLCAxOTMsIDY4LCA3MywgODIsIDY5LCA2NywgODQsIDc2LCAKLSAgICAyMTcsIDY4LCA3MywgODIsIDY5LCA2NywgODQsIDczLCA3OSwgNzgsIDY1LCAyMDQsIDY4LCA3MywgODAsIDg0LCA2OSwgCi0gICAgMTI4LCA2OCwgNzMsIDgwLCA4MCwgNjksIDgyLCAxMjgsIDY4LCA3MywgODAsIDc2LCA3OSwgODUsIDc4LCAxMjgsIDY4LCAKLSAgICA3MywgODAsIDc2LCA3MywgMTI4LCA2OCwgNzMsIDgwLCA3NiwgMjAxLCA2OCwgNzMsIDc4LCA3MSwgNjYsIDY1LCAyMTIsIAotICAgIDY4LCA3MywgMjA2LCA2OCwgNzMsIDc3LCA3NywgNzMsIDc4LCA3MSwgMTI4LCA2OCwgNzMsIDc3LCA3MywgNzgsIDg1LCA4NCwgCi0gICAgNzMsIDc5LCA3OCwgNDUsIDUxLCAxMjgsIDY4LCA3MywgNzcsIDczLCA3OCwgODUsIDg0LCA3MywgNzksIDc4LCA0NSwgNTAsIAotICAgIDEyOCwgNjgsIDczLCA3NywgNzMsIDc4LCA4NSwgODQsIDczLCA3OSwgNzgsIDQ1LCA0OSwgMTI4LCA2OCwgNzMsIDc3LCA3MywgCi0gICAgNzgsIDczLCA4MywgNzIsIDc3LCA2OSwgNzgsIDg0LCAxMjgsIDY4LCA3MywgNzcsIDczLCA2OCwgNzMsIDE5MywgNjgsIDczLCAKLSAgICA3NywgNjksIDc4LCA4MywgNzMsIDc5LCA3OCwgNjUsIDIwNCwgNjgsIDczLCA3NywgNjksIDc4LCA4MywgNzMsIDc5LCAyMDYsIAotICAgIDY4LCA3MywgNzcsIDUwLCAxMjgsIDY4LCA3MywgNzYsIDEyOCwgNjgsIDczLCA3MSwgODIsIDY1LCA4MCwgNzIsIDEyOCwgCi0gICAgNjgsIDczLCA3MSwgODIsIDY1LCA4MCwgMjAwLCA2OCwgNzMsIDcxLCA4MiwgNjUsIDc3LCA3NywgNzksIDIxMSwgNjgsIDczLCAKLSAgICA3MSwgODIsIDY1LCA3NywgNzcsIDE5MywgNjgsIDczLCA3MSwgODIsIDY1LCAyMDUsIDY4LCA3MywgNzEsIDc5LCA4MiwgNzEsIAotICAgIDc5LCA3OCwgMTI4LCA2OCwgNzMsIDcxLCA3OSwgODIsIDcxLCA3OSwgMjA2LCA2OCwgNzMsIDcxLCA2NSwgNzcsIDc3LCA2NSwgCi0gICAgMTI4LCA2OCwgNzMsIDcxLCAxOTMsIDY4LCA3MywgNzAsIDg0LCA3OSwgNzEsIDcxLCA3OSwgMjExLCA2OCwgNzMsIDcwLCAKLSAgICA3OSwgNzgsIDczLCA2NSwgODMsIDEyOCwgNjgsIDczLCA3MCwgNzAsIDczLCA2NywgODUsIDc2LCA4NCwgMjE3LCA2OCwgNzMsIAotICAgIDcwLCA3MCwgNzMsIDY3LCA4NSwgNzYsIDg0LCA3MywgNjksIDgzLCAxMjgsIDY4LCA3MywgNzAsIDcwLCA2OSwgODIsIDY5LCAKLSAgICA3OCwgODQsIDczLCA2NSwgNzYsIDEyOCwgNjgsIDczLCA3MCwgNzAsIDY5LCA4MiwgNjksIDc4LCA2NywgMTk3LCA2OCwgNzMsIAotICAgIDcwLCA2NSwgODQsIDEyOCwgNjgsIDczLCA2OSwgODMsIDczLCA4MywgMTI4LCA2OCwgNzMsIDY5LCA4MywgNzMsIDIxMSwgCi0gICAgNjgsIDczLCA2OSwgODAsIDEyOCwgNjgsIDczLCAxOTcsIDY4LCA3MywgNjYsIDEyOCwgNjgsIDczLCA2NSwgODQsIDc5LCAKLSAgICA3OCwgNzksIDIwNiwgNjgsIDczLCA2NSwgODQsIDc5LCA3OCwgNzMsIDc1LCAyMDEsIDY4LCA3MywgNjUsIDgzLCA4NCwgNzksIAotICAgIDc2LCAyMDEsIDY4LCA3MywgNjUsIDc3LCA3OSwgNzgsIDY4LCA4MywgMTI4LCA2OCwgNzMsIDY1LCA3NywgNzksIDc4LCA2OCwgCi0gICAgMTI4LCA2OCwgNzMsIDY1LCA3NywgNzksIDc4LCAxOTYsIDY4LCA3MywgNjUsIDc3LCA2OSwgODQsIDY5LCAyMTAsIDY4LCAKLSAgICA3MywgNjUsIDc2LCA4OSwgODQsIDczLCA3NSwgNjUsIDEyOCwgNjgsIDczLCA2NSwgNzYsIDg5LCA4NCwgNzMsIDc1LCAxOTMsIAotICAgIDY4LCA3MywgNjUsIDc2LCA2OSwgNjcsIDg0LCA0NSwgMjA4LCA2OCwgNzMsIDY1LCA3MSwgNzksIDc4LCA2NSwgNzYsIDEyOCwgCi0gICAgNjgsIDczLCA2NSwgNzEsIDc5LCA3OCwgNjUsIDIwNCwgNjgsIDczLCA2NSwgNjksIDgyLCA2OSwgODMsIDczLCA5MCwgNjksIAotICAgIDE5NiwgNjgsIDczLCA2NSwgNjksIDgyLCA2OSwgODMsIDczLCA4MywgMTI4LCA2OCwgNzMsIDY1LCA2OSwgODIsIDY5LCA4MywgCi0gICAgNzMsIDIxMSwgNjgsIDcyLCA3OSwgODUsIDEyOCwgNjgsIDcyLCA3OSwgNzksIDEyOCwgNjgsIDcyLCA3OSwgMTI4LCA2OCwgCi0gICAgNzIsIDczLCAxMjgsIDY4LCA3MiwgNzIsIDg1LCAxMjgsIDY4LCA3MiwgNzIsIDc5LCA3OSwgMTI4LCA2OCwgNzIsIDcyLCAKLSAgICA3OSwgMTI4LCA2OCwgNzIsIDcyLCA3MywgMTI4LCA2OCwgNzIsIDcyLCA2OSwgNjksIDEyOCwgNjgsIDcyLCA3MiwgNjksIAotICAgIDEyOCwgNjgsIDcyLCA3MiwgNjUsIDEyOCwgNjgsIDcyLCA2OSwgNjksIDEyOCwgNjgsIDcyLCA2NSwgODIsIDc3LCA2NSwgCi0gICAgMTI4LCA2OCwgNzIsIDY1LCA3NiwgNjksIDg0LCA3MiwgMTI4LCA2OCwgNzIsIDY1LCA3NiwgNjUsIDg0LCA3MiwgMTI4LCAKLSAgICA2OCwgNzIsIDY1LCA3NiwgMTI4LCA2OCwgNzIsIDY1LCA2OCwgNzIsIDY5LCAxMjgsIDY4LCA3MiwgNjUsIDY1LCA3NiwgODUsIAotICAgIDEyOCwgNjgsIDcyLCA2NSwgNjUsIDEyOCwgNjgsIDcyLCA2NSwgMTI4LCA2OCwgNjksIDkwLCAyMDAsIDY4LCA2OSwgODksIAotICAgIDg0LCA2OSwgODIsIDc5LCAyMTMsIDY4LCA2OSwgODksIDg0LCA2OSwgODIsIDc5LCAyMTEsIDY4LCA2OSwgODgsIDczLCA2NSwgCi0gICAgMTI4LCA2OCwgNjksIDg2LCA3MywgNjcsIDE5NywgNjgsIDY5LCA4NiwgNjksIDc2LCA3OSwgODAsIDc3LCA2OSwgNzgsIDg0LCAKLSAgICAxMjgsIDY4LCA2OSwgODUsIDc4LCA3MSwgMTI4LCA2OCwgNjksIDgzLCAyMDMsIDY4LCA2OSwgODMsIDczLCA3MSwgNzgsIAotICAgIDEyOCwgNjgsIDY5LCA4MywgNzMsIDEyOCwgNjgsIDY5LCA4MywgNjcsIDgyLCA3MywgODAsIDg0LCA3MywgNzksIDIwNiwgCi0gICAgNjgsIDY5LCA4MywgNjcsIDY5LCA3OCwgNjgsIDczLCA3OCwgMTk5LCA2OCwgNjksIDgzLCA2NywgNjksIDc4LCA2OCwgNjksIAotICAgIDgyLCAxMjgsIDY4LCA2OSwgODIsIDY5LCA4NCwgNDUsIDcyLCA3MywgNjgsIDY5LCA4NCwgMTI4LCA2OCwgNjksIDgyLCA2OSwgCi0gICAgODQsIDEyOCwgNjgsIDY5LCA4MCwgNjUsIDgyLCA4NCwgODUsIDgyLCA2OSwgMTI4LCA2OCwgNjksIDgwLCA2NSwgODIsIDg0LCAKLSAgICA3NywgNjksIDc4LCAyMTIsIDY4LCA2OSwgODAsIDY1LCA4MiwgODQsIDczLCA3OCwgMTk5LCA2OCwgNjksIDc4LCA4NCwgNzMsIAotICAgIDgzLCA4NCwgODIsIDIxNywgNjgsIDY5LCA3OCwgODQsIDY1LCAyMDQsIDY4LCA2OSwgNzgsIDc5LCA3NywgNzMsIDc4LCA2NSwgCi0gICAgODQsIDc5LCA4MiwgMTI4LCA2OCwgNjksIDc4LCA3OSwgNzcsIDczLCA3OCwgNjUsIDg0LCA3OSwgMjEwLCA2OCwgNjksIDc4LCAKLSAgICA3OCwgNjksIDc4LCAxMjgsIDY4LCA2OSwgNzgsIDcxLCAxMjgsIDY4LCA2OSwgNzgsIDE5NywgNjgsIDY5LCA3OCwgNjUsIAotICAgIDgyLCA3MywgODUsIDIxMSwgNjgsIDY5LCA3NiwgODQsIDY1LCAxMjgsIDY4LCA2OSwgNzYsIDg0LCAxOTMsIDY4LCA2OSwgCi0gICAgNzYsIDg0LCAxMjgsIDY4LCA2OSwgNzYsIDgwLCA3MiwgNzMsIDE5NSwgNjgsIDY5LCA3NiwgNzMsIDg2LCA2OSwgODIsIAotICAgIDIxNywgNjgsIDY5LCA3NiwgNzMsIDg2LCA2OSwgODIsIDY1LCA3OCwgNjcsIDY5LCAxMjgsIDY4LCA2OSwgNzYsIDczLCA3NywgCi0gICAgNzMsIDg0LCA2OSwgODIsIDEyOCwgNjgsIDY5LCA3NiwgNzMsIDc3LCA3MywgODQsIDY5LCAyMTAsIDY4LCA2OSwgNzYsIDczLCAKLSAgICA2NywgNzMsIDc5LCA4NSwgMjExLCA2OCwgNjksIDc2LCA2OSwgODQsIDY5LCAxMjgsIDY4LCA2OSwgNzYsIDY5LCA4NCwgCi0gICAgMTk3LCA2OCwgNjksIDc1LCA2NSwgMTI4LCA2OCwgNjksIDc1LCAxMjgsIDY4LCA2OSwgNzMsIDEyOCwgNjgsIDY5LCA3MiwgCi0gICAgNzMsIDEyOCwgNjgsIDY5LCA3MSwgODIsIDY5LCAxOTcsIDY4LCA2OSwgNzAsIDczLCA3OCwgNzMsIDg0LCA3MywgNzksIDc4LCAKKyAgICAxMjgsIDY4LCA3OSwgNzMsIDEyOCwgNjgsIDc5LCA3MSwgMTI4LCA2OCwgNzksIDE5OSwgNjgsIDc5LCA2OSwgMjExLCA2OCwgCisgICAgNzksIDY4LCA2OSwgNzUsIDY1LCA4NCwgNjUsIDEyOCwgNjgsIDc5LCA2NywgODUsIDc3LCA2OSwgNzgsIDg0LCAxMjgsIDY4LCAKKyAgICA3OSwgNjcsIDg1LCA3NywgNjksIDc4LCAyMTIsIDY4LCA3OSwgNjYsIDgyLCA3OSwgMTI4LCA2OCwgNzksIDY1LCA2NywgNzIsIAorICAgIDY1LCA4MywgNzIsIDc3LCA2OSwgNjksIDEyOCwgNjgsIDc5LCA2NSwgNjcsIDcyLCA2NSwgODMsIDcyLCA3NywgNjksIDE5NywgCisgICAgNjgsIDc5LCA2NSwgMTI4LCA2OCwgNzksIDQ1LCA3OSwgMTI4LCA2OCwgNzcsIDEyOCwgNjgsIDIwNSwgNjgsIDc2LCA4NSwgCisgICAgMTI4LCA2OCwgNzYsIDc5LCAxMjgsIDY4LCA3NiwgNzMsIDEyOCwgNjgsIDc2LCA3MiwgODksIDY1LCAxMjgsIDY4LCA3NiwgCisgICAgNzIsIDY1LCAxMjgsIDY4LCA3NiwgNjksIDY5LCAxMjgsIDY4LCA3NiwgNjUsIDEyOCwgNjgsIDc2LCAxMjgsIDY4LCA3NSwgCisgICAgNjUsIDgyLCAxMjgsIDY4LCA3NSwgNjUsIDIxMCwgNjgsIDc0LCA2OSwgODIsIDg2LCA3MywgMTI4LCA2OCwgNzQsIDY5LCAKKyAgICA4MiwgODYsIDEyOCwgNjgsIDc0LCA2OSwgMTI4LCA2OCwgNzQsIDY1LCAxMjgsIDY4LCA3MywgOTAsIDkwLCAyMTcsIDY4LCAKKyAgICA3MywgODYsIDc5LCA4MiwgNjcsIDE5NywgNjgsIDczLCA4NiwgNzMsIDgzLCA3MywgNzksIDc4LCAxMjgsIDY4LCA3MywgODYsIAorICAgIDczLCA4MywgNzMsIDc5LCAyMDYsIDY4LCA3MywgODYsIDczLCA3OCwgNjUsIDg0LCA3MywgNzksIDc4LCAxMjgsIDY4LCA3MywgCisgICAgODYsIDczLCA2OCwgNjksIDgzLCAxMjgsIDY4LCA3MywgODYsIDczLCA2OCwgNjksIDgyLCA4MywgMTI4LCA2OCwgNzMsIDg2LCAKKyAgICA3MywgNjgsIDY5LCA4MiwgMTI4LCA2OCwgNzMsIDg2LCA3MywgNjgsIDY5LCAxOTYsIDY4LCA3MywgODYsIDczLCA2OCwgNjksIAorICAgIDEyOCwgNjgsIDczLCA4NiwgNzMsIDY4LCAxOTcsIDY4LCA3MywgODYsIDY5LCA4MiwgNzEsIDY5LCA3OCwgNjcsIDY5LCAKKyAgICAxMjgsIDY4LCA3MywgODQsIDg0LCAyMDcsIDY4LCA3MywgODMsIDg0LCA3OSwgODIsIDg0LCA3MywgNzksIDc4LCAxMjgsIAorICAgIDY4LCA3MywgODMsIDg0LCA3MywgNzgsIDcxLCA4NSwgNzMsIDgzLCA3MiwgMTI4LCA2OCwgNzMsIDgzLCA4NCwgNzMsIDc2LCAKKyAgICA3NiwgMTI4LCA2OCwgNzMsIDgzLCA4MywgNzksIDc2LCA4NiwgNjksIDQ1LCA1MCwgMTI4LCA2OCwgNzMsIDgzLCA4MywgNzksIAorICAgIDc2LCA4NiwgNjksIDEyOCwgNjgsIDczLCA4MywgODAsIDY5LCA4MiwgODMsIDczLCA3OSwgNzgsIDEyOCwgNjgsIDczLCA4MywgCisgICAgNzUsIDEyOCwgNjgsIDczLCA4MywgNzMsIDc3LCA3OSwgODUsIDEyOCwgNjgsIDczLCA4MywgNzIsIDEyOCwgNjgsIDczLCAKKyAgICA4MywgNjcsIDc5LCA3OCwgODQsIDczLCA3OCwgODUsIDc5LCA4NSwgMjExLCA2OCwgNzMsIDgzLCAxOTUsIDY4LCA3MywgODMsIAorICAgIDY1LCA4MCwgODAsIDc5LCA3MywgNzgsIDg0LCA2OSwgMTk2LCA2OCwgNzMsIDgzLCA2NSwgNjYsIDc2LCA2OSwgMTk2LCA2OCwgCisgICAgNzMsIDgyLCA3MSwgMTkzLCA2OCwgNzMsIDgyLCA2OSwgNjcsIDg0LCA3NiwgMjE3LCA2OCwgNzMsIDgyLCA2OSwgNjcsIDg0LCAKKyAgICA3MywgNzksIDc4LCA2NSwgMjA0LCA2OCwgNzMsIDgwLCA4NCwgNjksIDEyOCwgNjgsIDczLCA4MCwgODAsIDY5LCA4MiwgCisgICAgMTI4LCA2OCwgNzMsIDgwLCA3NiwgNzksIDg1LCA3OCwgMTI4LCA2OCwgNzMsIDgwLCA3NiwgNzMsIDEyOCwgNjgsIDczLCAKKyAgICA4MCwgNzYsIDIwMSwgNjgsIDczLCA3OCwgNzEsIDY2LCA2NSwgMjEyLCA2OCwgNzMsIDIwNiwgNjgsIDczLCA3NywgNzcsIAorICAgIDczLCA3OCwgNzEsIDEyOCwgNjgsIDczLCA3NywgNzMsIDc4LCA4NSwgODQsIDczLCA3OSwgNzgsIDQ1LCA1MSwgMTI4LCA2OCwgCisgICAgNzMsIDc3LCA3MywgNzgsIDg1LCA4NCwgNzMsIDc5LCA3OCwgNDUsIDUwLCAxMjgsIDY4LCA3MywgNzcsIDczLCA3OCwgODUsIAorICAgIDg0LCA3MywgNzksIDc4LCA0NSwgNDksIDEyOCwgNjgsIDczLCA3NywgNzMsIDc4LCA3MywgODMsIDcyLCA3NywgNjksIDc4LCAKKyAgICA4NCwgMTI4LCA2OCwgNzMsIDc3LCA3MywgNjgsIDczLCAxOTMsIDY4LCA3MywgNzcsIDY5LCA3OCwgODMsIDczLCA3OSwgNzgsIAorICAgIDY1LCAyMDQsIDY4LCA3MywgNzcsIDY5LCA3OCwgODMsIDczLCA3OSwgMjA2LCA2OCwgNzMsIDc3LCA1MCwgMTI4LCA2OCwgCisgICAgNzMsIDc2LCAxMjgsIDY4LCA3MywgNzEsIDgyLCA2NSwgODAsIDcyLCAxMjgsIDY4LCA3MywgNzEsIDgyLCA2NSwgODAsIAorICAgIDIwMCwgNjgsIDczLCA3MSwgODIsIDY1LCA3NywgNzcsIDc5LCAyMTEsIDY4LCA3MywgNzEsIDgyLCA2NSwgNzcsIDc3LCAKKyAgICAxOTMsIDY4LCA3MywgNzEsIDgyLCA2NSwgMjA1LCA2OCwgNzMsIDcxLCA3OSwgODIsIDcxLCA3OSwgNzgsIDEyOCwgNjgsIAorICAgIDczLCA3MSwgNzksIDgyLCA3MSwgNzksIDIwNiwgNjgsIDczLCA3MSwgNjUsIDc3LCA3NywgNjUsIDEyOCwgNjgsIDczLCA3MSwgCisgICAgMTkzLCA2OCwgNzMsIDcwLCA4NCwgNzksIDcxLCA3MSwgNzksIDIxMSwgNjgsIDczLCA3MCwgNzksIDc4LCA3MywgNjUsIDgzLCAKKyAgICAxMjgsIDY4LCA3MywgNzAsIDcwLCA3MywgNjcsIDg1LCA3NiwgODQsIDIxNywgNjgsIDczLCA3MCwgNzAsIDczLCA2NywgODUsIAorICAgIDc2LCA4NCwgNzMsIDY5LCA4MywgMTI4LCA2OCwgNzMsIDcwLCA3MCwgNjksIDgyLCA2OSwgNzgsIDg0LCA3MywgNjUsIDc2LCAKKyAgICAxMjgsIDY4LCA3MywgNzAsIDcwLCA2OSwgODIsIDY5LCA3OCwgNjcsIDE5NywgNjgsIDczLCA3MCwgNjUsIDg0LCAxMjgsIAorICAgIDY4LCA3MywgNjksIDgzLCA3MywgODMsIDEyOCwgNjgsIDczLCA2OSwgODMsIDczLCAyMTEsIDY4LCA3MywgNjksIDgzLCA2OSwgCisgICAgMjA0LCA2OCwgNzMsIDY5LCA4MCwgMTI4LCA2OCwgNzMsIDE5NywgNjgsIDczLCA2NiwgMTI4LCA2OCwgNzMsIDY1LCA4NCwgCisgICAgNzksIDc4LCA3OSwgMjA2LCA2OCwgNzMsIDY1LCA4NCwgNzksIDc4LCA3MywgNzUsIDIwMSwgNjgsIDczLCA2NSwgODMsIDg0LCAKKyAgICA3OSwgNzYsIDIwMSwgNjgsIDczLCA2NSwgNzcsIDc5LCA3OCwgNjgsIDgzLCAxMjgsIDY4LCA3MywgNjUsIDc3LCA3OSwgNzgsIAorICAgIDY4LCAxMjgsIDY4LCA3MywgNjUsIDc3LCA3OSwgNzgsIDE5NiwgNjgsIDczLCA2NSwgNzcsIDY5LCA4NCwgNjksIDIxMCwgCisgICAgNjgsIDczLCA2NSwgNzYsIDg5LCA4NCwgNzMsIDc1LCA2NSwgMTI4LCA2OCwgNzMsIDY1LCA3NiwgODksIDg0LCA3MywgNzUsIAorICAgIDE5MywgNjgsIDczLCA2NSwgNzYsIDY5LCA2NywgODQsIDQ1LCAyMDgsIDY4LCA3MywgNjUsIDcxLCA3OSwgNzgsIDY1LCA3NiwgCisgICAgMTI4LCA2OCwgNzMsIDY1LCA3MSwgNzksIDc4LCA2NSwgMjA0LCA2OCwgNzMsIDY1LCA2OSwgODIsIDY5LCA4MywgNzMsIDkwLCAKKyAgICA2OSwgMTk2LCA2OCwgNzMsIDY1LCA2OSwgODIsIDY5LCA4MywgNzMsIDgzLCA0NSwgODIsIDczLCA3OCwgNzEsIDEyOCwgNjgsIAorICAgIDczLCA2NSwgNjksIDgyLCA2OSwgODMsIDczLCA4MywgMTI4LCA2OCwgNzMsIDY1LCA2OSwgODIsIDY5LCA4MywgNzMsIDIxMSwgCisgICAgNjgsIDcyLCA3OSwgODUsIDEyOCwgNjgsIDcyLCA3OSwgNzksIDEyOCwgNjgsIDcyLCA3OSwgMTI4LCA2OCwgNzIsIDczLCAKKyAgICA3MywgMTI4LCA2OCwgNzIsIDczLCAxMjgsIDY4LCA3MiwgNzIsIDg1LCAxMjgsIDY4LCA3MiwgNzIsIDc5LCA3OSwgMTI4LCAKKyAgICA2OCwgNzIsIDcyLCA3OSwgMTI4LCA2OCwgNzIsIDcyLCA3MywgMTI4LCA2OCwgNzIsIDcyLCA2OSwgNjksIDEyOCwgNjgsIAorICAgIDcyLCA3MiwgNjksIDEyOCwgNjgsIDcyLCA3MiwgNjUsIDEyOCwgNjgsIDcyLCA2OSwgNjksIDEyOCwgNjgsIDcyLCA2NSwgCisgICAgODIsIDc3LCA2NSwgMTI4LCA2OCwgNzIsIDY1LCA3NywgNjksIDY4LCA3MiwgMTI4LCA2OCwgNzIsIDY1LCA3NiwgNjksIDg0LCAKKyAgICA3MiwgMTI4LCA2OCwgNzIsIDY1LCA3NiwgNjUsIDg0LCA3MiwgMTI4LCA2OCwgNzIsIDY1LCA3NiwgMTI4LCA2OCwgNzIsIAorICAgIDY1LCA2OCwgNzIsIDY5LCAxMjgsIDY4LCA3MiwgNjUsIDY1LCA3NiwgODUsIDEyOCwgNjgsIDcyLCA2NSwgNjUsIDEyOCwgCisgICAgNjgsIDcyLCA2NSwgMTI4LCA2OCwgNjksIDkwLCAyMDAsIDY4LCA2OSwgODksIDg0LCA2OSwgODIsIDc5LCAyMTMsIDY4LCAKKyAgICA2OSwgODksIDg0LCA2OSwgODIsIDc5LCAyMTEsIDY4LCA2OSwgODgsIDczLCA2NSwgMTI4LCA2OCwgNjksIDg2LCA3MywgNjcsIAorICAgIDE5NywgNjgsIDY5LCA4NiwgNjksIDc2LCA3OSwgODAsIDc3LCA2OSwgNzgsIDg0LCAxMjgsIDY4LCA2OSwgODUsIDc4LCA3MSwgCisgICAgMTI4LCA2OCwgNjksIDgzLCA3NSwgODQsIDc5LCAyMDgsIDY4LCA2OSwgODMsIDIwMywgNjgsIDY5LCA4MywgNzMsIDcxLCAKKyAgICA3OCwgMTI4LCA2OCwgNjksIDgzLCA3MywgMTI4LCA2OCwgNjksIDgzLCA2OSwgODIsIDg0LCAxMjgsIDY4LCA2OSwgODMsIAorICAgIDY5LCA4MiwgMjEyLCA2OCwgNjksIDgzLCA2OSwgODIsIDY5LCAyMTIsIDY4LCA2OSwgODMsIDY3LCA4MiwgNzMsIDgwLCA4NCwgCisgICAgNzMsIDc5LCAyMDYsIDY4LCA2OSwgODMsIDY3LCA2OSwgNzgsIDY4LCA3MywgNzgsIDE5OSwgNjgsIDY5LCA4MywgNjcsIDY5LCAKKyAgICA3OCwgNjgsIDY5LCA4MiwgMTI4LCA2OCwgNjksIDgyLCA2OSwgODQsIDQ1LCA3MiwgNzMsIDY4LCA2OSwgODQsIDEyOCwgNjgsIAorICAgIDY5LCA4MiwgNjksIDg0LCAxMjgsIDY4LCA2OSwgODIsIDY5LCA3NiwgNzMsIDY3LCAyMTIsIDY4LCA2OSwgODAsIDY1LCA4MiwgCisgICAgODQsIDg1LCA4MiwgNjksIDEyOCwgNjgsIDY5LCA4MCwgNjUsIDgyLCA4NCwgNzcsIDY5LCA3OCwgMjEyLCA2OCwgNjksIDgwLCAKKyAgICA2NSwgODIsIDg0LCA3MywgNzgsIDE5OSwgNjgsIDY5LCA3OCwgODQsIDczLCA4MywgODQsIDgyLCAyMTcsIDY4LCA2OSwgNzgsIAorICAgIDg0LCA2NSwgMjA0LCA2OCwgNjksIDc4LCA3OSwgNzcsIDczLCA3OCwgNjUsIDg0LCA3OSwgODIsIDEyOCwgNjgsIDY5LCA3OCwgCisgICAgNzksIDc3LCA3MywgNzgsIDY1LCA4NCwgNzksIDIxMCwgNjgsIDY5LCA3OCwgNzgsIDY5LCA3OCwgMTI4LCA2OCwgNjksIDc4LCAKKyAgICA3MSwgMTI4LCA2OCwgNjksIDc4LCAxOTcsIDY4LCA2OSwgNzgsIDY1LCA4MiwgNzMsIDg1LCAyMTEsIDY4LCA2OSwgNzYsIAorICAgIDg0LCA2NSwgMTI4LCA2OCwgNjksIDc2LCA4NCwgMTkzLCA2OCwgNjksIDc2LCA4NCwgMTI4LCA2OCwgNjksIDc2LCA4MCwgCisgICAgNzIsIDczLCAxOTUsIDY4LCA2OSwgNzYsIDczLCA4NiwgNjksIDgyLCAyMTcsIDY4LCA2OSwgNzYsIDczLCA4NiwgNjksIDgyLCAKKyAgICA2NSwgNzgsIDY3LCA2OSwgMTI4LCA2OCwgNjksIDc2LCA3MywgNzcsIDczLCA4NCwgNjksIDgyLCAxMjgsIDY4LCA2OSwgNzYsIAorICAgIDczLCA3NywgNzMsIDg0LCA2OSwgMjEwLCA2OCwgNjksIDc2LCA3MywgNjcsIDczLCA3OSwgODUsIDIxMSwgNjgsIDY5LCA3NiwgCisgICAgNjksIDg0LCA2OSwgMTI4LCA2OCwgNjksIDc2LCA2OSwgODQsIDE5NywgNjgsIDY5LCA3NSwgNjUsIDEyOCwgNjgsIDY5LCAKKyAgICA3NSwgMTI4LCA2OCwgNjksIDczLCAxMjgsIDY4LCA2OSwgNzIsIDczLCAxMjgsIDY4LCA2OSwgNzEsIDgyLCA2OSwgNjksIAorICAgIDgzLCAxMjgsIDY4LCA2OSwgNzEsIDgyLCA2OSwgMTk3LCA2OCwgNjksIDcwLCA3MywgNzgsIDczLCA4NCwgNzMsIDc5LCA3OCwgCiAgICAgMTI4LCA2OCwgNjksIDcwLCA2OSwgNjcsIDg0LCA3MywgODYsIDY5LCA3OCwgNjksIDgzLCAyMTEsIDY4LCA2OSwgNjksIDgyLCAKICAgICAxMjgsIDY4LCA2OSwgNjksIDgwLCA3NiwgODksIDEyOCwgNjgsIDY5LCA2OSwgNzYsIDEyOCwgNjgsIDY5LCA2NywgODIsIAogICAgIDY5LCA4MywgNjcsIDY5LCA3OCwgNjgsIDc5LCAxMjgsIDY4LCA2OSwgNjcsIDgyLCA2OSwgNjUsIDgzLCA2OSwgMTI4LCA2OCwgCi0gICAgNjksIDY3LCA3OSwgODIsIDY1LCA4NCwgNzMsIDg2LCAxOTcsIDY4LCA2OSwgNjcsIDc5LCA4MiwgNjUsIDg0LCA3MywgNzksIAotICAgIDc4LCAxMjgsIDY4LCA2OSwgNjcsIDczLCA4MywgNzMsIDg2LCA2OSwgNzgsIDY5LCA4MywgODMsIDEyOCwgNjgsIDY5LCA2NywgCi0gICAgNzMsIDc3LCA2NSwgMjA0LCA2OCwgNjksIDY3LCA3MywgNjgsIDg1LCA3OSwgODUsIDIxMSwgNjgsIDY5LCA2NywgNjksIDc3LCAKLSAgICA2NiwgNjksIDgyLCAxMjgsIDY4LCA2OSwgNjcsIDY1LCA4OSwgNjksIDY4LCAxMjgsIDY4LCA2OSwgNjYsIDczLCAyMTIsIAotICAgIDY4LCA2OSwgNjUsIDg0LCA3MiwgMTI4LCA2OCwgNjksIDY1LCA2OCwgMTI4LCA2OCwgNjgsIDg3LCA2NSwgMTI4LCA2OCwgCi0gICAgNjgsIDg1LCA4OCwgMTI4LCA2OCwgNjgsIDg1LCA4NCwgMTI4LCA2OCwgNjgsIDg1LCA4MiwgODgsIDEyOCwgNjgsIDY4LCAKLSAgICA4NSwgODIsIDEyOCwgNjgsIDY4LCA4NSwgODAsIDEyOCwgNjgsIDY4LCA4NSwgNzksIDg4LCAxMjgsIDY4LCA2OCwgODUsIAotICAgIDc5LCA4MCwgMTI4LCA2OCwgNjgsIDg1LCA3OSwgMTI4LCA2OCwgNjgsIDg1LCAxMjgsIDY4LCA2OCwgNzksIDg4LCAxMjgsIAotICAgIDY4LCA2OCwgNzksIDg0LCAxMjgsIDY4LCA2OCwgNzksIDgwLCAxMjgsIDY4LCA2OCwgNzksIDY1LCAxMjgsIDY4LCA2OCwgCi0gICAgNzMsIDg4LCAxMjgsIDY4LCA2OCwgNzMsIDg0LCAxMjgsIDY4LCA2OCwgNzMsIDgwLCAxMjgsIDY4LCA2OCwgNzMsIDY5LCAKLSAgICA4OCwgMTI4LCA2OCwgNjgsIDczLCA2OSwgODAsIDEyOCwgNjgsIDY4LCA3MywgNjksIDEyOCwgNjgsIDY4LCA3MywgMTI4LCAKLSAgICA2OCwgNjgsIDcyLCA4NSwgMTI4LCA2OCwgNjgsIDcyLCA3OSwgMTI4LCA2OCwgNjgsIDcyLCA3MywgMTI4LCA2OCwgNjgsIAotICAgIDcyLCA2OSwgNjksIDEyOCwgNjgsIDY4LCA3MiwgNjksIDEyOCwgNjgsIDY4LCA3MiwgNjUsIDY1LCAxMjgsIDY4LCA2OCwgCi0gICAgNzIsIDY1LCAxMjgsIDY4LCA2OCwgNjksIDg4LCAxMjgsIDY4LCA2OCwgNjksIDgwLCAxMjgsIDY4LCA2OCwgNjksIDY5LCAKLSAgICAxMjgsIDY4LCA2OCwgNjksIDEyOCwgNjgsIDY4LCA2OCwgNzIsIDY1LCAxMjgsIDY4LCA2OCwgNjgsIDY1LCAxMjgsIDY4LCAKLSAgICA2OCwgNjUsIDg5LCA2NSwgNzgsIDc4LCA2NSwgMTI4LCA2OCwgNjgsIDY1LCA4OCwgMTI4LCA2OCwgNjgsIDY1LCA4NCwgCi0gICAgMTI4LCA2OCwgNjgsIDY1LCA4MCwgMTI4LCA2OCwgNjgsIDY1LCA3NiwgMTI4LCA2OCwgNjgsIDY1LCAyMDQsIDY4LCA2OCwgCi0gICAgNjUsIDcyLCA2NSwgNzYsIDEyOCwgNjgsIDY4LCA2NSwgNzIsIDY1LCAyMDQsIDY4LCA2OCwgNjUsIDY1LCAxMjgsIDY4LCAKLSAgICA2NywgODMsIDEyOCwgNjgsIDY3LCA1MiwgMTI4LCA2OCwgNjcsIDUxLCAxMjgsIDY4LCA2NywgNTAsIDEyOCwgNjgsIDY3LCAKLSAgICA0OSwgMTI4LCA2OCwgMTk0LCA2OCwgNjUsIDg5LCA0NSwgNzgsIDczLCA3MSwgNzIsIDg0LCAxMjgsIDY4LCA2NSwgMjE3LCAKKyAgICA2OSwgNjcsIDgyLCA2OSwgNjUsIDgzLCAxOTcsIDY4LCA2OSwgNjcsIDc5LCA4MiwgNjUsIDg0LCA3MywgODYsIDE5NywgNjgsIAorICAgIDY5LCA2NywgNzksIDgyLCA2NSwgODQsIDczLCA3OSwgNzgsIDEyOCwgNjgsIDY5LCA2NywgNzMsIDgzLCA3MywgODYsIDY5LCAKKyAgICA3OCwgNjksIDgzLCA4MywgMTI4LCA2OCwgNjksIDY3LCA3MywgNzcsIDY1LCAyMDQsIDY4LCA2OSwgNjcsIDczLCA2OCwgODUsIAorICAgIDc5LCA4NSwgMjExLCA2OCwgNjksIDY3LCA2OSwgNzcsIDY2LCA2OSwgODIsIDEyOCwgNjgsIDY5LCA2NywgNjUsIDg5LCA2OSwgCisgICAgNjgsIDEyOCwgNjgsIDY5LCA2NiwgNzMsIDIxMiwgNjgsIDY5LCA2NSwgODQsIDcyLCAxMjgsIDY4LCA2OSwgNjUsIDY4LCAKKyAgICAxMjgsIDY4LCA2OCwgODcsIDY1LCAxMjgsIDY4LCA2OCwgODUsIDg4LCAxMjgsIDY4LCA2OCwgODUsIDg0LCAxMjgsIDY4LCAKKyAgICA2OCwgODUsIDgyLCA4OCwgMTI4LCA2OCwgNjgsIDg1LCA4MiwgMTI4LCA2OCwgNjgsIDg1LCA4MCwgMTI4LCA2OCwgNjgsIAorICAgIDg1LCA3OSwgODgsIDEyOCwgNjgsIDY4LCA4NSwgNzksIDgwLCAxMjgsIDY4LCA2OCwgODUsIDc5LCAxMjgsIDY4LCA2OCwgCisgICAgODUsIDEyOCwgNjgsIDY4LCA3OSwgODgsIDEyOCwgNjgsIDY4LCA3OSwgODQsIDEyOCwgNjgsIDY4LCA3OSwgODAsIDEyOCwgCisgICAgNjgsIDY4LCA3OSwgNjUsIDEyOCwgNjgsIDY4LCA3MywgODgsIDEyOCwgNjgsIDY4LCA3MywgODQsIDEyOCwgNjgsIDY4LCAKKyAgICA3MywgODAsIDEyOCwgNjgsIDY4LCA3MywgNjksIDg4LCAxMjgsIDY4LCA2OCwgNzMsIDY5LCA4MCwgMTI4LCA2OCwgNjgsIAorICAgIDczLCA2OSwgMTI4LCA2OCwgNjgsIDczLCAxMjgsIDY4LCA2OCwgNzIsIDg1LCAxMjgsIDY4LCA2OCwgNzIsIDc5LCAxMjgsIAorICAgIDY4LCA2OCwgNzIsIDczLCAxMjgsIDY4LCA2OCwgNzIsIDY5LCA2OSwgMTI4LCA2OCwgNjgsIDcyLCA2OSwgMTI4LCA2OCwgCisgICAgNjgsIDcyLCA2NSwgNjUsIDEyOCwgNjgsIDY4LCA3MiwgNjUsIDEyOCwgNjgsIDY4LCA2OSwgODgsIDEyOCwgNjgsIDY4LCAKKyAgICA2OSwgODAsIDEyOCwgNjgsIDY4LCA2OSwgNjksIDEyOCwgNjgsIDY4LCA2OSwgMTI4LCA2OCwgNjgsIDY4LCA3MiwgNjUsIAorICAgIDEyOCwgNjgsIDY4LCA2OCwgNjUsIDEyOCwgNjgsIDY4LCA2NSwgODksIDY1LCA3OCwgNzgsIDY1LCAxMjgsIDY4LCA2OCwgCisgICAgNjUsIDg4LCAxMjgsIDY4LCA2OCwgNjUsIDg0LCAxMjgsIDY4LCA2OCwgNjUsIDgwLCAxMjgsIDY4LCA2OCwgNjUsIDc2LCAKKyAgICAxMjgsIDY4LCA2OCwgNjUsIDIwNCwgNjgsIDY4LCA2NSwgNzIsIDY1LCA3NiwgMTI4LCA2OCwgNjgsIDY1LCA3MiwgNjUsIAorICAgIDIwNCwgNjgsIDY4LCA2NSwgNjUsIDEyOCwgNjgsIDY3LCA4MywgMTI4LCA2OCwgNjcsIDcyLCA2OSwgMTI4LCA2OCwgNjcsIAorICAgIDUyLCAxMjgsIDY4LCA2NywgNTEsIDEyOCwgNjgsIDY3LCA1MCwgMTI4LCA2OCwgNjcsIDQ5LCAxMjgsIDY4LCAxOTQsIDY4LCAKKyAgICA2NSwgODksIDQ1LCA3OCwgNzMsIDcxLCA3MiwgODQsIDEyOCwgNjgsIDY1LCAyMTcsIDY4LCA2NSwgODcsIDY2LCAxMjgsIAogICAgIDY4LCA2NSwgODYsIDczLCA4OSwgNjUsIDc4LCA3MywgMTI4LCA2OCwgNjUsIDg2LCA3MywgNjgsIDEyOCwgNjgsIDY1LCA4NCwgCiAgICAgMTk3LCA2OCwgNjUsIDgzLCA3MywgNjUsIDEyOCwgNjgsIDY1LCA4MywgNzMsIDE5MywgNjgsIDY1LCA4MywgNzIsIDY5LCAKICAgICAxOTYsIDY4LCA2NSwgODMsIDcyLCAxMjgsIDY4LCA2NSwgODMsIDIwMCwgNjgsIDY1LCA4MywgNjksIDczLCA2NSwgMTI4LCAKQEAgLTQwNjEsMjg1ICs0MjY2LDMxMCBAQAogICAgIDY5LCA4NCwgNzIsIDEyOCwgNjgsIDY1LCA3NiwgNjksIDg0LCAxMjgsIDY4LCA2NSwgNzYsIDY5LCAyMTIsIDY4LCA2NSwgCiAgICAgNzYsIDY4LCA2NSwgMTI4LCA2OCwgNjUsIDc2LCA2NSwgODQsIDcyLCAxMjgsIDY4LCA2NSwgNzYsIDY1LCA4NCwgMjAwLCAKICAgICA2OCwgNjUsIDc2LCA2NSwgODQsIDEyOCwgNjgsIDY1LCA3MywgODIsIDEyOCwgNjgsIDY1LCA3MywgNzgsIDcxLCAxMjgsIAotICAgIDY4LCA2NSwgNzIsIDg5LCA2NSwgNjUsIDg1LCA4MywgNzIsIDQ1LCA1MCwgMTI4LCA2OCwgNjUsIDcyLCA4OSwgNjUsIDY1LCAKLSAgICA4NSwgODMsIDcyLCAxMjgsIDY4LCA2NSwgNzEsIDgzLCAxMjgsIDY4LCA2NSwgNzEsIDcxLCA2OSwgODIsIDEyOCwgNjgsIAotICAgIDY1LCA3MSwgNzEsIDY5LCAyMTAsIDY4LCA2NSwgNzEsIDY5LCA4MywgNzIsIDEyOCwgNjgsIDY1LCA3MSwgNjksIDgzLCAKLSAgICAyMDAsIDY4LCA2NSwgNzEsIDY2LCA2NSwgODMsIDczLCA3OCwgNzgsIDY1LCAxMjgsIDY4LCA2NSwgNzEsIDY1LCAyMTgsIAotICAgIDY4LCA2NSwgNzEsIDY1LCA3NiwgNzEsIDY1LCAxMjgsIDY4LCA2NSwgMTk5LCA2OCwgNjUsIDY5LCA3OCwgNzEsIDEyOCwgCi0gICAgNjgsIDY1LCA2OSwgMTk5LCA2OCwgNjUsIDY4LCAxMjgsIDY4LCA2NSwgMTk2LCA2OCwgNjUsIDY1LCA4MywgODUsIDEyOCwgCi0gICAgNjgsIDY1LCA2NSwgNjgsIDcyLCA4NSwgMTI4LCA2OCwgNDgsIDU0LCA1NSwgNzIsIDEyOCwgNjgsIDQ4LCA1NCwgNTUsIDcxLCAKLSAgICAxMjgsIDY4LCA0OCwgNTQsIDU1LCA3MCwgMTI4LCA2OCwgNDgsIDU0LCA1NSwgNjksIDEyOCwgNjgsIDQ4LCA1NCwgNTUsIAotICAgIDY4LCAxMjgsIDY4LCA0OCwgNTQsIDU1LCA2NywgMTI4LCA2OCwgNDgsIDU0LCA1NSwgNjYsIDEyOCwgNjgsIDQ4LCA1NCwgCi0gICAgNTUsIDY1LCAxMjgsIDY4LCA0OCwgNTQsIDU1LCAxMjgsIDY4LCA0OCwgNTQsIDU0LCAxMjgsIDY4LCA0OCwgNTQsIDUzLCAKLSAgICAxMjgsIDY4LCA0OCwgNTQsIDUyLCAxMjgsIDY4LCA0OCwgNTQsIDUxLCAxMjgsIDY4LCA0OCwgNTQsIDUwLCAxMjgsIDY4LCAKLSAgICA0OCwgNTQsIDQ5LCAxMjgsIDY4LCA0OCwgNTQsIDQ4LCAxMjgsIDY4LCA0OCwgNTMsIDU3LCAxMjgsIDY4LCA0OCwgNTMsIAotICAgIDU2LCAxMjgsIDY4LCA0OCwgNTMsIDU1LCAxMjgsIDY4LCA0OCwgNTMsIDU0LCAxMjgsIDY4LCA0OCwgNTMsIDUzLCAxMjgsIAotICAgIDY4LCA0OCwgNTMsIDUyLCA2NSwgMTI4LCA2OCwgNDgsIDUzLCA1MiwgMTI4LCA2OCwgNDgsIDUzLCA1MSwgMTI4LCA2OCwgCi0gICAgNDgsIDUzLCA1MCwgNjUsIDEyOCwgNjgsIDQ4LCA1MywgNTAsIDEyOCwgNjgsIDQ4LCA1MywgNDksIDEyOCwgNjgsIDQ4LCAKLSAgICA1MywgNDgsIDczLCAxMjgsIDY4LCA0OCwgNTMsIDQ4LCA3MiwgMTI4LCA2OCwgNDgsIDUzLCA0OCwgNzEsIDEyOCwgNjgsIAotICAgIDQ4LCA1MywgNDgsIDcwLCAxMjgsIDY4LCA0OCwgNTMsIDQ4LCA2OSwgMTI4LCA2OCwgNDgsIDUzLCA0OCwgNjgsIDEyOCwgCi0gICAgNjgsIDQ4LCA1MywgNDgsIDY3LCAxMjgsIDY4LCA0OCwgNTMsIDQ4LCA2NiwgMTI4LCA2OCwgNDgsIDUzLCA0OCwgNjUsIAotICAgIDEyOCwgNjgsIDQ4LCA1MywgNDgsIDEyOCwgNjgsIDQ4LCA1MiwgNTcsIDEyOCwgNjgsIDQ4LCA1MiwgNTYsIDY1LCAxMjgsIAotICAgIDY4LCA0OCwgNTIsIDU2LCAxMjgsIDY4LCA0OCwgNTIsIDU1LCAxMjgsIDY4LCA0OCwgNTIsIDU0LCA2NSwgMTI4LCA2OCwgCi0gICAgNDgsIDUyLCA1NCwgMTI4LCA2OCwgNDgsIDUyLCA1MywgMTI4LCA2OCwgNDgsIDUyLCA1MiwgMTI4LCA2OCwgNDgsIDUyLCAKLSAgICA1MSwgMTI4LCA2OCwgNDgsIDUyLCA1MCwgMTI4LCA2OCwgNDgsIDUyLCA0OSwgMTI4LCA2OCwgNDgsIDUyLCA0OCwgMTI4LCAKLSAgICA2OCwgNDgsIDUxLCA1NywgMTI4LCA2OCwgNDgsIDUxLCA1NiwgMTI4LCA2OCwgNDgsIDUxLCA1NSwgMTI4LCA2OCwgNDgsIAotICAgIDUxLCA1NCwgMTI4LCA2OCwgNDgsIDUxLCA1MywgMTI4LCA2OCwgNDgsIDUxLCA1MiwgNjUsIDEyOCwgNjgsIDQ4LCA1MSwgCi0gICAgNTIsIDEyOCwgNjgsIDQ4LCA1MSwgNTEsIDEyOCwgNjgsIDQ4LCA1MSwgNTAsIDEyOCwgNjgsIDQ4LCA1MSwgNDksIDY1LCAKLSAgICAxMjgsIDY4LCA0OCwgNTEsIDQ5LCAxMjgsIDY4LCA0OCwgNTEsIDQ4LCAxMjgsIDY4LCA0OCwgNTAsIDU3LCAxMjgsIDY4LCAKLSAgICA0OCwgNTAsIDU2LCAxMjgsIDY4LCA0OCwgNTAsIDU1LCA2NSwgMTI4LCA2OCwgNDgsIDUwLCA1NSwgMTI4LCA2OCwgNDgsIAotICAgIDUwLCA1NCwgMTI4LCA2OCwgNDgsIDUwLCA1MywgMTI4LCA2OCwgNDgsIDUwLCA1MiwgMTI4LCA2OCwgNDgsIDUwLCA1MSwgCi0gICAgMTI4LCA2OCwgNDgsIDUwLCA1MCwgMTI4LCA2OCwgNDgsIDUwLCA0OSwgMTI4LCA2OCwgNDgsIDUwLCA0OCwgMTI4LCA2OCwgCi0gICAgNDgsIDQ5LCA1NywgMTI4LCA2OCwgNDgsIDQ5LCA1NiwgMTI4LCA2OCwgNDgsIDQ5LCA1NSwgMTI4LCA2OCwgNDgsIDQ5LCAKLSAgICA1NCwgMTI4LCA2OCwgNDgsIDQ5LCA1MywgMTI4LCA2OCwgNDgsIDQ5LCA1MiwgMTI4LCA2OCwgNDgsIDQ5LCA1MSwgMTI4LCAKLSAgICA2OCwgNDgsIDQ5LCA1MCwgMTI4LCA2OCwgNDgsIDQ5LCA0OSwgMTI4LCA2OCwgNDgsIDQ5LCA0OCwgMTI4LCA2OCwgNDgsIAotICAgIDQ4LCA1NywgMTI4LCA2OCwgNDgsIDQ4LCA1NiwgNjUsIDEyOCwgNjgsIDQ4LCA0OCwgNTYsIDEyOCwgNjgsIDQ4LCA0OCwgCi0gICAgNTUsIDEyOCwgNjgsIDQ4LCA0OCwgNTQsIDEyOCwgNjgsIDQ4LCA0OCwgNTMsIDEyOCwgNjgsIDQ4LCA0OCwgNTIsIDEyOCwgCi0gICAgNjgsIDQ4LCA0OCwgNTEsIDEyOCwgNjgsIDQ4LCA0OCwgNTAsIDEyOCwgNjgsIDQ4LCA0OCwgNDksIDEyOCwgNjcsIDg5LCAKLSAgICA4OCwgMTI4LCA2NywgODksIDg0LCAxMjgsIDY3LCA4OSwgODIsIDg4LCAxMjgsIDY3LCA4OSwgODIsIDY5LCA3OCwgNjUsIAotICAgIDczLCAxOTUsIDY3LCA4OSwgODIsIDEyOCwgNjcsIDg5LCA4MCwgODIsIDczLCA3OSwgMjEyLCA2NywgODksIDgwLCA2OSwgCi0gICAgODIsIDg1LCA4MywgMTI4LCA2NywgODksIDgwLCAxMjgsIDY3LCA4OSwgNzYsIDczLCA3OCwgNjgsIDgyLCA3MywgNjcsIDczLCAKLSAgICA4NCwgODksIDEyOCwgNjcsIDg5LCA2NywgNzYsIDc5LCA3OCwgNjksIDEyOCwgNjcsIDg5LCA2NSwgMTI4LCA2NywgODksIAotICAgIDEyOCwgNjcsIDg3LCA3OSwgNzksIDEyOCwgNjcsIDg3LCA3OSwgMTI4LCA2NywgODcsIDczLCA3MywgMTI4LCA2NywgODcsIAotICAgIDczLCAxMjgsIDY3LCA4NywgNjksIDc5LCA4MiwgODQsIDcyLCAxMjgsIDY3LCA4NywgNjksIDEyOCwgNjcsIDg3LCA2NSwgCi0gICAgNjUsIDEyOCwgNjcsIDg1LCA4OCwgMTI4LCA2NywgODUsIDg1LCAxMjgsIDY3LCA4NSwgMjEyLCA2NywgODUsIDgzLCA4NCwgCi0gICAgNzksIDc3LCA4MywgMTI4LCA2NywgODUsIDgzLCA4NCwgNzksIDc3LCA2OSwgMjEwLCA2NywgODUsIDgzLCA4NCwgNjUsIDgyLCAKLSAgICA2OCwgMTI4LCA2NywgODUsIDgyLCA4OCwgMTI4LCA2NywgODUsIDgyLCA4NiwgNzMsIDc4LCAxOTksIDY3LCA4NSwgODIsIAotICAgIDg2LCA2OSwgMTk2LCA2NywgODUsIDgyLCA4NiwgNjksIDEyOCwgNjcsIDg1LCA4MiwgODYsIDE5NywgNjcsIDg1LCA4MiwgCi0gICAgODMsIDczLCA4NiwgMTk3LCA2NywgODUsIDgyLCA4MiwgMjE3LCA2NywgODUsIDgyLCA4MiwgNjksIDc4LCA4NCwgMTI4LCAKLSAgICA2NywgODUsIDgyLCA4MiwgNjksIDc4LCAyMTIsIDY3LCA4NSwgODIsIDc2LCAyMTcsIDY3LCA4NSwgODIsIDc2LCAxMjgsIAotICAgIDY3LCA4NSwgODIsIDEyOCwgNjcsIDg1LCA4MCwgMTI4LCA2NywgODUsIDc5LCA4OCwgMTI4LCA2NywgODUsIDc5LCA4MCwgCi0gICAgMTI4LCA2NywgODUsIDc5LCAxMjgsIDY3LCA4NSwgMjA1LCA2NywgODUsIDY2LCA2OSwgNjgsIDEyOCwgNjcsIDg1LCA2NiwgCi0gICAgMTk3LCA2NywgODUsIDY1LCA4NCwgODIsIDczLCA3NiwgNzYsIDc5LCAxMjgsIDY3LCA4NSwgNjUsIDg0LCA4MiwgNzMsIDc2LCAKLSAgICA3NiwgMjA3LCA2NywgODUsIDEyOCwgNjcsIDgzLCA3MywgMTI4LCA2NywgODIsIDg5LCA4MywgODQsIDY1LCAyMDQsIDY3LCAKLSAgICA4MiwgODksIDgwLCA4NCwgNzksIDcxLCA4MiwgNjUsIDc3LCA3NywgNzMsIDE5NSwgNjcsIDgyLCA4OSwgNzMsIDc4LCAxOTksIAotICAgIDY3LCA4MiwgODUsIDkwLCA2OSwgNzMsIDgyLCAyMDcsIDY3LCA4MiwgODUsIDY3LCA3MywgNjYsIDc2LCA2OSwgNDUsIDUzLCAKLSAgICAxMjgsIDY3LCA4MiwgODUsIDY3LCA3MywgNjYsIDc2LCA2OSwgNDUsIDUyLCAxMjgsIDY3LCA4MiwgODUsIDY3LCA3MywgNjYsIAotICAgIDc2LCA2OSwgNDUsIDUxLCAxMjgsIDY3LCA4MiwgODUsIDY3LCA3MywgNjYsIDc2LCA2OSwgNDUsIDUwLCAxMjgsIDY3LCA4MiwgCi0gICAgODUsIDY3LCA3MywgNjYsIDc2LCA2OSwgMTI4LCA2NywgODIsIDc5LCA4NywgNzgsIDEyOCwgNjcsIDgyLCA3OSwgODMsIDgzLCAKLSAgICA3MywgNzgsIDcxLCAxMjgsIDY3LCA4MiwgNzksIDgzLCA4MywgNzMsIDc4LCAxOTksIDY3LCA4MiwgNzksIDgzLCA4MywgNzIsIAotICAgIDY1LCA4NCwgNjcsIDIwMCwgNjcsIDgyLCA3OSwgODMsIDgzLCA2OSwgNjgsIDQ1LCA4NCwgNjUsIDczLCA3NiwgMTI4LCA2NywgCi0gICAgODIsIDc5LCA4MywgODMsIDY5LCAxOTYsIDY3LCA4MiwgNzksIDgzLCA4MywgNjYsIDc5LCA3OCwgNjksIDgzLCAxMjgsIDY3LCAKLSAgICA4MiwgNzksIDgzLCA4MywgMTI4LCA2NywgODIsIDc5LCA4MywgMjExLCA2NywgODIsIDc5LCA4MCwgMTI4LCA2NywgODIsIAotICAgIDc5LCA3MywgODgsIDEyOCwgNjcsIDgyLCA3OSwgNjcsIDg1LCAyMTEsIDY3LCA4MiwgNzksIDY3LCA3OSwgNjgsIDczLCA3NiwgCi0gICAgNjksIDEyOCwgNjcsIDgyLCA2OSwgODMsIDY3LCA2OSwgNzgsIDg0LCAxMjgsIDY3LCA4MiwgNjksIDgzLCA2NywgNjksIDc4LCAKLSAgICAyMTIsIDY3LCA4MiwgNjksIDY4LCA3MywgMjEyLCA2NywgODIsIDY5LCA2NSwgODQsIDczLCA4NiwgMTk3LCA2NywgODIsIAotICAgIDY5LCA2NSwgNzcsIDEyOCwgNjcsIDgyLCA2NSwgNjcsIDc1LCA2OSwgODIsIDEyOCwgNjcsIDgyLCAxMjgsIDY3LCA3OSwgCi0gICAgODgsIDEyOCwgNjcsIDc5LCA4NywgMTI4LCA2NywgNzksIDIxNSwgNjcsIDc5LCA4NiwgNjksIDgyLCAxMjgsIDY3LCA3OSwgCi0gICAgODUsIDgwLCA3NiwgMTk3LCA2NywgNzksIDg1LCA3OCwgODQsIDczLCA3OCwgMTk5LCA2NywgNzksIDg1LCA3OCwgODQsIDY5LCAKLSAgICA4MiwgODMsIDczLCA3OCwgNzUsIDEyOCwgNjcsIDc5LCA4NSwgNzgsIDg0LCA2OSwgODIsIDY2LCA3OSwgODIsIDY5LCAxMjgsIAotICAgIDY3LCA3OSwgODUsIDc4LCA2NywgNzMsIDIwNCwgNjcsIDc5LCA4NCwgMTI4LCA2NywgNzksIDgyLCA4MiwgNjksIDgzLCA4MCwgCi0gICAgNzksIDc4LCA2OCwgMjExLCA2NywgNzksIDgyLCA4MiwgNjksIDY3LCA4NCwgMTI4LCA2NywgNzksIDgyLCA4MCwgODMsIDY5LCAKLSAgICAxMjgsIDY3LCA3OSwgODIsIDgwLCA3OSwgODIsIDY1LCA4NCwgNzMsIDc5LCA3OCwgMTI4LCA2NywgNzksIDgyLCA3OSwgNzgsIAotICAgIDczLCA4MywgMTI4LCA2NywgNzksIDgyLCA3OCwgNjksIDgyLCA4MywgMTI4LCA2NywgNzksIDgyLCA3OCwgNjksIDgyLCAKLSAgICAxMjgsIDY3LCA3OSwgODIsIDc4LCA2OSwgMjEwLCA2NywgNzksIDgwLCA4OSwgODIsIDczLCA3MSwgNzIsIDg0LCAxMjgsIAotICAgIDY3LCA3OSwgODAsIDg5LCA4MiwgNzMsIDcxLCA3MiwgMjEyLCA2NywgNzksIDgwLCA4OSwgMTI4LCA2NywgNzksIDgwLCA4MiwgCi0gICAgNzksIDY4LCA4NSwgNjcsIDg0LCAxMjgsIDY3LCA3OSwgODAsIDgwLCA2OSwgODIsIDQ1LCA1MCwgMTI4LCA2NywgNzksIDgwLCAKLSAgICA4MCwgNjksIDgyLCAxMjgsIDY3LCA3OSwgODAsIDEyOCwgNjcsIDc5LCA3OSwgNzYsIDEyOCwgNjcsIDc5LCA3OSwgNzUsIAotICAgIDczLCA3OCwgNzEsIDEyOCwgNjcsIDc5LCA3OSwgNzUsIDczLCA2OSwgMTI4LCA2NywgNzksIDc5LCA3NSwgNjksIDE5NiwgCi0gICAgNjcsIDc5LCA3OSwgMTI4LCA2NywgNzksIDc4LCA4NiwgNjksIDgyLCA3MSwgNzMsIDc4LCAxOTksIDY3LCA3OSwgNzgsIDg2LCAKLSAgICA2OSwgNzgsIDczLCA2OSwgNzgsIDY3LCAxOTcsIDY3LCA3OSwgNzgsIDg0LCA4MiwgNzksIDc2LCAxMjgsIDY3LCA3OSwgNzgsIAotICAgIDg0LCA4MiwgNzksIDIwNCwgNjcsIDc5LCA3OCwgODQsIDgyLCA2NSwgODIsIDczLCA2OSwgODQsIDg5LCAxMjgsIDY3LCA3OSwgCi0gICAgNzgsIDg0LCA4MiwgNjUsIDY3LCA4NCwgNzMsIDc5LCA3OCwgMTI4LCA2NywgNzksIDc4LCA4NCwgNzksIDg1LCA4MiwgNjksIAotICAgIDE5NiwgNjcsIDc5LCA3OCwgODQsIDc5LCA4NSwgMjEwLCA2NywgNzksIDc4LCA4NCwgNjksIDc4LCA4NCwgNzMsIDc5LCA3OCwgCi0gICAgMTI4LCA2NywgNzksIDc4LCA4NCwgNjksIDc3LCA4MCwgNzYsIDY1LCA4NCwgNzMsIDc5LCA3OCwgMTI4LCA2NywgNzksIDc4LCAKLSAgICA4NCwgNjUsIDczLCA3OCwgMjExLCA2NywgNzksIDc4LCA4NCwgNjUsIDczLCA3OCwgNzMsIDc4LCAxOTksIDY3LCA3OSwgNzgsIAotICAgIDg0LCA2NSwgNzMsIDIwNiwgNjcsIDc5LCA3OCwgODQsIDY1LCA2NywgODQsIDEyOCwgNjcsIDc5LCA3OCwgODMsIDg0LCA4MiwgCi0gICAgODUsIDY3LCA4NCwgNzMsIDc5LCAyMDYsIDY3LCA3OSwgNzgsIDgzLCA4NCwgNjUsIDc4LCA4NCwgMTI4LCA2NywgNzksIDc4LCAKLSAgICA4MywgODQsIDY1LCA3OCwgMjEyLCA2NywgNzksIDc4LCA4MywgODQsIDY1LCA3OCwgNjcsIDg5LCAxMjgsIDY3LCA3OSwgNzgsIAotICAgIDgzLCA2OSwgNjcsIDg1LCA4NCwgNzMsIDg2LCAxOTcsIDY3LCA3OSwgNzgsIDc0LCA4NSwgNzgsIDY3LCA4NCwgNzMsIDc5LCAKLSAgICA3OCwgMTI4LCA2NywgNzksIDc4LCA3NCwgODUsIDcxLCA2NSwgODQsIDE5NywgNjcsIDc5LCA3OCwgNzQsIDc5LCA3MywgNzgsIAotICAgIDczLCA3OCwgMTk5LCA2NywgNzksIDc4LCA3MywgNjcsIDY1LCAyMDQsIDY3LCA3OSwgNzgsIDcxLCA4MiwgODUsIDY5LCA3OCwgCi0gICAgMjEyLCA2NywgNzksIDc4LCA3MSwgODIsIDY1LCA4NCwgODUsIDc2LCA2NSwgODQsIDczLCA3OSwgNzgsIDEyOCwgNjcsIDc5LCAKLSAgICA3OCwgNzAsIDg1LCA4MywgNjksIDE5NiwgNjcsIDc5LCA3OCwgNzAsIDc5LCA4NSwgNzgsIDY4LCA2OSwgMTk2LCA2NywgNzksIAotICAgIDc4LCA3MCwgNzYsIDczLCA2NywgODQsIDEyOCwgNjcsIDc5LCA3OCwgNzAsIDY5LCA4NCwgODQsIDIwMSwgNjcsIDc5LCA3OCwgCi0gICAgNjcsIDY1LCA4NiwgNjksIDQ1LCA4MywgNzMsIDY4LCA2OSwgMTk2LCA2NywgNzksIDc4LCA2NywgNjUsIDg2LCA2OSwgNDUsIAotICAgIDgwLCA3OSwgNzMsIDc4LCA4NCwgNjksIDE5NiwgNjcsIDc5LCA3OCwgMTI4LCA2NywgNzksIDc3LCA4MCwgODUsIDg0LCA2OSwgCi0gICAgODIsIDEyOCwgNjcsIDc5LCA3NywgODAsIDc5LCA4MywgNzMsIDg0LCA3MywgNzksIDc4LCAxMjgsIDY3LCA3OSwgNzcsIDgwLCAKLSAgICA3OSwgODMsIDczLCA4NCwgNzMsIDc5LCAyMDYsIDY3LCA3OSwgNzcsIDgwLCA3NiwgNzMsIDY1LCA3OCwgNjcsIDY5LCAxMjgsIAotICAgIDY3LCA3OSwgNzcsIDgwLCA3NiwgNjksIDg0LCA3MywgNzksIDc4LCAxMjgsIDY3LCA3OSwgNzcsIDgwLCA3NiwgNjksIDg0LCAKLSAgICA2OSwgNjgsIDEyOCwgNjcsIDc5LCA3NywgODAsIDc2LCA2OSwgNzcsIDY5LCA3OCwgODQsIDEyOCwgNjcsIDc5LCA3NywgODAsIAotICAgIDY1LCA4MiwgNjksIDEyOCwgNjcsIDc5LCA3NywgNzcsIDc5LCAyMDYsIDY3LCA3OSwgNzcsIDc3LCA2OSwgODIsIDY3LCA3MywgCi0gICAgNjUsIDIwNCwgNjcsIDc5LCA3NywgNzcsIDY1LCA3OCwgNjgsIDEyOCwgNjcsIDc5LCA3NywgNzcsIDY1LCAxMjgsIDY3LCAKLSAgICA3OSwgNzcsIDc3LCAxOTMsIDY3LCA3OSwgNzcsIDY5LCA4NCwgMTI4LCA2NywgNzksIDc3LCA2NiwgMTI4LCA2NywgNzksIAotICAgIDc2LCA4NSwgNzcsIDc4LCAxMjgsIDY3LCA3OSwgNzYsIDc5LCA4MiwgMTI4LCA2NywgNzksIDc2LCA3NiwgNzMsIDgzLCA3MywgCi0gICAgNzksIDIwNiwgNjcsIDc5LCA3NiwgNzYsIDEyOCwgNjcsIDc5LCA3NiwgMTk2LCA2NywgNzksIDcwLCA3MCwgNzMsIDc4LCAKLSAgICAxMjgsIDY3LCA3OSwgNjksIDc4LCA3MSwgMTI4LCA2NywgNzksIDY5LCA3OCwgMTk5LCA2NywgNzksIDY4LCA2NSwgMTI4LCAKLSAgICA2NywgNzksIDY3LCA3NSwgODQsIDY1LCA3MywgMjA0LCA2NywgNzksIDY1LCA4MywgODQsIDY5LCA4MiwgMTI4LCA2NywgNzksIAotICAgIDY1LCAxMjgsIDY3LCA3OSwgMTI4LCA2NywgNzcsIDEyOCwgNjcsIDIwNSwgNjcsIDc2LCA4NSwgODMsIDg0LCA2OSwgMjEwLCAKLSAgICA2NywgNzYsIDg1LCA2NiwgODMsIDEyOCwgNjcsIDc2LCA4NSwgNjYsIDQ1LCA4MywgODAsIDc5LCA3NSwgNjksIDE5NiwgNjcsIAotICAgIDc2LCA4NSwgNjYsIDEyOCwgNjcsIDc2LCA4NSwgMTk0LCA2NywgNzYsIDc5LCA4NiwgNjksIDgyLCAxMjgsIDY3LCA3NiwgCi0gICAgNzksIDg1LCA2OCwgMTI4LCA2NywgNzYsIDc5LCA4NSwgMTk2LCA2NywgNzYsIDc5LCA4NCwgNzIsIDY5LCA4MywgMTI4LCAKLSAgICA2NywgNzYsIDc5LCA4NCwgNzIsIDEyOCwgNjcsIDc2LCA3OSwgODMsIDY5LCA4NCwgMTI4LCA2NywgNzYsIDc5LCA4MywgNjksIAotICAgIDc4LCA2OSwgODMsIDgzLCAxMjgsIDY3LCA3NiwgNzksIDgzLCA2OSwgNjgsIDEyOCwgNjcsIDc2LCA3OSwgODMsIDE5NywgCi0gICAgNjcsIDc2LCA3OSwgNjcsIDc1LCA4NywgNzMsIDgzLCAxOTcsIDY3LCA3NiwgNzksIDY3LCAyMDMsIDY3LCA3NiwgNzMsIDg2LCAKLSAgICA3MywgODMsIDEyOCwgNjcsIDc2LCA3MywgODAsIDY2LCA3OSwgNjUsIDgyLCA2OCwgMTI4LCA2NywgNzYsIDczLCA3OCwgNzUsIAotICAgIDczLCA3OCwgMTk5LCA2NywgNzYsIDczLCA3OCwgNzEsIDczLCA3OCwgMTk5LCA2NywgNzYsIDczLCA3NywgNjUsIDY3LCA4NSwgCi0gICAgODMsIDEyOCwgNjcsIDc2LCA3MywgNzAsIDcwLCAxMjgsIDY3LCA3NiwgNzMsIDY3LCA3NSwgMTI4LCA2NywgNzYsIDY5LCAKLSAgICA3MCwgNDUsIDUwLCAxMjgsIDY3LCA3NiwgNjksIDcwLCA0NSwgNDksIDEyOCwgNjcsIDc2LCA2OSwgNzAsIDEyOCwgNjcsIAotICAgIDc2LCA2OSwgMTk4LCA2NywgNzYsIDY5LCA2NSwgODYsIDY5LCA4MiwgMTI4LCA2NywgNzYsIDY5LCA2NSwgMjEwLCA2NywgCi0gICAgNzYsIDY1LCA4NywgMTI4LCA2NywgNzYsIDY1LCA4MCwgODAsIDczLCA3OCwgMTk5LCA2NywgNzYsIDY1LCA4MCwgODAsIDY5LCAKLSAgICAyMTAsIDY3LCA3NiwgNjUsIDc4LCAxMjgsIDY3LCA3NiwgNjUsIDczLCA3NywgMTI4LCA2NywgNzYsIDEyOCwgNjcsIDczLCAKLSAgICA4OCwgMTI4LCA2NywgNzMsIDg2LCA3MywgNzYsIDczLCA2NSwgNzgsIDEyOCwgNjcsIDczLCA4NCwgODksIDgzLCA2NywgNjUsIAotICAgIDgwLCAxOTcsIDY3LCA3MywgODQsIDEyOCwgNjcsIDczLCA4MiwgNjcsIDg1LCAyMTEsIDY3LCA3MywgODIsIDY3LCA4NSwgCi0gICAgNzcsIDcwLCA3NiwgNjksIDg4LCAxMjgsIDY3LCA3MywgODIsIDY3LCA4NSwgNzcsIDcwLCA3NiwgNjksIDIxNiwgNjcsIDczLCAKLSAgICA4MiwgNjcsIDg1LCA3NiwgNjUsIDg0LCA3MywgNzksIDIwNiwgNjcsIDczLCA4MiwgNjcsIDc2LCA2OSwgODMsIDEyOCwgNjcsIAotICAgIDczLCA4MiwgNjcsIDc2LCA2OSwgMTI4LCA2NywgNzMsIDgwLCAxMjgsIDY3LCA3MywgNzgsIDc4LCA2NSwgNjYsIDY1LCA4MiwgCi0gICAgMTI4LCA2NywgNzMsIDc4LCA2OSwgNzcsIDY1LCAxMjgsIDY3LCA3MywgNzMsIDEyOCwgNjcsIDczLCA2OSwgODgsIDEyOCwgCi0gICAgNjcsIDczLCA2OSwgODUsIDY3LCA0NSwgODMsIDgzLCA2NSwgNzgsIDcxLCA4MCwgNzMsIDY5LCA4NSwgODAsIDEyOCwgNjcsIAotICAgIDczLCA2OSwgODUsIDY3LCA0NSwgODAsIDczLCA2OSwgODUsIDgwLCAxMjgsIDY3LCA3MywgNjksIDg1LCA2NywgNDUsIDczLCAKLSAgICA2OSwgODUsIDc4LCA3MSwgMTI4LCA2NywgNzMsIDY5LCA4NSwgMTk1LCA2NywgNzMsIDY5LCA4NCwgMTI4LCA2NywgNzMsIAotICAgIDY5LCA4MCwgMTI4LCA2NywgNzMsIDY5LCAxMjgsIDY3LCA3MiwgODksIDg4LCAxMjgsIDY3LCA3MiwgODksIDg0LCAxMjgsIAotICAgIDY3LCA3MiwgODksIDgyLCA4OCwgMTI4LCA2NywgNzIsIDg5LCA4MiwgMTI4LCA2NywgNzIsIDg5LCA4MCwgMTI4LCA2NywgCi0gICAgNzIsIDg1LCA4OCwgMTI4LCA2NywgNzIsIDg1LCA4MiwgODgsIDEyOCwgNjcsIDcyLCA4NSwgODIsIDY3LCA3MiwgMTI4LCAKLSAgICA2NywgNzIsIDg1LCA4MiwgMTI4LCA2NywgNzIsIDg1LCA4MCwgMTI4LCA2NywgNzIsIDg1LCA3OSwgODgsIDEyOCwgNjcsIAotICAgIDcyLCA4NSwgNzksIDg0LCAxMjgsIDY3LCA3MiwgODUsIDc5LCA4MCwgMTI4LCA2NywgNzIsIDg1LCA3OSwgMTI4LCA2NywgCi0gICAgNzIsIDg1LCA3NiwgNjUsIDEyOCwgNjcsIDcyLCA4NSwgMTI4LCA2NywgNzIsIDgyLCA4OSwgODMsIDY1LCA3OCwgODQsIDcyLCAKLSAgICA2OSwgNzcsIDg1LCA3NywgMTI4LCA2NywgNzIsIDgyLCA3OSwgNzgsIDc5LCA4NSwgMTI4LCA2NywgNzIsIDgyLCA3OSwgNzgsIAotICAgIDc5LCA3OCwgMTI4LCA2NywgNzIsIDgyLCA3OSwgNzcsIDE5MywgNjcsIDcyLCA4MiwgNzksIDE5MywgNjcsIDcyLCA4MiwgCi0gICAgNzMsIDg2LCA3MywgMTI4LCA2NywgNzIsIDgyLCA3MywgODMsIDg0LCA3NywgNjUsIDgzLCAxMjgsIDY3LCA3MiwgODIsIDczLCAKLSAgICA4MywgODQsIDc3LCA2NSwgMjExLCA2NywgNzIsIDc5LCA4OCwgMTI4LCA2NywgNzIsIDc5LCA4NCwgMTI4LCA2NywgNzIsIAotICAgIDc5LCA4MiwgNjksIDg2LCA3NywgMTkzLCA2NywgNzIsIDc5LCA4MCwgMTI4LCA2NywgNzIsIDc5LCA3NSwgNjksIDEyOCwgCi0gICAgNjcsIDcyLCA3OSwgNjksIDEyOCwgNjcsIDcyLCA3OSwgNjcsIDc5LCA3NiwgNjUsIDg0LCAxOTcsIDY3LCA3MiwgNzksIDY1LCAKLSAgICAxMjgsIDY3LCA3MiwgMjA3LCA2NywgNzIsIDczLCA4NCwgODUsIDY5LCA4NSwgNzcsIDgzLCA4MywgNjUsIDc4LCA3MSwgODMsIAotICAgIDczLCA3OSwgODMsIDEyOCwgNjcsIDcyLCA3MywgODQsIDg1LCA2OSwgODUsIDc3LCA4MywgODMsIDY1LCA3OCwgNzEsIDY3LCAKLSAgICA3MywgNjksIDg1LCA2NywgMTI4LCA2NywgNzIsIDczLCA4NCwgODUsIDY5LCA4NSwgNzcsIDgzLCA3MywgNzksIDgzLCAxMjgsIAotICAgIDY3LCA3MiwgNzMsIDg0LCA4NSwgNjksIDg1LCA3NywgNjcsIDczLCA2OSwgODUsIDY3LCAxMjgsIDY3LCA3MiwgNzMsIDg0LCAKLSAgICA4NSwgNjksIDg1LCA3NywgNjcsIDcyLCA3MywgNjksIDg1LCA2NywgNzIsIDEyOCwgNjcsIDcyLCA3MywgODIsIDc5LCA3OCwgCi0gICAgMTI4LCA2NywgNzIsIDczLCA4MiwgNjksIDg0LCAxMjgsIDY3LCA3MiwgNzMsIDc4LCA3MSwgMTI4LCA2NywgNzIsIDczLCAKLSAgICA3OCwgNjksIDgzLCAxOTcsIDY3LCA3MiwgNzMsIDc4LCAxMjgsIDY3LCA3MiwgNzMsIDc3LCA2OSwgMTI4LCA2NywgNzIsIAotICAgIDczLCA3NiwgNzYsIDIxMywgNjcsIDcyLCA3MywgNzYsIDY4LCA4MiwgNjksIDIwNiwgNjcsIDcyLCA3MywgNzYsIDY4LCAKLSAgICAxMjgsIDY3LCA3MiwgNzMsIDc2LCAxMjgsIDY3LCA3MiwgNzMsIDc1LCAyMDEsIDY3LCA3MiwgNzMsIDY5LCA4NSwgNjcsIAotICAgIDcyLCA0NSwgNzUsIDcyLCA3MywgNjksIDg1LCA3NSwgNzIsIDEyOCwgNjcsIDcyLCA3MywgNjksIDg1LCA2NywgNzIsIDQ1LCAKLSAgICA3MiwgNzMsIDY5LCA4NSwgNzIsIDEyOCwgNjcsIDcyLCA3MywgNjksIDg1LCA2NywgMjAwLCA2NywgNzIsIDczLCA2NywgNzUsIAotICAgIDY5LCA3OCwgMTI4LCA2NywgNzIsIDczLCA2NywgNzUsIDEyOCwgNjcsIDcyLCA3MywgMTI4LCA2NywgNzIsIDIwMSwgNjcsIAotICAgIDcyLCA3MiwgNjUsIDEyOCwgNjcsIDcyLCA2OSwgODgsIDEyOCwgNjcsIDcyLCA2OSwgODYsIDgyLCA3OSwgMjA2LCA2NywgCi0gICAgNzIsIDY5LCA4NCwgMTI4LCA2NywgNzIsIDY5LCA4MywgODQsIDc4LCA4NSwgODQsIDEyOCwgNjcsIDcyLCA2OSwgODMsIAotICAgIDIxMSwgNjcsIDcyLCA2OSwgODIsIDgyLCAyMTcsIDY3LCA3MiwgNjksIDgyLCA4MiwgNzMsIDY5LCA4MywgMTI4LCA2NywgCisgICAgNjgsIDY1LCA3MywgMTI4LCA2OCwgNjUsIDcyLCA4OSwgNjUsIDY1LCA4NSwgODMsIDcyLCA0NSwgNTAsIDEyOCwgNjgsIDY1LCAKKyAgICA3MiwgODksIDY1LCA2NSwgODUsIDgzLCA3MiwgMTI4LCA2OCwgNjUsIDcxLCA4MywgMTI4LCA2OCwgNjUsIDcxLCA3MSwgNjksIAorICAgIDgyLCAxMjgsIDY4LCA2NSwgNzEsIDcxLCA2OSwgMjEwLCA2OCwgNjUsIDcxLCA2OSwgODMsIDcyLCAxMjgsIDY4LCA2NSwgCisgICAgNzEsIDY5LCA4MywgMjAwLCA2OCwgNjUsIDcxLCA2NiwgNjUsIDgzLCA3MywgNzgsIDc4LCA2NSwgMTI4LCA2OCwgNjUsIDcxLCAKKyAgICA2NSwgMjE4LCA2OCwgNjUsIDcxLCA2NSwgNzYsIDcxLCA2NSwgMTI4LCA2OCwgNjUsIDcxLCA1MSwgMTI4LCA2OCwgNjUsIAorICAgIDE5OSwgNjgsIDY1LCA2OSwgNzgsIDcxLCAxMjgsIDY4LCA2NSwgNjksIDE5OSwgNjgsIDY1LCA2OCwgMTI4LCA2OCwgNjUsIAorICAgIDE5NiwgNjgsIDY1LCA2NSwgODMsIDg1LCAxMjgsIDY4LCA2NSwgNjUsIDY4LCA3MiwgODUsIDEyOCwgNjgsIDQ4LCA1NCwgCisgICAgNTUsIDcyLCAxMjgsIDY4LCA0OCwgNTQsIDU1LCA3MSwgMTI4LCA2OCwgNDgsIDU0LCA1NSwgNzAsIDEyOCwgNjgsIDQ4LCAKKyAgICA1NCwgNTUsIDY5LCAxMjgsIDY4LCA0OCwgNTQsIDU1LCA2OCwgMTI4LCA2OCwgNDgsIDU0LCA1NSwgNjcsIDEyOCwgNjgsIAorICAgIDQ4LCA1NCwgNTUsIDY2LCAxMjgsIDY4LCA0OCwgNTQsIDU1LCA2NSwgMTI4LCA2OCwgNDgsIDU0LCA1NSwgMTI4LCA2OCwgCisgICAgNDgsIDU0LCA1NCwgMTI4LCA2OCwgNDgsIDU0LCA1MywgMTI4LCA2OCwgNDgsIDU0LCA1MiwgMTI4LCA2OCwgNDgsIDU0LCAKKyAgICA1MSwgMTI4LCA2OCwgNDgsIDU0LCA1MCwgMTI4LCA2OCwgNDgsIDU0LCA0OSwgMTI4LCA2OCwgNDgsIDU0LCA0OCwgMTI4LCAKKyAgICA2OCwgNDgsIDUzLCA1NywgMTI4LCA2OCwgNDgsIDUzLCA1NiwgMTI4LCA2OCwgNDgsIDUzLCA1NSwgMTI4LCA2OCwgNDgsIAorICAgIDUzLCA1NCwgMTI4LCA2OCwgNDgsIDUzLCA1MywgMTI4LCA2OCwgNDgsIDUzLCA1MiwgNjUsIDEyOCwgNjgsIDQ4LCA1MywgCisgICAgNTIsIDEyOCwgNjgsIDQ4LCA1MywgNTEsIDEyOCwgNjgsIDQ4LCA1MywgNTAsIDY1LCAxMjgsIDY4LCA0OCwgNTMsIDUwLCAKKyAgICAxMjgsIDY4LCA0OCwgNTMsIDQ5LCAxMjgsIDY4LCA0OCwgNTMsIDQ4LCA3MywgMTI4LCA2OCwgNDgsIDUzLCA0OCwgNzIsIAorICAgIDEyOCwgNjgsIDQ4LCA1MywgNDgsIDcxLCAxMjgsIDY4LCA0OCwgNTMsIDQ4LCA3MCwgMTI4LCA2OCwgNDgsIDUzLCA0OCwgCisgICAgNjksIDEyOCwgNjgsIDQ4LCA1MywgNDgsIDY4LCAxMjgsIDY4LCA0OCwgNTMsIDQ4LCA2NywgMTI4LCA2OCwgNDgsIDUzLCAKKyAgICA0OCwgNjYsIDEyOCwgNjgsIDQ4LCA1MywgNDgsIDY1LCAxMjgsIDY4LCA0OCwgNTMsIDQ4LCAxMjgsIDY4LCA0OCwgNTIsIAorICAgIDU3LCAxMjgsIDY4LCA0OCwgNTIsIDU2LCA2NSwgMTI4LCA2OCwgNDgsIDUyLCA1NiwgMTI4LCA2OCwgNDgsIDUyLCA1NSwgCisgICAgMTI4LCA2OCwgNDgsIDUyLCA1NCwgNjUsIDEyOCwgNjgsIDQ4LCA1MiwgNTQsIDEyOCwgNjgsIDQ4LCA1MiwgNTMsIDEyOCwgCisgICAgNjgsIDQ4LCA1MiwgNTIsIDEyOCwgNjgsIDQ4LCA1MiwgNTEsIDEyOCwgNjgsIDQ4LCA1MiwgNTAsIDEyOCwgNjgsIDQ4LCAKKyAgICA1MiwgNDksIDEyOCwgNjgsIDQ4LCA1MiwgNDgsIDEyOCwgNjgsIDQ4LCA1MSwgNTcsIDEyOCwgNjgsIDQ4LCA1MSwgNTYsIAorICAgIDEyOCwgNjgsIDQ4LCA1MSwgNTUsIDEyOCwgNjgsIDQ4LCA1MSwgNTQsIDEyOCwgNjgsIDQ4LCA1MSwgNTMsIDEyOCwgNjgsIAorICAgIDQ4LCA1MSwgNTIsIDY1LCAxMjgsIDY4LCA0OCwgNTEsIDUyLCAxMjgsIDY4LCA0OCwgNTEsIDUxLCAxMjgsIDY4LCA0OCwgCisgICAgNTEsIDUwLCAxMjgsIDY4LCA0OCwgNTEsIDQ5LCA2NSwgMTI4LCA2OCwgNDgsIDUxLCA0OSwgMTI4LCA2OCwgNDgsIDUxLCAKKyAgICA0OCwgMTI4LCA2OCwgNDgsIDUwLCA1NywgMTI4LCA2OCwgNDgsIDUwLCA1NiwgMTI4LCA2OCwgNDgsIDUwLCA1NSwgNjUsIAorICAgIDEyOCwgNjgsIDQ4LCA1MCwgNTUsIDEyOCwgNjgsIDQ4LCA1MCwgNTQsIDEyOCwgNjgsIDQ4LCA1MCwgNTMsIDEyOCwgNjgsIAorICAgIDQ4LCA1MCwgNTIsIDEyOCwgNjgsIDQ4LCA1MCwgNTEsIDEyOCwgNjgsIDQ4LCA1MCwgNTAsIDEyOCwgNjgsIDQ4LCA1MCwgCisgICAgNDksIDEyOCwgNjgsIDQ4LCA1MCwgNDgsIDEyOCwgNjgsIDQ4LCA0OSwgNTcsIDEyOCwgNjgsIDQ4LCA0OSwgNTYsIDEyOCwgCisgICAgNjgsIDQ4LCA0OSwgNTUsIDEyOCwgNjgsIDQ4LCA0OSwgNTQsIDEyOCwgNjgsIDQ4LCA0OSwgNTMsIDEyOCwgNjgsIDQ4LCAKKyAgICA0OSwgNTIsIDEyOCwgNjgsIDQ4LCA0OSwgNTEsIDEyOCwgNjgsIDQ4LCA0OSwgNTAsIDEyOCwgNjgsIDQ4LCA0OSwgNDksIAorICAgIDEyOCwgNjgsIDQ4LCA0OSwgNDgsIDEyOCwgNjgsIDQ4LCA0OCwgNTcsIDEyOCwgNjgsIDQ4LCA0OCwgNTYsIDY1LCAxMjgsIAorICAgIDY4LCA0OCwgNDgsIDU2LCAxMjgsIDY4LCA0OCwgNDgsIDU1LCAxMjgsIDY4LCA0OCwgNDgsIDU0LCAxMjgsIDY4LCA0OCwgCisgICAgNDgsIDUzLCAxMjgsIDY4LCA0OCwgNDgsIDUyLCAxMjgsIDY4LCA0OCwgNDgsIDUxLCAxMjgsIDY4LCA0OCwgNDgsIDUwLCAKKyAgICAxMjgsIDY4LCA0OCwgNDgsIDQ5LCAxMjgsIDY3LCA4OSwgODgsIDEyOCwgNjcsIDg5LCA4NCwgMTI4LCA2NywgODksIDgyLCAKKyAgICA4OCwgMTI4LCA2NywgODksIDgyLCA2OSwgNzgsIDY1LCA3MywgMTk1LCA2NywgODksIDgyLCAxMjgsIDY3LCA4OSwgODAsIAorICAgIDgyLCA3MywgNzksIDIxMiwgNjcsIDg5LCA4MCwgNjksIDgyLCA4NSwgODMsIDEyOCwgNjcsIDg5LCA4MCwgMTI4LCA2NywgCisgICAgODksIDc2LCA3MywgNzgsIDY4LCA4MiwgNzMsIDY3LCA3MywgODQsIDg5LCAxMjgsIDY3LCA4OSwgNjcsIDc2LCA3OSwgNzgsIAorICAgIDY5LCAxMjgsIDY3LCA4OSwgNjUsIDg5LCAxMjgsIDY3LCA4OSwgNjUsIDg3LCAxMjgsIDY3LCA4OSwgNjUsIDEyOCwgNjcsIAorICAgIDg3LCA3OSwgNzksIDEyOCwgNjcsIDg3LCA3OSwgMTI4LCA2NywgODcsIDczLCA3MywgMTI4LCA2NywgODcsIDczLCAxMjgsIAorICAgIDY3LCA4NywgNjksIDc5LCA4MiwgODQsIDcyLCAxMjgsIDY3LCA4NywgNjksIDEyOCwgNjcsIDg3LCA2NSwgNjUsIDEyOCwgCisgICAgNjcsIDg1LCA4OCwgMTI4LCA2NywgODUsIDg1LCAxMjgsIDY3LCA4NSwgMjEyLCA2NywgODUsIDgzLCA4NCwgNzksIDc3LCAKKyAgICA4MywgMTI4LCA2NywgODUsIDgzLCA4NCwgNzksIDc3LCA2OSwgMjEwLCA2NywgODUsIDgzLCA4NCwgNjUsIDgyLCA2OCwgCisgICAgMTI4LCA2NywgODUsIDgzLCA4MCwgMTI4LCA2NywgODUsIDgyLCA4OCwgMTI4LCA2NywgODUsIDgyLCA4NiwgNzMsIDc4LCAKKyAgICAxOTksIDY3LCA4NSwgODIsIDg2LCA2OSwgMTk2LCA2NywgODUsIDgyLCA4NiwgNjksIDEyOCwgNjcsIDg1LCA4MiwgODYsIAorICAgIDE5NywgNjcsIDg1LCA4MiwgODMsIDczLCA4NiwgMTk3LCA2NywgODUsIDgyLCA4MiwgMjE3LCA2NywgODUsIDgyLCA4MiwgCisgICAgNjksIDc4LCA4NCwgMTI4LCA2NywgODUsIDgyLCA4MiwgNjksIDc4LCAyMTIsIDY3LCA4NSwgODIsIDc2LCAyMTcsIDY3LCAKKyAgICA4NSwgODIsIDc2LCAxMjgsIDY3LCA4NSwgODIsIDEyOCwgNjcsIDg1LCA4MCwgMTI4LCA2NywgODUsIDc5LCA4OCwgMTI4LCAKKyAgICA2NywgODUsIDc5LCA4MCwgMTI4LCA2NywgODUsIDc5LCAxMjgsIDY3LCA4NSwgMjA1LCA2NywgODUsIDY2LCA2OSwgNjgsIAorICAgIDEyOCwgNjcsIDg1LCA2NiwgMTk3LCA2NywgODUsIDY1LCA4NCwgODIsIDczLCA3NiwgNzYsIDc5LCAxMjgsIDY3LCA4NSwgCisgICAgNjUsIDg0LCA4MiwgNzMsIDc2LCA3NiwgMjA3LCA2NywgODUsIDY1LCAyMDUsIDY3LCA4NSwgMTI4LCA2NywgODMsIDczLCAKKyAgICAxMjgsIDY3LCA4MiwgODksIDgzLCA4NCwgNjUsIDIwNCwgNjcsIDgyLCA4OSwgODAsIDg0LCA3OSwgNzEsIDgyLCA2NSwgNzcsIAorICAgIDc3LCA3MywgMTk1LCA2NywgODIsIDg5LCA3MywgNzgsIDE5OSwgNjcsIDgyLCA4NSwgOTAsIDY5LCA3MywgODIsIDIwNywgCisgICAgNjcsIDgyLCA4NSwgNjcsIDczLCA3MCwgNzksIDgyLCAyMDUsIDY3LCA4MiwgODUsIDY3LCA3MywgNjYsIDc2LCA2OSwgNDUsIAorICAgIDUzLCAxMjgsIDY3LCA4MiwgODUsIDY3LCA3MywgNjYsIDc2LCA2OSwgNDUsIDUyLCAxMjgsIDY3LCA4MiwgODUsIDY3LCA3MywgCisgICAgNjYsIDc2LCA2OSwgNDUsIDUxLCAxMjgsIDY3LCA4MiwgODUsIDY3LCA3MywgNjYsIDc2LCA2OSwgNDUsIDUwLCAxMjgsIDY3LCAKKyAgICA4MiwgODUsIDY3LCA3MywgNjYsIDc2LCA2OSwgMTI4LCA2NywgODIsIDc5LCA4NywgNzgsIDEyOCwgNjcsIDgyLCA3OSwgODMsIAorICAgIDgzLCA3MywgNzgsIDcxLCAxMjgsIDY3LCA4MiwgNzksIDgzLCA4MywgNzMsIDc4LCAxOTksIDY3LCA4MiwgNzksIDgzLCA4MywgCisgICAgNzIsIDY1LCA4NCwgNjcsIDIwMCwgNjcsIDgyLCA3OSwgODMsIDgzLCA2OSwgNjgsIDQ1LCA4NCwgNjUsIDczLCA3NiwgMTI4LCAKKyAgICA2NywgODIsIDc5LCA4MywgODMsIDY5LCAxOTYsIDY3LCA4MiwgNzksIDgzLCA4MywgNjYsIDc5LCA3OCwgNjksIDgzLCAxMjgsIAorICAgIDY3LCA4MiwgNzksIDgzLCA4MywgMTI4LCA2NywgODIsIDc5LCA4MywgMjExLCA2NywgODIsIDc5LCA4MCwgMTI4LCA2NywgCisgICAgODIsIDc5LCA3MywgODgsIDEyOCwgNjcsIDgyLCA3OSwgNjcsIDg1LCAyMTEsIDY3LCA4MiwgNzksIDY3LCA3OSwgNjgsIDczLCAKKyAgICA3NiwgNjksIDEyOCwgNjcsIDgyLCA2OSwgODMsIDY3LCA2OSwgNzgsIDg0LCAxMjgsIDY3LCA4MiwgNjksIDgzLCA2NywgNjksIAorICAgIDc4LCAyMTIsIDY3LCA4MiwgNjksIDY4LCA3MywgMjEyLCA2NywgODIsIDY5LCA2NSwgODQsIDczLCA4NiwgMTk3LCA2NywgCisgICAgODIsIDY5LCA2NSwgNzcsIDEyOCwgNjcsIDgyLCA2NSwgODksIDc5LCA3OCwgMTI4LCA2NywgODIsIDY1LCA2NywgNzUsIDY5LCAKKyAgICA4MiwgMTI4LCA2NywgODIsIDEyOCwgNjcsIDc5LCA4OCwgMTI4LCA2NywgNzksIDg3LCAxMjgsIDY3LCA3OSwgMjE1LCA2NywgCisgICAgNzksIDg2LCA2OSwgODIsIDEyOCwgNjcsIDc5LCA4NSwgODAsIDc2LCAxOTcsIDY3LCA3OSwgODUsIDc4LCA4NCwgNzMsIDc4LCAKKyAgICAxOTksIDY3LCA3OSwgODUsIDc4LCA4NCwgNjksIDgyLCA4MywgNzMsIDc4LCA3NSwgMTI4LCA2NywgNzksIDg1LCA3OCwgODQsIAorICAgIDY5LCA4MiwgNjYsIDc5LCA4MiwgNjksIDEyOCwgNjcsIDc5LCA4NSwgNzgsIDY3LCA3MywgMjA0LCA2NywgNzksIDg1LCA2NywgCisgICAgMjAwLCA2NywgNzksIDg0LCAxMjgsIDY3LCA3OSwgODIsIDgyLCA2OSwgODMsIDgwLCA3OSwgNzgsIDY4LCAyMTEsIDY3LCAKKyAgICA3OSwgODIsIDgyLCA2OSwgNjcsIDg0LCAxMjgsIDY3LCA3OSwgODIsIDgwLCA4MywgNjksIDEyOCwgNjcsIDc5LCA4MiwgODAsIAorICAgIDc5LCA4MiwgNjUsIDg0LCA3MywgNzksIDc4LCAxMjgsIDY3LCA3OSwgODIsIDc5LCA3OCwgNzMsIDgzLCAxMjgsIDY3LCA3OSwgCisgICAgODIsIDc4LCA2OSwgODIsIDgzLCAxMjgsIDY3LCA3OSwgODIsIDc4LCA2OSwgODIsIDEyOCwgNjcsIDc5LCA4MiwgNzgsIDY5LCAKKyAgICAyMTAsIDY3LCA3OSwgODAsIDg5LCA4MiwgNzMsIDcxLCA3MiwgODQsIDEyOCwgNjcsIDc5LCA4MCwgODksIDgyLCA3MywgNzEsIAorICAgIDcyLCAyMTIsIDY3LCA3OSwgODAsIDg5LCAxMjgsIDY3LCA3OSwgODAsIDgyLCA3OSwgNjgsIDg1LCA2NywgODQsIDEyOCwgCisgICAgNjcsIDc5LCA4MCwgODAsIDY5LCA4MiwgNDUsIDUwLCAxMjgsIDY3LCA3OSwgODAsIDgwLCA2OSwgODIsIDEyOCwgNjcsIDc5LCAKKyAgICA4MCwgMTI4LCA2NywgNzksIDc5LCA3NiwgMTI4LCA2NywgNzksIDc5LCA3NSwgNzMsIDc4LCA3MSwgMTI4LCA2NywgNzksIAorICAgIDc5LCA3NSwgNzMsIDY5LCAxMjgsIDY3LCA3OSwgNzksIDc1LCA2OSwgMTk2LCA2NywgNzksIDc5LCAxMjgsIDY3LCA3OSwgCisgICAgNzgsIDg2LCA2OSwgODIsIDcxLCA3MywgNzgsIDE5OSwgNjcsIDc5LCA3OCwgODYsIDY5LCA3OCwgNzMsIDY5LCA3OCwgNjcsIAorICAgIDE5NywgNjcsIDc5LCA3OCwgODQsIDgyLCA3OSwgNzYsIDEyOCwgNjcsIDc5LCA3OCwgODQsIDgyLCA3OSwgMjA0LCA2NywgCisgICAgNzksIDc4LCA4NCwgODIsIDY1LCA4MiwgNzMsIDY5LCA4NCwgODksIDEyOCwgNjcsIDc5LCA3OCwgODQsIDgyLCA2NSwgNjcsIAorICAgIDg0LCA3MywgNzksIDc4LCAxMjgsIDY3LCA3OSwgNzgsIDg0LCA3OSwgODUsIDgyLCA2OSwgMTk2LCA2NywgNzksIDc4LCA4NCwgCisgICAgNzksIDg1LCAyMTAsIDY3LCA3OSwgNzgsIDg0LCA3MywgNzgsIDg1LCA3MywgNzgsIDE5OSwgNjcsIDc5LCA3OCwgODQsIDY5LCAKKyAgICA3OCwgODQsIDczLCA3OSwgNzgsIDEyOCwgNjcsIDc5LCA3OCwgODQsIDY5LCA3NywgODAsIDc2LCA2NSwgODQsIDczLCA3OSwgCisgICAgNzgsIDEyOCwgNjcsIDc5LCA3OCwgODQsIDY1LCA3MywgNzgsIDIxMSwgNjcsIDc5LCA3OCwgODQsIDY1LCA3MywgNzgsIDczLCAKKyAgICA3OCwgMTk5LCA2NywgNzksIDc4LCA4NCwgNjUsIDczLCAyMDYsIDY3LCA3OSwgNzgsIDg0LCA2NSwgNjcsIDg0LCAxMjgsIAorICAgIDY3LCA3OSwgNzgsIDgzLCA4NCwgODIsIDg1LCA2NywgODQsIDczLCA3OSwgNzgsIDEyOCwgNjcsIDc5LCA3OCwgODMsIDg0LCAKKyAgICA4MiwgODUsIDY3LCA4NCwgNzMsIDc5LCAyMDYsIDY3LCA3OSwgNzgsIDgzLCA4NCwgNjUsIDc4LCA4NCwgMTI4LCA2NywgNzksIAorICAgIDc4LCA4MywgODQsIDY1LCA3OCwgMjEyLCA2NywgNzksIDc4LCA4MywgODQsIDY1LCA3OCwgNjcsIDg5LCAxMjgsIDY3LCA3OSwgCisgICAgNzgsIDgzLCA2OSwgNjcsIDg1LCA4NCwgNzMsIDg2LCAxOTcsIDY3LCA3OSwgNzgsIDc0LCA4NSwgNzgsIDY3LCA4NCwgNzMsIAorICAgIDc5LCA3OCwgMTI4LCA2NywgNzksIDc4LCA3NCwgODUsIDcxLCA2NSwgODQsIDE5NywgNjcsIDc5LCA3OCwgNzQsIDc5LCA3MywgCisgICAgNzgsIDczLCA3OCwgMTk5LCA2NywgNzksIDc4LCA3MywgNjcsIDY1LCAyMDQsIDY3LCA3OSwgNzgsIDcxLCA4MiwgODUsIDY5LCAKKyAgICA3OCwgMjEyLCA2NywgNzksIDc4LCA3MSwgODIsIDY1LCA4NCwgODUsIDc2LCA2NSwgODQsIDczLCA3OSwgNzgsIDEyOCwgNjcsIAorICAgIDc5LCA3OCwgNzAsIDg1LCA4MywgNjksIDE5NiwgNjcsIDc5LCA3OCwgNzAsIDc5LCA4NSwgNzgsIDY4LCA2OSwgMTk2LCA2NywgCisgICAgNzksIDc4LCA3MCwgNzYsIDczLCA2NywgODQsIDEyOCwgNjcsIDc5LCA3OCwgNzAsIDY5LCA4NCwgODQsIDIwMSwgNjcsIDc5LCAKKyAgICA3OCwgNjcsIDY1LCA4NiwgNjksIDQ1LCA4MywgNzMsIDY4LCA2OSwgMTk2LCA2NywgNzksIDc4LCA2NywgNjUsIDg2LCA2OSwgCisgICAgNDUsIDgwLCA3OSwgNzMsIDc4LCA4NCwgNjksIDE5NiwgNjcsIDc5LCA3NywgODAsIDg1LCA4NCwgNjksIDgyLCA4MywgMTI4LCAKKyAgICA2NywgNzksIDc3LCA4MCwgODUsIDg0LCA2OSwgODIsIDEyOCwgNjcsIDc5LCA3NywgODAsIDgyLCA2OSwgODMsIDgzLCA3MywgCisgICAgNzksIDc4LCAxMjgsIDY3LCA3OSwgNzcsIDgwLCA4MiwgNjksIDgzLCA4MywgNjksIDE5NiwgNjcsIDc5LCA3NywgODAsIDc5LCAKKyAgICA4MywgNzMsIDg0LCA3MywgNzksIDc4LCAxMjgsIDY3LCA3OSwgNzcsIDgwLCA3OSwgODMsIDczLCA4NCwgNzMsIDc5LCAyMDYsIAorICAgIDY3LCA3OSwgNzcsIDgwLCA3NiwgNzMsIDY1LCA3OCwgNjcsIDY5LCAxMjgsIDY3LCA3OSwgNzcsIDgwLCA3NiwgNjksIDg0LCAKKyAgICA3MywgNzksIDc4LCAxMjgsIDY3LCA3OSwgNzcsIDgwLCA3NiwgNjksIDg0LCA2OSwgNjgsIDEyOCwgNjcsIDc5LCA3NywgODAsIAorICAgIDc2LCA2OSwgNzcsIDY5LCA3OCwgODQsIDEyOCwgNjcsIDc5LCA3NywgODAsIDY1LCA4MiwgNjksIDEyOCwgNjcsIDc5LCA3NywgCisgICAgNzcsIDc5LCAyMDYsIDY3LCA3OSwgNzcsIDc3LCA2OSwgODIsIDY3LCA3MywgNjUsIDIwNCwgNjcsIDc5LCA3NywgNzcsIDY1LCAKKyAgICA3OCwgNjgsIDEyOCwgNjcsIDc5LCA3NywgNzcsIDY1LCAxMjgsIDY3LCA3OSwgNzcsIDc3LCAxOTMsIDY3LCA3OSwgNzcsIAorICAgIDY5LCA4NCwgMTI4LCA2NywgNzksIDc3LCA2NiwgMTI4LCA2NywgNzksIDc2LCA4NSwgNzcsIDc4LCAxMjgsIDY3LCA3OSwgCisgICAgNzYsIDc5LCA4MiwgMTI4LCA2NywgNzksIDc2LCA3NiwgNzMsIDgzLCA3MywgNzksIDIwNiwgNjcsIDc5LCA3NiwgNzYsIAorICAgIDEyOCwgNjcsIDc5LCA3NiwgMTk2LCA2NywgNzksIDcwLCA3MCwgNzMsIDc4LCAxMjgsIDY3LCA3OSwgNjksIDc4LCA3MSwgCisgICAgMTI4LCA2NywgNzksIDY5LCA3OCwgMTk5LCA2NywgNzksIDY4LCA2NSwgMTI4LCA2NywgNzksIDY3LCA3NSwgODQsIDY1LCAKKyAgICA3MywgMjA0LCA2NywgNzksIDY1LCA4MywgODQsIDY5LCA4MiwgMTI4LCA2NywgNzksIDY1LCAxMjgsIDY3LCA3OSwgMTI4LCAKKyAgICA2NywgNzcsIDEyOCwgNjcsIDIwNSwgNjcsIDc2LCA4NSwgODMsIDg0LCA2OSwgMjEwLCA2NywgNzYsIDg1LCA2NiwgODMsIAorICAgIDEyOCwgNjcsIDc2LCA4NSwgNjYsIDQ1LCA4MywgODAsIDc5LCA3NSwgNjksIDE5NiwgNjcsIDc2LCA4NSwgNjYsIDEyOCwgCisgICAgNjcsIDc2LCA4NSwgMTk0LCA2NywgNzYsIDc5LCA4NiwgNjksIDgyLCAxMjgsIDY3LCA3NiwgNzksIDg1LCA2OCwgMTI4LCAKKyAgICA2NywgNzYsIDc5LCA4NSwgMTk2LCA2NywgNzYsIDc5LCA4NCwgNzIsIDY5LCA4MywgMTI4LCA2NywgNzYsIDc5LCA4NCwgNzIsIAorICAgIDEyOCwgNjcsIDc2LCA3OSwgODMsIDY5LCA4NCwgMTI4LCA2NywgNzYsIDc5LCA4MywgNjksIDc4LCA2OSwgODMsIDgzLCAKKyAgICAxMjgsIDY3LCA3NiwgNzksIDgzLCA2OSwgNjgsIDEyOCwgNjcsIDc2LCA3OSwgODMsIDE5NywgNjcsIDc2LCA3OSwgNjcsIAorICAgIDc1LCA4NywgNzMsIDgzLCAxOTcsIDY3LCA3NiwgNzksIDY3LCAyMDMsIDY3LCA3NiwgNzMsIDg2LCA3MywgODMsIDEyOCwgCisgICAgNjcsIDc2LCA3MywgODAsIDY2LCA3OSwgNjUsIDgyLCA2OCwgMTI4LCA2NywgNzYsIDczLCA3OCwgNzUsIDczLCA3OCwgMTk5LCAKKyAgICA2NywgNzYsIDczLCA3OCwgNzEsIDczLCA3OCwgMTk5LCA2NywgNzYsIDczLCA3NywgNjUsIDY3LCA4NSwgODMsIDEyOCwgNjcsIAorICAgIDc2LCA3MywgNzAsIDcwLCAxMjgsIDY3LCA3NiwgNzMsIDY3LCA3NSwgMTI4LCA2NywgNzYsIDY5LCA3MCwgNDUsIDUwLCAKKyAgICAxMjgsIDY3LCA3NiwgNjksIDcwLCA0NSwgNDksIDEyOCwgNjcsIDc2LCA2OSwgNzAsIDEyOCwgNjcsIDc2LCA2OSwgMTk4LCAKKyAgICA2NywgNzYsIDY5LCA2NSwgODYsIDY5LCA4MiwgMTI4LCA2NywgNzYsIDY5LCA2NSwgMjEwLCA2NywgNzYsIDY1LCA4NywgCisgICAgMTI4LCA2NywgNzYsIDY1LCA4MywgODMsIDczLCA2NywgNjUsIDIwNCwgNjcsIDc2LCA2NSwgODAsIDgwLCA3MywgNzgsIAorICAgIDE5OSwgNjcsIDc2LCA2NSwgODAsIDgwLCA2OSwgMjEwLCA2NywgNzYsIDY1LCA3OCwgMTI4LCA2NywgNzYsIDY1LCAyMDYsIAorICAgIDY3LCA3NiwgNjUsIDc3LCA4MywgNzIsIDY5LCA3NiwgMjA0LCA2NywgNzYsIDY1LCA3MywgNzcsIDEyOCwgNjcsIDc2LCAKKyAgICAxMjgsIDY3LCA3MywgODgsIDEyOCwgNjcsIDczLCA4NiwgNzMsIDc2LCA3MywgNjUsIDc4LCAxMjgsIDY3LCA3MywgODQsIAorICAgIDg5LCA4MywgNjcsIDY1LCA4MCwgNjksIDEyOCwgNjcsIDczLCA4NCwgODksIDgzLCA2NywgNjUsIDgwLCAxOTcsIDY3LCA3MywgCisgICAgODQsIDY1LCA4NCwgNzMsIDc5LCAyMDYsIDY3LCA3MywgODQsIDEyOCwgNjcsIDczLCA4MiwgNjcsIDg1LCAyMTEsIDY3LCAKKyAgICA3MywgODIsIDY3LCA4NSwgNzcsIDcwLCA3NiwgNjksIDg4LCAxMjgsIDY3LCA3MywgODIsIDY3LCA4NSwgNzcsIDcwLCA3NiwgCisgICAgNjksIDIxNiwgNjcsIDczLCA4MiwgNjcsIDg1LCA3NiwgNjUsIDg0LCA3MywgNzksIDIwNiwgNjcsIDczLCA4MiwgNjcsIDc2LCAKKyAgICA3MywgNzgsIDE5OSwgNjcsIDczLCA4MiwgNjcsIDc2LCA2OSwgODMsIDEyOCwgNjcsIDczLCA4MiwgNjcsIDc2LCA2OSwgCisgICAgMTI4LCA2NywgNzMsIDgwLCAxMjgsIDY3LCA3MywgNzgsIDc4LCA2NSwgNjYsIDY1LCA4MiwgMTI4LCA2NywgNzMsIDc4LCAKKyAgICA2OSwgNzcsIDY1LCAxMjgsIDY3LCA3MywgMjA2LCA2NywgNzMsIDIwNSwgNjcsIDczLCA3MywgMTI4LCA2NywgNzMsIDY5LCAKKyAgICA4OCwgMTI4LCA2NywgNzMsIDY5LCA4NSwgNjcsIDQ1LCA4MywgODMsIDY1LCA3OCwgNzEsIDgwLCA3MywgNjksIDg1LCA4MCwgCisgICAgMTI4LCA2NywgNzMsIDY5LCA4NSwgNjcsIDQ1LCA4MCwgNzMsIDY5LCA4NSwgODAsIDEyOCwgNjcsIDczLCA2OSwgODUsIDY3LCAKKyAgICA0NSwgNzMsIDY5LCA4NSwgNzgsIDcxLCAxMjgsIDY3LCA3MywgNjksIDg1LCAxOTUsIDY3LCA3MywgNjksIDg0LCAxMjgsIAorICAgIDY3LCA3MywgNjksIDgwLCAxMjgsIDY3LCA3MywgNjksIDEyOCwgNjcsIDcyLCA4OSwgODgsIDEyOCwgNjcsIDcyLCA4OSwgCisgICAgODQsIDEyOCwgNjcsIDcyLCA4OSwgODIsIDg4LCAxMjgsIDY3LCA3MiwgODksIDgyLCAxMjgsIDY3LCA3MiwgODksIDgwLCAKKyAgICAxMjgsIDY3LCA3MiwgODcsIDg2LCAxMjgsIDY3LCA3MiwgODUsIDg4LCAxMjgsIDY3LCA3MiwgODUsIDgyLCA4OCwgMTI4LCAKKyAgICA2NywgNzIsIDg1LCA4MiwgNjcsIDcyLCAxMjgsIDY3LCA3MiwgODUsIDgyLCAxMjgsIDY3LCA3MiwgODUsIDgwLCAxMjgsIAorICAgIDY3LCA3MiwgODUsIDc5LCA4OCwgMTI4LCA2NywgNzIsIDg1LCA3OSwgODQsIDEyOCwgNjcsIDcyLCA4NSwgNzksIDgwLCAKKyAgICAxMjgsIDY3LCA3MiwgODUsIDc5LCAxMjgsIDY3LCA3MiwgODUsIDc2LCA2NSwgMTI4LCA2NywgNzIsIDg1LCAxMjgsIDY3LCAKKyAgICA3MiwgODIsIDg5LCA4MywgNjUsIDc4LCA4NCwgNzIsIDY5LCA3NywgODUsIDc3LCAxMjgsIDY3LCA3MiwgODIsIDc5LCA3OCwgCisgICAgNzksIDg1LCAxMjgsIDY3LCA3MiwgODIsIDc5LCA3OCwgNzksIDc4LCAxMjgsIDY3LCA3MiwgODIsIDc5LCA3NywgMTkzLCAKKyAgICA2NywgNzIsIDgyLCA3OSwgMTkzLCA2NywgNzIsIDgyLCA3MywgODYsIDczLCAxMjgsIDY3LCA3MiwgODIsIDczLCA4MywgODQsIAorICAgIDc3LCA2NSwgODMsIDEyOCwgNjcsIDcyLCA4MiwgNzMsIDgzLCA4NCwgNzcsIDY1LCAyMTEsIDY3LCA3MiwgNzksIDg5LCAKKyAgICAxMjgsIDY3LCA3MiwgNzksIDg4LCAxMjgsIDY3LCA3MiwgNzksIDg0LCAxMjgsIDY3LCA3MiwgNzksIDgyLCA2OSwgODYsIAorICAgIDc3LCAxOTMsIDY3LCA3MiwgNzksIDgwLCAxMjgsIDY3LCA3MiwgNzksIDc1LCA2OSwgMTI4LCA2NywgNzIsIDc5LCA2OSwgCisgICAgMTI4LCA2NywgNzIsIDc5LCA2NywgNzksIDc2LCA2NSwgODQsIDE5NywgNjcsIDcyLCA3OSwgNjUsIDEyOCwgNjcsIDcyLCAKKyAgICAyMDcsIDY3LCA3MiwgNzMsIDg0LCA4NSwgNjksIDg1LCA3NywgODMsIDgzLCA2NSwgNzgsIDcxLCA4MywgNzMsIDc5LCA4MywgCisgICAgMTI4LCA2NywgNzIsIDczLCA4NCwgODUsIDY5LCA4NSwgNzcsIDgzLCA4MywgNjUsIDc4LCA3MSwgNjcsIDczLCA2OSwgODUsIAorICAgIDY3LCAxMjgsIDY3LCA3MiwgNzMsIDg0LCA4NSwgNjksIDg1LCA3NywgODMsIDczLCA3OSwgODMsIDEyOCwgNjcsIDcyLCA3MywgCisgICAgODQsIDg1LCA2OSwgODUsIDc3LCA2NywgNzMsIDY5LCA4NSwgNjcsIDEyOCwgNjcsIDcyLCA3MywgODQsIDg1LCA2OSwgODUsIAorICAgIDc3LCA2NywgNzIsIDczLCA2OSwgODUsIDY3LCA3MiwgMTI4LCA2NywgNzIsIDczLCA4MiwgNzksIDc4LCAxMjgsIDY3LCA3MiwgCisgICAgNzMsIDgyLCA2OSwgODQsIDEyOCwgNjcsIDcyLCA3MywgODAsIDc3LCA4NSwgNzgsIDc1LCAxMjgsIDY3LCA3MiwgNzMsIDc4LCAKKyAgICA3OSwgNzksIDIwMywgNjcsIDcyLCA3MywgNzgsIDcxLCAxMjgsIDY3LCA3MiwgNzMsIDc4LCA2OSwgODMsIDE5NywgNjcsIAorICAgIDcyLCA3MywgNzgsIDEyOCwgNjcsIDcyLCA3MywgNzcsIDY5LCAxMjgsIDY3LCA3MiwgNzMsIDc2LCA3NiwgMjEzLCA2NywgCisgICAgNzIsIDczLCA3NiwgNjgsIDgyLCA2OSwgMjA2LCA2NywgNzIsIDczLCA3NiwgNjgsIDEyOCwgNjcsIDcyLCA3MywgNzYsIAorICAgIDEyOCwgNjcsIDcyLCA3MywgNzUsIDIwMSwgNjcsIDcyLCA3MywgNjksIDg1LCA2NywgNzIsIDQ1LCA3NSwgNzIsIDczLCA2OSwgCisgICAgODUsIDc1LCA3MiwgMTI4LCA2NywgNzIsIDczLCA2OSwgODUsIDY3LCA3MiwgNDUsIDcyLCA3MywgNjksIDg1LCA3MiwgMTI4LCAKKyAgICA2NywgNzIsIDczLCA2OSwgODUsIDY3LCAyMDAsIDY3LCA3MiwgNzMsIDY3LCA3NSwgNjksIDc4LCAxMjgsIDY3LCA3MiwgNzMsIAorICAgIDY3LCA3NSwgMTI4LCA2NywgNzIsIDczLCAxMjgsIDY3LCA3MiwgMjAxLCA2NywgNzIsIDcyLCA2NSwgMTI4LCA2NywgNzIsIAorICAgIDY5LCA4OCwgMTI4LCA2NywgNzIsIDY5LCA4NiwgODIsIDc5LCAyMDYsIDY3LCA3MiwgNjksIDg0LCAxMjgsIDY3LCA3MiwgCisgICAgNjksIDgzLCA4NCwgNzgsIDg1LCA4NCwgMTI4LCA2NywgNzIsIDY5LCA4MywgMjExLCA2NywgNzIsIDY5LCA4MiwgODksIAorICAgIDEyOCwgNjcsIDcyLCA2OSwgODIsIDgyLCAyMTcsIDY3LCA3MiwgNjksIDgyLCA4MiwgNzMsIDY5LCA4MywgMTI4LCA2NywgCiAgICAgNzIsIDY5LCA4MSwgODUsIDY5LCA4MiwgNjksIDE5NiwgNjcsIDcyLCA2OSwgODAsIDEyOCwgNjcsIDcyLCA2OSwgMjA2LCAKICAgICA2NywgNzIsIDY5LCA3MywgNzgsIDY1LCA4MCwgMTI4LCA2NywgNzIsIDY5LCA3MywgNzUsIDcyLCA2OSwgNzMsIDEyOCwgNjcsIAogICAgIDcyLCA2OSwgNzMsIDc1LCA3MiwgNjUsIDc4LCAxMjgsIDY3LCA3MiwgNjksIDY5LCA4MiwgNzMsIDc4LCAxOTksIDY3LCA3MiwgCi0gICAgNjksIDY5LCAxMjgsIDY3LCA3MiwgNjksIDY3LCA3NSwgMTI4LCA2NywgNzIsIDY5LCA2NywgMjAzLCA2NywgNzIsIDE5NywgCi0gICAgNjcsIDcyLCA2NSwgODgsIDEyOCwgNjcsIDcyLCA2NSwgODYsIDczLCA4OSwgNjUsIDc4LCA3MywgMTI4LCA2NywgNzIsIDY1LCAKLSAgICA4NCwgODQsIDY1LCA4NywgNjUsIDEyOCwgNjcsIDcyLCA2NSwgODQsIDEyOCwgNjcsIDcyLCA2NSwgODIsIDg0LCAxMjgsIAotICAgIDY3LCA3MiwgNjUsIDgyLCAyMTIsIDY3LCA3MiwgNjUsIDgyLCA3MywgNzksIDg0LCAxMjgsIDY3LCA3MiwgNjUsIDgyLCA3MywgCi0gICAgNzksIDIxMiwgNjcsIDcyLCA2NSwgODIsIDY1LCA2NywgODQsIDY5LCA4MiwgODMsIDEyOCwgNjcsIDcyLCA2NSwgODIsIDY1LCAKLSAgICA2NywgODQsIDY5LCA4MiwgMTI4LCA2NywgNzIsIDY1LCA4MiwgMTI4LCA2NywgNzIsIDY1LCA4MCwgMTI4LCA2NywgNzIsIAotICAgIDY1LCA3OCwgNzEsIDEyOCwgNjcsIDcyLCA2NSwgNzgsIDEyOCwgNjcsIDcyLCA2NSwgNzcsIDc1LCA3OSwgMTI4LCA2NywgCi0gICAgNzIsIDY1LCA3NywgNzMsIDc2LCA3OSwgNzgsIDEyOCwgNjcsIDcyLCA2NSwgNzcsIDczLCA3NiwgNzMsIDEyOCwgNjcsIDcyLCAKLSAgICA2NSwgNzUsIDc3LCAxOTMsIDY3LCA3MiwgNjUsIDczLCA4MiwgMTI4LCA2NywgNzIsIDY1LCA3MywgNzgsIDgzLCAxMjgsIAotICAgIDY3LCA3MiwgNjUsIDY4LCA2NSwgMTI4LCA2NywgNzIsIDY1LCAxOTYsIDY3LCA3MiwgNjUsIDY1LCAxMjgsIDY3LCA3MSwgCi0gICAgNzQsIDEyOCwgNjcsIDY5LCA4OCwgMTI4LCA2NywgNjksIDgyLCA2OSwgODMsIDEyOCwgNjcsIDY5LCA4MiwgNjksIDc3LCAKLSAgICA3OSwgNzgsIDg5LCAxMjgsIDY3LCA2OSwgODIsIDY5LCA3NSwgMTI4LCA2NywgNjksIDgyLCA0NSwgODcsIDY1LCAxMjgsIAotICAgIDY3LCA2OSwgODAsIDEyOCwgNjcsIDY5LCA3OSwgNzgsIDcxLCA2NywgNzIsIDczLCA2OSwgODUsIDc3LCA4MywgODMsIDY1LCAKLSAgICA3OCwgNzEsIDgzLCA3MywgNzksIDgzLCAxMjgsIDY3LCA2OSwgNzksIDc4LCA3MSwgNjcsIDcyLCA3MywgNjksIDg1LCA3NywgCi0gICAgODMsIDgzLCA2NSwgNzgsIDcxLCA2NywgNzMsIDY5LCA4NSwgNjcsIDEyOCwgNjcsIDY5LCA3OSwgNzgsIDcxLCA2NywgNzIsIAotICAgIDczLCA2OSwgODUsIDc3LCA4MywgNzMsIDc5LCA4MywgMTI4LCA2NywgNjksIDc5LCA3OCwgNzEsIDY3LCA3MiwgNzMsIDY5LCAKLSAgICA4NSwgNzcsIDY3LCA3MywgNjksIDg1LCA2NywgMTI4LCA2NywgNjksIDc5LCA3OCwgNzEsIDY3LCA3MiwgNzMsIDY5LCA4NSwgCi0gICAgNzcsIDY3LCA3MiwgNzMsIDY5LCA4NSwgNjcsIDcyLCAxMjgsIDY3LCA2OSwgNzgsIDg0LCA4NSwgODIsIDczLCA2NSwgMjA0LCAKLSAgICA2NywgNjksIDc4LCA4NCwgODIsIDY5LCA3NiwgNzMsIDc4LCAxOTcsIDY3LCA2OSwgNzgsIDg0LCA4MiwgNjksIDE5NiwgNjcsIAotICAgIDY5LCA3OCwgODQsIDgyLCA2OSwgMTI4LCA2NywgNjksIDc4LCA4NCwgODIsIDE5NywgNjcsIDY5LCA3OCwgMTI4LCA2NywgCi0gICAgNjksIDc2LCA4MywgNzMsIDg1LCA4MywgMTI4LCA2NywgNjksIDc2LCA2OSwgNjYsIDgyLCA2NSwgODQsIDczLCA3OSwgNzgsIAotICAgIDEyOCwgNjcsIDY5LCA3MywgODIsIDg0LCAxMjgsIDY3LCA2OSwgNzMsIDc2LCA3MywgNzgsIDcxLCAxMjgsIDY3LCA2OSwgCi0gICAgNjksIDEyOCwgNjcsIDY5LCA2OCwgNzMsIDc2LCA3NiwgNjUsIDEyOCwgNjcsIDY5LCA2OCwgNzMsIDc2LCA3NiwgMTkzLCAKLSAgICA2NywgNjksIDY4LCAyMDEsIDY3LCA2OSwgNjcsIDY5LCA3NSwgMTI4LCA2NywgNjksIDY3LCA2NSwgNzUsIDEyOCwgNjcsIAotICAgIDY5LCA2NywgNjUsIDIwMywgNjcsIDY5LCA2NSwgNzYsIDY3LCAxMjgsIDY3LCA2NywgODUsIDEyOCwgNjcsIDY3LCA3OSwgCi0gICAgMTI4LCA2NywgNjcsIDczLCAxMjgsIDY3LCA2NywgNzIsIDg1LCAxMjgsIDY3LCA2NywgNzIsIDc5LCAxMjgsIDY3LCA2NywgCi0gICAgNzIsIDczLCAxMjgsIDY3LCA2NywgNzIsIDcyLCA4NSwgMTI4LCA2NywgNjcsIDcyLCA3MiwgNzksIDEyOCwgNjcsIDY3LCAKLSAgICA3MiwgNzIsIDczLCAxMjgsIDY3LCA2NywgNzIsIDcyLCA2OSwgNjksIDEyOCwgNjcsIDY3LCA3MiwgNzIsIDY5LCAxMjgsIAotICAgIDY3LCA2NywgNzIsIDcyLCA2NSwgNjUsIDEyOCwgNjcsIDY3LCA3MiwgNzIsIDY1LCAxMjgsIDY3LCA2NywgNzIsIDY5LCA2OSwgCi0gICAgMTI4LCA2NywgNjcsIDcyLCA2OSwgMTI4LCA2NywgNjcsIDcyLCA2NSwgNjUsIDEyOCwgNjcsIDY3LCA3MiwgNjUsIDEyOCwgCi0gICAgNjcsIDY3LCA3MiwgMTI4LCA2NywgNjcsIDY5LCA2OSwgMTI4LCA2NywgNjcsIDY5LCAxMjgsIDY3LCA2NywgNjUsIDY1LCAKLSAgICAxMjgsIDY3LCA2NywgNjUsIDEyOCwgNjcsIDY1LCA4OSwgNzgsIDEyOCwgNjcsIDY1LCA4OSwgNjUsIDc4LCA3OCwgNjUsIAotICAgIDEyOCwgNjcsIDY1LCA4OCwgMTI4LCA2NywgNjUsIDg2LCA2OSwgMTI4LCA2NywgNjUsIDg1LCA4NCwgNzMsIDc5LCAyMDYsIAotICAgIDY3LCA2NSwgODUsIDc2LCA2OCwgODIsIDc5LCA3OCwgMTI4LCA2NywgNjUsIDg1LCA2OCwgNjUsIDEyOCwgNjcsIDY1LCA4NSwgCisgICAgNjksIDY5LCA3NywgMTI4LCA2NywgNzIsIDY5LCA2OSwgMTI4LCA2NywgNzIsIDY5LCA2NywgNzUsIDY5LCAyMTAsIDY3LCAKKyAgICA3MiwgNjksIDY3LCA3NSwgMTI4LCA2NywgNzIsIDY5LCA2NywgMjAzLCA2NywgNzIsIDE5NywgNjcsIDcyLCA2NSwgODgsIAorICAgIDEyOCwgNjcsIDcyLCA2NSwgODYsIDczLCA4OSwgNjUsIDc4LCA3MywgMTI4LCA2NywgNzIsIDY1LCA4NCwgODQsIDY1LCA4NywgCisgICAgNjUsIDEyOCwgNjcsIDcyLCA2NSwgODQsIDEyOCwgNjcsIDcyLCA2NSwgODIsIDg0LCAxMjgsIDY3LCA3MiwgNjUsIDgyLCAKKyAgICAyMTIsIDY3LCA3MiwgNjUsIDgyLCA3MywgNzksIDg0LCAxMjgsIDY3LCA3MiwgNjUsIDgyLCA3MywgNzksIDIxMiwgNjcsIAorICAgIDcyLCA2NSwgODIsIDY1LCA2NywgODQsIDY5LCA4MiwgODMsIDEyOCwgNjcsIDcyLCA2NSwgODIsIDY1LCA2NywgODQsIDY5LCAKKyAgICA4MiwgMTI4LCA2NywgNzIsIDY1LCA4MiwgMTI4LCA2NywgNzIsIDY1LCA4MCwgODQsIDY5LCA4MiwgMTI4LCA2NywgNzIsIAorICAgIDY1LCA4MCwgMTI4LCA2NywgNzIsIDY1LCA3OCwgNzEsIDEyOCwgNjcsIDcyLCA2NSwgNzgsIDEyOCwgNjcsIDcyLCA2NSwgCisgICAgNzcsIDc1LCA3OSwgMTI4LCA2NywgNzIsIDY1LCA3NywgNzMsIDc2LCA3OSwgNzgsIDEyOCwgNjcsIDcyLCA2NSwgNzcsIDczLCAKKyAgICA3NiwgNzMsIDEyOCwgNjcsIDcyLCA2NSwgNzUsIDc3LCAxOTMsIDY3LCA3MiwgNjUsIDczLCA4MiwgMTI4LCA2NywgNzIsIAorICAgIDY1LCA3MywgNzgsIDgzLCAxMjgsIDY3LCA3MiwgNjUsIDY4LCA2NSwgMTI4LCA2NywgNzIsIDY1LCAxOTYsIDY3LCA3MiwgCisgICAgNjUsIDY1LCAxMjgsIDY3LCA3MSwgNzQsIDEyOCwgNjcsIDY5LCA4OCwgMTI4LCA2NywgNjksIDgyLCA2OSwgODMsIDEyOCwgCisgICAgNjcsIDY5LCA4MiwgNjksIDc3LCA3OSwgNzgsIDg5LCAxMjgsIDY3LCA2OSwgODIsIDY5LCA3NSwgMTI4LCA2NywgNjksIDgyLCAKKyAgICA0NSwgODcsIDY1LCAxMjgsIDY3LCA2OSwgODAsIDEyOCwgNjcsIDY5LCA3OSwgNzgsIDcxLCA2NywgNzIsIDczLCA2OSwgODUsIAorICAgIDc3LCA4MywgODMsIDY1LCA3OCwgNzEsIDgzLCA3MywgNzksIDgzLCAxMjgsIDY3LCA2OSwgNzksIDc4LCA3MSwgNjcsIDcyLCAKKyAgICA3MywgNjksIDg1LCA3NywgODMsIDgzLCA2NSwgNzgsIDcxLCA2NywgNzMsIDY5LCA4NSwgNjcsIDEyOCwgNjcsIDY5LCA3OSwgCisgICAgNzgsIDcxLCA2NywgNzIsIDczLCA2OSwgODUsIDc3LCA4MywgNzMsIDc5LCA4MywgMTI4LCA2NywgNjksIDc5LCA3OCwgNzEsIAorICAgIDY3LCA3MiwgNzMsIDY5LCA4NSwgNzcsIDY3LCA3MywgNjksIDg1LCA2NywgMTI4LCA2NywgNjksIDc5LCA3OCwgNzEsIDY3LCAKKyAgICA3MiwgNzMsIDY5LCA4NSwgNzcsIDY3LCA3MiwgNzMsIDY5LCA4NSwgNjcsIDcyLCAxMjgsIDY3LCA2OSwgNzgsIDg0LCA4NSwgCisgICAgODIsIDczLCA2NSwgMjA0LCA2NywgNjksIDc4LCA4NCwgODIsIDY5LCA3NiwgNzMsIDc4LCAxOTcsIDY3LCA2OSwgNzgsIDg0LCAKKyAgICA4MiwgNjksIDY4LCAxMjgsIDY3LCA2OSwgNzgsIDg0LCA4MiwgNjksIDE5NiwgNjcsIDY5LCA3OCwgODQsIDgyLCA2OSwgCisgICAgMTI4LCA2NywgNjksIDc4LCA4NCwgODIsIDE5NywgNjcsIDY5LCA3OCwgODQsIDgyLCA2NSwgNzYsIDczLCA5MCwgNjUsIDg0LCAKKyAgICA3MywgNzksIDIwNiwgNjcsIDY5LCA3OCwgMTI4LCA2NywgNjksIDc2LCA4NCwgNzMsIDE5NSwgNjcsIDY5LCA3NiwgODMsIAorICAgIDczLCA4NSwgODMsIDEyOCwgNjcsIDY5LCA3NiwgNjksIDY2LCA4MiwgNjUsIDg0LCA3MywgNzksIDc4LCAxMjgsIDY3LCA2OSwgCisgICAgNzMsIDgyLCA4NCwgMTI4LCA2NywgNjksIDczLCA3NiwgNzMsIDc4LCA3MSwgMTI4LCA2NywgNjksIDY5LCA4NiwgMTI4LCAKKyAgICA2NywgNjksIDY5LCA2NiwgMTI4LCA2NywgNjksIDY5LCAxMjgsIDY3LCA2OSwgNjgsIDczLCA3NiwgNzYsIDY1LCAxMjgsIAorICAgIDY3LCA2OSwgNjgsIDczLCA3NiwgNzYsIDE5MywgNjcsIDY5LCA2OCwgMjAxLCA2NywgNjksIDY3LCA2OSwgNzUsIDEyOCwgCisgICAgNjcsIDY5LCA2NywgNjUsIDc1LCAxMjgsIDY3LCA2OSwgNjcsIDY1LCAyMDMsIDY3LCA2OSwgNjUsIDc2LCA2NywgMTI4LCAKKyAgICA2NywgNjcsIDg1LCAxMjgsIDY3LCA2NywgNzksIDEyOCwgNjcsIDY3LCA3MywgMTI4LCA2NywgNjcsIDcyLCA4NSwgMTI4LCAKKyAgICA2NywgNjcsIDcyLCA3OSwgMTI4LCA2NywgNjcsIDcyLCA3MywgMTI4LCA2NywgNjcsIDcyLCA3MiwgODUsIDEyOCwgNjcsIAorICAgIDY3LCA3MiwgNzIsIDc5LCAxMjgsIDY3LCA2NywgNzIsIDcyLCA3MywgMTI4LCA2NywgNjcsIDcyLCA3MiwgNjksIDY5LCAKKyAgICAxMjgsIDY3LCA2NywgNzIsIDcyLCA2OSwgMTI4LCA2NywgNjcsIDcyLCA3MiwgNjUsIDY1LCAxMjgsIDY3LCA2NywgNzIsIAorICAgIDcyLCA2NSwgMTI4LCA2NywgNjcsIDcyLCA2OSwgNjksIDEyOCwgNjcsIDY3LCA3MiwgNjksIDEyOCwgNjcsIDY3LCA3MiwgCisgICAgNjUsIDY1LCAxMjgsIDY3LCA2NywgNzIsIDY1LCAxMjgsIDY3LCA2NywgNzIsIDEyOCwgNjcsIDY3LCA2OSwgNjksIDEyOCwgCisgICAgNjcsIDY3LCA2OSwgMTI4LCA2NywgNjcsIDY1LCA2NSwgMTI4LCA2NywgNjcsIDY1LCAxMjgsIDY3LCA2NSwgODksIDc4LCAKKyAgICAxMjgsIDY3LCA2NSwgODksIDY1LCA3OCwgNzgsIDY1LCAxMjgsIDY3LCA2NSwgODgsIDEyOCwgNjcsIDY1LCA4NiwgNjksIAorICAgIDEyOCwgNjcsIDY1LCA4NSwgODQsIDczLCA3OSwgMjA2LCA2NywgNjUsIDg1LCA3NiwgNjgsIDgyLCA3OSwgNzgsIDEyOCwgCisgICAgNjcsIDY1LCA4NSwgNjgsIDY1LCAxMjgsIDY3LCA2NSwgODUsIDY3LCA2NSwgODMsIDczLCA2NSwgMjA2LCA2NywgNjUsIDg1LCAKICAgICAxMjgsIDY3LCA2NSwgODQsIDY1LCA4NywgNjUsIDEyOCwgNjcsIDY1LCA4NCwgMTI4LCA2NywgNjUsIDIxMiwgNjcsIDY1LCAKLSAgICA4MywgODQsIDc2LCA2OSwgMTI4LCA2NywgNjUsIDgyLCA4OSwgODMsIDg0LCA3MywgNjUsIDIwNiwgNjcsIDY1LCA4MiwgODQsIAotICAgIDEyOCwgNjcsIDY1LCA4MiwgMjExLCA2NywgNjUsIDgyLCA4MiwgNzMsIDY1LCA3MSwgMTk3LCA2NywgNjUsIDgyLCA4MCwgCi0gICAgNjksIDc4LCA4NCwgODIsIDIxNywgNjcsIDY1LCA4MiwgMjA4LCA2NywgNjUsIDgyLCA3OSwgODUsIDgzLCA2OSwgMjA0LCAKLSAgICA2NywgNjUsIDgyLCA3OSwgNzgsIDEyOCwgNjcsIDY1LCA4MiwgNzksIDIwNiwgNjcsIDY1LCA4MiwgNzMsIDIwMywgNjcsIAotICAgIDY1LCA4MiwgNzMsIDY1LCAyMDYsIDY3LCA2NSwgODIsIDY5LCA4NCwgMTI4LCA2NywgNjUsIDgyLCA2OSwgMjEyLCA2NywgCi0gICAgNjUsIDgyLCAxOTcsIDY3LCA2NSwgODIsIDY4LCA4MywgMTI4LCA2NywgNjUsIDgyLCA2OCwgMTI4LCA2NywgNjUsIDgyLCAKLSAgICAxOTYsIDY3LCA2NSwgODIsIDEyOCwgNjcsIDY1LCAyMTAsIDY3LCA2NSwgODAsIDg1LCAyMTIsIDY3LCA2NSwgODAsIDg0LCAKLSAgICA3MywgODYsIDY5LCAxMjgsIDY3LCA2NSwgODAsIDgyLCA3MywgNjcsIDc5LCA4MiwgNzgsIDEyOCwgNjcsIDY1LCA4MCwgNzksIAotICAgIDEyOCwgNjcsIDY1LCA4MCwgNzMsIDg0LCA2NSwgNzYsIDEyOCwgNjcsIDY1LCA3OCwgODQsIDczLCA3NiwgNzYsIDY1LCA4NCwgCi0gICAgNzMsIDc5LCAyMDYsIDY3LCA2NSwgNzgsIDE5OSwgNjcsIDY1LCA3OCwgNjgsIDg5LCAxMjgsIDY3LCA2NSwgNzgsIDY4LCAKLSAgICA4MiwgNjUsIDY2LCA3MywgNzgsIDY4LCA4NSwgMTI4LCA2NywgNjUsIDc4LCA2OCwgODIsIDY1LCA2NiwgNzMsIDc4LCA2OCwgCi0gICAgMjEzLCA2NywgNjUsIDc4LCA2OCwgODIsIDY1LCAxMjgsIDY3LCA2NSwgNzgsIDY4LCA4MiwgMTkzLCA2NywgNjUsIDc4LCAKLSAgICA2NywgNjksIDgyLCAxMjgsIDY3LCA2NSwgNzgsIDY3LCA2OSwgNzYsIDc2LCA2NSwgODQsIDczLCA3OSwgMjA2LCA2NywgNjUsIAotICAgIDc4LCA2NywgNjksIDc2LCAxMjgsIDY3LCA2NSwgNzgsIDY3LCA2OSwgMjA0LCA2NywgNjUsIDc4LCAxMjgsIDY3LCA2NSwgCi0gICAgNzcsIDc4LCA4NSwgMTk1LCA2NywgNjUsIDc3LCA2OSwgODIsIDY1LCAxMjgsIDY3LCA2NSwgNzcsIDY5LCA3NiwgMTI4LCAKLSAgICA2NywgNjUsIDc2LCA4OSwgNjUsIDEyOCwgNjcsIDY1LCA3NiwgODksIDE5MywgNjcsIDY1LCA3NiwgODgsIDEyOCwgNjcsIAotICAgIDY1LCA3NiwgNzYsIDEyOCwgNjcsIDY1LCA3NiwgNjksIDc4LCA2OCwgNjUsIDgyLCAxMjgsIDY3LCA2NSwgNzYsIDY3LCAKLSAgICAxMjgsIDY3LCA2NSwgNzUsIDgyLCA2NSwgMTI4LCA2NywgNjUsIDc1LCAxOTcsIDY3LCA2NSwgNzMsIDEyOCwgNjcsIDY1LCAKLSAgICA3MiwgMTI4LCA2NywgNjUsIDY5LCA4MywgODUsIDgyLCA2NSwgMTI4LCA2NywgNjUsIDY4LCA4NSwgNjcsIDY5LCA4NSwgODMsIAotICAgIDEyOCwgNjcsIDY1LCA2OCwgMTkzLCA2NywgNjUsIDY3LCA4NCwgODUsIDgzLCAxMjgsIDY3LCA2NSwgNjYsIDc2LCA2OSwgCi0gICAgODcsIDY1LCA4OSwgMTI4LCA2NywgNjUsIDY2LCA2NiwgNjUsIDcxLCA2OSwgNDUsIDg0LCA4MiwgNjksIDY5LCAxMjgsIDY3LCAKLSAgICA2NSwgNjUsIDc4LCA3MSwgMTI4LCA2NywgNjUsIDY1LCA3MywgMTI4LCA2NywgMTkzLCA2NywgNDgsIDUwLCA1MiwgMTI4LCAKLSAgICA2NywgNDgsIDUwLCA1MSwgMTI4LCA2NywgNDgsIDUwLCA1MCwgMTI4LCA2NywgNDgsIDUwLCA0OSwgMTI4LCA2NywgNDgsIAotICAgIDUwLCA0OCwgMTI4LCA2NywgNDgsIDQ5LCA1NywgMTI4LCA2NywgNDgsIDQ5LCA1NiwgMTI4LCA2NywgNDgsIDQ5LCA1NSwgCi0gICAgMTI4LCA2NywgNDgsIDQ5LCA1NCwgMTI4LCA2NywgNDgsIDQ5LCA1MywgMTI4LCA2NywgNDgsIDQ5LCA1MiwgMTI4LCA2NywgCi0gICAgNDgsIDQ5LCA1MSwgMTI4LCA2NywgNDgsIDQ5LCA1MCwgMTI4LCA2NywgNDgsIDQ5LCA0OSwgMTI4LCA2NywgNDgsIDQ5LCAKLSAgICA0OCwgNjUsIDEyOCwgNjcsIDQ4LCA0OSwgNDgsIDEyOCwgNjcsIDQ4LCA0OCwgNTcsIDEyOCwgNjcsIDQ4LCA0OCwgNTYsIAotICAgIDEyOCwgNjcsIDQ4LCA0OCwgNTUsIDEyOCwgNjcsIDQ4LCA0OCwgNTQsIDEyOCwgNjcsIDQ4LCA0OCwgNTMsIDEyOCwgNjcsIAotICAgIDQ4LCA0OCwgNTIsIDEyOCwgNjcsIDQ4LCA0OCwgNTEsIDEyOCwgNjcsIDQ4LCA0OCwgNTAsIDY3LCAxMjgsIDY3LCA0OCwgCi0gICAgNDgsIDUwLCA2NiwgMTI4LCA2NywgNDgsIDQ4LCA1MCwgNjUsIDEyOCwgNjcsIDQ4LCA0OCwgNTAsIDEyOCwgNjcsIDQ4LCAKLSAgICA0OCwgNDksIDEyOCwgNjcsIDQ1LCA4MywgNzMsIDc3LCA4MCwgNzYsIDczLCA3MCwgNzMsIDY5LCAxOTYsIDY3LCA0NSwgNTEsIAotICAgIDU3LCAxMjgsIDY3LCA0NSwgNDksIDU2LCAxMjgsIDY2LCA5MCwgODUsIDc4LCAxOTksIDY2LCA5MCwgNzIsIDIwMSwgNjYsIAotICAgIDg5LCA4NCwgMTk3LCA2NiwgODksIDY5LCA3NiwgNzksIDgyLCA4NSwgODMsIDgzLCA3MywgNjUsIDc4LCA0NSwgODUsIDc1LCAKLSAgICA4MiwgNjUsIDczLCA3OCwgNzMsIDY1LCAyMDYsIDY2LCA4OCwgNzEsIDEyOCwgNjYsIDg3LCA3MywgMTI4LCA2NiwgODcsIAotICAgIDY5LCA2OSwgMTI4LCA2NiwgODcsIDY5LCAxMjgsIDY2LCA4NywgNjUsIDEyOCwgNjYsIDg1LCA4NSwgNzcsIDczLCA4MywgCi0gICAgNzIsIDEyOCwgNjYsIDg1LCA4NCwgODQsIDc5LCA3OCwgMTI4LCA2NiwgODUsIDIxMiwgNjYsIDg1LCA4MywgODQsIDIxMSwgCi0gICAgNjYsIDg1LCA4MywgMjEyLCA2NiwgODUsIDgzLCA4MywgODksIDY5LCA4MiwgODUsIDEyOCwgNjYsIDg1LCAyMTEsIDY2LCAKKyAgICA4MywgODQsIDc2LCA2OSwgMTI4LCA2NywgNjUsIDgzLCA3NSwgNjksIDIxMiwgNjcsIDY1LCA4MiwgODksIDgzLCA4NCwgNzMsIAorICAgIDY1LCAyMDYsIDY3LCA2NSwgODIsIDg0LCA4MiwgNzMsIDY4LCA3MSwgNjksIDEyOCwgNjcsIDY1LCA4MiwgODQsIDEyOCwgCisgICAgNjcsIDY1LCA4MiwgMjExLCA2NywgNjUsIDgyLCA4MiwgNzMsIDY1LCA3MSwgMTk3LCA2NywgNjUsIDgyLCA4MCwgNjksIDc4LCAKKyAgICA4NCwgODIsIDIxNywgNjcsIDY1LCA4MiwgMjA4LCA2NywgNjUsIDgyLCA3OSwgODUsIDgzLCA2OSwgMjA0LCA2NywgNjUsIAorICAgIDgyLCA3OSwgNzgsIDEyOCwgNjcsIDY1LCA4MiwgNzksIDIwNiwgNjcsIDY1LCA4MiwgNzMsIDIwMywgNjcsIDY1LCA4MiwgCisgICAgNzMsIDY1LCAyMDYsIDY3LCA2NSwgODIsIDY5LCA4NCwgMTI4LCA2NywgNjUsIDgyLCA2OSwgMjEyLCA2NywgNjUsIDgyLCAKKyAgICAxOTcsIDY3LCA2NSwgODIsIDY4LCA4MywgMTI4LCA2NywgNjUsIDgyLCA2OCwgMTI4LCA2NywgNjUsIDgyLCAxMjgsIDY3LCAKKyAgICA2NSwgMjEwLCA2NywgNjUsIDgwLCA4NSwgMjEyLCA2NywgNjUsIDgwLCA4NCwgNzMsIDg2LCA2OSwgMTI4LCA2NywgNjUsIAorICAgIDgwLCA4MiwgNzMsIDY3LCA3OSwgODIsIDc4LCAxMjgsIDY3LCA2NSwgODAsIDgwLCA2OSwgMTk2LCA2NywgNjUsIDgwLCA3OSwgCisgICAgMTI4LCA2NywgNjUsIDgwLCA3MywgODQsIDg1LCA3NiwgODUsIDc3LCAxMjgsIDY3LCA2NSwgODAsIDczLCA4NCwgNjUsIDc2LCAKKyAgICAxMjgsIDY3LCA2NSwgNzgsIDg0LCA3MywgNzYsIDc2LCA2NSwgODQsIDczLCA3OSwgMjA2LCA2NywgNjUsIDc4LCAxOTksIAorICAgIDY3LCA2NSwgNzgsIDY4LCA4OSwgMTI4LCA2NywgNjUsIDc4LCA2OCwgODIsIDY1LCA2NiwgNzMsIDc4LCA2OCwgODUsIDEyOCwgCisgICAgNjcsIDY1LCA3OCwgNjgsIDgyLCA2NSwgNjYsIDczLCA3OCwgNjgsIDIxMywgNjcsIDY1LCA3OCwgNjgsIDgyLCA2NSwgMTI4LCAKKyAgICA2NywgNjUsIDc4LCA2OCwgODIsIDE5MywgNjcsIDY1LCA3OCwgNjgsIDc2LCA2OSwgMTI4LCA2NywgNjUsIDc4LCA2NywgNjksIAorICAgIDgyLCAxMjgsIDY3LCA2NSwgNzgsIDY3LCA2OSwgNzYsIDc2LCA2NSwgODQsIDczLCA3OSwgMjA2LCA2NywgNjUsIDc4LCA2NywgCisgICAgNjksIDc2LCAxMjgsIDY3LCA2NSwgNzgsIDY3LCA2OSwgMjA0LCA2NywgNjUsIDc4LCAxMjgsIDY3LCA2NSwgNzcsIDgwLCAKKyAgICA3MywgNzgsIDcxLCAxMjgsIDY3LCA2NSwgNzcsIDc4LCA4NSwgMTk1LCA2NywgNjUsIDc3LCA2OSwgODIsIDY1LCAxMjgsIAorICAgIDY3LCA2NSwgNzcsIDY5LCA4MiwgMTkzLCA2NywgNjUsIDc3LCA2OSwgNzYsIDEyOCwgNjcsIDY1LCA3NiwgODksIDY1LCAKKyAgICAxMjgsIDY3LCA2NSwgNzYsIDg5LCAxOTMsIDY3LCA2NSwgNzYsIDg4LCAxMjgsIDY3LCA2NSwgNzYsIDc2LCAxMjgsIDY3LCAKKyAgICA2NSwgNzYsIDY5LCA3OCwgNjgsIDY1LCA4MiwgMTI4LCA2NywgNjUsIDc2LCA2OSwgNzgsIDY4LCA2NSwgMjEwLCA2NywgNjUsIAorICAgIDc2LCA2NywgODUsIDc2LCA2NSwgODQsIDc5LCA4MiwgMTI4LCA2NywgNjUsIDc2LCA2NywgMTI4LCA2NywgNjUsIDc1LCA4MiwgCisgICAgNjUsIDEyOCwgNjcsIDY1LCA3NSwgMTk3LCA2NywgNjUsIDczLCAxMjgsIDY3LCA2NSwgNzIsIDEyOCwgNjcsIDY1LCA2OSwgCisgICAgODMsIDg1LCA4MiwgNjUsIDEyOCwgNjcsIDY1LCA2OCwgODUsIDY3LCA2OSwgODUsIDgzLCAxMjgsIDY3LCA2NSwgNjgsIAorICAgIDE5MywgNjcsIDY1LCA2NywgODQsIDg1LCA4MywgMTI4LCA2NywgNjUsIDY2LCA3NiwgNjksIDg3LCA2NSwgODksIDEyOCwgCisgICAgNjcsIDY1LCA2NiwgNzMsIDc4LCA2OSwgODQsIDEyOCwgNjcsIDY1LCA2NiwgNjYsIDY1LCA3MSwgNjksIDQ1LCA4NCwgODIsIAorICAgIDY5LCA2OSwgMTI4LCA2NywgNjUsIDY1LCA3OCwgNzEsIDEyOCwgNjcsIDY1LCA2NSwgNzMsIDEyOCwgNjcsIDE5MywgNjcsIAorICAgIDQ4LCA1MCwgNTIsIDEyOCwgNjcsIDQ4LCA1MCwgNTEsIDEyOCwgNjcsIDQ4LCA1MCwgNTAsIDEyOCwgNjcsIDQ4LCA1MCwgCisgICAgNDksIDEyOCwgNjcsIDQ4LCA1MCwgNDgsIDEyOCwgNjcsIDQ4LCA0OSwgNTcsIDEyOCwgNjcsIDQ4LCA0OSwgNTYsIDEyOCwgCisgICAgNjcsIDQ4LCA0OSwgNTUsIDEyOCwgNjcsIDQ4LCA0OSwgNTQsIDEyOCwgNjcsIDQ4LCA0OSwgNTMsIDEyOCwgNjcsIDQ4LCAKKyAgICA0OSwgNTIsIDEyOCwgNjcsIDQ4LCA0OSwgNTEsIDEyOCwgNjcsIDQ4LCA0OSwgNTAsIDEyOCwgNjcsIDQ4LCA0OSwgNDksIAorICAgIDEyOCwgNjcsIDQ4LCA0OSwgNDgsIDY1LCAxMjgsIDY3LCA0OCwgNDksIDQ4LCAxMjgsIDY3LCA0OCwgNDgsIDU3LCAxMjgsIAorICAgIDY3LCA0OCwgNDgsIDU2LCAxMjgsIDY3LCA0OCwgNDgsIDU1LCAxMjgsIDY3LCA0OCwgNDgsIDU0LCAxMjgsIDY3LCA0OCwgCisgICAgNDgsIDUzLCAxMjgsIDY3LCA0OCwgNDgsIDUyLCAxMjgsIDY3LCA0OCwgNDgsIDUxLCAxMjgsIDY3LCA0OCwgNDgsIDUwLCAKKyAgICA2NywgMTI4LCA2NywgNDgsIDQ4LCA1MCwgNjYsIDEyOCwgNjcsIDQ4LCA0OCwgNTAsIDY1LCAxMjgsIDY3LCA0OCwgNDgsIAorICAgIDUwLCAxMjgsIDY3LCA0OCwgNDgsIDQ5LCAxMjgsIDY3LCA0NSwgODMsIDczLCA3NywgODAsIDc2LCA3MywgNzAsIDczLCA2OSwgCisgICAgMTk2LCA2NywgNDUsIDUxLCA1NywgMTI4LCA2NywgNDUsIDQ5LCA1NiwgMTI4LCA2NiwgOTAsIDg1LCA3OCwgMTk5LCA2NiwgCisgICAgOTAsIDcyLCAyMDEsIDY2LCA4OSwgODQsIDE5NywgNjYsIDg5LCA2OSwgNzYsIDc5LCA4MiwgODUsIDgzLCA4MywgNzMsIDY1LCAKKyAgICA3OCwgNDUsIDg1LCA3NSwgODIsIDY1LCA3MywgNzgsIDczLCA2NSwgMjA2LCA2NiwgODgsIDcxLCAxMjgsIDY2LCA4NywgNzMsIAorICAgIDEyOCwgNjYsIDg3LCA2OSwgNjksIDEyOCwgNjYsIDg3LCA2OSwgMTI4LCA2NiwgODcsIDY1LCAxMjgsIDY2LCA4NSwgODUsIAorICAgIDc3LCA3MywgODMsIDcyLCAxMjgsIDY2LCA4NSwgODQsIDg0LCA3OSwgNzgsIDEyOCwgNjYsIDg1LCA4NCwgODQsIDc5LCAKKyAgICAyMDYsIDY2LCA4NSwgMjEyLCA2NiwgODUsIDgzLCA4NCwgMjExLCA2NiwgODUsIDgzLCAyMTIsIDY2LCA4NSwgODMsIDgzLCAKKyAgICA4OSwgNjksIDgyLCA4NSwgMTI4LCA2NiwgODUsIDgzLCA3MywgNzgsIDY5LCA4MywgMjExLCA2NiwgODUsIDIxMSwgNjYsIAogICAgIDg1LCA4MiwgMjEzLCA2NiwgODUsIDgyLCA1MCwgMTI4LCA2NiwgODUsIDIxMCwgNjYsIDg1LCA3OSwgODgsIDEyOCwgNjYsIAogICAgIDg1LCA3OSwgODAsIDEyOCwgNjYsIDg1LCA3OCwgNzgsIDIxNywgNjYsIDg1LCA3OCwgNzEsIDEyOCwgNjYsIDg1LCA3NywgCiAgICAgODAsIDIxNywgNjYsIDg1LCA3NiwgODUsIDcxLCAxMjgsIDY2LCA4NSwgNzYsIDg1LCAxOTksIDY2LCA4NSwgNzYsIDc2LCAKLSAgICA4MywgNjksIDg5LCA2OSwgMTI4LCA2NiwgODUsIDc2LCA3NiwgMjExLCA2NiwgODUsIDc2LCA3NiwgNjksIDg0LCAxMjgsIAotICAgIDY2LCA4NSwgNzYsIDc2LCA2OSwgMjEyLCA2NiwgODUsIDc2LCA3NiwgMTI4LCA2NiwgODUsIDc2LCA2NiwgMTI4LCA2NiwgCi0gICAgODUsIDc1LCA4OSwgMTI4LCA2NiwgODUsIDczLCA3NiwgNjgsIDczLCA3OCwgNzEsIDgzLCAxMjgsIDY2LCA4NSwgNzMsIDc2LCAKLSAgICA2OCwgNzMsIDc4LCA3MSwgMTI4LCA2NiwgODUsIDcyLCA3MywgMTk2LCA2NiwgODUsIDcxLCA3MywgNzgsIDY5LCA4MywgCi0gICAgMTk3LCA2NiwgODUsIDcxLCAxMjgsIDY2LCA4NSwgNzAsIDcwLCA2NSwgNzYsIDc5LCAxMjgsIDY2LCA4NSwgNjcsIDc1LCAKLSAgICA3NiwgNjksIDEyOCwgNjYsIDgzLCA4NCwgNjUsIDgyLCAxMjgsIDY2LCA4MywgNzUsIDg1LCAyMTAsIDY2LCA4MywgNzUsIAotICAgIDY1LCAxNzMsIDY2LCA4MywgNjgsIDg1LCAyMTEsIDY2LCA4MiwgODUsIDgzLCA3MiwgMTI4LCA2NiwgODIsIDg1LCA4MywgCi0gICAgMjAwLCA2NiwgODIsIDc5LCA3OCwgOTAsIDY5LCAxMjgsIDY2LCA4MiwgNzksIDc1LCA2OSwgMjA2LCA2NiwgODIsIDc5LCAKLSAgICA2NSwgMTk2LCA2NiwgODIsIDczLCA4MywgODQsIDc2LCA2OSwgMTI4LCA2NiwgODIsIDczLCA3MSwgNzIsIDg0LCA3OCwgNjksIAotICAgIDgzLCAyMTEsIDY2LCA4MiwgNzMsIDY5LCA3MCwgNjcsIDY1LCA4MywgNjksIDEyOCwgNjYsIDgyLCA3MywgNjgsIDcxLCAKLSAgICAxOTcsIDY2LCA4MiwgNzMsIDY4LCAxOTcsIDY2LCA4MiwgNzMsIDY3LCA3NSwgMTI4LCA2NiwgODIsIDY5LCA4NiwgNzMsIAotICAgIDgzLCAxMjgsIDY2LCA4MiwgNjksIDg2LCA2OSwgNDUsIDc3LCA2NSwgNjcsIDgyLCA3OSwgNzgsIDEyOCwgNjYsIDgyLCA2OSwgCi0gICAgODYsIDE5NywgNjYsIDgyLCA2OSwgNjUsIDg0LCAyMDAsIDY2LCA4MiwgNjksIDY1LCA3NSwgODQsIDcyLCA4MiwgNzksIDg1LCAKLSAgICA3MSwgNzIsIDEyOCwgNjYsIDgyLCA2OSwgNjUsIDY4LCAxMjgsIDY2LCA4MiwgNjgsIDE5MywgNjYsIDgyLCA2NSwgNzgsIAotICAgIDY3LCA3MiwgNzMsIDc4LCAxOTksIDY2LCA4MiwgNjUsIDc4LCA2NywgNzIsIDEyOCwgNjYsIDgyLCA2NSwgNzgsIDY3LCAKKyAgICA4MywgNjksIDg5LCA2OSwgMTI4LCA2NiwgODUsIDc2LCA3NiwgMjExLCA2NiwgODUsIDc2LCA3NiwgNzIsIDc5LCA4MiwgNzgsIAorICAgIDEyOCwgNjYsIDg1LCA3NiwgNzYsIDcyLCA3OSwgODIsIDIwNiwgNjYsIDg1LCA3NiwgNzYsIDY5LCA4NCwgMTI4LCA2NiwgCisgICAgODUsIDc2LCA3NiwgNjksIDIxMiwgNjYsIDg1LCA3NiwgNzYsIDEyOCwgNjYsIDg1LCA3NiwgNjYsIDEyOCwgNjYsIDg1LCAKKyAgICA3NSwgODksIDEyOCwgNjYsIDg1LCA3MywgNzYsIDY4LCA3MywgNzgsIDcxLCA4MywgMTI4LCA2NiwgODUsIDczLCA3NiwgNjgsIAorICAgIDczLCA3OCwgNzEsIDEyOCwgNjYsIDg1LCA3MywgNzYsIDY4LCA3MywgNzgsIDE5OSwgNjYsIDg1LCA3MiwgNzMsIDE5NiwgCisgICAgNjYsIDg1LCA3MSwgNzMsIDc4LCA2OSwgODMsIDE5NywgNjYsIDg1LCA3MSwgMTI4LCA2NiwgODUsIDcwLCA3MCwgNjUsIDc2LCAKKyAgICA3OSwgMTI4LCA2NiwgODUsIDY4LCAxMjgsIDY2LCA4NSwgNjcsIDc1LCA3NiwgNjksIDEyOCwgNjYsIDg1LCA2NiwgNjYsIAorICAgIDc2LCA2OSwgODMsIDEyOCwgNjYsIDg1LCA2NiwgNjYsIDc2LCA2OSwgMTI4LCA2NiwgODMsIDg0LCA2NSwgODIsIDEyOCwgCisgICAgNjYsIDgzLCA3NSwgODUsIDIxMCwgNjYsIDgzLCA3NSwgNjUsIDE3MywgNjYsIDgzLCA2OCwgODUsIDIxMSwgNjYsIDgyLCAKKyAgICA4NSwgODMsIDIwMCwgNjYsIDgyLCA3OSwgNzgsIDkwLCA2OSwgMTI4LCA2NiwgODIsIDc5LCA3NSwgNjksIDIwNiwgNjYsIAorICAgIDgyLCA3OSwgNjUsIDE5NiwgNjYsIDgyLCA3MywgODMsIDg0LCA3NiwgNjksIDEyOCwgNjYsIDgyLCA3MywgNzEsIDcyLCA4NCwgCisgICAgNzgsIDY5LCA4MywgMjExLCA2NiwgODIsIDczLCA2OSwgNzAsIDY3LCA2NSwgODMsIDY5LCAxMjgsIDY2LCA4MiwgNzMsIDY4LCAKKyAgICA3MSwgMTk3LCA2NiwgODIsIDczLCA2OCwgMTk3LCA2NiwgODIsIDczLCA2NywgNzUsIDEyOCwgNjYsIDgyLCA2OSwgODYsIAorICAgIDczLCA4MywgMTI4LCA2NiwgODIsIDY5LCA4NiwgNjksIDQ1LCA3NywgNjUsIDY3LCA4MiwgNzksIDc4LCAxMjgsIDY2LCA4MiwgCisgICAgNjksIDg2LCAxOTcsIDY2LCA4MiwgNjksIDY1LCA4NCwgMjAwLCA2NiwgODIsIDY5LCA2NSwgNzUsIDg0LCA3MiwgODIsIDc5LCAKKyAgICA4NSwgNzEsIDcyLCAxMjgsIDY2LCA4MiwgNjksIDY1LCA2OCwgMTI4LCA2NiwgODIsIDY4LCAxOTMsIDY2LCA4MiwgNjUsIAorICAgIDc4LCA2NywgNzIsIDczLCA3OCwgMTk5LCA2NiwgODIsIDY1LCA3OCwgNjcsIDcyLCAxMjgsIDY2LCA4MiwgNjUsIDc4LCA2NywgCiAgICAgMjAwLCA2NiwgODIsIDY1LCA3NSwgNjcsIDY5LCA4NCwgMTI4LCA2NiwgODIsIDY1LCA2NywgNzUsIDY5LCA4NCwgNjksIAogICAgIDE5NiwgNjYsIDgyLCA2NSwgNjcsIDc1LCA2OSwgMjEyLCA2NiwgODIsIDY1LCA2NywgNjksIDEyOCwgNjYsIDgxLCAxMjgsIAotICAgIDY2LCA4MCwgNzIsIDEyOCwgNjYsIDc5LCA4OSwgMTI4LCA2NiwgNzksIDg3LCA4NCwgNzMsIDY5LCAxMjgsIDY2LCA3OSwgCi0gICAgODcsIDg0LCA3MywgMTk3LCA2NiwgNzksIDg3LCA3NiwgNzMsIDc4LCA3MSwgMTI4LCA2NiwgNzksIDg3LCA3NiwgMTI4LCAKLSAgICA2NiwgNzksIDg3LCA3MywgNzgsIDE5OSwgNjYsIDc5LCAyMTUsIDY2LCA3OSwgODUsIDgxLCA4NSwgNjksIDg0LCAxMjgsIAotICAgIDY2LCA3OSwgODUsIDc4LCA2OCwgNjUsIDgyLCAyMTcsIDY2LCA3OSwgODQsIDg0LCA3OSwgNzcsIDQ1LCA3NiwgNzMsIDcxLCAKLSAgICA3MiwgODQsIDY5LCAxOTYsIDY2LCA3OSwgODQsIDg0LCA3OSwgNzcsIDEyOCwgNjYsIDc5LCA4NCwgODQsIDc5LCAyMDUsIAotICAgIDY2LCA3OSwgODQsIDg0LCA3NiwgNjksIDEyOCwgNjYsIDc5LCA4NCwgODQsIDc2LCAxOTcsIDY2LCA3OSwgODQsIDIwMCwgCi0gICAgNjYsIDc5LCA4MiwgODUsIDg0LCA3OSwgMTI4LCA2NiwgNzksIDgyLCA2NSwgODgsIDQ1LCA1MSwgMTI4LCA2NiwgNzksIDgyLCAKLSAgICA2NSwgODgsIDQ1LCA1MCwgMTI4LCA2NiwgNzksIDgyLCA2NSwgODgsIDEyOCwgNjYsIDc5LCA4MCwgNzksIDc3LCA3OSwgNzAsIAotICAgIDIwNywgNjYsIDc5LCA3OSwgODQsIDgzLCAxMjgsIDY2LCA3OSwgNzksIDg0LCAxMjgsIDY2LCA3OSwgNzksIDc3LCA2OSwgCi0gICAgODIsIDY1LCA3OCwgNzEsIDEyOCwgNjYsIDc5LCA3OSwgNzUsIDgzLCAxMjgsIDY2LCA3OSwgNzksIDc1LCA3NywgNjUsIDgyLCAKLSAgICA3NSwgMTI4LCA2NiwgNzksIDc5LCA3NSwgNzcsIDY1LCA4MiwgMjAzLCA2NiwgNzksIDc4LCA2OSwgMTI4LCA2NiwgNzksIAotICAgIDc3LCA2NiwgMTI4LCA2NiwgNzksIDc3LCAxMjgsIDY2LCA3OSwgNzYsIDg0LCAxMjgsIDY2LCA3OSwgNzYsIDIxMiwgNjYsIAotICAgIDc5LCA3MiwgNjUsIDczLCA4MiwgNzMsIDE5NSwgNjYsIDc5LCA2OCwgODksIDEyOCwgNjYsIDc5LCA2NSwgODIsIDEyOCwgCi0gICAgNjYsIDc5LCA2NSwgMTI4LCA2NiwgNzYsIDg1LCA2OSwgMTI4LCA2NiwgNzYsIDg1LCAxOTcsIDY2LCA3NiwgNzksIDg3LCAKLSAgICA3MCwgNzMsIDgzLCA3MiwgMTI4LCA2NiwgNzYsIDc5LCA4MywgODMsIDc5LCA3NywgMTI4LCA2NiwgNzYsIDc5LCA3OSwgNjgsIAotICAgIDEyOCwgNjYsIDc2LCA3OSwgNzgsIDE5NiwgNjYsIDc2LCA3OSwgNjcsIDc1LCAxMjgsIDY2LCA3NiwgNjksIDc4LCA2OCwgCi0gICAgNjksIDE5NiwgNjYsIDc2LCA2NSwgNzgsIDc1LCAxMjgsIDY2LCA3NiwgNjUsIDc4LCAyMDMsIDY2LCA3NiwgNjUsIDY4LCAKLSAgICAxOTcsIDY2LCA3NiwgNjUsIDY3LCA3NSwgNzAsIDc5LCA3OSwgMjEyLCA2NiwgNzYsIDY1LCA2NywgNzUsIDQ1LCA3NiwgNjksIAotICAgIDg0LCA4NCwgNjksIDIxMCwgNjYsIDc2LCA2NSwgNjcsIDc1LCA0NSwgNzAsIDY5LCA2NSwgODQsIDcyLCA2OSwgODIsIDY5LCAKLSAgICAxOTYsIDY2LCA3NiwgNjUsIDY3LCA3NSwgMTI4LCA2NiwgNzUsIDY1LCAxNzMsIDY2LCA3MywgODQsIDg0LCA2OSwgODIsIAotICAgIDEyOCwgNjYsIDczLCA4NCwgNzMsIDc4LCAxOTksIDY2LCA3MywgODMsIDc3LCA4NSwgODQsIDIwMCwgNjYsIDczLCA4MywgCi0gICAgNzcsIDczLCA3NiwgNzYsIDY1LCAyMDAsIDY2LCA3MywgODMsIDcyLCA3OSwgODAsIDEyOCwgNjYsIDczLCA4MywgNjksIDY3LCAKLSAgICA4NCwgNzMsIDc4LCAxOTksIDY2LCA3MywgODMsIDY1LCA3MiwgMTI4LCA2NiwgNzMsIDgyLCA4NSwgMTI4LCA2NiwgNzMsIAotICAgIDgyLCA4NCwgNzIsIDY4LCA2NSwgMjE3LCA2NiwgNzMsIDgyLCA3MSwgNjUsIDEyOCwgNjYsIDczLCA4MiwgNjgsIDEyOCwgCi0gICAgNjYsIDczLCA3OSwgNzIsIDY1LCA5MCwgNjUsIDgyLCAxOTYsIDY2LCA3MywgNzgsIDc5LCA2NywgODUsIDc2LCA2NSwgMjEwLCAKLSAgICA2NiwgNzMsIDc4LCA2OCwgNzMsIDc4LCAxOTksIDY2LCA3MywgNzgsIDY4LCA3MywgMTI4LCA2NiwgNzMsIDc4LCA2NSwgODIsIAotICAgIDIxNywgNjYsIDczLCA3NiwgNzYsIDczLCA2NSwgODIsIDY4LCA4MywgMTI4LCA2NiwgNzMsIDc2LCA2NSwgNjYsIDczLCA2NSwgCi0gICAgMjA0LCA2NiwgNzMsIDc1LCA3MywgNzgsIDczLCAxMjgsIDY2LCA3MywgNzEsIDEyOCwgNjYsIDczLCAxOTksIDY2LCA3MywgCi0gICAgNjksIDg0LCAxMjgsIDY2LCA3MywgNjgsIDY5LCA3OCwgODQsIDY1LCAyMDQsIDY2LCA3MywgNjgsIDY1LCA3NSwgODUsIDc5LCAKKyAgICA2NiwgODAsIDcyLCAxMjgsIDY2LCA3OSwgODksIDIxMSwgNjYsIDc5LCA4OSwgMTI4LCA2NiwgNzksIDg3LCA4NCwgNzMsIAorICAgIDY5LCAxMjgsIDY2LCA3OSwgODcsIDg0LCA3MywgMTk3LCA2NiwgNzksIDg3LCA3NiwgNzMsIDc4LCA3MSwgMTI4LCA2NiwgCisgICAgNzksIDg3LCA3NiwgMTI4LCA2NiwgNzksIDg3LCA3MywgNzgsIDE5OSwgNjYsIDc5LCAyMTUsIDY2LCA3OSwgODUsIDgxLCAKKyAgICA4NSwgNjksIDg0LCAxMjgsIDY2LCA3OSwgODUsIDgxLCA4NSwgNjksIDIxMiwgNjYsIDc5LCA4NSwgNzgsIDY4LCA2NSwgODIsIAorICAgIDIxNywgNjYsIDc5LCA4NCwgODQsIDc5LCA3NywgNDUsIDgzLCA3MiwgNjUsIDY4LCA2OSwgMTk2LCA2NiwgNzksIDg0LCA4NCwgCisgICAgNzksIDc3LCA0NSwgNzYsIDczLCA3MSwgNzIsIDg0LCA2OSwgMTk2LCA2NiwgNzksIDg0LCA4NCwgNzksIDc3LCAxMjgsIDY2LCAKKyAgICA3OSwgODQsIDg0LCA3OSwgMjA1LCA2NiwgNzksIDg0LCA4NCwgNzYsIDY5LCAxMjgsIDY2LCA3OSwgODQsIDg0LCA3NiwgCisgICAgMTk3LCA2NiwgNzksIDg0LCAyMDAsIDY2LCA3OSwgODIsIDg1LCA4NCwgNzksIDEyOCwgNjYsIDc5LCA4MiwgNjUsIDg4LCAKKyAgICA0NSwgNTEsIDEyOCwgNjYsIDc5LCA4MiwgNjUsIDg4LCA0NSwgNTAsIDEyOCwgNjYsIDc5LCA4MiwgNjUsIDg4LCAxMjgsIAorICAgIDY2LCA3OSwgODAsIDc5LCA3NywgNzksIDcwLCAyMDcsIDY2LCA3OSwgNzksIDg0LCA4MywgMTI4LCA2NiwgNzksIDc5LCA4NCwgCisgICAgMTI4LCA2NiwgNzksIDc5LCA3NywgNjksIDgyLCA2NSwgNzgsIDcxLCAxMjgsIDY2LCA3OSwgNzksIDc1LCA4MywgMTI4LCAKKyAgICA2NiwgNzksIDc5LCA3NSwgNzcsIDY1LCA4MiwgNzUsIDEyOCwgNjYsIDc5LCA3OSwgNzUsIDc3LCA2NSwgODIsIDIwMywgNjYsIAorICAgIDc5LCA3OCwgNjksIDEyOCwgNjYsIDc5LCA3NywgNjYsIDEyOCwgNjYsIDc5LCA3NywgMTI4LCA2NiwgNzksIDc2LCA4NCwgCisgICAgMTI4LCA2NiwgNzksIDc2LCAyMTIsIDY2LCA3OSwgNzIsIDY1LCA3MywgODIsIDczLCAxOTUsIDY2LCA3OSwgNjgsIDg5LCAKKyAgICAxMjgsIDY2LCA3OSwgNjUsIDgyLCAxMjgsIDY2LCA3OSwgNjUsIDEyOCwgNjYsIDc2LCA4NSwgNjksIDEyOCwgNjYsIDc2LCAKKyAgICA4NSwgMTk3LCA2NiwgNzYsIDc5LCA4NywgNzMsIDc4LCAxOTksIDY2LCA3NiwgNzksIDg3LCA3MCwgNzMsIDgzLCA3MiwgCisgICAgMTI4LCA2NiwgNzYsIDc5LCA4MywgODMsIDc5LCA3NywgMTI4LCA2NiwgNzYsIDc5LCA3OSwgNjgsIDEyOCwgNjYsIDc2LCAKKyAgICA3OSwgNzgsIDE5NiwgNjYsIDc2LCA3OSwgNjcsIDc1LCAxMjgsIDY2LCA3NiwgNjksIDc4LCA2OCwgNjksIDE5NiwgNjYsIAorICAgIDc2LCA2NSwgNzgsIDc1LCAxMjgsIDY2LCA3NiwgNjUsIDc4LCAyMDMsIDY2LCA3NiwgNjUsIDY4LCAxOTcsIDY2LCA3NiwgCisgICAgNjUsIDY3LCA3NSwgNzYsIDY5LCA4NCwgODQsIDY5LCAyMTAsIDY2LCA3NiwgNjUsIDY3LCA3NSwgNzAsIDc5LCA3OSwgMjEyLCAKKyAgICA2NiwgNzYsIDY1LCA2NywgNzUsIDQ1LCA3NiwgNjksIDg0LCA4NCwgNjksIDIxMCwgNjYsIDc2LCA2NSwgNjcsIDc1LCA0NSwgCisgICAgNzAsIDY5LCA2NSwgODQsIDcyLCA2OSwgODIsIDY5LCAxOTYsIDY2LCA3NiwgNjUsIDY3LCA3NSwgMTI4LCA2NiwgNzUsIDY1LCAKKyAgICAxNzMsIDY2LCA3MywgODQsIDg0LCA2OSwgODIsIDEyOCwgNjYsIDczLCA4NCwgNzMsIDc4LCAxOTksIDY2LCA3MywgODMsIAorICAgIDc3LCA4NSwgODQsIDIwMCwgNjYsIDczLCA4MywgNzcsIDczLCA3NiwgNzYsIDY1LCAyMDAsIDY2LCA3MywgODMsIDcyLCA3OSwgCisgICAgODAsIDEyOCwgNjYsIDczLCA4MywgNjksIDY3LCA4NCwgNzMsIDc4LCAxOTksIDY2LCA3MywgODMsIDY1LCA3MiwgMTI4LCAKKyAgICA2NiwgNzMsIDgyLCA4NSwgMTI4LCA2NiwgNzMsIDgyLCA4NCwgNzIsIDY4LCA2NSwgMjE3LCA2NiwgNzMsIDgyLCA3MSwgNjUsIAorICAgIDEyOCwgNjYsIDczLCA4MiwgNjgsIDEyOCwgNjYsIDczLCA3OSwgNzIsIDY1LCA5MCwgNjUsIDgyLCAxOTYsIDY2LCA3MywgCisgICAgNzgsIDc5LCA2NywgODUsIDc2LCA2NSwgMjEwLCA2NiwgNzMsIDc4LCA2OCwgNzMsIDc4LCAxOTksIDY2LCA3MywgNzgsIDY4LCAKKyAgICA3MywgMTI4LCA2NiwgNzMsIDc4LCA2NSwgODIsIDIxNywgNjYsIDczLCA3NiwgNzYsIDczLCA3OSwgNzgsIDgzLCAxMjgsIAorICAgIDY2LCA3MywgNzYsIDc2LCA3MywgNjUsIDgyLCA2OCwgODMsIDEyOCwgNjYsIDczLCA3NiwgNjUsIDY2LCA3MywgNjUsIDIwNCwgCisgICAgNjYsIDczLCA3NSwgNzMsIDc4LCA3MywgMTI4LCA2NiwgNzMsIDcxLCAxMjgsIDY2LCA3MywgMTk5LCA2NiwgNzMsIDY5LCAKKyAgICA4NCwgMTI4LCA2NiwgNzMsIDY4LCA2OSwgNzgsIDg0LCA2NSwgMjA0LCA2NiwgNzMsIDY4LCA2NSwgNzUsIDg1LCA3OSwgCiAgICAgMjA2LCA2NiwgNzMsIDY3LCA4OSwgNjcsIDc2LCA3MywgODMsIDg0LCAxMjgsIDY2LCA3MywgNjcsIDg5LCA2NywgNzYsIDY5LCAKICAgICA4MywgMTI4LCA2NiwgNzMsIDY3LCA4OSwgNjcsIDc2LCA2OSwgMTI4LCA2NiwgNzMsIDY3LCA2OSwgODAsIDgzLCAxMjgsIAogICAgIDY2LCA3MywgNjYsIDc2LCA2OSwgNDUsIDY3LCA4MiwgNjksIDE5NywgNjYsIDczLCA2NiwgMTI4LCA2NiwgMjAxLCA2NiwgCkBAIC00MzUxLDE1NDg3ICs0NTgxLDE3MjAxIEBACiAgICAgODQsIDg3LCA2OSwgNjksIDIwNiwgNjYsIDY5LCA4NCwgNzIsIDEyOCwgNjYsIDY5LCA4NCwgNjUsIDEyOCwgNjYsIDY5LCAKICAgICA4NCwgMTkzLCA2NiwgNjksIDIxMiwgNjYsIDY5LCA4MywgNzMsIDY4LCAxOTcsIDY2LCA2OSwgODIsIDc1LCA2NSwgNzgsIAogICAgIDY1LCAyMDYsIDY2LCA2OSwgODIsIDY2LCA2OSwgMjEwLCA2NiwgNjksIDgwLCAxMjgsIDY2LCA2OSwgNzksIDgyLCAxOTUsIAotICAgIDY2LCA2OSwgNzgsIDkwLCA2OSwgNzgsIDE5NywgNjYsIDY5LCA3OCwgODQsIDIwNywgNjYsIDY5LCA3OCwgNjgsIDY5LCAKLSAgICAxMjgsIDY2LCA2OSwgNzgsIDY4LCAxMjgsIDY2LCA2OSwgMjA2LCA2NiwgNjksIDc2LCA4NCwgMTI4LCA2NiwgNjksIDc2LCAKLSAgICAyMTIsIDY2LCA2OSwgNzYsIDc5LCAyMTUsIDY2LCA2OSwgNzYsIDc2LCAxMjgsIDY2LCA2OSwgNzYsIDIwNCwgNjYsIDY5LCAKLSAgICA3NiwgNzEsIDg0LCA3MiwgNzksIDIxMCwgNjYsIDY5LCA3NiwgMTI4LCA2NiwgNjksIDczLCA4NCwgNzIsIDEyOCwgNjYsIAotICAgIDY5LCA3MiwgNzMsIDc4LCAxOTYsIDY2LCA2OSwgNzIsIDY5LCA3MiwgMTI4LCA2NiwgNjksIDcyLCA2OSwgMjAwLCA2NiwgCi0gICAgNjksIDcyLCAxMjgsIDY2LCA2OSwgMjAwLCA2NiwgNjksIDcxLCA3MywgNzgsIDc4LCA3MywgNzgsIDcxLCAxMjgsIDY2LCAKLSAgICA2OSwgNzEsIDczLCA3OCwgNzgsIDY5LCA4MiwgMTI4LCA2NiwgNjksIDcxLCA3MywgMjA2LCA2NiwgNjksIDcwLCA3OSwgODIsIAotICAgIDE5NywgNjYsIDY5LCA2OSwgODQsIDc2LCA2OSwgMTI4LCA2NiwgNjksIDY5LCA4NCwgNjUsIDEyOCwgNjYsIDY5LCA2OSwgCi0gICAgMjEwLCA2NiwgNjksIDY5LCA3MiwgNzMsIDg2LCA2OSwgMTI4LCA2NiwgNjksIDY5LCA3MiwgMTI4LCA2NiwgNjksIDY5LCAKLSAgICAyMDAsIDY2LCA2OSwgNjcsIDY1LCA4NSwgODMsIDY5LCAxMjgsIDY2LCA2OSwgNjUsIDg2LCA2OSwgMjEwLCA2NiwgNjksIAotICAgIDY1LCA4NCwgNzMsIDc4LCAxOTksIDY2LCA2OSwgNjUsIDg0LCAxMjgsIDY2LCA2OSwgNjUsIDIxMCwgNjYsIDY5LCA2NSwgCi0gICAgNzgsIDEyOCwgNjYsIDY5LCA2NSwgNzcsIDY5LCAxOTYsIDY2LCA2NywgNjUsIDY4LCAxMjgsIDY2LCA2NywgNjUsIDE5NiwgCi0gICAgNjYsIDY2LCA4OSwgODgsIDEyOCwgNjYsIDY2LCA4OSwgODQsIDEyOCwgNjYsIDY2LCA4OSwgODAsIDEyOCwgNjYsIDY2LCAKLSAgICA4OSwgMTI4LCA2NiwgNjYsIDg1LCA4OCwgMTI4LCA2NiwgNjYsIDg1LCA4NCwgMTI4LCA2NiwgNjYsIDg1LCA4MiwgODgsIAotICAgIDEyOCwgNjYsIDY2LCA4NSwgODIsIDEyOCwgNjYsIDY2LCA4NSwgODAsIDEyOCwgNjYsIDY2LCA4NSwgNzksIDg4LCAxMjgsIAotICAgIDY2LCA2NiwgODUsIDc5LCA4MCwgMTI4LCA2NiwgNjYsIDg1LCA3OSwgMTI4LCA2NiwgNjYsIDg1LCAxMjgsIDY2LCA2NiwgCi0gICAgNzksIDg4LCAxMjgsIDY2LCA2NiwgNzksIDg0LCAxMjgsIDY2LCA2NiwgNzksIDgwLCAxMjgsIDY2LCA2NiwgNzksIDEyOCwgCi0gICAgNjYsIDY2LCA3MywgODgsIDEyOCwgNjYsIDY2LCA3MywgODAsIDEyOCwgNjYsIDY2LCA3MywgNjksIDg4LCAxMjgsIDY2LCAKLSAgICA2NiwgNzMsIDY5LCA4NCwgMTI4LCA2NiwgNjYsIDczLCA2OSwgODAsIDEyOCwgNjYsIDY2LCA3MywgNjksIDEyOCwgNjYsIAotICAgIDY2LCA3MywgMTI4LCA2NiwgNjYsIDY5LCA4OCwgMTI4LCA2NiwgNjYsIDY5LCA4MCwgMTI4LCA2NiwgNjYsIDY5LCA2OSwgCi0gICAgMTI4LCA2NiwgNjYsIDY5LCAxMjgsIDY2LCA2NiwgNjUsIDg4LCAxMjgsIDY2LCA2NiwgNjUsIDg0LCAxMjgsIDY2LCA2NiwgCi0gICAgNjUsIDgwLCAxMjgsIDY2LCA2NiwgNjUsIDY1LCAxMjgsIDY2LCA2NiwgNjUsIDEyOCwgNjYsIDY1LCA4OSwgNjUsIDc4LCAKLSAgICA3OCwgNjUsIDEyOCwgNjYsIDY1LCA4NSwgMTI4LCA2NiwgNjUsIDg0LCA4NCwgNjksIDgyLCA4OSwgMTI4LCA2NiwgNjUsIAotICAgIDg0LCA3MiwgODQsIDg1LCA2NiwgMTI4LCA2NiwgNjUsIDg0LCA3MiwgNjUsIDc3LCA2NSwgODMsIDY1LCA4NCwgMTI4LCA2NiwgCi0gICAgNjUsIDg0LCA3MiwgMTI4LCA2NiwgNjUsIDg0LCAyMDAsIDY2LCA2NSwgODQsIDY1LCAyMDMsIDY2LCA2NSwgODMsIDgzLCAKLSAgICA2NSwgMTI4LCA2NiwgNjUsIDgzLCA3NSwgNjksIDg0LCA2NiwgNjUsIDc2LCAyMDQsIDY2LCA2NSwgODMsIDcyLCA3NSwgNzMsIAotICAgIDIxMCwgNjYsIDY1LCA4MywgNzIsIDEyOCwgNjYsIDY1LCA4MywgNjksIDY2LCA2NSwgNzYsIDc2LCAxMjgsIDY2LCA2NSwgCi0gICAgODMsIDY5LCAxMjgsIDY2LCA2NSwgODMsIDE5NywgNjYsIDY1LCA4MiwgODMsIDEyOCwgNjYsIDY1LCA4MiwgODIsIDczLCAKLSAgICA2OSwgODIsIDEyOCwgNjYsIDY1LCA4MiwgODIsIDY5LCA3NSwgNzIsIDEyOCwgNjYsIDY1LCA4MiwgODIsIDY5LCA2OSwgCi0gICAgMTI4LCA2NiwgNjUsIDgyLCA4MiwgNjksIDE5NywgNjYsIDY1LCA4MiwgNzYsIDczLCA3OCwgNjksIDEyOCwgNjYsIDY1LCAKLSAgICA4MiwgNzYsIDY5LCA4OSwgMTI4LCA2NiwgNjUsIDgyLCA3MywgODksIDc5LCA3OSwgODMsIDY1LCA3OCwgMTI4LCA2NiwgNjUsIAotICAgIDgyLCA2NiwgNjksIDIxMCwgNjYsIDY1LCA4MiwgMTk0LCA2NiwgNjUsIDgyLCA2NSwgNTAsIDEyOCwgNjYsIDY1LCAyMTAsIAotICAgIDY2LCA2NSwgNzgsIDg0LCA3OSwgNjcsIDEyOCwgNjYsIDY1LCA3OCwgNzUsIDc4LCA3OSwgODQsIDE5NywgNjYsIDY1LCA3OCwgCi0gICAgNzUsIDEyOCwgNjYsIDY1LCA3OCwgMjAzLCA2NiwgNjUsIDc4LCA2OCwgMTI4LCA2NiwgNjUsIDc4LCA2NSwgNzgsIDY1LCAKLSAgICAxMjgsIDY2LCA2NSwgNzgsIDUwLCAxMjgsIDY2LCA2NSwgNzgsIDE3OCwgNjYsIDY1LCA3NywgNjYsIDc5LCA3OSwgODMsIAotICAgIDEyOCwgNjYsIDY1LCA3NywgNjYsIDc5LCA3OSwgMTI4LCA2NiwgNjUsIDc2LCA4NSwgNjgsIDY1LCAxMjgsIDY2LCA2NSwgCi0gICAgNzYsIDc2LCA3OSwgMjEyLCA2NiwgNjUsIDc2LCA3NiwgNzksIDc5LCA3OCwgNDUsIDgzLCA4MCwgNzksIDc1LCA2OSwgMTk2LCAKLSAgICA2NiwgNjUsIDc2LCA3NiwgNzksIDc5LCA3OCwgMTI4LCA2NiwgNjUsIDc2LCA2NSwgNzEsIDEyOCwgNjYsIDY1LCA3NiwgCi0gICAgMTI4LCA2NiwgNjUsIDIwNCwgNjYsIDY1LCA3MywgODIsIDc1LCA2NSwgNzgsIDEyOCwgNjYsIDY1LCA3MywgNzcsIDY1LCAKLSAgICA3MywgMTI4LCA2NiwgNjUsIDcyLCA4NCwgMTI4LCA2NiwgNjUsIDcyLCA3MywgODIsIDcxLCA3OSwgNzcsIDg1LCA3NSwgNzIsIAotICAgIDY1LCAxMjgsIDY2LCA2NSwgNzIsIDY1LCA4MiwgNTAsIDEyOCwgNjYsIDY1LCA3MiwgMTI4LCA2NiwgNjUsIDcxLCA3MSwgCi0gICAgNjUsIDcxLCAxOTcsIDY2LCA2NSwgNzEsIDY1LCAxMjgsIDY2LCA2NSwgNzEsIDUxLCAxMjgsIDY2LCA2NSwgMTk5LCA2NiwgCi0gICAgNjUsIDY4LCA3MSwgNjksIDgyLCAxMjgsIDY2LCA2NSwgNjgsIDcxLCA2OSwgMTI4LCA2NiwgNjUsIDY4LCAxMjgsIDY2LCAKLSAgICA2NSwgNjcsIDg0LCA4MiwgNzMsIDY1LCAyMDYsIDY2LCA2NSwgNjcsIDc1LCA4NywgNjUsIDgyLCA2OCwgMTI4LCA2NiwgNjUsIAotICAgIDY3LCA3NSwgODMsIDgwLCA2NSwgNjcsIDY5LCAxMjgsIDY2LCA2NSwgNjcsIDc1LCA4MywgNzYsIDY1LCA4MywgNzIsIDEyOCwgCi0gICAgNjYsIDY1LCA2NywgNzUsIDgzLCA3NiwgNjUsIDgzLCAyMDAsIDY2LCA2NSwgNjcsIDc1LCA3MiwgNjUsIDc4LCAxOTYsIDY2LCAKLSAgICA2NSwgNjcsIDc1LCA0NSwgODQsIDczLCA3NiwgODQsIDY5LCAxOTYsIDY2LCA2NSwgNjcsIDc1LCAxMjgsIDY2LCA2NSwgNjcsIAotICAgIDIwMywgNjYsIDY1LCA2NiwgODksIDEyOCwgNjYsIDY1LCA2NiwgMjE3LCA2NiwgNjUsIDY1LCA4MiwgNjksIDgyLCA4NSwgCi0gICAgMTI4LCA2NiwgNjUsIDQ1LCA1MCwgMTI4LCA2NiwgNTEsIDQ4LCA1MywgMTI4LCA2NiwgNTAsIDUzLCA1NywgMTI4LCA2NiwgCi0gICAgNTAsIDUzLCA1NiwgMTI4LCA2NiwgNTAsIDUzLCA1NSwgMTI4LCA2NiwgNTAsIDUzLCA1NCwgMTI4LCA2NiwgNTAsIDUzLCAKLSAgICA1MywgMTI4LCA2NiwgNTAsIDUzLCAxODAsIDY2LCA1MCwgNTMsIDUxLCAxMjgsIDY2LCA1MCwgNTMsIDUwLCAxMjgsIDY2LCAKLSAgICA1MCwgNTMsIDQ5LCAxMjgsIDY2LCA1MCwgNTMsIDQ4LCAxMjgsIDY2LCA1MCwgNTIsIDU3LCAxMjgsIDY2LCA1MCwgNTIsIAotICAgIDU2LCAxMjgsIDY2LCA1MCwgNTIsIDE4MywgNjYsIDUwLCA1MiwgNTQsIDEyOCwgNjYsIDUwLCA1MiwgNTMsIDEyOCwgNjYsIAotICAgIDUwLCA1MiwgMTc5LCA2NiwgNTAsIDUyLCAxNzgsIDY2LCA1MCwgNTIsIDE3NywgNjYsIDUwLCA1MiwgMTc2LCA2NiwgNTAsIAotICAgIDUxLCA1NCwgMTI4LCA2NiwgNTAsIDUxLCA1MiwgMTI4LCA2NiwgNTAsIDUxLCAxNzksIDY2LCA1MCwgNTEsIDUwLCAxMjgsIAotICAgIDY2LCA1MCwgNTEsIDE3NywgNjYsIDUwLCA1MSwgMTc2LCA2NiwgNTAsIDUwLCA1NywgMTI4LCA2NiwgNTAsIDUwLCA1NiwgCi0gICAgMTI4LCA2NiwgNTAsIDUwLCA1NSwgMTI4LCA2NiwgNTAsIDUwLCA1NCwgMTI4LCA2NiwgNTAsIDUwLCAxODEsIDY2LCA1MCwgCi0gICAgNTAsIDUwLCAxMjgsIDY2LCA1MCwgNTAsIDQ5LCAxMjgsIDY2LCA1MCwgNTAsIDE3NiwgNjYsIDUwLCA0OSwgNTcsIDEyOCwgCi0gICAgNjYsIDUwLCA0OSwgNTYsIDEyOCwgNjYsIDUwLCA0OSwgNTUsIDEyOCwgNjYsIDUwLCA0OSwgNTQsIDEyOCwgNjYsIDUwLCAKLSAgICA0OSwgNTMsIDEyOCwgNjYsIDUwLCA0OSwgNTIsIDEyOCwgNjYsIDUwLCA0OSwgNTEsIDEyOCwgNjYsIDUwLCA0OSwgNTAsIAotICAgIDEyOCwgNjYsIDUwLCA0OSwgNDksIDEyOCwgNjYsIDUwLCA0OSwgNDgsIDEyOCwgNjYsIDUwLCA0OCwgNTcsIDEyOCwgNjYsIAotICAgIDUwLCA0OCwgNTYsIDEyOCwgNjYsIDUwLCA0OCwgNTUsIDEyOCwgNjYsIDUwLCA0OCwgNTQsIDEyOCwgNjYsIDUwLCA0OCwgCi0gICAgNTMsIDEyOCwgNjYsIDUwLCA0OCwgNTIsIDEyOCwgNjYsIDUwLCA0OCwgNTEsIDEyOCwgNjYsIDUwLCA0OCwgNTAsIDEyOCwgCi0gICAgNjYsIDUwLCA0OCwgNDksIDEyOCwgNjYsIDUwLCA0OCwgNDgsIDEyOCwgNjYsIDQ5LCA1NywgMTc3LCA2NiwgNDksIDU3LCAKLSAgICA0OCwgMTI4LCA2NiwgNDksIDU2LCA1NywgMTI4LCA2NiwgNDksIDU2LCA1MywgMTI4LCA2NiwgNDksIDU2LCA1MiwgMTI4LCAKLSAgICA2NiwgNDksIDU2LCA1MSwgMTI4LCA2NiwgNDksIDU2LCA1MCwgMTI4LCA2NiwgNDksIDU2LCA0OSwgMTI4LCA2NiwgNDksIAotICAgIDU2LCA0OCwgMTI4LCA2NiwgNDksIDU1LCA1NywgMTI4LCA2NiwgNDksIDU1LCA1NiwgMTI4LCA2NiwgNDksIDU1LCA1NSwgCi0gICAgMTI4LCA2NiwgNDksIDU1LCAxODIsIDY2LCA0OSwgNTUsIDUyLCAxMjgsIDY2LCA0OSwgNTUsIDE3OSwgNjYsIDQ5LCA1NSwgCi0gICAgNTAsIDEyOCwgNjYsIDQ5LCA1NSwgNDksIDEyOCwgNjYsIDQ5LCA1NSwgNDgsIDEyOCwgNjYsIDQ5LCA1NCwgNTcsIDEyOCwgCi0gICAgNjYsIDQ5LCA1NCwgNTYsIDEyOCwgNjYsIDQ5LCA1NCwgNTUsIDEyOCwgNjYsIDQ5LCA1NCwgNTQsIDEyOCwgNjYsIDQ5LCAKLSAgICA1NCwgNTMsIDEyOCwgNjYsIDQ5LCA1NCwgNTIsIDEyOCwgNjYsIDQ5LCA1NCwgMTc5LCA2NiwgNDksIDU0LCAxNzgsIDY2LCAKLSAgICA0OSwgNTQsIDQ5LCAxMjgsIDY2LCA0OSwgNTQsIDQ4LCAxMjgsIDY2LCA0OSwgNTMsIDE4NSwgNjYsIDQ5LCA1MywgNTYsIAotICAgIDEyOCwgNjYsIDQ5LCA1MywgNTUsIDEyOCwgNjYsIDQ5LCA1MywgMTgyLCA2NiwgNDksIDUzLCA1MywgMTI4LCA2NiwgNDksIAotICAgIDUzLCA1MiwgMTI4LCA2NiwgNDksIDUzLCA1MSwgMTI4LCA2NiwgNDksIDUzLCA1MCwgMTI4LCA2NiwgNDksIDUzLCAxNzcsIAotICAgIDY2LCA0OSwgNTMsIDQ4LCAxMjgsIDY2LCA0OSwgNTIsIDU0LCAxMjgsIDY2LCA0OSwgNTIsIDE4MSwgNjYsIDQ5LCA1MiwgCi0gICAgNTAsIDEyOCwgNjYsIDQ5LCA1MiwgMTc3LCA2NiwgNDksIDUyLCAxNzYsIDY2LCA0OSwgNTEsIDE4MSwgNjYsIDQ5LCA1MSwgCi0gICAgMTc5LCA2NiwgNDksIDUxLCA1MCwgMTI4LCA2NiwgNDksIDUxLCAxNzcsIDY2LCA0OSwgNTEsIDE3NiwgNjYsIDQ5LCA1MCwgCi0gICAgMTg0LCA2NiwgNDksIDUwLCAxODMsIDY2LCA0OSwgNTAsIDE4MSwgNjYsIDQ5LCA1MCwgMTc5LCA2NiwgNDksIDUwLCAxNzgsIAotICAgIDY2LCA0OSwgNTAsIDE3NywgNjYsIDQ5LCA1MCwgMTc2LCA2NiwgNDksIDQ4LCA1NywgMjA1LCA2NiwgNDksIDQ4LCA1NywgCi0gICAgMTk4LCA2NiwgNDksIDQ4LCA1NiwgMjA1LCA2NiwgNDksIDQ4LCA1NiwgMTk4LCA2NiwgNDksIDQ4LCA1NSwgMjA1LCA2NiwgCi0gICAgNDksIDQ4LCA1NSwgMTk4LCA2NiwgNDksIDQ4LCA1NCwgMjA1LCA2NiwgNDksIDQ4LCA1NCwgMTk4LCA2NiwgNDksIDQ4LCAKLSAgICA1MywgMjA1LCA2NiwgNDksIDQ4LCA1MywgMTk4LCA2NiwgNDksIDQ4LCAxODEsIDY2LCA0OSwgNDgsIDE4MCwgNjYsIDQ5LCAKLSAgICA0OCwgMTc4LCA2NiwgNDksIDQ4LCAxNzYsIDY2LCA0OCwgNTcsIDE3NywgNjYsIDQ4LCA1NywgMTc2LCA2NiwgNDgsIDU2LCAKLSAgICA1NywgMTI4LCA2NiwgNDgsIDU2LCAxODMsIDY2LCA0OCwgNTYsIDU0LCAxMjgsIDY2LCA0OCwgNTYsIDE4MSwgNjYsIDQ4LCAKLSAgICA1NiwgNTEsIDEyOCwgNjYsIDQ4LCA1NiwgNTAsIDEyOCwgNjYsIDQ4LCA1NiwgMTc3LCA2NiwgNDgsIDU2LCAxNzYsIDY2LCAKLSAgICA0OCwgNTUsIDU3LCAxMjgsIDY2LCA0OCwgNTUsIDE4NCwgNjYsIDQ4LCA1NSwgMTgzLCA2NiwgNDgsIDU1LCAxODIsIDY2LCAKLSAgICA0OCwgNTUsIDE4MSwgNjYsIDQ4LCA1NSwgMTgwLCA2NiwgNDgsIDU1LCAxNzksIDY2LCA0OCwgNTUsIDE3OCwgNjYsIDQ4LCAKLSAgICA1NSwgMTc3LCA2NiwgNDgsIDU1LCAxNzYsIDY2LCA0OCwgNTQsIDE4NSwgNjYsIDQ4LCA1NCwgMTg0LCA2NiwgNDgsIDU0LCAKLSAgICAxODMsIDY2LCA0OCwgNTQsIDE4MiwgNjYsIDQ4LCA1NCwgMTgxLCA2NiwgNDgsIDU0LCA1MiwgMTI4LCA2NiwgNDgsIDU0LCAKLSAgICA1MSwgMTI4LCA2NiwgNDgsIDU0LCAxNzgsIDY2LCA0OCwgNTQsIDE3NywgNjYsIDQ4LCA1NCwgMTc2LCA2NiwgNDgsIDUzLCAKLSAgICAxODUsIDY2LCA0OCwgNTMsIDE4NCwgNjYsIDQ4LCA1MywgMTgzLCA2NiwgNDgsIDUzLCA1NCwgMTI4LCA2NiwgNDgsIDUzLCAKLSAgICAxODEsIDY2LCA0OCwgNTMsIDE4MCwgNjYsIDQ4LCA1MywgMTc5LCA2NiwgNDgsIDUzLCAxNzgsIDY2LCA0OCwgNTMsIDE3NywgCi0gICAgNjYsIDQ4LCA1MywgMTc2LCA2NiwgNDgsIDUyLCA1NywgMTI4LCA2NiwgNDgsIDUyLCAxODQsIDY2LCA0OCwgNTIsIDU1LCAKLSAgICAxMjgsIDY2LCA0OCwgNTIsIDE4MiwgNjYsIDQ4LCA1MiwgMTgxLCA2NiwgNDgsIDUyLCAxODAsIDY2LCA0OCwgNTIsIDE3OSwgCi0gICAgNjYsIDQ4LCA1MiwgMTc4LCA2NiwgNDgsIDUyLCAxNzcsIDY2LCA0OCwgNTIsIDE3NiwgNjYsIDQ4LCA1MSwgMTg1LCA2NiwgCi0gICAgNDgsIDUxLCAxODQsIDY2LCA0OCwgNTEsIDE4MywgNjYsIDQ4LCA1MSwgMTgyLCA2NiwgNDgsIDUxLCA1MiwgMTI4LCA2NiwgCi0gICAgNDgsIDUxLCAxNzksIDY2LCA0OCwgNTEsIDE3OCwgNjYsIDQ4LCA1MSwgMTc3LCA2NiwgNDgsIDUxLCAxNzYsIDY2LCA0OCwgCi0gICAgNTAsIDE4NSwgNjYsIDQ4LCA1MCwgMTg0LCA2NiwgNDgsIDUwLCAxODMsIDY2LCA0OCwgNTAsIDE4MiwgNjYsIDQ4LCA1MCwgCi0gICAgMTgxLCA2NiwgNDgsIDUwLCAxODAsIDY2LCA0OCwgNTAsIDE3OSwgNjYsIDQ4LCA1MCwgNTAsIDEyOCwgNjYsIDQ4LCA1MCwgCi0gICAgMTc3LCA2NiwgNDgsIDUwLCAxNzYsIDY2LCA0OCwgNDksIDU3LCAxMjgsIDY2LCA0OCwgNDksIDU2LCAxMjgsIDY2LCA0OCwgCi0gICAgNDksIDE4MywgNjYsIDQ4LCA0OSwgMTgyLCA2NiwgNDgsIDQ5LCAxODEsIDY2LCA0OCwgNDksIDE4MCwgNjYsIDQ4LCA0OSwgCi0gICAgMTc5LCA2NiwgNDgsIDQ5LCAxNzgsIDY2LCA0OCwgNDksIDE3NywgNjYsIDQ4LCA0OSwgMTc2LCA2NiwgNDgsIDQ4LCA1NywgCi0gICAgMTI4LCA2NiwgNDgsIDQ4LCAxODUsIDY2LCA0OCwgNDgsIDU2LCAxMjgsIDY2LCA0OCwgNDgsIDE4NCwgNjYsIDQ4LCA0OCwgCi0gICAgNTUsIDEyOCwgNjYsIDQ4LCA0OCwgMTgzLCA2NiwgNDgsIDQ4LCA1NCwgMTI4LCA2NiwgNDgsIDQ4LCAxODIsIDY2LCA0OCwgCi0gICAgNDgsIDUzLCA2NSwgMTI4LCA2NiwgNDgsIDQ4LCA1MywgMTI4LCA2NiwgNDgsIDQ4LCAxODEsIDY2LCA0OCwgNDgsIDUyLCAKLSAgICAxMjgsIDY2LCA0OCwgNDgsIDE4MCwgNjYsIDQ4LCA0OCwgNTEsIDEyOCwgNjYsIDQ4LCA0OCwgMTc5LCA2NiwgNDgsIDQ4LCAKLSAgICA1MCwgMTI4LCA2NiwgNDgsIDQ4LCAxNzgsIDY2LCA0OCwgNDgsIDQ5LCAxMjgsIDY2LCA0OCwgNDgsIDE3NywgNjUsIDkwLCAKLSAgICA4NSwgMTI4LCA2NSwgODksIDY5LCAyMTAsIDY1LCA4OSwgNjYsIDEyOCwgNjUsIDg5LCA2NSwgNzIsIDEyOCwgNjUsIDg4LCAKLSAgICA2OSwgMTI4LCA2NSwgODcsIDY5LCAxMjgsIDY1LCA4NiwgNjksIDgzLCA4NCwgNjUsIDIwNiwgNjUsIDg2LCA2OSwgODIsIAotICAgIDY1LCA3MSwgMTk3LCA2NSwgODYsIDY1LCA3NSwgODIsIDY1LCA3MiwgNjUsIDgzLCA2NSwgNzgsIDg5LCA2NSwgMTI4LCA2NSwgCi0gICAgODYsIDY1LCA3MSwgODIsIDY1LCA3MiwgNjUsIDEyOCwgNjUsIDg1LCA4OSwgNjUsIDc4LCA3OCwgNjUsIDEyOCwgNjUsIDg1LCAKLSAgICA4NCwgODUsIDc3LCA3OCwgMTI4LCA2NSwgODUsIDg0LCA3OSwgNzcsIDc5LCA2NiwgNzMsIDc2LCA2OSwgMTI4LCA2NSwgODUsIAotICAgIDg0LCA3OSwgNzcsIDY1LCA4NCwgNjksIDE5NiwgNjUsIDg1LCA4MywgODQsIDgyLCA2NSwgMjA0LCA2NSwgODUsIDgyLCA3MywgCi0gICAgODAsIDczLCA3MSwgNzcsIDY5LCA3OCwgODQsIDEyOCwgNjUsIDg1LCA4MiwgNjUsIDc3LCA2NSwgOTAsIDY4LCA2NSwgNjUsIAotICAgIDcyLCA2NSwgMTI4LCA2NSwgODUsIDgyLCA2NSwgNzcsIDY1LCA5MCwgNjgsIDY1LCA2NSwgNDUsIDUwLCAxMjgsIDY1LCA4NSwgCi0gICAgODIsIDY1LCA3NywgNjUsIDkwLCA2OCwgNjUsIDY1LCAxMjgsIDY1LCA4NSwgNzgsIDc4LCAxMjgsIDY1LCA4NSwgNzEsIDg1LCAKLSAgICA4MywgODQsIDEyOCwgNjUsIDg1LCA3MSwgNzcsIDY5LCA3OCwgODQsIDY1LCA4NCwgNzMsIDc5LCAyMDYsIDY1LCA4NSwgNjksIAotICAgIDEyOCwgNjUsIDg1LCA2NiwgNjksIDgyLCA3MSwgNzMsIDc4LCA2OSwgMTI4LCA2NSwgODQsIDg0LCA3MywgMTk1LCA2NSwgCi0gICAgODQsIDg0LCA3MiwgNjUsIDY3LCA2NSwgNzgsIDEyOCwgNjUsIDg0LCA4NCwgNjksIDc4LCA4NCwgNzMsIDc5LCA3OCwgMTI4LCAKLSAgICA2NSwgODQsIDg0LCA2NSwgMjAzLCA2NSwgODQsIDc5LCAyMDUsIDY1LCA4NCwgNzgsIDY1LCAyMDAsIDY1LCA4NCwgNzcsIAotICAgIDY1LCA2NSwgODUsIDEyOCwgNjUsIDg0LCA3MywgODksIDY1LCAxMjgsIDY1LCA4NCwgNzIsIDc2LCA2OSwgODQsIDczLCAKLSAgICAxOTUsIDY1LCA4NCwgNzIsIDY1LCA4MiwgODYsIDY1LCA4NiwgNjksIDY4LCA3MywgMTk1LCA2NSwgODQsIDcyLCA2NSwgODAsIAotICAgIDY1LCA4MywgNjcsIDY1LCAyMDYsIDY1LCA4MywgOTAsIDEyOCwgNjUsIDgzLCA4OSwgODUsIDgyLCAxOTMsIDY1LCA4MywgCi0gICAgODksIDc3LCA4MCwgODQsIDc5LCA4NCwgNzMsIDY3LCA2NSwgNzYsIDc2LCAyMTcsIDY1LCA4MywgODQsIDgyLCA3OSwgNzgsIAotICAgIDc5LCA3NywgNzMsIDY3LCA2NSwgMjA0LCA2NSwgODMsIDg0LCA4MiwgNzksIDc2LCA3OSwgNzEsIDczLCA2NywgNjUsIDIwNCwgCi0gICAgNjUsIDgzLCA4NCwgNzksIDc4LCA3MywgODMsIDcyLCA2OSwgMTk2LCA2NSwgODMsIDg0LCA2OSwgODIsIDczLCA4MywgNzcsIAotICAgIDEyOCwgNjUsIDgzLCA4NCwgNjksIDgyLCA3MywgODMsIDc1LCAyMTEsIDY1LCA4MywgODQsIDY5LCA4MiwgNzMsIDgzLCA3NSwgCi0gICAgMTI4LCA2NSwgODMsIDg0LCA2OSwgODIsIDczLCA4MywgMjAzLCA2NSwgODMsIDg0LCA2OSwgODIsIDczLCA4MywgNjcsIDg1LCAKLSAgICA4MywgMTI4LCA2NSwgODMsIDgzLCA4OSwgODIsIDczLCA2NSwgMjA2LCA2NSwgODMsIDgzLCA2OSwgODIsIDg0LCA3MywgNzksIAotICAgIDc4LCAxMjgsIDY1LCA4MywgODAsIDczLCA4MiwgNjUsIDg0LCA3MywgNzksIDc4LCAxMjgsIDY1LCA4MywgODAsIDczLCA4MiwgCi0gICAgNjUsIDg0LCA2OSwgMTk2LCA2NSwgODMsIDgwLCA2OSwgODIsIDEyOCwgNjUsIDgzLCA3MywgNjUsIDQ1LCA2NSwgODUsIDgzLCAKLSAgICA4NCwgODIsIDY1LCA3NiwgNzMsIDY1LCAxMjgsIDY1LCA4MywgNzIsIDcxLCA2NSwgNjYsIDEyOCwgNjUsIDgzLCA3MiwgNjksIAotICAgIDgzLCAxMjgsIDY1LCA4MywgNzIsIDU3LCAxMjgsIDY1LCA4MywgNzIsIDE3OCwgNjUsIDgzLCA2NywgNjksIDc4LCA4NCwgCisgICAgNjYsIDY5LCA3OCwgOTAsIDY5LCA3OCwgMTk3LCA2NiwgNjksIDc4LCA4NCwgMjA3LCA2NiwgNjksIDc4LCAyMTIsIDY2LCAKKyAgICA2OSwgNzgsIDY4LCA2OSwgMTI4LCA2NiwgNjksIDc4LCA2OCwgMTI4LCA2NiwgNjksIDIwNiwgNjYsIDY5LCA3NiwgODQsIAorICAgIDEyOCwgNjYsIDY5LCA3NiwgMjEyLCA2NiwgNjksIDc2LCA3OSwgMjE1LCA2NiwgNjksIDc2LCA3NiwgNzIsIDc5LCAyMDgsIAorICAgIDY2LCA2OSwgNzYsIDc2LCAxMjgsIDY2LCA2OSwgNzYsIDIwNCwgNjYsIDY5LCA3NiwgNzEsIDg0LCA3MiwgNzksIDIxMCwgCisgICAgNjYsIDY5LCA3MywgODQsIDcyLCAxMjgsIDY2LCA2OSwgNzIsIDczLCA3OCwgMTk2LCA2NiwgNjksIDcyLCA2OSwgNzIsIAorICAgIDEyOCwgNjYsIDY5LCA3MiwgNjksIDIwMCwgNjYsIDY5LCA3MiwgMTI4LCA2NiwgNjksIDIwMCwgNjYsIDY5LCA3MSwgNzMsIAorICAgIDc4LCA3OCwgNzMsIDc4LCA3MSwgMTI4LCA2NiwgNjksIDcxLCA3MywgNzgsIDc4LCA2OSwgODIsIDEyOCwgNjYsIDY5LCA3MSwgCisgICAgNzMsIDIwNiwgNjYsIDY5LCA3MCwgNzksIDgyLCAxOTcsIDY2LCA2OSwgNjksIDg0LCA3NiwgNjksIDEyOCwgNjYsIDY5LCAKKyAgICA2OSwgODQsIDY1LCAxMjgsIDY2LCA2OSwgNjksIDIxMCwgNjYsIDY5LCA2OSwgNzIsIDczLCA4NiwgNjksIDEyOCwgNjYsIAorICAgIDY5LCA2OSwgNzIsIDEyOCwgNjYsIDY5LCA2OSwgMjAwLCA2NiwgNjksIDY3LCA2NSwgODUsIDgzLCA2OSwgMTI4LCA2NiwgCisgICAgNjksIDY1LCA4NiwgNjksIDIxMCwgNjYsIDY5LCA2NSwgODQsIDczLCA3OCwgMTk5LCA2NiwgNjksIDY1LCA4NCwgMTI4LCAKKyAgICA2NiwgNjksIDY1LCAyMTAsIDY2LCA2OSwgNjUsIDc4LCAxMjgsIDY2LCA2OSwgNjUsIDc3LCA2OSwgMTk2LCA2NiwgNjksIAorICAgIDY1LCA2NywgMjAwLCA2NiwgNjcsIDY1LCA2OCwgMTI4LCA2NiwgNjcsIDY1LCAxOTYsIDY2LCA2NiwgODksIDg4LCAxMjgsIAorICAgIDY2LCA2NiwgODksIDg0LCAxMjgsIDY2LCA2NiwgODksIDgwLCAxMjgsIDY2LCA2NiwgODksIDEyOCwgNjYsIDY2LCA4NSwgCisgICAgODgsIDEyOCwgNjYsIDY2LCA4NSwgODQsIDEyOCwgNjYsIDY2LCA4NSwgODIsIDg4LCAxMjgsIDY2LCA2NiwgODUsIDgyLCAKKyAgICAxMjgsIDY2LCA2NiwgODUsIDgwLCAxMjgsIDY2LCA2NiwgODUsIDc5LCA4OCwgMTI4LCA2NiwgNjYsIDg1LCA3OSwgODAsIAorICAgIDEyOCwgNjYsIDY2LCA4NSwgNzksIDEyOCwgNjYsIDY2LCA4NSwgMTI4LCA2NiwgNjYsIDc5LCA4OCwgMTI4LCA2NiwgNjYsIAorICAgIDc5LCA4NCwgMTI4LCA2NiwgNjYsIDc5LCA4MCwgMTI4LCA2NiwgNjYsIDc5LCAxMjgsIDY2LCA2NiwgNzMsIDg4LCAxMjgsIAorICAgIDY2LCA2NiwgNzMsIDgwLCAxMjgsIDY2LCA2NiwgNzMsIDY5LCA4OCwgMTI4LCA2NiwgNjYsIDczLCA2OSwgODQsIDEyOCwgCisgICAgNjYsIDY2LCA3MywgNjksIDgwLCAxMjgsIDY2LCA2NiwgNzMsIDY5LCAxMjgsIDY2LCA2NiwgNzMsIDEyOCwgNjYsIDY2LCAKKyAgICA2OSwgODgsIDEyOCwgNjYsIDY2LCA2OSwgODAsIDEyOCwgNjYsIDY2LCA2OSwgNjksIDEyOCwgNjYsIDY2LCA2OSwgMTI4LCAKKyAgICA2NiwgNjYsIDY1LCA4OCwgMTI4LCA2NiwgNjYsIDY1LCA4NCwgMTI4LCA2NiwgNjYsIDY1LCA4MCwgMTI4LCA2NiwgNjYsIAorICAgIDY1LCA2NSwgMTI4LCA2NiwgNjYsIDY1LCAxMjgsIDY2LCA2NSwgODksIDY1LCA3OCwgNzgsIDY1LCAxMjgsIDY2LCA2NSwgCisgICAgODUsIDEyOCwgNjYsIDY1LCA4NCwgODQsIDY5LCA4MiwgODksIDEyOCwgNjYsIDY1LCA4NCwgNzIsIDg0LCA4NSwgNjYsIAorICAgIDEyOCwgNjYsIDY1LCA4NCwgNzIsIDY1LCA3NywgNjUsIDgzLCA2NSwgODQsIDEyOCwgNjYsIDY1LCA4NCwgNzIsIDEyOCwgCisgICAgNjYsIDY1LCA4NCwgMjAwLCA2NiwgNjUsIDg0LCA2NSwgMjAzLCA2NiwgNjUsIDgzLCA4MywgNjUsIDEyOCwgNjYsIDY1LCAKKyAgICA4MywgODMsIDE5MywgNjYsIDY1LCA4MywgNzUsIDY5LCA4NCwgNjYsIDY1LCA3NiwgMjA0LCA2NiwgNjUsIDgzLCA3MiwgNzUsIAorICAgIDczLCAyMTAsIDY2LCA2NSwgODMsIDcyLCAxMjgsIDY2LCA2NSwgODMsIDY5LCA3NiwgNzMsIDc4LCAxOTcsIDY2LCA2NSwgCisgICAgODMsIDY5LCA2NiwgNjUsIDc2LCA3NiwgMTI4LCA2NiwgNjUsIDgzLCA2OSwgMTI4LCA2NiwgNjUsIDgzLCAxOTcsIDY2LCAKKyAgICA2NSwgODIsIDgzLCAxMjgsIDY2LCA2NSwgODIsIDgyLCA3MywgNjksIDgyLCAxMjgsIDY2LCA2NSwgODIsIDgyLCA2OSwgNzUsIAorICAgIDcyLCAxMjgsIDY2LCA2NSwgODIsIDgyLCA2OSwgNjksIDEyOCwgNjYsIDY1LCA4MiwgODIsIDY5LCAxOTcsIDY2LCA2NSwgCisgICAgODIsIDc2LCA3MywgNzgsIDY5LCAxMjgsIDY2LCA2NSwgODIsIDc2LCA2OSwgODksIDEyOCwgNjYsIDY1LCA4MiwgNzMsIDg5LCAKKyAgICA3OSwgNzksIDgzLCA2NSwgNzgsIDEyOCwgNjYsIDY1LCA4MiwgNjYsIDY5LCAyMTAsIDY2LCA2NSwgODIsIDY1LCA1MCwgCisgICAgMTI4LCA2NiwgNjUsIDIxMCwgNjYsIDY1LCA3OCwgODQsIDc5LCA2NywgMTI4LCA2NiwgNjUsIDc4LCA3NSwgNzgsIDc5LCAKKyAgICA4NCwgMTk3LCA2NiwgNjUsIDc4LCA3NSwgMTI4LCA2NiwgNjUsIDc4LCAyMDMsIDY2LCA2NSwgNzgsIDY4LCAxMjgsIDY2LCAKKyAgICA2NSwgNzgsIDY1LCA3OCwgNjUsIDEyOCwgNjYsIDY1LCA3OCwgNTAsIDEyOCwgNjYsIDY1LCA3OCwgMTc4LCA2NiwgNjUsIAorICAgIDc3LCA2NiwgNzksIDc5LCA4MywgMTI4LCA2NiwgNjUsIDc3LCA2NiwgNzksIDc5LCAxMjgsIDY2LCA2NSwgNzYsIDg1LCA2OCwgCisgICAgNjUsIDEyOCwgNjYsIDY1LCA3NiwgNzYsIDgwLCA3OSwgNzMsIDc4LCAyMTIsIDY2LCA2NSwgNzYsIDc2LCA3OSwgODQsIAorICAgIDEyOCwgNjYsIDY1LCA3NiwgNzYsIDc5LCAyMTIsIDY2LCA2NSwgNzYsIDc2LCA3OSwgNzksIDc4LCA0NSwgODMsIDgwLCA3OSwgCisgICAgNzUsIDY5LCAxOTYsIDY2LCA2NSwgNzYsIDc2LCA3OSwgNzksIDc4LCAxMjgsIDY2LCA2NSwgNzYsIDY1LCA3MSwgMTI4LCAKKyAgICA2NiwgNjUsIDc2LCAxMjgsIDY2LCA2NSwgMjA0LCA2NiwgNjUsIDczLCA4MiwgNzUsIDY1LCA3OCwgMTI4LCA2NiwgNjUsIAorICAgIDczLCA3NywgNjUsIDczLCAxMjgsIDY2LCA2NSwgNzIsIDg0LCAxMjgsIDY2LCA2NSwgNzIsIDczLCA4MiwgNzEsIDc5LCA3NywgCisgICAgODUsIDc1LCA3MiwgNjUsIDEyOCwgNjYsIDY1LCA3MiwgNjUsIDgyLCA1MCwgMTI4LCA2NiwgNjUsIDcyLCAxMjgsIDY2LCAKKyAgICA2NSwgNzEsIDgzLCAxMjgsIDY2LCA2NSwgNzEsIDcxLCA2NSwgNzEsIDE5NywgNjYsIDY1LCA3MSwgNjUsIDEyOCwgNjYsIAorICAgIDY1LCA3MSwgNTEsIDEyOCwgNjYsIDY1LCAxOTksIDY2LCA2NSwgNjgsIDcxLCA2OSwgODIsIDEyOCwgNjYsIDY1LCA2OCwgCisgICAgNzEsIDY5LCAxMjgsIDY2LCA2NSwgNjgsIDEyOCwgNjYsIDY1LCA2NywgODQsIDgyLCA3MywgNjUsIDIwNiwgNjYsIDY1LCAKKyAgICA2NywgNzUsIDg3LCA2NSwgODIsIDY4LCAxMjgsIDY2LCA2NSwgNjcsIDc1LCA4MywgODAsIDY1LCA2NywgNjksIDEyOCwgNjYsIAorICAgIDY1LCA2NywgNzUsIDgzLCA3NiwgNjUsIDgzLCA3MiwgMTI4LCA2NiwgNjUsIDY3LCA3NSwgODMsIDc2LCA2NSwgODMsIDIwMCwgCisgICAgNjYsIDY1LCA2NywgNzUsIDgzLCA3NiwgNjUsIDc4LCA4NCwgNjksIDE5NiwgNjYsIDY1LCA2NywgNzUsIDcyLCA2NSwgNzgsIAorICAgIDE5NiwgNjYsIDY1LCA2NywgNzUsIDQ1LCA4NCwgNzMsIDc2LCA4NCwgNjksIDE5NiwgNjYsIDY1LCA2NywgNzUsIDEyOCwgCisgICAgNjYsIDY1LCA2NywgMjAzLCA2NiwgNjUsIDY2LCA4OSwgMTI4LCA2NiwgNjUsIDY2LCAyMTcsIDY2LCA2NSwgNjUsIDgyLCAKKyAgICA2OSwgODIsIDg1LCAxMjgsIDY2LCA2NSwgNDUsIDUwLCAxMjgsIDY2LCA1MSwgNDgsIDUzLCAxMjgsIDY2LCA1MCwgNTMsIAorICAgIDU3LCAxMjgsIDY2LCA1MCwgNTMsIDU2LCAxMjgsIDY2LCA1MCwgNTMsIDU1LCAxMjgsIDY2LCA1MCwgNTMsIDU0LCAxMjgsIAorICAgIDY2LCA1MCwgNTMsIDUzLCAxMjgsIDY2LCA1MCwgNTMsIDE4MCwgNjYsIDUwLCA1MywgNTEsIDEyOCwgNjYsIDUwLCA1MywgCisgICAgNTAsIDEyOCwgNjYsIDUwLCA1MywgNDksIDEyOCwgNjYsIDUwLCA1MywgNDgsIDEyOCwgNjYsIDUwLCA1MiwgNTcsIDEyOCwgCisgICAgNjYsIDUwLCA1MiwgNTYsIDEyOCwgNjYsIDUwLCA1MiwgMTgzLCA2NiwgNTAsIDUyLCA1NCwgMTI4LCA2NiwgNTAsIDUyLCAKKyAgICA1MywgMTI4LCA2NiwgNTAsIDUyLCAxNzksIDY2LCA1MCwgNTIsIDE3OCwgNjYsIDUwLCA1MiwgMTc3LCA2NiwgNTAsIDUyLCAKKyAgICAxNzYsIDY2LCA1MCwgNTEsIDU0LCAxMjgsIDY2LCA1MCwgNTEsIDUyLCAxMjgsIDY2LCA1MCwgNTEsIDE3OSwgNjYsIDUwLCAKKyAgICA1MSwgNTAsIDEyOCwgNjYsIDUwLCA1MSwgMTc3LCA2NiwgNTAsIDUxLCAxNzYsIDY2LCA1MCwgNTAsIDU3LCAxMjgsIDY2LCAKKyAgICA1MCwgNTAsIDU2LCAxMjgsIDY2LCA1MCwgNTAsIDU1LCAxMjgsIDY2LCA1MCwgNTAsIDU0LCAxMjgsIDY2LCA1MCwgNTAsIAorICAgIDE4MSwgNjYsIDUwLCA1MCwgNTAsIDEyOCwgNjYsIDUwLCA1MCwgNDksIDEyOCwgNjYsIDUwLCA1MCwgMTc2LCA2NiwgNTAsIAorICAgIDQ5LCA1NywgMTI4LCA2NiwgNTAsIDQ5LCA1NiwgMTI4LCA2NiwgNTAsIDQ5LCA1NSwgMTI4LCA2NiwgNTAsIDQ5LCA1NCwgCisgICAgMTI4LCA2NiwgNTAsIDQ5LCA1MywgMTI4LCA2NiwgNTAsIDQ5LCA1MiwgMTI4LCA2NiwgNTAsIDQ5LCA1MSwgMTI4LCA2NiwgCisgICAgNTAsIDQ5LCA1MCwgMTI4LCA2NiwgNTAsIDQ5LCA0OSwgMTI4LCA2NiwgNTAsIDQ5LCA0OCwgMTI4LCA2NiwgNTAsIDQ4LCAKKyAgICA1NywgMTI4LCA2NiwgNTAsIDQ4LCA1NiwgMTI4LCA2NiwgNTAsIDQ4LCA1NSwgMTI4LCA2NiwgNTAsIDQ4LCA1NCwgMTI4LCAKKyAgICA2NiwgNTAsIDQ4LCA1MywgMTI4LCA2NiwgNTAsIDQ4LCA1MiwgMTI4LCA2NiwgNTAsIDQ4LCA1MSwgMTI4LCA2NiwgNTAsIAorICAgIDQ4LCA1MCwgMTI4LCA2NiwgNTAsIDQ4LCA0OSwgMTI4LCA2NiwgNTAsIDQ4LCA0OCwgMTI4LCA2NiwgNDksIDU3LCAxNzcsIAorICAgIDY2LCA0OSwgNTcsIDQ4LCAxMjgsIDY2LCA0OSwgNTYsIDU3LCAxMjgsIDY2LCA0OSwgNTYsIDUzLCAxMjgsIDY2LCA0OSwgCisgICAgNTYsIDUyLCAxMjgsIDY2LCA0OSwgNTYsIDUxLCAxMjgsIDY2LCA0OSwgNTYsIDUwLCAxMjgsIDY2LCA0OSwgNTYsIDQ5LCAKKyAgICAxMjgsIDY2LCA0OSwgNTYsIDQ4LCAxMjgsIDY2LCA0OSwgNTUsIDU3LCAxMjgsIDY2LCA0OSwgNTUsIDU2LCAxMjgsIDY2LCAKKyAgICA0OSwgNTUsIDU1LCAxMjgsIDY2LCA0OSwgNTUsIDE4MiwgNjYsIDQ5LCA1NSwgNTIsIDEyOCwgNjYsIDQ5LCA1NSwgMTc5LCAKKyAgICA2NiwgNDksIDU1LCA1MCwgMTI4LCA2NiwgNDksIDU1LCA0OSwgMTI4LCA2NiwgNDksIDU1LCA0OCwgMTI4LCA2NiwgNDksIAorICAgIDU0LCA1NywgMTI4LCA2NiwgNDksIDU0LCA1NiwgMTI4LCA2NiwgNDksIDU0LCA1NSwgMTI4LCA2NiwgNDksIDU0LCA1NCwgCisgICAgMTI4LCA2NiwgNDksIDU0LCA1MywgMTI4LCA2NiwgNDksIDU0LCA1MiwgMTI4LCA2NiwgNDksIDU0LCAxNzksIDY2LCA0OSwgCisgICAgNTQsIDE3OCwgNjYsIDQ5LCA1NCwgNDksIDEyOCwgNjYsIDQ5LCA1NCwgNDgsIDEyOCwgNjYsIDQ5LCA1MywgMTg1LCA2NiwgCisgICAgNDksIDUzLCA1NiwgMTI4LCA2NiwgNDksIDUzLCA1NSwgMTI4LCA2NiwgNDksIDUzLCAxODIsIDY2LCA0OSwgNTMsIDUzLCAKKyAgICAxMjgsIDY2LCA0OSwgNTMsIDUyLCAxMjgsIDY2LCA0OSwgNTMsIDUxLCAxMjgsIDY2LCA0OSwgNTMsIDUwLCAxMjgsIDY2LCAKKyAgICA0OSwgNTMsIDE3NywgNjYsIDQ5LCA1MywgNDgsIDEyOCwgNjYsIDQ5LCA1MiwgNTQsIDEyOCwgNjYsIDQ5LCA1MiwgMTgxLCAKKyAgICA2NiwgNDksIDUyLCA1MCwgMTI4LCA2NiwgNDksIDUyLCAxNzcsIDY2LCA0OSwgNTIsIDE3NiwgNjYsIDQ5LCA1MSwgMTgxLCAKKyAgICA2NiwgNDksIDUxLCAxNzksIDY2LCA0OSwgNTEsIDUwLCAxMjgsIDY2LCA0OSwgNTEsIDE3NywgNjYsIDQ5LCA1MSwgMTc2LCAKKyAgICA2NiwgNDksIDUwLCAxODQsIDY2LCA0OSwgNTAsIDE4MywgNjYsIDQ5LCA1MCwgMTgxLCA2NiwgNDksIDUwLCAxNzksIDY2LCAKKyAgICA0OSwgNTAsIDE3OCwgNjYsIDQ5LCA1MCwgMTc3LCA2NiwgNDksIDUwLCAxNzYsIDY2LCA0OSwgNDgsIDU3LCAyMDUsIDY2LCAKKyAgICA0OSwgNDgsIDU3LCAxOTgsIDY2LCA0OSwgNDgsIDU2LCAyMDUsIDY2LCA0OSwgNDgsIDU2LCAxOTgsIDY2LCA0OSwgNDgsIAorICAgIDU1LCAyMDUsIDY2LCA0OSwgNDgsIDU1LCAxOTgsIDY2LCA0OSwgNDgsIDU0LCAyMDUsIDY2LCA0OSwgNDgsIDU0LCAxOTgsIAorICAgIDY2LCA0OSwgNDgsIDUzLCAyMDUsIDY2LCA0OSwgNDgsIDUzLCAxOTgsIDY2LCA0OSwgNDgsIDE4MSwgNjYsIDQ5LCA0OCwgCisgICAgMTgwLCA2NiwgNDksIDQ4LCAxNzgsIDY2LCA0OSwgNDgsIDE3NiwgNjYsIDQ4LCA1NywgMTc3LCA2NiwgNDgsIDU3LCAxNzYsIAorICAgIDY2LCA0OCwgNTYsIDU3LCAxMjgsIDY2LCA0OCwgNTYsIDE4MywgNjYsIDQ4LCA1NiwgNTQsIDEyOCwgNjYsIDQ4LCA1NiwgCisgICAgMTgxLCA2NiwgNDgsIDU2LCA1MSwgMTI4LCA2NiwgNDgsIDU2LCA1MCwgMTI4LCA2NiwgNDgsIDU2LCAxNzcsIDY2LCA0OCwgCisgICAgNTYsIDE3NiwgNjYsIDQ4LCA1NSwgNTcsIDEyOCwgNjYsIDQ4LCA1NSwgMTg0LCA2NiwgNDgsIDU1LCAxODMsIDY2LCA0OCwgCisgICAgNTUsIDE4MiwgNjYsIDQ4LCA1NSwgMTgxLCA2NiwgNDgsIDU1LCAxODAsIDY2LCA0OCwgNTUsIDE3OSwgNjYsIDQ4LCA1NSwgCisgICAgMTc4LCA2NiwgNDgsIDU1LCAxNzcsIDY2LCA0OCwgNTUsIDE3NiwgNjYsIDQ4LCA1NCwgMTg1LCA2NiwgNDgsIDU0LCAxODQsIAorICAgIDY2LCA0OCwgNTQsIDE4MywgNjYsIDQ4LCA1NCwgMTgyLCA2NiwgNDgsIDU0LCAxODEsIDY2LCA0OCwgNTQsIDUyLCAxMjgsIAorICAgIDY2LCA0OCwgNTQsIDUxLCAxMjgsIDY2LCA0OCwgNTQsIDE3OCwgNjYsIDQ4LCA1NCwgMTc3LCA2NiwgNDgsIDU0LCAxNzYsIAorICAgIDY2LCA0OCwgNTMsIDE4NSwgNjYsIDQ4LCA1MywgMTg0LCA2NiwgNDgsIDUzLCAxODMsIDY2LCA0OCwgNTMsIDU0LCAxMjgsIAorICAgIDY2LCA0OCwgNTMsIDE4MSwgNjYsIDQ4LCA1MywgMTgwLCA2NiwgNDgsIDUzLCAxNzksIDY2LCA0OCwgNTMsIDE3OCwgNjYsIAorICAgIDQ4LCA1MywgMTc3LCA2NiwgNDgsIDUzLCAxNzYsIDY2LCA0OCwgNTIsIDU3LCAxMjgsIDY2LCA0OCwgNTIsIDE4NCwgNjYsIAorICAgIDQ4LCA1MiwgNTUsIDEyOCwgNjYsIDQ4LCA1MiwgMTgyLCA2NiwgNDgsIDUyLCAxODEsIDY2LCA0OCwgNTIsIDE4MCwgNjYsIAorICAgIDQ4LCA1MiwgMTc5LCA2NiwgNDgsIDUyLCAxNzgsIDY2LCA0OCwgNTIsIDE3NywgNjYsIDQ4LCA1MiwgMTc2LCA2NiwgNDgsIAorICAgIDUxLCAxODUsIDY2LCA0OCwgNTEsIDE4NCwgNjYsIDQ4LCA1MSwgMTgzLCA2NiwgNDgsIDUxLCAxODIsIDY2LCA0OCwgNTEsIAorICAgIDUyLCAxMjgsIDY2LCA0OCwgNTEsIDE3OSwgNjYsIDQ4LCA1MSwgMTc4LCA2NiwgNDgsIDUxLCAxNzcsIDY2LCA0OCwgNTEsIAorICAgIDE3NiwgNjYsIDQ4LCA1MCwgMTg1LCA2NiwgNDgsIDUwLCAxODQsIDY2LCA0OCwgNTAsIDE4MywgNjYsIDQ4LCA1MCwgMTgyLCAKKyAgICA2NiwgNDgsIDUwLCAxODEsIDY2LCA0OCwgNTAsIDE4MCwgNjYsIDQ4LCA1MCwgMTc5LCA2NiwgNDgsIDUwLCA1MCwgMTI4LCAKKyAgICA2NiwgNDgsIDUwLCAxNzcsIDY2LCA0OCwgNTAsIDE3NiwgNjYsIDQ4LCA0OSwgNTcsIDEyOCwgNjYsIDQ4LCA0OSwgNTYsIAorICAgIDEyOCwgNjYsIDQ4LCA0OSwgMTgzLCA2NiwgNDgsIDQ5LCAxODIsIDY2LCA0OCwgNDksIDE4MSwgNjYsIDQ4LCA0OSwgMTgwLCAKKyAgICA2NiwgNDgsIDQ5LCAxNzksIDY2LCA0OCwgNDksIDE3OCwgNjYsIDQ4LCA0OSwgMTc3LCA2NiwgNDgsIDQ5LCAxNzYsIDY2LCAKKyAgICA0OCwgNDgsIDU3LCAxMjgsIDY2LCA0OCwgNDgsIDE4NSwgNjYsIDQ4LCA0OCwgNTYsIDEyOCwgNjYsIDQ4LCA0OCwgMTg0LCAKKyAgICA2NiwgNDgsIDQ4LCA1NSwgMTI4LCA2NiwgNDgsIDQ4LCAxODMsIDY2LCA0OCwgNDgsIDU0LCAxMjgsIDY2LCA0OCwgNDgsIAorICAgIDE4MiwgNjYsIDQ4LCA0OCwgNTMsIDY1LCAxMjgsIDY2LCA0OCwgNDgsIDUzLCAxMjgsIDY2LCA0OCwgNDgsIDE4MSwgNjYsIAorICAgIDQ4LCA0OCwgNTIsIDEyOCwgNjYsIDQ4LCA0OCwgMTgwLCA2NiwgNDgsIDQ4LCA1MSwgMTI4LCA2NiwgNDgsIDQ4LCAxNzksIAorICAgIDY2LCA0OCwgNDgsIDUwLCAxMjgsIDY2LCA0OCwgNDgsIDE3OCwgNjYsIDQ4LCA0OCwgNDksIDEyOCwgNjYsIDQ4LCA0OCwgCisgICAgMTc3LCA2NSwgOTAsIDg1LCAxMjgsIDY1LCA4OSwgNjksIDIxMCwgNjUsIDg5LCA2NiwgMTI4LCA2NSwgODksIDY1LCA3MiwgCisgICAgMTI4LCA2NSwgODgsIDY5LCAxMjgsIDY1LCA4NywgNjksIDEyOCwgNjUsIDg2LCA2OSwgODMsIDg0LCA2NSwgMjA2LCA2NSwgCisgICAgODYsIDY5LCA4MiwgNjUsIDcxLCAxOTcsIDY1LCA4NiwgNjUsIDc1LCA4MiwgNjUsIDcyLCA2NSwgODMsIDY1LCA3OCwgODksIAorICAgIDY1LCAxMjgsIDY1LCA4NiwgNjUsIDcxLCA4MiwgNjUsIDcyLCA2NSwgMTI4LCA2NSwgODUsIDg5LCA2NSwgNzgsIDc4LCA2NSwgCisgICAgMTI4LCA2NSwgODUsIDg0LCA4NSwgNzcsIDc4LCAxMjgsIDY1LCA4NSwgODQsIDc5LCA3NywgNzksIDY2LCA3MywgNzYsIDY5LCAKKyAgICAxMjgsIDY1LCA4NSwgODQsIDc5LCA3NywgNjUsIDg0LCA2OSwgMTk2LCA2NSwgODUsIDgzLCA4NCwgODIsIDY1LCAyMDQsIAorICAgIDY1LCA4NSwgODIsIDczLCA4MCwgNzMsIDcxLCA3NywgNjksIDc4LCA4NCwgMTI4LCA2NSwgODUsIDgyLCA2NSwgNzcsIDY1LCAKKyAgICA5MCwgNjgsIDY1LCA2NSwgNzIsIDY1LCAxMjgsIDY1LCA4NSwgODIsIDY1LCA3NywgNjUsIDkwLCA2OCwgNjUsIDY1LCA0NSwgCisgICAgNTAsIDEyOCwgNjUsIDg1LCA4MiwgNjUsIDc3LCA2NSwgOTAsIDY4LCA2NSwgNjUsIDEyOCwgNjUsIDg1LCA3OCwgNzgsIAorICAgIDEyOCwgNjUsIDg1LCA3MSwgODUsIDgzLCA4NCwgMTI4LCA2NSwgODUsIDcxLCA3NywgNjksIDc4LCA4NCwgNjUsIDg0LCA3MywgCisgICAgNzksIDIwNiwgNjUsIDg1LCA2OSwgMTI4LCA2NSwgODUsIDY2LCA2OSwgODIsIDcxLCA3MywgNzgsIDY5LCAxMjgsIDY1LCAKKyAgICA4NCwgODQsIDczLCAxOTUsIDY1LCA4NCwgODQsIDcyLCA2NSwgNjcsIDY1LCA3OCwgMTI4LCA2NSwgODQsIDg0LCA2OSwgNzgsIAorICAgIDg0LCA3MywgNzksIDc4LCAxMjgsIDY1LCA4NCwgODQsIDY1LCAyMDMsIDY1LCA4NCwgODQsIDY1LCA2NywgNzIsIDY5LCAKKyAgICAxOTYsIDY1LCA4NCwgNzksIDIwNSwgNjUsIDg0LCA3OCwgNjUsIDIwMCwgNjUsIDg0LCA3NywgNjUsIDY1LCA4NSwgMTI4LCAKKyAgICA2NSwgODQsIDczLCA4OSwgNjUsIDEyOCwgNjUsIDg0LCA3MiwgNzYsIDY5LCA4NCwgNzMsIDE5NSwgNjUsIDg0LCA3MiwgNjUsIAorICAgIDgyLCA4NiwgNjUsIDg2LCA2OSwgNjgsIDczLCAxOTUsIDY1LCA4NCwgNzIsIDY1LCA4MCwgNjUsIDgzLCA2NywgNjUsIDIwNiwgCisgICAgNjUsIDgzLCA5MCwgMTI4LCA2NSwgODMsIDg5LCA4NSwgODIsIDE5MywgNjUsIDgzLCA4OSwgNzcsIDgwLCA4NCwgNzksIDg0LCAKKyAgICA3MywgNjcsIDY1LCA3NiwgNzYsIDIxNywgNjUsIDgzLCA4NCwgODIsIDc5LCA3OCwgNzksIDc3LCA3MywgNjcsIDY1LCAyMDQsIAorICAgIDY1LCA4MywgODQsIDgyLCA3OSwgNzYsIDc5LCA3MSwgNzMsIDY3LCA2NSwgMjA0LCA2NSwgODMsIDg0LCA3OSwgNzgsIDczLCAKKyAgICA4MywgNzIsIDY5LCAxOTYsIDY1LCA4MywgODQsIDY5LCA4MiwgNzMsIDgzLCA3NywgMTI4LCA2NSwgODMsIDg0LCA2OSwgODIsIAorICAgIDczLCA4MywgNzUsIDIxMSwgNjUsIDgzLCA4NCwgNjksIDgyLCA3MywgODMsIDc1LCAxMjgsIDY1LCA4MywgODQsIDY5LCA4MiwgCisgICAgNzMsIDgzLCAyMDMsIDY1LCA4MywgODQsIDY5LCA4MiwgNzMsIDgzLCA2NywgODUsIDgzLCAxMjgsIDY1LCA4MywgODMsIDg5LCAKKyAgICA4MiwgNzMsIDY1LCAyMDYsIDY1LCA4MywgODMsIDY5LCA4MiwgODQsIDczLCA3OSwgNzgsIDEyOCwgNjUsIDgzLCA4MCwgNzMsIAorICAgIDgyLCA2NSwgODQsIDczLCA3OSwgNzgsIDEyOCwgNjUsIDgzLCA4MCwgNzMsIDgyLCA2NSwgODQsIDY5LCAxOTYsIDY1LCA4MywgCisgICAgODAsIDY5LCA4MiwgMTI4LCA2NSwgODMsIDczLCA2NSwgNDUsIDY1LCA4NSwgODMsIDg0LCA4MiwgNjUsIDc2LCA3MywgNjUsIAorICAgIDEyOCwgNjUsIDgzLCA3MiwgNzEsIDY1LCA2NiwgMTI4LCA2NSwgODMsIDcyLCA2OSwgODMsIDEyOCwgNjUsIDgzLCA3MiwgCisgICAgNTcsIDEyOCwgNjUsIDgzLCA3MiwgNTEsIDEyOCwgNjUsIDgzLCA3MiwgMTc4LCA2NSwgODMsIDY3LCA2OSwgNzgsIDg0LCAKICAgICAxMjgsIDY1LCA4MywgNjcsIDY5LCA3OCwgNjgsIDczLCA3OCwgMTk5LCA2NSwgODMsIDY1LCA3NiwgNTAsIDEyOCwgNjUsIAogICAgIDgyLCA4NSwgNzIsIDg1LCA2NSwgMTI4LCA2NSwgODIsIDg0LCA3MywgODMsIDIxMiwgNjUsIDgyLCA4NCwgNzMsIDY3LCA4NSwgCiAgICAgNzYsIDY1LCA4NCwgNjksIDE5NiwgNjUsIDgyLCA4NCwgNjUsIDY2LCAxOTcsIDY1LCA4MiwgODMsIDY5LCA3OSwgODMsIAogICAgIDEyOCwgNjUsIDgyLCA4MywgNjksIDc5LCAyMTEsIDY1LCA4MiwgODMsIDY5LCA3OCwgNzMsIDY3LCAxMjgsIDY1LCA4MiwgCiAgICAgODIsIDc5LCA4NywgODMsIDEyOCwgNjUsIDgyLCA4MiwgNzksIDg3LCAyMTEsIDY1LCA4MiwgODIsIDc5LCA4NywgNzIsIDY5LCAKICAgICA2NSwgNjgsIDEyOCwgNjUsIDgyLCA4MiwgNzksIDg3LCA3MiwgNjksIDY1LCAxOTYsIDY1LCA4MiwgODIsIDc5LCA4NywgNDUsIAotICAgIDg0LCA2NSwgNzMsIDc2LCAxMjgsIDY1LCA4MiwgODIsIDczLCA4NiwgNjksIDEyOCwgNjUsIDgyLCA4MiwgNjUsIDg5LCAKLSAgICAxMjgsIDY1LCA4MiwgODAsIDY5LCA3MSwgNzEsIDczLCA2NSwgODQsIDIwNywgNjUsIDgyLCA3OSwgODUsIDgzLCA3MywgNzgsIAotICAgIDE5OSwgNjUsIDgyLCA3OSwgODUsIDgyLCAxOTMsIDY1LCA4MiwgNzksIDg1LCA3OCwgNjgsIDQ1LCA4MCwgODIsIDc5LCA3MCwgCi0gICAgNzMsIDc2LCA2OSwgMTI4LCA2NSwgODIsIDc5LCA4NSwgNzgsIDE5NiwgNjUsIDgyLCA3NywgODksIDEyOCwgNjUsIDgyLCAKLSAgICA3NywgNzksIDg1LCA4MiwgMTI4LCA2NSwgODIsIDIwNSwgNjUsIDgyLCA3NiwgNjUsIDg1LCAxOTksIDY1LCA4MiwgNzUsIAotICAgIDg0LCA3MywgNzUsIDIwNywgNjUsIDgyLCA3NSwgNjUsIDY2LCAxMjgsIDY1LCA4MiwgNzUsIDY1LCA2NSwgNzgsIDg1LCAKLSAgICAxMjgsIDY1LCA4MiwgNzMsIDgzLCA4NCwgNjksIDgyLCA2NSwgMTI4LCA2NSwgODIsIDczLCA4MywgODQsIDY5LCA4MiwgCi0gICAgMTkzLCA2NSwgODIsIDczLCA2OSwgODMsIDEyOCwgNjUsIDgyLCA3MSwgNzksIDg0LCA2OSwgODIsIDczLCAxMjgsIDY1LCAKLSAgICA4MiwgNzEsIDc5LCA4MywgODksIDc4LCA4NCwgNzIsIDY5LCA4NCwgNzksIDc4LCAxMjgsIDY1LCA4MiwgNzEsIDczLCAxMjgsIAotICAgIDY1LCA4MiwgNjksIDgwLCA2NSwgMTI4LCA2NSwgODIsIDY5LCA2NSwgMTI4LCA2NSwgODIsIDY4LCA3MiwgNjUsIDg2LCA3MywgCi0gICAgODMsIDY1LCA4MiwgNzEsIDY1LCAxMjgsIDY1LCA4MiwgNjcsIDcyLCA2NSwgNzMsIDc5LCA3OCwgMTI4LCA2NSwgODIsIDY3LCAKLSAgICA3MiwgNjUsIDczLCA3OSwgMjA2LCA2NSwgODIsIDY3LCA3MiwgNjUsIDczLCAxOTUsIDY1LCA4MiwgNjcsIDIwMCwgNjUsIAotICAgIDgyLCA2NywgMTI4LCA2NSwgODIsIDE5NSwgNjUsIDgyLCA2NSwgNzcsIDY1LCA3MywgMTk1LCA2NSwgODIsIDY1LCA2OSwgCi0gICAgNjUsIDY5LCAxMjgsIDY1LCA4MiwgNjUsIDY5LCA2NSwgNDUsIDg1LCAxMjgsIDY1LCA4MiwgNjUsIDY5LCA2NSwgNDUsIDczLCAKLSAgICAxMjgsIDY1LCA4MiwgNjUsIDY5LCA2NSwgNDUsIDY5LCA3OSwgMTI4LCA2NSwgODIsIDY1LCA2OSwgNjUsIDQ1LCA2OSwgCi0gICAgMTI4LCA2NSwgODIsIDY1LCA2OSwgNjUsIDQ1LCA2NSwgMTI4LCA2NSwgODIsIDY1LCA2OCwgMTI4LCA2NSwgODIsIDY1LCAKLSAgICAxOTYsIDY1LCA4MiwgNjUsIDY2LCA3MywgNjcsIDQ1LCA3MywgNzgsIDY4LCA3MywgMTk1LCA2NSwgODIsIDY1LCA2NiwgNzMsIAotICAgIDY1LCAyMDYsIDY1LCA4MiwgNDUsIDgyLCA2NSwgNzIsIDc3LCA2NSwgMjA2LCA2NSwgODIsIDQ1LCA4MiwgNjUsIDcyLCA2OSwgCi0gICAgNjksIDc3LCAxMjgsIDY1LCA4MSwgODUsIDY1LCA4MiwgNzMsIDg1LCA4MywgMTI4LCA2NSwgODEsIDg1LCA2NSwgNzAsIDc5LCAKLSAgICA4MiwgODQsIDczLCA4MywgMTI4LCA2NSwgODEsIDg1LCAxOTMsIDY1LCA4MCwgODUsIDIwNiwgNjUsIDgwLCA4MiwgNzMsIAotICAgIDc2LCAxMjgsIDY1LCA4MCwgODAsIDgyLCA3OSwgODgsIDczLCA3NywgNjUsIDg0LCA2OSwgNzYsIDIxNywgNjUsIDgwLCA4MCwgCi0gICAgODIsIDc5LCA4OCwgNzMsIDc3LCA2NSwgODQsIDY5LCAxMjgsIDY1LCA4MCwgODAsIDgyLCA3OSwgNjUsIDY3LCA3MiwgNjksIAotICAgIDIxMSwgNjUsIDgwLCA4MCwgODIsIDc5LCA2NSwgNjcsIDcyLCAxMjgsIDY1LCA4MCwgODAsIDc2LCA3MywgNjcsIDY1LCA4NCwgCi0gICAgNzMsIDc5LCA3OCwgMTI4LCA2NSwgODAsIDgwLCA3NiwgNzMsIDY3LCA2NSwgODQsIDczLCA3OSwgMjA2LCA2NSwgODAsIDc5LCAKLSAgICA4NCwgNzIsIDY5LCA4MywgMTI4LCA2NSwgODAsIDc5LCA4NCwgNzIsIDY5LCA3NywgNjUsIDEyOCwgNjUsIDgwLCA3OSwgODMsIAotICAgIDg0LCA4MiwgNzksIDgwLCA3MiwgNjksIDEyOCwgNjUsIDgwLCA3OSwgODMsIDg0LCA4MiwgNzksIDcwLCA3OSwgODMsIDEyOCwgCi0gICAgNjUsIDgwLCA3OSwgODMsIDg0LCA4MiwgNzksIDcwLCA3OSwgMjExLCA2NSwgODAsIDc5LCA4MywgODQsIDgyLCA3OSwgNzAsIAotICAgIDc5LCAyMDEsIDY1LCA4MCwgNzksIDY4LCA2OSwgODgsIDczLCA2NSwgMTI4LCA2NSwgODAsIDc5LCA2OCwgNjksIDgyLCA3NywgCi0gICAgMTkzLCA2NSwgODAsIDc2LCA3OSwgODUsIDc4LCAxMjgsIDY1LCA4MCwgNzYsIDIwMSwgNjUsIDgwLCAyMDQsIDY1LCA4MCwgCi0gICAgNzMsIDc4LCAxMjgsIDY1LCA4MCwgNjksIDgzLCAyMDcsIDY1LCA4MCwgNjcsIDEyOCwgNjUsIDgwLCA2NSwgODIsIDg0LCAKLSAgICAxMjgsIDY1LCA4MCwgNjUsIDY1LCA4NCwgNzksIDEyOCwgNjUsIDc4LCA4NSwgODMsIDg2LCA2NSwgODIsIDY1LCA4OSwgNjUsIAotICAgIDEyOCwgNjUsIDc4LCA4NSwgODMsIDg2LCA2NSwgODIsIDY1LCAxMjgsIDY1LCA3OCwgODUsIDgzLCA4NiwgNjUsIDgyLCAKLSAgICAxOTMsIDY1LCA3OCwgODUsIDY4LCA2NSwgODQsIDg0LCA2NSwgMTI4LCA2NSwgNzgsIDg1LCA2OCwgNjUsIDg0LCA4NCwgCi0gICAgMTkzLCA2NSwgNzgsIDg0LCA3MywgODIsIDY5LCA4MywgODQsIDgyLCA3MywgNjcsIDg0LCA3MywgNzksIDc4LCAxMjgsIDY1LCAKLSAgICA3OCwgODQsIDczLCA3NywgNzksIDc4LCA4OSwgNDUsIDUwLCAxMjgsIDY1LCA3OCwgODQsIDczLCA3NywgNzksIDc4LCA4OSwgCi0gICAgMTI4LCA2NSwgNzgsIDg0LCA3MywgNzcsIDc5LCA3OCwgMjE3LCA2NSwgNzgsIDg0LCA3MywgNzcsIDc5LCA3OCwgNzMsIDY1LCAKLSAgICA4NCwgNjksIDEyOCwgNjUsIDc4LCA4NCwgNzMsIDc1LCA2OSwgNzgsIDc5LCA3NywgNjUsIDEyOCwgNjUsIDc4LCA4NCwgNzMsIAotICAgIDc1LCA2OSwgNzgsIDc5LCA3NSwgODksIDc2LCA3MywgODMsIDc3LCA2NSwgMTI4LCA2NSwgNzgsIDg0LCA3MywgNzAsIDc5LCAKLSAgICA3OCwgNzMsIDY1LCAxMjgsIDY1LCA3OCwgODQsIDczLCA2NywgNzYsIDc5LCA2NywgNzUsIDg3LCA3MywgODMsIDY5LCA0NSwgCi0gICAgODIsIDc5LCA4NCwgNjUsIDg0LCA2OSwgMTk2LCA2NSwgNzgsIDg0LCA3MywgNjcsIDc2LCA3OSwgNjcsIDc1LCA4NywgNzMsIAotICAgIDgzLCAxOTcsIDY1LCA3OCwgODQsIDY5LCA3OCwgNzgsIDY1LCAxMjgsIDY1LCA3OCwgODQsIDY5LCA3OCwgNzgsIDE5MywgCi0gICAgNjUsIDc4LCA4NCwgNjUsIDgyLCA3MSwgNzksIDc3LCA4NSwgNzUsIDcyLCA2NSwgMTI4LCA2NSwgNzgsIDgzLCA4NSwgMjE4LCAKLSAgICA2NSwgNzgsIDgzLCA3MiwgNjksIDEyOCwgNjUsIDc4LCA4MCwgNjksIDY1LCAxMjgsIDY1LCA3OCwgMjA3LCA2NSwgNzgsIAotICAgIDc4LCA4NSwgNzMsIDg0LCAyMTcsIDY1LCA3OCwgNzgsIDc5LCA4NCwgNjUsIDg0LCA3MywgNzksIDIwNiwgNjUsIDc4LCA3OCwgCi0gICAgNjUsIDY1LCA4NSwgMTI4LCA2NSwgNzgsIDc1LCA3MiwgMTI4LCA2NSwgNzgsIDc0LCA3MywgMTI4LCA2NSwgNzgsIDcyLCAKLSAgICA4NSwgMTI4LCA2NSwgNzgsIDcxLCA4NSwgNzYsIDY1LCA4MiwgMTI4LCA2NSwgNzgsIDcxLCA4NSwgNzMsIDgzLCA3MiwgNjksIAotICAgIDE5NiwgNjUsIDc4LCA3MSwgODMsIDg0LCA4MiwgNzksIDIwNSwgNjUsIDc4LCA3MSwgODIsIDIxNywgNjUsIDc4LCA3MSwgCi0gICAgNzUsIDcyLCA2NSwgNzgsIDc1LCA3MiwgODUsIDEyOCwgNjUsIDc4LCA3MSwgNjksIDIxMCwgNjUsIDc4LCA3MSwgNjksIDc2LCAKLSAgICAxMjgsIDY1LCA3OCwgNzEsIDY5LCA2OCwgMTI4LCA2NSwgNzgsIDY4LCA2NSwgODAsIDEyOCwgNjUsIDc4LCA2NywgNzksIAotICAgIDgyLCA2NSwgMTI4LCA2NSwgNzgsIDY3LCA3MiwgNzksIDgyLCAxMjgsIDY1LCA3OCwgNjUsIDg0LCA4MiwgNzMsIDY3LCA3MiwgCi0gICAgNzMsIDgzLCA3NywgNjUsIDEyOCwgNjUsIDc4LCA2NSwgODAsIDEyOCwgNjUsIDc3LCA4MCwgODMsIDEyOCwgNjUsIDc3LCAKLSAgICA4MCwgNjksIDgyLCA4MywgNjUsIDc4LCA2OCwgMTI4LCA2NSwgNzcsIDc5LCA4NSwgNzgsIDIxMiwgNjUsIDc3LCA2OSwgODIsIAotICAgIDczLCA2NywgNjUsIDgzLCAxMjgsIDY1LCA3NywgNjksIDgyLCA3MywgNjcsIDY1LCAyMDYsIDY1LCA3NywgNjYsIDg1LCA3NiwgCi0gICAgNjUsIDc4LCA2NywgNjksIDEyOCwgNjUsIDc3LCA2NiwgMTkzLCA2NSwgNzcsIDY1LCA4MiwgMTI4LCA2NSwgNzcsIDY1LCAKLSAgICAyMTAsIDY1LCA3NywgNjUsIDc2LCA3MSwgNjUsIDc3LCA2NSwgODQsIDczLCA3OSwgMjA2LCA2NSwgNzcsIDY1LCA3NiwgNzEsIAotICAgIDY1LCA3NywgMTI4LCA2NSwgNzYsIDg2LCA2OSwgNzksIDc2LCA2NSwgMjEwLCA2NSwgNzYsIDg1LCA3NywgMTI4LCA2NSwgCi0gICAgNzYsIDg0LCA2OSwgODIsIDc4LCA2NSwgODQsIDczLCA4NiwgMTk3LCA2NSwgNzYsIDg0LCA2OSwgODIsIDc4LCA2NSwgODQsIAotICAgIDczLCA3OSwgMjA2LCA2NSwgNzYsIDg0LCA2OSwgODIsIDc4LCA2NSwgODQsIDE5NywgNjUsIDc2LCA4NCwgNjUsIDEyOCwgCi0gICAgNjUsIDc2LCA4MCwgNzIsIDY1LCAxMjgsIDY1LCA3NiwgODAsIDcyLCAxOTMsIDY1LCA3NiwgODAsIDY1LCA4MCwgODIsIDY1LCAKLSAgICA3OCwgNjUsIDEyOCwgNjUsIDc2LCA4MCwgNjUsIDgwLCA4MiwgNjUsIDY1LCA3OCwgMTkzLCA2NSwgNzYsIDgwLCA2NSwgCi0gICAgMTI4LCA2NSwgNzYsIDc3LCA3OSwgODMsIDIxMiwgNjUsIDc2LCA3NywgMTI4LCA2NSwgNzYsIDc2LCA3OSwgMTI4LCA2NSwgCi0gICAgNzYsIDc2LCA3MywgNjUsIDc4LCA2NywgNjksIDEyOCwgNjUsIDc2LCA3NiwgMjAxLCA2NSwgNzYsIDc2LCA2NSwgMjAwLCAKLSAgICA2NSwgNzYsIDc1LCA2NSwgNzYsIDczLCA0NSwgNTAsIDEyOCwgNjUsIDc2LCA3NSwgNjUsIDc2LCA3MywgMTI4LCA2NSwgNzYsIAotICAgIDczLCA3MSwgNzgsIDY5LCAxOTYsIDY1LCA3NiwgNzMsIDcwLCA4NSwgMTI4LCA2NSwgNzYsIDczLCA2OSwgNzgsIDEyOCwgCi0gICAgNjUsIDc2LCA3MywgNjksIDIwNiwgNjUsIDc2LCA3MSwgNzMsIDIxOCwgNjUsIDc2LCA3MCwgNjUsIDEyOCwgNjUsIDc2LCAKLSAgICA2OSwgODUsIDIxMiwgNjUsIDc2LCA2OSwgODIsIDg0LCAxMjgsIDY1LCA3NiwgNjksIDgwLCA3MiwgMTI4LCA2NSwgNzYsIAotICAgIDY5LCA3NywgNjYsIDczLCA2NywgMTI4LCA2NSwgNzYsIDY5LCA3MCwgMTI4LCA2NSwgNzYsIDY1LCA4OSwgNzIsIDY5LCAKLSAgICAxMjgsIDY1LCA3NiwgNjUsIDg5LCA3MiwgMTk3LCA2NSwgNzYsIDY1LCA4MiwgMjA1LCA2NSwgNzYsIDY1LCA4MCwgNzIsIAotICAgIDEyOCwgNjUsIDc2LCA0NSwgNzYsIDY1LCA3NSwgODUsIDc4LCA2NSwgMTI4LCA2NSwgNzUsIDg0LCA3MywgNjksIDgzLCA2OSwgCi0gICAgNzYsIDgzLCA3NSwgNjUsIDY2LCAxMjgsIDY1LCA3NSwgODMsIDY1LCAxMjgsIDY1LCA3NSwgNzIsIDc3LCA3MywgNzcsIDczLCAKLSAgICAxOTUsIDY1LCA3NSwgNjYsIDY1LCAyMTAsIDY1LCA3NSwgNjUsIDgyLCA2NSwgMTI4LCA2NSwgNzUsIDY1LCA4MiwgMTkzLCAKLSAgICA2NSwgNzMsIDg5LCA2NSwgNzgsIDc4LCA2NSwgMTI4LCA2NSwgNzMsIDg2LCA3MywgNzYsIDczLCAyMDMsIDY1LCA3MywgODQsIAotICAgIDc5LCAyMDYsIDY1LCA3MywgODIsIDgwLCA3NiwgNjUsIDc4LCA2OSwgMTI4LCA2NSwgNzMsIDc4LCAyMTMsIDY1LCA3MywgCi0gICAgNzgsIDc4LCAxMjgsIDY1LCA3MywgNzYsIDc3LCAxMjgsIDY1LCA3MywgNzUsIDY1LCA4MiwgNjUsIDEyOCwgNjUsIDczLCAKLSAgICA3MiwgODYsIDg1LCA4MywgMTI4LCA2NSwgNzIsIDgzLCA2OCwgNjUsIDEyOCwgNjUsIDcyLCA4MywgNjUsIDEyOCwgNjUsIAotICAgIDcyLCA2NSwgNzgsIDE5OSwgNjUsIDcyLCA2NSwgNzEsIDcxLCA2NSwgMjEwLCA2NSwgNzIsIDY1LCA2OCwgMTI4LCA2NSwgCi0gICAgNzEsIDg1LCA3OCwgNzEsIDEyOCwgNjUsIDcxLCA3OSwgNzEsIDIwMSwgNjUsIDcxLCA3MSwgODIsIDY1LCA4NiwgNjUsIDg0LCAKLSAgICA3MywgNzksIDc4LCAxMjgsIDY1LCA3MSwgNzEsIDgyLCA2NSwgODYsIDY1LCA4NCwgNjksIDE5NiwgNjUsIDcxLCA2NSwgNzMsIAotICAgIDc4LCAxMjgsIDY1LCA3MCwgODQsIDY5LCAyMTAsIDY1LCA3MCwgODMsIDY1LCA2NSwgODEsIDEyOCwgNjUsIDcwLCA4MiwgCi0gICAgNzMsIDY3LCA2NSwgMjA2LCA2NSwgNzAsIDc5LCA4MiwgNjksIDc3LCA2OSwgNzgsIDg0LCA3MywgNzksIDc4LCA2OSwgNjgsIAotICAgIDEyOCwgNjUsIDcwLCA3MSwgNzIsIDY1LCA3OCwgMjAxLCA2NSwgNzAsIDcwLCA4MiwgNzMsIDY3LCA2NSwgODQsIDczLCA3OSwgCi0gICAgMjA2LCA2NSwgNjksIDg5LCA2NSwgNzgsIDc4LCA2NSwgMTI4LCA2NSwgNjksIDg5LCAxMjgsIDY1LCA2OSwgODMsIDY3LCAKKyAgICA4NCwgNjUsIDczLCA3NiwgMTI4LCA2NSwgODIsIDgyLCA3MywgODYsIDczLCA3OCwgNzEsIDEyOCwgNjUsIDgyLCA4MiwgNzMsIAorICAgIDg2LCA2OSwgMTI4LCA2NSwgODIsIDgyLCA2NSwgODksIDEyOCwgNjUsIDgyLCA4MCwgNjksIDcxLCA3MSwgNzMsIDY1LCA4NCwgCisgICAgMjA3LCA2NSwgODIsIDc5LCA4NSwgODMsIDczLCA3OCwgMTk5LCA2NSwgODIsIDc5LCA4NSwgODIsIDE5MywgNjUsIDgyLCAKKyAgICA3OSwgODUsIDc4LCA2OCwgNDUsIDgwLCA4MiwgNzksIDcwLCA3MywgNzYsIDY5LCAxMjgsIDY1LCA4MiwgNzksIDg1LCA3OCwgCisgICAgMTk2LCA2NSwgODIsIDc3LCA4OSwgMTI4LCA2NSwgODIsIDc3LCA3OSwgODUsIDgyLCAxMjgsIDY1LCA4MiwgMjA1LCA2NSwgCisgICAgODIsIDc2LCA2NSwgODUsIDE5OSwgNjUsIDgyLCA3NSwgODQsIDczLCA3NSwgMjA3LCA2NSwgODIsIDc1LCA2NSwgNjYsIAorICAgIDEyOCwgNjUsIDgyLCA3NSwgNjUsIDY1LCA3OCwgODUsIDEyOCwgNjUsIDgyLCA3MywgODMsIDg0LCA2OSwgODIsIDY1LCAKKyAgICAxMjgsIDY1LCA4MiwgNzMsIDgzLCA4NCwgNjksIDgyLCAxOTMsIDY1LCA4MiwgNzMsIDY5LCA4MywgMTI4LCA2NSwgODIsIAorICAgIDcxLCA3OSwgODQsIDY5LCA4MiwgNzMsIDEyOCwgNjUsIDgyLCA3MSwgNzksIDgzLCA4OSwgNzgsIDg0LCA3MiwgNjksIDg0LCAKKyAgICA3OSwgNzgsIDEyOCwgNjUsIDgyLCA3MSwgNzMsIDEyOCwgNjUsIDgyLCA2OSwgODAsIDY1LCAxMjgsIDY1LCA4MiwgNjksIAorICAgIDY1LCAxMjgsIDY1LCA4MiwgNjgsIDcyLCA2NSwgODYsIDczLCA4MywgNjUsIDgyLCA3MSwgNjUsIDEyOCwgNjUsIDgyLCA2OCwgCisgICAgNzIsIDY1LCA2NywgNjUsIDc4LCA2OCwgODIsIDY1LCAxMjgsIDY1LCA4MiwgNjcsIDcyLCA2NSwgNzMsIDc5LCA3OCwgMTI4LCAKKyAgICA2NSwgODIsIDY3LCA3MiwgNjUsIDczLCA3OSwgMjA2LCA2NSwgODIsIDY3LCA3MiwgNjUsIDczLCAxOTUsIDY1LCA4MiwgNjcsIAorICAgIDIwMCwgNjUsIDgyLCA2NywgMTI4LCA2NSwgODIsIDE5NSwgNjUsIDgyLCA2NSwgNzcsIDY1LCA3MywgMTk1LCA2NSwgODIsIAorICAgIDY1LCA2OSwgNjUsIDY5LCAxMjgsIDY1LCA4MiwgNjUsIDY5LCA2NSwgNDUsIDg1LCAxMjgsIDY1LCA4MiwgNjUsIDY5LCA2NSwgCisgICAgNDUsIDczLCAxMjgsIDY1LCA4MiwgNjUsIDY5LCA2NSwgNDUsIDY5LCA3OSwgMTI4LCA2NSwgODIsIDY1LCA2OSwgNjUsIDQ1LCAKKyAgICA2OSwgMTI4LCA2NSwgODIsIDY1LCA2OSwgNjUsIDQ1LCA2NSwgMTI4LCA2NSwgODIsIDY1LCA2OCwgMTI4LCA2NSwgODIsIAorICAgIDY1LCAxOTYsIDY1LCA4MiwgNjUsIDY2LCA3MywgNjcsIDQ1LCA3MywgNzgsIDY4LCA3MywgMTk1LCA2NSwgODIsIDY1LCA2NiwgCisgICAgNzMsIDY1LCAyMDYsIDY1LCA4MiwgNDUsIDgyLCA2NSwgNzIsIDc3LCA2NSwgMjA2LCA2NSwgODIsIDQ1LCA4MiwgNjUsIDcyLCAKKyAgICA2OSwgNjksIDc3LCAxMjgsIDY1LCA4MSwgODUsIDY1LCA4MiwgNzMsIDg1LCA4MywgMTI4LCA2NSwgODEsIDg1LCA2NSwgNzAsIAorICAgIDc5LCA4MiwgODQsIDczLCA4MywgMTI4LCA2NSwgODEsIDg1LCAxOTMsIDY1LCA4MCwgODUsIDIwNiwgNjUsIDgwLCA4MiwgCisgICAgNzMsIDc2LCAxMjgsIDY1LCA4MCwgODAsIDgyLCA3OSwgODgsIDczLCA3NywgNjUsIDg0LCA2OSwgNzYsIDIxNywgNjUsIDgwLCAKKyAgICA4MCwgODIsIDc5LCA4OCwgNzMsIDc3LCA2NSwgODQsIDY5LCAxMjgsIDY1LCA4MCwgODAsIDgyLCA3OSwgNjUsIDY3LCA3MiwgCisgICAgNjksIDIxMSwgNjUsIDgwLCA4MCwgODIsIDc5LCA2NSwgNjcsIDcyLCAxMjgsIDY1LCA4MCwgODAsIDc2LCA3MywgNjcsIDY1LCAKKyAgICA4NCwgNzMsIDc5LCA3OCwgMTI4LCA2NSwgODAsIDgwLCA3NiwgNzMsIDY3LCA2NSwgODQsIDczLCA3OSwgMjA2LCA2NSwgODAsIAorICAgIDc5LCA4NCwgNzIsIDY5LCA4MywgMTI4LCA2NSwgODAsIDc5LCA4NCwgNzIsIDY5LCA3NywgNjUsIDEyOCwgNjUsIDgwLCA3OSwgCisgICAgODMsIDg0LCA4MiwgNzksIDgwLCA3MiwgNjksIDEyOCwgNjUsIDgwLCA3OSwgODMsIDg0LCA4MiwgNzksIDcwLCA3OSwgODMsIAorICAgIDEyOCwgNjUsIDgwLCA3OSwgODMsIDg0LCA4MiwgNzksIDcwLCA3OSwgMjExLCA2NSwgODAsIDc5LCA4MywgODQsIDgyLCA3OSwgCisgICAgNzAsIDc5LCAyMDEsIDY1LCA4MCwgNzksIDY4LCA2OSwgODgsIDczLCA2NSwgMTI4LCA2NSwgODAsIDc5LCA2OCwgNjksIDgyLCAKKyAgICA3NywgMTkzLCA2NSwgODAsIDc2LCA3OSwgODUsIDc4LCAxMjgsIDY1LCA4MCwgNzYsIDIwMSwgNjUsIDgwLCAyMDQsIDY1LCAKKyAgICA4MCwgNzMsIDc4LCAxMjgsIDY1LCA4MCwgNjksIDgzLCAyMDcsIDY1LCA4MCwgNjcsIDEyOCwgNjUsIDgwLCA2NSwgODIsIAorICAgIDg0LCAxMjgsIDY1LCA4MCwgNjUsIDY1LCA4NCwgNzksIDEyOCwgNjUsIDc5LCA4NSwgMTI4LCA2NSwgNzksIDgyLCAxMjgsIAorICAgIDY1LCA3OCwgODUsIDgzLCA4NiwgNjUsIDgyLCA2NSwgODksIDY1LCAxMjgsIDY1LCA3OCwgODUsIDgzLCA4NiwgNjUsIDgyLCAKKyAgICA2NSwgMTI4LCA2NSwgNzgsIDg1LCA4MywgODYsIDY1LCA4MiwgMTkzLCA2NSwgNzgsIDg1LCA2OCwgNjUsIDg0LCA4NCwgNjUsIAorICAgIDEyOCwgNjUsIDc4LCA4NSwgNjgsIDY1LCA4NCwgODQsIDE5MywgNjUsIDc4LCA4NCwgNzMsIDgyLCA2OSwgODMsIDg0LCA4MiwgCisgICAgNzMsIDY3LCA4NCwgNzMsIDc5LCA3OCwgMTI4LCA2NSwgNzgsIDg0LCA3MywgNzcsIDc5LCA3OCwgODksIDQ1LCA1MCwgMTI4LCAKKyAgICA2NSwgNzgsIDg0LCA3MywgNzcsIDc5LCA3OCwgODksIDEyOCwgNjUsIDc4LCA4NCwgNzMsIDc3LCA3OSwgNzgsIDIxNywgNjUsIAorICAgIDc4LCA4NCwgNzMsIDc3LCA3OSwgNzgsIDczLCA2NSwgODQsIDY5LCAxMjgsIDY1LCA3OCwgODQsIDczLCA3NSwgNjksIDc4LCAKKyAgICA3OSwgNzcsIDY1LCAxMjgsIDY1LCA3OCwgODQsIDczLCA3NSwgNjksIDc4LCA3OSwgNzUsIDg5LCA3NiwgNzMsIDgzLCA3NywgCisgICAgNjUsIDEyOCwgNjUsIDc4LCA4NCwgNzMsIDcwLCA3OSwgNzgsIDczLCA2NSwgMTI4LCA2NSwgNzgsIDg0LCA3MywgNjcsIDc2LCAKKyAgICA3OSwgNjcsIDc1LCA4NywgNzMsIDgzLCA2OSwgNDUsIDgyLCA3OSwgODQsIDY1LCA4NCwgNjksIDE5NiwgNjUsIDc4LCA4NCwgCisgICAgNzMsIDY3LCA3NiwgNzksIDY3LCA3NSwgODcsIDczLCA4MywgNjksIDEyOCwgNjUsIDc4LCA4NCwgNzMsIDY3LCA3NiwgNzksIAorICAgIDY3LCA3NSwgODcsIDczLCA4MywgMTk3LCA2NSwgNzgsIDg0LCA2OSwgNzgsIDc4LCA2NSwgMTI4LCA2NSwgNzgsIDg0LCA2OSwgCisgICAgNzgsIDc4LCAxOTMsIDY1LCA3OCwgODQsIDY1LCA4MiwgNzEsIDc5LCA3NywgODUsIDc1LCA3MiwgNjUsIDEyOCwgNjUsIDc4LCAKKyAgICA4MywgODUsIDIxOCwgNjUsIDc4LCA4MywgNzIsIDY5LCAxMjgsIDY1LCA3OCwgODAsIDY5LCA2NSwgMTI4LCA2NSwgNzgsIAorICAgIDIwNywgNjUsIDc4LCA3OCwgODUsIDczLCA4NCwgMjE3LCA2NSwgNzgsIDc4LCA3OSwgODQsIDY1LCA4NCwgNzMsIDc5LCAKKyAgICAyMDYsIDY1LCA3OCwgNzgsIDY1LCA2NSwgODUsIDEyOCwgNjUsIDc4LCA3NSwgNzIsIDEyOCwgNjUsIDc4LCA3NCwgNzMsIAorICAgIDEyOCwgNjUsIDc4LCA3MiwgODUsIDEyOCwgNjUsIDc4LCA3MSwgODUsIDc2LCA2NSwgODIsIDEyOCwgNjUsIDc4LCA3MSwgCisgICAgODUsIDczLCA4MywgNzIsIDY5LCAxOTYsIDY1LCA3OCwgNzEsIDgzLCA4NCwgODIsIDc5LCAyMDUsIDY1LCA3OCwgNzEsIDgyLCAKKyAgICAyMTcsIDY1LCA3OCwgNzEsIDc1LCA3MiwgNjUsIDc4LCA3NSwgNzIsIDg1LCAxMjgsIDY1LCA3OCwgNzEsIDY5LCAyMTAsIAorICAgIDY1LCA3OCwgNzEsIDY5LCA3NiwgMTI4LCA2NSwgNzgsIDcxLCA2OSwgNjgsIDEyOCwgNjUsIDc4LCA2OCwgNjUsIDgwLCAKKyAgICAxMjgsIDY1LCA3OCwgNjcsIDc5LCA4MiwgNjUsIDEyOCwgNjUsIDc4LCA2NywgNzIsIDc5LCA4MiwgMTI4LCA2NSwgNzgsIAorICAgIDY1LCA4NCwgODIsIDczLCA2NywgNzIsIDczLCA4MywgNzcsIDY1LCAxMjgsIDY1LCA3OCwgNjUsIDgwLCAxMjgsIDY1LCA3NywgCisgICAgODAsIDgzLCAxMjgsIDY1LCA3NywgODAsIDY5LCA4MiwgODMsIDY1LCA3OCwgNjgsIDEyOCwgNjUsIDc3LCA4MCwgNjksIDgyLCAKKyAgICA4MywgNjUsIDc4LCAxOTYsIDY1LCA3NywgNzksIDg1LCA3OCwgMjEyLCA2NSwgNzcsIDY5LCA4MiwgNzMsIDY3LCA2NSwgODMsIAorICAgIDEyOCwgNjUsIDc3LCA2OSwgODIsIDczLCA2NywgNjUsIDIwNiwgNjUsIDc3LCA2NiwgODUsIDc2LCA2NSwgNzgsIDY3LCA2OSwgCisgICAgMTI4LCA2NSwgNzcsIDY2LCAxOTMsIDY1LCA3NywgNjUsIDgyLCAxMjgsIDY1LCA3NywgNjUsIDIxMCwgNjUsIDc3LCA2NSwgCisgICAgNzYsIDcxLCA2NSwgNzcsIDY1LCA4NCwgNzMsIDc5LCAyMDYsIDY1LCA3NywgNjUsIDc2LCA3MSwgNjUsIDc3LCAxMjgsIDY1LCAKKyAgICA3NiwgODYsIDY5LCA3OSwgNzYsIDY1LCAyMTAsIDY1LCA3NiwgODUsIDc3LCAxMjgsIDY1LCA3NiwgODQsIDY5LCA4MiwgNzgsIAorICAgIDY1LCA4NCwgNzMsIDg2LCAxOTcsIDY1LCA3NiwgODQsIDY5LCA4MiwgNzgsIDY1LCA4NCwgNzMsIDc5LCAyMDYsIDY1LCA3NiwgCisgICAgODQsIDY5LCA4MiwgNzgsIDY1LCA4NCwgMTk3LCA2NSwgNzYsIDg0LCA2NSwgMTI4LCA2NSwgNzYsIDgwLCA3MiwgNjUsIAorICAgIDEyOCwgNjUsIDc2LCA4MCwgNzIsIDE5MywgNjUsIDc2LCA4MCwgNjUsIDgwLCA4MiwgNjUsIDc4LCA2NSwgMTI4LCA2NSwgCisgICAgNzYsIDgwLCA2NSwgODAsIDgyLCA2NSwgNjUsIDc4LCAxOTMsIDY1LCA3NiwgODAsIDY1LCAxMjgsIDY1LCA3NiwgNzcsIDc5LCAKKyAgICA4MywgMjEyLCA2NSwgNzYsIDc3LCAxMjgsIDY1LCA3NiwgNzYsIDc5LCAxMjgsIDY1LCA3NiwgNzYsIDczLCA2NSwgNzgsIAorICAgIDY3LCA2OSwgMTI4LCA2NSwgNzYsIDc2LCAyMDEsIDY1LCA3NiwgNzYsIDY1LCAyMDAsIDY1LCA3NiwgNzUsIDY1LCA3NiwgCisgICAgNzMsIDQ1LCA1MCwgMTI4LCA2NSwgNzYsIDc1LCA2NSwgNzYsIDczLCAxMjgsIDY1LCA3NiwgNzMsIDcxLCA3OCwgNjksIAorICAgIDE5NiwgNjUsIDc2LCA3MywgNzAsIDg1LCAxMjgsIDY1LCA3NiwgNzMsIDY5LCA3OCwgMTI4LCA2NSwgNzYsIDczLCA2OSwgCisgICAgMjA2LCA2NSwgNzYsIDcxLCA3MywgMjE4LCA2NSwgNzYsIDcwLCA2NSwgMTI4LCA2NSwgNzYsIDY5LCA4NSwgMjEyLCA2NSwgCisgICAgNzYsIDY5LCA4MiwgODQsIDEyOCwgNjUsIDc2LCA2OSwgODAsIDcyLCAxMjgsIDY1LCA3NiwgNjksIDc3LCA2NiwgNzMsIDY3LCAKKyAgICAxMjgsIDY1LCA3NiwgNjksIDcwLCAxMjgsIDY1LCA3NiwgNjYsIDY1LCA3OCwgNzMsIDY1LCAyMDYsIDY1LCA3NiwgNjUsIAorICAgIDg5LCA3MiwgNjksIDEyOCwgNjUsIDc2LCA2NSwgODksIDcyLCAxOTcsIDY1LCA3NiwgNjUsIDgyLCAyMDUsIDY1LCA3NiwgCisgICAgNjUsIDgwLCA3MiwgMTI4LCA2NSwgNzYsIDQ1LCA3NiwgNjUsIDc1LCA4NSwgNzgsIDY1LCAxMjgsIDY1LCA3NSwgODQsIDczLCAKKyAgICA2OSwgODMsIDY5LCA3NiwgODMsIDc1LCA2NSwgNjYsIDEyOCwgNjUsIDc1LCA4MywgNjUsIDEyOCwgNjUsIDc1LCA3MiwgNzcsIAorICAgIDczLCA3NywgNzMsIDE5NSwgNjUsIDc1LCA2NiwgNjUsIDIxMCwgNjUsIDc1LCA2NSwgODIsIDY1LCAxMjgsIDY1LCA3NSwgCisgICAgNjUsIDgyLCAxOTMsIDY1LCA3MywgODksIDY1LCA3OCwgNzgsIDY1LCAxMjgsIDY1LCA3MywgODYsIDczLCA3NiwgNzMsIAorICAgIDIwMywgNjUsIDczLCA4NCwgNzksIDIwNiwgNjUsIDczLCA4MiwgODAsIDc2LCA2NSwgNzgsIDY5LCAxMjgsIDY1LCA3MywgCisgICAgODIsIDgwLCA3NiwgNjUsIDc4LCAxOTcsIDY1LCA3MywgNzgsIDIxMywgNjUsIDczLCA3OCwgNzgsIDEyOCwgNjUsIDczLCAKKyAgICA3NiwgNzcsIDEyOCwgNjUsIDczLCA3NSwgNjUsIDgyLCA2NSwgMTI4LCA2NSwgNzMsIDcyLCA4NiwgODUsIDgzLCAxMjgsIAorICAgIDY1LCA3MiwgODMsIDY4LCA2NSwgMTI4LCA2NSwgNzIsIDgzLCA2NSwgMTI4LCA2NSwgNzIsIDY1LCA3OCwgMTk5LCA2NSwgCisgICAgNzIsIDY1LCA3MSwgNzEsIDY1LCAyMTAsIDY1LCA3MiwgNjUsIDY4LCAxMjgsIDY1LCA3MSwgODUsIDc4LCA3MSwgMTI4LCAKKyAgICA2NSwgNzEsIDc5LCA3MSwgMjAxLCA2NSwgNzEsIDcxLCA4MiwgNjUsIDg2LCA2NSwgODQsIDczLCA3OSwgNzgsIDEyOCwgNjUsIAorICAgIDcxLCA3MSwgODIsIDY1LCA4NiwgNjUsIDg0LCA2OSwgMTk2LCA2NSwgNzEsIDY1LCA3MywgNzgsIDEyOCwgNjUsIDcwLCA4NCwgCisgICAgNjksIDIxMCwgNjUsIDcwLCA4MywgNjUsIDY1LCA4MSwgMTI4LCA2NSwgNzAsIDgyLCA3MywgNjcsIDY1LCAyMDYsIDY1LCAKKyAgICA3MCwgNzksIDgyLCA2OSwgNzcsIDY5LCA3OCwgODQsIDczLCA3OSwgNzgsIDY5LCA2OCwgMTI4LCA2NSwgNzAsIDcxLCA3MiwgCisgICAgNjUsIDc4LCAyMDEsIDY1LCA3MCwgNzAsIDgyLCA3MywgNjcsIDY1LCA4NCwgNzMsIDc5LCAyMDYsIDY1LCA3MCwgNzAsIDczLCAKKyAgICAyMTYsIDY1LCA2OSwgODksIDY1LCA3OCwgNzgsIDY1LCAxMjgsIDY1LCA2OSwgODksIDEyOCwgNjUsIDY5LCA4MywgNjcsIAogICAgIDg1LCA3NiwgNjUsIDgwLCA3MywgODUsIDgzLCAxMjgsIDY1LCA2OSwgODMsIDY3LCAxMjgsIDY1LCA2OSwgODMsIDEyOCwgCiAgICAgNjUsIDY5LCA4MiwgNzMsIDY1LCAyMDQsIDY1LCA2OSwgODIsIDEyOCwgNjUsIDY5LCA3NiwgNjUsIDQ1LCA4MCwgNzMsIDc2LCAKICAgICA3NiwgNjUsIDEyOCwgNjUsIDY5LCA3NiwgMTI4LCA2NSwgNjksIDc1LCAxMjgsIDY1LCA2OSwgNzEsIDY5LCA2NSwgMjA2LCAKICAgICA2NSwgNjksIDcxLCAxMjgsIDY1LCA2OSwgNjksIDg5LCA2NSwgNzgsIDc4LCA2NSwgMTI4LCA2NSwgNjksIDY5LCAxMjgsIAogICAgIDY1LCA2OSwgNjgsIDY1LCA0NSwgODAsIDczLCA3NiwgNzYsIDY1LCAxMjgsIDY1LCA2OSwgNjgsIDEyOCwgNjUsIDY5LCA2NiwgCiAgICAgMTI4LCA2NSwgNjgsIDg2LCA2NSwgNzgsIDg0LCA2NSwgNzEsIDY5LCAxMjgsIDY1LCA2OCwgODYsIDY1LCA3OCwgNjcsIDY5LCAKLSAgICAxMjgsIDY1LCA2OCwgNjksIDcxLCAxMjgsIDY1LCA2OCwgNjksIDE5OSwgNjUsIDY4LCA2OCwgODIsIDY5LCA4MywgODMsIAotICAgIDY5LCAxOTYsIDY1LCA2OCwgNjgsIDgyLCA2OSwgODMsIDIxMSwgNjUsIDY4LCA2OCwgNjUsIDc1LCAxMjgsIDY1LCA2OCwgCi0gICAgNjUsIDIwMywgNjUsIDY3LCA4NSwgODQsIDY5LCA0NSwgNzcsIDY1LCA2NywgODIsIDc5LCA3OCwgMTI4LCA2NSwgNjcsIDg1LCAKLSAgICA4NCwgNjksIDQ1LCA3MSwgODIsIDY1LCA4NiwgNjksIDQ1LCA2NSwgNjcsIDg1LCA4NCwgNjksIDEyOCwgNjUsIDY3LCA4NSwgCi0gICAgODQsIDE5NywgNjUsIDY3LCA4NCwgODUsIDY1LCA3NiwgNzYsIDIxNywgNjUsIDY3LCA4NCwgNzMsIDg2LCA2NSwgODQsIAotICAgIDE5NywgNjUsIDY3LCA4MiwgNzksIDgwLCA3MiwgNzksIDc4LCA3MywgMTk1LCA2NSwgNjcsIDc1LCA3OCwgNzksIDg3LCA3NiwgCi0gICAgNjksIDY4LCA3MSwgNjksIDEyOCwgNjUsIDY3LCA2NywgODUsIDc3LCA4NSwgNzYsIDY1LCA4NCwgNzMsIDc5LCA3OCwgMTI4LCAKLSAgICA2NSwgNjcsIDY3LCA3OSwgODUsIDc4LCAyMTIsIDY1LCA2NywgNjcsIDY5LCA4MCwgODQsIDEyOCwgNjUsIDY3LCA2NywgNjksIAotICAgIDc4LCA4NCwgNDUsIDgzLCA4NCwgNjUsIDY3LCA2NywgNjUsIDg0LCA3OSwgMTI4LCA2NSwgNjcsIDY3LCA2OSwgNzgsIDg0LCAKLSAgICAxMjgsIDY1LCA2NywgNjcsIDY5LCA3OCwgMjEyLCA2NSwgNjcsIDY1LCA2OCwgNjksIDc3LCAyMTcsIDY1LCA2NiwgODksIAotICAgIDgzLCA3NywgNjUsIDIwNCwgNjUsIDY2LCA4NSwgNzgsIDY4LCA2NSwgNzgsIDY3LCA2OSwgMTI4LCA2NSwgNjYsIDc1LCA3MiwgCi0gICAgNjUsIDgzLCA3MywgNjUsIDIwNiwgNjUsIDY2LCA2NiwgODIsIDY5LCA4NiwgNzMsIDY1LCA4NCwgNzMsIDc5LCAyMDYsIDY1LCAKLSAgICA2NiwgNjUsIDcwLCA3MywgNzYsIDczLCAxMjgsIDY1LCA2NiwgMTc4LCA2NSwgNjUsIDg5LCA2NSwgNzgsIDc4LCA2NSwgCi0gICAgMTI4LCA2NSwgNjUsIDg5LCAxMjgsIDY1LCA2NSwgODcsIDEyOCwgNjUsIDY1LCA3OSwgMTI4LCA2NSwgNjUsIDc0LCAxMjgsIAotICAgIDY1LCA2NSwgNjYsIDY1LCA2NSwgNzAsIDczLCA3NiwgNzMsIDEyOCwgNjUsIDY1LCA0OCwgNTEsIDUwLCAxMjgsIDY1LCA2NSwgCi0gICAgNDgsIDUxLCA0OSwgMTI4LCA2NSwgNjUsIDQ4LCA1MSwgNDgsIDEyOCwgNjUsIDY1LCA0OCwgNTAsIDU3LCAxMjgsIDY1LCAKLSAgICA2NSwgNDgsIDUwLCA1NiwgMTI4LCA2NSwgNjUsIDQ4LCA1MCwgNTUsIDEyOCwgNjUsIDY1LCA0OCwgNTAsIDU0LCAxMjgsIAotICAgIDY1LCA2NSwgNDgsIDUwLCA1MywgMTI4LCA2NSwgNjUsIDQ4LCA1MCwgNTIsIDEyOCwgNjUsIDY1LCA0OCwgNTAsIDUxLCAKLSAgICAxMjgsIDY1LCA2NSwgNDgsIDUwLCA1MCwgMTI4LCA2NSwgNjUsIDQ4LCA1MCwgNDksIDEyOCwgNjUsIDY1LCA0OCwgNTAsIAotICAgIDQ4LCAxMjgsIDY1LCA2NSwgNDgsIDQ5LCA1NywgMTI4LCA2NSwgNjUsIDQ4LCA0OSwgNTYsIDEyOCwgNjUsIDY1LCA0OCwgCi0gICAgNDksIDU1LCAxMjgsIDY1LCA2NSwgNDgsIDQ5LCA1NCwgMTI4LCA2NSwgNjUsIDQ4LCA0OSwgNTMsIDEyOCwgNjUsIDY1LCAKLSAgICA0OCwgNDksIDUyLCAxMjgsIDY1LCA2NSwgNDgsIDQ5LCA1MSwgMTI4LCA2NSwgNjUsIDQ4LCA0OSwgNTAsIDEyOCwgNjUsIAotICAgIDY1LCA0OCwgNDksIDQ5LCAxMjgsIDY1LCA2NSwgNDgsIDQ5LCA0OCwgMTI4LCA2NSwgNjUsIDQ4LCA0OCwgNTcsIDEyOCwgCi0gICAgNjUsIDY1LCA0OCwgNDgsIDU2LCAxMjgsIDY1LCA2NSwgNDgsIDQ4LCA1NSwgNjYsIDEyOCwgNjUsIDY1LCA0OCwgNDgsIDU1LCAKLSAgICA2NSwgMTI4LCA2NSwgNjUsIDQ4LCA0OCwgNTUsIDEyOCwgNjUsIDY1LCA0OCwgNDgsIDU0LCAxMjgsIDY1LCA2NSwgNDgsIAotICAgIDQ4LCA1MywgMTI4LCA2NSwgNjUsIDQ4LCA0OCwgNTIsIDEyOCwgNjUsIDY1LCA0OCwgNDgsIDUxLCAxMjgsIDY1LCA2NSwgCi0gICAgNDgsIDQ4LCA1MCwgMTI4LCA2NSwgNjUsIDQ4LCA0OCwgNDksIDEyOCwgNjUsIDQ4LCA1NSwgNDgsIDEyOCwgNjUsIDQ4LCAKLSAgICA1NCwgNTcsIDEyOCwgNjUsIDQ4LCA1NCwgNTYsIDEyOCwgNjUsIDQ4LCA1NCwgNTUsIDEyOCwgNjUsIDQ4LCA1NCwgNTQsIAotICAgIDEyOCwgNjUsIDQ4LCA1NCwgNTMsIDEyOCwgNjUsIDQ4LCA1NCwgNTIsIDEyOCwgNjUsIDQ4LCA1NCwgNTEsIDEyOCwgNjUsIAotICAgIDQ4LCA1NCwgNTAsIDEyOCwgNjUsIDQ4LCA1NCwgNDksIDEyOCwgNjUsIDQ4LCA1NCwgNDgsIDEyOCwgNjUsIDQ4LCA1MywgCi0gICAgNTcsIDEyOCwgNjUsIDQ4LCA1MywgNTYsIDEyOCwgNjUsIDQ4LCA1MywgNTUsIDEyOCwgNjUsIDQ4LCA1MywgNTQsIDEyOCwgCi0gICAgNjUsIDQ4LCA1MywgNTMsIDEyOCwgNjUsIDQ4LCA1MywgNTIsIDEyOCwgNjUsIDQ4LCA1MywgNTEsIDEyOCwgNjUsIDQ4LCAKLSAgICA1MywgNTAsIDEyOCwgNjUsIDQ4LCA1MywgNDksIDEyOCwgNjUsIDQ4LCA1MywgNDgsIDEyOCwgNjUsIDQ4LCA1MiwgNTcsIAotICAgIDEyOCwgNjUsIDQ4LCA1MiwgNTYsIDEyOCwgNjUsIDQ4LCA1MiwgNTUsIDEyOCwgNjUsIDQ4LCA1MiwgNTQsIDEyOCwgNjUsIAotICAgIDQ4LCA1MiwgNTMsIDY1LCAxMjgsIDY1LCA0OCwgNTIsIDUzLCAxMjgsIDY1LCA0OCwgNTIsIDUyLCAxMjgsIDY1LCA0OCwgCi0gICAgNTIsIDUxLCA2NSwgMTI4LCA2NSwgNDgsIDUyLCA1MSwgMTI4LCA2NSwgNDgsIDUyLCA1MCwgNjUsIDEyOCwgNjUsIDQ4LCAKLSAgICA1MiwgNTAsIDEyOCwgNjUsIDQ4LCA1MiwgNDksIDEyOCwgNjUsIDQ4LCA1MiwgNDgsIDY1LCAxMjgsIDY1LCA0OCwgNTIsIAotICAgIDQ4LCAxMjgsIDY1LCA0OCwgNTEsIDU3LCAxMjgsIDY1LCA0OCwgNTEsIDU2LCAxMjgsIDY1LCA0OCwgNTEsIDU1LCAxMjgsIAotICAgIDY1LCA0OCwgNTEsIDU0LCAxMjgsIDY1LCA0OCwgNTEsIDUzLCAxMjgsIDY1LCA0OCwgNTEsIDUyLCAxMjgsIDY1LCA0OCwgCi0gICAgNTEsIDUxLCAxMjgsIDY1LCA0OCwgNTEsIDUwLCA2NSwgMTI4LCA2NSwgNDgsIDQ5LCA1NSwgNjUsIDEyOCwgNjUsIDQ4LCAKLSAgICA0OSwgNTIsIDY1LCAxMjgsIDY1LCA0OCwgNDgsIDU0LCA2NiwgMTI4LCA2NSwgNDgsIDQ4LCA1NCwgNjUsIDEyOCwgNjUsIAotICAgIDQ4LCA0OCwgNTMsIDY1LCAxMjgsIDY1LCA0NSwgNjksIDg1LCAxMjgsIDQ1LCA4NSwgMjA1LCA0NSwgODAsIDcyLCA4MiwgCi0gICAgODUsIDEyOCwgNDUsIDc1LCA3MiwgODksIDg1LCAxOTYsIDQ1LCA3NSwgNzIsIDg5LCA3MywgNzYsIDEyOCwgNDUsIDY4LCAKLSAgICA5MCwgODUsIDE5NiwgNDUsIDY3LCA3MiwgNjUsIDIxMCwgNDUsIDY3LCA3MiwgNjUsIDc2LCAxMjgsIAorICAgIDEyOCwgNjUsIDY4LCA3NywgNzMsIDgzLCA4MywgNzMsIDc5LCAyMDYsIDY1LCA2OCwgNjksIDcxLCAxMjgsIDY1LCA2OCwgCisgICAgNjksIDE5OSwgNjUsIDY4LCA2OCwgODIsIDY5LCA4MywgODMsIDY5LCAxOTYsIDY1LCA2OCwgNjgsIDgyLCA2OSwgODMsIAorICAgIDIxMSwgNjUsIDY4LCA2OCwgNjUsIDc1LCAxMjgsIDY1LCA2OCwgNjUsIDIwMywgNjUsIDY3LCA4NSwgODQsIDY5LCA0NSwgCisgICAgNzcsIDY1LCA2NywgODIsIDc5LCA3OCwgMTI4LCA2NSwgNjcsIDg1LCA4NCwgNjksIDQ1LCA3MSwgODIsIDY1LCA4NiwgNjksIAorICAgIDQ1LCA2NSwgNjcsIDg1LCA4NCwgNjksIDEyOCwgNjUsIDY3LCA4NSwgODQsIDE5NywgNjUsIDY3LCA4NCwgODUsIDY1LCA3NiwgCisgICAgNzYsIDIxNywgNjUsIDY3LCA4NCwgNzMsIDg2LCA2NSwgODQsIDE5NywgNjUsIDY3LCA4MiwgNzksIDgwLCA3MiwgNzksIDc4LCAKKyAgICA3MywgMTk1LCA2NSwgNjcsIDc1LCA3OCwgNzksIDg3LCA3NiwgNjksIDY4LCA3MSwgNjksIDEyOCwgNjUsIDY3LCA2NywgODUsIAorICAgIDc3LCA4NSwgNzYsIDY1LCA4NCwgNzMsIDc5LCA3OCwgMTI4LCA2NSwgNjcsIDY3LCA3OSwgODUsIDc4LCAyMTIsIDY1LCA2NywgCisgICAgNjcsIDc5LCA3NywgNzcsIDc5LCA2OCwgNjUsIDg0LCA3MywgNzksIDc4LCAxMjgsIDY1LCA2NywgNjcsIDY5LCA4MCwgODQsIAorICAgIDEyOCwgNjUsIDY3LCA2NywgNjksIDc4LCA4NCwgNDUsIDgzLCA4NCwgNjUsIDY3LCA2NywgNjUsIDg0LCA3OSwgMTI4LCA2NSwgCisgICAgNjcsIDY3LCA2OSwgNzgsIDg0LCAxMjgsIDY1LCA2NywgNjcsIDY5LCA3OCwgMjEyLCA2NSwgNjcsIDY1LCA2OCwgNjksIDc3LCAKKyAgICAyMTcsIDY1LCA2NiwgODksIDgzLCA3NywgNjUsIDIwNCwgNjUsIDY2LCA4NSwgNzgsIDY4LCA2NSwgNzgsIDY3LCA2OSwgCisgICAgMTI4LCA2NSwgNjYsIDc1LCA3MiwgNjUsIDgzLCA3MywgNjUsIDIwNiwgNjUsIDY2LCA2NiwgODIsIDY5LCA4NiwgNzMsIDY1LCAKKyAgICA4NCwgNzMsIDc5LCAyMDYsIDY1LCA2NiwgNjUsIDcwLCA3MywgNzYsIDczLCAxMjgsIDY1LCA2NiwgMTc4LCA2NSwgNjYsIAorICAgIDQ5LCA1NywgNDksIDEyOCwgNjUsIDY2LCA0OSwgNTYsIDU2LCAxMjgsIDY1LCA2NiwgNDksIDU2LCA0OCwgMTI4LCA2NSwgCisgICAgNjYsIDQ5LCA1NSwgNDksIDEyOCwgNjUsIDY2LCA0OSwgNTQsIDUyLCAxMjgsIDY1LCA2NiwgNDksIDUxLCA0OSwgNjYsIAorICAgIDEyOCwgNjUsIDY2LCA0OSwgNTEsIDQ5LCA2NSwgMTI4LCA2NSwgNjYsIDQ5LCA1MCwgNTEsIDEyOCwgNjUsIDY2LCA0OSwgCisgICAgNTAsIDUwLCAxMjgsIDY1LCA2NiwgNDksIDUwLCA0OCwgMTI4LCA2NSwgNjYsIDQ5LCA0OSwgNTYsIDEyOCwgNjUsIDY2LCAKKyAgICA0OCwgNTYsIDU1LCAxMjgsIDY1LCA2NiwgNDgsIDU2LCA1NCwgMTI4LCA2NSwgNjYsIDQ4LCA1NiwgNTMsIDEyOCwgNjUsIAorICAgIDY2LCA0OCwgNTYsIDUwLCAxMjgsIDY1LCA2NiwgNDgsIDU2LCA0OSwgMTI4LCA2NSwgNjYsIDQ4LCA1NiwgNDgsIDEyOCwgCisgICAgNjUsIDY2LCA0OCwgNTUsIDU3LCAxMjgsIDY1LCA2NiwgNDgsIDU1LCA1NiwgMTI4LCA2NSwgNjYsIDQ4LCA1NSwgNTUsIAorICAgIDEyOCwgNjUsIDY2LCA0OCwgNTUsIDU0LCAxMjgsIDY1LCA2NiwgNDgsIDU1LCA1MiwgMTI4LCA2NSwgNjYsIDQ4LCA1NSwgCisgICAgNTEsIDEyOCwgNjUsIDY2LCA0OCwgNTUsIDQ4LCAxMjgsIDY1LCA2NiwgNDgsIDU0LCA1NywgMTI4LCA2NSwgNjYsIDQ4LCAKKyAgICA1NCwgNTUsIDEyOCwgNjUsIDY2LCA0OCwgNTQsIDU0LCAxMjgsIDY1LCA2NiwgNDgsIDU0LCA1MywgMTI4LCA2NSwgNjYsIAorICAgIDQ4LCA1NCwgNDksIDEyOCwgNjUsIDY2LCA0OCwgNTQsIDQ4LCAxMjgsIDY1LCA2NiwgNDgsIDUzLCA1NywgMTI4LCA2NSwgCisgICAgNjYsIDQ4LCA1MywgNTYsIDEyOCwgNjUsIDY2LCA0OCwgNTMsIDU1LCAxMjgsIDY1LCA2NiwgNDgsIDUzLCA1NCwgMTI4LCAKKyAgICA2NSwgNjYsIDQ4LCA1MywgNTMsIDEyOCwgNjUsIDY2LCA0OCwgNTMsIDUyLCAxMjgsIDY1LCA2NiwgNDgsIDUzLCA1MSwgCisgICAgMTI4LCA2NSwgNjYsIDQ4LCA1MywgNDksIDEyOCwgNjUsIDY2LCA0OCwgNTMsIDQ4LCAxMjgsIDY1LCA2NiwgNDgsIDUyLCAKKyAgICA1NywgMTI4LCA2NSwgNjYsIDQ4LCA1MiwgNTYsIDEyOCwgNjUsIDY2LCA0OCwgNTIsIDU1LCAxMjgsIDY1LCA2NiwgNDgsIAorICAgIDUyLCA1NCwgMTI4LCA2NSwgNjYsIDQ4LCA1MiwgNTMsIDEyOCwgNjUsIDY2LCA0OCwgNTIsIDUyLCAxMjgsIDY1LCA2NiwgCisgICAgNDgsIDUyLCA0OSwgMTI4LCA2NSwgNjYsIDQ4LCA1MiwgNDgsIDEyOCwgNjUsIDY2LCA0OCwgNTEsIDU3LCAxMjgsIDY1LCAKKyAgICA2NiwgNDgsIDUxLCA1NiwgMTI4LCA2NSwgNjYsIDQ4LCA1MSwgNTUsIDEyOCwgNjUsIDY2LCA0OCwgNTEsIDUyLCAxMjgsIAorICAgIDY1LCA2NiwgNDgsIDUxLCA0OSwgMTI4LCA2NSwgNjYsIDQ4LCA1MSwgNDgsIDEyOCwgNjUsIDY2LCA0OCwgNTAsIDU3LCAKKyAgICAxMjgsIDY1LCA2NiwgNDgsIDUwLCA1NiwgMTI4LCA2NSwgNjYsIDQ4LCA1MCwgNTUsIDEyOCwgNjUsIDY2LCA0OCwgNTAsIAorICAgIDU0LCAxMjgsIDY1LCA2NiwgNDgsIDUwLCA1MiwgMTI4LCA2NSwgNjYsIDQ4LCA1MCwgNTEsIDc3LCAxMjgsIDY1LCA2NiwgCisgICAgNDgsIDUwLCA1MSwgMTI4LCA2NSwgNjYsIDQ4LCA1MCwgNTAsIDc3LCAxMjgsIDY1LCA2NiwgNDgsIDUwLCA1MCwgNzAsIAorICAgIDEyOCwgNjUsIDY2LCA0OCwgNTAsIDUwLCAxMjgsIDY1LCA2NiwgNDgsIDUwLCA0OSwgNzcsIDEyOCwgNjUsIDY2LCA0OCwgCisgICAgNTAsIDQ5LCA3MCwgMTI4LCA2NSwgNjYsIDQ4LCA1MCwgNDksIDEyOCwgNjUsIDY2LCA0OCwgNTAsIDQ4LCAxMjgsIDY1LCAKKyAgICA2NiwgNDgsIDQ5LCA1NSwgMTI4LCA2NSwgNjYsIDQ4LCA0OSwgNTQsIDEyOCwgNjUsIDY2LCA0OCwgNDksIDUxLCAxMjgsIAorICAgIDY1LCA2NiwgNDgsIDQ5LCA0OSwgMTI4LCA2NSwgNjYsIDQ4LCA0OSwgNDgsIDEyOCwgNjUsIDY2LCA0OCwgNDgsIDU3LCAKKyAgICAxMjgsIDY1LCA2NiwgNDgsIDQ4LCA1NiwgMTI4LCA2NSwgNjYsIDQ4LCA0OCwgNTUsIDEyOCwgNjUsIDY2LCA0OCwgNDgsIAorICAgIDU0LCAxMjgsIDY1LCA2NiwgNDgsIDQ4LCA1MywgMTI4LCA2NSwgNjYsIDQ4LCA0OCwgNTIsIDEyOCwgNjUsIDY2LCA0OCwgCisgICAgNDgsIDUxLCAxMjgsIDY1LCA2NiwgNDgsIDQ4LCA1MCwgMTI4LCA2NSwgNjYsIDQ4LCA0OCwgNDksIDEyOCwgNjUsIDY1LCAKKyAgICA4OSwgNzMsIDc4LCAxMjgsIDY1LCA2NSwgODksIDY1LCA3OCwgNzgsIDY1LCAxMjgsIDY1LCA2NSwgODksIDEyOCwgNjUsIAorICAgIDY1LCA4NywgMTI4LCA2NSwgNjUsIDc5LCAxMjgsIDY1LCA2NSwgNzQsIDEyOCwgNjUsIDY1LCA2NiwgNjUsIDY1LCA3MCwgCisgICAgNzMsIDc2LCA3MywgMTI4LCA2NSwgNjUsIDQ4LCA1MSwgNTAsIDEyOCwgNjUsIDY1LCA0OCwgNTEsIDQ5LCAxMjgsIDY1LCAKKyAgICA2NSwgNDgsIDUxLCA0OCwgMTI4LCA2NSwgNjUsIDQ4LCA1MCwgNTcsIDEyOCwgNjUsIDY1LCA0OCwgNTAsIDU2LCAxMjgsIAorICAgIDY1LCA2NSwgNDgsIDUwLCA1NSwgMTI4LCA2NSwgNjUsIDQ4LCA1MCwgNTQsIDEyOCwgNjUsIDY1LCA0OCwgNTAsIDUzLCAKKyAgICAxMjgsIDY1LCA2NSwgNDgsIDUwLCA1MiwgMTI4LCA2NSwgNjUsIDQ4LCA1MCwgNTEsIDEyOCwgNjUsIDY1LCA0OCwgNTAsIAorICAgIDUwLCAxMjgsIDY1LCA2NSwgNDgsIDUwLCA0OSwgMTI4LCA2NSwgNjUsIDQ4LCA1MCwgNDgsIDEyOCwgNjUsIDY1LCA0OCwgCisgICAgNDksIDU3LCAxMjgsIDY1LCA2NSwgNDgsIDQ5LCA1NiwgMTI4LCA2NSwgNjUsIDQ4LCA0OSwgNTUsIDEyOCwgNjUsIDY1LCAKKyAgICA0OCwgNDksIDU0LCAxMjgsIDY1LCA2NSwgNDgsIDQ5LCA1MywgMTI4LCA2NSwgNjUsIDQ4LCA0OSwgNTIsIDEyOCwgNjUsIAorICAgIDY1LCA0OCwgNDksIDUxLCAxMjgsIDY1LCA2NSwgNDgsIDQ5LCA1MCwgMTI4LCA2NSwgNjUsIDQ4LCA0OSwgNDksIDEyOCwgCisgICAgNjUsIDY1LCA0OCwgNDksIDQ4LCAxMjgsIDY1LCA2NSwgNDgsIDQ4LCA1NywgMTI4LCA2NSwgNjUsIDQ4LCA0OCwgNTYsIAorICAgIDEyOCwgNjUsIDY1LCA0OCwgNDgsIDU1LCA2NiwgMTI4LCA2NSwgNjUsIDQ4LCA0OCwgNTUsIDY1LCAxMjgsIDY1LCA2NSwgCisgICAgNDgsIDQ4LCA1NSwgMTI4LCA2NSwgNjUsIDQ4LCA0OCwgNTQsIDEyOCwgNjUsIDY1LCA0OCwgNDgsIDUzLCAxMjgsIDY1LCAKKyAgICA2NSwgNDgsIDQ4LCA1MiwgMTI4LCA2NSwgNjUsIDQ4LCA0OCwgNTEsIDEyOCwgNjUsIDY1LCA0OCwgNDgsIDUwLCAxMjgsIAorICAgIDY1LCA2NSwgNDgsIDQ4LCA0OSwgMTI4LCA2NSwgNTYsIDQ4LCA1NSwgMTI4LCA2NSwgNTYsIDQ4LCA1NCwgMTI4LCA2NSwgCisgICAgNTYsIDQ4LCA1MywgMTI4LCA2NSwgNTYsIDQ4LCA1MiwgMTI4LCA2NSwgNTYsIDQ4LCA1MSwgMTI4LCA2NSwgNTYsIDQ4LCAKKyAgICA1MCwgMTI4LCA2NSwgNTYsIDQ4LCA0OSwgMTI4LCA2NSwgNTYsIDQ4LCA0OCwgMTI4LCA2NSwgNTUsIDUxLCAxNzgsIDY1LCAKKyAgICA1NSwgNTAsIDE4MiwgNjUsIDU1LCA0OSwgMTgzLCA2NSwgNTUsIDQ5LCAxODEsIDY1LCA1NSwgNDksIDE4MCwgNjUsIDU1LCAKKyAgICA0OSwgMTc5LCA2NSwgNTUsIDQ5LCAxNzgsIDY1LCA1NSwgNDksIDE3NywgNjUsIDU1LCA0OSwgMTc2LCA2NSwgNTUsIDQ4LCAKKyAgICA1NywgNDUsIDE4MiwgNjUsIDU1LCA0OCwgNTcsIDQ1LCAxODAsIDY1LCA1NSwgNDgsIDU3LCA0NSwgMTc5LCA2NSwgNTUsIAorICAgIDQ4LCA1NywgNDUsIDE3OCwgNjUsIDU1LCA0OCwgMTg1LCA2NSwgNTUsIDQ4LCAxODQsIDY1LCA1NSwgNDgsIDE4MywgNjUsIAorICAgIDU1LCA0OCwgMTgyLCA2NSwgNTUsIDQ4LCAxODEsIDY1LCA1NSwgNDgsIDE4MCwgNjUsIDU1LCA0OCwgMTc5LCA2NSwgNTUsIAorICAgIDQ4LCAxNzgsIDY1LCA1NSwgNDgsIDE3NywgNjUsIDU0LCA1NCwgNTIsIDEyOCwgNjUsIDU0LCA1NCwgNTEsIDEyOCwgNjUsIAorICAgIDU0LCA1NCwgNTAsIDEyOCwgNjUsIDU0LCA1NCwgNDksIDEyOCwgNjUsIDU0LCA1NCwgNDgsIDEyOCwgNjUsIDU0LCA1MywgCisgICAgNTcsIDEyOCwgNjUsIDU0LCA1MywgNTYsIDEyOCwgNjUsIDU0LCA1MywgNTUsIDEyOCwgNjUsIDU0LCA1MywgNTQsIDEyOCwgCisgICAgNjUsIDU0LCA1MywgNTMsIDEyOCwgNjUsIDU0LCA1MywgNTIsIDEyOCwgNjUsIDU0LCA1MywgNTEsIDEyOCwgNjUsIDU0LCAKKyAgICA1MywgNTAsIDEyOCwgNjUsIDU0LCA1MywgNDksIDEyOCwgNjUsIDU0LCA1MiwgNTcsIDEyOCwgNjUsIDU0LCA1MiwgNTYsIAorICAgIDEyOCwgNjUsIDU0LCA1MiwgNTQsIDEyOCwgNjUsIDU0LCA1MiwgNTMsIDEyOCwgNjUsIDU0LCA1MiwgNTIsIDEyOCwgNjUsIAorICAgIDU0LCA1MiwgNTEsIDEyOCwgNjUsIDU0LCA1MiwgNTAsIDEyOCwgNjUsIDU0LCA1MiwgNDgsIDEyOCwgNjUsIDU0LCA1MSwgCisgICAgNTYsIDEyOCwgNjUsIDU0LCA1MSwgNTUsIDEyOCwgNjUsIDU0LCA1MSwgNTIsIDEyOCwgNjUsIDU0LCA1MCwgNTcsIDEyOCwgCisgICAgNjUsIDU0LCA1MCwgNTYsIDEyOCwgNjUsIDU0LCA1MCwgNTUsIDEyOCwgNjUsIDU0LCA1MCwgNTQsIDEyOCwgNjUsIDU0LCAKKyAgICA1MCwgNTIsIDEyOCwgNjUsIDU0LCA1MCwgNTEsIDEyOCwgNjUsIDU0LCA1MCwgNTAsIDEyOCwgNjUsIDU0LCA1MCwgNDksIAorICAgIDEyOCwgNjUsIDU0LCA1MCwgNDgsIDEyOCwgNjUsIDU0LCA0OSwgNTcsIDEyOCwgNjUsIDU0LCA0OSwgNTYsIDEyOCwgNjUsIAorICAgIDU0LCA0OSwgNTUsIDEyOCwgNjUsIDU0LCA0OSwgNTQsIDEyOCwgNjUsIDU0LCA0OSwgNTMsIDEyOCwgNjUsIDU0LCA0OSwgCisgICAgNTIsIDEyOCwgNjUsIDU0LCA0OSwgNTEsIDEyOCwgNjUsIDU0LCA0OSwgNTAsIDEyOCwgNjUsIDU0LCA0OSwgNDksIDEyOCwgCisgICAgNjUsIDU0LCA0OSwgNDgsIDEyOCwgNjUsIDU0LCA0OCwgNTcsIDEyOCwgNjUsIDU0LCA0OCwgNTYsIDEyOCwgNjUsIDU0LCAKKyAgICA0OCwgNTQsIDEyOCwgNjUsIDU0LCA0OCwgNTIsIDEyOCwgNjUsIDU0LCA0OCwgNTEsIDEyOCwgNjUsIDU0LCA0OCwgNTAsIAorICAgIDEyOCwgNjUsIDU0LCA0OCwgNDksIDEyOCwgNjUsIDU0LCA0OCwgNDgsIDEyOCwgNjUsIDUzLCA1NywgNTYsIDEyOCwgNjUsIAorICAgIDUzLCA1NywgNTQsIDEyOCwgNjUsIDUzLCA1NywgNTMsIDEyOCwgNjUsIDUzLCA1NywgNTIsIDEyOCwgNjUsIDUzLCA1NywgCisgICAgNTAsIDEyOCwgNjUsIDUzLCA1NywgNDksIDEyOCwgNjUsIDUzLCA1NiwgNTcsIDEyOCwgNjUsIDUzLCA1NiwgNTYsIDEyOCwgCisgICAgNjUsIDUzLCA1NiwgNTUsIDEyOCwgNjUsIDUzLCA1NiwgNTQsIDEyOCwgNjUsIDUzLCA1NiwgNTMsIDEyOCwgNjUsIDUzLCAKKyAgICA1NiwgNTIsIDEyOCwgNjUsIDUzLCA1NiwgNTEsIDEyOCwgNjUsIDUzLCA1NiwgNTAsIDEyOCwgNjUsIDUzLCA1NiwgNDksIAorICAgIDEyOCwgNjUsIDUzLCA1NiwgNDgsIDEyOCwgNjUsIDUzLCA1NSwgNTcsIDEyOCwgNjUsIDUzLCA1NSwgNTYsIDEyOCwgNjUsIAorICAgIDUzLCA1NSwgNTUsIDEyOCwgNjUsIDUzLCA1NSwgNTQsIDEyOCwgNjUsIDUzLCA1NSwgNTMsIDEyOCwgNjUsIDUzLCA1NSwgCisgICAgNTIsIDEyOCwgNjUsIDUzLCA1NSwgNTEsIDEyOCwgNjUsIDUzLCA1NSwgNTAsIDEyOCwgNjUsIDUzLCA1NSwgNDksIDEyOCwgCisgICAgNjUsIDUzLCA1NSwgNDgsIDEyOCwgNjUsIDUzLCA1NCwgNTcsIDEyOCwgNjUsIDUzLCA1NCwgNTYsIDEyOCwgNjUsIDUzLCAKKyAgICA1NCwgNTQsIDEyOCwgNjUsIDUzLCA1NCwgNTMsIDEyOCwgNjUsIDUzLCA1NCwgNTIsIDEyOCwgNjUsIDUzLCA1NCwgNTEsIAorICAgIDEyOCwgNjUsIDUzLCA1MywgNTcsIDEyOCwgNjUsIDUzLCA1MywgNTUsIDEyOCwgNjUsIDUzLCA1MywgNTQsIDEyOCwgNjUsIAorICAgIDUzLCA1MywgNTMsIDEyOCwgNjUsIDUzLCA1MywgNTIsIDEyOCwgNjUsIDUzLCA1MywgNTEsIDEyOCwgNjUsIDUzLCA1MywgCisgICAgNTAsIDEyOCwgNjUsIDUzLCA1MywgNDksIDEyOCwgNjUsIDUzLCA1MywgNDgsIDEyOCwgNjUsIDUzLCA1MiwgNTcsIDEyOCwgCisgICAgNjUsIDUzLCA1MiwgNTYsIDEyOCwgNjUsIDUzLCA1MiwgNTUsIDEyOCwgNjUsIDUzLCA1MiwgNTMsIDEyOCwgNjUsIDUzLCAKKyAgICA1MiwgNTAsIDEyOCwgNjUsIDUzLCA1MiwgNDksIDEyOCwgNjUsIDUzLCA1MiwgNDgsIDEyOCwgNjUsIDUzLCA1MSwgNTcsIAorICAgIDEyOCwgNjUsIDUzLCA1MSwgNTYsIDEyOCwgNjUsIDUzLCA1MSwgNTUsIDEyOCwgNjUsIDUzLCA1MSwgNTQsIDEyOCwgNjUsIAorICAgIDUzLCA1MSwgNTMsIDEyOCwgNjUsIDUzLCA1MSwgNTIsIDEyOCwgNjUsIDUzLCA1MSwgNTAsIDEyOCwgNjUsIDUzLCA1MSwgCisgICAgNDksIDEyOCwgNjUsIDUzLCA1MSwgNDgsIDEyOCwgNjUsIDUzLCA1MCwgNTcsIDEyOCwgNjUsIDUzLCA1MCwgNTYsIDEyOCwgCisgICAgNjUsIDUzLCA1MCwgNTUsIDEyOCwgNjUsIDUzLCA1MCwgNTQsIDEyOCwgNjUsIDUzLCA1MCwgNTMsIDEyOCwgNjUsIDUzLCAKKyAgICA1MCwgNTIsIDEyOCwgNjUsIDUzLCA1MCwgNTEsIDEyOCwgNjUsIDUzLCA1MCwgNDksIDEyOCwgNjUsIDUzLCA1MCwgNDgsIAorICAgIDEyOCwgNjUsIDUzLCA0OSwgNTQsIDEyOCwgNjUsIDUzLCA0OSwgNTMsIDEyOCwgNjUsIDUzLCA0OSwgNTEsIDEyOCwgNjUsIAorICAgIDUzLCA0OSwgNTAsIDEyOCwgNjUsIDUzLCA0OSwgNDksIDEyOCwgNjUsIDUzLCA0OSwgNDgsIDEyOCwgNjUsIDUzLCA0OCwgCisgICAgNTcsIDEyOCwgNjUsIDUzLCA0OCwgNTYsIDEyOCwgNjUsIDUzLCA0OCwgNTQsIDEyOCwgNjUsIDUzLCA0OCwgNTMsIDEyOCwgCisgICAgNjUsIDUzLCA0OCwgNTIsIDEyOCwgNjUsIDUzLCA0OCwgNTEsIDEyOCwgNjUsIDUzLCA0OCwgNTAsIDEyOCwgNjUsIDUzLCAKKyAgICA0OCwgNDksIDEyOCwgNjUsIDUyLCA0OSwgNTYsIDQ1LCA4NiwgNjUsIDgzLCAxMjgsIDY1LCA1MiwgNDksIDU1LCA0NSwgODYsIAorICAgIDY1LCA4MywgMTI4LCA2NSwgNTIsIDQ5LCA1NCwgNDUsIDg2LCA2NSwgODMsIDEyOCwgNjUsIDUyLCA0OSwgNTMsIDQ1LCA4NiwgCisgICAgNjUsIDgzLCAxMjgsIDY1LCA1MiwgNDksIDUyLCA0NSwgODYsIDY1LCA4MywgMTI4LCA2NSwgNTIsIDQ5LCA1MSwgNDUsIDg2LCAKKyAgICA2NSwgODMsIDEyOCwgNjUsIDUyLCA0OSwgNTAsIDQ1LCA4NiwgNjUsIDgzLCAxMjgsIDY1LCA1MiwgNDksIDQ5LCA0NSwgODYsIAorICAgIDY1LCA4MywgMTI4LCA2NSwgNTIsIDQ5LCA0OCwgNDUsIDg2LCA2NSwgODMsIDEyOCwgNjUsIDUyLCA0OCwgNTcsIDQ1LCA4NiwgCisgICAgNjUsIDgzLCAxMjgsIDY1LCA1MiwgNDgsIDU2LCA0NSwgODYsIDY1LCA4MywgMTI4LCA2NSwgNTIsIDQ4LCA1NSwgNDUsIDg2LCAKKyAgICA2NSwgODMsIDEyOCwgNjUsIDUyLCA0OCwgNTQsIDQ1LCA4NiwgNjUsIDgzLCAxMjgsIDY1LCA1MiwgNDgsIDUzLCA0NSwgODYsIAorICAgIDY1LCA4MywgMTI4LCA2NSwgNTIsIDQ4LCA1MiwgNDUsIDg2LCA2NSwgODMsIDEyOCwgNjUsIDUyLCA0OCwgNTEsIDQ1LCA4NiwgCisgICAgNjUsIDgzLCAxMjgsIDY1LCA1MiwgNDgsIDUwLCA0NSwgODYsIDY1LCA4MywgMTI4LCA2NSwgNTIsIDQ4LCA0OSwgNDUsIDg2LCAKKyAgICA2NSwgODMsIDEyOCwgNjUsIDUyLCA0OCwgNDgsIDQ1LCA4NiwgNjUsIDgzLCAxMjgsIDY1LCA1MSwgNTUsIDQ5LCAxMjgsIAorICAgIDY1LCA1MSwgNTUsIDQ4LCAxMjgsIDY1LCA1MSwgNTQsIDU3LCAxMjgsIDY1LCA1MSwgNTQsIDU2LCAxMjgsIDY1LCA1MSwgCisgICAgNTQsIDU1LCAxMjgsIDY1LCA1MSwgNTQsIDU0LCAxMjgsIDY1LCA1MSwgNTQsIDUzLCAxMjgsIDY1LCA1MSwgNTQsIDUyLCAKKyAgICAxMjgsIDY1LCA1MSwgNTQsIDUxLCAxMjgsIDY1LCA1MSwgNTQsIDUwLCAxMjgsIDY1LCA1MSwgNTQsIDQ5LCAxMjgsIDY1LCAKKyAgICA1MSwgNTQsIDQ4LCAxMjgsIDY1LCA1MSwgNTMsIDU3LCAxMjgsIDY1LCA1MSwgNTMsIDU2LCAxMjgsIDY1LCA1MSwgNTMsIAorICAgIDU1LCAxMjgsIDY1LCA1MSwgNTMsIDU0LCAxMjgsIDY1LCA1MSwgNTMsIDUzLCAxMjgsIDY1LCA1MSwgNTMsIDUyLCAxMjgsIAorICAgIDY1LCA1MSwgNTMsIDUxLCAxMjgsIDY1LCA1MSwgNTMsIDUwLCAxMjgsIDY1LCA1MSwgNTMsIDQ5LCAxMjgsIDY1LCA1MSwgCisgICAgNTMsIDQ4LCAxMjgsIDY1LCA1MSwgNTIsIDU3LCAxMjgsIDY1LCA1MSwgNTIsIDU2LCAxMjgsIDY1LCA1MSwgNTIsIDU1LCAKKyAgICAxMjgsIDY1LCA1MSwgNTIsIDU0LCAxMjgsIDY1LCA1MSwgNTIsIDUzLCAxMjgsIDY1LCA1MSwgNTIsIDUyLCAxMjgsIDY1LCAKKyAgICA1MSwgNTIsIDUxLCAxMjgsIDY1LCA1MSwgNTIsIDUwLCAxMjgsIDY1LCA1MSwgNTIsIDQ5LCAxMjgsIDY1LCA1MSwgNTIsIAorICAgIDQ4LCAxMjgsIDY1LCA1MSwgNTEsIDU3LCAxMjgsIDY1LCA1MSwgNTEsIDU2LCAxMjgsIDY1LCA1MSwgNTEsIDU1LCAxMjgsIAorICAgIDY1LCA1MSwgNTEsIDU0LCAxMjgsIDY1LCA1MSwgNTEsIDUzLCAxMjgsIDY1LCA1MSwgNTEsIDUyLCAxMjgsIDY1LCA1MSwgCisgICAgNTEsIDUxLCAxMjgsIDY1LCA1MSwgNTEsIDUwLCAxMjgsIDY1LCA1MSwgNTEsIDQ5LCAxMjgsIDY1LCA1MSwgNTEsIDQ4LCAKKyAgICAxMjgsIDY1LCA1MSwgNTAsIDU3LCAxMjgsIDY1LCA1MSwgNTAsIDU2LCAxMjgsIDY1LCA1MSwgNTAsIDU1LCAxMjgsIDY1LCAKKyAgICA1MSwgNTAsIDU0LCAxMjgsIDY1LCA1MSwgNTAsIDUzLCAxMjgsIDY1LCA1MSwgNTAsIDUyLCAxMjgsIDY1LCA1MSwgNTAsIAorICAgIDUxLCAxMjgsIDY1LCA1MSwgNTAsIDUwLCAxMjgsIDY1LCA1MSwgNTAsIDQ5LCAxMjgsIDY1LCA1MSwgNTAsIDQ4LCAxMjgsIAorICAgIDY1LCA1MSwgNDksIDU3LCAxMjgsIDY1LCA1MSwgNDksIDU2LCAxMjgsIDY1LCA1MSwgNDksIDU1LCAxMjgsIDY1LCA1MSwgCisgICAgNDksIDU0LCAxMjgsIDY1LCA1MSwgNDksIDUzLCAxMjgsIDY1LCA1MSwgNDksIDUyLCAxMjgsIDY1LCA1MSwgNDksIDUxLCAKKyAgICA2NywgMTI4LCA2NSwgNTEsIDQ5LCA1MSwgNjYsIDEyOCwgNjUsIDUxLCA0OSwgNTEsIDY1LCAxMjgsIDY1LCA1MSwgNDksIAorICAgIDUwLCAxMjgsIDY1LCA1MSwgNDksIDQ5LCAxMjgsIDY1LCA1MSwgNDksIDQ4LCAxMjgsIDY1LCA1MSwgNDgsIDU3LCA2NywgCisgICAgMTI4LCA2NSwgNTEsIDQ4LCA1NywgNjYsIDEyOCwgNjUsIDUxLCA0OCwgNTcsIDY1LCAxMjgsIDY1LCA1MSwgNDgsIDU2LCAKKyAgICAxMjgsIDY1LCA1MSwgNDgsIDU1LCAxMjgsIDY1LCA1MSwgNDgsIDU0LCAxMjgsIDY1LCA1MSwgNDgsIDUzLCAxMjgsIDY1LCAKKyAgICA1MSwgNDgsIDUyLCAxMjgsIDY1LCA1MSwgNDgsIDUxLCAxMjgsIDY1LCA1MSwgNDgsIDUwLCAxMjgsIDY1LCA1MSwgNDgsIAorICAgIDQ5LCAxMjgsIDY1LCA0OSwgNTEsIDQ5LCA2NywgMTI4LCA2NSwgNDksIDUwLCA0OCwgNjYsIDEyOCwgNjUsIDQ5LCA0OCwgCisgICAgNDgsIDQ1LCA0OSwgNDgsIDUwLCAxMjgsIDY1LCA0OCwgNTUsIDQ4LCAxMjgsIDY1LCA0OCwgNTQsIDU3LCAxMjgsIDY1LCAKKyAgICA0OCwgNTQsIDU2LCAxMjgsIDY1LCA0OCwgNTQsIDU1LCAxMjgsIDY1LCA0OCwgNTQsIDU0LCAxMjgsIDY1LCA0OCwgNTQsIAorICAgIDUzLCAxMjgsIDY1LCA0OCwgNTQsIDUyLCAxMjgsIDY1LCA0OCwgNTQsIDUxLCAxMjgsIDY1LCA0OCwgNTQsIDUwLCAxMjgsIAorICAgIDY1LCA0OCwgNTQsIDQ5LCAxMjgsIDY1LCA0OCwgNTQsIDQ4LCAxMjgsIDY1LCA0OCwgNTMsIDU3LCAxMjgsIDY1LCA0OCwgCisgICAgNTMsIDU2LCAxMjgsIDY1LCA0OCwgNTMsIDU1LCAxMjgsIDY1LCA0OCwgNTMsIDU0LCAxMjgsIDY1LCA0OCwgNTMsIDUzLCAKKyAgICAxMjgsIDY1LCA0OCwgNTMsIDUyLCAxMjgsIDY1LCA0OCwgNTMsIDUxLCAxMjgsIDY1LCA0OCwgNTMsIDUwLCAxMjgsIDY1LCAKKyAgICA0OCwgNTMsIDQ5LCAxMjgsIDY1LCA0OCwgNTMsIDQ4LCAxMjgsIDY1LCA0OCwgNTIsIDU3LCAxMjgsIDY1LCA0OCwgNTIsIAorICAgIDU2LCAxMjgsIDY1LCA0OCwgNTIsIDU1LCAxMjgsIDY1LCA0OCwgNTIsIDU0LCAxMjgsIDY1LCA0OCwgNTIsIDUzLCA2NSwgCisgICAgMTI4LCA2NSwgNDgsIDUyLCA1MywgMTI4LCA2NSwgNDgsIDUyLCA1MiwgMTI4LCA2NSwgNDgsIDUyLCA1MSwgNjUsIDEyOCwgCisgICAgNjUsIDQ4LCA1MiwgNTEsIDEyOCwgNjUsIDQ4LCA1MiwgNTAsIDY1LCAxMjgsIDY1LCA0OCwgNTIsIDUwLCAxMjgsIDY1LCAKKyAgICA0OCwgNTIsIDQ5LCAxMjgsIDY1LCA0OCwgNTIsIDQ4LCA2NSwgMTI4LCA2NSwgNDgsIDUyLCA0OCwgMTI4LCA2NSwgNDgsIAorICAgIDUxLCA1NywgMTI4LCA2NSwgNDgsIDUxLCA1NiwgMTI4LCA2NSwgNDgsIDUxLCA1NSwgMTI4LCA2NSwgNDgsIDUxLCA1NCwgCisgICAgMTI4LCA2NSwgNDgsIDUxLCA1MywgMTI4LCA2NSwgNDgsIDUxLCA1MiwgMTI4LCA2NSwgNDgsIDUxLCA1MSwgMTI4LCA2NSwgCisgICAgNDgsIDUxLCA1MCwgNjUsIDEyOCwgNjUsIDQ4LCA1MCwgNTYsIDY2LCAxMjgsIDY1LCA0OCwgNDksIDU1LCA2NSwgMTI4LCAKKyAgICA2NSwgNDgsIDQ5LCA1MiwgNjUsIDEyOCwgNjUsIDQ4LCA0OCwgNTQsIDY2LCAxMjgsIDY1LCA0OCwgNDgsIDU0LCA2NSwgCisgICAgMTI4LCA2NSwgNDgsIDQ4LCA1MywgNjUsIDEyOCwgNjUsIDQ1LCA2OSwgODUsIDEyOCwgNDUsIDg1LCAyMDUsIDQ1LCA4MCwgCisgICAgNzIsIDgyLCA4NSwgMTI4LCA0NSwgNzUsIDcyLCA4OSwgODUsIDE5NiwgNDUsIDc1LCA3MiwgODksIDczLCA3NiwgMTI4LCAKKyAgICA0NSwgNjgsIDkwLCA4NSwgMTk2LCA0NSwgNjcsIDcyLCA2NSwgMjEwLCA0NSwgNjcsIDcyLCA2NSwgNzYsIDEyOCwgCiB9OwogCiBzdGF0aWMgdW5zaWduZWQgaW50IGxleGljb25fb2Zmc2V0W10gPSB7Ci0gICAgMCwgMCwgNiwgMTAsIDE4LCAyMywgMjcsIDM0LCAzOSwgNDEsIDQ3LCA1MCwgNjIsIDcwLCA4MCwgOTMsIDEwMiwgMTA4LCAKLSAgICAxMTMsIDEyMSwgMTMwLCAxMzUsIDE0MCwgMTQzLCAxNDcsIDE1MywgMTU4LCAxNjMsIDE3MSwgMTc4LCAxODYsIDE5MSwgCi0gICAgMTk0LCAyMDAsIDIwOCwgMjE1LCAyMjUsIDIzMCwgMjM3LCAyNDYsIDI0OSwgMjU0LCAyNTcsIDI2MywgMjY3LCAyNzIsIAotICAgIDI4MSwgMjg4LCAyOTUsIDMwMSwgMzEwLCAzMTUsIDMyMSwgMzI3LCAzMzUsIDE0NCwgMzQxLCAzNDksIDM1MCwgMzU4LCAKLSAgICAzNjEsIDM2NywgMzY5LCAzNzUsIDM4MiwgMzg0LCAzOTEsIDM5NSwgNDAzLCA0MTAsIDQxMiwgNDE3LCA0MjIsIDQyNywgCi0gICAgNDM0LCA0MzYsIDI5OSwgNDQyLCA0NDUsIDQ0NywgNDUyLCA0NTcsIDQ2MywgNDcwLCA0NzksIDQ4OSwgNDk0LCA0OTgsIAotICAgIDUwNSwgNTE4LCA1MjIsIDUzMSwgNTM4LCA1NDUsIDU0OCwgNTU0LCA1NTgsIDU2MiwgNTcyLCA1ODAsIDU4OCwgNTk2LCAKLSAgICA2MDUsIDYxMywgNjE4LCA2MTksIDYyMywgNjMxLCA2MzgsIDY0OCwgNjUyLCA2NjMsIDY2NywgNjcwLCA2NzMsIDY3OCwgCi0gICAgMzQ4LCA2ODIsIDY5MSwgNjk3LCA3MDMsIDcwNSwgNzA4LCA3MTEsIDcxNCwgNzE4LCA3MjIsIDczMSwgNzM5LCA3NDQsIAotICAgIDc0NywgNzUxLCA3NTcsIDc2NCwgNzcxLCA3NzYsIDc4NSwgNzk0LCA4MDEsIDgwNSwgODE4LCA4MjcsIDgzNSwgODQxLCAKLSAgICA1NTcsIDg1MCwgODYwLCA4NjcsIDg3MywgODc5LCA4ODYsIDg5NCwgODk4LCA3NDksIDkwNiwgOTE1LCA1MDMsIDkyMywgCi0gICAgOTI4LCA5MzQsIDE3LCA5NDMsIDk0OCwgOTUxLCA5NTUsIDk1OSwgOTY2LCA5NjksIDk3NiwgOTgwLCA5ODgsIDk5MiwgCi0gICAgMTAwMCwgMTAwNCwgMTAwNywgMTAxNCwgMTAyMSwgMTkyLCAxMDI0LCAxMDI5LCAxMDM5LCAxMDQ4LCAxMDU1LCAxMDYwLCAKLSAgICAxMDY2LCAxMDcyLCAxMDgwLCAxMDgzLCAxMDg4LCAxMDk0LCAxMTAyLCAxMTA3LCAxMTEwLCAxMTEzLCAxMTEsIDExMTgsIAotICAgIDExMjIsIDExMjgsIDExMzQsIDExMzcsIDExNDMsIDExNDcsIDExNTIsIDExNTgsIDExNjgsIDExNzIsIDExNzUsIDExNzgsIAotICAgIDExODcsIDExOTEsIDExOTQsIDExOTksIDEyMDQsIDEyMTAsIDEyMTUsIDEyMjAsIDEyMjUsIDEyMjksIDEyMzQsIDEyNDAsIAotICAgIDEyNDUsIDEyNTAsIDEyNTQsIDEyNjAsIDEyNjUsIDEyNzAsIDEyNzUsIDEyNzksIDEyODQsIDEyODksIDEyOTQsIDEzMDAsIAotICAgIDEzMDYsIDEzMTIsIDEzMTcsIDEzMjEsIDEzMjYsIDEzMzEsIDEzMzYsIDEzNDAsIDEzNDUsIDEzNTAsIDEzNTUsIDEzNjAsIAotICAgIDExOTUsIDEyMDAsIDEyMDUsIDEyMTEsIDEyMTYsIDEzNjQsIDEyMjYsIDEzNzAsIDEzNzUsIDEzODAsIDEzODcsIDEzOTEsIAotICAgIDE0MDAsIDEyMzAsIDE0MDQsIDEyMzUsIDEyNDEsIDEyNDYsIDE0MDgsIDE0MTMsIDE0MTgsIDE0MjIsIDE0MjYsIDE0MzIsIAotICAgIDE0MzYsIDEyNTEsIDE0MzksIDEyNjEsIDE0NDQsIDE0NDgsIDEyNjYsIDE0NTQsIDEyNzEsIDE0NTgsIDE0NjIsIDEyNzYsIAotICAgIDE0NjYsIDE0NzEsIDE0NzUsIDE0NzgsIDE0ODIsIDEyODAsIDEyODUsIDE0ODcsIDEyOTAsIDE0OTMsIDE0OTksIDE1MDUsIAotICAgIDE1MTEsIDEyOTUsIDEzMDcsIDEzMTMsIDE1MTUsIDE1MTksIDE1MjMsIDE1MjYsIDEzMTgsIDE1MzAsIDE1MzIsIDE1MzcsIAotICAgIDE1NDIsIDE1NDgsIDE1NTMsIDE1NTgsIDE1NjIsIDE1NjcsIDE1NzIsIDE1NzcsIDE1ODIsIDE1ODgsIDE1OTMsIDE1OTgsIAotICAgIDE2MDQsIDE2MTAsIDE2MTUsIDE2MTksIDE2MjQsIDE2MjksIDE2MzQsIDE2MzksIDE2NDMsIDE2NTEsIDE2NTUsIDE2NjAsIAotICAgIDE2NjUsIDE2NzAsIDE2NzUsIDE2NzksIDE2ODIsIDE2ODcsIDE2OTIsIDE2OTcsIDE3MDIsIDE3MDgsIDE3MTMsIDE3MTcsIAotICAgIDEzMjIsIDE3MjAsIDE3MjUsIDE3MzAsIDEzMjcsIDE3MzQsIDE3MzgsIDE3NDUsIDEzMzIsIDE3NTIsIDEzMzcsIDE3NTYsIAotICAgIDE3NTgsIDE3NjMsIDE3NjksIDEzNDEsIDE3NzQsIDE3ODMsIDEzNDYsIDE3ODgsIDE3OTQsIDEzNTEsIDE3OTksIDE4MDQsIAotICAgIDE4MDcsIDE4MTIsIDE4MTYsIDE4MjAsIDE4MjQsIDE4MjcsIDE4MzEsIDEzNTYsIDEzNjEsIDEwNTgsIDE4MzYsIDE4NDIsIAotICAgIDE4NDgsIDE4NTQsIDE4NjAsIDE4NjYsIDE4NzIsIDE4NzgsIDE4ODQsIDE4ODksIDE4OTUsIDE5MDEsIDE5MDcsIDE5MTMsIAotICAgIDE5MTksIDE5MjUsIDE5MzEsIDE5MzcsIDE5NDMsIDE5NDgsIDE5NTMsIDE5NTgsIDE5NjMsIDE5NjgsIDE5NzMsIDE5NzgsIAotICAgIDE5ODMsIDE5ODgsIDE5OTMsIDE5OTksIDIwMDQsIDIwMTAsIDIwMTUsIDIwMjEsIDIwMjcsIDIwMzIsIDIwMzgsIDIwNDQsIAotICAgIDIwNTAsIDIwNTYsIDIwNjEsIDIwNjYsIDIwNjgsIDIwNjksIDIwNzMsIDIwNzcsIDIwODIsIDIwODYsIDIwOTAsIDIwOTQsIAotICAgIDIwOTksIDIxMDMsIDIxMDYsIDIxMTEsIDIxMTUsIDIxMjAsIDIxMjQsIDIxMjgsIDIxMzMsIDIxMzcsIDIxNDAsIDIxNDQsIAotICAgIDIxNTAsIDIxNjQsIDIxNjgsIDIxNzIsIDIxNzYsIDIxNzksIDIxODQsIDIxODgsIDIxOTIsIDIxOTUsIDIxOTksIDIyMDQsIAotICAgIDIyMDksIDIyMTQsIDIyMTksIDIyMjMsIDIyMjcsIDIyMzEsIDIyMzYsIDIyNDAsIDIyNDUsIDIyNDksIDIyNTQsIDIyNjAsIAotICAgIDIyNjcsIDIyNzMsIDIyNzgsIDIyODMsIDIyODgsIDIyOTQsIDIyOTksIDIzMDUsIDIzMTAsIDIzMTMsIDEyMTIsIDIzMTUsIAotICAgIDIzMjIsIDIzMzAsIDIzNDAsIDIzNDksIDIzNjMsIDIzNjcsIDIzNzEsIDIzODQsIDIzOTIsIDIzOTYsIDI0MDEsIDI0MDUsIAotICAgIDI0MDgsIDI0MTIsIDI0MTYsIDI0MjEsIDI0MjYsIDI0MzEsIDI0MzUsIDI0MzgsIDI0NDIsIDI0NDksIDI0NTYsIDI0NjIsIAotICAgIDI0NjcsIDI0NzIsIDI0NzgsIDI0ODQsIDI0ODksIDI0OTIsIDE3NjAsIDI0OTQsIDI1MDAsIDI1MDQsIDI1MDksIDI1MTMsIAotICAgIDI1MTcsIDE3NjUsIDE3NzEsIDI1MjIsIDI1MjYsIDI1MjksIDI1MzQsIDI1MzksIDI1NDQsIDI1NDksIDI1NTMsIDI1NjAsIAotICAgIDI1NjUsIDI1NjgsIDI1NzUsIDI1ODEsIDI1ODUsIDI1ODksIDI1OTMsIDI1OTgsIDI2MDUsIDI2MTAsIDI2MTUsIDI2MjIsIAotICAgIDI2MjgsIDI2MzQsIDI2NDAsIDI2NTQsIDI2NzEsIDI2ODYsIDI3MDEsIDI3MTAsIDI3MTUsIDI3MTksIDI3MjQsIDI3MjksIAotICAgIDI3MzMsIDI3NDUsIDI3NTIsIDI3NTgsIDIyNjMsIDI3NjQsIDI3NzEsIDI3NzcsIDI3ODEsIDI3ODQsIDI3OTEsIDI3OTcsIAotICAgIDI4MDEsIDI4MDUsIDI4MDksIDIwOTEsIDI4MTMsIDI4MTgsIDI4MjMsIDI4MjcsIDI4MzUsIDI4MzksIDI4NDMsIDI4NDcsIAotICAgIDI4NTEsIDI4NTYsIDI4NjEsIDI4NjYsIDI4NzAsIDI4NzUsIDI4ODAsIDI4ODQsIDI4ODksIDI4OTMsIDI4OTYsIDI5MDAsIAotICAgIDI5MDQsIDI5MTIsIDI5MTcsIDI5MjEsIDI5MjUsIDI5MzEsIDI5NDAsIDI5NDQsIDI5NDgsIDI5NTQsIDI5NTksIDI5NjYsIAotICAgIDI5NzAsIDI5ODAsIDI5ODQsIDI5ODgsIDI5OTMsIDI5OTcsIDMwMDIsIDMwMDgsIDMwMTMsIDMwMTcsIDMwMjEsIDMwMjUsIAotICAgIDI0NTIsIDMwMzMsIDMwMzgsIDMwNDQsIDMwNDksIDMwNTMsIDMwNTgsIDMwNjMsIDMwNjcsIDMwNzMsIDMwNzgsIDIwOTUsIAotICAgIDMwODQsIDMwOTAsIDMwOTUsIDMxMDAsIDMxMDUsIDMxMTAsIDMxMTUsIDMxMjAsIDMxMjUsIDMxMzAsIDMxMzUsIDMxNDEsIAotICAgIDMxNDYsIDEyMjcsIDkyLCAzMTUyLCAzMTU2LCAzMTYwLCAzMTY0LCAzMTY5LCAzMTczLCAzMTc3LCAzMTgxLCAzMTg1LCAKLSAgICAzMTkwLCAzMTk0LCAzMTk5LCAzMjAzLCAzMjA2LCAzMjEwLCAzMjE1LCAzMjE5LCAzMjI0LCAzMjI4LCAzMjMyLCAzMjM2LCAKLSAgICAzMjQxLCAzMjQ1LCAzMjQ4LCAzMjYxLCAzMjY1LCAzMjY5LCAzMjczLCAzMjc3LCAzMjgxLCAzMjg0LCAzMjg4LCAzMjkyLCAKLSAgICAzMjk3LCAzMzAxLCAzMzA2LCAzMzExLCAzMzE2LCAzMzIwLCAzMzIzLCAzMzI2LCAzMzMyLCAzMzM2LCAzMzQwLCAzMzQzLCAKLSAgICAzMzQ3LCAzMzUxLCAzMzU0LCAzMzYwLCAzMzY1LCAzMzcwLCAzMzc2LCAzMzgxLCAzMzg2LCAzMzkyLCAzMzk4LCAzNDAzLCAKLSAgICAzNDA4LCAzNDEzLCAxMTIwLCA1NDcsIDM0MTgsIDM0MjEsIDM0MjYsIDM0MzAsIDM0MzMsIDM0MzcsIDM0NDIsIDM0NDcsIAotICAgIDM0NTEsIDM0NTYsIDM0NjAsIDM0NjUsIDM0NjksIDM0NzMsIDM0NzksIDM0ODUsIDM0ODgsIDM0OTEsIDM0OTcsIDM1MDQsIAotICAgIDM1MTEsIDM1MTcsIDM1MjQsIDM1MjksIDM1MzMsIDM1NDAsIDM1NDcsIDM1NTIsIDM1NTYsIDM1NjYsIDM1NzAsIDM1NzQsIAotICAgIDM1NzksIDM1ODQsIDM1OTQsIDIxMDcsIDM1OTksIDM2MDMsIDM2MDYsIDM2MTIsIDM2MTcsIDM2MjMsIDM2MjksIDM2MzQsIAotICAgIDM2NDEsIDM2NDUsIDM2NDksIDYyMCwgNjcxLCAxMzg4LCAzNjUzLCAzNjYwLCAzNjY3LCAzNjc0LCAzNjgxLCAzNjg3LCAKLSAgICAzNjkzLCAzNjk4LCAzNzAyLCAzNzA4LCAzNzEzLCAzNzE3LCAyMTE2LCAzNzIxLCAzNzI5LCA2MDAsIDM3MzUsIDM3NDYsIAotICAgIDM3NTAsIDM3NjAsIDIxMjEsIDM3NjYsIDM3NzEsIDM3ODYsIDM3OTIsIDM3OTksIDM4MDksIDM4MTUsIDM4MjAsIDM4MjYsIAotICAgIDM4MzIsIDM4MzUsIDM4MzksIDM4NDQsIDM4NTEsIDM4NTYsIDM4NjAsIDM4NjQsIDM4NjgsIDM4NzIsIDM4NzcsIDM4ODMsIAotICAgIDM4OTQsIDMyMTEsIDM4OTksIDM5MTEsIDM5MTksIDM5MjQsIDE1NjQsIDM5MzEsIDM5MzQsIDM5MzcsIDM5NDEsIDM5NDQsIAotICAgIDM5NTAsIDM5NTQsIDM5NjgsIDM5NzIsIDM5NzUsIDM5NzksIDM5ODUsIDM5OTEsIDM5OTYsIDQwMDAsIDQwMDQsIDQwMTAsIAotICAgIDQwMjEsIDQwMjcsIDQwMzIsIDQwMzgsIDQwNDIsIDQwNTAsIDQwNjAsIDQwNjYsIDQwNzEsIDQwODAsIDQwODgsIDQwOTUsIAotICAgIDQwOTksIDQxMDUsIDQxMTQsIDQxMjMsIDQxMjcsIDQxMzIsIDQxMzcsIDQxNDEsIDQxNDksIDQxNTMsIDQxNTgsIDQxNjIsIAotICAgIDIxMjksIDE0MDEsIDQxNjgsIDQxNzMsIDQxNzksIDQxODQsIDQxODksIDQxOTQsIDQxOTksIDQyMDQsIDQyMDksIDQyMTUsIAotICAgIDQyMjAsIDQyMjYsIDQyMzEsIDQyMzYsIDQyNDEsIDQyNDcsIDQyNTIsIDQyNTcsIDQyNjIsIDQyNjcsIDQyNzMsIDQyNzgsIAotICAgIDQyODQsIDQyODksIDQyOTQsIDQyOTksIDQzMDQsIDQzMDksIDQzMTQsIDQzMjAsIDQzMjUsIDQzMzAsIDMxOSwgNDU2LCAKLSAgICA0MzM1LCA0MzQxLCA0MzQ1LCA0MzQ5LCA0MzU0LCA0MzU4LCA0MzYyLCA0MzY1LCA0MzY5LCA0MzczLCA0Mzc3LCA0MzgxLCAKLSAgICA0Mzg2LCA0MzkwLCA0Mzk0LCA0NDAwLCA0MTY1LCA0NDA1LCA0NDA5LCA0NDEyLCA0NDE3LCA0NDIyLCA0NDI3LCA0NDMyLCAKLSAgICA0NDM3LCA0NDQyLCA0NDQ3LCA0NDUyLCA0NDU3LCA0NDYyLCA0NDY2LCA0NDcxLCA0NDc2LCA0NDgxLCA0NDg2LCA0NDkxLCAKLSAgICA0NDk2LCA0NTAxLCA0NTA2LCA0NTExLCA0NTE2LCA0NTIwLCA0NTI1LCA0NTMwLCA0NTM1LCA0NTQwLCA0NTQ1LCA0NTUwLCAKLSAgICA0NTU1LCA0NTYwLCA0NTY1LCA0NTcwLCA0NTc0LCA0NTc5LCA0NTg0LCA0NTg5LCA0NTk0LCA0NTk5LCA0NjA0LCA0NjA5LCAKLSAgICA0NjE0LCA0NjE5LCA0NjI0LCA0NjI4LCA0NjMzLCA0NjM4LCA0NjQzLCA0NjQ4LCA0NjUzLCA0NjU4LCA0NjYzLCA0NjY4LCAKLSAgICA0NjczLCA0Njc4LCA0NjgyLCA0Njg3LCA0NjkyLCA0Njk3LCA0NzAyLCA0NzA3LCA0NzEyLCA0NzE3LCA0NzIyLCA0NzI3LCAKLSAgICA0NzMyLCA0NzM2LCA0NzQxLCA0NzQ2LCA0NzUxLCA0NzU2LCA0NzYxLCA0NzY2LCA0NzcxLCA0Nzc2LCA0NzgxLCA0Nzg2LCAKLSAgICA0NzkwLCA0Nzk1LCA0ODAwLCA0ODA1LCA0ODEwLCA0ODE2LCA0ODIyLCA0ODI4LCA0ODM0LCA0ODQwLCA0ODQ2LCA0ODUyLCAKLSAgICA0ODU3LCA0ODYzLCA0ODY5LCA0ODc1LCA0ODgxLCA0ODg3LCA0ODkzLCA0ODk5LCA0OTA1LCA0OTExLCA0OTE3LCA0OTIyLCAKLSAgICA0OTI4LCA0OTM0LCA0OTQwLCA0OTQ2LCA0OTUyLCA0OTU4LCA0OTY0LCA0OTcwLCA0OTc2LCA0OTgyLCA0OTg3LCA0OTkzLCAKLSAgICA0OTk5LCA1MDA1LCA1MDExLCA1MDE3LCA1MDIzLCA1MDI5LCA1MDM1LCA1MDQxLCA1MDQ3LCA1MDUyLCA1MDU4LCA1MDY0LCAKLSAgICA1MDcwLCA1MDc2LCA1MDgyLCA1MDg4LCA1MDk0LCA1MTAwLCA1MTA2LCA1MTEyLCA1MTE3LCA1MTIzLCA1MTI5LCA1MTM1LCAKLSAgICA1MTQxLCA1MTQ3LCA1MTUzLCA1MTU5LCA1MTY1LCA1MTcxLCA1MTc3LCA1MTgyLCA1MTg2LCA1MTkyLCA1MTk4LCA1MjA0LCAKLSAgICA1MjEwLCA1MjE2LCA1MjIyLCA1MjI4LCA1MjM0LCA1MjQwLCA1MjQ2LCA1MjUxLCA1MjU3LCA1MjYzLCA1MjY5LCA1Mjc1LCAKLSAgICA1MjgxLCA1Mjg3LCA1MjkzLCA1Mjk5LCA1MzA1LCA1MzExLCA1MzE2LCA1MzIyLCA1MzI4LCA1MzM0LCA1MzQwLCA1MzQ2LCAKLSAgICA1MzUyLCA1MzU4LCA1MzY0LCA1MzcwLCA1Mzc2LCA1MzgxLCA1Mzg3LCA1MzkzLCA1Mzk5LCA1NDA1LCA1NDExLCA1NDE3LCAKLSAgICA1NDIzLCA1NDI5LCA1NDM1LCA1NDQxLCA1NDQ2LCA1NDUyLCA1NDU4LCA1NDY0LCA1NDcwLCA1NDc2LCA1NDgyLCA1NDg4LCAKLSAgICA1NDk0LCA1NTAwLCA1NTA2LCA1NTExLCA1NTE3LCA1NTIzLCA1NTI5LCA1NTM1LCA1NTQxLCA1NTQ3LCA1NTUzLCA1NTU5LCAKLSAgICA1NTY1LCA1NTcxLCA1NTc2LCA1NTgyLCA1NTg4LCA1NTk0LCA1NjAwLCA1NjA2LCA1NjEyLCA1NjE4LCA1NjI0LCA1NjMwLCAKLSAgICA1NjM2LCA1NjQxLCA1NjQ3LCA1NjUzLCA1NjU5LCA1NjY1LCA1NjcxLCA1Njc3LCA1NjgzLCA1Njg5LCA1Njk1LCA1NzAxLCAKLSAgICA1NzA2LCA1NzEyLCA1NzE4LCA1NzI0LCA1NzMwLCA1NzM2LCA1NzQyLCA1NzQ4LCA1NzU0LCA1NzYwLCA1NzY2LCA1NzcxLCAKLSAgICA1Nzc3LCA1NzgzLCA1Nzg5LCA1Nzk1LCA1ODAxLCA1ODA3LCA1ODEzLCA1ODE5LCA1ODI1LCA1ODMxLCA1ODM2LCA1ODQwLCAKLSAgICA1ODQzLCA1ODUwLCA1ODU0LCA1ODY3LCA1ODcxLCA1ODc1LCA1ODc5LCA1ODgzLCA1ODg3LCA1ODkxLCA1ODk3LCA1OTA0LCAKLSAgICA1OTEyLCA1OTE2LCA1OTI0LCA1OTMzLCA1OTM5LCA1OTUxLCA1OTU2LCA1OTU5LCA1OTYzLCA1OTczLCA1OTgxLCA1OTg5LCAKLSAgICA1OTk1LCA1OTk5LCA2MDA5LCA2MDE5LCA2MDI3LCA2MDM0LCA2MDQxLCA2MDQ3LCA2MDUzLCA2MDYwLCA2MDY0LCA2MDcxLCAKLSAgICA2MDgxLCA2MDkxLCA2MDk5LCA2MTA2LCA2MTExLCA2MTE1LCA2MTIzLCA2MTI3LCA2MTMyLCA2MTM5LCA2MTQ3LCA2MTUyLCAKLSAgICA2MTU3LCA2MTYxLCA2MTY4LCA2MTczLCA2MTg3LCA2MTkyLCA2MTk3LCA2MjA0LCA2MjEzLCA2MjE2LCA2MjIwLCA2MjI0LCAKLSAgICA2MjI4LCA2MjMxLCA2MjM2LCA2MjQxLCA2MjUwLCA2MjU2LCA2MjYyLCA2MjY4LCA2MjcyLCA2MjgzLCA2MjkzLCA2MzA4LCAKLSAgICA2MzIzLCA2MzM4LCA2MzUzLCA2MzY4LCA2MzgzLCA2Mzk4LCA2NDEzLCA2NDI4LCA2NDQzLCA2NDU4LCA2NDczLCA2NDg4LCAKLSAgICA2NTAzLCA2NTE4LCA2NTMzLCA2NTQ4LCA2NTYzLCA2NTc4LCA2NTkzLCA2NjA4LCA2NjIzLCA2NjM4LCA2NjUzLCA2NjY4LCAKLSAgICA2NjgzLCA2Njk4LCA2NzEzLCA2NzI4LCA2NzQzLCA2NzU4LCA2NzczLCA2Nzg4LCA2ODAzLCA2ODE4LCA2ODMzLCA2ODQ4LCAKLSAgICA2ODYzLCA2ODc4LCA2ODkzLCA2OTA4LCA2OTIzLCA2OTM4LCA2OTUzLCA2OTY4LCA2OTgzLCA2OTk4LCA3MDEzLCA3MDI4LCAKLSAgICA3MDM3LCA3MDQ2LCA3MDUxLCA3MDU3LCA3MDY3LCA3MDcxLCA3MDc2LCA3MDgxLCA3MDg5LCA3MDkzLCA3MDk2LCA3MTAwLCAKLSAgICAyOTc1LCA3MTAzLCA3MTA4LCAyOTgsIDQyNSwgNzExNCwgNzEyMiwgNzEyNiwgNzEzMCwgNzEzMywgNzEzNywgNzE0MywgCi0gICAgNzE0NywgNzE1NSwgNzE2MSwgNzE2NiwgNzE3MywgNzE4MCwgNzE4NiwgNzE5MSwgNzE5OCwgNzIwNCwgNzIxMiwgNzIxNiwgCi0gICAgNzIyMSwgNzIzMywgNzI0NCwgNzI1MSwgNzI1NSwgNzI1OSwgNzI2NSwgMzIzMywgNzI2OSwgNzI3NSwgNzI4MCwgNzI4NSwgCi0gICAgNzI5MCwgNzI5NiwgNzMwMSwgNzMwNiwgNzMxMSwgNzMxNiwgNzMyMiwgNzMyNywgNzMzMiwgNzMzOCwgNzM0MywgNzM0OSwgCi0gICAgNzM1NCwgNzM2MCwgNzM2NSwgNzM3MSwgNzM3NiwgNzM4MSwgNzM4NiwgNzM5MSwgNzM5NiwgNzQwMiwgNzQwNywgNzQxMiwgCi0gICAgNzQxNywgNzQyMywgNzQyOSwgNzQzNSwgNzQ0MSwgNzQ0NywgNzQ1MywgNzQ1OSwgNzQ2NSwgNzQ3MSwgNzQ3NywgNzQ4MywgCi0gICAgNzQ4OSwgNzQ5NCwgNzQ5OSwgNzUwNCwgNzUwOSwgNzUxNCwgNzUxOSwgNzUyNCwgNzUyOSwgNzUzNSwgNzU0MSwgNzU0NiwgCi0gICAgNzU1MiwgNzU1OCwgNzU2NCwgNzU2OSwgNzU3NCwgNzU3OSwgNzU4NCwgNzU5MCwgNzU5NiwgNzYwMSwgNzYwNiwgNzYxMSwgCi0gICAgNzYxNiwgNzYyMSwgNzYyNywgNzYzMiwgNzYzOCwgNzY0NCwgNzY1MCwgNzY1NiwgNzY2MiwgNzY2OCwgNzY3NCwgNzY4MCwgCi0gICAgNzY4NiwgMjEzOCwgNzEzMiwgNzY5MSwgNzY5NSwgNzY5OSwgNzcwMiwgNzcwOSwgNzcxMiwgNzcyMCwgNzcyNSwgNzczMCwgCi0gICAgNzcyMSwgNzczNSwgMjE2NSwgNzczOSwgNzc0NSwgNzc1MSwgNzc1NiwgNzc2MSwgNzc2OCwgNzc3NiwgNzc4MSwgNzc4NSwgCi0gICAgNzc4OCwgNzc5MiwgNzc5OCwgNzgwNCwgNzgwOCwgMjE3MywgNTYwLCA3ODExLCA3ODE1LCA3ODIwLCA3ODI2LCA3ODMxLCAKLSAgICA3ODM1LCA3ODM4LCA3ODQyLCA3ODQ4LCA3ODUzLCA3ODU3LCA3ODY0LCA3ODY4LCA3ODcyLCA3ODc2LCA5NDUsIDc2OSwgCi0gICAgNzg3OSwgNzg4NywgNzg5NCwgNzkwMSwgNzkwNywgNzkxNCwgNzkyMiwgNzkyOSwgNzkzNiwgNzk0MSwgNzk1MywgMTI0NywgCi0gICAgMTQwOSwgMTQxNCwgNzk2NCwgMTQxOSwgNzk2OCwgNzk3MiwgNzk4MSwgNzk4OSwgNzk5OCwgODAwNCwgODAwOSwgODAxMywgCi0gICAgODAxOSwgODAyNCwgMjcwNiwgODAzMSwgODAzNSwgODA0NCwgODA1MywgODA2MiwgODA3MSwgODA3NiwgODA4MSwgODA5MywgCi0gICAgODA5OCwgODEwNiwgMjIyNCwgODExMCwgODExMiwgODExNywgODEyMSwgODEzMCwgODEzOCwgMTQyMywgMTMzLCAzNDYxLCAKLSAgICAzNDY2LCA4MTQ0LCA4MTQ4LCA4MTU3LCA4MTYzLCA4MTY4LCA4MTcxLCA4MTgwLCAyNjk4LCA4MTg2LCA4MTk0LCA4MTk4LCAKLSAgICA4MjAyLCA4MjA2LCAyMjM3LCA4MjEwLCA4MjE1LCA4MjIyLCA4MjI4LCA4MjM0LCA4MjM3LCA4MjM5LCA4MjQyLCA4MjUwLCAKLSAgICA4MjU4LCA4MjY2LCA4MjY5LCA4Mjc0LCAyMjUwLCA4Mjc5LCA3NzMyLCA4MjgyLCA4Mjg0LCA4Mjg5LCA4Mjk0LCA4Mjk5LCAKLSAgICA4MzA0LCA4MzA5LCA4MzE0LCA4MzE5LCA4MzI0LCA4MzI5LCA4MzM0LCA4MzQwLCA4MzQ1LCA4MzUwLCA4MzU1LCA4MzYxLCAKLSAgICA4MzY2LCA4MzcxLCA4Mzc2LCA4MzgxLCA4Mzg2LCA4MzkxLCA4Mzk3LCA4NDAyLCA4NDA3LCA4NDEyLCA4NDE3LCA4NDIyLCAKLSAgICA4NDI3LCA4NDMyLCA4NDM3LCA4NDQyLCA4NDQ3LCA4NDUyLCA4NDU3LCA4NDYyLCA4NDY3LCA4NDcyLCA4NDc3LCA4NDgyLCAKLSAgICA4NDg4LCA4NDk0LCA4NDk5LCA4NTA0LCA4NTA5LCA4NTE0LCA4NTE5LCAyMjYxLCAyMjY4LCAyMjc0LCA4NTI0LCA4NTMwLCAKLSAgICA4NTM4LCAyMzAwLCAyMzA2LCA4NTQ2LCA4NTUwLCA4NTU1LCA4NTU5LCA4NTYzLCA4NTY3LCA4NTcyLCA4NTc2LCA4NTgxLCAKLSAgICA4NTg1LCA4NTg4LCA4NTkxLCA4NTk3LCA4NjAzLCA4NjA5LCA4NjE1LCA4NjIxLCA4NjI3LCA4NjMzLCA4NjM3LCA4NjQxLCAKLSAgICA4NjQ1LCA4NjQ5LCA4NjUzLCA4NjU4LCA4NjY1LCA4Njc2LCA4Njg0LCA4Njk0LCA4NzAwLCA4NzA3LCA4NzEyLCA4NzE2LCAKLSAgICA4NzI3LCA4NzQwLCA4NzUxLCA4NzY0LCA4Nzc1LCA4Nzg3LCA4Nzk5LCA4ODExLCA4ODI0LCA4ODM3LCA4ODQ0LCA4ODUwLCAKLSAgICA4ODY0LCA4ODcxLCA4ODc3LCA4ODgxLCA4ODg2LCA4ODkwLCA4ODk3LCA4OTA1LCA4OTA5LCA4OTE1LCA4OTE5LCA4OTI1LCAKLSAgICA4OTM1LCA4OTM5LCA4OTQ0LCA4OTQ5LCA4OTU2LCA4OTYyLCA4OTcyLCA3OTA5LCA4OTc4LCA4OTgyLCA4OTg5LCA4OTk2LCAKLSAgICA3NjgsIDkwMDAsIDkwMDQsIDkwMDksIDkwMTQsIDkwMTksIDkwMjMsIDkwMjksIDkwMzcsIDkwNDMsIDkwNDcsIDkwNTMsIAotICAgIDkwNjMsIDkwNjcsIDkwNzMsIDkwNzgsIDkwODIsIDkwODgsIDkwOTQsIDIxNjEsIDkwOTksIDkxMDEsIDkxMDYsIDkxMTQsIAotICAgIDkxMjMsIDkxMjcsIDkxMzMsIDkxMzgsIDkxNDMsIDkxNDgsIDkxNTMsIDkxNTksIDkxNjQsIDkxNjksIDQwMDYsIDkxNzQsIAotICAgIDkxNzksIDkxODMsIDkxODksIDkxOTQsIDkyMDAsIDkyMDUsIDkyMTAsIDkyMTYsIDkyMjEsIDkxMjgsIDkyMjcsIDkyMzEsIAotICAgIDkyMzgsIDkyNDQsIDkyNDksIDkyNTMsIDYxODMsIDkyNTgsIDkyNjcsIDkyNzIsIDkyNzcsIDgyMTgsIDgyMjUsIDkyODIsIAotICAgIDI4NTMsIDkyODYsIDkyOTEsIDkyOTYsIDkxMzksIDkzMDAsIDkzMDUsIDkxNDQsIDkxNDksIDkzMTAsIDkzMTcsIDkzMjQsIAotICAgIDkzMzAsIDkzMzYsIDkzNDIsIDkzNDcsIDkzNTIsIDkzNTcsIDkxNTQsIDkxNjAsIDkzNjMsIDkzNjksIDkzNzQsIDkzODIsIAotICAgIDkxNjUsIDkzODcsIDk5MCwgOTM5MCwgOTM5OCwgOTQwNCwgOTQxMCwgOTQxOSwgOTQyNywgOTQzMiwgOTQzOCwgOTQ0NiwgCi0gICAgOTQ1MywgOTQ2OCwgOTQ4NSwgOTUwNCwgOTUxMywgOTUyMSwgOTUzNiwgOTU0NywgOTU1NywgOTU2NywgOTU3NSwgOTU4MSwgCi0gICAgOTU5MywgOTYwMiwgOTYxMCwgOTYxNywgOTYyNCwgOTYzMCwgOTYzNSwgOTY0MywgOTY1MywgOTY2MCwgOTY3MCwgOTY4MCwgCi0gICAgOTY5MCwgOTY5OCwgOTcwNSwgOTcxNCwgOTcyNCwgOTczOCwgOTc1MywgOTc2MiwgOTc3MCwgOTc3NSwgOTc3OSwgOTc4OCwgCi0gICAgOTc5NCwgOTc5OSwgOTgwOSwgOTgxOSwgOTgyOSwgOTgzNCwgOTgzOCwgOTg0NywgOTg1MiwgOTg2MiwgOTg3MywgOTg4NiwgCi0gICAgOTg5NCwgOTkwNywgOTkxOSwgOTkyNywgOTkzMiwgOTkzNiwgOTk0MiwgOTk0NywgOTk1NSwgOTk2MywgOTk3MCwgOTk3NSwgCi0gICAgOTk4MywgOTk4OSwgOTk5MiwgOTk5NiwgMTAwMDIsIDEwMDEwLCAxMDAxNSwgMTAwMTksIDEwMDI3LCAxMDAzNiwgMTAwNDQsIAotICAgIDEwMDUwLCAxMDA1NCwgMTAwNjEsIDEwMDcyLCAxMDA3NiwgMTAwNzksIDEwMDg1LCA5MTcwLCAxMDA5MCwgMTAwOTYsIAotICAgIDEwMTAzLCAxMDEwOSwgMTAxMTQsIDEwMTIxLCAxMDEyOCwgMTAxMzUsIDEwMTQyLCAxMDE0OSwgMTAxNTYsIDEwMTYzLCAKLSAgICAxMDE3MCwgMTAxNzUsIDk0ODEsIDEwMTgwLCAxMDE4NiwgMTAxOTMsIDEwMjAwLCAxMDIwNSwgMTAyMTIsIDEwMjIxLCAKLSAgICAxMDIyNSwgMTAyMzcsIDgyNTYsIDEwMjQxLCAxMDI0NCwgMTAyNDgsIDEwMjUyLCAxMDI1NiwgMTAyNjAsIDEwMjY2LCAKLSAgICAxMDI3MiwgMTAyNzcsIDEwMjgzLCAxMDI4OCwgMTAyOTMsIDEwMjk5LCAxMDMwNCwgMTAzMDksIDg5NTIsIDEwMzE0LCAKLSAgICAxMDMxOCwgMTAzMjIsIDEwMzI2LCAxMDMzMSwgMTAzMzYsIDEwMzQ0LCAxMDM1MCwgMTAzNTQsIDEwMzU4LCAxMDM2NSwgCi0gICAgMTAzNzAsIDEwMzc4LCAxMDM4MywgMTAzODcsIDEwMzkwLCAxMDM5NiwgMTA0MDMsIDEwNDA3LCAxMDQxMCwgMTA0MTUsIAotICAgIDEwNDE5LCA0MDQ1LCAxMDQyNSwgMTA0MzQsIDM2LCAxMDQ0MiwgMTA0NDgsIDEwNDUzLCA4OTY3LCAxMDQ1OCwgMTA0NjMsIAotICAgIDEwNDY3LCAxMDQ3MCwgMTA0ODUsIDEwNTA0LCAxMDUxNiwgMTA1MjksIDEwNTQyLCAxMDU1NSwgMTA1NjksIDEwNTgyLCAKLSAgICAxMDU5NywgMTA2MDQsIDkxNzUsIDEwNjEwLCAxMDYyNCwgMTA2MjksIDEwNjM1LCAxMDY0MCwgMTA2NDgsIDEwNjUzLCAKLSAgICA4MDQwLCAxMDY1OCwgMTA2NjEsIDEwNjY4LCAxMDY3MywgMTA2NzcsIDI4NTgsIDk5OCwgMTA2ODMsIDEwNjg3LCAxMDY5MywgCi0gICAgMTA2OTksIDEwNzA0LCAxMDcxMCwgMTA3MTUsIDkxODQsIDEwNzIxLCAxMDcyNywgMTA3MzIsIDEwNzM3LCAxMDc0NSwgCi0gICAgMTA3NTEsIDEwNzY0LCAxMDc3MiwgMTA3NzksIDkxOTAsIDEwNzg1LCAxMDc5MywgMTA4MDEsIDEwODA4LCAxMDgyMSwgCi0gICAgMTA4MzMsIDEwODQzLCAxMDg1MSwgMTA4NTgsIDEwODY1LCAxMDg3NCwgMTA4ODMsIDEwODkxLCAxMDg5OCwgMTA5MDMsIAotICAgIDEwOTA5LCA5MTk1LCAxMDkxNCwgMTA5MjAsIDkyMDEsIDEwOTI1LCAxMDkyOCwgMTA5MzUsIDEwOTQxLCAxMDk1NCwgODY2OSwgCi0gICAgMTA5NjUsIDEwOTcxLCAxMDk4MCwgMTA5ODgsIDEwOTk1LCAxMTAwMSwgMTEwMDcsIDExMDEyLCAxMTAxNiwgMTEwMjEsIAotICAgIDEwNDc3LCAxMTAyNywgOTIwNiwgMTEwMzQsIDExMDM5LCAxMTA0NiwgMTEwNTIsIDExMDU4LCAxMTA2MywgMTEwNzEsIAotICAgIDExMDc5LCAxMTA4NiwgMTEwOTAsIDExMTA0LCAxMTExNCwgMTExMTksIDExMTIzLCAxMTEzNCwgMTExNDAsIDExMTQ1LCAKLSAgICAxMTE1MCwgOTIxMSwgOTIxNywgMTExNTQsIDExMTU3LCAxMTE2MiwgMTExNzQsIDExMTgxLCAxMTE4NiwgMTExOTAsIAotICAgIDExMTk1LCAxMTE5OSwgMTEyMDYsIDExMjEyLCA5MjIyLCA5MTI5LCAxMTIxOSwgMjg2MywgOCwgMTEyMjYsIDExMjMxLCAKLSAgICAxMTIzNSwgMTEyNDEsIDExMjQ5LCAxMTI1OSwgMTEyNjQsIDExMjY5LCAxMTI3NiwgMTEyODMsIDExMjg3LCAxMTI5OCwgCi0gICAgMTEzMDgsIDExMzE3LCAxMTMyOSwgMTEzMzQsIDExMzM4LCAxMTM0NiwgMTEzNjAsIDExMzY0LCAxMTM2NywgMTEzNzUsIAotICAgIDExMzgyLCAxMTM5MCwgMTEzOTQsIDExNDA1LCAxMTQwOSwgMTE0MTYsIDExNDIxLCAxMTQyNSwgMTE0MzEsIDExNDM2LCAKLSAgICAxMTQ0MCwgMTE0NDYsIDExNDUxLCAxMTQ2MiwgMTE0NjYsIDExNDY5LCAxMTQ3NSwgMTE0ODAsIDExNDg2LCAxMTQ5MiwgCi0gICAgMTE0OTksIDExNTEwLCAxMTUyMCwgMTE1MzAsIDExNTM5LCAxMTU0NiwgMTE1NTUsIDkyMzIsIDkyMzksIDkyNDUsIDkyNTAsIAotICAgIDExNTYxLCAxMTU2NywgOTI1NCwgMTE1NzMsIDExNTc2LCAxMTU4MywgMTE1ODgsIDExNjAzLCAxMTYxOSwgMTE2MzQsIAotICAgIDExNjQyLCAxMTY0OCwgMTE2NTMsIDgzOCwgNDIwLCAxMTY1OCwgMTE2NjYsIDExNjczLCAxMTY3OSwgMTE2ODQsIDExNjg5LCAKLSAgICA5MjU5LCAxMTY5MSwgMTE2OTUsIDExNzAwLCAxMTcwNCwgMTE3MTQsIDExNzE5LCAxMTcyMywgMTE3MzIsIDExNzM2LCAKLSAgICAxMTczOSwgOTI2OCwgMTE3NDYsIDExNzQ5LCAxMTc1NywgMTE3NjQsIDExNzcyLCAxMTc3NiwgMTE3ODMsIDExNzkyLCAKLSAgICAxMTc5NSwgMTE3OTksIDExODAzLCAxMTgwOSwgMTE4MTMsIDExODE3LCAxMTgyMSwgMTE4MjcsIDExODM3LCAxMTg0MSwgCi0gICAgMTE4NDksIDExODUzLCAxMTg2MCwgMTE4NjQsIDExODY5LCAxMTg3MywgMTE4ODAsIDExODg2LCAxMTg5NCwgMTE5MDAsIAotICAgIDExOTA1LCAxMTkxNSwgMTE5MjAsIDExOTI1LCAxMTkyOSwgMTE5MzcsIDM5MDUsIDExOTQ1LCAxMTk1MCwgOTI3MywgCi0gICAgMTE5NTQsIDExOTU4LCAxMTk2MSwgMTE5NjksIDExOTc2LCAxMTk4MCwgNTk5MSwgMTE5ODQsIDExOTg5LCAxMTk5MywgCi0gICAgMTIwMDQsIDEyMDE0LCAxMjAxOSwgMTIwMjUsIDEyMDI5LCAxMjAzMiwgMTIwNDAsIDEyMDQ1LCAxMjA1MCwgMTIwNTcsIAotICAgIDEyMDYyLCA5Mjc4LCAxMjA2NywgMTIwNzEsIDEyMDc4LCAxNzIyLCA2MTQ1LCAxMjA4MywgMTIwODgsIDEyMDkzLCAxMjA5OCwgCi0gICAgMTIxMDQsIDEyMTA5LCAxMjExNSwgMTIxMjAsIDEyMTI1LCAxMjEzMCwgMTIxMzUsIDEyMTQwLCAxMjE0NSwgMTIxNTAsIAotICAgIDEyMTU1LCAxMjE2MCwgMTIxNjUsIDEyMTcwLCAxMjE3NSwgMTIxODAsIDEyMTg1LCAxMjE5MCwgMTIxOTUsIDEyMjAxLCAKLSAgICAxMjIwNiwgMTIyMTEsIDEyMjE2LCAxMjIyMSwgMTIyMjYsIDEyMjMyLCAxMjIzNywgMTIyNDIsIDEyMjQ4LCAxMjI1MywgCi0gICAgMTIyNTksIDEyMjY0LCAxMjI3MCwgMTIyNzUsIDEyMjgwLCAxMjI4NSwgMTIyOTAsIDEyMjk2LCAxMjMwMSwgMTIzMDYsIAotICAgIDEyMzExLCA3MzcsIDEzOSwgMTIzMTksIDEyMzIzLCAxMjMyOCwgMTIzMzMsIDEyMzM3LCAxMjM0MSwgMTIzNDUsIDEyMzUwLCAKLSAgICAxMjM1NCwgMTIzNTksIDEyMzYzLCAxMjM2NiwgMTIzNzAsIDEyMzc0LCAxMjM4MCwgMTIzODUsIDEyMzk1LCAxMjQwMSwgCi0gICAgMTI0MDksIDEyNDEzLCAxMjQxNywgMTI0MjQsIDEyNDMyLCAxMjQ0MSwgMTI0NTIsIDEyNDU5LCAxMjQ2NiwgMTI0NzAsIAotICAgIDEyNDc5LCAxMjQ4OCwgMTI0OTYsIDEyNTA1LCAxMjUxNCwgMTI1MjMsIDEyNTMyLCAxMjU0MiwgMTI1NTIsIDEyNTYyLCAKLSAgICAxMjU3MiwgMTI1ODIsIDEyNTkxLCAxMjYwMSwgMTI2MTEsIDEyNjIxLCAxMjYzMSwgMTI2NDEsIDEyNjUxLCAxMjY2MSwgCi0gICAgMTI2NzAsIDEyNjgwLCAxMjY5MCwgMTI3MDAsIDEyNzEwLCAxMjcyMCwgMTI3MzAsIDEyNzM5LCAxMjc0OSwgMTI3NTksIAotICAgIDEyNzY5LCAxMjc3OSwgMTI3ODksIDEyNzk5LCAxMjgwOSwgMTI4MTksIDEyODI5LCAxMjgzOCwgMTI4NDgsIDEyODU4LCAKLSAgICAxMjg2OCwgMTI4NzgsIDEyODg4LCAxMjg5OCwgMTI5MDgsIDEyOTE4LCAxMjkyOCwgMTI5MzgsIDEyOTQ3LCAxMjU2LCAKLSAgICAxMjk1MywgMTI5NTYsIDEyOTYwLCAxMjk2NSwgMTI5NzIsIDEyOTc4LCAxMjk4MywgMTI5ODcsIDEyOTkyLCAxMzAwMSwgCi0gICAgMTMwMDksIDEzMDE0LCAxMzAxOCwgMTMwMjIsIDEzMDI4LCAxMzAzMywgMTMwMzksIDkyODcsIDEzMDQ0LCAxMzA0OSwgCi0gICAgMTMwNTgsIDkyOTIsIDEzMDYzLCAxMzA2NiwgMTMwNzIsIDEzMDgwLCA5Mjk3LCAxMzA4NywgMTMwOTEsIDEzMDk1LCAKLSAgICAxMzA5OSwgMTMxMDksIDEzMTE1LCAxMzEyMSwgMTMxMjYsIDEzMTM1LCAxMzE0MywgMTMxNTAsIDEzMTU3LCAxMzE2MiwgCi0gICAgMTMxNjksIDEzMTc0LCAxMzE3OCwgMTMxODEsIDEzMTkyLCAxMzIwMiwgMTMyMTEsIDEzMjE5LCAxMzIzMCwgMTMyNDIsIAotICAgIDEzMjUyLCAxMzI1NywgMTMyNjEsIDEzMjY2LCAxMzI3MSwgMTMyNzUsIDEzMjgxLCAxMzI4OSwgMTMyOTYsIDEzMzA3LCAKLSAgICAxMzMxMiwgMTMzMjIsIDEzMzI2LCAxMzMyOSwgMTMzMzYsIDEzMzQ2LCAxMzM1NSwgMTMzNjIsIDEzMzY2LCAxMzM3MywgCi0gICAgMTMzNzksIDEzMzg0LCAxMzM4OSwgMTMzOTMsIDEzNDAyLCAxMzQwNywgMTM0MTMsIDEzNDE3LCAxMzQyMiwgMTM0MjYsIAotICAgIDEzNDM1LCAxMzQ0MywgMTM0NTEsIDEzNDU4LCAxMzQ2NiwgMTM0NzgsIDEzNDg5LCAxMzQ5OSwgMTM1MDYsIDEzNTEyLCAKLSAgICAxMzUyMSwgMTM1MzIsIDEzNTQxLCAxMzU1MywgMTM1NjUsIDEzNTc3LCAxMzU4NywgMTM1OTYsIDEzNjA1LCAxMzYxMywgCi0gICAgMTM2MjAsIDEzNjI5LCAxMzYzNywgMTM2NDEsIDEzNjQ3LCAxMzY1MywgMTM2NTgsIDc3NTMsIDEzNjYyLCAxMzY2NCwgCi0gICAgMTM2NjgsIDEzNjczLCAxMzY3OSwgMTM2ODgsIDEzNjkyLCAxMzY5OCwgMTM3MDYsIDEzNzEzLCAxMzcyMiwgMTM3MzEsIAotICAgIDEzNzQwLCAxMzc0OSwgMTM3NTgsIDEzNzY3LCAxMzc3NiwgMTM3ODUsIDEzNzk1LCAxMzgwNSwgMTM4MTQsIDEzODIwLCAKLSAgICAxMzgyNywgMTM4MzQsIDEzODQwLCAxMzg1NCwgMTM4NjEsIDEzODY5LCAxMzg3OCwgMTM4ODQsIDEzODkzLCAxMzkwMiwgCi0gICAgMTM5MTMsIDEzOTIzLCAxMzkzMSwgMTM5MzgsIDEzOTQ2LCAxMzk1NSwgMTM5NjgsIDEzOTc2LCAxMzk4MywgMTM5OTYsIAotICAgIDE0MDAyLCAxNDAwOCwgMTQwMTgsIDE0MDI3LCAxNDAzNiwgMTQwNDEsIDE0MDQ1LCAxNDA1MSwgMTQwNTcsIDE0MDY0LCAKLSAgICA4OTY2LCAxNDA2OSwgMTQwNzQsIDE0MDgxLCAxNDA4NiwgMTIzNzYsIDE0MDkxLCAxNDA5OSwgMTQxMDUsIDE0MTEwLCAKLSAgICAxNDExOCwgMTQxMjYsIDE0MTMzLCAxNDE0MSwgMTQxNDcsIDE0MTU1LCAxNDE2MywgMTQxNjksIDE0MTc0LCAxNDE4MCwgCi0gICAgMTQxODcsIDE0MTkzLCAxNDE5OCwgMTQyMDIsIDE0MjEzLCAxNDIyMSwgMTQyMjcsIDE0MjMyLCAxNDI0MSwgMTQyNDcsIAotICAgIDE0MjUyLCAxNDI2MSwgMTQyNzUsIDM4NTMsIDE0Mjc5LCAxNDI4NCwgMTQyODksIDE0Mjk1LCAxNDMwMCwgMTQzMDUsIAotICAgIDE0MzA5LCAxNDMxNCwgMTQzMTksIDE0MzI0LCA3NzUyLCAxNDMyOSwgMTQzMzQsIDE0MzM5LCAxNDM0NCwgMTQzNDksIAotICAgIDE0MzUzLCAxNDM1OCwgMTQzNjMsIDE0MzY4LCAxNDM3MywgMTQzNzksIDE0Mzg1LCAxNDM5MCwgMTQzOTQsIDE0Mzk5LCAKLSAgICAxNDQwNCwgMTQ0MDksIDkzMDEsIDE0NDE0LCAxNDQxOSwgMTQ0MjQsIDE0NDI5LCAxNDQzNCwgMTQ0NTEsIDE0NDY5LCAKLSAgICAxNDQ4MSwgMTQ0OTQsIDE0NTExLCAxNDUyNywgMTQ1NDQsIDE0NTU0LCAxNDU3MywgMTQ1ODQsIDE0NTk1LCAxNDYwNiwgCi0gICAgMTQ2MTcsIDE0NjI5LCAxNDY0MCwgMTQ2NTEsIDE0NjY4LCAxNDY3OSwgMTQ2OTAsIDE0Njk1LCA5MzA2LCAxNDcwMCwgCi0gICAgMTQ3MDQsIDIzODEsIDE0NzA4LCAxNDcxMSwgMTQ3MTcsIDE0NzI1LCAxNDczMywgMTQ3MzgsIDE0NzQ2LCAxNDc1NCwgCi0gICAgMTQ3NjEsIDE0NzY2LCAxNDc3MiwgMTQ3NzksIDE0Nzg3LCAxNDc5NCwgMTQ4MDYsIDE0ODE0LCAxNDgxOSwgMTE1OTcsIAotICAgIDE0ODI1LCAxNDgzNCwgMTQ4NDMsIDE0ODUxLCAxNDg1OCwgMTQ4NjQsIDE0ODcyLCAxNDg3OSwgMTQ4ODUsIDE0ODkyLCAKLSAgICAxNDg5OCwgMTQ5MDcsIDE0OTE1LCAxNDkyNSwgMTQ5MzIsIDE0OTM4LCAxNDk0NiwgMTQ5NTIsIDE0OTYwLCAxNDk2NywgCi0gICAgMTQ5ODAsIDE0OTg3LCAxNDk5NiwgMTUwMDUsIDE1MDE0LCAxNTAyMiwgMTUwMzIsIDE1MDM5LCAxNTA0NCwgMzU2MCwgCi0gICAgMTUwNTEsIDE1MDU2LCAxMzcyLCAxNTA2MCwgMTQzMzAsIDE1MDY0LCAxNTA3MCwgMTUwNzQsIDE1MDgyLCAxNTA5NCwgCi0gICAgMTUwOTksIDE1MTA2LCAxNTExMiwgMTUxMTcsIDE1MTI0LCAxNDMzNSwgMTUxMjgsIDE1MTMyLCAxNTEzNiwgMTQzNDAsIAotICAgIDE1MTQwLCAxNDM0NSwgMTUxNDQsIDE1MTUxLCAxNTE1NiwgMTUxNjAsIDE1MTY3LCAxNTE3MSwgMTUxNzksIDE1MTg2LCAKLSAgICAxNTE5MCwgMTUxOTcsIDE1MjE0LCAxNTIyMywgMTUyMjcsIDE1MjMwLCAxNTIzOCwgMTUyNDQsIDE1MjQ5LCAzNjM4LCAKLSAgICAxNTI1MywgMTUyNTUsIDE1MjYzLCAxNTI3MCwgMTUyODAsIDE1MjkyLCAxNTI5NywgMTUzMDMsIDE1MzA4LCAxNTMxMiwgCi0gICAgMTUzMTgsIDE1MzIzLCAxNTMyOSwgMTUzMzIsIDE1MzM5LCAxNTM0NywgMTUzNTQsIDE1MzYwLCAxNTM2NiwgMTUzNzEsIAotICAgIDE1Mzc4LCAxNTM4NCwgMTUzODksIDE1Mzk2LCAxNTQwMCwgMTU0MDYsIDE1NDEwLCAxNTQxNywgMTU0MjMsIDE1NDI5LCAKLSAgICAxNTQzNywgMTU0NDMsIDE1NDQ4LCAxNTQ1NCwgMTU0NjIsIDE1NDcwLCAxNTQ3NiwgMTU0ODIsIDE1NDg3LCAxNTQ5NCwgCi0gICAgMTU0OTksIDE1NTAzLCAxNTUwOSwgMTU1MTQsIDE1NTIxLCAxNTUyNiwgMTU1MzIsIDE1NTM1LCAxNTU0MSwgMTU1NDcsIAotICAgIDE1NTUwLCAxNTU1NCwgMTU1NjYsIDE1NTcyLCAxNTU3NywgMTU1ODQsIDE1NTkwLCAxNTU5NiwgMTU2MDcsIDE1NjE3LCAKLSAgICAxNTYyNiwgMTU2MzQsIDE1NjQxLCAxNTY1MiwgMTU2NjIsIDE1NjcyLCAxNTY4MCwgMTU2ODMsIDE0MzU5LCAxNTY4OCwgCi0gICAgMTU2OTMsIDE0MzY0LCAxNDQ5OSwgMTU3MDEsIDE1NzE0LCAxNTcyOSwgMTU3NDAsIDE0NTE2LCAxNTc1OCwgMTU3NzEsIAotICAgIDE1Nzg0LCAxNTc5NSwgMTA0OTIsIDE1ODA2LCAxNTgxOSwgMTU4MzgsIDE1ODQ5LCAxNTg2MCwgMTU4NzEsIDI2NDksIAotICAgIDE1ODg0LCAxNTg4OCwgMTU4OTYsIDE1OTExLCAxNTkyNiwgMTU5MzcsIDE1OTQ0LCAxNTk1MCwgMTU5NTgsIDE1OTYyLCAKLSAgICAxNTk2OCwgMTU5NzEsIDE1OTgxLCAxNTk4OSwgMTU5OTYsIDE2MDA0LCAxNjAxNCwgMTYwMTksIDE2MDI2LCAxNjAzMSwgCi0gICAgMTYwMzgsIDE2MDQ5LCAxNjA1OSwgMTYwNjUsIDE2MDcwLCAxNjA3NSwgMTQzNjksIDE2MDc5LCAxNjA4NSwgMTYwOTEsIAotICAgIDE2MDk2LCAxNjEwMSwgMTYxMDYsIDE2MTEwLCAxNDM3NCwgMTQzODAsIDE2MTE0LCAxNDM4NiwgMTYxMTksIDE2MTI3LCAKLSAgICAxNjEzNiwgMTYxNDMsIDkxNTAsIDE2MTQ3LCAxNjE0OSwgMTYxNTQsIDE2MTU5LCAxNjE2NSwgMTYxNzAsIDE2MTc1LCAKLSAgICAxNjE4MCwgMTYxODUsIDE2MTg5LCAxNjE5NSwgMTYyMDEsIDE2MjA2LCAxNjIxMiwgMTYyMTcsIDE2MjIyLCAxNjIyOCwgCi0gICAgMTYyMzMsIDE2MjM4LCAxNjI0MywgMTYyNDgsIDE2MjU0LCAxNjI1OSwgMTYyNjQsIDE2MjcwLCAxNjI3NiwgMTYyODEsIAotICAgIDE2Mjg2LCAxNjI5MywgMTYyOTksIDE2MzEwLCAxNjMxNywgMTYzMjIsIDE2MzI2LCAxNjMzMCwgMTYzMzMsIDE2MzQxLCAKLSAgICAxNjM0NiwgMTYzNTMsIDE2MzYwLCAxNjM2NiwgMTYzNzEsIDE2Mzc2LCAxNjM4MywgMTYzOTMsIDE2Mzk4LCAxNjQwNSwgCi0gICAgMTY0MTEsIDE2NDIxLCAxNjQzMSwgMTY0NDUsIDE2NDU5LCAxNjQ3MywgMTY0ODcsIDE2NTAyLCAxNjUxNywgMTY1MzQsIAotICAgIDE2NTUyLCAxNjU2NSwgMTY1NzEsIDE2NTc2LCAxNjU4MSwgMTY1ODUsIDE2NTkwLCAxNjU5OCwgMTY2MDQsIDE2NjA5LCAKLSAgICAxNjYxNCwgMTY2MTgsIDE2NjIzLCAxNjYyNywgMTY2MzIsIDE2NjM2LCAxNjY0NywgMTY2NTMsIDE2NjU4LCAxNjY2MywgCi0gICAgMTY2NzAsIDE2Njc1LCAxNjY3OSwgMTY2ODQsIDE2Njg5LCAxNjY5NSwgMTY3MDIsIDE2NzA4LCAxNjcxMywgMTY3MTcsIAotICAgIDE2NzIzLCAxNjcyOCwgMTY3MzMsIDE2NzM3LCAxNjc0MywgMTY3NDgsIDE2NzUzLCAxNjc2MCwgMTY3NjUsIDEzMTExLCAKLSAgICAxNjc2OSwgMTY3NzQsIDE2Nzc4LCAxNjc4MywgMTY3ODksIDE2Nzk1LCAxNjgwMiwgMTY4MTIsIDE2ODIwLCAxNjgyNywgCi0gICAgMTY4MzIsIDE2ODM2LCAxNjg0NSwgMTY4NTMsIDE2ODYwLCAxNjg2NywgMTY4NzMsIDE2ODc5LCAxNjg4NCwgMTY4ODksIAotICAgIDE2ODk1LCAxNjkwMCwgMTY5MDYsIDE2OTExLCAxNjkxNywgMTY5MjMsIDE2OTMwLCAxNjkzNiwgMTY5NDEsIDE2OTQ2LCAKLSAgICA5MzQ4LCAxNjk1NSwgMTY5NTgsIDE2OTY0LCAxNjk2OSwgMTY5NzQsIDE2OTg0LCAxNjk5MSwgMTY5OTcsIDE3MDAyLCAKLSAgICAxNzAwNywgMTcwMTMsIDE3MDE4LCAxNzAyNCwgMTcwMjksIDE3MDM1LCAxNzA0MSwgMTcwNDYsIDE3MDU0LCAxNzA2MSwgCi0gICAgMTcwNjYsIDE3MDcxLCAxNzA3NywgMTcwODIsIDE3MDg2LCAxNzA5NSwgMTcxMDYsIDE3MTEzLCAxNzExOCwgMTcxMjYsIAotICAgIDE3MTMyLCAxNzEzOSwgMTcxNDUsIDE3MTUwLCAxNzE1NCwgMTcxNjAsIDE3MTY1LCAxNzE3MCwgMTcxNzUsIDE0NDAsIAotICAgIDc3NzcsIDI4NzcsIDE3MTc5LCAxNzE4MywgMTcxODcsIDE3MTkxLCAxNzE5NSwgMTcxOTksIDE3MjAyLCAxNzIwOSwgCi0gICAgMTcyMTcsIDE0NDAwLCAxNzIyNCwgMTcyMzQsIDE3MjQyLCAxNzI0OSwgMTcyNTcsIDE3MjY3LCAxNzI3NiwgMTcyODksIAotICAgIDE3Mjk0LCAxNzI5OSwgMTczMDcsIDE3MzE0LCAxMzIwNywgMTMyMTYsIDE3MzIxLCAxNzMzMSwgMTczNDYsIDE3MzUyLCAKLSAgICAxNzM1OSwgMTczNjYsIDE3MzcyLCAxNzM4MCwgMTczOTAsIDE3NDAwLCAxNDQwNSwgMTc0MDksIDE3NDE1LCAxNzQyMSwgCi0gICAgMTc0MjksIDE3NDM3LCAxNzQ0MiwgMTc0NTEsIDE3NDU5LCAxNzQ3MSwgMTc0ODEsIDE3NDkxLCAxNzUwMSwgMTc1MTAsIAotICAgIDE3NTIyLCAxNzUzMiwgMTc1NDIsIDE3NTUzLCAxNzU1OCwgMTc1NzAsIDE3NTgyLCAxNzU5NCwgMTc2MDYsIDE3NjE4LCAKLSAgICAxNzYzMCwgMTc2NDIsIDE3NjU0LCAxNzY2NiwgMTc2NzgsIDE3Njg5LCAxNzcwMSwgMTc3MTMsIDE3NzI1LCAxNzczNywgCi0gICAgMTc3NDksIDE3NzYxLCAxNzc3MywgMTc3ODUsIDE3Nzk3LCAxNzgwOSwgMTc4MjAsIDE3ODMyLCAxNzg0NCwgMTc4NTYsIAotICAgIDE3ODY4LCAxNzg4MCwgMTc4OTIsIDE3OTA0LCAxNzkxNiwgMTc5MjgsIDE3OTQwLCAxNzk1MSwgMTc5NjMsIDE3OTc1LCAKLSAgICAxNzk4NywgMTc5OTksIDE4MDExLCAxODAyMywgMTgwMzUsIDE4MDQ3LCAxODA1OSwgMTgwNzEsIDE4MDgyLCAxODA5NCwgCi0gICAgMTgxMDYsIDE4MTE4LCAxODEzMCwgMTgxNDIsIDE4MTU0LCAxODE2NiwgMTgxNzgsIDE4MTkwLCAxODIwMiwgMTgyMTMsIAotICAgIDE4MjI1LCAxODIzNywgMTgyNDksIDE4MjYxLCAxODI3MywgMTgyODUsIDE4Mjk3LCAxODMwOSwgMTgzMjEsIDE4MzMzLCAKLSAgICAxODM0NCwgMTgzNTYsIDE4MzY4LCAxODM4MCwgMTgzOTIsIDE4NDA0LCAxODQxNiwgMTg0MjgsIDE4NDQwLCAxODQ1MiwgCi0gICAgMTg0NjQsIDE4NDc1LCAxODQ4NywgMTg0OTksIDE4NTExLCAxODUyMywgMTg1MzYsIDE4NTQ5LCAxODU2MiwgMTg1NzUsIAotICAgIDE4NTg4LCAxODYwMSwgMTg2MTQsIDE4NjI2LCAxODYzOSwgMTg2NTIsIDE4NjY1LCAxODY3OCwgMTg2OTEsIDE4NzA0LCAKLSAgICAxODcxNywgMTg3MzAsIDE4NzQzLCAxODc1NiwgMTg3NjgsIDE4NzgxLCAxODc5NCwgMTg4MDcsIDE4ODIwLCAxODgzMywgCi0gICAgMTg4NDYsIDE4ODU5LCAxODg3MiwgMTg4ODUsIDE4ODk4LCAxODkxMCwgMTg5MjMsIDE4OTM2LCAxODk0OSwgMTg5NjIsIAotICAgIDE4OTc1LCAxODk4OCwgMTkwMDEsIDE5MDE0LCAxOTAyNywgMTkwNDAsIDE5MDUyLCAxOTA2NSwgMTkwNzgsIDE5MDkxLCAKLSAgICAxOTEwNCwgMTkxMTcsIDE5MTMwLCAxOTE0MywgMTkxNTYsIDE5MTY5LCAxOTE4MiwgMTkxOTQsIDE5MjA3LCAxOTIyMCwgCi0gICAgMTkyMzMsIDE5MjQ2LCAxOTI1OSwgMTkyNzIsIDE5Mjg1LCAxOTI5OCwgMTkzMTEsIDE5MzI0LCAxOTMzNiwgMTkzNDcsIAotICAgIDE5MzYwLCAxOTM3MywgMTkzODYsIDE5Mzk5LCAxOTQxMiwgMTk0MjUsIDE5NDM4LCAxOTQ1MSwgMTk0NjQsIDE5NDc3LCAKLSAgICAxOTQ4OSwgMTk1MDIsIDE5NTE1LCAxOTUyOCwgMTk1NDEsIDE5NTU0LCAxOTU2NywgMTk1ODAsIDE5NTkzLCAxOTYwNiwgCi0gICAgMTk2MTksIDE5NjMxLCAxOTY0NCwgMTk2NTcsIDE5NjcwLCAxOTY4MywgMTk2OTYsIDE5NzA5LCAxOTcyMiwgMTk3MzUsIAotICAgIDE5NzQ4LCAxOTc2MSwgMTk3NzMsIDE5Nzg2LCAxOTc5OSwgMTk4MTIsIDE5ODI1LCAxOTgzOCwgMTk4NTEsIDE5ODY0LCAKLSAgICAxOTg3NywgMTk4OTAsIDE5OTAzLCAxOTkxNSwgMTk5MjgsIDE5OTQxLCAxOTk1NCwgMTk5NjcsIDE5OTgwLCAxOTk5MywgCi0gICAgMjAwMDYsIDIwMDE5LCAyMDAzMiwgMjAwNDUsIDIwMDU3LCAyMDA3MCwgMjAwODMsIDIwMDk2LCAyMDEwOSwgMjAxMjIsIAotICAgIDIwMTM1LCAyMDE0OCwgMjAxNjEsIDIwMTc0LCAyMDE4NywgMjAxOTksIDIwMjEyLCAyMDIyNSwgMjAyMzgsIDIwMjUxLCAKLSAgICAyMDI2NCwgMjAyNzcsIDIwMjkwLCAyMDMwMywgMjAzMTYsIDIwMzI5LCAyMDM0MSwgMjAzNTQsIDIwMzY3LCAyMDM4MCwgCi0gICAgMjAzOTMsIDIwNDA2LCAyMDQxOSwgMjA0MzIsIDIwNDQ1LCAyMDQ1OCwgMjA0NzEsIDIwNDgzLCAyMDQ5NiwgMjA1MDksIAotICAgIDIwNTIyLCAyMDUzNSwgMjA1NDgsIDIwNTYxLCAyMDU3NCwgMjA1ODcsIDIwNjAwLCAyMDYxMywgMjA2MjUsIDIwNjM4LCAKLSAgICAyMDY1MSwgMjA2NjQsIDIwNjc3LCAyMDY5MCwgMjA3MDMsIDIwNzE2LCAyMDcyOSwgMjA3NDIsIDIwNzU1LCAyMDc2NywgCi0gICAgMjA3NzgsIDIwNzg2LCAyMDc5NCwgMjA4MDEsIDIwODA3LCAyMDgxMSwgMjA4MTcsIDIwODIzLCAyMDgzMSwgMjA4MzcsIAotICAgIDIwODQyLCAyMDg0NiwgMjA4NTUsIDkxNTUsIDIwODY2LCAyMDg3MywgMjA4ODEsIDIwODg4LCAyMDg5NSwgMTA5NDgsIAotICAgIDIwOTAyLCAyMDkxMSwgMjA5MTYsIDIwOTIxLCA3ODA1LCAyMDkyOCwgMjA5MzMsIDIwOTM2LCAyMDk0MSwgMjA5NDksIAotICAgIDIwOTU2LCAyMDk2MywgMjA5NzAsIDIwOTc2LCAyMDk4NSwgMjA5OTQsIDIxMDAwLCAyMTAwOSwgMjEwMTMsIDIxMDE5LCAKLSAgICAyMTAyNCwgMjEwMzQsIDIxMDQxLCAyMTA0NywgMjEwNTUsIDIxMDYxLCAyMTA2OCwgMjEwNzgsIDIxMDg3LCAyMTA5MSwgCi0gICAgMjEwOTgsIDIxMTAyLCAyMTEwNywgMjExMTMsIDIxMTIxLCAyMTEyNSwgMjExMzUsIDE0NDE1LCAyMTE0NCwgMjExNTAsIAotICAgIDIxMTU0LCAyMTE2MywgMTQ0MjAsIDIxMTY5LCAyMTE3NiwgMjExODcsIDIxMTk1LCAyMTIwNCwgMjEyMTIsIDg5MzEsIAotICAgIDIxMjIwLCAyMTIyNSwgMjEyMzEsIDIxMjM2LCAyMTI0MCwgMjEyNDQsIDIxMjQ4LCA5NjM5LCAyMTI1MywgMjEyNjEsIAotICAgIDIxMjY4LCAyMTI3NywgMjEyODQsIDIxMjkxLCAxMDg3OCwgMjEyOTgsIDIxMzA0LCAyMTMwOCwgMjEzMTQsIDIxMzIxLCAKLSAgICAyMTMyNywgMjEzMzUsIDIxMzQxLCAyMTM0OCwgMjEzNTQsIDIxMzYwLCAyMTM2OSwgMjEzNzMsIDIxMzgxLCAyMTM5MCwgCi0gICAgMjEzOTcsIDIxNDAyLCAyMTQwNiwgMjE0MTcsIDIxNDIyLCAyMTQyNywgMjE0MzIsIDIxNDQ1LCA3OTk1LCAyMTQ0OSwgCi0gICAgMjE0NTUsIDIxNDYzLCAyMTQ2NywgMjE0NzQsIDIxNDgzLCAyMTQ4OCwgMTQ2OTEsIDIxNDk2LCAyMTUwMCwgMjE1MTIsIAotICAgIDIxNTE3LCAyMTUyMSwgMjE1MjQsIDIxNTMwLCAyMTUzNiwgMjE1NDEsIDIxNTQ1LCAyMTU0OCwgMjE1NTksIDIxNTY0LCAKLSAgICA5MzgzLCAyMTU3MSwgMjE1NzYsIDkzODgsIDIxNTgxLCAyMTU4NiwgMjE1OTEsIDIxNTk2LCAyMTYwMSwgMjE2MDYsIAotICAgIDIxNjExLCAyMTYxNiwgMjE2MjEsIDIxNjI2LCAyMTYzMSwgMjE2MzYsIDIxNjQyLCAyMTY0NywgMjE2NTIsIDIxNjU3LCAKLSAgICAyMTY2MiwgMjE2NjcsIDIxNjcyLCAyMTY3NywgMjE2ODIsIDIxNjg3LCAyMTY5MywgMjE2OTksIDIxNzA0LCAyMTcwOSwgCi0gICAgMjE3MTQsIDIxNzE5LCAyMTcyNCwgMjE3MjksIDIxNzM0LCAyMTczOSwgMjE3NDQsIDIxNzUwLCAyMTc1NSwgMjE3NjAsIAotICAgIDIxNzY1LCAyMTc3MSwgMjE3NzcsIDIxNzgyLCAyMTc4NywgMjE3OTIsIDIxNzk3LCAyMTgwMiwgMjE4MDcsIDIxODEyLCAKLSAgICAyMTgxNywgMjE4MjMsIDIxODI4LCAyMTgzMywgMjE4MzgsIDIxODQzLCAyMTg0OSwgMjE4NTQsIDIxODU5LCAyMTg2MywgCi0gICAgMTM2OCwgMTI5LCAyMTg3MSwgMjE4NzUsIDIxODc5LCAyMTg4MywgMjE4ODgsIDIxODkyLCAxMzExNywgMTI0NzYsIDIxODk2LCAKLSAgICAyMTkwMSwgMjE5MDUsIDIxOTEwLCAyMTkxNCwgMjE5MTksIDIxOTIzLCAyMTkyOSwgMjE5MzQsIDIxOTM4LCAyMTk0MiwgCi0gICAgMjE5NTAsIDIxOTU0LCAyMTk1OCwgMjE5NjMsIDIxOTY4LCAyMTk3MiwgMjE5NzgsIDIxOTgzLCAyMTk4NywgMjE5OTIsIAotICAgIDIxOTk3LCAyMjAwMSwgMjIwMDgsIDIyMDE1LCAyMjAyMiwgMjIwMjYsIDIyMDMwLCAyMjAzNSwgMjIwMzksIDIyMDQyLCAKLSAgICAyMjA0OCwgMjIwNjEsIDIyMDY2LCAyMjA3NSwgMjIwODAsIDk0MjgsIDIyMDg1LCAyMjA4OCwgMjcxMiwgMjcxNywgMjIwOTIsIAotICAgIDIyMDk4LCAyMjEwNCwgNzIwOSwgMjIxMDksIDIyMTE0LCAyMjExOSwgMjIxMjUsIDIyMTMwLCAxMzkwOSwgMjIxMzUsIAotICAgIDIyMTQwLCAyMjE0NSwgMjIxNTAsIDIyMTU2LCAyMjE2MSwgMjIxNjYsIDIyMTcyLCAyMjE3NywgMjIxODEsIDIyMTg2LCAKLSAgICAyMjE5MSwgMjIxOTYsIDIyMjAxLCAyMjIwNSwgMjIyMTAsIDIyMjE0LCAyMjIxOSwgMjIyMjQsIDIyMjI5LCAyMjIzNCwgCi0gICAgMjIyMzgsIDIyMjQzLCAyMjI0NywgMjIyNTIsIDIyMjU3LCAyMjI2MiwgMjIyNjcsIDI4ODYsIDIyMTgyLCAyMjI3MSwgCi0gICAgMjIyNzksIDIyMjg2LCA5NzMzLCAyMjI5OCwgMjIzMDYsIDIyMTg3LCAyMjMxMywgMjIzMTgsIDIyMzI2LCAyMjE5MiwgCi0gICAgMjIzMzEsIDIyMzM2LCAyMjM0NCwgMjIzNDksIDIyMTk3LCAyMjM1NCwgMjIzNTksIDIyMzYzLCAyMjM2OSwgMjIzNzcsIAotICAgIDIyMzgwLCAyMjM4NywgMjIzOTEsIDIyMzk1LCAyMjQwMSwgMjI0MDgsIDIyNDEzLCA4OTU4LCAxNzI3LCAxNzMyLCAyMjQxNywgCi0gICAgMjI0MjMsIDIyNDI5LCAyMjQzNCwgMjI0MzgsIDIyNDQyLCAyMjQ0NiwgMjI0NTAsIDIyNDU0LCAyMjQ1OCwgMjI0NjIsIAotICAgIDIyNDY2LCAyMjQ2OSwgMjI0NzUsIDIyNDgyLCAyMjQ5MCwgMjI0OTYsIDIyNTAyLCAyMjUwNywgMjI1MTIsIDIyNTE2LCAKLSAgICAxMzgyOSwgMTM4MzYsIDIyNTIxLCAyMjUzMywgMjI1MzYsIDIyNTQzLCAxNjM2MiwgMjI1NTAsIDIyNTU4LCAyMjU2OSwgCi0gICAgMjI1NzgsIDIyNTkxLCAyMjYwMSwgMjI2MTUsIDIyNjI3LCAyMjY0MSwgMjI2NTMsIDIyNjYzLCAyMjY3NSwgMjI2ODEsIAotICAgIDIyNjk2LCAyMjcyMCwgMjI3MzgsIDIyNzU3LCAyMjc3MCwgMjI3ODQsIDIyODAyLCAyMjgxOCwgMjI4MzUsIDIyODUzLCAKLSAgICAyMjg2NCwgMjI4ODMsIDIyOTAwLCAyMjkyMCwgMjI5MzgsIDIyOTUwLCAyMjk2NCwgMjI5NzgsIDIyOTkwLCAyMzAwNywgCi0gICAgMjMwMjYsIDIzMDQ0LCAyMzA1NiwgMjMwNzQsIDIzMDkzLCAxNDU1OSwgMjMxMDYsIDIzMTI2LCAyMzEzOCwgMTA1MjMsIAotICAgIDIzMTUwLCAyMzE1NSwgMjMxNjAsIDIzMTY1LCAyMzE3MSwgMjMxNzYsIDIzMTgwLCAyMzE4NywgMjM5OCwgMjMxOTEsIAotICAgIDIzMTk3LCAyMzIwMSwgMjMyMDQsIDIzMjA4LCAyMzIxNiwgMjMyMjIsIDIyMjE1LCAyMzIyNiwgMjMyMzUsIDIzMjQ2LCAKLSAgICAyMzI1MiwgMjMyNTgsIDIzMjY3LCAyMzI3NSwgMjMyODIsIDIzMjg3LCAyMzI5MSwgMjMyOTgsIDIzMzA0LCAyMzMxMywgCi0gICAgMjMzMjEsIDIzMzI4LCAyMzMzOCwgMjMzNDcsIDIzMzU3LCAyMzM2MiwgMjMzNzEsIDIzMzgwLCAyMzM5MSwgMjM0MDIsIAotICAgIDM5NjMsIDIzNDEyLCAyMzQxNiwgMjM0MjYsIDIzNDM0LCAyMzQ0NCwgMjM0NTUsIDIzNDYwLCAyMzQ3MCwgMjM0NzgsIAotICAgIDIzNDg1LCAyMzQ5MSwgMjM0OTgsIDIzNTAzLCAyMjIyNSwgMjM1MDcsIDIzNTE2LCAyMzUyMCwgMjM1MjMsIDIzNTI4LCAKLSAgICAyMzUzNSwgMjM1NDQsIDIzNTUyLCAyMzU2MCwgMjM1NzAsIDIzNTc5LCAyMzU4NSwgMjM1OTEsIDIyMjMwLCAyMjIzNSwgCi0gICAgMjM1OTUsIDIzNjA1LCAyMzYxNSwgMjM2MjUsIDIzNjMzLCAyMzY0MCwgMjM2NTAsIDIzNjU4LCAyMzY2NiwgMjM2NzIsIAotICAgIDIzNjgwLCA5MzAsIDIzNjg5LCAxNDc1MCwgNTQyLCAyMzcwMywgMjM3MTIsIDIzNzIwLCAyMzczMSwgMjM3NDIsIDIzNzUyLCAKLSAgICAyMzc2MSwgMjM3NzMsIDIzNzgyLCAyMzc5MSwgMjM3OTcsIDIzODA2LCAyMzgxNSwgMjM4MjUsIDIzODMzLCAyMzg0MSwgCi0gICAgOTM2MCwgMjM4NDcsIDIzODUwLCAyMzg1NCwgMjM4NTksIDIzODY0LCA5ODQ4LCAyMjI0OCwgMjIyNTMsIDIzODcyLCAKLSAgICAyMzg3OCwgMjM4ODQsIDIzODg5LCAyMzg5NCwgMjM4OTgsIDIzOTA2LCAyMzkxMiwgMjM5MTgsIDIzOTIyLCAzNTI1LCAKLSAgICAyMzkzMCwgMjM5MzUsIDIzOTQwLCAyMzk0NCwgMjM5NDgsIDk5MjgsIDIzOTU1LCAyMzk2MywgMjM5NzcsIDIzOTg0LCAKLSAgICAyMzk5MCwgOTkzNywgOTk0MywgMjM5OTgsIDI0MDA2LCAyNDAxMywgMjQwMTgsIDI0MDIzLCAyMjI1OCwgMjQwMjksIAotICAgIDI0MDQwLCAyNDA0NCwgMjQwNDksIDI2MDEsIDI0MDU0LCAyNDA2NSwgMjQwNzEsIDI0MDc2LCAyNDA4MCwgMjQwODQsIAotICAgIDI0MDg3LCAyNDA5NCwgMjQxMDEsIDI0MTA4LCAyNDExNCwgMjQxMTgsIDIyMjYzLCAyNDEyMywgMjQxMjcsIDI0MTMxLCAKLSAgICAxMDM3LCAyNDEzNiwgMjQxNDEsIDI0MTQ2LCAyNDE1MSwgMjQxNTYsIDI0MTYxLCAyNDE2NiwgMjQxNzEsIDI0MTc2LCAKLSAgICAyNDE4MSwgMjQxODYsIDI0MTkxLCAyNDE5NiwgMjQyMDEsIDI0MjA3LCAyNDIxMiwgMjQyMTcsIDI0MjIyLCAyNDIyNywgCi0gICAgMjQyMzIsIDI0MjM3LCAyNDI0MywgMjQyNDgsIDI0MjUzLCAyNDI1OCwgMjQyNjMsIDI0MjY4LCAyNDI3MywgMjQyNzgsIAotICAgIDI0Mjg0LCAyNDI5MCwgMjQyOTUsIDI0MzAxLCAyNDMwNiwgMjQzMTEsIDUsIDI0MzE3LCAyNDMyMSwgMjQzMjUsIDI0MzI5LCAKLSAgICAyNDMzNCwgMjQzMzgsIDI0MzQyLCAyNDM0NiwgMjQzNTAsIDI0MzU1LCAyNDM1OSwgMjQzNjQsIDI0MzY4LCAyNDM3MSwgCi0gICAgMjQzNzUsIDI0MzgwLCAyNDM4NCwgMjQzODksIDI0MzkzLCAyNDM5NywgMjQ0MDEsIDI0NDA2LCAyNDQxMCwgMjQ0MTQsIAotICAgIDI0NDI0LCAyNDQyOSwgMjQ0MzMsIDI0NDM3LCAyNDQ0MiwgMjQ0NDcsIDI0NDU2LCAyNDQ2MSwgMjQ0NjYsIDI0NDcwLCAKLSAgICAyNDQ3NCwgMjQ0ODcsIDI0NDk5LCAyNDUwOCwgMjQ1MTcsIDI0NTIzLCAyNDUyOCwgMjQ1MzIsIDI0NTM2LCAyNDU0NiwgCi0gICAgMjQ1NTUsIDI0NTYzLCAyNDU2OSwgMjQ1NzQsIDI0NTc4LCAyNDU4NSwgMjQ1OTUsIDI0NjA0LCAyNDYxMiwgMjQ2MjAsIAotICAgIDI0NjI3LCAyNDYzNSwgMjQ2NDQsIDI0NjUzLCAyNDY2MSwgMjQ2NjYsIDI0NjcwLCAyNDY3NCwgMjQ2NzcsIDI0Njc5LCAKLSAgICAyNDY4MywgMjQ2ODcsIDI0NjkyLCAyNDY5NywgMjQ3MDEsIDI0NzA1LCAyNDcwOCwgMjQ3MTIsIDI0NzE1LCAyNDcxOSwgCi0gICAgMjQ3MjIsIDI0NzI1LCAyNDcyOSwgMjQ3MzUsIDI0NzM5LCAyNDc0MywgMjQ3NDcsIDI0NzUyLCAyNDc1NywgMjQ3NjIsIAotICAgIDI0NzY2LCAyNDc2OSwgMjQ3NzQsIDI0NzgwLCAyNDc4NSwgMjQ3OTEsIDI0Nzk2LCAyNDgwMCwgMjQ4MDQsIDI0ODA4LCAKLSAgICAyNDgxMywgMjQ4MTcsIDI0ODIyLCAyNDgyNiwgMjQ4MzAsIDI0ODM3LCAyNDg0MSwgMjQ4NDQsIDI0ODQ4LCAyNDg1NCwgCi0gICAgMjQ4NjAsIDI0ODY0LCAyNDg2OCwgMjQ4NzMsIDI0ODgwLCAyNDg4NiwgMjQ4OTAsIDI0ODk5LCAyNDkwMywgMjQ5MDcsIAotICAgIDI0OTEwLCAyNDkxNiwgMjQ5MjEsIDI0OTI3LCAxNDg5LCAxNzkxLCAyNDkzMiwgMjQ5MzcsIDI0OTQyLCAyNDk0NywgCi0gICAgMjQ5NTIsIDI0OTU3LCAyNDk2MiwgMjE0OCwgMjE5NCwgMjQ5NjcsIDI0OTcwLCAyNDk3NCwgMjQ5NzgsIDI0OTgzLCAKLSAgICAyNDk4NywgMjQ5OTEsIDI0OTk0LCAyNDk5OSwgMjUwMDQsIDI1MDA4LCAyNTAxMSwgMjUwMTYsIDI1MDIwLCAyNTAyNSwgCi0gICAgMjUwMjksIDE0NzYyLCAyNTAzNCwgMjUwMzcsIDI1MDQwLCAyNTA0NCwgMjUwNDksIDI1MDUzLCAyNTA2NiwgMjUwNzAsIAotICAgIDI1MDczLCAyNTA4MSwgMjUwOTAsIDI1MDk3LCAyNTEwMiwgMjUxMDgsIDI1MTE0LCAyNTEyMiwgMjUxMjksIDI1MTM2LCAKLSAgICAyNTE0MCwgMjUxNDQsIDI1MTQ4LCAyNTE1MywgMjUxNTgsIDI1MTYyLCAyNTE3MCwgMjUxNzUsIDI1MTg3LCAyNTE5OCwgCi0gICAgMjUyMDMsIDI1MjA3LCAyNTIxMSwgMjUyMTcsIDI1MjIyLCAyNTIyNywgMjUyMzEsIDI1MjM1LCAyNTIzOCwgMjUyNDQsIAotICAgIDc5MTUsIDIzMTYsIDI1MjQ4LCAyNTI1MywgMjUyNjksIDk0NzUsIDI1Mjg5LCAyNTI5OCwgMjUzMTQsIDI1MzE4LCAyNTMyMSwgCi0gICAgMjUzMjcsIDI1MzM3LCAyNTM0MywgMjUzNTIsIDI1MzY3LCAyNTM3OSwgMjUzOTAsIDI1Mzk4LCAyNTQwNywgMjU0MTMsIAotICAgIDI1NDIyLCAyNTQzMiwgMjU0NDMsIDI1NDU0LCAyNTQ2MywgMjU0NzAsIDI1NDc5LCAyNTQ4NywgMjU0OTQsIDI1NTAyLCAKLSAgICAyNTUwOSwgMjU1MTYsIDI1NTI5LCAyNTUzNiwgMjU1NDIsIDI1NTQ3LCAyNTU1NiwgMjU1NjIsIDI1NTY3LCAyNTU3NSwgCi0gICAgMjU1ODIsIDIzNDM2LCAyNTU5NCwgMjU2MDYsIDI1NjIwLCAyNTYyOCwgMjU2MzUsIDI1NjQ3LCAyNTY1NiwgMjU2NjUsIAotICAgIDI1NjczLCAyNTY4MSwgMjU2ODksIDI1Njk2LCAyNTcwNSwgMjU3MTMsIDI1NzIzLCAyNTczMiwgMjU3NDIsIDI1NzUxLCAKLSAgICAyNTc2MCwgMjU3NjgsIDI1NzczLCAyNTc3NywgMjU3ODAsIDI1Nzg0LCAyNTc4OCwgMjU3OTIsIDI1Nzk2LCAyNTgwMCwgCi0gICAgMjU4MDYsIDI1ODEyLCAyNTgyMCwgMTQ4MDcsIDI1ODI3LCAyNTgzMiwgMjU4MzksIDI1ODQ1LCAyNTg1MiwgMTQ4MTUsIAotICAgIDI1ODU5LCAyNTg2MiwgMjU4NzQsIDI1ODgyLCAyNTg4OCwgMjU4OTMsIDI1ODk3LCA5ODc4LCAyNTkwOCwgMjU5MTgsIAotICAgIDI1OTI3LCAyNTkzNCwgMjU5MzgsIDE0ODIwLCAyNTk0MSwgMjU5NDgsIDI1OTUyLCAyNTk1OCwgMjU5NjEsIDI1OTY4LCAKLSAgICAyNTk3NCwgMjU5ODEsIDI1OTg3LCAyNTk5MSwgMjU5OTYsIDI2MDAwLCAyNjAwOSwgMjYwMTYsIDI2MDIyLCA3OTU2LCAKLSAgICAyNjAyOSwgMjYwMzcsIDI2MDQ0LCAyNjA1MCwgMjYwNTUsIDI2MDYxLCAyNjA2NywgMjYwNzUsIDI2MDc5LCAyNjA4MiwgCi0gICAgMjYwODQsIDI1Nzg1LCAyNjA5MywgMjYwOTksIDI2MTA5LCAyNjExNCwgMjYxMjEsIDI2MTI3LCAyNjEzMiwgMjYxMzcsIAotICAgIDI2MTQyLCAyNjE0NiwgMjYxNTEsIDI2MTU4LCAyNjE2NywgMjYxNzEsIDI2MTc4LCAyNjE4NywgMjYxOTMsIDI2MTk4LCAKLSAgICAyNjIwNCwgMjYyMDksIDI2MjE2LCAyNjIyNywgMjYyMzIsIDI2MjM2LCAyNjI0NiwgMjYyNTIsIDI2MjU2LCAyNjI2MSwgCi0gICAgMjYyNzEsIDI2MjgwLCAyNjI4NCwgMjYyOTEsIDI2Mjk5LCAyNjMwNiwgMjYzMTIsIDI2MzE3LCAyNjMyNSwgMjYzMzIsIAotICAgIDI2MzQ0LCAyNjM1MywgMjYzNTcsIDEzMDUzLCAyNjM2NSwgMjYzNzUsIDI2Mzc5LCAyNTA3NywgMjYzOTAsIDI2Mzk1LCAKLSAgICAyNjM5OSwgMjY0MDYsIDI2NDEzLCAyMTk3NCwgMjU3MTAsIDI2NDE4LCAyNjQyMiwgMjY0MjUsIDIyODcwLCAyNjQzMCwgCi0gICAgMjY0NDQsIDI2NDYwLCAyNjQ3OCwgMjY0OTcsIDI2NTE0LCAyNjUzMiwgMjI4ODksIDI2NTQ5LCAyNjU2OSwgMjI5MDYsIAotICAgIDI2NTgxLCAyNjU5MywgMTU3NDUsIDI2NjA1LCAyMjkyNiwgMjY2MTksIDI2NjMxLCAxMDUzNiwgMjY2NDUsIDI2NjUwLCAKLSAgICAyNjY1NSwgMjY2NjAsIDI2NjY2LCAyNjY3MiwgMjY2NzgsIDI2NjgyLCAyNjY4OSwgMjY2OTQsIDI2NzA0LCAyNjcxMCwgCi0gICAgMTAxODMsIDI2NzE2LCAyNjcxOCwgMjY3MjMsIDI2NzMxLCAyNjczNSwgMjYxNTQsIDI2NzQxLCAyNjc0OCwgMTE1MjQsIAotICAgIDExNTM0LCAyNjc1NSwgMjY3NjUsIDI2NzcwLCAyNjc3NCwgMjY3NzcsIDI2NzgzLCAyNjc5MSwgMjY4MDMsIDI2ODEzLCAKLSAgICAyNjgyOSwgMjY4NDIsIDI2ODU2LCAxNTc2MywgMjY4NzAsIDI2ODc3LCAyNjg4MSwgMjY4ODQsIDI2ODg5LCAyNjg5MywgCi0gICAgMjY5MDAsIDI2OTA3LCAyNjkxNywgMjY5MjIsIDI2OTI3LCAyNjkzMiwgMjY5NDAsIDI2OTQ4LCAyNjk1NywgMjY5NjIsIAotICAgIDk1NzIsIDI2OTY2LCAyNjk2OSwgMjY5NzIsIDI2OTc3LCAyNjk4NCwgMjY5ODksIDI3MDA1LCAyNzAxMywgMjcwMjEsIAotICAgIDk0MjMsIDI3MDI5LCAyNzAzNCwgMjcwMzgsIDI3MDQ0LCAyNzA1MCwgMjcwNTMsIDI3MDU5LCAyNzA3MSwgMjcwNzksIAotICAgIDI3MDg2LCAyNzA5MiwgMjcwOTksIDI3MTEwLCAyNzEyNCwgMjcxMzcsIDI3MTQ2LCAyNzE1NSwgMjcxNjcsIDI3MTc4LCAKLSAgICAyNzE4OCwgMjcxOTcsIDI3MjA2LCAyNzIxNCwgMjcyMjUsIDc5MzgsIDI3MjMyLCAyNzIzOCwgMjcyNDMsIDI3MjQ5LCAKLSAgICAyNzI1NiwgMjcyNjYsIDI3Mjc2LCAyNzI4NSwgMjcyOTEsIDI3Mjk4LCAyNzMwMywgMjczMTAsIDI3MzE4LCAyNzMyNiwgCi0gICAgMjczMzgsIDYyNDYsIDI3MzQ1LCAyNzM1NCwgMjczNjIsIDI3MzY4LCAyNzM3NCwgMjczNzksIDI3MzgzLCAyNzM4NiwgCi0gICAgMjczOTIsIDI3Mzk5LCAyNzQwNCwgMjc0MDksIDI3NDEzLCAyNzQyNSwgMjc0MzYsIDI3NDQ1LCAyNzQ1MywgMTQ5NDcsIAotICAgIDI3NDU4LCAyNzQ2NCwgMjc0NzAsIDExNTE3LCA4NjM1LCAyNzQ3NSwgMjc0NzksIDI3NDgzLCAyNzQ4NiwgMjc0ODksIAotICAgIDI3NDk1LCAyNzUwMywgMjc1MTEsIDI3NTE1LCAyNzUxOSwgMjc1MjQsIDI3NTI3LCAyNzUzNiwgMjc1NDAsIDI3NTQ4LCAKLSAgICAyNzU1OSwgMjc1NjMsIDI3NTY5LCAyNzU3NSwgMjc1NzksIDI3NTg1LCAyNzU5MywgMjc2MTUsIDI3NjM5LCAyNzY0NiwgCi0gICAgMjc2NTMsIDI3NjU5LCAyNzY2NywgMjc2NzMsIDI3Njc4LCAyNzY4OSwgMjc3MDcsIDI3NzE0LCAyNzcyMiwgMjc3MjYsIAotICAgIDI3NzM1LCAyNzc0OCwgMjc3NTYsIDI3NzY4LCAyNzc3OSwgMjc3ODksIDI3ODAzLCAyNzgxMiwgMjc4MjAsIDI3ODMyLCAKLSAgICA5NDkyLCAyNzg0MywgMjc4NTQsIDI3ODY2LCAyNzg3NiwgMjc4ODUsIDI3ODkwLCAyNzg5NCwgMjc5MDIsIDI3OTEyLCAKLSAgICAyNzkxNywgMjc5MjEsIDI3OTI0LCAyNzkyNywgMjc5MzUsIDI3OTQzLCAyNzk1MiwgMjc5NjIsIDI3OTcxLCAyNzk3NywgCi0gICAgMjc5OTEsIDI2NjMsIDI4MDEzLCAyODAyNCwgMjgwMzMsIDI4MDQzLCAyODA1NSwgMjgwNjQsIDI4MDczLCAyODA4MywgCi0gICAgMjgwOTEsIDI4MDk5LCAyODEwOCwgMjgxMTMsIDI4MTI0LCAyODEyOSwgMjgxNDAsIDI4MTQ0LCAyODE1NCwgMjgxNjMsIAotICAgIDI4MTcxLCAyODE4MSwgMjgxOTEsIDI4MTk5LCAyODIwOCwgMjgyMTUsIDI4MjIzLCAyODIzMCwgMjgyMzksIDI4MjQzLCAKLSAgICAyODI1MSwgMjgyNTgsIDI4MjY2LCAyODI3MywgMjgyODQsIDI4Mjk5LCAyODMwNiwgMjgzMTIsIDI4MzIyLCAyODMzMSwgCi0gICAgMjgzMzcsIDI4MzQxLCAyODM0OCwgMjgzNTIsIDE0MDMxLCAyODM1OCwgMjgzNjIsIDI4MzY3LCAyODM3NCwgMjgzNzgsIAotICAgIDI4MzgyLCAyODM5MCwgMjgzOTgsIDI4NDA0LCAyODQxMywgMjg0MjAsIDI4NDI1LCAyODQzMCwgMjg0NDAsIDIzNTA1LCAKLSAgICAyODQ0NCwgMjg0NDcsIDI4NDUyLCAyODQ1NywgMjg0NjIsIDI4NDY3LCAyODQ3MiwgMjg0NzcsIDI4NDgyLCAyODQ4NywgCi0gICAgMjg0OTMsIDI4NDk4LCAyODUwMywgMjg1MDksIDEyMTgsIDcwNCwgMjg1MTQsIDI4NTIzLCAyMzY0LCAyODUzMCwgMjg1MzUsIAotICAgIDI4NTM5LCAyODU0NSwgMTI2NywgNTQ2LCAzMTgsIDI4NTUwLCAyODU1OSwgMjg1NjcsIDI4NTc2LCAyODU4NCwgMjg1OTUsIAotICAgIDI4NjA0LCAyODYxMiwgMjg2MTYsIDI4NjE5LCAyODYyNywgMjg2MzUsIDI4NjQwLCAxNDc3NSwgMjg2NDYsIDI4NjUyLCAKLSAgICAyODY1OCwgNTg3MiwgMjg2NjMsIDI4NjY3LCAyODY3MywgMjg2NzcsIDI4Njg0LCAxNDU1LCAyODY5MCwgMjg2OTcsIDk1NzksIAotICAgIDI4NzAxLCAyODcxMSwgMjg3MTksIDI4NzI1LCAyODczNCwgMjg3NDIsIDI4NzQ4LCAyODc1NiwgMjg3NjMsIDExMTEwLCAKLSAgICAyODc2OSwgMjg3NzYsIDI4NzgxLCAyODc4OCwgMTQ5NiwgMjE0NywgMjg3OTQsIDI4ODAwLCAyODgwNywgMjg4MTgsIAotICAgIDI4ODI5LCAyODgzNywgMjg4NDQsIDI4ODU0LCAyODg2MywgMjg4NzEsIDI4ODgwLCAyODg4NywgMjg4OTQsIDI4OTA3LCAKLSAgICAyODkxOCwgMTI3MiwgMjg5MzcsIDI4OTQyLCAyODk1MCwgMzU3NSwgMjg5NTQsIDI4OTU5LCAyODk2MywgMTQ1OSwgMjQ3MDYsIAotICAgIDI4OTczLCAyODk3NywgMjg5ODIsIDI4OTg2LCAzNDkzLCAyODk5MiwgMjkwMDAsIDI5MDA3LCAyOTAxOCwgMjkwMjYsIAotICAgIDI5MDM0LCAzNTc2LCAyNzksIDI5MDM5LCAyOTA0NywgMjkwNTUsIDI5MDYyLCAyOTA2OCwgMjkwNzMsIDIyMTYsIDI5MDgwLCAKLSAgICAyOTA4NiwgMjU5OTIsIDI2MjIyLCAyOTA5MiwgMTA2LCAyOTA5NiwgMjkxMDAsIDI5MTA2LCA2MTUsIDkzMjgsIDI5MTExLCAKLSAgICAyOTExOCwgMjkxMjQsIDIzMjcsIDI5MTI4LCAyOTEzMiwgMTUxODcsIDI5MTM1LCAyOTE0MCwgMjkxNDcsIDI5MTUzLCAKLSAgICAyOTE1OCwgMjkxNjYsIDI5MTczLCAyOTE3OSwgMjIzNTEsIDI5MTgzLCAyOTE4NywgMzY0NiwgMTY2MjUsIDI5MTkxLCAKLSAgICAyOTE5NiwgMjkxOTksIDI5MjA3LCAyOTIxNSwgMjkyMjAsIDI5MjIzLCAyOTIzMCwgMjkyNDAsIDI5MjUyLCAyOTI1NywgCi0gICAgMjkyNjEsIDI5MjY5LCAyOTI3NiwgMjkyODIsIDI5Mjg5LCAyOTI5NiwgMjkyOTksIDI5MzAzLCAyOTMwNywgMTQ2MywgCi0gICAgMjkzMTcsIDI5MzE5LCAyOTMyNCwgMjkzMzAsIDI5MzM2LCAyOTM0MSwgMjkzNDYsIDI5MzUxLCAyOTM1NiwgMjkzNjEsIAotICAgIDI5MzY2LCAyOTM3MSwgMjkzNzYsIDI5MzgxLCAyOTM4NiwgMjkzOTEsIDI5Mzk2LCAyOTQwMSwgMjk0MDYsIDI5NDEyLCAKLSAgICAyOTQxOCwgMjk0MjQsIDI5NDMwLCAyOTQzNSwgMjk0NDAsIDI5NDQ1LCAyOTQ1MSwgMjk0NTYsIDI5NDYxLCAyOTQ2NiwgCi0gICAgMjk0NzIsIDI5NDc3LCAyOTQ4MywgMjk0ODgsIDI5NDkzLCAyOTQ5OCwgMjk1MDMsIDI5NTA5LCAyOTUxNCwgMjk1MjAsIAotICAgIDI5NTI1LCAyOTUzMCwgMjk1MzUsIDI5NTQwLCAyOTU0NiwgMjk1NTEsIDI5NTU3LCAyOTU2MiwgMjk1NjcsIDI5NTcyLCAKLSAgICAyOTU3NywgMjk1ODIsIDI5NTg3LCAyOTU5MiwgMjk1OTcsIDI5NjAyLCAyOTYwOCwgMjk2MTQsIDI5NjIwLCAyOTYyNSwgCi0gICAgMjk2MzAsIDI5NjM1LCAyOTY0MCwgMjk2NDYsIDI5NjUyLCAyOTY1OCwgMjk2NjQsIDI5NjcwLCAyOTY3NiwgMjk2ODEsIAotICAgIDI5Njg3LCAyOTY5MiwgMjk2OTcsIDI5NzAyLCAyOTcwNywgMjk3MTMsIDI0NDMsIDI5NzE4LCAyNDUwLCAyNDU3LCAyNzU0LCAKLSAgICAyOTcyMywgMjQ2MywgMjQ3MywgMjk3MjksIDI5NzMzLCAyOTczOCwgMjk3NDMsIDI5NzQ5LCAyOTc1NCwgMjk3NTksIAotICAgIDI5NzYzLCAyOTc2OCwgMjk3NzQsIDI5Nzc5LCAyOTc4NCwgMjk3ODksIDI5Nzk1LCAyOTgwMCwgMjk4MDQsIDI5ODA4LCAKLSAgICAyOTgxMywgMjk4MTgsIDI5ODIzLCAyOTgyOCwgMjk4MzMsIDI5ODM5LCAyOTg0NSwgMjk4NTAsIDI5ODU0LCAyOTg1OSwgCi0gICAgMjk4NjUsIDI5ODY5LCAyOTg3NCwgMjk4NzksIDI5ODg0LCAyOTg4OSwgMjk4OTMsIDI5ODk2LCAyOTkwMSwgMjk5MDYsIAotICAgIDI5OTExLCAyOTkxNiwgMjk5MjEsIDI5OTI3LCAyOTkzMywgMjk5MzgsIDI5OTQzLCAyOTk0NywgMjk5NTIsIDI5OTU3LCAKLSAgICAyOTk2MiwgMjk5NjcsIDI5OTcyLCAyOTk3NiwgMjk5ODEsIDI5OTg2LCAyOTk5MSwgMjk5OTUsIDI5OTk5LCAzMDAwMywgCi0gICAgMzAwMDgsIDMwMDE2LCAzMDAyMSwgMzAwMjcsIDMwMDMzLCAzMDAzOSwgMzAwNDQsIDMwMDQ4LCAzMDA1MSwgMzAwNTYsIAotICAgIDMwMDYxLCAzMDA2NSwgMzAwNzAsIDMwMDc0LCAzMDA3OSwgMzAwODMsIDMwMDg2LCAzMDA5MSwgMTczMDIsIDMwMDk2LCAKLSAgICAzMDEwMSwgMzAxMDYsIDMwMTE0LCAyMTI4MCwgMjg2OTQsIDkwMjYsIDMwMTE5LCAzMDEyNCwgMzAxMjgsIDMwMTMzLCAKLSAgICAzMDEzNywgMzAxNDEsIDMwMTQ2LCAzMDE1MCwgMzAxNTMsIDMwMTU2LCAzMDE2MCwgMzAxNjUsIDMwMTY5LCAzMDE3NywgCi0gICAgMzAxODEsIDMwMTg0LCAzMDE4OSwgMzAxOTMsIDMwMTk3LCAzMDIwMiwgMzAyMDcsIDMwMjExLCAzMDIxNywgMzAyMjIsIAotICAgIDMwMjI3LCAzMDIzNCwgMzAyNDEsIDMwMjQ1LCAzMDI0OCwgMzAyNTQsIDMwMjYzLCAzMDI3MCwgMzAyNzgsIDMwMjg1LCAKLSAgICAzMDI4OSwgMzAyOTQsIDMwMjk4LCAzMDMwMiwgMzAzMDgsIDMwMzE0LCAzMDMxOCwgMzAzMjQsIDMwMzI5LCAzMDMzNCwgCi0gICAgMzAzMzgsIDMwMzQ1LCAzMDM1MSwgMzAzNTcsIDMwMzYzLCAzMDM2OSwgMzAzNzYsIDMwMzgyLCAzMDM4OCwgMzAzOTQsIAotICAgIDMwNDAwLCAzMDQwNiwgMzA0MTIsIDMwNDE4LCAzMDQyNSwgMzA0MzEsIDMwNDM4LCAzMDQ0NCwgMzA0NTAsIDMwNDU2LCAKLSAgICAzMDQ2MiwgMzA0NjgsIDMwNDc0LCAzMDQ4MCwgMzA0ODYsIDMwNDkyLCAxMTQxOCwgMzA0OTgsIDMwNTAzLCAzMDUwOCwgCi0gICAgMzA1MTEsIDMwNTE5LCAzMDUyNCwgMzA1MzMsIDMwNTM5LCAzMDU0NCwgMzA1NDksIDMwNTU0LCAzMDU1OCwgMzA1NjMsIAotICAgIDMwNTY4LCAzMDU3MywgMzA1NzgsIDMwNTgzLCAzMDU5MCwgMzA1OTcsIDMwNjAzLCAzMDYwOSwgMzA2MTQsIDE2MzAzLCAKLSAgICAzMDYyMSwgMzA2MjcsIDMwNjM0LCAzMDY0MCwgMzA2NDYsIDMwNjUxLCAzMDY1OSwgMzA2NjQsIDE2MDgyLCAzMDY2OCwgCi0gICAgMzA2NzMsIDMwNjc4LCAzMDY4NCwgMzA2ODksIDMwNjk0LCAzMDY5OCwgMzA3MDMsIDMwNzA4LCAzMDcxNCwgMzA3MTksIAotICAgIDMwNzI0LCAzMDcyOCwgMzA3MzMsIDMwNzM4LCAzMDc0MiwgMzA3NDcsIDMwNzUyLCAzMDc1NywgMzA3NjEsIDMwNzY2LCAKLSAgICAzMDc3MSwgMzA3NzYsIDMwNzgwLCAzMDc4NCwgMTUyOTMsIDMwNzg4LCAzMDc5NywgMzA4MDMsIDMwODA5LCAzMDgxOCwgCi0gICAgMzA4MjYsIDMwODM1LCAzMDg0MywgMzA4NDgsIDMwODUyLCAzMDg1OSwgMzA4NjUsIDMwODY5LCAzMDg3MiwgMzA4NzcsIAotICAgIDMwODg2LCAzMDg5NCwgMzA4OTksIDE0OTUsIDMwOTA1LCAzMDkwOCwgMzA5MTIsIDIyNDI0LCAyMjQzMCwgMzA5MTgsIAotICAgIDMwOTIyLCAzMDkzMywgMzA5NDQsIDMwOTU1LCAzMDk2NywgMzA5NzQsIDMwOTgxLCAzMDk4NiwgMzA5OTAsIDU5MDksIDc1NSwgCi0gICAgMjEyNzksIDMwOTk4LCAzMTAwMywgMzEwMDcsIDMxMDEyLCAzMTAxNiwgMzEwMjIsIDMxMDI3LCAzMTAzMywgMzEwMzgsIAotICAgIDMxMDQ0LCAzMTA0OSwgMzEwNTUsIDMxMDYwLCAzMTA2NiwgMzEwNzIsIDMxMDc4LCAzMTA4MywgMzEwMzksIDMxMDQ1LCAKLSAgICAzMTA4NywgMzEwOTIsIDMxMDk4LCAzMTEwMywgMzExMDksIDMxMTE0LCAzMTEyMCwgMzExMjUsIDMxMDUwLCAxMDQyMSwgCi0gICAgMzExMjksIDMxMDYxLCAzMTA2NywgMzEwNzMsIDI4MzEsIDM0MjMsIDMxMTM1LCAzMTEzOCwgMzExNDQsIDMxMTUwLCAKLSAgICAzMTE1NiwgMzExNjMsIDMxMTY5LCAzMTE3NSwgMzExODEsIDMxMTg3LCAzMTE5MywgMzExOTksIDMxMjA1LCAzMTIxMSwgCi0gICAgMzEyMTcsIDMxMjIzLCAzMTIyOSwgMzEyMzUsIDMxMjQyLCAzMTI0OCwgMzEyNTQsIDMxMjYwLCAzMTI2NiwgMzEyNzIsIAotICAgIDMxMjc1LCAzMTI4MCwgMzEyODMsIDMxMjkwLCAzMTI5OCwgMzEzMDMsIDMxMzA4LCAzMTMxNCwgMzEzMTksIDMxMzI0LCAKLSAgICAzMTMyOCwgMzEzMzMsIDMxMzM5LCAzMTM0NCwgMzEzNTAsIDMxMzU1LCAzMTM2MSwgMzEzNjYsIDMxMzcyLCAzMTM3OCwgCi0gICAgMzEzODIsIDMxMzg3LCAzMTM5MiwgMzEzOTcsIDMxNDAyLCAzMTQwNiwgMzE0MTEsIDMxNDE2LCAzMTQyMSwgMzE0MjcsIAotICAgIDMxNDMzLCAzMTQzOSwgMzE0NDUsIDMxNDUwLCAzMTQ1NCwgMzE0NTcsIDMxNDYzLCAzMTQ2OSwgMzE0NzgsIDMxNDg2LCAKLSAgICAzMTQ5MywgMzE0OTgsIDMxNTAyLCAzMTUwNiwgMzE1MTEsIDE1MTQ2LCAzMTUxNiwgMzE1MjQsIDMxNTMwLCAzNjgzLCAKLSAgICAxMzc3LCAzMTUzNSwgMzE1MzksIDgwMDUsIDMxNTQ1LCAzMTU1MSwgMzE1NTgsIDgwMTQsIDMxNTYyLCAzMTU2OCwgMzE1NzUsIAotICAgIDMxNTgxLCAzMTU5MCwgMzE1OTgsIDMxNjEwLCAzMTYxNCwgMzE2MjEsIDMxNjI3LCAzMTYzMSwgMzE2MzQsIDMxNjQzLCAKLSAgICAzMTY1MSwgMzEwNDAsIDMxNjU2LCAzMTY2NiwgMzE2NzYsIDMxNjg2LCAzMTY5MiwgMzE2OTcsIDMxNzA3LCAzMTcxMiwgCi0gICAgMzE3MjUsIDMxNzM5LCAzMTc1MCwgMzE3NjIsIDMxNzc0LCAzMTc4OCwgMzE4MDEsIDMxODEzLCAzMTgyNSwgMTQ2MDAsIAotICAgIDMxODM5LCAzMTg0NCwgMzE4NDksIDMxODUzLCAzMTg1NywgMzE4NjEsIDE3ODAsIDI3MTc2LCAzMTg2NSwgMzE4NzAsIAotICAgIDMxMDg4LCAzMTg3NSwgMzE4NzgsIDMxODgzLCAzMTg4OCwgMzE4OTMsIDMxODk5LCAzMTkwNSwgMTAwOTgsIDMxOTEwLCAKLSAgICAzMTkxNywgMTU2OTcsIDMxOTIzLCAzMTkyOCwgMzE5MzMsIDMxOTM3LCAzMTk0MiwgMzE5NDcsIDMxMDkzLCAzMTk1MiwgCi0gICAgMzE5NTcsIDMxOTYyLCAzMTk2OCwgMzEwOTksIDMxOTczLCAzMTk3NiwgMzE5ODMsIDMxOTkxLCAzMTk5NywgMzIwMDMsIAotICAgIDMyMDA5LCAzMjAyMCwgMzIwMjUsIDMyMDMyLCAzMjAzOSwgMzIwNDYsIDMyMDU0LCAzMjA2MywgMzIwNzIsIDMyMDc4LCAKLSAgICAzMjA4NCwgMzIwOTIsIDMxMTA0LCAzMjA5NywgMzIxMDMsIDMyMTA5LCAzMTExMCwgMzIxMTQsIDMyMTE5LCAzMjEyNywgCi0gICAgMzIxMzUsIDMyMTQxLCAzMjE0OCwgMzIxNTQsIDMyMTYxLCAzMjE2OCwgMzIxNzQsIDMyMTgyLCAzMjE5MiwgMzIxOTksIAotICAgIDMyMjA0LCAzMjIxMCwgMzIyMTUsIDMyMjIwLCAzMjIyNywgMzIyMzYsIDMyMjQ0LCAzMjI0OSwgMzIyNTUsIDMyMjYyLCAKLSAgICAzMjI3MCwgMzIyNzYsIDMyMjgxLCAzMjI4NywgMzIyOTYsIDI3OTU3LCAzMjMwMywgMzIzMDcsIDMyMzEyLCAzMjMyMSwgCi0gICAgMzIzMjYsIDMyMzMxLCAzMjMzNiwgMTI0MDUsIDMyMzQ0LCAzMjM0OSwgMzIzNTQsIDMyMzU5LCAzMjM2MywgMzIzNjgsIAotICAgIDMyMzczLCAzMjM4MCwgMzIzODUsIDMyMzkwLCAzMjM5NSwgMzExMTUsIDIxMjE2LCAzMjQwMSwgMjUxOSwgMjQ0LCAzMjQwNCwgCi0gICAgMzI0MDcsIDMyNDExLCAzMjQxNSwgMzI0MjUsIDMyNDMzLCAzMjQzNywgMzI0NDQsIDMyNDUxLCAzMjQ1NSwgMzI0NTgsIAotICAgIDMyNDY0LCAzMjQ3MiwgMzI0ODAsIDMyNDg0LCAzMjQ4OCwgMzI0OTEsIDMyNDk4LCAzMjUwMiwgMzI1MDYsIDMyNTEzLCAKLSAgICAzMjUyMSwgMzEwNTEsIDMyNTI4LCAzMjUzNiwgMTAxNTgsIDY2NCwgMzA4LCAzMjU0OCwgMzI1NTMsIDMyNTU4LCAzMjU2NCwgCi0gICAgMzI1NjksIDMyNTc0LCAzNzA0LCAzMjU3OSwgMzI1ODIsIDMyNTg3LCAzMjU5MiwgMzI1OTcsIDMyNjAyLCAzMjYwNywgCi0gICAgMzI2MTQsIDIyNTI5LCAzMjYxOSwgMzI2MjQsIDMyNjI5LCAzMjYzNCwgMzI2MzksIDMyNjQ1LCAzMjY1MCwgMzI2NTYsIAotICAgIDMxMjg2LCAzMjY2MiwgMzI2NjcsIDMyNjczLCAzMjY3OSwgMzI2ODksIDMyNjk0LCAzMjY5OSwgMzI3MDMsIDMyNzA4LCAKLSAgICAzMjcxMywgMzI3MTgsIDMyNzIzLCAzMjczNiwgMzI3NDEsIDIyMzAyLCAxNjcwNSwgMzcxMCwgMzI3NDUsIDMyNzUwLCAKLSAgICAzMjc1NSwgMzI3NjEsIDMyNzY2LCAzMjc3MSwgMzI3NzUsIDMyNzgwLCAzMjc4NSwgMzI3OTEsIDMyNzk2LCAzMjgwMSwgCi0gICAgMTM4MiwgMzI4MDUsIDMyODEwLCAzMjgxNSwgMzI4MjAsIDMyODI0LCAzMjgyOSwgMzI4MzQsIDMyODM5LCAzMjg0NSwgCi0gICAgMzI4NTEsIDMyODU2LCAzMjg2MCwgMzI4NjQsIDMyODY5LCAzMjg3NCwgMzI4NzksIDMyODgzLCAzMjg5MSwgMzI4OTUsIAotICAgIDMyOTAxLCAzMjkwNSwgMzI5MTIsIDE2NDk4LCAzMTA2MiwgMzI5MTgsIDMyOTI1LCAzMjkzMywgMzI5NDAsIDMyOTQ2LCAKLSAgICAzMjk1OSwgMzI5NzEsIDMyOTc3LCAzMjk4MSwgMjc3MywgMzI5ODUsIDMyOTg5LCAzMjQ5MywgMzI5OTgsIDMzMDA5LCAKLSAgICAzMzAxNCwgMzMwMTksIDMzMDI0LCAzMzAyOCwgMzMwMzMsIDIyNDM1LCAzMzAzNywgMzMwNDEsIDMzMDQ2LCAzMTA2OCwgCi0gICAgMjEzMDAsIDMzMDUwLCAzMzA1NSwgMzMwNjEsIDMzMDY2LCAzMzA3MCwgMzMwNzQsIDMzMDc3LCAzMzA4MSwgMzMwODcsIAotICAgIDMzMDk4LCAzMzExMCwgMzEwNzQsIDMzMTE1LCAzMzExOCwgMzMxMjIsIDM0NywgMzMxMjcsIDMzMTMyLCAzMzEzNywgCi0gICAgMzMxNDIsIDMzMTQ3LCAzMzE1MiwgMzMxNTgsIDMzMTYzLCAzMzE2OCwgMzMxNzQsIDMzMTc5LCAzMzE4NSwgMzMxOTAsIAotICAgIDMzMTk2LCAzMzIwMSwgMzMyMDYsIDMzMjExLCAzMzIxNiwgMzMyMjEsIDMzMjI2LCAzMzIzMSwgMzMyMzYsIDMzMjQyLCAKLSAgICAzMzI0NywgMzMyNTIsIDMzMjU3LCAzMzI2MiwgMzMyNjcsIDMzMjcyLCAzMzI3NywgMzMyODMsIDMzMjg5LCAzMzI5NCwgCi0gICAgMzMyOTksIDMzMzA0LCAzMzMwOSwgMzMzMTQsIDMzMzE5LCAzMzMyNCwgMzMzMjksIDMzMzM0LCAzMzMzOSwgMzMzNDQsIAotICAgIDMzMzQ5LCAzMzM1NCwgMzMzNTksIDMzMzY0LCAzMzM2OSwgMzMzNzQsIDMzMzc5LCAzMzM4NSwgMzEzLCAyNiwgMzMzOTAsIAotICAgIDMzMzk0LCAzMzM5OCwgMzM0MDYsIDMzNDEwLCAzMzQxNCwgMzM0MTcsIDMzNDIwLCAzMzQyMiwgMzM0MjcsIDMzNDMxLCAKLSAgICAzMzQzNiwgMzM0NDAsIDMzNDQ1LCAzMzQ0OSwgMzM0NTQsIDMzNDU4LCAzMzQ2MSwgMzM0NjMsIDMzNDY3LCAzMzQ3MiwgCi0gICAgMzM0NzYsIDMzNDg3LCAzMzQ5MCwgMzM0OTIsIDMzNDk2LCAzMzUwOCwgMzM1MTcsIDMzNTIxLCAzMzUyNSwgMzM1MzEsIAotICAgIDMzNTM2LCAzMzU0NSwgMzM1NTEsIDMzNTU2LCAzMzU2MSwgMzM1NjUsIDMzNTcwLCAzMzU3NywgMzM1ODIsIDMzNTg4LCAKLSAgICAzMzU5MywgMzM1OTcsIDMzNjA0LCAyNTcxOCwgMjU3MjgsIDMzNjA4LCAzMzYxMywgMzM2MTgsIDMzNjIzLCAzMzYzMCwgCi0gICAgMzM2MzQsIDMzNjQxLCA4MTEzLCAzMzY0NywgMzM2NTYsIDMzNjY0LCAzMzY3OSwgMzM2OTMsIDMzNzAxLCAzMzcxMiwgCi0gICAgMzM3MjEsIDMzNzI2LCA3MjI3LCAzMzczNiwgMzM3NDEsIDMzNzQ2LCAzMzc1MCwgMzM3NTMsIDMzNzU3LCAzMzc2MiwgCi0gICAgMzM3NjYsIDMzNzczLCAzMzc3OCwgMzM3ODMsIDg5MTIsIDMzNzkzLCAzMzc5NSwgMzM3OTgsIDMzODAyLCAzMzgwOCwgCi0gICAgMzM4MTIsIDMzODE3LCAzMzgyMiwgMzM4MjgsIDMzODMzLCAzMzgzOSwgMzM4NDQsIDMzODU0LCAzMzg2MywgMzM4NzEsIAotICAgIDMzODc2LCAzMzg4MiwgMzM4ODcsIDMzODk0LCAzMzg5OCwgMzM5MDYsIDMzOTEzLCAzMzkyNiwgMzM5MzQsIDMzOTM4LCAKLSAgICAzMzk0OCwgMzM5NTMsIDMzOTU3LCAzMzk2NSwgMzM5NzMsIDMzOTc3LCAzMzk4NiwgMzM5OTIsIDMzOTk3LCAzNDAwNSwgCi0gICAgMzQwMTUsIDM0MDI0LCAzNDAzMywgMzQwNDIsIDM0MDUzLCAzNDA2MSwgMzQwNzIsIDM0MDgxLCAzNDA4OCwgMzQwOTQsIAotICAgIDM0MDk5LCAzNDExMCwgMzQxMTUsIDM0MTE5LCAzNDEyMiwgMzQxMjYsIDM0MTM0LCAzNDE0MCwgMzQxNDgsIDM0MTU1LCAKLSAgICAzNDE2MSwgMzQxNjYsIDM0MTcyLCAyNDE4LCAzNDE3NiwgMzQxNzgsIDM0MTgzLCAzNDE4OCwgMzQxOTMsIDM0MTk2LCAKLSAgICAzNDE5OCwgMzQyMDIsIDM0MjA1LCAzNDIxMiwgMzQyMTYsIDk4OTEsIDM0MjIwLCAzNDIyNiwgMzQyMzYsIDM0MjQxLCAKLSAgICAzNDI0NywgMzQyNTEsIDM0MjU2LCAzNDI2OSwgMjYxMDQsIDM0Mjc1LCAzNDI4NCwgMTc0NzUsIDM0MjkxLCAzNDMwMCwgCi0gICAgMzE2NzIsIDM0MzA4LCAzNDMxMywgMzQzMTcsIDM0MzI1LCAzNDMzMiwgMzQzMzcsIDM0MzQxLCAzNDM0NiwgMzQzNTAsIAotICAgIDM0MzU4LCAzNDM2NCwgMzQzNzAsIDM0Mzc1LCAzNDM3OSwgMzQzODIsIDM0Mzg3LCAzNDQwMCwgMzQ0MTYsIDIyOTk2LCAKLSAgICAzNDQzMywgMzQ0NDUsIDM0NDYyLCAzNDQ3NCwgMzQ0ODgsIDIzMDEzLCAyMzAzMiwgMzQ1MDAsIDM0NTEyLCAyNjgwLCAKLSAgICAzNDUyNiwgMzQ1MzEsIDM0NTM2LCAzNDU0MSwgMzQ1NDUsIDM0NTUyLCAzNDU2NCwgMzQ1NzAsIDM0NTczLCAzNDU4NCwgCi0gICAgMzQ1OTUsIDM0NjAwLCAzMjA4OSwgNjk1LCAzNDYwNCwgMzQ2MDgsIDM0NjEyLCAzNDYxNSwgMzQ2MjAsIDM0NjI1LCAKLSAgICAzNDYzMSwgMzQ2MzYsIDM0NjQxLCAzNDY0NywgMzQ2NTMsIDM0NjU4LCAzNDY2MiwgMzQ2NjcsIDM0NjcyLCAzNDY3NywgCi0gICAgMzQ2ODEsIDM0Njg0LCAzNDY5MCwgMzQ2OTUsIDM0NzAwLCAzNDcwNSwgMzQ3MDksIDM0NzE0LCAzNDcyMCwgMzQ3MjgsIAotICAgIDI2MzM3LCAzNDczMywgMzQ3MzgsIDM0NzQ1LCAzNDc1MSwgMzQ3NTcsIDM0NzYyLCAzNDc3MCwgMjI1MzgsIDM0Nzc3LCAKLSAgICAzNDc4MiwgMzQ3ODcsIDM0NzkyLCAzNDc5NiwgMzQ3OTksIDM0ODA0LCAzNDgwOCwgMzQ4MTIsIDM0ODE5LCAzNDgyNSwgCi0gICAgMzQ4MzEsIDM0ODM3LCAzNDg0NCwgMzQ4NDksIDM0ODU1LCAzMzk2OCwgMzQ4NTksIDM0ODYzLCAzNDg2OCwgMzQ4ODEsIAotICAgIDM0ODg2LCAzNDg5MiwgMzQ5MDAsIDM0OTA3LCAzNDkxNSwgMzQ5MjUsIDM0OTMxLCAzNDkzNywgMzQ5NDMsIDM0OTQ3LCAKLSAgICAzNDk1NiwgMzQ5NjQsIDM0OTcxLCAzNDk3NiwgMzQ5ODEsIDEwNDQ0LCAzNDk4NiwgMzQ5OTQsIDM1MDAxLCAzNTAwNywgCi0gICAgMzUwMTcsIDM1MDIyLCAzNTAyOCwgMzUwMzYsIDM2MDgsIDM1MDQzLCAzNTA1MCwgMzYxNCwgMzUwNTQsIDM1MDU5LCAKLSAgICAzNTA3MCwgMzUwNzcsIDM1MDgzLCAzNTA5MiwgMzUwOTYsIDQwMTUsIDM1MDk5LCAzNTEwNiwgMzUxMTIsIDM1MTE4LCAKLSAgICAzNTEyNiwgMzUxMzYsIDI5MDYzLCAzNTE0MywgMzUxNTEsIDM1MTU2LCAzNTE2MiwgMzUxNjcsIDI1OTY0LCAzNTE3MywgCi0gICAgMzUxODAsIDM1MTg2LCAzNTE5NSwgMjM2NzcsIDM1MjAyLCAzNTIwNywgMzUyMTEsIDM1MjE5LCAzNTIyNywgOTYwNywgCi0gICAgNTg5NSwgMzUyMzQsIDM1MjM4LCAzNTI0MCwgMzUyNDQsIDM1MjQ5LCAzNTI1MSwgMzUyNTcsIDM1MjYyLCAzNTI2NywgCi0gICAgMzUyNzQsIDMyNjEwLCAzNTI4MCwgMzUyODUsIDM1Mjg5LCAzNTI5NCwgMzUyOTgsIDM1MzA3LCAzNTMxMSwgMzUzMTcsIAotICAgIDM1MzI0LCAzNTMzMCwgMzUzMzcsIDM1MzQyLCAzNTM1MSwgMzUzNTYsIDM1MzYwLCAzNTM2NSwgMzUzNzIsIDM1MzgwLCAKLSAgICAzNTM4OCwgMzUzOTMsIDIxMzU2LCAzNTM5NywgMzU0MDAsIDM1NDA0LCAzNTQwOCwgMzU0MTIsIDM1NDE1LCAzNTQxNywgCi0gICAgMzU0MjUsIDM1NDI5LCAzNTQzNiwgMzU0NDAsIDM1NDQ0LCAzNTQ1MiwgMzU0NTksIDM1NDY5LCAzNTQ3MywgMzU0NzcsIAotICAgIDM1NDg1LCAzNTQ5MywgMzU0OTksIDM1NTA0LCAzNTUxMywgMTMzNTcsIDM1NTE5LCAzNTUyOCwgMzU1MzMsIDM1NTQwLCAKLSAgICAzNTU0OCwgMzU1NTYsIDM1NTY0LCAzNTU3MSwgMzU1NzgsIDM1NTg1LCAzNTU5MiwgMzU1OTksIDM1NjA0LCAzNTYxMCwgCi0gICAgMzU2MjcsIDM1NjM1LCAzNTY0NSwgMzU2NTMsIDM1NjYwLCA0MDcsIDM1NjY0LCAzNTY3MCwgMzU2NzQsIDM1Njc5LCAKLSAgICAzMzcxNywgMzU2ODUsIDM1Njg4LCAzNTY5MiwgMzU3MDAsIDM2MTksIDM1NzA4LCAzNTcxNCwgMzU3MjAsIDM1NzI5LCAKLSAgICAzNTczOSwgMzU3NDYsIDM1NzUyLCAzNjI1LCAzNjMxLCAzNTc2MSwgMzU3NjgsIDM1Nzc2LCAzNTc4MSwgMzU3ODUsIAotICAgIDM1NzkyLCAzNTgwMCwgMzU4MDcsIDM1ODEzLCAzNTgyMiwgMzU4MzIsIDM1ODM4LCAzNTg0NiwgMzU4NTUsIDM1ODYyLCAKLSAgICAzNTg3MCwgMzU4NzcsIDIyMDMyLCAzNTg4MSwgMzU4ODgsIDM1ODk0LCAzNTkwNCwgMzU5MTMsIDM1OTI0LCAzNTkyOCwgCi0gICAgMzU5MzgsIDM1OTQ0LCAzNTk1MSwgMzU5NTksIDM1OTY4LCAzNTk3NywgMzU5ODcsIDM1OTk4LCAzNjAwNSwgMzYwMTAsIAotICAgIDM2MDE3LCAzMDI5LCAzNjAyNSwgMzYwMzEsIDM2MDM2LCAzNjA0MiwgMzYwNDgsIDM2MDUzLCAzNjA2NiwgMzYwNzksIAotICAgIDM2MDkyLCAzNjA5OSwgMzYxMDUsIDM2MTEzLCAzNjEyMSwgMzYxMjYsIDM2MTMwLCAxNDY5LCAzNjEzNCwgMzYxMzksIAotICAgIDM2MTQ0LCAzNjE0OSwgMzYxNTQsIDM2MTYwLCAzNjE2NSwgMzYxNzAsIDM2MTc1LCAzNjE4MCwgMzYxODUsIDM2MTkwLCAKLSAgICAzNjE5NSwgMzYyMDEsIDM2MjA3LCAzNjIxMiwgMzYyMTcsIDM2MjIzLCAzNjIyOCwgMzYyMzMsIDM2MjM4LCAzNjI0NCwgCi0gICAgMzYyNDksIDM2MjU0LCAzNjI1OSwgMzYyNjQsIDM2MjcwLCAzNjI3NSwgMzYyODAsIDM2Mjg2LCAzNjI5MSwgMzYyOTYsIAotICAgIDM2MzAxLCAzNjMwNiwgMzYzMTEsIDM2MzE3LCAzNjMyMiwgMzYzMjgsIDM2MzMzLCAzNjMzOSwgMzYzNDQsIDM2MzQ5LCAKLSAgICAzNjM1NCwgMzYzNjAsIDM2MzY2LCAzNjM3MiwgMzYzNzgsIDM2Mzg0LCAzNjM5MCwgMzYzOTYsIDM2NDAyLCAzNjQwNywgCi0gICAgMzY0MTIsIDM2NDE4LCAzNjQyMywgMzY0MjgsIDM2NDMzLCAzNjQzOCwgMzY0NDMsIDM2NDQ4LCAzNjQ1MywgMzY0NTksIAotICAgIDM2NDY0LCAzNjQ2OSwgMzY0NzUsIDM2NDgxLCAxMDEsIDM2NDg2LCAzNjQ4OCwgMzY0OTIsIDM2NDk2LCAzNjUwMCwgCi0gICAgMzY1MDUsIDM2NTA5LCA5NTI4LCAzNjUxMywgMzY1MTksIDE3NDEsIDYyODAsIDM2NTI1LCAzNjUyOCwgMzY1MzMsIDM2NTM3LCAKLSAgICAzNjU0MiwgMzY1NDYsIDM2NTUwLCAzNjU1NSwgMTAyNDUsIDM2NTU5LCAzNjU2MywgMzY1NjcsIDM2NTcxLCAxNTM4NSwgCi0gICAgMzY1NzYsIDM2NTgwLCAzNjU4NSwgMzY1OTAsIDM2NTk1LCAzNjU5OSwgMzY2MDYsIDI2MTI4LCAzNjYxMiwgMzY2MTUsIAotICAgIDM2NjE5LCAzNjYyNCwgMzY2MzAsIDM2NjM0LCAzNjY0MiwgMzY2NDgsIDM2NjUzLCAzNjY1NywgMzY2NjMsIDM2NjY3LCAKLSAgICAzNjY3MSwgMzQ2MiwgMzQ2NywgMjkyNTUsIDM2Njc0LCAzNjY3OCwgMzY2ODIsIDM2Njg2LCAzNjY5MCwgMzY2OTgsIAotICAgIDM2NzA1LCAzNjcwOSwgMzY3MTYsIDM2NzIxLCAzMTcsIDM2NzI2LCAzNjczMCwgMzY3MzYsIDM2NzQ4LCAzNjc1NCwgCi0gICAgMzY3NjAsIDM2NzY0LCAzNjc3MCwgMzY3NzksIDM2NzgzLCAzNjc4NywgMzY3OTIsIDM2Nzk4LCAzNjgwMywgMzY4MDcsIAotICAgIDM2ODEyLCAzNjgxNiwgMzY4MjAsIDM2ODI3LCAzNjgzMywgMzY4MzgsIDM2ODUzLCAzNjg2OCwgMzY4ODMsIDM2ODk5LCAKLSAgICAzNjkxNywgMTAxOTUsIDM2OTMxLCAzNjkzOCwgMzY5NDIsIDM2OTQ1LCAzNjk1NCwgMzY5NTksIDM2OTYzLCAzNjk3MSwgCi0gICAgMzM5MTksIDM2OTc5LCAzNjk4MywgMzY5OTMsIDM3MDA0LCAyOTIyNSwgMzcwMTcsIDM3MDIxLCAzNzAzMCwgMzcwMzgsIAotICAgIDk3ODUsIDE0OTEzLCAzNzA0MiwgMjI0NDcsIDM3MDQ1LCAzMDE3MywgMzcwNTAsIDk3ODQsIDM3MDU1LCAzNzA2MSwgCi0gICAgMzcwNjYsIDM3MDcyLCAzNzA3NywgMzcwODMsIDM3MDg4LCAzNzA5NCwgMzcwOTksIDM3MTA1LCAzNzExMSwgMzcxMTcsIAotICAgIDM3MTIyLCAzNzA3OCwgMzcwODQsIDM3MDg5LCAzNzA5NSwgMzcxMDAsIDM3MTA2LCAzNzExMiwgODEyNiwgMzg3NCwgCi0gICAgMzcxMjYsIDM3MTM0LCAzNzEzOCwgMzcxNDEsIDM3MTQ1LCAzNzE1MCwgMzcxNTUsIDM3MTYxLCAzNzE2NywgMzcxNzIsIAotICAgIDM3MTc2LCAyNTk3NiwgMzcxODAsIDM3MTg0LCAzNzE5MCwgMzcxOTQsIDkwNDksIDM3MjAzLCAzNzIxMCwgMzcyMTQsIAotICAgIDExODc1LCAzNzIyMSwgMzcyMjcsIDM3MjMyLCAzNzIzOSwgMzcyNDYsIDM3MjUzLCAyODU3MSwgODA0OSwgMzcyNjAsIAotICAgIDM3MjY3LCAzNzI3NCwgMzcyODAsIDM3Mjg1LCAzNzI5MiwgMzczMDMsIDM3MzA5LCAzNzMxNCwgMzczMTksIDM3MzI0LCAKLSAgICAzNzMzMSwgMzcwNzksIDM3MzM1LCAzNzM0NSwgMzczNTYsIDM3MzYyLCAzNzM2NywgMzczNzIsIDM3Mzc3LCAzNzM4MiwgCi0gICAgMzczODcsIDM3MzkxLCAzNzM5NSwgMzc0MDEsIDM3NDA5LCAyMzE5LCA4NjUsIDEwMjYxLCAxMDI3MywgMTAyNzgsIDEwMjg0LCAKLSAgICAzNzQxOCwgMTAyODksIDEwMjk0LCAxMDMwMCwgMzc0MjMsIDM3NDMzLCAzNzQzNywgMTAzMDUsIDM3NDQyLCAxNjkwMywgCi0gICAgMzc0NDUsIDM3NDUwLCAzNzQ1NCwgMzc0NTksIDM3NDY0LCAzNzQ3MSwgMzc0NzgsIDM3NDgyLCAzNzQ4NSwgMzc0OTMsIAotICAgIDEwMjA4LCAzNzUwMCwgMzc1MDMsIDM3NTA5LCAzNzUxOSwgNTkyOSwgMzc1MjgsIDM3NTMyLCAzNzU0MCwgMzc1NDQsIAotICAgIDM3NTU0LCAzNzU2MCwgMzc1NzEsIDM3NTc3LCAzNzU4MywgMzc1ODgsIDM3NTk0LCAzNzYwMCwgMzc2MDYsIDM3NjExLCAKLSAgICAzNzYxNCwgMzc2MjEsIDM3NjI3LCAzNzYzMiwgMzc2MzksIDM3NjQ2LCAzNzY1MCwgMzc2NjAsIDM3NjczLCAzNzY4MiwgCi0gICAgMzc2OTEsIDM3NzAyLCAzNzcxNSwgMzc3MjYsIDM3NzM1LCAzNzc0NiwgMzc3NTEsIDM3NzYwLCAzNzc2NSwgMTAzMTAsIAotICAgIDM3NzcxLCAzNzc3OCwgMzc3ODYsIDM3NzkxLCAzNzc5NSwgMzc4MDIsIDM3ODA5LCAzODI5LCAxNiwgMzc4MTMsIDM3ODE4LCAKLSAgICAxNjc1NywgMzc4MjIsIDM3ODI1LCAzNzgyOCwgMjgwNzcsIDM3ODMyLCAyODU4MCwgMzc4NDAsIDM3ODQ0LCAzNzg0OCwgCi0gICAgMzc4NTEsIDM3ODU3LCAzNzEwMSwgMzc4NjMsIDM3ODcxLCAzNzg3NywgMzc4ODQsIDI4MDYwLCAzNzg4OCwgMjgyNTQsIAotICAgIDM3ODkyLCAzNzkwMSwgMzc5MDcsIDM3OTEzLCAzNzkxOCwgMzc5MjIsIDM3OTI4LCAzNzkzMiwgMzc5NDAsIDM3OTQ4LCAKLSAgICAyNjE5NCwgMzc5NTQsIDM3OTYxLCAzNzk2NywgMzc5NzIsIDM3OTc3LCAzNzk4MSwgMzc5ODcsIDM3OTkyLCAzNzk5OCwgCi0gICAgNDA1NiwgNzkxLCAzODAwNSwgMzgwMDksIDM4MDEyLCAxNTI3NSwgMzgwMjQsIDM1ODUxLCAzODAzNSwgMzgwMzgsIDM4MDQ1LCAKLSAgICAzODA0OSwgMzgwNTUsIDM4MDU5LCAzODA2NSwgMzgwNzAsIDM4MDc2LCAzODA4MSwgMzgwODYsIDM4MDkwLCAzODA5NCwgCi0gICAgMzgwOTksIDM4MTA0LCAzODExNCwgMzgxMjAsIDM4MTMzLCAzODEzOSwgMzgxNDUsIDM4MTUyLCAzODE1NywgMzgxNjMsIAotICAgIDM4MTY4LCAxNjY0MywgMTQ3MiwgMTAxOSwgMzEyMTgsIDMxMjI0LCAzODE3MywgMzEyMzAsIDMxMjQzLCAzMTI0OSwgCi0gICAgMzEyNTUsIDM4MTc5LCAzMTI2MSwgMzEyNjcsIDM4MTg1LCAzODE5MSwgMjIsIDM4MTk5LCAzODIwNiwgMzgyMTAsIDM4MjE0LCAKLSAgICAzODIyMiwgMzE5NzgsIDM4MjI2LCAzODIzMCwgMzgyMzcsIDM4MjQyLCAzODI0NiwgMzgyNTEsIDM4MjU3LCAzODI2MiwgCi0gICAgMzgyNjgsIDM4MjczLCAzODI3NywgMzgyODEsIDM4Mjg1LCAzODI5MCwgMzgyOTQsIDM4Mjk5LCAzODMwMywgMzgzMTAsIAotICAgIDM4MzE1LCAzODMxOSwgMzgzMjQsIDM4MzI4LCAzODMzMywgMzgzMzcsIDM4MzQyLCAzODM0OCwgMTU0OTUsIDE1NTAwLCAKLSAgICAzODM1MywgMzgzNTcsIDM4MzYwLCAzODM2NCwgMjExODMsIDM4MzY5LCAzODM3MywgMzgzNzksIDM4Mzg2LCAzODM5MSwgCi0gICAgMzg0MDEsIDM4NDA2LCAzODQxNCwgMzg0MTgsIDM4NDIxLCAzMTk5MywgMzg0MjUsIDQxMDksIDM4NDMwLCAzODQzNSwgCi0gICAgMzg0MzksIDM4NDQ0LCAzODQ0OCwgMzg0NTMsIDEzMzc1LCAzODQ2NCwgMzg0NjgsIDM4NDcxLCAzODQ3NiwgMzg0ODAsIAotICAgIDM4NDg0LCAzODQ4NywgMzg0OTEsIDgxNDUsIDEzMzkxLCAzODQ5NCwgMzg0OTcsIDM4NTAzLCAzODUwOCwgMzg1MTQsIAotICAgIDM4NTE5LCAzODUyNSwgMzg1MzAsIDM4NTM2LCAzODU0MSwgMzg1NDcsIDM4NTUzLCAzODU1OSwgMzg1NjQsIDM4NTY4LCAKLSAgICAzODU3MiwgMzg1ODEsIDM4NTk3LCAzODYxMywgMzg2MjMsIDI3OTY3LCAzODYzMCwgMzg2MzQsIDM4NjM5LCAzODY0NCwgCi0gICAgMzg2NDgsIDM4NjUyLCAzNTk3MiwgMzg2NTgsIDM4NjYzLCAzODY2NywgMzg2NzQsIDM4Njc5LCAzODY4MywgMzg2ODcsIAotICAgIDI2OTk2LCAzODY5MywgMjE0NTEsIDM4Njk4LCAzODcwNSwgMzg3MTMsIDM4NzE5LCAzODcyNiwgMzg3MzQsIDM4NzQwLCAKLSAgICAzODc0NCwgMzg3NTAsIDM4NzU4LCAzODc2MiwgMzg3NzEsIDk1MDksIDM4Nzc5LCAzODc4MywgMzg3OTEsIDM4Nzk4LCAKLSAgICAzODgwMywgMzg4MDgsIDM4ODEyLCAzODgxNSwgMzg4MTksIDM4ODIyLCAzODgyNiwgMzg4MzMsIDM4ODM4LCAzODg0NCwgCi0gICAgMjY0MTUsIDMxMjgxLCAzODg0OCwgMzg4NTUsIDM4ODYxLCAzODg2NywgMzg4NzIsIDM4ODc1LCAzODg3NywgMzg4ODQsIAotICAgIDM4ODkxLCAzODg5NywgMzg5MDEsIDM4OTA0LCAzODkwOCwgMzg5MTIsIDM4OTE2LCAzODkyMSwgMzg5MjUsIDM4OTI5LCAKLSAgICAzODkzMiwgMzg5MzYsIDM4OTUwLCAyMzA2MiwgMzg5NjksIDM4OTgyLCAzODk5NSwgMzkwMDgsIDIzMDgwLCAzOTAyMywgCi0gICAgMTA0OTcsIDM5MDM4LCAzOTA0NCwgMzkwNDgsIDM5MDUyLCAzOTA1OSwgMzkwNjQsIDM5MDY4LCAzOTA3NSwgMzkwODEsIAotICAgIDM5MDg2LCAzOTA5MiwgMzkxMDIsIDM5MTE0LCAzOTEyNSwgMzkxMzAsIDM5MTM3LCAzOTE0MSwgMzkxNDUsIDM5MTQ4LCAKLSAgICAxNTg5MSwgMzY3NywgMzkxNTYsIDE1NTIyLCAzOTE2OSwgMzkxNzYsIDM5MTgwLCAzOTE4NCwgMzkxODksIDM5MTk0LCAKLSAgICAzOTIwMCwgMzkyMDQsIDM5MjA4LCAzOTIxMSwgNzc0MiwgMTU1MzMsIDM5MjE2LCAzOTIyMCwgMzkyMjYsIDM5MjM1LCAKLSAgICAzOTI0MCwgMzkyNDcsIDM1ODI4LCAzOTI1MywgMzkyNTgsIDM5MjYyLCAzOTI2NywgMzkyNzQsIDM5Mjc4LCAzOTI4MSwgCi0gICAgMzkyODUsIDM5MjkwLCAxNDU2NSwgMzkyOTcsIDM5MzA0LCAxMDc3LCAzOTMwOCwgMzkzMTMsIDM5MzE4LCAzOTMyNCwgCi0gICAgMzkzMjksIDM5MzM0LCAzOTMzOCwgMzkzNDgsIDM5MzUzLCAzOTM1OSwgMzkzNjQsIDM5MzcwLCAzOTM3NSwgMzkzODEsIAotICAgIDM5MzkxLCAzOTM5NiwgMzk0MDEsIDM5NDA1LCA3MjI5LCA3MjQxLCAzOTQxMCwgMzk0MTMsIDM5NDIwLCAzOTQyNiwgCi0gICAgMzQwODQsIDM0MDkxLCAzOTQzNSwgMzk0MzksIDMyMDQxLCAzOTQ0NywgMzk0NTgsIDM5NDY2LCAzNjAyMCwgMzk0NzMsIAotICAgIDM5NDc4LCAzOTQ4MywgMzk0OTQsIDM5NTAxLCAzOTUxMiwgMzIwNjUsIDIxNDU3LCAzOTUyMCwgNzM1LCAzOTUyNSwgCi0gICAgMzk1MzEsIDI4MDUxLCAzOTUzNywgMzk1NDIsIDM5NTUyLCAzOTU2MSwgMzk1NjgsIDM5NTc0LCAzOTU3OCwgMzk1ODEsIAotICAgIDM5NTg4LCAzOTU5NCwgMzk2MDEsIDM5NjA3LCAzOTYxNywgMzk2MjUsIDM5NjMxLCAzOTYzNywgMzk2NDIsIDM5NjQ2LCAKLSAgICAzOTY1MywgMzk2NTksIDM5NjY2LCAzODkxNywgNTM1LCAxMzgxOCwgMzk2NzIsIDM5Njc3LCAzOTY4MCwgMzk2ODYsIAotICAgIDM5Njk0LCAxMzk2LCAzOTY5OSwgMzk3MDMsIDM5NzA4LCAzOTcxNSwgMzk3MjEsIDM5NzI1LCAzOTcyOSwgMzk3MzQsIAotICAgIDM5NzQzLCAzOTc1MCwgMzk3NjAsIDM5NzY2LCAyODA5NSwgMzk3ODMsIDM5NzkyLCAzOTgwMCwgMzk4MDYsIDM5ODExLCAKLSAgICAzOTgxOCwgMzk4MjQsIDM5ODMyLCAzOTg0MSwgMzk4NDksIDM5ODUzLCAzOTg1OCwgMzk4NjYsIDMyMDc0LCAzOTg3MiwgCi0gICAgMzk4OTEsIDE1ODI0LCAzOTkwNSwgMzk5MjEsIDM5OTM1LCAzOTk0MSwgMzk5NDYsIDM5OTUxLCAzOTk1NiwgMzk5NjIsIAotICAgIDMyMDgwLCAzOTk2NywgMzk5NzQsIDM5OTc5LCAzOTk4MywgMzQ1LCAyOTM2LCAzOTk5MCwgMzk5OTUsIDQwMDAwLCAyNzMyMiwgCi0gICAgMzk4MjEsIDQwMDA0LCA0MDAwOSwgNDAwMTcsIDQwMDIxLCA0MDAyNCwgNDAwMzAsIDQwMDM2LCA0MDA0MCwgMjgxNTAsIAotICAgIDQwMDQzLCA0MDA0OCwgNDAwNTIsIDQwMDU1LCA0MDA2MCwgNDAwNjQsIDQwMDY5LCA0MDA3NCwgNDAwNzgsIDQwMDgzLCAKLSAgICA0MDA4NywgNDAwOTEsIDIxMTc5LCAyMTE5MCwgNDAwOTUsIDQwMTAwLCA0MDEwNiwgMjY5NTMsIDQwMTExLCA0MDExNSwgCi0gICAgMjEyNjYsIDE2MDcyLCA0MDExOCwgNDAxMjMsIDQwMTI4LCA0MDEzMywgNDAxMzgsIDQwMTQzLCA0MDE0OCwgNDAxNTMsIAotICAgIDQ1MCwgNDksIDMxMjk5LCAzMTMwNCwgMzEzMDksIDMxMzE1LCAzMTMyMCwgMzEzMjUsIDQwMTU4LCAzMTMyOSwgNDAxNjIsIAotICAgIDQwMTY2LCA0MDE3MCwgMzEzMzQsIDMxMzQwLCA0MDE4NCwgMzEzNTEsIDMxMzU2LCA0MDE5MiwgNDAxOTcsIDMxMzYyLCAKLSAgICA0MDIwMiwgNDAyMDcsIDQwMjEyLCA0MDIxNywgNDAyMjMsIDQwMjI5LCA0MDIzNSwgMzEzNzksIDQwMjQ4LCA0MDI1NCwgCi0gICAgMzEzODMsIDQwMjU4LCAzMTM4OCwgNDAyNjMsIDMxMzkzLCAzMTM5OCwgNDAyNjYsIDQwMjcxLCA0MDI3NSwgMzA5NDgsIAotICAgIDQwMjgxLCAxMzU5OSwgNDAyODgsIDQwMjkzLCAzMTQwMywgNDAyOTcsIDQwMzAyLCA0MDMwNywgNDAzMTIsIDQwMzE2LCAKLSAgICA0MDMyMSwgNDAzMjYsIDQwMzMyLCA0MDMzNywgNDAzNDIsIDQwMzQ4LCA0MDM1NCwgNDAzNTksIDQwMzYzLCA0MDM2OCwgCi0gICAgNDAzNzMsIDQwMzc4LCA0MDM4MiwgNDAzODcsIDQwMzkyLCA0MDM5NywgNDA0MDMsIDQwNDA5LCA0MDQxNSwgNDA0MjAsIAotICAgIDQwNDI0LCA0MDQyOSwgNDA0MzMsIDMxNDA3LCAzMTQxMiwgMzE0MTcsIDQwNDM3LCA0MDQ0MSwgNDA0NDUsIDMxNDIyLCAKLSAgICAzMTQyOCwgMzE0MzQsIDMxNDQ2LCA0MDQ1NywgMjYwMTMsIDQwNDYxLCA0MDQ2NSwgNDA0NzAsIDQwNDc1LCA0MDQ4MCwgCi0gICAgNDA0ODUsIDQwNDg5LCA0MDQ5MywgNDA1MDMsIDQwNTA4LCA0MDUxMywgNDA1MTcsIDQwNTIxLCA0MDUyNCwgNDA1MzIsIAotICAgIDMxNDk0LCA0MDUzNywgMTQ3OSwgNDA1NDMsIDQwNTUxLCA0MDU2MCwgNDA1NjQsIDQwNTY4LCA0MDU3NiwgNDA1ODIsIAotICAgIDQwNTkwLCA0MDYwNiwgNDA2MTAsIDQwNjE0LCA0MDYxOSwgNDA2MzQsIDMxNTMxLCAxNzQ5LCAxMjA1NSwgNDA2MzgsIAotICAgIDEzNzgsIDQwNjUwLCA0MDY1MSwgNDA2NTksIDQwNjY2LCA0MDY3MSwgNDA2NzgsIDQwNjgzLCA5Mzc5LCAxMTE5LCAxMDMzMiwgCi0gICAgNDA2OTAsIDQwNjk1LCA0MDY5OCwgNDA3MDEsIDQwNzEwLCAxMjg2LCA0MDcxNSwgMzkwNjUsIDQwNzIyLCA0MDcyNywgCi0gICAgNDA3MzEsIDIyNTAzLCAyNTU3LCA0MDczOSwgMTA3NDEsIDQwNzQ5LCA0MDc1NSwgMjMzNywgMjM0NywgNDA3NjQsIDQwNzczLCAKLSAgICA0MDc4MywgNDA3OTQsIDMyOTMsIDM0MjM3LCAxMDM4NCwgMzgwNywgMTY2ODEsIDEyOTEsIDQwNzk5LCA0MDgwNywgNDA4MTQsIAotICAgIDQwODE5LCA0MDgyMywgNDA4MjcsIDIzODc1LCAxMDQxMSwgNDA4MzUsIDQwODQ0LCA0MDg1MywgNDA4NjEsIDQwODY4LCAKLSAgICA0MDg3OSwgNDA4ODQsIDQwODk3LCA0MDkxMCwgNDA5MjIsIDQwOTM0LCA0MDk0NiwgNDA5NTksIDQwOTcwLCA0MDk4MSwgCi0gICAgNDA5OTEsIDQwOTk5LCA0MTAwNywgNDEwMTksIDQxMDMxLCA0MTA0MiwgNDEwNTEsIDQxMDU5LCA0MTA2NiwgNDEwNzgsIAotICAgIDQxMDg1LCA0MTA5NCwgNDExMDEsIDQxMTE0LCA0MTExOSwgNDExMjksIDQxMTM0LCA0MTE0MCwgNDExNDUsIDM3MjExLCAKLSAgICA0MTE0OSwgNDExNTYsIDQxMTYwLCA0MTE2NywgNDExNzUsIDI1MTgsIDQxMTgyLCA0MTE5MywgNDEyMDMsIDQxMjEyLCAKLSAgICA0MTIyMCwgNDEyMzAsIDQxMjM4LCA0MTI0OCwgNDEyNTcsIDQxMjYyLCA0MTI2OCwgNDEyNzQsIDM3MDksIDQxMjg1LCAKLSAgICA0MTI5NSwgNDEzMDQsIDQxMzEzLCA0MTMyMywgNDEzMzEsIDQxMzQwLCA0MTM0NSwgNDEzNTAsIDQxMzU1LCAxNzA1LCAzNywgCi0gICAgNDEzNjMsIDQxMzcxLCA0MTM4MiwgNDEzOTMsIDE2MzU2LCA0MTQwMywgNDE0MDcsIDQxNDE0LCA0MTQyMCwgNDE0MjUsIAotICAgIDQxNDI5LCA0MTQ0MCwgNDE0NTAsIDQxNDU5LCA0MTQ3MCwgMTY3MzAsIDE2NzM1LCA0MTQ3NSwgNDE0ODQsIDQxNDg5LCAKLSAgICA0MTQ5OSwgNDE1MDQsIDQxNTEyLCA0MTUyMCwgNDE1MjcsIDQxNTMzLCA3MDc4LCAyMjgsIDQxNTM3LCA0MTU0MywgNDE1NDgsIAotICAgIDQxNTUxLCAyMTE3LCAzOTE4MSwgNDE1NTksIDQxNTYzLCA0MTU2NiwgMTUxMiwgNDE1NzIsIDEzOTgwLCAxMjk2LCA0MTU3NywgCi0gICAgNDE1OTAsIDQxNjA0LCAyNjQzLCA0MTYyMiwgNDE2MzQsIDQxNjQ2LCAyNjU3LCAyNjc0LCA0MTY2MCwgNDE2NzMsIDI2ODksIAotICAgIDQxNjg3LCA0MTY5OSwgMjcwNCwgNDE3MTMsIDEzMDIsIDEzMDgsIDEzMTQsIDEwNjU5LCA0MTcxOCwgNDE3MjMsIDQxNzI4LCAKLSAgICA0MTczMiwgNDE3NDcsIDQxNzYyLCA0MTc3NywgNDE3OTIsIDQxODA3LCA0MTgyMiwgNDE4MzcsIDQxODUyLCA0MTg2NywgCi0gICAgNDE4ODIsIDQxODk3LCA0MTkxMiwgNDE5MjcsIDQxOTQyLCA0MTk1NywgNDE5NzIsIDQxOTg3LCA0MjAwMiwgNDIwMTcsIAotICAgIDQyMDMyLCA0MjA0NywgNDIwNjIsIDQyMDc3LCA0MjA5MiwgNDIxMDcsIDQyMTIyLCA0MjEzNywgNDIxNTIsIDQyMTY3LCAKLSAgICA0MjE4MiwgNDIxOTcsIDQyMjEyLCA0MjIyNywgNDIyNDIsIDQyMjU3LCA0MjI3MiwgNDIyODcsIDQyMzAyLCA0MjMxNywgCi0gICAgNDIzMzIsIDQyMzQ3LCA0MjM2MiwgNDIzNzcsIDQyMzkyLCA0MjQwNywgNDI0MjIsIDQyNDM3LCA0MjQ1MiwgNDI0NjcsIAotICAgIDQyNDgyLCA0MjQ5NywgNDI1MTIsIDQyNTI3LCA0MjU0MiwgNDI1NTcsIDQyNTcyLCA0MjU4NywgNDI2MDIsIDQyNjE3LCAKLSAgICA0MjYzMiwgNDI2NDcsIDQyNjYyLCA0MjY3NywgNDI2OTIsIDQyNzA3LCA0MjcyMiwgNDI3MzcsIDQyNzUyLCA0Mjc2NywgCi0gICAgNDI3ODIsIDQyNzk3LCA0MjgxMiwgNDI4MjcsIDQyODQyLCA0Mjg1NywgNDI4NzIsIDQyODg3LCA0MjkwMiwgNDI5MTcsIAotICAgIDQyOTMyLCA0Mjk0NywgNDI5NjIsIDQyOTc3LCA0Mjk5MiwgNDMwMDcsIDQzMDIyLCA0MzAzNywgNDMwNTIsIDQzMDY3LCAKLSAgICA0MzA4MiwgNDMwOTcsIDQzMTEyLCA0MzEyNywgNDMxNDIsIDQzMTU3LCA0MzE3MiwgNDMxODcsIDQzMjAyLCA0MzIxNywgCi0gICAgNDMyMzIsIDQzMjQ3LCA0MzI2MiwgNDMyNzcsIDQzMjkyLCA0MzMwNywgNDMzMjIsIDQzMzM3LCA0MzM1MiwgNDMzNjcsIAotICAgIDQzMzgyLCA0MzM5NywgNDM0MTIsIDQzNDI3LCA0MzQ0MiwgNDM0NTcsIDQzNDcyLCA0MzQ4NywgNDM1MDIsIDQzNTE3LCAKLSAgICA0MzUzMiwgNDM1NDcsIDQzNTYyLCA0MzU3NywgNDM1OTIsIDQzNjA3LCA0MzYyMiwgNDM2MzcsIDQzNjUyLCA0MzY2NywgCi0gICAgNDM2ODIsIDQzNjk3LCA0MzcxMiwgNDM3MjcsIDQzNzQyLCA0Mzc1NywgNDM3NzIsIDQzNzg3LCA0MzgwMiwgNDM4MTcsIAotICAgIDQzODMyLCA0Mzg0NywgNDM4NjIsIDQzODc3LCA0Mzg5MiwgNDM5MDcsIDQzOTIyLCA0MzkzNywgNDM5NTIsIDQzOTY3LCAKLSAgICA0Mzk4MiwgNDM5OTcsIDQ0MDEyLCA0NDAyNywgNDQwNDIsIDQ0MDU3LCA0NDA3MiwgNDQwODcsIDQ0MTAyLCA0NDExNywgCi0gICAgNDQxMzIsIDQ0MTQ3LCA0NDE2MiwgNDQxNzcsIDQ0MTkyLCA0NDIwNywgNDQyMjIsIDQ0MjM3LCA0NDI1MiwgNDQyNjcsIAotICAgIDQ0MjgyLCA0NDI5NywgNDQzMTIsIDQ0MzI3LCA0NDM0MiwgNDQzNTcsIDQ0MzcyLCA0NDM4NywgNDQ0MDIsIDQ0NDE3LCAKLSAgICA0NDQzMiwgNDQ0NDcsIDQ0NDYyLCA0NDQ3NywgNDQ0OTIsIDQ0NTA3LCA0NDUyMiwgNDQ1MzcsIDQ0NTUyLCA0NDU2NywgCi0gICAgNDQ1ODIsIDQ0NTk3LCA0NDYxMiwgNDQ2MjcsIDQ0NjQyLCA0NDY1NywgNDQ2NzIsIDQ0Njg3LCA0NDcwMiwgNDQ3MTcsIAotICAgIDQ0NzMyLCA0NDc0NywgNDQ3NjIsIDQ0Nzc3LCA0NDc5MiwgNDQ4MDcsIDQ0ODIyLCA0NDgzNywgNDQ4NTIsIDQ0ODY3LCAKLSAgICA0NDg4MiwgNDQ4OTcsIDQ0OTEyLCA0NDkyNywgNDQ5NDIsIDQ0OTU3LCA0NDk3MiwgNDQ5ODcsIDQ1MDAyLCA0NTAxNywgCi0gICAgNDUwMzIsIDQ1MDQ3LCA0NTA2MiwgNDUwNzcsIDQ1MDkyLCA0NTEwNywgNDUxMjIsIDQ1MTM3LCA0NTE1MiwgNDUxNjcsIAotICAgIDQ1MTgyLCA0NTE5NywgNDUyMTIsIDQ1MjI3LCA0NTI0MiwgNDUyNTcsIDQ1MjcyLCA0NTI4NywgNDUzMDIsIDQ1MzE3LCAKLSAgICA0NTMzMiwgNDUzNDcsIDQ1MzYyLCA0NTM3NywgNDUzOTIsIDQ1NDA3LCA0NTQyMiwgNDU0MzcsIDQ1NDUyLCA0NTQ2NywgCi0gICAgNDU0ODIsIDQ1NDk3LCA0NTUxMiwgNDU1MjcsIDQ1NTQyLCA0NTU1NywgNDU1NzIsIDQ1NTg3LCA0NTYwMiwgNDU2MTcsIAotICAgIDQ1NjMyLCA0NTY0NywgNDU2NjIsIDQ1Njc3LCA0NTY5MiwgNDU3MDcsIDQ1NzIyLCA0NTczNywgNDU3NTIsIDQ1NzY3LCAKLSAgICA0NTc4MiwgNDU3OTcsIDQ1ODEyLCA0NTgyNywgNDU4NDIsIDQ1ODU3LCA0NTg3MiwgNDU4ODcsIDQ1OTAyLCA0NTkxNywgCi0gICAgNDU5MzIsIDQ1OTQ3LCA0NTk2MiwgNDU5NzcsIDQ1OTkyLCA0NjAwNywgNDYwMjIsIDQ2MDM3LCA0NjA1MiwgNDYwNjcsIAotICAgIDQ2MDgyLCA0NjA5NywgNDYxMTIsIDQ2MTI3LCA0NjE0MiwgNDYxNTcsIDQ2MTcyLCA0NjE4NywgNDYyMDIsIDQ2MjE3LCAKLSAgICA0NjIzMiwgNDYyNDcsIDQ2MjYyLCA0NjI3NywgNDYyOTIsIDQ2MzA3LCA0NjMyMiwgNDYzMzcsIDQ2MzUyLCA0NjM2NywgCi0gICAgNDYzODIsIDQ2Mzk3LCA0NjQxMiwgNDY0MjcsIDQ2NDQyLCA0NjQ1NywgNDY0NzIsIDQ2NDg3LCA0NjUwMiwgNDY1MTcsIAotICAgIDQ2NTMyLCA0NjU0NywgNDY1NjIsIDQ2NTc3LCA0NjU5MiwgNDY2MDcsIDQ2NjIyLCA0NjYzNywgNDY2NTIsIDQ2NjY3LCAKLSAgICA0NjY4MiwgNDY2OTcsIDQ2NzEyLCA0NjcyNywgNDY3NDIsIDQ2NzU3LCA0Njc3MiwgNDY3ODcsIDQ2ODAyLCA0NjgxNywgCi0gICAgNDY4MzIsIDQ2ODQ3LCA0Njg2MiwgNDY4NzcsIDQ2ODkyLCA0NjkwNywgNDY5MjIsIDQ2OTM3LCA0Njk1MiwgNDY5NjcsIAotICAgIDQ2OTgyLCA0Njk5NywgNDcwMTIsIDQ3MDI3LCA0NzA0MiwgNDcwNTcsIDQ3MDcyLCA0NzA4NywgNDcxMDIsIDQ3MTE3LCAKLSAgICA0NzEzMiwgNDcxNDcsIDQ3MTYyLCA0NzE3NywgNDcxOTIsIDQ3MjA3LCA0NzIyMiwgNDcyMzcsIDQ3MjUyLCA0NzI2NywgCi0gICAgNDcyODIsIDQ3Mjk3LCA0NzMxMiwgNDczMjcsIDQ3MzQyLCA0NzM1NywgNDczNzIsIDQ3Mzg3LCA0NzQwMiwgNDc0MTcsIAotICAgIDQ3NDMyLCA0NzQ0NywgNDc0NjIsIDQ3NDc3LCA0NzQ5MiwgNDc1MDcsIDQ3NTIyLCA0NzUzNywgNDc1NTIsIDQ3NTY3LCAKLSAgICA0NzU4MiwgNDc1OTcsIDQ3NjEyLCA0NzYyNywgNDc2NDIsIDQ3NjU3LCA0NzY3MiwgNDc2ODcsIDQ3NzAyLCA0NzcxNywgCi0gICAgNDc3MzIsIDQ3NzQ3LCA0Nzc2MiwgNDc3NzcsIDQ3NzkyLCA0NzgwNywgNDc4MjIsIDQ3ODM3LCA0Nzg1MiwgNDc4NjcsIAotICAgIDQ3ODgyLCA0Nzg5NywgNDc5MTIsIDQ3OTI3LCA0Nzk0MiwgNDc5NTcsIDQ3OTcyLCA0Nzk4NywgNDgwMDIsIDQ4MDE3LCAKLSAgICA0ODAzMiwgNDgwNDcsIDQ4MDYyLCA0ODA3NywgNDgwOTIsIDQ4MTA3LCA0ODEyMiwgNDgxMzcsIDQ4MTUyLCA0ODE2NywgCi0gICAgNDgxODIsIDQ4MTk3LCA0ODIxMiwgNDgyMjcsIDQ4MjQyLCA0ODI1NywgNDgyNzIsIDQ4Mjg3LCA0ODMwMiwgNDgzMTcsIAotICAgIDQ4MzMyLCA0ODM0NywgNDgzNjIsIDQ4Mzc3LCA0ODM5MiwgNDg0MDcsIDQ4NDIyLCA0ODQzNywgNDg0NTIsIDQ4NDY3LCAKLSAgICA0ODQ4MiwgNDg0OTcsIDQ4NTEyLCA0ODUyNywgNDg1NDIsIDQ4NTU3LCA0ODU3MiwgNDg1ODcsIDQ4NjAyLCA0ODYxNywgCi0gICAgNDg2MzIsIDQ4NjQ3LCA0ODY2MiwgNDg2NzcsIDQ4NjkyLCA0ODcwNywgNDg3MjIsIDQ4NzM3LCA0ODc1MiwgNDg3NjcsIAotICAgIDQ4NzgyLCA0ODc5NywgNDg4MTIsIDQ4ODI3LCA0ODg0MiwgNDg4NTcsIDQ4ODcyLCA0ODg4NywgNDg5MDIsIDQ4OTE3LCAKLSAgICA0ODkzMiwgNDg5NDcsIDQ4OTYyLCA0ODk3NywgNDg5OTIsIDQ5MDA3LCA0OTAyMiwgNDkwMzcsIDQ5MDUyLCA0OTA2NywgCi0gICAgNDkwODIsIDQ5MDk3LCA0OTExMiwgNDkxMjcsIDQ5MTQyLCA0OTE1NywgNDkxNzIsIDQ5MTg3LCA0OTIwMiwgNDkyMTcsIAotICAgIDQ5MjMyLCA0OTI0NywgNDkyNjIsIDQ5Mjc3LCA0OTI5MiwgNDkzMDcsIDQ5MzIyLCA0OTMzNywgNDkzNTIsIDQ5MzY3LCAKLSAgICA0OTM4MiwgNDkzOTcsIDQ5NDEyLCA0OTQyNywgNDk0NDIsIDQ5NDU3LCA0OTQ3MiwgNDk0ODcsIDQ5NTAyLCA0OTUxNywgCi0gICAgNDk1MzIsIDQ5NTQ4LCA0OTU2NCwgNDk1ODAsIDQ5NTk2LCA0OTYxMiwgNDk2MjgsIDQ5NjQ0LCA0OTY2MCwgNDk2NzYsIAotICAgIDQ5NjkyLCA0OTcwOCwgNDk3MjQsIDQ5NzQwLCA0OTc1NiwgNDk3NzIsIDQ5Nzg4LCA0OTgwNCwgNDk4MjAsIDQ5ODM2LCAKLSAgICA0OTg1MiwgNDk4NjgsIDQ5ODg0LCA0OTkwMCwgNDk5MTYsIDQ5OTMyLCA0OTk0OCwgNDk5NjQsIDQ5OTgwLCA0OTk5NiwgCi0gICAgNTAwMTIsIDUwMDI4LCA1MDA0NCwgNTAwNjAsIDUwMDc2LCA1MDA5MiwgNTAxMDgsIDUwMTI0LCA1MDE0MCwgNTAxNTYsIAotICAgIDUwMTcyLCA1MDE4OCwgNTAyMDQsIDUwMjIwLCA1MDIzNiwgNTAyNTIsIDUwMjY4LCA1MDI4NCwgNTAzMDAsIDUwMzE2LCAKLSAgICA1MDMzMiwgNTAzNDgsIDUwMzY0LCA1MDM4MCwgNTAzOTYsIDUwNDEyLCA1MDQyOCwgNTA0NDQsIDUwNDYwLCA1MDQ3NiwgCi0gICAgNTA0OTIsIDUwNTA4LCA1MDUyNCwgNTA1NDAsIDUwNTU2LCA1MDU3MiwgNTA1ODgsIDUwNjA0LCA1MDYyMCwgNTA2MzYsIAotICAgIDUwNjUyLCA1MDY2OCwgNTA2ODQsIDUwNzAwLCA1MDcxNiwgNTA3MzIsIDUwNzQ4LCA1MDc2NCwgNTA3ODAsIDUwNzk2LCAKLSAgICA1MDgxMiwgNTA4MjgsIDUwODQ0LCA1MDg2MCwgNTA4NzYsIDUwODkyLCA1MDkwOCwgNTA5MjQsIDUwOTQwLCA1MDk1NiwgCi0gICAgNTA5NzIsIDUwOTg4LCA1MTAwNCwgNTEwMjAsIDUxMDM2LCA1MTA1MiwgNTEwNjgsIDUxMDg0LCA1MTEwMCwgNTExMTYsIAotICAgIDUxMTMyLCA1MTE0OCwgNTExNjQsIDUxMTgwLCA1MTE5NiwgNTEyMTIsIDUxMjI4LCA1MTI0NCwgNTEyNjAsIDUxMjc2LCAKLSAgICA1MTI5MiwgNTEzMDgsIDUxMzI0LCA1MTM0MCwgNTEzNTYsIDUxMzcyLCA1MTM4OCwgNTE0MDQsIDUxNDIwLCA1MTQzNiwgCi0gICAgNTE0NTIsIDUxNDY4LCA1MTQ4NCwgNTE1MDAsIDUxNTE2LCA1MTUzMiwgNTE1NDgsIDUxNTY0LCA1MTU4MCwgNTE1OTYsIAotICAgIDUxNjEyLCA1MTYyOCwgNTE2NDQsIDUxNjYwLCA1MTY3NiwgNTE2OTIsIDUxNzA4LCA1MTcyNCwgNTE3NDAsIDUxNzU2LCAKLSAgICA1MTc3MiwgNTE3ODgsIDUxODA0LCA1MTgyMCwgNTE4MzYsIDUxODUyLCA1MTg2OCwgNTE4ODQsIDUxOTAwLCA1MTkxNiwgCi0gICAgNTE5MzIsIDUxOTQ4LCA1MTk2NCwgNTE5ODAsIDUxOTk2LCA1MjAxMiwgNTIwMjgsIDUyMDQ0LCA1MjA2MCwgNTIwNzYsIAotICAgIDUyMDkyLCA1MjEwOCwgNTIxMjQsIDUyMTQwLCA1MjE1NiwgNTIxNzIsIDUyMTg4LCA1MjIwNCwgNTIyMjAsIDUyMjM2LCAKLSAgICA1MjI1MiwgNTIyNjgsIDUyMjg0LCA1MjMwMCwgNTIzMTYsIDUyMzMyLCA1MjM0OCwgNTIzNjQsIDUyMzgwLCA1MjM5NiwgCi0gICAgNTI0MTIsIDUyNDI4LCA1MjQ0NCwgNTI0NjAsIDUyNDc2LCA1MjQ5MiwgNTI1MDgsIDUyNTI0LCA1MjU0MCwgNTI1NTYsIAotICAgIDUyNTcyLCA1MjU4OCwgNTI2MDQsIDUyNjIwLCA1MjYzNiwgNTI2NTIsIDUyNjY4LCA1MjY4NCwgNTI3MDAsIDUyNzE2LCAKLSAgICA1MjczMiwgNTI3NDgsIDUyNzY0LCA1Mjc4MCwgNTI3OTYsIDUyODEyLCA1MjgyOCwgNTI4NDQsIDUyODYwLCA1Mjg3NiwgCi0gICAgNTI4OTIsIDUyOTA4LCA1MjkyNCwgNTI5NDAsIDUyOTU2LCA1Mjk3MiwgNTI5ODgsIDUzMDA0LCA1MzAyMCwgNTMwMzYsIAotICAgIDUzMDUyLCA1MzA2OCwgNTMwODQsIDUzMTAwLCA1MzExNiwgNTMxMzIsIDUzMTQ4LCA1MzE2NCwgNTMxODAsIDUzMTk2LCAKLSAgICA1MzIxMiwgNTMyMjgsIDUzMjQ0LCA1MzI2MCwgNTMyNzYsIDUzMjkyLCA1MzMwOCwgNTMzMjQsIDUzMzQwLCA1MzM1NiwgCi0gICAgNTMzNzIsIDUzMzg4LCA1MzQwNCwgNTM0MjAsIDUzNDM2LCA1MzQ1MiwgNTM0NjgsIDUzNDg0LCA1MzUwMCwgNTM1MTYsIAotICAgIDUzNTMyLCA1MzU0OCwgNTM1NjQsIDUzNTgwLCA1MzU5NiwgNTM2MTIsIDUzNjI4LCA1MzY0NCwgNTM2NjAsIDUzNjc2LCAKLSAgICA1MzY5MiwgNTM3MDgsIDUzNzI0LCA1Mzc0MCwgNTM3NTYsIDUzNzcyLCA1Mzc4OCwgNTM4MDQsIDUzODIwLCA1MzgzNiwgCi0gICAgNTM4NTIsIDUzODY4LCA1Mzg4NCwgNTM5MDAsIDUzOTE2LCA1MzkzMiwgNTM5NDgsIDUzOTY0LCA1Mzk4MCwgNTM5OTYsIAotICAgIDU0MDEyLCA1NDAyOCwgNTQwNDQsIDU0MDYwLCA1NDA3NiwgNTQwOTIsIDU0MTA4LCA1NDEyNCwgNTQxNDAsIDU0MTU2LCAKLSAgICA1NDE3MiwgNTQxODgsIDU0MjA0LCA1NDIyMCwgNTQyMzYsIDU0MjUyLCA1NDI2OCwgNTQyODQsIDU0MzAwLCA1NDMxNiwgCi0gICAgNTQzMzIsIDU0MzQ4LCA1NDM2NCwgNTQzODAsIDU0Mzk2LCA1NDQxMiwgNTQ0MjgsIDU0NDQ0LCA1NDQ2MCwgNTQ0NzYsIAotICAgIDU0NDkyLCA1NDUwOCwgNTQ1MjQsIDU0NTQwLCA1NDU1NiwgNTQ1NzIsIDU0NTg4LCA1NDYwNCwgNTQ2MjAsIDU0NjM2LCAKLSAgICA1NDY1MiwgNTQ2NjgsIDU0Njg0LCA1NDcwMCwgNTQ3MTYsIDU0NzMyLCA1NDc0OCwgNTQ3NjQsIDU0NzgwLCA1NDc5NiwgCi0gICAgNTQ4MTIsIDU0ODI4LCA1NDg0NCwgNTQ4NjAsIDU0ODc2LCA1NDg5MiwgNTQ5MDgsIDU0OTI0LCA1NDk0MCwgNTQ5NTYsIAotICAgIDU0OTcyLCA1NDk4OCwgNTUwMDQsIDU1MDIwLCA1NTAzNiwgNTUwNTIsIDU1MDY4LCA1NTA4NCwgNTUxMDAsIDU1MTE2LCAKLSAgICA1NTEzMiwgNTUxNDgsIDU1MTY0LCA1NTE4MCwgNTUxOTYsIDU1MjEyLCA1NTIyOCwgNTUyNDQsIDU1MjYwLCA1NTI3NiwgCi0gICAgNTUyOTIsIDU1MzA4LCA1NTMyNCwgNTUzNDAsIDU1MzU2LCA1NTM3MiwgNTUzODgsIDU1NDA0LCA1NTQyMCwgNTU0MzYsIAotICAgIDU1NDUyLCA1NTQ2OCwgNTU0ODQsIDU1NTAwLCA1NTUxNiwgNTU1MzIsIDU1NTQ4LCA1NTU2NCwgNTU1ODAsIDU1NTk2LCAKLSAgICA1NTYxMiwgNTU2MjgsIDU1NjQ0LCA1NTY2MCwgNTU2NzYsIDU1NjkyLCA1NTcwOCwgNTU3MjQsIDU1NzQwLCA1NTc1NiwgCi0gICAgNTU3NzIsIDU1Nzg4LCA1NTgwNCwgNTU4MjAsIDU1ODM2LCA1NTg1MiwgNTU4NjgsIDU1ODg0LCA1NTkwMCwgNTU5MTYsIAotICAgIDU1OTMyLCA1NTk0OCwgNTU5NjQsIDU1OTgwLCA1NTk5NiwgNTYwMTIsIDU2MDI4LCA1NjA0NCwgNTYwNjAsIDU2MDc2LCAKLSAgICA1NjA5MiwgNTYxMDgsIDU2MTI0LCA1NjE0MCwgNTYxNTYsIDU2MTcyLCA1NjE4OCwgNTYyMDQsIDU2MjIwLCA1NjIzNiwgCi0gICAgNTYyNTIsIDU2MjY4LCA1NjI4NCwgNTYzMDAsIDU2MzE2LCA1NjMzMiwgNTYzNDgsIDU2MzY0LCA1NjM4MCwgNTYzOTYsIAotICAgIDU2NDEyLCA1NjQyOCwgNTY0NDQsIDU2NDYwLCA1NjQ3NiwgNTY0OTIsIDU2NTA4LCA1NjUyNCwgNTY1NDAsIDU2NTU2LCAKLSAgICA1NjU3MiwgNTY1ODgsIDU2NjA0LCA1NjYyMCwgNTY2MzYsIDU2NjUyLCA1NjY2OCwgNTY2ODQsIDU2NzAwLCA1NjcxNiwgCi0gICAgNTY3MzIsIDU2NzQ4LCA1Njc2NCwgNTY3ODAsIDU2Nzk2LCA1NjgxMiwgNTY4MjgsIDU2ODQ0LCA1Njg2MCwgNTY4NzYsIAotICAgIDU2ODkyLCA1NjkwOCwgNTY5MjQsIDU2OTQwLCA1Njk1NiwgNTY5NzIsIDU2OTg4LCA1NzAwNCwgNTcwMjAsIDU3MDM2LCAKLSAgICA1NzA1MiwgNTcwNjgsIDU3MDg0LCA1NzEwMCwgNTcxMTYsIDU3MTMyLCA1NzE0OCwgNTcxNjQsIDU3MTgwLCA1NzE5NiwgCi0gICAgNTcyMTIsIDU3MjI4LCA1NzI0NCwgNTcyNjAsIDU3Mjc2LCA1NzI5MiwgNTczMDgsIDU3MzI0LCA1NzM0MCwgNTczNTYsIAotICAgIDU3MzcyLCA1NzM4OCwgNTc0MDQsIDU3NDIwLCA1NzQzNiwgNTc0NTIsIDU3NDY4LCA1NzQ4NCwgNTc1MDAsIDU3NTE2LCAKLSAgICA1NzUzMiwgNTc1NDgsIDU3NTY0LCA1NzU4MCwgNTc1OTYsIDU3NjEyLCA1NzYyOCwgNTc2NDQsIDU3NjYwLCA1NzY3NiwgCi0gICAgNTc2OTIsIDU3NzA4LCA1NzcyNCwgNTc3NDAsIDU3NzU2LCA1Nzc3MiwgNTc3ODgsIDU3ODA0LCA1NzgyMCwgNTc4MzYsIAotICAgIDU3ODUyLCA1Nzg2OCwgNTc4ODQsIDU3OTAwLCA1NzkxNiwgNTc5MzIsIDU3OTQ4LCA1Nzk2NCwgNTc5ODAsIDU3OTk2LCAKLSAgICA1ODAxMiwgNTgwMjgsIDU4MDQ0LCA1ODA2MCwgNTgwNzYsIDU4MDkyLCA1ODEwOCwgNTgxMjQsIDU4MTQwLCA1ODE1NiwgCi0gICAgNTgxNzIsIDU4MTg4LCA1ODIwNCwgNTgyMTksIDE2NzYyLCA1ODIyOCwgNTgyMzQsIDU4MjQwLCA1ODI1MCwgNTgyNTgsIAotICAgIDE0ODk0LCAxNTQ0NSwgOTk2MCwgNTgyNzEsIDE1MjAsIDU4Mjc5LCAzNzYxLCAyNzQzMiwgNzE4MywgNTgyODUsIDU4MjkwLCAKLSAgICA1ODI5NSwgNTgzMDAsIDU4MzA1LCA1ODMxMSwgNTgzMTYsIDU4MzIyLCA1ODMyNywgNTgzMzMsIDU4MzM4LCA1ODM0MywgCi0gICAgNTgzNDgsIDU4MzUzLCA1ODM1OSwgNTgzNjQsIDU4MzY5LCA1ODM3NCwgNTgzNzksIDU4Mzg0LCA1ODM4OSwgNTgzOTQsIAotICAgIDU4NDAwLCA1ODQwNSwgNTg0MTEsIDU4NDE4LCAyNTYxLCA1ODQyMywgNTg0MjksIDg1MjYsIDU4NDMzLCA1ODQzOCwgCi0gICAgNTg0NDUsIDU4NDUzLCA0MCwgNTg0NTcsIDU4NDYzLCA1ODQ2OCwgNTg0NzMsIDU4NDc3LCA1ODQ4MiwgNTg0ODYsIDU4NDkwLCAKLSAgICAxMDY4NCwgNTg0OTQsIDU4NTA0LCA1ODUxNywgNTg1MjgsIDU4NTQxLCA1ODU0OCwgNTg1NTQsIDU4NTU5LCA1ODU2NSwgCi0gICAgNTg1NzEsIDU4NTc3LCA1ODU4MiwgNTg1ODcsIDU4NTkyLCA1ODU5NywgNTg2MDEsIDU4NjA2LCA1ODYxMSwgNTg2MTYsIAotICAgIDU4NjIyLCA1ODYyOCwgNTg2MzQsIDU4NjM5LCA1ODY0MywgNTg2NDgsIDU4NjUzLCA1ODY1NywgNTg2NjIsIDU4NjY3LCAKLSAgICA1ODY3MiwgNTg2NzYsIDEwNzAwLCAxMDcxMSwgMTA3MTYsIDE1NjMsIDU4NjgwLCAxNTY4LCA1ODY4NiwgMTYyMzksIAotICAgIDU4Njg5LCA1ODY5NSwgMTU5OSwgNTg3MDEsIDE2MDUsIDE2MTEsIDEwNzQ2LCA1ODcwNiwgNTg3MTQsIDU4NzIxLCA1ODcyNSwgCi0gICAgNTg3MzEsIDU4NzM2LCAzMDk3NywgNTg3NDEsIDU4NzQ4LCA1ODc1MywgNTg3NTcsIDU4NzYxLCAxNjE2LCAxNjMzMSwgCi0gICAgNTg3NzAsIDU4Nzc0LCAxNjM0MiwgMTEyNSwgNTg3NzgsIDU4Nzg1LCA1ODc5MCwgNTg3OTQsIDE2MzY3LCAxNjIwLCAKLSAgICAzNzM1MCwgNTg3OTcsIDU4ODAyLCA1ODgxMiwgNTg4MjEsIDU4ODI2LCA1ODgzMCwgNTg4MzYsIDE2MjUsIDM5MjU5LCAKLSAgICA1ODg0MSwgNTg4NTAsIDU4ODU2LCA1ODg2MSwgMTA5MDQsIDEwOTEwLCA1ODg2NywgNTg4NzksIDU4ODk2LCA1ODkxMywgCi0gICAgNTg5MzAsIDU4OTQ3LCA1ODk2NCwgNTg5ODEsIDU4OTk4LCA1OTAxNSwgNTkwMzIsIDU5MDQ5LCA1OTA2NiwgNTkwODMsIAotICAgIDU5MTAwLCA1OTExNywgNTkxMzQsIDU5MTUxLCA1OTE2OCwgNTkxODUsIDU5MjAyLCA1OTIxOSwgNTkyMzYsIDU5MjUzLCAKLSAgICA1OTI3MCwgNTkyODcsIDU5MzA0LCA1OTMyMSwgNTkzMzgsIDU5MzU1LCA1OTM3MiwgNTkzODksIDU5NDA2LCA1OTQyMywgCi0gICAgNTk0NDAsIDU5NDU3LCA1OTQ3NCwgNTk0OTEsIDU5NTA4LCA1OTUyNSwgNTk1NDIsIDU5NTU5LCA1OTU3NiwgNTk1OTMsIAotICAgIDU5NjEwLCA1OTYyNywgNTk2NDQsIDU5NjYxLCA1OTY3OCwgNTk2OTUsIDU5NzEyLCA1OTcyMywgNTk3MjgsIDE2MzAsIAotICAgIDU5NzMyLCA1OTczOCwgNTk3NDMsIDU5NzQ4LCA5MzI2LCAxNjM1LCA1OTc1NCwgNTk3NjMsIDI3NzMxLCA1OTc2OCwgCi0gICAgNTk3NzksIDU5Nzg5LCA1OTc5NCwgNTk4MDEsIDU5ODA3LCA1OTgxMiwgNTk4MTcsIDE2NjE5LCA1OTgyMSwgMTA5MjEsIAotICAgIDE2NDAsIDEwOTI2LCA1OTgyNywgNTk4MzIsIDU5ODM4LCA1OTg0MywgNTk4NDgsIDU5ODUzLCA1OTg1OCwgNTk4NjMsIAotICAgIDU5ODY4LCA1OTg3MywgNTk4NzksIDU5ODg1LCA1OTg5MSwgNTk4OTYsIDU5OTAwLCA1OTkwNSwgNTk5MTAsIDU5OTE0LCAKLSAgICA1OTkxOSwgNTk5MjQsIDU5OTI5LCA1OTkzMywgNTk5MzgsIDU5OTQ0LCA1OTk0OSwgNTk5NTQsIDU5OTU4LCA1OTk2MywgCi0gICAgNTk5NjgsIDU5OTc0LCA1OTk3OSwgNTk5ODQsIDU5OTkwLCA1OTk5NiwgNjAwMDEsIDYwMDA1LCA2MDAxMCwgNjAwMTUsIAotICAgIDYwMDIwLCA2MDAyNCwgNjAwMjksIDYwMDM0LCA2MDAzOSwgNjAwNDUsIDYwMDUxLCA2MDA1NiwgNjAwNjAsIDYwMDY0LCAKLSAgICA2MDA2OSwgNjAwNzQsIDYwMDc5LCAyOTEyOSwgNjAwODMsIDYwMDg4LCA2MDA5MywgNjAwOTksIDYwMTA0LCA2MDEwOSwgCi0gICAgNjAxMTMsIDYwMTE4LCA2MDEyMywgNjAxMjksIDYwMTM0LCA2MDEzOSwgNjAxNDUsIDYwMTUxLCA2MDE1NiwgNjAxNjAsIAotICAgIDYwMTY1LCA2MDE3MCwgNjAxNzQsIDYwMTc5LCA2MDE4NCwgNjAxODksIDYwMTk1LCA2MDIwMSwgNjAyMDYsIDYwMjEwLCAKLSAgICA2MDIxNSwgNjAyMjAsIDYwMjI0LCA2MDIyOSwgNjAyMzQsIDYwMjM5LCA2MDI0MywgNjAyNDYsIDMxNjM5LCA2MDI1MSwgCi0gICAgNjAyNTksIDE2Njg1LCAzNjYzLCAxMTAxNywgNjAyNjUsIDYwMjc1LCA2MDI5MCwgMTEwMjIsIDYwMzAxLCA2MDMwNiwgCi0gICAgNjAzMTcsIDYwMzI5LCA2MDM0MSwgNjAzNTMsIDI2OTUsIDYwMzY1LCA2MDM3MCwgNjAzODIsIDYwMzg2LCA2MDM5MiwgCi0gICAgNjAzOTgsIDYwNDAzLCAxNjUyLCAxMDc4LCA2MDQxMiwgNjA0MTcsIDM5MzA5LCA2MDQyMSwgNjA0MjUsIDYwNDMwLCAKLSAgICA2MDQzNCwgMTY3NzAsIDYwNDM5LCA2MDQ0MiwgNjA0NTAsIDYwNDU4LCAxNjU2LCAxMTA0NywgMTEwNTMsIDE2NjEsIAotICAgIDYwNDY2LCA2MDQ3MywgNjA0NzgsIDYwNDg3LCA2MDQ5NywgNjA1MDQsIDYwNTA5LCA2MDUxNCwgMTY2NiwgNjA1MjEsIAotICAgIDYwNTI2LCAxNjg4NSwgNjA1MzAsIDYwNTM1LCA2MDU0MiwgNjA1NDgsIDYwNTUyLCA2MDU2MywgNjA1NzMsIDE2OTA3LCAKLSAgICA5MjM0LCA5MjQxLCAxNjcxLCA2MDU4MCwgNjA1ODYsIDYwNTk0LCA2MDYwMSwgNjA2MDcsIDYwNjE0LCA2MDYyNiwgNjA2MzIsIAotICAgIDYwNjM3LCA2MDY0OSwgNjA2NjAsIDYwNjY5LCA2MDY3OSwgMzc0MCwgMzA4MTMsIDMwODIyLCAxNjk0NywgMTY3NiwgMTY4MCwgCi0gICAgNjA2ODcsIDYwNjk4LCA2MDcwMywgMTY4MywgNjA3MTEsIDYwNzE2LCAxNjk5OCwgNjA3MjgsIDYwNzM0LCA2MDczOSwgCi0gICAgNjA3NDcsIDE2ODgsIDYwNzUyLCA2MDc1NywgNjA3NjUsIDYwNzczLCA2MDc4MCwgNjA3ODksIDYwNzk3LCA2MDgwNiwgCi0gICAgMTY5MywgNjA4MTAsIDE2OTgsIDYwODE1LCA2MDgyMiwgMTcwNzIsIDYwODMwLCA2MDgzNiwgNjA4NDEsIDYwODQ5LCAKLSAgICA2MDg1NiwgNjA4NjQsIDIyNTc0LCA2MDg2OSwgMTExODIsIDYwODc4LCA2MDg4NCwgNjA4OTEsIDYwODk4LCA2MDkwNCwgCi0gICAgNjA5MTQsIDYwOTIwLCA2MDkyNSwgNjA5MzYsIDYwOTQxLCA2MDk0OSwgMTExOTEsIDExMTk2LCA2MDk1NywgNjA5NjMsIAotICAgIDYwOTcxLCAzODA1LCAxNzExNCwgMzkzOTcsIDYwOTc2LCA2MDk4MiwgNjA5ODcsIDYwOTk1LCA2MTAwMiwgMTIwMzYsIAotICAgIDYxMDA3LCA2MTAxMywgMTcwOSwgNjEwMTgsIDYxMDIxLCAxMTMyLCA2MTAyNywgNjEwMzIsIDYxMDM3LCA2MTA0MywgCi0gICAgNjEwNDgsIDYxMDUzLCA2MTA1OCwgNjEwNjMsIDYxMDY4LCA2MTA3MywgMTcxOCwgOSwgNjEwNzksIDYxMDgzLCA2MTA4OCwgCi0gICAgNjEwOTIsIDYxMDk2LCA2MTEwMCwgMzE4NzksIDYxMTA1LCA2MTExMCwgNjExMTUsIDYxMTE5LCA2MTEyMiwgNjExMjYsIAotICAgIDYxMTMwLCA2MTEzNSwgNjExMzksIDYxMTQ0LCA2MTE0OCwgMzQ2MTYsIDM0NjIxLCAzNDYyNiwgNjExNTEsIDYxMTU4LCAKLSAgICA2MTE2NCwgMzkxMTgsIDYxMTc0LCAzNDYzMiwgMzIxMzcsIDMxODk0LCAzMTkwMCwgMzQ2NDgsIDMxOTA2LCA2MTE3OSwgCi0gICAgNjExODQsIDMyMTcwLCA2MTE4OCwgNjExOTEsIDYxMTk1LCA2MTIwMiwgNjEyMDUsIDYxMjEwLCA2MTIxNCwgNjEyMTgsIAotICAgIDYxMjIxLCA2MTIzMSwgNjEyNDMsIDYxMjUwLCA2MTI1NiwgNjEyNjMsIDMzNTczLCA2MTI2NiwgODU0MywgODc3LCA2MTI2OSwgCi0gICAgNjEyNzMsIDYxMjc4LCAzNjkwLCA2MTI4MiwgNjEyODUsIDEzNjMyLCA2MTI5MiwgNjEyOTksIDYxMzEyLCA2MTMyMCwgCi0gICAgNjEzMjksIDYxMzM4LCA2MTM0MywgNjEzNTMsIDYxMzY2LCA2MTM3OCwgNjEzODUsIDYxMzkwLCA2MTM5OSwgNjE0MTIsIAotICAgIDM2MDYwLCA2MTQzMCwgNjE0MzUsIDYxNDQyLCA2MTQ0OCwgNjU2LCA2MTQ1MywgNjE0NjEsIDYxNDY4LCAyNzI3MSwgNjI3LCAKLSAgICA2MTQ3NCwgNjE0ODAsIDYxNDkwLCA2MTQ5NiwgNjE1MDEsIDMxOTI0LCA2MDAzLCAzMTkzOCwgNjE1MDUsIDYxNTE1LCAKLSAgICA2MTUyMCwgNjE1MzAsIDYxNTQ1LCA2MTU1MSwgNjE1NTcsIDMxOTQ4LCA2MTU2MiwgMzEwOTQsIDYxNTY2LCA2MTU3MSwgCi0gICAgNjE1NzYsIDYxNTgwLCA2MTU4NSwgMTY5NTAsIDYxNTkyLCA2MTU5NywgNjE2MDEsIDYwNDQsIDMxOTc0LCA2MTYwNSwgCi0gICAgNjE2MTEsIDMxMiwgNjE2MjEsIDYxNjI4LCA2MTYzNSwgNjE2NDAsIDYxNjQ5LCA1ODgwNiwgNjE2NTUsIDYxNjYzLCAKLSAgICA2MTY2NywgNjE2NzEsIDYxNjc1LCA2MTY3OSwgNjE2ODQsIDYxNjg4LCA2MTY5NCwgNjE3MDIsIDYxNzA3LCA2MTcxMiwgCi0gICAgNjE3MTYsIDYxNzIxLCA2MTcyNSwgNjE3MjksIDYxNzM1LCA2MTc0MSwgNjE3NDYsIDYxNzUwLCAzMjA5OCwgNjE3NTUsIAotICAgIDMyMTA0LCAzMjExMCwgNjE3NjAsIDYxNzY2LCA2MTc3MywgNjE3NzgsIDYxNzgyLCAzMTExMSwgMTY2MTIsIDYxNzg1LCAKLSAgICA2MTc4OSwgNjE3OTQsIDYxODAxLCA2MTgwNywgNjE4MTEsIDYxODE2LCAzODgyOCwgNjE4MjIsIDYxODI2LCA2MTgzMCwgCi0gICAgNjE4MzUsIDYxODQxLCA2MTg0NywgNjE4NTksIDYxODY4LCA2MTg3OCwgNjE4ODQsIDYxODkxLCA2MTg5NiwgNjE5MDEsIAotICAgIDYxOTA1LCA2MTkwOCwgNjE5MTQsIDYxOTIxLCA2MTkyNiwgNjE5MzEsIDYxOTM4LCA2MTk0NSwgNjE5NTEsIDYxOTU2LCAKLSAgICA2MTk2MSwgNjE5NjksIDMyMTE1LCAyNDIzLCA2MTk3NCwgNjE5NzksIDYxOTg1LCA2MTk5MCwgNjE5OTYsIDYyMDAxLCAKLSAgICA2MjAwNiwgNjIwMTEsIDYyMDE3LCAzMjEzNiwgNjIwMjIsIDYyMDI4LCA2MjAzNCwgNjIwNDAsIDMyMjAwLCA2MjA0NSwgCi0gICAgNjIwNTAsIDYyMDU1LCAzMjIxMSwgNjIwNjAsIDYyMDY1LCA2MjA3MCwgNjIwNzYsIDYyMDgyLCAzMjIxNiwgNjIwODcsIAotICAgIDYyMDkyLCA2MjA5NywgMzIyNzEsIDMyMjc3LCA2MjEwMiwgNjIxMDcsIDMyMjgyLCA2MjExMiwgMjc5NTgsIDMyMzA0LCAKLSAgICAzMjMwOCwgNjIxMTcsIDYyMDkzLCA2MjEyMSwgNjIxMjksIDYyMTM1LCA2MjE0MywgNjIxNTAsIDYyMTU2LCA2MjE2NiwgCi0gICAgNjIxNzIsIDYyMTc5LCAxMDYzMSwgMzIzMjIsIDYyMTg1LCA2MjE5OCwgNjIyMDcsIDYyMjEzLCA2MjIyMiwgNjIyMjgsIAotICAgIDIzNTEyLCA2MjIzNSwgNjIyNDIsIDYyMjUyLCAzMjI3MiwgNjIyNTUsIDYyMjYyLCA2MjI2NywgNjIyNzEsIDYyMjc1LCAKLSAgICA2MjI4MCwgNjEyMCwgNjIyODQsIDYyMjg5LCA2MjI5NCwgMzQ3MTAsIDM0NzE1LCA2MjI5OCwgMzQ3MjksIDYyMzAzLCAKLSAgICAzNDczNCwgNjIzMDgsIDYyMzE0LCAzNDc0NiwgMzQ3NTIsIDM0NzU4LCA2MjMxOSwgNjIzMjUsIDIyNTM5LCA2MjMzNiwgCi0gICAgNjIzMzksIDYyMzUxLCA2MjM1OSwgMzIzNDUsIDYyMzYzLCA2MjM3MiwgNjIzODIsIDYyMzkxLCAzMjM1NSwgNjIzOTYsIAotICAgIDYyNDAzLCA2MjQxMiwgNjI0MTgsIDYyNDI2LCA2MjQzMywgNjA5NSwgNDM5NywgNjI0MzgsIDMyMjgzLCA2MjQ0NCwgCi0gICAgNjI0NDcsIDYyNDUzLCA2MjQ2MCwgNjI0NjUsIDYyNDcwLCAyMzQyMiwgNjI0NzQsIDYyNDgwLCA2MjQ4NiwgNjI0OTEsIAotICAgIDYyNDk2LCA2MjUwMCwgNjI1MDYsIDYyNTEyLCAzMzQ4MywgODYzLCAzNTcyMywgMzY2NDQsIDM2NjUwLCAzMjM5MSwgCi0gICAgNjI1MTcsIDYyNTIxLCA2MjUyNSwgNjI1MjgsIDYyNTQxLCA2MjU0NywgNjI1NTEsIDYyNTU0LCA2MjU1OSwgMzM3ODYsIAotICAgIDYyNTYzLCAzMTExNiwgMjEyODcsIDYyNTY5LCA2MDI0LCA2MDMyLCA5MDc1LCA2MjU3MiwgNjI1NzcsIDYyNTgyLCA2MjU4NywgCi0gICAgNjI1OTIsIDYyNTk3LCA2MjYwMiwgNjI2MDcsIDYyNjEyLCA2MjYxNywgNjI2MjMsIDYyNjI4LCA2MjYzMywgNjI2MzksIAotICAgIDYyNjQ0LCA2MjY0OSwgNjI2NTQsIDYyNjU5LCA2MjY2NCwgNjI2NjksIDYyNjc1LCA2MjY4MCwgNjI2ODYsIDYyNjkxLCAKLSAgICA2MjY5NiwgNjI3MDEsIDYyNzA2LCA2MjcxMSwgNjI3MTYsIDYyNzIxLCA2MjcyNiwgNjI3MzEsIDYyNzM2LCA2Mjc0MiwgCi0gICAgNjI3NDcsIDYyNzUyLCA2Mjc1NywgNjI3NjIsIDYyNzY3LCA2Mjc3MiwgNjI3NzgsIDYyNzgzLCA2Mjc4OCwgNjI3OTMsIAotICAgIDYyNzk4LCA2MjgwMywgNjI4MDgsIDYyODEzLCA2MjgxOCwgNjI4MjMsIDYyODI5LCA2MjgzNCwgNjI4MzksIDYyODQ0LCAKLSAgICA2Mjg0OSwgNjI4NTUsIDYyODYxLCA2Mjg2NiwgNjI4NzIsIDYyODc3LCA2Mjg4MiwgNjI4ODcsIDYyODkyLCA2Mjg5NywgCi0gICAgMTUxMywgMjQ1LCA2MjkwMiwgNjI5MDYsIDYyOTEwLCA2MjkxNCwgMjUxMzMsIDYyOTE4LCA2MjkyMiwgNjI5MjcsIDYyOTMxLCAKLSAgICA2MjkzNiwgNjI5NDAsIDYyOTQ1LCA2Mjk1MCwgNjI5NTUsIDYyOTU5LCA2Mjk2MywgNjI5NjgsIDYyOTcyLCAxMzM2OSwgCi0gICAgNjI5NzcsIDYyOTgxLCA2Mjk4OCwgNjI5OTgsIDE1MjA2LCA2MzAwNywgNjMwMTYsIDYzMDIwLCA2MzAyNSwgNjMwMzAsIAotICAgIDYzMDM0LCAyNDkyNCwgMzAxOSwgNjMwMzgsIDYzMDQ0LCAxNzM2MywgNjMwNDgsIDYzMDU3LCA2MzA2NSwgNjMwNzEsIAotICAgIDYzMDgzLCA2MzA5NSwgNjMwOTksIDYzMTA0LCA2MzEwOCwgNjMxMTQsIDYzMTIwLCA2MzEyNSwgNjMxMzUsIDYzMTQ1LCAKLSAgICA2MzE1MSwgNjMxNTYsIDYzMTYwLCA2MzE2NSwgNjMxNzEsIDYzMTgwLCA2MzE4OSwgNjMxOTcsIDE1NTYwLCA2MzIwMSwgCi0gICAgNjMyMTAsIDYzMjE4LCA2MzIzMCwgNjMyNDEsIDYzMjUyLCA2MzI2MSwgNjMyNjUsIDYzMjc0LCA2MzI4NCwgNjMyOTIsIAotICAgIDYzMjk4LCA2MzMwMywgNjMzMDksIDYzMzE0LCA5OCwgMzA5MjUsIDYzMzI1LCAyNjI2NiwgMjYyNzYsIDYzMzMxLCA2MzMzOCwgCi0gICAgNjMzNDQsIDYzMzQ4LCA2MzM1OCwgNjMzNjksIDYzMzc3LCA2MzM4NiwgNjMzOTEsIDYzMzk2LCA2MzQwMCwgMTczMTcsIAotICAgIDYzNDA4LCA2MzQxMiwgNjM0MTgsIDYzNDI4LCA2MzQzNSwgNjM0NDEsIDM0ODA5LCA2MzQ0NywgNjM0NDksIDYzNDUyLCAKLSAgICA2MzQ1NiwgNjM0NjYsIDYzNDcyLCA2MzQ3OSwgMTMzMTUsIDYzNDg2LCA2MzQ5MiwgNjM1MDEsIDYzNTEwLCA2MzUxNiwgCi0gICAgNjM1MjIsIDYzNTI4LCA2MzUzMywgNjM1NDAsIDYzNTQ3LCA2MzU1MywgNjM1NjYsIDYzNTc1LCA2MzU4NCwgNjM1ODksIAotICAgIDYzNTkzLCA2MzU5OSwgNjM2MDYsIDYzNjEzLCA2MzYyMCwgNjM2MjcsIDYzNjM0LCA2MzYzOSwgNjM2NDMsIDYzNjQ3LCAKLSAgICA2MzY1MCwgNjM2NjAsIDYzNjY0LCA2MzY3NiwgNjM2ODUsIDYzNjg5LCA2MzY5NCwgNjM2OTgsIDYzNzA0LCA2MzcwOSwgCi0gICAgNjM3MTYsIDYzNzI1LCA2MzczMywgNjM3NDEsIDYzNzQ2LCA2Mzc1MCwgNjM3NTUsIDYzNzYwLCA2Mzc3MCwgNjM3NzgsIAotICAgIDYzNzgzLCA2Mzc4NywgNjM3OTEsIDYzNzk3LCA2MzgwOSwgNjM4MTcsIDYzODI3LCA2MzgzNCwgNjM4NDAsIDYzODQ1LCAKLSAgICA2Mzg0OSwgNjM4NTMsIDYzODU3LCA2Mzg2NiwgNjM4NzUsIDYzODg0LCA2Mzg5MCwgNjM4OTYsIDYzOTAyLCA2MzkwNywgCi0gICAgNjM5MTQsIDYzOTIwLCA2MzkyOCwgNjM5MzUsIDEyNDYzLCA2Mzk0MSwgNjM5NDcsIDYzOTUxLCAxNDI0NCwgNjM5NTUsIAotICAgIDYzOTYwLCA2Mzk3MCwgNjM5NzksIDYzOTg1LCA2Mzk5MSwgNjM5OTksIDY0MDA2LCA2NDAxMCwgNjQwMTQsIDY0MDIwLCAKLSAgICA2NDAyOCwgNjQwMzUsIDY0MDQxLCA2NDA1MiwgNjQwNTYsIDY0MDYwLCA2NDA2NCwgNjQwNjcsIDY0MDczLCA2NDA3OCwgCi0gICAgNjQwODIsIDY0MDg2LCA2NDA5NSwgNjQxMDMsIDY0MTEwLCA2NDExNiwgNjQxMjMsIDI0MDQ2LCAzODg3MCwgNjQxMjgsIAotICAgIDY0MTM2LCA2NDE0MCwgNjQxNDQsIDY0MTQ3LCA2NDE1NSwgNjQxNjIsIDY0MTY4LCA2NDE3NywgNjQxODUsIDY0MTkxLCAKLSAgICA2NDE5NiwgNjQyMDAsIDY0MjA1LCA2NDIwOSwgNjQyMTMsIDY0MjE4LCA2NDIyNywgNjQyMzEsIDY0MjM4LCA2NDI0NSwgCi0gICAgNjQyNTEsIDY0MjU5LCA2NDI2NSwgNjQyNzYsIDY0Mjg0LCA2NDI5MCwgMjI2NjksIDY0Mjk5LCA2NDMwNiwgNjQzMTMsIAotICAgIDY0MzIwLCA2NDMyNywgNjQzMzQsIDQxOTA3LCAxMzE1MywgNjQzNDEsIDY0MzQ4LCA2NDM1MywgMzQ4NDUsIDYyMTcsIAotICAgIDY0MzU5LCA2NDM2NCwgNjQzNjksIDY0Mzc1LCA2NDM4MSwgNjQzODcsIDY0MzkyLCA2NDM5NywgNjQ0MDIsIDY0NDA3LCAKLSAgICA2NDQxMywgNjQ0MTgsIDY0NDI0LCA2NDQyOSwgNjQ0MzUsIDY0NDQwLCA2NDQ0NSwgNjQ0NTAsIDY0NDU1LCA2NDQ2MCwgCi0gICAgNjQ0NjUsIDY0NDcwLCA2NDQ3NiwgNjQ0ODEsIDY0NDg3LCA2NDQ5MiwgNjQ0OTcsIDY0NTAyLCA2NDUwNywgNjQ1MTIsIAotICAgIDY0NTE3LCA2NDUyMywgNjQ1MjgsIDY0NTMzLCA2NDUzOCwgNjQ1NDMsIDY0NTQ4LCA2NDU1MywgNjQ1NTgsIDY0NTYzLCAKLSAgICA2NDU2OCwgNjQ1NzMsIDY0NTc5LCA2NDU4NCwgNjQ1ODksIDY0NTk0LCA2NDU5OSwgNjQ2MDQsIDY0NjA5LCA2NDYxNCwgCi0gICAgNjQ2MTksIDY0NjI1LCA2NDYzMCwgNjQ2MzUsIDY0NjQwLCA2NDY0NSwgNjQ2NTAsIDY0NjU1LCA2NDY2MCwgNjQ2NjUsIAotICAgIDY0NjcwLCA2NDY3NSwgNjQ2ODAsIDY0Njg1LCA2NDY5MSwgMTgzNCwgMjI0LCAzNzQ0NiwgNjQ2OTYsIDY0Njk5LCA2NDcwNCwgCi0gICAgNjQ3MDgsIDY0NzExLCA2NDcxNiwgNjM3MzcsIDY0NzI3LCA2NDczNywgNjQ3NDQsIDY0NzYwLCA2NDc2OSwgNjQ3NzksIAotICAgIDY0Nzg5LCA2NDc5NywgNjQ4MTEsIDY0ODE5LCA2NDgyMywgNjQ4MjYsIDY0ODMzLCA2NDgzOSwgNjQ4NTAsIDY0ODYyLCAKLSAgICA2NDg3MywgNjQ4ODIsIDY0ODg5LCAxMjk3LCAyMzMxMSwgNjQ4OTksIDI1OTAsIDY0OTAzLCA2NDkxMiwgMTEzOCwgMTcyOTAsIAotICAgIDM4MDgzLCA2NDkyMCwgNjQ5MjgsIDY0OTQyLCA2NDk1NSwgNjQ5NTksIDY0OTY0LCA2NDk2OSwgNjQ5NzQsIDY0OTgwLCAKLSAgICA2NDk4NiwgNjQ5OTEsIDg1MzUsIDY0OTk2LCA2NTAwMCwgNjUwMDgsIDExMDQ4LCA2NTAxMywgNjUwMTksIDY1MDI4LCAKLSAgICAxNzIxLCAxMTA2MCwgNzM2LCA2NTAzMiwgNjUwNDEsIDY1MDUxLCAyNzAzMCwgNjUwNjAsIDY1MDY2LCAxNjg2MiwgNjUwNzIsIAotICAgIDY1MDc2LCAzOTY0LCAxMTM5MSwgNjUwODIsIDY1MDg5LCA2MDY5MywgNjUwOTMsIDY1MDk3LCAzOTg4LCAxODksIDE0MTU5LCAKLSAgICA2NTEwMywgNjUxMTUsIDY1MTE5LCA2NTEyNSwgMjc3NTEsIDY1MTI5LCAxMTM3OSwgMjczMCwgNCwgNjUxMzQsIDY1MTQ0LCAKLSAgICA2NTE1MCwgNjUxNjEsIDY1MTY4LCA2NTE3NCwgNjUxODAsIDY1MTg4LCA2NTE5NSwgNjUyMDEsIDY1MjExLCA2NTIyMSwgCi0gICAgNjUyMzEsIDIzNDk5LCAxMzA5LCA2NTI0MCwgNjUyNDQsIDY1MjQ4LCA2NTI1NCwgNjUyNTgsIDI3NTMsIDI3NTksIDg1MzIsIAotICAgIDIyNjQsIDY1MjYyLCA2NTI2NiwgNjUyNzUsIDY1MjgzLCA2NTI5NCwgNjUzMDIsIDY1MzEwLCA2NTMxNiwgNjUzMjEsIAotICAgIDY1MzMyLCA2NTM0MywgNjUzNTEsIDY1MzU3LCA5Njk0LCA2NTM2MiwgNjUzNzAsIDY1Mzc0LCA2NTM3OCwgNjUzODIsIAotICAgIDY1Mzk0LCAyODEzNiwgNjU0MDEsIDY1NDExLCA2NTQxNywgNjU0MjMsIDk3OTYsIDY1NDMzLCA2NTQ0NCwgNjU0NTQsIAotICAgIDY1NDYzLCA2NTQ2NywgNjU0NzQsIDExNDAsIDExNzAsIDY1NDg0LCA2NTQ4OSwgNjU0OTcsIDY1NTA1LCA2NTUxNiwgCi0gICAgNjU1MjMsIDY1NTM3LCAxNDA4OCwgMzkzLCA2NTU0NywgNjU1NTEsIDY1NTU5LCA2NTU2OCwgNjU1NzYsIDY1NTgyLCAKLSAgICA2NTU5NiwgNjU2MDMsIDY1NjA5LCA2NTYxOCwgNjU2MjUsIDY1NjM1LCA2NTY0MywgMzgxMiwgMTU2LCA2NTY1MSwgNjU2NjIsIAotICAgIDY1NjY2LCA2NTY3OCwgMjc5NDksIDE2MSwgNjU2ODQsIDY1Njg5LCA2NTY5MywgNjU3MDAsIDY1NzA2LCA2NTcxNCwgCi0gICAgNjU3MjEsIDg4MTgsIDY1NzI4LCA2NTczNywgNjU3NDUsIDM4NzgsIDY1NzU4LCA4MTk5LCA2NTc2MiwgMjc5OCwgNDQzLCAKLSAgICA2NTc2NywgNjU3ODAsIDY1Nzg1LCAxODMzLCA2NTAsIDY1Nzg5LCAzODk1LCA2NTc5NywgNjU4MDMsIDY1ODA3LCA5MzEsIAotICAgIDY1ODE3LCA2NTgyNiwgNjU4MzEsIDE0OTI4LCAxNDkzNSwgNDUyNjksIDY1ODM1LCAzODIyLCAxMzA0MSwgNjU4NDMsIAotICAgIDY1ODUwLCAyMzU1NSwgNjU4NTQsIDY1ODYxLCA2NTg2NywgNjU4NzIsIDY1ODc3LCAxNDk0OCwgMzcyLCA2NTg4MiwgCi0gICAgNjU4OTQsIDY1OTAwLCA2NTkwOCwgMjgxMCwgMTc1MywgNjU5MTYsIDY1OTE4LCA2NTkyMywgNjU5MjgsIDY1OTMzLCAKLSAgICA2NTkzOSwgNjU5NDQsIDY1OTQ5LCA2NTk1NCwgNjU5NTksIDY1OTY0LCA2NTk2OSwgNjU5NzUsIDY1OTgwLCA2NTk4NSwgCi0gICAgNjU5OTAsIDY1OTk1LCA2NjAwMCwgNjYwMDUsIDY2MDEwLCA2NjAxNSwgNjYwMjEsIDY2MDI2LCA2NjAzMSwgNjYwMzYsIAotICAgIDY2MDQyLCA2NjA0NywgNjYwNTMsIDY2MDU4LCA2NjA2MywgNjYwNjgsIDY2MDczLCA2NjA3OCwgNjYwODMsIDY2MDg4LCAKLSAgICA2NjA5NCwgNjYwOTksIDY2MTA1LCA2NjExMCwgNjYxMTUsIDY2MTIwLCA2NjEyNSwgNjYxMzAsIDY2MTM1LCA2NjE0MCwgCi0gICAgNjYxNDUsIDY2MTUxLCA2NjE1NiwgNjYxNjEsIDY2MTY2LCA2NjE3MCwgNjYxNzQsIDY2MTc5LCA2NjE4MywgNjYxODgsIAotICAgIDY2MTkzLCA2NjE5OSwgNjYyMDQsIDY2MjA4LCA2NjIxMywgNjYyMTcsIDY2MjIwLCA2NjIyMiwgNjYyMjYsIDY2MjI5LCAKLSAgICA2NjIzNCwgNjYyMzgsIDY2MjQyLCA2NjI0NiwgNjYyNTAsIDY2MjU5LCA2NjI2MywgMzI1NDksIDY2MjY2LCAzMjU1NCwgCi0gICAgNjYyNzMsIDY2Mjc4LCAzMjU1OSwgNjYyODcsIDY2Mjk2LCAzMjU2NSwgNjYzMDEsIDMyNTcwLCA2NjMxMCwgNjYzMTUsIAotICAgIDExNTc4LCA2NjMxOSwgNjYzMjQsIDY2MzI5LCAzMjU3NSwgNjYzMzMsIDQwMjI1LCA2NjMzNywgNjYzNDAsIDY2MzQ0LCAKLSAgICA4MjExLCA2NjM1MCwgNjYzNTUsIDY2MzU5LCAzNzA1LCAzMjU4MCwgNjYzNjIsIDY2MzY2LCA2NjM2OSwgNjYzNzQsIAotICAgIDY2Mzc4LCA2NjM4NCwgNjYzOTIsIDY2NDA1LCA2NjQxNCwgNjY0MjAsIDY2NDI1LCA2NjQzMSwgNjY0MzUsIDY2NDQxLCAKLSAgICA2NjQ0OSwgNjY0NTQsIDY2NDU4LCA2NjQ2NSwgNjY0NzEsIDY2NDc5LCA2NjQ4OCwgNjY0OTYsIDMyNTgzLCA2NjUwMywgCi0gICAgNjY1MTMsIDY2NTIyLCA2NjUzNSwgNjY1NDAsIDY2NTQ1LCA2NjU1NCwgNjY1NjAsIDY2NTY3LCA2NjU3OCwgNjY1OTAsIAotICAgIDY2NTk3LCA2NjYwNiwgNjY2MTUsIDY2NjI0LCA2NjYzMSwgNjY2MzcsIDY2NjQ0LCA2NjY1MiwgNjY2NTksIDY2NjY3LCAKLSAgICA2NjY3NiwgNjY2ODQsIDY2NjkxLCA2NjY5OSwgNjY3MDgsIDY2NzE2LCA2NjcyNSwgNjY3MzUsIDY2NzQ0LCA2Njc1MiwgCi0gICAgNjY3NTksIDY2NzY3LCA2Njc3NiwgNjY3ODQsIDY2NzkzLCA2NjgwMywgNjY4MTIsIDY2ODIwLCA2NjgyOSwgNjY4MzksIAotICAgIDY2ODQ4LCA2Njg1OCwgNjY4NjksIDY2ODc5LCA2Njg4OCwgNjY4OTYsIDY2OTAzLCA2NjkxMSwgNjY5MjAsIDY2OTI4LCAKLSAgICA2NjkzNywgNjY5NDcsIDY2OTU2LCA2Njk2NCwgNjY5NzMsIDY2OTgzLCA2Njk5MiwgNjcwMDIsIDY3MDEzLCA2NzAyMywgCi0gICAgNjcwMzIsIDY3MDQwLCA2NzA0OSwgNjcwNTksIDY3MDY4LCA2NzA3OCwgNjcwODksIDY3MDk5LCA2NzEwOCwgNjcxMTgsIAotICAgIDY3MTI5LCA2NzEzOSwgNjcxNTAsIDY3MTYyLCA2NzE3MywgNjcxODMsIDY3MTkyLCA2NzIwMCwgNjcyMDcsIDY3MjE1LCAKLSAgICA2NzIyNCwgNjcyMzIsIDY3MjQxLCA2NzI1MSwgNjcyNjAsIDY3MjY4LCA2NzI3NywgNjcyODcsIDY3Mjk2LCA2NzMwNiwgCi0gICAgNjczMTcsIDY3MzI3LCA2NzMzNiwgNjczNDQsIDY3MzUzLCA2NzM2MywgNjczNzIsIDY3MzgyLCA2NzM5MywgNjc0MDMsIAotICAgIDY3NDEyLCA2NzQyMiwgNjc0MzMsIDY3NDQzLCA2NzQ1NCwgNjc0NjYsIDY3NDc3LCA2NzQ4NywgNjc0OTYsIDY3NTA0LCAKLSAgICA2NzUxMywgNjc1MjMsIDY3NTMyLCA2NzU0MiwgNjc1NTMsIDY3NTYzLCA2NzU3MiwgNjc1ODIsIDY3NTkzLCA2NzYwMywgCi0gICAgNjc2MTQsIDY3NjI2LCA2NzYzNywgNjc2NDcsIDY3NjU2LCA2NzY2NiwgNjc2NzcsIDY3Njg3LCA2NzY5OCwgNjc3MTAsIAotICAgIDY3NzIxLCA2NzczMSwgNjc3NDIsIDY3NzU0LCA2Nzc2NSwgNjc3NzcsIDY3NzkwLCA2NzgwMiwgNjc4MTMsIDY3ODIzLCAKLSAgICA2NzgzMiwgNjc4NDAsIDY3ODQ3LCA2Nzg1NSwgNjc4NjQsIDY3ODcyLCA2Nzg4MSwgNjc4OTEsIDY3OTAwLCA2NzkwOCwgCi0gICAgNjc5MTcsIDY3OTI3LCA2NzkzNiwgNjc5NDYsIDY3OTU3LCA2Nzk2NywgNjc5NzYsIDY3OTg0LCA2Nzk5MywgNjgwMDMsIAotICAgIDY4MDEyLCA2ODAyMiwgNjgwMzMsIDY4MDQzLCA2ODA1MiwgNjgwNjIsIDY4MDczLCA2ODA4MywgNjgwOTQsIDY4MTA2LCAKLSAgICA2ODExNywgNjgxMjcsIDY4MTM2LCA2ODE0NCwgNjgxNTMsIDY4MTYzLCA2ODE3MiwgNjgxODIsIDY4MTkzLCA2ODIwMywgCi0gICAgNjgyMTIsIDY4MjIyLCA2ODIzMywgNjgyNDMsIDY4MjU0LCA2ODI2NiwgNjgyNzcsIDY4Mjg3LCA2ODI5NiwgNjgzMDYsIAotICAgIDY4MzE3LCA2ODMyNywgNjgzMzgsIDY4MzUwLCA2ODM2MSwgNjgzNzEsIDY4MzgyLCA2ODM5NCwgNjg0MDUsIDY4NDE3LCAKLSAgICA2ODQzMCwgNjg0NDIsIDY4NDUzLCA2ODQ2MywgNjg0NzIsIDY4NDgwLCA2ODQ4OSwgNjg0OTksIDY4NTA4LCA2ODUxOCwgCi0gICAgNjg1MjksIDY4NTM5LCA2ODU0OCwgNjg1NTgsIDY4NTY5LCA2ODU3OSwgNjg1OTAsIDY4NjAyLCA2ODYxMywgNjg2MjMsIAotICAgIDY4NjMyLCA2ODY0MiwgNjg2NTMsIDY4NjYzLCA2ODY3NCwgNjg2ODYsIDY4Njk3LCA2ODcwNywgNjg3MTgsIDY4NzMwLCAKLSAgICA2ODc0MSwgNjg3NTMsIDY4NzY2LCA2ODc3OCwgNjg3ODksIDY4Nzk5LCA2ODgwOCwgNjg4MTgsIDY4ODI5LCA2ODgzOSwgCi0gICAgNjg4NTAsIDY4ODYyLCA2ODg3MywgNjg4ODMsIDY4ODk0LCA2ODkwNiwgNjg5MTcsIDY4OTI5LCA2ODk0MiwgNjg5NTQsIAotICAgIDY4OTY1LCA2ODk3NSwgNjg5ODYsIDY4OTk4LCA2OTAwOSwgNjkwMjEsIDY5MDM0LCA2OTA0NiwgNjkwNTcsIDY5MDY5LCAKLSAgICA2OTA4MiwgNjkwOTQsIDY5MTA3LCA2OTEyMSwgNjkxMzQsIDY5MTQ2LCA2OTE1NywgNjkxNjcsIDY5MTc2LCA2OTE4NCwgCi0gICAgNjkxOTEsIDY5MTk2LCA4MDU4LCA2OTIwMywgMzI1OTMsIDY5MjA4LCA2OTIxMywgMzI1OTgsIDY5MjE5LCAyMDkyOSwgCi0gICAgMzI2MDMsIDY5MjI0LCA2OTIzMCwgNjkyMzgsIDY5MjQ0LCA2OTI1MCwgNjkyNTcsIDY5MjY0LCA2OTI2OSwgNjkyNzMsIAotICAgIDY5Mjc2LCA2OTI4MCwgNjkyODksIDY5Mjk1LCA2OTMwNywgNjkzMTgsIDY5MzIyLCAzMDgxLCA4MDMzLCA2OTMyNywgCi0gICAgNjkzMzAsIDY5MzMyLCA2OTMzNiwgNjkzNDAsIDY5MzQ0LCA2OTM1MCwgNjkzNTUsIDI1OTQ0LCA2OTM2MCwgNjkzNjQsIAotICAgIDY5MzY3LCA2OTM3MiwgNjkzNzYsIDY5MzgzLCA2OTM4OSwgNjkzOTMsIDYxNzAsIDY5Mzk3LCAzMjYyMCwgNjk0MDIsIAotICAgIDY5NDA5LCA2OTQxOCwgNjk0MjYsIDY5NDM3LCA2OTQ0NSwgNjk0NTMsIDY5NDYwLCA2OTQ2NywgNjk0NzMsIDY5NDg0LCAKLSAgICAzMjYyNSwgNjk0ODksIDY5NTAwLCA2OTUxMiwgNjk1MjAsIDY5NTMxLCA2OTU0MCwgNjk1NTEsIDY5NTU2LCA2OTU2NCwgCi0gICAgMjU1NiwgNjk1NjksIDM0Mjk1LCA2OTU4MiwgNjk1ODYsIDY5NTk4LCA2OTYwNiwgNjk2MTEsIDY5NjE5LCAxNzQ4NSwgCi0gICAgNjk2MzAsIDY5NjM2LCA2OTY0MywgNjk2NTEsIDY5NjU3LCAzMjYzNSwgNjk2NjIsIDM5MTQsIDU4MjU0LCA2OTY2OSwgCi0gICAgNjk2NzIsIDY5NjgwLCA2OTY5MywgNjk3MDYsIDY5NzE5LCA2OTczMiwgNjk3MzksIDY5NzUwLCA2OTc1OSwgNDE3MjQsIAotICAgIDQxNzI5LCA2OTc2NCwgNjk3NjgsIDY5Nzc2LCA2OTc4MywgNjk3OTIsIDY5ODAwLCA2OTgwNiwgNjk4MTUsIDY5ODIzLCAKLSAgICA2OTgzMSwgNjk4MzUsIDY5ODQ0LCA2OTg1MywgNjk4NjMsIDY5ODc2LCA2OTg4OSwgNjk4OTksIDMyNjQwLCA2OTkwNSwgCi0gICAgNjk5MTIsIDY5OTE4LCAzMjY0NiwgNjk5MjMsIDY5OTI2LCA2OTkzMCwgNjk5MzgsIDY5OTQ3LCA0MTQ2MiwgNjk5NTUsIAotICAgIDY5OTY0LCA2OTk3MiwgNjk5NzksIDY5OTg3LCA2OTk5NywgNzAwMDYsIDcwMDE1LCA3MDAyNCwgNzAwMzIsIDcwMDQzLCAKLSAgICA3MDA1MywgOTM2NiwgMjE1NjcsIDcwMDYyLCA3MDA2NywgNzAwNzIsIDcwMDc2LCA3MDA4MCwgNzAwODUsIDcwMDkxLCAKLSAgICA3MDA5NiwgNzAxMDEsIDcwMTA3LCA3MDExMiwgNzAxMTcsIDIxNTMyLCA3MDEyMiwgNzAxMjksIDcwMTM3LCA3MDE0NSwgCi0gICAgNzAxNTAsIDcwMTU3LCA3MDE2NCwgNzAxNjksIDcwMTczLCA3MDE3NywgNzAxODUsIDcwMTkzLCAzMjY2MywgNzAxOTksIAotICAgIDcwMjA1LCA3MDIxNywgNzAyMjMsIDcwMjI3LCA3MDIzNCwgNzAyMzksIDcwMjUwLCA3MDI2MCwgNzAyNzAsIDcwMjgyLCAKLSAgICA3MDI4OCwgNzAyOTgsIDcwMzA4LCAzMjY5MCwgNzAzMTcsIDcwMzI2LCA3MDMzMiwgNzAzNDQsIDcwMzU1LCA3MDM2MiwgCi0gICAgNzAzNjcsIDcwMzcxLCA3MDM3OSwgNzAzODUsIDcwMzkwLCA3MDM5NSwgNzA0MDIsIDcwNDEwLCA3MDQyMiwgNzA0MzIsIAotICAgIDcwNDQxLCA3MDQ1MCwgNzA0NTcsIDM0MTU3LCAyMzg1MSwgNzA0NjMsIDcwNDY4LCA3MDQ3MiwgNzA0NzYsIDcwNDgxLCAKLSAgICA3MDQ4NywgNzA0OTgsIDcwNTExLCA3MDUxNiwgNzA1MjMsIDMyNjk1LCA3MDUyOCwgNzA1NDAsIDcwNTQ5LCA3MDU1OSwgCi0gICAgNzA1NzAsIDcwNTgzLCA3MDU5MCwgNzA1OTksIDcwNjA4LCA3MDYxNiwgNzA2MjEsIDcwNjI3LCAxMDY5LCA3MDYzMiwgCi0gICAgNzA2MzcsIDcwNjQyLCA3MDY0NywgNzA2NTMsIDcwNjU4LCA3MDY2MywgNzA2NjksIDcwNjc1LCA3MDY4MCwgNzA2ODQsIAotICAgIDcwNjg5LCA3MDY5NCwgNzA2OTksIDU4NzY2LCA3MDcwNCwgNzA3MDksIDcwNzE0LCA3MDcxOSwgNzA3MjUsIDcwNzMxLCAKLSAgICA3MDczNiwgNzA3NDAsIDcwNzQ1LCA3MDc1MCwgNzA3NTUsIDcwNzYxLCA3MDc2NiwgNzA3NzIsIDcwNzc3LCA3MDc4MiwgCi0gICAgNzA3ODcsIDcwNzkyLCA3MDc5NiwgNzA4MDIsIDcwODA3LCA3MDgxNiwgNzA4MjEsIDcwODI2LCA3MDgzMSwgNzA4MzYsIAotICAgIDcwODQwLCA3MDg0NywgNzA4NTMsIDE3MTM1LCAxNzE0MiwgNzA4NTgsIDcwODYyLCA3MDg2NiwgNzA4NzAsIDcwODc0LCAKLSAgICA0NTUyNCwgNzA4NzgsIDcwODA4LCA3MDg4MCwgNzA4OTAsIDMyNzA0LCA3MDg5MywgNzA5MDIsIDcwOTA4LCA2MTQzLCAKLSAgICAzMjcwOSwgNzA5MTIsIDcwOTE4LCA3MDkyMywgNzA5MjksIDcwOTM0LCA3MDkzOCwgNzA5NDUsIDcwOTUwLCA3MDk2MCwgCi0gICAgNzA5NjksIDcwOTczLCA3MDk3OSwgNzA5ODUsIDcwOTkxLCA3MDk5NSwgNzEwMDMsIDcxMDEwLCA3MTAxOCwgNzEwMjYsIAotICAgIDMyNzE0LCA3MTAzMywgNzEwMzYsIDcxMDQzLCA3MTA0OSwgNzEwNTQsIDcxMDU4LCA3MTA2NCwgNzEwNzEsIDcxMDc2LCAKLSAgICA3MTA4MCwgNzEwODksIDcxMDk3LCA3MTEwMywgNzExMDgsIDMyNzE5LCA3MTExNSwgNzExMjIsIDcxMTI4LCA3MTEzMywgCi0gICAgNzExMzksIDcxMTQ2LCA3MTE1MiwgMjEyOTQsIDI3NDU1LCA3MTE1OCwgNzExNjMsIDcxMTY5LCA3MTE4MSwgNzA4NDEsIAotICAgIDcwODQ4LCAyMTQ3MCwgNzExOTEsIDcxMTk2LCA3MTIwMywgNzEyMDksIDcxMjE2LCA3MTIyMiwgNzEyMzMsIDcxMjM4LCAKLSAgICA5MTEwLCA3MTI0NiwgNzEyNDksIDcxMjU1LCA3MTI1OSwgNzEyNjMsIDcxMjY2LCA3MTI3MiwgMzI0NjgsIDYxOTQsIDk2NCwgCi0gICAgMTM0MTksIDcxMjc5LCA3MTI4NSwgNzEyOTEsIDcxMjk3LCA3MTMwMywgNzEzMDksIDcxMzE1LCA3MTMyMSwgNzEzMjcsIAotICAgIDcxMzMyLCA3MTMzNywgNzEzNDIsIDcxMzQ3LCA3MTM1MiwgNzEzNTcsIDcxMzYyLCA3MTM2NywgNzEzNzIsIDcxMzc3LCAKLSAgICA3MTM4MiwgNzEzODcsIDcxMzkyLCA3MTM5OCwgNzE0MDMsIDcxNDA4LCA3MTQxNCwgNzE0MTksIDcxNDI0LCA3MTQzMCwgCi0gICAgNzE0MzYsIDcxNDQyLCA3MTQ0OCwgNzE0NTQsIDcxNDYwLCA3MTQ2NiwgNzE0NzIsIDcxNDc4LCA3MTQ4MywgNzE0ODgsIAotICAgIDcxNDk0LCA3MTQ5OSwgNzE1MDQsIDcxNTEwLCA3MTUxNSwgNzE1MjAsIDcxNTI1LCA3MTUzMCwgNzE1MzUsIDcxNTQwLCAKLSAgICA3MTU0NSwgNzE1NTAsIDcxNTU1LCA3MTU2MCwgNzE1NjUsIDcxNTcwLCA3MTU3NiwgNzE1ODEsIDcxNTg2LCA3MTU5MSwgCi0gICAgNzE1OTcsIDcxNjAyLCA3MTYwNywgNzE2MTIsIDcxNjE3LCA3MTYyMywgNzE2MjgsIDcxNjMzLCA3MTYzOCwgNzE2NDMsIAotICAgIDcxNjQ4LCA3MTY1MywgNzE2NTgsIDcxNjYzLCA3MTY2OCwgNzE2NzMsIDcxNjc4LCA3MTY4MywgNzE2ODgsIDcxNjkzLCAKLSAgICA3MTY5OCwgNzE3MDMsIDcxNzA4LCA3MTcxMywgNzE3MTgsIDcxNzI0LCA3MTcyOSwgNzE3MzQsIDcxNzM5LCA3MTc0NCwgCi0gICAgNzE3NDksIDcxNzU0LCA3MTc1OSwgMTg2NCwgMTQyLCA3MTc2NCwgNzE3NjgsIDcxNzcyLCA3MTc3NywgNzE3ODUsIDcxNzg5LCAKLSAgICA3MTc5NiwgNzE4MDQsIDcxODA4LCA3MTgyMSwgNzE4MjksIDcxODMzLCA3MTgzNiwgNzE4NDEsIDcxODQ1LCA3MTg1MCwgCi0gICAgNzE4NTQsIDcxODYyLCA3MTg2NiwgMjA5MzcsIDcxODcxLCA3MTg3NSwgNjA5NjcsIDcxODc5LCA3MTg4MiwgNzE4OTAsIAotICAgIDcxODk4LCA3MTkwNiwgNzE5MTEsIDcxOTE4LCA3MTkyNCwgNzE5MzAsIDcxOTM1LCA3MTk0MiwgNzE5NDcsIDcxOTU1LCAKLSAgICA2NDk0NywgNzE5NjIsIDcxOTY3LCA3MTk3MiwgNzE5NzYsIDExNjQ1LCA3MTk4MCwgNzE5ODUsIDcxOTkwLCA3MTk5NCwgCi0gICAgNzE5OTcsIDcyMDAzLCA3MjAwNywgNzIwMTcsIDcyMDI2LCA3MjAyOSwgNzIwMzMsIDcyMDQwLCA3MjA1MywgNzIwNTksIAotICAgIDcyMDY3LCA3MjA3OCwgNzIwODksIDcyMTAwLCA3MjExMSwgNzIxMjAsIDcyMTI2LCA3MjEzNSwgNzIxNDMsIDcyMTUzLCAKLSAgICA3MjE2NiwgNzIxNzMsIDcyMTg0LCA3MjE5MCwgNzIxOTUsIDcyMjAwLCA3MjIwNiwgNzIyMTIsIDcyMjIyLCA3MjIzMSwgCi0gICAgNzA1MzAsIDcyMjM5LCA3MjI0NSwgNzIyNTMsIDcyMjU5LCA3MjI2NywgNzIyNzAsIDcyMjc0LCA3MjI3OCwgNzIyODEsIAotICAgIDcyMjg3LCA3MjI5MywgNzIzMDEsIDcyMzEzLCA3MjMyNSwgNzIzMzIsIDcyMzM2LCA3MjM0NywgNzIzNTUsIDcyMzYyLCAKLSAgICA3MjM3NCwgNzIzODIsIDcyMzkwLCA3MjM5NywgNzI0MDMsIDcyNDEzLCA3MjQyMiwgNzI0MjcsIDcyNDM3LCA3MjQ0NiwgCi0gICAgNDA3ODgsIDcyNDUzLCA3MjQ1NywgNzI0NjIsIDcyNDcwLCA3MjQ3NywgNzI0ODMsIDcyNDg3LCA3MjQ5NywgNzI1MDgsIAotICAgIDcyNTE2LCA3MjUyMywgNzI1MzUsIDcyNTQ3LCA3MjU1NiwgNjk1NzIsIDcyNTYzLCA3MjU3NCwgNzI1ODgsIDcyNTk2LCAKLSAgICA3MjYwNiwgNzI2MTMsIDcyNjIxLCA3MjYzMywgNzI2NDIsIDcyNjUwLCA3MjY2MCwgNzI2NzEsIDcyNjgzLCA3MjY5MiwgCi0gICAgNzI3MDIsIDcyNzA5LCA3MjcxOCwgNzI3MzMsIDcyNzQxLCA3Mjc1MSwgNzI3NjAsIDcyNzY4LCA3Mjc4MSwgNzI3OTYsIAotICAgIDcyODAwLCA3MjgwOSwgNzI4MjEsIDcyODMyLCA3Mjg0MywgNzI4NTQsIDcyODY0LCA3Mjg3NSwgNzI4ODMsIDcyODg5LCAKLSAgICA3Mjg5OSwgNzI5MDcsIDcyOTEzLCAyOTAyOCwgNzI5MTgsIDcyOTI0LCA3MjkyOSwgNzI5MzYsIDk3MDgsIDE3NTA1LCAKLSAgICA3Mjk0MiwgNzI5NTEsIDcyOTU2LCA3Mjk2MCwgNzI5NjcsIDcyOTczLCA3Mjk3OCwgNzI5ODMsIDcyOTkxLCA3Mjk5OSwgCi0gICAgNzMwMDMsIDczMDA2LCA3MzAwOSwgNzMwMTEsIDczMDE4LCA3MzAyNCwgNzMwMzUsIDczMDQwLCA3MzA0NCwgNzMwNTEsIAotICAgIDczMDU3LCA3MzA2MiwgNzMwNzAsIDY1NDQ2LCA2NTQ1NiwgNzMwNzYsIDczMDgzLCA3MzA5MywgMTA2MTgsIDczMTAwLCAKLSAgICA3MzEwNSwgMjkyMjQsIDczMTE0LCA3MzExOSwgNzMxMjYsIDczMTM2LCA3MzE0NCwgNzMxNTIsIDczMTYxLCA3MzE2NywgCi0gICAgNzMxNzMsIDczMTgwLCA3MzE4NywgNzMxOTIsIDczMTk2LCA3MzIwNCwgNzMyMDksIDczMjE0LCA3MzIyMiwgNzMyMjksIAotICAgIDczMjM0LCA3MzI0MCwgNzMyNDMsIDczMjQ3LCA3MzI1NiwgNzE4MTYsIDczMjY1LCA3MzI2OSwgNzMyNzUsIDczMjg2LCAKLSAgICA3MzI5NiwgMTc1MTQsIDczMzA3LCA3MzMxNSwgMTc1MjYsIDczMzIyLCA3MzMyNiwgNzMzMzUsIDI3MzQxLCA3MzM0MiwgCi0gICAgNzMzNDYsIDczMzUxLCA3MzM2OCwgNzMzODAsIDEwNTc2LCA3MzM5MiwgNzMzOTcsIDczNDAyLCA3MzQwNywgMjEwMTAsIAotICAgIDczNDExLCA3MzQxNiwgNzM0MjEsIDczNDI3LCA3MzQzMiwgNTg0NiwgMjEwMTQsIDczNDM3LCA3MzQ0MiwgNzM0NDgsIAotICAgIDczNDU1LCA3MzQ2MCwgNzM0NjUsIDczNDcxLCA3MzQ3NywgNzM0ODMsIDczNDg4LCA3MzQ5NCwgNzM0OTgsIDczNTEyLCAKLSAgICA3MzUyMCwgNzM1MjgsIDczNTM0LCA3MzUzOSwgNzM1NDYsIDczNTU2LCA3MzU2NSwgNzM1NzAsIDczNTc1LCA3MzU4MywgCi0gICAgNzM1ODgsIDczNTk0LCA3MzU5OSwgNzM2MDgsIDU5ODIzLCA3MzYxMywgNzM2MTYsIDczNjM0LCA3MzY1MywgNzM2NjYsIAotICAgIDczNjgwLCA3MzY5NiwgNzM3MDMsIDczNzEwLCA3MzcxNiwgNzM3MjMsIDczNzI4LCA3MzczNCwgNzM3NDAsIDczNzQ4LCAKLSAgICA3Mzc1NCwgNzM3NTksIDczNzY0LCA3Mzc4MCwgMTA1ODksIDczNzk0LCA3MzgwMSwgNzM4MDksIDczODE1LCA3MzgxOSwgCi0gICAgNzM4MjIsIDczODI3LCA3MzgzMiwgNzM4MzksIDczODQ0LCA3Mzg1MywgNzM4NTgsIDczODY0LCA3Mzg3MywgNzM4ODIsIAotICAgIDczODg3LCA3Mzg5MSwgNzM4OTksIDczOTA4LCAxMTY3NCwgNzM5MTcsIDczOTI1LCA3MzkzMCwgNzM5MzYsIDExNjg1LCAKLSAgICA3Mzk0MSwgNzM5NDQsIDczOTQ5LCA3Mzk1OSwgNzM5NjgsIDczOTczLCA3Mzk3OSwgNzM5ODQsIDczOTkyLCA3Mzk5OSwgCi0gICAgNzQwMTAsIDc0MDIwLCA3NDAyNSwgNjQ4NzUsIDc0MDMwLCA3NDAzNiwgNzQwNDEsIDc0MDQ4LCA3NDA1NywgNzQwNjUsIAotICAgIDc0MDcxLCA3NDA3NywgNzQwODQsIDc0MDkwLCA3NDA5NCwgMTY5NjAsIDMwNTUsIDc0MDk5LCA3NDEwMywgNzQxMDcsIAotICAgIDc0MTEzLCA3NDEyMiwgNzQxMjgsIDc0MTM1LCA3NDEzOSwgNzQxNjAsIDc0MTgyLCA3NDE5OCwgNzQyMTUsIDc0MjM0LCAKLSAgICA3NDI0MywgNzQyNTMsIDc0MjYwLCA3NDI2NywgMjcyMjgsIDc0MjczLCA3NDI3NywgNzQyODUsIDc0Mjk3LCA3NDMwMywgCi0gICAgNzQzMTEsIDc0MzE1LCA3NDMyMywgNzQzMzAsIDc0MzM0LCA3NDM0MCwgNzQzNDYsIDc0MzUxLCAzNTYzLCA0MTkyNCwgCi0gICAgNzQzNTcsIDc0MzYxLCA3NDM2NSwgNzQzNjksIDc0Mzc0LCA3NDM3OSwgNzQzODQsIDc0MzkwLCA3NDM5NiwgNzQ0MDIsIAotICAgIDc0NDA5LCA3NDQxNSwgNzQ0MjIsIDc0NDI4LCA3NDQzNCwgNzQ0MzksIDc0NDQ1LCA3NDQ1MCwgNzQ0NTQsIDc0NDU5LCAKLSAgICA3NDQ2MywgNzQ0NjgsIDQxOTM5LCA3NDQ3MiwgNzQ0NzcsIDc0NDg1LCA3NDQ4OSwgNzQ0OTQsIDc0NTAxLCA3NDUxMCwgCi0gICAgNzQ1MTYsIDc0NTIwLCA3NDUyNywgNzQ1MzEsIDc0NTM0LCA3NDU0MSwgNzQ1NTAsIDc0NTU1LCA3NDU1OSwgNzQ1NjcsIAotICAgIDc0NTc2LCA3NDU4MCwgNzQ1ODgsIDc0NTk0LCA3NDU5OSwgNzQ2MDQsIDc0NjEwLCA3NDYxNiwgNzQ2MjEsIDc0NjI1LCAKLSAgICA3NDYzMSwgNzQ2MzYsIDc0NjQwLCA3NDY0NCwgNzQ2NDcsIDc0NjUyLCA3NDY2MCwgNzQ2NzAsIDc0Njc1LCAzOTQxNiwgCi0gICAgNzQ2ODMsIDc0Njk1LCA3NDY5OSwgNzQ3MDUsIDc0NzE3LCA3NDcyOCwgNzQ3MzUsIDc0NzQxLCA3NDc0OCwgNzQ3NjAsIAotICAgIDc0NzY3LCA3NDc3MywgMjEwODgsIDc0Nzc3LCA3NDc4MywgNzQ3OTAsIDc0Nzk2LCA3NDgwMiwgNzQ4MDcsIDc0ODEyLCAKLSAgICA3NDgxNywgNzQ4MjYsIDcwMzMsIDc0ODMxLCAxNjQyNiwgNzQ4MzcsIDc0ODQxLCA3NDg0NSwgNzQ4NDksIDc0ODU3LCAKLSAgICA3NDg2NiwgNzQ4NzAsIDc0ODc3LCA3NDg4NiwgNzQ4OTksIDc0OTA1LCA3NDQ2NCwgMzAwODgsIDc0OTEwLCA3NDkxMiwgCi0gICAgNzQ5MTcsIDc0OTIyLCA3NDkyNywgNzQ5MzIsIDc0OTM3LCA3NDk0MiwgNzQ5NDcsIDc0OTUyLCA3NDk1NywgNzQ5NjIsIAotICAgIDc0OTY3LCA3NDk3MiwgNzQ5NzcsIDc0OTgyLCA3NDk4OCwgNzQ5OTMsIDc0OTk4LCA3NTAwMywgNzUwMDgsIDc1MDEzLCAKLSAgICA3NTAxOCwgNzUwMjMsIDc1MDI4LCA3NTAzNCwgNzUwNDAsIDc1MDQ2LCA3NTA1MSwgNzUwNTYsIDc1MDY4LCA3NTA3MywgCi0gICAgMTg3MCwgNDYsIDc1MDc4LCA3NTA4MywgMzI3NDYsIDc1MDg3LCAzMjc1MSwgMzI3NTYsIDMyNzYyLCAzMjc2NywgNzUwOTEsIAotICAgIDMyNzcyLCAyMjA4MywgNzUxMTMsIDc1MTE3LCA3NTEyMSwgNzUxMjYsIDc1MTMwLCAzMjc3NiwgNzUxMzQsIDc1MTQyLCAKLSAgICAzMjc4MSwgNzUxNDksIDc1MTUyLCA3NTE1NywgNzUxNjEsIDk1NDMsIDc1MTcwLCAzMjc4NiwgMjE5NDUsIDc1MTczLCAKLSAgICA3NTE3NywgMTQyOCwgNzUxODIsIDMyNzk3LCA3NTE4NSwgNzUxOTAsIDI1NzM3LCAyNTc0NywgMzUyNTgsIDc1MTk1LCAKLSAgICA3NTIwMCwgNzUyMDUsIDc1MjEwLCA3NTIxNiwgNzUyMjEsIDc1MjMwLCA3NTIzNSwgNzUyNDIsIDc1MjQ4LCA3NTI1MywgCi0gICAgNzUyNTgsIDc1MjYzLCA3NTI3MywgNzUyODIsIDc1Mjg3LCA3NTI5NSwgNzUyOTksIDc1MzA3LCAzMjYxMSwgMzczMTcsIAotICAgIDc1MzE0LCA3NTMyMCwgNzUzMjUsIDc1MzMwLCAxMjAxNiwgNzUzMzUsIDc1MzQxLCA3NTM0NiwgNzUzNTMsIDc1MzU5LCAKLSAgICA3NTM2NCwgNzUzNzIsIDc1MzgyLCA3NTM5MiwgNzUzOTgsIDc1NDAzLCA3NTQwOSwgMTc1MzYsIDc1NDE2LCAzNjA3MywgCi0gICAgNzU0MjksIDc1NDM0LCA3NTQ0MCwgMzA5OTMsIDc1NDUzLCA3NTQ1OSwgNzU0NjMsIDc1NDcyLCA3NTQ3OSwgNzU0ODUsIAotICAgIDc1NDkzLCA3NTUwMiwgNzU1MDksIDc1NTE1LCA3NTUxOCwgNzU1MjIsIDI1ODc4LCA3NTUyNiwgNzU1MzMsIDc1NTM5LCAKLSAgICA3NTU0NywgNzU1NTIsIDIzOTk0LCA3NTU1OCwgNzU1NjEsIDc1NTY5LCA3NTU3NywgNzU1OTEsIDc1NTk4LCA3NTYwNCwgCi0gICAgNzU2MTEsIDc1NjE3LCAzMjgxMSwgNzU2MjEsIDc1NjI4LCA3NTYzNiwgNzU2NDQsIDc1NjUwLCAzMjgxNiwgNzU2NTgsIAotICAgIDc1NjY0LCA3NTY2OSwgNzU2NzksIDc1Njg1LCA3NTY5NCwgMzA4MzAsIDM0NzE2LCA3NTcwMiwgNzU3MDcsIDc1NzEyLCAKLSAgICA3NTcxNiwgNzU3MjEsIDc1NzI1LCA3NTczMywgMTQ5MjAsIDM5NDI5LCA3NTczOCwgNzU3NDMsIDMyODIxLCA2MjI2OSwgCi0gICAgNzU3NDcsIDc1NzUyLCA3NTc1NiwgNzU3NjUsIDc1NzczLCA3NTc3OSwgNzU3ODQsIDc1NzkwLCA3NTc5NywgNzU4MDMsIAotICAgIDc1ODA4LCA3NTgxMywgNzU4MjIsIDc1ODM0LCA3NTg0OSwgMzMwODMsIDc1ODU1LCAxNjU0NSwgMzI4MjUsIDc1ODU5LCAKLSAgICA3NTg2NiwgMjQxMDQsIDc1ODcyLCA3NTg3OSwgNzU4ODgsIDc1ODk1LCA3NTkwNCwgNzU5MTAsIDc1OTE1LCA3NTkyMywgCi0gICAgNzU5MjksIDMyODM1LCA3NTkzNCwgNzU5NDMsIDc0NzIzLCA3NTk1MiwgNzU5NTksIDc1OTY1LCA3NTk3MSwgNzU5ODEsIAotICAgIDc1OTg5LCA3NTk5NiwgNzYwMDAsIDMyODQwLCA3NjAwMywgMzI4NDYsIDMyODUyLCA3NjAwOCwgNzYwMTYsIDc2MDI0LCAKLSAgICA3NjAzNCwgNzYwNDMsIDc2MDUxLCA3NjA1OCwgNzYwNjgsIDMyODU3LCA3NjA3MiwgNzYwNzQsIDc2MDc4LCA3NjA4MywgCi0gICAgNzYwODcsIDc2MDkxLCA3NjA5NywgNzYxMDIsIDc2MTA2LCA3NjExNywgNzYxMjIsIDc2MTI3LCAzMDYwLCA3NjEzMSwgCi0gICAgNzYxMzgsIDc2MTQyLCA3NjE1MSwgNzYxNTksIDc2MTY2LCA3NjE3MSwgNzYxNzYsIDYyMzE1LCA3NjE4MCwgNzYxODMsIAotICAgIDc2MTg5LCA3NjE5NywgNzYyMDMsIDc2MjA3LCA3NjIxMiwgNzYyMTksIDc2MjI0LCA3NjIzMCwgMzQ3NDcsIDc2MjM1LCAKLSAgICA3NjIzOCwgNzYyNDMsIDc2MjQ3LCA3NjI1MiwgNzYyNTcsIDc2MjYxLCA3NjI2OSwgNzYyNzMsIDI1NzU2LCAyNTc2NSwgCi0gICAgNzYyNzksIDc2Mjg1LCA3NjI5MSwgNzYyOTYsIDc2MzAwLCA3NjMwMywgNzYzMTMsIDc2MzIyLCA3NjMyNywgNzYzMzMsIAotICAgIDc2MzQwLCA3NjM0NiwgNzYzNTAsIDc2MzU4LCA3NjM2MywgMzQ3NTMsIDc2MzY3LCA3NjM3NSwgNzYzODEsIDc2Mzg4LCAKLSAgICA3NjM5MywgNzYzOTcsIDc2NDAyLCA1ODQ0MCwgMzQ3NTksIDc2NDA4LCA3NjQxMywgNzY0MTcsIDc2NDIyLCA3NjQyNywgCi0gICAgNzY0MzIsIDc2NDM2LCA3NjQ0MSwgNzY0NDYsIDc2NDUyLCA3NjQ1NywgNzY0NjIsIDc2NDY4LCA3NjQ3NCwgNzY0NzksIAotICAgIDc2NDgzLCA3NjQ4OCwgNzY0OTMsIDc2NDk4LCA3NjUwMiwgMjQxMDMsIDc2NTA3LCA3NjUxMiwgNzY1MTgsIDc2NTI0LCAKLSAgICA3NjUzMCwgNzY1MzUsIDc2NTM5LCA3NjU0NCwgNzY1NDksIDc2NTU0LCA3NjU1OCwgNzY1NjMsIDc2NTY4LCA3NjU3MywgCi0gICAgNzY1NzgsIDc2NTgyLCAzMjg2NSwgNzY1OTAsIDc2NTk0LCA3NjYwMiwgNzY2MTAsIDc2NjIxLCA3NjYyNiwgNzY2MzAsIAotICAgIDIyMzk3LCA3NjYzNSwgNzY2NDEsIDc2NjUxLCA3NjY1OCwgNzY2NjMsIDc2NjcyLCA3NjY3NywgNzY2ODEsIDc2Njg2LCAKLSAgICA3NjY5NCwgNzY3MDIsIDc2NzA5LCA2NTEwOSwgNzY3MTUsIDc2NzIzLCA3NjczMCwgNzY3NDEsIDc2NzQ3LCA3Njc1MSwgCi0gICAgNzY3NTcsIDMyODc1LCA3Njc2MCwgNzY3NjcsIDc2Nzc1LCA3Njc4MCwgMzk2MjAsIDc2Nzg0LCA3Njc4OSwgNzY3OTYsIAotICAgIDc2ODAxLCA4OTkyLCA3NjgwNSwgNzY4MTMsIDc2ODIwLCA3NjgyNywgNzY4MzMsIDc2ODQ3LCA2MzM4MSwgNzY4NTUsIAotICAgIDc2ODYxLCA3Njg2NSwgNzY4NjgsIDc2ODc2LCA3Njg4MywgNzY4ODgsIDc2OTAxLCA3NjkwOCwgNzY5MTIsIDc2OTE5LCAKLSAgICA3NjkyNCwgNjA4NjAsIDc2OTI5LCA3NjkzMiwgNzY5MzksIDc2OTQ1LCA3Njk0OSwgNzY5NTcsIDc2OTY2LCA3Njk3NiwgCi0gICAgNzY5ODYsIDc2OTk1LCA3NzAwMywgNzcwMTQsIDc3MDE5LCA3NzAyMywgNzcwMjgsIDc3MDMyLCAzNTM4OSwgNzcwNDAsIAotICAgIDIxMzU3LCAzNTM5OCwgNzcwNDUsIDc3MDUwLCA3NzA1NSwgNzcwNjAsIDc3MDY1LCA3NzA3MCwgNzcwNzUsIDc3MDc5LCAKLSAgICA3NzA4NCwgNzcwODksIDc3MDk0LCA3NzA5OSwgNzcxMDQsIDc3MTA5LCA3NzExMywgNzcxMTgsIDc3MTIzLCA3NzEyNywgCi0gICAgNzcxMzEsIDc3MTM1LCA3NzEzOSwgNzcxNDQsIDc3MTQ5LCA3NzE1MywgNzcxNTgsIDc3MTYyLCA3NzE2NiwgNzcxNzEsIAotICAgIDc3MTc2LCA3NzE4MSwgNzcxODYsIDc3MTkwLCA3NzE5NSwgNzcyMDAsIDc3MjA0LCA3NzIwOSwgNzcyMTQsIDc3MjE5LCAKLSAgICA3NzIyNCwgNzcyMjksIDc3MjM0LCA3NzIzOSwgNzcyNDQsIDc3MjQ5LCA3NzI1NCwgNzcyNTksIDc3MjY0LCA3NzI2OSwgCi0gICAgNzcyNzQsIDc3Mjc5LCA3NzI4NCwgNzcyODksIDc3Mjk0LCA3NzI5OSwgNzczMDQsIDc3MzA4LCA3NzMxMywgNzczMTgsIAotICAgIDc3MzIzLCA3NzMyOCwgNzczMzMsIDc3MzM4LCA3NzM0MywgNzczNDgsIDc3MzUzLCA3NzM1OCwgNzczNjMsIDc3MzY3LCAKLSAgICA3NzM3MiwgNzczNzYsIDc3MzgxLCA3NzM4NiwgNzczOTEsIDc3Mzk2LCA3NzQwMSwgNzc0MDYsIDc3NDExLCA3NzQxNiwgCi0gICAgNzc0MjEsIDc3NDI1LCA3NzQyOSwgNzc0MzQsIDc3NDM5LCA3NzQ0MywgNzc0NDgsIDc3NDUzLCA3NzQ1NywgNzc0NjIsIAotICAgIDc3NDY3LCA3NzQ3MiwgNzc0NzcsIDc3NDgxLCA3NzQ4NiwgNzc0OTEsIDc3NDk1LCA3NzUwMCwgNzc1MDQsIDc3NTA4LCAKLSAgICA3NzUxMiwgNzc1MTYsIDc3NTIxLCA3NzUyNSwgNzc1MjksIDc3NTMzLCA3NzUzNywgNzc1NDEsIDc3NTQ1LCA3NzU0OSwgCi0gICAgNzc1NTMsIDc3NTU3LCA3NzU2MiwgNzc1NjcsIDc3NTcyLCA3NzU3NywgNzc1ODIsIDc3NTg3LCA3NzU5MiwgNzc1OTcsIAotICAgIDc3NjAyLCA3NzYwNywgNzc2MTEsIDc3NjE1LCA3NzYxOSwgNzc2MjMsIDc3NjI3LCA3NzYzMSwgNzc2MzYsIDc3NjQwLCAKLSAgICA3NzY0NSwgNzc2NDksIDc3NjU0LCA3NzY1OSwgNzc2NjMsIDc3NjY3LCA3NzY3MiwgNzc2NzYsIDc3NjgwLCA3NzY4NCwgCi0gICAgNzc2ODgsIDc3NjkyLCA3NzY5NiwgNzc3MDAsIDc3NzA0LCA3NzcwOCwgNzc3MTIsIDc3NzE2LCA3NzcyMCwgNzc3MjQsIAotICAgIDc3NzI4LCA3NzczMywgNzc3MzgsIDc3NzQyLCA3Nzc0NiwgNzc3NTAsIDc3NzU0LCA3Nzc1OCwgNzc3NjIsIDc3NzY3LCAKLSAgICA3Nzc3MSwgNzc3NzUsIDc3Nzc5LCA3Nzc4MywgNzc3ODcsIDc3NzkxLCA3Nzc5NiwgNzc4MDAsIDc3ODA1LCA3NzgwOSwgCi0gICAgNzc4MTMsIDc3ODE3LCA3NzgyMSwgNzc4MjUsIDc3ODI5LCA3NzgzMywgNzc4MzcsIDc3ODQxLCA3Nzg0NSwgNzc4NDksIAotICAgIDc3ODU0LCA3Nzg1OCwgNzc4NjIsIDc3ODY2LCA3Nzg3MCwgNzc4NzQsIDc3ODc4LCA3Nzg4MiwgNzc4ODYsIDc3ODkwLCAKLSAgICA3Nzg5NCwgNzc4OTgsIDc3OTAzLCA3NzkwNywgNzc5MTEsIDc3OTE2LCA3NzkyMSwgNzc5MjUsIDc3OTI5LCA3NzkzMywgCi0gICAgNzc5MzcsIDc3OTQxLCA3Nzk0NSwgNzc5NDksIDc3OTUzLCA3Nzk1OCwgNzc5NjIsIDc3OTY3LCA3Nzk3MSwgNzc5NzYsIAotICAgIDc3OTgwLCA3Nzk4NSwgNzc5ODksIDc3OTk1LCA3ODAwMCwgNzgwMDQsIDc4MDA5LCA3ODAxMywgNzgwMTgsIDc4MDIyLCAKLSAgICA3ODAyNywgNzgwMzEsIDc4MDM2LCAxNTIxLCA3ODA0MCwgMjgyNCwgMTc1OSwgMTc2NCwgNzgwNDQsIDc4MDQ4LCAyODI4LCAKLSAgICA3ODA1MiwgMTM5NywgNzgwNTcsIDEzNDIsIDc4MDYxLCAyODQwLCA3ODA2NSwgNzgwNzIsIDc4MDc5LCA3ODA5MywgMjg0NCwgCi0gICAgNzEzMSwgNzgxMDIsIDc4MTEwLCA3ODExNywgNzgxMjgsIDc4MTM3LCA3ODE0NCwgNzgxNTYsIDc4MTY5LCA3ODE4MiwgCi0gICAgNzgxOTMsIDc4MTk4LCA3ODIwNSwgNzgyMTcsIDc4MjIxLCAyODQ4LCAxMTc0NywgNzgyMzEsIDc4MjM2LCA3ODI0NSwgCi0gICAgNzgyNTUsIDI4NTIsIDc4MjYwLCA3ODI2NCwgNzgyNjksIDc4Mjc2LCA3ODI4MiwgNzgyOTAsIDc4MzAyLCAxMzQ3LCAKLSAgICAxMzA0MiwgNzgzMTIsIDc4MzE2LCA3ODMyMiwgNzgzMzYsIDc4MzQ4LCA3ODM2MCwgNzgzNzAsIDc4Mzc5LCA3ODM4OCwgCi0gICAgNzgzOTcsIDc4NDA1LCA3ODQxNiwgNzg0MjQsIDQwNTEsIDc4NDM0LCA3ODQ0NSwgNzg0NTQsIDc4NDYwLCA3ODQ3NSwgCi0gICAgNzg0ODIsIDc4NDg4LCAzNTUxNCwgNzg0OTMsIDI4NzYsIDEzMDQ2LCA3ODQ5NywgNzg1MDQsIDg5MzAsIDc4NTEzLCAyODgxLCAKLSAgICAzMjM2MSwgNzg1MTksIDYwNjA5LCA3ODUyNiwgNzg1MzIsIDc4NTQzLCA3ODU0OSwgNzg1NTYsIDc4NTYyLCA3ODU3MCwgCi0gICAgNzg1NzcsIDc4NTgzLCA3ODU5MywgNzg2MDIsIDc4NjEzLCA3ODYyMCwgNzg2MjYsIDc4NjM2LCA3ODY0NCwgNzg2NTAsIAotICAgIDc4NjY1LCA3ODY3MSwgNzg2NzYsIDc4NjgzLCA3ODY4NiwgNzg2OTIsIDc4Njk5LCA3ODcwNSwgNzg3MTMsIDc4NzIyLCAKLSAgICA3ODczMCwgNzg3MzYsIDc4NzQ1LCA0MTQ2NCwgNzg3NTksIDc4NzY0LCA3ODc3MCwgMTQ3NTcsIDc4Nzc1LCA3ODc4OCwgCi0gICAgNzg3OTcsIDc4ODA1LCA3ODgxMiwgNzg4MTYsIDc4ODIwLCA3ODgyMywgNzg4MzAsIDc4ODM3LCA3ODg0NSwgNzg4NTMsIAotICAgIDc4ODYyLCA3ODg3MCwgMTQ2ODQsIDc4ODc4LCA3ODg4MywgNzg4ODcsIDc4ODk5LCA3ODkwNiwgNzg5MTUsIDc0OCwgCi0gICAgNzg5MjUsIDc4OTM0LCA3ODk0NSwgMjg5NywgNzg5NDksIDc4OTUzLCA3ODk1OSwgNzg5NzIsIDc4OTg0LCA3ODk5NCwgCi0gICAgNzkwMDMsIDc5MDE1LCAyNjM2OSwgNzkwMjYsIDc5MDM0LCA3OTA0MywgNzkwNTQsIDc5MDY1LCA3OTA3NSwgNzkwODUsIAotICAgIDc5MDk0LCA3OTEwMiwgMTEzMTIsIDc5MTA5LCA3OTExMywgNzkxMTYsIDc5MTIxLCA3OTEyNiwgNzkxMzAsIDc5MTM2LCAKLSAgICAxMzUyLCAxMTgxOCwgNzkxNDMsIDc5MTU0LCA3OTE2MywgNzkxNzEsIDc5MTgwLCA3OTE4OCwgNzkyMDQsIDc5MjE1LCAKLSAgICA3OTIyNCwgNzkyMzIsIDc5MjQ0LCA3OTI1NSwgNzkyNzEsIDc5MjgxLCA3OTMwMiwgNzkzMTUsIDc5MzIzLCA3OTMzMCwgCi0gICAgMTQ4NjgsIDc5MzQzLCA3OTM0OCwgNzkzNTQsIDU5MDgsIDc5MzYwLCA3OTM2MywgNzkzNzAsIDc5MzgwLCA4MTc2LCAKLSAgICA3OTM4NywgNzkzOTIsIDc5Mzk3LCA3OTQwMiwgNzk0MTAsIDc5NDE5LCA3OTQyNywgOTc1NiwgOTc2NSwgNzk0MzIsIAotICAgIDc5NDQzLCA3OTQ0OCwgNzk0NTQsIDI5MTMsIDI5MTgsIDc5NDYwLCAxMDg3OSwgNzk0NjYsIDc5NDczLCA3OTQ4MCwgCi0gICAgNzk0OTMsIDIyNTEsIDY4LCA3OTQ5OCwgNzk1MDMsIDc5NTEzLCA3OTUxOSwgNzk1MjgsIDc5NTM2LCA3OTU0NiwgNzk1NTAsIAotICAgIDc5NTU1LCA3OTU1OSwgNzk1NzEsIDI5NDEsIDc5NTc5LCA3OTU4NywgNzk1OTIsIDc5NjAzLCA3OTYxNCwgNzk2MjMsIAotICAgIDc5NjI4LCA3OTYzNCwgNzk2MzksIDc5NjQ5LCA3OTY1OSwgNzk2NjQsIDc5NjcwLCA3OTY3NCwgNzk2NzksIDc5Njg4LCAKLSAgICAyMTQxMCwgNzk2OTIsIDQxMjgsIDIwLCA3OTY5NywgNzk3MDYsIDc5NzEzLCA3OTcyMCwgNzk3MjYsIDc5NzMyLCA4NjQsIAotICAgIDc5NzM3LCA3OTc0MiwgNjA5MzcsIDc5NzQ3LCA3OTc1MiwgNzk3NTgsIDc5NzY0LCA3OTc3MiwgNzk3NzcsIDc5Nzg0LCAKLSAgICA3OTc5MCwgNzk3OTUsIDM4MDMwLCA0MTM1OCwgNzk4MDEsIDI5NDUsIDMyLCA3OTgxMSwgNzk4MjQsIDc5ODI5LCA3OTgzNywgCi0gICAgNzk4NDIsIDc5ODQ4LCAyOTY3LCAyODMxMCwgNzk4NTMsIDc5ODYxLCA3OTg2OCwgNzk4NzMsIDU4NjgyLCA2MTk0MCwgCi0gICAgNzk4ODIsIDc5ODg2LCAxNzA0LCAxODEzLCA3OTg5MSwgNzk4OTYsIDc5OTAzLCAxODE3LCAyNDcsIDc5OTEwLCA3OTkxNiwgCi0gICAgMjk4OSwgNzk5MjEsIDc5OTI2LCA3OTkzMywgMTgyMSwgNzk5MzgsIDc5OTQ0LCA3OTk0OSwgNzk5NjEsIDYxMTksIDc5OTcxLCAKLSAgICAxODI4LCA3OTk3NywgNzk5ODIsIDc5OTg5LCA3OTk5NiwgODAwMTEsIDgwMDE4LCA4MDAyOSwgODAwMzcsIDI2MTgsIAotICAgIDgwMDQxLCA4MDA1MywgODAwNTgsIDgwMDYyLCA4MDA2OCwgMjgxMzUsIDIyNTYsIDgwMDcyLCA4MDA4MywgODAwODcsIAotICAgIDgwMDkxLCA4MDA5NywgODAxMDEsIDgwMTEwLCA4MDExNCwgODAxMjUsIDgwMTI5LCAyMzAyLCAzMjE5MCwgODAxMzMsIAotICAgIDgwMTQzLCAzMDgwLCA5MzcxLCA4MDE1MSwgODAxNTYsIDgwMTYwLCA4MDE2OSwgODAxNzYsIDgwMTgyLCAzMDUwLCAxNzE1MiwgCi0gICAgODAxODYsIDgwMTk5LCA4MDIxNywgODAyMjIsIDgwMjMwLCA4MDIzOCwgODAyNDgsIDk5ODUsIDEzMTU0LCA4MDI2MCwgCi0gICAgODAyNzMsIDgwMjgwLCA4MDI4NywgODAzMDMsIDgwMzEwLCA4MDMxNiwgMTA2NCwgODAzMjMsIDgwMzMwLCA4MDM0MCwgCi0gICAgODAzNDksIDgwMzYxLCA0MjMyOCwgODAzNjksIDMwNjQsIDEyMDMwLCA4MDM3MiwgODAzODAsIDgwMzg0LCA3ODI3MiwgCi0gICAgMzA2OCwgODAzODgsIDIxMTkxLCAxMjA0NiwgMzc1NiwgODAzOTIsIDMwNzQsIDgwMzk2LCA4MDQwNiwgODA0MTIsIDgwNDE4LCAKLSAgICA4MDQyNCwgODA0MzAsIDgwNDM2LCA4MDQ0MiwgODA0NDgsIDgwNDU0LCA4MDQ2MCwgODA0NjYsIDgwNDcyLCA4MDQ3OCwgCi0gICAgODA0ODQsIDgwNDkwLCA4MDQ5NiwgODA1MDIsIDgwNTA4LCA4MDUxNCwgODA1MjAsIDgwNTI2LCA4MDUzMiwgODA1MzgsIAotICAgIDgwNTQ0LCA4MDU1MCwgODA1NTYsIDgwNTYzLCA4MDU3MCwgODA1NzYsIDgwNTgyLCA4MDU4OCwgODA1OTQsIDgwNjAwLCAKLSAgICA4MDYwNiwgMTM1NywgMTYwNjIsIDEyMDY4LCA4MDYxMiwgODA2MTcsIDgwNjIyLCA4MDYyNywgODA2MzIsIDgwNjM3LCAKLSAgICA4MDY0MiwgODA2NDcsIDgwNjUyLCA4MDY1NywgODA2NjIsIDgwNjY3LCA4MDY3MiwgODA2NzcsIDgwNjgyLCA4MDY4NywgCi0gICAgODA2OTIsIDgwNjk3LCA4MDcwMiwgODA3MDcsIDgwNzEyLCA4MDcxNywgODA3MjIsIDgwNzI3LCA4MDczMiwgODA3MzcsIAotICAgIDgwNzQzLCA4MDc0OCwgODA3NTMsIDgwNzU5LCA4MDc2NCwgODA3NzAsIDgwNzc1LCA4MDc4MCwgODA3ODYsIDgwNzkxLCAKLSAgICA4MDc5NiwgODA4MDEsIDgwODA2LCA4MDgxMSwgODA4MTYsIDgwODIxLCA4MDgyNiwgODA0MDcsIDgwNDEzLCA4MDQxOSwgCi0gICAgODA0MjUsIDgwNDMxLCA4MDQzNywgODA0NDMsIDgwNDQ5LCA4MDQ1NSwgODA0NjEsIDgwNDY3LCA4MDQ3MywgODA0NzksIAotICAgIDgwNDg1LCA4MDQ5MSwgODA4MzIsIDgwNDk3LCA4MDUwMywgODA1MDksIDgwODM4LCA4MDUxNSwgODA1MjEsIDgwNTI3LCAKLSAgICA4MDUzMywgODA1MzksIDgwNTQ1LCA4MDU1MSwgODA1NzEsIDgwODQ0LCA4MDg1MCwgODA1NzcsIDgwODU2LCA4MDU4MywgCi0gICAgODA1ODksIDgwNTk1LCA4MDYwMSwgODA2MDcsIDMwOTEsIDMwOTYsIDgwODYyLCA4MDg2NywgODA4NzAsIDgwODc2LCAKLSAgICA4MDg4MiwgODA4ODksIDgwODk0LCA4MDg5OSwgMjMwNywgCisgICAgMCwgMCwgNiwgMTAsIDE0LCAyMiwgMjcsIDM0LCAzOSwgNDUsIDQ3LCA1MCwgNjIsIDcwLCA4MCwgODksIDEwMiwgMTA4LCAKKyAgICAxMTMsIDExOCwgMTI2LCAxMzUsIDE0MCwgMTQ1LCAxNDgsIDE1MiwgMTU4LCAxNjQsIDE2OSwgMTc3LCAxODIsIDE4OSwgCisgICAgMTk3LCAxOTgsIDIwMSwgMjA5LCAyMTUsIDIyNCwgMjMxLCAyNDEsIDI0OCwgMjUzLCAyNTYsIDI2MSwgMTQ5LCAyNjcsIAorICAgIDI3MywgMjc2LCAyODAsIDI4NSwgMjkxLCAyOTcsIDMwMiwgMzA4LCAzMTMsIDMyMiwgMzI4LCAzMzUsIDM0MiwgMzUxLCAKKyAgICAzNTYsIDM2MSwgMzY5LCAzNzEsIDM3MiwgMzgwLCAzODgsIDM5NSwgMzk4LCA0MDQsIDQxMSwgNDE2LCA0MTgsIDQyNSwgCisgICAgNDI3LCAzMDYsIDQyOSwgNDMxLCA0MzYsIDQ0MywgNDUxLCA0NTUsIDQ2MSwgNDY2LCA0NzEsIDQ3NiwgNDgzLCA0OTMsIAorICAgIDQ5NiwgNTAzLCA1MTMsIDUyMiwgNTI5LCA1MzgsIDU0NSwgNTQ5LCA1NTcsIDU2MCwgNTczLCA1ODAsIDU4NCwgNTkzLCAKKyAgICA1OTcsIDYwMSwgNjA3LCA2MTEsIDYxNSwgNjE2LCA2MjUsIDYzMywgNjM4LCA2NDYsIDY1MSwgNjU3LCA2NjUsIDY2OCwgCisgICAgNjc1LCA2ODQsIDY5MiwgNjk1LCA2OTgsIDcwMCwgNzA2LCA3MTQsIDcyMSwgNzI0LCA3MzQsIDczOCwgNzQyLCA3NTMsIAorICAgIDc1OCwgNzYyLCA3NjYsIDc3MywgNzgwLCA3ODQsIDc4OCwgNzgyLCA3OTQsIDc5OCwgODAzLCA4MDYsIDgxMCwgODE2LCAKKyAgICA4MjEsIDgzMCwgODM4LCA4NDMsIDYxMCwgNTQzLCA4NDgsIDg1MSwgODU3LCA4NjEsIDg2NywgODc0LCA4NzcsIDg4NiwgCisgICAgODk1LCA5MDIsIDkxNSwgOTE5LCA5MjcsIDkzNiwgOTQyLCA5NTAsIDk1NywgOTY3LCA5NzQsIDk3OSwgOTg1LCA5OTMsIAorICAgIDk5NywgMTAwMCwgMjEsIDEwMDksIDEwMTgsIDEwMjYsIDEwMzAsIDEwMzUsIDEwMzgsIDEwNDcsIDEwNTIsIDEwNTQsIAorICAgIDEwNjEsIDEwNjUsIDEwNjgsIDEwNzEsIDEwNzgsIDEwODMsIDEwODcsIDEwOTAsIDEwOTQsIDExMDIsIDExMDgsIDExMTgsIAorICAgIDExMjQsIDExMzEsIDExMzUsIDExNDMsIDExNDYsIDExNTEsIDExNTcsIDExNjMsIDExNjcsIDExNzQsIDExNzksIDExODQsIAorICAgIDExOTAsIDExOTUsIDEyMDAsIDEyMDUsIDEyMDksIDEyMTQsIDEyMjAsIDEyMjUsIDEyMzAsIDEyMzQsIDEyNDAsIDEyNDUsIAorICAgIDEyNTAsIDEyNTUsIDEyNTksIDEyNjQsIDEyNjksIDEyNzQsIDEyODAsIDEyODYsIDEyOTIsIDEyOTcsIDEzMDEsIDEzMDYsIAorICAgIDEzMTEsIDEzMTYsIDEzMjAsIDEzMjUsIDEzMzAsIDEzMzUsIDEzNDAsIDExNzUsIDExODAsIDExODUsIDExOTEsIDExOTYsIAorICAgIDEzNDQsIDEyMDYsIDEzNTAsIDEzNTUsIDEzNjAsIDEzNjcsIDEzNzEsIDEzNzQsIDEzODMsIDEyMTAsIDEzODcsIDEyMTUsIAorICAgIDEyMjEsIDEyMjYsIDEzOTEsIDEzOTYsIDE0MDEsIDE0MDUsIDE0MDksIDE0MTUsIDE0MTksIDEyMzEsIDE0MjIsIDEyNDEsIAorICAgIDE0MjcsIDE0MzEsIDEyNDYsIDE0MzcsIDEyNTEsIDE0NDEsIDE0NDUsIDEyNTYsIDE0NDksIDE0NTQsIDE0NTgsIDE0NjEsIAorICAgIDE0NjUsIDEyNjAsIDEyNjUsIDE0NzAsIDEyNzAsIDE0NzYsIDE0ODIsIDE0ODgsIDE0OTQsIDEyNzUsIDEyODcsIDEyOTMsIAorICAgIDE0OTgsIDE1MDIsIDE1MDYsIDE1MDksIDEyOTgsIDE1MTMsIDE1MTUsIDE1MjAsIDE1MjUsIDE1MzEsIDE1MzYsIDE1NDEsIAorICAgIDE1NDUsIDE1NTAsIDE1NTUsIDE1NjAsIDE1NjUsIDE1NzEsIDE1NzYsIDE1ODEsIDE1ODcsIDE1OTMsIDE1OTgsIDE2MDIsIAorICAgIDE2MDcsIDE2MTIsIDE2MTcsIDE2MjIsIDE2MjcsIDE2MzEsIDE2MzksIDE2NDQsIDE2NDgsIDE2NTMsIDE2NTgsIDE2NjMsIAorICAgIDE2NjgsIDE2NzIsIDE2NzUsIDE2ODIsIDE2ODcsIDE2OTIsIDE2OTcsIDE3MDIsIDE3MDgsIDE3MTMsIDE3MTcsIDEzMDIsIAorICAgIDE3MjAsIDE3MjUsIDE3MzAsIDEzMDcsIDE3MzQsIDE3MzgsIDE3NDUsIDEzMTIsIDE3NTIsIDEzMTcsIDE3NTYsIDE3NTgsIAorICAgIDE3NjMsIDE3NjksIDEzMjEsIDE3NzQsIDE3ODMsIDEzMjYsIDE3ODgsIDE3OTQsIDE3OTksIDEzMzEsIDE4MDQsIDE4MDksIAorICAgIDE4MTIsIDE4MTcsIDE4MjEsIDE4MjUsIDE4MjksIDE4MzIsIDE4MzYsIDEzMzYsIDEzNDEsIDE4NDEsIDE4NDMsIDE4NDksIAorICAgIDE4NTUsIDE4NjEsIDE4NjcsIDE4NzMsIDE4NzksIDE4ODUsIDE4OTEsIDE4OTYsIDE5MDIsIDE5MDgsIDE5MTQsIDE5MjAsIAorICAgIDE5MjYsIDE5MzIsIDE5MzgsIDE5NDQsIDE5NTAsIDE5NTUsIDE5NjAsIDE5NjUsIDE5NzAsIDE5NzUsIDE5ODAsIDE5ODUsIAorICAgIDE5OTAsIDE5OTUsIDIwMDAsIDIwMDYsIDIwMTEsIDIwMTcsIDIwMjIsIDIwMjgsIDIwMzQsIDIwMzksIDIwNDUsIDIwNTEsIAorICAgIDIwNTcsIDIwNjMsIDIwNjgsIDIwNzMsIDIwNzUsIDIwNzYsIDIwODAsIDIwODQsIDIwODksIDIwOTMsIDIwOTcsIDIxMDEsIAorICAgIDIxMDYsIDIxMTAsIDIxMTMsIDIxMTgsIDIxMjIsIDIxMjcsIDIxMzEsIDIxMzUsIDIxNDAsIDIxNDQsIDIxNDcsIDIxNTEsIAorICAgIDIxNTcsIDIxNzEsIDIxNzUsIDIxNzksIDIxODMsIDIxODYsIDIxOTEsIDIxOTUsIDIxOTksIDIyMDIsIDIyMDYsIDIyMTEsIAorICAgIDIyMTYsIDIyMjEsIDIyMjYsIDIyMzAsIDIyMzQsIDIyMzgsIDIyNDIsIDIyNDcsIDIyNTEsIDIyNTYsIDIyNjAsIDIyNjUsIAorICAgIDIyNzEsIDIyNzgsIDIyODQsIDIyODksIDIyOTQsIDIyOTksIDIzMDUsIDIzMTAsIDIzMTYsIDIzMjEsIDIzMjQsIDIzMjYsIAorICAgIDExOTIsIDIzMzAsIDIzMzcsIDIzNDUsIDIzNTUsIDIzNjQsIDIzNzgsIDIzODIsIDIzODYsIDIzOTEsIDI0MDQsIDI0MTIsIAorICAgIDI0MTYsIDI0MjEsIDI0MjUsIDI0MjgsIDI0MzIsIDI0MzYsIDI0NDEsIDI0NDYsIDI0NTEsIDI0NTUsIDI0NTgsIDI0NjIsIAorICAgIDI0NjksIDI0NzYsIDI0ODIsIDI0ODcsIDI0OTIsIDI0OTgsIDI1MDQsIDI1MDksIDI1MTIsIDE3NjAsIDI1MTQsIDI1MjAsIAorICAgIDI1MjQsIDI1MjksIDI1MzMsIDI1MzcsIDE2NzgsIDE3NzEsIDI1NDIsIDI1NDYsIDI1NDksIDI1NTQsIDI1NTksIDI1NjQsIAorICAgIDI1NjksIDI1NzMsIDI1ODAsIDI1ODUsIDI1ODgsIDI1OTUsIDI2MDEsIDI2MDUsIDI2MDksIDI2MTMsIDI2MTgsIDI2MjUsIAorICAgIDI2MzAsIDI2MzUsIDI2NDIsIDI2NDgsIDI2NTQsIDI2NjAsIDI2NzQsIDI2OTEsIDI3MDYsIDI3MjEsIDI3MzAsIDI3MzUsIAorICAgIDI3MzksIDI3NDQsIDI3NDksIDI3NTMsIDI3NjUsIDI3NzIsIDI3NzgsIDIyNzQsIDI3ODQsIDI3OTEsIDI3OTcsIDI4MDEsIAorICAgIDI4MDQsIDI4MTEsIDI4MTcsIDI4MjIsIDI4MjYsIDI4MzEsIDI4MzUsIDI4MzksIDIwOTgsIDI4NDMsIDI4NDgsIDI4NTMsIAorICAgIDI4NTcsIDI4NjIsIDI4NzAsIDI4NzQsIDI4NzgsIDI4ODIsIDI4ODYsIDI4OTEsIDI4OTYsIDI5MDEsIDI5MDUsIDI5MTAsIAorICAgIDI5MTUsIDI5MTksIDI5MjQsIDI5MjgsIDI5MzEsIDI5MzUsIDI5MzksIDI5NDcsIDI5NTIsIDI5NTYsIDI5NjAsIDI5NjYsIAorICAgIDI5NzUsIDI5NzksIDI5ODMsIDI5ODksIDI5OTQsIDMwMDEsIDMwMDUsIDMwMTUsIDMwMTksIDMwMjMsIDMwMjgsIDMwMzIsIAorICAgIDMwMzcsIDMwNDMsIDMwNDgsIDMwNTIsIDMwNTYsIDMwNjAsIDI0NzIsIDMwNjgsIDMwNzMsIDMwNzksIDMwODQsIDMwODgsIAorICAgIDMwOTMsIDMwOTgsIDMxMDIsIDMxMDgsIDMxMTMsIDIxMDIsIDMxMTksIDMxMjUsIDMxMzAsIDMxMzUsIDMxNDAsIDMxNDUsIAorICAgIDMxNTAsIDMxNTUsIDMxNjAsIDMxNjUsIDMxNzAsIDMxNzYsIDMxODEsIDEyMDcsIDEwMSwgMzE4NywgMzE5MSwgMzE5NSwgCisgICAgMzE5OSwgMzIwNCwgMzIwOCwgMzIxMiwgMzIxOCwgMzIyMywgMzIyNywgMzIzMSwgMzIzNiwgMzI0MSwgMzI0NSwgMzI1MCwgCisgICAgMzI1NCwgMzI1NywgMzI2MSwgMzI2NiwgMzI3MCwgMzI3NSwgMzI3OSwgMzI4MiwgMzI4NiwgMzI5MCwgMzI5NSwgMzI5OSwgCisgICAgMzMwMiwgMzMxNSwgMzMxOSwgMzMyMywgMzMyNywgMzMzMiwgMzMzNiwgMzM0MCwgMzM0MywgMzM0NywgMzM1MSwgMzM1NiwgCisgICAgMzM2MCwgMzM2NSwgMzM3MCwgMzM3NSwgMzM3OSwgMzM4NCwgMzM4NywgMzM5MCwgMzM5NSwgMzQwMSwgMzQwNSwgMzQwOSwgCisgICAgMzQxMiwgMzQxNywgMzQyMSwgMzQyNiwgMzQzMCwgMzQzNCwgMzQzNywgMzQ0MywgMzQ0OCwgMzQ1MywgMzQ1OSwgMzQ2NCwgCisgICAgMzQ2OSwgMzQ3NSwgMzQ4MSwgMzQ4NiwgMzQ5MSwgMzQ5NiwgMzUwMSwgMTA2MywgNTU5LCAzNTA0LCAzNTA3LCAzNTEyLCAKKyAgICAzNTE2LCAzNTIwLCAzNTI0LCAzNTI4LCAzNTMxLCAzNTM1LCAzNTQwLCAzNTQ1LCAzNTQ5LCAzNTU0LCAzNTU4LCAzNTYzLCAKKyAgICAzNTY3LCAzNTcxLCAzNTc1LCAzNTgxLCAzNTg3LCAzNTkwLCAzNTkzLCAzNTk5LCAzNjA2LCAzNjEzLCAzNjE5LCAzNjI2LCAKKyAgICAzNjMxLCAzNjM1LCAzNjM5LCAzNjQ2LCAzNjUxLCAzNjU4LCAzNjYzLCAzNjY3LCAzNjc3LCAzNjgxLCAzNjg1LCAzNjkwLCAKKyAgICAzNjk1LCAzNzA1LCAyMTE0LCAzNzEwLCAzNzE0LCAzNzE3LCAzNzIzLCAzNzI4LCAzNzM0LCAzNzQwLCAzNzQ1LCAzNzUyLCAKKyAgICAzNzU2LCAzNzYwLCA2MTIsIDY5MywgMTM2OCwgMzc2NCwgMzc3MSwgMzc3OCwgMzc4NCwgMzc4OSwgMzc5NiwgMzgwMywgCisgICAgMzgwOSwgMzgxNSwgMzgyMCwgMzgyNCwgMzgzMCwgMzgzNywgMzg0MiwgMzg0NiwgMjEyMywgMzg1MCwgMzg1OCwgNjc5LCAKKyAgICAzODY0LCAzODc1LCAzODc5LCAzODg5LCAyMTI4LCAzODk1LCAzOTAwLCAzOTE1LCAzOTIxLCAzOTI4LCAzOTM4LCAzOTQ0LCAKKyAgICAzOTQ5LCAzOTU1LCAzOTYxLCAzOTY0LCAzOTY3LCAzOTcxLCAzOTc2LCAzOTgzLCAzOTg4LCAzOTkyLCAzOTk2LCA0MDAwLCAKKyAgICA0MDA0LCA0MDA5LCA0MDE1LCA0MDI2LCA0MDMwLCAzMjYyLCA0MDM1LCA0MDQ3LCA0MDU1LCA0MDU5LCA0MDY0LCAxNTQ3LCAKKyAgICA0MDcxLCA0MDc0LCA0MDc3LCA0MDgxLCA0MDg0LCA0MDkwLCA0MDk0LCA0MTA4LCA0MTEyLCA0MTE1LCA0MTE5LCA0MTI1LCAKKyAgICA0MTMxLCA0MTM2LCA0MTQwLCA0MTQ0LCA0MTUwLCA0MTYxLCA0MTY3LCA0MTcyLCA0MTc4LCA0MTgyLCA0MTkwLCA0MjAyLCAKKyAgICA0MjEyLCA0MjE4LCA0MjIzLCA0MjMyLCA0MjQwLCA0MjQ3LCA0MjUxLCA0MjU3LCA0MjY2LCA0Mjc1LCA0Mjc5LCA0Mjg0LCAKKyAgICA0Mjg5LCA0MjkzLCA0MzAxLCA0MzA1LCA0MzEwLCA0MzE0LCA0MzIwLCAyMTM2LCAxMzg0LCA0MzI2LCA0MzMxLCA0MzM3LCAKKyAgICA0MzQyLCA0MzQ3LCA0MzUyLCA0MzU3LCA0MzYyLCA0MzY3LCA0MzczLCA0Mzc4LCA0Mzg0LCA0Mzg5LCA0Mzk0LCA0Mzk5LCAKKyAgICA0NDA1LCA0NDEwLCA0NDE1LCA0NDIwLCA0NDI1LCA0NDMxLCA0NDM2LCA0NDQyLCA0NDQ3LCA0NDUyLCA0NDU3LCA0NDYyLCAKKyAgICA0NDY3LCA0NDcyLCA0NDc4LCA0NDgzLCA0NDg4LCAyNzEsIDMwMSwgNDQ5MywgNDQ5OSwgNDUwMywgNDUwNywgNDUxMiwgCisgICAgNDUxNiwgNDUyMCwgNDUyMywgNDUyNywgNDUzMSwgNDUzNSwgNDUzOSwgNDU0MywgNDU0OCwgNDU1MiwgNDU1NiwgNDU2MiwgCisgICAgNDMyMywgNDU2NywgNDU3MSwgNDU3NCwgNDU3OSwgNDU4NCwgNDU4OSwgNDU5NCwgNDU5OSwgNDYwNCwgNDYwOSwgNDYxNCwgCisgICAgNDYxOSwgNDYyNCwgNDYyOCwgNDYzMywgNDYzOCwgNDY0MywgNDY0OCwgNDY1MywgNDY1OCwgNDY2MywgNDY2OCwgNDY3MywgCisgICAgNDY3OCwgNDY4MiwgNDY4NywgNDY5MiwgNDY5NywgNDcwMiwgNDcwNywgNDcxMiwgNDcxNywgNDcyMiwgNDcyNywgNDczMiwgCisgICAgNDczNiwgNDc0MSwgNDc0NiwgNDc1MSwgNDc1NiwgNDc2MSwgNDc2NiwgNDc3MSwgNDc3NiwgNDc4MSwgNDc4NiwgNDc5MCwgCisgICAgNDc5NSwgNDgwMCwgNDgwNSwgNDgxMCwgNDgxNSwgNDgyMCwgNDgyNSwgNDgzMCwgNDgzNSwgNDg0MCwgNDg0NCwgNDg0OSwgCisgICAgNDg1NCwgNDg1OSwgNDg2NCwgNDg2OSwgNDg3NCwgNDg3OSwgNDg4NCwgNDg4OSwgNDg5NCwgNDg5OCwgNDkwMywgNDkwOCwgCisgICAgNDkxMywgNDkxOCwgNDkyMywgNDkyOCwgNDkzMywgNDkzOCwgNDk0MywgNDk0OCwgNDk1MiwgNDk1NywgNDk2MiwgNDk2NywgCisgICAgNDk3MiwgNDk3OCwgNDk4NCwgNDk5MCwgNDk5NiwgNTAwMiwgNTAwOCwgNTAxNCwgNTAxOSwgNTAyNSwgNTAzMSwgNTAzNywgCisgICAgNTA0MywgNTA0OSwgNTA1NSwgNTA2MSwgNTA2NywgNTA3MywgNTA3OSwgNTA4NCwgNTA5MCwgNTA5NiwgNTEwMiwgNTEwOCwgCisgICAgNTExNCwgNTEyMCwgNTEyNiwgNTEzMiwgNTEzOCwgNTE0NCwgNTE0OSwgNTE1NSwgNTE2MSwgNTE2NywgNTE3MywgNTE3OSwgCisgICAgNTE4NSwgNTE5MSwgNTE5NywgNTIwMywgNTIwOSwgNTIxNCwgNTIyMCwgNTIyNiwgNTIzMiwgNTIzOCwgNTI0NCwgNTI1MCwgCisgICAgNTI1NiwgNTI2MiwgNTI2OCwgNTI3NCwgNTI3OSwgNTI4NSwgNTI5MSwgNTI5NywgNTMwMywgNTMwOSwgNTMxNSwgNTMyMSwgCisgICAgNTMyNywgNTMzMywgNTMzOSwgNTM0NCwgNTM0OCwgNTM1NCwgNTM2MCwgNTM2NiwgNTM3MiwgNTM3OCwgNTM4NCwgNTM5MCwgCisgICAgNTM5NiwgNTQwMiwgNTQwOCwgNTQxMywgNTQxOSwgNTQyNSwgNTQzMSwgNTQzNywgNTQ0MywgNTQ0OSwgNTQ1NSwgNTQ2MSwgCisgICAgNTQ2NywgNTQ3MywgNTQ3OCwgNTQ4NCwgNTQ5MCwgNTQ5NiwgNTUwMiwgNTUwOCwgNTUxNCwgNTUyMCwgNTUyNiwgNTUzMiwgCisgICAgNTUzOCwgNTU0MywgNTU0OSwgNTU1NSwgNTU2MSwgNTU2NywgNTU3MywgNTU3OSwgNTU4NSwgNTU5MSwgNTU5NywgNTYwMywgCisgICAgNTYwOCwgNTYxNCwgNTYyMCwgNTYyNiwgNTYzMiwgNTYzOCwgNTY0NCwgNTY1MCwgNTY1NiwgNTY2MiwgNTY2OCwgNTY3MywgCisgICAgNTY3OSwgNTY4NSwgNTY5MSwgNTY5NywgNTcwMywgNTcwOSwgNTcxNSwgNTcyMSwgNTcyNywgNTczMywgNTczOCwgNTc0NCwgCisgICAgNTc1MCwgNTc1NiwgNTc2MiwgNTc2OCwgNTc3NCwgNTc4MCwgNTc4NiwgNTc5MiwgNTc5OCwgNTgwMywgNTgwOSwgNTgxNSwgCisgICAgNTgyMSwgNTgyNywgNTgzMywgNTgzOSwgNTg0NSwgNTg1MSwgNTg1NywgNTg2MywgNTg2OCwgNTg3NCwgNTg4MCwgNTg4NiwgCisgICAgNTg5MiwgNTg5OCwgNTkwNCwgNTkxMCwgNTkxNiwgNTkyMiwgNTkyOCwgNTkzMywgNTkzOSwgNTk0NSwgNTk1MSwgNTk1NywgCisgICAgNTk2MywgNTk2OSwgNTk3NSwgNTk4MSwgNTk4NywgNTk5MywgNTk5OCwgNjAwMiwgNjAwNSwgNjAxMiwgNjAxNiwgNjAyOSwgCisgICAgNjAzMywgNjAzNywgNjA0MSwgNjA0NCwgNjA0OCwgNjA1MywgNjA1NywgNjA2MSwgNjA2NywgNjA3NCwgNjA4MiwgNjA4OSwgCisgICAgNjA5MywgNjEwMSwgNjExMCwgNjExNiwgNjEyOCwgNjEzMywgNjEzNiwgNjE0MSwgNjE0NSwgNjE1NSwgNjE2MywgNjE3MSwgCisgICAgNjE3NywgNjE4MSwgNjE5MSwgNjIwMSwgNjIwOSwgNjIxNiwgNjIyMywgNjIyOSwgNjIzNSwgNjI0MiwgNjI0NiwgNjI1MywgCisgICAgNjI2MywgNjI3MywgNjI4MSwgNjI4OCwgNjI5MywgNjI5NywgNjMwMSwgNjMwOSwgNjMxMywgNjMxOCwgNjMyNSwgNjMzMywgCisgICAgNjMzOCwgNjM0MiwgNjM0NywgNjM1MSwgNjM1OCwgNjM2MywgNjM3NywgNjM4MiwgNjM4NywgNjM5NCwgMzUxNywgNjQwMywgCisgICAgNjQwNywgNjQxMiwgNjQxNiwgNjQyMCwgNjQyMywgNjQyOCwgNjQzMywgNjQ0MiwgNjQ0OCwgNjQ1NCwgNjQ2MCwgNjQ2NCwgCisgICAgNjQ3NSwgNjQ4NSwgNjUwMCwgNjUxNSwgNjUzMCwgNjU0NSwgNjU2MCwgNjU3NSwgNjU5MCwgNjYwNSwgNjYyMCwgNjYzNSwgCisgICAgNjY1MCwgNjY2NSwgNjY4MCwgNjY5NSwgNjcxMCwgNjcyNSwgNjc0MCwgNjc1NSwgNjc3MCwgNjc4NSwgNjgwMCwgNjgxNSwgCisgICAgNjgzMCwgNjg0NSwgNjg2MCwgNjg3NSwgNjg5MCwgNjkwNSwgNjkyMCwgNjkzNSwgNjk1MCwgNjk2NSwgNjk4MCwgNjk5NSwgCisgICAgNzAxMCwgNzAyNSwgNzA0MCwgNzA1NSwgNzA3MCwgNzA4NSwgNzEwMCwgNzExNSwgNzEzMCwgNzE0NSwgNzE2MCwgNzE3NSwgCisgICAgNzE5MCwgNzIwNSwgNzIyMCwgNzIyOSwgNzIzOCwgNzI0MywgNzI0OSwgNzI1OSwgNzI2MywgNzI2NywgNzI3MiwgNzI3NywgCisgICAgNzI4NSwgNzI4OSwgNzI5MiwgNzI5NiwgMzAxMCwgNzI5OSwgNzMwNCwgMzA1LCA0NzQsIDczMTAsIDczMTgsIDczMjIsIAorICAgIDczMjYsIDczMjksIDczMzMsIDczMzksIDczNDMsIDczNTEsIDczNTcsIDczNjIsIDczNjksIDczNzcsIDczODQsIDczOTAsIAorICAgIDczOTUsIDc0MDIsIDc0MDgsIDc0MTYsIDc0MjAsIDc0MjUsIDc0MzcsIDc0NDgsIDc0NTUsIDc0NTksIDc0NjMsIDc0NjcsIAorICAgIDc0NzAsIDc0NzYsIDMyODcsIDc0ODAsIDc0ODYsIDc0OTEsIDc0OTYsIDc1MDEsIDc1MDcsIDc1MTIsIDc1MTcsIDc1MjIsIAorICAgIDc1MjcsIDc1MzMsIDc1MzgsIDc1NDMsIDc1NDksIDc1NTQsIDc1NjAsIDc1NjUsIDc1NzEsIDc1NzYsIDc1ODIsIDc1ODcsIAorICAgIDc1OTIsIDc1OTcsIDc2MDIsIDc2MDcsIDc2MTMsIDc2MTgsIDc2MjMsIDc2MjgsIDc2MzQsIDc2NDAsIDc2NDYsIDc2NTIsIAorICAgIDc2NTgsIDc2NjQsIDc2NzAsIDc2NzYsIDc2ODIsIDc2ODgsIDc2OTQsIDc3MDAsIDc3MDUsIDc3MTAsIDc3MTUsIDc3MjAsIAorICAgIDc3MjUsIDc3MzAsIDc3MzUsIDc3NDAsIDc3NDYsIDc3NTIsIDc3NTcsIDc3NjMsIDc3NjksIDc3NzUsIDc3ODAsIDc3ODUsIAorICAgIDc3OTAsIDc3OTUsIDc4MDEsIDc4MDcsIDc4MTIsIDc4MTcsIDc4MjIsIDc4MjcsIDc4MzIsIDc4MzgsIDc4NDMsIDc4NDksIAorICAgIDc4NTUsIDc4NjEsIDc4NjcsIDc4NzMsIDc4NzksIDc4ODUsIDc4OTEsIDc4OTcsIDIxNDUsIDczMjgsIDc5MDIsIDc5MDYsIAorICAgIDc5MTAsIDc5MTMsIDc5MjAsIDc5MjMsIDc5MjcsIDc5MzUsIDc5NDAsIDc5NDUsIDc5MzYsIDc5NTAsIDIxNzIsIDc5NTQsIAorICAgIDc5NjAsIDc5NjYsIDc5NzEsIDc5NzYsIDc5ODMsIDc5OTEsIDc5OTYsIDgwMDAsIDgwMDMsIDgwMDcsIDgwMTMsIDgwMTksIAorICAgIDgwMjMsIDIxODAsIDU5NSwgODAyNiwgODAzMCwgODAzNSwgODA0MSwgODA0NiwgODA1MCwgODA1MywgODA1NywgODA2MywgCisgICAgODA2OCwgODA3MiwgODA3OSwgODA4MywgODA4NywgODA5MSwgODAwLCA4NzIsIDgwOTQsIDgxMDIsIDgxMDksIDgxMTUsIAorICAgIDgxMjIsIDgxMzAsIDgxMzcsIDgxNDQsIDgxNDksIDgxNjEsIDEyMjcsIDEzOTIsIDEzOTcsIDgxNzIsIDE0MDIsIDgxNzYsIAorICAgIDgxODAsIDgxODksIDgxOTcsIDgyMDYsIDgyMTIsIDgyMTcsIDgyMjEsIDgyMjcsIDgyMzIsIDI3MjYsIDgyMzksIDgyNDMsIAorICAgIDgyNTIsIDgyNjEsIDgyNzAsIDgyNzksIDgyODQsIDgyODksIDgzMDAsIDgzMTIsIDgzMTcsIDgzMjUsIDIyMzEsIDgzMjksIAorICAgIDgzMzEsIDgzMzYsIDgzNDAsIDgzNDksIDgzNTcsIDE0MDYsIDEzOCwgMzU1OSwgMzU2NCwgODM2MywgODM2NywgODM3NiwgCisgICAgODM4MiwgODM4NywgODM5MCwgODM5OSwgMzU2OCwgMjcxOCwgODQwNSwgODQxMywgODQxNywgODQyMSwgODQyNSwgMjI0OCwgCisgICAgODQyOSwgODQzNCwgODQ0MSwgODQ0NywgODQ1MywgODQ1NiwgODQ1OCwgODQ2MSwgODQ2OSwgODQ3NywgODQ4NSwgODQ4OCwgCisgICAgODQ5MywgMjI2MSwgODQ5OCwgNzk0NywgODUwMSwgODUwMywgODUwOCwgODUxMywgODUxOCwgODUyMywgODUyOCwgODUzMywgCisgICAgODUzOCwgODU0MywgODU0OCwgODU1MywgODU1OSwgODU2NCwgODU2OSwgODU3NCwgODU4MCwgODU4NSwgODU5MCwgODU5NSwgCisgICAgODYwMCwgODYwNSwgODYxMCwgODYxNiwgODYyMSwgODYyNiwgODYzMSwgODYzNiwgODY0MSwgODY0NiwgODY1MSwgODY1NiwgCisgICAgODY2MSwgODY2NiwgODY3MSwgODY3NiwgODY4MSwgODY4NiwgODY5MSwgODY5NiwgODcwMSwgODcwNywgODcxMywgODcxOCwgCisgICAgODcyMywgODcyOCwgODczMywgODczOCwgMjI3MiwgMjI3OSwgMjI4NSwgODc0MywgODc1MSwgODc1NywgODc2NSwgMjMxMSwgCisgICAgMjMxNywgODc3MywgODc3NywgODc4MiwgODc4NiwgODc5MCwgODc5NCwgODc5OSwgODgwMywgODgwOCwgODgxMiwgODgxNSwgCisgICAgODgxOCwgODgyNCwgODgzMCwgODgzNiwgODg0MiwgODg0OCwgODg1NCwgODg2MCwgODg2NCwgODg2OCwgODg3MiwgODg3NiwgCisgICAgODg4MSwgODg4NSwgODg5MCwgODg5NCwgODkwMCwgODkwNSwgODkxMiwgODkyMywgODkzMSwgODk0MSwgODk0NywgODk1NCwgCisgICAgODk1OSwgODk2MywgODk3NCwgODk4NywgODk5OCwgOTAxMSwgOTAyMiwgOTAzNCwgOTA0NiwgOTA1OCwgOTA3MSwgOTA4NCwgCisgICAgOTA5MSwgOTA5NywgOTExMSwgOTExOCwgOTEyNCwgOTEyOCwgOTEzMywgOTEzNywgOTE0NCwgOTE1MiwgOTE1NiwgOTE2MiwgCisgICAgOTE2NiwgOTE3MiwgOTE4MiwgOTE4NiwgOTE5MSwgOTE5NiwgOTIwMywgOTIwOSwgODExNywgOTIxOSwgOTIyMywgOTIzMCwgCisgICAgOTIzNiwgOTI0MywgODcxLCA5MjQ3LCA5MjUxLCA5MjU2LCA5MjYxLCA5MjY2LCA5MjcwLCA5Mjc2LCA5Mjg0LCA5MjkwLCAKKyAgICA5Mjk0LCA5MzAwLCA5MzEwLCA5MzE0LCA5MzIwLCA5MzI1LCA5MzI5LCA5MzMzLCA5MzM5LCA5MzQ1LCAyMTY4LCA5MzUwLCAKKyAgICA5MzUyLCA5MzU3LCA5MzY1LCA5Mzc0LCA5Mzc4LCA5Mzg0LCA5Mzg5LCA5Mzk0LCA5Mzk5LCA5NDA0LCA5NDEwLCA5NDE1LCAKKyAgICA5NDIwLCA0MTQ2LCA5NDI1LCA5NDMwLCA5NDM0LCA5NDQwLCA5NDQ1LCA5NDUxLCA5NDU2LCA5NDYxLCA5NDY3LCA5NDcyLCAKKyAgICA5Mzc5LCA5NDc4LCA5NDgyLCA5NDg5LCA5NDk1LCA5NTAwLCA5NTA0LCA2MzczLCA5NTA5LCA5NTE4LCA5NTIzLCA5NTI4LCAKKyAgICA4NDM3LCA4NDQ0LCA5NTMzLCAyODg4LCA5NTM3LCA5NTQyLCA5NTQ3LCA5NTUyLCA5MzkwLCA5NTU2LCA5NTYxLCA5NTY2LCAKKyAgICA5Mzk1LCA5NTcwLCA5NDAwLCA5NTc1LCA5NTgyLCA5NTg5LCA5NTk1LCA5NjAyLCA5NjA4LCA5NjE0LCA5NjE5LCA5NjI2LCAKKyAgICA5NjMxLCA5NjM2LCA5NjQxLCA5NjQ3LCA5NDA1LCA5NDExLCA5NjUzLCA5NjU5LCA5NjY0LCA5NjY5LCA5Njc3LCA5NDE2LCAKKyAgICA5NjgyLCAxMDI4LCA5Njg1LCA5NjkzLCA5Njk5LCA5NzA1LCA5NzE0LCA5NzIyLCA5NzMwLCA5NzM4LCA5NzQ2LCA5NzU0LCAKKyAgICA5NzYyLCA5NzcwLCA5Nzc4LCA5Nzg3LCA5Nzk2LCA5ODA0LCA5ODEzLCA5ODIyLCA5ODMxLCA5ODQwLCA5ODQ5LCA5ODU4LCAKKyAgICA5ODY3LCA5ODc2LCA5ODg1LCA5ODk0LCA5OTAyLCA5OTA3LCA5OTEzLCA5OTIxLCA5OTI4LCA5OTQzLCA5OTYwLCA5OTc5LCAKKyAgICA5OTg4LCA5OTk2LCAxMDAxMSwgMTAwMjIsIDEwMDMyLCAxMDA0MiwgMTAwNTAsIDEwMDU2LCAxMDA2OCwgMTAwNzcsIAorICAgIDEwMDg1LCAxMDA5MiwgMTAwOTksIDEwMTA1LCAxMDExMCwgMTAxMjAsIDEwMTI4LCAxMDEzOCwgMTAxNDUsIDEwMTU1LCAKKyAgICAxMDE2NSwgMTAxNzUsIDEwMTgzLCAxMDE5MCwgMTAxOTksIDEwMjA5LCAxMDIyMywgMTAyMzgsIDEwMjQ3LCAxMDI1NSwgCisgICAgMTAyNjAsIDEwMjY0LCAxMDI3MywgMTAyNzksIDEwMjg0LCAxMDI5NCwgMTAzMDQsIDEwMzE0LCAxMDMxOSwgMTAzMjMsIAorICAgIDEwMzMyLCAxMDMzNywgMTAzNDcsIDEwMzU4LCAxMDM3MSwgMTAzNzksIDEwMzkyLCAxMDQwNCwgMTA0MTIsIDEwNDE3LCAKKyAgICAxMDQyMSwgMTA0MjcsIDEwNDMyLCAxMDQ0MCwgMTA0NDgsIDEwNDU1LCAxMDQ2MCwgMTA0NjgsIDEwNDc4LCAxMDQ4NCwgCisgICAgMTA0ODgsIDEwNDkxLCAxMDQ5NSwgMTA1MDEsIDEwNTA1LCAxMDUxMywgMTA1MjIsIDEwNTI3LCAxMDUzMSwgMTA1MzUsIAorICAgIDEwNTQzLCAxMDU1MSwgMTA1NjAsIDEwNTY4LCAxMDU3NCwgMTA1NzgsIDEwNTg1LCAxMDU5NiwgMTA2MDAsIDEwNjAzLCAKKyAgICAxMDYwOSwgOTQyMSwgMTA2MTQsIDEwNjIwLCAxMDYyNywgMTA2MzMsIDEwNjM4LCAxMDY0NSwgMTA2NTIsIDEwNjU5LCAKKyAgICAxMDY2NiwgMTA2NzMsIDEwNjgwLCAxMDY4NywgMTA2OTQsIDEwNjk5LCA5OTU2LCAxMDcwNCwgMTA3MTAsIDEwNzE3LCAKKyAgICAxMDcyNCwgMTA3MjksIDEwNzM2LCAxMDc0NSwgMTA3NDksIDEwNzYxLCA4NDc1LCAxMDc2NSwgMTA3NjgsIDEwNzcyLCAKKyAgICAxMDc3NiwgMTA3ODAsIDEwNzg0LCAxMDc5MCwgMTA3OTYsIDEwODAxLCAxMDgwNywgMTA4MTIsIDEwODE3LCAxMDgyMywgCisgICAgMTA4MjgsIDEwODMzLCA5MTk5LCAxMDgzOCwgMTA4NDIsIDEwODQ2LCAxMDg1MCwgMTA4NTUsIDEwODYwLCAxMDg2NSwgCisgICAgMTA4NzMsIDEwODc5LCAxMDg4MywgMTA4ODcsIDEwODk0LCAxMDg5OSwgMTA5MDcsIDEwOTE0LCAxMDkxOSwgMTA5MjMsIAorICAgIDEwOTI2LCAxMDkzMiwgMTA5MzksIDEwOTQzLCAxMDk0NiwgMTA5NTEsIDEwOTU1LCA0MTg1LCAxMDk2MSwgMTA5NzAsIDM2LCAKKyAgICAxMDk3OCwgMTA5ODQsIDEwOTg5LCAxMDk5NCwgOTIxNCwgMTEwMDAsIDExMDA2LCAxMTAxMSwgMTEwMTUsIDExMDE4LCAKKyAgICAxMTAzMywgMTEwNTIsIDExMDY0LCAxMTA3NywgMTEwOTAsIDExMTAzLCAxMTExNywgMTExMzAsIDExMTQ1LCAxMTE1MiwgCisgICAgOTQyNiwgMTExNTgsIDExMTcyLCAxMTE3NywgMTExODMsIDExMTg4LCAxMTE5NiwgMTEyMDEsIDgyNDgsIDExMjA2LCAKKyAgICAxMTIwOSwgMTEyMTcsIDExMjI0LCAxMTIyOSwgMTEyMzMsIDExMjM5LCAyODkzLCAxMTMzLCAxMTI0MywgMTEyNDcsIAorICAgIDExMjUzLCAxMTI1OSwgMTEyNjQsIDExMjcwLCAxMTI3NSwgOTQzNSwgMTEyODEsIDExMjg3LCAxMTI5MiwgMTEyOTcsIAorICAgIDExMzA1LCAxMTMxMSwgMTEzMjQsIDExMzMyLCAxMTMzOSwgOTQ0MSwgMTEzNDUsIDExMzUzLCAxMTM2MSwgMTEzNjgsIAorICAgIDExMzgxLCAxMTM5MywgMTE0MDMsIDExNDExLCAxMTQxOCwgMTE0MjUsIDExNDM1LCAxMTQ0NCwgMTE0NTMsIDExNDYxLCAKKyAgICAxMTQ2OCwgMTE0NzMsIDExNDc5LCA5NDQ2LCAxMTQ4NCwgMTE0OTAsIDExNDk1LCAxMTUwMCwgOTQ1MiwgMTE1MDUsIAorICAgIDExNTA4LCAxMTUxNSwgMTE1MjEsIDExNTM0LCA4OTE2LCAxMTU0NSwgMTE1NTEsIDExNTYwLCAxMTU2OCwgMTE1NzUsIAorICAgIDExNTgxLCAxMTU5MiwgMTE1OTgsIDM3ODAsIDExNjAzLCAxMTYwOCwgMTEwMjUsIDExNjE0LCAxMTYyMSwgMTE2MjYsIAorICAgIDk0NTcsIDExNjMyLCAxMTYzNywgMTE2NDQsIDExNjUwLCAxMTY1NiwgMTE2NjEsIDExNjY5LCAxMTY3NywgMTE2ODQsIAorICAgIDExNjg4LCAxMTcwMCwgMTE3MTQsIDExNzI0LCAxMTcyOSwgMTE3MzMsIDExNzQ0LCAxMTc1MCwgMTE3NTUsIDExNzYwLCAKKyAgICA5NDYyLCAxMTc2NCwgOTQ2OCwgMTE3NjksIDExNzcyLCAxMTc3NywgMTE3ODksIDExNzk2LCAxMTgwMSwgMTE4MDUsIAorICAgIDExODEzLCAxMTgxOCwgMTE4MjIsIDExODI3LCAxMTgzNCwgMTE4NDAsIDk0NzMsIDkzODAsIDExODQ3LCAyODk4LCA4LCAKKyAgICAxMTg1NCwgMTE4NTksIDExODYzLCAxMTg2NywgMTE4NzMsIDExODgxLCAxMTg5MSwgMTE4OTYsIDExOTAxLCAxMTkwOCwgCisgICAgMTE5MTUsIDExOTE5LCAxMTkzMCwgMTE5NDAsIDExOTQ5LCAxMTk1OCwgMTE5NzAsIDExOTc1LCAxMTk3OSwgMTE5ODcsIAorICAgIDEyMDAxLCAxMjAwNSwgMTIwMDgsIDEyMDE2LCAxMjAyMywgMTIwMzEsIDEyMDM1LCAxMjA0NiwgMTIwNTAsIDEyMDU3LCAKKyAgICAxMjA2MiwgMTIwNjYsIDEyMDcyLCAxMjA3NywgMTIwODIsIDEyMDg2LCAxMjA5MiwgMTIwOTcsIDEyMTA4LCAxMjExMiwgCisgICAgMTIxMTUsIDEyMTIxLCAxMjEyNiwgMTIxMzIsIDEyMTM4LCAxMjE0NSwgMTIxNTYsIDEyMTY2LCAxMjE3NiwgMTIxODUsIAorICAgIDEyMTkyLCAxMjIwMSwgMTIyMDUsIDk0ODMsIDk0OTAsIDk0OTYsIDk1MDEsIDEyMjExLCAxMjIxNywgMTIyMjMsIDk1MDUsIAorICAgIDEyMjI5LCAxMjIzMiwgMTIyMzksIDEyMjQ0LCAxMjI1OSwgMTIyNzUsIDEyMjkwLCAxMjI5OCwgMTIzMDQsIDEyMzA5LCAKKyAgICA4NjQsIDM1NCwgMTIzMTQsIDEyMzIyLCAxMjMyOSwgMTIzMzUsIDEyMzQwLCAxMjM0NSwgOTUxMCwgMTIzNDcsIDEyMzUxLCAKKyAgICAxMjM1NiwgMTIzNjAsIDEyMzcwLCAxMjM3NSwgMTIzNzksIDEyMzg4LCAxMjM5MiwgMTIzOTUsIDEyNDAyLCA5NTE5LCAKKyAgICAxMjQwNywgMTI0MTAsIDEyNDE4LCAxMjQyNSwgMTI0MzMsIDEyNDM3LCAxMjQ0MSwgMTI0NDgsIDEyNDU3LCAxMjQ2NCwgCisgICAgMTI0NjAsIDEyNDcxLCAxMjQ3NSwgMTI0ODEsIDEyNDg1LCAxMjQ4OSwgMTI0OTMsIDEyNDk5LCAxMjUwOSwgMTI1MTcsIAorICAgIDEyNTI0LCAxMjUyOCwgMTI1MzYsIDEyNTQwLCAxMjU0NywgMTI1NTEsIDEyNTU2LCAxMjU2MCwgMTI1NjcsIDEyNTczLCAKKyAgICAxMjU4MSwgMTI1ODcsIDEyNTkyLCAxMjYwMiwgMTI2MDcsIDEyNjEyLCAxMjYxNiwgMTI2MjQsIDQwNDEsIDEyNjMyLCAKKyAgICAxMjYzNywgOTUyNCwgMTI2NDEsIDEyNjQ1LCAxMjY0OCwgMTI2NTYsIDEyNjYzLCAxMjY2NywgNjE3MywgMTI2NzEsIAorICAgIDEyNjc2LCAxMjY4MCwgMTI2OTEsIDEyNzAxLCAxMjcwNiwgMTI3MTIsIDEyNzE2LCAxMjcxOSwgMTI3MjcsIDEyNzMyLCAKKyAgICAxMjczNywgMTI3NDQsIDEyNzQ5LCA5NTI5LCAxMjc1NCwgMTI3NTgsIDEyNzY1LCAxNzIyLCA2MzMxLCAxMjc3MCwgMTI3NzUsIAorICAgIDEyNzgwLCAxMjc4NSwgMTI3OTEsIDEyNzk2LCAxMjgwMiwgMTI4MDcsIDEyODEyLCAxMjgxNywgMTI4MjIsIDEyODI3LCAKKyAgICAxMjgzMiwgMTI4MzcsIDEyODQyLCAxMjg0NywgMTI4NTIsIDEyODU3LCAxMjg2MiwgMTI4NjcsIDEyODcyLCAxMjg3NywgCisgICAgMTI4ODIsIDEyODg4LCAxMjg5MywgMTI4OTgsIDEyOTAzLCAxMjkwOCwgMTI5MTMsIDEyOTE5LCAxMjkyNCwgMTI5MjksIAorICAgIDEyOTM1LCAxMjk0MCwgMTI5NDYsIDEyOTUxLCAxMjk1NywgMTI5NjIsIDEyOTY3LCAxMjk3MiwgMTI5NzcsIDEyOTgzLCAKKyAgICAxMjk4OCwgMTI5OTMsIDEyOTk4LCA4MzYsIDExNywgMTMwMDYsIDEzMDEwLCAxMzAxNSwgMTMwMjAsIDEzMDI0LCAxMzAyOCwgCisgICAgMTMwMzIsIDEzMDM3LCAxMzA0MSwgMTMwNDYsIDEzMDUwLCAxMzA1MywgMTMwNTcsIDEzMDYxLCAxMzA2NywgMTMwNzIsIAorICAgIDEzMDgyLCAxMzA4OCwgMTMwOTYsIDEzMTAyLCAxMzEwNiwgMTMxMTAsIDEzMTE3LCAxMzEyNSwgMTMxMzQsIDEzMTQ1LCAKKyAgICAxMzE1MiwgMTMxNTksIDEzMTYzLCAxMzE3MiwgMTMxODEsIDEzMTg5LCAxMzE5OCwgMTMyMDcsIDEzMjE2LCAxMzIyNSwgCisgICAgMTMyMzUsIDEzMjQ1LCAxMzI1NSwgMTMyNjUsIDEzMjc1LCAxMzI4NCwgMTMyOTQsIDEzMzA0LCAxMzMxNCwgMTMzMjQsIAorICAgIDEzMzM0LCAxMzM0NCwgMTMzNTQsIDEzMzYzLCAxMzM3MywgMTMzODMsIDEzMzkzLCAxMzQwMywgMTM0MTMsIDEzNDIzLCAKKyAgICAxMzQzMiwgMTM0NDIsIDEzNDUyLCAxMzQ2MiwgMTM0NzIsIDEzNDgyLCAxMzQ5MiwgMTM1MDIsIDEzNTEyLCAxMzUyMiwgCisgICAgMTM1MzEsIDEzNTQxLCAxMzU1MSwgMTM1NjEsIDEzNTcxLCAxMzU4MSwgMTM1OTEsIDEzNjAxLCAxMzYxMSwgMTM2MjEsIAorICAgIDEzNjMxLCAxMzY0MCwgMTIzNiwgMTM2NDYsIDEzNjQ5LCAxMzY1MywgMTM2NTgsIDEzNjY1LCAxMzY3MSwgMTM2NzYsIAorICAgIDEzNjgwLCAxMzY4NSwgMTM2OTQsIDEzNzAyLCAxMzcwNywgMTM3MTEsIDEzNzE1LCAxMzcyMSwgMTM3MjYsIDEzNzMyLCAKKyAgICA5NTM4LCAxMzczNywgMTM3NDIsIDEzNzUxLCA5NTQ4LCAxMzc1NiwgMTM3NTksIDEzNzY1LCAxMzc3MywgOTU1MywgMTM3ODAsIAorICAgIDEzNzg0LCAxMzc4OCwgMTM3OTMsIDEzNzk3LCAxMzgwNywgMTM4MTMsIDEzODE5LCAxMzgyNCwgMTM4MzMsIDEzODQxLCAKKyAgICAxMzg0OCwgMTM4NTUsIDEzODYwLCAxMzg2NywgMTM4NzIsIDEzODc2LCAxMzg3OSwgMTM4OTAsIDEzOTAwLCAxMzkwOSwgCisgICAgMTM5MTcsIDEzOTI4LCAxMzk0MCwgMTM5NTAsIDEzOTU1LCAxMzk1OSwgMTM5NjQsIDEzOTY5LCAxMzk3MywgMTM5NzksIAorICAgIDEzOTg3LCAxMzk5NCwgMTQwMDUsIDE0MDEwLCAxNDAyMCwgMTQwMjksIDE0MDMzLCAxNDAzNiwgMTQwNDMsIDE0MDUzLCAKKyAgICAxNDA2MiwgMTQwNjksIDE0MDczLCAxNDA4MCwgMTQwODYsIDE0MDkxLCAxNDA5NiwgMTQxMDAsIDE0MTA5LCAxNDExNCwgCisgICAgMTQxMTgsIDE0MTI0LCAxNDEyOCwgMTQxMzMsIDE0MTM3LCAxNDE0NiwgMTQxNTQsIDE0MTYyLCAxNDE2OSwgMTQxNzcsIAorICAgIDE0MTg5LCAxNDIwMCwgMTQyMTAsIDE0MjE3LCAxNDIyMywgMTQyMzIsIDE0MjQzLCAxNDI1MiwgMTQyNjQsIDE0Mjc2LCAKKyAgICAxNDI4OCwgMTQyOTgsIDE0MzA3LCAxNDMxNiwgMTQzMjQsIDE0MzMxLCAxNDM0MCwgMTQzNDgsIDE0MzUyLCAxNDM1NywgCisgICAgMTQzNjMsIDE0MzY5LCAxNDM3NCwgMTQzNzksIDc5NjgsIDE0MzgzLCAxNDM4NSwgMTQzODksIDE0Mzk0LCAxNDQwMCwgCisgICAgMTQ0MDYsIDE0NDE1LCAxNDQxOSwgMTQ0MjUsIDE0NDMzLCAxNDQ0MCwgMTQ0NDksIDE0NDU4LCAxNDQ2NywgMTQ0NzYsIAorICAgIDE0NDg1LCAxNDQ5NCwgMTQ1MDMsIDE0NTEyLCAxNDUyMiwgMTQ1MzIsIDE0NTQxLCAxNDU0NywgMTQ1NTQsIDE0NTYxLCAKKyAgICAxNDU2NywgMTQ1ODEsIDE0NTg4LCAxNDU5NiwgMTQ2MDUsIDE0NjExLCAxNDYyMCwgMTQ2MjksIDE0NjQwLCAxNDY1MCwgCisgICAgMTQ2NTgsIDE0NjY1LCAxNDY3MywgMTQ2ODIsIDE0Njk1LCAxNDcwMywgMTQ3MTAsIDE0NzIzLCAxNDcyOSwgMTQ3MzUsIAorICAgIDE0NzQ1LCAxNDc1NCwgMTQ3NjMsIDE0NzY4LCAxNDc3MiwgMTQ3NzgsIDE0Nzg0LCAxNDc4OSwgMTQ3OTYsIDE0ODAzLCAKKyAgICA5MjEzLCAxNDgwOCwgMTQ4MTMsIDE0ODIwLCAxNDgyNywgMTQ4MzIsIDE0ODQ0LCAxMzA2MywgMTQ4NDksIDE0ODU3LCAKKyAgICAxNDg2MywgMTQ4NjgsIDE0ODc2LCAxNDg4NCwgMTQ4OTEsIDE0ODk5LCAxNDkwNSwgMTQ5MTMsIDE0OTIxLCAxNDkyNywgCisgICAgMTQ5MzIsIDE0OTM4LCAxNDk0NSwgMTQ5NTEsIDE0OTU2LCAxNDk2MCwgMTQ5NzEsIDE0OTc5LCAxNDk4NSwgMTQ5OTAsIAorICAgIDE0OTk3LCAxNTAwNiwgMTUwMTIsIDE1MDE3LCAxNTAyNSwgMTUwMzQsIDE1MDQ4LCAzOTg1LCAxNTA1MiwgMTUwNTcsIAorICAgIDE1MDYyLCAxNTA2OCwgMTUwNzMsIDE1MDc4LCAxNTA4MiwgMTUwODcsIDE1MDkyLCAxNTA5NywgNzk2NywgMTUxMDIsIAorICAgIDE1MTA3LCAxNTExMiwgMTUxMTcsIDE1MTIyLCAxNTEyNiwgMTUxMzEsIDE1MTM2LCAxNTE0MSwgMTUxNDYsIDE1MTUyLCAKKyAgICAxNTE1OCwgMTUxNjMsIDE1MTY3LCAxNTE3MywgMTUxNzgsIDE1MTgzLCAxNTE4OCwgOTU1NywgMTUxOTMsIDE1MTk4LCAKKyAgICAxNTIwMywgMTUyMDgsIDE1MjEzLCAxNTIzMCwgMTUyNDgsIDE1MjYwLCAxNTI3MywgMTUyOTAsIDE1MzA2LCAxNTMyMywgCisgICAgMTUzMzMsIDE1MzUyLCAxNTM2MywgMTUzNzQsIDE1Mzg1LCAxNTM5NiwgMTU0MDgsIDE1NDE5LCAxNTQzMCwgMTU0NDcsIAorICAgIDE1NDU4LCAxNTQ2OSwgMTU0NzQsIDk1NjIsIDE1NDc5LCAxNTQ4MywgMjQwMSwgMTU0ODcsIDE1NDkwLCAxNTQ5NiwgCisgICAgMTU1MDQsIDE1NTEyLCAxNTUxNywgMTU1MjUsIDE1NTMzLCAxNTU0MCwgMTU1NDQsIDE1NTQ5LCAxNTU1NSwgMTU1NjIsIAorICAgIDE1NTcwLCAxNTU3NywgMTU1ODksIDE1NTk3LCAxNTYwMiwgMTU2MDgsIDEyMjUzLCAxNTYxNCwgMTU2MjMsIDE1NjMxLCAKKyAgICAxNTY0MCwgMTU2NDgsIDE1NjU1LCAxNTY2MSwgMTU2NjksIDE1Njc2LCAxNTY4MiwgMTU2ODksIDE1Njk2LCAxNTcwMiwgCisgICAgMTU3MDgsIDE1NzE3LCAxNTcyNSwgMTU3MzUsIDE1NzQyLCAxNTc0OCwgMTU3NTYsIDE1NzYyLCAxNTc3MCwgMTU3NzgsIAorICAgIDE1Nzg1LCAxNTc5OCwgMTU4MDUsIDE1ODE0LCAxNTgyMywgMTU4MzIsIDE1ODQwLCAxNTg1MCwgMTU4NTcsIDE1ODYyLCAKKyAgICAzNjcxLCAxNTg2OSwgMTU4NzQsIDEzNTIsIDE1ODc4LCAxNTEwMywgMTU4ODIsIDE1ODg4LCAxNTg5MiwgMTU5MDAsIAorICAgIDE1OTEyLCAxNTkxOSwgMTU5MjUsIDE1OTMwLCAxNTkzNywgMTUxMDgsIDE1OTQxLCAxNTk0NSwgMTU5NDksIDE1MTEzLCAKKyAgICAxNTk1MywgMTUxMTgsIDE1OTU3LCAxNTk2NCwgMTU5NjksIDE1OTczLCAxNTk4MCwgMTU5ODQsIDE1OTkyLCAxNTk5OSwgCisgICAgMTYwMDQsIDE2MDA4LCAxNjAxNSwgMTYwMzIsIDE2MDQxLCAxNjA0NSwgMTYwNDgsIDE2MDU2LCAxNjA2MiwgMTYwNjcsIAorICAgIDM3NDksIDE2MDcxLCAxNjA3MywgMTYwODEsIDE2MDg4LCAxNjA5OCwgMTYxMTAsIDE2MTE1LCAxNjExOSwgMTYxMjUsIAorICAgIDE2MTMwLCAxNjEzNCwgMTYxNDAsIDE2MTQ1LCAxNjE1MSwgMTYxNTQsIDE2MTYxLCAxNjE2OSwgMTYxNzYsIDE2MTgyLCAKKyAgICAxNjE4OCwgMTYxOTMsIDE2MjAwLCAxNjIwNiwgMTYyMTEsIDE2MjE4LCAxNjIyMiwgMTYyMjgsIDE2MjMyLCAxNjIzOSwgCisgICAgMTYyNDUsIDE2MjUwLCAxNjI1NiwgMTYyNjQsIDE2MjcyLCAxNjI3OSwgMTYyODUsIDE2MjkwLCAxNjI5NiwgMTYzMDIsIAorICAgIDE2MzEwLCAxNjMxOCwgMTYzMjQsIDE2MzMwLCAxNjMzNSwgMTYzNDIsIDE2MzQ3LCAxNjM1MSwgMTYzNTcsIDE2MzYyLCAKKyAgICAxNjM2OSwgMTYzNzQsIDE2MzgwLCAxNjM4MywgMTYzODksIDE2Mzk1LCAxNjM5OCwgMTY0MDIsIDE2NDA2LCAxNjQxOCwgCisgICAgMTY0MjQsIDE2NDI5LCAxNjQzNiwgMTY0NDIsIDE2NDQ4LCAxNjQ1OSwgMTY0NjksIDE2NDc4LCAxNjQ4NiwgMTY0OTMsIAorICAgIDE2NTA0LCAxNjUxNCwgMTY1MjQsIDE2NTMyLCAxNjUzNSwgMTUxMzIsIDE2NTQwLCAxNjU0NSwgMTUxMzcsIDE1Mjc4LCAKKyAgICAxNjU1MywgMTY1NjYsIDE2NTgxLCAxNjU5MiwgMTUyOTUsIDE2NjEwLCAxNjYyMywgMTY2MzYsIDE2NjQ3LCAxMTA0MCwgCisgICAgMTY2NTgsIDE2NjcxLCAxNjY5MCwgMTY3MDEsIDE2NzEyLCAxNjcyMywgMjY2OSwgMTY3MzYsIDE2NzQwLCAxNjc0OCwgCisgICAgMTY3NTYsIDE2NzcxLCAxNjc4NiwgMTY3OTcsIDE2ODA0LCAxNjgxMCwgMTY4MTgsIDE2ODIyLCAxNjgyOCwgMTY4MzEsIAorICAgIDE2ODQxLCAxNjg0OSwgMTY4NTYsIDE2ODY0LCAxNjg3NCwgMTY4NzksIDE2ODg2LCAxNjg5MSwgMTY4OTgsIDE2OTA5LCAKKyAgICAxNjkxOSwgMTY5MjUsIDE2OTMwLCAxNjkzNSwgMTUxNDIsIDE2OTM5LCAxNjk0NSwgMTY5NTEsIDE2OTU2LCAxNjk2MSwgCisgICAgMTY5NjYsIDE2OTcwLCAxNTE0NywgMTUxNTMsIDE2OTc0LCAxNTE1OSwgMTY5NzksIDE2OTg3LCAxNjk5NSwgMTcwMDIsIAorICAgIDE3MDExLCAxNzAxOCwgMTcwMjIsIDk0MDEsIDE3MDI2LCAxNzAyOCwgMTcwMzMsIDE3MDM4LCAxNzA0NCwgMTcwNDksIAorICAgIDE3MDU0LCAxNzA1OSwgMTcwNjQsIDE3MDY4LCAxNzA3NCwgMTcwODAsIDE3MDg1LCAxNzA5MSwgMTcwOTYsIDE3MTAxLCAKKyAgICAxNzEwNSwgMTcxMTEsIDE3MTE2LCAxNzEyMSwgMTcxMjYsIDE3MTMxLCAxNzEzNywgMTcxNDIsIDE3MTQ3LCAxNzE1MywgCisgICAgMTcxNTksIDE3MTY0LCAxNzE2OSwgMTcxNzQsIDE3MTgxLCAxNzE4NywgMTcxOTgsIDE3MjA1LCAxNzIxMCwgMTcyMTQsIAorICAgIDE3MjE4LCAxNzIyMSwgMTcyMjksIDE3MjM0LCAxNzI0MSwgMTcyNDgsIDE3MjU0LCAxNzI1OSwgMTcyNjQsIDE3MjY5LCAKKyAgICAxNzI3NiwgMTcyODYsIDE3MjkxLCAxNzI5OCwgMTczMDQsIDE3MzEzLCAxNzMyMywgMTczMzMsIDE3MzQ3LCAxNzM2MSwgCisgICAgMTczNzUsIDE3Mzg5LCAxNzQwNCwgMTc0MTksIDE3NDM2LCAxNzQ1NCwgMTc0NjcsIDE3NDczLCAxNzQ3OCwgMTc0ODMsIAorICAgIDE3NDg3LCAxNzQ5NSwgMTc1MDAsIDE3NTA4LCAxNzUxNCwgMTc1MjAsIDE3NTI1LCAxNzUzMCwgMTc1MzQsIDE3NTM5LCAKKyAgICAxNzU0MywgMTc1NDgsIDE3NTUyLCAxNzU2MywgMTc1NjksIDE3NTc0LCAxNzU3OSwgMTc1ODYsIDE3NTkxLCAxNzU5NSwgCisgICAgMTc2MDAsIDE3NjA1LCAxNzYxMSwgMTc2MTgsIDE1MTY4LCAxNzYyNCwgMTc2MjgsIDE3NjM0LCAxNzYzOSwgMTc2NDQsIAorICAgIDE3NjQ4LCAxNzY1NCwgMTc2NTksIDE3NjY0LCAxNzY3MSwgMTc2NzYsIDEzODA5LCAxNzY4MCwgMTc2ODUsIDE3Njg5LCAKKyAgICAxNzY5NCwgMTc3MDAsIDE3NzA2LCAxNzcxMywgMTc3MjMsIDE3NzMxLCAxNzczOCwgMTc3NDMsIDE3NzQ3LCAxNzc1NiwgCisgICAgMTc3NjQsIDE3NzcxLCAxNzc3OCwgMTc3ODQsIDE3NzkwLCAxNzc5NSwgMTc4MDAsIDE3ODA2LCAxNzgxMSwgMTc4MTcsIAorICAgIDE3ODIyLCAxNzgyOCwgMTc4MzQsIDE3ODQxLCAxNzg0NywgMTc4NTIsIDE3ODU3LCA5NjI3LCAxNzg2NiwgMTc4NjksIAorICAgIDE3ODc3LCAxNzg4MywgMTc4ODgsIDE3ODkzLCAxNzkwMywgMTc5MTAsIDE3OTE2LCAxNzkyMSwgMTc5MjYsIDE3OTMyLCAKKyAgICAxNzkzNywgMTc5NDMsIDE3OTQ4LCAxNzk1NCwgMTc5NjAsIDE3OTY1LCAxNzk3MywgMTc5ODAsIDE3OTg1LCAxNzk5MCwgCisgICAgMTc5OTYsIDE4MDAxLCAxODAwNSwgMTgwMTQsIDE4MDI1LCAxODAzMiwgMTgwMzcsIDE4MDQyLCAxODA0OCwgMTgwNTMsIAorICAgIDE4MDYxLCAxODA2NywgMTgwNzMsIDE4MDgwLCAxODA4NiwgMTgwOTEsIDE4MDk1LCAxODEwMSwgMTgxMDYsIDE4MTExLCAKKyAgICAxODExNiwgMTQyMywgNzk5MiwgMjkxMiwgMTgxMjAsIDE4MTI0LCAxODEyOCwgMTgxMzIsIDE4MTM2LCAxODE0MCwgMTgxNDMsIAorICAgIDE4MTQ4LCAxODE1NSwgMTgxNjMsIDE1MTc5LCAxODE3MCwgMTgxODAsIDE4MTg4LCAxODE5NSwgMTgyMDMsIDE4MjEzLCAKKyAgICAxODIyMiwgMTgyMzUsIDE4MjQwLCAxODI0NSwgMTgyNTMsIDE4MjYwLCAxMzkwNSwgMTM5MTQsIDE4MjY3LCAxODI3NywgCisgICAgMTgyOTIsIDE4Mjk4LCAxODMwNSwgMTgzMTIsIDE4MzE4LCAxODMyNCwgMTgzMzIsIDE4MzQyLCAxODM1MiwgMTUxODQsIAorICAgIDE4MzYxLCAxODM2NywgMTgzNzMsIDE4MzgxLCAxODM4OSwgMTgzOTQsIDE4NDAzLCAxODQxMSwgMTg0MjMsIDE4NDMzLCAKKyAgICAxODQ0MywgMTg0NTMsIDE4NDYyLCAxODQ3NCwgMTg0ODQsIDE4NDk0LCAxODUwNSwgMTg1MTAsIDE4NTIyLCAxODUzNCwgCisgICAgMTg1NDYsIDE4NTU4LCAxODU3MCwgMTg1ODIsIDE4NTk0LCAxODYwNiwgMTg2MTgsIDE4NjMwLCAxODY0MSwgMTg2NTMsIAorICAgIDE4NjY1LCAxODY3NywgMTg2ODksIDE4NzAxLCAxODcxMywgMTg3MjUsIDE4NzM3LCAxODc0OSwgMTg3NjEsIDE4NzcyLCAKKyAgICAxODc4NCwgMTg3OTYsIDE4ODA4LCAxODgyMCwgMTg4MzIsIDE4ODQ0LCAxODg1NiwgMTg4NjgsIDE4ODgwLCAxODg5MiwgCisgICAgMTg5MDMsIDE4OTE1LCAxODkyNywgMTg5MzksIDE4OTUxLCAxODk2MywgMTg5NzUsIDE4OTg3LCAxODk5OSwgMTkwMTEsIAorICAgIDE5MDIzLCAxOTAzNCwgMTkwNDYsIDE5MDU4LCAxOTA3MCwgMTkwODIsIDE5MDk0LCAxOTEwNiwgMTkxMTgsIDE5MTMwLCAKKyAgICAxOTE0MiwgMTkxNTQsIDE5MTY1LCAxOTE3NywgMTkxODksIDE5MjAxLCAxOTIxMywgMTkyMjUsIDE5MjM3LCAxOTI0OSwgCisgICAgMTkyNjEsIDE5MjczLCAxOTI4NSwgMTkyOTYsIDE5MzA4LCAxOTMyMCwgMTkzMzIsIDE5MzQ0LCAxOTM1NiwgMTkzNjgsIAorICAgIDE5MzgwLCAxOTM5MiwgMTk0MDQsIDE5NDE2LCAxOTQyNywgMTk0MzksIDE5NDUxLCAxOTQ2MywgMTk0NzUsIDE5NDg4LCAKKyAgICAxOTUwMSwgMTk1MTQsIDE5NTI3LCAxOTU0MCwgMTk1NTMsIDE5NTY2LCAxOTU3OCwgMTk1OTEsIDE5NjA0LCAxOTYxNywgCisgICAgMTk2MzAsIDE5NjQzLCAxOTY1NiwgMTk2NjksIDE5NjgyLCAxOTY5NSwgMTk3MDgsIDE5NzIwLCAxOTczMywgMTk3NDYsIAorICAgIDE5NzU5LCAxOTc3MiwgMTk3ODUsIDE5Nzk4LCAxOTgxMSwgMTk4MjQsIDE5ODM3LCAxOTg1MCwgMTk4NjIsIDE5ODc1LCAKKyAgICAxOTg4OCwgMTk5MDEsIDE5OTE0LCAxOTkyNywgMTk5NDAsIDE5OTUzLCAxOTk2NiwgMTk5NzksIDE5OTkyLCAyMDAwNCwgCisgICAgMjAwMTcsIDIwMDMwLCAyMDA0MywgMjAwNTYsIDIwMDY5LCAyMDA4MiwgMjAwOTUsIDIwMTA4LCAyMDEyMSwgMjAxMzQsIAorICAgIDIwMTQ2LCAyMDE1OSwgMjAxNzIsIDIwMTg1LCAyMDE5OCwgMjAyMTEsIDIwMjI0LCAyMDIzNywgMjAyNTAsIDIwMjYzLCAKKyAgICAyMDI3NiwgMjAyODgsIDIwMjk5LCAyMDMxMiwgMjAzMjUsIDIwMzM4LCAyMDM1MSwgMjAzNjQsIDIwMzc3LCAyMDM5MCwgCisgICAgMjA0MDMsIDIwNDE2LCAyMDQyOSwgMjA0NDEsIDIwNDU0LCAyMDQ2NywgMjA0ODAsIDIwNDkzLCAyMDUwNiwgMjA1MTksIAorICAgIDIwNTMyLCAyMDU0NSwgMjA1NTgsIDIwNTcxLCAyMDU4MywgMjA1OTYsIDIwNjA5LCAyMDYyMiwgMjA2MzUsIDIwNjQ4LCAKKyAgICAyMDY2MSwgMjA2NzQsIDIwNjg3LCAyMDcwMCwgMjA3MTMsIDIwNzI1LCAyMDczOCwgMjA3NTEsIDIwNzY0LCAyMDc3NywgCisgICAgMjA3OTAsIDIwODAzLCAyMDgxNiwgMjA4MjksIDIwODQyLCAyMDg1NSwgMjA4NjcsIDIwODgwLCAyMDg5MywgMjA5MDYsIAorICAgIDIwOTE5LCAyMDkzMiwgMjA5NDUsIDIwOTU4LCAyMDk3MSwgMjA5ODQsIDIwOTk3LCAyMTAwOSwgMjEwMjIsIDIxMDM1LCAKKyAgICAyMTA0OCwgMjEwNjEsIDIxMDc0LCAyMTA4NywgMjExMDAsIDIxMTEzLCAyMTEyNiwgMjExMzksIDIxMTUxLCAyMTE2NCwgCisgICAgMjExNzcsIDIxMTkwLCAyMTIwMywgMjEyMTYsIDIxMjI5LCAyMTI0MiwgMjEyNTUsIDIxMjY4LCAyMTI4MSwgMjEyOTMsIAorICAgIDIxMzA2LCAyMTMxOSwgMjEzMzIsIDIxMzQ1LCAyMTM1OCwgMjEzNzEsIDIxMzg0LCAyMTM5NywgMjE0MTAsIDIxNDIzLCAKKyAgICAyMTQzNSwgMjE0NDgsIDIxNDYxLCAyMTQ3NCwgMjE0ODcsIDIxNTAwLCAyMTUxMywgMjE1MjYsIDIxNTM5LCAyMTU1MiwgCisgICAgMjE1NjUsIDIxNTc3LCAyMTU5MCwgMjE2MDMsIDIxNjE2LCAyMTYyOSwgMjE2NDIsIDIxNjU1LCAyMTY2OCwgMjE2ODEsIAorICAgIDIxNjk0LCAyMTcwNywgMjE3MTksIDIxNzMwLCAyMTczOSwgMjE3NDcsIDIxNzU1LCAyMTc2MiwgMjE3NjgsIDIxNzcyLCAKKyAgICAyMTc3OCwgMjE3ODQsIDIxNzkyLCAyMTc5NywgMjE4MDMsIDIxODA4LCAyMTgxMiwgMjE4MjEsIDk0MDYsIDIxODMyLCAKKyAgICAyMTgzOSwgMjE4NDcsIDIxODU0LCAyMTg2MSwgMTE1MjgsIDIxODY4LCAyMTg3NSwgMjE4ODQsIDIxODg5LCAyMTg5NCwgCisgICAgODAyMCwgMjE5MDEsIDIxOTA2LCAyMTkwOSwgMjE5MTQsIDIxOTIyLCAyMTkyOSwgMjE5MzYsIDIxOTQzLCAyMTk0OSwgCisgICAgMjE5NTgsIDIxOTY3LCAyMTk3MywgMjE5ODIsIDIxOTg2LCAyMTk5MiwgMjE5OTcsIDIyMDA3LCAyMjAxNCwgMjIwMjAsIAorICAgIDIyMDI4LCAyMjAzNCwgMjIwNDEsIDIyMDUxLCAyMjA2MCwgMjIwNjQsIDIyMDcxLCAyMjA3NSwgMjIwODAsIDIyMDg2LCAKKyAgICAyMjA5NCwgMjIwOTgsIDIyMTA4LCAxNTE5NCwgMjIxMTcsIDIyMTIzLCAyMjEyNywgMjIxMzYsIDIyMTQ2LCAxNTE5OSwgCisgICAgMjIxNTIsIDIyMTU5LCAyMjE3MCwgMjIxNzgsIDIyMTg4LCAyMjE5NywgMjIyMDUsIDkxNzgsIDIyMjEzLCAyMjIxOCwgCisgICAgMjIyMjQsIDIyMjI5LCAyMjIzMywgMjIyMzcsIDIyMjQxLCAxMDEyNCwgMjIyNDYsIDIyMjU0LCAyMjI2MSwgMjIyNzAsIAorICAgIDIyMjc3LCAyMjI4NCwgMjIyOTAsIDExNDQ4LCAyMjI5NywgMjIzMDMsIDIyMzA3LCAyMjMxMywgMjIzMjAsIDIyMzI2LCAKKyAgICAyMjMzNCwgMjIzNDAsIDIyMzQ3LCAyMjM1MywgMjIzNTksIDIyMzY4LCAyMjM3MiwgMjIzODAsIDIyMzg5LCAyMjM5NiwgCisgICAgMjI0MDEsIDIyNDA1LCAyMjQxNiwgMjI0MjEsIDIyNDI2LCAyMjQzMSwgMjI0NDQsIDgyMDMsIDIyNDQ4LCAyMjQ1NCwgCisgICAgMjI0NjIsIDIyNDY2LCAyMjQ3MywgMjI0ODIsIDIyNDg3LCAxNTQ3MCwgMjI0OTUsIDIyNDk5LCAyMjUxMSwgMjI1MTYsIAorICAgIDIyNTIwLCAyMjUyMywgMjI1MjksIDIyNTM1LCAyMjU0MSwgMjI1NDYsIDIyNTUwLCAyMjU1MywgMjI1NjQsIDIyNTY5LCAKKyAgICA5Njc4LCAyMjU3NiwgMjI1ODEsIDEyNDIsIDk2ODMsIDIyNTg2LCAyMjU5MSwgMjI1OTYsIDIyNjAxLCAyMjYwNiwgMjI2MTEsIAorICAgIDIyNjE2LCAyMjYyMSwgMjI2MjYsIDIyNjMxLCAyMjYzNiwgMjI2NDEsIDIyNjQ3LCAyMjY1MiwgMjI2NTcsIDIyNjYyLCAKKyAgICAyMjY2NywgMjI2NzIsIDIyNjc3LCAyMjY4MiwgMjI2ODcsIDIyNjkyLCAyMjY5OCwgMjI3MDQsIDIyNzA5LCAyMjcxNCwgCisgICAgMjI3MTksIDIyNzI0LCAyMjcyOSwgMjI3MzQsIDIyNzM5LCAyMjc0NCwgMjI3NDksIDIyNzU1LCAyMjc2MCwgMjI3NjUsIAorICAgIDIyNzcwLCAyMjc3NiwgMjI3ODIsIDIyNzg3LCAyMjc5MiwgMjI3OTcsIDIyODAyLCAyMjgwNywgMjI4MTIsIDIyODE3LCAKKyAgICAyMjgyMiwgMjI4MjgsIDIyODMzLCAyMjgzOCwgMjI4NDMsIDIyODQ4LCAyMjg1NCwgMjI4NTksIDIyODY0LCAyMjg2OCwgCisgICAgMTM0LCAyMjg3NiwgMjI4ODAsIDIyODg0LCAyMjg4OCwgMjI4OTMsIDIyODk3LCAxMzgxNSwgMjMyNywgMjI5MDEsIDIyOTA2LCAKKyAgICAyMjkxMCwgMjI5MTUsIDIyOTE5LCAyMjkyNCwgMjI5MjgsIDIyOTM0LCAyMjkzOSwgMjI5NDMsIDIyOTQ3LCAyMjk1NSwgCisgICAgMjI5NTksIDIyOTYzLCAyMjk2OCwgMjI5NzMsIDIyOTc3LCAyMjk4MywgMjI5ODgsIDIyOTkyLCAyMjk5NywgMjMwMDIsIAorICAgIDIzMDA2LCAyMzAxMywgMjMwMjAsIDIzMDI3LCAyMzAzMSwgMjMwMzUsIDIzMDQwLCAyMzA0NCwgMjMwNDcsIDIzMDUzLCAKKyAgICAyMzA2NiwgMjMwNzEsIDIzMDgwLCAyMzA4NSwgOTkwMywgMjMwOTAsIDIzMDk1LCAyMzA5OCwgMjczMiwgMjczNywgMjMxMDIsIAorICAgIDIzMTA4LCAyMzExNCwgNzQxMywgMjMxMTksIDIzMTI0LCAyMzEyOSwgMjMxMzUsIDIzMTQwLCAxNDYzNiwgMjMxNDUsIAorICAgIDIzMTUwLCAyMzE1NSwgMjMxNjAsIDIzMTY2LCAyMzE3MSwgMjMxNzYsIDIzMTgyLCAyMzE4NywgMjMxOTEsIDIzMTk2LCAKKyAgICAyMzIwMSwgMjMyMDYsIDIzMjExLCAyMzIxNSwgMjMyMjAsIDIzMjI0LCAyMzIyOSwgMjMyMzQsIDIzMjM5LCAyMzI0NCwgCisgICAgMjMyNDgsIDIzMjUzLCAyMzI1NywgMjMyNjIsIDIzMjY3LCAyMzI3MiwgMjMyNzcsIDI5MjEsIDIzMTkyLCAyMzI4MSwgCisgICAgMjMyODksIDIzMjk2LCAxMDIxOCwgMjMzMDgsIDIzMzE2LCAyMzE5NywgMjMzMjMsIDIzMzI4LCAyMzMzNiwgMjMyMDIsIAorICAgIDIzMzQxLCAyMzM0NiwgMjMzNTQsIDIzMzU5LCAyMzIwNywgMjMzNjQsIDIzMzcyLCAyMzM3NywgMjMzODEsIDIzMzg3LCAKKyAgICAyMzM5NiwgMjM0MDQsIDIzNDA4LCAyMzQxMSwgMjM0MTgsIDIzNDIyLCAyMzQyNiwgMjM0MzIsIDIzNDM5LCAyMzQ0NCwgCisgICAgOTIwNSwgMTcyNywgMTczMiwgMjM0NDgsIDIzNDU0LCAyMzQ2MCwgMjM0NjUsIDIzNDY5LCAyMzQ3MywgMjM0NzcsIDIzNDgxLCAKKyAgICAyMzQ4NSwgMjM0ODksIDIzNDkzLCAyMzQ5NywgMjM1MDAsIDIzNTA2LCAyMzUxMywgMjM1MjEsIDIzNTI3LCAyMzUzMywgCisgICAgMjM1MzgsIDIzNTQzLCAyMzU0NywgMjM1NTIsIDE0NTU2LCAxNDU2MywgMjM1NTksIDIzNTcxLCAyMzU3NCwgMjM1ODEsIAorICAgIDE3MjUwLCAyMzU4OCwgMjM1OTYsIDIzNjA3LCAyMzYxNiwgMjM2MjksIDIzNjM5LCAyMzY1MywgMjM2NjUsIDIzNjc5LCAKKyAgICAyMzY5MiwgMjM3MDQsIDIzNzE0LCAyMzcyNiwgMjM3MzIsIDIzNzQ3LCAyMzc3MSwgMjM3ODksIDIzODA4LCAyMzgyMSwgCisgICAgMjM4MzUsIDIzODUzLCAyMzg2OSwgMjM4ODYsIDIzOTA0LCAyMzkxNSwgMjM5MzQsIDIzOTUxLCAyMzk3MSwgMjM5ODksIAorICAgIDI0MDAxLCAyNDAxNSwgMjQwMjksIDI0MDQxLCAyNDA1OCwgMjQwNzcsIDI0MDk1LCAyNDEwNywgMjQxMjUsIDI0MTQ0LCAKKyAgICAxNTMzOCwgMjQxNTcsIDI0MTc3LCAyNDE4OSwgMTEwNzEsIDI0MjAxLCAyNDIwNiwgMjQyMTEsIDI0MjE2LCAyNDIyMiwgCisgICAgMjQyMjcsIDI0MjMxLCAyNDIzOCwgMjQyNDQsIDI0MTgsIDI0MjQ4LCAyNDI1NCwgMjQyNTgsIDI0MjYxLCAyNDI2NSwgCisgICAgMjQyNjgsIDI0Mjc2LCAyNDI4MiwgMjMyMjUsIDI0Mjg2LCAyNDI5NSwgMjQzMDYsIDI0MzEyLCAyNDMxOCwgMjQzMzMsIAorICAgIDI0MzQyLCAyNDM1MCwgMjQzNTcsIDI0MzYyLCAyNDM2NiwgMjQzNzMsIDI0Mzc5LCAyNDM4OCwgMjQzOTYsIDI0NDAzLCAKKyAgICAyNDQxMywgMjQ0MjIsIDI0NDMyLCAyNDQzNywgMjQ0NDYsIDI0NDU1LCAyNDQ2NiwgMjQ0NzcsIDQxMDMsIDI0NDg3LCAKKyAgICAyNDQ5MSwgMjQ1MDEsIDI0NTA5LCAyNDUxOSwgMjQ1MzAsIDI0NTM1LCAyNDU0NSwgMjQ1NTMsIDI0NTYwLCAyNDU2NiwgCisgICAgMjQ1NzMsIDI0NTc4LCAyMzIzNSwgMjQ1ODIsIDI0NTkxLCAyNDU5NSwgMjQ1OTgsIDI0NjAzLCAyNDYxMSwgMjQ2MTgsIAorICAgIDI0NjI3LCAyNDYzNSwgMjQ2NDMsIDI0NjUzLCAyNDY2MiwgMjQ2NjgsIDI0Njc0LCAyNDY3OCwgMjMyNDAsIDIzMjQ1LCAKKyAgICAyNDY4MiwgMjQ2OTIsIDI0NzAyLCAyNDcxMiwgMjQ3MjAsIDI0NzI3LCAyNDczNywgMjQ3NDUsIDI0NzUzLCAyNDc1OSwgCisgICAgMjQ3NjcsIDgxMiwgMjQ3NzYsIDE1NTI5LCA1NzcsIDI0NzkwLCAyNDc5OSwgMjQ4MDcsIDI0ODE4LCAyNDgyOSwgMjQ4MzksIAorICAgIDI0ODQ4LCAyNDg2MCwgMjQ4NjksIDI0ODc4LCAyNDg4NSwgMjQ4OTEsIDI0OTAwLCAyNDkwOSwgMjQ5MTcsIDI0OTI3LCAKKyAgICAyNDkzNSwgMjQ5NDMsIDk2NDQsIDI0OTQ5LCAyNDk1MiwgMjQ5NTYsIDI0OTYxLCAyNDk2NiwgMjQ5NzAsIDEwMzMzLCAKKyAgICAyMzI1OCwgMjMyNjMsIDI0OTc4LCAyNDk4NCwgMjQ5OTAsIDI0OTk1LCAyNTAwMCwgMjUwMDQsIDI1MDEyLCAyNTAxOCwgCisgICAgMjUwMjQsIDI1MDI4LCAzNjI3LCAyNTAzNiwgMjUwNDEsIDI1MDQ2LCAyNTA1MCwgMjUwNTQsIDEwNDEzLCAyNTA2MSwgCisgICAgMjUwNjksIDI1MDgzLCAyNTA5MCwgMjUwOTYsIDEwNDIyLCAxMDQyOCwgMjUxMDQsIDI1MTEyLCAyNTExOSwgMjUxMjQsIAorICAgIDI1MTI5LCAyMzI2OCwgMjUxMzUsIDI1MTQ2LCAyNTE1MCwgMjUxNTUsIDI2MjEsIDI1MTYwLCAyNTE3MSwgMjUxNzcsIAorICAgIDI1MTgyLCAyNTE4NiwgMjUxOTAsIDI1MTkzLCAyNTIwMCwgMjUyMDcsIDI1MjEzLCAyNTIyMCwgMjUyMjYsIDI1MjMwLCAKKyAgICAyMzI3MywgMjUyMzUsIDI1MjM5LCAyNTI0MywgMTQyOCwgODM4NSwgMjUyNDgsIDI1MjUzLCAyNTI1OCwgMjUyNjMsIAorICAgIDI1MjY4LCAyNTI3MywgMjUyNzgsIDI1MjgzLCAyNTI4OCwgMjUyOTMsIDI1Mjk4LCAyNTMwMywgMjUzMDgsIDI1MzEzLCAKKyAgICAyNTMxOSwgMjUzMjQsIDI1MzI5LCAyNTMzNCwgMjUzMzksIDI1MzQ0LCAyNTM0OSwgMjUzNTUsIDI1MzYwLCAyNTM2NSwgCisgICAgMjUzNzAsIDI1Mzc1LCAyNTM4MCwgMjUzODUsIDI1MzkwLCAyNTM5NiwgMjU0MDIsIDI1NDA3LCAyNTQxMywgMjU0MTgsIAorICAgIDI1NDIzLCA1LCAyNTQyOSwgMjU0MzMsIDI1NDM3LCAyNTQ0MSwgMjU0NDYsIDI1NDUwLCAyNTQ1NCwgMjU0NTgsIDI1NDYyLCAKKyAgICAyNTQ2NywgMjU0NzEsIDI1NDc2LCAyNTQ4MCwgMjU0ODMsIDI1NDg3LCAyNTQ5MiwgMjU0OTYsIDI1NTAxLCAyNTUwNSwgCisgICAgMjU1MDksIDI1NTEzLCAyNTUxOCwgMjU1MjIsIDI1NTI2LCAyNTUzNiwgMjU1NDEsIDI1NTQ1LCAyNTU0OSwgMjU1NTQsIAorICAgIDI1NTU5LCAyNTU2OCwgMjU1NzMsIDI1NTc4LCAyNTU4MiwgMjU1ODYsIDI1NTk5LCAyNTYxMSwgMjU2MjAsIDI1NjI5LCAKKyAgICAyNTYzNCwgMjU2NDAsIDI1NjQ1LCAyNTY0OSwgMjU2NTMsIDI1NjYzLCAyNTY3MiwgMjU2ODAsIDI1Njg2LCAyNTY5MSwgCisgICAgMjU2OTUsIDI1NzAyLCAyNTcxMiwgMjU3MjEsIDI1NzI5LCAyNTczNywgMjU3NDQsIDI1NzUyLCAyNTc2MSwgMjU3NzAsIAorICAgIDI1Nzc4LCAyNTc4OCwgMjU3OTMsIDI1Nzk3LCAyNTgwMSwgMjU4MDQsIDI1ODA2LCAyNTgxMCwgMjU4MTQsIDI1ODE5LCAKKyAgICAyNTgyNCwgMjU4MjgsIDI1ODMyLCAyNTgzNSwgMjU4MzksIDI1ODQyLCAyNTg0NiwgMjU4NDksIDI1ODUyLCAyNTg1NiwgCisgICAgMjU4NjIsIDI1ODY2LCAyNTg3MCwgMjU4NzQsIDI1ODc5LCAyNTg4NCwgMjU4ODksIDI1ODkzLCAyNTg5NiwgMjU5MDEsIAorICAgIDI1OTA3LCAyNTkxMiwgMjU5MTgsIDI1OTIzLCAyNTkyNywgMjU5MzMsIDI1OTM3LCAyNTk0MSwgMjU5NDYsIDI1OTUwLCAKKyAgICAyNTk1NSwgMjU5NjAsIDI1OTY0LCAyNTk2OCwgMjU5NzUsIDI1OTc5LCAyNTk4MiwgMjU5ODYsIDI1OTkwLCAyNTk5NiwgCisgICAgMjYwMDIsIDI2MDA2LCAyNjAxMCwgMjYwMTUsIDI2MDIyLCAyNjAyOCwgMjYwMzIsIDI2MDQxLCAyNjA0NSwgMjYwNDksIAorICAgIDI2MDUyLCAyNjA1OCwgMjYwNjMsIDI2MDY5LCAxNDcyLCAxNzkxLCAyNjA3NCwgMjYwNzksIDI2MDg0LCAyNjA4OSwgCisgICAgMjYwOTQsIDI2MDk5LCAyNjEwNCwgMjE1NSwgMjIwMSwgMjYxMDksIDI2MTEyLCAyNjExNiwgMjYxMjAsIDI2MTI1LCAKKyAgICAyNjEyOSwgMTU1NDEsIDI2MTMzLCAyNjEzOCwgMjYxNDMsIDI2MTQ3LCAyNjE1MCwgMjYxNTUsIDI2MTU5LCAyNjE2NCwgCisgICAgMjYxNjgsIDE1NTQ1LCAyNjE3MywgMjYxNzYsIDI2MTc5LCAyNjE4MywgMjYxODgsIDI2MTkyLCAyNjIwNSwgMjYyMDksIAorICAgIDI2MjEyLCAyNjIyMCwgMjYyMjksIDI2MjM2LCAyNjI0MSwgMjYyNDcsIDI2MjUzLCAyNjI2MSwgMjYyNjgsIDI2Mjc1LCAKKyAgICAyNjI3OSwgMjYyODMsIDI2Mjg3LCAyNjI5MiwgMjYyOTcsIDI2MzAxLCAyNjMwOSwgMjYzMTQsIDI2MzI2LCAyNjMzNywgCisgICAgMjYzNDIsIDI2MzQ2LCAyNjM1MCwgMjYzNTYsIDI2MzU5LCAyNjM2NCwgMjYzNjksIDI2MzczLCAyNjM3NywgMjYzODAsIAorICAgIDI2Mzg2LCA4MTIzLCAyMzMxLCAyNjM5MCwgMjYzOTUsIDI2NDExLCA5OTUwLCAyNjQzMSwgMjY0NDAsIDI2NDU2LCAyNjQ2MCwgCisgICAgMjY0NjcsIDI2NDcwLCAyNjQ3NiwgMjY0ODYsIDI2NDkyLCAyNjUwMSwgMjY1MTYsIDI2NTI4LCAyNjUzOSwgMjY1NDcsIAorICAgIDI2NTU2LCAyNjU2MiwgMjY1NzEsIDI2NTgxLCAyNjU5MSwgMjY2MDIsIDI2NjEzLCAyNjYyMywgMjY2MzIsIDI2NjM5LCAKKyAgICAyNjY0OCwgMjY2NTYsIDI2NjYzLCAyNjY3MSwgMjY2NzgsIDI2Njg1LCAyNjY5OCwgMjY3MDUsIDI2NzEzLCAyNjcyMCwgCisgICAgMjY3MjYsIDI2NzMxLCAyNjc0MCwgMjY3NDYsIDI2NzUxLCAyNjc1OSwgMjY3NjYsIDI0NTExLCAyNjc3OCwgMjY3OTAsIAorICAgIDI2ODA0LCAyNjgxMiwgMjY4MTksIDI2ODMxLCAyNjg0MCwgMjY4NDksIDI2ODU3LCAyNjg2NSwgMjY4NzMsIDI2ODgwLCAKKyAgICAyNjg4OSwgMjY4OTcsIDI2OTA3LCAyNjkxNiwgMjY5MjYsIDI2OTM1LCAyNjk0NCwgMjY5NTIsIDI2OTU3LCAyNjk2MSwgCisgICAgMjY5NjQsIDI2OTY4LCAyNjk3MiwgMjY5NzYsIDI2OTgwLCAyNjk4NCwgMjY5OTAsIDI2OTk2LCAyNzAwNCwgMTU1OTAsIAorICAgIDI3MDExLCAyNzAxNiwgMjcwMjMsIDI3MDI5LCAyNzAzNiwgMTU1OTgsIDI3MDQzLCAyNzA0NiwgMjcwNTgsIDI3MDY2LCAKKyAgICAyNzA3MiwgMjcwNzcsIDI3MDgxLCAxMDM2MywgMjcwOTIsIDI3MTAwLCAyNzExMCwgMjcxMTksIDI3MTI2LCAyNzEzMCwgCisgICAgMTU2MDksIDI3MTMzLCAyNzE0MCwgMjcxNDQsIDI3MTUwLCAyNzE1MywgMjcxNjAsIDI3MTY2LCAyNzE3MywgMjcxNzksIAorICAgIDI3MTgzLCAyNzE4OCwgMjcxOTIsIDI3MjAxLCAyNzIwOCwgMjcyMTQsIDgxNjQsIDI3MjIxLCAyNzIyOSwgMjcyMzYsIAorICAgIDI3MjQyLCAyNzI0NywgMjcyNTMsIDI3MjU5LCAyNzI2NywgMjcyNzMsIDI3Mjc3LCAyNzI4MCwgMjcyODIsIDI2OTY5LCAKKyAgICAyNzI5MSwgMjcyOTcsIDI3MzAzLCAyNzMxMywgMjczMTgsIDI3MzI1LCAyNzMzMSwgMjczMzYsIDI3MzQxLCAyNzM0NiwgCisgICAgMjczNTAsIDI3MzU1LCAyNzM2MiwgMjczNjgsIDI3Mzc3LCAyNzM4MSwgMjczODgsIDI3Mzk0LCAyNzQwMywgMjc0MDksIAorICAgIDI3NDE0LCAyNzQyMCwgMjc0MjUsIDI3NDMyLCAyNzQ0MywgMjc0NDgsIDI3NDUyLCAyNzQ2MiwgMjc0NjgsIDI3NDcyLCAKKyAgICAyNzQ3NywgMjc0ODcsIDI3NDk2LCAyNzUwMCwgMjc1MDcsIDI3NTE1LCAyNzUyMiwgMjc1MjgsIDI3NTMzLCAyNzU0MSwgCisgICAgMjc1NDgsIDI3NTUzLCAyNzU2MCwgMjc1NzIsIDI3NTgxLCAyNzU4NSwgMTM3NDYsIDI3NTkzLCAyNzYwMywgMjc2MDcsIAorICAgIDI2MjE2LCAyNzYxOCwgMjc2MjMsIDI3NjI3LCAyNzYzNCwgMjc2NDEsIDIyOTc5LCAyNjg5NCwgMjc2NDYsIDI3NjUwLCAKKyAgICAyNzY1MywgMjM5MjEsIDI3NjU4LCAyNzY3MiwgMjc2ODgsIDI3NzA2LCAyNzcyNSwgMjc3NDIsIDI3NzYwLCAyMzk0MCwgCisgICAgMjc3NzcsIDI3Nzk3LCAyMzk1NywgMjc4MDksIDI3ODIxLCAxNjU5NywgMjc4MzMsIDIzOTc3LCAyNzg0NywgMjc4NTksIAorICAgIDExMDg0LCAyNzg3MywgMjc4NzgsIDI3ODgzLCAyNzg4OCwgMjc4OTQsIDI3OTAwLCAyNzkwNiwgMjc5MTAsIDI3OTE4LCAKKyAgICAyNzkyNSwgMjc5MzAsIDI3OTQwLCAyNzk0NiwgMTA3MDcsIDI3OTUyLCAyNzk1NCwgMjc5NTksIDI3OTY3LCAyNzk3MSwgCisgICAgMjczNTgsIDI3OTc3LCAyNzk4NCwgMTIxNzAsIDEyMTgwLCAyNzk5MSwgMjgwMDEsIDI4MDA2LCAyODAxMCwgMjgwMTMsIAorICAgIDI4MDE5LCAyODAyNywgMjgwMzksIDI4MDQ5LCAyODA2NSwgMjgwNzgsIDI4MDkyLCAxNjYxNSwgMjgxMDYsIDI4MTEzLCAKKyAgICAyODExNywgMjgxMjAsIDI4MTI1LCAyODEyOSwgMjgxMzYsIDI4MTQzLCAyODE1MywgMjgxNTgsIDI4MTYzLCAyODE2OCwgCisgICAgMjgxNzYsIDI4MTg0LCAyODE4OSwgMjgxOTgsIDI4MjAzLCAzMzI5LCAyODIwNywgMjgyMTAsIDI4MjEzLCAyODIxOCwgCisgICAgMjgyMjUsIDI4MjMwLCAyODI0NiwgMjgyNTQsIDI4MjYyLCA5NzE4LCAyODI3MCwgMjgyNzUsIDI4Mjc5LCAyODI4NSwgCisgICAgMjgyOTAsIDI4Mjk2LCAyODI5OSwgMjgzMDUsIDI4MzE3LCAyODMyNSwgMjgzMzIsIDI4MzM4LCAyODM0NSwgMjgzNTYsIAorICAgIDI4MzcwLCAyODM4MywgMjgzODksIDI4Mzk4LCAyODQwNCwgMjg0MTMsIDI4NDI1LCAyODQzNiwgMjg0NDYsIDI4NDU1LCAKKyAgICAyODQ2NCwgMjg0NzIsIDI4NDgzLCA4MTQ2LCAyODQ5MCwgMjg0OTcsIDI4NTAzLCAyODUwOCwgMjg1MTQsIDI4NTIxLCAKKyAgICAyODUzMSwgMjg1NDEsIDI4NTUwLCAyODU1NiwgMjg1NjMsIDI4NTY4LCAyODU3NiwgMjg1ODMsIDI4NTkxLCAyODU5OSwgCisgICAgMjg2MTEsIDY0MzgsIDI4NjE4LCAyODYyMSwgMjg2MzAsIDI4NjM4LCAyODY0NCwgMjg2NTAsIDI4NjU1LCAyODY1OSwgCisgICAgMjg2NjIsIDI4NjY4LCAyODY3NSwgMjg2ODAsIDI4Njg1LCAyODY5MCwgMjg2OTQsIDI4NzA2LCAyODcxNywgMjg3MjYsIAorICAgIDI4NzM0LCAxNTc1NywgMjg3MzksIDI4NzQ1LCAyODc1MSwgMTIxNjMsIDg4NjIsIDI4NzU2LCAyODc2MCwgMjg3NjQsIAorICAgIDI4NzY3LCAyODc3MCwgMjg3NzYsIDI4Nzg0LCAyODc5MiwgMjg3OTYsIDI4ODAwLCAyODgwNSwgMjg4MDgsIDI4ODE3LCAKKyAgICAyODgyMSwgMjg4MjQsIDI4ODMyLCAyODg0MywgMjg4NDcsIDI4ODUzLCAyODg1OSwgMjg4NjMsIDI4ODY5LCAyODg3NywgCisgICAgMjg4OTksIDI4OTIzLCAyODkzMiwgMjg5MzksIDI4OTQ2LCAyODk1MiwgMjg5NjAsIDI4OTY2LCAyODk3MSwgMjg5ODIsIAorICAgIDI5MDAwLCAyOTAwNywgMjkwMTUsIDI5MDE5LCAyOTAyNCwgMjkwMzMsIDI5MDQ2LCAyOTA1NCwgMjkwNjYsIDI5MDc3LCAKKyAgICAyOTA4OCwgMjkwOTgsIDI5MTEyLCAyOTEyMSwgMjkxMjksIDI5MTQxLCA5OTY3LCAyOTE1MiwgMjkxNjMsIDI5MTc1LCAKKyAgICAyOTE4NSwgMjkxOTQsIDI5MTk5LCAyOTIwMywgMjkyMTEsIDI5MjIyLCAyOTIzMiwgMjkyMzcsIDI5MjQxLCAyOTI0NCwgCisgICAgMjkyNDcsIDI5MjU1LCAyOTI2MywgMjkyNzIsIDI5MjgyLCAyOTI5MSwgMjkyOTcsIDI5MzExLCAyNjgzLCAyOTMzMywgCisgICAgMjkzNDQsIDI5MzUzLCAyOTM2MywgMjkzNzUsIDI5Mzg0LCAyOTM5MywgMjk0MDMsIDI5NDExLCAyOTQxOSwgMjk0MjgsIAorICAgIDI5NDMzLCAyOTQ0NCwgMjk0NDksIDI5NDYwLCAyOTQ2NCwgMjk0NzQsIDI5NDgzLCAyOTQ5MSwgMjk1MDEsIDI5NTExLCAKKyAgICAyOTUxOSwgMjk1MjgsIDI5NTM1LCAyOTU0MywgMjk1NTAsIDI5NTU5LCAyOTU2OCwgMjk1NzIsIDI5NTgwLCAyOTU4NywgCisgICAgMjk1OTUsIDI5NjAyLCAyOTYxMywgMjk2MjgsIDI5NjM1LCAyOTY0MSwgMjk2NTEsIDI5NjYwLCAyOTY2NiwgMjk2NzcsIAorICAgIDI5NjgxLCAyOTY4OCwgMjk2OTIsIDI5Njk4LCAxNDc1OCwgMjk3MDQsIDI5NzA4LCAyOTcxMywgMjk3MjAsIDI5NzI0LCAKKyAgICAyOTcyOCwgMjk3MzYsIDI5NzQ0LCAyOTc1MCwgMjk3NTksIDI5NzY2LCAyOTc3MSwgMjk3NzYsIDI5Nzg2LCAyNDU4MCwgCisgICAgMjk3OTAsIDI5NzkzLCAyOTc5OCwgMjk4MDMsIDI5ODA4LCAyOTgxMywgMjk4MTgsIDI5ODIzLCAyOTgyOCwgMjk4MzMsIAorICAgIDI5ODM5LCAyOTg0NCwgMjk4NDksIDI5ODU1LCAxMTk4LCA2OTksIDI5ODYwLCAyOTg2OSwgMjM3OSwgMjk4NzYsIDI5ODgxLCAKKyAgICAyOTg4NSwgMjk4OTEsIDEyNDcsIDU1OCwgMjcwLCAyOTg5NiwgMjk5MDUsIDI5OTEzLCAyOTkyMiwgMjk5MzAsIDI5OTQxLCAKKyAgICAyOTk0OSwgMjk5NTgsIDI5OTY2LCAxMDUwMiwgMjk5NzAsIDI5OTc4LCAyOTk4NiwgMjk5OTEsIDE1NTU4LCAyOTk5NywgCisgICAgMzAwMDMsIDMwMDA5LCA2MDM0LCAzMDAxNCwgMzAwMTgsIDMwMDI0LCAzMDAyOCwgMzAwMzUsIDE0MzgsIDMwMDQxLCAKKyAgICAzMDA0OCwgMTM0NywgNjA0MiwgMzAwNTIsIDMwMDYyLCAzMDA3MCwgMzAwNzYsIDMwMDg1LCAzMDA5MywgMzAwOTksIAorICAgIDMwMTA3LCAzMDExNCwgMTE3MjAsIDMwMTIwLCAzMDEyNywgMzAxMzIsIDMwMTM5LCAxNDc5LCAxOTksIDIxNTQsIDMwMTQ1LCAKKyAgICAzMDE1MSwgMzAxNTgsIDMwMTY5LCAzMDE4MCwgMzAxODgsIDMwMTk1LCAzMDIwNSwgMzAyMTQsIDMwMjIyLCAzMDIzMSwgCisgICAgMzAyMzgsIDMwMjQ1LCAzMDI1OCwgMzAyNjUsIDMwMjcxLCAzMDI4MiwgMzAzMDEsIDEyNTIsIDMwMzA1LCAzMDMxMCwgCisgICAgMzAzMTgsIDM2ODYsIDMwMzIyLCAzMDMyNywgMzAzMzEsIDMwMzM1LCAxNDQyLCAyNTgzMywgMzAzNDUsIDMwMzQ5LCAKKyAgICAzMDM1NCwgMzAzNTgsIDM1OTUsIDMwMzY0LCAzMDM3MiwgMzAzNzksIDMwMzkwLCAzMDM5OCwgMzA0MDYsIDM2ODcsIDMyMCwgCisgICAgMzA0MTEsIDMwNDE5LCAzMDQyNywgMzA0MzQsIDMwNDQwLCAzMDQ0NSwgMjIyMywgMTEyNTEsIDMwNDUyLCAzMDQ1OCwgCisgICAgMjcxODQsIDI3NDM4LCAzMDQ2NCwgNTQyLCAxMDYsIDMwNDY4LCAzMDQ3MiwgMzA0NzgsIDYzNSwgOTU5MywgMzA0ODMsIAorICAgIDMwNDkwLCAzMDQ5NiwgMzA1MDAsIDE2MjQsIDMwNTAzLCAzMDUwNywgMTYwMDUsIDMwNTEwLCAzMDUxNSwgMzA1MjIsIAorICAgIDMwNTI4LCAzMDUzMywgMzA1NDEsIDMwNTQ4LCAzMDU1NCwgMjMzNjEsIDMwNTU4LCAzMDU2MiwgMzc1NywgMTc1NDEsIAorICAgIDMwNTY2LCAzMDU3MSwgMzA1NzUsIDMwNTc4LCAzMDU4NiwgMzA1OTQsIDMwNTk5LCAzMDYwNywgMzA2MTAsIDMwNjE3LCAKKyAgICAzMDYyNywgMzA2MzksIDMwNjQ0LCAzMDY0OCwgMzA2NTYsIDMwNjYzLCAzMDY2OSwgMzA2NzYsIDMwNjgzLCAzMDY4NiwgCisgICAgMzA2OTAsIDMwNjk0LCAxNDQ2LCAzMDcwNCwgMzA3MDYsIDMwNzExLCAzMDcxNywgMzA3MjMsIDMwNzI4LCAzMDczMywgCisgICAgMzA3MzgsIDMwNzQzLCAzMDc0OCwgMzA3NTMsIDMwNzU4LCAzMDc2MywgMzA3NjgsIDMwNzczLCAzMDc3OCwgMzA3ODMsIAorICAgIDMwNzg4LCAzMDc5MywgMzA3OTksIDMwODA1LCAzMDgxMSwgMzA4MTcsIDMwODIyLCAzMDgyNywgMzA4MzIsIDMwODM4LCAKKyAgICAzMDg0MywgMzA4NDgsIDMwODUzLCAzMDg1OSwgMzA4NjQsIDMwODcwLCAzMDg3NSwgMzA4ODAsIDMwODg1LCAzMDg5MCwgCisgICAgMzA4OTYsIDMwOTAxLCAzMDkwNywgMzA5MTIsIDMwOTE3LCAzMDkyMiwgMzA5MjcsIDMwOTMzLCAzMDkzOCwgMzA5NDQsIAorICAgIDMwOTQ5LCAzMDk1NCwgMzA5NTksIDMwOTY0LCAzMDk2OSwgMzA5NzQsIDMwOTc5LCAzMDk4NCwgMzA5ODksIDMwOTk1LCAKKyAgICAzMTAwMSwgMzEwMDcsIDMxMDEyLCAzMTAxNywgMzEwMjIsIDMxMDI3LCAzMTAzMywgMzEwMzksIDMxMDQ1LCAzMTA1MSwgCisgICAgMzEwNTcsIDMxMDYzLCAzMTA2OCwgMzEwNzQsIDMxMDc5LCAzMTA4NCwgMzEwODksIDMxMDk0LCAzMTEwMCwgMjQ2MywgCisgICAgMzExMDUsIDI0NzAsIDI0NzcsIDI3NzQsIDMxMTEwLCAyNDgzLCAyNDkzLCAzMTExNiwgMzExMjAsIDMxMTI1LCAzMTEzMCwgCisgICAgMzExMzYsIDMxMTQxLCAzMTE0NiwgMzExNTAsIDMxMTU1LCAzMTE2MSwgMzExNjYsIDMxMTcxLCAzMTE3NiwgMzExODIsIAorICAgIDMxMTg3LCAzMTE5MSwgMzExOTUsIDMxMjAwLCAzMTIwNSwgMzEyMTAsIDMxMjE1LCAzMTIyMCwgMzEyMjYsIDMxMjMyLCAKKyAgICAzMTIzNywgMzEyNDEsIDMxMjQ2LCAzMTI1MiwgMzEyNTYsIDMxMjYxLCAzMTI2NiwgMzEyNzEsIDMxMjc2LCAzMTI4MCwgCisgICAgMzEyODMsIDMxMjg4LCAzMTI5MywgMzEyOTgsIDMxMzAzLCAzMTMwOCwgMzEzMTQsIDMxMzIwLCAzMTMyNSwgMzEzMzAsIAorICAgIDMxMzM1LCAzMTMzOSwgMzEzNDQsIDMxMzQ5LCAzMTM1NCwgMzEzNTksIDMxMzY0LCAzMTM2OSwgMzEzNzMsIDMxMzc4LCAKKyAgICAzMTM4MywgMzEzODgsIDMxMzkyLCAzMTM5NiwgMzE0MDAsIDMxNDA1LCAzMTQxMywgMzE0MTgsIDMxNDIzLCAzMTQyOSwgCisgICAgMzE0MzUsIDMxNDQxLCAzMTQ0NiwgMzE0NTAsIDMxNDUzLCAzMTQ1OCwgMzE0NjMsIDMxNDY3LCAzMTQ3MiwgMzE0NzcsIAorICAgIDMxNDgxLCAzMTQ4NiwgMzE0OTAsIDMxNDkzLCAzMTQ5OCwgMzg1MywgMTgyNDgsIDMxNTAzLCAzMTUwOCwgMzE1MTMsIAorICAgIDMxNTIxLCAyMjI3MywgMzAwNDUsIDkyNzMsIDMxNTI2LCAzMTUzMSwgMzE1MzUsIDMxNTQwLCAzMTU0NCwgMzE1NDgsIAorICAgIDMxNTUzLCAzMTU1NywgMzE1NjAsIDMxNTYzLCAzMTU2NywgMzE1NzIsIDMxNTc2LCAzMTU4NCwgMzE1ODgsIDMxNTkxLCAKKyAgICAzMTU5NiwgMzE2MDAsIDMxNjA0LCAzMTYwOSwgMzE2MTQsIDMxNjE4LCAzMTYyNCwgMzE2MjksIDMxNjM0LCAzMTY0MSwgCisgICAgMzE2NDgsIDMxNjUyLCAzMTY1NSwgMzE2NjEsIDMxNjcwLCAzMTY3NywgMzE2ODUsIDMxNjkyLCAzMTY5NiwgMzE3MDEsIAorICAgIDMxNzA1LCAzMTcwOSwgMzE3MTUsIDMxNzIxLCAzMTcyNSwgMzE3MzEsIDMxNzM2LCAzMTc0MSwgMzE3NDUsIDMxNzUyLCAKKyAgICAzMTc1OCwgMzE3NjQsIDMxNzcwLCAzMTc3NiwgMzE3ODMsIDMxNzg5LCAzMTc5NSwgMzE4MDEsIDMxODA3LCAzMTgxMywgCisgICAgMzE4MTksIDMxODI1LCAzMTgzMiwgMzE4MzgsIDMxODQ1LCAzMTg1MSwgMzE4NTcsIDMxODYzLCAzMTg2OSwgMzE4NzUsIAorICAgIDMxODgxLCAzMTg4NywgMzE4OTMsIDMxODk5LCAxMjA1OSwgMzE5MDUsIDMxOTExLCAzMTkxNiwgMzE5MjEsIDMxOTI2LCAKKyAgICAzMTkyOSwgMzE5MzUsIDMxOTQzLCAzMTk0OCwgMzE5NTIsIDMxOTU3LCAzMTk2MywgMzE5NzIsIDMxOTc4LCAzMTk4MywgCisgICAgMzE5ODgsIDMxOTkzLCAzMTk5NywgMzIwMDIsIDMyMDA3LCAzMjAxMiwgMzIwMTcsIDMyMDIyLCAzMjAyOSwgMzIwMzYsIAorICAgIDMyMDQyLCAzMjA0OCwgMzIwNTMsIDE3MTkxLCAzMjA2MCwgMzIwNjYsIDMyMDczLCAzMjA3OSwgMzIwODUsIDMyMDkwLCAKKyAgICAzMjA5OCwgMzIxMDMsIDEwMTE3LCAzMjEwNywgMzIxMTIsIDMyMTE3LCAzMjEyMywgMzIxMjgsIDMyMTMzLCAzMjEzNywgCisgICAgMzIxNDIsIDMyMTQ3LCAzMjE1MywgMzIxNTgsIDMyMTYzLCAzMjE2OCwgMzIxNzIsIDMyMTc3LCAzMjE4MiwgMzIxODYsIAorICAgIDMyMTkxLCAzMjE5NiwgMzIyMDAsIDMyMjA1LCAzMjIwOSwgMzIyMTQsIDMyMjE5LCAzMjIyNCwgMzIyMjgsIDMyMjMzLCAKKyAgICAzMjIzNywgMzIyNDEsIDE2MTExLCAzMjI0NiwgMzIyNTUsIDMyMjYxLCAzMjI2NywgMzIyNzYsIDMyMjg0LCAzMjI5MywgCisgICAgMzIzMDEsIDMyMzA2LCAzMjMxMCwgMzIzMTcsIDMyMzIzLCAzMjMzMSwgMzIzMzUsIDMyMzM4LCAzMjM0MywgMzIzNTIsIAorICAgIDMyMzYwLCAzMjM3OCwgMzIzODQsIDE0NzgsIDMyMzkwLCAzMjM5MywgMzIzOTcsIDIzNDU1LCAyMzQ2MSwgMzI0MDMsIAorICAgIDMyNDA3LCAzMjQxOCwgMzI0MjksIDMyNDQwLCAzMjQ1MiwgMzI0NTYsIDMyNDYzLCAzMjQ3MCwgMzI0NzUsIDMyNDc5LCAKKyAgICA2MDc5LCA4NTUsIDIyMjcyLCAzMjQ4NywgMzI0OTIsIDMyNDk2LCAzMjUwMSwgMzI1MDUsIDMyNTExLCAzMjUxNiwgMzI1MjIsIAorICAgIDMyNTI3LCAzMjUzMywgMzI1MzgsIDMyNTQ0LCAzMjU0OSwgMzI1NTUsIDMyNTYxLCAzMjU2NywgMzI1NzIsIDMyNTI4LCAKKyAgICAzMjUzNCwgMzI1NzYsIDMyNTgxLCAzMjU4NywgMzI1OTIsIDMyNTk4LCAzMjYwMywgMzI2MDksIDMyNjE0LCAzMjUzOSwgCisgICAgMTA5NTcsIDMyNjE4LCAzMjU1MCwgMzI1NTYsIDMyNTYyLCAyODY2LCAzNTA5LCAzMjYyNCwgMzI2MjcsIDMyNjMyLCAKKyAgICAzMjYzOCwgMzI2NDQsIDMyNjUwLCAzMjY1NywgMzI2NjMsIDMyNjY5LCAzMjY3NSwgMzI2ODEsIDMyNjg3LCAzMjY5MywgCisgICAgMzI2OTksIDMyNzA1LCAzMjcxMSwgMzI3MTcsIDMyNzIzLCAzMjcyOSwgMzI3MzYsIDMyNzQyLCAzMjc0OCwgMzI3NTQsIAorICAgIDMyNzYwLCAzMjc2NiwgMzI3NjksIDMyNzc0LCAzMjc3NywgMzI3ODQsIDMyNzg5LCAzMjc5NywgMzI4MDIsIDMyODA3LCAKKyAgICAzMjgxMywgMzI4MTgsIDMyODIzLCAzMjgyNywgMzI4MzIsIDMyODM4LCAzMjg0MywgMzI4NDksIDMyODU0LCAzMjg2MCwgCisgICAgMzI4NjUsIDMyODcxLCAzMjg3NywgMzI4ODEsIDMyODg2LCAzMjg5MSwgMzI4OTYsIDMyOTAxLCAzMjkwNSwgMzI5MTAsIAorICAgIDMyOTE1LCAzMjkyMCwgMzI5MjYsIDMyOTMyLCAzMjkzOCwgMzI5NDQsIDMyOTQ5LCAzMjk1MywgMzI5NTYsIDMyOTYyLCAKKyAgICAzMjk2OCwgMzI5NzcsIDMyOTg1LCAzMjk5MiwgMzI5OTcsIDMzMDAxLCAzMzAwNSwgMzMwMTAsIDE1OTU5LCAzMzAxNSwgCisgICAgMzMwMjMsIDMzMDI5LCAzODA1LCAxMzU3LCAzMzAzNCwgMzMwMzgsIDgyMTMsIDMzMDQ0LCAzMzA1MCwgMzMwNTcsIDgyMjIsIAorICAgIDMzMDYxLCAzMzA2NywgMzMwNzQsIDMzMDgwLCAzMzA4OSwgMzMwOTcsIDMzMTA5LCAzMzExMywgMzMxMjAsIDMzMTI2LCAKKyAgICAzMzEzMSwgMzMxMzUsIDMzMTM5LCAzMzE0MiwgMzMxNTEsIDMzMTU5LCAzMjUyOSwgMzMxNjQsIDMzMTc0LCAzMzE4NCwgCisgICAgMzMxOTQsIDMzMjAwLCAzMzIwNSwgMzMyMTUsIDMzMjIwLCAzMzIzMywgMzMyNDcsIDMzMjU4LCAzMzI3MCwgMzMyODIsIAorICAgIDMzMjk2LCAzMzMwOSwgMzMzMjEsIDMzMzMzLCAxNTM3OSwgMzMzNDcsIDMzMzUyLCAzMzM1NywgMzMzNjEsIDMzMzY1LCAKKyAgICAzMzM2OSwgMTc4MCwgMjg0MzQsIDMzMzczLCAzMzM3OCwgMzI1NzcsIDMzMzgzLCAzMzM4NiwgMzMzOTEsIDMzMzk2LCAKKyAgICAzMzQwMSwgMzM0MDcsIDMzNDEzLCAxMDYyMiwgMzM0MTgsIDMzNDI0LCAzMzQzMSwgMTY1NDksIDMzNDM3LCAzMzQ0MiwgCisgICAgMzM0NDcsIDMzNDUxLCAzMzQ1NiwgMzM0NjEsIDMyNTgyLCAzMzQ2NiwgMzM0NzEsIDMzNDc2LCAzMzQ4MiwgMzI1ODgsIAorICAgIDMzNDg3LCAzMzQ5MCwgMzM0OTcsIDMzNTA1LCAzMzUxMSwgMzM1MTcsIDMzNTIzLCAzMzUzNCwgMzM1MzksIDMzNTQ2LCAKKyAgICAzMzU1MywgMzM1NjAsIDMzNTY4LCAzMzU3NywgMzM1ODYsIDMzNTkyLCAzMzU5OCwgMzM2MDYsIDMyNTkzLCAzMzYxMSwgCisgICAgMzM2MTcsIDMzNjIzLCAzMjU5OSwgMzM2MjgsIDMzNjMzLCAzMzY0MSwgMzM2NDksIDMzNjU1LCAzMzY2MiwgMzM2NjgsIAorICAgIDMzNjc1LCAzMzY4MiwgMzM2ODgsIDMzNjk2LCAzMzcwNiwgMzM3MTMsIDMzNzE5LCAzMzcyNCwgMzM3MzAsIDMzNzM1LCAKKyAgICAzMzc0MCwgMzM3NDcsIDMzNzU2LCAzMzc2NCwgMzM3NjksIDMzNzc1LCAzMzc4MiwgMzM3OTAsIDMzNzk2LCAzMzgwMSwgCisgICAgMzM4MDcsIDMzODE2LCAzMzgyMywgMjkyNzcsIDMzODI5LCAzMzgzMywgMzM4MzgsIDMzODQ3LCAzMzg1MiwgMzM4NTcsIAorICAgIDMzODYyLCAxMzA5MiwgMzM4NzAsIDMzODc1LCAzMzg4MCwgMzM4ODUsIDMzODg5LCAzMzg5NCwgMzM4OTksIDMzOTA2LCAKKyAgICAzMzkxMSwgMzM5MTYsIDMzOTIxLCAzMjYwNCwgMjIyMDksIDMzOTI3LCAyNTM5LCAyMjIsIDMzOTMwLCAzMzkzMywgMzM5MzcsIAorICAgIDMzOTQxLCAzMzk1MSwgMzM5NTksIDMzOTY2LCAzMzk3MCwgMzM5NzcsIDMzOTg0LCAzMzk5MywgMzM5OTcsIDM0MDAwLCAKKyAgICAzNDAwNiwgMzQwMTQsIDM0MDIyLCAzNDAyNiwgMzQwMzAsIDM0MDMzLCAzNDAzOSwgMzQwNDYsIDM0MDUwLCAzNDA1NCwgCisgICAgMzQwNjEsIDM0MDY5LCAzMjU0MCwgMzQwNzYsIDM0MDg0LCAxMDY4MiwgNTk4LCAzNDksIDM0MDk2LCAzNDEwMSwgMzQxMDYsIAorICAgIDM0MTEyLCAzNDExNywgMzQxMjIsIDM4MjYsIDM0MTI3LCAzNDEzMCwgMzQxMzUsIDM0MTQwLCAzNDE0NSwgMzQxNTAsIAorICAgIDM0MTU1LCAzNDE2MiwgMjM1NjcsIDM0MTY3LCAzNDE3MiwgMzQxNzcsIDM0MTgyLCAzNDE4NywgMzQxOTMsIDM0MTk4LCAKKyAgICAzNDIwNCwgMzI3ODAsIDM0MjEwLCAzNDIxNSwgMzQyMjEsIDM0MjI3LCAzNDIzNywgMzQyNDIsIDM0MjQ3LCAzNDI1MSwgCisgICAgMzQyNTYsIDM0MjYxLCAzNDI2NiwgMzQyNzEsIDM0Mjg0LCAzNDI4OSwgMjMzMTIsIDE3NjIxLCAzODM5LCAzNDI5MywgCisgICAgMzQyOTksIDM0MzA0LCAzNDMwOSwgMzQzMTUsIDM0MzIwLCAzNDMyNSwgMzQzMjksIDM0MzM0LCAzNDMzOSwgMzQzNDUsIAorICAgIDM0MzUwLCAzNDM1NSwgMTM2MiwgMzQzNTksIDM0MzY0LCAzNDM2OSwgMzQzNzQsIDM0Mzc4LCAzNDM4MywgMzQzODgsIAorICAgIDM0MzkzLCAzNDM5OSwgMzQ0MDUsIDM0NDEwLCAzNDQxNCwgMzQ0MTgsIDM0NDIzLCAzNDQyOCwgMzQ0MzMsIDM0NDM3LCAKKyAgICAzNDQ0NSwgMzQ0NDksIDM0NDU1LCAzNDQ1OSwgMzQ0NjYsIDE3NDAwLCAzMjU1MSwgMzQ0NzIsIDM0NDc5LCAzNDQ4NywgCisgICAgMzQ0OTQsIDM0NTAwLCAzNDUxMywgMzQ1MjUsIDM0NTMwLCAzNDUzNiwgMzQ1NDAsIDI3OTMsIDM0NTQ0LCAzNDU0OCwgCisgICAgMzQwNDEsIDM0NTU3LCAzNDU2OCwgMzQ1NzMsIDI5MzQwLCAzNDU3OCwgMzQ1ODMsIDM0NTg3LCAzNDU5MiwgMjM0NjYsIAorICAgIDM0NTk2LCAzNDYwMCwgMzQ2MDUsIDMyNTU3LCAyMjI5OSwgMzQ2MDksIDM0NjE0LCAzNDYyMCwgMzQ2MjUsIDM0NjI5LCAKKyAgICAzNDYzMywgMzQ2MzYsIDM0NjQwLCAzNDY0NiwgMzQ2NTUsIDM0NjY2LCAzNDY3OCwgMzI1NjMsIDM0NjgzLCAzNDY4NiwgCisgICAgMzQ2OTAsIDM0Njk0LCAzNzgsIDM0Njk5LCAzNDcwNCwgMzQ3MDksIDM0NzE0LCAzNDcxOSwgMzQ3MjQsIDM0NzMwLCAKKyAgICAzNDczNSwgMzQ3NDAsIDM0NzQ2LCAzNDc1MSwgMzQ3NTcsIDM0NzYyLCAzNDc2OCwgMzQ3NzMsIDM0Nzc4LCAzNDc4MywgCisgICAgMzQ3ODgsIDM0NzkzLCAzNDc5OCwgMzQ4MDMsIDM0ODA4LCAzNDgxNCwgMzQ4MTksIDM0ODI0LCAzNDgyOSwgMzQ4MzQsIAorICAgIDM0ODM5LCAzNDg0NCwgMzQ4NDksIDM0ODU1LCAzNDg2MSwgMzQ4NjYsIDM0ODcxLCAzNDg3NiwgMzQ4ODEsIDM0ODg2LCAKKyAgICAzNDg5MSwgMzQ4OTYsIDM0OTAxLCAzNDkwNiwgMzQ5MTEsIDM0OTE2LCAzNDkyMSwgMzQ5MjYsIDM0OTMxLCAzNDkzNiwgCisgICAgMzQ5NDEsIDM0OTQ2LCAzNDk1MSwgMzQ5NTcsIDMxMSwgMTMsIDM0OTYyLCAzNDk2NiwgMzQ5NzAsIDM0OTc4LCAzNDk4MiwgCisgICAgMzQ5ODYsIDM0OTg5LCAzNDk5MiwgMzQ5OTQsIDM0OTk5LCAzNTAwMywgMzUwMDgsIDM1MDEyLCAzNTAxNywgMzUwMjEsIAorICAgIDM1MDI2LCAzNTAzMCwgMzUwMzMsIDM1MDM1LCAzNTAzOSwgMzUwNDQsIDM1MDQ4LCAzNTA1OSwgMzUwNjIsIDM1MDY0LCAKKyAgICAzNTA2OCwgMzUwODAsIDM1MDg5LCAzNTA5MywgMzUwOTcsIDM1MTAzLCAzNTEwOCwgMzUxMTcsIDM1MTIzLCAzNTEyOCwgCisgICAgMzUxMzMsIDM1MTM3LCAzNTE0MSwgMzUxNDYsIDM1MTUzLCAzNTE1OCwgMzUxNjQsIDM1MTY5LCAzNTE3MywgMzUxODAsIAorICAgIDI2OTAyLCAyNjkxMiwgMzUxODQsIDM1MTg5LCAzNTE5NCwgMzUxOTksIDM1MjA2LCAzNTIxMCwgMzUyMTcsIDM1MjIzLCAKKyAgICA4MzMyLCAzNTIyNywgMzUyMzYsIDM1MjQ0LCAzNTI1OSwgMzUyNzMsIDM1MjgxLCAzNTI5MiwgMzUzMDEsIDM1MzA2LCAKKyAgICA3NDMxLCAzNTMxNiwgMzUzMjEsIDM1MzI2LCAzNTMzMCwgMzUzMzMsIDM1MzM4LCAzNTM0MiwgMzUzNDcsIDM1MzUxLCAKKyAgICAzNTM1OCwgMzUzNjMsIDM1MzY4LCAzNTM3MywgOTE1OSwgMzUzODMsIDM1Mzg1LCAzNTM4OCwgMzUzOTEsIDM1Mzk1LCAKKyAgICAzNTQwMSwgMzU0MDUsIDM1NDEwLCAzNTQxNSwgMzU0MjEsIDM1NDI2LCAzNTQzMiwgMzU0MzcsIDM1NDQ3LCAzNTQ1NiwgCisgICAgMzU0NjQsIDM1NDY5LCAzNTQ3NSwgMzU0ODAsIDM1NDg5LCAzNTUwMCwgMzU1MDUsIDM1NTEyLCAzNTUxNiwgMzU1MjQsIAorICAgIDM1NTMxLCAzNTU0NCwgMzU1NTIsIDM1NTU2LCAzNTU2NiwgMzU1NzEsIDM1NTc1LCAzNTU4MywgMzU1OTEsIDM1NTk2LCAKKyAgICAzNTYwMCwgMzU2MDQsIDM1NjEzLCAzNTYxOSwgMzU2MjQsIDM1NjMyLCAzNTY0MiwgMzU2NTEsIDM1NjYwLCAzNTY2OSwgCisgICAgMzU2ODAsIDM1Njg4LCAzNTY5OSwgMzU3MDgsIDM1NzE1LCAzNTcyMSwgMzU3MjYsIDM1NzM3LCAzNTc0MiwgMzU3NDYsIAorICAgIDM1NzQ5LCAzNTc1MywgMzU3NjEsIDM1NzY3LCAzNTc3MSwgMzU3NzksIDM1Nzg1LCAzNTc5MiwgMzU3OTgsIDM1ODAzLCAKKyAgICAzNTgwOSwgMjQzOCwgMzU4MTMsIDM1ODE1LCAzNTgyMCwgMzU4MjUsIDM1ODMwLCAzNTgzMywgMzU4MzUsIDM1ODM5LCAKKyAgICAzNTg0MiwgMzU4NDksIDM1ODUzLCAxMDM3NiwgMzU4NTcsIDM1ODYzLCAzNTg3MywgMzU4NzgsIDM1ODg0LCAzNTg4OCwgCisgICAgMzU4OTMsIDM1OTA2LCAyNzMwOCwgMzU5MTIsIDM1OTIxLCAzNTkzMCwgMTg0MjcsIDM1OTM3LCAzNTk0NiwgMzMxODAsIAorICAgIDM1OTU0LCAzNTk1OSwgMzU5NjMsIDM1OTcyLCAzNTk4MCwgMzU5ODcsIDM1OTkyLCAzNTk5NiwgMzYwMDEsIDM2MDA5LCAKKyAgICAzNjAxMywgMzYwMjEsIDM2MDI3LCAzNjAzMywgMzYwMzgsIDM2MDQyLCAzNjA0NSwgMzYwNTAsIDM2MDYzLCAzNjA3OSwgCisgICAgMjQwNDcsIDM2MDk2LCAzNjEwOCwgMzYxMjUsIDM2MTM3LCAzNjE1MSwgMjQwNjQsIDI0MDgzLCAzNjE2MywgMzYxNzUsIAorICAgIDI3MDAsIDM2MTg5LCAzNjE5NCwgMzYxOTksIDM2MjA0LCAzNjIwOCwgMzYyMTUsIDM2MjI3LCAzNjIzMywgMzYyNDIsIAorICAgIDM2MjQ1LCAzNjI1NiwgMzYyNjcsIDM2MjcyLCAzMzYwMywgNzkyLCAzNjI3NiwgMzYyODAsIDM2Mjg0LCAzNjI4NywgCisgICAgMzYyOTIsIDM2Mjk3LCAzNjMwMywgMzYzMDgsIDM2MzEzLCAzNjMxOSwgMzYzMjUsIDM2MzMwLCAzNjMzNCwgMzYzMzksIAorICAgIDM2MzQ0LCAzNjM0OSwgMzYzNTMsIDM2MzU2LCAzNjM2MiwgMzYzNjcsIDM2MzcyLCAzNjM3NywgMzYzODEsIDM2Mzg2LCAKKyAgICAzNjM5MiwgMzY0MDAsIDI3NTY1LCAzNjQwNSwgMzY0MTAsIDM2NDE3LCAzNjQyMywgMzY0MjksIDM2NDM0LCAzNjQ0MiwgCisgICAgMjM1NzYsIDM2NDQ5LCAzNjQ1NCwgMzY0NTksIDM2NDY0LCAzNjQ2OCwgMzY0NzEsIDM2NDc2LCAzNjQ4MCwgMzY0ODQsIAorICAgIDM2NDkxLCAzNjQ5NywgMzY1MDMsIDM2NTA5LCAzNjUxNiwgMzY1MjEsIDM2NTI3LCAzNTU4NiwgMzY1MzEsIDM2NTM1LCAKKyAgICAzNjU0MCwgMzY1NTMsIDM2NTU4LCAzNjU2NCwgMzY1NzIsIDM2NTc5LCAzNjU4NywgMzY1OTcsIDM2NjAzLCAzNjYwOSwgCisgICAgMzY2MTUsIDM2NjE5LCAzNjYyOCwgMzY2MzYsIDM2NjQzLCAzNjY0OCwgMzY2NTMsIDEwOTgwLCAzNjY1OCwgMzY2NjYsIAorICAgIDM2NjczLCAzNjY3OSwgMzY2ODksIDM2Njk0LCAzNjcwMCwgMzY3MDgsIDM3MTksIDM2NzE1LCAzNjcyMSwgMzY3MjgsIAorICAgIDM3MjUsIDM2NzMyLCAzNjczNywgMzY3NDgsIDM2NzU1LCAzNjc2MSwgMzY3NzAsIDM2Nzc0LCA0MTU1LCAzNjc3NywgCisgICAgMzY3ODQsIDM2NzkwLCAzNjc5NiwgMzY4MDQsIDM2ODE0LCAzMDQzNSwgMzY4MjEsIDM2ODI5LCAzNjgzNSwgMzY4NDAsIAorICAgIDM2ODQ2LCAzNjg1MSwgMzY4NTUsIDI3MTU2LCAzNjg2MSwgMzY4NjgsIDM2ODc0LCAzNjg4MywgMzY4OTAsIDI0NzY0LCAKKyAgICAzNjg5NiwgMzY5MDEsIDM2OTA1LCAzNjkxMywgMzY5MjEsIDEwMDgyLCA2MDY1LCAzNjkyOCwgMzY5MzIsIDM2OTM0LCAKKyAgICAzNjkzOCwgMzY5NDMsIDM2OTQ1LCAzNjk1MCwgMzY5NTYsIDM2OTYxLCAzNjk2NiwgMzY5NzMsIDM0MTU4LCAzNjk3OSwgCisgICAgMzY5ODQsIDM2OTg4LCAzNjk5MywgMzY5OTcsIDM3MDA2LCAzNzAxMCwgMzcwMTYsIDM3MDIzLCAzNzAyOSwgMzcwMzYsIAorICAgIDM3MDQxLCAzNzA1MCwgMzcwNTUsIDM3MDU5LCAzNzA2NCwgMzcwNzEsIDM3MDc5LCAzNzA4NywgMzcwOTIsIDIyMzU1LCAKKyAgICAzNzA5NiwgMzcwOTksIDM3MTAzLCAzNzEwNywgMzcxMTEsIDM3MTE0LCAzNzExNiwgMzcxMjEsIDM3MTI5LCAzNzEzMywgCisgICAgMzcxNDIsIDM3MTQ5LCAzNzE1MywgMzcxNTcsIDM3MTY1LCAzNzE3MiwgMzcxODIsIDM3MTg2LCAzNzE5MCwgMzcxOTgsIAorICAgIDM3MjA2LCAzNzIxMiwgMzcyMTcsIDM3MjI2LCAxNDA2NCwgMzcyMzIsIDM3MjQxLCAzNzI0NiwgMzcyNTMsIDM3MjYwLCAKKyAgICAzNzI2OCwgMzcyNzYsIDM3Mjg0LCAzNzI4OSwgMzcyOTYsIDM3MzAzLCAzNzMxMCwgMzczMTcsIDM3MzI0LCAzNzMyOSwgCisgICAgMzczMzUsIDM3MzUyLCAzNzM2MCwgMzczNzAsIDM3Mzc4LCAzNzM4NSwgMzkyLCAzNzM4OSwgMzczOTUsIDM3Mzk5LCAKKyAgICAzNzQwNCwgMzUyOTcsIDM3NDEwLCAzNzQxMywgMzc0MTcsIDM3NDI4LCAzNzQzNiwgMzczMCwgMzc0NDQsIDM3NDUwLCAKKyAgICAzNzQ1NiwgMzc0NjYsIDM3NDc1LCAzNzQ4NSwgMzc0OTIsIDM3NDk4LCAzNzUwMywgMzczNiwgMzc0MiwgMzc1MTIsIAorICAgIDM3NTE5LCAzNzUyNywgMzc1MzIsIDM3NTM2LCAzNzU0MywgMzc1NTEsIDM3NTU4LCAzNzU2NCwgMzc1NzMsIDM3NTgzLCAKKyAgICAzNzU4OSwgMzc1OTcsIDM3NjA2LCAzNzYxMywgMzc2MjEsIDM3NjI4LCAyMzAzNywgMzc2MzIsIDM3NjM5LCAzNzY0NSwgCisgICAgMzc2NTUsIDM3NjY0LCAzNzY3MiwgMzc2ODMsIDM3Njg3LCAzNzY5NywgMzc3MDMsIDM3NzEwLCAzNzcxOCwgMzc3MjcsIAorICAgIDM3NzM2LCAzNzc0NiwgMzc3NTcsIDM3NzY0LCAzNzc2OSwgMzc3NzYsIDMwNjQsIDM3Nzg0LCAzNzc5MCwgMzc3OTUsIAorICAgIDM3ODAxLCAzNzgwNywgMzc4MTIsIDM3ODI1LCAzNzgzOCwgMzc4NTEsIDM3ODU4LCAzNzg2NCwgMzc4NzIsIDM3ODgwLCAKKyAgICAzNzg4NSwgMzc4ODksIDE0NTIsIDM3ODkzLCAzNzg5NywgMzc5MDEsIDM3OTA1LCAzNzkwOSwgMzc5MTMsIDM3OTE3LCAKKyAgICAzNzkyMSwgMzc5MjUsIDM3OTI5LCAzNzkzMywgMzc5MzcsIDM3OTQxLCAzNzk0NSwgMzc5NDksIDM3OTUzLCAzNzk1NywgCisgICAgMzc5NjEsIDM3OTY1LCAzNzk2OSwgMzc5NzMsIDM3OTc3LCAzNzk4MSwgMzc5ODUsIDM3OTg5LCAzNzk5MywgMzc5OTcsIAorICAgIDM4MDAxLCAzODAwNSwgMzgwMDksIDM4MDEzLCAzODAxNywgMzgwMjEsIDM4MDI1LCAzODAyOSwgMzgwMzMsIDM4MDM3LCAKKyAgICAzODA0MSwgMzgwNDUsIDM4MDQ5LCAzODA1MywgMzgwNTcsIDM4MDYxLCAzODA2NSwgMzgwNjksIDM4MDczLCAzODA3NywgCisgICAgMzgwODEsIDM4MDg1LCAzODA4OSwgMzgwOTMsIDM4MDk3LCAzODEwMSwgMzgxMDUsIDM4MTA5LCAzODExMywgMzgxMTcsIAorICAgIDM4MTIxLCAzODEyNSwgMzgxMjksIDM4MTMzLCAzODEzNywgMzgxNDEsIDM4MTQ1LCAzODE0OSwgMzgxNTMsIDM4MTU3LCAKKyAgICAzODE2MSwgMzgxNjUsIDM4MTY5LCAzODE3MywgMzgxNzcsIDM4MTgxLCAzODE4NSwgMzgxODksIDM4MTkzLCAzODE5NywgCisgICAgMzgyMDEsIDM4MjA1LCAzODIwOSwgMzgyMTMsIDM4MjE3LCAzODIyMSwgMzgyMjUsIDM4MjI5LCAzODIzMywgMzgyMzcsIAorICAgIDM4MjQxLCAzODI0NSwgMzgyNDksIDM4MjUzLCAzODI1NywgMzgyNjEsIDM4MjY1LCAzODI2OSwgMzgyNzMsIDM4Mjc3LCAKKyAgICAzODI4MSwgMzgyODUsIDM4Mjg5LCAzODI5MywgMzgyOTcsIDM4MzAxLCAzODMwNSwgMzgzMDksIDM4MzEzLCAzODMxNywgCisgICAgMzgzMjEsIDM4MzI1LCAzODMyOSwgMzgzMzMsIDM4MzM3LCAzODM0MSwgMzgzNDUsIDM4MzQ5LCAzODM1MywgMzgzNTcsIAorICAgIDM4MzYxLCAzODM2NSwgMzgzNjksIDM4MzczLCAzODM3NywgMzgzODEsIDM4Mzg1LCAzODM4OSwgMzgzOTMsIDM4Mzk3LCAKKyAgICAzODQwMSwgMzg0MDUsIDM4NDA5LCAzODQxMywgMzg0MTcsIDM4NDIxLCAzODQyNSwgMzg0MjksIDM4NDMzLCAzODQzNywgCisgICAgMzg0NDEsIDM4NDQ1LCAzODQ0OSwgMzg0NTMsIDM4NDU3LCAzODQ2MSwgMzg0NjUsIDM4NDY5LCAzODQ3MywgMzg0NzcsIAorICAgIDM4NDgxLCAzODQ4NSwgMzg0ODksIDM4NDkzLCAzODQ5NywgMzg1MDEsIDM4NTA1LCAzODUxMCwgMzg1MTQsIDM4NTE5LCAKKyAgICAzODUyMywgMzg1MjgsIDM4NTMyLCAzODUzNywgMzg1NDEsIDM4NTQ3LCAzODU1MiwgMzg1NTYsIDM4NTYxLCAzODU2NSwgCisgICAgMzg1NzAsIDM4NTc0LCAzODU3OSwgMzg1ODMsIDM4NTg4LCAzODU5MiwgMzg1OTcsIDM4NjAxLCAzODYwNiwgMzg2MTAsIAorICAgIDM4NjE2LCAzODYyMiwgMzg2MjcsIDM4NjMxLCAzODYzNiwgMzg2NDAsIDM4NjQ2LCAzODY1MSwgMzg2NTUsIDM4NjYwLCAKKyAgICAzODY2NCwgMzg2NjksIDM4NjczLCAzODY3OSwgMzg2ODQsIDM4Njg4LCAzODY5MywgMzg2OTcsIDM4NzAyLCAzODcwNiwgCisgICAgMzg3MTEsIDM4NzE1LCAzODcyMSwgMzg3MjYsIDM4NzMwLCAzODczNSwgMzg3MzksIDM4NzQ1LCAzODc1MCwgMzg3NTQsIAorICAgIDM4NzU5LCAzODc2MywgMzg3NjgsIDM4NzcyLCAzODc3NywgMzg3ODEsIDM4Nzg2LCAzODc5MCwgMzg3OTYsIDM4ODAxLCAKKyAgICAzODgwNSwgMzg4MTEsIDM4ODE2LCAzODgyMCwgMzg4MjYsIDM4ODMxLCAzODgzNSwgMzg4NDAsIDM4ODQ0LCAzODg0OSwgCisgICAgMzg4NTMsIDM4ODU5LCAzODg2NSwgMzg4NzEsIDM4ODc3LCAzODg4MywgMzg4ODksIDM4ODk1LCAzODkwMSwgMzg5MDYsIAorICAgIDM4OTEwLCAzODkxNSwgMzg5MTksIDM4OTI1LCAzODkzMCwgMzg5MzQsIDM4OTM5LCAzODk0MywgMzg5NDgsIDM4OTUyLCAKKyAgICAzODk1NywgMzg5NjEsIDM4OTY2LCAzODk3MCwgMzg5NzUsIDM4OTc5LCAzODk4NCwgMzg5ODgsIDM4OTk0LCAzODk5OSwgCisgICAgMzkwMDMsIDM5MDA4LCAzOTAxMiwgMzkwMTgsIDM5MDI0LCAzOTAyOSwgMTExLCA4OCwgMzkwMzMsIDM5MDM1LCAzOTAzOSwgCisgICAgMzkwNDMsIDM5MDQ3LCAzOTA1MiwgMzkwNTYsIDM5MDYwLCAxMDAwMywgMzkwNjUsIDM5MDcxLCAxNzQxLCA2NDcyLCAKKyAgICAzOTA3NywgMzkwODAsIDM5MDg1LCAzOTA4OSwgMzkwOTQsIDM5MDk4LCAzOTEwMiwgMzkxMDcsIDEwNzY5LCAzOTExMSwgCisgICAgMzkxMTUsIDM5MTE5LCA1OTQsIDM5MTIzLCAxNjIwNywgMzkxMjgsIDM5MTMyLCAzOTEzNywgMzkxNDIsIDM5MTQ3LCAKKyAgICAzOTE1MSwgMzkxNTgsIDI3MzMyLCAzOTE2NCwgMzkxNjcsIDM5MTcxLCAzOTE3NiwgMzkxODIsIDM5MTg2LCAzOTE5NCwgCisgICAgMzkyMDAsIDM5MjA1LCAzOTIwOSwgMzkyMTIsIDM5MjE2LCAzOTIyMiwgMzkyMjYsIDM5MjMwLCAzNTYwLCAzNTY1LCAKKyAgICAzMDY0MiwgMzkyMzMsIDM5MjM3LCAzOTI0MSwgMzkyNDUsIDM5MjQ5LCAzOTI1NywgMzkyNjQsIDM5MjY4LCAzOTI3NSwgCisgICAgMzkyODAsIDM5Mjk0LCAzOTMwMSwgMzkzMTIsIDMyNCwgMzkzMTcsIDM5MzIxLCAzOTMyNywgMzkzMzksIDM5MzQ1LCAKKyAgICAzOTM1MSwgMzA2NzksIDM5MzU1LCAzOTM2MSwgMzkzNzAsIDM5Mzc0LCAzOTM3OCwgMzkzODMsIDM5Mzg5LCAzOTM5NCwgCisgICAgMzkzOTgsIDM5NDAzLCAzOTQwNywgMzk0MTEsIDM5NDE4LCAzOTQyNCwgMzk0MjksIDM5NDQ0LCAzOTQ1OSwgMzk0NzQsIAorICAgIDM5NDkwLCAzOTUwOCwgMTA3MTksIDM5NTIyLCAzOTUyOSwgMzk1MzMsIDM5NTM2LCAzOTU0NSwgMzk1NTAsIDM5NTU0LCAKKyAgICAzOTU2MiwgMzU1MzcsIDM5NTcwLCAzOTU3NCwgMzk1ODQsIDM5NTk1LCAzMDYxMiwgMzk2MDgsIDM5NjEyLCAzOTYyMSwgCisgICAgMzk2MjksIDEwMjcwLCAxNTcyMywgMzk2MzMsIDIzNDc4LCAzOTYzNiwgMzE1ODAsIDM5NjQxLCAxMDI2OSwgMzk2NDYsIAorICAgIDM5NjUyLCAzOTY1NywgMzk2NjMsIDM5NjY4LCAzOTY3NCwgMzk2NzksIDM5Njg1LCAzOTY5MCwgMzk2OTYsIDM5NzAyLCAKKyAgICAzOTcwOCwgMzk3MTMsIDM5NjY5LCAzOTY3NSwgMzk2ODAsIDM5Njg2LCAzOTY5MSwgMzk2OTcsIDM5NzAzLCA4MzQ1LCAKKyAgICA0MDA2LCAzOTcxNywgMzk3MjUsIDM5NzI5LCAzOTczMiwgMzk3MzYsIDM5NzQxLCAzOTc0NiwgMzk3NTIsIDM5NzU4LCAKKyAgICAzOTc2MywgMzk3NjcsIDM5NzcxLCAyNzE2OCwgMzk3NzUsIDM5Nzc5LCAzOTc4MywgMzk3ODksIDM5NzkzLCAyOTIxNywgCisgICAgOTI5NiwgMzk4MDIsIDM5ODA5LCAzOTgxNSwgMzk4MTksIDEyNTYyLCAzOTgyNiwgMzk4MzIsIDM5ODM3LCAzOTg0NCwgCisgICAgMzk4NTEsIDM5ODU4LCAyOTkxNywgODI1NywgMzk4NjUsIDM5ODcyLCAzOTg3OSwgMzk4ODUsIDM5ODkwLCAzOTg5NywgCisgICAgMzk5MDgsIDM5OTE0LCAzOTkxOSwgMzk5MjQsIDM5OTI5LCAzOTkzNiwgMzk2NzAsIDM5OTQwLCAzOTk1MCwgMzk5NTksIAorICAgIDM5OTcwLCAzOTk3NiwgMzk5ODMsIDM5OTg4LCAzOTk5MywgMzk5OTgsIDQwMDAzLCA0MDAwOCwgNDAwMTIsIDQwMDE2LCAKKyAgICA0MDAyMiwgNDAwMzAsIDIzMzQsIDk1NSwgMTA3ODUsIDEwNzk3LCAxMDgwMiwgMTA4MDgsIDQwMDM5LCAxMDgxMywgMTA4MTgsIAorICAgIDEwODI0LCA0MDA0NCwgNDAwNTQsIDQwMDU4LCAxMDgyOSwgNDAwNjMsIDE3ODE0LCA0MDA2NiwgNDAwNzEsIDQwMDc1LCAKKyAgICAzNjIzNywgNDAwODYsIDQwMDkxLCA0MDA5OCwgNDAxMDUsIDQwMTA5LCA0MDExMiwgNDAxMjAsIDEwNzMyLCA0MDEyNywgCisgICAgNDAxMzAsIDQwMTM2LCA0MDE0NiwgNjEwNiwgNDAxNTUsIDQwMTYxLCA0MDE2NSwgNDAxNzMsIDQwMTc3LCA0MDE4NywgCisgICAgNDAxOTMsIDQwMTk4LCA0MDIwOSwgNDAyMTUsIDQwMjIxLCA0MDIyNiwgNDAyMzIsIDQwMjM4LCA0MDI0NCwgNDAyNDksIAorICAgIDQwMjUyLCA0MDI1OSwgNDAyNjUsIDQwMjY5LCA0MDI3NCwgNDAyODEsIDQwMjg4LCA0MDI5MiwgNDAyOTUsIDQwMzA1LCAKKyAgICA0MDMxOCwgNDAzMjcsIDQwMzM2LCA0MDM0NywgNDAzNjAsIDQwMzcyLCA0MDM4MywgNDAzOTIsIDQwNDAzLCA0MDQwOCwgCisgICAgNDA0MTcsIDQwNDIyLCAxMDgzNCwgNDA0MjgsIDQwNDM1LCA0MDQ0MywgNDA0NDgsIDQwNDUyLCA0MDQ1OSwgNDA0NjYsIAorICAgIDM5NTgsIDIwLCA0MDQ3MCwgNDA0NzUsIDE3NjY4LCA0MDQ3OSwgNDA0ODIsIDQwNDg1LCAyOTM5NywgNDA0ODksIDI5OTI2LCAKKyAgICA0MDQ5NywgNDA1MDEsIDQwNTA1LCA0MDUwOCwgNDA1MTQsIDQwNTIwLCAzMjYyOCwgNDA1MjUsIDQwNTMzLCA0MDUzOSwgCisgICAgNDA1NDYsIDI5MzgwLCA0MDU1MCwgMjk1ODMsIDQwNTU0LCA0MDU2MywgNDA1NjksIDQwNTc1LCA0MDU4MCwgNDA1ODQsIAorICAgIDI5OTQ1LCA0MDU5MCwgNDA1OTMsIDQwNjAxLCA0MDYwOSwgMjc0MTAsIDQwNjE1LCA0MDYxOSwgNDA2MjQsIDQwNjMxLCAKKyAgICA0MDYzNywgNDA2NDIsIDQwNjQ3LCA0MDY1MSwgNDA2NTcsIDQwNjYyLCA0MDY2OCwgNDIwOCwgODgzLCA0MDY3NSwgNDA2NzksIAorICAgIDQwNjgyLCAxNjA5MywgNDA2OTQsIDQwNzA1LCAzNzYwMiwgNDA3MTAsIDQwNzEzLCA0MDcyMCwgNDA3MjQsIDQwNzMwLCAKKyAgICA0MDczNCwgNDA3NDAsIDQwNzQ1LCA0MDc1MSwgNDA3NTYsIDQwNzYxLCA0MDc2NSwgNDA3NjksIDQwNzc0LCA0MDc3OSwgCisgICAgNDA3ODksIDQwNzk1LCA0MDgwOCwgNDA4MTQsIDQwODIwLCA0MDgyNiwgNDA4MzMsIDQwODM4LCA0MDg0NCwgNDA4NDksIAorICAgIDE3NTU5LCAxNDU1LCA3NzEsIDQwODU0LCA0MDg1NywgNDA4NjAsIDQwODYzLCAzMjcxMiwgMzI3MTgsIDQwODY2LCAzMjcyNCwgCisgICAgMzI3MzcsIDMyNzQzLCAzMjc0OSwgNDA4NzIsIDMyNzU1LCAzMjc2MSwgNDA4NzgsIDQwODg0LCAyNiwgNDA4OTIsIDQwODk5LCAKKyAgICA0MDkwMywgNDA5MDcsIDQwOTE1LCAzMzQ5MiwgNDA5MTksIDQwOTIzLCA0MDkzMCwgNDA5MzUsIDQwOTM5LCA0MDk0NCwgCisgICAgNDA5NTAsIDQwOTU1LCA0MDk2MSwgNDA5NjYsIDQwOTcwLCA0MDk3NCwgNDA5NzgsIDQwOTgzLCA0MDk4NywgNDA5OTIsIAorICAgIDQwOTk2LCA0MTAwMCwgNDEwMDcsIDQxMDEyLCA0MTAxNiwgNDEwMjAsIDQxMDI1LCA0MTAyOSwgNDEwMzQsIDQxMDM4LCAKKyAgICA0MTA0MiwgNDEwNDcsIDQxMDUzLCAxNjM0MywgMTYzNDgsIDQxMDU4LCA0MTA2MiwgNDEwNjUsIDQxMDY5LCA0MTA3MywgCisgICAgMjIxNjYsIDQxMDc4LCA0MTA4MiwgNDEwODgsIDQxMDk1LCA0MTEwMCwgNDExMTAsIDQxMTE1LCA0MTEyMywgNDExMjcsIAorICAgIDQxMTMwLCAzMzUwNywgNDExMzQsIDQyNjEsIDQxMTM5LCA0MTE0NCwgNDExNDgsIDQxMTUzLCA0MTE1NywgNDExNjIsIAorICAgIDE0MDgyLCA0MTE3MywgNDExNzcsIDQxMTgwLCA0MTE4NCwgNDExODksIDQxMTkzLCA0MTE5OCwgNDEyMDMsIDQxMjA3LCAKKyAgICA0MTIxMSwgNDEyMTUsIDQxMjE4LCA0MTIyMiwgODM2NCwgMTQwOTgsIDQxMjI1LCA0MTIyOCwgNDEyMzQsIDQxMjM5LCAKKyAgICA0MTI0NSwgNDEyNTAsIDQxMjU2LCA0MTI2MSwgNDEyNjcsIDQxMjcyLCA0MTI3OCwgNDEyODQsIDQxMjkwLCA0MTI5NSwgCisgICAgNDEyOTksIDQxMzAzLCA0MTMxMiwgNDEzMjgsIDQxMzQ0LCA0MTM1NCwgMjkyODcsIDQxMzYxLCA0MTM2NSwgNDEzNzAsIAorICAgIDQxMzc1LCA0MTM3OSwgNDEzODMsIDM3NzMxLCA0MTM4OSwgNDEzOTQsIDQxMzk4LCA0MTQwNSwgNDE0MTAsIDQxNDE1LCAKKyAgICA0MTQxOSwgNDE0MjMsIDQxNDI5LCAyODIzNywgNDE0MzMsIDIyNDUwLCA0MTQzOCwgNDE0NDUsIDQxNDUzLCA0MTQ1OSwgCisgICAgNDE0NjYsIDQxNDc0LCA0MTQ4MCwgNDE0ODQsIDQxNDg5LCA0MTQ5NSwgNDE1MDMsIDQxNTA4LCA0MTUxMiwgNDE1MjEsIAorICAgIDk5ODQsIDQxNTI5LCA0MTUzMywgNDE1NDEsIDQxNTQ4LCA0MTU1MywgNDE1NTgsIDQxNTYzLCA0MTU2NywgNDE1NzAsIAorICAgIDQxNTc0LCA0MTU3NywgNDE1ODEsIDQxNTg4LCA0MTU5MywgNDE1OTcsIDQxNjAzLCAyNzY0MywgMzI3NzUsIDQxNjA3LCAKKyAgICA0MTYxMywgNDE2MjAsIDQxNjI2LCA0MTYzMiwgNDE2MzcsIDQxNjQwLCA0MTY0MiwgNDE2NDksIDQxNjU2LCA0MTY2MiwgCisgICAgNDE2NjYsIDQxNjY5LCA0MTY3MywgNDE2NzcsIDQxNjgxLCA0MTY4NiwgNDE2OTAsIDQxNjk0LCA0MTY5NywgNDE3MDEsIAorICAgIDQxNzE1LCAyNDExMywgNDE3MzQsIDQxNzQ3LCA0MTc2MCwgNDE3NzMsIDI0MTMxLCA0MTc4OCwgMTEwNDUsIDQxODAzLCAKKyAgICA0MTgwOSwgNDE4MTMsIDQxODE3LCA0MTgyMSwgNDE4MjUsIDQxODMyLCA0MTgzNywgNDE4NDEsIDQxODQ4LCA0MTg1NCwgCisgICAgNDE4NTksIDQxODY1LCA0MTg3NSwgNDE4ODcsIDQxODk4LCA0MTkwMywgNDE5MTAsIDQxOTE0LCA0MTkxOCwgNDE5MjEsIAorICAgIDE2NzUxLCAzNzk5LCA0MTkyOSwgMTYzNzAsIDQxOTQyLCA0MTk0OSwgNDE5NTMsIDQxOTU3LCA0MTk2MiwgNDE5NjcsIAorICAgIDQxOTczLCA0MTk3NywgNDE5ODEsIDQxOTg0LCA0MTk4OSwgNDE5OTMsIDQxOTk4LCA3OTU3LCAxNjM4MSwgNDIwMDMsIAorICAgIDQyMDA3LCA0MjAxMywgNDIwMjIsIDQyMDI3LCA0MjAzNiwgNDIwNDMsIDM3NTc5LCA0MjA0OSwgNDIwNTQsIDQyMDU4LCAKKyAgICA0MjA2MywgNDIwNzAsIDQyMDc2LCA0MjA4MCwgNDIwODMsIDQyMDg3LCA0MjA5MiwgMTUzNDQsIDQyMDk5LCA0MjEwNiwgCisgICAgNDIxMTAsIDQyMTEzLCA0MjExOCwgNDIxMjMsIDQyMTI5LCA0MjEzNCwgNDIxMzksIDQyMTQzLCA0MjE0OCwgNDIxNTgsIAorICAgIDQyMTYzLCA0MjE2OSwgNDIxNzQsIDQyMTgwLCA0MjE4NSwgNDIxOTEsIDQyMjAxLCA0MjIwNiwgNDIyMTEsIDQyMjE1LCAKKyAgICA0MjIyMCwgNzQzMywgNzQ0NSwgNDIyMjUsIDQyMjI4LCA0MjIzNSwgNDIyNDEsIDQyMjUwLCAzNTcxMSwgMzU3MTgsIAorICAgIDQyMjU4LCA0MjI2MiwgNDIyNjYsIDMzNTU1LCA0MjI3NCwgNDIyODUsIDQyMjkzLCAzNzc3OSwgNDIzMDAsIDQyMzA1LCAKKyAgICA0MjMxMCwgNDIzMjEsIDQyMzI4LCA0MjMzOSwgMzM1NzksIDIyNDU2LCA0MjM0NywgODM0LCA0MjM1MiwgMTQ0MjksIAorICAgIDQyMzU4LCAyOTM3MSwgNDIzNjQsIDQyMzY5LCA0MjM3OSwgNDIzODgsIDQyMzk1LCA0MjQwMSwgNDI0MDUsIDQyNDA4LCAKKyAgICA0MjQxNSwgNDI0MjEsIDQyNDI4LCA0MjQzNCwgNDI0NDQsIDQyNDUyLCA0MjQ1OCwgNDI0NjQsIDQyNDY5LCA0MjQ3MywgCisgICAgNDI0ODAsIDQyNDg1LCA0MjQ5MSwgNDI0OTgsIDQyNTA0LCA0MTY4MiwgNDI1MDksIDQyNTEzLCA1MjYsIDE0NTQ1LCAKKyAgICA0MjUxOSwgNDI1MjQsIDQyNTI3LCA0MjUzMywgNDI1NDEsIDEzNzksIDQyNTQ2LCA0MjU1MCwgNDI1NTUsIDQyNTYwLCAKKyAgICA0MjU2NSwgNDI1NzIsIDQyNTc2LCA0MjU4MSwgNDI1ODcsIDQyNTkxLCAzMjc4NSwgNDI1OTYsIDQyNjAxLCA0MjYxMCwgCisgICAgNDI2MTcsIDQyNjI3LCA0MjYzMywgMjk0MTUsIDQyNjUwLCA0MjY1OSwgNDI2NjcsIDQyNjczLCA0MjY3OCwgNDI2ODUsIAorICAgIDQyNjkxLCA0MjY5OSwgNDI3MDgsIDQyNzE2LCA0MjcyMCwgNDI3MjUsIDQyNzMzLCAzMDM2MCwgMzM1ODgsIDQyNzM5LCAKKyAgICA0Mjc1OCwgMTY2NzYsIDQyNzcyLCA0Mjc4OCwgNDI4MDIsIDQyODA4LCA0MjgxMywgNDI4MTgsIDQyODIzLCA0MjgyOSwgCisgICAgMzM1OTQsIDQyODM0LCA0MjgzNywgNDI4NDQsIDQyODQ5LCA0Mjg1MywgMzc2LCAyOTcxLCA0Mjg2MCwgNDI4NjUsIDQyODcwLCAKKyAgICAyODU5NSwgNDI2ODgsIDQyODc0LCA0Mjg3OSwgNDI4ODcsIDQyODkxLCA0Mjg5NCwgNDI4OTksIDQyOTA1LCA0MjkxMSwgCisgICAgNDI5MTYsIDQyOTIwLCAyOTQ3MCwgNDI5MjMsIDQyOTI4LCA0MjkzMiwgNDI5MzUsIDQyOTQwLCA0Mjk0NCwgNDI5NDksIAorICAgIDQyOTU0LCA0Mjk1OCwgNDI5NjMsIDQyOTY3LCA0Mjk3MSwgNDI5NzUsIDIyMTYyLCAyMjE3MywgNDI5ODAsIDQyOTg1LCAKKyAgICA0Mjk5MSwgNDI5OTYsIDI4MTk0LCA0MzAwMSwgNDMwMDUsIDIyMjU5LCAxNjkzMiwgNDMwMDgsIDQzMDEzLCA0MzAxOCwgCisgICAgNDMwMjMsIDQzMDI4LCA0MzAzMywgNDMwMzgsIDQzMDQzLCA0NjksIDQ5LCAzMjc5OCwgMzI4MDMsIDMyODA4LCAzMjgxNCwgCisgICAgMzI4MTksIDMyODI0LCA0MzA0OCwgMzI4MjgsIDQzMDUyLCA0MzA1NiwgNDMwNjAsIDMyODMzLCAzMjgzOSwgNDMwNzQsIAorICAgIDMyODUwLCAzMjg1NSwgNDMwODIsIDQzMDg3LCAzMjg2MSwgNDMwOTIsIDQzMDk3LCA0MzEwMiwgNDMxMDcsIDQzMTEzLCAKKyAgICA0MzExOSwgNDMxMjUsIDMyODc4LCA0MzEzOCwgNDMxNDcsIDQzMTUzLCAzMjg4MiwgNDMxNTcsIDMyODg3LCA0MzE2MiwgCisgICAgMzI4OTIsIDMyODk3LCA0MzE2NSwgNDMxNzAsIDQzMTc0LCAzMjQzMywgNDMxODAsIDE0MzEwLCA0MzE4NywgNDMxOTIsIAorICAgIDMyOTAyLCA0MzE5NiwgNDMyMDEsIDQzMjA2LCA0MzIxMSwgNDMyMTUsIDQzMjIwLCA0MzIyNSwgNDMyMzEsIDQzMjM2LCAKKyAgICA0MzI0MSwgNDMyNDcsIDQzMjUzLCA0MzI1OCwgNDMyNjIsIDQzMjY3LCA0MzI3MiwgNDMyNzcsIDQzMjgxLCA0MzI4NiwgCisgICAgNDMyOTEsIDQzMjk2LCA0MzMwMiwgNDMzMDgsIDQzMzE0LCA0MzMxOSwgNDMzMjMsIDQzMzI4LCA0MzMzMiwgMzI5MDYsIAorICAgIDMyOTExLCAzMjkxNiwgNDMzMzYsIDQzMzQwLCA0MzM0NCwgMzI5MjEsIDMyOTI3LCAzMjkzMywgMzI5NDUsIDQzMzU2LCAKKyAgICAyNzIwNSwgNDMzNjAsIDQzMzY1LCA0MzM2OSwgNDMzNzQsIDQzMzgxLCA0MzM4NiwgNDMzOTEsIDQzMzk2LCA0MzQwMCwgCisgICAgNDM0MDQsIDQzNDE0LCA0MzQxOSwgNDM0MjQsIDQzNDI4LCA0MzQzMiwgNDM0MzUsIDQzNDQzLCAzMjk5MywgNDM0NDgsIAorICAgIDE0NjIsIDQzNDU0LCA0MzQ1OSwgNDM0NjUsIDQzNDczLCA0MzQ4MiwgNDM0ODYsIDQzNDkwLCA0MzQ5OCwgNDM1MDQsIAorICAgIDQzNTEyLCA0MzUyOCwgNDM1MzIsIDQzNTM2LCA0MzU0MSwgNDM1NDcsIDQzNTYyLCAzMzAzMCwgMTc0OSwgMTI3NDIsIAorICAgIDQzNTY2LCAxMzU4LCAxMzczLCA0MzU3OCwgNDM1ODYsIDQzNTkzLCA0MzU5OCwgNDM2MDUsIDQzNjEwLCA5Njc0LCAxMDYyLCAKKyAgICAyNTI1LCAxMDg2MSwgNDM2MTcsIDk1NzIsIDQzNjIyLCA0MzYyNSwgNDM2MzQsIDEyNjYsIDQzNjM5LCA0MTgzOCwgNDM2NDYsIAorICAgIDQzNjU1LCA0MzY2MCwgNDM2NjQsIDQzNjcyLCAyMzUzNCwgMjU3NywgNDM2NzksIDExMzAxLCA0MzY4OSwgNDM2OTUsIAorICAgIDIzNTIsIDIzNjIsIDQzNzA0LCA0MzcxMywgNDM3MjMsIDQzNzM0LCAzMzUyLCAzNTg3NCwgNDM3MzksIDEwOTIwLCAzOTM2LCAKKyAgICAxNzU5NywgMTI3MSwgNDM3NDMsIDQzNzUxLCA0Mzc1OCwgNDM3NjMsIDQzNzY3LCA0Mzc3MSwgMjQ5ODEsIDQyMDk0LCAKKyAgICAxMDk0NywgNDM3NzksIDQzNzg4LCA0Mzc5NywgNDM4MDUsIDQzODEyLCA0MzgyMywgNDM4MjgsIDQzODQxLCA0Mzg1NCwgCisgICAgNDM4NjYsIDQzODc4LCA0Mzg5MCwgNDM5MDEsIDQzOTE0LCA0MzkyNSwgNDM5MzYsIDQzOTQ2LCA0Mzk1NCwgNDM5NjIsIAorICAgIDQzOTc0LCA0Mzk4NiwgNDM5OTcsIDQ0MDA2LCA0NDAxNCwgNDQwMjEsIDQ0MDMzLCA0NDA0MCwgNDQwNDYsIDQ0MDU1LCAKKyAgICA0NDA2MiwgNDQwNzUsIDQ0MDgwLCA0NDA5MCwgNDQwOTUsIDQ0MTAxLCA0NDEwNiwgMzk4MTYsIDQ0MTEwLCA0NDExNywgCisgICAgNDQxMjEsIDQ0MTI4LCA0NDEzNiwgMjUzOCwgNDQxNDMsIDQ0MTU0LCA0NDE2NCwgNDQxNzMsIDQ0MTgxLCA0NDE5MSwgCisgICAgNDQxOTksIDQ0MjA5LCA0NDIxOCwgNDQyMjMsIDQ0MjI5LCA0NDIzNSwgNDQyNDAsIDM4MzgsIDQ0MjUxLCA0NDI2MSwgCisgICAgNDQyNzAsIDQ0Mjc5LCA0NDI4NywgNDQyOTcsIDQ0MzA1LCA0NDMxNCwgNDQzMTksIDQ0MzI0LCA0NDMyOSwgMTY3OSwgMzcsIAorICAgIDQ0MzM3LCA0NDM0NSwgNDQzNTYsIDQ0MzY3LCAxNzI0NCwgNDQzNzcsIDQ0MzgxLCA0NDM4OCwgNDQzOTQsIDQ0Mzk5LCAKKyAgICA0NDQwMywgNDQ0MTQsIDQ0NDI0LCA0NDQzMywgNDQ0NDQsIDE3NjQxLCAxNzY0NiwgNDQ0NDksIDQ0NDU4LCA0NDQ2MywgCisgICAgNDQ0NzMsIDQ0NDc4LCA0NDQ4NiwgNDQ0OTQsIDQ0NTAxLCA0NDUwNywgMTY0MSwgMjUxLCA0NDUxMSwgNDQ1MTcsIDQ0NTIyLCAKKyAgICA0NDUyNSwgMjEyNCwgNDE5NTQsIDQ0NTMzLCA0NDUzNywgNDQ1NDAsIDE0OTUsIDQ0NTQ2LCAxNDcwNywgMTI3NiwgNDQ1NTEsIAorICAgIDQ0NTY0LCA0NDU3OCwgMjY2MywgNDQ1OTYsIDQ0NjA4LCA0NDYyMCwgMjY3NywgMjY5NCwgNDQ2MzQsIDQ0NjQ3LCAyNzA5LCAKKyAgICA0NDY2MSwgNDQ2NzMsIDI3MjQsIDQ0Njg3LCAxMjgyLCAxMjg4LCAxMjk0LCAxMTIwNywgNDQ2OTIsIDQ0Njk3LCA0NDcwMiwgCisgICAgNDQ3MDYsIDQ0NzIxLCA0NDczNiwgNDQ3NTEsIDQ0NzY2LCA0NDc4MSwgNDQ3OTYsIDQ0ODExLCA0NDgyNiwgNDQ4NDEsIAorICAgIDQ0ODU2LCA0NDg3MSwgNDQ4ODYsIDQ0OTAxLCA0NDkxNiwgNDQ5MzEsIDQ0OTQ2LCA0NDk2MSwgNDQ5NzYsIDQ0OTkxLCAKKyAgICA0NTAwNiwgNDUwMjEsIDQ1MDM2LCA0NTA1MSwgNDUwNjYsIDQ1MDgxLCA0NTA5NiwgNDUxMTEsIDQ1MTI2LCA0NTE0MSwgCisgICAgNDUxNTYsIDQ1MTcxLCA0NTE4NiwgNDUyMDEsIDQ1MjE2LCA0NTIzMSwgNDUyNDYsIDQ1MjYxLCA0NTI3NiwgNDUyOTEsIAorICAgIDQ1MzA2LCA0NTMyMSwgNDUzMzYsIDQ1MzUxLCA0NTM2NiwgNDUzODEsIDQ1Mzk2LCA0NTQxMSwgNDU0MjYsIDQ1NDQxLCAKKyAgICA0NTQ1NiwgNDU0NzEsIDQ1NDg2LCA0NTUwMSwgNDU1MTYsIDQ1NTMxLCA0NTU0NiwgNDU1NjEsIDQ1NTc2LCA0NTU5MSwgCisgICAgNDU2MDYsIDQ1NjIxLCA0NTYzNiwgNDU2NTEsIDQ1NjY2LCA0NTY4MSwgNDU2OTYsIDQ1NzExLCA0NTcyNiwgNDU3NDEsIAorICAgIDQ1NzU2LCA0NTc3MSwgNDU3ODYsIDQ1ODAxLCA0NTgxNiwgNDU4MzEsIDQ1ODQ2LCA0NTg2MSwgNDU4NzYsIDQ1ODkxLCAKKyAgICA0NTkwNiwgNDU5MjEsIDQ1OTM2LCA0NTk1MSwgNDU5NjYsIDQ1OTgxLCA0NTk5NiwgNDYwMTEsIDQ2MDI2LCA0NjA0MSwgCisgICAgNDYwNTYsIDQ2MDcxLCA0NjA4NiwgNDYxMDEsIDQ2MTE2LCA0NjEzMSwgNDYxNDYsIDQ2MTYxLCA0NjE3NiwgNDYxOTEsIAorICAgIDQ2MjA2LCA0NjIyMSwgNDYyMzYsIDQ2MjUxLCA0NjI2NiwgNDYyODEsIDQ2Mjk2LCA0NjMxMSwgNDYzMjYsIDQ2MzQxLCAKKyAgICA0NjM1NiwgNDYzNzEsIDQ2Mzg2LCA0NjQwMSwgNDY0MTYsIDQ2NDMxLCA0NjQ0NiwgNDY0NjEsIDQ2NDc2LCA0NjQ5MSwgCisgICAgNDY1MDYsIDQ2NTIxLCA0NjUzNiwgNDY1NTEsIDQ2NTY2LCA0NjU4MSwgNDY1OTYsIDQ2NjExLCA0NjYyNiwgNDY2NDEsIAorICAgIDQ2NjU2LCA0NjY3MSwgNDY2ODYsIDQ2NzAxLCA0NjcxNiwgNDY3MzEsIDQ2NzQ2LCA0Njc2MSwgNDY3NzYsIDQ2NzkxLCAKKyAgICA0NjgwNiwgNDY4MjEsIDQ2ODM2LCA0Njg1MSwgNDY4NjYsIDQ2ODgxLCA0Njg5NiwgNDY5MTEsIDQ2OTI2LCA0Njk0MSwgCisgICAgNDY5NTYsIDQ2OTcxLCA0Njk4NiwgNDcwMDEsIDQ3MDE2LCA0NzAzMSwgNDcwNDYsIDQ3MDYxLCA0NzA3NiwgNDcwOTEsIAorICAgIDQ3MTA2LCA0NzEyMSwgNDcxMzYsIDQ3MTUxLCA0NzE2NiwgNDcxODEsIDQ3MTk2LCA0NzIxMSwgNDcyMjYsIDQ3MjQxLCAKKyAgICA0NzI1NiwgNDcyNzEsIDQ3Mjg2LCA0NzMwMSwgNDczMTYsIDQ3MzMxLCA0NzM0NiwgNDczNjEsIDQ3Mzc2LCA0NzM5MSwgCisgICAgNDc0MDYsIDQ3NDIxLCA0NzQzNiwgNDc0NTEsIDQ3NDY2LCA0NzQ4MSwgNDc0OTYsIDQ3NTExLCA0NzUyNiwgNDc1NDEsIAorICAgIDQ3NTU2LCA0NzU3MSwgNDc1ODYsIDQ3NjAxLCA0NzYxNiwgNDc2MzEsIDQ3NjQ2LCA0NzY2MSwgNDc2NzYsIDQ3NjkxLCAKKyAgICA0NzcwNiwgNDc3MjEsIDQ3NzM2LCA0Nzc1MSwgNDc3NjYsIDQ3NzgxLCA0Nzc5NiwgNDc4MTEsIDQ3ODI2LCA0Nzg0MSwgCisgICAgNDc4NTYsIDQ3ODcxLCA0Nzg4NiwgNDc5MDEsIDQ3OTE2LCA0NzkzMSwgNDc5NDYsIDQ3OTYxLCA0Nzk3NiwgNDc5OTEsIAorICAgIDQ4MDA2LCA0ODAyMSwgNDgwMzYsIDQ4MDUxLCA0ODA2NiwgNDgwODEsIDQ4MDk2LCA0ODExMSwgNDgxMjYsIDQ4MTQxLCAKKyAgICA0ODE1NiwgNDgxNzEsIDQ4MTg2LCA0ODIwMSwgNDgyMTYsIDQ4MjMxLCA0ODI0NiwgNDgyNjEsIDQ4Mjc2LCA0ODI5MSwgCisgICAgNDgzMDYsIDQ4MzIxLCA0ODMzNiwgNDgzNTEsIDQ4MzY2LCA0ODM4MSwgNDgzOTYsIDQ4NDExLCA0ODQyNiwgNDg0NDEsIAorICAgIDQ4NDU2LCA0ODQ3MSwgNDg0ODYsIDQ4NTAxLCA0ODUxNiwgNDg1MzEsIDQ4NTQ2LCA0ODU2MSwgNDg1NzYsIDQ4NTkxLCAKKyAgICA0ODYwNiwgNDg2MjEsIDQ4NjM2LCA0ODY1MSwgNDg2NjYsIDQ4NjgxLCA0ODY5NiwgNDg3MTEsIDQ4NzI2LCA0ODc0MSwgCisgICAgNDg3NTYsIDQ4NzcxLCA0ODc4NiwgNDg4MDEsIDQ4ODE2LCA0ODgzMSwgNDg4NDYsIDQ4ODYxLCA0ODg3NiwgNDg4OTEsIAorICAgIDQ4OTA2LCA0ODkyMSwgNDg5MzYsIDQ4OTUxLCA0ODk2NiwgNDg5ODEsIDQ4OTk2LCA0OTAxMSwgNDkwMjYsIDQ5MDQxLCAKKyAgICA0OTA1NiwgNDkwNzEsIDQ5MDg2LCA0OTEwMSwgNDkxMTYsIDQ5MTMxLCA0OTE0NiwgNDkxNjEsIDQ5MTc2LCA0OTE5MSwgCisgICAgNDkyMDYsIDQ5MjIxLCA0OTIzNiwgNDkyNTEsIDQ5MjY2LCA0OTI4MSwgNDkyOTYsIDQ5MzExLCA0OTMyNiwgNDkzNDEsIAorICAgIDQ5MzU2LCA0OTM3MSwgNDkzODYsIDQ5NDAxLCA0OTQxNiwgNDk0MzEsIDQ5NDQ2LCA0OTQ2MSwgNDk0NzYsIDQ5NDkxLCAKKyAgICA0OTUwNiwgNDk1MjEsIDQ5NTM2LCA0OTU1MSwgNDk1NjYsIDQ5NTgxLCA0OTU5NiwgNDk2MTEsIDQ5NjI2LCA0OTY0MSwgCisgICAgNDk2NTYsIDQ5NjcxLCA0OTY4NiwgNDk3MDEsIDQ5NzE2LCA0OTczMSwgNDk3NDYsIDQ5NzYxLCA0OTc3NiwgNDk3OTEsIAorICAgIDQ5ODA2LCA0OTgyMSwgNDk4MzYsIDQ5ODUxLCA0OTg2NiwgNDk4ODEsIDQ5ODk2LCA0OTkxMSwgNDk5MjYsIDQ5OTQxLCAKKyAgICA0OTk1NiwgNDk5NzEsIDQ5OTg2LCA1MDAwMSwgNTAwMTYsIDUwMDMxLCA1MDA0NiwgNTAwNjEsIDUwMDc2LCA1MDA5MSwgCisgICAgNTAxMDYsIDUwMTIxLCA1MDEzNiwgNTAxNTEsIDUwMTY2LCA1MDE4MSwgNTAxOTYsIDUwMjExLCA1MDIyNiwgNTAyNDEsIAorICAgIDUwMjU2LCA1MDI3MSwgNTAyODYsIDUwMzAxLCA1MDMxNiwgNTAzMzEsIDUwMzQ2LCA1MDM2MSwgNTAzNzYsIDUwMzkxLCAKKyAgICA1MDQwNiwgNTA0MjEsIDUwNDM2LCA1MDQ1MSwgNTA0NjYsIDUwNDgxLCA1MDQ5NiwgNTA1MTEsIDUwNTI2LCA1MDU0MSwgCisgICAgNTA1NTYsIDUwNTcxLCA1MDU4NiwgNTA2MDEsIDUwNjE2LCA1MDYzMSwgNTA2NDYsIDUwNjYxLCA1MDY3NiwgNTA2OTEsIAorICAgIDUwNzA2LCA1MDcyMSwgNTA3MzYsIDUwNzUxLCA1MDc2NiwgNTA3ODEsIDUwNzk2LCA1MDgxMSwgNTA4MjYsIDUwODQxLCAKKyAgICA1MDg1NiwgNTA4NzEsIDUwODg2LCA1MDkwMSwgNTA5MTYsIDUwOTMxLCA1MDk0NiwgNTA5NjEsIDUwOTc2LCA1MDk5MSwgCisgICAgNTEwMDYsIDUxMDIxLCA1MTAzNiwgNTEwNTEsIDUxMDY2LCA1MTA4MSwgNTEwOTYsIDUxMTExLCA1MTEyNiwgNTExNDEsIAorICAgIDUxMTU2LCA1MTE3MSwgNTExODYsIDUxMjAxLCA1MTIxNiwgNTEyMzEsIDUxMjQ2LCA1MTI2MSwgNTEyNzYsIDUxMjkxLCAKKyAgICA1MTMwNiwgNTEzMjEsIDUxMzM2LCA1MTM1MSwgNTEzNjYsIDUxMzgxLCA1MTM5NiwgNTE0MTEsIDUxNDI2LCA1MTQ0MSwgCisgICAgNTE0NTYsIDUxNDcxLCA1MTQ4NiwgNTE1MDEsIDUxNTE2LCA1MTUzMSwgNTE1NDYsIDUxNTYxLCA1MTU3NiwgNTE1OTEsIAorICAgIDUxNjA2LCA1MTYyMSwgNTE2MzYsIDUxNjUxLCA1MTY2NiwgNTE2ODEsIDUxNjk2LCA1MTcxMSwgNTE3MjYsIDUxNzQxLCAKKyAgICA1MTc1NiwgNTE3NzEsIDUxNzg2LCA1MTgwMSwgNTE4MTYsIDUxODMxLCA1MTg0NiwgNTE4NjEsIDUxODc2LCA1MTg5MSwgCisgICAgNTE5MDYsIDUxOTIxLCA1MTkzNiwgNTE5NTEsIDUxOTY2LCA1MTk4MSwgNTE5OTYsIDUyMDExLCA1MjAyNiwgNTIwNDEsIAorICAgIDUyMDU2LCA1MjA3MSwgNTIwODYsIDUyMTAxLCA1MjExNiwgNTIxMzEsIDUyMTQ2LCA1MjE2MSwgNTIxNzYsIDUyMTkxLCAKKyAgICA1MjIwNiwgNTIyMjEsIDUyMjM2LCA1MjI1MSwgNTIyNjYsIDUyMjgxLCA1MjI5NiwgNTIzMTEsIDUyMzI2LCA1MjM0MSwgCisgICAgNTIzNTYsIDUyMzcxLCA1MjM4NiwgNTI0MDEsIDUyNDE2LCA1MjQzMSwgNTI0NDYsIDUyNDYxLCA1MjQ3NiwgNTI0OTEsIAorICAgIDUyNTA2LCA1MjUyMiwgNTI1MzgsIDUyNTU0LCA1MjU3MCwgNTI1ODYsIDUyNjAyLCA1MjYxOCwgNTI2MzQsIDUyNjUwLCAKKyAgICA1MjY2NiwgNTI2ODIsIDUyNjk4LCA1MjcxNCwgNTI3MzAsIDUyNzQ2LCA1Mjc2MiwgNTI3NzgsIDUyNzk0LCA1MjgxMCwgCisgICAgNTI4MjYsIDUyODQyLCA1Mjg1OCwgNTI4NzQsIDUyODkwLCA1MjkwNiwgNTI5MjIsIDUyOTM4LCA1Mjk1NCwgNTI5NzAsIAorICAgIDUyOTg2LCA1MzAwMiwgNTMwMTgsIDUzMDM0LCA1MzA1MCwgNTMwNjYsIDUzMDgyLCA1MzA5OCwgNTMxMTQsIDUzMTMwLCAKKyAgICA1MzE0NiwgNTMxNjIsIDUzMTc4LCA1MzE5NCwgNTMyMTAsIDUzMjI2LCA1MzI0MiwgNTMyNTgsIDUzMjc0LCA1MzI5MCwgCisgICAgNTMzMDYsIDUzMzIyLCA1MzMzOCwgNTMzNTQsIDUzMzcwLCA1MzM4NiwgNTM0MDIsIDUzNDE4LCA1MzQzNCwgNTM0NTAsIAorICAgIDUzNDY2LCA1MzQ4MiwgNTM0OTgsIDUzNTE0LCA1MzUzMCwgNTM1NDYsIDUzNTYyLCA1MzU3OCwgNTM1OTQsIDUzNjEwLCAKKyAgICA1MzYyNiwgNTM2NDIsIDUzNjU4LCA1MzY3NCwgNTM2OTAsIDUzNzA2LCA1MzcyMiwgNTM3MzgsIDUzNzU0LCA1Mzc3MCwgCisgICAgNTM3ODYsIDUzODAyLCA1MzgxOCwgNTM4MzQsIDUzODUwLCA1Mzg2NiwgNTM4ODIsIDUzODk4LCA1MzkxNCwgNTM5MzAsIAorICAgIDUzOTQ2LCA1Mzk2MiwgNTM5NzgsIDUzOTk0LCA1NDAxMCwgNTQwMjYsIDU0MDQyLCA1NDA1OCwgNTQwNzQsIDU0MDkwLCAKKyAgICA1NDEwNiwgNTQxMjIsIDU0MTM4LCA1NDE1NCwgNTQxNzAsIDU0MTg2LCA1NDIwMiwgNTQyMTgsIDU0MjM0LCA1NDI1MCwgCisgICAgNTQyNjYsIDU0MjgyLCA1NDI5OCwgNTQzMTQsIDU0MzMwLCA1NDM0NiwgNTQzNjIsIDU0Mzc4LCA1NDM5NCwgNTQ0MTAsIAorICAgIDU0NDI2LCA1NDQ0MiwgNTQ0NTgsIDU0NDc0LCA1NDQ5MCwgNTQ1MDYsIDU0NTIyLCA1NDUzOCwgNTQ1NTQsIDU0NTcwLCAKKyAgICA1NDU4NiwgNTQ2MDIsIDU0NjE4LCA1NDYzNCwgNTQ2NTAsIDU0NjY2LCA1NDY4MiwgNTQ2OTgsIDU0NzE0LCA1NDczMCwgCisgICAgNTQ3NDYsIDU0NzYyLCA1NDc3OCwgNTQ3OTQsIDU0ODEwLCA1NDgyNiwgNTQ4NDIsIDU0ODU4LCA1NDg3NCwgNTQ4OTAsIAorICAgIDU0OTA2LCA1NDkyMiwgNTQ5MzgsIDU0OTU0LCA1NDk3MCwgNTQ5ODYsIDU1MDAyLCA1NTAxOCwgNTUwMzQsIDU1MDUwLCAKKyAgICA1NTA2NiwgNTUwODIsIDU1MDk4LCA1NTExNCwgNTUxMzAsIDU1MTQ2LCA1NTE2MiwgNTUxNzgsIDU1MTk0LCA1NTIxMCwgCisgICAgNTUyMjYsIDU1MjQyLCA1NTI1OCwgNTUyNzQsIDU1MjkwLCA1NTMwNiwgNTUzMjIsIDU1MzM4LCA1NTM1NCwgNTUzNzAsIAorICAgIDU1Mzg2LCA1NTQwMiwgNTU0MTgsIDU1NDM0LCA1NTQ1MCwgNTU0NjYsIDU1NDgyLCA1NTQ5OCwgNTU1MTQsIDU1NTMwLCAKKyAgICA1NTU0NiwgNTU1NjIsIDU1NTc4LCA1NTU5NCwgNTU2MTAsIDU1NjI2LCA1NTY0MiwgNTU2NTgsIDU1Njc0LCA1NTY5MCwgCisgICAgNTU3MDYsIDU1NzIyLCA1NTczOCwgNTU3NTQsIDU1NzcwLCA1NTc4NiwgNTU4MDIsIDU1ODE4LCA1NTgzNCwgNTU4NTAsIAorICAgIDU1ODY2LCA1NTg4MiwgNTU4OTgsIDU1OTE0LCA1NTkzMCwgNTU5NDYsIDU1OTYyLCA1NTk3OCwgNTU5OTQsIDU2MDEwLCAKKyAgICA1NjAyNiwgNTYwNDIsIDU2MDU4LCA1NjA3NCwgNTYwOTAsIDU2MTA2LCA1NjEyMiwgNTYxMzgsIDU2MTU0LCA1NjE3MCwgCisgICAgNTYxODYsIDU2MjAyLCA1NjIxOCwgNTYyMzQsIDU2MjUwLCA1NjI2NiwgNTYyODIsIDU2Mjk4LCA1NjMxNCwgNTYzMzAsIAorICAgIDU2MzQ2LCA1NjM2MiwgNTYzNzgsIDU2Mzk0LCA1NjQxMCwgNTY0MjYsIDU2NDQyLCA1NjQ1OCwgNTY0NzQsIDU2NDkwLCAKKyAgICA1NjUwNiwgNTY1MjIsIDU2NTM4LCA1NjU1NCwgNTY1NzAsIDU2NTg2LCA1NjYwMiwgNTY2MTgsIDU2NjM0LCA1NjY1MCwgCisgICAgNTY2NjYsIDU2NjgyLCA1NjY5OCwgNTY3MTQsIDU2NzMwLCA1Njc0NiwgNTY3NjIsIDU2Nzc4LCA1Njc5NCwgNTY4MTAsIAorICAgIDU2ODI2LCA1Njg0MiwgNTY4NTgsIDU2ODc0LCA1Njg5MCwgNTY5MDYsIDU2OTIyLCA1NjkzOCwgNTY5NTQsIDU2OTcwLCAKKyAgICA1Njk4NiwgNTcwMDIsIDU3MDE4LCA1NzAzNCwgNTcwNTAsIDU3MDY2LCA1NzA4MiwgNTcwOTgsIDU3MTE0LCA1NzEzMCwgCisgICAgNTcxNDYsIDU3MTYyLCA1NzE3OCwgNTcxOTQsIDU3MjEwLCA1NzIyNiwgNTcyNDIsIDU3MjU4LCA1NzI3NCwgNTcyOTAsIAorICAgIDU3MzA2LCA1NzMyMiwgNTczMzgsIDU3MzU0LCA1NzM3MCwgNTczODYsIDU3NDAyLCA1NzQxOCwgNTc0MzQsIDU3NDUwLCAKKyAgICA1NzQ2NiwgNTc0ODIsIDU3NDk4LCA1NzUxNCwgNTc1MzAsIDU3NTQ2LCA1NzU2MiwgNTc1NzgsIDU3NTk0LCA1NzYxMCwgCisgICAgNTc2MjYsIDU3NjQyLCA1NzY1OCwgNTc2NzQsIDU3NjkwLCA1NzcwNiwgNTc3MjIsIDU3NzM4LCA1Nzc1NCwgNTc3NzAsIAorICAgIDU3Nzg2LCA1NzgwMiwgNTc4MTgsIDU3ODM0LCA1Nzg1MCwgNTc4NjYsIDU3ODgyLCA1Nzg5OCwgNTc5MTQsIDU3OTMwLCAKKyAgICA1Nzk0NiwgNTc5NjIsIDU3OTc4LCA1Nzk5NCwgNTgwMTAsIDU4MDI2LCA1ODA0MiwgNTgwNTgsIDU4MDc0LCA1ODA5MCwgCisgICAgNTgxMDYsIDU4MTIyLCA1ODEzOCwgNTgxNTQsIDU4MTcwLCA1ODE4NiwgNTgyMDIsIDU4MjE4LCA1ODIzNCwgNTgyNTAsIAorICAgIDU4MjY2LCA1ODI4MiwgNTgyOTgsIDU4MzE0LCA1ODMzMCwgNTgzNDYsIDU4MzYyLCA1ODM3OCwgNTgzOTQsIDU4NDEwLCAKKyAgICA1ODQyNiwgNTg0NDIsIDU4NDU4LCA1ODQ3NCwgNTg0OTAsIDU4NTA2LCA1ODUyMiwgNTg1MzgsIDU4NTU0LCA1ODU3MCwgCisgICAgNTg1ODYsIDU4NjAyLCA1ODYxOCwgNTg2MzQsIDU4NjUwLCA1ODY2NiwgNTg2ODIsIDU4Njk4LCA1ODcxNCwgNTg3MzAsIAorICAgIDU4NzQ2LCA1ODc2MiwgNTg3NzgsIDU4Nzk0LCA1ODgxMCwgNTg4MjYsIDU4ODQyLCA1ODg1OCwgNTg4NzQsIDU4ODkwLCAKKyAgICA1ODkwNiwgNTg5MjIsIDU4OTM4LCA1ODk1NCwgNTg5NzAsIDU4OTg2LCA1OTAwMiwgNTkwMTgsIDU5MDM0LCA1OTA1MCwgCisgICAgNTkwNjYsIDU5MDgyLCA1OTA5OCwgNTkxMTQsIDU5MTMwLCA1OTE0NiwgNTkxNjIsIDU5MTc4LCA1OTE5NCwgNTkyMTAsIAorICAgIDU5MjI2LCA1OTI0MiwgNTkyNTgsIDU5Mjc0LCA1OTI5MCwgNTkzMDYsIDU5MzIyLCA1OTMzOCwgNTkzNTQsIDU5MzcwLCAKKyAgICA1OTM4NiwgNTk0MDIsIDU5NDE4LCA1OTQzNCwgNTk0NTAsIDU5NDY2LCA1OTQ4MiwgNTk0OTgsIDU5NTE0LCA1OTUzMCwgCisgICAgNTk1NDYsIDU5NTYyLCA1OTU3OCwgNTk1OTQsIDU5NjEwLCA1OTYyNiwgNTk2NDIsIDU5NjU4LCA1OTY3NCwgNTk2OTAsIAorICAgIDU5NzA2LCA1OTcyMiwgNTk3MzgsIDU5NzU0LCA1OTc3MCwgNTk3ODYsIDU5ODAyLCA1OTgxOCwgNTk4MzQsIDU5ODUwLCAKKyAgICA1OTg2NiwgNTk4ODIsIDU5ODk4LCA1OTkxNCwgNTk5MzAsIDU5OTQ2LCA1OTk2MiwgNTk5NzgsIDU5OTk0LCA2MDAxMCwgCisgICAgNjAwMjYsIDYwMDQyLCA2MDA1OCwgNjAwNzQsIDYwMDkwLCA2MDEwNiwgNjAxMjIsIDYwMTM4LCA2MDE1NCwgNjAxNzAsIAorICAgIDYwMTg2LCA2MDIwMiwgNjAyMTgsIDYwMjM0LCA2MDI1MCwgNjAyNjYsIDYwMjgyLCA2MDI5OCwgNjAzMTQsIDYwMzMwLCAKKyAgICA2MDM0NiwgNjAzNjIsIDYwMzc4LCA2MDM5NCwgNjA0MTAsIDYwNDI2LCA2MDQ0MiwgNjA0NTgsIDYwNDc0LCA2MDQ5MCwgCisgICAgNjA1MDYsIDYwNTIyLCA2MDUzOCwgNjA1NTQsIDYwNTcwLCA2MDU4NiwgNjA2MDIsIDYwNjE4LCA2MDYzNCwgNjA2NTAsIAorICAgIDYwNjY2LCA2MDY4MiwgNjA2OTgsIDYwNzE0LCA2MDczMCwgNjA3NDYsIDYwNzYyLCA2MDc3OCwgNjA3OTQsIDYwODEwLCAKKyAgICA2MDgyNiwgNjA4NDIsIDYwODU4LCA2MDg3NCwgNjA4OTAsIDYwOTA2LCA2MDkyMiwgNjA5MzgsIDYwOTU0LCA2MDk3MCwgCisgICAgNjA5ODYsIDYxMDAyLCA2MTAxOCwgNjEwMzQsIDYxMDUwLCA2MTA2NiwgNjEwODIsIDYxMDk4LCA2MTExNCwgNjExMzAsIAorICAgIDYxMTQ2LCA2MTE2MiwgNjExNzgsIDYxMTkzLCAxNzY3MywgNjEyMDIsIDYxMjA3LCA2MTIxMywgNjEyMTksIDYxMjI5LCAKKyAgICA2MTIzNywgMTU3MDQsIDE2Mjg3LCAxMDQ0NSwgNjEyNTAsIDE1MDMsIDE1MDcsIDYxMjU4LCAzODkwLCAyODcxMywgNzM4NywgCisgICAgNjEyNjQsIDYxMjY5LCA2MTI3NCwgNjEyNzksIDYxMjg0LCA2MTI5MCwgNjEyOTUsIDYxMzAxLCA2MTMwNiwgNjEzMTIsIAorICAgIDYxMzE3LCA2MTMyMiwgNjEzMjcsIDYxMzMyLCA2MTMzOCwgNjEzNDMsIDYxMzQ4LCA2MTM1MywgNjEzNTgsIDYxMzYzLCAKKyAgICA2MTM2OCwgNjEzNzMsIDYxMzc5LCA2MTM4NCwgNjEzOTAsIDYxMzk3LCAyNTgxLCA2MTQwMiwgNjE0MDgsIDg3NTMsIAorICAgIDYxNDEyLCA2MTQxNywgNjE0MjQsIDYxNDMyLCA0NiwgNjE0MzYsIDYxNDQyLCA2MTQ0NywgNjE0NTIsIDYxNDU2LCA2MTQ2MSwgCisgICAgNjE0NjUsIDYxNDY5LCAxMTI0NCwgNjE0NzMsIDYxNDgzLCA2MTQ5NiwgNjE1MDcsIDYxNTIwLCA2MTUyNywgNjE1MzMsIAorICAgIDYxNTM4LCA2MTU0NCwgNjE1NTAsIDYxNTU2LCA2MTU2MSwgNjE1NjYsIDYxNTcxLCA2MTU3NiwgNjE1ODAsIDYxNTg1LCAKKyAgICA2MTU5MCwgNjE1OTUsIDYxNjAxLCA2MTYwNywgNjE2MTMsIDYxNjE4LCA2MTYyMiwgNjE2MjcsIDYxNjMyLCA2MTYzNiwgCisgICAgNjE2NDEsIDYxNjQ2LCA2MTY1MSwgNjE2NTUsIDExMjYwLCAxMTI3MSwgMTEyNzYsIDE1NDYsIDYxNjU5LCA2MTY2NSwgCisgICAgMTU1MSwgNjE2NzAsIDYxNjczLCAxNzEyMiwgNjE2NzgsIDYxNjg0LCA2MTY4OSwgMTU4MiwgNjE2OTUsIDE1ODgsIDE1OTQsIAorICAgIDExMzA2LCA2MTcwMCwgNjE3MDksIDYxNzE3LCA2MTcyNCwgNjE3MjgsIDYxNzM0LCA2MTczOSwgMzI0NjYsIDYxNzQ0LCAKKyAgICA2MTc1MSwgNjE3NTYsIDYxNzYwLCA2MTc2NCwgNjE3NzMsIDE1OTksIDE3MjE5LCA2MTc3OCwgNjE3ODIsIDE3MjMwLCAKKyAgICAxMTA1LCA2MTc4NiwgNjE3OTMsIDYxNzk4LCA2MTgwMiwgMTcyNjAsIDE2MDMsIDM5OTY0LCA2MTgwNSwgNjE4MTAsIAorICAgIDYxODIwLCA2MTgyOSwgNjE4MzQsIDYxODM4LCA2MTg0NCwgMTYwOCwgNDIwNTUsIDYxODQ5LCA2MTg1OCwgNjE4NjQsIAorICAgIDYxODY5LCA2MTg3NCwgMTE0NzQsIDExNDgwLCA2MTg4MCwgNjE4OTIsIDYxOTA5LCA2MTkyNiwgNjE5NDMsIDYxOTYwLCAKKyAgICA2MTk3NywgNjE5OTQsIDYyMDExLCA2MjAyOCwgNjIwNDUsIDYyMDYyLCA2MjA3OSwgNjIwOTYsIDYyMTEzLCA2MjEzMCwgCisgICAgNjIxNDcsIDYyMTY0LCA2MjE4MSwgNjIxOTgsIDYyMjE1LCA2MjIzMiwgNjIyNDksIDYyMjY2LCA2MjI4MywgNjIzMDAsIAorICAgIDYyMzE3LCA2MjMzNCwgNjIzNTEsIDYyMzY4LCA2MjM4NSwgNjI0MDIsIDYyNDE5LCA2MjQzNiwgNjI0NTMsIDYyNDcwLCAKKyAgICA2MjQ4NywgNjI1MDQsIDYyNTIxLCA2MjUzOCwgNjI1NTUsIDYyNTcyLCA2MjU4OSwgNjI2MDYsIDYyNjIzLCA2MjY0MCwgCisgICAgNjI2NTcsIDYyNjc0LCA2MjY5MSwgNjI3MDgsIDYyNzI1LCA2MjczNiwgNjI3NDEsIDE2MTMsIDYyNzQ1LCA2Mjc1MCwgCisgICAgNjI3NTYsIDYyNzYxLCA2Mjc2NiwgOTU5MSwgMTYxOCwgNjI3NzIsIDYyNzgxLCAyOTAyOSwgNjI3ODYsIDYyNzk3LCAKKyAgICAxMTQ5MSwgNjI4MDcsIDYyODEyLCA2MjgxOCwgNjI4MjMsIDYyODMwLCA2MjgzNiwgNjI4NDEsIDE2MjMsIDE3NTM1LCAKKyAgICA2Mjg0NiwgMTE1MDEsIDE2MjgsIDExNTA2LCA2Mjg1MiwgNjI4NTcsIDYyODYzLCA2Mjg2OCwgNjI4NzMsIDYyODc4LCAKKyAgICA2Mjg4MywgNjI4ODgsIDYyODkzLCA2Mjg5OCwgNjI5MDMsIDYyOTA5LCA2MjkxNSwgNjI5MjEsIDYyOTI2LCA2MjkzMCwgCisgICAgNjI5MzUsIDYyOTQwLCA2Mjk0NCwgNjI5NDksIDYyOTU0LCA2Mjk1OSwgNjI5NjQsIDYyOTY4LCA2Mjk3MywgNjI5NzksIAorICAgIDYyOTg0LCA2Mjk4OSwgNjI5OTMsIDYyOTk4LCA2MzAwMywgNjMwMDksIDYzMDE0LCA2MzAxOSwgNjMwMjUsIDYzMDMxLCAKKyAgICA2MzAzNiwgNjMwNDAsIDYzMDQ1LCA2MzA1MCwgNjMwNTUsIDYzMDU5LCA2MzA2NCwgNjMwNjksIDYzMDc0LCA2MzA4MCwgCisgICAgNjMwODYsIDYzMDkxLCA2MzA5NSwgNjMwOTksIDYzMTA0LCA2MzEwOSwgNjMxMTQsIDMwNTA0LCA2MzExOCwgNjMxMjMsIAorICAgIDYzMTI4LCA2MzEzNCwgNjMxMzksIDYzMTQ0LCA2MzE0OCwgNjMxNTMsIDYzMTU4LCA2MzE2NCwgNjMxNjksIDYzMTc0LCAKKyAgICA2MzE4MCwgNjMxODYsIDYzMTkxLCA2MzE5NSwgNjMyMDAsIDYzMjA1LCA2MzIwOSwgNjMyMTQsIDYzMjE5LCA2MzIyNCwgCisgICAgNjMyMzAsIDYzMjM2LCA2MzI0MSwgNjMyNDUsIDYzMjUwLCA2MzI1NSwgNjMyNTksIDYzMjY0LCA2MzI2OSwgNjMyNzQsIAorICAgIDYzMjc5LCA2MzI4MywgNjMyODYsIDYzMjg5LCA2MzI5NCwgMzMxNDcsIDYzMjk5LCA2MzMwNywgMTc2MDEsIDM3NzQsIAorICAgIDExNjA0LCA2MzMxMywgNjMzMjMsIDYzMzM4LCA2MzM0NiwgMTE2MDksIDYzMzU3LCA2MzM2MiwgNjMzNzMsIDYzMzg1LCAKKyAgICA2MzM5NywgNjM0MDksIDI3MTUsIDYzNDIxLCA2MzQyNiwgNjM0MzgsIDYzNDQyLCA2MzQ0OCwgNjM0NTQsIDYzNDU5LCAKKyAgICAxNjQ1LCAxNjgyNiwgNjM0NjgsIDYzNDczLCA0MjExNCwgNjM0NzcsIDYzNDgxLCA2MzQ4NiwgNjM0OTAsIDE3NjgxLCAKKyAgICA2MzQ5NSwgNjM0OTgsIDYzNTAzLCA2MzUxMSwgNjM1MTksIDE2NDksIDExNjQ1LCAxMTY1MSwgMTY1NCwgNjM1MjcsIAorICAgIDYzNTM0LCA2MzUzOSwgNjM1NDgsIDYzNTU4LCA2MzU2NSwgNjM1NzAsIDYzNTc1LCAxNjU5LCA2MzU4MiwgNjM1ODcsIAorICAgIDE3Nzk2LCA2MzU5MSwgNjM1OTYsIDYzNjAzLCA2MzYwOSwgNjM2MTMsIDYzNjI0LCA2MzYzNCwgMTc4MTgsIDk0ODUsIAorICAgIDk0OTIsIDYzNjQxLCAxNjY0LCA2MzY0NiwgNjM2NTIsIDYzNjYwLCA2MzY2NywgNjM2NzMsIDYzNjgwLCA2MzY5MiwgCisgICAgNjM2OTgsIDYzNzAzLCA2MzcxNSwgNjM3MjYsIDYzNzM1LCA2Mzc0NSwgMzg2OSwgMzIyNzEsIDMyMjgwLCAxNzg1OCwgCisgICAgMTY2OSwgMTY3MywgNjM3NTMsIDYzNzY0LCA2Mzc2OSwgMTY4MywgNjM3NzcsIDYzNzgyLCA2Mzc4NywgMTc5MTcsIDYzNzk5LCAKKyAgICA2MzgwMiwgNjM4MDgsIDYzODEzLCA2MzgyMSwgMTY4OCwgNjM4MjYsIDYzODMxLCA2MzgzOSwgNjM4NDcsIDYzODU0LCAKKyAgICA2Mzg2MywgNjM4NzEsIDYzODgwLCAxNjkzLCA2Mzg4NCwgMTY5OCwgMjIzMzAsIDYzODg5LCA2Mzg5NiwgMTc5OTEsIAorICAgIDYzOTA0LCA2MzkxMCwgNjM5MTUsIDYzOTIzLCA2MzkzMCwgNjM5MzgsIDE3MzA5LCA2Mzk0MywgMTE3OTcsIDYzOTUyLCAKKyAgICA2Mzk1OCwgNjM5NjMsIDYzOTcwLCA2Mzk3NywgNjM5ODMsIDE2OTkxLCA2Mzk5MywgNjM5OTksIDY0MDA0LCA2NDAxNSwgCisgICAgNjQwMjAsIDY0MDI4LCAxMTgxNCwgMTE4MTksIDY0MDM2LCA2NDA0MiwgNjQwNDYsIDY0MDU0LCAzOTM0LCAxODAzOCwgCisgICAgNDIyMDcsIDY0MDU5LCA2NDA2NSwgNjQwNzAsIDY0MDc4LCA2NDA4NSwgMTI3MjMsIDY0MDkwLCA2NDA5NiwgMTcwOSwgCisgICAgNjQxMDEsIDY0MTA0LCAxMTcyLCA2NDExMCwgNjQxMTUsIDY0MTIwLCA2NDEyNiwgNjQxMzEsIDY0MTM2LCA2NDE0MSwgCisgICAgNjQxNDYsIDY0MTUxLCA2NDE1NiwgMTcxOCwgOSwgNjQxNjIsIDY0MTY2LCA2NDE3MSwgNjQxNzUsIDY0MTc5LCA2NDE4MywgCisgICAgMzMzODcsIDY0MTg4LCAyNDI3NywgNjQxOTMsIDY0MTk4LCA2NDIwMiwgNjQyMDUsIDY0MjA5LCA2NDIxMywgNjQyMTgsIAorICAgIDY0MjIyLCA2NDIyNywgNjQyMzEsIDY0MjM3LCAzNjI4OCwgMzYyOTMsIDM2Mjk4LCA2NDI0MCwgNjQyNDcsIDY0MjUzLCAKKyAgICA2NDI2MSwgNDE4OTEsIDY0MjcxLCAzNjMwNCwgMzM2NTEsIDMzNDAyLCAzMzQwOCwgMzYzMjAsIDMzNDE0LCA2NDI3NiwgCisgICAgNjQyODEsIDMzNjg0LCA2NDI4NSwgNjQyODgsIDY0MjkyLCA2NDI5OSwgNjQzMDIsIDY0MzA3LCA2NDMxMiwgNjQzMTYsIAorICAgIDY0MzIwLCA2NDMyMywgNjQzMzMsIDY0MzQ1LCA2NDM1MiwgNjQzNTgsIDMzNDE5LCA2NDM2NSwgMzUxNDksIDY0MzY4LCAKKyAgICA4NzcwLCA5NDAsIDY0MzcxLCA2NDM3NSwgNjQzODAsIDM4MTIsIDY0Mzg0LCA2NDM4NywgMTQzNDMsIDY0Mzk0LCA2NDQwMSwgCisgICAgNjQ0MTQsIDY0NDIyLCA2NDQzMSwgNjQ0NDAsIDY0NDQ1LCA2NDQ1NSwgNjQ0NjgsIDY0NDgwLCA2NDQ4NywgNjQ0OTIsIAorICAgIDY0NTAxLCA2NDUxNCwgMzc4MTksIDY0NTMyLCA2NDUzNywgNjQ1NDQsIDY0NTUwLCA3NDYsIDY0NTU1LCA2NDU2MywgCisgICAgNjQ1NzAsIDI4NTM2LCA3MTAsIDY0NTc2LCA2NDU4MiwgNjQ1OTIsIDY0NTk4LCA2NDYwMywgMzM0MzgsIDYxODUsIDMzNDUyLCAKKyAgICA2NDYwNywgNjQ2MTcsIDY0NjIyLCA2NDYzMiwgNjQ2NDcsIDY0NjUzLCA2NDY1OSwgMzM0NjIsIDY0NjY0LCAzMjU4MywgCisgICAgNjQ2NjgsIDY0NjczLCA2NDY4MCwgNjQ2ODUsIDY0Njg5LCA2NDY5NCwgMTc4NjEsIDY0NzAxLCA2NDcwNiwgNjQ3MTAsIAorICAgIDYyMjYsIDMzNDg4LCA2NDcxNCwgNjQ3MjAsIDMxMCwgNjQ3MzAsIDY0NzM3LCA2NDc0NCwgNjQ3NDksIDY0NzU4LCA2MTgxNCwgCisgICAgNjQ3NjQsIDY0NzcyLCA2NDc3NiwgNjQ3ODAsIDY0Nzg0LCA2NDc4OCwgNjQ3OTMsIDY0Nzk3LCA2NDgwMywgNjQ4MTEsIAorICAgIDY0ODE2LCA2NDgyMSwgNjQ4MjYsIDY0ODMwLCA2NDgzNSwgNjQ4MzksIDY0ODQzLCA2NDg0OSwgNjQ4NTUsIDY0ODYwLCAKKyAgICA2NDg2NCwgNjQ4NjksIDMzNjEyLCA2NDg3MywgMzM2MTgsIDMzNjI0LCA2NDg3OCwgNjQ4ODQsIDY0ODkxLCA2NDg5NiwgCisgICAgNjQ5MDAsIDMyNjAwLCAxNzUyOCwgNjQ5MDMsIDY0OTA3LCA2NDkxMiwgNjQ5MTksIDY0OTI1LCA2NDkyOSwgNjQ5MzQsIAorICAgIDQxNTgzLCA2NDk0MCwgNjQ5NDQsIDY0OTUxLCA2NDk1NSwgNjQ5NjAsIDY0OTY2LCA2NDk3MiwgNjQ5NzgsIDY0OTkwLCAKKyAgICA2NDk5OSwgNjUwMDksIDY1MDE1LCA2NTAyMiwgNjUwMjcsIDY1MDMyLCA2NTAzNiwgNjUwMzksIDY1MDQ1LCA2NTA1MiwgCisgICAgNjUwNTcsIDY1MDYyLCA2NTA2OSwgNjUwNzYsIDY1MDgzLCA2NTA4OSwgNjUwOTQsIDY1MDk5LCA2NTEwNywgMzM2MjksIAorICAgIDI0NDMsIDY1MTEyLCA2NTExNywgNjUxMjMsIDY1MTI4LCA2NTEzNCwgNjUxMzksIDY1MTQ0LCA2NTE0OSwgNjUxNTUsIAorICAgIDMzNjUwLCA2NTE2MCwgNjUxNjYsIDY1MTcyLCA2NTE3OCwgMzM3MjAsIDY1MTgzLCA2NTE4OCwgNjUxOTMsIDMzNzMxLCAKKyAgICA2NTE5OCwgNjUyMDMsIDY1MjA4LCA2NTIxNCwgNjUyMjAsIDMzNzM2LCA2NTIyNSwgNjUyMzAsIDY1MjM1LCAzMzc5MSwgCisgICAgMzM3OTcsIDY1MjQwLCA2NTI0NSwgMzM4MDIsIDMzODI0LCAyOTI3OCwgMzM4MzAsIDMzODM0LCA2NTI1MCwgMTI0NjcsIAorICAgIDY1MjU0LCA2NTI2MiwgNjUyNjgsIDY1Mjc2LCA2NTI4MywgNjUyODksIDY1Mjk5LCA2NTMwNSwgNjUzMTIsIDExMTc5LCAKKyAgICAzMzg0OCwgNjUzMTgsIDY1MzMxLCA2NTM0MCwgNjUzNDYsIDY1MzU1LCA2NTM2MSwgMjQ1ODcsIDY1MzY4LCA2NTM3NSwgCisgICAgNjUzODUsIDY1Mzg4LCAzMzc5MiwgNjUzOTMsIDY1NDAwLCA2NTQwNSwgNjU0MDksIDY1NDEzLCA2NTQxOCwgNjU0MjIsIAorICAgIDYzMDYsIDY1NDI3LCA2NTQzMiwgNjU0MzcsIDM2MzgyLCAzNjM4NywgNjU0NDEsIDM2NDAxLCA2NTQ0NiwgMzY0MDYsIAorICAgIDY1NDUxLCA2NTQ1NywgMzY0MTgsIDM2NDI0LCAzNjQzMCwgNjU0NjIsIDY1NDY4LCAyMzU3NywgNjU0NzksIDY1NDgyLCAKKyAgICA2NTQ5NCwgNjU1MDIsIDMzODcxLCA2NTUwNiwgNjU1MTUsIDY1NTI1LCA2NTUzNCwgMzM4ODEsIDY1NTM5LCA2NTU0NiwgCisgICAgNjU1NTUsIDY1NTYxLCA2NTU2OSwgNjU1NzYsIDYyNzcsIDQ1NTksIDY1NTgxLCAzMzgwMywgNjU1ODcsIDY1NTkwLCAKKyAgICA2NTU5NiwgNjU2MDMsIDY1NjA4LCA2NTYxMywgMjQ0OTcsIDY1NjE3LCA2NTYyMywgNjU2MjksIDY1NjM0LCA2NTYzOSwgCisgICAgNjU2NDMsIDY1NjQ5LCA2NTY1NSwgMzUwNTUsIDk1MywgMzc0NjksIDM5MTk2LCAzOTIwMiwgMzM5MTIsIDMzOTE3LCAKKyAgICA2NTY2MCwgNjU2NjQsIDY1NjY4LCA2NTY3MSwgNjU2ODQsIDY1NjkwLCA2NTY5NCwgNjU2OTcsIDY1NzAyLCAzNTM3NiwgCisgICAgNjU3MDYsIDMyNjA1LCAyMjI4MCwgNjU3MTIsIDYyMDYsIDYyMTQsIDkzMjIsIDY1NzE1LCA2NTcyMCwgNjU3MjUsIDY1NzMwLCAKKyAgICA2NTczNSwgNjU3NDAsIDY1NzQ1LCA2NTc1MCwgNjU3NTUsIDY1NzYwLCA2NTc2NiwgNjU3NzEsIDY1Nzc2LCA2NTc4MiwgCisgICAgNjU3ODcsIDY1NzkyLCA2NTc5NywgNjU4MDIsIDY1ODA3LCA2NTgxMiwgNjU4MTgsIDY1ODIzLCA2NTgyOSwgNjU4MzQsIAorICAgIDY1ODM5LCA2NTg0NCwgNjU4NDksIDY1ODU0LCA2NTg1OSwgNjU4NjQsIDY1ODY5LCA2NTg3NCwgNjU4NzksIDY1ODg1LCAKKyAgICA2NTg5MCwgNjU4OTUsIDY1OTAwLCA2NTkwNSwgNjU5MTAsIDY1OTE1LCA2NTkyMSwgNjU5MjYsIDY1OTMxLCA2NTkzNiwgCisgICAgNjU5NDEsIDY1OTQ2LCA2NTk1MSwgNjU5NTYsIDY1OTYxLCA2NTk2NiwgNjU5NzIsIDY1OTc3LCA2NTk4MiwgNjU5ODcsIAorICAgIDY1OTkyLCA2NTk5OCwgNjYwMDQsIDY2MDA5LCA2NjAxNSwgNjYwMjAsIDY2MDI1LCA2NjAzMCwgNjYwMzUsIDY2MDQwLCAKKyAgICAxNDk2LCAyMjMsIDY2MDQ1LCA2NjA0OSwgNjYwNTMsIDY2MDU3LCAyNjI3MiwgNjYwNjEsIDY2MDY1LCA2NjA3MCwgNjYwNzQsIAorICAgIDY2MDc5LCA2NjA4MywgNjYwODgsIDY2MDkzLCA2NjA5OCwgNjYxMDIsIDY2MTA2LCA2NjExMSwgNjYxMTUsIDE0MDc2LCAKKyAgICA2NjEyMCwgNjYxMjQsIDY2MTMxLCA2NjE0MSwgMTYwMjQsIDY2MTUwLCA2NjE1OSwgNjYxNjMsIDY2MTY4LCA2NjE3MywgCisgICAgNjYxNzcsIDY2MTgxLCAyNjA2NiwgMzA1NCwgNjYxODUsIDY2MTkxLCAxODMwOSwgNjYxOTUsIDY2MjA0LCA2NjIxMiwgCisgICAgNjYyMTgsIDY2MjMwLCA2NjI0MiwgNjYyNDYsIDY2MjUxLCA2NjI1NSwgNjYyNjEsIDY2MjY3LCA2NjI3MiwgNjYyODIsIAorICAgIDY2MjkyLCA2NjI5OCwgNjYzMDMsIDY2MzA3LCA2NjMxMywgNjYzMTgsIDY2MzI1LCA2NjMzMSwgNjYzMzYsIDY2MzQ1LCAKKyAgICA2NjM1NCwgNjYzNjIsIDE2NDEyLCA2NjM2NiwgNjYzNzUsIDY2MzgzLCA2NjM5NSwgNjY0MDYsIDY2NDE3LCA2NjQyNiwgCisgICAgNjY0MzAsIDY2NDM5LCA2NjQ0NywgNjY0NTcsIDY2NDY1LCA2NjQ3MSwgNjY0NzYsIDY2NDgyLCA2NjQ4NywgNjY0OTgsIDg1LCAKKyAgICAzMjQxMCwgNjY1MDQsIDI3NDgyLCAyNzQ5MiwgNjY1MTAsIDY2NTE3LCA2NjUyMywgNjY1MjcsIDY2NTM3LCA2NjU0OCwgCisgICAgNjY1NTYsIDY2NTY1LCA2NjU3MCwgNjY1NzUsIDY2NTgwLCA2NjU4NCwgNjY1ODgsIDE4MjYzLCA2NjU5NiwgNjY2MDAsIAorICAgIDY2NjA2LCA2NjYxNiwgNjY2MjMsIDY2NjI5LCA2NjYzNSwgMzY0ODEsIDY2NjM5LCA2NjY0MSwgNjY2NDQsIDY2NjUwLCAKKyAgICA2NjY1NCwgNjY2NjQsIDY2NjcwLCA2NjY3NywgNjY2ODQsIDE0MDEzLCA2NjY5MiwgNjY2OTgsIDY2NzA3LCA2NjcxNiwgCisgICAgNjY3MjIsIDY2NzI4LCA2NjczNCwgNjY3MzksIDY2NzQ2LCA2Njc1MywgNjY3NTksIDY2NzY3LCA2Njc4MCwgNjY3ODksIAorICAgIDY2Nzk4LCA2NjgwMywgNjY4MDcsIDY2ODEzLCA2NjgxOSwgNjY4MjYsIDY2ODMzLCA2Njg0MCwgNjY4NDcsIDY2ODU0LCAKKyAgICA2Njg1OSwgNjY4NjMsIDY2ODY3LCA2Njg3MCwgNjY4ODAsIDY2ODg0LCA2Njg5NiwgNjY5MDUsIDY2OTA5LCA2NjkxNCwgCisgICAgNjY5MTgsIDY2OTI0LCA2NjkyOSwgNjY5MzYsIDY2OTQ1LCA2Njk1MywgNjY5NjEsIDY2OTY2LCA2Njk3MCwgNjY5NzUsIAorICAgIDY2OTgwLCA2Njk5MCwgNjY5OTgsIDY3MDAzLCA2NzAwNywgNjcwMTEsIDY3MDE3LCA2NzAyNSwgNjcwMzIsIDY3MDQ0LCAKKyAgICA2NzA1MiwgNjcwNjMsIDY3MDY5LCA2NzA3OSwgNjcwODUsIDY3MDg5LCA2NzA5NiwgNjcxMDIsIDY3MTA3LCA2NzExMSwgCisgICAgNjcxMTUsIDY3MTE5LCA2NzEyOCwgNjcxMzcsIDY3MTQ2LCA2NzE1MiwgNjcxNTgsIDY3MTY0LCA2NzE2OSwgNjcxNzYsIAorICAgIDY3MTgyLCA2NzE5MCwgNjcxOTcsIDEzMTU2LCA2NzIwMywgNjcyMDksIDY3MjEzLCAxNTAwOSwgNjcyMTcsIDY3MjIyLCAKKyAgICA2NzIzMiwgNjcyNDEsIDY3MjQ3LCA2NzI1MywgNjcyNjEsIDY3MjY4LCA2NzI3MiwgNjcyNzYsIDY3MjgyLCA2NzI5MCwgCisgICAgNjcyOTcsIDY3MzAzLCA2NzMxNCwgNjczMTgsIDY3MzIyLCA2NzMyNiwgNjczMjksIDY3MzM1LCA2NzM0MCwgNjczNDUsIAorICAgIDY3MzQ5LCA2NzM1MywgNjczNjIsIDY3MzcwLCA2NzM3NywgNjczODMsIDY3MzkwLCAyNTE1MiwgNDE2MzUsIDY3Mzk1LCAKKyAgICA2NzQwMywgNjc0MDcsIDY3NDExLCA2NzQxNCwgNjc0MjIsIDY3NDI5LCA2NzQzNSwgNjc0NDQsIDY3NDUyLCA2NzQ1OCwgCisgICAgNjc0NjMsIDY3NDY3LCA2NzQ3MiwgNjc0NzYsIDY3NDgwLCA2NzQ4NSwgNjc0OTQsIDY3NDk4LCA2NzUwNSwgMzkzMDUsIAorICAgIDY3NTA5LCA2NzUxNSwgNjc1MTksIDY3NTI3LCA2NzUzMywgNjc1MzgsIDY3NTQ5LCA2NzU1NywgNjc1NjMsIDIzNzIwLCAKKyAgICA2NzU3MiwgNjc1NzksIDY3NTg2LCA2NzU5MywgNjc2MDAsIDY3NjA3LCA0NDg4MSwgMTM4NTEsIDY3NjE0LCA2NzYyMSwgCisgICAgNjc2MjYsIDM2NTE3LCA2NDA0LCA2NzYzMiwgNjc2MzcsIDY3NjQyLCA2NzY0OCwgNjc2NTQsIDY3NjYwLCA2NzY2NSwgCisgICAgNjc2NzAsIDY3Njc1LCA2NzY4MCwgNjc2ODYsIDY3NjkxLCA2NzY5NywgNjc3MDIsIDY3NzA4LCA2NzcxMywgNjc3MTgsIAorICAgIDY3NzIzLCA2NzcyOCwgNjc3MzMsIDY3NzM4LCA2Nzc0MywgNjc3NDksIDY3NzU0LCA2Nzc2MCwgNjc3NjUsIDY3NzcwLCAKKyAgICA2Nzc3NSwgNjc3ODAsIDY3Nzg1LCA2Nzc5MCwgNjc3OTYsIDY3ODAxLCA2NzgwNiwgNjc4MTEsIDY3ODE2LCA2NzgyMSwgCisgICAgNjc4MjYsIDY3ODMxLCA2NzgzNiwgNjc4NDEsIDY3ODQ2LCA2Nzg1MiwgNjc4NTcsIDY3ODYyLCA2Nzg2NywgNjc4NzIsIAorICAgIDY3ODc3LCA2Nzg4MiwgNjc4ODcsIDY3ODkyLCA2Nzg5OCwgNjc5MDMsIDY3OTA4LCA2NzkxMywgNjc5MTgsIDY3OTIzLCAKKyAgICA2NzkyOCwgNjc5MzMsIDY3OTM4LCA2Nzk0MywgNjc5NDgsIDY3OTUzLCA2Nzk1OCwgNjc5NjQsIDE4MzksIDI0MCwgNDAwNjcsIAorICAgIDY3OTY5LCA2Nzk3MiwgNjc5NzcsIDY3OTgxLCA2Nzk4NCwgMzM5MSwgNjc5ODksIDY3OTk0LCA2Njk1NywgNjgwMDUsIAorICAgIDY4MDE1LCA2ODAyMiwgNjgwMzEsIDY4MDQ3LCA2ODA1NiwgNjgwNjYsIDY4MDc2LCA2ODA4NSwgNjgwOTMsIDY4MTA3LCAKKyAgICA2ODExNSwgNjgxMTksIDY4MTIyLCA2ODEyOSwgNjgxMzUsIDY4MTQ2LCA2ODE1OCwgNjgxNjksIDY4MTc4LCA2ODE4NSwgCisgICAgMTI3NywgMjQzODYsIDY4MTk1LCAyNjEwLCA2ODE5OSwgNjgyMDgsIDExMTksIDE4MjM2LCAyMTc5NCwgNjgyMTYsIDY4MjI0LCAKKyAgICA2ODIzOCwgNjgyNTEsIDY4MjU1LCA2ODI2MCwgNjgyNjUsIDY4MjcwLCA2ODI3NiwgNjgyODIsIDY4Mjg3LCA4NzYyLCAKKyAgICA2ODI5MiwgNjgyOTYsIDY4MzA0LCAxMTY0NiwgNjgzMDksIDY4MzE1LCA2ODMyNCwgNjgzMzIsIDE3MjEsIDExNjU4LCA4MzUsIAorICAgIDYzNDAsIDY4MzM2LCA2ODM0NSwgNjgzNTUsIDI0MDAsIDI4MjcxLCA2ODM2NCwgNjgzNzAsIDE3NzczLCAyODI4NiwgCisgICAgNjgzNzYsIDQxMDQsIDEyMDMyLCA2ODM4MiwgNjgzODksIDYzNzU5LCA2ODM5MywgNjgzOTcsIDY4NDAzLCA2ODQwOCwgCisgICAgNjg0MTMsIDQxMjgsIDE4MCwgMTQ5MTcsIDY4NDE4LCA2ODQzMCwgNjg0MzQsIDY4NDQwLCAyOTA0OSwgNjg0NDQsIDEyMDIwLCAKKyAgICAyNzUwLCA0LCA2ODQ0OSwgNjg0NTksIDY4NDcwLCA2ODQ3NiwgNjg0ODcsIDY4NDk0LCA2ODUwMCwgNjg1MDYsIDY4NTE0LCAKKyAgICA2ODUyMSwgNjg1MjcsIDY4NTM3LCA2ODU0NywgNjg1NTcsIDY4NTY2LCAyNDU3NCwgMTI4OSwgNjg1NzEsIDY4NTc1LCAKKyAgICA2ODU3OSwgNjg1ODUsIDY4NTg5LCAyNzczLCAyNzc5LCA4NzU5LCAyMjc1LCA2ODU5MywgNjg1OTcsIDY4NjA2LCA2ODYxNCwgCisgICAgNjg2MjUsIDY4NjMzLCA2ODY0MSwgNjg2NDcsIDY4NjUyLCA2ODY2MywgNjg2NzQsIDY4NjgyLCA2ODY4OCwgMTAxNzksIAorICAgIDY4NjkzLCA2ODcwMSwgNjg3MDUsIDY4NzA5LCA2ODcxNCwgNjg3MTgsIDY4NzMwLCAyOTQ1NiwgMTU5NzcsIDY4NzM3LCAKKyAgICA2ODc0NywgNjg3NTMsIDY4NzU5LCAxMDI4MSwgNjg3NjksIDY4NzgwLCA2ODc5MCwgNjg3OTksIDY4ODAzLCA2ODgxMCwgCisgICAgMTEyMSwgMjYwMywgNjg4MjAsIDY4ODI1LCA2ODgzMywgNjg4NDEsIDY4ODUyLCA2ODg1OSwgNjg4NzMsIDE0ODQ2LCA0NTMsIAorICAgIDY4ODgzLCA2ODg4NywgNjg4OTUsIDY4OTA0LCA2ODkxMiwgNjg5MTgsIDY4OTMyLCA2ODkzOSwgNjg5NDUsIDY4OTU0LCAKKyAgICA2ODk2MSwgNjg5NzEsIDY4OTc5LCA2ODk4NiwgNjg5OTQsIDY5MDAxLCAzOTQxLCAxNDMsIDY5MDA5LCA2OTAyMCwgNjkwMjQsIAorICAgIDY5MDM2LCA2OTA0MiwgMTIyMDIsIDE2NywgNjkwNDcsIDY5MDUyLCA2OTA1NiwgNjkwNjMsIDY5MDY5LCA2OTA3NywgCisgICAgNjkwODQsIDkwNjUsIDY5MDkxLCA2OTEwMCwgNjkxMDgsIDQwMTAsIDY5MTIxLCA0MDI3LCA2OTEyNSwgMjgyMywgNDk0LCAKKyAgICA2OTEzMCwgNjkxNDMsIDY5MTQ4LCAxODM4LCA3MzYsIDY5MTUyLCA0MDMxLCA2OTE2MCwgNjkxNjYsIDY5MTcwLCA4MTMsIAorICAgIDY5MTgwLCA2OTE4OSwgNjkxOTQsIDE1NzM4LCAxNTc0NSwgNDgyNDMsIDY5MTk4LCA0MDU2LCAzOTUxLCAxMzczNCwgCisgICAgNjkyMDYsIDY5MjEzLCA2OTIxOCwgMjQ2MzgsIDY5MjIyLCA2OTIyOSwgNjkyMzUsIDY5MjQwLCA2OTI0NSwgMTU3NTgsIAorICAgIDE2MSwgNjkyNTAsIDY5MjYyLCA2OTI2OCwgNjkyNzYsIDI4NDAsIDE3NTMsIDY5Mjg0LCA2OTI4NiwgNjkyOTEsIDY5Mjk2LCAKKyAgICA2OTMwMSwgNjkzMDcsIDY5MzEyLCA2OTMxNywgNjkzMjIsIDY5MzI3LCA2OTMzMiwgNjkzMzcsIDY5MzQzLCA2OTM0OCwgCisgICAgNjkzNTMsIDY5MzU4LCA2OTM2MywgNjkzNjgsIDY5MzczLCA2OTM3OCwgNjkzODMsIDY5Mzg5LCA2OTM5NCwgNjkzOTksIAorICAgIDY5NDA0LCA2OTQxMCwgNjk0MTUsIDY5NDIxLCA2OTQyNiwgNjk0MzEsIDY5NDM2LCA2OTQ0MSwgNjk0NDYsIDY5NDUxLCAKKyAgICA2OTQ1NiwgNjk0NjIsIDY5NDY3LCA2OTQ3MywgNjk0NzgsIDY5NDgzLCA2OTQ4OCwgNjk0OTMsIDY5NDk4LCA2OTUwMywgCisgICAgNjk1MDgsIDY5NTEzLCA2OTUxOSwgNjk1MjUsIDY5NTMwLCA2OTUzNSwgNjk1NDEsIDY5NTQ2LCA2OTU1MCwgNjk1NTQsIAorICAgIDY5NTU5LCA2OTU2NSwgNjk1NjksIDY5NTc1LCA2OTU4MCwgNjk1ODUsIDY5NTkxLCA2OTU5NiwgNjk2MDAsIDY5NjA1LCAKKyAgICA2OTYxMCwgNjk2MTQsIDY5NjE3LCA2OTYxOSwgNjk2MjMsIDY5NjI2LCA2OTYzMSwgNjk2MzUsIDY5NjQwLCA2OTY0NCwgCisgICAgNjk2NDgsIDY5NjUyLCA2OTY2MSwgNjk2NjUsIDM0MDk3LCA2OTY2OCwgMzQxMDIsIDY5Njc1LCA2OTY4MCwgMzQxMDcsIAorICAgIDY5Njg5LCA2OTY5OCwgMzQxMTMsIDY5NzAzLCAzNDExOCwgNjk3MTIsIDY5NzE3LCAxMjIzNCwgNjk3MjEsIDY5NzI2LCAKKyAgICA2OTczMSwgMzQxMjMsIDY5NzM1LCA0MzExNSwgNjk3MzksIDY5NzQyLCA2OTc0NiwgODQzMCwgNjk3NTIsIDY5NzU3LCAKKyAgICA2OTc2MSwgMzgyNywgMzQxMjgsIDY5NzY0LCA2OTc2OCwgNjk3NzEsIDY5Nzc2LCA2OTc4MCwgNjk3ODYsIDY5Nzk0LCAKKyAgICA2OTgwNywgNjk4MTYsIDY5ODIyLCA2OTgyNywgNjk4MzMsIDY5ODM3LCA2OTg0MywgNjk4NTEsIDY5ODU2LCA2OTg2MCwgCisgICAgNjk4NjcsIDY5ODczLCA2OTg4MSwgNjk4OTAsIDY5ODk4LCAzNDEzMSwgNjk5MDUsIDY5OTE1LCA2OTkyOCwgNjk5MzMsIAorICAgIDY5OTM4LCA2OTk0MiwgNjk5NTEsIDY5OTU3LCA2OTk2NCwgNjk5NzUsIDY5OTg3LCA2OTk5NCwgNzAwMDMsIDcwMDEyLCAKKyAgICA3MDAyMSwgNzAwMjgsIDcwMDM0LCA3MDA0MSwgNzAwNDksIDcwMDU2LCA3MDA2NCwgNzAwNzMsIDcwMDgxLCA3MDA4OCwgCisgICAgNzAwOTYsIDcwMTA1LCA3MDExMywgNzAxMjIsIDcwMTMyLCA3MDE0MSwgNzAxNDksIDcwMTU2LCA3MDE2NCwgNzAxNzMsIAorICAgIDcwMTgxLCA3MDE5MCwgNzAyMDAsIDcwMjA5LCA3MDIxNywgNzAyMjYsIDcwMjM2LCA3MDI0NSwgNzAyNTUsIDcwMjY2LCAKKyAgICA3MDI3NiwgNzAyODUsIDcwMjkzLCA3MDMwMCwgNzAzMDgsIDcwMzE3LCA3MDMyNSwgNzAzMzQsIDcwMzQ0LCA3MDM1MywgCisgICAgNzAzNjEsIDcwMzcwLCA3MDM4MCwgNzAzODksIDcwMzk5LCA3MDQxMCwgNzA0MjAsIDcwNDI5LCA3MDQzNywgNzA0NDYsIAorICAgIDcwNDU2LCA3MDQ2NSwgNzA0NzUsIDcwNDg2LCA3MDQ5NiwgNzA1MDUsIDcwNTE1LCA3MDUyNiwgNzA1MzYsIDcwNTQ3LCAKKyAgICA3MDU1OSwgNzA1NzAsIDcwNTgwLCA3MDU4OSwgNzA1OTcsIDcwNjA0LCA3MDYxMiwgNzA2MjEsIDcwNjI5LCA3MDYzOCwgCisgICAgNzA2NDgsIDcwNjU3LCA3MDY2NSwgNzA2NzQsIDcwNjg0LCA3MDY5MywgNzA3MDMsIDcwNzE0LCA3MDcyNCwgNzA3MzMsIAorICAgIDcwNzQxLCA3MDc1MCwgNzA3NjAsIDcwNzY5LCA3MDc3OSwgNzA3OTAsIDcwODAwLCA3MDgwOSwgNzA4MTksIDcwODMwLCAKKyAgICA3MDg0MCwgNzA4NTEsIDcwODYzLCA3MDg3NCwgNzA4ODQsIDcwODkzLCA3MDkwMSwgNzA5MTAsIDcwOTIwLCA3MDkyOSwgCisgICAgNzA5MzksIDcwOTUwLCA3MDk2MCwgNzA5NjksIDcwOTc5LCA3MDk5MCwgNzEwMDAsIDcxMDExLCA3MTAyMywgNzEwMzQsIAorICAgIDcxMDQ0LCA3MTA1MywgNzEwNjMsIDcxMDc0LCA3MTA4NCwgNzEwOTUsIDcxMTA3LCA3MTExOCwgNzExMjgsIDcxMTM5LCAKKyAgICA3MTE1MSwgNzExNjIsIDcxMTc0LCA3MTE4NywgNzExOTksIDcxMjEwLCA3MTIyMCwgNzEyMjksIDcxMjM3LCA3MTI0NCwgCisgICAgNzEyNTIsIDcxMjYxLCA3MTI2OSwgNzEyNzgsIDcxMjg4LCA3MTI5NywgNzEzMDUsIDcxMzE0LCA3MTMyNCwgNzEzMzMsIAorICAgIDcxMzQzLCA3MTM1NCwgNzEzNjQsIDcxMzczLCA3MTM4MSwgNzEzOTAsIDcxNDAwLCA3MTQwOSwgNzE0MTksIDcxNDMwLCAKKyAgICA3MTQ0MCwgNzE0NDksIDcxNDU5LCA3MTQ3MCwgNzE0ODAsIDcxNDkxLCA3MTUwMywgNzE1MTQsIDcxNTI0LCA3MTUzMywgCisgICAgNzE1NDEsIDcxNTUwLCA3MTU2MCwgNzE1NjksIDcxNTc5LCA3MTU5MCwgNzE2MDAsIDcxNjA5LCA3MTYxOSwgNzE2MzAsIAorICAgIDcxNjQwLCA3MTY1MSwgNzE2NjMsIDcxNjc0LCA3MTY4NCwgNzE2OTMsIDcxNzAzLCA3MTcxNCwgNzE3MjQsIDcxNzM1LCAKKyAgICA3MTc0NywgNzE3NTgsIDcxNzY4LCA3MTc3OSwgNzE3OTEsIDcxODAyLCA3MTgxNCwgNzE4MjcsIDcxODM5LCA3MTg1MCwgCisgICAgNzE4NjAsIDcxODY5LCA3MTg3NywgNzE4ODYsIDcxODk2LCA3MTkwNSwgNzE5MTUsIDcxOTI2LCA3MTkzNiwgNzE5NDUsIAorICAgIDcxOTU1LCA3MTk2NiwgNzE5NzYsIDcxOTg3LCA3MTk5OSwgNzIwMTAsIDcyMDIwLCA3MjAyOSwgNzIwMzksIDcyMDUwLCAKKyAgICA3MjA2MCwgNzIwNzEsIDcyMDgzLCA3MjA5NCwgNzIxMDQsIDcyMTE1LCA3MjEyNywgNzIxMzgsIDcyMTUwLCA3MjE2MywgCisgICAgNzIxNzUsIDcyMTg2LCA3MjE5NiwgNzIyMDUsIDcyMjE1LCA3MjIyNiwgNzIyMzYsIDcyMjQ3LCA3MjI1OSwgNzIyNzAsIAorICAgIDcyMjgwLCA3MjI5MSwgNzIzMDMsIDcyMzE0LCA3MjMyNiwgNzIzMzksIDcyMzUxLCA3MjM2MiwgNzIzNzIsIDcyMzgzLCAKKyAgICA3MjM5NSwgNzI0MDYsIDcyNDE4LCA3MjQzMSwgNzI0NDMsIDcyNDU0LCA3MjQ2NiwgNzI0NzksIDcyNDkxLCA3MjUwNCwgCisgICAgNzI1MTgsIDcyNTMxLCA3MjU0MywgNzI1NTQsIDcyNTY0LCA3MjU3MywgNzI1ODEsIDcyNTg4LCA3MjU5MywgODI2NiwgCisgICAgNzI2MDAsIDM0MTQxLCA3MjYwNSwgNzI2MTAsIDM0MTQ2LCA3MjYxNiwgMjE5MDIsIDM0MTUxLCA3MjYyMSwgNzI2MjcsIAorICAgIDcyNjM1LCA3MjY0MSwgNzI2NDcsIDcyNjU0LCA3MjY2MSwgNzI2NjYsIDcyNjcwLCA3MjY3NCwgNzI2NzcsIDcyNjgxLCAKKyAgICA3MjY5MCwgNzI2OTksIDcyNzA3LCA3MjcxMywgNzI3MjUsIDcyNzM2LCA3Mjc0MCwgMzExNiwgODI0MSwgNzI3NDUsIAorICAgIDcyNzQ4LCA3Mjc1MCwgNzI3NTQsIDcyNzU4LCA3Mjc2MiwgNzI3NjgsIDcyNzczLCAyNzEzNiwgNzI3NzgsIDcyNzgyLCAKKyAgICA3Mjc4NSwgNzI3OTAsIDcyNzk0LCA3MjgwMSwgNzI4MDcsIDcyODExLCA2MzYwLCA3MjgxNSwgMzQxNjgsIDcyODIwLCAKKyAgICA3MjgyNywgNzI4MzYsIDcyODQ0LCA3Mjg1NSwgNzI4NjMsIDcyODcyLCA3Mjg4MCwgNzI4ODcsIDcyODk0LCA3MjkwMCwgCisgICAgNzI5MTEsIDM0MTczLCA3MjkxNiwgNzI5MjcsIDcyOTM5LCA3Mjk0NywgNzI5NTgsIDcyOTY3LCA3Mjk3OCwgNzI5ODMsIAorICAgIDcyOTkxLCAyNTc2LCA3Mjk5NiwgMzU5NDEsIDczMDA5LCA3MzAxMywgNzMwMjUsIDczMDMzLCA3MzAzOCwgNzMwNDYsIAorICAgIDE4NDM3LCA3MzA1NywgNzMwNjMsIDczMDcwLCA3MzA3OCwgNzMwODQsIDM0MTgzLCA3MzA4OSwgNDA1MCwgNjEyMzMsIAorICAgIDczMDk2LCA3MzA5OSwgNzMxMDcsIDczMTIwLCA3MzEzMywgNzMxNDYsIDczMTU5LCA3MzE2NiwgNzMxNzcsIDczMTg2LCAKKyAgICA0NDY5OCwgNDQ3MDMsIDczMTkxLCA3MzE5NSwgNzMyMDMsIDczMjEwLCA3MzIxOSwgNzMyMjcsIDczMjMzLCA3MzI0MiwgCisgICAgNzMyNTAsIDczMjU4LCA3MzI2MiwgNzMyNzEsIDczMjgwLCA3MzI5MCwgNzMzMDMsIDczMzE2LCA3MzMyNiwgMzQxODgsIAorICAgIDczMzMyLCA3MzMzOSwgNzMzNDUsIDczMzUxLCAzNDE5NCwgNzMzNTYsIDczMzU5LCA3MzM2MywgNzMzNzEsIDczMzgwLCAKKyAgICA0NDQzNiwgNzMzODgsIDczMzk3LCA3MzQwNSwgNzM0MTIsIDczNDIwLCA3MzQzMCwgNzM0MzksIDczNDQ4LCA3MzQ1NywgCisgICAgNzM0NjUsIDczNDc2LCA3MzQ5MSwgNzM1MDEsIDk2NTYsIDIyNTcyLCA3MzUxMCwgNzM1MTUsIDczNTIwLCA3MzUyNCwgCisgICAgNzM1MjksIDczNTMzLCA3MzUzOCwgNzM1NDQsIDczNTQ5LCA3MzU1NCwgNzM1NjAsIDczNTY1LCA3MzU3MCwgMjI1MzcsIAorICAgIDczNTc1LCA3MzU4MiwgNzM1OTAsIDczNTk4LCA3MzYwNiwgNzM2MTEsIDczNjE4LCA3MzYyNSwgNzM2MzAsIDIyNTMsIAorICAgIDczNjM0LCA3MzYzOCwgNzM2NDYsIDczNjU0LCAzNDIxMSwgNzM2NjAsIDczNjY2LCA3MzY3OCwgNzM2ODQsIDczNjkxLCAKKyAgICA3MzY5NSwgNzM3MDIsIDczNzA3LCA3MzcxNCwgNzM3MjAsIDczNzI3LCA3MzczOCwgNzM3NDgsIDczNzU4LCA3Mzc3MCwgCisgICAgNzM3NzYsIDczNzg0LCA3Mzc5NCwgNzM4MDQsIDM0MjM4LCA3MzgxMywgNzM4MjIsIDczODI4LCA3Mzg0MCwgNzM4NTEsIAorICAgIDczODU4LCA3Mzg2MywgNzM4NjcsIDczODc1LCA3Mzg4MSwgNzM4ODYsIDczODkxLCA3Mzg5OCwgNzM5MDYsIDczOTE4LCAKKyAgICA3MzkyOCwgNzM5MzcsIDczOTQ2LCA3Mzk1MywgMzU3OTQsIDI0OTUzLCA3Mzk1OSwgNzM5NjQsIDczOTY4LCA3Mzk3MiwgCisgICAgNzM5NzcsIDczOTg1LCA3Mzk5MSwgNzQwMDIsIDc0MDE1LCA3NDAyMCwgNzQwMjcsIDM0MjQzLCA3NDAzMiwgNzQwNDQsIAorICAgIDc0MDUzLCA3NDA2MSwgNzQwNzEsIDc0MDgyLCA3NDA5NSwgNzQxMDIsIDc0MTExLCA3NDEyMCwgNzQxMjgsIDc0MTMzLCAKKyAgICA3NDEzOSwgMTQ4NSwgNzQxNDQsIDc0MTQ5LCA3NDE1NCwgNzQxNTksIDc0MTY1LCA3NDE3MCwgNzQxNzUsIDc0MTgxLCAKKyAgICA3NDE4NywgNzQxOTIsIDc0MTk2LCA3NDIwMSwgNzQyMDYsIDc0MjExLCA2MTc2OSwgNzQyMTYsIDc0MjIxLCA3NDIyNiwgCisgICAgNzQyMzEsIDc0MjM3LCA3NDI0MywgNzQyNDgsIDc0MjUyLCA3NDI1NywgNzQyNjIsIDc0MjY3LCA3NDI3MywgNzQyNzgsIAorICAgIDc0Mjg0LCA3NDI4OSwgNzQyOTQsIDc0Mjk5LCA3NDMwNCwgNzQzMDgsIDc0MzE0LCA3NDMxOSwgNzQzMjgsIDc0MzMzLCAKKyAgICA3NDMzOCwgNzQzNDMsIDc0MzQ4LCA3NDM1MiwgNzQzNTksIDc0MzY1LCA0MzE2LCAxODA4MywgMzA4MSwgNzQzNzAsIAorICAgIDc0Mzc0LCA3NDM3OSwgNzQzODMsIDc0Mzg3LCA3NDM5MSwgNDg0OTgsIDc0Mzk1LCA3NDMyMCwgNzQzOTcsIDc0NDA3LCAKKyAgICAzNDI1MiwgNzQ0MTAsIDc0NDE1LCA3NDQyNCwgNzQ0MzAsIDYzMjksIDM0MjU3LCA3NDQzNCwgNzQ0NDAsIDc0NDQ1LCAKKyAgICA3NDQ1MSwgNzQ0NTYsIDc0NDYwLCA3NDQ2NywgNzQ0NzIsIDc0NDgyLCA3NDQ5MSwgNzQ0OTUsIDc0NTAxLCA3NDUwNywgCisgICAgNzQ1MTMsIDc0NTE3LCA3NDUyNSwgNzQ1MzIsIDc0NTQwLCA3NDU0OCwgMzQyNjIsIDc0NTU1LCA3NDU1OCwgNzQ1NjUsIAorICAgIDc0NTcxLCA3NDU3NiwgNzQ1ODAsIDc0NTg2LCA3NDU5MywgNzQ1OTgsIDc0NjAyLCA3NDYxMSwgNzQ2MTksIDc0NjI1LCAKKyAgICA3NDYzMCwgMzQyNjcsIDc0NjM3LCA3NDY0NCwgNzQ2NTAsIDc0NjU1LCA3NDY2MSwgNzQ2NjgsIDc0Njc0LCAyMjI5MywgCisgICAgMjg3MzYsIDc0NjgwLCA3NDY4NSwgNzQ2OTEsIDc0Njk1LCA3NDcwNywgNzQzNTMsIDc0MzYwLCAyMjQ2OSwgNzQ3MTcsIAorICAgIDc0NzIyLCA3NDcyOSwgNzQ3MzUsIDc0NzQyLCA3NDc0OCwgNzQ3NTksIDc0NzY0LCA3NDc3MiwgOTM2MSwgNzQ3NzcsIAorICAgIDc0NzgwLCA3NDc4NiwgNzQ3OTAsIDc0Nzk0LCA3NDc5NywgNzQ4MDMsIDM0MDEwLCA0MzE3LCAxMDU5LCAxNDEzMCwgCisgICAgNzQ4MTAsIDc0ODE2LCA3NDgyMiwgNzQ4MjgsIDc0ODM0LCA3NDg0MCwgNzQ4NDYsIDc0ODUyLCA3NDg1OCwgNzQ4NjMsIAorICAgIDc0ODY4LCA3NDg3MywgNzQ4NzgsIDc0ODgzLCA3NDg4OCwgNzQ4OTMsIDc0ODk4LCA3NDkwMywgNzQ5MDgsIDc0OTEzLCAKKyAgICA3NDkxOCwgNzQ5MjMsIDc0OTI5LCA3NDkzNCwgNzQ5MzksIDc0OTQ1LCA3NDk1MCwgNzQ5NTUsIDc0OTYxLCA3NDk2NywgCisgICAgNzQ5NzMsIDc0OTc5LCA3NDk4NSwgNzQ5OTEsIDc0OTk3LCA3NTAwMywgNzUwMDksIDc1MDE0LCA3NTAxOSwgNzUwMjUsIAorICAgIDc1MDMwLCA3NTAzNSwgNzUwNDEsIDc1MDQ2LCA3NTA1MSwgNzUwNTYsIDc1MDYxLCA3NTA2NiwgNzUwNzEsIDc1MDc2LCAKKyAgICA3NTA4MSwgNzUwODYsIDc1MDkxLCA3NTA5NiwgNzUxMDEsIDc1MTA3LCA3NTExMiwgNzUxMTcsIDc1MTIyLCA3NTEyOCwgCisgICAgNzUxMzMsIDc1MTM4LCA3NTE0MywgNzUxNDgsIDc1MTU0LCA3NTE1OSwgNzUxNjQsIDc1MTY5LCA3NTE3NCwgNzUxNzksIAorICAgIDc1MTg0LCA3NTE4OSwgNzUxOTQsIDc1MTk5LCA3NTIwNCwgNzUyMDksIDc1MjE0LCA3NTIxOSwgNzUyMjQsIDc1MjI5LCAKKyAgICA3NTIzNCwgNzUyMzksIDc1MjQ0LCA3NTI0OSwgNzUyNTUsIDc1MjYwLCA3NTI2NSwgNzUyNzAsIDc1Mjc1LCA3NTI4MCwgCisgICAgNzUyODUsIDc1MjkwLCAxODcxLCAxNDcsIDc1Mjk1LCA3NTI5OSwgNzUzMDMsIDc1MzA4LCA3NTMxNiwgNzUzMjAsIDc1MzI3LCAKKyAgICA3NTMzNSwgNzUzMzksIDc1MzUyLCA3NTM2MCwgNzUzNjUsIDc1MzcwLCAyNzU0NSwgNzUzNzQsIDc1Mzc5LCA3NTM4MywgCisgICAgNzUzODgsIDc1MzkyLCA3NTQwMCwgNzU0MDQsIDIxOTEwLCA3NTQwOSwgNzU0MTMsIDY0MDUwLCA3NTQxNywgNzU0MjAsIAorICAgIDc1NDI4LCA3NTQzNiwgNzU0NDQsIDc1NDQ5LCA3NTQ1NCwgNzU0NjEsIDc1NDY3LCA3NTQ3MywgNzU0NzgsIDc1NDg1LCAKKyAgICA3NTQ5MCwgNzU0OTgsIDY4MjQzLCA3NTUwNSwgNzU1MTAsIDc1NTE1LCA3NTUxOSwgMTIzMDEsIDc1NTIzLCA3NTUyOCwgCisgICAgNzU1MzMsIDc1NTM3LCA3NTU0MCwgNzU1NDYsIDc1NTUwLCA3NTU2MCwgNzU1NjksIDc1NTczLCA3NTU3NiwgNzU1ODAsIAorICAgIDc1NTg3LCA3NTYwMCwgNzU2MDYsIDc1NjE0LCA3NTYyMywgNzU2MzQsIDc1NjQ1LCA3NTY1NiwgNzU2NjcsIDc1Njc2LCAKKyAgICA3NTY4MiwgNzU2OTEsIDc1Njk5LCA3NTcwOSwgNzU3MjIsIDc1NzI5LCA3NTc0MCwgNzU3NDYsIDc1NzUxLCA3NTc1NiwgCisgICAgNzU3NjIsIDc1NzY4LCA3NTc3OCwgNzU3ODcsIDc0MDM0LCA3NTc5NSwgNzU4MDEsIDc1ODA5LCA3NTgxNSwgNzU4MjIsIAorICAgIDc1ODMwLCA3NTgzMywgNzU4MzcsIDc1ODQxLCA3NTg0NCwgNzU4NTAsIDc1ODU2LCA3NTg2NCwgNzU4NzYsIDc1ODg4LCAKKyAgICA3NTg5NSwgNzU5MDAsIDc1OTA0LCA3NTkxNSwgNzU5MjMsIDc1OTMwLCA3NTk0MiwgNzU5NTAsIDc1OTU4LCA3NTk2NSwgCisgICAgNzU5NzEsIDc1OTgxLCA3NTk5MCwgNzU5OTUsIDc2MDA1LCA3NjAxNCwgNDM3MjgsIDc2MDIxLCA3NjAyNSwgNzYwMzAsIAorICAgIDc2MDM4LCA3NjA0NSwgNzYwNTEsIDc2MDU1LCA3NjA2NSwgNzYwNzYsIDc2MDg0LCA3NjA5MSwgNzYxMDMsIDc2MTE1LCAKKyAgICA3NjEyNCwgNzI5OTksIDc2MTMxLCA3NjE0MSwgNzYxNTIsIDc2MTY2LCA3NjE3NCwgNzYxODQsIDc2MTkxLCA3NjE5OSwgCisgICAgNzYyMTIsIDc2MjI0LCA3NjIzMywgNzYyNDEsIDc2MjUxLCA3NjI2MiwgNzYyNzQsIDc2MjgzLCA3NjI5MywgNzYzMDAsIAorICAgIDc2MzA5LCA3NjMyNCwgNzYzMzIsIDc2MzQyLCA3NjM1MSwgNzYzNTksIDc2MzcyLCA2MTIwMywgNzYzODcsIDc2Mzk3LCAKKyAgICA3NjQwNiwgNzY0MTgsIDc2NDI4LCA3NjQ0MCwgNzY0NTEsIDc2NDYyLCA3NjQ3MywgNzY0ODMsIDc2NDk0LCA3NjUwMiwgCisgICAgNzY1MDgsIDc2NTE4LCA3NjUyNiwgNzY1MzIsIDMwNDAwLCA3NjUzNywgNzY1NDMsIDc2NTQ4LCA3NjU1NSwgMTAxOTMsIAorICAgIDE4NDU3LCA3NjU2MSwgNzY1NzAsIDc2NTc1LCA3NjU3OSwgNzY1ODYsIDc2NTkyLCA3NjU5NywgNzY2MDIsIDc2NjEwLCAKKyAgICA3NjYxOCwgNzY2MjIsIDc2NjI1LCA3NjYyOCwgNzY2MzAsIDc2NjM3LCA3NjY0MywgNzY2NTQsIDc2NjU5LCA3NjY2MywgCisgICAgNzY2NzAsIDc2Njc2LCA3NjY4MSwgNzY2ODksIDY4NzgyLCA2ODc5MiwgNzY2OTUsIDc2NzAyLCA3NjcxMiwgMTExNjYsIAorICAgIDc2NzE5LCA3NjcyNCwgMzA2MTEsIDc2NzMzLCA3NjczOCwgNzY3NDUsIDc2NzU1LCA3Njc2MywgNzY3NzEsIDc2NzgwLCAKKyAgICA3Njc4NiwgNzY3OTIsIDc2Nzk5LCA3NjgwNiwgNzY4MTEsIDc2ODE1LCA3NjgyMywgNzY4MjgsIDc2ODMzLCA3Njg0MiwgCisgICAgNzY4NTAsIDc2ODU3LCA3Njg2MiwgNzY4NjYsIDc2ODc1LCA3Njg4MSwgNzY4ODQsIDc2ODg4LCA3Njg5NywgNzY5MDcsIAorICAgIDc1MzQ3LCA3NjkxNiwgNzY5MjQsIDc2OTI4LCA3NjkzNCwgNzY5NDUsIDc2OTU1LCAxODQ2NiwgNzY5NjYsIDc2OTc0LCAKKyAgICA3Njk4MiwgMTg0NzgsIDc2OTg5LCA3Njk5MywgNzcwMDIsIDc3MDA5LCA3NzAxMiwgMjg2MTQsIDc3MDE1LCA3NzAxOSwgCisgICAgNzcwMjQsIDc3MDQxLCA3NzA1MywgMTExMjQsIDc3MDY1LCA3NzA3MCwgNzcwNzUsIDc3MDgwLCAyMTk4MywgNzcwODQsIAorICAgIDc3MDg5LCA3NzA5NCwgNzcxMDAsIDc3MTA1LCA2MDA4LCA3NzExMCwgMjE5ODcsIDc3MTE1LCA3NzEyMCwgNzcxMjYsIAorICAgIDc3MTMzLCA3NzEzOCwgNzcxNDMsIDc3MTQ5LCA3NzE1NSwgNzcxNjEsIDc3MTY2LCA3NzE3MiwgNzcxNzYsIDc3MTkwLCAKKyAgICA3NzE5OCwgNzcyMDYsIDc3MjEyLCA3NzIxNywgNzcyMjQsIDc3MjM0LCA3NzI0MywgNzcyNDgsIDc3MjUzLCA3NzI1OCwgCisgICAgNzcyNjYsIDc3MjcxLCA3NzI3NywgNzcyODIsIDc3MjkxLCA2Mjg0OCwgNzcyOTYsIDc3Mjk5LCA3NzMxNywgNzczMzYsIAorICAgIDc3MzQ5LCA3NzM2MywgNzczNzksIDc3Mzg2LCA3NzM5MywgNzc0MDIsIDc3NDA5LCA3NzQxNSwgNzc0MjIsIDc3NDI3LCAKKyAgICA3NzQzMywgNzc0MzksIDc3NDQ3LCA3NzQ1MywgNzc0NTgsIDc3NDYzLCA3NzQ3OSwgMTExMzcsIDc3NDkzLCA3NzUwMCwgCisgICAgNzc1MDgsIDc3NTE0LCA3NzUxOCwgNzc1MjEsIDc3NTI2LCA3NzUzMSwgNzc1MzgsIDc3NTQzLCA3NzU1MiwgNzc1NTcsIAorICAgIDc3NTYzLCA3NzU2OSwgNzc1NzgsIDc3NTg3LCA3NzU5MiwgNzc1OTYsIDc3NjA0LCA3NzYxMywgMTIzMzAsIDc3NjIyLCAKKyAgICA3NzYzMCwgNzc2MzYsIDc3NjQxLCA3NzY0OCwgNzc2NTQsIDEyMzQxLCA3NzY1OSwgNzc2NjIsIDc3NjY3LCAzNDI5NCwgCisgICAgNzc2NzcsIDc3Njg2LCA3NzY5MSwgNzc2OTcsIDc3NzAyLCA3NzcxMCwgNzc3MTcsIDc3NzI4LCA3NzczOCwgNzc3NDMsIAorICAgIDc3NzUxLCA2ODE3MSwgNzc3NTYsIDc3NzYyLCA3Nzc2NywgNzc3NzQsIDc3NzgzLCA3Nzc5MSwgNzc3OTcsIDc3ODAzLCAKKyAgICA3NzgxMCwgNzc4MTYsIDc3ODIwLCAxNzg3OSwgMzA5MCwgNzc4MjUsIDc3ODI5LCA3NzgzMywgNzc4MzksIDc3ODQ4LCAKKyAgICA3Nzg1NCwgNzc4NjEsIDc3ODY1LCA3Nzg4NiwgNzc5MDgsIDc3OTI0LCA3Nzk0MSwgNzc5NjAsIDc3OTY5LCA3Nzk3OSwgCisgICAgNzc5ODcsIDc3OTk0LCA3ODAwMSwgNzgwMDcsIDI4NDg2LCA3ODAyMSwgNzgwMjUsIDc4MDMxLCA3ODAzOSwgNzgwNTEsIAorICAgIDc4MDU3LCA3ODA2NSwgNzgwNzAsIDc4MDc1LCA3ODA3OSwgNzgwODcsIDc4MDk0LCA3ODA5OCwgNzgxMDQsIDc4MTEwLCAKKyAgICA3ODExNSwgMzY3NCwgNDQ4OTgsIDc4MTIxLCA3ODEyNSwgNzgxMjksIDc4MTMzLCA3ODEzOCwgNzgxNDMsIDc4MTQ4LCAKKyAgICA3ODE1NCwgNzgxNjAsIDc4MTY2LCA3ODE3MywgNzgxNzksIDc4MTg2LCA3ODE5MiwgNzgxOTgsIDc4MjAzLCA3ODIwOSwgCisgICAgNzgyMTQsIDc4MjE4LCA3ODIyMywgNzgyMjcsIDc4MjMyLCA0NDkxMywgNzgyMzYsIDc4MjQxLCA3ODI0OSwgNzgyNTMsIAorICAgIDc4MjU4LCA3ODI2NSwgNzgyNzQsIDc4MjgwLCA3ODI4OSwgNzgyOTMsIDc4MzAwLCA3ODMwNCwgNzgzMDcsIDc4MzE0LCAKKyAgICA3ODMyMCwgNzgzMjksIDc4MzM5LCA3ODM0NCwgNzgzNDgsIDc4MzU2LCA3ODM2NSwgNzgzNjksIDc4Mzc3LCA3ODM4MywgCisgICAgNzgzODgsIDc4MzkzLCA3ODM5OSwgNzg0MDUsIDc4NDEwLCA3ODQxNCwgNzg0MjAsIDc4NDI1LCA3ODQyOSwgNzg0MzIsIAorICAgIDc4NDM3LCA3ODQ0NSwgNzg0NTUsIDc4NDYxLCA3ODQ2NiwgNzg0NzYsIDQyMjMxLCA3ODQ4NCwgNzg0OTYsIDc4NTAwLCAKKyAgICA3ODUwNiwgNzg1MTgsIDc4NTI5LCA3ODUzNiwgNzg1NDIsIDc4NTQ5LCA3ODU1NiwgNzg1NjgsIDc4NTc1LCA3ODU4MSwgCisgICAgMjIwNjEsIDc4NTg1LCA3ODU5MywgNzg1OTksIDc4NjA2LCA3ODYxMiwgNzg2MTgsIDc4NjI0LCA3ODYyOSwgNzg2MzQsIAorICAgIDc4NjM5LCA3ODY0OCwgNzg2NTYsIDc4NjY3LCA3MjI1LCA3ODY3MiwgMTczMjgsIDc4Njc4LCA3ODY4MiwgNzg2ODYsIAorICAgIDc4NjkwLCA3ODY5OCwgNzg3MDcsIDc4NzExLCA3ODcxOCwgNzg3MjcsIDc4NzM1LCA3ODc0OCwgNzg3NTQsIDc4MjI4LCAKKyAgICAzMTQ5NSwgNzg3NTksIDc4NzYxLCA3ODc2NiwgNzg3NzEsIDc4Nzc2LCA3ODc4MSwgNzg3ODYsIDc4NzkxLCA3ODc5NiwgCisgICAgNzg4MDEsIDc4ODA2LCA3ODgxMSwgNzg4MTYsIDc4ODIxLCA3ODgyNiwgNzg4MzEsIDc4ODM3LCA3ODg0MiwgNzg4NDcsIAorICAgIDc4ODUyLCA3ODg1NywgNzg4NjIsIDc4ODY3LCA3ODg3MiwgNzg4NzcsIDc4ODgzLCA3ODg4OSwgNzg4OTUsIDc4OTAwLCAKKyAgICA3ODkwNSwgNzg5MTcsIDc4OTIyLCAxODc3LCA0NCwgNzg5MjcsIDc4OTMyLCAzNDMwMCwgNzg5MzYsIDM0MzA1LCAzNDMxMCwgCisgICAgMzQzMTYsIDM0MzIxLCA3ODk0MCwgMzQzMjYsIDIzMDg4LCA3ODk2MiwgNzg5NjYsIDc4OTcwLCA3ODk3NSwgNzg5NzksIAorICAgIDM0MzMwLCA3ODk4MywgNzg5OTEsIDc4OTk4LCAzNDMzNSwgNzkwMDQsIDc5MDA3LCA3OTAxMiwgNzkwMTYsIDc5MDI1LCAKKyAgICAxMDAxOCwgNzkwMzMsIDM0MzQwLCAyMjk1MCwgNzkwMzYsIDc5MDQwLCAxNDExLCA3OTA0NSwgMzQzNTEsIDc5MDQ4LCAKKyAgICA3OTA1MywgMjY5MjEsIDI2OTMxLCAzNjk1NywgNzkwNTgsIDc5MDYzLCA3OTA2OCwgNzkwNzMsIDc5MDc5LCA3OTA4NCwgCisgICAgNzkwOTMsIDc5MDk4LCA3OTEwNywgNzkxMTUsIDc5MTIyLCA3OTEyOCwgNzkxMzMsIDc5MTM4LCA3OTE0MywgNzkxNTMsIAorICAgIDc5MTYyLCA3OTE3MCwgNzkxNzUsIDc5MTgzLCA3OTE4NywgNzkxOTUsIDc5MTk5LCA3OTIwNiwgNzkyMTQsIDM0MTU5LCAKKyAgICAzOTkyMiwgNzkyMjEsIDc5MjI3LCA3OTIzMiwgNzkyMzcsIDEyNzAzLCAyOTY3MSwgNzkyNDIsIDc5MjQ3LCA3OTI1NCwgCisgICAgNzkyNjAsIDc5MjY1LCA3OTI3MywgNzkyODMsIDc5MjkzLCA3OTI5OSwgNzkzMDQsIDc5MzEwLCAxODQ4OCwgNzkzMTcsIAorICAgIDM3ODMyLCA3OTMzMCwgNzkzMzUsIDc5MzQxLCAzMjQ4MiwgNzkzNTQsIDc5MzYwLCA3OTM2NCwgNzkzNzMsIDc5MzgwLCAKKyAgICA3OTM4NiwgNzkzOTQsIDc5NDAzLCA3OTQxMCwgNzk0MTYsIDc5NDE5LCA3OTQyMywgNzk0MjcsIDI3MDYyLCA3OTQzMSwgCisgICAgNzk0MzgsIDc5NDQ0LCA3OTQ1MiwgNzk0NTcsIDI1MTAwLCA3OTQ2MywgNzk0NjYsIDc5NDc0LCA3OTQ4MSwgNzk0ODksIAorICAgIDc5NTAyLCA3OTUxNiwgNzk1MjMsIDc5NTI5LCA3OTUzNiwgNzk1NDIsIDM0MzY1LCA3OTU0NiwgNzk1NTMsIDc5NTYxLCAKKyAgICA3OTU2OSwgNzk1NzUsIDM0MzcwLCA3OTU4MywgNzk1ODksIDc5NTk0LCA3OTYwNCwgNzk2MTAsIDc5NjE5LCAzMjI4OCwgCisgICAgMzYzODgsIDc5NjI3LCA3OTYzMiwgNzk2MzcsIDc5NjQxLCA3OTY0NiwgNzk2NTAsIDc5NjU4LCAxNTczMCwgNDIyNDQsIAorICAgIDc5NjYzLCA3OTY2OCwgMzQzNzUsIDY1NDA3LCA3OTY3MiwgNzk2NzcsIDc5NjgxLCA3OTY4OCwgNzk2OTcsIDc5NzA1LCAKKyAgICA3OTcxMSwgNzk3MTYsIDc5NzIyLCA3OTcyOSwgNzk3MzUsIDc5NzQwLCA3OTc0NSwgNzk3NTYsIDc5NzY1LCA3OTc3NywgCisgICAgNzk3OTIsIDM0NjQyLCA3OTc5OCwgMTc0NDcsIDM0Mzc5LCA3OTgwMiwgNzk4MDksIDI1MjE2LCA3OTgxNSwgNzk4MjIsIAorICAgIDc5ODMxLCA3OTgzOCwgNzk4NDcsIDc5ODUzLCA3OTg1OCwgNzk4NjYsIDc5ODcyLCAzNDM4OSwgNzk4NzcsIDc5ODg2LCAKKyAgICA3ODUyNCwgNzk4OTUsIDc5OTAyLCA3OTkwOCwgNzk5MTQsIDc5OTIzLCA3OTkzMywgNzk5NDEsIDc5OTQ4LCA3OTk1MiwgCisgICAgMzQzOTQsIDc5OTU1LCAzNDQwMCwgMzQ0MDYsIDc5OTYwLCA3OTk2OCwgNzk5NzYsIDc5OTg2LCA3OTk5NSwgODAwMDMsIAorICAgIDgwMDEwLCA4MDAyMCwgMzQ0MTEsIDgwMDI0LCA4MDAyNiwgODAwMzAsIDgwMDM1LCA4MDAzOSwgODAwNDMsIDgwMDQ5LCAKKyAgICA4MDA1NCwgODAwNTgsIDgwMDY5LCA4MDA3NCwgODAwNzksIDMwOTUsIDgwMDgzLCA4MDA5MCwgODAwOTQsIDgwMTAzLCAKKyAgICA4MDExMSwgODAxMTgsIDgwMTIzLCA4MDEyOCwgNjU0NTgsIDgwMTMyLCA4MDEzNSwgODAxNDEsIDgwMTQ5LCA4MDE1NSwgCisgICAgODAxNTksIDgwMTY0LCA4MDE3MSwgODAxNzYsIDgwMTgwLCA4MDE4NiwgMzY0MTksIDgwMTkxLCA4MDE5NCwgODAxOTksIAorICAgIDgwMjAzLCA4MDIwOCwgODAyMTUsIDgwMjIwLCA4MDIyNCwgNDA4MTYsIDgwMjMyLCAyNjk0MCwgMjY5NDksIDgwMjM4LCAKKyAgICA4MDI0NCwgODAyNTAsIDgwMjU1LCA4MDI1OSwgODAyNjIsIDgwMjcyLCA4MDI4MSwgODAyODYsIDgwMjkyLCA4MDI5OSwgCisgICAgODAzMDUsIDgwMzA5LCA4MDMxNywgODAzMjIsIDM2NDI1LCA3NTU0MiwgODAzMjYsIDgwMzM0LCA4MDM0MCwgODAzNDcsIAorICAgIDgwMzUyLCA4MDM1NiwgODAzNjEsIDYxNDE5LCA4MDM2NywgMzY0MzEsIDgwMzcyLCA4MDM3NywgODAzODEsIDgwMzg2LCAKKyAgICA4MDM5MSwgODAzOTYsIDgwNDAwLCA4MDQwNSwgODA0MTAsIDgwNDE2LCA4MDQyMSwgODA0MjYsIDgwNDMyLCA4MDQzOCwgCisgICAgODA0NDMsIDgwNDQ3LCA4MDQ1MiwgODA0NTcsIDgwNDYyLCA4MDQ2NiwgMjUyMTUsIDgwNDcxLCA4MDQ3NiwgODA0ODIsIAorICAgIDgwNDg4LCA4MDQ5NCwgODA0OTksIDgwNTAzLCA4MDUwOCwgODA1MTMsIDgwNTE4LCA4MDUyMiwgODA1MjcsIDgwNTMyLCAKKyAgICA4MDUzNywgODA1NDIsIDQ1MTY4LCA4MDU0NiwgMzQ0MTksIDgwNTU0LCA4MDU1OCwgODA1NjYsIDgwNTc0LCA4MDU4NSwgCisgICAgODA1OTAsIDgwNTk0LCAyMzQyOCwgODA1OTksIDgwNjA1LCA4MDYxMCwgODA2MjAsIDgwNjI3LCA4MDYzMiwgODA2NDAsIAorICAgIDgwNjQ5LCA4MDY1NCwgODA2NTgsIDgwNjYzLCA4MDY3MSwgODA2NzksIDgwNjg2LCA2ODQyNCwgODA2OTIsIDgwNzAwLCAKKyAgICA4MDcwNywgODA3MTgsIDgwNzI0LCA4MDczMCwgMzQ0MjksIDgwNzMzLCA4MDc0MCwgODA3NDgsIDgwNzUzLCA0MjQ0NywgCisgICAgODA3NTcsIDgwNzYyLCA4MDc2OSwgODA3NzQsIDkyMzksIDgwNzc4LCA4MDc4NiwgODA3OTMsIDgwODAwLCA4MDgwOSwgCisgICAgODA4MTYsIDgwODIyLCA4MDgzNiwgMTA0NzMsIDgwODQ0LCA4MDg1MCwgODA4NTQsIDgwODU3LCA4MDg2NSwgODA4NzIsIAorICAgIDgwODc3LCA4MDg5MCwgODA4OTcsIDgwOTAxLCA4MDkwNiwgODA5MTMsIDgwOTE4LCA2MzkzNCwgODA5MjMsIDgwOTI2LCAKKyAgICA4MDkzMywgODA5MzksIDgwOTQzLCA4MDk1MSwgODA5NjAsIDgwOTcwLCA4MDk4MCwgODA5ODksIDgxMDAwLCA4MTAwOCwgCisgICAgODEwMTksIDgxMDI0LCA4MTAyOCwgODEwMzMsIDgxMDM3LCAzNzA4OCwgODEwNDUsIDIyMzU2LCAzNzA5NywgODEwNTAsIAorICAgIDgxMDU1LCA4MTA2MCwgODEwNjUsIDgxMDcwLCA4MTA3NSwgODEwODAsIDgxMDg0LCA4MTA4OSwgODEwOTQsIDgxMDk5LCAKKyAgICA4MTEwNCwgODExMDksIDgxMTE0LCA4MTExOCwgODExMjMsIDgxMTI4LCA4MTEzMiwgODExMzYsIDgxMTQwLCA4MTE0NCwgCisgICAgODExNDksIDgxMTU0LCA4MTE1OCwgODExNjMsIDgxMTY3LCA4MTE3MSwgODExNzYsIDgxMTgxLCA4MTE4NiwgODExOTEsIAorICAgIDgxMTk1LCA4MTIwMCwgODEyMDUsIDgxMjA5LCA4MTIxNCwgODEyMTksIDgxMjI0LCA4MTIyOSwgODEyMzQsIDgxMjM5LCAKKyAgICA4MTI0NCwgODEyNDksIDgxMjU0LCA4MTI1OSwgODEyNjQsIDgxMjY5LCA4MTI3NCwgODEyNzksIDgxMjg0LCA4MTI4OSwgCisgICAgODEyOTQsIDgxMjk5LCA4MTMwNCwgODEzMDksIDgxMzEzLCA4MTMxOCwgODEzMjMsIDgxMzI4LCA4MTMzMywgODEzMzgsIAorICAgIDgxMzQzLCA4MTM0OCwgODEzNTMsIDgxMzU4LCA4MTM2MywgODEzNjgsIDgxMzcyLCA4MTM3NywgODEzODEsIDgxMzg2LCAKKyAgICA4MTM5MSwgODEzOTYsIDgxNDAxLCA4MTQwNiwgODE0MTEsIDgxNDE2LCA4MTQyMSwgODE0MjYsIDgxNDMwLCA4MTQzNCwgCisgICAgODE0MzksIDgxNDQ0LCA4MTQ0OCwgODE0NTMsIDgxNDU4LCA4MTQ2MiwgODE0NjcsIDgxNDcyLCA4MTQ3NywgODE0ODIsIAorICAgIDgxNDg2LCA4MTQ5MSwgODE0OTYsIDgxNTAwLCA4MTUwNSwgODE1MDksIDgxNTEzLCA4MTUxNywgODE1MjEsIDgxNTI2LCAKKyAgICA4MTUzMCwgODE1MzQsIDgxNTM4LCA4MTU0MiwgODE1NDYsIDgxNTUwLCA4MTU1NCwgODE1NTgsIDgxNTYyLCA4MTU2NywgCisgICAgODE1NzIsIDgxNTc3LCA4MTU4MiwgODE1ODcsIDgxNTkyLCA4MTU5NywgODE2MDIsIDgxNjA3LCA4MTYxMiwgODE2MTYsIAorICAgIDgxNjIwLCA4MTYyNCwgODE2MjgsIDgxNjMyLCA4MTYzNiwgODE2NDEsIDgxNjQ1LCA4MTY1MCwgODE2NTQsIDgxNjU5LCAKKyAgICA4MTY2NCwgODE2NjgsIDgxNjcyLCA4MTY3NywgODE2ODEsIDgxNjg1LCA4MTY4OSwgODE2OTMsIDgxNjk3LCA4MTcwMSwgCisgICAgODE3MDUsIDgxNzA5LCA4MTcxMywgODE3MTcsIDgxNzIxLCA4MTcyNSwgODE3MjksIDgxNzMzLCA4MTczOCwgODE3NDMsIAorICAgIDgxNzQ3LCA4MTc1MSwgODE3NTUsIDgxNzU5LCA4MTc2MywgODE3NjcsIDgxNzcyLCA4MTc3NiwgODE3ODAsIDgxNzg0LCAKKyAgICA4MTc4OCwgODE3OTIsIDgxNzk2LCA4MTgwMSwgODE4MDUsIDgxODEwLCA4MTgxNCwgODE4MTgsIDgxODIyLCA4MTgyNiwgCisgICAgODE4MzAsIDgxODM0LCA4MTgzOCwgODE4NDIsIDgxODQ2LCA4MTg1MCwgODE4NTQsIDgxODU5LCA4MTg2MywgODE4NjcsIAorICAgIDgxODcxLCA4MTg3NSwgODE4NzksIDgxODgzLCA4MTg4NywgODE4OTEsIDgxODk1LCA4MTg5OSwgODE5MDMsIDgxOTA4LCAKKyAgICA4MTkxMiwgODE5MTYsIDgxOTIxLCA4MTkyNiwgODE5MzAsIDgxOTM0LCA4MTkzOCwgODE5NDIsIDgxOTQ2LCA4MTk1MCwgCisgICAgODE5NTQsIDgxOTU4LCA4MTk2MywgODE5NjcsIDgxOTcyLCA4MTk3NiwgODE5ODEsIDgxOTg1LCA4MTk5MCwgODE5OTQsIAorICAgIDgyMDAwLCA4MjAwNSwgODIwMDksIDgyMDE0LCA4MjAxOCwgODIwMjMsIDgyMDI3LCA4MjAzMiwgODIwMzYsIDgyMDQxLCAKKyAgICAxNTA0LCA4MjA0NSwgMjg1NCwgMTc1OSwgMTY3NywgODIwNDksIDgyMDUzLCAyODYzLCA4MjA1NywgMTM4MCwgODIwNjIsIAorICAgIDEzMjIsIDgyMDY2LCAyODc1LCA4MjA3MCwgODIwNzcsIDgyMDg0LCA4MjA5OCwgMjg3OSwgNzMyNywgODIxMDcsIDgyMTE1LCAKKyAgICA4MjEyMiwgODIxMzMsIDgyMTQyLCA4MjE0OSwgODIxNjEsIDgyMTc0LCA4MjE4NywgODIxOTgsIDgyMjAzLCA4MjIxMCwgCisgICAgODIyMjIsIDgyMjI2LCAyODgzLCAxMjQwOCwgODIyMzYsIDgyMjQxLCA4MjI1MCwgODIyNjAsIDgyMjY1LCAyODg3LCAKKyAgICA4MjI3MywgODIyNzcsIDgyMjgyLCA4MjI4OSwgODIyOTUsIDgyMzAzLCA4MjMxNSwgMTMyNywgMTM3MzUsIDgyMzI1LCAKKyAgICA4MjMyOSwgODIzMzUsIDgyMzQ5LCA4MjM2MSwgODIzNzMsIDgyMzgzLCA4MjM5MiwgODI0MDEsIDgyNDEwLCA4MjQxOCwgCisgICAgODI0MjksIDgyNDM3LCA0MjAzLCA4MjQ0NywgODI0NTgsIDgyNDY3LCA4MjQ3MywgODI0ODgsIDgyNDk1LCA4MjUwMSwgCisgICAgODI1MDYsIDM3MjI3LCA4MjUxMSwgMjkxMSwgMTM3MzksIDgyNTE1LCA4MjUyMiwgOTE3NywgODI1MzEsIDI5MTYsIDMzODg3LCAKKyAgICA4MjUzNywgNjM2NzUsIDgyNTQ0LCA4MjU1MCwgODI1NjEsIDgyNTY3LCA4MjU3NCwgODI1ODAsIDgyNTg4LCA4MjU5NSwgCisgICAgODI2MDEsIDgyNjExLCA4MjYyMCwgODI2MzEsIDgyNjQwLCA4MjY0NywgODI2NTMsIDgyNjYzLCA4MjY3MSwgODI2NzcsIAorICAgIDgyNjkyLCA4MjY5OCwgODI3MDMsIDgyNzEwLCA4MjcxMywgODI3MTksIDgyNzI2LCA4MjczMiwgODI3NDAsIDgyNzQ5LCAKKyAgICA4Mjc1NywgODI3NjMsIDgyNzcyLCA0NDQzOCwgODI3ODYsIDgyNzkxLCA4Mjc5NywgMTU1MzYsIDgyODAyLCA4MjgxNSwgCisgICAgODI4MjcsIDgyODM2LCA4Mjg0NCwgODI4NTEsIDgyODU1LCA4Mjg1OSwgODI4NjIsIDgyODY5LCA4Mjg3NiwgODI4ODQsIAorICAgIDgyODkyLCA4MjkwMSwgODI5MDksIDE1NDYzLCA4MjkxNywgODI5MjIsIDgyOTI2LCA4MjkzOCwgODI5NDUsIDgyOTU0LCAKKyAgICA3ODEsIDgyOTY0LCA4Mjk3MywgODI5ODQsIDI5MzIsIDgyOTg4LCA4Mjk5MiwgODI5OTgsIDgzMDExLCA4MzAyMywgODMwMzMsIAorICAgIDgzMDQyLCA4MzA1NCwgMjc1OTcsIDgzMDY1LCA4MzA3MywgODMwODIsIDgzMDkzLCA4MzEwNCwgODMxMTQsIDgzMTI0LCAKKyAgICA4MzEzMywgODMxNDEsIDExOTQ0LCA4MzE0OCwgODMxNTIsIDgzMTU1LCA4MzE2MCwgODMxNjUsIDgzMTY5LCA4MzE3NSwgCisgICAgMTMzMiwgODMxODIsIDgzMTg2LCAxMjQ5MCwgODMxOTAsIDgzMjAxLCA4MzIxMCwgODMyMTgsIDgzMjI3LCA4MzIzNSwgCisgICAgODMyNTEsIDgzMjYyLCA4MzI3MSwgODMyNzksIDgzMjkxLCA4MzMwMiwgODMzMTgsIDgzMzI4LCA4MzM0OSwgODMzNjMsIAorICAgIDgzMzc2LCA4MzM4NCwgODMzOTEsIDczNzMsIDgzNDA0LCA4MzQwOSwgODM0MTUsIDYwNzgsIDgzNDIxLCA4MzQyNCwgCisgICAgODM0MzEsIDgzNDQxLCA4Mzk1LCA4MzQ0OCwgODM0NTMsIDgzNDU4LCA4MzQ2MywgODM0NzEsIDgzNDgwLCA4MzQ4OCwgCisgICAgMTAyNDEsIDEwMjUwLCA4MzQ5MywgODM1MDQsIDgzNTA5LCA4MzUxNSwgMjk0OCwgMTE2MCwgODM1MjEsIDExNDQ5LCAKKyAgICA4MzUyNywgODM1MzQsIDgzNTQxLCA4MzU1NCwgMjI2MiwgNjgsIDgzNTU5LCA4MzU2NCwgODM1NzQsIDgzNTgzLCA4MzU4OSwgCisgICAgODM1OTgsIDgzNjA2LCA4MzYxNiwgODM2MjAsIDgzNjI1LCA4MzYyOSwgODM2NDEsIDI5NzYsIDgzNjQ5LCA4MzY1NywgCisgICAgODM2NjIsIDgzNjczLCA4MzY4NCwgODM2OTMsIDIyMzk3LCA4MzY5OCwgODM3MDQsIDgzNzA5LCA4MzcxOSwgODM3MjksIAorICAgIDgzNzM0LCA4Mzc0MCwgODM3NDQsIDgzNzQ5LCA4Mzc1OCwgMjI0MDksIDgzNzYyLCA0MjgwLCAyNCwgODM3NjcsIDgzNzc2LCAKKyAgICA4Mzc4MywgODM3OTAsIDgzNzk2LCA4MzgwMiwgOTU0LCA4MzgwNywgODM4MTIsIDY0MDE2LCA4MzgxNywgODM4MjIsIAorICAgIDgzODI4LCA4MzgzNCwgODM4NDIsIDgzODQ3LCA4Mzg1NSwgODM4NjIsIDgzODY4LCA4Mzg3MywgNDA3MDAsIDQ0MzMyLCAKKyAgICA4Mzg3OSwgMjk4MCwgMzIsIDgzODg5LCA4MzkwMiwgODM5MDcsIDgzOTE1LCA4MzkyMCwgODM5MjYsIDMwMDIsIDI5NjM5LCAKKyAgICA4MzkzMSwgODM5MzksIDgzOTQ2LCA4Mzk1MSwgODM5NjAsIDYxNjYxLCA2NTA3OCwgODM5NjgsIDgzOTcyLCAxNzA0LCAKKyAgICAxODE4LCA4Mzk3NywgODM5ODIsIDgzOTg5LCAxODIyLCAyNTQsIDgzOTk2LCA4NDAwMiwgMzAyNCwgODQwMDcsIDg0MDEyLCAKKyAgICA4NDAxOSwgMTgyNiwgODQwMjQsIDg0MDMwLCA4NDAzNSwgODQwNDcsIDYzMDUsIDg0MDU3LCAxODMzLCA4NDA2MywgODQwNjgsIAorICAgIDg0MDc1LCA4NDA4MiwgODQwOTcsIDg0MTA0LCA4NDExNSwgODQxMjAsIDg0MTI4LCAyNjM4LCA4NDEzMiwgODQxNDQsIAorICAgIDg0MTQ5LCA4NDE1MywgODQxNTksIDI5NDU1LCAyMjY3LCA4NDE2MywgODQxNzQsIDg0MTc4LCA4NDE4MiwgODQxODgsIAorICAgIDg0MTkyLCA4NDIwMSwgODQyMDUsIDg0MjE2LCA4NDIyMCwgMjMxMywgMzM3MDQsIDg0MjI0LCA4NDIzNCwgMzExNSwgCisgICAgODQyNDIsIDk2NjEsIDg0MjUxLCA4NDI1NiwgODQyNjAsIDg0MjY5LCA4NDI3NiwgODQyODIsIDMwODUsIDE4MDkzLCAKKyAgICA4NDI4NiwgODQyOTksIDg0MzE3LCA4NDMyMiwgODQzMzAsIDg0MzM4LCA4NDM0OCwgMTA0ODAsIDEzODUyLCA4NDM2MCwgCisgICAgODQzNzMsIDg0MzgwLCA4NDM5NCwgODQ0MDEsIDg0NDE3LCA4NDQyNCwgODQ0MzAsIDIyNDQxLCAxMzEwMCwgODQ0MzcsIAorICAgIDg0NDQ0LCA4NDQ1NCwgODQ0NjMsIDQ1MTY3LCA4NDQ3NSwgNDUzMDIsIDg0NDgzLCA4NDQ4NiwgODQ0OTIsIDg0NDk4LCAKKyAgICA4NDUwNCwgODQ1MTAsIDg0NTE2LCA4NDUyMywgODQ1MzAsIDg0NTM2LCA4NDU0MiwgODQ1NDgsIDg0NTU0LCA4NDU2MCwgCisgICAgODQ1NjYsIDg0NTcyLCA4NDU3OCwgODQ1ODQsIDg0NTkwLCA4NDU5NiwgODQ2MDIsIDg0NjA4LCA4NDYxNCwgODQ2MjAsIAorICAgIDg0NjI2LCA4NDYzMiwgODQ2MzgsIDg0NjQ0LCA4NDY1MCwgODQ2NTYsIDg0NjYyLCA4NDY2OCwgODQ2NzQsIDg0NjgwLCAKKyAgICA4NDY4NiwgODQ2OTIsIDg0Njk4LCA4NDcwNCwgODQ3MTAsIDg0NzE2LCA4NDcyMiwgODQ3MjgsIDg0NzM0LCA4NDc0MCwgCisgICAgODQ3NDYsIDg0NzUyLCA4NDc1OCwgODQ3NjQsIDg0NzcwLCA4NDc3NiwgODQ3ODIsIDg0Nzg4LCA4NDc5NCwgODQ4MDAsIAorICAgIDg0ODA2LCA4NDgxMiwgODQ4MTgsIDg0ODI0LCA4NDgzMCwgODQ4MzYsIDg0ODQzLCA4NDg0OSwgODQ4NTYsIDg0ODYzLCAKKyAgICA4NDg2OSwgODQ4NzYsIDg0ODgzLCA4NDg4OSwgODQ4OTUsIDg0OTAxLCA4NDkwNywgODQ5MTMsIDg0OTE5LCA4NDkyNSwgCisgICAgODQ5MzEsIDg0OTM3LCA4NDk0MywgODQ5NDksIDg0OTU1LCA4NDk2MSwgODQ5NjcsIDg0OTczLCAzMDk5LCA5NjM0LCAKKyAgICA4NDk3OSwgODQ5ODUsIDg0OTkzLCA4NDk5NywgODIyODUsIDMxMDMsIDg1MDAxLCAyMjE3NCwgMTI3MzMsIDM4ODUsIAorICAgIDg1MDA1LCAzMTA5LCA4NTAwOSwgODUwMTksIDg1MDI1LCA4NTAzMSwgODUwMzcsIDg1MDQzLCA4NTA0OSwgODUwNTUsIAorICAgIDg1MDYxLCA4NTA2NywgODUwNzMsIDg1MDc5LCA4NTA4NSwgODUwOTEsIDg1MDk3LCA4NTEwMywgODUxMDksIDg1MTE1LCAKKyAgICA4NTEyMSwgODUxMjcsIDg1MTMzLCA4NTEzOSwgODUxNDUsIDg1MTUxLCA4NTE1NywgODUxNjMsIDg1MTY5LCA4NTE3NiwgCisgICAgODUxODMsIDg1MTg5LCA4NTE5NSwgODUyMDEsIDg1MjA3LCA4NTIxMywgODUyMTksIDEzMzcsIDg1MjI1LCA4NTIzMCwgCisgICAgODUyMzUsIDg1MjQwLCA4NTI0NSwgODUyNTAsIDg1MjU1LCA4NTI2MCwgODUyNjUsIDg1MjY5LCA4NTI3MywgODUyNzcsIAorICAgIDg1MjgxLCA4NTI4NSwgODUyODksIDg1MjkzLCA4NTI5NywgODUzMDEsIDg1MzA3LCA4NTMxMywgODUzMTksIDg1MzI1LCAKKyAgICA4NTMyOSwgODUzMzMsIDg1MzM3LCA4NTM0MSwgODUzNDUsIDg1MzQ5LCA4NTM1MywgODUzNTcsIDg1MzYxLCA4NTM2NiwgCisgICAgODUzNzEsIDg1Mzc2LCA4NTM4MSwgODUzODYsIDg1MzkxLCA4NTM5NiwgODU0MDEsIDg1NDA2LCA4NTQxMSwgODU0MTYsIAorICAgIDg1NDIxLCA4NTQyNiwgODU0MzEsIDg1NDM2LCA4NTQ0MSwgODU0NDYsIDg1NDUxLCA4NTQ1NiwgODU0NjEsIDg1NDY2LCAKKyAgICA4NTQ3MSwgODU0NzYsIDg1NDgxLCA4NTQ4NiwgODU0OTEsIDg1NDk2LCA4NTUwMSwgODU1MDYsIDg1NTExLCA4NTUxNiwgCisgICAgODU1MjEsIDg1NTI2LCA4NTUzMSwgODU1MzYsIDg1NTQxLCA4NTU0NiwgODU1NTEsIDg1NTU2LCA4NTU2MSwgODU1NjYsIAorICAgIDg1NTcxLCA4NTU3NiwgODU1ODEsIDg1NTg2LCA4NTU5MSwgODU1OTYsIDg1NjAxLCA4NTYwNiwgODU2MTEsIDg1NjE2LCAKKyAgICA4NTYyMSwgODU2MjYsIDg1NjMxLCA4NTYzNiwgODU2NDEsIDg1NjQ2LCA4NTY1MSwgODU2NTYsIDg1NjYxLCA4NTY2NiwgCisgICAgODU2NzEsIDg1Njc2LCA4NTY4MSwgODU2ODYsIDg1NjkxLCA4NTY5NiwgODU3MDEsIDg1NzA2LCA4NTcxMSwgODU3MTYsIAorICAgIDg1NzIxLCA4NTcyNiwgODU3MzEsIDg1NzM2LCA4NTc0MSwgODU3NDYsIDg1NzUxLCA4NTc1NiwgODU3NjEsIDg1NzY2LCAKKyAgICA4NTc3MSwgODU3NzYsIDg1NzgxLCA4NTc4NiwgODU3OTEsIDg1Nzk2LCA4NTgwMSwgODU4MDYsIDg1ODExLCA4NTgxNiwgCisgICAgODU4MjEsIDg1ODI2LCA4NTgzMSwgODU4MzYsIDg1ODQxLCA4NTg0NiwgODU4NTEsIDg1ODU2LCA4NTg2MSwgODU4NjYsIAorICAgIDg1ODcxLCA4NTg3NiwgODU4ODEsIDg1ODg2LCA4NTg5MSwgODU4OTYsIDg1OTAxLCA4NTkwNiwgODU5MTEsIDg1OTE2LCAKKyAgICA4NTkyMSwgODU5MjYsIDg1OTMxLCA4NTkzNiwgODU5NDEsIDg1OTQ2LCA4NTk1MSwgODU5NTYsIDg1OTYxLCA4NTk2NiwgCisgICAgODU5NzEsIDg1OTc2LCA4NTk4MSwgODU5ODYsIDg1OTkxLCA4NTk5NiwgODYwMDEsIDg2MDA2LCA4NjAxMSwgODYwMTYsIAorICAgIDg2MDIxLCA4NjAzMCwgODYwMzksIDg2MDQ4LCA4NjA1NywgODYwNjYsIDg2MDc1LCA4NjA4NCwgODYwOTMsIDg2MTAyLCAKKyAgICA4NjExMSwgODYxMjAsIDg2MTI5LCA4NjEzOCwgODYxNDcsIDg2MTU2LCA4NjE2NSwgODYxNzQsIDg2MTgzLCA4NjE5MiwgCisgICAgODYxOTcsIDg2MjAyLCA4NjIwNywgODYyMTIsIDg2MjE3LCA4NjIyMiwgODYyMjcsIDg2MjMyLCA4NjIzNywgODYyNDIsIAorICAgIDg2MjQ3LCA4NjI1MiwgODYyNTcsIDg2MjYyLCA4NjI2NywgODYyNzIsIDg2Mjc3LCA4NjI4MiwgODYyODcsIDg2MjkyLCAKKyAgICA4NjI5NywgODYzMDIsIDg2MzA3LCA4NjMxMiwgODYzMTcsIDg2MzIyLCA4NjMyNywgODYzMzIsIDg2MzM3LCA4NjM0MiwgCisgICAgODYzNDcsIDg2MzUyLCA4NjM1NywgODYzNjIsIDg2MzY3LCA4NjM3MiwgODYzNzcsIDg2MzgyLCA4NjM4NywgODYzOTIsIAorICAgIDg2Mzk3LCA4NjQwMiwgODY0MDcsIDg2NDEyLCA4NjQxNywgODY0MjIsIDg2NDI3LCA4NjQzMiwgODY0MzcsIDg2NDQyLCAKKyAgICA4NjQ0NywgODY0NTIsIDg2NDU3LCA4NjQ2MiwgODY0NjcsIDg2NDcyLCA4NjQ3NywgODY0ODIsIDg2NDg4LCA4NjQ5NCwgCisgICAgODY1MDAsIDg2NTA1LCA4NjUxMCwgODY1MTUsIDg2NTIxLCA4NjUyNywgODY1MzMsIDg2NTM4LCA4NjU0MywgODY1NDgsIAorICAgIDg2NTUzLCA4NjU1OCwgODY1NjMsIDg2NTY4LCAxNjkyMiwgMTI3NTUsIDg2NTczLCA4NjU3OSwgODY1ODUsIDg2NTk0LCAKKyAgICA4NjU5OSwgODY2MDQsIDg2NjA5LCA4NjYxNCwgODY2MTksIDg2NjI0LCA4NjYyOSwgODY2MzQsIDg2NjM5LCA4NjY0NCwgCisgICAgODY2NDksIDg2NjU0LCA4NjY1OSwgODY2NjQsIDg2NjY5LCA4NjY3NCwgODY2NzksIDg2Njg0LCA4NjY4OSwgODY2OTQsIAorICAgIDg2Njk5LCA4NjcwNCwgODY3MDksIDg2NzE0LCA4NjcxOSwgODY3MjUsIDg2NzMwLCA4NjczNSwgODY3NDEsIDg2NzQ2LCAKKyAgICA4Njc1MiwgODY3NTcsIDg2NzYyLCA4Njc2OCwgODY3NzMsIDg2Nzc4LCA4Njc4MywgODY3ODgsIDg2NzkzLCA4Njc5OCwgCisgICAgODY4MDMsIDg2ODA4LCA4NTAyMCwgODUwMjYsIDg1MDMyLCA4NTAzOCwgODY4MTQsIDg1MDQ0LCA4NTA1MCwgODUwNTYsIAorICAgIDg1MDYyLCA4NTA2OCwgODUwNzQsIDg1MDgwLCA4NTA4NiwgODUwOTIsIDg1MDk4LCA4NTEwNCwgODY4MjAsIDg1MTEwLCAKKyAgICA4NTExNiwgODUxMjIsIDg2ODI2LCA4NTEyOCwgODUxMzQsIDg1MTQwLCA4NTE0NiwgODUxNTIsIDg1MTU4LCA4NTE2NCwgCisgICAgODUxODQsIDg2ODMyLCA4NjgzOCwgODUxOTAsIDg2ODQ0LCA4NTE5NiwgODUyMDIsIDg1MjA4LCA4NTIxNCwgODUyMjAsIAorICAgIDMxMjYsIDMxMzEsIDg2ODUwLCA4Njg1NSwgODY4NTgsIDg2ODY0LCA4Njg3MCwgODY4NzcsIDg2ODgyLCA4Njg4NywgMjMxOCwgCiB9OwogCiAvKiBjb2RlLT5uYW1lIHBocmFzZWJvb2sgKi8KLSNkZWZpbmUgcGhyYXNlYm9va19zaGlmdCA3Ci0jZGVmaW5lIHBocmFzZWJvb2tfc2hvcnQgMjA5CisjZGVmaW5lIHBocmFzZWJvb2tfc2hpZnQgOAorI2RlZmluZSBwaHJhc2Vib29rX3Nob3J0IDIwNAogc3RhdGljIHVuc2lnbmVkIGNoYXIgcGhyYXNlYm9va1tdID0gewotICAgIDAsIDIxOSwgMjAsIDI0NSwgMzksIDc5LCAyMjQsIDEsIDc5LCA1NCwgNTAsIDI0NywgMTQwLCA1MCwgMjI1LCAxODUsIDUwLCAKLSAgICAyNTQsIDEzNCwgMjU0LCA2NSwgNDMsIDIyNiwgNywgNDQsIDIyNiwgNywgMjUzLCAyMjQsIDk2LCA1MCwgMjQ5LCAyMjcsIAotICAgIDI0MCwgMTc0LCAyNDMsIDIzNiwgMjE4LCAxMzEsIDIxOSwgNDgsIDIxLCAyMTAsIDg2LCAyMSwgMTExLCAyMSwgMTA1LCAyMSwgCi0gICAgMTU4LCAyMSwgMTYxLCAyMSwgMTkwLCAyMSwgMTk1LCAyMSwgMTk5LCAyMSwgMTk2LCAyMSwgMjAxLCAyNDksIDIzNCwgMjIwLCAKLSAgICAxNTIsIDIzMywgMjEsIDUwLCAyNDUsIDEwNiwgNTAsIDI0MiwgMTM3LCA1MCwgMjI0LCAxNiwgNzksIDI0OSwgMjI1LCAyNTMsIAotICAgIDIxNCwgNywgNiwgMSwgNjEsIDcsIDYsIDEsIDI1MywgMTY2LCA3LCA2LCAxLCAyNTEsIDc0LCA3LCA2LCAxLCAyNDksIDY4LCAKLSAgICA3LCA2LCAxLCA3NiwgNywgNiwgMSwgMjQ1LCAxNCwgNywgNiwgMSwgMjQzLCAyMDksIDcsIDYsIDEsIDI0MiwgNjcsIDcsIDYsIAotICAgIDEsIDc0LCA3LCA2LCAxLCAyMzUsIDE1MCwgNywgNiwgMSwgMjM1LCAyOSwgNywgNiwgMSwgMTU2LCA3LCA2LCAxLCAxOTQsIAotICAgIDcsIDYsIDEsIDIzMCwgMzAsIDcsIDYsIDEsIDc4LCA3LCA2LCAxLCAyMjYsIDEwOSwgNywgNiwgMSwgMjI0LCA5OSwgNywgNiwgCi0gICAgMSwgMTUzLCA3LCA2LCAxLCAyMjIsIDkzLCA3LCA2LCAxLCAyMTcsIDE1MywgNywgNiwgMSwgNjksIDcsIDYsIDEsIDIxNCwgCi0gICAgMTA1LCA3LCA2LCAxLCAyMTIsIDk4LCA3LCA2LCAxLCAyMTEsIDE3OCwgNywgNiwgMSwgMjExLCAxMTcsIDcsIDYsIDEsIAotICAgIDIxMCwgMTU5LCA0MywgNDIsIDEyNywgMjIzLCA1MywgMjE5LCA0OCwgNDQsIDQyLCAxMjcsIDI1MCwgMzksIDI1NSwgMjMsIAotICAgIDEyMSwgMjMyLCAyMTksIDI0MiwgMTQ0LCAyNTUsIDIzLCA3LCA0LCAxLCA2MSwgNywgNCwgMSwgMjUzLCAxNjYsIDcsIDQsIAotICAgIDEsIDI1MSwgNzQsIDcsIDQsIDEsIDI0OSwgNjgsIDcsIDQsIDEsIDc2LCA3LCA0LCAxLCAyNDUsIDE0LCA3LCA0LCAxLCAKLSAgICAyNDMsIDIwOSwgNywgNCwgMSwgMjQyLCA2NywgNywgNCwgMSwgNzQsIDcsIDQsIDEsIDIzNSwgMTUwLCA3LCA0LCAxLCAyMzUsIAotICAgIDI5LCA3LCA0LCAxLCAxNTYsIDcsIDQsIDEsIDE5NCwgNywgNCwgMSwgMjMwLCAzMCwgNywgNCwgMSwgNzgsIDcsIDQsIDEsIAotICAgIDIyNiwgMTA5LCA3LCA0LCAxLCAyMjQsIDk5LCA3LCA0LCAxLCAxNTMsIDcsIDQsIDEsIDIyMiwgOTMsIDcsIDQsIDEsIDIxNywgCi0gICAgMTUzLCA3LCA0LCAxLCA2OSwgNywgNCwgMSwgMjE0LCAxMDUsIDcsIDQsIDEsIDIxMiwgOTgsIDcsIDQsIDEsIDIxMSwgMTc4LCAKLSAgICA3LCA0LCAxLCAyMTEsIDExNywgNywgNCwgMSwgMjEwLCAxNTksIDQzLCAyNDksIDEwNywgMTI3LCA2NywgMjMyLCAyMTksIAotICAgIDQ0LCAyNDksIDEwNywgMTI3LCAxODQsIDIyOCwgNzgsIDIxOSwgMjAsIDIzNSwgMjAwLCAyNDUsIDM5LCA3OSwgMjUwLCAKLSAgICAxODQsIDUwLCAyMjQsIDIzMSwgNTAsIDI0OSwgMTA2LCA1MCwgMjExLCA0MCwgNTAsIDI1MSwgMTQzLCAxMzAsIDIyMSwgCi0gICAgMTc1LCA1MCwgMjQ4LCA5LCAyNDksIDE3MSwgNTAsIDI0NCwgMTQ0LCAyMjYsIDE1OCwgMjM1LCAyNDUsIDIzMywgNDgsIDUyLCAKLSAgICAyNTQsIDExOCwgMjI0LCAxLCA3OSwgMjI4LCA1NywgNTAsIDIxOSwgNTQsIDI0MCwgMTc1LCAyMjMsIDEwNSwgNTAsIDIzMSwgCi0gICAgMjM3LCAyNDgsIDc5LCA1MCwgMjI1LCAyNCwgNTAsIDIxOCwgMjQsIDEwNSwgMjE4LCAyNCwgMTU4LCAyNTUsIDEyLCAyNTUsIAotICAgIDIzLCAyMzAsIDIzMywgNTAsIDIyNSwgNzEsIDUwLCAyMzAsIDIyOSwgMjQ3LCAxMjgsIDI1MCwgMTkxLCAyMTgsIDI0LCAKLSAgICAxMTEsIDIzMSwgMTUzLCAyMjYsIDE1OCwgMjM1LCAyNDUsIDIyMiwgMjUwLCA1MiwgMjU0LCAxMTgsIDIyNCwgMSwgNzksIAotICAgIDIxMiwgMTE0LCAyNDQsIDEwLCAxMjMsIDIyNCwgMjQsIDIxMiwgMTE0LCAyNDQsIDEwLCAxMjMsIDI0MiwgMzQsIDIxMiwgCi0gICAgMTE0LCAyNDQsIDEwLCAxMzQsIDIyNCwgMjIsIDIzNSwgMjAwLCAyMjQsIDE2LCA3OSwgNywgNiwgMSwgMTE2LCAyLCAyNDIsIAotICAgIDE0MywgNywgNiwgMSwgMTE2LCAyLCAxNDIsIDcsIDYsIDEsIDExNiwgMiwgMjUwLCAzOCwgNywgNiwgMSwgMTE2LCAyLCAKLSAgICAxODQsIDcsIDYsIDEsIDExNiwgMiwgMjQ4LCA5LCA3LCA2LCAxLCAxMTYsIDIsIDIyMiwgMjM3LCA0OCwgNywgNiwgMSwgCi0gICAgMjU0LCAyNTIsIDcsIDYsIDEsIDI1MSwgNzUsIDIsIDI1MCwgMTkxLCA3LCA2LCAxLCAxNjAsIDIsIDI0MiwgMTQzLCA3LCA2LCAKLSAgICAxLCAxNjAsIDIsIDE0MiwgNywgNiwgMSwgMTYwLCAyLCAyNTAsIDM4LCA3LCA2LCAxLCAxNjAsIDIsIDI0OCwgOSwgNywgNiwgCi0gICAgMSwgMjQwLCAxNjEsIDIsIDI0MiwgMTQzLCA3LCA2LCAxLCAyNDAsIDE2MSwgMiwgMTQyLCA3LCA2LCAxLCAyNDAsIDE2MSwgCi0gICAgMiwgMjUwLCAzOCwgNywgNiwgMSwgMjQwLCAxNjEsIDIsIDI0OCwgOSwgNywgNiwgMSwgMjQ1LCA2NywgNywgNiwgMSwgMjMwLCAKLSAgICAzMSwgMiwgMTg0LCA3LCA2LCAxLCAxNDQsIDIsIDI0MiwgMTQzLCA3LCA2LCAxLCAxNDQsIDIsIDE0MiwgNywgNiwgMSwgCi0gICAgMTQ0LCAyLCAyNTAsIDM4LCA3LCA2LCAxLCAxNDQsIDIsIDE4NCwgNywgNiwgMSwgMTQ0LCAyLCAyNDgsIDksIDIzMCwgODksIAotICAgIDUwLCA3LCA2LCAxLCAxNDQsIDIsIDkxLCA3LCA2LCAxLCAxMDQsIDIsIDI0MiwgMTQzLCA3LCA2LCAxLCAxMDQsIDIsIDE0MiwgCi0gICAgNywgNiwgMSwgMTA0LCAyLCAyNTAsIDM4LCA3LCA2LCAxLCAxMDQsIDIsIDI0OCwgOSwgNywgNiwgMSwgMjExLCAxMTgsIDIsIAotICAgIDE0MiwgNywgNiwgMSwgMjE2LCAxNTIsIDcsIDQsIDEsIDIyMCwgNzgsIDIyMiwgOTMsIDcsIDQsIDEsIDExNiwgMiwgMjQyLCAKLSAgICAxNDMsIDcsIDQsIDEsIDExNiwgMiwgMTQyLCA3LCA0LCAxLCAxMTYsIDIsIDI1MCwgMzgsIDcsIDQsIDEsIDExNiwgMiwgCi0gICAgMTg0LCA3LCA0LCAxLCAxMTYsIDIsIDI0OCwgOSwgNywgNCwgMSwgMTE2LCAyLCAyMjIsIDIzNywgNDgsIDcsIDQsIDEsIAotICAgIDI1NCwgMjUyLCA3LCA0LCAxLCAyNTEsIDc1LCAyLCAyNTAsIDE5MSwgNywgNCwgMSwgMTYwLCAyLCAyNDIsIDE0MywgNywgNCwgCi0gICAgMSwgMTYwLCAyLCAxNDIsIDcsIDQsIDEsIDE2MCwgMiwgMjUwLCAzOCwgNywgNCwgMSwgMTYwLCAyLCAyNDgsIDksIDcsIDQsIAotICAgIDEsIDI0MCwgMTYxLCAyLCAyNDIsIDE0MywgNywgNCwgMSwgMjQwLCAxNjEsIDIsIDE0MiwgNywgNCwgMSwgMjQwLCAxNjEsIAotICAgIDIsIDI1MCwgMzgsIDcsIDQsIDEsIDI0MCwgMTYxLCAyLCAyNDgsIDksIDcsIDQsIDEsIDI0NSwgNjcsIDcsIDQsIDEsIDIzMCwgCi0gICAgMzEsIDIsIDE4NCwgNywgNCwgMSwgMTQ0LCAyLCAyNDIsIDE0MywgNywgNCwgMSwgMTQ0LCAyLCAxNDIsIDcsIDQsIDEsIAotICAgIDE0NCwgMiwgMjUwLCAzOCwgNywgNCwgMSwgMTQ0LCAyLCAxODQsIDcsIDQsIDEsIDE0NCwgMiwgMjQ4LCA5LCAyNDcsIDE3NywgCi0gICAgNTAsIDcsIDQsIDEsIDE0NCwgMiwgOTEsIDcsIDQsIDEsIDEwNCwgMiwgMjQyLCAxNDMsIDcsIDQsIDEsIDEwNCwgMiwgMTQyLCAKLSAgICA3LCA0LCAxLCAxMDQsIDIsIDI1MCwgMzgsIDcsIDQsIDEsIDEwNCwgMiwgMjQ4LCA5LCA3LCA0LCAxLCAyMTEsIDExOCwgMiwgCi0gICAgMTQyLCA3LCA0LCAxLCAyMTYsIDE1MiwgNywgNCwgMSwgMjExLCAxMTgsIDIsIDI0OCwgOSwgNywgNiwgMSwgMTE2LCAyLCAKLSAgICAyMzEsIDIzNywgNywgNCwgMSwgMTE2LCAyLCAyMzEsIDIzNywgNywgNiwgMSwgMTE2LCAyLCAyNTEsIDE1NCwgNywgNCwgMSwgCi0gICAgMTE2LCAyLCAyNTEsIDE1NCwgNywgNiwgMSwgMTE2LCAyLCAyMjYsIDIyOCwgNywgNCwgMSwgMTE2LCAyLCAyMjYsIDIyOCwgCi0gICAgNywgNiwgMSwgMjUxLCA3NSwgMiwgMTQyLCA3LCA0LCAxLCAyNTEsIDc1LCAyLCAxNDIsIDcsIDYsIDEsIDI1MSwgNzUsIDIsIAotICAgIDI1MCwgMzgsIDcsIDQsIDEsIDI1MSwgNzUsIDIsIDI1MCwgMzgsIDcsIDYsIDEsIDI1MSwgNzUsIDIsIDU5LCA0OCwgNywgNCwgCi0gICAgMSwgMjUxLCA3NSwgMiwgNTksIDQ4LCA3LCA2LCAxLCAyNTEsIDc1LCAyLCAyNTAsIDI0MiwgNywgNCwgMSwgMjUxLCA3NSwgCi0gICAgMiwgMjUwLCAyNDIsIDcsIDYsIDEsIDI0OSwgNjksIDIsIDI1MCwgMjQyLCA3LCA0LCAxLCAyNDksIDY5LCAyLCAyNTAsIAotICAgIDI0MiwgNywgNiwgMSwgMjQ5LCA2OSwgMiwgOTEsIDcsIDQsIDEsIDI0OSwgNjksIDIsIDkxLCA3LCA2LCAxLCAxNjAsIDIsIAotICAgIDIzMSwgMjM3LCA3LCA0LCAxLCAxNjAsIDIsIDIzMSwgMjM3LCA3LCA2LCAxLCAxNjAsIDIsIDI1MSwgMTU0LCA3LCA0LCAxLCAKLSAgICAxNjAsIDIsIDI1MSwgMTU0LCA3LCA2LCAxLCAxNjAsIDIsIDU5LCA0OCwgNywgNCwgMSwgMTYwLCAyLCA1OSwgNDgsIDcsIDYsIAotICAgIDEsIDE2MCwgMiwgMjI2LCAyMjgsIDcsIDQsIDEsIDE2MCwgMiwgMjI2LCAyMjgsIDcsIDYsIDEsIDE2MCwgMiwgMjUwLCAKLSAgICAyNDIsIDcsIDQsIDEsIDE2MCwgMiwgMjUwLCAyNDIsIDcsIDYsIDEsIDI0MywgMjEwLCAyLCAyNTAsIDM4LCA3LCA0LCAxLCAKLSAgICAyNDMsIDIxMCwgMiwgMjUwLCAzOCwgNywgNiwgMSwgMjQzLCAyMTAsIDIsIDI1MSwgMTU0LCA3LCA0LCAxLCAyNDMsIDIxMCwgCi0gICAgMiwgMjUxLCAxNTQsIDcsIDYsIDEsIDI0MywgMjEwLCAyLCA1OSwgNDgsIDcsIDQsIDEsIDI0MywgMjEwLCAyLCA1OSwgNDgsIAotICAgIDcsIDYsIDEsIDI0MywgMjEwLCAyLCAyNTAsIDE5MSwgNywgNCwgMSwgMjQzLCAyMTAsIDIsIDI1MCwgMTkxLCA3LCA2LCAxLCAKLSAgICAyNDIsIDY4LCAyLCAyNTAsIDM4LCA3LCA0LCAxLCAyNDIsIDY4LCAyLCAyNTAsIDM4LCA3LCA2LCAxLCAyNDIsIDY4LCAyLCAKLSAgICA5MSwgNywgNCwgMSwgMjQyLCA2OCwgMiwgOTEsIDcsIDYsIDEsIDI0MCwgMTYxLCAyLCAxODQsIDcsIDQsIDEsIDI0MCwgCi0gICAgMTYxLCAyLCAxODQsIDcsIDYsIDEsIDI0MCwgMTYxLCAyLCAyMzEsIDIzNywgNywgNCwgMSwgMjQwLCAxNjEsIDIsIDIzMSwgCi0gICAgMjM3LCA3LCA2LCAxLCAyNDAsIDE2MSwgMiwgMjUxLCAxNTQsIDcsIDQsIDEsIDI0MCwgMTYxLCAyLCAyNTEsIDE1NCwgNywgCi0gICAgNiwgMSwgMjQwLCAxNjEsIDIsIDIyNiwgMjI4LCA3LCA0LCAxLCAyNDAsIDE2MSwgMiwgMjI2LCAyMjgsIDcsIDYsIDEsIAotICAgIDI0MCwgMTYxLCAyLCA1OSwgNDgsIDcsIDQsIDEsIDI0NywgMTI3LCA3NCwgNywgNiwgMjcsIDIzNiwgMzgsIDcsIDQsIDI3LCAKLSAgICAyMzYsIDM4LCA3LCA2LCAxLCAyMzUsIDE1MSwgMiwgMjUwLCAzOCwgNywgNCwgMSwgMjM1LCAxNTEsIDIsIDI1MCwgMzgsIDcsIAotICAgIDYsIDEsIDIzNSwgMzAsIDIsIDI1MCwgMTkxLCA3LCA0LCAxLCAyMzUsIDMwLCAyLCAyNTAsIDE5MSwgNywgNCwgMSwgMjMzLCAKLSAgICAyNDUsIDcsIDYsIDEsIDIzMywgMTU1LCAyLCAxNDIsIDcsIDQsIDEsIDIzMywgMTU1LCAyLCAxNDIsIDcsIDYsIDEsIDIzMywgCi0gICAgMTU1LCAyLCAyNTAsIDE5MSwgNywgNCwgMSwgMjMzLCAxNTUsIDIsIDI1MCwgMTkxLCA3LCA2LCAxLCAyMzMsIDE1NSwgMiwgCi0gICAgMjUwLCAyNDIsIDcsIDQsIDEsIDIzMywgMTU1LCAyLCAyNTAsIDI0MiwgNywgNiwgMSwgMjMzLCAxNTUsIDIsIDIzMCwgMjI5LCAKLSAgICAyNDcsIDEyOCwgNywgNCwgMSwgMjMzLCAxNTUsIDIsIDIzMCwgMjI5LCAyNDcsIDEyOCwgNywgNiwgMSwgMjMzLCAxNTUsIDIsIAotICAgIDkxLCA3LCA0LCAxLCAyMzMsIDE1NSwgMiwgOTEsIDcsIDYsIDEsIDIzMCwgMzEsIDIsIDE0MiwgNywgNCwgMSwgMjMwLCAzMSwgCi0gICAgMiwgMTQyLCA3LCA2LCAxLCAyMzAsIDMxLCAyLCAyNTAsIDE5MSwgNywgNCwgMSwgMjMwLCAzMSwgMiwgMjUwLCAxOTEsIDcsIAotICAgIDYsIDEsIDIzMCwgMzEsIDIsIDI1MCwgMjQyLCA3LCA0LCAxLCAyMzAsIDMxLCAyLCAyNTAsIDI0MiwgNywgNCwgMSwgMjMwLCAKLSAgICAzMSwgMjI0LCAyMDcsIDI1MSwgODYsIDI1NCwgNjUsIDcsIDYsIDEsIDI0NSwgMTQ2LCA3LCA0LCAxLCAyNDUsIDE0NiwgNywgCi0gICAgNiwgMSwgMTQ0LCAyLCAyMzEsIDIzNywgNywgNCwgMSwgMTQ0LCAyLCAyMzEsIDIzNywgNywgNiwgMSwgMTQ0LCAyLCAyNTEsIAotICAgIDE1NCwgNywgNCwgMSwgMTQ0LCAyLCAyNTEsIDE1NCwgNywgNiwgMSwgMTQ0LCAyLCA1MiwgMTQyLCA3LCA0LCAxLCAxNDQsIAotICAgIDIsIDUyLCAxNDIsIDcsIDYsIDI3LCAyMjYsIDIzOCwgNywgNCwgMjcsIDIyNiwgMjM4LCA3LCA2LCAxLCAyMjMsIDIyNywgMiwgCi0gICAgMTQyLCA3LCA0LCAxLCAyMjMsIDIyNywgMiwgMTQyLCA3LCA2LCAxLCAyMjMsIDIyNywgMiwgMjUwLCAxOTEsIDcsIDQsIDEsIAotICAgIDIyMywgMjI3LCAyLCAyNTAsIDE5MSwgNywgNiwgMSwgMjIzLCAyMjcsIDIsIDI1MCwgMjQyLCA3LCA0LCAxLCAyMjMsIDIyNywgCi0gICAgMiwgMjUwLCAyNDIsIDcsIDYsIDEsIDIyMiwgOTQsIDIsIDE0MiwgNywgNCwgMSwgMjIyLCA5NCwgMiwgMTQyLCA3LCA2LCAxLCAKLSAgICAyMjIsIDk0LCAyLCAyNTAsIDM4LCA3LCA0LCAxLCAyMjIsIDk0LCAyLCAyNTAsIDM4LCA3LCA2LCAxLCAyMjIsIDk0LCAyLCAKLSAgICAyNTAsIDE5MSwgNywgNCwgMSwgMjIyLCA5NCwgMiwgMjUwLCAxOTEsIDcsIDYsIDEsIDIyMiwgOTQsIDIsIDI1MCwgMjQyLCAKLSAgICA3LCA0LCAxLCAyMjIsIDk0LCAyLCAyNTAsIDI0MiwgNywgNiwgMSwgMjE3LCAxNTQsIDIsIDI1MCwgMTkxLCA3LCA0LCAxLCAKLSAgICAyMTcsIDE1NCwgMiwgMjUwLCAxOTEsIDcsIDYsIDEsIDIxNywgMTU0LCAyLCAyNTAsIDI0MiwgNywgNCwgMSwgMjE3LCAxNTQsIAotICAgIDIsIDI1MCwgMjQyLCA3LCA2LCAxLCAyMTcsIDE1NCwgMiwgOTEsIDcsIDQsIDEsIDIxNywgMTU0LCAyLCA5MSwgNywgNiwgMSwgCi0gICAgMTA0LCAyLCAxODQsIDcsIDQsIDEsIDEwNCwgMiwgMTg0LCA3LCA2LCAxLCAxMDQsIDIsIDIzMSwgMjM3LCA3LCA0LCAxLCAKLSAgICAxMDQsIDIsIDIzMSwgMjM3LCA3LCA2LCAxLCAxMDQsIDIsIDI1MSwgMTU0LCA3LCA0LCAxLCAxMDQsIDIsIDI1MSwgMTU0LCAKLSAgICA3LCA2LCAxLCAxMDQsIDIsIDIyMiwgMjM3LCA0OCwgNywgNCwgMSwgMTA0LCAyLCAyMjIsIDIzNywgNDgsIDcsIDYsIDEsIAotICAgIDEwNCwgMiwgNTIsIDE0MiwgNywgNCwgMSwgMTA0LCAyLCA1MiwgMTQyLCA3LCA2LCAxLCAxMDQsIDIsIDIyNiwgMjI4LCA3LCAKLSAgICA0LCAxLCAxMDQsIDIsIDIyNiwgMjI4LCA3LCA2LCAxLCAyMTIsIDk5LCAyLCAyNTAsIDM4LCA3LCA0LCAxLCAyMTIsIDk5LCAKLSAgICAyLCAyNTAsIDM4LCA3LCA2LCAxLCAyMTEsIDExOCwgMiwgMjUwLCAzOCwgNywgNCwgMSwgMjExLCAxMTgsIDIsIDI1MCwgMzgsIAotICAgIDcsIDYsIDEsIDIxMSwgMTE4LCAyLCAyNDgsIDksIDcsIDYsIDEsIDIxMCwgMTYwLCAyLCAxNDIsIDcsIDQsIDEsIDIxMCwgCi0gICAgMTYwLCAyLCAxNDIsIDcsIDYsIDEsIDIxMCwgMTYwLCAyLCA1OSwgNDgsIDcsIDQsIDEsIDIxMCwgMTYwLCAyLCA1OSwgNDgsIAotICAgIDcsIDYsIDEsIDIxMCwgMTYwLCAyLCAyNTAsIDI0MiwgNywgNCwgMSwgMjEwLCAxNjAsIDIsIDI1MCwgMjQyLCA3LCA0LCAxLCAKLSAgICAyMDAsIDIyMiwgOTMsIDcsIDQsIDEsIDU3LCAyLCA5MSwgNywgNiwgMSwgNTcsIDIsIDEwMywgNywgNiwgMSwgNTcsIDIsIAotICAgIDIxNiwgMTIsIDcsIDQsIDEsIDU3LCAyLCAyMTYsIDEyLCA3LCA2LCAxLCAxMzgsIDE5NSwgNywgNCwgMSwgMTM4LCAxOTUsIAotICAgIDcsIDYsIDEsIDIwNCwgNzgsIDcsIDYsIDEsIDI1MSwgNzUsIDIsIDEwMywgNywgNCwgMSwgMjUxLCA3NSwgMiwgMTAzLCA3LCAKLSAgICA2LCAxLCAyNTQsIDIyOCwgMjQ5LCA2OCwgNywgNiwgMSwgMjQ5LCA2OSwgMiwgMTAzLCA3LCA2LCAxLCAyNDksIDY5LCAyLCAKLSAgICAyMTYsIDEyLCA3LCA0LCAxLCAyNDksIDY5LCAyLCAyMTYsIDEyLCA3LCA0LCAxLCAyMTUsIDk0LCAyNDgsIDYyLCA3LCA2LCAKLSAgICAxLCAyMjMsIDUyLCA3NiwgNywgNiwgMSwgMjIxLCAxOTcsIDcsIDYsIDEsIDIwNCwgNzYsIDcsIDYsIDEsIDI0NSwgMTUsIDIsIAotICAgIDEwMywgNywgNCwgMSwgMjQ1LCAxNSwgMiwgMTAzLCA3LCA2LCAxLCAyNDMsIDIxMCwgMiwgMTAzLCA3LCA2LCAxLCAyNDMsIAotICAgIDExNCwgNywgNCwgMSwgMjQwLCAyMDgsIDcsIDYsIDEsIDIzNSwgMTkyLCA3LCA2LCAxLCAyNDAsIDE2MSwgMiwgOTEsIDcsIAotICAgIDYsIDEsIDIzNSwgMzAsIDIsIDEwMywgNywgNCwgMSwgMjM1LCAzMCwgMiwgMTAzLCA3LCA0LCAxLCAyMzMsIDE1NSwgMiwgCi0gICAgMTMwLCA3LCA0LCAxLCAyMzMsIDEwNiwgMiwgOTEsIDcsIDYsIDEsIDIxNSwgOTQsIDE5NCwgNywgNiwgMSwgMjMwLCAzMSwgCi0gICAgMiwgNDMsIDEwMywgNywgNCwgMSwgMjMwLCAzMSwgMiwgMjAwLCA0NCwgMjMzLCA0MiwgNywgNiwgMSwgMTQ0LCAyLCAyMzAsIAotICAgIDIyOSwgMTg0LCA3LCA2LCAxLCAxNDQsIDIsIDI0MCwgMjU1LCA3LCA0LCAxLCAxNDQsIDIsIDI0MCwgMjU1LCA3LCA2LCAxLCAKLSAgICAyMjYsIDIyMywgNywgNCwgMSwgMjI2LCAyMjMsIDcsIDYsIDEsIDIyNiwgMTEwLCAyLCAxMDMsIDcsIDQsIDEsIDIyNiwgCi0gICAgMTEwLCAyLCAxMDMsIDcsIDEsIDIxMCwgMjE0LCA3LCA2LCAxLCAxMzgsIDEwNSwgNywgNCwgMSwgMTM4LCAxMDUsIDcsIDYsIAotICAgIDEsIDI0NSwgODMsIDcsIDEsIDIyMywgNTIsIDI0NSwgODQsIDIzMiwgMTI5LCA3LCA0LCAxLCAyMTcsIDE1NCwgMiwgMjI2LCAKLSAgICA3MCwgMTAzLCA3LCA2LCAxLCAyMTcsIDE1NCwgMiwgMTAzLCA3LCA0LCAxLCAyMTcsIDE1NCwgMiwgMTAzLCA3LCA2LCAxLCAKLSAgICAyMTcsIDE1NCwgMiwgMjIzLCA1OCwgMTAzLCA3LCA2LCAxLCAxMDQsIDIsIDI0MCwgMjU1LCA3LCA0LCAxLCAxMDQsIDIsIAotICAgIDI0MCwgMjU1LCA3LCA2LCAxLCAyMTQsIDE1NywgNywgNiwgMSwgMjE0LCAxMDYsIDIsIDEwMywgNywgNiwgMSwgMjExLCAKLSAgICAxMTgsIDIsIDEwMywgNywgNCwgMSwgMjExLCAxMTgsIDIsIDEwMywgNywgNiwgMSwgMjEwLCAxNjAsIDIsIDkxLCA3LCA0LCAKLSAgICAxLCAyMTAsIDE2MCwgMiwgOTEsIDcsIDYsIDEsIDI0NSwgMTYsIDcsIDYsIDEsIDI0NSwgMTcsIDIyMywgNTEsIDcsIDQsIDEsIAotICAgIDI0NSwgMTcsIDIyMywgNTEsIDcsIDQsIDEsIDI0NSwgMTcsIDIsIDIxNywgNzgsIDcsIDEsIDExMywgMiwgOTEsIDcsIDYsIAotICAgIDEsIDEzOCwgMTkwLCA3LCA0LCAxLCAxMzgsIDE5MCwgNywgMSwgMjM1LCAyMDAsIDI0MiwgMTg3LCAyMTgsIDEzMiwgMiwgCi0gICAgOTEsIDcsIDEsIDIxMSwgMTgxLCA3LCAxLCAyNDgsIDU1LCAyNTAsIDE5LCA3LCAxLCAyMzMsIDgzLCAyNTAsIDE5LCA3LCAxLCAKLSAgICAyNTQsIDE0NSwgMjUwLCAxOSwgNywgMSwgMjIzLCA1OCwgMjUwLCAxOSwgNywgNiwgMSwgMjQ2LCA0OCwgMiwgMjUwLCAyNDIsIAotICAgIDcsIDYsIDEsIDI0OSwgNjksIDIsIDQsIDEsIDIxMCwgMTYwLCAyLCAyNTAsIDI0MiwgNywgNCwgMSwgMjQ2LCA0OCwgMiwgCi0gICAgMjUwLCAyNDIsIDcsIDYsIDEsIDIzMiwgMTk0LCA3LCA2LCAxLCAyMzMsIDE1NSwgMiwgNCwgMSwgMjM1LCAxNTAsIDcsIDQsIAotICAgIDEsIDIzMiwgMTk0LCA3LCA2LCAxLCAyMjgsIDE5MSwgNywgNiwgMSwgMjMwLCAzMSwgMiwgNCwgMSwgMjM1LCAxNTAsIDcsIAotICAgIDQsIDEsIDIyOCwgMTkxLCA3LCA2LCAxLCAxMTYsIDIsIDI1MCwgMjQyLCA3LCA0LCAxLCAxMTYsIDIsIDI1MCwgMjQyLCA3LCAKLSAgICA2LCAxLCAyNDAsIDE2MSwgMiwgMjUwLCAyNDIsIDcsIDQsIDEsIDI0MCwgMTYxLCAyLCAyNTAsIDI0MiwgNywgNiwgMSwgCi0gICAgMTQ0LCAyLCAyNTAsIDI0MiwgNywgNCwgMSwgMTQ0LCAyLCAyNTAsIDI0MiwgNywgNiwgMSwgMTA0LCAyLCAyNTAsIDI0MiwgCi0gICAgNywgNCwgMSwgMTA0LCAyLCAyNTAsIDI0MiwgNywgNiwgMSwgMTA0LCAyLCAyNDgsIDEwLCAyMiwgMjMxLCAyMzcsIDcsIDQsIAotICAgIDEsIDEwNCwgMiwgMjQ4LCAxMCwgMjIsIDIzMSwgMjM3LCA3LCA2LCAxLCAxMDQsIDIsIDI0OCwgMTAsIDIyLCAxNDIsIDcsIAotICAgIDQsIDEsIDEwNCwgMiwgMjQ4LCAxMCwgMjIsIDE0MiwgNywgNiwgMSwgMTA0LCAyLCAyNDgsIDEwLCAyMiwgMjUwLCAyNDIsIAotICAgIDcsIDQsIDEsIDEwNCwgMiwgMjQ4LCAxMCwgMjIsIDI1MCwgMjQyLCA3LCA2LCAxLCAxMDQsIDIsIDI0OCwgMTAsIDIyLCAKLSAgICAyNDIsIDE0MywgNywgNCwgMSwgMTA0LCAyLCAyNDgsIDEwLCAyMiwgMjQyLCAxNDMsIDcsIDQsIDEsIDIxNSwgOTQsIDc2LCAKLSAgICA3LCA2LCAxLCAxMTYsIDIsIDI0OCwgMTAsIDIyLCAyMzEsIDIzNywgNywgNCwgMSwgMTE2LCAyLCAyNDgsIDEwLCAyMiwgCi0gICAgMjMxLCAyMzcsIDcsIDYsIDEsIDExNiwgMiwgNTksIDcyLCAyMiwgMjMxLCAyMzcsIDcsIDQsIDEsIDExNiwgMiwgNTksIDcyLCAKLSAgICAyMiwgMjMxLCAyMzcsIDcsIDYsIDEsIDI1NCwgMjUzLCAyLCAyMzEsIDIzNywgNywgNCwgMSwgMjU0LCAyNTMsIDIsIDIzMSwgCi0gICAgMjM3LCA3LCA2LCAxLCAyNDMsIDIxMCwgMiwgOTEsIDcsIDQsIDEsIDI0MywgMjEwLCAyLCA5MSwgNywgNiwgMSwgMjQzLCAKLSAgICAyMTAsIDIsIDI1MCwgMjQyLCA3LCA0LCAxLCAyNDMsIDIxMCwgMiwgMjUwLCAyNDIsIDcsIDYsIDEsIDIzNSwgMzAsIDIsIAotICAgIDI1MCwgMjQyLCA3LCA0LCAxLCAyMzUsIDMwLCAyLCAyNTAsIDI0MiwgNywgNiwgMSwgMTQ0LCAyLCAyMjYsIDIyOCwgNywgNCwgCi0gICAgMSwgMTQ0LCAyLCAyMjYsIDIyOCwgNywgNiwgMSwgMTQ0LCAyLCAyMjYsIDIyOSwgMjIsIDIzMSwgMjM3LCA3LCA0LCAxLCAKLSAgICAxNDQsIDIsIDIyNiwgMjI5LCAyMiwgMjMxLCAyMzcsIDcsIDYsIDEsIDI0NSwgMTcsIDIsIDI1MCwgMjQyLCA3LCA0LCAxLCAKLSAgICAyNDUsIDE3LCAyLCAyNTAsIDI0MiwgNywgNCwgMSwgMjM1LCAxNTEsIDIsIDI1MCwgMjQyLCA3LCA2LCAxLCAyNDYsIDQ3LCAKLSAgICA3LCA2LCAxLCAyNDksIDY5LCAyLCA0LCAxLCAyMTAsIDE1OSwgNywgNCwgMSwgMjQ2LCA0NywgNywgNiwgMSwgMjQzLCAyMTAsIAotICAgIDIsIDE0MiwgNywgNCwgMSwgMjQzLCAyMTAsIDIsIDE0MiwgNywgNiwgMSwgMjQwLCAyMDYsIDcsIDYsIDEsIDIxMSwgMTgxLCAKLSAgICA3LCA2LCAxLCAyMzAsIDMxLCAyLCAyNDIsIDE0MywgNywgNCwgMSwgMjMwLCAzMSwgMiwgMjQyLCAxNDMsIDcsIDYsIDEsIAotICAgIDExNiwgMiwgMjIyLCAyMzcsIDcyLCAyMiwgMTQyLCA3LCA0LCAxLCAxMTYsIDIsIDIyMiwgMjM3LCA3MiwgMjIsIDE0MiwgNywgCi0gICAgNiwgMSwgMjU0LCAyNTMsIDIsIDE0MiwgNywgNCwgMSwgMjU0LCAyNTMsIDIsIDE0MiwgNywgNiwgMSwgMTQ0LCAyLCAyMTgsIAotICAgIDEwNSwgMjIsIDE0MiwgNywgNCwgMSwgMTQ0LCAyLCAyMTgsIDEwNSwgMjIsIDE0MiwgNywgNiwgMSwgMTE2LCAyLCA1MiwgCi0gICAgMjQyLCAxNDMsIDcsIDQsIDEsIDExNiwgMiwgNTIsIDI0MiwgMTQzLCA3LCA2LCAxLCAxMTYsIDIsIDIzNSwgMjAwLCAyNTEsIAotICAgIDE1NCwgNywgNCwgMSwgMTE2LCAyLCAyMzUsIDIwMCwgMjUxLCAxNTQsIDcsIDYsIDEsIDE2MCwgMiwgNTIsIDI0MiwgMTQzLCAKLSAgICA3LCA0LCAxLCAxNjAsIDIsIDUyLCAyNDIsIDE0MywgNywgNiwgMSwgMTYwLCAyLCAyMzUsIDIwMCwgMjUxLCAxNTQsIDcsIDQsIAotICAgIDEsIDE2MCwgMiwgMjM1LCAyMDAsIDI1MSwgMTU0LCA3LCA2LCAxLCAyNDAsIDE2MSwgMiwgNTIsIDI0MiwgMTQzLCA3LCA0LCAKLSAgICAxLCAyNDAsIDE2MSwgMiwgNTIsIDI0MiwgMTQzLCA3LCA2LCAxLCAyNDAsIDE2MSwgMiwgMjM1LCAyMDAsIDI1MSwgMTU0LCAKLSAgICA3LCA0LCAxLCAyNDAsIDE2MSwgMiwgMjM1LCAyMDAsIDI1MSwgMTU0LCA3LCA2LCAxLCAxNDQsIDIsIDUyLCAyNDIsIDE0MywgCi0gICAgNywgNCwgMSwgMTQ0LCAyLCA1MiwgMjQyLCAxNDMsIDcsIDYsIDEsIDE0NCwgMiwgMjM1LCAyMDAsIDI1MSwgMTU0LCA3LCA0LCAKLSAgICAxLCAxNDQsIDIsIDIzNSwgMjAwLCAyNTEsIDE1NCwgNywgNiwgMSwgMjIzLCAyMjcsIDIsIDUyLCAyNDIsIDE0MywgNywgNCwgCi0gICAgMSwgMjIzLCAyMjcsIDIsIDUyLCAyNDIsIDE0MywgNywgNiwgMSwgMjIzLCAyMjcsIDIsIDIzNSwgMjAwLCAyNTEsIDE1NCwgCi0gICAgNywgNCwgMSwgMjIzLCAyMjcsIDIsIDIzNSwgMjAwLCAyNTEsIDE1NCwgNywgNiwgMSwgMTA0LCAyLCA1MiwgMjQyLCAxNDMsIAotICAgIDcsIDQsIDEsIDEwNCwgMiwgNTIsIDI0MiwgMTQzLCA3LCA2LCAxLCAxMDQsIDIsIDIzNSwgMjAwLCAyNTEsIDE1NCwgNywgNCwgCi0gICAgMSwgMTA0LCAyLCAyMzUsIDIwMCwgMjUxLCAxNTQsIDcsIDYsIDEsIDIyMiwgOTQsIDIsIDI0OSwgMjI4LCA1MSwgNywgNCwgCi0gICAgMSwgMjIyLCA5NCwgMiwgMjQ5LCAyMjgsIDUxLCA3LCA2LCAxLCAyMTcsIDE1NCwgMiwgMjQ5LCAyMjgsIDUxLCA3LCA0LCAxLCAKLSAgICAyMTcsIDE1NCwgMiwgMjQ5LCAyMjgsIDUxLCA3LCA2LCAxLCAyMTAsIDIzMSwgNywgNCwgMSwgMjEwLCAyMzEsIDcsIDYsIDEsIAotICAgIDI0MiwgNjgsIDIsIDI1MCwgMjQyLCA3LCA0LCAxLCAyNDIsIDY4LCAyLCAyNTAsIDI0MiwgNywgNiwgMSwgMjMwLCAzMSwgMiwgCi0gICAgMjAwLCA0NCwgMjMzLCA0MiwgNywgNCwgMSwgMjQ5LCA2OSwgMiwgMjQ5LCAxMDgsIDcsIDYsIDEsIDIyNiwgMTM4LCA3LCA0LCAKLSAgICAxLCAyMjYsIDEzOCwgNywgNiwgMSwgMjEwLCAxNjAsIDIsIDEwMywgNywgNCwgMSwgMjEwLCAxNjAsIDIsIDEwMywgNywgNiwgCi0gICAgMSwgMTE2LCAyLCA1OSwgNDgsIDcsIDQsIDEsIDExNiwgMiwgNTksIDQ4LCA3LCA2LCAxLCAxNjAsIDIsIDI1MCwgMTkxLCA3LCAKLSAgICA0LCAxLCAxNjAsIDIsIDI1MCwgMTkxLCA3LCA2LCAxLCAxNDQsIDIsIDI0OCwgMTAsIDIyLCAyMzEsIDIzNywgNywgNCwgMSwgCi0gICAgMTQ0LCAyLCAyNDgsIDEwLCAyMiwgMjMxLCAyMzcsIDcsIDYsIDEsIDE0NCwgMiwgMjE2LCA5MCwgMjIsIDIzMSwgMjM3LCA3LCAKLSAgICA0LCAxLCAxNDQsIDIsIDIxNiwgOTAsIDIyLCAyMzEsIDIzNywgNywgNiwgMSwgMTQ0LCAyLCA1OSwgNDgsIDcsIDQsIDEsIAotICAgIDE0NCwgMiwgNTksIDQ4LCA3LCA2LCAxLCAxNDQsIDIsIDU5LCA3MiwgMjIsIDIzMSwgMjM3LCA3LCA0LCAxLCAxNDQsIDIsIAotICAgIDU5LCA3MiwgMjIsIDIzMSwgMjM3LCA3LCA2LCAxLCAyMTEsIDExOCwgMiwgMjMxLCAyMzcsIDcsIDQsIDEsIDIxMSwgMTE4LCAKLSAgICAyLCAyMzEsIDIzNywgNywgNCwgMSwgMjMzLCAxNTUsIDIsIDI0OSwgMTA4LCA3LCA0LCAxLCAyMzAsIDMxLCAyLCAyNDksIAotICAgIDEwOCwgNywgNCwgMSwgMjE3LCAxNTQsIDIsIDI0OSwgMTA4LCA3LCA0LCAxLCAyNDcsIDEyNywgMjM1LCAxNTAsIDcsIDQsIAotICAgIDEsIDI0OCwgMTUxLCAyNDcsIDIyOCwgNywgNCwgMSwgMjI0LCAzNCwgMjQ3LCAyMjgsIDcsIDYsIDEsIDExNiwgMiwgOTEsIAotICAgIDcsIDYsIDEsIDI1MSwgNzUsIDIsIDkxLCA3LCA0LCAxLCAyNTEsIDc1LCAyLCA5MSwgNywgNiwgMSwgMjMzLCAxNTUsIDIsIAotICAgIDEzMCwgNywgNiwgMSwgMjE3LCAxNTQsIDIsIDI0OCwgNywgOTEsIDcsIDQsIDEsIDIyMiwgOTQsIDIsIDIxNywgMjUxLCAKLSAgICAyMTcsIDc4LCA3LCA0LCAxLCAyMTAsIDE2MCwgMiwgMjE3LCAyNTEsIDIxNywgNzgsIDcsIDYsIDEsIDI0MiwgMTg3LCAyMTgsIAotICAgIDEzMSwgNywgNCwgMSwgMjQyLCAxODcsIDIxOCwgMTMxLCA3LCA2LCAxLCA1NywgMiwgOTEsIDcsIDYsIDEsIDEwNCwgMTMwLCAKLSAgICA3LCA2LCAxLCAyMTUsIDk0LCAyMTQsIDEwNSwgNywgNiwgMSwgMTYwLCAyLCA5MSwgNywgNCwgMSwgMTYwLCAyLCA5MSwgNywgCi0gICAgNiwgMSwgMjM1LCAxNTEsIDIsIDkxLCA3LCA0LCAxLCAyMzUsIDE1MSwgMiwgOTEsIDcsIDYsIDEsIDQsIDIyNCwgMTAwLCAyLCAKLSAgICAyNDEsIDU5LCAyMTcsIDc4LCA3LCA0LCAxLCAyMjQsIDEwMCwgMiwgMjQxLCA1OSwgMjE3LCA3OCwgNywgNiwgMSwgMjIzLCAKLSAgICAyMjcsIDIsIDkxLCA3LCA0LCAxLCAyMjMsIDIyNywgMiwgOTEsIDcsIDYsIDEsIDIxMSwgMTE4LCAyLCA5MSwgNywgNCwgMSwgCi0gICAgMjExLCAxMTgsIDIsIDkxLCA3LCA0LCAxLCAyMTUsIDk0LCA2MSwgNywgNCwgMSwgMjU0LCAxNTEsIDcsIDQsIDEsIDIxNSwgCi0gICAgOTQsIDI1NCwgMTUxLCA3LCA0LCAxLCA1NywgMiwgMTAzLCA3LCA0LCAxLCAyMDQsIDc4LCA3LCA0LCAxLCAyNTEsIDc1LCAyLCAKLSAgICAyNDksIDEwOCwgNywgNCwgMSwgMjQ5LCA2OSwgMiwgMjE3LCA3OCwgNywgNCwgMSwgMjQ5LCA2OSwgMiwgMTAzLCA3LCA0LCAKLSAgICAxLCAyMjMsIDUyLCA3NiwgNywgNCwgMSwgMjIxLCAxOTcsIDcsIDQsIDEsIDIyMSwgMTk4LCAyLCAxMDMsIDcsIDQsIDEsIAotICAgIDIwNCwgNzYsIDcsIDQsIDEsIDIyMywgNTIsIDIwNCwgNzYsIDcsIDQsIDEsIDIyMywgNTIsIDIwNCwgMTYwLCAyLCAxMDMsIAotICAgIDcsIDQsIDEsIDI1MCwgOCwgMjIzLCA1MiwgMjA0LCA3NiwgNywgNCwgMSwgMjQ3LCAxMjcsIDIzNSwgMTUxLCAyLCA5MSwgNywgCi0gICAgNCwgMSwgMjQzLCAyMTAsIDIsIDEwMywgNywgNCwgMSwgMTE5LCAyNDMsIDIwOSwgNywgMSwgNCwgNiwgMjQzLCAyMDksIDcsIAotICAgIDQsIDEsIDI0MywgMTE0LCA3LCA0LCAxLCAyMjMsIDE1NCwgMjQwLCAyNTUsIDcsIDQsIDEsIDIxNSwgOTQsIDI0MiwgNjcsIAotICAgIDcsIDQsIDEsIDI0MiwgNjgsIDIsIDEwMywgNywgNCwgMSwgMjQxLCAyMTUsIDIsIDEwMywgNywgNCwgMSwgMjQwLCAxNjEsIAotICAgIDIsIDkxLCA3LCA0LCAxLCAyMzUsIDE5MiwgNywgMSwgNCwgNiwgNzQsIDcsIDQsIDEsIDIzMywgMTU1LCAyLCAyMzAsIDIyOSwgCi0gICAgMTg0LCA3LCA0LCAxLCAyMzMsIDE1NSwgMiwgMjUyLCA0OSwgNywgNCwgMSwgMjMzLCAxNTUsIDIsIDIyMywgNTgsIDEwMywgCi0gICAgNywgNCwgMSwgMjMzLCA3LCA3LCA0LCAxLCAyMTUsIDk0LCAxOTQsIDcsIDQsIDEsIDIxNSwgOTQsIDIzMiwgNTUsIDIsIAotICAgIDIwMCwgMjMzLCA0MiwgNywgNCwgMSwgMjMyLCA1NSwgMiwgMTAzLCA3LCA0LCAxLCAyMzAsIDMxLCAyLCA0MywgMTAzLCA3LCAKLSAgICA0LCAxLCAyMzAsIDMxLCAyLCAyMjMsIDU4LCAxMDMsIDcsIDEsIDQsIDYsIDIzMCwgMzAsIDcsIDQsIDEsIDI1MiwgMTQyLCAKLSAgICA3OCwgNywgMSwgNCwgNiwgMjI2LCAyMzgsIDcsIDQsIDEsIDI1MCwgOCwgMjI2LCAyMDUsIDcsIDQsIDEsIDIyNSwgMTM2LCAKLSAgICA3LCA0LCAxLCAyMTUsIDk0LCAxNTMsIDcsIDQsIDEsIDIxNSwgOTQsIDIyMywgMjI3LCAyLCAyMDAsIDIzMywgNDIsIDcsIDQsIAotICAgIDEsIDIxNSwgOTQsIDIyMywgMjI3LCAyLCAxMDMsIDcsIDQsIDEsIDIyMywgMjI3LCAyLCAyMDAsIDIzMywgNDIsIDcsIDQsIAotICAgIDEsIDIyMywgMjI3LCAyLCAyMTcsIDc4LCA3LCA0LCAxLCAyMjMsIDIyNywgMiwgMjQ0LCA5NSwgNywgNCwgMSwgMjIzLCA1MiwgCi0gICAgMjIzLCAyMjcsIDIsIDI0NCwgOTUsIDcsIDEsIDQsIDYsIDE1MywgNywgMSwgNCwgNiwgMjM1LCAyMDAsIDE1MywgNywgNCwgCi0gICAgMSwgMjIyLCA5NCwgMiwgMTAzLCA3LCA0LCAxLCAyNDUsIDgzLCA3LCA0LCAxLCAyNDcsIDEyNywgMjM1LCAxNTEsIDIsIAotICAgIDIxOCwgMTA1LCAyMiwgMTAzLCA3LCA0LCAxLCAyMTgsIDIzMywgMjIzLCA1MiwgMjQ1LCA4MywgNywgNCwgMSwgMjQ1LCA4NCwgCi0gICAgMiwgMjQ5LCAxMDgsIDcsIDQsIDEsIDIxNSwgOTQsIDIxNywgMTUzLCA3LCA0LCAxLCAyMTcsIDE1NCwgMiwgMjIzLCA1OCwgCi0gICAgMTAzLCA3LCA0LCAxLCAxMDQsIDEzMCwgNywgNCwgMSwgMjE0LCAxNTcsIDcsIDQsIDEsIDIxNCwgMTA2LCAyLCAxMDMsIDcsIAotICAgIDQsIDEsIDIxNSwgOTQsIDIxNCwgMTA1LCA3LCA0LCAxLCAyMTUsIDk0LCAyMTIsIDk4LCA3LCA0LCAxLCAyMTUsIDk0LCAKLSAgICAyMTEsIDExNywgNywgMSwgNCwgNiwgMjExLCAxMTcsIDcsIDQsIDEsIDIxMCwgMTYwLCAyLCAyMjMsIDU4LCAxMDMsIDcsIDQsIAotICAgIDEsIDIxMCwgMTYwLCAyLCAyNDksIDEwOCwgNywgNCwgMSwgMjQ1LCAxNiwgNywgNCwgMSwgMjQ1LCAxNywgMiwgMjQ5LCAKLSAgICAxMDgsIDcsIDEsIDI0MiwgMTg3LCAyMTgsIDEzMSwgNywgMSwgMjI1LCAxNDIsIDIxMywgMTM1LCAyNDQsIDEsIDcsIDEsIAotICAgIDIzNSwgMjAwLCAyNDIsIDE4NywgMjE4LCAxMzEsIDcsIDEsIDIxOCwgMTEyLCAyNTEsIDc0LCA3LCAxLCAyNTEsIDI1NCwgCi0gICAgMjUwLCAxOSwgNywgMSwgNCwgNiwgMjUzLCAxNjYsIDcsIDQsIDEsIDI1MCwgOCwgMjA0LCA3NiwgNywgMSwgNCwgNiwgMjQzLCAKLSAgICAyMTAsIDIsIDEwMywgNywgMSwgNCwgNiwgMjQyLCA2NywgNywgNCwgMSwgMjM1LCAxNTEsIDIsIDI0OSwgMTM1LCA3LCA0LCAKLSAgICAxLCAyMTUsIDk0LCAyMzUsIDI5LCA3LCAxLCA0LCA2LCAxNTYsIDcsIDQsIDEsIDIyNCwgMTAwLCAyLCAxMDMsIDcsIDEsIAotICAgIDI0MiwgMTg3LCAyMTgsIDEzMiwgMiwgOTEsIDcsIDEsIDIyMywgNTIsIDI0MiwgMTg3LCAyMTgsIDEzMiwgMiwgOTEsIDcsIAotICAgIDQsIDEsIDI0NiwgNDgsIDI0NywgMjI4LCA3LCA0LCAxLCAyNDgsIDM0LCAyNDcsIDIyOCwgNywgNCwgMSwgMjQ2LCA0OCwgCi0gICAgMjQ3LCAyMjksIDIsIDI0OSwgMTA4LCA3LCA0LCAxLCAyMTUsIDE4NiwgMjQ3LCAyMjgsIDcsIDQsIDEsIDIxNiwgMjM2LCAKLSAgICAyNDcsIDIyOCwgNywgNCwgMSwgMjE3LCAzMCwgMjQ3LCAyMjksIDIsIDI0OSwgMTA4LCA3LCA0LCAxLCAyNDQsIDE0MiwgCi0gICAgMjQ3LCAyMjgsIDcsIDQsIDEsIDIzMiwgMTA1LCAyNDcsIDIyOCwgNywgNCwgMSwgMjMyLCA1NiwgMjQ3LCAyMjgsIDcsIDEsIAotICAgIDI1MSwgMjU0LCAyMjUsIDE4NCwgNywgMSwgMjUyLCA2LCAyMjUsIDE4NCwgNywgNCwgMSwgMjE1LCA5NCwgMjQyLCA2OCwgMiwgCi0gICAgMjQ0LCA5NSwgNywgNCwgMSwgMjE1LCA5NCwgMjQyLCA2OCwgMiwgMjQ0LCA5NiwgMjIsIDIxNywgNzgsIDU4LCAxLCA0LCAKLSAgICAyNDIsIDY3LCA1OCwgMSwgNCwgMjQyLCA2OCwgMiwgMTAzLCA1OCwgMSwgNCwgMjM1LCAxNTAsIDU4LCAxLCA0LCAxNTMsIAotICAgIDU4LCAxLCA0LCAyMTUsIDk0LCAxNTMsIDU4LCAxLCA0LCAyMTUsIDk0LCAyMjMsIDIyNywgMiwgMTAzLCA1OCwgMSwgNCwgNiwgCi0gICAgMjM1LCAyMDAsIDE1MywgNTgsIDEsIDQsIDIxMiwgOTgsIDU4LCAxLCA0LCAyMTEsIDExNywgNTgsIDEsIDIyNCwgMTkzLCAKLSAgICA1OCwgMSwgNTIsIDIyNCwgMTkzLCA1OCwgMSwgMjE1LCA5NCwgMjQ5LCAyMjcsIDU4LCAxLCAyNTQsIDY1LCA1OCwgMSwgCi0gICAgMjIzLCA1MiwgMjQ5LCAyMjcsIDU4LCAxLCA0NCwgMTYzLCAyMjIsIDIzNiwgNTgsIDEsIDQzLCAxNjMsIDIyMiwgMjM2LCAKLSAgICA1OCwgMSwgMjQyLCAxODcsIDIxOCwgMTMxLCA1OCwgMSwgMjIzLCA1MiwgMjQyLCAxODcsIDIxOCwgMTMxLCA1OCwgMSwgNDMsIAotICAgIDI1NCwgMSwgNTgsIDEsIDQ0LCAyNTQsIDEsIDU4LCAxLCAxMjAsIDI1NCwgMSwgNTgsIDEsIDEyNCwgMjU0LCAxLCA1OCwgMSwgCi0gICAgMjUwLCAzOSwgMjU1LCAyMywgMjUwLCAyNDIsIDU4LCAxLCA2NywgMjMyLCAyMTksIDU4LCAxLCAyMzEsIDIzNywgNTgsIDEsIAotICAgIDI1NSwgMTIsIDI1NSwgMjMsIDU4LCAxLCAyNDIsIDE0NCwgMjU1LCAyMywgNTgsIDEsIDEyMSwgNjcsIDIzMiwgMjE5LCA1OCwgCi0gICAgMSwgMTIxLCAyMzEsIDIzNywgNTgsIDEsIDEyMSwgMjQyLCAxNDQsIDI1NSwgMjMsIDU4LCAxLCAxMjEsIDI1NSwgMTIsIAotICAgIDI1NSwgMjMsIDU4LCAxLCAyMTUsIDIyMywgMjQ5LCAyMzQsIDU4LCAxLCAxNjMsIDIxNSwgMjIzLCAyNDksIDIzNCwgNTgsIAotICAgIDEsIDI1MCwgMTgxLCA0NCwgMTYzLCAyMjIsIDIzNiwgNTgsIDEsIDI1MCwgMTgxLCA0MywgMTYzLCAyMjIsIDIzNiwgNTgsIAotICAgIDEsIDEyMCwgMjE3LCA4OCwgNTgsIDEsIDEyNCwgMjE3LCA4OCwgNTgsIDEsIDk2LCA1MCwgNTgsIDEsIDIzMCwgMTg3LCA1MCwgCi0gICAgMjUxLCAxNTQsIDU5LCA0OCwgMjIyLCAyMzcsIDQ4LCAyMjYsIDIyOCwgNCwgMTg0LCA1MiwgMjU1LCAxMiwgMjU1LCAyMywgCi0gICAgNTgsIDEsIDIyMywgMzksIDEwMywgNTgsIDEsIDI0OSwgMTM5LCAyNTUsIDIzLCA1OCwgMSwgNCwgMjQzLCAxMTQsIDU4LCAxLCAKLSAgICA0LCAxNTYsIDU4LCAxLCA0LCAyMjIsIDkzLCA1OCwgMSwgNCwgMjExLCAxNzgsIDU4LCAxLCA0LCAyMjMsIDUyLCAyNDIsIAotICAgIDE4NywgMjE4LCAxMzEsIDU4LCAxLCAyNDUsIDI4LCAxMzgsIDEzMCwgNTgsIDEsIDEyNSwgMTM4LCAxMzAsIDU4LCAxLCAKLSAgICAyMzAsIDIzMCwgMTM4LCAxMzAsIDU4LCAxLCAxMjEsIDEzOCwgMTMwLCA1OCwgMSwgMjQ1LCAyNywgMTM4LCAxMzAsIDU4LCAKLSAgICAxLCAyMTAsIDI1NCwgMjQ4LCA1MiwgMTM4LCA3OSwgNTgsIDEsIDIxMSwgNzAsIDI0OCwgNTIsIDEzOCwgNzksIDU4LCAxLCAKLSAgICAyMTMsIDEzMywgNTgsIDEsIDIxNCwgMTg2LCA1OCwgMSwgNTIsIDI1NCwgNjUsIDU4LCAxLCAxMjEsIDEyNCwgMjU0LCAxLCAKLSAgICA1OCwgMSwgMTIxLCAxMjAsIDI1NCwgMSwgNTgsIDEsIDEyMSwgNDMsIDI1NCwgMSwgNTgsIDEsIDEyMSwgNDQsIDI1NCwgMSwgCi0gICAgNTgsIDEsIDEyMSwgMjIyLCAyMzYsIDU4LCAxLCAyMzAsIDIyOSwgMjQyLCAxNDQsIDI1NSwgMjMsIDU4LCAxLCAyMzAsIAotICAgIDIyOSwgNTIsIDI0MiwgMTQ0LCAyNTUsIDIzLCA1OCwgMSwgMjMwLCAyMjksIDUyLCAyNTUsIDEyLCAyNTUsIDIzLCA1OCwgMSwgCi0gICAgMTIxLCAxODQsIDU4LCAxLCAyMjMsIDE2MCwgMjQ5LCAyMzQsIDU4LCAxLCAyNTIsIDY2LCAxMjUsIDIxNiwgMzEsIDU4LCAxLCAKLSAgICAyNDUsIDE1MSwgMTI1LCAyMTYsIDMxLCA1OCwgMSwgMjUyLCA2NiwgMTIxLCAyMTYsIDMxLCA1OCwgMSwgMjQ1LCAxNTEsIAotICAgIDEyMSwgMjE2LCAzMSwgNTgsIDEsIDIyMCwgNTYsIDU4LCAxLCAyMDQsIDIyMCwgNTYsIDU4LCAxLCAxMjEsIDQzLCA3NSwgCi0gICAgMzgsIDI0MiwgMTQ0LCAyNTUsIDIzLCAzOCwgMjU1LCAxMiwgMjU1LCAyMywgMzgsIDI1MCwgMzksIDI1NSwgMjMsIDM4LCAKLSAgICAxODQsIDM4LCAyMzEsIDIzNywgMzgsIDIyNiwgMTIzLCAzOCwgMjUxLCAxNTQsIDM4LCA1OSwgNDgsIDM4LCAyNDgsIDksIAotICAgIDM4LCAyNDEsIDU5LCA0OCwgMzgsIDIyMiwgMjM3LCA0OCwgMzgsIDUyLCAyNTUsIDEyLCAyNTUsIDIzLCAzOCwgMjUwLCAKLSAgICAyNDIsIDM4LCA2NywgMjMyLCAyMjAsIDQ4LCAzOCwgNTIsIDY3LCAyMzIsIDIyMCwgNDgsIDM4LCA1MiwgMjQyLCAxNDQsIAotICAgIDI1NSwgMjMsIDM4LCAyNTEsIDcsIDM4LCAyMzUsIDIwMCwgMjUxLCAxNTQsIDM4LCAyMTUsIDk0LCAyNDksIDIyOCwgNDgsIAotICAgIDM4LCAyNDksIDIyOCwgNDgsIDM4LCAyMjMsIDUyLCAyNDksIDIyOCwgNDgsIDM4LCAyNDksIDIyOCwgNzIsIDIyMiwgMjU0LCAKLSAgICAzOCwgMjQyLCAxNDQsIDI1NSwgMjQsIDUxLCAzOCwgMjU1LCAxMiwgMjU1LCAyNCwgNTEsIDM4LCA0MywgMjE3LCA4OSwgNTEsIAotICAgIDM4LCA0NCwgMjE3LCA4OSwgNTEsIDM4LCA0MywgMjU0LCAxMTgsIDQ4LCAzOCwgMjQwLCAyNTUsIDM4LCA0MywgMTYzLCAKLSAgICAyMjIsIDIzNywgNTEsIDM4LCAxMjAsIDIxNywgODksIDUxLCAzOCwgMTI0LCAyMTcsIDg5LCA1MSwgMzgsIDk2LCA1LCA1MSwgCi0gICAgMzgsIDIzMCwgMTg3LCA1LCA1MSwgMzgsIDIyNiwgNjgsIDI0MSwgNTksIDUxLCAzOCwgMjIzLCA1OCwgMjQxLCA1OSwgNTEsIAotICAgIDM4LCA1OSwgNTEsIDM4LCAyNDgsIDEwLCA1MSwgMzgsIDIyMiwgMjM3LCA1MSwgMzgsIDI0OSwgMjI4LCA1MSwgMzgsIDI1MCwgCi0gICAgMTkxLCAzOCwgMjI2LCAyMjgsIDM4LCA2NywgMjMyLCAyMjAsIDUxLCAzOCwgMjUxLCAxNDgsIDUxLCAzOCwgMjM1LCAyMDAsIAotICAgIDUyLCAyNTQsIDMyLCA1MSwgMzgsIDI1MCwgMjQzLCA1MSwgMzgsIDI1MCwgMzksIDI1NSwgMjQsIDUxLCAzOCwgMjUxLCAKLSAgICAxNTUsIDUxLCAzOCwgMjM1LCAyMDAsIDI1MSwgMTU1LCA1MSwgMzgsIDIxNiwgOTAsIDUxLCAzOCwgMjMxLCAyMzgsIDUxLCAKLSAgICAzOCwgMTIxLCAyMzIsIDIxOSwgMzgsIDUyLCAxMjEsIDIzMiwgMjE5LCAzOCwgMjE2LCA5MCwgMjI2LCAxMjQsIDM4LCAyMTksIAotICAgIDI1MywgMjE4LCAxMDUsIDIyNiwgMTI0LCAzOCwgMjAwLCAyMTgsIDEwNSwgMjI2LCAxMjQsIDM4LCAyMTksIDI1MywgMjE5LCAKLSAgICA0OSwgMjI2LCAxMjQsIDM4LCAyMDAsIDIxOSwgNDksIDIyNiwgMTI0LCAzOCwgNDQsIDE2MywgMjIyLCAyMzcsIDUxLCAzOCwgCi0gICAgMjM1LCAyMDAsIDI1MSwgMTQ4LCA1MSwgMzgsIDQyLCA1MSwgMzgsIDIyMSwgMTgyLCA1MSwgMzgsIDIxMSwgMTc5LCA0OCwgCi0gICAgMzgsIDY3LCAxODQsIDM4LCA1MiwgMjI2LCAxMjMsIDM4LCAyNDIsIDE0NCwgMTM4LCA3OSwgMzgsIDI1NSwgMTIsIDEzOCwgCi0gICAgNzksIDM4LCAyNiwgMjI1LCAxNzgsIDM4LCAyNiwgMjM0LCA4LCAzOCwgMjYsIDI0OCwgNCwgMjE2LCAxOSwgMzgsIDI2LCAKLSAgICAyMTAsIDIxOSwgMzgsIDI1MSwgMTQ4LCA0OCwgMzgsIDI0NSwgMTA2LCA1LCA1MSwgMzgsIDUyLCA2NywgMjMyLCAyMjAsIAotICAgIDUxLCAzOCwgNDMsIDI1NCwgMTE4LCA1MSwgMzgsIDIyOCwgNTcsIDIxNiwgOTAsIDQ4LCAzOCwgMjQxLCA2NSwgNDgsIDM4LCAKLSAgICAyNTQsIDE1NiwgMTI4LCAyMTYsIDQzLCA0OCwgMzgsIDQzLCA0NCwgODAsIDUxLCAzOCwgMjE0LCAxNTMsIDgwLCA1MSwgMzgsIAotICAgIDI0MiwgMTQ5LCAyMzUsIDY5LCAzOCwgNDQsIDI1NCwgMiwgNDgsIDM4LCA0MywgMTYzLCAyMjIsIDIzNywgNDgsIDM4LCAKLSAgICAyNDQsIDEzOSwgMzgsIDIxMSwgMTc5LCA1MSwgMzgsIDQzLCAyNTQsIDIsIDUxLCAzOCwgNDQsIDI1NCwgMiwgNTEsIDM4LCAKLSAgICA0NCwgMjU0LCAyLCAyMiwgMTIwLCAyNTQsIDIsIDUxLCAzOCwgNDQsIDE2MywgMjIyLCAyMzcsIDQ4LCAzOCwgNTksIDcyLCAKLSAgICAyMjIsIDI1NCwgMzgsIDI1MywgMjI1LCA1MSwgMzgsIDUyLCAyMjIsIDIzNywgNTEsIDM4LCAyMTAsIDM1LCA0OCwgMzgsIAotICAgIDUyLCAyNTEsIDE1NSwgNTEsIDM4LCA1MiwgMjUxLCAxNTQsIDM4LCA1MiwgMjMxLCAyMzcsIDM4LCA1MiwgMjMxLCAyMzgsIAotICAgIDUxLCAzOCwgNTIsIDE4NCwgMzgsIDUyLCAyMzUsIDIwMCwgMjUxLCAxNTQsIDM4LCA1MiwgOTcsIDgwLCA1MSwgMzgsIDcsIAotICAgIDQsIDEsIDYxLCAzOCwgNywgNCwgMSwgNzYsIDM4LCA3LCA0LCAxLCA3NCwgMzgsIDcsIDQsIDEsIDc4LCAzOCwgNywgNCwgMSwgCi0gICAgNjksIDM4LCA3LCA0LCAxLCAyNTEsIDc0LCAzOCwgNywgNCwgMSwgMjQ5LCA2OCwgMzgsIDcsIDQsIDEsIDI0MiwgNjcsIDM4LCAKLSAgICA3LCA0LCAxLCAxOTQsIDM4LCA3LCA0LCAxLCAxNTMsIDM4LCA3LCA0LCAxLCAyMTcsIDE1MywgMzgsIDcsIDQsIDEsIDIxNCwgCi0gICAgMTA1LCAzOCwgNywgNCwgMSwgMjExLCAxNzgsIDI2LCA2LCAxLCAyNDEsIDIwMywgMjYsIDQsIDEsIDI0MSwgMjAzLCAyNiwgCi0gICAgNiwgMSwgMjU0LCAzMSwgMjIxLCAyNDgsIDI2LCA0LCAxLCAyNTQsIDMxLCAyMjEsIDI0OCwgMjYsIDIyNywgMjAyLCA1MCwgCi0gICAgMjYsIDIzMiwgMTE0LCAyMjcsIDIwMiwgNTAsIDI2LCA2LCAxLCAyMjYsIDU1LCAyNDcsIDIzNSwgMjYsIDQsIDEsIDIyNiwgCi0gICAgNTUsIDI0NywgMjM1LCAyNiwgMjEwLCAyMTksIDI2LCA0LCAyMjMsIDUyLCAyMzIsIDg4LCAyMTksIDE4MCwgODcsIDI2LCA0LCAKLSAgICAyNDYsIDEyNiwgMjMyLCA4OCwgMjE5LCAxODAsIDg3LCAyNiwgNCwgMjIzLCA1MiwgMjQ2LCAxMjYsIDIzMiwgODgsIDIxOSwgCi0gICAgMTgwLCA4NywgMjYsIDIyNCwgMTYsIDc5LCAyNiwgMjE2LCAxOSwgMjYsIDI0OCwgNCwgMjE2LCAxOSwgMjYsIDYsIDEsIAotICAgIDI1NCwgMTUyLCAyLCAyMTYsIDE5LCAyNiwgMjU0LCAxMDUsIDIxNywgMywgMjYsIDYsIDEsIDI0NSwgMTA5LCAyLCAyMTYsIAotICAgIDE5LCAyNiwgNiwgMSwgMjQ1LCA3MiwgMiwgMjE2LCAxOSwgMjYsIDYsIDEsIDIzNSwgMTkzLCAyLCAyMTYsIDE5LCAyNiwgNiwgCi0gICAgMSwgMjI2LCAyMDQsIDIsIDIxNiwgMTksIDI2LCA2LCAxLCAyMTQsIDE1OCwgMiwgMjE2LCAxOSwgMjYsIDYsIDEsIDIyNiwgCi0gICAgMjA2LCAyLCAyMTYsIDE5LCAyNiwgNCwgMSwgMjM1LCAxOTMsIDIsIDI0OCwgNCwgMjIsIDIxNiwgMTksIDI2LCA2LCAxLCAKLSAgICAyNTQsIDE1MSwgMjYsIDYsIDEsIDI1MiwgMzQsIDI2LCA2LCAxLCAyNDMsIDExNCwgMjYsIDYsIDEsIDI0OCwgNjIsIDI2LCAKLSAgICA2LCAxLCAyNDUsIDEwOCwgMjYsIDYsIDEsIDIxMCwgODUsIDI2LCA2LCAxLCAyNDUsIDcxLCAyNiwgNiwgMSwgMjE2LCAxODAsIAotICAgIDI2LCA2LCAxLCAyMzUsIDE5MiwgMjYsIDYsIDEsIDIzNCwgMjI4LCAyNiwgNiwgMSwgMjMzLCAxMDQsIDI2LCA2LCAxLCAKLSAgICAyMzAsIDEwNywgMjYsIDYsIDEsIDIyNywgMjQyLCAyNiwgNiwgMSwgMjExLCAxNTcsIDI2LCA2LCAxLCAyMjYsIDIwMywgMjYsIAotICAgIDYsIDEsIDIyNSwgMTExLCAyNiwgNiwgMSwgMjIzLCA0MCwgMjYsIDYsIDEsIDIxOSwgMTc5LCAyNiwgNiwgMSwgMjE3LCA0MiwgCi0gICAgMjYsIDYsIDEsIDIxNCwgMTU3LCAyNiwgNiwgMSwgMjI1LCAxMzYsIDI2LCA2LCAxLCAyNTAsIDExOCwgMjYsIDYsIDEsIAotICAgIDIyNCwgMTY0LCAyNiwgNiwgMSwgMjI2LCAyMDUsIDI2LCA2LCAxLCAyMzUsIDE5MywgMiwgMjQ4LCAzLCAyNiwgNiwgMSwgCi0gICAgMjE0LCAxNTgsIDIsIDI0OCwgMywgMjYsIDQsIDEsIDI1NCwgMTUyLCAyLCAyMTYsIDE5LCAyNiwgNCwgMSwgMjQ1LCAxMDksIAotICAgIDIsIDIxNiwgMTksIDI2LCA0LCAxLCAyNDUsIDcyLCAyLCAyMTYsIDE5LCAyNiwgNCwgMSwgMjM1LCAxOTMsIDIsIDIxNiwgCi0gICAgMTksIDI2LCA0LCAxLCAyMTQsIDE1OCwgMiwgMjQ4LCA0LCAyMiwgMjE2LCAxOSwgMjYsIDQsIDEsIDI1NCwgMTUxLCAyNiwgCi0gICAgNCwgMSwgMjUyLCAzNCwgMjYsIDQsIDEsIDI0MywgMTE0LCAyNiwgNCwgMSwgMjQ4LCA2MiwgMjYsIDQsIDEsIDI0NSwgMTA4LCAKLSAgICAyNiwgNCwgMSwgMjEwLCA4NSwgMjYsIDQsIDEsIDI0NSwgNzEsIDI2LCA0LCAxLCAyMTYsIDE4MCwgMjYsIDQsIDEsIDIzNSwgCi0gICAgMTkyLCAyNiwgNCwgMSwgMjM0LCAyMjgsIDI2LCA0LCAxLCAyMzMsIDEwNCwgMjYsIDQsIDEsIDIzMCwgMTA3LCAyNiwgNCwgCi0gICAgMSwgMjI3LCAyNDIsIDI2LCA0LCAxLCAyMTEsIDE1NywgMjYsIDQsIDEsIDIyNiwgMjAzLCAyNiwgNCwgMSwgMjI1LCAxMTEsIAotICAgIDI2LCA0LCAxLCAyMjMsIDQwLCAyNiwgNCwgMSwgNDAsIDIxOSwgMTc5LCAyNiwgNCwgMSwgMjE5LCAxNzksIDI2LCA0LCAxLCAKLSAgICAyMTcsIDQyLCAyNiwgNCwgMSwgMjE0LCAxNTcsIDI2LCA0LCAxLCAyMjUsIDEzNiwgMjYsIDQsIDEsIDI1MCwgMTE4LCAyNiwgCi0gICAgNCwgMSwgMjI0LCAxNjQsIDI2LCA0LCAxLCAyMjYsIDIwNSwgMjYsIDQsIDEsIDIzNSwgMTkzLCAyLCAyNDgsIDMsIDI2LCA0LCAKLSAgICAxLCAyMTQsIDE1OCwgMiwgMjQ4LCAzLCAyNiwgNCwgMSwgMjI2LCAyMDQsIDIsIDIxNiwgMTksIDI2LCA0LCAxLCAyMTQsIAotICAgIDE1OCwgMiwgMjE2LCAxOSwgMjYsIDQsIDEsIDIyNiwgMjA2LCAyLCAyMTYsIDE5LCAyNiwgNiwgMjM0LCAyNTMsIDg3LCAyNiwgCi0gICAgMjUyLCAzNSwgODcsIDI2LCAyMTYsIDE4MSwgODcsIDI2LCAyMTQsIDE1OCwgMiwgMjQxLCA1OSwgODcsIDI2LCAyMTQsIAotICAgIDE1OCwgMiwgMjU1LCAxMiwgMjIsIDI0MSwgNTksIDg3LCAyNiwgMjE0LCAxNTgsIDIsIDI0OCwgMTAsIDIyLCAyNDEsIDU5LCAKLSAgICA4NywgMjYsIDIyNSwgMTM3LCA4NywgMjYsIDIyNSwgMTEyLCA4NywgMjYsIDIzNCwgMjUzLCA4NywgMjYsIDEsIDI1NCwgMzEsIAotICAgIDIzNCwgMTIsIDI2LCA0LCAxLCAyNTQsIDMxLCAyMzQsIDEyLCAyNiwgMSwgMjE4LCAxMzksIDI2LCA0LCAxLCAyMTgsIDEzOSwgCi0gICAgMjYsIDEsIDI0NywgMjM1LCAyNiwgNCwgMSwgMjQ3LCAyMzUsIDI2LCAxLCAyMzQsIDEyLCAyNiwgNCwgMSwgMjM0LCAxMiwgCi0gICAgMjYsIDEsIDIyMSwgMjQ4LCAyNiwgNCwgMSwgMjIxLCAyNDgsIDgxLCA2LCAxLCAyMjAsIDU3LCA4MSwgNCwgMSwgMjIwLCAKLSAgICA1NywgODEsIDYsIDEsIDI0NCwgMTQ4LCA4MSwgNCwgMSwgMjQ0LCAxNDgsIDgxLCA2LCAxLCAyMzQsIDEyMywgODEsIDQsIDEsIAotICAgIDIzNCwgMTIzLCA4MSwgNiwgMSwgMjQxLCA1MiwgODEsIDQsIDEsIDI0MSwgNTIsIDgxLCA2LCAxLCAyNDMsIDEwOSwgODEsIAotICAgIDQsIDEsIDI0MywgMTA5LCA4MSwgNiwgMSwgMjIwLCAyNCwgODEsIDQsIDEsIDIyMCwgMjQsIDgxLCA2LCAxLCAyNDgsIDc3LCAKLSAgICA4MSwgNCwgMSwgMjQ4LCA3NywgMjYsIDIzNCwgMjI5LCA4NywgMjYsIDIyMywgNDEsIDg3LCAyNiwgMjMyLCA4OCwgMjE5LCAKLSAgICAxODAsIDg3LCAyNiwgMSwgMjEwLCAyMjQsIDI2LCA2LCAyMTYsIDE4MSwgODcsIDI2LCAyMzIsIDg4LCAyNDUsIDEwOSwgODcsIAotICAgIDI2LCAyMjMsIDUyLCAyMzIsIDg4LCAyNDUsIDEwOSwgODcsIDI2LCA2LCAxLCAyMjAsIDksIDI2LCA0LCAxLCAyMjAsIDksIAotICAgIDI2LCA2LCAyMzIsIDg4LCAyMTksIDE4MCwgODcsIDI2LCA2LCAxLCAyMjEsIDI0NSwgMjYsIDQsIDEsIDIyMSwgMjQ1LCAyNiwgCi0gICAgMjIzLCA0MSwgMiwgMjE4LCAxMDUsIDg3LCAyNiwgNiwgMjIzLCA1MiwgMjMyLCA4OCwgMjE5LCAxODAsIDg3LCAyNiwgNiwgCi0gICAgMjQ2LCAxMjYsIDIzMiwgODgsIDIxOSwgMTgwLCA4NywgMjYsIDYsIDIyMywgNTIsIDI0NiwgMTI2LCAyMzIsIDg4LCAyMTksIAotICAgIDE4MCwgODcsIDMzLCA2LCAxLCAyMzYsIDY4LCAyLCAyNDIsIDE0MywgMzMsIDYsIDEsIDIzNSwgMTk2LCAzMywgNiwgMSwgCi0gICAgMjQ3LCAxNzAsIDMzLCA2LCAxLCAyNDIsIDE5NCwgMzMsIDYsIDEsIDIxNCwgMjAyLCAyMzYsIDY3LCAzMywgNiwgMSwgMjQ2LCAKLSAgICA0NCwgMzMsIDYsIDEsIDI1MSwgODQsIDc0LCAzMywgNiwgMSwgMjExLCA4LCAzMywgNiwgMSwgMjM1LCAxMzIsIDMzLCA2LCAKLSAgICAxLCAyMzIsIDE5MywgMzMsIDYsIDEsIDIyOCwgMTgzLCAzMywgNiwgMSwgMjE1LCAxNzUsIDMzLCA2LCAxLCAyMzQsIDU0LCAKLSAgICAzMywgNiwgMSwgMjQwLCAxNjEsIDIsIDI0MiwgMTQzLCAzMywgNiwgMSwgMjE5LCAyNTMsIDY5LCAzMywgNiwgMSwgMjQ2LCAKLSAgICA0MCwgMzMsIDYsIDEsIDYxLCAzMywgNiwgMSwgMjUyLCA4MywgMzMsIDYsIDEsIDIxMywgMjU1LCAzMywgNiwgMSwgMjQyLCAKLSAgICAyNDMsIDMzLCA2LCAxLCAyNDgsIDk4LCAzMywgNiwgMSwgMjM2LCA2NywgMzMsIDYsIDEsIDIxMCwgNzQsIDMzLCA2LCAxLCAKLSAgICAyMTAsIDk0LCAzMywgNiwgMSwgNzQsIDMzLCA2LCAxLCAyMTksIDI1MywgNzQsIDMzLCA2LCAxLCAxNzYsIDMzLCA2LCAxLCAKLSAgICAyNDUsIDE4MiwgMzMsIDYsIDEsIDI0NSwgMTY3LCAzMywgNiwgMSwgMjQ1LCAxNTgsIDMzLCA2LCAxLCA3OCwgMzMsIDYsIDEsIAotICAgIDIyNSwgMjI0LCAzMywgNiwgMSwgMjQ1LCAxMDAsIDMzLCA2LCAxLCAyNDUsIDkwLCAzMywgNiwgMSwgMjE3LCAyMywgMzMsIAotICAgIDYsIDEsIDY5LCAzMywgNiwgMSwgMjQ1LCAyMTAsIDMzLCA2LCAxLCAxNjIsIDMzLCA2LCAxLCAyMTUsIDE3OSwgMzMsIDYsIAotICAgIDEsIDI1MCwgMTM5LCAzMywgNiwgMSwgMjIwLCAxMDQsIDMzLCA2LCAxLCAyMjAsIDY3LCAzMywgNiwgMSwgMjQyLCAxMCwgCi0gICAgNTAsIDMzLCA2LCAxLCAyMTEsIDI3LCAzMywgNiwgMSwgMjE5LCA1NCwgNTAsIDMzLCA2LCAxLCA3NiwgMzMsIDYsIDEsIAotICAgIDIxMCwgMjEyLCAzMywgNiwgMSwgMTkyLCAzMywgNCwgMSwgNjEsIDMzLCA0LCAxLCAyNTIsIDgzLCAzMywgNCwgMSwgMjEzLCAKLSAgICAyNTUsIDMzLCA0LCAxLCAyNDIsIDI0MywgMzMsIDQsIDEsIDI0OCwgOTgsIDMzLCA0LCAxLCAyMzYsIDY3LCAzMywgNCwgMSwgCi0gICAgMjEwLCA3NCwgMzMsIDQsIDEsIDIxMCwgOTQsIDMzLCA0LCAxLCA3NCwgMzMsIDQsIDEsIDIxOSwgMjUzLCA3NCwgMzMsIDQsIAotICAgIDEsIDE3NiwgMzMsIDQsIDEsIDI0NSwgMTgyLCAzMywgNCwgMSwgMjQ1LCAxNjcsIDMzLCA0LCAxLCAyNDUsIDE1OCwgMzMsIAotICAgIDQsIDEsIDc4LCAzMywgNCwgMSwgMjI1LCAyMjQsIDMzLCA0LCAxLCAyNDUsIDEwMCwgMzMsIDQsIDEsIDI0NSwgOTAsIDMzLCAKLSAgICA0LCAxLCAyMTcsIDIzLCAzMywgNCwgMSwgNjksIDMzLCA0LCAxLCAyNDUsIDIxMCwgMzMsIDQsIDEsIDE2MiwgMzMsIDQsIDEsIAotICAgIDIxNSwgMTc5LCAzMywgNCwgMSwgMjUwLCAxMzksIDMzLCA0LCAxLCAyMjAsIDEwNCwgMzMsIDQsIDEsIDIyMCwgNjcsIDMzLCAKLSAgICA0LCAxLCAyNDIsIDEwLCA1MCwgMzMsIDQsIDEsIDIxMSwgMjcsIDMzLCA0LCAxLCAyMTksIDU0LCA1MCwgMzMsIDQsIDEsIAotICAgIDc2LCAzMywgNCwgMSwgMjEwLCAyMTIsIDMzLCA0LCAxLCAxOTIsIDMzLCA0LCAxLCAyMzYsIDY4LCAyLCAyNDIsIDE0MywgCi0gICAgMzMsIDQsIDEsIDIzNSwgMTk2LCAzMywgNCwgMSwgMjQ3LCAxNzAsIDMzLCA0LCAxLCAyNDIsIDE5NCwgMzMsIDQsIDEsIAotICAgIDIxNCwgMjAyLCAyMzYsIDY3LCAzMywgNCwgMSwgMjQ2LCA0NCwgMzMsIDQsIDEsIDI1MSwgODQsIDc0LCAzMywgNCwgMSwgCi0gICAgMjExLCA4LCAzMywgNCwgMSwgMjM1LCAxMzIsIDMzLCA0LCAxLCAyMzIsIDE5MywgMzMsIDQsIDEsIDIyOCwgMTgzLCAzMywgCi0gICAgNCwgMSwgMjE1LCAxNzUsIDMzLCA0LCAxLCAyMzQsIDU0LCAzMywgNCwgMSwgMjQwLCAxNjEsIDIsIDI0MiwgMTQzLCAzMywgCi0gICAgNCwgMSwgMjE5LCAyNTMsIDY5LCAzMywgNCwgMSwgMjQ2LCA0MCwgMzMsIDYsIDEsIDIyNiwgMjA1LCAzMywgNCwgMSwgMjI2LCAKLSAgICAyMDUsIDMzLCA2LCAxLCAyMTEsIDU5LCAzMywgNCwgMSwgMjExLCA1OSwgMzMsIDYsIDEsIDIzNSwgMTkwLCA3NiwgMzMsIDQsIAotICAgIDEsIDIzNSwgMTkwLCA3NiwgMzMsIDYsIDEsIDIzMiwgMTk4LCAyMTAsIDE4MywgMzMsIDQsIDEsIDIzMiwgMTk4LCAyMTAsIAotICAgIDE4MywgMzMsIDYsIDEsIDIzNSwgMTkwLCAyMzIsIDE5OCwgMjEwLCAxODMsIDMzLCA0LCAxLCAyMzUsIDE5MCwgMjMyLCAKLSAgICAxOTgsIDIxMCwgMTgzLCAzMywgNiwgMSwgMjUyLCAxLCAyMTAsIDE4MywgMzMsIDQsIDEsIDI1MiwgMSwgMjEwLCAxODMsIAotICAgIDMzLCA2LCAxLCAyMzUsIDE5MCwgMjUyLCAxLCAyMTAsIDE4MywgMzMsIDQsIDEsIDIzNSwgMTkwLCAyNTIsIDEsIDIxMCwgCi0gICAgMTgzLCAzMywgNiwgMSwgMjMzLCAyMzksIDMzLCA0LCAxLCAyMzMsIDIzOSwgMzMsIDYsIDEsIDIyNCwgMTY0LCAzMywgNCwgCi0gICAgMSwgMjI0LCAxNjQsIDMzLCA2LCAxLCAyNDQsIDkwLCAzMywgNCwgMSwgMjQ0LCA5MCwgMzMsIDYsIDEsIDIzNSwgMTUyLCAKLSAgICAzMywgNCwgMSwgMjM1LCAxNTIsIDMzLCA2LCAxLCAyMzUsIDE1MywgMiwgNTIsIDI0MiwgMTQ0LCAyNTUsIDIzLCAzMywgNCwgCi0gICAgMSwgMjM1LCAxNTMsIDIsIDUyLCAyNDIsIDE0NCwgMjU1LCAyMywgMzMsIDYsIDEsIDIxNCwgMjA1LCAzMywgNCwgMSwgMjE0LCAKLSAgICAyMDUsIDMzLCA2LCAxLCAyMjIsIDE4NywgMjI2LCAyMDUsIDMzLCA0LCAxLCAyMjIsIDE4NywgMjI2LCAyMDUsIDMzLCA2LCAKLSAgICAxLCAyMjYsIDIwNiwgMiwgMjE2LCA2NiwgMzMsIDQsIDEsIDIyNiwgMjA2LCAyLCAyMTYsIDY2LCAzMywgNiwgMSwgMjI2LCAKLSAgICAxNDQsIDMzLCA0LCAxLCAyMjYsIDE0NCwgMzMsIDYsIDEsIDIzNCwgMTIsIDMzLCA0LCAxLCAyMzQsIDEyLCAzMywgMjE2LCAKLSAgICAxNDcsIDUwLCAzOCwgMzMsIDIxNiwgNjYsIDM4LCAzMywgMjI2LCA2OSwgMzgsIDMzLCAyNDgsIDE2MiwgMjI1LCAyMSwgMzgsIAotICAgIDMzLCAyMjQsIDE1OCwgMjI1LCAyMSwgMzgsIDMzLCAyMjUsIDYsIDM4LCAzMywgMjQwLCAyMTgsIDIxNiwgMTQ3LCA1MCwgCi0gICAgMzgsIDMzLCAyMzAsIDE5NiwgNTAsIDMzLCA2LCAxLCAyMTksIDI1MywgMjQwLCAxNjEsIDIsIDIxNywgNzgsIDMzLCA0LCAxLCAKLSAgICAyMTksIDI1MywgMjQwLCAxNjEsIDIsIDIxNywgNzgsIDMzLCA2LCAxLCAyMjAsIDE0OCwgNTAsIDMzLCA0LCAxLCAyMjAsIAotICAgIDE0OCwgNTAsIDMzLCA2LCAxLCAyNDUsIDEwMSwgMiwgMjE2LCAxMTUsIDMzLCA0LCAxLCAyNDUsIDEwMSwgMiwgMjE2LCAKLSAgICAxMTUsIDMzLCA2LCAxLCAyNDIsIDI0NCwgMiwgMjE0LCAxNTYsIDMzLCA0LCAxLCAyNDIsIDI0NCwgMiwgMjE0LCAxNTYsIAotICAgIDMzLCA2LCAxLCAyNDIsIDI0NCwgMiwgOTEsIDMzLCA0LCAxLCAyNDIsIDI0NCwgMiwgOTEsIDMzLCA2LCAxLCAyNDIsIDI0NCwgCi0gICAgMiwgMjMwLCAyMjksIDEwMywgMzMsIDQsIDEsIDI0MiwgMjQ0LCAyLCAyMzAsIDIyOSwgMTAzLCAzMywgNiwgMSwgMjEwLCAKLSAgICA3NSwgMiwgMjQ4LCA0NywgMzMsIDQsIDEsIDIxMCwgNzUsIDIsIDI0OCwgNDcsIDMzLCA2LCAxLCAyMTAsIDk1LCAyLCAyNDgsIAotICAgIDQ3LCAzMywgNCwgMSwgMjEwLCA5NSwgMiwgMjQ4LCA0NywgMzMsIDYsIDEsIDIzNSwgMTksIDIsIDI0OCwgNDcsIDMzLCA0LCAKLSAgICAxLCAyMzUsIDE5LCAyLCAyNDgsIDQ3LCAzMywgNiwgMSwgMjM1LCAxOSwgMiwgNjcsIDkxLCAzMywgNCwgMSwgMjM1LCAxOSwgCi0gICAgMiwgNjcsIDkxLCAzMywgNiwgMSwgMjM1LCAxOSwgMiwgOTEsIDMzLCA0LCAxLCAyMzUsIDE5LCAyLCA5MSwgMzMsIDYsIDEsIAotICAgIDI1MiwgMTMyLCAxNzYsIDMzLCA0LCAxLCAyNTIsIDEzMiwgMTc2LCAzMywgNiwgMSwgMjQ1LCAxNTksIDIsIDI0OCwgNDcsIAotICAgIDMzLCA0LCAxLCAyNDUsIDE1OSwgMiwgMjQ4LCA0NywgMzMsIDYsIDI3LCAyNDUsIDE1OSwgMjQyLCAyNDMsIDMzLCA0LCAyNywgCi0gICAgMjQ1LCAxNTksIDI0MiwgMjQzLCAzMywgNiwgMSwgMjI1LCAyMjUsIDIsIDIzMCwgMjI5LCAxMDMsIDMzLCA0LCAxLCAyMjUsIAotICAgIDIyNSwgMiwgMjMwLCAyMjksIDEwMywgMzMsIDYsIDEsIDI1NSwgMjksIDE2MiwgMzMsIDQsIDEsIDI1NSwgMjksIDE2MiwgCi0gICAgMzMsIDYsIDEsIDI0NSwgOTEsIDIsIDI0OCwgNDcsIDMzLCA0LCAxLCAyNDUsIDkxLCAyLCAyNDgsIDQ3LCAzMywgNiwgMSwgCi0gICAgMjE3LCAyNCwgMiwgMjQ4LCA0NywgMzMsIDQsIDEsIDIxNywgMjQsIDIsIDI0OCwgNDcsIDMzLCA2LCAxLCAyMTgsIDEyMywgCi0gICAgNjksIDMzLCA0LCAxLCAyMTgsIDEyMywgNjksIDMzLCA2LCAxLCAyMTgsIDEyMywgMTA0LCAyLCA5MSwgMzMsIDQsIDEsIAotICAgIDIxOCwgMTIzLCAxMDQsIDIsIDkxLCAzMywgNiwgMSwgMjQyLCA1NiwgMiwgMjQ4LCA0NywgMzMsIDQsIDEsIDI0MiwgNTYsIAotICAgIDIsIDI0OCwgNDcsIDMzLCA2LCAyNywgMjE3LCAyNCwgMjE1LCAxNzksIDMzLCA0LCAyNywgMjE3LCAyNCwgMjE1LCAxNzksIAotICAgIDMzLCA2LCAxLCAyNTAsIDE0MCwgMiwgMjQ4LCA0NywgMzMsIDQsIDEsIDI1MCwgMTQwLCAyLCAyNDgsIDQ3LCAzMywgNiwgMSwgCi0gICAgMjUwLCAxNDAsIDIsIDY3LCA5MSwgMzMsIDQsIDEsIDI1MCwgMTQwLCAyLCA2NywgOTEsIDMzLCA2LCAxLCAyMjAsIDM1LCAKLSAgICAzMywgNCwgMSwgMjIwLCAzNSwgMzMsIDYsIDEsIDI1NSwgMjksIDI1MCwgMTM5LCAzMywgNCwgMSwgMjU1LCAyOSwgMjUwLCAKLSAgICAxMzksIDMzLCA2LCAxLCAyNTUsIDI5LCAyNTAsIDE0MCwgMiwgMjQ4LCA0NywgMzMsIDQsIDEsIDI1NSwgMjksIDI1MCwgCi0gICAgMTQwLCAyLCAyNDgsIDQ3LCAzMywgMSwgMjI2LCA2MiwgMzMsIDYsIDEsIDIxMCwgNzUsIDIsIDI1MSwgMTU0LCAzMywgNCwgCi0gICAgMSwgMjEwLCA3NSwgMiwgMjUxLCAxNTQsIDMzLCA2LCAxLCAyMzUsIDE5LCAyLCAxMDMsIDMzLCA0LCAxLCAyMzUsIDE5LCAyLCAKLSAgICAxMDMsIDMzLCA2LCAxLCAyNDUsIDE4MywgMiwgMjE3LCA3OCwgMzMsIDQsIDEsIDI0NSwgMTgzLCAyLCAyMTcsIDc4LCAzMywgCi0gICAgNiwgMSwgMjQ1LCAxNTksIDIsIDEwMywgMzMsIDQsIDEsIDI0NSwgMTU5LCAyLCAxMDMsIDMzLCA2LCAxLCAyNDUsIDE1OSwgCi0gICAgMiwgMjE3LCA3OCwgMzMsIDQsIDEsIDI0NSwgMTU5LCAyLCAyMTcsIDc4LCAzMywgNiwgMSwgMjM0LCAxMzMsIDI1MCwgMTM5LCAKLSAgICAzMywgNCwgMSwgMjM0LCAxMzMsIDI1MCwgMTM5LCAzMywgNiwgMSwgMjQ1LCAxNjgsIDIsIDIxNywgNzgsIDMzLCA0LCAxLCAKLSAgICAyNDUsIDE2OCwgMiwgMjE3LCA3OCwgMzMsIDQsIDEsIDIyNiwgNjIsIDMzLCA2LCAxLCAxMTYsIDIsIDI1MSwgMTU0LCAzMywgCi0gICAgNCwgMSwgMTE2LCAyLCAyNTEsIDE1NCwgMzMsIDYsIDEsIDExNiwgMiwgMjQ4LCA5LCAzMywgNCwgMSwgMTE2LCAyLCAyNDgsIAotICAgIDksIDMzLCA2LCAyNywgMTE2LCAyMzYsIDY3LCAzMywgNCwgMjcsIDExNiwgMjM2LCA2NywgMzMsIDYsIDEsIDIzNiwgNjgsIAotICAgIDIsIDI1MSwgMTU0LCAzMywgNCwgMSwgMjM2LCA2OCwgMiwgMjUxLCAxNTQsIDMzLCA2LCAxLCAyMjEsIDE5NywgMzMsIDQsIAotICAgIDEsIDIyMSwgMTk3LCAzMywgNiwgMSwgMjIxLCAxOTgsIDIsIDI0OCwgOSwgMzMsIDQsIDEsIDIyMSwgMTk4LCAyLCAyNDgsIAotICAgIDksIDMzLCA2LCAxLCAyMTAsIDc1LCAyLCAyNDgsIDksIDMzLCA0LCAxLCAyMTAsIDc1LCAyLCAyNDgsIDksIDMzLCA2LCAxLCAKLSAgICAyMTAsIDk1LCAyLCAyNDgsIDksIDMzLCA0LCAxLCAyMTAsIDk1LCAyLCAyNDgsIDksIDMzLCA2LCAxLCAyNTUsIDI5LCAyNDYsIAotICAgIDQ0LCAzMywgNCwgMSwgMjU1LCAyOSwgMjQ2LCA0NCwgMzMsIDYsIDEsIDI0MCwgMTYxLCAyLCAyMzEsIDIzNywgMzMsIDQsIAotICAgIDEsIDI0MCwgMTYxLCAyLCAyMzEsIDIzNywgMzMsIDYsIDEsIDI0MCwgMTYxLCAyLCAyNDgsIDksIDMzLCA0LCAxLCAyNDAsIAotICAgIDE2MSwgMiwgMjQ4LCA5LCAzMywgNiwgMSwgMTQ0LCAyLCAyNDgsIDksIDMzLCA0LCAxLCAxNDQsIDIsIDI0OCwgOSwgMzMsIAotICAgIDYsIDEsIDI1MiwgMTQyLCA3OCwgMzMsIDQsIDEsIDI1MiwgMTQyLCA3OCwgMzMsIDYsIDEsIDI1MiwgMTQyLCAxNDQsIDIsIAotICAgIDI0OCwgOSwgMzMsIDQsIDEsIDI1MiwgMTQyLCAxNDQsIDIsIDI0OCwgOSwgMzMsIDYsIDEsIDE2MCwgMiwgMjQ4LCA5LCAzMywgCi0gICAgNCwgMSwgMTYwLCAyLCAyNDgsIDksIDMzLCA2LCAxLCAxMDQsIDIsIDIzMSwgMjM3LCAzMywgNCwgMSwgMTA0LCAyLCAyMzEsIAotICAgIDIzNywgMzMsIDYsIDEsIDEwNCwgMiwgMjQ4LCA5LCAzMywgNCwgMSwgMTA0LCAyLCAyNDgsIDksIDMzLCA2LCAxLCAxMDQsIAotICAgIDIsIDUyLCAxNDIsIDMzLCA0LCAxLCAxMDQsIDIsIDUyLCAxNDIsIDMzLCA2LCAxLCAyNTAsIDE0MCwgMiwgMjQ4LCA5LCAzMywgCi0gICAgNCwgMSwgMjUwLCAxNDAsIDIsIDI0OCwgOSwgMzMsIDYsIDEsIDI0MiwgMjQ0LCAyLCAyNDgsIDQ3LCAzMywgNCwgMSwgMjQyLCAKLSAgICAyNDQsIDIsIDI0OCwgNDcsIDMzLCA2LCAxLCAyMTEsIDI4LCAyLCAyNDgsIDksIDMzLCA0LCAxLCAyMTEsIDI4LCAyLCAyNDgsIAotICAgIDksIDMzLCA2LCAxLCAyNDIsIDI0NCwgMiwgMjE4LCAxMDUsIDIyLCAxMDMsIDMzLCA0LCAxLCAyNDIsIDI0NCwgMiwgMjE4LCAKLSAgICAxMDUsIDIyLCAxMDMsIDMzLCA2LCAxLCAyNDIsIDU2LCAyLCAxMDMsIDMzLCA0LCAxLCAyNDIsIDU2LCAyLCAxMDMsIDMzLCAKLSAgICA2LCAxLCAyNDIsIDU2LCAyLCA5MSwgMzMsIDQsIDEsIDI0MiwgNTYsIDIsIDkxLCAzMywgNiwgMSwgMjM0LCAyMCwgMjQ4LCAKLSAgICA5OCwgMzMsIDQsIDEsIDIzNCwgMjAsIDI0OCwgOTgsIDMzLCA2LCAxLCAyMzQsIDIwLCAyNDcsIDE3MCwgMzMsIDQsIDEsIAotICAgIDIzNCwgMjAsIDI0NywgMTcwLCAzMywgNiwgMSwgMjM0LCAyMCwgMjEwLCAyNywgMzMsIDQsIDEsIDIzNCwgMjAsIDIxMCwgCi0gICAgMjcsIDMzLCA2LCAxLCAyMzQsIDIwLCAyNDYsIDM4LCAzMywgNCwgMSwgMjM0LCAyMCwgMjQ2LCAzOCwgMzMsIDYsIDEsIAotICAgIDIzNCwgMjAsIDIzMiwgMTkzLCAzMywgNCwgMSwgMjM0LCAyMCwgMjMyLCAxOTMsIDMzLCA2LCAxLCAyMzQsIDIwLCAyMjgsIAotICAgIDE4MywgMzMsIDQsIDEsIDIzNCwgMjAsIDIyOCwgMTgzLCAzMywgNiwgMSwgMjM0LCAyMCwgMjE5LCAxMTEsIDMzLCA0LCAxLCAKLSAgICAyMzQsIDIwLCAyMTksIDExMSwgMzMsIDYsIDEsIDIzNCwgMjAsIDIxNiwgNjEsIDMzLCA0LCAxLCAyMzQsIDIwLCAyMTYsIAotICAgIDYxLCAzMywgNiwgMSwgMjIzLCA1MiwgMjEwLCA5NCwgMzMsIDQsIDEsIDIyMywgNTIsIDIxMCwgOTQsIDMzLCA2LCAxLCAKLSAgICAyNDUsIDE4MywgMiwgMTAzLCAzMywgNCwgMSwgMjQ1LCAxODMsIDIsIDEwMywgMzMsIDYsIDEsIDIzMywgNCwgMzMsIDQsIDEsIAotICAgIDIzMywgNCwgMzMsIDYsIDEsIDIyMywgNDIsIDMzLCA0LCAxLCAyMjMsIDQyLCAzMywgNiwgMSwgMjExLCA5MiwgMzMsIDQsIAotICAgIDEsIDIxMSwgOTIsIDMzLCA2LCAxLCAyMjQsIDkxLCAzMywgNCwgMSwgMjI0LCA5MSwgMzMsIDYsIDEsIDIxMiwgMjIsIDMzLCAKLSAgICA0LCAxLCAyMTIsIDIyLCAzMywgNiwgMSwgMjU0LCAxNzUsIDE3NiwgMzMsIDQsIDEsIDI1NCwgMTc1LCAxNzYsIDMzLCA2LCAKLSAgICAxLCAyNDUsIDE4MywgMiwgMjMwLCAyMjksIDEwMywgMzMsIDQsIDEsIDI0NSwgMTgzLCAyLCAyMzAsIDIyOSwgMTAzLCAzMywgCi0gICAgNiwgMSwgMjQ1LCAxNTksIDIsIDIzMCwgMjI5LCAxMDMsIDMzLCA0LCAxLCAyNDUsIDE1OSwgMiwgMjMwLCAyMjksIDEwMywgCi0gICAgMzMsIDYsIDEsIDIyNSwgMjI1LCAyLCAyNDgsIDQ3LCAzMywgNCwgMSwgMjI1LCAyMjUsIDIsIDI0OCwgNDcsIDMzLCA2LCAxLCAKLSAgICAyMjAsIDM2LCAyLCAyNDgsIDQ3LCAzMywgNCwgMSwgMjIwLCAzNiwgMiwgMjQ4LCA0NywgMTUwLCA2LCAxLCAyNTMsIDE3MiwgCi0gICAgMTUwLCA2LCAxLCAyNTIsIDQ3LCAxNTAsIDYsIDEsIDI0MiwgMjEwLCAxNTAsIDYsIDEsIDI0OCwgMjI5LCAxNTAsIDYsIDEsIAotICAgIDI0NSwgMjIxLCAxNTAsIDYsIDEsIDIxMCwgMTE2LCAxNTAsIDYsIDEsIDI0NSwgMjA1LCAxNTAsIDYsIDEsIDI0NSwgNzMsIAotICAgIDE1MCwgNiwgMSwgMTEyLCAxNTAsIDYsIDEsIDIxMCwgNzQsIDE1MCwgNiwgMSwgMjM1LCAyMzQsIDE1MCwgNiwgMSwgMjMyLCAKLSAgICAxOTYsIDE1MCwgNiwgMSwgMjExLCAxNjAsIDE1MCwgNiwgMSwgMjUxLCA0MSwgMTUwLCA2LCAxLCAyMzQsIDE3MSwgMTUwLCAKLSAgICA2LCAxLCAyNDEsIDc1LCAxNTAsIDYsIDEsIDIzNSwgMTQ3LCAxNTAsIDYsIDEsIDI0MiwgMjUzLCAxNTAsIDYsIDEsIDI1MCwgCi0gICAgMTM0LCAxNTAsIDYsIDEsIDIzMSwgNjMsIDE1MCwgNiwgMSwgMjExLCA4LCAxNTAsIDYsIDEsIDIyOCwgNDQsIDE1MCwgNiwgCi0gICAgMSwgMjIwLCAxMDQsIDE1MCwgNiwgMSwgMjEzLCAxMzgsIDE1MCwgNiwgMSwgMjUwLCAxNjUsIDE1MCwgNiwgMSwgMjI1LCAKLSAgICAyMDgsIDE1MCwgNiwgMSwgMjM1LCAxMTYsIDE1MCwgNiwgMSwgMjA1LCAxNTAsIDYsIDEsIDIyMSwgMTYzLCAxNTAsIDYsIDEsIAotICAgIDIxMywgMTc5LCAxNTAsIDYsIDEsIDIxNiwgNjMsIDE1MCwgNiwgMSwgMjIzLCA5OCwgMTUwLCA2LCAxLCAyNDksIDI0NiwgCi0gICAgMTUwLCA2LCAxLCAyMTAsIDI0OSwgMTUwLCA2LCAxLCAyMjUsIDQ5LCAxNTAsIDYsIDEsIDIzNCwgMTgyLCAxNTAsIDYsIDEsIAotICAgIDIyNiwgMjI2LCAxNTAsIDYsIDEsIDI0NCwgMTUwLCAxNTAsIDU4LCAxLCA0MywgMTYzLCAyMjIsIDIzNiwgMTUwLCAyNTQsIAotICAgIDY1LCAxNTAsIDI0NSwgMTYyLCA3OSwgMTUwLCAyNDUsIDM5LCA3OSwgMTUwLCAyNDksIDIyNywgMTUwLCAyMjQsIDE2LCA3OSwgCi0gICAgMTUwLCAyNTUsIDMwLCA3OSwgMTUwLCA0LCAxLCAyNTMsIDE3MiwgMTUwLCA0LCAxLCAyNTIsIDQ3LCAxNTAsIDQsIDEsIAotICAgIDI0MiwgMjEwLCAxNTAsIDQsIDEsIDI0OCwgMjI5LCAxNTAsIDQsIDEsIDI0NSwgMjIxLCAxNTAsIDQsIDEsIDIxMCwgMTE2LCAKLSAgICAxNTAsIDQsIDEsIDI0NSwgMjA1LCAxNTAsIDQsIDEsIDI0NSwgNzMsIDE1MCwgNCwgMSwgMTEyLCAxNTAsIDQsIDEsIDIxMCwgCi0gICAgNzQsIDE1MCwgNCwgMSwgMjM1LCAyMzQsIDE1MCwgNCwgMSwgMjMyLCAxOTYsIDE1MCwgNCwgMSwgMjExLCAxNjAsIDE1MCwgCi0gICAgNCwgMSwgMjUxLCA0MSwgMTUwLCA0LCAxLCAyMzQsIDE3MSwgMTUwLCA0LCAxLCAyNDEsIDc1LCAxNTAsIDQsIDEsIDIzNSwgCi0gICAgMTQ3LCAxNTAsIDQsIDEsIDI0MiwgMjUzLCAxNTAsIDQsIDEsIDI1MCwgMTM0LCAxNTAsIDQsIDEsIDIzMSwgNjMsIDE1MCwgCi0gICAgNCwgMSwgMjExLCA4LCAxNTAsIDQsIDEsIDIyOCwgNDQsIDE1MCwgNCwgMSwgMjIwLCAxMDQsIDE1MCwgNCwgMSwgMjEzLCAKLSAgICAxMzgsIDE1MCwgNCwgMSwgMjUwLCAxNjUsIDE1MCwgNCwgMSwgMjI1LCAyMDgsIDE1MCwgNCwgMSwgMjM1LCAxMTYsIDE1MCwgCi0gICAgNCwgMSwgMjA1LCAxNTAsIDQsIDEsIDIyMSwgMTYzLCAxNTAsIDQsIDEsIDIxMywgMTc5LCAxNTAsIDQsIDEsIDIxNiwgNjMsIAotICAgIDE1MCwgNCwgMSwgMjIzLCA5OCwgMTUwLCA0LCAxLCAyNDksIDI0NiwgMTUwLCA0LCAxLCAyMTAsIDI0OSwgMTUwLCA0LCAxLCAKLSAgICAyMjUsIDQ5LCAxNTAsIDQsIDEsIDIzNCwgMTgyLCAxNTAsIDQsIDEsIDIyNiwgMjI2LCAxNTAsIDQsIDEsIDI0NCwgMTUwLCAKLSAgICAxNTAsIDQsIDI3LCAyNDUsIDIyMiwgMjEwLCAyNDksIDE1MCwgMjQzLCAyMzYsIDIxOCwgMTMxLCAxNTAsIDI0MCwgMTc1LCAKLSAgICAxNTAsIDI0NiwgMTAzLCA1MCwgOTQsIDI1NSwgMjQsIDI0NSwgNjUsIDk0LCAyNTUsIDI0LCAyMjEsIDE2NCwgOTQsIDI1NSwgCi0gICAgMjQsIDIyMCwgOTAsIDk0LCAyNTUsIDI0LCAyMTAsIDEwNCwgMjI0LCA3NCwgOTQsIDI1NSwgMjQsIDIxMCwgMTA0LCAyNDMsIAotICAgIDEzMiwgOTQsIDI1NSwgMjQsIDIxNiwgNzYsIDk0LCAyNTUsIDI0LCAyMjMsIDUwLCA5NCwgMjU1LCAyNCwgMjEwLCAxMDMsIAotICAgIDk0LCAyNTUsIDI0LCAyMjUsIDI0OSwgOTQsIDI1NSwgMjQsIDIxMSwgMjAsIDk0LCAyNTUsIDI0LCAyMTYsIDIxNSwgOTQsIAotICAgIDI1NSwgMjQsIDI0MywgNDgsIDk0LCAyNTUsIDI0LCAyNDMsIDQ5LCAyMzAsIDc0LCA5NCwgMjU1LCAyNCwgMjQzLCA0NiwgCi0gICAgOTQsIDI1NSwgMjQsIDIyNCwgNzUsIDIyNiwgMjAsIDk0LCAyNTUsIDI0LCAyMTYsIDI1NCwgMjQzLCA2MywgOTQsIDI1NSwgCi0gICAgMjQsIDIyNSwgMjMwLCA5NCwgMjU1LCAyNCwgMjUzLCAyMDgsIDI0MiwgNDgsIDk0LCAyNTUsIDI0LCAyMzAsIDg0LCA5NCwgCi0gICAgMjU1LCAyNCwgMjMxLCAyMTMsIDk0LCAyNTUsIDI0LCAyMzEsIDU0LCA5NCwgMjU1LCAyNCwgMjMxLCA1NSwgMjM0LCAxODMsIAotICAgIDk0LCAyNTUsIDI0LCAyNDgsIDE3MSwgOTQsIDI1NSwgMjQsIDIyNCwgODYsIDk0LCAyNTUsIDI0LCAyMTYsIDI1NCwgMjI0LCAKLSAgICA3MCwgOTQsIDI1NSwgMjQsIDIxMSwgMzAsIDI1MiwgNDgsIDIxMCwgMjMwLCA5NCwgMjU1LCAyNCwgMjI2LCAyMTEsIDk0LCAKLSAgICAyNTUsIDI0LCAyMzYsIDI2LCA5NCwgMjU1LCAyNCwgMjQ4LCA3OCwgOTQsIDI1NSwgMjQsIDIxMCwgMzMsIDk0LCAxNjQsIAotICAgIDIzMSwgMTQ4LCAyNTAsIDQzLCA5NCwgMjI1LCAxNCwgMjIwLCAzOCwgOTQsIDIyNSwgMTQsIDI0MiwgMSwgMjIxLCAxNjQsIAotICAgIDk0LCAyMjUsIDE0LCAyNDIsIDEsIDIyNSwgMjQzLCA5NCwgMjI1LCAxNCwgMjQyLCAxLCAyMjQsIDc5LCA5NCwgMjI1LCAxNCwgCi0gICAgMjQxLCAxNjUsIDk0LCAyMjUsIDE0LCAyMTUsIDE3NywgOTQsIDIyNSwgMTQsIDIyMSwgMTY0LCA5NCwgMjI1LCAxNCwgMjI1LCAKLSAgICAyNDMsIDk0LCAyMjUsIDE0LCAyMjQsIDc5LCA5NCwgMjI1LCAxNCwgMjQxLCA2OCwgOTQsIDIyNSwgMTQsIDI0MSwgNjksIAotICAgIDI0MiwgMywgMzEsIDIxNCwgMywgOTQsIDIyNSwgMTQsIDIyNCwgMjAsIDk0LCAyMjUsIDE0LCAyNDgsIDIxNiwgMTc3LCAKLSAgICAyMzEsIDE3NiwgOTQsIDIyNSwgMTQsIDIzMSwgNDMsIDk0LCAyMjQsIDE0NCwgMjMxLCAxNzMsIDk0LCAyMjUsIDE0LCAyMjMsIAotICAgIDE3MiwgOTQsIDIyNCwgMTQ0LCAyMjUsIDI1MSwgOTQsIDIyNSwgMTQsIDIyMCwgMjMsIDI0NywgMTI4LCA5NCwgMjI1LCAxNCwgCi0gICAgMjE5LCAxNjEsIDI0NywgMTI4LCA5NCwgMjI0LCAxNDQsIDIxOSwgNTUsIDIyNSwgMjQ1LCA5NCwgMTY0LCAyMTQsIDE2MCwgCi0gICAgMjQ3LCAxMjgsIDk0LCAxNjQsIDIzMiwgMTE0LCAyNDcsIDEyOCwgOTQsIDIyNCwgMTQ0LCAyMjcsIDE5OSwgMjQyLCA0NywgCi0gICAgOTQsIDIyNSwgMTQsIDIyNCwgODAsIDIyNCwgNzQsIDk0LCAxLCAyNTQsIDE3OSwgOTQsIDEsIDI1MiwgMzYsIDk0LCAxLCAKLSAgICAyNDIsIDIwOCwgOTQsIDEsIDI0OCwgMTk3LCA5NCwgMSwgMjQxLCAyNDUsIDk0LCAxLCAyMTQsIDMsIDk0LCAxLCAyMTAsIAotICAgIDk3LCA5NCwgMSwgMjQxLCAyMDQsIDk0LCAxLCAyMTYsIDIzMSwgOTQsIDEsIDIxMCwgMjMzLCA5NCwgMSwgNDAsIDIzNSwgMCwgCi0gICAgOTQsIDEsIDIzNSwgMCwgOTQsIDEsIDIzMywgMTAwLCA5NCwgMSwgNDAsIDIzMSwgNzAsIDk0LCAxLCAyMzEsIDcwLCA5NCwgCi0gICAgMSwgNDAsIDIyNywgMTk4LCA5NCwgMSwgMjI3LCAxOTgsIDk0LCAxLCAyMjEsIDI1MSwgOTQsIDEsIDI1MywgMTcwLCA5NCwgCi0gICAgMSwgNDAsIDIyNSwgMjI0LCA5NCwgMSwgMjI1LCAyMjQsIDk0LCAxLCA0MCwgMjE1LCAxODAsIDk0LCAxLCAyMTUsIDE4MCwgCi0gICAgOTQsIDEsIDIyNCwgNDIsIDk0LCAxLCAyMjMsIDcwLCA5NCwgMSwgMjIwLCAyMiwgOTQsIDEsIDIxNywgMzksIDk0LCAyNywgCi0gICAgMjExLCA2LCA1MiwgMjE0LCAzLCA5NCwgMjcsIDIxMSwgNiwgMjE0LCA0LCAyMTAsIDIzMywgOTQsIDI3LCAyMTEsIDYsIDUyLCAKLSAgICAyMTAsIDIzMywgOTQsIDIyNCwgMTQ0LCAyNDMsIDQ4LCA5NCwgMjI0LCAxNDQsIDI0MywgNDYsIDksIDU0LCA1MCwgOSwgNSwgCi0gICAgMjIxLCAyNDQsIDksIDI0NCwgMzgsIDIzMSwgMTU5LCA5LCA1LCAyMjIsIDI1LCA5LCA1LCAyMjEsIDI0NywgMjU0LCA0NSwgCi0gICAgMjQ5LCAxMTcsIDIyMiwgMTk1LCAyNTQsIDQ1LCAyNDQsIDEyLCAyMjIsIDE5NSwgOSwgMjIzLCAxMzcsIDI1NCwgNDUsIAotICAgIDIyNSwgMTg2LCAyMzAsIDE5OCwgNTAsIDI1NCwgNDUsIDIyNSwgMTg2LCAyMTYsIDI0OSwgMjE2LCAxNDksIDUwLCAyNTQsIAotICAgIDIzMCwgNTAsIDksIDI0OSwgMjI3LCA5LCAyNDgsIDE1OCwgMjIwLCAxMzksIDksIDIyNSwgMTYsIDIxMywgMjQxLCA1MCwgOSwgCi0gICAgNSwgMjMwLCAxNzksIDksIDUsIDIyMiwgNSwgMjU0LCAxODEsIDIxMiwgNDUsIDksIDUsIDI1NCwgMTgxLCAyNTMsIDIyOSwgCi0gICAgOSwgNSwgMjIzLCAxNzAsIDI1NCwgMTgwLCA5LCA1LCAyMjMsIDE3OCwgMjU0LCAxNjEsIDI1NCwgMTEyLCA5LCA1LCAyMTcsIAotICAgIDcxLCA5LCA0LCAxMjUsIDIxNywgODEsIDksIDQsIDEyNSwgMjcsIDEwOSwgMiwgMjMzLCAxMDksIDIsIDIxMSwgNDMsIDksIAotICAgIDQsIDEyNSwgMjEwLCAxMDgsIDksIDQsIDI0NCwgMTczLCA5LCA0LCAyNDgsIDE5MiwgOSwgNCwgMjM0LCAyMTEsIDksIDIyMCwgCi0gICAgMTUyLCA5LCAxLCA3OSwgOSwgMjE1LCAyMTIsIDU5LCAyMjQsIDE0NCwgNzksIDksIDIyNCwgMTYsIDc5LCA5LCAxLCAyMzQsIAotICAgIDIxNSwgMjExLCA0MywgOSwgMSwgMjQyLCAyNiwgOSwgMSwgMTA5LCAyLCAyMzEsIDIzMywgNDgsIDksIDEsIDEwOSwgMiwgCi0gICAgMTgyLCA0OCwgOSwgMSwgMjEyLCAzMSwgMiwgMTgyLCA0OCwgOSwgMSwgMTA5LCAyLCAxODIsIDUxLCA5LCAxLCA3NywgMiwgCi0gICAgMTgyLCA0OCwgOSwgMSwgMjU0LCAxNzksIDksIDEsIDI1MiwgNjIsIDksIDEsIDIxNywgOSwgMjMxLCAxNjksIDksIDEsIAotICAgIDIxNywgOCwgOSwgMSwgMjE2LCAxOTMsIDksIDEsIDIzNSwgMTI5LCA5LCAxLCAyNDIsIDQ0LCA5LCAxLCAyMzQsIDEzNSwgOSwgCi0gICAgMSwgMjQ4LCAyMDMsIDksIDEsIDIxNiwgMjAzLCA5LCAxLCAyMjMsIDk4LCA5LCAxLCAyMTAsIDEwOCwgOSwgMSwgMjIxLCAKLSAgICAxNjgsIDksIDEsIDIyMCwgNjEsIDksIDEsIDIyMiwgMjgsIDksIDEsIDI0OCwgMjI0LCA5LCAxLCAyMTcsIDgxLCA5LCAxLCAKLSAgICAyMTAsIDExMSwgOSwgMSwgMjU0LCAyMDUsIDksIDEsIDI0MiwgMjUxLCA5LCAxLCAyMzQsIDE4MSwgMiwgMTEzLCAxNzAsIAotICAgIDQ4LCA5LCAxLCAyMzQsIDE4MSwgMiwgMTM0LCAxNzAsIDUxLCA5LCAxLCAyNDQsIDE3NiwgNzcsIDIsIDIzNSwgMjAwLCAKLSAgICAyMTQsIDEwNSwgOSwgMSwgMjQ0LCAxNzYsIDc3LCAyLCAxMTMsIDE3MCwgNDgsIDksIDEsIDI0NCwgMTc2LCA3NywgMiwgCi0gICAgMTM0LCAxNzAsIDQ4LCA5LCAyMTcsIDQ0LCA5LCAxLCAyNDQsIDE1MCwgOSwgMSwgMjI0LCA4NCwgOSwgMSwgMjM1LCAwLCA5LCAKLSAgICAxLCAyMzMsIDEwOCwgOSwgMSwgMjMxLCA4MywgOSwgMSwgMjI4LCA2NywgOSwgMSwgMjQxLCAyMjUsIDksIDEsIDIxMiwgMzAsIAotICAgIDksIDEsIDEwOSwgMjMxLCAxOTcsIDksIDEsIDIxMSwgNDMsIDksIDI0NCwgMTcxLCA5LCAyNDgsIDE5MCwgOSwgMjM0LCAKLSAgICAyMDksIDksIDI0NCwgMTczLCA5LCAyNDgsIDE5MiwgOSwgMjM0LCAyMTEsIDksIDIyMCwgOTUsIDksIDIxOCwgNDYsIDksIAotICAgIDIzMSwgMjMxLCA0OCwgOSwgMTgyLCA0OCwgOSwgMTgyLCA1MSwgOSwgMjE4LCA2NiwgMjU0LCAxNzksIDksIDIzNSwgMjAwLCAKLSAgICAyNDgsIDE5MiwgOSwgMTY0LCAyMjgsIDY4LCAyNDIsIDIyNSwgOSwgMjA5LCAyNTUsIDksIDI1LCA1LCA0LCAyMTQsIDEwNiwgCi0gICAgNDgsIDksIDI1LCA1LCAyMzUsIDIwMCwgNCwgMjE0LCAxMDYsIDQ4LCA5LCAyNSwgNSwgNTksIDUxLCA5LCAyMjMsIDUyLCAKLSAgICAyNDgsIDE5MiwgOSwgMjQ0LCAxNzQsIDIsIDExMywgMjQ3LCAxMjYsIDksIDIxMiwgMzIsIDE4MiwgNTEsIDI1NCwgNDUsIAotICAgIDIxLCAyMTAsIDg2LCAyNTQsIDQ1LCAyMSwgMTExLCAyNTQsIDQ1LCAyMSwgMTA1LCAyNTQsIDQ1LCAyMSwgMTU4LCAyNTQsIAotICAgIDQ1LCAyMSwgMTYxLCAyNTQsIDQ1LCAyMSwgMTkwLCAyNTQsIDQ1LCAyMSwgMTk1LCAyNTQsIDQ1LCAyMSwgMTk5LCAyNTQsIAotICAgIDQ1LCAyMSwgMTk2LCAyNTQsIDQ1LCAyMSwgMjAxLCA5LCAyMjUsIDE4NSwgNTAsIDksIDI0OCwgOTEsIDIyMCwgMTM5LCA5LCAKLSAgICAyMTYsIDE0NywgMjIwLCAxMzksIDksIDI0NCwgODksIDIyNSwgMTIsIDIxOCwgMTU4LCA5LCAxLCAyNDcsIDEyNywgMjUyLCAKLSAgICA2MiwgOSwgMSwgMjQ3LCAxMjcsIDIyNCwgODQsIDksIDEsIDIxOCwgMjQsIDI1NCwgMTc5LCA5LCAxLCAxMDksIDIxMiwgNDYsIAotICAgIDksIDEsIDEwOSwgMiwgMjEyLCAzMiwgMTgyLCA0OCwgOSwgMSwgMTA5LCAyLCAyMTIsIDMyLCAxODIsIDUxLCA5LCAxLCAKLSAgICAxMjUsIDI0MiwgMjYsIDksIDEsIDEyNSwgMTgyLCAyNTQsIDE3OSwgOSwgMSwgMTI1LCAxODIsIDIxMiwgMzAsIDksIDEsIAotICAgIDEwNCwgMiwgMTgyLCA0OCwgOSwgMSwgMTI1LCAxODIsIDIxMSwgNDMsIDksIDEsIDIxNSwgMTQ5LCA5LCAxLCAyMTUsIDE0NywgCi0gICAgOSwgMSwgMjUyLCA3MiwgOSwgMSwgMjE3LCA5LCAyLCAyMjIsIDIzNiwgOSwgMSwgMjE3LCA5LCAyLCAxMzQsIDE3MCwgNzIsIAotICAgIDI0NiwgMTExLCA5LCAxLCAyMjUsIDIwOCwgOSwgMSwgMjE3LCA2LCA5LCAxLCAyNTIsIDYwLCA5LCAxLCAxMjIsIDIsIDE4MiwgCi0gICAgNDgsIDksIDEsIDEyMiwgMiwgMTEzLCAxNzAsIDY3LCA0OCwgOSwgMSwgMjI3LCAxNTcsIDksIDEsIDI0NiwgNTEsIDksIDEsIAotICAgIDEyMiwgMiwgMTM0LCAxNzAsIDQ4LCA5LCAxLCAyMTcsIDI3LCA5LCAxLCAyMTcsIDI1LCA5LCAxLCAyNDgsIDEzOCwgOSwgMSwgCi0gICAgMjQ4LCAyMDQsIDIsIDIyMiwgMjM2LCA5LCAxLCAyNDgsIDIwNCwgMiwgNTksIDUxLCA5LCAxLCAyNDgsIDIwNCwgMiwgNTksIAotICAgIDI1MiwgNTEsIDIyLCA0LCAyMTcsIDgxLCA5LCAxLCAyNDgsIDIwOSwgOSwgMSwgMjQ4LCAxNDAsIDksIDEsIDI0NiwgNzgsIAotICAgIDksIDEsIDI0OCwgMjA0LCAyLCAxMzQsIDE3MCwgNzIsIDI0NiwgMTExLCA5LCAxLCAyNDgsIDIwNCwgMiwgMjQ0LCAxOSwgCi0gICAgMTcwLCA0OCwgOSwgMSwgMjIyLCAxNzMsIDksIDEsIDIyMywgOTksIDIsIDQsIDIxNCwgMTA1LCA5LCAxLCAyMjMsIDk5LCAyLCAKLSAgICAyMjIsIDIzNiwgOSwgMSwgMjIzLCA5OSwgMiwgNTksIDUxLCA5LCAxLCAyMjMsIDk5LCAyLCA0LCAyMTQsIDEwNiwgNTEsIDksIAotICAgIDEsIDIyMywgOTksIDIsIDU5LCAyNTIsIDUxLCAyMiwgNTksIDQ4LCA5LCAxLCAyMjMsIDk5LCAyLCAxMTMsIDE3MCwgNDgsIAotICAgIDksIDEsIDIzNSwgMTI2LCA5LCAxLCAyMjMsIDk5LCAyLCAyNDQsIDE5LCAxNzAsIDQ4LCA5LCAxLCAyMjEsIDE2OSwgMiwgCi0gICAgNTksIDI1MiwgNTEsIDIyLCA1OSwgNDgsIDksIDEsIDIyMSwgMTY5LCAyLCAxMzQsIDE3MCwgNTEsIDksIDEsIDIyMSwgMTY5LCAKLSAgICAyLCAxMzQsIDE3MCwgMjUyLCA1MSwgMjIsIDEzNCwgMTcwLCA0OCwgOSwgMSwgMjIyLCAyOSwgMiwgMTEzLCAxNzAsIDUxLCAKLSAgICA5LCAxLCAyMjIsIDI5LCAyLCAxMzQsIDE3MCwgNDgsIDksIDEsIDIxNywgODIsIDIsIDEzNCwgMTcwLCA0OCwgOSwgMSwgCi0gICAgMjU0LCAyMDYsIDIsIDEzNCwgMTcwLCA0OCwgOSwgMSwgMjQ3LCAxMjcsIDI0NCwgMTUwLCA5LCAxLCAyNDQsIDE1MSwgMiwgCi0gICAgNTksIDIzMCwgMTE0LCA1MSwgOSwgMSwgMjQ0LCAxNTEsIDIsIDU5LCA1MSwgOSwgMSwgMjEzLCAyNDgsIDksIDEsIDI0NCwgCi0gICAgMTUxLCAyLCAxMzQsIDE3MCwgNTEsIDksIDEsIDIyNSwgMjA2LCA5LCAxLCAyMjQsIDg1LCAyLCA1OSwgNDgsIDksIDEsIAotICAgIDIyNCwgODUsIDIsIDEzNCwgMTcwLCA0OCwgOSwgMSwgMjM0LCAxODAsIDksIDEsIDIxNywgMjUxLCAyMzUsIDAsIDksIDEsIAotICAgIDIzNSwgMSwgMiwgMjIyLCAyMzYsIDksIDEsIDIzNSwgMSwgMiwgNTksIDQ4LCA5LCAxLCAyMjksIDg0LCA5LCAxLCAyMzUsIAotICAgIDEsIDIsIDEzNCwgMTcwLCA1MSwgOSwgMSwgMjQzLCAxMjksIDksIDEsIDI0MywgMTMwLCAyLCAyMjIsIDIzNiwgOSwgMSwgCi0gICAgMjI5LCA3LCA5LCAxLCAyNDMsIDEzMCwgMiwgMTEzLCAxNzAsIDUxLCA5LCAxLCAyNDIsIDEwOCwgOSwgMSwgMjQzLCAxMzAsIAotICAgIDIsIDEzNCwgMTcwLCA0OCwgOSwgMSwgMjMzLCAxMDksIDIsIDQsIDIxNCwgMTA1LCA5LCAxLCAyMzMsIDEwOSwgMiwgNTksIAotICAgIDQ4LCA5LCAxLCAyMzMsIDEwOSwgMiwgMTM0LCAxNzAsIDQ4LCA5LCAxLCAyMzMsIDEwOSwgMiwgMTM0LCAxNzAsIDUxLCA5LCAKLSAgICAxLCAyMjgsIDY4LCAyLCA1OSwgNTEsIDksIDEsIDIyOCwgNjgsIDI0MiwgMjI1LCA5LCAxLCAyMjIsIDIxNiwgOSwgMSwgCi0gICAgMjI4LCA2OCwgMiwgMjIyLCAyMzYsIDksIDEsIDIyOCwgNjgsIDIsIDEzNCwgMTcwLCA0OCwgOSwgMSwgMjQxLCAyMjYsIAotICAgIDI0NywgMTQ5LCA5LCAxLCAyMTcsIDI4LCAyLCA1OSwgNDgsIDksIDEsIDI0MSwgMjI2LCAyLCA3NywgNDgsIDksIDEsIDI0MSwgCi0gICAgMjI2LCAyNDIsIDE3OCwgOSwgMSwgMjQxLCAyMjYsIDI0MiwgMTc5LCAyLCAxODIsIDQ4LCA5LCAxLCAyMTcsIDksIDIzMSwgCi0gICAgMTcwLCAyNDIsIDE3OCwgOSwgMSwgMjEyLCAzMSwgMiwgMjIyLCAyMzYsIDksIDEsIDIzNCwgNzksIDIyNiwgMjM4LCA5LCAxLCAKLSAgICAyMjYsIDIzOCwgOSwgMSwgNjksIDksIDEsIDIxMCwgMjEyLCA5LCAxLCAyMzQsIDc5LCAyMTAsIDIxMiwgOSwgMSwgMjEyLCAKLSAgICAzMSwgMiwgMTEzLCAxNzAsIDQ4LCA5LCAxLCAyMTMsIDI1NSwgOSwgMSwgMjQ0LCAxNzYsIDIxMSwgNDMsIDksIDEsIDc3LCAKLSAgICAyLCAyMTcsIDc4LCA5LCAxLCA3NywgMiwgNCwgMjE0LCAxMDUsIDksIDEsIDIxMiwgMzEsIDIsIDU5LCA0OCwgOSwgMSwgNzYsIAotICAgIDksIDEsIDc3LCAyLCAxMzQsIDE3MCwgNTEsIDksIDEsIDc3LCAyNTIsIDE0MCwgOSwgMSwgNzcsIDI1MiwgMTQxLCAyLCAKLSAgICAxODIsIDQ4LCA5LCAyNDMsIDIzNiwgMjE4LCAxMzEsIDksIDEsIDI1NCwgMjUyLCA5LCA0LCAxMjUsIDI3LCAyMjIsIDI5LCAKLSAgICAyLCAyMzMsIDEwOSwgMiwgMTA5LCAyMzEsIDE5NywgOSwgNCwgMTI1LCAyNywgMjI0LCA4NSwgMiwgMjMzLCAxMDksIDIsIAotICAgIDEwOSwgMjMxLCAxOTcsIDksIDQsIDEyNSwgNjYsIDY1LCAxNywgOSwgNCwgMTI1LCAyMzMsIDEwOSwgMjU0LCAxNzksIDksIAotICAgIDQsIDEyNSwgMjM1LCAxMjksIDksIDQsIDEyNSwgMTM0LCAyNDcsIDEyNiwgOSwgNCwgMTI1LCAyMjEsIDE2OCwgOSwgMjQ1LCAKLSAgICAxNTEsIDY0LCAyNTMsIDE3NCwgOSwgMjE4LCAxNTQsIDY0LCAyMjIsIDE0MCwgMjQ1LCAxODMsIDI0MSwgMTYyLCA5LCA0LCAKLSAgICAxMjUsIDIyMiwgMTg1LCAyMTAsIDg2LCA5LCA0LCAxMjUsIDIxNCwgMTU5LCAyMjMsIDExOCwgMjEwLCA4NiwgOSwgNCwgCi0gICAgMTI1LCAyNDcsIDEyNywgMjQxLCAyNDMsIDY0LCAyMzQsIDEzNSwgOSwgNCwgMTI1LCA2NiwgNTMsIDE3LCA5LCA0LCAxMjEsIAotICAgIDIyMSwgMTY4LCA5LCA0LCAxMjUsIDIzMSwgMjMyLCA5LCA0LCAyMTIsIDMwLCA5LCA0LCAyMTEsIDQzLCA5LCA0LCAxMjUsIAotICAgIDIxMSwgNDMsIDksIDQsIDEyNSwgMjI4LCA2NywgOSwgMjI1LCA0NCwgNjQsIDIyMiwgMTUsIDksIDI0NSwgMTYwLCAyNTAsIAotICAgIDE4MywgMTIxLCAyMTgsIDEzMSwgOSwgMjQ1LCAxNjAsIDI1MCwgMTgzLCAxMjUsIDIxOCwgMTMxLCA5LCAyMjIsIDE4NSwgCi0gICAgMTI1LCAyMTgsIDEzMiwgMiwgMjQ0LCAxMTIsIDI1MCwgMTgyLCA5LCA0LCAxMjEsIDIzMSwgODMsIDksIDEsIDI0OCwgMjA0LCAKLSAgICAyLCAyMzUsIDIwMCwgMjE0LCAxMDUsIDksIDEsIDIyMywgOTksIDIsIDIzNSwgMjAwLCAyMTQsIDEwNSwgMjQ1LCAzMCwgCi0gICAgMjU0LCA0NSwgMjEsIDIxMCwgODYsIDI0NSwgMzAsIDI1NCwgNDUsIDIxLCAxMTEsIDI0NSwgMzAsIDI1NCwgNDUsIDIxLCAKLSAgICAxMDUsIDI0NSwgMzAsIDI1NCwgNDUsIDIxLCAxNTgsIDI0NSwgMzAsIDI1NCwgNDUsIDIxLCAxNjEsIDI0NSwgMzAsIDI1NCwgCi0gICAgNDUsIDIxLCAxOTAsIDI0NSwgMzAsIDI1NCwgNDUsIDIxLCAxOTUsIDI0NSwgMzAsIDI1NCwgNDUsIDIxLCAxOTksIDI0NSwgCi0gICAgMzAsIDI1NCwgNDUsIDIxLCAxOTYsIDI0NSwgMzAsIDI1NCwgNDUsIDIxLCAyMDEsIDksIDEsIDIyMCwgNjIsIDIsIDU5LCAKLSAgICA1MSwgOSwgMSwgMjQ4LCAyMjUsIDIsIDU5LCA1MSwgOSwgMSwgMjQyLCAyNTIsIDIsIDU5LCA1MSwgOSwgNSwgMjE5LCAxNjAsIAotICAgIDI1NCwgMTM0LCA5LCA1LCAyMTksIDE2MCwgMjI0LCAyMzgsIDIzMSwgNjMsIDksIDEsIDI0MSwgMjI2LCAyLCAyMzUsIDIwMCwgCi0gICAgMjE0LCAxMDUsIDE4MywgMjQ1LCAxNTEsIDY0LCAyMjYsIDE4LCAxODMsIDIxOCwgMjAsIDI0MywgMjM2LCAyMTgsIDEzMSwgCi0gICAgMTgzLCAyMTgsIDY4LCAyNDMsIDIzNiwgMjE4LCAxMzEsIDE4MywgMjE4LCAyMCwgMjQ5LCAyMzQsIDE4MywgMjE4LCA2OCwgCi0gICAgMjQ5LCAyMzQsIDE4MywgMjAzLCAyNDksIDIzNCwgMTgzLCAyNDksIDIzNSwgMjE5LCAxMDgsIDIzMywgNTIsIDE4MywgMjQ5LCAKLSAgICAyMzUsIDIxOSwgMTA4LCAyMjIsIDI1NCwgMTgzLCAyMTgsIDIwLCAyNDksIDIzNSwgMjE5LCAxMDgsIDIzMywgNTIsIDE4MywgCi0gICAgMjE4LCA2OCwgMjQ5LCAyMzUsIDIxOSwgMTA4LCAyMjIsIDI1NCwgMTgzLCAyNDksIDE4OCwgMTgzLCAyNDIsIDgsIDIyNiwgCi0gICAgMjU0LCAxODMsIDI0MiwgOCwgMjMxLCA0MSwgMTgzLCAyNDIsIDgsIDI1MywgMjI2LCAxODMsIDI1NSwgMzAsIDc5LCAxODMsIAotICAgIDEsIDI1NCwgMTgzLCAxODMsIDEsIDIxOCwgMjQsIDI1NCwgMTgzLCAxODMsIDEsIDI1MiwgMzMsIDE4MywgMSwgMjQzLCAKLSAgICAxMjAsIDE4MywgMSwgMjQzLCAxMjEsIDI0MywgOTgsIDE4MywgMSwgMjQ4LCAyMDAsIDE4MywgMSwgMjQ3LCAxMjcsIDI0OCwgCi0gICAgMjAxLCAyMjIsIDIzMiwgMTgzLCAxLCAyNDEsIDI0NSwgMTgzLCAxLCAyMTIsIDMwLCAxODMsIDEsIDIxMCwgMTA4LCAxODMsIAotICAgIDEsIDI0MSwgMjAyLCAxODMsIDEsIDIxNiwgMjI3LCAxODMsIDEsIDIxNiwgMjI4LCAyNDMsIDk4LCAxODMsIDEsIDIxMCwgCi0gICAgMTk5LCAxODMsIDEsIDIxMCwgMjAwLCAyNDEsIDI0NSwgMTgzLCAxLCAyMzQsIDIzMSwgMTgzLCAxLCAyMzMsIDEwNywgMTgzLCAKLSAgICAxLCAyMzAsIDE5NSwgMTgzLCAxLCAyMjcsIDE5OCwgMTgzLCAxLCAyMjAsIDE0NSwgMTgzLCAxLCA0MCwgMjIwLCAxNDUsIAotICAgIDE4MywgMSwgNzYsIDE4MywgMSwgMjI1LCAyMjQsIDE4MywgMSwgMjIzLCA1MiwgMjI1LCAyMjQsIDE4MywgMSwgMjIyLCAyNiwgCi0gICAgMTgzLCAxLCAyMjQsIDc4LCAxODMsIDEsIDIyMiwgMjMyLCAxODMsIDEsIDIyMCwgMjIsIDE4MywgMSwgMjE3LCAzNywgMTgzLCAKLSAgICAxLCAyMjUsIDE3MiwgMjUyLCAyMCwgMTgzLCAxLCAyMjUsIDE3MiwgMjQyLCAyNDksIDE4MywgMSwgMjI1LCAxNzIsIDI0OCwgCi0gICAgMjgsIDE4MywgMjI0LCAxNTQsIDQ4LCAxODMsIDIyNCwgMTU0LCA1MSwgMTgzLCAyMjQsIDE1NCwgMjQ2LCAxMjUsIDE4MywgCi0gICAgMjEwLCAxNywgNDgsIDE4MywgMjEwLCAxNywgNTEsIDE4MywgMjEwLCAxNywgMjQ2LCAxMjUsIDE4MywgMjIzLCAxMzQsIDQ4LCAKLSAgICAxODMsIDIyMywgMTM0LCA1MSwgMTgzLCAyNDYsIDEyNiwgMjEwLCAyNCwgMjQxLCA1MSwgMTgzLCAyNDYsIDEyNiwgMjEwLCAKLSAgICAyNCwgMjU0LCAxMTMsIDE4MywgMjQxLCAyNDgsIDQ4LCAxODMsIDI0MSwgMjQ4LCA1MSwgMTgzLCAyNDEsIDI0NywgMjQ2LCAKLSAgICAxMjUsIDE4MywgMjQ1LCA4NywgNDgsIDE4MywgMjQ1LCA4NywgNTEsIDE4MywgMjIyLCAxMDksIDE4MywgMjQ0LCAxNDQsIAotICAgIDI0NywgMTI4LCAxODMsIDIyMywgMjUxLCAxODMsIDIyMiwgMTM2LCAxODMsIDExMywgNjcsIDE3MCwgNDgsIDE4MywgMTEzLCAKLSAgICA2NywgMTcwLCA1MSwgMTgzLCAxMzQsIDE3MCwgNDgsIDE4MywgMTM0LCAxNzAsIDUxLCAxODMsIDIyNiwgMjUyLCAyMzIsIAotICAgIDIyMCwgNDgsIDE4MywgMjI2LCAyNTIsIDIzMiwgMjIwLCA1MSwgMTgzLCAyMzAsIDYxLCAxODMsIDI1MiwgMTM5LCAxODMsIAotICAgIDEsIDIxOSwgNTEsIDIxMCwgODAsIDE4MywgMSwgMjE5LCA1MSwgMjM0LCAxMjgsIDE4MywgMSwgMjE5LCA1MSwgMjQ0LCAKLSAgICAxNjIsIDksIDEsIDI1MiwgNjMsIDIsIDEzNCwgMTcwLCAyNDEsIDEsIDUxLCA5LCAxLCAyNTIsIDYzLCAyLCA1OSwgMjUyLCAKLSAgICA1MSwgMjIsIDEzNCwgMTcwLCA0OCwgOSwgMSwgMjUyLCA2MywgMiwgMTM0LCAxNzAsIDIyNSwgMTAsIDIxNCwgMTUzLCA1MSwgCi0gICAgOSwgMSwgMjUyLCA2MywgMiwgMTM0LCAxNzAsIDIyNSwgMTAsIDIxNCwgMTUzLCAyNTIsIDUxLCAyMiwgMTEzLCAxNzAsIDQ4LCAKLSAgICA5LCAxLCAyNTIsIDYzLCAyLCAxMTMsIDE3MCwgMjUyLCA1MSwgMjIsIDU5LCA0OCwgOSwgMSwgMjUyLCA2MywgMiwgMjM1LCAKLSAgICAyMDAsIDQsIDIxNCwgMTA2LCA1MSwgOSwgMSwgMjUyLCA2MywgMiwgNCwgMjE0LCAxMDUsIDksIDEsIDEyMiwgMiwgMTEzLCAKLSAgICAxNzAsIDQ4LCA5LCAxLCAxMjIsIDIsIDEzNCwgMTcwLCAyMjUsIDEwLCAyMTQsIDE1MywgNTEsIDksIDEsIDI0OCwgMjA0LCAKLSAgICAyLCAxMTMsIDE3MCwgMjEzLCAxODksIDI1MiwgNTEsIDIyLCA0LCAyMTcsIDgxLCA5LCAxLCAyNDgsIDIwNCwgMiwgMjM1LCAKLSAgICAyMDAsIDQsIDIxNCwgMTA2LCA1MSwgOSwgMSwgMjIzLCA5OSwgMiwgOTEsIDksIDEsIDIyMSwgMTY5LCAyLCAyNDQsIDE5LCAKLSAgICAxNzAsIDQ4LCA5LCAxLCAyNTQsIDIwNiwgMiwgMTEzLCAxNzAsIDQ4LCA5LCAxLCAyNTQsIDIwNiwgMiwgMTM0LCAxNzAsIAotICAgIDIyNSwgMTAsIDI0NiwgMTEyLCA0OCwgOSwgMSwgMjU0LCAyMDYsIDIsIDExMywgMTcwLCAyMTMsIDE4OSwgNDgsIDksIDEsIAotICAgIDI0NCwgMTUxLCAyLCAxMTMsIDE3MCwgNTEsIDksIDEsIDI0NCwgMTUxLCAyLCAxMzQsIDE3MCwgMjI1LCAxMCwgMjE0LCAKLSAgICAxNTMsIDUxLCA5LCAxLCAyMzQsIDE4MSwgMiwgNTksIDQ4LCA5LCAxLCAyMzQsIDE4MSwgMiwgMTM0LCAxNzAsIDQ4LCA5LCAKLSAgICAxLCAyMzQsIDE4MSwgMiwgMTM0LCAxNzAsIDIyNSwgMTAsIDIxNCwgMTUzLCA1MSwgOSwgMSwgNjYsIDIsIDU5LCA0OCwgOSwgCi0gICAgMSwgNjYsIDIsIDU5LCA1MSwgOSwgMSwgMjI4LCA2OCwgMiwgMTEzLCAxNzAsIDUxLCA5LCAxLCAyMjgsIDY4LCAyLCA0LCAKLSAgICAyMTcsIDgxLCA5LCAxLCAyMjgsIDY4LCAyLCA0LCAyMTQsIDEwNSwgOSwgMSwgMjMzLCAxMDksIDIsIDEzMCwgOSwgMSwgCi0gICAgMjIzLCA5OSwgMiwgMTEzLCAxNzAsIDIxMywgMTg5LCA0OCwgOSwgMSwgMjIzLCA5OSwgMiwgMTgyLCA0OCwgOSwgMSwgMjIxLCAKLSAgICAxNjksIDIsIDExMywgMTcwLCAyMTMsIDE4OSwgNDgsIDksIDEsIDEyMiwgMiwgNCwgOSwgMSwgMjE3LCA4MiwgNTEsIDksIDEsIAotICAgIDEyMiwgMiwgNCwgOSwgMSwgMjE3LCA4MiwgMjIsIDExMywgMjQ3LCAxMjYsIDksIDEsIDIyMSwgMTY5LCAyLCA0LCA5LCAxLCAKLSAgICAyMTcsIDgyLCAyMiwgMTEzLCAyNDcsIDEyNiwgOSwgMSwgMjIzLCA5OSwgMiwgNCwgOSwgMSwgMjE3LCA4MiwgMjIsIDExMywgCi0gICAgMjQ3LCAxMjYsIDksIDEsIDEyMiwgMiwgNCwgOSwgMSwgMjE3LCA4MiwgNDgsIDksIDEsIDEwOSwgMiwgMjQ1LCAzMCwgMjU0LCAKLSAgICA0NSwgMjEsIDExMywgNDgsIDksIDEsIDEwOSwgMiwgMjQ1LCAzMCwgMjU0LCA0NSwgMjEsIDEzNCwgNDgsIDksIDEsIDI0NCwgCi0gICAgMTc2LCA3NywgMiwgMjQ1LCAzMCwgMjU0LCA0NSwgMjEsIDExMywgNDgsIDksIDEsIDI0NCwgMTc2LCA3NywgMiwgMjQ1LCAKLSAgICAzMCwgMjU0LCA0NSwgMjEsIDEzNCwgNDgsIDksIDEsIDI0NCwgMTc2LCA3NywgMiwgMjQ1LCAzMCwgMjU0LCA0NSwgMjEsIAotICAgIDI0NCwgMTksIDUxLCA5LCAxLCAyMTIsIDMxLCAyLCAyNDUsIDMwLCAyNTQsIDQ1LCAyMSwgMTEzLCA0OCwgOSwgMSwgMjEyLCAKLSAgICAzMSwgMiwgMjQ1LCAzMCwgMjU0LCA0NSwgMjEsIDEzNCwgNDgsIDksIDEsIDc3LCAyNTIsIDE0MSwgMiwgMjQ1LCAzMCwgCi0gICAgMjU0LCA0NSwgMjEsIDExMywgNDgsIDksIDEsIDc3LCAyNTIsIDE0MSwgMiwgMjQ1LCAzMCwgMjU0LCA0NSwgMjEsIDEzNCwgCi0gICAgNDgsIDksIDEsIDEyMiwgMiwgMjQ1LCAzMCwgMjU0LCA0NSwgMjEsIDI0NCwgMTksIDUxLCA5LCAxLCAyMjEsIDE2OSwgMiwgCi0gICAgMjQ1LCAzMCwgMjU0LCA0NSwgMjEsIDI0NCwgMTksIDQ4LCA5LCAxLCAyMjEsIDE2OSwgMiwgMjM1LCAyMDAsIDIxNCwgMTA1LCAKLSAgICA5LCAxLCAyMzUsIDEsIDIsIDExMywgMTcwLCA0OCwgMjE2LCAyMDYsIDEsIDI0MiwgNTMsIDIxNiwgMjA2LCAxLCAyMjAsIAotICAgIDcwLCAyMTYsIDIwNiwgMSwgMjI4LCA2NiwgMjE2LCAyMDYsIDEsIDIyMywgMTg3LCAyMTYsIDIwNiwgMSwgMjUyLCAxOTcsIAotICAgIDIxNiwgMjA2LCAxLCAyMzMsIDEsIDIxNiwgMjA2LCAxLCAyMzUsIDE0LCAyMTYsIDIwNiwgMSwgMjU0LCAxNjgsIDIxNiwgCi0gICAgMjA2LCAxLCAyMTQsIDI1LCAyMTYsIDIwNiwgMSwgMjMxLCA4MiwgMjE2LCAyMDYsIDEsIDI0NCwgMjAyLCAyMTYsIDIwNiwgCi0gICAgMSwgMjQ4LCAzMSwgMjE2LCAyMDYsIDEsIDIxNiwgMjA4LCAyMTYsIDIwNiwgMSwgMjMzLCAxMzcsIDIxNiwgMjA2LCAxLCAKLSAgICAyNDMsIDEzOCwgMjE2LCAyMDYsIDEsIDI0MiwgMTg0LCAyMTYsIDIwNiwgMSwgMjIxLCAxNjcsIDIxNiwgMjA2LCAxLCAyNDgsIAotICAgIDE1NiwgMjE2LCAyMDYsIDEsIDIxMCwgMTAwLCAyMTYsIDIwNiwgMSwgMjE3LCAzOCwgMjE2LCAyMDYsIDEsIDIxMSwgMTAzLCAKLSAgICAyMTYsIDIwNiwgMSwgMjI1LCAyMzcsIDIxNiwgMjA2LCAxLCAyMzUsIDEzNCwgMjE2LCAyMDYsIDEsIDI1MCwgMTQyLCAyMTYsIAotICAgIDIwNiwgMSwgMjE1LCAxNTYsIDIxNiwgMjA2LCAxLCAyNDEsIDE5NSwgMjE2LCAyMDYsIDEsIDIzNCwgMTM3LCAyMTYsIDIwNiwgCi0gICAgMSwgMjE2LCAyMDcsIDIxNiwgMjA2LCAxLCAyMTAsIDExNSwgMjE2LCAyMDYsIDEsIDIyMCwgNjAsIDIxNiwgMjA2LCAxLCAKLSAgICAyMjIsIDMyLCAyMTYsIDIwNiwgMSwgMjQ4LCAyMjcsIDIxNiwgMjA2LCAxLCAxMTIsIDIxNiwgMjA2LCAxLCAyMTAsIDIzLCAKLSAgICAyMTYsIDIwNiwgMSwgMjU0LCAyMDIsIDIxNiwgMjA2LCAxLCAyNDIsIDI1MCwgMjE2LCAyMDYsIDEsIDIyNCwgODgsIDIxNiwgCi0gICAgMjA2LCAxLCAyMTIsIDYzLCAyMTYsIDIwNiwgMjU1LCAzMSwgMjE2LCAyMDYsIDI1NSwgNDcsIDIxNiwgMjA2LCAyNDAsIAotICAgIDEyMSwgMjE2LCAyMDYsIDI0NSwgMjE2LCAyMTYsIDIwNiwgMjE0LCAyMjIsIDIxNiwgMjA2LCAyMjYsIDE4NiwgMjE2LCAKLSAgICAyMDYsIDI0NSwgMjI0LCAyMTYsIDIwNiwgMjQ1LCAyNCwgMjE2LCAyMDYsIDIyNiwgMjUxLCAyMTYsIDIwNiwgMjI3LCAzLCAKLSAgICAyMTYsIDIwNiwgMjE4LCA0NiwgMjE2LCAyMDYsIDEsIDIyOSwgMjMwLCAyMjgsIDE0MiwgMjEsIDIxMCwgODYsIDIyOCwgCi0gICAgMTQyLCAyMSwgMTExLCAyMjgsIDE0MiwgMjEsIDEwNSwgMjI4LCAxNDIsIDIxLCAxNTgsIDIyOCwgMTQyLCAyMSwgMTYxLCAKLSAgICAyMjgsIDE0MiwgMjEsIDE5MCwgMjI4LCAxNDIsIDIxLCAxOTUsIDIyOCwgMTQyLCAyMSwgMTk5LCAyMjgsIDE0MiwgMjEsIAotICAgIDE5NiwgMjI4LCAxNDIsIDIxLCAyMDEsIDIyOCwgMTQyLCAxLCA2MSwgMjI4LCAxNDIsIDEsIDI0NSwgMjE3LCAyMjgsIDE0MiwgCi0gICAgMSwgNzQsIDIyOCwgMTQyLCAxLCA3NiwgMjI4LCAxNDIsIDEsIDY5LCAyMjgsIDE0MiwgMSwgMjI2LCAxODcsIDIyOCwgMTQyLCAKLSAgICAxLCA3OCwgMjI4LCAxNDIsIDEsIDI0OCwgMjE3LCAyMjgsIDE0MiwgMSwgMjMwLCAzMCwgMjI4LCAxNDIsIDEsIDI1MiwgCi0gICAgMTk5LCAyMjgsIDE0MiwgMSwgMTkxLCAyMjgsIDE0MiwgMSwgMjE3LCAxMDYsIDIyOCwgMTQyLCAxLCAyMzUsIDE0NywgMjI4LCAKLSAgICAxNDIsIDEsIDI1MCwgMTY1LCAyMjgsIDE0MiwgMSwgMjQ4LCAyMjksIDIyOCwgMTQyLCAxLCAyMDUsIDIyOCwgMTQyLCAxLCAKLSAgICAyMjIsIDE4MSwgMjI4LCAxNDIsIDEsIDIwNiwgMjI4LCAxNDIsIDEsIDI0MywgODYsIDIyOCwgMTQyLCAxLCAyNDQsIDIwNCwgCi0gICAgMjI4LCAxNDIsIDEsIDE3NiwgMjI4LCAxNDIsIDEsIDIzMywgMTQxLCAyMjgsIDE0MiwgMSwgMjI5LCAyMzQsIDIxMSwgMjIzLCAKLSAgICAyMjgsIDE0MiwgMSwgMTg2LCAyMjgsIDE0MiwgMSwgMjI3LCAxNjksIDIyOCwgMTQyLCAxLCAxOTgsIDIyOCwgMTQyLCAxLCAKLSAgICAxNjIsIDIyOCwgMTQyLCAxLCAyMTIsIDY1LCAyMjgsIDE0MiwgMSwgMTkyLCAyMjgsIDE0MiwgMSwgMjI3LCAxNzAsIDIxMSwgCi0gICAgMjIzLCAyMjgsIDE0MiwgMSwgMjM1LCA2NywgMjM1LCAxNDcsIDIyOCwgMTQyLCAxLCAyMzUsIDY3LCAyNTAsIDE2NSwgMjI4LCAKLSAgICAxNDIsIDEsIDIzNSwgNjcsIDIwNSwgMjI4LCAxNDIsIDM4LCAyMTksIDI1MywgMTI1LCAyMTYsIDMxLCAyMjgsIDE0MiwgMzgsIAotICAgIDIxOSwgMjUzLCAxMjEsIDIxNiwgMzEsIDIyOCwgMTQyLCAzOCwgMjE5LCAyNTMsIDIyMiwgMjMxLCAyMTYsIDMxLCAyMjgsIAotICAgIDE0MiwgMzgsIDIwMCwgMjQ4LCA0NiwgMjE2LCAzMSwgMjI4LCAxNDIsIDM4LCAyMDAsIDEyNSwgMjE2LCAzMSwgMjI4LCAKLSAgICAxNDIsIDM4LCAyMDAsIDEyMSwgMjE2LCAzMSwgMjI4LCAxNDIsIDM4LCAyMDAsIDIyMiwgMjMxLCAyMTYsIDMxLCAyMjgsIAotICAgIDE0MiwgMzgsIDIyOSwgMTk4LCA3OSwgMjI4LCAxNDIsIDM4LCA1MiwgNTksIDQ4LCAyMjgsIDE0MiwgMTI1LCAxMzgsIDI1NCwgCi0gICAgNjUsIDIyOCwgMTQyLCAxMjEsIDEzOCwgMjU0LCA2NSwgMjI4LCAxNDIsIDE2LCAyMjYsIDE4OCwgMjQ4LCA1OCwgMjI4LCAKLSAgICAxNDIsIDE2LCAyNDMsIDg1LCAyMjgsIDE0MiwgMjQ5LCAyMjcsIDIyOCwgMTQyLCAyNDUsIDM5LCA3OSwgMjI4LCAxNDIsIAotICAgIDIzMywgMTE0LCAyMjEsIDI1NCwgMSwgMjU0LCAxODUsIDIyMSwgMjU0LCAxLCAyNTEsIDIzNiwgMjIxLCAyNTQsIDEsIDI0MywgCi0gICAgMTE5LCAyMjEsIDI1NCwgMSwgMjQ4LCAyMDIsIDIyMSwgMjU0LCAxLCAyMzUsIDE1OCwgMjIxLCAyNTQsIDEsIDI1MiwgMTk3LCAKLSAgICAyMjEsIDI1NCwgMSwgMjEwLCA4OSwgMjIxLCAyNTQsIDEsIDIzNSwgMTY2LCAyMjEsIDI1NCwgMSwgMjE2LCA2OCwgMjIxLCAKLSAgICAyNTQsIDEsIDIxMCwgMTgyLCAyMjEsIDI1NCwgMSwgMjM1LCAxNSwgMjIxLCAyNTQsIDEsIDIzMywgMTM0LCAyMjEsIDI1NCwgCi0gICAgMSwgMjMwLCAxOTUsIDIyMSwgMjU0LCAxLCAyMjcsIDE5OCwgMjIxLCAyNTQsIDEsIDIxOSwgMTU4LCAyMjEsIDI1NCwgMSwgCi0gICAgMjM2LCA2LCAyMjEsIDI1NCwgMSwgMjQ0LCAxMjksIDIyMSwgMjU0LCAxLCAyMTUsIDE4MiwgMjIxLCAyNTQsIDEsIDIyNCwgCi0gICAgMTMsIDIyMSwgMjU0LCAxLCAyMjIsIDIzMiwgMjIxLCAyNTQsIDEsIDIyMCwgODcsIDIyMSwgMjU0LCAxLCAyMTcsIDEwMSwgCi0gICAgMjIxLCAyNTQsIDE2NCwgMjM2LCA2LCAyMjEsIDI1NCwgMTY0LCAyMzYsIDUsIDIyMSwgMjU0LCAxNjQsIDIyNiwgMjQ3LCAKLSAgICAyMjEsIDI1NCwgMTY0LCAyNDgsIDIxNSwgMjIxLCAyNTQsIDU4LCAxLCAyNDUsIDExMywgMjEwLCAxODIsIDIyMSwgMjU0LCAKLSAgICAxNjQsIDI0NSwgMTEzLCAyMTAsIDE4MiwgMjIxLCAyNTQsIDI1LCA1LCAyMDAsIDc2LCAyMjEsIDI1NCwgMjUsIDUsIDc2LCAKLSAgICAyMjEsIDI1NCwgMjUsIDUsIDIyNiwgMTIyLCAyNTUsIDgyLCAyMjEsIDI1NCwgMjUsIDUsIDIwMCwgMjU1LCA4MiwgMjIxLCAKLSAgICAyNTQsIDI1LCA1LCAyNTUsIDgyLCAyMjEsIDI1NCwgMjUsIDUsIDIyNiwgMTIyLCA2MSwgMjIxLCAyNTQsIDI1LCA1LCAyMDAsIAotICAgIDYxLCAyMjEsIDI1NCwgMjUsIDUsIDYxLCAyMjEsIDI1NCwgNTgsIDEsIDIxOSwgMjUzLCA2MSwgMjIxLCAyNTQsIDI1LCA1LCAKLSAgICAyMTksIDI1MywgNjEsIDIyMSwgMjU0LCAyNSwgNSwgMjAwLCA2OSwgMjIxLCAyNTQsIDI1LCA1LCA2OSwgMjIxLCAyNTQsIAotICAgIDU4LCAxLCA3NCwgMjIxLCAyNTQsIDI1LCA1LCAyMDAsIDc0LCAyMjEsIDI1NCwgMjUsIDUsIDc0LCAyMjEsIDI1NCwgMjUsIAotICAgIDUsIDc4LCAyMjEsIDI1NCwgMjUsIDUsIDIxOCwgNDYsIDIyMSwgMjU0LCAxNjQsIDIyOSwgOTcsIDIyMSwgMjU0LCAyMjQsIAotICAgIDE0NCwgMjI5LCA5NywgMjIxLCAyNTQsIDIyNCwgMTQ0LCAyNTQsIDIyNywgMjIxLCAyNTQsIDIyNCwgMTQ0LCAyNTQsIDEyMiwgCi0gICAgMjIxLCAyNTQsIDIyNCwgMTQ0LCAyNTIsIDEyMiwgMjIxLCAyNTQsIDIyNCwgMTQ0LCAyNTMsIDIwOSwgMjIxLCAyNTQsIAotICAgIDIyNCwgMTQ0LCAyMjAsIDEwLCAyMjEsIDI1NCwgMjU1LCAzMCwgNzksIDIyMSwgMjU0LCAyMjQsIDE0NCwgMjMxLCA3MywgCi0gICAgMjI0LCA0OCwgMjIxLCAyNTQsIDIyNCwgMTQ0LCAyMTAsIDMxLCAyMjEsIDI1NCwgMjI0LCAxNDQsIDIyNCwgNDgsIDIyMSwgCi0gICAgMjU0LCAyMjQsIDE0NCwgMjEwLCAxMTQsIDIyMSwgMjU0LCAyMjQsIDE0NCwgMjE1LCA5MCwgMjIxLCAyNTQsIDIyNCwgMTQ0LCAKLSAgICAyNTQsIDE3LCAyMjEsIDI1NCwgMjI0LCAxNDQsIDIxOSwgNTUsIDIzMSwgMTUwLCAyMjEsIDI1NCwgMjI0LCAxNDQsIDI1NCwgCi0gICAgMTA4LCAyMzEsIDE4NywgMSwgMjQyLCAzMSwgMjMxLCAxODcsIDEsIDI1NSwgMzQsIDIzMSwgMTg3LCAxLCAyNTQsIDIyNSwgCi0gICAgMjMxLCAxODcsIDEsIDI1NSwgOCwgMjMxLCAxODcsIDEsIDI1NCwgMjE4LCAyMzEsIDE4NywgMSwgMjE0LCAxMjQsIDIzMSwgCi0gICAgMTg3LCAxLCAyNTMsIDE2OCwgMjMxLCAxODcsIDEsIDIzNSwgMTY2LCAyMzEsIDE4NywgMSwgMjUzLCAyMDYsIDIzMSwgMTg3LCAKLSAgICAxLCAyNTQsIDE5MCwgMjMxLCAxODcsIDEsIDI1NCwgMTk1LCAyMzEsIDE4NywgMSwgMjU0LCAxODcsIDIzMSwgMTg3LCAxLCAKLSAgICAyNTQsIDE0NCwgMjMxLCAxODcsIDEsIDI1NCwgMTMxLCAyMzEsIDE4NywgMSwgMjUzLCAyNDUsIDIzMSwgMTg3LCAxLCAyMzYsIAotICAgIDYsIDIzMSwgMTg3LCAxLCAyNTQsIDgwLCAyMzEsIDE4NywgMSwgMjUzLCAyMTYsIDIzMSwgMTg3LCAxLCAyNTQsIDUzLCAKLSAgICAyMzEsIDE4NywgMSwgMjU0LCA0OSwgMjMxLCAxODcsIDEsIDI1MywgMjM5LCAyMzEsIDE4NywgMSwgMjUzLCAyMTQsIDIzMSwgCi0gICAgMTg3LCAxLCAyNDYsIDYzLCAyMzEsIDE4NywgMSwgMjM1LCA4LCAyMzEsIDE4NywgMSwgMjU0LCAyMDUsIDIzMSwgMTg3LCAKLSAgICAyNTQsIDIzMSwgNzksIDIzMSwgMTg3LCAyMTMsIDEzNiwgNzksIDIzMSwgMTg3LCAyNDMsIDYwLCA3OSwgMjMxLCAxODcsIAotICAgIDIyNCwgMTQzLCA5LCAxLCAyNTIsIDYzLCAyLCA0LCAyMTQsIDEwNiwgNTEsIDksIDEsIDE1MSwgMiwgMTEzLCAxNzAsIDQ4LCAKLSAgICA5LCAxLCAyMTcsIDgyLCAyLCAxMTMsIDE3MCwgNDgsIDksIDEsIDI0NCwgMTUxLCAyLCA1OSwgMjUyLCA1MSwgMjIsIDEzNCwgCi0gICAgMTcwLCA0OCwgOSwgMSwgMjI0LCA4NSwgMiwgNTksIDUxLCA5LCAxLCAyMzMsIDEwOSwgMiwgNTIsIDEzMCwgOSwgMSwgNjYsIAotICAgIDIsIDEzNCwgMTcwLCA0OCwgOSwgMSwgNzcsIDIsIDExMywgMTcwLCAyNTIsIDUxLCAyMiwgMTgyLCA0OCwgOSwgMSwgNzcsIAotICAgIDIsIDExMywgMTcwLCAyNTIsIDUxLCAyMiwgNTksIDQ4LCA5LCAxLCAyMjMsIDk5LCAyLCAyMzIsIDEyOSwgOSwgMSwgMjEyLCAKLSAgICAzMSwgMiwgNTksIDIxMSwgMjMxLCA5LCAxLCAyMjIsIDIwMywgMjExLCA0MywgOSwgMjQ5LCAxMDcsIDI0NCwgMTczLCA5LCAKLSAgICAyNDksIDEwNywgMjQ4LCAxOTIsIDksIDI0OSwgMTA3LCAyMzQsIDIxMSwgOSwgMjQ5LCAxMDcsIDI0NCwgMTcxLCA5LCAyNDksIAotICAgIDEwNywgMjQ4LCAxOTAsIDksIDI0OSwgMTA3LCAyMzQsIDIwOSwgOSwgMTM4LCAxMjMsIDU5LCA0OCwgOSwgMTM4LCAxMTMsIAotICAgIDE3MCwgNDgsIDksIDEzOCwgMjMyLCAxMzAsIDQ4LCA5LCAxMzgsIDEyMywgNTksIDUxLCA5LCAxMzgsIDExMywgMTcwLCA1MSwgCi0gICAgOSwgMTM4LCAyMzIsIDEzMCwgNTEsIDksIDIwNCwgMjQ0LCAxNzEsIDksIDIwNCwgMjQ4LCAxOTAsIDksIDIwNCwgMjM0LCAKLSAgICAyMDksIDksIDQsIDEyNSwgMjEyLCAzMCwgOSwgMjQ0LCAxNzQsIDIsIDIyMiwgMjM2LCA5LCAyNDQsIDE3NCwgMiwgNTksIAotICAgIDQ4LCA5LCAyMzQsIDIxMiwgMiwgNTksIDUxLCA5LCA0MywgMjU0LCAyLCA0OCwgOSwgNDQsIDI1NCwgMiwgNDgsIDksIDQzLCAKLSAgICAyNTQsIDIsIDUxLCA5LCA0NCwgMjU0LCAyLCA1MSwgOSwgNTIsIDQ0LCAyNTQsIDIsIDQ4LCA5LCA1MiwgNDQsIDI1NCwgMiwgCi0gICAgNzIsIDIsIDI0NywgMTI4LCA5LCA0NCwgMjU0LCAyLCA3MiwgMiwgMjQ3LCAxMjgsIDksIDI0OCwgMTkzLCAyLCAyNDcsIAotICAgIDEyOCwgODQsIDUsIDIzNSwgMjAwLCAyNTEsIDcsIDg0LCA1LCAyNTEsIDcsIDg0LCA1LCAyNTQsIDgzLCA4NCwgNSwgMjEzLCAKLSAgICAxNDcsIDg0LCAxLCAyMTksIDI1MywgNjEsIDg0LCAxLCA2MSwgODQsIDEsIDI1NSwgODIsIDg0LCAxLCA3NCwgODQsIDEsIAotICAgIDIzNiwgNDAsIDg0LCAxLCA2OSwgODQsIDEsIDIxNCwgMTE4LCA4NCwgMSwgMTQ5LCAxNTMsIDg0LCAxLCAxNDksIDE1NiwgCi0gICAgODQsIDEsIDI1MSwgMTAsIDc2LCA4NCwgMSwgMjE5LCAyNTMsIDc2LCA4NCwgMSwgNzYsIDg0LCAxLCAyNTQsIDIxMCwgODQsIAotICAgIDEsIDI1MSwgMTAsIDc4LCA4NCwgMSwgMjE5LCAyNTMsIDc4LCA4NCwgMSwgNzgsIDg0LCAxLCAyNTMsIDIwMCwgODQsIDEsIAotICAgIDE3NiwgODQsIDEsIDIzNCwgMTM4LCA4NCwgMSwgMjQzLCAxNDIsIDg0LCAxLCAyNDMsIDAsIDg0LCAxLCAyMjksIDgyLCA4NCwgCi0gICAgMSwgMjUxLCA0MSwgODQsIDEsIDI1MCwgMTY1LCA4NCwgMSwgMjM1LCAxNDcsIDg0LCAxLCAyMzUsIDEyMCwgODQsIDEsIAotICAgIDIyNywgMTY5LCA4NCwgMSwgMjE1LCAxNTcsIDg0LCAxLCAyMTUsIDE0NSwgODQsIDEsIDI0OCwgMTQzLCA4NCwgMSwgMjQ4LCAKLSAgICAxMjcsIDg0LCAxLCAyMjgsIDExNSwgODQsIDEsIDIxNywgMTA2LCA4NCwgMSwgMjE2LCAyMDksIDg0LCAxLCAyNDgsIDIyOSwgCi0gICAgODQsIDEsIDI0OCwgMzMsIDg0LCAxLCAxOTgsIDg0LCAxLCAyMjgsIDk3LCA4NCwgMSwgMTkxLCA4NCwgMSwgMjI1LCAxNTAsIAotICAgIDg0LCAxLCAyNTIsIDE5OSwgODQsIDEsIDI1MiwgMjYsIDg0LCAxLCAxODYsIDg0LCAxLCAxOTIsIDg0LCAxLCAyMDUsIDg0LCAKLSAgICAxLCAyMjIsIDE4MSwgODQsIDEsIDIzMywgMTQxLCA4NCwgMSwgMjMyLCAxOTAsIDg0LCAxLCAyMzIsIDE4MSwgODQsIDEsIAotICAgIDIxNCwgMjcsIDg0LCAxLCAyMjAsIDEwNCwgODQsIDEsIDIxOCwgMjI1LCA4NCwgMSwgMjA2LCA4NCwgMSwgMTYyLCA4NCwgCi0gICAgMjUsIDUsIDIyNiwgMjM4LCA4NCwgMjUsIDUsIDIyNiwgMTg1LCA4NCwgNSwgMjI3LCAyMDksIDg0LCA1LCAyNTMsIDE4MywgCi0gICAgODQsIDI1LCA1LCAyNTUsIDgyLCA4NCwgMjUsIDUsIDc0LCA4NCwgMjUsIDUsIDIzNiwgNDAsIDg0LCAyNSwgNSwgNjksIDg0LCAKLSAgICAyNSwgNSwgMjE0LCAxMTgsIDg0LCAyNSwgNSwgMTQ5LCAxNTMsIDg0LCAyNSwgNSwgMTQ5LCAyMjIsIDE4MiwgODQsIDI1LCAKLSAgICA1LCAyNTEsIDEwLCA3NiwgODQsIDI1LCA1LCAyMTksIDI1MywgNzYsIDg0LCAyNSwgNSwgNzYsIDg0LCAyNSwgNSwgMjU0LCAKLSAgICAyMTAsIDg0LCAyNSwgNSwgMjUxLCAxMCwgNzgsIDg0LCAyNSwgNSwgMjE5LCAyNTMsIDc4LCA4NCwgMjUsIDUsIDc4LCA4NCwgCi0gICAgMjUsIDUsIDI1MywgMjAwLCA4NCwgNSwgMjEzLCAxNTIsIDg0LCAyNSwgNSwgMjI0LCAxODgsIDc2LCA4NCwgMjUsIDUsIAotICAgIDI1MywgMTc5LCA4NCwgMjI2LCAyMDgsIDg0LCAyMTgsIDExMywgNSwgMjE0LCAyMTYsIDg0LCAyMTgsIDExMywgNSwgMjU0LCAKLSAgICA4NSwgODQsIDI0MiwgMTQ0LCAyNTUsIDIzLCA4NCwgMjU1LCAxMiwgMjU1LCAyMywgODQsIDI1LCA1LCAyNTEsIDEwLCAyMDAsIAotICAgIDc2LCA4NCwgMjUsIDUsIDIxNCwgMjE0LCA4NCwgMjUsIDUsIDIxNCwgMTE3LCA4NCwgMSwgMjI0LCA5MSwgODQsIDEsIDIzNCwgCi0gICAgMTIxLCA4NCwgMSwgMjQyLCAyMzMsIDg0LCAxLCAyMTAsIDExNiwgODQsIDEsIDI0OCwgMTMyLCA4NCwgMSwgMjIzLCA0MiwgCi0gICAgODQsIDEsIDI0NCwgMjA0LCA4NCwgMSwgMjEwLCAxNjgsIDg0LCAxLCAxNDksIDIyMiwgMTgyLCA4NCwgMSwgMTQ5LCAyMzIsIAotICAgIDE5MSwgODQsIDI1LCA1LCAxNDksIDE1NiwgODQsIDI1LCA1LCAxNDksIDIzMiwgMTkxLCA4NCwgMjQ4LCAxODYsIDg0LCA1MiwgCi0gICAgMjQ4LCAxODYsIDg0LCAyMSwgMjEwLCA4NiwgODQsIDIxLCAxMTEsIDg0LCAyMSwgMTA1LCA4NCwgMjEsIDE1OCwgODQsIDIxLCAKLSAgICAxNjEsIDg0LCAyMSwgMTkwLCA4NCwgMjEsIDE5NSwgODQsIDIxLCAxOTksIDg0LCAyMSwgMTk2LCA4NCwgMjEsIDIwMSwgODQsIAotICAgIDI1NSwgMzAsIDUwLCA4NCwgNSwgMTI1LCAyMTksIDE5LCAyNDcsIDEyOCwgODQsIDEsIDI1MSwgMTAsIDYxLCA4NCwgMSwgCi0gICAgMjI2LCAyMzgsIDg0LCAxLCAyMjYsIDE4NSwgODQsIDEsIDI1MywgMTc5LCA4NCwgMSwgMjE0LCAyMTQsIDg0LCAxLCAyMTQsIAotICAgIDExNywgODQsIDEsIDIxMCwgODIsIDg0LCAxLCAxMTQsIDE5MiwgODQsIDEsIDI0MywgMzYsIDg0LCAxLCAyMzUsIDEwMiwgCi0gICAgODQsIDEsIDI0MiwgMTg3LCAyMTgsIDEzMSwgODQsIDEsIDI0OCwgMTMzLCA4NCwgMSwgMjUyLCAxMTksIDE0NiwgNSwgMjUxLCAKLSAgICA3LCAxNDYsIDUsIDI1NCwgODMsIDE0NiwgNSwgMjEzLCAxNDcsIDE0NiwgMSwgNjEsIDE0NiwgMSwgMjU1LCA4MiwgMTQ2LCAKLSAgICAxLCA3NCwgMTQ2LCAxLCAyMzYsIDQwLCAxNDYsIDEsIDY5LCAxNDYsIDEsIDIxNCwgMTE4LCAxNDYsIDEsIDE0OSwgMTUzLCAKLSAgICAxNDYsIDEsIDE0OSwgMTU2LCAxNDYsIDEsIDc2LCAxNDYsIDEsIDI1NCwgMjEwLCAxNDYsIDEsIDc4LCAxNDYsIDEsIDI1MywgCi0gICAgMjAwLCAxNDYsIDEsIDE3NiwgMTQ2LCAxLCAyMzQsIDEzOCwgMTQ2LCAxLCAyNDMsIDE0MiwgMTQ2LCAxLCAyNDMsIDAsIAotICAgIDE0NiwgMSwgMjI5LCA4MiwgMTQ2LCAxLCAyNTEsIDQxLCAxNDYsIDEsIDI1MCwgMTY1LCAxNDYsIDEsIDIzNSwgMTQ3LCAKLSAgICAxNDYsIDEsIDIzNSwgMTIwLCAxNDYsIDEsIDIyNywgMTY5LCAxNDYsIDEsIDIxNSwgMTU3LCAxNDYsIDEsIDIxNSwgMTQ1LCAKLSAgICAxNDYsIDEsIDI0OCwgMTQzLCAxNDYsIDEsIDI0OCwgMTI3LCAxNDYsIDEsIDIyOCwgMTE1LCAxNDYsIDEsIDIxNywgMTA2LCAKLSAgICAxNDYsIDEsIDIxNiwgMjA5LCAxNDYsIDEsIDI0OCwgMjI5LCAxNDYsIDEsIDI0OCwgMzMsIDE0NiwgMSwgMTk4LCAxNDYsIDEsIAotICAgIDE5MSwgMTQ2LCAxLCAyMjUsIDE1MCwgMTQ2LCAxLCAyNTIsIDE5OSwgMTQ2LCAxLCAyNTIsIDI2LCAxNDYsIDEsIDE4NiwgCi0gICAgMTQ2LCAxLCAxOTIsIDE0NiwgMSwgMjA1LCAxNDYsIDEsIDIzMywgMTQxLCAxNDYsIDEsIDIyMCwgMTA0LCAxNDYsIDEsIAotICAgIDIxOCwgMjI1LCAxNDYsIDEsIDIwNiwgMTQ2LCAxLCAxNjIsIDE0NiwgNSwgMjI3LCAyMDksIDE0NiwgNSwgMjUzLCAxODMsIAotICAgIDE0NiwgMjUsIDUsIDI1NSwgODIsIDE0NiwgMjUsIDUsIDc0LCAxNDYsIDI1LCA1LCAyMzYsIDQwLCAxNDYsIDI1LCA1LCA2OSwgCi0gICAgMTQ2LCAyNSwgNSwgMjE0LCAxMTgsIDE0NiwgMjUsIDUsIDE0OSwgMTUzLCAxNDYsIDI1LCA1LCAxNDksIDIyMiwgMTgyLCAKLSAgICAxNDYsIDI1LCA1LCA3NiwgMTQ2LCAyNSwgNSwgMjU0LCAyMTAsIDE0NiwgMjUsIDUsIDc4LCAxNDYsIDI1LCA1LCAyNTMsIAotICAgIDIwMCwgMTQ2LCA1LCAyMTMsIDE1MiwgMTQ2LCAxLCAyMzQsIDEzMCwgMjE3LCAxMDYsIDE0NiwgMjUzLCAyMDEsIDIzMywgCi0gICAgMjksIDc5LCAxNDYsIDEsIDIyMiwgMTgxLCAxNDYsIDEsIDIyMywgNDIsIDE0NiwgMSwgMjEwLCAxNjgsIDE0NiwgMSwgMTQ5LCAKLSAgICAyMjIsIDE4MiwgMTQ2LCAxLCAxNDksIDIzMiwgMTkxLCAxNDYsIDI1LCA1LCAxNDksIDE1NiwgMTQ2LCAyNSwgNSwgMTQ5LCAKLSAgICAyMzIsIDE5MSwgMTQ2LCAyMSwgMjEwLCA4NiwgMTQ2LCAyMSwgMTExLCAxNDYsIDIxLCAxMDUsIDE0NiwgMjEsIDE1OCwgCi0gICAgMTQ2LCAyMSwgMTYxLCAxNDYsIDIxLCAxOTAsIDE0NiwgMjEsIDE5NSwgMTQ2LCAyMSwgMTk5LCAxNDYsIDIxLCAxOTYsIAotICAgIDE0NiwgMjEsIDIwMSwgMTQ2LCAxLCAyMjMsIDE5MSwgMiwgMjMwLCAyMjksIDI0OCwgNiwgMTQ2LCAxLCAyMjMsIDE5MSwgMiwgCi0gICAgMjMyLCAxMTQsIDI0OCwgNiwgMTQ2LCAyMjIsIDEyMCwgNzksIDE0NiwgMjIyLCAxMjAsIDUwLCAxNDYsIDI0OSwgMTA2LCAKLSAgICAyMjcsIDIwMSwgMTExLCAxNDYsIDI0OSwgMTA2LCAyMjcsIDIwMSwgMTA1LCAxNDYsIDI0OSwgMTA2LCAyMjcsIDIwMSwgCi0gICAgMTU4LCAxNDYsIDI0OSwgMTA2LCAyMjcsIDIwMSwgMTYxLCAxNDYsIDI0OSwgMTA2LCAyMjcsIDIwMSwgMTIzLCAyMzMsIDIyLCAKLSAgICAyMTYsIDIwMiwgMjE2LCAxOTcsIDI0OCwgNTYsIDE0NiwgMjQ5LCAxMDYsIDI0OCwgNTcsIDIxOSwgMTIxLCAxNDYsIDIzNSwgCi0gICAgMTY3LCAxNDYsIDI0MywgMTEwLCA3OSwgMTg1LCA1LCAyNTUsIDcsIDI1MSwgMjUxLCAxODUsIDUsIDI1MSwgMjUxLCAxODUsIAotICAgIDUsIDIxMywgMTQ3LCAxODUsIDEsIDYxLCAxODUsIDEsIDI1NSwgODIsIDE4NSwgMSwgNzQsIDE4NSwgMSwgMjM2LCA0MCwgCi0gICAgMTg1LCAxLCA2OSwgMTg1LCAxLCAyMTQsIDExOCwgMTg1LCAxLCAyNDUsIDIxNywgMTg1LCAxLCAyNTQsIDIxMCwgMTg1LCAxLCAKLSAgICAyMjYsIDE4NywgMTg1LCAxLCAyNTMsIDIwMCwgMTg1LCAxLCAxNzYsIDE4NSwgMSwgMjM0LCAxMzgsIDE4NSwgMSwgMjQzLCAKLSAgICAxNDIsIDE4NSwgMSwgMjQzLCAwLCAxODUsIDEsIDIyOSwgODIsIDE4NSwgMSwgMjUxLCA0MSwgMTg1LCAxLCAyNTAsIDE2NSwgCi0gICAgMTg1LCAxLCAyMzUsIDE0NywgMTg1LCAxLCAyMzUsIDEyMCwgMTg1LCAxLCAyMjcsIDE2OSwgMTg1LCAxLCAyMTUsIDE1NywgCi0gICAgMTg1LCAxLCAyMTUsIDE0NSwgMTg1LCAxLCAyNDgsIDE0MywgMTg1LCAxLCAyNDgsIDEyNywgMTg1LCAxLCAyMjgsIDExNSwgCi0gICAgMTg1LCAxLCAyMTcsIDEwNiwgMTg1LCAxLCAyMTYsIDIwOSwgMTg1LCAxLCAyNDgsIDIyOSwgMTg1LCAxLCAyNDgsIDMzLCAKLSAgICAxODUsIDEsIDE5OCwgMTg1LCAxLCAxOTEsIDE4NSwgMSwgMjI1LCAxNTAsIDE4NSwgMSwgMjUyLCAxOTksIDE4NSwgMSwgCi0gICAgMjUyLCAyNiwgMTg1LCAxLCAxODYsIDE4NSwgMSwgMTkyLCAxODUsIDEsIDIwNSwgMTg1LCAxLCAyMzMsIDE0MSwgMTg1LCAxLCAKLSAgICAyMzIsIDE5MCwgMTg1LCAxLCAyMTQsIDI3LCAxODUsIDEsIDIyMCwgMTA0LCAxODUsIDEsIDIwNiwgMTg1LCAxLCAxNjIsIAotICAgIDE4NSwgNSwgMjI3LCAyMDksIDE4NSwgMjUsIDUsIDI1NSwgODIsIDE4NSwgMjUsIDUsIDc0LCAxODUsIDI1LCA1LCAyMzYsIAotICAgIDQwLCAxODUsIDI1LCA1LCA2OSwgMTg1LCAyNSwgNSwgMjE0LCAxMTgsIDE4NSwgMjUsIDUsIDI0NSwgMjE3LCAxODUsIDI1LCAKLSAgICA1LCAyNTQsIDIxMCwgMTg1LCAyNSwgNSwgMjI2LCAxODcsIDE4NSwgMjUsIDUsIDI1MywgMjAwLCAxODUsIDUsIDIxMywgCi0gICAgMTUyLCAxODUsIDUsIDIxNCwgMjE4LCAxODUsIDEsIDIzNCwgMTIxLCAxODUsIDEsIDI0MiwgMjMzLCAxODUsIDEsIDIxMCwgCi0gICAgMTE2LCAxODUsIDEsIDIyMiwgMTgxLCAxODUsIDEsIDI0NCwgMjA0LCAxODUsIDIxLCAyMTAsIDg2LCAxODUsIDIxLCAxMTEsIAotICAgIDE4NSwgMjEsIDEwNSwgMTg1LCAyMSwgMTU4LCAxODUsIDIxLCAxNjEsIDE4NSwgMjEsIDE5MCwgMTg1LCAyMSwgMTk1LCAKLSAgICAxODUsIDIxLCAxOTksIDE4NSwgMjEsIDE5NiwgMTg1LCAyMSwgMjAxLCAxODUsIDIxNiwgNzUsIDE4NSwgMjU1LCA2LCAxODUsIAotICAgIDIzNSwgMTg1LCAxODUsIDIxNCwgMTQ2LCAxODUsIDI0NSwgMTg5LCAyMjYsIDE5MiwgMTg1LCA1LCAyMTEsIDc4LCAxNzEsIAotICAgIDUsIDI1MSwgNywgMTcxLCA1LCAyNTQsIDgzLCAxNzEsIDUsIDIxMywgMTQ3LCAxNzEsIDEsIDYxLCAxNzEsIDEsIDI1NSwgCi0gICAgODIsIDE3MSwgMSwgNzQsIDE3MSwgMSwgMjM2LCA0MCwgMTcxLCAxLCA2OSwgMTcxLCAxLCAyMTQsIDExOCwgMTcxLCAxLCAKLSAgICAxNDksIDE1MywgMTcxLCAxLCAxNDksIDE1NiwgMTcxLCAyNSwgMjUxLCAxMCwgNzYsIDE3MSwgMSwgNzYsIDE3MSwgMSwgCi0gICAgMjU0LCAyMTAsIDE3MSwgMjUsIDI1MSwgMTAsIDc4LCAxNzEsIDEsIDc4LCAxNzEsIDEsIDI1MywgMjAwLCAxNzEsIDEsIAotICAgIDE3NiwgMTcxLCAxLCAyMzQsIDEzOCwgMTcxLCAxLCAyNDMsIDE0MiwgMTcxLCAxLCAyNDMsIDAsIDE3MSwgMSwgMjI5LCA4MiwgCi0gICAgMTcxLCAxLCAyNTEsIDQxLCAxNzEsIDEsIDI1MCwgMTY1LCAxNzEsIDEsIDIzNSwgMTQ3LCAxNzEsIDEsIDIzNSwgMTIwLCAKLSAgICAxNzEsIDEsIDIyNywgMTY5LCAxNzEsIDEsIDIxNSwgMTU3LCAxNzEsIDEsIDIxNSwgMTQ1LCAxNzEsIDEsIDI0OCwgMTQzLCAKLSAgICAxNzEsIDEsIDI0OCwgMTI3LCAxNzEsIDEsIDIyOCwgMTE1LCAxNzEsIDEsIDIxNywgMTA2LCAxNzEsIDEsIDIxNiwgMjA5LCAKLSAgICAxNzEsIDEsIDI0OCwgMjI5LCAxNzEsIDEsIDI0OCwgMzMsIDE3MSwgMSwgMTk4LCAxNzEsIDEsIDE5MSwgMTcxLCAxLCAyMjUsIAotICAgIDE1MCwgMTcxLCAxLCAyNTIsIDE5OSwgMTcxLCAxLCAyNTIsIDI2LCAxNzEsIDEsIDE4NiwgMTcxLCAxLCAxOTIsIDE3MSwgMSwgCi0gICAgMjA1LCAxNzEsIDEsIDIzMywgMTQxLCAxNzEsIDEsIDIzMiwgMTkwLCAxNzEsIDEsIDIxNCwgMjcsIDE3MSwgMSwgMjIwLCAKLSAgICAxMDQsIDE3MSwgMSwgMjE4LCAyMjUsIDE3MSwgMSwgMjA2LCAxNzEsIDEsIDE2MiwgMTcxLCA1LCAyMjcsIDIwOSwgMTcxLCAKLSAgICA1LCAyNTMsIDE4MywgMTcxLCAyNSwgNSwgMjU1LCA4MiwgMTcxLCAyNSwgNSwgNzQsIDE3MSwgMjUsIDUsIDIzNiwgNDAsIAotICAgIDE3MSwgMjUsIDUsIDY5LCAxNzEsIDI1LCA1LCAyMTQsIDExOCwgMTcxLCAyNSwgNSwgMTQ5LCAxNTMsIDE3MSwgMjUsIDUsIAotICAgIDE0OSwgMjIyLCAxODIsIDE3MSwgMjUsIDUsIDI1MSwgMTAsIDc2LCAxNzEsIDI1LCA1LCA3NiwgMTcxLCAyNSwgNSwgMjU0LCAKLSAgICAyMTAsIDE3MSwgMjUsIDUsIDI1MSwgMTAsIDc4LCAxNzEsIDI1LCA1LCA3OCwgMTcxLCAyNSwgNSwgMjUzLCAyMDAsIDE3MSwgCi0gICAgNSwgMjEzLCAxNTIsIDE3MSwgMjI2LCAyMDgsIDE3MSwgMSwgMTQ5LCAyMjIsIDE4MiwgMTcxLCAxLCAxNDksIDIzMiwgMTkxLCAKLSAgICAxNzEsIDI1LCA1LCAxNDksIDE1NiwgMTcxLCAyNSwgNSwgMTQ5LCAyMzIsIDE5MSwgMTcxLCAyMSwgMjEwLCA4NiwgMTcxLCAKLSAgICAyMSwgMTExLCAxNzEsIDIxLCAxMDUsIDE3MSwgMjEsIDE1OCwgMTcxLCAyMSwgMTYxLCAxNzEsIDIxLCAxOTAsIDE3MSwgMjEsIAotICAgIDE5NSwgMTcxLCAyMSwgMTk5LCAxNzEsIDIxLCAxOTYsIDE3MSwgMjEsIDIwMSwgMTcxLCAyNTUsIDMwLCA1MCwgMTcxLCAKLSAgICAyMjIsIDEyMCwgNTAsIDE1NywgNSwgMjUxLCA3LCAxNTcsIDUsIDI1NCwgODMsIDE1NywgNSwgMjEzLCAxNDcsIDE1NywgMSwgCi0gICAgNjEsIDE1NywgMSwgMjU1LCA4MiwgMTU3LCAxLCA3NCwgMTU3LCAxLCAyMzYsIDQwLCAxNTcsIDEsIDY5LCAxNTcsIDEsIAotICAgIDIxNCwgMTE4LCAxNTcsIDEsIDE0OSwgMTUzLCAxNTcsIDEsIDE0OSwgMTU2LCAxNTcsIDEsIDc2LCAxNTcsIDEsIDI1NCwgCi0gICAgMjEwLCAxNTcsIDEsIDc4LCAxNTcsIDEsIDI1MywgMjAwLCAxNTcsIDEsIDE3NiwgMTU3LCAxLCAyMzQsIDEzOCwgMTU3LCAxLCAKLSAgICAyNDMsIDE0MiwgMTU3LCAxLCAyNDMsIDAsIDE1NywgMSwgMjI5LCA4MiwgMTU3LCAxLCAyNTEsIDQxLCAxNTcsIDEsIDI1MCwgCi0gICAgMTY1LCAxNTcsIDEsIDIzNSwgMTQ3LCAxNTcsIDEsIDIzNSwgMTIwLCAxNTcsIDEsIDIyNywgMTY5LCAxNTcsIDEsIDIxNSwgCi0gICAgMTU3LCAxNTcsIDEsIDIxNSwgMTQ1LCAxNTcsIDEsIDI0OCwgMTQzLCAxNTcsIDEsIDI0OCwgMTI3LCAxNTcsIDEsIDIyOCwgCi0gICAgMTE1LCAxNTcsIDEsIDIxNywgMTA2LCAxNTcsIDEsIDIxNiwgMjA5LCAxNTcsIDEsIDI0OCwgMjI5LCAxNTcsIDEsIDI0OCwgCi0gICAgMzMsIDE1NywgMSwgMTk4LCAxNTcsIDEsIDE5MSwgMTU3LCAxLCAyMjUsIDE1MCwgMTU3LCAxLCAyNTIsIDE5OSwgMTU3LCAxLCAKLSAgICAyNTIsIDI2LCAxNTcsIDEsIDE4NiwgMTU3LCAxLCAxOTIsIDE1NywgMSwgMjA1LCAxNTcsIDEsIDIzMywgMTQxLCAxNTcsIDEsIAotICAgIDIzMiwgMTkwLCAxNTcsIDEsIDIxNCwgMjcsIDE1NywgMSwgMjIwLCAxMDQsIDE1NywgMSwgMjE4LCAyMjUsIDE1NywgMSwgCi0gICAgMjA2LCAxNTcsIDEsIDE2MiwgMTU3LCA1LCAyMjcsIDIwOSwgMTU3LCA1LCAyNTMsIDE4MywgMTU3LCAyNSwgNSwgMjU1LCAKLSAgICA4MiwgMTU3LCAyNSwgNSwgNzQsIDE1NywgMjUsIDUsIDIzNiwgNDAsIDE1NywgMjUsIDUsIDY5LCAxNTcsIDI1LCA1LCAyMTQsIAotICAgIDExOCwgMTU3LCAyNSwgNSwgMTQ5LCAxNTMsIDE1NywgMjUsIDUsIDE0OSwgMjIyLCAxODIsIDE1NywgMjUsIDUsIDc2LCAKLSAgICAxNTcsIDI1LCA1LCAyNTQsIDIxMCwgMTU3LCAyNSwgNSwgNzgsIDE1NywgMjUsIDUsIDI1MywgMjAwLCAxNTcsIDUsIDIxMywgCi0gICAgMTUyLCAxNTcsIDI1NCwgMjExLCAyMzMsIDI5LCA3OSwgMTU3LCAyNTMsIDIwMSwgMjMzLCAyOSwgNzksIDE1NywgMSwgMjIyLCAKLSAgICAxODEsIDE1NywgMSwgMjIzLCA0MiwgMTU3LCAxLCAyMTAsIDE2OCwgMTU3LCAxLCAxNDksIDIyMiwgMTgyLCAxNTcsIDEsIAotICAgIDE0OSwgMjMyLCAxOTEsIDE1NywgMjUsIDUsIDE0OSwgMTU2LCAxNTcsIDI1LCA1LCAxNDksIDIzMiwgMTkxLCAxNTcsIDIxLCAKLSAgICAyMTAsIDg2LCAxNTcsIDIxLCAxMTEsIDE1NywgMjEsIDEwNSwgMTU3LCAyMSwgMTU4LCAxNTcsIDIxLCAxNjEsIDE1NywgMjEsIAotICAgIDE5MCwgMTU3LCAyMSwgMTk1LCAxNTcsIDIxLCAxOTksIDE1NywgMjEsIDE5NiwgMTU3LCAyMSwgMjAxLCAxNTcsIDIzNSwgCi0gICAgMTY3LCAxNTcsIDEsIDIxMiwgNjUsIDE1NywgMjQ0LCAxMCwgMTIzLCAyMjQsIDI0LCAxNTcsIDI0NCwgMTAsIDEyMywgMjQyLCAKLSAgICAzNCwgMTU3LCAyNDQsIDEwLCAxMzQsIDIyNCwgMjIsIDE1NywgMjQ0LCAxMCwgMTIzLCAyMTksIDExOSwgMTU3LCAyNDQsIAotICAgIDEwLCAxMjMsIDI0NSwgMTk2LCAxNTcsIDI0NCwgMTAsIDEzNCwgMjE5LCAxMTgsIDM2LCA1LCAyNTQsIDgzLCAzNiwgNSwgCi0gICAgMjEzLCAxNDcsIDM2LCAxLCA2MSwgMzYsIDEsIDI1NSwgODIsIDM2LCAxLCA3NCwgMzYsIDEsIDIzNiwgNDAsIDM2LCAxLCAKLSAgICA2OSwgMzYsIDEsIDIxNCwgMTE4LCAzNiwgMSwgNzYsIDM2LCAxLCAyNDUsIDIxNywgMzYsIDEsIDI1NCwgMjEwLCAzNiwgMSwgCi0gICAgNzgsIDM2LCAxLCAyMjYsIDE4NywgMzYsIDEsIDI1MywgMjAwLCAzNiwgMSwgMTc2LCAzNiwgMSwgMjI5LCA4MiwgMzYsIDEsIAotICAgIDI1MSwgNDEsIDM2LCAxLCAyMzUsIDE0NywgMzYsIDEsIDIyNywgMTY5LCAzNiwgMSwgMjE1LCAxNTcsIDM2LCAxLCAyMjgsIAotICAgIDExNSwgMzYsIDEsIDIxNywgMTA2LCAzNiwgMSwgMTk4LCAzNiwgMSwgMjI4LCA5NywgMzYsIDEsIDE5MSwgMzYsIDEsIDE4NiwgCi0gICAgMzYsIDEsIDE5MiwgMzYsIDEsIDIwNSwgMzYsIDEsIDIyMiwgMTgxLCAzNiwgMSwgMjMzLCAxNDEsIDM2LCAxLCAyMzIsIAotICAgIDE5MCwgMzYsIDEsIDIzMiwgMTgxLCAzNiwgMSwgMjE0LCAyNywgMzYsIDEsIDIyMCwgMTA0LCAzNiwgMSwgMjE4LCAyMjUsIAotICAgIDM2LCAxLCAyMDYsIDM2LCAxLCAxNjIsIDM2LCAyNSwgNSwgMjU1LCA4MiwgMzYsIDI1LCA1LCA3NCwgMzYsIDI1LCA1LCAKLSAgICAyMzYsIDQwLCAzNiwgMjUsIDUsIDY5LCAzNiwgMjUsIDUsIDIxNCwgMTE4LCAzNiwgMjUsIDUsIDc2LCAzNiwgMjUsIDUsIAotICAgIDI0NSwgMjE3LCAzNiwgMjUsIDUsIDI1NCwgMjEwLCAzNiwgMjUsIDUsIDc4LCAzNiwgMjUsIDUsIDIyNiwgMTg3LCAzNiwgCi0gICAgMjUsIDUsIDI1MywgMjAwLCAzNiwgNSwgMjEzLCAxNTIsIDM2LCAyMjYsIDIwOCwgMzYsIDI1MywgMjAxLCAyMzMsIDI5LCAKLSAgICA3OSwgMzYsIDIxLCAyMTAsIDg2LCAzNiwgMjEsIDExMSwgMzYsIDIxLCAxMDUsIDM2LCAyMSwgMTU4LCAzNiwgMjEsIDE2MSwgCi0gICAgMzYsIDIxLCAxOTAsIDM2LCAyMSwgMTk1LCAzNiwgMjEsIDE5OSwgMzYsIDIxLCAxOTYsIDM2LCAyMSwgMjAxLCAzNiwgNTQsIAotICAgIDIxNiwgMjQ4LCAzNiwgNTQsIDEyMywgMjQwLCAyMTcsIDM2LCA1NCwgMTIzLCAyMTYsIDE0OCwgMzYsIDI0OCwgMTU0LCA1MCwgCi0gICAgMzYsIDIzMCwgMTQwLCA1MCwgMzYsIDIxMSwgNDUsIDUwLCAzNiwgMjQ4LCA5NSwgNTAsIDM2LCAyNDksIDE0NywgNTAsIDM2LCAKLSAgICAyNTMsIDI0NiwgNzIsIDUwLCAzNiwgMjIyLCAxMjAsIDUwLCAzNiwgNTQsIDUwLCAxNDgsIDUsIDI1MSwgNywgMTQ4LCA1LCAKLSAgICAyNTQsIDgzLCAxNDgsIDUsIDIxMywgMTQ3LCAxNDgsIDEsIDYxLCAxNDgsIDEsIDI1NSwgODIsIDE0OCwgMSwgNzQsIDE0OCwgCi0gICAgMSwgMjM2LCA0MCwgMTQ4LCAxLCA2OSwgMTQ4LCAxLCAyMTQsIDExOCwgMTQ4LCAxLCAxNDksIDE1MywgMTQ4LCAxLCAxNDksIAotICAgIDE1NiwgMTQ4LCAxLCA3NiwgMTQ4LCAxLCAyNDUsIDIxNywgMTQ4LCAxLCAyNTQsIDIxMCwgMTQ4LCAxLCA3OCwgMTQ4LCAxLCAKLSAgICAyMjYsIDE4NywgMTQ4LCAxLCAyNTMsIDIwMCwgMTQ4LCAxLCAxNzYsIDE0OCwgMSwgMjM0LCAxMzgsIDE0OCwgMSwgMjQzLCAKLSAgICAxNDIsIDE0OCwgMSwgMjQzLCAwLCAxNDgsIDEsIDIyOSwgODIsIDE0OCwgMSwgMjUxLCA0MSwgMTQ4LCAxLCAyNTAsIDE2NSwgCi0gICAgMTQ4LCAxLCAyMzUsIDE0NywgMTQ4LCAxLCAyMzUsIDEyMCwgMTQ4LCAxLCAyMjcsIDE2OSwgMTQ4LCAxLCAyMTUsIDE1NywgCi0gICAgMTQ4LCAxLCAyMTUsIDE0NSwgMTQ4LCAxLCAyNDgsIDE0MywgMTQ4LCAxLCAyNDgsIDEyNywgMTQ4LCAxLCAyMjgsIDExNSwgCi0gICAgMTQ4LCAxLCAyMTcsIDEwNiwgMTQ4LCAxLCAyMTYsIDIwOSwgMTQ4LCAxLCAyNDgsIDIyOSwgMTQ4LCAxLCAyNDgsIDMzLCAKLSAgICAxNDgsIDEsIDE5OCwgMTQ4LCAxLCAxOTEsIDE0OCwgMSwgMjI1LCAxNTAsIDE0OCwgMSwgMjUyLCAxOTksIDE0OCwgMSwgCi0gICAgMjUyLCAyNiwgMTQ4LCAxLCAxODYsIDE0OCwgMSwgMTkyLCAxNDgsIDEsIDIwNSwgMTQ4LCAxLCAyMjIsIDE4MSwgMTQ4LCAxLCAKLSAgICAyMzMsIDE0MSwgMTQ4LCAxLCAyMzIsIDE5MCwgMTQ4LCAxLCAyMTQsIDI3LCAxNDgsIDEsIDIyMCwgMTA0LCAxNDgsIDEsIAotICAgIDIxOCwgMjI1LCAxNDgsIDEsIDIwNiwgMTQ4LCAxLCAxNjIsIDE0OCwgNSwgMjUzLCAxODMsIDE0OCwgMjUsIDUsIDI1NSwgCi0gICAgODIsIDE0OCwgMjUsIDUsIDc0LCAxNDgsIDI1LCA1LCAyMzYsIDQwLCAxNDgsIDI1LCA1LCA2OSwgMTQ4LCAyNSwgNSwgMjE0LCAKLSAgICAxMTgsIDE0OCwgMjUsIDUsIDE0OSwgMTUzLCAxNDgsIDI1LCA1LCAxNDksIDIyMiwgMTgyLCAxNDgsIDI1LCA1LCA3NiwgCi0gICAgMTQ4LCAyNSwgNSwgMjQ1LCAyMTcsIDE0OCwgMjUsIDUsIDI1NCwgMjEwLCAxNDgsIDI1LCA1LCA3OCwgMTQ4LCAyNSwgNSwgCi0gICAgMjI2LCAxODcsIDE0OCwgMjUsIDUsIDI1MywgMjAwLCAxNDgsIDUsIDIxMywgMTUyLCAxNDgsIDIzMywgMjksIDc5LCAxNDgsIAotICAgIDI1NCwgMjExLCAyMzMsIDI5LCA3OSwgMTQ4LCAxLCAyMTUsIDE4NCwgMTQ4LCAxLCAyNDYsIDQ2LCAxNDgsIDEsIDE0OSwgCi0gICAgMjIyLCAxODIsIDE0OCwgMSwgMTQ5LCAyMzIsIDE5MSwgMTQ4LCAyNSwgNSwgMTQ5LCAxNTYsIDE0OCwgMjUsIDUsIDE0OSwgCi0gICAgMjMyLCAxOTEsIDE0OCwgMjEsIDIxMCwgODYsIDE0OCwgMjEsIDExMSwgMTQ4LCAyMSwgMTA1LCAxNDgsIDIxLCAxNTgsIAotICAgIDE0OCwgMjEsIDE2MSwgMTQ4LCAyMSwgMTkwLCAxNDgsIDIxLCAxOTUsIDE0OCwgMjEsIDE5OSwgMTQ4LCAyMSwgMTk2LCAKLSAgICAxNDgsIDIxLCAyMDEsIDE0OCwgMjQ0LCAxMCwgMjEsIDIxMCwgODcsIDMxLCAyMjYsIDI0MSwgMjI0LCAyMjYsIDY0LCAxNjEsIAotICAgIDE0OCwgMjQ0LCAxMCwgMjEsIDEyMywgMzEsIDIyNiwgMjQxLCAyMjQsIDIyNiwgNjQsIDE2MSwgMTQ4LCAyNDQsIDEwLCAyMSwgCi0gICAgMTEzLCAzMSwgMjI2LCAyNDEsIDIyNCwgMjI2LCA2NCwgMTYxLCAxNDgsIDI0NCwgMTAsIDIxLCAxMzQsIDMxLCAyMjYsIAotICAgIDI0MSwgMjI0LCAyMjYsIDY0LCAxNjEsIDE0OCwgMjQ0LCAxMCwgMjEsIDEyMywgMzEsIDI0NSwgNTAsIDIyNCwgMjI2LCA2NCwgCi0gICAgMTYxLCAxNDgsIDI0NCwgMTAsIDIxLCAxMTMsIDMxLCAyNDUsIDUwLCAyMjQsIDIyNiwgNjQsIDE2MSwgMTQ4LCAyNDQsIDEwLCAKLSAgICAyMSwgMTM0LCAzMSwgMjQ1LCA1MCwgMjI0LCAyMjYsIDY0LCAxNjEsIDE0OCwgNSwgMjE1LCA4NCwgMTY1LCA1LCAyNTQsIAotICAgIDgzLCAxNjUsIDUsIDIxMywgMTQ3LCAxNjUsIDEsIDYxLCAxNjUsIDEsIDI1NSwgODIsIDE2NSwgMSwgNzQsIDE2NSwgMSwgCi0gICAgMjM2LCA0MCwgMTY1LCAxLCA2OSwgMTY1LCAxLCAyMTQsIDExOCwgMTY1LCAxLCAxNDksIDE1MywgMTY1LCAxLCAxNDksIAotICAgIDE1NiwgMTY1LCAxLCA3NiwgMTY1LCAxLCAyNDUsIDIxNywgMTY1LCAxLCAyNTQsIDIxMCwgMTY1LCAxLCA3OCwgMTY1LCAxLCAKLSAgICAyMjYsIDE4NywgMTY1LCAxLCAyNTMsIDIwMCwgMTY1LCAxLCAxNzYsIDE2NSwgMSwgMjM0LCAxMzgsIDE2NSwgMSwgMjQzLCAKLSAgICAxNDIsIDE2NSwgMSwgMjQzLCAwLCAxNjUsIDEsIDIyOSwgODIsIDE2NSwgMSwgMjUxLCA0MSwgMTY1LCAxLCAyNTAsIDE2NSwgCi0gICAgMTY1LCAxLCAyMzUsIDE0NywgMTY1LCAxLCAyMzUsIDEyMCwgMTY1LCAxLCAyMjcsIDE2OSwgMTY1LCAxLCAyMTUsIDE1NywgCi0gICAgMTY1LCAxLCAyMTUsIDE0NSwgMTY1LCAxLCAyNDgsIDE0MywgMTY1LCAxLCAyNDgsIDEyNywgMTY1LCAxLCAyMjgsIDExNSwgCi0gICAgMTY1LCAxLCAyMTcsIDEwNiwgMTY1LCAxLCAyMTYsIDIwOSwgMTY1LCAxLCAyNDgsIDIyOSwgMTY1LCAxLCAyNDgsIDMzLCAKLSAgICAxNjUsIDEsIDE5OCwgMTY1LCAxLCAxOTEsIDE2NSwgMSwgMjI1LCAxNTAsIDE2NSwgMSwgMjUyLCAxOTksIDE2NSwgMSwgCi0gICAgMjUyLCAyNiwgMTY1LCAxLCAxODYsIDE2NSwgMSwgMTkyLCAxNjUsIDEsIDIwNSwgMTY1LCAxLCAyMjIsIDE4MSwgMTY1LCAxLCAKLSAgICAyMzMsIDE0MSwgMTY1LCAxLCAyMzIsIDE5MCwgMTY1LCAxLCAyMTQsIDI3LCAxNjUsIDEsIDIyMCwgMTA0LCAxNjUsIDEsIAotICAgIDIxOCwgMjI1LCAxNjUsIDEsIDIwNiwgMTY1LCAxLCAxNjIsIDE2NSwgNSwgMjI3LCAyMDksIDE2NSwgNSwgMjUzLCAxODMsIAotICAgIDE2NSwgMjUsIDUsIDI1NSwgODIsIDE2NSwgMjUsIDUsIDc0LCAxNjUsIDI1LCA1LCAyMzYsIDQwLCAxNjUsIDI1LCA1LCA2OSwgCi0gICAgMTY1LCAyNSwgNSwgMjE0LCAxMTgsIDE2NSwgMjUsIDUsIDE0OSwgMTUzLCAxNjUsIDI1LCA1LCAxNDksIDIyMiwgMTgyLCAKLSAgICAxNjUsIDI1LCA1LCA3NiwgMTY1LCAyNSwgNSwgMjQ1LCAyMTcsIDE2NSwgMjUsIDUsIDI1NCwgMjEwLCAxNjUsIDI1LCA1LCAKLSAgICA3OCwgMTY1LCAyNSwgNSwgMjI2LCAxODcsIDE2NSwgMjUsIDUsIDI1MywgMjAwLCAxNjUsIDUsIDIxMywgMTUyLCAxNjUsIAotICAgIDIzMywgMjksIDc5LCAxNjUsIDI1NCwgMjExLCAyMzMsIDI5LCA3OSwgMTY1LCAxLCAyNDQsIDIwNCwgMTY1LCAxLCAxNDksIAotICAgIDIyMiwgMTgyLCAxNjUsIDEsIDE0OSwgMjMyLCAxOTEsIDE2NSwgMjUsIDUsIDE0OSwgMTU2LCAxNjUsIDI1LCA1LCAxNDksIAotICAgIDIzMiwgMTkxLCAxNjUsIDIxLCAyMTAsIDg2LCAxNjUsIDIxLCAxMTEsIDE2NSwgMjEsIDEwNSwgMTY1LCAyMSwgMTU4LCAKLSAgICAxNjUsIDIxLCAxNjEsIDE2NSwgMjEsIDE5MCwgMTY1LCAyMSwgMTk1LCAxNjUsIDIxLCAxOTksIDE2NSwgMjEsIDE5NiwgCi0gICAgMTY1LCAyMSwgMjAxLCAxNjUsIDUsIDIzNSwgMTA4LCAxNjUsIDUsIDIxNCwgMTYxLCAxMzYsIDUsIDI1NCwgODMsIDEzNiwgCi0gICAgNSwgMjEzLCAxNDcsIDEzNiwgMSwgNjEsIDEzNiwgMSwgMjU1LCA4MiwgMTM2LCAxLCA3NCwgMTM2LCAxLCAyMzYsIDQwLCAKLSAgICAxMzYsIDEsIDY5LCAxMzYsIDEsIDIxNCwgMTE4LCAxMzYsIDEsIDE0OSwgMTUzLCAxMzYsIDEsIDE0OSwgMTU2LCAxMzYsIDEsIAotICAgIDc2LCAxMzYsIDEsIDI0NSwgMjE3LCAxMzYsIDEsIDI1NCwgMjEwLCAxMzYsIDEsIDc4LCAxMzYsIDEsIDIyNiwgMTg3LCAKLSAgICAxMzYsIDEsIDI1MywgMjAwLCAxMzYsIDEsIDE3NiwgMTM2LCAxLCAyMzQsIDEzOCwgMTM2LCAxLCAyNDMsIDE0MiwgMTM2LCAKLSAgICAxLCAyNDMsIDAsIDEzNiwgMSwgMjI5LCA4MiwgMTM2LCAxLCAyNTEsIDQxLCAxMzYsIDEsIDI1MCwgMTY1LCAxMzYsIDEsIAotICAgIDIzNSwgMTQ3LCAxMzYsIDEsIDIzNSwgMTIwLCAxMzYsIDEsIDIyNywgMTY5LCAxMzYsIDEsIDIxNSwgMTU3LCAxMzYsIDEsIAotICAgIDIxNSwgMTQ1LCAxMzYsIDEsIDI0OCwgMTQzLCAxMzYsIDEsIDI0OCwgMTI3LCAxMzYsIDEsIDIyOCwgMTE1LCAxMzYsIDEsIAotICAgIDIxNywgMTA2LCAxMzYsIDEsIDIxNiwgMjA5LCAxMzYsIDEsIDI0OCwgMjI5LCAxMzYsIDEsIDI0OCwgMzMsIDEzNiwgMSwgCi0gICAgMTk4LCAxMzYsIDEsIDIyOCwgOTcsIDEzNiwgMSwgMTkxLCAxMzYsIDEsIDIyNSwgMTUwLCAxMzYsIDEsIDI1MiwgMTk5LCAKLSAgICAxMzYsIDEsIDI1MiwgMjYsIDEzNiwgMSwgMTg2LCAxMzYsIDEsIDE5MiwgMTM2LCAxLCAyMDUsIDEzNiwgMSwgMjIyLCAxODEsIAotICAgIDEzNiwgMSwgMjMzLCAxNDEsIDEzNiwgMSwgMjMyLCAxOTAsIDEzNiwgMSwgMjMyLCAxODEsIDEzNiwgMSwgMjE0LCAyNywgCi0gICAgMTM2LCAxLCAyMjAsIDEwNCwgMTM2LCAxLCAyMTgsIDIyNSwgMTM2LCAxLCAyMDYsIDEzNiwgMSwgMTYyLCAxMzYsIDEsIAotICAgIDIxNSwgMTI2LCAxMzYsIDUsIDI1MywgMTgzLCAxMzYsIDI1LCA1LCAyNTUsIDgyLCAxMzYsIDI1LCA1LCA3NCwgMTM2LCAyNSwgCi0gICAgNSwgMjM2LCA0MCwgMTM2LCAyNSwgNSwgNjksIDEzNiwgMjUsIDUsIDIxNCwgMTE4LCAxMzYsIDI1LCA1LCAxNDksIDE1MywgCi0gICAgMTM2LCAyNSwgNSwgMTQ5LCAyMjIsIDE4MiwgMTM2LCAyNSwgNSwgNzYsIDEzNiwgMjUsIDUsIDI0NSwgMjE3LCAxMzYsIDI1LCAKLSAgICA1LCAyNTQsIDIxMCwgMTM2LCAyNSwgNSwgNzgsIDEzNiwgMjUsIDUsIDIyNiwgMTg3LCAxMzYsIDI1LCA1LCAyNTMsIDIwMCwgCi0gICAgMTM2LCA1LCAyMTMsIDE1MiwgMTM2LCAxLCA1OSwgMjIzLCA3NiwgMTM2LCAyNTMsIDIwMSwgMjMzLCAyOSwgNzksIDEzNiwgCi0gICAgMSwgMTQ5LCAyMjIsIDE4MiwgMTM2LCAxLCAxNDksIDIzMiwgMTkxLCAxMzYsIDI1LCA1LCAxNDksIDE1NiwgMTM2LCAyNSwgCi0gICAgNSwgMTQ5LCAyMzIsIDE5MSwgMTM2LCAyMSwgMjEwLCA4NiwgMTM2LCAyMSwgMTExLCAxMzYsIDIxLCAxMDUsIDEzNiwgMjEsIAotICAgIDE1OCwgMTM2LCAyMSwgMTYxLCAxMzYsIDIxLCAxOTAsIDEzNiwgMjEsIDE5NSwgMTM2LCAyMSwgMTk5LCAxMzYsIDIxLCAKLSAgICAxOTYsIDEzNiwgMjEsIDIwMSwgMTM2LCA1NCwgMjE2LCAyNDgsIDEzNiwgNTQsIDEyMywgMjQwLCAyMTcsIDEzNiwgNTQsIAotICAgIDEyMywgMjE2LCAxNDgsIDEzNiwgMjQ0LCAxMCwgMTIzLCAyMjQsIDI0LCAxMzYsIDI0NCwgMTAsIDEyMywgMjQyLCAzNCwgCi0gICAgMTM2LCAyNDQsIDEwLCAxMzQsIDIyNCwgMjIsIDEzNiwgMjQ4LCAxNTgsIDc5LCAxMzYsIDEsIDI1MCwgMTA3LCAyMjgsIAotICAgIDExNiwgMTM2LCAxLCAyNTAsIDEwNywgMjMwLCAzMCwgMTM2LCAxLCAyNTAsIDEwNywgMjIyLCAxODIsIDEzNiwgMSwgMjUwLCAKLSAgICAxMDcsIDE1NiwgMTM2LCAxLCAyNTAsIDEwNywgMjMyLCAxOTEsIDEzNiwgMSwgMjUwLCAxMDcsIDIzNSwgMjksIDE3NSwgNSwgCi0gICAgMjU0LCA4MiwgMTc1LCA1LCAyMTMsIDE0NiwgMTc1LCAxLCAyNTMsIDE3MywgMTc1LCAxLCAyNTUsIDM2LCAxNzUsIDEsIAotICAgIDI1NCwgMjMyLCAxNzUsIDEsIDI1NCwgMjQ3LCAxNzUsIDEsIDIzNSwgMTU3LCAxNzUsIDEsIDIzNiwgMzksIDE3NSwgMSwgCi0gICAgMjE0LCAxMTAsIDE3NSwgMSwgMjE0LCAxMTIsIDE3NSwgMSwgMjM1LCAxODAsIDE3NSwgMSwgMjM1LCAxODEsIDE3NSwgMSwgCi0gICAgMjM2LCAyNSwgMTc1LCAxLCAyMzYsIDI3LCAxNzUsIDEsIDI0NSwgMjUsIDE3NSwgMSwgMjQ1LCAyMTIsIDE3NSwgMSwgMjU0LCAKLSAgICAxOTcsIDE3NSwgMSwgMjI2LCAxMTIsIDE3NSwgMSwgMjI2LCAxODEsIDE3NSwgMSwgMjUzLCAxODYsIDE3NSwgMSwgMjU0LCAKLSAgICAxNTQsIDIzNCwgMTkzLCAxNzUsIDEsIDIzMSwgMjE0LCAyMzQsIDE5MywgMTc1LCAxLCAyNTQsIDE1NCwgMjQzLCA4OSwgCi0gICAgMTc1LCAxLCAyMzEsIDIxNCwgMjQzLCA4OSwgMTc1LCAxLCAyMzQsIDIzNSwgMjI5LCAyMjcsIDE3NSwgMSwgMjIxLCAyMzgsIAotICAgIDI0MywgODksIDE3NSwgMSwgMjU0LCAxNTQsIDI1MCwgMjI0LCAxNzUsIDEsIDIzMSwgMjE0LCAyNTAsIDIyNCwgMTc1LCAxLCAKLSAgICAyNTQsIDE1NCwgMjM1LCAxMzMsIDE3NSwgMSwgMjMxLCAyMTQsIDIzNSwgMTMzLCAxNzUsIDEsIDIxNywgOTksIDIyOSwgCi0gICAgMjI3LCAxNzUsIDEsIDIxNywgOTksIDIyMSwgMjM3LCAyMjksIDIyOCwgMTc1LCAxLCAyMjEsIDIzOCwgMjM1LCAxMzMsIAotICAgIDE3NSwgMSwgMjU0LCAxNTQsIDIxNSwgMTUzLCAxNzUsIDEsIDIzMSwgMjE0LCAyMTUsIDE1MywgMTc1LCAxLCAyNTQsIDE1NCwgCi0gICAgMjQ4LCAxMzQsIDE3NSwgMSwgMjMxLCAyMTQsIDI0OCwgMTM0LCAxNzUsIDEsIDIzMCwgNTgsIDIyOSwgMTg1LCAxNzUsIDEsIAotICAgIDIyMSwgMjM4LCAyNDgsIDEzNCwgMTc1LCAxLCAyNTQsIDE1NCwgMjE3LCAzMSwgMTc1LCAxLCAyMzEsIDIxNCwgMjE3LCAzMSwgCi0gICAgMTc1LCAxLCAyNTQsIDE1NCwgMjQ4LCAxNTIsIDE3NSwgMSwgMjMxLCAyMTQsIDI0OCwgMTUyLCAxNzUsIDEsIDI0OCwgMTgyLCAKLSAgICAyMjksIDE4NSwgMTc1LCAxLCAyMjEsIDIzOCwgMjQ4LCAxNTIsIDE3NSwgMSwgMjU0LCAxNTQsIDIyNSwgMjMyLCAxNzUsIDEsIAotICAgIDIzMSwgMjE0LCAyMjUsIDIzMiwgMTc1LCAxLCAyNTQsIDE1NCwgMjUyLCAxMjAsIDE3NSwgMSwgMjMxLCAyMTQsIDI1MiwgCi0gICAgMTIwLCAxNzUsIDEsIDIzMSwgMTM2LCAxNzUsIDEsIDI1NCwgMTM5LCAyNTIsIDEyMCwgMTc1LCAxLCAyMTEsIDUxLCAxNzUsIAotICAgIDEsIDIyMywgMTM2LCAxNzUsIDEsIDI0OCwgMTgyLCAyMzMsIDczLCAxNzUsIDEsIDIxNCwgMSwgMTc1LCAxLCAyMTcsIDk5LCAKLSAgICAyMjEsIDIxMiwgMTc1LCAxLCAyMzAsIDU4LCAyMjEsIDIxMiwgMTc1LCAxLCAyNDgsIDE4MiwgMjIxLCAyMTIsIDE3NSwgMSwgCi0gICAgMjQxLCAyNDksIDE3NSwgMSwgMjMwLCA1OCwgMjMzLCA3MywgMTc1LCAxLCAyNDQsIDE2NCwgMTc1LCA1LCAyNTQsIDE4NiwgCi0gICAgMTc1LCAyNSwgNSwgMjU0LCAyNDIsIDE3NSwgMjUsIDUsIDIzNCwgMTYxLCAyNTQsIDI0OSwgMTc1LCAyNSwgNSwgMjQ3LCAKLSAgICAyMzYsIDI1NCwgMjQ5LCAxNzUsIDI1LCA1LCAyMzQsIDE2MSwgMjM1LCAxNzcsIDE3NSwgMjUsIDUsIDI0NywgMjM2LCAyMzUsIAotICAgIDE3NywgMTc1LCAyNSwgNSwgMjM0LCAxNjEsIDIyNiwgOTIsIDE3NSwgMjUsIDUsIDI0NywgMjM2LCAyMjYsIDkyLCAxNzUsIAotICAgIDI1LCA1LCAyNDMsIDEzMSwgMTc1LCAyNSwgNSwgMjM0LCAyMSwgMTc1LCAyNSwgNSwgMjQ3LCAyMzYsIDIzNCwgMjEsIDE3NSwgCi0gICAgMjUsIDUsIDIzNCwgMjMsIDI0OCwgNzUsIDE3NSwgMjUsIDUsIDIzNCwgMjIsIDI0MiwgNTQsIDI1NCwgMjQyLCAxNzUsIDI1LCAKLSAgICA1LCAyMzQsIDIyLCAyNDIsIDU0LCAyNDcsIDIzNiwgMjU0LCAyNDIsIDE3NSwgMjUsIDUsIDIzNCwgMjIsIDI0MiwgNTQsIAotICAgIDI0MywgODgsIDE3NSwgMjUsIDUsIDI0MywgODgsIDE3NSwgMjUsIDUsIDI0NywgMjM2LCAyNDMsIDEzMSwgMTc1LCAyNSwgNSwgCi0gICAgMjQ3LCAyMzYsIDI0MywgODgsIDE3NSwgMjI0LCAxNDQsIDIzMywgMjEzLCAxNjgsIDEzNSwgMjM0LCAzNSwgMjM0LCAyNTIsIAotICAgIDE2OCwgMTM1LCAyMzQsIDExMiwgMjM0LCAxMzQsIDE2OCwgMTM1LCAyMzQsIDExMiwgMjM0LCAxMDUsIDE2OCwgMTM1LCAKLSAgICAyMzQsIDExMiwgMjM0LCAxMDEsIDE2OCwgMTM1LCAyMzQsIDExMiwgMjM0LCAxMDksIDE2OCwgMTM1LCAyMzQsIDExMiwgCi0gICAgMjIzLCAxNTcsIDE2OCwgMTM1LCAyMjksIDEwLCAyMjgsIDI1MywgMTY4LCAxMzUsIDI1MCwgOTUsIDI1MCwgMTU1LCAxNjgsIAotICAgIDEzNSwgMjUwLCA5NSwgMjUwLCAxMDMsIDE2OCwgMTM1LCAyNTAsIDk1LCAyNTAsIDE1NCwgMTY4LCAxMzUsIDIxOSwgNjEsIAotICAgIDIxOSwgNjAsIDE2OCwgMTM1LCAyNTAsIDk1LCAyNTAsIDkxLCAxNjgsIDEzNSwgMjEwLCAyNDUsIDIxMCwgMjUyLCAxNjgsIAotICAgIDEzNSwgMjQ3LCAxNTQsIDI1MCwgMTYyLCAxNjgsIDEzNSwgMjE2LCA0MywgMjI1LCAyNDIsIDE2OCwgMTM1LCAyMTYsIDE1OCwgCi0gICAgMjE2LCAyMDEsIDE2OCwgMTM1LCAyMTYsIDE1OCwgMjI5LCAyMDYsIDE2OCwgMTM1LCAyMTYsIDE1OCwgMjI1LCAxMTQsIAotICAgIDE2OCwgMTM1LCAyMjgsIDgwLCAyMjksIDEwMywgMTY4LCAxMzUsIDI0NywgMTU0LCAyNDgsIDc2LCAxNjgsIDEzNSwgMjE2LCAKLSAgICA0MywgMjE3LCA1NiwgMTY4LCAxMzUsIDIxNiwgMTU4LCAyMTYsIDEzMiwgMTY4LCAxMzUsIDIxNiwgMTU4LCAyMTYsIDIwNSwgCi0gICAgMTY4LCAxMzUsIDIxNiwgMTU4LCAyMTYsIDE1NSwgMTY4LCAxMzUsIDIyOCwgODAsIDIyNywgMjQyLCAxNjgsIDEzNSwgMjUxLCAKLSAgICAyMTQsIDI1MiwgMTcyLCAxNjgsIDEzNSwgMjI1LCAyMCwgMjI1LCA0NSwgMTY4LCAxMzUsIDIyNSwgMTI1LCAyMjUsIDExNiwgCi0gICAgMTY4LCAxMzUsIDI0NCwgNTIsIDI0NCwgMjA0LCAxNjgsIDEzNSwgMjI1LCAxMjUsIDIyNSwgMTQ0LCAxNjgsIDEzNSwgMjQ0LCAKLSAgICA1MiwgMjQ0LCAxODEsIDE2OCwgMTM1LCAyMjUsIDEyNSwgMjIxLCAyNDksIDE2OCwgMTM1LCAyMzAsIDE2NywgMTg2LCAxNjgsIAotICAgIDEzNSwgMjEwLCAyNDUsIDIxMSwgNzksIDE2OCwgMTM1LCAyMjIsIDIxNCwgMjIyLCAxNDEsIDE2OCwgMTM1LCAyMjIsIDE0MiwgCi0gICAgMTY4LCAxMzUsIDIzMiwgMTYzLCAyMzIsIDIxMiwgMTY4LCAxMzUsIDIzMiwgMTAzLCAxNjgsIDEzNSwgMjExLCAyMjgsIAotICAgIDIxMiwgNjEsIDE2OCwgMTM1LCAyMTksIDYxLCAyMjIsIDgsIDE2OCwgMTM1LCAyMTksIDYxLCAyMjIsIDExNiwgMTY4LCAKLSAgICAxMzUsIDIxOSwgNjEsIDIxOCwgODMsIDE2OCwgMTM1LCAyNDEsIDc2LCAyNDEsIDE2NiwgMTY4LCAxMzUsIDIzMiwgMTYzLCAKLSAgICAyNTAsIDc2LCAxNjgsIDEzNSwgMTQ0LCAyNTQsIDEyMywgMTY4LCAxMzUsIDI0MSwgNzYsIDIyOCwgNzUsIDE2OCwgMTM1LCAKLSAgICAyMjYsIDcyLCAxNjgsIDEzNSwgMjIxLCAyMzIsIDYxLCAxNjgsIDEzNSwgMjMxLCAyMDksIDI0MiwgMjQsIDE2OCwgMTM1LCAKLSAgICAyMjEsIDIzMiwgMjU1LCA4MiwgMTY4LCAxMzUsIDIyMSwgMjMyLCAyNTQsIDE0NCwgMTY4LCAxMzUsIDIyMSwgMjMyLCA3NCwgCi0gICAgMTY4LCAxMzUsIDIyMSwgMjMyLCAyMzYsIDQwLCAxNjgsIDEzNSwgMjIxLCAyMzIsIDIxNCwgMjE0LCAxNjgsIDEzNSwgMjIxLCAKLSAgICAyMzIsIDIxNCwgMjEyLCAxNjgsIDEzNSwgMjIxLCAyMzIsIDY5LCAxNjgsIDEzNSwgMjIxLCAyMzIsIDIxNCwgMTE4LCAxNjgsIAotICAgIDEzNSwgMjI1LCAxMjcsIDE2OCwgMjQ5LCAxMDYsIDE2LCAyNTIsIDE3MywgMTY4LCAxMzUsIDIyMSwgMjMyLCA3NiwgMTY4LCAKLSAgICAxMzUsIDIyMSwgMjMyLCAyNTQsIDI1MiwgMTY4LCAxMzUsIDIyMSwgMjMyLCA3OCwgMTY4LCAxMzUsIDIyMSwgMjMyLCAyNTQsIAotICAgIDIxMSwgMjMxLCAyMDMsIDE2OCwgMTM1LCAyMjEsIDIzMiwgMjU0LCAyMTEsIDIzMSwgMjA0LCAxNjgsIDEzNSwgMjMzLCAKLSAgICAxMTIsIDE2OCwgMTM1LCAyMzEsIDIwMCwgMTY4LCAxMzUsIDIzMSwgMjAxLCAxNjgsIDEzNSwgMjMxLCAyMDksIDI0NSwgCi0gICAgMTg4LCAxNjgsIDEzNSwgMjMxLCAyMDksIDIxNiwgMTU3LCAxNjgsIDEzNSwgMjMxLCAyMDksIDIxNSwgMjI5LCAxNjgsIAotICAgIDEzNSwgMjMxLCAyMDksIDI1MCwgMTQzLCAxNjgsIDEzNSwgMjE2LCAxOTksIDE2OCwgMTM1LCAyMjgsIDIxMCwgMTY4LCAKLSAgICAxMzUsIDIxMSwgNzMsIDE2OCwgMTM1LCAyNDQsIDQzLCAxNjgsIDIxLCAyMTAsIDg2LCAxNjgsIDIxLCAxMTEsIDE2OCwgMjEsIAotICAgIDEwNSwgMTY4LCAyMSwgMTU4LCAxNjgsIDIxLCAxNjEsIDE2OCwgMjEsIDE5MCwgMTY4LCAyMSwgMTk1LCAxNjgsIDIxLCAKLSAgICAxOTksIDE2OCwgMjEsIDE5NiwgMTY4LCAyMSwgMjAxLCAxNjgsIDEzNSwgMjU0LCAxMTksIDE2OCwgMTM1LCAyMzQsIDExMCwgCi0gICAgMjA5LCAyMDksIDEsIDIzNCwgMzQsIDIwOSwgMjA5LCAxLCAyMzQsIDExMiwgMjE4LCAzNiwgMjA5LCAyMDksIDEsIDIzNCwgCi0gICAgMTEyLCAyMTcsIDYzLCAyMDksIDIwOSwgMSwgMjI5LCA5LCAyMDksIDIwOSwgMSwgMjQ5LCAyNDYsIDIwOSwgMjA5LCAxLCAKLSAgICAyMTksIDYxLCAyMTcsIDYzLCAyMDksIDIwOSwgMSwgMjI3LCAxMzgsIDIwOSwgMjA5LCAxLCAyNDcsIDE1MywgMjA5LCAyMDksIAotICAgIDEsIDExMiwgMjA5LCAyMDksIDEsIDIxNiwgMTU4LCAyMTgsIDM2LCAyMDksIDIwOSwgMSwgMjE2LCAxNTgsIDIxNywgNjMsIAotICAgIDIwOSwgMjA5LCAxLCAyMjgsIDc5LCAyMDksIDIwOSwgMSwgMjUxLCAyMTMsIDIwOSwgMjA5LCAxLCAyMjUsIDE5LCAyMDksIAotICAgIDIwOSwgMSwgMjI1LCAxMjUsIDIxOCwgMzYsIDIwOSwgMjA5LCAxLCAyNDQsIDUyLCAyMTcsIDYzLCAyMDksIDIwOSwgMSwgCi0gICAgMjI1LCAxMjUsIDIxNywgNjMsIDIwOSwgMjA5LCAxLCAyNDQsIDUyLCAyMTgsIDM2LCAyMDksIDIwOSwgMSwgMjMwLCAxNjYsIAotICAgIDIwOSwgMjA5LCAxLCAyMTAsIDI0NCwgMjA5LCAyMDksIDEsIDIzMiwgMTYzLCAyMzIsIDIxMiwgMjA5LCAyMDksIDEsIDIzMiwgCi0gICAgMTYzLCAyMzIsIDEyNywgMjA5LCAyMDksIDEsIDIxMSwgMjI3LCAyMDksIDIwOSwgMSwgMjE5LCA2MSwgMjE4LCAzNiwgMjA5LCAKLSAgICAyMDksIDEsIDI0MSwgNzYsIDIxOCwgMzYsIDIwOSwgMjA5LCAxLCA3OCwgMjA5LCAyMDksIDEsIDI0MSwgNzYsIDIxNywgNjMsIAotICAgIDIwOSwgMjA5LCAyNDUsIDE3MSwgMjA5LCAyMDksIDI1LCA1LCA2MSwgMjA5LCAyMDksIDI1LCA1LCAyMzEsIDIwOSwgMjM0LCAKLSAgICAyNDAsIDIwOSwgMjA5LCAyNSwgNSwgMjU1LCA4MiwgMjA5LCAyMDksIDI1LCA1LCAyNTQsIDE0NCwgMjA5LCAyMDksIDI1LCAKLSAgICA1LCA3NCwgMjA5LCAyMDksIDI1LCA1LCAyMzYsIDQwLCAyMDksIDIwOSwgMjUsIDUsIDIxMSwgMTE3LCAyMDksIDIwOSwgMjUsIAotICAgIDUsIDIxMCwgMTY5LCAyMDksIDIwOSwgMjUsIDUsIDY5LCAyMDksIDIwOSwgMjUsIDUsIDIxNCwgMTE4LCAyMDksIDIwOSwgCi0gICAgMjUsIDUsIDIzMSwgMjA5LCAyMzQsIDE5LCAyMDksIDIwOSwgMjIwLCAxNDcsIDUsIDIzMiwgMTYyLCAyMDksIDIwOSwgMjIwLCAKLSAgICAxNDcsIDUsIDIyNywgMTM4LCAyMDksIDIwOSwgMjUsIDUsIDc2LCAyMDksIDIwOSwgMjUsIDUsIDI0NSwgMjAzLCAyMDksIAotICAgIDIwOSwgMjUsIDUsIDc4LCAyMDksIDIwOSwgMjUsIDUsIDI1MywgMTc1LCAyMDksIDIwOSwgMjUsIDUsIDI1NCwgMjEwLCAKLSAgICAyMDksIDIwOSwgMjM0LCAzNSwgMjMzLCAxNDEsIDIwOSwgMjA5LCAxMzgsIDIzMSwgMjA5LCAyNDUsIDE4OCwgMjA5LCAyMDksIAotICAgIDEzOCwgMjMxLCAyMDksIDIxNiwgMTU3LCAyMDksIDIwOSwgMTM4LCAyMzEsIDIwOSwgMjE2LCAxMTgsIDIwOSwgMjA5LCAKLSAgICAxMzgsIDIzMSwgMjA5LCAyNTAsIDIzMSwgMjA5LCAyMDksIDI1MSwgMTIsIDc5LCAyMDksIDIwOSwgMjI4LCAyMTksIDIwOSwgCi0gICAgMjA5LCAyMSwgMjEwLCA4NiwgMjA5LCAyMDksIDIxLCAxMTEsIDIwOSwgMjA5LCAyMSwgMTA1LCAyMDksIDIwOSwgMjEsIAotICAgIDE1OCwgMjA5LCAyMDksIDIxLCAxNjEsIDIwOSwgMjA5LCAyMSwgMTkwLCAyMDksIDIwOSwgMjEsIDE5NSwgMjA5LCAyMDksIAotICAgIDIxLCAxOTksIDIwOSwgMjA5LCAyMSwgMTk2LCAyMDksIDIwOSwgMjEsIDIwMSwgMjA5LCAyMDksIDI0MSwgNzYsIDIyOCwgCi0gICAgNzksIDIwOSwgMjA5LCAyNDEsIDc2LCAyMzAsIDE2NiwgMjA5LCAyMDksIDEsIDIzNCwgMTEzLCAyNDIsIDE4MSwgMjA5LCAKLSAgICAyMDksIDEsIDIzNCwgMTEzLCAyMjcsIDEzOCwgNjMsIDMsIDIyNiwgMjA4LCA2MywgMTY0LCAyNDIsIDEyMiwgMjExLCAwLCAKLSAgICAyMzAsIDI1MywgMjE1LCAxOTAsIDYxLCA2MywgMTY0LCAyNDIsIDEyMiwgMjExLCAwLCAyMzAsIDI1MywgMjU1LCAxNjgsIAotICAgIDIyMiwgMjE4LCAyNTIsIDg1LCAxODYsIDYzLCAxNjQsIDI0MiwgMTIyLCAyMTEsIDAsIDIzMCwgMjUzLCAyNTUsIDE2OCwgCi0gICAgMjQyLCAxMjIsIDIxNSwgMTc0LCAxODYsIDYzLCAxNjQsIDY1LCAyMTEsIDAsIDIzMCwgMjUzLCAyMzEsIDk4LCAxODYsIDYzLCAKLSAgICAxNjQsIDI1MCwgNCwgMjExLCAwLCAyMzAsIDI1MywgMjIwLCAxMTEsIDE4NiwgNjMsIDE2NCwgMjUwLCAyNDcsIDIxMSwgMCwgCi0gICAgMjMwLCAyNTMsIDIyNSwgMTE1LCAyMjAsIDk4LCAxODYsIDYzLCAxNjQsIDIxMSwgMCwgMjMwLCAyNTMsIDIxNSwgMTc0LCAKLSAgICAyMjAsIDk4LCAxODYsIDYzLCAxNjQsIDIyMSwgMjEwLCAyMjAsIDk3LCA2MywgMTY0LCAyNTEsIDEzNiwgMjExLCAwLCAyMzAsIAotICAgIDI1MiwgNjMsIDE2NCwgMjUxLCAyMzEsIDIyMCwgNSwgMjExLCAwLCAyMzAsIDI1MiwgNjMsIDE2NCwgMjM1LCAyMDQsIDIxNSwgCi0gICAgMTczLCA2MywgMTY0LCAyNDgsIDY5LCAyMTUsIDE3NCwgMjUxLCAxMzUsIDYzLCAxNjQsIDIyMCwgOTcsIDYzLCAxNjQsIAotICAgIDIyNywgMTQzLCAyMjAsIDk3LCA2MywgMTY0LCAyMTUsIDE3NCwgMjIwLCA5NywgNjMsIDE2NCwgMjI3LCAxNDMsIDIxNSwgCi0gICAgMTc0LCAyMjAsIDk3LCA2MywgMTY0LCAyMjIsIDIzOSwgMjUwLCAxMzAsIDIxOCwgMjM4LCAyMjAsIDk3LCA2MywgMTY0LCAKLSAgICAyMjMsIDQ1LCAyNDIsIDE1MywgMjIwLCA5NywgNjMsIDE2NCwgMjUwLCAyNDcsIDI1NSwgMTcyLCAyMjIsIDE0NiwgMjMxLCAKLSAgICA5NywgMjAwLCAyNTEsIDE1LCA2MywgMTY0LCAyNDIsIDEyMiwgMjE1LCAxNzMsIDYzLCAyMzIsIDE1MCwgNSwgMjUwLCAxNjMsIAotICAgIDIyMiwgMTQ1LCA2MywgMjMyLCAxNTAsIDUsIDIzMywgMiwgMjIyLCAxNDUsIDYzLCAyNTMsIDIyMCwgNSwgMjIwLCAxMDcsIAotICAgIDI0MywgNzIsIDI1NSwgMTczLCAyMjIsIDE0NSwgNjMsIDI1MywgMjIwLCA1LCAyNTUsIDE3MCwgMTkxLCA2MywgMjUzLCAKLSAgICAyMjAsIDUsIDIyMSwgMTg0LCAyMTUsIDE2OSwgNjMsIDUsIDIyMywgMTMzLCAyNDcsIDE2NywgMjQzLCA3MSwgNjMsIDUsIAotICAgIDIyMywgMTMzLCAyNDcsIDE2NywgMjQyLCAxODMsIDYzLCA1LCAyMjMsIDEzMywgMjQ3LCAxNjcsIDI0MiwgMTIzLCA2MywgNSwgCi0gICAgMjIzLCAxMzMsIDIyOSwgMjI0LCAyNDMsIDcxLCA2MywgNSwgMjIzLCAxMzMsIDIyOSwgMjI0LCAyNDIsIDE4MywgNjMsIDUsIAotICAgIDIyMywgMTMzLCAyNDcsIDE2NywgMjIzLCAxMzMsIDIyOSwgMjIzLCA2MywgMjEsIDIxMCwgODYsIDYzLCAyMSwgMTExLCA2MywgCi0gICAgMjEsIDEwNSwgNjMsIDIxLCAxNTgsIDYzLCAyMSwgMTYxLCA2MywgMjEsIDE5MCwgNjMsIDIxLCAxOTUsIDYzLCAyMSwgMTk5LCAKLSAgICA2MywgMjEsIDE5NiwgNjMsIDIxLCAyMDEsIDYzLCAyMSwgMTYzLCAxMTEsIDYzLCAyMSwgMTYzLCAxMDUsIDYzLCAyMSwgCi0gICAgMTYzLCAxNTgsIDYzLCAyMSwgMTYzLCAxNjEsIDYzLCAyMSwgMTYzLCAxOTAsIDYzLCAyMSwgMTYzLCAxOTUsIDYzLCAyMSwgCi0gICAgMTYzLCAxOTksIDYzLCAyMSwgMTYzLCAxOTYsIDYzLCAyMSwgMTYzLCAyMDEsIDYzLCAyMSwgMTYzLCAyMTAsIDg2LCA2MywgCi0gICAgMTY0LCAyNTEsIDEzOCwgMjIyLCAxNDUsIDYzLCAxNjQsIDIyOSwgNzMsIDI1MSwgNzYsIDIyNywgMTUzLCAyMTAsIDI1LCAKLSAgICA2MywgMTY0LCAyNTAsIDI0NywgMjU1LCAxNzIsIDIyMiwgMTQ2LCAyNTEsIDc3LCAyMzAsIDIwNywgMjUxLCAxNSwgNjMsIAotICAgIDE2NCwgMjI5LCA3MywgMjUxLCA3NiwgMjIwLCAxMDgsIDIyMiwgMTQ1LCA2MywgMTY0LCAyNTAsIDE0MCwgMjMwLCAyNTIsIAotICAgIDYzLCAxNjQsIDIxNSwgMTg1LCAyNTUsIDE2OSwgNjMsIDE2NCwgMjQyLCAxMDcsIDIyMiwgMTQ2LCAyNDIsIDcwLCA2MywgCi0gICAgMTY0LCAyNDIsIDEwNywgMjIyLCAxNDYsIDI0MiwgNzYsIDYzLCAxNjQsIDI1NCwgMTI0LCAyMzQsIDEyOSwgMjQyLCA3MCwgCi0gICAgNjMsIDE2NCwgMjU0LCAxMjQsIDIzNCwgMTI5LCAyNDIsIDc2LCA2MywgNSwgMjExLCA2NSwgMjE1LCAxNzIsIDYzLCA1LCAKLSAgICAyMzEsIDE3MiwgMjE1LCAxNzIsIDYzLCAxLCAxNzYsIDYzLCAxLCAyMzQsIDEzOCwgNjMsIDEsIDI0MywgMTQyLCA2MywgMSwgCi0gICAgMjQzLCAwLCA2MywgMSwgMjI5LCA4MiwgNjMsIDEsIDI1MSwgNDEsIDYzLCAxLCAyNTAsIDE2NSwgNjMsIDEsIDIzNSwgMTQ3LCAKLSAgICA2MywgMSwgMjI3LCAxNjksIDYzLCAxLCAyMTUsIDE1NywgNjMsIDEsIDIxNSwgMTQ1LCA2MywgMSwgMjQ4LCAxNDMsIDYzLCAKLSAgICAxLCAyNDgsIDEyNywgNjMsIDEsIDIyOCwgMTE1LCA2MywgMSwgMjE3LCAxMDYsIDYzLCAxLCAyMTYsIDIwOSwgNjMsIDEsIAotICAgIDI0OCwgMjI5LCA2MywgMSwgMjQ4LCAzMywgNjMsIDEsIDE5OCwgNjMsIDEsIDE5MSwgNjMsIDEsIDIyNSwgMTUwLCA2MywgMSwgCi0gICAgMjUyLCAxOTksIDYzLCAxLCAyNTIsIDI2LCA2MywgMSwgMTg2LCA2MywgMSwgMjE1LCAxODQsIDYzLCAxLCAyMTUsIDE3NiwgCi0gICAgNjMsIDEsIDI0NiwgNDYsIDYzLCAxLCAyNDYsIDQxLCA2MywgMSwgMjEyLCA2NSwgNjMsIDEsIDIxMCwgODIsIDYzLCAxLCAKLSAgICAyMTAsIDExNiwgNjMsIDEsIDI1NSwgMTc1LCA2MywgMSwgMTkyLCA2MywgMSwgMjA1LCA2MywgMSwgMjMzLCAxNDEsIDYzLCAKLSAgICAxLCAyMjAsIDEwNCwgNjMsIDEsIDIxOCwgMjI1LCA2MywgMSwgMjA2LCA2MywgMSwgMTYyLCA2MywgMSwgNjEsIDYzLCAxLCAKLSAgICAyMzMsIDIzNywgNjMsIDEsIDI0NCwgODUsIDIwNSwgNjMsIDEsIDIzNCwgNTIsIDYzLCAxLCAyMjIsIDE4MSwgNjMsIDI1LCAKLSAgICA1LCAyNTUsIDgyLCA2MywgMjUsIDUsIDc0LCA2MywgMjUsIDUsIDIzNiwgNDAsIDYzLCAyNSwgNSwgNjksIDYzLCAyNSwgNSwgCi0gICAgMjE0LCAxMTgsIDYzLCAyNSwgNSwgMTQ5LCAxNTMsIDYzLCAyNSwgNSwgMTQ5LCAyMjIsIDE4MiwgNjMsIDI1LCA1LCAxNDksIAotICAgIDE1NiwgNjMsIDI1LCA1LCAxNDksIDIzMiwgMTkxLCA2MywgMjUsIDUsIDc2LCA2MywgMjUsIDUsIDI0NSwgMjE3LCA2MywgCi0gICAgMjUsIDUsIDc4LCA2MywgMjUsIDUsIDIyNiwgMTg3LCA2MywgNSwgMjIyLCAyMjQsIDIxOCwgODUsIDIyOSwgODMsIDIyMiwgCi0gICAgMjEzLCA2MywgNSwgMjIyLCAyMTgsIDI1MiwgODQsIDYzLCAyNSwgNSwgMjIzLCA1MiwgNzQsIDYzLCAyNSwgNSwgMjIzLCAKLSAgICA1MiwgMjM2LCA0MCwgNjMsIDUsIDIyNywgMTUzLCAyMTAsIDI2LCAyMjksIDIzMSwgMjQ4LCAyMjksIDYzLCA1LCAyMTksIAotICAgIDczLCAyMzMsIDY2LCA2MywgMTY0LCAyNDIsIDM2LCA2MywgMTY0LCAyMjYsIDYxLCA2MywgNSwgMjMzLCA2OSwgMjIyLCAKLSAgICAxNDUsIDYzLCA1LCAyMTEsIDcwLCAyMjIsIDE0NSwgNjMsIDUsIDIzMywgNzAsIDIxNSwgMTg1LCAyNTEsIDE1LCA2MywgNSwgCi0gICAgMjMxLCAxMDAsIDI1MSwgMTUsIDYzLCA1LCAyNDIsIDEyNiwgMjUxLCAxNiwgMjIzLCA0MywgNjMsIDUsIDI0MiwgMTI2LCAKLSAgICAyMzEsIDkwLCAyMjMsIDQzLCA2MywgNSwgMjM1LCAyMDAsIDIzMSwgMTAwLCAyNTEsIDE1LCA2MywgMjE4LCA3NCwgNSwgCi0gICAgMjMzLCA3MCwgMjE1LCAxODUsIDI1MSwgMTUsIDYzLCAyMTgsIDc0LCA1LCAyMzEsIDEwMCwgMjUxLCAxNSwgNjMsIDIxOCwgCi0gICAgNzQsIDUsIDIzNSwgMjAwLCAyMzEsIDEwMCwgMjUxLCAxNSwgNjMsIDIxOCwgNzQsIDEsIDE3NiwgNjMsIDIxOCwgNzQsIDEsIAotICAgIDIzNCwgMTM4LCA2MywgMjE4LCA3NCwgMSwgMjQzLCAxNDIsIDYzLCAyMTgsIDc0LCAxLCAyNDMsIDAsIDYzLCAyMTgsIDc0LCAKLSAgICAxLCAyMjksIDgyLCA2MywgMjE4LCA3NCwgMSwgMjUxLCA0MSwgNjMsIDIxOCwgNzQsIDEsIDI1MCwgMTY1LCA2MywgMjE4LCAKLSAgICA3NCwgMSwgMjM1LCAxNDcsIDYzLCAyMTgsIDc0LCAxLCAyMjcsIDE2OSwgNjMsIDIxOCwgNzQsIDEsIDIxNSwgMTU3LCA2MywgCi0gICAgMjE4LCA3NCwgMSwgMjE1LCAxNDUsIDYzLCAyMTgsIDc0LCAxLCAyNDgsIDE0MywgNjMsIDIxOCwgNzQsIDEsIDI0OCwgMTI3LCAKLSAgICA2MywgMjE4LCA3NCwgMSwgMjI4LCAxMTUsIDYzLCAyMTgsIDc0LCAxLCAyMTcsIDEwNiwgNjMsIDIxOCwgNzQsIDEsIDIxNiwgCi0gICAgMjA5LCA2MywgMjE4LCA3NCwgMSwgMjQ4LCAyMjksIDYzLCAyMTgsIDc0LCAxLCAyNDgsIDMzLCA2MywgMjE4LCA3NCwgMSwgCi0gICAgMTk4LCA2MywgMjE4LCA3NCwgMSwgMTkxLCA2MywgMjE4LCA3NCwgMSwgMjI1LCAxNTAsIDYzLCAyMTgsIDc0LCAxLCAyNTIsIAotICAgIDE5OSwgNjMsIDIxOCwgNzQsIDEsIDI1MiwgMjYsIDYzLCAyMTgsIDc0LCAxLCAxODYsIDYzLCAyMTgsIDc0LCAxLCAyMTUsIAotICAgIDE4NCwgNjMsIDIxOCwgNzQsIDEsIDIxNSwgMTc2LCA2MywgMjE4LCA3NCwgMSwgMjQ2LCA0NiwgNjMsIDIxOCwgNzQsIDEsIAotICAgIDI0NiwgNDEsIDYzLCAyMTgsIDc0LCAxLCAyMTIsIDY1LCA2MywgMjE4LCA3NCwgMSwgMjEwLCA4MiwgNjMsIDIxOCwgNzQsIAotICAgIDEsIDIxMCwgMTE2LCA2MywgMjE4LCA3NCwgMSwgMjU1LCAxNzUsIDYzLCAyMTgsIDc0LCAxLCAxOTIsIDYzLCAyMTgsIDc0LCAKLSAgICAxLCAyMDUsIDYzLCAyMTgsIDc0LCAxLCAyMzMsIDE0MSwgNjMsIDIxOCwgNzQsIDEsIDIyMCwgMTA0LCA2MywgMjE4LCA3NCwgCi0gICAgMSwgMjE4LCAyMjUsIDYzLCAyMTgsIDc0LCAxLCAyMDYsIDYzLCAyMTgsIDc0LCAxLCAxNjIsIDYzLCAyMTgsIDc0LCAxLCAKLSAgICA2MSwgNjMsIDIxOCwgNzQsIDEsIDIzMywgMjM3LCA2MywgMjE4LCA3NCwgMSwgMjQ0LCA4NSwgMjEyLCA2NSwgNjMsIDIxOCwgCi0gICAgNzQsIDEsIDI0NCwgODUsIDE5MiwgNjMsIDIxOCwgNzQsIDEsIDI0NCwgODUsIDIwNSwgNjMsIDIzMywgMjI0LCAyMjIsIAotICAgIDE0MywgMjM0LCAxMzgsIDYzLCAyMzMsIDIyNCwgMjIyLCAxNDMsIDIzNCwgMTM5LCAyNTEsIDc3LCAyMzAsIDIwNywgMjUxLCAKLSAgICAxNSwgNjMsIDI1MSwgNCwgNSwgMTE0LCAyNTIsIDc4LCA2MywgMjUxLCA0LCA1LCAxOTMsIDI1MiwgNzgsIDYzLCAyNTEsIDQsIAotICAgIDUsIDI1MSwgNSwgMjE3LCAyMSwgNjMsIDI1MSwgNCwgNSwgMjIxLCAyMDksIDI1NSwgMTc0LCA2MywgMTYsIDI0NiwgOTksIAotICAgIDI1MSwgMTMzLCA2MywgMTYsIDIyMywgMTMyLCAyMjIsIDIyNSwgNjMsIDE2LCAyMjYsIDgxLCAyNDMsIDcwLCA2MywgMTYsIAotICAgIDIyMywgMTMyLCAyMjIsIDIyNiwgMjIzLCA0NSwgMjQyLCAxNTIsIDYzLCAxNiwgMjI1LCAxMTUsIDE5MSwgNjMsIDE2LCAKLSAgICAyMjgsIDY0LCAyNTEsIDEzMywgNjMsIDE2LCAyMjgsIDY0LCAyNTEsIDEzNCwgMjI3LCAxNDMsIDI1NSwgMTcxLCA2MywgMTYsIAotICAgIDIyOCwgNjQsIDI1MSwgMTM0LCAyNDIsIDEyNCwgMjU1LCAxNzEsIDYzLCAxNiwgMjI4LCA2NCwgMjUxLCAxMzQsIDI1MSwgCi0gICAgNzcsIDI1NSwgMTcxLCA2MywgNSwgMjIzLCAxMzMsIDIyOSwgMjI0LCAyMjMsIDEzMywgMjQ3LCAxNjYsIDYzLCA1LCAyMjMsIAotICAgIDEzMywgMjI5LCAyMjQsIDI0MiwgMTIzLCA2MywgMTY0LCAyNTEsIDEzNywgMjIwLCA1LCAyNDIsIDIyMiwgMjMwLCAyNTMsIAotICAgIDIyMywgNDQsIDYzLCAxNjQsIDIzMCwgMTY4LCAyMTEsIDAsIDI0MiwgMjIyLCAyMzAsIDI1MywgMjIzLCA0NCwgNjMsIDE2NCwgCi0gICAgMjI3LCAxNDMsIDIxNSwgMTczLCA2MywgMTY0LCA2NSwgMjUxLCAxNjAsIDIyMiwgMjE1LCAyMTEsIDAsIDIzMCwgMjUzLCAKLSAgICAyMzEsIDk4LCAxODYsIDYzLCAxNjQsIDI1MCwgNCwgMjUxLCAxNjAsIDIyMiwgMjE1LCAyMTEsIDAsIDIzMCwgMjUzLCAyMjAsIAotICAgIDExMSwgMTg2LCAyMjIsIDI1MywgMjE4LCAwLCA1MCwgMjMzLCA1MSwgMjE4LCAwLCA1MCwgMjIyLCAyNTMsIDIxOCwgMCwgNSwgCi0gICAgMiwgMjQ3LCAxMjYsIDIzMywgNTEsIDIxOCwgMCwgNSwgMiwgMjQ3LCAxMjYsIDYzLCAxNjQsIDIzMywgNjEsIDIzMSwgMTAxLCAKLSAgICAyMjIsIDE0NSwgNjMsIDE2NCwgMjE1LCAyNTEsIDIzMSwgMTAxLCAyMjIsIDE0NSwgNjgsIDEsIDE3NiwgNjgsIDEsIDIzNCwgCi0gICAgMTM4LCA2OCwgMSwgMjQzLCAxNDIsIDY4LCAxLCAyNDMsIDAsIDY4LCAxLCAyMjksIDgyLCA2OCwgMSwgMjUxLCA0MSwgNjgsIAotICAgIDEsIDI1MCwgMTY1LCA2OCwgMSwgMjM1LCAxNDcsIDY4LCAxLCAyMzUsIDEyMCwgNjgsIDEsIDIyNywgMTY5LCA2OCwgMSwgCi0gICAgMjI4LCA4MSwgNjgsIDEsIDIxNSwgMTU3LCA2OCwgMSwgMjE1LCAxNDUsIDY4LCAxLCAyNDgsIDE0MywgNjgsIDEsIDI0OCwgCi0gICAgMTI3LCA2OCwgMSwgMjI4LCAxMTUsIDY4LCAxLCAyMTcsIDEwNiwgNjgsIDEsIDIxNiwgMjA5LCA2OCwgMSwgMjQ4LCAyMjksIAotICAgIDY4LCAxLCAyNDgsIDMzLCA2OCwgMSwgMTk4LCA2OCwgMSwgMTkxLCA2OCwgMSwgMjI1LCAxNTAsIDY4LCAxLCAyNTIsIDE5OSwgCi0gICAgNjgsIDEsIDI1MiwgMjYsIDY4LCAxLCAxODYsIDY4LCAxLCAxOTIsIDY4LCAxLCAyMDUsIDY4LCAxLCAyMzMsIDE0MSwgNjgsIAotICAgIDEsIDIxMiwgNjUsIDY4LCAxLCAyMDYsIDY4LCAxLCAxNjIsIDY4LCAxLCAyMzIsIDE5MCwgNjgsIDEsIDYxLCA2OCwgMSwgCi0gICAgMjIwLCA4OCwgNjEsIDY4LCAxLCA3NCwgNjgsIDEsIDIzNiwgNDAsIDY4LCAxLCA2OSwgNjgsIDEsIDIxNCwgMTE4LCA2OCwgCi0gICAgMSwgNzYsIDY4LCAxLCAyMzAsIDE1NiwgNzYsIDY4LCAxLCA3OCwgNjgsIDEsIDI1MywgMjAwLCA2OCwgMjUsIDUsIDIxNywgCi0gICAgNjUsIDI1NSwgODIsIDY4LCAyNSwgNSwgMjU1LCA4MiwgNjgsIDI1LCA1LCA3NCwgNjgsIDI1LCA1LCAyMzYsIDQwLCA2OCwgCi0gICAgMjUsIDUsIDY5LCA2OCwgMjUsIDUsIDIxNCwgMTE4LCA2OCwgMjUsIDUsIDc2LCA2OCwgMjUsIDUsIDI1NCwgMjEwLCA2OCwgCi0gICAgMjUsIDUsIDIzMCwgMTU2LCAyMzYsIDQwLCA2OCwgMjUsIDUsIDIzMCwgMTU2LCA3OCwgNjgsIDI1LCA1LCAxNjAsIDQ4LCAKLSAgICA2OCwgNSwgMjU0LCA4MywgNjgsIDUsIDU5LCA1MSwgNjgsIDUsIDIxMywgMTQ3LCA2OCwgNSwgMjEzLCAxNTIsIDY4LCA1LCAKLSAgICAyNTMsIDI0MywgNjgsIDExNywgNSwgMTQ3LCAxOTIsIDY4LCAxMTcsIDUsIDE0NywgMjA1LCA2OCwgMTE3LCA1LCAxNDcsIAotICAgIDIxMiwgNjUsIDY4LCAxMTcsIDUsIDE0NywgMTYyLCA2OCwgMSwgMjQyLCAxMzksIDIwNiwgNjgsIDIxLCAyMTAsIDg2LCA2OCwgCi0gICAgMjEsIDExMSwgNjgsIDIxLCAxMDUsIDY4LCAyMSwgMTU4LCA2OCwgMjEsIDE2MSwgNjgsIDIxLCAxOTAsIDY4LCAyMSwgMTk1LCAKLSAgICA2OCwgMjEsIDE5OSwgNjgsIDIxLCAxOTYsIDY4LCAyMSwgMjAxLCA2OCwgNSwgMjMyLCAxOTgsIDIyMSwgMTc0LCA2OCwgNSwgCi0gICAgMjIxLCAxNzQsIDY4LCAxNiwgMjMyLCAxNTksIDY4LCAxNiwgMjQ5LCAyMjEsIDY4LCAxNiwgMjU0LCAyMjksIDY4LCAxNiwgCi0gICAgMjQzLCA1NSwgNjgsIDEsIDIyMCwgMTA0LCA2OCwgMSwgMjE4LCAyMjUsIDY4LCAxLCAxNDksIDE1MywgNjgsIDEsIDE0OSwgCi0gICAgMjIyLCAxODIsIDY4LCAxLCAxNDksIDE1NiwgNjgsIDEsIDE0OSwgMjMyLCAxOTEsIDY4LCAyNSwgNSwgMTQ5LCAxNTMsIDY4LCAKLSAgICAyNSwgNSwgMTQ5LCAyMjIsIDE4MiwgNjgsIDI1LCA1LCAxNDksIDE1NiwgNjgsIDI1LCA1LCAxNDksIDIzMiwgMTkxLCA2OCwgCi0gICAgMSwgMjMwLCAxNTYsIDIyOSwgODIsIDY4LCAxLCAyMzAsIDE1NiwgMjM1LCAxMjAsIDY4LCAxLCAyMzAsIDE1NiwgMjUyLCAKLSAgICAxMTksIDY4LCAxLCAyMzAsIDE1NiwgMjUyLCAxMTQsIDY4LCAxMTcsIDUsIDIzMCwgMTU2LCAxNDcsIDE5OCwgNjgsIDExNywgCi0gICAgNSwgMjMwLCAxNTYsIDE0NywgMTg2LCA2OCwgMTE3LCA1LCAyMzAsIDE1NiwgMTQ3LCAyMzMsIDE0MSwgNjgsIDEsIDIyMCwgCi0gICAgMTEwLCAyMzQsIDIxOSwgMjIwLCAxMDQsIDY4LCAyNSwgNSwgMjIwLCAxMTAsIDIzNCwgMjE5LCAyNDUsIDYzLCA2OCwgMTM4LCAKLSAgICAxNjQsIDIyMCwgMTEwLCAyMzQsIDIxOSwgMjQxLCAyNTQsIDY4LCAxMzgsIDE2NCwgMjIwLCAxMTAsIDIzNCwgMjE5LCAyMzQsIAotICAgIDE4OSwgMjI1LCAxMjQsIDY4LCAxLCAyMTIsIDcsIDIyNCwgMTExLCAyMzQsIDIxOSwgMjE2LCAyMDksIDY4LCAxLCAyMTIsIAotICAgIDcsIDIyNCwgMTExLCAyMzQsIDIxOSwgMjI0LCAxMTcsIDY4LCAyNSwgNSwgMjEyLCA3LCAyMjQsIDExMSwgMjM0LCAyMTksIAotICAgIDI0NSwgNjMsIDY4LCAyNSwgNSwgMjEyLCA3LCAyMjQsIDExMSwgMjM0LCAyMTksIDIxNCwgMjE0LCA2OCwgNSwgMjEyLCA3LCAKLSAgICAyMjQsIDExMSwgMjM0LCAyMTksIDIxNiwgMzAsIDY4LCA1LCAyMTIsIDcsIDIyNCwgMTExLCAyMzQsIDIxOSwgMjE2LCAyOSwgCi0gICAgNjgsIDUsIDIxMiwgNywgMjI0LCAxMTEsIDIzNCwgMjE5LCAyMTYsIDI4LCA2OCwgNSwgMjEyLCA3LCAyMjQsIDExMSwgMjM0LCAKLSAgICAyMTksIDIxNiwgMjcsIDY4LCA1LCAyMTIsIDcsIDIyNCwgMTExLCAyMzQsIDIxOSwgMjE2LCAyNiwgNjgsIDEsIDI0NSwgCi0gICAgMjI3LCAyMjQsIDExMSwgMjM0LCAyMTksIDIyOCwgMTE1LCA2OCwgMSwgMjQ1LCAyMjcsIDIyNCwgMTExLCAyMzQsIDIxOSwgCi0gICAgMjEwLCAxNzYsIDY4LCAxLCAyNDUsIDIyNywgMjI0LCAxMTEsIDIzNCwgMjE5LCAyNDIsIDIyNCwgNjgsIDI1LCA1LCAyNDMsIAotICAgIDY2LCAyMzQsIDIxOSwgNzQsIDY4LCAyNSwgNSwgMjM0LCAxOTQsIDIyNiwgMjM4LCA2OCwgMjUsIDUsIDIzNCwgMTk0LCA2OSwgCi0gICAgNjgsIDI1LCA1LCAyMzQsIDE5NCwgMjQ1LCAyMTcsIDY4LCAxLCAyMjAsIDg4LCAxNzYsIDY4LCAxLCAyMjAsIDg4LCAyMzQsIAotICAgIDEzOCwgNjgsIDEsIDIyMCwgODgsIDI0MywgMTQyLCA2OCwgMSwgMjIwLCA4OCwgMjUxLCA0MSwgNjgsIDEsIDIyMCwgODgsIAotICAgIDIxMCwgMTE2LCA2OCwgMSwgMjIwLCA4OCwgMjI3LCAxNjksIDY4LCAxLCAyMjAsIDg4LCAyNDgsIDIyOSwgNjgsIDEsIDIyMCwgCi0gICAgODgsIDE5OCwgNjgsIDEsIDIyMCwgODgsIDIyNSwgMTUwLCA2OCwgMSwgMjIwLCA4OCwgMjQ0LCAyMDQsIDY4LCAxLCAyMjAsIAotICAgIDg4LCAyNTIsIDE5OSwgNjgsIDEsIDIyMCwgODgsIDIxNiwgMjA5LCA2OCwgMSwgMjIwLCA4OCwgMTYyLCA2OCwgMTE3LCA1LCAKLSAgICAyMjAsIDg4LCAxNDcsIDIxMiwgNjUsIDY4LCAyNSwgNSwgMjIwLCA4OCwgMjU1LCA4MiwgNjgsIDI1LCA1LCAyMjAsIDg4LCAKLSAgICA3NiwgNjgsIDI1LCA1LCAyMjAsIDg4LCAxNjAsIDQ4LCA2OCwgMjUsIDUsIDIyMCwgODgsIDQwLCAyMTEsIDExNywgNjgsIDUsIAotICAgIDIyMCwgODgsIDIxNiwgMjksIDY4LCA1LCAyMjAsIDg4LCAyMTYsIDI4LCA2OCwgNSwgMjIwLCA4OCwgMjE2LCAyNiwgNjgsIAotICAgIDUsIDIyMCwgODgsIDIxNiwgMjUsIDY4LCA1LCAyMjAsIDg4LCAyNDksIDE2MCwgMjE2LCAyOSwgNjgsIDUsIDIyMCwgODgsIAotICAgIDI0OSwgMTYwLCAyMTYsIDI4LCA2OCwgNSwgMjIwLCA4OCwgMjQ5LCAxNjAsIDI0NSwgMTYxLCAyMTYsIDMxLCA2OCwgMSwgCi0gICAgMjIyLCAxMzAsIDIyNiwgNjcsIDI0NCwgMjA0LCA2OCwgNSwgMjIyLCAxMzAsIDIyNiwgNjcsIDIxNiwgMjYsIDY4LCAyMjAsIAotICAgIDg4LCAyMSwgMjEwLCA4NiwgNjgsIDIyMCwgODgsIDIxLCAxMTEsIDY4LCAyMjAsIDg4LCAyMSwgMTA1LCA2OCwgMjIwLCA4OCwgCi0gICAgMjEsIDE1OCwgNjgsIDIyMCwgODgsIDIxLCAxNjEsIDY4LCAyMjAsIDg4LCAyMSwgMTkwLCA2OCwgMjIwLCA4OCwgMjEsIAotICAgIDE5NSwgNjgsIDIyMCwgODgsIDIxLCAxOTksIDY4LCAyMjAsIDg4LCAyMSwgMTk2LCA2OCwgMjIwLCA4OCwgMjEsIDIwMSwgCi0gICAgNjgsIDUsIDIzNCwgMTMyLCAyMTYsIDMwLCA2OCwgNSwgMjM0LCAxMzIsIDIxNiwgMjgsIDY4LCAyNSwgNSwgMjU0LCAxOTksIAotICAgIDYxLCA2OCwgMjUsIDUsIDI1NCwgMTk5LCAyNTQsIDIxMCwgNjgsIDE2LCAyMjAsIDg4LCAxMTEsIDY4LCAxNiwgMjIwLCA4OCwgCi0gICAgMjQ1LCAzOCwgOTgsIDYsIDEsIDI1NCwgMTMxLCA5OCwgNiwgMSwgMjUyLCAxNjAsIDk4LCA2LCAxLCAyNDMsIDExMywgOTgsIAotICAgIDYsIDEsIDI0NywgMTM2LCA5OCwgNiwgMSwgMjQ1LCAxNTgsIDk4LCA2LCAxLCAyMTMsIDE2MCwgOTgsIDYsIDEsIDIxMCwgCi0gICAgODksIDk4LCA2LCAxLCAyMTcsIDYxLCA5OCwgNiwgMSwgMjM2LCA2LCA5OCwgNiwgMSwgMjM0LCAyNDAsIDk4LCA2LCAxLCAKLSAgICAyMzMsIDg3LCA5OCwgNiwgMSwgMjMxLCAxOTAsIDk4LCA2LCAxLCAyMjksIDIwMCwgOTgsIDYsIDEsIDIyNiwgMjAwLCA5OCwgCi0gICAgNiwgMSwgMjI2LCAyMSwgOTgsIDYsIDEsIDIxMCwgNzgsIDk4LCA2LCAxLCAyMjMsIDE3NCwgOTgsIDYsIDEsIDIyMSwgMjQ1LCAKLSAgICA5OCwgNiwgMSwgMjE3LCA1MSwgOTgsIDYsIDEsIDIxNCwgMTkwLCA5OCwgNiwgMSwgMjI1LCAxNDMsIDk4LCA2LCAxLCAyMzQsIAotICAgIDEyNywgOTgsIDYsIDEsIDI0MiwgMjQ4LCA5OCwgNiwgMSwgMjI0LCA3NiwgOTgsIDYsIDEsIDIyMCwgMjIsIDk4LCA2LCAxLCAKLSAgICAyNTAsIDEwNSwgOTgsIDYsIDEsIDI1MSwgMTUsIDk4LCA2LCAxLCAyMzUsIDEwNiwgOTgsIDYsIDEsIDI1MCwgNDgsIDk4LCAKLSAgICA2LCAxLCAyNTAsIDE1MSwgOTgsIDYsIDEsIDIxMSwgMTYzLCA5OCwgNiwgMSwgMjM1LCAxMTcsIDk4LCA2LCAxLCAyNDIsIAotICAgIDUwLCA5OCwgNiwgMSwgMjQxLCAyNDUsIDk4LCA2LCAxLCAyNDEsIDE4MiwgOTgsIDYsIDEsIDIxMiwgMjIsIDk4LCA2LCAxLCAKLSAgICAyNDIsIDExLCA5OCwgNiwgMSwgMjQxLCA3MiwgOTgsIDYsIDEsIDIxMCwgMjQ2LCA5OCwgNiwgMSwgMjU0LCAyNDEsIDk4LCAKLSAgICAxLCAyNTQsIDEzMSwgOTgsIDEsIDI1MiwgMTYwLCA5OCwgMSwgMjQzLCAxMTMsIDk4LCAxLCAyNDcsIDEzNiwgOTgsIDEsIAotICAgIDI0NSwgMTU4LCA5OCwgMSwgMjEzLCAxNjAsIDk4LCAxLCAyMTAsIDg5LCA5OCwgMSwgMjE3LCA2MSwgOTgsIDEsIDIzNiwgNiwgCi0gICAgOTgsIDEsIDIzNCwgMjQwLCA5OCwgMSwgMjMzLCA4NywgOTgsIDEsIDIzMSwgMTkwLCA5OCwgMSwgMjI5LCAyMDAsIDk4LCAxLCAKLSAgICAyMjYsIDIwMCwgOTgsIDEsIDIyNiwgMjEsIDk4LCAxLCAyMTAsIDc4LCA5OCwgMSwgMjIzLCAxNzQsIDk4LCAxLCAyMjEsIAotICAgIDI0NSwgOTgsIDEsIDIxNywgNTEsIDk4LCAxLCAyMTQsIDE5MCwgOTgsIDEsIDIyNSwgMTQzLCA5OCwgMSwgMjM0LCAxMjcsIAotICAgIDk4LCAxLCAyNDIsIDI0OCwgOTgsIDEsIDIyNCwgNzYsIDk4LCAxLCAyMjAsIDIyLCA5OCwgMSwgMjUwLCAxMDUsIDk4LCAxLCAKLSAgICAyNTEsIDE1LCA5OCwgMSwgMjM1LCAxMDYsIDk4LCAxLCAyNTAsIDQ4LCA5OCwgMSwgMjUwLCAxNTEsIDk4LCAxLCAyMTEsIAotICAgIDE2MywgOTgsIDEsIDIzNSwgMTE3LCA5OCwgMSwgMjQyLCA1MCwgOTgsIDEsIDI0MSwgMjQ1LCA5OCwgMSwgMjQxLCAxODIsIAotICAgIDk4LCAxLCAyMTIsIDIyLCA5OCwgMSwgMjQyLCAxMSwgOTgsIDEsIDI0MSwgNzIsIDk4LCAxLCAyNDQsIDEyOSwgOTgsIDEsIAotICAgIDIxMCwgMjQ2LCA5OCwgMSwgMjQ1LCAxNzMsIDk4LCAxLCAyMTUsIDk0LCAyNDMsIDExMywgOTgsIDEsIDI1NCwgMjA1LCA5OCwgCi0gICAgMjI2LCAxOSwgMjIwLCAxMzksIDU4LCAxLCA5OCwgMjI5LCAyMDAsIDk4LCAxLCAyNTQsIDI0MSwgOTgsIDEsIDI0MiwgMTAsIAotICAgIDUwLCA5OCwgMSwgMjMzLCAxMzMsIDUwLCAyNCwgMTAwLCAyMzQsIDY0LCAyNCwgMTAwLCAyMTgsIDIxNywgMjQsIDEwMCwgCi0gICAgMjI4LCAyMzEsIDI0LCAxMDAsIDIxNiwgMTAyLCAyNCwgMTAwLCAyMTgsIDIwNiwgMjQsIDEwMCwgMjIzLCAyOSwgMjQsIAotICAgIDEwMCwgMjMwLCAyMjIsIDI0LCAxMDAsIDIyNSwgOTgsIDI0LCAxMDAsIDIxOCwgMjE0LCAyNCwgMTAwLCAyMTksIDE1MCwgCi0gICAgMjQsIDEwMCwgMjE4LCAyMTEsIDI0LCAxMDAsIDIzNiwgNjMsIDI0LCAxMDAsIDI1MCwgNTQsIDI0LCAxMDAsIDIxOCwgMjIxLCAKLSAgICAyNCwgMTAwLCAyNTAsIDExNCwgMjQsIDEwMCwgMjM0LCAxMTYsIDI0LCAxMDAsIDIxNiwgMTc0LCAyNCwgMTAwLCAyMjUsIAotICAgIDEzNCwgMjQsIDEwMCwgMjQxLCAxNzksIDI0LCAxMDAsIDIyOCwgMjI3LCAyNCwgMTAwLCAyMTgsIDIxNSwgMjQsIDEwMCwgCi0gICAgMjI4LCAyMjEsIDI0LCAxMDAsIDIyOCwgMjI1LCAyNCwgMTAwLCAyMTYsIDk5LCAyNCwgMTAwLCAyMjMsIDE3LCAyNCwgMTAwLCAKLSAgICAyMTgsIDIxMywgMjQsIDEwMCwgMjIzLCAyNywgMjQsIDEwMCwgMjM0LCAyMjQsIDI0LCAxMDAsIDIzMCwgMjE1LCAyNCwgCi0gICAgMTAwLCAyMzQsIDIyNywgMjQsIDEwMCwgMjI1LCA5MywgMjQsIDEwMCwgMjI1LCA5MSwgMjQsIDEwMCwgMjI1LCA3OSwgMjQsIAotICAgIDEwMCwgMjI1LCA4NywgMjQsIDEwMCwgMjI1LCA4NSwgMjQsIDEwMCwgMjI1LCA4MiwgMjQsIDEwMCwgMjI1LCA4NCwgMjQsIAotICAgIDEwMCwgMjI1LCA4MSwgMjQsIDEwMCwgMjI1LCA4NiwgMjQsIDEwMCwgMjI1LCA5NiwgMjQsIDEwMCwgMjI1LCA5NywgMjQsIAotICAgIDEwMCwgMjI1LCA4MCwgMjQsIDEwMCwgMjI1LCA5MCwgMjQsIDEwMCwgMjM0LCAyMjUsIDI0LCAxMDAsIDIzNCwgMjIzLCAyNCwgCi0gICAgMTAwLCAyMTksIDE0MywgMjQsIDEwMCwgMjE5LCAxNDEsIDI0LCAxMDAsIDIxOSwgMTMzLCAyNCwgMTAwLCAyMTksIDEzNiwgCi0gICAgMjQsIDEwMCwgMjE5LCAxNDIsIDI0LCAxMDAsIDIxOSwgMTM4LCAyNCwgMTAwLCAyMTksIDEzNywgMjQsIDEwMCwgMjE5LCAKLSAgICAxMzUsIDI0LCAxMDAsIDIxOSwgMTQ2LCAyNCwgMTAwLCAyMTksIDE0OCwgMjQsIDEwMCwgMjE5LCAxNDksIDI0LCAxMDAsIAotICAgIDIxOSwgMTQ0LCAyNCwgMTAwLCAyMTksIDEzNCwgMjQsIDEwMCwgMjE5LCAxMzksIDI0LCAxMDAsIDIxOSwgMTQ3LCAyNCwgCi0gICAgMTAwLCAyNTAsIDk4LCAyNCwgMTAwLCAyNTAsIDk2LCAyNCwgMTAwLCAyNTAsIDE3NiwgMjQsIDEwMCwgMjUwLCAxNzQsIDI0LCAKLSAgICAxMDAsIDIyNiwgMzYsIDI0LCAxMDAsIDIzNiwgNTgsIDI0LCAxMDAsIDIzNiwgNDksIDI0LCAxMDAsIDIzNiwgNTcsIDI0LCAKLSAgICAxMDAsIDIzNiwgNTQsIDI0LCAxMDAsIDIzNiwgNTIsIDI0LCAxMDAsIDIzNiwgNTYsIDI0LCAxMDAsIDIxOCwgMjE4LCAyNCwgCi0gICAgMTAwLCAyMzYsIDYxLCAyNCwgMTAwLCAyMzYsIDYyLCAyNCwgMTAwLCAyMzYsIDUwLCAyNCwgMTAwLCAyMzYsIDU1LCAyNCwgCi0gICAgMTAwLCAyMTEsIDI2LCAyNCwgMTAwLCAyNTAsIDUzLCAyNCwgMTAwLCAyNTAsIDk5LCAyNCwgMTAwLCAyNTAsIDk3LCAyNCwgCi0gICAgMTAwLCAyNTAsIDE3NywgMjQsIDEwMCwgMjUwLCAxNzUsIDI0LCAxMDAsIDI1MCwgMTEyLCAyNCwgMTAwLCAyNTAsIDExMywgCi0gICAgMjQsIDEwMCwgMjUwLCAxMDAsIDI0LCAxMDAsIDI1MCwgMTc4LCAyNCwgMTAwLCAyMjUsIDEzMiwgMjQsIDEwMCwgMjM0LCAKLSAgICAyMjYsIDI0LCAxMDAsIDIxOCwgMjE5LCAyNCwgMTAwLCAyMTEsIDMyLCAyNCwgMTAwLCAyMzQsIDU1LCAyNCwgMTAwLCAyMjgsIAotICAgIDIyMywgMjQsIDEwMCwgMjI4LCAyMjksIDI0LCAxMDAsIDIyOCwgMjI4LCAyNCwgMTAwLCAyMTYsIDk2LCAyNCwgMTAwLCAKLSAgICAyNDQsIDExMSwgMjQsIDE0MywgMjQ0LCAxMTEsIDI0LCAxNDMsIDYxLCAyNCwgMTQzLCAyNTQsIDI1MiwgMjQsIDE0MywgCi0gICAgMTkyLCAyNCwgMTQzLCAyMTEsIDkyLCAyNCwgMTQzLCAyNDUsIDEyNSwgMjQsIDE0MywgNzYsIDI0LCAxNDMsIDIxMSwgMzYsIAotICAgIDI0LCAxNDMsIDIxMSwgNDcsIDI0LCAxNDMsIDc4LCAyNCwgMTQzLCAyMTIsIDY1LCAyNCwgMTQzLCAyMTIsIDYyLCAyNCwgCi0gICAgMTQzLCAyMjYsIDIzOCwgMjQsIDE0MywgMjEwLCAyNDQsIDI0LCAxNDMsIDY5LCAyNCwgMTQzLCAyMTIsIDExLCAyNCwgMTQzLCAKLSAgICAyMTIsIDIyLCAyNCwgMTQzLCAyMTEsIDI1MCwgMjQsIDE0MywgMjEwLCAyMTIsIDI0LCAxNDMsIDI0NSwgNjMsIDI0LCAxNDMsIAotICAgIDIxMSwgOCwgMjQsIDE0MywgNzQsIDI0LCAxNDMsIDI1NSwgMTY2LCAyNCwgMTQzLCAyNTUsIDE2NSwgMjQsIDE0MywgMjExLCAKLSAgICAxMDYsIDI0LCAxNDMsIDIxMSwgMTA0LCAyNCwgMTQzLCAyNDUsIDEyMywgMjQsIDE0MywgMjQ1LCAxMjIsIDI0LCAxNDMsIAotICAgIDI0NSwgMTI0LCAyNCwgMTQzLCAyMTEsIDM1LCAyNCwgMTQzLCAyMTEsIDM0LCAyNCwgMTQzLCAyMjcsIDg4LCAyNCwgMTQzLCAKLSAgICAyMjcsIDg5LCAyNCwgMTQzLCAyMjcsIDgyLCAyNCwgMTQzLCAyMjcsIDg3LCAyNCwgMTQzLCAyMjcsIDg1LCAyNCwgMTQzLCAKLSAgICAyMTAsIDIzOCwgMjQsIDE0MywgMjEwLCAyMzcsIDI0LCAxNDMsIDIxMCwgMjM2LCAyNCwgMTQzLCAyMTAsIDIzOSwgMjQsIAotICAgIDE0MywgMjEwLCAyNDAsIDI0LCAxNDMsIDIxNSwgMzAsIDI0LCAxNDMsIDIxNSwgMjksIDI0LCAxNDMsIDIxNSwgMjcsIDI0LCAKLSAgICAxNDMsIDIxNSwgMjQsIDI0LCAxNDMsIDIxNSwgMjUsIDI0LCAxNDMsIDIxMCwgMjExLCAyNCwgMTQzLCAyMTAsIDIwOCwgMjQsIAotICAgIDE0MywgMjEwLCAyMDksIDI0LCAxNDMsIDIxMCwgMjAzLCAyNCwgMTQzLCAyMTAsIDIwNCwgMjQsIDE0MywgMjEwLCAyMDUsIAotICAgIDI0LCAxNDMsIDIxMCwgMjA3LCAyNCwgMTQzLCAyNDUsIDU3LCAyNCwgMTQzLCAyNDUsIDU5LCAyNCwgMTQzLCAyMTEsIDcsIAotICAgIDI0LCAxNDMsIDI0MCwgMTYwLCAyNCwgMTQzLCAyNDAsIDE1MiwgMjQsIDE0MywgMjQwLCAxNTUsIDI0LCAxNDMsIDI0MCwgCi0gICAgMTUzLCAyNCwgMTQzLCAyNDAsIDE1NywgMjQsIDE0MywgMjQwLCAxNTksIDI0LCAxNDMsIDI1NCwgNDIsIDI0LCAxNDMsIAotICAgIDI1NCwgMzksIDI0LCAxNDMsIDI1NCwgMzcsIDI0LCAxNDMsIDI1NCwgMzgsIDI0LCAxNDMsIDIxOCwgMjIyLCAyNCwgMTQzLCAKLSAgICAyNTUsIDE2NywgMjQsIDE0MywgMjExLCAxMDUsIDI0LCAxNDMsIDIxMSwgMzMsIDI0LCAxNDMsIDIyNywgODQsIDI0LCAxNDMsIAotICAgIDIyNywgODMsIDI0LCA5MCwgMjM0LCA2NCwgMjQsIDkwLCAyMTgsIDIxNywgMjQsIDkwLCAyMzQsIDU3LCAyNCwgOTAsIDIyOCwgCi0gICAgMjMxLCAyNCwgOTAsIDIyOCwgMjI5LCAyNCwgOTAsIDIyOCwgMjI4LCAyNCwgOTAsIDIxNiwgMTAyLCAyNCwgOTAsIDIyMywgCi0gICAgMjksIDI0LCA5MCwgMjIzLCAyNCwgMjQsIDkwLCAyMjMsIDIxLCAyNCwgOTAsIDIyMywgMTQsIDI0LCA5MCwgMjIzLCA5LCAKLSAgICAyNCwgOTAsIDIyMywgNCwgMjQsIDkwLCAyMjMsIDE1LCAyNCwgOTAsIDIyMywgMjcsIDI0LCA5MCwgMjMwLCAyMjIsIDI0LCAKLSAgICA5MCwgMjI1LCA5OCwgMjQsIDkwLCAyMjUsIDg3LCAyNCwgOTAsIDIxOSwgMTUwLCAyNCwgOTAsIDIxOCwgMjExLCAyNCwgOTAsIAotICAgIDIzNiwgNjMsIDI0LCA5MCwgMjUwLCA1NCwgMjQsIDkwLCAyNTAsIDExNCwgMjQsIDkwLCAyMzQsIDExNiwgMjQsIDkwLCAKLSAgICAyMTYsIDE3NCwgMjQsIDkwLCAyMjUsIDEzNCwgMjQsIDkwLCAyNDEsIDE3OSwgMjQsIDkwLCAyMzQsIDU4LCAyNCwgOTAsIAotICAgIDIzNCwgNTYsIDI0LCA5MCwgMjI4LCAyMjcsIDI0LCA5MCwgMjI4LCAyMjEsIDI0LCA5MCwgMjI4LCAyMjMsIDI0LCA5MCwgCi0gICAgMjI4LCAyMjYsIDI0LCA5MCwgMjI4LCAyMjIsIDI0LCA5MCwgMjE2LCA5OSwgMjQsIDkwLCAyMTYsIDk2LCAyNCwgOTAsIAotICAgIDIyMywgMjIsIDI0LCA5MCwgMjIzLCAxNywgMjQsIDkwLCAyMjMsIDMsIDI0LCA5MCwgMjIzLCAyLCAyNCwgOTAsIDIxOCwgCi0gICAgMjEzLCAyNCwgOTAsIDIyMywgMTksIDI0LCA5MCwgMjIzLCAxOCwgMjQsIDkwLCAyMjMsIDExLCAyNCwgOTAsIDIyMywgMTMsIAotICAgIDI0LCA5MCwgMjIzLCAyNiwgMjQsIDkwLCAyMjMsIDYsIDI0LCA5MCwgMjIzLCAxNiwgMjQsIDkwLCAyMjMsIDI1LCAyNCwgCi0gICAgOTAsIDIyMywgMSwgMjQsIDkwLCAyMzAsIDIxOCwgMjQsIDkwLCAyMzAsIDIxMywgMjQsIDkwLCAyMzAsIDIxNSwgMjQsIDkwLCAKLSAgICAyMzAsIDIxMiwgMjQsIDkwLCAyMzAsIDIxMCwgMjQsIDkwLCAyMzAsIDIxNiwgMjQsIDkwLCAyMzAsIDIyMSwgMjQsIDkwLCAKLSAgICAyMzAsIDIxOSwgMjQsIDkwLCAyMzQsIDIyNywgMjQsIDkwLCAyMjUsIDg5LCAyNCwgOTAsIDIyNSwgOTAsIDI0LCA5MCwgCi0gICAgMjI1LCA5NSwgMjQsIDkwLCAyMzQsIDIyNSwgMjQsIDkwLCAyMTksIDE0MywgMjQsIDkwLCAyMTksIDEzMywgMjQsIDkwLCAKLSAgICAyMTksIDEzNiwgMjQsIDkwLCAyMTksIDEzOCwgMjQsIDkwLCAyMjYsIDM2LCAyNCwgOTAsIDIzNiwgNTgsIDI0LCA5MCwgCi0gICAgMjM2LCA1MSwgMjQsIDkwLCAyMTgsIDIxOCwgMjQsIDkwLCAyMzYsIDU5LCAyNCwgOTAsIDIxMSwgMjYsIDI0LCA5MCwgMjExLCAKLSAgICAyMiwgMjQsIDkwLCAyMTEsIDIzLCAyNCwgOTAsIDIyNSwgMTMyLCAyNCwgOTAsIDIzNCwgMjI2LCAyNCwgOTAsIDI0MSwgCi0gICAgMTc3LCAyNCwgOTAsIDI0MSwgMTc1LCAyNCwgOTAsIDI0MSwgMTc4LCAyNCwgOTAsIDI0MSwgMTc2LCAyNCwgOTAsIDIxMSwgCi0gICAgMzIsIDI0LCA5MCwgMjM0LCA2MCwgMjQsIDkwLCAyMzQsIDU5LCAyNCwgOTAsIDIzNCwgNjMsIDI0LCA5MCwgMjM0LCA2MSwgCi0gICAgMjQsIDkwLCAyMzQsIDYyLCAyNCwgOTAsIDIxOCwgMjE1LCAyOSwgMywgMTYyLCAyOSwgMywgMjQwLCAyMjksIDI5LCAzLCAKLSAgICAyNDEsIDE4NywgMjksIDMsIDI0MiwgNTMsIDI5LCAzLCAyNDEsIDIyNywgMjksIDMsIDI0MSwgMjQ1LCAyOSwgMywgMjQxLCAKLSAgICA3NSwgMjksIDMsIDI0MSwgNzQsIDI5LCAzLCAyMzMsIDE0MSwgMjksIDMsIDIzMiwgMTAzLCAyOSwgMywgMjMyLCAyNDcsIAotICAgIDI5LCAzLCAyMzMsIDE0MCwgMjksIDMsIDIzMywgNTYsIDI5LCAzLCAyMzMsIDY0LCAyOSwgMywgMjMyLCAxNjIsIDI5LCAzLCAKLSAgICAyMzIsIDc1LCAyOSwgMywgMjQxLCAxOTYsIDI5LCAzLCAyNDEsIDE5MCwgMjksIDMsIDI0MSwgMTkyLCAyOSwgMywgMjQxLCAKLSAgICAxOTUsIDI5LCAzLCAyNDEsIDE5MywgMjksIDMsIDI0MSwgMTk0LCAyOSwgMywgMjQxLCAxOTEsIDI5LCAzLCAyNDEsIDE4OSwgCi0gICAgMjksIDMsIDE4NiwgMjksIDMsIDIzMCwgMTA3LCAyOSwgMywgMjMwLCAyMzUsIDI5LCAzLCAyMzEsIDI0MiwgMjksIDMsIAotICAgIDIzMSwgODUsIDI5LCAzLCAyMzEsIDk2LCAyOSwgMywgMjMwLCAxNjYsIDI5LCAzLCAyMzAsIDQ3LCAyOSwgMywgMjE3LCAKLSAgICAxNjQsIDI5LCAzLCAyMTcsIDE1OCwgMjksIDMsIDIxNywgMTYwLCAyOSwgMywgMjE3LCAxNjMsIDI5LCAzLCAyMTcsIDE2MSwgCi0gICAgMjksIDMsIDIxNywgMTYyLCAyOSwgMywgMjE3LCAxNTksIDI5LCAzLCAyMTcsIDE1NywgMjksIDMsIDIwNSwgMjksIDMsIAotICAgIDIyMiwgMTQyLCAyOSwgMywgMjIzLCAzOCwgMjksIDMsIDIyMywgMTg3LCAyOSwgMywgMjIzLCAxMTEsIDI5LCAzLCAyMjMsIAotICAgIDEzMSwgMjksIDMsIDIyMiwgMjEzLCAyOSwgMywgMjIyLCAxMTEsIDI5LCAzLCAyMDYsIDI5LCAzLCAyMTgsIDg0LCAyOSwgMywgCi0gICAgMjE5LCAxOTMsIDI5LCAzLCAyMjIsIDMzLCAyOSwgMywgMjIxLCAxNzIsIDI5LCAzLCAyMjEsIDE4MywgMjksIDMsIDIxOSwgCi0gICAgNjAsIDI5LCAzLCAyMTcsIDI1NCwgMjksIDMsIDIyMCwgMTA0LCAyOSwgMywgMjE5LCAyMjcsIDI5LCAzLCAyMjAsIDM0LCAKLSAgICAyOSwgMywgMjIwLCAxMDAsIDI5LCAzLCAyMjAsIDYzLCAyOSwgMywgMjIwLCA2NSwgMjksIDMsIDIyMCwgOSwgMjksIDMsIAotICAgIDIxOSwgMjEwLCAyOSwgMywgMjI0LCA5MSwgMjksIDMsIDIyNCwgMzMsIDI5LCAzLCAyMjQsIDU2LCAyOSwgMywgMjI0LCA5MCwgCi0gICAgMjksIDMsIDIyNCwgNzEsIDI5LCAzLCAyMjQsIDcyLCAyOSwgMywgMjI0LCA0NSwgMjksIDMsIDIyNCwgNDQsIDI5LCAzLCAKLSAgICAyMjMsIDI0NSwgMjksIDMsIDIyMywgMjQxLCAyOSwgMywgMjIzLCAyNDQsIDI5LCAzLCAyMjMsIDI0MiwgMjksIDMsIDIyMywgCi0gICAgMjQzLCAyOSwgMywgMjI0LCA2OCwgMjksIDMsIDIyNCwgNjIsIDI5LCAzLCAyMjQsIDY0LCAyOSwgMywgMjI0LCA2NywgMjksIAotICAgIDMsIDIyNCwgNjUsIDI5LCAzLCAyMjQsIDY2LCAyOSwgMywgMjI0LCA2MywgMjksIDMsIDIyNCwgNjEsIDI5LCAzLCAyMjQsIAotICAgIDU3LCAyOSwgMywgMjI0LCA2MCwgMjksIDMsIDIyNCwgNTgsIDI5LCAzLCAyMjQsIDU5LCAyOSwgMywgMjUyLCAxOTksIDI5LCAKLSAgICAzLCAyNTEsIDEzMywgMjksIDMsIDI1MiwgMTQsIDI5LCAzLCAyNTIsIDE5NywgMjksIDMsIDI1MiwgNzQsIDI5LCAzLCAyNTIsIAotICAgIDgzLCAyOSwgMywgMjUxLCAyMTMsIDI5LCAzLCAyNTEsIDkxLCAyOSwgMywgMjE0LCAyNywgMjksIDMsIDIxMiwgMTE2LCAyOSwgCi0gICAgMywgMjEzLCAxNzYsIDI5LCAzLCAyMTQsIDI2LCAyOSwgMywgMjEzLCAyNTAsIDI5LCAzLCAyMTMsIDI1NSwgMjksIDMsIAotICAgIDIxMywgMTM4LCAyOSwgMywgMjEyLCAxMDcsIDI5LCAzLCAyMTcsIDEwNiwgMjksIDMsIDIxNSwgMTE5LCAyOSwgMywgMjE2LCAKLSAgICAxMTgsIDI5LCAzLCAyMTcsIDEwMiwgMjksIDMsIDIxNywgMTIsIDI5LCAzLCAyMTcsIDIzLCAyOSwgMywgMTEyLCAyOSwgMywgCi0gICAgMjE1LCA4MCwgMjksIDMsIDI1MSwgNDEsIDI5LCAzLCAyNDksIDEyMCwgMjksIDMsIDI1MCwgNTksIDI5LCAzLCAyNTEsIDQwLCAKLSAgICAyOSwgMywgMjUwLCAxOTAsIDI5LCAzLCAyNTAsIDE5OCwgMjksIDMsIDI0OSwgMjQ2LCAyOSwgMywgMjQ5LCA4OSwgMjksIDMsIAotICAgIDIxMSwgMTY1LCAyOSwgMywgMjExLCAxNDEsIDI5LCAzLCAyMTEsIDE1NywgMjksIDMsIDIxMSwgMTY0LCAyOSwgMywgMjExLCAKLSAgICAxNjEsIDI5LCAzLCAyMTEsIDE2MiwgMjksIDMsIDIxMSwgMTQ4LCAyOSwgMywgMjExLCAxNDcsIDI5LCAzLCAyMTEsIDEzNiwgCi0gICAgMjksIDMsIDIxMSwgMTMyLCAyOSwgMywgMjExLCAxMzUsIDI5LCAzLCAyMTEsIDEzMywgMjksIDMsIDIxMSwgMTM0LCAyOSwgCi0gICAgMywgMTk4LCAyOSwgMywgMjI3LCAyNDIsIDI5LCAzLCAyMjgsIDIzOCwgMjksIDMsIDIyOSwgMjMwLCAyOSwgMywgMjI5LCAKLSAgICAxMDgsIDI5LCAzLCAyMjksIDExMiwgMjksIDMsIDIyOCwgNzksIDI5LCAzLCAyMjcsIDE3OCwgMjksIDMsIDIyNywgMTY5LCAKLSAgICAyOSwgMywgMjI3LCAxMzIsIDI5LCAzLCAyMjcsIDE1MiwgMjksIDMsIDIyNywgMTY4LCAyOSwgMywgMjI3LCAxNTksIDI5LCAKLSAgICAzLCAyMjcsIDE2MCwgMjksIDMsIDIyNywgMTM4LCAyOSwgMywgMjI3LCAxMjMsIDI5LCAzLCAyNDIsIDE4NywgNjEsIDI5LCAKLSAgICAzLCAyNDIsIDE4NywgNjksIDI5LCAzLCAyNDIsIDE4NywgNzQsIDI5LCAzLCAyNDIsIDE4NywgMjU1LCA4MiwgMjksIDMsIAotICAgIDI0MiwgMTg3LCAyNDUsIDIxNywgMjksIDMsIDI0MiwgMTg3LCA3NiwgMjksIDMsIDI0MiwgMTg3LCA3OCwgMjksIDMsIDI0MiwgCi0gICAgMTg3LCAyMTIsIDY1LCAyOSwgMywgMTc2LCAyOSwgMywgMjMzLCAyMjMsIDI5LCAzLCAyMzQsIDk4LCAyOSwgMywgMjM1LCAKLSAgICAxNiwgMjksIDMsIDIzNCwgMTg3LCAyOSwgMywgMjM0LCAxODgsIDI5LCAzLCAyMzQsIDM0LCAyOSwgMywgMjM0LCAzMywgMjksIAotICAgIDMsIDIzMywgMTg4LCAyOSwgMywgMjMzLCAxODIsIDI5LCAzLCAyMzMsIDE4NywgMjksIDMsIDIzMywgMTgzLCAyOSwgMywgCi0gICAgMjMzLCAxODQsIDI5LCAzLCAyMzMsIDE3NywgMjksIDMsIDIzMywgMTcxLCAyOSwgMywgMjMzLCAxNzMsIDI5LCAzLCAyMzMsIAotICAgIDE3NiwgMjksIDMsIDIzMywgMTc0LCAyOSwgMywgMjMzLCAxNzUsIDI5LCAzLCAyMzMsIDE3MiwgMjksIDMsIDIzMywgMTcwLCAKLSAgICAyOSwgMywgMjMzLCAxNjYsIDI5LCAzLCAyMzMsIDE2OSwgMjksIDMsIDIzMywgMTY3LCAyOSwgMywgMjMzLCAxNjgsIDI5LCAKLSAgICAzLCAyMTIsIDY1LCAyOSwgMywgMjExLCAxOTUsIDI5LCAzLCAyMTEsIDI1MCwgMjksIDMsIDIxMiwgNjQsIDI5LCAzLCAyMTIsIAotICAgIDE3LCAyOSwgMywgMjEyLCAyMiwgMjksIDMsIDIxMSwgMjI3LCAyOSwgMywgMjExLCAyMjYsIDI5LCAzLCAyMjUsIDE0MiwgCi0gICAgNjEsIDI5LCAzLCAyMjUsIDE0MiwgNjksIDI5LCAzLCAyMjUsIDE0MiwgNzQsIDI5LCAzLCAyMjUsIDE0MiwgMjU1LCA4MiwgCi0gICAgMjksIDMsIDIyNSwgMTQyLCAyNDUsIDIxNywgMjksIDMsIDIyNSwgMTQyLCA3NiwgMjksIDMsIDIyNSwgMTQyLCA3OCwgMjksIAotICAgIDMsIDIxMCwgMTE2LCAyOSwgMywgMjEwLCAxMywgMjksIDMsIDIxMCwgNDQsIDI5LCAzLCAyMTAsIDExNSwgMjksIDMsIDIxMCwgCi0gICAgOTIsIDI5LCAzLCAyMTAsIDk0LCAyOSwgMywgMjEwLCAyMywgMjksIDMsIDIxMCwgMCwgMjksIDMsIDIxMCwgODIsIDI5LCAzLCAKLSAgICAyMTAsIDYyLCAyOSwgMywgMjEwLCA2OSwgMjksIDMsIDIxMCwgODEsIDI5LCAzLCAyMTAsIDczLCAyOSwgMywgMjEwLCA3NCwgCi0gICAgMjksIDMsIDIxMCwgNjcsIDI5LCAzLCAyMTAsIDUzLCAyOSwgMywgMTkyLCAyOSwgMywgMjEwLCAyMTIsIDI5LCAzLCAyMTEsIAotICAgIDgsIDI5LCAzLCAyMTEsIDEwMywgMjksIDMsIDIxMSwgNDQsIDI5LCAzLCAyMTEsIDQ3LCAyOSwgMywgMjEwLCAyNDQsIDI5LCAKLSAgICAzLCAyMTAsIDIzNSwgMjksIDMsIDI0OCwgMjI5LCAyOSwgMywgMjQ2LCA4NiwgMjksIDMsIDI0OCwgMTEsIDI5LCAzLCAyNDgsIAotICAgIDIyOCwgMjksIDMsIDI0OCwgODUsIDI5LCAzLCAyNDgsIDk4LCAyOSwgMywgMjQ3LCAxNTMsIDI5LCAzLCAyNDYsIDU1LCAyOSwgCi0gICAgMywgMjQ4LCAxNDMsIDI5LCAzLCAyNDgsIDEwOCwgMjksIDMsIDI0OCwgMTIwLCAyOSwgMywgMjQ4LCAxNDIsIDI5LCAzLCAKLSAgICAyNDgsIDEzMCwgMjksIDMsIDI0OCwgMTMxLCAyOSwgMywgMjQ4LCAxMTMsIDI5LCAzLCAyNDgsIDk5LCAyOSwgMywgMjM1LCAKLSAgICAxNDcsIDI5LCAzLCAyMzUsIDU3LCAyOSwgMywgMjM1LCAxMTQsIDI5LCAzLCAyMzUsIDE0NiwgMjksIDMsIDIzNSwgMTMwLCAKLSAgICAyOSwgMywgMjM1LCAxMzIsIDI5LCAzLCAyMzUsIDc0LCAyOSwgMywgMjM1LCAzNywgMjksIDMsIDI0MywgMTQyLCAyOSwgMywgCi0gICAgMjQyLCAxMjAsIDI5LCAzLCAyNDIsIDIyMSwgMjksIDMsIDI0MywgMTM5LCAyOSwgMywgMjQzLCA2MiwgMjksIDMsIDI0MywgCi0gICAgNjksIDI5LCAzLCAyNDIsIDE4MSwgMjksIDMsIDI0MiwgMTgwLCAyOSwgMywgMjQyLCA4NSwgMjksIDMsIDI0MiwgODEsIDI5LCAKLSAgICAzLCAyNDIsIDg0LCAyOSwgMywgMjQyLCA4MiwgMjksIDMsIDI0MiwgODMsIDI5LCAzLCAyNDMsIDM2LCAyOSwgMywgMjQzLCAKLSAgICAxNiwgMjksIDMsIDI0MywgMjYsIDI5LCAzLCAyNDMsIDM1LCAyOSwgMywgMjQzLCAzMCwgMjksIDMsIDI0MywgMzEsIDI5LCAKLSAgICAzLCAyNDMsIDIwLCAyOSwgMywgMjQzLCA1LCAyOSwgMywgMjE2LCAyMDksIDI5LCAzLCAyMTYsIDEzNywgMjksIDMsIDIxNiwgCi0gICAgMTc2LCAyOSwgMywgMjE2LCAyMDgsIDI5LCAzLCAyMTYsIDE5NSwgMjksIDMsIDIxNiwgMTk2LCAyOSwgMywgMjE2LCAxNTcsIAotICAgIDI5LCAzLCAyMTYsIDEyOSwgMjksIDMsIDI1MCwgMTY1LCAyOSwgMywgMjUwLCA3NywgMjksIDMsIDI1MCwgMTE4LCAyOSwgMywgCi0gICAgMjUwLCAxNjQsIDI5LCAzLCAyNTAsIDEzNiwgMjksIDMsIDI1MCwgMTM5LCAyOSwgMywgMjUwLCA5NCwgMjksIDMsIDI1MCwgCi0gICAgNjYsIDI5LCAzLCAyMjUsIDE1MCwgMjksIDMsIDIyNSwgMTE3LCAyOSwgMywgMjI1LCAxMzYsIDI5LCAzLCAyMjUsIDE0OSwgCi0gICAgMjksIDMsIDIyNSwgMTM4LCAyOSwgMywgMjI1LCAxMzksIDI5LCAzLCAyMjUsIDEyNCwgMjksIDMsIDIyNSwgMTEzLCAyOSwgCi0gICAgMywgMjE1LCAxODQsIDI5LCAzLCAyMTUsIDE2NCwgMjksIDMsIDIxNSwgMTY4LCAyOSwgMywgMjE1LCAxODMsIDI5LCAzLCAKLSAgICAyMTUsIDE3OCwgMjksIDMsIDIxNSwgMTc5LCAyOSwgMywgMjE1LCAxNjcsIDI5LCAzLCAyMTUsIDE2MiwgMjksIDMsIDIxNSwgCi0gICAgMzksIDI5LCAzLCAyMTUsIDMxLCAyOSwgMywgMjE1LCAzNSwgMjksIDMsIDIxNSwgMzgsIDI5LCAzLCAyMTUsIDM2LCAyOSwgCi0gICAgMywgMjE1LCAzNywgMjksIDMsIDIxNSwgMzMsIDI5LCAzLCAyMTUsIDMyLCAyOSwgMywgMjQ0LCAyMDQsIDI5LCAzLCAyNDMsIAotICAgIDI0MSwgMjksIDMsIDI0NCwgMTI5LCAyOSwgMywgMjQ0LCAyMDMsIDI5LCAzLCAyNDQsIDE1NSwgMjksIDMsIDI0NCwgMTYyLCAKLSAgICAyOSwgMywgMjQ0LCA1MSwgMjksIDMsIDI0MywgMjIwLCAyOSwgMywgMTkxLCAyOSwgMywgMjI0LCAxNTMsIDI5LCAzLCAyMjUsIAotICAgIDExMSwgMjksIDMsIDIyNiwgOTMsIDI5LCAzLCAyMjUsIDIxNCwgMjksIDMsIDIyNSwgMjI0LCAyOSwgMywgMjI1LCAxOSwgCi0gICAgMjksIDMsIDIyNCwgMTE3LCAyOSwgMywgMjIyLCAxMDEsIDI5LCAzLCAyMzAsIDM2LCAyOSwgMywgMjQzLCAyMTQsIDI5LCAKLSAgICAzOCwgMjQzLCA2MCwgMjIsIDI1LCAyMzMsIDI5LCA3OSwgMjksIDM4LCAyNSwgMjMzLCAyOSwgNzksIDI5LCAzOCwgMjQzLCAKLSAgICA2MCwgNzksIDI5LCAyMjEsIDE3NSwgNzksIDI5LCAyMTEsIDIwOCwgMjksIDI0MywgMjM2LCAyMTgsIDEzMSwgMjksIDI0OSwgCi0gICAgMjI3LCAyOSwgMjIwLCAxNTIsIDI5LCAyNDksIDIzNCwgMjksIDIyNCwgMjAyLCAyNDksIDIzNCwgMjksIDIyNCwgMTYsIDc5LCAKLSAgICAyOSwgMjI2LCAxOSwgMjIwLCAxMzksIDI5LCAyMSwgMTExLCAyOSwgMjEsIDEwNSwgMjksIDIxLCAxNTgsIDI5LCAyMSwgCi0gICAgMTYxLCAyOSwgMjEsIDE5MCwgMjksIDIxLCAxOTUsIDI5LCAyMSwgMTk5LCAyOSwgMjEsIDE5NiwgMjksIDIxLCAyMDEsIDI5LCAKLSAgICA1NCwgMjE2LCAyNDgsIDI5LCA1NCwgMjE1LCA3MywgMjksIDU0LCAyMTYsIDE2MywgMjksIDU0LCAyNDQsIDIzLCAyOSwgNTQsIAotICAgIDI0NCwgMTIyLCAyOSwgNTQsIDIxOSwgMTEzLCAyOSwgNTQsIDIyMCwgMTE4LCAyOSwgNTQsIDI0NSwgMTkyLCAyOSwgNTQsIAotICAgIDIyOCwgMjAwLCAyOSwgNTQsIDI0MCwgMjE3LCAyOSwgNTQsIDIxNiwgMjQ5LCAyMTYsIDE0OCwgMjksIDMsIDIyMSwgMTc5LCAKLSAgICAyMzAsIDQ3LCAyOSwgMywgMjMwLCA0MywgMjksIDMsIDIzMCwgNDQsIDI5LCAzLCAyMzAsIDQ1LCAyOSwgMywgMjIxLCAxNzksIAotICAgIDI1MSwgOTEsIDI5LCAzLCAyNTEsIDg4LCAyOSwgMywgMjUxLCA4OSwgMjksIDMsIDI1MSwgOTAsIDI5LCAzLCAyMjEsIDE3OSwgCi0gICAgMjQzLCAyMjAsIDI5LCAzLCAyNDMsIDIxNiwgMjksIDMsIDI0MywgMjE3LCAyOSwgMywgMjQzLCAyMTgsIDI5LCAzLCAyMjEsIAotICAgIDE3OSwgMjI0LCAxMTcsIDI5LCAzLCAyMjQsIDExMywgMjksIDMsIDIyNCwgMTE0LCAyOSwgMywgMjI0LCAxMTUsIDI5LCAKLSAgICAyMTYsIDMyLCAxNjQsIDIxMCwgMjQ3LCAyOSwgMjE2LCAzMiwgMTY0LCAyNDgsIDQ5LCAyOSwgMjE2LCAzMiwgMTY0LCAyMjIsIAotICAgIDI0MSwgMjksIDIxNiwgMzIsIDE2NCwgMjE5LCAyNTMsIDIyMiwgMjQxLCAyOSwgMjE2LCAzMiwgMTY0LCAyNDcsIDI0MywgCi0gICAgMjksIDIxNiwgMzIsIDE2NCwgMjM0LCAxNzAsIDI5LCAyMTYsIDMyLCAxNjQsIDI1MCwgMTAyLCAyOSwgMjE2LCAzMiwgMTY0LCAKLSAgICAyNDEsIDE4NCwgMjksIDIxNiwgMzIsIDE2NCwgMjQ4LCA0OCwgMjksIDIxNiwgMzIsIDE2NCwgMjMzLCAyMDAsIDE2OSwgMSwgCi0gICAgNjEsIDE2OSwgMSwgNzYsIDE2OSwgMSwgNzQsIDE2OSwgMSwgNzgsIDE2OSwgMSwgNjksIDE2OSwgMSwgMjE0LCAxMDUsIAotICAgIDE2OSwgMSwgMjQzLCAxNDIsIDE2OSwgMSwgMTc2LCAxNjksIDEsIDI0MywgNjksIDE2OSwgMSwgMjQyLCAyMjEsIDE2OSwgMSwgCi0gICAgMjQyLCAxODEsIDE2OSwgMSwgMjQyLCAxMjAsIDE2OSwgMSwgMjQyLCA4NiwgMTY5LCAxLCAxNjIsIDE2OSwgMSwgMjQxLCAKLSAgICAyNDUsIDE2OSwgMSwgMjQxLCAxODcsIDE2OSwgMSwgMjQxLCA3NSwgMTY5LCAxLCAyNDAsIDIyOSwgMTY5LCAxLCAyNDAsIAotICAgIDIwOCwgMTY5LCAxLCAyMzMsIDE0MSwgMTY5LCAxLCAyMzMsIDY0LCAxNjksIDEsIDIzMiwgMjQ3LCAxNjksIDEsIDIzMiwgCi0gICAgMTYyLCAxNjksIDEsIDIzMiwgMTAzLCAxNjksIDEsIDIzMiwgNzYsIDE2OSwgMSwgMTg2LCAxNjksIDEsIDIzMSwgOTYsIAotICAgIDE2OSwgMSwgMjMwLCAyMzUsIDE2OSwgMSwgMjMwLCAxNjYsIDE2OSwgMSwgMjMwLCAxMDcsIDE2OSwgMSwgMTk4LCAxNjksIAotICAgIDEsIDI0MSwgOTcsIDE2OSwgMSwgMjI5LCAyMTgsIDE2OSwgMSwgMjI5LCAxMTIsIDE2OSwgMSwgMjI4LCAyMzgsIDE2OSwgMSwgCi0gICAgMjI4LCA3OSwgMTY5LCAxLCAyMjcsIDI0MiwgMTY5LCAxLCAyMjcsIDE4MCwgMTY5LCAxLCAyMjQsIDMyLCAxNjksIDEsIAotICAgIDIyNCwgMTksIDE2OSwgMSwgMjI0LCAxMiwgMTY5LCAxLCAyMjQsIDQsIDE2OSwgMSwgMjIzLCAyNDksIDE2OSwgMSwgMjIzLCAKLSAgICAyNDcsIDE2OSwgMSwgMjA2LCAxNjksIDEsIDIyMiwgOTMsIDE2OSwgMSwgMjIxLCAxODMsIDE2OSwgMSwgMjE5LCAxOTMsIAotICAgIDE2OSwgMSwgMjE5LCA2MCwgMTY5LCAxLCAyMTgsIDg0LCAxNjksIDEsIDIxOCwgMywgMTY5LCAxLCAyNDgsIDIyOSwgMTY5LCAKLSAgICAxLCAyMTcsIDEwNiwgMTY5LCAxLCAyNDgsIDk4LCAxNjksIDEsIDIxNywgMjMsIDE2OSwgMSwgMjQ4LCAxMSwgMTY5LCAxLCAKLSAgICAyMTYsIDExOCwgMTY5LCAxLCAyNDcsIDE1MywgMTY5LCAxLCAyNDYsIDg2LCAxNjksIDEsIDI0NiwgNTgsIDE2OSwgMSwgCi0gICAgMjQ3LCAxNjQsIDE2OSwgMSwgMjE2LCA2MCwgMTY5LCAxLCAyMTYsIDU5LCAxNjksIDEsIDIxNiwgNDgsIDE2OSwgMSwgMjE2LCAKLSAgICA0NywgMTY5LCAxLCAyMTYsIDQ2LCAxNjksIDEsIDIxNiwgNDUsIDE2OSwgMSwgMjE1LCAxODQsIDE2OSwgMSwgMjE1LCAxNzksIAotICAgIDE2OSwgMSwgMjE1LCAxNjgsIDE2OSwgMSwgMjE1LCAxNjcsIDE2OSwgMSwgMjE1LCAxNjQsIDE2OSwgMSwgMjE1LCAxNjMsIAotICAgIDE2OSwgMSwgMjEyLCA2NSwgMTY5LCAxLCAyMTIsIDIyLCAxNjksIDEsIDIxMSwgMjUwLCAxNjksIDEsIDIxMSwgMjI3LCAKLSAgICAxNjksIDEsIDIxMSwgMTk1LCAxNjksIDEsIDIxMSwgMTgzLCAxNjksIDEsIDE5MiwgMTY5LCAxLCAyMTEsIDQ3LCAxNjksIDEsIAotICAgIDIxMSwgOCwgMTY5LCAxLCAyMTAsIDI0NCwgMTY5LCAxLCAyMTAsIDIxMiwgMTY5LCAxLCAyMTAsIDE3NywgMTgsIDE5LCAKLSAgICAyNDAsIDE3NSwgMTgsIDE5LCA3NiwgMTgsIDE5LCAyNTUsIDQ2LCAxOCwgMTksIDc0LCAxOCwgMTksIDIzNiwgNDAsIDE4LCAKLSAgICAxOSwgNzgsIDE4LCAxOSwgMjI2LCAxODcsIDE4LCAxOSwgMjExLCAxMTYsIDIyNiwgMTg3LCAxOCwgMTksIDczLCAyNDUsIAotICAgIDIxNywgMTgsIDE5LCA3MywgNzQsIDE4LCAxOSwgNjEsIDE4LCAxOSwgMjU1LCA4MiwgMTgsIDE5LCAyMTIsIDIyLCAxOCwgCi0gICAgMTksIDE1OSwgMjEyLCAyMiwgMTgsIDE5LCAyMTEsIDI1MCwgMTgsIDE5LCAxNTksIDIxMSwgMjUwLCAxOCwgMTksIDIxMSwgCi0gICAgMjQyLCAxOCwgMTksIDE1OSwgMjExLCAyNDIsIDE4LCAxOSwgMjExLCAyMjcsIDE4LCAxOSwgMTU5LCAyMTEsIDIyNywgMTgsIAotICAgIDE5LCAyMTEsIDIxNSwgMTgsIDE5LCAxNTksIDIxMSwgMjE1LCAxOCwgMTksIDIyOSwgMTk1LCAyMTEsIDIxNSwgMTgsIDE5LCAKLSAgICAyMTIsIDY1LCAxOCwgMTksIDE1OSwgMjEyLCA2NSwgMTgsIDE5LCAyMTIsIDY0LCAxOCwgMTksIDE1OSwgMjEyLCA2NCwgMTgsIAotICAgIDE5LCAyMjksIDE5NSwgMjEyLCA2NCwgMTgsIDE5LCAyNTQsIDIxMCwgMTgsIDE5LCAyMTEsIDExNiwgMjEyLCA5OCwgMTgsIAotICAgIDE5LCAyNDIsIDE4NywgMjE4LCAxMzEsIDE4LCAxOSwgNDAsIDE0MiwgMTgsIDE5LCA0MCwgMjQyLCAxNDMsIDE4LCAxOSwgCi0gICAgNDAsIDI1MSwgMTgzLCAxNjMsIDIyMiwgMjM2LCAxOCwgMTksIDQwLCAyMTYsIDE1LCAxNjMsIDIyMiwgMjM2LCAxOCwgMTksIAotICAgIDQwLCA0NCwgMTYzLCAyMjIsIDIzNiwgMTgsIDE5LCA0MCwgMjIyLCAyMzYsIDE4LCAxOSwgNDAsIDUyLCAxNDIsIDE4LCAxOSwgCi0gICAgNDAsIDUyLCAyMTksIDI1MywgNjcsIDIxOCwgOTIsIDE4LCAxOSwgNDAsIDIzMCwgMjI5LCAyNDcsIDEyOCwgMTgsIDE5LCAKLSAgICA0MCwgMjE5LCAyNTMsIDIwMywgOTEsIDE4LCAxOSwgNDAsIDIyNSwgMjUsIDE4LCAxOSwgNDAsIDEyNCwgMjE3LCA4OCwgMTgsIAotICAgIDE5LCAyNDUsIDE1OCwgMTgsIDE5LCAyMzYsIDYsIDE4LCAxOSwgMjI2LCAyMDAsIDE4LCAxOSwgMjU0LCAxMzEsIDE4LCAxOSwgCi0gICAgMjI1LCAyMjQsIDE4LCAxOSwgMjI2LCA5MSwgMTgsIDE5LCAyMjUsIDExMSwgMTgsIDE5LCAyMjUsIDc0LCAxOCwgMTksIAotICAgIDIyNSwgMTksIDE4LCAxOSwgMjI0LCAyNTIsIDE4LCAxOSwgMjExLCAxMTYsIDIyNCwgMjUyLCAxOCwgMTksIDczLCAyNDEsIAotICAgIDIyNywgMTgsIDE5LCA3MywgMjQxLCAxODcsIDE4LCAxOSwgMTkxLCAxOCwgMTksIDIyNiwgOTMsIDE4LCAxOSwgMjI0LCAKLSAgICAxMTUsIDE4LCAxOSwgMTU5LCAyMjQsIDExNSwgMTgsIDE5LCAyMjQsIDExMywgMTgsIDE5LCAxNTksIDIyNCwgMTEzLCAxOCwgCi0gICAgMTksIDIyNCwgMTEyLCAxOCwgMTksIDE1OSwgMjI0LCAxMTIsIDE4LCAxOSwgMjI0LCAxMTAsIDE4LCAxOSwgMTU5LCAyMjQsIAotICAgIDExMCwgMTgsIDE5LCAyMjQsIDEwOSwgMTgsIDE5LCAxNTksIDIyNCwgMTA5LCAxOCwgMTksIDIyNCwgMTE3LCAxOCwgMTksIAotICAgIDE1OSwgMjI0LCAxMTcsIDE4LCAxOSwgMjI0LCAxMTYsIDE4LCAxOSwgMTU5LCAyMjQsIDExNiwgMTgsIDE5LCAyMTEsIDExNiwgCi0gICAgMjI0LCAxMTYsIDE4LCAxOSwgMjI2LCAxMDksIDE4LCAxOSwgMTU5LCAyMjYsIDEwOSwgMTgsIDE5LCA3MywgMjQyLCA2NywgCi0gICAgMTgsIDE5LCAyMTcsIDIzLCAxOCwgMTksIDIxNywgMTAwLCAxOCwgMTksIDIxNiwgMTE4LCAxOCwgMTksIDIxNiwgMTA0LCAKLSAgICAxOCwgMTksIDExMiwgMTgsIDE5LCAyMTYsIDE4LCAxOCwgMTksIDIxMSwgMTE2LCAyMTYsIDE4LCAxOCwgMTksIDczLCAyNDgsIAotICAgIDg1LCAxOCwgMTksIDczLCAyNDgsIDExLCAxOCwgMTksIDIxNywgMTA2LCAxOCwgMTksIDIxNywgMTAyLCAxOCwgMTksIDIxNSwgCi0gICAgNzgsIDE4LCAxOSwgMTU5LCAyMTUsIDc4LCAxOCwgMTksIDIxNSwgNjIsIDE4LCAxOSwgMTU5LCAyMTUsIDYyLCAxOCwgMTksIAotICAgIDIxNSwgNjEsIDE4LCAxOSwgMTU5LCAyMTUsIDYxLCAxOCwgMTksIDEwNSwgMTgsIDE5LCAxNTksIDEwNSwgMTgsIDE5LCAKLSAgICAyMTUsIDU0LCAxOCwgMTksIDE1OSwgMjE1LCA1NCwgMTgsIDE5LCAyMTUsIDgwLCAxOCwgMTksIDE1OSwgMjE1LCA4MCwgMTgsIAotICAgIDE5LCAyMTUsIDc5LCAxOCwgMTksIDE1OSwgMjE1LCA3OSwgMTgsIDE5LCAyMjksIDE5NSwgMjE1LCA3OSwgMTgsIDE5LCAKLSAgICAyMTcsIDE1MywgMTgsIDE5LCAyMTUsIDE1MiwgMTgsIDE5LCAyMTUsIDEzNiwgMTgsIDE5LCAyMTUsIDEzNCwgMTgsIDE5LCAKLSAgICAyMTUsIDE1NywgMTgsIDE5LCAyMzQsIDE4OCwgMTgsIDE5LCAyMzUsIDEzLCAxOCwgMTksIDIzNCwgOTgsIDE4LCAxOSwgCi0gICAgMjM0LCA4OSwgMTgsIDE5LCAyMzQsIDM0LCAxOCwgMTksIDIzNCwgMTYsIDE4LCAxOSwgMjExLCAxMTYsIDIzNCwgMTYsIDE4LCAKLSAgICAxOSwgMTc2LCAxOCwgMTksIDIzNSwgMTYsIDE4LCAxOSwgMjMzLCAxODQsIDE4LCAxOSwgMTU5LCAyMzMsIDE4NCwgMTgsIAotICAgIDE5LCAyMzMsIDE4MiwgMTgsIDE5LCAxNTksIDIzMywgMTgyLCAxOCwgMTksIDIzMywgMTgxLCAxOCwgMTksIDE1OSwgMjMzLCAKLSAgICAxODEsIDE4LCAxOSwgMjMzLCAxODAsIDE4LCAxOSwgMTU5LCAyMzMsIDE4MCwgMTgsIDE5LCAyMzMsIDE3OSwgMTgsIDE5LCAKLSAgICAxNTksIDIzMywgMTc5LCAxOCwgMTksIDIzMywgMTg4LCAxOCwgMTksIDE1OSwgMjMzLCAxODgsIDE4LCAxOSwgMjMzLCAxODcsIAotICAgIDE4LCAxOSwgMTU5LCAyMzMsIDE4NywgMTgsIDE5LCAyMjksIDE5NSwgMjMzLCAxODcsIDE4LCAxOSwgMjM1LCAyOSwgMTgsIAotICAgIDE5LCAyMzMsIDE4OSwgMTgsIDE5LCAyMTksIDI5LCAyMzQsIDE4MiwgMTgsIDE5LCAyMTksIDI5LCAyMzQsIDkwLCAxOCwgCi0gICAgMTksIDIxOSwgMjksIDIzNCwgMjksIDE4LCAxOSwgMjE5LCAyOSwgMjM0LCAyNTQsIDE4LCAxOSwgMjUwLCAxOTgsIDE4LCAKLSAgICAxOSwgMjUxLCAzOSwgMTgsIDE5LCAyNTAsIDU5LCAxOCwgMTksIDI1MCwgNDksIDE4LCAxOSwgMjQ5LCAyNDYsIDE4LCAxOSwgCi0gICAgMjQ5LCAxODIsIDE4LCAxOSwgMjExLCAxMTYsIDI0OSwgMTgyLCAxOCwgMTksIDI1MSwgNDEsIDE4LCAxOSwgMjUxLCA0MCwgCi0gICAgMTgsIDE5LCAyNDksIDg3LCAxOCwgMTksIDE1OSwgMjQ5LCA4NywgMTgsIDE5LCAyNDksIDg1LCAxOCwgMTksIDE1OSwgMjQ5LCAKLSAgICA4NSwgMTgsIDE5LCAyNDksIDg0LCAxOCwgMTksIDE1OSwgMjQ5LCA4NCwgMTgsIDE5LCAyNDksIDgzLCAxOCwgMTksIDE1OSwgCi0gICAgMjQ5LCA4MywgMTgsIDE5LCAyNDksIDgyLCAxOCwgMTksIDE1OSwgMjQ5LCA4MiwgMTgsIDE5LCAyNDksIDg5LCAxOCwgMTksIAotICAgIDE1OSwgMjQ5LCA4OSwgMTgsIDE5LCAyNDksIDg4LCAxOCwgMTksIDE1OSwgMjQ5LCA4OCwgMTgsIDE5LCAyMjksIDE5NSwgCi0gICAgMjQ5LCA4OCwgMTgsIDE5LCAyNTEsIDc0LCAxOCwgMTksIDIyMSwgMjExLCAyMTYsIDIxMSwgMTgsIDE5LCAyMzEsIDk2LCAKLSAgICAxOCwgMTksIDIzMSwgMjQxLCAxOCwgMTksIDIzMCwgMjM1LCAxOCwgMTksIDIzMCwgMjA2LCAxOCwgMTksIDIzMCwgMTY2LCAKLSAgICAxOCwgMTksIDIzMCwgMTM3LCAxOCwgMTksIDIxMSwgMTE2LCAyMzAsIDEzNywgMTgsIDE5LCAxODYsIDE4LCAxOSwgMjMxLCAKLSAgICAyNDIsIDE4LCAxOSwgMjMwLCA0NSwgMTgsIDE5LCAxNTksIDIzMCwgNDUsIDE4LCAxOSwgMjMwLCA0MywgMTgsIDE5LCAxNTksIAotICAgIDIzMCwgNDMsIDE4LCAxOSwgMjMwLCA0MiwgMTgsIDE5LCAxNTksIDIzMCwgNDIsIDE4LCAxOSwgMjMwLCA0MSwgMTgsIDE5LCAKLSAgICAxNTksIDIzMCwgNDEsIDE4LCAxOSwgMjMwLCA0MCwgMTgsIDE5LCAxNTksIDIzMCwgNDAsIDE4LCAxOSwgMjMwLCA0NywgMTgsIAotICAgIDE5LCAxNTksIDIzMCwgNDcsIDE4LCAxOSwgMjMwLCA0NiwgMTgsIDE5LCAxNTksIDIzMCwgNDYsIDE4LCAxOSwgMjI5LCAKLSAgICAxOTUsIDIzMCwgNDYsIDE4LCAxOSwgMTk0LCAxOCwgMTksIDE1OSwgMTk0LCAxOCwgMTksIDIzMCwgMjM5LCAxOCwgMTksIAotICAgIDI1MywgMjEzLCAxOTQsIDE4LCAxOSwgMjIxLCAyMTEsIDE5NCwgMTgsIDE5LCAyMjksIDExMiwgMTgsIDE5LCAyMjksIDIyOSwgCi0gICAgMTgsIDE5LCAyMjgsIDIzOCwgMTgsIDE5LCAyMjgsIDIxMywgMTgsIDE5LCAyMjgsIDc5LCAxOCwgMTksIDIyOCwgNjksIDE4LCAKLSAgICAxOSwgMjExLCAxMTYsIDIyOCwgNjksIDE4LCAxOSwgMTk4LCAxOCwgMTksIDIyOSwgMjMwLCAxOCwgMTksIDIyNywgMTc2LCAKLSAgICAxOCwgMTksIDE1OSwgMjI3LCAxNzYsIDE4LCAxOSwgMjI3LCAxNzgsIDE4LCAxOSwgMTU5LCAyMjcsIDE3OCwgMTgsIDE5LCAKLSAgICAyMjcsIDE3NywgMTgsIDE5LCAxNTksIDIyNywgMTc3LCAxOCwgMTksIDIyOSwgMTk1LCAyMjcsIDE3NywgMTgsIDE5LCAyMzAsIAotICAgIDMwLCAxOCwgMTksIDczLCAyMjksIDg0LCAxOCwgMTksIDIyOCwgMjQzLCAxOCwgMTksIDIzMywgNjQsIDE4LCAxOSwgMjMzLCAKLSAgICAxMzksIDE4LCAxOSwgMjMyLCAyNDcsIDE4LCAxOSwgMjMyLCAyMzMsIDE4LCAxOSwgMjMyLCAxNjIsIDE4LCAxOSwgMjMyLCAKLSAgICAxMzMsIDE4LCAxOSwgMjExLCAxMTYsIDIzMiwgMTMzLCAxOCwgMTksIDIzMywgMTQxLCAxOCwgMTksIDIzMywgMTQwLCAxOCwgCi0gICAgMTksIDIzMiwgNzMsIDE4LCAxOSwgMTU5LCAyMzIsIDczLCAxOCwgMTksIDIzMiwgNzIsIDE4LCAxOSwgMTU5LCAyMzIsIDcyLCAKLSAgICAxOCwgMTksIDIzMiwgNzEsIDE4LCAxOSwgMTU5LCAyMzIsIDcxLCAxOCwgMTksIDIzMiwgNzAsIDE4LCAxOSwgMTU5LCAyMzIsIAotICAgIDcwLCAxOCwgMTksIDIzMiwgNjksIDE4LCAxOSwgMTU5LCAyMzIsIDY5LCAxOCwgMTksIDIzMiwgNzUsIDE4LCAxOSwgMTU5LCAKLSAgICAyMzIsIDc1LCAxOCwgMTksIDIzMiwgNzQsIDE4LCAxOSwgMTU5LCAyMzIsIDc0LCAxOCwgMTksIDE1NiwgMTgsIDE5LCAxNTksIAotICAgIDE1NiwgMTgsIDE5LCAxNDcsIDE1NiwgMTgsIDE5LCAyMjEsIDE4MywgMTgsIDE5LCAyMjIsIDMxLCAxOCwgMTksIDIxOSwgCi0gICAgMTkzLCAxOCwgMTksIDIxOSwgMTc3LCAxOCwgMTksIDIxOSwgNjAsIDE4LCAxOSwgMjE5LCA0MiwgMTgsIDE5LCAyMTEsIAotICAgIDExNiwgMjE5LCA0MiwgMTgsIDE5LCAyMDYsIDE4LCAxOSwgMjIyLCAzMywgMTgsIDE5LCAyMTcsIDI1MCwgMTgsIDE5LCAKLSAgICAxNTksIDIxNywgMjUwLCAxOCwgMTksIDIxNywgMjQ0LCAxOCwgMTksIDE1OSwgMjE3LCAyNDQsIDE4LCAxOSwgMjE3LCAyNDMsIAotICAgIDE4LCAxOSwgMTU5LCAyMTcsIDI0MywgMTgsIDE5LCAyMTcsIDIzOSwgMTgsIDE5LCAxNTksIDIxNywgMjM5LCAxOCwgMTksIAotICAgIDIxNywgMjM4LCAxOCwgMTksIDE1OSwgMjE3LCAyMzgsIDE4LCAxOSwgMjE3LCAyNTQsIDE4LCAxOSwgMTU5LCAyMTcsIDI1NCwgCi0gICAgMTgsIDE5LCAyMTcsIDI1MywgMTgsIDE5LCAxNTksIDIxNywgMjUzLCAxOCwgMTksIDIyOSwgMTk1LCAyMTcsIDI1MywgMTgsIAotICAgIDE5LCAyMjIsIDkzLCAxOCwgMTksIDI1MywgMjEzLCAyMjIsIDkzLCAxOCwgMTksIDIxNywgMjU1LCAxOCwgMTksIDI1MSwgCi0gICAgMjI2LCAyMjIsIDkzLCAxOCwgMTksIDIzMCwgMTMyLCAyMTksIDExMCwgMTgsIDE5LCAyMjksIDE5NSwgMjE5LCAxMDEsIDE4LCAKLSAgICAxOSwgMjI5LCAxOTUsIDIyMiwgOTEsIDE4LCAxOSwgMjI5LCAxOTUsIDIxOCwgMjM3LCAxOCwgMTksIDIyOSwgMTk1LCAyMTgsIAotICAgIDg3LCAxOCwgMTksIDIyOSwgMTk1LCAyMTksIDEwMCwgMTgsIDE5LCAyMjksIDE5NSwgMjIxLCAxODYsIDE4LCAxOSwgMjIwLCAKLSAgICA2NSwgMTgsIDE5LCAyMjAsIDM0LCAxOCwgMTksIDIyMCwgMjksIDE4LCAxOSwgMjIwLCA5LCAxOCwgMTksIDIyMCwgMywgMTgsIAotICAgIDE5LCAyMjAsIDEwNCwgMTgsIDE5LCAyMjAsIDEwMCwgMTgsIDE5LCAyMTksIDIwOCwgMTgsIDE5LCAxNTksIDIxOSwgMjA4LCAKLSAgICAxOCwgMTksIDIxOSwgMjA3LCAxOCwgMTksIDE1OSwgMjE5LCAyMDcsIDE4LCAxOSwgMjE5LCAyMDYsIDE4LCAxOSwgMTU5LCAKLSAgICAyMTksIDIwNiwgMTgsIDE5LCAyMTksIDIwNSwgMTgsIDE5LCAxNTksIDIxOSwgMjA1LCAxOCwgMTksIDIxOSwgMjA0LCAxOCwgCi0gICAgMTksIDE1OSwgMjE5LCAyMDQsIDE4LCAxOSwgMjE5LCAyMTAsIDE4LCAxOSwgMTU5LCAyMTksIDIxMCwgMTgsIDE5LCAyMTksIAotICAgIDIwOSwgMTgsIDE5LCAxNTksIDIxOSwgMjA5LCAxOCwgMTksIDIyMCwgMTA2LCAxOCwgMTksIDIxMSwgNDcsIDE4LCAxOSwgCi0gICAgMjExLCAxMDEsIDE4LCAxOSwgMjExLCA4LCAxOCwgMTksIDIxMCwgMjU1LCAxOCwgMTksIDIxMCwgMjQ0LCAxOCwgMTksIAotICAgIDIxMCwgMjI5LCAxOCwgMTksIDIxMSwgMTE2LCAyMTAsIDIyOSwgMTgsIDE5LCAxOTIsIDE4LCAxOSwgMjExLCAxMDMsIDE4LCAKLSAgICAxOSwgMjEwLCAxNzQsIDE4LCAxOSwgMTU5LCAyMTAsIDE3NCwgMTgsIDE5LCAyMTAsIDE3MywgMTgsIDE5LCAxNTksIDIxMCwgCi0gICAgMTczLCAxOCwgMTksIDIxMCwgMTcyLCAxOCwgMTksIDE1OSwgMjEwLCAxNzIsIDE4LCAxOSwgMjEwLCAxNzEsIDE4LCAxOSwgCi0gICAgMTU5LCAyMTAsIDE3MSwgMTgsIDE5LCAyMTAsIDE3MCwgMTgsIDE5LCAxNTksIDIxMCwgMTcwLCAxOCwgMTksIDIxMCwgMTc2LCAKLSAgICAxOCwgMTksIDE1OSwgMjEwLCAxNzYsIDE4LCAxOSwgMjEwLCAxNzUsIDE4LCAxOSwgMTU5LCAyMTAsIDE3NSwgMTgsIDE5LCAKLSAgICAyMjksIDE5NSwgMjEwLCAxNzUsIDE4LCAxOSwgMjExLCAxMTcsIDE4LCAxOSwgMjUyLCAxMiwgMjExLCAxMTcsIDE4LCAxOSwgCi0gICAgMTU5LCAyMTEsIDExNywgMTgsIDE5LCAyMjEsIDIxMSwgMjExLCA4LCAxOCwgMTksIDIyMywgMTMxLCAxOCwgMTksIDIyMywgCi0gICAgMjI2LCAyMjMsIDEzMSwgMTgsIDE5LCAxNTksIDIzMywgNjQsIDE4LCAxOSwgMjIzLCAxODYsIDE4LCAxOSwgMjIzLCAzOCwgCi0gICAgMTgsIDE5LCAyMjIsIDI0MiwgMTgsIDE5LCAyMjIsIDIxMywgMTgsIDE5LCAyMjIsIDE5OSwgMTgsIDE5LCAxNTksIDIzMiwgCi0gICAgMTYyLCAxOCwgMTksIDIwNSwgMTgsIDE5LCAyMjMsIDE4NywgMTgsIDE5LCAxNTksIDIzMywgMTQxLCAxOCwgMTksIDIyMiwgCi0gICAgMTEwLCAxOCwgMTksIDE1OSwgMjIyLCAxMTAsIDE4LCAxOSwgMTUzLCAxOCwgMTksIDE1OSwgMTUzLCAxOCwgMTksIDE0NywgCi0gICAgMTUzLCAxOCwgMTksIDI0NCwgMTYyLCAxOCwgMTksIDI0NCwgMjAxLCAxOCwgMTksIDI0NCwgMTI5LCAxOCwgMTksIDI0NCwgCi0gICAgMTE2LCAxOCwgMTksIDI0NCwgNTEsIDE4LCAxOSwgMjQ0LCA0MiwgMTgsIDE5LCAyNDQsIDIwNCwgMTgsIDE5LCAyNDQsIAotICAgIDIwMywgMTgsIDE5LCAyNDMsIDIxOSwgMTgsIDE5LCAxNTksIDI0MywgMjE5LCAxOCwgMTksIDI0NSwgMTQsIDE4LCAxOSwgCi0gICAgMjE2LCAxOTYsIDE4LCAxOSwgMjMwLCAyOCwgMjE2LCAxOTYsIDE4LCAxOSwgMjE2LCAxNzYsIDE4LCAxOSwgMjMwLCAyOCwgCi0gICAgMjE2LCAxNzYsIDE4LCAxOSwgMjE2LCAxNzIsIDE4LCAxOSwgMjMwLCAyOCwgMjE2LCAxNzIsIDE4LCAxOSwgMjE2LCAxNTcsIAotICAgIDE4LCAxOSwgMjE2LCAxNTQsIDE4LCAxOSwgMjE2LCAyMDksIDE4LCAxOSwgMjE2LCAyMDgsIDE4LCAxOSwgMjE2LCAxMjgsIAotICAgIDE4LCAxOSwgMTU5LCAyMTYsIDEyOCwgMTgsIDE5LCAyMTYsIDIxMSwgMTgsIDE5LCAyMTUsIDE0MywgMTgsIDE5LCAyMTUsIAotICAgIDE0MSwgMTgsIDE5LCAyMTUsIDE0MCwgMTgsIDE5LCAyMTUsIDE0NSwgMTgsIDE5LCAyMTUsIDE0NiwgMTgsIDE5LCAyMTUsIAotICAgIDUyLCAxOCwgMTksIDIxNSwgNTEsIDE4LCAxOSwgMjE1LCA1MCwgMTgsIDE5LCAyMTUsIDUzLCAxOCwgMTksIDIyNywgMTk3LCAKLSAgICAyNDEsIDI0NSwgMTgsIDE5LCAyMjcsIDE5NywgMjQxLCAxODcsIDE4LCAxOSwgMjI3LCAxOTcsIDI0MSwgMTY4LCAxOCwgMTksIAotICAgIDIyNywgMTk3LCAyNDEsIDc1LCAxOCwgMTksIDIyNywgMTk3LCAyNDEsIDYwLCAxOCwgMTksIDIyNywgMTk3LCAxNjIsIDE4LCAKLSAgICAxOSwgMjI3LCAxOTcsIDI0MiwgNTMsIDE4LCAxOSwgMjI3LCAxOTcsIDI0MiwgNjcsIDE4LCAxOSwgMjI3LCAxOTYsIDI0MiwgCi0gICAgNjcsIDE4LCAxOSwgMjQxLCAxNjEsIDE4LCAxOSwgMjI0LCA4NywgMTgsIDE5LCAyMjQsIDU2LCAxOCwgMTksIDIyNCwgNTEsIAotICAgIDE4LCAxOSwgMjI0LCA0NSwgMTgsIDE5LCAyMjQsIDQwLCAxOCwgMTksIDIyNCwgOTEsIDE4LCAxOSwgMjI0LCA5MCwgMTgsIAotICAgIDE5LCAyMjQsIDk5LCAxOCwgMTksIDIxNiwgNTYsIDE4LCAxOSwgMjE2LCA1NCwgMTgsIDE5LCAyMTYsIDUzLCAxOCwgMTksIAotICAgIDIxNiwgNTcsIDE4LCAxOSwgMTU5LCAyMjMsIDEzMSwgMTgsIDE5LCAxNTksIDIyMywgMzgsIDE4LCAxOSwgMTU5LCAyMjIsIAotICAgIDIxMywgMTgsIDE5LCAxNTksIDIwNSwgMTgsIDE5LCAyMjksIDgwLCAxOCwgMTksIDIyOSwgMzIsIDE4LCAxOSwgMjI5LCAyOCwgCi0gICAgMTgsIDE5LCAyMjksIDksIDE4LCAxOSwgMjI5LCA0LCAxOCwgMTksIDIyOSwgODIsIDE4LCAxOSwgMjI5LCA4MSwgMTgsIDE5LCAKLSAgICAyMjksIDg0LCAxOCwgMTksIDIyOCwgMTA4LCAxOCwgMTksIDIyMSwgMjExLCAyMjAsIDY1LCAxOCwgMTksIDIyMSwgMjExLCAKLSAgICAyMjAsIDM0LCAxOCwgMTksIDIyMSwgMjExLCAyMjAsIDksIDE4LCAxOSwgMjIxLCAyMTEsIDIyMCwgMTA0LCAxOCwgMTksIAotICAgIDIxMSwgMjEzLCAyMTYsIDE5NiwgMTgsIDE5LCAyMTEsIDIxMywgMjE2LCAxNzYsIDE4LCAxOSwgMjExLCAyMTMsIDIxNiwgCi0gICAgMTU3LCAxOCwgMTksIDIxMSwgMjEzLCAyMTYsIDIwOSwgMTgsIDE5LCAyMTEsIDIxMywgMjE2LCAyMTEsIDE4LCAxOSwgMjMyLCAKLSAgICAyNTQsIDE4LCAxOSwgMjMyLCAyNTMsIDE4LCAxOSwgMjMyLCAyNTIsIDE4LCAxOSwgMjMyLCAyNTEsIDE4LCAxOSwgMjMzLCAKLSAgICA0LCAxOCwgMTksIDIzMywgMywgMTgsIDE5LCAyMzMsIDUsIDE4LCAxOSwgMjE2LCAyMTAsIDIxNiwgMTk2LCAxOCwgMTksIAotICAgIDIxNiwgMjEwLCAyMTYsIDE3NiwgMTgsIDE5LCAyMTYsIDIxMCwgMjE2LCAxNzIsIDE4LCAxOSwgMjE2LCAyMTAsIDIxNiwgCi0gICAgMTU3LCAxOCwgMTksIDIxNiwgMjEwLCAyMTYsIDE1NCwgMTgsIDE5LCAyMTYsIDIxMCwgMjE2LCAyMDksIDE4LCAxOSwgMjE2LCAKLSAgICAyMTAsIDIxNiwgMjA4LCAxOCwgMTksIDIxNiwgMjEwLCAyMTYsIDIxMSwgMTgsIDE5LCAyNTQsIDE5OCwgMjUzLCAxNjYsIAotICAgIDE4LCAxOSwgMjUxLCAyMjYsIDc2LCAxOCwgMTksIDI1MSwgMjI2LCA3NCwgMTgsIDE5LCAyNTEsIDIyNiwgNzgsIDE4LCAxOSwgCi0gICAgMjUxLCAyMjYsIDYxLCAxOCwgMTksIDI1MSwgMjI2LCAyMTIsIDIyLCAxOCwgMTksIDI1MSwgMjI2LCAyMTEsIDI1MCwgMTgsIAotICAgIDE5LCAyNTEsIDIyNiwgMjExLCAyMjcsIDE4LCAxOSwgMjUxLCAyMjYsIDIxMiwgNjUsIDE4LCAxOSwgMjUxLCAyMjYsIDIyOSwgCi0gICAgMTEyLCAxOCwgMTksIDI1MSwgMjI2LCAyMjgsIDIzOCwgMTgsIDE5LCAyNTEsIDIyNiwgMjI4LCA3OSwgMTgsIDE5LCAyNTEsIAotICAgIDIyNiwgMTk4LCAxOCwgMTksIDI1MSwgMjI2LCAyMzQsIDE4OCwgMTgsIDE5LCAyNTEsIDIyNiwgMjM0LCA5OCwgMTgsIDE5LCAKLSAgICAyNTEsIDIyNiwgMjM0LCAzNCwgMTgsIDE5LCAyNTEsIDIyNiwgMTc2LCAxOCwgMTksIDIyMSwgMjExLCAyNDEsIDI0NSwgMTgsIAotICAgIDE5LCAyMjEsIDIxMSwgMjQxLCAxODcsIDE4LCAxOSwgMjIxLCAyMTEsIDI0MSwgNzUsIDE4LCAxOSwgMjIxLCAyMTEsIDE2MiwgCi0gICAgMTgsIDE5LCA3MywgMjQyLCAyMjcsIDE4LCAxOSwgNzMsIDI0MiwgMjMxLCAxOCwgMTksIDczLCAyNDIsIDI0MywgMTgsIDE5LCAKLSAgICA3MywgMjQyLCAyNDIsIDE4LCAxOSwgNzMsIDI0MiwgMjMyLCAxOCwgMTksIDczLCAyNDMsIDAsIDE4LCAxOSwgNzMsIDIyMiwgCi0gICAgMTQyLCAxOCwgMTksIDczLCAyMjIsIDIxMywgMTgsIDE5LCA3MywgMjIzLCAxMzEsIDE4LCAxOSwgNzMsIDIyMywgMTExLCAKLSAgICAxOCwgMTksIDczLCAyMjMsIDM4LCAxOCwgMTksIDczLCAyMDUsIDE4LCAxOSwgNzMsIDIxMSwgMTk1LCAxOCwgMTksIDczLCAKLSAgICAyMTEsIDIyNywgMTgsIDE5LCA3MywgMjEyLCAyMiwgMTgsIDE5LCA3MywgMjEyLCAxNywgMTgsIDE5LCA3MywgMjExLCAyNTAsIAotICAgIDE4LCAxOSwgNzMsIDIxMiwgNjUsIDE4LCAxOSwgNzMsIDI0MCwgMjAxLCAxOCwgMTksIDczLCAyNDAsIDIwMiwgMTgsIDE5LCAKLSAgICA3MywgMjQwLCAyMDUsIDE4LCAxOSwgNzMsIDI0MCwgMjA0LCAxOCwgMTksIDczLCAyNDAsIDIwMywgMTgsIDE5LCA3MywgCi0gICAgMjQwLCAyMDcsIDE4LCAxOSwgNzMsIDIxNiwgMTM3LCAxOCwgMTksIDczLCAyMTYsIDE1NywgMTgsIDE5LCA3MywgMjE2LCAKLSAgICAxOTYsIDE4LCAxOSwgNzMsIDIxNiwgMTk1LCAxOCwgMTksIDczLCAyMTYsIDE3NiwgMTgsIDE5LCA3MywgMjE2LCAyMDksIAotICAgIDE4LCAxOSwgNzMsIDIxNSwgMTI0LCAxOCwgMTksIDczLCAyMTUsIDEzNCwgMTgsIDE5LCA3MywgMjE1LCAxNTIsIDE4LCAxOSwgCi0gICAgNzMsIDIxNSwgMTUxLCAxOCwgMTksIDczLCAyMTUsIDEzNiwgMTgsIDE5LCA3MywgMjE1LCAxNTcsIDE4LCAxOSwgNzMsIAotICAgIDIyNCwgMTUzLCAxOCwgMTksIDczLCAyMjUsIDE5LCAxOCwgMTksIDczLCAyMjUsIDIyNCwgMTgsIDE5LCA3MywgMjI1LCAKLSAgICAyMTQsIDE4LCAxOSwgNzMsIDIyNSwgMTExLCAxOCwgMTksIDczLCAxOTEsIDE4LCAxOSwgNzMsIDIyNiwgMTA5LCAxOCwgMTksIAotICAgIDczLCAyNDIsIDEyMCwgMTgsIDE5LCA3MywgMjQyLCAxODEsIDE4LCAxOSwgNzMsIDI0MywgNjksIDE4LCAxOSwgNzMsIDI0MywgCi0gICAgNjIsIDE4LCAxOSwgNzMsIDI0MiwgMjIxLCAxOCwgMTksIDczLCAyNDMsIDE0MiwgMTgsIDE5LCA3MywgMjM0LCAxMDYsIDE4LCAKLSAgICAxOSwgNzMsIDIzNCwgMTExLCAxOCwgMTksIDczLCAyMzQsIDEyNSwgMTgsIDE5LCA3MywgMjM0LCAxMjQsIDE4LCAxOSwgNzMsIAotICAgIDIzNCwgMTE4LCAxOCwgMTksIDczLCAyMzQsIDEzOCwgMTgsIDE5LCA3MywgMjM0LCA0NywgMTgsIDE5LCA3MywgMjM0LCA0OCwgCi0gICAgMTgsIDE5LCA3MywgMjM0LCA1MSwgMTgsIDE5LCA3MywgMjM0LCA1MCwgMTgsIDE5LCA3MywgMjM0LCA0OSwgMTgsIDE5LCAKLSAgICA3MywgMjM0LCA1MiwgMTgsIDE5LCA3MywgMjM0LCA1MywgMTgsIDE5LCA3MywgMjI3LCAyNDIsIDE4LCAxOSwgNzMsIDIyOCwgCi0gICAgNzksIDE4LCAxOSwgNzMsIDIyOSwgMTEyLCAxOCwgMTksIDczLCAyMjksIDEwOCwgMTgsIDE5LCA3MywgMjI4LCAyMzgsIDE4LCAKLSAgICAxOSwgNzMsIDE5OCwgMTgsIDE5LCA3MywgMjMwLCAxMDcsIDE4LCAxOSwgNzMsIDIzMCwgMTY2LCAxOCwgMTksIDczLCAyMzEsIAotICAgIDk2LCAxOCwgMTksIDczLCAyMzEsIDg1LCAxOCwgMTksIDczLCAyMzAsIDIzNSwgMTgsIDE5LCA3MywgMTg2LCAxOCwgMTksIAotICAgIDczLCAyMTAsIDIxMiwgMTgsIDE5LCA3MywgMjEwLCAyNDQsIDE4LCAxOSwgNzMsIDIxMSwgNDcsIDE4LCAxOSwgNzMsIDIxMSwgCi0gICAgNDQsIDE4LCAxOSwgNzMsIDIxMSwgOCwgMTgsIDE5LCA3MywgMTkyLCAxOCwgMTksIDczLCAyMzUsIDU3LCAxOCwgMTksIAotICAgIDIyMSwgMjExLCAyMzUsIDU3LCAxOCwgMTksIDczLCAyMzUsIDc0LCAxOCwgMTksIDczLCAyMzUsIDEzMiwgMTgsIDE5LCA3MywgCi0gICAgMjM1LCAxMzAsIDE4LCAxOSwgNzMsIDIzNSwgMTE0LCAxOCwgMTksIDIyMSwgMjExLCAyMzUsIDExNCwgMTgsIDE5LCA3MywgCi0gICAgMjM1LCAxNDcsIDE4LCAxOSwgNzMsIDIzNSwgODcsIDE4LCAxOSwgNzMsIDIzNSwgOTEsIDE4LCAxOSwgNzMsIDIzNSwgMTAxLCAKLSAgICAxOCwgMTksIDczLCAyMzUsIDEwMCwgMTgsIDE5LCA3MywgMjM1LCA5OSwgMTgsIDE5LCA3MywgMjM1LCAxMDIsIDE4LCAxOSwgCi0gICAgNzMsIDIzMiwgMTAzLCAxOCwgMTksIDczLCAyMzIsIDE2MiwgMTgsIDE5LCA3MywgMjMzLCA2NCwgMTgsIDE5LCA3MywgMjMzLCAKLSAgICA1NiwgMTgsIDE5LCA3MywgMjMyLCAyNDcsIDE4LCAxOSwgNzMsIDIzMywgMTQxLCAxOCwgMTksIDczLCAyNDcsIDE1NywgMTgsIAotICAgIDE5LCA3MywgMjQ3LCAxNTgsIDE4LCAxOSwgNzMsIDI0NywgMTYzLCAxOCwgMTksIDczLCAyNDcsIDE2MiwgMTgsIDE5LCA3MywgCi0gICAgMjQ3LCAxNTksIDE4LCAxOSwgNzMsIDI0NywgMTY0LCAxOCwgMTksIDczLCAyMzIsIDI1MCwgMTgsIDE5LCA3MywgMjMyLCAKLSAgICAyNTIsIDE4LCAxOSwgNzMsIDIzMywgMCwgMTgsIDE5LCA3MywgMjMyLCAyNTUsIDE4LCAxOSwgNzMsIDIzMiwgMjU0LCAxOCwgCi0gICAgMTksIDczLCAyMzMsIDQsIDE4LCAxOSwgNzMsIDIxNiwgNTEsIDE4LCAxOSwgNzMsIDIxNiwgNTMsIDE4LCAxOSwgNzMsIAotICAgIDIxNiwgNTYsIDE4LCAxOSwgNzMsIDIxNiwgNTUsIDE4LCAxOSwgNzMsIDIxNiwgNTQsIDE4LCAxOSwgNzMsIDIxNiwgNTcsIAotICAgIDE4LCAxOSwgNzMsIDIxNiwgNDYsIDE4LCAxOSwgNzMsIDIxNiwgNDcsIDE4LCAxOSwgNzMsIDIxNiwgNTksIDE4LCAxOSwgCi0gICAgNzMsIDIxNiwgNTgsIDE4LCAxOSwgNzMsIDIxNiwgNDgsIDE4LCAxOSwgNzMsIDIxNiwgNjAsIDE4LCAxOSwgNzMsIDIxMCwgCi0gICAgMTMsIDE4LCAxOSwgNzMsIDIxMCwgMjMsIDE4LCAxOSwgNzMsIDIxMCwgOTQsIDE4LCAxOSwgNzMsIDIxMCwgOTIsIDE4LCAKLSAgICAxOSwgNzMsIDIxMCwgNDQsIDE4LCAxOSwgNzMsIDIxMCwgMTE2LCAxOCwgMTksIDczLCAyMTAsIDE1OSwgMTgsIDE5LCA3MywgCi0gICAgNjUsIDIxMCwgMTU5LCAxOCwgMTksIDczLCAyNDYsIDM2LCAxOCwgMTksIDczLCAyNDYsIDM3LCAxOCwgMTksIDczLCAyNDYsIAotICAgIDQ0LCAxOCwgMTksIDczLCAyNDYsIDQzLCAxOCwgMTksIDczLCAyNDYsIDM5LCAxOCwgMTksIDczLCAyNDYsIDQ2LCAxOCwgCi0gICAgMTksIDczLCAyMTgsIDg0LCAxOCwgMTksIDczLCAyMTksIDYwLCAxOCwgMTksIDczLCAyMjEsIDE4MywgMTgsIDE5LCA3MywgCi0gICAgMjIxLCAxNzIsIDE4LCAxOSwgNzMsIDIxOSwgMTkzLCAxOCwgMTksIDczLCAyMDYsIDE4LCAxOSwgNzMsIDIxOSwgMjI3LCAKLSAgICAxOCwgMTksIDczLCAyMjAsIDksIDE4LCAxOSwgNzMsIDIyMCwgNjUsIDE4LCAxOSwgNzMsIDIyMCwgNjMsIDE4LCAxOSwgNzMsIAotICAgIDIyMCwgMzQsIDE4LCAxOSwgNzMsIDIyMCwgMTA0LCAxOCwgMTksIDczLCAyMjAsIDEwNiwgMTgsIDE5LCA3MywgMjE1LCAKLSAgICAxNjQsIDE4LCAxOSwgNzMsIDIxNSwgMTY3LCAxOCwgMTksIDczLCAyMTUsIDE3OSwgMTgsIDE5LCA3MywgMjE1LCAxNzgsIAotICAgIDE4LCAxOSwgNzMsIDIxNSwgMTY4LCAxOCwgMTksIDczLCAyMTUsIDE4NCwgMTgsIDE5LCA3MywgMjUwLCA3NywgMTgsIDE5LCAKLSAgICA3MywgMjUwLCA5NCwgMTgsIDE5LCA3MywgMjUwLCAxMzksIDE4LCAxOSwgNzMsIDI1MCwgMTM2LCAxOCwgMTksIDczLCAyNTAsIAotICAgIDExOCwgMTgsIDE5LCA3MywgMjUwLCAxNjUsIDE4LCAxOSwgNzMsIDIxNSwgMTI3LCAxOCwgMTksIDczLCAyMTUsIDEyOCwgCi0gICAgMTgsIDE5LCA3MywgMjE1LCAxMzEsIDE4LCAxOSwgNzMsIDIxNSwgMTMwLCAxOCwgMTksIDczLCAyMTUsIDEyOSwgMTgsIDE5LCAKLSAgICA3MywgMjE1LCAxMzIsIDE4LCAxOSwgMjUwLCAxMTksIDUwLCAxOCwgMTksIDI0MywgMjM2LCAyMTgsIDEzMSwgMTgsIDE5LCAKLSAgICAyMjQsIDgzLCAxOCwgMTksIDIyOSwgNzgsIDE4LCAxOSwgMjI4LCAxMDUsIDE4LCAxOSwgMjI4LCAxMDQsIDE4LCAxOSwgCi0gICAgMjI4LCAxMDMsIDE4LCAxOSwgMjI4LCAxMDIsIDE4LCAxOSwgMjI4LCAxMDcsIDE4LCAxOSwgMjI4LCAxMDYsIDE4LCAxOSwgCi0gICAgMjExLCAyMTMsIDIxNiwgMTI2LCAxOCwgMTksIDIxMSwgMjEzLCAyMTYsIDEyNSwgMTgsIDE5LCAyMTEsIDIxMywgMjE2LCAKLSAgICAxMjQsIDE4LCAxOSwgMjExLCAyMTMsIDIxNiwgMTIzLCAxOCwgMTksIDIxMSwgMjEzLCAyMTYsIDEyMiwgMTgsIDE5LCAyMTEsIAotICAgIDIxMywgMjE2LCAxMjksIDE4LCAxOSwgMjExLCAyMTMsIDIxNiwgMTI4LCAxOCwgMTksIDIxMSwgMjEzLCA0MCwgMjE2LCAKLSAgICAyMTEsIDE4LCAxOSwgMjUxLCAyMjYsIDIxMiwgOTgsIDIyNiwgMjMwLCAyMTksIDIxLCA3OSwgMjI2LCAyMzAsIDEsIDI1MiwgCi0gICAgNTYsIDIyNiwgMjMwLCAxLCAyMzIsIDkyLCAyMjYsIDIzMCwgMSwgMjQ0LCAxNTksIDIyNiwgMjMwLCAxLCAyMjIsIDE3LCAKLSAgICAyMjYsIDIzMCwgMSwgMjI4LCAxOTgsIDIyNiwgMjMwLCAxLCAyMTQsIDIyNiwgMjI2LCAyMzAsIDEsIDI0OCwgMjA1LCAyMjYsIAotICAgIDIzMCwgMSwgMjE2LCA4MSwgMjI2LCAyMzAsIDEsIDI0OSwgMjM3LCAyMjYsIDIzMCwgMSwgMjUwLCAxODgsIDIyNiwgMjMwLCAKLSAgICAxLCAyMzAsIDk2LCAyMjYsIDIzMCwgMSwgMjQyLCAxNjMsIDIyNiwgMjMwLCAxLCAyMjksIDY4LCAyMjYsIDIzMCwgMSwgCi0gICAgMjE4LCAxMjQsIDIyNiwgMjMwLCAxLCAyMjIsIDEzNywgMjI2LCAyMzAsIDEsIDI1NCwgMjA3LCAyMjYsIDIzMCwgMSwgMjI2LCAKLSAgICAxOTEsIDIyNiwgMjMwLCAxLCAyMTQsIDE1MCwgMjI2LCAyMzAsIDEsIDI0NSwgMjM5LCAyMjYsIDIzMCwgMSwgMjM1LCAxOTUsIAotICAgIDIyNiwgMjMwLCAxLCAyNDUsIDI0MCwgMjI2LCAyMzAsIDEsIDIyNiwgMTYyLCAyMjYsIDIzMCwgMSwgMjE0LCAyMDYsIDIyNiwgCi0gICAgMjMwLCAxLCAyMzYsIDQ2LCAyMjYsIDIzMCwgMSwgMjQ1LCAyMzcsIDIyNiwgMjMwLCAxLCAyMjUsIDIwNSwgMjI2LCAyMzAsIAotICAgIDI0NCwgMTU4LCA3OSwgMjI2LCAyMzAsIDIyMywgNTIsIDI0NCwgMTU4LCA3OSwgMTc4LCAxLCAyNDQsIDE0OSwgMjQ0LCAKLSAgICAxNDEsIDI0NCwgMTYzLCAyNDUsIDE0LCAxNzgsIDEsIDIxNCwgMTA1LCAxNzgsIDEsIDIxNCwgMTM1LCAyMTQsIDE1MSwgNjksIAotICAgIDE3OCwgMSwgMjEwLCAyMTQsIDE3OCwgMSwgMjExLCAxMTcsIDE3OCwgMSwgMjEyLCA5OCwgMTc4LCAxLCAyMTYsIDEzMSwgCi0gICAgMjE2LCAxMzAsIDIxNiwgMTUyLCAxNzgsIDEsIDI0NSwgNjcsIDE3OCwgMSwgMjU0LCAxMDEsIDYxLCAxNzgsIDEsIDIyNiwgCi0gICAgMTQ3LCA3OCwgMTc4LCAxLCAyNTUsIDI2LCA2MSwgMTc4LCAxLCAyNTQsIDIzNiwgMTc4LCAxLCAyMzIsIDEzOSwgNzgsIAotICAgIDE3OCwgMSwgMjE5LCAyNDYsIDc4LCAxNzgsIDEsIDc4LCAxNzgsIDEsIDIyNiwgMjM4LCAxNzgsIDEsIDIyNiwgMjAwLCAKLSAgICAxNzgsIDEsIDIyMywgMTY3LCAyMjMsIDE4MCwgMjIzLCA5NywgMTUzLCAxNzgsIDEsIDIzNCwgMTk5LCAxNzgsIDEsIDI1MCwgCi0gICAgMTg1LCAxNzgsIDEsIDIzNCwgMjAwLCAyMzUsIDI5LCAxNzgsIDEsIDI0MywgMjA5LCAxNzgsIDEsIDI0NSwgMTQ2LCAxNzgsIAotICAgIDEsIDI0MywgNjUsIDI0MiwgNzMsIDI0MywgMjA5LCAxNzgsIDEsIDI0MywgMTAzLCAxNzgsIDEsIDIxMSwgMTg4LCAyMTEsIAotICAgIDE4MiwgMjEyLCA5OCwgMTc4LCAxLCAyNDIsIDQ1LCAyNDIsIDY3LCAxNzgsIDEsIDI0MiwgNDksIDI0MiwgNjcsIDE3OCwgMSwgCi0gICAgMjMyLCAxNDEsIDI0MiwgNjcsIDE3OCwgMSwgMjE5LCAyNDksIDI0MiwgNjcsIDE3OCwgMSwgMjI5LCAxOTAsIDIyNywgMTYxLCAKLSAgICAyMjksIDE5MSwgMjMwLCAzMCwgMTc4LCAxLCAyMTksIDI0NywgMjMwLCAzMCwgMTc4LCAxLCAyNDYsIDEyMywgMTc4LCAxLCAKLSAgICAyMzUsIDE3NSwgMjM1LCAxNzksIDIzNSwgMTY4LCA3NCwgMTc4LCAxLCA3NiwgMTc4LCAxLCAyMzUsIDEyMywgMjM1LCAxNTAsIAotICAgIDE3OCwgMSwgMjQzLCA1MCwgMTc4LCAxLCAyMzIsIDE0MiwgMjU0LCAyNTIsIDE3OCwgMSwgMjE5LCAyNTEsIDYxLCAxNzgsIAotICAgIDEsIDIzNSwgMTYwLCAyNDUsIDEyMSwgMTc4LCAxLCAyMjUsIDE2NywgMjI1LCAxODksIDIyNiwgMTA5LCAxNzgsIDEsIDI1NCwgCi0gICAgMTcyLCAyNDUsIDExOSwgMTc4LCAxLCAyMTksIDI2LCAyMjIsIDkzLCAxNzgsIDEsIDIxOSwgMTgxLCAyMzIsIDEzOCwgMjIyLCAKLSAgICA5MywgMTc4LCAxLCAyMTksIDI0NSwgMjIyLCA5MywgMTc4LCAxLCAyNTEsIDc0LCAxNzgsIDEsIDIxMCwgMTU5LCAxNzgsIDEsIAotICAgIDIxNiwgNjQsIDIxNiwgNzQsIDIxNSwgNDEsIDIxNywgMTUzLCAxNzgsIDEsIDIxOSwgMjQ0LCAyMTcsIDE1MywgMTc4LCAxLCAKLSAgICAyNDksIDY4LCAxNzgsIDEsIDI1MiwgMzksIDI1MiwgNDIsIDI1MSwgMjMyLCAyNTMsIDE2NiwgMTc4LCAxLCAyMTksIDI1MCwgCi0gICAgMjUzLCAxNjYsIDE3OCwgMSwgMjQ2LCAxMjIsIDE3OCwgMSwgMjI2LCAxNzUsIDE3OCwgMSwgMjQ1LCAyMDQsIDI0NSwgMjA2LCAKLSAgICA3NiwgMTc4LCAxLCAyMzEsIDE4MywgMjMxLCAxOTEsIDE5NCwgMTc4LCAxLCAyMzIsIDE0MCwgMTk0LCAxNzgsIDEsIDIxOSwgCi0gICAgMjQ4LCAxOTQsIDE3OCwgMSwgMjMzLCA3OSwgMjMzLCAxMjAsIDIzMiwgMTQ5LCAxNTYsIDE3OCwgMSwgMjQ2LCAxMjQsIAotICAgIDE3OCwgMSwgMjM1LCAyMzcsIDE3OCwgMSwgMjM1LCAyMzgsIDE3OCwgMSwgMjQ4LCAyMTgsIDI0OCwgMjIzLCAyNDksIDY4LCAKLSAgICAxNzgsIDEsIDIyNiwgMTQyLCAyNDUsIDY2LCA3OCwgMTc4LCAxLCAyNDUsIDIzNSwgMTc4LCAxLCAyMzUsIDE5NCwgMTc4LCAKLSAgICAxLCAyNDksIDg2LCAxNzgsIDEsIDI1MSwgMjUsIDE3OCwgMSwgMjUwLCAxOTcsIDE3OCwgMSwgMjE4LCAxNjMsIDE3OCwgMSwgCi0gICAgMjMyLCAxMzcsIDE3OCwgMSwgMjE5LCAyNDMsIDE3OCwgMSwgMjQwLCAxMTcsIDE3OCwgMSwgMjI0LCA5OSwgMTc4LCAxLCAKLSAgICAyMTEsIDE3OCwgMTc4LCAyMTksIDE1NywgMjI0LCAxNDMsIDE3OCwgMjMwLCA5MCwgMjI0LCAxNDMsIDE3OCwgMjQ5LCAxMzksIAotICAgIDIyNCwgMTQzLCAxNzgsIDI1NCwgMTQsIDg3LCAxNzgsIDIxNSwgODIsIDg3LCAxNzgsIDI1MiwgNTQsIDg3LCAyMTcsIDg0LCAKLSAgICAxLCA2MSwgMjE3LCA4NCwgMSwgNzQsIDIxNywgODQsIDEsIDY5LCAyMTcsIDg0LCAxLCAxNzYsIDIxNywgODQsIDEsIDI0MywgCi0gICAgMTQyLCAyMTcsIDg0LCAxLCAyMjksIDgyLCAyMTcsIDg0LCAxLCAyMTcsIDEwNiwgMjE3LCA4NCwgMSwgMjQ4LCAyMjksIAotICAgIDIxNywgODQsIDEsIDE5OCwgMjE3LCA4NCwgMSwgMTkxLCAyMTcsIDg0LCAxLCAyNTIsIDE5OSwgMjE3LCA4NCwgMSwgMTg2LCAKLSAgICAyMTcsIDg0LCAxLCAxOTIsIDIxNywgODQsIDEsIDIzMywgMTQxLCAyMTcsIDg0LCAxLCAyMTIsIDY1LCAyMTcsIDg0LCAxLCAKLSAgICAyMDYsIDIxNywgODQsIDEsIDE2MiwgMjE3LCA4NCwgMjUsIDUsIDc0LCAyMTcsIDg0LCAyNSwgNSwgNjksIDIxNywgODQsIDUsIAotICAgIDIxMywgMTUyLCAyNDIsIDE0LCAxLCA2MSwgMjQyLCAxNCwgMSwgNzQsIDI0MiwgMTQsIDEsIDY5LCAyNDIsIDE0LCAxLCAKLSAgICAxNzYsIDI0MiwgMTQsIDEsIDI0MywgMTQyLCAyNDIsIDE0LCAxLCAyMjksIDgyLCAyNDIsIDE0LCAxLCAyMTcsIDEwNiwgCi0gICAgMjQyLCAxNCwgMSwgMjQ4LCAyMjksIDI0MiwgMTQsIDEsIDE5OCwgMjQyLCAxNCwgMSwgMTkxLCAyNDIsIDE0LCAxLCAyNTIsIAotICAgIDE5OSwgMjQyLCAxNCwgMSwgMTg2LCAyNDIsIDE0LCAxLCAxOTIsIDI0MiwgMTQsIDEsIDIwNSwgMjQyLCAxNCwgMSwgMjMzLCAKLSAgICAxNDEsIDI0MiwgMTQsIDEsIDIxMiwgNjUsIDI0MiwgMTQsIDEsIDIwNiwgMjQyLCAxNCwgMSwgMTYyLCAyNDIsIDE0LCAyNSwgCi0gICAgNSwgNzQsIDI0MiwgMTQsIDI1LCA1LCA2OSwgMjQyLCAxNCwgNSwgMjI2LCA1MywgMjI1LCAxMjksIDIxOSwgMTU3LCAyMjQsIAotICAgIDE0MywgMjI1LCAxMjksIDUyLCAyMjQsIDE0MywgMjUxLCAxMjgsIDEsIDYxLCAyNTEsIDEyOCwgMSwgNzQsIDI1MSwgMTI4LCAKLSAgICAxLCA2OSwgMjUxLCAxMjgsIDEsIDE3NiwgMjUxLCAxMjgsIDEsIDI0MywgMTQyLCAyNTEsIDEyOCwgMSwgMjI5LCA4MiwgCi0gICAgMjUxLCAxMjgsIDEsIDIxNywgMTA2LCAyNTEsIDEyOCwgMSwgMjQ4LCAyMjksIDI1MSwgMTI4LCAxLCAxOTgsIDI1MSwgMTI4LCAKLSAgICAxLCAxOTEsIDI1MSwgMTI4LCAxLCAyNTIsIDE5OSwgMjUxLCAxMjgsIDEsIDE4NiwgMjUxLCAxMjgsIDEsIDE5MiwgMjUxLCAKLSAgICAxMjgsIDEsIDIwNSwgMjUxLCAxMjgsIDEsIDIzMywgMTQxLCAyNTEsIDEyOCwgMSwgMjEyLCA2NSwgMjUxLCAxMjgsIDEsIAotICAgIDIwNiwgMjUxLCAxMjgsIDEsIDE2MiwgMjUxLCAxMjgsIDI1LCA1LCA3NCwgMjUxLCAxMjgsIDI1LCA1LCA2OSwgMjE3LCA4MywgCi0gICAgMSwgNjEsIDIxNywgODMsIDEsIDc0LCAyMTcsIDgzLCAxLCA2OSwgMjE3LCA4MywgMSwgMTc2LCAyMTcsIDgzLCAxLCAyNDMsIAotICAgIDE0MiwgMjE3LCA4MywgMSwgMjI5LCA4MiwgMjE3LCA4MywgMSwgMjE3LCAxMDYsIDIxNywgODMsIDEsIDI0OCwgMjI5LCAKLSAgICAyMTcsIDgzLCAxLCAxOTgsIDIxNywgODMsIDEsIDE5MSwgMjE3LCA4MywgMSwgMjUyLCAxOTksIDIxNywgODMsIDEsIDE4NiwgCi0gICAgMjE3LCA4MywgMSwgMTkyLCAyMTcsIDgzLCAxLCAyMzMsIDE0MSwgMjE3LCA4MywgMSwgMjEyLCA2NSwgMjE3LCA4MywgMSwgCi0gICAgMjA2LCAyMTcsIDgzLCAyNSwgNSwgNzQsIDIxNywgODMsIDI1LCA1LCA2OSwgNzAsIDEsIDE3NiwgNzAsIDEsIDIzNCwgMTM4LCAKLSAgICA3MCwgMSwgMjM0LCAzNCwgNzAsIDEsIDIzNCwgMTExLCA3MCwgMSwgMjI5LCA5LCA3MCwgMSwgMjUxLCA0MSwgNzAsIDEsIAotICAgIDI1MCwgMTY1LCA3MCwgMSwgMjQ5LCAyNDYsIDcwLCAxLCAyNTAsIDk0LCA3MCwgMSwgMjI3LCAxMzgsIDcwLCAxLCAyNDgsIAotICAgIDIyOSwgNzAsIDEsIDIxNSwgMTQ1LCA3MCwgMSwgMjQ3LCAxNTMsIDcwLCAxLCAyMTUsIDE0MCwgNzAsIDEsIDIyOCwgODUsIAotICAgIDcwLCAxLCAyMTcsIDEwNiwgNzAsIDEsIDIxNiwgMjA5LCA3MCwgMSwgMTEyLCA3MCwgMSwgMjE2LCAxNTcsIDcwLCAxLCAKLSAgICAyMjgsIDc5LCA3MCwgMSwgMjUyLCAxOTksIDcwLCAxLCAyMjUsIDE1MCwgNzAsIDEsIDIyNSwgMTksIDcwLCAxLCAyMjUsIAotICAgIDEyNCwgNzAsIDEsIDIzMCwgMTY2LCA3MCwgMSwgMjEwLCAyNDQsIDcwLCAxLCAyMjIsIDIxMywgNzAsIDEsIDIzMiwgMTYyLCAKLSAgICA3MCwgMSwgMjEzLCAxMzgsIDcwLCAxLCAyMjAsIDEwNCwgNzAsIDEsIDIxOCwgMTg2LCA3MCwgMSwgMjA2LCA3MCwgMSwgCi0gICAgMTYyLCA3MCwgMSwgMjMzLCAxNDEsIDcwLCAxLCAyMjQsIDkxLCA3MCwgMjM1LCAyNTAsIDI1LCAyMjQsIDc3LCA3MCwgMjM1LCAKLSAgICAyNTAsIDI1LCAyMjQsIDkwLCA3MCwgMjM1LCAyNTAsIDI1LCAyMjQsIDU2LCA3MCwgMjM1LCAyNTAsIDI1LCAyMjQsIDUxLCAKLSAgICA3MCwgMjM1LCAyNTAsIDI1LCAyMjQsIDMzLCA3MCwgMjM1LCAyNTAsIDI1LCAyMjQsIDUsIDcwLCAyMzUsIDI1MCwgMjUsIAotICAgIDIyMywgMjQ5LCA3MCwgMjM1LCAyNTAsIDI1LCAyMjMsIDI0OCwgNzAsIDIzNSwgMjUwLCAyNSwgMjIyLCAxMDIsIDcwLCAKLSAgICAyMzUsIDI1MCwgMjUsIDIyMiwgOTUsIDcwLCAyMzUsIDI1MCwgMjUsIDIzMiwgNjcsIDcwLCAyMzUsIDI1MCwgMjUsIDIzMiwgCi0gICAgNTcsIDcwLCAyMzUsIDI1MCwgMjUsIDIyNCwgNzIsIDcwLCAyMzUsIDI1MCwgMjUsIDIyNCwgODMsIDcwLCAyMzUsIDI1MCwgCi0gICAgMjUsIDIyNCwgNDEsIDIxNSwgNDksIDExMSwgNzAsIDIzNSwgMjUwLCAyNSwgMjI0LCA0MSwgMjE1LCA0OSwgMTA1LCA3MCwgCi0gICAgMjM1LCAyNTAsIDI1LCAyMjQsIDczLCA3MCwgMjUsIDIzNSwgMjM2LCAyNTQsIDUzLCA3MCwgMjUsIDIzNSwgMjM2LCAyNTUsIAotICAgIDgyLCA3MCwgMjUsIDUsIDI1NSwgODIsIDcwLCAyNSwgNSwgNzQsIDcwLCAyNSwgNSwgMjM2LCA0MCwgNzAsIDI1LCA1LCAKLSAgICAyMTEsIDExNywgNzAsIDI1LCA1LCAyMTAsIDE2OSwgNzAsIDI1LCA1LCA2OSwgNzAsIDI1LCA1LCAyMTQsIDExOCwgNzAsIAotICAgIDI1LCA1LCAyMTQsIDIyOSwgNzAsIDI1LCA1LCAyMjYsIDIzOCwgNzAsIDI1LCA1LCAxOTIsIDcwLCAyNSwgNSwgMjM2LCA2NywgCi0gICAgNzAsIDI1LCA1LCA3NiwgNzAsIDI1LCA1LCAyNTQsIDI1MiwgNzAsIDI1LCA1LCAyNTQsIDIxMCwgNzAsIDI1LCA1LCAyMjYsIAotICAgIDE4NywgNzAsIDI1LCA1LCAyNTMsIDIwMCwgNzAsIDUsIDIyOCwgMjExLCA3MCwgNSwgMjIzLCAxMjksIDcwLCA1LCAyMTAsIAotICAgIDE4MCwgNzAsIDUsIDIzMCwgNTcsIDcwLCA1LCAyMTUsIDIxNCwgNzAsIDUsIDI1MiwgMTUxLCA3MCwgNSwgMjIyLCAyMDgsIAotICAgIDcwLCA1LCAyMTYsIDQxLCA3MCwgNSwgMjM0LCAyNDcsIDcwLCA1LCAyNTQsIDIxMiwgNzAsIDUsIDIyMSwgMjQ2LCAyMjEsIAotICAgIDI0MCwgNzAsIDUsIDIxMywgMTQ5LCA3MCwgNSwgMjQ5LCAyNDAsIDcwLCA1LCAyNTIsIDEyNSwgNzAsIDUsIDIzNCwgMTMxLCAKLSAgICA3MCwgNSwgMjUyLCAxNDUsIDcwLCA1LCAyNTEsIDE3LCAyMjUsIDc1LCAyMzMsIDE5MywgNzAsIDUsIDIzMywgMzYsIDIxNiwgCi0gICAgMTgsIDcwLCA1LCAyNTIsIDI4LCA3MCwgNSwgMjI1LCAxMjYsIDIzMCwgMTA0LCA3MCwgNSwgMjM0LCAxNSwgNzAsIDI0OSwgCi0gICAgMTA2LCAxNiwgMjIzLCAzMSwgNzAsIDUsIDI1MywgMTgyLCA3MCwgNSwgMjUzLCAyMDMsIDcwLCAyMSwgMjEwLCA4NiwgNzAsIAotICAgIDIxLCAxMTEsIDcwLCAyMSwgMTA1LCA3MCwgMjEsIDE1OCwgNzAsIDIxLCAxNjEsIDcwLCAyMSwgMTkwLCA3MCwgMjEsIDE5NSwgCi0gICAgNzAsIDIxLCAxOTksIDcwLCAyMSwgMTk2LCA3MCwgMjEsIDIwMSwgNzAsIDE2LCAyMzMsIDM2LCAyNTMsIDIwNSwgMjE5LCAKLSAgICA0NSwgNzAsIDE2LCAyMzMsIDM2LCAyNTMsIDIwNSwgMjMwLCA3NiwgNzAsIDE2LCAyMzMsIDM2LCAyNTMsIDIwNSwgMjI1LCAKLSAgICA3NCwgNzAsIDE2LCAyMzMsIDM2LCAyNTMsIDIwNSwgMjUyLCA1NywgNzAsIDE2LCAyMzMsIDM2LCAyNTMsIDIwNSwgMjUxLCAKLSAgICAxMTEsIDcwLCAxNiwgMjMzLCAzNiwgMjUzLCAyMDUsIDIyNCwgMjE4LCA3MCwgMTYsIDIzMywgMzYsIDI1MywgMjA1LCAyMjQsIAotICAgIDIxMiwgNzAsIDE2LCAyMzMsIDM2LCAyNTMsIDIwNSwgMjI0LCAyMTAsIDcwLCAxNiwgMjMzLCAzNiwgMjUzLCAyMDUsIDIyNCwgCi0gICAgMjE2LCA3MCwgMTYsIDIzMywgMzYsIDI1MywgMjA1LCAyMjQsIDIxNCwgODMsIDI1MSwgMjQ0LCA4MywgMjQ1LCAxNzEsIDgzLCAKLSAgICAyNDksIDIyNywgODMsIDI0MywgMjM2LCAyMTgsIDEzMSwgODMsIDI0OSwgMjM0LCA4MywgMjQ0LCAxOSwgMjQ3LCAxMjYsIAotICAgIDgzLCAyMTYsIDQwLCAyMTksIDU0LCAyNDAsIDE3NSwgODMsIDIxOSwgMTkyLCAzLCAyNTEsIDE4MCwgMjMxLCAxNTksIDgzLCAKLSAgICAyMzEsIDE4OCwgMjQ5LCAyMjcsIDgzLCAyMzEsIDE4OCwgMjQzLCAyMzYsIDIxOCwgMTMxLCA4MywgMjI4LCAxOTYsIDgzLCAKLSAgICAyNDQsIDUsIDQ1LCAyMjEsIDE1OSwgMTExLCA4MywgMjQ0LCA1LCA0NSwgMjIxLCAxNTksIDEwNSwgODMsIDI0NCwgNSwgNDUsIAotICAgIDIyMSwgMTU5LCAxNTgsIDgzLCAyNSwgMjIwLCAxMzksIDgzLCAyMSwgMjEwLCA4NiwgODMsIDIxLCAxMTEsIDgzLCAyMSwgCi0gICAgMTA1LCA4MywgMjEsIDE1OCwgODMsIDIxLCAxNjEsIDgzLCAyMSwgMTkwLCA4MywgMjEsIDE5NSwgODMsIDIxLCAxOTksIDgzLCAKLSAgICAyMSwgMTk2LCA4MywgMjEsIDIwMSwgODMsIDEsIDYxLCA4MywgMSwgNzYsIDgzLCAxLCA3NCwgODMsIDEsIDc4LCA4MywgMSwgCi0gICAgNjksIDgzLCAxLCAyMjYsIDIzOCwgODMsIDEsIDIxNCwgMjE0LCA4MywgMSwgMjQ1LCAyMTcsIDgzLCAxLCAxOTgsIDgzLCAxLCAKLSAgICAyNTQsIDEyMywgODMsIDEsIDI1MiwgMTk5LCA4MywgMSwgMTkxLCA4MywgMSwgMjI0LCA5MSwgODMsIDEsIDI0MywgMTQyLCAKLSAgICA4MywgMSwgMTg2LCA4MywgMSwgMjMzLCAxNDEsIDgzLCAxLCAyMDYsIDgzLCAxLCAyMjAsIDEwNCwgODMsIDEsIDIxNywgCi0gICAgMTA2LCA4MywgMSwgMjQ4LCAyMjksIDgzLCAxLCAyNTAsIDE2NSwgODMsIDEsIDIzNSwgMTQ3LCA4MywgMSwgMTkyLCA4MywgCi0gICAgMSwgMjA1LCA4MywgMSwgMjEyLCA2NSwgODMsIDEsIDI0NCwgMjA0LCA4MywgMSwgMTc2LCA4MywgMSwgMjM0LCAxMzgsIDgzLCAKLSAgICAxLCAyMTUsIDE4NCwgODMsIDEsIDIxMCwgMTE2LCA4MywgMSwgMjQyLCA1MywgODMsIDEsIDIxMCwgMTYsIDgzLCAxLCAyMzMsIAotICAgIDQsIDgzLCAxLCAyMTAsIDY5LCA4MywgMSwgMjUwLCAxMTgsIDgzLCAxLCAyMTYsIDQwLCAyMDAsIDI1LCA1MCwgODMsIDEsIAotICAgIDIxNiwgNDAsIDc2LCA4MywgMSwgMjE2LCA0MCwgNzQsIDgzLCAxLCAyMTYsIDQwLCA3OCwgODMsIDEsIDIxNiwgNDAsIDY5LCAKLSAgICA4MywgMSwgMjE2LCA0MCwgMjI2LCAyMzgsIDgzLCAxLCAyMTYsIDQwLCAyMTQsIDIxNCwgODMsIDEsIDIxNiwgNDAsIDI1NCwgCi0gICAgMTIzLCA4MywgMSwgMjE2LCA0MCwgMjUyLCAxOTksIDgzLCAxLCAyMTYsIDQwLCAxOTEsIDgzLCAxLCAyMTYsIDQwLCAyMjQsIAotICAgIDkxLCA4MywgMSwgMjE2LCA0MCwgMjQzLCAxNDIsIDgzLCAxLCAyMTYsIDQwLCAxODYsIDgzLCAxLCAyMTYsIDQwLCAyMTcsIAotICAgIDEwNiwgODMsIDEsIDIxNiwgNDAsIDI0OCwgMjI5LCA4MywgMSwgMjE2LCA0MCwgMjUwLCAxNjUsIDgzLCAxLCAyMTYsIDQwLCAKLSAgICAyMzUsIDE0NywgODMsIDEsIDIxNiwgNDAsIDIxNSwgMTg0LCA4MywgMSwgMjE2LCA0MCwgMTkyLCA4MywgMSwgMjE2LCA0MCwgCi0gICAgMjEyLCA2NSwgODMsIDEsIDIxNiwgNDAsIDE3NiwgODMsIDEsIDIxNiwgNDAsIDI0MywgMTM5LCA4MywgMSwgMjE2LCA0MCwgCi0gICAgMjQyLCA1MywgODMsIDEsIDIxNiwgNDAsIDIzNSwgMTEzLCA4MywgMSwgMjE2LCA0MCwgMjI4LCAyMzYsIDgzLCAxLCAyMTYsIAotICAgIDQwLCAyNDYsIDQ2LCA4MywgMSwgMjE5LCAxOTIsIDc2LCA4MywgMSwgMjE5LCAxOTIsIDc0LCA4MywgMSwgMjE5LCAxOTIsIAotICAgIDIzNSwgMTU4LCA4MywgMSwgMjE5LCAxOTIsIDIxNCwgMjE0LCA4MywgMSwgMjE5LCAxOTIsIDY5LCA4MywgMSwgMjE5LCAKLSAgICAxOTIsIDI1NCwgMTIzLCA4MywgMSwgMjE5LCAxOTIsIDE3NiwgODMsIDEsIDIxOSwgMTkyLCAyNDMsIDE0MiwgODMsIDEsIAotICAgIDIxOSwgMTkyLCAxNjIsIDgzLCAxLCAyMTksIDE5MiwgMTkxLCA4MywgMSwgMjE5LCAxOTIsIDIyMCwgMTA0LCA4MywgMSwgCi0gICAgMjE5LCAxOTIsIDIxNywgMTA2LCA4MywgMSwgMjE5LCAxOTIsIDI0OCwgMjI5LCA4MywgMSwgMjE5LCAxOTIsIDIzNSwgMTQ3LCAKLSAgICA4MywgMSwgMjE5LCAxOTIsIDI0NCwgMjA0LCA4MywgMSwgMjE5LCAxOTIsIDI0MywgMTM5LCA4MywgMSwgMjE5LCAxOTIsIAotICAgIDI0MiwgNTMsIDgzLCAxLCAyMTksIDE5MiwgMjE1LCAxODQsIDgzLCAxLCAyMTksIDE5MiwgMjEwLCAxMTYsIDgzLCAxLCAKLSAgICAyMTksIDE5MiwgMjIzLCAxODcsIDgzLCAxLCAyMTksIDE5MiwgMjUwLCAxNjUsIDgzLCAxLCAyMTksIDE5MiwgMjEwLCA4MiwgCi0gICAgODMsIDEsIDIzMSwgMTg4LCA3NCwgODMsIDEsIDIzMSwgMTg4LCAxNzYsIDgzLCAxLCAyMzEsIDE4OCwgMjA1LCA4MywgMSwgCi0gICAgMjMxLCAxODgsIDI0NCwgMjA0LCA4MywgMSwgMjMxLCAxODgsIDIxMCwgODIsIDgzLCAxLCAyNTQsIDE3MSwgMjQzLCAxMjMsIAotICAgIDI1NCwgODQsIDExMSwgODMsIDEsIDI1NCwgMTcxLCAyNDMsIDEyMywgMjEzLCAxNDgsIDExMSwgODMsIDEsIDI1NCwgMTcxLCAKLSAgICAyNDMsIDEyMywgMjQ4LCAxOTQsIDgzLCAxLCAyNTQsIDE3MSwgMjQzLCAxMjMsIDIxNCwgMjI0LCA4MywgMSwgMjU0LCAxNzEsIAotICAgIDI0MywgMTIzLCAyMzUsIDIwMCwgMjE0LCAyMjQsIDgzLCAxLCAyNTQsIDE3MSwgMjQzLCAxMjMsIDI1MiwgMTYzLCA4MywgMSwgCi0gICAgMjU0LCAxNzEsIDI0MywgMTIzLCAxMzQsIDI1MiwgMTYzLCA4MywgMSwgMjU0LCAxNzEsIDI0MywgMTIzLCA2MSwgODMsIDEsIAotICAgIDI1NCwgMTcxLCAyNDMsIDEyMywgNzQsIDgzLCAxLCAyNTQsIDE3MSwgMjQzLCAxMjMsIDE3NiwgODMsIDEsIDI1NCwgMTcxLCAKLSAgICAyNDMsIDEyMywgMjI5LCA4MiwgODMsIDEsIDI1NCwgMTcxLCAyNDMsIDEyMywgMjUxLCA0MSwgODMsIDEsIDI1NCwgMTcxLCAKLSAgICAyNDMsIDEyMywgMjE1LCAxNTcsIDgzLCAxLCAyNTQsIDE3MSwgMjQzLCAxMjMsIDIxNSwgMTQ1LCA4MywgMSwgMjU0LCAxNzEsIAotICAgIDI0MywgMTIzLCAyNDgsIDE0MywgODMsIDEsIDI1NCwgMTcxLCAyNDMsIDEyMywgMjI4LCAxMTUsIDgzLCAxLCAyNTQsIDE3MSwgCi0gICAgMjQzLCAxMjMsIDIxNywgMTA2LCA4MywgMSwgMjU0LCAxNzEsIDI0MywgMTIzLCAyNDgsIDIyOSwgODMsIDEsIDI1NCwgMTcxLCAKLSAgICAyNDMsIDEyMywgMTkxLCA4MywgMSwgMjU0LCAxNzEsIDI0MywgMTIzLCAyMjUsIDE1MCwgODMsIDEsIDI1NCwgMTcxLCAyNDMsIAotICAgIDEyMywgMjE4LCAyMjUsIDgzLCAxLCAyNTQsIDE3MSwgMjQzLCAxMjMsIDIxMCwgODIsIDgzLCAxLCAyNTQsIDE3MSwgMjQzLCAKLSAgICAxMjMsIDIxMCwgMTE2LCA4MywgMSwgMjU0LCAxNzEsIDI0MywgMTIzLCAyNTQsIDIxOCwgODMsIDEsIDIxNiwgNDAsIDI1NCwgCi0gICAgMTcxLCAyNDMsIDEyMywgMjE3LCAxMDYsIDgzLCAxLCAyMTYsIDQwLCAyNTQsIDE3MSwgMjQzLCAxMjMsIDIxMCwgODIsIDgzLCAKLSAgICAxLCAyMzEsIDE4OCwgMjU0LCAxNzEsIDI0MywgMTIzLCAyNDMsIDAsIDgzLCAxLCAyMzEsIDE4OCwgMjU0LCAxNzEsIDI0MywgCi0gICAgMTIzLCAyMjksIDgyLCA4MywgMSwgMjMxLCAxODgsIDI1NCwgMTcxLCAyNDMsIDEyMywgMjUxLCA0MSwgODMsIDEsIDIzMSwgCi0gICAgMTg4LCAyNTQsIDE3MSwgMjQzLCAxMjMsIDIzNSwgMTIwLCA4MywgMSwgMjMxLCAxODgsIDI1NCwgMTcxLCAyNDMsIDEyMywgCi0gICAgMjE1LCAxNTcsIDgzLCAxLCAyMzEsIDE4OCwgMjU0LCAxNzEsIDI0MywgMTIzLCAyNDgsIDEyNywgODMsIDEsIDIzMSwgMTg4LCAKLSAgICAyNTQsIDE3MSwgMjQzLCAxMjMsIDIxNywgMTA2LCA4MywgMSwgMjMxLCAxODgsIDI1NCwgMTcxLCAyNDMsIDEyMywgMjQ4LCAKLSAgICAzMywgODMsIDEsIDIzMSwgMTg4LCAyNTQsIDE3MSwgMjQzLCAxMjMsIDIxOCwgMjI1LCA4MywgMSwgMjMxLCAxODgsIDI1NCwgCi0gICAgMTcxLCAyNDMsIDEyMywgMjQ5LCA4MCwgODMsIDEsIDIzMSwgMTg4LCAyNTQsIDE3MSwgMjQzLCAxMjMsIDIxMCwgODIsIDgzLCAKLSAgICAxLCAyMzEsIDE4OCwgMjU0LCAxNzEsIDI0MywgMTIzLCAyMTAsIDExNiwgODMsIDEsIDI1NCwgMTcxLCAyNDMsIDEyMywgCi0gICAgMTYzLCA2OSwgODMsIDEsIDI1NCwgMTcxLCAyNDMsIDEyMywgMTYzLCAxOTIsIDgzLCAxLCAyMzEsIDE4OCwgMjU0LCAxNzEsIAotICAgIDI0MywgMTIzLCAyNTIsIDI2LCA4MywgMSwgMjU0LCAxNzEsIDI0MywgMTIzLCAyNDgsIDIxOSwgODMsIDEsIDIzMSwgMTg4LCAKLSAgICAyNTQsIDE3MSwgMjQzLCAxMjMsIDIzMywgNCwgMTgsIDE5LCAyMjYsIDExMywgMTgsIDE5LCAyNTMsIDE3NSwgMTgsIDE5LCAKLSAgICAyNTUsIDM3LCAxOCwgMTksIDIxMiwgMjUsIDE4LCAxOSwgMjI0LCAyMjQsIDE4LCAxOSwgMjI1LCAyMzMsIDE4LCAxOSwgCi0gICAgMjI0LCAxMDgsIDE4LCAxOSwgMjE3LCAzMiwgMTgsIDE5LCAyMzQsIDE5NSwgMTgsIDE5LCAyMzMsIDE4NSwgMTgsIDE5LCAKLSAgICAyMzEsIDEzNywgMTgsIDE5LCAyMjgsIDQyLCAxOCwgMTksIDIyOSwgMTg2LCAxOCwgMTksIDIzMywgNzQsIDE4LCAxOSwgCi0gICAgMjE5LCAyNCwgMTgsIDE5LCAyMjEsIDIxMywgMTgsIDE5LCAyMTksIDIzNCwgMTgsIDE5LCAyMjAsIDY4LCAxOCwgMTksIAotICAgIDIxOSwgMjAzLCAxOCwgMTksIDIxMCwgMjIwLCAxOCwgMTksIDIxMSwgNTIsIDE4LCAxOSwgMjIzLCAxMzcsIDE4LCAxOSwgCi0gICAgMjI3LCAxNzUsIDE4LCAxOSwgMjI2LCAyMjAsIDIyNywgMTc1LCAxOCwgMTksIDIyNywgMTc0LCAxOCwgMTksIDIyNiwgMjIwLCAKLSAgICAyMjcsIDE3NCwgMTgsIDE5LCAyMjcsIDE3MywgMTgsIDE5LCAyMjYsIDIyMCwgMjI3LCAxNzMsIDE4LCAxOSwgMjI3LCAxNzIsIAotICAgIDE4LCAxOSwgMjI2LCAyMjAsIDIyNywgMTcyLCAxOCwgMTksIDIyMiwgMTA3LCAxOCwgMTksIDIyMiwgMTA2LCAxOCwgMTksIAotICAgIDIyMiwgMTA1LCAxOCwgMTksIDIyMiwgMTA0LCAxOCwgMTksIDIyMiwgMTAzLCAxOCwgMTksIDIyMiwgMTExLCAxOCwgMTksIAotICAgIDIyNiwgMjIwLCAyMjYsIDEwOSwgMTgsIDE5LCAyMjYsIDIyMCwgMjE3LCAxNTMsIDE4LCAxOSwgMjI2LCAyMjAsIDIzNSwgCi0gICAgMjksIDE4LCAxOSwgMjI2LCAyMjAsIDI1MSwgNzQsIDE4LCAxOSwgMjI2LCAyMjAsIDE5NCwgMTgsIDE5LCAyMjYsIDIyMCwgCi0gICAgMjMwLCAzMCwgMTgsIDE5LCAyMjYsIDIyMCwgMjIyLCA5MywgMTgsIDE5LCAyMjYsIDIyMCwgMjIwLCAxMDYsIDE4LCAxOSwgCi0gICAgMjQ1LCAyMjcsIDIxMiwgOTgsIDE4LCAxOSwgMjEyLCA3LCAyMTIsIDk4LCAxOCwgMTksIDQwLCA0LCAyMjIsIDIzNiwgMTgsIAotICAgIDE5LCA0MCwgMjIzLCAxNjAsIDI0NywgMTI4LCAxOCwgMTksIDIyMywgMjI2LCAyMjIsIDEwOCwgMTgsIDE5LCAxNTksIDIzMiwgCi0gICAgMTMzLCAxOCwgMTksIDE1OSwgMjMzLCAxNDAsIDE4LCAxOSwgMjE2LCAxMjcsIDE4LCAxOSwgMjE2LCAxMjksIDE4LCAxOSwgCi0gICAgMjE1LCAxMzcsIDE4LCAxOSwgMjE1LCAxMzksIDE4LCAxOSwgMjE1LCAxNDQsIDE4LCAxOSwgMjE2LCA1MCwgMTgsIDE5LCAKLSAgICAyMTYsIDUyLCAxOCwgMTksIDIyMSwgMjExLCAyMTksIDIwOCwgMTgsIDE5LCAyMjEsIDIxMSwgMjIwLCAzLCAxOCwgMTksIAotICAgIDIyMSwgMjExLCAyNDEsIDYwLCAxOCwgMTksIDczLCAyNDIsIDgwLCAxOCwgMTksIDczLCAyNDgsIDYwLCAyNDMsIDYyLCAxOCwgCi0gICAgMTksIDczLCAyNDMsIDEzOSwgMTgsIDE5LCA3MywgMjQyLCA4NSwgMTgsIDE5LCAyMjEsIDIxMSwgMjM1LCAzOSwgMTgsIDE5LCAKLSAgICA3MywgMjM1LCAzNywgMTgsIDE5LCAyNTIsIDc2LCAyNDgsIDYwLCAxNTYsIDE4LCAxOSwgMjUyLCA3NiwgMjQ4LCA2MCwgCi0gICAgMTUzLCAxOCwgMTksIDczLCAyNDgsIDU1LCAyMjIsIDkzLCAyMzIsIDIyOSwgMjEzLCAxMjIsIDIzMywgMTYsIDIzMiwgMjI5LCAKLSAgICAxLCAxNzYsIDIzMiwgMjI5LCAxLCAyMzQsIDEzOCwgMjMyLCAyMjksIDEsIDI0MywgMTQyLCAyMzIsIDIyOSwgMSwgMjQzLCAKLSAgICAwLCAyMzIsIDIyOSwgMSwgMjI5LCA4MiwgMjMyLCAyMjksIDEsIDI1MSwgNDEsIDIzMiwgMjI5LCAxLCAyNTAsIDE2NSwgCi0gICAgMjMyLCAyMjksIDEsIDIzNSwgMTQ3LCAyMzIsIDIyOSwgMSwgMjM1LCAxMjAsIDIzMiwgMjI5LCAxLCAyMTEsIDcxLCAyMzIsIAotICAgIDIyOSwgMSwgMjE3LCAxMDYsIDIzMiwgMjI5LCAxLCAyMTYsIDIwOSwgMjMyLCAyMjksIDEsIDI0OCwgMjI5LCAyMzIsIDIyOSwgCi0gICAgMSwgMjQ4LCAzMywgMjMyLCAyMjksIDEsIDE5OCwgMjMyLCAyMjksIDEsIDE5MSwgMjMyLCAyMjksIDEsIDIyNSwgMTUwLCAKLSAgICAyMzIsIDIyOSwgMSwgMjUyLCAxOTksIDIzMiwgMjI5LCAxLCAyNTIsIDI2LCAyMzIsIDIyOSwgMSwgMTg2LCAyMzIsIDIyOSwgCi0gICAgMSwgMTkyLCAyMzIsIDIyOSwgMSwgMjA1LCAyMzIsIDIyOSwgMSwgMjMzLCAxNDEsIDIzMiwgMjI5LCAxLCAyMTIsIDY1LCAKLSAgICAyMzIsIDIyOSwgMSwgMjIwLCAxMDQsIDIzMiwgMjI5LCAxLCAyMTgsIDIyNSwgMjMyLCAyMjksIDEsIDIwNiwgMjMyLCAyMjksIAotICAgIDEsIDE2MiwgMjMyLCAyMjksIDI1LCA1LCA2MSwgMjMyLCAyMjksIDI1LCA1LCA3NCwgMjMyLCAyMjksIDI1LCA1LCA2OSwgCi0gICAgMjMyLCAyMjksIDI1LCA1LCAyNDUsIDIxNywgMjMyLCAyMjksIDI1LCA1LCAyNTQsIDIxMCwgMjMyLCAyMjksIDI1LCA1LCAKLSAgICAyMjYsIDE4NywgMjMyLCAyMjksIDI1LCA1LCAyNTMsIDIwMCwgMjMyLCAyMjksIDI1LCA1LCA3NiwgMjMyLCAyMjksIDI1LCAKLSAgICA1LCA3OCwgMjMyLCAyMjksIDIxOCwgNzQsIDEsIDE5MiwgMjMyLCAyMjksIDIxOCwgNzQsIDEsIDIwNSwgMjMyLCAyMjksIAotICAgIDIxOCwgNzQsIDEsIDIxMiwgNjUsIDIzMiwgMjI5LCA0LCAxLCAxNzYsIDIzMiwgMjI5LCA0LCAxLCAyMjksIDgyLCAyMzIsIAotICAgIDIyOSwgNCwgMSwgMjU0LCA4MywgMjMyLCAyMjksIDQsIDEsIDIxNywgMTA2LCAyMzIsIDIyOSwgNCwgMSwgMTk4LCAyMzIsIAotICAgIDIyOSwgNCwgMSwgMTkxLCAyMzIsIDIyOSwgNCwgMSwgMTg2LCAyMzIsIDIyOSwgNCwgMSwgMjA1LCAyMzIsIDIyOSwgNCwgMSwgCi0gICAgMjMzLCAxNDEsIDIzMiwgMjI5LCA1LCAyMzAsIDk0LCAyMzIsIDIyOSwgNSwgMjM0LCAxNzcsIDIzMiwgMjI5LCA1LCAyMjIsIAotICAgIDM0LCAyMzIsIDIyOSwgNSwgMjMyLCAxMzMsIDIzMiwgMjI5LCAyNDUsIDM5LCA3OSwgMjMyLCAyMjksIDIyNCwgMTYsIDc5LCAKLSAgICAyMzIsIDIyOSwgMjEsIDIxMCwgODYsIDIzMiwgMjI5LCAyMSwgMTExLCAyMzIsIDIyOSwgMjEsIDEwNSwgMjMyLCAyMjksIAotICAgIDIxLCAxNTgsIDIzMiwgMjI5LCAyMSwgMTYxLCAyMzIsIDIyOSwgMjEsIDE5MCwgMjMyLCAyMjksIDIxLCAxOTUsIDIzMiwgCi0gICAgMjI5LCAyMSwgMTk5LCAyMzIsIDIyOSwgMjEsIDE5NiwgMjMyLCAyMjksIDIxLCAyMDEsIDM5LCAyMzMsIDY1LCAxLCAxNzYsIAotICAgIDM5LCAyMzMsIDY1LCAxLCAyMTEsIDE2NSwgMzksIDIzMywgNjUsIDEsIDIyOSwgODIsIDM5LCAyMzMsIDY1LCAxLCAyMTUsIAotICAgIDE4NCwgMzksIDIzMywgNjUsIDEsIDIwNiwgMzksIDIzMywgNjUsIDEsIDE5MiwgMzksIDIzMywgNjUsIDEsIDIxNywgMTA2LCAKLSAgICAzOSwgMjMzLCA2NSwgMSwgMjE2LCAyMDksIDM5LCAyMzMsIDY1LCAxLCAyMzMsIDE0MSwgMzksIDIzMywgNjUsIDEsIDE5MSwgCi0gICAgMzksIDIzMywgNjUsIDEsIDIyNSwgMTUwLCAzOSwgMjMzLCA2NSwgMSwgMTg2LCAzOSwgMjMzLCA2NSwgMSwgMjQ0LCAyMDQsIAotICAgIDM5LCAyMzMsIDY1LCAxLCAyMTQsIDI3LCAzOSwgMjMzLCA2NSwgMSwgMTYyLCAzOSwgMjMzLCA2NSwgMSwgMjI0LCA5MSwgCi0gICAgMzksIDIzMywgNjUsIDEsIDIzNCwgMTM4LCAzOSwgMjMzLCA2NSwgMSwgMjE1LCAxNzYsIDM5LCAyMzMsIDY1LCAxLCAxOTgsIAotICAgIDM5LCAyMzMsIDY1LCAxLCA2MSwgMzksIDIzMywgNjUsIDEsIDc0LCAzOSwgMjMzLCA2NSwgMSwgMjQ1LCAyMTcsIDM5LCAKLSAgICAyMzMsIDY1LCAxLCAyNDUsIDIwNSwgMzksIDIzMywgNjUsIDEsIDY5LCAzOSwgMjMzLCA2NSwgMSwgMjI2LCAxODcsIDM5LCAKLSAgICAyMzMsIDY1LCAxLCA3OCwgMzksIDIzMywgNjUsIDEsIDIxNCwgMjE0LCAzOSwgMjMzLCA2NSwgMSwgNzYsIDM5LCAyMzMsIAotICAgIDY1LCAxLCAyNTMsIDE5OCwgMzksIDIzMywgNjUsIDEsIDI1NCwgMjEwLCAzOSwgMjMzLCA2NSwgMSwgMjE2LCAyOSwgMzksIAotICAgIDIzMywgNjUsIDEsIDIxNiwgMjgsIDM5LCAyMzMsIDY1LCAxLCAyMTYsIDI3LCAzOSwgMjMzLCA2NSwgMSwgMjE2LCAyNiwgCi0gICAgMzksIDIzMywgNjUsIDEsIDIxNiwgMjUsIDE2NiwgMzksIDE3MywgMSwgMTI1LCAyMjQsIDkxLCAxNjYsIDM5LCAxNzMsIDEsIAotICAgIDEyMSwgMjI0LCA5MSwgMTY2LCAzOSwgMTczLCAxLCAxMjUsIDE3NiwgMTY2LCAzOSwgMTczLCAxLCAxMjUsIDIxMSwgMTY1LCAKLSAgICAxNjYsIDM5LCAxNzMsIDEsIDEyNSwgMjI5LCA4MiwgMTY2LCAzOSwgMTczLCAxLCAxMjEsIDE3NiwgMTY2LCAzOSwgMTczLCAKLSAgICAxLCAxMjEsIDIxMSwgMTY1LCAxNjYsIDM5LCAxNzMsIDEsIDEyMSwgMjI5LCA4MiwgMTY2LCAzOSwgMTczLCAxLCAxMjUsIAotICAgIDIxNSwgMTg0LCAxNjYsIDM5LCAxNzMsIDEsIDEyNSwgMjA2LCAxNjYsIDM5LCAxNzMsIDEsIDEyNSwgMTkyLCAxNjYsIDM5LCAKLSAgICAxNzMsIDEsIDEyMSwgMjE1LCAxODQsIDE2NiwgMzksIDE3MywgMSwgMTIxLCAyMDYsIDE2NiwgMzksIDE3MywgMSwgMTIxLCAKLSAgICAxOTIsIDE2NiwgMzksIDE3MywgMSwgMTI1LCAyMTcsIDEwNiwgMTY2LCAzOSwgMTczLCAxLCAxMjUsIDIxNiwgMjA5LCAxNjYsIAotICAgIDM5LCAxNzMsIDEsIDEyNSwgMTk4LCAxNjYsIDM5LCAxNzMsIDEsIDEyMSwgMjE3LCAxMDYsIDE2NiwgMzksIDE3MywgMSwgCi0gICAgMTIxLCAyMTYsIDIwOSwgMTY2LCAzOSwgMTczLCAxLCAxMjEsIDE5OCwgMTY2LCAzOSwgMTczLCAxLCAxMjUsIDE5MSwgMTY2LCAKLSAgICAzOSwgMTczLCAxLCAxMjUsIDIyNSwgMTUwLCAxNjYsIDM5LCAxNzMsIDEsIDEyNSwgMTg2LCAxNjYsIDM5LCAxNzMsIDEsIAotICAgIDEyMSwgMTkxLCAxNjYsIDM5LCAxNzMsIDEsIDEyMSwgMjI1LCAxNTAsIDE2NiwgMzksIDE3MywgMSwgMTIxLCAxODYsIDE2NiwgCi0gICAgMzksIDE3MywgMSwgMTI1LCAyNDQsIDIwNCwgMTY2LCAzOSwgMTczLCAxLCAxMjUsIDIxNCwgMjcsIDE2NiwgMzksIDE3MywgCi0gICAgMSwgMTI1LCAyMzMsIDE0MSwgMTY2LCAzOSwgMTczLCAxLCAxMjEsIDI0NCwgMjA0LCAxNjYsIDM5LCAxNzMsIDEsIDEyMSwgCi0gICAgMjE0LCAyNywgMTY2LCAzOSwgMTczLCAxLCAxMjEsIDIzMywgMTQxLCAxNjYsIDM5LCAxNzMsIDEsIDEyNSwgMTYyLCAxNjYsIAotICAgIDM5LCAxNzMsIDEsIDEyNSwgMjQ4LCAyMjksIDE2NiwgMzksIDE3MywgMSwgMTI1LCAyNTIsIDE5OSwgMTY2LCAzOSwgMTczLCAKLSAgICAxLCAxMjEsIDE2MiwgMTY2LCAzOSwgMTczLCAxLCAxMjEsIDI0OCwgMjI5LCAxNjYsIDM5LCAxNzMsIDEsIDEyMSwgMjUyLCAKLSAgICAxOTksIDE2NiwgMzksIDE3MywgMSwgMTI1LCAyMzMsIDE5MCwgMTY2LCAzOSwgMTczLCAxLCAxMjUsIDIxMSwgMTM4LCAxNjYsIAotICAgIDM5LCAxNzMsIDEsIDEyMSwgMjMzLCAxOTAsIDE2NiwgMzksIDE3MywgMSwgMTIxLCAyMTEsIDEzOCwgMTY2LCAzOSwgMTczLCAKLSAgICAxLCAxMjUsIDIxOCwgODMsIDE2NiwgMzksIDE3MywgMSwgMTIxLCAyMTgsIDgzLCAxNjYsIDM5LCAxNzMsIDI1LCA1LCAyNSwgCi0gICAgMjE5LCAyNDEsIDE2NiwgMzksIDE3MywgMjUsIDUsIDI1NSwgODIsIDE2NiwgMzksIDE3MywgMjUsIDUsIDIzNiwgNDAsIAotICAgIDE2NiwgMzksIDE3MywgMjUsIDUsIDY5LCAxNjYsIDM5LCAxNzMsIDI1LCA1LCAyMTQsIDExOCwgMTY2LCAzOSwgMTczLCAyNSwgCi0gICAgNSwgNzYsIDE2NiwgMzksIDE3MywgMjUsIDUsIDI1NCwgMjUyLCAxNjYsIDM5LCAxNzMsIDI1LCA1LCA3OCwgMTY2LCAzOSwgCi0gICAgMTczLCAyNSwgNSwgMjI3LCA0LCAxNjYsIDM5LCAxNzMsIDI1LCA1LCAyMTQsIDIxNCwgMTY2LCAzOSwgMTczLCAyNSwgNSwgCi0gICAgMjUzLCAxNzUsIDE2NiwgMzksIDE3MywgMjUsIDUsIDI1NSwgMzcsIDE2NiwgMzksIDE3MywgMjUsIDUsIDIxNCwgMTExLCAKLSAgICAxNjYsIDM5LCAxNzMsIDI1LCA1LCAyMjYsIDExMywgMTY2LCAzOSwgMTczLCAyNSwgNSwgMjI3LCAxLCAxNjYsIDM5LCAxNzMsIAotICAgIDI1LCA1LCAyMTQsIDIxMCwgMTY2LCAzOSwgMTczLCAyNSwgNSwgMjM1LCAxNTgsIDE2NiwgMzksIDE3MywgMSwgNDAsIDIxNCwgCi0gICAgMTA1LCAxNjYsIDM5LCAxNzMsIDEsIDQwLCAyMjksIDg0LCAxNjYsIDM5LCAxNzMsIDEsIDQwLCAyMzAsIDMwLCAxNjYsIDM5LCAKLSAgICAxNzMsIDEsIDQwLCAxOTQsIDE2NiwgMzksIDE3MywgMSwgNDAsIDIzNSwgMjksIDE2NiwgMzksIDE3MywgMSwgNDAsIDI0OSwgCi0gICAgNjgsIDE2NiwgMzksIDE3MywgMSwgNDAsIDI1MywgMTY2LCAxNjYsIDM5LCAxNzMsIDEzOCwgMjMxLCAxNjMsIDE2NiwgMzksIAotICAgIDE3MywgMTM4LCAyMzEsIDE2MiwgMTY2LCAzOSwgMTczLCAyMSwgMjEwLCA4NiwgMTY2LCAzOSwgMTczLCAyMSwgMTExLCAKLSAgICAxNjYsIDM5LCAxNzMsIDIxLCAxMDUsIDE2NiwgMzksIDE3MywgMjEsIDE1OCwgMTY2LCAzOSwgMTczLCAyMSwgMTYxLCAxNjYsIAotICAgIDM5LCAxNzMsIDIxLCAxOTAsIDE2NiwgMzksIDE3MywgMjEsIDE5NSwgMTY2LCAzOSwgMTczLCAyMSwgMTk5LCAxNjYsIDM5LCAKLSAgICAxNzMsIDIxLCAxOTYsIDE2NiwgMzksIDE3MywgMjEsIDIwMSwgMTY2LCAzOSwgMTczLCA4OSwgMjEsIDExMSwgMTY2LCAzOSwgCi0gICAgMTczLCA1LCAyMzMsIDEyNiwgMTY2LCAzOSwgMTczLCA1LCAyMzMsIDEyNSwgNzAsIDE2LCAyMjUsIDI0MCwgNzAsIDE2LCAKLSAgICAyMzAsIDc3LCAyMzQsIDMxLCA3MCwgMTYsIDIyNSwgNzUsIDIzNCwgMzEsIDcwLCAxNiwgMjUyLCA1OCwgMjM0LCAzMSwgNzAsIAotICAgIDE2LCAyNTEsIDExMiwgMjM0LCAzMSwgNzAsIDE2LCAyMjQsIDIxOSwgMjM0LCAzMSwgNzAsIDE2LCAyMjQsIDIxMywgMjM0LCAKLSAgICAzMSwgNzAsIDE2LCAyMjQsIDIxMSwgMjM0LCAzMSwgNzAsIDE2LCAyMjQsIDIxNywgMjM0LCAzMSwgNzAsIDE2LCAyMjQsIAotICAgIDIxNSwgMjM0LCAzMSwgNzAsIDE2LCAyNDgsIDE4MSwgMjM0LCAzMSwgNzAsIDE2LCAyNDgsIDE3NywgMjM0LCAzMSwgNzAsIAotICAgIDE2LCAyNDgsIDE3NiwgMjM0LCAzMSwgNzAsIDE2LCAyNDgsIDE3OSwgMjM0LCAzMSwgNzAsIDE2LCAyNDgsIDE3OCwgMjM0LCAKLSAgICAzMSwgNzAsIDE2LCAyNDgsIDE3NSwgMjM0LCAzMSwgNzAsIDE2LCAyMTUsIDg3LCA3MCwgMTYsIDIzMCwgNzcsIDIyMiwgCi0gICAgMjA3LCA3MCwgMTYsIDIyNSwgNzUsIDIyMiwgMjA3LCA3MCwgMTYsIDI1MiwgNTgsIDIyMiwgMjA3LCA3MCwgMTYsIDI1MSwgCi0gICAgMTEyLCAyMjIsIDIwNywgNzAsIDE2LCAyMjQsIDIxOSwgMjIyLCAyMDcsIDcwLCAxNiwgMjI0LCAyMTMsIDIyMiwgMjA3LCAKLSAgICA3MCwgMTYsIDIyNCwgMjExLCAyMjIsIDIwNywgNzAsIDE2LCAyMjQsIDIxNywgMjIyLCAyMDcsIDcwLCAxNiwgMjI0LCAyMTUsIAotICAgIDIyMiwgMjA3LCA3MCwgMTYsIDI0OCwgMTgxLCAyMjIsIDIwNywgNzAsIDE2LCAyNDgsIDE3NywgMjIyLCAyMDcsIDcwLCAxNiwgCi0gICAgMjQ4LCAxNzYsIDIyMiwgMjA3LCA3MCwgMTYsIDI0OCwgMTc5LCAyMjIsIDIwNywgNzAsIDE2LCAyNDgsIDE3OCwgMjIyLCAKLSAgICAyMDcsIDcwLCAxNiwgMjQ4LCAxNzUsIDIyMiwgMjA3LCAyNTEsIDEyOSwgMSwgMTc2LCAyNTEsIDEyOSwgMSwgMjQzLCAxNDIsIAotICAgIDI1MSwgMTI5LCAxLCAyMjksIDgyLCAyNTEsIDEyOSwgMSwgMjI5LCAyNywgMjUxLCAxMjksIDEsIDE5MSwgMjUxLCAxMjksIAotICAgIDEsIDI1MiwgMTk5LCAyNTEsIDEyOSwgMSwgMTg2LCAyNTEsIDEyOSwgMSwgMjMwLCAxMTAsIDI1MSwgMTI5LCAxLCAyMTcsIAotICAgIDEwNiwgMjUxLCAxMjksIDEsIDI0OCwgMjI5LCAyNTEsIDEyOSwgMSwgMTk4LCAyNTEsIDEyOSwgMSwgMjI4LCA0MSwgMjUxLCAKLSAgICAxMjksIDEsIDI1MSwgNDEsIDI1MSwgMTI5LCAxLCAyMzUsIDE0NywgMjUxLCAxMjksIDEsIDIyNywgMTY5LCAyNTEsIDEyOSwgCi0gICAgMSwgMjI3LCAxNjIsIDI1MSwgMTI5LCAxLCAxOTIsIDI1MSwgMTI5LCAxLCAyMDUsIDI1MSwgMTI5LCAxLCAyMzMsIDE0MSwgCi0gICAgMjUxLCAxMjksIDEsIDIxNCwgMjcsIDI1MSwgMTI5LCAxLCAyMDYsIDI1MSwgMTI5LCAxLCA2MSwgMjUxLCAxMjksIDEsIAotICAgIDE2MiwgMjUxLCAxMjksIDI1LCA1LCA3NCwgMjUxLCAxMjksIDI1LCA1LCA2OSwgMjUxLCAxMjksIDI1LCA1LCA3NiwgMjUxLCAKLSAgICAxMjksIDI1LCA1LCA3OCwgMjUxLCAxMjksIDI1LCA1LCAyNTQsIDI1MiwgMjUxLCAxMjksIDIyNiwgNjQsIDI1MSwgMTI5LCAKLSAgICAyNDUsIDE1MSwgNjQsIDIyMSwgMTc0LCAzOSwgODksIDEsIDEyNSwgMTc2LCAzOSwgODksIDEsIDEyNSwgMjM0LCAxMzgsIAotICAgIDM5LCA4OSwgMSwgMTI1LCAyMzMsIDE3NywgMzksIDg5LCAxLCAxMjEsIDE3NiwgMzksIDg5LCAxLCAxMjEsIDIzMywgMTc3LCAKLSAgICAzOSwgODksIDEsIDEyMSwgMjM0LCAxMzgsIDM5LCA4OSwgMSwgMjI5LCA4MiwgMzksIDg5LCAxLCAxMjUsIDI1MSwgNDEsIAotICAgIDM5LCA4OSwgMSwgMTI1LCAyNTAsIDE2NSwgMzksIDg5LCAxLCAxMjEsIDI1MSwgNDEsIDM5LCA4OSwgMSwgMTIxLCAyMDYsIAotICAgIDM5LCA4OSwgMSwgMTIxLCAyNTAsIDE2NSwgMzksIDg5LCAxLCAyMjcsIDE2OSwgMzksIDg5LCAxLCAyMjMsIDE0MywgMzksIAotICAgIDg5LCAxLCAxMjUsIDIyMywgMTQxLCAzOSwgODksIDEsIDI0OCwgMjI5LCAzOSwgODksIDEsIDEyMSwgMjIzLCAxNDEsIDM5LCAKLSAgICA4OSwgMSwgMjIzLCAxNTIsIDM5LCA4OSwgMSwgMTI1LCAyMTcsIDEwNiwgMzksIDg5LCAxLCAxMjUsIDIxNiwgMjA5LCAzOSwgCi0gICAgODksIDEsIDEyMSwgMjE3LCAxMDYsIDM5LCA4OSwgMSwgMTIxLCAyMTYsIDIwOSwgMzksIDg5LCAxLCAxOTgsIDM5LCA4OSwgCi0gICAgMSwgMjUyLCAxOTksIDM5LCA4OSwgMSwgMTI1LCAxOTEsIDM5LCA4OSwgMSwgMTI1LCAyMjUsIDE1MCwgMzksIDg5LCAxLCAKLSAgICAxMjUsIDI0NCwgMjA0LCAzOSwgODksIDEsIDEyMSwgMTkxLCAzOSwgODksIDEsIDEyMSwgMjQ0LCAyMDQsIDM5LCA4OSwgMSwgCi0gICAgMTIxLCAyMjUsIDE1MCwgMzksIDg5LCAxLCAxODYsIDM5LCA4OSwgMSwgMTIxLCAxOTIsIDM5LCA4OSwgMSwgMTI1LCAxOTIsIAotICAgIDM5LCA4OSwgMSwgMjA1LCAzOSwgODksIDEsIDIyMiwgMTM5LCAzOSwgODksIDEsIDIzMywgMTQxLCAzOSwgODksIDEsIDIzMiwgCi0gICAgOTgsIDM5LCA4OSwgMSwgMjEyLCA2NSwgMzksIDg5LCAxLCAxMjUsIDIyMCwgMTA0LCAzOSwgODksIDEsIDEyNSwgMjE4LCAKLSAgICAyMjUsIDM5LCA4OSwgMSwgMTI1LCAyMDYsIDM5LCA4OSwgMSwgMTI1LCAxNjIsIDM5LCA4OSwgMSwgMjMyLCAxOTAsIDM5LCAKLSAgICA4OSwgMSwgNjEsIDM5LCA4OSwgMSwgMTIxLCAxNjIsIDM5LCA4OSwgMSwgNzQsIDM5LCA4OSwgMSwgMjM2LCA0MCwgMzksIAotICAgIDg5LCAxLCA2OSwgMzksIDg5LCAxLCAyMTQsIDExOCwgMzksIDg5LCAxLCAyNDUsIDIxNywgMzksIDg5LCAxLCAyMjYsIDE4NywgCi0gICAgMzksIDg5LCAxLCAyMzMsIDEyNiwgMzksIDg5LCAxLCAyNDIsIDEzOSwgMjA2LCAzOSwgODksIDExNywgNSwgMTQ3LCAyMDUsIAotICAgIDM5LCA4OSwgMTE3LCA1LCAxNDcsIDIzMywgMTQxLCAzOSwgODksIDExNywgNSwgMjMzLCAxNDIsIDIxNywgNTksIDIzMywgCi0gICAgMTE1LCAzOSwgODksIDUsIDIzMSwgMjA5LCAyMzQsIDIzNywgMjMzLCAxMTUsIDM5LCA4OSwgMTE3LCA1LCA0MCwgMjI5LCAKLSAgICA4MiwgMzksIDg5LCAxMTcsIDUsIDEyMSwgMTkxLCAzOSwgODksIDExNywgNSwgMTI1LCAyMjMsIDE0MiwgMTc3LCAxMjEsIAotICAgIDE5MSwgMzksIDg5LCAxMTcsIDUsIDE4NiwgMzksIDg5LCAxMTcsIDUsIDI1MiwgMTk5LCAzOSwgODksIDExNywgNSwgMjA2LCAKLSAgICAzOSwgODksIDUsIDIyMiwgMTIsIDM5LCA4OSwgMjUsIDUsIDYxLCAzOSwgODksIDI1LCA1LCAyMzEsIDIwOSwgMjIxLCAyMjgsIAotICAgIDM5LCA4OSwgMjUsIDUsIDI1NSwgODIsIDM5LCA4OSwgMjUsIDUsIDIxNywgNjUsIDI1NSwgODIsIDM5LCA4OSwgMjUsIDUsIAotICAgIDc0LCAzOSwgODksIDI1LCA1LCAyMzYsIDQwLCAzOSwgODksIDI1LCA1LCAyMTQsIDIxNCwgMzksIDg5LCAyNSwgNSwgMjE0LCAKLSAgICAxMTcsIDM5LCA4OSwgMjUsIDUsIDY5LCAzOSwgODksIDI1LCA1LCAyMTQsIDExOCwgMzksIDg5LCAyNSwgNSwgNzgsIDM5LCAKLSAgICA4OSwgMjUsIDUsIDIyNywgNSwgNTEsIDM5LCA4OSwgMjUsIDUsIDIyNiwgMTEzLCAzOSwgODksIDI1LCA1LCA3NiwgMzksIAotICAgIDg5LCAyNSwgNSwgMjU0LCAyNTIsIDM5LCA4OSwgMjUsIDUsIDIyNiwgMTg3LCAzOSwgODksIDI1LCA1LCAyNTQsIDIxMCwgCi0gICAgMzksIDg5LCAyNSwgNSwgODksIDI1NCwgMjEwLCAzOSwgODksIDI1LCA1LCAyMjcsIDUsIDQ4LCAzOSwgODksIDUsIDIzMSwgCi0gICAgMjA5LCAyMzQsIDIzNiwgMzksIDg5LCA1LCAyMTYsIDMwLCAzOSwgODksIDUsIDIxNiwgMjksIDM5LCA4OSwgNSwgMjM0LCAKLSAgICAxMDMsIDIxNiwgMjgsIDM5LCA4OSwgNSwgMjM0LCAxMDMsIDIxNiwgMjcsIDM5LCA4OSwgNSwgMjM0LCAxMDMsIDIxNiwgMjYsIAotICAgIDM5LCA4OSwgNSwgMjIzLCAxOTEsIDI0MiwgNTIsIDM5LCA4OSwgNSwgMjMxLCAyMDksIDIyMSwgMjU1LCAzOSwgODksIDUsIAotICAgIDIzNCwgMTAyLCAyMzQsIDIyMSwgMzksIDg5LCAzOCwgMjQ5LCAxMjMsIDI0NywgMTI4LCAzOSwgODksIDI0MSwgNTMsIDIxLCAKLSAgICAyMTAsIDg2LCAzOSwgODksIDI0MSwgNTMsIDIxLCAxMTEsIDM5LCA4OSwgMjQxLCA1MywgMjEsIDEwNSwgMzksIDg5LCAyNDEsIAotICAgIDUzLCAyMSwgMTU4LCAzOSwgODksIDI0MSwgNTMsIDIxLCAxNjEsIDM5LCA4OSwgMjQxLCA1MywgMjEsIDE5MCwgMzksIDg5LCAKLSAgICAyNDEsIDUzLCAyMSwgMTk1LCAzOSwgODksIDI0MSwgNTMsIDIxLCAxOTksIDM5LCA4OSwgMjQxLCA1MywgMjEsIDE5NiwgMzksIAotICAgIDg5LCAyNDEsIDUzLCAyMSwgMjAxLCAzOSwgODksIDg5LCAyMSwgMjEwLCA4NiwgMzksIDg5LCA4OSwgMjEsIDExMSwgMzksIAotICAgIDg5LCA4OSwgMjEsIDEwNSwgMzksIDg5LCA4OSwgMjEsIDE1OCwgMzksIDg5LCA4OSwgMjEsIDE2MSwgMzksIDg5LCA4OSwgCi0gICAgMjEsIDE5MCwgMzksIDg5LCA4OSwgMjEsIDE5NSwgMzksIDg5LCA4OSwgMjEsIDE5OSwgMzksIDg5LCA4OSwgMjEsIDE5NiwgCi0gICAgMzksIDg5LCA4OSwgMjEsIDIwMSwgMzksIDg5LCA1LCAyMTEsIDI0OSwgMzksIDg5LCA1LCAyMTEsIDI0OCwgMzksIDg5LCA1LCAKLSAgICAyMjEsIDIxNywgMzksIDg5LCA1LCAyMzQsIDE2NiwgMzksIDg5LCA1LCAyNDAsIDIzOSwgMzksIDg5LCA1LCAyNDcsIDE0MiwgCi0gICAgMzksIDg5LCA1LCAyMjMsIDUyLCAyMjIsIDE4OSwgMjIzLCAxNTIsIDM5LCA4OSwgNSwgMjMxLCAyMDksIDIxMSwgNzIsIDM5LCAKLSAgICA4OSwgNSwgMjM1LCAxMiwgMzksIDg5LCA1LCAyMzUsIDExLCAzOSwgODksIDUsIDIyMSwgMjI0LCAzOSwgODksIDUsIDIyMSwgCi0gICAgMjIzLCAzOSwgODksIDUsIDI0MiwgMTYsIDM5LCA4OSwgNSwgMjUxLCAzOCwgMTAyLCA1LCAyMTQsIDIwMCwgMjIzLCAzMywgCi0gICAgMTAyLCA1LCAyMTQsIDIwMCwgMjUxLCA5LCAxMDIsIDUsIDI1MCwgMTk0LCAxMDIsIDUsIDIxOCwgMTYsIDEwMiwgNSwgMjUxLCAKLSAgICAyNDEsIDEwMiwgMSwgMjU0LCAxOTMsIDEwMiwgMSwgMjU0LCAxOTQsIDIxNywgMTQsIDEwMiwgMSwgMjM2LCAzNiwgMTAyLCAKLSAgICAxLCAyMzYsIDM3LCAyMTcsIDE0LCAxMDIsIDEsIDIxNCwgMjAzLCAxMDIsIDEsIDIxNCwgMjA0LCAyMTcsIDE0LCAxMDIsIDEsIAotICAgIDIyMywgMTkxLCAyMjMsIDgyLCAxMDIsIDEsIDIyMywgMTkxLCAyMjMsIDgzLCAyMTcsIDE0LCAxMDIsIDEsIDIzMywgMTQyLCAKLSAgICAyMzMsIDMwLCAxMDIsIDEsIDIzMywgMTQyLCAyMzMsIDMxLCAyMTcsIDE0LCAxMDIsIDEsIDI0NSwgMTg3LCAxMDIsIDEsIAotICAgIDI1NCwgMjA4LCAxMDIsIDEsIDIyNiwgMjE2LCAxMDIsIDEsIDIyNiwgMjE3LCAyMTcsIDE0LCAxMDIsIDEsIDE3NiwgMTAyLCAKLSAgICAxLCAyMzUsIDE5LCAyMzEsIDIxMiwgMTAyLCAxLCAyNDMsIDE0MiwgMTAyLCAxLCAyNDMsIDE0MywgMjQyLCAxNjgsIDEwMiwgCi0gICAgMSwgMjI5LCA4MiwgMTAyLCAxLCAyNTEsIDQxLCAxMDIsIDEsIDI1MSwgNDIsIDIzMywgMTI5LCAxMDIsIDEsIDIzNSwgMTQ3LCAKLSAgICAxMDIsIDEsIDIzNSwgMTQ4LCAyMzUsIDEyNCwgMTAyLCAxLCAyMjcsIDE2OSwgMTAyLCAxLCAyMTcsIDEwNywgMjMzLCA4MiwgCi0gICAgMTAyLCAxLCAyMTcsIDEwNywgMjMwLCA3MiwgMjMxLCAyMTIsIDEwMiwgMSwgMjQ4LCAyMzAsIDIzMCwgNzIsIDI1NCwgMTUzLCAKLSAgICAxMDIsIDEsIDI0OCwgMjMwLCAyMzAsIDcyLCAyMzEsIDIxMiwgMTAyLCAxLCAyMjksIDIzNCwgMjIzLCAxNTUsIDEwMiwgMSwgCi0gICAgMjE3LCAxMDYsIDEwMiwgMSwgMjE3LCAxMDcsIDIxNywgMzYsIDEwMiwgMSwgMjQ4LCAyMjksIDEwMiwgMSwgMjQ4LCAyMzAsIAotICAgIDIzMSwgMjMwLCAxMDIsIDEsIDE5OCwgMTAyLCAxLCAxOTEsIDEwMiwgMSwgMjI2LCA5NCwgMjM0LCAyMzIsIDEwMiwgMSwgCi0gICAgMjUyLCAxOTksIDEwMiwgMSwgMjUyLCAyMDAsIDIzNCwgMTc4LCAxMDIsIDEsIDE4NiwgMTAyLCAxLCAxOTIsIDEwMiwgMSwgCi0gICAgMjA1LCAxMDIsIDEsIDIzMywgMTQxLCAxMDIsIDEsIDIxMiwgNjUsIDEwMiwgMSwgMjIyLCAzNiwgMjIyLCAyMiwgMTAyLCAxLCAKLSAgICAyMjIsIDM2LCAyMjEsIDIzNSwgMTAyLCAxLCAyMDYsIDEwMiwgMSwgMTYyLCAxMDIsIDUsIDIyMywgNzMsIDEwMiwgMjUsIDUsIAotICAgIDIxNywgMTQsIDEwMiwgMjUsIDUsIDIxNCwgMTk5LCAxMDIsIDI1LCA1LCAyMTQsIDIwMCwgMjIxLCAyMzEsIDEwMiwgMjUsIAotICAgIDUsIDIxOCwgNDgsIDEwMiwgMjUsIDUsIDIxOCwgNDksIDIzNiwgMjgsIDEwMiwgMjUsIDUsIDIyMywgMTkxLCAyMjMsIDgyLCAKLSAgICAxMDIsIDI1LCA1LCAyMjMsIDE5MSwgMjIzLCA4MywgMjE3LCAxNCwgMTAyLCAyNSwgNSwgMjMzLCAxNDIsIDIzMywgMzAsIAotICAgIDEwMiwgMjUsIDUsIDIzMywgMTQyLCAyMzMsIDMxLCAyMTcsIDE0LCAxMDIsIDI1LCA1LCAyMTcsIDY2LCAxMDIsIDI1LCA1LCAKLSAgICAyMTcsIDY3LCAyMjMsIDgyLCAxMDIsIDI1LCA1LCAyMTcsIDY3LCAyMTcsIDE0LCAxMDIsIDI1LCA1LCAyMTcsIDY3LCAyMjMsIAotICAgIDgzLCAyMTcsIDE0LCAxMDIsIDI1LCA1LCAyMjUsIDE4NywgMTAyLCAyNSwgNSwgMjI1LCAxODgsIDIxNywgMTQsIDEwMiwgCi0gICAgMjU1LCAzLCAyNTUsIDIsIDEwMiwgMSwgMjM1LCAxLCAyMjEsIDIzMCwgMTAyLCAxLCAyMzQsIDEwOCwgMjIxLCAyMzAsIAotICAgIDEwMiwgMSwgMjE1LCAzNCwgMjIxLCAyMzAsIDEwMiwgMSwgMjQ1LCAyMTEsIDIyMSwgMjMwLCAxMDIsIDEsIDIxNCwgMCwgCi0gICAgMjIxLCAyMzAsIDEwMiwgMSwgMjEwLCAxMDcsIDIyMSwgMjMwLCAxMDIsIDEsIDI1MywgMjE3LCAyMjEsIDIzMCwgMTAyLCAKLSAgICAyMSwgMjEwLCA4NiwgMTAyLCAyMSwgMTExLCAxMDIsIDIxLCAxMDUsIDEwMiwgMjEsIDE1OCwgMTAyLCAyMSwgMTYxLCAxMDIsIAotICAgIDIxLCAxOTAsIDEwMiwgMjEsIDE5NSwgMTAyLCAyMSwgMTk5LCAxMDIsIDIxLCAxOTYsIDEwMiwgMjEsIDIwMSwgMTAyLCAKLSAgICAyMjYsIDMzLCAxMDIsIDIyNiwgNTksIDEwMiwgMjExLCAyMzgsIDEwMiwgMjUwLCAyNDQsIDIyNiwgNTIsIDEwMiwgMjUwLCAKLSAgICAyNDQsIDIxOSwgMTc0LCAxMDIsIDI1MCwgMjQ0LCAyMjYsIDYsIDEwMiwgMjI2LCA1OCwgMTAyLCAyOCwgMTYsIDI0NywgCi0gICAgMTM0LCAxMDIsIDI4LCAxNiwgMjQ4LCA1OSwgMTAyLCAyOCwgMTYsIDI0NiwgNzIsIDEwMiwgMjgsIDE2LCAyNDgsIDE4NCwgCi0gICAgMTAyLCAyOCwgMTYsIDI0OCwgMTg1LCAyMTgsIDE2LCAxMDIsIDI4LCAxNiwgMjQ3LCAyMTMsIDEwMiwgMjgsIDE2LCAyNDgsIAotICAgIDIyMiwgMTAyLCAyOCwgMTYsIDI0OCwgNDEsIDEwMiwgMjgsIDE2LCAyNDgsIDIwNiwgMTAyLCAyOCwgMTYsIDI0OCwgMTg1LCAKLSAgICAyNDMsIDY0LCAxMDIsIDI4LCAxNiwgMzgsIDIxNywgMTAsIDEwMiwgMjgsIDE2LCAzOCwgMjQ1LCAxNDksIDEwMiwgMjgsIAotICAgIDE2LCAzOCwgMjM0LCAxNzMsIDEwMiwgMjgsIDE2LCAzOCwgMjM0LCAxNzUsIDEwMiwgMjgsIDE2LCAzOCwgMjM1LCAxMjgsIAotICAgIDEwMiwgMjgsIDE2LCAzOCwgMjM0LCAxNzQsIDIsIDIzNSwgMTI4LCAxMDIsIDI4LCAxNiwgMzgsIDIzNCwgMTc2LCAyLCAKLSAgICAyMzUsIDEyOCwgMTAyLCAyOCwgMTYsIDM4LCAyNTIsIDQ1LCAxMDIsIDI4LCAxNiwgMzgsIDI0MiwgMTcyLCAxMDIsIDI4LCAKLSAgICAxNiwgMjIyLCAyNTIsIDIwNCwgMjQ2LCA4MiwgMTAyLCAyOCwgMTYsIDIyMiwgMjUyLCAyMDQsIDI0OCwgMjIwLCAxMDIsIAotICAgIDI4LCAxNiwgMjIyLCAyNTIsIDI1MCwgOCwgMjE1LCAxMTIsIDEwMiwgMjgsIDE2LCAyMjIsIDI1MiwgMjUwLCA4LCAyMTcsIAotICAgIDc0LCAxMDIsIDI4LCAxNiwgMjMzLCA1MCwgMjA0LCAyMjYsIDQ3LCAxMDIsIDI4LCAxNiwgMjMzLCA1MCwgMjA0LCAyMjQsIAotICAgIDE0MiwgMTAyLCAyOCwgMTYsIDIzMywgNTAsIDI1MCwgOCwgMjI1LCA0MSwgMTAyLCAyOCwgMTYsIDIzMywgNTAsIDI1MCwgOCwgCi0gICAgMjI1LCAyOSwgMTAyLCAyOCwgMTYsIDIzMywgNTAsIDIwNCwgMjI1LCA2NCwgMjA3LCA1LCAyMjYsIDMwLCAyMDcsIDUsIAotICAgIDIyNiwgNDMsIDIwNywgNSwgMjI2LCAzOSwgMjA3LCAxLCA2MSwgMjA3LCAxLCA3NCwgMjA3LCAxLCA2OSwgMjA3LCAxLCAKLSAgICAyNTQsIDI1MiwgMjA3LCAxLCA3OCwgMjA3LCAxLCA3NiwgMjA3LCAxLCAyNDUsIDYzLCAyMDcsIDEsIDE3NiwgMjA3LCAxLCAKLSAgICAyMjQsIDkxLCAyMDcsIDEsIDI0MywgMTQyLCAyMDcsIDEsIDIyOSwgODIsIDIwNywgMSwgMjUxLCA0MSwgMjA3LCAxLCAyMzUsIAotICAgIDE0NywgMjA3LCAxLCAyMTAsIDExNiwgMjA3LCAxLCAyMjcsIDE2OSwgMjA3LCAxLCAyMTcsIDEwNiwgMjA3LCAxLCAyNDgsIAotICAgIDIyOSwgMjA3LCAxLCAxOTgsIDIwNywgMSwgMTkxLCAyMDcsIDEsIDI0NCwgMjA0LCAyMDcsIDEsIDIxNCwgMjcsIDIwNywgMSwgCi0gICAgMjUyLCAxOTksIDIwNywgMSwgMTg2LCAyMDcsIDEsIDE5MiwgMjA3LCAxLCAyMDUsIDIwNywgMSwgMjMzLCAxNDEsIDIwNywgCi0gICAgMSwgMjEyLCA2NSwgMjA3LCAxLCAyMDYsIDIwNywgMSwgMjExLCAxNjUsIDIwNywgMSwgMTYyLCAyMDcsIDExNywgNSwgMjI2LCAKLSAgICA1NiwgMjA3LCAxMTcsIDUsIDIyNiwgMzIsIDIwNywgMTE3LCA1LCAyMjYsIDI5LCAyMDcsIDI1LCA1LCAyMjYsIDQ2LCAyMDcsIAotICAgIDI1LCA1LCAyMjYsIDI4LCAyMDcsIDI1LCA1LCAyMjYsIDUwLCAyMDcsIDI1LCA1LCAyMjYsIDM4LCAyMDcsIDI1LCA1LCAKLSAgICAyMjYsIDU3LCAyMDcsIDI1LCA1LCAyMjYsIDQ4LCAyMDcsIDUsIDIyNiwgNjAsIDIwNywgNSwgMjEzLCAxNTIsIDIwNywgCi0gICAgMTE3LCA1LCAyMjUsIDI1MiwgMTg2LCAyMDcsIDExNywgNSwgMjI1LCAyNTIsIDIxMiwgNjUsIDIwNywgMSwgMjM0LCAxMzgsIAotICAgIDIwNywgMSwgMjE3LCAyMzIsIDIwNywgMjEsIDIxMCwgODYsIDIwNywgMjEsIDExMSwgMjA3LCAyMSwgMTA1LCAyMDcsIDIxLCAKLSAgICAxNTgsIDIwNywgMjEsIDE2MSwgMjA3LCAyMSwgMTkwLCAyMDcsIDIxLCAxOTUsIDIwNywgMjEsIDE5OSwgMjA3LCAyMSwgCi0gICAgMTk2LCAyMDcsIDIxLCAyMDEsIDIwNywgMjUzLCAxODMsIDIwNywgMSwgMjIzLCA1NSwgMjA3LCAxLCAyMzMsIDEzLCAyMDcsIAotICAgIDEsIDI1MiwgMjYsIDIwNywgMSwgNDAsIDIzNSwgMjksIDIwNywgMSwgNDAsIDE5NCwgMjUyLCAxMjgsIDEsIDYxLCAyNTIsIAotICAgIDEyOCwgMSwgMjE5LCAxNjYsIDYxLCAyNTIsIDEyOCwgMSwgMTYyLCAyNTIsIDEyOCwgMSwgMjE5LCAxNjYsIDE2MiwgMjUyLCAKLSAgICAxMjgsIDEsIDIzMSwgMTg2LCAxNjIsIDI1MiwgMTI4LCAxLCAyNTIsIDE5OSwgMjUyLCAxMjgsIDEsIDIzNCwgMjE4LCAyNTIsIAotICAgIDE5OSwgMjUyLCAxMjgsIDEsIDE5MSwgMjUyLCAxMjgsIDEsIDIxOSwgMTY2LCAxOTEsIDI1MiwgMTI4LCAxLCAxOTgsIDI1MiwgCi0gICAgMTI4LCAxLCAyMzEsIDE4NiwgMTk4LCAyNTIsIDEyOCwgMSwgMjEyLCA2NSwgMjUyLCAxMjgsIDEsIDIxOSwgMTY2LCAyMTIsIAotICAgIDY1LCAyNTIsIDEyOCwgMSwgMjI2LCA3MSwgMjEyLCA2NSwgMjUyLCAxMjgsIDEsIDI0MywgMTQyLCAyNTIsIDEyOCwgMSwgCi0gICAgMjE5LCAxNjYsIDI0MywgMTQyLCAyNTIsIDEyOCwgMSwgMjM1LCAxNDcsIDI1MiwgMTI4LCAxLCAyNDgsIDIyOSwgMjUyLCAKLSAgICAxMjgsIDEsIDIwNSwgMjUyLCAxMjgsIDEsIDIxOSwgMTY2LCAyMDUsIDI1MiwgMTI4LCAxLCAxODYsIDI1MiwgMTI4LCAxLCAKLSAgICAyMTksIDE2NiwgMTg2LCAyNTIsIDEyOCwgMSwgMjE5LCAyOCwgMjE3LCAxMDYsIDI1MiwgMTI4LCAxLCAyMjgsIDYwLCAyMTcsIAotICAgIDEwNiwgMjUyLCAxMjgsIDEsIDIwNiwgMjUyLCAxMjgsIDEsIDIxOSwgMTY2LCAyMDYsIDI1MiwgMTI4LCAxLCAyMzEsIDE4NiwgCi0gICAgMjA2LCAyNTIsIDEyOCwgMSwgMTkyLCAyNTIsIDEyOCwgMSwgMjE5LCAxNjYsIDE5MiwgMjUyLCAxMjgsIDEsIDIyOSwgODIsIAotICAgIDI1MiwgMTI4LCAxLCAyMzMsIDE0MSwgMjUyLCAxMjgsIDEsIDIxOSwgMTY2LCAyMzMsIDE0MSwgMjUyLCAxMjgsIDEsIDIyNywgCi0gICAgMTY5LCAyNTIsIDEyOCwgMSwgMjUxLCA0MSwgMjUyLCAxMjgsIDEsIDIyOSwgMTUzLCAyNTIsIDEyOCwgMSwgMjMxLCAxMjksIAotICAgIDI1MiwgMTI4LCAxLCA3NCwgMjUyLCAxMjgsIDEsIDY5LCAyNTIsIDEyOCwgNSwgMjE2LCAzNCwgMjUyLCAxMjgsIDI1LCA1LCAKLSAgICA3NiwgMjUyLCAxMjgsIDI1LCA1LCAyMjYsIDcxLCA3NiwgMjUyLCAxMjgsIDI1LCA1LCAyNDUsIDIxNywgMjUyLCAxMjgsIAotICAgIDI1LCA1LCA3NCwgMjUyLCAxMjgsIDI1LCA1LCAyMzQsIDIxOCwgNzQsIDI1MiwgMTI4LCAyNSwgNSwgNzgsIDI1MiwgMTI4LCAKLSAgICAyNSwgNSwgMjM0LCAyMTgsIDc4LCAyNTIsIDEyOCwgMjUsIDUsIDY5LCAyNTIsIDEyOCwgMjUsIDUsIDEwNCwgMzEsIDIxOSwgCi0gICAgMTY2LCAyMDYsIDI1MiwgMTI4LCAxMTcsIDUsIDIyOSwgODQsIDI1MiwgMTI4LCAxMTcsIDUsIDI0MiwgNjcsIDI1MiwgMTI4LCAKLSAgICAyMjYsIDQxLCAyNTIsIDEyOCwgMjI2LCAzNywgMjUyLCAxMjgsIDE2LCAyNTEsIDI0OSwgMjI5LCAyMzQsIDIzMSwgNDIsIAotICAgIDI1MiwgMTI4LCAxNiwgMjUxLCAyNDksIDIyNSwgNjcsIDI1MiwgMTI4LCAxNiwgMjUxLCAyNDksIDIzNSwgNTQsIDI1MiwgCi0gICAgMTI4LCAxNiwgMjUxLCAyNDksIDIyNiwgNDEsIDE5NywgMSwgMTc2LCAxOTcsIDEsIDIzNCwgNDUsIDE5NywgMSwgMjM0LCAKLSAgICAxMzgsIDE5NywgMSwgMjQzLCAxNDIsIDE5NywgMSwgMjQyLCAxOTMsIDE5NywgMSwgMjI5LCA4MiwgMTk3LCAxLCAyNTEsIAotICAgIDQxLCAxOTcsIDEsIDI1MCwgMTY1LCAxOTcsIDEsIDIzNSwgMTQ3LCAxOTcsIDEsIDIyNywgMTY5LCAxOTcsIDEsIDIxNywgCi0gICAgMTA2LCAxOTcsIDEsIDIxNiwgMjA5LCAxOTcsIDEsIDI0OCwgMjI5LCAxOTcsIDEsIDE5OCwgMTk3LCAxLCAxOTEsIDE5NywgCi0gICAgMSwgMjI1LCA0NSwgMTk3LCAxLCAyMjUsIDE1MCwgMTk3LCAxLCAyNDQsIDIwNCwgMTk3LCAxLCAyNDQsIDgzLCAxOTcsIDEsIAotICAgIDI1MiwgMTk5LCAxOTcsIDEsIDI1MSwgMjMwLCAxOTcsIDEsIDE4NiwgMTk3LCAxLCAyMzAsIDE3MywgMTk3LCAxLCAyMTUsIAotICAgIDE4NCwgMTk3LCAxLCAyMTUsIDE3NiwgMTk3LCAxLCAyNDYsIDQ2LCAxOTcsIDEsIDE5MiwgMTk3LCAxLCAyMDUsIDE5NywgMSwgCi0gICAgMjMzLCAxNDEsIDE5NywgMSwgMTYyLCAxOTcsIDEsIDI0MSwgMTYwLCAxOTcsIDEsIDIxNCwgMjcsIDE5NywgMSwgMjA2LCAKLSAgICAxOTcsIDEsIDIyMCwgMTA0LCAxOTcsIDEsIDIxMiwgNjUsIDE5NywgMSwgNjEsIDE5NywgMjE4LCA3NCwgMSwgMTkyLCAxOTcsIAotICAgIDIxOCwgNzQsIDEsIDIwNSwgMTk3LCAyNSwgNSwgMjU1LCA4MiwgMTk3LCAyNSwgNSwgNzQsIDE5NywgMjUsIDUsIDc4LCAKLSAgICAxOTcsIDI1LCA1LCAyMjYsIDE4NywgMTk3LCAyNSwgNSwgNjksIDE5NywgMjUsIDUsIDIxNCwgMTE4LCAxOTcsIDI1LCA1LCAKLSAgICA3NiwgMTk3LCAxMTcsIDUsIDIzNSwgMjksIDE5NywgMTE3LCA1LCAxOTQsIDE5NywgMTE3LCA1LCAxNTYsIDE5NywgMTE3LCAKLSAgICA1LCAyMzAsIDMwLCAxOTcsIDExNywgNSwgMjI2LCAxMDksIDE5NywgMTE3LCA1LCAxNTMsIDE5NywgMTE3LCA1LCAyMTcsIAotICAgIDE1MywgMTk3LCAxMTcsIDUsIDIyNywgMTQ2LCAxOTcsIDExNywgNSwgMjM0LCAyMzYsIDE5NywgNSwgMjIzLCAxNTMsIDE5NywgCi0gICAgNSwgMjI3LCAyMDksIDE5NywgMjI0LCAxNDQsIDIxNywgMTA0LCAxOTcsIDIyNCwgMTQ0LCAyMjcsIDE1NiwgMjE2LCAxMjEsIAotICAgIDIxNywgMTA0LCAxOTcsIDIyNCwgMTQ0LCAyNTAsIDE3MiwgMTk3LCAyMjQsIDE0NCwgMjE1LCAxNzEsIDI1MCwgMTcyLCAKLSAgICAxOTcsIDIyNCwgMTQ0LCAyMTUsIDE3MCwgMTk3LCAyMSwgMjEwLCA4NiwgMTk3LCAyMSwgMTExLCAxOTcsIDIxLCAxMDUsIAotICAgIDE5NywgMjEsIDE1OCwgMTk3LCAyMSwgMTYxLCAxOTcsIDIxLCAxOTAsIDE5NywgMjEsIDE5NSwgMTk3LCAyMSwgMTk5LCAKLSAgICAxOTcsIDIxLCAxOTYsIDE5NywgMjEsIDIwMSwgMTk3LCAxLCAyMTUsIDE1NywgMTk3LCAxLCAyMTUsIDE0NSwgMTk3LCAxLCAKLSAgICAyNDgsIDE0MywgMjI2LCAyMTQsIDI1MCwgMTExLCAyMSwgMjEwLCA4NiwgMjI2LCAyMTQsIDI1MCwgMTExLCAyMSwgMTExLCAKLSAgICAyMjYsIDIxNCwgMjUwLCAxMTEsIDIxLCAxMDUsIDIyNiwgMjE0LCAyNTAsIDExMSwgMjEsIDE1OCwgMjI2LCAyMTQsIDI1MCwgCi0gICAgMTExLCAyMSwgMTYxLCAyMjYsIDIxNCwgMjUwLCAxMTEsIDIxLCAxOTAsIDIyNiwgMjE0LCAyNTAsIDExMSwgMjEsIDE5NSwgCi0gICAgMjI2LCAyMTQsIDI1MCwgMTExLCAyMSwgMTk5LCAyMjYsIDIxNCwgMjUwLCAxMTEsIDIxLCAxOTYsIDIyNiwgMjE0LCAyNTAsIAotICAgIDExMSwgMjEsIDIwMSwgMjI2LCAyMTQsIDI1MCwgMTExLCAxLCAyMzMsIDE0MSwgMjI2LCAyMTQsIDI1MCwgMTExLCAxLCAKLSAgICAyNTMsIDIxNCwgMjI2LCAyMTQsIDI1MCwgMTExLCAxLCAyNTQsIDIyNSwgMjI2LCAyMTQsIDI1MCwgMTExLCAxLCAyNTQsIAotICAgIDEyMywgMjI2LCAyMTQsIDI1MCwgMTExLCAxLCAyNTQsIDE4NywgMjI2LCAyMTQsIDI1MCwgMTExLCAxLCAyMzMsIDE0MCwgCi0gICAgMjI2LCAyMTQsIDI1MCwgMTExLCAxLCAyNTUsIDQ0LCAyMjYsIDIxNCwgMjUwLCAxMTEsIDEsIDI1NSwgNDUsIDIyNiwgMjE0LCAKLSAgICAyNTAsIDExMSwgMSwgMjU1LCA0MywgMjI2LCAyMTQsIDI1MCwgMTExLCAxLCAyNTUsIDM4LCAyMjYsIDIxNCwgMjUwLCAxMTEsIAotICAgIDEsIDIzMiwgMjQ3LCAyMjYsIDIxNCwgMjUwLCAxMTEsIDEsIDIzNSwgMTc4LCAyMjYsIDIxNCwgMjUwLCAxMTEsIDEsIDIzNiwgCi0gICAgNDEsIDIyNiwgMjE0LCAyNTAsIDExMSwgMSwgMjM1LCAxOTcsIDIyNiwgMjE0LCAyNTAsIDExMSwgMSwgMjM1LCAxODYsIAotICAgIDIyNiwgMjE0LCAyNTAsIDExMSwgMSwgMjMyLCAxMDMsIDIyNiwgMjE0LCAyNTAsIDExMSwgMSwgMjE0LCAyMjEsIDIyNiwgCi0gICAgMjE0LCAyNTAsIDExMSwgMSwgMjE0LCAyMTksIDIyNiwgMjE0LCAyNTAsIDExMSwgMSwgMjE0LCAxNjgsIDIyNiwgMjE0LCAKLSAgICAyNTAsIDExMSwgMSwgMjE0LCAxMTEsIDIyNiwgMjE0LCAyNTAsIDExMSwgMSwgMjMzLCA2NCwgMjI2LCAyMTQsIDI1MCwgCi0gICAgMTExLCAxLCAyNDUsIDExNiwgMjI2LCAyMTQsIDI1MCwgMTExLCAxLCAyNDUsIDIyMCwgMjI2LCAyMTQsIDI1MCwgMTExLCAxLCAKLSAgICAyNDUsIDE1OCwgMjI2LCAyMTQsIDI1MCwgMTExLCAxLCAyNDUsIDk0LCAyMjYsIDIxNCwgMjUwLCAxMTEsIDEsIDIzMiwgCi0gICAgMTYyLCAyMjYsIDIxNCwgMjUwLCAxMTEsIDEsIDIyNiwgMTQxLCAyMjYsIDIxNCwgMjUwLCAxMTEsIDEsIDIyNywgMCwgMjI2LCAKLSAgICAyMTQsIDI1MCwgMTExLCAxLCAyMjYsIDEyOSwgMjI2LCAyMTQsIDI1MCwgMTExLCAxLCAyMjYsIDIyNiwgMjI2LCAyMTQsIAotICAgIDI1MCwgMTExLCAyMzAsIDEwOCwgMjE1LCAxMjIsIDIyNiwgMjE0LCAyNTAsIDExMSwgMjQzLCAxMzcsIDIxNSwgMTIzLCAKLSAgICAyMjYsIDIxNCwgMjUwLCAxMTEsIDIzMCwgMTA2LCAyMTUsIDEyMywgMjI2LCAyMTQsIDI1MCwgMTExLCAyMjMsIDk1LCAyMjYsIAotICAgIDIxNCwgMjUwLCAxMTEsIDIyNSwgMTQ4LCAyMjYsIDIxNCwgMjUwLCAxMTEsIDI1NCwgMjE3LCAyMjYsIDIxNCwgMjUwLCAKLSAgICAxMTEsIDIyNCwgMTQ0LCAyMzAsIDEwMywgMjI2LCAyMTQsIDI1MCwgMTExLCAyMjQsIDE0NCwgNTIsIDIzMCwgMTAzLCAyMDcsIAotICAgIDIyNCwgMTQ0LCAyNTEsIDI0OSwgMjE4LCA5LCAyMDcsIDIyNCwgMTQ0LCAyNTEsIDI0OSwgMjI2LCA0MiwgMjA3LCAyMjQsIAotICAgIDE0NCwgMjUxLCAyNDksIDIyNCwgMTMyLCAyMDcsIDIyNCwgMTQ0LCAyNTEsIDI0OSwgMjUxLCAyNywgMjA3LCAyMjQsIDE0NCwgCi0gICAgMjUxLCAyNDksIDIzMywgMTQsIDIyMSwgMjI3LCAyMDcsIDIyNCwgMTQ0LCAyNTEsIDI0OSwgMjM1LCAxOSwgMjIxLCAyMjcsIAotICAgIDIwNywgMjI0LCAxNDQsIDI1MSwgMjQ5LCAyNDgsIDIzMCwgMjIxLCAyMjcsIDIwNywgMjI0LCAxNDQsIDI1MSwgMjQ5LCAKLSAgICAyNTIsIDIwMCwgMjIxLCAyMjcsIDIxMywgMjUyLCAxMzgsIDIzNCwgMjE2LCAyMTMsIDI1MiwgMTM4LCAyMjAsIDc5LCAyMTMsIAotICAgIDI1MiwgMTM4LCAyMjQsIDIwMSwgMjEzLCAyNTIsIDUsIDIyOCwgMjE0LCAyMTMsIDI1MiwgNSwgMjExLCA4MCwgMjMwLCAKLSAgICAyMjcsIDIxOCwgMSwgMjEzLCAyNTIsIDEzOCwgMjExLCA4MCwgMjU0LCAyMjIsIDIzNSwgMjUwLCAyMTgsIDEsIDIxMywgCi0gICAgMjUyLCAxMzgsIDIxMSwgODAsIDIzNSwgMjUwLCAyMTgsIDEsIDIxMywgMjUyLCAxMzgsIDIxMSwgODAsIDIzNCwgMjA0LCAKLSAgICAyMzUsIDI1MCwgMjE4LCAxLCAyMTMsIDI1MiwgMTM4LCAyNTEsIDEwLCA1MSwgMjEzLCAyNTIsIDEzOCwgMjExLCA4MCwgCi0gICAgMjM0LCAyMDQsIDIzNSwgMjUwLCAyMTgsIDIsIDIyMSwgMTk5LCAyMTMsIDI1MiwgMTM4LCA1MiwgMjE4LCAxLCAyMTMsIAotICAgIDI1MiwgMTM4LCAyMTUsIDIxMiwgMjE4LCAxLCAyMTMsIDI1MiwgMTM4LCAyMzQsIDIwNCwgMjU0LCA4NSwgMjEzLCAyNTIsIAotICAgIDEzOCwgNTksIDUxLCAyMTMsIDI1MiwgMTM4LCAxMTMsIDE3MCwgNTEsIDIxMywgMjUyLCAxMzgsIDEzNCwgMTcwLCA1MSwgCi0gICAgMjEzLCAyNTIsIDEzOCwgMjIyLCAyNDMsIDIzNCwgMjE1LCAyMzUsIDI1MCwgMjE4LCAxLCAyMTMsIDI1MiwgMTM4LCAyNTMsIAotICAgIDIxMiwgMjM1LCAyNTAsIDIxOCwgMSwgMjEzLCAyNTIsIDUsIDIxMywgMTQ4LCAyMTgsIDEsIDIxMywgMjUyLCA1LCAyMTMsIAotICAgIDE0OCwgMjE0LCAyMTYsIDIxMywgMjUyLCA1LCAyMjMsIDUyLCAyMTMsIDE0OCwgMjE0LCAyMTYsIDIxMywgMjUyLCA1LCAKLSAgICAyMTMsIDE0OCwgMjU0LCA4NSwgMjEzLCAyNTIsIDUsIDIyMywgNTIsIDIxMywgMTQ4LCAyNTQsIDg1LCAyMTMsIDI1MiwgNSwgCi0gICAgMjEzLCAxNDgsIDIxNCwgMjE3LCAyLCAyMTcsIDc4LCAyMTMsIDI1MiwgNSwgMjEzLCAxNDgsIDI1NCwgODYsIDIsIDIxNywgCi0gICAgNzgsIDIxMywgMjUyLCA1LCAyNTQsIDg0LCAyNTQsIDk5LCAyMTMsIDI1MiwgNSwgMjU0LCA4NCwgMjUyLCAxNzQsIDIxMywgCi0gICAgMjUyLCA1LCAyNTQsIDg0LCAyMTQsIDIwLCAyMTMsIDI1MiwgNSwgMjU0LCA4NCwgMjE0LCAyMSwgMiwgMjE3LCA3OCwgMjEzLCAKLSAgICAyNTIsIDUsIDIxNiwgNjksIDIxMywgMjUyLCA1LCAyNDEsIDE5OCwgMjAwLCAyNTQsIDgzLCAyMTMsIDI1MiwgNSwgMjAwLCAKLSAgICAyNTQsIDgzLCAyMTMsIDI1MiwgNSwgMjIyLCAxNDQsIDIwMCwgMjU0LCA4MywgMjEzLCAyNTIsIDUsIDI1NCwgODQsIDIxNCwgCi0gICAgMjIzLCAyMzAsIDk1LCAyMTMsIDI1MiwgNSwgMjU0LCAyOCwgMjEzLCAyNTIsIDUsIDIyMiwgMTg5LCAyNTQsIDI4LCAyMTMsIAotICAgIDI1MiwgMTM4LCAyNTEsIDEwLCA0OCwgMjEzLCAyNTIsIDUsIDIzNSwgMTA4LCAyMTMsIDI1MiwgNSwgMjE0LCAxNjEsIDcsIAotICAgIDEsIDQsIDYsIDYxLCA3LCAxLCA0LCA2LCAyNTQsIDI1MiwgNywgNCwgMSwgMjE1LCA5NCwgMjU0LCAyNTIsIDcsIDEsIDQsIAotICAgIDYsIDI1MiwgMTQyLCAyNTMsIDE2NiwgNywgMSwgNCwgNiwgMjUxLCA3NCwgNywgMSwgNCwgNiwgMjQ5LCA2OCwgNywgMSwgNCwgCi0gICAgNiwgMjQ1LCA2NywgNywgMSwgNCwgNiwgNzYsIDcsIDQsIDEsIDIxNSwgOTQsIDIwNCwgNzYsIDcsIDQsIDEsIDIxNSwgOTQsIAotICAgIDc0LCA3LCAxLCA0LCA2LCAyMzUsIDE1MCwgNywgMSwgNCwgNiwgMjM1LCAyOSwgNywgMSwgNCwgNiwgMjMzLCAxNTUsIDIsIAotICAgIDkxLCA3LCAxLCA0LCA2LCAxOTQsIDcsIDEsIDQsIDYsIDIyMywgNTIsIDIzMCwgMzAsIDcsIDEsIDQsIDYsIDc4LCA3LCAxLCAKLSAgICA0LCA2LCAyMDQsIDc4LCA3LCA0LCAxLCAyMTksIDE4OSwgNzgsIDcsIDQsIDEsIDIxOSwgMTg5LCAyMDQsIDc4LCA3LCA0LCAKLSAgICAxLCAyMTksIDE4OSwgMTQ0LCAyLCA5MSwgNywgNCwgMSwgMjE1LCA5NCwgMjI2LCAyMzgsIDcsIDEsIDQsIDYsIDIyNiwgCi0gICAgMTM4LCA3LCA0LCAxLCAyMTYsIDE1LCAxNjMsIDc4LCA3LCA0LCAxLCAyNTEsIDE4MywgMTYzLCA3OCwgNywgMSwgNCwgNiwgCi0gICAgMjI2LCAxMDksIDcsIDEsIDQsIDYsIDIyMywgNTIsIDE1MywgNywgMSwgNCwgNiwgMjE1LCA5NCwgMTUzLCA3LCAxLCA0LCA2LCAKLSAgICAyMTcsIDE1MywgNywgMSwgNCwgNiwgNjksIDcsIDQsIDEsIDIxOSwgMTg5LCA2OSwgNywgNCwgMSwgMjE5LCAxODksIDI0OCwgCi0gICAgOCwgNjksIDcsIDQsIDEsIDIxOSwgMTg5LCAyMTUsIDk0LCAxOTQsIDcsIDEsIDQsIDYsIDIxNCwgMTA1LCA3LCAxLCA0LCA2LCAKLSAgICAyMTIsIDk4LCA3LCAxLCA0LCA2LCAyMTAsIDE1OSwgNywgMSwgNCwgNiwgMjQ1LCAxNiwgNywgMSwgMjEzLCAxMzUsIDIzMywgCi0gICAgODgsIDIxOCwgMjUyLCA3LCAxLCAyNTQsIDIwNSwgMjYsIDEsIDQsIDYsIDI0MywgMTE0LCAyNiwgMSwgNCwgNiwgMjMzLCAKLSAgICAxMDQsIDI2LCAxLCA0LCA2LCAyMjUsIDExMSwgMjYsIDEsIDQsIDYsIDIyMywgNDAsIDI2LCAxLCA0LCA2LCAyMjQsIDE2NCwgCi0gICAgMzMsIDEsIDQsIDYsIDI0NSwgMTgyLCA1OCwgMSwgNiwgNjEsIDU4LCAxLCA2LCAyNTQsIDI1MiwgNTgsIDEsIDYsIDI1MywgCi0gICAgMTY2LCA1OCwgMSwgNiwgMjUyLCAxNDIsIDI1MywgMTY2LCA1OCwgMSwgNiwgMjQ5LCA2OCwgNTgsIDEsIDYsIDc2LCA1OCwgCi0gICAgMSwgNiwgMjIzLCA1MiwgNzYsIDU4LCAxLCA2LCAyNDMsIDIwOSwgNTgsIDEsIDYsIDI0MiwgNjcsIDU4LCAxLCA2LCA3NCwgCi0gICAgNTgsIDEsIDYsIDIzNSwgMTUwLCA1OCwgMSwgNiwgMjM1LCAyOSwgNTgsIDEsIDYsIDE1NiwgNTgsIDEsIDYsIDE5NCwgNTgsIAotICAgIDEsIDYsIDIzMCwgMzAsIDU4LCAxLCA2LCAyMjMsIDUyLCAyMzAsIDMwLCA1OCwgMSwgNiwgNzgsIDU4LCAxLCA2LCAyMjYsIAotICAgIDEzOCwgNTgsIDEsIDYsIDIyNiwgMTA5LCA1OCwgMSwgNiwgMTUzLCA1OCwgMSwgNiwgMjE3LCAxNTMsIDU4LCAxLCA2LCA2OSwgCi0gICAgNTgsIDEsIDYsIDIxMiwgOTgsIDU4LCAxLCA0LCA2MSwgNTgsIDEsIDQsIDIxNSwgOTQsIDYxLCA1OCwgMSwgNCwgMjU0LCAKLSAgICAxNTEsIDU4LCAxLCA0LCAyMTUsIDk0LCAyNTQsIDI1MiwgNTgsIDEsIDQsIDI1MywgMTY2LCA1OCwgMSwgNCwgMjQ5LCA2OCwgCi0gICAgNTgsIDEsIDQsIDc2LCA1OCwgMSwgNCwgMjIxLCAxOTcsIDU4LCAxLCA0LCAyMDQsIDc2LCA1OCwgMSwgNCwgMjE1LCA5NCwgCi0gICAgMjA0LCA3NiwgNTgsIDEsIDQsIDI0MywgMjA5LCA1OCwgMSwgNCwgMjE1LCA5NCwgNzQsIDU4LCAxLCA0LCAyMzUsIDI5LCAKLSAgICA1OCwgMSwgNCwgMTk0LCA1OCwgMSwgNCwgMjQ1LCAxNDYsIDU4LCAxLCA0LCA3OCwgNTgsIDEsIDQsIDIwNCwgNzgsIDU4LCAKLSAgICAxLCA0LCAyMTYsIDE1LCAxNjMsIDc4LCA1OCwgMSwgNCwgMjUxLCAxODMsIDE2MywgNzgsIDU4LCAxLCA0LCAyMjYsIDEwOSwgCi0gICAgNTgsIDEsIDQsIDIxNywgMTUzLCA1OCwgMSwgNCwgNjksIDU4LCAxLCA0LCAyMTksIDE4OSwgNjksIDU4LCAxLCA0LCAyMTUsIAotICAgIDk0LCAxOTQsIDU4LCAxLCA0LCAyMTQsIDEwNSwgNTgsIDEsIDQsIDI1NCwgMjA1LCA1OCwgMSwgNCwgMjUyLCAzNCwgNTgsIAotICAgIDEsIDQsIDI2LCAyNDMsIDExNCwgNTgsIDEsIDQsIDI0OCwgNjIsIDU4LCAxLCA0LCAyNiwgMjI1LCAxMzYsIDU4LCAxLCA0LCAKLSAgICAyNTAsIDExOCwgNywgMjE4LCA2NiwgNCwgMSwgNzQsIDcsIDIxOCwgNjYsIDQsIDEsIDE1MywgNywgMjE4LCA2NiwgNCwgMSwgCi0gICAgNjksIDcsIDIxOCwgNjYsIDQsIDEsIDIxNCwgMTA1LCAyNiwgMjE4LCA2NiwgNCwgMSwgMjUyLCAzNCwgMjYsIDIxOCwgNjYsIAotICAgIDQsIDEsIDI0MywgMTE0LCAyNiwgMjE4LCA2NiwgNCwgMSwgMjIzLCA0MCwgMjYsIDIxOCwgNjYsIDQsIDEsIDIyNSwgMTM2LCAKLSAgICAyNiwgMjE4LCA2NiwgNCwgMSwgMjUwLCAxMTgsIDcsIDQsIDEsIDIxNCwgMjE0LCA3LCA0LCAxLCA1NywgMiwgMjMwLCAyMjksIAotICAgIDE4NCwgNywgNCwgMSwgMjQ5LCA2OSwgMiwgMjMwLCAyMjksIDE4NCwgNywgNCwgMSwgMjQ1LCAxNSwgMiwgMjMwLCAyMjksIAotICAgIDE4NCwgNywgNCwgMSwgMjMyLCA1NSwgMiwgMjMwLCAyMjksIDE4NCwgNywgNCwgMSwgMjMwLCAzMSwgMiwgMjMwLCAyMjksIAotICAgIDE4NCwgNywgNCwgMSwgMjI2LCAxMTAsIDIsIDIzMCwgMjI5LCAxODQsIDcsIDQsIDEsIDIyMywgMjI3LCAyLCAyMzAsIDIyOSwgCi0gICAgMTg0LCA3LCA0LCAxLCAyMjMsIDIyNywgMiwgMjQ0LCA5NiwgMjIsIDIzMCwgMjI5LCAxODQsIDcsIDQsIDEsIDIyMiwgOTQsIAotICAgIDIsIDIzMCwgMjI5LCAxODQsIDcsIDQsIDEsIDIxNywgMTU0LCAyLCAyMzAsIDIyOSwgMTg0LCA3LCA0LCAxLCAyMTAsIDE2MCwgCi0gICAgMiwgMjMwLCAyMjksIDE4NCwgNywgNCwgMSwgMjE1LCA5NCwgMjQzLCAyMDksIDU4LCAxLCAzMywgMjQ1LCAxNTgsIDcsIDQsIAotICAgIDEsIDIzNSwgMjIwLCAyNDMsIDIwOSwgNywgNCwgMSwgMjE2LCAyMTIsIDIsIDIxOCwgMTA5LCA3LCA0LCA2LCAxLCAyNDAsIAotICAgIDE2MSwgMiwgOTEsIDcsIDQsIDEsIDIzNSwgMTkzLCAyLCA5MSwgNywgNCwgMSwgMjI2LCAxMTAsIDIsIDkxLCA3LCA0LCA2LCAKLSAgICAxLCAxMDQsIDIsIDkxLCA3LCA0LCAxLCAyMTQsIDE1OCwgMiwgOTEsIDcsIDQsIDEsIDU3LCAyLCAyMjYsIDcwLCAxMDMsIDcsIAotICAgIDQsIDEsIDI0OSwgNjksIDIsIDIyNiwgNzAsIDEwMywgNywgNCwgMSwgMjQ1LCAxNSwgMiwgMjI2LCA3MCwgMTAzLCA3LCA0LCAKLSAgICAxLCAyNDMsIDIxMCwgMiwgMjI2LCA3MCwgMTAzLCA3LCA0LCAxLCAyMzUsIDMwLCAyLCAyMjYsIDcwLCAxMDMsIDcsIDQsIDEsIAotICAgIDIzMywgMTU1LCAyLCAyMjYsIDcwLCAxMDMsIDcsIDQsIDEsIDIzMiwgNTUsIDIsIDIyNiwgNzAsIDEwMywgNywgNCwgMSwgCi0gICAgMjMwLCAzMSwgMiwgMjI2LCA3MCwgMTAzLCA3LCA0LCAxLCAyMjYsIDExMCwgMiwgMjI2LCA3MCwgMTAzLCA3LCA0LCAxLCAKLSAgICAyMjMsIDIyNywgMiwgMjI2LCA3MCwgMTAzLCA3LCA0LCAxLCAyMjIsIDk0LCAyLCAyMjYsIDcwLCAxMDMsIDcsIDQsIDEsIAotICAgIDI0NSwgODQsIDIsIDIyNiwgNzAsIDEwMywgNywgNCwgMSwgMjE0LCAxMDYsIDIsIDIyNiwgNzAsIDEwMywgNywgNCwgMSwgCi0gICAgMjExLCAxNzksIDIsIDIyNiwgNzAsIDEwMywgNywgNCwgMSwgMjEwLCAxNjAsIDIsIDIyNiwgNzAsIDEwMywgNywgNCwgMSwgCi0gICAgMTE2LCAyLCAyMjMsIDU4LCAxMDMsIDcsIDQsIDEsIDI1NCwgMTUyLCAyLCAyMjMsIDU4LCAxMDMsIDcsIDQsIDEsIDI0OSwgCi0gICAgNjksIDIsIDI0MSwgNTksIDIyLCAyMTcsIDc4LCA3LCA0LCAxLCAxNjAsIDIsIDIyMywgNTgsIDEwMywgNywgNCwgMSwgMjA0LCAKLSAgICAxNjAsIDIsIDIyMywgNTgsIDEwMywgNywgNCwgMSwgMjIzLCA1MiwgMjA0LCAxNjAsIDIsIDIyMywgNTgsIDEwMywgNywgNCwgCi0gICAgMSwgMjIxLCAxOTgsIDIsIDIyMywgNTgsIDEwMywgNywgNCwgMSwgMjQwLCAxNjEsIDIsIDIyMywgNTgsIDEwMywgNywgNCwgCi0gICAgMSwgMjA0LCAxNDQsIDIsIDIyMywgNTgsIDEwMywgNywgNCwgMSwgMjQ1LCA4NCwgMiwgMjIzLCA1OCwgMTAzLCA3LCA0LCAxLCAKLSAgICAxMDQsIDIsIDIyMywgNTgsIDEwMywgNywgNCwgMSwgMjQ1LCAxNywgMiwgMjIzLCA1OCwgMTAzLCA1OCwgMSwgNCwgMjE1LCAKLSAgICA5NCwgMjU0LCAxNTEsIDU4LCAxLCA0LCAyNTEsIDc0LCA1OCwgMSwgNCwgMjUxLCA3NSwgMiwgMjQ5LCAxMDgsIDU4LCAxLCAKLSAgICA0LCAyNDUsIDY3LCA1OCwgMSwgNCwgMjIzLCA1MiwgMjA0LCA3NiwgNTgsIDEsIDQsIDI0NSwgMTQsIDU4LCAxLCA0LCAyNDcsIAotICAgIDEyNywgMjM1LCAxNTEsIDIsIDkxLCA1OCwgMSwgNCwgMTE5LCAyNDMsIDIwOSwgNTgsIDEsIDQsIDIxNSwgOTQsIDI0MiwgCi0gICAgNjcsIDU4LCAxLCA0LCAyNDAsIDE2MSwgMiwgOTEsIDU4LCAxLCA0LCAyMzUsIDE5MiwgNTgsIDEsIDQsIDYsIDc0LCA1OCwgCi0gICAgMSwgNCwgNiwgMjQwLCAxNjEsIDIsIDkxLCA1OCwgMSwgNCwgMjM1LCAxNTEsIDIsIDI0OSwgMTM1LCA1OCwgMSwgNCwgMjMzLCAKLSAgICAxNTUsIDIsIDIyMywgNTgsIDEwMywgNTgsIDEsIDQsIDIzMywgMTU1LCAyLCAyMjYsIDcwLCAxMDMsIDU4LCAxLCA0LCA2LCAKLSAgICAxNTYsIDU4LCAxLCA0LCAyMzIsIDU1LCAyLCAxMDMsIDU4LCAxLCA0LCAyMTUsIDk0LCAyMzIsIDU1LCAyLCAyMDAsIDIzMywgCi0gICAgNDIsIDU4LCAxLCA0LCAyMzAsIDMxLCAyLCA0MywgMTAzLCA1OCwgMSwgNCwgMjMwLCAzMSwgMiwgMjIzLCA1OCwgMTAzLCAKLSAgICA1OCwgMSwgNCwgNiwgMjMwLCAzMCwgNTgsIDEsIDQsIDI1MiwgMTQyLCA3OCwgNTgsIDEsIDQsIDIyNSwgMTM2LCA1OCwgMSwgCi0gICAgNCwgMjIyLCA5NCwgMiwgMTAzLCA1OCwgMSwgNCwgMjQ1LCA4MywgNTgsIDEsIDQsIDIxNywgMTU0LCAyLCAyMjYsIDcwLCAKLSAgICAxMDMsIDU4LCAxLCA0LCAxMDQsIDEzMCwgNTgsIDEsIDQsIDIxNCwgMTU3LCA1OCwgMSwgNCwgNiwgNjksIDU4LCAxLCA0LCAKLSAgICAyMTQsIDEwNiwgMiwgMTAzLCA1OCwgMSwgNCwgMjE1LCA5NCwgMjE0LCAxMDUsIDU4LCAxLCA0LCAyMTAsIDE1OSwgNTgsIDEsIAotICAgIDQsIDIxMCwgMTYwLCAyLCAyMjMsIDU4LCAxMDMsIDU4LCAxLCA0LCAyMTAsIDE2MCwgMiwgMjQ5LCAxMDgsIDU4LCAxLCA0LCAKLSAgICAyNDUsIDE2LCA1OCwgMSwgNCwgMjE2LCAxODAsIDM4LCAyNDYsIDEyNiwgMjQyLCAxNDQsIDI1NSwgMjMsIDM4LCAyNDYsIAotICAgIDEyNiwgMjU1LCAxMiwgMjU1LCAyMywgMzgsIDIxOSwgNzEsIDUxLCAzOCwgMjE4LCA3LCA3OSwgMzgsIDIzMSwgMjM2LCAzOCwgCi0gICAgMjQyLCAxNDEsIDM4LCAyMzEsIDIzNCwgMzgsIDI1NSwgMTAsIDM4LCAyNDIsIDE0MiwgMzgsIDI1NSwgMTEsIDM4LCA3LCA0LCAKLSAgICAxLCAyMjMsIDIyNywgNTEsIDM4LCAyNTEsIDE1MywgMzgsIDIzMSwgMjM1LCAzOCwgNTIsIDI1MCwgMzksIDQ4LCAzOCwgCi0gICAgMjI2LCAyMjksIDQ4LCAzOCwgMjEwLCAzNSwgNTEsIDM4LCAyMzUsIDE3OSwgNTEsIDM4LCAyMTQsIDE1MSwgNDgsIDM4LCAKLSAgICAyMTQsIDEzNCwgNDgsIDM4LCA3LCA0LCAxLCAyNDQsIDcxLCAyMDQsIDExNiwgNDgsIDM4LCA3LCA0LCAxLCAyNTQsIDI1MiwgCi0gICAgMzgsIDcsIDQsIDEsIDI1NCwgODEsIDM4LCA3LCA0LCAxLCAyNTMsIDE4NCwgMzgsIDcsIDQsIDEsIDI1MSwgNzUsIDI1MCwgCi0gICAgMTkxLCAzOCwgNywgNCwgMSwgMjM1LCAyMjAsIDI0OSwgNjgsIDM4LCA3LCA0LCAxLCAyNDUsIDY3LCAzOCwgNywgNCwgMSwgCi0gICAgMjQzLCAyMDksIDM4LCA3LCAxLCA0LCA2LCAyNDMsIDIwOSwgMzgsIDcsIDQsIDEsIDIzNSwgMjksIDM4LCA3LCA0LCAxLCAKLSAgICAxNTYsIDM4LCA3LCAxLCA0LCA2LCAxNTYsIDM4LCA3LCAxLCA0LCA2LCAxOTQsIDM4LCA3LCA0LCAxLCAyMzAsIDMwLCAzOCwgCi0gICAgNywgMSwgNCwgNiwgMjMwLCAzMCwgMzgsIDcsIDEsIDQsIDYsIDE1MywgMzgsIDcsIDQsIDEsIDIyMywgMjI3LCAyMjIsIAotICAgIDE4OCwgMzgsIDcsIDQsIDEsIDIyMiwgOTMsIDM4LCA3LCA0LCAxLCAyMDAsIDIyMiwgOTMsIDM4LCA3LCA0LCAxLCAyMTAsIAotICAgIDE1OSwgMzgsIDUyLCAyMzUsIDIwMCwgMjUxLCAxNTUsIDUxLCAzOCwgMjU0LCAxNTYsIDEyOCwgMjE2LCA0MywgNTEsIDM4LCAKLSAgICA0MywgMjU0LCAyLCA0OCwgMzgsIDQ0LCAyNTQsIDIsIDIyLCAxMjQsIDI1NCwgMiwgNTEsIDcsIDYsIDEsIDExNiwgMiwgCi0gICAgMjIyLCAyMzcsIDUxLCA3LCA0LCAxLCAxMTYsIDIsIDIyMiwgMjM3LCA1MSwgNywgNiwgMSwgNTcsIDIsIDU5LCA0OCwgNywgCi0gICAgNCwgMSwgNTcsIDIsIDU5LCA0OCwgNywgNiwgMSwgNTcsIDIsIDU5LCA1MSwgNywgNCwgMSwgNTcsIDIsIDU5LCA1MSwgNywgCi0gICAgNiwgMSwgNTcsIDIsIDIzMiwgMjIwLCA1MSwgNywgNCwgMSwgNTcsIDIsIDIzMiwgMjIwLCA1MSwgNywgNiwgMSwgMjUxLCAKLSAgICA3NSwgMiwgMjUwLCAxOTIsIDIyLCAxNDIsIDcsIDQsIDEsIDI1MSwgNzUsIDIsIDI1MCwgMTkyLCAyMiwgMTQyLCA3LCA2LCAKLSAgICAxLCAyNDksIDY5LCAyLCA1OSwgNDgsIDcsIDQsIDEsIDI0OSwgNjksIDIsIDU5LCA0OCwgNywgNiwgMSwgMjQ5LCA2OSwgMiwgCi0gICAgNTksIDUxLCA3LCA0LCAxLCAyNDksIDY5LCAyLCA1OSwgNTEsIDcsIDYsIDEsIDI0OSwgNjksIDIsIDIzMiwgMjIwLCA1MSwgCi0gICAgNywgNCwgMSwgMjQ5LCA2OSwgMiwgMjMyLCAyMjAsIDUxLCA3LCA2LCAxLCAyNDksIDY5LCAyLCAyNTAsIDE5MSwgNywgNCwgCi0gICAgMSwgMjQ5LCA2OSwgMiwgMjUwLCAxOTEsIDcsIDYsIDEsIDI0OSwgNjksIDIsIDI1MCwgMzksIDUxLCA3LCA0LCAxLCAyNDksIAotICAgIDY5LCAyLCAyNTAsIDM5LCA1MSwgNywgNiwgMSwgMTYwLCAyLCAyMzEsIDIzOCwgMjIsIDI0MiwgMTQzLCA3LCA0LCAxLCAKLSAgICAxNjAsIDIsIDIzMSwgMjM4LCAyMiwgMjQyLCAxNDMsIDcsIDYsIDEsIDE2MCwgMiwgMjMxLCAyMzgsIDIyLCAxNDIsIDcsIDQsIAotICAgIDEsIDE2MCwgMiwgMjMxLCAyMzgsIDIyLCAxNDIsIDcsIDYsIDEsIDE2MCwgMiwgMjUwLCAzOSwgNTEsIDcsIDQsIDEsIDE2MCwgCi0gICAgMiwgMjUwLCAzOSwgNTEsIDcsIDYsIDEsIDE2MCwgMiwgMjE2LCA5MCwgNTEsIDcsIDQsIDEsIDE2MCwgMiwgMjE2LCA5MCwgCi0gICAgNTEsIDcsIDYsIDEsIDE2MCwgMiwgMjUwLCAxOTIsIDIyLCAyNTEsIDE1NCwgNywgNCwgMSwgMTYwLCAyLCAyNTAsIDE5MiwgCi0gICAgMjIsIDI1MSwgMTU0LCA3LCA2LCAxLCAyNDUsIDE1LCAyLCA1OSwgNDgsIDcsIDQsIDEsIDI0NSwgMTUsIDIsIDU5LCA0OCwgCi0gICAgNywgNiwgMSwgMjQzLCAyMTAsIDIsIDIzMSwgMjM3LCA3LCA0LCAxLCAyNDMsIDIxMCwgMiwgMjMxLCAyMzcsIDcsIDYsIDEsIAotICAgIDI0MiwgNjgsIDIsIDU5LCA0OCwgNywgNCwgMSwgMjQyLCA2OCwgMiwgNTksIDQ4LCA3LCA2LCAxLCAyNDIsIDY4LCAyLCA1OSwgCi0gICAgNTEsIDcsIDQsIDEsIDI0MiwgNjgsIDIsIDU5LCA1MSwgNywgNiwgMSwgMjQyLCA2OCwgMiwgMjQ4LCA5LCA3LCA0LCAxLCAKLSAgICAyNDIsIDY4LCAyLCAyNDgsIDksIDcsIDYsIDEsIDI0MiwgNjgsIDIsIDI1MCwgMTkxLCA3LCA0LCAxLCAyNDIsIDY4LCAyLCAKLSAgICAyNTAsIDE5MSwgNywgNiwgMSwgMjQyLCA2OCwgMiwgMjUxLCAxNTUsIDUxLCA3LCA0LCAxLCAyNDIsIDY4LCAyLCAyNTEsIAotICAgIDE1NSwgNTEsIDcsIDYsIDEsIDI0MCwgMTYxLCAyLCAyMTYsIDkwLCA1MSwgNywgNCwgMSwgMjQwLCAxNjEsIDIsIDIxNiwgCi0gICAgOTAsIDUxLCA3LCA2LCAxLCAyNDAsIDE2MSwgMiwgMjQ4LCAxMCwgMjIsIDE0MiwgNywgNCwgMSwgMjQwLCAxNjEsIDIsIAotICAgIDI0OCwgMTAsIDIyLCAxNDIsIDcsIDYsIDEsIDIzNSwgMzAsIDIsIDE0MiwgNywgNCwgMSwgMjM1LCAzMCwgMiwgMTQyLCA3LCAKLSAgICA2LCAxLCAyMzUsIDMwLCAyLCA1OSwgNTEsIDcsIDQsIDEsIDIzNSwgMzAsIDIsIDU5LCA1MSwgNywgNiwgMSwgMjM1LCAzMCwgCi0gICAgMiwgMjMyLCAyMjAsIDUxLCA3LCA0LCAxLCAyMzUsIDMwLCAyLCAyMzIsIDIyMCwgNTEsIDcsIDYsIDEsIDIzMywgMTU1LCAyLCAKLSAgICA1OSwgNTEsIDcsIDQsIDEsIDIzMywgMTU1LCAyLCA1OSwgNTEsIDcsIDYsIDEsIDIzMywgMTU1LCAyLCA1OSwgMjUyLCA1MSwgCi0gICAgMjIsIDIzMSwgMjM3LCA3LCA0LCAxLCAyMzMsIDE1NSwgMiwgNTksIDI1MiwgNTEsIDIyLCAyMzEsIDIzNywgNywgNiwgMSwgCi0gICAgMjMzLCAxNTUsIDIsIDIzMiwgMjIwLCA1MSwgNywgNCwgMSwgMjMzLCAxNTUsIDIsIDIzMiwgMjIwLCA1MSwgNywgNiwgMSwgCi0gICAgMjMzLCAxNTUsIDIsIDI1MCwgMzksIDUxLCA3LCA0LCAxLCAyMzMsIDE1NSwgMiwgMjUwLCAzOSwgNTEsIDcsIDYsIDEsIAotICAgIDIzMiwgNTUsIDIsIDE0MiwgNywgNCwgMSwgMjMyLCA1NSwgMiwgMTQyLCA3LCA2LCAxLCAyMzIsIDU1LCAyLCA1OSwgNDgsIAotICAgIDcsIDQsIDEsIDIzMiwgNTUsIDIsIDU5LCA0OCwgNywgNiwgMSwgMjMyLCA1NSwgMiwgNTksIDUxLCA3LCA0LCAxLCAyMzIsIAotICAgIDU1LCAyLCA1OSwgNTEsIDcsIDYsIDEsIDIzMCwgMzEsIDIsIDU5LCA0OCwgNywgNCwgMSwgMjMwLCAzMSwgMiwgNTksIDQ4LCAKLSAgICA3LCA2LCAxLCAyMzAsIDMxLCAyLCA1OSwgNTEsIDcsIDQsIDEsIDIzMCwgMzEsIDIsIDU5LCA1MSwgNywgNiwgMSwgMjMwLCAKLSAgICAzMSwgMiwgMjMyLCAyMjAsIDUxLCA3LCA0LCAxLCAyMzAsIDMxLCAyLCAyMzIsIDIyMCwgNTEsIDcsIDYsIDEsIDIzMCwgMzEsIAotICAgIDIsIDI1MCwgMzksIDUxLCA3LCA0LCAxLCAyMzAsIDMxLCAyLCAyNTAsIDM5LCA1MSwgNywgNiwgMSwgMTQ0LCAyLCAyMTYsIAotICAgIDkwLCAyMiwgMTQyLCA3LCA0LCAxLCAxNDQsIDIsIDIxNiwgOTAsIDIyLCAxNDIsIDcsIDYsIDEsIDE0NCwgMiwgMjE2LCA5MCwgCi0gICAgMjIsIDI0OCwgOSwgNywgNCwgMSwgMTQ0LCAyLCAyMTYsIDkwLCAyMiwgMjQ4LCA5LCA3LCA2LCAxLCAxNDQsIDIsIDIzMSwgCi0gICAgMjM4LCAyMiwgMjQyLCAxNDMsIDcsIDQsIDEsIDE0NCwgMiwgMjMxLCAyMzgsIDIyLCAyNDIsIDE0MywgNywgNiwgMSwgMTQ0LCAKLSAgICAyLCAyMzEsIDIzOCwgMjIsIDE0MiwgNywgNCwgMSwgMTQ0LCAyLCAyMzEsIDIzOCwgMjIsIDE0MiwgNywgNiwgMSwgMjI2LCAKLSAgICAxMTAsIDIsIDE0MiwgNywgNCwgMSwgMjI2LCAxMTAsIDIsIDE0MiwgNywgNiwgMSwgMjI2LCAxMTAsIDIsIDU5LCA0OCwgNywgCi0gICAgNCwgMSwgMjI2LCAxMTAsIDIsIDU5LCA0OCwgNywgNiwgMSwgMjIzLCAyMjcsIDIsIDU5LCA0OCwgNywgNCwgMSwgMjIzLCAKLSAgICAyMjcsIDIsIDU5LCA0OCwgNywgNiwgMSwgMjIzLCAyMjcsIDIsIDU5LCA1MSwgNywgNCwgMSwgMjIzLCAyMjcsIDIsIDU5LCAKLSAgICA1MSwgNywgNiwgMSwgMjIzLCAyMjcsIDIsIDU5LCAyNTIsIDUxLCAyMiwgMjMxLCAyMzcsIDcsIDQsIDEsIDIyMywgMjI3LCAKLSAgICAyLCA1OSwgMjUyLCA1MSwgMjIsIDIzMSwgMjM3LCA3LCA2LCAxLCAyMjMsIDIyNywgMiwgMjMyLCAyMjAsIDUxLCA3LCA0LCAKLSAgICAxLCAyMjMsIDIyNywgMiwgMjMyLCAyMjAsIDUxLCA3LCA2LCAxLCAyMjIsIDk0LCAyLCA1OSwgNDgsIDcsIDQsIDEsIDIyMiwgCi0gICAgOTQsIDIsIDU5LCA0OCwgNywgNiwgMSwgMjIyLCA5NCwgMiwgNTksIDUxLCA3LCA0LCAxLCAyMjIsIDk0LCAyLCA1OSwgNTEsIAotICAgIDcsIDYsIDEsIDIyMiwgOTQsIDIsIDI1NSwgMTIsIDIyLCA1OSwgNDgsIDcsIDQsIDEsIDIyMiwgOTQsIDIsIDI1NSwgMTIsIAotICAgIDIyLCA1OSwgNDgsIDcsIDYsIDEsIDIyMiwgOTQsIDIsIDI1MCwgMjQzLCAyMiwgNTksIDQ4LCA3LCA0LCAxLCAyMjIsIDk0LCAKLSAgICAyLCAyNTAsIDI0MywgMjIsIDU5LCA0OCwgNywgNiwgMSwgMjIyLCA5NCwgMiwgNTksIDI1MiwgNTEsIDIyLCA1OSwgNDgsIDcsIAotICAgIDQsIDEsIDIyMiwgOTQsIDIsIDU5LCAyNTIsIDUxLCAyMiwgNTksIDQ4LCA3LCA2LCAxLCAyMTcsIDE1NCwgMiwgNTksIDQ4LCAKLSAgICA3LCA0LCAxLCAyMTcsIDE1NCwgMiwgNTksIDQ4LCA3LCA2LCAxLCAyMTcsIDE1NCwgMiwgNTksIDUxLCA3LCA0LCAxLCAyMTcsIAotICAgIDE1NCwgMiwgNTksIDUxLCA3LCA2LCAxLCAyMTcsIDE1NCwgMiwgMjMyLCAyMjAsIDUxLCA3LCA0LCAxLCAyMTcsIDE1NCwgMiwgCi0gICAgMjMyLCAyMjAsIDUxLCA3LCA2LCAxLCAyMTcsIDE1NCwgMiwgMjUwLCAzOSwgNTEsIDcsIDQsIDEsIDIxNywgMTU0LCAyLCAKLSAgICAyNTAsIDM5LCA1MSwgNywgNiwgMSwgMTA0LCAyLCAyNDgsIDEwLCA1MSwgNywgNCwgMSwgMTA0LCAyLCAyNDgsIDEwLCA1MSwgCi0gICAgNywgNiwgMSwgMTA0LCAyLCAyMTYsIDkwLCA1MSwgNywgNCwgMSwgMTA0LCAyLCAyMTYsIDkwLCA1MSwgNywgNiwgMSwgMTA0LCAKLSAgICAyLCAyNTAsIDM5LCA1MSwgNywgNCwgMSwgMTA0LCAyLCAyNTAsIDM5LCA1MSwgNywgNiwgMSwgMTA0LCAyLCAyMTYsIDkwLCAKLSAgICAyMiwgMTQyLCA3LCA0LCAxLCAxMDQsIDIsIDIxNiwgOTAsIDIyLCAxNDIsIDcsIDYsIDEsIDEwNCwgMiwgMjMxLCAyMzgsIAotICAgIDIyLCAyNDgsIDksIDcsIDQsIDEsIDEwNCwgMiwgMjMxLCAyMzgsIDIyLCAyNDgsIDksIDcsIDYsIDEsIDIxNCwgMTA2LCAyLCAKLSAgICAxODQsIDcsIDQsIDEsIDIxNCwgMTA2LCAyLCAxODQsIDcsIDYsIDEsIDIxNCwgMTA2LCAyLCA1OSwgNTEsIDcsIDQsIDEsIAotICAgIDIxNCwgMTA2LCAyLCA1OSwgNTEsIDcsIDYsIDEsIDIxMiwgOTksIDIsIDI0MiwgMTQzLCA3LCA0LCAxLCAyMTIsIDk5LCAyLCAKLSAgICAyNDIsIDE0MywgNywgNiwgMSwgMjEyLCA5OSwgMiwgMTQyLCA3LCA0LCAxLCAyMTIsIDk5LCAyLCAxNDIsIDcsIDYsIDEsIAotICAgIDIxMiwgOTksIDIsIDI0OCwgOSwgNywgNCwgMSwgMjEyLCA5OSwgMiwgMjQ4LCA5LCA3LCA2LCAxLCAyMTIsIDk5LCAyLCA1OSwgCi0gICAgNDgsIDcsIDQsIDEsIDIxMiwgOTksIDIsIDU5LCA0OCwgNywgNiwgMSwgMjEyLCA5OSwgMiwgNTksIDUxLCA3LCA0LCAxLCAKLSAgICAyMTIsIDk5LCAyLCA1OSwgNTEsIDcsIDYsIDEsIDIxMSwgMTc5LCAyLCA1OSwgNDgsIDcsIDQsIDEsIDIxMSwgMTc5LCAyLCAKLSAgICA1OSwgNDgsIDcsIDYsIDEsIDIxMSwgMTc5LCAyLCAyNDgsIDksIDcsIDQsIDEsIDIxMSwgMTc5LCAyLCAyNDgsIDksIDcsIDYsIAotICAgIDEsIDIxMSwgMTE4LCAyLCA1OSwgNDgsIDcsIDQsIDEsIDIxMSwgMTE4LCAyLCA1OSwgNDgsIDcsIDYsIDEsIDIxMCwgMTYwLCAKLSAgICAyLCAyNTAsIDM4LCA3LCA0LCAxLCAyMTAsIDE2MCwgMiwgMjUwLCAzOCwgNywgNiwgMSwgMjEwLCAxNjAsIDIsIDU5LCA1MSwgCi0gICAgNywgNCwgMSwgMjEwLCAxNjAsIDIsIDU5LCA1MSwgNywgNiwgMSwgMjEwLCAxNjAsIDIsIDIzMiwgMjIwLCA1MSwgNywgNCwgCi0gICAgMSwgMjEwLCAxNjAsIDIsIDIzMiwgMjIwLCA1MSwgNywgNCwgMSwgMjQyLCA2OCwgMiwgMjMyLCAyMjAsIDUxLCA3LCA0LCAxLCAKLSAgICAyMTcsIDE1NCwgMiwgMjQ4LCA5LCA3LCA0LCAxLCAyMTIsIDk5LCAyLCAyMjIsIDIzNywgNDgsIDcsIDQsIDEsIDIxMSwgCi0gICAgMTE4LCAyLCAyMjIsIDIzNywgNDgsIDcsIDQsIDEsIDExNiwgMiwgNDQsIDE2MywgMjIyLCAyMzYsIDcsIDQsIDEsIDIwMCwgCi0gICAgMjIyLCA5NCwgMiwgNTksIDQ4LCA3LCA0LCAxLCAyMDAsIDIyMiwgOTQsIDIsIDI0OCwgNywgOTEsIDcsIDQsIDEsIDIwMCwgCi0gICAgMjIyLCA5NCwgMiwgMTI1LCA5MSwgNywgNiwgMSwgMjIwLCA3OCwgMjIyLCA5MywgNywgNCwgMSwgMjQ4LCA2MiwgNywgNiwgCi0gICAgMSwgMTE2LCAyLCA1OSwgNTEsIDcsIDQsIDEsIDExNiwgMiwgNTksIDUxLCA3LCA2LCAxLCAxMTYsIDIsIDI0MSwgNTksIDQ4LCAKLSAgICA3LCA0LCAxLCAxMTYsIDIsIDI0MSwgNTksIDQ4LCA3LCA2LCAxLCAxMTYsIDIsIDI1MCwgMzksIDIyLCAxNDIsIDcsIDQsIDEsIAotICAgIDExNiwgMiwgMjUwLCAzOSwgMjIsIDE0MiwgNywgNiwgMSwgMTE2LCAyLCAyNTAsIDM5LCAyMiwgMjQyLCAxNDMsIDcsIDQsIAotICAgIDEsIDExNiwgMiwgMjUwLCAzOSwgMjIsIDI0MiwgMTQzLCA3LCA2LCAxLCAxMTYsIDIsIDI1MCwgMzksIDIyLCAyNDEsIDU5LCAKLSAgICA0OCwgNywgNCwgMSwgMTE2LCAyLCAyNTAsIDM5LCAyMiwgMjQxLCA1OSwgNDgsIDcsIDYsIDEsIDExNiwgMiwgMjUwLCAzOSwgCi0gICAgMjIsIDE4NCwgNywgNCwgMSwgMTE2LCAyLCAyNTAsIDM5LCAyMiwgMTg0LCA3LCA2LCAxLCAxMTYsIDIsIDI1MCwgMzksIDIyLCAKLSAgICA1OSwgNTEsIDcsIDQsIDEsIDExNiwgMiwgMjUwLCAzOSwgMjIsIDU5LCA1MSwgNywgNiwgMSwgMTE2LCAyLCAyNTEsIDE1NSwgCi0gICAgMjIsIDE0MiwgNywgNCwgMSwgMTE2LCAyLCAyNTEsIDE1NSwgMjIsIDE0MiwgNywgNiwgMSwgMTE2LCAyLCAyNTEsIDE1NSwgCi0gICAgMjIsIDI0MiwgMTQzLCA3LCA0LCAxLCAxMTYsIDIsIDI1MSwgMTU1LCAyMiwgMjQyLCAxNDMsIDcsIDYsIDEsIDExNiwgMiwgCi0gICAgMjUxLCAxNTUsIDIyLCAyNDEsIDU5LCA0OCwgNywgNCwgMSwgMTE2LCAyLCAyNTEsIDE1NSwgMjIsIDI0MSwgNTksIDQ4LCA3LCAKLSAgICA2LCAxLCAxMTYsIDIsIDI1MSwgMTU1LCAyMiwgMTg0LCA3LCA0LCAxLCAxMTYsIDIsIDI1MSwgMTU1LCAyMiwgMTg0LCA3LCAKLSAgICA2LCAxLCAxMTYsIDIsIDI1MSwgMTU1LCAyMiwgNTksIDUxLCA3LCA0LCAxLCAxMTYsIDIsIDI1MSwgMTU1LCAyMiwgNTksIAotICAgIDUxLCA3LCA2LCAxLCAxNjAsIDIsIDU5LCA1MSwgNywgNCwgMSwgMTYwLCAyLCA1OSwgNTEsIDcsIDYsIDEsIDE2MCwgMiwgCi0gICAgMjQxLCA1OSwgNDgsIDcsIDQsIDEsIDE2MCwgMiwgMjQxLCA1OSwgNDgsIDcsIDYsIDEsIDE2MCwgMiwgMTg0LCA3LCA0LCAxLCAKLSAgICAxNjAsIDIsIDE4NCwgNywgNiwgMSwgMTYwLCAyLCAyNTAsIDM5LCAyMiwgMTQyLCA3LCA0LCAxLCAxNjAsIDIsIDI1MCwgMzksIAotICAgIDIyLCAxNDIsIDcsIDYsIDEsIDE2MCwgMiwgMjUwLCAzOSwgMjIsIDI0MiwgMTQzLCA3LCA0LCAxLCAxNjAsIDIsIDI1MCwgCi0gICAgMzksIDIyLCAyNDIsIDE0MywgNywgNiwgMSwgMTYwLCAyLCAyNTAsIDM5LCAyMiwgMjQxLCA1OSwgNDgsIDcsIDQsIDEsIAotICAgIDE2MCwgMiwgMjUwLCAzOSwgMjIsIDI0MSwgNTksIDQ4LCA3LCA2LCAxLCAxNjAsIDIsIDI1MCwgMzksIDIyLCAxODQsIDcsIAotICAgIDQsIDEsIDE2MCwgMiwgMjUwLCAzOSwgMjIsIDE4NCwgNywgNiwgMSwgMTYwLCAyLCAyNTAsIDM5LCAyMiwgNTksIDUxLCA3LCAKLSAgICA0LCAxLCAxNjAsIDIsIDI1MCwgMzksIDIyLCA1OSwgNTEsIDcsIDYsIDEsIDI0MCwgMTYxLCAyLCAyNDEsIDU5LCA0OCwgNywgCi0gICAgNCwgMSwgMjQwLCAxNjEsIDIsIDI0MSwgNTksIDQ4LCA3LCA2LCAxLCAyNDAsIDE2MSwgMiwgNTksIDUxLCA3LCA0LCAxLCAKLSAgICAyNDAsIDE2MSwgMiwgNTksIDUxLCA3LCA2LCAxLCAxNDQsIDIsIDU5LCA1MSwgNywgNCwgMSwgMTQ0LCAyLCA1OSwgNTEsIDcsIAotICAgIDYsIDEsIDE0NCwgMiwgMjQxLCA1OSwgNDgsIDcsIDQsIDEsIDE0NCwgMiwgMjQxLCA1OSwgNDgsIDcsIDYsIDEsIDE0NCwgMiwgCi0gICAgMjUwLCAzOSwgMjIsIDE0MiwgNywgNCwgMSwgMTQ0LCAyLCAyNTAsIDM5LCAyMiwgMTQyLCA3LCA2LCAxLCAxNDQsIDIsIAotICAgIDI1MCwgMzksIDIyLCAyNDIsIDE0MywgNywgNCwgMSwgMTQ0LCAyLCAyNTAsIDM5LCAyMiwgMjQyLCAxNDMsIDcsIDYsIDEsIAotICAgIDE0NCwgMiwgMjUwLCAzOSwgMjIsIDI0MSwgNTksIDQ4LCA3LCA0LCAxLCAxNDQsIDIsIDI1MCwgMzksIDIyLCAyNDEsIDU5LCAKLSAgICA0OCwgNywgNiwgMSwgMTQ0LCAyLCAyNTAsIDM5LCAyMiwgMTg0LCA3LCA0LCAxLCAxNDQsIDIsIDI1MCwgMzksIDIyLCAxODQsIAotICAgIDcsIDYsIDEsIDE0NCwgMiwgMjUwLCAzOSwgMjIsIDU5LCA1MSwgNywgNCwgMSwgMTQ0LCAyLCAyNTAsIDM5LCAyMiwgNTksIAotICAgIDUxLCA3LCA2LCAxLCAxNDQsIDIsIDI0MSwgMCwgMjIsIDE0MiwgNywgNCwgMSwgMTQ0LCAyLCAyNDEsIDAsIDIyLCAxNDIsIAotICAgIDcsIDYsIDEsIDE0NCwgMiwgMjQxLCAwLCAyMiwgMjQyLCAxNDMsIDcsIDQsIDEsIDE0NCwgMiwgMjQxLCAwLCAyMiwgMjQyLCAKLSAgICAxNDMsIDcsIDYsIDEsIDE0NCwgMiwgMjQxLCAwLCAyMiwgMjQxLCA1OSwgNDgsIDcsIDQsIDEsIDE0NCwgMiwgMjQxLCAwLCAKLSAgICAyMiwgMjQxLCA1OSwgNDgsIDcsIDYsIDEsIDE0NCwgMiwgMjQxLCAwLCAyMiwgMTg0LCA3LCA0LCAxLCAxNDQsIDIsIDI0MSwgCi0gICAgMCwgMjIsIDE4NCwgNywgNiwgMSwgMTQ0LCAyLCAyNDEsIDAsIDIyLCA1OSwgNTEsIDcsIDQsIDEsIDE0NCwgMiwgMjQxLCAwLCAKLSAgICAyMiwgNTksIDUxLCA3LCA2LCAxLCAxMDQsIDIsIDU5LCA1MSwgNywgNCwgMSwgMTA0LCAyLCA1OSwgNTEsIDcsIDYsIDEsIAotICAgIDEwNCwgMiwgMjQxLCA1OSwgNDgsIDcsIDQsIDEsIDEwNCwgMiwgMjQxLCA1OSwgNDgsIDcsIDYsIDEsIDEwNCwgMiwgMjQxLCAKLSAgICAwLCAyMiwgMTQyLCA3LCA0LCAxLCAxMDQsIDIsIDI0MSwgMCwgMjIsIDE0MiwgNywgNiwgMSwgMTA0LCAyLCAyNDEsIDAsIAotICAgIDIyLCAyNDIsIDE0MywgNywgNCwgMSwgMTA0LCAyLCAyNDEsIDAsIDIyLCAyNDIsIDE0MywgNywgNiwgMSwgMTA0LCAyLCAKLSAgICAyNDEsIDAsIDIyLCAyNDEsIDU5LCA0OCwgNywgNCwgMSwgMTA0LCAyLCAyNDEsIDAsIDIyLCAyNDEsIDU5LCA0OCwgNywgNiwgCi0gICAgMSwgMTA0LCAyLCAyNDEsIDAsIDIyLCAxODQsIDcsIDQsIDEsIDEwNCwgMiwgMjQxLCAwLCAyMiwgMTg0LCA3LCA2LCAxLCAKLSAgICAxMDQsIDIsIDI0MSwgMCwgMjIsIDU5LCA1MSwgNywgNCwgMSwgMTA0LCAyLCAyNDEsIDAsIDIyLCA1OSwgNTEsIDcsIDYsIDEsIAotICAgIDIxMSwgMTE4LCAyLCAyNDIsIDE0MywgNywgNCwgMSwgMjExLCAxMTgsIDIsIDI0MiwgMTQzLCA3LCA2LCAxLCAyMTEsIDExOCwgCi0gICAgMiwgNTksIDUxLCA3LCA0LCAxLCAyMTEsIDExOCwgMiwgNTksIDUxLCA3LCA2LCAxLCAyMTEsIDExOCwgMiwgMjQxLCA1OSwgCi0gICAgNDgsIDcsIDQsIDEsIDIxMSwgMTE4LCAyLCAyNDEsIDU5LCA0OCwgNywgNiwgMSwgMjExLCAxMTgsIDIsIDE4NCwgNywgNCwgCi0gICAgMSwgMjExLCAxMTgsIDIsIDE4NCwgNywgNiwgMSwgMjMwLCAyMjgsIDIzMiwgMTkxLCA3LCA0LCAxLCAyMzAsIDIyOCwgMjMyLCAKLSAgICAxOTEsIDcsIDYsIDEsIDIzMCwgMjI4LCAyMTQsIDEwNSwgNywgNCwgMSwgMjMwLCAyMjgsIDIxNCwgMTA1LCA3LCA2LCAxLCAKLSAgICAyMTEsIDExOCwgMiwgMjMyLCAxMjksIDcsIDQsIDEsIDIxMSwgMTE4LCAyLCAyMzIsIDEyOSwgMjYsIDQsIDEsIDI1NCwgCi0gICAgMTUyLCAyLCAyMjQsIDE1NywgMjYsIDQsIDEsIDI1NCwgMTUyLCAyLCAyNDgsIDE2MSwgMjYsIDQsIDEsIDI1NCwgMTUyLCAyLCAKLSAgICAyMjQsIDE1OCwgMjIsIDIxNCwgMTMsIDI2LCA0LCAxLCAyNTQsIDE1MiwgMiwgMjQ4LCAxNjIsIDIyLCAyMTQsIDEzLCAyNiwgCi0gICAgNCwgMSwgMjU0LCAxNTIsIDIsIDIyNCwgMTU4LCAyMiwgMjI2LCAxMTQsIDI2LCA0LCAxLCAyNTQsIDE1MiwgMiwgMjQ4LCAKLSAgICAxNjIsIDIyLCAyMjYsIDExNCwgMjYsIDQsIDEsIDI1NCwgMTUyLCAyLCAyMjQsIDE1OCwgMjIsIDIyNSwgMTc4LCAyNiwgNCwgCi0gICAgMSwgMjU0LCAxNTIsIDIsIDI0OCwgMTYyLCAyMiwgMjI1LCAxNzgsIDI2LCA2LCAxLCAyNTQsIDE1MiwgMiwgMjI0LCAxNTcsIAotICAgIDI2LCA2LCAxLCAyNTQsIDE1MiwgMiwgMjQ4LCAxNjEsIDI2LCA2LCAxLCAyNTQsIDE1MiwgMiwgMjI0LCAxNTgsIDIyLCAKLSAgICAyMTQsIDEzLCAyNiwgNiwgMSwgMjU0LCAxNTIsIDIsIDI0OCwgMTYyLCAyMiwgMjE0LCAxMywgMjYsIDYsIDEsIDI1NCwgCi0gICAgMTUyLCAyLCAyMjQsIDE1OCwgMjIsIDIyNiwgMTE0LCAyNiwgNiwgMSwgMjU0LCAxNTIsIDIsIDI0OCwgMTYyLCAyMiwgMjI2LCAKLSAgICAxMTQsIDI2LCA2LCAxLCAyNTQsIDE1MiwgMiwgMjI0LCAxNTgsIDIyLCAyMjUsIDE3OCwgMjYsIDYsIDEsIDI1NCwgMTUyLCAKLSAgICAyLCAyNDgsIDE2MiwgMjIsIDIyNSwgMTc4LCAyNiwgNCwgMSwgMjQ1LCAxMDksIDIsIDIyNCwgMTU3LCAyNiwgNCwgMSwgCi0gICAgMjQ1LCAxMDksIDIsIDI0OCwgMTYxLCAyNiwgNCwgMSwgMjQ1LCAxMDksIDIsIDIyNCwgMTU4LCAyMiwgMjE0LCAxMywgMjYsIAotICAgIDQsIDEsIDI0NSwgMTA5LCAyLCAyNDgsIDE2MiwgMjIsIDIxNCwgMTMsIDI2LCA0LCAxLCAyNDUsIDEwOSwgMiwgMjI0LCAKLSAgICAxNTgsIDIyLCAyMjYsIDExNCwgMjYsIDQsIDEsIDI0NSwgMTA5LCAyLCAyNDgsIDE2MiwgMjIsIDIyNiwgMTE0LCAyNiwgNiwgCi0gICAgMSwgMjQ1LCAxMDksIDIsIDIyNCwgMTU3LCAyNiwgNiwgMSwgMjQ1LCAxMDksIDIsIDI0OCwgMTYxLCAyNiwgNiwgMSwgMjQ1LCAKLSAgICAxMDksIDIsIDIyNCwgMTU4LCAyMiwgMjE0LCAxMywgMjYsIDYsIDEsIDI0NSwgMTA5LCAyLCAyNDgsIDE2MiwgMjIsIDIxNCwgCi0gICAgMTMsIDI2LCA2LCAxLCAyNDUsIDEwOSwgMiwgMjI0LCAxNTgsIDIyLCAyMjYsIDExNCwgMjYsIDYsIDEsIDI0NSwgMTA5LCAyLCAKLSAgICAyNDgsIDE2MiwgMjIsIDIyNiwgMTE0LCAyNiwgNCwgMSwgMjQ1LCA3MiwgMiwgMjI0LCAxNTcsIDI2LCA0LCAxLCAyNDUsIAotICAgIDcyLCAyLCAyNDgsIDE2MSwgMjYsIDQsIDEsIDI0NSwgNzIsIDIsIDIyNCwgMTU4LCAyMiwgMjE0LCAxMywgMjYsIDQsIDEsIAotICAgIDI0NSwgNzIsIDIsIDI0OCwgMTYyLCAyMiwgMjE0LCAxMywgMjYsIDQsIDEsIDI0NSwgNzIsIDIsIDIyNCwgMTU4LCAyMiwgCi0gICAgMjI2LCAxMTQsIDI2LCA0LCAxLCAyNDUsIDcyLCAyLCAyNDgsIDE2MiwgMjIsIDIyNiwgMTE0LCAyNiwgNCwgMSwgMjQ1LCAKLSAgICA3MiwgMiwgMjI0LCAxNTgsIDIyLCAyMjUsIDE3OCwgMjYsIDQsIDEsIDI0NSwgNzIsIDIsIDI0OCwgMTYyLCAyMiwgMjI1LCAKLSAgICAxNzgsIDI2LCA2LCAxLCAyNDUsIDcyLCAyLCAyMjQsIDE1NywgMjYsIDYsIDEsIDI0NSwgNzIsIDIsIDI0OCwgMTYxLCAyNiwgCi0gICAgNiwgMSwgMjQ1LCA3MiwgMiwgMjI0LCAxNTgsIDIyLCAyMTQsIDEzLCAyNiwgNiwgMSwgMjQ1LCA3MiwgMiwgMjQ4LCAxNjIsIAotICAgIDIyLCAyMTQsIDEzLCAyNiwgNiwgMSwgMjQ1LCA3MiwgMiwgMjI0LCAxNTgsIDIyLCAyMjYsIDExNCwgMjYsIDYsIDEsIDI0NSwgCi0gICAgNzIsIDIsIDI0OCwgMTYyLCAyMiwgMjI2LCAxMTQsIDI2LCA2LCAxLCAyNDUsIDcyLCAyLCAyMjQsIDE1OCwgMjIsIDIyNSwgCi0gICAgMTc4LCAyNiwgNiwgMSwgMjQ1LCA3MiwgMiwgMjQ4LCAxNjIsIDIyLCAyMjUsIDE3OCwgMjYsIDQsIDEsIDIzNSwgMTkzLCAyLCAKLSAgICAyMjQsIDE1NywgMjYsIDQsIDEsIDIzNSwgMTkzLCAyLCAyNDgsIDE2MSwgMjYsIDQsIDEsIDIzNSwgMTkzLCAyLCAyMjQsIAotICAgIDE1OCwgMjIsIDIxNCwgMTMsIDI2LCA0LCAxLCAyMzUsIDE5MywgMiwgMjQ4LCAxNjIsIDIyLCAyMTQsIDEzLCAyNiwgNCwgMSwgCi0gICAgMjM1LCAxOTMsIDIsIDIyNCwgMTU4LCAyMiwgMjI2LCAxMTQsIDI2LCA0LCAxLCAyMzUsIDE5MywgMiwgMjQ4LCAxNjIsIDIyLCAKLSAgICAyMjYsIDExNCwgMjYsIDQsIDEsIDIzNSwgMTkzLCAyLCAyMjQsIDE1OCwgMjIsIDIyNSwgMTc4LCAyNiwgNCwgMSwgMjM1LCAKLSAgICAxOTMsIDIsIDI0OCwgMTYyLCAyMiwgMjI1LCAxNzgsIDI2LCA2LCAxLCAyMzUsIDE5MywgMiwgMjI0LCAxNTcsIDI2LCA2LCAKLSAgICAxLCAyMzUsIDE5MywgMiwgMjQ4LCAxNjEsIDI2LCA2LCAxLCAyMzUsIDE5MywgMiwgMjI0LCAxNTgsIDIyLCAyMTQsIDEzLCAKLSAgICAyNiwgNiwgMSwgMjM1LCAxOTMsIDIsIDI0OCwgMTYyLCAyMiwgMjE0LCAxMywgMjYsIDYsIDEsIDIzNSwgMTkzLCAyLCAyMjQsIAotICAgIDE1OCwgMjIsIDIyNiwgMTE0LCAyNiwgNiwgMSwgMjM1LCAxOTMsIDIsIDI0OCwgMTYyLCAyMiwgMjI2LCAxMTQsIDI2LCA2LCAKLSAgICAxLCAyMzUsIDE5MywgMiwgMjI0LCAxNTgsIDIyLCAyMjUsIDE3OCwgMjYsIDYsIDEsIDIzNSwgMTkzLCAyLCAyNDgsIDE2MiwgCi0gICAgMjIsIDIyNSwgMTc4LCAyNiwgNCwgMSwgMjI2LCAyMDQsIDIsIDIyNCwgMTU3LCAyNiwgNCwgMSwgMjI2LCAyMDQsIDIsIAotICAgIDI0OCwgMTYxLCAyNiwgNCwgMSwgMjI2LCAyMDQsIDIsIDIyNCwgMTU4LCAyMiwgMjE0LCAxMywgMjYsIDQsIDEsIDIyNiwgCi0gICAgMjA0LCAyLCAyNDgsIDE2MiwgMjIsIDIxNCwgMTMsIDI2LCA0LCAxLCAyMjYsIDIwNCwgMiwgMjI0LCAxNTgsIDIyLCAyMjYsIAotICAgIDExNCwgMjYsIDQsIDEsIDIyNiwgMjA0LCAyLCAyNDgsIDE2MiwgMjIsIDIyNiwgMTE0LCAyNiwgNiwgMSwgMjI2LCAyMDQsIAotICAgIDIsIDIyNCwgMTU3LCAyNiwgNiwgMSwgMjI2LCAyMDQsIDIsIDI0OCwgMTYxLCAyNiwgNiwgMSwgMjI2LCAyMDQsIDIsIDIyNCwgCi0gICAgMTU4LCAyMiwgMjE0LCAxMywgMjYsIDYsIDEsIDIyNiwgMjA0LCAyLCAyNDgsIDE2MiwgMjIsIDIxNCwgMTMsIDI2LCA2LCAxLCAKLSAgICAyMjYsIDIwNCwgMiwgMjI0LCAxNTgsIDIyLCAyMjYsIDExNCwgMjYsIDYsIDEsIDIyNiwgMjA0LCAyLCAyNDgsIDE2MiwgMjIsIAotICAgIDIyNiwgMTE0LCAyNiwgNCwgMSwgMjE0LCAxNTgsIDIsIDIyNCwgMTU3LCAyNiwgNCwgMSwgMjE0LCAxNTgsIDIsIDI0OCwgCi0gICAgMTYxLCAyNiwgNCwgMSwgMjE0LCAxNTgsIDIsIDIyNCwgMTU4LCAyMiwgMjE0LCAxMywgMjYsIDQsIDEsIDIxNCwgMTU4LCAyLCAKLSAgICAyNDgsIDE2MiwgMjIsIDIxNCwgMTMsIDI2LCA0LCAxLCAyMTQsIDE1OCwgMiwgMjI0LCAxNTgsIDIyLCAyMjYsIDExNCwgMjYsIAotICAgIDQsIDEsIDIxNCwgMTU4LCAyLCAyNDgsIDE2MiwgMjIsIDIyNiwgMTE0LCAyNiwgNCwgMSwgMjE0LCAxNTgsIDIsIDIyNCwgCi0gICAgMTU4LCAyMiwgMjI1LCAxNzgsIDI2LCA0LCAxLCAyMTQsIDE1OCwgMiwgMjQ4LCAxNjIsIDIyLCAyMjUsIDE3OCwgMjYsIDYsIAotICAgIDEsIDIxNCwgMTU4LCAyLCAyNDgsIDE2MSwgMjYsIDYsIDEsIDIxNCwgMTU4LCAyLCAyNDgsIDE2MiwgMjIsIDIxNCwgMTMsIAotICAgIDI2LCA2LCAxLCAyMTQsIDE1OCwgMiwgMjQ4LCAxNjIsIDIyLCAyMjYsIDExNCwgMjYsIDYsIDEsIDIxNCwgMTU4LCAyLCAKLSAgICAyNDgsIDE2MiwgMjIsIDIyNSwgMTc4LCAyNiwgNCwgMSwgMjI2LCAyMDYsIDIsIDIyNCwgMTU3LCAyNiwgNCwgMSwgMjI2LCAKLSAgICAyMDYsIDIsIDI0OCwgMTYxLCAyNiwgNCwgMSwgMjI2LCAyMDYsIDIsIDIyNCwgMTU4LCAyMiwgMjE0LCAxMywgMjYsIDQsIDEsIAotICAgIDIyNiwgMjA2LCAyLCAyNDgsIDE2MiwgMjIsIDIxNCwgMTMsIDI2LCA0LCAxLCAyMjYsIDIwNiwgMiwgMjI0LCAxNTgsIDIyLCAKLSAgICAyMjYsIDExNCwgMjYsIDQsIDEsIDIyNiwgMjA2LCAyLCAyNDgsIDE2MiwgMjIsIDIyNiwgMTE0LCAyNiwgNCwgMSwgMjI2LCAKLSAgICAyMDYsIDIsIDIyNCwgMTU4LCAyMiwgMjI1LCAxNzgsIDI2LCA0LCAxLCAyMjYsIDIwNiwgMiwgMjQ4LCAxNjIsIDIyLCAyMjUsIAotICAgIDE3OCwgMjYsIDYsIDEsIDIyNiwgMjA2LCAyLCAyMjQsIDE1NywgMjYsIDYsIDEsIDIyNiwgMjA2LCAyLCAyNDgsIDE2MSwgCi0gICAgMjYsIDYsIDEsIDIyNiwgMjA2LCAyLCAyMjQsIDE1OCwgMjIsIDIxNCwgMTMsIDI2LCA2LCAxLCAyMjYsIDIwNiwgMiwgMjQ4LCAKLSAgICAxNjIsIDIyLCAyMTQsIDEzLCAyNiwgNiwgMSwgMjI2LCAyMDYsIDIsIDIyNCwgMTU4LCAyMiwgMjI2LCAxMTQsIDI2LCA2LCAKLSAgICAxLCAyMjYsIDIwNiwgMiwgMjQ4LCAxNjIsIDIyLCAyMjYsIDExNCwgMjYsIDYsIDEsIDIyNiwgMjA2LCAyLCAyMjQsIDE1OCwgCi0gICAgMjIsIDIyNSwgMTc4LCAyNiwgNiwgMSwgMjI2LCAyMDYsIDIsIDI0OCwgMTYyLCAyMiwgMjI1LCAxNzgsIDI2LCA0LCAxLCAKLSAgICAyNTQsIDE1MiwgMiwgMjE0LCAxMywgMjYsIDQsIDEsIDI1NCwgMTUyLCAyLCAyMjYsIDExNCwgMjYsIDQsIDEsIDI0NSwgCi0gICAgMTA5LCAyLCAyMTQsIDEzLCAyNiwgNCwgMSwgMjQ1LCAxMDksIDIsIDIyNiwgMTE0LCAyNiwgNCwgMSwgMjQ1LCA3MiwgMiwgCi0gICAgMjE0LCAxMywgMjYsIDQsIDEsIDI0NSwgNzIsIDIsIDIyNiwgMTE0LCAyNiwgNCwgMSwgMjM1LCAxOTMsIDIsIDIxNCwgMTMsIAotICAgIDI2LCA0LCAxLCAyMzUsIDE5MywgMiwgMjI2LCAxMTQsIDI2LCA0LCAxLCAyMjYsIDIwNCwgMiwgMjE0LCAxMywgMjYsIDQsIAotICAgIDEsIDIyNiwgMjA0LCAyLCAyMjYsIDExNCwgMjYsIDQsIDEsIDIxNCwgMTU4LCAyLCAyMTQsIDEzLCAyNiwgNCwgMSwgMjE0LCAKLSAgICAxNTgsIDIsIDIyNiwgMTE0LCAyNiwgNCwgMSwgMjI2LCAyMDYsIDIsIDIxNCwgMTMsIDI2LCA0LCAxLCAyMjYsIDIwNiwgMiwgCi0gICAgMjI2LCAxMTQsIDI2LCA0LCAxLCAyNTQsIDE1MiwgMiwgMjI0LCAxNTgsIDIyLCAyMTAsIDIxOSwgMjYsIDQsIDEsIDI1NCwgCi0gICAgMTUyLCAyLCAyNDgsIDE2MiwgMjIsIDIxMCwgMjE5LCAyNiwgNCwgMSwgMjU0LCAxNTIsIDIsIDIyNCwgMTU4LCAyMiwgMjE0LCAKLSAgICAxNCwgMjIsIDIxMCwgMjE5LCAyNiwgNCwgMSwgMjU0LCAxNTIsIDIsIDI0OCwgMTYyLCAyMiwgMjE0LCAxNCwgMjIsIDIxMCwgCi0gICAgMjE5LCAyNiwgNCwgMSwgMjU0LCAxNTIsIDIsIDIyNCwgMTU4LCAyMiwgMjI2LCAxMTUsIDIyLCAyMTAsIDIxOSwgMjYsIDQsIAotICAgIDEsIDI1NCwgMTUyLCAyLCAyNDgsIDE2MiwgMjIsIDIyNiwgMTE1LCAyMiwgMjEwLCAyMTksIDI2LCA0LCAxLCAyNTQsIDE1MiwgCi0gICAgMiwgMjI0LCAxNTgsIDIyLCAyMjUsIDE3OSwgMjIsIDIxMCwgMjE5LCAyNiwgNCwgMSwgMjU0LCAxNTIsIDIsIDI0OCwgMTYyLCAKLSAgICAyMiwgMjI1LCAxNzksIDIyLCAyMTAsIDIxOSwgMjYsIDYsIDEsIDI1NCwgMTUyLCAyLCAyMjQsIDE1OCwgMjIsIDIyNCwgCi0gICAgMTcwLCAyNiwgNiwgMSwgMjU0LCAxNTIsIDIsIDI0OCwgMTYyLCAyMiwgMjI0LCAxNzAsIDI2LCA2LCAxLCAyNTQsIDE1MiwgCi0gICAgMiwgMjI0LCAxNTgsIDIyLCAyMTQsIDE0LCAyMiwgMjI0LCAxNzAsIDI2LCA2LCAxLCAyNTQsIDE1MiwgMiwgMjQ4LCAxNjIsIAotICAgIDIyLCAyMTQsIDE0LCAyMiwgMjI0LCAxNzAsIDI2LCA2LCAxLCAyNTQsIDE1MiwgMiwgMjI0LCAxNTgsIDIyLCAyMjYsIDExNSwgCi0gICAgMjIsIDIyNCwgMTcwLCAyNiwgNiwgMSwgMjU0LCAxNTIsIDIsIDI0OCwgMTYyLCAyMiwgMjI2LCAxMTUsIDIyLCAyMjQsIAotICAgIDE3MCwgMjYsIDYsIDEsIDI1NCwgMTUyLCAyLCAyMjQsIDE1OCwgMjIsIDIyNSwgMTc5LCAyMiwgMjI0LCAxNzAsIDI2LCA2LCAKLSAgICAxLCAyNTQsIDE1MiwgMiwgMjQ4LCAxNjIsIDIyLCAyMjUsIDE3OSwgMjIsIDIyNCwgMTcwLCAyNiwgNCwgMSwgMjQ1LCA3MiwgCi0gICAgMiwgMjI0LCAxNTgsIDIyLCAyMTAsIDIxOSwgMjYsIDQsIDEsIDI0NSwgNzIsIDIsIDI0OCwgMTYyLCAyMiwgMjEwLCAyMTksIAotICAgIDI2LCA0LCAxLCAyNDUsIDcyLCAyLCAyMjQsIDE1OCwgMjIsIDIxNCwgMTQsIDIyLCAyMTAsIDIxOSwgMjYsIDQsIDEsIDI0NSwgCi0gICAgNzIsIDIsIDI0OCwgMTYyLCAyMiwgMjE0LCAxNCwgMjIsIDIxMCwgMjE5LCAyNiwgNCwgMSwgMjQ1LCA3MiwgMiwgMjI0LCAKLSAgICAxNTgsIDIyLCAyMjYsIDExNSwgMjIsIDIxMCwgMjE5LCAyNiwgNCwgMSwgMjQ1LCA3MiwgMiwgMjQ4LCAxNjIsIDIyLCAyMjYsIAotICAgIDExNSwgMjIsIDIxMCwgMjE5LCAyNiwgNCwgMSwgMjQ1LCA3MiwgMiwgMjI0LCAxNTgsIDIyLCAyMjUsIDE3OSwgMjIsIDIxMCwgCi0gICAgMjE5LCAyNiwgNCwgMSwgMjQ1LCA3MiwgMiwgMjQ4LCAxNjIsIDIyLCAyMjUsIDE3OSwgMjIsIDIxMCwgMjE5LCAyNiwgNiwgCi0gICAgMSwgMjQ1LCA3MiwgMiwgMjI0LCAxNTgsIDIyLCAyMjQsIDE3MCwgMjYsIDYsIDEsIDI0NSwgNzIsIDIsIDI0OCwgMTYyLCAKLSAgICAyMiwgMjI0LCAxNzAsIDI2LCA2LCAxLCAyNDUsIDcyLCAyLCAyMjQsIDE1OCwgMjIsIDIxNCwgMTQsIDIyLCAyMjQsIDE3MCwgCi0gICAgMjYsIDYsIDEsIDI0NSwgNzIsIDIsIDI0OCwgMTYyLCAyMiwgMjE0LCAxNCwgMjIsIDIyNCwgMTcwLCAyNiwgNiwgMSwgMjQ1LCAKLSAgICA3MiwgMiwgMjI0LCAxNTgsIDIyLCAyMjYsIDExNSwgMjIsIDIyNCwgMTcwLCAyNiwgNiwgMSwgMjQ1LCA3MiwgMiwgMjQ4LCAKLSAgICAxNjIsIDIyLCAyMjYsIDExNSwgMjIsIDIyNCwgMTcwLCAyNiwgNiwgMSwgMjQ1LCA3MiwgMiwgMjI0LCAxNTgsIDIyLCAyMjUsIAotICAgIDE3OSwgMjIsIDIyNCwgMTcwLCAyNiwgNiwgMSwgMjQ1LCA3MiwgMiwgMjQ4LCAxNjIsIDIyLCAyMjUsIDE3OSwgMjIsIDIyNCwgCi0gICAgMTcwLCAyNiwgNCwgMSwgMjI2LCAyMDYsIDIsIDIyNCwgMTU4LCAyMiwgMjEwLCAyMTksIDI2LCA0LCAxLCAyMjYsIDIwNiwgCi0gICAgMiwgMjQ4LCAxNjIsIDIyLCAyMTAsIDIxOSwgMjYsIDQsIDEsIDIyNiwgMjA2LCAyLCAyMjQsIDE1OCwgMjIsIDIxNCwgMTQsIAotICAgIDIyLCAyMTAsIDIxOSwgMjYsIDQsIDEsIDIyNiwgMjA2LCAyLCAyNDgsIDE2MiwgMjIsIDIxNCwgMTQsIDIyLCAyMTAsIDIxOSwgCi0gICAgMjYsIDQsIDEsIDIyNiwgMjA2LCAyLCAyMjQsIDE1OCwgMjIsIDIyNiwgMTE1LCAyMiwgMjEwLCAyMTksIDI2LCA0LCAxLCAKLSAgICAyMjYsIDIwNiwgMiwgMjQ4LCAxNjIsIDIyLCAyMjYsIDExNSwgMjIsIDIxMCwgMjE5LCAyNiwgNCwgMSwgMjI2LCAyMDYsIDIsIAotICAgIDIyNCwgMTU4LCAyMiwgMjI1LCAxNzksIDIyLCAyMTAsIDIxOSwgMjYsIDQsIDEsIDIyNiwgMjA2LCAyLCAyNDgsIDE2MiwgCi0gICAgMjIsIDIyNSwgMTc5LCAyMiwgMjEwLCAyMTksIDI2LCA2LCAxLCAyMjYsIDIwNiwgMiwgMjI0LCAxNTgsIDIyLCAyMjQsIAotICAgIDE3MCwgMjYsIDYsIDEsIDIyNiwgMjA2LCAyLCAyNDgsIDE2MiwgMjIsIDIyNCwgMTcwLCAyNiwgNiwgMSwgMjI2LCAyMDYsIAotICAgIDIsIDIyNCwgMTU4LCAyMiwgMjE0LCAxNCwgMjIsIDIyNCwgMTcwLCAyNiwgNiwgMSwgMjI2LCAyMDYsIDIsIDI0OCwgMTYyLCAKLSAgICAyMiwgMjE0LCAxNCwgMjIsIDIyNCwgMTcwLCAyNiwgNiwgMSwgMjI2LCAyMDYsIDIsIDIyNCwgMTU4LCAyMiwgMjI2LCAxMTUsIAotICAgIDIyLCAyMjQsIDE3MCwgMjYsIDYsIDEsIDIyNiwgMjA2LCAyLCAyNDgsIDE2MiwgMjIsIDIyNiwgMTE1LCAyMiwgMjI0LCAKLSAgICAxNzAsIDI2LCA2LCAxLCAyMjYsIDIwNiwgMiwgMjI0LCAxNTgsIDIyLCAyMjUsIDE3OSwgMjIsIDIyNCwgMTcwLCAyNiwgNiwgCi0gICAgMSwgMjI2LCAyMDYsIDIsIDI0OCwgMTYyLCAyMiwgMjI1LCAxNzksIDIyLCAyMjQsIDE3MCwgMjYsIDQsIDEsIDI1NCwgMTUyLCAKLSAgICAyLCAyMTMsIDEyMCwgMjYsIDQsIDEsIDI1NCwgMTUyLCAyLCAyMzEsIDIzNywgMjYsIDQsIDEsIDI1NCwgMTUyLCAyLCAyMTQsIAotICAgIDE0LCAyMiwgMjEwLCAyMTksIDI2LCA0LCAxLCAyNTQsIDE1MiwgMiwgMjEwLCAyMTksIDI2LCA0LCAxLCAyNTQsIDE1MiwgMiwgCi0gICAgMjI2LCAxMTUsIDIyLCAyMTAsIDIxOSwgMjYsIDQsIDEsIDI1NCwgMTUyLCAyLCAyMjUsIDE3OCwgMjYsIDQsIDEsIDI1NCwgCi0gICAgMTUyLCAyLCAyMjUsIDE3OSwgMjIsIDIxMCwgMjE5LCAyNiwgNiwgMSwgMjU0LCAxNTIsIDIsIDIxMywgMTIwLCAyNiwgNiwgCi0gICAgMSwgMjU0LCAxNTIsIDIsIDIzMSwgMjM3LCAyNiwgNiwgMSwgMjU0LCAxNTIsIDIsIDIxNCwgMTMsIDI2LCA2LCAxLCAyNTQsIAotICAgIDE1MiwgMiwgMjI2LCAxMTQsIDI2LCA2LCAxLCAyNTQsIDE1MiwgMiwgMjI0LCAxNzAsIDI2LCAyMzQsIDgsIDI2LCAyMjQsIAotICAgIDE3MCwgMjYsIDIyNCwgMTU3LCAyNiwgMjI1LCAxNzgsIDI2LCAyNDgsIDQsIDIyLCAyMjUsIDE3OCwgMjYsIDQsIDEsIDI0NSwgCi0gICAgNzIsIDIsIDIxNCwgMTQsIDIyLCAyMTAsIDIxOSwgMjYsIDQsIDEsIDI0NSwgNzIsIDIsIDIxMCwgMjE5LCAyNiwgNCwgMSwgCi0gICAgMjQ1LCA3MiwgMiwgMjI2LCAxMTUsIDIyLCAyMTAsIDIxOSwgMjYsIDQsIDEsIDI0NSwgNzIsIDIsIDIyNSwgMTc4LCAyNiwgCi0gICAgNCwgMSwgMjQ1LCA3MiwgMiwgMjI1LCAxNzksIDIyLCAyMTAsIDIxOSwgMjYsIDYsIDEsIDI0NSwgMTA5LCAyLCAyMTQsIDEzLCAKLSAgICAyNiwgNiwgMSwgMjQ1LCAxMDksIDIsIDIyNiwgMTE0LCAyNiwgNiwgMSwgMjQ1LCA3MiwgMiwgMjE0LCAxMywgMjYsIDYsIDEsIAotICAgIDI0NSwgNzIsIDIsIDIyNiwgMTE0LCAyNiwgNiwgMSwgMjQ1LCA3MiwgMiwgMjI0LCAxNzAsIDI2LCAyMjQsIDE1OCwgMjIsIAotICAgIDIxNCwgMTMsIDI2LCAyMjQsIDE1OCwgMjIsIDIyNiwgMTE0LCAyNiwgMjI0LCAxNTgsIDIyLCAyMjUsIDE3OCwgMjYsIDQsIAotICAgIDEsIDIzNSwgMTkzLCAyLCAyMTMsIDEyMCwgMjYsIDQsIDEsIDIzNSwgMTkzLCAyLCAyMzEsIDIzNywgMjYsIDQsIDEsIDIzNSwgCi0gICAgMTkzLCAyLCAyNDgsIDQsIDIyLCAyMTQsIDEzLCAyNiwgNCwgMSwgMjM1LCAxOTMsIDIsIDI0OCwgNCwgMjIsIDIyNiwgMTE0LCAKLSAgICAyNiwgNCwgMSwgMjM1LCAxOTMsIDIsIDIyNSwgMTc4LCAyNiwgNCwgMSwgMjM1LCAxOTMsIDIsIDI0OCwgNCwgMjIsIDIyNSwgCi0gICAgMTc4LCAyNiwgNiwgMSwgMjM1LCAxOTMsIDIsIDIxMywgMTIwLCAyNiwgNiwgMSwgMjM1LCAxOTMsIDIsIDIzMSwgMjM3LCAKLSAgICAyNiwgNiwgMSwgMjM1LCAxOTMsIDIsIDIxNCwgMTMsIDI2LCA2LCAxLCAyMzUsIDE5MywgMiwgMjI2LCAxMTQsIDI2LCAyNDgsIAotICAgIDE2MiwgMjIsIDIxNCwgMTMsIDI2LCAyNDgsIDE2MiwgMjIsIDIyNiwgMTE0LCAyNiwgMjQ4LCAxNjIsIDIyLCAyMjUsIDE3OCwgCi0gICAgMjYsIDQsIDEsIDIxNCwgMTU4LCAyLCAyMTMsIDEyMCwgMjYsIDQsIDEsIDIxNCwgMTU4LCAyLCAyMzEsIDIzNywgMjYsIDQsIAotICAgIDEsIDIxNCwgMTU4LCAyLCAyNDgsIDQsIDIyLCAyMTQsIDEzLCAyNiwgNCwgMSwgMjE0LCAxNTgsIDIsIDI0OCwgNCwgMjIsIAotICAgIDIyNiwgMTE0LCAyNiwgNCwgMSwgMjIzLCA0MSwgMiwgMjI0LCAxNTcsIDI2LCA0LCAxLCAyMjMsIDQxLCAyLCAyNDgsIDE2MSwgCi0gICAgMjYsIDQsIDEsIDIxNCwgMTU4LCAyLCAyMjUsIDE3OCwgMjYsIDQsIDEsIDIxNCwgMTU4LCAyLCAyNDgsIDQsIDIyLCAyMjUsIAotICAgIDE3OCwgMjYsIDYsIDEsIDIxNCwgMTU4LCAyLCAyMTMsIDEyMCwgMjYsIDYsIDEsIDIxNCwgMTU4LCAyLCAyMzEsIDIzNywgCi0gICAgMjYsIDYsIDEsIDIxNCwgMTU4LCAyLCAyMTQsIDEzLCAyNiwgNiwgMSwgMjE0LCAxNTgsIDIsIDIyNiwgMTE0LCAyNiwgNiwgCi0gICAgMSwgMjIzLCA0MSwgMiwgMjQ4LCAxNjEsIDI2LCAyNDgsIDQsIDIyLCAyMTQsIDEzLCAyNiwgMjQ4LCA0LCAyMiwgMjI2LCAKLSAgICAxMTQsIDI2LCAyMTQsIDEzLCAyNiwgNCwgMSwgMjI2LCAyMDYsIDIsIDIxNCwgMTQsIDIyLCAyMTAsIDIxOSwgMjYsIDQsIDEsIAotICAgIDIyNiwgMjA2LCAyLCAyMTAsIDIxOSwgMjYsIDQsIDEsIDIyNiwgMjA2LCAyLCAyMjYsIDExNSwgMjIsIDIxMCwgMjE5LCAyNiwgCi0gICAgNCwgMSwgMjI2LCAyMDYsIDIsIDIyNSwgMTc4LCAyNiwgNCwgMSwgMjI2LCAyMDYsIDIsIDIyNSwgMTc5LCAyMiwgMjEwLCAKLSAgICAyMTksIDI2LCA2LCAxLCAyMjYsIDIwNCwgMiwgMjE0LCAxMywgMjYsIDYsIDEsIDIyNiwgMjA0LCAyLCAyMjYsIDExNCwgMjYsIAotICAgIDYsIDEsIDIyNiwgMjA2LCAyLCAyMTQsIDEzLCAyNiwgNiwgMSwgMjI2LCAyMDYsIDIsIDIyNiwgMTE0LCAyNiwgNiwgMSwgCi0gICAgMjI2LCAyMDYsIDIsIDIyNCwgMTcwLCAyNiwgMjI2LCAxMTQsIDI2LCAyNDgsIDE2MSwgMjQ1LCAxNTksIDIyNCwgMzAsIAotICAgIDI0NSwgMTY4LCAyMjQsIDMwLCAyNDUsIDE1OSwgMjE5LCAyMCwgMjQ1LCAxNjgsIDIxOSwgMjAsIDIxNiwgMTQyLCAyMTksIAotICAgIDIwLCAyNDQsIDE3LCAyMTksIDIwLCAyMTksIDEyNSwgMjE5LCAyMCwgMjQ0LCAxMjAsIDIxOSwgMjAsIDIyNCwgMTQ0LCAKLSAgICAyMTksIDIwLCAyMTYsIDE3MSwgMjE5LCAyMCwgMjQyLCA0MiwgMjE5LCAyMCwgMjEwLCA4NywgMjExLCAyNDUsIDIxOSwgMjAsIAotICAgIDIxMCwgODcsIDIxMSwgMjQ1LCAyMjgsIDcyLCAyMTAsIDg3LCAyMTEsIDI0NSwgMjM1LCA2OSwgMjMzLCA0NCwgNzksIDIyMiwgCi0gICAgMjQ2LCA3OSwgMjQwLCAxNzUsIDIyOCwgNzMsIDI0MCwgMTc1LCAyNDQsIDEyMCwgMjQ4LCAxNjQsIDI0NSwgMTU5LCAyNDgsIAotICAgIDE2NCwgMjQ1LCAxNjgsIDI0OCwgMTY0LCAyMDMsIDEzMCwgNTIsIDY3LCAyMzIsIDIxOSwgNTIsIDEyMSwgMjMyLCAyMTksIAotICAgIDQzLCAyMTksIDE1NywgMjI0LCAxLCA3OSwgNDQsIDIxOSwgMTU3LCAyMjQsIDEsIDc5LCAyMTksIDE1NywgMjMyLCAxMTUsIAotICAgIDIyNCwgMSwgNzksIDIxOSwgMTU3LCAyNDEsIDE3MCwgMjI0LCAxLCA3OSwgNDMsIDUyLCAyMjQsIDEsIDc5LCA0NCwgNTIsIAotICAgIDIyNCwgMSwgNzksIDUyLCAyMzIsIDExNSwgMjI0LCAxLCA3OSwgNTIsIDI0MSwgMTcwLCAyMjQsIDEsIDc5LCAyNDgsIDIxMywgCi0gICAgNTIsIDI0OCwgMjEzLCAyNTEsIDEyMSwgMjE1LCAyMjMsIDI1MSwgMTIxLCAxMjMsIDU5LCAyMzMsIDYyLCAxMTMsIDU5LCAKLSAgICAyMzMsIDYyLCAyMDMsIDI0NSwgMTcxLCAyNDAsIDE3MywgMjI1LCAxMywgMjMyLCAyMjAsIDIyMCwgMTM5LCAyMjYsIDE5LCAKLSAgICAyMjAsIDEzOSwgMjMzLCA0NCwgMjQ1LCAxNjYsIDIyMiwgMjQ2LCAyNDUsIDE2NiwgMjI0LCAyNDksIDI0NywgMjA0LCAyNDQsIAotICAgIDI3LCAyMzMsIDQ0LCAyMjYsIDEyMSwgMjIyLCAyNDYsIDIyNiwgMTIxLCAyMjksIDE5OSwgMjI4LCA3OCwgMjE5LCAyMCwgCi0gICAgMjI1LCAxODYsIDIzMCwgMTk4LCA1MCwgMjI1LCAxODYsIDIxNiwgMjQ5LCAyMTYsIDE0OSwgNTAsIDIyNCwgMTkzLCA1MiwgCi0gICAgMjI0LCAxOTMsIDIxNSwgMjEyLCAyMjQsIDE5MywgMjIzLCA1MiwgMjI0LCAxOTMsIDIyMywgNTIsIDUyLCAyMjQsIDE5MywgCi0gICAgMjIzLCA1MiwgMjE1LCAyMTIsIDIyNCwgMTkzLCAyNTAsIDI0NiwgMjE5LCAxNTcsIDIzMywgNDgsIDI1NCwgMTE4LCAyMjQsIAotICAgIDEsIDc5LCAyMTksIDE1NywgMjIyLCAyNTAsIDI1NCwgMTE4LCAyMjQsIDEsIDc5LCAyMjMsIDExMCwgNzksIDUyLCAyNDUsIAotICAgIDM5LCA3OSwgMjM1LCAyMDgsIDIyNiwgMTIzLCAyMTQsIDE4MCwgMTM1LCAyMTYsIDExMiwgMjUwLCAyNDcsIDIzNSwgMjIzLCAKLSAgICAyMjUsIDEzLCAyNTMsIDIyMiwgMjQwLCAxNzYsIDI1MSwgMTIxLCAyNDQsIDEwLCAyMTksIDk3LCA0MywgNDIsIDI1MSwgCi0gICAgMTY2LCAyLCAyMjQsIDEwLCA0NCwgNDIsIDI1MSwgMTY2LCAyLCAyMjQsIDEwLCA1MiwgMjI0LCAxNiwgNzksIDIyNCwgMTYsIAotICAgIDI0NSwgMzksIDc5LCAyNDUsIDM5LCAyMjQsIDE2LCA3OSwgMjE2LCA3MSwgNSwgMjQ1LCA3MywgMjIzLCA1MiwgMjI1LCA3MSwgCi0gICAgNTAsIDg1LCAxNDAsIDI1MSwgMTIxLCA4NSwgOTcsIDI1MSwgMTIxLCAxMjEsIDI1MywgMjI0LCAyMjMsIDUyLCAyMjAsIAotICAgIDE1MiwgMjUwLCA5LCAyMTQsIDE2MywgMTEzLCAyNTMsIDIyMywgMjU0LCAxNjcsIDIxMywgMTg4LCAyNDksIDIyNSwgMjMwLCAKLSAgICAxODcsIDUwLCAyMTcsIDIzNSwgMjQ4LCAxNjQsIDIzNSwgMjAwLCAyMTQsIDE4MCwgMjQ0LCA2MCwgMjI0LCAxNDQsIDc5LCAKLSAgICAxMzQsIDU5LCAyMjQsIDE0MywgMjI0LCAyNywgMjI0LCAxOTMsIDI0NCwgMTksIDU5LCAyMjQsIDE0MywgMjQ0LCA4OSwgNTksIAotICAgIDIyNCwgMTQzLCAxMTMsIDU5LCAyMjQsIDE0MywgMjQ0LCAxOSwgNTksIDc5LCAyNDYsIDEyNiwgMjQ5LCAxMzgsIDIxNSwgCi0gICAgMjIyLCA2NywgMjQ0LCAxOSwgMjQ3LCAxMjYsIDIzMSwgODcsIDExLCAyMTksIDIwLCAyMTEsIDIwOSwgMjM1LCA2OSwgMjQzLCAKLSAgICAyMzQsIDI1NCwgNjAsIDIzNSwgMTk4LCAyMTYsIDg2LCAyMzUsIDE5OCwgMjIwLCAxMzksIDIzNSwgMTk4LCAyMjUsIDI1LCAKLSAgICAyMzMsIDQ0LCAyMzUsIDE3MSwgMjIyLCAyNDYsIDIzNSwgMTcxLCAyNDQsIDEwMCwgMjE4LCA5MSwgMjM1LCAxNzEsIDIyNCwgCi0gICAgMjQ5LCAyNDcsIDIwNCwgMjM1LCAxNzEsIDIzNSwgMjM1LCAyMTcsIDE4MywgMjE3LCAyNTIsIDI1NSwgMTQsIDIxNywgMTgzLCAKLSAgICAyMTcsIDI1MiwgMjM1LCAyMzUsIDksIDI0NCwgMjgsIDIyMCwgODIsIDI1NSwgMTQsIDksIDI0NCwgMjgsIDIyMCwgODIsIAotICAgIDIyOSwgMTk0LCAyMSwgMjIwLCA4MywgMjI4LCA3NCwgMjEsIDIyMCwgODMsIDIxOCwgMjQsIDIxMCwgODYsIDIxOCwgMjQsIAotICAgIDcsIDQsIDEsIDc0LCAyMTgsIDI0LCAxNjEsIDIxOCwgMjQsIDE5MCwgMjE4LCAyNCwgMTk1LCAyMTgsIDI0LCAxOTksIDIxOCwgCi0gICAgMjQsIDE5NiwgMjE4LCAyNCwgMjAxLCAyMTgsIDI0LCA5NiwgNTAsIDIxOCwgMjQsIDIzMCwgMTg2LCAyMTgsIDI0LCAyNDUsIAotICAgIDEwNiwgNTAsIDIxOCwgMjQsIDQzLCAyMjYsIDcsIDIxOCwgMjQsIDQ0LCAyMjYsIDcsIDIxOCwgMjQsIDcsIDQsIDEsIDIzMCwgCi0gICAgMzAsIDIxOCwgNjYsIDIxMCwgODYsIDIxOCwgNjYsIDExMSwgMjE4LCA2NiwgMTA1LCAyMTgsIDY2LCAxNTgsIDIxOCwgNjYsIAotICAgIDE2MSwgMjE4LCA2NiwgMTkwLCAyMTgsIDY2LCAxOTUsIDIxOCwgNjYsIDE5OSwgMjE4LCA2NiwgMTk2LCAyMTgsIDY2LCAKLSAgICAyMDEsIDIxOCwgNjYsIDk2LCA1MCwgMjE4LCA2NiwgMjMwLCAxODYsIDIxOCwgNjYsIDI0NSwgMTA2LCA1MCwgMjE4LCA2NiwgCi0gICAgNDMsIDIyNiwgNywgMjE4LCA2NiwgNDQsIDIyNiwgNywgNywgMjE4LCA2NiwgNCwgMSwgNjEsIDcsIDIxOCwgNjYsIDQsIDEsIAotICAgIDc2LCA3LCAyMTgsIDY2LCA0LCAxLCA3OCwgNywgMjE4LCA2NiwgNCwgMSwgMjExLCAxNzgsIDcsIDIxOCwgNjYsIDQsIDEsIAotICAgIDIyMSwgMTk3LCA3LCAyMTgsIDY2LCA0LCAxLCAyNDIsIDY3LCA3LCAyMTgsIDY2LCA0LCAxLCAyMzUsIDI5LCA3LCAyMTgsIAotICAgIDY2LCA0LCAxLCAxNTYsIDcsIDIxOCwgNjYsIDQsIDEsIDE5NCwgNywgMjE4LCA2NiwgNCwgMSwgMjMwLCAzMCwgNywgMjE4LCAKLSAgICA2NiwgNCwgMSwgMjI2LCAxMDksIDcsIDIxOCwgNjYsIDQsIDEsIDIyMiwgOTMsIDcsIDIxOCwgNjYsIDQsIDEsIDIxNywgCi0gICAgMTUzLCAyNDUsIDU0LCA1MCwgMjQ5LCAyMzUsIDUwLCAyNDksIDEyNSwgNTAsIDI0NCwgMywgMjQ0LCA2LCA1MCwgMjMyLCAKLSAgICAyMDQsIDUwLCAyMzAsIDE5OSwgNTAsIDIyOSwgMjE1LCA1MCwgMjI1LCAxNjUsIDUwLCAyMjIsIDEyMCwgNTAsIDIxMSwgCi0gICAgMjE3LCA1MCwgMTY2LCAyMjAsIDUxLCA1MCwgMjQ3LCAxMzUsIDUwLCAyNDUsIDU1LCA1MCwgMjM0LCA4MiwgNTAsIDIxNSwgCi0gICAgMTEzLCA1MCwgMjQ2LCAxMDksIDUwLCAyNDMsIDQ3LCAyMjUsIDE5NiwgNTAsIDIyNSwgMTYzLCA1MCwgMjQyLCAxMTYsIDUwLCAKLSAgICAyNTMsIDE5MCwgNTAsIDI0MCwgMjM1LCA1MCwgMjUwLCAxOTMsIDUwLCAyMzIsIDE5NywgMjE2LCA0LCA1MCwgMjE5LCAyLCAKLSAgICA1MCwgMjE2LCAyNDYsIDUwLCAyMzUsIDI0OCwgMjIyLCAxMjAsIDUwLCAyMTUsIDk3LCAyMzIsIDIwNCwgNTAsIDM4LCA0MywgCi0gICAgMjQyLCA2LCA0OCwgMzgsIDQ0LCAyNDIsIDYsIDQ4LCAzOCwgMjAwLCA2NywgMjMyLCAyMjAsIDIyNiwgMTI0LCAzOCwgMjE5LCAKLSAgICAyNTMsIDY3LCAyMzIsIDIyMCwgMjI2LCAxMjQsIDM4LCAyNTQsIDk2LCA4MCwgNDgsIDM4LCAyNTAsIDEwLCA4MCwgNDgsIAotICAgIDM4LCA0MywgODAsIDQ4LCAzOCwgNDQsIDgwLCA0OCwgMzgsIDIyMiwgMjM3LCAyMjYsIDEyNCwgMzgsIDI1MCwgMTAsIDIyMiwgCi0gICAgMjM3LCAyMjYsIDEyNCwgMzgsIDI1NCwgOTYsIDIyMiwgMjM3LCAyMjYsIDEyNCwgMzgsIDEzNCwgMTcwLCA0OCwgMzgsIAotICAgIDI0NCwgMTksIDE3MCwgNDgsIDM4LCAyNDUsIDE1NCwgMjUwLCA0MywgMzgsIDI0NSwgMTU0LCAyMTgsIDIzNiwgMzgsIDI0NSwgCi0gICAgMTU0LCAyNDgsIDAsIDM4LCAyNDUsIDE1NCwgMjUwLCA0NCwgMjUyLCAxODgsIDM4LCA0MywgNDQsIDgwLCA0OCwgMzgsIAotICAgIDI0NSwgMTU0LCAyMjEsIDE5MCwgMzgsIDI0NSwgMTU0LCAyMzQsIDE0MSwgMzgsIDI0NSwgMTU0LCAyMTQsIDE1NSwgMjI1LCAKLSAgICAxMCwgMjE1LCAyMjYsIDM4LCAyMjMsIDUzLCAyMTksIDQ5LCAyMjYsIDEyNCwgMzgsIDUyLCA2NywgMjE4LCAxMDUsIDIyNiwgCi0gICAgMTI0LCAzOCwgMjU0LCAxMDYsIDg3LCAzOCwgMjE1LCAyMTIsIDIxNCwgMTgyLCAzOCwgMjExLCAyNDcsIDI1MSwgMTQ4LCAKLSAgICA0OCwgMzgsIDE0MCwgODAsIDIyNiwgMTI0LCAzOCwgMjAwLCA1MiwgMjE5LCA0OSwgMjI2LCAxMjQsIDM4LCA5NywgMjQyLCAKLSAgICA2LCAyLCAyNTIsIDE0NywgMjQ2LCAxMTEsIDM4LCAxNDAsIDI0MiwgNiwgMiwgMjUyLCAxNDcsIDI0NiwgMTExLCAzOCwgNDMsIAotICAgIDgwLCA1MSwgMzgsIDQ0LCA4MCwgNTEsIDM4LCAyNTMsIDIyNSwgNDgsIDI1NSwgMjAsIDIyNiwgMjM1LCAyNTUsIDQsIDIxNiwgCi0gICAgNDMsIDIxNiwgMTk3LCAyMTgsIDc1LCAxMzksIDYsIDI1MSwgNzQsIDI0OCwgNzksIDI1MCwgMTg2LCAyNTAsIDE4MywgMjMyLCAKLSAgICAyMjAsIDg3LCAyNTAsIDI0OCwgMjI2LCAyMzUsIDI1MSwgMzQsIDIxNCwgMTg5LCAyNDUsIDU2LCAyNDksIDE5OSwgMjIxLCAKLSAgICAxODcsIDI0OCwgNzksIDI0NCwgMTg3LCAxMTksIDQsIDI0MywgMjA5LCAxMTksIDYsIDI0MiwgNjcsIDI1MSwgMjI3LCA2LCAKLSAgICAyNDIsIDY3LCAxMzksIDYsIDI0MiwgNjcsIDIyNSwgNDAsIDI0OSwgMTk5LCAyMjUsIDQwLCAyNDksIDIwMCwgMTE1LCAxMTMsIAotICAgIDIyNSwgMTExLCAxMTksIDYsIDc0LCAyNTEsIDIyNywgNiwgNzQsIDExOSwgNiwgMTU2LCAxMTksIDQsIDE1NiwgMjMzLCAKLSAgICAxNTUsIDU3LCAyNTIsIDE0OSwgODcsIDEzOSwgNiwgMjMwLCAzMCwgMjI3LCAyMDAsIDUwLCAyMTksIDMzLCAyMjMsIDEyMiwgCi0gICAgMjQ5LCAxNzAsIDExOSwgNiwgMjI2LCAxMDksIDEzOSwgNiwgMjI2LCAxMDksIDEzOSwgNiwgMjI0LCA5OSwgMTE5LCA2LCAKLSAgICAxNTMsIDI1MSwgMjI3LCA2LCAxNTMsIDEzOSwgNiwgMTUzLCAyMjQsIDE5OSwgMjE3LCA3MiwgMjIzLCA2NSwgMjIwLCAxMzQsIAotICAgIDc5LCAyMTcsIDIsIDUwLCAyMTUsIDI1NCwgMTY0LCA1MCwgMjEzLCAyNDAsIDEzOSwgNiwgMjEwLCAxNTksIDIyNiwgMTM3LCAKLSAgICA1MCwgMjI2LCAyMjUsIDUwLCAyMzUsIDIwMCwgMjI2LCAyMjUsIDUwLCAyNTEsIDIyNywgNiwgMjEwLCAxNTksIDIxNSwgOTQsIAotICAgIDI2LCA0LCAxLCAyMzUsIDE5MiwgMjM0LCAxNzksIDUwLCAyNTQsIDExNSwgNTAsIDExOSwgNiwgMjUzLCAxNjYsIDI1MSwgCi0gICAgMjI3LCA2LCAyNTEsIDc0LCAyNDUsIDc2LCA4NywgMTE5LCA0LCA3NiwgMTE5LCA2LCA3NiwgMTE5LCA2LCAyNDUsIDE0LCAKLSAgICAyMTUsIDk0LCA2LCAyNDUsIDE0LCAxMTksIDYsIDE5NCwgMTE5LCA0LCA3OCwgMTA5LCA4NywgMjUyLCAzNywgODcsIDI0MiwgCi0gICAgMjA5LCA4NywgMjQ4LCAxOTgsIDg3LCAyMzUsIDIzOSwgMjE5LCAzMSwgMjIyLCAxODksIDYsIDIyNCwgOTksIDI0NCwgMTkwLCAKLSAgICA1MCwgMTM5LCA0LCAyMjUsIDExMSwgMTM5LCA0LCAyNDMsIDExNCwgMTM5LCA2LCAyNDMsIDExNCwgMTM5LCA2LCAyMjUsIAotICAgIDExMSwgMTM5LCAyMzAsIDI5LCAyMTgsIDQxLCAyMTUsIDk0LCAzNSwgNiwgMjQzLCAyMDksIDIxNSwgOTQsIDM1LCA2LCAKLSAgICAxNTYsIDIyMywgNTIsIDM1LCA2LCAxNTYsIDIxNSwgOTQsIDM1LCA2LCAyMTEsIDExNywgMTM5LCAzMiwgNiwgMjQ5LCA2OCwgCi0gICAgMTM5LCAzMiwgNCwgMjQ5LCA2OCwgMTM5LCAzMiwgNCwgNzYsIDEzOSwgMzIsIDQsIDc0LCAxMzksIDMyLCA0LCAyMzUsIAotICAgIDE1MCwgMjI0LCAxNzMsIDIzMiwgMjE5LCAyMTUsIDk0LCAyNTQsIDEzNCwgMjI1LCAxODYsIDUwLCAyNTQsIDE4OSwgMjE1LCAKLSAgICA5NCwgNCwgMjQ1LCAxNCwgMTYsIDMxLCAyMjEsIDI1NCwgMjE5LCAzMSwgMjEyLCAxMTQsIDI0NCwgMTAsIDEyMywgMjIwLCAKLSAgICAxMjAsIDIxMiwgMTE0LCAyNDQsIDEwLCAxMjMsIDIyOCwgMTk5LCAyMTIsIDExNCwgMjQ0LCAxMCwgMTIzLCAyMTYsIDI0MiwgCi0gICAgMjEyLCAxMTQsIDI0NCwgMTAsIDEyMywgMjE2LCAxNjksIDIxMiwgMTE0LCAyNDQsIDEwLCAxMTMsIDIxNiwgMTY3LCAyMTIsIAotICAgIDExNCwgMjQ0LCAxMCwgMTIzLCAyNDQsIDEyNSwgMjEyLCAxMTQsIDI0NCwgMTAsIDExMywgMjQ0LCAxMjQsIDIxMiwgMTE0LCAKLSAgICAyNDQsIDEwLCAxMzQsIDI0NCwgMTI0LCAyMTIsIDExNCwgMjQ0LCAxMCwgMjQ0LCAxOSwgMjQ0LCAxMjQsIDIxMiwgMTE0LCAKLSAgICAyNDQsIDEwLCAxMjMsIDIxOSwgMTE3LCAyMTIsIDExNCwgMjQ0LCAxMCwgMjQ0LCA4OSwgMjE5LCAxMTUsIDIxMiwgMTE0LCAKLSAgICAyNDQsIDEwLCAxMjMsIDI0NSwgMTk2LCAyMTIsIDExNCwgMjQ0LCAxMCwgMTM0LCAyNDUsIDE5NCwgMjEyLCAxMTQsIDI0NCwgCi0gICAgMTAsIDI0NCwgODksIDI0NSwgMTk0LCAyMTIsIDExNCwgMjQ0LCAxMCwgMjIwLCAxMjQsIDI0NSwgMTk0LCAyNDQsIDEwLCAKLSAgICAyMjcsIDIwMSwgMTExLCAyMjIsIDIwMCwgMjI3LCAyMDIsIDExMSwgMjIyLCAyMDAsIDIyNywgMjAyLCAxMDUsIDIyMiwgCi0gICAgMjAwLCAyMjcsIDIwMiwgMTU4LCAyMjIsIDIwMCwgMjI3LCAyMDIsIDE2MSwgMjIyLCAyMDAsIDIyNywgMjAyLCAxOTAsIAotICAgIDIyMiwgMjAwLCAyMjcsIDIwMiwgMTk1LCAyMjIsIDIwMCwgMjI3LCAyMDIsIDE5OSwgMjIyLCAyMDAsIDIyNywgMjAyLCAKLSAgICAxOTYsIDIyMiwgMjAwLCAyMjcsIDIwMiwgMjAxLCAyMjIsIDIwMCwgMjI3LCAyMDIsIDIxNiwgMjQ4LCAyMjIsIDIwMCwgCi0gICAgMjI3LCAyMDIsIDI0NSwgMTc1LCAyMjIsIDIwMCwgMjI3LCAyMDIsIDIxNSwgNzYsIDIyMiwgMjAwLCAyMjcsIDIwMiwgMjQ0LCAKLSAgICAxMjIsIDIyMiwgMjAwLCAyMjcsIDIwMiwgMTIzLCAyNDAsIDIxNywgMjIyLCAyMDAsIDIyNywgMjAyLCAyNDQsIDg5LCAyNDAsIAotICAgIDIxNywgMjIyLCAyMDAsIDIyNywgMjAyLCAxMjMsIDIxNiwgMTQ4LCA0LCAyMjIsIDIwMCwgMjI3LCAyMDIsIDExMSwgNCwgCi0gICAgMjIyLCAyMDAsIDIyNywgMjAyLCAxMDUsIDQsIDIyMiwgMjAwLCAyMjcsIDIwMiwgMTU4LCA0LCAyMjIsIDIwMCwgMjI3LCAKLSAgICAyMDIsIDE2MSwgNCwgMjIyLCAyMDAsIDIyNywgMjAyLCAxOTAsIDQsIDIyMiwgMjAwLCAyMjcsIDIwMiwgMTk1LCA0LCAyMjIsIAotICAgIDIwMCwgMjI3LCAyMDIsIDE5OSwgNCwgMjIyLCAyMDAsIDIyNywgMjAyLCAxOTYsIDQsIDIyMiwgMjAwLCAyMjcsIDIwMiwgCi0gICAgMjAxLCA0LCAyMjIsIDIwMCwgMjI3LCAyMDIsIDIxNiwgMjQ4LCA0LCAyMjIsIDIwMCwgMjI3LCAyMDIsIDI0NSwgMTc1LCA0LCAKLSAgICAyMjIsIDIwMCwgMjI3LCAyMDIsIDIxNSwgNzYsIDQsIDIyMiwgMjAwLCAyMjcsIDIwMiwgMjQ0LCAxMjIsIDQsIDIyMiwgCi0gICAgMjAwLCAyMjcsIDIwMiwgMTIzLCAyNDAsIDIxNywgNCwgMjIyLCAyMDAsIDIyNywgMjAyLCAyNDQsIDg5LCAyNDAsIDIxNywgCi0gICAgNCwgMjIyLCAyMDAsIDIyNywgMjAyLCAxMjMsIDIxNiwgMTQ4LCAyMjIsIDIwMCwgMjI3LCAyMDIsIDEyMywgMjE2LCAxNDksIAotICAgIDI1MSwgNzUsIDI0OSwgNjgsIDIyMiwgMjAwLCAyMjcsIDIwMiwgMjQ0LCA4OSwgMjE2LCAxNDgsIDIyMiwgMjAwLCAyMjcsIAotICAgIDIwMiwgMjE2LCAyNDksIDIxNiwgMTQ4LCAyMjIsIDIwMCwgMjI3LCAyMDIsIDIyMywgNTIsIDEyMywgMjQwLCAyMTcsIDcsIAotICAgIDQsIDEsIDIyMywgNTIsIDI1MSwgNzQsIDIyMiwgMjAwLCAyMjcsIDIwMiwgMjE5LCAxMjcsIDIzMywgODQsIDE3LCAyMjIsIAotICAgIDIwMCwgMjI3LCAyMDIsIDI0NCwgMTIzLCAyNDUsIDIzNCwgMTcsIDIyMiwgMjAwLCAyMjcsIDIwMiwgMjQ0LCAxMjMsIDIxNiwgCi0gICAgMTQ4LCAyMjIsIDIwMCwgMjI3LCAyMDIsIDEyMywgMjQwLCAyMTgsIDIxNiwgMTQ4LCAyMTIsIDExNCwgMjQ0LCAxMCwgMjEwLCAKLSAgICA4NywgMjE2LCAxNjcsIDE0MCwgNzUsIDIxNCwgMTUzLCA3NSwgOTcsIDc1LCAyNDYsIDExMiwgNzUsIDQzLCA0NCwgNzUsIAotICAgIDEyMCwgMTI0LCA3NSwgMjI4LCA2MSwgMjEyLCA5LCA3NSwgMjI4LCA2MSwgMjQ1LCAyMjgsIDc1LCAyMTksIDMwLCAyNDUsIAotICAgIDIyOCwgNzUsIDIxOSwgMzAsIDIxMiwgOSwgNzUsIDE0MCwgODAsIDIsIDkxLCA5NywgODAsIDIsIDkxLCAxNDAsIDIxMiwgCi0gICAgMzYsIDc1LCA5NywgMjEyLCAzNiwgNzUsIDE0MCwgMTEzLCAyNDEsIDI0MSwgNzUsIDIxNCwgMTUzLCAxMTMsIDI0MSwgMjQxLCAKLSAgICA3NSwgOTcsIDExMywgMjQxLCAyNDEsIDc1LCAyNDYsIDExMiwgMTEzLCAyNDEsIDI0MSwgNzUsIDE0MCwgODAsIDIsIDIxNywgCi0gICAgNzgsIDk3LCA4MCwgMiwgMjE3LCA3OCwgMTQwLCA4MCwgMjQzLCAyNTEsIDEzMCwgMjE0LCAxNTMsIDgwLCAyNDMsIDI1MSwgCi0gICAgMTMwLCA5NywgODAsIDI0MywgMjUxLCAxMzAsIDI0NiwgMTEyLCA4MCwgMjQzLCAyNTEsIDEzMCwgMTIwLCAxMjQsIDgwLCAyLCAKLSAgICAyNTIsIDEzNSwgMTQwLCA4MCwgMiwgMTAzLCA5NywgODAsIDIsIDEwMywgMTQwLCA4MCwgMiwgMjMyLCAxMjksIDk3LCA4MCwgCi0gICAgMiwgMjMyLCAxMjksIDQzLCA0NCwgMjEyLCAzNiwgNzUsIDQzLCA0NCwgODAsIDIsIDkxLCAyNDYsIDExMiwgMjEwLCAzNSwgCi0gICAgNzUsIDIxNCwgMTUzLCA4MCwgMiwgMjE2LCA3OCwgMjMzLCA0MywgMjE0LCAxNTMsIDgwLCAyLCAyMTYsIDc4LCAyMjIsIAotICAgIDI0NCwgMjQ2LCAxMTIsIDgwLCAyLCAyMTYsIDc4LCAyMzMsIDQzLCAyNDYsIDExMiwgODAsIDIsIDIxNiwgNzgsIDIyMiwgCi0gICAgMjQ0LCA5NywgODAsIDIsIDI0OSwgMTY5LCAyNDYsIDExMSwgMjQ2LCAxMTIsIDgwLCAyLCAyNDksIDE2OSwgMjMzLCA0MywgCi0gICAgMjU0LCA5NiwgMjE2LCAxNSwgMjIwLCAxNTUsIDc1LCAyNTAsIDEwLCAyMTYsIDE1LCAyMjAsIDE1NSwgNzUsIDIyOCwgNjEsIAotICAgIDIxMiwgOSwgODAsIDIxNiwgNDMsIDIwMCwgMTMwLCAxNDAsIDgwLCAyMTYsIDQzLCAyNTIsIDE0OSwgMTE1LCA5NywgODAsIAotICAgIDIxNiwgNDMsIDEzMCwgMjU0LCA5NiwgMjA0LCAyNTAsIDQ0LCA3NSwgMjUwLCAxMCwgMjA0LCAyNTAsIDQ0LCA3NSwgMTQwLCAKLSAgICAyNDIsIDYsIDIsIDI1MiwgMTQ3LCAyMTQsIDE1MiwgMTQwLCAyNDIsIDYsIDIsIDI1MiwgMTQ3LCAyNDYsIDExMSwgMjE0LCAKLSAgICAxNTMsIDI0MiwgNiwgMiwgMjUyLCAxNDcsIDIyMiwgMjQ0LCAyMTQsIDE1MywgMjQyLCA2LCAyLCAyNTIsIDE0NywgMjMzLCAKLSAgICA0MywgOTcsIDI0MiwgNiwgMiwgMjUyLCAxNDcsIDIxNCwgMTUyLCA5NywgMjQyLCA2LCAyLCAyNTIsIDE0NywgMjQ2LCAxMTEsIAotICAgIDI0NiwgMTEyLCAyNDIsIDYsIDIsIDI1MiwgMTQ3LCAyMjIsIDI0NCwgMjQ2LCAxMTIsIDI0MiwgNiwgMiwgMjUyLCAxNDcsIAotICAgIDIzMywgNDMsIDk3LCA4MCwgMTE1LCAxNDAsIDc1LCAyMTQsIDE1MywgODAsIDE0MCwgNjQsIDI0NiwgMTEyLCA3NSwgMTQwLCAKLSAgICA4MCwgMTE1LCA5NywgNzUsIDE0MCwgMjI2LCA3NCwgMjUzLCAyNTUsIDIxNCwgMTUzLCAyMjYsIDc0LCAyNTMsIDI1NSwgOTcsIAotICAgIDIyNiwgNzQsIDI1MywgMjU1LCAyNDYsIDExMiwgMjI2LCA3NCwgMjUzLCAyNTUsIDE0MCwgMjQyLCA2LCAxMTUsIDk3LCAKLSAgICAyNDIsIDUsIDk3LCAyNDIsIDYsIDExNSwgMTQwLCAyNDIsIDUsIDE0MCwgNTIsIDgwLCAyLCA5MSwgNDMsIDQ0LCA1MiwgODAsIAotICAgIDIsIDkxLCA5NywgNTIsIDgwLCAyLCA5MSwgMTQwLCA1MiwgNzUsIDIxNCwgMTUzLCA1MiwgNzUsIDk3LCA1MiwgNzUsIDI0NiwgCi0gICAgMTEyLCA1MiwgNzUsIDQzLCA0NCwgNTIsIDc1LCAxMjAsIDEyNCwgNTIsIDc1LCAyMjgsIDYxLCAyMTIsIDksIDUyLCA3NSwgCi0gICAgMjI4LCA2MSwgMjQ1LCAyMjgsIDUyLCA3NSwgMjE5LCAzMCwgMjQ1LCAyMjgsIDUyLCA3NSwgMjE5LCAzMCwgMjEyLCA5LCAKLSAgICA1MiwgNzUsIDE0MCwgMjE1LCAyMTIsIDc1LCA5NywgMjE1LCAyMTIsIDc1LCAxNDAsIDIxOCwgMjMyLCA3NSwgOTcsIDIxOCwgCi0gICAgMjMyLCA3NSwgMjE0LCAxNTMsIDgwLCAyLCA1MiwgOTEsIDI0NiwgMTEyLCA4MCwgMiwgNTIsIDkxLCAxNDAsIDI0OCwgMTYzLCAKLSAgICA3NSwgMjE0LCAxNTMsIDI0OCwgMTYzLCA3NSwgOTcsIDI0OCwgMTYzLCA3NSwgMjQ2LCAxMTIsIDI0OCwgMTYzLCA3NSwgCi0gICAgMTQwLCA4MCwgMjE2LCA0MywgMTMwLCA5NywgODAsIDIxNiwgNDMsIDEzMCwgMTQwLCA3MSwgNzUsIDIxNCwgMTUzLCA3MSwgCi0gICAgNzUsIDk3LCA3MSwgNzUsIDI0NiwgMTEyLCA3MSwgNzUsIDIxNCwgMTUzLCA3MSwgODAsIDI0MywgMjUxLCAxMzAsIDIxNCwgCi0gICAgMTUzLCA3MSwgODAsIDIyNiwgMjAxLCAyMjUsIDIxNywgMjE0LCAxNTMsIDcxLCA4MCwgMjI2LCAyMDEsIDIyNSwgMjE4LCAyLCAKLSAgICAyMDMsIDEzMCwgMjE0LCAxNTMsIDcxLCA4MCwgMjI2LCAyMDEsIDIyNSwgMjE4LCAyLCA2NywgMTMwLCAyMTQsIDE1MywgNzEsIAotICAgIDUyLCA3NSwgMjE0LCAxNTMsIDcxLCA1MiwgODAsIDIyNiwgMjAxLCAyMjUsIDIxNywgOTcsIDcxLCA4MCwgMjQzLCAyNTEsIAotICAgIDIxMiwgNTYsIDIyOCwgNjEsIDIxMiwgOSwgODAsIDIxNiwgNDMsIDI0OSwgMTY4LCAyMTksIDMwLCAyNDUsIDIyOCwgODAsIAotICAgIDIxNiwgNDMsIDI0OSwgMTY4LCAxMjAsIDEyNCwgNzEsIDc1LCA0NCwgODAsIDIsIDQsIDI1MCwgNDMsIDI0NiwgMTEyLCA4MCwgCi0gICAgMTQwLCA2NCwgMjE0LCAxNTMsIDc1LCAxMzQsIDk3LCAyNTMsIDI1NSwgMTQwLCA4MCwgMiwgNjcsIDkxLCA5NywgODAsIDIsIAotICAgIDY3LCA5MSwgNDMsIDQ0LCA4MCwgMiwgNjcsIDkxLCAxNDAsIDgwLCAyLCA1MiwgNjcsIDkxLCA5NywgODAsIDIsIDUyLCA2NywgCi0gICAgOTEsIDQzLCA0NCwgODAsIDIsIDUyLCA2NywgOTEsIDE0MCwgMjI2LCAxNzcsIDc1LCA5NywgMjI2LCAxNzcsIDc1LCA0MywgCi0gICAgNDQsIDIyNiwgMTc3LCA3NSwgMzEsIDI1NCwgMTYzLCAyNDksIDIyMiwgMjI2LCAxLCAyNDcsIDI0MSwgMjE2LCAxODgsIAotICAgIDI0NSwgMzUsIDIxNiwgMTg4LCAyNDcsIDE0NiwgMjI4LCA1NywgMjQ1LCAzNiwgMjQ1LCAxNjAsIDIyMCwgMTI5LCAyMzUsIAotICAgIDI1MiwgMjI5LCAyMjYsIDI0NSwgMTc4LCAyMjYsIDIzNSwgMjI4LCA1NywgMjU0LCAxMzIsIDI0NSwgMTc4LCAyMjYsIDIzNSwgCi0gICAgNCwgMjQ1LCAxNzgsIDIyNiwgMjM1LCAyNDksIDE5NCwgMjUzLCAyNDYsIDIzMSwgNjcsIDI0NywgMTQ2LCAyMjgsIDU3LCAKLSAgICAyNDksIDE5NiwgMjUzLCAyNDYsIDIzMSwgNjcsIDQsIDI0OSwgMTk0LCAyNTMsIDI0NiwgMjMxLCA2NywgMjQ1LCAxNTEsIAotICAgIDY0LCAyMjQsIDE3NSwgMjMwLCAyOSwgMjI0LCAxODMsIDIzMCwgMjksIDI0OSwgMTczLCAyMzAsIDI5LCAyMTgsIDQxLCAKLSAgICAyMzAsIDE4NywgNTAsIDIzMCwgMTg1LCA1MCwgNTksIDIyNSwgMjUsIDI0NywgMTc3LCAyMTksIDk3LCAyMjAsIDEzMCwgCi0gICAgMjMwLCAxODYsIDI1MywgMjI1LCAyMjYsIDE3MSwgMjIyLCAyMzcsIDIyNiwgMTcxLCAyNTEsIDEyMiwgMjI2LCAxNzEsIDQyLCAKLSAgICAyMjIsIDE5NSwgMjQ5LCAxMTcsIDIyMiwgMTk1LCAyNDQsIDEyLCAyMjIsIDE5NSwgMjI0LCAxNzEsIDExMiwgMjM1LCAyNDEsIAotICAgIDQ0LCAyNTQsIDExNywgMjU0LCAxMTcsIDIzMSwgOTMsIDI1NCwgMTE3LCAyMTksIDEsIDI1NCwgMTE3LCAyNDcsIDE3OSwgCi0gICAgMjQ3LCAxNDYsIDIyOCwgNTcsIDI0NywgMTgyLCAyMjYsIDEyLCAxMTIsIDIyOCwgNTcsIDIyNiwgMTIsIDExMiwgMjMyLCAKLSAgICAxNTIsIDI1NCwgMTI2LCAyMzIsIDE1MiwgMjI2LCAxNjIsIDIzNSwgMjA1LCAyMTQsIDE3NSwgMjM1LCAyMTgsIDUyLCAyMzUsIAotICAgIDIxOCwgMjE1LCAyMTIsIDIzNSwgMjE4LCAyNDksIDE5MCwgMjM1LCAyMTgsIDIxOCwgMTQsIDIzNSwgMjE4LCAyMTMsIDEyOSwgCi0gICAgMjM1LCAyMTgsIDI1MCwgMTAsIDIzNSwgMjE4LCAyNTAsIDEwLCAyNDksIDE5MCwgMjM1LCAyMTgsIDI1NCwgOTYsIDI0OSwgCi0gICAgMTkwLCAyMzUsIDIxOCwgMjE2LCAxODcsIDI1MiwgNzUsIDIyMywgMTQwLCAyMjQsIDE3MiwgNTksIDIzMCwgMTg2LCAyNDUsIAotICAgIDQxLCAyNDMsIDUzLCAyMjQsIDE3MiwgMjQxLCA2NCwgMjE2LCA5MCwgMjI2LCAxNzEsIDIyMywgNTIsIDE4NCwgMjM1LCAKLSAgICAyMDAsIDIzMywgNzEsIDIyMiwgOTMsIDIxOSwgMTU5LCAyMTIsIDM1LCAyMTEsIDIwMCwgMjI0LCAxODMsIDIyOCwgNTcsIAotICAgIDE4NCwgMjMwLCAxODcsIDE4NCwgMjUzLCAyMTgsIDEyOCwgMTEyLCAyMjgsIDU3LCAyNTMsIDIxOCwgMTI4LCAxMTIsIDI1NCwgCi0gICAgNTYsIDEyOCwgMTEyLCAyNTQsIDU2LCAyNTEsIDk2LCAyMjgsIDU3LCAyNTUsIDEzLCAxMjgsIDExMiwgMjI5LCAxMDUsIAotICAgIDI1NCwgNTYsIDIyOCwgNjQsIDI1NSwgMTMsIDEyOCwgMTEyLCAyNTQsIDE1NiwgMTI4LCAxMTIsIDIyOCwgNTcsIDI1NCwgCi0gICAgMTU2LCAxMjgsIDExMiwgMjU0LCAxNTYsIDEyOCwgMTc3LCAxMjgsIDExMiwgMjE1LCAyMTIsIDE4NCwgMjU0LCAxNjQsIAotICAgIDEyOCwgMTEyLCAyNDUsIDEwMiwgMTEyLCAyNDMsIDUyLCAyNDUsIDEwMiwgMTEyLCAyNDcsIDI0MiwgMjUyLCAzMSwgMjU0LCAKLSAgICA1OCwgMjE2LCAxOTcsIDIzMiwgMjI3LCAyNDMsIDUyLCAxMjgsIDExMiwgMjU0LCA1NiwgMTI4LCAyMTYsIDQzLCAxNzcsIAotICAgIDIxNiwgMTk3LCAyMzYsIDIyLCAyMjYsIDIzNSwgMjM2LCAyMiwgNjQsIDE3NywgMjU0LCA1NiwgMTI4LCAxMTIsIDI0OSwgCi0gICAgMjM1LCAyNDUsIDEwNSwgMjQ1LCAxMDYsIDI0OSwgMjM0LCAyMjIsIDIzNywgMjM2LCA3LCAxMjgsIDExMiwgMjIyLCAyMzcsIAotICAgIDEyOCwgMTEyLCAyNDksIDE2MiwgMTEyLCAyNDUsIDc1LCAyNDUsIDEwNCwgMTEyLCAyMTgsIDE1OSwgMjQ1LCAxMDUsIDI0OCwgCi0gICAgNjMsIDEyOCwgMTEyLCAxMjgsIDIxNiwgNDMsIDI1MSwgODYsIDI0OCwgODAsIDIzMSwgOTMsIDI1MSwgODUsIDIyNCwgMTQsIAotICAgIDEyOCwgMTEyLCAyMjgsIDU3LCAxMjgsIDExMiwgMjQwLCAxMTEsIDExMiwgMjI4LCA1NywgMjQwLCAxMTEsIDExMiwgMjE4LCAKLSAgICAxMTEsIDI0NSwgMTAyLCAxMTIsIDIzMywgMjEsIDE3NywgMTI4LCAxMTIsIDI0MiwgMTM3LCAxNzcsIDEyOCwgMTEyLCAyMzMsIAotICAgIDIxLCAxMTUsIDEyOCwgMTEyLCAyNDIsIDEzNywgMTE1LCAxMjgsIDExMiwgMjMzLCAyMSwgMjUxLCA5NiwgMjI4LCA1NywgCi0gICAgMTI4LCAxMTIsIDI0MiwgMTM3LCAyNTEsIDk2LCAyMjgsIDU3LCAxMjgsIDExMiwgMjMwLCAxMDIsIDIzMywgMjAsIDIzMCwgCi0gICAgMTAyLCAyNDIsIDEzNiwgMjUyLCAzMSwgMjI4LCA1NywgMjQ1LCAxMDIsIDExMiwgMjI4LCA1NywgMjMzLCAyMCwgMjI4LCAKLSAgICA1NywgMjQyLCAxMzYsIDIyOSwgMTA1LCAyMzMsIDIxLCAyMjgsIDY0LCAxMjgsIDExMiwgMjI5LCAxMDUsIDI0MiwgMTM3LCAKLSAgICAyMjgsIDY0LCAxMjgsIDExMiwgMjMzLCAyMSwgMTc3LCAyNDUsIDEwMiwgMTEyLCAyNDIsIDEzNywgMTc3LCAyNDUsIDEwMiwgCi0gICAgMTEyLCAyMjksIDEwNSwgMjMzLCAyMSwgMjI4LCA2NCwgMjQ1LCAxMDIsIDExMiwgMjI5LCAxMDUsIDI0MiwgMTM3LCAyMjgsIAotICAgIDY0LCAyNDUsIDEwMiwgMTEyLCAyMzMsIDIxLCAxNzcsIDI0MiwgMTM2LCAyNDIsIDEzNywgMTc3LCAyMzMsIDIwLCAyMjksIAotICAgIDEwNSwgMjMzLCAyMSwgMjI4LCA2NCwgMjQyLCAxMzYsIDIyOSwgMTA1LCAyNDIsIDEzNywgMjI4LCA2NCwgMjMzLCAyMCwgCi0gICAgMjI0LCAyMDUsIDIxOCwgNTYsIDIyNCwgMjA2LCAxNzcsIDEyOCwgMTEyLCAyMTgsIDU3LCAxNzcsIDEyOCwgMTEyLCAyMjQsIAotICAgIDIwNiwgMTc3LCAyNDUsIDEwMiwgMTEyLCAyMTgsIDU3LCAxNzcsIDI0NSwgMTAyLCAxMTIsIDI0NywgMTQ2LCAyMjgsIDU3LCAKLSAgICAyMjQsIDIwOCwgMjQ3LCAxNDYsIDIyOCwgNTcsIDIxOCwgNTgsIDIxOCwgNjUsIDIyNiwgMjM1LCAyMTgsIDIzLCAyMjYsIAotICAgIDIzNSwgMjI4LCA1NywgMTE2LCAyMTgsIDY1LCAyMjYsIDIzNSwgMjI4LCA1NywgMTE2LCAyMTgsIDIzLCAyMjYsIDIzNSwgCi0gICAgMjE4LCA2NSwgNjQsIDE3NywgMTI4LCAxMTIsIDIxOCwgMjMsIDY0LCAxNzcsIDEyOCwgMTEyLCAyMjksIDEwNSwgMTE2LCAKLSAgICAyMTgsIDY1LCA2NCwgMjI4LCA2NCwgMTI4LCAxMTIsIDIyOSwgMTA1LCAxMTYsIDIxOCwgMjMsIDY0LCAyMjgsIDY0LCAxMjgsIAotICAgIDExMiwgMjE4LCA2NSwgNjQsIDIsIDIyOCwgNTcsIDEyOCwgMTEyLCAyMTgsIDIzLCA2NCwgMiwgMjI4LCA1NywgMTI4LCAKLSAgICAxMTIsIDIzMCwgODYsIDIzMCwgODcsIDIzMCwgODgsIDIzMCwgODcsIDIxNCwgMTc1LCA0MiwgMjM2LCAyMiwgMjI2LCAyMzUsIAotICAgIDQyLCAyMjYsIDE1NCwgMjI2LCAyMzUsIDQyLCAyMzYsIDIyLCA2NCwgMTc3LCAxMjgsIDExMiwgNDIsIDIyNiwgMTU0LCA2NCwgCi0gICAgMTc3LCAxMjgsIDExMiwgNDIsIDI1MSwgMywgNDIsIDI0OSwgMTEwLCAzNywgMjI1LCAyNSwgMzcsIDIzMCwgMTg2LCAzNywgCi0gICAgMjE2LCA4NiwgMzcsIDI0NywgMTc3LCAyMTksIDk3LCAzNywgNTksIDIyNiwgMTcxLCAzNywgMjIyLCAyMzcsIDIyNiwgMTcxLCAKLSAgICAzNywgMjUzLCAyMjUsIDIyNiwgMTcxLCAzNywgMjQ1LCAxMDUsIDM3LCAyNDgsIDE2NCwgOTIsIDIyNSwgMjUsIDkyLCAyMzAsIAotICAgIDE4NiwgOTIsIDIxNiwgODYsIDkyLCA1OSwgMjI2LCAxNzEsIDQ0LCAyMTcsIDg4LCA0MywgMjE3LCA4OCwgMTI0LCAyMTcsIAotICAgIDg4LCAxMjAsIDIxNywgODgsIDI1MywgMjI4LCAyMzAsIDE2MSwgMjE1LCAxOTIsIDI0NCwgMzMsIDIxNSwgMjEyLCA2NywgCi0gICAgMjUyLCAxNDksIDQ0LCAyMTUsIDkzLCA1MiwgNjcsIDI1MiwgMTQ5LCA1MiwgNDQsIDIxNSwgOTMsIDI0NywgMTQ2LCAyMjgsIAotICAgIDU3LCAyMjQsIDE2NiwgMjI4LCA1NywgMjE1LCAxOTIsIDI0NywgMTQ2LCAyMjgsIDU3LCAyNDQsIDM0LCAyMjksIDEwNywgCi0gICAgNTIsIDY3LCAyNTIsIDE0OSwgNTIsIDQ0LCAyMTUsIDkzLCAyMjQsIDIwNiwgMjE0LCAxODQsIDIyMywgOTQsIDIxOCwgNTcsIAotICAgIDIxNCwgMTg0LCAyMjMsIDk0LCAyMjgsIDYyLCAyMTgsIDc4LCAyMjYsIDIzNSwgMjQ5LCAxOTQsIDI1MywgMjQ2LCAyMjgsIAotICAgIDYyLCAyMTgsIDc3LCAyMjgsIDYyLCAyMTgsIDc4LCA2NCwgMTc3LCAxMjgsIDExMiwgMjQ5LCAxOTQsIDI1MywgMjQ2LCAKLSAgICAyMjgsIDYyLCAyMTgsIDc4LCAxNzcsIDEyOCwgMTEyLCAyMjYsIDE1NCwgMjI2LCAyMzUsIDIzNiwgMjIsIDIyNiwgMjM1LCAKLSAgICAyMzAsIDkyLCAyNDEsIDIwNywgMjQ5LCAyMDQsIDIzMSwgMTQyLCAyMzUsIDIxNSwgMjExLCAxNDUsIDIyOSwgMjA3LCAyMjgsIAotICAgIDYzLCA0NCwgMjU0LCAxMTgsIDIsIDI1NCwgMzMsIDQ0LCAyMTUsIDIyNiwgMjMwLCAyOSwgMjMyLCAxNTIsIDI1NCwgMTI2LCAKLSAgICAyMzAsIDI5LCAyMzIsIDE1MiwgMjI2LCAxNjIsIDIzMCwgMjksIDIzNSwgMjA1LCAyMzAsIDI5LCAyMTQsIDE3NSwgMjQ4LCAKLSAgICAxLCAyMjYsIDE3MSwgNTksIDIyNiwgMTcxLCAyMTgsIDE1OSwgMjI2LCAxNzEsIDI0NywgMTc3LCAyMTYsIDg2LCAyNTEsIAotICAgIDE3MiwgNDMsIDIyOCwgNjIsIDI0NCwgMTg5LCAyMjAsIDE1MSwgMjI0LCAxODMsIDQ0LCAyMjgsIDYyLCAyNDQsIDE4OSwgCi0gICAgMjIwLCAxNTEsIDIyNCwgMTgzLCA0MywgMjIwLCAxNTEsIDIyNCwgMTgzLCA0NCwgMjIwLCAxNTEsIDIyNCwgMTgzLCAyMjMsIAotICAgIDUyLCAyMTYsIDkwLCAyNDUsIDEwNSwgMjQ5LCAxMDcsIDIzMiwgMTUyLCAyMjYsIDE2MiwgMjQ5LCAxMDcsIDIzMiwgMTUyLCAKLSAgICAyNTQsIDEyNiwgNTIsIDIxOCwgNjQsIDUyLCAyMTgsIDIyLCA1MiwgMjM1LCAyMDUsIDUyLCAyMTQsIDE3NSwgMjI1LCA1MCwgCi0gICAgMTI4LCAyMiwgMjI2LCAxMiwgMTEyLCAyMzMsIDIxLCAyLCAyNDcsIDEyOCwgMjQyLCAxMzcsIDIsIDI0NywgMTI4LCAyMTMsIAotICAgIDE4NywgMjMwLCAxMDIsIDIzMywgMjAsIDIxMywgMTg3LCAyMzAsIDEwMiwgMjQyLCAxMzYsIDIzMywgMjEsIDEyOCwgMjE2LCAKLSAgICA0MywgMTc3LCAyNDIsIDEzNiwgMjQyLCAxMzcsIDEyOCwgMjE2LCA0MywgMTc3LCAyMzMsIDIwLCAxMjgsIDIxNiwgNDMsIAotICAgIDE3NywgMjMzLCAyMCwgMTI4LCAyMTYsIDQzLCAxNzcsIDI0MiwgMTM2LCAxMjgsIDIxNiwgNDMsIDE3NywgMjI0LCAyMDUsIAotICAgIDEyOCwgMjE2LCA0MywgMTc3LCAyMTgsIDU2LCAyNDcsIDE0NiwgMjI4LCA1NywgMjI0LCAyMDksIDE3NywgMjQ1LCAxMDcsIAotICAgIDI0NywgMTQ2LCAyMjgsIDU3LCAyMTgsIDU5LCAxNzcsIDI0NSwgMTA3LCAyMjgsIDU3LCA0MiwgMjM2LCAyMiwgNjQsIDE3NywgCi0gICAgMTI4LCAxMTIsIDIyOCwgNTcsIDQyLCAyMjYsIDE1NCwgNjQsIDE3NywgMTI4LCAxMTIsIDQyLCAyMzYsIDIyLCA2NCwgMTc3LCAKLSAgICAyMjgsIDU3LCAxMjgsIDExMiwgNDIsIDIyNiwgMTU0LCA2NCwgMTc3LCAyMjgsIDU3LCAxMjgsIDExMiwgMjMzLCAyMSwgCi0gICAgMjUxLCA5NiwgMjI4LCA1NywgMjQ1LCAxMDIsIDExMiwgMjQyLCAxMzcsIDI1MSwgOTYsIDIyOCwgNTcsIDI0NSwgMTAyLCAKLSAgICAxMTIsIDIyNCwgMjA2LCAyNTEsIDk2LCAyMjgsIDU3LCAyNDUsIDEwMiwgMTEyLCAyMTgsIDU3LCAyNTEsIDk2LCAyMjgsIAotICAgIDU3LCAyNDUsIDEwMiwgMTEyLCAyMjgsIDU3LCAyMjgsIDYyLCAyMTgsIDc4LCAyMjYsIDIzNSwgMjQ3LCAxNDYsIDIyOCwgCi0gICAgNTcsIDI0OSwgMTk2LCAyNTMsIDI0NiwgMjI4LCA2MiwgMjE4LCA3NywgMjI4LCA1NywgMjI4LCA2MiwgMjE4LCA3OCwgNjQsIAotICAgIDE3NywgMTI4LCAxMTIsIDI0NywgMTQ2LCAyMjgsIDU3LCAyNDksIDE5NiwgMjUzLCAyNDYsIDIyOCwgNjIsIDIxOCwgNzgsIAotICAgIDE3NywgMjQ1LCAxMDcsIDY3LCAyNDUsIDE3MSwgMjMwLCAyMjcsIDIwMywgMjQ1LCAxNzEsIDEyMCwgNDQsIDI0OCwgNywgCi0gICAgMjQ1LCAxNzEsIDEyNCwgNDQsIDI0OCwgNywgMjQ1LCAxNzEsIDI0NSwgMTc4LCA2NCwgMiwgMjAwLCAyMDMsIDkxLCAyNDUsIAotICAgIDE3OCwgNjQsIDIsIDY3LCAyNTIsIDE0OSwgMjUzLCAyMTUsIDI0NSwgMTUxLCA2NCwgMjAzLCA5MSwgNCwgMjQ1LCAxNzgsIAotICAgIDY0LCAyLCA2NywgMjUyLCAxNDksIDI1MywgMjE1LCAyNDUsIDE1MSwgNjQsIDIwMywgOTEsIDI0NSwgMTc4LCA2NCwgMiwgCi0gICAgNTksIDQ4LCAyNDUsIDE3OCwgNjQsIDIsIDIyNiwgMTI3LCA0LCAyNDUsIDE3OCwgNjQsIDIsIDIyNiwgMTI3LCAyNDUsIAotICAgIDE3OCwgNjQsIDIsIDIxNCwgMTgzLCAyNDUsIDE3OCwgNjQsIDIsIDExMywgMjAzLCAyMTgsIDkyLCAyNDksIDE5NCwgMiwgCi0gICAgMjAwLCAyMDMsIDkxLCAyNDksIDE5NCwgMiwgNjcsIDI1MiwgMTQ5LCAyNTMsIDIxNSwgMjQ1LCAxNTEsIDY0LCAyMDMsIDkxLCAKLSAgICA0LCAyNDksIDE5NCwgMiwgNjcsIDI1MiwgMTQ5LCAyNTMsIDIxNSwgMjQ1LCAxNTEsIDY0LCAyMDMsIDkxLCAyNDksIDE5NCwgCi0gICAgMiwgMjI2LCAxMjcsIDQsIDI0OSwgMTk0LCAyLCAyMjYsIDEyNywgMjEwLCAxNjAsIDE4OSwgMjUyLCAxODEsIDIzMSwgNjYsIAotICAgIDI0OCwgMiwgNTAsIDI0NSwgMTgwLCA3NSwgMjQwLCAyNDEsIDEyMCwgMjU0LCAxLCAxMjQsIDI1NCwgMSwgMjI0LCAxNzgsIAotICAgIDIyNSwgMTY4LCAyMTIsIDMyLCAyMzIsIDIxOSwgNDMsIDI1MCwgMTg5LCA0NCwgMjUwLCAxODksIDQzLCAyNDQsIDY1LCA0NCwgCi0gICAgMjQ0LCA2NSwgMjUxLCAxODMsIDQ0LCAyNDksIDE0MCwgMjUxLCAxODMsIDQzLCAyNDksIDE0MCwgMjE2LCAxNSwgNDQsIAotICAgIDI0OSwgMTQwLCAyMTYsIDE1LCA0MywgMjQ5LCAxNDAsIDIyMywgNTIsIDIyOCwgNTcsIDUwLCA0MiwgMjMyLCAxMTAsIDI1NCwgCi0gICAgMzMsIDIyMSwgMTY2LCAyMjEsIDE3MywgMjE3LCAyLCAyMjMsIDEyMywgMjI0LCAyNDQsIDIzNSwgMjQ1LCAyMTMsIDE2NSwgCi0gICAgMjE4LCAyMzYsIDIyNSwgNDQsIDY0LCAyMzUsIDIxNCwgNTAsIDIxNSwgOTQsIDIyOCwgNTcsIDUwLCAyMTIsIDQyLCAyNDAsIAotICAgIDI0MywgMjE2LCAxNSwgNDMsIDI0OSwgMTY4LCAyMTYsIDE1LCA0NCwgMjQ5LCAxNjgsIDI1MSwgMTgzLCA0MywgMjQ5LCAKLSAgICAxNjgsIDI1MSwgMTgzLCA0NCwgMjQ5LCAxNjgsIDIxNiwgMTUsIDE2MywgMjM1LCAyMTgsIDI1MSwgMTgzLCAxNjMsIDIzNSwgCi0gICAgMjE4LCAyNDMsIDI0OCwgMjE5LCA3NywgMTIwLCAyNTQsIDIsIDI1MiwgMzIsIDExMywgMjAzLCAyNTIsIDEzNywgMjI2LCAKLSAgICAxNjQsIDIzNCwgMTQ0LCAyNDUsIDk4LCAyMTYsIDQzLCAyMTYsIDE5NywgMjIyLCAyNTQsIDIxMSwgMTc5LCAyMzYsIDcsIAotICAgIDExNiwgMjIzLCAxMjAsIDI1MSwgMTcxLCAyMzQsIDE0MywgMjMzLCA0OCwgMjU0LCAxMTgsIDEyNywgMjIyLCAyNTAsIDI1NCwgCi0gICAgMTE4LCAxMjcsIDI0NSwgOTgsIDIxNiwgNDMsIDIxNiwgMTk3LCAyMzMsIDUyLCAyNTIsIDQzLCAyMjIsIDIzNiwgMjQ5LCAKLSAgICA3OCwgMjU0LCAxNjQsIDI1NCwgOSwgMjE3LCAxODIsIDIxNiwgNSwgMjIyLCAxMjUsIDI0NywgMjIzLCAyMjYsIDE1NSwgCi0gICAgMjQ5LCAyMDYsIDIxNywgNTMsIDIxOSwgODgsIDI0OSwgMTU5LCAyNDksIDE1OCwgMjU0LCA3NCwgMjQzLCAyMzIsIDE2LCAKLSAgICAyNDAsIDE1OCwgMjU0LCA3NCwgMjQzLCAyMzIsIDE2LCAyMTgsIDIzMCwgMjI0LCAzMCwgMjU0LCA3NCwgMjQzLCAyMzIsIAotICAgIDE2LCAyMjQsIDMxLCAyNDUsIDEwNywgMjU0LCA3NCwgMjQzLCAyMzIsIDE2LCAyMjQsIDMxLCAyNDcsIDE4MiwgMjU0LCA3NCwgCi0gICAgMjQzLCAyMzIsIDE2LCAyMjQsIDMxLCAyNDgsIDAsIDI1NCwgNzQsIDI0MywgMjMyLCAxNiwgMjI0LCAzMSwgMjM1LCA2MiwgCi0gICAgMjU0LCA3NCwgMjQzLCAyMzIsIDE2LCAyMjQsIDMxLCAyNTAsIDQzLCAyNTQsIDc0LCAyNDMsIDIzMiwgMTYsIDI1MCwgNDQsIAotICAgIDIxOCwgMTM3LCAyNTQsIDc0LCAyNDMsIDIzMiwgMTYsIDI1MCwgNDQsIDIzNSwgNjIsIDI1NCwgNzQsIDI0MywgMjMyLCAxNiwgCi0gICAgMjE5LCA5OCwgMTMwLCAyNTQsIDc0LCAyNDMsIDIzMiwgMTYsIDI1MiwgMTg5LCAxMzAsIDI1NCwgNzQsIDI0MywgMjMyLCAKLSAgICAxNiwgMjI0LCAzMSwgMjE5LCA5NywgMjU0LCA3NCwgMjQzLCAyMzIsIDE2LCAyMjQsIDMxLCAyNTIsIDE4OCwgMjU0LCA3NCwgCi0gICAgMjQzLCAyMzIsIDE2LCAyMjQsIDMxLCAyMzMsIDIwLCAyNTQsIDc0LCAyNDMsIDIzMiwgMTYsIDIyNCwgMzEsIDI0MiwgMTM2LCAKLSAgICAyNTQsIDc0LCAyNDMsIDIzMiwgMTYsIDE0MCwgMjE0LCAxOSwgMjU0LCA3NCwgMjQzLCAyMzIsIDE2LCA5NywgMjE0LCAxOSwgCi0gICAgMjU0LCA3NCwgMjQzLCAyMzIsIDE2LCAyMjQsIDMxLCAxNDAsIDc1LCAyNTQsIDc0LCAyNDMsIDIzMiwgMTYsIDIyNCwgMzEsIAotICAgIDk3LCA3NSwgMjU0LCA3NCwgMjQzLCAyMzIsIDE2LCAyNTAsIDQ0LCAyNTIsIDE4OCwgMjU0LCA3NCwgMjQzLCAyMzIsIDE2LCAKLSAgICAxMjQsIDIxNywgODksIDIxNCwgMTgzLCAyNTQsIDc0LCAyNDMsIDIzMiwgMTYsIDI0OCwgNjMsIDIxOCwgMTM3LCAyNTQsIAotICAgIDc0LCAyNDMsIDIzMiwgMTYsIDIyNCwgMzEsIDEyNCwgMjUwLCAyNDYsIDI1NCwgNzQsIDI0MywgMjMyLCAxNiwgMjI0LCAzMSwgCi0gICAgMjQ4LCA2MiwgMjU0LCA3NCwgMjQzLCAyMzIsIDE2LCAxMjQsIDIxNywgODksIDIzNSwgNjIsIDI1NCwgNzQsIDI0MywgMjMyLCAKLSAgICAxNiwgMjE0LCAxNTMsIDIxNCwgMTksIDI1NCwgNzQsIDI0MywgMjMyLCAxNiwgMjI0LCAzMSwgMjE0LCAxNTMsIDc1LCAyNTQsIAotICAgIDc0LCAyNDMsIDIzMiwgMTYsIDEyMCwgMjE3LCA4OSwgMjI2LCAxMjcsIDI1NCwgNzQsIDI0MywgMjMyLCAxNiwgMjQ4LCA3NCwgCi0gICAgMjE4LCAxMzcsIDI1NCwgNzQsIDI0MywgMjMyLCAxNiwgMjI0LCAzMSwgMTIwLCAyNTAsIDI0NiwgMjU0LCA3NCwgMjQzLCAKLSAgICAyMzIsIDE2LCAyMjQsIDMxLCAyNDgsIDczLCAyNTQsIDc0LCAyNDMsIDIzMiwgMTYsIDEyMCwgMjE3LCA4OSwgMjM1LCA2MiwgCi0gICAgMjU0LCA3NCwgMjQzLCAyMzIsIDE2LCAyNDYsIDExMiwgMjE0LCAxOSwgMjU0LCA3NCwgMjQzLCAyMzIsIDE2LCAyMjQsIDMxLCAKLSAgICAyNDYsIDExMiwgNzUsIDI1NCwgNzQsIDI0MywgMjMyLCAxNiwgMjI0LCAwLCAyMTQsIDE4MywgMjU0LCA3NCwgMjQzLCAyMzIsIAotICAgIDE2LCAyNDgsIDYzLCAyMTQsIDE4MywgMjU0LCA3NCwgMjQzLCAyMzIsIDE2LCAyNDgsIDEsIDIxNCwgMTgzLCAyNTQsIDc0LCAKLSAgICAyNDMsIDIzMiwgMTYsIDIzNSwgNjMsIDIxNCwgMTgzLCAyNTQsIDc0LCAyNDMsIDIzMiwgMTYsIDI1MCwgNDQsIDIxNCwgCi0gICAgMTgzLCAyNTQsIDc0LCAyNDMsIDIzMiwgMTYsIDEyMCwgMjIwLCA3LCAyMzUsIDYyLCAyNTQsIDc0LCAyNDMsIDIzMiwgMTYsIAotICAgIDIyNCwgMCwgMjI0LCAzMCwgMjU0LCA3NCwgMjQzLCAyMzIsIDE2LCAyNTAsIDQ0LCAyMTgsIDE1OCwgMjU0LCA3NCwgMjQzLCAKLSAgICAyMzIsIDE2LCAyMjQsIDMxLCAyNDksIDIzNCwgMjU0LCA3NCwgMjQzLCAyMzIsIDE2LCAxMjAsIDIxNywgODksIDI0OCwgOSwgCi0gICAgMjU0LCA3NCwgMjQzLCAyMzIsIDE2LCAyNDgsIDc0LCAyNDgsIDksIDI1NCwgNzQsIDI0MywgMjMyLCAxNiwgMjE4LCAxNTksIAotICAgIDI0OCwgOSwgMjU0LCA3NCwgMjQzLCAyMzIsIDE2LCAyMzUsIDYzLCAyNDgsIDksIDI1NCwgNzQsIDI0MywgMjMyLCAxNiwgCi0gICAgMjUwLCA0NCwgMjQ4LCA5LCAyNTQsIDc0LCAyNDMsIDIzMiwgMTYsIDEyNCwgMjIwLCA3LCAyMTgsIDEzNywgMjU0LCA3NCwgCi0gICAgMjQzLCAyMzIsIDE2LCA0MywgMjIwLCA3LCAyMTgsIDEzNywgMjU0LCA3NCwgMjQzLCAyMzIsIDE2LCAyMTYsIDkwLCAyNDgsIAotICAgIDksIDI1NCwgNzQsIDI0MywgMjMyLCAxNiwgMjQyLCAxMzcsIDI0OCwgOSwgMjU0LCA3NCwgMjQzLCAyMzIsIDE2LCAyNDksIAotICAgIDIyOCwgMTMwLCAyNTQsIDc0LCAyNDMsIDIzMiwgMTYsIDI0OCwgNzQsIDE4NCwgMjU0LCA3NCwgMjQzLCAyMzIsIDE2LCAKLSAgICAyMTAsIDM0LCAyNTQsIDc0LCAyNDMsIDIzMiwgMTYsIDIxOCwgMTM4LCAxODQsIDI1NCwgNzQsIDI0MywgMjMyLCAxNiwgCi0gICAgMjIwLCAxNTMsIDIxNCwgMTgzLCAyNTQsIDc0LCAyNDMsIDIzMiwgMTYsIDIyNCwgMzEsIDIyOCwgNTcsIDI0NSwgMTA3LCAKLSAgICAyNTQsIDc0LCAyNDMsIDIzMiwgMTYsIDIyNCwgMzEsIDIyNCwgMTUsIDI1NCwgNzQsIDI0MywgMjMyLCAxNiwgMTI0LCAyNTAsIAotICAgIDI0NywgMTg0LCAyNTQsIDc0LCAyNDMsIDIzMiwgMTYsIDEyMCwgMjUwLCAyNDcsIDE4NCwgMjU0LCA3NCwgMjQzLCAyMzIsIAotICAgIDE2LCAyMzUsIDE5MiwgMjU0LCA3NCwgMjQzLCAyMzIsIDE2LCAyMjMsIDQwLCAyNTQsIDc0LCAyNDMsIDIzMiwgMTYsIDIyNiwgCi0gICAgMjA1LCAyNTQsIDc0LCAyNDMsIDIzMiwgMTYsIDI1NCwgMTUyLCAyMTQsIDE4MywgMjU0LCA3NCwgMjQzLCAyMzIsIDE2LCAKLSAgICAyNDUsIDEwOSwgMjE0LCAxODMsIDI1NCwgNzQsIDI0MywgMjMyLCAxNiwgMjM1LCAxOTMsIDIxNCwgMTgzLCAyNTQsIDc0LCAKLSAgICAyNDMsIDIzMiwgMTYsIDIyNiwgMjA2LCAyMTQsIDE4MywgMjU0LCA3NCwgMjQzLCAyMzIsIDE2LCAyNTQsIDE1MSwgMjI4LCAKLSAgICA1NywgMjUwLCAxMzgsIDc5LCA0NCwgMjU0LCAxMTgsIDIsIDI0NiwgMTEyLCAyMTAsIDM1LCA3NSwgMjE5LCAyMzcsIDIwNCwgCi0gICAgMjUxLCAxNzEsIDI1MiwgNTMsIDg3LCA2NywgMjMyLCAyMjAsIDIsIDIzMCwgMjI5LCAyNDcsIDEyOCwgMjM1LCAyMjMsIDg3LCAKLSAgICAyNDksIDE5MSwgMjE0LCAxODEsIDg3LCAyNDcsIDE5NywgMjE0LCAxODEsIDg3LCAyNDUsIDE2MiwgODcsIDI0OSwgMjE4LCAKLSAgICA4NywgNzEsIDQyLCAyLCAyNTAsIDE4MywgNjcsIDIzMiwgMjE5LCAyNDUsIDEzOCwgODcsIDI1NCwgMTQ3LCAyMzQsIDE0NSwgCi0gICAgODcsIDI0MSwgMjIwLCA4NywgMzcsIDIwMywgMjUyLCAxNDksIDIsIDIyOCwgNTUsIDM3LCAyMTUsIDIyNywgMjQ2LCAxMTQsIAotICAgIDI1MSwgMTQzLCAyNTAsIDQ0LCAyLCAyMjgsIDU5LCA3NSwgMjE0LCAxNzksIDg3LCAyMzAsIDE0MiwgODcsIDI0MCwgMTcxLCAKLSAgICA4NywgMjI2LCAxNzgsIDI0MiwgNjYsIDg3LCAyMjYsIDE3OCwgMjMzLCAxNTMsIDg3LCAyMjUsIDI0OCwgODcsIDIyNSwgCi0gICAgMjQ3LCA4NywgMjQ3LCAyMDUsIDI0OSwgMTA1LCAxNiwgMjQ0LCAyOCwgMTA1LCAyMTksIDUyLCA4NywgMjU0LCA3NCwgMjQzLCAKLSAgICAyMzIsIDE2LCAyMjQsIDMwLCAyNDgsIDkxLCAyMjAsIDE0MCwgMjM0LCAxNDUsIDg3LCAyMjQsIDE5NSwgMjI2LCA3OSwgCi0gICAgMjI5LCA4NywgMjI2LCA3OSwgMjI0LCAxOTEsIDIyMSwgMTkxLCA4NywgMjUwLCAyNSwgMjIxLCAxOTEsIDg3LCA0MywgMjI2LCAKLSAgICA4LCAyMTQsIDE2MCwgMTAzLCA0MywgMjI2LCA4LCAyNDUsIDI5LCA0MywgMjI2LCA4LCAyMzIsIDExNCwgMTAzLCA0NCwgCi0gICAgMjI2LCA4LCAyMTQsIDE2MCwgMTAzLCA0NCwgMjI2LCA4LCAyNDUsIDI5LCA0NCwgMjI2LCA4LCAyMzIsIDExNCwgMTAzLCAKLSAgICA0MywgNDIsIDI1MSwgMTY2LCAyMTQsIDE2MCwgMjQ5LCAxNjgsIDQzLCA0MiwgMjUxLCAxNjYsIDI0NSwgMjksIDQzLCA0MiwgCi0gICAgMjUxLCAxNjYsIDIzMiwgMTE0LCAyNDksIDE2OCwgNDQsIDQyLCAyNTEsIDE2NiwgMjE0LCAxNjAsIDI0OSwgMTY4LCA0NCwgCi0gICAgNDIsIDI1MSwgMTY2LCAyNDUsIDI5LCA0NCwgNDIsIDI1MSwgMTY2LCAyMzIsIDExNCwgMjQ5LCAxNjgsIDQzLCAyNDksIAotICAgIDEwNywgMjUxLCAxNjYsIDIxNCwgMTYwLCAxMDMsIDQzLCAyNDksIDEwNywgMjUxLCAxNjYsIDIzMCwgMjI5LCAyMjUsIDEwNCwgCi0gICAgNDMsIDI0OSwgMTA3LCAyNTEsIDE2NiwgMjMyLCAxMTQsIDEwMywgMjQ5LCAxMDcsIDI1MSwgMTY2LCAyNDUsIDI5LCA0NCwgCi0gICAgMjQ5LCAxMDcsIDI1MSwgMTY2LCAyMTQsIDE2MCwgMTAzLCA0NCwgMjQ5LCAxMDcsIDI1MSwgMTY2LCAyMzAsIDIyOSwgMjI1LCAKLSAgICAxMDQsIDQ0LCAyNDksIDEwNywgMjUxLCAxNjYsIDIzMiwgMTE0LCAxMDMsIDIzNSwgMjE5LCAyNDUsIDI5LCAyMDMsIDIzMiwgCi0gICAgMjIwLCAyNDUsIDI5LCAyMTQsIDE2MCwgNDMsIDE3NywgMjMyLCAxMTQsIDQ0LCAyNDksIDEwNywgMjUxLCAxNjYsIDIyMSwgCi0gICAgMTc0LCAyMTQsIDE2MCwgNDQsIDE3NywgMjMyLCAxMTQsIDQzLCAyNDksIDEwNywgMjUxLCAxNjYsIDIyMSwgMTc0LCAyMTgsIAotICAgIDQyLCAyMTYsIDE0LCAyMTgsIDQyLCAyNTEsIDE4MiwgMjE2LCAxNSwgNDIsIDEyNywgMjUxLCAxODMsIDQyLCAxMjcsIDI1MSwgCi0gICAgMTgzLCA0MiwgMjUxLCAxNjYsIDExNSwgMjE2LCAxNSwgNDIsIDEyNywgMzQsIDE2LCAyNTEsIDE4MiwgNDMsIDY3LCA5MywgCi0gICAgMjMyLCAyMTksIDQ0LCA2NywgOTMsIDIzMiwgMjE5LCAyMDMsIDIyMSwgMjA3LCAyMzIsIDIxOCwgMjAzLCAyMjEsIDIwNywgCi0gICAgMjMyLCAyMTcsIDIwMywgMjIxLCAyMDcsIDIzMiwgMjE2LCAyMDMsIDIyMSwgMjA3LCAyMzIsIDIxNSwgMjQ4LCA1NCwgMTYsIAotICAgIDE5MywgNjcsIDIyLCAyMTYsIDE1LCAyMjIsIDI1NCwgMjQ4LCA1NCwgMTYsIDE5MywgNjcsIDIyLCAyNTEsIDE4MywgMjIyLCAKLSAgICAyNTQsIDI0OCwgNTQsIDE2LCAxOTMsIDY3LCAyLCAyNTAsIDQzLCAyNDgsIDU0LCAxNiwgMTkzLCAxMjQsIDIyLCAyMDMsIDIsIAotICAgIDI1MCwgNDMsIDI0OCwgNTQsIDE2LCAxOTMsIDEyMCwgMjIsIDIwMywgMiwgMjUwLCA0MywgMjQ4LCA1NCwgMTYsIDE5MywgCi0gICAgNjcsIDIsIDIxNSwgMjI2LCAyNDgsIDU0LCAxNiwgMTkzLCAxMjQsIDIyLCAyMDMsIDIsIDIxNSwgMjI2LCAyNDgsIDU0LCAKLSAgICAxNiwgMTkzLCAxMjAsIDIyLCAyMDMsIDIsIDIxNSwgMjI2LCAyNDgsIDU0LCAxNiwgMTkzLCA2NywgMjIsIDIxMiwgMzUsIAotICAgIDI0OCwgNTQsIDE2LCAxOTMsIDEyNCwgMjIsIDIwMywgMiwgMjEyLCAzNSwgMjQ4LCA1NCwgMTYsIDE5MywgMTIwLCAyMiwgCi0gICAgMjAzLCAyLCAyMTIsIDM1LCAyNDgsIDU0LCAxNiwgMTkzLCAxMjQsIDIyLCAyNDEsIDUxLCAyNDgsIDU0LCAxNiwgMTkzLCAKLSAgICAxMjAsIDIyLCAyNDEsIDUxLCAyNDgsIDU0LCAxNiwgMTkzLCA2NywgMjIsIDIxNiwgMTUsIDIzMywgNTIsIDI0OCwgNTQsIAotICAgIDE2LCAxOTMsIDY3LCAyMiwgMjUxLCAxODMsIDIzMywgNTIsIDQyLCAyNDQsIDQwLCAyMjMsIDU3LCA4NywgMjQ1LCAxOTAsIAotICAgIDg3LCA2NywgMjMyLCAyMjAsIDI0NSwgMjksIDIzMSwgMzgsIDI1MSwgMTU0LCAyMzEsIDM4LCAyMDAsIDExNSwgMjE5LCAKLSAgICAyNTIsIDIzMSwgMzgsIDIxOSwgMjUzLCAxMTUsIDIzMiwgMTQzLCAyMzEsIDM4LCAyMDAsIDExNSwgMTEzLCAyMTksIDIzOSwgCi0gICAgMjMxLCAzOCwgMTEzLCAyMTksIDI0MCwgMTE1LCAyMzIsIDE0MywgMjMxLCAzOCwgMTEzLCAyMTksIDI0MCwgMjM1LCA3MCwgCi0gICAgMjMxLCAzOCwgMjE1LCAyMDksIDIzMSwgMzgsIDIxNiwgMjI0LCAyMzEsIDM4LCAyMjUsIDE5MSwgMjQ1LCAyMzIsIDI0MiwgCi0gICAgMTI5LCAyNDMsIDIyNiwgMjE2LCAxNSwgMjI2LCA3LCAyNTEsIDE4MywgMjI2LCA3LCAyMTYsIDE1LCAyNDksIDEwNywgMTI3LCAKLSAgICAyNTEsIDE4MywgMjQ5LCAxMDcsIDEyNywgMjE2LCAxNSwgMjE2LCA3LCAyMjAsIDU1LCAxMjcsIDI1MSwgMTgzLCAyMTYsIDcsIAotICAgIDIyMCwgNTUsIDEyNywgNzEsIDIxNSwgMjQwLCAyNTIsIDQzLCAyMjIsIDIzNywgMiwgMjUwLCA0MywgMjE4LCAxMjIsIDI0NCwgCi0gICAgNzIsIDI1NSwgMjYsIDI0OSwgMTA0LCAyNDUsIDE3OSwgMjM1LCAyMDUsIDI0OCwgOTEsIDI0NSwgMzIsIDg3LCA4NSwgMjIyLCAKLSAgICAyNTAsIDUyLCAyMTUsIDIyNiwgODUsIDIzMywgNDgsIDUyLCAyMTUsIDIyNiwgODUsIDIxNCwgMTYyLCA1MiwgMjE1LCAyMjYsIAotICAgIDg1LCAyNDYsIDExMywgNTIsIDIxNSwgMjI2LCA4NSwgMjIyLCAyNTAsIDUyLCAyMTUsIDIyNywgMiwgNjcsIDEzMCwgODUsIAotICAgIDIzMywgNDgsIDUyLCAyMTUsIDIyNywgMiwgNjcsIDEzMCwgODUsIDIyMiwgMjUwLCAyMTUsIDIyNywgMiwgNTIsIDY3LCAKLSAgICAxMzAsIDI1NCwgMTgyLCAyNTAsIDExLCAyMTgsIDEyOCwgMjE2LCA4NywgMjUwLCAxMSwgMjQwLCAyNDQsIDIsIDI0NCwgNTgsIAotICAgIDIyMSwgMjQzLCAxNiwgMzEsIDIyNywgMjA2LCAxNiwgMzEsIDIxOCwgMTU0LCA2NCwgMjQxLCAyNDAsIDE2LCAzMSwgMjE4LCAKLSAgICAxNTQsIDY0LCAyMTYsIDIxMywgMTYsIDMxLCAyNDUsIDE1MSwgNjQsIDIxNiwgMjEzLCAxNiwgMzEsIDI0NSwgMTUxLCA2NCwgCi0gICAgMjE1LCAyNDQsIDE2LCAzMSwgMjQ1LCAxNDAsIDE2LCAzMSwgMjU1LCAxNiwgMTYsIDMxLCAyNTIsIDUyLCAxNiwgMzEsIAotICAgIDI1MiwgMTg3LCAxNiwgMzEsIDIwMywgMjE3LCA5MCwgMTYsIDMxLCAyMzIsIDIyMCwgMjQ0LCAxNTMsIDE2LCAzMSwgNjcsIAotICAgIDIxNywgOTAsIDE2LCAzMSwgMjQ0LCAyOCwgMjQ0LCAxNTMsIDE2LCAzMSwgMjUwLCAyMzgsIDIyMywgNTYsIDE2LCAzMSwgCi0gICAgMjIwLCAzMCwgMjI2LCAxMzQsIDE2LCAzMSwgMjIwLCAzMCwgMjM2LCA2LCAxNiwgMzEsIDI0OCwgMTU5LCAyMzIsIDIxMCwgCi0gICAgMjQ1LCA4NSwgMTYsIDMxLCAyNDgsIDM5LCAyNDksIDE4NiwgMTExLCAxNiwgMzEsIDI0OCwgMzksIDI0OSwgMTg2LCAxMDUsIAotICAgIDE2LCAzMSwgMjQ4LCAzOSwgMjQ5LCAxODYsIDE1OCwgMTYsIDMxLCAyNDgsIDM5LCAyNDksIDE4NiwgMTYxLCAxNiwgMzEsIAotICAgIDE1MiwgMjU1LCAxNiwgMTYsIDMxLCAyMTcsIDE3OCwgMjM2LCA2OSwgMTYsIDMxLCAyNDUsIDE1MSwgNjQsIDIxNSwgMjQ1LCAKLSAgICAyNTEsIDIyMSwgMTYsIDMxLCAyNTEsIDEzLCAxNiwgMzEsIDI0NSwgMTUxLCA2NCwgMjMxLCA4NiwgMTYsIDMxLCAyMTgsIAotICAgIDYyLCAxNiwgMzEsIDI0NSwgODUsIDE2LCAzMSwgMjQ0LCAxMTUsIDIyMCwgMTM5LCAxNiwgMzEsIDI0MiwgMTI4LCAyMjAsIAotICAgIDEzOSwgMTYsIDMxLCAyMjMsIDEyNCwgMjIwLCAxMzksIDE2LCAzMSwgMjE0LCAxNzQsIDIyMCwgMTM5LCAxNiwgMzEsIDIxOSwgCi0gICAgMjAsIDE2LCAzMSwgMjQ4LCA3MSwgMjUxLCAyMjQsIDg3LCAyMDQsIDI1MSwgMTcxLCAxNiwgMzEsIDIyOSwgOTAsIDE2LCAKLSAgICAzMSwgMjQ4LCA3MiwgMjQ0LCAyOCwgMTA1LCAxNiwgMzEsIDIxOCwgNjMsIDI0NCwgMjgsIDEwNSwgMjI2LCAyNDUsIDEwMywgCi0gICAgMjI2LCAyNDUsIDI1MCwgMTYwLCAyMjYsIDI0NSwgMjQ0LCAzMSwgMjI2LCAyNDUsIDIzNSwgMjAwLCAyNDQsIDMxLCAyMjYsIAotICAgIDI0NSwgMjUyLCA1MCwgMjUxLCAxMzIsIDIyNiwgMjQ1LCAyNTEsIDE3OCwgMjE2LCAxMTIsIDIyNiwgMjQ1LCAyNTEsIDE2MywgCi0gICAgMjUyLCAxNTQsIDI0MCwgMTEwLCAyMjYsIDI0NSwgMjU0LCAxMzUsIDY0LCAyNTAsIDEzNywgMjI2LCAyNDUsIDI0OCwgMTY0LCAKLSAgICAyMjYsIDI0NSwgMjQ5LCA5NSwgMjU1LCAyMCwgMjI3LCAyMDQsIDIyNiwgMjQ1LCA1MiwgMjUyLCAxODgsIDM3LCAyMSwgCi0gICAgMTExLCAzNywgMjEsIDEwNSwgMzcsIDIxLCAxNTgsIDM3LCAyMSwgMTYxLCAzNywgMjEsIDE5MCwgMzcsIDIxLCAxOTUsIDM3LCAKLSAgICAyMSwgMTk5LCAzNywgMjEsIDE5NiwgMzcsIDIxLCAyMDEsIDM3LCA1NCwgMjE2LCAyNDgsIDM3LCA1NCwgMjQ1LCAxNzUsIAotICAgIDM3LCA1NCwgMjE1LCA3NiwgMzcsIDU0LCAyMTYsIDE2NSwgMzcsIDU0LCAyNDQsIDEzLCAzNywgNTQsIDI0NCwgMTI2LCAzNywgCi0gICAgNTQsIDIxOSwgMTIxLCAzNywgNTQsIDIyMCwgMTIxLCAzNywgNTQsIDI0NSwgMTk4LCAzNywgNTQsIDIyOCwgMjAyLCAzNywgCi0gICAgNTQsIDIxNSwgNzMsIDg4LCAyMSwgMTExLCA4OCwgMjEsIDEwNSwgODgsIDIxLCAxNTgsIDg4LCAyMSwgMTYxLCA4OCwgMjEsIAotICAgIDE5MCwgODgsIDIxLCAxOTUsIDg4LCAyMSwgMTk5LCA4OCwgMjEsIDE5NiwgODgsIDIxLCAyMDEsIDg4LCA1NCwgMjE2LCAKLSAgICAyNDgsIDg4LCA1NCwgMjQ1LCAxNzUsIDg4LCA1NCwgMjE1LCA3NiwgODgsIDU0LCAyMTYsIDE2NSwgODgsIDU0LCAyNDQsIAotICAgIDEzLCA4OCwgNTQsIDI0NCwgMTI2LCA4OCwgNTQsIDIxOSwgMTIxLCA4OCwgNTQsIDIyMCwgMTIxLCA4OCwgNTQsIDI0NSwgCi0gICAgMTk4LCA4OCwgNTQsIDIyOCwgMjAyLCA4OCwgNTQsIDIxNSwgNzMsIDIxLCAxMjMsIDI0MywgMjM2LCAyMTgsIDEzMSwgMjEsIAotICAgIDExMywgMjQzLCAyMzYsIDIxOCwgMTMxLCAyMSwgMTM0LCAyNDMsIDIzNiwgMjE4LCAxMzEsIDIxLCAyNDQsIDE5LCAyNDMsIAotICAgIDIzNiwgMjE4LCAxMzEsIDIxLCAyNDQsIDg5LCAyNDMsIDIzNiwgMjE4LCAxMzEsIDIxLCAyMTksIDEyNywgMjQzLCAyMzYsIAotICAgIDIxOCwgMTMxLCAyMSwgMjIwLCAxMjQsIDI0MywgMjM2LCAyMTgsIDEzMSwgMjEsIDI0NSwgMjAxLCAyNDMsIDIzNiwgMjE4LCAKLSAgICAxMzEsIDIxLCAyMjgsIDIwNSwgMjQzLCAyMzYsIDIxOCwgMTMxLCA1NCwgMjE2LCAyNDksIDI0MywgMjM2LCAyMTgsIDEzMSwgCi0gICAgNTQsIDI0NSwgMTc2LCAyNDMsIDIzNiwgMjE4LCAxMzEsIDU0LCAyMTUsIDc3LCAyNDMsIDIzNiwgMjE4LCAxMzEsIDU0LCAKLSAgICAyMTYsIDE2NiwgMjQzLCAyMzYsIDIxOCwgMTMxLCA1NCwgMjQ0LCAxNCwgMjQzLCAyMzYsIDIxOCwgMTMxLCA1NCwgMjQ0LCAKLSAgICAxMjcsIDI0MywgMjM2LCAyMTgsIDEzMSwgNTQsIDIxOSwgMTIyLCAyNDMsIDIzNiwgMjE4LCAxMzEsIDU0LCAyMjAsIDEyMiwgCi0gICAgMjQzLCAyMzYsIDIxOCwgMTMxLCA1NCwgMjQ1LCAxOTksIDI0MywgMjM2LCAyMTgsIDEzMSwgNTQsIDIyOCwgMjAzLCAyNDMsIAotICAgIDIzNiwgMjE4LCAxMzEsIDU0LCAyMTUsIDc0LCAyNDMsIDIzNiwgMjE4LCAxMzEsIDg4LCA3LCA0LCAxLCA2MSwgODgsIDcsIAotICAgIDQsIDEsIDI1MywgMTY2LCA4OCwgNywgNCwgMSwgMjUxLCA3NCwgODgsIDcsIDQsIDEsIDI0OSwgNjgsIDg4LCA3LCA0LCAxLCAKLSAgICA3NiwgODgsIDcsIDQsIDEsIDI0NSwgMTQsIDg4LCA3LCA0LCAxLCAyNDMsIDIwOSwgODgsIDcsIDQsIDEsIDI0MiwgNjcsIAotICAgIDg4LCA3LCA0LCAxLCA3NCwgODgsIDcsIDQsIDEsIDIzNSwgMTUwLCA4OCwgNywgNCwgMSwgMjM1LCAyOSwgODgsIDcsIDQsIAotICAgIDEsIDE1NiwgODgsIDcsIDQsIDEsIDE5NCwgODgsIDcsIDQsIDEsIDIzMCwgMzAsIDg4LCA3LCA0LCAxLCA3OCwgODgsIDcsIAotICAgIDQsIDEsIDIyNiwgMTA5LCA4OCwgNywgNCwgMSwgMjI0LCA5OSwgODgsIDcsIDQsIDEsIDE1MywgODgsIDcsIDQsIDEsIDIyMiwgCi0gICAgOTMsIDg4LCA3LCA0LCAxLCAyMTcsIDE1MywgODgsIDcsIDQsIDEsIDY5LCA4OCwgNywgNCwgMSwgMjE0LCAxMDUsIDg4LCA3LCAKLSAgICA0LCAxLCAyMTIsIDk4LCA4OCwgNywgNCwgMSwgMjExLCAxNzgsIDg4LCA3LCA0LCAxLCAyMTEsIDExNywgODgsIDcsIDQsIDEsIAotICAgIDIxMCwgMTU5LCAzNywgNywgNiwgMSwgNjEsIDM3LCA3LCA2LCAxLCAyNTMsIDE2NiwgMzcsIDcsIDYsIDEsIDI1MSwgNzQsIAotICAgIDM3LCA3LCA2LCAxLCAyNDksIDY4LCAzNywgNywgNiwgMSwgNzYsIDM3LCA3LCA2LCAxLCAyNDUsIDE0LCAzNywgNywgNiwgMSwgCi0gICAgMjQzLCAyMDksIDM3LCA3LCA2LCAxLCAyNDIsIDY3LCAzNywgNywgNiwgMSwgNzQsIDM3LCA3LCA2LCAxLCAyMzUsIDE1MCwgCi0gICAgMzcsIDcsIDYsIDEsIDIzNSwgMjksIDM3LCA3LCA2LCAxLCAxNTYsIDM3LCA3LCA2LCAxLCAxOTQsIDM3LCA3LCA2LCAxLCAKLSAgICAyMzAsIDMwLCAzNywgNywgNiwgMSwgNzgsIDM3LCA3LCA2LCAxLCAyMjYsIDEwOSwgMzcsIDcsIDYsIDEsIDIyNCwgOTksIAotICAgIDM3LCA3LCA2LCAxLCAxNTMsIDM3LCA3LCA2LCAxLCAyMjIsIDkzLCAzNywgNywgNiwgMSwgMjE3LCAxNTMsIDM3LCA3LCA2LCAKLSAgICAxLCA2OSwgMzcsIDcsIDYsIDEsIDIxNCwgMTA1LCAzNywgNywgNiwgMSwgMjEyLCA5OCwgMzcsIDcsIDYsIDEsIDIxMSwgCi0gICAgMTc4LCAzNywgNywgNiwgMSwgMjExLCAxMTcsIDM3LCA3LCA2LCAxLCAyMTAsIDE1OSwgMzcsIDcsIDQsIDEsIDYxLCAzNywgCi0gICAgNywgNCwgMSwgMjUzLCAxNjYsIDM3LCA3LCA0LCAxLCAyNTEsIDc0LCAzNywgNywgNCwgMSwgMjQ5LCA2OCwgMzcsIDcsIDQsIAotICAgIDEsIDc2LCAzNywgNywgNCwgMSwgMjQ1LCAxNCwgMzcsIDcsIDQsIDEsIDI0MywgMjA5LCAzNywgNywgNCwgMSwgMjQyLCA2NywgCi0gICAgMzcsIDcsIDQsIDEsIDc0LCAzNywgNywgNCwgMSwgMjM1LCAxNTAsIDM3LCA3LCA0LCAxLCAyMzUsIDI5LCAzNywgNywgNCwgCi0gICAgMSwgMTU2LCAzNywgNywgNCwgMSwgMTk0LCAzNywgNywgNCwgMSwgMjMwLCAzMCwgMzcsIDcsIDQsIDEsIDc4LCAzNywgNywgCi0gICAgNCwgMSwgMjI2LCAxMDksIDM3LCA3LCA0LCAxLCAyMjQsIDk5LCAzNywgNywgNCwgMSwgMTUzLCAzNywgNywgNCwgMSwgMjIyLCAKLSAgICA5MywgMzcsIDcsIDQsIDEsIDIxNywgMTUzLCAzNywgNywgNCwgMSwgNjksIDM3LCA3LCA0LCAxLCAyMTQsIDEwNSwgMzcsIDcsIAotICAgIDQsIDEsIDIxMiwgOTgsIDM3LCA3LCA0LCAxLCAyMTEsIDE3OCwgMzcsIDcsIDQsIDEsIDIxMSwgMTE3LCAzNywgNywgNCwgMSwgCi0gICAgMjEwLCAxNTksIDM3LCAyMSwgMjEwLCA4NiwgMTUyLCAzNywgNTQsIDI0NSwgMTc1LCAxNTIsIDM3LCA1NCwgMjE1LCA3NiwgCi0gICAgMTUyLCAzNywgNTQsIDIxNiwgMTY1LCAxNTIsIDM3LCA1NCwgMjQ0LCAxMywgMTUyLCAzNywgNTQsIDI0NCwgMTI2LCAxNTIsIAotICAgIDM3LCA1NCwgMjE5LCAxMjEsIDE1MiwgMzcsIDU0LCAyMjAsIDEyMSwgMTUyLCAzNywgNTQsIDI0NSwgMTk4LCAxNTIsIDM3LCAKLSAgICA1NCwgMjI4LCAyMDIsIDE1MiwgMzcsIDU0LCAyMTUsIDczLCA1MiwgMzcsIDIxLCAxMTEsIDUyLCAzNywgMjEsIDEwNSwgNTIsIAotICAgIDM3LCAyMSwgMTU4LCA1MiwgMzcsIDIxLCAxNjEsIDUyLCAzNywgMjEsIDE5MCwgNTIsIDM3LCAyMSwgMTk1LCA1MiwgMzcsIAotICAgIDIxLCAxOTksIDUyLCAzNywgMjEsIDE5NiwgNTIsIDM3LCAyMSwgMjAxLCA1MiwgMzcsIDU0LCAyMTYsIDI0OCwgMTUyLCAzNywgCi0gICAgMjEsIDIxMCwgODYsIDkzLCA5OSwgMTkzLCAyNDEsIDUxLCA5MywgOTksIDExNCwgMjQxLCA1MSwgOTMsIDk5LCAxOTMsIAotICAgIDIxMywgMjM5LCA5MywgOTksIDExNCwgMjEzLCAyMzksIDkzLCA5OSwgMTkzLCAyMTUsIDIxMiwgMjQ4LCAxNjUsIDI0MSwgCi0gICAgNTEsIDkzLCA5OSwgMTE0LCAyMTUsIDIxMiwgMjQ4LCAxNjUsIDI0MSwgNTEsIDkzLCA5OSwgMTkzLCAyMTUsIDIxMiwgMjQ4LCAKLSAgICAxNjUsIDIxMywgMjM5LCA5MywgOTksIDExNCwgMjE1LCAyMTIsIDI0OCwgMTY1LCAyMTMsIDIzOSwgOTMsIDk5LCAxOTMsIAotICAgIDIyNCwgMjcsIDI0OCwgMTY1LCAyNDEsIDUxLCA5MywgOTksIDExNCwgMjI0LCAyNywgMjQ4LCAxNjUsIDI0MSwgNTEsIDkzLCAKLSAgICA5OSwgMTkzLCAyMjQsIDI3LCAyNDgsIDE2NSwgMjEzLCAyMzksIDkzLCA5OSwgMTE0LCAyMjQsIDI3LCAyNDgsIDE2NSwgCi0gICAgMjEzLCAyMzksIDkzLCA5OSwgMTkzLCAxMjQsIDIyLCAyMjIsIDI1NCwgOTMsIDk5LCAxMjQsIDE5MywgMjIsIDQ0LCAyNDEsIAotICAgIDIyOCwgOTMsIDk5LCAxMjQsIDExNCwgMjIsIDQ0LCAyMzIsIDIzNiwgOTMsIDk5LCAxMTQsIDEyNCwgMjIsIDIyMiwgMjU0LCAKLSAgICA5MywgOTksIDE5MywgMTI0LCAyMiwgMjMzLCA1MiwgOTMsIDk5LCAxMjQsIDE5MywgMjIsIDQzLCAyNDEsIDIyOCwgOTMsIAotICAgIDk5LCAxMjQsIDExNCwgMjIsIDQzLCAyMzIsIDIzNiwgOTMsIDk5LCAxMTQsIDEyNCwgMjIsIDIzMywgNTIsIDkzLCA5OSwgCi0gICAgMTkzLCAxMjAsIDIyLCAyMjIsIDI1NCwgOTMsIDk5LCAxMjAsIDE5MywgMjIsIDQ0LCAyNDEsIDIyOCwgOTMsIDk5LCAxMjAsIAotICAgIDExNCwgMjIsIDQ0LCAyMzIsIDIzNiwgOTMsIDk5LCAxMTQsIDEyMCwgMjIsIDIyMiwgMjU0LCA5MywgOTksIDE5MywgMTIwLCAKLSAgICAyMiwgMjMzLCA1MiwgOTMsIDk5LCAxMjAsIDE5MywgMjIsIDQzLCAyNDEsIDIyOCwgOTMsIDk5LCAxMjAsIDExNCwgMjIsIAotICAgIDQzLCAyMzIsIDIzNiwgOTMsIDk5LCAxMTQsIDEyMCwgMjIsIDIzMywgNTIsIDkzLCA5OSwgMTkzLCA2NywgMjIsIDIyMiwgCi0gICAgMjU0LCA5MywgOTksIDY3LCAxOTMsIDIyLCA0NCwgMjQxLCAyMjgsIDkzLCA5OSwgMTIwLCAxMTQsIDIyLCA0NCwgMTI0LCAKLSAgICAyMzIsIDIzNiwgOTMsIDk5LCAxMjQsIDExNCwgMjIsIDQ0LCAxMjAsIDIzMiwgMjM2LCA5MywgOTksIDY3LCAxMTQsIDIyLCAKLSAgICA0NCwgMjMyLCAyMzYsIDkzLCA5OSwgMTI0LCAxOTMsIDIyLCA0NCwgMTIwLCAyNDEsIDIyOCwgOTMsIDk5LCAxMjAsIDE5MywgCi0gICAgMjIsIDQ0LCAxMjQsIDI0MSwgMjI4LCA5MywgOTksIDExNCwgNjcsIDIyLCAyMjIsIDI1NCwgOTMsIDk5LCAxOTMsIDY3LCAKLSAgICAyMiwgMjMzLCA1MiwgOTMsIDk5LCA2NywgMTkzLCAyMiwgNDMsIDI0MSwgMjI4LCA5MywgOTksIDEyMCwgMTE0LCAyMiwgNDMsIAotICAgIDEyNCwgMjMyLCAyMzYsIDkzLCA5OSwgMTI0LCAxMTQsIDIyLCA0MywgMTIwLCAyMzIsIDIzNiwgOTMsIDk5LCA2NywgMTE0LCAKLSAgICAyMiwgNDMsIDIzMiwgMjM2LCA5MywgOTksIDEyNCwgMTkzLCAyMiwgNDMsIDEyMCwgMjQxLCAyMjgsIDkzLCA5OSwgMTIwLCAKLSAgICAxOTMsIDIyLCA0MywgMTI0LCAyNDEsIDIyOCwgOTMsIDk5LCAxMTQsIDY3LCAyMiwgMjMzLCA1MiwgOTMsIDk5LCAxOTMsIAotICAgIDEyNCwgMjIsIDI0MSwgNTEsIDkzLCA5OSwgNDMsIDExNCwgMjIsIDQ0LCAxMjQsIDIzMiwgMjM2LCA5MywgOTksIDQ0LCAKLSAgICAxMTQsIDIyLCA0MywgMTI0LCAyMzIsIDIzNiwgOTMsIDk5LCAxMjQsIDE5MywgMjIsIDIwMywgMjQxLCAyMjgsIDkzLCA5OSwgCi0gICAgMTI0LCAxMTQsIDIyLCAyMDMsIDIzMiwgMjM2LCA5MywgOTksIDQ0LCAxOTMsIDIyLCA0MywgMTI0LCAyNDEsIDIyOCwgOTMsIAotICAgIDk5LCA0MywgMTkzLCAyMiwgNDQsIDEyNCwgMjQxLCAyMjgsIDkzLCA5OSwgMTE0LCAxMjQsIDIyLCAyNDEsIDUxLCA5MywgCi0gICAgOTksIDE5MywgMTIwLCAyMiwgMjQxLCA1MSwgOTMsIDk5LCA0MywgMTE0LCAyMiwgNDQsIDEyMCwgMjMyLCAyMzYsIDkzLCAKLSAgICA5OSwgNDQsIDExNCwgMjIsIDQzLCAxMjAsIDIzMiwgMjM2LCA5MywgOTksIDEyMCwgMTkzLCAyMiwgMjAzLCAyNDEsIDIyOCwgCi0gICAgOTMsIDk5LCAxMjAsIDExNCwgMjIsIDIwMywgMjMyLCAyMzYsIDkzLCA5OSwgNDQsIDE5MywgMjIsIDQzLCAxMjAsIDI0MSwgCi0gICAgMjI4LCA5MywgOTksIDQzLCAxOTMsIDIyLCA0NCwgMTIwLCAyNDEsIDIyOCwgOTMsIDk5LCAxMTQsIDEyMCwgMjIsIDI0MSwgCi0gICAgNTEsIDkzLCA5OSwgMTkzLCA2NywgMjIsIDI0MSwgNTEsIDkzLCA5OSwgNDMsIDExNCwgMjIsIDQ0LCA2NywgMjMyLCAyMzYsIAotICAgIDkzLCA5OSwgNDQsIDExNCwgMjIsIDQzLCA2NywgMjMyLCAyMzYsIDkzLCA5OSwgNjcsIDE5MywgMjIsIDIwMywgMjQxLCAKLSAgICAyMjgsIDkzLCA5OSwgMTIwLCAxMTQsIDIyLCAxMjQsIDIwMywgMjMyLCAyMzYsIDkzLCA5OSwgMTI0LCAxMTQsIDIyLCAxMjAsIAotICAgIDIwMywgMjMyLCAyMzYsIDkzLCA5OSwgNjcsIDExNCwgMjIsIDIwMywgMjMyLCAyMzYsIDkzLCA5OSwgNDMsIDEyMCwgMTE0LCAKLSAgICAyMiwgNDQsIDEyNCwgMjMyLCAyMzYsIDkzLCA5OSwgNDQsIDEyMCwgMTE0LCAyMiwgNDMsIDEyNCwgMjMyLCAyMzYsIDkzLCAKLSAgICA5OSwgNDMsIDEyNCwgMTE0LCAyMiwgNDQsIDEyMCwgMjMyLCAyMzYsIDkzLCA5OSwgNDQsIDEyNCwgMTE0LCAyMiwgNDMsIAotICAgIDEyMCwgMjMyLCAyMzYsIDkzLCA5OSwgMTI0LCAxOTMsIDIyLCAxMjAsIDIwMywgMjQxLCAyMjgsIDkzLCA5OSwgMTIwLCAKLSAgICAxOTMsIDIyLCAxMjQsIDIwMywgMjQxLCAyMjgsIDkzLCA5OSwgNDQsIDE5MywgMjIsIDQzLCA2NywgMjQxLCAyMjgsIDkzLCAKLSAgICA5OSwgNDMsIDE5MywgMjIsIDQ0LCA2NywgMjQxLCAyMjgsIDkzLCA5OSwgMTE0LCA2NywgMjIsIDI0MSwgNTEsIDkzLCA5OSwgCi0gICAgMTkzLCA1MiwgMjQ4LCAxNjUsIDI0MSwgNTEsIDkzLCA5OSwgMTE0LCA1MiwgMjQ4LCAxNjUsIDI0MSwgNTEsIDkzLCA5OSwgCi0gICAgMTkzLCA1MiwgMjQ4LCAxNjUsIDIxMywgMjM5LCA5MywgOTksIDExNCwgNTIsIDI0OCwgMTY1LCAyMTMsIDIzOSwgOTMsIDk5LCAKLSAgICA1MiwgMjQxLCA1MSwgOTMsIDk5LCA1MiwgMjEzLCAyMzksIDkzLCA5OSwgMTI0LCAyMTksIDE1NywgMjIsIDQ0LCAyNDYsIAotICAgIDEyMSwgOTMsIDk5LCAxMjQsIDUyLCAyMiwgNDQsIDIxOSwgMTU2LCA5MywgOTksIDUyLCAxMjQsIDIyLCAyMjIsIDI1NCwgCi0gICAgOTMsIDk5LCAxMjQsIDIxOSwgMTU3LCAyMiwgNDMsIDI0NiwgMTIxLCA5MywgOTksIDEyNCwgNTIsIDIyLCA0MywgMjE5LCAKLSAgICAxNTYsIDkzLCA5OSwgNTIsIDEyNCwgMjIsIDIzMywgNTIsIDkzLCA5OSwgMTIwLCAyMTksIDE1NywgMjIsIDQ0LCAyNDYsIAotICAgIDEyMSwgOTMsIDk5LCAxMjAsIDUyLCAyMiwgNDQsIDIxOSwgMTU2LCA5MywgOTksIDUyLCAxMjAsIDIyLCAyMjIsIDI1NCwgCi0gICAgOTMsIDk5LCAxMjAsIDIxOSwgMTU3LCAyMiwgNDMsIDI0NiwgMTIxLCA5MywgOTksIDEyMCwgNTIsIDIyLCA0MywgMjE5LCAKLSAgICAxNTYsIDkzLCA5OSwgNTIsIDEyMCwgMjIsIDIzMywgNTIsIDkzLCA5OSwgNjcsIDIxOSwgMTU3LCAyMiwgNDQsIDI0NiwgCi0gICAgMTIxLCA5MywgOTksIDY3LCA1MiwgMjIsIDQ0LCAyMTksIDE1NiwgOTMsIDk5LCA1MiwgNjcsIDIyLCAyMjIsIDI1NCwgOTMsIAotICAgIDk5LCA2NywgMjE5LCAxNTcsIDIyLCA0MywgMjQ2LCAxMjEsIDkzLCA5OSwgNjcsIDUyLCAyMiwgNDMsIDIxOSwgMTU2LCA5MywgCi0gICAgOTksIDUyLCA2NywgMjIsIDIzMywgNTIsIDkzLCA5OSwgMTI0LCAyMTksIDE1NywgMjIsIDIwMywgMjQ2LCAxMjEsIDkzLCAKLSAgICA5OSwgMTI0LCA1MiwgMjIsIDIwMywgMjE5LCAxNTYsIDkzLCA5OSwgNTIsIDEyNCwgMjIsIDI0MSwgNTEsIDkzLCA5OSwgCi0gICAgMTIwLCAyMTksIDE1NywgMjIsIDIwMywgMjQ2LCAxMjEsIDkzLCA5OSwgMTIwLCA1MiwgMjIsIDIwMywgMjE5LCAxNTYsIDkzLCAKLSAgICA5OSwgNTIsIDEyMCwgMjIsIDI0MSwgNTEsIDkzLCA5OSwgNjcsIDIxOSwgMTU3LCAyMiwgMjAzLCAyNDYsIDEyMSwgOTMsIAotICAgIDk5LCA2NywgNTIsIDIyLCAyMDMsIDIxOSwgMTU2LCA5MywgOTksIDUyLCA2NywgMjIsIDI0MSwgNTEsIDkzLCA5OSwgMTkzLCAKLSAgICAyNTQsIDM0LCAxMjQsIDIyLCAyMjIsIDI1NCwgOTMsIDk5LCAxOTMsIDI1NCwgMzQsIDEyNCwgMjIsIDIzMywgNTIsIDkzLCAKLSAgICA5OSwgMTkzLCAyNTQsIDM0LCAxMjAsIDIyLCAyMzMsIDUyLCA5MywgOTksIDE5MywgMjU0LCAzNCwgMTIwLCAyMiwgMjIyLCAKLSAgICAyNTQsIDkzLCA5OSwgMTkzLCAyNDgsIDcsIDIxNCwgMTYwLCA0NCwgMjE2LCA0MywgMjMyLCAxMTQsIDIzMywgNTIsIDkzLCAKLSAgICA5OSwgMTkzLCAyNDgsIDcsIDIxNCwgMTYwLCA0MywgMjE2LCA0MywgMjMyLCAxMTQsIDIyMiwgMjU0LCA5MywgOTksIDE5MywgCi0gICAgMjQ4LCA3LCAyNDksIDEzOCwgOTMsIDk5LCAxOTMsIDIzMywgNTIsIDkzLCA5OSwgMTkzLCAyMTQsIDE2MywgOTMsIDk5LCAKLSAgICAxOTMsIDIyMiwgMjU0LCA5MywgOTksIDE5MywgMjQ2LCAxMTQsIDkzLCA5OSwgMTE0LCAyMzMsIDUyLCA5MywgOTksIDExNCwgCi0gICAgMjE0LCAxNjMsIDkzLCA5OSwgMTE0LCAyMjIsIDI1NCwgOTMsIDk5LCAxMTQsIDI0NiwgMTE0LCA5MywgOTksIDE5MywgNDMsIAotICAgIDIyLCAxMTQsIDIyMiwgMjU0LCA5MywgOTksIDE5MywgMTIwLCAyMiwgMTE0LCAyNDYsIDExNCwgOTMsIDk5LCAxMTQsIDQzLCAKLSAgICAyMiwgMTkzLCAyMjIsIDI1NCwgOTMsIDk5LCAxMTQsIDEyMCwgMjIsIDE5MywgMjQ2LCAxMTQsIDIxNCwgMTYwLCAxNjMsIAotICAgIDI1MSwgMjIxLCAyMzIsIDExNCwgMTIzLCAyNDUsIDE5NywgMjUxLCAyMjEsIDIzMiwgMTE0LCAxMjMsIDIyNCwgMjUsIDI1MSwgCi0gICAgMjIxLCAyMzIsIDExNCwgMTM0LCAyNDUsIDE5NSwgMjUxLCAyMjEsIDIzMiwgMTE0LCAxNjMsIDI1MSwgMjIxLCAyMzIsIAotICAgIDExNCwgMjQ0LCA4OSwgMjQ1LCAxOTUsIDI1MSwgMjIxLCAyMzIsIDExNCwgMTM0LCAyMjQsIDIzLCAyNTEsIDIyMSwgMjMyLCAKLSAgICAxMTQsIDIyMCwgMTI0LCAyNDUsIDE5NSwgMjUxLCAyMjEsIDI0MywgMjM2LCAyNTEsIDIyMSwgNDMsIDIyMCwgMTI0LCAyNDUsIAotICAgIDE5NSwgMjUxLCAyMjEsIDQzLCAxMzQsIDIyNCwgMjMsIDI1MSwgMjIxLCA0MywgMjQ0LCA4OSwgMjQ1LCAxOTUsIDI1MSwgCi0gICAgMjIxLCA0MywgMTYzLCAyNTEsIDIyMSwgNDMsIDEzNCwgMjQ1LCAxOTUsIDI1MSwgMjIxLCA0MywgMTIzLCAyMjQsIDI1LCAKLSAgICAyNTEsIDIyMSwgNDMsIDEyMywgMjQ1LCAxOTcsIDI1MSwgMjIxLCA0NCwgMTYzLCAyNTEsIDIyMSwgMTkzLCAyMjAsIDk0LCAKLSAgICAyMzEsIDg3LCAyMjAsIDk0LCAyNDgsIDE3MCwgMjIwLCA5NCwgMjE0LCAxNjAsIDEyMywgMjQ1LCAxOTcsIDI1MSwgMjIxLCAKLSAgICA0NCwgMTIzLCAyNDUsIDE5NywgMjUxLCAyMjEsIDIyNCwgMjksIDIzMiwgMTE0LCAyMzMsIDUyLCAyMjQsIDI5LCAyMzIsIAotICAgIDExNCwgMjIyLCAyNTQsIDIyNCwgMjksIDIxNCwgMTYwLCAyMzMsIDUyLCAyMjQsIDI5LCAyMTQsIDE2MCwgNDMsIDIyLCAKLSAgICAyMzIsIDExNCwgNDMsIDIyLCAyMzIsIDExNCwgMjIyLCAyNTQsIDIyNCwgMjksIDIxNCwgMTYwLCA0MywgMjIsIDIzMiwgCi0gICAgMTE0LCAyMjIsIDI1NCwgMjI0LCAyOSwgMjE0LCAxNjAsIDQzLCAyMiwgMjE0LCAxNjAsIDQ0LCAyMiwgMjMyLCAxMTQsIAotICAgIDIzMywgNTIsIDIyNCwgMjksIDIxNCwgMTYwLCA0MywgMjIsIDIxNCwgMTYwLCA0NCwgMjIsIDIzMiwgMTE0LCAyMjIsIDI1NCwgCi0gICAgMjI0LCAyOSwgMjE0LCAxNjAsIDIyMiwgMjU0LCAyMjQsIDI5LCAyMTQsIDE2MCwgNDQsIDIyLCAyMzIsIDExNCwgMjMzLCAKLSAgICA1MiwgMjI0LCAyOSwgMjE0LCAxNjAsIDQ0LCAyMiwgMjMyLCAxMTQsIDQzLCAyMiwgMjMyLCAxMTQsIDIyMiwgMjU0LCA4NSwgCi0gICAgMjE4LCAyMzYsIDcxLCAyMTgsIDIzNiwgNzEsIDQyLCAyLCAyMjIsIDE4NSwgMjQ5LCAxNjcsIDcxLCA0MiwgMjQ5LCAxOTUsIAotICAgIDg1LCA0LCAyMTgsIDIzNiwgNDIsIDIsIDIwMywgMjQ0LCAxMTMsIDQyLCAyLCA2NywgMjQ0LCAxMTMsIDQyLCAyLCAyMjYsIAotICAgIDE0OCwgMjQ5LCAxMzQsIDI0NCwgMTEzLCA0MiwgMiwgMjE0LCAxNjAsIDQzLCAyMTYsIDQzLCAyMzIsIDExNCwgNDQsIDI0NCwgCi0gICAgMTEzLCA0MiwgMiwgMjE0LCAxNjAsIDQ0LCAyMTYsIDQzLCAyMzIsIDExNCwgNDMsIDI0NCwgMTEzLCA0MiwgMiwgMjQ4LCA3LCAKLSAgICAyNDksIDEzNCwgMjQ0LCAxMTMsIDg1LCA0LCAyMTgsIDIzNiwgNzEsIDQsIDIxOCwgMjM2LCA4NSwgMjIzLCAxMTksIDcxLCAKLSAgICAyMjMsIDExOSwgODUsIDY3LCAyMjMsIDExOSwgNzEsIDY3LCAyMjMsIDExOSwgODUsIDIyNiwgMTAsIDcxLCAyMjYsIDEwLCAKLSAgICA4NSwgMjE0LCAxNjIsIDIxNSwgMjI2LCA3MSwgMjE0LCAxNjIsIDIxNSwgMjI2LCA4NSwgMjE0LCAxNjIsIDQsIDIxNSwgCi0gICAgMjI2LCA3MSwgMjE0LCAxNjIsIDQsIDIxNSwgMjI2LCA4NSwgMjIyLCAyNTAsIDIxNSwgMjI2LCA3MSwgMjIyLCAyNTAsIAotICAgIDIxNSwgMjI2LCA4NSwgMjIyLCAyNTAsIDQsIDIxNSwgMjI2LCA3MSwgMjIyLCAyNTAsIDQsIDIxNSwgMjI2LCA4NSwgMjIyLCAKLSAgICAyNTAsIDIyNSwgMTEsIDcxLCAyMjIsIDI1MCwgMjI1LCAxMSwgODUsIDI0NiwgMTEzLCAyMTUsIDIyNiwgNzEsIDI0NiwgCi0gICAgMTEzLCAyMTUsIDIyNiwgODUsIDI0NiwgMTEzLCA0LCAyMTUsIDIyNiwgNzEsIDI0NiwgMTEzLCA0LCAyMTUsIDIyNiwgODUsIAotICAgIDIzMywgNDgsIDIxNSwgMjI2LCA3MSwgMjMzLCA0OCwgMjE1LCAyMjYsIDg1LCAyMzMsIDQ4LCA0LCAyMTUsIDIyNiwgNzEsIAotICAgIDIzMywgNDgsIDQsIDIxNSwgMjI2LCA4NSwgMjMzLCA0OCwgMjI1LCAxMSwgNzEsIDIzMywgNDgsIDIyNSwgMTEsIDg1LCAKLSAgICAyNDgsIDAsIDcxLCAyNDgsIDAsIDcxLCAyNDgsIDEsIDI0OSwgMTk1LCA4NSwgNCwgMjQ4LCAwLCAyNDQsIDk3LCAyMzIsIAotICAgIDExMCwgNzEsIDI1MCwgNDMsIDI0NiwgMTI2LCAyNTAsIDQzLCAyNTAsIDQ0LCAyLCA2NywgMjQ0LCAxMTMsIDI1MSwgMTE5LCAKLSAgICA4NSwgMjUwLCA0MywgMjUwLCA0NCwgMiwgNDMsIDE2MywgMjUxLCAyMjksIDI1MCwgNDQsIDIsIDQ0LCAxNjMsIDI1MSwgCi0gICAgMjI5LCAyNTAsIDQ0LCAyLCAyMzIsIDExNCwgMTYzLCAyNTEsIDIyOSwgMjUwLCA0NCwgMiwgMjE0LCAxNjAsIDE2MywgMjUxLCAKLSAgICAyMjksIDI1MCwgNDQsIDIsIDIxNCwgMTYwLCA0NCwgMjI0LCAyOSwgMjUxLCAyMjksIDI1MCwgNDQsIDIsIDI1NCwgMTY0LCAKLSAgICAyNTEsIDk2LCAyMTQsIDE2MCwgNDMsIDIyNCwgMjksIDI1MSwgMjI5LCA0MywgMTYzLCA4NSwgMjUwLCA0MywgNDQsIDE2MywgCi0gICAgODUsIDI1MCwgNDMsIDIzNSwgMjAxLCAyNTEsIDEyMSwgMjM1LCAyMDEsIDcxLCAyNTAsIDQzLCAyMTQsIDE2MCwgMTYzLCAKLSAgICAyMzUsIDIwMSwgNzEsIDI1MCwgNDMsIDIzMiwgMTE0LCAxNjMsIDIzNSwgMjAxLCA3MSwgMjUwLCA0MywgMjE0LCAxNjAsIAotICAgIDQzLCAyMjQsIDI5LCAyNTAsIDQxLCAyNTQsIDMzLCAyMTQsIDE2MCwgNDQsIDIyNCwgMjksIDI1MCwgNDEsIDI1NCwgMzMsIAotICAgIDIzMiwgMTE0LCA0NCwgMjI0LCAyOSwgMjUwLCA0MSwgMjU0LCAzMywgMjMyLCAxMTQsIDQzLCAyMjQsIDI5LCAyNTAsIDQxLCAKLSAgICAyNTQsIDMzLCAyMTQsIDE2MCwgMTYzLCAyNTAsIDQzLCAyMzIsIDExNCwgMTYzLCAyNTAsIDQzLCA4NSwgMjMyLCAxMTQsIAotICAgIDQ0LCAyMTUsIDIyNiwgODUsIDIzMiwgMTE0LCA0MywgMjE1LCAyMjYsIDg1LCAyMTQsIDE2MCwgNDMsIDIxNSwgMjI2LCA4NSwgCi0gICAgMjE0LCAxNjAsIDQ0LCAyMTUsIDIyNiwgNzEsIDI1MSwgMTIxLCA0MiwgMiwgNDMsIDE2MywgMjUxLCAyMjksIDQyLCAyLCAKLSAgICA0NCwgMTYzLCAyNTEsIDIyOSwgNDIsIDIsIDIxNCwgMTYwLCA0MywgMjQ4LCA3LCAxNjMsIDI1MSwgMjI5LCA0MiwgMiwgCi0gICAgMjMyLCAxMTQsIDQ0LCAyNDgsIDcsIDE2MywgMjUxLCAyMjksIDcxLCA0MiwgMiwgNjcsIDI1MSwgMjQwLCAyMzIsIDIxOSwgCi0gICAgNzEsIDIxNCwgMTYyLCAyMTUsIDIyNywgMiwgMjQ3LCAxMjgsIDIxNCwgMTYyLCAyMTUsIDIyNywgMiwgNDMsIDE2MywgMjUxLCAKLSAgICAyMjksIDIxNCwgMTYyLCAyMTUsIDIyNywgMiwgNDQsIDE2MywgMjUxLCAyMjksIDIzMywgOTEsIDI1MCwgNDMsIDcxLCA0MiwgCi0gICAgMiwgMjE0LCAxNjAsIDQzLCAyMjQsIDI4LCA3MSwgNDIsIDIsIDIzMiwgMTE0LCA0MywgMjI0LCAyOCwgNzEsIDQyLCAyLCAKLSAgICAyMzIsIDExNCwgNDQsIDIyNCwgMjgsIDcxLCA0MiwgMiwgMjE0LCAxNjAsIDQ0LCAyMjQsIDI4LCA3MSwgMjUwLCA0NCwgMiwgCi0gICAgMjE0LCAxNjAsIDQzLCAyMjQsIDI4LCA3MSwgMjUwLCA0NCwgMiwgMjMyLCAxMTQsIDQzLCAyMjQsIDI4LCA3MSwgMjUwLCAKLSAgICA0NCwgMiwgMjMyLCAxMTQsIDQ0LCAyMjQsIDI4LCA3MSwgMjUwLCA0NCwgMiwgMjE0LCAxNjAsIDQ0LCAyMjQsIDI4LCAyMTQsIAotICAgIDE2MCwgNDMsIDIxNSwgMjI2LCAyMTQsIDE2MCwgNDQsIDIxNSwgMjI2LCAyMzIsIDExNCwgNDMsIDIxNSwgMjI2LCA3MSwgCi0gICAgMjMxLCA4NywgMjE4LCAyMzYsIDg1LCAyMzEsIDg3LCAyMTgsIDIzNiwgNzEsIDIzMSwgODcsIDQsIDIxOCwgMjM2LCA4NSwgCi0gICAgMjMxLCA4NywgNCwgMjE4LCAyMzYsIDIzMiwgMTE0LCA0NCwgMjE1LCAyMjYsIDg1LCAyMTgsIDM5LCAyLCAyMjMsIDEzNSwgCi0gICAgMjQ5LCAyNTUsIDIxNCwgMTk0LCAyMTksIDYyLCAyNDksIDIzMCwgODUsIDIxOCwgMTU4LCA3MSwgMjE4LCAxNTgsIDIzMiwgCi0gICAgMjM0LCAyMTYsIDEzMywgMjE4LCAzOCwgMjUzLCAyNDIsIDIyOCwgNzYsIDI0OCwgNDYsIDIyOCwgNzYsIDI0OSwgMjAzLCAKLSAgICAyMjYsIDE2NywgODUsIDIxNywgMSwgNzEsIDIxNywgMSwgMjUyLCAxNjQsIDI1MSwgMTcxLCAyNTIsIDE2NCwgOTMsIDIsIAotICAgIDI1MCwgMTM3LCAyNTIsIDE2NCwgOTMsIDIsIDIxMSwgMTc4LCAyMjIsIDAsIDIxNCwgMTk1LCAyLCAyMjMsIDE2MywgMjQ2LCAKLSAgICA5MiwgMjQwLCAyNTAsIDI1MiwgMzAsIDcxLCAyMjAsIDQsIDIyNSwgMTA0LCA4NSwgMjIwLCA0LCAyMjUsIDEwNCwgMjIwLCAKLSAgICA4OSwgMjIzLCA1MiwgMjIyLCAxODksIDI0NCwgNjMsIDI0MSwgMjM1LCAyNTEsIDEyMSwgODUsIDQzLCAyMjUsIDEwLCAyMzUsIAotICAgIDI0OSwgODUsIDQ0LCAyMjUsIDEwLCAyMzUsIDI0OSwgNzEsIDQzLCAyMjUsIDEwLCAyMzUsIDI0OSwgNzEsIDEyMCwgMjI1LCAKLSAgICAxMCwgMjM1LCAyNDksIDcxLCA0NCwgMjI1LCAxMCwgMjM1LCAyNDksIDcxLCAxMjQsIDIyNSwgMTAsIDIzNSwgMjQ5LCAyMTksIAotICAgIDEwMywgMjIsIDI0OSwgMTM3LCAyNTAsIDIyNywgNTAsIDIyMywgMTc1LCA1MCwgMjUxLCAyNDcsIDUwLCAyNTEsIDMzLCAKLSAgICAyNTQsIDExMCwgMjI2LCAxNDksIDI0OSwgMTM4LCAyNTAsIDExOSwgMjIzLCA0MCwgMjQ5LCAxMzksIDY0LCAyMzIsIDEyNCwgCi0gICAgMjQ5LCAxMzksIDY0LCAyMzUsIDEyMiwgMjE4LCAxNTksIDIyLCAyNDksIDE0NCwgMjQ0LCAxNzYsIDg3LCAyNTUsIDEsIAotICAgIDIyMCwgOTEsIDI0MiwgMjksIDIyLCAyMTksIDE5MSwgMjI1LCAyMjMsIDg3LCAyMTAsIDI1NCwgMjExLCA2OSwgMjE1LCAKLSAgICAyMTYsIDMxLCAyNDEsIDIzMCwgMjE1LCAyMTYsIDMxLCAyMzMsIDExMywgMjE1LCAyMTYsIDMxLCAyNDQsIDEwNCwgMjE1LCAKLSAgICAyMTYsIDMxLCAyMTYsIDEzNCwgMjE1LCAyMTYsIDMxLCAyMTEsIDIzOSwgMjE1LCAyMTYsIDMxLCAyMTIsIDQwLCAyMTUsIAotICAgIDIxNiwgMzEsIDIzMCwgMTIwLCAyMTUsIDIxNiwgMzEsIDI0NSwgMjMxLCAyMTIsIDEsIDY0LCAyNDgsIDI2LCA3MSwgMjQzLCAKLSAgICAyNDcsIDI0NCwgMTk4LCA3MSwgMjE5LCA3NiwgMjQ0LCAxOTgsIDg1LCAyMTksIDc2LCAyNDQsIDE5OCwgNzEsIDIxOCwgMzksIAotICAgIDIsIDIyMywgMTM1LCAyNDQsIDEwMCwgMjI0LCAyNSwgMjMwLCAxMzMsIDIzMywgODYsIDIyNCwgMjUsIDIzMCwgMTMzLCAKLSAgICAyMzEsIDU5LCAyNDQsIDE0NiwgNTAsIDI0NSwgMjMxLCAyMzEsIDE5NSwgNTAsIDIzNSwgNDQsIDIyMSwgMjIyLCAyMTQsIAotICAgIDE0NSwgMjI5LCA5OCwgMjI1LCAyMywgMjU0LCAyMCwgMjE3LCA0MSwgMjQzLCA1OSwgMjUxLCAxMSwgMjMzLCAyNSwgMjEzLCAKLSAgICAxNTAsIDIzMiwgMjQ0LCAyMjEsIDE5MywgMjIyLCAyMSwgMjUxLCAwLCAyNTQsIDUwLCAyMjUsIDU1LCA3MSwgMjUwLCAxMjUsIAotICAgIDIzNCwgODQsIDcxLCAyNTAsIDEyNSwgMjI0LCAxNywgNzEsIDI1MCwgMTI1LCAyMjIsIDE5NywgNzEsIDI1MCwgMTI1LCAKLSAgICAyNTEsIDIzOSwgNzEsIDI1MCwgMTI1LCAyMzQsIDM2LCA3MSwgMjUwLCAxMjUsIDIyNSwgMjM1LCA4NSwgMjUwLCAxMjUsIAotICAgIDIzNCwgODQsIDg1LCAyNTAsIDEyNSwgMjI0LCAxNywgODUsIDI1MCwgMTI1LCAyMjIsIDE5NywgODUsIDI1MCwgMTI1LCAKLSAgICAyNTEsIDIzOSwgODUsIDI1MCwgMTI1LCAyMzQsIDM2LCA4NSwgMjUwLCAxMjUsIDIyNSwgMjM1LCA4NSwgMjE5LCAxOCwgCi0gICAgMjE4LCA1MSwgNzEsIDI0MSwgMjM1LCAyMTgsIDUxLCA3MSwgMjQ4LCAxLCAyMTgsIDUxLCA4NSwgMjQ5LCAyNTMsIDIxOCwgCi0gICAgNTEsIDcxLCAyMTksIDE4LCAyMTgsIDUxLCA4NSwgMjQxLCAyMzUsIDIxOCwgNTEsIDg1LCAyNDgsIDEsIDIxOCwgNTEsIDcxLCAKLSAgICAyNDksIDI1MywgMjE4LCA1MSwgMjQwLCAyNTAsIDIxOCwgMjQwLCAyMjQsIDI1LCAyMjgsIDUyLCAyNDUsIDE5NywgMjI4LCAKLSAgICA1MiwgMjUyLCA4MSwgMjQ1LCAxOTcsIDIyOCwgNDcsIDI1MiwgODEsIDIxOSwgMTIwLCAyMjgsIDQ3LCAyMzAsIDYyLCAyNDQsIAotICAgIDc0LCA1MCwgMjMwLCA2MiwgMjI5LCAxOTMsIDUwLCAyMzAsIDYyLCAyMjAsIDc4LCA1MCwgMjEyLCA5LCAxODMsIDI0OSwgCi0gICAgMTM4LCAyNDUsIDIyOCwgMTgzLCAyNDksIDEzOCwgMjE0LCAxNzEsIDIyMywgMTE1LCA4NywgMjIzLCAxMTUsIDE2LCAzMSwgCi0gICAgMjE1LCA0OCwgMjI1LCAzNywgMjIzLCAxMTUsIDE2LCAzMSwgMjE1LCA0NywgMjI1LCAzNywgMjIzLCAxMTUsIDE2LCAzMSwgCi0gICAgMjE1LCA0NiwgMjI1LCAzNywgMjIzLCAxMTUsIDE2LCAzMSwgMjE1LCA0NSwgMjI1LCAzNywgMjIzLCAxMTUsIDE2LCAzMSwgCi0gICAgMjE1LCA0NCwgMjI1LCAzNywgMjIzLCAxMTUsIDE2LCAzMSwgMjE1LCA0MywgMjI1LCAzNywgMjIzLCAxMTUsIDE2LCAzMSwgCi0gICAgMjE1LCA0MiwgMjI1LCAzNywgMjIzLCAxMTUsIDE2LCAzMSwgMjQzLCA1NywgMjMxLCAxNDMsIDg1LCAyMTQsIDE3MSwgMjIzLCAKLSAgICAxMTUsIDg3LCAyMjMsIDExNiwgMjI2LCAyNCwgODcsIDIyNiwgMCwgMjI2LCAyNCwgODcsIDIyNSwgMTc3LCAyMjYsIDI0LCAKLSAgICA1MCwgMjExLCAyNTUsIDg3LCAyNDcsIDI0OSwgMjQ0LCAxOTcsIDI0NywgMjQ5LCAyNDQsIDE5NiwgMjQ3LCAyNDksIDI0NCwgCi0gICAgMTk1LCAyNDcsIDI0OSwgMjQ0LCAxOTQsIDI0NywgMjQ5LCAyNDQsIDE5MywgMjQ3LCAyNDksIDI0NCwgMTkyLCA3MSwgMjUwLCAKLSAgICA0NCwgMiwgNTksIDIyMiwgMjU0LCA3MSwgMjUwLCA0NCwgMiwgMTEzLCAyNDcsIDEyNiwgODUsIDI1MCwgNDQsIDIsIDcxLCAKLSAgICA1OSwgMjIyLCAyNTQsIDg1LCAyNTAsIDQ0LCAyLCAxMTMsIDcxLCAyNDcsIDEyNiwgMjMwLCAxNDcsIDMxLCAyMTEsIDY5LCAKLSAgICAyMzAsIDE0NywgMzEsIDIxMCwgMjUzLCAyNDcsIDIzMiwgMzEsIDI0MiwgMTM4LCAyMTEsIDY5LCAyNDcsIDIzMiwgMzEsIAotICAgIDIzMywgMTksIDIxMCwgMjUzLCAyNDcsIDIzMiwgMzEsIDIzMywgMTksIDIxMSwgNjksIDI0NywgMjMyLCAzMSwgMjQyLCAKLSAgICAxMzgsIDIxMCwgMjUzLCA3MSwgMjQ0LCA4MSwgODUsIDI0NCwgODEsIDI0MiwgMjksIDIyLCAyMjUsIDEwNywgMjU0LCAxMjgsIAotICAgIDI0OSwgMTM2LCAyMTcsIDIzNiwgMjE4LCAxNjYsIDY0LCAyNTQsIDIzNSwgMjIxLCAyMDgsIDI1NCwgMTc4LCAyNDQsIDU5LCAKLSAgICAyNDMsIDY3LCAyMTgsIDE2NiwgNjQsIDI0MSwgMjA5LCAyNTMsIDIwNywgODcsIDI0NCwgNzAsIDIyNiwgMTMwLCA3MSwgCi0gICAgMjE4LCAxNTgsIDEzNCwgMjMyLCAyMTQsIDI0OSwgMTgzLCAyMjIsIDI1NCwgMTM0LCAyMzIsIDIxNCwgMjQ5LCAxODMsIAotICAgIDIzMywgNTIsIDIxMiwgNTAsIDUwLCAxMjUsIDIxMywgMTMwLCA1MCwgMjQ2LCAxMTgsIDI0NCwgMTQ2LCA1MCwgMjQ2LCAKLSAgICAxMTgsIDIzMSwgMTk1LCA1MCwgMjM1LCAyMTAsIDI0NCwgMTQ2LCAyMiwgMjMxLCAxOTUsIDUwLCAyMzEsIDE5NSwgMjIsIAotICAgIDI0NCwgMTQ2LCA1MCwgMjMxLCAxOTUsIDIsIDIxOCwgMTA1LCA1MCwgMjMxLCAxOTUsIDIsIDIxOCwgMTA1LCAyMiwgMjMxLCAKLSAgICAxOTUsIDIyLCAyNDQsIDE0NiwgNTAsIDY3LCAyMzEsIDE5NSwgMiwgMjE4LCAxMDUsIDUwLCAyMDMsIDIzMSwgMTk1LCAyLCAKLSAgICAyMTgsIDEwNSwgNTAsIDIzMSwgODcsIDcxLCAyNTAsIDQzLCAyMzEsIDg3LCA4NSwgMjUwLCA0MywgMjMxLCA4NywgNCwgNzEsIAotICAgIDI1MCwgNDMsIDIzMSwgMTU4LCA4NywgMjQ3LCAxNzUsIDg3LCAyMTQsIDE2OSwgMjI1LCAyNTUsIDg3LCAyNDksIDIzOSwgCi0gICAgMjQzLCAyMzEsIDIxNCwgMTQxLCAyMjksIDkzLCAyNTAsIDE2OSwgMjI2LCA2NSwgMjM1LCA1MCwgMjEzLCAxODUsIDI1MCwgCi0gICAgMTAxLCA4NSwgMjMwLCAxMzQsIDIzMiwgMjMxLCAyMjAsIDExNCwgMjIwLCAxNDksIDIyNCwgOCwgMjIwLCAxMzIsIDIxOSwgCi0gICAgNTcsIDI1MiwgMTY3LCAyNTIsIDEzNCwgOTIsIDIzNCwgMTQ0LCA3MSwgMjQ2LCAxMDEsIDIzMSwgMTkwLCA3MSwgMjQ2LCAKLSAgICAxMDEsIDIzNCwgODQsIDg1LCAyNDYsIDEwMSwgMjMxLCAxOTAsIDg1LCAyNDYsIDEwMSwgMjM0LCA4NCwgMjE5LCA2MywgCi0gICAgMjExLCAyMzAsIDIxOSwgNjYsIDIxOCwgMzksIDI1MiwgNTksIDI0OSwgMjU1LCAyMjMsIDE2MiwgODUsIDIxOSwgNjIsIAotICAgIDIxNiwgMTM1LCAyNTAsIDAsIDIyLCAyMjMsIDE2MiwgMjE1LCA5NCwgNzEsIDIyMCwgNCwgMjI1LCAxMDQsIDIxNSwgOTQsIAotICAgIDg1LCAyMjAsIDQsIDIyNSwgMTA0LCA3MSwgMjQ4LCAxLCAyMzYsIDcsIDIxOCwgMjM2LCAyNDksIDEzMywgMjMzLCA5NywgCi0gICAgMjQ3LCAyMDEsIDI1MCwgMjUyLCAyMjYsIDE3MCwgMjI1LCAxMDcsIDI1MCwgMjUzLCAyMTksIDkwLCAyNDEsIDIxOSwgMiwgCi0gICAgNzEsIDI0OSwgMTM4LCAzNywgMjQ5LCAxMzMsIDIzMywgOTcsIDI1MCwgMTYxLCAyMjgsIDgwLCAyNDUsIDEzMiwgMjU0LCAKLSAgICAxNDksIDIyNiwgMTk1LCA0MywgMjEyLCAyNiwgMjE1LCAyNTIsIDg1LCAyMTUsIDU1LCA0MywgMjEyLCAyNiwgMjE1LCAyNTIsIAotICAgIDcxLCAyMTUsIDU1LCA0MywgMjEyLCAyNiwgMjE1LCAyNTIsIDg1LCA0MywgMjMzLCA5OCwgMjMxLCA1OCwgNzEsIDQzLCAKLSAgICAyMzMsIDk4LCAyMzEsIDU4LCAyNDYsIDk3LCAyMTksIDg0LCA1MCwgMTE0LCA3MSwgMjQ2LCAxMTMsIDIxNSwgMjI2LCA0MywgCi0gICAgMjUwLCA4LCAyNDUsIDEzMiwgOTIsIDIyMiwgMCwgMjQ0LCAxODMsIDI0OCwgNywgMjM2LCA3LCA3MSwgMjUwLCA0NCwgMjM2LCAKLSAgICA3LCA4NSwgMjE4LCAyMzYsIDg1LCAyMTUsIDE5MywgMjIzLCA2MywgNDMsIDI0NSwgMTMxLCAyMjMsIDYzLCA0MywgMjQ1LCAKLSAgICAxMzAsIDI1MywgMjE5LCAxNiwgMzEsIDIxNCwgMTQ1LCAxMTQsIDI1MCwgNDQsIDIsIDIxOCwgMTA1LCAyMiwgMTEzLCAxNzAsIAotICAgIDQ4LCAyMjUsIDE5MiwgMjIyLCAyNTEsIDIzNSwgMjEyLCAyMjUsIDE5MiwgMjMzLCA0OSwgMjM1LCAyMTIsIDIyNSwgMTkyLCAKLSAgICAyMzUsIDIwMCwgMjI1LCAxOTIsIDg1LCAyNDksIDEzOSwgMjI2LCAyMDEsIDIyMCwgMzEsIDIyMCwgMTksIDIxOSwgMjMxLCAKLSAgICAyNTAsIDY5LCAyNTAsIDIzNCwgMjQxLCAxNjQsIDIxOSwgMTI4LCAyNDMsIDY4LCAyMTEsIDIzMCwgMjQwLCAyMjcsIDI0MywgCi0gICAgNjgsIDIsIDI0MiwgMTksIDIzMSwgMTc4LCAxNiwgMzEsIDIzMiwgMjM1LCAyMzAsIDEyMCwgMjE0LCAxOTUsIDIyNiwgMjAxLCAKLSAgICAyNDIsIDEyOSwgMjQ0LCAyMCwgMjQ0LCA4MiwgMjM2LCA3LCAyNDEsIDY2LCAyNDQsIDEzNywgMjIyLCAxNiwgNDIsIDI0NCwgCi0gICAgMTksIDI0OSwgMTY3LCAyMTksIDEwNiwgMjQwLCAxMTksIDIxOSwgMTA5LCAyMjUsIDE3MSwgMiwgMjUyLCAxNjcsIDIxNiwgCi0gICAgMjQzLCAyMzUsIDEzNywgMjUyLCAxNTQsIDg3LCAyNDEsIDIzOCwgMjQyLCAxNDAsIDg3LCAyNDMsIDIzOSwgMjI0LCAxNDUsIAotICAgIDI0OSwgMTExLCAyMjYsIDIwMSwgODUsIDIxOCwgMjM2LCA3MSwgMjQ0LCA4MiwgMiwgMjAzLCAyMzAsIDIyOSwgODUsIDIxOCwgCi0gICAgMTA2LCAyMTQsIDE2MCwgMjUxLCAyMjUsIDIyMSwgMTk1LCA4NSwgMjIxLCAxOTUsIDIzMiwgMTE0LCAyNTEsIDIyNSwgMjIxLCAKLSAgICAxOTUsIDcxLCAyMjEsIDE5NSwgNzEsIDExNCwgMjUwLCAxMzgsIDc5LCAyMTcsIDIsIDIzMiwgMTYwLCA1MCwgMjE3LCA1NCwgCi0gICAgMjQ2LCA5NiwgMjU0LCAyMDAsIDI0NSwgMTI3LCAyMjMsIDE2MCwgMjQ0LCA5MywgMjIzLCAxNjAsIDI0MiwgMjIsIDIxMywgCi0gICAgMTc0LCAyNDIsIDIyLCAyMTEsIDE5OCwgMjQyLCAyMiwgMjMyLCAxMTQsIDQ0LCAyMjUsIDIwMSwgMjI1LCAyMDEsIDIxNCwgCi0gICAgMTYwLCA0NCwgMjI1LCAyMDEsIDcxLCAyMjgsIDIzNSwgODUsIDIyOCwgMjM1LCAyNTAsIDEzOCwgNzksIDExNCwgMjUwLCAKLSAgICAxMzgsIDc5LCAyMzAsIDg5LCAyMTEsIDE3OCwgMTE0LCAyMzAsIDg5LCAyMTEsIDE3OCwgMjUyLCAxNjQsIDIxMSwgMTc4LCAKLSAgICAxMTQsIDI1MiwgMTY0LCAyMTEsIDE3OCwgMjI2LCAxMzAsIDI2LCAyNDksIDEzOCwgMTE0LCAyNiwgMjQ5LCAxMzgsIDIwNCwgCi0gICAgMjUwLCAxODMsIDI0OSwgMTM4LCAxMTQsIDIwNCwgMjUwLCAxODMsIDI0OSwgMTM4LCA3LCAyNDksIDEzOCwgMjIwLCA5MywgCi0gICAgNzEsIDcsIDI0OSwgMTM4LCAyMjYsIDEzMCwgNywgMjQ5LCAxMzgsIDIzMSwgMTkyLCAyNDksIDEzOCwgMjE4LCAxNTksIDY0LCAKLSAgICAyNDgsIDE1NywgMjQ0LCAxOSwgMjE3LCAxNiwgMjUzLCAyMjQsIDI0NCwgMTksIDI1MiwgMTY1LCAyNTMsIDIyNCwgMTE0LCAKLSAgICAyNDQsIDE5LCAyNTIsIDE2NSwgMjUzLCAyMjQsIDI0NCwgMTksIDI0OSwgMjUxLCAyNTMsIDIyNCwgODUsIDI0NCwgMTksIAotICAgIDIyNSwgMTIsIDIxOCwgMTU4LCA3MSwgMjQ0LCAxOSwgMjI1LCAxMiwgMjE4LCAxNTgsIDIxOSwgMTMsIDIxOCwgMTEzLCAKLSAgICAyMjYsIDEzMCwgNzEsIDIxOCwgMTU4LCAzNywgNzEsIDIxOCwgMTU4LCAyMDQsIDI1MCwgMTgzLCA4NSwgMjE4LCAxNTgsIAotICAgIDg1LCAyNTAsIDE4MywgNzEsIDIxOCwgMTU4LCAyMjYsIDEzMCwgODUsIDIxOCwgMTU4LCAxMTQsIDIyNiwgMTMwLCA4NSwgCi0gICAgMjE4LCAxNTgsIDIyNSwgNjMsIDIxOCwgMTU4LCAyMjAsIDkzLCA3MSwgMjE4LCAxNTgsIDExNCwgMjUzLCAyMjQsIDIwNCwgCi0gICAgMjUwLCAxODMsIDI1MywgMjI0LCAyNDUsIDIwMSwgMjE4LCAyNDYsIDI1MywgMjI0LCAyNDUsIDIwMSwgMjI1LCAxMiwgODUsIAotICAgIDIxOCwgMTU4LCAyNDUsIDIwMSwgMjI1LCAxMiwgMjI1LCA2MywgMjE4LCAxNTgsIDIxOSwgMTI3LCAyMjUsIDEyLCA4NSwgCi0gICAgMjE4LCAxNTgsIDI0NSwgMjAxLCAyMjUsIDEyLCAyMjMsIDExNywgODUsIDIxOCwgMTU4LCAxMTQsIDI0NSwgMjAxLCAyMjUsIAotICAgIDEyLCAyMjMsIDExNywgODUsIDIxOCwgMTU4LCAyMTUsIDc3LCAyMjUsIDEyLCA4NSwgMjE4LCAxNTgsIDIxOSwgMTIyLCAKLSAgICAyMjUsIDEyLCAyNTMsIDIyNCwgMjE3LCAxNiwgMjUzLCAyMjQsIDIwNCwgMjUwLCAxODMsIDIxNywgMTYsIDI1MywgMjI0LCAKLSAgICAxMTQsIDIxNywgMTYsIDI1MywgMjI0LCAyMTksIDEyNywgMjI1LCAxNjAsIDg1LCAyMiwgNzEsIDI0NCwgNjIsIDg1LCAyNDQsIAotICAgIDYyLCA3MSwgMjQ0LCA2MiwgMjQ1LCAyMDEsIDIyNSwgMTYwLCAyMjYsIDEzMCwgODUsIDI0NCwgNjIsIDM3LCAyMDQsIDI1MCwgCi0gICAgMTgzLCAyNDUsIDIwMSwgMjI1LCAxMiwgMjE4LCAxNTgsIDExNCwgMjE3LCAxNiwgMjI1LCA2MywgMjUzLCAyMjQsIDIxOSwgCi0gICAgNjQsIDIxNiwgMTA2LCAyMTUsIDIxOSwgMjE5LCA2NCwgMTE0LCAyNTAsIDEyMiwgMjE5LCA2NCwgMjE5LCAxNSwgMTE0LCAKLSAgICAyMTksIDE1LCAyNTIsIDE2NSwgMjUzLCAyMjQsIDI0NSwgMjAxLCAyMTcsIDE2LCAyMjQsIDE3NCwgMjUzLCAyMjQsIDExNCwgCi0gICAgMjQ1LCAyMDEsIDIxNywgMTYsIDIyNCwgMTc0LCAyNTMsIDIyNCwgMjQ5LCAxMzksIDc5LCAyMjAsIDkzLCA3MSwgMjUwLCAKLSAgICA0MywgMTUyLCA5MiwgMjQ5LCAxMzksIDc5LCAyMzIsIDExNCwgNDQsIDI0NiwgOTQsIDcxLCAyMTgsIDIzNiwgMjE0LCAxNjAsIAotICAgIDQ0LCAyNDYsIDk0LCA3MSwgMjE4LCAyMzYsIDIzMiwgMTE0LCA0NCwgMjIwLCA5MywgNzEsIDIxOCwgMjM2LCAyMTQsIDE2MCwgCi0gICAgNDQsIDIyMCwgOTMsIDcxLCAyMTgsIDIzNiwgODUsIDIyNCwgMTYsIDE2NCwgMjI2LCAxNTEsIDcxLCAyMjQsIDE2LCAxNjQsIAotICAgIDIyNiwgMTUxLCA3MSwgMjQ1LCAzOSwgMTY0LCAyMjYsIDE1MSwgODUsIDI0OCwgMSwgMjMwLCAxODcsIDcxLCAyMTEsIDE3OCwgCi0gICAgMTE0LCAyNDUsIDM5LCAxNjQsIDg3LCAxOTMsIDY3LCAxMzAsIDIzMSwgODcsIDY3LCAxMzAsIDExNCwgNjcsIDEzMCwgMTE0LCAKLSAgICAyMTksIDE1NywgMjE1LCA5NCwgMjQ5LCAyMjgsIDIyNCwgMSwgMTY0LCAyMjYsIDE1MSwgMTE0LCAyMTksIDE1NywgMjQ5LCAKLSAgICAyMjgsIDIyNCwgMSwgMTY0LCAyMjYsIDE1MSwgMTE0LCA1MiwgMjE1LCA5NCwgMjQ5LCAyMjgsIDIyNCwgMSwgMTY0LCAyMjYsIAotICAgIDE1MSwgMTE0LCA1MiwgMjQ5LCAyMjgsIDIyNCwgMSwgMTY0LCAyMjYsIDE1MSwgMTE0LCAxMjEsIDIxOSwgMTU3LCAyNDksIAotICAgIDIyOCwgMjI0LCAxLCAxNjQsIDIyNiwgMTUxLCAxMTQsIDEyMSwgNTIsIDI0OSwgMjI4LCAyMjQsIDEsIDE2NCwgMjI2LCAKLSAgICAxNTEsIDI0OSwgOTksIDIxOCwgMTQyLCAyMjYsIDE5LCA1LCAyMjYsIDE1MSwgMTE0LCAyNDUsIDM5LCAxNjQsIDIyNiwgCi0gICAgMTUxLCAxMTQsIDI0MSwgMjM1LCAyNDUsIDM5LCAxNjQsIDIyNiwgMTUxLCAxMTQsIDg1LCAyNDEsIDIzNCwgMjIyLCAxODksIAotICAgIDExNCwgODUsIDI0MSwgMjM1LCAyNTEsIDEyMSwgMjQ0LCA2MywgMjQxLCAyMzQsIDIyMiwgMTg5LCAyNDQsIDYzLCAyNDEsIAotICAgIDIzNSwgMjUxLCAxMjEsIDIzMSwgODcsIDQzLCAyMjYsIDgsIDIyNiwgMTUxLCAyMzEsIDg3LCA0NCwgMjI2LCA4LCAyMjYsIAotICAgIDE1MSwgMjMxLCA4NywgMjQ0LCA3MSwgNDMsIDIyNiwgOCwgMjI2LCAxNTEsIDIzMSwgODcsIDI0NCwgNzEsIDQ0LCAyMjYsIAotICAgIDgsIDIyNiwgMTUxLCAyMzEsIDg3LCAyMzMsIDQ4LCAyNTQsIDExOCwgMjUxLCAxNjYsIDIyNiwgMTUxLCAyMzEsIDg3LCAKLSAgICAyMjIsIDI1MCwgMjU0LCAxMTgsIDI1MSwgMTY2LCAyMjYsIDE1MSwgMTE0LCAyMzMsIDQ4LCAyNTQsIDExOCwgMjI0LCAxLCAKLSAgICAxNjQsIDIyNiwgMTUxLCAxMTQsIDIyMiwgMjUwLCAyNTQsIDExOCwgMjI0LCAxLCAxNjQsIDIyNiwgMTUxLCAxMTQsIDIzMywgCi0gICAgNDgsIDI1NCwgMTE4LCAyNTEsIDE2NiwgMjI2LCAxNTEsIDExNCwgMjIyLCAyNTAsIDI1NCwgMTE4LCAyNTEsIDE2NiwgMjI2LCAKLSAgICAxNTEsIDE5MywgNDMsIDIxNiwgNywgMjIwLCA1NSwgMjUxLCAxNjYsIDIyNiwgMTUxLCAxOTMsIDQ0LCAyMTYsIDcsIDIyMCwgCi0gICAgNTUsIDI1MSwgMTY2LCAyMjYsIDE1MSwgMjMxLCA4NywgNDMsIDI0OSwgMTA3LCAyNTEsIDE2NiwgMjI2LCAxNTEsIDIzMSwgCi0gICAgODcsIDQ0LCAyNDksIDEwNywgMjUxLCAxNjYsIDIyNiwgMTUxLCAyNDcsIDIxMiwgMTUyLCAzNywgMjEsIDExMSwgMjQ3LCAKLSAgICAyMTIsIDE1MiwgMzcsIDIxLCAxMDUsIDI0NywgMjEyLCAxNTIsIDM3LCAyMSwgMTU4LCAyNDcsIDIxMiwgMTUyLCAzNywgMjEsIAotICAgIDE2MSwgMjQ3LCAyMTIsIDE1MiwgMzcsIDIxLCAxOTAsIDI0NywgMjEyLCAxNTIsIDM3LCAyMSwgMTk1LCAyNDcsIDIxMiwgCi0gICAgMTUyLCAzNywgMjEsIDE5OSwgMjQ3LCAyMTIsIDE1MiwgMzcsIDIxLCAxOTYsIDI0NywgMjEyLCAxNTIsIDM3LCAyMSwgMjAxLCAKLSAgICAyNDcsIDIxMiwgMTUyLCAzNywgNTQsIDIxNiwgMjQ4LCAyNDcsIDIxMiwgMzcsIDM1LCAyMSwgMTExLCAyNDcsIDIxMiwgMzcsIAotICAgIDM1LCAyMSwgMTA1LCAyNDcsIDIxMiwgMzcsIDM1LCAyMSwgMTU4LCAyNDcsIDIxMiwgMzcsIDM1LCAyMSwgMTYxLCAyNDcsIAotICAgIDIxMiwgMzcsIDM1LCAyMSwgMTkwLCAyNDcsIDIxMiwgMzcsIDM1LCAyMSwgMTk1LCAyNDcsIDIxMiwgMzcsIDM1LCAyMSwgCi0gICAgMTk5LCAyNDcsIDIxMiwgMzcsIDM1LCAyMSwgMTk2LCAyNDcsIDIxMiwgMzcsIDM1LCAyMSwgMjAxLCAyNDcsIDIxMiwgMzcsIAotICAgIDM1LCA1NCwgMjE2LCAyNDgsIDI0NywgMjEyLCAxNTIsIDM3LCAzNSwgMjEsIDExMSwgMjQ3LCAyMTIsIDE1MiwgMzcsIDM1LCAKLSAgICAyMSwgMTA1LCAyNDcsIDIxMiwgMTUyLCAzNywgMzUsIDIxLCAxNTgsIDI0NywgMjEyLCAxNTIsIDM3LCAzNSwgMjEsIDE2MSwgCi0gICAgMjQ3LCAyMTIsIDE1MiwgMzcsIDM1LCAyMSwgMTkwLCAyNDcsIDIxMiwgMTUyLCAzNywgMzUsIDIxLCAxOTUsIDI0NywgMjEyLCAKLSAgICAxNTIsIDM3LCAzNSwgMjEsIDE5OSwgMjQ3LCAyMTIsIDE1MiwgMzcsIDM1LCAyMSwgMTk2LCAyNDcsIDIxMiwgMTUyLCAzNywgCi0gICAgMzUsIDIxLCAyMDEsIDI0NywgMjEyLCAxNTIsIDM3LCAzNSwgNTQsIDIxNiwgMjQ4LCAxMTQsIDIxMSwgMjQ2LCA5NywgNzUsIAotICAgIDExNCwgOTYsIDUwLCAxMTQsIDIzMCwgMTg3LCA1MCwgMTE0LCAyNDcsIDE3NywgNTAsIDExNCwgMjE5LCAzMCwgMjQ1LCAKLSAgICAyMjgsIDc1LCAxMTQsIDk3LCA3NSwgMTE0LCAyMjgsIDYxLCAyNDUsIDIyOCwgNzUsIDI0NiwgMTA2LCAyMjUsIDE0LCA5NywgCi0gICAgNzUsIDExNCwgMjIyLCAxODYsIDk3LCA3NSwgMjE1LCAyMjUsIDk3LCA3NSwgMTE0LCAyMTUsIDIyNSwgOTcsIDc1LCAyNDgsIAotICAgIDE2MywgMjE1LCAyMjUsIDk3LCA3NSwgMTE0LCAyNDgsIDE2MywgMjE1LCAyMjUsIDk3LCA3NSwgODUsIDk3LCA3NSwgMjE2LCAKLSAgICAxNDUsIDIxNiwgMTMsIDk3LCAyNTQsIDEsIDIxNiwgMTQ1LCAyNTEsIDE4MSwgOTcsIDI1NCwgMSwgODUsIDk3LCAyNTQsIDEsIAotICAgIDExNCwgODUsIDI0OSwgOTksIDI0NiwgMTEyLCAyMiwgOTcsIDc1LCAxMTQsIDg1LCAyNDksIDk5LCAyMTQsIDE1MywgMjIsIAotICAgIDk3LCA3NSwgMjE4LCAyMzMsIDg1LCA5NywgNzUsIDExNCwgMjQ5LCAyMTQsIDg1LCA5NywgNzUsIDIyMiwgMjQ5LCA3MSwgCi0gICAgOTcsIDc1LCAyMzMsIDQ3LCA3MSwgOTcsIDc1LCAyNTIsIDE5MSwgMjIwLCA5MywgNzEsIDk3LCA3NSwgMjQzLCAyNDksIAotICAgIDIyMCwgOTMsIDcxLCA5NywgNzUsIDExNCwgMjMyLCAxMTQsIDIyMiwgMjQ4LCA3MSwgOTcsIDc1LCAxMTQsIDIxNCwgMTYwLCAKLSAgICAyMjIsIDI0OCwgNzEsIDk3LCA3NSwgMjI4LCA1NCwgMjMyLCAxMTQsIDIyMiwgMjQ4LCA3MSwgOTcsIDc1LCAyNDksIDEwNywgCi0gICAgMjMyLCAxMjksIDIyOCwgNTQsIDIxNCwgMTYwLCAyMjIsIDI0OCwgNzEsIDk3LCA3NSwgMzcsIDExNCwgNzEsIDk3LCA3NSwgCi0gICAgMjExLCAyNTIsIDk3LCA3NSwgMjUxLCAyMjgsIDIxOSwgMzAsIDI0NSwgMjI4LCA3NSwgMjUxLCAyMjgsIDk3LCA3NSwgMjUxLCAKLSAgICAyMjgsIDIyOCwgNjEsIDI0NSwgMjI4LCA3NSwgMTE0LCAyNTEsIDIyOCwgMjE5LCAzMCwgMjQ1LCAyMjgsIDc1LCAxMTQsIAotICAgIDI1MSwgMjI4LCA5NywgNzUsIDExNCwgMjUxLCAyMjgsIDIyOCwgNjEsIDI0NSwgMjI4LCA3NSwgMjE3LCAxOCwgOTcsIDc1LCAKLSAgICAxMTQsIDIxNywgMTcsIDk3LCA3NSwgMjEyLCAxOCwgOTcsIDc1LCAxMTQsIDIxMiwgMTgsIDk3LCA3NSwgMjI2LCAxNzYsIAotICAgIDk3LCA3NSwgNTIsIDI0OSwgMTA3LCAyMzIsIDEyOSwgMTM0LCAyNDcsIDIyMiwgMjU0LCAxMTcsIDcxLCAyMTUsIDIyNywgCi0gICAgMjQ5LCAxOTUsIDQsIDcxLCAyMTUsIDIyNiwgMjI1LCAxNzQsIDIwNCwgMjE4LCA2NCwgMjA0LCAyMTgsIDIyLCA0MywgMjIyLCAKLSAgICA5MiwgMjUyLCAxODEsIDI0OCwgNjgsIDQ0LCAyMjIsIDkyLCAyNTIsIDE4MSwgMjQ4LCA2OCwgMTc3LCAyLCA1OSwgMjM1LCAKLSAgICAyMjIsIDIyMywgNTMsIDIxOSwgNDksIDIyNCwgMjA0LCAyMTgsIDY0LCAyMTgsIDIzLCAyMjQsIDIwNCwgMjE5LCA0OCwgNjcsIAotICAgIDI1MiwgMTQ5LCAyLCAyMDMsIDkxLCAxMSwgMjIyLCAyMzEsIDI0OCwgNiwgMjAwLCAyNDcsIDE3NiwgMTEsIDI0NCwgMTgzLCAKLSAgICAyNDgsIDYsIDkyLCAyMzIsIDE1MiwgMjU0LCAxMjYsIDkyLCAyMzIsIDE1MiwgMjI2LCAxNjIsIDcxLCAyNDgsIDEsIDIsIAotICAgIDI1MCwgMTgxLCAyNDcsIDEyOCwgMjIsIDIsIDI0NywgMTI4LCAyNDUsIDE3OCwgNjQsIDIyNiwgMTc0LCAyMTQsIDE1MiwgCi0gICAgMjMyLCAxMTQsIDQ0LCAyNDksIDE2OSwgMiwgMjQ3LCAxMjgsIDIxNCwgMTYwLCA0MywgMjQ5LCAxNjksIDIsIDI0NywgMTI4LCAKLSAgICA0MywgMjI2LCAxMzIsIDIzNSwgNzIsIDQ0LCAyMjYsIDEzMiwgMjM1LCA3MiwgMjQzLCAyMzYsIDIyNiwgMTMyLCAyMzUsIAotICAgIDcyLCAyMzMsIDkxLCAxMjAsIDIxNywgODgsIDIzMywgOTEsIDEyNCwgMjE3LCA4OCwgNDMsIDIyLCA0NCwgNTIsIDIxNSwgCi0gICAgOTMsIDQzLCAyMiwgNDQsIDIxNywgODgsIDQzLCAyMzAsIDkyLCAyMDAsIDQ0LCAyMTcsIDg4LCAyMDAsIDQzLCAyMTcsIDg4LCAKLSAgICAxMjAsIDIxNywgODksIDIsIDI1MCwgNDQsIDQ4LCAyMzIsIDExMSwgMjQ3LCAxODEsIDI1MSwgODYsIDIwMywgMjIyLCAxMzUsIAotICAgIDcxLCAyNDksIDIxMywgMjQ4LCAwLCA3MSwgMjQ5LCAyMTMsIDI0OCwgMSwgMiwgMTQwLCAyMTYsIDExNSwgNzEsIDI0OSwgCi0gICAgMjEzLCAyNDgsIDEsIDIsIDk3LCAyMTYsIDExNSwgNzEsIDQyLCAyLCAxNDAsIDIxNiwgMTE1LCA3MSwgNDIsIDIsIDk3LCAKLSAgICAyMTYsIDExNSwgMTEsIDQzLCA3MSwgNDIsIDEyNywgMTEsIDQ0LCA3MSwgNDIsIDEyNywgMTEsIDQzLCAyNTQsIDExOCwgCi0gICAgMTI3LCAxMSwgNDQsIDI1NCwgMTE4LCAxMjcsIDExLCA0MywgNTIsIDI1NCwgMTE4LCAxMjcsIDExLCA0NCwgNTIsIDI1NCwgCi0gICAgMTE4LCAxMjcsIDExLCA0MywgNzEsIDIxNiwgNywgMjIwLCA1NSwgMTI3LCAxMSwgNDQsIDcxLCAyMTYsIDcsIDIyMCwgNTUsIAotICAgIDEyNywgMTEsIDQzLCAyNDQsIDcxLCAyMjYsIDcsIDExLCA0NCwgMjQ0LCA3MSwgMjI2LCA3LCAyMTQsIDE1MywgMjI0LCAyNywgCi0gICAgNzUsIDI0NiwgMTEyLCAyMjQsIDI3LCA3NSwgMjU0LCA5NiwgMjQzLCAxMDUsIDI1MCwgNDQsIDc1LCAyNTAsIDEwLCAyNDMsIAotICAgIDEwNSwgMjUwLCA0NCwgNzUsIDQ0LCA4MCwgMiwgMzcsIDIyNSwgMjUsIDIwMCwgMTQwLCA3NSwgMjAwLCA5NywgNzUsIDIwMCwgCi0gICAgNDMsIDQ0LCA3NSwgMjAwLCAxNDAsIDUyLCA3NSwgMjAwLCA5NywgNTIsIDc1LCAyMDAsIDQzLCA0NCwgNTIsIDc1LCAyMDAsIAotICAgIDE0MCwgODAsIDI0MywgMjUxLCAxMzAsIDIwMCwgOTcsIDgwLCAyNDMsIDI1MSwgMTMwLCAyMDAsIDE0MCwgNTIsIDgwLCAKLSAgICAyNDMsIDI1MSwgMTMwLCAyMDAsIDk3LCA1MiwgODAsIDI0MywgMjUxLCAxMzAsIDIwMCwgOTcsIDIxOCwgMjMyLCA3NSwgNDYsIAotICAgIDQ3LCAyNTEsIDIyMywgNDYsIDQ3LCAyNDcsIDEyNSwgNDYsIDQ3LCAyNDYsIDI1MywgNDYsIDQ3LCAyNDcsIDEyNCwgNDYsIAotICAgIDQ3LCAyNDYsIDE4OSwgNDYsIDQ3LCAyNDcsIDYwLCA0NiwgNDcsIDI0NiwgMjUyLCA0NiwgNDcsIDI0NywgMTIzLCA0NiwgCi0gICAgNDcsIDI0NiwgMTU3LCA0NiwgNDcsIDI0NywgMjgsIDQ2LCA0NywgMjQ2LCAyMjAsIDQ2LCA0NywgMjQ3LCA5MSwgNDYsIDQ3LCAKLSAgICAyNDYsIDE4OCwgNDYsIDQ3LCAyNDcsIDU5LCA0NiwgNDcsIDI0NiwgMjUxLCA0NiwgNDcsIDI0NywgMTIyLCA0NiwgNDcsIAotICAgIDI0NiwgMTQxLCA0NiwgNDcsIDI0NywgMTIsIDQ2LCA0NywgMjQ2LCAyMDQsIDQ2LCA0NywgMjQ3LCA3NSwgNDYsIDQ3LCAKLSAgICAyNDYsIDE3MiwgNDYsIDQ3LCAyNDcsIDQzLCA0NiwgNDcsIDI0NiwgMjM1LCA0NiwgNDcsIDI0NywgMTA2LCA0NiwgNDcsIAotICAgIDI0NiwgMTU2LCA0NiwgNDcsIDI0NywgMjcsIDQ2LCA0NywgMjQ2LCAyMTksIDQ2LCA0NywgMjQ3LCA5MCwgNDYsIDQ3LCAKLSAgICAyNDYsIDE4NywgNDYsIDQ3LCAyNDcsIDU4LCA0NiwgNDcsIDI0NiwgMjUwLCA0NiwgNDcsIDI0NywgMTIxLCA0NiwgNDcsIAotICAgIDI0NiwgMTMzLCA0NiwgNDcsIDI0NywgNCwgNDYsIDQ3LCAyNDYsIDE5NiwgNDYsIDQ3LCAyNDcsIDY3LCA0NiwgNDcsIDI0NiwgCi0gICAgMTY0LCA0NiwgNDcsIDI0NywgMzUsIDQ2LCA0NywgMjQ2LCAyMjcsIDQ2LCA0NywgMjQ3LCA5OCwgNDYsIDQ3LCAyNDYsIAotICAgIDE0OCwgNDYsIDQ3LCAyNDcsIDE5LCA0NiwgNDcsIDI0NiwgMjExLCA0NiwgNDcsIDI0NywgODIsIDQ2LCA0NywgMjQ2LCAKLSAgICAxNzksIDQ2LCA0NywgMjQ3LCA1MCwgNDYsIDQ3LCAyNDYsIDI0MiwgNDYsIDQ3LCAyNDcsIDExMywgNDYsIDQ3LCAyNDYsIAotICAgIDE0MCwgNDYsIDQ3LCAyNDcsIDExLCA0NiwgNDcsIDI0NiwgMjAzLCA0NiwgNDcsIDI0NywgNzQsIDQ2LCA0NywgMjQ2LCAKLSAgICAxNzEsIDQ2LCA0NywgMjQ3LCA0MiwgNDYsIDQ3LCAyNDYsIDIzNCwgNDYsIDQ3LCAyNDcsIDEwNSwgNDYsIDQ3LCAyNDYsIAotICAgIDE1NSwgNDYsIDQ3LCAyNDcsIDI2LCA0NiwgNDcsIDI0NiwgMjE4LCA0NiwgNDcsIDI0NywgODksIDQ2LCA0NywgMjQ2LCAKLSAgICAxODYsIDQ2LCA0NywgMjQ3LCA1NywgNDYsIDQ3LCAyNDYsIDI0OSwgNDYsIDQ3LCAyNDcsIDEyMCwgNDYsIDQ3LCAyNDYsIAotICAgIDEyOSwgNDYsIDQ3LCAyNDcsIDAsIDQ2LCA0NywgMjQ2LCAxOTIsIDQ2LCA0NywgMjQ3LCA2MywgNDYsIDQ3LCAyNDYsIDE2MCwgCi0gICAgNDYsIDQ3LCAyNDcsIDMxLCA0NiwgNDcsIDI0NiwgMjIzLCA0NiwgNDcsIDI0NywgOTQsIDQ2LCA0NywgMjQ2LCAxNDQsIDQ2LCAKLSAgICA0NywgMjQ3LCAxNSwgNDYsIDQ3LCAyNDYsIDIwNywgNDYsIDQ3LCAyNDcsIDc4LCA0NiwgNDcsIDI0NiwgMTc1LCA0NiwgNDcsIAotICAgIDI0NywgNDYsIDQ2LCA0NywgMjQ2LCAyMzgsIDQ2LCA0NywgMjQ3LCAxMDksIDQ2LCA0NywgMjQ2LCAxMzYsIDQ2LCA0NywgCi0gICAgMjQ3LCA3LCA0NiwgNDcsIDI0NiwgMTk5LCA0NiwgNDcsIDI0NywgNzAsIDQ2LCA0NywgMjQ2LCAxNjcsIDQ2LCA0NywgMjQ3LCAKLSAgICAzOCwgNDYsIDQ3LCAyNDYsIDIzMCwgNDYsIDQ3LCAyNDcsIDEwMSwgNDYsIDQ3LCAyNDYsIDE1MSwgNDYsIDQ3LCAyNDcsIAotICAgIDIyLCA0NiwgNDcsIDI0NiwgMjE0LCA0NiwgNDcsIDI0NywgODUsIDQ2LCA0NywgMjQ2LCAxODIsIDQ2LCA0NywgMjQ3LCA1MywgCi0gICAgNDYsIDQ3LCAyNDYsIDI0NSwgNDYsIDQ3LCAyNDcsIDExNiwgNDYsIDQ3LCAyNDYsIDEzMiwgNDYsIDQ3LCAyNDcsIDMsIDQ2LCAKLSAgICA0NywgMjQ2LCAxOTUsIDQ2LCA0NywgMjQ3LCA2NiwgNDYsIDQ3LCAyNDYsIDE2MywgNDYsIDQ3LCAyNDcsIDM0LCA0NiwgNDcsIAotICAgIDI0NiwgMjI2LCA0NiwgNDcsIDI0NywgOTcsIDQ2LCA0NywgMjQ2LCAxNDcsIDQ2LCA0NywgMjQ3LCAxOCwgNDYsIDQ3LCAKLSAgICAyNDYsIDIxMCwgNDYsIDQ3LCAyNDcsIDgxLCA0NiwgNDcsIDI0NiwgMTc4LCA0NiwgNDcsIDI0NywgNDksIDQ2LCA0NywgCi0gICAgMjQ2LCAyNDEsIDQ2LCA0NywgMjQ3LCAxMTIsIDQ2LCA0NywgMjQ2LCAxMzksIDQ2LCA0NywgMjQ3LCAxMCwgNDYsIDQ3LCAKLSAgICAyNDYsIDIwMiwgNDYsIDQ3LCAyNDcsIDczLCA0NiwgNDcsIDI0NiwgMTcwLCA0NiwgNDcsIDI0NywgNDEsIDQ2LCA0NywgCi0gICAgMjQ2LCAyMzMsIDQ2LCA0NywgMjQ3LCAxMDQsIDQ2LCA0NywgMjQ2LCAxNTQsIDQ2LCA0NywgMjQ3LCAyNSwgNDYsIDQ3LCAKLSAgICAyNDYsIDIxNywgNDYsIDQ3LCAyNDcsIDg4LCA0NiwgNDcsIDI0NiwgMTg1LCA0NiwgNDcsIDI0NywgNTYsIDQ2LCA0NywgCi0gICAgMjQ2LCAyNDgsIDQ2LCA0NywgMjQ3LCAxMTksIDQ2LCA0NywgMjQ2LCAxMjcsIDQ2LCA0NywgMjQ2LCAyNTQsIDQ2LCA0NywgCi0gICAgMjQ2LCAxOTAsIDQ2LCA0NywgMjQ3LCA2MSwgNDYsIDQ3LCAyNDYsIDE1OCwgNDYsIDQ3LCAyNDcsIDI5LCA0NiwgNDcsIAotICAgIDI0NiwgMjIxLCA0NiwgNDcsIDI0NywgOTIsIDQ2LCA0NywgMjQ2LCAxNDIsIDQ2LCA0NywgMjQ3LCAxMywgNDYsIDQ3LCAKLSAgICAyNDYsIDIwNSwgNDYsIDQ3LCAyNDcsIDc2LCA0NiwgNDcsIDI0NiwgMTczLCA0NiwgNDcsIDI0NywgNDQsIDQ2LCA0NywgCi0gICAgMjQ2LCAyMzYsIDQ2LCA0NywgMjQ3LCAxMDcsIDQ2LCA0NywgMjQ2LCAxMzQsIDQ2LCA0NywgMjQ3LCA1LCA0NiwgNDcsIAotICAgIDI0NiwgMTk3LCA0NiwgNDcsIDI0NywgNjgsIDQ2LCA0NywgMjQ2LCAxNjUsIDQ2LCA0NywgMjQ3LCAzNiwgNDYsIDQ3LCAKLSAgICAyNDYsIDIyOCwgNDYsIDQ3LCAyNDcsIDk5LCA0NiwgNDcsIDI0NiwgMTQ5LCA0NiwgNDcsIDI0NywgMjAsIDQ2LCA0NywgCi0gICAgMjQ2LCAyMTIsIDQ2LCA0NywgMjQ3LCA4MywgNDYsIDQ3LCAyNDYsIDE4MCwgNDYsIDQ3LCAyNDcsIDUxLCA0NiwgNDcsIAotICAgIDI0NiwgMjQzLCA0NiwgNDcsIDI0NywgMTE0LCA0NiwgNDcsIDI0NiwgMTMwLCA0NiwgNDcsIDI0NywgMSwgNDYsIDQ3LCAKLSAgICAyNDYsIDE5MywgNDYsIDQ3LCAyNDcsIDY0LCA0NiwgNDcsIDI0NiwgMTYxLCA0NiwgNDcsIDI0NywgMzIsIDQ2LCA0NywgCi0gICAgMjQ2LCAyMjQsIDQ2LCA0NywgMjQ3LCA5NSwgNDYsIDQ3LCAyNDYsIDE0NSwgNDYsIDQ3LCAyNDcsIDE2LCA0NiwgNDcsIAotICAgIDI0NiwgMjA4LCA0NiwgNDcsIDI0NywgNzksIDQ2LCA0NywgMjQ2LCAxNzYsIDQ2LCA0NywgMjQ3LCA0NywgNDYsIDQ3LCAKLSAgICAyNDYsIDIzOSwgNDYsIDQ3LCAyNDcsIDExMCwgNDYsIDQ3LCAyNDYsIDEzNywgNDYsIDQ3LCAyNDcsIDgsIDQ2LCA0NywgCi0gICAgMjQ2LCAyMDAsIDQ2LCA0NywgMjQ3LCA3MSwgNDYsIDQ3LCAyNDYsIDE2OCwgNDYsIDQ3LCAyNDcsIDM5LCA0NiwgNDcsIAotICAgIDI0NiwgMjMxLCA0NiwgNDcsIDI0NywgMTAyLCA0NiwgNDcsIDI0NiwgMTUyLCA0NiwgNDcsIDI0NywgMjMsIDQ2LCA0NywgCi0gICAgMjQ2LCAyMTUsIDQ2LCA0NywgMjQ3LCA4NiwgNDYsIDQ3LCAyNDYsIDE4MywgNDYsIDQ3LCAyNDcsIDU0LCA0NiwgNDcsIAotICAgIDI0NiwgMjQ2LCA0NiwgNDcsIDI0NywgMTE3LCA0NiwgNDcsIDI0NiwgMTI4LCA0NiwgNDcsIDI0NiwgMjU1LCA0NiwgNDcsIAotICAgIDI0NiwgMTkxLCA0NiwgNDcsIDI0NywgNjIsIDQ2LCA0NywgMjQ2LCAxNTksIDQ2LCA0NywgMjQ3LCAzMCwgNDYsIDQ3LCAKLSAgICAyNDYsIDIyMiwgNDYsIDQ3LCAyNDcsIDkzLCA0NiwgNDcsIDI0NiwgMTQzLCA0NiwgNDcsIDI0NywgMTQsIDQ2LCA0NywgCi0gICAgMjQ2LCAyMDYsIDQ2LCA0NywgMjQ3LCA3NywgNDYsIDQ3LCAyNDYsIDE3NCwgNDYsIDQ3LCAyNDcsIDQ1LCA0NiwgNDcsIAotICAgIDI0NiwgMjM3LCA0NiwgNDcsIDI0NywgMTA4LCA0NiwgNDcsIDI0NiwgMTM1LCA0NiwgNDcsIDI0NywgNiwgNDYsIDQ3LCAKLSAgICAyNDYsIDE5OCwgNDYsIDQ3LCAyNDcsIDY5LCA0NiwgNDcsIDI0NiwgMTY2LCA0NiwgNDcsIDI0NywgMzcsIDQ2LCA0NywgCi0gICAgMjQ2LCAyMjksIDQ2LCA0NywgMjQ3LCAxMDAsIDQ2LCA0NywgMjQ2LCAxNTAsIDQ2LCA0NywgMjQ3LCAyMSwgNDYsIDQ3LCAKLSAgICAyNDYsIDIxMywgNDYsIDQ3LCAyNDcsIDg0LCA0NiwgNDcsIDI0NiwgMTgxLCA0NiwgNDcsIDI0NywgNTIsIDQ2LCA0NywgCi0gICAgMjQ2LCAyNDQsIDQ2LCA0NywgMjQ3LCAxMTUsIDQ2LCA0NywgMjQ2LCAxMzEsIDQ2LCA0NywgMjQ3LCAyLCA0NiwgNDcsIAotICAgIDI0NiwgMTk0LCA0NiwgNDcsIDI0NywgNjUsIDQ2LCA0NywgMjQ2LCAxNjIsIDQ2LCA0NywgMjQ3LCAzMywgNDYsIDQ3LCAKLSAgICAyNDYsIDIyNSwgNDYsIDQ3LCAyNDcsIDk2LCA0NiwgNDcsIDI0NiwgMTQ2LCA0NiwgNDcsIDI0NywgMTcsIDQ2LCA0NywgCi0gICAgMjQ2LCAyMDksIDQ2LCA0NywgMjQ3LCA4MCwgNDYsIDQ3LCAyNDYsIDE3NywgNDYsIDQ3LCAyNDcsIDQ4LCA0NiwgNDcsIAotICAgIDI0NiwgMjQwLCA0NiwgNDcsIDI0NywgMTExLCA0NiwgNDcsIDI0NiwgMTM4LCA0NiwgNDcsIDI0NywgOSwgNDYsIDQ3LCAKLSAgICAyNDYsIDIwMSwgNDYsIDQ3LCAyNDcsIDcyLCA0NiwgNDcsIDI0NiwgMTY5LCA0NiwgNDcsIDI0NywgNDAsIDQ2LCA0NywgCi0gICAgMjQ2LCAyMzIsIDQ2LCA0NywgMjQ3LCAxMDMsIDQ2LCA0NywgMjQ2LCAxNTMsIDQ2LCA0NywgMjQ3LCAyNCwgNDYsIDQ3LCAKLSAgICAyNDYsIDIxNiwgNDYsIDQ3LCAyNDcsIDg3LCA0NiwgNDcsIDI0NiwgMTg0LCA0NiwgNDcsIDI0NywgNTUsIDQ2LCA0NywgCi0gICAgMjQ2LCAyNDcsIDQ2LCA0NywgMjQ3LCAxMTgsIDk3LCAyMTUsIDU4LCA4MCwgMiwgNjcsIDkxLCA5NywgMjE1LCA1OCwgODAsIAotICAgIDIsIDUyLCA2NywgOTEsIDE0MCwgNTIsIDgwLCAyLCA2NywgOTEsIDk3LCA1MiwgODAsIDIsIDY3LCA5MSwgNDMsIDQ0LCA1MiwgCi0gICAgODAsIDIsIDY3LCA5MSwgOTcsIDIxNSwgNTgsIDgwLCAyNDMsIDI1MSwgMTMwLCAxNDAsIDUyLCA4MCwgMjQzLCAyNTEsIAotICAgIDEzMCwgOTcsIDUyLCA4MCwgMjQzLCAyNTEsIDEzMCwgMjQ2LCAxMTIsIDgwLCAyLCAyMDMsIDkxLCAyMTQsIDE1MywgODAsIAotICAgIDIsIDIwMywgOTEsIDIxNCwgMTUzLCAyMTUsIDIxMiwgNzUsIDI0NiwgMTEyLCAyMTUsIDIxMiwgNzUsIDE0MCwgNTIsIDI0OCwgCi0gICAgMTY1LCA3NSwgOTcsIDUyLCAyNDgsIDE2NSwgNzUsIDE0MCwgMjE1LCAyMTIsIDI0OCwgMTY1LCA3NSwgOTcsIDIxNSwgMjEyLCAKLSAgICAyNDgsIDE2NSwgNzUsIDk3LCAyMTUsIDU4LCAyMTUsIDIxMiwgMjQ4LCAxNjUsIDc1LCA5NywgODAsIDIsIDI0NiwgMTI2LCAKLSAgICAyMTgsIDE0MSwgMjE0LCAxNTMsIDgwLCAyMTYsIDQzLCAxMzAsIDI0NiwgMTEyLCA4MCwgMjE2LCA0MywgMTMwLCA5NywgODAsIAotICAgIDIsIDIxNywgNzksIDIsIDY3LCA5MSwgOTcsIDgwLCAyLCAyMTcsIDc5LCAyLCA1MiwgNjcsIDkxLCA5NywgMjE1LCA1OCwgCi0gICAgODAsIDIsIDIxNywgNzgsIDk3LCAyMTUsIDU4LCA4MCwgMiwgMjE3LCA3OSwgMiwgNjcsIDkxLCA5NywgMjE1LCA1OCwgODAsIAotICAgIDIsIDIxNywgNzksIDIsIDUyLCA2NywgOTEsIDE0MCwgMjU0LCAzLCA5NywgMjU0LCAzLCAxNDAsIDUyLCAyNTQsIDMsIDk3LCAKLSAgICA1MiwgMjU0LCAzLCAxNDAsIDgwLCAyMTYsIDQzLCA4NSwgMjQ4LCAwLCA5NywgODAsIDIxNiwgNDMsIDg1LCAyNDgsIDAsIAotICAgIDE0MCwgODAsIDI0MywgMjUxLCAyNTIsIDE0OSwgMjE2LCA0MywgODUsIDI0OCwgMCwgOTcsIDgwLCAyNDMsIDI1MSwgMjUyLCAKLSAgICAxNDksIDIxNiwgNDMsIDg1LCAyNDgsIDAsIDIyOCwgNjEsIDIxMiwgOSwgMjIsIDIxOSwgMzAsIDI0NSwgMjI4LCA3NSwgCi0gICAgMjI4LCA2MSwgMjQ1LCAyMjgsIDIyLCAyMTksIDMwLCAyMTIsIDksIDc1LCAyMjgsIDYxLCAyMTIsIDksIDgwLCAyLCAxMDMsIAotICAgIDIyOCwgNjEsIDI0NSwgMjI4LCA4MCwgMiwgMTAzLCAyMTksIDMwLCAyNDUsIDIyOCwgODAsIDIsIDEwMywgMjE5LCAzMCwgCi0gICAgMjEyLCA5LCA4MCwgMiwgMTAzLCAyMjgsIDYxLCAyMTIsIDksIDgwLCAyMiwgMjI4LCA2MSwgMjQ1LCAyMjgsIDc1LCAyMjgsIAotICAgIDYxLCAyNDUsIDIyOCwgODAsIDIyLCAyMTksIDMwLCAyNDUsIDIyOCwgNzUsIDIxOSwgMzAsIDI0NSwgMjI4LCA4MCwgMjIsIAotICAgIDIxOSwgMzAsIDIxMiwgOSwgNzUsIDIxOSwgMzAsIDIxMiwgOSwgODAsIDIyLCAyMjgsIDYxLCAyMTIsIDksIDc1LCAyMjIsIAotICAgIDIzMSwgMjQ4LCA3LCAyNDksIDEzMywgMjQ0LCAxODMsIDI0OCwgNiwgMjQ0LCAxODMsIDI0OCwgNywgMjQ5LCAxMzMsIDIyMiwgCi0gICAgMjMxLCAyNDgsIDYsIDIxOSwgMzAsIDI0NSwgMjI4LCA4MCwgMjQ5LCAxMzMsIDIyOCwgNjEsIDI0NSwgMjI4LCA3NSwgMjI4LCAKLSAgICA2MSwgMjQ1LCAyMjgsIDgwLCAyNDksIDEzMywgMjE5LCAzMCwgMjQ1LCAyMjgsIDc1LCAyNDQsIDE4MywgMjQ4LCA3LCAyNDksIAotICAgIDEzMywgMjI4LCA2MSwgMjQ1LCAyMjgsIDc1LCAyMjIsIDIzMSwgMjQ4LCA3LCAyNDksIDEzMywgMjE5LCAzMCwgMjQ1LCAKLSAgICAyMjgsIDc1LCAyMjgsIDYxLCAyNDUsIDIyOCwgODAsIDI0OSwgMTMzLCAyMjgsIDYxLCAyMTIsIDksIDc1LCAyMjgsIDYxLCAKLSAgICAyMTIsIDksIDgwLCAyNDksIDEzMywgMjI4LCA2MSwgMjQ1LCAyMjgsIDc1LCAyMTIsIDM2LCA4MCwgMjI1LCAxMCwgMjQ3LCAKLSAgICAyMDMsIDIyMiwgMjU0LCA4MCwgMjI1LCAxMCwgOTcsIDIxNiwgMTg5LCAyNDksIDk4LCAyMTQsIDE1MiwgODAsIDIyNSwgMTAsIAotICAgIDk3LCAyMTYsIDE4OSwgMjQ5LCA5OCwgMjQ2LCAxMTEsIDgwLCAyMjUsIDEwLCAyNDYsIDExMiwgMjE2LCAxODksIDI0OSwgCi0gICAgOTgsIDIzMywgNDMsIDgwLCAyMjUsIDEwLCAyNDYsIDExMiwgMjE2LCAxODksIDI0OSwgOTgsIDIyMiwgMjQ0LCAyMjIsIAotICAgIDI0NywgMjU0LCAzNCwgMjUwLCAxMCwgNzUsIDIzMywgNDYsIDI1NCwgMzQsIDI1NCwgOTYsIDc1LCAyMTYsIDE1LCAyNTQsIAotICAgIDM0LCAyNTQsIDk2LCA3NSwgMjUxLCAxODMsIDI1NCwgMzQsIDI1NCwgOTYsIDc1LCAyMTYsIDE1LCAyNTQsIDM0LCAyNTAsIAotICAgIDEwLCA4MCwgMiwgMjMwLCAxODYsIDIxNiwgMTUsIDI1NCwgMzQsIDI1NCwgOTYsIDgwLCAyLCAyMjUsIDI1LCAyMzIsIDExNCwgCi0gICAgNDQsIDIyMCwgMTU0LCAyNTAsIDEwLCA3NSwgMjMyLCAxMTQsIDQzLCAyMjAsIDE1NCwgMjU0LCA5NiwgNzUsIDI1NCwgOTYsIAotICAgIDI1MCwgOCwgMjUwLCA0NCwgNzUsIDI1MCwgMTAsIDI1MCwgOCwgMjUwLCA0NCwgNzUsIDk3LCA4MCwgNzIsIDIxOSwgMjUzLCAKLSAgICAxNDAsIDc1LCAxNDAsIDgwLCA3MiwgMjE5LCAyNTMsIDk3LCA3NSwgMjE5LCAyNTMsIDk3LCA4MCwgNzIsIDE0MCwgNzUsIAotICAgIDk3LCA4MCwgMiwgOTYsIDUxLCAxNDAsIDgwLCAyLCA5NiwgNTEsIDk3LCA4MCwgMjE2LCAxNDAsIDIxMSwgMTc4LCA0MywgCi0gICAgNDQsIDgwLCAyMTYsIDE0MCwgNCwgMjUwLCA0MywgMjE0LCAxNTMsIDIxNSwgNTgsIDgwLCAyNDMsIDI1MSwgNCwgMjUwLCAKLSAgICA0MywgNDMsIDI1MiwgMTQ3LCAxMjAsIDQ0LCAyNTIsIDE0NywgMTI0LCAyNDIsIDUsIDQzLCAyNTIsIDE0NywgMTI0LCA0NCwgCi0gICAgMjUyLCAxNDcsIDEyMCwgMjQyLCA1LCAxMjAsIDI1MiwgMTQ3LCA0NCwgMTI0LCAyNTIsIDE0NywgNDMsIDI0MiwgNSwgMTIwLCAKLSAgICAyNTIsIDE0NywgNDMsIDEyNCwgMjUyLCAxNDcsIDQ0LCAyNDIsIDUsIDQzLCAyNTIsIDE0NywgMTIwLCA0NCwgMjUyLCAxNDcsIAotICAgIDEyMCwgMjQyLCA1LCAxMjAsIDI1MiwgMTQ3LCA0NCwgMTI0LCAyNTIsIDE0NywgNDQsIDI0MiwgNSwgNDMsIDI1MiwgMTQ3LCAKLSAgICAxMjQsIDQ0LCAyNTIsIDE0NywgMTI0LCAyNDIsIDUsIDEyMCwgMjUyLCAxNDcsIDQzLCAxMjQsIDI1MiwgMTQ3LCA0MywgCi0gICAgMjQyLCA1LCAxNDAsIDI0MiwgNiwgMiwgMjUyLCAxNDcsIDEyMCwgMjE2LCA0MywgMTMwLCA5NywgMjQyLCA2LCAyLCAyNTIsIAotICAgIDE0NywgMTIwLCAyMTYsIDQzLCAxMzAsIDIxNCwgMTUzLCAyNDIsIDYsIDIsIDI1MiwgMTQ3LCA0NCwgMjE2LCA0MywgMTMwLCAKLSAgICAyNDYsIDExMiwgMjQyLCA2LCAyLCAyNTIsIDE0NywgNDQsIDIxNiwgNDMsIDEzMCwgMTQwLCAyNDIsIDYsIDIsIDI1MiwgCi0gICAgMTQ3LCAxMjQsIDIxNiwgNDMsIDEzMCwgOTcsIDI0MiwgNiwgMiwgMjUyLCAxNDcsIDEyNCwgMjE2LCA0MywgMTMwLCAyMTQsIAotICAgIDE1MywgMjQyLCA2LCAyLCAyNTIsIDE0NywgNDMsIDIxNiwgNDMsIDEzMCwgMjQ2LCAxMTIsIDI0MiwgNiwgMiwgMjUyLCAKLSAgICAxNDcsIDQzLCAyMTYsIDQzLCAxMzAsIDE0MCwgMjQyLCA2LCAyLCAyNTIsIDE0NywgMTIwLCAyNDMsIDI1MSwgMTMwLCA5NywgCi0gICAgMjQyLCA2LCAyLCAyNTIsIDE0NywgMTIwLCAyNDMsIDI1MSwgMTMwLCAyMTQsIDE1MywgMjQyLCA2LCAyLCAyNTIsIDE0NywgCi0gICAgNDQsIDI0MywgMjUxLCAxMzAsIDI0NiwgMTEyLCAyNDIsIDYsIDIsIDI1MiwgMTQ3LCA0NCwgMjQzLCAyNTEsIDEzMCwgMTQwLCAKLSAgICAyNDIsIDYsIDIsIDI1MiwgMTQ3LCAxMjQsIDI0MywgMjUxLCAxMzAsIDk3LCAyNDIsIDYsIDIsIDI1MiwgMTQ3LCAxMjQsIAotICAgIDI0MywgMjUxLCAxMzAsIDIxNCwgMTUzLCAyNDIsIDYsIDIsIDI1MiwgMTQ3LCA0MywgMjQzLCAyNTEsIDEzMCwgMjQ2LCAKLSAgICAxMTIsIDI0MiwgNiwgMiwgMjUyLCAxNDcsIDQzLCAyNDMsIDI1MSwgMTMwLCAxNDAsIDI0MiwgNiwgMiwgMjUyLCAxNDcsIAotICAgIDEyMCwgNzIsIDE0MCwgMjQyLCA2LCAyLCAyNTIsIDE0NywgMjQ2LCAxMTQsIDIxNCwgMTUzLCAyNDIsIDYsIDIsIDI1MiwgCi0gICAgMTQ3LCA0MywgMjUyLCAzOCwgMjE0LCAxNTMsIDI0MiwgNiwgMiwgMjUyLCAxNDcsIDIyMiwgMjU0LCA5NywgMjQyLCA2LCAyLCAKLSAgICAyNTIsIDE0NywgMTIwLCA3MiwgOTcsIDI0MiwgNiwgMiwgMjUyLCAxNDcsIDI0NiwgMTE0LCAyNDYsIDExMiwgMjQyLCA2LCAKLSAgICAyLCAyNTIsIDE0NywgNDMsIDI1MiwgMzgsIDI0NiwgMTEyLCAyNDIsIDYsIDIsIDI1MiwgMTQ3LCAyMjIsIDI1NCwgMTQwLCAKLSAgICAyNDIsIDYsIDIsIDI1MiwgMTQ3LCAxMjAsIDcyLCA5NywgMjQyLCA2LCAyLCAyNTIsIDE0NywgMjE0LCAxNjMsIDE0MCwgCi0gICAgMjQyLCA2LCAyLCAyNTIsIDE0NywgMTI0LCA3MiwgOTcsIDI0MiwgNiwgMiwgMjUyLCAxNDcsIDI0NiwgMTE0LCA5NywgMjQyLCAKLSAgICA2LCAyLCAyNTIsIDE0NywgMTIwLCA3MiwgMTQwLCAyNDIsIDYsIDIsIDI1MiwgMTQ3LCAyMTQsIDE2MywgOTcsIDI0MiwgNiwgCi0gICAgMiwgMjUyLCAxNDcsIDEyNCwgNzIsIDE0MCwgMjQyLCA2LCAyLCAyNTIsIDE0NywgMjQ2LCAxMTQsIDE0MCwgMjQyLCA2LCAyLCAKLSAgICAyNTIsIDE0NywgMTIwLCA3MiwgMjAwLCAyNDgsIDE2NCwgMTQwLCAyNDIsIDYsIDIsIDI1MiwgMTQ3LCAxMjQsIDI1MiwgNTEsIAotICAgIDIwMCwgMjQ4LCAxNjQsIDk3LCAyNDIsIDYsIDIsIDI1MiwgMTQ3LCAxMjAsIDcyLCAyMDAsIDI0OCwgMTY0LCA5NywgMjQyLCAKLSAgICA2LCAyLCAyNTIsIDE0NywgMTI0LCAyNTIsIDUxLCAyMDAsIDI0OCwgMTY0LCAyMTQsIDE1MywgMjQyLCA2LCAyLCAyNTIsIAotICAgIDE0NywgNDMsIDI1MiwgMzgsIDI0NiwgMTEyLCAyNDIsIDYsIDIsIDI1MiwgMTQ3LCAyMjIsIDI1NCwgMjQ2LCAxMTIsIDI0MiwgCi0gICAgNiwgMiwgMjUyLCAxNDcsIDQzLCAyNTIsIDM4LCAyMTQsIDE1MywgMjQyLCA2LCAyLCAyNTIsIDE0NywgMjIyLCAyNTQsIDQ0LCAKLSAgICA1MiwgODAsIDIsIDIyMiwgMTg1LCAyNDEsIDI0MiwgMjQ1LCAxMDYsIDUsIDcyLCA5NywgNzUsIDIxNiwgOTAsIDIyNiwgCi0gICAgMTcyLCA3MiwgOTcsIDc1LCAxNDAsIDgwLCA3MiwgMjE2LCA5MCwgMjI2LCAxNzEsIDk3LCA4MCwgNzIsIDIxNiwgOTAsIAotICAgIDIyNiwgMTcxLCA5NywgODAsIDcyLCAyNTQsIDE1NiwgMTI4LCAxMTIsIDIzMywgMjEsIDcyLCAxNDAsIDc1LCAxNDAsIDgwLCAKLSAgICAyMTYsIDE0MCwgMjMzLCAyMCwgMjQyLCAxMzcsIDcyLCA5NywgNzUsIDIxOCwgNjUsIDcyLCA5NywgNzUsIDE0MCwgODAsIAotICAgIDIxNiwgMTQwLCAyMTgsIDY0LCAyMTgsIDIzLCA3MiwgMTQwLCA3NSwgNDMsIDI0NCwgOTksIDIxNywgNzgsIDQ0LCAyNDQsIAotICAgIDk5LCAyMTcsIDc4LCAxMjAsIDI0NCwgOTksIDIxNywgNzgsIDEyNCwgMjQ0LCA5OSwgMjE3LCA3OCwgMjE1LCAyMTIsIDY3LCAKLSAgICAyNTIsIDE0OSwgMjQ4LCA2OCwgMjEwLCAxNjAsIDE4OSwgMjE4LCAyNDQsIDIxMCwgMTYwLCAxODksIDIxNSwgNDksIDI0OSwgCi0gICAgMjM0LCA0MywgNzEsIDI0OSwgMTA3LCAxMjcsIDQ0LCA3MSwgMjQ5LCAxMDcsIDEyNywgNDMsIDcxLCAyMjYsIDcsIDQ0LCAKLSAgICA3MSwgMjI2LCA3LCAyMTAsIDE2MCwgMTg5LCA0MywgMjM2LCAyMiwgMTI3LCAyMTAsIDE2MCwgMTg5LCA0NCwgMjM2LCAyMiwgCi0gICAgMTI3LCAyMTAsIDE2MCwgMTg5LCA0MywgMjUxLCAyNTAsIDEyNywgMjEwLCAxNjAsIDE4OSwgNDQsIDI1MSwgMjUwLCAxMjcsIAotICAgIDQzLCA0MiwgMjUxLCAxNjYsIDIsIDIxNCwgMTgzLCA0NCwgNDIsIDI1MSwgMTY2LCAyLCAyMTQsIDE4MywgNDMsIDQyLCAKLSAgICAyNTEsIDE2NiwgMiwgMjE2LCAxMTYsIDIzNiwgNywgMjE2LCAxNSwgMjQ5LCAxNjgsIDQ0LCA0MiwgMjUxLCAxNjYsIDIsIAotICAgIDIxNiwgMTE2LCAyMzYsIDcsIDI1MSwgMTgzLCAyNDksIDE2OCwgNDMsIDQyLCAyNTEsIDE2NiwgMiwgMjE2LCAxMTYsIDIzNiwgCi0gICAgNywgMjUxLCAxODMsIDI0OSwgMTY4LCA0NCwgNDIsIDI1MSwgMTY2LCAyLCAyMTYsIDExNiwgMjM2LCA3LCAyMTYsIDE1LCAKLSAgICAyNDksIDE2OCwgNDMsIDI1NCwgMTE4LCAyNTEsIDE2NiwgMiwgMjQ3LCAxMjgsIDQ0LCAyNTQsIDExOCwgMjUxLCAxNjYsIDIsIAotICAgIDI0NywgMTI4LCA0MywgMjU0LCAzNCwgMjMzLCAyMSwgMTI3LCA0NCwgMjU0LCAzNCwgMjQyLCAxMzcsIDEyNywgNTIsIDQzLCAKLSAgICAyNTQsIDM0LCAyNDIsIDEzNywgMTI3LCA1MiwgNDQsIDI1NCwgMzQsIDIzMywgMjEsIDEyNywgNDMsIDg1LCAyMTYsIDcsIAotICAgIDIyMCwgNTUsIDEyNywgNDQsIDg1LCAyMTYsIDcsIDIyMCwgNTUsIDEyNywgMjQ2LCAxMjYsIDI0NCwgMTQzLCA2NywgMjEwLCAKLSAgICAzNSwgMjMyLCAyMTksIDIzMSwgOTMsIDI1NCwgMTE4LCAyMjYsIDE3NCwgMjMzLCA1MiwgNDQsIDI1NCwgMTE4LCAyMTQsIAotICAgIDEyLCAyLCAyMTgsIDIzNiwgMjMxLCA5MywgNDQsIDI1NCwgMTE4LCAyLCAyNDcsIDEyOCwgMjU0LCAxMTgsIDIsIDIyMiwgCi0gICAgOTQsIDIzNSwgMjIyLCAyNTUsIDEyLCAyNTQsIDExNywgMjE5LCAxLCAyNTQsIDExOCwgMjI2LCAxNzQsIDIzMywgNTIsIAotICAgIDIxOSwgMSwgMjU0LCAxMTgsIDIyNiwgMTc0LCAyMTQsIDE2MywgMjE1LCA5NCwgMjU0LCAxMTcsIDIyMywgNTIsIDI1NCwgCi0gICAgMTE3LCAyNTQsIDExOCwgMiwgMjE0LCAxODMsIDIyMywgNTIsIDI1NCwgMTE4LCAyLCAyMTQsIDE4MywgMjI2LCAyNTIsIAotICAgIDI1NCwgMTE4LCAyMjYsIDE3NCwgMjE0LCAxNjMsIDIyNiwgMjUyLCAyNTQsIDExOCwgMjI2LCAxNzQsIDI0NiwgMTE0LCAKLSAgICAyMzEsIDkzLCAyNTQsIDExOCwgMiwgMjA0LCAyNTQsIDEzLCAyNDUsIDE0OCwgMjM2LCA3LCA4MCwgMjI1LCAxMCwgMTIwLCAKLSAgICAyMiwgMjIyLCAyNTQsIDIzMSwgOTMsIDI1NCwgMTE4LCAyLCAyMDQsIDI1NCwgMTMsIDI0NSwgMTQ4LCAyMzYsIDcsIDgwLCAKLSAgICAyMjUsIDEwLCAxMjAsIDIyLCAyMzMsIDUyLCAyMzEsIDkzLCAyNTQsIDExOCwgMiwgMjA0LCAyNTQsIDEzLCAyNDUsIDE0OCwgCi0gICAgMjM2LCA3LCA4MCwgMjI1LCAxMCwgMTI0LCAyMiwgMjIyLCAyNTQsIDIzMSwgOTMsIDI1NCwgMTE4LCAyLCAyMDQsIDI1NCwgCi0gICAgMTMsIDI0NSwgMTQ4LCAyMzYsIDcsIDgwLCAyMjUsIDEwLCAxMjQsIDIyLCAyMzMsIDUyLCAyMzEsIDkzLCAyNTQsIDExOCwgCi0gICAgMiwgMjA0LCAyNTQsIDEzLCAyNDUsIDE0OCwgMjM2LCA3LCA4MCwgMjI1LCAxMCwgNDQsIDIyLCAyMTQsIDE2MywgMjMxLCAKLSAgICA5MywgMjU0LCAxMTgsIDIsIDIwNCwgMjU0LCAxMywgMjQ1LCAxNDgsIDIzNiwgNywgODAsIDIyNSwgMTAsIDQzLCAyMiwgCi0gICAgMjE0LCAxNjMsIDIzMSwgOTMsIDI1NCwgMTE4LCAyLCAyMDQsIDI1NCwgMTMsIDI0NSwgMTQ4LCAyMzYsIDcsIDgwLCAyMjUsIAotICAgIDEwLCA0NCwgMjIsIDI0NiwgMTE0LCAyMzEsIDkzLCAyNTQsIDExOCwgMiwgMjA0LCAyNTQsIDEzLCAyNDUsIDE0OCwgMjM2LCAKLSAgICA3LCA4MCwgMjI1LCAxMCwgNDMsIDIyLCAyNDYsIDExNCwgMjIzLCA1MiwgMjQ1LCAxNjAsIDIyMCwgMTI5LCAyNDUsIDE2MCwgCi0gICAgMjIwLCAxMzAsIDIsIDIyNiwgMTI3LCAyNDUsIDE2MCwgMjIwLCAxMzAsIDIsIDQsIDI1MCwgNDQsIDQ4LCAyNDUsIDE2MCwgCi0gICAgMjIwLCAxMzAsIDIsIDQ0LCA4MCwgNDgsIDI0NSwgMTYwLCAyMjAsIDEzMCwgMiwgNDMsIDgwLCA0OCwgMjUwLCA0NCwgMiwgCi0gICAgMjAzLCAxMzAsIDM3LCA2NywgMTMwLCAzNywgMjI2LCAxMSwgMzcsIDIyMywgNTMsIDIxOSwgNDgsIDM3LCAyMjUsIDE3NCwgCi0gICAgMjUwLCA0NCwgMjQ3LCAxODEsIDI1MSwgODYsIDIwMywgMjUyLCAxNDksIDIyLCAyMTYsIDE1LCAxNjMsIDI0NywgMTgxLCAKLSAgICAyNTEsIDg2LCA2NywgMTMwLCAyNTAsIDQ0LCAyLCAyMTgsIDI1LCAyMTEsIDE3OCwgMzcsIDI1NCwgOTUsIDI0NywgMTc3LCAKLSAgICA1MCwgMTIwLCA4MCwgMjE2LCAxNDAsIDI1MCwgNDMsIDM3LCA3MSwgMjUxLCAxMjEsIDM3LCAyNTEsIDEyMSwgMzcsIDIzMywgCi0gICAgMjAsIDM3LCAyNDIsIDEzNiwgMjUwLCA0NCwgMiwgNCwgMjUwLCA0NCwgMjE2LCA0MywgMjE2LCAxOTcsIDIyMiwgMjU0LCAKLSAgICAyNTAsIDQ0LCAyLCAxMTMsIDIwMywgMjE4LCA5MywgMjE2LCA0MywgMjE2LCAxOTcsIDIyMiwgMjU0LCA5MiwgMjIyLCAyMzEsIAotICAgIDI0OCwgNywgMjE5LCA5NywgOTIsIDI0NCwgMTgzLCAyNDgsIDcsIDIxOSwgOTcsIDkyLCAyNTMsIDIyNCwgOTIsIDQsIDI1MCwgCi0gICAgNDMsIDkyLCAyMTgsIDIzNiwgMTEzLCAyMzUsIDcxLCAyMTgsIDIzNCwgMjE1LCAyMjcsIDIsIDU5LCA0OCwgMjE1LCAyMjcsIAotICAgIDIsIDIxNCwgMTgzLCAyMjIsIDk0LCAyMzYsIDcsIDIxNSwgMjI2LCAyMTUsIDIyNywgMiwgMjIwLCAxMzYsIDI1MywgMjE1LCAKLSAgICAyNTEsIDE4MiwgNDQsIDIxNSwgMjI3LCA3MiwgNDMsIDIxNSwgMjI2LCA0MywgMjE1LCAyMjcsIDI1MiwgMzgsIDY3LCAxMzAsIAotICAgIDY3LCAyNTIsIDE0OSwgMjUyLCAzOCwgNDQsIDIxNSwgMjI2LCAyNTEsIDE3MywgMiwgNDMsIDE2MywgMjUxLCAyMjksIDI1MSwgCi0gICAgMTczLCAyLCA0NCwgMTYzLCAyNTEsIDIyOSwgODUsIDI1MSwgMTcyLCAzMCwgMiwgNDMsIDE2MywgMjUxLCAyMjksIDMwLCAyLCAKLSAgICA0NCwgMTYzLCAyNTEsIDIyOSwgNzEsIDI0MCwgMjQzLCA4NSwgMjQwLCAyNDMsIDQzLCAyMTEsIDI0NCwgMjQ0LCAxNDMsIAotICAgIDQ0LCAyMTEsIDI0NCwgMjQ0LCAxNDMsIDQzLCA1MiwgMjExLCAyNDQsIDI0NCwgMTQzLCA0NCwgNTIsIDIxMSwgMjQ0LCAKLSAgICAyNDQsIDE0MywgMjM1LCAyNTUsIDIzNSwgMjQxLCAyMTYsIDExMywgMTE1LCAyMzUsIDI0MSwgMjM1LCAyNDIsIDIyOSwgCi0gICAgMTA3LCAyLCA2NywgMTMwLCAyNDYsIDEyMCwgMjMwLCA5MiwgNDIsIDIsIDI0OSwgMTg5LCAyMjYsIDEzMSwgMjM1LCAyNTMsIAotICAgIDI1MywgMjQ1LCAyMTksIDIyMSwgMjI0LCAxODMsIDI0NSwgMTA2LCA1LCAyMiwgMjE5LCA5OSwgMjI2LCAxMSwgMjQ1LCAKLSAgICAxMDYsIDUsIDIyLCAyMTksIDk5LCAyMjYsIDEyLCAyLCAyMTYsIDkwLCA0OCwgMjQwLCAxMTEsIDIxNiwgNDMsIDIyLCAyMTksIAotICAgIDk5LCAyMjYsIDExLCAyNDIsIDE5MCwgMjE4LCAxNTcsIDIxNiwgMTg2LCAyNDYsIDExMywgMjE1LCAyMjcsIDIsIDQzLCAKLSAgICAxNjMsIDI1MSwgMjI5LCAyNDYsIDExMywgMjE1LCAyMjcsIDIsIDQ0LCAxNjMsIDI1MSwgMjI5LCA4NSwgMjQ4LCAxLCAyLCAKLSAgICAxMjQsIDc1LCA4NSwgMjMyLCAxMTAsIDcxLCAyNTAsIDQ0LCAyLCAxMjQsIDc1LCA4NSwgMjUwLCA0NCwgMiwgMTI0LCA3NSwgCi0gICAgMjQ1LCA5MywgNzEsIDIxOCwgMjM2LCAyNDUsIDkzLCA4NSwgMjE4LCAyMzYsIDI0NSwgOTMsIDcxLCAyNDgsIDAsIDI0NSwgCi0gICAgOTMsIDg1LCAyNDgsIDAsIDI0NSwgOTMsIDcxLCAyNTAsIDQzLCAyNDUsIDkzLCA4NSwgMjUwLCA0MywgMjIyLCAxMzQsIAotICAgIDIyMywgNTMsIDIxOSwgNDksIDIyNiwgMTcxLCAyMTksIDQ5LCAyLCAyMjYsIDEyNywgMjIzLCA1MywgMjE5LCA0OSwgMiwgCi0gICAgMjAzLCA5MSwgMjUyLCAxLCAyMTksIDQ4LCAyNTIsIDEsIDIyMywgNTMsIDIxOSwgNDgsIDUyLCAyMjUsIDI1LCAyMTUsIAotICAgIDIxMiwgMjI1LCAyNSwgMjMzLCA0OCwgMjQ5LCA5OSwgMjU0LCAxMTgsIDEyNywgMjIyLCAyNTAsIDI0OSwgOTksIDI1NCwgCi0gICAgMTE4LCAxMjcsIDIxNiwgNzksIDIzMCwgMTg0LCAyMzAsIDI5LCAzNywgNTksIDIyNiwgMTcxLCAyMzAsIDI5LCAzNywgOTYsIAotICAgIDIyNiwgMTcxLCAyMzAsIDI5LCAzNywgMzAsIDIyNiwgMTcxLCAyMzAsIDI5LCAyMTQsIDE3NiwgMjI2LCAxNzIsIDIsIDI0NywgCi0gICAgMTI4LCAyMzAsIDI5LCAyMTQsIDE3NiwgMjI2LCAxNzIsIDIsIDIyNSwgMjUsIDIzMCwgMjksIDQyLCAyMzUsIDIwNiwgMjI2LCAKLSAgICAxNzEsIDIzMCwgMjksIDQyLCAyMTQsIDE3NiwgMjI2LCAxNzEsIDExMywgMjMyLCAxNTIsIDIyLCAyMjYsIDE3MSwgMTEzLCAKLSAgICAyMzIsIDE1MiwgMTc3LCAyMjYsIDE3MSwgMjMwLCAyOSwgMzAsIDIyNiwgMTcxLCAyMzAsIDE1OSwgMTEzLCAyMTgsIDQ0LCAKLSAgICAyMTgsIDQyLCAyLCAyMzUsIDIxOCwgMjI0LCAyNywgMjM1LCAyMTksIDIyNiwgMTcxLCAyNDQsIDEwNywgMjI2LCAzLCAyMzUsIAotICAgIDIxOCwgMjM1LCAyMTksIDIsIDUyLCA5MSwgMjM1LCAyMTksIDI1MywgMTgxLCAyLCAyMTksIDk3LCAyNTAsIDQwLCAyNDMsIAotICAgIDIzMywgMjU0LCA5NiwgMjM1LCAyMTYsIDIzMiwgMjIwLCAyMzUsIDIxNywgMiwgMjIzLCAxMTgsIDIyNSwgMjQxLCAyNTQsIAotICAgIDEwLCAyMjUsIDQsIDIzMiwgMjIwLCAyMzUsIDIxNywgMiwgMjIwLCAxNTQsIDIyNSwgMjQxLCAyNTQsIDEwLCAyMjUsIDQsIAotICAgIDIzMiwgMjIwLCAyMzUsIDIxNywgMjI4LCA1NywgMjM2LCAxLCAyMTYsIDE5NywgMjI1LCA0LCAyMzUsIDIxOSwgMjU0LCAxMCwgCi0gICAgMTE2LCAyMjUsIDE0LCAyMjYsIDE3MSwgMjI0LCAyMSwgMjM1LCAyMTksIDIyNiwgMTcxLCAyMzUsIDIxOSwgMiwgMTQwLCAKLSAgICA4MCwgMiwgMTAzLCAyMzUsIDIxOSwgMiwgMzAsIDUwLCAyMzUsIDIxOSwgMiwgMjM1LCAyMDUsIDIzNSwgMjE5LCAyLCAyMTQsIAotICAgIDE3NSwgMjM1LCAyMTksIDIsIDIyNiwgMTI3LCAyMzUsIDIxOSwgMiwgMjE0LCAxODMsIDIzNSwgNzIsIDIzMywgOTEsIDQzLCAKLSAgICAyMTUsIDIyNywgMjI2LCAxNzEsIDIxMCwgMTYwLCAxODksIDIyMSwgMjAzLCAyNDksIDIxNywgMjEwLCAxNjAsIDE4OSwgCi0gICAgMjIxLCAyMDMsIDIyNSwgNTksIDIxMCwgMTYwLCAxODksIDIyMSwgMjAzLCAyMjQsIDE3OSwgOTYsIDUsIDIsIDQsIDI1MCwgCi0gICAgNDQsIDQ4LCA5NiwgNSwgMiwgMjUwLCAzOSwgMjU1LCAyNCwgNDgsIDk2LCA1LCAyLCAyMTYsIDkwLCA0OCwgOTYsIDUsIDIsIAotICAgIDU5LCA1MSwgOTYsIDUsIDIsIDIxNiwgOTAsIDUxLCA5NiwgNSwgMiwgMjE4LCA2NiwgMTA1LCA5NiwgNSwgMiwgODUsIDIxNSwgCi0gICAgMjI2LCAyMzAsIDE4NywgNSwgMiwgMjQ5LCAyMjgsIDQ4LCAyMzAsIDE4NywgNSwgMiwgNTksIDUxLCAyMzAsIDE4NywgNSwgCi0gICAgMiwgMjQ0LCAxODMsIDI0NywgMTI2LCAyMzAsIDE4NywgNSwgMiwgMjIyLCAyMzEsIDI0NywgMTI2LCA5NiwgNSwgMjM2LCA3LCAKLSAgICA0MywgMTYzLCAyNTAsIDQzLCA5NiwgNSwgMjM2LCA3LCA0NCwgMTYzLCAyNTAsIDQzLCAyMTMsIDI1NCwgMTc3LCAyNDksIAotICAgIDEzOSwgMjI0LCAxODMsIDIzMCwgODksIDUsIDIsIDU5LCA0OCwgMjMwLCA4OSwgNSwgMiwgMjE0LCAxODMsIDIyMCwgMTUxLCAKLSAgICAyMjQsIDE4NCwgMiwgMjUxLCAxODMsIDI1MCwgNywgMjE5LCA3OSwgMjI0LCAxODMsIDIzMCwgODksIDUsIDIzNiwgNywgNDMsIAotICAgIDE2MywgMjUwLCA0MywgMjMwLCA4OSwgNSwgMjM2LCA3LCA0NCwgMTYzLCAyNTAsIDQzLCAzNywgMjMwLCA4OSwgNSwgMiwgCi0gICAgMjUwLCAzOSwgMjU1LCAyMywgMjMwLCA4OSwgNSwgMjM2LCA3LCA1MiwgMjUwLCA0MywgMzcsIDI0NywgMTc3LCA1MCwgOTYsIAotICAgIDUsIDIzNiwgNywgMjE1LCAyMjYsIDIzMCwgMTg3LCA1LCAyMzYsIDcsIDIxNSwgMjI2LCAyMzAsIDg5LCA1LCAyMzYsIDcsIAotICAgIDIxNSwgMjI2LCAyMzUsIDIxMywgMjI0LCAxODMsIDIyMiwgMjQ1LCAyMzUsIDIxMywgMjI0LCAxODMsIDIxMCwgMTYwLCAKLSAgICAxODksIDIyMywgOTMsIDI0OSwgMjE3LCAyNTQsIDE0MiwgMTc3LCAyNDksIDE3MywgMjM1LCAyMDYsIDIsIDI0NywgMTI4LCAKLSAgICAyMTQsIDE3NiwgMiwgMjMwLCAxODcsIDUwLCAyMTQsIDE3NiwgMiwgMjI2LCAxMjcsIDIzNSwgMjA2LCAyLCAyMjYsIDEyNywgCi0gICAgMjM1LCAyMDYsIDIsIDIzMiwgMTUyLCAyNTQsIDEyNiwgMjE0LCAxNzYsIDIsIDIzMiwgMTUyLCAyMjYsIDE2MiwgMjE0LCAKLSAgICAxNzYsIDcyLCAyMzUsIDIwNSwgMjM1LCAyMDYsIDcyLCAyMTQsIDE3NSwgMjE0LCAxNzYsIDcyLCAyNTIsIDE0OSwgNzIsIAotICAgIDIzNSwgMjA1LCAyMzUsIDIwNiwgNzIsIDI1MiwgMTQ5LCA3MiwgMjE0LCAxNzUsIDIxNCwgMTc2LCAyNTIsIDM4LCAyMiwgCi0gICAgMjM1LCA3MSwgMiwgMjE0LCAxNzUsIDIzNSwgMjA2LCAyNTIsIDM4LCAyMiwgMjM1LCA3MSwgMiwgMjM1LCAyMDUsIDI1MCwgCi0gICAgOCwgMjE0LCAxNzYsIDIsIDIyMCwgMTM1LCAyNTAsIDgsIDIzNSwgMjA2LCAyLCAyMjAsIDEzNSwgNTIsIDQyLCAyMzUsIAotICAgIDIwNSwgNTIsIDQyLCAyMTQsIDE3NSwgMjUwLCA4LCAyMTQsIDE3NiwgMiwgMjIwLCAxMzYsIDIyLCAyMTksIDc5LCAyMjQsIAotICAgIDE4MywgMjMyLCAxNTIsIDIyLCAyLCA1OSwgNDgsIDIzMiwgMTUyLCAxNzcsIDIsIDU5LCA0OCwgNTIsIDIzMiwgMTUyLCAKLSAgICAyNTQsIDEyNiwgNTIsIDIzMiwgMTUyLCAyMjYsIDE2MiwgMTEzLCAyMzUsIDIwNywgMjMyLCAxNTIsIDI1NCwgMTI2LCAxMTMsIAotICAgIDIzNSwgMjA3LCAyMzIsIDE1MiwgMjI2LCAxNjIsIDIxOSwgODcsIDIzMywgOTEsIDIyNiwgMTYyLCAyMTksIDg3LCAyMzMsIAotICAgIDkxLCAyNTQsIDEyNiwgMjMyLCAxNTIsIDE3NywgMjI2LCAxMjUsIDIzMiwgMTUyLCAyNTQsIDEyNiwgMjMyLCAxNTIsIDIyLCAKLSAgICAyLCAyMzAsIDIyOSwgMjE4LCAxNDEsIDIzMiwgMTUyLCAxNzcsIDIsIDIzMCwgMjI5LCAyMTgsIDE0MSwgMjMyLCAxNTIsIAotICAgIDIyLCAyLCAyMDMsIDI0OCwgMTY0LCAyMzIsIDE1MiwgMTc3LCAyLCAyMDMsIDI0OCwgMTY0LCAyMzIsIDE1MiwgMjIsIDIsIAotICAgIDUyLCAyMjYsIDEyNywgMjMyLCAxNTIsIDIyLCAyLCAyMTQsIDE4MywgMjMyLCAxNTIsIDIyLCAyLCA1MiwgMjE0LCAxODMsIAotICAgIDQsIDIxMywgMjUxLCAyLCAyMTQsIDE4MywgMjMyLCAxNTIsIDE3NywgMiwgNTIsIDIyNiwgMTI3LCAyMzIsIDE1MiwgMTc3LCAKLSAgICAyLCA1MiwgMjE0LCAxODMsIDIxMCwgMTYwLCAxODksIDI0NywgMTM3LCAyNTQsIDg3LCAyMTAsIDE2MCwgMTg5LCAyMjMsIAotICAgIDE1MSwgMjU0LCA4NywgMjQ1LCAxMDYsIDUsIDIsIDU5LCA1MSwgMjQwLCAxMTEsIDIsIDU5LCA0OCwgMjE1LCAyMTIsIDIwMywgCi0gICAgMjUyLCAxNDksIDIsIDUyLCA2NywgOTEsIDIxNSwgMjEyLCAyMDMsIDI1MiwgMTQ5LCAyLCAyMTUsIDIxMiwgNjcsIDkxLCAKLSAgICAyMTYsIDkwLCAyMjYsIDE3MiwgMiwgNTksIDQ4LCAyMTYsIDkwLCAyMjYsIDE3MiwgMiwgMjIyLCAyMzEsIDI0NywgMTI2LCAKLSAgICAyMTksIDE2NCwgMjMwLCAxODcsIDIxOSwgMTYzLCAyNDksIDIwNywgMiwgNTksIDQ4LCAyNDUsIDEwNiwgMiwgMjUzLCAyMjQsIAotICAgIDI1NCwgMTU2LCAxMjgsIDIxNiwgNDMsIDIsIDI1MCwgMzksIDI1NSwgMjMsIDI1NCwgNTYsIDEyOCwgMTc3LCAxMjgsIDExMiwgCi0gICAgMjQ1LCAxMDYsIDUsIDcyLCA5NiwgNTAsIDk2LCA1LCA3MiwgMjQ1LCAxMDYsIDUwLCAyNDUsIDEwNiwgNSwgNzIsIDIxNiwgCi0gICAgOTAsIDIyNiwgMTcxLCA1MiwgMjQ5LCAyMzUsIDI0NSwgMTA3LCAxMTMsIDI0OSwgMjAyLCAyNDUsIDEwNiwgMjE5LCAxNzgsIAotICAgIDEzNCwgMjQ5LCAyMDIsIDI0NSwgMTA2LCAyMTksIDE3OCwgMjQ1LCAxMDYsIDUsIDIsIDExMywgMTcwLCA3MiwgMjIsIDExMywgCi0gICAgMTcwLCA1MSwgMjQ1LCAxMDIsIDIsIDI0NCwgMTksIDE3MCwgNDgsIDIzMywgMjEsIDIsIDI1MCwgNDQsIDIzNSwgMjIyLCAKLSAgICAyNDIsIDEzNywgMiwgMjUwLCA0NCwgMjM1LCAyMjIsIDIzMywgMjEsIDIsIDIyNCwgMTYsIDE2NCwgNDgsIDI0MiwgMTM3LCAKLSAgICAyLCAyMjQsIDE2LCAxNjQsIDQ4LCAyMzMsIDIxLCAxNzcsIDIxOSwgOTksIDEyOCwgMTEyLCAyNDIsIDEzNywgMTc3LCAyMTksIAotICAgIDk5LCAxMjgsIDExMiwgMjMzLCAyMSwgMTc3LCAyMTksIDk5LCAxMjgsIDIxNiwgNDMsIDIsIDU5LCAyMzUsIDIyMiwgMjQyLCAKLSAgICAxMzcsIDE3NywgMjE5LCA5OSwgMTI4LCAyMTYsIDQzLCAyLCA1OSwgMjM1LCAyMjIsIDIzMywgMjEsIDE3NywgMjE5LCA5OSwgCi0gICAgMTI4LCAyMTYsIDQzLCAyLCA1OSwgNDgsIDI0MiwgMTM3LCAxNzcsIDIxOSwgOTksIDEyOCwgMjE2LCA0MywgMiwgNTksIDQ4LCAKLSAgICAyMzMsIDIxLCAxNzcsIDIxOSwgOTksIDEyOCwgMjE2LCA0MywgMiwgNTksIDcyLCAyMjIsIDI1NCwgMjQyLCAxMzcsIDE3NywgCi0gICAgMjE5LCA5OSwgMTI4LCAyMTYsIDQzLCAyLCA1OSwgNzIsIDIzMywgNTIsIDIzMywgMjEsIDE3NywgMjU0LCA1NywgMjQyLCAKLSAgICAxMzcsIDE3NywgMjU0LCA1NywgMjMzLCAyMSwgMjIsIDIxOSwgMTU1LCAyMjgsIDU3LCAxMjgsIDExMiwgMjQyLCAxMzcsIAotICAgIDIyLCAyMTksIDE1NSwgMjI4LCA1NywgMTI4LCAxMTIsIDIzMywgMjEsIDIyLCAyMjgsIDU3LCAyNTQsIDU3LCAyNDIsIDEzNywgCi0gICAgMjIsIDIyOCwgNTcsIDI1NCwgNTcsIDIzMywgMjEsIDcyLCAyNDYsIDExOSwgMTI4LCA3MiwgMjQyLCAxMzYsIDI0MiwgMTM3LCAKLSAgICA3MiwgMjQ2LCAxMTksIDEyOCwgNzIsIDIzMywgMjAsIDIzMywgMjEsIDcyLCAyMTksIDE2NCwgMTc3LCAyNDUsIDEwNywgCi0gICAgMjQyLCAxMzcsIDcyLCAyMTksIDE2NCwgMTc3LCAyNDUsIDEwNywgMjMzLCAyMSwgNzIsIDIxOSwgMTY0LCA3MiwgMjQyLCAKLSAgICAxMzYsIDI0MiwgMTM3LCA3MiwgMjE5LCAxNjQsIDcyLCAyMzMsIDIwLCAyMzMsIDIxLCA3MiwgMjQyLCAxMzcsIDcyLCAyNDYsIAotICAgIDExOSwgMjQ1LCAxMDcsIDI0MiwgMTM3LCA3MiwgMjMzLCAyMSwgNzIsIDI0NiwgMTE5LCAyNDUsIDEwNywgMjMzLCAyMSwgCi0gICAgNzIsIDIxOSwgOTksIDEyOCwgNzIsIDI0MiwgMTM3LCA3MiwgMjE5LCA5OSwgMjQ1LCAxMDcsIDI0MiwgMTM3LCA3MiwgMjE5LCAKLSAgICA5OSwgMTI4LCA3MiwgMjMzLCAyMSwgNzIsIDIxOSwgOTksIDI0NSwgMTA3LCAyMTksIDk5LCAxMjgsIDIxNiwgNDMsIDE3NywgCi0gICAgMjMzLCAyMCwgMjE5LCA5OSwgMTI4LCAyMTYsIDQzLCAxNzcsIDI0MiwgMTM2LCAyMTksIDk5LCAxMjgsIDIxNiwgNDMsIAotICAgIDE3NywgMjMzLCAyMSwgMiwgNTksIDIzNSwgMjIyLCAyMTksIDk5LCAxMjgsIDIxNiwgNDMsIDE3NywgMjQyLCAxMzcsIDIsIAotICAgIDU5LCAyMzUsIDIyMiwgMjQ2LCAxMTksIDEyOCwgMjE2LCA0MywgMTc3LCAyMzMsIDIwLCAyNDYsIDExOSwgMTI4LCAyMTYsIAotICAgIDQzLCAxNzcsIDI0MiwgMTM2LCAyNDYsIDExOSwgMjE5LCA5OSwgMTI4LCAyMTYsIDQzLCAxNzcsIDIzMywgMjAsIDI0NiwgCi0gICAgMTE5LCAyMTksIDk5LCAxMjgsIDIxNiwgNDMsIDE3NywgMjQyLCAxMzYsIDIxOSwgMTY0LCAxNzcsIDIzMywgMjAsIDIxOSwgCi0gICAgMTY0LCAxNzcsIDI0MiwgMTM2LCAyMTksIDE2NCwgNzIsIDIzMywgMjEsIDcyLCAyNDUsIDEwNiwgNTAsIDIxOSwgMTY0LCAKLSAgICA3MiwgMjQyLCAxMzcsIDcyLCAyNDUsIDEwNiwgNTAsIDUyLCAyMjksIDk2LCAyMzMsIDIwLCA1MiwgMjI5LCA5NiwgMjQyLCAKLSAgICAxMzYsIDUyLCAyMjksIDk2LCAyMzMsIDIxLCAyLCAyMTQsIDE4MywgMjQyLCAxMzcsIDIyNiwgMTI1LCAyMzMsIDIwLCAyNDIsIAotICAgIDEzNywgMjUyLCAzOCwgMjMzLCAyMCwgMjMzLCAyMSwgMjUwLCA4LCAyNTEsIDg2LCAyNDksIDEwMCwgMjQyLCAxMzcsIDI1MCwgCi0gICAgOCwgMjUxLCA4NiwgMjQ5LCAxMDAsIDIzMywgMjEsIDI1MCwgOCwgMjUxLCA4NiwgMjQ5LCAxMDEsIDcyLCAyMTksIDk5LCAKLSAgICAyNDUsIDEwNywgMjQyLCAxMzcsIDI1MCwgOCwgMjUxLCA4NiwgMjQ5LCAxMDEsIDcyLCAyMTksIDk5LCAyNDUsIDEwNywgCi0gICAgMjE5LCA4MCwgMjE2LCAyMDEsIDIzMywgODksIDIxNiwgMjAxLCAyMTksIDgwLCAyMTYsIDIwMiwgMTc3LCAxMjgsIDExMiwgCi0gICAgMjMzLCA4OSwgMjE2LCAyMDIsIDE3NywgMTI4LCAxMTIsIDI0NSwgMTA2LCA1LCAyLCAyNTEsIDExNiwgNDgsIDIyNCwgMjA2LCAKLSAgICA3MiwgMjE5LCAxNTUsIDI0NSwgMTA2LCA1MCwgMjE4LCA1NywgNzIsIDIxOSwgMTU1LCAyNDUsIDEwNiwgNTAsIDIyNCwgCi0gICAgMjA2LCA3MiwgMjE5LCAxNTUsIDIyOCwgNTcsIDEyOCwgMTEyLCAyMTgsIDU3LCA3MiwgMjE5LCAxNTUsIDIyOCwgNTcsIAotICAgIDEyOCwgMTEyLCAyMjQsIDIwNiwgNzIsIDI0NSwgMTA2LCA1MCwgMjE4LCA1NywgNzIsIDI0NSwgMTA2LCA1MCwgMjI0LCAKLSAgICAyMDYsIDcyLCAyMjgsIDU3LCAxMjgsIDExMiwgMjE4LCA1NywgNzIsIDIyOCwgNTcsIDEyOCwgMTEyLCAyMjQsIDIwNiwgNzIsIAotICAgIDI1NCwgMTU2LCAxMjgsIDExMiwgMjE4LCA1NywgNzIsIDI1NCwgMTU2LCAxMjgsIDExMiwgMjI0LCAyMDYsIDcyLCAyMjgsIAotICAgIDU3LCAyNTQsIDE1NiwgMTI4LCAxMTIsIDIxOCwgNTcsIDcyLCAyMjgsIDU3LCAyNTQsIDE1NiwgMTI4LCAxMTIsIDUyLCAKLSAgICAyMjQsIDIwNSwgNTIsIDIxOCwgNTYsIDIxOCwgNjUsIDIsIDI0NywgMTI4LCAyMTgsIDIzLCAyLCAyNDcsIDEyOCwgMjE4LCAKLSAgICA2NSwgMiwgOTYsIDUsIDUxLCAyMTgsIDIzLCAyLCA5NiwgNSwgNTEsIDIxOCwgNjUsIDIsIDIzMCwgODksIDUsIDUxLCAyMTgsIAotICAgIDIzLCAyLCAyMzAsIDg5LCA1LCA1MSwgMjE4LCA2NSwgNjQsIDE3NywgMTI4LCAyMTYsIDQzLCAyLCA1OSwgNDgsIDIxOCwgCi0gICAgMjMsIDY0LCAxNzcsIDEyOCwgMjE2LCA0MywgMiwgNTksIDQ4LCAyMTgsIDY1LCA2NCwgNzIsIDI0NSwgMTA2LCA1MCwgMjE4LCAKLSAgICAyMywgNjQsIDcyLCAyNDUsIDEwNiwgNTAsIDIxOCwgNjUsIDY0LCA3MiwgMjE2LCA5MCwgMjI2LCAxNzEsIDIxOCwgMjMsIAotICAgIDY0LCA3MiwgMjE2LCA5MCwgMjI2LCAxNzEsIDIxOCwgNjUsIDY0LCA3MiwgMjU0LCAxNTYsIDEyOCwgMTEyLCAyMTgsIDIzLCAKLSAgICA2NCwgNzIsIDI1NCwgMTU2LCAxMjgsIDExMiwgMjE4LCA2NSwgNjQsIDcyLCAyMjgsIDU3LCAxMjgsIDExMiwgMjE4LCAyMywgCi0gICAgNjQsIDcyLCAyMjgsIDU3LCAxMjgsIDExMiwgNDIsIDQzLCAyMDQsIDkzLCAyMjYsIDE3MSwgNDIsIDQ0LCAyMDQsIDkzLCAKLSAgICAyMjYsIDE3MSwgMjUwLCA4LCAyMTgsIDY0LCAyNTAsIDgsIDIxOCwgMjIsIDI1MCwgOCwgMjE4LCA2NSwgMTc3LCAxMjgsIAotICAgIDExMiwgMjUwLCA4LCAyMTgsIDIzLCAxNzcsIDEyOCwgMTEyLCAyMTgsIDY1LCA3MiwgMjE4LCAyMiwgMjE4LCAyMywgNzIsIAotICAgIDIxOCwgNjQsIDIxOCwgNjUsIDcyLCAyMTgsIDY0LCAyMTgsIDIzLCA3MiwgMjE4LCAyMiwgMjE4LCAyMywgMjUyLCAzOCwgCi0gICAgMjE4LCA2NCwgMjE4LCAyMywgMjUyLCAzOCwgMjIsIDIzNSwgNzEsIDI1MSwgODYsIDI0OCwgMTY1LCAyLCAyMTgsIDY0LCAKLSAgICAyNDUsIDE3OCwgNjQsIDIyNiwgMTc0LCAyNDYsIDExMSwgMjI1LCA1MSwgMiwgMjE3LCAxMywgMjE2LCAxNCwgMjE1LCAyNDEsIAotICAgIDIzNSwgMjA1LCAyNDQsIDI5LCAyMjgsIDcwLCAyMTksIDI1MywgNDMsIDIxNywgODgsIDIxOSwgMjUzLCAxMjQsIDIxNywgCi0gICAgODgsIDIxOSwgMjUzLCAxMjAsIDIxNywgODgsIDIyNSwgMTc1LCAyLCAyMjIsIDkzLCA2NywgMjUyLCAxNDksIDIxNSwgMjEyLCAKLSAgICA0NCwgMjE1LCA5MywgNTIsIDY3LCAyNTIsIDE0OSwgNDMsIDIxNSwgOTMsIDY3LCAyNTIsIDE0OSwgNTIsIDQzLCAyMTUsIAotICAgIDkzLCA1MiwgNjcsIDI1MiwgMTQ5LCA1MiwgNDMsIDIxNSwgOTMsIDIwMCwgMjQ4LCAxNjUsIDI0MywgMjUxLCA0MywgMjMxLCAKLSAgICA2OCwgNjQsIDUyLCAyMTMsIDIzOSwgMjE5LCAyNTMsIDEyNCwgMjE3LCA4OSwgMiwgMjI2LCAxMjcsIDIxOSwgMjUzLCAxMjAsIAotICAgIDIxNywgODksIDIsIDIxNCwgMTgzLCAyMTksIDI1MywgMTIwLCAyMTcsIDg5LCA3MiwgMjE5LCAyNTMsIDEyNCwgMjE3LCA4OCwgCi0gICAgNTIsIDEyNCwgMjE3LCA4OCwgNTIsIDEyMCwgMjE3LCA4OCwgNTIsIDIxOCwgMTA1LCAyMjgsIDU3LCA1MCwgMjIzLCA1MiwgCi0gICAgNTIsIDIxOCwgMTA1LCAyMjgsIDU3LCA1MCwgMjQ3LCAxNDYsIDIyOCwgNTcsIDI0NywgMTgzLCAyLCAyMjMsIDUyLCAyMjksIAotICAgIDEwNiwgMjE5LCA5NywgNjcsIDIzMiwgMjIwLCAyLCAyNTAsIDQ0LCA0OCwgNjcsIDIzMiwgMjIwLCAyLCAyNTAsIDQ0LCA1MSwgCi0gICAgMTI0LCAyMTcsIDg5LCAyLCAyNTAsIDQ0LCA1MSwgMjI2LCAxMiwgMiwgMjAzLCA5MSwgMjI2LCAxMiwgMiwgMjE2LCA5MCwgCi0gICAgMjI2LCAxNzEsIDIxNSwgMjEyLCA2NywgMjUyLCAxNDksIDI1MSwgMjUyLCAyMjMsIDk0LCAyMTUsIDIxMiwgNjcsIDI1MiwgCi0gICAgMTQ5LCAyLCAyMDMsIDkxLCAyMTUsIDIxMiwgMjQ5LCAyMzUsIDIyNiwgMTcxLCAyMTUsIDIxMiwgMjI5LCA5NiwgMjMzLCAKLSAgICAyMCwgMjE1LCAyMTIsIDIyOSwgOTYsIDI0MiwgMTM2LCAyNDYsIDExOSwgMjE5LCA5OSwgMjMzLCAyMSwgMTc3LCAxMjgsIAotICAgIDExMiwgMjQ2LCAxMTksIDIxOSwgOTksIDI0MiwgMTM3LCAxNzcsIDEyOCwgMTEyLCAyMTUsIDIxMiwgMjE5LCA0OSwgMjUxLCAKLSAgICAyNTIsIDIyMywgOTQsIDIzMywgOTEsIDIxNSwgMjEyLCA2NywgMjUyLCAxNDksIDIyNiwgMTcxLCA1MiwgMjE5LCA0OSwgCi0gICAgMjI2LCAxNzEsIDcxLCA2NywgMTMwLCAyMzAsIDI5LCA3MSwgNjcsIDEzMCwgMjI4LCA2MSwgMjQ1LCAyMjgsIDcxLCA3NSwgCi0gICAgMjI4LCA2MSwgMjEyLCA5LCA3MSwgNzUsIDIxOSwgMzAsIDI0NSwgMjI4LCA3MSwgNzUsIDIxOSwgMzAsIDIxMiwgOSwgNzEsIAotICAgIDc1LCA0MywgNDQsIDcxLCA3NSwgMTQwLCA4NSwgNzUsIDIxNCwgMTUzLCA4NSwgNzUsIDI0NiwgMTEyLCA4NSwgNzUsIDIyOCwgCi0gICAgNjEsIDI0NSwgMjI4LCA4NSwgNzUsIDIyOCwgNjEsIDIxMiwgOSwgODUsIDc1LCAyMTksIDMwLCAyNDUsIDIyOCwgODUsIDc1LCAKLSAgICAyMTksIDMwLCAyMTIsIDksIDg1LCA3NSwgNDMsIDQ0LCA4NSwgNzUsIDEyMCwgMTI0LCA4NSwgNzUsIDk3LCA4MCwgMiwgCi0gICAgMjE2LCA3OCwgMjQ2LCAxMTEsIDk3LCA4MCwgMiwgMjE2LCA3OCwgMjE0LCAxNTIsIDE0MCwgODAsIDIsIDIxNiwgNzgsIAotICAgIDI0NiwgMTExLCAxNDAsIDgwLCAyLCAyMTYsIDc4LCAyMTQsIDE1MiwgNDIsIDIsIDIxNiwgMTUsIDE2MywgMjUxLCAyMjksIAotICAgIDQyLCAyLCAyNTEsIDE4MywgMTYzLCAyNTEsIDIyOSwgNDIsIDIsIDIxNCwgMTYwLCA0NCwgMjQ4LCA3LCAxNjMsIDI1MSwgCi0gICAgMjI5LCA0MiwgMiwgMjMyLCAxMTQsIDQzLCAyNDgsIDcsIDE2MywgMjUxLCAyMjksIDI0OCwgMSwgMiwgNDMsIDE2MywgMjUxLCAKLSAgICAyMjksIDI0OCwgMSwgMiwgNDQsIDE2MywgMjUxLCAyMjksIDI0OCwgMSwgMiwgMjE2LCAxNSwgMTYzLCAyNTEsIDIyOSwgCi0gICAgMjQ4LCAxLCAyLCAyNTEsIDE4MywgMTYzLCAyNTEsIDIyOSwgMjQ2LCAxMjYsIDIxOCwgMjM2LCA4NSwgMjMzLCA5MSwgMjE4LCAKLSAgICAyMzYsIDcxLCAyMzMsIDkxLCAyMTgsIDIzNiwgODUsIDIxMywgMTg3LCA0LCAyMTgsIDIzNiwgNzEsIDIxMywgMTg3LCA0LCAKLSAgICAyMTgsIDIzNiwgODUsIDIyNSwgMTkzLCA3MSwgMjI1LCAxOTMsIDcxLCAyNDEsIDIwMCwgODUsIDI0MSwgMjAwLCAyMDMsIAotICAgIDg1LCAyNDEsIDIwMCwgODUsIDIzMywgOTEsIDI1MCwgNDMsIDg1LCAyMzEsIDg3LCAyNDgsIDAsIDcxLCAyMzEsIDg3LCAKLSAgICAyNDgsIDAsIDg1LCAyMzEsIDg3LCAyMzIsIDExMCwgNzEsIDIzMSwgODcsIDIzMiwgMTEwLCA4NSwgNCwgMjQ4LCAwLCA4NSwgCi0gICAgNCwgMjMyLCAxMTAsIDcxLCA0LCAyMzIsIDExMCwgODUsIDIwMywgMjQ1LCAxNzIsIDcxLCAyMDMsIDI0NSwgMTcyLCA4NSwgCi0gICAgNjcsIDI0NSwgMTcyLCA3MSwgNjcsIDI0NSwgMTcyLCA0MywgODAsIDIsIDQsIDI1MCwgNDMsIDEzNCwgMTQwLCAyNTMsIAotICAgIDI1NSwgNDMsIDgwLCAyLCAzNywgMjI1LCAyNSwgMjAwLCAxNDAsIDIxOCwgMjMyLCA3NSwgMTQwLCAyMTUsIDU4LCA4MCwgMiwgCi0gICAgNjcsIDkxLCAxNDAsIDIxNSwgNTgsIDgwLCAyLCA1MiwgNjcsIDkxLCAxNDAsIDIxNSwgNTgsIDgwLCAyNDMsIDI1MSwgMTMwLCAKLSAgICAxNDAsIDIxNSwgNTgsIDIxNSwgMjEyLCAyNDgsIDE2NSwgNzUsIDE0MCwgODAsIDIsIDI0NiwgMTI2LCAyMTgsIDE0MSwgCi0gICAgMTQwLCA4MCwgMiwgMjE3LCA3OSwgMiwgNjcsIDkxLCAxNDAsIDgwLCAyLCAyMTcsIDc5LCAyLCA1MiwgNjcsIDkxLCAxNDAsIAotICAgIDIxNSwgNTgsIDgwLCAyLCAyMTcsIDc4LCAxNDAsIDIxNSwgNTgsIDgwLCAyLCAyMTcsIDc5LCAyLCA2NywgOTEsIDE0MCwgCi0gICAgMjE1LCA1OCwgODAsIDIsIDIxNywgNzksIDIsIDUyLCA2NywgOTEsIDE0MCwgODAsIDIxNiwgMTQwLCAyMTEsIDE3OCwgMjEyLCAKLSAgICAzNiwgODAsIDIyNSwgMTAsIDI0NywgMjAzLCAyMzMsIDUyLCAyNDUsIDEwNiwgNSwgNzIsIDE0MCwgNzUsIDIyMywgNTMsIAotICAgIDIxNiwgOTAsIDIyNiwgMTcyLCA3MiwgMTQwLCA3NSwgMTQwLCA4MCwgNzIsIDIyMywgNTMsIDI1NCwgMTU2LCAxMjgsIDExMiwgCi0gICAgOTcsIDgwLCAyMTYsIDE0MCwgMjQyLCAxMzYsIDk3LCA4MCwgMjE2LCAxNDAsIDIxOCwgMjIsIDE0MCwgMjI0LCAyNywgNzUsIAotICAgIDk3LCAyMjQsIDI3LCA3NSwgMjIzLCA1MywgMjE2LCA5MCwgMjI2LCAxNzIsIDcyLCA5NywgNzUsIDk3LCA4MCwgNzIsIDIyMywgCi0gICAgNTMsIDI1NCwgMTU2LCAxMjgsIDExMiwgMjE2LCA5MCwgMjI2LCAxNzIsIDcyLCAxNDAsIDc1LCAxNDAsIDgwLCA3MiwgMjU0LCAKLSAgICAxNTYsIDEyOCwgMTEyLCAxNDAsIDgwLCA3MiwgMjIzLCA1MywgMjE2LCA5MCwgMjI2LCAxNzEsIDk3LCA4MCwgNzIsIDIyMywgCi0gICAgNTMsIDIxNiwgOTAsIDIyNiwgMTcxLCA3MSwgMjMxLCA4NywgMjE4LCAxNTgsIDg1LCA0LCAyMTgsIDE1OCwgNzEsIDQsIAotICAgIDIxOCwgMTU4LCA4NSwgMjIyLCAyNTAsIDIyNSwgMTkzLCA3MSwgMjIyLCAyNTAsIDIyNSwgMTkzLCAxMTQsIDIzMywgOTEsIAotICAgIDI1MCwgNDMsIDExNCwgMjI2LCAxMjgsIDIsIDIyNiwgMTI4LCAyMzUsIDIyMiwgMTE0LCAyNTAsIDQ0LCAyLCAyNTAsIDQ0LCAKLSAgICAyMzUsIDIyMiwgMTE0LCAyNTAsIDQzLCAxMTQsIDM3LCAyMjIsIDAsIDE0NSwgNiwgMSwgMjUzLCAxNjcsIDE0NSwgNiwgMSwgCi0gICAgMjUxLCAxMjUsIDE0NSwgNiwgMSwgMjEzLCAyNTMsIDE0NSwgNiwgMSwgMjQyLCAxOTIsIDE0NSwgNiwgMSwgMjQ3LCAxNDgsIAotICAgIDE0NSwgNiwgMSwgMjExLCAyMSwgMTQ1LCA2LCAxLCAyMTAsIDY4LCAxNDUsIDYsIDEsIDI0NiwgNDIsIDE0NSwgNiwgMSwgCi0gICAgMjEwLCA5MSwgMTQ1LCA2LCAxLCAyMzUsIDE1NCwgMTQ1LCA2LCAxLCA2NSwgMjM1LCAxNTQsIDE0NSwgNiwgMSwgNzQsIAotICAgIDE0NSwgNiwgMSwgMjQ3LCAxNjgsIDE0NSwgNiwgMSwgMjM0LCAyNDYsIDE0NSwgNiwgMSwgMjMyLCAxOTIsIDE0NSwgNiwgMSwgCi0gICAgMjMwLCAzNCwgMTQ1LCA2LCAxLCAyMjksIDE5NiwgMTQ1LCA2LCAxLCAyMjYsIDE4OSwgMTQ1LCA2LCAxLCAyMjUsIDcsIAotICAgIDE0NSwgNiwgMSwgMjIyLCAyMzAsIDE0NSwgNiwgMSwgMjE5LCA4NSwgMTQ1LCA2LCAxLCAyMTUsIDgxLCAxNDUsIDYsIDEsIAotICAgIDIxNCwgMjAxLCAxNDUsIDYsIDEsIDI0MywgMjU0LCAxNDUsIDYsIDEsIDI0MSwgMjA2LCAxNDUsIDYsIDEsIDIyNiwgMTM5LCAKLSAgICAxNDUsIDYsIDEsIDIyNSwgMjI0LCAxNDUsIDYsIDEsIDIxOSwgMjMwLCAxNDUsIDYsIDEsIDIxNSwgMTY4LCAxNDUsIDYsIDEsIAotICAgIDI1MCwgODMsIDE0NSwgNiwgMSwgMjIwLCAxMDQsIDE0NSwgNiwgMSwgMjExLCAyNywgMTQ1LCA2LCAxLCAyMTEsIDI5LCAKLSAgICAxNDUsIDYsIDEsIDIxMSwgNTcsIDE0NSwgNiwgMSwgMjE4LCAyNTUsIDE2MiwgMTQ1LCA2LCAxLCAyMTAsIDIxMiwgMTQ1LCAKLSAgICA2LCAxLCA0LCAyMTAsIDE4MywgMTQ1LCA2LCAxLCA0LCAyMTAsIDE4NCwgMiwgMjE3LCA3OCwgMTQ1LCA2LCAxLCAyMTAsIAotICAgIDI0NCwgMTQ1LCA2LCAxLCAyMzUsIDE5MSwgNCwgMjEwLCAxODMsIDE0NSwgNiwgMSwgMjUyLCAxLCAyMTAsIDE4MywgMTQ1LCAKLSAgICA2LCAxLCAyMzUsIDE5MSwgMjUyLCAxLCAyMTAsIDE4MywgMTQ1LCA2LCAxLCAyNDQsIDkwLCAxNDUsIDYsIDEsIDIzNSwgCi0gICAgMTUyLCAxNDUsIDYsIDEsIDIxOSwgMjI5LCAxNDUsIDYsIDEsIDIxNSwgMjAzLCA2MSwgMTQ1LCA2LCAxLCAyMzMsIDgxLCAKLSAgICAyMzAsIDM0LCAxNDUsIDQsIDEsIDI1MywgMTY3LCAxNDUsIDQsIDEsIDI1MSwgMTI1LCAxNDUsIDQsIDEsIDIxMywgMjUzLCAKLSAgICAxNDUsIDQsIDEsIDI0MiwgMTkyLCAxNDUsIDQsIDEsIDI0NywgMTQ4LCAxNDUsIDQsIDEsIDIxMSwgMjEsIDE0NSwgNCwgMSwgCi0gICAgMjEwLCA2OCwgMTQ1LCA0LCAxLCAyNDYsIDQyLCAxNDUsIDQsIDEsIDIxMCwgOTEsIDE0NSwgNCwgMSwgMjM1LCAxNTQsIAotICAgIDE0NSwgNCwgMSwgNjUsIDIzNSwgMTU0LCAxNDUsIDQsIDEsIDc0LCAxNDUsIDQsIDEsIDI0NywgMTY4LCAxNDUsIDQsIDEsIAotICAgIDIzNCwgMjQ2LCAxNDUsIDQsIDEsIDIzMiwgMTkyLCAxNDUsIDQsIDEsIDIzMCwgMzQsIDE0NSwgNCwgMSwgMjI5LCAxOTYsIAotICAgIDE0NSwgNCwgMSwgMjI2LCAxODksIDE0NSwgNCwgMSwgMjI1LCA3LCAxNDUsIDQsIDEsIDIyMiwgMjMwLCAxNDUsIDQsIDEsIAotICAgIDIxOSwgODUsIDE0NSwgNCwgMSwgMjE1LCA4MSwgMTQ1LCA0LCAxLCAyMTQsIDIwMSwgMTQ1LCA0LCAxLCAyNDMsIDI1NCwgCi0gICAgMTQ1LCA0LCAxLCAyNDEsIDIwNiwgMTQ1LCA0LCAxLCAyMjYsIDEzOSwgMTQ1LCA0LCAxLCAyMjUsIDIyNCwgMTQ1LCA0LCAxLCAKLSAgICAyMTksIDIzMCwgMTQ1LCA0LCAxLCAyMTUsIDE2OCwgMTQ1LCA0LCAxLCAyNTAsIDgzLCAxNDUsIDQsIDEsIDIyMCwgMTA0LCAKLSAgICAxNDUsIDQsIDEsIDIxMSwgMjcsIDE0NSwgNCwgMSwgMjExLCAyOSwgMTQ1LCA0LCAxLCAyMTEsIDU3LCAxNDUsIDQsIDEsIAotICAgIDIxOCwgMjU1LCAxNjIsIDE0NSwgNCwgMSwgMjEwLCAyMTIsIDE0NSwgNCwgMSwgNCwgMjEwLCAxODMsIDE0NSwgNCwgMSwgNCwgCi0gICAgMjEwLCAxODQsIDIsIDIxNywgNzgsIDE0NSwgNCwgMSwgMjEwLCAyNDQsIDE0NSwgNCwgMSwgMjM1LCAxOTEsIDQsIDIxMCwgCi0gICAgMTgzLCAxNDUsIDQsIDEsIDI1MiwgMSwgMjEwLCAxODMsIDE0NSwgNCwgMSwgMjM1LCAxOTEsIDI1MiwgMSwgMjEwLCAxODMsIAotICAgIDE0NSwgNCwgMSwgMjQ0LCA5MCwgMTQ1LCA0LCAxLCAyMzUsIDE1MiwgMTQ1LCA0LCAxLCAyMTksIDIyOSwgMTQ1LCA0LCAxLCAKLSAgICAyMTUsIDIwMywgNjEsIDE0NSwgNCwgMSwgMjMzLCA4MSwgMjMwLCAzNCwgNywgNiwgMSwgMjMzLCAxNTUsIDIsIDUyLCAxMzAsIAotICAgIDcsIDQsIDEsIDIzMywgMTU1LCAyLCA1MiwgMTMwLCA3LCA2LCAxLCAyMzMsIDE1NSwgMiwgMjMwLCAyMjksIDE4NCwgNywgNiwgCi0gICAgMSwgMjI2LCAxMTAsIDIsIDkxLCA3LCA2LCAxLCAyMjMsIDIyNywgMiwgMjE3LCA3OCwgNywgNCwgMSwgMTE2LCAyLCA5MSwgCi0gICAgNywgNCwgMSwgMjE3LCAxNTQsIDIsIDI0OCwgNywgOTEsIDcsIDYsIDEsIDI0MiwgNjgsIDIsIDI0OCwgNDcsIDcsIDQsIDEsIAotICAgIDI0MiwgNjgsIDIsIDI0OCwgNDcsIDcsIDYsIDEsIDIzNSwgMzAsIDIsIDI0OCwgNDcsIDcsIDQsIDEsIDIzNSwgMzAsIDIsIAotICAgIDI0OCwgNDcsIDcsIDYsIDEsIDIxMCwgMTYwLCAyLCAyNDgsIDQ3LCA3LCA0LCAxLCAyMTAsIDE2MCwgMiwgMjQ4LCA0NywgNywgCi0gICAgNiwgMSwgMjU0LCAxNTEsIDcsIDYsIDEsIDIzMiwgNTUsIDIsIDEwMywgNywgNiwgMSwgMjE1LCA5NCwgNjEsIDcsIDYsIDEsIAotICAgIDIxNSwgOTQsIDI1NCwgMTUxLCA3LCA0LCAxLCAyMTQsIDEwNiwgMiwgNDQsIDEwMywgNywgNiwgMSwgMjEyLCA5OSwgMiwgCi0gICAgMTAzLCA3LCA0LCAxLCAyMTIsIDk5LCAyLCAxMDMsIDcsIDQsIDEsIDIxNCwgMTA2LCAyLCAyNDksIDEwOCwgNywgNiwgMSwgCi0gICAgMTYzLCAyNDIsIDY3LCA3LCA0LCAxLCAxNjMsIDI0MiwgNjcsIDcsIDQsIDEsIDIxNywgNzYsIDIyNSwgMTM2LCA3LCA0LCAxLCAKLSAgICAxNjAsIDIsIDIyOCwgNTUsIDcsIDQsIDEsIDIxNSwgOTQsIDIyMywgMjI3LCAyLCAyMTcsIDc4LCA3LCA0LCAxLCAxNDQsIDIsIAotICAgIDEyMSwgMjIyLCAyMzcsIDIzNSwgMjIyLCA3LCAxLCA0LCA2LCAyMTUsIDk0LCA3NiwgNywgMjE4LCA2NiwgNCwgMSwgMjM1LCAKLSAgICAxNTAsIDU4LCAxLCA2LCAyMTQsIDEwNSwgNywgNiwgMSwgMjIyLCA5NCwgMiwgMjE3LCAyNTEsIDIxNywgNzgsIDcsIDYsIDEsIAotICAgIDIxMCwgMTYwLCAyLCAyMTcsIDI1MSwgMjE3LCA3OCwgODEsIDYsIDEsIDI1NCwgMTczLCA4MSwgNCwgMSwgMjU0LCAxNzMsIAotICAgIDgxLCA2LCAxLCAyMTMsIDE3MywgODEsIDQsIDEsIDIxMywgMTczLCA4MSwgNiwgMSwgMjQzLCAxMTQsIDgxLCA0LCAxLCAKLSAgICAyNDMsIDExNCwgODEsIDYsIDEsIDI0OCwgMTk5LCA4MSwgNCwgMSwgMjQ4LCAxOTksIDgxLCA2LCAxLCAyNDUsIDIwMiwgODEsIAotICAgIDQsIDEsIDI0NSwgMjAyLCA4MSwgNiwgMSwgMjE5LCAzNSwgODEsIDQsIDEsIDIxOSwgMzUsIDgxLCA2LCAxLCAyMTAsIDEwMSwgCi0gICAgODEsIDQsIDEsIDIxMCwgMTAxLCA4MSwgNiwgMSwgMjQxLCAyNTUsIDgxLCA0LCAxLCAyNDEsIDI1NSwgODEsIDYsIDEsIAotICAgIDIxNiwgMTc4LCA4MSwgNCwgMSwgMjE2LCAxNzgsIDgxLCA2LCAxLCAyNDAsIDEyMywgODEsIDQsIDEsIDI0MCwgMTIzLCA4MSwgCi0gICAgNiwgMSwgMjM0LCAyMzMsIDgxLCA0LCAxLCAyMzQsIDIzMywgODEsIDYsIDEsIDIzMywgNzgsIDgxLCA0LCAxLCAyMzMsIDc4LCAKLSAgICA4MSwgNiwgMSwgMjMwLCAyMzUsIDgxLCA0LCAxLCAyMzAsIDIzNSwgODEsIDYsIDEsIDIyOCwgMjM4LCA4MSwgNCwgMSwgCi0gICAgMjI4LCAyMzgsIDgxLCA2LCAxLCAyMzMsIDIzOSwgODEsIDQsIDEsIDIzMywgMjM5LCA4MSwgNiwgMSwgNzgsIDgxLCA0LCAxLCAKLSAgICA3OCwgODEsIDYsIDEsIDIyNSwgMTExLCA4MSwgNCwgMSwgMjI1LCAxMTEsIDgxLCA2LCAxLCAyMjIsIDIxMywgODEsIDQsIDEsIAotICAgIDIyMiwgMjEzLCA4MSwgNiwgMSwgMjE5LCAxNjcsIDgxLCA0LCAxLCAyMTksIDE2NywgODEsIDYsIDEsIDIxNywgNDIsIDgxLCAKLSAgICA0LCAxLCAyMTcsIDQyLCA4MSwgNiwgMSwgMjE0LCAyMjksIDgxLCA0LCAxLCAyMTQsIDIyOSwgODEsIDYsIDEsIDI0NCwgCi0gICAgMTI5LCA4MSwgNCwgMSwgMjQ0LCAxMjksIDgxLCA2LCAxLCAyMzQsIDExOCwgODEsIDQsIDEsIDIzNCwgMTE4LCA4MSwgNiwgCi0gICAgMSwgMjI0LCAxNjQsIDgxLCA0LCAxLCAyMjQsIDE2NCwgODEsIDYsIDEsIDIyNiwgMTgyLCA4MSwgNCwgMSwgMjI2LCAxODIsIAotICAgIDgxLCA2LCAxLCAyNDgsIDUsIDI1NCwgMTc5LCA4MSwgNCwgMSwgMjQ4LCA1LCAyNTQsIDE3OSwgODEsIDYsIDEsIDU1LCA4MSwgCi0gICAgMjU0LCAyMDUsIDgxLCA0LCAxLCA1NSwgODEsIDI1NCwgMjA1LCA4MSwgNiwgMSwgMjQ5LCAxMjMsIDI0NSwgMjAyLCA4MSwgCi0gICAgNCwgMSwgMjQ5LCAxMjMsIDI0NSwgMjAyLCA4MSwgNiwgMSwgMjQ4LCA1LCAyMzQsIDIzMywgODEsIDQsIDEsIDI0OCwgNSwgCi0gICAgMjM0LCAyMzMsIDgxLCA2LCAxLCAyNDgsIDUsIDIyOCwgMjM4LCA4MSwgNCwgMSwgMjQ4LCA1LCAyMjgsIDIzOCwgODEsIDYsIAotICAgIDEsIDI0OSwgMTIzLCAyMjgsIDIzOCwgODEsIDQsIDEsIDI0OSwgMTIzLCAyMjgsIDIzOCwgODEsIDYsIDEsIDU1LCA4MSwgCi0gICAgMjI2LCAxODIsIDgxLCA0LCAxLCA1NSwgODEsIDIyNiwgMTgyLCA4MSwgNiwgMSwgMjIxLCAyNDgsIDgxLCA0LCAxLCAyMjEsIAotICAgIDI0OCwgODEsIDYsIDEsIDI0OSwgMTM2LCAyMjAsIDU3LCA4MSwgNCwgMSwgMjQ5LCAxMzYsIDIyMCwgNTcsIDgxLCA2LCAxLCAKLSAgICA1NSwgODEsIDIyMCwgNTcsIDgxLCA0LCAxLCA1NSwgODEsIDIyMCwgNTcsIDgxLCA2LCAxLCA1NSwgODEsIDI0NSwgODMsIAotICAgIDgxLCA0LCAxLCA1NSwgODEsIDI0NSwgODMsIDgxLCA2LCAxLCAyNTQsIDE5MSwgMjM0LCAxMjMsIDgxLCA0LCAxLCAyNTQsIAotICAgIDE5MSwgMjM0LCAxMjMsIDgxLCA2LCAxLCAyNDgsIDUsIDI0MSwgNTIsIDgxLCA0LCAxLCAyNDgsIDUsIDI0MSwgNTIsIDgxLCAKLSAgICA2LCAxLCA1NSwgODEsIDI0MSwgNTIsIDgxLCA0LCAxLCA1NSwgODEsIDI0MSwgNTIsIDgxLCA2LCAxLCA1NSwgODEsIDE2MiwgCi0gICAgODEsIDQsIDEsIDU1LCA4MSwgMTYyLCA4MSwgNiwgMSwgMjMzLCAxNTQsIDE2MiwgODEsIDQsIDEsIDIzMywgMTU0LCAxNjIsIAotICAgIDgxLCA2LCAxLCA1NSwgODEsIDI0MSwgMjI0LCA4MSwgNCwgMSwgNTUsIDgxLCAyNDEsIDIyNCwgODEsIDYsIDEsIDU1LCA4MSwgCi0gICAgMjQyLCAyLCA4MSwgNCwgMSwgNTUsIDgxLCAyNDIsIDIsIDgxLCA2LCAxLCA1NSwgODEsIDI0MywgMTA5LCA4MSwgNCwgMSwgCi0gICAgNTUsIDgxLCAyNDMsIDEwOSwgODEsIDYsIDEsIDU1LCA4MSwgMjQ3LCAxNzEsIDgxLCA0LCAxLCA1NSwgODEsIDI0NywgMTcxLCAKLSAgICA4MSwgNiwgMSwgNTUsIDgxLCAyMjAsIDI0LCA4MSwgNCwgMSwgNTUsIDgxLCAyMjAsIDI0LCA4MSwgNiwgMSwgNTUsIDIyNywgCi0gICAgMjEyLCAyMjAsIDI0LCA4MSwgNCwgMSwgNTUsIDIyNywgMjEyLCAyMjAsIDI0LCA4MSwgNiwgMSwgNTUsIDIyNywgMjEyLCAKLSAgICAyMjksIDMyLCA4MSwgNCwgMSwgNTUsIDIyNywgMjEyLCAyMjksIDMyLCA4MSwgNiwgMSwgNTUsIDIyNywgMjEyLCAyMjcsIAotICAgIDE1MiwgODEsIDQsIDEsIDU1LCAyMjcsIDIxMiwgMjI3LCAxNTIsIDgxLCA2LCAxLCA1NSwgMjI3LCAyMTIsIDIxMiwgMzcsIAotICAgIDgxLCA0LCAxLCA1NSwgMjI3LCAyMTIsIDIxMiwgMzcsIDgxLCAxNiwgMjM0LCAyNTIsIDgxLCAxNiwgMjMwLCAyMzYsIDIyMiwgCi0gICAgMjEzLCA4MSwgMTYsIDIyNSwgMTEyLCAyMjIsIDIxMywgODEsIDE2LCAyMTgsIDE0OSwgODEsIDE2LCAyMTcsIDQzLCAyMjIsIAotICAgIDIxMywgODEsIDE2LCAyMzQsIDExOSwgMjIyLCAyMTMsIDgxLCAxNiwgMjIwLCAyNSwgMjE5LCAxNjcsIDgxLCA2LCAxLCAKLSAgICAyNDksIDEyMywgMjIwLCA1NywgODEsIDQsIDEsIDI0OSwgMTIzLCAyMjAsIDU3LCA4MSwgNiwgMSwgMjQ5LCAxMjMsIDI0MywgCi0gICAgMTA5LCA4MSwgNCwgMSwgMjQ5LCAxMjMsIDI0MywgMTA5LCA4MSwgMzgsIDIyOCwgMjM5LCA0OCwgODEsIDM4LCAyMTgsIAotICAgIDI0OSwgMjUzLCAyMzIsIDgxLCAzOCwgMjE4LCAyNDksIDIzMywgMjcsIDgxLCA2LCAxLCAyNTEsIDIwNywgMjM0LCAxMjMsIAotICAgIDgxLCA0LCAxLCAyNTEsIDIwNywgMjM0LCAxMjMsIDgxLCA1NSwgMjI3LCAyMTIsIDI0MywgMjM2LCAyMTgsIDEzMSwgODEsIAotICAgIDU1LCAyMjcsIDIxMiwgMjQ3LCAyMDUsIDIyNCwgMTYsIDc5LCA4MSwgNTUsIDIyNywgMjEyLCAyMzUsIDI0NCwgMjI0LCAxNiwgCi0gICAgNzksIDgxLCA1NSwgMjI3LCAyMTIsIDIxMywgMjQxLCAyNDcsIDE4MCwgODEsIDI0NCwgMTAsIDEyMywgMjQyLCAzNCwgODEsIAotICAgIDI0MywgMjM2LCAyMTgsIDEzMSwgODEsIDIzMCwgMTI5LCAyNDcsIDE4MCwgOTgsIDQsIDEsIDI1NCwgMTMxLCA5OCwgNCwgMSwgCi0gICAgMjUyLCAxNjAsIDk4LCA0LCAxLCAyNDMsIDExMywgOTgsIDQsIDEsIDI0NywgMTM2LCA5OCwgNCwgMSwgMjQ1LCAxNTgsIDk4LCAKLSAgICA0LCAxLCAyMTMsIDE2MCwgOTgsIDQsIDEsIDIxMCwgODksIDk4LCA0LCAxLCAyMTcsIDYxLCA5OCwgNCwgMSwgMjM2LCA2LCAKLSAgICA5OCwgNCwgMSwgMjM0LCAyNDAsIDk4LCA0LCAxLCAyMzMsIDg3LCA5OCwgNCwgMSwgMjMxLCAxOTAsIDk4LCA0LCAxLCAyMjksIAotICAgIDIwMCwgOTgsIDQsIDEsIDIyNiwgMjAwLCA5OCwgNCwgMSwgMjI2LCAyMSwgOTgsIDQsIDEsIDIxMCwgNzgsIDk4LCA0LCAxLCAKLSAgICAyMjMsIDE3NCwgOTgsIDQsIDEsIDIyMSwgMjQ1LCA5OCwgNCwgMSwgMjE3LCA1MSwgOTgsIDQsIDEsIDIxNCwgMTkwLCA5OCwgCi0gICAgNCwgMSwgMjI1LCAxNDMsIDk4LCA0LCAxLCAyMzQsIDEyNywgOTgsIDQsIDEsIDI0MiwgMjQ4LCA5OCwgNCwgMSwgMjI0LCAKLSAgICA3NiwgOTgsIDQsIDEsIDIyMCwgMjIsIDk4LCA0LCAxLCAyNTAsIDEwNSwgOTgsIDQsIDEsIDI1MSwgMTUsIDk4LCA0LCAxLCAKLSAgICAyMzUsIDEwNiwgOTgsIDQsIDEsIDI1MCwgNDgsIDk4LCA0LCAxLCAyNTAsIDE1MSwgOTgsIDQsIDEsIDIxMSwgMTYzLCA5OCwgCi0gICAgNCwgMSwgMjM1LCAxMTcsIDk4LCA0LCAxLCAyNDIsIDUwLCA5OCwgNCwgMSwgMjQxLCAyNDUsIDk4LCA0LCAxLCAyNDEsIAotICAgIDE4MiwgOTgsIDQsIDEsIDIxMiwgMjIsIDk4LCA0LCAxLCAyNDIsIDExLCA5OCwgNCwgMSwgMjQxLCA3MiwgOTgsIDQsIDEsIAotICAgIDIxMCwgMjQ2LCA5OCwgNCwgMSwgMjU0LCAyNDEsIDIxNiwgMTA5LCAxLCAxOTIsIDIxNiwgMTA5LCAxLCAyMTEsIDk5LCAKLSAgICAyMTYsIDEwOSwgMSwgMjExLCA5OCwgMjE2LCAxMDksIDEsIDIxMSwgODgsIDIxNiwgMTA5LCAxLCAyMTEsIDg2LCAyMTYsIAotICAgIDEwOSwgMSwgMjUyLCA0MCwgMjU1LCAyNSwgMjExLCA4MSwgMjE2LCAxMDksIDEsIDIxMSwgODEsIDIxNiwgMTA5LCAxLCAKLSAgICAyMTEsIDk2LCAyMTYsIDEwOSwgMSwgMjExLCA5MywgMjE2LCAxMDksIDEsIDIxMSwgOTUsIDIxNiwgMTA5LCAxLCAyMTEsIAotICAgIDk0LCAyMTYsIDEwOSwgMSwgMjExLCAxMiwgMjE2LCAxMDksIDEsIDIxMSwgOTAsIDIxNiwgMTA5LCAxLCAyMTEsIDc5LCAKLSAgICAyMTYsIDEwOSwgMSwgMjE1LCAxMTYsIDIxMSwgNzksIDIxNiwgMTA5LCAxLCAyMTEsIDc2LCAyMTYsIDEwOSwgMSwgMjExLCAKLSAgICA4NCwgMjE2LCAxMDksIDEsIDI1MiwgNDAsIDI1NSwgMjUsIDIxMSwgODQsIDIxNiwgMTA5LCAxLCAyMTUsIDExNiwgMjExLCAKLSAgICA4NCwgMjE2LCAxMDksIDEsIDIxMSwgODMsIDIxNiwgMTA5LCAxLCAyMTEsIDEwMywgMjE2LCAxMDksIDEsIDIxMSwgNzcsIAotICAgIDIxNiwgMTA5LCAxLCAyMTUsIDExNiwgMjExLCA3NywgMjE2LCAxMDksIDEsIDIxMSwgNjYsIDIxNiwgMTA5LCAxLCAyMTUsIAotICAgIDExNiwgMjExLCA2NiwgMjE2LCAxMDksIDEsIDIxMSwgOCwgMjE2LCAxMDksIDEsIDIxMSwgNDksIDIxNiwgMTA5LCAxLCAKLSAgICAyNTQsIDIxNiwgMjExLCA0OSwgMjE2LCAxMDksIDEsIDIxNSwgMTE2LCAyMTEsIDQ5LCAyMTYsIDEwOSwgMSwgMjExLCA3NSwgCi0gICAgMjE2LCAxMDksIDEsIDIxMSwgNzQsIDIxNiwgMTA5LCAxLCAyMTEsIDcxLCAyMTYsIDEwOSwgMSwgMjE1LCAxMTYsIDIxMSwgCi0gICAgODUsIDIxNiwgMTA5LCAxLCAyMTUsIDExNiwgMjExLCA2OSwgMjE2LCAxMDksIDEsIDIxMSwgNjcsIDIxNiwgMTA5LCAxLCAKLSAgICAyMTAsIDIxMiwgMjE2LCAxMDksIDEsIDIxMSwgNjQsIDIxNiwgMTA5LCAxLCAyMTEsIDYzLCAyMTYsIDEwOSwgMSwgMjExLCAKLSAgICA4NywgMjE2LCAxMDksIDEsIDIxNSwgMTE2LCAyMTEsIDg3LCAyMTYsIDEwOSwgMSwgMjUzLCAxNzEsIDIxMSwgODcsIDIxNiwgCi0gICAgMTA5LCAxLCAyMTEsIDYyLCAyMTYsIDEwOSwgMSwgMjExLCA2MCwgMjE2LCAxMDksIDEsIDIxMSwgNjEsIDIxNiwgMTA5LCAxLCAKLSAgICAyMTEsIDU5LCAyMTYsIDEwOSwgMSwgMjExLCA1OCwgMjE2LCAxMDksIDEsIDIxMSwgOTcsIDIxNiwgMTA5LCAxLCAyMTEsIAotICAgIDU2LCAyMTYsIDEwOSwgMSwgMjExLCA1NCwgMjE2LCAxMDksIDEsIDIxMSwgNTMsIDIxNiwgMTA5LCAxLCAyMTEsIDUyLCAKLSAgICAyMTYsIDEwOSwgMSwgMjExLCA1MCwgMjE2LCAxMDksIDEsIDIxNywgMzUsIDIxMSwgNTAsIDIxNiwgMTA5LCAxLCAyMTEsIAotICAgIDQ4LCAyMTYsIDEwOSwgMSwgMjExLCA0NywgMjE2LCAxMDksIDEsIDIxMCwgMjQ0LCAyMTYsIDEwOSwgNTgsIDEsIDIzMywgCi0gICAgMTMyLCA3OSwgMjE2LCAxMDksIDIyMCwgMTQwLCA3OSwgMjE2LCAxMDksIDExNywgMjM1LCA2OSwgMjksIDMsIDIzMiwgMTYxLCAKLSAgICAyOSwgMywgMjMwLCAxNjUsIDI5LCAzLCAyMjIsIDIxMSwgMjksIDMsIDIxOSwgNTksIDI5LCAzLCAyMjAsIDgsIDI5LCAzLCAKLSAgICAyNTEsIDIxMiwgMjksIDMsIDIxNiwgNDIsIDI5LCAzLCAyNDksIDI0NSwgMjksIDMsIDIyOCwgNzcsIDI5LCAzLCAyMjcsIAotICAgIDEzNywgMjksIDMsIDI0MiwgMTg3LCAyMjcsIDQsIDI5LCAzLCAyMTAsIDIyLCAyOSwgMywgMjQ3LCAxNTEsIDI5LCAzLCAKLSAgICAyNDgsIDExMiwgMjksIDMsIDIzNSwgNzMsIDI5LCAzLCAyMTYsIDE1NiwgMjksIDMsIDI1MCwgOTMsIDI5LCAzLCAyMjUsIAotICAgIDEyMywgMjksIDMsIDIyNSwgMTgsIDI5LCAzLCAyNDMsIDYsIDI5LCAzLCAyNDMsIDIsIDI5LCAzLCAyNDMsIDMsIDI5LCAzLCAKLSAgICAyNDMsIDQsIDI5LCAzLCAyMTgsIDIyNSwgMjksIDMsIDIxOCwgMTgxLCAyOSwgMywgMjE4LCAxOTQsIDI5LCAzLCAyMTgsIAotICAgIDIyNCwgMjksIDMsIDIxOCwgMTk4LCAyOSwgMywgMjE4LCAxOTksIDI5LCAzLCAyMTgsIDE4NiwgMjksIDMsIDI1MCwgMjIxLCAKLSAgICAyOSwgMywgMjUwLCAyMDAsIDI5LCAzLCAyNTAsIDIwMiwgMjksIDMsIDI1MCwgMjIwLCAyOSwgMywgMjUwLCAyMTgsIDI5LCAKLSAgICAzLCAyNTAsIDIxOSwgMjksIDMsIDI1MCwgMjAxLCAyOSwgMywgMjA5LCAyNDMsIDI5LCAzLCAyMDksIDIyMSwgMjksIDMsIAotICAgIDIwOSwgMjM0LCAyOSwgMywgMjA5LCAyNDIsIDI5LCAzLCAyMDksIDIzNywgMjksIDMsIDIwOSwgMjM4LCAyOSwgMywgMjA5LCAKLSAgICAyMjYsIDI5LCAzLCAyNTAsIDIxNiwgMjksIDMsIDI1MCwgMjAzLCAyOSwgMywgMjUwLCAyMDUsIDI5LCAzLCAyNTAsIDIxNSwgCi0gICAgMjksIDMsIDI1MCwgMjEzLCAyOSwgMywgMjUwLCAyMTQsIDI5LCAzLCAyNTAsIDIwNCwgMjksIDMsIDIyMywgMjM5LCAyOSwgCi0gICAgMywgMjIzLCAyMjksIDI5LCAzLCAyMjMsIDIzNSwgMjksIDMsIDIyMywgMjM4LCAyOSwgMywgMjIzLCAyMzYsIDI5LCAzLCAKLSAgICAyMjMsIDIzNywgMjksIDMsIDIyMywgMjM0LCAyOSwgMywgMjMzLCAxNjUsIDI5LCAzLCAyMzMsIDE1NywgMjksIDMsIDIzMywgCi0gICAgMTYwLCAyOSwgMywgMjMzLCAxNjQsIDI5LCAzLCAyMzMsIDE2MSwgMjksIDMsIDIzMywgMTYyLCAyOSwgMywgMjMzLCAxNTgsIAotICAgIDI5LCAzLCAyMTEsIDEzMCwgMjksIDMsIDIxMSwgMTIwLCAyOSwgMywgMjExLCAxMjYsIDI5LCAzLCAyMTEsIDEyOSwgMjksIAotICAgIDMsIDIxMSwgMTI3LCAyOSwgMywgMjExLCAxMjgsIDI5LCAzLCAyMTEsIDEyNSwgMjksIDMsIDI0MiwgNzgsIDI5LCAzLCAKLSAgICAyNDIsIDY5LCAyOSwgMywgMjQyLCA3MiwgMjksIDMsIDI0MiwgNzcsIDI5LCAzLCAyNDIsIDc0LCAyOSwgMywgMjQyLCA3NSwgCi0gICAgMjksIDMsIDI0MiwgNzEsIDM4LCAzMywgMSwgMjUyLCA4MywgMzgsIDMzLCAxLCAyMTMsIDI1NSwgMzgsIDMzLCAxLCAyNDIsIAotICAgIDI0MywgMzgsIDMzLCAxLCAyNDgsIDk4LCAzOCwgMzMsIDEsIDIxMCwgNzQsIDM4LCAzMywgMSwgMjEwLCA5NCwgMzgsIDMzLCAKLSAgICAxLCAxNzYsIDM4LCAzMywgMSwgMjQ1LCAxODIsIDM4LCAzMywgMSwgMjQ1LCAxNjcsIDM4LCAzMywgMSwgMjQ1LCAxNTgsIAotICAgIDM4LCAzMywgMSwgNzgsIDM4LCAzMywgMSwgMjI1LCAyMjQsIDM4LCAzMywgMSwgMjQ1LCAxMDAsIDM4LCAzMywgMSwgMjQ1LCAKLSAgICA5MCwgMzgsIDMzLCAxLCAyMTcsIDIzLCAzOCwgMzMsIDEsIDE2MiwgMzgsIDMzLCAxLCAyMTUsIDE3OSwgMzgsIDMzLCAxLCAKLSAgICAyNTAsIDEzOSwgMzgsIDMzLCAxLCAyMjAsIDEwNCwgMzgsIDMzLCAxLCAyMjAsIDY3LCAzOCwgMzMsIDEsIDI0NCwgOTAsIAotICAgIDM4LCAzMywgMSwgMjQ1LCA4OSwgMzgsIDMzLCAxLCA2MSwgMzgsIDMzLCAxLCAyMzYsIDY3LCAzOCwgMzMsIDEsIDI0NywgCi0gICAgMTY5LCAzOCwgMzMsIDEsIDIzMCwgMTQ1LCAyMTQsIDIwNSwgMzgsIDMzLCAxLCAyMTEsIDU5LCAzOCwgMzMsIDEsIDIxMCwgCi0gICAgMjEyLCAzOCwgMzMsIDEsIDIzNSwgMTkwLCA2MSwgMzgsIDMzLCAxLCAyMzIsIDE5OCwgMjEwLCAxODMsIDM4LCAzMywgMSwgCi0gICAgMjUyLCAxLCAyMTAsIDE4MywgMzgsIDMzLCAxLCAyMzUsIDE5MCwgMjUyLCAxLCAyMTAsIDE4MywgNDQsIDI1NCwgMTE4LCAKLSAgICAyMTgsIDYxLCAyMzEsIDE1OSwgNDQsIDI1NCwgMTE4LCAyNDYsIDEyNiwgMjE4LCA2MSwgMjMxLCAxNTksIDQzLCAyMTgsIAotICAgIDYxLCAxMjcsIDQ0LCAyMTgsIDYxLCAxMjcsIDQzLCAyNDYsIDEyNiwgMjE4LCA2MSwgMTI3LCA0NCwgMjQ2LCAxMjYsIDIxOCwgCi0gICAgNjEsIDEyNywgMjIzLCAxNjAsIDIzNSwgMjA5LCAyMzEsIDE1OSwgMjIzLCAxNjAsIDI0NiwgMTI2LCAyMzUsIDIwOSwgMjMxLCAKLSAgICAxNTksIDI0NiwgMTI2LCAyMTUsIDI0MiwgMjMxLCAxNTksIDQzLCAyMTUsIDI0MiwgMTI3LCA0NCwgMjE1LCAyNDIsIDEyNywgCi0gICAgMjIzLCAxNjAsIDIxOCwgMjM2LCA0MywgMjIzLCAxNjAsIDIyNiwgMjAyLCAxMjcsIDQ0LCAyMjMsIDE2MCwgMjI2LCAyMDIsIAotICAgIDEyNywgMjQ1LCAyMTgsIDI0OSwgMTY2LCAyMjYsIDE3LCAyNDQsIDMwLCAyMjYsIDE3LCAyMjMsIDUyLCAyNDQsIDMwLCAKLSAgICAyMjYsIDE3LCAyNDAsIDE3MiwgMjQ2LCAxMjYsIDIyNiwgMjU1LCAyNDYsIDExMiwgMjU0LCAxMjcsIDIxNCwgMTUzLCAyNTQsIAotICAgIDEyNywgMjQ2LCAxMjYsIDIyMiwgMjUwLCAyNTQsIDExNywgNTIsIDIyNiwgMjUyLCAyNDAsIDE3NSwgMjM1LCAyMDAsIDIzNSwgCi0gICAgMjA4LCAyMjYsIDYzLCAyNTEsIDE2MiwgMjQwLCAxNzYsIDIsIDI0OCwgOSwgMjE2LCA5MCwgMiwgMjIyLCAyMzcsIDQ4LCAKLSAgICA0MywgMTIxLCAyMjYsIDksIDEyNywgNDQsIDEyMSwgMjI2LCA5LCAxMjcsIDIxNiwgOTAsIDIsIDU5LCA0OCwgMjE2LCA5MCwgCi0gICAgMiwgNTksIDUxLCA0MywgNjcsIDI1MiwgMTQ5LCAyLCAyMjQsIDEwLCA0NCwgNjcsIDI1MiwgMTQ5LCAyLCAyMjQsIDEwLCAKLSAgICAyMTYsIDE1LCA0MywgMTYzLCAxMjcsIDIxNiwgMTUsIDQ0LCAxNjMsIDEyNywgMjUxLCAxODMsIDQzLCAxNjMsIDEyNywgCi0gICAgMjUxLCAxODMsIDQ0LCAxNjMsIDEyNywgNDMsIDIxOSwgMTg5LCAxMDQsIDEyNywgNDQsIDIxOSwgMTg5LCAxMDQsIDEyNywgCi0gICAgNDMsIDUyLCAyMjYsIDcsIDQ0LCA1MiwgMjI2LCA3LCAxMTMsIDE3MCwgMTE1LCAxMjMsIDU5LCAyMjQsIDE0MywgMTIzLCAKLSAgICA1OSwgMTE1LCAxMTMsIDE3MCwgMjI0LCAxNDMsIDkyLCAyNDQsIDE5LCA1OSwgMjI0LCAxNDMsIDI0NCwgODksIDU5LCA3OSwgCi0gICAgMjIzLCA1MiwgMjI0LCAxNiwgNzksIDY3LCAxODQsIDIyMiwgMjM3LCAyMjUsIDEzLCAyMTEsIDIwOSwgMjIwLCAxNDAsIAotICAgIDIzMCwgMjI5LCAyNDcsIDEyOCwgMjE1LCA5NCwgMjQ5LCAyMjcsIDIyMywgMTYwLCAyNDcsIDEyOCwgMjIzLCAxNjAsIDI0OSwgCi0gICAgMjI3LCAyMTUsIDk0LCAyMjAsIDE1MiwgMjQ4LCAyMTQsIDIsIDQzLCAyNDIsIDExNSwgMjQ4LCAyMTQsIDIsIDQ0LCAyNDIsIAotICAgIDExNSwgMjE1LCA5NCwgMjQ4LCAyMTMsIDIxNiwgMTUsIDE2MywgMjIxLCAxNzUsIDUwLCAyMTUsIDU5LCAyNDgsIDE2NCwgCi0gICAgMjE2LCAxNDQsIDI0OCwgMTY0LCAxMCwgMzQsIDIyMywgNzksIDEwLCAzNCwgMjUwLCAxOCwgMTAsIDM0LCAyMjEsIDE3OCwgCi0gICAgMTExLCAxMCwgMzQsIDIyMSwgMTc4LCAxMDUsIDEwLCAzNCwgMjIxLCAxNzgsIDE1OCwgMTAsIDM0LCAyMjUsIDE3MCwgMTAsIAotICAgIDM0LCAyNTEsIDE3MSwgMTAsIDM0LCAyMTcsIDkzLCAxMCwgMzQsIDIzNCwgMzksIDExMSwgMTAsIDM0LCAyMzQsIDM5LCAKLSAgICAxMDUsIDEwLCAzNCwgMjQ3LCAxNzgsIDEwLCAzNCwgMjIxLCAxODEsIDEwLCAzNCwgNCwgMTExLCAxMCwgMzQsIDQsIDEwNSwgCi0gICAgMTAsIDM0LCAyMzMsIDEwMywgMTExLCAxMCwgMzQsIDIzMywgMTAzLCAxMDUsIDEwLCAzNCwgMjMzLCAxMDMsIDE1OCwgMTAsIAotICAgIDM0LCAyMzMsIDEwMywgMTYxLCAxMCwgMzQsIDIxOSwgNzAsIDEwLCAzNCwgMjE2LCAxNDYsIDEwLCAzNCwgMjE5LCA2OCwgCi0gICAgMTExLCAxMCwgMzQsIDIxOSwgNjgsIDEwNSwgMTAsIDM0LCAyNDEsIDIzNSwgMTExLCAxMCwgMzQsIDI0MSwgMjM1LCAxMDUsIAotICAgIDEwLCAzNCwgMjQyLCAyMiwgMTAsIDM0LCAyMjMsIDE1MCwgMTAsIDM0LCAyNTAsIDkwLCAxMCwgMzQsIDIxOCwgMzgsIDEwLCAKLSAgICAzNCwgMjMwLCAxMzMsIDEwLCAzNCwgMjQ4LCA5NiwgMTAsIDM0LCAyMzAsIDEyNSwgMTAsIDM0LCAyNTAsIDMzLCAxMCwgMzQsIAotICAgIDIxMiwgNDEsIDExMSwgMTAsIDM0LCAyMTIsIDQxLCAxMDUsIDEwLCAzNCwgMjQ0LCAxMDQsIDEwLCAzNCwgMjI1LCAyMzYsIAotICAgIDExMSwgMTAsIDM0LCAyMjUsIDIzNiwgMTA1LCAxMCwgMzQsIDIxOSwgMTYyLCAxNjMsIDIxNSwgMjM3LCAyMTUsIDE4OSwgCi0gICAgMTAsIDM0LCAyNDksIDE1MywgMTAsIDM0LCAyNDcsIDE0NCwgMTAsIDM0LCAyMzUsIDE0MywgMTAsIDM0LCAyNTEsIDIwNiwgCi0gICAgNjQsIDI1MCwgMiwgMTAsIDM0LCAyNDUsIDIzLCAxMCwgMzQsIDIxOCwgMjUxLCAxMTEsIDEwLCAzNCwgMjE4LCAyNTEsIAotICAgIDEwNSwgMTAsIDM0LCAyNTIsIDE2MiwgMTAsIDM0LCAyMTksIDE2OSwgMTAsIDM0LCAyNTEsIDcxLCAyMTksIDE2OSwgMTAsIAotICAgIDM0LCAyMjksIDk1LCAxMTEsIDEwLCAzNCwgMjI5LCA5NSwgMTA1LCAxMCwgMzQsIDIyOSwgOTUsIDE1OCwgMTAsIDM0LCAKLSAgICAyMjksIDk1LCAxNjEsIDEwLCAzNCwgMjMxLCA1MSwgMTAsIDM0LCAyMjAsIDU5LCAxMCwgMzQsIDIyMywgMTU2LCAxMCwgMzQsIAotICAgIDI0NSwgNDUsIDEwLCAzNCwgMjI2LCAyMTMsIDEwLCAzNCwgMjUxLCAxNDEsIDExMSwgMTAsIDM0LCAyNTEsIDE0MSwgMTA1LCAKLSAgICAxMCwgMzQsIDIzMSwgOTEsIDEwLCAzNCwgMjMwLCAxMjgsIDEwLCAzNCwgMjQyLCAxNDcsIDExMSwgMTAsIDM0LCAyNDIsIAotICAgIDE0NywgMTA1LCAxMCwgMzQsIDI0MiwgMTQ3LCAxNTgsIDEwLCAzNCwgMjE2LCAxMDcsIDEwLCAzNCwgMjUwLCAxLCAxMCwgCi0gICAgMzQsIDIxMiwgOSwgMTExLCAxMCwgMzQsIDIxMiwgOSwgMTA1LCAxMCwgMzQsIDI1MSwgNzEsIDIyMSwgMTcyLCAxMCwgMzQsIAotICAgIDIxOSwgMTYyLCAyNDAsIDI1NSwgMTAsIDM0LCAyNDAsIDI1NSwgMTAsIDM0LCAyNTEsIDcxLCAyMTksIDQsIDEwLCAzNCwgCi0gICAgMjUxLCA3MSwgMjIwLCA1NCwgMTAsIDM0LCAyNDQsIDQwLCAxMCwgMzQsIDI1MSwgNzEsIDI1MCwgMjM2LCAxMCwgMzQsIAotICAgIDIxOSwgMTYyLCAyMTIsIDU3LCAxMCwgMzQsIDIxMiwgNTgsIDExMSwgMTAsIDM0LCAyMTIsIDU4LCAxMDUsIDEwLCAzNCwgCi0gICAgMjUwLCAzNSwgMTAsIDM0LCAyNTEsIDcxLCAyNDIsIDE3MywgMTAsIDM0LCAyMDAsIDExMSwgMTAsIDM0LCAyMDAsIDEwNSwgCi0gICAgMTAsIDM0LCAyNTEsIDcxLCAyMzIsIDE0MywgMTAsIDM0LCAyNTEsIDcxLCAyNDMsIDk1LCAxMCwgMzQsIDIzMCwgMTI0LCAKLSAgICAxMTEsIDEwLCAzNCwgMjMwLCAxMjQsIDEwNSwgMTAsIDM0LCAyMjMsIDE2MiwgMTAsIDM0LCAyNTEsIDIxNSwgMTAsIDM0LCAKLSAgICAyNTEsIDcxLCAyMTcsIDU3LCAyMzMsIDU4LCAxMCwgMzQsIDI1MSwgNzEsIDIzMywgNTksIDEwLCAzNCwgMjUxLCA3MSwgCi0gICAgMjExLCAyMzksIDEwLCAzNCwgMjUxLCA3MSwgMjQ0LCA1NCwgMTAsIDM0LCAyNDUsIDIyNiwgMTExLCAxMCwgMzQsIDI0NSwgCi0gICAgMjI2LCAxMDUsIDEwLCAzNCwgMjQ1LCAyMjYsIDE1OCwgMTAsIDM0LCAyNTEsIDcxLCAyNDUsIDIyNSwgMTAsIDM0LCAyNDEsIAotICAgIDI0MiwgMTAsIDM0LCAyNTEsIDcxLCAyNDAsIDI1MiwgMTAsIDM0LCAyNTEsIDIwMiwgMTAsIDM0LCAyNDIsIDIyOSwgMTAsIAotICAgIDM0LCAyNTEsIDcxLCAyNDQsIDk4LCAxMCwgMzQsIDI1MSwgNzEsIDI1MSwgMjQ1LCAxMCwgMzQsIDI1MSwgNzEsIDIyMiwgMywgCi0gICAgMTAsIDM0LCAyMTksIDE2MiwgMjEyLCAyLCAxMCwgMzQsIDIxOSwgMTYyLCAyMTEsIDQxLCAxMCwgMzQsIDI1MSwgNzEsIAotICAgIDI0MywgMjUyLCAxMCwgMzQsIDIzNSwgMTQ5LCAyNDUsIDQ5LCAxMCwgMzQsIDI1MSwgNzEsIDI0NSwgNDksIDEwLCAzNCwgCi0gICAgMjM1LCAxNDksIDIxNiwgMTYsIDEwLCAzNCwgMjUxLCA3MSwgMjE2LCAxNiwgMTAsIDM0LCAyMzUsIDE0OSwgMjQ2LCAxMDQsIAotICAgIDEwLCAzNCwgMjUxLCA3MSwgMjQ2LCAxMDQsIDEwLCAzNCwgMjE1LCA5MSwgMTAsIDM0LCAyMzUsIDE0OSwgMjE1LCA5MSwgCi0gICAgMTAsIDM0LCAyNTEsIDcxLCAyMTUsIDkxLCA2MCwgMzQsIDExMSwgNjAsIDM0LCAyMzIsIDIxOSwgNjAsIDM0LCAyNDcsIAotICAgIDEyOCwgNjAsIDM0LCAyMTksIDk3LCA2MCwgMzQsIDIyMSwgMTc3LCA2MCwgMzQsIDEwMywgNjAsIDM0LCAxMDUsIDYwLCAzNCwgCi0gICAgMjMyLCAyNDMsIDYwLCAzNCwgMjMxLCAxOTAsIDYwLCAzNCwgMjMzLCAzOSwgNjAsIDM0LCAyNDUsIDEzNywgNjAsIDM0LCAKLSAgICAxOTYsIDYwLCAzNCwgMTI0LCAyNTEsIDE3MSwgNjAsIDM0LCAyNDksIDE1NSwgNjAsIDM0LCAyNDAsIDExOCwgNjAsIDM0LCAKLSAgICAyMTcsIDkzLCA2MCwgMzQsIDIwNCwgMjUxLCAxNzEsIDYwLCAzNCwgMjM0LCAzOCwgNjAsIDM0LCAyMjQsIDIyNywgNjAsIAotICAgIDM0LCAyMTEsIDIwMiwgNjAsIDM0LCAyMTgsIDI0NSwgNjAsIDM0LCA0NCwgMjA0LCAyNTEsIDE3MSwgNjAsIDM0LCAyNDEsIAotICAgIDE4MywgMjQ1LCAxNTMsIDYwLCAzNCwgMjE2LCAyNDgsIDYwLCAzNCwgMjQ3LCAxNzgsIDYwLCAzNCwgMjIxLCAxODEsIDYwLCAKLSAgICAzNCwgMjUwLCAxOCwgNjAsIDM0LCAyMjQsIDE4NSwgNjAsIDM0LCAyNTQsIDIyNCwgNjAsIDM0LCAyMzAsIDExNSwgNjAsIAotICAgIDM0LCAyNDUsIDE1MywgNjAsIDM0LCAyNDUsIDIzMSwgNjAsIDM0LCAyMjEsIDIwMiwgNjAsIDM0LCAyNDIsIDE4MSwgNjAsIAotICAgIDM0LCAyNDIsIDE4MiwgMjE5LCA4MywgNjAsIDM0LCAyNDUsIDQ4LCA2MCwgMzQsIDI1MiwgMCwgNjAsIDM0LCAyMTEsIDIyMSwgCi0gICAgNjAsIDM0LCAyNTAsIDEwOSwgNjAsIDM0LCAyMjIsIDE5OCwgNjAsIDM0LCAyMzYsIDIsIDYwLCAzNCwgMjE5LCA4MSwgNjAsIAotICAgIDM0LCAyMzMsIDEwMiwgNjAsIDM0LCAyNDksIDE2NCwgNjAsIDM0LCAyMTgsIDIzOSwgNjAsIDM0LCAyMzAsIDEyMCwgNjAsIAotICAgIDM0LCAyMjIsIDIyNywgNjAsIDM0LCAyMTEsIDIwNiwgNjAsIDM0LCAyMjYsIDE5NCwgNjAsIDM0LCAyMTUsIDk4LCA2MCwgCi0gICAgMzQsIDI0NiwgODgsIDYwLCAzNCwgMjE5LCAyNTMsIDIxNiwgMTQ2LCA2MCwgMzQsIDI0NiwgMTI2LCAyNTAsIDE4LCA2MCwgCi0gICAgMzQsIDIwMCwgMjE4LCAxMTAsIDYwLCAzNCwgMTEzLCAyNDIsIDE3LCA2MCwgMzQsIDIyMCwgMiwgNjAsIDM0LCAyNTEsIAotICAgIDE3NywgNjAsIDM0LCAyMTksIDY3LCA2MCwgMzQsIDI1MSwgMTQ1LCA2MCwgMzQsIDIxOCwgMTQwLCA2MCwgMzQsIDI0MSwgCi0gICAgMjM0LCA2MCwgMzQsIDI0MiwgMzUsIDYwLCAzNCwgMjQ3LCAxMzEsIDYwLCAzNCwgMjQyLCAyMiwgNjAsIDM0LCAyNTEsIAotICAgIDE2MiwgNjAsIDM0LCAyMjMsIDE1MCwgNjAsIDM0LCAyMjEsIDE4OSwgNjAsIDM0LCAyNDcsIDIwNywgNjAsIDM0LCAyNTMsIAotICAgIDE3NiwgNjAsIDM0LCAyMTgsIDIzNiwgNjAsIDM0LCAyMjgsIDU2LCA2MCwgMzQsIDIxOCwgMzgsIDYwLCAzNCwgMjIxLCAKLSAgICAyMTMsIDYwLCAzNCwgMjMwLCAxMzMsIDYwLCAzNCwgMjE1LCAyMzYsIDYwLCAzNCwgMjMzLCAxMjgsIDYwLCAzNCwgMjE4LCAKLSAgICAxMzEsIDYwLCAzNCwgMjQ4LCA5NiwgNjAsIDM0LCAyMTIsIDIxLCA2MCwgMzQsIDI0NywgMTU0LCAyMjgsIDU2LCA2MCwgMzQsIAotICAgIDI0OSwgMjIzLCA2MCwgMzQsIDI0MywgMjI5LCA2MCwgMzQsIDI1MCwgMjksIDYwLCAzNCwgMjE4LCAxNDQsIDYwLCAzNCwgCi0gICAgMjEyLCA0MCwgNjAsIDM0LCAyNDQsIDEwNCwgNjAsIDM0LCAyNTAsIDI2LCA2MCwgMzQsIDI0NCwgMTY5LCA2MCwgMzQsIDUyLCAKLSAgICAyMTEsIDE3OCwgNjAsIDM0LCAxNjMsIDIxNSwgMjM3LCAyMTUsIDE4OSwgNjAsIDM0LCAyMTksIDkxLCA2MCwgMzQsIDI0NCwgCi0gICAgMTc5LCA2MCwgMzQsIDI0OSwgMTUzLCA2MCwgMzQsIDI0NywgMTQ0LCA2MCwgMzQsIDIyNCwgMTgyLCA2MCwgMzQsIDIzNSwgCi0gICAgMTQzLCA2MCwgMzQsIDIzMSwgNzIsIDYwLCAzNCwgMjE2LCA4OSwgNjAsIDM0LCAyMTcsIDI0NiwgNjAsIDM0LCAyMzIsIAotICAgIDIzNywgNjAsIDM0LCAyMTQsIDEzMSwgNjAsIDM0LCAyNDQsIDEyOCwgNjAsIDM0LCAyNTEsIDIwNiwgNjQsIDI1MCwgMiwgCi0gICAgNjAsIDM0LCAyMTksIDE5MCwgNjAsIDM0LCAyNDYsIDEyNiwgMjE2LCAyNDMsIDYwLCAzNCwgMjExLCAyNTMsIDYwLCAzNCwgCi0gICAgMjE5LCAxMDUsIDYwLCAzNCwgMjQ3LCAxOTUsIDYwLCAzNCwgMjQ1LCAyMywgNjAsIDM0LCAyMTksIDcsIDYwLCAzNCwgNzUsIAotICAgIDYwLCAzNCwgMjE4LCAxMzMsIDYwLCAzNCwgMjE4LCAyNTAsIDYwLCAzNCwgMjE2LCAwLCA2MCwgMzQsIDI0MiwgMTU0LCA2MCwgCi0gICAgMzQsIDI1MCwgMjI2LCA2MCwgMzQsIDIxOCwgMTYyLCA2MCwgMzQsIDI1MiwgMTYyLCA2MCwgMzQsIDIyMywgMzQsIDYwLCAKLSAgICAzNCwgMjE5LCAxNjksIDYwLCAzNCwgMjM1LCAxMzYsIDYwLCAzNCwgMjI5LCA5NCwgNjAsIDM0LCAyMjAsIDU5LCA2MCwgMzQsIAotICAgIDI0NCwgMTU3LCA2MCwgMzQsIDIyNiwgMjEzLCA2MCwgMzQsIDI1NCwgMTI2LCA2MCwgMzQsIDIyNSwgMzIsIDYwLCAzNCwgCi0gICAgMjQ1LCAyMzUsIDYwLCAzNCwgMjUxLCAxNDAsIDYwLCAzNCwgMjMxLCA5MSwgNjAsIDM0LCAyMzAsIDE4OCwgNjAsIDM0LCAKLSAgICAyMjAsIDE1OCwgNjAsIDM0LCAyNTQsIDQsIDYwLCAzNCwgMjMwLCAxMjgsIDYwLCAzNCwgMjE2LCAyMCwgNjAsIDM0LCAyMjYsIAotICAgIDE2OSwgNjAsIDM0LCAyNTEsIDIwOSwgNjAsIDM0LCAyMTgsIDEyOSwgNjAsIDM0LCAyNDksIDIzMywgNjAsIDM0LCAyNDIsIAotICAgIDE0NiwgNjAsIDM0LCAyMTYsIDEwNywgNjAsIDM0LCAyMzUsIDIyNCwgNjAsIDM0LCAyNTEsIDIxOSwgNjAsIDM0LCAyMTIsIAotICAgIDU4LCAyNDUsIDE1MywgNjAsIDM0LCAyNTAsIDEsIDYwLCAzNCwgMjEyLCA4LCA2MCwgMzQsIDIyMSwgMTcyLCA2MCwgMzQsIAotICAgIDI0MCwgMjU1LCA2MCwgMzQsIDIxOSwgNCwgNjAsIDM0LCAyMTQsIDIyLCA2MCwgMzQsIDI1MiwgODAsIDYwLCAzNCwgMjI1LCAKLSAgICA3NiwgNjAsIDM0LCAyNTIsIDE4MiwgNjAsIDM0LCAyMjAsIDU0LCA2MCwgMzQsIDIyMywgMTEzLCA2MCwgMzQsIDIyMiwgCi0gICAgMTI4LCA2MCwgMzQsIDI0NCwgNDAsIDYwLCAzNCwgMjUxLCAyMDgsIDYwLCAzNCwgMjUwLCAyMzYsIDYwLCAzNCwgMjUxLCAKLSAgICAyMzQsIDYwLCAzNCwgMjMwLCAxMzAsIDYwLCAzNCwgMjEyLCA1NywgNjAsIDM0LCAyNTAsIDM1LCA2MCwgMzQsIDIxMSwgCi0gICAgMjM2LCA2MCwgMzQsIDI0NywgMTg4LCA2MCwgMzQsIDIxMywgMTYxLCA2MCwgMzQsIDI0MiwgMTczLCA2MCwgMzQsIDIzMiwgCi0gICAgMTQzLCA2MCwgMzQsIDI0MywgOTUsIDYwLCAzNCwgMjMwLCAxMjMsIDYwLCAzNCwgMjE5LCA5NiwgNjAsIDM0LCAyMTksIAotICAgIDI1MywgMjE3LCA3NywgMjUxLCAyNDUsIDYwLCAzNCwgMjIzLCAxNjIsIDYwLCAzNCwgMjUxLCAyMTUsIDYwLCAzNCwgMjExLCAKLSAgICAxOTcsIDYwLCAzNCwgMjQ0LCAxOTgsIDYwLCAzNCwgMjMzLCA1OCwgNjAsIDM0LCAyMTcsIDU3LCAyMzMsIDU4LCA2MCwgMzQsIAotICAgIDIzMywgNTQsIDYwLCAzNCwgMjE5LCAzMiwgNjAsIDM0LCAyMzMsIDU5LCA2MCwgMzQsIDIxMSwgMjM5LCA2MCwgMzQsIDI0NCwgCi0gICAgNTQsIDYwLCAzNCwgMjQ1LCAyMjUsIDYwLCAzNCwgMjQxLCAyNDIsIDYwLCAzNCwgMjQ0LCA4LCA2MCwgMzQsIDI0MCwgMjUyLCAKLSAgICA2MCwgMzQsIDI1MSwgMjAyLCA2MCwgMzQsIDIxNywgNjQsIDYwLCAzNCwgMjQyLCA0MSwgNjAsIDM0LCAyNDQsIDEyMSwgNjAsIAotICAgIDM0LCAyMjIsIDMwLCAyMTEsIDIzNiwgNjAsIDM0LCAyNTAsIDIyOCwgNjAsIDM0LCAyNDIsIDIyOSwgNjAsIDM0LCAyNDQsIAotICAgIDk4LCA2MCwgMzQsIDI1MSwgMjQ1LCA2MCwgMzQsIDIyMiwgMywgNjAsIDM0LCAyNDgsIDgyLCA2MCwgMzQsIDIxMiwgMiwgCi0gICAgNjAsIDM0LCAyNDEsIDIxNywgNjAsIDM0LCAyMTEsIDQxLCA2MCwgMzQsIDIzMCwgMTk3LCA2MCwgMzQsIDI1MSwgMjI5LCAKLSAgICA2MCwgMzQsIDI0NSwgMTYzLCA2MCwgMzQsIDI0MywgMjUyLCA2MCwgMzQsIDIxNSwgMjEwLCA2MCwgMzQsIDI0NiwgOTAsIAotICAgIDYwLCAzNCwgMjIzLCAxNDQsIDYwLCAzNCwgMjI4LCA1OCwgNjAsIDM0LCAyNDUsIDQ5LCA2MCwgMzQsIDIxNiwgMTYsIDYwLCAKLSAgICAzNCwgMjQ2LCAxMDQsIDYwLCAzNCwgMjE1LCA5MSwgNjAsIDM0LCAyNDQsIDU2LCAxMTAsIDI0OCwgNDUsIDEzNSwgNDMsIAotICAgIDIxNiwgNDMsIDIyMiwgMjU0LCAxMTAsIDI0OCwgNDUsIDEzNSwgNzIsIDIxNiwgNDMsIDUxLCAxMTAsIDI0OCwgNDUsIDEzNSwgCi0gICAgNDMsIDIxNiwgNDMsIDIzMCwgMjI5LCAyMiwgMjIyLCAyNTQsIDExMCwgMjQ4LCA0NSwgMTM1LCA3MiwgMjE2LCA0MywgMjMwLCAKLSAgICAyMjksIDIyLCA1MSwgMTEwLCAyNDgsIDQ1LCAxMzUsIDI0MywgMjM2LCAyMTgsIDExLCAxMTAsIDI0OCwgNDUsIDEzNSwgCi0gICAgMjE4LCAxMiwgMjQzLCAyNTEsIDQ4LCAxMTAsIDI0OCwgNDUsIDEzNSwgMjE4LCAxMiwgMjQzLCAyNTEsIDUxLCAxMTAsIAotICAgIDI0OCwgNDUsIDEzNSwgMjE4LCAxMiwgMjQzLCAyNTEsIDIzMywgNTIsIDExMCwgMjQ4LCA0NSwgMTM1LCAyMTgsIDEyLCAKLSAgICAyNDMsIDI1MSwgMjE0LCAxNjAsIDIzMywgNTIsIDExMCwgMjQ4LCA0NSwgMTM1LCAyMTgsIDEyLCAyNDMsIDI1MSwgMjE0LCAKLSAgICAxNjAsIDIyMiwgMjU0LCAxMTAsIDI0OCwgNDUsIDEzNSwgMjE4LCAxMiwgMjQzLCAyNTEsIDIzMiwgMTE0LCAyMzMsIDUyLCAKLSAgICAxMTAsIDI0OCwgNDUsIDEzNSwgMjI2LCAxMjYsIDExMCwgMjE5LCAyMCwgMTEwLCAyNDksIDIyNywgMTEwLCAyNDMsIDIzNiwgCi0gICAgMjE4LCAxMzEsIDI0NywgMTg1LCA3OSwgMjM1LCAxMzcsIDIzNSwgMjQzLCAyMTgsIDE2MSwgODcsIDExMCwgMjM1LCAxNjQsIAotICAgIDc5LCAxMTAsIDI1MCwgNCwgNzksIDExMCwgNTQsIDIxMCwgODYsIDQzLCAyNTQsIDExOCwgMTI3LCA0NCwgMjU0LCAxMTgsIAotICAgIDEyNywgNDMsIDUyLCAyNTQsIDExOCwgMTI3LCA0NCwgNTIsIDI1NCwgMTE4LCAxMjcsIDQzLCAyNDksIDE2OSwgMTI3LCA0NCwgCi0gICAgMjQ5LCAxNjksIDEyNywgNDMsIDcxLCAyNDksIDE2OSwgMTI3LCA0NCwgNzEsIDI0OSwgMTY5LCAxMjcsIDQzLCA4NSwgMjMzLCAKLSAgICAyNiwgMTI3LCA0NCwgODUsIDIzMywgMjYsIDEyNywgMjI0LCAyNDAsIDc5LCAyNDMsIDM5LCA3OSwgNDMsIDIxNiwgNywgCi0gICAgMjIwLCA1NSwgMTI3LCA0NCwgMjE2LCA3LCAyMjAsIDU1LCAxMjcsIDQzLCA3MSwgMjMzLCAyNiwgMTI3LCA0NCwgNzEsIAotICAgIDIzMywgMjYsIDEyNywgNDMsIDcxLCAyMTYsIDcsIDIyMCwgNTUsIDEyNywgNDQsIDcxLCAyMTYsIDcsIDIyMCwgNTUsIDEyNywgCi0gICAgNDMsIDcxLCA0MiwgMTI3LCA0NCwgNzEsIDQyLCAxMjcsIDIxMiwgMzYsIDI0OCwgMTY0LCAyMjMsIDUyLCA1MiwgMjI0LCAKLSAgICAxOTQsIDIyNCwgMSwgNzksIDUyLCAyMjQsIDE5NCwgMjI0LCAxLCA3OSwgMTIxLCA1MiwgMjI0LCAxOTQsIDIyNCwgMSwgNzksIAotICAgIDIyNCwgMjQwLCAxNjQsIDI0NCwgMTk4LCAyNDIsIDE1LCAyMjcsIDIwMiwgMTExLCAyNDIsIDE1LCAyMjcsIDIwMiwgMTA1LCAKLSAgICAyNDIsIDE1LCAyMjcsIDIwMiwgMTU4LCAyNDIsIDE1LCAyMjcsIDIwMiwgMTYxLCAyNDIsIDE1LCAyMjcsIDIwMiwgMTkwLCAKLSAgICAyNDIsIDE1LCAyMjcsIDIwMiwgMTk1LCAyNDIsIDE1LCAyMjcsIDIwMiwgMTk5LCAyNDIsIDE1LCAyMjcsIDIwMiwgMTk2LCAKLSAgICAyNDIsIDE1LCAyMjcsIDIwMiwgMjAxLCAxMTAsIDIzMywgOSwgMTM4LCA3OSwgMTEwLCAyMjIsIDIzMSwgMTM4LCA3OSwgCi0gICAgMTEwLCAyNDgsIDUyLCAxMzgsIDc5LCAxMTAsIDI0NSwgMTM2LCAxMzgsIDc5LCAyNCwgMjE5LCAxNTcsIDU5LCAxMzgsIDc5LCAKLSAgICAyNCwgNTIsIDU5LCAxMzgsIDc5LCAyMTIsIDMyLCAyNDgsIDE2NCwgNjcsIDIzNCwgMjM5LCAyMjMsIDgwLCA3OSwgNjcsIAotICAgIDIzNCwgMjM5LCAyMjMsIDgwLCAyLCAyMTMsIDEzNSwgMjE5LCAzMywgNzksIDY3LCAyMzQsIDIzOSwgMjIzLCA4MCwgMTY0LCAKLSAgICAyMTQsIDE2MCwgMjQyLCAzNCwgNjcsIDIzNCwgMjM5LCAyMjMsIDgwLCAyLCAyMTMsIDEzNSwgMjE5LCAzMywgMTY0LCAyMTQsIAotICAgIDE2MCwgMjQyLCAzNCwgNjcsIDIzNCwgMjM5LCAyMjMsIDgwLCAxNjQsIDIzMiwgMTE0LCAyNDIsIDM0LCAzNywgMjI0LCAKLSAgICAyNDAsIDc5LCAxMTAsIDIxNywgNCwgMjMyLCAyMjAsIDI0NCwgMTU0LCAyMjAsIDE0MCwgODcsIDI0MiwgMTUsIDIyNywgCi0gICAgMjAyLCAyMTYsIDI0OCwgMjQyLCAxNSwgMjI3LCAyMDIsIDIxNSwgNzMsIDI0MiwgMTUsIDIyNywgMjAyLCAyMTYsIDE2MywgCi0gICAgNjcsIDExMCwgMjM1LCAxNjQsIDc5LCAyMzEsIDE0NSwgNzksIDIyNiwgMywgMjU0LCAxNDgsIDc5LCAxMTAsIDQ1LCAyMzUsIAotICAgIDI0NSwgMTEwLCAxNjMsIDI0NCwgMTE0LCAyMTksIDIwLCAxNDEsIDEsIDQsIDYxLCAxNDEsIDEsIDYxLCAxNDEsIDEsIDQsIAotICAgIDc0LCAxNDEsIDEsIDc0LCAxNDEsIDEsIDQsIDY5LCAxNDEsIDEsIDY5LCAxNDEsIDEsIDQsIDc2LCAxNDEsIDEsIDc2LCAKLSAgICAxNDEsIDEsIDQsIDc4LCAxNDEsIDEsIDc4LCAxNDEsIDEsIDE3NiwgMTQxLCAxLCAyNDMsIDE0MiwgMTQxLCAxLCAyMzQsIAotICAgIDk4LCAxNDEsIDEsIDI0MiwgMjIxLCAxNDEsIDEsIDIzMywgMjIzLCAxNDEsIDEsIDI0MiwgMTIwLCAxNDEsIDEsIDIzNCwgCi0gICAgMTg4LCAxNDEsIDEsIDI0MywgNjksIDE0MSwgMSwgMjM0LCAzNCwgMTQxLCAxLCAyNDIsIDE4MSwgMTQxLCAxLCAyMDYsIAotICAgIDE0MSwgMSwgMjEwLCAxMTYsIDE0MSwgMSwgMjE5LCAxOTMsIDE0MSwgMSwgMjEwLCA0NCwgMTQxLCAxLCAyMTgsIDg0LCAKLSAgICAxNDEsIDEsIDIxMCwgMTMsIDE0MSwgMSwgMjIxLCAxODMsIDE0MSwgMSwgMjEwLCA5NCwgMTQxLCAxLCAyMTksIDYwLCAxNDEsIAotICAgIDEsIDIxMCwgMjMsIDE0MSwgMSwgMjE3LCAxMDYsIDE0MSwgMSwgMjQ4LCAyMjksIDE0MSwgMSwgMjE2LCAxMTgsIDE0MSwgMSwgCi0gICAgMjQ4LCAxMSwgMTQxLCAxLCA0LCAyMTUsIDExOSwgMTQxLCAxLCAyMTUsIDExOSwgMTQxLCAxLCAyNDYsIDg2LCAxNDEsIDEsIAotICAgIDIxNywgMjMsIDE0MSwgMSwgMjQ4LCA5OCwgMTQxLCAxLCAxMTIsIDE0MSwgMSwgMjQ3LCAxNTMsIDE0MSwgMSwgMTk4LCAKLSAgICAxNDEsIDEsIDIyOCwgMjM4LCAxNDEsIDEsIDIyNywgMjQyLCAxNDEsIDEsIDIyOSwgMTEyLCAxNDEsIDEsIDIyOCwgNzksIAotICAgIDE0MSwgMSwgMTYyLCAxNDEsIDEsIDI1MiwgMTk5LCAxNDEsIDEsIDE5MSwgMTQxLCAxLCAyNDEsIDE4NywgMTQxLCAxLCAKLSAgICAyNTIsIDE0LCAxNDEsIDEsIDIyNSwgMTExLCAxNDEsIDEsIDI0MCwgMjI5LCAxNDEsIDEsIDI1MSwgMTMzLCAxNDEsIDEsIAotICAgIDIyNCwgMTUzLCAxNDEsIDEsIDI0MSwgMjQ1LCAxNDEsIDEsIDI1MiwgODMsIDE0MSwgMSwgMjI1LCAyMjQsIDE0MSwgMSwgCi0gICAgMjQxLCA3NSwgMTQxLCAxLCAyNTEsIDIxMywgMTQxLCAxLCAyMjUsIDE5LCAxNDEsIDEsIDE4NiwgMTQxLCAxLCAyMzAsIAotICAgIDIzNSwgMTQxLCAxLCAyMzAsIDEwNywgMTQxLCAxLCAyMzEsIDk2LCAxNDEsIDEsIDIzMCwgMTY2LCAxNDEsIDEsIDQsIDE5MiwgCi0gICAgMTQxLCAxLCAxOTIsIDE0MSwgMSwgNCwgMjEwLCAyMTIsIDE0MSwgMSwgMjEwLCAyMTIsIDE0MSwgMSwgNCwgMjEwLCAyNDQsIAotICAgIDE0MSwgMSwgMjEwLCAyNDQsIDE0MSwgMSwgMjA1LCAxNDEsIDEsIDIyMywgMzgsIDE0MSwgMSwgMjIyLCAxNDIsIDE0MSwgMSwgCi0gICAgMjIzLCAxMzEsIDE0MSwgMSwgMjIyLCAyMTMsIDE0MSwgMSwgNCwgMjEyLCA2NSwgMTQxLCAxLCAyMTIsIDY1LCAxNDEsIDEsIAotICAgIDIxMSwgMjUwLCAxNDEsIDEsIDIxMiwgMjIsIDE0MSwgMSwgMjExLCAyMjcsIDE0MSwgMSwgMjMwLCAzMCwgMTQxLCAxLCAKLSAgICAyMTIsIDExNiwgMTQxLCAxLCA0LCAxNzYsIDE0MSwgMSwgNCwgMjM0LCAxODgsIDM4LCAyMzQsIDIwNywgMjEzLCAxMzUsIAotICAgIDIxOSwgMzMsIDc5LCAzOCwgMjM0LCAyMDcsIDIyMCwgMTU3LCAyMTksIDMzLCA3OSwgMjM0LCAyMDcsIDIxMywgMTM1LCAKLSAgICAyMTksIDMzLCA3OSwgMjM0LCAyMDcsIDIyMCwgMTU3LCAyMTksIDMzLCA3OSwgMTQxLCAyMzUsIDE2NCwgNzksIDE0MSwgCi0gICAgMjEzLCAxMzUsIDIzNSwgMTY0LCA3OSwgMTQxLCAyNDcsIDIyOSwgMjEwLCAyMjUsIDIzNCwgMjA3LCA1MiwgMjQwLCAxNzUsIAotICAgIDU2LCAxLCA0LCA2MSwgNTYsIDEsIDYxLCA1NiwgMSwgNCwgNzQsIDU2LCAxLCA3NCwgNTYsIDEsIDQsIDY5LCA1NiwgMSwgCi0gICAgNjksIDU2LCAxLCA0LCA3NiwgNTYsIDEsIDc2LCA1NiwgMSwgNCwgNzgsIDU2LCAxLCA3OCwgNTYsIDEsIDE3NiwgNTYsIDEsIAotICAgIDI0MywgMTQyLCA1NiwgMSwgMjM0LCA5OCwgNTYsIDEsIDI0MiwgMjIxLCA1NiwgMSwgMjMzLCAyMjMsIDU2LCAxLCAyNDIsIAotICAgIDEyMCwgNTYsIDEsIDIzNCwgMTg4LCA1NiwgMSwgMjQzLCA2OSwgNTYsIDEsIDIzNCwgMzQsIDU2LCAxLCAyNDIsIDE4MSwgCi0gICAgNTYsIDEsIDIwNiwgNTYsIDEsIDIxMCwgMTE2LCA1NiwgMSwgMjE5LCAxOTMsIDU2LCAxLCAyMTAsIDQ0LCA1NiwgMSwgMjE4LCAKLSAgICA4NCwgNTYsIDEsIDIxMCwgMTMsIDU2LCAxLCAyMjEsIDE4MywgNTYsIDEsIDIxMCwgOTQsIDU2LCAxLCAyMTksIDYwLCA1NiwgCi0gICAgMSwgMjEwLCAyMywgNTYsIDEsIDIxNywgMTA2LCA1NiwgMSwgMjQ4LCAyMjksIDU2LCAxLCAyMTYsIDExOCwgNTYsIDEsIAotICAgIDI0OCwgMTEsIDU2LCAxLCA0LCAyMTUsIDExOSwgNTYsIDEsIDIxNSwgMTE5LCA1NiwgMSwgMjQ2LCA4NiwgNTYsIDEsIDIxNywgCi0gICAgMjMsIDU2LCAxLCAyNDgsIDk4LCA1NiwgMSwgMTEyLCA1NiwgMSwgMjQ3LCAxNTMsIDU2LCAxLCAxOTgsIDU2LCAxLCAyMjgsIAotICAgIDIzOCwgNTYsIDEsIDIyNywgMjQyLCA1NiwgMSwgMjI5LCAxMTIsIDU2LCAxLCAyMjgsIDc5LCA1NiwgMSwgMTYyLCA1NiwgMSwgCi0gICAgMjUyLCAxOTksIDU2LCAxLCAxOTEsIDU2LCAxLCAyNDEsIDE4NywgNTYsIDEsIDI1MiwgMTQsIDU2LCAxLCAyMjUsIDExMSwgCi0gICAgNTYsIDEsIDI0MCwgMjI5LCA1NiwgMSwgMjUxLCAxMzMsIDU2LCAxLCAyMjQsIDE1MywgNTYsIDEsIDI0MSwgMjQ1LCA1NiwgCi0gICAgMSwgMjUyLCA4MywgNTYsIDEsIDIyNSwgMjI0LCA1NiwgMSwgMjQxLCA3NSwgNTYsIDEsIDI1MSwgMjEzLCA1NiwgMSwgMjI1LCAKLSAgICAxOSwgNTYsIDEsIDE4NiwgNTYsIDEsIDIzMCwgMjM1LCA1NiwgMSwgMjMwLCAxMDcsIDU2LCAxLCAyMzEsIDk2LCA1NiwgMSwgCi0gICAgMjMwLCAxNjYsIDU2LCAxLCA0LCAxOTIsIDU2LCAxLCAxOTIsIDU2LCAxLCA0LCAyMTAsIDIxMiwgNTYsIDEsIDIxMCwgMjEyLCAKLSAgICA1NiwgMSwgNCwgMjEwLCAyNDQsIDU2LCAxLCAyMTAsIDI0NCwgNTYsIDEsIDIwNSwgNTYsIDEsIDIyMywgMzgsIDU2LCAxLCAKLSAgICAyMjIsIDE0MiwgNTYsIDEsIDIyMywgMTMxLCA1NiwgMSwgMjIyLCAyMTMsIDU2LCAxLCA0LCAyMTIsIDY1LCA1NiwgMSwgCi0gICAgMjEyLCA2NSwgNTYsIDEsIDIxMSwgMjUwLCA1NiwgMSwgMjEyLCAyMiwgNTYsIDEsIDIxMSwgMjI3LCA1NiwgMSwgMjMwLCAKLSAgICAzMCwgNTYsIDEsIDIxMiwgMTE2LCA1NiwgMSwgNCwgMTc2LCA1NiwgMSwgNCwgMjM0LCAxODgsIDU2LCAxLCAyMTQsIDI3LCAKLSAgICA1NiwgMSwgMjEzLCAxNzYsIDU2LCAxLCAyMTMsIDI1NSwgNTYsIDEsIDIxMywgMTM4LCA1NiwgMjMwLCAyMjksIDI0NywgCi0gICAgMTI4LCAyMzQsIDIwNywgMjI0LCAxNzYsIDIxOSwgMzMsIDc5LCA1NiwgMjM1LCAxNjQsIDc5LCA1NiwgMjEzLCAxMzUsIAotICAgIDIzNSwgMTY0LCA3OSwgNTYsIDI0NywgMjI5LCAyMzQsIDUsIDI1MSwgMTkyLCAxLCAyNTMsIDE2NiwgMjUxLCAxOTIsIDEsIAotICAgIDIyNiwgMTA5LCAyNTEsIDE5MiwgMSwgMTk0LCAyNTEsIDE5MiwgMSwgMjQ1LCAxNCwgMjUxLCAxOTIsIDEsIDI0OSwgNjgsIAotICAgIDI1MSwgMTkyLCAxLCAyMTcsIDE1MywgMjUxLCAxOTIsIDEsIDIzMCwgMzAsIDI1MSwgMTkyLCAxLCAxNTYsIDI1MSwgMTkyLCAKLSAgICAxLCAyNDMsIDIwOSwgMjUxLCAxOTIsIDEsIDIzNSwgMjksIDI1MSwgMTkyLCAxLCAyNDIsIDY3LCAyNTEsIDE5MiwgMSwgCi0gICAgMjM1LCAxNTAsIDI1MSwgMTkyLCAxLCAyMjQsIDk5LCAyNTEsIDE5MiwgMSwgMjExLCAxNzgsIDI1MSwgMTkyLCAxLCAyMTAsIAotICAgIDgzLCAyNTEsIDE5MiwgMSwgMjUwLCAxNjYsIDI1MSwgMTkyLCAxLCAyMjAsIDEwNiwgMjUxLCAxOTIsIDEsIDE1MywgMjUxLCAKLSAgICAxOTIsIDEsIDIxMCwgMTU5LCAyNTEsIDE5MiwgMSwgMjUxLCA3NCwgMjUxLCAxOTIsIDEsIDIyMiwgOTMsIDI1MSwgMTkyLCAKLSAgICAxLCA2MSwgMjUxLCAxOTIsIDEsIDc4LCAyNTEsIDE5MiwgMSwgNzYsIDI1MSwgMTkyLCAxLCAyNDUsIDIwNSwgMjUxLCAxOTIsIAotICAgIDEsIDI1NCwgMjEwLCAyNTEsIDE5MiwgMSwgMjQ1LCAyMDMsIDI1MSwgMTkyLCAxLCAyNTMsIDIwMCwgMjUxLCAxOTIsIDEsIAotICAgIDIyNiwgMTM4LCAyNTEsIDE5MiwgMSwgMjU0LCAxMzEsIDI1MSwgMTkyLCAxLCAyNDUsIDE1OCwgMjUxLCAxOTIsIDEsIDI1NCwgCi0gICAgMTIzLCAyNTEsIDE5MiwgMSwgMjQ1LCAxNDYsIDI1MSwgMTkyLCAxLCAyNDUsIDEwMCwgMjUxLCAxOTIsIDEsIDc0LCAyNTEsIAotICAgIDE5MiwgMSwgNjksIDI1MSwgMTkyLCAxLCAyMzUsIDE2MiwgMjUxLCAxOTIsIDEsIDIxNCwgMTA1LCAyNTEsIDE5MiwgMSwgCi0gICAgMjI5LCA4NCwgMjUxLCAxOTIsIDEsIDI0MiwgMTg1LCAyNTEsIDE5MiwgMSwgMjM2LCA0MSwgMjQsIDEsIDIzNCwgNjQsIDI0LCAKLSAgICAxLCAyMTgsIDIxNywgMjQsIDEsIDIzNCwgNTcsIDI0LCAxLCAyMjgsIDIzMSwgMjQsIDEsIDIyOCwgMjI5LCAyNCwgMSwgCi0gICAgMjI4LCAyMjgsIDI0LCAxLCAyMTYsIDEwMiwgMjQsIDEsIDIxOCwgMjA2LCAyNCwgMSwgMjIzLCAyOSwgMjQsIDEsIDIyMywgCi0gICAgMjQsIDI0LCAxLCAyMjMsIDIxLCAyNCwgMSwgMjIzLCAxNCwgMjQsIDEsIDIyMywgOSwgMjQsIDEsIDIyMywgNCwgMjQsIDEsIAotICAgIDIyMywgMTUsIDI0LCAxLCAyMjMsIDI3LCAyNCwgMSwgMjMwLCAyMjIsIDI0LCAxLCAyMjUsIDk4LCAyNCwgMSwgMjE4LCAKLSAgICAyMTQsIDI0LCAxLCAyMjUsIDg3LCAyNCwgMSwgMjE5LCAxNTAsIDI0LCAxLCAyMTgsIDIxMSwgMjQsIDEsIDIzNiwgNjMsIAotICAgIDI0LCAxLCAyNTAsIDU0LCAyNCwgMSwgMjE4LCAyMjEsIDI0LCAxLCAyNTAsIDExNCwgMjQsIDEsIDIzNCwgMTE2LCAyNCwgMSwgCi0gICAgMjE2LCAxNzQsIDI0LCAxLCAyMjUsIDEzNCwgMjQsIDEsIDI0MSwgMTc5LCAyNCwgMSwgNjEsIDI0LCAxLCAyNTQsIDI1MiwgCi0gICAgMjQsIDEsIDE5MiwgMjQsIDEsIDIxMSwgOTIsIDI0LCAxLCAyNDUsIDEyNSwgMjQsIDEsIDc2LCAyNCwgMSwgMjExLCAzNiwgCi0gICAgMjQsIDEsIDIxMSwgNDcsIDI0LCAxLCA3OCwgMjQsIDEsIDIxMiwgNjUsIDI0LCAxLCAyMTIsIDYyLCAyNCwgMSwgMjI2LCAKLSAgICAyMzgsIDI0LCAxLCAyMTAsIDI0NCwgMjQsIDEsIDY5LCAyNCwgMSwgMjEyLCAxMSwgMjQsIDEsIDIxMiwgMjIsIDI0LCAxLCAKLSAgICAyMTEsIDI1MCwgMjQsIDEsIDIxMCwgMjEyLCAyNCwgMSwgMjQ1LCA2MywgMjQsIDEsIDIxMSwgOCwgMjQsIDEsIDc0LCAyNCwgCi0gICAgMjQ0LCAxMTEsIDI0LCAxLCAyMTgsIDIxNSwgMjQsIDEsIDIyOCwgMjIxLCAyNCwgMSwgMjI4LCAyMjMsIDI0LCAxLCAyMjgsIAotICAgIDIyNiwgMjQsIDEsIDIyMywgMjIsIDI0LCAxLCAyMjMsIDMsIDI0LCAxLCAyMjMsIDExLCAyNCwgMSwgMjIzLCAxNiwgMjQsIAotICAgIDEsIDIyMywgMSwgMjQsIDEsIDIzMCwgMjE1LCAyNCwgMSwgMjMwLCAyMTIsIDI0LCAxLCAyMzAsIDIxNiwgMjQsIDEsIDIzNCwgCi0gICAgMjI3LCAyNCwgMSwgMjI1LCA5MywgMjQsIDEsIDIyNSwgNzksIDI0LCAxLCAyMjUsIDg1LCAyNCwgMSwgMjI1LCA4MiwgMjQsIAotICAgIDEsIDIyNSwgOTYsIDI0LCAxLCAyMjUsIDgwLCAyNCwgMSwgMjM0LCAyMjUsIDI0LCAxLCAyMzQsIDIyMywgMjQsIDEsIDIxOSwgCi0gICAgMTQzLCAyNCwgMSwgMjE5LCAxNDEsIDI0LCAxLCAyMTksIDEzMywgMjQsIDEsIDIxOSwgMTM4LCAyNCwgMSwgMjE5LCAxNDgsIAotICAgIDI0LCAxLCAyMjYsIDM2LCAyNCwgMSwgMjE4LCAyMTgsIDI0LCAxLCAyMTEsIDI2LCAyNCwgMSwgMjExLCAyMiwgMjQsIDEsIAotICAgIDIxMSwgMjMsIDI0LCAxLCAyMzQsIDIyNiwgMjQsIDEsIDIxOCwgMjE5LCAyNCwgMSwgMjExLCAzMiwgMjQsIDEsIDIxMCwgCi0gICAgMjM4LCAyNCwgMSwgMjEwLCAyMzcsIDI0LCAxLCAyMTAsIDI0MCwgMjQsIDEsIDIxMCwgMjAzLCAyNCwgMSwgMjEwLCAyMDQsIAotICAgIDI0LCAxLCAyMTAsIDIwNywgMjQsIDEsIDI1NCwgNDIsIDI0LCAxLCAyNTQsIDM2LCAxMTAsIDI1NCwgMTA3LCAyMzIsIDIwOSwgCi0gICAgNzksIDExMCwgMjU0LCAxMDcsIDIyMywgNTMsIDc5LCAxMTAsIDI1NCwgMTA3LCAxMjMsIDc5LCAxMTAsIDI1NCwgMTA3LCAKLSAgICAxMTMsIDc5LCAxMTAsIDI1NCwgMTA3LCAxMzQsIDc5LCAxMTAsIDI1NCwgMTA3LCAyNDQsIDE5LCA3OSwgMTEwLCAyNTQsIAotICAgIDEwNywgMjE2LCAxNSwgNzksIDExMCwgMjU0LCAxMDcsIDIzMCwgMjI5LCA3OSwgMTEwLCAyNTQsIDEwNywgMjUxLCAxODMsIAotICAgIDc5LCAxMTAsIDI1NCwgMTA3LCAyNDQsIDEwMCwgNzksIDExMCwgMjU0LCAxMDcsIDIyMSwgMTc4LCA3OSwgMTEwLCAyNTQsIAotICAgIDEwNywgMjE2LCAxNzAsIDc5LCAxMTAsIDI1NCwgMTA3LCAyNDQsIDEyLCA3OSwgMTEwLCAyNTQsIDEwNywgMjQxLCAyMzEsIAotICAgIDc5LCAxMTAsIDI1NCwgMTA3LCAyNDUsIDIzMiwgNzksIDExMCwgMjU0LCAxMDcsIDIzMSwgMTkxLCA3OSwgMjUxLCAxOTIsIAotICAgIDEsIDI1MSwgMTMzLCAyNTEsIDE5MiwgMSwgMjEwLCA0NCwgMjUxLCAxOTIsIDEsIDIzNSwgMTE0LCAyNTEsIDE5MiwgMSwgCi0gICAgMjQyLCAxMjAsIDI1MSwgMTkyLCAxLCAyNDUsIDIxNywgMjUxLCAxOTIsIDEsIDI0NSwgMTQzLCAyNTEsIDE5MiwgMSwgMjI2LCAKLSAgICAxODcsIDI1MSwgMTkyLCAxLCAyMjYsIDE5MSwgMjUxLCAxOTIsIDEsIDIzNSwgMTg2LCAyNTEsIDE5MiwgMSwgMjU0LCAxMDksIAotICAgIDI1MSwgMTkyLCAxLCAyMzUsIDIzMSwgMjUxLCAxOTIsIDEsIDIxNCwgMTY4LCAyNTEsIDE5MiwgMSwgMjM2LCAyMywgMjUxLCAKLSAgICAxOTIsIDEsIDIyOSwgNjIsIDI1MSwgMTkyLCAxLCAyNTQsIDIwNCwgMjUxLCAxOTIsIDEsIDI1MywgMTk1LCAyNTEsIDE5MiwgCi0gICAgMSwgMjU0LCAxNDQsIDI1MSwgMTkyLCAxLCAyMjYsIDIwOCwgMjUxLCAxOTIsIDEsIDIyNiwgMTkzLCAyNTEsIDE5MiwgMSwgCi0gICAgMjM1LCAyMjgsIDI1MSwgMTkyLCA0MCwgMSwgMjI2LCAxMDksIDI1MSwgMTkyLCA0MCwgMSwgMjE3LCAxNTMsIDI1MSwgMTkyLCAKLSAgICA0MCwgMSwgMjM1LCAyOSwgMjUxLCAxOTIsIDQwLCAxLCAyNDIsIDY3LCAyNTEsIDE5MiwgMSwgMjQzLCAxLCAyNTEsIDE5MiwgCi0gICAgMSwgMjMzLCA1LCAyNTEsIDE5MiwgMSwgMjA5LCAyNTAsIDEwLCAyMTgsIDEwNSwgMjE3LCAxNTMsIDEwLCAyMTgsIDEwNSwgCi0gICAgMjEyLCA0LCAxMCwgMjE4LCAxMDUsIDIxMSwgMTU4LCAxMCwgMjE4LCAxMDUsIDI1MSwgODcsIDEwLCAyMTgsIDEwNSwgMjE3LCAKLSAgICAyNTUsIDEwLCAyMTgsIDEwNSwgMjQwLCAxNjUsIDEwLCAyMTgsIDEwNSwgMjQwLCAxNjksIDEwLCAyMTgsIDEwNSwgMjQwLCAKLSAgICAyMzgsIDEwLCAyMTgsIDEwNSwgMjQwLCAxNjYsIDEwLCAyMTgsIDEwNSwgMjE3LCAxNTYsIDEwLCAyMTgsIDEwNSwgMjQwLCAKLSAgICAxNjgsIDEwLCAyMTgsIDEwNSwgMjQwLCAxNjQsIDEwLCAyMTgsIDEwNSwgMjQwLCAyMzYsIDEwLCAyMTgsIDEwNSwgMjQwLCAKLSAgICAxNjcsIDEwLCAyMTgsIDEwNSwgMjQwLCAxNjMsIDEwLCAyMTgsIDEwNSwgMjMwLCAzMCwgMTAsIDIxOCwgMTA1LCAyNDIsIAotICAgIDY3LCAxMCwgMjE4LCAxMDUsIDIyMiwgOTMsIDEwLCAyMTgsIDEwNSwgMjI2LCAxMDksIDEwLCAyMTgsIDEwNSwgMjE5LCAyMywgCi0gICAgMTAsIDIxOCwgMTA1LCAyNDksIDY4LCAxMCwgMjE4LCAxMDUsIDI0MCwgMTcwLCAxMCwgMjE4LCAxMDUsIDI0MSwgMTk3LCAKLSAgICAxMCwgMjE4LCAxMDUsIDIxNywgMTY1LCAxMCwgMjE4LCAxMDUsIDIxNywgMjM0LCAxMCwgMjE4LCAxMDUsIDIxOCwgMTcwLCAKLSAgICAxMCwgMjE4LCAxMDUsIDIyMCwgMTEyLCAxMCwgMjE4LCAxMDUsIDIyNSwgMjI4LCAxMCwgMjE4LCAxMDUsIDIyNCwgMTAxLCAKLSAgICAxMCwgMjE4LCAxMDUsIDIxNiwgNDQsIDEwLCAyMTgsIDEwNSwgMjE3LCAxNTUsIDEwLCAyMTgsIDEwNSwgMjE3LCAyNDUsIAotICAgIDEwLCAyMTgsIDEwNSwgMjQwLCAxNzcsIDEwLCAyMTgsIDEwNSwgMjQwLCAxNjIsIDEwLCAyMTgsIDEwNSwgMjI1LCAxNTIsIAotICAgIDEwLCAyMTgsIDEwNSwgMjI0LCA5OSwgNTYsIDEsIDQsIDIzMywgMjIzLCA1NiwgMSwgNCwgMjE5LCAxOTMsIDU2LCAxLCA0LCAKLSAgICAyMTgsIDg0LCA1NiwgMSwgNCwgMTEyLCA1NiwgMSwgNCwgMjI3LCAyNDIsIDU2LCAxLCA0LCAxNjIsIDU2LCAxLCA0LCAyNDEsIAotICAgIDE4NywgNTYsIDEsIDQsIDI0MCwgMjI5LCA1NiwgMSwgNCwgMjQxLCAyNDUsIDU2LCAxLCA0LCAyNDEsIDc1LCA1NiwgMSwgNCwgCi0gICAgMjMwLCAxMDcsIDU2LCAxLCA0LCAyMDUsIDU2LCAxLCA0LCAyMjMsIDM4LCA1NiwgMSwgNCwgMjIyLCAxNDIsIDU2LCAxLCA0LCAKLSAgICAyMjMsIDEzMSwgNTYsIDEsIDQsIDIyMiwgMjEzLCA4OCwgMjQsIDIzNCwgNjQsIDg4LCAyNCwgMjI4LCAyMzEsIDg4LCAyNCwgCi0gICAgMjE2LCAxMDIsIDg4LCAyNCwgMjIzLCAyOSwgODgsIDI0LCAyMzAsIDIyMiwgODgsIDI0LCAyMjUsIDk4LCA4OCwgMjQsIAotICAgIDIxOSwgMTUwLCA4OCwgMjQsIDIzNiwgNjMsIDg4LCAyNCwgMjUwLCA1NCwgODgsIDI0LCAyNTAsIDExNCwgODgsIDI0LCAKLSAgICAyMzQsIDExNiwgODgsIDI0LCAyMTYsIDE3NCwgODgsIDI0LCAyMjUsIDEzNCwgODgsIDI0LCAyNDEsIDE3OSwgODgsIDI0LCAKLSAgICAyMzQsIDY1LCA2MSwgODgsIDI0LCAyMjgsIDIzMiwgNjEsIDg4LCAyNCwgMjE2LCAxMDMsIDYxLCA4OCwgMjQsIDIyMywgMzAsIAotICAgIDYxLCA4OCwgMjQsIDIzMCwgMjIzLCA2MSwgODgsIDI0LCAyMjUsIDk5LCA2MSwgODgsIDI0LCAyMTksIDE1MSwgNjEsIDg4LCAKLSAgICAyNCwgMjM2LCA2NCwgNjEsIDg4LCAyNCwgMjUwLCA1NSwgNjEsIDg4LCAyNCwgMjUwLCAxMTUsIDYxLCA4OCwgMjQsIDIzNCwgCi0gICAgMTE3LCA2MSwgODgsIDI0LCAyMTYsIDE3NSwgNjEsIDg4LCAyNCwgMjI1LCAxMzUsIDYxLCA4OCwgMjQsIDI0MSwgMTgwLCAKLSAgICA2MSwgODgsIDI0LCAyNTAsIDU1LCA2OSwgODgsIDIzNCwgOSwgMTM1LCAyMjYsIDIyMSwgODgsIDIzNCwgOSwgMTM1LCAxNDQsIAotICAgIDI0MCwgMjI5LCA4OCwgMTU0LCAxMTEsIDg4LCAxNTQsIDEwNSwgODgsIDE1NCwgMTU4LCA4OCwgMTU0LCAxNjEsIDg4LCAKLSAgICAxNTQsIDE5MCwgODgsIDE1NCwgMTk1LCA4OCwgMTU0LCAxOTksIDg4LCAxNTQsIDE5NiwgODgsIDE1NCwgMjAxLCA4OCwgCi0gICAgMTU0LCAyMTYsIDI0OCwgODgsIDE1NCwgMjMwLCAxMzMsIDg4LCAxNTQsIDI0NCwgMTA0LCA4OCwgMTU0LCAyMTIsIDQwLCAKLSAgICA4OCwgMTU0LCAyMTEsIDIxNCwgODgsIDE1NCwgMjMxLCA0NCwgODgsIDE1NCwgMjQ1LCAyMzEsIDg4LCAxNTQsIDIxOCwgMzgsIAotICAgIDg4LCAxNTQsIDIxOCwgMTM0LCA4OCwgMTU0LCAyNDEsIDI1MSwgODgsIDE1NCwgMjE5LCA1NiwgODgsIDE1NCwgMjI5LCAKLSAgICAyMDksIDg4LCAxNTQsIDIxOSwgNiwgODgsIDE1NCwgMjQ0LCAxMTAsIDg4LCAxNTQsIDI0OSwgMjA4LCA4OCwgMTU0LCAyMzMsIAotICAgIDEzMSwgODgsIDE1NCwgMjIzLCA3NCwgODgsIDE1NCwgMjUxLCAyMywgODgsIDE1NCwgMjE4LCA4OCwgODgsIDE1NCwgMjE4LCAKLSAgICAyMSwgODgsIDE1NCwgMjQ1LCAxMzUsIDg4LCAxNTQsIDIyMywgNjYsIDg4LCAxNTQsIDI1NCwgMTU5LCA4OCwgMTU0LCAyNDQsIAotICAgIDEzNiwgODgsIDE1NCwgMjIzLCA2NCwgODgsIDE1NCwgMjIwLCAxNTgsIDg4LCAxNTQsIDIyMywgMTMwLCAzNywgMTU0LCAKLSAgICAyMjQsIDE1LCAzNywgMTU0LCAyMzQsIDg2LCAzNywgMTU0LCAyMjEsIDIwMCwgMzcsIDE1NCwgMjM0LCA1LCAzNywgNTQsIAotICAgIDIxNiwgMjQ5LCAyMjYsIDIwMSwgODUsIDIxOCwgMjM2LCAzNywgNTQsIDIxNSwgNzQsIDIyNiwgMjAxLCA4NSwgMjE4LCAKLSAgICAyMzYsIDM3LCA1NCwgMjE2LCAxNjQsIDIyNiwgMjAxLCA4NSwgMjE4LCAyMzYsIDM3LCA1NCwgMjQ0LCAyNCwgMjI2LCAyMDEsIAotICAgIDg1LCAyMTgsIDIzNiwgMzcsIDU0LCAyNDQsIDEyMywgMjI2LCAyMDEsIDg1LCAyMTgsIDIzNiwgMzcsIDU0LCAyMTksIDExNCwgCi0gICAgMjI2LCAyMDEsIDg1LCAyMTgsIDIzNiwgMzcsIDU0LCAyMjAsIDExOSwgMjI2LCAyMDEsIDg1LCAyMTgsIDIzNiwgMzcsIDU0LCAKLSAgICAyNDUsIDE5MywgMjI2LCAyMDEsIDg1LCAyMTgsIDIzNiwgMjI1LCAyNTUsIDUwLCAzNywgNTQsIDIxNSwgNzQsIDExMSwgMzcsIAotICAgIDU0LCAyMTUsIDc0LCAxMDUsIDM3LCA1NCwgMjE1LCA3NCwgMTU4LCAzNywgNTQsIDIxNSwgNzQsIDE2MSwgMzcsIDU0LCAKLSAgICAyMTUsIDc0LCAxOTAsIDM3LCA1NCwgMjE1LCA3NCwgMTk1LCAzNywgNTQsIDIxNSwgNzQsIDE5OSwgMzcsIDU0LCAyMTUsIAotICAgIDc0LCAxOTYsIDM3LCA1NCwgMjE1LCA3NCwgMjAxLCAzNywgNTQsIDIxNiwgMTYzLCAzNywgNTQsIDIxNiwgMTY0LCAxMTEsIAotICAgIDM3LCA1NCwgMjE2LCAxNjQsIDEwNSwgMzcsIDU0LCAyMTYsIDE2NCwgMTU4LCAzNywgNTQsIDIxNiwgMTY0LCAxNjEsIDM3LCAKLSAgICA1NCwgMjE2LCAxNjQsIDE5MCwgMzcsIDI0LCAyMzQsIDY0LCAzNywgMjQsIDIyOCwgMjMxLCAzNywgMjQsIDIxNiwgMTAyLCAKLSAgICAzNywgMjQsIDIyMywgMjksIDM3LCAyNCwgMjMwLCAyMjIsIDM3LCAyNCwgMjI1LCA5OCwgMzcsIDI0LCAyMTksIDE1MCwgMzcsIAotICAgIDI0LCAyMzYsIDYzLCAzNywgMjQsIDI1MCwgNTQsIDM3LCAyNCwgMjUwLCAxMTQsIDM3LCAyNCwgMjM0LCAxMTYsIDM3LCAyNCwgCi0gICAgMjE2LCAxNzQsIDM3LCAyNCwgMjI1LCAxMzQsIDM3LCAyNCwgMjQxLCAxNzksIDM3LCAyNCwgMjM0LCA2NSwgNjEsIDM3LCAKLSAgICAyNCwgMjI4LCAyMzIsIDYxLCAzNywgMjQsIDIxNiwgMTAzLCA2MSwgMzcsIDI0LCAyMjMsIDMwLCA2MSwgMzcsIDI0LCAyMzAsIAotICAgIDIyMywgNjEsIDM3LCAyNCwgMjI1LCA5OSwgNjEsIDM3LCAyNCwgMjE5LCAxNTEsIDYxLCAzNywgMjQsIDIzNiwgNjQsIDYxLCAKLSAgICAzNywgMjQsIDI1MCwgNTUsIDYxLCAzNywgMjQsIDI1MCwgMTE1LCA2MSwgMzcsIDI0LCAyMzQsIDExNywgNjEsIDM3LCAyNCwgCi0gICAgMjE2LCAxNzUsIDYxLCAzNywgMjQsIDIyNSwgMTM1LCA2MSwgMzcsIDI0LCAyNDEsIDE4MCwgNjEsIDM3LCAyMzQsIDksIAotICAgIDEzNSwgMjUwLCAxNTYsIDM3LCAyMzQsIDksIDEzNSwgMjM1LCA1MywgMzcsIDI0LCAyMzYsIDY0LCA2OSwgMjM0LCA5LCAKLSAgICAyMTgsIDE2MSwgODcsIDM3LCAxNTQsIDExMSwgMzcsIDE1NCwgMTA1LCAzNywgMTU0LCAxNTgsIDM3LCAxNTQsIDE2MSwgMzcsIAotICAgIDE1NCwgMTkwLCAzNywgMTU0LCAxOTUsIDM3LCAxNTQsIDE5OSwgMzcsIDE1NCwgMTk2LCAzNywgMTU0LCAyMDEsIDM3LCAKLSAgICAxNTQsIDIxNiwgMjQ4LCAzNywgMTU0LCAyMzAsIDEzMywgMzcsIDE1NCwgMjQ0LCAxMDQsIDM3LCAxNTQsIDIxMiwgNDAsIAotICAgIDM3LCAxNTQsIDIxMSwgMjE0LCAzNywgMTU0LCAyMzEsIDQ0LCAzNywgMTU0LCAyNDUsIDIzMSwgMzcsIDE1NCwgMjE4LCAzOCwgCi0gICAgMzcsIDE1NCwgMjE4LCAxMzQsIDM3LCAxNTQsIDI0MSwgMjUxLCAzNywgMTU0LCAyMTksIDU2LCAzNywgMTU0LCAyMjksIAotICAgIDIwOSwgMzcsIDE1NCwgMjE5LCA2LCAzNywgMTU0LCAyNDQsIDExMCwgMzcsIDE1NCwgMjQ5LCAyMDgsIDM3LCAxNTQsIDIzMywgCi0gICAgMTMxLCAzNywgMTU0LCAyMjEsIDE3NiwgMzcsIDE1NCwgMjMxLCAxOTQsIDM3LCAxNTQsIDI0NCwgMTQ1LCAzNywgMTU0LCAKLSAgICAyMTgsIDUwLCAzNywgMTU0LCAyNDUsIDQyLCAzNywgMTU0LCAyMjQsIDE5MCwgMzcsIDE1NCwgMjUzLCAyMDQsIDM3LCAxNTQsIAotICAgIDIzNSwgMTY1LCAzNywgMTU0LCAyMjMsIDY0LCAzNywgMTU0LCAyNDksIDE3MiwgMzcsIDE1NCwgMjQ5LCAxNjMsIDM3LCAKLSAgICAxNTQsIDI0MSwgMTcyLCAzNywgMTU0LCAyNTAsIDE4MiwgMzcsIDE1NCwgMjMyLCAxMTYsIDM3LCAxNTQsIDIzMywgNTIsIAotICAgIDM3LCAxNTQsIDIyMiwgMjU0LCAzNywgMTU0LCAyMzEsIDg4LCAzNywgMTU0LCAyMjMsIDkwLCAzNywgMTU0LCAyMTgsIDg4LCAKLSAgICAzNywgMTU0LCAyMTgsIDIxLCAzNywgMTU0LCAyNDUsIDEzNSwgMzcsIDE1NCwgMjIzLCA2NiwgMzcsIDE1NCwgMjU0LCAxNTksIAotICAgIDM3LCAxNTQsIDIyOCwgMjE3LCAzNywgNTQsIDIxNiwgMTY0LCAxOTUsIDM3LCA1NCwgMjE2LCAxNjQsIDE5OSwgMzcsIDU0LCAKLSAgICAyMTYsIDE2NCwgMTk2LCAzNywgNTQsIDIxNiwgMTY0LCAyMDEsIDM3LCA1NCwgMjQ0LCAyMywgMzcsIDU0LCAyNDQsIDI0LCAKLSAgICAxMTEsIDM3LCA1NCwgMjQ0LCAyNCwgMTA1LCAzNywgNTQsIDI0NCwgMjQsIDE1OCwgMzcsIDU0LCAyNDQsIDI0LCAxNjEsIAotICAgIDM3LCA1NCwgMjQ0LCAyNCwgMTkwLCAzNywgNTQsIDI0NCwgMjQsIDE5NSwgMzcsIDU0LCAyNDQsIDI0LCAxOTksIDM3LCA1NCwgCi0gICAgMjQ0LCAyNCwgMTk2LCAzNywgNTQsIDI0NCwgMjQsIDIwMSwgMzcsIDU0LCAyNDQsIDEyMiwgMTEwLCAyMTcsIDQsIDE2LCAKLSAgICAzMSwgMjM1LCAxMzksIDExMCwgMjE3LCA0LCAxNiwgMzEsIDI0NCwgMTU2LCAxMTAsIDIxNywgNCwgMTYsIDMxLCAyMzEsIAotICAgIDE2NSwgMTEwLCAyMTcsIDQsIDE2LCAzMSwgMjU0LCA1NSwgMTEwLCAyMTcsIDQsIDE2LCAzMSwgMjMxLCAxMzcsIDExMCwgCi0gICAgMjE3LCA0LCAxNiwgMzEsIDIzNSwgNTEsIDExMCwgMjE3LCA0LCAxNiwgMzEsIDIzNSwgNTIsIDExMCwgMjE3LCA0LCAxNiwgCi0gICAgMzEsIDI1MywgMTk2LCAxMTAsIDIxNywgNCwgMTYsIDMxLCAyMjAsIDEzOCwgMTEwLCAyMTcsIDQsIDE2LCAzMSwgMjI2LCAKLSAgICAyNDMsIDExMCwgMjE3LCA0LCAxNiwgMzEsIDIyOCwgNDUsIDExMCwgMjE3LCA0LCAxNiwgMzEsIDI0OCwgOTMsIDQyLCAyNDEsIAotICAgIDE5NywgNDIsIDI0NSwgOTYsIDQyLCAyNDUsIDUxLCAyMzIsIDIyNSwgMjMyLCAyNDYsIDUwLCAzNywgNTYsIDYxLCAzNywgCi0gICAgNTYsIDc0LCAzNywgNTYsIDY5LCAzNywgNTYsIDc2LCAzNywgNTYsIDc4LCAzNywgNTYsIDE3NiwgMzcsIDU2LCAyMzQsIDk4LCAKLSAgICAzNywgNTYsIDIzMywgMjIzLCAzNywgNTYsIDIzNCwgMTg4LCAzNywgNTYsIDIzNCwgMzQsIDM3LCA1NiwgMjA2LCAzNywgNTYsIAotICAgIDIxOSwgMTkzLCAzNywgNTYsIDIxOCwgODQsIDM3LCA1NiwgMjIxLCAxODMsIDM3LCA1NiwgMjE5LCA2MCwgMzcsIDU2LCAKLSAgICAyMTcsIDEwNiwgMzcsIDU2LCAyMTYsIDExOCwgMzcsIDU2LCAyMTUsIDExOSwgMzcsIDU2LCAyMTcsIDIzLCAzNywgNTYsIAotICAgIDExMiwgMzcsIDU2LCAxOTgsIDM3LCA1NiwgMjI4LCAyMzgsIDM3LCA1NiwgMjI3LCAyNDIsIDM3LCA1NiwgMjI5LCAxMTIsIAotICAgIDM3LCA1NiwgMjI4LCA3OSwgMzcsIDU2LCAxNjIsIDM3LCA1NiwgMjQxLCAxODcsIDM3LCA1NiwgMjQwLCAyMjksIDM3LCA1NiwgCi0gICAgMjQxLCAyNDUsIDM3LCA1NiwgMjQxLCA3NSwgMzcsIDU2LCAxODYsIDM3LCA1NiwgMjMwLCAyMzUsIDM3LCA1NiwgMjMwLCAKLSAgICAxMDcsIDM3LCA1NiwgMjMxLCA5NiwgMzcsIDU2LCAyMzAsIDE2NiwgMzcsIDU2LCAxOTIsIDM3LCA1NiwgMjEwLCAyMTIsIAotICAgIDM3LCA1NiwgMjEwLCAyNDQsIDM3LCA1NiwgMjA1LCAzNywgNTYsIDIyMywgMzgsIDM3LCA1NiwgMjIyLCAxNDIsIDM3LCA1NiwgCi0gICAgMjIzLCAxMzEsIDM3LCA1NiwgMjIyLCAyMTMsIDM3LCA1NiwgMjEyLCA2NSwgMzcsIDU2LCAyMTEsIDI1MCwgMzcsIDU2LCAKLSAgICAyMTIsIDIyLCAzNywgNTYsIDIxMSwgMjI3LCA0MiwgMjU0LCA3OSwgNDIsIDI1MywgMjQ3LCA0MiwgMjU0LCAxMDMsIDQyLCAKLSAgICAyNTUsIDQwLCA0MiwgMjM1LCAyMzMsIDQyLCAyMzUsIDIwMywgNDIsIDIxNCwgMTY2LCA0MiwgMjQ1LCA3NCwgNDIsIDI0NSwgCi0gICAgMjE0LCA0MiwgMjI2LCAxOTAsIDQyLCAyMjYsIDE4NCwgNDIsIDIzNCwgMjUxLCA0MiwgMjM0LCAyMjAsIDQyLCAyMzQsIAotICAgIDIxNywgNDIsIDI0MywgOTksIDQyLCAyNDMsIDEwOCwgNDIsIDI0MiwgMjExLCA0MiwgMjQyLCAyMDcsIDQyLCAyMzMsIDE1NiwgCi0gICAgNDIsIDI0MiwgMjAwLCA0MiwgMjM0LCA3OCwgNDIsIDIzNCwgNzcsIDQyLCAyMzQsIDc2LCA0MiwgMjM0LCA3NSwgNDIsIAotICAgIDI0MiwgOTMsIDQyLCAyNDIsIDkyLCA0MiwgMjMzLCAxOTksIDQyLCAyMzMsIDIwMSwgNDIsIDIzNCwgMTg0LCA0MiwgMjM0LCAKLSAgICA3LCA0MiwgMjM0LCAxNCwgNDIsIDIyMiwgMTgsIDQyLCAyMjEsIDIzOSwgNDIsIDIxOSwgMTMxLCA0MiwgMjIwLCAxNDMsIAotICAgIDQyLCAyMjAsIDE0MiwgNDIsIDI0OCwgMjI2LCA0MiwgMjQ4LCA0NCwgNDIsIDI0NywgMTI5LCA0MiwgMjE2LCAzMywgNDIsIAotICAgIDIyOSwgMjA1LCA0MiwgMjI4LCA0NiwgNDIsIDI0MiwgMzksIDQyLCAyMjYsIDg4LCA0MiwgMjI2LCA4NywgNDIsIDI1MiwgCi0gICAgMTk2LCA0MiwgMjI1LCAxMDgsIDQyLCAyMjUsIDcyLCA0MiwgMjI1LCA3MywgNDIsIDI1MSwgMjQyLCA0MiwgMjQwLCAyMjgsIAotICAgIDQyLCAyNDAsIDIyNCwgNDIsIDI1MSwgOTksIDQyLCAyNDAsIDIxMSwgNDIsIDI0MSwgMjIyLCA0MiwgMjI1LCAxNjIsIDQyLCAKLSAgICAyMjUsIDE5NywgNDIsIDI0MSwgMjA1LCA0MiwgMjI1LCAxOTQsIDQyLCAyMjUsIDIxMCwgNDIsIDI1MiwgNjksIDQyLCAyMjUsIAotICAgIDksIDQyLCAyNTEsIDE4OCwgNDIsIDI0MSwgNjMsIDQyLCAyMjQsIDI1MywgNDIsIDI0MSwgNTUsIDQyLCAyNDEsIDU3LCA0MiwgCi0gICAgMjMxLCAyMDYsIDQyLCAyMzEsIDIwMiwgNDIsIDIzMSwgMjExLCA0MiwgMjMxLCAxNTUsIDQyLCAyMzEsIDE4MCwgNDIsIAotICAgIDIzMCwgMjAyLCA0MiwgMjMwLCAxODEsIDQyLCAyMzAsIDE4MCwgNDIsIDIzMSwgNzksIDQyLCAyMzEsIDc2LCA0MiwgMjMxLCAKLSAgICA4MCwgNDIsIDIxMSwgMTAyLCA0MiwgMjExLCAxMDAsIDQyLCAyMTAsIDIwMSwgNDIsIDIyMiwgMjI5LCA0MiwgMjIyLCAyMzMsIAotICAgIDQyLCAyMjIsIDExOSwgNDIsIDIyMiwgMTEzLCA0MiwgMjIzLCA4OCwgNDIsIDIyMywgODUsIDQyLCAyMTIsIDM4LCAxMTAsIAotICAgIDIxNywgNCwgMTYsIDMxLCAyNDAsIDI0NiwgMjEwLCA4NiwgMTEwLCAyMTcsIDQsIDE2LCAzMSwgMjQwLCAyNDYsIDExMSwgCi0gICAgMTEwLCAyMTcsIDQsIDE2LCAzMSwgMjQwLCAyNDYsIDEwNSwgMTEwLCAyMTcsIDQsIDE2LCAzMSwgMjQwLCAyNDYsIDE1OCwgCi0gICAgMTEwLCAyMTcsIDQsIDE2LCAzMSwgMjQwLCAyNDYsIDE2MSwgMTEwLCAyMTcsIDQsIDE2LCAzMSwgMjQwLCAyNDYsIDE5MCwgCi0gICAgMTEwLCAyMTcsIDQsIDE2LCAzMSwgMjQwLCAyNDYsIDE5NSwgMTEwLCAyMTcsIDQsIDE2LCAzMSwgMjQwLCAyNDYsIDE5OSwgCi0gICAgMTEwLCAyMTcsIDQsIDE2LCAzMSwgMjQwLCAyNDYsIDE5NiwgMTEwLCAyMTcsIDQsIDE2LCAzMSwgMjQwLCAyNDYsIDIwMSwgCi0gICAgMTEwLCAyMTcsIDQsIDE2LCAzMSwgMjQwLCAyNDYsIDIxNiwgMjQ4LCAxMTAsIDIxNywgNCwgMTYsIDMxLCAyNDAsIDI0NiwgCi0gICAgMjQ1LCAxNzUsIDExMCwgMjE3LCA0LCAxNiwgMzEsIDI0MCwgMjQ2LCAyMTUsIDc2LCAxMTAsIDIxNywgNCwgMTYsIDMxLCAKLSAgICAyNDAsIDI0NiwgMjE2LCAxNjUsIDExMCwgMjE3LCA0LCAxNiwgMzEsIDI0MCwgMjQ2LCAyNDQsIDEzLCAxMTAsIDIxNywgNCwgCi0gICAgMTYsIDMxLCAyNDAsIDI0NiwgMjQ0LCAxMjYsIDExMCwgMjE3LCA0LCAxNiwgMzEsIDI0MCwgMjQ2LCAyMTksIDEyMSwgMTEwLCAKLSAgICAyMTcsIDQsIDE2LCAzMSwgMjQwLCAyNDYsIDIyMCwgMTIxLCAxMTAsIDIxNywgNCwgMTYsIDMxLCAyNDAsIDI0NiwgMjQ1LCAKLSAgICAxOTgsIDExMCwgMjE3LCA0LCAxNiwgMzEsIDI0MCwgMjQ2LCAyMjgsIDIwMiwgMTEwLCAyMTcsIDQsIDE2LCAzMSwgMjQwLCAKLSAgICAyNDYsIDIxNSwgNzMsIDExMCwgMjE3LCA0LCAxNiwgMzEsIDI0MCwgMjQ2LCAyMTUsIDY3LCAxMTAsIDIxNywgNCwgMTYsIAotICAgIDMxLCAyNDAsIDI0NiwgMjE1LCA2MywgMTEwLCAyMTcsIDQsIDE2LCAzMSwgMjQwLCAyNDYsIDIxNSwgNjQsIDExMCwgMjE3LCAKLSAgICA0LCAxNiwgMzEsIDI0MCwgMjQ2LCAyMTUsIDY5LCA0MiwgMjQwLCAyMzcsIDQyLCAyNDgsIDIyOSwgNDIsIDI1MywgMjAwLCAKLSAgICA0MiwgMTMwLCA0MiwgMjI2LCAxMjksIDQyLCAyMjUsIDIyOSwgNDIsIDI0NywgMTU1LCA0MiwgMjQ3LCAxNTYsIDIxOCwgCi0gICAgMjM1LCA0MiwgMjQ3LCAxNTYsIDI0OSwgMTE2LCA0MiwgMjM1LCAxNjIsIDQyLCAyNDUsIDk5LCAyMjksIDIxMCwgMjQxLCAKLSAgICAyMjMsIDQyLCAyNDUsIDk5LCAyMjksIDIxMCwgMjE3LCAxNzUsIDQyLCAyNDUsIDk5LCAyMjksIDIxMCwgMjE3LCA3NSwgNDIsIAotICAgIDI0NSwgOTksIDIyOSwgMjEwLCAyMzEsIDc1LCA0MiwgMjQ5LCAxNjUsIDQyLCAyMjYsIDk0LCAyNTQsIDEzMywgNDIsIDE5OCwgCi0gICAgNDIsIDIzMCwgMTA4LCA2MSwgNDIsIDE4NiwgNDIsIDE3NiwgNDIsIDIzNCwgMTkxLCA0MiwgMjMxLCAxMzQsIDQyLCAyNDMsIAotICAgIDg3LCA0MiwgMjUxLCAyNiwgNDIsIDIzNCwgMTkwLCA0MiwgMjI1LCAxNTMsIDQyLCAyMjksIDg2LCA0MiwgMjMwLCAxMDgsIAotICAgIDI0NSwgMTQsIDQyLCAyMzAsIDEwOCwgMjQzLCAyMDksIDQyLCAyMzEsIDIwLCA0MiwgMjM0LCAxNDAsIDQyLCAyNDAsIDE3MCwgCi0gICAgNDIsIDIzNCwgMTAwLCA0MiwgMjMwLCAyMzcsIDQyLCAyNDIsIDIyMywgNDIsIDIxNiwgMTIwLCA0MiwgMjMwLCAxMDgsIAotICAgIDE1NiwgNDIsIDIzMCwgMTc0LCA0MiwgMjQ3LCAxNjUsIDQyLCAyMzQsIDQ2LCA0MiwgMjQ0LCA1MywgNDIsIDIyOCwgMTE3LCAKLSAgICA0MiwgMjMwLCAxMDgsIDE5NCwgNDIsIDIzMCwgMTcxLCA0MiwgMjQ5LCAyNDcsIDQyLCAyMzQsIDQwLCA0MiwgMjMwLCAxNzIsIAotICAgIDIxOCwgMjM1LCA0MiwgMjQ5LCAyNDgsIDIxOCwgMjM1LCA0MiwgMjMyLCA1NSwgMjE4LCAyMzUsIDQyLCAyMzQsIDQxLCAKLSAgICAyMTgsIDIzNSwgNDIsIDIzMCwgMTcyLCAyNDksIDExNiwgNDIsIDI0OSwgMjQ4LCAyNDksIDExNiwgNDIsIDIzMiwgNTUsIAotICAgIDI0OSwgMTE2LCA0MiwgMjM0LCA0MSwgMjQ5LCAxMTYsIDQyLCAyMzIsIDU1LCAxMTUsIDIyMiwgOTMsIDQyLCAyMzIsIDU1LCAKLSAgICAxMTUsIDIyMiwgOTQsIDIxOCwgMjM1LCA0MiwgMTkxLCA0MiwgMjM0LCAxLCA0MiwgMjMwLCAxMTAsIDQyLCAyNDIsIDE1OCwgCi0gICAgNDIsIDIyMywgMTc5LCA0MiwgMjIzLCAxODAsIDExNSwgMjIyLCA5MywgNDIsIDIyMywgMTgwLCAxMTUsIDIyMiwgOTQsIAotICAgIDIxOCwgMjM1LCA0MiwgMjI0LCAxNjUsIDQyLCAyMjgsIDE4LCA0MiwgMjMwLCAxMDgsIDIyMiwgOTMsIDQyLCAyMzAsIDEwOSwgCi0gICAgNDIsIDIyNCwgMTE5LCA0MiwgMjI3LCAxODAsIDQyLCAyMzAsIDEwOCwgMjE0LCAxMDUsIDQyLCAyMzAsIDU0LCA0MiwgMjMzLCAKLSAgICAxOTEsIDQyLCAyMzAsIDU1LCAyMzEsIDc5LCA0MiwgMjI0LCAxMTgsIDQyLCAyMjcsIDE3OSwgNDIsIDIzMCwgMTA4LCAyMTIsIAotICAgIDk4LCA0MiwgMjMwLCA0OCwgNDIsIDIzMywgMTg5LCA0MiwgMjMwLCA0OSwgMjMxLCA3OSwgNDIsIDIzNSwgMzAsIDIyNiwgCi0gICAgMjI0LCA0MiwgMjMyLCA1NSwgMjI2LCAyMjQsIDQyLCAyNTQsIDE0NCwgNDIsIDI1MSwgMTY4LCA0MiwgMjUwLCAyMjIsIDQyLCAKLSAgICAyNTAsIDE5OSwgNDIsIDI1MSwgNzUsIDExNSwgMjM0LCAxNDAsIDQyLCAyNDksIDI0NiwgNDIsIDI0OCwgMTUwLCA0MiwgCi0gICAgMjQyLCA3OSwgNDIsIDE2MiwgNDIsIDI0MCwgMjM4LCA0MiwgMjM2LCA2LCA0MiwgMjM0LCA1MywgNDIsIDIzNCwgNDEsIAotICAgIDI1MSwgMiwgNDIsIDIzMywgMjI1LCA0MiwgMjMyLCAxNjUsIDQyLCAyMzIsIDE2NCwgNDIsIDIzMiwgMTUzLCA0MiwgMjMyLCAKLSAgICA2OCwgNDIsIDIzMSwgMTM1LCAyMTksIDgxLCA0MiwgMjMwLCAyMDEsIDQyLCAyMzAsIDE1NywgNDIsIDIyNSwgMTUxLCA0MiwgCi0gICAgMjI1LCAyMiwgNDIsIDIyNCwgMjIyLCA0MiwgMjI0LCAyMjAsIDQyLCAyMTgsIDIyOSwgNDIsIDIxOCwgMywgNDIsIDIxMiwgCi0gICAgMjQsIDQyLCAyMTQsIDEwNiwgMTE1LCAxOTQsIDQyLCAxMTYsIDExNSwgMTk0LCAxMTAsIDIxNywgNCwgMTYsIDMxLCAyNDgsIAotICAgIDE1NCwgMTExLCAxMTAsIDIxNywgNCwgMTYsIDMxLCAyNDgsIDE1NCwgMTA1LCAxMTAsIDIxNywgNCwgMTYsIDMxLCAyNDgsIAotICAgIDE1NCwgMTU4LCAxMTAsIDIxNywgNCwgMTYsIDMxLCAyNDgsIDE1NCwgMTYxLCAxMTAsIDIxNywgNCwgMTYsIDMxLCAyNDgsIAotICAgIDE1NCwgMTkwLCAxMTAsIDIxNywgNCwgMTYsIDMxLCAyNDgsIDE1NCwgMTk1LCAxMTAsIDIxNywgNCwgMTYsIDMxLCAyNDgsIAotICAgIDE1NCwgMTk5LCAxMTAsIDIxNywgNCwgMTYsIDMxLCAyNDgsIDE1NCwgMTk2LCAxMTAsIDIxNywgNCwgMTYsIDMxLCAyNDgsIAotICAgIDE1NCwgMjAxLCAxMTAsIDIxNywgNCwgMTYsIDMxLCAyNDgsIDE1NCwgMjE2LCAyNDgsIDExMCwgMjE3LCA0LCAxNiwgMzEsIAotICAgIDI0OCwgMTU0LCAyNDUsIDE3NSwgMTEwLCAyMTcsIDQsIDE2LCAzMSwgMjQ4LCAxNTQsIDIxNSwgNzYsIDExMCwgMjE3LCA0LCAKLSAgICAxNiwgMzEsIDI0OCwgMTU0LCAyMTYsIDE2NSwgMTEwLCAyMTcsIDQsIDE2LCAzMSwgMjQ4LCAxNTQsIDI0NCwgMTMsIDExMCwgCi0gICAgMjE3LCA0LCAxNiwgMzEsIDI0OCwgMTU0LCAyNDQsIDEyNiwgMTEwLCAyMTcsIDQsIDE2LCAzMSwgMjQ4LCAxNTQsIDIxOSwgCi0gICAgMTIxLCAxMTAsIDIxNywgNCwgMTYsIDMxLCAyNDgsIDE1NCwgMjIwLCAxMjEsIDExMCwgMjE3LCA0LCAxNiwgMzEsIDI0OCwgCi0gICAgMTU0LCAyNDUsIDE5OCwgMTEwLCAyMTcsIDQsIDE2LCAzMSwgMjQ4LCAxNTQsIDIyOCwgMjAyLCAxMTAsIDIxNywgNCwgMTYsIAotICAgIDMxLCAyNDgsIDE1NCwgMjE1LCA3MywgMTEwLCAyMTcsIDQsIDE2LCAzMSwgMjQ4LCAxNTQsIDIxNSwgNjcsIDExMCwgMjE3LCAKLSAgICA0LCAxNiwgMzEsIDI0OCwgMTU0LCAyMTUsIDYzLCAxMTAsIDIxNywgNCwgMTYsIDMxLCAyNDgsIDE1NCwgMjE1LCA2NCwgCi0gICAgMTEwLCAyMTcsIDQsIDE2LCAzMSwgMjQ4LCAxNTQsIDIxNSwgNjksIDExMCwgMjE3LCA0LCAxNiwgMzEsIDI0OCwgMTU0LCAKLSAgICAyMTUsIDcwLCAxMTAsIDIxNywgNCwgMTYsIDMxLCAyNDgsIDE1NCwgMjE1LCA2NSwgMTEwLCAyMTcsIDQsIDE2LCAzMSwgCi0gICAgMjQ4LCAxNTQsIDIxNSwgNjYsIDExMCwgMjE3LCA0LCAxNiwgMzEsIDI0OCwgMTU0LCAyMTUsIDcyLCAxMTAsIDIxNywgNCwgCi0gICAgMTYsIDMxLCAyNDgsIDE1NCwgMjE1LCA2OCwgMTEwLCAyMTcsIDQsIDE2LCAzMSwgMjQ4LCAxNTQsIDIxNiwgMTYzLCAxMTAsIAotICAgIDIxNywgNCwgMTYsIDMxLCAyNDgsIDE1NCwgMjE2LCAxNjIsIDQyLCAyNDMsIDEyNSwgMjQxLCAxOTksIDMxLCAyMTYsIDE5NywgCi0gICAgMjQ5LCAxNDgsIDI0MSwgMjMwLCAyNDEsIDE5OSwgMzEsIDIxNiwgMTk3LCAyMjMsIDEyNSwgMjQ1LCAyMzEsIDI0MSwgMTk5LCAKLSAgICAzMSwgMjQ3LCAyMzksIDI1MywgMjE1LCAyMTYsIDE5NywgMjUyLCA2NCwgMjQxLCAxOTksIDMxLCAyMTAsIDIyMywgMjQ0LCAKLSAgICA0NiwgMjQxLCAxOTksIDMxLCAyMTIsIDU5LCAyNDEsIDE5OSwgMzEsIDI0OSwgMjExLCAyNDEsIDE5OSwgMzEsIDIxNiwgCi0gICAgMTk3LCAyNTQsIDExLCAyNDEsIDE5OSwgMzEsIDI0MSwgNjcsIDIxNiwgMzksIDI0MSwgMTk5LCAzMSwgNCwgMjE3LCA2MiwgCi0gICAgMjQxLCAxOTksIDMxLCAyMTUsIDIzOCwgMjQxLCAxOTksIDMxLCAyMjUsIDIyMiwgMjQxLCAxOTksIDMxLCAyMTgsIDE2MCwgCi0gICAgMjQxLCAxOTksIDMxLCAyNDQsIDE0NywgMjQxLCAxOTksIDMxLCAyNDIsIDEzOSwgMjI0LCAyNDMsIDI0MSwgMTk5LCAzMSwgCi0gICAgMjMwLCAxNjAsIDI0MSwgMTk5LCAzMSwgMjQ1LCAxMzQsIDI0MSwgMTk5LCAzMSwgMjQ0LCA0NywgMjQxLCAxOTksIDMxLCAKLSAgICAyMTEsIDIwNywgMjI2LCAyMDEsIDIxNiwgMTk3LCAyNDgsIDk0LCAyNDEsIDE5OSwgMzEsIDI1NCwgNTksIDI0MSwgMTk5LCAKLSAgICAzMSwgMjQ5LCAxOTMsIDI0MSwgMTk5LCAzMSwgMjUxLCAyMzUsIDIxNiwgMTM5LCAyNDEsIDE5OSwgMzEsIDI0MiwgMTU2LCAKLSAgICAyNDEsIDE5OSwgMzEsIDIxOCwgMjQ3LCAyNTQsIDc4LCAyNDEsIDE5OSwgMzEsIDIyMywgNTYsIDI0MSwgMTk5LCAzMSwgCi0gICAgMjM1LCAyMjcsIDI0MSwgMTk5LCAzMSwgMjQyLCAxMzksIDIxNywgNjIsIDI0MSwgMTk5LCAzMSwgMjMwLCAxMTYsIDI0OSwgCi0gICAgMTY3LCAyNDEsIDE5OSwgMzEsIDI0MiwgMTM5LCAyMjQsIDIwMCwgMjQxLCAxOTksIDMxLCAyMTYsIDE5NywgMjU1LCAyNywgCi0gICAgMjEyLCA0MCwgMjQxLCAxOTksIDMxLCAyMTYsIDE5NywgMjUwLCAxNiwgMjQ0LCAxMDQsIDI0MSwgMTk5LCAzMSwgMjM1LCAKLSAgICAyNDAsIDI0MSwgMTk5LCAzMSwgMjQ2LCA2NSwgMjQxLCAxOTksIDMxLCAyMjMsIDU5LCAyNDEsIDE5OSwgMzEsIDI0MiwgCi0gICAgMTM5LCAyMjQsIDIyNywgMjQxLCAxOTksIDMxLCAyMjQsIDE4MCwgMjQxLCAxOTksIDMxLCAyNDgsIDE2OSwgNjQsIDIxNiwgCi0gICAgMTk3LCAyMzIsIDIzNiwgMjQxLCAxOTksIDMxLCAyMTYsIDE5NywgMjQ0LCAxODIsIDI0MSwgMTk5LCAzMSwgMjI2LCAxNjcsIAotICAgIDI0MSwgMTk5LCAzMSwgMjI2LCAyNDgsIDI0MSwgMTk5LCAzMSwgMjQ4LCA2NywgMjQxLCAxOTksIDMxLCAyNDgsIDg3LCAKLSAgICAyNDEsIDE5OSwgMzEsIDIzNSwgMjU0LCAyNDEsIDE5OSwgMzEsIDI1MSwgMTU3LCAyNDEsIDE5OSwgMzEsIDI0OSwgMjI5LCAKLSAgICAyMTYsIDQzLCAyMzEsIDgxLCAyNDEsIDE5OSwgMzEsIDI0MywgOTQsIDIxNiwgMzksIDI0MSwgMTk5LCAzMSwgMjI0LCAxMjgsIAotICAgIDIxNCwgMTU0LCAyNDEsIDE5OSwgMzEsIDIyNiwgMTY2LCAyNDEsIDE5OSwgMzEsIDIxNiwgMTk3LCAyMTIsIDEzLCAyNDEsIAotICAgIDE5OSwgMzEsIDIyMywgNDgsIDI0MSwgMTk5LCAzMSwgMjE2LCAxOTcsIDI1MCwgMjI4LCAyNDEsIDE5OSwgMzEsIDIxNiwgCi0gICAgMTk3LCAyNTQsIDcsIDIxNiwgMTM0LCAyNDEsIDE5OSwgMzEsIDIxNiwgMTk3LCAyMzQsIDE4NSwgMjE4LCAxMzYsIDIzMCwgCi0gICAgMTIwLCAyNDEsIDE5OSwgMzEsIDI0OCwgNDAsIDI0MSwgMTk5LCAzMSwgMjE2LCAxOTcsIDIzMSwgMTU3LCAyMzEsIDIwNywgCi0gICAgMjQxLCAxOTksIDMxLCAyNTUsIDI4LCAyNDEsIDE5OSwgMzEsIDIxNiwgMTk3LCAyMTIsIDU0LCAyNDEsIDE5OSwgMzEsIAotICAgIDIxNiwgMTk3LCAyNDMsIDU0LCAyMTEsIDIzOSwgMjQxLCAxOTksIDMxLCAyMTYsIDE5NywgMjM1LCA1OCwgMjMzLCAxMTMsIAotICAgIDI0MSwgMTk5LCAzMSwgMjQ3LCAxOTIsIDI0MSwgMTk5LCAzMSwgMjMyLCAyMjYsIDI0MSwgMTk5LCAzMSwgMjM1LCAyMzAsIAotICAgIDIxNSwgMTg4LCAyNDEsIDE5OSwgMzEsIDQsIDIyNCwgMjAwLCAyNDEsIDE5OSwgMzEsIDI1NCwgMjI2LCAyNDksIDIyMCwgCi0gICAgMjQxLCAxOTksIDMxLCAyNTIsIDY3LCAyNDksIDIyMCwgOCwgMywgMjM1LCAxNjYsIDgsIDMsIDIzNSwgMTU5LCA4LCAzLCAKLSAgICA3NCwgOCwgMywgMjM1LCAxODksIDgsIDMsIDIzNiwgNjUsIDgsIDMsIDIzNiwgNDgsIDgsIDMsIDIzNiwgNjcsIDgsIDMsIAotICAgIDIzNiwgNjYsIDgsIDMsIDI1MywgMjE0LCA4LCAzLCAyNTMsIDE3NywgOCwgMywgNjEsIDgsIDMsIDI1NCwgODAsIDgsIDMsIAotICAgIDIxNCwgMTY0LCA4LCAzLCAyMTQsIDE2NywgOCwgMywgMjE0LCAxNjUsIDgsIDMsIDIyNiwgMTQ0LCA4LCAzLCAyMjYsIDExOCwgCi0gICAgOCwgMywgNzgsIDgsIDMsIDIyNiwgMTc5LCA4LCAzLCAyNDUsIDQzLCA4LCAzLCA3NiwgOCwgMywgMjExLCAxOTUsIDgsIDMsIAotICAgIDI1MSwgMjM2LCA4LCAzLCAyNTEsIDIzMywgOCwgMywgMjUyLCAxNCwgOCwgMywgMjUxLCAyNDYsIDgsIDMsIDI1MiwgMywgOCwgCi0gICAgMywgMjUyLCAyLCA4LCAzLCAyNTIsIDUsIDgsIDMsIDI1MiwgNCwgOCwgMywgMjUyLCAxMjksIDgsIDMsIDI1MiwgMTIxLCA4LCAKLSAgICAzLCAyNTIsIDE5OSwgOCwgMywgMjUyLCAxNTAsIDgsIDMsIDI1MSwgMTA5LCA4LCAzLCAyNTEsIDExMywgOCwgMywgMjUxLCAKLSAgICAxMTAsIDgsIDMsIDI1MSwgMTg3LCA4LCAzLCAyNTEsIDE3MSwgOCwgMywgMjUxLCAyMTMsIDgsIDMsIDI1MSwgMTkzLCA4LCAKLSAgICAzLCAyNTIsIDI5LCA4LCAzLCAyNTIsIDgzLCA4LCAzLCAyNTIsIDQxLCA4LCAzLCAyNTEsIDk1LCA4LCAzLCAyNTEsIDkyLCAKLSAgICA4LCAzLCAyNTEsIDEzMywgOCwgMywgMjUxLCAxMDgsIDgsIDMsIDI1MSwgMTAyLCA4LCAzLCAyNTEsIDEwNiwgOCwgMywgCi0gICAgMjUxLCA4MCwgOCwgMywgMjUxLCA3OCwgOCwgMywgMjUxLCA4NSwgOCwgMywgMjUxLCA4MywgOCwgMywgMjUxLCA4MSwgOCwgCi0gICAgMywgMjUxLCA4MiwgOCwgMywgMjI1LCA1MiwgOCwgMywgMjI1LCA0OCwgOCwgMywgMjI1LCAxMTEsIDgsIDMsIDIyNSwgNjIsIAotICAgIDgsIDMsIDIyNSwgNzgsIDgsIDMsIDIyNSwgMTA1LCA4LCAzLCAyMjUsIDEwMSwgOCwgMywgMjI1LCAyNDQsIDgsIDMsIDIyNSwgCi0gICAgMjM0LCA4LCAzLCAxOTEsIDgsIDMsIDIyNiwgMjUsIDgsIDMsIDIyNCwgMTM4LCA4LCAzLCAyMjQsIDE0MCwgOCwgMywgMjI0LCAKLSAgICAxMzksIDgsIDMsIDIyNCwgMjM2LCA4LCAzLCAyMjQsIDIyNSwgOCwgMywgMjI1LCAxOSwgOCwgMywgMjI0LCAyNDgsIDgsIDMsIAotICAgIDIyNCwgMTI0LCA4LCAzLCAyMjQsIDEyMCwgOCwgMywgMjI0LCAxNTMsIDgsIDMsIDIyNCwgMTM3LCA4LCAzLCAyMjQsIDEyOSwgCi0gICAgOCwgMywgMjI0LCAxMzUsIDgsIDMsIDIyNCwgMTAzLCA4LCAzLCAyMjQsIDEwMiwgOCwgMywgMjI0LCAxMDcsIDgsIDMsIAotICAgIDIyNCwgMTA2LCA4LCAzLCAyMjQsIDEwNCwgOCwgMywgMjI0LCAxMDUsIDgsIDMsIDI1MiwgMTA0LCA4LCAzLCAyNTIsIDEwMywgCi0gICAgOCwgMywgMjUyLCAxMTAsIDgsIDMsIDI1MiwgMTA1LCA4LCAzLCAyNTIsIDEwNywgOCwgMywgMjUyLCAxMDYsIDgsIDMsIAotICAgIDI1MiwgMTA5LCA4LCAzLCAyNTIsIDEwOCwgOCwgMywgMjUyLCAxMTYsIDgsIDMsIDI1MiwgMTE1LCA4LCAzLCAyNTIsIDExOSwgCi0gICAgOCwgMywgMjUyLCAxMTcsIDgsIDMsIDI1MiwgOTUsIDgsIDMsIDI1MiwgOTcsIDgsIDMsIDI1MiwgOTYsIDgsIDMsIDI1MiwgCi0gICAgMTAwLCA4LCAzLCAyNTIsIDk5LCA4LCAzLCAyNTIsIDEwMiwgOCwgMywgMjUyLCAxMDEsIDgsIDMsIDI1MiwgMTExLCA4LCAzLCAKLSAgICAyNTIsIDExNCwgOCwgMywgMjUyLCAxMTIsIDgsIDMsIDI1MiwgOTEsIDgsIDMsIDI1MiwgOTAsIDgsIDMsIDI1MiwgOTgsIDgsIAotICAgIDMsIDI1MiwgOTQsIDgsIDMsIDI1MiwgOTIsIDgsIDMsIDI1MiwgOTMsIDgsIDMsIDI1MiwgODcsIDgsIDMsIDI1MiwgODYsIAotICAgIDgsIDMsIDI1MiwgODksIDgsIDMsIDI1MiwgODgsIDgsIDMsIDIyOSwgMTc0LCA4LCAzLCAyMjksIDE3MywgOCwgMywgMjI5LCAKLSAgICAxNzksIDgsIDMsIDIyOSwgMTc1LCA4LCAzLCAyMjksIDE3NiwgOCwgMywgMjI5LCAxNzgsIDgsIDMsIDIyOSwgMTc3LCA4LCAKLSAgICAzLCAyMjksIDE4MiwgOCwgMywgMjI5LCAxODEsIDgsIDMsIDIyOSwgMTg0LCA4LCAzLCAyMjksIDE4MywgOCwgMywgMjI5LCAKLSAgICAxNzAsIDgsIDMsIDIyOSwgMTY5LCA4LCAzLCAyMjksIDE3MiwgOCwgMywgMjI5LCAxNzEsIDgsIDMsIDIyOSwgMTYzLCA4LCAKLSAgICAzLCAyMjksIDE2MiwgOCwgMywgMjI5LCAxNjcsIDgsIDMsIDIyOSwgMTY2LCA4LCAzLCAyMjksIDE2NCwgOCwgMywgMjI5LCAKLSAgICAxNjUsIDgsIDMsIDIyOSwgMTU3LCA4LCAzLCAyMjksIDE1NiwgOCwgMywgMjI5LCAxNjEsIDgsIDMsIDIyOSwgMTYwLCA4LCAKLSAgICAzLCAyMjksIDE1OCwgOCwgMywgMjI5LCAxNTksIDgsIDMsIDI0MSwgMTE3LCA4LCAzLCAyNDEsIDExNiwgOCwgMywgMjQxLCAKLSAgICAxMjIsIDgsIDMsIDI0MSwgMTE4LCA4LCAzLCAyNDEsIDExOSwgOCwgMywgMjQxLCAxMjEsIDgsIDMsIDI0MSwgMTIwLCA4LCAKLSAgICAzLCAyNDEsIDEyNSwgOCwgMywgMjQxLCAxMjQsIDgsIDMsIDI0MSwgMTI3LCA4LCAzLCAyNDEsIDEyNiwgOCwgMywgMjQxLCAKLSAgICAxMDgsIDgsIDMsIDI0MSwgMTEwLCA4LCAzLCAyNDEsIDEwOSwgOCwgMywgMjQxLCAxMTMsIDgsIDMsIDI0MSwgMTEyLCA4LCAKLSAgICAzLCAyNDEsIDExNSwgOCwgMywgMjQxLCAxMTQsIDgsIDMsIDI0MSwgMTA0LCA4LCAzLCAyNDEsIDEwMywgOCwgMywgMjQxLCAKLSAgICAxMTEsIDgsIDMsIDI0MSwgMTA3LCA4LCAzLCAyNDEsIDEwNSwgOCwgMywgMjQxLCAxMDYsIDgsIDMsIDI0MSwgOTgsIDgsIDMsIAotICAgIDI0MSwgMTAyLCA4LCAzLCAyNDEsIDEwMSwgOCwgMywgMjQxLCA5OSwgOCwgMywgMjQxLCAxMDAsIDgsIDMsIDIzMCwgMTc3LCAKLSAgICA4LCAzLCAyMzAsIDE3NiwgOCwgMywgMjMwLCAyMzUsIDgsIDMsIDIzMCwgMTgzLCA4LCAzLCAyMzAsIDIwOCwgOCwgMywgCi0gICAgMjMwLCAyMjYsIDgsIDMsIDIzMCwgMjI0LCA4LCAzLCAyMzEsIDE0NCwgOCwgMywgMjMxLCAxMzksIDgsIDMsIDE4NiwgOCwgCi0gICAgMywgMjMxLCAxNzcsIDgsIDMsIDIzMCwgNzksIDgsIDMsIDIzMCwgNzgsIDgsIDMsIDIzMCwgODIsIDgsIDMsIDIzMCwgODAsIAotICAgIDgsIDMsIDIzMCwgMTI2LCA4LCAzLCAyMzAsIDExMiwgOCwgMywgMjMwLCAxNjYsIDgsIDMsIDIzMCwgMTMxLCA4LCAzLCAKLSAgICAyMzEsIDMxLCA4LCAzLCAyMzEsIDk2LCA4LCAzLCAyMzAsIDYwLCA4LCAzLCAyMzAsIDU2LCA4LCAzLCAyMzAsIDEwNywgOCwgCi0gICAgMywgMjMwLCA3NSwgOCwgMywgMjMwLCA2OCwgOCwgMywgMjMwLCA3MywgOCwgMywgMjMwLCAzMywgOCwgMywgMjMwLCAzMiwgCi0gICAgOCwgMywgMjMwLCAzOCwgOCwgMywgMjMwLCAzNSwgOCwgMywgMjQ0LCA5MSwgOCwgMywgMjQ0LCA4NiwgOCwgMywgMjQ0LCAKLSAgICAxMjksIDgsIDMsIDI0NCwgMTA2LCA4LCAzLCAyNDQsIDE3NSwgOCwgMywgMjQ0LCAxNjYsIDgsIDMsIDI0NCwgMjA0LCA4LCAKLSAgICAzLCAyNDQsIDE3OCwgOCwgMywgMjQ0LCAxMSwgOCwgMywgMjQ0LCA1MSwgOCwgMywgMjQ0LCAzNSwgOCwgMywgMjQzLCAyMjUsIAotICAgIDgsIDMsIDI0MywgMjI0LCA4LCAzLCAyNDMsIDI0MSwgOCwgMywgMjQzLCAyMzAsIDgsIDMsIDI0MywgMjI4LCA4LCAzLCAKLSAgICAyNDMsIDIyOSwgOCwgMywgMjQzLCAyMTIsIDgsIDMsIDI0MywgMjExLCA4LCAzLCAyNDMsIDIxNSwgOCwgMywgMjQzLCAyMTMsIAotICAgIDgsIDMsIDIxMywgMTQ0LCA4LCAzLCAyMTMsIDEzOSwgOCwgMywgMjEzLCAxNzYsIDgsIDMsIDIxMywgMTUzLCA4LCAzLCAKLSAgICAyMTMsIDE2NiwgOCwgMywgMjEzLCAxNjMsIDgsIDMsIDIxMywgMTY4LCA4LCAzLCAyMTMsIDE2NywgOCwgMywgMjE0LCA3LCAKLSAgICA4LCAzLCAyMTQsIDIsIDgsIDMsIDIxNCwgMjcsIDgsIDMsIDIxNCwgMTgsIDgsIDMsIDIxMywgMTI1LCA4LCAzLCAyMTMsIAotICAgIDEyMSwgOCwgMywgMjEzLCAxMzgsIDgsIDMsIDIxMywgMTI2LCA4LCAzLCAyMTMsIDE3OCwgOCwgMywgMjEzLCAyNDQsIDgsIAotICAgIDMsIDIxMiwgMTEwLCA4LCAzLCAyMTIsIDEwOCwgOCwgMywgMjEyLCAxMTYsIDgsIDMsIDIxMiwgMTEzLCA4LCAzLCAyMTIsIAotICAgIDExMSwgOCwgMywgMjEyLCAxMTIsIDgsIDMsIDIxMiwgMTAyLCA4LCAzLCAyMTIsIDEwMSwgOCwgMywgMjEyLCAxMDYsIDgsIAotICAgIDMsIDIxMiwgMTA1LCA4LCAzLCAyMTIsIDEwMywgOCwgMywgMjEyLCAxMDQsIDgsIDMsIDI0NywgMTg2LCA4LCAzLCAyNDcsIAotICAgIDE3NCwgOCwgMywgMjQ4LCAxMSwgOCwgMywgMjQ3LCAyMTEsIDgsIDMsIDI0NywgMjQ0LCA4LCAzLCAyNDcsIDI0OCwgOCwgMywgCi0gICAgMjQ3LCAyNDcsIDgsIDMsIDI0OCwgMTYwLCA4LCAzLCAyNDgsIDE1NSwgOCwgMywgMjQ4LCAyMjksIDgsIDMsIDI0OCwgMTgwLCAKLSAgICA4LCAzLCAyNDYsIDcwLCA4LCAzLCAyNDYsIDcxLCA4LCAzLCAyNDcsIDEyOCwgOCwgMywgMjQ2LCAxMTAsIDgsIDMsIDI0NywgCi0gICAgMTUzLCA4LCAzLCAyNDcsIDEzMCwgOCwgMywgMjQ4LCAzOCwgOCwgMywgMjQ4LCA5OCwgOCwgMywgMjQ4LCA1MywgOCwgMywgCi0gICAgMjQ2LCA2MSwgOCwgMywgMjQ2LCA1OSwgOCwgMywgMjQ2LCA4NiwgOCwgMywgMjQ2LCA2OSwgOCwgMywgMjQ2LCA2NCwgOCwgCi0gICAgMywgMjQ2LCA2NywgOCwgMywgMjE2LCA2OCwgOCwgMywgMjE2LCA2MiwgOCwgMywgMjE2LCAxMTgsIDgsIDMsIDIxNiwgNzcsIAotICAgIDgsIDMsIDIxNiwgMTEwLCA4LCAzLCAyMTYsIDExMiwgOCwgMywgMjE2LCAxMTEsIDgsIDMsIDIxNywgNDcsIDgsIDMsIDIxNywgCi0gICAgMzQsIDgsIDMsIDIxNywgMTA2LCA4LCAzLCAyMTcsIDU1LCA4LCAzLCAyMTUsIDEwMywgOCwgMywgMjE1LCAxMDIsIDgsIDMsIAotICAgIDIxNSwgMTA1LCA4LCAzLCAyMTUsIDEwNCwgOCwgMywgMjE2LCA2LCA4LCAzLCAyMTYsIDIsIDgsIDMsIDExMiwgOCwgMywgCi0gICAgMjE2LCAxNCwgOCwgMywgMjE2LCAyMTQsIDgsIDMsIDIxNywgMjMsIDgsIDMsIDIxNiwgMjM4LCA4LCAzLCAyMTUsIDg4LCA4LCAKLSAgICAzLCAyMTUsIDgzLCA4LCAzLCAyMTUsIDExOSwgOCwgMywgMjE1LCAxMDEsIDgsIDMsIDIxNSwgODksIDgsIDMsIDIxNSwgOTksIAotICAgIDgsIDMsIDI0OCwgMTE1LCA4LCAzLCAyNDgsIDExNCwgOCwgMywgMjQ4LCAxMjAsIDgsIDMsIDI0OCwgMTE2LCA4LCAzLCAKLSAgICAyNDgsIDExNywgOCwgMywgMjQ4LCAxMTksIDgsIDMsIDI0OCwgMTE4LCA4LCAzLCAyNDgsIDEzNiwgOCwgMywgMjQ4LCAxMzUsIAotICAgIDgsIDMsIDI0OCwgMTQzLCA4LCAzLCAyNDgsIDEzNywgOCwgMywgMjQ4LCAxMDUsIDgsIDMsIDI0OCwgMTA3LCA4LCAzLCAKLSAgICAyNDgsIDEwNiwgOCwgMywgMjQ4LCAxMTAsIDgsIDMsIDI0OCwgMTA5LCA4LCAzLCAyNDgsIDExMywgOCwgMywgMjQ4LCAxMTEsIAotICAgIDgsIDMsIDI0OCwgMTI4LCA4LCAzLCAyNDgsIDEzMSwgOCwgMywgMjQ4LCAxMjksIDgsIDMsIDI0OCwgMTAxLCA4LCAzLCAKLSAgICAyNDgsIDEwMCwgOCwgMywgMjQ4LCAxMDgsIDgsIDMsIDI0OCwgMTA0LCA4LCAzLCAyNDgsIDEwMiwgOCwgMywgMjQ4LCAxMDMsIAotICAgIDgsIDMsIDIyOSwgMTMxLCA4LCAzLCAyMjksIDEzMCwgOCwgMywgMjI5LCAxMzgsIDgsIDMsIDIyOSwgMTMzLCA4LCAzLCAKLSAgICAyMjksIDEzNCwgOCwgMywgMjI5LCAxMzUsIDgsIDMsIDIyOSwgMTQ3LCA4LCAzLCAyMjksIDE0NiwgOCwgMywgMjI5LCAxNTMsIAotICAgIDgsIDMsIDIyOSwgMTQ4LCA4LCAzLCAyMjksIDEyMywgOCwgMywgMjI5LCAxMjIsIDgsIDMsIDIyOSwgMTI5LCA4LCAzLCAKLSAgICAyMjksIDEyNCwgOCwgMywgMjI5LCAxMzksIDgsIDMsIDIyOSwgMTQ1LCA4LCAzLCAyMjksIDE0MywgOCwgMywgMjI5LCAxMTUsIAotICAgIDgsIDMsIDIyOSwgMTE0LCA4LCAzLCAyMjksIDEyMCwgOCwgMywgMjI5LCAxMTgsIDgsIDMsIDIyOSwgMTE2LCA4LCAzLCAKLSAgICAyMjksIDExNywgOCwgMywgMjQxLCA4NCwgOCwgMywgMjQxLCA4MywgOCwgMywgMjQxLCA5MCwgOCwgMywgMjQxLCA4NSwgOCwgCi0gICAgMywgMjQxLCA4NywgOCwgMywgMjQxLCA4NiwgOCwgMywgMjQxLCA4OSwgOCwgMywgMjQxLCA4OCwgOCwgMywgMjQxLCA5NSwgCi0gICAgOCwgMywgMjQxLCA5NCwgOCwgMywgMjQxLCA5NywgOCwgMywgMjQxLCA5NiwgOCwgMywgMjQxLCA3OCwgOCwgMywgMjQxLCAKLSAgICA3OSwgOCwgMywgMjQxLCA4MSwgOCwgMywgMjQxLCA4MCwgOCwgMywgMjQxLCA4MiwgOCwgMywgMjQxLCA5MSwgOCwgMywgCi0gICAgMjQxLCA5MywgOCwgMywgMjQxLCA5MiwgOCwgMywgMjQxLCA3NywgOCwgMywgMjI4LCAxOTQsIDgsIDMsIDIyOCwgMTkyLCA4LCAKLSAgICAzLCAyMjgsIDIzOCwgOCwgMywgMjI4LCAxOTcsIDgsIDMsIDIyOCwgMjIwLCA4LCAzLCAyMjgsIDIzNCwgOCwgMywgMjI4LCAKLSAgICAyMzMsIDgsIDMsIDIyOSwgMTg4LCA4LCAzLCAxOTgsIDgsIDMsIDIyOSwgMjAyLCA4LCAzLCAyMjcsIDE5MCwgOCwgMywgCi0gICAgMjI3LCAxOTIsIDgsIDMsIDIyNywgMTkxLCA4LCAzLCAyMjgsIDU2LCA4LCAzLCAyMjgsIDQzLCA4LCAzLCAyMjgsIDc5LCA4LCAKLSAgICAzLCAyMjgsIDY1LCA4LCAzLCAyMjksIDg4LCA4LCAzLCAyMjksIDExMiwgOCwgMywgMjI5LCA5OSwgOCwgMywgMjI3LCAxODUsIAotICAgIDgsIDMsIDIyNywgMTgxLCA4LCAzLCAyMjcsIDI0MiwgOCwgMywgMjI3LCAxODksIDgsIDMsIDIyNywgMTg3LCA4LCAzLCAKLSAgICAyMjcsIDE4OCwgOCwgMywgMjQxLCAxNDgsIDgsIDMsIDI0MSwgMTQ3LCA4LCAzLCAyNDEsIDE1MywgOCwgMywgMjQxLCAxNDksIAotICAgIDgsIDMsIDI0MSwgMTUwLCA4LCAzLCAyNDEsIDE1MiwgOCwgMywgMjQxLCAxNTEsIDgsIDMsIDI0MSwgMTU4LCA4LCAzLCAKLSAgICAyNDEsIDE1NywgOCwgMywgMjQxLCAxNjAsIDgsIDMsIDI0MSwgMTU5LCA4LCAzLCAyNDEsIDE0MCwgOCwgMywgMjQxLCAxNDIsIAotICAgIDgsIDMsIDI0MSwgMTQxLCA4LCAzLCAyNDEsIDE0NCwgOCwgMywgMjQxLCAxNDYsIDgsIDMsIDI0MSwgMTQ1LCA4LCAzLCAKLSAgICAyNDEsIDE1NCwgOCwgMywgMjQxLCAxNTYsIDgsIDMsIDI0MSwgMTU1LCA4LCAzLCAyNDEsIDEzNiwgOCwgMywgMjQxLCAxMzUsIAotICAgIDgsIDMsIDI0MSwgMTQzLCA4LCAzLCAyNDEsIDEzOSwgOCwgMywgMjQxLCAxMzcsIDgsIDMsIDI0MSwgMTM4LCA4LCAzLCAKLSAgICAyNDEsIDEzMCwgOCwgMywgMjQxLCAxMjksIDgsIDMsIDI0MSwgMTM0LCA4LCAzLCAyNDEsIDEzMywgOCwgMywgMjQxLCAxMzEsIAotICAgIDgsIDMsIDI0MSwgMTMyLCA4LCAzLCAyMzIsIDIwMSwgOCwgMywgMjMyLCAxOTUsIDgsIDMsIDIzMiwgMjQ3LCA4LCAzLCAKLSAgICAyMzIsIDIwOCwgOCwgMywgMjMyLCAyMzksIDgsIDMsIDIzMiwgMjM4LCA4LCAzLCAyMzIsIDI0MiwgOCwgMywgMjMyLCAyNDAsIAotICAgIDgsIDMsIDIzMywgODUsIDgsIDMsIDIzMywgNzUsIDgsIDMsIDIzMywgMTQxLCA4LCAzLCAyMzMsIDk0LCA4LCAzLCAyMzIsIAotICAgIDg0LCA4LCAzLCAyMzIsIDgzLCA4LCAzLCAyMzIsIDg2LCA4LCAzLCAyMzIsIDg1LCA4LCAzLCAyMzIsIDEyMiwgOCwgMywgCi0gICAgMjMyLCAxMTIsIDgsIDMsIDIzMiwgMTYyLCA4LCAzLCAyMzIsIDEyNiwgOCwgMywgMjMzLCA4LCA4LCAzLCAyMzMsIDY0LCA4LCAKLSAgICAzLCAyMzMsIDIzLCA4LCAzLCAyMzIsIDc5LCA4LCAzLCAyMzIsIDc3LCA4LCAzLCAyMzIsIDEwMywgOCwgMywgMjMyLCA4MiwgCi0gICAgOCwgMywgMjMyLCA4MCwgOCwgMywgMjMyLCA4MSwgOCwgMywgMjMyLCA1OSwgOCwgMywgMjMyLCA1OCwgOCwgMywgMjMyLCAKLSAgICA2NywgOCwgMywgMjMyLCA2MiwgOCwgMywgMjMyLCA2MCwgOCwgMywgMjMyLCA2MSwgOCwgMywgMjQyLCAxOTYsIDgsIDMsIAotICAgIDI0MiwgMTk1LCA4LCAzLCAyNDIsIDIyMSwgOCwgMywgMjQyLCAyMDYsIDgsIDMsIDI0MiwgMjEzLCA4LCAzLCAyNDIsIDIxMiwgCi0gICAgOCwgMywgMjQyLCAyMTUsIDgsIDMsIDI0MiwgMjE0LCA4LCAzLCAyNDMsIDk2LCA4LCAzLCAyNDMsIDkxLCA4LCAzLCAyNDMsIAotICAgIDE0MiwgOCwgMywgMjQzLCAxMDYsIDgsIDMsIDI0MiwgOTgsIDgsIDMsIDI0MiwgOTcsIDgsIDMsIDI0MiwgMTAwLCA4LCAzLCAKLSAgICAyNDIsIDk5LCA4LCAzLCAyNDIsIDE2MSwgOCwgMywgMjQyLCAxNTksIDgsIDMsIDI0MiwgMTgxLCA4LCAzLCAyNDIsIDE2OSwgCi0gICAgOCwgMywgMjQzLCA0MCwgOCwgMywgMjQzLCAzOCwgOCwgMywgMjQzLCA2OSwgOCwgMywgMjQzLCA1MSwgOCwgMywgMjQyLCAKLSAgICA4OCwgOCwgMywgMjQyLCA4NywgOCwgMywgMjQyLCAxMjAsIDgsIDMsIDI0MiwgOTYsIDgsIDMsIDI0MiwgODksIDgsIDMsIAotICAgIDI0MiwgOTUsIDgsIDMsIDIzNCwgNjcsIDgsIDMsIDIzNCwgNjYsIDgsIDMsIDIzNCwgOTgsIDgsIDMsIDIzNCwgODEsIDgsIAotICAgIDMsIDIzNCwgOTEsIDgsIDMsIDIzNCwgOTQsIDgsIDMsIDIzNCwgOTIsIDgsIDMsIDIzNCwgMjA4LCA4LCAzLCAyMzQsIDE5NiwgCi0gICAgOCwgMywgMTc2LCA4LCAzLCAyMzQsIDIzNCwgOCwgMywgMjMzLCAyMDYsIDgsIDMsIDIzMywgMjExLCA4LCAzLCAyMzMsIAotICAgIDIwOCwgOCwgMywgMjM0LCA2LCA4LCAzLCAyMzQsIDIsIDgsIDMsIDIzNCwgMzQsIDgsIDMsIDIzNCwgMTMsIDgsIDMsIDIzNCwgCi0gICAgMTYyLCA4LCAzLCAyMzQsIDE0NiwgOCwgMywgMjM0LCAxODgsIDgsIDMsIDIzNCwgMTY1LCA4LCAzLCAyMzMsIDE5NSwgOCwgCi0gICAgMywgMjMzLCAxOTIsIDgsIDMsIDIzMywgMjIzLCA4LCAzLCAyMzMsIDIwNSwgOCwgMywgMjMzLCAxOTgsIDgsIDMsIDIzMywgCi0gICAgMjAyLCA4LCAzLCAyNDMsIDIyLCA4LCAzLCAyNDMsIDIxLCA4LCAzLCAyNDMsIDI2LCA4LCAzLCAyNDMsIDIzLCA4LCAzLCAKLSAgICAyNDMsIDI1LCA4LCAzLCAyNDMsIDI0LCA4LCAzLCAyNDMsIDMzLCA4LCAzLCAyNDMsIDMyLCA4LCAzLCAyNDMsIDM2LCA4LCAKLSAgICAzLCAyNDMsIDM0LCA4LCAzLCAyNDMsIDEzLCA4LCAzLCAyNDMsIDEyLCA4LCAzLCAyNDMsIDE1LCA4LCAzLCAyNDMsIDE0LCAKLSAgICA4LCAzLCAyNDMsIDE4LCA4LCAzLCAyNDMsIDE3LCA4LCAzLCAyNDMsIDIwLCA4LCAzLCAyNDMsIDE5LCA4LCAzLCAyNDMsIAotICAgIDI4LCA4LCAzLCAyNDMsIDI3LCA4LCAzLCAyNDMsIDMxLCA4LCAzLCAyNDMsIDI5LCA4LCAzLCAyNDMsIDgsIDgsIDMsIDI0MywgCi0gICAgNywgOCwgMywgMjQzLCAxNiwgOCwgMywgMjQzLCAxMSwgOCwgMywgMjQzLCA5LCA4LCAzLCAyNDMsIDEwLCA4LCAzLCAyMzAsIAotICAgIDI1NCwgOCwgMywgMjMwLCAyNTUsIDgsIDMsIDIzMSwgMTcsIDgsIDMsIDIzMSwgMTYsIDgsIDMsIDIzMSwgMTksIDgsIDMsIAotICAgIDIzMSwgMTgsIDgsIDMsIDIzMCwgMjQ1LCA4LCAzLCAyMzAsIDI0NywgOCwgMywgMjMwLCAyNDYsIDgsIDMsIDIzMCwgMjUwLCAKLSAgICA4LCAzLCAyMzAsIDI0OSwgOCwgMywgMjMwLCAyNTIsIDgsIDMsIDIzMCwgMjUxLCA4LCAzLCAyMzEsIDAsIDgsIDMsIDIzMSwgCi0gICAgMiwgOCwgMywgMjMxLCAxLCA4LCAzLCAyMzAsIDI0MSwgOCwgMywgMjMwLCAyNDAsIDgsIDMsIDIzMCwgMjQ4LCA4LCAzLCAKLSAgICAyMzAsIDI0NCwgOCwgMywgMjMwLCAyNDIsIDgsIDMsIDIzMCwgMjQzLCA4LCAzLCAyNDAsIDE4NywgOCwgMywgMjQwLCAxODYsIAotICAgIDgsIDMsIDI0MCwgMTkzLCA4LCAzLCAyNDAsIDE4OCwgOCwgMywgMjQwLCAxOTAsIDgsIDMsIDI0MCwgMTg5LCA4LCAzLCAKLSAgICAyNDAsIDE5MiwgOCwgMywgMjQwLCAxOTEsIDgsIDMsIDI0MCwgMTk4LCA4LCAzLCAyNDAsIDE5NywgOCwgMywgMjQwLCAyMDAsIAotICAgIDgsIDMsIDI0MCwgMTk5LCA4LCAzLCAyNDAsIDE3OSwgOCwgMywgMjQwLCAxNzgsIDgsIDMsIDI0MCwgMTgxLCA4LCAzLCAKLSAgICAyNDAsIDE4MCwgOCwgMywgMjQwLCAxODMsIDgsIDMsIDI0MCwgMTgyLCA4LCAzLCAyNDAsIDE4NSwgOCwgMywgMjQwLCAxODQsIAotICAgIDgsIDMsIDI0MCwgMTk0LCA4LCAzLCAyNDAsIDE5NiwgOCwgMywgMjQwLCAxOTUsIDgsIDMsIDIyOSwgMjksIDgsIDMsIDIyOSwgCi0gICAgMzEsIDgsIDMsIDIyOSwgMzAsIDgsIDMsIDIyOSwgNzIsIDgsIDMsIDIyOSwgNzAsIDgsIDMsIDIyOSwgODIsIDgsIDMsIAotICAgIDIyOSwgNzUsIDgsIDMsIDIyOCwgMjQ4LCA4LCAzLCAyMjgsIDI0NywgOCwgMywgMjI4LCAyNDksIDgsIDMsIDIyOSwgMSwgOCwgCi0gICAgMywgMjI4LCAyNTQsIDgsIDMsIDIyOSwgOSwgOCwgMywgMjI5LCAzLCA4LCAzLCAyMjksIDYzLCA4LCAzLCAyMjksIDY5LCA4LCAKLSAgICAzLCAyMjksIDY1LCA4LCAzLCAyNDEsIDE2MywgOCwgMywgMjQxLCAxNzMsIDgsIDMsIDI0MSwgMTgyLCA4LCAzLCAyNDIsIDIsIAotICAgIDgsIDMsIDI0MSwgMjUwLCA4LCAzLCAxNjIsIDgsIDMsIDI0MiwgMTMsIDgsIDMsIDI0MCwgMjEzLCA4LCAzLCAyNDAsIDIxMiwgCi0gICAgOCwgMywgMjQwLCAyMTUsIDgsIDMsIDI0MCwgMjE0LCA4LCAzLCAyNDAsIDI0OSwgOCwgMywgMjQwLCAyNDAsIDgsIDMsIAotICAgIDI0MSwgNzUsIDgsIDMsIDI0MSwgNTQsIDgsIDMsIDI0MSwgMjAxLCA4LCAzLCAyNDEsIDI0NSwgOCwgMywgMjQxLCAyMTMsIAotICAgIDgsIDMsIDIxMiwgNDMsIDgsIDMsIDIxMiwgMjgsIDgsIDMsIDIxMiwgNjUsIDgsIDMsIDIxMiwgNTEsIDgsIDMsIDIxMSwgCi0gICAgMTg1LCA4LCAzLCAyMTEsIDE4NywgOCwgMywgMjExLCAxODYsIDgsIDMsIDIxMSwgMjAzLCA4LCAzLCAyMTEsIDIyNywgOCwgCi0gICAgMywgMjExLCAyMTAsIDgsIDMsIDIxMiwgNSwgOCwgMywgMjEyLCAyMiwgOCwgMywgMjEyLCAxMCwgOCwgMywgMjEwLCAzMCwgCi0gICAgOCwgMywgMjEwLCAyOSwgOCwgMywgMjEwLCA0NCwgOCwgMywgMjEwLCAzMiwgOCwgMywgMjEwLCAzNywgOCwgMywgMjEwLCAKLSAgICAzOSwgOCwgMywgMjEwLCAzOCwgOCwgMywgMjEwLCAxMDIsIDgsIDMsIDIxMCwgOTksIDgsIDMsIDIxMCwgMTE2LCA4LCAzLCAKLSAgICAyMTAsIDEwNSwgOCwgMywgMjEwLCA2LCA4LCAzLCAyMTAsIDgsIDgsIDMsIDIxMCwgNywgOCwgMywgMjEwLCAxOSwgOCwgMywgCi0gICAgMjEwLCAxOCwgOCwgMywgMjEwLCAyMywgOCwgMywgMjEwLCAyMCwgOCwgMywgMjEwLCA4NCwgOCwgMywgMjEwLCA5NCwgOCwgCi0gICAgMywgMjEwLCA4OCwgOCwgMywgMjEwLCAyLCA4LCAzLCAyMTAsIDEsIDgsIDMsIDIxMCwgMTMsIDgsIDMsIDIxMCwgNSwgOCwgCi0gICAgMywgMjEwLCAzLCA4LCAzLCAyMTAsIDQsIDgsIDMsIDIwOSwgMjQ1LCA4LCAzLCAyMDksIDI0NCwgOCwgMywgMjA5LCAyNTAsIAotICAgIDgsIDMsIDIwOSwgMjQ4LCA4LCAzLCAyMDksIDI0NiwgOCwgMywgMjA5LCAyNDcsIDgsIDMsIDI1MCwgMzYsIDgsIDMsIDI1MCwgCi0gICAgMzIsIDgsIDMsIDI1MCwgNTksIDgsIDMsIDI1MCwgNDUsIDgsIDMsIDI1MCwgNTYsIDgsIDMsIDI1MCwgNTAsIDgsIDMsIAotICAgIDI1MCwgNTgsIDgsIDMsIDI1MCwgNTcsIDgsIDMsIDI1MCwgMjMyLCA4LCAzLCAyNTAsIDIyNSwgOCwgMywgMjUxLCA0MSwgOCwgCi0gICAgMywgMjUxLCAzLCA4LCAzLCAyNDksIDExMiwgOCwgMywgMjQ5LCAxMTQsIDgsIDMsIDI0OSwgMTEzLCA4LCAzLCAyNDksIAotICAgIDE2MSwgOCwgMywgMjQ5LCAxNTIsIDgsIDMsIDI0OSwgMjQ2LCA4LCAzLCAyNDksIDE3NywgOCwgMywgMjUwLCAxNjgsIDgsIAotICAgIDMsIDI1MCwgMTk4LCA4LCAzLCAyNTAsIDE3MywgOCwgMywgMjQ5LCA5MiwgOCwgMywgMjQ5LCA5MCwgOCwgMywgMjQ5LCAKLSAgICAxMjAsIDgsIDMsIDI0OSwgMTEwLCA4LCAzLCAyNDksIDk3LCA4LCAzLCAyNDksIDEwOSwgOCwgMywgMjQ5LCA3MSwgOCwgMywgCi0gICAgMjQ5LCA3MCwgOCwgMywgMjQ5LCA4MSwgOCwgMywgMjQ5LCA3NywgOCwgMywgMjQ5LCA3MiwgOCwgMywgMjQ5LCA3NCwgOCwgCi0gICAgMywgMjA5LCAyMjgsIDgsIDMsIDIwOSwgMjI3LCA4LCAzLCAyMDksIDIzNCwgOCwgMywgMjA5LCAyMjksIDgsIDMsIDIwOSwgCi0gICAgMjMxLCA4LCAzLCAyMDksIDIzMCwgOCwgMywgMjA5LCAyMzMsIDgsIDMsIDIwOSwgMjMyLCA4LCAzLCAyMDksIDI0MCwgOCwgCi0gICAgMywgMjA5LCAyMzksIDgsIDMsIDIwOSwgMjQzLCA4LCAzLCAyMDksIDI0MSwgOCwgMywgMjA5LCAyMjQsIDgsIDMsIDIwOSwgCi0gICAgMjI2LCA4LCAzLCAyMDksIDIyNSwgOCwgMywgMjA5LCAyMzUsIDgsIDMsIDIwOSwgMjM4LCA4LCAzLCAyMDksIDIzNiwgOCwgCi0gICAgMywgMjA5LCAyMTcsIDgsIDMsIDIwOSwgMjIxLCA4LCAzLCAyMDksIDIyMCwgOCwgMywgMjA5LCAyMTgsIDgsIDMsIDIwOSwgCi0gICAgMjE5LCA4LCAzLCAyMDksIDIxMSwgOCwgMywgMjA5LCAyMTAsIDgsIDMsIDIwOSwgMjE2LCA4LCAzLCAyMDksIDIxNCwgOCwgCi0gICAgMywgMjA5LCAyMTIsIDgsIDMsIDIwOSwgMjEzLCA4LCAzLCAyMjcsIDEwOCwgOCwgMywgMjI3LCAxMDcsIDgsIDMsIDIyNywgCi0gICAgMTEzLCA4LCAzLCAyMjcsIDEwOSwgOCwgMywgMjI3LCAxMTAsIDgsIDMsIDIyNywgMTEyLCA4LCAzLCAyMjcsIDExMSwgOCwgCi0gICAgMywgMjI3LCAxMTgsIDgsIDMsIDIyNywgMTE3LCA4LCAzLCAyMjcsIDEyMSwgOCwgMywgMjI3LCAxMjAsIDgsIDMsIDIyNywgCi0gICAgMTAxLCA4LCAzLCAyMjcsIDEwMiwgOCwgMywgMjI3LCAxMDUsIDgsIDMsIDIyNywgMTA2LCA4LCAzLCAyMjcsIDExNCwgOCwgCi0gICAgMywgMjI3LCAxMTYsIDgsIDMsIDIyNywgOTYsIDgsIDMsIDIyNywgMTA0LCA4LCAzLCAyMjcsIDEwMCwgOCwgMywgMjI3LCAKLSAgICA5NywgOCwgMywgMjI3LCA5OCwgOCwgMywgMjI3LCA5MSwgOCwgMywgMjI3LCA5MCwgOCwgMywgMjI3LCA5NSwgOCwgMywgCi0gICAgMjI3LCA5NCwgOCwgMywgMjI3LCA5MiwgOCwgMywgMjI3LCA5MywgOCwgMywgMjE5LCAxMjksIDgsIDMsIDE5NSwgOCwgMywgCi0gICAgMjE5LCAxOTMsIDgsIDMsIDIxOSwgMTMyLCA4LCAzLCAyMTksIDE4NSwgOCwgMywgMjE5LCAxODgsIDgsIDMsIDIxOSwgMTg2LCAKLSAgICA4LCAzLCAyMjEsIDIyOCwgOCwgMywgMjIxLCAyMTYsIDgsIDMsIDIwNiwgOCwgMywgMjIxLCAyMzYsIDgsIDMsIDIxOCwgMjksIAotICAgIDgsIDMsIDIxOCwgMzEsIDgsIDMsIDIxOCwgMzAsIDgsIDMsIDIxOSwgMzYsIDgsIDMsIDIxOSwgMjUsIDgsIDMsIDIxOSwgCi0gICAgNjAsIDgsIDMsIDIxOSwgNDAsIDgsIDMsIDIyMCwgMTE2LCA4LCAzLCAyMjEsIDE4MywgOCwgMywgMjIwLCAxNDEsIDgsIDMsIAotICAgIDIxOCwgNiwgOCwgMywgMjE4LCA0LCA4LCAzLCAyMTgsIDg0LCA4LCAzLCAyMTgsIDI4LCA4LCAzLCAyMTgsIDEwLCA4LCAzLCAKLSAgICAyMTgsIDE4LCA4LCAzLCAyMTcsIDE2NywgOCwgMywgMjE3LCAxNjYsIDgsIDMsIDIxNywgMjMzLCA4LCAzLCAyMTcsIDE3NCwgCi0gICAgOCwgMywgMjE3LCAxNjksIDgsIDMsIDIxNywgMTczLCA4LCAzLCAyMTgsIDE4OCwgOCwgMywgMjE4LCAxODcsIDgsIDMsIAotICAgIDIxOCwgMTk0LCA4LCAzLCAyMTgsIDE4OSwgOCwgMywgMjE4LCAxOTEsIDgsIDMsIDIxOCwgMTkzLCA4LCAzLCAyMTgsIDE5MiwgCi0gICAgOCwgMywgMjE4LCAyMDIsIDgsIDMsIDIxOCwgMjAwLCA4LCAzLCAyMTgsIDIyNSwgOCwgMywgMjE4LCAyMDMsIDgsIDMsIAotICAgIDIxOCwgMTgzLCA4LCAzLCAyMTgsIDE4MiwgOCwgMywgMjE4LCAxODYsIDgsIDMsIDIxOCwgMTg0LCA4LCAzLCAyMTgsIDE5NiwgCi0gICAgOCwgMywgMjE4LCAxOTksIDgsIDMsIDIxOCwgMTk3LCA4LCAzLCAyMTgsIDE3OSwgOCwgMywgMjE4LCAxNzcsIDgsIDMsIAotICAgIDIxOCwgMTgxLCA4LCAzLCAyMTgsIDE4MCwgOCwgMywgMjE4LCAxNzIsIDgsIDMsIDIxOCwgMTcxLCA4LCAzLCAyMTgsIDE3NiwgCi0gICAgOCwgMywgMjE4LCAxNzUsIDgsIDMsIDIxOCwgMTczLCA4LCAzLCAyMTgsIDE3NCwgOCwgMywgMjEwLCA3NywgOCwgMywgMjEwLCAKLSAgICA3NiwgOCwgMywgMjEwLCA4MiwgOCwgMywgMjEwLCA3OSwgOCwgMywgMjEwLCA1OSwgOCwgMywgMjEwLCA2MSwgOCwgMywgCi0gICAgMjEwLCA2MCwgOCwgMywgMjEwLCA2NCwgOCwgMywgMjEwLCA2MywgOCwgMywgMjEwLCA2NywgOCwgMywgMjEwLCA2NSwgOCwgCi0gICAgMywgMjEwLCA3MSwgOCwgMywgMjEwLCA3MCwgOCwgMywgMjEwLCA3NCwgOCwgMywgMjEwLCA3MiwgOCwgMywgMjEwLCA1NSwgCi0gICAgOCwgMywgMjEwLCA1NCwgOCwgMywgMjEwLCA2MiwgOCwgMywgMjEwLCA1OCwgOCwgMywgMjEwLCA1NiwgOCwgMywgMjEwLCAKLSAgICA1NywgOCwgMywgMjEwLCA0NywgOCwgMywgMjEwLCA0NiwgOCwgMywgMjEwLCA1MSwgOCwgMywgMjEwLCA1MCwgOCwgMywgCi0gICAgMjEwLCA0OCwgOCwgMywgMjEwLCA0OSwgOCwgMywgMjUwLCAxNDQsIDgsIDMsIDI1MCwgMTQxLCA4LCAzLCAyNTAsIDE2NSwgCi0gICAgOCwgMywgMjUwLCAxNTIsIDgsIDMsIDI1MCwgNzMsIDgsIDMsIDI1MCwgNzIsIDgsIDMsIDI1MCwgNzUsIDgsIDMsIDI1MCwgCi0gICAgNzQsIDgsIDMsIDI1MCwgODcsIDgsIDMsIDI1MCwgODYsIDgsIDMsIDI1MCwgOTQsIDgsIDMsIDI1MCwgODksIDgsIDMsIAotICAgIDI1MCwgMTIzLCA4LCAzLCAyNTAsIDEyMSwgOCwgMywgMjUwLCAxMzksIDgsIDMsIDI1MCwgMTI5LCA4LCAzLCAyNTAsIDY3LCAKLSAgICA4LCAzLCAyNTAsIDc3LCA4LCAzLCAyNTAsIDcxLCA4LCAzLCAyNTAsIDY4LCA4LCAzLCAyNTAsIDcwLCA4LCAzLCAyNTAsIAotICAgIDYxLCA4LCAzLCAyNTAsIDYwLCA4LCAzLCAyNTAsIDY1LCA4LCAzLCAyNTAsIDY0LCA4LCAzLCAyNTAsIDYyLCA4LCAzLCAKLSAgICAyNTAsIDYzLCA4LCAzLCAyMjIsIDE3NywgOCwgMywgMjIyLCAxODEsIDgsIDMsIDIyMiwgMTYwLCA4LCAzLCAyMjIsIDE2MSwgCi0gICAgOCwgMywgMjIyLCAxNjQsIDgsIDMsIDIyMiwgMTYzLCA4LCAzLCAyMjIsIDE2NywgOCwgMywgMjIyLCAxNjUsIDgsIDMsIAotICAgIDIyMiwgMTcxLCA4LCAzLCAyMjIsIDE3MCwgOCwgMywgMjIyLCAxNzYsIDgsIDMsIDIyMiwgMTcyLCA4LCAzLCAyMjIsIDE1NiwgCi0gICAgOCwgMywgMjIyLCAxNTQsIDgsIDMsIDIyMiwgMTYyLCA4LCAzLCAyMjIsIDE1OSwgOCwgMywgMjIyLCAxNTcsIDgsIDMsIAotICAgIDIyMiwgMTU4LCA4LCAzLCAyMjIsIDE0OSwgOCwgMywgMjIyLCAxNDgsIDgsIDMsIDIyMiwgMTUzLCA4LCAzLCAyMjIsIDE1MiwgCi0gICAgOCwgMywgMjIyLCAxNTAsIDgsIDMsIDIyMiwgMTUxLCA4LCAzLCAyMjgsIDM5LCA4LCAzLCAyMjgsIDM4LCA4LCAzLCAyMjgsIAotICAgIDQxLCA4LCAzLCAyMjgsIDQwLCA4LCAzLCAyMjgsIDMxLCA4LCAzLCAyMjgsIDMzLCA4LCAzLCAyMjgsIDMyLCA4LCAzLCAKLSAgICAyMjgsIDM1LCA4LCAzLCAyMjgsIDM0LCA4LCAzLCAyMjgsIDM3LCA4LCAzLCAyMjgsIDM2LCA4LCAzLCAyMjgsIDI2LCA4LCAKLSAgICAzLCAyMjgsIDI1LCA4LCAzLCAyMjgsIDMwLCA4LCAzLCAyMjgsIDI5LCA4LCAzLCAyMjgsIDI3LCA4LCAzLCAyMjgsIDI4LCAKLSAgICA4LCAzLCAyMjgsIDIwLCA4LCAzLCAyMjgsIDE5LCA4LCAzLCAyMjgsIDI0LCA4LCAzLCAyMjgsIDIzLCA4LCAzLCAyMjgsIAotICAgIDIxLCA4LCAzLCAyMjgsIDIyLCA4LCAzLCAyMjAsIDc0LCA4LCAzLCAyMjAsIDY5LCA4LCAzLCAyMjAsIDEwNCwgOCwgMywgCi0gICAgMjIwLCA4NSwgOCwgMywgMjE5LCAyMTcsIDgsIDMsIDIxOSwgMjE5LCA4LCAzLCAyMTksIDIxOCwgOCwgMywgMjE5LCAyMzgsIAotICAgIDgsIDMsIDIxOSwgMjM1LCA4LCAzLCAyMjAsIDksIDgsIDMsIDIyMCwgMCwgOCwgMywgMjIwLCA0NCwgOCwgMywgMjIwLCAzNywgCi0gICAgOCwgMywgMjIwLCA2NSwgOCwgMywgMjIwLCA1MiwgOCwgMywgMjE5LCAyMTMsIDgsIDMsIDIxOSwgMjExLCA4LCAzLCAyMTksIAotICAgIDIyNywgOCwgMywgMjE5LCAyMTYsIDgsIDMsIDIxOSwgMjE0LCA4LCAzLCAyMTksIDIxNSwgOCwgMywgMjE5LCAxOTYsIDgsIAotICAgIDMsIDIxOSwgMTk1LCA4LCAzLCAyMTksIDIwMiwgOCwgMywgMjE5LCAxOTksIDgsIDMsIDIxOSwgMTk3LCA4LCAzLCAyMTksIAotICAgIDE5OCwgOCwgMywgMjIzLCAxNDQsIDgsIDMsIDIyMywgMTM4LCA4LCAzLCAyMDUsIDgsIDMsIDIyMywgMTUwLCA4LCAzLCAKLSAgICAyMjIsIDEyMiwgOCwgMywgMjIyLCAxMjQsIDgsIDMsIDIyMiwgMTIzLCA4LCAzLCAyMjIsIDE5MCwgOCwgMywgMjIyLCAxODMsIAotICAgIDgsIDMsIDIyMiwgMjEzLCA4LCAzLCAyMjIsIDE5NCwgOCwgMywgMjIzLCA0NiwgOCwgMywgMjIzLCAxMzEsIDgsIDMsIDIyMywgCi0gICAgODQsIDgsIDMsIDIyMiwgMTE1LCA4LCAzLCAyMjIsIDExMiwgOCwgMywgMjIyLCAxNDIsIDgsIDMsIDIyMiwgMTIxLCA4LCAzLCAKLSAgICAyMjIsIDExNywgOCwgMywgMjIyLCAxMTgsIDgsIDMsIDIyMiwgOTcsIDgsIDMsIDIyMiwgOTYsIDgsIDMsIDIyMiwgMTAyLCAKLSAgICA4LCAzLCAyMjIsIDEwMCwgOCwgMywgMjIyLCA5OCwgOCwgMywgMjIyLCA5OSwgOCwgMywgMjM1LCAxMDQsIDgsIDMsIDIzNSwgCi0gICAgMTAzLCA4LCAzLCAyMzUsIDExNCwgOCwgMywgMjM1LCAxMDUsIDgsIDMsIDIzNSwgMTEwLCA4LCAzLCAyMzUsIDEwOSwgOCwgCi0gICAgMywgMjM1LCAxMTIsIDgsIDMsIDIzNSwgMTExLCA4LCAzLCAyMzUsIDQ3LCA4LCAzLCAyMzUsIDQ2LCA4LCAzLCAyMzUsIDQ5LCAKLSAgICA4LCAzLCAyMzUsIDQ4LCA4LCAzLCAyMzUsIDYyLCA4LCAzLCAyMzUsIDYwLCA4LCAzLCAyMzUsIDc0LCA4LCAzLCAyMzUsIAotICAgIDY0LCA4LCAzLCAyMzUsIDQwLCA4LCAzLCAyMzUsIDM4LCA4LCAzLCAyMzUsIDU3LCA4LCAzLCAyMzUsIDQ1LCA4LCAzLCAKLSAgICAyMzUsIDQyLCA4LCAzLCAyMzUsIDQzLCA4LCAzLCAyMzUsIDMyLCA4LCAzLCAyMzUsIDMxLCA4LCAzLCAyMzUsIDM2LCA4LCAKLSAgICAzLCAyMzUsIDM1LCA4LCAzLCAyMzUsIDMzLCA4LCAzLCAyMzUsIDM0LCA4LCAzLCAyMjQsIDQ5LCA4LCAzLCAyMjQsIDQ3LCAKLSAgICA4LCAzLCAyMjQsIDU2LCA4LCAzLCAyMjQsIDUwLCA4LCAzLCAyMjQsIDUzLCA4LCAzLCAyMjQsIDUyLCA4LCAzLCAyMjQsIAotICAgIDU1LCA4LCAzLCAyMjQsIDU0LCA4LCAzLCAyMjQsIDIsIDgsIDMsIDIyMywgMjU1LCA4LCAzLCAyMjQsIDQsIDgsIDMsIDIyNCwgCi0gICAgMywgOCwgMywgMjI0LCAzNiwgOCwgMywgMjI0LCAzNSwgOCwgMywgMjI0LCA0NSwgOCwgMywgMjI0LCAzOSwgOCwgMywgMjIzLCAKLSAgICAyNTAsIDgsIDMsIDIyMywgMjQ2LCA4LCAzLCAyMjQsIDMzLCA4LCAzLCAyMjMsIDI1NCwgOCwgMywgMjIzLCAyNTIsIDgsIDMsIAotICAgIDIyMywgMjUzLCA4LCAzLCAyMjMsIDIzMCwgOCwgMywgMjIzLCAyMjgsIDgsIDMsIDIyMywgMjQwLCA4LCAzLCAyMjMsIDIzMywgCi0gICAgOCwgMywgMjIzLCAyMzEsIDgsIDMsIDIyMywgMjMyLCA4LCAzLCAyMzUsIDkzLCA4LCAzLCAyMzUsIDkyLCA4LCAzLCAyMzUsIAotICAgIDk5LCA4LCAzLCAyMzUsIDk0LCA4LCAzLCAyMzUsIDk2LCA4LCAzLCAyMzUsIDk1LCA4LCAzLCAyMzUsIDk4LCA4LCAzLCAKLSAgICAyMzUsIDk3LCA4LCAzLCAyMzUsIDg0LCA4LCAzLCAyMzUsIDg2LCA4LCAzLCAyMzUsIDg1LCA4LCAzLCAyMzUsIDg5LCA4LCAKLSAgICAzLCAyMzUsIDg4LCA4LCAzLCAyMzUsIDkxLCA4LCAzLCAyMzUsIDkwLCA4LCAzLCAyMzUsIDgwLCA4LCAzLCAyMzUsIDc5LCAKLSAgICA4LCAzLCAyMzUsIDg3LCA4LCAzLCAyMzUsIDgzLCA4LCAzLCAyMzUsIDgxLCA4LCAzLCAyMzUsIDgyLCA4LCAzLCAyMzUsIAotICAgIDc2LCA4LCAzLCAyMzUsIDc1LCA4LCAzLCAyMzUsIDc4LCA4LCAzLCAyMzUsIDc3LCA4LCAzLCAyMjgsIDE2NywgOCwgMywgCi0gICAgMjI4LCAxNjYsIDgsIDMsIDIyOCwgMTc0LCA4LCAzLCAyMjgsIDE2OCwgOCwgMywgMjI4LCAxNzAsIDgsIDMsIDIyOCwgMTY5LCAKLSAgICA4LCAzLCAyMjgsIDE3MywgOCwgMywgMjI4LCAxNzEsIDgsIDMsIDIyOCwgMTU2LCA4LCAzLCAyMjgsIDE1NywgOCwgMywgCi0gICAgMjI4LCAxNjIsIDgsIDMsIDIyOCwgMTYxLCA4LCAzLCAyMjgsIDE2NSwgOCwgMywgMjI4LCAxNjMsIDgsIDMsIDIyOCwgMTUxLCAKLSAgICA4LCAzLCAyMjgsIDE2MCwgOCwgMywgMjI4LCAxNTUsIDgsIDMsIDIyOCwgMTUyLCA4LCAzLCAyMjgsIDE1MywgOCwgMywgCi0gICAgMjI4LCAxNDYsIDgsIDMsIDIyOCwgMTQ1LCA4LCAzLCAyMjgsIDE1MCwgOCwgMywgMjI4LCAxNDksIDgsIDMsIDIyOCwgMTQ3LCAKLSAgICA4LCAzLCAyMjgsIDE0OCwgOCwgMywgMjI3LCAxNDEsIDgsIDMsIDIyNywgMTQwLCA4LCAzLCAyMjcsIDE1MiwgOCwgMywgCi0gICAgMjI3LCAxNDUsIDgsIDMsIDIyNywgMTQ5LCA4LCAzLCAyMjcsIDE0OCwgOCwgMywgMjI3LCAxNTEsIDgsIDMsIDIyNywgMTUwLCAKLSAgICA4LCAzLCAyMjcsIDEyOCwgOCwgMywgMjI3LCAxMzAsIDgsIDMsIDIyNywgMTI5LCA4LCAzLCAyMjcsIDEzNCwgOCwgMywgCi0gICAgMjI3LCAxMzMsIDgsIDMsIDIyNywgMTM4LCA4LCAzLCAyMjcsIDEzNSwgOCwgMywgMjI3LCAxMjYsIDgsIDMsIDIyNywgMTI0LCAKLSAgICA4LCAzLCAyMjcsIDEzMiwgOCwgMywgMjI3LCAxMjcsIDgsIDMsIDIxMSwgMTUwLCA4LCAzLCAyMTEsIDE0OSwgOCwgMywgCi0gICAgMjExLCAxNTcsIDgsIDMsIDIxMSwgMTUyLCA4LCAzLCAyMTEsIDE1NCwgOCwgMywgMjExLCAxNTMsIDgsIDMsIDIxMSwgMTU2LCAKLSAgICA4LCAzLCAyMTEsIDE1NSwgOCwgMywgMjExLCAxMzksIDgsIDMsIDIxMSwgMTQwLCA4LCAzLCAyMTEsIDE0NCwgOCwgMywgCi0gICAgMjExLCAxNDMsIDgsIDMsIDIxMSwgMTQ4LCA4LCAzLCAyMTEsIDE0NiwgOCwgMywgMjExLCAxMjEsIDgsIDMsIDIxMSwgMTE5LCAKLSAgICA4LCAzLCAyMTEsIDEzMSwgOCwgMywgMjExLCAxMjQsIDgsIDMsIDIxMSwgMTIyLCA4LCAzLCAyMTEsIDEyMywgOCwgMywgCi0gICAgMjEwLCAyNTAsIDgsIDMsIDIxMCwgMjQ4LCA4LCAzLCAyMTEsIDgsIDgsIDMsIDIxMCwgMjUxLCA4LCAzLCAyMTEsIDIsIDgsIAotICAgIDMsIDIxMSwgMSwgOCwgMywgMjExLCA1LCA4LCAzLCAyMTEsIDMsIDgsIDMsIDIxMCwgMTkxLCA4LCAzLCAyMTAsIDE5MCwgOCwgCi0gICAgMywgMjEwLCAxOTQsIDgsIDMsIDIxMCwgMTkyLCA4LCAzLCAyMTAsIDIyNCwgOCwgMywgMjEwLCAyMjEsIDgsIDMsIDIxMCwgCi0gICAgMjQ0LCA4LCAzLCAyMTAsIDIyOCwgOCwgMywgMjEwLCAxODIsIDgsIDMsIDIxMCwgMTc4LCA4LCAzLCAyMTAsIDIxMiwgOCwgCi0gICAgMywgMjEwLCAxODksIDgsIDMsIDIxMCwgMTg1LCA4LCAzLCAyMTAsIDE4NiwgOCwgMywgMjEwLCAxNjIsIDgsIDMsIDIxMCwgCi0gICAgMTYxLCA4LCAzLCAyMTAsIDE2OSwgOCwgMywgMjEwLCAxNjUsIDgsIDMsIDIxMCwgMTYzLCA4LCAzLCAyMTAsIDE2NCwgOCwgCi0gICAgMzQsIDIyNCwgMzYsIDgsIDM0LCAyMzIsIDI0NywgOCwgMzQsIDIzNCwgNjcsIDgsIDM0LCAyMjcsIDE0NSwgOCwgMzQsIAotICAgIDI0OSwgNzcsIDgsIDM0LCAyMTgsIDE5NCwgOCwgMzQsIDI0MywgMTksIDgsIDM0LCAyNDMsIDUxLCA4LCAzNCwgMjMwLCAKLSAgICAyMzUsIDgsIDM0LCAyNDAsIDE4NywgOCwgMzQsIDIzMiwgNjEsIDgsIDM0LCAyNTIsIDkxLCA4LCAzNCwgMjMwLCAxMzEsIDgsIAotICAgIDM0LCAyMTAsIDI0NCwgOCwgMzQsIDIyNCwgMTI0LCA4LCAzNCwgMjQwLCAxODEsIDgsIDM0LCAyMTcsIDQ3LCA4LCAzNCwgCi0gICAgMjQzLCAxNDIsIDgsIDM0LCAyMTAsIDUsIDgsIDM0LCAyNDksIDcxLCA4LCAzNCwgMjQ4LCAxMDMsIDgsIDM0LCAyNTEsIAotICAgIDEwNiwgOCwgMzQsIDI0MywgMTUsIDgsIDM0LCAyMjcsIDEzNSwgOCwgMzQsIDIxNSwgMTE5LCA4LCAzNCwgMjI2LCAxNzksIAotICAgIDgsIDM0LCAyMzUsIDgwLCA4LCAzNCwgMjEwLCAxOSwgOCwgMzQsIDIyNCwgMTAzLCA4LCAzNCwgMjQxLCAxMTUsIDgsIDM0LCAKLSAgICAyMTAsIDI1MCwgOCwgMzQsIDIxMiwgMTEyLCA4LCAzNCwgMjE5LCAyMDIsIDgsIDM0LCAyMTMsIDI0NCwgOCwgMzQsIDIxMCwgCi0gICAgMTE2LCA4LCAzNCwgMjM1LCA3NCwgOCwgMzQsIDIyNywgMTAwLCA4LCAzNCwgMjM1LCA3OCwgOCwgMzQsIDI0MiwgMTYxLCA4LCAKLSAgICAzNCwgMjM1LCA5OCwgOCwgMzQsIDIxMSwgMjI3LCA4LCAzNCwgMjQ2LCA4NiwgOCwgMzQsIDIxOSwgMjE1LCA4LCAzNCwgCi0gICAgMjMyLCAyNDIsIDgsIDM0LCAyNDksIDgxLCA4LCAzNCwgMjQ5LCAxMTMsIDgsIDM0LCAyNTAsIDQ1LCA4LCAzNCwgMjQwLCAKLSAgICAxODQsIDgsIDM0LCAyMjAsIDc0LCA4LCAzNCwgMjEwLCA0LCA4LCAzNCwgMjIwLCAwLCA4LCAzNCwgMjUwLCAxMzksIDgsIAotICAgIDM0LCAyMDksIDIzMSwgOCwgMzQsIDIyOSwgMTc4LCA4LCAzNCwgMjM0LCAxODgsIDIzMiwgMjAyLCAxLCAyNTIsIDE5OSwgCi0gICAgMjMyLCAyMDIsIDEsIDE5MSwgMjMyLCAyMDIsIDEsIDIyNSwgMTUwLCAyMzIsIDIwMiwgMSwgMjQ4LCAyMjksIDIzMiwgMjAyLCAKLSAgICAxLCAyMTcsIDEwNiwgMjMyLCAyMDIsIDEsIDIxNiwgMjA5LCAyMzIsIDIwMiwgMSwgMjQzLCAxNDIsIDIzMiwgMjAyLCAxLCAKLSAgICAxNzYsIDIzMiwgMjAyLCAxLCAyMzQsIDEzOCwgMjMyLCAyMDIsIDEsIDIzNSwgMTQ3LCAyMzIsIDIwMiwgMSwgMjUxLCA0MSwgCi0gICAgMjMyLCAyMDIsIDEsIDI1MCwgMTY1LCAyMzIsIDIwMiwgMSwgMjQ2LCA0NiwgMjMyLCAyMDIsIDEsIDIxNSwgMTg0LCAyMzIsIAotICAgIDIwMiwgMSwgMjE1LCAxNzYsIDIzMiwgMjAyLCAxLCAxODYsIDIzMiwgMjAyLCAxLCAxOTgsIDIzMiwgMjAyLCAxLCAyMzMsIAotICAgIDE0MSwgMjMyLCAyMDIsIDEsIDIwNiwgMjMyLCAyMDIsIDEsIDIxMCwgODIsIDIzMiwgMjAyLCAxLCAyMTAsIDExNiwgMjMyLCAKLSAgICAyMDIsIDEsIDIyOSwgODIsIDIzMiwgMjAyLCAxLCAxNjIsIDIzMiwgMjAyLCAxLCAyMTEsIDE2NSwgMjMyLCAyMDIsIDEsIAotICAgIDI0MSwgMTk2LCAyMzIsIDIwMiwgMSwgMjQ0LCAyMDQsIDIzMiwgMjAyLCAxLCAyMTIsIDY1LCAyMzIsIDIwMiwgMSwgMjIwLCAKLSAgICAxMDQsIDIzMiwgMjAyLCAxLCAxOTIsIDIzMiwgMjAyLCAxLCAyNDMsIDAsIDIzMiwgMjAyLCAxLCA2MSwgMjMyLCAyMDIsIDEsIAotICAgIDI1NCwgMjUyLCAyMzIsIDIwMiwgMSwgNzYsIDIzMiwgMjAyLCAxLCAyNDUsIDYzLCAyMzIsIDIwMiwgMSwgNzQsIDIzMiwgCi0gICAgMjAyLCAxLCA3OCwgMjMyLCAyMDIsIDEsIDY5LCAyMzIsIDIwMiwgMSwgMjE0LCAyMTQsIDIzMiwgMjAyLCAxLCAyMTQsIAotICAgIDIwOCwgMjMyLCAyMDIsIDEsIDIyNiwgMjM4LCAyMzIsIDIwMiwgMSwgMTM4LCAyMzAsIDM3LCAyMTYsIDExOCwgMjMyLCAKLSAgICAyMDIsIDEsIDEzOCwgMjI5LCAyMzQsIDIyNSwgMTksIDIzMiwgMjAyLCAxLCAxMzgsIDIzMCwgMzcsIDI0OSwgODAsIDIzMiwgCi0gICAgMjAyLCAxLCAxMzgsIDIzMCwgMzcsIDI1MSwgMjEzLCAyMzIsIDIwMiwgMSwgMTM4LCAyMzAsIDM3LCAxOTgsIDIzMiwgMjAyLCAKLSAgICAxLCAxMzgsIDIzMCwgMzcsIDIzNSwgMTIxLCAyMzIsIDIwMiwgMjI0LCAxNDQsIDI0OSwgMjI3LCAyMzIsIDIwMiwgMjI0LCAKLSAgICAxNDQsIDI0MywgMjM2LCAyMTgsIDEzMSwgNDEsIDMsIDI0NSwgMjE3LCA0MSwgMywgMjQ1LCAyMTMsIDQxLCAzLCAyNDEsIAotICAgIDIyNywgNDEsIDMsIDIxMiwgMTcsIDQxLCAzLCAyMTIsIDE2LCA0MSwgMywgMjI1LCAyMTQsIDQxLCAzLCAyNTIsIDIxLCA0MSwgCi0gICAgMywgMjUyLCA3NCwgNDEsIDMsIDIzMSwgMTIxLCA0MSwgMywgMjMzLCAyNTMsIDQxLCAzLCAyMzEsIDExLCA0MSwgMywgMjQzLCAKLSAgICA4MiwgNDEsIDMsIDI0NCwgMTU1LCA0MSwgMywgMjEzLCAyNTAsIDQxLCAzLCAyMTcsIDEyLCA0MSwgMywgMjE2LCAxOTUsIAotICAgIDQxLCAzLCAyNDgsIDI0LCA0MSwgMywgMjQ4LCAyMSwgNDEsIDMsIDIzMywgNTYsIDQxLCAzLCAyMjMsIDExMSwgNDEsIDMsIAotICAgIDI0OCwgODUsIDQxLCAzLCAyMjksIDE0NCwgNDEsIDMsIDIyMSwgMTcyLCA0MSwgMywgMjIwLCA2MywgNDEsIDMsIDIxMCwgCi0gICAgOTIsIDQxLCAzLCAyMTAsIDczLCA0MSwgMywgMjUwLCAxOTAsIDQxLCAzLCAyMzUsIDEzMCwgNDEsIDMsIDIyOCwgMTgxLCAKLSAgICA0MSwgMywgMjExLCA0NCwgNDEsIDMsIDIzNCwgMTg3LCA0MSwgMywgMjI5LCA1NiwgNDEsIDMsIDI0MywgNjIsIDQxLCAzLCAKLSAgICAyMzEsIDg1LCA0MSwgMywgMjI5LCAxMDgsIDQxLCAzLCAyMjcsIDE1OSwgNDEsIDMsIDc0LCA0MSwgMywgMjM2LCA2LCA0MSwgCi0gICAgMywgMjQxLCAxODcsIDQxLCAzLCAyNDEsIDE2NywgNDEsIDMsIDIxMSwgMjUwLCA0MSwgMywgMjExLCAyNDEsIDQxLCAzLCAKLSAgICAyMjUsIDExMSwgNDEsIDMsIDI1MiwgMTksIDQxLCAzLCAyNTIsIDE0LCA0MSwgMywgMjMxLCAxMTQsIDQxLCAzLCAyMzMsIAotICAgIDI1MCwgNDEsIDMsIDIzMSwgOCwgNDEsIDMsIDI0MywgNzgsIDQxLCAzLCAyNDQsIDEyOSwgNDEsIDMsIDIxMywgMTc2LCA0MSwgCi0gICAgMywgMjE2LCAxMTgsIDQxLCAzLCAyMTYsIDE3NiwgNDEsIDMsIDI0OCwgMTYsIDQxLCAzLCAyNDgsIDIwLCA0MSwgMywgMjMyLCAKLSAgICAyNDcsIDQxLCAzLCAyMjMsIDM4LCA0MSwgMywgMjQ4LCAxMSwgNDEsIDMsIDIyOSwgMTM4LCA0MSwgMywgMjE5LCAxOTMsIAotICAgIDQxLCAzLCAyMjAsIDM0LCA0MSwgMywgMjEwLCA0NCwgNDEsIDMsIDIxMCwgNjksIDQxLCAzLCAyNTAsIDU5LCA0MSwgMywgCi0gICAgMjM1LCAxMTQsIDQxLCAzLCAyMjgsIDE3NCwgNDEsIDMsIDIxMSwgOCwgNDEsIDMsIDIzNCwgOTgsIDQxLCAzLCAyMjksIDQ4LCAKLSAgICA0MSwgMywgMjQyLCAyMjEsIDQxLCAzLCAyMzAsIDIzNSwgNDEsIDMsIDIyOCwgMjM4LCA0MSwgMywgMjI3LCAxNTIsIDQxLCAKLSAgICAzLCA2MSwgNDEsIDMsIDI1NCwgMTMxLCA0MSwgMywgMjI5LCA3NywgNDEsIDMsIDE2MiwgNDEsIDMsIDI0MiwgMjUsIDQxLCAKLSAgICAzLCAyMTIsIDY1LCA0MSwgMywgMjEyLCA1NSwgNDEsIDMsIDE5MSwgNDEsIDMsIDI1MiwgMjYsIDQxLCAzLCAyNTIsIDE5OSwgCi0gICAgNDEsIDMsIDIzMSwgMTI5LCA0MSwgMywgMjM0LCAxLCA0MSwgMywgMjM0LCAwLCA0MSwgMywgMjMxLCAxNSwgNDEsIDMsIAotICAgIDI0MywgODYsIDQxLCAzLCAyNDQsIDIwNCwgNDEsIDMsIDIxNCwgMjcsIDQxLCAzLCAyMTcsIDEwNiwgNDEsIDMsIDIxNiwgCi0gICAgMjA5LCA0MSwgMywgMjQ4LCAzMywgNDEsIDMsIDI0OCwgMjMsIDQxLCAzLCAyMzMsIDE0MSwgNDEsIDMsIDIwNSwgNDEsIDMsIAotICAgIDI0OCwgMjI5LCA0MSwgMywgMjI5LCAxNTMsIDQxLCAzLCAyMDYsIDQxLCAzLCAyMjAsIDEwNCwgNDEsIDMsIDIxMCwgMTE2LCAKLSAgICA0MSwgMywgMjEwLCA4MiwgNDEsIDMsIDI1MSwgNDEsIDQxLCAzLCAyMzUsIDE0NywgNDEsIDMsIDIyOCwgMTkwLCA0MSwgMywgCi0gICAgMTkyLCA0MSwgMywgMTc2LCA0MSwgMywgMjM0LCAyNDAsIDQxLCAzLCAyMjksIDYxLCA0MSwgMywgMjQzLCAxNDIsIDQxLCAzLCAKLSAgICAxODYsIDQxLCAzLCAxOTgsIDQxLCAzLCAyMjcsIDE2OSwgNDEsIDMsIDIyNiwgMTg3LCA0MSwgMywgMjI2LCAxODMsIDQxLCAKLSAgICAzLCAyNDEsIDYwLCA0MSwgMywgMjExLCAyMTUsIDQxLCAzLCAyMTEsIDIxMSwgNDEsIDMsIDIyNCwgMjUyLCA0MSwgMywgCi0gICAgMjUyLCAxNywgNDEsIDMsIDI1MSwgMjAxLCA0MSwgMywgMjMxLCAxMDksIDQxLCAzLCAyMzMsIDI0OCwgNDEsIDMsIDIzMSwgCi0gICAgNCwgNDEsIDMsIDI0MywgNzQsIDQxLCAzLCAyNDQsIDQyLCA0MSwgMywgMjEzLCAxMjcsIDQxLCAzLCAyMTYsIDE4LCA0MSwgCi0gICAgMywgMjE2LCAxNTQsIDQxLCAzLCAyNDgsIDE0LCA0MSwgMywgMjQ4LCAxOCwgNDEsIDMsIDIzMiwgMTMzLCA0MSwgMywgMjIyLCAKLSAgICAxOTksIDQxLCAzLCAyNDcsIDEzMywgNDEsIDMsIDIyOSwgMTI1LCA0MSwgMywgMjE5LCA0MiwgNDEsIDMsIDIyMCwgMywgNDEsIAotICAgIDMsIDIxMCwgMjEsIDQxLCAzLCAyMTAsIDY2LCA0MSwgMywgMjQ5LCAxODIsIDQxLCAzLCAyMzUsIDY1LCA0MSwgMywgMjI4LCAKLSAgICAxNjQsIDQxLCAzLCAyMTAsIDIyOSwgNDEsIDMsIDIzNCwgMTYsIDQxLCAzLCAyMjksIDQ2LCA0MSwgMywgMjQyLCAxNzEsIAotICAgIDQxLCAzLCAyMzAsIDEzNywgNDEsIDMsIDIyOCwgNjksIDQxLCAzLCAyMjcsIDEzNiwgNDEsIDMsIDY5LCA0MSwgMywgMjE0LCAKLSAgICAxOTAsIDQxLCAzLCAyNDAsIDIyOSwgNDEsIDMsIDI0MCwgMjE5LCA0MSwgMywgMjExLCAxOTUsIDQxLCAzLCAyMTEsIDE4OSwgCi0gICAgNDEsIDMsIDIyNCwgMTUzLCA0MSwgMywgMjUyLCAxNiwgNDEsIDMsIDI1MSwgMTMzLCA0MSwgMywgMjMxLCAxMDgsIDQxLCAzLCAKLSAgICAyMzMsIDI0NiwgNDEsIDMsIDIzMSwgMywgNDEsIDMsIDI0MywgNzMsIDQxLCAzLCAyNDMsIDI0MSwgNDEsIDMsIDIxMiwgCi0gICAgMTE2LCA0MSwgMywgMjE1LCAxMTksIDQxLCAzLCAyMTYsIDEzNywgNDEsIDMsIDI0OCwgMTIsIDQxLCAzLCAyNDgsIDE3LCAKLSAgICA0MSwgMywgMjMyLCAxMDMsIDQxLCAzLCAyMjIsIDE0MiwgNDEsIDMsIDI0NiwgODYsIDQxLCAzLCAyMjksIDEyMCwgNDEsIDMsIAotICAgIDIxOCwgODQsIDQxLCAzLCAyMTksIDIyNywgNDEsIDMsIDIxMCwgMTMsIDQxLCAzLCAyMTAsIDYyLCA0MSwgMywgMjQ5LCAKLSAgICAxMjAsIDQxLCAzLCAyMzUsIDU3LCA0MSwgMywgMjI4LCAxNjAsIDQxLCAzLCAyMTAsIDIxMiwgNDEsIDMsIDIzMywgMjIzLCAKLSAgICA0MSwgMywgMjI5LCA0NSwgNDEsIDMsIDI0MiwgMTIwLCA0MSwgMywgMjMwLCAxMDcsIDQxLCAzLCAyMjcsIDI0MiwgNDEsIDMsIAotICAgIDIyNywgMTMyLCA0MSwgMywgNzgsIDQxLCAzLCAyMjYsIDIwMCwgNDEsIDMsIDIyOSwgNSwgNDEsIDMsIDI0MSwgNzUsIDQxLCAKLSAgICAzLCAyNDEsIDYzLCA0MSwgMywgMjExLCAyMjcsIDQxLCAzLCAyMTEsIDIxNiwgNDEsIDMsIDIyNSwgMTksIDQxLCAzLCAyNTIsIAotICAgIDE4LCA0MSwgMywgMjUxLCAyMTMsIDQxLCAzLCAyMzEsIDExMCwgNDEsIDMsIDIzMywgMjQ5LCA0MSwgMywgMjMxLCA2LCA0MSwgCi0gICAgMywgMjQzLCA3NiwgNDEsIDMsIDI0MywgNzUsIDQxLCAzLCAyNDQsIDUxLCA0MSwgMywgMjEzLCAxMzgsIDQxLCAzLCAxMTIsIAotICAgIDQxLCAzLCAyMTYsIDE1NywgNDEsIDMsIDI0OCwgMTUsIDQxLCAzLCAyNDgsIDE5LCA0MSwgMywgMjMyLCAxNjIsIDQxLCAzLCAKLSAgICAyMjIsIDIxMywgNDEsIDMsIDI0NywgMTUzLCA0MSwgMywgMjI5LCAxMjksIDQxLCAzLCAyMTksIDYwLCA0MSwgMywgMjIwLCAKLSAgICA5LCA0MSwgMywgMjEwLCAyMywgNDEsIDMsIDIxMCwgNjcsIDQxLCAzLCAyNDksIDI0NiwgNDEsIDMsIDIzNSwgNzQsIDQxLCAKLSAgICAzLCAyMjgsIDE2NSwgNDEsIDMsIDIxMCwgMjQ0LCA0MSwgMywgMjM0LCAzNCwgNDEsIDMsIDIyOSwgNDcsIDQxLCAzLCAyNDIsIAotICAgIDE4MSwgNDEsIDMsIDIzMCwgMTY2LCA0MSwgMywgMjI4LCA3OSwgNDEsIDMsIDIyNywgMTM4LCA0MSwgMywgNzYsIDQxLCAzLCAKLSAgICAyNDUsIDE1OCwgNDEsIDMsIDIyOSwgNjYsIDQxLCAzLCAyNDEsIDI0NSwgNDEsIDMsIDI0MSwgMjE2LCA0MSwgMywgMjEyLCAKLSAgICAyMiwgNDEsIDMsIDIxMiwgMTIsIDQxLCAzLCAyMjUsIDIyNCwgNDEsIDMsIDI1MiwgMjIsIDQxLCAzLCAyNTIsIDgzLCA0MSwgCi0gICAgMywgMjMxLCAxMjIsIDQxLCAzLCAyMzMsIDI1NCwgNDEsIDMsIDIzMywgMjUyLCA0MSwgMywgMjMxLCAxMiwgNDEsIDMsIAotICAgIDI0MywgODMsIDQxLCAzLCAyNDMsIDgxLCA0MSwgMywgMjQ0LCAxNjIsIDQxLCAzLCAyMTMsIDI1NSwgNDEsIDMsIDIxNywgCi0gICAgMjMsIDQxLCAzLCAyMTYsIDE5NiwgNDEsIDMsIDI0OCwgMjUsIDQxLCAzLCAyNDgsIDIyLCA0MSwgMywgMjMzLCA2NCwgNDEsIAotICAgIDMsIDIyMywgMTMxLCA0MSwgMywgMjQ4LCA5OCwgNDEsIDMsIDIyOSwgMTQ1LCA0MSwgMywgMjIxLCAxODMsIDQxLCAzLCAKLSAgICAyMjAsIDY1LCA0MSwgMywgMjEwLCA5NCwgNDEsIDMsIDIxMCwgNzQsIDQxLCAzLCAyNTAsIDE5OCwgNDEsIDMsIDIzNSwgCi0gICAgMTMyLCA0MSwgMywgMjI4LCAxODMsIDQxLCAzLCAyMTEsIDQ3LCA0MSwgMywgMjM0LCAxODgsIDQxLCAzLCAyMjksIDU3LCAKLSAgICA0MSwgMywgMjI5LCA1MywgNDEsIDMsIDI0MywgNjksIDQxLCAzLCAyNDMsIDU4LCA0MSwgMywgMjMxLCA5NiwgNDEsIDMsIAotICAgIDIyOSwgMTEyLCA0MSwgMywgMjI3LCAxNjAsIDQxLCAzLCAyMjksIDg0LCA0MSwgMywgMjMzLCAyOCwgNDEsIDI0OSwgMjI3LCAKLSAgICA0MSwgMjQzLCAyMzYsIDIxOCwgMTMxLCA0MSwgMjI0LCAxNiwgNzksIDQxLCAzLCAyMjksIDEyOCwgMjQ0LCAyMDQsIDQxLCAKLSAgICAzLCAyMjksIDEyOCwgMTc2LCA0MSwgMywgMjI5LCAxMjgsIDIxOSwgNDIsIDQxLCAxNiwgMjQ0LCAxNTIsIDQxLCAxNiwgCi0gICAgMjM0LCAxODYsIDQxLCAxNiwgMjE2LCA4MiwgNDEsIDE2LCAyMjgsIDIxMywgNDEsIDE2LCAyNTIsIDE1NSwgNDEsIDE2LCAKLSAgICAyNDQsIDIwMywgNDEsIDE2LCAyMTcsIDEwMiwgNDEsIDE2LCAyNDgsIDE4NCwgNDEsIDE2LCAyNDcsIDEzMiwgNDEsIDE2LCAKLSAgICAyMzMsIDIxMiwgNDEsIDE2LCAyMTYsIDIyLCA0MSwgMTYsIDI0NywgMTUyLCA0MSwgMTYsIDIzNSwgNjYsIDQxLCAyMSwgCi0gICAgMjEwLCA4NiwgNDEsIDIxLCAxMTEsIDQxLCAyMSwgMTA1LCA0MSwgMjEsIDE1OCwgNDEsIDIxLCAxNjEsIDQxLCAyMSwgMTkwLCAKLSAgICA0MSwgMjEsIDE5NSwgNDEsIDIxLCAxOTksIDQxLCAyMSwgMTk2LCA0MSwgMjEsIDIwMSwgNDEsIDMsIDIyOSwgMTI4LCAxODYsIAotICAgIDQxLCAzLCAyMjksIDEyOCwgMjQ3LCAxNTMsIDMzLCA2LCAxLCAyMTAsIDkwLCAzMywgNCwgMSwgMjEwLCA5MCwgMzMsIDYsIAotICAgIDEsIDI0NiwgNDIsIDMzLCA0LCAxLCAyNDYsIDQyLCAzMywgNiwgMSwgMjIzLCA1MiwgMjQ2LCA0NCwgMzMsIDQsIDEsIDIyMywgCi0gICAgNTIsIDI0NiwgNDQsIDMzLCA2LCAxLCAyMzUsIDE5MiwgMzMsIDQsIDEsIDIzNSwgMTkyLCAzMywgNiwgMSwgMjQ3LCAxNjksIAotICAgIDMzLCA0LCAxLCAyNDcsIDE2OSwgMzMsIDYsIDEsIDIzMCwgMTQ1LCAyMTQsIDIwNSwgMzMsIDQsIDEsIDIzMCwgMTQ1LCAKLSAgICAyMTQsIDIwNSwgMzMsIDYsIDEsIDI1MSwgMTQ0LCAyMjYsIDIwNSwgMzMsIDQsIDEsIDI1MSwgMTQ0LCAyMjYsIDIwNSwgMzMsIAotICAgIDYsIDEsIDIyOSwgOTIsIDIxMSwgMzEsIDMzLCA0LCAxLCAyMjksIDkyLCAyMTEsIDMxLCAzMywgNiwgMSwgMjExLCAyOCwgMiwgCi0gICAgMjUyLCAxOTMsIDIxMSwgMzEsIDMzLCA0LCAxLCAyMTEsIDI4LCAyLCAyNTIsIDE5MywgMjExLCAzMSwgMzMsIDYsIDEsIAotICAgIDIzNSwgMTkwLCAyMTEsIDU5LCAzMywgNCwgMSwgMjM1LCAxOTAsIDIxMSwgNTksIDMzLCA2LCAxLCAyMjMsIDUyLCAyMTAsIAotICAgIDIxMiwgMzMsIDQsIDEsIDIyMywgNTIsIDIxMCwgMjEyLCAzMywgNiwgMSwgMjM1LCAxOTAsIDYxLCAzMywgNCwgMSwgMjM1LCAKLSAgICAxOTAsIDYxLCAzMywgNiwgMSwgMjUwLCA4LCAyMzIsIDE5OCwgMjEwLCAxODMsIDMzLCA0LCAxLCAyNTAsIDgsIDIzMiwgCi0gICAgMTk4LCAyMTAsIDE4MywgMzMsIDYsIDEsIDI1MSwgMjIyLCAyMTAsIDE4MywgMzMsIDQsIDEsIDI1MSwgMjIyLCAyMTAsIAotICAgIDE4MywgMzMsIDYsIDEsIDIzNSwgMTkwLCAyNTAsIDgsIDIzMiwgMTk4LCAyMTAsIDE4MywgMzMsIDQsIDEsIDIzNSwgMTkwLCAKLSAgICAyNTAsIDgsIDIzMiwgMTk4LCAyMTAsIDE4MywgMzMsIDYsIDEsIDIxMCwgMjQ2LCAzMywgNCwgMSwgMjEwLCAyNDYsIDMzLCAKLSAgICA2LCAxLCAyMjMsIDUyLCAyMTUsIDE3OSwgMzMsIDQsIDEsIDIyMywgNTIsIDIxNSwgMTc5LCAzMywgNiwgMSwgMjE5LCA1NCwgCi0gICAgMjQ4LCA5OCwgMzMsIDQsIDEsIDIxOSwgNTQsIDI0OCwgOTgsIDMzLCA2LCAxLCAyMTksIDU0LCAyNDUsIDE4MiwgMzMsIDQsIAotICAgIDEsIDIxOSwgNTQsIDI0NSwgMTgyLCAzMywgNiwgMSwgMjE5LCA1NCwgMjQ1LCAxNjcsIDMzLCA0LCAxLCAyMTksIDU0LCAKLSAgICAyNDUsIDE2NywgMzMsIDYsIDEsIDIzMCwgMTQ5LCA3OCwgMzMsIDQsIDEsIDIzMCwgMTQ5LCA3OCwgMzMsIDYsIDEsIDI1MSwgCi0gICAgMjQ4LCA3OCwgMzMsIDQsIDEsIDI1MSwgMjQ4LCA3OCwgMzMsIDYsIDEsIDUyLCAyMzAsIDE0OSwgNzgsIDMzLCA0LCAxLCAKLSAgICA1MiwgMjMwLCAxNDksIDc4LCAzMywgMSwgMjMwLCA5MSwgNzgsIDM4LCAzMywgMjEyLCAxMDAsIDM4LCAzMywgMjE2LCAyNDksIAotICAgIDIzMCwgMTk2LCA1MCwgMzgsIDMzLCAyNDAsIDIxOCwgMjMwLCAxOTYsIDUwLCAzOCwgMzMsIDIxNiwgMTQ5LCAyMzAsIDE5NiwgCi0gICAgNTAsIDIxOSwgOTUsIDI1MywgMjI0LCAzOCwgMzMsIDEsIDIxNCwgMjAyLCAyMzYsIDY3LCAzOCwgMzMsIDEsIDc0LCAzOCwgCi0gICAgMzMsIDEsIDIxMSwgOCwgMzgsIDMzLCAxLCA2OSwgMzgsIDMzLCAxLCAyNDIsIDEwLCA1MCwgMzgsIDMzLCAxLCAyMTEsIDI3LCAKLSAgICAzOCwgMzMsIDEsIDIxOSwgNTQsIDUwLCAzOCwgMzMsIDEsIDIyNiwgMjA1LCAzOCwgMzMsIDIzNCwgMTk4LCAzOCwgMzMsIAotICAgIDIyNSwgMjMxLCAzMywgMjM0LCAxOTgsIDMzLCAyMjUsIDIzMSwgMzMsIDYsIDEsIDI0NiwgNTQsIDMzLCA0LCAxLCAyNDYsIAotICAgIDU0LCAzMywgNiwgMSwgMjQ2LCAzNSwgMzMsIDQsIDEsIDI0NiwgMzUsIDMzLCA2LCAxLCAyMTAsIDUyLCAzMywgNCwgMSwgCi0gICAgMjEwLCA1MiwgMzMsIDYsIDEsIDI1MCwgMjE0LCAzMywgNCwgMSwgMjUwLCAyMTQsIDMzLCA2LCAxLCAyNDYsIDMzLCAzMywgCi0gICAgNCwgMSwgMjQ2LCAzMywgMzMsIDYsIDEsIDIxNywgMjQsIDIsIDIzMCwgMjI5LCAxMDMsIDMzLCA0LCAxLCAyMTcsIDI0LCAyLCAKLSAgICAyMzAsIDIyOSwgMTAzLCAzMywgNiwgMSwgMjE1LCA3OCwgMzMsIDQsIDEsIDIxNSwgNzgsIDMzLCA2LCAxLCAyMTUsIDE2MSwgCi0gICAgMzMsIDQsIDEsIDIxNSwgMTYxLCAzMywgNiwgMSwgMjE1LCAxNjUsIDMzLCA0LCAxLCAyMTUsIDE2NSwgMzMsIDYsIDEsIAotICAgIDIxNywgMjksIDMzLCA0LCAxLCAyMTcsIDI5LCAzMywgNiwgMSwgMjQwLCAyMDUsIDMzLCA0LCAxLCAyNDAsIDIwNSwgMzMsIAotICAgIDYsIDEsIDIxOSwgMjA4LCAzMywgNCwgMSwgMjE5LCAyMDgsIDM4LCAzMywgMSwgMjM1LCAxOTAsIDc2LCAyMCwgMSwgNjEsIAotICAgIDIwLCAxLCAxNzYsIDIwLCAxLCA2OSwgMjAsIDEsIDIzMywgMjIzLCAyMCwgMSwgMjQ1LCAyMTcsIDIwLCAxLCAyMjMsIDExMSwgCi0gICAgMjAsIDEsIDIxNywgODcsIDIwLCAxLCA3OCwgMjAsIDEsIDIyNywgMTUyLCAyMCwgMSwgNzQsIDIwLCAxLCAyMzMsIDE0MSwgCi0gICAgMjAsIDEsIDE5MSwgMjAsIDEsIDIyMiwgMjQyLCAyMCwgMSwgMjIzLCAzMiwgMjAsIDEsIDIzMywgNTUsIDIwLCAxLCAyMzEsIAotICAgIDg0LCAyMCwgMSwgMjE3LCAxMDIsIDIwLCAxLCAyMjksIDE1MSwgMjAsIDEsIDIyOCwgMTg4LCAyMCwgMSwgMTk0LCAyMCwgMSwgCi0gICAgMjE4LCA1LCAyMCwgMSwgMjMwLCAxMDcsIDIwLCAxLCAyMjAsIDI5LCAyMCwgMSwgMjE5LCAxOTMsIDIwLCAxLCAyMjAsIDM5LCAKLSAgICAyMCwgMSwgMjIwLCAxMjUsIDIwLCAxLCAyMzMsIDE2MSwgMjAsIDEsIDIzNCwgMTYyLCAyMCwgMSwgMjI3LCAyMTMsIDIwLCAKLSAgICAxLCAyMjcsIDI0MiwgMjAsIDEsIDIyOCwgMTU5LCAyMCwgMSwgMjEwLCAyMjYsIDIwLCAxLCAyMTksIDIyNywgMjAsIDEsIAotICAgIDIxMCwgMTg3LCAyMCwgMSwgMTkyLCAyMCwgMSwgMjI4LCAxNCwgMjAsIDEsIDIzNCwgMTQ4LCAyMCwgMSwgMjI1LCAxNTQsIAotICAgIDIwLCAxLCAyMjgsIDE4MSwgMjAsIDEsIDIyNywgMjUxLCAyMCwgMSwgMjI0LCAxNDcsIDIwLCAxLCAyMTEsIDE5MiwgMjAsIAotICAgIDEsIDIyNSwgMjE0LCAyMCwgMSwgMjQ0LCAxNTUsIDIwLCAxLCAyMjIsIDE0MiwgMjAsIDEsIDIzMiwgMTAzLCAyMCwgMSwgCi0gICAgMjMwLCAyMzUsIDIwLCAxLCAyMjgsIDIzOCwgMjAsIDEsIDIyMywgNTQsIDIwLCAxLCAyMjMsIDE3NCwgMjAsIDEsIDIzNCwgCi0gICAgMTcxLCAyMCwgMSwgMjI5LCAxMiwgMjAsIDEsIDIyOSwgNjEsIDIwLCAxLCAyMjksIDgyLCAyMCwgMSwgMjIwLCA5LCAyMCwgCi0gICAgMSwgMjI0LCAxNTAsIDIwLCAxLCAyNDMsIDI0MSwgMjAsIDEsIDI0NCwgNDUsIDIwLCAxLCAyMTIsIDY1LCAyMCwgMSwgMTk4LCAKLSAgICAyMCwgMSwgMjMyLCAyNDcsIDIwLCAxLCAyMjUsIDExMSwgMjAsIDEsIDIzMiwgMTI1LCAyMCwgMSwgMjM0LCAzNCwgMjAsIDEsIAotICAgIDIzMSwgMTE5LCAyMCwgMSwgMjIzLCA4NiwgMjAsIDEsIDIzMSwgNjMsIDIwLCAxLCAxODYsIDIwLCAxLCAyMTYsIDExOCwgCi0gICAgMjAsIDEsIDIzNCwgOTgsIDIwLCAxLCAyMzAsIDE2NiwgMjAsIDEsIDIzMSwgMTI3LCAyMCwgMSwgMjE2LCAyMzEsIDIwLCAxLCAKLSAgICAyMzQsIDEsIDIwLCAxLCAyMTYsIDI0OCwgMjAsIDEsIDIyNywgMjQzLCAyMCwgMSwgMjIxLCAyNTMsIDIwLCAxLCAyNDQsIAotICAgIDIwMCwgMjAsIDEsIDIzNCwgMywgMjAsIDEsIDIzNCwgMzAsIDIwLCAzOCwgMTY0LCAyMzQsIDExLCAyMCwgMzgsIDE2NCwgCi0gICAgMjE1LCAxMTEsIDIwLCAyMjgsIDE4NywgMjAsIDI0MywgMjM2LCAyMTgsIDEzMSwgMjAsIDI0OSwgMjM0LCAyMCwgMjQ5LCAKLSAgICAyMjcsIDIwLCAyMjAsIDE1MiwgMjAsIDIyNCwgMTYsIDc5LCA1OCwgMSwgMjUwLCAxMDQsIDEzOCwgMjEwLCAyNTQsIDIyNSwgCi0gICAgNjQsIDU4LCAxLCAyNTAsIDEwNCwgMTM4LCAyMTEsIDcwLCAyMjUsIDY0LCA1OCwgMSwgMjUwLCAxMDQsIDEzOCwgMjEwLCAKLSAgICAyNTQsIDIyMCwgODYsIDU4LCAxLCAyNTAsIDEwNCwgMTM4LCAyMTEsIDcwLCAyMjAsIDg2LCA1OCwgMSwgMjUwLCAxMDQsIAotICAgIDEzOCwgMjEwLCAyNTQsIDIyNCwgMzMsIDU4LCAxLCAyNTAsIDEwNCwgMTM4LCAyMTEsIDcwLCAyMjQsIDMzLCA1OCwgMSwgCi0gICAgMjUwLCAxMDQsIDEzOCwgMjEwLCAyNTQsIDIyMiwgMTQyLCA1OCwgMSwgMjUwLCAxMDQsIDEzOCwgMjExLCA3MCwgMjIyLCAKLSAgICAxNDIsIDU4LCAxLCAyNDUsIDI4LCAyNDYsIDEyNiwgMTM4LCAxMzAsIDU4LCAxLCAxMjUsIDI0NiwgMTI2LCAxMzgsIDEzMCwgCi0gICAgNTgsIDEsIDIzMCwgMjMwLCAyNDYsIDEyNiwgMTM4LCAxMzAsIDU4LCAxLCAxMjEsIDI0NiwgMTI2LCAxMzgsIDEzMCwgNTgsIAotICAgIDEsIDI0NSwgMjcsIDI0NiwgMTI2LCAxMzgsIDEzMCwgNTgsIDEsIDI0NSwgMjgsIDI0NiwgMTI2LCAyMzMsIDQ1LCAxMzgsIAotICAgIDEzMCwgNTgsIDEsIDEyNSwgMjQ2LCAxMjYsIDIzMywgNDUsIDEzOCwgMTMwLCA1OCwgMSwgMjMwLCAyMzAsIDI0NiwgMTI2LCAKLSAgICAyMzMsIDQ1LCAxMzgsIDEzMCwgNTgsIDEsIDEyMSwgMjQ2LCAxMjYsIDIzMywgNDUsIDEzOCwgMTMwLCA1OCwgMSwgMjQ1LCAKLSAgICAyNywgMjQ2LCAxMjYsIDIzMywgNDUsIDEzOCwgMTMwLCA1OCwgMSwgMjQ1LCAyOCwgMjMzLCA0NSwgMTM4LCAxMzAsIDU4LCAKLSAgICAxLCAxMjUsIDIzMywgNDUsIDEzOCwgMTMwLCA1OCwgMSwgMjMwLCAyMzAsIDIzMywgNDUsIDEzOCwgMTMwLCA1OCwgMSwgCi0gICAgMTIxLCAyMzMsIDQ1LCAxMzgsIDEzMCwgNTgsIDEsIDI0NSwgMjcsIDIzMywgNDUsIDEzOCwgMTMwLCA1OCwgMSwgNTksIDY3LCAKLSAgICAxMzAsIDU4LCAxLCA1OSwgMjE5LCA5NywgNTgsIDEsIDU5LCAyMDMsIDEzMCwgNTgsIDEsIDIzMiwgMTE0LCA0NCwgMjQ5LCAKLSAgICAxNjksIDI1NCwgMTE3LCA1OCwgMSwgMjIzLCAxNjAsIDEyMCwgNzUsIDU4LCAxLCAyMjMsIDE2MCwgMTI0LCA3NSwgNTgsIDEsIAotICAgIDIyMywgMTYwLCAyNDUsIDM5LCA3OSwgNTgsIDEsIDIyMywgMTYwLCAyMzUsIDIwMCwgMjQ1LCAzOSwgNzksIDU4LCAxLCAKLSAgICAxMjEsIDIzNSwgMjAwLCAyNDUsIDM5LCA3OSwgNTgsIDEsIDIxOCwgMTEzLCAyMiwgMTI1LCAyMTYsIDMxLCA1OCwgMSwgCi0gICAgMjE4LCAxMTMsIDIyLCAxMjEsIDIxNiwgMzEsIDcsIDYsIDEsIDI0NSwgMjA3LCAyNTQsIDE3OSwgNywgNCwgMSwgMjQ1LCAKLSAgICAyMDcsIDI1NCwgMTc5LCA3LCA2LCAxLCAyNDUsIDIwNywgMjU0LCAyMDUsIDcsIDQsIDEsIDI0NSwgMjA3LCAyNTQsIDIwNSwgCi0gICAgNywgNiwgMSwgMjQxLCAyMTQsIDcsIDQsIDEsIDI0MSwgMjE0LCA3LCA2LCAxLCAyMTUsIDQwLCA3LCA0LCAxLCAyMTUsIDQwLCAKLSAgICA3LCA2LCAxLCAyMTUsIDIzMCwgNywgNCwgMSwgMjE1LCAyMzAsIDcsIDYsIDEsIDI0OSwgMTE4LCA3LCA0LCAxLCAyNDksIAotICAgIDExOCwgNywgNiwgMSwgMjQ5LCAxMTksIDIsIDI0OSwgMjI3LCA3LCA0LCAxLCAyNDksIDExOSwgMiwgMjQ5LCAyMjcsIDcsIAotICAgIDEsIDQsIDYsIDI0NSwgMTQsIDcsIDEsIDQsIDYsIDIyMiwgOTMsIDcsIDYsIDEsIDI1NSwgODIsIDcsIDQsIDEsIDI1NSwgCi0gICAgODIsIDcsIDYsIDEsIDI1NCwgODEsIDcsIDQsIDEsIDI1NCwgODEsIDcsIDYsIDEsIDI1MywgMjAwLCA3LCA0LCAxLCAyNTMsIAotICAgIDIwMCwgNywgNiwgMSwgMjUzLCAxODQsIDcsIDQsIDEsIDI1MywgMTg0LCA3LCA2LCAxLCAyNTMsIDE4NSwgMiwgMjAzLCAKLSAgICAxMzAsIDcsIDQsIDEsIDI1MywgMTg1LCAyLCAyMDMsIDEzMCwgNywgNiwgMSwgMjUzLCAxNzUsIDcsIDQsIDEsIDI1MywgCi0gICAgMTc1LCA3LCA2LCAxLCAyMjMsIDUyLCAyNTEsIDc1LCAyLCAyNDcsIDEyOCwgNywgNCwgMSwgMjIzLCA1MiwgMjUxLCA3NSwgCi0gICAgMiwgMjQ3LCAxMjgsIDcsIDYsIDEsIDIzNSwgMzAsIDIsIDkxLCA3LCA0LCAxLCAyMzUsIDMwLCAyLCA5MSwgNywgNiwgMSwgCi0gICAgMjM1LCAzMCwgMiwgMjQ4LCA3LCA5MSwgNywgNCwgMSwgMjM1LCAzMCwgMiwgMjQ4LCA3LCA5MSwgNywgNiwgMSwgMjM1LCAKLSAgICAzMCwgMiwgMjE4LCAxMDUsIDIyLCAyNDgsIDcsIDkxLCA3LCA0LCAxLCAyMzUsIDMwLCAyLCAyMTgsIDEwNSwgMjIsIDI0OCwgCi0gICAgNywgOTEsIDcsIDYsIDEsIDI1MSwgMTQzLCAxNTYsIDcsIDQsIDEsIDI1MSwgMTQzLCAxNTYsIDcsIDYsIDEsIDIzMywgMTU1LCAKLSAgICAyLCAxMjUsIDkxLCA3LCA0LCAxLCAyMzMsIDE1NSwgMiwgMTI1LCA5MSwgNywgNiwgMSwgMTQ0LCAyLCAyMDAsIDIxOCwgCi0gICAgMTA1LCAyMjYsIDEyNCwgNywgNCwgMSwgMTQ0LCAyLCAyMDAsIDIxOCwgMTA1LCAyMjYsIDEyNCwgNywgNiwgMSwgMTQ0LCAyLCAKLSAgICAyMzIsIDEyOSwgNywgNCwgMSwgMTQ0LCAyLCAyMzIsIDEyOSwgNywgNiwgMSwgMjI2LCAxODcsIDcsIDQsIDEsIDIyNiwgCi0gICAgMTg3LCA3LCA2LCAxLCAyMjYsIDExMCwgMiwgMjE4LCAxMDUsIDIxNiwgMTQwLCAyNDgsIDQ3LCA3LCA0LCAxLCAyMjYsIAotICAgIDExMCwgMiwgMjE4LCAxMDUsIDIxNiwgMTQwLCAyNDgsIDQ3LCA3LCA2LCAxLCAyMjYsIDExMCwgMiwgMjQ0LCA2MSwgNywgNCwgCi0gICAgMSwgMjI2LCAxMTAsIDIsIDI0NCwgNjEsIDcsIDYsIDEsIDIyNiwgMTEwLCAyLCAyMTgsIDIzMSwgMjE3LCA3OCwgNywgNCwgCi0gICAgMSwgMjI2LCAxMTAsIDIsIDIxOCwgMjMxLCAyMTcsIDc4LCA3LCA2LCAxLCAyMjQsIDEwMCwgMiwgMjE4LCAxMDUsIDIxNiwgCi0gICAgMTQwLCAyNDgsIDQ3LCA3LCA0LCAxLCAyMjQsIDEwMCwgMiwgMjE4LCAxMDUsIDIxNiwgMTQwLCAyNDgsIDQ3LCA3LCA2LCAxLCAKLSAgICAyMjQsIDEwMCwgMiwgMjQ4LCA3LCA5MSwgNywgNCwgMSwgMjI0LCAxMDAsIDIsIDI0OCwgNywgOTEsIDcsIDYsIDEsIDIyMywgCi0gICAgMjI3LCAyMjIsIDE4OCwgNywgNCwgMSwgMjIzLCAyMjcsIDIyMiwgMTg4LCA3LCA2LCAxLCAyMjIsIDEzMiwgMjIyLCAxODgsIAotICAgIDcsIDQsIDEsIDIyMiwgMTMyLCAyMjIsIDE4OCwgNywgNiwgMSwgMjE0LCAxMDYsIDIsIDI0OCwgNywgOTEsIDcsIDQsIDEsIAotICAgIDIxNCwgMTA2LCAyLCAyNDgsIDcsIDkxLCA3LCA2LCAxLCAyMTIsIDEwNiwgNywgNCwgMSwgMjEyLCAxMDYsIDcsIDYsIDEsIAotICAgIDIxMywgMTQ1LCAyMTAsIDE1OSwgNywgNCwgMSwgMjEzLCAxNDUsIDIxMCwgMTU5LCA3LCA2LCAxLCAyMTYsIDE1MywgMiwgCi0gICAgOTEsIDcsIDQsIDEsIDIxNiwgMTUzLCAyLCA5MSwgNywgNiwgMSwgMjE2LCAxNTMsIDIsIDIxOCwgMTA1LCAyMTYsIDE0MCwgCi0gICAgMjQ4LCA0NywgNywgNCwgMSwgMjE2LCAxNTMsIDIsIDIxOCwgMTA1LCAyMTYsIDE0MCwgMjQ4LCA0NywgNywgNiwgMSwgMjEzLCAKLSAgICAyNDUsIDcsIDQsIDEsIDIxMywgMjQ1LCA3LCA2LCAxLCAyNDUsIDczLCA3LCA0LCAxLCAyNDUsIDczLCA3LCA2LCAxLCAyMzUsIAotICAgIDE3OCwgNywgNCwgMSwgMjM1LCAxNzgsIDcsIDYsIDEsIDI0OSwgMjE1LCA3LCA0LCAxLCAyNDksIDIxNSwgNTgsIDEsIDIxNCwgCi0gICAgMTMzLCA3LCA0LCAxLCAyNDYsIDc3LCA3LCA0LCAxLCAyMzIsIDg5LCA3LCA0LCAxLCAyMzAsIDg1LCA3LCA0LCAxLCAyMjcsIAotICAgIDIwNSwgNywgNCwgMSwgMjIyLCAxMzEsIDcsIDEsIDQsIDYsIDIyMiwgMTMxLCA3LCA0LCAxLCAyMTUsIDEwOSwgNywgNCwgMSwgCi0gICAgMjE0LCAxOTcsIDcsIDYsIDEsIDIzNSwgMjIwLCAyNDksIDY4LCA3LCA0LCAxLCAyMzUsIDIyMCwgMjQ5LCA2OCwgNywgNiwgCi0gICAgMSwgMjM1LCAyMjAsIDI0NSwgMTQsIDcsIDQsIDEsIDIzNSwgMjIwLCAyNDUsIDE0LCA3LCA2LCAxLCAyMzUsIDIyMCwgMjQzLCAKLSAgICAyMDksIDcsIDYsIDEsIDIxNSwgOTQsIDIzNSwgMjIwLCAyNDMsIDIwOSwgNywgNCwgMSwgMjE1LCA5NCwgMjM1LCAyMjAsIAotICAgIDI0MywgMjA5LCA3LCA2LCAxLCAyMTUsIDk0LCAxNTYsIDcsIDQsIDEsIDIxNSwgOTQsIDE1NiwgNywgNiwgMSwgMjM1LCAKLSAgICAyMjAsIDE1MywgNywgNCwgMSwgMjM1LCAyMjAsIDE1MywgNywgNiwgMSwgMjM1LCAyMjAsIDIyMiwgOTMsIDcsIDQsIDEsIAotICAgIDIzNSwgMjIwLCAyMjIsIDkzLCA3LCA2LCAxLCAyMzUsIDIyMCwgMjE3LCAxNTMsIDcsIDQsIDEsIDIzNSwgMjIwLCAyMTcsIAotICAgIDE1MywgNTgsIDEsIDEyMSwgMjUwLCAzOSwgMjU1LCAyMywgNTgsIDEsIDI0OSwgMjM0LCA1OCwgMSwgMjE5LCAyNTMsIDI0NSwgCi0gICAgMTA2LCA1MCwgNywgNiwgMSwgMjIyLCAxLCA3LCA0LCAxLCAyMjIsIDEsIDcsIDYsIDEsIDIxNSwgOTQsIDI0MiwgNjcsIDcsIAotICAgIDQsIDEsIDIzMywgMTU1LCAyLCAyMjMsIDU4LCAyNDEsIDU5LCAyMiwgMjUyLCA0OSwgNywgNiwgMSwgMjMwLCAzMSwgMiwgCi0gICAgMjQ4LCA0NywgNywgNCwgMSwgMjMwLCAzMSwgMiwgMjQ4LCA0NywgNywgNiwgMSwgMjUxLCA3NSwgMiwgMTMwLCA3LCA0LCAxLCAKLSAgICAyNTEsIDc1LCAyLCAxMzAsIDcsIDYsIDEsIDI0MywgMjEwLCAyLCAyMjYsIDI1MiwgOTEsIDcsIDQsIDEsIDI0MywgMjEwLCAKLSAgICAyLCAyMjYsIDI1MiwgOTEsIDcsIDYsIDEsIDIzNSwgMzAsIDIsIDIyNiwgMjUyLCA5MSwgNywgNCwgMSwgMjM1LCAzMCwgMiwgCi0gICAgMjI2LCAyNTIsIDkxLCA3LCA2LCAxLCAyMzAsIDMxLCAyLCAyMjYsIDI1MiwgOTEsIDcsIDQsIDEsIDIzMCwgMzEsIDIsIAotICAgIDIyNiwgMjUyLCA5MSwgNywgNiwgMSwgMjIzLCAyMjcsIDIsIDIyNiwgMjUyLCA5MSwgNywgNCwgMSwgMjIzLCAyMjcsIDIsIAotICAgIDIyNiwgMjUyLCA5MSwgNywgNiwgMSwgMjIyLCA5NCwgMiwgMjI2LCAyNTIsIDkxLCA3LCA0LCAxLCAyMjIsIDk0LCAyLCAKLSAgICAyMjYsIDI1MiwgOTEsIDcsIDYsIDEsIDI0MiwgNjgsIDIsIDEwMywgNTgsIDEsIDYsIDI0MiwgNjgsIDIsIDkxLCA1OCwgMSwgCi0gICAgNCwgMjcsIDIyNiwgMjM4LCA3LCAxLCA0LCA2LCAyMTUsIDk0LCAxOTQsIDcsIDI0NSwgMTExLCAxLCAyMjMsIDUyLCAyNDUsIAotICAgIDE0LCA3LCAyNDUsIDExMSwgMSwgMjIzLCA1MiwgMjI2LCAxMDksIDcsIDI0NSwgMTExLCAxLCAyMzUsIDIwMCwgMTk0LCA3LCAKLSAgICAyNDUsIDExMSwgMSwgMjQwLCAxNjEsIDIzMiwgMTM1LCA3LCAyNDUsIDExMSwgMSwgMjU0LCAzMSwgMTk0LCAyMTcsIDIzMSwgCi0gICAgMjI5LCAyMTksIDEsIDYxLCAyMTcsIDIzMSwgMjI5LCAyMTksIDEsIDc0LCAyMTcsIDIzMSwgMjI5LCAyMTksIDUsIDI0NiwgCi0gICAgNTYsIDIxNywgMjMxLCAyMjksIDIxOSwgMSwgNjksIDIxNywgMjMxLCAyMjksIDIxOSwgMSwgNzYsIDIxNywgMjMxLCAyMjksIAotICAgIDIxOSwgMSwgNzgsIDIxNywgMjMxLCAyMjksIDIxOSwgNSwgMjQyLCA0LCAyMTcsIDIzMSwgMjI5LCAyMTksIDEsIDIzNCwgCi0gICAgMzQsIDIxNywgMjMxLCAyMjksIDIxOSwgMSwgMjM0LCAxMTEsIDIxNywgMjMxLCAyMjksIDIxOSwgMSwgMjQyLCAxODEsIAotICAgIDIxNywgMjMxLCAyMjksIDIxOSwgMSwgMjQyLCAyMzEsIDIxNywgMjMxLCAyMjksIDIxOSwgNSwgMjU0LCA4MywgMjE3LCAKLSAgICAyMzEsIDIyOSwgMjE5LCAxLCAyNDksIDI0NiwgMjE3LCAyMzEsIDIyOSwgMjE5LCAxLCAyNTAsIDk0LCAyMTcsIDIzMSwgCi0gICAgMjI5LCAyMTksIDEsIDIzNSwgNzQsIDIxNywgMjMxLCAyMjksIDIxOSwgMSwgMjM1LCAxMTUsIDIxNywgMjMxLCAyMjksIAotICAgIDIxOSwgMSwgMjE1LCAxMzQsIDIxNywgMjMxLCAyMjksIDIxOSwgMSwgMjE1LCAxNDAsIDIxNywgMjMxLCAyMjksIDIxOSwgMSwgCi0gICAgMjQ4LCAxMTMsIDIxNywgMjMxLCAyMjksIDIxOSwgMSwgMjQ4LCAxMjIsIDIxNywgMjMxLCAyMjksIDIxOSwgMSwgMTEyLCAKLSAgICAyMTcsIDIzMSwgMjI5LCAyMTksIDEsIDIxNiwgMTU3LCAyMTcsIDIzMSwgMjI5LCAyMTksIDEsIDI0NywgMTUzLCAyMTcsIAotICAgIDIzMSwgMjI5LCAyMTksIDEsIDI0OCwgMTUsIDIxNywgMjMxLCAyMjksIDIxOSwgMSwgMjI4LCA3OSwgMjE3LCAyMzEsIDIyOSwgCi0gICAgMjE5LCAxLCAyMjUsIDE5LCAyMTcsIDIzMSwgMjI5LCAyMTksIDEsIDIyNSwgMTI0LCAyMTcsIDIzMSwgMjI5LCAyMTksIDEsIAotICAgIDI1MSwgMjEzLCAyMTcsIDIzMSwgMjI5LCAyMTksIDEsIDI1MiwgMTgsIDIxNywgMjMxLCAyMjksIDIxOSwgMSwgMjMwLCAKLSAgICAxNjYsIDIxNywgMjMxLCAyMjksIDIxOSwgMSwgMjIyLCAyMTMsIDIxNywgMjMxLCAyMjksIDIxOSwgMSwgMjMyLCAxNjIsIAotICAgIDIxNywgMjMxLCAyMjksIDIxOSwgMSwgMjIyLCAxNjcsIDIxNywgMjMxLCAyMjksIDIxOSwgMSwgMjE5LCA2MCwgMjE3LCAKLSAgICAyMzEsIDIyOSwgMjE5LCAxLCAyNDEsIDc1LCAyMTcsIDIzMSwgMjI5LCAyMTksIDI1LCA1LCA2MSwgMjE3LCAyMzEsIDIyOSwgCi0gICAgMjE5LCAyNSwgNSwgNzQsIDIxNywgMjMxLCAyMjksIDIxOSwgMjUsIDUsIDY5LCAyMTcsIDIzMSwgMjI5LCAyMTksIDI1LCA1LCAKLSAgICA3NiwgMjE3LCAyMzEsIDIyOSwgMjE5LCAyNSwgNSwgMjI2LCAxODcsIDIxNywgMjMxLCAyMjksIDIxOSwgMjI1LCAxNSwgCi0gICAgMjMxLCAxNjMsIDIxNywgMjMxLCAyMjksIDIxOSwgMjI1LCAxNSwgMjMxLCAxNjIsIDIxNywgMjMxLCAyMjksIDIxOSwgMjI1LCAKLSAgICAxNSwgMjMxLCAxNjEsIDIxNywgMjMxLCAyMjksIDIxOSwgMjI1LCAxNSwgMjMxLCAxNjAsIDIyOCwgNjEsIDIzNSwgMjQ3LCAKLSAgICAyNDQsIDEwLCAxMjMsIDIyNCwgMjQsIDIyOCwgNjEsIDIzNSwgMjQ3LCAyNDQsIDEwLCAxMjMsIDI0MiwgMzQsIDIyOCwgNjEsIAotICAgIDIzNSwgMjQ3LCAyNDQsIDEwLCAxMzQsIDIyNCwgMjIsIDIyOCwgNjEsIDIzNSwgMjQ3LCAyNDQsIDEwLCAxMjMsIDIxOSwgCi0gICAgMTE5LCAyMjgsIDYxLCAyMzUsIDI0NywgMjQ0LCAxMCwgMTIzLCAyNDUsIDE5NiwgMjI4LCA2MSwgMjM1LCAyNDcsIDI0NCwgCi0gICAgMTAsIDEzNCwgMjE5LCAxMTgsIDIyOCwgNjEsIDIzNSwgMjQ3LCAyMjQsIDI1LCA3OSwgMjI4LCA2MSwgMjM1LCAyNDcsIAotICAgIDIyNSwgNDMsIDc5LCAyMjgsIDYxLCAyMzUsIDI0NywgMjIyLCAxMjAsIDc5LCAyMjgsIDYxLCAyMzUsIDI0NywgMjI0LCAyNiwgCi0gICAgNzksIDIyNSwgMTQ3LCAxLCAxNzYsIDIyNSwgMTQ3LCAxLCAyMzQsIDEzOCwgMjI1LCAxNDcsIDEsIDI0MywgMTQyLCAyMjUsIAotICAgIDE0NywgMSwgMjI5LCA4MiwgMjI1LCAxNDcsIDEsIDI1MSwgNDEsIDIyNSwgMTQ3LCAxLCAyNTAsIDE2NSwgMjI1LCAxNDcsIAotICAgIDEsIDIzNSwgMTQ3LCAyMjUsIDE0NywgMSwgMjI3LCAxNjksIDIyNSwgMTQ3LCAxLCAyMTcsIDEwNiwgMjI1LCAxNDcsIDEsIAotICAgIDIxNiwgMjA5LCAyMjUsIDE0NywgMSwgMjQ4LCAyMjksIDIyNSwgMTQ3LCAxLCAxOTgsIDIyNSwgMTQ3LCAxLCAxOTEsIDIyNSwgCi0gICAgMTQ3LCAxLCAyMjUsIDE1MCwgMjI1LCAxNDcsIDEsIDI1MiwgMTk5LCAyMjUsIDE0NywgMSwgMTg2LCAyMjUsIDE0NywgMSwgCi0gICAgMjE1LCAxODQsIDIyNSwgMTQ3LCAxLCAyMTUsIDE3NiwgMjI1LCAxNDcsIDEsIDI0NiwgNDYsIDIyNSwgMTQ3LCAxLCAyMTIsIAotICAgIDY1LCAyMjUsIDE0NywgMSwgMjEwLCA4MiwgMjI1LCAxNDcsIDEsIDIxMCwgMTE2LCAyMjUsIDE0NywgMSwgNCwgNjEsIDIyNSwgCi0gICAgMTQ3LCAxLCAxOTIsIDIyNSwgMTQ3LCAxLCAyMDUsIDIyNSwgMTQ3LCAxLCAyMzMsIDE0MSwgMjI1LCAxNDcsIDEsIDIyMCwgCi0gICAgMTA0LCAyMjUsIDE0NywgMSwgMjA2LCAyMjUsIDE0NywgMSwgMTYyLCAyMjUsIDE0NywgMSwgNjEsIDIyNSwgMTQ3LCAxLCAKLSAgICA3NCwgMjI1LCAxNDcsIDEsIDY5LCAyMjUsIDE0NywgMSwgNzYsIDIyNSwgMTQ3LCAxLCA3OCwgMjI1LCAxNDcsIDEsIDIyNCwgCi0gICAgOTEsIDIyNSwgMTQ3LCAxLCAyMTEsIDE2NSwgMjI1LCAxNDcsIDEsIDI0NCwgMjA0LCAyMjUsIDE0NywgMSwgMjQzLCAzNiwgCi0gICAgMjI1LCAxNDcsIDEsIDI0NSwgMjE3LCAyMjUsIDE0NywgMjE4LCA3NCwgMSwgMjEyLCA2NSwgMjI1LCAxNDcsIDIxOCwgNzQsIAotICAgIDEsIDE5MiwgMjI1LCAxNDcsIDEsIDIxNSwgMTU3LCAyMjUsIDE0NywgMSwgMjE1LCAxNDUsIDIyNSwgMTQ3LCAxLCAyNDgsIAotICAgIDE0MywgMjI1LCAxNDcsIDEsIDIyOCwgMTE1LCAyMjUsIDE0NywgMSwgMjU0LCAxNDksIDE5MiwgMjI1LCAxNDcsIDEsIDIxMywgCi0gICAgMTM0LCAyMjAsIDEwNCwgMjI1LCAxNDcsIDEsIDIxMywgMTM1LCAxNjIsIDIyNSwgMTQ3LCAxLCAyNTMsIDIzMSwgMjQ0LCAKLSAgICAyMDQsIDIyNSwgMTQ3LCAyMTgsIDc0LCAxLCAyMDUsIDIyNSwgMTQ3LCAyMTgsIDI2LCAxLCAyMDUsIDIyNSwgMTQ3LCAxLCAKLSAgICAyNTEsIDcsIDIyNSwgMTQ3LCAyMTksIDE1NywgMjQxLCAyNDMsIDc5LCAyMjUsIDE0NywgNTIsIDI0MSwgMjQzLCA3OSwgCi0gICAgMjI1LCAxNDcsIDE2NCwgMjIwLCA5NywgMjI1LCAxNDcsIDE2NCwgNTIsIDIyMCwgOTcsIDE3OSwgNSwgMjU0LCA4MywgMTc5LCAKLSAgICA1LCAyMTMsIDE0NywgMTc5LCAxLCA2MSwgMTc5LCAxLCAyNTUsIDgyLCAxNzksIDEsIDc0LCAxNzksIDEsIDIzNiwgNDAsIAotICAgIDE3OSwgMSwgNjksIDE3OSwgMSwgMjE0LCAxMTgsIDE3OSwgMSwgMTQ5LCAxNTMsIDE3OSwgMSwgMTQ5LCAyMjIsIDE4MiwgCi0gICAgMTc5LCAxLCAxNDksIDE1NiwgMTc5LCAxLCAxNDksIDIzMiwgMTkxLCAxNzksIDEsIDc2LCAxNzksIDEsIDI0NSwgMjE3LCAKLSAgICAxNzksIDEsIDI1NCwgMjEwLCAxNzksIDEsIDc4LCAxNzksIDEsIDIyNiwgMTg3LCAxNzksIDEsIDI1MywgMjAwLCAxNzksIDEsIAotICAgIDE3NiwgMTc5LCAxLCAyMzQsIDEzOCwgMTc5LCAxLCAyNDMsIDE0MiwgMTc5LCAxLCAyNDMsIDAsIDE3OSwgMSwgMjI5LCA4MiwgCi0gICAgMTc5LCAxLCAyNTEsIDQxLCAxNzksIDEsIDI1MCwgMTY1LCAxNzksIDEsIDIzNSwgMTQ3LCAxNzksIDEsIDIzNSwgMTIwLCAKLSAgICAxNzksIDEsIDIyNywgMTY5LCAxNzksIDEsIDIxNSwgMTU3LCAxNzksIDEsIDIxNSwgMTQ1LCAxNzksIDEsIDI0OCwgMTQzLCAKLSAgICAxNzksIDEsIDI0OCwgMTI3LCAxNzksIDEsIDIyOCwgMTE1LCAxNzksIDEsIDIxNywgMTA2LCAxNzksIDEsIDIxNiwgMjA5LCAKLSAgICAxNzksIDEsIDI0OCwgMjI5LCAxNzksIDEsIDI0OCwgMzMsIDE3OSwgMSwgMTk4LCAxNzksIDEsIDE5MSwgMTc5LCAxLCAyMjUsIAotICAgIDE1MCwgMTc5LCAxLCAyNTIsIDE5OSwgMTc5LCAxLCAyNTIsIDI2LCAxNzksIDEsIDE4NiwgMTc5LCAxLCAxOTIsIDE3OSwgMSwgCi0gICAgMjA1LCAxNzksIDEsIDIzMywgMTQxLCAxNzksIDEsIDIxNCwgMjcsIDE3OSwgMSwgMjIwLCAxMDQsIDE3OSwgMSwgMjE4LCAKLSAgICAyMjUsIDE3OSwgMSwgMjA2LCAxNzksIDEsIDE2MiwgMTc5LCAxLCAyMzIsIDE5MCwgMTc5LCAxMTcsIDUsIDI0MiwgNTEsIAotICAgIDE3OSwgMjUsIDUsIDI1NSwgODIsIDE3OSwgMjUsIDUsIDc0LCAxNzksIDI1LCA1LCAyMzYsIDQwLCAxNzksIDI1LCA1LCA2OSwgCi0gICAgMTc5LCAyNSwgNSwgMjE0LCAxMTgsIDE3OSwgMjUsIDUsIDE0OSwgMTUzLCAxNzksIDI1LCA1LCAxNDksIDIyMiwgMTgyLCAKLSAgICAxNzksIDI1LCA1LCAxNDksIDE1NiwgMTc5LCAyNSwgNSwgMTQ5LCAyMzIsIDE5MSwgMTc5LCAyNSwgNSwgNzYsIDE3OSwgMjUsIAotICAgIDUsIDI0NSwgMjE3LCAxNzksIDI1LCA1LCAyNTQsIDIxMCwgMTc5LCAyNSwgNSwgNzgsIDE3OSwgMjUsIDUsIDIyNiwgMTg3LCAKLSAgICAxNzksIDI1LCA1LCAyNTMsIDIwMCwgMTc5LCA1LCAyMTMsIDE1MiwgMTc5LCAyNDgsIDE4NiwgMTc5LCA1MiwgMjQ4LCAxODYsIAotICAgIDE3OSwgMjEsIDIxMCwgODYsIDE3OSwgMjEsIDExMSwgMTc5LCAyMSwgMTA1LCAxNzksIDIxLCAxNTgsIDE3OSwgMjEsIDE2MSwgCi0gICAgMTc5LCAyMSwgMTkwLCAxNzksIDIxLCAxOTUsIDE3OSwgMjEsIDE5OSwgMTc5LCAyMSwgMTk2LCAxNzksIDIxLCAyMDEsIDM4LCAKLSAgICA4NCwgMjEsIDIxMCwgODYsIDM4LCA4NCwgMjEsIDExMSwgMzgsIDg0LCAyMSwgMTA1LCAzOCwgODQsIDIxLCAxNTgsIDM4LCAKLSAgICA4NCwgMjEsIDE2MSwgMzgsIDg0LCAyMSwgMTkwLCAzOCwgODQsIDIxLCAxOTUsIDM4LCA4NCwgMjEsIDE5OSwgMzgsIDg0LCAKLSAgICAyMSwgMTk2LCAzOCwgODQsIDIxLCAyMDEsIDM4LCA4NCwgMSwgNjEsIDM4LCA4NCwgMSwgNjksIDM4LCA4NCwgMSwgMTc2LCAKLSAgICAzOCwgODQsIDEsIDE5OCwgMzgsIDg0LCAxLCAxOTEsIDM4LCA4NCwgMSwgMjA1LCAzOCwgODQsIDEsIDIxMywgMTc2LCAzOCwgCi0gICAgODQsIDUsIDI1MywgMTgzLCA4NCwgNSwgMjE5LCAxOSwgMjUxLCA3LCA4NCwgNSwgMjUxLCA4LCAyMTMsIDE1MiwgODQsIDUsIAotICAgIDUyLCAyNTEsIDgsIDIxMywgMTUyLCA4NCwgNSwgMjUxLCA4LCAxMDUsIDg0LCA1LCAyNTEsIDgsIDE1OCwgODQsIDUsIDI1MSwgCi0gICAgOCwgMjUzLCAxODMsIDg0LCA1LCAyMjQsIDEyNywgODQsIDI0MywgMTA3LCAyNDQsIDExMSwgODQsIDI1MCwgMjQ2LCA4NCwgCi0gICAgMjQxLCAyMzcsIDIzNCwgMTk0LCAyMzIsIDI0OCwgMjEsIDIxMCwgODYsIDIzNCwgMTk0LCAyMzIsIDI0OCwgMjEsIDExMSwgCi0gICAgMjM0LCAxOTQsIDIzMiwgMjQ4LCAyMSwgMTA1LCAyMzQsIDE5NCwgMjMyLCAyNDgsIDIxLCAxNTgsIDIzNCwgMTk0LCAyMzIsIAotICAgIDI0OCwgMjEsIDE2MSwgMjM0LCAxOTQsIDIzMiwgMjQ4LCAyMSwgMTkwLCAyMzQsIDE5NCwgMjMyLCAyNDgsIDIxLCAxOTUsIAotICAgIDIzNCwgMTk0LCAyMzIsIDI0OCwgMjEsIDE5OSwgMjM0LCAxOTQsIDIzMiwgMjQ4LCAyMSwgMTk2LCAyMzQsIDE5NCwgMjMyLCAKLSAgICAyNDgsIDIxLCAyMDEsIDIzNCwgMTk0LCAyMzIsIDI0OCwgMSwgMTc2LCAyMzQsIDE5NCwgMjMyLCAyNDgsIDEsIDIzNCwgCi0gICAgMTM4LCAyMzQsIDE5NCwgMjMyLCAyNDgsIDEsIDI0MywgMTQyLCAyMzQsIDE5NCwgMjMyLCAyNDgsIDEsIDIyOSwgODIsIAotICAgIDIzNCwgMTk0LCAyMzIsIDI0OCwgMSwgMjA2LCAyMzQsIDE5NCwgMjMyLCAyNDgsIDEsIDIyMCwgMTA0LCAyMzQsIDE5NCwgCi0gICAgMjMyLCAyNDgsIDEsIDIxMCwgMTE2LCAyMzQsIDE5NCwgMjMyLCAyNDgsIDEsIDIyNywgMTY5LCAyMzQsIDE5NCwgMjMyLCAKLSAgICAyNDgsIDEsIDIxNywgMTA2LCAyMzQsIDE5NCwgMjMyLCAyNDgsIDEsIDI0MCwgMjMzLCAyMzQsIDE5NCwgMjMyLCAyNDgsIDEsIAotICAgIDE5OCwgMjM0LCAxOTQsIDIzMiwgMjQ4LCAxLCAxOTEsIDIzNCwgMTk0LCAyMzIsIDI0OCwgMSwgMjI1LCAxNTAsIDIzNCwgCi0gICAgMTk0LCAyMzIsIDI0OCwgMSwgMTg2LCAyMzQsIDE5NCwgMjMyLCAyNDgsIDEsIDI0OCwgMjI5LCAyMzQsIDE5NCwgMjMyLCAKLSAgICAyNDgsIDEsIDI1MiwgMTk5LCAyMzQsIDE5NCwgMjMyLCAyNDgsIDEsIDIwNSwgMjM0LCAxOTQsIDIzMiwgMjQ4LCAxLCAxOTIsIAotICAgIDIzNCwgMTk0LCAyMzIsIDI0OCwgMSwgMjMzLCAxNDEsIDIzNCwgMTk0LCAyMzIsIDI0OCwgMSwgMjEyLCA2NSwgMjM0LCAKLSAgICAxOTQsIDIzMiwgMjQ4LCAxLCAyMTYsIDIwOSwgMjM0LCAxOTQsIDIzMiwgMjQ4LCAxLCAxNjIsIDIzNCwgMTk0LCAyMzIsIAotICAgIDI0OCwgMSwgMjE0LCAyNywgMjM0LCAxOTQsIDIzMiwgMjQ4LCAxLCAyNTEsIDQxLCAyMzQsIDE5NCwgMjMyLCAyNDgsIDEsIAotICAgIDYxLCAyMzQsIDE5NCwgMjMyLCAyNDgsIDEsIDIyNiwgMjM4LCAyMzQsIDE5NCwgMjMyLCAyNDgsIDEsIDc0LCAyMzQsIDE5NCwgCi0gICAgMjMyLCAyNDgsIDEsIDIyNiwgMTg3LCAyMzQsIDE5NCwgMjMyLCAyNDgsIDI1LCAyMTQsIDIxNCwgMjM0LCAxOTQsIDIzMiwgCi0gICAgMjQ4LCAyNSwgNzYsIDIzNCwgMTk0LCAyMzIsIDI0OCwgMjUsIDY5LCAyMzQsIDE5NCwgMjMyLCAyNDgsIDI1LCAyNDUsIAotICAgIDIxNywgMjM0LCAxOTQsIDIzMiwgMjQ4LCAyNSwgNzgsIDIzNCwgMTk0LCAyMzIsIDI0OCwgMTM4LCAyMjUsIDMzLCAyMzQsIAotICAgIDE5NCwgMjMyLCAyNDgsIDEzOCwgMjUxLCAyMCwgMjM0LCAxOTQsIDIzMiwgMjQ4LCAxMzgsIDI1MSwgMjEsIDIyNSwgMzMsIAotICAgIDIzNCwgMTk0LCAyMzIsIDI0OCwgNSwgMjQ5LCA4NSwgMjM0LCAxOTQsIDIzMiwgMjQ4LCA1LCAyMTksIDIwMSwgMjIzLCA5NiwgCi0gICAgMSwgMTc2LCAyMjMsIDk2LCAxLCAyNDMsIDE0MiwgMjIzLCA5NiwgMSwgMjI5LCA4MiwgMjIzLCA5NiwgMSwgMjE3LCAxMDYsIAotICAgIDIyMywgOTYsIDEsIDI0OCwgMjI5LCAyMjMsIDk2LCAxLCAxOTgsIDIyMywgOTYsIDEsIDE5MSwgMjIzLCA5NiwgMSwgMjUyLCAKLSAgICAxOTksIDIyMywgOTYsIDEsIDE4NiwgMjIzLCA5NiwgMSwgMjUxLCA0MSwgMjIzLCA5NiwgMSwgMjM1LCAxNDcsIDIyMywgOTYsIAotICAgIDEsIDIyNywgMTY5LCAyMjMsIDk2LCAxLCAyMDYsIDIyMywgOTYsIDEsIDIwNSwgMjIzLCA5NiwgMSwgMjMzLCAxNDEsIDIyMywgCi0gICAgOTYsIDEsIDE5MiwgMjIzLCA5NiwgMSwgMjEyLCA2NSwgMjIzLCA5NiwgMSwgMTYyLCAyMjMsIDk2LCAxLCAyMzEsIDEyOSwgCi0gICAgMjIzLCA5NiwgMSwgMjI5LCA2MSwgMjIzLCA5NiwgMSwgMjI5LCAxNTMsIDIyMywgOTYsIDEsIDIyNywgMTM5LCAyMjMsIDk2LCAKLSAgICAxLCA2MSwgMjIzLCA5NiwgMjUsIDUsIDc0LCAyMjMsIDk2LCAyNSwgNSwgNjksIDIyMywgOTYsIDI1LCA1LCA3NiwgMjIzLCAKLSAgICA5NiwgMjUsIDUsIDI1NCwgMjEwLCAyMjMsIDk2LCAyNSwgNSwgNzgsIDIyMywgOTYsIDI1LCA1LCAyNTMsIDIwMCwgMjIzLCAKLSAgICA5NiwgMjUsIDUsIDI0NSwgNjMsIDIyMywgOTYsIDI1LCA1LCAyNDUsIDI0MSwgMjIzLCA5NiwgMTE3LCA1LCAyMjksIDg0LCAKLSAgICAyMjMsIDk2LCAxMTcsIDUsIDIzMCwgMzAsIDIyMywgOTYsIDExNywgNSwgMTUzLCAyMjMsIDk2LCAxMTcsIDUsIDI0MiwgNjcsIAotICAgIDIyMywgOTYsIDIxMywgMTUyLCAyMjMsIDk2LCAyMjEsIDE3NSwgNzksIDI0LCAxMDAsIDIxNiwgOTgsIDI0LCAxMDAsIDIxNiwgCi0gICAgOTcsIDI0LCAxMDAsIDIxNiwgOTUsIDI0LCAxMDAsIDIxNiwgMTAwLCAyNCwgMTAwLCAyMjMsIDI0LCAyNCwgMTAwLCAyMjMsIAotICAgIDgsIDI0LCAxMDAsIDIyMywgMywgMjQsIDEwMCwgMjIzLCA1LCAyNCwgMTAwLCAyMjMsIDIxLCAyNCwgMTAwLCAyMjMsIDE0LCAKLSAgICAyNCwgMTAwLCAyMjMsIDcsIDI0LCAxMDAsIDIyMywgMjYsIDI0LCAxMDAsIDIyMywgOSwgMjQsIDEwMCwgMjIzLCAyOCwgMjQsIAotICAgIDEwMCwgMjIzLCAyNSwgMjQsIDEwMCwgMjMwLCAyMTgsIDI0LCAxMDAsIDIzMCwgMjA5LCAyNCwgMTAwLCAyMzAsIDIxMiwgCi0gICAgMjQsIDEwMCwgMjI1LCA4MywgMjQsIDEwMCwgMjI1LCA5NCwgMjQsIDEwMCwgMjI1LCA5NSwgMjQsIDEwMCwgMjE4LCAyMDksIAotICAgIDI0LCAxMDAsIDIzNiwgNTMsIDI0LCAxMDAsIDIzNiwgNjAsIDI0LCAxMDAsIDIxOCwgMjIwLCAyNCwgMTAwLCAyMTgsIDIwNywgCi0gICAgMjQsIDEwMCwgMjI1LCAxMzMsIDI0LCAxMDAsIDI0MSwgMTc0LCAyNCwgMTAwLCAyMTgsIDIwNCwgMTU1LCA1LCAyMjYsIDMxLCAKLSAgICAxNTUsIDUsIDI1MCwgMTk1LCAxNTUsIDUsIDIzMywgNzIsIDE1NSwgNSwgMjExLCAyNDMsIDE1NSwgMSwgNjEsIDE1NSwgMSwgCi0gICAgMjQwLCAxNjEsIDIzNCwgMTk3LCAxNTUsIDEsIDc0LCAxNTUsIDEsIDIzNiwgNDAsIDE1NSwgMSwgNjksIDE1NSwgMSwgMjI2LCAKLSAgICA5NCwgMjUwLCAxNzEsIDE1NSwgMSwgMjI5LCA4MywgMjMzLCAzNCwgMTU1LCAxLCAyMjksIDgzLCAyMzMsIDM1LCAyMjMsIAotICAgIDE0NSwgMTU1LCAxLCA3NiwgMTU1LCAxLCAyNTQsIDIxMCwgMTU1LCAxLCA3OCwgMTU1LCAxLCAxNzYsIDE1NSwgMSwgMjM1LCAKLSAgICAxOSwgMjIxLCAyMzAsIDE1NSwgMSwgMjM1LCAxOSwgMjMwLCA3MSwgMTU1LCAxLCAyNDMsIDE0MiwgMTU1LCAxLCAyNDMsIAotICAgIDE0MywgMjMwLCA3MSwgMTU1LCAxLCAyMjksIDgyLCAxNTUsIDEsIDI1MSwgNDEsIDE1NSwgMSwgMjUxLCA0MiwgMjMwLCA3MSwgCi0gICAgMTU1LCAxLCAyMzUsIDE0NywgMTU1LCAxLCAyMjcsIDE3MCwgMjMwLCA3MSwgMTU1LCAxLCAyMzUsIDE0OCwgMjMxLCAyMTIsIAotICAgIDE1NSwgMSwgMjI3LCAxNjksIDE1NSwgMSwgMjE1LCAxNTcsIDE1NSwgMSwgMjE1LCAxNTgsIDIzMSwgMjEyLCAxNTUsIDEsIAotICAgIDI0OCwgMTQzLCAxNTUsIDEsIDI0OCwgMTQ0LCAyMzEsIDIxMiwgMTU1LCAxLCAyMjksIDIzNCwgMjMwLCA3MSwgMTU1LCAxLCAKLSAgICAyMTcsIDEwNiwgMTU1LCAxLCAyMTcsIDEwNywgMjMwLCA3MSwgMTU1LCAxLCAyNDgsIDIyOSwgMTU1LCAxLCAyNDgsIDIzMCwgCi0gICAgMjMxLCAyMTIsIDE1NSwgMSwgMTk4LCAxNTUsIDEsIDE5MSwgMTU1LCAxLCAyMjYsIDk0LCAyMzAsIDcxLCAxNTUsIDEsIAotICAgIDI1MiwgMTk5LCAxNTUsIDEsIDI1MiwgMjAwLCAyMzAsIDcxLCAxNTUsIDEsIDE4NiwgMTU1LCAxLCAxOTIsIDE1NSwgMSwgCi0gICAgMjA1LCAxNTUsIDEsIDIyMywgMTkxLCAyNTQsIDIxOSwgMTU1LCAxLCAyMzMsIDE0MSwgMTU1LCAxLCAyMTIsIDY1LCAxNTUsIAotICAgIDEsIDIyMiwgMzYsIDIzMCwgNzEsIDE1NSwgMSwgMjIyLCAzNiwgMjMxLCAyMTIsIDE1NSwgMSwgMjA2LCAxNTUsIDEsIDE2MiwgCi0gICAgMTU1LCA1LCAyNTAsIDE5NiwgMjE2LCAyNTEsIDE1NSwgMjUsIDUsIDIxNywgNDgsIDE1NSwgMjUsIDUsIDIxNiwgMzYsIAotICAgIDE1NSwgMjUsIDUsIDIxMSwgMTkwLCAxNTUsIDI1LCA1LCAyMTEsIDE5MSwgMjMxLCA3NCwgMTU1LCAyNSwgNSwgMjE4LCA0OCwgCi0gICAgMTU1LCAyNSwgNSwgMjE4LCA0OSwgMjMxLCA2MiwgMTU1LCAyNSwgNSwgMjE3LCA2NiwgMTU1LCAyNSwgNSwgMjQ3LCAyMDIsIAotICAgIDIzMCwgNzAsIDE1NSwgMjUsIDUsIDIyNSwgMTg3LCAxNTUsIDExNywgNSwgMjM0LCAxNjQsIDE1NSwgMTE3LCA1LCAyMjUsIAotICAgIDE5OSwgMTU1LCAxMTcsIDUsIDI1MSwgMjcsIDE1NSwgMjI2LCA0NCwgMTU1LCA0MywgMjIzLCA3MiwgMTU1LCA0NCwgMjIzLCAKLSAgICA3MiwgMTU1LCAyMjYsIDgzLCAyNTQsIDEyNSwgMTU1LCAyMjYsIDgzLCAyMzEsIDIyOSwgMTU1LCAyMjYsIDgzLCAyMzIsIAotICAgIDkzLCAxNTUsIDIyNiwgODMsIDIxMSwgMjM4LCAxNTUsIDIyNiwgODMsIDIyNiwgNDUsIDE1NSwgMjI2LCA4MywgMjMyLCAKLSAgICAyMTEsIDE1NSwgMjI2LCA4MywgMjMyLCA4NywgMTU1LCAyMjYsIDgzLCAyNTUsIDIsIDE1NSwgMjI2LCA4MywgMjU1LCAzLCAKLSAgICAyNTUsIDIsIDE1NSwgMjI2LCA4MywgMjI1LCA1NCwgMTU1LCAyMTUsIDk0LCAyMjYsIDgzLCAyMjUsIDU0LCAxNTUsIDIyNiwgCi0gICAgNDAsIDE1NSwgMjEsIDIxMCwgODYsIDE1NSwgMjEsIDExMSwgMTU1LCAyMSwgMTA1LCAxNTUsIDIxLCAxNTgsIDE1NSwgMjEsIAotICAgIDE2MSwgMTU1LCAyMSwgMTkwLCAxNTUsIDIxLCAxOTUsIDE1NSwgMjEsIDE5OSwgMTU1LCAyMSwgMTk2LCAxNTUsIDIxLCAKLSAgICAyMDEsIDE1NSwgMjI2LCA4MywgMjE2LCA3MCwgMjE1LCAxMDcsIDE1NSwgMjI2LCA4MywgMjM1LCAxNzQsIDE3MiwgMSwgNjEsIAotICAgIDE3MiwgMSwgNzQsIDE3MiwgMSwgNjksIDE3MiwgMSwgNzYsIDE3MiwgMSwgMjU0LCAyMTAsIDE3MiwgMSwgNzgsIDE3MiwgMSwgCi0gICAgMTc2LCAxNzIsIDEsIDIzNCwgMTM4LCAxNzIsIDEsIDI0MywgMTQyLCAxNzIsIDEsIDI0MywgMCwgMTcyLCAxLCAyMjgsIAotICAgIDI1MCwgMTcyLCAxLCAyMjksIDgyLCAxNzIsIDEsIDI1MCwgMTY1LCAxNzIsIDEsIDI1MCwgMTIwLCAxNzIsIDEsIDIzNSwgCi0gICAgMTQ3LCAxNzIsIDEsIDIzNSwgMTIwLCAxNzIsIDEsIDIyOCwgMjQwLCAxNzIsIDEsIDIyOCwgMjQyLCAxNzIsIDEsIDIyOCwgCi0gICAgMjQxLCAxNzIsIDEsIDIxNywgMTA2LCAxNzIsIDEsIDIxNiwgMjA5LCAxNzIsIDEsIDI0OCwgMjI5LCAxNzIsIDEsIDI0OCwgCi0gICAgMzMsIDE3MiwgMSwgMjI3LCAyMTEsIDE3MiwgMSwgMTk4LCAxNzIsIDEsIDI0OCwgMTQzLCAxNzIsIDEsIDE5MSwgMTcyLCAxLCAKLSAgICAyMjQsIDIyMywgMTcyLCAxLCAyMjUsIDE1MCwgMTcyLCAxLCAyNTIsIDE5OSwgMTcyLCAxLCAyNTIsIDI2LCAxNzIsIDEsIAotICAgIDIzMCwgMTAwLCAxNzIsIDEsIDE4NiwgMTcyLCAxLCAyNTIsIDExOSwgMTcyLCAxLCAxOTIsIDE3MiwgMSwgMjA1LCAxNzIsIAotICAgIDEsIDIzMywgMTQxLCAxNzIsIDEsIDIxNCwgMjcsIDE3MiwgMSwgMjE4LCAyMjUsIDE3MiwgMSwgMjA2LCAxNzIsIDEsIDE2MiwgCi0gICAgMTcyLCAyNSwgNSwgMjU1LCA4MiwgMTcyLCAyNSwgNSwgNzQsIDE3MiwgMjUsIDUsIDIzNiwgNDAsIDE3MiwgMjUsIDUsIAotICAgIDI0NSwgMjAzLCAxNzIsIDI1LCA1LCA2OSwgMTcyLCAyNSwgNSwgMjI2LCAyMzgsIDE3MiwgMjUsIDUsIDc4LCAxNzIsIDI1LCAKLSAgICA1LCAyNTQsIDIxMCwgMTcyLCAyNSwgNSwgMjUzLCAyMDAsIDE3MiwgMjUsIDUsIDIxNCwgMjE0LCAxNzIsIDExNywgNSwgCi0gICAgMTkyLCAxNzIsIDExNywgNSwgMjA1LCAxNzIsIDExNywgNSwgMjMzLCAxNDEsIDE3MiwgMTE3LCA1LCAyMTIsIDY1LCAxNzIsIAotICAgIDEsIDQwLCAyMzUsIDI5LCAxNzIsIDEsIDQwLCAyNDMsIDIwOSwgMTcyLCAxLCA0MCwgMjI5LCA4NCwgMTcyLCAxMTcsIDUsIAotICAgIDQwLCAyMjksIDg0LCAxNzIsIDEsIDQwLCAyNTAsIDE2NiwgMTcyLCAxLCA0MCwgMjE3LCAxNTMsIDE3MiwgMSwgNDAsIDIzMCwgCi0gICAgMzAsIDE3MiwgMSwgNDAsIDIyNiwgMTA5LCAxNzIsIDEsIDQwLCAyMTEsIDExNywgMTcyLCAxLCA0MCwgMTUzLCAxNzIsIDEsIAotICAgIDQwLCAxNTYsIDE3MiwgMSwgNDAsIDIxOCwgMjI4LCAxNzIsIDExNywgNSwgNDAsIDE5NCwgMTcyLCAxMTcsIDUsIDQwLCAKLSAgICAyNDIsIDY3LCAxNzIsIDIxLCAyMTAsIDg2LCAxNzIsIDIxLCAxMTEsIDE3MiwgMjEsIDEwNSwgMTcyLCAyMSwgMTU4LCAxNzIsIAotICAgIDIxLCAxNjEsIDE3MiwgMjEsIDE5MCwgMTcyLCAyMSwgMTk1LCAxNzIsIDIxLCAxOTksIDE3MiwgMjEsIDE5NiwgMTcyLCAyMSwgCi0gICAgMjAxLCAxNzIsIDIyNCwgMTQ0LCAyMTgsIDI1MywgMTcyLCAyMjQsIDE0NCwgMjQ4LCAxODYsIDE3MiwgMjI0LCAxNDQsIDUyLCAKLSAgICAyNDgsIDE4NiwgMTcyLCAyMjQsIDE0NCwgMjE1LCAyMTIsIDI0OCwgMTg2LCA2OCwgMSwgMjM0LCAxMzIsIDI0MywgMTQyLCAKLSAgICA2OCwgMSwgMjM0LCAxMzIsIDI1MSwgNDEsIDY4LCAxLCAyMzQsIDEzMiwgMjUwLCAxNjUsIDY4LCAxLCAyMzQsIDEzMiwgCi0gICAgMjM1LCAxNDcsIDY4LCAxLCAyMzQsIDEzMiwgMjM1LCAxMjAsIDY4LCAxLCAyMzQsIDEzMiwgMjI3LCAxNjksIDY4LCAxLCAKLSAgICAyMzQsIDEzMiwgMjE1LCAxNTcsIDY4LCAxLCAyMzQsIDEzMiwgMjE1LCAxNDUsIDY4LCAxLCAyMzQsIDEzMiwgMjQ4LCAxNDMsIAotICAgIDY4LCAxLCAyMzQsIDEzMiwgMjQ4LCAxMjcsIDY4LCAxLCAyMzQsIDEzMiwgMjQ4LCAzMywgNjgsIDEsIDIzNCwgMTMyLCAKLSAgICAxOTgsIDY4LCAxLCAyMzQsIDEzMiwgMjA2LCA2OCwgMSwgMjM0LCAxMzIsIDE2MiwgNjgsIDEsIDIzNCwgMTMyLCAyNDEsIAotICAgIDE5NiwgNjgsIDEsIDIzNCwgMTMyLCAyNDQsIDIwNCwgNjgsIDU4LCAxLCAyMzQsIDEzMiwgMjIzLCAxMTIsIDY4LCAxLCAKLSAgICAyMzQsIDEzMiwgMjExLCAxNjUsIDY4LCAxLCAyMzQsIDEzMiwgMjEwLCAxMTYsIDY4LCAxLCAyMzQsIDEzMiwgMjA1LCA2OCwgCi0gICAgMjMyLCAxNTEsIDIzNCwgMTMyLCAyMjcsIDEsIDY4LCAyMzIsIDE1MSwgMjM0LCAxMzIsIDIyNCwgNDYsIDY4LCAyMzIsIAotICAgIDE1MSwgMjM0LCAxMzIsIDI0MSwgMTI4LCA2OCwgMTYsIDI1NCwgMTk5LCAyNDUsIDM4LCA2OCwgMTYsIDI1NCwgMTk5LCAKLSAgICAxMTEsIDY4LCAxNiwgMjU0LCAxOTksIDEwNSwgNjgsIDEsIDI1NCwgMTk5LCAyMDUsIDY4LCA1LCAyMjYsIDI3LCAyMzQsIAotICAgIDIxOSwgMjE2LCAzMSwgMzksIDIwOCwgMSwgMTIxLCAyMzQsIDM0LCAzOSwgMjA4LCAxLCAxMjUsIDIzNCwgMzQsIDM5LCAKLSAgICAyMDgsIDEsIDEyMSwgMjM0LCAxMTEsIDM5LCAyMDgsIDEsIDEyNSwgMjM0LCAxMTEsIDM5LCAyMDgsIDEsIDEyMSwgMjM0LCAKLSAgICAxMjAsIDM5LCAyMDgsIDEsIDEyNSwgMjM0LCAxMjAsIDM5LCAyMDgsIDEsIDEyMSwgMjQyLCAxODEsIDM5LCAyMDgsIDEsIAotICAgIDEyNSwgMjQyLCAxODEsIDM5LCAyMDgsIDEsIDEyMSwgMjI5LCA5LCAzOSwgMjA4LCAxLCAxMjUsIDIyOSwgOSwgMzksIDIwOCwgCi0gICAgMSwgMTIxLCAyNDksIDI0NiwgMzksIDIwOCwgMSwgMTI1LCAyNDksIDI0NiwgMzksIDIwOCwgMSwgMTIxLCAyNTAsIDk0LCAKLSAgICAzOSwgMjA4LCAxLCAxMjUsIDI1MCwgOTQsIDM5LCAyMDgsIDEsIDEyMSwgMjE5LCA2MCwgMzksIDIwOCwgMSwgMTI1LCAyMTksIAotICAgIDYwLCAzOSwgMjA4LCAxLCAxMjEsIDIyNywgMTM4LCAzOSwgMjA4LCAxLCAxMjUsIDIyNywgMTM4LCAzOSwgMjA4LCAxLCAKLSAgICAxMjEsIDI0NywgMTUzLCAzOSwgMjA4LCAxLCAxMjUsIDI0NywgMTUzLCAzOSwgMjA4LCAxLCAxMjEsIDExMiwgMzksIDIwOCwgCi0gICAgMSwgMTI1LCAxMTIsIDM5LCAyMDgsIDEsIDEyMSwgMjE2LCAxNTcsIDM5LCAyMDgsIDEsIDEyNSwgMjE2LCAxNTcsIDM5LCAKLSAgICAyMDgsIDEsIDEyMSwgMjI4LCA3OSwgMzksIDIwOCwgMSwgMTI1LCAyMjgsIDc5LCAzOSwgMjA4LCAxLCAxMjEsIDI1MSwgCi0gICAgMjEzLCAzOSwgMjA4LCAxLCAxMjUsIDI1MSwgMjEzLCAzOSwgMjA4LCAxLCAxMjEsIDIyNSwgMTksIDM5LCAyMDgsIDEsIAotICAgIDEyNSwgMjI1LCAxOSwgMzksIDIwOCwgMSwgMTIxLCAyMjUsIDEyNCwgMzksIDIwOCwgMSwgMTI1LCAyMjUsIDEyNCwgMzksIAotICAgIDIwOCwgMSwgMTIxLCAyNDQsIDUxLCAzOSwgMjA4LCAxLCAxMjUsIDI0NCwgNTEsIDM5LCAyMDgsIDEsIDEyMSwgMjMwLCAKLSAgICAxNjYsIDM5LCAyMDgsIDEsIDEyNSwgMjMwLCAxNjYsIDM5LCAyMDgsIDEsIDEyMSwgMjEwLCAyNDQsIDM5LCAyMDgsIDEsIAotICAgIDEyNSwgMjEwLCAyNDQsIDM5LCAyMDgsIDEsIDEyMSwgMjIyLCAyMTMsIDM5LCAyMDgsIDEsIDEyNSwgMjIyLCAyMTMsIDM5LCAKLSAgICAyMDgsIDEsIDEyMSwgMjMyLCAxNjIsIDM5LCAyMDgsIDEsIDEyNSwgMjMyLCAxNjIsIDM5LCAyMDgsIDEsIDEyMSwgMjEzLCAKLSAgICAxMzgsIDM5LCAyMDgsIDEsIDEyNSwgMjEzLCAxMzgsIDM5LCAyMDgsIDEsIDEyMSwgMjQxLCA3NSwgMzksIDIwOCwgMSwgCi0gICAgMTI1LCAyNDEsIDc1LCAzOSwgMjA4LCAxLCAxMjEsIDc4LCAzOSwgMjA4LCAxLCAxMjUsIDc4LCAzOSwgMjA4LCAyMzEsIAotICAgIDIwOSwgMjM0LCAyMzYsIDM5LCAyMDgsIDI1LCAyNTUsIDgyLCAzOSwgMjA4LCAyNSwgNzQsIDM5LCAyMDgsIDI1LCAyMTQsIAotICAgIDIxNCwgMzksIDIwOCwgMjUsIDY5LCAzOSwgMjA4LCAyNSwgNzYsIDM5LCAyMDgsIDI1LCA3OCwgMzksIDIwOCwgMjMxLCAKLSAgICAyMDksIDIzNCwgMTE0LCAzOSwgMjA4LCAyNSwgMjQwLCAxMjYsIDM5LCAyMDgsIDI1LCAyMTQsIDIxMywgMzksIDIwOCwgMjUsIAotICAgIDIxNCwgMjI5LCAzOSwgMjA4LCAyNSwgMjUzLCAxOTgsIDM5LCAyMDgsIDI1LCAyNTMsIDE3NSwgMzksIDIwOCwgMjUsIDI1NCwgCi0gICAgMTMxLCAzOSwgMjA4LCAyNSwgMjU0LCAxNDQsIDM5LCAyMDgsIDEzOCwgMjMxLCAyMDksIDI0NSwgMTg4LCAzOSwgMjA4LCAKLSAgICAxMzgsIDIzMSwgMjA5LCAyMjcsIDIxMCwgMzksIDIwOCwgMTM4LCAyMzEsIDIwOSwgMjE2LCAxNTcsIDM5LCAyMDgsIDEzOCwgCi0gICAgMjMxLCAyMDksIDIxOSwgNDQsIDM5LCAyMDgsIDE2LCAyMzQsIDE5LCAzOSwgMjA4LCAxNiwgMjI3LCAyMTAsIDM5LCAyMDgsIAotICAgIDE2LCAyMjEsIDI1NSwgMzksIDIwOCwgMTYsIDI0MSwgNzYsIDI0MSwgNzEsIDM5LCAyMDgsIDE2LCAyMzQsIDI4LCAyMzQsIAotICAgIDI3LCAxODgsIDE4NywgMSwgNzYsIDE4OCwgMTg3LCAxLCA3OCwgMTg4LCAxODcsIDEsIDI1MCwgMTY1LCAxODgsIDE4NywgMSwgCi0gICAgMjI3LCAxNjksIDE4OCwgMTg3LCAxLCAyMTUsIDE1NywgMTg4LCAxODcsIDEsIDIxNSwgMTQ1LCAxODgsIDE4NywgMSwgMjQ4LCAKLSAgICAxNDMsIDE4OCwgMTg3LCAxLCAyNDgsIDEyNywgMTg4LCAxODcsIDEsIDIyOCwgMTE1LCAxODgsIDE4NywgMSwgMjIwLCAxMDQsIAotICAgIDE4OCwgMTg3LCAxLCAyMTgsIDIyNSwgMTg4LCAxODcsIDI1LCA1LCAyMzYsIDQwLCAxODgsIDE4NywgMjUsIDUsIDIxNCwgCi0gICAgMTE4LCAxODgsIDE4NywgMjUsIDUsIDI1NSwgNDYsIDE4OCwgMTg3LCAyNSwgNSwgMjUzLCAyMDAsIDE4OCwgMTg3LCAyNSwgCi0gICAgNSwgMjU1LCAzOSwgMTg4LCAxODcsIDI1MCwgMTMzLCAxODgsIDE4NywgMjU0LCAyMTUsIDIzNCwgMTA0LCAxODgsIDE4NywgCi0gICAgMjU0LCAxMTEsIDE4OCwgMTg3LCAzLCAyMjMsIDc3LCA3OSwgMTg4LCAxODcsIDIxMSwgMjA5LCAyMjMsIDc3LCA3OSwgMTg4LCAKLSAgICAxODcsIDI1LCA1LCAyMTMsIDE0NywgMTg4LCAxODcsIDIxMywgMTUyLCAyOSwgMywgMjE1LCAxMzgsIDI5LCAzLCAyMTUsIAotICAgIDE0MSwgMjksIDMsIDIxNSwgMTQ0LCAyOSwgMywgMjE1LCAxNDIsIDI5LCAzLCAyMTUsIDE0MywgMjksIDMsIDIxNSwgMTQwLCAKLSAgICAyOSwgMywgMjQ4LCAxMjEsIDI5LCAzLCAyNDgsIDEyMywgMjksIDMsIDI0OCwgMTI2LCAyOSwgMywgMjQ4LCAxMjQsIDI5LCAKLSAgICAzLCAyNDgsIDEyNSwgMjksIDMsIDI0OCwgMTIyLCAyOSwgMywgMjQ2LCAzNiwgMjksIDMsIDI0NiwgMzksIDI5LCAzLCAyNDYsIAotICAgIDQ1LCAyOSwgMywgMjQ2LCA0MywgMjksIDMsIDI0NiwgNDQsIDI5LCAzLCAyNDYsIDM3LCAyOSwgMywgMjUwLCAyMTIsIDI5LCAKLSAgICAzLCAyNTAsIDIwNiwgMjksIDMsIDI1MCwgMjA4LCAyOSwgMywgMjUwLCAyMTEsIDI5LCAzLCAyNTAsIDIwOSwgMjksIDMsIAotICAgIDI1MCwgMjEwLCAyOSwgMywgMjUwLCAyMDcsIDI5LCAzLCAyNTIsIDExOSwgMjksIDMsIDI1MiwgOTgsIDI5LCAzLCAyNTIsIAotICAgIDExMCwgMjksIDMsIDI1MiwgMTE4LCAyOSwgMywgMjUyLCAxMTMsIDI5LCAzLCAyNTIsIDExNCwgMjksIDMsIDI1MiwgMTAyLCAKLSAgICAxODgsIDE4NywgMSwgMjM0LCAyNSwgMTg4LCAxODcsIDEsIDIyMSwgMjU1LCAxODgsIDE4NywgMSwgMjMzLCAxMTUsIDE4OCwgCi0gICAgMTg3LCAxLCAyMzAsIDE3NywgMTg4LCAxODcsIDEsIDE5MSwgMTg4LCAxODcsIDEsIDE5OCwgMTg4LCAxODcsIDEsIDI1MCwgCi0gICAgMTEwLCAxODgsIDE4NywgMSwgMjE2LCA5MSwgMTg4LCAxODcsIDEsIDIzNCwgMTA3LCAxODgsIDE4NywgMSwgMjI4LCAyNTUsIAotICAgIDE4OCwgMTg3LCAxLCAyMTYsIDE1MSwgMTg4LCAxODcsIDEsIDIxMiwgNjAsIDE4OCwgMTg3LCAxLCAyMTEsIDY5LCAxODgsIAotICAgIDE4NywgMSwgMjQwLCAyMjMsIDE4OCwgMTg3LCAxLCAyMTQsIDE5MCwgMTg4LCAxODcsIDEsIDc0LCAxODgsIDE4NywgMSwgCi0gICAgMjI1LCAxNDUsIDE4OCwgMTg3LCAxLCAyNTMsIDIxMCwgMTg4LCAxODcsIDEsIDI0MiwgMTc0LCAxODgsIDE4NywgMSwgMjM1LCAKLSAgICAxMTgsIDE4OCwgMTg3LCAxLCAyMjMsIDE2OSwgMTg4LCAxODcsIDEsIDI1MiwgMTk5LCAxODgsIDE4NywgMSwgMjM1LCAxMDYsIAotICAgIDE4OCwgMTg3LCAxLCAyNDcsIDIyNywgMTg4LCAxODcsIDEsIDI0MiwgMjI4LCAxODgsIDE4NywgMSwgMjQ4LCAxMywgMTg4LCAKLSAgICAxODcsIDEsIDI1MiwgMjQsIDE4OCwgMTg3LCAxLCAyMzQsIDI2LCAyMzIsIDEzNCwgMTg4LCAxODcsIDEsIDIzMywgMTE2LCAKLSAgICAyMzIsIDEzNCwgMTg4LCAxODcsIDEsIDIzMCwgMTc4LCAyMzIsIDEzNCwgMTg4LCAxODcsIDEsIDIyNiwgOTQsIDIzMiwgCi0gICAgMTM0LCAxODgsIDE4NywgMSwgMjI5LCAyMzQsIDIzMiwgMTM0LCAxODgsIDE4NywgMSwgMjE2LCA5MiwgMjMyLCAxMzQsIAotICAgIDE4OCwgMTg3LCAxLCAyMjksIDAsIDIzMiwgMTM0LCAxODgsIDE4NywgMSwgMjQwLCAxNjEsIDIzMiwgMTM0LCAxODgsIDE4NywgCi0gICAgMjUsIDUsIDIyNiwgMTk5LCAxODgsIDE4NywgMjUsIDUsIDIzNiwgNCwgMTg4LCAxODcsIDI1LCA1LCAyNTQsIDEzMCwgMTg4LCAKLSAgICAxODcsIDI1LCA1LCAyMTEsIDM4LCAxODgsIDE4NywgMjUsIDUsIDIxOSwgMzQsIDE4OCwgMTg3LCAyNSwgNSwgMjE0LCAxODcsIAotICAgIDE4OCwgMTg3LCAyNSwgNSwgMjUwLCAxMzEsIDE4OCwgMTg3LCAyNSwgNSwgMjI3LCAxOTUsIDE4OCwgMTg3LCAyNTAsIDEzMiwgCi0gICAgMTg4LCAxODcsIDIzMiwgOTAsIDIzNSwgMTU2LCAxODgsIDE4NywgMjU0LCA1NCwgMjM1LCAxNTYsIDE4OCwgMTg3LCAyMSwgCi0gICAgMjEwLCA4NiwgMTg4LCAxODcsIDIxLCAxMTEsIDE4OCwgMTg3LCAyMSwgMTA1LCAxODgsIDE4NywgMjEsIDE1OCwgMTg4LCAKLSAgICAxODcsIDIxLCAxNjEsIDE4OCwgMTg3LCAyMSwgMTkwLCAxODgsIDE4NywgMjEsIDE5NSwgMTg4LCAxODcsIDIxLCAxOTksIAotICAgIDE4OCwgMTg3LCAyMSwgMTk2LCAxODgsIDE4NywgMjEsIDIwMSwgMjQsIDE0MywgMjI3LCA4MSwgMjQsIDE0MywgMjI3LCA4NiwgCi0gICAgMjQsIDE0MywgMjEwLCAyNDMsIDI0LCAxNDMsIDIxMCwgMjQyLCAyNCwgMTQzLCAyMTAsIDI0MSwgMjQsIDE0MywgMjE1LCAKLSAgICAyMywgMjQsIDE0MywgMjE1LCAyNiwgMjQsIDE0MywgMjEwLCAyMTAsIDI0LCAxNDMsIDIxMCwgMjA2LCAyNCwgMTQzLCAyNDUsIAotICAgIDYyLCAyNCwgMTQzLCAyNDUsIDYwLCAyNCwgMTQzLCAyNDUsIDYxLCAyNCwgMTQzLCAyNDUsIDU4LCAyNCwgMTQzLCAyNDAsIAotICAgIDE1MSwgMjQsIDE0MywgMjQwLCAxNTAsIDI0LCAxNDMsIDI0MCwgMTQ4LCAyNCwgMTQzLCAyNDAsIDE0OSwgMjQsIDE0MywgCi0gICAgMjQwLCAxNTQsIDI0LCAxNDMsIDI0MCwgMTQ3LCAyNCwgMTQzLCAyNDAsIDE0NiwgMjQsIDE0MywgMjQwLCAxNTYsIDI0LCAKLSAgICAxNDMsIDI1NCwgNDEsIDI0LCAxNDMsIDI1NCwgNDAsIDI0LCA5MCwgMjI4LCAyMjQsIDI0LCA5MCwgMjI4LCAyMzAsIDI0LCAKLSAgICA5MCwgMjE4LCAyMDYsIDI0LCA5MCwgMjE4LCAyMDUsIDI0LCA5MCwgMjE2LCA5NywgMjQsIDkwLCAyMTYsIDk1LCAyNCwgOTAsIAotICAgIDIxNiwgOTQsIDI0LCA5MCwgMjE2LCAxMDAsIDI0LCA5MCwgMjE2LCAxMDEsIDI0LCA5MCwgMjE2LCA5MywgMjQsIDkwLCAKLSAgICAyMjMsIDgsIDI0LCA5MCwgMjIzLCAyMywgMjQsIDkwLCAyMTgsIDIxMiwgMjQsIDkwLCAyMjMsIDIwLCAyNCwgOTAsIDIyMywgCi0gICAgMTAsIDI0LCA5MCwgMjIzLCAxMiwgMjQsIDkwLCAyMjIsIDI1NSwgMjQsIDkwLCAyMjMsIDAsIDI0LCA5MCwgMjM0LCAyMjQsIAotICAgIDI0LCA5MCwgMjMwLCAyMTcsIDI0LCA5MCwgMjMwLCAyMTEsIDI0LCA5MCwgMjE4LCAyMTYsIDI0LCA5MCwgMjMwLCAyMTQsIAotICAgIDI0LCA5MCwgMjMwLCAyMjAsIDI0LCA5MCwgMjI1LCA3OSwgMjQsIDkwLCAyMjUsIDg4LCAyNCwgOTAsIDIyNSwgOTIsIDI0LCAKLSAgICA5MCwgMjE4LCAyMTQsIDI0LCA5MCwgMjI1LCA4MiwgMjQsIDkwLCAyMjUsIDk2LCAyNCwgOTAsIDIyNSwgOTcsIDI0LCA5MCwgCi0gICAgMjE5LCAxNDIsIDI0LCA5MCwgMjE5LCAxNDUsIDI0LCA5MCwgMjE4LCAyMTAsIDI0LCA5MCwgMjE4LCAyMDgsIDI0LCA5MCwgCi0gICAgMjE5LCAxNDAsIDI0LCA5MCwgMjE5LCAxNDgsIDI0LCA5MCwgMjE5LCAxNDksIDI0LCA5MCwgMjE5LCAxMzQsIDI0LCA5MCwgCi0gICAgMjE5LCAxNDcsIDI0LCA5MCwgMjI2LCAzNCwgMjQsIDkwLCAyMjYsIDM1LCAyNCwgOTAsIDIxMSwgMjQsIDI0LCA5MCwgMjExLCAKLSAgICAyNSwgMjQsIDkwLCAyNTAsIDUyLCAyNCwgOTAsIDI1MCwgNTEsIDI0LCA5MCwgMjE4LCAyMjEsIDI0LCA5MCwgMjI1LCAxMzEsIAotICAgIDI0LCA5MCwgMjI1LCAxMzAsIDEwLCAxNCwgMjM4LCAzMSwgMTAsIDE0LCAyMzgsIDMwLCAxMCwgMTQsIDIzOCwgMjksIDEwLCAKLSAgICAxNCwgMjM4LCAyOCwgMTAsIDE0LCAyMzgsIDI3LCAxMCwgMTQsIDIzOCwgMjYsIDEwLCAxNCwgMjM4LCAyNSwgMTAsIDE0LCAKLSAgICAyMzgsIDI0LCAxMCwgMTQsIDIzOCwgMjMsIDEwLCAxNCwgMjM4LCAyMiwgMTAsIDE0LCAyMzgsIDIxLCAxMCwgMTQsIDIzOCwgCi0gICAgMjAsIDEwLCAxNCwgMjM4LCAxOSwgMTAsIDE0LCAyMzgsIDE4LCAxMCwgMTQsIDIzOCwgMTcsIDEwLCAxNCwgMjM4LCAxNiwgCi0gICAgMTAsIDE0LCAyMzgsIDE1LCAxMCwgMTQsIDIzOCwgMTQsIDEwLCAxNCwgMjM4LCAxMywgMTAsIDE0LCAyMzgsIDEyLCAxMCwgCi0gICAgMTQsIDIzOCwgMTEsIDEwLCAxNCwgMjM4LCAxMCwgMTAsIDE0LCAyMzgsIDksIDEwLCAxNCwgMjM4LCA4LCAxMCwgMTQsIAotICAgIDIzOCwgNywgMTAsIDE0LCAyMzgsIDYsIDEwLCAxNCwgMjM4LCA1LCAxMCwgMTQsIDIzOCwgNCwgMTAsIDE0LCAyMzgsIDMsIAotICAgIDEwLCAxNCwgMjM4LCAyLCAxMCwgMTQsIDIzOCwgMSwgMTAsIDE0LCAyMzgsIDAsIDEwLCAxNCwgMjM3LCAyNTUsIDEwLCAxNCwgCi0gICAgMjM3LCAyNTQsIDEwLCAxNCwgMjM3LCAyNTMsIDEwLCAxNCwgMjM3LCAyNTIsIDEwLCAxNCwgMjM3LCAyNTEsIDEwLCAxNCwgCi0gICAgMjM3LCAyNTAsIDEwLCAxNCwgMjM3LCAyNDksIDEwLCAxNCwgMjM3LCAyNDgsIDEwLCAxNCwgMjM3LCAyNDcsIDEwLCAxNCwgCi0gICAgMjM3LCAyNDYsIDEwLCAxNCwgMjM3LCAyNDUsIDEwLCAxNCwgMjM3LCAyNDQsIDEwLCAxNCwgMjM3LCAyNDMsIDEwLCAxNCwgCi0gICAgMjM3LCAyNDIsIDEwLCAxNCwgMjM3LCAyNDEsIDEwLCAxNCwgMjM3LCAyNDAsIDEwLCAxNCwgMjM3LCAyMzksIDEwLCAxNCwgCi0gICAgMjM3LCAyMzgsIDEwLCAxNCwgMjM3LCAyMzcsIDEwLCAxNCwgMjM3LCAyMzYsIDEwLCAxNCwgMjM3LCAyMzUsIDEwLCAxNCwgCi0gICAgMjM3LCAyMzQsIDEwLCAxNCwgMjM3LCAyMzMsIDEwLCAxNCwgMjM3LCAyMzIsIDEwLCAxNCwgMjM3LCAyMzEsIDEwLCAxNCwgCi0gICAgMjM3LCAyMzAsIDEwLCAxNCwgMjM3LCAyMjksIDEwLCAxNCwgMjM3LCAyMjgsIDEwLCAxNCwgMjM3LCAyMjcsIDEwLCAxNCwgCi0gICAgMjM3LCAyMjYsIDEwLCAxNCwgMjM3LCAyMjUsIDEwLCAxNCwgMjM3LCAyMjQsIDEwLCAxNCwgMjM3LCAyMjMsIDEwLCAxNCwgCi0gICAgMjM3LCAyMjIsIDEwLCAxNCwgMjM3LCAyMjEsIDEwLCAxNCwgMjM3LCAyMjAsIDEwLCAxNCwgMjM3LCAyMTksIDEwLCAxNCwgCi0gICAgMjM3LCAyMTgsIDEwLCAxNCwgMjM3LCAyMTcsIDEwLCAxNCwgMjM3LCAyMTYsIDEwLCAxNCwgMjM3LCAyMTUsIDEwLCAxNCwgCi0gICAgMjM3LCAyMTQsIDEwLCAxNCwgMjM3LCAyMTMsIDEwLCAxNCwgMjM3LCAyMTIsIDEwLCAxNCwgMjM3LCAyMTEsIDEwLCAxNCwgCi0gICAgMjM3LCAyMTAsIDEwLCAxNCwgMjM3LCAyMDksIDEwLCAxNCwgMjM3LCAyMDgsIDEwLCAxNCwgMjM3LCAyMDcsIDEwLCAxNCwgCi0gICAgMjM3LCAyMDYsIDEwLCAxNCwgMjM3LCAyMDUsIDEwLCAxNCwgMjM3LCAyMDQsIDEwLCAxNCwgMjM3LCAyMDMsIDEwLCAxNCwgCi0gICAgMjM3LCAyMDIsIDEwLCAxNCwgMjM3LCAyMDEsIDEwLCAxNCwgMjM3LCAyMDAsIDEwLCAxNCwgMjM3LCAxOTksIDEwLCAxNCwgCi0gICAgMjM3LCAxOTgsIDEwLCAxNCwgMjM3LCAxOTcsIDEwLCAxNCwgMjM3LCAxOTYsIDEwLCAxNCwgMjM3LCAxOTUsIDEwLCAxNCwgCi0gICAgMjM3LCAxOTQsIDEwLCAxNCwgMjM3LCAxOTMsIDEwLCAxNCwgMjM3LCAxOTIsIDEwLCAxNCwgMjM3LCAxOTEsIDEwLCAxNCwgCi0gICAgMjM3LCAxOTAsIDEwLCAxNCwgMjM3LCAxODksIDEwLCAxNCwgMjM3LCAxODgsIDEwLCAxNCwgMjM3LCAxODcsIDEwLCAxNCwgCi0gICAgMjM3LCAxODYsIDEwLCAxNCwgMjM3LCAxODUsIDEwLCAxNCwgMjM3LCAxODQsIDEwLCAxNCwgMjM3LCAxODMsIDEwLCAxNCwgCi0gICAgMjM3LCAxODIsIDEwLCAxNCwgMjM3LCAxODEsIDEwLCAxNCwgMjM3LCAxODAsIDEwLCAxNCwgMjM3LCAxNzksIDEwLCAxNCwgCi0gICAgMjM3LCAxNzgsIDEwLCAxNCwgMjM3LCAxNzcsIDEwLCAxNCwgMjM3LCAxNzYsIDEwLCAxNCwgMjM3LCAxNzUsIDEwLCAxNCwgCi0gICAgMjM3LCAxNzQsIDEwLCAxNCwgMjM3LCAxNzMsIDEwLCAxNCwgMjM3LCAxNzIsIDEwLCAxNCwgMjM3LCAxNzEsIDEwLCAxNCwgCi0gICAgMjM3LCAxNzAsIDEwLCAxNCwgMjM3LCAxNjksIDEwLCAxNCwgMjM3LCAxNjgsIDEwLCAxNCwgMjM3LCAxNjcsIDEwLCAxNCwgCi0gICAgMjM3LCAxNjYsIDEwLCAxNCwgMjM3LCAxNjUsIDEwLCAxNCwgMjM3LCAxNjQsIDEwLCAxNCwgMjM3LCAxNjMsIDEwLCAxNCwgCi0gICAgMjM3LCAxNjIsIDEwLCAxNCwgMjM3LCAxNjEsIDEwLCAxNCwgMjM3LCAxNjAsIDEwLCAxNCwgMjM3LCAxNTksIDEwLCAxNCwgCi0gICAgMjM3LCAxNTgsIDEwLCAxNCwgMjM3LCAxNTcsIDEwLCAxNCwgMjM3LCAxNTYsIDEwLCAxNCwgMjM3LCAxNTUsIDEwLCAxNCwgCi0gICAgMjM3LCAxNTQsIDEwLCAxNCwgMjM3LCAxNTMsIDEwLCAxNCwgMjM3LCAxNTIsIDEwLCAxNCwgMjM3LCAxNTEsIDEwLCAxNCwgCi0gICAgMjM3LCAxNTAsIDEwLCAxNCwgMjM3LCAxNDksIDEwLCAxNCwgMjM3LCAxNDgsIDEwLCAxNCwgMjM3LCAxNDcsIDEwLCAxNCwgCi0gICAgMjM3LCAxNDYsIDEwLCAxNCwgMjM3LCAxNDUsIDEwLCAxNCwgMjM3LCAxNDQsIDEwLCAxNCwgMjM3LCAxNDMsIDEwLCAxNCwgCi0gICAgMjM3LCAxNDIsIDEwLCAxNCwgMjM3LCAxNDEsIDEwLCAxNCwgMjM3LCAxNDAsIDEwLCAxNCwgMjM3LCAxMzksIDEwLCAxNCwgCi0gICAgMjM3LCAxMzgsIDEwLCAxNCwgMjM3LCAxMzcsIDEwLCAxNCwgMjM3LCAxMzYsIDEwLCAxNCwgMjM3LCAxMzUsIDEwLCAxNCwgCi0gICAgMjM3LCAxMzQsIDEwLCAxNCwgMjM3LCAxMzMsIDEwLCAxNCwgMjM3LCAxMzIsIDEwLCAxNCwgMjM3LCAxMzEsIDEwLCAxNCwgCi0gICAgMjM3LCAxMzAsIDEwLCAxNCwgMjM3LCAxMjksIDEwLCAxNCwgMjM3LCAxMjgsIDEwLCAxNCwgMjM3LCAxMjcsIDEwLCAxNCwgCi0gICAgMjM3LCAxMjYsIDEwLCAxNCwgMjM3LCAxMjUsIDEwLCAxNCwgMjM3LCAxMjQsIDEwLCAxNCwgMjM3LCAxMjMsIDEwLCAxNCwgCi0gICAgMjM3LCAxMjIsIDEwLCAxNCwgMjM3LCAxMjEsIDEwLCAxNCwgMjM3LCAxMjAsIDEwLCAxNCwgMjM3LCAxMTksIDEwLCAxNCwgCi0gICAgMjM3LCAxMTgsIDEwLCAxNCwgMjM3LCAxMTcsIDEwLCAxNCwgMjM3LCAxMTYsIDEwLCAxNCwgMjM3LCAxMTUsIDEwLCAxNCwgCi0gICAgMjM3LCAxMTQsIDEwLCAxNCwgMjM3LCAxMTMsIDEwLCAxNCwgMjM3LCAxMTIsIDEwLCAxNCwgMjM3LCAxMTEsIDEwLCAxNCwgCi0gICAgMjM3LCAxMTAsIDEwLCAxNCwgMjM3LCAxMDksIDEwLCAxNCwgMjM3LCAxMDgsIDEwLCAxNCwgMjM3LCAxMDcsIDEwLCAxNCwgCi0gICAgMjM3LCAxMDYsIDEwLCAxNCwgMjM3LCAxMDUsIDEwLCAxNCwgMjM3LCAxMDQsIDEwLCAxNCwgMjM3LCAxMDMsIDEwLCAxNCwgCi0gICAgMjM3LCAxMDIsIDEwLCAxNCwgMjM3LCAxMDEsIDEwLCAxNCwgMjM3LCAxMDAsIDEwLCAxNCwgMjM3LCA5OSwgMTAsIDE0LCAKLSAgICAyMzcsIDk4LCAxMCwgMTQsIDIzNywgOTcsIDEwLCAxNCwgMjM3LCA5NiwgMTAsIDE0LCAyMzcsIDk1LCAxMCwgMTQsIDIzNywgCi0gICAgOTQsIDEwLCAxNCwgMjM3LCA5MywgMTAsIDE0LCAyMzcsIDkyLCAxMCwgMTQsIDIzNywgOTEsIDEwLCAxNCwgMjM3LCA5MCwgCi0gICAgMTAsIDE0LCAyMzcsIDg5LCAxMCwgMTQsIDIzNywgODgsIDEwLCAxNCwgMjM3LCA4NywgMTAsIDE0LCAyMzcsIDg2LCAxMCwgCi0gICAgMTQsIDIzNywgODUsIDEwLCAxNCwgMjM3LCA4NCwgMTAsIDE0LCAyMzcsIDgzLCAxMCwgMTQsIDIzNywgODIsIDEwLCAxNCwgCi0gICAgMjM3LCA4MSwgMTAsIDE0LCAyMzcsIDgwLCAxMCwgMTQsIDIzNywgNzksIDEwLCAxNCwgMjM3LCA3OCwgMTAsIDE0LCAyMzcsIAotICAgIDc3LCAxMCwgMTQsIDIzNywgNzYsIDEwLCAxNCwgMjM3LCA3NSwgMTAsIDE0LCAyMzcsIDc0LCAxMCwgMTQsIDIzNywgNzMsIAotICAgIDEwLCAxNCwgMjM3LCA3MiwgMTAsIDE0LCAyMzcsIDcxLCAxMCwgMTQsIDIzNywgNzAsIDEwLCAxNCwgMjM3LCA2OSwgMTAsIAotICAgIDE0LCAyMzcsIDY4LCAxMCwgMTQsIDIzNywgNjcsIDEwLCAxNCwgMjM3LCA2NiwgMTAsIDE0LCAyMzcsIDY1LCAxMCwgMTQsIAotICAgIDIzNywgNjQsIDEwLCAxNCwgMjM3LCA2MywgMTAsIDE0LCAyMzcsIDYyLCAxMCwgMTQsIDIzNywgNjEsIDEwLCAxNCwgMjM3LCAKLSAgICA2MCwgMTAsIDE0LCAyMzcsIDU5LCAxMCwgMTQsIDIzNywgNTgsIDEwLCAxNCwgMjM3LCA1NywgMTAsIDE0LCAyMzcsIDU2LCAKLSAgICAxMCwgMTQsIDIzNywgNTUsIDEwLCAxNCwgMjM3LCA1NCwgMTAsIDE0LCAyMzcsIDUzLCAxMCwgMTQsIDIzNywgNTIsIDEwLCAKLSAgICAxNCwgMjM3LCA1MSwgMTAsIDE0LCAyMzcsIDUwLCAxMCwgMTQsIDIzNywgNDksIDEwLCAxNCwgMjM3LCA0OCwgMTAsIDE0LCAKLSAgICAyMzcsIDQ3LCAxMCwgMTQsIDIzNywgNDYsIDEwLCAxNCwgMjM3LCA0NSwgMTAsIDE0LCAyMzcsIDQ0LCAxMCwgMTQsIDIzNywgCi0gICAgNDMsIDEwLCAxNCwgMjM3LCA0MiwgMTAsIDE0LCAyMzcsIDQxLCAxMCwgMTQsIDIzNywgNDAsIDEwLCAxNCwgMjM3LCAzOSwgCi0gICAgMTAsIDE0LCAyMzcsIDM4LCAxMCwgMTQsIDIzNywgMzcsIDEwLCAxNCwgMjM3LCAzNiwgMTAsIDE0LCAyMzcsIDM1LCAxMCwgCi0gICAgMTQsIDIzNywgMzQsIDEwLCAxNCwgMjM3LCAzMywgMTAsIDE0LCAyMzcsIDMyLCAxMCwgMTQsIDIzNywgMzEsIDEwLCAxNCwgCi0gICAgMjM3LCAzMCwgMTAsIDE0LCAyMzcsIDI5LCAxMCwgMTQsIDIzNywgMjgsIDEwLCAxNCwgMjM3LCAyNywgMTAsIDE0LCAyMzcsIAotICAgIDI2LCAxMCwgMTQsIDIzNywgMjUsIDEwLCAxNCwgMjM3LCAyNCwgMTAsIDE0LCAyMzcsIDIzLCAxMCwgMTQsIDIzNywgMjIsIAotICAgIDEwLCAxNCwgMjM3LCAyMSwgMTAsIDE0LCAyMzcsIDIwLCAxMCwgMTQsIDIzNywgMTksIDEwLCAxNCwgMjM3LCAxOCwgMTAsIAotICAgIDE0LCAyMzcsIDE3LCAxMCwgMTQsIDIzNywgMTYsIDEwLCAxNCwgMjM3LCAxNSwgMTAsIDE0LCAyMzcsIDE0LCAxMCwgMTQsIAotICAgIDIzNywgMTMsIDEwLCAxNCwgMjM3LCAxMiwgMTAsIDE0LCAyMzcsIDExLCAxMCwgMTQsIDIzNywgMTAsIDEwLCAxNCwgMjM3LCAKLSAgICA5LCAxMCwgMTQsIDIzNywgOCwgMTAsIDE0LCAyMzcsIDcsIDEwLCAxNCwgMjM3LCA2LCAxMCwgMTQsIDIzNywgNSwgMTAsIAotICAgIDE0LCAyMzcsIDQsIDEwLCAxNCwgMjM3LCAzLCAxMCwgMTQsIDIzNywgMiwgMTAsIDE0LCAyMzcsIDEsIDEwLCAxNCwgMjM3LCAKLSAgICAwLCAxMCwgMTQsIDIzNiwgMjU1LCAxMCwgMTQsIDIzNiwgMjU0LCAxMCwgMTQsIDIzNiwgMjUzLCAxMCwgMTQsIDIzNiwgCi0gICAgMjUyLCAxMCwgMTQsIDIzNiwgMjUxLCAxMCwgMTQsIDIzNiwgMjUwLCAxMCwgMTQsIDIzNiwgMjQ5LCAxMCwgMTQsIDIzNiwgCi0gICAgMjQ4LCAxMCwgMTQsIDIzNiwgMjQ3LCAxMCwgMTQsIDIzNiwgMjQ2LCAxMCwgMTQsIDIzNiwgMjQ1LCAxMCwgMTQsIDIzNiwgCi0gICAgMjQ0LCAxMCwgMTQsIDIzNiwgMjQzLCAxMCwgMTQsIDIzNiwgMjQyLCAxMCwgMTQsIDIzNiwgMjQxLCAxMCwgMTQsIDIzNiwgCi0gICAgMjQwLCAxMCwgMTQsIDIzNiwgMjM5LCAxMCwgMTQsIDIzNiwgMjM4LCAxMCwgMTQsIDIzNiwgMjM3LCAxMCwgMTQsIDIzNiwgCi0gICAgMjM2LCAxMCwgMTQsIDIzNiwgMjM1LCAxMCwgMTQsIDIzNiwgMjM0LCAxMCwgMTQsIDIzNiwgMjMzLCAxMCwgMTQsIDIzNiwgCi0gICAgMjMyLCAxMCwgMTQsIDIzNiwgMjMxLCAxMCwgMTQsIDIzNiwgMjMwLCAxMCwgMTQsIDIzNiwgMjI5LCAxMCwgMTQsIDIzNiwgCi0gICAgMjI4LCAxMCwgMTQsIDIzNiwgMjI3LCAxMCwgMTQsIDIzNiwgMjI2LCAxMCwgMTQsIDIzNiwgMjI1LCAxMCwgMTQsIDIzNiwgCi0gICAgMjI0LCAxMCwgMTQsIDIzNiwgMjIzLCAxMCwgMTQsIDIzNiwgMjIyLCAxMCwgMTQsIDIzNiwgMjIxLCAxMCwgMTQsIDIzNiwgCi0gICAgMjIwLCAxMCwgMTQsIDIzNiwgMjE5LCAxMCwgMTQsIDIzNiwgMjE4LCAxMCwgMTQsIDIzNiwgMjE3LCAxMCwgMTQsIDIzNiwgCi0gICAgMjE2LCAxMCwgMTQsIDIzNiwgMjE1LCAxMCwgMTQsIDIzNiwgMjE0LCAxMCwgMTQsIDIzNiwgMjEzLCAxMCwgMTQsIDIzNiwgCi0gICAgMjEyLCAxMCwgMTQsIDIzNiwgMjExLCAxMCwgMTQsIDIzNiwgMjEwLCAxMCwgMTQsIDIzNiwgMjA5LCAxMCwgMTQsIDIzNiwgCi0gICAgMjA4LCAxMCwgMTQsIDIzNiwgMjA3LCAxMCwgMTQsIDIzNiwgMjA2LCAxMCwgMTQsIDIzNiwgMjA1LCAxMCwgMTQsIDIzNiwgCi0gICAgMjA0LCAxMCwgMTQsIDIzNiwgMjAzLCAxMCwgMTQsIDIzNiwgMjAyLCAxMCwgMTQsIDIzNiwgMjAxLCAxMCwgMTQsIDIzNiwgCi0gICAgMjAwLCAxMCwgMTQsIDIzNiwgMTk5LCAxMCwgMTQsIDIzNiwgMTk4LCAxMCwgMTQsIDIzNiwgMTk3LCAxMCwgMTQsIDIzNiwgCi0gICAgMTk2LCAxMCwgMTQsIDIzNiwgMTk1LCAxMCwgMTQsIDIzNiwgMTk0LCAxMCwgMTQsIDIzNiwgMTkzLCAxMCwgMTQsIDIzNiwgCi0gICAgMTkyLCAxMCwgMTQsIDIzNiwgMTkxLCAxMCwgMTQsIDIzNiwgMTkwLCAxMCwgMTQsIDIzNiwgMTg5LCAxMCwgMTQsIDIzNiwgCi0gICAgMTg4LCAxMCwgMTQsIDIzNiwgMTg3LCAxMCwgMTQsIDIzNiwgMTg2LCAxMCwgMTQsIDIzNiwgMTg1LCAxMCwgMTQsIDIzNiwgCi0gICAgMTg0LCAxMCwgMTQsIDIzNiwgMTgzLCAxMCwgMTQsIDIzNiwgMTgyLCAxMCwgMTQsIDIzNiwgMTgxLCAxMCwgMTQsIDIzNiwgCi0gICAgMTgwLCAxMCwgMTQsIDIzNiwgMTc5LCAxMCwgMTQsIDIzNiwgMTc4LCAxMCwgMTQsIDIzNiwgMTc3LCAxMCwgMTQsIDIzNiwgCi0gICAgMTc2LCAxMCwgMTQsIDIzNiwgMTc1LCAxMCwgMTQsIDIzNiwgMTc0LCAxMCwgMTQsIDIzNiwgMTczLCAxMCwgMTQsIDIzNiwgCi0gICAgMTcyLCAxMCwgMTQsIDIzNiwgMTcxLCAxMCwgMTQsIDIzNiwgMTcwLCAxMCwgMTQsIDIzNiwgMTY5LCAxMCwgMTQsIDIzNiwgCi0gICAgMTY4LCAxMCwgMTQsIDIzNiwgMTY3LCAxMCwgMTQsIDIzNiwgMTY2LCAxMCwgMTQsIDIzNiwgMTY1LCAxMCwgMTQsIDIzNiwgCi0gICAgMTY0LCAxMCwgMTQsIDIzNiwgMTYzLCAxMCwgMTQsIDIzNiwgMTYyLCAxMCwgMTQsIDIzNiwgMTYxLCAxMCwgMTQsIDIzNiwgCi0gICAgMTYwLCAxMCwgMTQsIDIzNiwgMTU5LCAxMCwgMTQsIDIzNiwgMTU4LCAxMCwgMTQsIDIzNiwgMTU3LCAxMCwgMTQsIDIzNiwgCi0gICAgMTU2LCAxMCwgMTQsIDIzNiwgMTU1LCAxMCwgMTQsIDIzNiwgMTU0LCAxMCwgMTQsIDIzNiwgMTUzLCAxMCwgMTQsIDIzNiwgCi0gICAgMTUyLCAxMCwgMTQsIDIzNiwgMTUxLCAxMCwgMTQsIDIzNiwgMTUwLCAxMCwgMTQsIDIzNiwgMTQ5LCAxMCwgMTQsIDIzNiwgCi0gICAgMTQ4LCAxMCwgMTQsIDIzNiwgMTQ3LCAxMCwgMTQsIDIzNiwgMTQ2LCAxMCwgMTQsIDIzNiwgMTQ1LCAxMCwgMTQsIDIzNiwgCi0gICAgMTQ0LCAxMCwgMTQsIDIzNiwgMTQzLCAxMCwgMTQsIDIzNiwgMTQyLCAxMCwgMTQsIDIzNiwgMTQxLCAxMCwgMTQsIDIzNiwgCi0gICAgMTQwLCAxMCwgMTQsIDIzNiwgMTM5LCAxMCwgMTQsIDIzNiwgMTM4LCAxMCwgMTQsIDIzNiwgMTM3LCAxMCwgMTQsIDIzNiwgCi0gICAgMTM2LCAxMCwgMTQsIDIzNiwgMTM1LCAxMCwgMTQsIDIzNiwgMTM0LCAxMCwgMTQsIDIzNiwgMTMzLCAxMCwgMTQsIDIzNiwgCi0gICAgMTMyLCAxMCwgMTQsIDIzNiwgMTMxLCAxMCwgMTQsIDIzNiwgMTMwLCAxMCwgMTQsIDIzNiwgMTI5LCAxMCwgMTQsIDIzNiwgCi0gICAgMTI4LCAxMCwgMTQsIDIzNiwgMTI3LCAxMCwgMTQsIDIzNiwgMTI2LCAxMCwgMTQsIDIzNiwgMTI1LCAxMCwgMTQsIDIzNiwgCi0gICAgMTI0LCAxMCwgMTQsIDIzNiwgMTIzLCAxMCwgMTQsIDIzNiwgMTIyLCAxMCwgMTQsIDIzNiwgMTIxLCAxMCwgMTQsIDIzNiwgCi0gICAgMTIwLCAxMCwgMTQsIDIzNiwgMTE5LCAxMCwgMTQsIDIzNiwgMTE4LCAxMCwgMTQsIDIzNiwgMTE3LCAxMCwgMTQsIDIzNiwgCi0gICAgMTE2LCAxMCwgMTQsIDIzNiwgMTE1LCAxMCwgMTQsIDIzNiwgMTE0LCAxMCwgMTQsIDIzNiwgMTEzLCAxMCwgMTQsIDIzNiwgCi0gICAgMTEyLCAxMCwgMTQsIDIzNiwgMTExLCAxMCwgMTQsIDIzNiwgMTEwLCAxMCwgMTQsIDIzNiwgMTA5LCAxMCwgMTQsIDIzNiwgCi0gICAgMTA4LCAxMCwgMTQsIDIzNiwgMTA3LCAxMCwgMTQsIDIzNiwgMTA2LCAxMCwgMTQsIDIzNiwgMTA1LCAxMCwgMTQsIDIzNiwgCi0gICAgMTA0LCAxMCwgMTQsIDIzNiwgMTAzLCAxMCwgMTQsIDIzNiwgMTAyLCAxMCwgMTQsIDIzNiwgMTAxLCAxMCwgMTQsIDIzNiwgCi0gICAgMTAwLCAxMCwgMTQsIDIzNiwgOTksIDEwLCAxNCwgMjM2LCA5OCwgMTAsIDE0LCAyMzYsIDk3LCAxMCwgMTQsIDIzNiwgOTYsIAotICAgIDEwLCAxNCwgMjM2LCA5NSwgMTAsIDE0LCAyMzYsIDk0LCAxMCwgMTQsIDIzNiwgOTMsIDEwLCAxNCwgMjM2LCA5MiwgMTAsIAotICAgIDE0LCAyMzYsIDkxLCAxMCwgMTQsIDIzNiwgOTAsIDEwLCAxNCwgMjM2LCA4OSwgMTAsIDE0LCAyMzYsIDg4LCAxMCwgMTQsIAotICAgIDIzNiwgODcsIDEwLCAxNCwgMjM2LCA4NiwgMTAsIDE0LCAyMzYsIDg1LCAxMCwgMTQsIDIzNiwgODQsIDEwLCAxNCwgMjM2LCAKLSAgICA4MywgMTAsIDE0LCAyMzYsIDgyLCAxMCwgMTQsIDIzNiwgODEsIDEwLCAxNCwgMjM2LCA4MCwgMTAsIDE0LCAyMzYsIDc5LCAKLSAgICAxMCwgMTQsIDIzNiwgNzgsIDEwLCAxNCwgMjM2LCA3NywgMTAsIDE0LCAyMzYsIDc2LCAxMCwgMTQsIDIzNiwgNzUsIDEwLCAKLSAgICAxNCwgMjM2LCA3NCwgMTAsIDE0LCAyMzYsIDczLCAxMCwgMTQsIDIzNiwgNzIsIDcsIDQsIDI3LCAyNDQsIDEzMywgNywgNCwgCi0gICAgMjcsIDI0NCwgMTI5LCA3LCA0LCAyNywgMjQ0LCA4NCwgNywgNCwgMjcsIDI0NCwgMTMyLCA3LCA0LCAyNywgMjQ0LCAxMzEsIAotICAgIDcsIDQsIDI3LCAyMDAsIDIyMiwgOTQsIDIxNywgMTUzLCA3LCA0LCAyNywgMjE4LCAxNzAsIDE1MCwgNCwgMjcsIDIzMSwgCi0gICAgNjQsIDIyOCwgNDQsIDE1MCwgNCwgMjcsIDIzMSwgNjQsIDI0NSwgMjIxLCAxNTAsIDQsIDI3LCAyMzEsIDY0LCAyMzUsIAotICAgIDIzNCwgMTUwLCA0LCAyNywgMjEzLCAxODAsIDIyOCwgNDQsIDE1MCwgNCwgMjcsIDIzMSwgNjQsIDIxMSwgMTYwLCA5NCwgMSwgCi0gICAgMjEwLCAyMzQsIDIsIDI0MSwgMTY1LCA5NCwgMjI1LCAxNCwgMjM1LCA1NiwgMjE0LCAxMSwgOTQsIDI3LCAyMTEsIDYsIAotICAgIDIxMCwgMjM0LCAyMTAsIDIzNCwgMjI1LCAyNDMsIDk0LCAxLCAyNTQsIDE0NywgMjUzLCAxNzAsIDk0LCAxLCAyMTEsIDI0NywgCi0gICAgMjU0LCAxNzksIDk0LCAxLCAyMTEsIDI0NywgMjQ4LCAxOTcsIDk0LCAxLCAyMTEsIDI0NywgMjQxLCAyNDUsIDk0LCAxLCAKLSAgICAyMTEsIDI0NywgMjM1LCAwLCA5NCwgMSwgMjExLCAyNDcsIDIzMywgMTAwLCA5NCwgMSwgMjExLCAyNDcsIDQwLCAyMzEsIAotICAgIDcwLCA5NCwgMSwgMjExLCAyNDcsIDIyMywgNzAsIDk0LCAxLCAyMTEsIDI0NywgMjE3LCAzOSwgOTQsIDEsIDI1NCwgMTQ3LCAKLSAgICA5NiwgNTAsIDk0LCAxLCAyMjAsIDIzLCAyLCAyMjAsIDIzLCAyNDcsIDEyOCwgOTQsIDEsIDIyMCwgMjMsIDIsIDIxOSwgCi0gICAgMTYxLCAyNDcsIDEyOCwgOTQsIDEsIDIyMCwgMjMsIDIsIDI0OCwgMjE2LCAyMiwgMjIwLCAyMywgMjQ3LCAxMjgsIDk0LCAxLCAKLSAgICAyMjAsIDIzLCAyLCAyNDgsIDIxNiwgMjIsIDIxOSwgMTYxLCAyNDcsIDEyOCwgOTQsIDEsIDEwOSwgMiwgMjI1LCAyNDMsIAotICAgIDk0LCAxLCAxMDksIDIsIDIyNCwgNzksIDk0LCAxLCAxMDksIDIsIDIzMSwgMTc2LCA5NCwgMSwgMjUyLCAzNywgMiwgMjQ4LCAKLSAgICAyMTUsIDk0LCAxLCAyNDIsIDIwOSwgMiwgMjQ4LCAyMTUsIDk0LCAxLCAyNDgsIDE5OCwgMiwgMjQ4LCAyMTUsIDk0LCAxLCAKLSAgICAyNDEsIDI0NiwgMiwgMjMxLCAxNzYsIDk0LCAxLCAyMTQsIDQsIDIsIDI0OCwgMjE1LCA5NCwgMSwgMjEwLCA5OCwgMiwgCi0gICAgMjQ4LCAyMTUsIDk0LCAxLCAyMTYsIDIzMiwgMiwgMjQ4LCAyMTUsIDk0LCAxLCAyMTAsIDIzNCwgMiwgMjQ4LCAyMTUsIDk0LCAKLSAgICAxLCA0MCwgMjM1LCAxLCAyLCAyNDgsIDIxNSwgOTQsIDEsIDIzNSwgMSwgMiwgMjQ4LCAyMTUsIDk0LCAxLCAyMzMsIDEwMSwgCi0gICAgMiwgMjQ4LCAyMTUsIDk0LCAxLCAyMzEsIDcxLCAyLCAyNDgsIDIxNSwgOTQsIDEsIDIyNywgMTk5LCAyLCAyNDgsIDIxNSwgCi0gICAgOTQsIDEsIDIyMSwgMjUyLCAyLCAyNDgsIDIxNSwgOTQsIDEsIDQwLCAyMjUsIDIyNSwgMiwgMjQ4LCAyMTUsIDk0LCAxLCAKLSAgICAyMjUsIDIyNSwgMiwgMjQ4LCAyMTUsIDk0LCAxLCAyMTUsIDE4MSwgMiwgMjQ4LCAyMTUsIDk0LCAxLCAyMjQsIDQzLCAyLCAKLSAgICAyNDgsIDIxNSwgOTQsIDEsIDIyMywgNzEsIDIsIDI0OCwgMjE1LCA5NCwgMSwgMjIwLCAyMywgMiwgMjQ4LCAyMTUsIDk0LCAKLSAgICAxLCAyMTcsIDQwLCAyLCAyNDgsIDIxNSwgOTQsIDEsIDIxNCwgNCwgMiwgMjQxLCA2OCwgOTQsIDEsIDI1MiwgMzcsIDIsIAotICAgIDIyMywgMTcyLCA5NCwgMSwgMjM1LCAxLCAyLCAyMjMsIDE3MiwgOTQsIDEsIDIyNSwgMjI1LCAyLCAyMjMsIDE3MiwgOTQsIAotICAgIDI3LCAxMDksIDIzMywgMTAwLCA5LCAxLCAxMDksIDIxMiwgNDcsIDUzLCAxNywgOSwgMSwgMTA5LCAyMTIsIDQ3LCA0MCwgCi0gICAgMTcsIDksIDEsIDI1MiwgNzMsIDUzLCAxNywgOSwgMSwgMjUyLCA3MywgNDAsIDE3LCA5LCAxLCAyNTIsIDczLCA2NSwgMTcsIAotICAgIDksIDEsIDI1MiwgNzMsIDE0NywgMTcsIDksIDEsIDIyNSwgMjA5LCA1MywgMTcsIDksIDEsIDIyNSwgMjA5LCA0MCwgMTcsIAotICAgIDksIDEsIDIyNSwgMjA5LCA2NSwgMTcsIDksIDEsIDIyNSwgMjA5LCAxNDcsIDE3LCA5LCAxLCAyNTIsIDYxLCA1MywgMTcsIAotICAgIDksIDEsIDI1MiwgNjEsIDQwLCAxNywgOSwgMSwgMjUyLCA2MSwgNjUsIDE3LCA5LCAxLCAyNTIsIDYxLCAxNDcsIDE3LCA5LCAKLSAgICAxLCAyMTUsIDE0OCwgNTMsIDE3LCA5LCAxLCAyMTUsIDE0OCwgNDAsIDE3LCA5LCAxLCAyMTUsIDE0OCwgNjUsIDE3LCA5LCAKLSAgICAxLCAyMTUsIDE0OCwgMTQ3LCAxNywgOSwgMSwgMjE3LCA3LCA1MywgMTcsIDksIDEsIDIxNywgNywgNDAsIDE3LCA5LCAxLCAKLSAgICAyMTcsIDcsIDY1LCAxNywgOSwgMSwgMjE3LCA3LCAxNDcsIDE3LCA5LCAxLCAyMTUsIDE1MCwgNTMsIDE3LCA5LCAxLCAyMTUsIAotICAgIDE1MCwgNDAsIDE3LCA5LCAxLCAyMTUsIDE1MCwgNjUsIDE3LCA5LCAxLCAyMTUsIDE1MCwgMTQ3LCAxNywgOSwgMSwgMjEzLCAKLSAgICAyNDksIDUzLCAxNywgOSwgMSwgMjEzLCAyNDksIDQwLCAxNywgOSwgMSwgMjEzLCAyNDksIDY1LCAxNywgOSwgMSwgMjEzLCAKLSAgICAyNDksIDE0NywgMTcsIDksIDEsIDIyNSwgMjA3LCA1MywgMTcsIDksIDEsIDIyNSwgMjA3LCA0MCwgMTcsIDksIDEsIDIyNSwgCi0gICAgMjA3LCA2NSwgMTcsIDksIDEsIDIyNSwgMjA3LCAxNDcsIDE3LCA5LCAxLCAyNDYsIDUyLCA1MywgMTcsIDksIDEsIDI0NiwgCi0gICAgNTIsIDQwLCAxNywgOSwgMSwgMjQ2LCA1MiwgNjUsIDE3LCA5LCAxLCAyNDYsIDUyLCAxNDcsIDE3LCA5LCAxLCAyMjcsIAotICAgIDE1OCwgNTMsIDE3LCA5LCAxLCAyMjcsIDE1OCwgNDAsIDE3LCA5LCAxLCAyMjcsIDE1OCwgNjUsIDE3LCA5LCAxLCAyMjcsIAotICAgIDE1OCwgMTQ3LCAxNywgOSwgMSwgMjE3LCAyOCwgNTMsIDE3LCA5LCAxLCAyMTcsIDI4LCA0MCwgMTcsIDksIDEsIDIxNywgCi0gICAgMjgsIDY1LCAxNywgOSwgMSwgMjE3LCAyOCwgMTQ3LCAxNywgOSwgMSwgMjE3LCAyNiwgNTMsIDE3LCA5LCAxLCAyMTcsIDI2LCAKLSAgICA0MCwgMTcsIDksIDEsIDIxNywgMjYsIDY1LCAxNywgOSwgMSwgMjE3LCAyNiwgMTQ3LCAxNywgOSwgMSwgMjQ4LCAxNDEsIAotICAgIDUzLCAxNywgOSwgMSwgMjQ4LCAxNDEsIDQwLCAxNywgOSwgMSwgMjQ4LCAyMTAsIDUzLCAxNywgOSwgMSwgMjQ4LCAyMTAsIAotICAgIDQwLCAxNywgOSwgMSwgMjQ2LCA3OSwgNTMsIDE3LCA5LCAxLCAyNDYsIDc5LCA0MCwgMTcsIDksIDEsIDI0OCwgMTM5LCA1MywgCi0gICAgMTcsIDksIDEsIDI0OCwgMTM5LCA0MCwgMTcsIDksIDEsIDIzNSwgMTI3LCA1MywgMTcsIDksIDEsIDIzNSwgMTI3LCA0MCwgCi0gICAgMTcsIDksIDEsIDIyMiwgMTc0LCA1MywgMTcsIDksIDEsIDIyMiwgMTc0LCA0MCwgMTcsIDksIDEsIDIzNCwgMTgxLCA1MywgCi0gICAgMTcsIDksIDEsIDIzNCwgMTgxLCA0MCwgMTcsIDksIDEsIDIzNCwgMTgxLCA2NSwgMTcsIDksIDEsIDIzNCwgMTgxLCAxNDcsIAotICAgIDE3LCA5LCAxLCAyNDMsIDEzMCwgNTMsIDE3LCA5LCAxLCAyNDMsIDEzMCwgNDAsIDE3LCA5LCAxLCAyNDMsIDEzMCwgNjUsIAotICAgIDE3LCA5LCAxLCAyNDMsIDEzMCwgMTQ3LCAxNywgOSwgMSwgMjQyLCAxMDksIDUzLCAxNywgOSwgMSwgMjQyLCAxMDksIDQwLCAKLSAgICAxNywgOSwgMSwgMjQyLCAxMDksIDY1LCAxNywgOSwgMSwgMjQyLCAxMDksIDE0NywgMTcsIDksIDEsIDIyOSwgOCwgNTMsIAotICAgIDE3LCA5LCAxLCAyMjksIDgsIDQwLCAxNywgOSwgMSwgMjI5LCA4LCA2NSwgMTcsIDksIDEsIDIyOSwgOCwgMTQ3LCAxNywgOSwgCi0gICAgMSwgMjI4LCA2OCwgMjQyLCAyMjYsIDUzLCAxNywgOSwgMSwgMjI4LCA2OCwgMjQyLCAyMjYsIDQwLCAxNywgOSwgMSwgMjIyLCAKLSAgICAyMTcsIDUzLCAxNywgOSwgMSwgMjIyLCAyMTcsIDQwLCAxNywgOSwgMSwgMjIyLCAyMTcsIDY1LCAxNywgOSwgMSwgMjIyLCAKLSAgICAyMTcsIDE0NywgMTcsIDksIDEsIDI0MSwgMjI2LCAyLCA3NywgNzIsIDUzLCAxNywgOSwgMSwgMjQxLCAyMjYsIDIsIDc3LCAKLSAgICA3MiwgNDAsIDE3LCA5LCAxLCAyNDEsIDIyNiwgMjQyLCAxNzksIDUzLCAxNywgOSwgMSwgMjQxLCAyMjYsIDI0MiwgMTc5LCAKLSAgICA0MCwgMTcsIDksIDEsIDI0MSwgMjI2LCAyNDIsIDE3OSwgNjUsIDE3LCA5LCAxLCAyNDEsIDIyNiwgMjQyLCAxNzksIDE0NywgCi0gICAgMTcsIDksIDEsIDI0MSwgMjI2LCAyNDcsIDE1MCwgNTMsIDE3LCA5LCAxLCAyNDEsIDIyNiwgMjQ3LCAxNTAsIDQwLCAxNywgCi0gICAgOSwgMSwgMjQxLCAyMjYsIDI0NywgMTUwLCA2NSwgMTcsIDksIDEsIDI0MSwgMjI2LCAyNDcsIDE1MCwgMTQ3LCAxNywgOSwgCi0gICAgMSwgNzcsIDI1MiwgMTQxLCA1MywgMTcsIDksIDEsIDc3LCAyNTIsIDE0MSwgNDAsIDE3LCA5LCAxLCA3NywgMjUyLCAxNDEsIAotICAgIDIsIDE4MiwgNzIsIDUzLCAxNywgOSwgMSwgNzcsIDI1MiwgMTQxLCAyLCAxODIsIDcyLCA0MCwgMTcsIDksIDE2LCA1OSwgCi0gICAgNDgsIDksIDE2LCA1OSwgNTEsIDksIDE2LCAxMTMsIDE3MCwgNDgsIDksIDE2LCAxMTMsIDE3MCwgNTEsIDksIDE2LCAxMzQsIAotICAgIDE3MCwgNDgsIDksIDE2LCAxMzQsIDE3MCwgNTEsIDksIDE2LCAxMzQsIDE3MCwgMjI1LCAxMCwgMjQ2LCAxMTIsIDQ4LCA5LCAKLSAgICAxNiwgMTM0LCAxNzAsIDIyNSwgMTAsIDI0NiwgMTEyLCA1MSwgOSwgMTYsIDI0NCwgMTksIDE3MCwgNDgsIDksIDE2LCAyNDQsIAotICAgIDE5LCAxNzAsIDUxLCA5LCAxNiwgNTIsIDY3LCAyNTIsIDE0OSwgNTEsIDksIDE2LCAxMTMsIDE3MCwgMjEzLCAxODksIDQ4LCAKLSAgICA5LCAxNiwgMTEzLCAxNzAsIDIxMywgMTg5LCA1MSwgOSwgMTYsIDIyMiwgMjM2LCA5LCAxNiwgNCwgMjE3LCA4MiwgNDgsIDksIAotICAgIDE2LCA0LCAyMTcsIDgyLCA1MSwgOSwgMSwgMjI5LCA4NSwgNTMsIDE3LCA5LCAxLCAyMjksIDg1LCA0MCwgMTcsIDksIDEsIAotICAgIDIyOSwgODUsIDY1LCAxNywgOSwgMSwgMjI5LCA4NSwgMTQ3LCAxNywgOSwgMSwgMTA0LCA1MywgMTcsIDksIDEsIDEwNCwgCi0gICAgNDAsIDE3LCA5LCAxLCAyMjYsIDIzOSwgNTMsIDE3LCA5LCAxLCAyMjYsIDIzOSwgNDAsIDE3LCA5LCAxLCAyMTAsIDIxMywgCi0gICAgNTMsIDE3LCA5LCAxLCAyMTAsIDIxMywgNDAsIDE3LCA5LCAxLCAxMDQsIDIsIDE4MiwgNzIsIDUzLCAxNywgOSwgMSwgMjE0LCAKLSAgICAwLCA1MywgMTcsIDksIDEsIDIxNCwgMCwgNDAsIDE3LCA5LCAxLCAyMzQsIDc5LCAyMjYsIDIzOSwgNTMsIDE3LCA5LCAxLCAKLSAgICAyMzQsIDc5LCAyMjYsIDIzOSwgNDAsIDE3LCA5LCAxLCAyMzQsIDc5LCAyMTAsIDIxMywgNTMsIDE3LCA5LCAxLCAyMzQsIAotICAgIDc5LCAyMTAsIDIxMywgNDAsIDE3LCA5LCAxLCAxNjAsIDUzLCAxNywgOSwgMSwgMTYwLCA0MCwgMTcsIDksIDEsIDE2MCwgCi0gICAgNjUsIDE3LCA5LCAxLCAxNjAsIDE0NywgMTcsIDksIDEsIDIxNCwgMjA3LCAyMzQsIDE5MiwgMjM0LCA3OSwgMTA5LCAyMzEsIAotICAgIDE5OCwgNjUsIDE3LCA5LCAxLCAyMTQsIDIwNywgMjM0LCAxOTIsIDIzNCwgNzksIDEwOSwgMjMxLCAxOTgsIDE0NywgMTcsIAotICAgIDksIDI3LCA3NywgMiwgMTgyLCA3MiwgMiwgMTA5LCA1MywgMTcsIDksIDI3LCA3NywgMiwgMTgyLCA3MiwgMiwgMTA5LCA0MCwgCi0gICAgMTcsIDksIDI3LCA3NywgMiwgMTgyLCA3MiwgMiwgMjU0LCAyNTMsIDUzLCAxNywgOSwgMjcsIDc3LCAyLCAxODIsIDcyLCAyLCAKLSAgICAyNTQsIDI1MywgNDAsIDE3LCA5LCAyNywgNzcsIDIsIDE4MiwgNzIsIDIsIDIxMiwgMzEsIDUzLCAxNywgOSwgMjcsIDc3LCAKLSAgICAyLCAxODIsIDcyLCAyLCAyMTIsIDMxLCA0MCwgMTcsIDksIDI3LCA3NywgMiwgMTgyLCA3MiwgMiwgMTA0LCA1MywgMTcsIDksIAotICAgIDI3LCA3NywgMiwgMTgyLCA3MiwgMiwgMTA0LCA0MCwgMTcsIDksIDI3LCA3NywgMiwgMTgyLCA3MiwgMiwgMjI2LCAyMzksIAotICAgIDUzLCAxNywgOSwgMjcsIDc3LCAyLCAxODIsIDcyLCAyLCAyMjYsIDIzOSwgNDAsIDE3LCA5LCAyNywgNzcsIDIsIDE4MiwgCi0gICAgNzIsIDIsIDIxMCwgMjEzLCA1MywgMTcsIDksIDI3LCA3NywgMiwgMTgyLCA3MiwgMiwgMjEwLCAyMTMsIDQwLCAxNywgOSwgCi0gICAgMjcsIDc3LCAyLCAxODIsIDcyLCAyLCAxNjAsIDUzLCAxNywgOSwgMjcsIDc3LCAyLCAxODIsIDcyLCAyLCAxNjAsIDQwLCAKLSAgICAxNywgOSwgMjcsIDc3LCAyLCAxODIsIDcyLCAyLCAxNjAsIDY1LCAxNywgOSwgMjcsIDIxNCwgMjA3LCAyMzQsIDc5LCA3NywgCi0gICAgMiwgMTgyLCA3MiwgMiwgMTA5LCAyMzEsIDE5OCwgNTMsIDE3LCA5LCAyNywgMjE0LCAyMDcsIDIzNCwgNzksIDc3LCAyLCAKLSAgICAxODIsIDcyLCAyLCAxMDksIDIzMSwgMTk4LCA0MCwgMTcsIDksIDI3LCAyMTQsIDIwNywgMjM0LCA3OSwgNzcsIDIsIDE4MiwgCi0gICAgNzIsIDIsIDEwOSwgMjMxLCAxOTgsIDY1LCAxNywgOSwgMSwgMjQ0LCAxNzYsIDc3LCA1MywgMTcsIDksIDEsIDI0NCwgMTc2LCAKLSAgICA3NywgNDAsIDE3LCA5LCAxLCAyNDQsIDE3NiwgNzcsIDY1LCAxNywgOSwgMSwgMjQ0LCAxNzYsIDc3LCAxNDcsIDE3LCA5LCAKLSAgICAyNywgNzcsIDIsIDE4MiwgNzIsIDIsIDE1MSwgNTMsIDE3LCA5LCAyNywgNzcsIDIsIDE4MiwgNzIsIDIsIDEyMiwgNTMsIAotICAgIDE3LCA5LCAyNywgNzcsIDIsIDE4MiwgNzIsIDIsIDY2LCA1MywgMTcsIDksIDI3LCA3NywgMiwgMTgyLCA3MiwgMiwgMTA5LCAKLSAgICAyMzEsIDE5OCwgNTMsIDE3LCA5LCAyNywgNzcsIDIsIDE4MiwgNzIsIDIsIDc3LCA1MywgMTcsIDksIDI3LCAyNTIsIDYzLCAKLSAgICAyLCAxNTEsIDUzLCAxNywgOSwgMjcsIDI1MiwgNjMsIDIsIDEyMiwgNTMsIDE3LCA5LCAyNywgMjUyLCA2MywgMiwgMjM0LCAKLSAgICAxMzYsIDUzLCAxNywgOSwgMjcsIDI1MiwgNjMsIDIsIDY2LCA1MywgMTcsIDksIDI3LCAyNTIsIDYzLCAyLCAxMDksIDIzMSwgCi0gICAgMTk4LCA1MywgMTcsIDksIDI3LCAyNTIsIDYzLCAyLCA3NywgNTMsIDE3LCA5LCAyNywgMjE3LCA5LCAyLCAxNTEsIDUzLCAKLSAgICAxNywgOSwgMjcsIDIxNywgOSwgMiwgMTIyLCA1MywgMTcsIDksIDI3LCAyMTcsIDksIDIsIDIzNCwgMTM2LCA1MywgMTcsIDksIAotICAgIDI3LCAyMTcsIDksIDIsIDY2LCA1MywgMTcsIDksIDI3LCAyMTcsIDksIDIsIDEwOSwgMjMxLCAxOTgsIDUzLCAxNywgOSwgCi0gICAgMjcsIDIxNywgOSwgMiwgNzcsIDUzLCAxNywgOSwgMjcsIDIxNiwgMTk0LCAyLCAxNTEsIDUzLCAxNywgOSwgMjcsIDIxNiwgCi0gICAgMTk0LCAyLCA2NiwgNTMsIDE3LCA5LCAyNywgMjE2LCAxOTQsIDIsIDEwOSwgMjMxLCAxOTgsIDUzLCAxNywgOSwgMjcsIAotICAgIDIxNiwgMTk0LCAyLCA3NywgNTMsIDE3LCA5LCAyNywgMTUxLCAyLCAxMjIsIDUzLCAxNywgOSwgMjcsIDE1MSwgMiwgNjYsIAotICAgIDUzLCAxNywgOSwgMjcsIDEyMiwgMiwgMTUxLCA1MywgMTcsIDksIDI3LCAxMjIsIDIsIDY2LCA1MywgMTcsIDksIDI3LCAKLSAgICAyMzQsIDEzNiwgMiwgMTUxLCA1MywgMTcsIDksIDI3LCAyMzQsIDEzNiwgMiwgMTIyLCA1MywgMTcsIDksIDI3LCAyMzQsIAotICAgIDEzNiwgMiwgNjYsIDUzLCAxNywgOSwgMjcsIDIyMSwgMTY5LCAyLCAxNTEsIDUzLCAxNywgOSwgMjcsIDIyMSwgMTY5LCAyLCAKLSAgICAxMjIsIDUzLCAxNywgOSwgMjcsIDIyMSwgMTY5LCAyLCAyMzQsIDEzNiwgNTMsIDE3LCA5LCAyNywgMjIxLCAxNjksIDIsIAotICAgIDY2LCA1MywgMTcsIDksIDI3LCAyMjIsIDI5LCAyLCAxMjIsIDUzLCAxNywgOSwgMjcsIDIyMiwgMjksIDIsIDY2LCA1MywgCi0gICAgMTcsIDksIDI3LCAyNDgsIDIyNSwgMiwgMTUxLCA1MywgMTcsIDksIDI3LCAyNDgsIDIyNSwgMiwgMTIyLCA1MywgMTcsIDksIAotICAgIDI3LCAyNDgsIDIyNSwgMiwgMjM0LCAxMzYsIDUzLCAxNywgOSwgMjcsIDI0OCwgMjI1LCAyLCA2NiwgNTMsIDE3LCA5LCAyNywgCi0gICAgMjE3LCA4MiwgMiwgMTIyLCA1MywgMTcsIDksIDI3LCAyMTcsIDgyLCAyLCA2NiwgNTMsIDE3LCA5LCAyNywgMjEwLCAxMTIsIAotICAgIDIsIDY2LCA1MywgMTcsIDksIDI3LCAyNTQsIDIwNiwgMiwgMTUxLCA1MywgMTcsIDksIDI3LCAyNTQsIDIwNiwgMiwgNjYsIAotICAgIDUzLCAxNywgOSwgMjcsIDI0MiwgMjUyLCAyLCAxNTEsIDUzLCAxNywgOSwgMjcsIDI0MiwgMjUyLCAyLCA2NiwgNTMsIDE3LCAKLSAgICA5LCAyNywgMjQ0LCAxNTEsIDIsIDE1MSwgNTMsIDE3LCA5LCAyNywgMjQ0LCAxNTEsIDIsIDEyMiwgNTMsIDE3LCA5LCAyNywgCi0gICAgMjQ0LCAxNTEsIDIsIDIzNCwgMTM2LCA1MywgMTcsIDksIDI3LCAyNDQsIDE1MSwgMiwgNjYsIDUzLCAxNywgOSwgMjcsIAotICAgIDI0NCwgMTUxLCAyLCAxMDksIDIzMSwgMTk4LCA1MywgMTcsIDksIDI3LCAyNDQsIDE1MSwgMiwgNzcsIDUzLCAxNywgOSwgCi0gICAgMjcsIDIyNCwgODUsIDIsIDEyMiwgNTMsIDE3LCA5LCAyNywgMjI0LCA4NSwgMiwgNjYsIDUzLCAxNywgOSwgMjcsIDIyNCwgCi0gICAgODUsIDIsIDEwOSwgMjMxLCAxOTgsIDUzLCAxNywgOSwgMjcsIDIyNCwgODUsIDIsIDc3LCA1MywgMTcsIDksIDI3LCAyMzUsIAotICAgIDEsIDIsIDEwOSwgNTMsIDE3LCA5LCAyNywgMjM1LCAxLCAyLCAxNTEsIDUzLCAxNywgOSwgMjcsIDIzNSwgMSwgMiwgMTIyLCAKLSAgICA1MywgMTcsIDksIDI3LCAyMzUsIDEsIDIsIDIzNCwgMTM2LCA1MywgMTcsIDksIDI3LCAyMzUsIDEsIDIsIDIzMywgMTA5LCAKLSAgICA1MywgMTcsIDksIDI3LCAyMzUsIDEsIDIsIDY2LCA1MywgMTcsIDksIDI3LCAyMzUsIDEsIDIsIDEwOSwgMjMxLCAxOTgsIAotICAgIDUzLCAxNywgOSwgMjcsIDIzNSwgMSwgMiwgNzcsIDUzLCAxNywgOSwgMjcsIDIzMywgMTA5LCAyLCAxNTEsIDUzLCAxNywgOSwgCi0gICAgMjcsIDIzMywgMTA5LCAyLCAxMjIsIDUzLCAxNywgOSwgMjcsIDIzMywgMTA5LCAyLCAyMzQsIDEzNiwgNTMsIDE3LCA5LCAKLSAgICAyNywgMjMzLCAxMDksIDIsIDY2LCA1MywgMTcsIDksIDI3LCAyMzMsIDEwOSwgMiwgMTA5LCAyMzEsIDE5OCwgNTMsIDE3LCAKLSAgICA5LCAyNywgMjMzLCAxMDksIDIsIDc3LCA1MywgMTcsIDksIDI3LCA2NiwgMiwgMTUxLCA1MywgMTcsIDksIDI3LCA2NiwgMiwgCi0gICAgMTIyLCA1MywgMTcsIDksIDI3LCA2NiwgMiwgMjM0LCAxMzYsIDUzLCAxNywgOSwgMjcsIDY2LCAyLCA2NiwgNTMsIDE3LCA5LCAKLSAgICAyNywgNjYsIDIsIDEwOSwgMjMxLCAxOTgsIDUzLCAxNywgOSwgMjcsIDY2LCAyLCA3NywgNTMsIDE3LCA5LCAyNywgMjI4LCAKLSAgICA2OCwgMiwgMTUxLCA1MywgMTcsIDksIDI3LCAyMjgsIDY4LCAyLCAxMjIsIDUzLCAxNywgOSwgMjcsIDIyOCwgNjgsIDIsIAotICAgIDIzNCwgMTM2LCA1MywgMTcsIDksIDI3LCAyMjgsIDY4LCAyLCA2NiwgNTMsIDE3LCA5LCAyNywgMjI4LCA2OCwgMiwgMTA5LCAKLSAgICAyMzEsIDE5OCwgNTMsIDE3LCA5LCAyNywgMjI4LCA2OCwgMiwgNzcsIDUzLCAxNywgOSwgMjcsIDI0MSwgMjI2LCAyLCAxNTEsIAotICAgIDUzLCAxNywgOSwgMjcsIDI0MSwgMjI2LCAyLCA2NiwgNTMsIDE3LCA5LCAyNywgMjQxLCAyMjYsIDIsIDEwOSwgMjMxLCAKLSAgICAxOTgsIDUzLCAxNywgOSwgMjcsIDI0MSwgMjI2LCAyLCA3NywgNTMsIDE3LCA5LCAyNywgNzcsIDIsIDE1MSwgNTMsIDE3LCAKLSAgICA5LCAyNywgNzcsIDIsIDEyMiwgNTMsIDE3LCA5LCAyNywgNzcsIDIsIDIzNCwgMTM2LCA1MywgMTcsIDksIDI3LCA3NywgMiwgCi0gICAgNjYsIDUzLCAxNywgOSwgMjcsIDc3LCAyLCAxMDksIDIzMSwgMTk4LCA1MywgMTcsIDksIDI3LCA3NywgMiwgNzcsIDUzLCAKLSAgICAxNywgOSwgMjcsIDIxNiwgMjA0LCAyLCAyMTgsIDI0LCAxMDksIDUzLCAxNywgOSwgMjcsIDIyMywgOTksIDIsIDIxOCwgMjQsIAotICAgIDEwOSwgNTMsIDE3LCA5LCAyNywgMTA5LCAyMzEsIDE5OCwgMiwgMjE4LCAyNCwgMTA5LCA1MywgMTcsIDksIDI3LCAyMjAsIAotICAgIDk2LCAyLCAyNDgsIDE5MSwgNTMsIDE3LCA5LCAyNywgMjIwLCA5NiwgMiwgMjM0LCAyMTAsIDUzLCAxNywgOSwgMjcsIDIyMCwgCi0gICAgOTYsIDIsIDI0NCwgMTc0LCA1MywgMTcsIDksIDI3LCAyMjAsIDk2LCAyLCAyNDgsIDE5MywgNTMsIDE3LCA5LCAyNywgMjIwLCAKLSAgICA5NiwgMiwgMjM0LCAyMTIsIDUzLCAxNywgOSwgMjcsIDIyMCwgOTYsIDIsIDIxOCwgMjQsIDEwOSwgNTMsIDE3LCA5LCAyNywgCi0gICAgNzcsIDIsIDE4MiwgNzIsIDIsIDIyMywgOTksIDQwLCAxNywgOSwgMjcsIDc3LCAyLCAxODIsIDcyLCAyLCAyMTAsIDEwOSwgCi0gICAgNDAsIDE3LCA5LCAyNywgNzcsIDIsIDE4MiwgNzIsIDIsIDY2LCA0MCwgMTcsIDksIDI3LCA3NywgMiwgMTgyLCA3MiwgMiwgCi0gICAgMjI4LCA2OCwgNDAsIDE3LCA5LCAyNywgNzcsIDIsIDE4MiwgNzIsIDIsIDEwOSwgMjMxLCAxOTgsIDQwLCAxNywgOSwgMjcsIAotICAgIDc3LCAyLCAxODIsIDcyLCAyLCA3NywgNDAsIDE3LCA5LCAyNywgMjUyLCA2MywgMiwgMjIzLCA5OSwgNDAsIDE3LCA5LCAyNywgCi0gICAgMjUyLCA2MywgMiwgMjEwLCAxMDksIDQwLCAxNywgOSwgMjcsIDI1MiwgNjMsIDIsIDY2LCA0MCwgMTcsIDksIDI3LCAyNTIsIAotICAgIDYzLCAyLCAyMjgsIDY4LCA0MCwgMTcsIDksIDI3LCAyNTIsIDYzLCAyLCAxMDksIDIzMSwgMTk4LCA0MCwgMTcsIDksIDI3LCAKLSAgICAyNTIsIDYzLCAyLCA3NywgNDAsIDE3LCA5LCAyNywgMjE3LCA5LCAyLCAyMjMsIDk5LCA0MCwgMTcsIDksIDI3LCAyMTcsIDksIAotICAgIDIsIDIxMCwgMTA5LCA0MCwgMTcsIDksIDI3LCAyMTcsIDksIDIsIDY2LCA0MCwgMTcsIDksIDI3LCAyMTcsIDksIDIsIDIyOCwgCi0gICAgNjgsIDQwLCAxNywgOSwgMjcsIDIxNywgOSwgMiwgMTA5LCAyMzEsIDE5OCwgNDAsIDE3LCA5LCAyNywgMjE3LCA5LCAyLCAKLSAgICA3NywgNDAsIDE3LCA5LCAyNywgMjE2LCAxOTQsIDIsIDIyMywgOTksIDQwLCAxNywgOSwgMjcsIDIxNiwgMTk0LCAyLCAyMTAsIAotICAgIDEwOSwgNDAsIDE3LCA5LCAyNywgMjE2LCAxOTQsIDIsIDY2LCA0MCwgMTcsIDksIDI3LCAyMTYsIDE5NCwgMiwgMjI4LCA2OCwgCi0gICAgNDAsIDE3LCA5LCAyNywgMjE2LCAxOTQsIDIsIDEwOSwgMjMxLCAxOTgsIDQwLCAxNywgOSwgMjcsIDIxNiwgMTk0LCAyLCAKLSAgICA3NywgNDAsIDE3LCA5LCAyNywgMjQ0LCAxNTEsIDIsIDEwOSwgMjMxLCAxOTgsIDQwLCAxNywgOSwgMjcsIDI0NCwgMTUxLCAKLSAgICAyLCA3NywgNDAsIDE3LCA5LCAyNywgMjI0LCA4NSwgMiwgMTA5LCAyMzEsIDE5OCwgNDAsIDE3LCA5LCAyNywgMjI0LCA4NSwgCi0gICAgMiwgNzcsIDQwLCAxNywgOSwgMjcsIDIzNSwgMSwgMiwgMTA5LCA0MCwgMTcsIDksIDI3LCAyMzUsIDEsIDIsIDIzMywgMTA5LCAKLSAgICA0MCwgMTcsIDksIDI3LCAyMzUsIDEsIDIsIDY2LCA0MCwgMTcsIDksIDI3LCAyMzUsIDEsIDIsIDEwOSwgMjMxLCAxOTgsIAotICAgIDQwLCAxNywgOSwgMjcsIDIzNSwgMSwgMiwgNzcsIDQwLCAxNywgOSwgMjcsIDIzMywgMTA5LCAyLCA2NiwgNDAsIDE3LCA5LCAKLSAgICAyNywgMjMzLCAxMDksIDIsIDEwOSwgMjMxLCAxOTgsIDQwLCAxNywgOSwgMjcsIDIzMywgMTA5LCAyLCA3NywgNDAsIDE3LCAKLSAgICA5LCAyNywgNjYsIDIsIDEwOSwgNDAsIDE3LCA5LCAyNywgNjYsIDIsIDY2LCA0MCwgMTcsIDksIDI3LCAyMjgsIDY4LCAyLCAKLSAgICAyMjMsIDk5LCA0MCwgMTcsIDksIDI3LCAyMjgsIDY4LCAyLCAyMTAsIDEwOSwgNDAsIDE3LCA5LCAyNywgMjI4LCA2OCwgMiwgCi0gICAgNjYsIDQwLCAxNywgOSwgMjcsIDIyOCwgNjgsIDIsIDIyOCwgNjgsIDQwLCAxNywgOSwgMjcsIDIyOCwgNjgsIDIsIDEwOSwgCi0gICAgMjMxLCAxOTgsIDQwLCAxNywgOSwgMjcsIDIyOCwgNjgsIDIsIDc3LCA0MCwgMTcsIDksIDI3LCAxMDksIDIzMSwgMTk4LCAyLCAKLSAgICAyMTgsIDI0LCAxMDksIDQwLCAxNywgOSwgMjcsIDc3LCAyLCAyMjMsIDk5LCA0MCwgMTcsIDksIDI3LCA3NywgMiwgMjEwLCAKLSAgICAxMDksIDQwLCAxNywgOSwgMjcsIDc3LCAyLCA2NiwgNDAsIDE3LCA5LCAyNywgNzcsIDIsIDIyOCwgNjgsIDQwLCAxNywgOSwgCi0gICAgMjcsIDc3LCAyLCAxMDksIDIzMSwgMTk4LCA0MCwgMTcsIDksIDI3LCA3NywgMiwgNzcsIDQwLCAxNywgOSwgMjcsIDc3LCAyLCAKLSAgICAxODIsIDcyLCAyLCAxNTEsIDY1LCAxNywgOSwgMjcsIDc3LCAyLCAxODIsIDcyLCAyLCAxMjIsIDY1LCAxNywgOSwgMjcsIAotICAgIDc3LCAyLCAxODIsIDcyLCAyLCAyMzQsIDEzNiwgNjUsIDE3LCA5LCAyNywgNzcsIDIsIDE4MiwgNzIsIDIsIDY2LCA2NSwgCi0gICAgMTcsIDksIDI3LCA3NywgMiwgMTgyLCA3MiwgMiwgMjQxLCAyMjYsIDY1LCAxNywgOSwgMjcsIDI1MiwgNjMsIDIsIDE1MSwgCi0gICAgNjUsIDE3LCA5LCAyNywgMjUyLCA2MywgMiwgMTIyLCA2NSwgMTcsIDksIDI3LCAyNTIsIDYzLCAyLCAyMzQsIDEzNiwgNjUsIAotICAgIDE3LCA5LCAyNywgMjUyLCA2MywgMiwgNjYsIDY1LCAxNywgOSwgMjcsIDI1MiwgNjMsIDIsIDI0MSwgMjI2LCA2NSwgMTcsIAotICAgIDksIDI3LCAyMTcsIDksIDIsIDE1MSwgNjUsIDE3LCA5LCAyNywgMjE3LCA5LCAyLCAxMjIsIDY1LCAxNywgOSwgMjcsIDIxNywgCi0gICAgOSwgMiwgMjM0LCAxMzYsIDY1LCAxNywgOSwgMjcsIDIxNywgOSwgMiwgNjYsIDY1LCAxNywgOSwgMjcsIDIxNywgOSwgMiwgCi0gICAgMjQxLCAyMjYsIDY1LCAxNywgOSwgMjcsIDIxNiwgMTk0LCAyLCA2NiwgNjUsIDE3LCA5LCAyNywgMTUxLCAyLCAxMjIsIDY1LCAKLSAgICAxNywgOSwgMjcsIDE1MSwgMiwgNjYsIDY1LCAxNywgOSwgMjcsIDEyMiwgMiwgMTUxLCA2NSwgMTcsIDksIDI3LCAxMjIsIDIsIAotICAgIDY2LCA2NSwgMTcsIDksIDI3LCAyMzQsIDEzNiwgMiwgMTUxLCA2NSwgMTcsIDksIDI3LCAyMzQsIDEzNiwgMiwgNjYsIDY1LCAKLSAgICAxNywgOSwgMjcsIDIyMSwgMTY5LCAyLCAxNTEsIDY1LCAxNywgOSwgMjcsIDIyMSwgMTY5LCAyLCAxMjIsIDY1LCAxNywgOSwgCi0gICAgMjcsIDIyMSwgMTY5LCAyLCAyMzQsIDEzNiwgNjUsIDE3LCA5LCAyNywgMjIxLCAxNjksIDIsIDY2LCA2NSwgMTcsIDksIDI3LCAKLSAgICAyMjIsIDI5LCAyLCAxMjIsIDY1LCAxNywgOSwgMjcsIDIyMiwgMjksIDIsIDIzNCwgMTM2LCA2NSwgMTcsIDksIDI3LCAyMjIsIAotICAgIDI5LCAyLCA2NiwgNjUsIDE3LCA5LCAyNywgMjQ4LCAyMjUsIDIsIDE1MSwgNjUsIDE3LCA5LCAyNywgMjQ4LCAyMjUsIDIsIAotICAgIDEyMiwgNjUsIDE3LCA5LCAyNywgMjQ4LCAyMjUsIDIsIDIzNCwgMTM2LCA2NSwgMTcsIDksIDI3LCAyNDgsIDIyNSwgMiwgCi0gICAgNjYsIDY1LCAxNywgOSwgMjcsIDIxNywgODIsIDIsIDEyMiwgNjUsIDE3LCA5LCAyNywgMjEwLCAxMTIsIDIsIDY2LCA2NSwgCi0gICAgMTcsIDksIDI3LCAyNTQsIDIwNiwgMiwgMTUxLCA2NSwgMTcsIDksIDI3LCAyNTQsIDIwNiwgMiwgNjYsIDY1LCAxNywgOSwgCi0gICAgMjcsIDI0MiwgMjUyLCAyLCAxNTEsIDY1LCAxNywgOSwgMjcsIDI0MiwgMjUyLCAyLCA2NiwgNjUsIDE3LCA5LCAyNywgMjQ0LCAKLSAgICAxNTEsIDIsIDE1MSwgNjUsIDE3LCA5LCAyNywgMjQ0LCAxNTEsIDIsIDEyMiwgNjUsIDE3LCA5LCAyNywgMjQ0LCAxNTEsIDIsIAotICAgIDIzNCwgMTM2LCA2NSwgMTcsIDksIDI3LCAyNDQsIDE1MSwgMiwgNjYsIDY1LCAxNywgOSwgMjcsIDIyNCwgODUsIDIsIDEyMiwgCi0gICAgNjUsIDE3LCA5LCAyNywgMjI0LCA4NSwgMiwgNjYsIDY1LCAxNywgOSwgMjcsIDIzNSwgMSwgMiwgMTUxLCA2NSwgMTcsIDksIAotICAgIDI3LCAyMzUsIDEsIDIsIDEyMiwgNjUsIDE3LCA5LCAyNywgMjM1LCAxLCAyLCAyMzQsIDEzNiwgNjUsIDE3LCA5LCAyNywgCi0gICAgMjM1LCAxLCAyLCAyMzMsIDEwOSwgNjUsIDE3LCA5LCAyNywgMjM1LCAxLCAyLCA2NiwgNjUsIDE3LCA5LCAyNywgMjMzLCAKLSAgICAxMDksIDIsIDE1MSwgNjUsIDE3LCA5LCAyNywgMjMzLCAxMDksIDIsIDEyMiwgNjUsIDE3LCA5LCAyNywgMjMzLCAxMDksIDIsIAotICAgIDIzNCwgMTM2LCA2NSwgMTcsIDksIDI3LCAyMzMsIDEwOSwgMiwgNjYsIDY1LCAxNywgOSwgMjcsIDIzMywgMTA5LCAyLCAKLSAgICAyNDEsIDIyNiwgNjUsIDE3LCA5LCAyNywgNjYsIDIsIDE1MSwgNjUsIDE3LCA5LCAyNywgNjYsIDIsIDEyMiwgNjUsIDE3LCAKLSAgICA5LCAyNywgNjYsIDIsIDIzNCwgMTM2LCA2NSwgMTcsIDksIDI3LCA2NiwgMiwgNjYsIDY1LCAxNywgOSwgMjcsIDIyOCwgNjgsIAotICAgIDIsIDE1MSwgNjUsIDE3LCA5LCAyNywgMjI4LCA2OCwgMiwgMTIyLCA2NSwgMTcsIDksIDI3LCAyMjgsIDY4LCAyLCAyMzQsIAotICAgIDEzNiwgNjUsIDE3LCA5LCAyNywgMjI4LCA2OCwgMiwgNjYsIDY1LCAxNywgOSwgMjcsIDIyOCwgNjgsIDIsIDI0MSwgMjI2LCAKLSAgICA2NSwgMTcsIDksIDI3LCAyNDEsIDIyNiwgMiwgMTUxLCA2NSwgMTcsIDksIDI3LCAyNDEsIDIyNiwgMiwgNjYsIDY1LCAxNywgCi0gICAgOSwgMjcsIDI0MSwgMjI2LCAyLCAyMTgsIDI0LCAxMDksIDY1LCAxNywgOSwgMjcsIDc3LCAyLCAxNTEsIDY1LCAxNywgOSwgCi0gICAgMjcsIDc3LCAyLCAxMjIsIDY1LCAxNywgOSwgMjcsIDc3LCAyLCAyMzQsIDEzNiwgNjUsIDE3LCA5LCAyNywgNzcsIDIsIDY2LCAKLSAgICA2NSwgMTcsIDksIDI3LCA3NywgMiwgMjQxLCAyMjYsIDY1LCAxNywgOSwgMjcsIDc3LCAyLCAxODIsIDcyLCAyLCA2NiwgCi0gICAgMTQ3LCAxNywgOSwgMjcsIDc3LCAyLCAxODIsIDcyLCAyLCAyNDEsIDIyNiwgMTQ3LCAxNywgOSwgMjcsIDI1MiwgNjMsIDIsIAotICAgIDY2LCAxNDcsIDE3LCA5LCAyNywgMjUyLCA2MywgMiwgMjQxLCAyMjYsIDE0NywgMTcsIDksIDI3LCAyMTcsIDksIDIsIDY2LCAKLSAgICAxNDcsIDE3LCA5LCAyNywgMjE3LCA5LCAyLCAyNDEsIDIyNiwgMTQ3LCAxNywgOSwgMjcsIDIxNiwgMTk0LCAyLCA2NiwgCi0gICAgMTQ3LCAxNywgOSwgMjcsIDIxNiwgMTk0LCAyLCAyNDEsIDIyNiwgMTQ3LCAxNywgOSwgMjcsIDIyMSwgMTY5LCAyLCA2NiwgCi0gICAgMTQ3LCAxNywgOSwgMjcsIDIyMSwgMTY5LCAyLCAyNDEsIDIyNiwgMTQ3LCAxNywgOSwgMjcsIDIyMCwgNjIsIDIsIDY2LCAKLSAgICAxNDcsIDE3LCA5LCAyNywgMjIwLCA2MiwgMiwgMjQxLCAyMjYsIDE0NywgMTcsIDksIDI3LCAyMzUsIDEsIDIsIDIzMywgCi0gICAgMTA5LCAxNDcsIDE3LCA5LCAyNywgMjM1LCAxLCAyLCA2NiwgMTQ3LCAxNywgOSwgMjcsIDIzMywgMTA5LCAyLCA2NiwgMTQ3LCAKLSAgICAxNywgOSwgMjcsIDIyOCwgNjgsIDIsIDY2LCAxNDcsIDE3LCA5LCAyNywgMjI4LCA2OCwgMiwgMjQxLCAyMjYsIDE0NywgMTcsIAotICAgIDksIDI3LCA3NywgMiwgNjYsIDE0NywgMTcsIDksIDI3LCA3NywgMiwgMjQxLCAyMjYsIDE0NywgMTcsIDksIDI3LCAyMjAsIAotICAgIDk2LCAyLCAyNDQsIDE3NCwgMTQ3LCAxNywgOSwgMjcsIDIyMCwgOTYsIDIsIDI0OCwgMTkzLCAxNDcsIDE3LCA5LCAyNywgCi0gICAgMjIwLCA5NiwgMiwgMjM0LCAyMTIsIDE0NywgMTcsIDksIDI3LCAyMTcsIDgyLCAyLCAxMDksIDIzMSwgMTk4LCA1MywgMTcsIAotICAgIDksIDI3LCAyMTcsIDgyLCAyLCA3NywgNTMsIDE3LCA5LCAyNywgMjU0LCAyMDYsIDIsIDEwOSwgMjMxLCAxOTgsIDUzLCAxNywgCi0gICAgOSwgMjcsIDI1NCwgMjA2LCAyLCA3NywgNTMsIDE3LCA5LCAyNywgMjQyLCAyNTIsIDIsIDEwOSwgMjMxLCAxOTgsIDUzLCAKLSAgICAxNywgOSwgMjcsIDI0MiwgMjUyLCAyLCA3NywgNTMsIDE3LCA5LCAyNywgMjIxLCAxNjksIDIsIDEwOSwgMjMxLCAxOTgsIAotICAgIDUzLCAxNywgOSwgMjcsIDIyMSwgMTY5LCAyLCA3NywgNTMsIDE3LCA5LCAyNywgMjIwLCA2MiwgMiwgMTA5LCAyMzEsIDE5OCwgCi0gICAgNTMsIDE3LCA5LCAyNywgMjIwLCA2MiwgMiwgNzcsIDUzLCAxNywgOSwgMjcsIDEyMiwgMiwgMTA5LCAyMzEsIDE5OCwgNTMsIAotICAgIDE3LCA5LCAyNywgMTIyLCAyLCA3NywgNTMsIDE3LCA5LCAyNywgMTUxLCAyLCAxMDksIDIzMSwgMTk4LCA1MywgMTcsIDksIAotICAgIDI3LCAxNTEsIDIsIDc3LCA1MywgMTcsIDksIDI3LCAyMzQsIDEzNiwgMiwgMTA5LCAyMzEsIDE5OCwgNTMsIDE3LCA5LCAyNywgCi0gICAgMjM0LCAxMzYsIDIsIDc3LCA1MywgMTcsIDksIDI3LCAyMjIsIDI5LCAyLCAxMDksIDIzMSwgMTk4LCA1MywgMTcsIDksIDI3LCAKLSAgICAyMjIsIDI5LCAyLCA3NywgNTMsIDE3LCA5LCAyNywgMjQ4LCAyMjUsIDIsIDEwOSwgMjMxLCAxOTgsIDUzLCAxNywgOSwgMjcsIAotICAgIDI0OCwgMjI1LCAyLCA3NywgNTMsIDE3LCA5LCAyNywgMjIwLCA2MiwgMiwgMTUxLCA1MywgMTcsIDksIDI3LCAyMjAsIDYyLCAKLSAgICAyLCAxMjIsIDUzLCAxNywgOSwgMjcsIDIyMCwgNjIsIDIsIDIzNCwgMTM2LCA1MywgMTcsIDksIDI3LCAyMjAsIDYyLCAyLCAKLSAgICA2NiwgNTMsIDE3LCA5LCAyNywgMjIwLCA2MiwgMiwgMjIzLCA5OSwgNTMsIDE3LCA5LCAyNywgMjIxLCAxNjksIDIsIDIyMywgCi0gICAgOTksIDUzLCAxNywgOSwgMjcsIDIyMiwgMjksIDIsIDIyMywgOTksIDUzLCAxNywgOSwgMjcsIDI0OCwgMjI1LCAyLCAyMjMsIAotICAgIDk5LCA1MywgMTcsIDksIDI3LCAyMTcsIDgyLCAyLCAxMDksIDIzMSwgMTk4LCA0MCwgMTcsIDksIDI3LCAyMTcsIDgyLCAyLCAKLSAgICA3NywgNDAsIDE3LCA5LCAyNywgMjU0LCAyMDYsIDIsIDEwOSwgMjMxLCAxOTgsIDQwLCAxNywgOSwgMjcsIDI1NCwgMjA2LCAKLSAgICAyLCA3NywgNDAsIDE3LCA5LCAyNywgMjQyLCAyNTIsIDIsIDEwOSwgMjMxLCAxOTgsIDQwLCAxNywgOSwgMjcsIDI0MiwgCi0gICAgMjUyLCAyLCA3NywgNDAsIDE3LCA5LCAyNywgMjIxLCAxNjksIDIsIDEwOSwgMjMxLCAxOTgsIDQwLCAxNywgOSwgMjcsIAotICAgIDIyMSwgMTY5LCAyLCA3NywgNDAsIDE3LCA5LCAyNywgMjIwLCA2MiwgMiwgMTA5LCAyMzEsIDE5OCwgNDAsIDE3LCA5LCAyNywgCi0gICAgMjIwLCA2MiwgMiwgNzcsIDQwLCAxNywgOSwgMjcsIDEyMiwgMiwgMTA5LCAyMzEsIDE5OCwgNDAsIDE3LCA5LCAyNywgMTIyLCAKLSAgICAyLCA3NywgNDAsIDE3LCA5LCAyNywgMTUxLCAyLCAxMDksIDIzMSwgMTk4LCA0MCwgMTcsIDksIDI3LCAxNTEsIDIsIDc3LCAKLSAgICA0MCwgMTcsIDksIDI3LCAyMzQsIDEzNiwgMiwgMTA5LCAyMzEsIDE5OCwgNDAsIDE3LCA5LCAyNywgMjM0LCAxMzYsIDIsIAotICAgIDc3LCA0MCwgMTcsIDksIDI3LCAyMjIsIDI5LCAyLCAxMDksIDIzMSwgMTk4LCA0MCwgMTcsIDksIDI3LCAyMjIsIDI5LCAyLCAKLSAgICA3NywgNDAsIDE3LCA5LCAyNywgMjQ4LCAyMjUsIDIsIDEwOSwgMjMxLCAxOTgsIDQwLCAxNywgOSwgMjcsIDI0OCwgMjI1LCAKLSAgICAyLCA3NywgNDAsIDE3LCA5LCAyNywgMjIwLCA2MiwgMiwgMTUxLCA0MCwgMTcsIDksIDI3LCAyMjAsIDYyLCAyLCAxMjIsIAotICAgIDQwLCAxNywgOSwgMjcsIDIyMCwgNjIsIDIsIDIzNCwgMTM2LCA0MCwgMTcsIDksIDI3LCAyMjAsIDYyLCAyLCA2NiwgNDAsIAotICAgIDE3LCA5LCAyNywgMjIwLCA2MiwgMiwgMjIzLCA5OSwgNDAsIDE3LCA5LCAyNywgMjIxLCAxNjksIDIsIDIyMywgOTksIDQwLCAKLSAgICAxNywgOSwgMjcsIDIyMiwgMjksIDIsIDIyMywgOTksIDQwLCAxNywgOSwgMjcsIDI0OCwgMjI1LCAyLCAyMjMsIDk5LCA0MCwgCi0gICAgMTcsIDksIDI3LCAyMjAsIDYyLCAyLCAxNTEsIDY1LCAxNywgOSwgMjcsIDIyMCwgNjIsIDIsIDEyMiwgNjUsIDE3LCA5LCAKLSAgICAyNywgMjIwLCA2MiwgMiwgMjM0LCAxMzYsIDY1LCAxNywgOSwgMjcsIDIyMCwgNjIsIDIsIDY2LCA2NSwgMTcsIDksIDI3LCAKLSAgICAyMjEsIDE2OSwgMiwgMjQxLCAyMjYsIDY1LCAxNywgOSwgMjcsIDIyMCwgNjIsIDIsIDI0MSwgMjI2LCA2NSwgMTcsIDksIAotICAgIDI3LCAyMTcsIDgyLCAyLCA2NiwgNjUsIDE3LCA5LCAyNywgMjIxLCAxNjksIDIsIDE1MSwgMTQ3LCAxNywgOSwgMjcsIDIyMSwgCi0gICAgMTY5LCAyLCAxMjIsIDE0NywgMTcsIDksIDI3LCAyMjEsIDE2OSwgMiwgMjM0LCAxMzYsIDE0NywgMTcsIDksIDI3LCAyMjAsIAotICAgIDYyLCAyLCAxNTEsIDE0NywgMTcsIDksIDI3LCAyMjAsIDYyLCAyLCAxMjIsIDE0NywgMTcsIDksIDI3LCAyMjAsIDYyLCAyLCAKLSAgICAyMzQsIDEzNiwgMTQ3LCAxNywgOSwgMjcsIDIxNywgODIsIDIsIDY2LCAxNDcsIDE3LCA5LCAyNywgMjEwLCAxMTIsIDIsIAotICAgIDY2LCAxNDcsIDE3LCA5LCAyNywgMTA5LCAyLCAyNDQsIDE3MiwgNDAsIDE3LCA5LCAyNywgMTA5LCAyLCAyNDQsIDE3MiwgCi0gICAgNTMsIDE3LCAyMjYsIDE1MCwgNDMsIDIyNiwgNywgMjI2LCAxNTAsIDQ0LCAyMjYsIDcsIDksIDI3LCAyMTcsIDksIDIsIAotICAgIDE1MSwgMiwgNjYsIDY1LCAxNywgOSwgMjcsIDIxNywgOSwgMiwgMTIyLCAyLCAxNTEsIDQwLCAxNywgOSwgMjcsIDIxNywgOSwgCi0gICAgMiwgMTIyLCAyLCAxNTEsIDY1LCAxNywgOSwgMjcsIDIxNywgOSwgMiwgMTIyLCAyLCA2NiwgNjUsIDE3LCA5LCAyNywgMjE3LCAKLSAgICA5LCAyLCAyMzQsIDEzNiwgMiwgNjYsIDY1LCAxNywgOSwgMjcsIDIxNywgOSwgMiwgNjYsIDIsIDE1MSwgNjUsIDE3LCA5LCAKLSAgICAyNywgMjE3LCA5LCAyLCA2NiwgMiwgMTIyLCA2NSwgMTcsIDksIDI3LCAyMTcsIDksIDIsIDY2LCAyLCAyMzQsIDEzNiwgNjUsIAotICAgIDE3LCA5LCAyNywgMTUxLCAyLCA2NiwgMiwgMTIyLCA0MCwgMTcsIDksIDI3LCAxNTEsIDIsIDY2LCAyLCAxMjIsIDY1LCAxNywgCi0gICAgOSwgMjcsIDEyMiwgMiwgNjYsIDIsIDc3LCA0MCwgMTcsIDksIDI3LCAxMjIsIDIsIDY2LCAyLCAxMDksIDIzMSwgMTk4LCAKLSAgICA0MCwgMTcsIDksIDI3LCAyMjEsIDE2OSwgMiwgMTIyLCAyLCAxNTEsIDY1LCAxNywgOSwgMjcsIDIyMSwgMTY5LCAyLCAxNTEsIAotICAgIDIsIDEyMiwgNjUsIDE3LCA5LCAyNywgMjIxLCAxNjksIDIsIDE1MSwgMiwgMTA5LCAyMzEsIDE5OCwgNDAsIDE3LCA5LCAyNywgCi0gICAgMjIxLCAxNjksIDIsIDY2LCAyLCAxMjIsIDQwLCAxNywgOSwgMjcsIDIyMSwgMTY5LCAyLCA2NiwgMiwgMTIyLCA2NSwgMTcsIAotICAgIDksIDI3LCAyMjEsIDE2OSwgMiwgNjYsIDIsIDE1MSwgNjUsIDE3LCA5LCAyNywgMjIxLCAxNjksIDIsIDY2LCAyLCA2NiwgCi0gICAgNDAsIDE3LCA5LCAyNywgMjIxLCAxNjksIDIsIDY2LCAyLCA2NiwgNjUsIDE3LCA5LCAyNywgMjIyLCAyOSwgMiwgMTIyLCAyLCAKLSAgICAxMjIsIDQwLCAxNywgOSwgMjcsIDIyMiwgMjksIDIsIDEyMiwgMiwgMTIyLCA2NSwgMTcsIDksIDI3LCAyMjIsIDI5LCAyLCAKLSAgICA2NiwgMiwgNjYsIDQwLCAxNywgOSwgMjcsIDIyMCwgNjIsIDIsIDEyMiwgMiwgNjYsIDQwLCAxNywgOSwgMjcsIDIyMCwgNjIsIAotICAgIDIsIDEyMiwgMiwgNjYsIDY1LCAxNywgOSwgMjcsIDIyMCwgNjIsIDIsIDE1MSwgMiwgNzcsIDQwLCAxNywgOSwgMjcsIDIyMCwgCi0gICAgNjIsIDIsIDY2LCAyLCAyMzQsIDEzNiwgNDAsIDE3LCA5LCAyNywgMjIwLCA2MiwgMiwgNjYsIDIsIDIzNCwgMTM2LCA2NSwgCi0gICAgMTcsIDksIDI3LCAyMjAsIDYyLCAyLCA2NiwgMiwgNjYsIDQwLCAxNywgOSwgMjcsIDIyMCwgNjIsIDIsIDY2LCAyLCA2NiwgCi0gICAgNjUsIDE3LCA5LCAyNywgMjQ4LCAyMjUsIDIsIDEyMiwgMiwgMTA5LCAyMzEsIDE5OCwgNDAsIDE3LCA5LCAyNywgMjQ4LCAKLSAgICAyMjUsIDIsIDIzNCwgMTM2LCAyLCA2NiwgNDAsIDE3LCA5LCAyNywgMjQ4LCAyMjUsIDIsIDIzNCwgMTM2LCAyLCA2NiwgNjUsIAotICAgIDE3LCA5LCAyNywgMjE3LCA4MiwgMiwgNjYsIDIsIDEyMiwgNDAsIDE3LCA5LCAyNywgMjE3LCA4MiwgMiwgNjYsIDIsIDEyMiwgCi0gICAgNjUsIDE3LCA5LCAyNywgMjE3LCA4MiwgMiwgNjYsIDIsIDY2LCA2NSwgMTcsIDksIDI3LCAyMTcsIDgyLCAyLCA2NiwgMiwgCi0gICAgNzcsIDQwLCAxNywgOSwgMjcsIDI1NCwgMjA2LCAyLCAxNTEsIDIsIDY2LCA0MCwgMTcsIDksIDI3LCAyNTQsIDIwNiwgMiwgCi0gICAgNjYsIDIsIDY2LCA0MCwgMTcsIDksIDI3LCAyNTQsIDIwNiwgMiwgNjYsIDIsIDY2LCA2NSwgMTcsIDksIDI3LCAyNTQsIAotICAgIDIwNiwgMiwgNjYsIDIsIDEwOSwgMjMxLCAxOTgsIDQwLCAxNywgOSwgMjcsIDI0MiwgMjUyLCAyLCA2NiwgMiwgNjYsIDQwLCAKLSAgICAxNywgOSwgMjcsIDI0MiwgMjUyLCAyLCA2NiwgMiwgNzcsIDQwLCAxNywgOSwgMjcsIDI0MiwgMjUyLCAyLCA2NiwgMiwgCi0gICAgMTA5LCAyMzEsIDE5OCwgNDAsIDE3LCA5LCAyNywgMjQ0LCAxNTEsIDIsIDIzNCwgMTM2LCAyLCA2NiwgNDAsIDE3LCA5LCAKLSAgICAyNywgMjQ0LCAxNTEsIDIsIDIzNCwgMTM2LCAyLCA2NiwgNjUsIDE3LCA5LCAyNywgMjI0LCA4NSwgMiwgNjYsIDIsIDEyMiwgCi0gICAgNDAsIDE3LCA5LCAyNywgMjI0LCA4NSwgMiwgNjYsIDIsIDY2LCA0MCwgMTcsIDksIDI3LCAyMzMsIDEwOSwgMiwgMTIyLCAyLCAKLSAgICA2NiwgNDAsIDE3LCA5LCAyNywgMjMzLCAxMDksIDIsIDEyMiwgMiwgNzcsIDQwLCAxNywgOSwgMjcsIDIzMywgMTA5LCAyLCAKLSAgICAxMjIsIDIsIDEwOSwgMjMxLCAxOTgsIDQwLCAxNywgOSwgMjcsIDIzMywgMTA5LCAyLCAxNTEsIDIsIDE1MSwgNjUsIDE3LCAKLSAgICA5LCAyNywgMjMzLCAxMDksIDIsIDE1MSwgMiwgMTUxLCA0MCwgMTcsIDksIDI3LCAyMzMsIDEwOSwgMiwgMjM0LCAxMzYsIDIsIAotICAgIDY2LCA0MCwgMTcsIDksIDI3LCAyMzMsIDEwOSwgMiwgMjM0LCAxMzYsIDIsIDY2LCA2NSwgMTcsIDksIDI3LCAyMzMsIDEwOSwgCi0gICAgMiwgNjYsIDIsIDEyMiwgNDAsIDE3LCA5LCAyNywgMjMzLCAxMDksIDIsIDY2LCAyLCAxMjIsIDY1LCAxNywgOSwgMjcsIDY2LCAKLSAgICAyLCAxMjIsIDIsIDE1MSwgNjUsIDE3LCA5LCAyNywgNjYsIDIsIDEyMiwgMiwgNjYsIDY1LCAxNywgOSwgMjcsIDY2LCAyLCAKLSAgICAxMjIsIDIsIDc3LCA0MCwgMTcsIDksIDI3LCA2NiwgMiwgMTUxLCAyLCAxMjIsIDY1LCAxNywgOSwgMjcsIDY2LCAyLCAxNTEsIAotICAgIDIsIDY2LCA2NSwgMTcsIDksIDI3LCA2NiwgMiwgMjM0LCAxMzYsIDIsIDE1MSwgNjUsIDE3LCA5LCAyNywgNjYsIDIsIDIzNCwgCi0gICAgMTM2LCAyLCA2NiwgNjUsIDE3LCA5LCAyNywgNjYsIDIsIDE1MSwgMiwgMjM0LCAxMzYsIDY1LCAxNywgOSwgMjcsIDI0MSwgCi0gICAgMjI2LCAyLCA2NiwgMiwgMTUxLCA2NSwgMTcsIDksIDI3LCAyNDEsIDIyNiwgMiwgNjYsIDIsIDY2LCA2NSwgMTcsIDksIDI3LCAKLSAgICAyMjgsIDY4LCAyLCAxMjIsIDIsIDY2LCA2NSwgMTcsIDksIDI3LCAyMjgsIDY4LCAyLCAxMjIsIDIsIDEwOSwgMjMxLCAxOTgsIAotICAgIDQwLCAxNywgOSwgMjcsIDIyOCwgNjgsIDIsIDE1MSwgMiwgNjYsIDQwLCAxNywgOSwgMjcsIDIyOCwgNjgsIDIsIDE1MSwgMiwgCi0gICAgNjYsIDY1LCAxNywgOSwgMjcsIDIyOCwgNjgsIDIsIDE1MSwgMiwgMTA5LCAyMzEsIDE5OCwgNDAsIDE3LCA5LCAyNywgMjI4LCAKLSAgICA2OCwgMiwgNjYsIDIsIDc3LCA0MCwgMTcsIDksIDI3LCAyMjgsIDY4LCAyLCA2NiwgMiwgMTA5LCAyMzEsIDE5OCwgNDAsIAotICAgIDE3LCA5LCAyNywgNzcsIDIsIDY2LCAyLCA2NiwgNDAsIDE3LCA5LCAyNywgNzcsIDIsIDY2LCAyLCA2NiwgNjUsIDE3LCA5LCAKLSAgICAyNywgMjUyLCA2MywgMiwgMjM0LCAxMzYsIDIsIDc3LCA0MCwgMTcsIDksIDI3LCAyMTcsIDksIDIsIDE1MSwgMiwgNzcsIAotICAgIDQwLCAxNywgOSwgMjcsIDIxNywgOSwgMiwgMTUxLCAyLCAxMDksIDIzMSwgMTk4LCA0MCwgMTcsIDksIDI3LCAyMTcsIDksIAotICAgIDIsIDIzNCwgMTM2LCAyLCA3NywgNDAsIDE3LCA5LCAyNywgMjE3LCA5LCAyLCAyMzQsIDEzNiwgMiwgMTA5LCAyMzEsIDE5OCwgCi0gICAgNDAsIDE3LCA5LCAyNywgMjE3LCA5LCAyLCA2NiwgMiwgNzcsIDQwLCAxNywgOSwgMjcsIDIxNywgOSwgMiwgNjYsIDIsIAotICAgIDEwOSwgMjMxLCAxOTgsIDQwLCAxNywgOSwgMjcsIDE1MSwgMiwgNjYsIDIsIDc3LCA0MCwgMTcsIDksIDI3LCAxNTEsIDIsIAotICAgIDEyMiwgMiwgMTA5LCAyMzEsIDE5OCwgNDAsIDE3LCA5LCAyNywgMTUxLCAyLCA2NiwgMiwgMTA5LCAyMzEsIDE5OCwgNDAsIAotICAgIDE3LCA5LCAyNywgMjIxLCAxNjksIDIsIDIzNCwgMTM2LCAyLCAxMDksIDIzMSwgMTk4LCA0MCwgMTcsIDksIDI3LCAyMjIsIAotICAgIDI5LCAyLCAxMjIsIDIsIDc3LCA0MCwgMTcsIDksIDI3LCAyMjAsIDYyLCAyLCAxMjIsIDIsIDc3LCA0MCwgMTcsIDksIDI3LCAKLSAgICAyNDgsIDIyNSwgMiwgMTIyLCAyLCA3NywgNDAsIDE3LCA5LCAyNywgMjMzLCAxMDksIDIsIDE1MSwgMiwgNzcsIDQwLCAxNywgCi0gICAgOSwgMjcsIDIzMywgMTA5LCAyLCA2NiwgMiwgNzcsIDQwLCAxNywgOSwgMjcsIDc3LCAyLCAxMjIsIDIsIDc3LCA0MCwgMTcsIAotICAgIDksIDI3LCA3NywgMiwgMTUxLCAyLCA3NywgNDAsIDE3LCA5LCAyNywgNzcsIDIsIDY2LCAyLCA3NywgNDAsIDE3LCA5LCAyNywgCi0gICAgNjYsIDIsIDY2LCAyLCA3NywgNDAsIDE3LCA5LCAyNywgMjI0LCA4NSwgMiwgNjYsIDIsIDc3LCA0MCwgMTcsIDksIDI3LCAKLSAgICAyMjgsIDY4LCAyLCAxMjIsIDIsIDc3LCA0MCwgMTcsIDksIDI3LCAyMjQsIDg1LCAyLCA2NiwgMiwgMTIyLCA2NSwgMTcsIDksIAotICAgIDI3LCAyMzMsIDEwOSwgMiwgMTIyLCAyLCA2NiwgNjUsIDE3LCA5LCAyNywgMjU0LCAyMDYsIDIsIDY2LCAyLCA3NywgNDAsIAotICAgIDE3LCA5LCAyNywgMjM1LCAxLCAyLCA2NiwgMiwgNzcsIDQwLCAxNywgOSwgMjcsIDIyOCwgNjgsIDIsIDE1MSwgMiwgMTIyLCAKLSAgICA2NSwgMTcsIDksIDI3LCA2NiwgMiwgMjM0LCAxMzYsIDIsIDc3LCA0MCwgMTcsIDksIDI3LCAyMzMsIDEwOSwgMiwgMTUxLCAKLSAgICAyLCA2NiwgNjUsIDE3LCA5LCAyNywgMjM1LCAxLCAyLCA2NiwgMiwgNjYsIDQwLCAxNywgOSwgMjcsIDIzMywgMTA5LCAyLCAKLSAgICAxNTEsIDIsIDY2LCA0MCwgMTcsIDksIDI3LCAyMjgsIDY4LCAyLCAxNTEsIDIsIDEyMiwgNDAsIDE3LCA5LCAyNywgMTUxLCAKLSAgICAyLCAxMjIsIDIsIDc3LCA0MCwgMTcsIDksIDI3LCAxMjIsIDIsIDE1MSwgMiwgNzcsIDQwLCAxNywgOSwgMjcsIDY2LCAyLCAKLSAgICAxNTEsIDIsIDc3LCA0MCwgMTcsIDksIDI3LCAyNDQsIDE1MSwgMiwgNjYsIDIsIDc3LCA0MCwgMTcsIDksIDI3LCAyNTIsIAotICAgIDYzLCAyLCAxMjIsIDIsIDc3LCA0MCwgMTcsIDksIDI3LCAyMzUsIDEsIDIsIDY2LCAyLCA2NiwgNjUsIDE3LCA5LCAyNywgCi0gICAgMjU0LCAyMDYsIDIsIDE1MSwgMiwgNjYsIDY1LCAxNywgOSwgMjcsIDIyMiwgMjksIDIsIDY2LCAyLCA2NiwgNjUsIDE3LCA5LCAKLSAgICAyNywgMjIxLCAxNjksIDIsIDIzNCwgMTM2LCAyLCA3NywgNDAsIDE3LCA5LCAyNywgMjI4LCA2OCwgMiwgMTUxLCAyLCA3NywgCi0gICAgNDAsIDE3LCA5LCAyNywgMjIyLCA2LCAyMTQsIDEyOCwgMjUzLCAyNDYsIDIzNCwgMTAsIDIxOCwgMTMyLCA1LCA1MywgMTcsIAotICAgIDksIDI3LCAyMjQsIDgxLCAyMTQsIDEyOCwgMjUzLCAyNDYsIDIzNCwgMTAsIDIxOCwgMTMyLCA1LCA1MywgMTcsIDksIDI3LCAKLSAgICAyNTQsIDE2MiwgNTMsIDE3LCA5LCAyNywgMjU0LCAxOTIsIDUzLCAxNywgOSwgMjcsIDIzMCwgMTU4LCA1MywgMTcsIDksIAotICAgIDI3LCAyMjIsIDcsIDUzLCAxNywgOSwgMjcsIDIyMywgMTQ2LCA1MywgMTcsIDksIDI3LCAyNTQsIDE4MSwgNTMsIDE3LCA5LCAKLSAgICAyNywgMjEyLCA0OSwgNTMsIDE3LCA5LCAyNywgMjIyLCA2LCA1MywgMTcsIDksIDI3LCAyMjIsIDUsIDI1NCwgMTgxLCAyMTIsIAotICAgIDQ4LCA5LCAyNywgMjM1LCAxNDAsIDIyMywgMzcsIDUwLCA5LCAyNywgMjUxLCAyMzgsIDI1NCwgNDcsIDI1NCwgNDgsIDQ1LCAKLSAgICAyMjEsIDE1OCwgNDUsIDIyMSwgNDcsIDQ1LCAyMjAsIDIzNSwgNDUsIDIyMCwgMjI0LCA0NSwgMjIwLCAyMTMsIDQ1LCAyMjAsIAotICAgIDIwMiwgNDUsIDIyMCwgMTkxLCA0NSwgMjIwLCAxODAsIDQ1LCAyMjAsIDE2OSwgNDUsIDIyMSwgMTU3LCA0NSwgMjIxLCAKLSAgICAxNDYsIDQ1LCAyMjEsIDEzNSwgNDUsIDIyMSwgMTI0LCA0NSwgMjIxLCAxMTMsIDQ1LCAyMjEsIDEwMiwgNDUsIDIyMSwgOTEsIAotICAgIDIyNCwgMTk3LCAyNDQsIDI4LCAzMSwgNjcsIDI0OSwgMjI3LCAyMjQsIDE5NywgMjQ0LCAyOCwgMzEsIDY3LCAxMTAsIDI0OSwgCi0gICAgMjI3LCAyMjQsIDE5NywgMjQ0LCAyOCwgMzEsIDY3LCAxMTAsIDI0MywgMjM2LCAyMTgsIDEzMSwgMjI0LCAxOTcsIDI0NCwgCi0gICAgMjgsIDMxLCA2NywgMjQ5LCAyMzQsIDIyNCwgMTk3LCAyNDQsIDI4LCAzMSwgNjcsIDIyMCwgMTUyLCAyMjQsIDE5NywgMjQ0LCAKLSAgICAyOCwgMzEsIDY3LCAyNDUsIDM5LCA3OSwgMjI0LCAxOTcsIDI0NCwgMjgsIDMxLCA2NywgMjI0LCAxNiwgNzksIDIyNCwgCi0gICAgMTk3LCAyNDQsIDI4LCAzMSwgNjcsIDQzLCA3MSwgMjMzLCAyNiwgMTI3LCAyMjQsIDE5NywgMjQ0LCAyOCwgMzEsIDY3LCAKLSAgICA0NCwgNzEsIDIzMywgMjYsIDI1MSwgMTY0LCAyMjQsIDE5NywgMjQ0LCAyOCwgMzEsIDY3LCAyMDMsIDI0NSwgMTcxLCAzOCwgCi0gICAgMjcsIDQzLCAyNDIsIDM0LCAzOCwgMjcsIDQ0LCAyNDIsIDM0LCAzOCwgNTIsIDIxNiwgOTAsIDQzLCAyNDIsIDM0LCAzOCwgCi0gICAgNTIsIDIxNiwgOTAsIDQ0LCAyNDIsIDM0LCAzOCwgMjMxLCAyMzgsIDQzLCAyNDIsIDM0LCAzOCwgMjMxLCAyMzgsIDQ0LCAKLSAgICAyNDIsIDM0LCAzOCwgMjQ5LCAyMDUsIDIzMSwgMjM3LCAyMjQsIDE5NywgMjQ0LCAyOCwgMzEsIDY3LCAxMTMsIDU5LCAyMzMsIAotICAgIDYyLCAyMjQsIDE5NywgMjQ0LCAyOCwgMzEsIDY3LCAyNDUsIDE2OCwgMjQ4LCAxNjQsIDIyNCwgMTk3LCAyNDQsIDI4LCAzMSwgCi0gICAgNjcsIDI0NSwgMTU5LCAyNDgsIDE2NCwgMjI0LCAxOTcsIDI0NCwgMjgsIDMxLCA2NywgMTIxLCAyMzIsIDIxOSwgMjI0LCAKLSAgICAxOTcsIDI0NCwgMjgsIDMxLCA2NywgMjEyLCAzMiwgMTIxLCAyMzIsIDIxOSwgMjI0LCAxOTcsIDI0NCwgMjgsIDMxLCA2NywgCi0gICAgNDMsIDIyNiwgNywgMjI0LCAxOTcsIDI0NCwgMjgsIDMxLCA2NywgNDQsIDIyNiwgNywgMjI0LCAxOTcsIDI0NCwgMjgsIDMxLCAKLSAgICA2NywgNDMsIDI0OSwgMTA3LCAxMjcsIDIyNCwgMTk3LCAyNDQsIDI4LCAzMSwgNjcsIDQ0LCAyNDksIDEwNywgMTI3LCAyMjQsIAotICAgIDE5NywgMjQ0LCAyOCwgMzEsIDY3LCA0MywgMjE2LCA3LCAyMjAsIDU1LCAxMjcsIDIyNCwgMTk3LCAyNDQsIDI4LCAzMSwgCi0gICAgNjcsIDQ0LCAyMTYsIDcsIDIyMCwgNTUsIDEyNywgMjI0LCAxOTcsIDI0NCwgMjgsIDMxLCA2NywgNDMsIDg1LCAyMzMsIDI2LCAKLSAgICAxMjcsIDIyNCwgMTk3LCAyNDQsIDI4LCAzMSwgNjcsIDQ0LCA4NSwgMjMzLCAyNiwgMTI3LCAyMjQsIDE5NywgMjQ0LCAyOCwgCi0gICAgMzEsIDY3LCA0MywgNTIsIDI1NCwgMTE4LCAxMjcsIDIyNCwgMTk3LCAyNDQsIDI4LCAzMSwgNjcsIDQ0LCA1MiwgMjU0LCAKLSAgICAxMTgsIDEyNywgMjI0LCAxOTcsIDI0NCwgMjgsIDMxLCA2NywgNDMsIDI1NCwgMTE4LCAxMjcsIDIyNCwgMTk3LCAyNDQsIAotICAgIDI4LCAzMSwgNjcsIDQ0LCAyNTQsIDExOCwgMTI3LCAyMjQsIDE5NywgMjQ0LCAyOCwgMzEsIDY3LCA0MywgMjQ5LCAxNjksIAotICAgIDEyNywgMjI0LCAxOTcsIDI0NCwgMjgsIDMxLCA2NywgNDQsIDI0OSwgMTY5LCAxMjcsIDIyNCwgMTk3LCAyNDQsIDI4LCAzMSwgCi0gICAgNjcsIDQzLCA3MSwgMjQ5LCAxNjksIDEyNywgMjI0LCAxOTcsIDI0NCwgMjgsIDMxLCA2NywgNDQsIDcxLCAyNDksIDE2OSwgCi0gICAgMTI3LCAyMjAsIDEzMywgMjQ3LCAxMjgsIDcxLCAyMjAsIDEzMywgMjQ3LCAxMjgsIDIyNCwgMTk3LCAyNDQsIDI4LCAzMSwgCi0gICAgNjcsIDQzLCA0MiwgMTI3LCAyMjQsIDE5NywgMjQ0LCAyOCwgMzEsIDY3LCA0NCwgNDIsIDEyNywgMjQ4LCAxNjMsIDIyNiwgCi0gICAgMTIzLCAyNTAsIDE4MCwgMjI2LCAxMjMsIDIxMiwgMzIsIDIyNiwgMTIzLCA1MiwgMjEyLCAzMiwgMjI2LCAxMjMsIDI0OCwgCi0gICAgMTYzLCAxMjEsIDIzMiwgMjE5LCAyNTAsIDE4MCwgMTIxLCAyMzIsIDIxOSwgMjEyLCAzMiwgMTIxLCAyMzIsIDIxOSwgNCwgCi0gICAgMjQ5LCAyMjcsIDQsIDExMCwgMjQ5LCAyMjcsIDQsIDI0MywgMjM2LCAyMTgsIDEzMSwgNCwgMjIwLCAxNTIsIDQsIDI0OSwgCi0gICAgMjM0LCA0LCAyMjQsIDE2LCA3OSwgNCwgMjQ1LCAzOSwgNzksIDQsIDI0NSwgMTY4LCAyNDgsIDE2NCwgNCwgNDMsIDIyNiwgCi0gICAgNywgNCwgNDQsIDIyNiwgNywgNCwgNDMsIDI0OSwgMTA3LCAxMjcsIDQsIDQ0LCAyNDksIDEwNywgMTI3LCA0LCA0MywgMjE2LCAKLSAgICA3LCAyMjAsIDU1LCAxMjcsIDQsIDQ0LCAyMTYsIDcsIDIyMCwgNTUsIDEyNywgNCwgNTQsIDUwLCA0LCAyNTQsIDEzNCwgNCwgCi0gICAgMjUzLCAyMjQsIDQsIDk2LCA1MCwgNCwgMjQwLCAxNzQsIDQsIDIzMywgMjEsIDUwLCA0LCAyNDIsIDEzNywgNTAsIDQsIAotICAgIDI0NSwgMTA2LCA1MCwgNCwgMjIzLCA1MywgMjE5LCA0OCwgNCwgMjQ3LCAxNDAsIDUwLCA0LCAyMjUsIDE4NSwgNTAsIDQsIAotICAgIDI0OSwgMjI1LCAyNTMsIDIxNCwgOSwgMjQ0LCAxNzIsIDUzLCAxNywgOSwgMjE3LCA0NSwgMiwgMjQ0LCAxNzIsIDQ4LCA5LCAKLSAgICAyNDgsIDE5MSwgNTMsIDE3LCA5LCAyMTcsIDc5LCAyNDQsIDksIDksIDIzNCwgMjEwLCA1MywgMTcsIDksIDI0NCwgMTc0LCAKLSAgICA1MywgMTcsIDksIDI0NCwgMTc0LCAxNDcsIDE3LCA5LCAyNDgsIDE5MywgNTMsIDE3LCA5LCAyNDgsIDE5MywgMTQ3LCAxNywgCi0gICAgOSwgMjM0LCAyMTIsIDUzLCAxNywgOSwgMjM0LCAyMTIsIDE0NywgMTcsIDksIDIyMCwgOTYsIDUzLCAxNywgOSwgMjIwLCAKLSAgICA5NiwgMTQ3LCAxNywgOSwgMjE4LCA0NywgNTMsIDE3LCA5LCAyMTgsIDQ3LCAxNDcsIDE3LCA5LCAxLCAxODIsIDUzLCAxNywgCi0gICAgOSwgMSwgMTA5LCAyLCAyMzEsIDIzMywgNzIsIDUzLCAxNywgOSwgMSwgMTA5LCAyLCAyMzEsIDIzMywgNzIsIDQwLCAxNywgCi0gICAgOSwgMSwgMTA5LCAyLCAxODIsIDcyLCA1MywgMTcsIDksIDEsIDEwOSwgMiwgMTgyLCA3MiwgNDAsIDE3LCA5LCAxLCAyMTIsIAotICAgIDMxLCAyLCAxODIsIDcyLCA1MywgMTcsIDksIDEsIDIxMiwgMzEsIDIsIDE4MiwgNzIsIDQwLCAxNywgOSwgMSwgMTA5LCAyLCAKLSAgICAxODIsIDI1MiwgNTEsIDUzLCAxNywgOSwgMSwgMTA5LCAyLCAxODIsIDI1MiwgNTEsIDQwLCAxNywgOSwgMSwgNzcsIDIsIAotICAgIDE4MiwgNzIsIDUzLCAxNywgOSwgMSwgNzcsIDIsIDE4MiwgNzIsIDQwLCAxNywgOSwgMSwgNzcsIDIsIDE4MiwgNzIsIDY1LCAKLSAgICAxNywgOSwgMSwgNzcsIDIsIDE4MiwgNzIsIDE0NywgMTcsIDksIDEsIDEwOSwgNTMsIDE3LCA5LCAxLCAxMDksIDQwLCAxNywgCi0gICAgOSwgMSwgMjUyLCA2MywgNTMsIDE3LCA5LCAxLCAyNTIsIDYzLCA0MCwgMTcsIDksIDEsIDI1MiwgNjMsIDY1LCAxNywgOSwgCi0gICAgMSwgMjUyLCA2MywgMTQ3LCAxNywgOSwgMSwgMjE3LCA5LCAyMzEsIDE3MCwgNTMsIDE3LCA5LCAxLCAyMTcsIDksIDIzMSwgCi0gICAgMTcwLCA0MCwgMTcsIDksIDEsIDIxNywgOSwgNTMsIDE3LCA5LCAxLCAyMTcsIDksIDQwLCAxNywgOSwgMSwgMjE3LCA5LCAKLSAgICA2NSwgMTcsIDksIDEsIDIxNywgOSwgMTQ3LCAxNywgOSwgMSwgMjE2LCAxOTQsIDUzLCAxNywgOSwgMSwgMjE2LCAxOTQsIAotICAgIDQwLCAxNywgOSwgMSwgMjE2LCAxOTQsIDY1LCAxNywgOSwgMSwgMjE2LCAxOTQsIDE0NywgMTcsIDksIDEsIDE1MSwgNTMsIAotICAgIDE3LCA5LCAxLCAxNTEsIDQwLCAxNywgOSwgMSwgMTUxLCA2NSwgMTcsIDksIDEsIDE1MSwgMTQ3LCAxNywgOSwgMSwgMTIyLCAKLSAgICA1MywgMTcsIDksIDEsIDEyMiwgNDAsIDE3LCA5LCAxLCAxMjIsIDY1LCAxNywgOSwgMSwgMTIyLCAxNDcsIDE3LCA5LCAxLCAKLSAgICAyMzQsIDEzNiwgNTMsIDE3LCA5LCAxLCAyMzQsIDEzNiwgNDAsIDE3LCA5LCAxLCAyMzQsIDEzNiwgNjUsIDE3LCA5LCAxLCAKLSAgICAyMzQsIDEzNiwgMTQ3LCAxNywgOSwgMSwgMjQ4LCAyMDQsIDUzLCAxNywgOSwgMSwgMjQ4LCAyMDQsIDQwLCAxNywgOSwgMSwgCi0gICAgMjE2LCAyMDQsIDUzLCAxNywgOSwgMSwgMjE2LCAyMDQsIDQwLCAxNywgOSwgMSwgMjIzLCA5OSwgNTMsIDE3LCA5LCAxLCAKLSAgICAyMjMsIDk5LCA0MCwgMTcsIDksIDEsIDIxMCwgMTA5LCA1MywgMTcsIDksIDEsIDIxMCwgMTA5LCA0MCwgMTcsIDksIDEsIAotICAgIDIyMSwgMTY5LCA1MywgMTcsIDksIDEsIDIyMSwgMTY5LCA0MCwgMTcsIDksIDEsIDIyMSwgMTY5LCA2NSwgMTcsIDksIDEsIAotICAgIDIyMSwgMTY5LCAxNDcsIDE3LCA5LCAxLCAyMjAsIDYyLCA1MywgMTcsIDksIDEsIDIyMCwgNjIsIDQwLCAxNywgOSwgMSwgCi0gICAgMjIwLCA2MiwgNjUsIDE3LCA5LCAxLCAyMjAsIDYyLCAxNDcsIDE3LCA5LCAxLCAyMjIsIDI5LCA1MywgMTcsIDksIDEsIAotICAgIDIyMiwgMjksIDQwLCAxNywgOSwgMSwgMjIyLCAyOSwgNjUsIDE3LCA5LCAxLCAyMjIsIDI5LCAxNDcsIDE3LCA5LCAxLCAKLSAgICAyNDgsIDIyNSwgNTMsIDE3LCA5LCAxLCAyNDgsIDIyNSwgNDAsIDE3LCA5LCAxLCAyNDgsIDIyNSwgNjUsIDE3LCA5LCAxLCAKLSAgICAyNDgsIDIyNSwgMTQ3LCAxNywgOSwgMSwgMjE3LCA4MiwgNTMsIDE3LCA5LCAxLCAyMTcsIDgyLCA0MCwgMTcsIDksIDEsIAotICAgIDIxNywgODIsIDY1LCAxNywgOSwgMSwgMjE3LCA4MiwgMTQ3LCAxNywgOSwgMSwgMjEwLCAxMTIsIDUzLCAxNywgOSwgMSwgCi0gICAgMjEwLCAxMTIsIDQwLCAxNywgOSwgMSwgMjEwLCAxMTIsIDY1LCAxNywgOSwgMSwgMjEwLCAxMTIsIDE0NywgMTcsIDksIDEsIAotICAgIDI1NCwgMjA2LCA1MywgMTcsIDksIDEsIDI1NCwgMjA2LCA0MCwgMTcsIDksIDEsIDI1NCwgMjA2LCA2NSwgMTcsIDksIDEsIAotICAgIDI1NCwgMjA2LCAxNDcsIDE3LCA5LCAxLCAyNDIsIDI1MiwgNTMsIDE3LCA5LCAxLCAyNDIsIDI1MiwgNDAsIDE3LCA5LCAxLCAKLSAgICAyNDIsIDI1MiwgNjUsIDE3LCA5LCAxLCAyNDIsIDI1MiwgMTQ3LCAxNywgOSwgMSwgMjQ0LCAxNTEsIDUzLCAxNywgOSwgMSwgCi0gICAgMjQ0LCAxNTEsIDQwLCAxNywgOSwgMSwgMjQ0LCAxNTEsIDY1LCAxNywgOSwgMSwgMjQ0LCAxNTEsIDE0NywgMTcsIDksIDEsIAotICAgIDIyNCwgODUsIDUzLCAxNywgOSwgMSwgMjI0LCA4NSwgNDAsIDE3LCA5LCAxLCAyMjQsIDg1LCA2NSwgMTcsIDksIDEsIDIyNCwgCi0gICAgODUsIDE0NywgMTcsIDksIDEsIDIzNSwgMSwgNTMsIDE3LCA5LCAxLCAyMzUsIDEsIDQwLCAxNywgOSwgMSwgMjM1LCAxLCAKLSAgICA2NSwgMTcsIDksIDEsIDIzNSwgMSwgMTQ3LCAxNywgOSwgMSwgMjMzLCAxMDksIDUzLCAxNywgOSwgMSwgMjMzLCAxMDksIAotICAgIDQwLCAxNywgOSwgMSwgMjMzLCAxMDksIDY1LCAxNywgOSwgMSwgMjMzLCAxMDksIDE0NywgMTcsIDksIDEsIDY2LCA1MywgCi0gICAgMTcsIDksIDEsIDY2LCA0MCwgMTcsIDksIDEsIDY2LCA2NSwgMTcsIDksIDEsIDY2LCAxNDcsIDE3LCA5LCAxLCAyMjgsIDY4LCAKLSAgICA1MywgMTcsIDksIDEsIDIyOCwgNjgsIDQwLCAxNywgOSwgMSwgMjI4LCA2OCwgNjUsIDE3LCA5LCAxLCAyMjgsIDY4LCAxNDcsIAotICAgIDE3LCA5LCAxLCAyNDEsIDIyNiwgNTMsIDE3LCA5LCAxLCAyNDEsIDIyNiwgNDAsIDE3LCA5LCAxLCAyNDEsIDIyNiwgNjUsIAotICAgIDE3LCA5LCAxLCAyNDEsIDIyNiwgMTQ3LCAxNywgOSwgMSwgMjEyLCAzMSwgNTMsIDE3LCA5LCAxLCAyMTIsIDMxLCA0MCwgCi0gICAgMTcsIDksIDEsIDEwOSwgMjMxLCAxOTgsIDUzLCAxNywgOSwgMSwgMTA5LCAyMzEsIDE5OCwgNDAsIDE3LCA5LCAxLCA3NywgCi0gICAgNTMsIDE3LCA5LCAxLCA3NywgNDAsIDE3LCA5LCAxLCA3NywgNjUsIDE3LCA5LCAxLCA3NywgMTQ3LCAxNywgOSwgMjcsIAotICAgIDIzMywgMTA5LCAyLCAxMDksIDIsIDIzMSwgMjMzLCA3MiwgNTMsIDE3LCA5LCAyNywgMjMzLCAxMDksIDIsIDEwOSwgMiwgCi0gICAgMjMxLCAyMzMsIDcyLCA0MCwgMTcsIDksIDI3LCAyMzMsIDEwOSwgMiwgMTA5LCAyLCAxODIsIDcyLCA1MywgMTcsIDksIDI3LCAKLSAgICAyMzMsIDEwOSwgMiwgMTA5LCAyLCAxODIsIDcyLCA0MCwgMTcsIDksIDI3LCAyMzMsIDEwOSwgMiwgMTA5LCAyLCAxODIsIAotICAgIDI1MiwgNTEsIDUzLCAxNywgOSwgMjcsIDIzMywgMTA5LCAyLCAxMDksIDIsIDE4MiwgMjUyLCA1MSwgNDAsIDE3LCA5LCAyNywgCi0gICAgMjMzLCAxMDksIDIsIDEwOSwgNTMsIDE3LCA5LCAyNywgMjMzLCAxMDksIDIsIDEwOSwgNDAsIDE3LCAyMTAsIDg3LCAyMTEsIAotICAgIDI0NSwgMjI4LCA3OCwgMjE5LCAyMCwgMTI2LCAyNDUsIDM5LCA3OSwgMTI2LCAyMjQsIDEsIDc5LCAxMjYsIDU0LCA1MCwgCi0gICAgMTI2LCAyNDcsIDE0MCwgNTAsIDEyNiwgMjI1LCAxODUsIDUwLCAxMjYsIDI1NCwgMTM0LCAxMjYsIDI1NCwgNjUsIDEyNiwgCi0gICAgNDMsIDIyNiwgNywgMTI2LCA0NCwgMjI2LCA3LCAxMjYsIDI1MywgMjI0LCAxMjYsIDk2LCA1MCwgMTI2LCAyNDksIDIyNywgCi0gICAgMTI2LCAyNDAsIDE3NCwgMTI2LCAyNDMsIDIzNiwgMjE4LCAxMzEsIDEyNiwgMjE5LCA0OCwgMTI2LCAyMSwgMjEwLCA4NiwgCi0gICAgMTI2LCAyMSwgMTExLCAxMjYsIDIxLCAxMDUsIDEyNiwgMjEsIDE1OCwgMTI2LCAyMSwgMTYxLCAxMjYsIDIxLCAxOTAsIAotICAgIDEyNiwgMjEsIDE5NSwgMTI2LCAyMSwgMTk5LCAxMjYsIDIxLCAxOTYsIDEyNiwgMjEsIDIwMSwgMTI2LCAyNDksIDIzNCwgCi0gICAgMTI2LCAyMjAsIDE1MiwgMTI2LCAyMzMsIDIxLCA1MCwgMTI2LCAyNDUsIDEwNiwgNTAsIDEyNiwgMjQyLCAxMzcsIDUwLCAKLSAgICAxMjYsIDIyNCwgMTYsIDc5LCAxMjYsIDI0OSwgMjI1LCAyNTMsIDIxNCwgMTI2LCA3LCA2LCAxLCA2MSwgMTI2LCA3LCA2LCAKLSAgICAxLCAyNTMsIDE2NiwgMTI2LCA3LCA2LCAxLCAyNTEsIDc0LCAxMjYsIDcsIDYsIDEsIDI0OSwgNjgsIDEyNiwgNywgNiwgMSwgCi0gICAgNzYsIDEyNiwgNywgNiwgMSwgMjQ1LCAxNCwgMTI2LCA3LCA2LCAxLCAyNDMsIDIwOSwgMTI2LCA3LCA2LCAxLCAyNDIsIDY3LCAKLSAgICAxMjYsIDcsIDYsIDEsIDc0LCAxMjYsIDcsIDYsIDEsIDIzNSwgMTUwLCAxMjYsIDcsIDYsIDEsIDIzNSwgMjksIDEyNiwgNywgCi0gICAgNiwgMSwgMTU2LCAxMjYsIDcsIDYsIDEsIDE5NCwgMTI2LCA3LCA2LCAxLCAyMzAsIDMwLCAxMjYsIDcsIDYsIDEsIDc4LCAKLSAgICAxMjYsIDcsIDYsIDEsIDIyNiwgMTA5LCAxMjYsIDcsIDYsIDEsIDIyNCwgOTksIDEyNiwgNywgNiwgMSwgMTUzLCAxMjYsIDcsIAotICAgIDYsIDEsIDIyMiwgOTMsIDEyNiwgNywgNiwgMSwgMjE3LCAxNTMsIDEyNiwgNywgNiwgMSwgNjksIDEyNiwgNywgNiwgMSwgCi0gICAgMjE0LCAxMDUsIDEyNiwgNywgNiwgMSwgMjEyLCA5OCwgMTI2LCA3LCA2LCAxLCAyMTEsIDE3OCwgMTI2LCA3LCA2LCAxLCAKLSAgICAyMTEsIDExNywgMTI2LCA3LCA2LCAxLCAyMTAsIDE1OSwgMTI2LCA0MywgNDIsIDEyNywgMTI2LCAyMjMsIDUzLCAyMTksIAotICAgIDQ4LCAxMjYsIDQ0LCA0MiwgMTI3LCAxMjYsIDI1MCwgMzksIDI1NSwgMjMsIDEyNiwgMTIxLCAyMzIsIDIxOSwgMTI2LCAKLSAgICAyNDIsIDE0NCwgMjU1LCAyMywgMTI2LCA3LCA0LCAxLCA2MSwgMTI2LCA3LCA0LCAxLCAyNTMsIDE2NiwgMTI2LCA3LCA0LCAKLSAgICAxLCAyNTEsIDc0LCAxMjYsIDcsIDQsIDEsIDI0OSwgNjgsIDEyNiwgNywgNCwgMSwgNzYsIDEyNiwgNywgNCwgMSwgMjQ1LCAKLSAgICAxNCwgMTI2LCA3LCA0LCAxLCAyNDMsIDIwOSwgMTI2LCA3LCA0LCAxLCAyNDIsIDY3LCAxMjYsIDcsIDQsIDEsIDc0LCAxMjYsIAotICAgIDcsIDQsIDEsIDIzNSwgMTUwLCAxMjYsIDcsIDQsIDEsIDIzNSwgMjksIDEyNiwgNywgNCwgMSwgMTU2LCAxMjYsIDcsIDQsIAotICAgIDEsIDE5NCwgMTI2LCA3LCA0LCAxLCAyMzAsIDMwLCAxMjYsIDcsIDQsIDEsIDc4LCAxMjYsIDcsIDQsIDEsIDIyNiwgMTA5LCAKLSAgICAxMjYsIDcsIDQsIDEsIDIyNCwgOTksIDEyNiwgNywgNCwgMSwgMTUzLCAxMjYsIDcsIDQsIDEsIDIyMiwgOTMsIDEyNiwgNywgCi0gICAgNCwgMSwgMjE3LCAxNTMsIDEyNiwgNywgNCwgMSwgNjksIDEyNiwgNywgNCwgMSwgMjE0LCAxMDUsIDEyNiwgNywgNCwgMSwgCi0gICAgMjEyLCA5OCwgMTI2LCA3LCA0LCAxLCAyMTEsIDE3OCwgMTI2LCA3LCA0LCAxLCAyMTEsIDExNywgMTI2LCA3LCA0LCAxLCAKLSAgICAyMTAsIDE1OSwgMTI2LCA0MywgMjQ5LCAxMDcsIDEyNywgMTI2LCA2NywgMjMyLCAyMTksIDEyNiwgNDQsIDI0OSwgMTA3LCAKLSAgICAxMjcsIDEyNiwgMTg0LCAxMjYsIDQzLCA3MSwgMjI2LCA3LCAxMjYsIDQ0LCA3MSwgMjI2LCA3LCAxMDEsIDExMCwgMjQzLCAKLSAgICAyMzYsIDIxOCwgMTMxLCAxMDEsIDQzLCAyNDksIDE2OSwgMTI3LCAxMDEsIDQ0LCAyNDksIDE2OSwgMTI3LCAxMDEsIDExMCwgCi0gICAgMjQ5LCAyMjcsIDEwMSwgNTYsIDIzMCwgMjI5LCAyNDcsIDEyOCwgMTAxLCA1NiwgMSwgMjExLCAyMjcsIDEwMSwgNTYsIDEsIAotICAgIDQsIDYxLCAxMDEsIDU2LCAxLCA0LCA3NCwgMTAxLCA1NiwgMSwgNCwgNjksIDEwMSwgNTYsIDEsIDQsIDc2LCAxMDEsIDU2LCAKLSAgICAxLCA0LCA3OCwgMTAxLCA1NiwgMSwgNCwgMTkyLCAxMDEsIDU2LCAxLCA0LCAyMTAsIDIxMiwgMTAxLCA1NiwgMSwgNCwgCi0gICAgMjEwLCAyNDQsIDEwMSwgNTYsIDEsIDQsIDIxNSwgMTE5LCAxMDEsIDIzNCwgMjA3LCAyMjQsIDE3NiwgMjE5LCAzMywgNzksIAotICAgIDEwMSwgNTYsIDEsIDYxLCAxMDEsIDU2LCAxLCA3NCwgMTAxLCA1NiwgMSwgNjksIDEwMSwgNTYsIDEsIDc2LCAxMDEsIDU2LCAKLSAgICAxLCA3OCwgMTAxLCA1NiwgMSwgMTc2LCAxMDEsIDU2LCAxLCAyMzQsIDk4LCAxMDEsIDU2LCAxLCAyMzMsIDIyMywgMTAxLCAKLSAgICA1NiwgMSwgMjM0LCAxODgsIDEwMSwgNTYsIDEsIDIzNCwgMzQsIDEwMSwgNTYsIDEsIDIwNiwgMTAxLCA1NiwgMSwgMjE5LCAKLSAgICAxOTMsIDEwMSwgNTYsIDEsIDIxOCwgODQsIDEwMSwgNTYsIDEsIDIyMSwgMTgzLCAxMDEsIDU2LCAxLCAyMTksIDYwLCAxMDEsIAotICAgIDU2LCAxLCAyMTcsIDEwNiwgMTAxLCA1NiwgMSwgMjE2LCAxMTgsIDEwMSwgNTYsIDEsIDIxNSwgMTE5LCAxMDEsIDU2LCAxLCAKLSAgICAyMTcsIDIzLCAxMDEsIDU2LCAxLCAxMTIsIDEwMSwgNTYsIDEsIDE5OCwgMTAxLCA1NiwgMSwgMjI4LCAyMzgsIDEwMSwgNTYsIAotICAgIDEsIDIyNywgMjQyLCAxMDEsIDU2LCAxLCAyMjksIDExMiwgMTAxLCA1NiwgMSwgMjI4LCA3OSwgMTAxLCA1NiwgMSwgMTYyLCAKLSAgICAxMDEsIDU2LCAxLCAyNDEsIDE4NywgMTAxLCA1NiwgMSwgMjQwLCAyMjksIDEwMSwgNTYsIDEsIDI0MSwgMjQ1LCAxMDEsIAotICAgIDU2LCAxLCAyNDEsIDc1LCAxMDEsIDU2LCAxLCAxODYsIDEwMSwgNTYsIDEsIDIzMCwgMjM1LCAxMDEsIDU2LCAxLCAyMzAsIAotICAgIDEwNywgMTAxLCA1NiwgMSwgMjMxLCA5NiwgMTAxLCA1NiwgMSwgMjMwLCAxNjYsIDEwMSwgNTYsIDEsIDE5MiwgMTAxLCA1NiwgCi0gICAgMSwgMjEwLCAyMTIsIDEwMSwgNTYsIDEsIDIxMCwgMjQ0LCAxMDEsIDU2LCAxLCAyMDUsIDEwMSwgNTYsIDEsIDIyMywgMzgsIAotICAgIDEwMSwgNTYsIDEsIDIyMiwgMTQyLCAxMDEsIDU2LCAxLCAyMjMsIDEzMSwgMTAxLCA1NiwgMSwgMjIyLCAyMTMsIDEwMSwgCi0gICAgNTYsIDEsIDIxMiwgNjUsIDEwMSwgNTYsIDEsIDIzMCwgMzAsIDEwMSwgNTYsIDIxMywgMTM1LCAyMTksIDMzLCA3OSwgMTAxLCAKLSAgICA1NiwgMjIwLCAxNTcsIDIxOSwgMzMsIDc5LCAxMDEsIDI0LCAyNDQsIDExMSwgMTAxLCAyNCwgMSwgMjM0LCA2NCwgMTAxLCAKLSAgICAyNCwgMSwgMjE4LCAyMTcsIDEwMSwgMjQsIDEsIDIzNCwgNTcsIDEwMSwgMjQsIDEsIDIyOCwgMjMxLCAxMDEsIDI0LCAxLCAKLSAgICAyMjgsIDIyOSwgMTAxLCAyNCwgMSwgMjI4LCAyMjgsIDEwMSwgMjQsIDEsIDIxNiwgMTAyLCAxMDEsIDI0LCAxLCAyMTgsIAotICAgIDIwNiwgMTAxLCAyNCwgMSwgMjIzLCAyOSwgMTAxLCAyNCwgMSwgMjIzLCAyNCwgMTAxLCAyNCwgMSwgMjIzLCAyMSwgMTAxLCAKLSAgICAyNCwgMSwgMjIzLCAxNCwgMTAxLCAyNCwgMSwgMjIzLCA5LCAxMDEsIDI0LCAxLCAyMjMsIDQsIDEwMSwgMjQsIDEsIDIyMywgCi0gICAgMTUsIDEwMSwgMjQsIDEsIDIyMywgMjcsIDEwMSwgMjQsIDEsIDIzMCwgMjIyLCAxMDEsIDI0LCAxLCAyMjUsIDk4LCAxMDEsIAotICAgIDI0LCAxLCAyMTgsIDIxNCwgMTAxLCAyNCwgMSwgMjI1LCA4NywgMTAxLCAyNCwgMSwgMjE5LCAxNTAsIDEwMSwgMjQsIDEsIAotICAgIDIxOCwgMjExLCAxMDEsIDI0LCAxLCAyMzYsIDYzLCAxMDEsIDI0LCAxLCAyNTAsIDU0LCAxMDEsIDI0LCAxLCAyMTgsIDIyMSwgCi0gICAgMTAxLCAyNCwgMSwgMjUwLCAxMTQsIDEwMSwgMjQsIDEsIDIzNCwgMTE2LCAxMDEsIDI0LCAxLCAyMTYsIDE3NCwgMTAxLCAKLSAgICAyNCwgMSwgMjI1LCAxMzQsIDEwMSwgMjQsIDEsIDI0MSwgMTc5LCAxMDEsIDI0LCAxLCA2MSwgMTAxLCAyNCwgMSwgMjU0LCAKLSAgICAyNTIsIDEwMSwgMjQsIDEsIDE5MiwgMTAxLCAyNCwgMSwgMjExLCA5MiwgMTAxLCAyNCwgMSwgMjQ1LCAxMjUsIDEwMSwgMjQsIAotICAgIDEsIDc2LCAxMDEsIDI0LCAxLCAyMTEsIDM2LCAxMDEsIDI0LCAxLCAyMTEsIDQ3LCAxMDEsIDI0LCAxLCA3OCwgMTAxLCAyNCwgCi0gICAgMSwgMjEyLCA2NSwgMTAxLCAyNCwgMSwgMjEyLCA2MiwgMTAxLCAyNCwgMSwgMjI2LCAyMzgsIDEwMSwgMjQsIDEsIDIxMCwgCi0gICAgMjQ0LCAxMDEsIDI0LCAxLCA2OSwgMTAxLCAyNCwgMSwgMjEyLCAxMSwgMTAxLCAyNCwgMSwgMjEyLCAyMiwgMTAxLCAyNCwgCi0gICAgMSwgMjExLCAyNTAsIDEwMSwgMjQsIDEsIDIxMCwgMjEyLCAxMDEsIDI0LCAxLCAyNDUsIDYzLCAxMDEsIDI0LCAxLCAyMTEsIAotICAgIDgsIDEwMSwgMjQsIDEsIDc0LCAxMjYsIDI1MCwgMTg0LCA1MCwgMTI2LCAyMjQsIDIzMSwgNTAsIDEyNiwgMjI4LCA1NywgCi0gICAgNTAsIDEyNiwgMjMxLCAyMzcsIDEyNiwgMjUxLCAxNDMsIDEzMCwgMTI2LCAyMTEsIDQwLCA1MCwgMTI2LCAyMTEsIDIxNywgCi0gICAgNTAsIDEwMSwgMjQ0LCAyNiwgMTkzLCAyMTMsIDIzOSwgMTAxLCAxNDAsIDc1LCAxMDEsIDIxNCwgMTUzLCA3NSwgMTAxLCAKLSAgICA5NywgNzUsIDEwMSwgMjQ2LCAxMTIsIDc1LCAxMDEsIDg1LCAyMTgsIDIzNiwgMTAxLCA3MSwgMjUwLCA0MywgMjM1LCAyMTEsIAotICAgIDI1NCwgMTA3LCAyNTQsIDEyOCwgMjM1LCAyMTEsIDI1NCwgMTA3LCAyMjAsIDEzOSwgMjM1LCAyMTEsIDI1NCwgMTA3LCAKLSAgICAyMTYsIDIzNywgMjI2LCAyNTMsIDIyMywgNzUsIDI1MCwgMTUwLCAyMjMsIDc1LCAyNTAsIDE1MCwgNjIsIDU3LCAzLCAyNTMsIAotICAgIDE1MCwgNjEsIDYyLCA1NywgMywgMjUzLCAxMTksIDc2LCA2MiwgNTcsIDMsIDI1MywgMTI4LCA3NCwgNjIsIDU3LCAzLCAKLSAgICAyNTMsIDk2LCA3OCwgNjIsIDU3LCAzLCAyNTMsIDE0NiwgNjksIDYyLCA1NywgMywgMjUzLCAxNjUsIDI0OCwgMjI5LCA2MiwgCi0gICAgNTcsIDMsIDI1MywgMTEyLCAyNDgsIDk4LCA2MiwgNTcsIDMsIDI1MywgMTUyLCAyNDgsIDExLCA2MiwgNTcsIDMsIDI1MywgCi0gICAgMTQyLCAyNDcsIDE1MywgNjIsIDU3LCAzLCAyNTMsIDEwNiwgMjQ2LCA4NiwgNjIsIDU3LCAzLCAyNTMsIDEwMCwgMjM1LCAKLSAgICAxNDcsIDYyLCA1NywgMywgMjUzLCAxMTEsIDIzNSwgMTMyLCA2MiwgNTcsIDMsIDI1MywgMTIxLCAyMzUsIDc0LCA2MiwgNTcsIAotICAgIDMsIDI1MywgOTIsIDIzNSwgNTcsIDYyLCA1NywgMywgMjUzLCA4MCwgMTc2LCA2MiwgNTcsIDMsIDI1MywgMTEzLCAyMzQsIAotICAgIDE4OCwgNjIsIDU3LCAzLCAyNTMsIDkwLCAyMzQsIDk4LCA2MiwgNTcsIDMsIDI1MywgODcsIDIzNCwgMzQsIDYyLCA1NywgMywgCi0gICAgMjUzLCA3NiwgMjMzLCAyMjMsIDYyLCA1NywgMywgMjUzLCA3NywgMTg2LCA2MiwgNTcsIDMsIDI1MywgMTQzLCAyMzEsIDk2LCAKLSAgICA2MiwgNTcsIDMsIDI1MywgODQsIDIzMCwgMjM1LCA2MiwgNTcsIDMsIDI1MywgMTQxLCAyMzAsIDE2NiwgNjIsIDU3LCAzLCAKLSAgICAyNTMsIDEzMywgMjMwLCAxMDcsIDYyLCA1NywgMywgMjUzLCAxNTQsIDE5OCwgNjIsIDU3LCAzLCAyNTMsIDEzMiwgMjI5LCAKLSAgICAxMTIsIDYyLCA1NywgMywgMjUzLCAxMjYsIDIyOCwgMjM4LCA2MiwgNTcsIDMsIDI1MywgMTA1LCAyMjgsIDc5LCA2MiwgNTcsIAotICAgIDMsIDI1MywgMTAyLCAyMjcsIDI0MiwgNjIsIDU3LCAzLCAyNTMsIDE2MSwgMTkxLCA2MiwgNTcsIDMsIDI1MywgODUsIDIyNSwgCi0gICAgMjI0LCA2MiwgNTcsIDMsIDI1MywgMTE4LCAyMjUsIDExMSwgNjIsIDU3LCAzLCAyNTMsIDE0NSwgMjI1LCAxOSwgNjIsIDU3LCAKLSAgICAzLCAyNTMsIDEwNywgMjI0LCAxNTMsIDYyLCA1NywgMywgMjUzLCAxNDAsIDIyNCwgOTEsIDYyLCA1NywgMywgMjUzLCA3OSwgCi0gICAgMjI0LCA3MiwgNjIsIDU3LCAzLCAyNTMsIDEzNSwgMjI0LCA1NiwgNjIsIDU3LCAzLCAyNTMsIDEyNCwgMjI0LCA0NSwgNjIsIAotICAgIDU3LCAzLCAyNTMsIDk3LCAyMDUsIDYyLCA1NywgMywgMjUzLCAxMjksIDIyMywgMTMxLCA2MiwgNTcsIDMsIDI1MywgMTA0LCAKLSAgICAyMjMsIDM4LCA2MiwgNTcsIDMsIDI1MywgMTYzLCAyMjIsIDIxMywgNjIsIDU3LCAzLCAyNTMsIDEzMCwgMjIyLCAxNDIsIAotICAgIDYyLCA1NywgMywgMjUzLCAxMjUsIDIwNiwgNjIsIDU3LCAzLCAyNTMsIDE0OCwgMjIxLCAxODMsIDYyLCA1NywgMywgMjUzLCAKLSAgICAxMTYsIDIxOSwgMTkzLCA2MiwgNTcsIDMsIDI1MywgMTQ0LCAyMTksIDYwLCA2MiwgNTcsIDMsIDI1MywgOTksIDIxOCwgODQsIAotICAgIDYyLCA1NywgMywgMjUzLCA5OCwgMjE3LCAxMDYsIDYyLCA1NywgMywgMjUzLCAxNTksIDIxNywgMjMsIDYyLCA1NywgMywgCi0gICAgMjUzLCAxMjAsIDIxNiwgMTE4LCA2MiwgNTcsIDMsIDI1MywgMTU3LCAxMTIsIDYyLCA1NywgMywgMjUzLCA4OCwgMjE1LCAKLSAgICAxMTksIDYyLCA1NywgMywgMjUzLCAxMDMsIDIxMiwgNjUsIDYyLCA1NywgMywgMjUzLCA4MiwgMjEyLCAyMiwgNjIsIDU3LCAKLSAgICAzLCAyNTMsIDExNywgMjExLCAyNTAsIDYyLCA1NywgMywgMjUzLCAxMTUsIDIxMSwgMjI3LCA2MiwgNTcsIDMsIDI1MywgCi0gICAgMTM5LCAyMTAsIDExNiwgNjIsIDU3LCAzLCAyNTMsIDgzLCAyMTAsIDk0LCA2MiwgNTcsIDMsIDI1MywgMTM2LCAyMTAsIDIzLCAKLSAgICA2MiwgNTcsIDMsIDI1MywgMTMxLCAyNTUsIDg0LCA2MiwgNTcsIDMsIDI1MywgMTE0LCAyNTUsIDgzLCA2MiwgNTcsIDMsIAotICAgIDI1MywgNzMsIDI1MywgMjAwLCA2MiwgNTcsIDMsIDI1MywgODYsIDI0NiwgNTQsIDYyLCA1NywgMywgMjUzLCA2OSwgMjQ2LCAKLSAgICA1MywgNjIsIDU3LCAzLCAyNTMsIDEwOSwgMjI3LCAxNzgsIDYyLCA1NywgMywgMjUzLCAxMjcsIDIyNCwgMTUxLCA2MiwgNTcsIAotICAgIDMsIDI1MywgOTUsIDIyNCwgMTU1LCA2MiwgNTcsIDMsIDI1MywgODEsIDIyMywgMTg5LCA2MiwgNTcsIDMsIDI1MywgMTIzLCAKLSAgICAyMjMsIDE4OCwgNjIsIDU3LCAzLCAyNTMsIDg5LCAyMjIsIDIxMiwgNjIsIDU3LCAzLCAyNTMsIDkxLCAyMTcsIDEwMywgNjIsIAotICAgIDU3LCAzLCAyNTMsIDcxLCAyMTUsIDc4LCA2MiwgNTcsIDMsIDI1MywgNjgsIDEwNSwgNjIsIDU3LCAxNiwgMjUzLCAxMzgsIAotICAgIDYyLCA1NywgMTYsIDI1MywgMTM3LCA2MiwgNTcsIDE2LCAyNTMsIDEzNCwgNjIsIDU3LCAxNiwgMjUzLCAxMjIsIDYyLCA1NywgCi0gICAgMTYsIDI1MywgMTEwLCA2MiwgNTcsIDE2LCAyNTMsIDEwOCwgNjIsIDU3LCAxNiwgMjUzLCAxMDEsIDYyLCA1NywgMTYsIAotICAgIDI1MywgOTQsIDYyLCA1NywgMTYsIDI1MywgOTMsIDYyLCA1NywgMTYsIDI1MywgNzgsIDYyLCA1NywgMTYsIDI1MywgNzUsIAotICAgIDYyLCA1NywgMTYsIDI1MywgNzQsIDYyLCA1NywgMTYsIDI1MywgNzIsIDYyLCA1NywgMTYsIDI1MywgNzAsIDYyLCA1NywgCi0gICAgMTA2LCAyNTMsIDY3LCAyMzEsIDE5MCwgNjIsIDU3LCAxMDYsIDI1MywgNjYsIDIxMSwgMjIxLCA2MiwgNTcsIDEwNiwgMjUzLCAKLSAgICA2NSwgMjQ4LCA4MiwgNjIsIDU3LCAxMDYsIDI1MywgNjQsIDI0NSwgMTAzLCA2MiwgNTcsIDEwNiwgMjUzLCA2MywgMjMxLCAKLSAgICAxNjQsIDYyLCA1NywgMTA2LCAyNTMsIDYyLCAyMTgsIDE2NCwgNjIsIDU3LCAxMDYsIDI1MywgNjEsIDI0NSwgNDUsIDYyLCAKLSAgICA1NywgMTA2LCAyNTMsIDYwLCAyMjMsIDE1NiwgNjIsIDU3LCAxMDYsIDI1MywgNTksIDIyMCwgNjQsIDYyLCA1NywgMTA2LCAKLSAgICAyNTMsIDU4LCAyNDEsIDI0NCwgNjIsIDU3LCAxMDYsIDI1MywgNTcsIDIxOSwgMjcsIDYyLCA1NywgMTA2LCAyNTMsIDU2LCAKLSAgICAyNTEsIDIxMSwgNjIsIDU3LCAxMDYsIDI1MywgNTUsIDI0OSwgMTUzLCA2MiwgNTcsIDEwNiwgMjUzLCA1NCwgMjUxLCAxMjMsIAotICAgIDYyLCA1NywgMTA2LCAyNTMsIDUzLCAyMTIsIDIsIDYyLCA1NywgMTA2LCAyNTMsIDUyLCAyNTIsIDE0NCwgNjIsIDU3LCAKLSAgICAxMDYsIDI1MywgNTEsIDIyNiwgMjA5LCA2MiwgNTcsIDEwNiwgMjUzLCA1MCwgMjE5LCAwLCA2MiwgNTcsIDEwNiwgMjUzLCAKLSAgICA0OSwgMjQ5LCA3NiwgNjIsIDU3LCAyMzAsIDE0NywgMjUzLCA0OCwgMjM0LCAyMzAsIDYyLCA1NywgMjMwLCAxNDcsIDI1MywgCi0gICAgNDcsIDIzNCwgMjM4LCA2MiwgNTcsIDEwNiwgMjUzLCA0NiwgMjI2LCAyMjIsIDYyLCA1NywgMTA2LCAyNTMsIDQ1LCAyMTEsIAotICAgIDIzNiwgNjIsIDU3LCAxMDYsIDI1MywgNDQsIDYyLCA1NywgMjMwLCAxNDcsIDI1MywgNDMsIDI1NCwgMjUsIDYyLCA1NywgCi0gICAgMjMwLCAxNDcsIDI1MywgNDIsIDIzMSwgNTcsIDYyLCA1NywgMTA2LCAyNTMsIDQxLCAyNTEsIDE0MiwgNjIsIDU3LCAxMDYsIAotICAgIDI1MywgNDAsIDI0MiwgMTczLCA2MiwgNTcsIDEwNiwgMjUzLCAzOSwgNjIsIDU3LCAxMDYsIDI1MywgMzgsIDIxMSwgMjEyLCAKLSAgICA2MiwgNTcsIDEwNiwgMjUzLCAzNywgNjIsIDU3LCAxMDYsIDI1MywgMzYsIDYyLCA1NywgMTA2LCAyNTMsIDM1LCAyNDAsIAotICAgIDI1NSwgNjIsIDU3LCAxMDYsIDI1MywgMzQsIDYyLCA1NywgMTA2LCAyNTMsIDMzLCA2MiwgNTcsIDEwNiwgMjUzLCAzMiwgCi0gICAgNjIsIDU3LCAyMzAsIDE0NywgMjUzLCAzMCwgMjE1LCA5MiwgNjIsIDU3LCAxMDYsIDI1MywgMjksIDYyLCA1NywgMTA2LCAKLSAgICAyNTMsIDI4LCA2MiwgNTcsIDEwNiwgMjUzLCAyNywgMjUwLCAyLCA2MiwgNTcsIDEwNiwgMjUzLCAyNiwgNjIsIDU3LCAxMDYsIAotICAgIDI1MywgMjUsIDYyLCA1NywgMTA2LCAyNTMsIDI0LCAyNDMsIDEwMCwgNjIsIDU3LCAxMDYsIDI1MywgMjMsIDI1NCwgMTIsIAotICAgIDYyLCA1NywgMTA2LCAyNTMsIDIyLCA2MiwgNTcsIDEwNiwgMjUzLCAyMSwgNjIsIDU3LCAxMDYsIDI1MywgMjAsIDYyLCA1NywgCi0gICAgMTA2LCAyNTMsIDE5LCA2MiwgNTcsIDEwNiwgMjUzLCAxOCwgNjIsIDU3LCAxMDYsIDI1MywgMTcsIDYyLCA1NywgMTA2LCAKLSAgICAyNTMsIDE2LCA2MiwgNTcsIDEwNiwgMjUzLCAxNSwgNjIsIDU3LCAxMDYsIDI1MywgMTQsIDYyLCA1NywgMTA2LCAyNTMsIAotICAgIDEzLCAyMzAsIDEzOSwgNjIsIDU3LCAxMDYsIDI1MywgMTIsIDYyLCA1NywgMTA2LCAyNTMsIDExLCAyMTUsIDIzNiwgNjIsIAotICAgIDU3LCAxMDYsIDI1MywgMTAsIDYyLCA1NywgMTA2LCAyNTMsIDksIDYyLCA1NywgMTA2LCAyNTMsIDgsIDYyLCA1NywgMTA2LCAKLSAgICAyNTMsIDcsIDYyLCA1NywgMTA2LCAyNTMsIDYsIDYyLCA1NywgMTA2LCAyNTMsIDUsIDYyLCA1NywgMTA2LCAyNTMsIDQsIAotICAgIDYyLCA1NywgMTA2LCAyNTMsIDMsIDYyLCA1NywgMTA2LCAyNTMsIDIsIDYyLCA1NywgMTA2LCAyNTMsIDEsIDYyLCA1NywgCi0gICAgMTA2LCAyNTMsIDAsIDYyLCA1NywgMTA2LCAyNTIsIDI1NSwgMjQxLCAyMTgsIDYyLCA1NywgMTA2LCAyNTIsIDIzNCwgMjQ0LCAKLSAgICAzNiwgNjIsIDU3LCAxMDYsIDI1MiwgMjMxLCAyNTIsIDEyNCwgNjIsIDU3LCAxMDYsIDI1MiwgMjI2LCAyMTksIDcsIDYyLCAKLSAgICA1NywgMTA2LCAyNTIsIDIyNSwgNzUsIDYyLCA1NywgMTA2LCAyNTIsIDIyNCwgNjIsIDU3LCAxMDYsIDI1MiwgMjIzLCAyMTcsIAotICAgIDIzNywgNjIsIDU3LCAxMDYsIDI1MiwgMjIyLCA2MiwgNTcsIDEwNiwgMjUyLCAyMjEsIDYyLCA1NywgMTA2LCAyNTIsIDIyMCwgCi0gICAgMjExLCAyNTQsIDI1MCwgMTQ3LCA2MiwgNTcsIDEwNiwgMjUyLCAyMTksIDI1MCwgMTQ3LCA2MiwgNTcsIDEwNiwgMjUyLCAKLSAgICAyMTgsIDI1MCwgMTQ4LCAyNDQsIDcsIDYyLCA1NywgMTA2LCAyNTIsIDIxNywgMjEyLCAwLCA2MiwgNTcsIDEwNiwgMjUyLCAKLSAgICAyMTYsIDYyLCA1NywgMTA2LCAyNTIsIDIxNSwgNjIsIDU3LCAyMzAsIDE0NywgMjUyLCAyMTQsIDI0NywgMjA2LCA2MiwgNTcsIAotICAgIDEwNiwgMjUyLCAyMTMsIDYyLCA1NywgMTA2LCAyNTIsIDIxMiwgNjIsIDU3LCAxMDYsIDI1MiwgMjEwLCA2MiwgNTcsIDEwNiwgCi0gICAgMjUyLCAyMDksIDYyLCA1NywgMTA2LCAyNTIsIDIwOCwgNjIsIDU3LCAxMDYsIDI1MiwgMjA3LCAyNDgsIDE2NywgNjIsIDU3LCAKLSAgICAxMDYsIDI1MiwgMjA2LCA2MiwgNTcsIDEwNiwgMjUyLCAyMDUsIDYyLCA1NywgMTA2LCAyNTIsIDIwNCwgNjIsIDU3LCAxMDYsIAotICAgIDI1MiwgMjAzLCA2MiwgNTcsIDEwNiwgMjUyLCAyMDIsIDYyLCA1NywgMTA2LCAyMTMsIDE4NiwgMjUzLCAzMSwgNjIsIDU3LCAKLSAgICAxMDYsIDIxMywgMTg2LCAyNTIsIDI1NCwgNjIsIDU3LCAxMDYsIDIxMywgMTg2LCAyNTIsIDI1MywgNjIsIDU3LCAxMDYsIAotICAgIDIxMywgMTg2LCAyNTIsIDI1MiwgNjIsIDU3LCAxMDYsIDIxMywgMTg2LCAyNTIsIDI1MSwgNjIsIDU3LCAxMDYsIDIxMywgCi0gICAgMTg2LCAyNTIsIDI1MCwgNjIsIDU3LCAxMDYsIDIxMywgMTg2LCAyNTIsIDI0OSwgNjIsIDU3LCAxMDYsIDIxMywgMTg2LCAKLSAgICAyNTIsIDI0OCwgNjIsIDU3LCAxMDYsIDIxMywgMTg2LCAyNTIsIDI0NywgNjIsIDU3LCAxMDYsIDIxMywgMTg2LCAyNTIsIAotICAgIDI0NiwgNjIsIDU3LCAxMDYsIDIxMywgMTg2LCAyNTIsIDI0NSwgNjIsIDU3LCAxMDYsIDIxMywgMTg2LCAyNTIsIDI0NCwgCi0gICAgNjIsIDU3LCAxMDYsIDIxMywgMTg2LCAyNTIsIDI0MywgNjIsIDU3LCAxMDYsIDIxMywgMTg2LCAyNTIsIDI0MiwgNjIsIDU3LCAKLSAgICAxMDYsIDIxMywgMTg2LCAyNTIsIDI0MSwgNjIsIDU3LCAxMDYsIDIxMywgMTg2LCAyNTIsIDI0MCwgNjIsIDU3LCAxMDYsIAotICAgIDIxMywgMTg2LCAyNTIsIDIzOSwgNjIsIDU3LCAxMDYsIDIxMywgMTg2LCAyNTIsIDIzOCwgNjIsIDU3LCAxMDYsIDIxMywgCi0gICAgMTg2LCAyNTIsIDIzNywgNjIsIDU3LCAxMDYsIDIxMywgMTg2LCAyNTIsIDIzNiwgNjIsIDU3LCAxMDYsIDIxMywgMTg2LCAKLSAgICAyNTIsIDIzNSwgNjIsIDU3LCAxMDYsIDIxMywgMTg2LCAyNTIsIDIzMywgNjIsIDU3LCAxMDYsIDIxMywgMTg2LCAyNTIsIAotICAgIDIzMiwgNjIsIDU3LCAxMDYsIDIxMywgMTg2LCAyNTIsIDIzMCwgNjIsIDU3LCAxMDYsIDIxMywgMTg2LCAyNTIsIDIyOSwgCi0gICAgNjIsIDU3LCAxMDYsIDIxMywgMTg2LCAyNTIsIDIyOCwgNjIsIDU3LCAxMDYsIDIxMywgMTg2LCAyNTIsIDIyNywgNjIsIDU3LCAKLSAgICAxMDYsIDIxMywgMTg2LCAyNTIsIDIxMSwgNjIsIDU3LCAxMDYsIDIxMywgMTg2LCAyNTIsIDIwMSwgMjU0LCAyNDUsIDIxMSwgCi0gICAgMjA5LCAyMjAsIDE0MCwgMjMyLCAyMTksIDI1NCwgMjQ1LCAyMTEsIDIwOSwgMjIwLCAxNDAsIDI0NywgMTI4LCAyNTQsIAotICAgIDI0NSwgMjUwLCAxMzgsIDc5LCAyNTQsIDI0NSwgNTQsIDExMSwgMjU0LCAyNDUsIDU0LCAxMDUsIDI1NCwgMjQ1LCA1NCwgCi0gICAgMTU4LCAyNTQsIDI0NSwgNTQsIDE2MSwgMjU0LCAyNDUsIDU0LCAxOTAsIDI1NCwgMjQ1LCA1NCwgMTk1LCAyNTQsIDI0NSwgCi0gICAgNTQsIDE5OSwgMjU0LCAyNDUsIDU0LCAxOTYsIDI1NCwgMjQ1LCA1NCwgMjAxLCAyNTQsIDI0NSwgNTQsIDIxNiwgMjQ4LCAKLSAgICAyNTQsIDI0NSwgNTQsIDIxNSwgNzMsIDI1NCwgMjQ1LCA1NCwgMjE2LCAxNjMsIDI1NCwgMjQ1LCA1NCwgMjQ0LCAyMywgCi0gICAgMjU0LCAyNDUsIDU0LCAyNDQsIDEyMiwgMjU0LCAyNDUsIDU0LCAyMTksIDExMywgMjU0LCAyNDUsIDU0LCAyMjAsIDExOCwgCi0gICAgMjU0LCAyNDUsIDU0LCAyNDUsIDE5MiwgMjU0LCAyNDUsIDU0LCAyMjgsIDIwMCwgMjU0LCAyNDUsIDU0LCAxMjMsIDI0MCwgCi0gICAgMjE3LCAyNTQsIDI0NSwgNTQsIDExMywgMjQwLCAyMTcsIDI1NCwgMjQ1LCA1NCwgMTM0LCAyNDAsIDIxNywgMjU0LCAyNDUsIAotICAgIDU0LCAyNDQsIDE5LCAyNDAsIDIxNywgMjU0LCAyNDUsIDU0LCAyNDQsIDg5LCAyNDAsIDIxNywgMjU0LCAyNDUsIDU0LCAKLSAgICAyMTksIDEyNywgMjQwLCAyMTcsIDI1NCwgMjQ1LCA1NCwgMjIwLCAxMjQsIDI0MCwgMjE3LCAyNTQsIDI0NSwgNTQsIDI0NSwgCi0gICAgMjAxLCAyNDAsIDIxNywgMjU0LCAyNDUsIDU0LCAyMjgsIDIwNSwgMjQwLCAyMTcsIDI1NCwgMjQ1LCA1NCwgMTIzLCAyMTYsIAotICAgIDE0OCwgMjU0LCAyNDUsIDU0LCAxMTMsIDIxNiwgMTQ4LCAyNTQsIDI0NSwgNTQsIDEzNCwgMjE2LCAxNDgsIDI1NCwgMjQ1LCAKLSAgICA1NCwgMjQ0LCAxOSwgMjE2LCAxNDgsIDI1NCwgMjQ1LCA1NCwgMjQ0LCA4OSwgMjE2LCAxNDgsIDI1NCwgMjQ1LCA1NCwgCi0gICAgMjE5LCAxMjcsIDIxNiwgMTQ4LCAyNTQsIDI0NSwgNTQsIDIyMCwgMTI0LCAyMTYsIDE0OCwgMjU0LCAyNDUsIDU0LCAyNDUsIAotICAgIDIwMSwgMjE2LCAxNDgsIDI1NCwgMjQ1LCA1NCwgMjI4LCAyMDUsIDIxNiwgMTQ4LCAyNTQsIDI0NSwgNTQsIDIxNiwgMjQ5LCAKLSAgICAyMTYsIDE0OCwgMjU0LCAyNDUsIDU0LCAyMTUsIDc0LCAyMTYsIDE0OCwgMjU0LCAyNDUsIDU0LCAyMTYsIDE2NCwgMjE2LCAKLSAgICAxNDgsIDI1NCwgMjQ1LCA1NCwgMjQ0LCAyNCwgMjE2LCAxNDgsIDI1NCwgMjQ1LCA1NCwgMjQ0LCAxMjMsIDIxNiwgMTQ4LCAKLSAgICAyNTQsIDI0NSwgNTQsIDIxOSwgMTE0LCAyMTYsIDE0OCwgMjU0LCAyNDUsIDU0LCAyMjAsIDExOSwgMjE2LCAxNDgsIDI1NCwgCi0gICAgMjQ1LCA1NCwgMjQ1LCAxOTMsIDIxNiwgMTQ4LCAyNTQsIDI0NSwgNTQsIDIyOCwgMjAxLCAyMTYsIDE0OCwgMjU0LCAyNDUsIAotICAgIDIxMiwgMTQsIDI1MiwgMTM2LCAyMTQsIDE3MywgMjU0LCAyNDUsIDIxMiwgMTQsIDI0NCwgMTAwLCAyMTgsIDYwLCAyNTQsIAotICAgIDI0NSwgMjEyLCAxNCwgMjIxLCAxNzgsIDIxOCwgNjAsIDI1NCwgMjQ1LCAyMTIsIDE0LCAyMTYsIDE3MCwgMjE4LCA2MCwgCi0gICAgMjU0LCAyNDUsIDIxMiwgMTQsIDI0NCwgMTIsIDIxOCwgNjAsIDI1NCwgMjQ1LCAyNDYsIDg5LCAyMzEsIDk1LCAyNDQsIAotICAgIDEwMCwgMjE4LCA2MCwgMjU0LCAyNDUsIDIzMiwgMjA1LCAyMzEsIDk1LCAyNDQsIDEwMCwgMjE4LCA2MCwgMjU0LCAyNDUsIAotICAgIDIzMSwgOTUsIDIyMSwgMTc4LCAyMTgsIDYwLCAyNTQsIDI0NSwgMjMxLCA5NSwgMjE2LCAxNzAsIDIxOCwgNjAsIDI2LCAKLSAgICAyNTUsIDE1LCAyNTMsIDIwMiwgMTIzLCAyMjQsIDI0LCAyNiwgMjU1LCAxNSwgMjUzLCAyMDIsIDEyMywgMjQyLCAzNCwgMjYsIAotICAgIDI1NSwgMTUsIDI1MywgMjAyLCAxMjMsIDI0NiwgMTA4LCAyNiwgMjU1LCAxNSwgMjUzLCAyMDIsIDE5MCwgMjYsIDI1NSwgCi0gICAgMTUsIDI1MywgMjAyLCAyNDQsIDEyMiwgMjYsIDI1NSwgMTUsIDI1MywgMjAyLCAyNDQsIDg5LCAyNDAsIDIxNywgMjYsIAotICAgIDI1NSwgMTUsIDI1MywgMjAyLCAyNDQsIDg5LCAyMTYsIDE0OCwgMjYsIDI1NSwgMTUsIDI1MywgMjAyLCAyNDQsIDEyMywgCi0gICAgMjE2LCAxNDgsIDI2LCAyNTUsIDE1LCAyNTMsIDIwMiwgMjQ0LCA4OSwgMjE3LCA2OCwgMjYsIDI1NSwgMTUsIDI1MywgMjAyLCAKLSAgICAyMTYsIDI0OSwgMjE3LCA2OCwgMjYsIDI1NSwgMTUsIDI1MywgMjAyLCAyNDQsIDEyMywgMjE3LCA2OCwgMjYsIDI1NSwgMTUsIAotICAgIDI1MywgMjAyLCAxMjMsIDI0MCwgMjE4LCAyMTcsIDY4LCAyNiwgMjU1LCAxNSwgMjUzLCAyMDIsIDI0NCwgODksIDI0MCwgCi0gICAgMjE4LCAyMTcsIDY4LCAyNiwgMjU1LCAxNSwgMjUzLCAyMDIsIDEyMywgMjE2LCAxNDksIDIxNywgNjgsIDI2LCAyNTUsIDE1LCAKLSAgICAyNTMsIDIwMiwgMjQ0LCA4OSwgMjE2LCAxNDksIDIxNywgNjgsIDI2LCAyNTUsIDE1LCAyNTMsIDIwMiwgMjQ0LCA4OSwgCi0gICAgMjE4LCAxNTIsIDI2LCAyNTUsIDE1LCAyNTMsIDIwMiwgMjE2LCAyNDksIDIxOCwgMTUyLCAyNiwgMjU1LCAxNSwgMjUzLCAKLSAgICAyMDIsIDI0NCwgMTIzLCAyMTgsIDE1MiwgMjYsIDI1NSwgMTUsIDI1MywgMjAyLCAxMjMsIDI0MCwgMjE4LCAyMTgsIDE1MiwgCi0gICAgMjYsIDI1NSwgMTUsIDI1MywgMjAyLCAyNDQsIDg5LCAyNDAsIDIxOCwgMjE4LCAxNTIsIDI2LCAyNTUsIDE1LCAyNTMsIAotICAgIDIwMiwgMTIzLCAyMTYsIDE0OSwgMjE4LCAxNTIsIDI2LCAyNTUsIDE1LCAyNTMsIDIwMiwgMjE2LCAyNDksIDIxNiwgMTQ5LCAKLSAgICAyMTgsIDE1MiwgMjYsIDI1NSwgMTUsIDI1MywgMjAyLCAyNDQsIDEyMywgMjE2LCAxNDksIDIxOCwgMTUyLCAyNiwgMjU1LCAKLSAgICAxNSwgMjUzLCAyMDIsIDIxNiwgMjQ5LCAyMzAsIDE2OSwgMjYsIDI1NSwgMTUsIDI0MSwgMjEyLCAxMjMsIDIyNSwgMzQsIAotICAgIDI2LCAyNTUsIDE1LCAyMTYsIDE4MiwgMTExLCAyNiwgMjU1LCAxNSwgMjQxLCAyMDgsIDExMSwgMjYsIDI1NSwgMTUsIDI0NSwgCi0gICAgMTEyLCAxMDUsIDI2LCAyNTUsIDE1LCAyMTYsIDE4MiwgMTA1LCAyNiwgMjU1LCAxNSwgMjQ5LCA3MywgMTEzLCAyNDYsIAotICAgIDEwNywgMjYsIDI1NSwgMTUsIDI0NSwgMTEyLCAxMTMsIDI0NiwgMTA3LCAyNiwgMjU1LCAxNSwgMjE1LCAyMDQsIDE5MCwgCi0gICAgMjYsIDI1NSwgMTUsIDIxNSwgMjA0LCAyMTYsIDI0OCwgMjYsIDI1NSwgMTUsIDIxNSwgMjA0LCAyMTYsIDI0OSwgMjU0LCAKLSAgICAxNDksIDE3LCAyNiwgMjU1LCAxNSwgMjQxLCAyMDgsIDIxNiwgMjQ4LCAyNiwgMjU1LCAxNSwgMjMxLCA0NiwgMjE2LCAyNDgsIAotICAgIDI2LCAyNTUsIDE1LCAyMTYsIDE4MiwgMjE2LCAyNDgsIDI2LCAyNTUsIDE1LCAyMTYsIDE4MiwgMjE2LCAxNjMsIDI2LCAKLSAgICAyNTUsIDE1LCAyMTUsIDIwNCwgMjQ0LCAxMjIsIDI2LCAyNTUsIDE1LCAyMTUsIDIwNCwgMjQ0LCAxMjMsIDI1NCwgMTQ5LCAKLSAgICAxNywgMjYsIDI1NSwgMTUsIDI0MSwgMjA4LCAyNDQsIDEyMiwgMjYsIDI1NSwgMTUsIDIxNiwgMTgyLCAyNDQsIDEyMiwgMjYsIAotICAgIDI1NSwgMTUsIDIxNiwgMTgyLCAxMjMsIDI0MCwgMjE3LCAyNiwgMjU1LCAxNSwgMjE2LCAxODIsIDEzNCwgMjQwLCAyMTcsIAotICAgIDI2LCAyNTUsIDE1LCAyNDUsIDExMiwgMjQ0LCA4OSwgMjQwLCAyMTcsIDI2LCAyNTUsIDE1LCAyMTUsIDIwNCwgMjQ0LCA4OSwgCi0gICAgMjQwLCAyMTcsIDI2LCAyNTUsIDE1LCAyMTYsIDE4MiwgMjQ0LCA4OSwgMjQwLCAyMTcsIDI2LCAyNTUsIDE1LCAyNTAsIAotICAgIDIzNSwgMjQ0LCA4OSwgMjQwLCAyMTcsIDI2LCAyNTUsIDE1LCAyMjksIDE4NywgMjQ0LCA4OSwgMjQwLCAyMTcsIDI2LCAKLSAgICAyNTUsIDE1LCAyMTYsIDE4MiwgMTIzLCAyMTYsIDE0OCwgMjYsIDI1NSwgMTUsIDIxNiwgMTgyLCAyNDQsIDg5LCAyMTYsIAotICAgIDE0OCwgMjYsIDI1NSwgMTUsIDI0OCwgNjUsIDI0NCwgODksIDIzMCwgMTY5LCAyNiwgMjU1LCAxNSwgMjE4LCAxMjAsIDI0NCwgCi0gICAgMTIzLCAyMzAsIDE2OSwgMjYsIDEyMywgMTYzLCA1MCwgMjYsIDEyMywgMTYzLCA1LCAyNTQsIDE0OSwgMTcsIDI2LCAxMTMsIAotICAgIDIxNiwgMTY4LCA1MCwgMjYsIDEzNCwgMjI0LCAyMywgNTAsIDI2LCAyMTEsIDQ1LCA1MCwgMjYsIDIxNywgNjksIDUwLCAyNiwgCi0gICAgMjQ2LCAxMDksIDUwLCAyNiwgMjI2LCAyNTAsIDUwLCAyNiwgMTEzLCAyMjYsIDI0OSwgNTAsIDI2LCAxMzQsIDIyNiwgMjQ5LCAKLSAgICA1MCwgMjYsIDI0NCwgMTksIDIyNiwgMjQ5LCA1MCwgMjYsIDI0NCwgODksIDIyNiwgMjQ5LCA1MCwgMjYsIDIzMSwgNDAsIAotICAgIDUwLCAyNiwgMjMzLCAxNjMsIDI1MiwgMTM2LCA1MCwgMjYsIDIzMiwgMjAwLCA1MCwgMjYsIDIyNiwgMTM1LCA1MCwgMjYsIAotICAgIDIxMSwgMTU5LCA1MCwgMjYsIDI1MywgMjUxLCA1MCwgMjYsIDI1NCwgOCwgNTAsIDI2LCAyNDIsIDE1MSwgNTAsIDI2LCAKLSAgICAyMTUsIDE4NywgMjUyLCAxMzYsIDUwLCAyNiwgMjEwLCA4NywgNTAsIDIyMiwgMjAwLCAyMjAsIDExNSwgNTAsIDIyMiwgCi0gICAgMjAwLCAyMTQsIDE4NSwgNTAsIDIyMiwgMjAwLCAyMjAsIDE0NCwgNTAsIDIyMiwgMjAwLCAyMjAsIDExMywgNTAsIDIyMiwgCi0gICAgMjAwLCAyNDcsIDIyMSwgMjIwLCAxMTMsIDUwLCAyMjIsIDIwMCwgMjE5LCAxNzAsIDUwLCAyMjIsIDIwMCwgMjQ4LCA2MSwgCi0gICAgNTAsIDIyMiwgMjAwLCAyMjQsIDksIDUwLCAyMjIsIDIwMCwgMjIwLCAxMzEsIDUwLCAyMjIsIDIwMCwgMjQ2LCA2OCwgNTAsIAotICAgIDIyMiwgMjAwLCAyNTMsIDI0NiwgNTAsIDIyMiwgMjAwLCAyNTAsIDE3OSwgNTAsIDIyNSwgMTQ2LCAyNDcsIDE5OSwgNSwgCi0gICAgMjI1LCAyMTYsIDIyNSwgMTQ2LCAyNDcsIDE5OSwgNSwgMjI1LCAyNywgMjQxLCAyNDIsIDIyNSwgMTQ2LCAyNDcsIDE5OSwgCi0gICAgNSwgMjE3LCA0NiwgMjQxLCAyNDIsIDIyNSwgMTQ2LCAyNDcsIDE5OSwgNSwgMjUwLCAyNTUsIDIyNSwgMTQ2LCAyNDcsIAotICAgIDE5OSwgNSwgMjUwLCAxMDksIDIyNSwgMTQ2LCAyNDcsIDE5OSwgNSwgMjExLCAyMjEsIDIyNSwgMTQ2LCAyNDcsIDE5OSwgNSwgCi0gICAgMjQxLCAyMTgsIDIyNSwgMTQ2LCAyNDcsIDE5OSwgNSwgMjQzLCA5MiwgMjI1LCAxNDYsIDI0NywgMTk5LCA1LCAyMTYsIAotICAgIDExNywgMjI1LCAxNDYsIDI0NywgMTk5LCA1LCA3NSwgMjI1LCAxNDYsIDI0NywgMTk5LCA1LCAyNTEsIDE3NywgMjI1LCAKLSAgICAxNDYsIDI0NywgMTk5LCA1LCAyMjAsIDMxLCAyMjUsIDE0NiwgMjQ3LCAxOTksIDUsIDI0OSwgMjUyLCAyMjUsIDE0NiwgCi0gICAgMjQ3LCAxOTksIDUsIDIzMSwgMTg5LCAyMjUsIDE0NiwgMjQ3LCAxOTksIDUsIDIzMSwgMTQxLCAyMjUsIDE0NiwgMjQ3LCAKLSAgICAxOTksIDUsIDIyMSwgMjE4LCAyMjUsIDE0NiwgMjQ3LCAxOTksIDUsIDIzMiwgMjQzLCAyMjUsIDE0NiwgMjQ3LCAxOTksIDUsIAotICAgIDI1MSwgMTk2LCAyMjUsIDE0NiwgMjQ3LCAxOTksIDUsIDI1MCwgMjM5LCAyMjUsIDM4LCAyMjUsIDE0NiwgMjQ3LCAxOTksIAotICAgIDUsIDI0NywgMTQxLCAyMjUsIDE0NiwgMjQ3LCAxOTksIDUsIDI0OSwgMjMxLCAyMjUsIDE0NiwgMjQ3LCAxOTksIDUsIDIxOSwgCi0gICAgODksIDIyNSwgMTQ2LCAyNDcsIDE5OSwgNSwgMjQ5LCAyMzIsIDIyNSwgMTQ2LCAyNDcsIDE5OSwgNSwgMjUyLCA3MSwgMjI1LCAKLSAgICAxNDYsIDI0NywgMTk5LCA1LCAyMjAsIDE4LCAyMjUsIDE0NiwgMjQ3LCAxOTksIDUsIDI0MCwgMjU1LCAyMjUsIDE0NiwgCi0gICAgMjQ3LCAxOTksIDUsIDI0MSwgMTg1LCAyMjUsIDE0NiwgMjQ3LCAxOTksIDUsIDI1MSwgMTIwLCAyMzMsIDQyLCAyMjUsIAotICAgIDE0NiwgMjQ3LCAxOTksIDUsIDI1MCwgMjMyLCAyMjUsIDE0NiwgMjQ3LCAxOTksIDUsIDIyMywgMTU2LCAyMjUsIDE0NiwgCi0gICAgMjQ3LCAxOTksIDUsIDI0NSwgMjM4LCAyMjUsIDE0NiwgMjQ3LCAxOTksIDUsIDI0NiwgMTE1LCAyMjUsIDE0NiwgMjQ3LCAKLSAgICAxOTksIDUsIDIxNSwgMTA2LCAyMjUsIDE0NiwgMjQ3LCAxOTksIDUsIDI1MiwgNzQsIDIyNSwgMTQ2LCAyNDcsIDE5OSwgNSwgCi0gICAgMjI1LCAzOSwgMjE1LCAyMzYsIDIyNSwgMTQ2LCAyNDcsIDE5OSwgNSwgMjEzLCAxNTksIDIyNSwgMTQ2LCAyNDcsIDE5OSwgCi0gICAgNSwgMjI2LCAyMiwgMjI1LCAxNDYsIDI0NywgMTk5LCA1LCAyMjIsIDE5MiwgMjI1LCAxNDYsIDI0NywgMTk5LCA1LCAyMzIsIAotICAgIDIzMCwgMjI1LCAxNDYsIDI0NywgMTk5LCA1LCAyMjYsIDExOSwgMjUyLCAxOTIsIDIyNSwgMTQ2LCAyNDcsIDE5OSwgNSwgCi0gICAgMjQ0LCA1NiwgMjI1LCAxNDYsIDI0NywgMTk5LCA1LCAyNDIsIDE0NSwgMjI1LCAxNDYsIDI0NywgMTk5LCA1LCAyMTgsIAotICAgIDEyMSwgMjI1LCAxNDYsIDI0NywgMTk5LCA1LCA0LCAyNTMsIDE3NiwgMjI1LCAxNDYsIDI0NywgMTk5LCA1LCAyMTIsIDMyLCAKLSAgICAyNTIsIDE1NiwgMjI1LCAxNDYsIDI0NywgMTk5LCA1LCAzOCwgMjI2LCAyNTIsIDkxLCAyMzIsIDY1LCAxLCA2MSwgMjMyLCAKLSAgICA2NSwgMSwgNzYsIDIzMiwgNjUsIDEsIDI1MywgMTY2LCAyMzIsIDY1LCAxLCAyNTIsIDI3LCAyMzIsIDY1LCAxLCAyNDMsIAotICAgIDIwOSwgMjMyLCA2NSwgMSwgMjQ5LCA2OCwgMjMyLCA2NSwgMSwgNzQsIDIzMiwgNjUsIDEsIDIxMiwgOTgsIDIzMiwgNjUsIAotICAgIDEsIDIxMCwgMTU5LCAyMzIsIDY1LCAxLCAyMTYsIDIxMSwgMjMyLCA2NSwgMSwgMjM1LCAxNTAsIDIzMiwgNjUsIDEsIDIzNSwgCi0gICAgMjksIDIzMiwgNjUsIDEsIDIyNCwgOTksIDIzMiwgNjUsIDEsIDE1NiwgMjMyLCA2NSwgMSwgMTk0LCAyMzIsIDY1LCAxLCAKLSAgICAyMzAsIDMwLCAyMzIsIDY1LCAxLCAyMzAsIDE3MSwgMjMyLCA2NSwgMSwgMjI4LCAxMTYsIDIzMiwgNjUsIDEsIDY5LCAyMzIsIAotICAgIDY1LCAxLCAyMjYsIDEwOSwgMjMyLCA2NSwgMSwgMjM0LCA1MywgMjMyLCA2NSwgMSwgMTUzLCAyMzIsIDY1LCAxLCAyMjIsIAotICAgIDkzLCAyMzIsIDY1LCAxLCAyMTcsIDE1MywgMjMyLCA2NSwgMSwgMjE1LCAxNjAsIDIzMiwgNjUsIDEsIDI1NCwgMTMxLCAKLSAgICAyMzIsIDY1LCAxLCAyNDUsIDE1OCwgMjMyLCA2NSwgMSwgMjQyLCA2NywgMjMyLCA2NSwgMSwgMjExLCAxNzgsIDI1MCwgCi0gICAgMjQ1LCAxLCA2MSwgMjUwLCAyNDUsIDEsIDIyNiwgOTUsIDI1MCwgMjQ1LCAxLCAyNDksIDY4LCAyNTAsIDI0NSwgMSwgMTU2LCAKLSAgICAyNTAsIDI0NSwgMSwgMjE0LCAxMTYsIDI1MCwgMjQ1LCAxLCAxNTMsIDI1MCwgMjQ1LCAxLCAyMzMsIDY4LCAyNTAsIDI0NSwgCi0gICAgMSwgMjU1LCA4NCwgMjUwLCAyNDUsIDEsIDIyNCwgOTksIDI1MCwgMjQ1LCAxLCAyNTMsIDE2NiwgMjUwLCAyNDUsIDEsIAotICAgIDE5NCwgMjUwLCAyNDUsIDEsIDc4LCAyNTAsIDI0NSwgMSwgMjQ4LCAyMzEsIDI1MCwgMjQ1LCAxLCAyMTcsIDE1MywgMjUwLCAKLSAgICAyNDUsIDEsIDIyMCwgMTA2LCAyNTAsIDI0NSwgMSwgMjIwLCAxMDUsIDI1MCwgMjQ1LCAxLCAyMjIsIDkzLCAyNTAsIDI0NSwgCi0gICAgMSwgMjUxLCA3MywgMjUwLCAyNDUsIDEsIDY5LCAyNTAsIDI0NSwgMSwgMjI4LCAxMTYsIDI1MCwgMjQ1LCAxLCAyMTEsIAotICAgIDE3OCwgMjUwLCAyNDUsIDEsIDIzMCwgMzAsIDI1MCwgMjQ1LCAxLCAyMTUsIDE1OSwgMjUwLCAyNDUsIDEsIDIyNiwgMTA5LCAKLSAgICAyNTAsIDI0NSwgMSwgMjE4LCAyMjgsIDI1MCwgMjQ1LCAxLCA3NCwgMjUwLCAyNDUsIDEsIDc2LCAyNTAsIDI0NSwgMSwgCi0gICAgMjE0LCAxMTMsIDI1MCwgMjQ1LCAxLCAyMzUsIDI5LCAyNTAsIDI0NSwgMSwgMjM1LCAyMCwgMjUwLCAyNDUsIDEsIDIyOSwgCi0gICAgMTU1LCAyNTAsIDI0NSwgMSwgMjE0LCAxMTgsIDI1MCwgMjQ1LCAxLCAyNDMsIDIwOSwgMjUwLCAyNDUsIDEsIDI0MywgMTQ0LCAKLSAgICAyNTAsIDI0NSwgMSwgMjE4LCAxNzAsIDI1MCwgMjQ1LCAxLCAyMTgsIDE2OSwgMjUwLCAyNDUsIDEsIDIyOSwgODQsIDI1MCwgCi0gICAgMjQ1LCAxLCAyMzYsIDQwLCAyNTAsIDI0NSwgMSwgMjUxLCA3MiwgMjUwLCAyNDUsIDEsIDIxNSwgMTYwLCAyNTAsIDI0NSwgCi0gICAgMSwgMjE0LCAxMTUsIDI1MCwgMjQ1LCAxLCAyMjIsIDE4MiwgMjUwLCAyNDUsIDEsIDIzMSwgMTM0LCAyNTAsIDI0NSwgMSwgCi0gICAgMjMxLCAxMzMsIDI1MCwgMjQ1LCAxLCAyMzEsIDEzMiwgMjUwLCAyNDUsIDEsIDIzMSwgMTMxLCAyNTAsIDI0NSwgMSwgMjMzLCAKLSAgICA2NywgMjUwLCAyNDUsIDEsIDI0NSwgMjQyLCAyNTAsIDI0NSwgMSwgMjE0LCAxMTQsIDU1LCAzMiwgMSwgNjEsIDU1LCAzMiwgCi0gICAgMSwgMjUyLCA4MywgNTUsIDMyLCAxLCAyMzQsIDE4OCwgNTUsIDMyLCAxLCAyNDgsIDk4LCA1NSwgMzIsIDEsIDc2LCA1NSwgCi0gICAgMzIsIDEsIDIxMywgMjU1LCA1NSwgMzIsIDEsIDIxMCwgOTQsIDU1LCAzMiwgMSwgMjQxLCAyNDUsIDU1LCAzMiwgMSwgMjE2LCAKLSAgICAxOTYsIDU1LCAzMiwgMSwgNzQsIDU1LCAzMiwgMSwgMTc2LCA1NSwgMzIsIDEsIDI0NSwgMTgyLCA1NSwgMzIsIDEsIDI0NSwgCi0gICAgMTY3LCA1NSwgMzIsIDEsIDI0NSwgMTU4LCA1NSwgMzIsIDEsIDI0NSwgODMsIDU1LCAzMiwgMSwgNzgsIDU1LCAzMiwgMSwgCi0gICAgMjI1LCAyMjQsIDU1LCAzMiwgMSwgMjIwLCA2NSwgNTUsIDMyLCAxLCAyMzMsIDIyMywgNTUsIDMyLCAxLCAyNDUsIDEwMCwgCi0gICAgNTUsIDMyLCAxLCAyNDUsIDkwLCA1NSwgMzIsIDEsIDIxNywgMjMsIDU1LCAzMiwgMSwgNjksIDU1LCAzMiwgMSwgMjQ1LCAKLSAgICAxODUsIDU1LCAzMiwgMSwgMjI1LCAxMzksIDU1LCAzMiwgMSwgMjM0LCAxMjUsIDU1LCAzMiwgMSwgMjQ1LCAyMTAsIDU1LCAKLSAgICAzMiwgMSwgMjQ1LCA5MiwgNTUsIDMyLCAxLCAyNTAsIDEzOSwgNTUsIDMyLCAxLCAyMzYsIDQwLCA1NSwgMzIsIDEsIDIxNCwgCi0gICAgMTE4LCA1NSwgMzIsIDIyNywgMjAyLCAxMTEsIDU1LCAzMiwgMjI3LCAyMDIsIDE5MCwgNTUsIDMyLCAyMjcsIDIwMiwgMjE2LCAKLSAgICAyNDgsIDU1LCAzMiwgMjI3LCAyMDIsIDI0NCwgMTIyLCAyNDIsIDE2MCwgMSwgMjU0LCAyMTMsIDI0MiwgMTYwLCAxLCAyNTIsIAotICAgIDE3MSwgMjQyLCAxNjAsIDEsIDI0MiwgMjE4LCAyNDIsIDE2MCwgMSwgMjQ4LCAyMTIsIDI0MiwgMTYwLCAxLCAyNTQsIDIwOSwgCi0gICAgMjQyLCAxNjAsIDEsIDIyNCwgODIsIDI0MiwgMTYwLCAxLCAyMzUsIDE2MSwgMjQyLCAxNjAsIDEsIDI0MiwgNDYsIDI0MiwgCi0gICAgMTYwLCAxLCAyMTYsIDE1OSwgMjQyLCAxNjAsIDEsIDI0NSwgMTkxLCAyNDIsIDE2MCwgMSwgMjMzLCAxOTYsIDI0MiwgMTYwLCAKLSAgICAxLCAyMzMsIDExOSwgMjQyLCAxNjAsIDEsIDIzMSwgMTg0LCAyNDIsIDE2MCwgMSwgMjI5LCAxODksIDI0MiwgMTYwLCAxLCAKLSAgICAyMzUsIDEyNSwgMjQyLCAxNjAsIDEsIDIxNCwgMTM2LCAyNDIsIDE2MCwgMSwgMjI2LCA3MywgMjQyLCAxNjAsIDEsIDIyOCwgCi0gICAgMjAwLCAyNDIsIDE2MCwgMSwgMjIzLCAxNjgsIDI0MiwgMTYwLCAxLCAyMjEsIDIyMCwgMjQyLCAxNjAsIDEsIDIxNywgNSwgCi0gICAgMjQyLCAxNjAsIDEsIDIxMSwgMjM0LCAyNDIsIDE2MCwgMSwgMjQ0LCAxODYsIDI0MiwgMTYwLCAxLCAyMzYsIDQ0LCAyNDIsIAotICAgIDE2MCwgMSwgMjQwLCAyMDYsIDI0MiwgMTYwLCAxLCAyMjYsIDE0MywgMjQyLCAxNjAsIDEsIDIyOCwgMjA1LCAyNDAsIDIxNywgCi0gICAgMjE0LCAyMDksIDEsIDI1NCwgMTU1LCAyMTQsIDIwOSwgMSwgMjUyLCAzNCwgMjE0LCAyMDksIDEsIDI0MywgMTE1LCAyMTQsIAotICAgIDIwOSwgMSwgMjM0LCAxMzgsIDIxNCwgMjA5LCAxLCAyNDgsIDYyLCAyMTQsIDIwOSwgMSwgMjQxLCA3NSwgMjE0LCAyMDksIAotICAgIDEsIDIxMSwgMjI3LCAyMTQsIDIwOSwgMSwgMjEwLCA4NSwgMjE0LCAyMDksIDEsIDI0MCwgMjQ4LCAyMTQsIDIwOSwgMSwgCi0gICAgMjE2LCAyMzEsIDIxNCwgMjA5LCAxLCAyMTAsIDIzMywgMjE0LCAyMDksIDEsIDIzNSwgMCwgMjE0LCAyMDksIDEsIDIyMCwgCi0gICAgMjIsIDIxNCwgMjA5LCAxLCAyMzMsIDEwNCwgMjE0LCAyMDksIDEsIDIzMSwgNzAsIDIxNCwgMjA5LCAxLCAyNDgsIDI5LCAKLSAgICAyMTQsIDIwOSwgMSwgMjI3LCAxOTgsIDIxNCwgMjA5LCAxLCAyMTAsIDEzLCAyMTQsIDIwOSwgMSwgMjIxLCAyNTAsIDIxNCwgCi0gICAgMjA5LCAxLCAyNTQsIDIwNSwgMjE0LCAyMDksIDEsIDIyNCwgMTUzLCAyMTQsIDIwOSwgMSwgMjIyLCAyNywgMjE0LCAyMDksIAotICAgIDEsIDIyNCwgMzgsIDIxNCwgMjA5LCAxLCAyMjMsIDE0NywgMjE0LCAyMDksIDEsIDIxNiwgMjAwLCAyMTQsIDIwOSwgMSwgCi0gICAgMjQyLCAyNTEsIDIxNCwgMjA5LCAxLCAxMTIsIDIxNCwgMjA5LCAxLCA3NCwgMjE0LCAyMDksIDEsIDY5LCAyMTQsIDIwOSwgCi0gICAgMSwgMjE4LCAxODEsIDIxNCwgMjA5LCAyMTEsIDIwOSwgMjQ3LCAxODAsIDU1LCAyMjUsIDE3MiwgNSwgNjEsIDU1LCAyMjUsIAotICAgIDE3MiwgNSwgNzQsIDU1LCAyMjUsIDE3MiwgNSwgNjksIDU1LCAyMjUsIDE3MiwgNSwgMTc2LCA1NSwgMjI1LCAxNzIsIDUsIAotICAgIDIzMywgMjIzLCA1NSwgMjI1LCAxNzIsIDUsIDI0MywgMTQyLCA1NSwgMjI1LCAxNzIsIDUsIDI0MiwgMTIwLCA1NSwgMjI1LCAKLSAgICAxNzIsIDUsIDIxMSwgMTY1LCA1NSwgMjI1LCAxNzIsIDUsIDI1MSwgNDEsIDU1LCAyMjUsIDE3MiwgNSwgMjM1LCAxNDcsIAotICAgIDU1LCAyMjUsIDE3MiwgNSwgMjM1LCAxMTQsIDU1LCAyMjUsIDE3MiwgNSwgMjE3LCAxMDYsIDU1LCAyMjUsIDE3MiwgNSwgCi0gICAgMjE1LCAxMTksIDU1LCAyMjUsIDE3MiwgNSwgMjQ4LCAyMjksIDU1LCAyMjUsIDE3MiwgNSwgMjQ4LCAxMSwgNTUsIDIyNSwgCi0gICAgMTcyLCA1LCAyNDYsIDg2LCA1NSwgMjI1LCAxNzIsIDUsIDIxNiwgMjA5LCA1NSwgMjI1LCAxNzIsIDUsIDE5MSwgNTUsIAotICAgIDIyNSwgMTcyLCA1LCAyNTIsIDE5OSwgNTUsIDIyNSwgMTcyLCA1LCAyNDQsIDIwNCwgNTUsIDIyNSwgMTcyLCA1LCAxOTgsIAotICAgIDU1LCAyMjUsIDE3MiwgNSwgMjI3LCAyNDIsIDU1LCAyMjUsIDE3MiwgNSwgMTg2LCA1NSwgMjI1LCAxNzIsIDUsIDIzMCwgCi0gICAgMjM1LCA1NSwgMjI1LCAxNzIsIDUsIDIzMCwgMTA3LCA1NSwgMjI1LCAxNzIsIDUsIDE5MiwgNTUsIDIyNSwgMTcyLCA1LCAKLSAgICAyMTQsIDI3LCA1NSwgMjI1LCAxNzIsIDUsIDIxMywgMTc2LCA1NSwgMjI1LCAxNzIsIDUsIDIwNSwgNTUsIDIyNSwgMTcyLCAKLSAgICA1LCAyMjIsIDE0MiwgNTUsIDIyNSwgMTcyLCA1LCAyMzMsIDE0MSwgNTUsIDIyNSwgMTcyLCA1LCAyMDYsIDU1LCAyMjUsIAotICAgIDE3MiwgNSwgMjEwLCAxMTYsIDU1LCAyMjUsIDE3MiwgNSwgMjIwLCAxMDQsIDU1LCAyMjUsIDE3MiwgNSwgMjE4LCAyMjUsIAotICAgIDU1LCAyMjUsIDE3MiwgNSwgMTYyLCA1NSwgMjI1LCAxNzIsIDUsIDI1MywgMTk0LCA1NSwgMjI1LCAxNzIsIDUsIDI1MywgCi0gICAgMTkzLCA1NSwgMjI1LCAxNzIsIDUsIDI1MywgMTkyLCA1NSwgMjI1LCAxNzIsIDUsIDIxMSwgMTQyLCA1NSwgMjI1LCAxNzIsIAotICAgIDUsIDI0OCwgMjA4LCA1NSwgMjI1LCAxNzIsIDUsIDI0OCwgMjA3LCA1NSwgMjI1LCAxNzIsIDUsIDI1MiwgMTc4LCA1NSwgCi0gICAgMjI1LCAxNzIsIDUsIDI1MSwgOTMsIDU1LCAyMjUsIDE3MiwgMjExLCAyMDksIDI0NywgMTgwLCA1NSwgMjI1LCAxNzIsIDU0LCAKLSAgICAxMTEsIDU1LCAyMjUsIDE3MiwgNTQsIDEwNSwgNTUsIDIyNSwgMTcyLCA1NCwgMjE2LCAyNDgsIDU1LCAyMjUsIDE3MiwgNTQsIAotICAgIDIxNSwgNzMsIDU1LCAyMjUsIDE3MiwgNTQsIDI0MCwgMjE3LCAxODEsIDYsIDEsIDIwMCwgNzQsIDE4MSwgNiwgMSwgMjAwLCAKLSAgICA3NiwgMTgxLCA2LCAxLCAyMDAsIDYxLCAxODEsIDYsIDEsIDIwMCwgMjU0LCAyMTgsIDE4MSwgNiwgMSwgMjAwLCA3OCwgCi0gICAgMTgxLCA2LCAxLCAyMDAsIDIyNiwgMTg3LCAxODEsIDYsIDEsIDIxOSwgMjUzLCA3NCwgMTgxLCA2LCAxLCAyMTksIDI1MywgCi0gICAgNzYsIDE4MSwgNiwgMSwgMjE5LCAyNTMsIDYxLCAxODEsIDYsIDEsIDIxOSwgMjUzLCAyNTQsIDIxOCwgMTgxLCA2LCAxLCAKLSAgICAyMTksIDI1MywgNzgsIDE4MSwgNiwgMSwgMjE5LCAyNTMsIDIyNiwgMTg3LCAxODEsIDYsIDEsIDI1MywgMTc1LCAxODEsIDYsIAotICAgIDEsIDIyNiwgMTIwLCAxODEsIDYsIDEsIDIxMSwgMTk1LCAxODEsIDYsIDEsIDIxMSwgNDQsIDE4MSwgNiwgMSwgMjQyLCA2NywgCi0gICAgMTgxLCA2LCAxLCAyMjUsIDIxNCwgMTgxLCA2LCAxLCAyNTIsIDc0LCAxODEsIDYsIDEsIDIxNywgMTIsIDE4MSwgNiwgMSwgCi0gICAgMjQ4LCA4NSwgMTgxLCA2LCAxLCAyNTAsIDEzNiwgMTgxLCA2LCAxLCAyMzUsIDEzMCwgMTgxLCA2LCAxLCAyMzQsIDE5NSwgCi0gICAgMTgxLCA2LCAxLCAyNDMsIDkwLCAxODEsIDYsIDEsIDI0NSwgMjEwLCAxODEsIDYsIDEsIDIxMywgMjUwLCAxODEsIDYsIDEsIAotICAgIDI0NSwgNjcsIDE4MSwgNiwgMSwgMjE2LCAxOTUsIDE4MSwgNiwgMSwgMjQ1LCA5MCwgMTgxLCA2LCAxLCAyMTAsIDkyLCAKLSAgICAxODEsIDYsIDEsIDI0NSwgODMsIDE4MSwgNiwgMSwgMjEwLCA3MywgMTgxLCA2LCAxLCAyNDUsIDEwMCwgMTgxLCA2LCAxLCAKLSAgICAyNDUsIDE4MiwgMTgxLCA2LCAxLCAyNDUsIDE2NywgMTgxLCA2LCAxLCAyNDUsIDE1OCwgMTgxLCA2LCAxLCAyNDUsIDE0NiwgCi0gICAgMTgxLCA2LCAxLCAyMjYsIDIyMywgMTgxLCA2LCAxLCAyNDUsIDQ2LCAxODEsIDQsIDEsIDIwMCwgNzQsIDE4MSwgNCwgMSwgCi0gICAgMjAwLCA3NiwgMTgxLCA0LCAxLCAyMDAsIDYxLCAxODEsIDQsIDEsIDIwMCwgMjU0LCAyMTgsIDE4MSwgNCwgMSwgMjAwLCAKLSAgICA3OCwgMTgxLCA0LCAxLCAyMDAsIDIyNiwgMTg3LCAxODEsIDQsIDEsIDIxOSwgMjUzLCA3NCwgMTgxLCA0LCAxLCAyMTksIAotICAgIDI1MywgNzYsIDE4MSwgNCwgMSwgMjE5LCAyNTMsIDYxLCAxODEsIDQsIDEsIDIxOSwgMjUzLCAyNTQsIDIxOCwgMTgxLCA0LCAKLSAgICAxLCAyMTksIDI1MywgNzgsIDE4MSwgNCwgMSwgMjE5LCAyNTMsIDIyNiwgMTg3LCAxODEsIDQsIDEsIDI1MywgMTc1LCAxODEsIAotICAgIDQsIDEsIDIyNiwgMTIwLCAxODEsIDQsIDEsIDIxMSwgMTk1LCAxODEsIDQsIDEsIDIxMSwgNDQsIDE4MSwgNCwgMSwgMjQyLCAKLSAgICA2NywgMTgxLCA0LCAxLCAyMjUsIDIxNCwgMTgxLCA0LCAxLCAyNTIsIDc0LCAxODEsIDQsIDEsIDIxNywgMTIsIDE4MSwgNCwgCi0gICAgMSwgMjQ4LCA4NSwgMTgxLCA0LCAxLCAyNTAsIDEzNiwgMTgxLCA0LCAxLCAyMzUsIDEzMCwgMTgxLCA0LCAxLCAyMzQsIAotICAgIDE5NSwgMTgxLCA0LCAxLCAyNDMsIDkwLCAxODEsIDQsIDEsIDI0NSwgMjEwLCAxODEsIDQsIDEsIDIxMywgMjUwLCAxODEsIAotICAgIDQsIDEsIDI0NSwgNjcsIDE4MSwgNCwgMSwgMjE2LCAxOTUsIDE4MSwgNCwgMSwgMjQ1LCA5MCwgMTgxLCA0LCAxLCAyMTAsIAotICAgIDkyLCAxODEsIDQsIDEsIDI0NSwgODMsIDE4MSwgNCwgMSwgMjEwLCA3MywgMTgxLCA0LCAxLCAyNDUsIDEwMCwgMTgxLCA0LCAKLSAgICAxLCAyNDUsIDE4MiwgMTgxLCA0LCAxLCAyNDUsIDE2NywgMTgxLCA0LCAxLCAyNDUsIDE1OCwgMTgxLCA0LCAxLCAyNDUsIAotICAgIDE0NiwgMTgxLCA0LCAxLCAyMjYsIDIyMywgMTgxLCA0LCAxLCAyNDUsIDQ2LCAyMjAsIDcxLCAxLCAyMjUsIDIxMiwgMjIwLCAKLSAgICA3MSwgMSwgMjE2LCA2LCAyMjAsIDcxLCAxLCAyMzQsIDk3LCAyMjAsIDcxLCAxLCAyNDQsIDE1NSwgMjIwLCA3MSwgMSwgCi0gICAgMjE2LCAxNzMsIDIyMCwgNzEsIDEsIDIxOSwgNjAsIDIyMCwgNzEsIDEsIDIxOCwgMTUsIDIyMCwgNzEsIDEsIDI1MCwgNjksIAotICAgIDIyMCwgNzEsIDEsIDIxMSwgNDYsIDIyMCwgNzEsIDEsIDI0MCwgMjE2LCAyMjAsIDcxLCAxLCAyNTIsIDEzLCAyMjAsIDcxLCAKLSAgICAxLCAyNDgsIDk3LCAyMjAsIDcxLCAxLCAyNDMsIDEyOCwgMjIwLCA3MSwgMSwgMjEzLCAxMjMsIDIyMCwgNzEsIDEsIDIxNiwgCi0gICAgMTc3LCAyMjAsIDcxLCAxLCAyMTAsIDIxLCAyMjAsIDcxLCAxLCAyMzEsIDk0LCAyMjAsIDcxLCAxLCAyMzUsIDU1LCAyMjAsIAotICAgIDcxLCAxLCAyMTEsIDIyNSwgMjIwLCA3MSwgMSwgMjQyLCA1NSwgMjIwLCA3MSwgMSwgMjMyLCAxNDgsIDIyMCwgNzEsIDEsIAotICAgIDIzMCwgMTk0LCAyMjAsIDcxLCAxLCAyMzYsIDQ3LCAyMjAsIDcxLCAxLCAyNDUsIDIwOSwgMjIwLCA3MSwgMSwgMjUzLCAKLSAgICAyMzksIDIyMCwgNzEsIDEsIDI1NSwgMCwgMjIwLCA3MSwgMSwgMjI2LCAyMDAsIDIyMCwgNzEsIDEsIDIxMSwgMjEyLCAyMjAsIAotICAgIDcxLCAxLCAyMjYsIDEzNCwgMjIwLCA3MSwgMSwgMjU0LCAyMTgsIDIyMCwgNzEsIDEsIDIyMiwgMjEwLCAyMjAsIDcxLCAxLCAKLSAgICAyMjcsIDE5OCwgMjIwLCA3MSwgMSwgMjQ1LCAyMjUsIDIyMCwgNzEsIDEsIDI1NCwgMjIzLCAyMjAsIDcxLCAxLCAyNDAsIAotICAgIDExOCwgMjIwLCA3MSwgMSwgMjE0LCAxNjMsIDIyMCwgNzEsIDEsIDIyNywgMiwgMjIwLCA3MSwgMSwgMjI2LCAxODAsIDIyMCwgCi0gICAgNzEsIDEsIDIyNiwgMjIyLCAyMjAsIDcxLCAxLCAyNTMsIDE3OCwgMjIwLCA3MSwgMSwgMjU0LCAyNywgMjIwLCA3MSwgMSwgCi0gICAgMjI2LCAxNjIsIDIyMCwgNzEsIDEsIDI1NCwgMjAxLCAyMjAsIDcxLCAxLCAyNDUsIDk0LCAyMjAsIDcxLCAxLCAyNTQsIDUsIAotICAgIDIyMCwgNzEsIDEsIDI0NSwgMjM1LCAyMjAsIDcxLCAxLCAyNDAsIDEyNSwgMjIwLCA3MSwgMSwgMjExLCAxMywgMjI2LCAKLSAgICAxNDUsIDEsIDI1NCwgMTc5LCAyMjYsIDE0NSwgMSwgMjUyLCAxOTksIDIyNiwgMTQ1LCAxLCAyMTcsIDEwNiwgMjI2LCAxNDUsIAotICAgIDEsIDIzNSwgMTQ3LCAyMjYsIDE0NSwgMSwgMjExLCAxNjUsIDIyNiwgMTQ1LCAxLCAyMzQsIDEzOCwgMjI2LCAxNDUsIDEsIAotICAgIDI0OCwgODQsIDIyNiwgMTQ1LCAxLCAyMDUsIDIyNiwgMTQ1LCAxLCAyMDYsIDIyNiwgMTQ1LCAxLCAyMjAsIDI4LCAyMjYsIAotICAgIDE0NSwgMSwgMjQ4LCAzMywgMjI2LCAxNDUsIDEsIDI1MCwgMjIzLCAyMjYsIDE0NSwgMSwgMjQzLCAxNDIsIDIyNiwgMTQ1LCAKLSAgICAxLCAyNDQsIDIwNCwgMjI2LCAxNDUsIDEsIDIyNCwgODksIDIyNiwgMTQ1LCAxLCAyMzUsIDE1LCAyMjYsIDE0NSwgMSwgCi0gICAgMjMzLCAxMzYsIDIyNiwgMTQ1LCAxLCAyMzAsIDIwNSwgMjI2LCAxNDUsIDEsIDIyNywgMTgyLCAyMjYsIDE0NSwgMSwgMjEyLCAKLSAgICAzMCwgMjI2LCAxNDUsIDEsIDE2MiwgMjI2LCAxNDUsIDEsIDE5MiwgMjI2LCAxNDUsIDEsIDYxLCAyMjYsIDE0NSwgMSwgNzYsIAotICAgIDIyNiwgMTQ1LCAxLCA3NCwgMjI2LCAxNDUsIDEsIDc4LCAyMjYsIDE0NSwgMSwgNjksIDIyNiwgMTQ1LCAxLCAyNTUsIDgyLCAKLSAgICAyMjYsIDE0NSwgMSwgMjQ1LCAyMTcsIDIyNiwgMTQ1LCAxLCAyMjYsIDE4NywgMjI2LCAxNDUsIDIxLCAyMTAsIDg2LCAyMjYsIAotICAgIDE0NSwgMjEsIDExMSwgMjI2LCAxNDUsIDIxLCAxMDUsIDIyNiwgMTQ1LCAyMSwgMTU4LCAyMjYsIDE0NSwgMjEsIDE2MSwgCi0gICAgMjI2LCAxNDUsIDIxLCAxOTAsIDIyNiwgMTQ1LCAyMSwgMTk1LCAyMjYsIDE0NSwgMjEsIDE5OSwgMjI2LCAxNDUsIDIxLCAKLSAgICAxOTYsIDIyNiwgMTQ1LCAyMSwgMjAxLCAyNDksIDc1LCAzLCA2MSwgMjQ5LCA3NSwgMywgNzYsIDI0OSwgNzUsIDMsIDc0LCAKLSAgICAyNDksIDc1LCAzLCA3OCwgMjQ5LCA3NSwgMywgNjksIDI0OSwgNzUsIDMsIDIzNSwgMTQ3LCAyNDksIDc1LCAzLCAyMzUsIAotICAgIDc0LCAyNDksIDc1LCAzLCAxNzYsIDI0OSwgNzUsIDMsIDIzNCwgMTg4LCAyNDksIDc1LCAzLCAyMzQsIDk4LCAyNDksIDc1LCAKLSAgICAzLCAyMzQsIDM0LCAyNDksIDc1LCAzLCAyMzMsIDIyMywgMjQ5LCA3NSwgMywgMjMzLCAxNDEsIDI0OSwgNzUsIDMsIDIzMywgCi0gICAgNjQsIDI0OSwgNzUsIDMsIDIzMiwgMjQ3LCAyNDksIDc1LCAzLCAyMzIsIDE2MiwgMjQ5LCA3NSwgMywgMjMyLCAxMDMsIAotICAgIDI0OSwgNzUsIDMsIDE4NiwgMjQ5LCA3NSwgMywgMjMxLCA5NiwgMjQ5LCA3NSwgMywgMjMwLCAyMzUsIDI0OSwgNzUsIDMsIAotICAgIDIzMCwgMTY2LCAyNDksIDc1LCAzLCAyMzAsIDEwNywgMjQ5LCA3NSwgMywgMTk4LCAyNDksIDc1LCAzLCAyMjksIDExMiwgCi0gICAgMjQ5LCA3NSwgMywgMjI4LCAyMzgsIDI0OSwgNzUsIDMsIDIyOCwgNzksIDI0OSwgNzUsIDMsIDIyNywgMjQyLCAyNDksIDc1LCAKLSAgICAzLCAxOTEsIDI0OSwgNzUsIDMsIDIyNSwgMjI0LCAyNDksIDc1LCAzLCAyMjUsIDExMSwgMjQ5LCA3NSwgMywgMjI1LCAxOSwgCi0gICAgMjQ5LCA3NSwgMywgMjI0LCAxNTMsIDI0OSwgNzUsIDMsIDIwNSwgMjQ5LCA3NSwgMywgMjIzLCAxMzEsIDI0OSwgNzUsIDMsIAotICAgIDIyMywgMzgsIDI0OSwgNzUsIDMsIDIyMiwgMjEzLCAyNDksIDc1LCAzLCAyMjIsIDE0MiwgMjQ5LCA3NSwgMywgMjA2LCAKLSAgICAyNDksIDc1LCAzLCAyMjEsIDE4MywgMjQ5LCA3NSwgMywgMjE5LCAxOTMsIDI0OSwgNzUsIDMsIDIxOSwgNjAsIDI0OSwgNzUsIAotICAgIDMsIDIxOCwgODQsIDI0OSwgNzUsIDMsIDIxNywgMTA2LCAyNDksIDc1LCAzLCAyMTcsIDIzLCAyNDksIDc1LCAzLCAyMTYsIAotICAgIDExOCwgMjQ5LCA3NSwgMywgMTEyLCAyNDksIDc1LCAzLCAyMTUsIDExOSwgMjQ5LCA3NSwgMywgMjEyLCA2NSwgMjQ5LCA3NSwgCi0gICAgMywgMjEyLCAyMiwgMjQ5LCA3NSwgMywgMjExLCAyNTAsIDI0OSwgNzUsIDMsIDIxMSwgMjI3LCAyNDksIDc1LCAzLCAyMTEsIAotICAgIDE2NSwgMjQ5LCA3NSwgMywgMjExLCAxNjIsIDI0OSwgNzUsIDMsIDIxMCwgMTE2LCAyNDksIDc1LCAzLCAyMTAsIDIzLCAKLSAgICAyMzYsIDgsIDI1NCwgMzUsIDEsIDI1NCwgMTc3LCAyMzYsIDgsIDI1NCwgMzUsIDEsIDI1MiwgMzMsIDIzNiwgOCwgMjU0LCAKLSAgICAzNSwgMSwgMjQyLCAyMDgsIDIzNiwgOCwgMjU0LCAzNSwgMSwgMjQ4LCAxOTYsIDIzNiwgOCwgMjU0LCAzNSwgMSwgMjQxLCAKLSAgICAyNDUsIDIzNiwgOCwgMjU0LCAzNSwgMSwgMjEyLCAzMCwgMjM2LCA4LCAyNTQsIDM1LCAxLCAyMTAsIDk3LCAyMzYsIDgsIAotICAgIDI1NCwgMzUsIDEsIDI0MSwgMjAyLCAyMzYsIDgsIDI1NCwgMzUsIDEsIDIxNiwgMjI3LCAyMzYsIDgsIDI1NCwgMzUsIDEsIAotICAgIDIxMCwgMjMyLCAyMzYsIDgsIDI1NCwgMzUsIDEsIDIzNCwgMjMxLCAyMzYsIDgsIDI1NCwgMzUsIDEsIDIzMywgOTksIDIzNiwgCi0gICAgOCwgMjU0LCAzNSwgMSwgMjMxLCA3MCwgMjM2LCA4LCAyNTQsIDM1LCAxLCAyMjcsIDE5OCwgMjM2LCA4LCAyNTQsIDM1LCAxLCAKLSAgICAyMjEsIDI1MSwgMjM2LCA4LCAyNTQsIDM1LCAxLCAyNTMsIDE3MCwgMjM2LCA4LCAyNTQsIDM1LCAxLCAyMjUsIDIyNCwgCi0gICAgMjM2LCA4LCAyNTQsIDM1LCAxLCAyMjIsIDI2LCAyMzYsIDgsIDI1NCwgMzUsIDEsIDIyNCwgMzcsIDIzNiwgOCwgMjU0LCAKLSAgICAzNSwgMSwgMjIzLCA3MCwgMjM2LCA4LCAyNTQsIDM1LCAxLCAyMjAsIDIyLCAyMzYsIDgsIDI1NCwgMzUsIDEsIDIxNywgMzcsIAotICAgIDIzNiwgOCwgMjU0LCAzNSwgMjIxLCAxNzUsIDUwLCAyMzYsIDgsIDI1NCwgMzUsIDU0LCAxMTEsIDIzNiwgOCwgMjU0LCAzNSwgCi0gICAgNTQsIDEwNSwgMjM2LCA4LCAyNTQsIDM1LCA1NCwgMTU4LCAyMzYsIDgsIDI1NCwgMzUsIDU0LCAyMTYsIDI0OCwgMjM2LCA4LCAKLSAgICAyNTQsIDM1LCA1NCwgMjE1LCA3MywgMjM2LCA4LCAyNTQsIDM1LCA1NCwgMTIzLCAyNDAsIDIxNywgMjM2LCA4LCAyNTQsIAotICAgIDM1LCA1NCwgMTIzLCAyMTYsIDE0OCwgMjM2LCA4LCAyNTQsIDM1LCA1NCwgMjE2LCAyNDksIDIxNiwgMTQ4LCAyMjUsIDEyMiwgCi0gICAgMSwgMjU0LCAxNzQsIDIyNSwgMTIyLCAxLCAyNTIsIDM2LCAyMjUsIDEyMiwgMSwgMjQzLCAxMTYsIDIyNSwgMTIyLCAxLCAKLSAgICAyNDgsIDY0LCAyMjUsIDEyMiwgMSwgMjQxLCAyNDUsIDIyNSwgMTIyLCAxLCAyMTIsIDM3LCAyMjUsIDEyMiwgMSwgMjEwLCAKLSAgICAxMTAsIDIyNSwgMTIyLCAxLCAyNDEsIDIwNCwgMjI1LCAxMjIsIDEsIDIxNiwgMjMxLCAyMjUsIDEyMiwgMSwgMjEwLCAyMzMsIAotICAgIDIyNSwgMTIyLCAxLCAyMzUsIDAsIDIyNSwgMTIyLCAxLCAyMzMsIDEwNSwgMjI1LCAxMjIsIDEsIDIzMSwgNzAsIDIyNSwgCi0gICAgMTIyLCAxLCAyMjcsIDE5OCwgMjI1LCAxMjIsIDEsIDIyMCwgMTQ2LCAyMjUsIDEyMiwgMSwgMjU0LCAyMDUsIDIyNSwgMTIyLCAKLSAgICAxLCAyMjUsIDIyNCwgMjI1LCAxMjIsIDEsIDIyMiwgMjcsIDIyNSwgMTIyLCAxLCAyMjQsIDQyLCAyMjUsIDEyMiwgMSwgCi0gICAgMjIyLCAxOTEsIDIyNSwgMTIyLCAxLCAyMjAsIDIyLCAyMjUsIDEyMiwgMSwgMjE3LCA0MiwgMjI1LCAxMjIsIDU0LCAxMTEsIAotICAgIDIyNSwgMTIyLCA1NCwgMjE2LCAyNDgsIDIyNSwgMTIyLCA1NCwgMjE1LCA3MywgMjI1LCAxMjIsIDU0LCAxMjMsIDI0MCwgCi0gICAgMjE3LCAyMjUsIDEyMiwgNTQsIDEwNSwgMjI1LCAxMjIsIDU0LCAxNTgsIDIyNSwgMTIyLCAyMTEsIDIwOSwgMjIwLCAxMzksIAotICAgIDIzMiwgNjQsIDEsIDYxLCAyMzIsIDY0LCAxLCAyNTMsIDE2NiwgMjMyLCA2NCwgMSwgMjQzLCAyMDksIDIzMiwgNjQsIDEsIAotICAgIDI0OSwgNjgsIDIzMiwgNjQsIDEsIDc2LCAyMzIsIDY0LCAxLCAyMTQsIDEwNSwgMjMyLCA2NCwgMSwgNzQsIDIzMiwgNjQsIAotICAgIDEsIDIxMSwgMTE3LCAyMzIsIDY0LCAxLCAyMzUsIDI5LCAyMzIsIDY0LCAxLCAxNTYsIDIzMiwgNjQsIDEsIDE5NCwgMjMyLCAKLSAgICA2NCwgMSwgMjMwLCAzMCwgMjMyLCA2NCwgMSwgNzgsIDIzMiwgNjQsIDEsIDE1MywgMjMyLCA2NCwgMSwgMjE4LCAyMjgsIAotICAgIDIzMiwgNjQsIDEsIDIxNywgMTUzLCAyMzIsIDY0LCAxLCA2OSwgMjMyLCA2NCwgMSwgMjQ1LCAxNCwgMjMyLCA2NCwgMSwgCi0gICAgMjI0LCA5OSwgMjMyLCA2NCwgMSwgMjIyLCA5MywgMjMyLCA2NCwgMSwgMjE1LCAxNjAsIDIzMiwgNjQsIDEsIDI1NCwgMTMxLCAKLSAgICAyMzIsIDY0LCAxLCAyNDUsIDE1OCwgMjMyLCA2NCwgMSwgMjMyLCA2NywgMjMyLCA2NCwgMSwgMjI4LCAxMTYsIDIzMiwgNjQsIAotICAgIDEsIDI1MSwgNzQsIDIzMiwgNjQsIDIxNSwgMjIzLCA3OSwgMjMxLCA1MywgMjQxLCAxODEsIDEsIDYxLCAyMzEsIDUzLCAKLSAgICAyNDEsIDE4MSwgMSwgNzYsIDIzMSwgNTMsIDI0MSwgMTgxLCAxLCA3NCwgMjMxLCA1MywgMjQxLCAxODEsIDEsIDc4LCAyMzEsIAotICAgIDUzLCAyNDEsIDE4MSwgMSwgMTkyLCAyMzEsIDUzLCAyNDEsIDE4MSwgMSwgMjEyLCA2NSwgMjMxLCA1MywgMjQxLCAxODEsIAotICAgIDEsIDI1MiwgMTk5LCAyMzEsIDUzLCAyNDEsIDE4MSwgMSwgMjUyLCAxOTgsIDIzMSwgNTMsIDI0MSwgMTgxLCAxLCAxOTEsIAotICAgIDIzMSwgNTMsIDI0MSwgMTgxLCAxLCAxODYsIDIzMSwgNTMsIDI0MSwgMTgxLCAxLCAxOTgsIDIzMSwgNTMsIDI0MSwgMTgxLCAKLSAgICAxLCAyMjksIDIzMywgMjMxLCA1MywgMjQxLCAxODEsIDEsIDIyOSwgMTEyLCAyMzEsIDUzLCAyNDEsIDE4MSwgMSwgMjI5LCAKLSAgICAxMTEsIDIzMSwgNTMsIDI0MSwgMTgxLCAxLCAyMDUsIDIzMSwgNTMsIDI0MSwgMTgxLCAxLCAyMjMsIDE5MCwgMjMxLCA1MywgCi0gICAgMjQxLCAxODEsIDEsIDIzMywgMTQxLCAyMzEsIDUzLCAyNDEsIDE4MSwgMSwgMjM0LCAxMzgsIDIzMSwgNTMsIDI0MSwgMTgxLCAKLSAgICAxLCAyNDEsIDE5NiwgMjMxLCA1MywgMjQxLCAxODEsIDEsIDIwNiwgMjMxLCA1MywgMjQxLCAxODEsIDEsIDIyMiwgMzUsIAotICAgIDIzMSwgNTMsIDI0MSwgMTgxLCAxLCAyMjEsIDE4MywgMjMxLCA1MywgMjQxLCAxODEsIDEsIDE3NiwgMjMxLCA1MywgMjQxLCAKLSAgICAxODEsIDEsIDIyNCwgOTEsIDIzMSwgNTMsIDI0MSwgMTgxLCAxLCAyMTcsIDEwNiwgMjMxLCA1MywgMjQxLCAxODEsIDEsIAotICAgIDIxNywgMTA1LCAyMzEsIDUzLCAyNDEsIDE4MSwgMSwgMjE3LCAyMywgMjMxLCA1MywgMjQxLCAxODEsIDEsIDIxNywgMjIsIAotICAgIDIzMSwgNTMsIDI0MSwgMTgxLCAxLCAxMTIsIDIzMSwgNTMsIDI0MSwgMTgxLCAxLCAyNDgsIDIyOSwgMjMxLCA1MywgMjQxLCAKLSAgICAxODEsIDE2LCAyMTMsIDE3MCwgMjMxLCA1MywgMjQxLCAxODEsIDE2LCAyMTMsIDE2OSwgMjMxLCA1MywgMjQ5LCAxMDIsIDEsIAotICAgIDYxLCAyMzEsIDUzLCAyNDksIDEwMiwgMSwgNzYsIDIzMSwgNTMsIDI0OSwgMTAyLCAxLCA3NCwgMjMxLCA1MywgMjQ5LCAKLSAgICAxMDIsIDEsIDc4LCAyMzEsIDUzLCAyNDksIDEwMiwgMSwgMTkyLCAyMzEsIDUzLCAyNDksIDEwMiwgMSwgMjEyLCA2NSwgCi0gICAgMjMxLCA1MywgMjQ5LCAxMDIsIDEsIDI1MiwgMTk5LCAyMzEsIDUzLCAyNDksIDEwMiwgMSwgMTkxLCAyMzEsIDUzLCAyNDksIAotICAgIDEwMiwgMSwgMTg2LCAyMzEsIDUzLCAyNDksIDEwMiwgMSwgMTk4LCAyMzEsIDUzLCAyNDksIDEwMiwgMSwgMjI5LCAxMTIsIAotICAgIDIzMSwgNTMsIDI0OSwgMTAyLCAxLCAyMDUsIDIzMSwgNTMsIDI0OSwgMTAyLCAxLCAyMzMsIDE0MSwgMjMxLCA1MywgMjQ5LCAKLSAgICAxMDIsIDEsIDIzNCwgMTM4LCAyMzEsIDUzLCAyNDksIDEwMiwgMSwgMjQxLCAxOTYsIDIzMSwgNTMsIDI0OSwgMTAyLCAxLCAKLSAgICAyMDYsIDIzMSwgNTMsIDI0OSwgMTAyLCAxLCAyNTQsIDMxLCAyMDYsIDIzMSwgNTMsIDI0OSwgMTAyLCAxLCAyMjEsIDE4MywgCi0gICAgMjMxLCA1MywgMjQ5LCAxMDIsIDEsIDE3NiwgMjMxLCA1MywgMjQ5LCAxMDIsIDEsIDIyNCwgOTEsIDIzMSwgNTMsIDI0OSwgCi0gICAgMTAyLCAxLCAyMTcsIDEwNiwgMjMxLCA1MywgMjQ5LCAxMDIsIDEsIDIxNywgMjMsIDIzMSwgNTMsIDI0OSwgMTAyLCAxLCAKLSAgICAxMTIsIDIzMSwgNTMsIDI0OSwgMTAyLCAxLCAyNDgsIDIyOSwgMjMxLCA1MywgMjQ5LCAxMDIsIDIzMiwgMTUxLCAyMjIsIAotICAgIDIxOSwgMjMxLCA1MywgMjQ5LCAxMDIsIDIzMiwgMTUxLCAyMzYsIDEzLCAyMzQsIDEyNiwgMSwgNjEsIDIzNCwgMTI2LCAyNSwgCi0gICAgNSwgNzQsIDIzNCwgMTI2LCAyNSwgNSwgNjksIDIzNCwgMTI2LCAyNSwgNSwgMTQ5LCAxNTMsIDIzNCwgMTI2LCAyNSwgNSwgCi0gICAgNzYsIDIzNCwgMTI2LCAyNSwgNSwgNzgsIDIzNCwgMTI2LCAyNSwgMjMzLCAyOSwgNzksIDIzNCwgMTI2LCA1LCA1MiwgMjIyLCAKLSAgICAyMzcsIDUxLCAyMzQsIDEyNiwgNSwgMjU0LCA4MywgMjM0LCAxMjYsIDUsIDIxMywgMTQ3LCAyMzQsIDEyNiwgMSwgMTc2LCAKLSAgICAyMzQsIDEyNiwgMSwgMjM0LCAxMzgsIDIzNCwgMTI2LCAxLCAyNDMsIDE0MiwgMjM0LCAxMjYsIDEsIDI0MywgMCwgMjM0LCAKLSAgICAxMjYsIDEsIDI1MSwgNDEsIDIzNCwgMTI2LCAxLCAyNTAsIDE2NSwgMjM0LCAxMjYsIDEsIDIzNSwgMTQ3LCAyMzQsIDEyNiwgCi0gICAgMSwgMjI3LCAxNjksIDIzNCwgMTI2LCAxLCAyMTUsIDE1NywgMjM0LCAxMjYsIDEsIDIxNSwgMTQ1LCAyMzQsIDEyNiwgMSwgCi0gICAgMjQ4LCAxNDMsIDIzNCwgMTI2LCAxLCAyNDgsIDEyNywgMjM0LCAxMjYsIDEsIDIyOCwgMTE1LCAyMzQsIDEyNiwgMSwgMjE3LCAKLSAgICAxMDYsIDIzNCwgMTI2LCAxLCAyMTYsIDIwOSwgMjM0LCAxMjYsIDEsIDI0OCwgMjI5LCAyMzQsIDEyNiwgMSwgMjQ4LCAzMywgCi0gICAgMjM0LCAxMjYsIDEsIDE5OCwgMjM0LCAxMjYsIDEsIDE5MSwgMjM0LCAxMjYsIDEsIDIyNSwgMTUwLCAyMzQsIDEyNiwgMSwgCi0gICAgMjUyLCAxOTksIDIzNCwgMTI2LCAxLCAyNTIsIDI2LCAyMzQsIDEyNiwgMSwgMTg2LCAyMzQsIDEyNiwgMSwgMTkyLCAyMzQsIAotICAgIDEyNiwgMSwgMjA1LCAyMzQsIDEyNiwgMSwgMjMzLCAxNDEsIDIzNCwgMTI2LCAxLCAyMTQsIDI3LCAyMzQsIDEyNiwgMSwgCi0gICAgMjIwLCAxMDQsIDIzNCwgMTI2LCAxLCAyMTgsIDIyNSwgMjM0LCAxMjYsIDEsIDIwNiwgMjM0LCAxMjYsIDEsIDIxMCwgMTE2LCAKLSAgICAyMzQsIDEyNiwgMSwgMTYyLCAyMzQsIDEyNiwgMSwgMjM0LCA1MiwgMjM0LCAxMjYsIDEsIDIxNSwgMTI1LCAyMzQsIDEyNiwgCi0gICAgNSwgMjUyLCAxNDksIDQ4LCAyMzQsIDEyNiwgNSwgMjUwLCAyMjksIDIzNCwgMTI2LCA1LCA1OSwgNTEsIDIzNCwgMTI2LCAKLSAgICAyMTMsIDE1MiwgMjM0LCAxMjYsIDIxLCAxMTEsIDIzNCwgMTI2LCAyMSwgMTA1LCAyMzQsIDEyNiwgMjEsIDE1OCwgMjM0LCAKLSAgICAxMjYsIDIxLCAxNjEsIDIzNCwgMTI2LCA1NCwgMjE2LCAyNDgsIDIzNCwgMTI2LCA1NCwgMjE1LCA3MywgMjM0LCAxMjYsIAotICAgIDU0LCAxMjMsIDI0MCwgMjE3LCAyMzQsIDEyNiwgNTQsIDEyMywgMjE2LCAxNDgsIDIzNCwgMTI2LCAyMjQsIDE0NCwgMjQ3LCAKLSAgICAxMjgsIDIzNCwgMTI2LCAyMjQsIDE0NCwgNCwgMjUwLCA0MywgMjM0LCAxMjYsIDIyNCwgMTQ0LCAyNTAsIDQzLCAyMzQsIAotICAgIDEyNiwgMjI0LCAxNDQsIDI0OSwgMTQ1LCAxMzAsIDIzNCwgMTI2LCAyMjQsIDE0NCwgMjMxLCAxODUsIDIzNCwgMTI2LCAKLSAgICAyMjQsIDE0NCwgMjMyLCAxMjEsIDIzNCwgMTI2LCAyMjQsIDE0NCwgMjQ4LCAxODYsIDIzNCwgMTI2LCAyMjQsIDE0NCwgNTIsIAotICAgIDI0OCwgMTg2LCAyMzQsIDEyNiwgMjI0LCAxNDQsIDIzMiwgMjEzLCA1NSwgMjE5LCAzMCwgMjU0LCA0NiwgMSwgMjQxLCAKLSAgICAyNDUsIDU1LCAyMTksIDMwLCAyNTQsIDQ2LCAxLCAyMzMsIDk5LCA1NSwgMjE5LCAzMCwgMjU0LCA0NiwgMSwgMjQxLCAyMDIsIAotICAgIDU1LCAyMTksIDMwLCAyNTQsIDQ2LCAxLCAyMzEsIDcwLCA1NSwgMjE5LCAzMCwgMjU0LCA0NiwgMSwgMjI0LCAzNywgNTUsIAotICAgIDIxOSwgMzAsIDI1NCwgNDYsIDEsIDIxMiwgMzAsIDU1LCAyMTksIDMwLCAyNTQsIDQ2LCAxLCAyMjAsIDIyLCA1NSwgMjE5LCAKLSAgICAzMCwgMjU0LCA0NiwgMSwgMjIzLCA3MCwgNTUsIDIxOSwgMzAsIDI1NCwgNDYsIDEsIDI1MiwgMzMsIDU1LCAyMTksIDMwLCAKLSAgICAyNTQsIDQ2LCAxLCAyMTcsIDM3LCA1NSwgMjE5LCAzMCwgMjU0LCA0NiwgMSwgMjIxLCAyMjgsIDU1LCAyMTksIDMwLCAyNTQsIAotICAgIDQ2LCAxLCAyMzQsIDIzMSwgNTUsIDIxOSwgMzAsIDI1NCwgNDYsIDEsIDIyNywgMTk4LCA1NSwgMjE5LCAzMCwgMjU0LCA0NiwgCi0gICAgMSwgMjM0LCAxMjIsIDU1LCAyMTksIDMwLCAyNTQsIDQ2LCAxLCAyMjIsIDI2LCA1NSwgMjE5LCAzMCwgMjU0LCA0NiwgMSwgCi0gICAgMjIxLCAyNTEsIDU1LCAyMTksIDMwLCAyNTQsIDQ2LCAxLCAyNDQsIDE2MiwgNTUsIDIxOSwgMzAsIDI1NCwgNDYsIDEsIAotICAgIDI1NCwgMTc5LCA1NSwgMjE5LCAzMCwgMjU0LCA0NiwgMSwgMjUzLCAxNjksIDU1LCAyMTksIDMwLCAyNTQsIDQ2LCAxLCAKLSAgICAyNDgsIDMwLCA1NSwgMjE5LCAzMCwgMjU0LCA0NiwgMSwgMjQyLCAyMDgsIDU1LCAyMTksIDMwLCAyNTQsIDQ2LCAxLCAyNDgsIAotICAgIDE5NiwgNTUsIDIxOSwgMzAsIDI1NCwgNDYsIDEsIDI0MiwgMjQ1LCA1NSwgMjE5LCAzMCwgMjU0LCA0NiwgMSwgMjE2LCAKLSAgICAyMjcsIDU1LCAyMTksIDMwLCAyNTQsIDQ2LCAxLCAyMTAsIDk2LCA1NSwgMjE5LCAzMCwgMjU0LCA0NiwgMSwgMjQ4LCAyNywgCi0gICAgNTUsIDIxOSwgMzAsIDI1NCwgNDYsIDEsIDIxMCwgMjMyLCA1NSwgMjE5LCAzMCwgMjU0LCA0NiwgMSwgMjE2LCAxOTgsIDU1LCAKLSAgICAyMTksIDMwLCAyNTQsIDQ2LCAxLCAyMTYsIDE3OSwgNTUsIDIxOSwgMzAsIDI1NCwgNDYsIDU0LCAxMTEsIDU1LCAyMTksIAotICAgIDMwLCAyNTQsIDQ2LCA1NCwgMjQ0LCAxMjIsIDU1LCAyMTksIDMwLCAyNTQsIDQ2LCAxMzIsIDIzNSwgMjQ1LCAyNTMsIDE4MCwgCi0gICAgMSwgNjEsIDI1MywgMTgwLCAxLCAyNTUsIDgyLCAyNTMsIDE4MCwgMSwgMjU0LCA4MSwgMjUzLCAxODAsIDEsIDI1NSwgNDEsIAotICAgIDI1MywgMTgwLCAxLCAyNTQsIDEzMSwgMjUzLCAxODAsIDEsIDI1NSwgNDIsIDI1MywgMTgwLCAxLCAyNTQsIDI1MiwgMjUzLCAKLSAgICAxODAsIDEsIDI1NCwgMjQ4LCAyNTMsIDE4MCwgMSwgNzYsIDI1MywgMTgwLCAxLCAyNDUsIDIxNywgMjUzLCAxODAsIDEsIAotICAgIDc4LCAyNTMsIDE4MCwgMSwgMjI2LCAxODcsIDI1MywgMTgwLCAxLCA3NCwgMjUzLCAxODAsIDEsIDIzNiwgNDAsIDI1MywgCi0gICAgMTgwLCAxLCA2OSwgMjUzLCAxODAsIDEsIDIxNCwgMTE4LCAyNTMsIDE4MCwgMSwgMjM0LCAxODgsIDI1MywgMTgwLCAxLCAKLSAgICAyMTEsIDE2MiwgMjUzLCAxODAsIDEsIDIxMSwgMTI4LCAyNTMsIDE4MCwgMSwgMjExLCAxMzcsIDI1MywgMTgwLCAxLCAyNDMsIAotICAgIDY5LCAyNTMsIDE4MCwgMSwgMjQzLCAzMSwgMjUzLCAxODAsIDEsIDI0MiwgMjQzLCAyNTMsIDE4MCwgMSwgMjUwLCAxOTgsIAotICAgIDI1MywgMTgwLCAxLCAyMzUsIDEzMiwgMjUzLCAxODAsIDEsIDIxNywgMjMsIDI1MywgMTgwLCAxLCAyMTYsIDE5NiwgMjUzLCAKLSAgICAxODAsIDEsIDI0OCwgOTgsIDI1MywgMTgwLCAxLCAyNDgsIDI1LCAyNTMsIDE4MCwgMSwgMjE1LCAxNTIsIDI1MywgMTgwLCAKLSAgICAxLCAyMjUsIDIyNCwgMjUzLCAxODAsIDEsIDI0NCwgMTYyLCAyNTMsIDE4MCwgMSwgMjUyLCA4MywgMjUzLCAxODAsIDEsIAotICAgIDI1MiwgMjIsIDI1MywgMTgwLCAxLCAyMjksIDY5LCAyNTMsIDE4MCwgMSwgMjI4LCAyNDQsIDI1MywgMTgwLCAxLCAyMjgsIAotICAgIDI0NSwgMjUzLCAxODAsIDEsIDIyOSwgMTEyLCAyNTMsIDE4MCwgMSwgMjI3LCAxNjAsIDI1MywgMTgwLCAxLCAyMjgsIDExMCwgCi0gICAgMjUzLCAxODAsIDEsIDIzMSwgOTYsIDI1MywgMTgwLCAxLCAyNDEsIDEyMywgMjUzLCAxODAsIDEsIDIxMCwgMTY2LCAyNTMsIAotICAgIDE4MCwgMSwgMjExLCA0NywgMjUzLCAxODAsIDEsIDIxMywgMjU1LCAyNTMsIDE4MCwgMSwgMjIzLCAxMzEsIDI1MywgMTgwLCAKLSAgICAxLCAyMzMsIDY0LCAyNTMsIDE4MCwgMSwgMjIxLCAxODMsIDI1MywgMTgwLCAxLCAyMTAsIDk0LCAyNTMsIDE4MCwgMSwgCi0gICAgMjIwLCA2NSwgMjUzLCAxODAsIDEsIDIxMCwgNzQsIDI1MywgMTgwLCAxLCAyMTksIDIwMCwgMjUzLCAxODAsIDEsIDIxOCwgCi0gICAgMTk1LCAyNTMsIDE4MCwgMSwgMjQxLCAyNDUsIDI1MywgMTgwLCAyNTUsIDMwLCA3OSwgMjE2LCA4MCwgMTEzLCAxNzAsIAotICAgIDExNSwgMTIzLCA1OSwgMjI0LCAxNDMsIDQsIDExMywgMTcwLCAxMTUsIDEyMywgNTksIDIyNCwgMTQzLCAyMzMsIDkxLCAKLSAgICAxMTMsIDE3MCwgMTE1LCAxMjMsIDU5LCAyMjQsIDE0MywgMjMzLCA5MSwgMTIzLCA1OSwgMTE1LCAxMTMsIDE3MCwgMjI0LCAKLSAgICAxNDMsIDIzMywgOTEsIDExMywgMjIyLCAyMzUsIDExNSwgMTIzLCAyMjIsIDIzNywgMjI0LCAxNDMsIDIzMywgOTEsIDEyMywgCi0gICAgMjIyLCAyMzcsIDExNSwgMTEzLCAyMjIsIDIzNSwgMjI0LCAxNDMsIDIzNSwgMjI1LCAyMjYsIDIsIDEsIDI1NCwgMTc3LCAKLSAgICAyMzUsIDIyNSwgMjI2LCAyLCAxLCAyNTIsIDMzLCAyMzUsIDIyNSwgMjI2LCAyLCAxLCAyNDIsIDIwOCwgMjM1LCAyMjUsIAotICAgIDIyNiwgMiwgMSwgMjQ4LCAxOTYsIDIzNSwgMjI1LCAyMjYsIDIsIDEsIDI0MSwgMjQ1LCAyMzUsIDIyNSwgMjI2LCAyLCAxLCAKLSAgICAyMTIsIDMwLCAyMzUsIDIyNSwgMjI2LCAyLCAxLCAyMTAsIDk3LCAyMzUsIDIyNSwgMjI2LCAyLCAxLCAyNDEsIDIwMiwgCi0gICAgMjM1LCAyMjUsIDIyNiwgMiwgMSwgMjE2LCAyMjcsIDIzNSwgMjI1LCAyMjYsIDIsIDEsIDIxMCwgMjMyLCAyMzUsIDIyNSwgCi0gICAgMjI2LCAyLCAxLCAyMzQsIDIzMSwgMjM1LCAyMjUsIDIyNiwgMiwgMSwgMjMzLCA5OSwgMjM1LCAyMjUsIDIyNiwgMiwgMSwgCi0gICAgMjMxLCA3MCwgMjM1LCAyMjUsIDIyNiwgMiwgMSwgMjI3LCAxOTgsIDIzNSwgMjI1LCAyMjYsIDIsIDEsIDIyMSwgMjUxLCAKLSAgICAyMzUsIDIyNSwgMjI2LCAyLCAxLCAyNTMsIDE3MCwgMjM1LCAyMjUsIDIyNiwgMiwgMSwgMjI1LCAyMjQsIDIzNSwgMjI1LCAKLSAgICAyMjYsIDIsIDEsIDIyMiwgMjYsIDIzNSwgMjI1LCAyMjYsIDIsIDEsIDIyNCwgMzcsIDIzNSwgMjI1LCAyMjYsIDIsIDEsIAotICAgIDIyMywgNzAsIDIzNSwgMjI1LCAyMjYsIDIsIDEsIDIyMCwgMjIsIDIzNSwgMjI1LCAyMjYsIDIsIDEsIDIxNywgMzcsIDIzNSwgCi0gICAgMjI1LCAyMjYsIDIsIDU0LCAxMTEsIDIzNSwgMjI1LCAyMjYsIDIsIDU0LCAxMDUsIDIzNSwgMjI1LCAyMjYsIDIsIDU0LCAKLSAgICAxNTgsIDIzNSwgMjI1LCAyMjYsIDIsIDU0LCAxNjEsIDIzNSwgMjI1LCAyMjYsIDIsIDU0LCAyMTYsIDI0OCwgMjM1LCAyMjUsIAotICAgIDIyNiwgMiwgNTQsIDIxNSwgNzMsIDIzNSwgMjI1LCAyMjYsIDIsIDU0LCAxMjMsIDI0MCwgMjE3LCAyMzUsIDIyNSwgMjI2LCAKLSAgICAyLCA1NCwgMTIzLCAyMTYsIDE0OCwgMjM1LCAyMjUsIDIyNiwgNzYsIDEsIDI1NCwgMTc3LCAyMzUsIDIyNSwgMjI2LCA3NiwgCi0gICAgMSwgMjUyLCAzMywgMjM1LCAyMjUsIDIyNiwgNzYsIDEsIDI0MiwgMjA4LCAyMzUsIDIyNSwgMjI2LCA3NiwgMSwgMjQ4LCAKLSAgICAxOTYsIDIzNSwgMjI1LCAyMjYsIDc2LCAxLCAyNDEsIDI0NSwgMjM1LCAyMjUsIDIyNiwgNzYsIDEsIDIxMiwgMjksIDIzNSwgCi0gICAgMjI1LCAyMjYsIDc2LCAxLCAyMTAsIDk3LCAyMzUsIDIyNSwgMjI2LCA3NiwgMSwgMjQxLCAyMDIsIDIzNSwgMjI1LCAyMjYsIAotICAgIDc2LCAxLCAyMTYsIDIyNywgMjM1LCAyMjUsIDIyNiwgNzYsIDEsIDIxMCwgMjMyLCAyMzUsIDIyNSwgMjI2LCA3NiwgMSwgCi0gICAgMjM0LCAyMzEsIDIzNSwgMjI1LCAyMjYsIDc2LCAxLCAyMzMsIDk5LCAyMzUsIDIyNSwgMjI2LCA3NiwgMSwgMjMxLCA2OSwgCi0gICAgMjM1LCAyMjUsIDIyNiwgNzYsIDEsIDIyNywgMTk4LCAyMzUsIDIyNSwgMjI2LCA3NiwgMSwgMjIxLCAyNTEsIDIzNSwgMjI1LCAKLSAgICAyMjYsIDc2LCAxLCAyMjUsIDIyNCwgMjM1LCAyMjUsIDIyNiwgNzYsIDEsIDIyMiwgMjYsIDIzNSwgMjI1LCAyMjYsIDc2LCAKLSAgICAxLCAyMjAsIDIyLCAyMzUsIDIyNSwgMjI2LCA3NiwgMSwgMjE3LCAzNywgMjM1LCAyMjUsIDIyNiwgNzYsIDU0LCAxMTEsIAotICAgIDIzNSwgMjI1LCAyMjYsIDc2LCA1NCwgMTA1LCAyMzUsIDIyNSwgMjI2LCA3NiwgNTQsIDE1OCwgMjM1LCAyMjUsIDIyNiwgCi0gICAgNzYsIDU0LCAxNjEsIDIzNSwgMjI1LCAyMjYsIDc2LCA1NCwgMjE2LCAyNDgsIDIzNSwgMjI1LCAyMjYsIDc2LCA1NCwgMjE1LCAKLSAgICA3MywgMjM1LCAyMjUsIDIyNiwgNzYsIDU0LCAxMjMsIDI0MCwgMjE3LCAyMzUsIDIyNSwgMjI2LCA3NiwgNTQsIDEyMywgCi0gICAgMjE2LCAxNDgsIDU1LCAyMDIsIDEsIDIyNiwgMTUzLCA2MSwgNTUsIDIwMiwgMSwgMjExLCAzNywgNjEsIDU1LCAyMDIsIDEsIAotICAgIDIxMSwgMzcsIDI1NCwgMjUyLCA1NSwgMjAyLCAxLCAyMjYsIDE1MywgNzQsIDU1LCAyMDIsIDEsIDIxMSwgMzcsIDc0LCA1NSwgCi0gICAgMjAyLCAxLCAyMTEsIDM3LCA3NiwgNTUsIDIwMiwgMSwgMjI2LCAxNTMsIDc4LCA1NSwgMjAyLCAxLCAyMjYsIDE1MywgMjI2LCAKLSAgICAyMzgsIDU1LCAyMDIsIDEsIDIxMSwgMzcsIDIyNiwgMjM4LCA1NSwgMjAyLCAxLCAyMjYsIDE1MywgMjU1LCAzNCwgNTUsIAotICAgIDIwMiwgMSwgMjExLCAzNywgMjU1LCAzNCwgNTUsIDIwMiwgMSwgMjI2LCAxNTMsIDI1NCwgMjUxLCA1NSwgMjAyLCAxLCAKLSAgICAyMTEsIDM3LCAyNTQsIDI1MSwgNTUsIDIwMiwgMSwgMjI2LCAxNTMsIDI1NCwgMjI1LCA1NSwgMjAyLCAxLCAyMTEsIDM3LCAKLSAgICAyNTQsIDIyNSwgNTUsIDIwMiwgMSwgMjI2LCAxNTMsIDI1NCwgMjQ2LCA1NSwgMjAyLCAxLCAyMTEsIDM3LCAyNTQsIDI0NiwgCi0gICAgNTUsIDIwMiwgMSwgMjI2LCAxNTMsIDI1NSwgOCwgNTUsIDIwMiwgMSwgMjExLCAzNywgMjU1LCA4LCA1NSwgMjAyLCAxLCAKLSAgICAyMjYsIDE1MywgMjU0LCAyNTAsIDU1LCAyMDIsIDEsIDIyNiwgMTUzLCAyNDUsIDIwLCA1NSwgMjAyLCAxLCAyMTEsIDM3LCAKLSAgICAyNDUsIDIwLCA1NSwgMjAyLCAxLCAyMjYsIDE1MywgMjUzLCAxNzUsIDU1LCAyMDIsIDEsIDIxMSwgMzcsIDI1MywgMTc1LCAKLSAgICA1NSwgMjAyLCAxLCAyMjYsIDE1MywgMjU0LCAyMzMsIDU1LCAyMDIsIDEsIDIxMSwgMzcsIDI1NCwgMjMzLCA1NSwgMjAyLCAKLSAgICAxLCAyMjYsIDE1MywgMjU0LCAyNDQsIDU1LCAyMDIsIDEsIDIxMSwgMzcsIDI1NCwgMjQ0LCA1NSwgMjAyLCAxLCAyMjYsIAotICAgIDE1MywgMjI2LCAyMzcsIDU1LCAyMDIsIDEsIDIxMSwgMzcsIDIyNiwgMjM3LCA1NSwgMjAyLCAxLCAyMjYsIDE1MywgMjU0LCAKLSAgICAxODcsIDU1LCAyMDIsIDEsIDIxMSwgMzcsIDI1NCwgMTg3LCA1NSwgMjAyLCAxLCAyMjYsIDE1MywgMjU0LCAyNDMsIDU1LCAKLSAgICAyMDIsIDEsIDIyNiwgMTUzLCAyNDUsIDE2OSwgNTUsIDIwMiwgMSwgMjI2LCAxNTMsIDI0NSwgMTY3LCA1NSwgMjAyLCAxLCAKLSAgICAyMjYsIDE1MywgMjU0LCAxMzEsIDU1LCAyMDIsIDEsIDIyNiwgMTUzLCAyNTQsIDI0MSwgNTUsIDIwMiwgMSwgMjExLCAzNywgCi0gICAgMjU0LCAyNDEsIDU1LCAyMDIsIDEsIDIyNiwgMTUzLCAyNDUsIDEzOSwgNTUsIDIwMiwgMSwgMjExLCAzNywgMjQ1LCAxMzksIAotICAgIDU1LCAyMDIsIDEsIDIyNiwgMTUzLCAyNDUsIDE1NSwgNTUsIDIwMiwgMSwgMjExLCAzNywgMjQ1LCAxNTUsIDU1LCAyMDIsIAotICAgIDEsIDIyNiwgMTUzLCAyNDUsIDEyNiwgNTUsIDIwMiwgMSwgMjExLCAzNywgMjQ1LCAxMjYsIDU1LCAyMDIsIDEsIDIxMSwgCi0gICAgMzcsIDI1NCwgMTIzLCA1NSwgMjAyLCAxLCAyMjYsIDE1MywgMjQ1LCAxNDYsIDU1LCAyMDIsIDEsIDIxMSwgMzcsIDI1NCwgCi0gICAgMjQwLCA1NSwgMjAyLCAxLCAyMjYsIDE1MywgMjQ1LCAxMTYsIDU1LCAyMDIsIDEsIDIyNiwgMTUzLCAyMjYsIDE3OSwgNTUsIAotICAgIDIwMiwgMSwgMjI2LCAxNTMsIDI0MCwgMTIwLCA1NSwgMjAyLCAxLCAyMjYsIDE1MywgMjQ1LCAyMjMsIDU1LCAyMDIsIDEsIAotICAgIDIxMSwgMzcsIDI0NSwgMjIzLCA1NSwgMjAyLCAxLCAyMjYsIDE1MywgMjU0LCA1MywgNTUsIDIwMiwgMSwgMjExLCAzNywgCi0gICAgMjU0LCA1MywgNTUsIDIwMiwgMSwgMjI2LCAxNTMsIDIzNSwgMTg4LCA1NSwgMjAyLCAxLCAyMTEsIDM3LCAyMzUsIDE4OCwgCi0gICAgNTUsIDIwMiwgMSwgMjI2LCAxNTMsIDIyNiwgMTYzLCA1NSwgMjAyLCAxLCAyMTEsIDM3LCAyMjYsIDE2MywgNTUsIDIwMiwgCi0gICAgMSwgMjI2LCAxNTMsIDI1NCwgNDksIDU1LCAyMDIsIDEsIDIxMSwgMzcsIDI1NCwgNDksIDU1LCAyMDIsIDEsIDIyNiwgMTUzLCAKLSAgICAyNTQsIDIzOSwgNTUsIDIwMiwgMSwgMjI2LCAxNTMsIDI1MywgMjQ1LCA1NSwgMjAyLCAxLCAyMjYsIDE1MywgMjU0LCAyMzcsIAotICAgIDU1LCAyMDIsIDEsIDIyNiwgMTUzLCAyNTMsIDIzOSwgNTUsIDIwMiwgMSwgMjExLCAzNywgMjUzLCAyMzksIDU1LCAyMDIsIAotICAgIDEsIDIyNiwgMTUzLCAyNDUsIDgzLCA1NSwgMjAyLCAxLCAyMTEsIDM3LCAyNDUsIDgzLCA1NSwgMjAyLCAxLCAyMjYsIDE1MywgCi0gICAgMjUzLCAyMTQsIDU1LCAyMDIsIDEsIDIxMSwgMzcsIDI1MywgMjE0LCA1NSwgMjAyLCAxLCAyMjYsIDE1MywgMjU0LCAyMzQsIAotICAgIDU1LCAyMDIsIDEsIDIxMSwgMzcsIDI1NCwgMjM0LCA1NSwgMjAyLCAxLCAyMjYsIDE1MywgMjI2LCAxNDQsIDU1LCAyMDIsIAotICAgIDEsIDIyNiwgMTUzLCAyNTIsIDEzMywgMjIyLCAxMjksIDIxLCAxMTEsIDIyMiwgMTI5LCAyMSwgMTA1LCAyMjIsIDEyOSwgCi0gICAgMjEsIDE1OCwgMjIyLCAxMjksIDIxLCAxNjEsIDIyMiwgMTI5LCAyMSwgMTkwLCAyMjIsIDEyOSwgMjEsIDE5NSwgMjIyLCAKLSAgICAxMjksIDIxLCAxOTksIDIyMiwgMTI5LCAyMSwgMTk2LCAyMjIsIDEyOSwgMjEsIDIwMSwgMjIyLCAxMjksIDU0LCAyMTYsIAotICAgIDI0OCwgMjIyLCAxMjksIDU0LCAyMTUsIDczLCAyMjIsIDEyOSwgNTQsIDIxNiwgMTYzLCAyMjIsIDEyOSwgNTQsIDI0NCwgCi0gICAgMjMsIDIyMiwgMTI5LCA1NCwgMjQ0LCAxMjIsIDIyMiwgMTI5LCA1NCwgMjE5LCAxMTMsIDIyMiwgMTI5LCA1NCwgMjIwLCAKLSAgICAxMTgsIDIyMiwgMTI5LCA1NCwgMjQ1LCAxOTIsIDIyMiwgMTI5LCA1NCwgMjI4LCAyMDAsIDIyMiwgMTI5LCA1NCwgMTIzLCAKLSAgICAyNDAsIDIxNywgMjIyLCAxMjksIDU0LCAxMTMsIDI0MCwgMjE3LCAyMjIsIDEyOSwgNTQsIDEzNCwgMjQwLCAyMTcsIDIyMiwgCi0gICAgMTI5LCA1NCwgMjQ0LCAxOSwgMjQwLCAyMTcsIDIyMiwgMTI5LCA1NCwgMjQ0LCA4OSwgMjQwLCAyMTcsIDIyMiwgMTI5LCAKLSAgICA1NCwgMjE5LCAxMjcsIDI0MCwgMjE3LCAyMjIsIDEyOSwgNTQsIDIyMCwgMTI0LCAyNDAsIDIxNywgMjIyLCAxMjksIDU0LCAKLSAgICAyNDUsIDIwMSwgMjQwLCAyMTcsIDIyMiwgMTI5LCA1NCwgMjI4LCAyMDUsIDI0MCwgMjE3LCAyMjIsIDEyOSwgMjQ0LCAxMCwgCi0gICAgMTIzLCAyNDIsIDM0LCAyMjIsIDEyOSwgMjQ0LCAxMCwgMTIzLCAyMjQsIDI0LCAyMjIsIDEyOSwgMjQ0LCAxMCwgMTIzLCAKLSAgICAyMTYsIDE2OSwgMjIyLCAxMjksIDI0NCwgMTAsIDExMywgMjE2LCAxNjcsIDExOCwgNSwgMjUxLCA3LCAxMTgsIDUsIDI1NCwgCi0gICAgODMsIDExOCwgNSwgMjEzLCAxNDcsIDExOCwgNSwgMjM1LCAxMDgsIDExOCwgNSwgMjE0LCAxNjEsIDExOCwgMSwgNjEsIAotICAgIDExOCwgMSwgMjU1LCA4MiwgMTE4LCAxLCA3NCwgMTE4LCAxLCAyMzYsIDQwLCAxMTgsIDEsIDY5LCAxMTgsIDEsIDIxNCwgCi0gICAgMTE4LCAxMTgsIDEsIDE0OSwgMTUzLCAxMTgsIDEsIDE0OSwgMjIyLCAxODIsIDExOCwgMSwgMTQ5LCAxNTYsIDExOCwgMSwgCi0gICAgMTQ5LCAyMzIsIDE5MSwgMTE4LCAxLCA3NiwgMTE4LCAxLCAyNTQsIDIxMCwgMTE4LCAxLCA3OCwgMTE4LCAxLCAyNTMsIAotICAgIDIwMCwgMTE4LCAxLCAxNzYsIDExOCwgMSwgMjM0LCAxMzgsIDExOCwgMSwgMjQzLCAxNDIsIDExOCwgMSwgMjQzLCAwLCAKLSAgICAxMTgsIDEsIDIyOSwgODIsIDExOCwgMSwgMjUxLCA0MSwgMTE4LCAxLCAyNTAsIDE2NSwgMTE4LCAxLCAyMzUsIDE0NywgCi0gICAgMTE4LCAxLCAyMzUsIDEyMCwgMTE4LCAxLCAyMjcsIDE2OSwgMTE4LCAxLCAyMTUsIDE1NywgMTE4LCAxLCAyMTUsIDE0NSwgCi0gICAgMTE4LCAxLCAyNDgsIDE0MywgMTE4LCAxLCAyNDgsIDEyNywgMTE4LCAxLCAyMjgsIDExNSwgMTE4LCAxLCAyMTcsIDEwNiwgCi0gICAgMTE4LCAxLCAyMTYsIDIwOSwgMTE4LCAxLCAyNDgsIDIyOSwgMTE4LCAxLCAyNDgsIDMzLCAxMTgsIDEsIDE5OCwgMTE4LCAxLCAKLSAgICAxOTEsIDExOCwgMSwgMjI1LCAxNTAsIDExOCwgMSwgMjUyLCAxOTksIDExOCwgMSwgMjUyLCAyNiwgMTE4LCAxLCAxODYsIAotICAgIDExOCwgMSwgMTkyLCAxMTgsIDEsIDIwNSwgMTE4LCAxLCAyMzMsIDE0MSwgMTE4LCAxLCAyMTQsIDI3LCAxMTgsIDEsIDIyMCwgCi0gICAgMTA0LCAxMTgsIDEsIDIxOCwgMjI1LCAxMTgsIDEsIDIwNiwgMTE4LCAxLCAxNjIsIDExOCwgMSwgMjMyLCAxOTAsIDExOCwgCi0gICAgMSwgNTUsIDM2LCAyMzIsIDE4MSwgMTE4LCAxLCA1NSwgMzYsIDIyMiwgMTgxLCAxMTgsIDEsIDU1LCAzNiwgMjI4LCA5NywgCi0gICAgMTE4LCAyNSwgNSwgMjU1LCA4MiwgMTE4LCAyNSwgNSwgMjUyLCAyMywgMjU1LCA4MiwgMTE4LCAyNSwgNSwgNzQsIDExOCwgCi0gICAgMjUsIDUsIDIzNiwgNDAsIDExOCwgMjUsIDUsIDY5LCAxMTgsIDI1LCA1LCAyMTQsIDExOCwgMTE4LCAyNSwgNSwgMTQ5LCAKLSAgICAxNTMsIDExOCwgMjUsIDUsIDE0OSwgMjIyLCAxODIsIDExOCwgMjUsIDUsIDE0OSwgMTU2LCAxMTgsIDI1LCA1LCAxNDksIAotICAgIDIzMiwgMTkxLCAxMTgsIDI1LCA1LCA3NiwgMTE4LCAyNSwgNSwgMjU0LCAyMTAsIDExOCwgMjUsIDUsIDc4LCAxMTgsIDI1LCAKLSAgICA1LCAyNTMsIDIwMCwgMTE4LCAyMTMsIDE1MiwgMTE4LCAyNDgsIDE4NiwgMTE4LCA1MiwgMjQ4LCAxODYsIDExOCwgMjI0LCAKLSAgICAxNDQsIDI0NywgMTI4LCAxMTgsIDIyNCwgMTQ0LCA1MiwgMjQ3LCAxMjgsIDExOCwgMjI0LCAxNDQsIDIzMiwgMjE5LCAxMTgsIAotICAgIDIyNCwgMTQ0LCAyNDksIDE0NSwgMTMwLCAxMTgsIDIyNCwgMTQ0LCAyMzIsIDEyMSwgMTE4LCA1NCwgMTExLCAxMTgsIDU0LCAKLSAgICAxMDUsIDExOCwgNTQsIDE1OCwgMTE4LCA1NCwgMTYxLCAxMTgsIDU0LCAxOTAsIDExOCwgNTQsIDE5NSwgMTE4LCA1NCwgCi0gICAgMTk5LCAxMTgsIDU0LCAxOTYsIDExOCwgNTQsIDIwMSwgMTE4LCA1NCwgMjE2LCAyNDgsIDExOCwgNTQsIDIxNSwgNzMsIAotICAgIDExOCwgNTQsIDIxNiwgMTYzLCAxMTgsIDU0LCAyNDQsIDIzLCAxMTgsIDU0LCAyNDQsIDEyMiwgMTE4LCA1NCwgMjE5LCAKLSAgICAxMTMsIDExOCwgNTQsIDIyMCwgMTE4LCAxMTgsIDU0LCAyNDUsIDE5MiwgMTE4LCA1NCwgMjI4LCAyMDAsIDExOCwgNTQsIAotICAgIDEyMywgMjQwLCAyMTcsIDExOCwgNTQsIDEyMywgMjE2LCAxNDgsIDExOCwgMjEsIDIxMCwgODYsIDExOCwgMjEsIDExMSwgCi0gICAgMTE4LCAyMSwgMTA1LCAxMTgsIDIxLCAxNTgsIDExOCwgMjEsIDE2MSwgMTE4LCAyMSwgMTkwLCAxMTgsIDIxLCAxOTUsIAotICAgIDExOCwgMjEsIDE5OSwgMTE4LCAyMSwgMTk2LCAxMTgsIDIxLCAyMDEsIDIzNCwgMjUwLCA1LCAyNTEsIDcsIDIzNCwgMjUwLCAKLSAgICA1LCAyNTQsIDgzLCAyMzQsIDI1MCwgNSwgMjEzLCAxNDcsIDIzNCwgMjUwLCAxLCA2MSwgMjM0LCAyNTAsIDEsIDI1NSwgODIsIAotICAgIDIzNCwgMjUwLCAxLCA3NCwgMjM0LCAyNTAsIDEsIDIzNiwgNDAsIDIzNCwgMjUwLCAxLCA2OSwgMjM0LCAyNTAsIDEsIDIxNCwgCi0gICAgMTE4LCAyMzQsIDI1MCwgMSwgNzYsIDIzNCwgMjUwLCAxLCAyNTQsIDIxMCwgMjM0LCAyNTAsIDEsIDc4LCAyMzQsIDI1MCwgCi0gICAgMSwgMjUzLCAyMDAsIDIzNCwgMjUwLCAxLCAxNzYsIDIzNCwgMjUwLCAxLCAyMzQsIDEzOCwgMjM0LCAyNTAsIDEsIDI0MywgCi0gICAgMTQyLCAyMzQsIDI1MCwgMSwgMjQzLCAwLCAyMzQsIDI1MCwgMSwgMjI5LCA4MiwgMjM0LCAyNTAsIDEsIDI1MSwgNDEsIAotICAgIDIzNCwgMjUwLCAxLCAyNTAsIDE2NSwgMjM0LCAyNTAsIDEsIDIzNSwgMTQ3LCAyMzQsIDI1MCwgMSwgMjM1LCAxMjAsIDIzNCwgCi0gICAgMjUwLCAxLCAyMjcsIDE2OSwgMjM0LCAyNTAsIDEsIDIxNSwgMTU3LCAyMzQsIDI1MCwgMSwgMjE1LCAxNDUsIDIzNCwgMjUwLCAKLSAgICAxLCAyNDgsIDE0MywgMjM0LCAyNTAsIDEsIDI0OCwgMTMyLCAyMzQsIDI1MCwgMSwgMjQ4LCAxMjcsIDIzNCwgMjUwLCAxLCAKLSAgICAyMjMsIDQyLCAyMzQsIDI1MCwgMSwgMjI4LCAxMTUsIDIzNCwgMjUwLCAxLCAyMTcsIDEwNiwgMjM0LCAyNTAsIDEsIDIxNiwgCi0gICAgMjA5LCAyMzQsIDI1MCwgMSwgMjQ4LCAyMjksIDIzNCwgMjUwLCAxLCAyNDgsIDMzLCAyMzQsIDI1MCwgMSwgMTk4LCAyMzQsIAotICAgIDI1MCwgMSwgMTkxLCAyMzQsIDI1MCwgMSwgMjI1LCAxNTAsIDIzNCwgMjUwLCAxLCAyNTIsIDE5OSwgMjM0LCAyNTAsIDEsIAotICAgIDI1MiwgMjYsIDIzNCwgMjUwLCAxLCAxODYsIDIzNCwgMjUwLCAxLCAxOTIsIDIzNCwgMjUwLCAxLCAyMDUsIDIzNCwgMjUwLCAKLSAgICAxLCAyMzMsIDE0MSwgMjM0LCAyNTAsIDEsIDIxNCwgMjcsIDIzNCwgMjUwLCAxLCAyMjAsIDEwNCwgMjM0LCAyNTAsIDEsIAotICAgIDIxOCwgMjI1LCAyMzQsIDI1MCwgMSwgMjA2LCAyMzQsIDI1MCwgMSwgMTYyLCAyMzQsIDI1MCwgMjUsIDUsIDI1NSwgODIsIAotICAgIDIzNCwgMjUwLCAyNSwgNSwgNzQsIDIzNCwgMjUwLCAyNSwgNSwgMjM2LCA0MCwgMjM0LCAyNTAsIDI1LCA1LCA2OSwgMjM0LCAKLSAgICAyNTAsIDI1LCA1LCAyMTQsIDExOCwgMjM0LCAyNTAsIDI1LCA1LCA3NiwgMjM0LCAyNTAsIDI1LCA1LCAyNTQsIDIxMCwgCi0gICAgMjM0LCAyNTAsIDI1LCA1LCA3OCwgMjM0LCAyNTAsIDI1LCA1LCAyNTMsIDIwMCwgMjM0LCAyNTAsIDUsIDIxMywgMTUyLCAKLSAgICAyMzQsIDI1MCwgNSwgMjI3LCAyMDksIDIzNCwgMjUwLCAyNTUsIDMwLCA1MCwgMjM0LCAyNTAsIDI0NSwgMTI5LCA1MCwgCi0gICAgMjM0LCAyNTAsIDU0LCA1MCwgMjM0LCAyNTAsIDIyMSwgMTc1LCA3OSwgMjM0LCAyNTAsIDUyLCAyMjEsIDE3NSwgNzksIAotICAgIDIzNCwgMjUwLCAyNDgsIDE4NiwgMjM0LCAyNTAsIDUyLCAyNDgsIDE4NiwgMjE5LCAzOCwgMjE5LCA0NiwgMSwgMjIyLCAyMCwgCi0gICAgMjE5LCAzOCwgMjE5LCA0NiwgMSwgMjE3LCA4MSwgMjE5LCAzOCwgMjE5LCA0NiwgMSwgMjUyLCAxNzYsIDIxOSwgMzgsIAotICAgIDIxOSwgNDYsIDEsIDI1MSwgMzEsIDIxOSwgMzgsIDIxOSwgNDYsIDEsIDI0OCwgMjExLCAyMTksIDM4LCAyMTksIDQ2LCAxLCAKLSAgICAyNDMsIDEyNywgMjE5LCAzOCwgMjE5LCA0NiwgMSwgMjMxLCAyMTUsIDIxOSwgMzgsIDIxOSwgNDYsIDEsIDIyOSwgNzksIAotICAgIDIxOSwgMzgsIDIxOSwgNDYsIDEsIDIzMywgMTE4LCAyMTksIDM4LCAyMTksIDQ2LCAxLCAyMjksIDIxOCwgMjE5LCAzOCwgCi0gICAgMjE5LCA0NiwgMSwgMjE0LCAyNCwgMjE5LCAzOCwgMjE5LCA0NiwgMSwgMjI2LCA3NywgMjE5LCAzOCwgMjE5LCA0NiwgMSwgCi0gICAgMjExLCA4NCwgMjE5LCAzOCwgMjE5LCA0NiwgMSwgMjIzLCAxNzEsIDIxOSwgMzgsIDIxOSwgNDYsIDEsIDI0MiwgNDQsIAotICAgIDIxOSwgMzgsIDIxOSwgNDYsIDEsIDIzNCwgMjU0LCAyMTksIDM4LCAyMTksIDQ2LCAxLCAyMzUsIDE0MiwgMjE5LCAzOCwgCi0gICAgMjE5LCA0NiwgMSwgMjI3LCAxNjYsIDIxOSwgMzgsIDIxOSwgNDYsIDEsIDI1NCwgMjE4LCAyMTksIDM4LCAyMTksIDQ2LCAxLCAKLSAgICAyNDUsIDIxNSwgMjE5LCAzOCwgMjE5LCA0NiwgMSwgMjM2LCA0MSwgMjE5LCAzOCwgMjE5LCA0NiwgMSwgMjE0LCAyMDgsIAotICAgIDIxOSwgMzgsIDIxOSwgNDYsIDEsIDIyNiwgMjI2LCAyMTksIDM4LCAyMTksIDQ2LCAxLCAyNDUsIDIwNSwgMjE5LCAzOCwgCi0gICAgMjE5LCA0NiwgMSwgMjMxLCAyMjgsIDIxOSwgMzgsIDIxOSwgNDYsIDIxLCAyMTAsIDg2LCAyMTksIDM4LCAyMTksIDQ2LCAKLSAgICAyMSwgMTExLCAyMTksIDM4LCAyMTksIDQ2LCAyMSwgMTA1LCAyMTksIDM4LCAyMTksIDQ2LCAyMSwgMTU4LCAyMTksIDM4LCAKLSAgICAyMTksIDQ2LCAyMSwgMTYxLCAyMTksIDM4LCAyMTksIDQ2LCAyMSwgMTkwLCAyMTksIDM4LCAyMTksIDQ2LCAyMSwgMTk1LCAKLSAgICAyMTksIDM4LCAyMTksIDQ2LCAyMSwgMTk5LCAyMTksIDM4LCAyMTksIDQ2LCAyMSwgMTk2LCAyMTksIDM4LCAyMTksIDQ2LCAKLSAgICAyMSwgMjAxLCAyNTAsIDE1OSwgNSwgMjUxLCA3LCAyNTAsIDE1OSwgNSwgMjU0LCA4MywgMjUwLCAxNTksIDUsIDIxMywgCi0gICAgMTQ3LCAyNTAsIDE1OSwgMSwgMjU1LCA4MiwgMjUwLCAxNTksIDEsIDc0LCAyNTAsIDE1OSwgMSwgNjksIDI1MCwgMTU5LCAxLCAKLSAgICA3NiwgMjUwLCAxNTksIDEsIDIzNSwgMTYsIDI1MCwgMTU5LCAxLCAyMzQsIDEzNywgMjUwLCAxNTksIDEsIDI0MywgMTM5LCAKLSAgICAyNTAsIDE1OSwgMSwgMjQyLCAyNTUsIDI1MCwgMTU5LCAxLCAyMjksIDgxLCAyNTAsIDE1OSwgMSwgMjUxLCA0MCwgMjUwLCAKLSAgICAxNTksIDEsIDI1MCwgMTY0LCAyNTAsIDE1OSwgMSwgMjM1LCAxNDYsIDI1MCwgMTU5LCAxLCAyMzUsIDExOSwgMjUwLCAxNTksIAotICAgIDEsIDIyNywgMTY4LCAyNTAsIDE1OSwgMSwgMjE1LCAxNTYsIDI1MCwgMTU5LCAxLCAyMTUsIDE0NCwgMjUwLCAxNTksIDEsIAotICAgIDI0OCwgMTQyLCAyNTAsIDE1OSwgMSwgMjQ4LCAxMjYsIDI1MCwgMTU5LCAxLCAyMjgsIDExNCwgMjUwLCAxNTksIDEsIDIxNywgCi0gICAgMTAyLCAyNTAsIDE1OSwgMSwgMjE2LCAyMDgsIDI1MCwgMTU5LCAxLCAyNDgsIDIyOCwgMjUwLCAxNTksIDEsIDI0OCwgMzIsIAotICAgIDI1MCwgMTU5LCAxLCAyMjksIDIzMCwgMjUwLCAxNTksIDEsIDIyNiwgOTMsIDI1MCwgMTU5LCAxLCAyMjUsIDE0OSwgMjUwLCAKLSAgICAxNTksIDEsIDI1MiwgMTk3LCAyNTAsIDE1OSwgMSwgMjUyLCAyNSwgMjUwLCAxNTksIDEsIDIzMSwgMjQyLCAyNTAsIDE1OSwgCi0gICAgMSwgMjEwLCAxNjcsIDI1MCwgMTU5LCAxLCAyMTEsIDEwMywgMjUwLCAxNTksIDEsIDIyMywgMTg3LCAyNTAsIDE1OSwgMSwgCi0gICAgMjMzLCAxNDAsIDI1MCwgMTU5LCAxLCAyMTIsIDY0LCAyNTAsIDE1OSwgMSwgMjIyLCAzMywgMjUwLCAxNTksIDEsIDI0MiwgCi0gICAgNTMsIDI1MCwgMTU5LCAyNSwgNSwgNjEsIDI1MCwgMTU5LCAyNSwgNSwgNzQsIDI1MCwgMTU5LCAyNSwgNSwgMjM2LCA0MCwgCi0gICAgMjUwLCAxNTksIDI1LCA1LCA2OSwgMjUwLCAxNTksIDI1LCA1LCAyMTQsIDExOCwgMjUwLCAxNTksIDI1LCA1LCA3NiwgMjUwLCAKLSAgICAxNTksIDI1LCA1LCAyNTQsIDIxMCwgMjUwLCAxNTksIDI1LCA1LCA3OCwgMjUwLCAxNTksIDI1LCA1LCAyNTMsIDIwMCwgCi0gICAgMjUwLCAxNTksIDI1LCA1LCAyMjYsIDIyMywgMjUwLCAxNTksIDE0NCwgNzksIDI1MCwgMTU5LCAyNTMsIDIwMSwgNzksIAotICAgIDI1MCwgMTU5LCAyMTMsIDE1MiwgMjUwLCAxNTksIDIzMSwgMjQwLCAyNTAsIDE1OSwgMjEsIDIxMCwgODYsIDI1MCwgMTU5LCAKLSAgICAyMSwgMTExLCAyNTAsIDE1OSwgMjEsIDEwNSwgMjUwLCAxNTksIDIxLCAxNTgsIDI1MCwgMTU5LCAyMSwgMTYxLCAyNTAsIAotICAgIDE1OSwgMjEsIDE5MCwgMjUwLCAxNTksIDIxLCAxOTUsIDI1MCwgMTU5LCAyMSwgMTk5LCAyNTAsIDE1OSwgMjEsIDE5NiwgCi0gICAgMjUwLCAxNTksIDIxLCAyMDEsIDI1MCwgMTU5LCAyMjEsIDE3NSwgNzksIDI1MCwgMTU5LCAyNDgsIDE4NiwgMjUwLCAxNTksIAotICAgIDUyLCAyNDgsIDE4NiwgMjUwLCAxNTksIDIyNCwgMTYsIDc5LCAxNzQsIDUsIDI1MSwgNywgMTc0LCA1LCAyNTQsIDgzLCAKLSAgICAxNzQsIDUsIDIxMywgMTQ3LCAxNzQsIDEsIDYxLCAxNzQsIDEsIDI1NSwgODIsIDE3NCwgMSwgNzQsIDE3NCwgMSwgMjM2LCAKLSAgICA0MCwgMTc0LCAxLCA2OSwgMTc0LCAxLCAyMTQsIDExOCwgMTc0LCAxLCAxNDksIDE1MywgMTc0LCAxLCAxNDksIDIyMiwgCi0gICAgMTgyLCAxNzQsIDEsIDE0OSwgMTU2LCAxNzQsIDEsIDE0OSwgMjMyLCAxOTEsIDE3NCwgMSwgNzYsIDE3NCwgMSwgMjU0LCAKLSAgICAyMTAsIDE3NCwgMSwgNzgsIDE3NCwgMSwgMjUzLCAyMDAsIDE3NCwgMSwgMTc2LCAxNzQsIDEsIDIzNCwgMTM4LCAxNzQsIDEsIAotICAgIDI0MywgMTQyLCAxNzQsIDEsIDI0MywgMCwgMTc0LCAxLCAyMjksIDgyLCAxNzQsIDEsIDI1MSwgNDEsIDE3NCwgMSwgMjUwLCAKLSAgICAxNjUsIDE3NCwgMSwgMjM1LCAxNDcsIDE3NCwgMSwgMjM1LCAxMjAsIDE3NCwgMSwgMjI3LCAxNjksIDE3NCwgMSwgMjE1LCAKLSAgICAxNTcsIDE3NCwgMSwgMjE1LCAxNDUsIDE3NCwgMSwgMjQ4LCAxNDMsIDE3NCwgMSwgMjQ4LCAxMjcsIDE3NCwgMSwgMjI4LCAKLSAgICAxMTUsIDE3NCwgMSwgMjE3LCAxMDYsIDE3NCwgMSwgMjE2LCAyMDksIDE3NCwgMSwgMjQ4LCAyMjksIDE3NCwgMSwgMjQ4LCAKLSAgICAzMywgMTc0LCAxLCAxOTgsIDE3NCwgMSwgMTkxLCAxNzQsIDEsIDIyNSwgMTUwLCAxNzQsIDEsIDI1MiwgMTk5LCAxNzQsIDEsIAotICAgIDI1MiwgMjYsIDE3NCwgMSwgMTg2LCAxNzQsIDEsIDE5MiwgMTc0LCAxLCAyMDUsIDE3NCwgMSwgMjMzLCAxNDEsIDE3NCwgMSwgCi0gICAgMjMyLCAxOTAsIDE3NCwgMSwgMjE0LCAyNywgMTc0LCAxLCAyMjAsIDEwNCwgMTc0LCAxLCAyMTgsIDIyNSwgMTc0LCAxLCAKLSAgICAyMDYsIDE3NCwgMSwgMTYyLCAxNzQsIDI1LCA1LCAyNTUsIDgyLCAxNzQsIDI1LCA1LCA3NCwgMTc0LCAyNSwgNSwgMjM2LCAKLSAgICA0MCwgMTc0LCAyNSwgNSwgNjksIDE3NCwgMjUsIDUsIDIxNCwgMTE4LCAxNzQsIDI1LCA1LCAxNDksIDE1MywgMTc0LCAyNSwgCi0gICAgNSwgMTQ5LCAyMjIsIDE4MiwgMTc0LCAyNSwgNSwgMTQ5LCAxNTYsIDE3NCwgMjUsIDUsIDE0OSwgMjMyLCAxOTEsIDE3NCwgCi0gICAgMjUsIDUsIDc2LCAxNzQsIDI1LCA1LCAyNTQsIDIxMCwgMTc0LCAyNSwgNSwgNzgsIDE3NCwgMjUsIDUsIDI1MywgMjAwLCAKLSAgICAxNzQsIDUsIDIxMywgMTUyLCAxNzQsIDUsIDI1MywgMTgzLCAxNzQsIDUsIDIzNSwgMTA4LCAxNzQsIDUsIDIxNCwgMTYxLCAKLSAgICAxNzQsIDIyNiwgMjA4LCAxNzQsIDI0OCwgMTg2LCAxNzQsIDUyLCAyNDgsIDE4NiwgMTc0LCAyNTUsIDMwLCA1MCwgMTc0LCAKLSAgICAyMjAsIDEzOSwgMTc0LCAyMSwgMjEwLCA4NiwgMTc0LCAyMSwgMTExLCAxNzQsIDIxLCAxMDUsIDE3NCwgMjEsIDE1OCwgCi0gICAgMTc0LCAyMSwgMTYxLCAxNzQsIDIxLCAxOTAsIDE3NCwgMjEsIDE5NSwgMTc0LCAyMSwgMTk5LCAxNzQsIDIxLCAxOTYsIAotICAgIDE3NCwgMjEsIDIwMSwgMjE3LCA3MCwgMSwgNjEsIDIxNywgNzAsIDEsIDI1NSwgODIsIDIxNywgNzAsIDEsIDc0LCAyMTcsIAotICAgIDcwLCAxLCAyMzYsIDQwLCAyMTcsIDcwLCAxLCA2OSwgMjE3LCA3MCwgMSwgMjE0LCAxMTgsIDIxNywgNzAsIDEsIDc2LCAKLSAgICAyMTcsIDcwLCAxLCAyNTQsIDIxMCwgMjE3LCA3MCwgMSwgNzgsIDIxNywgNzAsIDEsIDI1MywgMjAwLCAyMTcsIDcwLCAxLCAKLSAgICAxNzYsIDIxNywgNzAsIDEsIDIzNCwgMTM4LCAyMTcsIDcwLCAxLCAyNDMsIDE0MiwgMjE3LCA3MCwgMSwgMjQzLCAwLCAyMTcsIAotICAgIDcwLCAxLCAyMjksIDgyLCAyMTcsIDcwLCAxLCAyNTEsIDQxLCAyMTcsIDcwLCAxLCAyNTAsIDE2NSwgMjE3LCA3MCwgMSwgCi0gICAgMjM1LCAxNDcsIDIxNywgNzAsIDEsIDIzNSwgMTIwLCAyMTcsIDcwLCAxLCAyMjcsIDE2OSwgMjE3LCA3MCwgMSwgMjE1LCAKLSAgICAxNTcsIDIxNywgNzAsIDEsIDIxNSwgMTQ1LCAyMTcsIDcwLCAxLCAyNDgsIDE0MywgMjE3LCA3MCwgMSwgMjQ4LCAxMjcsIAotICAgIDIxNywgNzAsIDEsIDIyOCwgMTE1LCAyMTcsIDcwLCAxLCAyMTcsIDEwNiwgMjE3LCA3MCwgMSwgMjE2LCAyMDksIDIxNywgCi0gICAgNzAsIDEsIDI0OCwgMjI5LCAyMTcsIDcwLCAxLCAyNDgsIDMzLCAyMTcsIDcwLCAxLCAxOTgsIDIxNywgNzAsIDEsIDE5MSwgCi0gICAgMjE3LCA3MCwgMSwgMjI1LCAxNTAsIDIxNywgNzAsIDEsIDI1MiwgMTk5LCAyMTcsIDcwLCAxLCAyNTIsIDI2LCAyMTcsIDcwLCAKLSAgICAxLCAxODYsIDIxNywgNzAsIDEsIDE5MiwgMjE3LCA3MCwgMSwgMjA1LCAyMTcsIDcwLCAxLCAyMzMsIDE0MSwgMjE3LCA3MCwgCi0gICAgMSwgMjE0LCAyNywgMjE3LCA3MCwgMSwgMjIwLCAxMDQsIDIxNywgNzAsIDEsIDIwNiwgMjE3LCA3MCwgMSwgMTYyLCAyMTcsIAotICAgIDcwLCAxLCAyMjIsIDE4MSwgMjE3LCA3MCwgNSwgMjU0LCA4MywgMjE3LCA3MCwgNSwgMjEzLCAxNDcsIDIxNywgNzAsIDI1LCAKLSAgICA1LCAyNTUsIDgyLCAyMTcsIDcwLCAyNSwgNSwgNzQsIDIxNywgNzAsIDI1LCA1LCAyMzYsIDQwLCAyMTcsIDcwLCAyNSwgNSwgCi0gICAgNjksIDIxNywgNzAsIDI1LCA1LCAyMTQsIDExOCwgMjE3LCA3MCwgMjUsIDUsIDc2LCAyMTcsIDcwLCAyNSwgNSwgMjU0LCAKLSAgICAyMTAsIDIxNywgNzAsIDI1LCA1LCA3OCwgMjE3LCA3MCwgMjUsIDUsIDI1MywgMjAwLCAyMTcsIDcwLCA1LCAyMTMsIDE1MiwgCi0gICAgMjE3LCA3MCwgNSwgMjI3LCAyMDksIDIxNywgNzAsIDIxLCAyMTAsIDg2LCAyMTcsIDcwLCAyMSwgMTExLCAyMTcsIDcwLCAKLSAgICAyMSwgMTA1LCAyMTcsIDcwLCAyMSwgMTU4LCAyMTcsIDcwLCAyMSwgMTYxLCAyMTcsIDcwLCAyMSwgMTkwLCAyMTcsIDcwLCAKLSAgICAyMSwgMTk1LCAyMTcsIDcwLCAyMSwgMTk5LCAyMTcsIDcwLCAyMSwgMTk2LCAyMTcsIDcwLCAyMSwgMjAxLCAxNSwgNSwgNjEsIAotICAgIDE1LCA1LCAxMTYsIDMwLCA2MSwgMTUsIDUsIDExNiwgMzAsIDI1MiwgMTg0LCAxNSwgNSwgMTE2LCAzMCwgMjQzLCAxMTIsIAotICAgIDIxNiwgMjQwLCAxNSwgNSwgMTE2LCAzMCwgMTYyLCAxNSwgNSwgMTE2LCAzMCwgMjM2LCA0MiwgMTUsIDUsIDExNiwgMzAsIAotICAgIDIzMywgMTIyLCAyNDIsIDEwMSwgMTUsIDUsIDExNiwgMzAsIDIzMCwgNjYsIDE1LCA1LCAxMTYsIDMwLCAyMjIsIDIzLCAxNSwgCi0gICAgNSwgMjU1LCA4NCwgMTUsIDUsIDI1NSwgMzQsIDE1LCA1LCAyNTUsIDM1LCAzMCwgMjUzLCAyMzcsIDE1LCA1LCAyNTUsIDM1LCAKLSAgICAzMCwgMjQ2LCA3NSwgMjQyLCAxMDEsIDE1LCA1LCAyNTUsIDM1LCAzMCwgMjQzLCAxMjUsIDE1LCA1LCAyNTUsIDM1LCAzMCwgCi0gICAgMjQzLCAxMTIsIDIxNiwgMjQwLCAxNSwgNSwgMjU1LCAzNSwgMzAsIDE2MiwgMTUsIDUsIDI1NSwgMzUsIDMwLCAyMzYsIDQzLCAKLSAgICAyNDIsIDEwMSwgMTUsIDUsIDI1NSwgMzUsIDMwLCAyMzYsIDE2LCAxNSwgNSwgMjU1LCAzNSwgMzAsIDIzMywgMTIzLCAxNSwgCi0gICAgNSwgMjU1LCAzNSwgMzAsIDIyMCwgNTAsIDE1LCA1LCAyNTUsIDM1LCAzMCwgMTA0LCA5NiwgMTA0LCA5NiwgNjksIDE1LCA1LCAKLSAgICAyNTUsIDM1LCAyNDIsIDEwMSwgMTUsIDUsIDI1NSwgMzIsIDE1LCA1LCAyNTUsIDMzLCAzMCwgMjUyLCAxNjgsIDE1LCA1LCAKLSAgICAyNTUsIDMzLCAzMCwgMjQzLCAxMTIsIDIxNiwgMjQwLCAxNSwgNSwgMjU1LCAzMywgMzAsIDIzMSwgOTcsIDk2LCAyNDUsIAotICAgIDE1OCwgMTUsIDUsIDI1NSwgMzMsIDMwLCAyMjAsIDEwMiwgMTUsIDUsIDI1NSwgMzMsIDMwLCAyMTcsIDczLCAxNSwgNSwgCi0gICAgMjU1LCA4LCAxNSwgNSwgMjU0LCAxOTUsIDE1LCA1LCAyNTQsIDE5NiwgMzAsIDI0NSwgOTUsIDE1LCA1LCAyNTQsIDE5NiwgCi0gICAgMzAsIDIyMCwgMTIsIDk2LCAyNDIsIDE5NywgMTUsIDUsIDI1NCwgMTg3LCAxNSwgNSwgMjU0LCAxODgsIDMwLCAyNTQsIAotICAgIDE4NywgMTUsIDUsIDI1NCwgMTg4LCAzMCwgMjQ3LCAyMjQsIDE1LCA1LCAyNTQsIDE4OCwgMzAsIDI0MiwgMTk3LCAxNSwgNSwgCi0gICAgMjU0LCAxODgsIDMwLCAxNjIsIDE1LCA1LCAyNTQsIDE4OCwgMzAsIDIzNSwgNSwgMTUsIDUsIDI1NCwgMTg4LCAzMCwgMjM0LCAKLSAgICA5OCwgMTUsIDUsIDI1NCwgMTg4LCAzMCwgMjIwLCA2NSwgMTUsIDUsIDI1NCwgMTg4LCAzMCwgMjE0LCAxMjYsIDE1LCA1LCAKLSAgICAyNTQsIDE4NCwgMTUsIDUsIDI1NCwgMTc3LCAxNSwgNSwgMjU0LCAxNDAsIDE1LCA1LCAyNTQsIDE0MSwgMzAsIDIyMCwgNjUsIAotICAgIDE1LCA1LCAyNTQsIDEzMSwgMTUsIDUsIDI1NCwgMTMyLCAxMTUsIDI1NCwgMTMxLCAxNSwgNSwgMjU0LCAxMzIsIDEzNCwgCi0gICAgMjE2LCA4NiwgMTUsIDUsIDI1NCwgMTMyLCA5NiwgMjI5LCAyMjIsIDIyNiwgMTY4LCAyNTQsIDEzMiwgOTYsIDIyOSwgMjIxLCAKLSAgICAxNSwgNSwgMjU0LCAxMzIsIDk2LCAyMjksIDIyMiwgMjE4LCAyMzUsIDE1LCA1LCAyNTQsIDEwMiwgMTUsIDUsIDI1NCwgNzUsIAotICAgIDE1LCA1LCAyNTQsIDQzLCAxNSwgNSwgMjU0LCA0NCwgMzAsIDIzMywgMjAyLCAxNSwgNSwgMjU0LCAxNiwgMTUsIDUsIDI1MywgCi0gICAgMjQ0LCAxNSwgNSwgMjUzLCAyMzksIDE1LCA1LCAyNTMsIDI0MCwgMjEwLCA0MCwgMjE2LCAyNDAsIDE1LCA1LCAyNTMsIAotICAgIDI0MCwgMjM1LCA5LCAyMTYsIDI0MCwgMTUsIDUsIDI1MywgMjQwLCAxMTUsIDI1MywgMjQwLCAyMTUsIDExNSwgMTE1LCAKLSAgICAyMTUsIDExNSwgMjE1LCAxMTUsIDExNSwgMjE1LCAxMTUsIDIyNiwgMjUsIDE1LCA1LCAyNTMsIDI0MCwgMTE1LCAyNTMsIAotICAgIDI0MCwgMTE1LCAyNTMsIDIzOSwgMTUsIDUsIDI1MywgMjQwLCAxMTUsIDI1MywgMjQwLCAxMTUsIDI1MywgMjQwLCAyNDksIAotICAgIDEzMywgMjUzLCAyNDAsIDExNSwgMjUzLCAyNDAsIDExNSwgMjUzLCAyMzksIDE1LCA1LCAyNTMsIDIzNywgMTUsIDUsIDI1MywgCi0gICAgMjM0LCAxNSwgNSwgMjUyLCAxOTksIDE1LCA1LCAyNTIsIDE4NCwgMTUsIDUsIDI1MiwgMTc5LCAxNSwgNSwgMjUyLCAxNzUsIAotICAgIDE1LCA1LCAyNTIsIDE2OSwgMTUsIDUsIDI1MiwgMTcwLCAxMTUsIDI1MiwgMTY5LCAxNSwgNSwgMjUyLCAxNjgsIDE1LCA1LCAKLSAgICAxMzAsIDE1LCA1LCAyNTIsIDE0OCwgMTUsIDUsIDI1MiwgMTQsIDE1LCA1LCAyNTIsIDE1LCAzMCwgNjEsIDE1LCA1LCAyNTIsIAotICAgIDE1LCAzMCwgMjQzLCAxMDMsIDE1LCA1LCAyNTIsIDE1LCAzMCwgMjM2LCA0MywgMjQyLCAxMDEsIDE1LCA1LCAyNTEsIDEzMywgCi0gICAgMTUsIDUsIDI1MSwgMTM0LCAxMTUsIDI1MSwgMTM0LCAyNTUsIDM0LCAxNSwgNSwgMjUxLCAxMzQsIDExNSwgMjUxLCAxMzQsIAotICAgIDIxNCwgMTkwLCAxNSwgNSwgMjUxLCAxMzQsIDI0OSwgMTMzLCAyNTEsIDEzMywgMTUsIDUsIDI1MSwgMTE3LCAxNSwgNSwgCi0gICAgMjUxLCAxMTgsIDExNSwgMjUxLCAxMTcsIDE1LCA1LCAyNTEsIDEwNiwgMTUsIDUsIDI1MSwgMTA1LCAxNSwgNSwgMjQ4LCAKLSAgICAyMjksIDE1LCA1LCAyNDgsIDIyMCwgMTUsIDUsIDI0OCwgMjIxLCAyMzQsIDcyLCAzMCwgMTE2LCA5NiwgMjMxLCAxNTIsIAotICAgIDE1LCA1LCAyNDgsIDIyMSwgMjM0LCA3MiwgMzAsIDI1NCwgMTQwLCAxNSwgNSwgMjQ4LCAyMjEsIDIzNCwgNzIsIDMwLCAKLSAgICAyNTIsIDE2OCwgMTUsIDUsIDI0OCwgMjIxLCAyMzQsIDcyLCAzMCwgMjUyLCAxNCwgMTUsIDUsIDI0OCwgMjIxLCAyMzQsIAotICAgIDcyLCAzMCwgMjQzLCAxNDIsIDE1LCA1LCAyNDgsIDIyMSwgMjM0LCA3MiwgMzAsIDI0MywgMTQzLCA5NiwgMjMxLCAxNTIsIAotICAgIDE1LCA1LCAyNDgsIDIyMSwgMjM0LCA3MiwgMzAsIDI0MiwgMjIxLCAxNSwgNSwgMjQ4LCAyMjEsIDIzNCwgNzIsIDMwLCAKLSAgICAyNDIsIDIwNCwgMTUsIDUsIDI0OCwgMjIxLCAyMzQsIDcyLCAzMCwgMjQyLCAxMTAsIDE1LCA1LCAyNDgsIDIyMSwgMjM0LCAKLSAgICA3MiwgMzAsIDE2MiwgMTUsIDUsIDI0OCwgMjIxLCAyMzQsIDcyLCAzMCwgMjM1LCAxODYsIDE1LCA1LCAyNDgsIDIyMSwgCi0gICAgMjM0LCA3MiwgMzAsIDIzNSwgMTg3LCA5NiwgMjMyLCAxMDMsIDE1LCA1LCAyNDgsIDIyMSwgMjM0LCA3MiwgMzAsIDIzNCwgCi0gICAgMjQ4LCAxNSwgNSwgMjQ4LCAyMjEsIDIzNCwgNzIsIDMwLCAyMzMsIDE0MSwgMTUsIDUsIDI0OCwgMjIxLCAyMzQsIDcyLCAKLSAgICAzMCwgMjMyLCAxMDMsIDE1LCA1LCAyNDgsIDIyMSwgMjM0LCA3MiwgMzAsIDIzMiwgMTA0LCA5NiwgMjMxLCAxNTEsIDE1LCAKLSAgICA1LCAyNDgsIDIyMSwgMjM0LCA3MiwgMzAsIDIzMiwgODksIDE1LCA1LCAyNDgsIDIyMSwgMjM0LCA3MiwgMzAsIDIyOSwgCi0gICAgMTEyLCAxNSwgNSwgMjQ4LCAyMjEsIDIzNCwgNzIsIDMwLCAyMjYsIDI2LCA5NiwgMjI2LCAyNSwgMTUsIDUsIDI0OCwgMjIxLCAKLSAgICAyMzQsIDcyLCAzMCwgMjE5LCAxOTMsIDE1LCA1LCAyNDgsIDIyMSwgMjM0LCA3MiwgMzAsIDIxNywgNzMsIDE1LCA1LCAyNDgsIAotICAgIDIyMSwgMjM0LCA3MiwgMzAsIDIxNCwgMjMxLCA5NiwgMjQyLCAyMDQsIDE1LCA1LCAyNDgsIDIyMSwgMjM0LCA3MiwgMzAsIAotICAgIDIxNCwgMTI2LCAxNSwgNSwgMjQ4LCAxOTUsIDE1LCA1LCAyNDgsIDE3NCwgMTUsIDUsIDI0OCwgMTczLCAxNSwgNSwgMjQ4LCAKLSAgICAxNzIsIDE1LCA1LCAyNDgsIDExLCAxNSwgNSwgMjQ3LCAyNTAsIDE1LCA1LCAyNDcsIDIyNSwgMTUsIDUsIDI0NywgMjI2LCAKLSAgICAzMCwgMjIwLCA2NSwgMTUsIDUsIDI0NywgMjI0LCAxNSwgNSwgMjQ3LCAyMTQsIDE1LCA1LCAyNDcsIDIxNSwgMjM0LCAyMTQsIAotICAgIDEwNCwgMjQyLCAxMDIsIDI0NywgMTk1LCAxNSwgNSwgMjQ3LCAxOTUsIDE1LCA1LCAyNDYsIDg2LCAxNSwgNSwgMjQ2LCA4NywgCi0gICAgMTE1LCAyNDYsIDg2LCAxNSwgNSwgMjQ2LCA4NywgMjQyLCAxMDEsIDE1LCA1LCAyNDYsIDg3LCAyMjAsIDQ3LCAxNSwgNSwgCi0gICAgMjQ2LCA4NCwgMTUsIDUsIDI0NiwgODUsIDMwLCAyNDUsIDgwLCAxNSwgNSwgMjQ2LCA4MywgMTUsIDUsIDI0NiwgODIsIDE1LCAKLSAgICA1LCAyNDYsIDgxLCAxNSwgNSwgMjQ2LCA4MCwgMTUsIDUsIDI0NiwgNzYsIDE1LCA1LCAyNDYsIDc0LCAxNSwgNSwgMjQ2LCAKLSAgICA3NSwgMjQyLCAxMDEsIDE1LCA1LCAyNDYsIDc1LCAyNDIsIDEwMiwgMjQyLCAxMDEsIDE1LCA1LCAyNDYsIDczLCAxNSwgNSwgCi0gICAgMjQ2LCA2NiwgMTUsIDUsIDc2LCAxNSwgNSwgMTYwLCAzMCwgMjI2LCAyNSwgMTUsIDUsIDE2MCwgMTE1LCAxNjAsIDIyNywgCi0gICAgMTk5LCAxMTUsIDIyNywgMTk4LCAxNSwgNSwgMjQ1LCAyNDIsIDE1LCA1LCAyNDUsIDI0MywgMzAsIDExNiwgOTYsIDI0MiwgCi0gICAgNTYsIDk2LCAyNDgsIDIyOSwgMTUsIDUsIDI0NSwgMjQzLCAzMCwgMjQzLCAxMDMsIDE1LCA1LCAyNDUsIDI0MywgMzAsIAotICAgIDIzMCwgMjM1LCAxNSwgNSwgMjQ1LCAyNDMsIDMwLCAyMjIsIDEwLCAxNSwgNSwgMjQ1LCAyNDMsIDMwLCAyMjAsIDY1LCAxNSwgCi0gICAgNSwgMjQ1LCAyNDMsIDMwLCA2OSwgMTUsIDUsIDI0NSwgMjE5LCAxNSwgNSwgMjQ1LCAyMDgsIDE1LCA1LCAyNDUsIDE4MiwgCi0gICAgMTUsIDUsIDI0NSwgMTU4LCAxNSwgNSwgMjQ1LCAxNTksIDMwLCAyNDMsIDExMSwgMTUsIDUsIDI0NSwgMTU5LCAzMCwgMjQzLCAKLSAgICAxMTIsIDIxNiwgMjQwLCAxNSwgNSwgMjQ1LCAxNTksIDMwLCAyMzEsIDk2LCAxNSwgNSwgMjQ1LCAxNTksIDI0OSwgMTMzLCAKLSAgICAyNDUsIDE1OCwgMTUsIDUsIDI0NSwgMTU5LCAyMjYsIDE2OCwgMjQ1LCAxNTgsIDE1LCA1LCAyNDUsIDE1OSwgMjE4LCAyMzUsIAotICAgIDE1LCA1LCAyNDUsIDk3LCAxNSwgNSwgMjQ1LCA5NSwgMTUsIDUsIDI0NSwgODAsIDE1LCA1LCAyNDUsIDE4LCAxNSwgNSwgCi0gICAgMjQ1LCAxOSwgMzAsIDYxLCAxNSwgNSwgMjQ1LCAxOSwgMzAsIDExNiwgOTYsIDIzMywgMTEwLCAxNSwgNSwgMjQ1LCAxOSwgCi0gICAgMzAsIDExNiwgOTYsIDIzMywgMTExLCAzMCwgMjMzLCAxMTAsIDE1LCA1LCAyNDUsIDE5LCAzMCwgMjU0LCAxMzEsIDE1LCA1LCAKLSAgICAyNDUsIDE5LCAzMCwgMjUyLCAxODQsIDE1LCA1LCAyNDUsIDE5LCAzMCwgMjQ2LCA3NSwgMjQyLCAxMDEsIDE1LCA1LCAyNDUsIAotICAgIDE5LCAzMCwgMjQ2LCA3NSwgMjQyLCAxMDIsIDI0MiwgMTAxLCAxNSwgNSwgMjQ1LCAxOSwgMzAsIDE2MiwgMTUsIDUsIDI0NSwgCi0gICAgMTksIDMwLCAyNDIsIDU2LCAyNDIsIDEwMSwgMTUsIDUsIDI0NSwgMTksIDMwLCAyMzYsIDQzLCAyNDIsIDEwMSwgMTUsIDUsIAotICAgIDI0NSwgMTksIDMwLCAyMzQsIDIxMywgMTUsIDUsIDI0NSwgMTksIDMwLCAyMzQsIDIxNCwgMjE4LCAyMzUsIDE1LCA1LCAKLSAgICAyNDUsIDE5LCAzMCwgMjMzLCAyMjEsIDE1LCA1LCAyNDUsIDE5LCAzMCwgMjMzLCAxNDEsIDE1LCA1LCAyNDUsIDE5LCAzMCwgCi0gICAgMjMzLCAxMTEsIDMwLCAyMzMsIDExMCwgMTUsIDUsIDI0NSwgMTksIDMwLCAyMzIsIDI0NywgMTUsIDUsIDI0NSwgMTksIDMwLCAKLSAgICAyMzIsIDEwMywgMTUsIDUsIDI0NSwgMTksIDMwLCAyMTQsIDIzMCwgMTUsIDUsIDI0NSwgMTksIDMwLCAyMTQsIDIxOSwgMTUsIAotICAgIDUsIDI0MywgMTQyLCAxNSwgNSwgMjQzLCAxNDMsIDI0MiwgMTAxLCAxNSwgNSwgMjQzLCAxNDAsIDE1LCA1LCAyNDMsIDE0MSwgCi0gICAgMzAsIDExNiwgOTYsIDI0OCwgMjMwLCA5NiwgMTYyLCAxNSwgNSwgMjQzLCAxNDEsIDMwLCAxMTYsIDk2LCAxNjIsIDE1LCA1LCAKLSAgICAyNDMsIDE0MSwgMzAsIDExNiwgOTYsIDIzNiwgNDIsIDE1LCA1LCAyNDMsIDE0MSwgMzAsIDI1NSwgMzMsIDIxNiwgMjQxLCAKLSAgICA5NiwgMjE3LCA5NCwgMTUsIDUsIDI0MywgMTQxLCAzMCwgMjU0LCAxMzEsIDE1LCA1LCAyNDMsIDE0MSwgMzAsIDI1MywgCi0gICAgMjM5LCAxNSwgNSwgMjQzLCAxNDEsIDMwLCAyNTMsIDIzOCwgOTYsIDI0MywgMTI1LCAxNSwgNSwgMjQzLCAxNDEsIDMwLCAKLSAgICAyNTIsIDE4NCwgMTUsIDUsIDI0MywgMTQxLCAzMCwgMjUyLCAxNDksIDk2LCAyMDUsIDE1LCA1LCAyNDMsIDE0MSwgMzAsIAotICAgIDI1MSwgMTA2LCAxNSwgNSwgMjQzLCAxNDEsIDMwLCAyNTEsIDEwNywgOTYsIDIwNSwgMTUsIDUsIDI0MywgMTQxLCAzMCwgCi0gICAgMjQ4LCAyMjksIDE1LCA1LCAyNDMsIDE0MSwgMzAsIDI0OCwgMTEsIDE1LCA1LCAyNDMsIDE0MSwgMzAsIDI0NywgMjI2LCAKLSAgICAzMCwgMjIwLCA2NSwgMTUsIDUsIDI0MywgMTQxLCAzMCwgMjQ2LCA4NCwgMTUsIDUsIDI0MywgMTQxLCAzMCwgMjQ1LCAxODIsIAotICAgIDE1LCA1LCAyNDMsIDE0MSwgMzAsIDI0NSwgMTgzLCA5NiwgMjMzLCAxNDEsIDE1LCA1LCAyNDMsIDE0MSwgMzAsIDI0NSwgCi0gICAgMTU4LCAxNSwgNSwgMjQzLCAxNDEsIDMwLCAyNDUsIDE1OSwgMzAsIDI0MywgMTEyLCAyMTYsIDI0MCwgMTUsIDUsIDI0MywgCi0gICAgMTQxLCAzMCwgMjQzLCAxMTIsIDIxNiwgMjQwLCAxNSwgNSwgMjQzLCAxNDEsIDMwLCAyNDMsIDEwMywgMTUsIDUsIDI0MywgCi0gICAgMTQxLCAzMCwgMjQyLCAyMjEsIDE1LCA1LCAyNDMsIDE0MSwgMzAsIDI0MiwgMjE5LCAxNSwgNSwgMjQzLCAxNDEsIDMwLCAKLSAgICAyNDIsIDIyMCwgOTYsIDYxLCAxNSwgNSwgMjQzLCAxNDEsIDMwLCAyNDIsIDIwNSwgOTYsIDIxOCwgODQsIDE1LCA1LCAyNDMsIAotICAgIDE0MSwgMzAsIDI0MiwgNTYsIDk2LCAyMzIsIDEwNCwgOTYsIDI0NSwgODAsIDE1LCA1LCAyNDMsIDE0MSwgMzAsIDI0MiwgCi0gICAgMzcsIDE1LCA1LCAyNDMsIDE0MSwgMzAsIDI0MiwgMzgsIDk2LCAyMzMsIDE0MSwgMTUsIDUsIDI0MywgMTQxLCAzMCwgMjQxLCAKLSAgICAxODgsIDk2LCAyMzIsIDI0NywgMTUsIDUsIDI0MywgMTQxLCAzMCwgMjQwLCAyMjUsIDE1LCA1LCAyNDMsIDE0MSwgMzAsIAotICAgIDIzNiwgNDMsIDI0MiwgMTAxLCAxNSwgNSwgMjQzLCAxNDEsIDMwLCAyMzUsIDE3MywgOTYsIDI0MCwgMjMwLCA5NiwgMjUzLCAKLSAgICAyMzksIDE1LCA1LCAyNDMsIDE0MSwgMzAsIDIzNCwgMjQ4LCAxNSwgNSwgMjQzLCAxNDEsIDMwLCAyMzQsIDIxMywgMTUsIDUsIAotICAgIDI0MywgMTQxLCAzMCwgMjM0LCA5NSwgMTUsIDUsIDI0MywgMTQxLCAzMCwgMjM0LCA5NiwgOTYsIDIzMywgMTEwLCAxNSwgNSwgCi0gICAgMjQzLCAxNDEsIDMwLCAyMzMsIDIyMiwgOTYsIDI1NCwgMTMxLCAxNSwgNSwgMjQzLCAxNDEsIDMwLCAyMzMsIDE0MSwgMTUsIAotICAgIDUsIDI0MywgMTQxLCAzMCwgMjMxLCA5NywgOTYsIDI0NSwgMTU4LCAxNSwgNSwgMjQzLCAxNDEsIDMwLCAyMzAsIDIzNSwgCi0gICAgMTUsIDUsIDI0MywgMTQxLCAzMCwgMjI3LCAxOTgsIDE1LCA1LCAyNDMsIDE0MSwgMzAsIDIyNywgMTk5LCAxMTUsIDIyNywgCi0gICAgMTk4LCAxNSwgNSwgMjQzLCAxNDEsIDMwLCAxOTEsIDE1LCA1LCAyNDMsIDE0MSwgMzAsIDIyMiwgMTAsIDE1LCA1LCAyNDMsIAotICAgIDE0MSwgMzAsIDIyMSwgMjMzLCAxNSwgNSwgMjQzLCAxNDEsIDMwLCAyMjAsIDY1LCAxNSwgNSwgMjQzLCAxNDEsIDMwLCAKLSAgICAyMjAsIDY2LCA5NiwgMjE1LCA5OSwgMTUsIDUsIDI0MywgMTQxLCAzMCwgMjIwLCAzMiwgMTUsIDUsIDI0MywgMTQxLCAzMCwgCi0gICAgMjE4LCA0NCwgMTUsIDUsIDI0MywgMTQxLCAzMCwgMjE3LCA3MywgMTUsIDUsIDI0MywgMTQxLCAzMCwgNjksIDE1LCA1LCAKLSAgICAyNDMsIDE0MSwgMzAsIDIxNCwgMjE5LCAxNSwgNSwgMjQzLCAxNDEsIDMwLCAyMTQsIDIyMCwgOTYsIDI0NiwgODYsIDE1LCAKLSAgICA1LCAyNDMsIDE0MSwgMTE1LCAyNDMsIDE0MCwgMTUsIDUsIDI0MywgMTM1LCAxNSwgNSwgMjQzLCAxMzYsIDI0OSwgMTMzLCAKLSAgICAyNDMsIDEzNSwgMTUsIDUsIDI0MywgMTMzLCAxNSwgNSwgMjQzLCAxMzQsIDExNSwgMjQzLCAxMzQsIDI0MywgMTA0LCAxMTUsIAotICAgIDI0MywgMTAzLCAxNSwgNSwgMjQzLCAxMjUsIDE1LCA1LCAyNDMsIDEyNiwgMjQzLCAxMzQsIDExNSwgMjQzLCAxMzQsIDI0MywgCi0gICAgMTA0LCAxMTUsIDI0MywgMTAzLCAxNSwgNSwgMjQzLCAxMjQsIDE1LCA1LCAyNDMsIDEyMiwgMTUsIDUsIDI0MywgMTEzLCAKLSAgICAxNSwgNSwgMjQzLCAxMTEsIDE1LCA1LCAyNDMsIDExMiwgMjE2LCAyNDAsIDE1LCA1LCAyNDMsIDExMiwgMTE1LCAyNDMsIAotICAgIDExMSwgMTUsIDUsIDI0MywgMTEyLCAyNDksIDEzMywgMjQzLCAxMTEsIDE1LCA1LCAyNDMsIDEwMywgMTUsIDUsIDI0MywgCi0gICAgMTAyLCAxNSwgNSwgMjQzLCA5NywgMTUsIDUsIDI0MywgNDMsIDE1LCA1LCAyNDMsIDQ0LCAzMCwgMjMzLCAyMDIsIDE1LCA1LCAKLSAgICAyNDIsIDIyMSwgMTUsIDUsIDI0MiwgMjIyLCAzMCwgNzYsIDE1LCA1LCAyNDIsIDIyMiwgMzAsIDY5LCAxNSwgNSwgMjQyLCAKLSAgICAyMjIsIDI0OSwgMTMzLCAyNDIsIDIyMSwgMTUsIDUsIDI0MiwgMjE5LCAxNSwgNSwgMjQyLCAyMjAsIDExNSwgMjQyLCAyMTksIAotICAgIDE1LCA1LCAyNDIsIDIyMCwgMjQ5LCAxMzMsIDI0MiwgMjE5LCAxNSwgNSwgMjQyLCAyMTYsIDE1LCA1LCAyNDIsIDIwNCwgCi0gICAgMTUsIDUsIDI0MiwgMjA1LCAyNDIsIDEwMSwgMTUsIDUsIDI0MiwgMjAyLCAxNSwgNSwgMjQyLCAyMDMsIDMwLCAxMTYsIDk2LCAKLSAgICAyMzYsIDQyLCAxNSwgNSwgMjQyLCAyMDMsIDMwLCAyNDMsIDExMiwgMjE2LCAyNDAsIDE1LCA1LCAyNDIsIDIwMywgMzAsIAotICAgIDIzNiwgNDIsIDE1LCA1LCAyNDIsIDIwMywgMzAsIDIzMiwgMTA0LCA5NiwgMjM2LCA0MiwgMTUsIDUsIDI0MiwgMjAzLCAzMCwgCi0gICAgMTkxLCAxNSwgNSwgMjQyLCAxOTksIDE1LCA1LCAyNDIsIDE5NywgMTUsIDUsIDI0MiwgMTk4LCAyNDksIDEzMywgMjQyLCAKLSAgICAxOTcsIDE1LCA1LCAyNDIsIDE5OCwgMzAsIDI1MiwgMTg0LCAxNSwgNSwgMjQyLCAxOTgsIDMwLCAyMTcsIDczLCAxNSwgNSwgCi0gICAgMjQyLCAxOTgsIDIxNiwgMjQwLCAxNSwgNSwgMjQyLCAxMjAsIDE1LCA1LCAyNDIsIDEyMSwgMjQ5LCAxMzMsIDI0MiwgMTIwLCAKLSAgICAxNSwgNSwgMjQyLCAxMTgsIDE1LCA1LCAyNDIsIDExOSwgMzAsIDIzNCwgMjQ4LCAxNSwgNSwgMjQyLCAxMTksIDMwLCAyMzQsIAotICAgIDI0OSwgMzAsIDIzNiwgNDMsIDI0MiwgMTAxLCAxNSwgNSwgMjQyLCAxMTksIDMwLCAyMjcsIDE5OCwgMTUsIDUsIDI0MiwgCi0gICAgMTE5LCAzMCwgMjIyLCAxMSwgOTYsIDIxNSwgMTE0LCAxNSwgNSwgMjQyLCAxMTksIDI0MiwgMTAxLCAxNSwgNSwgMjQyLCAKLSAgICAxMTAsIDE1LCA1LCAyNDIsIDExMSwgMzAsIDExNiwgOTYsIDIzMywgMjAyLCAxNSwgNSwgMjQyLCAxMTEsIDMwLCAyMzMsIAotICAgIDIwMiwgMTUsIDUsIDI0MiwgMTExLCAxMTUsIDI0MiwgMTExLCAyMzIsIDk2LCAxNSwgNSwgMjQyLCAxMDUsIDE1LCA1LCAKLSAgICAyNDIsIDEwMywgMTUsIDUsIDI0MiwgMTA0LCAzMCwgMjIwLCA2NSwgMTUsIDUsIDI0MiwgOTUsIDE1LCA1LCAyNDIsIDk0LCAKLSAgICAxNSwgNSwgMjQyLCA5MSwgMTUsIDUsIDI0MiwgOTAsIDE1LCA1LCAxNjIsIDE1LCA1LCAyNDIsIDU2LCAyMTYsIDI0MCwgMTUsIAotICAgIDUsIDI0MiwgNTYsIDI0MiwgMTAxLCAxNSwgNSwgMjQyLCAzNywgMTUsIDUsIDI0MSwgMTg3LCAxNSwgNSwgMjQxLCAxODgsIAotICAgIDMwLCAyNTMsIDIzOSwgMTUsIDUsIDI0MSwgMTg4LCAzMCwgMjUzLCAyMzcsIDE1LCA1LCAyNDEsIDE4OCwgMzAsIDI1MiwgCi0gICAgMTg0LCAxNSwgNSwgMjQxLCAxODgsIDMwLCAyNDcsIDE5NSwgMTUsIDUsIDI0MSwgMTg4LCAzMCwgMjQzLCAxMzMsIDE1LCA1LCAKLSAgICAyNDEsIDE4OCwgMzAsIDIzNCwgODcsIDE1LCA1LCAyNDEsIDE4OCwgMzAsIDIyNywgMTk4LCAxNSwgNSwgMjQxLCAxODgsIAotICAgIDMwLCAyMjAsIDY1LCAxNSwgNSwgMjQxLCAxODgsIDMwLCA2OSwgMTUsIDUsIDI0MCwgMjI5LCAxNSwgNSwgMjQwLCAyMjUsIAotICAgIDE1LCA1LCAyNDAsIDIyNiwgMzAsIDI1NCwgMTMxLCAxNSwgNSwgMjQwLCAyMjYsIDMwLCAyNDIsIDM3LCAxNSwgNSwgMjQwLCAKLSAgICAyMjYsIDMwLCAyMzQsIDIxMywgMTUsIDUsIDI0MCwgMjI2LCAzMCwgMjMyLCAyMDMsIDE1LCA1LCAyNDAsIDIyNiwgMzAsIAotICAgIDIxNCwgMjE5LCAxNSwgNSwgMjQwLCAyMjIsIDE1LCA1LCA3NCwgMTUsIDUsIDI0MCwgMTYxLCA2MSwgMTUsIDUsIDI0MCwgCi0gICAgMTIyLCAxNSwgNSwgMjM2LCA3MCwgMTUsIDUsIDIzNiwgNzEsIDExNSwgMjM2LCA3MSwgMjUxLCAxMDYsIDE1LCA1LCAyMzYsIAotICAgIDcxLCAxMTUsIDIzNiwgNzEsIDIxOCwgMjM1LCAxNSwgNSwgMjM2LCA0NSwgMTUsIDUsIDIzNiwgNDIsIDE1LCA1LCAyMzYsIAotICAgIDQzLCAyNDcsIDI1MCwgMTUsIDUsIDIzNiwgNDMsIDIyMywgMzgsIDE1LCA1LCAyMzYsIDQzLCAxMTUsIDIzNiwgNDMsIDIyMCwgCi0gICAgMTYsIDExNSwgMjIwLCAxNiwgMjE0LCAyMjAsIDExNSwgMjE0LCAyMTksIDE1LCA1LCAyMzYsIDQzLCAyNDIsIDEwMSwgMTUsIAotICAgIDUsIDIzNiwgMzQsIDE1LCA1LCAyMzYsIDM1LCAzMCwgMjQzLCAxMTIsIDIxNiwgMjQwLCAxNSwgNSwgMjM2LCAzMywgMTUsIAotICAgIDUsIDIzNiwgMjMsIDE1LCA1LCAyMzYsIDI0LCAzMCwgMjE3LCA3MywgMTUsIDUsIDIzNiwgMjQsIDI0OSwgMTMzLCAyMzYsIAotICAgIDIzLCAxNSwgNSwgMjM2LCAyNCwgMjI2LCAxNjgsIDIzNiwgMjMsIDE1LCA1LCAyMzYsIDI0LCAyMTgsIDIzNSwgMTUsIDUsIAotICAgIDIzNiwgMTYsIDE1LCA1LCAyMzYsIDYsIDE1LCA1LCAyMzUsIDE4NiwgMTUsIDUsIDIzNSwgMTcyLCAxNSwgNSwgMTc2LCAxNSwgCi0gICAgNSwgMjM1LCAxOSwgMzAsIDYxLCAxNSwgNSwgMjM1LCAxOSwgMzAsIDI1NSwgOCwgMTUsIDUsIDIzNSwgMTksIDMwLCAyNTUsIAotICAgIDksIDk2LCAyMzMsIDIyMSwgMTUsIDUsIDIzNSwgMTksIDMwLCAyNTMsIDIzNywgMTUsIDUsIDIzNSwgMTksIDMwLCAyNTIsIAotICAgIDE4NCwgMTUsIDUsIDIzNSwgMTksIDMwLCAyNTIsIDE2OCwgMTUsIDUsIDIzNSwgMTksIDMwLCAxMzAsIDE1LCA1LCAyMzUsIAotICAgIDE5LCAzMCwgMjUyLCAxNCwgMTUsIDUsIDIzNSwgMTksIDMwLCAyNDUsIDk1LCAxNSwgNSwgMjM1LCAxOSwgMzAsIDI0NSwgCi0gICAgODAsIDE1LCA1LCAyMzUsIDE5LCAzMCwgMjQzLCAxNDIsIDE1LCA1LCAyMzUsIDE5LCAzMCwgMjQzLCAxMjUsIDE1LCA1LCAKLSAgICAyMzUsIDE5LCAzMCwgMjQzLCAxMTIsIDIxNiwgMjQwLCAxNSwgNSwgMjM1LCAxOSwgMzAsIDI0MywgMTAzLCAxNSwgNSwgCi0gICAgMjM1LCAxOSwgMzAsIDI0MywgMTA0LCA5NiwgMjIwLCAxMDMsIDk2LCA2MSwgMTUsIDUsIDIzNSwgMTksIDMwLCAyNDIsIAotICAgIDIyMSwgMTUsIDUsIDIzNSwgMTksIDMwLCAyNDIsIDIwNCwgMTUsIDUsIDIzNSwgMTksIDMwLCAyNDIsIDE5OCwgOTYsIDIyMSwgCi0gICAgMjMzLCAxNSwgNSwgMjM1LCAxOSwgMzAsIDI0MiwgMTk4LCAyNDksIDEzMywgMjQyLCAxOTcsIDE1LCA1LCAyMzUsIDE5LCAKLSAgICAzMCwgMjQyLCAxMjAsIDE1LCA1LCAyMzUsIDE5LCAzMCwgMjQyLCA5NCwgMTUsIDUsIDIzNSwgMTksIDMwLCAyMzYsIDQyLCAKLSAgICAxNSwgNSwgMjM1LCAxOSwgMzAsIDIzNiwgMjMsIDE1LCA1LCAyMzUsIDE5LCAzMCwgMjM0LCAyNDgsIDE1LCA1LCAyMzUsIAotICAgIDE5LCAzMCwgMjM0LCA5OCwgMTUsIDUsIDIzNSwgMTksIDMwLCAyMzQsIDk1LCAxNSwgNSwgMjM1LCAxOSwgMzAsIDIzMiwgCi0gICAgMjQ3LCAxNSwgNSwgMjM1LCAxOSwgMzAsIDIzMiwgMTAzLCAxNSwgNSwgMjM1LCAxOSwgMzAsIDIzMSwgOTYsIDE1LCA1LCAKLSAgICAyMzUsIDE5LCAzMCwgMjMxLCA5NywgOTYsIDI0NiwgODYsIDE1LCA1LCAyMzUsIDE5LCAzMCwgMjMxLCA5NywgOTYsIDI0MiwgCi0gICAgMjIxLCAxNSwgNSwgMjM1LCAxOSwgMzAsIDIzMSwgOTcsIDk2LCAyMTcsIDIzLCAxNSwgNSwgMjM1LCAxOSwgMzAsIDIzMCwgCi0gICAgMjM1LCAxNSwgNSwgMjM1LCAxOSwgMzAsIDIzMCwgMjM2LCA5NiwgMjI3LCAxOTMsIDE1LCA1LCAyMzUsIDE5LCAzMCwgMjI5LCAKLSAgICAxMTIsIDE1LCA1LCAyMzUsIDE5LCAzMCwgMjI3LCAxOTgsIDE1LCA1LCAyMzUsIDE5LCAzMCwgMjI1LCAxMTEsIDE1LCA1LCAKLSAgICAyMzUsIDE5LCAzMCwgMjIyLCAxNDIsIDE1LCA1LCAyMzUsIDE5LCAzMCwgMjA2LCAxNSwgNSwgMjM1LCAxOSwgMzAsIDIyMSwgCi0gICAgMjMzLCAxNSwgNSwgMjM1LCAxOSwgMzAsIDIyMCwgMTA0LCAxNSwgNSwgMjM1LCAxOSwgMzAsIDIyMCwgNjUsIDE1LCA1LCAKLSAgICAyMzUsIDE5LCAzMCwgMjIwLCAzMiwgMTUsIDUsIDIzNSwgMTksIDMwLCAyMTksIDIyNywgMTUsIDUsIDIzNSwgMTksIDMwLCAKLSAgICAyMTksIDE4NCwgMTUsIDUsIDIzNSwgMTksIDMwLCAyMTgsIDUyLCAxNSwgNSwgMjM1LCAxOSwgMzAsIDIxNywgNTEsIDE1LCAKLSAgICA1LCAyMzUsIDE5LCAzMCwgNjksIDE1LCA1LCAyMzUsIDE5LCAzMCwgMjE0LCAyMzAsIDE1LCA1LCAyMzUsIDE5LCAzMCwgCi0gICAgMjE0LCAyMTksIDE1LCA1LCAyMzUsIDE5LCAzMCwgMjE0LCAxOTMsIDMwLCAxOTEsIDE1LCA1LCAyMzUsIDE5LCAzMCwgMjE0LCAKLSAgICAxMjYsIDE1LCA1LCAyMzUsIDE5LCAzMCwgMjEwLCA0NCwgMTUsIDUsIDIzNSwgMTcsIDE1LCA1LCAyMzUsIDE4LCAyNDksIAotICAgIDEzMywgMjM1LCAxNywgMTUsIDUsIDIzNSwgMTAsIDE1LCA1LCAyMzUsIDcsIDE1LCA1LCAyMzUsIDUsIDE1LCA1LCAyMzUsIAotICAgIDQsIDE1LCA1LCAyMzUsIDIsIDE1LCA1LCAyMzUsIDMsIDExNSwgMjM1LCAyLCAxNSwgNSwgMjM0LCAyNDgsIDE1LCA1LCAKLSAgICAyMzQsIDI0OSwgMzAsIDIzNiwgNDMsIDI0MiwgMTAxLCAxNSwgNSwgMjM0LCAyNDQsIDE1LCA1LCAyMzQsIDI0NSwgMzAsIAotICAgIDI1MiwgMTg0LCAxNSwgNSwgMjM0LCAyNDUsIDI0OSwgMTMzLCAyMzQsIDI0NCwgMTUsIDUsIDIzNCwgMjQyLCAxNSwgNSwgCi0gICAgMjM0LCAyNDEsIDE1LCA1LCAyMzQsIDIxMywgMTUsIDUsIDIzNCwgMjE0LCAyMzMsIDEyNCwgMzAsIDEwNCwgMTE1LCAyMzMsIAotICAgIDEyNCwgMzAsIDY5LCAxNSwgNSwgMjM0LCAyMTQsIDExNSwgMjM0LCAyMTQsIDIzMywgMTI0LCAzMCwgMTA0LCAxMTUsIDIzMywgCi0gICAgMTI0LCAzMCwgNjksIDE1LCA1LCAyMzQsIDE2MywgMTUsIDUsIDIzNCwgOTgsIDE1LCA1LCAyMzQsIDk5LCAzMCwgMjUyLCAKLSAgICAxODQsIDE1LCA1LCAyMzQsIDk5LCAzMCwgNjksIDE1LCA1LCAyMzQsIDk5LCAzMCwgMjE0LCAyMTksIDE1LCA1LCAyMzQsIAotICAgIDk1LCAxNSwgNSwgMjM0LCA4NywgMTUsIDUsIDIzNCwgNzQsIDE1LCA1LCAyMzQsIDczLCAxNSwgNSwgMjM0LCA3MSwgMTUsIAotICAgIDUsIDIzNCwgNzIsIDExNSwgMjM0LCA3MSwgMTUsIDUsIDIzMywgMjIzLCAxNSwgNSwgMjMzLCAyMjQsIDExNSwgMjQxLCAKLSAgICAxODgsIDMwLCAyNTMsIDIzOCwgMjMzLCAyMjQsIDExNSwgMjQxLCAxODgsIDMwLCAyNTMsIDIzNywgMTUsIDUsIDIzMywgCi0gICAgMjIxLCAxNSwgNSwgMjMzLCAyMTksIDE1LCA1LCAyMzMsIDIyMCwgMjE0LCAxMiwgMTcsIDE1LCA1LCAyMzMsIDIxOCwgMTUsIAotICAgIDUsIDIzMywgMjE1LCAxNSwgNSwgMjMzLCAyMTYsIDI0MiwgMTAxLCAxNSwgNSwgMjMzLCAyMTQsIDE1LCA1LCAyMzMsIDIwMiwgCi0gICAgMTUsIDUsIDIzMywgMjAzLCAyMjYsIDE2OCwgMjMzLCAyMDIsIDE1LCA1LCAyMzMsIDE5NywgMTUsIDUsIDIzMywgMTc4LCAKLSAgICAxNSwgNSwgMjMzLCAxNDEsIDE1LCA1LCAyMzMsIDEyMywgMTUsIDUsIDIzMywgMTI0LCAzMCwgNjEsIDE1LCA1LCAyMzMsIAotICAgIDEyNCwgMzAsIDExNiwgOTYsIDI0OCwgMjMwLCA5NiwgMTYyLCAxNSwgNSwgMjMzLCAxMjQsIDMwLCAxMTYsIDk2LCAyNDMsIAotICAgIDEwMywgMTUsIDUsIDIzMywgMTI0LCAzMCwgMTE2LCA5NiwgMjMzLCAxMTAsIDE1LCA1LCAyMzMsIDEyNCwgMzAsIDI1NCwgCi0gICAgMTg3LCAxNSwgNSwgMjMzLCAxMjQsIDMwLCAyNTQsIDEzMSwgMTUsIDUsIDIzMywgMTI0LCAzMCwgMjUzLCAyNDAsIDIxMCwgCi0gICAgNDAsIDIxNiwgMjQwLCAxNSwgNSwgMjMzLCAxMjQsIDMwLCAyNTIsIDE4NCwgMTUsIDUsIDIzMywgMTI0LCAzMCwgMjUyLCAKLSAgICAxNCwgMTUsIDUsIDIzMywgMTI0LCAzMCwgMjQ4LCAxNzQsIDE1LCA1LCAyMzMsIDEyNCwgMzAsIDI0NSwgMTU4LCAxNSwgNSwgCi0gICAgMjMzLCAxMjQsIDMwLCAyNDMsIDE0MiwgMTUsIDUsIDIzMywgMTI0LCAzMCwgMjQzLCAxMDMsIDE1LCA1LCAyMzMsIDEyNCwgCi0gICAgMzAsIDI0MiwgMTEwLCAxNSwgNSwgMjMzLCAxMjQsIDMwLCAyNDIsIDExMSwgOTYsIDI0MiwgMTEwLCAxNSwgNSwgMjMzLCAKLSAgICAxMjQsIDMwLCAxNjIsIDE1LCA1LCAyMzMsIDEyNCwgMzAsIDI0MiwgMzcsIDE1LCA1LCAyMzMsIDEyNCwgMzAsIDI0MSwgCi0gICAgMTg4LCAzMCwgMjI3LCAxOTgsIDE1LCA1LCAyMzMsIDEyNCwgMzAsIDIzNiwgNDMsIDI0MiwgMTAxLCAxNSwgNSwgMjMzLCAKLSAgICAxMjQsIDMwLCAyMzYsIDIzLCAxNSwgNSwgMjMzLCAxMjQsIDMwLCAyMzYsIDI0LCA5NiwgMTYyLCAxNSwgNSwgMjMzLCAxMjQsIAotICAgIDMwLCAyMzYsIDI0LCA5NiwgMjMyLCAxMDMsIDE1LCA1LCAyMzMsIDEyNCwgMzAsIDIzNCwgOTgsIDE1LCA1LCAyMzMsIDEyNCwgCi0gICAgMzAsIDIzNCwgODcsIDE1LCA1LCAyMzMsIDEyNCwgMzAsIDIzMywgMjIxLCAxNSwgNSwgMjMzLCAxMjQsIDMwLCAyMzMsIAotICAgIDIxNSwgMTUsIDUsIDIzMywgMTI0LCAzMCwgMjMzLCAyMTYsIDk2LCAyNDEsIDE4OCwgOTYsIDYxLCAxNSwgNSwgMjMzLCAKLSAgICAxMjQsIDMwLCAyMzMsIDEyMywgMTUsIDUsIDIzMywgMTI0LCAzMCwgMjMyLCAyMDMsIDE1LCA1LCAyMzMsIDEyNCwgMzAsIAotICAgIDIzMiwgMTAzLCAxNSwgNSwgMjMzLCAxMjQsIDMwLCAyMzIsIDkxLCAxNSwgNSwgMjMzLCAxMjQsIDMwLCAyMzEsIDk2LCAxNSwgCi0gICAgNSwgMjMzLCAxMjQsIDMwLCAyMzEsIDk3LCA5NiwgMjQ1LCAxNTgsIDE1LCA1LCAyMzMsIDEyNCwgMzAsIDIzMCwgNjYsIDE1LCAKLSAgICA1LCAyMzMsIDEyNCwgMzAsIDIyOSwgMTEyLCAxNSwgNSwgMjMzLCAxMjQsIDMwLCAyMjAsIDY2LCA5NiwgMjE4LCA0NCwgMTUsIAotICAgIDUsIDIzMywgMTI0LCAzMCwgMjIwLCAxMiwgOTYsIDI0MiwgMTk4LCA5NiwgMjQ1LCA5NSwgMTUsIDUsIDIzMywgMTI0LCAzMCwgCi0gICAgMjIwLCAxMiwgOTYsIDI0MiwgMTk4LCAyMTYsIDI0MCwgMTUsIDUsIDIzMywgMTI0LCAzMCwgMjE5LCAyMjUsIDE1LCA1LCAKLSAgICAyMzMsIDEyNCwgMzAsIDIxOSwgMjI2LCA5NiwgMjE5LCAyMjUsIDE1LCA1LCAyMzMsIDEyNCwgMzAsIDIxOCwgNDQsIDE1LCAKLSAgICA1LCAyMzMsIDEyNCwgMzAsIDIxNywgODUsIDE1LCA1LCAyMzMsIDEyNCwgMzAsIDIxNywgNzMsIDE1LCA1LCAyMzMsIDEyNCwgCi0gICAgMzAsIDIxNywgMjQsIDk2LCAxMTYsIDk2LCAyMTgsIDg1LCA5NiwgMTk4LCAxNSwgNSwgMjMzLCAxMjQsIDMwLCA2OSwgMTUsIAotICAgIDUsIDIzMywgMTI0LCAzMCwgMTA0LCA5NiwgNjEsIDE1LCA1LCAyMzMsIDEyNCwgMzAsIDEwNCwgOTYsIDEwNCwgOTYsIDY5LCAKLSAgICAxNSwgNSwgMjMzLCAxMjQsIDMwLCAyMTQsIDIzMSwgOTYsIDI1MywgMjM5LCAxNSwgNSwgMjMzLCAxMjQsIDMwLCAyMTQsIAotICAgIDIxOSwgMTUsIDUsIDIzMywgMTI0LCAzMCwgMjE0LCAxMjYsIDE1LCA1LCAyMzMsIDEyNCwgMjE4LCAyMzUsIDE1LCA1LCAKLSAgICAyMzMsIDEyMSwgMTUsIDUsIDIzMywgMTIyLCAzMCwgMjIwLCA2NSwgMTUsIDUsIDIzMywgMTIyLCAzMCwgMjIwLCA2NiwgOTYsIAotICAgIDIxOCwgNDQsIDE1LCA1LCAyMzMsIDEyMiwgMjQyLCAxMDEsIDE1LCA1LCAyMzMsIDEyMiwgMjQyLCAxMDIsIDExNSwgMjMzLCAKLSAgICAxMjIsIDI0MiwgMTAyLCAyMjAsIDY1LCAxNSwgNSwgMjMzLCAxMTcsIDE1LCA1LCAyMzMsIDExMCwgMTUsIDUsIDIzMywgCi0gICAgMTExLCAzMCwgMjMzLCAxMTAsIDE1LCA1LCAyMzMsIDEwOCwgMTUsIDUsIDIzMywgMTA5LCAzMCwgMjMzLCAyMDIsIDE1LCA1LCAKLSAgICAyMzMsIDEwOSwgMzAsIDIzMywgMjAzLCA5NiwgMjIyLCAxNDIsIDE1LCA1LCAyMzIsIDI0NywgMTUsIDUsIDIzMiwgMjMyLCAKLSAgICAxNSwgNSwgMjMyLCAyMjIsIDE1LCA1LCAyMzIsIDIwMywgMTUsIDUsIDIzMiwgMTAzLCAxNSwgNSwgMjMyLCAxMDQsIDMwLCAKLSAgICAyNTIsIDE4NCwgMTUsIDUsIDIzMiwgMTAxLCAxNSwgNSwgMjMyLCAxMDIsIDMwLCAyNTQsIDE4NywgMTUsIDUsIDIzMiwgCi0gICAgMTAyLCAzMCwgMjUyLCAxODQsIDE1LCA1LCAyMzIsIDEwMiwgMzAsIDI0NSwgODAsIDE1LCA1LCAyMzIsIDEwMiwgMzAsIAotICAgIDI0NSwgODEsIDIxNiwgMjQwLCAxNSwgNSwgMjMyLCAxMDIsIDMwLCAyNDMsIDExMiwgMjE2LCAyNDAsIDE1LCA1LCAyMzIsIAotICAgIDEwMiwgMzAsIDI0MSwgMTg4LCAzMCwgMjUyLCAxODQsIDE1LCA1LCAyMzIsIDEwMiwgMzAsIDIzNiwgMjMsIDE1LCA1LCAKLSAgICAyMzIsIDEwMiwgMzAsIDIzNSwgNywgMTUsIDUsIDIzMiwgMTAyLCAzMCwgMjM1LCA1LCAxNSwgNSwgMjMyLCAxMDIsIDMwLCAKLSAgICAyMzUsIDYsIDk2LCAyNTMsIDIzOSwgMTUsIDUsIDIzMiwgMTAyLCAzMCwgMjM0LCA5OCwgMTUsIDUsIDIzMiwgMTAyLCAzMCwgCi0gICAgMjMzLCAxNDIsIDk2LCAyNTMsIDIzOSwgMTUsIDUsIDIzMiwgMTAyLCAzMCwgMjMzLCAxMjMsIDE1LCA1LCAyMzIsIDEwMiwgCi0gICAgMzAsIDIzMSwgOTcsIDk2LCAyNDUsIDE1OCwgMTUsIDUsIDIzMiwgMTAyLCAzMCwgMjI5LCAxMTIsIDE1LCA1LCAyMzIsIAotICAgIDEwMiwgMzAsIDIyNywgMjQyLCAxNSwgNSwgMjMyLCAxMDIsIDMwLCAyMTksIDE5NCwgOTYsIDI1MywgMjM5LCAxNSwgNSwgCi0gICAgMjMyLCAxMDIsIDMwLCAyMTksIDE3NiwgOTYsIDI1MSwgMTMzLCAxNSwgNSwgMjMyLCAxMDIsIDMwLCAyMTUsIDExNCwgMTUsIAotICAgIDUsIDIzMiwgMTAyLCAyMTYsIDI0MCwgMTUsIDUsIDIzMiwgMTAyLCAyNDksIDEzMywgMjMyLCAxMDEsIDE1LCA1LCAyMzIsIAotICAgIDEwMiwgMjI2LCAxNjgsIDIzMiwgMTAxLCAxNSwgNSwgMjMyLCAxMDIsIDIxOCwgMjM1LCAxNSwgNSwgMjMyLCAxMDIsIDIyMCwgCi0gICAgNDcsIDE1LCA1LCAyMzIsIDEwMCwgMTUsIDUsIDIzMiwgOTYsIDE1LCA1LCAyMzIsIDk3LCAxMTUsIDIzMiwgOTYsIDE1LCA1LCAKLSAgICAyMzIsIDk3LCAyMjYsIDE2OCwgMjMyLCA5NiwgMTUsIDUsIDIzMiwgOTcsIDIyMCwgNDcsIDE1LCA1LCAyMzIsIDk0LCAxNSwgCi0gICAgNSwgMjMyLCA5MSwgMTUsIDUsIDIzMiwgODksIDE1LCA1LCAyMzIsIDkwLCAxMTUsIDIzMiwgODksIDE1LCA1LCAyMzIsIDkwLCAKLSAgICAxMTUsIDIzMiwgOTAsIDI0MywgMTA0LCAxMTUsIDI0MywgMTAzLCAxNSwgNSwgMTg2LCAxNSwgNSwgMjMxLCAyNDQsIDMwLCAKLSAgICAyMTcsIDczLCAxNSwgNSwgMjMxLCAyNDQsIDI0MiwgMTAxLCAxNSwgNSwgMjMxLCAyNDMsIDE1LCA1LCAyMzEsIDIxNSwgMTUsIAotICAgIDUsIDIzMSwgMTcxLCAxNSwgNSwgMjMxLCAxNTIsIDE1LCA1LCAyMzEsIDE1MSwgMTUsIDUsIDIzMSwgOTYsIDE1LCA1LCAKLSAgICAyMzEsIDUyLCAxNSwgNSwgMjMwLCAyMzUsIDE1LCA1LCAyMzAsIDE5MywgMTUsIDUsIDIzMCwgMTA3LCAxNSwgNSwgMjMwLCAKLSAgICAxMDgsIDExNSwgMjMwLCAxMDcsIDE1LCA1LCAyMzAsIDk4LCAxNSwgNSwgMjMwLCA5OSwgMjQyLCAxMDEsIDE1LCA1LCAyMzAsIAotICAgIDgzLCAxNSwgNSwgMjMwLCA2OSwgMTUsIDUsIDIzMCwgNjYsIDE1LCA1LCAyMzAsIDY3LCAzMCwgNjEsIDE1LCA1LCAyMzAsIAotICAgIDY3LCAzMCwgMjMzLCAyMDIsIDE1LCA1LCAyMzAsIDY3LCAzMCwgMjEwLCAxMTYsIDE1LCA1LCAyMzAsIDY3LCAxMTUsIDIzMCwgCi0gICAgNjYsIDE1LCA1LCAyMzAsIDY3LCAxMTUsIDIzMCwgNjcsIDMwLCAxMTYsIDk2LCAxOTgsIDE1LCA1LCAyMzAsIDY3LCAyNDksIAotICAgIDEzMywgMjMwLCA2NiwgMTUsIDUsIDIzMCwgNjQsIDE1LCA1LCAyMzAsIDY1LCAzMCwgNjEsIDE1LCA1LCAyMzAsIDY1LCAzMCwgCi0gICAgMTE2LCA5NiwgMjQ4LCAxMSwgMTUsIDUsIDIzMCwgNjUsIDMwLCAyNDgsIDExLCAxNSwgNSwgMjMwLCA2NSwgMjQyLCAxMDEsIAotICAgIDE1LCA1LCAxOTgsIDE1LCA1LCAyMjksIDIzMiwgMTUsIDUsIDIyOSwgMjIxLCAxNSwgNSwgMjI5LCAyMjIsIDIzNSwgMTk5LCAKLSAgICAxNSwgNSwgMjI5LCAyMjIsIDMwLCAyMTksIDIyOCwgMjE2LCAyNDAsIDE1LCA1LCAyMjksIDIyMiwgMjI2LCAxNjgsIDIyOSwgCi0gICAgMjIxLCAxNSwgNSwgMjI5LCAyMjAsIDE1LCA1LCAyMjksIDIxMywgMjI3LCAxODQsIDE1LCA1LCAyMjksIDIxMiwgMTUsIDUsIAotICAgIDIyOSwgMjExLCAxNSwgNSwgMjI5LCAxMTIsIDE1LCA1LCAyMjksIDExMywgMzAsIDYxLCAxNSwgNSwgMjI5LCAxMTMsIDMwLCAKLSAgICAyMTQsIDIxOSwgMTUsIDUsIDIyOSwgMTEzLCAyMjAsIDQ3LCAxNSwgNSwgMjI4LCAyMzgsIDE1LCA1LCAyMjgsIDIzOSwgMzAsIAotICAgIDc2LCAxNSwgNSwgMjI4LCAyMzcsIDE1LCA1LCAyMjgsIDIwOCwgMTUsIDUsIDIyOCwgMjA5LCAzMCwgMjQzLCAxMTIsIDIxNiwgCi0gICAgMjQwLCAxNSwgNSwgMjI4LCAyMDksIDMwLCAyNDMsIDEwNCwgOTYsIDI0MywgMTEyLCAyMTYsIDI0MCwgMTUsIDUsIDIyOCwgCi0gICAgMjA2LCAxNSwgNSwgMjI4LCAyMDcsIDMwLCAyNTQsIDEzMSwgMTUsIDUsIDIyOCwgMjA3LCAzMCwgMjUzLCAyMzksIDE1LCA1LCAKLSAgICAyMjgsIDIwNywgMzAsIDI1MywgMjQwLCA5NiwgMjUzLCAyMzksIDE1LCA1LCAyMjgsIDIwNywgMzAsIDI0MiwgMTEwLCAxNSwgCi0gICAgNSwgMjI4LCAyMDcsIDMwLCAyMzEsIDk3LCA5NiwgMjQzLCAxMTIsIDIxNiwgMjQwLCAxNSwgNSwgMjI4LCAyMDcsIDMwLCAKLSAgICAyMjksIDExMiwgMTUsIDUsIDIyOCwgMjA3LCAzMCwgMjI3LCAxOTgsIDE1LCA1LCAyMjgsIDIwNywgMzAsIDIyMCwgNjUsIAotICAgIDE1LCA1LCAyMjgsIDIwNywgMzAsIDIyMCwgNjYsIDk2LCAxMTYsIDI1NCwgMTMxLCAxNSwgNSwgMjI4LCAyMDcsIDMwLCAKLSAgICAyMjAsIDY2LCA5NiwgMjUzLCAyMzksIDE1LCA1LCAyMjgsIDIwNywgMzAsIDIyMCwgNjYsIDk2LCAyNTMsIDI0MCwgOTYsIAotICAgIDI1MywgMjM5LCAxNSwgNSwgMjI4LCAyMDcsIDMwLCAyMTQsIDIzMSwgOTYsIDI1MywgMjM5LCAxNSwgNSwgMjI4LCAyMDcsIAotICAgIDMwLCAyMTQsIDEyNiwgMTUsIDUsIDIyOCwgMTk1LCAxNSwgNSwgMjI3LCAyNDIsIDE1LCA1LCAyMjcsIDIxNCwgMTUsIDUsIAotICAgIDIyNywgMTk4LCAxNSwgNSwgMjI3LCAxOTksIDIzMywgMTIyLCAzMCwgMjQzLCAxMDMsIDE1LCA1LCAyMjcsIDE5OSwgMjMzLCAKLSAgICAxMjIsIDMwLCAyMzEsIDE1MiwgMTUsIDUsIDIyNywgMTk5LCAyMzMsIDEyMiwgMzAsIDIyMiwgMTAsIDE1LCA1LCAyMjcsIAotICAgIDE5OSwgMjMzLCAxMjIsIDMwLCAyMjIsIDExLCAxMTUsIDIyNywgMTk5LCAyMzMsIDEyMiwgMzAsIDIyMiwgMTAsIDE1LCA1LCAKLSAgICAyMjcsIDE5OSwgMjMzLCAxMjIsIDMwLCAyMTQsIDEyNiwgMTUsIDUsIDIyNywgMTk5LCAyMTYsIDI0MCwgMTUsIDUsIDIyNywgCi0gICAgMTk5LCAxMTUsIDIyNywgMTk4LCAxNSwgNSwgMjI3LCAxOTksIDI0OSwgMTMzLCAyMjcsIDE5OCwgMTUsIDUsIDIyNywgMTk5LCAKLSAgICAyNDksIDEzMywgMjI3LCAxOTksIDIzMywgMTIyLCAxMTUsIDIzMywgMTIxLCAxNSwgNSwgMjI3LCAxOTMsIDE1LCA1LCAyMjcsIAotICAgIDE5NCwgMjU1LCAzMywgMzAsIDI1MywgMjM0LCAxNSwgNSwgMjI3LCAxOTQsIDI1NSwgMzMsIDMwLCAyNTIsIDE0LCAxNSwgNSwgCi0gICAgMjI3LCAxOTQsIDI1NSwgMzMsIDMwLCAyNDYsIDgyLCAxNSwgNSwgMjI3LCAxOTQsIDI1NSwgMzMsIDMwLCAyNDIsIDExMCwgCi0gICAgMTUsIDUsIDIyNywgMTk0LCAyNTUsIDMzLCAzMCwgMjM2LCA0MywgMjQyLCAxMDEsIDE1LCA1LCAyMjcsIDE5NCwgMjU1LCAKLSAgICAzMywgMzAsIDIzNSwgNSwgMTUsIDUsIDIyNywgMTk0LCAyNTUsIDMzLCAzMCwgMjMzLCAxNDEsIDE1LCA1LCAyMjcsIDE5NCwgCi0gICAgMjU1LCAzMywgMzAsIDIyOSwgMTEyLCAxNSwgNSwgMjI3LCAxOTQsIDI1NSwgMzMsIDMwLCAyMTksIDE3MywgMTUsIDUsIAotICAgIDIyNywgMTk0LCAyNTUsIDMzLCAzMCwgMjE0LCAyMzAsIDE1LCA1LCAyMjcsIDE5NCwgMjM0LCA3MiwgMzAsIDI1MiwgMTQsIAotICAgIDE1LCA1LCAyMjcsIDE5NCwgMjM0LCA3MiwgMzAsIDI1MiwgMTUsIDY5LCAxNSwgNSwgMTkxLCAxNSwgNSwgMjI2LCA4NCwgCi0gICAgMTUsIDUsIDIyNiwgNTEsIDE1LCA1LCAyMjYsIDI1LCAxNSwgNSwgMjI1LCAxNjQsIDE1LCA1LCAyMjUsIDExMSwgMTUsIDUsIAotICAgIDIyNSwgMTEyLCAzMCwgNjEsIDE1LCA1LCAyMjUsIDExMiwgMzAsIDI1NSwgMzQsIDE1LCA1LCAyMjUsIDExMiwgMzAsIDI1MiwgCi0gICAgMTQsIDE1LCA1LCAyMjUsIDExMiwgMzAsIDI1MSwgMTMzLCAxNSwgNSwgMjI1LCAxMTIsIDMwLCA3NiwgMTUsIDUsIDIyNSwgCi0gICAgMTEyLCAzMCwgNzQsIDE1LCA1LCAyMjUsIDExMiwgMzAsIDI0MCwgMTIyLCAxNSwgNSwgMjI1LCAxMTIsIDMwLCA2OSwgMTUsIAotICAgIDUsIDIyNSwgMTEyLCAzMCwgMjE0LCAyMzAsIDE1LCA1LCAyMjUsIDExMiwgMjQ5LCAxMzMsIDIyNSwgMTExLCAxNSwgNSwgCi0gICAgMjI1LCA1NiwgMTUsIDUsIDIyNSwgNTcsIDMwLCAyMzQsIDI0NCwgMTUsIDUsIDIyNSwgNTcsIDMwLCAyMTQsIDIxOSwgMTUsIAotICAgIDUsIDIyNSwgNTcsIDMwLCAyMTAsIDExNiwgMTUsIDUsIDIyNSwgNTcsIDIyNiwgMTY4LCAyMjUsIDU2LCAxNSwgNSwgMjA1LCAKLSAgICAxNSwgNSwgMjIzLCAxODUsIDE1LCA1LCAyMjMsIDM4LCAxNSwgNSwgMjIyLCAxNDIsIDE1LCA1LCAyMDYsIDE1LCA1LCAyMjIsIAotICAgIDI0LCAyMjcsIDE4NCwgMTUsIDUsIDIyMiwgMjMsIDE1LCA1LCAyMjIsIDI0LCAzMCwgNjEsIDE1LCA1LCAyMjIsIDI0LCAzMCwgCi0gICAgMjQ2LCA4NiwgMTUsIDUsIDIyMiwgMjQsIDMwLCAyNDYsIDg0LCAxNSwgNSwgMjIyLCAyNCwgMzAsIDE2MiwgMTUsIDUsIAotICAgIDIyMiwgMjQsIDMwLCAyMzQsIDI0OCwgMTUsIDUsIDIyMiwgMjQsIDMwLCAyMzMsIDIwMiwgMTUsIDUsIDIyMiwgMjQsIDMwLCAKLSAgICAyMzIsIDg5LCAxNSwgNSwgMjIyLCAyNCwgMzAsIDIzMCwgMjM1LCAxNSwgNSwgMjIyLCAyNCwgMzAsIDIyNywgMTk4LCAxNSwgCi0gICAgNSwgMjIyLCAyNCwgMzAsIDIyMiwgMTAsIDE1LCA1LCAyMjIsIDI0LCAzMCwgMjIwLCAzMiwgMTUsIDUsIDIyMiwgMjQsIDMwLCAKLSAgICAyMTcsIDk0LCAxNSwgNSwgMjIyLCAyNCwgMzAsIDIxNCwgMjMwLCAxNSwgNSwgMjIyLCAyNCwgMzAsIDIxNCwgMjI1LCAxNSwgCi0gICAgNSwgMjIyLCAyNCwgMzAsIDIxNCwgMTk3LCAxNSwgNSwgMjIyLCAyNCwgMzAsIDIxNCwgMTUwLCAxNSwgNSwgMjIyLCAyNCwgCi0gICAgMzAsIDIxNCwgMTI2LCAxNSwgNSwgMjIyLCAyNCwgMTE1LCAyMjIsIDIzLCAxNSwgNSwgMjIyLCAyNCwgMjQyLCAxMDEsIDE1LCAKLSAgICA1LCAyMjIsIDEwLCAxNSwgNSwgMjIyLCAxMSwgMjMzLCAxMjQsIDMwLCAyNTMsIDIzNywgMTUsIDUsIDIyMSwgMjQxLCAxNSwgCi0gICAgNSwgMjIxLCAyMzMsIDE1LCA1LCAyMjAsIDEwNCwgMTUsIDUsIDIyMCwgMTAyLCAxNSwgNSwgMjIwLCAxMDMsIDMwLCA2MSwgCi0gICAgMTUsIDUsIDIyMCwgMTAzLCAzMCwgMjUyLCAxODQsIDE1LCA1LCAyMjAsIDEwMywgMzAsIDI0MiwgMTk3LCAxNSwgNSwgMjIwLCAKLSAgICAxMDMsIDMwLCAyMjksIDExMiwgMTUsIDUsIDIyMCwgMTAzLCAzMCwgMjE5LCAyMjUsIDE1LCA1LCAyMjAsIDEwMywgMzAsIAotICAgIDIxNSwgOTksIDE1LCA1LCAyMjAsIDEwMywgMzAsIDY5LCAxNSwgNSwgMjIwLCAxMDMsIDMwLCAxMDQsIDk2LCA2MSwgMTUsIAotICAgIDUsIDIyMCwgMTAxLCAxNSwgNSwgMjIwLCA5OSwgMTUsIDUsIDIyMCwgODAsIDE1LCA1LCAyMjAsIDY1LCAxNSwgNSwgMjIwLCAKLSAgICA2NiwgMjQwLCAyMjksIDE1LCA1LCAyMjAsIDY2LCAxMTUsIDIyMCwgNjYsIDI0MywgMTM0LCAxMTUsIDI0MywgMTM0LCAyNDMsIAotICAgIDEwNCwgMTE1LCAyNDMsIDEwMywgMTUsIDUsIDIyMCwgNjYsIDExNSwgMjIwLCA2NiwgMjE3LCA5NSwgMTE1LCAyMTcsIDk1LCAKLSAgICAyNDMsIDEwNCwgMTE1LCAyNDMsIDEwMywgMTUsIDUsIDIyMCwgNTgsIDE1LCA1LCAyMjAsIDUzLCAxNSwgNSwgMjIwLCA1MCwgCi0gICAgMTUsIDUsIDIyMCwgNDksIDE1LCA1LCAyMjAsIDQ2LCAxNSwgNSwgMjIwLCAzMiwgMTUsIDUsIDIyMCwgMzMsIDMwLCA2MSwgCi0gICAgMTUsIDUsIDIyMCwgMzMsIDMwLCAyMzYsIDIzLCAxNSwgNSwgMjIwLCAyNiwgMTUsIDUsIDIyMCwgMjcsIDMwLCA2MSwgMTUsIAotICAgIDUsIDIyMCwgMjcsIDMwLCAyNTIsIDE2OSwgMTUsIDUsIDIyMCwgMjcsIDMwLCAyNTEsIDExNywgMTUsIDUsIDIyMCwgMjcsIAotICAgIDMwLCAyNDcsIDIxNCwgMTUsIDUsIDIyMCwgMjcsIDMwLCAyNDMsIDEwMywgMTUsIDUsIDIyMCwgMjcsIDMwLCAyMzYsIDQyLCAKLSAgICAxNSwgNSwgMjIwLCAyNywgMzAsIDIzNiwgNDMsIDI0MiwgMTAxLCAxNSwgNSwgMjIwLCAyNywgMzAsIDIzMywgMTk3LCAxNSwgCi0gICAgNSwgMjIwLCAyNywgMzAsIDIzMiwgOTEsIDE1LCA1LCAyMjAsIDI3LCAzMCwgMjMwLCA5OCwgMTUsIDUsIDIyMCwgMjcsIDMwLCAKLSAgICAyMjIsIDEwLCAxNSwgNSwgMjIwLCAyMCwgMTUsIDUsIDIyMCwgMTUsIDE1LCA1LCAyMjAsIDE2LCAyMTYsIDI0MCwgMTUsIDUsIAotICAgIDIyMCwgMTYsIDExNSwgMjIwLCAxNiwgMjUxLCAxMDcsIDExNSwgMjUxLCAxMDYsIDE1LCA1LCAyMjAsIDExLCAxNSwgNSwgCi0gICAgMjE5LCAyMjcsIDE1LCA1LCAyMTksIDIyOCwgMTE1LCAyMzUsIDIwMCwgMjE5LCAyMjcsIDE1LCA1LCAyMTksIDIyNSwgMTUsIAotICAgIDUsIDIxOSwgMjI0LCAxNSwgNSwgMjE5LCAxOTMsIDE1LCA1LCAyMTksIDE5NCwgMjQyLCAxMDEsIDE1LCA1LCAyMTksIDE4NCwgCi0gICAgMTUsIDUsIDIxOSwgMTgyLCAxNSwgNSwgMjE5LCAxODMsIDExNSwgMjE5LCAxODMsIDIxOSwgMjI1LCAxNSwgNSwgMjE5LCAKLSAgICAxNzUsIDE1LCA1LCAyMTksIDE3MywgMTUsIDUsIDIxOCwgODQsIDE1LCA1LCAyMTgsIDg1LCAxMTUsIDIxOCwgODQsIDE1LCAKLSAgICA1LCAyMTgsIDU1LCAxNSwgNSwgMjE4LCA1NCwgMTUsIDUsIDIxOCwgNTIsIDE1LCA1LCAyMTgsIDQ0LCAxNSwgNSwgMjE4LCAKLSAgICA0MywgMTUsIDUsIDIxOCwgMTgsIDE1LCA1LCAyMTgsIDE3LCAxNSwgNSwgMjE3LCAxMDYsIDE1LCA1LCAyMTcsIDEwNywgCi0gICAgMjUzLCAyMjQsIDE1LCA1LCAyMTcsIDEwNywgMzAsIDI0MSwgMTg3LCAxNSwgNSwgMjE3LCAxMDcsIDMwLCAyMzAsIDIzNSwgCi0gICAgMTUsIDUsIDIxNywgMTA3LCAyNDIsIDEwMSwgMTUsIDUsIDIxNywgOTQsIDE1LCA1LCAyMTcsIDk1LCAxMTUsIDIxNywgOTUsIAotICAgIDIyOCwgMjM5LCAxMTUsIDIyOCwgMjM5LCAyNDcsIDE5NiwgMTE1LCAyNDcsIDE5NSwgMTUsIDUsIDIxNywgOTUsIDIxOCwgCi0gICAgMjM1LCAxNSwgNSwgMjE3LCA4NSwgMTUsIDUsIDEyOSwgMzAsIDI1MiwgMTQsIDE1LCA1LCAxMjksIDMwLCAyNDIsIDExMCwgCi0gICAgMTUsIDUsIDEyOSwgMzAsIDIyMCwgNjUsIDE1LCA1LCAxMjksIDMwLCAyMTksIDIyNywgMTUsIDUsIDEyOSwgMzAsIDIxNSwgCi0gICAgMTE0LCAxNSwgNSwgMTI5LCAzMCwgMjE0LCAyMTksIDE1LCA1LCAyMTcsIDczLCAxNSwgNSwgMjE3LCA1MSwgMTUsIDUsIAotICAgIDIxNywgMjMsIDE1LCA1LCAyMTcsIDI0LCAyNDIsIDEwMSwgMTUsIDUsIDIxNiwgMTE4LCAxNSwgNSwgMjE2LCAxMTksIDIxNiwgCi0gICAgMjQwLCAxNSwgNSwgMjE2LCA5MSwgMTUsIDUsIDIxNiwgNzMsIDE1LCA1LCAyMTYsIDc0LCAzMCwgMjE3LCA3MywgMTUsIDUsIAotICAgIDIxNiwgNzQsIDExNSwgMjE2LCA3MywgMTUsIDUsIDIxNiwgNzQsIDExNSwgMjE2LCA3NCwgMjQzLCAxMzQsIDExNSwgMjQzLCAKLSAgICAxMzQsIDI0MywgMTA0LCAxMTUsIDI0MywgMTAzLCAxNSwgNSwgMjE1LCAxMTksIDE1LCA1LCAyMTUsIDExNCwgMTUsIDUsIAotICAgIDIxNSwgMTEyLCAxNSwgNSwgMjE1LCAxMDksIDE1LCA1LCAyMTUsIDk5LCAxNSwgNSwgMjE1LCAxMDAsIDExNSwgMjE1LCAKLSAgICAxMDAsIDIxMCwgMTE3LCAxMTUsIDIxMCwgMTE2LCAxNSwgNSwgNjksIDE1LCA1LCAxMDQsIDI0MiwgMTEwLCAxNSwgNSwgCi0gICAgMTA0LCAxMDQsIDY5LCAxNSwgNSwgMTA0LCAxMTUsIDEwNCwgMjI2LCA5NCwgMTE1LCAyMjYsIDk0LCAyNDMsIDEwNCwgMTE1LCAKLSAgICAyNDMsIDEwMywgMTUsIDUsIDEwNCwgMTE1LCAxMDQsIDIxOCwgMTksIDExNSwgMjE4LCAxOCwgMTUsIDUsIDEwNCwgMTE1LCAKLSAgICAxMDQsIDEwNCwgMjIzLCA1MiwgMTE1LCAxMDQsIDIyMywgNTEsIDE1LCA1LCAyMTQsIDIzMCwgMTUsIDUsIDIxNCwgMjI1LCAKLSAgICAxNSwgNSwgMjE0LCAyMTksIDE1LCA1LCAyMTQsIDIyMCwgMjMzLCAxOTcsIDE1LCA1LCAyMTQsIDIyMCwgMzAsIDI1MiwgCi0gICAgMTg0LCAxNSwgNSwgMjE0LCAyMjAsIDMwLCAyMzAsIDIzNSwgMTUsIDUsIDIxNCwgMjIwLCAzMCwgMTA0LCA5NiwgMTA0LCAKLSAgICA5NiwgNjksIDE1LCA1LCAyMTQsIDIyMCwgMzAsIDEwNCwgOTYsIDEwNCwgOTYsIDEwNCwgMjQyLCAxMDEsIDE1LCA1LCAyMTQsIAotICAgIDIyMCwgMjQyLCAxMDEsIDE1LCA1LCAyMTQsIDIyMCwgMjIwLCA0NywgMTUsIDUsIDIxNCwgMjIwLCAyMjAsIDQ4LCAzMCwgCi0gICAgMjUyLCAxODQsIDE1LCA1LCAyMTQsIDIxNSwgMTUsIDUsIDIxNCwgMTk3LCAxNSwgNSwgMjE0LCAxOTgsIDMwLCAyMzMsIAotICAgIDEyMywgMTUsIDUsIDIxNCwgMTk4LCAzMCwgMjMxLCA5NywgOTYsIDI0OCwgMjI5LCAxNSwgNSwgMjE0LCAxOTgsIDMwLCAKLSAgICAyMjAsIDEwMiwgMTUsIDUsIDIxNCwgMTk4LCAzMCwgNjksIDE1LCA1LCAyMTQsIDE5NiwgMTUsIDUsIDIxNCwgMTkyLCAxNSwgCi0gICAgNSwgMjE0LCAxOTMsIDMwLCAyMzQsIDIxMywgMTUsIDUsIDIxNCwgMTkzLCAzMCwgMTkxLCAxNSwgNSwgMjE0LCAxOTAsIDE1LCAKLSAgICA1LCAyMTQsIDE5MSwgMjQyLCAxMDEsIDE1LCA1LCAyMTQsIDE1MCwgMTUsIDUsIDIxNCwgMTUxLCAyNDksIDEzMywgMjE0LCAKLSAgICAxNTAsIDE1LCA1LCAyMTQsIDE1MSwgMjIwLCA0NywgMTUsIDUsIDIxNCwgMTQ4LCAxNSwgNSwgMjE0LCAxNDksIDMwLCAxMTYsIAotICAgIDk2LCAxNjIsIDE1LCA1LCAyMTQsIDE0OSwgMzAsIDExNiwgOTYsIDE5OCwgMTUsIDUsIDIxNCwgMTQ5LCAzMCwgMjU0LCAKLSAgICAxODcsIDE1LCA1LCAyMTQsIDE0OSwgMzAsIDE2MiwgMTUsIDUsIDIxNCwgMTQ5LCAzMCwgMjI3LCAxOTgsIDE1LCA1LCAyMTQsIAotICAgIDE0OSwgMzAsIDIxNCwgMjMwLCAxNSwgNSwgMjE0LCAxNDksIDMwLCAyMTQsIDIzMSwgOTYsIDI1MywgMjM5LCAxNSwgNSwgCi0gICAgMjE0LCAxNDksIDMwLCAyMTQsIDIzMSwgOTYsIDI1MiwgMTQsIDE1LCA1LCAyMTQsIDE0NywgMTUsIDUsIDIxNCwgMTQ0LCAKLSAgICAxNSwgNSwgMjE0LCAxNDMsIDE1LCA1LCAyMTQsIDEzOSwgMTUsIDUsIDIxNCwgMTQwLCAzMCwgNjEsIDE1LCA1LCAyMTQsIAotICAgIDE0MCwgMzAsIDI1MywgMjM0LCAxNSwgNSwgMjE0LCAxNDAsIDMwLCAxMzAsIDE1LCA1LCAyMTQsIDE0MCwgMzAsIDI0NiwgCi0gICAgNzYsIDE1LCA1LCAyMTQsIDE0MCwgMzAsIDI0MywgMTQyLCAxNSwgNSwgMjE0LCAxNDAsIDMwLCAyNDMsIDEyNSwgMTUsIDUsIAotICAgIDIxNCwgMTQwLCAzMCwgMjQzLCAxMTIsIDIxNiwgMjQwLCAxNSwgNSwgMjE0LCAxNDAsIDMwLCAyNDMsIDEwMywgMTUsIDUsIAotICAgIDIxNCwgMTQwLCAzMCwgMjQyLCAxMjAsIDE1LCA1LCAyMTQsIDE0MCwgMzAsIDE2MiwgMTUsIDUsIDIxNCwgMTQwLCAzMCwgCi0gICAgMjM2LCA0MiwgMTUsIDUsIDIxNCwgMTQwLCAzMCwgMjM2LCAyMywgMTUsIDUsIDIxNCwgMTQwLCAzMCwgMjM1LCAxNzIsIDE1LCAKLSAgICA1LCAyMTQsIDE0MCwgMzAsIDIzNCwgOTgsIDE1LCA1LCAyMTQsIDE0MCwgMzAsIDIzMiwgODksIDE1LCA1LCAyMTQsIDE0MCwgCi0gICAgMzAsIDIzMCwgMTkzLCAxNSwgNSwgMjE0LCAxNDAsIDMwLCAxOTEsIDE1LCA1LCAyMTQsIDE0MCwgMzAsIDIyMCwgNjUsIDE1LCAKLSAgICA1LCAyMTQsIDE0MCwgMzAsIDIxOSwgMTgyLCAxNSwgNSwgMjE0LCAxNDAsIDMwLCAyMTUsIDExOSwgMTUsIDUsIDIxNCwgCi0gICAgMTQwLCAzMCwgMTA0LCA5NiwgMjQyLCAxMTAsIDE1LCA1LCAyMTQsIDE0MCwgMzAsIDIxNCwgMjE5LCAxNSwgNSwgMjE0LCAKLSAgICAxNDAsIDMwLCAyMTQsIDEzNywgMTUsIDUsIDIxNCwgMTM3LCAxNSwgNSwgMjE0LCAxMzgsIDMwLCA2OSwgMTUsIDUsIDIxNCwgCi0gICAgMTI2LCAxNSwgNSwgMjE0LCAxMjcsIDMwLCA2MSwgMTUsIDUsIDIxNCwgMTI3LCAzMCwgMjMzLCAyMjMsIDE1LCA1LCAyMTQsIAotICAgIDEyNywgMzAsIDIzMywgMjAyLCAxNSwgNSwgMjE0LCAxMjcsIDMwLCAyMTcsIDczLCAxNSwgNSwgMjE0LCAxMjIsIDE1LCA1LCAKLSAgICAyMTQsIDEyNSwgMTUsIDUsIDIxNCwgMTIzLCAxNSwgNSwgMjE0LCAxMTksIDE1LCA1LCAyMTQsIDEwOCwgMTUsIDUsIDIxNCwgCi0gICAgMTA5LCAzMCwgMjM0LCAyMTMsIDE1LCA1LCAyMTQsIDEwNywgMTUsIDUsIDIxMCwgMTE2LCAxNSwgNSwgMjEwLCAxMTcsIAotICAgIDIxNiwgMjQwLCAxNSwgNSwgMjEwLCAxMTcsIDkyLCAzMCwgMjMzLCAyMDIsIDE1LCA1LCAyMTAsIDExMywgMTUsIDUsIDIxMCwgCi0gICAgMTA2LCAxNSwgNSwgMjEwLCA5MywgMTUsIDUsIDIxMCwgNDQsIDE1LCA1LCAyMTAsIDQ1LCAxMTUsIDIxMCwgNDQsIDE1LCA1LCAKLSAgICAyMTAsIDQzLCAxNSwgNSwgMjEwLCA0MSwgMTUsIDUsIDIxMCwgNDIsIDIzNSwgOSwgMjE2LCAyNDAsIDE1LCA1LCAyMTAsIAotICAgIDM2LCAxNSwgNSwgMjEwLCAyOCwgMTUsIDUsIDIxMCwgMTMsIDE1LCA1LCAyMTAsIDExLCAxNSwgNSwgMjEwLCAxMiwgMzAsIAotICAgIDYxLCAxNSwgNSwgMjEwLCAxMCwgMTUsIDUsIDIxMCwgOSwgMTUsIDEzMiwgNSwgMTEzLCAyNTMsIDIzOSwgMTUsIDEzMiwgNSwgCi0gICAgMTM0LCAyNTMsIDIzOSwgMTUsIDEzMiwgNSwgMjQ0LCAxOSwgMjUzLCAyMzksIDE1LCAxMzIsIDUsIDI0NCwgODksIDI1MywgCi0gICAgMjM5LCAxNSwgMTMyLCA1LCAyMTksIDEyNywgMjUzLCAyMzksIDE1LCAxMzIsIDUsIDIyMCwgMTI0LCAyNTMsIDIzOSwgMTUsIAotICAgIDEzMiwgNSwgMjQ1LCAyMDEsIDI1MywgMjM5LCAxNSwgMTMyLCA1LCAyMjgsIDIwNSwgMjUzLCAyMzksIDE1LCAxMzIsIDUsIAotICAgIDEzNCwgMjQ3LCAxOTUsIDE1LCAxMzIsIDUsIDI0NCwgMTksIDI0NywgMTk1LCAxNSwgMTMyLCA1LCAyNDQsIDg5LCAyNDcsIAotICAgIDE5NSwgMTUsIDEzMiwgNSwgMjE5LCAxMjcsIDI0NywgMTk1LCAxNSwgMTMyLCA1LCAyMjAsIDEyNCwgMjQ3LCAxOTUsIDE1LCAKLSAgICAxMzIsIDUsIDI0NSwgMjAxLCAyNDcsIDE5NSwgMTUsIDEzMiwgNSwgMjI4LCAyMDUsIDI0NywgMTk1LCAxNSwgMTMyLCA1LCAKLSAgICAyNDQsIDE5LCA2OSwgMTUsIDEzMiwgNSwgMjQ0LCA4OSwgNjksIDE1LCAxMzIsIDUsIDIxOSwgMTI3LCA2OSwgMTUsIDEzMiwgCi0gICAgNSwgMjIwLCAxMjQsIDY5LCAxNSwgMTMyLCA1LCAyNDUsIDIwMSwgNjksIDE1LCAxMzIsIDUsIDIyOCwgMjA1LCA2OSwgMTUsIAotICAgIDEzMiwgNSwgMTIzLCAyNDMsIDQ1LCAxNSwgMTMyLCA1LCAxMTMsIDI0MywgNDUsIDE1LCAxMzIsIDUsIDEzNCwgMjQzLCA0NSwgCi0gICAgMTUsIDEzMiwgNSwgMjQ0LCAxOSwgMjQzLCA0NSwgMTUsIDEzMiwgNSwgMjQ0LCA4OSwgMjQzLCA0NSwgMTUsIDEzMiwgNSwgCi0gICAgMjE5LCAxMjcsIDI0MywgNDUsIDE1LCAxMzIsIDUsIDIyMCwgMTI0LCAyNDMsIDQ1LCAxNSwgMTMyLCA1LCAyNDUsIDIwMSwgCi0gICAgMjQzLCA0NSwgMTUsIDEzMiwgNSwgMjI4LCAyMDUsIDI0MywgNDUsIDE1LCAxMzIsIDUsIDEyMywgMjQzLCA0MiwgMTUsIAotICAgIDEzMiwgNSwgMTEzLCAyNDMsIDQyLCAxNSwgMTMyLCA1LCAxMzQsIDI0MywgNDIsIDE1LCAxMzIsIDUsIDI0NCwgMTksIDI0MywgCi0gICAgNDIsIDE1LCAxMzIsIDUsIDI0NCwgODksIDI0MywgNDIsIDE1LCAxMzIsIDUsIDExMywgMjIwLCA4MCwgMTUsIDEzMiwgNSwgCi0gICAgMTM0LCAyMjAsIDgwLCAxNSwgMTMyLCA1LCAxMzQsIDIyMCwgODEsIDIxNCwgMTIsIDE3LCAxNSwgMTMyLCA1LCAyNDQsIDE5LCAKLSAgICAyMjAsIDgwLCAxNSwgMTMyLCA1LCAyNDQsIDg5LCAyMjAsIDgwLCAxNSwgMTMyLCA1LCAyMTksIDEyNywgMjIwLCA4MCwgMTUsIAotICAgIDEzMiwgNSwgMjIwLCAxMjQsIDIyMCwgODAsIDE1LCAxMzIsIDUsIDI0NSwgMjAxLCAyMjAsIDgwLCAxNSwgMTMyLCA1LCAKLSAgICAyMjgsIDIwNSwgMjIwLCA4MCwgMTUsIDEzMiwgNSwgMTIzLCAyMjAsIDc1LCAxNSwgMTMyLCA1LCAxMTMsIDIyMCwgNzUsIAotICAgIDE1LCAxMzIsIDUsIDEzNCwgMjIwLCA3NSwgMTUsIDEzMiwgNSwgMTM0LCAyMjAsIDc2LCAyMTQsIDEyLCAxNywgMTUsIDEzMiwgCi0gICAgNSwgMjQ0LCAxOSwgMjIwLCA3NSwgMTUsIDEzMiwgNSwgMjQ0LCA4OSwgMjIwLCA3NSwgMTUsIDEzMiwgNSwgMjIwLCA4MSwgCi0gICAgMzAsIDI0MywgMTI2LCA5NiwgMjQ3LCAxOTUsIDE1LCAxMzIsIDUsIDIyMCwgODEsIDMwLCAyNDMsIDEyNiwgOTYsIDIzMCwgCi0gICAgMTkzLCAxNSwgMTMyLCA1LCAxMjMsIDI1MSwgMTAzLCAxNSwgMTMyLCA1LCAxMTMsIDI1MSwgMTAzLCAxNSwgMTMyLCA1LCAKLSAgICAxMzQsIDI1MSwgMTAzLCAxNSwgMTMyLCA1LCAxMzQsIDI1MSwgMTA0LCAyMTQsIDEyLCAxNywgMTUsIDEzMiwgNSwgMjQ0LCAKLSAgICAxOSwgMjUxLCAxMDMsIDE1LCAxMzIsIDUsIDI0NCwgODksIDI1MSwgMTAzLCAxNSwgMTMyLCA1LCAxMzQsIDIxNCwgMTIsIAotICAgIDI0NCwgMjgsIDI0NSwgODIsIDE1LCAxMzIsIDUsIDEzNCwgMjE0LCAxMiwgMjQ0LCAyOCwgMjQ1LCA3OSwgMTUsIDEzMiwgNSwgCi0gICAgMjQ0LCAxOSwgMjE0LCAxMiwgMjQ0LCAyOCwgMjMyLCAyMjMsIDE1LCAxMzIsIDUsIDI0NCwgMTksIDIxNCwgMTIsIDI0NCwgCi0gICAgMjgsIDIzMiwgMjIxLCAxNSwgMTMyLCA1LCAyNDQsIDE5LCAyMTQsIDEyLCAyNDQsIDI4LCAyMzIsIDIyNCwgNjEsIDE1LCAKLSAgICAxMzIsIDUsIDI0NCwgMTksIDIxNCwgMTIsIDI0NCwgMjgsIDIzMiwgMjI0LCAyNTMsIDE2NiwgMTUsIDEzMiwgNSwgMjE5LCAKLSAgICAxMjcsIDIxNCwgMTIsIDI0NCwgMjgsIDI1MywgMjM2LCAxNSwgMTMyLCA1LCAyMjAsIDEyNCwgMjE0LCAxMiwgMjQ0LCAyOCwgCi0gICAgMjM2LCAxNSwgMTUsIDEzMiwgNSwgMjIwLCAxMjQsIDIxNCwgMTIsIDI0NCwgMjgsIDIzNiwgMTcsIDYxLCAxNSwgMTMyLCA1LCAKLSAgICAyMjAsIDEyNCwgMjE0LCAxMiwgMjQ0LCAyOCwgMjM2LCAxNywgMjUzLCAxNjYsIDE1LCAxMzIsIDUsIDI0NSwgMjAxLCAyMTQsIAotICAgIDEyLCAyNDQsIDI4LCAyMTQsIDEyMSwgMTUsIDEzMiwgNSwgMjQ1LCAyMDEsIDIxNCwgMTIsIDI0NCwgMjgsIDIxNCwgMTIwLCAKLSAgICAxNSwgMTMyLCA1LCAyMjgsIDIwNSwgMjE0LCAxMiwgMjQ0LCAyOCwgMjM2LCAzMSwgMTUsIDEzMiwgNSwgMjI4LCAyMDUsIAotICAgIDIxNCwgMTIsIDI0NCwgMjgsIDIzNiwgMzAsIDE1LCAxMzIsIDUsIDIyOCwgMjA1LCAyMTQsIDEyLCAyNDQsIDI4LCAyMzYsIAotICAgIDI5LCAxNSwgMTMyLCA1LCAyMjgsIDIwNSwgMjE0LCAxMiwgMjQ0LCAyOCwgMjM2LCAzMiwgNjEsIDE1LCAxMzIsIDUsIDExMywgCi0gICAgMjUzLCAyNDAsIDIxNiwgMjQwLCAxNSwgMTMyLCA1LCAxMzQsIDI1MywgMjQwLCAyMTYsIDI0MCwgMTUsIDEzMiwgNSwgMjQ0LCAKLSAgICAxOSwgMjUzLCAyNDAsIDIxNiwgMjQwLCAxNSwgMTMyLCA1LCAyNDQsIDg5LCAyNTMsIDI0MCwgMjE2LCAyNDAsIDE1LCAxMzIsIAotICAgIDUsIDIxOSwgMTI3LCAyNTMsIDI0MCwgMjE2LCAyNDAsIDE1LCAxMzIsIDUsIDEyMywgMjUyLCAxNTgsIDE1LCAxMzIsIDUsIAotICAgIDExMywgMjUyLCAxNTgsIDE1LCAxMzIsIDUsIDEzNCwgMjUyLCAxNTgsIDE1LCAxMzIsIDUsIDI0NCwgMTksIDI1MiwgMTU4LCAKLSAgICAxNSwgMTMyLCA1LCAyNDQsIDE5LCAyNTIsIDE1OSwgMjE0LCAxMiwgMTcsIDE1LCAxMzIsIDUsIDI0NCwgODksIDI1MiwgCi0gICAgMTU4LCAxNSwgMTMyLCA1LCAyNDQsIDg5LCAyNTIsIDE1OSwgMjE0LCAxMiwgMTcsIDE1LCAxMzIsIDUsIDIyOCwgMjE1LCAKLSAgICAxNSwgMTMyLCA1LCAyMjgsIDIxNiwgMTUsIDEzMiwgNSwgMTIzLCAyNDUsIDc4LCAxNSwgMTMyLCA1LCAxMTMsIDI0NSwgNzgsIAotICAgIDE1LCAxMzIsIDUsIDEyMywgMjE2LCAxNzAsIDI0NywgMTk1LCAxNSwgMTMyLCA1LCAxMTMsIDIxNiwgMTY4LCAyNDcsIDE5NSwgCi0gICAgMTUsIDEzMiwgNSwgMjQ0LCA4OSwgMjE5LCAxMTYsIDI0NywgMTk1LCAxNSwgMTMyLCA1LCAxMjMsIDIxNiwgMTcwLCAyMTQsIAotICAgIDEyLCAyNDQsIDI4LCA2MSwgMTUsIDEzMiwgNSwgMTEzLCAyMTYsIDE2OCwgMjE0LCAxMiwgMjQ0LCAyOCwgNjEsIDE1LCAKLSAgICAxMzIsIDUsIDEyMywgMjQ1LCAxOTcsIDI1MywgMjM5LCAxNSwgMTMyLCA1LCAxMjMsIDIyNCwgMjUsIDI1MywgMjM5LCAxNSwgCi0gICAgMTMyLCA1LCA1NSwgMjUzLCAyMjcsIDEyMywgMjE5LCAxMTcsIDE1LCAxMzIsIDUsIDU1LCAyNTMsIDIyNywgMTIzLCAyMjQsIAotICAgIDI0LCAxNSwgMjI0LCAxNDQsIDUsIDU1LCAyNTMsIDIyNywgMjExLCAyMDksIDI0NywgMTgwLCAxNSwgMjI0LCAxNDQsIDUsIAotICAgIDY3LCAyNDksIDIzNCwgMTUsIDIyNCwgMTQ0LCA1LCAyNDgsIDcsIDI0OSwgMjM0LCAxNSwgMjI0LCAxNDQsIDUsIDI0OCwgNywgCi0gICAgMjE1LCAyMjIsIDEyLCAxMywgMjU1LCAxNjQsIDEyLCAxMywgMjU1LCAxNjMsIDEyLCAxMywgMjU1LCAxNjIsIDEyLCAxMywgCi0gICAgMjU1LCAxNjEsIDEyLCAxMywgMjU1LCAxNjAsIDEyLCAxMywgMjU1LCAxNTksIDEyLCAxMywgMjU1LCAxNTgsIDEyLCAxMywgCi0gICAgMjU1LCAxNTcsIDEyLCAxMywgMjU1LCAxNTYsIDEyLCAxMywgMjU1LCAxNTUsIDEyLCAxMywgMjU1LCAxNTQsIDEyLCAxMywgCi0gICAgMjU1LCAxNTMsIDEyLCAxMywgMjU1LCAxNTIsIDEyLCAxMywgMjU1LCAxNTEsIDEyLCAxMywgMjU1LCAxNTAsIDEyLCAxMywgCi0gICAgMjU1LCAxNDksIDEyLCAxMywgMjU1LCAxNDgsIDEyLCAxMywgMjU1LCAxNDcsIDEyLCAxMywgMjU1LCAxNDYsIDEyLCAxMywgCi0gICAgMjU1LCAxNDUsIDEyLCAxMywgMjU1LCAxNDQsIDEyLCAxMywgMjU1LCAxNDMsIDEyLCAxMywgMjU1LCAxNDIsIDEyLCAxMywgCi0gICAgMjU1LCAxNDEsIDEyLCAxMywgMjU1LCAxNDAsIDEyLCAxMywgMjU1LCAxMzksIDEyLCAxMywgMjU1LCAxMzgsIDEyLCAxMywgCi0gICAgMjU1LCAxMzcsIDEyLCAxMywgMjU1LCAxMzYsIDEyLCAxMywgMjU1LCAxMzUsIDEyLCAxMywgMjU1LCAxMzQsIDEyLCAxMywgCi0gICAgMjU1LCAxMzMsIDEyLCAxMywgMjU1LCAxMzIsIDEyLCAxMywgMjU1LCAxMzEsIDEyLCAxMywgMjU1LCAxMzAsIDEyLCAxMywgCi0gICAgMjU1LCAxMjksIDEyLCAxMywgMjU1LCAxMjgsIDEyLCAxMywgMjU1LCAxMjcsIDEyLCAxMywgMjU1LCAxMjYsIDEyLCAxMywgCi0gICAgMjU1LCAxMjUsIDEyLCAxMywgMjU1LCAxMjQsIDEyLCAxMywgMjU1LCAxMjMsIDEyLCAxMywgMjU1LCAxMjIsIDEyLCAxMywgCi0gICAgMjU1LCAxMjEsIDEyLCAxMywgMjU1LCAxMjAsIDEyLCAxMywgMjU1LCAxMTksIDEyLCAxMywgMjU1LCAxMTgsIDEyLCAxMywgCi0gICAgMjU1LCAxMTcsIDEyLCAxMywgMjU1LCAxMTYsIDEyLCAxMywgMjU1LCAxMTUsIDEyLCAxMywgMjU1LCAxMTQsIDEyLCAxMywgCi0gICAgMjU1LCAxMTMsIDEyLCAxMywgMjU1LCAxMTIsIDEyLCAxMywgMjU1LCAxMTEsIDEyLCAxMywgMjU1LCAxMTAsIDEyLCAxMywgCi0gICAgMjU1LCAxMDksIDEyLCAxMywgMjU1LCAxMDgsIDEyLCAxMywgMjU1LCAxMDcsIDEyLCAxMywgMjU1LCAxMDYsIDEyLCAxMywgCi0gICAgMjU1LCAxMDUsIDEyLCAxMywgMjU1LCAxMDQsIDEyLCAxMywgMjU1LCAxMDMsIDEyLCAxMywgMjU1LCAxMDIsIDEyLCAxMywgCi0gICAgMjU1LCAxMDEsIDEyLCAxMywgMjU1LCAxMDAsIDEyLCAxMywgMjU1LCA5OSwgMTIsIDEzLCAyNTUsIDk4LCAxMiwgMTMsIAotICAgIDI1NSwgOTcsIDEyLCAxMywgMjU1LCA5NiwgMTIsIDEzLCAyNTUsIDk1LCAxMiwgMTMsIDI1NSwgOTQsIDEyLCAxMywgMjU1LCAKLSAgICA5MywgMTIsIDEzLCAyNTUsIDkyLCAxMiwgMTMsIDI1NSwgOTEsIDEyLCAxMywgMjU1LCA5MCwgMTIsIDEzLCAyNTUsIDg5LCAKLSAgICAxMiwgMTMsIDI1NSwgODgsIDEyLCAxMywgMjU1LCA4NywgMTIsIDEzLCAyNTUsIDg2LCAxMiwgMTMsIDI1NSwgODUsIDEyLCAKLSAgICAxMywgMjUzLCAxNjQsIDEyLCAxMywgMjUzLCAxNjIsIDEyLCAxMywgMjUzLCAxNjAsIDEyLCAxMywgMjUzLCAxNTgsIDEyLCAKLSAgICAxMywgMjUzLCAxNTYsIDEyLCAxMywgMjUzLCAxNTUsIDEyLCAxMywgMjUzLCAxNTMsIDEyLCAxMywgMjUzLCAxNTEsIDEyLCAKLSAgICAxMywgMjUzLCAxNDksIDEyLCAxMywgMjUzLCAxNDcsIDEyLCAxMywgMjUxLCA3MCwgMTIsIDEzLCAyNTEsIDY5LCAxMiwgMTMsIAotICAgIDI1MSwgNjgsIDEyLCAxMywgMjUxLCA2NywgMTIsIDEzLCAyNTEsIDY2LCAxMiwgMTMsIDI1MSwgNjUsIDEyLCAxMywgMjUxLCAKLSAgICA2NCwgMTIsIDEzLCAyNTEsIDYzLCAxMiwgMTMsIDI1MSwgNjIsIDEyLCAxMywgMjUxLCA2MSwgMTIsIDEzLCAyNTEsIDYwLCAKLSAgICAxMiwgMTMsIDI1MSwgNTksIDEyLCAxMywgMjUxLCA1OCwgMTIsIDEzLCAyNTEsIDU3LCAxMiwgMTMsIDI1MSwgNTYsIDEyLCAKLSAgICAxMywgMjUxLCA1NSwgMTIsIDEzLCAyNTEsIDU0LCAxMiwgMTMsIDI1MSwgNTMsIDEyLCAxMywgMjUxLCA1MiwgMTIsIDEzLCAKLSAgICAyNTEsIDUxLCAxMiwgMTMsIDI1MSwgNTAsIDEyLCAxMywgMjUxLCA0OSwgMTIsIDEzLCAyNTEsIDQ4LCAxMiwgMTMsIDI1MSwgCi0gICAgNDcsIDEyLCAxMywgMjUxLCA0NiwgMTIsIDEzLCAyNTEsIDQ1LCAxMiwgMTMsIDI1MSwgNDQsIDEyLCAxMywgMjUxLCA0MywgCi0gICAgMTIsIDEzLCAyNDksIDY3LCAxMiwgMTMsIDI0OSwgNjYsIDEyLCAxMywgMjQ5LCA2NSwgMTIsIDEzLCAyNDksIDY0LCAxMiwgCi0gICAgMTMsIDI0OSwgNjMsIDEyLCAxMywgMjQ5LCA2MiwgMTIsIDEzLCAyNDksIDYxLCAxMiwgMTMsIDI0OSwgNjAsIDEyLCAxMywgCi0gICAgMjQ5LCA1OSwgMTIsIDEzLCAyNDksIDU4LCAxMiwgMTMsIDI0OSwgNTcsIDEyLCAxMywgMjQ5LCA1NiwgMTIsIDEzLCAyNDksIAotICAgIDU1LCAxMiwgMTMsIDI0OSwgNTQsIDEyLCAxMywgMjQ5LCA1MywgMTIsIDEzLCAyNDksIDUyLCAxMiwgMTMsIDI0OSwgNTEsIAotICAgIDEyLCAxMywgMjQ5LCA1MCwgMTIsIDEzLCAyNDksIDQ5LCAxMiwgMTMsIDI0OSwgNDgsIDEyLCAxMywgMjQ5LCA0NywgMTIsIAotICAgIDEzLCAyNDksIDQ2LCAxMiwgMTMsIDI0OSwgNDUsIDEyLCAxMywgMjQ5LCA0NCwgMTIsIDEzLCAyNDksIDQzLCAxMiwgMTMsIAotICAgIDI0OSwgNDIsIDEyLCAxMywgMjQ5LCA0MSwgMTIsIDEzLCAyNDksIDQwLCAxMiwgMTMsIDI0OSwgMzksIDEyLCAxMywgMjQ5LCAKLSAgICAzOCwgMTIsIDEzLCAyNDksIDM3LCAxMiwgMTMsIDI0OSwgMzYsIDEyLCAxMywgMjQ5LCAzNSwgMTIsIDEzLCAyNDksIDM0LCAKLSAgICAxMiwgMTMsIDI0OSwgMzMsIDEyLCAxMywgMjQ5LCAzMiwgMTIsIDEzLCAyNDksIDMxLCAxMiwgMTMsIDI0OSwgMzAsIDEyLCAKLSAgICAxMywgMjQ5LCAyOSwgMTIsIDEzLCAyNDksIDI4LCAxMiwgMTMsIDI0OSwgMjcsIDEyLCAxMywgMjQ5LCAyNiwgMTIsIDEzLCAKLSAgICAyNDksIDI1LCAxMiwgMTMsIDI0OSwgMjQsIDEyLCAxMywgMjQ5LCAyMywgMTIsIDEzLCAyNDksIDIyLCAxMiwgMTMsIDI0OSwgCi0gICAgMjEsIDEyLCAxMywgMjQ5LCAyMCwgMTIsIDEzLCAyNDksIDE5LCAxMiwgMTMsIDI0OSwgMTgsIDEyLCAxMywgMjQ5LCAxNywgCi0gICAgMTIsIDEzLCAyNDksIDE2LCAxMiwgMTMsIDI0OSwgMTUsIDEyLCAxMywgMjQ5LCAxNCwgMTIsIDEzLCAyNDksIDEzLCAxMiwgCi0gICAgMTMsIDI0OSwgMTIsIDEyLCAxMywgMjQ5LCAxMSwgMTIsIDEzLCAyNDksIDEwLCAxMiwgMTMsIDI0OSwgOSwgMTIsIDEzLCAKLSAgICAyNDksIDgsIDEyLCAxMywgMjQ5LCA3LCAxMiwgMTMsIDI0OSwgNiwgMTIsIDEzLCAyNDksIDUsIDEyLCAxMywgMjQ5LCA0LCAKLSAgICAxMiwgMTMsIDI0OSwgMywgMTIsIDEzLCAyNDksIDIsIDEyLCAxMywgMjQ5LCAxLCAxMiwgMTMsIDI0OSwgMCwgMTIsIDEzLCAKLSAgICAyNDgsIDI1NSwgMTIsIDEzLCAyNDgsIDI1NCwgMTIsIDEzLCAyNDgsIDI1MywgMTIsIDEzLCAyNDgsIDI1MiwgMTIsIDEzLCAKLSAgICAyNDgsIDI1MSwgMTIsIDEzLCAyNDgsIDI1MCwgMTIsIDEzLCAyNDgsIDI0OSwgMTIsIDEzLCAyNDgsIDI0OCwgMTIsIDEzLCAKLSAgICAyNDgsIDI0NywgMTIsIDEzLCAyNDgsIDI0NiwgMTIsIDEzLCAyNDgsIDI0NSwgMTIsIDEzLCAyNDgsIDI0NCwgMTIsIDEzLCAKLSAgICAyNDgsIDI0MywgMTIsIDEzLCAyNDgsIDI0MiwgMTIsIDEzLCAyNDgsIDI0MSwgMTIsIDEzLCAyNDgsIDI0MCwgMTIsIDEzLCAKLSAgICAyNDgsIDIzOSwgMTIsIDEzLCAyNDgsIDIzOCwgMTIsIDEzLCAyNDgsIDIzNywgMTIsIDEzLCAyNDgsIDIzNiwgMTIsIDEzLCAKLSAgICAyNDgsIDIzNSwgMTIsIDEzLCAyNDgsIDIzNCwgMTIsIDEzLCAyNDgsIDIzMywgMTIsIDEzLCAyNDgsIDIzMiwgMTIsIDEzLCAKLSAgICAyNDYsIDMxLCAxMiwgMTMsIDI0NiwgMzAsIDEyLCAxMywgMjQ2LCAyOSwgMTIsIDEzLCAyNDYsIDI4LCAxMiwgMTMsIDI0NiwgCi0gICAgMjcsIDEyLCAxMywgMjQ2LCAyNiwgMTIsIDEzLCAyNDYsIDI1LCAxMiwgMTMsIDI0NiwgMjQsIDEyLCAxMywgMjQ2LCAyMywgCi0gICAgMTIsIDEzLCAyNDYsIDIyLCAxMiwgMTMsIDI0NiwgMjEsIDEyLCAxMywgMjQ2LCAyMCwgMTIsIDEzLCAyNDYsIDE5LCAxMiwgCi0gICAgMTMsIDI0NiwgMTgsIDEyLCAxMywgMjQ2LCAxNywgMTIsIDEzLCAyNDYsIDE2LCAxMiwgMTMsIDI0NiwgMTUsIDEyLCAxMywgCi0gICAgMjQ2LCAxNCwgMTIsIDEzLCAyNDYsIDEzLCAxMiwgMTMsIDI0NiwgMTIsIDEyLCAxMywgMjQ2LCAxMSwgMTIsIDEzLCAyNDYsIAotICAgIDEwLCAxMiwgMTMsIDI0NiwgOSwgMTIsIDEzLCAyNDYsIDgsIDEyLCAxMywgMjQ2LCA3LCAxMiwgMTMsIDI0NiwgNiwgMTIsIAotICAgIDEzLCAyNDYsIDUsIDEyLCAxMywgMjQ2LCA0LCAxMiwgMTMsIDI0NiwgMywgMTIsIDEzLCAyNDYsIDIsIDEyLCAxMywgMjQ2LCAKLSAgICAxLCAxMiwgMTMsIDI0NiwgMCwgMTIsIDEzLCAyNDUsIDI1NSwgMTIsIDEzLCAyNDUsIDI1NCwgMTIsIDEzLCAyNDUsIDI1MywgCi0gICAgMTIsIDEzLCAyNDUsIDI1MiwgMTIsIDEzLCAyNDUsIDI1MSwgMTIsIDEzLCAyNDUsIDI1MCwgMTIsIDEzLCAyNDUsIDI0OSwgCi0gICAgMTIsIDEzLCAyNDUsIDI0OCwgMTIsIDEzLCAyNDUsIDI0NywgMTIsIDEzLCAyNDUsIDI0NiwgMTIsIDEzLCAyNDUsIDI0NSwgCi0gICAgMTIsIDEzLCAyNDUsIDI0NCwgMTIsIDEzLCAyNDUsIDEzLCAxMiwgMTMsIDI0NSwgMTIsIDEyLCAxMywgMjQ1LCAxMSwgMTIsIAotICAgIDEzLCAyNDUsIDEwLCAxMiwgMTMsIDI0NSwgOSwgMTIsIDEzLCAyNDUsIDgsIDEyLCAxMywgMjQ1LCA3LCAxMiwgMTMsIDI0NSwgCi0gICAgNiwgMTIsIDEzLCAyNDUsIDUsIDEyLCAxMywgMjQ1LCA0LCAxMiwgMTMsIDI0NSwgMywgMTIsIDEzLCAyNDUsIDIsIDEyLCAKLSAgICAxMywgMjQ1LCAxLCAxMiwgMTMsIDI0NSwgMCwgMTIsIDEzLCAyNDQsIDI1NSwgMTIsIDEzLCAyNDQsIDI1NCwgMTIsIDEzLCAKLSAgICAyNDQsIDI1MywgMTIsIDEzLCAyNDQsIDI1MiwgMTIsIDEzLCAyNDQsIDI1MSwgMTIsIDEzLCAyNDQsIDI1MCwgMTIsIDEzLCAKLSAgICAyNDQsIDI0OSwgMTIsIDEzLCAyNDQsIDI0OCwgMTIsIDEzLCAyNDQsIDI0NywgMTIsIDEzLCAyNDQsIDI0NiwgMTIsIDEzLCAKLSAgICAyNDQsIDI0NSwgMTIsIDEzLCAyNDQsIDI0NCwgMTIsIDEzLCAyNDQsIDI0MywgMTIsIDEzLCAyNDQsIDI0MiwgMTIsIDEzLCAKLSAgICAyNDQsIDI0MSwgMTIsIDEzLCAyNDQsIDI0MCwgMTIsIDEzLCAyNDQsIDIzOSwgMTIsIDEzLCAyNDQsIDIzOCwgMTIsIDEzLCAKLSAgICAyNDQsIDIzNywgMTIsIDEzLCAyNDQsIDIzNiwgMTIsIDEzLCAyNDQsIDIzNSwgMTIsIDEzLCAyNDQsIDIzNCwgMTIsIDEzLCAKLSAgICAyNDQsIDIzMywgMTIsIDEzLCAyNDQsIDIzMiwgMTIsIDEzLCAyNDQsIDIzMSwgMTIsIDEzLCAyNDQsIDIzMCwgMTIsIDEzLCAKLSAgICAyNDQsIDIyOSwgMTIsIDEzLCAyNDQsIDIyOCwgMTIsIDEzLCAyNDQsIDIyNywgMTIsIDEzLCAyNDQsIDIyNiwgMTIsIDEzLCAKLSAgICAyNDQsIDIyNSwgMTIsIDEzLCAyNDQsIDIyNCwgMTIsIDEzLCAyNDQsIDIyMywgMTIsIDEzLCAyNDQsIDIyMiwgMTIsIDEzLCAKLSAgICAyNDQsIDIyMSwgMTIsIDEzLCAyNDQsIDIyMCwgMTIsIDEzLCAyNDQsIDIxOSwgMTIsIDEzLCAyNDQsIDIxOCwgMTIsIDEzLCAKLSAgICAyNDQsIDIxNywgMTIsIDEzLCAyNDQsIDIxNiwgMTIsIDEzLCAyNDQsIDIxNSwgMTIsIDEzLCAyNDQsIDIxNCwgMTIsIDEzLCAKLSAgICAyNDQsIDIxMywgMTIsIDEzLCAyNDQsIDIxMiwgMTIsIDEzLCAyNDQsIDIxMSwgMTIsIDEzLCAyNDQsIDIxMCwgMTIsIDEzLCAKLSAgICAyNDQsIDIwOSwgMTIsIDEzLCAyNDQsIDIwOCwgMTIsIDEzLCAyNDQsIDIwNywgMTIsIDEzLCAyNDQsIDIwNiwgMTIsIDEzLCAKLSAgICAyNDQsIDIwNSwgMTIsIDEzLCAyNDMsIDIwOCwgMTIsIDEzLCAyNDMsIDIwNywgMTIsIDEzLCAyNDMsIDIwNiwgMTIsIDEzLCAKLSAgICAyNDMsIDIwNSwgMTIsIDEzLCAyNDMsIDIwNCwgMTIsIDEzLCAyNDMsIDIwMywgMTIsIDEzLCAyNDMsIDIwMiwgMTIsIDEzLCAKLSAgICAyNDMsIDIwMSwgMTIsIDEzLCAyNDMsIDIwMCwgMTIsIDEzLCAyNDMsIDE5OSwgMTIsIDEzLCAyNDMsIDE5OCwgMTIsIDEzLCAKLSAgICAyNDMsIDE5NywgMTIsIDEzLCAyNDMsIDE5NiwgMTIsIDEzLCAyNDMsIDE5NSwgMTIsIDEzLCAyNDMsIDE5NCwgMTIsIDEzLCAKLSAgICAyNDMsIDE5MywgMTIsIDEzLCAyNDMsIDE5MiwgMTIsIDEzLCAyNDMsIDE5MSwgMTIsIDEzLCAyNDMsIDE5MCwgMTIsIDEzLCAKLSAgICAyNDMsIDE4OSwgMTIsIDEzLCAyNDMsIDE4OCwgMTIsIDEzLCAyNDMsIDE4NywgMTIsIDEzLCAyNDMsIDE4NiwgMTIsIDEzLCAKLSAgICAyNDMsIDE4NSwgMTIsIDEzLCAyNDMsIDE4NCwgMTIsIDEzLCAyNDMsIDE4MywgMTIsIDEzLCAyNDMsIDE4MiwgMTIsIDEzLCAKLSAgICAyNDMsIDE4MSwgMTIsIDEzLCAyNDMsIDE4MCwgMTIsIDEzLCAyNDMsIDE3OSwgMTIsIDEzLCAyNDMsIDE3OCwgMTIsIDEzLCAKLSAgICAyNDMsIDE3NywgMTIsIDEzLCAyNDMsIDE3NiwgMTIsIDEzLCAyNDMsIDE3NSwgMTIsIDEzLCAyNDMsIDE3NCwgMTIsIDEzLCAKLSAgICAyNDMsIDE3MywgMTIsIDEzLCAyNDMsIDE3MiwgMTIsIDEzLCAyNDMsIDE3MSwgMTIsIDEzLCAyNDMsIDE3MCwgMTIsIDEzLCAKLSAgICAyNDMsIDE2OSwgMTIsIDEzLCAyNDMsIDE2OCwgMTIsIDEzLCAyNDMsIDE2NywgMTIsIDEzLCAyNDMsIDE2NiwgMTIsIDEzLCAKLSAgICAyNDMsIDE2NSwgMTIsIDEzLCAyNDMsIDE2NCwgMTIsIDEzLCAyNDMsIDE2MywgMTIsIDEzLCAyNDMsIDE2MiwgMTIsIDEzLCAKLSAgICAyNDMsIDE2MSwgMTIsIDEzLCAyNDMsIDE2MCwgMTIsIDEzLCAyNDMsIDE1OSwgMTIsIDEzLCAyNDMsIDE1OCwgMTIsIDEzLCAKLSAgICAyNDMsIDE1NywgMTIsIDEzLCAyNDMsIDE1NiwgMTIsIDEzLCAyNDMsIDE1NSwgMTIsIDEzLCAyNDMsIDE1NCwgMTIsIDEzLCAKLSAgICAyNDMsIDE1MywgMTIsIDEzLCAyNDMsIDE1MiwgMTIsIDEzLCAyNDMsIDE1MSwgMTIsIDEzLCAyNDMsIDE1MCwgMTIsIDEzLCAKLSAgICAyNDMsIDE0OSwgMTIsIDEzLCAyNDMsIDE0OCwgMTIsIDEzLCAyNDMsIDE0NywgMTIsIDEzLCAyNDMsIDE0NiwgMTIsIDEzLCAKLSAgICAyNDMsIDE0NSwgMTIsIDEzLCAyNDIsIDY1LCAxMiwgMTMsIDI0MiwgNjQsIDEyLCAxMywgMjQyLCA2MywgMTIsIDEzLCAyNDIsIAotICAgIDYyLCAxMiwgMTMsIDI0MiwgNjEsIDEyLCAxMywgMjQyLCA2MCwgMTIsIDEzLCAyNDIsIDU5LCAxMiwgMTMsIDI0MiwgNTgsIAotICAgIDEyLCAxMywgMjQyLCA1NywgMTIsIDEzLCAyNDAsIDE0NSwgMTIsIDEzLCAyNDAsIDE0NCwgMTIsIDEzLCAyNDAsIDE0MywgCi0gICAgMTIsIDEzLCAyNDAsIDE0MiwgMTIsIDEzLCAyNDAsIDE0MSwgMTIsIDEzLCAyNDAsIDE0MCwgMTIsIDEzLCAyNDAsIDEzOSwgCi0gICAgMTIsIDEzLCAyNDAsIDEzOCwgMTIsIDEzLCAyNDAsIDEzNywgMTIsIDEzLCAyNDAsIDEzNiwgMTIsIDEzLCAyNDAsIDEzNSwgCi0gICAgMTIsIDEzLCAyNDAsIDEzNCwgMTIsIDEzLCAyNDAsIDEzMywgMTIsIDEzLCAyNDAsIDEzMiwgMTIsIDEzLCAyNDAsIDEzMSwgCi0gICAgMTIsIDEzLCAyNDAsIDEzMCwgMTIsIDEzLCAyNDAsIDEyOSwgMTIsIDEzLCAyNDAsIDEyOCwgMTIsIDEzLCAyNDAsIDEyNywgCi0gICAgMTIsIDEzLCAyMzUsIDI4LCAxMiwgMTMsIDIzNSwgMjcsIDEyLCAxMywgMjM1LCAyNiwgMTIsIDEzLCAyMzUsIDI1LCAxMiwgCi0gICAgMTMsIDIzNSwgMjQsIDEyLCAxMywgMjM1LCAyMywgMTIsIDEzLCAyMzUsIDIyLCAxMiwgMTMsIDIzNSwgMjEsIDEyLCAxMywgCi0gICAgMjMzLCAxNTIsIDEyLCAxMywgMjMzLCAxNTEsIDEyLCAxMywgMjMzLCAxNTAsIDEyLCAxMywgMjMzLCAxNDksIDEyLCAxMywgCi0gICAgMjMzLCAxNDgsIDEyLCAxMywgMjMzLCAxNDcsIDEyLCAxMywgMjMzLCAxNDYsIDEyLCAxMywgMjMzLCAxNDUsIDEyLCAxMywgCi0gICAgMjMzLCAxNDQsIDEyLCAxMywgMjMzLCAxNDMsIDEyLCAxMywgMjMyLCA1NCwgMTIsIDEzLCAyMzIsIDUzLCAxMiwgMTMsIAotICAgIDIzMiwgNTIsIDEyLCAxMywgMjMyLCA1MSwgMTIsIDEzLCAyMzIsIDUwLCAxMiwgMTMsIDIzMiwgNDksIDEyLCAxMywgMjMyLCAKLSAgICA0OCwgMTIsIDEzLCAyMzIsIDQ3LCAxMiwgMTMsIDIzMiwgNDYsIDEyLCAxMywgMjMyLCA0NSwgMTIsIDEzLCAyMzIsIDQ0LCAKLSAgICAxMiwgMTMsIDIzMiwgNDMsIDEyLCAxMywgMjMyLCA0MiwgMTIsIDEzLCAyMzIsIDQxLCAxMiwgMTMsIDIzMiwgNDAsIDEyLCAKLSAgICAxMywgMjMyLCAzOSwgMTIsIDEzLCAyMzIsIDM4LCAxMiwgMTMsIDIzMiwgMzcsIDEyLCAxMywgMjMyLCAzNiwgMTIsIDEzLCAKLSAgICAyMzIsIDM1LCAxMiwgMTMsIDIzMiwgMzQsIDEyLCAxMywgMjMyLCAzMywgMTIsIDEzLCAyMzIsIDMyLCAxMiwgMTMsIDIzMiwgCi0gICAgMzEsIDEyLCAxMywgMjMyLCAzMCwgMTIsIDEzLCAyMzIsIDI5LCAxMiwgMTMsIDIzMiwgMjgsIDEyLCAxMywgMjMyLCAyNywgCi0gICAgMTIsIDEzLCAyMzIsIDI2LCAxMiwgMTMsIDIzMiwgMjUsIDEyLCAxMywgMjMyLCAyNCwgMTIsIDEzLCAyMzIsIDIzLCAxMiwgCi0gICAgMTMsIDIzMiwgMjIsIDEyLCAxMywgMjMyLCAyMSwgMTIsIDEzLCAyMzIsIDIwLCAxMiwgMTMsIDIzMiwgMTksIDEyLCAxMywgCi0gICAgMjMyLCAxOCwgMTIsIDEzLCAyMzIsIDE3LCAxMiwgMTMsIDIzMiwgMTYsIDEyLCAxMywgMjMyLCAxNSwgMTIsIDEzLCAyMzIsIAotICAgIDE0LCAxMiwgMTMsIDIzMiwgMTMsIDEyLCAxMywgMjMyLCAxMiwgMTIsIDEzLCAyMzIsIDExLCAxMiwgMTMsIDIzMiwgMTAsIAotICAgIDEyLCAxMywgMjMyLCA5LCAxMiwgMTMsIDIzMiwgOCwgMTIsIDEzLCAyMzIsIDcsIDEyLCAxMywgMjMyLCA2LCAxMiwgMTMsIAotICAgIDIzMiwgNSwgMTIsIDEzLCAyMzIsIDQsIDEyLCAxMywgMjMyLCAzLCAxMiwgMTMsIDIzMiwgMiwgMTIsIDEzLCAyMzIsIDEsIAotICAgIDEyLCAxMywgMjMyLCAwLCAxMiwgMTMsIDIzMSwgMjU1LCAxMiwgMTMsIDIzMSwgMjU0LCAxMiwgMTMsIDIzMSwgMjUzLCAxMiwgCi0gICAgMTMsIDIzMSwgMjUyLCAxMiwgMTMsIDIzMSwgMjUxLCAxMiwgMTMsIDIzMSwgMjUwLCAxMiwgMTMsIDIzMSwgMjQ5LCAxMiwgCi0gICAgMTMsIDIzMSwgMjQ4LCAxMiwgMTMsIDIzMSwgMjQ3LCAxMiwgMTMsIDIzMSwgMjQ2LCAxMiwgMTMsIDIzMSwgMjQ1LCAxMiwgCi0gICAgMTMsIDIzMCwgMjcsIDEyLCAxMywgMjMwLCAyNiwgMTIsIDEzLCAyMzAsIDI1LCAxMiwgMTMsIDIzMCwgMjQsIDEyLCAxMywgCi0gICAgMjMwLCAyMywgMTIsIDEzLCAyMzAsIDIyLCAxMiwgMTMsIDIzMCwgMjEsIDEyLCAxMywgMjMwLCAyMCwgMTIsIDEzLCAyMzAsIAotICAgIDE5LCAxMiwgMTMsIDIzMCwgMTgsIDEyLCAxMywgMjMwLCAxNywgMTIsIDEzLCAyMzAsIDE2LCAxMiwgMTMsIDIzMCwgMTUsIAotICAgIDEyLCAxMywgMjMwLCAxNCwgMTIsIDEzLCAyMzAsIDEzLCAxMiwgMTMsIDIzMCwgMTIsIDEyLCAxMywgMjMwLCAxMSwgMTIsIAotICAgIDEzLCAyMzAsIDEwLCAxMiwgMTMsIDIzMCwgOSwgMTIsIDEzLCAyMzAsIDgsIDEyLCAxMywgMjMwLCA3LCAxMiwgMTMsIDIzMCwgCi0gICAgNiwgMTIsIDEzLCAyMzAsIDUsIDEyLCAxMywgMjMwLCA0LCAxMiwgMTMsIDIzMCwgMywgMTIsIDEzLCAyMzAsIDIsIDEyLCAKLSAgICAxMywgMjMwLCAxLCAxMiwgMTMsIDIzMCwgMCwgMTIsIDEzLCAyMjksIDI1NSwgMTIsIDEzLCAyMjksIDI1NCwgMTIsIDEzLCAKLSAgICAyMjksIDI1MywgMTIsIDEzLCAyMjksIDI1MiwgMTIsIDEzLCAyMjksIDI1MSwgMTIsIDEzLCAyMjksIDI1MCwgMTIsIDEzLCAKLSAgICAyMjksIDI0OSwgMTIsIDEzLCAyMjksIDI0OCwgMTIsIDEzLCAyMjksIDI0NywgMTIsIDEzLCAyMjksIDI0NiwgMTIsIDEzLCAKLSAgICAyMjksIDI0NSwgMTIsIDEzLCAyMjksIDI0NCwgMTIsIDEzLCAyMjksIDI0MywgMTIsIDEzLCAyMjksIDI0MiwgMTIsIDEzLCAKLSAgICAyMjksIDI0MSwgMTIsIDEzLCAyMjksIDI0MCwgMTIsIDEzLCAyMjksIDIzOSwgMTIsIDEzLCAyMjksIDIzOCwgMTIsIDEzLCAKLSAgICAyMjksIDIzNywgMTIsIDEzLCAyMjksIDIzNiwgMTIsIDEzLCAyMjksIDIzNSwgMTIsIDEzLCAyMjgsIDEzOSwgMTIsIDEzLCAKLSAgICAyMjgsIDEzOCwgMTIsIDEzLCAyMjgsIDEzNywgMTIsIDEzLCAyMjgsIDEzNiwgMTIsIDEzLCAyMjgsIDEzNSwgMTIsIDEzLCAKLSAgICAyMjgsIDEzNCwgMTIsIDEzLCAyMjgsIDEzMywgMTIsIDEzLCAyMjgsIDEzMiwgMTIsIDEzLCAyMjgsIDEzMSwgMTIsIDEzLCAKLSAgICAyMjgsIDEzMCwgMTIsIDEzLCAyMjgsIDEyOSwgMTIsIDEzLCAyMjgsIDEyOCwgMTIsIDEzLCAyMjgsIDEyNywgMTIsIDEzLCAKLSAgICAyMjgsIDEyNiwgMTIsIDEzLCAyMjgsIDEyNSwgMTIsIDEzLCAyMjgsIDEyNCwgMTIsIDEzLCAyMjgsIDEyMywgMTIsIDEzLCAKLSAgICAyMjgsIDEyMiwgMTIsIDEzLCAyMjgsIDEyMSwgMTIsIDEzLCAyMjgsIDEyMCwgMTIsIDEzLCAyMjgsIDExOSwgMTIsIDEzLCAKLSAgICAyMjgsIDExOCwgMTIsIDEzLCAyMjcsIDI0MSwgMTIsIDEzLCAyMjcsIDI0MCwgMTIsIDEzLCAyMjcsIDIzOSwgMTIsIDEzLCAKLSAgICAyMjcsIDIzOCwgMTIsIDEzLCAyMjcsIDIzNywgMTIsIDEzLCAyMjcsIDIzNiwgMTIsIDEzLCAyMjcsIDIzNSwgMTIsIDEzLCAKLSAgICAyMjcsIDIzNCwgMTIsIDEzLCAyMjcsIDIzMywgMTIsIDEzLCAyMjcsIDIzMiwgMTIsIDEzLCAyMjcsIDIzMSwgMTIsIDEzLCAKLSAgICAyMjcsIDIzMCwgMTIsIDEzLCAyMjcsIDIyOSwgMTIsIDEzLCAyMjcsIDIyOCwgMTIsIDEzLCAyMjcsIDIyNywgMTIsIDEzLCAKLSAgICAyMjcsIDIyNiwgMTIsIDEzLCAyMjcsIDIyNSwgMTIsIDEzLCAyMjcsIDIyNCwgMTIsIDEzLCAyMjcsIDIyMywgMTIsIDEzLCAKLSAgICAyMjcsIDIyMiwgMTIsIDEzLCAyMjcsIDIyMSwgMTIsIDEzLCAyMjcsIDIyMCwgMTIsIDEzLCAyMjcsIDIxOSwgMTIsIDEzLCAKLSAgICAyMjcsIDIxOCwgMTIsIDEzLCAyMjcsIDIxNywgMTIsIDEzLCAyMjcsIDIxNiwgMTIsIDEzLCAyMjcsIDgwLCAxMiwgMTMsIAotICAgIDIyNywgNzksIDEyLCAxMywgMjI3LCA3OCwgMTIsIDEzLCAyMjcsIDc3LCAxMiwgMTMsIDIyNywgNzYsIDEyLCAxMywgMjI3LCAKLSAgICA3NSwgMTIsIDEzLCAyMjcsIDc0LCAxMiwgMTMsIDIyNywgNzMsIDEyLCAxMywgMjI3LCA3MiwgMTIsIDEzLCAyMjcsIDcxLCAKLSAgICAxMiwgMTMsIDIyNywgNzAsIDEyLCAxMywgMjI3LCA2OSwgMTIsIDEzLCAyMjcsIDY4LCAxMiwgMTMsIDIyNywgNjcsIDEyLCAKLSAgICAxMywgMjI3LCA2NiwgMTIsIDEzLCAyMjcsIDY1LCAxMiwgMTMsIDIyNywgNjQsIDEyLCAxMywgMjI3LCA2MywgMTIsIDEzLCAKLSAgICAyMjcsIDYyLCAxMiwgMTMsIDIyNywgNjEsIDEyLCAxMywgMjI3LCA2MCwgMTIsIDEzLCAyMjcsIDU5LCAxMiwgMTMsIDIyNywgCi0gICAgNTgsIDEyLCAxMywgMjI3LCA1NywgMTIsIDEzLCAyMjcsIDU2LCAxMiwgMTMsIDIyNywgNTUsIDEyLCAxMywgMjI3LCA1NCwgCi0gICAgMTIsIDEzLCAyMjcsIDUzLCAxMiwgMTMsIDIyNywgNTIsIDEyLCAxMywgMjI3LCA1MSwgMTIsIDEzLCAyMjcsIDUwLCAxMiwgCi0gICAgMTMsIDIyNywgNDksIDEyLCAxMywgMjI3LCA0OCwgMTIsIDEzLCAyMjcsIDQ3LCAxMiwgMTMsIDIyNywgNDYsIDEyLCAxMywgCi0gICAgMjI3LCA0NSwgMTIsIDEzLCAyMjcsIDQ0LCAxMiwgMTMsIDIyNywgNDMsIDEyLCAxMywgMjI3LCA0MiwgMTIsIDEzLCAyMjcsIAotICAgIDQxLCAxMiwgMTMsIDIyNywgNDAsIDEyLCAxMywgMjI3LCAzOSwgMTIsIDEzLCAyMjcsIDM4LCAxMiwgMTMsIDIyNywgMzcsIAotICAgIDEyLCAxMywgMjI3LCAzNiwgMTIsIDEzLCAyMjcsIDM1LCAxMiwgMTMsIDIyNywgMzQsIDEyLCAxMywgMjI3LCAzMywgMTIsIAotICAgIDEzLCAyMjcsIDMyLCAxMiwgMTMsIDIyNywgMzEsIDEyLCAxMywgMjI3LCAzMCwgMTIsIDEzLCAyMjcsIDI5LCAxMiwgMTMsIAotICAgIDIyNywgMjgsIDEyLCAxMywgMjI3LCAyNywgMTIsIDEzLCAyMjcsIDI2LCAxMiwgMTMsIDIyNywgMjUsIDEyLCAxMywgMjI3LCAKLSAgICAyNCwgMTIsIDEzLCAyMjcsIDIzLCAxMiwgMTMsIDIyNywgMjIsIDEyLCAxMywgMjI3LCAyMSwgMTIsIDEzLCAyMjcsIDIwLCAKLSAgICAxMiwgMTMsIDIyNywgMTksIDEyLCAxMywgMjI3LCAxOCwgMTIsIDEzLCAyMjcsIDE3LCAxMiwgMTMsIDIyNywgMTYsIDEyLCAKLSAgICAxMywgMjI3LCAxNSwgMTIsIDEzLCAyMjcsIDE0LCAxMiwgMTMsIDIyNywgMTMsIDEyLCAxMywgMjI3LCAxMiwgMTIsIDEzLCAKLSAgICAyMjcsIDExLCAxMiwgMTMsIDIyNywgMTAsIDEyLCAxMywgMjI3LCA5LCAxMiwgMTMsIDIyNywgOCwgMTIsIDEzLCAyMjcsIDcsIAotICAgIDEyLCAxMywgMjI3LCA2LCAxMiwgMTMsIDIyNiwgMTA4LCAxMiwgMTMsIDIyNiwgMTA3LCAxMiwgMTMsIDIyNiwgMTA2LCAxMiwgCi0gICAgMTMsIDIyNiwgMTA1LCAxMiwgMTMsIDIyNiwgMTA0LCAxMiwgMTMsIDIyNiwgMTAzLCAxMiwgMTMsIDIyNiwgMTAyLCAxMiwgCi0gICAgMTMsIDIyNiwgMTAxLCAxMiwgMTMsIDIyNiwgMTAwLCAxMiwgMTMsIDIyNiwgOTksIDEyLCAxMywgMjI2LCA5OCwgMTIsIDEzLCAKLSAgICAyMjYsIDk3LCAxMiwgMTMsIDIyNiwgOTYsIDEyLCAxMywgMjI0LCA5OCwgMTIsIDEzLCAyMjQsIDk3LCAxMiwgMTMsIDIyNCwgCi0gICAgOTYsIDEyLCAxMywgMjI0LCA5NSwgMTIsIDEzLCAyMjQsIDk0LCAxMiwgMTMsIDIyNCwgOTMsIDEyLCAxMywgMjI0LCA5MiwgCi0gICAgMTIsIDEzLCAyMjMsIDIyNSwgMTIsIDEzLCAyMjMsIDIyNCwgMTIsIDEzLCAyMjMsIDIyMywgMTIsIDEzLCAyMjMsIDIyMiwgCi0gICAgMTIsIDEzLCAyMjMsIDIyMSwgMTIsIDEzLCAyMjMsIDIyMCwgMTIsIDEzLCAyMjMsIDIxOSwgMTIsIDEzLCAyMjMsIDIxOCwgCi0gICAgMTIsIDEzLCAyMjMsIDIxNywgMTIsIDEzLCAyMjMsIDIxNiwgMTIsIDEzLCAyMjMsIDIxNSwgMTIsIDEzLCAyMjMsIDIxNCwgCi0gICAgMTIsIDEzLCAyMjMsIDIxMywgMTIsIDEzLCAyMjMsIDIxMiwgMTIsIDEzLCAyMjMsIDIxMSwgMTIsIDEzLCAyMjMsIDIxMCwgCi0gICAgMTIsIDEzLCAyMjMsIDIwOSwgMTIsIDEzLCAyMjMsIDIwOCwgMTIsIDEzLCAyMjMsIDIwNywgMTIsIDEzLCAyMjMsIDIwNiwgCi0gICAgMTIsIDEzLCAyMjMsIDIwNSwgMTIsIDEzLCAyMjMsIDIwNCwgMTIsIDEzLCAyMjMsIDIwMywgMTIsIDEzLCAyMjMsIDIwMiwgCi0gICAgMTIsIDEzLCAyMjMsIDIwMSwgMTIsIDEzLCAyMjMsIDIwMCwgMTIsIDEzLCAyMjMsIDE5OSwgMTIsIDEzLCAyMjMsIDE5OCwgCi0gICAgMTIsIDEzLCAyMjMsIDE5NywgMTIsIDEzLCAyMjMsIDE5NiwgMTIsIDEzLCAyMjMsIDE5NSwgMTIsIDEzLCAyMjMsIDE5NCwgCi0gICAgMTIsIDEzLCAyMjMsIDE5MywgMTIsIDEzLCAyMjMsIDE5MiwgMTIsIDEzLCAyMjIsIDkwLCAxMiwgMTMsIDIyMiwgODksIDEyLCAKLSAgICAxMywgMjIyLCA4OCwgMTIsIDEzLCAyMjIsIDg3LCAxMiwgMTMsIDIyMiwgODYsIDEyLCAxMywgMjIyLCA4NSwgMTIsIDEzLCAKLSAgICAyMjIsIDg0LCAxMiwgMTMsIDIyMiwgODMsIDEyLCAxMywgMjIyLCA4MiwgMTIsIDEzLCAyMjIsIDgxLCAxMiwgMTMsIDIyMiwgCi0gICAgODAsIDEyLCAxMywgMjIyLCA3OSwgMTIsIDEzLCAyMjIsIDc4LCAxMiwgMTMsIDIyMiwgNzcsIDEyLCAxMywgMjIyLCA3NiwgCi0gICAgMTIsIDEzLCAyMjIsIDc1LCAxMiwgMTMsIDIyMiwgNzQsIDEyLCAxMywgMjIyLCA3MywgMTIsIDEzLCAyMjIsIDcyLCAxMiwgCi0gICAgMTMsIDIyMiwgNzEsIDEyLCAxMywgMjIyLCA3MCwgMTIsIDEzLCAyMjIsIDY5LCAxMiwgMTMsIDIyMiwgNjgsIDEyLCAxMywgCi0gICAgMjIyLCA2NywgMTIsIDEzLCAyMjIsIDY2LCAxMiwgMTMsIDIyMiwgNjUsIDEyLCAxMywgMjIyLCA2NCwgMTIsIDEzLCAyMjIsIAotICAgIDYzLCAxMiwgMTMsIDIyMiwgNjIsIDEyLCAxMywgMjIyLCA2MSwgMTIsIDEzLCAyMjIsIDYwLCAxMiwgMTMsIDIyMiwgNTksIAotICAgIDEyLCAxMywgMjIyLCA1OCwgMTIsIDEzLCAyMjIsIDU3LCAxMiwgMTMsIDIyMiwgNTYsIDEyLCAxMywgMjIyLCA1NSwgMTIsIAotICAgIDEzLCAyMjIsIDU0LCAxMiwgMTMsIDIyMiwgNTMsIDEyLCAxMywgMjIyLCA1MiwgMTIsIDEzLCAyMjIsIDUxLCAxMiwgMTMsIAotICAgIDIyMiwgNTAsIDEyLCAxMywgMjIyLCA0OSwgMTIsIDEzLCAyMjIsIDQ4LCAxMiwgMTMsIDIyMiwgNDcsIDEyLCAxMywgMjIyLCAKLSAgICA0NiwgMTIsIDEzLCAyMjIsIDQ1LCAxMiwgMTMsIDIyMiwgNDQsIDEyLCAxMywgMjIyLCA0MywgMTIsIDEzLCAyMjIsIDQyLCAKLSAgICAxMiwgMTMsIDIyMiwgNDEsIDEyLCAxMywgMjIyLCA0MCwgMTIsIDEzLCAyMjIsIDM5LCAxMiwgMTMsIDIyMiwgMzgsIDEyLCAKLSAgICAxMywgMjIyLCAzNywgMTIsIDEzLCAyMTcsIDE1MSwgMTIsIDEzLCAyMTcsIDE1MCwgMTIsIDEzLCAyMTcsIDE0OSwgMTIsIAotICAgIDEzLCAyMTcsIDE0OCwgMTIsIDEzLCAyMTcsIDE0NywgMTIsIDEzLCAyMTcsIDE0NiwgMTIsIDEzLCAyMTcsIDE0NSwgMTIsIAotICAgIDEzLCAyMTcsIDE0NCwgMTIsIDEzLCAyMTcsIDE0MywgMTIsIDEzLCAyMTcsIDE0MiwgMTIsIDEzLCAyMTcsIDE0MSwgMTIsIAotICAgIDEzLCAyMTcsIDE0MCwgMTIsIDEzLCAyMTcsIDEzOSwgMTIsIDEzLCAyMTcsIDEzOCwgMTIsIDEzLCAyMTcsIDEzNywgMTIsIAotICAgIDEzLCAyMTcsIDEzNiwgMTIsIDEzLCAyMTcsIDEzNSwgMTIsIDEzLCAyMTcsIDEzNCwgMTIsIDEzLCAyMTcsIDEzMywgMTIsIAotICAgIDEzLCAyMTcsIDEzMiwgMTIsIDEzLCAyMTcsIDEzMSwgMTIsIDEzLCAyMTcsIDEzMCwgMTIsIDEzLCAyMTcsIDEyOSwgMTIsIAotICAgIDEzLCAyMTcsIDEyOCwgMTIsIDEzLCAyMTcsIDEyNywgMTIsIDEzLCAyMTcsIDEyNiwgMTIsIDEzLCAyMTcsIDEyNSwgMTIsIAotICAgIDEzLCAyMTcsIDEyNCwgMTIsIDEzLCAyMTcsIDEyMywgMTIsIDEzLCAyMTcsIDEyMiwgMTIsIDEzLCAyMTcsIDEyMSwgMTIsIAotICAgIDEzLCAyMTcsIDEyMCwgMTIsIDEzLCAyMTcsIDExOSwgMTIsIDEzLCAyMTcsIDExOCwgMTIsIDEzLCAyMTcsIDExNywgMTIsIAotICAgIDEzLCAyMTcsIDExNiwgMTIsIDEzLCAyMTcsIDExNSwgMTIsIDEzLCAyMTcsIDExNCwgMTIsIDEzLCAyMTcsIDExMywgMTIsIAotICAgIDEzLCAyMTcsIDExMiwgMTIsIDEzLCAyMTcsIDExMSwgMTIsIDEzLCAyMTcsIDExMCwgMTIsIDEzLCAyMTcsIDEwOSwgMTIsIAotICAgIDEzLCAyMTcsIDEwOCwgMTIsIDEzLCAyMTUsIDIyLCAxMiwgMTMsIDIxNSwgMjEsIDEyLCAxMywgMjE1LCAyMCwgMTIsIDEzLCAKLSAgICAyMTUsIDE5LCAxMiwgMTMsIDIxNSwgMTgsIDEyLCAxMywgMjE1LCAxNywgMTIsIDEzLCAyMTUsIDE2LCAxMiwgMTMsIDIxNSwgCi0gICAgMTUsIDEyLCAxMywgMjE1LCAxNCwgMTIsIDEzLCAyMTUsIDEzLCAxMiwgMTMsIDIxNSwgMTIsIDEyLCAxMywgMjE1LCAxMSwgCi0gICAgMTIsIDEzLCAyMTUsIDEwLCAxMiwgMTMsIDIxNSwgOSwgMTIsIDEzLCAyMTUsIDgsIDEyLCAxMywgMjE1LCA3LCAxMiwgMTMsIAotICAgIDIxNSwgNiwgMTIsIDEzLCAyMTUsIDUsIDEyLCAxMywgMjE1LCA0LCAxMiwgMTMsIDIxNSwgMywgMTIsIDEzLCAyMTUsIDIsIAotICAgIDEyLCAxMywgMjE1LCAxLCAxMiwgMTMsIDIxNSwgMCwgMTIsIDEzLCAyMTQsIDI1NSwgMTIsIDEzLCAyMTQsIDI1NCwgMTIsIAotICAgIDEzLCAyMTQsIDI1MywgMTIsIDEzLCAyMTQsIDI1MiwgMTIsIDEzLCAyMTQsIDI1MSwgMTIsIDEzLCAyMTQsIDI1MCwgMTIsIAotICAgIDEzLCAyMTQsIDI0OSwgMTIsIDEzLCAyMTQsIDI0OCwgMTIsIDEzLCAyMTQsIDI0NywgMTIsIDEzLCAyMTQsIDI0NiwgMTIsIAotICAgIDEzLCAyMTQsIDI0NSwgMTIsIDEzLCAyMTQsIDI0NCwgMTIsIDEzLCAyMTQsIDI0MywgMTIsIDEzLCAyMTQsIDI0MiwgMTIsIAotICAgIDEzLCAyMTQsIDI0MSwgMTIsIDEzLCAyMTQsIDI0MCwgMTIsIDEzLCAyMTQsIDIzOSwgMTIsIDEzLCAyMTQsIDIzOCwgMTIsIAotICAgIDEzLCAyMTQsIDIzNywgMTIsIDEzLCAyMTQsIDIzNiwgMTIsIDEzLCAyMTQsIDIzNSwgMTIsIDEzLCAyMTQsIDIzNCwgMTIsIAotICAgIDEzLCAyMTQsIDIzMywgMTIsIDEzLCAyMTQsIDIzMiwgMTIsIDEzLCAyMTQsIDEwNCwgMTIsIDEzLCAyMTQsIDEwMywgMTIsIAotICAgIDEzLCAyMTQsIDEwMiwgMTIsIDEzLCAyMTQsIDEwMSwgMTIsIDEzLCAyMTQsIDEwMCwgMTIsIDEzLCAyMTQsIDk5LCAxMiwgCi0gICAgMTMsIDIxNCwgOTgsIDEyLCAxMywgMjE0LCA5NywgMTIsIDEzLCAyMTQsIDk2LCAxMiwgMTMsIDIxNCwgOTUsIDEyLCAxMywgCi0gICAgMjE0LCA5NCwgMTIsIDEzLCAyMTQsIDkzLCAxMiwgMTMsIDIxNCwgOTIsIDEyLCAxMywgMjE0LCA5MSwgMTIsIDEzLCAyMTQsIAotICAgIDkwLCAxMiwgMTMsIDIxNCwgODksIDEyLCAxMywgMjE0LCA4OCwgMTIsIDEzLCAyMTQsIDg3LCAxMiwgMTMsIDIxNCwgODYsIAotICAgIDEyLCAxMywgMjE0LCA4NSwgMTIsIDEzLCAyMTQsIDg0LCAxMiwgMTMsIDIxNCwgODMsIDEyLCAxMywgMjE0LCA4MiwgMTIsIAotICAgIDEzLCAyMTQsIDgxLCAxMiwgMTMsIDIxNCwgODAsIDEyLCAxMywgMjE0LCA3OSwgMTIsIDEzLCAyMTQsIDc4LCAxMiwgMTMsIAotICAgIDIxNCwgNzcsIDEyLCAxMywgMjE0LCA3NiwgMTIsIDEzLCAyMTQsIDc1LCAxMiwgMTMsIDIxNCwgNzQsIDEyLCAxMywgMjE0LCAKLSAgICA3MywgMTIsIDEzLCAyMTQsIDcyLCAxMiwgMTMsIDIxNCwgNzEsIDEyLCAxMywgMjE0LCA3MCwgMTIsIDEzLCAyMTQsIDY5LCAKLSAgICAxMiwgMTMsIDIxNCwgNjgsIDEyLCAxMywgMjE0LCA2NywgMTIsIDEzLCAyMTQsIDY2LCAxMiwgMTMsIDIxNCwgNjUsIDEyLCAKLSAgICAxMywgMjE0LCA2NCwgMTIsIDEzLCAyMTQsIDYzLCAxMiwgMTMsIDIxNCwgNjIsIDEyLCAxMywgMjE0LCA2MSwgMTIsIDEzLCAKLSAgICAyMTQsIDYwLCAxMiwgMTMsIDIxNCwgNTksIDEyLCAxMywgMjE0LCA1OCwgMTIsIDEzLCAyMTQsIDU3LCAxMiwgMTMsIDIxNCwgCi0gICAgNTYsIDEyLCAxMywgMjE0LCA1NSwgMTIsIDEzLCAyMTQsIDU0LCAxMiwgMTMsIDIxNCwgNTMsIDEyLCAxMywgMjE0LCA1MiwgCi0gICAgMTIsIDEzLCAyMTQsIDUxLCAxMiwgMTMsIDIxNCwgNTAsIDEyLCAxMywgMjE0LCA0OSwgMTIsIDEzLCAyMTQsIDQ4LCAxMiwgCi0gICAgMTMsIDIxNCwgNDcsIDEyLCAxMywgMjE0LCA0NiwgMTIsIDEzLCAyMTQsIDQ1LCAxMiwgMTMsIDIxNCwgNDQsIDEyLCAxMywgCi0gICAgMjE0LCA0MywgMTIsIDEzLCAyMTQsIDQyLCAxMiwgMTMsIDIxNCwgNDEsIDEyLCAxMywgMjE0LCA0MCwgMTIsIDEzLCAyMTQsIAotICAgIDM5LCAxMiwgMTMsIDIxNCwgMzgsIDEyLCAxMywgMjE0LCAzNywgMTIsIDEzLCAyMTQsIDM2LCAxMiwgMTMsIDIxNCwgMzUsIAotICAgIDEyLCAxMywgMjE0LCAzNCwgMTIsIDEzLCAyMTQsIDMzLCAxMiwgMTMsIDIxNCwgMzIsIDEyLCAxMywgMjE0LCAzMSwgMTIsIAotICAgIDEzLCAyMTQsIDMwLCAxMiwgMTMsIDIxNCwgMjksIDEyLCAxMywgMjE0LCAyOCwgMTIsIDEzLCAyMTIsIDk3LCAxMiwgMTMsIAotICAgIDIxMiwgOTYsIDEyLCAxMywgMjEyLCA5NSwgMTIsIDEzLCAyMTIsIDk0LCAxMiwgMTMsIDIxMiwgOTMsIDEyLCAxMywgMjEyLCAKLSAgICA5MiwgMTIsIDEzLCAyMTIsIDkxLCAxMiwgMTMsIDIxMiwgOTAsIDEyLCAxMywgMjEyLCA4OSwgMTIsIDEzLCAyMTIsIDg4LCAKLSAgICAxMiwgMTMsIDIxMiwgODcsIDEyLCAxMywgMjEyLCA4NiwgMTIsIDEzLCAyMTIsIDg1LCAxMiwgMTMsIDIxMiwgODQsIDEyLCAKLSAgICAxMywgMjEyLCA4MywgMTIsIDEzLCAyMTIsIDgyLCAxMiwgMTMsIDIxMiwgODEsIDEyLCAxMywgMjEyLCA4MCwgMTIsIDEzLCAKLSAgICAyMTIsIDc5LCAxMiwgMTMsIDIxMiwgNzgsIDEyLCAxMywgMjEyLCA3NywgMTIsIDEzLCAyMTIsIDc2LCAxMiwgMTMsIDIxMiwgCi0gICAgNzUsIDEyLCAxMywgMjEyLCA3NCwgMTIsIDEzLCAyMTIsIDczLCAxMiwgMTMsIDIxMiwgNzIsIDEyLCAxMywgMjEyLCA3MSwgCi0gICAgMTIsIDEzLCAyMTIsIDcwLCAxMiwgMTMsIDIxMiwgNjksIDEyLCAxMywgMjEyLCA2OCwgMTIsIDEzLCAyMTIsIDY3LCAxMiwgCi0gICAgMTMsIDIxMiwgNjYsIDEyLCAxMywgMjExLCAxNzcsIDEyLCAxMywgMjExLCAxNzYsIDEyLCAxMywgMjExLCAxNzUsIDEyLCAKLSAgICAxMywgMjExLCAxNzQsIDEyLCAxMywgMjExLCAxNzMsIDEyLCAxMywgMjExLCAxNzIsIDEyLCAxMywgMjExLCAxNzEsIDEyLCAKLSAgICAxMywgMjExLCAxNzAsIDEyLCAxMywgMjExLCAxNjksIDEyLCAxMywgMjExLCAxNjgsIDEyLCAxMywgMjExLCAxNjcsIDEyLCAKLSAgICAxMywgMjExLCAxNjYsIDEyLCAxMywgMjExLCAxMTUsIDEyLCAxMywgMjExLCAxMTQsIDEyLCAxMywgMjExLCAxMTMsIDEyLCAKLSAgICAxMywgMjExLCAxMTIsIDEyLCAxMywgMjExLCAxMTEsIDEyLCAxMywgMjExLCAxMTAsIDEyLCAxMywgMjExLCAxMDksIDEyLCAKLSAgICAxMywgMjExLCAxMDgsIDEyLCAxMywgMjExLCAxMDcsIDEyLCAxMywgMjEwLCAxNTgsIDEyLCAxMywgMjEwLCAxNTcsIDEyLCAKLSAgICAxMywgMjEwLCAxNTYsIDEyLCAxMywgMjEwLCAxNTUsIDEyLCAxMywgMjEwLCAxNTQsIDEyLCAxMywgMjEwLCAxNTMsIDEyLCAKLSAgICAxMywgMjEwLCAxNTIsIDEyLCAxMywgMjEwLCAxNTEsIDEyLCAxMywgMjEwLCAxNTAsIDEyLCAxMywgMjEwLCAxNDksIDEyLCAKLSAgICAxMywgMjEwLCAxNDgsIDEyLCAxMywgMjEwLCAxNDcsIDEyLCAxMywgMjEwLCAxNDYsIDEyLCAxMywgMjEwLCAxNDUsIDEyLCAKLSAgICAxMywgMjEwLCAxNDQsIDEyLCAxMywgMjEwLCAxNDMsIDEyLCAxMywgMjEwLCAxNDIsIDEyLCAxMywgMjEwLCAxNDEsIDEyLCAKLSAgICAxMywgMjEwLCAxNDAsIDEyLCAxMywgMjEwLCAxMzksIDEyLCAxMywgMjEwLCAxMzgsIDEyLCAxMywgMjEwLCAxMzcsIDEyLCAKLSAgICAxMywgMjEwLCAxMzYsIDEyLCAxMywgMjEwLCAxMzUsIDEyLCAxMywgMjEwLCAxMzQsIDEyLCAxMywgMjEwLCAxMzMsIDEyLCAKLSAgICAxMywgMjEwLCAxMzIsIDEyLCAxMywgMjEwLCAxMzEsIDEyLCAxMywgMjEwLCAxMzAsIDEyLCAxMywgMjEwLCAxMjksIDEyLCAKLSAgICAxMywgMjEwLCAxMjgsIDEyLCAxMywgMjEwLCAxMjcsIDEyLCAxMywgMjEwLCAxMjYsIDEyLCAxMywgMjEwLCAxMjUsIDEyLCAKLSAgICAxMywgMjEwLCAxMjQsIDEyLCAxMywgMjEwLCAxMjMsIDEyLCAxMywgMjEwLCAxMjIsIDEyLCAxMywgMjEwLCAxMjEsIDEyLCAKLSAgICAxMywgMjEwLCAxMjAsIDEyLCAxMywgMjEwLCAxMTksIDEyLCAxMywgMjEwLCAxMTgsIDEyLCAxMywgMjU1LCA4MSwgMTIsIAotICAgIDEzLCAyNTUsIDgwLCAxMiwgMTMsIDI1NSwgNzksIDEyLCAxMywgMjU1LCA3OCwgMTIsIDEzLCAyNTUsIDc3LCAxMiwgMTMsIAotICAgIDI1NSwgNzYsIDEyLCAxMywgMjU1LCA3NSwgMTIsIDEzLCAyNTUsIDc0LCAxMiwgMTMsIDI1NSwgNzMsIDEyLCAxMywgMjU1LCAKLSAgICA3MiwgMTIsIDEzLCAyNTUsIDcxLCAxMiwgMTMsIDI1NSwgNzAsIDEyLCAxMywgMjU1LCA2OSwgMTIsIDEzLCAyNTUsIDY4LCAKLSAgICAxMiwgMTMsIDI1NSwgNjcsIDEyLCAxMywgMjU1LCA2NiwgMTIsIDEzLCAyNTUsIDY1LCAxMiwgMTMsIDI1NSwgNjQsIDEyLCAKLSAgICAxMywgMjU1LCA2MywgMTIsIDEzLCAyNTUsIDYyLCAxMiwgMTMsIDI1NSwgNjEsIDEyLCAxMywgMjU1LCA2MCwgMTIsIDEzLCAKLSAgICAyNTUsIDU5LCAxMiwgMTMsIDI1NSwgNTgsIDEyLCAxMywgMjU1LCA1NywgMTIsIDEzLCAyNTUsIDU2LCAxMiwgMTMsIDI1NSwgCi0gICAgNTUsIDEyLCAxMywgMjU1LCA1NCwgMTIsIDEzLCAyNTUsIDUzLCAxMiwgMTMsIDI1NSwgNTIsIDEyLCAxMywgMjU1LCA1MSwgCi0gICAgMTIsIDEzLCAyNTUsIDUwLCAxMiwgMTMsIDI1NSwgNDksIDEyLCAxMywgMjU1LCA0OCwgMjAsIDEsIDE2NywgMjI5LCAxNywgCi0gICAgMjMxLCAyMSwgMjAsIDEsIDE2NywgMjQzLCA3NywgMjQ0LCA0NCwgMjAsIDEsIDE2NywgMjI0LCAyNTQsIDIzMSwgMjIsIAotICAgIDIyNSwgNjAsIDIwLCAxLCAxNjcsIDIyNCwgMjU0LCAyMzEsIDIyLCAyMjUsIDYxLCAyMCwgMSwgMTY3LCAyMjksIDIzMSwgCi0gICAgMjMxLCAyMSwgMjAsIDEsIDE2NywgMjE5LCAyMjMsIDIwLCAxLCAxNjcsIDIxNiwgNjcsIDIzMSwgMjEsIDIwLCAxLCAxNjcsIAotICAgIDIyNywgMTIyLCAyMzEsIDIxLCAyMCwgMSwgMTY3LCAyMjAsIDIxLCAyMjYsIDk0LCAyMjgsIDE3NCwgMjAsIDEsIDE2NywgCi0gICAgMjI0LCAyNTQsIDIyNiwgOTQsIDIyOCwgMTc1LCAyMjUsIDYwLCAyMCwgMSwgMTY3LCAyMjQsIDI1NCwgMjI2LCA5NCwgMjI4LCAKLSAgICAxNzUsIDIyNSwgNjEsIDIwLCAxLCAxNjcsIDIzMSwgMjIzLCAyMCwgMSwgMTY3LCAyMTUsIDEyMCwgMjMxLCAyMjQsIDIwLCAKLSAgICAxLCAxNjcsIDIyOSwgNzYsIDIwLCAxLCAxNjcsIDIzMSwgMjIwLCAyMCwgMSwgMTY3LCAyMzEsIDE4MSwgMjAsIDEsIDE2NywgCi0gICAgMjMwLCA1MywgMjAsIDEsIDE2NywgMjIwLCAxMjYsIDIwLCAxLCAxNjcsIDIyNywgMjQ2LCAyMCwgMSwgMTY3LCAyMzQsIAotICAgIDE1NSwgMjAsIDEsIDE2NywgMjI4LCAxNDMsIDIwLCAxLCAxNjcsIDIxOCwgNSwgMjAsIDEsIDE2NywgMjI5LCAxNiwgMjAsIAotICAgIDEsIDE2NywgMjMzLCA5MywgMjAsIDEsIDE2NywgMjMzLCAxOCwgMjMzLCAxOTUsIDIwLCAxLCAxNjcsIDIyNywgMjUzLCAKLSAgICAyMzEsIDI5LCAyMCwgMSwgMTY3LCAyMzEsIDIyNywgMjAsIDEsIDE2NywgMjI1LCAyNTAsIDIwLCAxLCAxNjcsIDI0MiwgCi0gICAgMjM4LCAyMCwgMSwgMTY3LCAyMjYsIDU0LCAyMCwgMSwgMTY3LCAyMzAsIDE1NiwgMjI5LCA1MCwgMjAsIDEsIDE2NywgMjI3LCAKLSAgICAxMDMsIDIzMSwgMzIsIDIwLCAxLCAxNjcsIDEwNCwgMjEwLCAxODgsIDIyOSwgMjI1LCAyMCwgMSwgMTY3LCAyNDIsIDIzOSwgCi0gICAgMjAsIDEsIDE2NywgMjI3LCAyNTMsIDIyNywgMjU0LCAyMCwgMSwgMTY3LCAyMTksIDEzMCwgMjAsIDEsIDE2NywgMjMxLCAKLSAgICAxNCwgMjAsIDEsIDE2NywgMjMxLCAzNSwgMjAsIDEsIDE2NywgMjMwLCAxMzUsIDIwLCAxLCAxNjcsIDIzNCwgMjU1LCAyMCwgCi0gICAgMSwgMTY3LCAyMjYsIDk0LCAyMzMsIDUzLCAyMCwgMSwgMTY3LCAyMjksIDE1NCwgMjMzLCA1MywgMjAsIDEsIDE2NywgMjI1LCAKLSAgICAxNjEsIDIwLCAxLCAxNjcsIDIzMSwgMjIxLCAyMCwgMSwgMTY3LCAyMjgsIDIxMiwgMjAsIDEsIDE2NywgMjI0LCAxMzcsIAotICAgIDIwLCAxLCAxNjcsIDIxNSwgMTE3LCAyMCwgMSwgMTY3LCAyMzIsIDk5LCAyMCwgMSwgMTY3LCAyMTksIDQzLCAyMCwgMSwgCi0gICAgMTY3LCAyMTYsIDIxNywgMjAsIDEsIDE2NywgMjMxLCAyMTgsIDIwLCAxLCAxNjcsIDIzNCwgMTYyLCAyMCwgMSwgMTY3LCAKLSAgICAyMjksIDE1MCwgMjAsIDEsIDE2NywgMjMzLCAyMDcsIDIwLCAxLCAxNjcsIDIzMCwgMTM2LCAyMCwgMSwgMTY3LCAyMTksIAotICAgIDIyMCwgMjAsIDEsIDE2NywgMjMyLCAxNDQsIDIwLCAxLCAxNjcsIDI0NCwgMTAxLCAyMCwgMSwgMTY3LCAyMjIsIDIwMSwgCi0gICAgMjAsIDEsIDE2NywgMjMzLCAyNDcsIDIwLCAxLCAxNjcsIDIxOSwgMzksIDIwLCAxLCAxNjcsIDIzMSwgMTc4LCAyMjUsIAotICAgIDEwMiwgMjAsIDEsIDE2NywgMjIwLCAxNCwgMjAsIDEsIDE2NywgMjI3LCAyNTIsIDIwLCAxLCAxNjcsIDIxOSwgMjU1LCAKLSAgICAyMjgsIDcsIDIxMCwgMTk2LCAyMCwgMSwgMTY3LCAyMjcsIDE0MiwgMjMwLCAxNTMsIDIwLCAxLCAxNjcsIDIyNiwgODksIAotICAgIDIwLCAxLCAxNjcsIDIyOCwgMTQ0LCAyMCwgMSwgMTY3LCAyMTQsIDE3MCwgMjAsIDEsIDE2NywgMjI5LCA1MywgMjAsIDEsIAotICAgIDE2NywgMjMxLCAyMTcsIDIwLCAxLCAxNjcsIDIyOCwgMTg2LCAyMCwgMSwgMTY3LCAyMzEsIDEyNCwgMjAsIDEsIDE2NywgCi0gICAgMjI3LCAxNTUsIDIwLCAxLCAxNjcsIDIxNiwgMjIxLCAyMCwgMSwgMTY3LCAyMTksIDM2LCAyMCwgMSwgMTY3LCAyMjYsIDkwLCAKLSAgICAyMCwgMSwgMTY3LCAyMjgsIDExLCAyMCwgMSwgMTY3LCAyMzEsIDIyNSwgMjAsIDEsIDE2NywgMjI3LCAxNTIsIDIwLCAxLCAKLSAgICAxNjcsIDIzNCwgMjIyLCAyMCwgMSwgMTY3LCAyMjgsIDE0LCAyMCwgMSwgMTY3LCAyMTMsIDI1MCwgMjAsIDEsIDE2NywgCi0gICAgMjMyLCAxMDMsIDIwLCAxLCAxNjcsIDIyOSwgMTAzLCAyMCwgMSwgMTY3LCAyMjksIDIwMSwgMjAsIDEsIDE2NywgMjMxLCAKLSAgICAxMjMsIDIwLCAxLCAyMjUsIDE0MSwgMjI4LCA5LCAyMCwgMSwgMjI1LCAxNDEsIDIxNSwgMTIwLCAyMzEsIDIyMiwgMjAsIDEsIAotICAgIDIyNSwgMTQxLCAyMTksIDE4NywgMjAsIDEsIDIyNSwgMTQxLCAyMjAsIDEzMCwgMjE1LCAxMTksIDIwLCAxLCAyMjUsIDE0MSwgCi0gICAgMjMyLCAxNDYsIDIyNywgMjQ5LCAyMCwgMSwgMjI1LCAxNDEsIDIzMSwgMTMwLCAyMzEsIDIyNiwgMjAsIDEsIDIyNSwgMTQxLCAKLSAgICAyMzQsIDkzLCAyMCwgMSwgMjI1LCAxNDEsIDIxMSwgMTUsIDIwLCAxLCAyMjUsIDE0MSwgMjMxLCAxMjUsIDIwLCAxLCAyMjUsIAotICAgIDE0MSwgMjM0LCAyNDMsIDIwLCAxLCAyMjUsIDE0MSwgMjI1LCAyMTEsIDIwLCAxLCAyMjUsIDE0MSwgMjExLCA4OSwgMjMzLCAKLSAgICA1MywgMjAsIDEsIDIyNSwgMTQxLCAyMzMsIDEwOSwgMjI4LCA3LCAyMjcsIDE2NCwgMjAsIDEsIDIyNSwgMTQxLCAyMjcsIAotICAgIDI0NywgMjIwLCA0MCwgMjAsIDEsIDIyNSwgMTQxLCAyMjksIDEyMSwgMjI4LCAxODksIDIwLCAxLCAyMjUsIDE0MSwgMjQyLCAKLSAgICAyMzYsIDIwLCAxLCAyMjUsIDE0MSwgMjI1LCA1MiwgMjAsIDEsIDIyNSwgMTQxLCAyMTUsIDEyMCwgMjI4LCA1LCAyMCwgMSwgCi0gICAgMjI1LCAxNDEsIDIyMCwgNDUsIDIyOCwgMTg0LCAyMCwgMSwgMjI1LCAxNDEsIDIyMCwgNDEsIDIwLCAxLCAyMjUsIDE0MSwgCi0gICAgMjMxLCAyMiwgMjE2LCAyMjAsIDIwLCAxLCAyMjUsIDE0MSwgMjMxLCAxMTIsIDIzMSwgMTI2LCAyMCwgMSwgMjI1LCAxNDEsIAotICAgIDIyNywgMTUzLCAyMjcsIDI0OSwgMjAsIDEsIDIyNSwgMTQxLCAyMzQsIDE1MSwgMjAsIDEsIDIyNSwgMTQxLCAyNDIsIDIzNywgCi0gICAgMjAsIDEsIDIyNSwgMTQxLCAyMzQsIDE0NywgMjAsIDEsIDIyNSwgMTQxLCAyMzMsIDEzNSwgMjAsIDEsIDIyNSwgMTQxLCAKLSAgICAyMjUsIDI1MywgMjAsIDEsIDIyNSwgMTQxLCAyMTMsIDE4MiwgMjAsIDEsIDIyNSwgMTQxLCAyMjksIDE4LCAyMzAsIDUxLCAKLSAgICAyMCwgMSwgMjI1LCAxNDEsIDIyOSwgNTIsIDIzMSwgMTA4LCAyMCwgMSwgMjI1LCAxNDEsIDIxMSwgMTkzLCAyMCwgMSwgCi0gICAgMjI1LCAxNDEsIDIyMiwgMTMsIDIwLCAxLCAyMjUsIDE0MSwgMjE3LCA5OCwgMjAsIDEsIDIyNSwgMTQxLCAyMzEsIDM0LCAKLSAgICAyMCwgMSwgMjI1LCAxNDEsIDIyOSwgMzcsIDIwLCAxLCAyMjUsIDE0MSwgMjI5LCAzOCwgMjMzLCA5MCwgMjAsIDEsIDIyNSwgCi0gICAgMTQxLCAyMzEsIDI0LCAyMCwgMSwgMjI1LCAxNDEsIDIxOCwgNTMsIDIwLCAxLCAyMjUsIDE0MSwgMjMxLCAxMTYsIDIwLCAxLCAKLSAgICAyMjUsIDE0MSwgMjMwLCAxMzgsIDIwLCAxLCAyMjUsIDE0MSwgMjI3LCAxNjcsIDIwLCAxLCAyMjUsIDE0MSwgMjI0LCAxNDEsIAotICAgIDIwLCAxLCAyMjUsIDE0MSwgMjMxLCAzMywgMjI5LCA1NCwgMjAsIDEsIDIyNSwgMTQxLCAyNDQsIDEzNCwgMjAsIDEsIDIyNSwgCi0gICAgMTQxLCAyMzEsIDEwMywgMjAsIDEsIDIyNSwgMTQxLCAyNDQsIDE1NSwgMjAsIDEsIDIyNSwgMTQxLCAyMzQsIDE1OSwgMjAsIAotICAgIDEsIDIyNSwgMTQxLCAyMzEsIDI0NCwgMjI4LCAxNzgsIDIwLCAxLCAyMjUsIDE0MSwgMjMxLCAyNDQsIDIyOCwgMTU0LCAyMCwgCi0gICAgMSwgMjI1LCAxNDEsIDIzMywgMTcsIDIwLCAxLCAyMjUsIDE0MSwgMjI5LCA2MCwgMjAsIDEsIDIyNSwgMTQxLCAyMjgsIDE2LCAKLSAgICAyMCwgMSwgMjI1LCAxNDEsIDE4NiwgMjAsIDEsIDIyNSwgMTQxLCAyMzQsIDgwLCAyMCwgMSwgMjI1LCAxNDEsIDIyOSwgNiwgCi0gICAgMjAsIDEsIDEzNywgMjI5LCAxNywgMjMxLCAyMjQsIDIwLCAxLCAxMzcsIDIyNywgMTIxLCAyMCwgMSwgMTM3LCAyMTAsIAotICAgIDE5NiwgMjAsIDEsIDEzNywgMjEyLCA1MywgMjAsIDEsIDEzNywgMjI5LCA1MywgMjAsIDEsIDEzNywgMjI5LCAxNDIsIDIwLCAKLSAgICAxLCAxMzcsIDIyOSwgMjQsIDIwLCAxLCAxMzcsIDI0MiwgMjQ2LCAyMCwgMSwgMTM3LCAyMzEsIDEyMCwgMjAsIDEsIDEzNywgCi0gICAgMjQzLCA4NCwgMjAsIDEsIDEzNywgMjI3LCAxNDQsIDIzMCwgMTc1LCAyMzEsIDM2LCAyMCwgMSwgMTM3LCAyMjcsIDI0NSwgCi0gICAgMjMxLCAxMTEsIDIwLCAxLCAxMzcsIDIzMSwgMTE3LCAyMCwgMSwgMTM3LCAyMjUsIDU4LCAyMCwgMSwgMTM3LCAyMjksIAotICAgIDEyNywgMjAsIDEsIDEzNywgMjMxLCAxMjgsIDI1MSwgMzcsIDIwLCAxLCAxMzcsIDIzNCwgMTQ5LCAyMCwgMSwgMTM3LCAKLSAgICAyNDIsIDI0NywgMjAsIDEsIDEzNywgMjM0LCAxNTYsIDIwLCAxLCAxMzcsIDIxMCwgMjEzLCAyMzAsIDgxLCAyMCwgMSwgCi0gICAgMTM3LCAyMjcsIDExNSwgMjAsIDEsIDEzNywgMjMxLCAxMDUsIDIwLCAxLCAxMzcsIDIyOCwgMTUsIDIwLCAxLCAxMzcsIAotICAgIDIzMSwgMTExLCAyMCwgMSwgMTM3LCAyMTEsIDE2LCAyMCwgMSwgMTM3LCAyMzMsIDI1NSwgMjAsIDEsIDEzNywgMjM1LCAxNiwgCi0gICAgMjAsIDEsIDEzNywgMjIwLCAxMjUsIDIwLCAxLCAxMzcsIDIyOSwgMTM2LCAyMCwgMSwgMTM3LCAyMTcsIDk2LCAyMCwgMSwgCi0gICAgMTM3LCAyMjgsIDE1OCwgMjAsIDEsIDEzNywgMjE2LCA2NywgMjEwLCAxOTgsIDIwLCAxLCAxMzcsIDIxOCwgODAsIDIwLCAxLCAKLSAgICAxMzcsIDIyOSwgNDQsIDIyNywgMTY0LCAyMCwgMSwgMTM3LCAyMTMsIDE4MSwgMjAsIDEsIDEzNywgMjI5LCAyMDQsIDIwLCAKLSAgICAxLCAxMzcsIDIzMSwgMjQ0LCAyMzQsIDE1OCwgMjAsIDEsIDEzNywgMjI3LCAyNTQsIDIwLCAxLCAxMzcsIDIyOSwgMzksIAotICAgIDIwLCAxLCAxMzcsIDIzMywgOTQsIDIwLCAxLCAxMzcsIDIzMSwgMTEzLCAyMCwgMSwgMTM3LCAyMzEsIDEzLCAyMCwgMSwgCi0gICAgMTM3LCAyMjcsIDI0OCwgMjAsIDEsIDEzNywgMjE2LCAyMTYsIDIwLCAxLCAxMzcsIDIyOSwgNDEsIDIwLCAxLCAxMzcsIAotICAgIDI0MywgMjQwLCAyMCwgMSwgMTM3LCAyMjksIDE0MSwgMjAsIDEsIDEzNywgMjI4LCAxNywgMjAsIDEsIDEzNywgMjI4LCAxMywgCi0gICAgMjAsIDEsIDEzNywgMjUxLCAxMTUsIDIwLCAxLCAxMzcsIDIxMywgMTgzLCAyMCwgMSwgMTM3LCAyMzEsIDExOCwgMjAsIDEsIAotICAgIDEzNywgMjIyLCAxNDIsIDIwLCAxLCAxMzcsIDIyOCwgMTg4LCAyMCwgMSwgMTM3LCAyMzMsIDEwOCwgMjAsIDEsIDEzNywgCi0gICAgMjE2LCA2NSwgMjAsIDEsIDEzNywgMjI3LCAyNTUsIDIyOSwgNiwgMjAsIDEsIDEzNywgMjI4LCAxODAsIDIwLCAxLCAxMzcsIAotICAgIDIzNCwgMTYyLCAyMCwgMSwgMTM3LCAyMjksIDQ1LCAyMCwgMSwgMTM3LCAyMzEsIDIxNywgMjAsIDEsIDEzNywgMjMxLCAKLSAgICAxMDYsIDIwLCAxLCAxMzcsIDIzMiwgMTAzLCAyMCwgMSwgMTM3LCAyMzMsIDE5NSwgMjAsIDEsIDEzNywgMjI4LCAxODYsIAotICAgIDIwLCAxLCAxMzcsIDIyOSwgNiwgMjAsIDEsIDEzNywgMjExLCAxODQsIDIwLCAxLCAxMzcsIDIyOSwgNDIsIDIwLCAxLCAKLSAgICAxMzcsIDIyOCwgMiwgMjAsIDEsIDEzNywgMjI3LCAyNTAsIDIwLCAxLCAxMzcsIDIzMywgMjA5LCAyMjgsIDE0NCwgMjAsIDEsIAotICAgIDEzNywgMjI4LCAwLCAyMCwgMSwgMTM3LCAyMjksIDE0OSwgMjAsIDEsIDEzNywgMjMxLCAyNDQsIDIyOCwgNSwgMjAsIDEsIAotICAgIDEzNywgMjExLCAxMDMsIDIwLCAxLCAxMzcsIDIyOSwgMTQ4LCAyMCwgMSwgMTM3LCAyMTksIDIyMiwgMjAsIDEsIDEzNywgCi0gICAgMjIwLCAxMjgsIDIwLCAxLCAxMzcsIDIzMSwgMTE0LCAyMCwgMSwgMTM3LCAyMzEsIDIyNCwgMjAsIDEsIDEzNywgMjMxLCAKLSAgICAxMjQsIDIwLCAxLCAxMzcsIDIzNCwgMTUwLCAyMCwgMSwgMTM3LCAyMzEsIDExNSwgMjAsIDEsIDEzNywgMjM0LCAxNTQsIAotICAgIDIwLCAxLCAxMzcsIDIzMSwgMTI4LCAyMjUsIDEwNiwgMjAsIDEsIDEzNywgMjEwLCAxNzksIDIwLCAxLCAxMzcsIDIyOCwgCi0gICAgMTc2LCAyMCwgMSwgMTM3LCAyMzAsIDIyNSwgMjAsIDEsIDEzNywgMjMwLCAxMDUsIDIwLCAxLCAxMzcsIDIyMCwgMTcsIDIwLCAKLSAgICAxLCAxMzcsIDIzNCwgMTcyLCAyMzMsIDc2LCAyMCwgMSwgMTM3LCAyMzQsIDE3MiwgMjQ0LCAxNjgsIDIwLCAxLCAxMzcsIAotICAgIDIyOSwgNzQsIDIwLCAxLCAxMzcsIDIyOSwgMjAxLCAyMCwgMSwgMTM3LCAyMzIsIDIwNiwgMjAsIDEsIDEzNywgMjI1LCA2OCwgCi0gICAgMjAsIDEsIDEzNywgMjI1LCAyMDIsIDIwLCAxLCAxMzcsIDIxNiwgMjMxLCAyMCwgMSwgMTA3LCAyMzEsIDEwNCwgMjAsIDEsIAotICAgIDEwNywgMjEyLCA1MSwgMjAsIDEsIDEwNywgMjI4LCAxNzQsIDIwLCAxLCAxMDcsIDIzMSwgMjEsIDIwLCAxLCAxMDcsIDIyOCwgCi0gICAgMTcyLCAyMCwgMSwgMTA3LCAyMzIsIDI0MSwgMjAsIDEsIDEwNywgMjI4LCAxNzcsIDIwLCAxLCAxMDcsIDIyOCwgMTIsIDIwLCAKLSAgICAxLCAxMDcsIDIyOSwgNTksIDIwLCAxLCAxMDcsIDIyNywgMTY0LCAyMCwgMSwgMTA3LCAyMTEsIDE5NCwgMjAsIDEsIDEwNywgCi0gICAgMjI5LCAxNCwgMjAsIDEsIDEwNywgMjIwLCA2MywgMjAsIDEsIDEwNywgMjI5LCAyNSwgMjAsIDEsIDEwNywgMjM0LCAxNTcsIAotICAgIDIwLCAxLCAxMDcsIDIxNiwgMjE4LCAyMCwgMSwgMTA3LCAyMjAsIDQzLCAyMCwgMSwgMTA3LCAyMjgsIDE4NSwgMjAsIDEsIAotICAgIDEwNywgMjE4LCA1MywgMjAsIDEsIDEwNywgMjM0LCAxNjIsIDIwLCAxLCAxMDcsIDIxMSwgOTEsIDIwLCAxLCAxMDcsIDIzMywgCi0gICAgMjEwLCAyMCwgMSwgMTA3LCAyMjEsIDIzNiwgMjAsIDEsIDEwNywgMjMxLCAyNiwgMjAsIDEsIDEwNywgMjI5LCAxNDAsIDIwLCAKLSAgICAxLCAxMDcsIDIzMSwgMTkzLCAyMCwgMSwgMTA3LCAyMzEsIDMyLCAyMCwgMSwgMTA3LCAyMjAsIDEyNywgMjAsIDEsIDEwNywgCi0gICAgMjExLCAzOSwgMjAsIDEsIDEwNywgMjI4LCAxNzksIDIwLCAxLCAxMDcsIDIzNCwgMTUzLCAyMzEsIDEwNywgMjAsIDEsIAotICAgIDEwNywgMjI5LCAyMSwgMjAsIDEsIDEwNywgMjE1LCAxMTksIDIwLCAxLCAxMDcsIDI0MiwgMjU1LCAyMCwgMSwgMTA3LCAKLSAgICAyMjksIDExLCAyMCwgMSwgMTA3LCAyNDQsIDEzNSwgMjAsIDEsIDEwNywgMjI5LCAxNDQsIDIwLCAxLCAxMDcsIDIzMSwgNSwgCi0gICAgMjAsIDEsIDEwNywgMjMzLCAxMSwgMjAsIDEsIDEwNywgMjI5LCAxMjYsIDIwLCAxLCAxMDcsIDIzMCwgMTUyLCAyMCwgMSwgCi0gICAgMTA3LCAyMzEsIDksIDIwLCAxLCAxMDcsIDIyNCwgMTIxLCAyMCwgMSwgMTA3LCAyMzEsIDcsIDIwLCAxLCAxMDcsIDIzMSwgCi0gICAgMjMsIDIwLCAxLCAxMDcsIDIzMiwgODksIDIwLCAxLCAxMDcsIDIyOCwgNCwgMjAsIDEsIDEwNywgMjMxLCAxMjcsIDIwLCAxLCAKLSAgICAxMDcsIDIzMywgMTg2LCAyMCwgMSwgMTA3LCAyMjcsIDE1NSwgMjAsIDEsIDEwNywgMjE2LCAyMjEsIDIwLCAxLCAxMDcsIAotICAgIDIxOSwgMzYsIDIwLCAxLCAxMDcsIDIxMCwgMTc5LCAyMCwgMSwgMTA3LCAyMzQsIDE1NCwgMjAsIDEsIDEwNywgMjIzLCAKLSAgICAxNzMsIDIwLCAxLCAxMDcsIDIxNywgMTEsIDIwLCAxLCAxMDcsIDIyOSwgMjIsIDIwLCAxLCAxMDcsIDIzMSwgMjgsIDIwLCAKLSAgICAxLCAxMDcsIDIyOCwgMywgMjAsIDEsIDEwNywgMjM0LCAxNTIsIDIwLCAxLCAxMDcsIDIyNSwgNjIsIDIwLCAxLCAxMDcsIAotICAgIDIyNSwgMTU1LCAyMCwgMSwgMTA3LCAyMjcsIDEzMSwgMjAsIDEsIDEwNywgMjMzLCAxNywgMjAsIDEsIDEwNywgMjI5LCA2MCwgCi0gICAgMjAsIDEsIDEwNywgMjMxLCAyNSwgMjAsIDEsIDEwNywgMjI5LCAzNCwgMjAsIDEsIDEwNywgMjEwLCAxOTMsIDIwLCAxLCAKLSAgICAxMDcsIDIyNiwgMjUsIDIwLCAxLCAxMDcsIDIxMCwgMTkyLCAyMCwgMSwgMTA3LCAyMjksIDE0OSwgMjAsIDEsIDEwNywgCi0gICAgMjI3LCAyNDksIDIwLCAxLCAxMDcsIDIxOCwgODIsIDIwLCAxLCAxMDcsIDIzMywgMjE0LCAyMCwgMSwgMTA3LCAyMjksIDQ5LCAKLSAgICAyMCwgMSwgMTA3LCAyMjksIDE5LCAyMCwgMSwgMTA3LCAyMTUsIDEwMywgMjAsIDEsIDEwNywgMjMxLCAzNiwgMjAsIDEsIAotICAgIDEwNywgMjMzLCAyMDQsIDIwLCAxLCAxMDcsIDIyOCwgMSwgMjAsIDEsIDEwNywgMjE2LCAyMTksIDIwLCAxLCAxMDcsIDIzMSwgCi0gICAgMjE5LCAyMCwgMSwgMTA3LCAyMjksIDU4LCAyMCwgMSwgMTA3LCAyMzMsIDEwLCAyMCwgMSwgMTA3LCAyMjksIDQwLCAyMCwgCi0gICAgMSwgMTA3LCAyMjgsIDYsIDIwLCAxLCAxMDcsIDIyOCwgMTU4LCAyMCwgMSwgMTA3LCAyNDIsIDI0MCwgMjAsIDEsIDEwNywgCi0gICAgMjMzLCAyMjMsIDIwLCAxLCAxMDcsIDIyMywgODcsIDIyNiwgMjEzLCAyMCwgMSwgMTA3LCAyMTcsIDg3LCAyMCwgMSwgMTA3LCAKLSAgICAyMTYsIDExLCAyMCwgMSwgMTA3LCAyMjcsIDE1MiwgMjAsIDEsIDEwNywgMjIyLCAyNDIsIDIwLCAxLCAxMDcsIDIzMywgNTUsIAotICAgIDIwLCAxLCAxMDcsIDIzMSwgODQsIDIwLCAxLCAxMDcsIDE5NCwgMjAsIDEsIDEwNywgMjE4LCA1LCAyMCwgMSwgMTA3LCAKLSAgICAyMzAsIDEwNywgMjAsIDEsIDEwNywgMjIwLCAyOSwgMjAsIDEsIDEwNywgMjIwLCAzOSwgMjAsIDEsIDEwNywgMjMzLCAxNjEsIAotICAgIDIwLCAxLCAxMDcsIDIyNywgMjQyLCAyMCwgMSwgMTA3LCAyMTksIDIyNywgMjAsIDEsIDEwNywgMjI3LCAyNTEsIDIwLCAxLCAKLSAgICAxMDcsIDIyNSwgMjE0LCAyMCwgMSwgMTA3LCAyMjgsIDIzOCwgMjAsIDEsIDEwNywgMjE5LCAyNTQsIDIwLCAxLCAxMDcsIAotICAgIDIyNCwgMTM2LCAyMCwgMSwgMTA3LCAyMzAsIDUxLCAyMCwgMSwgMTA3LCAyMzIsIDEyNSwgMjAsIDEsIDEwNywgMjIzLCA4NywgCi0gICAgMjMwLCAxMDEsIDIwLCAxLCAxMDcsIDIxNiwgMTE4LCAyMCwgMSwgMTA3LCAyMjcsIDI0MywgMjAsIDEsIDEwNywgMjMxLCAKLSAgICAxMjgsIDE5OSwgMjAsIDEsIDEwNywgMjIxLCAyMzQsIDIwLCAxLCAxMDcsIDI0NCwgMjAzLCAyMCwgMSwgODIsIDIyOSwgCi0gICAgMTQ4LCAyMCwgMSwgODIsIDIxNiwgMTcsIDIwLCAxLCA4MiwgMjMxLCAxMTcsIDIwLCAxLCA4MiwgMjMzLCA5NCwgMjAsIDEsIAotICAgIDgyLCAyMTMsIDEyOCwgMjAsIDEsIDgyLCAyMzIsIDEzMSwgMjAsIDEsIDgyLCAyMjYsIDkzLCAyMCwgMSwgODIsIDIxOSwgCi0gICAgNDcsIDIwLCAxLCA4MiwgMjIzLCAxNDgsIDIwLCAxLCA4MiwgMjI4LCA4LCAyMCwgMSwgODIsIDIyOSwgMTE5LCAyMCwgMSwgCi0gICAgODIsIDIyNCwgMTUwLCAyMCwgMSwgODIsIDIxNywgNjMsIDIwLCAxLCA4MiwgMjI5LCAyNywgMjAsIDEsIDgyLCAyMzMsIAotICAgIDI1MSwgMjAsIDEsIDgyLCAyMTEsIDE4NywgMjAsIDEsIDgyLCAyMjEsIDE3MiwgMjAsIDEsIDgyLCAyMjksIDUwLCAyMCwgMSwgCi0gICAgODIsIDIyNiwgOTAsIDIwLCAxLCA4MiwgMjE2LCAxOCwgMjAsIDEsIDgyLCAyMzMsIDIwOCwgMjAsIDEsIDgyLCAyMzIsIAotICAgIDE0NSwgMjAsIDEsIDgyLCAyMjgsIDExLCAyMCwgMSwgODIsIDIyOSwgMywgMjAsIDEsIDgyLCAyMzEsIDIyNSwgMjAsIDEsIAotICAgIDgyLCAyMjksIDIwLCAyMCwgMSwgODIsIDIyOSwgMiwgMjAsIDEsIDgyLCAyMjgsIDEwLCAyMCwgMSwgODIsIDIyMiwgMjQwLCAKLSAgICAyMCwgMSwgODIsIDIyOCwgMTc2LCAyMCwgMSwgODIsIDIyNSwgMjEzLCAyMCwgMSwgODIsIDIyMiwgMzMsIDIwLCAxLCA4MiwgCi0gICAgMjI5LCAzNSwgMjAsIDEsIDgyLCAyMzEsIDE1LCAyMCwgMSwgODIsIDI0MiwgMjM0LCAyMCwgMSwgODIsIDIyOSwgMjMsIDIwLCAKLSAgICAxLCA4MiwgMjI4LCAxODcsIDIwLCAxLCA4MiwgMjMxLCAxNzcsIDIwLCAxLCA4MiwgMjMyLCAxMjcsIDIwLCAxLCA4MiwgCi0gICAgMjI5LCA1NSwgMjAsIDEsIDgyLCAyMjksIDEzMiwgMjAsIDEsIDgyLCAyMTcsIDg2LCAyMjcsIDI0OSwgMjAsIDEsIDgyLCAKLSAgICAyMjAsIDEyOSwgMjAsIDEsIDgyLCAyMjQsIDE0NiwgMjAsIDEsIDgyLCAyMjksIDE1MiwgMjE5LCA1MywgMjAsIDEsIDgyLCAKLSAgICAyMjksIDQzLCAyMjcsIDE2NCwgMjAsIDEsIDgyLCAyMTEsIDQsIDIwLCAxLCA4MiwgMjQyLCAyMzUsIDIwLCAxLCA4MiwgCi0gICAgMjE1LCAxMTgsIDIwLCAxLCA4MiwgMjExLCAxOSwgMjAsIDEsIDgyLCAyMjUsIDE5LCAyMCwgMSwgODIsIDIxNSwgMTA4LCAKLSAgICAyMCwgMSwgODIsIDIzNCwgMTYwLCAyMCwgMSwgODIsIDIxOCwgODEsIDIwLCAxLCA4MiwgMjE2LCAyMjAsIDIwLCAxLCA4MiwgCi0gICAgMjEzLCAxODQsIDIwLCAxLCA4MiwgMjEyLCA2LCAyMCwgMSwgODIsIDIzMywgMTM4LCAyMCwgMSwgODIsIDIyNCwgMTUzLCAKLSAgICAyMCwgMSwgODIsIDIxNywgOTcsIDIwLCAxLCA4MiwgMjQyLCAyNTQsIDIwLCAxLCA4MiwgMjI5LCA2NCwgMjAsIDEsIDgyLCAKLSAgICAyMjAsIDQyLCAyMCwgMSwgODIsIDIzMSwgMTAsIDIwLCAxLCA4MiwgMjMxLCAxMjEsIDIwLCAxLCA4MiwgMjI3LCAxMTksIAotICAgIDIwLCAxLCA4MiwgMjI4LCAxNDEsIDIwLCAxLCA4MiwgMjQzLCA4MCwgMjAsIDEsIDgyLCAyMTUsIDEwOSwgMjAsIDEsIDgyLCAKLSAgICAyMzMsIDIxNywgMjAsIDEsIDgyLCAyMTEsIDY3LCAyMCwgMSwgODIsIDIyNywgMTUzLCAyNTAsIDI0LCAyMCwgMSwgODIsIAotICAgIDIxMCwgMjUwLCAyMCwgMSwgODIsIDIzMSwgMjcsIDIwLCAxLCA4MiwgMjI5LCAxMzcsIDIwLCAxLCA4MiwgMjI1LCAxMDMsIAotICAgIDIwLCAxLCA4MiwgMjEwLCAxOTcsIDIwLCAxLCA4MiwgMjMzLCAxMiwgMjAsIDEsIDgyLCAyNDMsIDI0MCwgMjAsIDEsIDgyLCAKLSAgICAyNDMsIDc5LCAyMCwgMSwgODIsIDIyOSwgMTMsIDIwLCAxLCA4MiwgMjM0LCAxNjIsIDIwLCAxLCA4MiwgMjMxLCAyMjgsIAotICAgIDIwLCAxLCA4MiwgMjI5LCAyNiwgMjAsIDEsIDgyLCAyNDIsIDI0MSwgMjAsIDEsIDgyLCAyNDQsIDIwNCwgMjAsIDEsIDgyLCAKLSAgICAyMjcsIDI0NCwgMjAsIDEsIDgyLCAyMjUsIDE1NiwgMjAsIDEsIDgyLCAyMTEsIDE3LCAyMCwgMSwgODIsIDIyOSwgNTEsIAotICAgIDIwLCAxLCA4MiwgMjI3LCAxNTMsIDI1MiwgMzEsIDIwLCAxLCA4MiwgMjI3LCA5OSwgMjAsIDEsIDgyLCAyMjQsIDI1MCwgCi0gICAgMjAsIDEsIDgyLCAyMzAsIDIyNSwgMjAsIDEsIDgyLCAyNDMsIDIzOCwgMjAsIDEsIDgyLCAyMjksIDIyNSwgMjAsIDEsIDgyLCAKLSAgICAyMzAsIDEwNSwgMjAsIDEsIDgyLCAyNDIsIDI0MCwgMjAsIDEsIDgyLCAyNDMsIDI0MiwgNzQsIDIwLCAxLCA4MiwgMjMwLCAKLSAgICA1MiwgMjAsIDEsIDgyLCAyMjQsIDE0OSwgMjAsIDEsIDgyLCAyMjksIDE1LCAyMCwgMSwgODIsIDIzMywgMTk1LCAyMCwgMSwgCi0gICAgODIsIDIyNSwgMTAwLCAyMCwgMSwgODIsIDIyNywgMjUyLCAyMCwgMSwgODIsIDIxMSwgMTgsIDIwLCAxLCA4MiwgMjI5LCAKLSAgICAzNiwgMjAsIDEsIDgyLCAyMjYsIDk0LCAyMjUsIDE5MCwgMjAsIDEsIDgyLCAyNDMsIDI0MiwgMjUxLCAyMywgMjAsIDEsIAotICAgIDgyLCAyNDQsIDQ1LCAyMCwgMSwgODIsIDIyOCwgMTgxLCAyMCwgMSwgODIsIDYxLCAyMCwgMSwgODIsIDIxNiwgMTEsIDIwLCAKLSAgICAxLCA4MiwgNzgsIDIwLCAxLCA4MiwgNzQsIDIwLCAxLCA4MiwgMjMzLCA5MiwgMjAsIDEsIDgyLCAyMjYsIDk0LCAyMjUsIAotICAgIDI2LCAyMCwgMSwgODIsIDIxNywgMTAyLCAyMCwgMSwgODIsIDIxNywgNTIsIDIwLCAxLCA4MiwgMjI5LCAxNTIsIDIzMCwgCi0gICAgMzksIDI0MCwgMjQxLCAyMCwgMSwgODIsIDIyMCwgMTcsIDIwLCAxLCA4MiwgMjExLCAxNCwgMjAsIDEsIDgyLCAyMjgsIAotICAgIDI1MiwgMjAsIDEsIDgyLCAyMTAsIDIwMiwgMjAsIDEsIDgyLCAyMTAsIDIyNywgMjE3LCAyNDEsIDIwLCAxLCA4MiwgMjEwLCAKLSAgICAyMjcsIDI0OSwgMTU1LCAyMCwgMSwgODIsIDIxMCwgMTg3LCAyMCwgMSwgODIsIDIxMCwgMTk1LCAyMCwgMSwgODIsIDIzNCwgCi0gICAgMTQ4LCAyMCwgMSwgODIsIDIyNSwgMTU0LCAyMCwgMSwgODIsIDIyOCwgMTgyLCAyNDUsIDExMCwgMjAsIDEsIDgyLCAyMjQsIAotICAgIDE0NywgMjAsIDEsIDgyLCAyMTEsIDE5MiwgMjAsIDEsIDgyLCAyNDQsIDE1NSwgMjAsIDEsIDgyLCAyMTMsIDI1MCwgMjAsIAotICAgIDEsIDgyLCAyMzIsIDEwMywgMjAsIDEsIDgyLCAyMzAsIDIzNSwgMjAsIDEsIDgyLCAyMjMsIDU0LCAyMCwgMSwgODIsIDIyMywgCi0gICAgMTc0LCAyMCwgMSwgODIsIDIyOCwgMjUxLCAyMCwgMSwgODIsIDIyOSwgODIsIDIwLCAxLCA4MiwgMjIwLCA5LCAyMCwgMSwgCi0gICAgODIsIDIxOSwgMjU0LCAyMCwgMSwgODIsIDI0MywgMjQyLCAyMjMsIDg5LCAyMCwgMSwgODIsIDE5OCwgMjAsIDEsIDgyLCAKLSAgICAyMjUsIDExMSwgMjAsIDEsIDgyLCAyMzIsIDEyNSwgMjAsIDEsIDgyLCAyMzQsIDM0LCAyMCwgMSwgODIsIDIzMSwgNjMsIAotICAgIDIwLCAxLCA4MiwgMTg2LCAyMCwgMSwgODIsIDIzMSwgMTc0LCAyMCwgMSwgODIsIDIxNiwgMjIyLCAyMCwgMSwgODIsIDIzNCwgCi0gICAgOTgsIDIwLCAxLCA4MiwgMjMwLCAxNTUsIDIwLCAxLCA4MiwgMjE2LCAyNDgsIDIwLCAxLCA4MiwgMjQ0LCAxNzcsIDIwLCAxLCAKLSAgICA4MiwgMjQyLCAyMzAsIDIwLCAxLCAyMjUsIDE0MCwgMTc2LCAyMCwgMSwgMjI1LCAxNDAsIDY5LCAyMCwgMSwgMjI1LCAxNDAsIAotICAgIDIzMywgMjIzLCAyMCwgMSwgMjI1LCAxNDAsIDI0NSwgMjE3LCAyMCwgMSwgMjI1LCAxNDAsIDIyMywgMTExLCAyMCwgMSwgCi0gICAgMjI1LCAxNDAsIDIxNywgODcsIDIwLCAxLCAyMjUsIDE0MCwgMjI3LCAxNTIsIDIwLCAxLCAyMjUsIDE0MCwgMjMzLCAxNDEsIAotICAgIDIwLCAxLCAyMjUsIDE0MCwgMjIyLCAyNDIsIDIwLCAxLCAyMjUsIDE0MCwgMjIzLCAzMiwgMjAsIDEsIDIyNSwgMTQwLCAKLSAgICAyMzEsIDg0LCAyMCwgMSwgMjI1LCAxNDAsIDIxNywgMTAyLCAyMCwgMSwgMjI1LCAxNDAsIDIyOSwgMTUxLCAyMCwgMSwgCi0gICAgMjI1LCAxNDAsIDIyOCwgMTg4LCAyMCwgMSwgMjI1LCAxNDAsIDE5NCwgMjAsIDEsIDIyNSwgMTQwLCAyMTgsIDUsIDIwLCAxLCAKLSAgICAyMjUsIDE0MCwgMjIwLCAyOSwgMjAsIDEsIDIyNSwgMTQwLCAyMTksIDE5MywgMjAsIDEsIDIyNSwgMTQwLCAyMjAsIDEyNSwgCi0gICAgMjAsIDEsIDIyNSwgMTQwLCAyMzMsIDE2MSwgMjAsIDEsIDIyNSwgMTQwLCAyMzQsIDE2MiwgMjAsIDEsIDIyNSwgMTQwLCAKLSAgICAyMjcsIDIxMywgMjAsIDEsIDIyNSwgMTQwLCAyMjcsIDI0MiwgMjAsIDEsIDIyNSwgMTQwLCAyMjgsIDE1OSwgMjAsIDEsIAotICAgIDIyNSwgMTQwLCAyMTAsIDIyNiwgMjAsIDEsIDIyNSwgMTQwLCAyMTksIDIyNywgMjAsIDEsIDIyNSwgMTQwLCAxOTIsIDIwLCAKLSAgICAxLCAyMjUsIDE0MCwgMjI4LCAxNCwgMjAsIDEsIDIyNSwgMTQwLCAyMjUsIDE1NCwgMjAsIDEsIDIyNSwgMTQwLCAyMjcsIAotICAgIDI1MSwgMjAsIDEsIDIyNSwgMTQwLCAyMTEsIDE5MiwgMjAsIDEsIDIyNSwgMTQwLCAyMjUsIDIxNCwgMjAsIDEsIDIyNSwgCi0gICAgMTQwLCAyMjIsIDE0MiwgMjAsIDEsIDIyNSwgMTQwLCAyMjgsIDIzOCwgMjAsIDEsIDIyNSwgMTQwLCAyMjMsIDU0LCAyMCwgCi0gICAgMSwgMjI1LCAxNDAsIDIzNCwgMTcxLCAyMCwgMSwgMjI1LCAxNDAsIDIyOSwgMTIsIDIwLCAxLCAyMjUsIDE0MCwgMjI5LCAKLSAgICA2MSwgMjAsIDEsIDIyNSwgMTQwLCAyMjAsIDksIDIwLCAxLCAyMjUsIDE0MCwgMjI0LCAxNTAsIDIwLCAxLCAyMjUsIDE0MCwgCi0gICAgMjQ0LCA0NSwgMjAsIDEsIDIyNSwgMTQwLCAyMTIsIDY1LCAyMCwgMSwgMjI1LCAxNDAsIDIzMiwgMjQ3LCAyMCwgMSwgMjI1LCAKLSAgICAxNDAsIDIzMiwgMTI1LCAyMCwgMSwgMjI1LCAxNDAsIDIzNCwgMzQsIDIwLCAxLCAyMjUsIDE0MCwgMjMxLCAxMTksIDIwLCAKLSAgICAxLCAyMjUsIDE0MCwgMjIzLCA4NiwgMjAsIDEsIDIyNSwgMTQwLCAxODYsIDIwLCAxLCAyMjUsIDE0MCwgMjMwLCAxNjYsIAotICAgIDIwLCAxLCAyMjUsIDE0MCwgMjMxLCAxMjcsIDIwLCAxLCAyMjUsIDE0MCwgMjE2LCAyMzEsIDIwLCAxLCAyMjUsIDE0MCwgCi0gICAgMjM0LCAxLCAyMCwgMSwgMjI1LCAxNDAsIDIyMSwgMjUzLCAyMCwgMSwgMjI1LCAxNDAsIDIxMiwgMTE1LCA5NSwgMSwgMTkxLCAKLSAgICA5NSwgMSwgMjUyLCAxOTksIDk1LCAxLCA4LCAxOTEsIDk1LCAxLCAyMjUsIDQ1LCA5NSwgMSwgMTg2LCA5NSwgMSwgMjMwLCAKLSAgICAyMzgsIDk1LCAxLCAyNTQsIDMxLCAxODYsIDk1LCAxLCAyNDQsIDIwNCwgOTUsIDEsIDIxNCwgMjcsIDk1LCAxLCAyMTMsIAotICAgIDE3NywgOTUsIDEsIDIxNywgMTA2LCA5NSwgMSwgMjQ4LCAyMjksIDk1LCAxLCA4LCAyMTUsIDE1NywgOTUsIDEsIDgsIDIxNywgCi0gICAgMTA2LCA5NSwgMSwgMjE1LCAxNTcsIDk1LCAxLCAyNDgsIDE0MywgOTUsIDEsIDE5OCwgOTUsIDEsIDIyOCwgMjQyLCA5NSwgCi0gICAgMSwgOCwgMjI4LCAxMTUsIDk1LCAxLCAyNTQsIDMxLCAxOTgsIDk1LCAxLCAyMjgsIDExNSwgOTUsIDEsIDIyOCwgMTAxLCAKLSAgICA5NSwgMSwgMjMzLCAxNDEsIDk1LCAxLCAyMzIsIDY2LCA5NSwgMSwgMjMzLCA0LCA5NSwgMSwgMjMyLCAyNDksIDk1LCAxLCAKLSAgICAyMTYsIDU3LCA5NSwgMSwgMjQ3LCAxNjEsIDk1LCAxLCAyMTYsIDQ5LCA5NSwgMSwgMjQ3LCAxNjAsIDk1LCAxLCAxNzYsIAotICAgIDk1LCAxLCAyNDMsIDE0MiwgOTUsIDEsIDgsIDE3NiwgOTUsIDEsIDIyNCwgOTEsIDk1LCAxLCAyMjQsIDY5LCA5NSwgMSwgCi0gICAgMjI5LCA4MiwgOTUsIDEsIDIyOSwgMzMsIDk1LCAxLCAyNTQsIDMxLCAyMjksIDgyLCA5NSwgMSwgMTYyLCA5NSwgMSwgMjExLCAKLSAgICAxNjUsIDk1LCAxLCAyNDMsIDAsIDk1LCAxLCAyNDIsIDIzMywgOTUsIDEsIDIxNSwgMTY2LCA5NSwgMSwgMjQ2LCAzNCwgOTUsIAotICAgIDEsIDIyNywgMTY5LCA5NSwgMSwgMjI3LCAxNTQsIDk1LCAxLCAyMTUsIDE3NiwgOTUsIDEsIDI0NiwgNDEsIDk1LCAxLCA4LCAKLSAgICAyMTUsIDE3NiwgOTUsIDEsIDgsIDI0NiwgNDEsIDk1LCAxLCAyMjMsIDEwOSwgMjE1LCAxNzYsIDk1LCAxLCAyMjAsIDEwNCwgCi0gICAgOTUsIDEsIDIxOCwgMjI1LCA5NSwgMSwgMjEwLCA4MiwgOTUsIDEsIDIxMCwgMTQsIDk1LCAxLCAyMTUsIDE4NCwgOTUsIDEsIAotICAgIDI0NiwgNDYsIDk1LCAxLCA4LCAyMTUsIDE4NCwgOTUsIDEsIDIwNiwgOTUsIDEsIDIxMCwgMTE2LCA5NSwgMSwgMjEwLCAxNSwgCi0gICAgOTUsIDEsIDIwOSwgMjQzLCA5NSwgMSwgMjA5LCAyMjMsIDk1LCAxLCAyNTQsIDMxLCAyMDksIDI0MywgOTUsIDEsIDIwOSwgCi0gICAgMjE1LCA5NSwgMSwgMjA5LCAyMjIsIDk1LCAxLCAyMTIsIDY1LCA5NSwgMSwgMjU0LCAyMTgsIDk1LCAxLCAyNDEsIDE5NiwgCi0gICAgOTUsIDEsIDIyOSwgMTk3LCA5NSwgNSwgMjUzLCAyMzAsIDk1LCA1LCAyMjMsIDEwOSwgMjEzLCAxMzMsIDk1LCA1LCAyMjMsIAotICAgIDEwOSwgMjUzLCAyMzAsIDk1LCAyNSwgNSwgNjEsIDk1LCAyNSwgNSwgMjU1LCA4MiwgOTUsIDI1LCA1LCAyNTQsIDIxNCwgCi0gICAgOTUsIDI1LCA1LCAyNTQsIDEzMSwgOTUsIDI1LCA1LCAyNTQsIDEyMywgOTUsIDI1LCA1LCA3OCwgOTUsIDI1LCA1LCAyMjYsIAotICAgIDE4NywgOTUsIDI1LCA1LCAyMTEsIDIyNywgOTUsIDI1LCA1LCAyMTIsIDk4LCA5NSwgMjUsIDUsIDc2LCA5NSwgMjUsIDUsIAotICAgIDI0NSwgMTU4LCA5NSwgMjUsIDUsIDI0NSwgMTQ2LCA5NSwgMjUsIDUsIDIyNiwgMjM2LCA5NSwgMjUsIDUsIDc0LCA5NSwgCi0gICAgMjUsIDUsIDI0MCwgMTI2LCA5NSwgMjUsIDUsIDI0MCwgMTI1LCA5NSwgMjUsIDUsIDI0MCwgMTI0LCA5NSwgMjUsIDUsIAotICAgIDIzNSwgMTk2LCA5NSwgMjUsIDUsIDIzNiwgNjcsIDk1LCAyNSwgNSwgMjM2LCA0MCwgOTUsIDI1LCA1LCAyMzUsIDE2MiwgCi0gICAgOTUsIDI1LCA1LCAyMzUsIDIzOCwgOTUsIDI1LCA1LCA2OSwgOTUsIDI1LCA1LCAyMTQsIDIyOSwgOTUsIDI1LCA1LCAyMTQsIAotICAgIDIyOCwgOTUsIDI1LCA1LCAyMTQsIDIyNywgOTUsIDI1LCA1LCAyMTQsIDExOCwgOTUsIDI1LCA1LCAyMTQsIDIxMSwgOTUsIAotICAgIDI1LCA1LCAyMTQsIDE3OCwgOTUsIDI1LCA1LCAyMTEsIDExNywgOTUsIDI1LCA1LCAyMTEsIDgsIDk1LCAyNSwgNSwgMjU0LCAKLSAgICAyNTIsIDk1LCAyNSwgNSwgMjU0LCAyNDgsIDk1LCAyNSwgNSwgMjQ1LCA5NCwgOTUsIDI1LCA1LCAyMjIsIDE4NSwgMjQ1LCAKLSAgICA5NCwgOTUsIDI1LCA1LCAyNDUsIDEwMCwgOTUsIDI1LCA1LCAyMjIsIDE4NSwgMjQ1LCAxMDAsIDk1LCAyNSwgNSwgMjU0LCAKLSAgICAyMTAsIDk1LCAyNSwgNSwgMjQ1LCAyMDMsIDk1LCAyNSwgNSwgMjUzLCAyMDAsIDk1LCAyNSwgNSwgMjI2LCAxMzgsIDk1LCAKLSAgICAyNSwgNSwgMjMwLCAzMCwgOTUsIDI1LCA1LCAyMjksIDg0LCA5NSwgMTM4LCAyMjIsIDI1NCwgOTUsIDEzOCwgMjE2LCAxNSwgCi0gICAgMjIyLCAyNTQsIDk1LCAxMzgsIDQ4LCA5NSwgMTM4LCA1MSwgOTUsIDEsIDIxNiwgMjksIDk1LCAxLCAyMTYsIDI4LCA5NSwgCi0gICAgMSwgMjE2LCAyNywgOTUsIDEsIDIxNiwgMjYsIDk1LCAxLCAyMTYsIDI1LCA5NSwgMSwgMjE2LCAyNCwgOTUsIDEsIDIxNiwgCi0gICAgMjMsIDk1LCAxLCAyMjMsIDEwOSwgMjE2LCAzMCwgOTUsIDEsIDIyMywgMTA5LCAyMTYsIDI5LCA5NSwgMSwgMjIzLCAxMDksIAotICAgIDIxNiwgMjcsIDk1LCAxLCAyMjMsIDEwOSwgMjE2LCAyNiwgOTUsIDEsIDIyMywgMTA5LCAyMTYsIDI1LCA5NSwgMSwgMjIzLCAKLSAgICAxMDksIDIxNiwgMjMsIDU2LCAxLCAyNTQsIDMxLCA3NiwgMTQxLCAxLCAyNTQsIDMxLCAyMTEsIDQ3LCA0OSwgMjgsIDE2LCAKLSAgICAyMjQsIDE1NywgNDksIDI4LCAxNiwgMjQ4LCAxNjYsIDQ5LCAyOCwgMTYsIDIyNSwgMTc4LCA0OSwgMjgsIDE2LCAyMjYsIAotICAgIDExNywgMjQ1LCAxODYsIDQ5LCAyOCwgMTYsIDIyNiwgMTE3LCAyNDcsIDIwOSwgNDksIDI4LCAxNiwgMjE0LCAxNiwgMjQ1LCAKLSAgICAxODYsIDQ5LCAyOCwgMTYsIDIxNCwgMTYsIDI0NywgMjA5LCA0OSwgMjgsIDE2LCAyMzQsIDIwMywgNDksIDI4LCAxNiwgCi0gICAgMjE3LCAxNzAsIDQ5LCAyOCwgMTYsIDIyNiwgMTMsIDQ5LCAyOCwgMTYsIDIxMCwgMjE3LCA0OSwgMjgsIDE2LCAyMTAsIAotICAgIDIxOCwgMjQ3LCAyMDksIDQ5LCAyOCwgMTYsIDIzMywgMjQwLCA0OSwgMjgsIDE2LCAyNTQsIDc2LCAyNDUsIDE4NiwgNDksIAotICAgIDI4LCAxNiwgMjQ1LCAzNCwgMjQ1LCAxODYsIDQ5LCAyOCwgMTYsIDIxNywgMywgNDksIDI4LCAxNiwgMjM0LCAxNjcsIDQ5LCAKLSAgICAyOCwgMTYsIDI1NCwgNjYsIDQ5LCAyOCwgMTYsIDI1NCwgNjcsIDI0NywgMjA5LCA0OSwgMjgsIDE2LCAyMTcsIDE3NiwgNDksIAotICAgIDI4LCAxNiwgMjE2LCAxNjAsIDQ5LCAyOCwgMTYsIDIyNiwgMjEwLCAyNTQsIDI5LCA0OSwgMjgsIDE2LCAyNDIsIDE2NiwgCi0gICAgMjU0LCAyOSwgNDksIDI4LCAxNiwgMjI0LCAxNTYsIDQ5LCAyOCwgMTYsIDI1MCwgMTU3LCA0OSwgMjgsIDE2LCAyMTQsIDYsIAotICAgIDQ5LCAyOCwgMTYsIDIzNSwgMTcwLCAyNTQsIDI5LCA0OSwgMjgsIDE2LCAyMzQsIDE2OSwgMjU0LCAyOSwgNDksIDI4LCAxNiwgCi0gICAgMjM0LCAxNjgsIDI1NCwgMjksIDQ5LCAyOCwgMTYsIDIyMSwgMjE1LCA0OSwgMjgsIDE2LCAyMjYsIDQsIDQ5LCAyOCwgMTYsIAotICAgIDIxOCwgMTQ4LCAyNTQsIDY5LCA0OSwgMjgsIDE2LCAyMjYsIDExNiwgMjU0LCAyOSwgNDksIDI4LCAxNiwgMjE0LCAxNSwgCi0gICAgMjU0LCAyOSwgNDksIDI4LCAxNiwgMjU0LCA3MCwgMjU0LCAyOSwgNDksIDI4LCAxNiwgMjU0LCA2NCwgNDksIDI4LCAxNiwgCi0gICAgMjM0LCA0MywgNDksIDI4LCAxNiwgMjIzLCA0OSwgNDksIDI4LCAxNiwgMjI1LCAxMDksIDI1NCwgMjksIDQ5LCAyOCwgMTYsIAotICAgIDIxNiwgODQsIDQ5LCAyOCwgMTYsIDI1NCwgMTI5LCA0OSwgMjgsIDE2LCAyMjEsIDE2MSwgNDksIDI4LCAxNiwgMjE3LCAKLSAgICAxNzksIDI1NCwgMjksIDQ5LCAyOCwgMTYsIDIxNywgMTc5LCAyMzEsIDQ1LCAyMTgsIDE0NiwgNDksIDI4LCAxNiwgMjI2LCAKLSAgICAxMTEsIDI1NCwgMjksIDQ5LCAyOCwgMTYsIDIxNiwgMTkxLCA0OSwgMjgsIDE2LCAyMzMsIDMzLCA0OSwgMjgsIDE2LCAyNDYsIAotICAgIDQ5LCA0OSwgMjgsIDE2LCAyMTUsIDIyOCwgNDksIDI4LCAxNiwgMjE2LCAyMzMsIDQ5LCAyOCwgMTYsIDIzMywgMjQzLCA0OSwgCi0gICAgMjgsIDE2LCAyNTQsIDc2LCAyNDUsIDM0LCAyMjksIDEwMCwgNDksIDI4LCAxNiwgMjQzLCAyNDMsIDI1NCwgMjksIDQ5LCAKLSAgICAyOCwgMTYsIDIzNiwgMTksIDQ5LCAyOCwgMTYsIDIxNSwgMjAwLCAyNTQsIDI5LCA0OSwgMjgsIDE2LCAyMzQsIDIwNiwgCi0gICAgMjE1LCAxOTksIDQ5LCAyOCwgMTYsIDIyNSwgMjAzLCA0OSwgMjgsIDE2LCAyMjQsIDE2MSwgNDksIDI4LCAxNiwgMjM0LCAKLSAgICAxNywgNDksIDI4LCAxNiwgMjUwLCA4OCwgMjU0LCAyOSwgNDksIDI4LCAxNiwgMjIzLCAxNDksIDQ5LCAyOCwgMTYsIDIyNiwgCi0gICAgMTYsIDI1NCwgMjksIDQ5LCAyOCwgMTYsIDIyNiwgMTQsIDI1NCwgMjksIDQ5LCAyOCwgMTYsIDI0MCwgMTE2LCA0OSwgMjgsIAotICAgIDE2LCAyMjksIDIwOCwgNDksIDI4LCAxNiwgMjI1LCAxNTksIDQ5LCAyOCwgMTYsIDIzNCwgMTgsIDI1NCwgMTU4LCA0OSwgCi0gICAgMjgsIDE2LCAyMTUsIDIwMCwgMjU0LCAxNTgsIDQ5LCAyOCwgMTYsIDIxOCwgMTI1LCA0OSwgMjgsIDE2LCAyNDIsIDEzMCwgCi0gICAgNDksIDI4LCAxNiwgMjM1LCAxNzAsIDIyOSwgMTAwLCA0OSwgMjgsIDE2LCAyMjYsIDIxMCwgMjI5LCAxMDAsIDQ5LCAyOCwgCi0gICAgMTYsIDIyNiwgMTE3LCAyMjksIDEwMCwgNDksIDI4LCAxNiwgMjI1LCAxNTgsIDQ5LCAyOCwgMTYsIDIzNCwgNCwgNDksIDI4LCAKLSAgICAxNiwgMjI1LCAxNTcsIDQ5LCAyOCwgMTYsIDIzMywgMjQyLCA0OSwgMjgsIDE2LCAyMjUsIDIwNCwgMjI5LCAxMDAsIDQ5LCAKLSAgICAyOCwgMTYsIDIzNCwgMTY4LCAyMjksIDEwMSwgMjU0LCAxMDQsIDQ5LCAyOCwgMTYsIDIzNCwgMTY5LCAyMjksIDEwMSwgCi0gICAgMjU0LCAxMDQsIDQ5LCAyOCwgMTYsIDIxMCwgMjE1LCA0OSwgMjgsIDE2LCAyNTQsIDY3LCAyMjksIDEwMCwgNDksIDI4LCAKLSAgICAxNiwgMjU0LCA2OCwgMjE3LCAxNzcsIDIyOSwgMTAwLCA0OSwgMjgsIDE2LCAyMTAsIDIxNiwgNDksIDI4LCAxNiwgMjMzLCAKLSAgICAyNDEsIDQ5LCAyOCwgMTYsIDI0NSwgMTgxLCA0OSwgMjgsIDE2LCAyNTAsIDE1OCwgNDksIDI4LCAxNiwgMjMwLCAyMDMsIAotICAgIDIzNSwgMTY5LCA0OSwgMjgsIDE2LCAyMTQsIDE2LCAyMjksIDEwMCwgNDksIDI4LCAxNiwgMjI1LCAxMDksIDIyOSwgMTAwLCAKLSAgICA0OSwgMjgsIDE2LCAyMjQsIDE2MiwgMjI5LCAxMDAsIDQ5LCAyOCwgMTYsIDIyNiwgMjA3LCA0OSwgMjgsIDE2LCAyNTQsIAotICAgIDkyLCA0OSwgMjgsIDE2LCAyMzIsIDYzLCA0OSwgMjgsIDE2LCAyMjYsIDE0LCAyMjksIDEwMCwgNDksIDI4LCAxNiwgMjI2LCAKLSAgICAxNiwgMjI5LCAxMDAsIDQ5LCAyOCwgMTYsIDI0NSwgNjgsIDIyNiwgMTUsIDQ5LCAyOCwgMTYsIDIzMywgMTU5LCA0OSwgMjgsIAotICAgIDE2LCAyNTQsIDkzLCA0OSwgMjgsIDE2LCAyMTUsIDIwMCwgMjI5LCAxMDAsIDQ5LCAyOCwgMTYsIDI0NSwgMTg0LCA0OSwgCi0gICAgMjgsIDE2LCAyMTcsIDE3OSwgMjI5LCAxMDAsIDQ5LCAyOCwgMTYsIDIxNywgMTcxLCA0OSwgMjgsIDE2LCAyNTAsIDg4LCAKLSAgICAyMjksIDEwMCwgNDksIDI4LCAxNiwgMjQ1LCAxMTQsIDQ5LCAyOCwgMTYsIDIyMSwgMTYyLCAyMjksIDEwMCwgNDksIDI4LCAKLSAgICAxNiwgMjExLCAxNTEsIDIzNCwgNDMsIDQ5LCAyOCwgMTYsIDIxNSwgMTk3LCA0OSwgMjgsIDE2LCAyMjQsIDE2MywgNDksIAotICAgIDI4LCAxNiwgMjE1LCAyMDEsIDQ5LCAyOCwgMTYsIDIxNSwgMTk4LCA0OSwgMjgsIDE2LCAyMjQsIDE2MCwgNDksIDI4LCAxNiwgCi0gICAgMjE1LCAxOTYsIDQ5LCAyOCwgMTYsIDIyNCwgMTU5LCA0OSwgMjgsIDE2LCAyNDIsIDE2NSwgNDksIDI4LCAxNiwgMjU0LCAKLSAgICAyMiwgNDksIDI4LCAxNiwgMjQ1LCA2OCwgMjU0LCAyMiwgNDksIDI4LCAxNiwgMjI2LCAxMTEsIDIyOSwgMTAwLCA0OSwgMjgsIAotICAgIDE2LCAyMTYsIDE5MCwgMjQ1LCA3NywgNDksIDI4LCAxNiwgMjE2LCAxOTAsIDI0NSwgMzMsIDQ5LCAyOCwgMTYsIDIxNiwgCi0gICAgMTkyLCAyNTQsIDcxLCA0OSwgMjgsIDE2LCAyMTYsIDE4NSwgMjM0LCAyNTMsIDI1NCwgNjMsIDQ5LCAyOCwgMTYsIDIzNCwgCi0gICAgMjA1LCA0OSwgMjgsIDE2LCAyNDUsIDE0NywgNDksIDI4LCAxNiwgMjExLCAxMSwgMjM0LCAyMDIsIDQ5LCAyOCwgMTYsIAotICAgIDIxMSwgMTEsIDI1NCwgMTA0LCA0OSwgMjgsIDE2LCAyMTgsIDE0NywgNDksIDI4LCAxNiwgMjM0LCA0NCwgMjU0LCAxMDQsIAotICAgIDQ5LCAyOCwgMTYsIDI0NywgMjEwLCAyNTQsIDI5LCA0OSwgMjgsIDE2LCAyMzMsIDI0NCwgMjU0LCAyOSwgNDksIDI4LCAxNiwgCi0gICAgMjMzLCAyNDQsIDI1NCwgMTU4LCA0OSwgMjgsIDE2LCAyMzMsIDI0NCwgMjI5LCAxMDAsIDQ5LCAyOCwgMTYsIDI1NCwgNzAsIAotICAgIDIyOSwgMTAwLCA0OSwgMjgsIDE2LCAyNTQsIDcyLCA0OSwgMjgsIDE2LCAyNDcsIDIwOSwgNDksIDI4LCAxNiwgMjE1LCAKLSAgICAyMTEsIDQ5LCAyOCwgMTYsIDIxNiwgMjI1LCA0OSwgMjgsIDE2LCAyMzQsIDgsIDQ5LCAyOCwgMTYsIDIzMywgMzgsIDI0NSwgCi0gICAgMTQyLCAyNTAsIDc5LCA0OSwgMjgsIDE2LCAyMzMsIDM4LCAyNDYsIDUwLCAyNTAsIDgwLCA0OSwgMjgsIDE2LCAyMzMsIDM4LCAKLSAgICAyMTUsIDIxMywgMjUwLCA4MCwgNDksIDI4LCAxNiwgMjMzLCAzOCwgMjE2LCAyMzUsIDI1MCwgODAsIDQ5LCAyOCwgMTYsIAotICAgIDIzMywgMzgsIDIzNiwgMTQsIDI1MCwgNzksIDQ5LCAyOCwgMTYsIDI0MiwgMTY2LCAyMjksIDEwMSwgMjU0LCAxMDQsIDQ5LCAKLSAgICAyOCwgMTYsIDI0MiwgMTY2LCAyMjYsIDUsIDI1NCwgMTgsIDQ5LCAyOCwgMTYsIDI0MiwgMTY2LCAyMjYsIDUsIDI0OCwgMzcsIAotICAgIDQ5LCAyOCwgMTYsIDI0NywgMjMzLCA0OSwgMjgsIDE2LCAyNDcsIDIzNCwgMjI2LCA1LCAyNTQsIDE5LCAyMzQsIDIwMiwgCi0gICAgNDksIDI4LCAxNiwgMjQ3LCAyMzQsIDIyNiwgNSwgMjU0LCAxOSwgMjU0LCAxMDQsIDQ5LCAyOCwgMTYsIDI0NywgMjM0LCAKLSAgICAyMjYsIDUsIDI0OCwgMzcsIDQ5LCAyOCwgMTYsIDIxNSwgMjE3LCA0OSwgMjgsIDE2LCAyNTQsIDIzLCA0OSwgMjgsIDE2LCAKLSAgICAyMzYsIDIxLCA0OSwgMjgsIDE2LCAyNDcsIDI1NCwgNDksIDI4LCAxNiwgMjU0LCAyMjAsIDIyNSwgMywgMjU0LCAyNCwgNDksIAotICAgIDI4LCAxNiwgMjU0LCAyMjAsIDI1NCwgMjEsIDQ5LCAyOCwgMTYsIDI1NCwgMjIwLCAyNTQsIDI0LCA0OSwgMjgsIDE2LCAKLSAgICAyNTQsIDIyMCwgMjMxLCAzOSwgNDksIDI4LCAxNiwgMjU0LCAyMjAsIDIzMSwgNTAsIDQ5LCAyOCwgMTYsIDI1NCwgMjIwLCAKLSAgICAyNDIsIDE2NywgNDksIDI4LCAxNiwgMjU0LCAyMjAsIDI0MiwgMTY0LCA0OSwgMjgsIDE2LCAyNTQsIDIyMCwgMjI1LCAzLCAKLSAgICAyNDIsIDE2NywgNDksIDI4LCAxNiwgMjMxLCAxNTYsIDIyNCwgMTY4LCAyNDAsIDExNCwgNDksIDI4LCAxNiwgMjMxLCAxNTYsIAotICAgIDI1NCwgMTYwLCAyMjQsIDE2OCwgMjQwLCAxMTQsIDQ5LCAyOCwgMTYsIDIzMSwgMTU2LCAyNDgsIDM2LCAyNDAsIDExNCwgCi0gICAgNDksIDI4LCAxNiwgMjMxLCAxNTYsIDI1NCwgMTYwLCAyNDgsIDM2LCAyNDAsIDExNCwgNDksIDI4LCAxNiwgMjMxLCAxNTYsIAotICAgIDIxNSwgMjA2LCAyNDAsIDExNCwgNDksIDI4LCAxNiwgMjMxLCAxNTYsIDIxNSwgMjE4LCA0OSwgMjgsIDE2LCAyMzEsIDE1NiwgCi0gICAgMjE2LCAyMjksIDI0MCwgMTE0LCA0OSwgMjgsIDE2LCAyMzEsIDE1NiwgMjE2LCAyMjksIDIzMywgNDEsIDI0MCwgMTE0LCAKLSAgICA0OSwgMjgsIDE2LCAyMzEsIDE1NiwgMjMzLCA0MSwgMjQwLCAxMTQsIDQ5LCAyOCwgMTYsIDIzMSwgMTU2LCAyMjUsIDQyLCAKLSAgICAyNDAsIDExNCwgNDksIDI4LCAxNiwgMjM1LCAxNzYsIDIxNiwgMjUyLCAyNDAsIDExNSwgNDksIDI4LCAxNiwgMjU0LCA2OCwgCi0gICAgMjE2LCAyNTIsIDI0MCwgMTE1LCA0OSwgMjgsIDE2LCAyNDQsIDE4MCwgMjE2LCAyMjYsIDQ5LCAyOCwgMTYsIDI0NCwgMTgwLCAKLSAgICAyMzAsIDE0OCwgNDksIDI4LCAxNiwgMjQ0LCAxODAsIDI0NywgMjM4LCA0OSwgMjgsIDE2LCAyMzEsIDE1NiwgMjE0LCAxMCwgCi0gICAgMjQwLCAxMTQsIDQ5LCAyOCwgMTYsIDIzMSwgMTU2LCAyMjQsIDE2NywgMjQwLCAxMTQsIDQ5LCAyOCwgMTYsIDIzMSwgMTU2LCAKLSAgICAyMjUsIDQyLCAyMTYsIDIyOSwgMjQwLCAxMTQsIDQ5LCAyOCwgMTYsIDI0MiwgMTYyLCAyMzAsIDMxLCAyNTQsIDcxLCA0OSwgCi0gICAgMjgsIDE2LCAyNDIsIDE2MiwgMjMwLCAzMSwgMjQ3LCAyMDgsIDQ5LCAyOCwgMTYsIDI0NSwgMTU2LCAyMzQsIDI1MywgMjQzLCAKLSAgICAyNDMsIDIxMywgMTI0LCA0OSwgMjgsIDE2LCAyMzYsIDIwLCA0OSwgMjgsIDE2LCAyMzYsIDE4LCA0OSwgMjgsIDE2LCAyNDMsIAotICAgIDI0MywgMjU0LCAzMCwgMjQ4LCAzNSwgMjQwLCAxMTMsIDQ5LCAyOCwgMTYsIDI0MywgMjQzLCAyNDcsIDI1MiwgMTkxLCA0OSwgCi0gICAgMjgsIDE2LCAyNDMsIDI0MywgMjQ3LCAyNTIsIDIyOSwgMjA4LCA0OSwgMjgsIDE2LCAyNDMsIDI0MywgMjI5LCAyMDMsIAotICAgIDI0MCwgMTE0LCA0OSwgMjgsIDE2LCAyNDMsIDI0MywgMjQ3LCAyNTIsIDI0OCwgMTEsIDQ5LCAyOCwgMTYsIDI0MywgMjQzLCAKLSAgICAyMTksIDEwNCwgMjQ3LCAyNTEsIDI0OCwgMTEsIDQ5LCAyOCwgMTYsIDI0MywgMjQzLCAyNDcsIDI1MiwgMjM0LCAxODgsIAotICAgIDQ5LCAyOCwgMTYsIDI0MywgMjQzLCAyNDcsIDI1MiwgMjEwLCAyMywgNDksIDI4LCAxNiwgMjQzLCAyNDMsIDI0NywgMjUyLCAKLSAgICAyMjgsIDIzOSwgMjM0LCAyMDIsIDQ5LCAyOCwgMTYsIDI0MywgMjQzLCAyNDcsIDI1MiwgMjI4LCAyMzksIDI1NCwgMTA0LCAKLSAgICA0OSwgMjgsIDE2LCAyNDMsIDI0MywgMjMxLCAxOTYsIDI1MCwgODEsIDI0NywgMjM4LCA0OSwgMjgsIDE2LCAyNDMsIDI0MywgCi0gICAgMjMxLCAxOTYsIDI1MCwgODEsIDIzMCwgMTQ4LCA0OSwgMjgsIDE2LCAyNDQsIDEzMCwgMjE5LCAxMDQsIDI1MCwgODEsIAotICAgIDIxNCwgOSwgNDksIDI4LCAxNiwgMjQzLCAyNDMsIDIxOSwgMTA0LCAyNTAsIDgxLCAyMTcsIDE4MCwgNDksIDI4LCAxNiwgCi0gICAgMjQzLCAyNDMsIDIyOSwgMTAyLCA0OSwgMjgsIDE2LCAyNTAsIDgyLCAyMDksIDI0OSwgNDksIDI4LCAxNiwgMjUwLCA4MiwgCi0gICAgMjM0LCA0MiwgNDksIDI4LCAxNiwgMjUwLCA4MiwgMjE5LCAxMSwgNDksIDI4LCAxNiwgMjQzLCAyNDMsIDI0MCwgMTYxLCAKLSAgICAyMTEsIDEwLCAyMTYsIDIzMCwgNDksIDI4LCAxNiwgMjQzLCAyNDMsIDI0NSwgMTU3LCAyNTQsIDk0LCA0OSwgMjgsIDE2LCAKLSAgICAyMTEsIDEwLCAyMTUsIDIwNywgNDksIDI4LCAxNiwgMjQ3LCAyNDYsIDIxNSwgMjA3LCA0OSwgMjgsIDE2LCAyNDcsIDI0NiwgCi0gICAgMjE2LCAyMzAsIDQ5LCAyOCwgMTYsIDI0NywgMjQ2LCAyNTQsIDczLCAyNDYsIDUwLCAyNDcsIDE0NywgNDksIDI4LCAxNiwgCi0gICAgMjQ3LCAyNDYsIDIzMCwgMTQ2LCAyMTYsIDIzNCwgMjQ3LCAxNDcsIDQ5LCAyOCwgMTYsIDI0NywgMjQ2LCAyNDcsIDIzMCwgCi0gICAgMjQ1LCA0NCwgMjQ3LCAxNDcsIDQ5LCAyOCwgMTYsIDI0NywgMjQ2LCAyMTUsIDIxNSwgMjI2LCAyMTUsIDI0NywgMTQ3LCAKLSAgICA0OSwgMjgsIDE2LCAyMTEsIDEwLCAyNTQsIDczLCAyNDYsIDUwLCAyNDcsIDE0NywgNDksIDI4LCAxNiwgMjExLCAxMCwgCi0gICAgMjMwLCAxNDYsIDIxNiwgMjM0LCAyNDcsIDE0NywgNDksIDI4LCAxNiwgMjExLCAxMCwgMjQ3LCAyMzAsIDI0NSwgNDQsIAotICAgIDI0NywgMTQ3LCA0OSwgMjgsIDE2LCAyMTEsIDEwLCAyMTUsIDIxNSwgMjI2LCAyMTUsIDI0NywgMTQ3LCA0OSwgMjgsIDE2LCAKLSAgICAyNDMsIDU2LCAyNDcsIDI0NSwgNDksIDI4LCAxNiwgMjQzLCA1NiwgMjExLCA5LCA0OSwgMjgsIDE2LCAyNDcsIDI1MywgCi0gICAgMjU0LCA3MywgMjMwLCAyMDQsIDQ5LCAyOCwgMTYsIDI0NywgMjUzLCAyNTQsIDczLCAyMzEsIDc4LCA0OSwgMjgsIDE2LCAKLSAgICAyNDcsIDI1MywgMjQ3LCAyMDksIDQ5LCAyOCwgMTYsIDI0NywgMjUzLCAyMTYsIDE4MywgNDksIDI4LCAxNiwgMjE5LCAxNjUsIAotICAgIDIxNiwgMTgzLCA0OSwgMjgsIDE2LCAyMTksIDE2NSwgMjE2LCAxODQsIDI0NywgMTk0LCA0OSwgMjgsIDE2LCAyMTksIDE2NSwgCi0gICAgMjE2LCAxODQsIDIxNSwgMjA4LCA0OSwgMjgsIDE2LCAyMTksIDE2NSwgMjE2LCAxODQsIDIxNiwgMjIzLCA0OSwgMjgsIDE2LCAKLSAgICAyMTksIDE2NSwgMjUzLCAyNTIsIDQ5LCAyOCwgMTYsIDIxOSwgMTY1LCAyNTMsIDI1MywgMjQ3LCAxOTQsIDQ5LCAyOCwgMTYsIAotICAgIDIxOSwgMTY1LCAyNTMsIDI1MywgMjE1LCAyMDgsIDQ5LCAyOCwgMTYsIDIxOSwgMTY1LCAyNTMsIDI1MywgMjE2LCAyMjMsIAotICAgIDQ5LCAyOCwgMTYsIDI0NywgMjMxLCAyNDMsIDM3LCA0OSwgMjgsIDE2LCAyNDcsIDIzNywgMjI2LCAxMzgsIDQ5LCAyOCwgCi0gICAgMTYsIDIxOCwgMTM5LCA0OSwgMjgsIDE2LCAyNTQsIDE1LCAxOTEsIDQ5LCAyOCwgMTYsIDI1NCwgMTUsIDIxMywgMTI0LCAKLSAgICA0OSwgMjgsIDE2LCAyNTQsIDE1LCAyNDMsIDE0MiwgNDksIDI4LCAxNiwgMjU0LCAxNSwgMjQ4LCAxMSwgNDksIDI4LCAxNiwgCi0gICAgMjU0LCAxNSwgMjM0LCAxODgsIDQ5LCAyOCwgMTYsIDI1NCwgMTUsIDIxMCwgMjMsIDQ5LCAyOCwgMTYsIDI1NCwgMTUsIAotICAgIDIyOCwgMjM4LCA0OSwgMjgsIDE2LCAyMzQsIDE2OCwgMjI5LCAxMDEsIDIzMSwgNDksIDQ5LCAyOCwgMTYsIDIzNCwgMTY5LCAKLSAgICAyMjksIDEwMSwgMjMxLCA0OSwgNDksIDI4LCAxNiwgMjM0LCAxNjgsIDIyOSwgMTAxLCAyMzQsIDIwMiwgNDksIDI4LCAxNiwgCi0gICAgMjM0LCAxNjksIDIyOSwgMTAxLCAyMzQsIDIwMiwgNDksIDI4LCAxNiwgMjM0LCA0NCwgMjM0LCAyMDIsIDQ5LCAyOCwgMTYsIAotICAgIDI0MiwgMTY2LCAyMjksIDEwMSwgMjM0LCAyMDIsIDI4LCAxNiwgMjE5LCAxNTcsIDI1MiwgMTQzLCAyOCwgMTYsIDUyLCAKLSAgICAyNTIsIDE0MywgMjgsIDE2LCA0MCwgMjUyLCAxNDMsIDI4LCAxNiwgMjIzLCA1MywgNDAsIDI1MiwgMTQzLCAyOCwgMTYsIAotICAgIDI0OCwgMTYzLCAyNTIsIDE0MywgMjgsIDE2LCAyMTksIDI1MywgMjUyLCAxNDMsIDI4LCAxNiwgNDMsIDIyMywgODAsIDUwLCAKLSAgICAyOCwgMTYsIDQ0LCAyMjMsIDgwLCA1MCwgMjgsIDE2LCAyMjMsIDgwLCAyNDcsIDEyNiwgMjgsIDE2LCAyNDgsIDIwNCwgCi0gICAgMjIxLCAxNjUsIDI4LCAxNiwgMjQ4LCAyMzAsIDI1MSwgMSwgMjgsIDE2LCAyMjEsIDE2NSwgMjgsIDE2LCAyNDksIDI0MiwgCi0gICAgMjgsIDE2LCAyMjMsIDc4LCAyNDQsIDExOSwgMjgsIDE2LCAyMjMsIDc4LCAyNDQsIDExOCwgMjgsIDE2LCAyMjMsIDc4LCAKLSAgICAyNDQsIDExNywgMjgsIDE2LCAyNDQsIDEzOSwgMjgsIDE2LCAyNDQsIDE0MCwgNTEsIDI4LCAxNiwgMjUxLCAxNTYsIDc5LCAKLSAgICAyOCwgMTYsIDI1MSwgMzIsIDI4LCAxNiwgMjUxLCAxNjcsIDI4LCAxNiwgMTI3LCAyOCwgMTYsIDIyNiwgMTk3LCAyMTgsIAotICAgIDE2NSwgMjgsIDE2LCAyMTUsIDU3LCAyMTgsIDE2NSwgMjgsIDE2LCAyMTYsIDE0MywgMjE4LCAxNjUsIDI4LCAxNiwgMjQ0LCAKLSAgICAxOCwgMjE4LCAxNjUsIDI4LCAxNiwgMjQ0LCA4OCwgMjE4LCAxNjUsIDI4LCAxNiwgMjE5LCAxMjYsIDIxOCwgMTY1LCAyOCwgCi0gICAgMTYsIDIxOSwgMTI0LCAyNDQsIDIsIDI4LCAxNiwgMjQ0LCAxNiwgMjQ0LCAyLCAyOCwgMTYsIDI0MywgMjEwLCAyNTAsIDIyLCAKLSAgICAyOCwgMTYsIDI0MywgMjEwLCAyNTAsIDIzLCAyMjYsIDE0MCwgMjU0LCAxNTAsIDI4LCAxNiwgMjQzLCAyMTAsIDI1MCwgMjMsIAotICAgIDIyNiwgMTQwLCAyNTIsIDEzMCwgMjgsIDE2LCAyNTEsIDc1LCAyNTAsIDIyLCAyOCwgMTYsIDI0NSwgMTUsIDI1MCwgMjIsIAotICAgIDI4LCAxNiwgMjQ1LCAxNSwgMjUwLCAyMywgMjI2LCAxNDAsIDI1NCwgMTUwLCAyOCwgMTYsIDI0NSwgMTUsIDI1MCwgMjMsIAotICAgIDIyNiwgMTQwLCAyNTIsIDEzMCwgMjgsIDE2LCAyNDYsIDkxLCAyNTAsIDIxLCAyOCwgMTYsIDI0NiwgOTEsIDI1MCwgMjAsIAotICAgIDI4LCAxNiwgMjMwLCA5MCwgMjMxLCA5NSwgMjIzLCA2NCwgMjgsIDE2LCA1MiwgMjIwLCA3NywgMjgsIDE2LCA1MiwgMjQ0LCAKLSAgICA3MywgMjgsIDE2LCAyNDQsIDc0LCAyMTQsIDE2MywgMjgsIDE2LCAyNDQsIDc0LCAyNDYsIDExNCwgMjgsIDE2LCAyMjksIAotICAgIDE5MywgMjE0LCAxNjMsIDI4LCAxNiwgMjI5LCAxOTMsIDI0NiwgMTE0LCAyOCwgMTYsIDIyMCwgNzgsIDIxNCwgMTYzLCAyOCwgCi0gICAgMTYsIDIyMCwgNzgsIDI0NiwgMTE0LCAyOCwgMTYsIDIyNCwgMjUsIDEzOCwgMjIwLCA3NywgMjgsIDE2LCAyMjQsIDI1LCAKLSAgICAxMzgsIDI0NCwgNzMsIDI4LCAxNiwgMjQ5LCAyMjQsIDIxNiwgODgsIDI4LCAxNiwgMjQ5LCA5MywgMjE2LCA4OCwgMjgsIAotICAgIDE2LCAyMjYsIDE0MCwgMjU0LCAxNTAsIDI4LCAxNiwgMjI2LCAxNDAsIDI1MiwgMTMwLCAyOCwgMTYsIDIyNCwgNywgMjU0LCAKLSAgICAxNTAsIDI4LCAxNiwgMjI0LCA3LCAyNTIsIDEzMCwgMjgsIDE2LCAyMzAsIDkzLCAyMjMsIDY0LCAyOCwgMTYsIDIxMSwgCi0gICAgMjUxLCAyMjMsIDY0LCAyOCwgMTYsIDE2MywgMjIzLCA2NCwgMjgsIDE2LCAyMjQsIDI1LCAyMjMsIDY0LCAyOCwgMTYsIAotICAgIDI0NSwgMTk3LCAyMjMsIDY0LCAyOCwgMTYsIDIxOSwgMTIwLCAyMjMsIDY0LCAyOCwgMTYsIDIxNiwgMTYxLCAyMjMsIDY0LCAKLSAgICAyOCwgMTYsIDIxOSwgMTEyLCAyMjMsIDY0LCAyOCwgMTYsIDEyMywgMjQwLCAyMTgsIDIxNSwgNzEsIDIyMywgNjQsIDI4LCAKLSAgICAxNiwgMjExLCAxNzksIDIyOCwgNDgsIDI4LCAxNiwgOTYsIDIyOCwgNDgsIDI4LCAxNiwgMjUwLCA0NCwgMjExLCAxNzksIAotICAgIDIyOCwgNDgsIDI4LCAxNiwgNDIsIDIyOCwgNDksIDIxMSwgMjUzLCAyOCwgMTYsIDQyLCAyMjgsIDQ5LCAyNTEsIDIyOSwgCi0gICAgMjgsIDE2LCAyMTUsIDIyNywgMjI4LCA0OSwgMTIwLCAyMTEsIDI1MywgMjgsIDE2LCAyMTUsIDIyNywgMjI4LCA0OSwgMTIwLCAKLSAgICAyNTEsIDIyOSwgMjgsIDE2LCAyMTUsIDIyNywgMjI4LCA0OSwgNDMsIDIxMSwgMjUzLCAyOCwgMTYsIDIxNSwgMjI3LCAyMjgsIAotICAgIDQ5LCA0MywgMjUxLCAyMjksIDI4LCAxNiwgMjE1LCAyMjcsIDIyOCwgNDksIDQ0LCAyMTEsIDI1MywgMjgsIDE2LCAyMTUsIAotICAgIDIyNywgMjI4LCA0OSwgNDQsIDI1MSwgMjI5LCAyOCwgMTYsIDIxNSwgMjI3LCAyMjgsIDQ5LCAxMjQsIDIxMSwgMjUzLCAyOCwgCi0gICAgMTYsIDIxNSwgMjI3LCAyMjgsIDQ5LCAxMjQsIDI1MSwgMjI5LCAyOCwgMTYsIDIxNSwgMjI3LCAyMjgsIDQ5LCAxMjAsIDQ0LCAKLSAgICAyMTEsIDI1MywgMjgsIDE2LCAyMTUsIDIyNywgMjI4LCA0OSwgMTIwLCA0NCwgMjUxLCAyMjksIDI4LCAxNiwgMjMwLCAxMzQsIAotICAgIDIyOCwgNDksIDIxMSwgMjUzLCAyOCwgMTYsIDIzMCwgMTM0LCAyMjgsIDQ5LCAyNTEsIDIyOSwgMjgsIDE2LCAyMTUsIDIyNCwgCi0gICAgMjI4LCA0OSwgMTI0LCAyMTEsIDI1MywgMjgsIDE2LCAyMTUsIDIyNCwgMjI4LCA0OSwgMTI0LCAyNTEsIDIyOSwgMjgsIDE2LCAKLSAgICAyMjYsIDgsIDIyOCwgNDgsIDI4LCAxNiwgMjEzLCAxMzIsIDIyOCwgNDgsIDI4LCAxNiwgMjI4LCA0OSwgMjUxLCAyMjksIAotICAgIDI4LCAxNiwgMjI3LCAyMDcsIDIyOCwgNDgsIDI4LCAxNiwgMjQ5LCAyNDksIDIyOCwgNDksIDIxMSwgMjUzLCAyOCwgMTYsIAotICAgIDI0OSwgMjQ5LCAyMjgsIDQ5LCAyNTEsIDIyOSwgMjgsIDE2LCAyNTEsIDE1NCwgMjgsIDE2LCAyMTEsIDI1MSwgMjI4LCA1MiwgCi0gICAgMjgsIDE2LCAxNjMsIDIyOCwgNTIsIDI4LCAxNiwgMjI0LCAyNSwgMjI4LCA1MiwgMjgsIDE2LCAyNDUsIDE5NywgMjI4LCAKLSAgICA1MiwgMjgsIDE2LCAyMTksIDEyMCwgMjI4LCA1MiwgMjgsIDE2LCAyMTYsIDE2MSwgMjI4LCA1MiwgMjgsIDE2LCAyMTksIAotICAgIDExMiwgMjI4LCA1MiwgMjgsIDE2LCAxMjMsIDI0MCwgMjE4LCAyMTUsIDcxLCAyMjgsIDUyLCAyOCwgMTYsIDM4LCAyMTgsIAotICAgIDE0MSwgMjgsIDE2LCAzOCwgMjE4LCAyNDIsIDIxOCwgMTQxLCAyOCwgMTYsIDM4LCAyMTUsIDIzNSwgMjgsIDE2LCAzOCwgCi0gICAgMjE1LCAyMzQsIDI4LCAxNiwgMzgsIDIxNSwgMjMzLCAyOCwgMTYsIDI0NCwgMTA5LCAyMTUsIDIzNSwgMjgsIDE2LCAyNDQsIAotICAgIDEwOSwgMjE1LCAyMzQsIDI4LCAxNiwgMjQ0LCAxMDksIDIxNSwgMjMzLCAyOCwgMTYsIDM4LCAyNTMsIDE5NywgMjQ3LCAKLSAgICAxMjgsIDI4LCAxNiwgMzgsIDI0NCwgODAsIDI4LCAxNiwgMzgsIDI0NCwgNzksIDI4LCAxNiwgMzgsIDI0NCwgNzgsIDI4LCAKLSAgICAxNiwgMzgsIDI0NCwgNzcsIDI4LCAxNiwgMzgsIDI0NCwgNzYsIDI4LCAxNiwgMjUyLCA2NiwgMjUyLCA4MiwgMjgsIDE2LCAKLSAgICAyNDUsIDE1MSwgMjUyLCA4MiwgMjgsIDE2LCAyNTIsIDY2LCAyMTYsIDExMiwgMjgsIDE2LCAyNDUsIDE1MSwgMjE2LCAxMTIsIAotICAgIDI4LCAxNiwgMjUyLCA2NiwgMjE5LCA4MiwgMjgsIDE2LCAyNDUsIDE1MSwgMjE5LCA4MiwgMjgsIDE2LCAyNTIsIDY2LCAKLSAgICAyMjUsIDExOCwgMjgsIDE2LCAyNDUsIDE1MSwgMjI1LCAxMTgsIDI4LCAxNiwgMzgsIDI1NSwgMjMsIDI4LCAxNiwgMzgsIAotICAgIDIxOCwgMTY3LCAyOCwgMTYsIDM4LCAyMTYsIDIzOSwgMjgsIDE2LCAzOCwgMjE4LCAxNjgsIDI4LCAxNiwgMzgsIDIzMSwgCi0gICAgMTY3LCAyOCwgMTYsIDM4LCAyMzEsIDE2NiwgMjgsIDE2LCAzOCwgMjU1LCAyMiwgMjgsIDE2LCAzOCwgMjMyLCAxMTgsIDI4LCAKLSAgICAxNiwgMjU0LCA2LCAyMTQsIDE2MywgMjgsIDE2LCAyNTQsIDYsIDI0NiwgMTE0LCAyOCwgMTYsIDM4LCAyNDcsIDE0MywgMjgsIAotICAgIDE2LCAzOCwgMjIyLCAyMzQsIDI4LCAxNiwgMzgsIDI0NCwgNjYsIDI4LCAxNiwgMzgsIDIxOSwgNzgsIDI4LCAxNiwgMzgsIAotICAgIDI1MiwgNDYsIDI4LCAxNiwgMzgsIDUyLCAyMTYsIDIwLCAyOCwgMTYsIDM4LCAyMTUsIDIxMiwgMjE2LCAyMCwgMjgsIDE2LCAKLSAgICAyMjIsIDIzOCwgMjgsIDE2LCAyMTgsIDc2LCAyOCwgMTYsIDIxMCwgMTU5LCAyOCwgMTYsIDIyNSwgMTEwLCAyOCwgMTYsIAotICAgIDIzMSwgMzAsIDI4LCAxNiwgMjQ0LCAyNSwgMjgsIDE2LCAyNDksIDE0NiwgMjgsIDE2LCAyNDgsIDg2LCAyOCwgMTYsIDI0MiwgCi0gICAgMTU3LCAyMjgsIDUzLCAyMTksIDk3LCAyOCwgMTYsIDI0MiwgMTU3LCAyMjgsIDUzLCAyMjgsIDgwLCAyMTksIDk3LCAyOCwgCi0gICAgMTYsIDIxNiwgMSwgMjgsIDE2LCAyMTUsIDk1LCAyOCwgMTYsIDIzNSwgMjAwLCAyMTUsIDk1LCAyOCwgMTYsIDIxNSwgOTYsIAotICAgIDIxOSwgOTcsIDI4LCAxNiwgMjE1LCA5NiwgMjE0LCAxNjMsIDI4LCAxNiwgMjI2LCAxNTIsIDIxOCwgMTA0LCAyOCwgMTYsIAotICAgIDIyNiwgMTUyLCAyMTgsIDEwMSwgMjgsIDE2LCAyMjYsIDE1MiwgMjE4LCAxMDAsIDI4LCAxNiwgMjI2LCAxNTIsIDIxOCwgCi0gICAgOTksIDI4LCAxNiwgMjI2LCAxNTIsIDIxOCwgOTgsIDI4LCAxNiwgMjI2LCAxNTIsIDIxOCwgOTcsIDI4LCAxNiwgMjI2LCAKLSAgICAxNTIsIDIxOCwgOTYsIDI4LCAxNiwgMjI2LCAxNTIsIDIxOCwgOTUsIDI4LCAxNiwgMjI2LCAxNTIsIDIxOCwgOTQsIDI4LCAKLSAgICAxNiwgMjI2LCAxNTIsIDIxOCwgMTAzLCAyOCwgMTYsIDIyNiwgMTUyLCAyMTgsIDEwMiwgMjgsIDE2LCAyNDEsIDI1MiwgMjgsIAotICAgIDE2LCAyMjksIDExMCwgMjgsIDE2LCAyNDUsIDE1MSwgNjQsIDIxOCwgMTM1LCAyOCwgMTYsIDI0OCwgNzksIDIxOSwgOTcsIAotICAgIDI4LCAxNiwgMzgsIDEyNCwgMjUxLCAxNzcsIDI4LCAxNiwgMzgsIDEyMCwgMjUxLCAxNzcsIDI4LCAxNiwgMzgsIDI0MiwgNywgCi0gICAgMjgsIDE2LCAzOCwgMjE5LCA2OSwgMjI1LCA0NiwgMjgsIDE2LCAyMjUsIDIxOSwgNzksIDI4LCAxNiwgMjI1LCAyMTksIAotICAgIDEyMCwgNzksIDI4LCAxNiwgMTYzLCAyMjUsIDIxOSwgNzksIDI4LCAxNiwgMjQyLCAxODksIDIxNCwgMTYzLCAyOCwgMTYsIAotICAgIDI0MiwgMTg5LCAyNDYsIDExNCwgMjgsIDE2LCAyLCAyNDQsIDEwOCwgMjgsIDE2LCAyNDgsIDE4OCwgMjgsIDE2LCAyNDgsIAotICAgIDE4OSwgMjU0LCAxNjMsIDI4LCAxNiwgMjMxLCAxMzgsIDI4LCAxNiwgMjMyLCAxMzUsIDI4LCAxNiwgMjUxLCAxNTEsIDI4LCAKLSAgICAxNiwgMjIwLCAxNTYsIDIxMSwgMjUzLCAyOCwgMTYsIDIyMCwgMTU2LCAyNTEsIDIyOSwgMjgsIDE2LCAyMzAsIDE4OSwgMjgsIAotICAgIDE2LCAyMzAsIDE5MCwgMjUxLCAyMjksIDI4LCAxNiwgMjIwLCAxNTAsIDIxMSwgMjUzLCAyOCwgMTYsIDIyMCwgMTUwLCAKLSAgICAyNTEsIDIyOSwgMjgsIDE2LCAyNDMsIDIyNywgMjExLCAyNTMsIDI4LCAxNiwgMjQzLCAyMjcsIDI1MSwgMjI5LCAyOCwgMTYsIAotICAgIDIzMiwgMTM2LCAyMjUsIDE4MywgMjIzLCA2NCwgMjgsIDE2LCAyMzIsIDEzNiwgMjM2LCAxMSwgMjIzLCA2NCwgMjgsIDE2LCAKLSAgICAyNTEsIDE1MiwgMjIzLCA2NCwgMjgsIDE2LCAyMjAsIDE1NiwgMjIzLCA2NCwgMjgsIDE2LCAyMzAsIDE5MCwgMjIzLCA2NCwgCi0gICAgMjgsIDE2LCAyMjAsIDE1MCwgMjIzLCA2NCwgMjgsIDE2LCAyMTYsIDI1MCwgMjI1LCAxODEsIDI0OSwgMTE1LCAyMjQsIAotICAgIDE3NywgMjI1LCAxODIsIDI4LCAxNiwgMjE2LCAyNTAsIDIyNSwgMTgxLCAyNDksIDExNSwgMjI0LCAxNzcsIDIzNiwgMTAsIAotICAgIDI4LCAxNiwgMjE2LCAyNTAsIDIyNSwgMTgxLCAyNDksIDExNSwgMjI0LCAxNzcsIDIyNSwgMTgzLCAyNDcsIDIxOSwgMjgsIAotICAgIDE2LCAyMTYsIDI1MCwgMjM2LCA5LCAyNDksIDExNSwgMjI0LCAxNzcsIDIyNSwgMTgyLCAyOCwgMTYsIDIxNiwgMjUwLCAKLSAgICAyMzYsIDksIDI0OSwgMTE1LCAyMjQsIDE3NywgMjM2LCAxMCwgMjgsIDE2LCAyMTYsIDI1MCwgMjM2LCA5LCAyNDksIDExNSwgCi0gICAgMjI0LCAxNzcsIDIzNiwgMTEsIDI0NywgMjE5LCAyOCwgMTYsIDIxNiwgMjUwLCAyMzYsIDksIDI0OSwgMTE1LCAyMjQsIAotICAgIDE3NywgMjM2LCAxMSwgMjQ3LCAyMTgsIDI4LCAxNiwgMjE2LCAyNTAsIDIzNiwgOSwgMjQ5LCAxMTUsIDIyNCwgMTc3LCAKLSAgICAyMzYsIDExLCAyNDcsIDIxNywgMjgsIDE2LCAyNDksIDE0MSwgMjgsIDE2LCAyNDIsIDEzMywgMjUxLCA3NSwgMjUwLCAyMiwgCi0gICAgMjgsIDE2LCAyNDIsIDEzMywgMjQ1LCAxNSwgMjUwLCAyMiwgMjgsIDE2LCA0MiwgMjUzLCAxNjYsIDI4LCAxNiwgMjEzLCAKLSAgICAxNTEsIDI4LCAxNiwgMjI1LCAxNywgMjgsIDE2LCAyNTAsIDEzLCAyOCwgMTYsIDIyMSwgMjA1LCAyOCwgMTYsIDI1MCwgMTcsIAotICAgIDI4LCAxNiwgMjE2LCA4LCAyOCwgMTYsIDIyNCwgMjQ1LCAyOCwgMTYsIDIyNCwgMjQ2LCAyNDQsIDY4LCAyOCwgMTYsIDIyMSwgCi0gICAgMjA2LCAyNDQsIDY4LCAyOCwgMTYsIDIxNiwgOSwgMjIzLCA2MSwgMjgsIDE2LCAyMjUsIDE2NiwgMjE4LCA2NywgMjYsIAotICAgIDIxMywgMTM3LCAxODksIDIxNywgMjMwLCAyNiwgMjEzLCAxMzcsIDE4OSwgMjE3LCAyMTksIDI2LCAyMTMsIDEzNywgMTg5LCAKLSAgICAyMTcsIDIwOSwgMjYsIDIxMywgMTM3LCAxODksIDIxNywgMjAyLCAyNiwgMjEzLCAxMzcsIDE4OSwgMjE3LCAxOTQsIDI2LCAKLSAgICAyMTMsIDEzNywgMTg5LCAyMTcsIDE4OCwgMjYsIDIxMywgMTM3LCAxODksIDIxNywgMTg3LCAyNiwgMjEzLCAxMzcsIDE4OSwgCi0gICAgMjE3LCAxODYsIDI2LCAyMTMsIDEzNywgMTg5LCAyMTcsIDE4NSwgMjYsIDIxMywgMTM3LCAxODksIDIxNywgMjI5LCAyNiwgCi0gICAgMjEzLCAxMzcsIDE4OSwgMjE3LCAyMjgsIDI2LCAyMTMsIDEzNywgMTg5LCAyMTcsIDIyNywgMjYsIDIxMywgMTM3LCAxODksIAotICAgIDIxNywgMjI2LCAyNiwgMjEzLCAxMzcsIDE4OSwgMjE3LCAyMjUsIDI2LCAyMTMsIDEzNywgMTg5LCAyMTcsIDIyNCwgMjYsIAotICAgIDIxMywgMTM3LCAxODksIDIxNywgMjIzLCAyNiwgMjEzLCAxMzcsIDE4OSwgMjE3LCAyMjIsIDI2LCAyMTMsIDEzNywgMTg5LCAKLSAgICAyMTcsIDIyMSwgMjYsIDIxMywgMTM3LCAxODksIDIxNywgMjIwLCAyNiwgMjEzLCAxMzcsIDE4OSwgMjE3LCAyMTgsIDI2LCAKLSAgICAyMTMsIDEzNywgMTg5LCAyMTcsIDIxNywgMjYsIDIxMywgMTM3LCAxODksIDIxNywgMjE2LCAyNiwgMjEzLCAxMzcsIDE4OSwgCi0gICAgMjE3LCAyMTUsIDI2LCAyMTMsIDEzNywgMTg5LCAyMTcsIDIxNCwgMjYsIDIxMywgMTM3LCAxODksIDIxNywgMTkzLCAyNiwgCi0gICAgMjEzLCAxMzcsIDE4OSwgMjE3LCAxOTIsIDI2LCAyMTMsIDEzNywgMTg5LCAyMTcsIDE5MSwgMjYsIDIxMywgMTM3LCAxODksIAotICAgIDIxNywgMTkwLCAyNiwgMjEzLCAxMzcsIDE4OSwgMjE3LCAxODksIDI2LCAyMzUsIDIyMSwgMTg5LCAyMTcsIDIzMCwgMjYsIAotICAgIDIzNSwgMjIxLCAxODksIDIxNywgMjE5LCAyNiwgMjM1LCAyMjEsIDE4OSwgMjE3LCAyMDIsIDI2LCAyMzUsIDIyMSwgMTg5LCAKLSAgICAyMTcsIDE5NCwgMjYsIDIzNSwgMjIxLCAxODksIDIxNywgMTg3LCAyNiwgMjM1LCAyMjEsIDE4OSwgMjE3LCAxODYsIDI2LCAKLSAgICAyMzUsIDIyMSwgMTg5LCAyMTcsIDIyOCwgMjYsIDIzNSwgMjIxLCAxODksIDIxNywgMjI3LCAyNiwgMjM1LCAyMjEsIDE4OSwgCi0gICAgMjE3LCAyMjYsIDI2LCAyMzUsIDIyMSwgMTg5LCAyMTcsIDIyNSwgMjYsIDIzNSwgMjIxLCAxODksIDIxNywgMjIyLCAyNiwgCi0gICAgMjM1LCAyMjEsIDE4OSwgMjE3LCAyMjEsIDI2LCAyMzUsIDIyMSwgMTg5LCAyMTcsIDIyMCwgMjYsIDIzNSwgMjIxLCAxODksIAotICAgIDIxNywgMjE1LCAyNiwgMjM1LCAyMjEsIDE4OSwgMjE3LCAyMTQsIDI2LCAyMzUsIDIyMSwgMTg5LCAyMTcsIDIxMywgMjYsIAotICAgIDIzNSwgMjIxLCAxODksIDIxNywgMjEyLCAyNiwgMjM1LCAyMjEsIDE4OSwgMjE3LCAyMTEsIDI2LCAyMzUsIDIyMSwgMTg5LCAKLSAgICAyMTcsIDIxMCwgMjYsIDIzNSwgMjIxLCAxODksIDIxNywgMjA4LCAyNiwgMjM1LCAyMjEsIDE4OSwgMjE3LCAyMDcsIDI2LCAKLSAgICAyMzUsIDIyMSwgMTg5LCAyMTcsIDIwNiwgMjYsIDIzNSwgMjIxLCAxODksIDIxNywgMjA1LCAyNiwgMjM1LCAyMjEsIDE4OSwgCi0gICAgMjE3LCAyMDQsIDI2LCAyMzUsIDIyMSwgMTg5LCAyMTcsIDIwMywgMjYsIDIzNSwgMjIxLCAxODksIDIxNywgMjAxLCAyNiwgCi0gICAgMjM1LCAyMjEsIDE4OSwgMjE3LCAyMDAsIDI2LCAyMzUsIDIyMSwgMTg5LCAyMTcsIDE5OSwgMjYsIDIzNSwgMjIxLCAxODksIAotICAgIDIxNywgMTk4LCAyNiwgMjM1LCAyMjEsIDE4OSwgMjE3LCAxOTcsIDI2LCAyMzUsIDIyMSwgMTg5LCAyMTcsIDE5NiwgMjYsIAotICAgIDIzNSwgMjIxLCAxODksIDIxNywgMTk1LCAyNiwgMjM1LCAyMjEsIDE4OSwgMjE3LCAxOTMsIDI2LCAyMzUsIDIyMSwgMTg5LCAKLSAgICAyMTcsIDE5MiwgMjYsIDIzNSwgMjIxLCAxODksIDIxNywgMTkxLCAyNiwgMjM1LCAyMjEsIDE4OSwgMjE3LCAxOTAsIDI2LCAKLSAgICAyMzUsIDIyMSwgMTg5LCAyMTcsIDE4OSwgMzgsIDI2LCAyOCwgMjE1LCAyMDksIDM4LCAyNiwgMjgsIDIxNiwgMjI0LCAzOCwgCi0gICAgMjYsIDI4LCAyMjUsIDE5MSwgMjYsIDI4LCAyMzMsIDM3LCAyMzAsIDE0NywgMzEsIDI0NSwgMjMxLCAyNDcsIDIzMiwgMzEsIAotICAgIDI0MSwgMjI5LCAyNDUsIDIzMSwgMjQ3LCAyMzIsIDMxLCAyNDAsIDIyMSwgMjQ1LCAyMzEsIDI0NywgMjMyLCAzMSwgMjQ1LCAKLSAgICAyMzAsIDI0MSwgMjMwLCAyNDcsIDIzMiwgMzEsIDI0NSwgMjMwLCAyNDAsIDIyMCwgMjQ3LCAyMzIsIDMxLCAyNDUsIDIzMSwgCi0gICAgMTgwLCAzMSwgMjUwLCAxODIsIDE4MCwgMzEsIDI0MywgMjM2LCAyNTAsIDQzLCAxODAsIDMxLCAyMzAsIDE4MiwgMTgwLCAKLSAgICAzMSwgMjUyLCAxMzgsIDE4MCwgMzEsIDIzNCwgMTg1LCAyMTksIDgxLCAxODAsIDMxLCAyNDksIDE4NywgMTgwLCAzMSwgCi0gICAgMjUzLCAyNDEsIDE4MCwgMzEsIDIyNiwgMTY3LCAxODAsIDMxLCAyNTEsIDE2MSwgMjI2LCAxMzQsIDE4MCwgMzEsIDI0OCwgCi0gICAgODEsIDE3NywgMjQ3LCAxODcsIDE4MCwgMzEsIDI0NywgMTg0LCAxODAsIDMxLCAyMTAsIDIyMiwgMTgwLCAzMSwgMjM1LCAKLSAgICAyNTQsIDE4MCwgMzEsIDIyNSwgMjAwLCAxODAsIDMxLCAyMjMsIDEzMCwgMTgwLCAzMSwgMjQ5LCAxOTcsIDE4MCwgMzEsIAotICAgIDI0MSwgNjcsIDI1MiwgMTkyLCAxODAsIDMxLCAyMTIsIDU5LCAxODAsIDMxLCAyNDQsIDQ3LCAxODAsIDMxLCAyNTQsIDI1NSwgCi0gICAgMTgwLCAzMSwgMjIzLCA5MiwgMTgwLCAzMSwgMjIzLCA2OCwgMTgwLCAzMSwgMjQ1LCAyMjksIDE4MCwgMzEsIDIzNSwgNTksIAotICAgIDE4MCwgMzEsIDI0OSwgMTkyLCAxODAsIDMxLCAyNDUsIDE1MCwgMTgwLCAzMSwgMjQ2LCA2MCwgMTgwLCAzMSwgMjUwLCAKLSAgICAxNTMsIDE4MCwgMzEsIDI0OCwgOTAsIDE4MCwgMzEsIDIzLCAyMjMsIDY3LCAxODAsIDMxLCAyMjYsIDg1LCAxODAsIDMxLCAKLSAgICAyMzMsIDQwLCAxODAsIDMxLCAyNTAsIDYsIDE4MCwgMzEsIDIzNCwgODMsIDE4MCwgMzEsIDI0MywgOTMsIDE4MCwgMzEsIAotICAgIDIxOCwgMTE0LCAxODAsIDMxLCAyMjQsIDEzMywgMTgwLCAzMSwgMjQzLCAyMzUsIDE4MCwgMzEsIDIyMywgNjksIDE4MCwgCi0gICAgMzEsIDIzMywgNzcsIDE3NywgMjMwLCAxNjIsIDE4MCwgMzEsIDIyMywgNjUsIDE4MCwgMzEsIDI0MiwgMTc1LCAyMTYsIDQzLCAKLSAgICAyMzEsIDgxLCAxODAsIDMxLCAyNDUsIDE1MiwgMTgwLCAzMSwgMjE4LCAxMjYsIDE4MCwgMzEsIDI0MiwgMTM1LCAxODAsIAotICAgIDMxLCAyNDUsIDE0NCwgMTgwLCAzMSwgMjI1LCAyMzksIDE4MCwgMzEsIDIyMiwgMjI4LCAxODAsIDMxLCAyNDQsIDY3LCAKLSAgICAxODAsIDMxLCAyMTQsIDgsIDE3NywgMjEyLCA0NCwgMTgwLCAzMSwgMjQ5LCAyMDEsIDE4MCwgMzEsIDIzMSwgOTQsIDE4MCwgCi0gICAgMzEsIDI0NSwgNjksIDE4MCwgMzEsIDIxNCwgMTcyLCAxODAsIDMxLCAyNDcsIDIyMCwgMTgwLCAzMSwgMjUwLCA4LCAyMzAsIAotICAgIDExNSwgMTgwLCAzMSwgMjQyLCAxMTMsIDE4MCwgMzEsIDI0MywgOTQsIDIzNiwgNiwgMTgwLCAzMSwgMjMxLCAxNDYsIDE4MCwgCi0gICAgMzEsIDI1NSwgMTksIDE4MCwgMzEsIDI0NSwgMTY1LCAxODAsIDMxLCAyNDYsIDExNywgMTgwLCAzMSwgMjEyLCA0MiwgMTgwLCAKLSAgICAzMSwgMjE5LCAxNTIsIDE4MCwgMzEsIDIzNSwgMjI5LCAxODAsIDMxLCAyNDgsIDUwLCAxODAsIDMxLCAyNDgsIDE2OCwgCi0gICAgMTgwLCAzMSwgMjQ3LCAyMTYsIDE4MCwgMzEsIDI0NSwgMzcsIDE4MCwgMzEsIDIyMCwgMTE3LCAxODAsIDMxLCAyMTgsIAotICAgIDEzMCwgMTgwLCAzMSwgMjQyLCA5LCAxODAsIDMxLCAyNDksIDIyMCwgMTgwLCAzMSwgMjUwLCAzLCAxODAsIDMxLCAyNDQsIAotICAgIDE4NSwgMTgwLCAzMSwgMjU0LCAyMjEsIDE4MCwgMzEsIDI0OSwgMjE5LCAxODAsIDMxLCAyMjYsIDIwMSwgMjE2LCAxOTcsIAotICAgIDIxMywgMjQyLCAxODAsIDMxLCAyNDcsIDI0MCwgMTgwLCAzMSwgMjMzLCAxMzAsIDE4MCwgMzEsIDI0NCwgMjEsIDI0OSwgCi0gICAgMTU3LCAyMjIsIDIwNCwgMjE0LCAxNzQsIDIxLCAxMTEsIDI0OSwgMTU3LCAyMjIsIDIwNCwgMjE0LCAxNzQsIDIxLCAxMDUsIAotICAgIDI0OSwgMTU3LCAyMjIsIDIwNCwgMjE0LCAxNzQsIDIxLCAxNTgsIDI0OSwgMTU3LCAyMjIsIDIwNCwgMjE0LCAxNzQsIDIxLCAKLSAgICAxNjEsIDI0OSwgMTU3LCAyMjIsIDIwNCwgMjE0LCAxNzQsIDIxLCAxOTAsIDI0OSwgMTU3LCAyMjIsIDIwNCwgMjE0LCAxNzQsIAotICAgIDIxLCAxOTUsIDI0OSwgMTU3LCAyMjIsIDIwNCwgMjE0LCAxNzQsIDIxLCAxOTksIDI0OSwgMTU3LCAyMjIsIDIwNCwgMjE0LCAKLSAgICAxNzQsIDIxLCAxOTYsIDI0OSwgMTU3LCAyMjIsIDIwNCwgMjE0LCAxNzQsIDIxLCAyMDEsIDI0OSwgMTU3LCAyMjIsIDIwNCwgCi0gICAgMjE2LCAyNDQsIDIxLCAxMTEsIDI0OSwgMTU3LCAyMjIsIDIwNCwgMjE2LCAyNDQsIDIxLCAxMDUsIDI0OSwgMTU3LCAyMjIsIAotICAgIDIwNCwgMjE2LCAyNDQsIDIxLCAxNTgsIDI0OSwgMTU3LCAyMjIsIDIwNCwgMjE2LCAyNDQsIDIxLCAxNjEsIDI0OSwgMTU3LCAKLSAgICAyMjIsIDIwNCwgMjE2LCAyNDQsIDIxLCAxOTAsIDI0OSwgMTU3LCAyMjIsIDIwNCwgMjE2LCAyNDQsIDIxLCAxOTUsIDI0OSwgCi0gICAgMTU3LCAyMjIsIDIwNCwgMjE2LCAyNDQsIDIxLCAxOTksIDI0OSwgMTU3LCAyMjIsIDIwNCwgMjE2LCAyNDQsIDIxLCAxOTYsIAotICAgIDI0OSwgMTU3LCAyMjIsIDIwNCwgMjE2LCAyNDQsIDIxLCAyMDEsIDExLCAyMywgNiwgNjEsIDExLCAyMywgNiwgMjUzLCAKLSAgICAxNjYsIDExLCAyMywgNiwgMjUxLCA3NCwgMTEsIDIzLCA2LCAyNDksIDY4LCAxMSwgMjMsIDYsIDc2LCAxMSwgMjMsIDYsIAotICAgIDI0NSwgMTQsIDExLCAyMywgNiwgMjQzLCAyMDksIDExLCAyMywgNiwgMjQyLCA2NywgMTEsIDIzLCA2LCA3NCwgMTEsIDIzLCAKLSAgICA2LCAyMzUsIDE1MCwgMTEsIDIzLCA2LCAyMzUsIDI5LCAxMSwgMjMsIDYsIDE1NiwgMTEsIDIzLCA2LCAxOTQsIDExLCAyMywgCi0gICAgNiwgMjMwLCAzMCwgMTEsIDIzLCA2LCA3OCwgMTEsIDIzLCA2LCAyMjYsIDEwOSwgMTEsIDIzLCA2LCAyMjQsIDk5LCAxMSwgCi0gICAgMjMsIDYsIDE1MywgMTEsIDIzLCA2LCAyMjIsIDkzLCAxMSwgMjMsIDYsIDIxNywgMTUzLCAxMSwgMjMsIDYsIDY5LCAxMSwgCi0gICAgMjMsIDYsIDIxNCwgMTA1LCAxMSwgMjMsIDYsIDIxMiwgOTgsIDExLCAyMywgNiwgMjExLCAxNzgsIDExLCAyMywgNiwgMjExLCAKLSAgICAxMTcsIDExLCAyMywgNiwgMjEwLCAxNTksIDExLCAyMywgNCwgNjEsIDExLCAyMywgNCwgMjUzLCAxNjYsIDExLCAyMywgNCwgCi0gICAgMjUxLCA3NCwgMTEsIDIzLCA0LCAyNDksIDY4LCAxMSwgMjMsIDQsIDc2LCAxMSwgMjMsIDQsIDI0NSwgMTQsIDExLCAyMywgCi0gICAgNCwgMjQzLCAyMDksIDExLCAyMywgNCwgMjQyLCA2NywgMTEsIDIzLCA0LCA3NCwgMTEsIDIzLCA0LCAyMzUsIDE1MCwgMTEsIAotICAgIDIzLCA0LCAyMzUsIDI5LCAxMSwgMjMsIDQsIDE1NiwgMTEsIDIzLCA0LCAxOTQsIDExLCAyMywgNCwgMjMwLCAzMCwgMTEsIAotICAgIDIzLCA0LCA3OCwgMTEsIDIzLCA0LCAyMjYsIDEwOSwgMTEsIDIzLCA0LCAyMjQsIDk5LCAxMSwgMjMsIDQsIDE1MywgMTEsIAotICAgIDIzLCA0LCAyMjIsIDkzLCAxMSwgMjMsIDQsIDIxNywgMTUzLCAxMSwgMjMsIDQsIDY5LCAxMSwgMjMsIDQsIDIxNCwgMTA1LCAKLSAgICAxMSwgMjMsIDQsIDIxMiwgOTgsIDExLCAyMywgNCwgMjExLCAxNzgsIDExLCAyMywgNCwgMjExLCAxMTcsIDExLCAyMywgNCwgCi0gICAgMjEwLCAxNTksIDExLCAzMiwgNiwgNjEsIDExLCAzMiwgNiwgMjUzLCAxNjYsIDExLCAzMiwgNiwgMjUxLCA3NCwgMTEsIDMyLCAKLSAgICA2LCAyNDksIDY4LCAxMSwgMzIsIDYsIDc2LCAxMSwgMzIsIDYsIDI0NSwgMTQsIDExLCAzMiwgNiwgMjQzLCAyMDksIDExLCAKLSAgICAzMiwgNiwgMjQyLCA2NywgMTEsIDMyLCA2LCA3NCwgMTEsIDMyLCA2LCAyMzUsIDE1MCwgMTEsIDMyLCA2LCAyMzUsIDI5LCAKLSAgICAxMSwgMzIsIDYsIDE1NiwgMTEsIDMyLCA2LCAxOTQsIDExLCAzMiwgNiwgMjMwLCAzMCwgMTEsIDMyLCA2LCA3OCwgMTEsIAotICAgIDMyLCA2LCAyMjYsIDEwOSwgMTEsIDMyLCA2LCAyMjQsIDk5LCAxMSwgMzIsIDYsIDE1MywgMTEsIDMyLCA2LCAyMjIsIDkzLCAKLSAgICAxMSwgMzIsIDYsIDIxNywgMTUzLCAxMSwgMzIsIDYsIDY5LCAxMSwgMzIsIDYsIDIxNCwgMTA1LCAxMSwgMzIsIDYsIDIxMiwgCi0gICAgOTgsIDExLCAzMiwgNiwgMjExLCAxNzgsIDExLCAzMiwgNiwgMjExLCAxMTcsIDExLCAzMiwgNiwgMjEwLCAxNTksIDExLCAKLSAgICAzMiwgNCwgNjEsIDExLCAzMiwgNCwgMjUzLCAxNjYsIDExLCAzMiwgNCwgMjUxLCA3NCwgMTEsIDMyLCA0LCAyNDksIDY4LCAKLSAgICAxMSwgMzIsIDQsIDc2LCAxMSwgMzIsIDQsIDI0NSwgMTQsIDExLCAzMiwgNCwgMjQzLCAyMDksIDExLCAzMiwgNCwgNzQsIAotICAgIDExLCAzMiwgNCwgMjM1LCAxNTAsIDExLCAzMiwgNCwgMjM1LCAyOSwgMTEsIDMyLCA0LCAxNTYsIDExLCAzMiwgNCwgMTk0LCAKLSAgICAxMSwgMzIsIDQsIDIzMCwgMzAsIDExLCAzMiwgNCwgNzgsIDExLCAzMiwgNCwgMjI2LCAxMDksIDExLCAzMiwgNCwgMjI0LCAKLSAgICA5OSwgMTEsIDMyLCA0LCAxNTMsIDExLCAzMiwgNCwgMjIyLCA5MywgMTEsIDMyLCA0LCAyMTcsIDE1MywgMTEsIDMyLCA0LCAKLSAgICA2OSwgMTEsIDMyLCA0LCAyMTQsIDEwNSwgMTEsIDMyLCA0LCAyMTIsIDk4LCAxMSwgMzIsIDQsIDIxMSwgMTc4LCAxMSwgMzIsIAotICAgIDQsIDIxMSwgMTE3LCAxMSwgMzIsIDQsIDIxMCwgMTU5LCAxMSwgMjMsIDMyLCA2LCA2MSwgMTEsIDIzLCAzMiwgNiwgMjUzLCAKLSAgICAxNjYsIDExLCAyMywgMzIsIDYsIDI1MSwgNzQsIDExLCAyMywgMzIsIDYsIDI0OSwgNjgsIDExLCAyMywgMzIsIDYsIDc2LCAKLSAgICAxMSwgMjMsIDMyLCA2LCAyNDUsIDE0LCAxMSwgMjMsIDMyLCA2LCAyNDMsIDIwOSwgMTEsIDIzLCAzMiwgNiwgMjQyLCA2NywgCi0gICAgMTEsIDIzLCAzMiwgNiwgNzQsIDExLCAyMywgMzIsIDYsIDIzNSwgMTUwLCAxMSwgMjMsIDMyLCA2LCAyMzUsIDI5LCAxMSwgCi0gICAgMjMsIDMyLCA2LCAxNTYsIDExLCAyMywgMzIsIDYsIDE5NCwgMTEsIDIzLCAzMiwgNiwgMjMwLCAzMCwgMTEsIDIzLCAzMiwgCi0gICAgNiwgNzgsIDExLCAyMywgMzIsIDYsIDIyNiwgMTA5LCAxMSwgMjMsIDMyLCA2LCAyMjQsIDk5LCAxMSwgMjMsIDMyLCA2LCAKLSAgICAxNTMsIDExLCAyMywgMzIsIDYsIDIyMiwgOTMsIDExLCAyMywgMzIsIDYsIDIxNywgMTUzLCAxMSwgMjMsIDMyLCA2LCA2OSwgCi0gICAgMTEsIDIzLCAzMiwgNiwgMjE0LCAxMDUsIDExLCAyMywgMzIsIDYsIDIxMiwgOTgsIDExLCAyMywgMzIsIDYsIDIxMSwgMTc4LCAKLSAgICAxMSwgMjMsIDMyLCA2LCAyMTEsIDExNywgMTEsIDIzLCAzMiwgNiwgMjEwLCAxNTksIDExLCAyMywgMzIsIDQsIDYxLCAxMSwgCi0gICAgMjMsIDMyLCA0LCAyNTMsIDE2NiwgMTEsIDIzLCAzMiwgNCwgMjUxLCA3NCwgMTEsIDIzLCAzMiwgNCwgMjQ5LCA2OCwgMTEsIAotICAgIDIzLCAzMiwgNCwgNzYsIDExLCAyMywgMzIsIDQsIDI0NSwgMTQsIDExLCAyMywgMzIsIDQsIDI0MywgMjA5LCAxMSwgMjMsIAotICAgIDMyLCA0LCAyNDIsIDY3LCAxMSwgMjMsIDMyLCA0LCA3NCwgMTEsIDIzLCAzMiwgNCwgMjM1LCAxNTAsIDExLCAyMywgMzIsIAotICAgIDQsIDIzNSwgMjksIDExLCAyMywgMzIsIDQsIDE1NiwgMTEsIDIzLCAzMiwgNCwgMTk0LCAxMSwgMjMsIDMyLCA0LCAyMzAsIAotICAgIDMwLCAxMSwgMjMsIDMyLCA0LCA3OCwgMTEsIDIzLCAzMiwgNCwgMjI2LCAxMDksIDExLCAyMywgMzIsIDQsIDIyNCwgOTksIAotICAgIDExLCAyMywgMzIsIDQsIDE1MywgMTEsIDIzLCAzMiwgNCwgMjIyLCA5MywgMTEsIDIzLCAzMiwgNCwgMjE3LCAxNTMsIDExLCAKLSAgICAyMywgMzIsIDQsIDY5LCAxMSwgMjMsIDMyLCA0LCAyMTQsIDEwNSwgMTEsIDIzLCAzMiwgNCwgMjEyLCA5OCwgMTEsIDIzLCAKLSAgICAzMiwgNCwgMjExLCAxNzgsIDExLCAyMywgMzIsIDQsIDIxMSwgMTE3LCAxMSwgMjMsIDMyLCA0LCAyMTAsIDE1OSwgMTEsIAotICAgIDExOSwgNiwgNjEsIDExLCAxMTksIDYsIDI1MSwgNzQsIDExLCAxMTksIDYsIDI0OSwgNjgsIDExLCAxMTksIDYsIDI0MywgCi0gICAgMjA5LCAxMSwgMTE5LCA2LCAyMzUsIDE1MCwgMTEsIDExOSwgNiwgMjM1LCAyOSwgMTEsIDExOSwgNiwgMjMwLCAzMCwgMTEsIAotICAgIDExOSwgNiwgNzgsIDExLCAxMTksIDYsIDIyNiwgMTA5LCAxMSwgMTE5LCA2LCAyMjQsIDk5LCAxMSwgMTE5LCA2LCAyMjIsIAotICAgIDkzLCAxMSwgMTE5LCA2LCAyMTcsIDE1MywgMTEsIDExOSwgNiwgNjksIDExLCAxMTksIDYsIDIxNCwgMTA1LCAxMSwgMTE5LCAKLSAgICA2LCAyMTIsIDk4LCAxMSwgMTE5LCA2LCAyMTEsIDE3OCwgMTEsIDExOSwgNiwgMjExLCAxMTcsIDExLCAxMTksIDYsIDIxMCwgCi0gICAgMTU5LCAxMSwgMTE5LCA0LCA2MSwgMTEsIDExOSwgNCwgMjUzLCAxNjYsIDExLCAxMTksIDQsIDI1MSwgNzQsIDExLCAxMTksIAotICAgIDQsIDI0OSwgNjgsIDExLCAxMTksIDQsIDI0NSwgMTQsIDExLCAxMTksIDQsIDI0MiwgNjcsIDExLCAxMTksIDQsIDc0LCAxMSwgCi0gICAgMTE5LCA0LCAyMzUsIDE1MCwgMTEsIDExOSwgNCwgMjM1LCAyOSwgMTEsIDExOSwgNCwgMTU2LCAxMSwgMTE5LCA0LCAxOTQsIAotICAgIDExLCAxMTksIDQsIDIzMCwgMzAsIDExLCAxMTksIDQsIDIyNiwgMTA5LCAxMSwgMTE5LCA0LCAyMjQsIDk5LCAxMSwgMTE5LCAKLSAgICA0LCAxNTMsIDExLCAxMTksIDQsIDIyMiwgOTMsIDExLCAxMTksIDQsIDIxNywgMTUzLCAxMSwgMTE5LCA0LCA2OSwgMTEsIAotICAgIDExOSwgNCwgMjE0LCAxMDUsIDExLCAxMTksIDQsIDIxMiwgOTgsIDExLCAxMTksIDQsIDIxMSwgMTc4LCAxMSwgMTE5LCA0LCAKLSAgICAyMTEsIDExNywgMTEsIDExOSwgNCwgMjEwLCAxNTksIDExLCAyMywgMTE5LCA2LCA2MSwgMTEsIDIzLCAxMTksIDYsIDI1MywgCi0gICAgMTY2LCAxMSwgMjMsIDExOSwgNiwgMjUxLCA3NCwgMTEsIDIzLCAxMTksIDYsIDI0OSwgNjgsIDExLCAyMywgMTE5LCA2LCAKLSAgICA3NiwgMTEsIDIzLCAxMTksIDYsIDI0NSwgMTQsIDExLCAyMywgMTE5LCA2LCAyNDMsIDIwOSwgMTEsIDIzLCAxMTksIDYsIAotICAgIDI0MiwgNjcsIDExLCAyMywgMTE5LCA2LCA3NCwgMTEsIDIzLCAxMTksIDYsIDIzNSwgMTUwLCAxMSwgMjMsIDExOSwgNiwgCi0gICAgMjM1LCAyOSwgMTEsIDIzLCAxMTksIDYsIDE1NiwgMTEsIDIzLCAxMTksIDYsIDE5NCwgMTEsIDIzLCAxMTksIDYsIDIzMCwgCi0gICAgMzAsIDExLCAyMywgMTE5LCA2LCA3OCwgMTEsIDIzLCAxMTksIDYsIDIyNiwgMTA5LCAxMSwgMjMsIDExOSwgNiwgMjI0LCAKLSAgICA5OSwgMTEsIDIzLCAxMTksIDYsIDE1MywgMTEsIDIzLCAxMTksIDYsIDIyMiwgOTMsIDExLCAyMywgMTE5LCA2LCAyMTcsIAotICAgIDE1MywgMTEsIDIzLCAxMTksIDYsIDY5LCAxMSwgMjMsIDExOSwgNiwgMjE0LCAxMDUsIDExLCAyMywgMTE5LCA2LCAyMTIsIAotICAgIDk4LCAxMSwgMjMsIDExOSwgNiwgMjExLCAxNzgsIDExLCAyMywgMTE5LCA2LCAyMTEsIDExNywgMTEsIDIzLCAxMTksIDYsIAotICAgIDIxMCwgMTU5LCAxMSwgMjMsIDExOSwgNCwgNjEsIDExLCAyMywgMTE5LCA0LCAyNTMsIDE2NiwgMTEsIDIzLCAxMTksIDQsIAotICAgIDI1MSwgNzQsIDExLCAyMywgMTE5LCA0LCAyNDksIDY4LCAxMSwgMjMsIDExOSwgNCwgNzYsIDExLCAyMywgMTE5LCA0LCAKLSAgICAyNDUsIDE0LCAxMSwgMjMsIDExOSwgNCwgMjQzLCAyMDksIDExLCAyMywgMTE5LCA0LCAyNDIsIDY3LCAxMSwgMjMsIDExOSwgCi0gICAgNCwgNzQsIDExLCAyMywgMTE5LCA0LCAyMzUsIDE1MCwgMTEsIDIzLCAxMTksIDQsIDIzNSwgMjksIDExLCAyMywgMTE5LCA0LCAKLSAgICAxNTYsIDExLCAyMywgMTE5LCA0LCAxOTQsIDExLCAyMywgMTE5LCA0LCAyMzAsIDMwLCAxMSwgMjMsIDExOSwgNCwgNzgsIAotICAgIDExLCAyMywgMTE5LCA0LCAyMjYsIDEwOSwgMTEsIDIzLCAxMTksIDQsIDIyNCwgOTksIDExLCAyMywgMTE5LCA0LCAxNTMsIAotICAgIDExLCAyMywgMTE5LCA0LCAyMjIsIDkzLCAxMSwgMjMsIDExOSwgNCwgMjE3LCAxNTMsIDExLCAyMywgMTE5LCA0LCA2OSwgCi0gICAgMTEsIDIzLCAxMTksIDQsIDIxNCwgMTA1LCAxMSwgMjMsIDExOSwgNCwgMjEyLCA5OCwgMTEsIDIzLCAxMTksIDQsIDIxMSwgCi0gICAgMTc4LCAxMSwgMjMsIDExOSwgNCwgMjExLCAxMTcsIDExLCAyMywgMTE5LCA0LCAyMTAsIDE1OSwgMTEsIDEzMywgNiwgNjEsIAotICAgIDExLCAxMzMsIDYsIDI1MywgMTY2LCAxMSwgMTMzLCA2LCAyNDksIDY4LCAxMSwgMTMzLCA2LCA3NiwgMTEsIDEzMywgNiwgCi0gICAgMjQ1LCAxNCwgMTEsIDEzMywgNiwgMjQzLCAyMDksIDExLCAxMzMsIDYsIDIzNSwgMTUwLCAxMSwgMTMzLCA2LCAyMzUsIDI5LCAKLSAgICAxMSwgMTMzLCA2LCAxNTYsIDExLCAxMzMsIDYsIDE5NCwgMTEsIDEzMywgNiwgMjMwLCAzMCwgMTEsIDEzMywgNiwgNzgsIAotICAgIDExLCAxMzMsIDYsIDIyNiwgMTA5LCAxMSwgMTMzLCA2LCAyMjQsIDk5LCAxMSwgMTMzLCA2LCAyMjIsIDkzLCAxMSwgMTMzLCAKLSAgICA2LCAyMTcsIDE1MywgMTEsIDEzMywgNiwgNjksIDExLCAxMzMsIDYsIDIxNCwgMTA1LCAxMSwgMTMzLCA2LCAyMTIsIDk4LCAKLSAgICAxMSwgMTMzLCA2LCAyMTEsIDE3OCwgMTEsIDEzMywgNiwgMjExLCAxMTcsIDExLCAxMzMsIDQsIDYxLCAxMSwgMTMzLCA0LCAKLSAgICAyNTMsIDE2NiwgMTEsIDEzMywgNCwgMjUxLCA3NCwgMTEsIDEzMywgNCwgMjQ5LCA2OCwgMTEsIDEzMywgNCwgNzYsIDExLCAKLSAgICAxMzMsIDQsIDI0NSwgMTQsIDExLCAxMzMsIDQsIDI0MywgMjA5LCAxMSwgMTMzLCA0LCAyNDIsIDY3LCAxMSwgMTMzLCA0LCAKLSAgICA3NCwgMTEsIDEzMywgNCwgMjM1LCAxNTAsIDExLCAxMzMsIDQsIDIzNSwgMjksIDExLCAxMzMsIDQsIDE1NiwgMTEsIDEzMywgCi0gICAgNCwgMTk0LCAxMSwgMTMzLCA0LCAyMzAsIDMwLCAxMSwgMTMzLCA0LCA3OCwgMTEsIDEzMywgNCwgMjI2LCAxMDksIDExLCAKLSAgICAxMzMsIDQsIDIyNCwgOTksIDExLCAxMzMsIDQsIDE1MywgMTEsIDEzMywgNCwgMjIyLCA5MywgMTEsIDEzMywgNCwgMjE3LCAKLSAgICAxNTMsIDExLCAxMzMsIDQsIDY5LCAxMSwgMTMzLCA0LCAyMTQsIDEwNSwgMTEsIDEzMywgNCwgMjEyLCA5OCwgMTEsIDEzMywgCi0gICAgNCwgMjExLCAxNzgsIDExLCAxMzMsIDQsIDIxMSwgMTE3LCAxMSwgMTMzLCA0LCAyMTAsIDE1OSwgMTEsIDEzOSwgNiwgNjEsIAotICAgIDExLCAxMzksIDYsIDI1MywgMTY2LCAxMSwgMTM5LCA2LCAyNDksIDY4LCAxMSwgMTM5LCA2LCA3NiwgMTEsIDEzOSwgNiwgCi0gICAgMjQ1LCAxNCwgMTEsIDEzOSwgNiwgMjQzLCAyMDksIDExLCAxMzksIDYsIDc0LCAxMSwgMTM5LCA2LCAyMzUsIDE1MCwgMTEsIAotICAgIDEzOSwgNiwgMjM1LCAyOSwgMTEsIDEzOSwgNiwgMTU2LCAxMSwgMTM5LCA2LCAxOTQsIDExLCAxMzksIDYsIDc4LCAxMSwgCi0gICAgMTM5LCA2LCAyMjIsIDkzLCAxMSwgMTM5LCA2LCAyMTcsIDE1MywgMTEsIDEzOSwgNiwgNjksIDExLCAxMzksIDYsIDIxNCwgCi0gICAgMTA1LCAxMSwgMTM5LCA2LCAyMTIsIDk4LCAxMSwgMTM5LCA2LCAyMTEsIDE3OCwgMTEsIDEzOSwgNiwgMjExLCAxMTcsIDExLCAKLSAgICAxMzksIDQsIDYxLCAxMSwgMTM5LCA0LCAyNTMsIDE2NiwgMTEsIDEzOSwgNCwgMjUxLCA3NCwgMTEsIDEzOSwgNCwgMjQ5LCAKLSAgICA2OCwgMTEsIDEzOSwgNCwgNzYsIDExLCAxMzksIDQsIDI0NSwgMTQsIDExLCAxMzksIDQsIDI0MywgMjA5LCAxMSwgMTM5LCAKLSAgICA0LCAyNDIsIDY3LCAxMSwgMTM5LCA0LCA3NCwgMTEsIDEzOSwgNCwgMjM1LCAxNTAsIDExLCAxMzksIDQsIDIzNSwgMjksIAotICAgIDExLCAxMzksIDQsIDE1NiwgMTEsIDEzOSwgNCwgMTk0LCAxMSwgMTM5LCA0LCAyMzAsIDMwLCAxMSwgMTM5LCA0LCA3OCwgCi0gICAgMTEsIDEzOSwgNCwgMjI2LCAxMDksIDExLCAxMzksIDQsIDIyNCwgOTksIDExLCAxMzksIDQsIDE1MywgMTEsIDEzOSwgNCwgCi0gICAgMjIyLCA5MywgMTEsIDEzOSwgNCwgMjE3LCAxNTMsIDExLCAxMzksIDQsIDY5LCAxMSwgMTM5LCA0LCAyMTQsIDEwNSwgMTEsIAotICAgIDEzOSwgNCwgMjEyLCA5OCwgMTEsIDEzOSwgNCwgMjExLCAxNzgsIDExLCAxMzksIDQsIDIxMSwgMTE3LCAxMSwgMTM5LCA0LCAKLSAgICAyMTAsIDE1OSwgMTEsIDIzLCAxMzMsIDYsIDYxLCAxMSwgMjMsIDEzMywgNiwgMjUzLCAxNjYsIDExLCAyMywgMTMzLCA2LCAKLSAgICAyNTEsIDc0LCAxMSwgMjMsIDEzMywgNiwgMjQ5LCA2OCwgMTEsIDIzLCAxMzMsIDYsIDc2LCAxMSwgMjMsIDEzMywgNiwgCi0gICAgMjQ1LCAxNCwgMTEsIDIzLCAxMzMsIDYsIDI0MywgMjA5LCAxMSwgMjMsIDEzMywgNiwgMjQyLCA2NywgMTEsIDIzLCAxMzMsIAotICAgIDYsIDc0LCAxMSwgMjMsIDEzMywgNiwgMjM1LCAxNTAsIDExLCAyMywgMTMzLCA2LCAyMzUsIDI5LCAxMSwgMjMsIDEzMywgNiwgCi0gICAgMTU2LCAxMSwgMjMsIDEzMywgNiwgMTk0LCAxMSwgMjMsIDEzMywgNiwgMjMwLCAzMCwgMTEsIDIzLCAxMzMsIDYsIDc4LCAKLSAgICAxMSwgMjMsIDEzMywgNiwgMjI2LCAxMDksIDExLCAyMywgMTMzLCA2LCAyMjQsIDk5LCAxMSwgMjMsIDEzMywgNiwgMTUzLCAKLSAgICAxMSwgMjMsIDEzMywgNiwgMjIyLCA5MywgMTEsIDIzLCAxMzMsIDYsIDIxNywgMTUzLCAxMSwgMjMsIDEzMywgNiwgNjksIAotICAgIDExLCAyMywgMTMzLCA2LCAyMTQsIDEwNSwgMTEsIDIzLCAxMzMsIDYsIDIxMiwgOTgsIDExLCAyMywgMTMzLCA2LCAyMTEsIAotICAgIDE3OCwgMTEsIDIzLCAxMzMsIDYsIDIxMSwgMTE3LCAxMSwgMjMsIDEzMywgNiwgMjEwLCAxNTksIDExLCAyMywgMTMzLCA0LCAKLSAgICA2MSwgMTEsIDIzLCAxMzMsIDQsIDI1MywgMTY2LCAxMSwgMjMsIDEzMywgNCwgMjUxLCA3NCwgMTEsIDIzLCAxMzMsIDQsIAotICAgIDI0OSwgNjgsIDExLCAyMywgMTMzLCA0LCA3NiwgMTEsIDIzLCAxMzMsIDQsIDI0NSwgMTQsIDExLCAyMywgMTMzLCA0LCAKLSAgICAyNDMsIDIwOSwgMTEsIDIzLCAxMzMsIDQsIDI0MiwgNjcsIDExLCAyMywgMTMzLCA0LCA3NCwgMTEsIDIzLCAxMzMsIDQsIAotICAgIDIzNSwgMTUwLCAxMSwgMjMsIDEzMywgNCwgMjM1LCAyOSwgMTEsIDIzLCAxMzMsIDQsIDE1NiwgMTEsIDIzLCAxMzMsIDQsIAotICAgIDE5NCwgMTEsIDIzLCAxMzMsIDQsIDIzMCwgMzAsIDExLCAyMywgMTMzLCA0LCA3OCwgMTEsIDIzLCAxMzMsIDQsIDIyNiwgCi0gICAgMTA5LCAxMSwgMjMsIDEzMywgNCwgMjI0LCA5OSwgMTEsIDIzLCAxMzMsIDQsIDE1MywgMTEsIDIzLCAxMzMsIDQsIDIyMiwgCi0gICAgOTMsIDExLCAyMywgMTMzLCA0LCAyMTcsIDE1MywgMTEsIDIzLCAxMzMsIDQsIDY5LCAxMSwgMjMsIDEzMywgNCwgMjE0LCAKLSAgICAxMDUsIDExLCAyMywgMTMzLCA0LCAyMTIsIDk4LCAxMSwgMjMsIDEzMywgNCwgMjExLCAxNzgsIDExLCAyMywgMTMzLCA0LCAKLSAgICAyMTEsIDExNywgMTEsIDIzLCAxMzMsIDQsIDIxMCwgMTU5LCAxMSwgMzUsIDYsIDYxLCAxMSwgMzUsIDYsIDI1MywgMTY2LCAKLSAgICAxMSwgMzUsIDYsIDI1MSwgNzQsIDExLCAzNSwgNiwgMjQ5LCA2OCwgMTEsIDM1LCA2LCA3NiwgMTEsIDM1LCA2LCAyNDUsIAotICAgIDE0LCAxMSwgMzUsIDYsIDI0MywgMjA5LCAxMSwgMzUsIDYsIDI0MiwgNjcsIDExLCAzNSwgNiwgNzQsIDExLCAzNSwgNiwgCi0gICAgMjM1LCAxNTAsIDExLCAzNSwgNiwgMjM1LCAyOSwgMTEsIDM1LCA2LCAxNTYsIDExLCAzNSwgNiwgMTk0LCAxMSwgMzUsIDYsIAotICAgIDIzMCwgMzAsIDExLCAzNSwgNiwgNzgsIDExLCAzNSwgNiwgMjI2LCAxMDksIDExLCAzNSwgNiwgMjI0LCA5OSwgMTEsIDM1LCAKLSAgICA2LCAxNTMsIDExLCAzNSwgNiwgMjIyLCA5MywgMTEsIDM1LCA2LCAyMTcsIDE1MywgMTEsIDM1LCA2LCA2OSwgMTEsIDM1LCAKLSAgICA2LCAyMTQsIDEwNSwgMTEsIDM1LCA2LCAyMTIsIDk4LCAxMSwgMzUsIDYsIDIxMSwgMTc4LCAxMSwgMzUsIDYsIDIxMSwgCi0gICAgMTE3LCAxMSwgMzUsIDYsIDIxMCwgMTU5LCAxMSwgMzUsIDQsIDYxLCAxMSwgMzUsIDQsIDI1MywgMTY2LCAxMSwgMzUsIDQsIAotICAgIDI1MSwgNzQsIDExLCAzNSwgNCwgMjQ5LCA2OCwgMTEsIDM1LCA0LCA3NiwgMTEsIDM1LCA0LCAyNDUsIDE0LCAxMSwgMzUsIAotICAgIDQsIDI0MywgMjA5LCAxMSwgMzUsIDQsIDI0MiwgNjcsIDExLCAzNSwgNCwgNzQsIDExLCAzNSwgNCwgMjM1LCAxNTAsIDExLCAKLSAgICAzNSwgNCwgMjM1LCAyOSwgMTEsIDM1LCA0LCAxNTYsIDExLCAzNSwgNCwgMTk0LCAxMSwgMzUsIDQsIDIzMCwgMzAsIDExLCAKLSAgICAzNSwgNCwgNzgsIDExLCAzNSwgNCwgMjI2LCAxMDksIDExLCAzNSwgNCwgMjI0LCA5OSwgMTEsIDM1LCA0LCAxNTMsIDExLCAKLSAgICAzNSwgNCwgMjIyLCA5MywgMTEsIDM1LCA0LCAyMTcsIDE1MywgMTEsIDM1LCA0LCA2OSwgMTEsIDM1LCA0LCAyMTQsIDEwNSwgCi0gICAgMTEsIDM1LCA0LCAyMTIsIDk4LCAxMSwgMzUsIDQsIDIxMSwgMTc4LCAxMSwgMzUsIDQsIDIxMSwgMTE3LCAxMSwgMzUsIDQsIAotICAgIDIxMCwgMTU5LCAxMSwgMzUsIDIzLCA2LCA2MSwgMTEsIDM1LCAyMywgNiwgMjUzLCAxNjYsIDExLCAzNSwgMjMsIDYsIDI1MSwgCi0gICAgNzQsIDExLCAzNSwgMjMsIDYsIDI0OSwgNjgsIDExLCAzNSwgMjMsIDYsIDc2LCAxMSwgMzUsIDIzLCA2LCAyNDUsIDE0LCAKLSAgICAxMSwgMzUsIDIzLCA2LCAyNDMsIDIwOSwgMTEsIDM1LCAyMywgNiwgMjQyLCA2NywgMTEsIDM1LCAyMywgNiwgNzQsIDExLCAKLSAgICAzNSwgMjMsIDYsIDIzNSwgMTUwLCAxMSwgMzUsIDIzLCA2LCAyMzUsIDI5LCAxMSwgMzUsIDIzLCA2LCAxNTYsIDExLCAzNSwgCi0gICAgMjMsIDYsIDE5NCwgMTEsIDM1LCAyMywgNiwgMjMwLCAzMCwgMTEsIDM1LCAyMywgNiwgNzgsIDExLCAzNSwgMjMsIDYsIAotICAgIDIyNiwgMTA5LCAxMSwgMzUsIDIzLCA2LCAyMjQsIDk5LCAxMSwgMzUsIDIzLCA2LCAxNTMsIDExLCAzNSwgMjMsIDYsIDIyMiwgCi0gICAgOTMsIDExLCAzNSwgMjMsIDYsIDIxNywgMTUzLCAxMSwgMzUsIDIzLCA2LCA2OSwgMTEsIDM1LCAyMywgNiwgMjE0LCAxMDUsIAotICAgIDExLCAzNSwgMjMsIDYsIDIxMiwgOTgsIDExLCAzNSwgMjMsIDYsIDIxMSwgMTc4LCAxMSwgMzUsIDIzLCA2LCAyMTEsIDExNywgCi0gICAgMTEsIDM1LCAyMywgNiwgMjEwLCAxNTksIDExLCAzNSwgMjMsIDQsIDYxLCAxMSwgMzUsIDIzLCA0LCAyNTMsIDE2NiwgMTEsIAotICAgIDM1LCAyMywgNCwgMjUxLCA3NCwgMTEsIDM1LCAyMywgNCwgMjQ5LCA2OCwgMTEsIDM1LCAyMywgNCwgNzYsIDExLCAzNSwgCi0gICAgMjMsIDQsIDI0NSwgMTQsIDExLCAzNSwgMjMsIDQsIDI0MywgMjA5LCAxMSwgMzUsIDIzLCA0LCAyNDIsIDY3LCAxMSwgMzUsIAotICAgIDIzLCA0LCA3NCwgMTEsIDM1LCAyMywgNCwgMjM1LCAxNTAsIDExLCAzNSwgMjMsIDQsIDIzNSwgMjksIDExLCAzNSwgMjMsIAotICAgIDQsIDE1NiwgMTEsIDM1LCAyMywgNCwgMTk0LCAxMSwgMzUsIDIzLCA0LCAyMzAsIDMwLCAxMSwgMzUsIDIzLCA0LCA3OCwgCi0gICAgMTEsIDM1LCAyMywgNCwgMjI2LCAxMDksIDExLCAzNSwgMjMsIDQsIDIyNCwgOTksIDExLCAzNSwgMjMsIDQsIDE1MywgMTEsIAotICAgIDM1LCAyMywgNCwgMjIyLCA5MywgMTEsIDM1LCAyMywgNCwgMjE3LCAxNTMsIDExLCAzNSwgMjMsIDQsIDY5LCAxMSwgMzUsIAotICAgIDIzLCA0LCAyMTQsIDEwNSwgMTEsIDM1LCAyMywgNCwgMjEyLCA5OCwgMTEsIDM1LCAyMywgNCwgMjExLCAxNzgsIDExLCAzNSwgCi0gICAgMjMsIDQsIDIxMSwgMTE3LCAxMSwgMzUsIDIzLCA0LCAyMTAsIDE1OSwgMTEsIDM1LCAzMiwgNiwgNjEsIDExLCAzNSwgMzIsIAotICAgIDYsIDI1MywgMTY2LCAxMSwgMzUsIDMyLCA2LCAyNTEsIDc0LCAxMSwgMzUsIDMyLCA2LCAyNDksIDY4LCAxMSwgMzUsIDMyLCAKLSAgICA2LCA3NiwgMTEsIDM1LCAzMiwgNiwgMjQ1LCAxNCwgMTEsIDM1LCAzMiwgNiwgMjQzLCAyMDksIDExLCAzNSwgMzIsIDYsIAotICAgIDI0MiwgNjcsIDExLCAzNSwgMzIsIDYsIDc0LCAxMSwgMzUsIDMyLCA2LCAyMzUsIDE1MCwgMTEsIDM1LCAzMiwgNiwgMjM1LCAKLSAgICAyOSwgMTEsIDM1LCAzMiwgNiwgMTU2LCAxMSwgMzUsIDMyLCA2LCAxOTQsIDExLCAzNSwgMzIsIDYsIDIzMCwgMzAsIDExLCAKLSAgICAzNSwgMzIsIDYsIDc4LCAxMSwgMzUsIDMyLCA2LCAyMjYsIDEwOSwgMTEsIDM1LCAzMiwgNiwgMjI0LCA5OSwgMTEsIDM1LCAKLSAgICAzMiwgNiwgMTUzLCAxMSwgMzUsIDMyLCA2LCAyMjIsIDkzLCAxMSwgMzUsIDMyLCA2LCAyMTcsIDE1MywgMTEsIDM1LCAzMiwgCi0gICAgNiwgNjksIDExLCAzNSwgMzIsIDYsIDIxNCwgMTA1LCAxMSwgMzUsIDMyLCA2LCAyMTIsIDk4LCAxMSwgMzUsIDMyLCA2LCAKLSAgICAyMTEsIDE3OCwgMTEsIDM1LCAzMiwgNiwgMjExLCAxMTcsIDExLCAzNSwgMzIsIDYsIDIxMCwgMTU5LCAxMSwgMzUsIDMyLCAKLSAgICA0LCA2MSwgMTEsIDM1LCAzMiwgNCwgMjUzLCAxNjYsIDExLCAzNSwgMzIsIDQsIDI1MSwgNzQsIDExLCAzNSwgMzIsIDQsIAotICAgIDI0OSwgNjgsIDExLCAzNSwgMzIsIDQsIDc2LCAxMSwgMzUsIDMyLCA0LCAyNDUsIDE0LCAxMSwgMzUsIDMyLCA0LCAyNDMsIAotICAgIDIwOSwgMTEsIDM1LCAzMiwgNCwgMjQyLCA2NywgMTEsIDM1LCAzMiwgNCwgNzQsIDExLCAzNSwgMzIsIDQsIDIzNSwgMTUwLCAKLSAgICAxMSwgMzUsIDMyLCA0LCAyMzUsIDI5LCAxMSwgMzUsIDMyLCA0LCAxNTYsIDExLCAzNSwgMzIsIDQsIDE5NCwgMTEsIDM1LCAKLSAgICAzMiwgNCwgMjMwLCAzMCwgMTEsIDM1LCAzMiwgNCwgNzgsIDExLCAzNSwgMzIsIDQsIDIyNiwgMTA5LCAxMSwgMzUsIDMyLCAKLSAgICA0LCAyMjQsIDk5LCAxMSwgMzUsIDMyLCA0LCAxNTMsIDExLCAzNSwgMzIsIDQsIDIyMiwgOTMsIDExLCAzNSwgMzIsIDQsIAotICAgIDIxNywgMTUzLCAxMSwgMzUsIDMyLCA0LCA2OSwgMTEsIDM1LCAzMiwgNCwgMjE0LCAxMDUsIDExLCAzNSwgMzIsIDQsIDIxMiwgCi0gICAgOTgsIDExLCAzNSwgMzIsIDQsIDIxMSwgMTc4LCAxMSwgMzUsIDMyLCA0LCAyMTEsIDExNywgMTEsIDM1LCAzMiwgNCwgMjEwLCAKLSAgICAxNTksIDExLCAzNSwgMjMsIDMyLCA2LCA2MSwgMTEsIDM1LCAyMywgMzIsIDYsIDI1MywgMTY2LCAxMSwgMzUsIDIzLCAzMiwgCi0gICAgNiwgMjUxLCA3NCwgMTEsIDM1LCAyMywgMzIsIDYsIDI0OSwgNjgsIDExLCAzNSwgMjMsIDMyLCA2LCA3NiwgMTEsIDM1LCAKLSAgICAyMywgMzIsIDYsIDI0NSwgMTQsIDExLCAzNSwgMjMsIDMyLCA2LCAyNDMsIDIwOSwgMTEsIDM1LCAyMywgMzIsIDYsIDI0MiwgCi0gICAgNjcsIDExLCAzNSwgMjMsIDMyLCA2LCA3NCwgMTEsIDM1LCAyMywgMzIsIDYsIDIzNSwgMTUwLCAxMSwgMzUsIDIzLCAzMiwgCi0gICAgNiwgMjM1LCAyOSwgMTEsIDM1LCAyMywgMzIsIDYsIDE1NiwgMTEsIDM1LCAyMywgMzIsIDYsIDE5NCwgMTEsIDM1LCAyMywgCi0gICAgMzIsIDYsIDIzMCwgMzAsIDExLCAzNSwgMjMsIDMyLCA2LCA3OCwgMTEsIDM1LCAyMywgMzIsIDYsIDIyNiwgMTA5LCAxMSwgCi0gICAgMzUsIDIzLCAzMiwgNiwgMjI0LCA5OSwgMTEsIDM1LCAyMywgMzIsIDYsIDE1MywgMTEsIDM1LCAyMywgMzIsIDYsIDIyMiwgCi0gICAgOTMsIDExLCAzNSwgMjMsIDMyLCA2LCAyMTcsIDE1MywgMTEsIDM1LCAyMywgMzIsIDYsIDY5LCAxMSwgMzUsIDIzLCAzMiwgCi0gICAgNiwgMjE0LCAxMDUsIDExLCAzNSwgMjMsIDMyLCA2LCAyMTIsIDk4LCAxMSwgMzUsIDIzLCAzMiwgNiwgMjExLCAxNzgsIDExLCAKLSAgICAzNSwgMjMsIDMyLCA2LCAyMTEsIDExNywgMTEsIDM1LCAyMywgMzIsIDYsIDIxMCwgMTU5LCAxMSwgMzUsIDIzLCAzMiwgNCwgCi0gICAgNjEsIDExLCAzNSwgMjMsIDMyLCA0LCAyNTMsIDE2NiwgMTEsIDM1LCAyMywgMzIsIDQsIDI1MSwgNzQsIDExLCAzNSwgMjMsIAotICAgIDMyLCA0LCAyNDksIDY4LCAxMSwgMzUsIDIzLCAzMiwgNCwgNzYsIDExLCAzNSwgMjMsIDMyLCA0LCAyNDUsIDE0LCAxMSwgCi0gICAgMzUsIDIzLCAzMiwgNCwgMjQzLCAyMDksIDExLCAzNSwgMjMsIDMyLCA0LCAyNDIsIDY3LCAxMSwgMzUsIDIzLCAzMiwgNCwgCi0gICAgNzQsIDExLCAzNSwgMjMsIDMyLCA0LCAyMzUsIDE1MCwgMTEsIDM1LCAyMywgMzIsIDQsIDIzNSwgMjksIDExLCAzNSwgMjMsIAotICAgIDMyLCA0LCAxNTYsIDExLCAzNSwgMjMsIDMyLCA0LCAxOTQsIDExLCAzNSwgMjMsIDMyLCA0LCAyMzAsIDMwLCAxMSwgMzUsIAotICAgIDIzLCAzMiwgNCwgNzgsIDExLCAzNSwgMjMsIDMyLCA0LCAyMjYsIDEwOSwgMTEsIDM1LCAyMywgMzIsIDQsIDIyNCwgOTksIAotICAgIDExLCAzNSwgMjMsIDMyLCA0LCAxNTMsIDExLCAzNSwgMjMsIDMyLCA0LCAyMjIsIDkzLCAxMSwgMzUsIDIzLCAzMiwgNCwgCi0gICAgMjE3LCAxNTMsIDExLCAzNSwgMjMsIDMyLCA0LCA2OSwgMTEsIDM1LCAyMywgMzIsIDQsIDIxNCwgMTA1LCAxMSwgMzUsIDIzLCAKLSAgICAzMiwgNCwgMjEyLCA5OCwgMTEsIDM1LCAyMywgMzIsIDQsIDIxMSwgMTc4LCAxMSwgMzUsIDIzLCAzMiwgNCwgMjExLCAxMTcsIAotICAgIDExLCAzNSwgMjMsIDMyLCA0LCAyMTAsIDE1OSwgMTEsIDIzMCwgMTQzLCA2LCA2MSwgMTEsIDIzMCwgMTQzLCA2LCAyNTMsIAotICAgIDE2NiwgMTEsIDIzMCwgMTQzLCA2LCAyNTEsIDc0LCAxMSwgMjMwLCAxNDMsIDYsIDI0OSwgNjgsIDExLCAyMzAsIDE0MywgNiwgCi0gICAgNzYsIDExLCAyMzAsIDE0MywgNiwgMjQ1LCAxNCwgMTEsIDIzMCwgMTQzLCA2LCAyNDMsIDIwOSwgMTEsIDIzMCwgMTQzLCA2LCAKLSAgICAyNDIsIDY3LCAxMSwgMjMwLCAxNDMsIDYsIDc0LCAxMSwgMjMwLCAxNDMsIDYsIDIzNSwgMTUwLCAxMSwgMjMwLCAxNDMsIDYsIAotICAgIDIzNSwgMjksIDExLCAyMzAsIDE0MywgNiwgMTU2LCAxMSwgMjMwLCAxNDMsIDYsIDE5NCwgMTEsIDIzMCwgMTQzLCA2LCAKLSAgICAyMzAsIDMwLCAxMSwgMjMwLCAxNDMsIDYsIDc4LCAxMSwgMjMwLCAxNDMsIDYsIDIyNiwgMTA5LCAxMSwgMjMwLCAxNDMsIDYsIAotICAgIDIyNCwgOTksIDExLCAyMzAsIDE0MywgNiwgMTUzLCAxMSwgMjMwLCAxNDMsIDYsIDIyMiwgOTMsIDExLCAyMzAsIDE0MywgNiwgCi0gICAgMjE3LCAxNTMsIDExLCAyMzAsIDE0MywgNiwgNjksIDExLCAyMzAsIDE0MywgNiwgMjE0LCAxMDUsIDExLCAyMzAsIDE0MywgCi0gICAgNiwgMjEyLCA5OCwgMTEsIDIzMCwgMTQzLCA2LCAyMTEsIDE3OCwgMTEsIDIzMCwgMTQzLCA2LCAyMTEsIDExNywgMTEsIAotICAgIDIzMCwgMTQzLCA2LCAyMTAsIDE1OSwgMTEsIDIzMCwgMTQzLCA0LCA2MSwgMTEsIDIzMCwgMTQzLCA0LCAyNTMsIDE2NiwgCi0gICAgMTEsIDIzMCwgMTQzLCA0LCAyNTEsIDc0LCAxMSwgMjMwLCAxNDMsIDQsIDI0OSwgNjgsIDExLCAyMzAsIDE0MywgNCwgNzYsIAotICAgIDExLCAyMzAsIDE0MywgNCwgMjQ1LCAxNCwgMTEsIDIzMCwgMTQzLCA0LCAyNDMsIDIwOSwgMTEsIDIzMCwgMTQzLCA0LCAKLSAgICAyNDIsIDY3LCAxMSwgMjMwLCAxNDMsIDQsIDc0LCAxMSwgMjMwLCAxNDMsIDQsIDIzNSwgMTUwLCAxMSwgMjMwLCAxNDMsIDQsIAotICAgIDIzNSwgMjksIDExLCAyMzAsIDE0MywgNCwgMTU2LCAxMSwgMjMwLCAxNDMsIDQsIDE5NCwgMTEsIDIzMCwgMTQzLCA0LCAKLSAgICAyMzAsIDMwLCAxMSwgMjMwLCAxNDMsIDQsIDc4LCAxMSwgMjMwLCAxNDMsIDQsIDIyNiwgMTA5LCAxMSwgMjMwLCAxNDMsIDQsIAotICAgIDIyNCwgOTksIDExLCAyMzAsIDE0MywgNCwgMTUzLCAxMSwgMjMwLCAxNDMsIDQsIDIyMiwgOTMsIDExLCAyMzAsIDE0MywgNCwgCi0gICAgMjE3LCAxNTMsIDExLCAyMzAsIDE0MywgNCwgNjksIDExLCAyMzAsIDE0MywgNCwgMjE0LCAxMDUsIDExLCAyMzAsIDE0MywgCi0gICAgNCwgMjEyLCA5OCwgMTEsIDIzMCwgMTQzLCA0LCAyMTEsIDE3OCwgMTEsIDIzMCwgMTQzLCA0LCAyMTEsIDExNywgMTEsIAotICAgIDIzMCwgMTQzLCA0LCAyMTAsIDE1OSwgMTEsIDMyLCA0LCAyNDcsIDEyNywgNzQsIDExLCAzMiwgNCwgMjQ3LCAxMjcsIDIzNSwgCi0gICAgMTUwLCAxMSwgMjMsIDYsIDI1NCwgMTUxLCAxMSwgMjMsIDYsIDI1MiwgMzQsIDExLCAyMywgNiwgMjQzLCAxMTQsIDExLCAKLSAgICAyMywgNiwgMjQ4LCA2MiwgMTEsIDIzLCA2LCAyNDUsIDEwOCwgMTEsIDIzLCA2LCAyMTAsIDg1LCAxMSwgMjMsIDYsIDI0NSwgCi0gICAgNzEsIDExLCAyMywgNiwgMjE2LCAxODAsIDExLCAyMywgNiwgMjM1LCAxOTIsIDExLCAyMywgNiwgMjM0LCAyMjgsIDExLCAKLSAgICAyMywgNiwgMjMzLCAxMDQsIDExLCAyMywgNiwgMjMwLCAxMDcsIDExLCAyMywgNiwgMjI3LCAyNDIsIDExLCAyMywgNiwgCi0gICAgMjExLCAxNTcsIDExLCAyMywgNiwgMjI2LCAyMDMsIDExLCAyMywgNiwgMjI1LCAxMTEsIDExLCAyMywgNiwgMjIzLCA0MCwgCi0gICAgMTEsIDIzLCA2LCAyMTYsIDE4MSwgODcsIDExLCAyMywgNiwgMjE5LCAxNzksIDExLCAyMywgNiwgMjE3LCA0MiwgMTEsIDIzLCAKLSAgICA2LCAyMTQsIDE1NywgMTEsIDIzLCA2LCAyMjUsIDEzNiwgMTEsIDIzLCA2LCAyNTAsIDExOCwgMTEsIDIzLCA2LCAyMjQsIAotICAgIDE2NCwgMTEsIDIzLCA2LCAyMjYsIDIwNSwgMTEsIDIzLCAyMjksIDIyNiwgMTEsIDIzLCA0LCAyNTQsIDE1MSwgMTEsIDIzLCAKLSAgICA0LCAyNTIsIDM0LCAxMSwgMjMsIDQsIDI0MywgMTE0LCAxMSwgMjMsIDQsIDI0OCwgNjIsIDExLCAyMywgNCwgMjQ1LCAxMDgsIAotICAgIDExLCAyMywgNCwgMjEwLCA4NSwgMTEsIDIzLCA0LCAyNDUsIDcxLCAxMSwgMjMsIDQsIDIxNiwgMTgwLCAxMSwgMjMsIDQsIAotICAgIDIzNSwgMTkyLCAxMSwgMjMsIDQsIDIzNCwgMjI4LCAxMSwgMjMsIDQsIDIzMywgMTA0LCAxMSwgMjMsIDQsIDIzMCwgMTA3LCAKLSAgICAxMSwgMjMsIDQsIDIyNywgMjQyLCAxMSwgMjMsIDQsIDIxMSwgMTU3LCAxMSwgMjMsIDQsIDIyNiwgMjAzLCAxMSwgMjMsIDQsIAotICAgIDIyNSwgMTExLCAxMSwgMjMsIDQsIDIyMywgNDAsIDExLCAyMywgNCwgNDAsIDIxOSwgMTc5LCAxMSwgMjMsIDQsIDIxOSwgCi0gICAgMTc5LCAxMSwgMjMsIDQsIDIxNywgNDIsIDExLCAyMywgNCwgMjE0LCAxNTcsIDExLCAyMywgNCwgMjI1LCAxMzYsIDExLCAKLSAgICAyMywgNCwgMjUwLCAxMTgsIDExLCAyMywgNCwgMjI0LCAxNjQsIDExLCAyMywgNCwgMjI2LCAyMDUsIDExLCAyMywgMjI2LCAKLSAgICAxLCAyNDcsIDI0MSwgMTEsIDIzLCAyNDUsIDEwOSwgODcsIDExLCAyMywgMjE2LCAxODEsIDg3LCAxMSwgMjMsIDIzNCwgCi0gICAgMjI5LCA4NywgMTEsIDIzLCAyMjUsIDEzNywgODcsIDExLCAyMywgMjIzLCA0MSwgODcsIDExLCAyMywgMjI1LCAxMTIsIDg3LCAKLSAgICAxMSwgMzIsIDYsIDI1NCwgMTUxLCAxMSwgMzIsIDYsIDI1MiwgMzQsIDExLCAzMiwgNiwgMjQzLCAxMTQsIDExLCAzMiwgNiwgCi0gICAgMjQ4LCA2MiwgMTEsIDMyLCA2LCAyNDUsIDEwOCwgMTEsIDMyLCA2LCAyMTAsIDg1LCAxMSwgMzIsIDYsIDI0NSwgNzEsIDExLCAKLSAgICAzMiwgNiwgMjE2LCAxODAsIDExLCAzMiwgNiwgMjM1LCAxOTIsIDExLCAzMiwgNiwgMjM0LCAyMjgsIDExLCAzMiwgNiwgCi0gICAgMjMzLCAxMDQsIDExLCAzMiwgNiwgMjMwLCAxMDcsIDExLCAzMiwgNiwgMjI3LCAyNDIsIDExLCAzMiwgNiwgMjExLCAxNTcsIAotICAgIDExLCAzMiwgNiwgMjI2LCAyMDMsIDExLCAzMiwgNiwgMjI1LCAxMTEsIDExLCAzMiwgNiwgMjIzLCA0MCwgMTEsIDMyLCA2LCAKLSAgICAyMTYsIDE4MSwgODcsIDExLCAzMiwgNiwgMjE5LCAxNzksIDExLCAzMiwgNiwgMjE3LCA0MiwgMTEsIDMyLCA2LCAyMTQsIAotICAgIDE1NywgMTEsIDMyLCA2LCAyMjUsIDEzNiwgMTEsIDMyLCA2LCAyNTAsIDExOCwgMTEsIDMyLCA2LCAyMjQsIDE2NCwgMTEsIAotICAgIDMyLCA2LCAyMjYsIDIwNSwgMTEsIDMyLCAyMjksIDIyNiwgMTEsIDMyLCA0LCAyNTQsIDE1MSwgMTEsIDMyLCA0LCAyNTIsIAotICAgIDM0LCAxMSwgMzIsIDQsIDI0MywgMTE0LCAxMSwgMzIsIDQsIDI0OCwgNjIsIDExLCAzMiwgNCwgMjQ1LCAxMDgsIDExLCAzMiwgCi0gICAgNCwgMjEwLCA4NSwgMTEsIDMyLCA0LCAyNDUsIDcxLCAxMSwgMzIsIDQsIDIxNiwgMTgwLCAxMSwgMzIsIDQsIDIzNSwgMTkyLCAKLSAgICAxMSwgMzIsIDQsIDIzNCwgMjI4LCAxMSwgMzIsIDQsIDIzMywgMTA0LCAxMSwgMzIsIDQsIDIzMCwgMTA3LCAxMSwgMzIsIDQsIAotICAgIDIyNywgMjQyLCAxMSwgMzIsIDQsIDIxMSwgMTU3LCAxMSwgMzIsIDQsIDIyNiwgMjAzLCAxMSwgMzIsIDQsIDIyNSwgMTExLCAKLSAgICAxMSwgMzIsIDQsIDIyMywgNDAsIDExLCAzMiwgNCwgNDAsIDIxOSwgMTc5LCAxMSwgMzIsIDQsIDIxOSwgMTc5LCAxMSwgMzIsIAotICAgIDQsIDIxNywgNDIsIDExLCAzMiwgNCwgMjE0LCAxNTcsIDExLCAzMiwgNCwgMjI1LCAxMzYsIDExLCAzMiwgNCwgMjUwLCAKLSAgICAxMTgsIDExLCAzMiwgNCwgMjI0LCAxNjQsIDExLCAzMiwgNCwgMjI2LCAyMDUsIDExLCAzMiwgMjI2LCAxLCAyNDcsIDI0MSwgCi0gICAgMTEsIDMyLCAyNDUsIDEwOSwgODcsIDExLCAzMiwgMjE2LCAxODEsIDg3LCAxMSwgMzIsIDIzNCwgMjI5LCA4NywgMTEsIDMyLCAKLSAgICAyMjUsIDEzNywgODcsIDExLCAzMiwgMjIzLCA0MSwgODcsIDExLCAzMiwgMjI1LCAxMTIsIDg3LCAxMSwgMjMsIDMyLCA2LCAKLSAgICAyNTQsIDE1MSwgMTEsIDIzLCAzMiwgNiwgMjUyLCAzNCwgMTEsIDIzLCAzMiwgNiwgMjQzLCAxMTQsIDExLCAyMywgMzIsIDYsIAotICAgIDI0OCwgNjIsIDExLCAyMywgMzIsIDYsIDI0NSwgMTA4LCAxMSwgMjMsIDMyLCA2LCAyMTAsIDg1LCAxMSwgMjMsIDMyLCA2LCAKLSAgICAyNDUsIDcxLCAxMSwgMjMsIDMyLCA2LCAyMTYsIDE4MCwgMTEsIDIzLCAzMiwgNiwgMjM1LCAxOTIsIDExLCAyMywgMzIsIDYsIAotICAgIDIzNCwgMjI4LCAxMSwgMjMsIDMyLCA2LCAyMzMsIDEwNCwgMTEsIDIzLCAzMiwgNiwgMjMwLCAxMDcsIDExLCAyMywgMzIsIAotICAgIDYsIDIyNywgMjQyLCAxMSwgMjMsIDMyLCA2LCAyMTEsIDE1NywgMTEsIDIzLCAzMiwgNiwgMjI2LCAyMDMsIDExLCAyMywgCi0gICAgMzIsIDYsIDIyNSwgMTExLCAxMSwgMjMsIDMyLCA2LCAyMjMsIDQwLCAxMSwgMjMsIDMyLCA2LCAyMTYsIDE4MSwgODcsIDExLCAKLSAgICAyMywgMzIsIDYsIDIxOSwgMTc5LCAxMSwgMjMsIDMyLCA2LCAyMTcsIDQyLCAxMSwgMjMsIDMyLCA2LCAyMTQsIDE1NywgMTEsIAotICAgIDIzLCAzMiwgNiwgMjI1LCAxMzYsIDExLCAyMywgMzIsIDYsIDI1MCwgMTE4LCAxMSwgMjMsIDMyLCA2LCAyMjQsIDE2NCwgCi0gICAgMTEsIDIzLCAzMiwgNiwgMjI2LCAyMDUsIDExLCAyMywgMzIsIDIyOSwgMjI2LCAxMSwgMjMsIDMyLCA0LCAyNTQsIDE1MSwgCi0gICAgMTEsIDIzLCAzMiwgNCwgMjUyLCAzNCwgMTEsIDIzLCAzMiwgNCwgMjQzLCAxMTQsIDExLCAyMywgMzIsIDQsIDI0OCwgNjIsIAotICAgIDExLCAyMywgMzIsIDQsIDI0NSwgMTA4LCAxMSwgMjMsIDMyLCA0LCAyMTAsIDg1LCAxMSwgMjMsIDMyLCA0LCAyNDUsIDcxLCAKLSAgICAxMSwgMjMsIDMyLCA0LCAyMTYsIDE4MCwgMTEsIDIzLCAzMiwgNCwgMjM1LCAxOTIsIDExLCAyMywgMzIsIDQsIDIzNCwgCi0gICAgMjI4LCAxMSwgMjMsIDMyLCA0LCAyMzMsIDEwNCwgMTEsIDIzLCAzMiwgNCwgMjMwLCAxMDcsIDExLCAyMywgMzIsIDQsIAotICAgIDIyNywgMjQyLCAxMSwgMjMsIDMyLCA0LCAyMTEsIDE1NywgMTEsIDIzLCAzMiwgNCwgMjI2LCAyMDMsIDExLCAyMywgMzIsIAotICAgIDQsIDIyNSwgMTExLCAxMSwgMjMsIDMyLCA0LCAyMjMsIDQwLCAxMSwgMjMsIDMyLCA0LCA0MCwgMjE5LCAxNzksIDExLCAyMywgCi0gICAgMzIsIDQsIDIxOSwgMTc5LCAxMSwgMjMsIDMyLCA0LCAyMTcsIDQyLCAxMSwgMjMsIDMyLCA0LCAyMTQsIDE1NywgMTEsIDIzLCAKLSAgICAzMiwgNCwgMjI1LCAxMzYsIDExLCAyMywgMzIsIDQsIDI1MCwgMTE4LCAxMSwgMjMsIDMyLCA0LCAyMjQsIDE2NCwgMTEsIAotICAgIDIzLCAzMiwgNCwgMjI2LCAyMDUsIDExLCAyMywgMzIsIDIyNiwgMSwgMjQ3LCAyNDEsIDExLCAyMywgMzIsIDI0NSwgMTA5LCAKLSAgICA4NywgMTEsIDIzLCAzMiwgMjE2LCAxODEsIDg3LCAxMSwgMjMsIDMyLCAyMzQsIDIyOSwgODcsIDExLCAyMywgMzIsIDIyNSwgCi0gICAgMTM3LCA4NywgMTEsIDIzLCAzMiwgMjIzLCA0MSwgODcsIDExLCAyMywgMzIsIDIyNSwgMTEyLCA4NywgMTEsIDM1LCAyMywgCi0gICAgNiwgMjU0LCAxNTEsIDExLCAzNSwgMjMsIDYsIDI1MiwgMzQsIDExLCAzNSwgMjMsIDYsIDI0MywgMTE0LCAxMSwgMzUsIDIzLCAKLSAgICA2LCAyNDgsIDYyLCAxMSwgMzUsIDIzLCA2LCAyNDUsIDEwOCwgMTEsIDM1LCAyMywgNiwgMjEwLCA4NSwgMTEsIDM1LCAyMywgCi0gICAgNiwgMjQ1LCA3MSwgMTEsIDM1LCAyMywgNiwgMjE2LCAxODAsIDExLCAzNSwgMjMsIDYsIDIzNSwgMTkyLCAxMSwgMzUsIDIzLCAKLSAgICA2LCAyMzQsIDIyOCwgMTEsIDM1LCAyMywgNiwgMjMzLCAxMDQsIDExLCAzNSwgMjMsIDYsIDIzMCwgMTA3LCAxMSwgMzUsIAotICAgIDIzLCA2LCAyMjcsIDI0MiwgMTEsIDM1LCAyMywgNiwgMjExLCAxNTcsIDExLCAzNSwgMjMsIDYsIDIyNiwgMjAzLCAxMSwgCi0gICAgMzUsIDIzLCA2LCAyMjUsIDExMSwgMTEsIDM1LCAyMywgNiwgMjIzLCA0MCwgMTEsIDM1LCAyMywgNiwgMjE2LCAxODEsIDg3LCAKLSAgICAxMSwgMzUsIDIzLCA2LCAyMTksIDE3OSwgMTEsIDM1LCAyMywgNiwgMjE3LCA0MiwgMTEsIDM1LCAyMywgNiwgMjE0LCAxNTcsIAotICAgIDExLCAzNSwgMjMsIDYsIDIyNSwgMTM2LCAxMSwgMzUsIDIzLCA2LCAyNTAsIDExOCwgMTEsIDM1LCAyMywgNiwgMjI0LCAKLSAgICAxNjQsIDExLCAzNSwgMjMsIDYsIDIyNiwgMjA1LCAxMSwgMzUsIDIzLCAyMjksIDIyNiwgMTEsIDM1LCAyMywgNCwgMjU0LCAKLSAgICAxNTEsIDExLCAzNSwgMjMsIDQsIDI1MiwgMzQsIDExLCAzNSwgMjMsIDQsIDI0MywgMTE0LCAxMSwgMzUsIDIzLCA0LCAyNDgsIAotICAgIDYyLCAxMSwgMzUsIDIzLCA0LCAyNDUsIDEwOCwgMTEsIDM1LCAyMywgNCwgMjEwLCA4NSwgMTEsIDM1LCAyMywgNCwgMjQ1LCAKLSAgICA3MSwgMTEsIDM1LCAyMywgNCwgMjE2LCAxODAsIDExLCAzNSwgMjMsIDQsIDIzNSwgMTkyLCAxMSwgMzUsIDIzLCA0LCAyMzQsIAotICAgIDIyOCwgMTEsIDM1LCAyMywgNCwgMjMzLCAxMDQsIDExLCAzNSwgMjMsIDQsIDIzMCwgMTA3LCAxMSwgMzUsIDIzLCA0LCAKLSAgICAyMjcsIDI0MiwgMTEsIDM1LCAyMywgNCwgMjExLCAxNTcsIDExLCAzNSwgMjMsIDQsIDIyNiwgMjAzLCAxMSwgMzUsIDIzLCAKLSAgICA0LCAyMjUsIDExMSwgMTEsIDM1LCAyMywgNCwgMjIzLCA0MCwgMTEsIDM1LCAyMywgNCwgNDAsIDIxOSwgMTc5LCAxMSwgMzUsIAotICAgIDIzLCA0LCAyMTksIDE3OSwgMTEsIDM1LCAyMywgNCwgMjE3LCA0MiwgMTEsIDM1LCAyMywgNCwgMjE0LCAxNTcsIDExLCAzNSwgCi0gICAgMjMsIDQsIDIyNSwgMTM2LCAxMSwgMzUsIDIzLCA0LCAyNTAsIDExOCwgMTEsIDM1LCAyMywgNCwgMjI0LCAxNjQsIDExLCAKLSAgICAzNSwgMjMsIDQsIDIyNiwgMjA1LCAxMSwgMzUsIDIzLCAyMjYsIDEsIDI0NywgMjQxLCAxMSwgMzUsIDIzLCAyNDUsIDEwOSwgCi0gICAgODcsIDExLCAzNSwgMjMsIDIxNiwgMTgxLCA4NywgMTEsIDM1LCAyMywgMjM0LCAyMjksIDg3LCAxMSwgMzUsIDIzLCAyMjUsIAotICAgIDEzNywgODcsIDExLCAzNSwgMjMsIDIyMywgNDEsIDg3LCAxMSwgMzUsIDIzLCAyMjUsIDExMiwgODcsIDExLCAzNSwgMjMsIAotICAgIDMyLCA2LCAyNTQsIDE1MSwgMTEsIDM1LCAyMywgMzIsIDYsIDI1MiwgMzQsIDExLCAzNSwgMjMsIDMyLCA2LCAyNDMsIDExNCwgCi0gICAgMTEsIDM1LCAyMywgMzIsIDYsIDI0OCwgNjIsIDExLCAzNSwgMjMsIDMyLCA2LCAyNDUsIDEwOCwgMTEsIDM1LCAyMywgMzIsIAotICAgIDYsIDIxMCwgODUsIDExLCAzNSwgMjMsIDMyLCA2LCAyNDUsIDcxLCAxMSwgMzUsIDIzLCAzMiwgNiwgMjE2LCAxODAsIDExLCAKLSAgICAzNSwgMjMsIDMyLCA2LCAyMzUsIDE5MiwgMTEsIDM1LCAyMywgMzIsIDYsIDIzNCwgMjI4LCAxMSwgMzUsIDIzLCAzMiwgNiwgCi0gICAgMjMzLCAxMDQsIDExLCAzNSwgMjMsIDMyLCA2LCAyMzAsIDEwNywgMTEsIDM1LCAyMywgMzIsIDYsIDIyNywgMjQyLCAxMSwgCi0gICAgMzUsIDIzLCAzMiwgNiwgMjExLCAxNTcsIDExLCAzNSwgMjMsIDMyLCA2LCAyMjYsIDIwMywgMTEsIDM1LCAyMywgMzIsIDYsIAotICAgIDIyNSwgMTExLCAxMSwgMzUsIDIzLCAzMiwgNiwgMjIzLCA0MCwgMTEsIDM1LCAyMywgMzIsIDYsIDIxNiwgMTgxLCA4NywgCi0gICAgMTEsIDM1LCAyMywgMzIsIDYsIDIxOSwgMTc5LCAxMSwgMzUsIDIzLCAzMiwgNiwgMjE3LCA0MiwgMTEsIDM1LCAyMywgMzIsIAotICAgIDYsIDIxNCwgMTU3LCAxMSwgMzUsIDIzLCAzMiwgNiwgMjI1LCAxMzYsIDExLCAzNSwgMjMsIDMyLCA2LCAyNTAsIDExOCwgCi0gICAgMTEsIDM1LCAyMywgMzIsIDYsIDIyNCwgMTY0LCAxMSwgMzUsIDIzLCAzMiwgNiwgMjI2LCAyMDUsIDExLCAzNSwgMjMsIDMyLCAKLSAgICAyMjksIDIyNiwgMTEsIDM1LCAyMywgMzIsIDQsIDI1NCwgMTUxLCAxMSwgMzUsIDIzLCAzMiwgNCwgMjUyLCAzNCwgMTEsIAotICAgIDM1LCAyMywgMzIsIDQsIDI0MywgMTE0LCAxMSwgMzUsIDIzLCAzMiwgNCwgMjQ4LCA2MiwgMTEsIDM1LCAyMywgMzIsIDQsIAotICAgIDI0NSwgMTA4LCAxMSwgMzUsIDIzLCAzMiwgNCwgMjEwLCA4NSwgMTEsIDM1LCAyMywgMzIsIDQsIDI0NSwgNzEsIDExLCAzNSwgCi0gICAgMjMsIDMyLCA0LCAyMTYsIDE4MCwgMTEsIDM1LCAyMywgMzIsIDQsIDIzNSwgMTkyLCAxMSwgMzUsIDIzLCAzMiwgNCwgMjM0LCAKLSAgICAyMjgsIDExLCAzNSwgMjMsIDMyLCA0LCAyMzMsIDEwNCwgMTEsIDM1LCAyMywgMzIsIDQsIDIzMCwgMTA3LCAxMSwgMzUsIAotICAgIDIzLCAzMiwgNCwgMjI3LCAyNDIsIDExLCAzNSwgMjMsIDMyLCA0LCAyMTEsIDE1NywgMTEsIDM1LCAyMywgMzIsIDQsIDIyNiwgCi0gICAgMjAzLCAxMSwgMzUsIDIzLCAzMiwgNCwgMjI1LCAxMTEsIDExLCAzNSwgMjMsIDMyLCA0LCAyMjMsIDQwLCAxMSwgMzUsIDIzLCAKLSAgICAzMiwgNCwgNDAsIDIxOSwgMTc5LCAxMSwgMzUsIDIzLCAzMiwgNCwgMjE5LCAxNzksIDExLCAzNSwgMjMsIDMyLCA0LCAyMTcsIAotICAgIDQyLCAxMSwgMzUsIDIzLCAzMiwgNCwgMjE0LCAxNTcsIDExLCAzNSwgMjMsIDMyLCA0LCAyMjUsIDEzNiwgMTEsIDM1LCAyMywgCi0gICAgMzIsIDQsIDI1MCwgMTE4LCAxMSwgMzUsIDIzLCAzMiwgNCwgMjI0LCAxNjQsIDExLCAzNSwgMjMsIDMyLCA0LCAyMjYsIAotICAgIDIwNSwgMTEsIDM1LCAyMywgMzIsIDIyNiwgMSwgMjQ3LCAyNDEsIDExLCAzNSwgMjMsIDMyLCAyNDUsIDEwOSwgODcsIDExLCAKLSAgICAzNSwgMjMsIDMyLCAyMTYsIDE4MSwgODcsIDExLCAzNSwgMjMsIDMyLCAyMzQsIDIyOSwgODcsIDExLCAzNSwgMjMsIDMyLCAKLSAgICAyMjUsIDEzNywgODcsIDExLCAzNSwgMjMsIDMyLCAyMjMsIDQxLCA4NywgMTEsIDM1LCAyMywgMzIsIDIyNSwgMTEyLCA4NywgCi0gICAgMTEsIDIzLCA2LCAyNDcsIDIzNSwgMTEsIDIzLCA0LCAyNDcsIDIzNSwgMTEsIDIzLCAyMSwgMjEwLCA4NiwgMTEsIDIzLCAKLSAgICAyMSwgMTExLCAxMSwgMjMsIDIxLCAxMDUsIDExLCAyMywgMjEsIDE1OCwgMTEsIDIzLCAyMSwgMTYxLCAxMSwgMjMsIDIxLCAKLSAgICAxOTAsIDExLCAyMywgMjEsIDE5NSwgMTEsIDIzLCAyMSwgMTk5LCAxMSwgMjMsIDIxLCAxOTYsIDExLCAyMywgMjEsIDIwMSwgCi0gICAgMTEsIDEzOSwgMjEsIDIxMCwgODYsIDExLCAxMzksIDIxLCAxMTEsIDExLCAxMzksIDIxLCAxMDUsIDExLCAxMzksIDIxLCAKLSAgICAxNTgsIDExLCAxMzksIDIxLCAxNjEsIDExLCAxMzksIDIxLCAxOTAsIDExLCAxMzksIDIxLCAxOTUsIDExLCAxMzksIDIxLCAKLSAgICAxOTksIDExLCAxMzksIDIxLCAxOTYsIDExLCAxMzksIDIxLCAyMDEsIDExLCAzNSwgMjEsIDIxMCwgODYsIDExLCAzNSwgMjEsIAotICAgIDExMSwgMTEsIDM1LCAyMSwgMTA1LCAxMSwgMzUsIDIxLCAxNTgsIDExLCAzNSwgMjEsIDE2MSwgMTEsIDM1LCAyMSwgMTkwLCAKLSAgICAxMSwgMzUsIDIxLCAxOTUsIDExLCAzNSwgMjEsIDE5OSwgMTEsIDM1LCAyMSwgMTk2LCAxMSwgMzUsIDIxLCAyMDEsIDExLCAKLSAgICAzNSwgMjMsIDIxLCAyMTAsIDg2LCAxMSwgMzUsIDIzLCAyMSwgMTExLCAxMSwgMzUsIDIzLCAyMSwgMTA1LCAxMSwgMzUsIAotICAgIDIzLCAyMSwgMTU4LCAxMSwgMzUsIDIzLCAyMSwgMTYxLCAxMSwgMzUsIDIzLCAyMSwgMTkwLCAxMSwgMzUsIDIzLCAyMSwgCi0gICAgMTk1LCAxMSwgMzUsIDIzLCAyMSwgMTk5LCAxMSwgMzUsIDIzLCAyMSwgMTk2LCAxMSwgMzUsIDIzLCAyMSwgMjAxLCAxMSwgCi0gICAgMjMwLCAxNDMsIDIxLCAyMTAsIDg2LCAxMSwgMjMwLCAxNDMsIDIxLCAxMTEsIDExLCAyMzAsIDE0MywgMjEsIDEwNSwgMTEsIAotICAgIDIzMCwgMTQzLCAyMSwgMTU4LCAxMSwgMjMwLCAxNDMsIDIxLCAxNjEsIDExLCAyMzAsIDE0MywgMjEsIDE5MCwgMTEsIDIzMCwgCi0gICAgMTQzLCAyMSwgMTk1LCAxMSwgMjMwLCAxNDMsIDIxLCAxOTksIDExLCAyMzAsIDE0MywgMjEsIDE5NiwgMTEsIDIzMCwgMTQzLCAKLSAgICAyMSwgMjAxLCA5LCAxMSwgMjU0LCAxNzksIDksIDExLCAyNTIsIDYyLCA5LCAxMSwgMjM1LCAxMjksIDksIDExLCAyNDgsIAotICAgIDIwMywgOSwgMTEsIDIxMiwgMzAsIDksIDExLCAyMTAsIDEwOCwgOSwgMTEsIDI0MiwgNDQsIDksIDExLCAyMTcsIDgxLCA5LCAKLSAgICAxMSwgMjExLCA0MywgOSwgMTEsIDIzNSwgMCwgOSwgMTEsIDIzMywgMTA4LCA5LCAxMSwgMjMxLCA4MywgOSwgMTEsIDIyOCwgCi0gICAgNjcsIDksIDExLCAyMjEsIDE2OCwgOSwgMTEsIDI1NCwgMjA1LCA5LCAxMSwgMjQ0LCAxNTAsIDksIDExLCAyMjIsIDI4LCA5LCAKLSAgICAxMSwgMjI0LCA4NCwgOSwgMTEsIDIyMywgOTgsIDksIDExLCAyMjAsIDYxLCA5LCAxMSwgMjE3LCA4LCA5LCAxMSwgMjE2LCAKLSAgICAxOTMsIDksIDExLCAyMzQsIDEzNSwgOSwgMTEsIDIxNiwgMjAzLCA5LCAxMSwgMjQ4LCAyMjQsIDksIDExLCAyMTAsIDExMSwgCi0gICAgOSwgMTEsIDI0MiwgMjUxLCA5LCAxMSwgMjQ3LCAxMjcsIDI1MiwgNjIsIDksIDExLCAyNDcsIDEyNywgMjI4LCA2NywgOSwgCi0gICAgMTEsIDI0NywgMTI3LCAyNDQsIDE1MCwgOSwgMTEsIDI0NywgMTI3LCAyMjQsIDg0LCA5LCAxMSwgNjUsIDI1MiwgNjIsIDksIAotICAgIDExLCA2NSwgMjM1LCAxMjksIDksIDExLCA2NSwgMjQxLCAyMjUsIDksIDExLCA2NSwgMjQyLCA0NCwgOSwgMTEsIDY1LCAKLSAgICAyMTEsIDQzLCA5LCAxMSwgNjUsIDIzNSwgMCwgOSwgMTEsIDY1LCAyMzMsIDEwOCwgOSwgMTEsIDY1LCAyMzEsIDgzLCA5LCAKLSAgICAxMSwgNjUsIDIyOCwgNjcsIDksIDExLCA2NSwgMjIxLCAxNjgsIDksIDExLCA2NSwgMjU0LCAyMDUsIDksIDExLCA2NSwgCi0gICAgMjQ0LCAxNTAsIDksIDExLCA2NSwgMjIyLCAyOCwgOSwgMTEsIDY1LCAyMjQsIDg0LCA5LCAxMSwgNjUsIDIyMCwgNjEsIDksIAotICAgIDExLCA2NSwgMjE3LCA4LCA5LCAxMSwgNjUsIDIxNiwgMTkzLCA5LCAxMSwgNjUsIDIzNCwgMTM1LCA5LCAxMSwgNjUsIDI0OCwgCi0gICAgMjI0LCA5LCAxMSwgNjUsIDI0MiwgMjUxLCA5LCAxMSwgMjE3LCA3NywgMjM1LCAxMjksIDksIDExLCAyMTcsIDc3LCAyNDIsIAotICAgIDQ0LCA5LCAxMSwgMjE3LCA3NywgMjExLCA0MywgOSwgMTEsIDIxNywgNzcsIDIzMywgMTA4LCA5LCAxMSwgMjE3LCA3NywgCi0gICAgMjI4LCA2NywgOSwgMTEsIDIxNywgNzcsIDIyMSwgMTY4LCA5LCAxMSwgMjE3LCA3NywgMjU0LCAyMDUsIDksIDExLCAyMTcsIAotICAgIDc3LCAyMjIsIDI4LCA5LCAxMSwgMjE3LCA3NywgMjI0LCA4NCwgOSwgMTEsIDIxNywgNzcsIDIyMCwgNjEsIDksIDExLCAKLSAgICAyMTcsIDc3LCAyMzQsIDEzNSwgOSwgMTEsIDIxNywgNzcsIDI0OCwgMjI0LCA5LCAxMSwgMjE3LCA3NywgMjQyLCAyNTEsIDksIAotICAgIDExLCAyMTcsIDc3LCAyNDcsIDEyNywgMjI4LCA2NywgOSwgMTEsIDIxNywgNzcsIDI0NywgMTI3LCAyMjQsIDg0LCA5LCAxMSwgCi0gICAgMjE4LCAxMTIsIDI1MiwgNjIsIDksIDExLCAyMTgsIDExMiwgMjM1LCAxMjksIDksIDExLCAyMTgsIDExMiwgMjQxLCAyMjUsIAotICAgIDksIDExLCAyMTgsIDExMiwgMjQyLCA0NCwgOSwgMTEsIDIxOCwgMTEyLCAyMTcsIDgxLCA5LCAxMSwgMjE4LCAxMTIsIDIxMSwgCi0gICAgNDMsIDksIDExLCAyMTgsIDExMiwgMjM1LCAwLCA5LCAxMSwgMjE4LCAxMTIsIDIzMSwgODMsIDksIDExLCAyMTgsIDExMiwgCi0gICAgMjI4LCA2NywgOSwgMTEsIDIxOCwgMTEyLCAyMjEsIDE2OCwgOSwgMTEsIDIxOCwgMTEyLCAyNTQsIDIwNSwgOSwgMTEsIAotICAgIDIxOCwgMTEyLCAyNDQsIDE1MCwgOSwgMTEsIDIxOCwgMTEyLCAyMjIsIDI4LCA5LCAxMSwgMjE4LCAxMTIsIDIyNCwgODQsIAotICAgIDksIDExLCAyMTgsIDExMiwgMjIwLCA2MSwgOSwgMTEsIDIxOCwgMTEyLCAyMTcsIDgsIDksIDExLCAyMTgsIDExMiwgMjE2LCAKLSAgICAxOTMsIDksIDExLCAyMTgsIDExMiwgMjM0LCAxMzUsIDksIDExLCAyMTgsIDExMiwgMjQ4LCAyMjQsIDksIDExLCAyMTgsIAotICAgIDExMiwgMjEwLCAxMTEsIDksIDExLCAyMTgsIDExMiwgMjQyLCAyNTEsIDksIDExLCAyMTgsIDExMiwgMjQ3LCAxMjcsIDI1MiwgCi0gICAgNjIsIDksIDExLCAyMTgsIDExMiwgMjQ3LCAxMjcsIDI0NCwgMTUwLCA5LCAxMSwgMjMyLCAxMjgsIDI1NCwgMTc5LCA5LCAKLSAgICAxMSwgMjMyLCAxMjgsIDI1MiwgNjIsIDksIDExLCAyMzIsIDEyOCwgMjM1LCAxMjksIDksIDExLCAyMzIsIDEyOCwgMjQ4LCAKLSAgICAyMDMsIDksIDExLCAyMzIsIDEyOCwgMjQxLCAyMjUsIDksIDExLCAyMzIsIDEyOCwgMjEyLCAzMCwgOSwgMTEsIDIzMiwgCi0gICAgMTI4LCAyMTAsIDEwOCwgOSwgMTEsIDIzMiwgMTI4LCAyNDIsIDQ0LCA5LCAxMSwgMjMyLCAxMjgsIDIxNywgODEsIDksIDExLCAKLSAgICAyMzIsIDEyOCwgMjExLCA0MywgOSwgMTEsIDIzMiwgMTI4LCAyMzMsIDEwOCwgOSwgMTEsIDIzMiwgMTI4LCAyMzEsIDgzLCAKLSAgICA5LCAxMSwgMjMyLCAxMjgsIDIyOCwgNjcsIDksIDExLCAyMzIsIDEyOCwgMjIxLCAxNjgsIDksIDExLCAyMzIsIDEyOCwgCi0gICAgMjU0LCAyMDUsIDksIDExLCAyMzIsIDEyOCwgMjQ0LCAxNTAsIDksIDExLCAyMzIsIDEyOCwgMjIyLCAyOCwgOSwgMTEsIAotICAgIDIzMiwgMTI4LCAyMjQsIDg0LCA5LCAxMSwgMjMyLCAxMjgsIDIyMywgOTgsIDksIDExLCAyMzIsIDEyOCwgMjIwLCA2MSwgOSwgCi0gICAgMTEsIDIzMiwgMTI4LCAyMTcsIDgsIDksIDExLCAyMzIsIDEyOCwgMjE2LCAxOTMsIDksIDExLCAyMzIsIDEyOCwgMjM0LCAKLSAgICAxMzUsIDksIDExLCAyMzIsIDEyOCwgMjE2LCAyMDMsIDksIDExLCAyMzIsIDEyOCwgMjQ4LCAyMjQsIDksIDExLCAyMzIsIAotICAgIDEyOCwgMjEwLCAxMTEsIDksIDExLCAyMzIsIDEyOCwgMjQyLCAyNTEsIDksIDExLCAxMzksIDI1MiwgNjIsIDksIDExLCAKLSAgICAxMzksIDIzNSwgMTI5LCA5LCAxMSwgMTM5LCAyNDgsIDIwMywgOSwgMTEsIDEzOSwgMjEyLCAzMCwgOSwgMTEsIDEzOSwgCi0gICAgMjEwLCAxMDgsIDksIDExLCAxMzksIDI0MiwgNDQsIDksIDExLCAxMzksIDIxNywgODEsIDksIDExLCAxMzksIDIxMSwgNDMsIAotICAgIDksIDExLCAxMzksIDIzMywgMTA4LCA5LCAxMSwgMTM5LCAyMzEsIDgzLCA5LCAxMSwgMTM5LCAyMjgsIDY3LCA5LCAxMSwgCi0gICAgMTM5LCAyMjEsIDE2OCwgOSwgMTEsIDEzOSwgMjU0LCAyMDUsIDksIDExLCAxMzksIDI0NCwgMTUwLCA5LCAxMSwgMTM5LCAKLSAgICAyMjIsIDI4LCA5LCAxMSwgMTM5LCAyMjQsIDg0LCA5LCAxMSwgMTM5LCAyMjMsIDk4LCA5LCAxMSwgMTM5LCAyMjAsIDYxLCAKLSAgICA5LCAxMSwgMTM5LCAyMTcsIDgsIDksIDExLCAxMzksIDIxNiwgMTkzLCA5LCAxMSwgMTM5LCAyMzQsIDEzNSwgOSwgMTEsIAotICAgIDEzOSwgMjE2LCAyMDMsIDksIDExLCAxMzksIDI0OCwgMjI0LCA5LCAxMSwgMTM5LCAyMTAsIDExMSwgOSwgMTEsIDEzOSwgCi0gICAgMjQyLCAyNTEsIDksIDExLCAyMjYsIDE3MiwgNjYsIDIsIDEyMiwgMiwgMjE3LCA0NCwgOSwgMTEsIDIyNiwgMTcyLCAxMjIsIAotICAgIDIsIDI0OCwgMjAzLCAyMzEsIDIxMCwgODYsIDI0NSwgMjI4LCAyMTEsIDIzOSwgMjMxLCAyMTAsIDg2LCAyMTksIDMwLCAKLSAgICAyMTEsIDIzOSwgMjMxLCAyMTAsIDg2LCAyMTIsIDksIDIxMSwgMjM5LCAyMzEsIDIxMCwgODYsIDIyOCwgNjEsIDIxMSwgCi0gICAgMjM5LCAyMzEsIDIxMCwgODYsIDIyMywgMTE0LCAyNDYsIDEwNCwgMjMxLCAyMTAsIDg2LCAyNDIsIDEzNCwgMjQ2LCAxMDQsIAotICAgIDIzMSwgMjEwLCA4NiwgNzEsIDI0NiwgMTA0LCAyMzEsIDIxMCwgODYsIDEyMywgNjQsIDI1MCwgMTQ5LCAyMzEsIDIxMCwgCi0gICAgODYsIDExMywgNjQsIDI1MCwgMTQ5LCAyMzEsIDIxMCwgODYsIDEzNCwgNjQsIDI1MCwgMTQ5LCAyMzEsIDIxMCwgODYsIAotICAgIDI0NCwgMTksIDY0LCAyNTAsIDE0OSwgMjMxLCAyMTAsIDg2LCAyNDQsIDg5LCA2NCwgMjUwLCAxNDksIDIzMSwgMjEwLCA4NiwgCi0gICAgMjE5LCAxMjcsIDY0LCAyNTAsIDE0OSwgMjMxLCAyMTAsIDg2LCAyMjAsIDEyNCwgNjQsIDI1MCwgMTQ5LCAyMzEsIDIxMCwgCi0gICAgODYsIDI0NSwgMjAxLCA2NCwgMjUwLCAxNDksIDIzMSwgMjEwLCA4NiwgMjI4LCAyMDUsIDY0LCAyNTAsIDE0OSwgMjMxLCAKLSAgICAyMTAsIDg2LCAxMjMsIDY0LCAyNTIsIDE2MSwgMjMxLCAyMTAsIDg2LCAxMTMsIDY0LCAyNTIsIDE2MSwgMjMxLCAyMTAsIAotICAgIDg2LCAxMzQsIDY0LCAyNTIsIDE2MSwgMjMxLCAyMTAsIDg2LCAyNDQsIDE5LCA2NCwgMjUyLCAxNjEsIDIzMSwgMjEwLCA4NiwgCi0gICAgMjQ0LCA4OSwgNjQsIDI1MiwgMTYxLCAyMzEsIDIxMCwgODYsIDIxOSwgMTI3LCA2NCwgMjUyLCAxNjEsIDIzMSwgMjEwLCAKLSAgICA4NiwgMjIwLCAxMjQsIDY0LCAyNTIsIDE2MSwgMjMxLCAyMTAsIDg2LCAyNDUsIDIwMSwgNjQsIDI1MiwgMTYxLCAyMzEsIAotICAgIDIxMCwgODYsIDIyOCwgMjA1LCA2NCwgMjUyLCAxNjEsIDIzMSwgMjEwLCA4NiwgMTIzLCA2NCwgMjUwLCA0MiwgMjMxLCAKLSAgICAyMTAsIDg2LCAxMTMsIDY0LCAyNTAsIDQyLCAyMzEsIDIxMCwgODYsIDEzNCwgNjQsIDI1MCwgNDIsIDIzMSwgMjEwLCA4NiwgCi0gICAgMjQ0LCAxOSwgNjQsIDI1MCwgNDIsIDIzMSwgMjEwLCA4NiwgMjQ0LCA4OSwgNjQsIDI1MCwgNDIsIDIzMSwgMjEwLCA4NiwgCi0gICAgMjE5LCAxMjcsIDY0LCAyNTAsIDQyLCAyMzEsIDIxMCwgODYsIDIyMCwgMTI0LCA2NCwgMjUwLCA0MiwgMjMxLCAyMTAsIDg2LCAKLSAgICAyNDUsIDIwMSwgNjQsIDI1MCwgNDIsIDIzMSwgMjEwLCA4NiwgMjI4LCAyMDUsIDY0LCAyNTAsIDQyLCAyMzEsIDIxMCwgODYsIAotICAgIDIyNSwgMjgsIDIzMSwgMjEwLCA4NiwgMjI2LCAxNjAsIDIzMSwgMjEwLCA4NiwgMjUyLCAxNjIsIDIzMSwgMjEwLCA4NiwgCi0gICAgMjUwLCA3OCwgMjMxLCAyMTAsIDg2LCAyMTgsIDI0MSwgMjMxLCAyMTAsIDg2LCAyMTgsIDQwLCAyMzEsIDIxMCwgODYsIAotICAgIDI1MywgMTg3LCAyMzEsIDIxMCwgODYsIDIxMSwgMjMyLCAyMzEsIDIxMCwgODYsIDIzNSwgNjgsIDIzMSwgMjEwLCA4NiwgCi0gICAgMjUyLCAxOTIsIDEzMSwgODYsIDIwMywgMjUyLCAxOTIsIDEzMSwgODYsIDI0MSwgNTAsIDEzMSwgODYsIDI0MSwgNDksIAotICAgIDEzMSwgODYsIDI0MSwgNDgsIDEzMSwgODYsIDI0MSwgNDcsIDEzMSwgODYsIDI0MSwgNDYsIDEzMSwgODYsIDI0MSwgNDUsIAotICAgIDEzMSwgODYsIDI0MSwgNDQsIDEzMSwgODYsIDI0MSwgNDMsIDEzMSwgODYsIDI0MSwgNDIsIDEzMSwgODYsIDI0MSwgNDEsIAotICAgIDEzMSwgODYsIDI0MSwgNDAsIDEzMSwgODYsIDI0MSwgMzksIDEzMSwgODYsIDI0MSwgMzgsIDEzMSwgODYsIDI0MSwgMzcsIAotICAgIDEzMSwgODYsIDI0MSwgMzYsIDEzMSwgODYsIDI0MSwgMzUsIDEzMSwgODYsIDI0MSwgMzQsIDEzMSwgODYsIDI0MSwgMzMsIAotICAgIDEzMSwgODYsIDI0MSwgMzIsIDEzMSwgODYsIDI0MSwgMzEsIDEzMSwgODYsIDI0MSwgMzAsIDEzMSwgODYsIDI0MSwgMjksIAotICAgIDEzMSwgODYsIDI0MSwgMjgsIDEzMSwgODYsIDI0MSwgMjcsIDEzMSwgODYsIDI0MSwgMjYsIDEzMSwgODYsIDI0MSwgMjUsIAotICAgIDEzMSwgODYsIDI0MSwgMjQsIDEzMSwgODYsIDI0MSwgMjMsIDEzMSwgODYsIDI0MSwgMjIsIDEzMSwgODYsIDI0MSwgMjEsIAotICAgIDEzMSwgODYsIDI0MSwgMjAsIDEzMSwgODYsIDI0MSwgMTksIDEzMSwgODYsIDI0MSwgMTgsIDEzMSwgODYsIDI0MSwgMTcsIAotICAgIDEzMSwgODYsIDI0MSwgMTYsIDEzMSwgODYsIDI0MSwgMTUsIDEzMSwgODYsIDI0MSwgMTQsIDEzMSwgODYsIDI0MSwgMTMsIAotICAgIDEzMSwgODYsIDI0MSwgMTIsIDEzMSwgODYsIDI0MSwgMTEsIDEzMSwgODYsIDI0MSwgMTAsIDEzMSwgODYsIDI0MSwgOSwgCi0gICAgMTMxLCA4NiwgMjQxLCA4LCAxMzEsIDg2LCAyNDEsIDcsIDEzMSwgODYsIDI0MSwgNiwgMTMxLCA4NiwgMjQxLCA1LCAxMzEsIAotICAgIDg2LCAyNDEsIDQsIDEzMSwgODYsIDI0MSwgMywgMTMxLCA4NiwgMjQxLCAyLCAxMzEsIDg2LCA2NywgMjUyLCAxOTIsIDEzMSwgCi0gICAgODYsIDIxMywgMjM4LCAxMzEsIDg2LCAyMTMsIDIzNywgMTMxLCA4NiwgMjEzLCAyMzYsIDEzMSwgODYsIDIxMywgMjM1LCAKLSAgICAxMzEsIDg2LCAyMTMsIDIzNCwgMTMxLCA4NiwgMjEzLCAyMzMsIDEzMSwgODYsIDIxMywgMjMyLCAxMzEsIDg2LCAyMTMsIAotICAgIDIzMSwgMTMxLCA4NiwgMjEzLCAyMzAsIDEzMSwgODYsIDIxMywgMjI5LCAxMzEsIDg2LCAyMTMsIDIyOCwgMTMxLCA4NiwgCi0gICAgMjEzLCAyMjcsIDEzMSwgODYsIDIxMywgMjI2LCAxMzEsIDg2LCAyMTMsIDIyNSwgMTMxLCA4NiwgMjEzLCAyMjQsIDEzMSwgCi0gICAgODYsIDIxMywgMjIzLCAxMzEsIDg2LCAyMTMsIDIyMiwgMTMxLCA4NiwgMjEzLCAyMjEsIDEzMSwgODYsIDIxMywgMjIwLCAKLSAgICAxMzEsIDg2LCAyMTMsIDIxOSwgMTMxLCA4NiwgMjEzLCAyMTgsIDEzMSwgODYsIDIxMywgMjE3LCAxMzEsIDg2LCAyMTMsIAotICAgIDIxNiwgMTMxLCA4NiwgMjEzLCAyMTUsIDEzMSwgODYsIDIxMywgMjE0LCAxMzEsIDg2LCAyMTMsIDIxMywgMTMxLCA4NiwgCi0gICAgMjEzLCAyMTIsIDEzMSwgODYsIDIxMywgMjExLCAxMzEsIDg2LCAyMTMsIDIxMCwgMTMxLCA4NiwgMjEzLCAyMDksIDEzMSwgCi0gICAgODYsIDIxMywgMjA4LCAxMzEsIDg2LCAyMTMsIDIwNywgMTMxLCA4NiwgMjEzLCAyMDYsIDEzMSwgODYsIDIxMywgMjA1LCAKLSAgICAxMzEsIDg2LCAyMTMsIDIwNCwgMTMxLCA4NiwgMjEzLCAyMDMsIDEzMSwgODYsIDIxMywgMjAyLCAxMzEsIDg2LCAyMTMsIAotICAgIDIwMSwgMTMxLCA4NiwgMjEzLCAyMDAsIDEzMSwgODYsIDIxMywgMTk5LCAxMzEsIDg2LCAyMTMsIDE5OCwgMTMxLCA4NiwgCi0gICAgMjEzLCAxOTcsIDEzMSwgODYsIDIxMywgMTk2LCAxMzEsIDg2LCAyMTMsIDE5NSwgMTMxLCA4NiwgMjEzLCAxOTQsIDEzMSwgCi0gICAgODYsIDIxMywgMTkzLCAxMzEsIDg2LCAyMTMsIDE5MiwgMTMxLCA4NiwgMjEzLCAxOTEsIDEzMSwgODYsIDIxMywgMTkwLCAKLSAgICAyMjUsIDM2LCAyNTAsIDI1MSwgMjUyLCAxOTIsIDIyNSwgMzYsIDI1MCwgMjUxLCAyNTUsIDE4LCA2NCwgMjE5LCAxNywgCi0gICAgMjI1LCAzNiwgMjUwLCAyNTEsIDExMywgNjQsIDIxOSwgMTcsIDIyNSwgMzYsIDI1MCwgMjUxLCAxMzQsIDY0LCAyMTksIDE3LCAKLSAgICAyMjUsIDM2LCAyNTAsIDI1MSwgMjQ0LCAxOSwgNjQsIDIxOSwgMTcsIDIyNSwgMzYsIDI1MCwgMjUxLCAyNDQsIDg5LCA2NCwgCi0gICAgMjE5LCAxNywgMjI1LCAzNiwgMjUwLCAyNTEsIDIxOSwgMTI3LCA2NCwgMjE5LCAxNywgMjI1LCAzNiwgMjUwLCAyNTEsIAotICAgIDIyMCwgMTI0LCA2NCwgMjE5LCAxNywgMjI1LCAzNiwgMjUwLCAyNTEsIDI0NSwgMjAxLCA2NCwgMjE5LCAxNywgMjI1LCAzNiwgCi0gICAgMjUwLCAyNTEsIDIyOCwgMjA1LCA2NCwgMjE5LCAxNywgMjI1LCAzNiwgMjUwLCAyNTEsIDIxNiwgMjQ5LCA2NCwgMjE5LCAKLSAgICAxNywgMjI1LCAzNiwgMjUwLCAyNTEsIDIzNSwgMTQ1LCA2NCwgMjE5LCAxNywgMjI1LCAzNiwgMjUwLCAyNTEsIDIzNCwgMzcsIAotICAgIDY0LCAyMTksIDE3LCAyMjUsIDM2LCAyNTAsIDI1MSwgMjI0LCAxOCwgNjQsIDIxOSwgMTcsIDIyNSwgMzYsIDI1MCwgMjUxLCAKLSAgICAyMzQsIDg1LCA2NCwgMjE5LCAxNywgMjI1LCAzNiwgMjUwLCAyNTEsIDI1NSwgMTgsIDY0LCAyNDEsIDIzMiwgMjI1LCAzNiwgCi0gICAgMjUwLCAyNTEsIDExMywgNjQsIDI0MSwgMjMyLCAyMjUsIDM2LCAyNTAsIDI1MSwgMTM0LCA2NCwgMjQxLCAyMzIsIDIyNSwgCi0gICAgMzYsIDI1MCwgMjUxLCAyNDQsIDE5LCA2NCwgMjQxLCAyMzIsIDIyNSwgMzYsIDI1MCwgMjUxLCAyNDQsIDg5LCA2NCwgMjQxLCAKLSAgICAyMzIsIDIyNSwgMzYsIDI1MCwgMjUxLCAyMTksIDEyNywgNjQsIDI0MSwgMjMyLCAyMjUsIDM2LCAyNTAsIDI1MSwgMjIwLCAKLSAgICAxMjQsIDY0LCAyNDEsIDIzMiwgMjI1LCAzNiwgMjUwLCAyNTEsIDI0NSwgMjAxLCA2NCwgMjQxLCAyMzIsIDIyNSwgMzYsIAotICAgIDI1MCwgMjUxLCAyMjgsIDIwNSwgNjQsIDI0MSwgMjMyLCAyMjUsIDM2LCAyNTAsIDI1MSwgMjE2LCAyNDksIDY0LCAyNDEsIAotICAgIDIzMiwgMjI1LCAzNiwgMjUwLCAyNTEsIDIzNSwgMTQ1LCA2NCwgMjQxLCAyMzIsIDIyNSwgMzYsIDI1MCwgMjUxLCAyMzQsIAotICAgIDM3LCA2NCwgMjQxLCAyMzIsIDIyNSwgMzYsIDI1MCwgMjUxLCAyMjQsIDE4LCA2NCwgMjQxLCAyMzIsIDIyNSwgMzYsIDI1MCwgCi0gICAgMjUxLCAyMzQsIDg1LCA2NCwgMjQxLCAyMzIsIDIyNSwgMzYsIDI1MCwgMjUxLCAyNTUsIDE4LCA2NCwgMjQ3LCAyNTUsIAotICAgIDIyNSwgMzYsIDI1MCwgMjUxLCAxMTMsIDY0LCAyNDcsIDI1NSwgMjI1LCAzNiwgMjUwLCAyNTEsIDEzNCwgNjQsIDI0NywgCi0gICAgMjU1LCAyMjUsIDM2LCAyNTAsIDI1MSwgMjQ0LCAxOSwgNjQsIDI0NywgMjU1LCAyMjUsIDM2LCAyNTAsIDI1MSwgMjQ0LCAKLSAgICA4OSwgNjQsIDI0NywgMjU1LCAyMjUsIDM2LCAyNTAsIDI1MSwgMjE5LCAxMjcsIDY0LCAyNDcsIDI1NSwgMjI1LCAzNiwgCi0gICAgMjUwLCAyNTEsIDIyMCwgMTI0LCA2NCwgMjQ3LCAyNTUsIDIyNSwgMzYsIDI1MCwgMjUxLCAyNDUsIDIwMSwgNjQsIDI0NywgCi0gICAgMjU1LCAyMjUsIDM2LCAyNTAsIDI1MSwgMjI4LCAyMDUsIDY0LCAyNDcsIDI1NSwgMjI1LCAzNiwgMjUwLCAyNTEsIDIxNiwgCi0gICAgMjQ5LCA2NCwgMjQ3LCAyNTUsIDIyNSwgMzYsIDI1MCwgMjUxLCAyMzUsIDE0NSwgNjQsIDI0NywgMjU1LCAyMjUsIDM2LCAKLSAgICAyNTAsIDI1MSwgMjM0LCAzNywgNjQsIDI0NywgMjU1LCAyMjUsIDM2LCAyNTAsIDI1MSwgMjI0LCAxOCwgNjQsIDI0NywgCi0gICAgMjU1LCAyMjUsIDM2LCAyNTAsIDI1MSwgMjM0LCA4NSwgNjQsIDI0NywgMjU1LCAyMjUsIDM2LCAyNTAsIDI1MSwgODUsIAotICAgIDIzNSwgNjgsIDIyNSwgMzYsIDI1MCwgMjUxLCAyNTUsIDE4LCA2NCwgMjQ5LCAyNTAsIDIyNSwgMzYsIDI1MCwgMjUxLCAKLSAgICAxMTMsIDY0LCAyNDksIDI1MCwgMjI1LCAzNiwgMjUwLCAyNTEsIDEzNCwgNjQsIDI0OSwgMjUwLCAyMjUsIDM2LCAyNTAsIAotICAgIDI1MSwgMjQ0LCAxOSwgNjQsIDI0OSwgMjUwLCAyMjUsIDM2LCAyNTAsIDI1MSwgMjQ0LCA4OSwgNjQsIDI0OSwgMjUwLCAKLSAgICAyMjUsIDM2LCAyNTAsIDI1MSwgMjE5LCAxMjcsIDY0LCAyNDksIDI1MCwgMjI1LCAzNiwgMjUwLCAyNTEsIDIyMCwgMTI0LCAKLSAgICA2NCwgMjQ5LCAyNTAsIDIyNSwgMzYsIDI1MCwgMjUxLCAyNDUsIDIwMSwgNjQsIDI0OSwgMjUwLCAyMjUsIDM2LCAyNTAsIAotICAgIDI1MSwgMjI4LCAyMDUsIDY0LCAyNDksIDI1MCwgMjI1LCAzNiwgMjUwLCAyNTEsIDIxNiwgMjQ5LCA2NCwgMjQ5LCAyNTAsIAotICAgIDIyNSwgMzYsIDI1MCwgMjUxLCAyMzUsIDE0NSwgNjQsIDI0OSwgMjUwLCAyMjUsIDM2LCAyNTAsIDI1MSwgMjM0LCAzNywgCi0gICAgNjQsIDI0OSwgMjUwLCAyMjUsIDM2LCAyNTAsIDI1MSwgMjI0LCAxOCwgNjQsIDI0OSwgMjUwLCAyMjUsIDM2LCAyNTAsIAotICAgIDI1MSwgMjM0LCA4NSwgNjQsIDI0OSwgMjUwLCAyMjUsIDM2LCAyNTAsIDI1MSwgNzEsIDIzNSwgNjgsIDIxLCAyMTAsIDg3LCAKLSAgICAyNDMsIDIzNiwgMjE4LCAxMzEsIDIxLCAyMTAsIDg3LCAyNDksIDIyNywgMjEsIDEyMywgMjQ5LCAyMjcsIDIxLCAxMTMsIAotICAgIDI0OSwgMjI3LCAyMSwgMTM0LCAyNDksIDIyNywgMjEsIDI0NCwgMTksIDI0OSwgMjI3LCAyMSwgMjQ0LCA4OSwgMjQ5LCAKLSAgICAyMjcsIDIxLCAyMTksIDEyNywgMjQ5LCAyMjcsIDIxLCAyMjAsIDEyNCwgMjQ5LCAyMjcsIDIxLCAyNDUsIDIwMSwgMjQ5LCAKLSAgICAyMjcsIDIxLCAyMjgsIDIwNSwgMjQ5LCAyMjcsIDg4LCA3LCA2LCAxLCA2MSwgODgsIDcsIDYsIDEsIDI1MywgMTY2LCA4OCwgCi0gICAgNywgNiwgMSwgMjUxLCA3NCwgODgsIDcsIDYsIDEsIDI0OSwgNjgsIDg4LCA3LCA2LCAxLCA3NiwgODgsIDcsIDYsIDEsIAotICAgIDI0NSwgMTQsIDg4LCA3LCA2LCAxLCAyNDMsIDIwOSwgODgsIDcsIDYsIDEsIDI0MiwgNjcsIDg4LCA3LCA2LCAxLCA3NCwgCi0gICAgODgsIDcsIDYsIDEsIDIzNSwgMTUwLCA4OCwgNywgNiwgMSwgMjM1LCAyOSwgODgsIDcsIDYsIDEsIDE1NiwgODgsIDcsIDYsIAotICAgIDEsIDE5NCwgODgsIDcsIDYsIDEsIDIzMCwgMzAsIDg4LCA3LCA2LCAxLCA3OCwgODgsIDcsIDYsIDEsIDIyNiwgMTA5LCA4OCwgCi0gICAgNywgNiwgMSwgMjI0LCA5OSwgODgsIDcsIDYsIDEsIDE1MywgODgsIDcsIDYsIDEsIDIyMiwgOTMsIDg4LCA3LCA2LCAxLCAKLSAgICAyMTcsIDE1MywgODgsIDcsIDYsIDEsIDY5LCA4OCwgNywgNiwgMSwgMjE0LCAxMDUsIDg4LCA3LCA2LCAxLCAyMTIsIDk4LCAKLSAgICA4OCwgNywgNiwgMSwgMjExLCAxNzgsIDg4LCA3LCA2LCAxLCAyMTEsIDExNywgODgsIDcsIDYsIDEsIDIxMCwgMTU5LCAyMTYsIAotICAgIDcsIDIyMCwgNTUsIDI1MSwgMTY1LCA3LCA2LCAxLCAyMjIsIDkzLCAzNywgMzIsIDcsIDYsIDEsIDI1MSwgNzQsIDM3LCAzMiwgCi0gICAgNywgNiwgMSwgMTUzLCAzNywgMjUwLCAxOTksIDM3LCAyMTEsIDE4MCwgOTIsIDcsIDYsIDEsIDYxLCA5MiwgNywgNiwgMSwgCi0gICAgMjUzLCAxNjYsIDkyLCA3LCA2LCAxLCAyNTEsIDc0LCA5MiwgNywgNiwgMSwgMjQ5LCA2OCwgOTIsIDcsIDYsIDEsIDc2LCAKLSAgICA5MiwgNywgNiwgMSwgMjQ1LCAxNCwgOTIsIDcsIDYsIDEsIDI0MywgMjA5LCA5MiwgNywgNiwgMSwgMjQyLCA2NywgOTIsIDcsIAotICAgIDYsIDEsIDc0LCA5MiwgNywgNiwgMSwgMjM1LCAxNTAsIDkyLCA3LCA2LCAxLCAyMzUsIDI5LCA5MiwgNywgNiwgMSwgMTU2LCAKLSAgICA5MiwgNywgNiwgMSwgMTk0LCA5MiwgNywgNiwgMSwgMjMwLCAzMCwgOTIsIDcsIDYsIDEsIDc4LCA5MiwgNywgNiwgMSwgCi0gICAgMjI2LCAxMDksIDkyLCA3LCA2LCAxLCAyMjQsIDk5LCA5MiwgNywgNiwgMSwgMTUzLCA5MiwgNywgNiwgMSwgMjIyLCA5MywgCi0gICAgOTIsIDcsIDYsIDEsIDIxNywgMTUzLCA5MiwgNywgNiwgMSwgNjksIDkyLCA3LCA2LCAxLCAyMTQsIDEwNSwgOTIsIDcsIDYsIAotICAgIDEsIDIxMiwgOTgsIDkyLCA3LCA2LCAxLCAyMTEsIDE3OCwgOTIsIDcsIDYsIDEsIDIxMSwgMTE3LCA5MiwgNywgNiwgMSwgCi0gICAgMjEwLCAxNTksIDkyLCAyNDAsIDIwOCwgOTIsIDIzMCwgNTQsIDkyLCAyMjEsIDE4NSwgOTIsIDIxOCwgMjI4LCA5MiwgMjI0LCAKLSAgICAyMjEsIDkyLCAyMTIsIDIzLCAxNTIsIDM3LCA3LCA2LCAxLCA2MSwgMTUyLCAzNywgNywgNiwgMSwgMjUzLCAxNjYsIDE1MiwgCi0gICAgMzcsIDcsIDYsIDEsIDI1MSwgNzQsIDE1MiwgMzcsIDcsIDYsIDEsIDI0OSwgNjgsIDE1MiwgMzcsIDcsIDYsIDEsIDc2LCAKLSAgICAxNTIsIDM3LCA3LCA2LCAxLCAyNDUsIDE0LCAxNTIsIDM3LCA3LCA2LCAxLCAyNDMsIDIwOSwgMTUyLCAzNywgNywgNiwgMSwgCi0gICAgMjQyLCA2NywgMTUyLCAzNywgNywgNiwgMSwgNzQsIDE1MiwgMzcsIDcsIDYsIDEsIDIzNSwgMTUwLCAxNTIsIDM3LCA3LCA2LCAKLSAgICAxLCAyMzUsIDI5LCAxNTIsIDM3LCA3LCA2LCAxLCAxNTYsIDE1MiwgMzcsIDcsIDYsIDEsIDE5NCwgMTUyLCAzNywgNywgNiwgCi0gICAgMSwgMjMwLCAzMCwgMTUyLCAzNywgNywgNiwgMSwgNzgsIDE1MiwgMzcsIDcsIDYsIDEsIDIyNiwgMTA5LCAxNTIsIDM3LCA3LCAKLSAgICA2LCAxLCAyMjQsIDk5LCAxNTIsIDM3LCA3LCA2LCAxLCAxNTMsIDE1MiwgMzcsIDcsIDYsIDEsIDIyMiwgOTMsIDE1MiwgMzcsIAotICAgIDcsIDYsIDEsIDIxNywgMTUzLCAxNTIsIDM3LCA3LCA2LCAxLCA2OSwgMTUyLCAzNywgNywgNiwgMSwgMjE0LCAxMDUsIDE1MiwgCi0gICAgMzcsIDcsIDYsIDEsIDIxMiwgOTgsIDE1MiwgMzcsIDcsIDYsIDEsIDIxMSwgMTc4LCAxNTIsIDM3LCA3LCA2LCAxLCAyMTEsIAotICAgIDExNywgMTUyLCAzNywgNywgNiwgMSwgMjEwLCAxNTksIDIyMywgMTYwLCAyMzEsIDEwMiwgNTAsIDIyMywgMTYwLCAyMzEsIAotICAgIDk5LCA1MCwgMTUyLCA5MiwgNywgNiwgMSwgNjEsIDE1MiwgOTIsIDcsIDYsIDEsIDI1MywgMTY2LCAxNTIsIDkyLCA3LCA2LCAKLSAgICAxLCAyNTEsIDc0LCAxNTIsIDkyLCA3LCA2LCAxLCAyNDksIDY4LCAxNTIsIDkyLCA3LCA2LCAxLCA3NiwgMTUyLCA5MiwgNywgCi0gICAgNiwgMSwgMjQ1LCAxNCwgMTUyLCA5MiwgNywgNiwgMSwgMjQzLCAyMDksIDE1MiwgOTIsIDcsIDYsIDEsIDI0MiwgNjcsIAotICAgIDE1MiwgOTIsIDcsIDYsIDEsIDc0LCAxNTIsIDkyLCA3LCA2LCAxLCAyMzUsIDE1MCwgMTUyLCA5MiwgNywgNiwgMSwgMjM1LCAKLSAgICAyOSwgMTUyLCA5MiwgNywgNiwgMSwgMTU2LCAxNTIsIDkyLCA3LCA2LCAxLCAxOTQsIDE1MiwgOTIsIDcsIDYsIDEsIDIzMCwgCi0gICAgMzAsIDE1MiwgOTIsIDcsIDYsIDEsIDc4LCAxNTIsIDkyLCA3LCA2LCAxLCAyMjYsIDEwOSwgMTUyLCA5MiwgNywgNiwgMSwgCi0gICAgMjI0LCA5OSwgMTUyLCA5MiwgNywgNiwgMSwgMTUzLCAxNTIsIDkyLCA3LCA2LCAxLCAyMjIsIDkzLCAxNTIsIDkyLCA3LCA2LCAKLSAgICAxLCAyMTcsIDE1MywgMTUyLCA5MiwgNywgNiwgMSwgNjksIDE1MiwgOTIsIDcsIDYsIDEsIDIxNCwgMTA1LCAxNTIsIDkyLCAKLSAgICA3LCA2LCAxLCAyMTIsIDk4LCAxNTIsIDkyLCA3LCA2LCAxLCAyMTEsIDE3OCwgMTUyLCA5MiwgNywgNiwgMSwgMjExLCAxMTcsIAotICAgIDE1MiwgOTIsIDcsIDYsIDEsIDIxMCwgMTU5LCAyNDksIDEzNiwgMTUyLCA5MiwgNywgNiwgMSwgMjI2LCAxMDksIDE1MiwgCi0gICAgOTIsIDI0MCwgMTIwLCAxNTIsIDkyLCAxOTEsIDE1MiwgOTIsIDIwNiwgMTUyLCA5MiwgMjU1LCAzNCwgMTUyLCA5MiwgMjEyLCAKLSAgICAyMywgNDIsIDI0NywgMTcyLCA5MiwgMjUwLCAzMSwgOTIsIDI0OSwgMTc4LCA5MiwgMjQ0LCA0LCA5MiwgMjQwLCAxMTIsIAotICAgIDkyLCAyMjksIDkxLCA5MiwgMjI5LCA4NCwgOTIsIDIyNiwgMjE4LCA5MiwgMjE5LCAzNywgOTIsIDEyMCwgMiwgMjQ1LCAzOSwgCi0gICAgNzksIDkyLCAyMTMsIDExOSwgMjIzLCAxMDYsIDIzNSwgMjQ2LCAxNiwgMSwgNjEsIDIyMywgMTA2LCAyMzUsIDI0NiwgMTYsIAotICAgIDEsIDI1MywgMTY2LCAyMjMsIDEwNiwgMjM1LCAyNDYsIDE2LCAxLCAyNTEsIDc0LCAyMjMsIDEwNiwgMjM1LCAyNDYsIDE2LCAKLSAgICAxLCAyNDksIDY4LCAyMjMsIDEwNiwgMjM1LCAyNDYsIDE2LCAxLCA3NiwgMjIzLCAxMDYsIDIzNSwgMjQ2LCAxNiwgMSwgCi0gICAgMjQ1LCAxNCwgMjIzLCAxMDYsIDIzNSwgMjQ2LCAxNiwgMSwgMjQzLCAyMDksIDIyMywgMTA2LCAyMzUsIDI0NiwgMTYsIDEsIAotICAgIDI0MiwgNjcsIDIyMywgMTA2LCAyMzUsIDI0NiwgMTYsIDEsIDc0LCAyMjMsIDEwNiwgMjM1LCAyNDYsIDE2LCAxLCAyMzUsIAotICAgIDE1MCwgMjIzLCAxMDYsIDIzNSwgMjQ2LCAxNiwgMSwgMjM1LCAyOSwgMjIzLCAxMDYsIDIzNSwgMjQ2LCAxNiwgMSwgMTU2LCAKLSAgICAyMjMsIDEwNiwgMjM1LCAyNDYsIDE2LCAxLCAxOTQsIDIyMywgMTA2LCAyMzUsIDI0NiwgMTYsIDEsIDIzMCwgMzAsIDIyMywgCi0gICAgMTA2LCAyMzUsIDI0NiwgMTYsIDEsIDc4LCAyMjMsIDEwNiwgMjM1LCAyNDYsIDE2LCAxLCAyMjYsIDEwOSwgMjIzLCAxMDYsIAotICAgIDIzNSwgMjQ2LCAxNiwgMSwgMjI0LCA5OSwgMjIzLCAxMDYsIDIzNSwgMjQ2LCAxNiwgMSwgMTUzLCAyMjMsIDEwNiwgMjM1LCAKLSAgICAyNDYsIDE2LCAxLCAyMjIsIDkzLCAyMjMsIDEwNiwgMjM1LCAyNDYsIDE2LCAxLCAyMTcsIDE1MywgMjIzLCAxMDYsIDIzNSwgCi0gICAgMjQ2LCAxNiwgMSwgNjksIDIyMywgMTA2LCAyMzUsIDI0NiwgMTYsIDEsIDIxNCwgMTA1LCAyMjMsIDEwNiwgMjM1LCAyNDYsIAotICAgIDE2LCAxLCAyMTIsIDk4LCAyMjMsIDEwNiwgMjM1LCAyNDYsIDE2LCAxLCAyMTEsIDE3OCwgMjIzLCAxMDYsIDIzNSwgMjQ2LCAKLSAgICAxNiwgMSwgMjExLCAxMTcsIDIyMywgMTA2LCAyMzUsIDI0NiwgMTYsIDEsIDIxMCwgMTU5LCA0MiwgMTQxLCAyNDEsIDcwLCAKLSAgICA5MiwgNTYsIDIzNCwgMjQsIDkyLCA1NiwgMjA2LCA5MiwgMTAsIDIxNCwgMTc3LCAyMzgsIDU3LCA5MiwgMTAsIDIxNCwgCi0gICAgMTc3LCAyMzgsIDYxLCA5MiwgMTAsIDIxNCwgMTc3LCAyMzgsIDY5LCA5MiwgNTYsIDI0OCwgOTgsIDkyLCAxMCwgMjE0LCAKLSAgICAxNzcsIDIzOCwgNzYsIDkyLCAxMCwgMjE0LCAxNzcsIDIzOCwgNjMsIDkyLCAxMCwgMjE0LCAxNzcsIDIzOCwgMzUsIDkyLCAKLSAgICAxMCwgMjE0LCAxNzcsIDIzOCwgNjIsIDkyLCAxMCwgMjE0LCAxNzcsIDIzOCwgNzUsIDkyLCAxMCwgMjE0LCAxNzcsIDIzOCwgCi0gICAgNDksIDkyLCAxMCwgMjE0LCAxNzcsIDIzOCwgNDIsIDkyLCAxMCwgMjE0LCAxNzcsIDIzOCwgNTEsIDkyLCAxMCwgMjE0LCAKLSAgICAxNzcsIDIzOCwgNzIsIDkyLCAxMCwgMjE0LCAxNzcsIDIzOCwgNTgsIDkyLCAxMCwgMjE0LCAxNzcsIDIzOCwgNzQsIDkyLCAKLSAgICAxMCwgMjE0LCAxNzcsIDIzOCwgNTAsIDkyLCAxMCwgMjE0LCAxNzcsIDIzOCwgNzMsIDkyLCAxMCwgMjE0LCAxNzcsIDIzOCwgCi0gICAgMzYsIDkyLCAxMCwgMjE0LCAxNzcsIDIzOCwgNDEsIDkyLCAxMCwgMjE0LCAxNzcsIDIzOCwgMzQsIDkyLCAxMCwgMjE0LCAKLSAgICAxNzcsIDIzOCwgNjQsIDkyLCAxMCwgMjE0LCAxNzcsIDIzOCwgNjYsIDkyLCAxMCwgMjE0LCAxNzcsIDIzOCwgNDQsIDkyLCAKLSAgICAxMCwgMjE0LCAxNzcsIDIzOCwgNTUsIDkyLCAxMCwgMjE0LCAxNzcsIDIzOCwgNTMsIDkyLCAxMCwgMjE0LCAxNzcsIDIzOCwgCi0gICAgNzksIDkyLCAxMCwgMjE0LCAxNzcsIDIzOCwgNzgsIDkyLCAxMCwgMjE0LCAxNzcsIDIzOCwgMzIsIDkyLCAxMCwgMjE0LCAKLSAgICAxNzcsIDIzOCwgNTksIDkyLCAxMCwgMjE0LCAxNzcsIDIzOCwgNzcsIDkyLCAxMCwgMjE0LCAxNzcsIDIzOCwgNjgsIDkyLCAKLSAgICAxMCwgMjE0LCAxNzcsIDIzOCwgNTQsIDkyLCAxMCwgMjE0LCAxNzcsIDIzOCwgMzMsIDkyLCAxMCwgMjE0LCAxNzcsIDIzOCwgCi0gICAgNTYsIDkyLCAxMCwgMjE0LCAxNzcsIDIzOCwgMzgsIDkyLCAxMCwgMjE0LCAxNzcsIDIzOCwgMzcsIDkyLCAxMCwgMjE0LCAKLSAgICAxNzcsIDIzOCwgNjcsIDkyLCAxMCwgMjE0LCAxNzcsIDIzOCwgNDUsIDkyLCAxMCwgMjE0LCAxNzcsIDIzOCwgNDcsIDkyLCAKLSAgICAxMCwgMjE0LCAxNzcsIDIzOCwgNDgsIDkyLCAxMCwgMjE0LCAxNzcsIDIzOCwgNDAsIDkyLCAxMCwgMjE0LCAxNzcsIDIzOCwgCi0gICAgNzEsIDkyLCAxMCwgMjE0LCAxNzcsIDIzOCwgNjUsIDIxNiwgNywgMjIwLCA1NSwgMjUxLCAxNjUsIDEwLCAyMTQsIDE3NywgCi0gICAgMjM4LCA0NiwgMjE2LCA3LCAyMjAsIDU1LCAyNTEsIDE2NSwgMTAsIDIxNCwgMTc3LCAyMzgsIDc4LCAyMTYsIDcsIDIyMCwgCi0gICAgNTUsIDI1MSwgMTY1LCAxMCwgMjE0LCAxNzcsIDIzOCwgNzYsIDIxNiwgNywgMjIwLCA1NSwgMjUxLCAxNjUsIDEwLCAyMTQsIAotICAgIDE3NywgMjM4LCA2MCwgMjE2LCA3LCAyMjAsIDU1LCAyNTEsIDE2NSwgMTAsIDIxNCwgMTc3LCAyMzgsIDQzLCAyMTYsIDcsIAotICAgIDIyMCwgNTUsIDI1MSwgMTY1LCAxMCwgMjE0LCAxNzcsIDIzOCwgNTYsIDIxNiwgNywgMjIwLCA1NSwgMjUxLCAxNjUsIDEwLCAKLSAgICAyMTQsIDE3NywgMjM4LCAzOSwgMjE2LCA3LCAyMjAsIDU1LCAyNTEsIDE2NSwgMTAsIDIxNCwgMTc3LCAyMzgsIDcwLCAyMTYsIAotICAgIDcsIDIyMCwgNTUsIDI1MSwgMTY1LCAxMCwgMjE0LCAxNzcsIDIzOCwgNTIsIDM3LCAxNTQsIDI1NCwgMjU0LCAzNywgMTU0LCAKLSAgICAyNTUsIDIxLCAyNDksIDc5LCAyNDQsIDUwLCAyNTAsIDgsIDIxNCwgMTk0LCAyMjgsIDIxOCwgMiwgMjE4LCAxNTUsIDIxOCwgCi0gICAgMzQsIDExNSwgMjMwLCAxMTksIDIxOCwgMzMsIDI1MCwgMzQsIDI1MywgMjE1LCAyNDYsIDYyLCAyMTgsIDMyLCAxMTUsIAotICAgIDI1MSwgMTI2LCAyMjMsIDE2MSwgMjUxLCAxNDgsIDI1MywgMjE1LCAyMjgsIDIxNywgMjEyLCA0MSwgMjEyLCAzNSwgMjEzLCAKLSAgICAxMzEsIDIzMCwgMjAwLCAyMTIsIDI1LCAyNDUsIDIzMiwgMjQyLCAxODgsIDI0NSwgNTMsIDI0NSwgMjMyLCAyNDIsIDE4OCwgCi0gICAgMjU0LCAxMzYsIDI0NSwgMjMyLCAyNDIsIDE4OCwgMjUzLCAyMzMsIDI0MiwgMTg4LCAyLCAyMzEsIDU2LCAxNjYsIDIzMCwgCi0gICAgMTM0LCA4NywgMjEyLCAyNywgMjQ5LCAxNDUsIDIzMCwgMTM0LCA4NywgMjQ0LCAxMDAsIDIyNCwgMjUsIDIzMCwgMTM0LCAKLSAgICA4NywgMjEyLCAyNywgMjQyLCAyMTcsIDIzMCwgMTM0LCA4NywgMjQzLCAyMzYsIDIzMCwgMTM0LCA4NywgMjEyLCA1MiwgCi0gICAgMjQyLCAyMTcsIDIzMCwgMTM0LCA4NywgMjMzLCA4NiwgMjI0LCAyNSwgMjMwLCAxMzQsIDg3LCAyMTIsIDUyLCAyNDksIAotICAgIDE0NSwgMjMwLCAxMzQsIDg3LCAyNDksIDE0NSwgMjMwLCAxMzMsIDE2NiwgMjMwLCAxMzQsIDIsIDI0NCwgMTk4LCAyNDQsIAotICAgIDEwMCwgMjI0LCAyNSwgMjMwLCAxMzQsIDIsIDI0NCwgMTk4LCAyMzMsIDg2LCAyMjQsIDI1LCAyMzAsIDEzNCwgMiwgMjQ0LCAKLSAgICAxOTgsIDI0MywgMjM2LCAyMzAsIDEzNCwgMiwgMjQ0LCAxOTgsIDIxOCwgMzksIDIsIDI0NCwgMTk4LCAyNDIsIDE4NiwgCi0gICAgMjE4LCAxNTgsIDIyMCwgMSwgMjE4LCAxNTgsIDI1MCwgMTI0LCAyMjEsIDE3MCwgMjQ1LCA0NywgMjE1LCAyMzYsIDI0OCwgCi0gICAgOTIsIDIxNSwgMjM2LCAyMjYsIDYzLCAyMTUsIDIzNiwgMjUxLCAzNSwgMjE1LCAxMTAsIDI1MCwgMTI2LCAyNTEsIDIxOCwgCi0gICAgMjIyLCAxOTMsIDI0MSwgMTg2LCAyMTgsIDM3LCAyNTEsIDIxOCwgMjQ1LCAyMzYsIDY0LCAyMzEsIDE5OSwgMjQ1LCAyMzYsIAotICAgIDY0LCAyMjMsIDM0LCAyNDEsIDIxMSwgMjQ0LCAxOSwgMjMzLCA2MCwgMjQ5LCAyNTQsIDIzMSwgMTc1LCAyMzMsIDU5LCAKLSAgICAyNDQsIDE4NCwgMjMzLCA1OSwgMjMzLCA2MCwgMjQ0LCA1NSwgMjM2LCA3LCAyMTEsIDIzOSwgMjMwLCA2MywgMjE2LCAzNSwgCi0gICAgMjUzLCAxOTksIDI0MiwgMTUwLCAyMzEsIDcyLCAyMTIsIDM5LCAyMTcsIDU4LCAyMzMsIDMyLCAyNTIsIDE1NywgMjI1LCAKLSAgICA2NSwgMjIzLCAxMTQsIDI1NCwgNjIsIDI0MiwgMTM0LCAyNTQsIDYyLCAyMjUsIDIyMCwgMjI1LCAyMjEsIDI1MCwgMTI3LCAKLSAgICAyMTgsIDExNiwgMjQyLCAzMCwgMjE5LCA5MiwgNjQsIDIyNSwgNDcsIDIzMSwgOTIsIDIyNiwgMjAxLCAyNTEsIDIwMiwgCi0gICAgMjI0LCAyMzIsIDIzMywgNDIsIDIyMywgMzUsIDI0OSwgMTUwLCAyMjMsIDM1LCAyNTIsIDE2NywgMjQ5LCAxODEsIDIyMywgCi0gICAgMzQsIDI0OSwgMTAzLCAyMiwgMjIzLCAzNCwgMjE4LCAxNDMsIDI1MSwgMTc1LCAyMTksIDE2LCAyNTEsIDE1OSwgMjQ0LCAzLCAKLSAgICAyNDMsIDI1NSwgMjIyLCAyMDksIDIxNywgMjQ3LCAyMjQsIDIzNCwgMjQ4LCAxODMsIDIyNiwgMjQwLCAyMTgsIDgsIDI0NCwgCi0gICAgMCwgMjE5LCAyMzIsIDI0NCwgOTksIDI1MSwgMjksIDIsIDIxNywgMjQwLCAyNDgsIDQzLCAyMTksIDU0LCAyNDAsIDExOSwgCi0gICAgMjQ5LCAxNDksIDIyMCwgNzIsIDI0MCwgMTE4LCAyNDAsIDExOSwgMjQ5LCAxNDksIDI0NiwgMTE2LCAyNDksIDE4MCwgMjUwLCAKLSAgICA5MiwgMTMwLCAyNTEsIDYsIDIzMiwgMTQ3LCAyNDksIDk2LCAyNDEsIDYyLCAyMjQsIDIzNiwgMjE5LCAyNDIsIDI1MiwgNDQsIAotICAgIDI1MSwgMTcxLCAyMjQsIDIzNywgNjQsIDI0NCwgNDEsIDI0OSwgMTc5LCAyNDQsIDMyLCAyMiwgMjM0LCAzOCwgMjE3LCAyMCwgCi0gICAgMjExLCAyMzAsIDI0MiwgMjAsIDIyMiwgMTQsIDI1MSwgMTg1LCAyMiwgMjQ5LCAxMTAsIDIxMSwgMjM3LCAyNDIsIDE5MSwgCi0gICAgMjQ5LCAyNDMsIDI0MiwgMTkxLCAyMTUsIDE5NCwgMjQ2LCA5OCwgMjUyLCA3MCwgMjMwLCA5OCwgMjUwLCAxNSwgMjUyLCAKLSAgICA3MCwgMjMwLCA5NywgMjUyLCAxOTUsIDI1MSwgMTg0LCAyMjMsIDM2LCAyMTEsIDIwMSwgMjI0LCAxOTgsIDI1MSwgMjQzLCAKLSAgICAyNTEsIDI4LCAyMzUsIDE0NCwgMjUwLCA4NSwgMjE1LCAyMzYsIDI0NCwgMTcwLCAyNTAsIDg0LCAyNDQsIDEwMiwgMjQ0LCAKLSAgICAxMDMsIDIxOSwgMTQsIDI1MiwgMTY2LCAyMjUsIDI1NCwgMjI0LCAyNDcsIDI0OSwgMjEyLCAyNTIsIDE2NywgMjE3LCA2MCwgCi0gICAgMjE1LCAyMzYsIDI0OSwgMTM2LCAyNDQsIDc1LCAyMjUsIDY2LCAyNDgsIDg5LCAyMzUsIDEzNywgMjQ3LCAxMzksIDI1MCwgCi0gICAgMjQwLCAyMTgsIDExNSwgMjExLCAyNDAsIDI1MCwgMTA2LCAyMzAsIDEzNCwgMjEzLCAxNjQsIDI1MCwgMTcwLCAyMjEsIAotICAgIDIwMSwgMjIxLCAyMjYsIDI0MiwgMTU1LCAyNTEsIDMsIDI1MCwgMjQxLCAyNDAsIDI1MiwgMjQ0LCAxMzgsIDIxMiwgMCwgCi0gICAgMjIyLCAyMDIsIDI0OSwgMjQ0LCAyNDQsIDk0LCAyMjUsIDUsIDIyLCAyNDQsIDk4LCAyMzAsIDIzMiwgMjMwLCAxMTMsIAotICAgIDI1MSwgMTgsIDI1MCwgNDcsIDI0MSwgMjM5LCAyNTMsIDI0OSwgMjI2LCA2NiwgMjE2LCAxNSwgMjQyLCAyLCAyNTAsIDM3LCAKLSAgICAyMTYsIDI0MywgMjE2LCAxMTQsIDI1MCwgMjgsIDI1MSwgMjEwLCAyMjUsIDE4MCwgMjUzLCAyNDgsIDIxMywgMTcyLCAyNDMsIAotICAgIDExNywgMjQ3LCAyMDUsIDI0MSwgMTYzLCAyMTksIDg2LCAyMzEsIDIzOSwgMjUxLCAyNTMsIDI0MywgMTE4LCAyNDcsIDI0OCwgCi0gICAgMjUxLCAxNzQsIDI0NCwgNjAsIDIyNSwgMzYsIDI1MCwgMjQ5LCAyOCwgMjI4LCA1MiwgMjMwLCA5MCwgMjgsIDIyOCwgNDcsIAotICAgIDIyMSwgMjE0LCAyNDIsIDEwNiwgMjgsIDIzNCwgMTQzLCAyMTUsIDE5MSwgMjEzLCAxNTQsIDI4LCAyMjEsIDE5NCwgMjIyLCAKLSAgICAxMjYsIDIyMCwgMTMsIDIsIDIyMSwgMjI5LCAyMTYsIDI0NSwgMjIzLCAxODEsIDIyLCAyNTIsIDE2NywgMjE5LCAxMDcsIAotICAgIDIyLCAyMTksIDEwNywgMjUxLCAxOTUsIDI1MiwgMTMxLCAyMiwgMjQxLCA1NiwgMjUwLCAxMjgsIDI0NCwgODEsIDIxOSwgCi0gICAgNjUsIDIyMiwgMTI3LCAyMTgsIDEzLCAyMTUsIDE5NSwgMjQwLCAyNTMsIDIyMywgMTgyLCAyNTQsIDEzNywgMjQ0LCAzOSwgCi0gICAgMjIyLCAxMzgsIDI0NCwgMzksIDIxNywgMjQyLCAyNDAsIDI0MiwgMjUxLCAxMjcsIDI0MCwgMjQyLCAyLCAyNDMsIDEwMSwgCi0gICAgMjI2LCAyMzMsIDI1MSwgMTI3LCAyMzUsIDEzNywgMjI0LCAyNDIsIDIyNiwgMjMyLCAyNDUsIDUyLCAyMjQsIDI0MiwgMjI2LCAKLSAgICAyMzIsIDI0MCwgMjUxLCAyNTIsIDE1MywgMjUzLCAxODksIDIxNiwgMjUzLCAyMzEsIDIzOSwgMjQwLCAyNDcsIDIzMiwgCi0gICAgMTE3LCAyNDAsIDI0NywgMjQ5LCAxODQsIDIxOCwgMTI3LCAyMjEsIDIwMCwgMjQ4LCA1MSwgMjE4LCAxMjcsIDI0NCwgMTg4LCAKLSAgICAyMzUsIDE1NSwgMjMzLCA5NSwgMjM1LCAxMzcsIDI1MCwgMjM0LCAyNDUsIDUyLCAyNTAsIDIzNCwgMjIzLCAxNDQsIDIzMCwgCi0gICAgMTE3LCAyMjYsIDExOCwgMjEyLCA0MSwgMjUxLCAxMzEsIDI0OSwgMTUzLCAyMTYsIDEwNywgMjMzLCAyNCwgMjIzLCAxODMsIAotICAgIDI1MCwgMjMyLCAyNDYsIDEwNCwgMjQ5LCAxNDMsIDIxMiwgMywgMjE5LCA3MiwgMjE5LCA3MCwgMjQwLCAyNTIsIDIyMywgCi0gICAgMTU2LCAyNDIsIDE3NywgMjIwLCA1OSwgMjMwLCAxNTAsIDIyMiwgMTk2LCAyNTAsIDExNiwgMjQ3LCAxNDQsIDIyNSwgNzYsIAotICAgIDI1MSwgMjExLCAyNDUsIDE3NywgMjI2LCAyNDIsIDIxOCwgMjU0LCAyMjAsIDU0LCAyNTEsIDEzMCwgMjU0LCAxMDAsIDI0MSwgCi0gICAgNjEsIDIzMywgMTI3LCAyNTIsIDY4LCAyNDQsIDk4LCAyMTUsIDE5NCwgMjQ0LCA5OCwgMjUxLCAyMTcsIDIxNSwgOTEsIAotICAgIDI0MiwgMCwgMjUwLCAxMTcsIDI1MiwgMTk1LCAyNTAsIDExNywgMjQzLCAyNTAsIDI1MiwgMTk1LCAyNTAsIDExNywgMjUxLCAKLSAgICAyNDUsIDIyNSwgMTk4LCAyMzQsIDMyLCAyMjQsIDI1MSwgMjQ2LCA5NSwgMjUxLCAxOSwgMjUyLCAxODUsIDI1MSwgMTksIAotICAgIDI0NywgMTM4LCAyMzAsIDExOCwgMjQ0LCAxOTgsIDI0OSwgMTU0LCAyNDQsIDE5OCwgMjE2LCAxMDgsIDI0NCwgMTk4LCAKLSAgICAyMjMsIDE4NCwgMjQ0LCAxOTgsIDI1MCwgMjMzLCAyNDQsIDE5OCwgMjQ2LCAxMDUsIDI0NCwgMTk4LCAyMTgsIDI0MywgCi0gICAgMjEyLCAzLCAyNDAsIDI1MywgMjQ0LCAxOTgsIDIzMCwgMTUxLCAyNDQsIDE5OCwgMjQ3LCAxNDUsIDI0NCwgMTk4LCAyMjUsIAotICAgIDc3LCAyNDQsIDE5OCwgMjQzLCAyNTMsIDI0NCwgMTk4LCAyNDIsIDI3LCAyNDQsIDE5OCwgMjExLCAyMjQsIDI0NCwgMTk4LCAKLSAgICAyNTIsIDc5LCAyNDQsIDE5OCwgMjI2LCA0OSwgMjQ0LCAxOTgsIDIyNSwgNzcsIDIyOCwgNTgsIDIyNSwgMjM2LCAyMjQsIAotICAgIDE4OSwgMjQ1LCAyMSwgMjQ1LCAyMzUsIDIyOCwgNTgsIDIzMCwgMTE1LCAyMTYsIDIwLCA3MSwgMTIwLCAyMjUsIDEwLCAKLSAgICAyNTIsIDE5MCwgMjM1LCAyNDksIDcxLCAxMjQsIDIyNSwgMTAsIDI1MiwgMTkwLCAyMzUsIDI0OSwgNzEsIDQzLCAyMjUsIAotICAgIDEwLCAyNTIsIDE5MCwgMjM1LCAyNDksIDcxLCA0NCwgMjI1LCAxMCwgMjUyLCAxOTAsIDIzNSwgMjQ5LCAyNDQsIDkyLCAKLSAgICAyNDIsIDIzLCA1MCwgMjEyLCAzMywgMjQyLCAyMywgNTAsIDIyNiwgMjE5LCAyNDIsIDIzLCA1MCwgMjE2LCAxMzYsIDEyMCwgCi0gICAgNTAsIDIxNiwgMTM2LCAxMjQsIDUwLCAyNTAsIDI3LCAyNDIsIDE4LCA1MCwgMjA0LCAyNDIsIDE4LCA1MCwgMjQ5LCAxMzEsIAotICAgIDIxMSwgMjIwLCAyNDIsIDIsIDI0NSwgMjIsIDIyOSwgMTA5LCAyMTcsIDE1MiwgMjM1LCAxMzEsIDI0NiwgMTAwLCAyMzQsIAotICAgIDg4LCAyNTEsIDI1NSwgMjExLCAyMjAsIDI1MCwgMSwgMjI0LCAxMzAsIDI0MiwgMjEsIDIyNCwgMjMzLCAyMzEsIDE4MiwgCi0gICAgMjIwLCA2LCAyNTMsIDIxMSwgMjIwLCA2LCAyNDEsIDE3MSwgMjIwLCA2LCAyMTEsIDIyMCwgMjIxLCAyNDIsIDIxMSwgMjIwLCAKLSAgICAyNTEsIDE5NCwgMjQ0LCAzNywgMjUxLCA5OCwgMjM2LCA3LCAyMTksIDE3MSwgMjUxLCA5NywgMjM2LCA3LCAyMTksIDE3MSwgCi0gICAgMjUxLCAxNzAsIDI0MiwgMjAxLCAyMzEsIDE5MCwgMjExLCAyMjEsIDI0NCwgMTgyLCAyMzEsIDE5MSwgMjIsIDIxMSwgMjIyLCAKLSAgICAyNDEsIDY3LCAyNDIsIDE3LCAxMTMsIDIzMSwgNjQsIDI0MSwgNjcsIDI0MiwgMTcsIDExMywgMjExLCAyMTksIDI0MSwgNjcsIAotICAgIDI0MiwgMTcsIDIyNSwgMiwgMjI2LCAyMzEsIDIxMSwgMjIyLCAyLCAyNTEsIDExNCwgMjQ1LCAyMzMsIDI1MSwgMTQ5LCAyLCAKLSAgICAyMTMsIDI0NiwgMjI1LCAxNzEsIDIsIDI1MSwgMjIwLCAyNDIsIDQxLCAyMzEsIDE5MSwgMiwgMjQyLCAxMTcsIDIyNSwgCi0gICAgMTEyLCAyMzEsIDE3OSwgMjMxLCAxOTEsIDIsIDIxNSwgOTgsIDIyNiwgMjEyLCAyMzEsIDE5MCwgMjI2LCAyMTIsIDIxMSwgCi0gICAgMjIxLCAyNTIsIDE5NCwgMjQ5LCAxOTgsIDIxMSwgMjA1LCAyMjQsIDE5MiwgMjM1LCAxMzcsIDIyNiwgMjI3LCAyMzUsIAotICAgIDEzNywgMjQyLCAxNzYsIDI0MiwgMjI5LCAyNTIsIDE5NSwgMjU0LCAxMjEsIDI0NSwgMjYsIDI1NCwgMTY5LCAyNTQsIDE3MCwgCi0gICAgMjMwLCAxNDEsIDIzNiwgMTIsIDIxOSwgMTAyLCAyMzUsIDIzOSwgMjQ4LCA0MiwgMjI1LCAxNzAsIDI0MiwgMTEyLCAyNDgsIAotICAgIDE4NywgMjMyLCAyMDcsIDIyOSwgMjE2LCAyMjUsIDEsIDI0NCwgMTk5LCAyMzEsIDE0NywgMjQyLCA0MCwgMjUyLCAxNDYsIAotICAgIDIyNSwgNCwgMjE3LCAxNzIsIDIyNSwgNjksIDIzNCwgNzAsIDc5LCAyMzIsIDExNywgMjMzLCAxNiwgMjIyLCAyMzYsIDI0MywgCi0gICAgNjEsIDIxOCwgMTMzLCAyMzQsIDY5LCAyNTEsIDE3OSwgMjQ5LCAxNTYsIDIsIDI0MSwgMjM0LCAyMTIsIDE5LCAyNTIsIDc3LCAKLSAgICAyNDEsIDIzNCwgMjUxLCAxNDMsIDI0MSwgMjM0LCAxMTMsIDI0MSwgMjMyLCAyMTksIDEyLCAyNDEsIDIzNCwgMjQyLCAxMjcsIAotICAgIDI0MSwgMjM0LCAyNDEsIDIzNSwgMiwgNzUsIDI1MSwgMjE2LCAyNDEsIDIzNCwgMjQyLCAxMzQsIDI0MSwgMjM0LCAyMTEsIAotICAgIDQyLCAyNDEsIDIzNCwgMjI0LCAxMzEsIDI0MSwgMjM0LCAyNDEsIDIzNSwgMiwgMjIzLCAzNiwgMjIzLCA0NywgMjQxLCAKLSAgICAyMzIsIDI0MSwgMjM1LCAyNDgsIDg5LCAyNDgsIDEsIDIyMCwgODQsIDIsIDExNiwgNTksIDIzNSwgMjIyLCAyNDUsIDE4MCwgCi0gICAgMTkzLCAyNTEsIDEyNCwgMjU0LCAxMjAsIDg3LCAyNTEsIDIwMywgMjE5LCA5NCwgODcsIDI0OSwgMjM2LCA4NywgMjE4LCAKLSAgICAyNDgsIDIxNywgMjQ5LCA4NywgMjQ2LCA5MywgMjQ4LCAxNjUsIDg3LCAyMjUsIDcwLCA2NCwgMjI0LCAyNTIsIDI0NCwgNjksIAotICAgIDI1MiwgMTEsIDI0NywgMTczLCA4NywgMjE5LCA1LCAyNTIsIDE2NiwgMjE2LCAxNTAsIDI1MiwgMTY2LCA3MSwgMjQ0LCA1OSwgCi0gICAgMjQwLCAyMTgsIDIyNSwgOCwgODcsIDIzMCwgMTU0LCAyNTIsIDE4MCwgMjQ5LCAxMDYsIDI0NSwgNDAsIDExNCwgMjQ3LCAKLSAgICAxNDAsIDUwLCAyNDksIDE0NywgMjUwLCAyNTAsIDI1MiwgMTUyLCAyLCAyMTEsIDQwLCA1MCwgMjUyLCAxNTIsIDIsIDI0NywgCi0gICAgMTQwLCA1MCwgMjUyLCAxNTIsIDIsIDI0NSwgNTUsIDUwLCAyNTIsIDE1MiwgMiwgMjI0LCAyMzEsIDUwLCAyMzAsIDE1NCwgCi0gICAgMiwgMjExLCAyMzUsIDI1MCwgMTQ2LCAyLCAyMTQsIDE1MywgMjE1LCAyMzIsIDIyLCAyMTEsIDQwLCA1MCwgMjIxLCAxODAsIAotICAgIDIyNSwgMTY5LCAyNDksIDIxNiwgMjUxLCAxNDcsIDIzMCwgMTkxLCAyNDQsIDY0LCAyNDcsIDE5MywgMjI2LCAxNjUsIDI0NywgCi0gICAgMTk4LCAyNDYsIDU3LCAyNDQsIDExNSwgMjQ0LCA0OCwgMjA0LCAyNDQsIDExNSwgMjQ0LCA0OCwgMjI2LCA4MCwgMiwgMjQ5LCAKLSAgICAxMDgsIDIyNiwgODAsIDI0NCwgMTkxLCAyMTQsIDE2MywgMjUxLCAyNCwgMjE3LCAxOSwgMjUxLCAyNCwgMjUwLCAyNTEsIAotICAgIDIzNSwgMjQ5LCAyNTAsIDE0NiwgMiwgMjE0LCAxNTMsIDIxNSwgMjMxLCAyNTAsIDE0NiwgMiwgMjQ2LCAxMTIsIDIxNSwgCi0gICAgMjMxLCAyNTIsIDE0OSwgMjUwLCAxNDUsIDI1MCwgMTQsIDIyNCwgMTI2LCAyMjIsIDE4NywgMjI0LCAxMjYsIDIyNiwgMjMsIAotICAgIDIxOCwgMTIzLCAyMjIsIDEzMywgMjE1LCAyMjMsIDIyMiwgMTMzLCAyNTEsIDE5OSwgMjE3LCA5MiwgMjMzLCA1NywgMjI4LCAKLSAgICA1MCwgMjI4LCA1MSwgMiwgMjQ4LCA4OCwgMjQ5LCAxNTUsIDI1MCwgOCwgMjUxLCAyMDAsIDIwNCwgMjUxLCAyMDAsIDI0MiwgCi0gICAgMTM0LCAyNTEsIDIwMCwgMjUxLCAyMTYsIDI1MSwgMjAwLCAyMjYsIDE2MSwgMjUxLCAyMDAsIDI1MSwgMTk3LCAyMjksIAotICAgIDIxMCwgMjUyLCAxODMsIDIyMSwgMTg4LCAyMzEsIDY1LCAyMTcsIDIsIDIyMywgMTI2LCAyMjYsIDc4LCAyNDQsIDE2NywgCi0gICAgMjMxLCAyMzksIDIyMSwgMjI1LCAyNTQsIDk3LCAyMjQsIDE0OCwgMjU1LCA1LCAyMzIsIDExOSwgMjUwLCAxMzUsIDIzMSwgCi0gICAgNzcsIDIyNiwgMTMzLCAyMTUsIDIzOSwgMjM2LCAzLCAyMTUsIDIzOSwgMjI2LCA4NiwgMjQ2LCAzMiwgODcsIDIzNiwgMCwgCi0gICAgMjQ1LCAxMjcsIDI0NSwgMTI4LCAyLCAyNDYsIDExMiwgODAsIDQ4LCAyNTAsIDgsIDIzMSwgMjA1LCAyLCAyMzIsIDExMywgCi0gICAgMjQ0LCA4MSwgMjUwLCA4LCAyMzEsIDIwNSwgMiwgMjIzLCAxNjAsIDI0NCwgODEsIDIwNCwgMjMxLCAyMDUsIDIsIDIyMywgCi0gICAgMTYwLCAyNDQsIDgxLCAyMDQsIDIzMSwgMjA1LCAyLCAyMzIsIDExMywgMjQ0LCA4MSwgMjI0LCAyMzksIDIyNCwgMjQwLCAKLSAgICAyNDAsIDI1NSwgMjI5LCA4OSwgMjMwLCAxNjQsIDIyNSwgMTIwLCAyMzAsIDE2NCwgMjI1LCAxMjEsIDIsIDk3LCA4MCwgCi0gICAgMjUzLCAyMTUsIDIzMywgNTIsIDIxMywgMTc1LCAyMzAsIDE2MywgMjMwLCAxNjQsIDIyNSwgMTIxLCAyMjYsIDIzNCwgMjI4LCAKLSAgICA4MCwgMjMwLCAxNjQsIDIyNSwgMTE5LCAyNTQsIDk4LCAyLCAyNTIsIDEzNywgMjUxLCAxOCwgMjEzLCAxNzIsIDI1MSwgMTgsIAotICAgIDIxNiwgMjU1LCAyMjMsIDE3NiwgMjEzLCAxNzEsIDIxNSwgNjAsIDk3LCAyNTMsIDI1NSwgMjUwLCAxMCwgOTcsIDIyLCAKLSAgICAxNDAsIDIwNCwgMjUwLCA0NCwgMjUzLCAyNTUsIDI1MCwgMTAsIDk3LCAyMiwgMTQwLCAyMDQsIDI1MCwgNDQsIDI1NCwgMCwgCi0gICAgMiwgMzcsIDEyMywgMjI2LCAxMjQsIDI1MCwgMTAsIDI0NiwgMTEyLCAyMiwgMjE0LCAxNTMsIDIwNCwgMjUwLCA0NCwgMjUzLCAKLSAgICAyNTUsIDI1NCwgOTYsIDI0NiwgMTEyLCAyMiwgMjE0LCAxNTMsIDIwNCwgMjUwLCA0NCwgMjUzLCAyNTUsIDEyMSwgMjUxLCAKLSAgICAxNDYsIDg3LCAxMjUsIDI1MSwgMTQ2LCA4NywgMjE5LCA5LCAyLCAyNTEsIDEyLCA5MSwgMjE5LCA4LCAyMTksIDksIDIsIAotICAgIDEyMywgMjE5LCAzMywgMjEyLCAzNSwgMjE5LCA5LCAyLCAxMzQsIDIxOSwgMzMsIDIxMiwgMzQsIDI1MiwgMTIzLCAyNDUsIAotICAgIDE4MCwgMjI1LCAzMCwgMjMzLCA0OCwgMjMxLCAyMTYsIDI0MiwgMTkxLCAyMjIsIDI1MCwgMjMxLCAyMTYsIDI0MiwgMTkxLCAKLSAgICAyMzIsIDE1OCwgMiwgMjM1LCAyMzIsIDIyNSwgMjAyLCAyNTAsIDgsIDIzMiwgMTU4LCAyLCAyMzQsIDE0NCwgMjM0LCAxNDQsIAotICAgIDIzMiwgMTU3LCAyMDQsIDIzMiwgMTU3LCAyNTIsIDUyLCAyNTIsIDUzLCAyLCAyNTEsIDEyLCA5MSwgMjUxLCAxOTgsIDIzMiwgCi0gICAgMjEwLCA4NywgMjIzLCAxNzcsIDI1MSwgOTQsIDI1MiwgMTkzLCAyLCAxNDAsIDgwLCA0OCwgMjQ1LCAxNTEsIDIsIDE0MCwgCi0gICAgODAsIDQ4LCAyMjYsIDIwMSwgMiwgMjQ1LCAzOSwgMTY0LCAyLCA0MywgNDQsIDgwLCA0OCwgMjE5LCA0MSwgMiwgOTcsIDgwLCAKLSAgICA0OCwgMjE2LCAxNSwgMiwgMjE0LCAxNTMsIDgwLCA0OCwgMjI4LCA4MCwgMTIzLCAyMTQsIDE4NCwgMjQ1LCAxOTksIDg3LCAKLSAgICAyMzQsIDE0MiwgMjE2LCAyNDgsIDIzNSwgMjI2LCAxNiwgMzEsIDcsIDYsIDIzMywgMTUsIDIzNSwgMjI2LCAxNiwgMzEsIDcsIAotICAgIDQsIDIzMywgMTUsIDIzNSwgMjI2LCAxNiwgMzEsIDIyNywgMjAzLCAyMzUsIDIyNiwgMTYsIDMxLCAyMTcsIDE4NCwgMjM1LCAKLSAgICAyMjYsIDE2LCAzMSwgNywgMjMzLCAxNSwgMjQ0LCAxMDQsIDI0NSwgMTgwLCAyMTYsIDEwLCAyMTEsIDE5OSwgMjQyLCAyOCwgCi0gICAgMjI3LCAxODYsIDIyLCAyNTEsIDIwNSwgMjQxLCA3MywgMjI1LCA1MywgMjMwLCAyMzEsIDIxNywgMCwgMjQ5LCAxMjIsIAotICAgIDI1MiwgMTY3LCAyMTksIDEyNywgMjI1LCAxMiwgMjE4LCAxNTksIDIsIDIzMCwgMjI5LCAyNDcsIDEyOCwgMjM1LCAxMzcsIAotICAgIDE2LCAzMSwgMjUyLCA2NSwgMjE1LCAyMjEsIDI0NSwgMTY0LCA4NSwgNDIsIDI1MSwgOTQsIDcxLCA0MiwgMjUxLCA5NCwgCi0gICAgMjMzLCA5MSwgMjIzLCAxMTQsIDI1MCwgNDMsIDIzMywgOTEsIDI1MSwgMjE2LCAyNTAsIDQzLCAyMzMsIDkxLCAyMjYsIAotICAgIDE2MSwgMjQ4LCAwLCAyMzMsIDkxLCAyNTEsIDIxNiwgMjQ4LCAwLCA0LCAyMjYsIDE2MSwgMjQ4LCAwLCA0LCAyNTEsIDIxNiwgCi0gICAgMjQ4LCAwLCAyMTQsIDE2MiwgMjIzLCAxMTQsIDIxNSwgMjI2LCAyNDYsIDExMywgMjIzLCAxMTQsIDIxNSwgMjI2LCAyMTQsIAotICAgIDE2MiwgNCwgMjIzLCAxMTQsIDIxNSwgMjI2LCAyNDYsIDExMywgNCwgMjIzLCAxMTQsIDIxNSwgMjI2LCAzNywgMjQ5LCAKLSAgICAxMzksIDIyNCwgMjU1LCAyNDksIDEzOSwgMjI1LCAwLCAyLCAyNDIsIDMzLCA1MSwgMjQ5LCAxMzksIDIyNCwgMjU1LCAyMjgsIAotICAgIDU0LCA0MywgMjIwLCAxNTUsIDIsIDEzNCwgMjQ3LCAxMjYsIDI1MCwgMTIsIDI0NCwgMTk5LCAxMjMsIDIyNiwgMjQ2LCAKLSAgICAyNTAsIDEyLCAyNDQsIDE5OSwgMTEzLCAyMjYsIDI0NiwgMjUwLCAxMiwgMjQ0LCAxOTksIDEzNCwgMjI2LCAyNDYsIDI1MCwgCi0gICAgMTIsIDI0NCwgMTk5LCAyNDQsIDE5LCAyMjYsIDI0NiwgMjUwLCAxMiwgMjQ0LCAxOTksIDI0NCwgODksIDIyNiwgMjQ2LCAKLSAgICAyNTAsIDEyLCAyNDQsIDE5OSwgMjE5LCAxMjcsIDIyNiwgMjQ2LCAyNTAsIDEyLCAyNDQsIDE5OSwgMjIwLCAxMjQsIDIyNiwgCi0gICAgMjQ2LCAyNTAsIDEyLCAyNDQsIDE5OSwgMjQ1LCAyMDEsIDIyNiwgMjQ2LCAyNTAsIDEyLCAyNDQsIDE5OSwgMjI4LCAyMDUsIAotICAgIDIyNiwgMjQ2LCAyNTAsIDEyLCAyNDQsIDE5OSwgMjE2LCAyNDksIDIyNiwgMjQ2LCAyNTAsIDEyLCAyNDQsIDE5OSwgMjQ1LCAKLSAgICAxNzYsIDIyNiwgMjQ2LCAyNTAsIDEyLCAyNDQsIDE5OSwgMjE1LCA3NywgMjI2LCAyNDYsIDI1MCwgMTIsIDI0NCwgMTk5LCAKLSAgICAyMjYsIDE5NiwgMjUwLCAxMiwgMjQ0LCAxOTksIDIxNSwgNTYsIDI1MCwgMTIsIDI0NCwgMTk5LCAyMTYsIDE0MSwgMjUwLCAKLSAgICAxMiwgMjQ0LCAxOTksIDI0NCwgMTUsIDI1MCwgMTIsIDI0NCwgMTk5LCAyNDQsIDg3LCAyNTAsIDEyLCAyNDQsIDE5OSwgCi0gICAgMjE5LCAxMjMsIDI1MCwgMTIsIDI0NCwgMTk5LCAyMjAsIDEyMywgMjUwLCAxMiwgMjQ0LCAxOTksIDI0NSwgMjAwLCAyNTAsIAotICAgIDEyLCAyNDQsIDE5OSwgMjI4LCAyMDQsIDI1MCwgMTIsIDI0NCwgMTk5LCAyMTYsIDI0NywgMjUwLCAxMiwgMjQ0LCAxOTksIAotICAgIDI0NSwgMTc0LCAyNTAsIDEyLCAyNDQsIDE5OSwgMjE1LCA3NSwgMjMwLCAxMjIsIDI0MywgMjM3LCAyMTYsIDM3LCAyMTYsIAotICAgIDMsIDIxOCwgMTUwLCA2NCwgMjMyLCAyNDUsIDIxOSwgMTcyLCA2NCwgMjM1LCAxMzgsIDIzMCwgMTExLCAyNDIsIDEzMSwgCi0gICAgMjQ0LCAxOTgsIDI0MiwgMTMxLCAyNDQsIDE5OSwgMiwgMjE5LCA3NiwgMjQ1LCAyMSwgMjQ0LCAxOTksIDIsIDIxNywgMTUsIAotICAgIDY0LCAyMzUsIDU5LCAyMTksIDc2LCAyNDQsIDE5OSwgMiwgMjA0LCAyMzAsIDExNSwgMjE5LCA3NiwgMjQ0LCAxOTksIDIsIAotICAgIDIwNCwgMjMwLCAxMTYsIDIyLCAyMTksIDc2LCAyNDUsIDIxLCAyMTksIDc2LCAyNDQsIDE5OSwgMiwgMjA0LCAyMzAsIDExNiwgCi0gICAgMjIsIDI0OSwgMjM4LCAyMTcsIDI0OCwgMjE5LCA3NiwgMjQ0LCAxOTksIDIsIDIwNCwgMjMwLCAxMTYsIDIyLCAyMTYsIAotICAgIDEwNSwgMjQ1LCAyMSwgMjE5LCA3NiwgMjQ0LCAxOTksIDIsIDI0MiwgMzIsIDIxOSwgNzYsIDI0NCwgMTk5LCAyLCAyNDAsIAotICAgIDI1NCwgMjExLCAyMzMsIDI0NCwgMTk4LCAyMTksIDc2LCAyNDQsIDE5OSwgMiwgMjE5LCA3NiwgMjQ1LCAyMSwgMjQ0LCAKLSAgICAxOTksIDIyMSwgMjE5LCAyNDgsIDcwLCAyNDQsIDQxLCAyMjMsIDkxLCAyNDQsIDE5OCwgMjE5LCA3NiwgMjQ0LCAxOTksIDIsIAotICAgIDI0MSwgMjMzLCAyNDUsIDIxLCAyMTksIDc2LCAyNDQsIDE5OSwgMiwgMjE4LCAzNSwgMjE5LCA3NSwgMjQ0LCAxOTgsIDIyOSwgCi0gICAgOTIsIDI0NCwgMTk4LCAyNDUsIDMxLCAyNDQsIDE5OCwgMjE0LCAxODgsIDI0NCwgMTk4LCAyNDQsIDE5OSwgMiwgMjQ5LCAKLSAgICAyMzgsIDIxNywgMjQ4LCAyMjUsIDE5NSwgMjQ0LCAxOTgsIDI0OSwgMjA5LCAyNDQsIDE5OCwgMjQ5LCAyMTAsIDI0NCwgCi0gICAgMTk4LCAyMzQsIDY4LCAyNDQsIDE5OCwgMjQ0LCAxOTksIDIxNiwgMTM4LCAxMTYsIDIzNCwgNjksIDIzNCwgNjgsIDI0NCwgCi0gICAgMTk5LCAyLCAyMTksIDc2LCAyNDUsIDIxLCAyMzQsIDY4LCAyNDQsIDE5OSwgMiwgMjUwLCA4LCAyNDUsIDIxLCAyNDQsIAotICAgIDE5OSwgMiwgMjE4LCA4OSwgMjE2LCAyMCwgMjQ0LCAxOTksIDIsIDIxOCwgODksIDIxNiwgMjEsIDIyLCAyMTEsIDIzMywgCi0gICAgMjQ1LCAyMywgMjQ0LCAxOTksIDIsIDIxOCwgODksIDIxNiwgMjEsIDIyLCAyMTYsIDEwNSwgMjQ1LCAyMSwgMjQ3LCAyMDAsIAotICAgIDI0NCwgMTk4LCAyMTEsIDIwNCwgMjQ0LCAxOTgsIDI1NCwgMTE2LCAyNDQsIDE5OCwgMjI0LCAyMzAsIDI0NCwgMTk4LCAKLSAgICAyNDksIDEyNCwgMjQ0LCAxOTgsIDIyNSwgMTczLCAyNDQsIDE5OCwgMjQ0LCAxOTksIDIsIDIzMiwgMTMyLCA2NCwgMjE1LCAKLSAgICAyMDUsIDI0NywgMjAwLCAyNTEsIDk2LCAyMjMsIDkxLCAyNDQsIDE5OCwgMjQzLCAyNDcsIDI0NCwgMTk5LCAyLCAyMDQsIAotICAgIDIzMCwgMTE1LCAyNTQsIDExNCwgMjQ0LCAxOTgsIDI0NCwgMTYwLCAyNDQsIDE5OCwgMjEyLCAyMCwgMjQ0LCAxOTgsIDIxOSwgCi0gICAgOTMsIDI0NCwgMTk4LCAyMTYsIDcyLCAyNDQsIDE5OCwgMjQyLCAxMzIsIDI0NCwgMTk4LCAyMzIsIDEyMCwgMjQ5LCAxMjQsIAotICAgIDI0NCwgMTk4LCAyNDQsIDE5OSwgMiwgMjA0LCAyMzAsIDExNSwgMjQwLCAyMTAsIDI0NCwgMTk4LCAyNDQsIDE5OSwgMiwgCi0gICAgMjA0LCAyMzAsIDExNiwgMjIsIDI0OSwgMjM4LCAyMTcsIDI0OCwgMjQ0LCAxOTksIDIyMSwgMTkyLCAyMzYsIDcsIDI0NCwgCi0gICAgMTYxLCAyNTMsIDIyMSwgMjQ0LCAxOTgsIDI0NCwgNTcsIDI0NCwgMTk4LCAyMTksIDk0LCAyNDQsIDE5OCwgMjQ3LCAxNzMsIAotICAgIDI0NCwgMTk4LCAyNDQsIDE5OSwgMjExLCAyMzAsIDIzMCwgMTE1LCAyNDQsIDE5OSwgMiwgMjMxLCA4OSwgMjMxLCAxNDksIAotICAgIDI0MiwgMTMxLCAyNTAsIDIzMywgMjQ0LCAxOTksIDIsIDIxOSwgNzYsIDI0NSwgMjEsIDI1MCwgMjMzLCAyNDQsIDE5OSwgMiwgCi0gICAgMjE3LCAxNSwgNjQsIDIzNSwgNTksIDIxOSwgNzYsIDI1MCwgMjMzLCAyNDQsIDE5OSwgMiwgMjA0LCAyMzAsIDExNSwgMjE5LCAKLSAgICA3NiwgMjUwLCAyMzMsIDI0NCwgMTk5LCAyLCAyNDEsIDIzMywgMjQ1LCAyMSwgMjUwLCAyMzMsIDI0NCwgMTk5LCAyLCAyMTEsIAotICAgIDE5NiwgMjE5LCA3NywgMjM0LCA2OCwgMjUwLCAyMzMsIDI0NCwgMTk5LCAyLCAyNTAsIDgsIDI0NSwgMjEsIDIyNCwgMjMwLCAKLSAgICAyNTAsIDIzMywgMjQ0LCAxOTgsIDI0OSwgMTI0LCAyNTAsIDIzMywgMjQ0LCAxOTgsIDIxMiwgMjAsIDI1MCwgMjMzLCAyNDQsIAotICAgIDE5OCwgMjQ0LCAxOTksIDIsIDIyOCwgODAsIDI0MiwgMTcwLCAyNDMsIDQxLCAyNDQsIDE5OSwgMiwgMjI2LCAyMTksIDI0MywgCi0gICAgNDEsIDIyNSwgMTcxLCAyNTEsIDE3NiwgMjQ4LCA4MywgMjIxLCAxNzEsIDIzMCwgMTUwLCAyNDEsIDIzNiwgMjMwLCAxNTAsIAotICAgIDIxOSwgMTAsIDIzMCwgMTUwLCAyNDIsIDEyLCAyMjUsIDE3MSwgMjIzLCAxNTksIDEyMywgMjQyLCAyMiwgMjI1LCAxNzEsIAotICAgIDIyMywgMTU5LCAyNTEsIDE4NiwgMjQyLCAxOCwgMjM2LCA3LCAyNTAsIDE4NywgMjI1LCAxNzEsIDI0MywgMjQ2LCAyMjUsIAotICAgIDE3MSwgMiwgMjI0LCAyMzAsIDI0NCwgMTk4LCAyMjUsIDE3MSwgMiwgMjQ0LCA0OSwgMjQyLCAxNywgMjIyLCAyMDUsIDI0MSwgCi0gICAgMjIxLCAyMTgsIDE0NSwgMjMyLCAxNTUsIDIyMywgMTY1LCAyNTAsIDI1MiwgMjQxLCAxNjksIDIxNSwgMjQ5LCAyNDEsIAotICAgIDE2OSwgMjE1LCAyNTAsIDIsIDI1MSwgMTIyLCAyMjgsIDU4LCAyMTUsIDI0OSwgMjMxLCAzNywgMTkzLCAyMjMsIDE2NiwgCi0gICAgMjE4LCAxNTEsIDIxNSwgMjQ3LCAyMTUsIDI0OCwgMjUwLCAyNTIsIDI1MSwgMTAwLCAyMjYsIDE5OCwgMjUxLCAxMDAsIAotICAgIDIxNSwgMjAyLCAyNTEsIDEwMSwgMjE4LCAxMzEsIDIzMCwgMTkyLCAyNTQsIDEzOCwgMjQ0LCAxMDUsIDI0NSwgMTQ1LCAKLSAgICAyMjUsIDIsIDI1MCwgMjUyLCAyMjYsIDE5OCwgMjI1LCAyLCAyNTAsIDI1MiwgMjE3LCAzMywgMjI2LCAxOTgsIDIxNywgMzMsIAotICAgIDI1MywgMTg4LCAyMjYsIDE5OCwgMjUzLCAxODgsIDIyMywgMTIxLCAyMTMsIDI0NywgMjQ4LCA2NiwgMjE1LCAxOTMsIDI1MywgCi0gICAgMjUwLCAyMzIsIDEyMywgMjE1LCAyNTUsIDIzMCwgMTQ0LCAyMzAsIDEyMSwgMjIzLCAxNjQsIDIxOCwgNywgMjIzLCAxNjQsIAotICAgIDIzMCwgMTIxLCAyNTEsIDM2LCAyNTQsIDIzOCwgMjE1LCAyNDYsIDIyMCwgMTgsIDIyMiwgMTg0LCAyMTksIDMsIDIwMywgCi0gICAgMjE1LCAyNTMsIDIzMiwgMjM2LCA2NywgMjE1LCAyNTMsIDIzMiwgMjM2LCAyNDksIDE5OCwgNTAsIDIyNSwgMiwgMjUwLCAKLSAgICAyMzcsIDIyMywgNDcsIDIzMiwgMjM2LCAyMTUsIDIyMywgMjQ0LCA4MiwgMjI2LCAyMDEsIDIyNCwgMjQxLCAyNDcsIDEzMSwgCi0gICAgMjI4LCA4MCwgMjQ1LCAxMzMsIDUwLCAyMTksIDc0LCA4NywgMjI4LCA4MCwgMjE5LCA3NCwgODcsIDIyNCwgMTI1LCAyMzIsIAotICAgIDE5OSwgMjM2LCA3LCAyMzUsIDE2MywgMjI1LCA0NCwgODcsIDI0NywgMTU0LCAyMjgsIDU3LCAyMzIsIDE5OSwgODcsIDIyNCwgCi0gICAgMjM1LCAyMTIsIDQxLCA4NywgMjI4LCA3MSwgMjEyLCA0MSwgODcsIDI1MiwgMTAsIDIyOCwgODAsIDI1MiwgOSwgMjUyLCA4LCAKLSAgICAyMzAsIDEyMSwgMjUyLCA4LCAyMjUsIDIxNiwgMjI4LCA4MCwgMjI1LCAyMTUsIDI1MCwgMTA4LCAyNDksIDEzMiwgMjMxLCAKLSAgICA2MSwgODcsIDIxMSwgMjE4LCA4NywgMjIzLCA2MiwgMjUyLCAxOTUsIDg3LCAyMTYsIDM4LCAyMTIsIDQxLCAyNTAsIDUsIAotICAgIDIxOSwgMjM2LCAyNTIsIDEyNiwgMjUyLCAxMjQsIDIyNSwgMjQ2LCAyNDksIDE4NSwgMjQ5LCA5NCwgMjUyLCAxNzcsIDI1MCwgCi0gICAgMzAsIDQzLCAyMzIsIDk1LCAxMDgsIDE2LCAzMSwgMjI0LCA2LCAxMDgsIDE2LCAzMSwgMjU0LCAyMDEsIDEwOCwgMTYsIDMxLCAKLSAgICAyNDQsIDEwNCwgMTA4LCAxNiwgMzEsIDI0NSwgMjMxLCAxMDgsIDE2LCAzMSwgMjEyLCA0MCwgMTA4LCAxNiwgMzEsIDI1NCwgCi0gICAgNTEsIDEwOCwgMTYsIDMxLCAyNTQsIDUyLCAyMjMsIDEwOCwgMTA4LCAxNiwgMzEsIDI1NCwgNTIsIDIyMywgMTA3LCAxMDgsIAotICAgIDE2LCAzMSwgMjU0LCA1MiwgMjEzLCAxNDMsIDEwOCwgMTYsIDMxLCAyNTQsIDUyLCAyMTMsIDE0MiwgMTA4LCAxNiwgMzEsIAotICAgIDIxMywgMTU3LCAxMDgsIDE2LCAzMSwgMjEzLCAxNTYsIDEwOCwgMTYsIDMxLCAyMTMsIDE1NSwgMTA4LCAxNiwgMzEsIDIxOCwgCi0gICAgNDUsIDEwOCwgMTYsIDMxLCAyMjUsIDEyOCwgMjE4LCA0NSwgMTA4LCAxNiwgMzEsIDg1LCAyMTgsIDQ1LCAxMDgsIDE2LCAKLSAgICAzMSwgMjMxLCA2MCwgMjE4LCA3MiwgMTA4LCAxNiwgMzEsIDIzMSwgNjAsIDIxOCwgNzEsIDEwOCwgMTYsIDMxLCAyMzEsIAotICAgIDYwLCAyMTgsIDcwLCAxMDgsIDE2LCAzMSwgMjUwLCA0NiwgMTA4LCAxNiwgMzEsIDIyMiwgMywgMTA4LCAxNiwgMzEsIDIyOCwgCi0gICAgMTkzLCAxMDgsIDE2LCAzMSwgMjEzLCAxNDEsIDEwOCwgMTYsIDMxLCAyMTMsIDE0MCwgMTA4LCAxNiwgMzEsIDIyMiwgMjA2LCAKLSAgICAyMjIsIDMsIDEwOCwgMTYsIDMxLCAyMjIsIDIwNiwgMjIyLCAyLCAxMDgsIDE2LCAzMSwgMjQyLCAxNzMsIDEwOCwgMTYsIAotICAgIDMxLCAyMTksIDE2OCwgMTA4LCAxNiwgMzEsIDIzNSwgMTg0LCAyMjYsIDE1NywgMTA4LCAxNiwgMzEsIDIzNSwgMTg0LCAKLSAgICAyMjYsIDE1NiwgMTA4LCAxNiwgMzEsIDI0OSwgMTQyLCA2NCwgMjM1LCAxODMsIDEwOCwgMTYsIDMxLCAyMjMsIDEwNCwgNjQsIAotICAgIDIzNSwgMTgzLCAxMDgsIDE2LCAzMSwgMjQ5LCAxNzYsIDIyNiwgMTU3LCAxMDgsIDE2LCAzMSwgMjM1LCAxODIsIDIyNiwgCi0gICAgMTU3LCAxMDgsIDE2LCAzMSwgMjE4LCA3MywgNjQsIDI0OSwgMTc1LCAxMDgsIDE2LCAzMSwgMjQ5LCAxNDIsIDY0LCAyNDksIAotICAgIDE3NSwgMTA4LCAxNiwgMzEsIDI0OSwgMTQyLCA2NCwgMjQ5LCAxNzQsIDEwOCwgMTYsIDMxLCAyNDksIDE3NiwgMjU0LCA5MSwgCi0gICAgMTA4LCAxNiwgMzEsIDIyMiwgNCwgNjQsIDI0OSwgMTc2LCAyNTQsIDkxLCAxMDgsIDE2LCAzMSwgMjE4LCA3MywgNjQsIAotICAgIDIyMiwgNCwgNjQsIDI0OSwgMTc1LCAxMDgsIDE2LCAzMSwgMjEzLCAyNDMsIDEwOCwgMTYsIDMxLCAyMTYsIDg1LCAyMjYsIAotICAgIDE1NywgMTA4LCAxNiwgMzEsIDIzMywgNjMsIDIyNiwgMTU3LCAxMDgsIDE2LCAzMSwgMjU0LCA5MCwgMjI2LCAxNTcsIDEwOCwgCi0gICAgMTYsIDMxLCAyMTgsIDczLCA2NCwgMjU0LCA4OSwgMTA4LCAxNiwgMzEsIDIyMiwgNCwgNjQsIDI1NCwgODksIDEwOCwgMTYsIAotICAgIDMxLCAyMTgsIDczLCA2NCwgMjIyLCA0LCA2NCwgMjU0LCA4OSwgMTA4LCAxNiwgMzEsIDIxMywgMTU4LCA2NCwgMjU0LCA4OSwgCi0gICAgMTA4LCAxNiwgMzEsIDIyMywgMTA0LCA2NCwgMjU0LCA4OSwgMTA4LCAxNiwgMzEsIDIyMywgMTA0LCA2NCwgMjU0LCA4OCwgCi0gICAgMTA4LCAxNiwgMzEsIDIyMywgMTAzLCAxMDgsIDE2LCAzMSwgMjIzLCAxMDIsIDEwOCwgMTYsIDMxLCAyMjMsIDEwMSwgMTA4LCAKLSAgICAxNiwgMzEsIDIyMywgMTAwLCAxMDgsIDE2LCAzMSwgMjU0LCAxNjYsIDEwOCwgMTYsIDMxLCAyNTQsIDE2NSwgMTA4LCAxNiwgCi0gICAgMzEsIDIzMSwgMTY4LCAxMDgsIDE2LCAzMSwgMjIyLCA5LCAxMDgsIDE2LCAzMSwgMjUzLCAyNTQsIDEwOCwgMTYsIDMxLCAKLSAgICAyMjMsIDEyOCwgMTA4LCAxNiwgMzEsIDIyMywgMTI3LCAxMDgsIDE2LCAzMSwgMjUzLCAxOTEsIDEwOCwgMTYsIDMxLCAyNTEsIAotICAgIDIzNywgMjI2LCAxNTcsIDEwOCwgMTYsIDMxLCAyMTcsIDUwLCAxMDgsIDE2LCAzMSwgMjE3LCA0OSwgMTA4LCAxNiwgMzEsIAotICAgIDIyNCwgMTEsIDIzMiwgMjI4LCAxMDgsIDE2LCAzMSwgMjUxLCAxOTEsIDEwOCwgMTYsIDMxLCAyNTEsIDE5MCwgMTA4LCAxNiwgCi0gICAgMzEsIDI1MSwgMTg5LCAxMDgsIDE2LCAzMSwgMjU0LCAxNDYsIDEwOCwgMTYsIDMxLCAyMjYsIDIyMiwgMTA4LCAxNiwgMzEsIAotICAgIDIxOCwgMjUwLCAxMDgsIDE2LCAzMSwgMjE2LCA4MywgMTA4LCAxNiwgMzEsIDI0MiwgMTAzLCAxMDgsIDE2LCAzMSwgMjEyLCAKLSAgICAyOCwgMTA4LCAxNiwgMzEsIDIyNCwgMjI5LCAxMDgsIDE2LCAzMSwgMjUxLCAyMiwgMTA4LCAxNiwgMzEsIDIxNSwgODYsIAotICAgIDEwOCwgMTYsIDMxLCAyNTAsIDI1NCwgMjMwLCAxMjcsIDEwOCwgMTYsIDMxLCAyMjEsIDIwNCwgNjQsIDIzNSwgNjEsIDEwOCwgCi0gICAgMTYsIDMxLCAyNTEsIDMzLCAxMDgsIDE2LCAzMSwgMjE1LCAyMjAsIDEwOCwgMTYsIDMxLCAyMTgsIDE1NiwgMjE1LCAyMjAsIAotICAgIDEwOCwgMTYsIDMxLCAyMzIsIDE1NCwgMTA4LCAxNiwgMzEsIDIxOSwgNTgsIDEwOCwgMTYsIDMxLCAyMTQsIDE0MiwgMTA4LCAKLSAgICAxNiwgMzEsIDI0MCwgMjUzLCAyNDYsIDcyLCAxMDgsIDE2LCAzMSwgMjUzLCAyMzUsIDEwOCwgMTYsIDMxLCAyMjQsIDIzNywgCi0gICAgMjUzLCAyMzUsIDEwOCwgMTYsIDMxLCAyNTEsIDE1MCwgMTA4LCAxNiwgMzEsIDIyNCwgMjI4LCAyNTEsIDE1MCwgMTA4LCAKLSAgICAxNiwgMzEsIDI1NCwgMTQzLCAxMDgsIDE2LCAzMSwgMjE4LCAxMTksIDIxOCwgMjcsIDIxOCwgMTE4LCAxMDgsIDE2LCAzMSwgCi0gICAgMjE4LCAxMTksIDIxOCwgMjcsIDIxOCwgMTE3LCAxMDgsIDE2LCAzMSwgMjE4LCA2OSwgMTA4LCAxNiwgMzEsIDIyNCwgMjAzLCAKLSAgICAxMDgsIDE2LCAzMSwgMjQ3LCAxODksIDEwOCwgMTYsIDMxLCAyNDcsIDE5MSwgMTA4LCAxNiwgMzEsIDI0NywgMTkwLCAxMDgsIAotICAgIDE2LCAzMSwgMjI0LCAxMzQsIDEwOCwgMTYsIDMxLCAyMjQsIDEyMywgMTA4LCAxNiwgMzEsIDI0OSwgMTMwLCAxMDgsIDE2LCAKLSAgICAzMSwgMjQ5LCAxMjksIDEwOCwgMTYsIDMxLCAyNDksIDEyOCwgMTA4LCAxNiwgMzEsIDI0OSwgMTI3LCAxMDgsIDE2LCAzMSwgCi0gICAgMjQ5LCAxMjYsIDEwOCwgMTYsIDMxLCAyNTQsIDE3OCwgMTA4LCAxNiwgMzEsIDI1MiwgMTI3LCA2NCwgMjMxLCAxNTQsIAotICAgIDEwOCwgMTYsIDMxLCAyNTIsIDEyNywgNjQsIDIxNCwgMTcsIDEwOCwgMTYsIDMxLCAyMjMsIDYwLCAxMDgsIDE2LCAzMSwgCi0gICAgMjQwLCAyNDUsIDEwOCwgMTYsIDMxLCAyMjgsIDIxNywgMTA4LCAxNiwgMzEsIDI0OCwgMTUzLCAxMDgsIDE2LCAzMSwgMjMwLCAKLSAgICAxMzksIDEwOCwgMTYsIDMxLCAxNjMsIDI0NiwgMTAyLCAxMDgsIDE2LCAzMSwgMTYzLCAyMjYsIDEzNiwgMTAsIDE0LCAyNDAsIAotICAgIDEwOSwgMTAsIDE0LCAyNDAsIDEwOCwgMTAsIDE0LCAyNDAsIDEwNywgMTAsIDE0LCAyNDAsIDEwNiwgMTAsIDE0LCAyNDAsIAotICAgIDEwNSwgMTAsIDE0LCAyNDAsIDEwNCwgMTAsIDE0LCAyNDAsIDEwMywgMTAsIDE0LCAyNDAsIDEwMiwgMTAsIDE0LCAyNDAsIAotICAgIDEwMSwgMTAsIDE0LCAyNDAsIDEwMCwgMTAsIDE0LCAyNDAsIDk5LCAxMCwgMTQsIDI0MCwgOTgsIDEwLCAxNCwgMjQwLCA5NywgCi0gICAgMTAsIDE0LCAyNDAsIDk2LCAxMCwgMTQsIDI0MCwgOTUsIDEwLCAxNCwgMjQwLCA5NCwgMTAsIDE0LCAyNDAsIDkzLCAxMCwgCi0gICAgMTQsIDI0MCwgOTIsIDEwLCAxNCwgMjQwLCA5MSwgMTAsIDE0LCAyNDAsIDkwLCAxMCwgMTQsIDI0MCwgODksIDEwLCAxNCwgCi0gICAgMjQwLCA4OCwgMTAsIDE0LCAyNDAsIDg3LCAxMCwgMTQsIDI0MCwgODYsIDEwLCAxNCwgMjQwLCA4NSwgMTAsIDE0LCAyNDAsIAotICAgIDg0LCAxMCwgMTQsIDI0MCwgODMsIDEwLCAxNCwgMjQwLCA4MiwgMTAsIDE0LCAyNDAsIDgxLCAxMCwgMTQsIDI0MCwgODAsIAotICAgIDEwLCAxNCwgMjQwLCA3OSwgMTAsIDE0LCAyNDAsIDc4LCAxMCwgMTQsIDI0MCwgNzcsIDEwLCAxNCwgMjQwLCA3NiwgMTAsIAotICAgIDE0LCAyNDAsIDc1LCAxMCwgMTQsIDI0MCwgNzQsIDEwLCAxNCwgMjQwLCA3MywgMTAsIDE0LCAyNDAsIDcyLCAxMCwgMTQsIAotICAgIDI0MCwgNzEsIDEwLCAxNCwgMjQwLCA3MCwgMTAsIDE0LCAyNDAsIDY5LCAxMCwgMTQsIDI0MCwgNjgsIDEwLCAxNCwgMjQwLCAKLSAgICA2NywgMTAsIDE0LCAyNDAsIDY2LCAxMCwgMTQsIDI0MCwgNjUsIDEwLCAxNCwgMjQwLCA2NCwgMTAsIDE0LCAyNDAsIDYzLCAKLSAgICAxMCwgMTQsIDI0MCwgNjIsIDEwLCAxNCwgMjQwLCA2MSwgMTAsIDE0LCAyNDAsIDYwLCAxMCwgMTQsIDI0MCwgNTksIDEwLCAKLSAgICAxNCwgMjQwLCA1OCwgMTAsIDE0LCAyNDAsIDU3LCAxMCwgMTQsIDI0MCwgNTYsIDEwLCAxNCwgMjQwLCA1NSwgMTAsIDE0LCAKLSAgICAyNDAsIDU0LCAxMCwgMTQsIDI0MCwgNTMsIDEwLCAxNCwgMjQwLCA1MiwgMTAsIDE0LCAyNDAsIDUxLCAxMCwgMTQsIDI0MCwgCi0gICAgNTAsIDEwLCAxNCwgMjQwLCA0OSwgMTAsIDE0LCAyNDAsIDQ4LCAxMCwgMTQsIDI0MCwgNDcsIDEwLCAxNCwgMjQwLCA0NiwgCi0gICAgMTAsIDE0LCAyNDAsIDQ1LCAxMCwgMTQsIDI0MCwgNDQsIDEwLCAxNCwgMjQwLCA0MywgMTAsIDE0LCAyNDAsIDQyLCAxMCwgCi0gICAgMTQsIDI0MCwgNDEsIDEwLCAxNCwgMjQwLCA0MCwgMTAsIDE0LCAyNDAsIDM5LCAxMCwgMTQsIDI0MCwgMzgsIDEwLCAxNCwgCi0gICAgMjQwLCAzNywgMTAsIDE0LCAyNDAsIDM2LCAxMCwgMTQsIDI0MCwgMzUsIDEwLCAxNCwgMjQwLCAzNCwgMTAsIDE0LCAyNDAsIAotICAgIDMzLCAxMCwgMTQsIDI0MCwgMzIsIDEwLCAxNCwgMjQwLCAzMSwgMTAsIDE0LCAyNDAsIDMwLCAxMCwgMTQsIDI0MCwgMjksIAotICAgIDEwLCAxNCwgMjQwLCAyOCwgMTAsIDE0LCAyNDAsIDI3LCAxMCwgMTQsIDI0MCwgMjYsIDEwLCAxNCwgMjQwLCAyNSwgMTAsIAotICAgIDE0LCAyNDAsIDI0LCAxMCwgMTQsIDI0MCwgMjMsIDEwLCAxNCwgMjQwLCAyMiwgMTAsIDE0LCAyNDAsIDIxLCAxMCwgMTQsIAotICAgIDI0MCwgMjAsIDEwLCAxNCwgMjQwLCAxOSwgMTAsIDE0LCAyNDAsIDE4LCAxMCwgMTQsIDI0MCwgMTcsIDEwLCAxNCwgMjQwLCAKLSAgICAxNiwgMTAsIDE0LCAyNDAsIDE1LCAxMCwgMTQsIDI0MCwgMTQsIDEwLCAxNCwgMjQwLCAxMywgMTAsIDE0LCAyNDAsIDEyLCAKLSAgICAxMCwgMTQsIDI0MCwgMTEsIDEwLCAxNCwgMjQwLCAxMCwgMTAsIDE0LCAyNDAsIDksIDEwLCAxNCwgMjQwLCA4LCAxMCwgMTQsIAotICAgIDI0MCwgNywgMTAsIDE0LCAyNDAsIDYsIDEwLCAxNCwgMjQwLCA1LCAxMCwgMTQsIDI0MCwgNCwgMTAsIDE0LCAyNDAsIDMsIAotICAgIDEwLCAxNCwgMjQwLCAyLCAxMCwgMTQsIDI0MCwgMSwgMTAsIDE0LCAyNDAsIDAsIDEwLCAxNCwgMjM5LCAyNTUsIDEwLCAxNCwgCi0gICAgMjM5LCAyNTQsIDEwLCAxNCwgMjM5LCAyNTMsIDEwLCAxNCwgMjM5LCAyNTIsIDEwLCAxNCwgMjM5LCAyNTEsIDEwLCAxNCwgCi0gICAgMjM5LCAyNTAsIDEwLCAxNCwgMjM5LCAyNDksIDEwLCAxNCwgMjM5LCAyNDgsIDEwLCAxNCwgMjM5LCAyNDcsIDEwLCAxNCwgCi0gICAgMjM5LCAyNDYsIDEwLCAxNCwgMjM5LCAyNDUsIDEwLCAxNCwgMjM5LCAyNDQsIDEwLCAxNCwgMjM5LCAyNDMsIDEwLCAxNCwgCi0gICAgMjM5LCAyNDIsIDEwLCAxNCwgMjM5LCAyNDEsIDEwLCAxNCwgMjM5LCAyNDAsIDEwLCAxNCwgMjM5LCAyMzksIDEwLCAxNCwgCi0gICAgMjM5LCAyMzgsIDEwLCAxNCwgMjM5LCAyMzcsIDEwLCAxNCwgMjM5LCAyMzYsIDEwLCAxNCwgMjM5LCAyMzUsIDEwLCAxNCwgCi0gICAgMjM5LCAyMzQsIDEwLCAxNCwgMjM5LCAyMzMsIDEwLCAxNCwgMjM5LCAyMzIsIDEwLCAxNCwgMjM5LCAyMzEsIDEwLCAxNCwgCi0gICAgMjM5LCAyMzAsIDEwLCAxNCwgMjM5LCAyMjksIDEwLCAxNCwgMjM5LCAyMjgsIDEwLCAxNCwgMjM5LCAyMjcsIDEwLCAxNCwgCi0gICAgMjM5LCAyMjYsIDEwLCAxNCwgMjM5LCAyMjUsIDEwLCAxNCwgMjM5LCAyMjQsIDEwLCAxNCwgMjM5LCAyMjMsIDEwLCAxNCwgCi0gICAgMjM5LCAyMjIsIDEwLCAxNCwgMjM5LCAyMjEsIDEwLCAxNCwgMjM5LCAyMjAsIDEwLCAxNCwgMjM5LCAyMTksIDEwLCAxNCwgCi0gICAgMjM5LCAyMTgsIDEwLCAxNCwgMjM5LCAyMTcsIDEwLCAxNCwgMjM5LCAyMTYsIDEwLCAxNCwgMjM5LCAyMTUsIDEwLCAxNCwgCi0gICAgMjM5LCAyMTQsIDEwLCAxNCwgMjM5LCAyMTMsIDEwLCAxNCwgMjM5LCAyMTIsIDEwLCAxNCwgMjM5LCAyMTEsIDEwLCAxNCwgCi0gICAgMjM5LCAyMTAsIDEwLCAxNCwgMjM5LCAyMDksIDEwLCAxNCwgMjM5LCAyMDgsIDEwLCAxNCwgMjM5LCAyMDcsIDEwLCAxNCwgCi0gICAgMjM5LCAyMDYsIDEwLCAxNCwgMjM5LCAyMDUsIDEwLCAxNCwgMjM5LCAyMDQsIDEwLCAxNCwgMjM5LCAyMDMsIDEwLCAxNCwgCi0gICAgMjM5LCAyMDIsIDEwLCAxNCwgMjM5LCAyMDEsIDEwLCAxNCwgMjM5LCAyMDAsIDEwLCAxNCwgMjM5LCAxOTksIDEwLCAxNCwgCi0gICAgMjM5LCAxOTgsIDEwLCAxNCwgMjM5LCAxOTcsIDEwLCAxNCwgMjM5LCAxOTYsIDEwLCAxNCwgMjM5LCAxOTUsIDEwLCAxNCwgCi0gICAgMjM5LCAxOTQsIDEwLCAxNCwgMjM5LCAxOTMsIDEwLCAxNCwgMjM5LCAxOTIsIDEwLCAxNCwgMjM5LCAxOTEsIDEwLCAxNCwgCi0gICAgMjM5LCAxOTAsIDEwLCAxNCwgMjM5LCAxODksIDEwLCAxNCwgMjM5LCAxODgsIDEwLCAxNCwgMjM5LCAxODcsIDEwLCAxNCwgCi0gICAgMjM5LCAxODYsIDEwLCAxNCwgMjM5LCAxODUsIDEwLCAxNCwgMjM5LCAxODQsIDEwLCAxNCwgMjM5LCAxODMsIDEwLCAxNCwgCi0gICAgMjM5LCAxODIsIDEwLCAxNCwgMjM5LCAxODEsIDEwLCAxNCwgMjM5LCAxODAsIDEwLCAxNCwgMjM5LCAxNzksIDEwLCAxNCwgCi0gICAgMjM5LCAxNzgsIDEwLCAxNCwgMjM5LCAxNzcsIDEwLCAxNCwgMjM5LCAxNzYsIDEwLCAxNCwgMjM5LCAxNzUsIDEwLCAxNCwgCi0gICAgMjM5LCAxNzQsIDEwLCAxNCwgMjM5LCAxNzMsIDEwLCAxNCwgMjM5LCAxNzIsIDEwLCAxNCwgMjM5LCAxNzEsIDEwLCAxNCwgCi0gICAgMjM5LCAxNzAsIDEwLCAxNCwgMjM5LCAxNjksIDEwLCAxNCwgMjM5LCAxNjgsIDEwLCAxNCwgMjM5LCAxNjcsIDEwLCAxNCwgCi0gICAgMjM5LCAxNjYsIDEwLCAxNCwgMjM5LCAxNjUsIDEwLCAxNCwgMjM5LCAxNjQsIDEwLCAxNCwgMjM5LCAxNjMsIDEwLCAxNCwgCi0gICAgMjM5LCAxNjIsIDEwLCAxNCwgMjM5LCAxNjEsIDEwLCAxNCwgMjM5LCAxNjAsIDEwLCAxNCwgMjM5LCAxNTksIDEwLCAxNCwgCi0gICAgMjM5LCAxNTgsIDEwLCAxNCwgMjM5LCAxNTcsIDEwLCAxNCwgMjM5LCAxNTYsIDEwLCAxNCwgMjM5LCAxNTUsIDEwLCAxNCwgCi0gICAgMjM5LCAxNTQsIDEwLCAxNCwgMjM5LCAxNTMsIDEwLCAxNCwgMjM5LCAxNTIsIDEwLCAxNCwgMjM5LCAxNTEsIDEwLCAxNCwgCi0gICAgMjM5LCAxNTAsIDEwLCAxNCwgMjM5LCAxNDksIDEwLCAxNCwgMjM5LCAxNDgsIDEwLCAxNCwgMjM5LCAxNDcsIDEwLCAxNCwgCi0gICAgMjM5LCAxNDYsIDEwLCAxNCwgMjM5LCAxNDUsIDEwLCAxNCwgMjM5LCAxNDQsIDEwLCAxNCwgMjM5LCAxNDMsIDEwLCAxNCwgCi0gICAgMjM5LCAxNDIsIDEwLCAxNCwgMjM5LCAxNDEsIDEwLCAxNCwgMjM5LCAxNDAsIDEwLCAxNCwgMjM5LCAxMzksIDEwLCAxNCwgCi0gICAgMjM5LCAxMzgsIDEwLCAxNCwgMjM5LCAxMzcsIDEwLCAxNCwgMjM5LCAxMzYsIDEwLCAxNCwgMjM5LCAxMzUsIDEwLCAxNCwgCi0gICAgMjM5LCAxMzQsIDEwLCAxNCwgMjM5LCAxMzMsIDEwLCAxNCwgMjM5LCAxMzIsIDEwLCAxNCwgMjM5LCAxMzEsIDEwLCAxNCwgCi0gICAgMjM5LCAxMzAsIDEwLCAxNCwgMjM5LCAxMjksIDEwLCAxNCwgMjM5LCAxMjgsIDEwLCAxNCwgMjM5LCAxMjcsIDEwLCAxNCwgCi0gICAgMjM5LCAxMjYsIDEwLCAxNCwgMjM5LCAxMjUsIDEwLCAxNCwgMjM5LCAxMjQsIDEwLCAxNCwgMjM5LCAxMjMsIDEwLCAxNCwgCi0gICAgMjM5LCAxMjIsIDEwLCAxNCwgMjM5LCAxMjEsIDEwLCAxNCwgMjM5LCAxMjAsIDEwLCAxNCwgMjM5LCAxMTksIDEwLCAxNCwgCi0gICAgMjM5LCAxMTgsIDEwLCAxNCwgMjM5LCAxMTcsIDEwLCAxNCwgMjM5LCAxMTYsIDEwLCAxNCwgMjM5LCAxMTUsIDEwLCAxNCwgCi0gICAgMjM5LCAxMTQsIDEwLCAxNCwgMjM5LCAxMTMsIDEwLCAxNCwgMjM5LCAxMTIsIDEwLCAxNCwgMjM5LCAxMTEsIDEwLCAxNCwgCi0gICAgMjM5LCAxMTAsIDEwLCAxNCwgMjM5LCAxMDksIDEwLCAxNCwgMjM5LCAxMDgsIDEwLCAxNCwgMjM5LCAxMDcsIDEwLCAxNCwgCi0gICAgMjM5LCAxMDYsIDEwLCAxNCwgMjM5LCAxMDUsIDEwLCAxNCwgMjM5LCAxMDQsIDEwLCAxNCwgMjM5LCAxMDMsIDEwLCAxNCwgCi0gICAgMjM5LCAxMDIsIDEwLCAxNCwgMjM5LCAxMDEsIDEwLCAxNCwgMjM5LCAxMDAsIDEwLCAxNCwgMjM5LCA5OSwgMTAsIDE0LCAKLSAgICAyMzksIDk4LCAxMCwgMTQsIDIzOSwgOTcsIDEwLCAxNCwgMjM5LCA5NiwgMTAsIDE0LCAyMzksIDk1LCAxMCwgMTQsIDIzOSwgCi0gICAgOTQsIDEwLCAxNCwgMjM5LCA5MywgMTAsIDE0LCAyMzksIDkyLCAxMCwgMTQsIDIzOSwgOTEsIDEwLCAxNCwgMjM5LCA5MCwgCi0gICAgMTAsIDE0LCAyMzksIDg5LCAxMCwgMTQsIDIzOSwgODgsIDEwLCAxNCwgMjM5LCA4NywgMTAsIDE0LCAyMzksIDg2LCAxMCwgCi0gICAgMTQsIDIzOSwgODUsIDEwLCAxNCwgMjM5LCA4NCwgMTAsIDE0LCAyMzksIDgzLCAxMCwgMTQsIDIzOSwgODIsIDEwLCAxNCwgCi0gICAgMjM5LCA4MSwgMTAsIDE0LCAyMzksIDgwLCAxMCwgMTQsIDIzOSwgNzksIDEwLCAxNCwgMjM5LCA3OCwgMTAsIDE0LCAyMzksIAotICAgIDc3LCAxMCwgMTQsIDIzOSwgNzYsIDEwLCAxNCwgMjM5LCA3NSwgMTAsIDE0LCAyMzksIDc0LCAxMCwgMTQsIDIzOSwgNzMsIAotICAgIDEwLCAxNCwgMjM5LCA3MiwgMTAsIDE0LCAyMzksIDcxLCAxMCwgMTQsIDIzOSwgNzAsIDEwLCAxNCwgMjM5LCA2OSwgMTAsIAotICAgIDE0LCAyMzksIDY4LCAxMCwgMTQsIDIzOSwgNjcsIDEwLCAxNCwgMjM5LCA2NiwgMTAsIDE0LCAyMzksIDY1LCAxMCwgMTQsIAotICAgIDIzOSwgNjQsIDEwLCAxNCwgMjM5LCA2MywgMTAsIDE0LCAyMzksIDYyLCAxMCwgMTQsIDIzOSwgNjEsIDEwLCAxNCwgMjM5LCAKLSAgICA2MCwgMTAsIDE0LCAyMzksIDU5LCAxMCwgMTQsIDIzOSwgNTgsIDEwLCAxNCwgMjM5LCA1NywgMTAsIDE0LCAyMzksIDU2LCAKLSAgICAxMCwgMTQsIDIzOSwgNTUsIDEwLCAxNCwgMjM5LCA1NCwgMTAsIDE0LCAyMzksIDUzLCAxMCwgMTQsIDIzOSwgNTIsIDEwLCAKLSAgICAxNCwgMjM5LCA1MSwgMTAsIDE0LCAyMzksIDUwLCAxMCwgMTQsIDIzOSwgNDksIDEwLCAxNCwgMjM5LCA0OCwgMTAsIDE0LCAKLSAgICAyMzksIDQ3LCAxMCwgMTQsIDIzOSwgNDYsIDEwLCAxNCwgMjM5LCA0NSwgMTAsIDE0LCAyMzksIDQ0LCAxMCwgMTQsIDIzOSwgCi0gICAgNDMsIDEwLCAxNCwgMjM5LCA0MiwgMTAsIDE0LCAyMzksIDQxLCAxMCwgMTQsIDIzOSwgNDAsIDEwLCAxNCwgMjM5LCAzOSwgCi0gICAgMTAsIDE0LCAyMzksIDM4LCAxMCwgMTQsIDIzOSwgMzcsIDEwLCAxNCwgMjM5LCAzNiwgMTAsIDE0LCAyMzksIDM1LCAxMCwgCi0gICAgMTQsIDIzOSwgMzQsIDEwLCAxNCwgMjM5LCAzMywgMTAsIDE0LCAyMzksIDMyLCAxMCwgMTQsIDIzOSwgMzEsIDEwLCAxNCwgCi0gICAgMjM5LCAzMCwgMTAsIDE0LCAyMzksIDI5LCAxMCwgMTQsIDIzOSwgMjgsIDEwLCAxNCwgMjM5LCAyNywgMTAsIDE0LCAyMzksIAotICAgIDI2LCAxMCwgMTQsIDIzOSwgMjUsIDEwLCAxNCwgMjM5LCAyNCwgMTAsIDE0LCAyMzksIDIzLCAxMCwgMTQsIDIzOSwgMjIsIAotICAgIDEwLCAxNCwgMjM5LCAyMSwgMTAsIDE0LCAyMzksIDIwLCAxMCwgMTQsIDIzOSwgMTksIDEwLCAxNCwgMjM5LCAxOCwgMTAsIAotICAgIDE0LCAyMzksIDE3LCAxMCwgMTQsIDIzOSwgMTYsIDEwLCAxNCwgMjM5LCAxNSwgMTAsIDE0LCAyMzksIDE0LCAxMCwgMTQsIAotICAgIDIzOSwgMTMsIDEwLCAxNCwgMjM5LCAxMiwgMTAsIDE0LCAyMzksIDExLCAxMCwgMTQsIDIzOSwgMTAsIDEwLCAxNCwgMjM5LCAKLSAgICA5LCAxMCwgMTQsIDIzOSwgOCwgMTAsIDE0LCAyMzksIDcsIDEwLCAxNCwgMjM5LCA2LCAxMCwgMTQsIDIzOSwgNSwgMTAsIAotICAgIDE0LCAyMzksIDQsIDEwLCAxNCwgMjM5LCAzLCAxMCwgMTQsIDIzOSwgMiwgMTAsIDE0LCAyMzksIDEsIDEwLCAxNCwgMjM5LCAKLSAgICAwLCAxMCwgMTQsIDIzOCwgMjU1LCAxMCwgMTQsIDIzOCwgMjU0LCAxMCwgMTQsIDIzOCwgMjUzLCAxMCwgMTQsIDIzOCwgCi0gICAgMjUyLCAxMCwgMTQsIDIzOCwgMjUxLCAxMCwgMTQsIDIzOCwgMjUwLCAxMCwgMTQsIDIzOCwgMjQ5LCAxMCwgMTQsIDIzOCwgCi0gICAgMjQ4LCAxMCwgMTQsIDIzOCwgMjQ3LCAxMCwgMTQsIDIzOCwgMjQ2LCAxMCwgMTQsIDIzOCwgMjQ1LCAxMCwgMTQsIDIzOCwgCi0gICAgMjQ0LCAxMCwgMTQsIDIzOCwgMjQzLCAxMCwgMTQsIDIzOCwgMjQyLCAxMCwgMTQsIDIzOCwgMjQxLCAxMCwgMTQsIDIzOCwgCi0gICAgMjQwLCAxMCwgMTQsIDIzOCwgMjM5LCAxMCwgMTQsIDIzOCwgMjM4LCAxMCwgMTQsIDIzOCwgMjM3LCAxMCwgMTQsIDIzOCwgCi0gICAgMjM2LCAxMCwgMTQsIDIzOCwgMjM1LCAxMCwgMTQsIDIzOCwgMjM0LCAxMCwgMTQsIDIzOCwgMjMzLCAxMCwgMTQsIDIzOCwgCi0gICAgMjMyLCAxMCwgMTQsIDIzOCwgMjMxLCAxMCwgMTQsIDIzOCwgMjMwLCAxMCwgMTQsIDIzOCwgMjI5LCAxMCwgMTQsIDIzOCwgCi0gICAgMjI4LCAxMCwgMTQsIDIzOCwgMjI3LCAxMCwgMTQsIDIzOCwgMjI2LCAxMCwgMTQsIDIzOCwgMjI1LCAxMCwgMTQsIDIzOCwgCi0gICAgMjI0LCAxMCwgMTQsIDIzOCwgMjIzLCAxMCwgMTQsIDIzOCwgMjIyLCAxMCwgMTQsIDIzOCwgMjIxLCAxMCwgMTQsIDIzOCwgCi0gICAgMjIwLCAxMCwgMTQsIDIzOCwgMjE5LCAxMCwgMTQsIDIzOCwgMjE4LCAxMCwgMTQsIDIzOCwgMjE3LCAxMCwgMTQsIDIzOCwgCi0gICAgMjE2LCAxMCwgMTQsIDIzOCwgMjE1LCAxMCwgMTQsIDIzOCwgMjE0LCAxMCwgMTQsIDIzOCwgMjEzLCAxMCwgMTQsIDIzOCwgCi0gICAgMjEyLCAxMCwgMTQsIDIzOCwgMjExLCAxMCwgMTQsIDIzOCwgMjEwLCAxMCwgMTQsIDIzOCwgMjA5LCAxMCwgMTQsIDIzOCwgCi0gICAgMjA4LCAxMCwgMTQsIDIzOCwgMjA3LCAxMCwgMTQsIDIzOCwgMjA2LCAxMCwgMTQsIDIzOCwgMjA1LCAxMCwgMTQsIDIzOCwgCi0gICAgMjA0LCAxMCwgMTQsIDIzOCwgMjAzLCAxMCwgMTQsIDIzOCwgMjAyLCAxMCwgMTQsIDIzOCwgMjAxLCAxMCwgMTQsIDIzOCwgCi0gICAgMjAwLCAxMCwgMTQsIDIzOCwgMTk5LCAxMCwgMTQsIDIzOCwgMTk4LCAxMCwgMTQsIDIzOCwgMTk3LCAxMCwgMTQsIDIzOCwgCi0gICAgMTk2LCAxMCwgMTQsIDIzOCwgMTk1LCAxMCwgMTQsIDIzOCwgMTk0LCAxMCwgMTQsIDIzOCwgMTkzLCAxMCwgMTQsIDIzOCwgCi0gICAgMTkyLCAxMCwgMTQsIDIzOCwgMTkxLCAxMCwgMTQsIDIzOCwgMTkwLCAxMCwgMTQsIDIzOCwgMTg5LCAxMCwgMTQsIDIzOCwgCi0gICAgMTg4LCAxMCwgMTQsIDIzOCwgMTg3LCAxMCwgMTQsIDIzOCwgMTg2LCAxMCwgMTQsIDIzOCwgMTg1LCAxMCwgMTQsIDIzOCwgCi0gICAgMTg0LCAxMCwgMTQsIDIzOCwgMTgzLCAxMCwgMTQsIDIzOCwgMTgyLCAxMCwgMTQsIDIzOCwgMTgxLCAxMCwgMTQsIDIzOCwgCi0gICAgMTgwLCAxMCwgMTQsIDIzOCwgMTc5LCAxMCwgMTQsIDIzOCwgMTc4LCAxMCwgMTQsIDIzOCwgMTc3LCAxMCwgMTQsIDIzOCwgCi0gICAgMTc2LCAxMCwgMTQsIDIzOCwgMTc1LCAxMCwgMTQsIDIzOCwgMTc0LCAxMCwgMTQsIDIzOCwgMTczLCAxMCwgMTQsIDIzOCwgCi0gICAgMTcyLCAxMCwgMTQsIDIzOCwgMTcxLCAxMCwgMTQsIDIzOCwgMTcwLCAxMCwgMTQsIDIzOCwgMTY5LCAxMCwgMTQsIDIzOCwgCi0gICAgMTY4LCAxMCwgMTQsIDIzOCwgMTY3LCAxMCwgMTQsIDIzOCwgMTY2LCAxMCwgMTQsIDIzOCwgMTY1LCAxMCwgMTQsIDIzOCwgCi0gICAgMTY0LCAxMCwgMTQsIDIzOCwgMTYzLCAxMCwgMTQsIDIzOCwgMTYyLCAxMCwgMTQsIDIzOCwgMTYxLCAxMCwgMTQsIDIzOCwgCi0gICAgMTYwLCAxMCwgMTQsIDIzOCwgMTU5LCAxMCwgMTQsIDIzOCwgMTU4LCAxMCwgMTQsIDIzOCwgMTU3LCAxMCwgMTQsIDIzOCwgCi0gICAgMTU2LCAxMCwgMTQsIDIzOCwgMTU1LCAxMCwgMTQsIDIzOCwgMTU0LCAxMCwgMTQsIDIzOCwgMTUzLCAxMCwgMTQsIDIzOCwgCi0gICAgMTUyLCAxMCwgMTQsIDIzOCwgMTUxLCAxMCwgMTQsIDIzOCwgMTUwLCAxMCwgMTQsIDIzOCwgMTQ5LCAxMCwgMTQsIDIzOCwgCi0gICAgMTQ4LCAxMCwgMTQsIDIzOCwgMTQ3LCAxMCwgMTQsIDIzOCwgMTQ2LCAxMCwgMTQsIDIzOCwgMTQ1LCAxMCwgMTQsIDIzOCwgCi0gICAgMTQ0LCAxMCwgMTQsIDIzOCwgMTQzLCAxMCwgMTQsIDIzOCwgMTQyLCAxMCwgMTQsIDIzOCwgMTQxLCAxMCwgMTQsIDIzOCwgCi0gICAgMTQwLCAxMCwgMTQsIDIzOCwgMTM5LCAxMCwgMTQsIDIzOCwgMTM4LCAxMCwgMTQsIDIzOCwgMTM3LCAxMCwgMTQsIDIzOCwgCi0gICAgMTM2LCAxMCwgMTQsIDIzOCwgMTM1LCAxMCwgMTQsIDIzOCwgMTM0LCAxMCwgMTQsIDIzOCwgMTMzLCAxMCwgMTQsIDIzOCwgCi0gICAgMTMyLCAxMCwgMTQsIDIzOCwgMTMxLCAxMCwgMTQsIDIzOCwgMTMwLCAxMCwgMTQsIDIzOCwgMTI5LCAxMCwgMTQsIDIzOCwgCi0gICAgMTI4LCAxMCwgMTQsIDIzOCwgMTI3LCAxMCwgMTQsIDIzOCwgMTI2LCAxMCwgMTQsIDIzOCwgMTI1LCAxMCwgMTQsIDIzOCwgCi0gICAgMTI0LCAxMCwgMTQsIDIzOCwgMTIzLCAxMCwgMTQsIDIzOCwgMTIyLCAxMCwgMTQsIDIzOCwgMTIxLCAxMCwgMTQsIDIzOCwgCi0gICAgMTIwLCAxMCwgMTQsIDIzOCwgMTE5LCAxMCwgMTQsIDIzOCwgMTE4LCAxMCwgMTQsIDIzOCwgMTE3LCAxMCwgMTQsIDIzOCwgCi0gICAgMTE2LCAxMCwgMTQsIDIzOCwgMTE1LCAxMCwgMTQsIDIzOCwgMTE0LCAxMCwgMTQsIDIzOCwgMTEzLCAxMCwgMTQsIDIzOCwgCi0gICAgMTEyLCAxMCwgMTQsIDIzOCwgMTExLCAxMCwgMTQsIDIzOCwgMTEwLCAxMCwgMTQsIDIzOCwgMTA5LCAxMCwgMTQsIDIzOCwgCi0gICAgMTA4LCAxMCwgMTQsIDIzOCwgMTA3LCAxMCwgMTQsIDIzOCwgMTA2LCAxMCwgMTQsIDIzOCwgMTA1LCAxMCwgMTQsIDIzOCwgCi0gICAgMTA0LCAxMCwgMTQsIDIzOCwgMTAzLCAxMCwgMTQsIDIzOCwgMTAyLCAxMCwgMTQsIDIzOCwgMTAxLCAxMCwgMTQsIDIzOCwgCi0gICAgMTAwLCAxMCwgMTQsIDIzOCwgOTksIDEwLCAxNCwgMjM4LCA5OCwgMTAsIDE0LCAyMzgsIDk3LCAxMCwgMTQsIDIzOCwgOTYsIAotICAgIDEwLCAxNCwgMjM4LCA5NSwgMTAsIDE0LCAyMzgsIDk0LCAxMCwgMTQsIDIzOCwgOTMsIDEwLCAxNCwgMjM4LCA5MiwgMTAsIAotICAgIDE0LCAyMzgsIDkxLCAxMCwgMTQsIDIzOCwgOTAsIDEwLCAxNCwgMjM4LCA4OSwgMTAsIDE0LCAyMzgsIDg4LCAxMCwgMTQsIAotICAgIDIzOCwgODcsIDEwLCAxNCwgMjM4LCA4NiwgMTAsIDE0LCAyMzgsIDg1LCAxMCwgMTQsIDIzOCwgODQsIDEwLCAxNCwgMjM4LCAKLSAgICA4MywgMTAsIDE0LCAyMzgsIDgyLCAxMCwgMTQsIDIzOCwgODEsIDEwLCAxNCwgMjM4LCA4MCwgMjMzLCA5NiwgMjE3LCA4NSwgCi0gICAgMTI5LCAyMTksIDIwLCAxMjksIDI0NSwgMzksIDc5LCAxMjksIDIyNCwgMSwgNzksIDEyOSwgNTQsIDUwLCAxMjksIDI0NywgCi0gICAgMTQwLCA1MCwgMTI5LCAyMjUsIDE4NSwgNTAsIDEyOSwgMjU0LCAxMzQsIDEyOSwgMjU0LCA2NSwgMTI5LCA0MywgMjI2LCA3LCAKLSAgICAxMjksIDQ0LCAyMjYsIDcsIDEyOSwgMjUzLCAyMjQsIDEyOSwgOTYsIDUwLCAxMjksIDI0OSwgMjI3LCAxMjksIDI0MCwgCi0gICAgMTc0LCAxMjksIDI0MywgMjM2LCAyMTgsIDEzMSwgMTI5LCAyMTksIDQ4LCAxMjksIDIxLCAyMTAsIDg2LCAxMjksIDIxLCAKLSAgICAxMTEsIDEyOSwgMjEsIDEwNSwgMTI5LCAyMSwgMTU4LCAxMjksIDIxLCAxNjEsIDEyOSwgMjEsIDE5MCwgMTI5LCAyMSwgCi0gICAgMTk1LCAxMjksIDIxLCAxOTksIDEyOSwgMjEsIDE5NiwgMTI5LCAyMSwgMjAxLCAxMjksIDI0OSwgMjM0LCAxMjksIDIyMCwgCi0gICAgMTUyLCAxMjksIDIzMywgMjEsIDUwLCAxMjksIDI0NSwgMTA2LCA1MCwgMTI5LCAyNDIsIDEzNywgNTAsIDEyOSwgMjI0LCAKLSAgICAxNiwgNzksIDEyOSwgMjQ5LCAyMjUsIDI1MywgMjE0LCAxMjksIDcsIDYsIDEsIDYxLCAxMjksIDcsIDYsIDEsIDI1MywgCi0gICAgMTY2LCAxMjksIDcsIDYsIDEsIDI1MSwgNzQsIDEyOSwgNywgNiwgMSwgMjQ5LCA2OCwgMTI5LCA3LCA2LCAxLCA3NiwgMTI5LCAKLSAgICA3LCA2LCAxLCAyNDUsIDE0LCAxMjksIDcsIDYsIDEsIDI0MywgMjA5LCAxMjksIDcsIDYsIDEsIDI0MiwgNjcsIDEyOSwgNywgCi0gICAgNiwgMSwgNzQsIDEyOSwgNywgNiwgMSwgMjM1LCAxNTAsIDEyOSwgNywgNiwgMSwgMjM1LCAyOSwgMTI5LCA3LCA2LCAxLCAKLSAgICAxNTYsIDEyOSwgNywgNiwgMSwgMTk0LCAxMjksIDcsIDYsIDEsIDIzMCwgMzAsIDEyOSwgNywgNiwgMSwgNzgsIDEyOSwgNywgCi0gICAgNiwgMSwgMjI2LCAxMDksIDEyOSwgNywgNiwgMSwgMjI0LCA5OSwgMTI5LCA3LCA2LCAxLCAxNTMsIDEyOSwgNywgNiwgMSwgCi0gICAgMjIyLCA5MywgMTI5LCA3LCA2LCAxLCAyMTcsIDE1MywgMTI5LCA3LCA2LCAxLCA2OSwgMTI5LCA3LCA2LCAxLCAyMTQsIAotICAgIDEwNSwgMTI5LCA3LCA2LCAxLCAyMTIsIDk4LCAxMjksIDcsIDYsIDEsIDIxMSwgMTc4LCAxMjksIDcsIDYsIDEsIDIxMSwgCi0gICAgMTE3LCAxMjksIDcsIDYsIDEsIDIxMCwgMTU5LCAxMjksIDQzLCA0MiwgMTI3LCAxMjksIDIyMywgNTMsIDIxOSwgNDgsIAotICAgIDEyOSwgNDQsIDQyLCAxMjcsIDEyOSwgMjUwLCAzOSwgMjU1LCAyMywgMTI5LCAxMjEsIDIzMiwgMjE5LCAxMjksIDI0MiwgCi0gICAgMTQ0LCAyNTUsIDIzLCAxMjksIDcsIDQsIDEsIDYxLCAxMjksIDcsIDQsIDEsIDI1MywgMTY2LCAxMjksIDcsIDQsIDEsIAotICAgIDI1MSwgNzQsIDEyOSwgNywgNCwgMSwgMjQ5LCA2OCwgMTI5LCA3LCA0LCAxLCA3NiwgMTI5LCA3LCA0LCAxLCAyNDUsIDE0LCAKLSAgICAxMjksIDcsIDQsIDEsIDI0MywgMjA5LCAxMjksIDcsIDQsIDEsIDI0MiwgNjcsIDEyOSwgNywgNCwgMSwgNzQsIDEyOSwgNywgCi0gICAgNCwgMSwgMjM1LCAxNTAsIDEyOSwgNywgNCwgMSwgMjM1LCAyOSwgMTI5LCA3LCA0LCAxLCAxNTYsIDEyOSwgNywgNCwgMSwgCi0gICAgMTk0LCAxMjksIDcsIDQsIDEsIDIzMCwgMzAsIDEyOSwgNywgNCwgMSwgNzgsIDEyOSwgNywgNCwgMSwgMjI2LCAxMDksIAotICAgIDEyOSwgNywgNCwgMSwgMjI0LCA5OSwgMTI5LCA3LCA0LCAxLCAxNTMsIDEyOSwgNywgNCwgMSwgMjIyLCA5MywgMTI5LCA3LCAKLSAgICA0LCAxLCAyMTcsIDE1MywgMTI5LCA3LCA0LCAxLCA2OSwgMTI5LCA3LCA0LCAxLCAyMTQsIDEwNSwgMTI5LCA3LCA0LCAxLCAKLSAgICAyMTIsIDk4LCAxMjksIDcsIDQsIDEsIDIxMSwgMTc4LCAxMjksIDcsIDQsIDEsIDIxMSwgMTE3LCAxMjksIDcsIDQsIDEsIAotICAgIDIxMCwgMTU5LCAxMjksIDQzLCAyNDksIDEwNywgMTI3LCAxMjksIDY3LCAyMzIsIDIxOSwgMTI5LCA0NCwgMjQ5LCAxMDcsIAotICAgIDEyNywgMTI5LCAxODQsIDI1MSwgMTQsIDIxNywgODUsIDQ1LCAyMjEsIDgwLCA0NSwgMjIxLCA2OSwgNDUsIDIyMSwgNTgsIAotICAgIDQ1LCAyMjEsIDQ2LCA0NSwgMjIxLCAzNSwgNDUsIDIyMSwgMjQsIDQ1LCAyMjEsIDEzLCA0NSwgMjIxLCAyLCA0NSwgMjIwLCAKLSAgICAyNDcsIDQ1LCAyMjAsIDIzOSwgNDUsIDIyMCwgMjM4LCA0NSwgMjIwLCAyMzcsIDQ1LCAyMjAsIDIzNiwgNDUsIDIyMCwgCi0gICAgMjM0LCA0NSwgMjIwLCAyMzMsIDQ1LCAyMjAsIDIzMiwgNDUsIDIyMCwgMjMxLCA0NSwgMjIwLCAyMzAsIDQ1LCAyMjAsIAotICAgIDIyOSwgNDUsIDIyMCwgMjI4LCA0NSwgMjIwLCAyMjcsIDQ1LCAyMjAsIDIyNiwgNDUsIDIyMCwgMjI1LCA0NSwgMjIwLCAKLSAgICAyMjMsIDQ1LCAyMjAsIDIyMiwgNDUsIDIyMCwgMjIxLCA0NSwgMjIwLCAyMjAsIDQ1LCAyMjAsIDIxOSwgNDUsIDIyMCwgCi0gICAgMjE4LCA0NSwgMjIwLCAyMTcsIDQ1LCAyMjAsIDIxNiwgNDUsIDIyMCwgMjE1LCA0NSwgMjIwLCAyMTQsIDQ1LCAyMjAsIAotICAgIDIxMiwgNDUsIDIyMCwgMjExLCA0NSwgMjIwLCAyMTAsIDQ1LCAyMjAsIDIwOSwgNDUsIDIyMCwgMjA4LCA0NSwgMjIwLCAKLSAgICAyMDcsIDQ1LCAyMjAsIDIwNiwgNDUsIDIyMCwgMjA1LCA0NSwgMjIwLCAyMDQsIDQ1LCAyMjAsIDIwMywgNDUsIDIyMCwgCi0gICAgMjAxLCA0NSwgMjIwLCAyMDAsIDQ1LCAyMjAsIDE5OSwgNDUsIDIyMCwgMTk4LCA0NSwgMjIwLCAxOTcsIDQ1LCAyMjAsIAotICAgIDE5NiwgNDUsIDIyMCwgMTk1LCA0NSwgMjIwLCAxOTQsIDQ1LCAyMjAsIDE5MywgNDUsIDIyMCwgMTkyLCA0NSwgMjIwLCAKLSAgICAxOTAsIDQ1LCAyMjAsIDE4OSwgNDUsIDIyMCwgMTg4LCA0NSwgMjIwLCAxODcsIDQ1LCAyMjAsIDE4NiwgNDUsIDIyMCwgCi0gICAgMTg1LCA0NSwgMjIwLCAxODQsIDQ1LCAyMjAsIDE4MywgNDUsIDIyMCwgMTgyLCA0NSwgMjIwLCAxODEsIDQ1LCAyMjAsIAotICAgIDE3OSwgNDUsIDIyMCwgMTc4LCA0NSwgMjIwLCAxNzcsIDQ1LCAyMjAsIDE3NiwgNDUsIDIyMCwgMTc1LCA0NSwgMjIwLCAKLSAgICAxNzQsIDQ1LCAyMjAsIDE3MywgNDUsIDIyMCwgMTcyLCA0NSwgMjIwLCAxNzEsIDQ1LCAyMjAsIDE3MCwgNDUsIDIyMCwgCi0gICAgMTY4LCA0NSwgMjIwLCAxNjcsIDQ1LCAyMjAsIDE2NiwgNDUsIDIyMCwgMTY1LCA0NSwgMjIwLCAxNjQsIDQ1LCAyMjAsIAotICAgIDE2MywgNDUsIDIyMCwgMTYyLCA0NSwgMjIwLCAxNjEsIDQ1LCAyMjAsIDE2MCwgNDUsIDIyMCwgMTU5LCA0NSwgMjIxLCAKLSAgICAxNTYsIDQ1LCAyMjEsIDE1NSwgNDUsIDIyMSwgMTU0LCA0NSwgMjIxLCAxNTMsIDQ1LCAyMjEsIDE1MiwgNDUsIDIyMSwgCi0gICAgMTUxLCA0NSwgMjIxLCAxNTAsIDQ1LCAyMjEsIDE0OSwgNDUsIDIyMSwgMTQ4LCA0NSwgMjIxLCAxNDcsIDQ1LCAyMjEsIAotICAgIDE0NSwgNDUsIDIyMSwgMTQ0LCA0NSwgMjIxLCAxNDMsIDQ1LCAyMjEsIDE0MiwgNDUsIDIyMSwgMTQxLCA0NSwgMjIxLCAKLSAgICAxNDAsIDQ1LCAyMjEsIDEzOSwgNDUsIDIyMSwgMTM4LCA0NSwgMjIxLCAxMzcsIDQ1LCAyMjEsIDEzNiwgNDUsIDIyMSwgCi0gICAgMTM0LCA0NSwgMjIxLCAxMzMsIDQ1LCAyMjEsIDEzMiwgNDUsIDIyMSwgMTMxLCA0NSwgMjIxLCAxMzAsIDQ1LCAyMjEsIAotICAgIDEyOSwgNDUsIDIyMSwgMTI4LCA0NSwgMjIxLCAxMjcsIDQ1LCAyMjEsIDEyNiwgNDUsIDIyMSwgMTI1LCA0NSwgMjIxLCAKLSAgICAxMjMsIDQ1LCAyMjEsIDEyMiwgNDUsIDIyMSwgMTIxLCA0NSwgMjIxLCAxMjAsIDQ1LCAyMjEsIDExOSwgNDUsIDIyMSwgCi0gICAgMTE4LCA0NSwgMjIxLCAxMTcsIDQ1LCAyMjEsIDExNiwgNDUsIDIyMSwgMTE1LCA0NSwgMjIxLCAxMTQsIDQ1LCAyMjEsIAotICAgIDExMiwgNDUsIDIyMSwgMTExLCA0NSwgMjIxLCAxMTAsIDQ1LCAyMjEsIDEwOSwgNDUsIDIyMSwgMTA4LCA0NSwgMjIxLCAKLSAgICAxMDcsIDQ1LCAyMjEsIDEwNiwgNDUsIDIyMSwgMTA1LCA0NSwgMjIxLCAxMDQsIDQ1LCAyMjEsIDEwMywgNDUsIDIyMSwgCi0gICAgMTAxLCA0NSwgMjIxLCAxMDAsIDQ1LCAyMjEsIDk5LCA0NSwgMjIxLCA5OCwgNDUsIDIyMSwgOTcsIDQ1LCAyMjEsIDk2LCAKLSAgICA0NSwgMjIxLCA5NSwgNDUsIDIyMSwgOTQsIDQ1LCAyMjEsIDkzLCA0NSwgMjIxLCA5MiwgNDUsIDIyMSwgOTAsIDQ1LCAyMjEsIAotICAgIDg5LCA0NSwgMjIxLCA4OCwgNDUsIDIyMSwgODcsIDQ1LCAyMjEsIDg2LCA0NSwgMjIxLCA4NSwgNDUsIDIyMSwgODQsIDQ1LCAKLSAgICAyMjEsIDgzLCA0NSwgMjIxLCA4MiwgNDUsIDIyMSwgODEsIDQ1LCAyMjEsIDc5LCA0NSwgMjIxLCA3OCwgNDUsIDIyMSwgNzcsIAotICAgIDQ1LCAyMjEsIDc2LCA0NSwgMjIxLCA3NSwgNDUsIDIyMSwgNzQsIDQ1LCAyMjEsIDczLCA0NSwgMjIxLCA3MiwgNDUsIDIyMSwgCi0gICAgNzEsIDQ1LCAyMjEsIDcwLCA0NSwgMjIxLCA2OCwgNDUsIDIyMSwgNjcsIDQ1LCAyMjEsIDY2LCA0NSwgMjIxLCA2NSwgNDUsIAotICAgIDIyMSwgNjQsIDQ1LCAyMjEsIDYzLCA0NSwgMjIxLCA2MiwgNDUsIDIyMSwgNjEsIDQ1LCAyMjEsIDYwLCA0NSwgMjIxLCA1OSwgCi0gICAgNDUsIDIyMSwgNTcsIDQ1LCAyMjEsIDU2LCA0NSwgMjIxLCA1NSwgNDUsIDIyMSwgNTQsIDQ1LCAyMjEsIDUzLCA0NSwgMjIxLCAKLSAgICA1MiwgNDUsIDIyMSwgNTEsIDQ1LCAyMjEsIDUwLCA0NSwgMjIxLCA0OSwgNDUsIDIyMSwgNDgsIDQ1LCAyMjEsIDQ1LCA0NSwgCi0gICAgMjIxLCA0NCwgNDUsIDIyMSwgNDMsIDQ1LCAyMjEsIDQyLCA0NSwgMjIxLCA0MSwgNDUsIDIyMSwgNDAsIDQ1LCAyMjEsIDM5LCAKLSAgICA0NSwgMjIxLCAzOCwgNDUsIDIyMSwgMzcsIDQ1LCAyMjEsIDM2LCA0NSwgMjIxLCAzNCwgNDUsIDIyMSwgMzMsIDQ1LCAyMjEsIAotICAgIDMyLCA0NSwgMjIxLCAzMSwgNDUsIDIyMSwgMzAsIDQ1LCAyMjEsIDI5LCA0NSwgMjIxLCAyOCwgNDUsIDIyMSwgMjcsIDQ1LCAKLSAgICAyMjEsIDI2LCA0NSwgMjIxLCAyNSwgNDUsIDIyMSwgMjMsIDQ1LCAyMjEsIDIyLCA0NSwgMjIxLCAyMSwgNDUsIDIyMSwgMjAsIAotICAgIDQ1LCAyMjEsIDE5LCA0NSwgMjIxLCAxOCwgNDUsIDIyMSwgMTcsIDQ1LCAyMjEsIDE2LCA0NSwgMjIxLCAxNSwgNDUsIDIyMSwgCi0gICAgMTQsIDQ1LCAyMjEsIDEyLCA0NSwgMjIxLCAxMSwgNDUsIDIyMSwgMTAsIDQ1LCAyMjEsIDksIDQ1LCAyMjEsIDgsIDQ1LCAKLSAgICAyMjEsIDcsIDQ1LCAyMjEsIDYsIDQ1LCAyMjEsIDUsIDQ1LCAyMjEsIDQsIDQ1LCAyMjEsIDMsIDQ1LCAyMjEsIDEsIDQ1LCAKLSAgICAyMjEsIDAsIDQ1LCAyMjAsIDI1NSwgNDUsIDIyMCwgMjU0LCA0NSwgMjIwLCAyNTMsIDQ1LCAyMjAsIDI1MiwgNDUsIDIyMCwgCi0gICAgMjUxLCA0NSwgMjIwLCAyNTAsIDQ1LCAyMjAsIDI0OSwgNDUsIDIyMCwgMjQ4LCA0NSwgMjIwLCAyNDYsIDQ1LCAyMjAsIAotICAgIDI0NSwgNDUsIDIyMCwgMjQ0LCA0NSwgMjIwLCAyNDMsIDQ1LCAyMjAsIDI0MiwgNDUsIDIyMCwgMjQxLCA0NSwgMjIwLCAKLSAgICAyNDAsIDIyNywgMjA2LCAyMjcsIDIwOCwgMjE4LCAxNTQsIDY0LCAyNDEsIDI0MCwgMjE5LCA1MCwgMjE4LCAxNTQsIDY0LCAKLSAgICAyMTYsIDIxMywgMjE4LCA4NiwgMjQ1LCAxNTEsIDY0LCAyMTYsIDIxMywgMjQ1LCA2NCwgMjQ1LCAxNTEsIDY0LCAyMTUsIAotICAgIDI0NCwgMjQ1LCAxMTcsIDI0NSwgMTQwLCAyNDUsIDE0MSwgMjU1LCAxNiwgMjU1LCAxNywgMjU0LCAxNzYsIDI1MiwgNTUsIAotICAgIDI1MiwgMTg3LCAyNTEsIDEzOSwgMTM1LCAyMTcsIDkwLCAyMDMsIDIxNywgOTAsIDI0MCwgMjM0LCAyMTcsIDk0LCAyMzIsIAotICAgIDIyMCwgMjQ0LCAxNTMsIDE2NiwgMjMyLCAyMTksIDI0NSwgMTUxLCA2NCwgMjMyLCAyMTksIDIzMywgNiwgMjI4LCAxNDAsIAotICAgIDI0NSwgMTIwLCAyMzIsIDIyMCwgMjE3LCA5MCwgNjcsIDIxNywgOTAsIDIxMiwgMTE4LCAyNDQsIDI4LCAyNDQsIDE1MywgCi0gICAgMjQ0LCAxMzMsIDI1MCwgMjM4LCAyMjMsIDU2LCAyNDksIDE1MSwgMjIwLCAzMCwgMjI2LCAxMzQsIDIzMiwgMTU2LCAxMTEsIAotICAgIDIxOSwgNjAsIDIyMCwgMzAsIDIzNiwgNiwgMjMyLCAxNTYsIDIxMCwgODYsIDIxOSwgMTkzLCAyNDgsIDE1OSwgMjMyLCAKLSAgICAyMTAsIDI0NSwgODUsIDI0NywgMTYzLCAyNDgsIDM5LCAyNDksIDE4NiwgMTExLCAyNDgsIDE0OSwgMjQ4LCAzOSwgMjQ5LCAKLSAgICAxODYsIDEwNSwgMjQ4LCAxNDgsIDI0OCwgMzksIDI0OSwgMTg2LCAxNTgsIDI0OCwgMTQ3LCAyNDgsIDM5LCAyNDksIDE4NiwgCi0gICAgMTYxLCAyNDgsIDE0NiwgMTUyLCAyNTUsIDE2LCAyMjksIDIxNCwgMjE3LCAxNzgsIDIzNiwgNjksIDIxNywgMTgxLCAyNDUsIAotICAgIDE1MSwgNjQsIDIxNSwgMjQ1LCAyNTEsIDIyMSwgMjQ1LCA3MCwgMjUxLCAxMywgMjUxLCAxNSwgMjQ1LCAxNTEsIDY0LCAKLSAgICAyMzEsIDg2LCAyNDUsIDExOCwgMjE4LCA2MiwgMjE4LCA3OSwgMjQ1LCA4NSwgMjQ1LCA4NiwgMjM1LCAyMzksIDIyMCwgCi0gICAgMTQwLCAxNjEsIDI0NCwgMTE1LCAyMjAsIDEzOSwgMjQzLCAyNDUsIDIzNSwgMjM5LCAyMjAsIDE0MCwgMTU4LCAyNDIsIAotICAgIDEyOCwgMjIwLCAxMzksIDI0MiwgMTI1LCAyMzUsIDIzOSwgMjIwLCAxNDAsIDEwNSwgMjIzLCAxMjQsIDIyMCwgMTM5LCAKLSAgICAyMjIsIDE0NywgMjM1LCAyMzksIDIyMCwgMTQwLCAxMTEsIDIxNCwgMTc0LCAyMjAsIDEzOSwgMjE0LCAxMzMsIDIxOSwgMjMsIAotICAgIDI0OCwgNzEsIDI0OCwgNzMsIDIyNiwgODIsIDI1MCwgMTUwLCAyMjYsIDg0LCAxMjUsIDIyNiwgMjQ0LCAyMjQsIDE5NiwgCi0gICAgMjQxLCA1NCwgMjUxLCAxNTgsIDIyNSwgMTc2LCAyNDEsIDIxMCwgMjUxLCAxNjksIDIyOCwgODAsIDI1MSwgMTU4LCAyNDEsIAotICAgIDIxMCwgMjI5LCAxODAsIDIzNSwgMjQ5LCAyMzUsIDI1MSwgMjI5LCA4NywgMjMyLCAyMTksIDIyOSwgMTA0LCAyMTgsIDE1NCwgCi0gICAgNjQsIDIyMSwgMTYwLCAyNTQsIDI2LCAyMTgsIDIyNSwgMjQ1LCAxNTEsIDY0LCAyMjEsIDE2MCwgMjU0LCAyNiwgMjQ1LCAKLSAgICA4OCwgMTM1LCAyMTcsIDkxLCAyMjAsIDEyOSwgMjAzLCAyMTcsIDkxLCAyMjAsIDEyOSwgMjQwLCAyMzEsIDEzNSwgMjE3LCAKLSAgICA5MSwgMiwgMjM1LCA0MSwgMjAzLCAyMTcsIDkxLCAyLCAyMzUsIDQxLCAyNDAsIDIzMiwgMjMyLCAyMjAsIDIxNywgOTEsIAotICAgIDIyMCwgMTI5LCA2NywgMjE3LCA5MSwgMjIwLCAxMjksIDIxMiwgMTE3LCAyMjYsIDEsIDIzMiwgMjIwLCAyNDQsIDIyLCAKLSAgICAyMjYsIDEsIDIzMiwgMjIwLCAyNDYsIDExNCwgMjI1LCAzNSwgMjI2LCAxLCAyMzIsIDIyMCwgMjUyLCAxODYsIDIyNiwgMSwgCi0gICAgMjMyLCAyMjAsIDIxNCwgMTYzLCAyMjUsIDMxLCAyMjMsIDUzLCAyMzIsIDIyMCwgMjQ0LCAxNTMsIDIyMywgNTMsIDIzNSwgCi0gICAgMjQ5LCAyMjMsIDM4LCAyMTksIDE1NywgMjIwLCAzMCwgMTA1LCAyMTksIDE1NCwgMjE4LCAyMjcsIDIxOSwgMTU3LCAyMjAsIAotICAgIDMwLCAxNTgsIDIxOSwgMTUzLCAyMTgsIDIyNiwgMjQ4LCAzOSwgMjQ5LCAxODYsIDIxOCwgMTA3LCAyNDgsIDE0NSwgMjI0LCAKLSAgICAxODYsIDIxNCwgMTMyLCAxMTEsIDIyNCwgMTg2LCAyMTQsIDEzMCwgMjI0LCAxNTIsIDIyNCwgMTg2LCAyMTQsIDEzMiwgCi0gICAgMTA1LCAyMjQsIDE4NiwgMjE0LCAxMjksIDIyNCwgMTUxLCAyMjAsIDEzMCwgMjE1LCAyNDMsIDIxOCwgMTUzLCAyMTgsIDkwLCAKLSAgICAyNTEsIDE0LCAyNTAsIDE1MCwgMjUwLCAyMTcsIDIzMSwgNDgsIDIxMiwgNTksIDIzMCwgNDgsIDIxOCwgMTU0LCA2NCwgCi0gICAgMjQyLCAxMTQsIDI1NCwgMjYsIDIxOCwgMTU0LCA2NCwgMjI0LCAxNjksIDI1NCwgMjYsIDIxOSwgMjIsIDI0NSwgMTUxLCAKLSAgICA2NCwgMjQyLCAxMTQsIDI1NCwgMjYsIDI0NSwgMTUxLCA2NCwgMjI0LCAxNjksIDI1NCwgMjYsIDI0NSwgMTE1LCAyMTgsIAotICAgIDE1NCwgNjQsIDIxOCwgMTA3LCAyMTksIDM3LCAyMTksIDE1NywgMjQyLCAxNDgsIDEzNSwgMjM1LCAyMDIsIDIyMCwgMTA5LCAKLSAgICAyMTksIDE1NywgMTM1LCAyMzUsIDIwMiwgMjIxLCAxOTYsIDI0OSwgMTg2LCAyMjAsIDEzNywgMjM1LCAyMDIsIDI0OSwgCi0gICAgMTIxLCAyMTgsIDEwOCwgMjE2LCAyMzcsIDIxOCwgMTcwLCAyMjYsIDE3MywgMjE3LCAxNjgsIDI0OSwgMjI2LCAyMjYsIAotICAgIDE0NiwgMjI0LCAxODcsIDIzMSwgNDcsIDIyNSwgMjIsIDI1NCwgNjEsIDIyNCwgMTgxLCAyNDksIDIyNiwgMjU0LCA3NywgCi0gICAgMjI5LCAxNjgsIDIxOSwgMjAyLCA3LCA2LCAxLCAyNDMsIDAsIDcsIDQsIDEsIDI0MywgMCwgMjUwLCAxNjcsIDI1NCwgMTU3LCAKLSAgICAxODMsIDIxOCwgNjgsIDI0OSwgMjM1LCAyMTksIDEwOCwgMjMzLCA1MiwgMTY1LCAxLCAyMzIsIDE4MSwgMjA5LCAyMDksIDEsIAotICAgIDI0NCwgNTIsIDI0NCwgNDQsIDIwOSwgMjA5LCAxLCAyNDQsIDUyLCAyNDQsIDE2NSwgMjA5LCAyMDksIDEsIDIyMiwgMjEzLCAKLSAgICAyMDksIDIwOSwgMSwgMjMyLCAxNjIsIDYzLCAxNjQsIDI1MSwgMjMxLCAyMjAsIDUsIDI0MiwgMjIyLCAyMzAsIDI1MywgCi0gICAgMjIzLCA0NCwgMjQzLCAyMjMsIDI0MywgMjIyLCAyNDMsIDIyMSwgMjMwLCA1MCwgMjA5LCAyNTEsIDIwOSwgMjUyLCAyMDksIAotICAgIDI1NCwgMjMyLCAxMDcsIDIyMiwgMjIxLCAyMzIsIDEwOSwgMjIyLCAyMjMsIDIyNSwgMjI3LCAyMzIsIDEwNiwgMjIyLCAKLSAgICAyMjAsIDIyOCwgMTExLCAyMzAsIDE3MCwgMjExLCAyMjksIDIzMiwgMTA4LCAyMjIsIDIyMiwgMjQzLCAyNDQsIDIyNSwgCi0gICAgMjI2LCAyMTIsIDE1LCAyNDUsIDE3MCwgMjQzLCAyMzMsIDIzMCwgMjM0LCAyMjYsIDIwMSwgMjE0LCAxMzQsIDg3LCAyMzAsIAotICAgIDIzNCwgMjQ4LCAxNjUsIDg3LCA4LCAzLCAyMzUsIDE2NCwgNzksIDIyNCwgMTk3LCAyNDQsIDI4LCAzMSwgNjcsIDQ0LCA3MSwgCi0gICAgMjMzLCAyNiwgMTI3LCAyMTMsIDExOCwgMjEzLCA3LCAyMTIsIDE5NSwgMjEyLCAxODQsIDIxMiwgMTczLCAyMTIsIDE2MiwgCi0gICAgMjEyLCAxNTEsIDIxMiwgMTQwLCAyMTIsIDEyOSwgMjEzLCAxMTcsIDIxMywgMTA2LCAyMTMsIDk1LCAyMTMsIDg0LCAyMTMsIAotICAgIDczLCAyMTMsIDYyLCAyMTMsIDUxLCAyNTEsIDc5LCAyMjYsIDE1OSwgNzksIDI1MSwgMjA0LCAyMDksIDI1MywgMTUsIDUsIAotICAgIDIyNywgMjE1LCAyMTYsIDI0MCwgMTUsIDUsIDIyNywgMjE1LCAxMTUsIDIyNywgMjE1LCAyNTEsIDEwNywgMTE1LCAyNTEsIAotICAgIDEwNiwgNDksIDI4LCAxNiwgMjQzLCAyNDMsIDIxOSwgMTA0LCAyNTAsIDgxLCAyMTQsIDksIDIxMywgNDAsIDIxMywgMjksIAotICAgIDIxMywgMTgsIDIxMywgNiwgMjEyLCAyNTEsIDIxMiwgMjQwLCAyMTIsIDIyOSwgMjEyLCAyMTgsIDIxMiwgMjA3LCAyMTIsIAotICAgIDE5OSwgMjEyLCAxOTgsIDIxMiwgMTk3LCAyMTIsIDE5NiwgMjEyLCAxOTQsIDIxMiwgMTkzLCAyMTIsIDE5MiwgMjEyLCAKLSAgICAxOTEsIDIxMiwgMTkwLCAyMTIsIDE4OSwgMjEyLCAxODgsIDIxMiwgMTg3LCAyMTIsIDE4NiwgMjEyLCAxODUsIDIxMiwgCi0gICAgMTgzLCAyMTIsIDE4MiwgMjEyLCAxODEsIDIxMiwgMTgwLCAyMTIsIDE3OSwgMjEyLCAxNzgsIDIxMiwgMTc3LCAyMTIsIAotICAgIDE3NiwgMjEyLCAxNzUsIDIxMiwgMTc0LCAyMTIsIDE3MiwgMjEyLCAxNzEsIDIxMiwgMTcwLCAyMTIsIDE2OSwgMjEyLCAKLSAgICAxNjgsIDIxMiwgMTY3LCAyMTIsIDE2NiwgMjEyLCAxNjUsIDIxMiwgMTY0LCAyMTIsIDE2MywgMjEyLCAxNjEsIDIxMiwgCi0gICAgMTYwLCAyMTIsIDE1OSwgMjEyLCAxNTgsIDIxMiwgMTU3LCAyMTIsIDE1NiwgMjEyLCAxNTUsIDIxMiwgMTU0LCAyMTIsIAotICAgIDE1MywgMjEyLCAxNTIsIDIxMiwgMTUwLCAyMTIsIDE0OSwgMjEyLCAxNDgsIDIxMiwgMTQ3LCAyMTIsIDE0NiwgMjEyLCAKLSAgICAxNDUsIDIxMiwgMTQ0LCAyMTIsIDE0MywgMjEyLCAxNDIsIDIxMiwgMTQxLCAyMTIsIDEzOSwgMjEyLCAxMzgsIDIxMiwgCi0gICAgMTM3LCAyMTIsIDEzNiwgMjEyLCAxMzUsIDIxMiwgMTM0LCAyMTIsIDEzMywgMjEyLCAxMzIsIDIxMiwgMTMxLCAyMTIsIAotICAgIDEzMCwgMjEyLCAxMjgsIDIxMiwgMTI3LCAyMTIsIDEyNiwgMjEyLCAxMjUsIDIxMiwgMTI0LCAyMTIsIDEyMywgMjEyLCAKLSAgICAxMjIsIDIxMiwgMTIxLCAyMTIsIDEyMCwgMjEyLCAxMTksIDIxMywgMTE2LCAyMTMsIDExNSwgMjEzLCAxMTQsIDIxMywgCi0gICAgMTEzLCAyMTMsIDExMiwgMjEzLCAxMTEsIDIxMywgMTEwLCAyMTMsIDEwOSwgMjEzLCAxMDgsIDIxMywgMTA3LCAyMTMsIAotICAgIDEwNSwgMjEzLCAxMDQsIDIxMywgMTAzLCAyMTMsIDEwMiwgMjEzLCAxMDEsIDIxMywgMTAwLCAyMTMsIDk5LCAyMTMsIDk4LCAKLSAgICAyMTMsIDk3LCAyMTMsIDk2LCAyMTMsIDk0LCAyMTMsIDkzLCAyMTMsIDkyLCAyMTMsIDkxLCAyMTMsIDkwLCAyMTMsIDg5LCAKLSAgICAyMTMsIDg4LCAyMTMsIDg3LCAyMTMsIDg2LCAyMTMsIDg1LCAyMTMsIDgzLCAyMTMsIDgyLCAyMTMsIDgxLCAyMTMsIDgwLCAKLSAgICAyMTMsIDc5LCAyMTMsIDc4LCAyMTMsIDc3LCAyMTMsIDc2LCAyMTMsIDc1LCAyMTMsIDc0LCAyMTMsIDcyLCAyMTMsIDcxLCAKLSAgICAyMTMsIDcwLCAyMTMsIDY5LCAyMTMsIDY4LCAyMTMsIDY3LCAyMTMsIDY2LCAyMTMsIDY1LCAyMTMsIDY0LCAyMTMsIDYzLCAKLSAgICAyMTMsIDYxLCAyMTMsIDYwLCAyMTMsIDU5LCAyMTMsIDU4LCAyMTMsIDU3LCAyMTMsIDU2LCAyMTMsIDU1LCAyMTMsIDU0LCAKLSAgICAyMTMsIDUzLCAyMTMsIDUyLCAyMTMsIDUwLCAyMTMsIDQ5LCAyMTMsIDQ4LCAyMTMsIDQ3LCAyMTMsIDQ2LCAyMTMsIDQ1LCAKLSAgICAyMTMsIDQ0LCAyMTMsIDQzLCAyMTMsIDQyLCAyMTMsIDQxLCAyMTMsIDM5LCAyMTMsIDM4LCAyMTMsIDM3LCAyMTMsIDM2LCAKLSAgICAyMTMsIDM1LCAyMTMsIDM0LCAyMTMsIDMzLCAyMTMsIDMyLCAyMTMsIDMxLCAyMTMsIDMwLCAyMTMsIDI4LCAyMTMsIDI3LCAKLSAgICAyMTMsIDI2LCAyMTMsIDI1LCAyMTMsIDI0LCAyMTMsIDIzLCAyMTMsIDIyLCAyMTMsIDIxLCAyMTMsIDIwLCAyMTMsIDE5LCAKLSAgICAyMTMsIDE3LCAyMTMsIDE2LCAyMTMsIDE1LCAyMTMsIDE0LCAyMTMsIDEzLCAyMTMsIDEyLCAyMTMsIDExLCAyMTMsIDEwLCAKLSAgICAyMTMsIDksIDIxMywgOCwgMjEzLCA1LCAyMTMsIDQsIDIxMywgMywgMjEzLCAyLCAyMTMsIDEsIDIxMywgMCwgMjEyLCAyNTUsIAotICAgIDIxMiwgMjU0LCAyMTIsIDI1MywgMjEyLCAyNTIsIDIxMiwgMjUwLCAyMTIsIDI0OSwgMjEyLCAyNDgsIDIxMiwgMjQ3LCAKLSAgICAyMTIsIDI0NiwgMjEyLCAyNDUsIDIxMiwgMjQ0LCAyMTIsIDI0MywgMjEyLCAyNDIsIDIxMiwgMjQxLCAyMTIsIDIzOSwgCi0gICAgMjEyLCAyMzgsIDIxMiwgMjM3LCAyMTIsIDIzNiwgMjEyLCAyMzUsIDIxMiwgMjM0LCAyMTIsIDIzMywgMjEyLCAyMzIsIAotICAgIDIxMiwgMjMxLCAyMTIsIDIzMCwgMjEyLCAyMjgsIDIxMiwgMjI3LCAyMTIsIDIyNiwgMjEyLCAyMjUsIDIxMiwgMjI0LCAKLSAgICAyMTIsIDIyMywgMjEyLCAyMjIsIDIxMiwgMjIxLCAyMTIsIDIyMCwgMjEyLCAyMTksIDIxMiwgMjE3LCAyMTIsIDIxNiwgCi0gICAgMjEyLCAyMTUsIDIxMiwgMjE0LCAyMTIsIDIxMywgMjEyLCAyMTIsIDIxMiwgMjExLCAyMTIsIDIxMCwgMjEyLCAyMDksIAotICAgIDIxMiwgMjA4LCAyMTIsIDIwNiwgMjEyLCAyMDUsIDIxMiwgMjA0LCAyMTIsIDIwMywgMjEyLCAyMDIsIDIxMiwgMjAxLCAKLSAgICAyMTIsIDIwMCwgNywgNiwgMSwgMTE2LCAyLCAyMzEsIDIzOCwgMjIsIDI0MiwgMTQzLCA3LCA0LCAxLCAxMTYsIDIsIDIzMSwgCi0gICAgMjM4LCAyMiwgMjQyLCAxNDMsIDcsIDYsIDEsIDE2MCwgMiwgNjcsIDIzMiwgMjIwLCA1MSwgNywgNCwgMSwgMTYwLCAyLCAKLSAgICA2NywgMjMyLCAyMjAsIDUxLCA3LCA2LCAxLCAxNjAsIDIsIDY3LCAyMzIsIDIyMCwgMjUyLCA1MSwgMjIsIDI0MiwgMTQzLCAKLSAgICA3LCA0LCAxLCAxNjAsIDIsIDY3LCAyMzIsIDIyMCwgMjUyLCA1MSwgMjIsIDI0MiwgMTQzLCA3LCA2LCAxLCAxNjAsIDIsIAotICAgIDY3LCAyMzIsIDIyMCwgMjUyLCA1MSwgMjIsIDE0MiwgNywgNCwgMSwgMTYwLCAyLCA2NywgMjMyLCAyMjAsIDI1MiwgNTEsIAotICAgIDIyLCAxNDIsIDcsIDYsIDEsIDE2MCwgMiwgMjUwLCAzOSwgMjIsIDIzMSwgMjM3LCA3LCA0LCAxLCAxNjAsIDIsIDI1MCwgCi0gICAgMzksIDIyLCAyMzEsIDIzNywgNywgNiwgMSwgMTYwLCAyLCAyNTAsIDM5LCAyMiwgMjUwLCAyNDIsIDcsIDQsIDEsIDE2MCwgCi0gICAgMiwgMjUwLCAzOSwgMjIsIDI1MCwgMjQyLCA3LCA2LCAxLCAyNDAsIDE2MSwgMiwgMjMxLCAyMzgsIDIyLCAyNDIsIDE0MywgCi0gICAgNywgNCwgMSwgMjQwLCAxNjEsIDIsIDIzMSwgMjM4LCAyMiwgMjQyLCAxNDMsIDcsIDQsIDEsIDI0MCwgMTYxLCAyLCA1OSwgCi0gICAgNzIsIDIyLCAxNDIsIDcsIDQsIDEsIDIyOSwgODUsIDIsIDIxNiwgOTAsIDQ4LCA3LCA2LCAxLCAxNDQsIDIsIDY3LCAyMzIsIAotICAgIDIyMCwgNTEsIDcsIDQsIDEsIDE0NCwgMiwgNjcsIDIzMiwgMjIwLCA1MSwgNywgNiwgMSwgMTQ0LCAyLCA2NywgMjMyLCAKLSAgICAyMjAsIDI1MiwgNTEsIDIyLCAyNDIsIDE0MywgNywgNCwgMSwgMTQ0LCAyLCA2NywgMjMyLCAyMjAsIDI1MiwgNTEsIDIyLCAKLSAgICAyNDIsIDE0MywgNywgNiwgMSwgMTQ0LCAyLCA2NywgMjMyLCAyMjAsIDI1MiwgNTEsIDIyLCAxNDIsIDcsIDQsIDEsIDE0NCwgCi0gICAgMiwgNjcsIDIzMiwgMjIwLCAyNTIsIDUxLCAyMiwgMTQyLCA3LCA2LCAxLCAyMjIsIDk0LCAyLCA2NywgMjMyLCAyMjAsIDUxLCAKLSAgICA3LCA0LCAxLCAyMjIsIDk0LCAyLCA2NywgMjMyLCAyMjAsIDUxLCA3LCA2LCAxLCAxMDQsIDIsIDIzMSwgMjM4LCAyMiwgCi0gICAgMjQyLCAxNDMsIDcsIDQsIDEsIDEwNCwgMiwgMjMxLCAyMzgsIDIyLCAyNDIsIDE0MywgNywgNiwgMSwgMTE2LCAyLCAyMjYsIAotICAgIDIyOSwgMjIsIDE0MiwgNywgNCwgMSwgMTE2LCAyLCAyMjYsIDIyOSwgMjIsIDE0MiwgNywgNiwgMSwgMTE2LCAyLCAyMjYsIAotICAgIDIyOSwgMjIsIDE4NCwgNywgNCwgMSwgMTE2LCAyLCAyMjYsIDIyOSwgMjIsIDE4NCwgNywgNiwgMSwgMTYwLCAyLCAyMjYsIAotICAgIDIyOSwgMjIsIDE0MiwgNywgNCwgMSwgMTYwLCAyLCAyMjYsIDIyOSwgMjIsIDE0MiwgNywgNiwgMSwgMTYwLCAyLCAyMjYsIAotICAgIDIyOSwgMjIsIDE4NCwgNywgNCwgMSwgMTYwLCAyLCAyMjYsIDIyOSwgMjIsIDE4NCwgNywgNiwgMSwgMTYwLCAyLCA1OSwgCi0gICAgNzIsIDIyLCAxNDIsIDcsIDQsIDEsIDE2MCwgMiwgNTksIDcyLCAyMiwgMTQyLCA3LCA2LCAxLCAxNjAsIDIsIDU5LCA3MiwgCi0gICAgMjIsIDE4NCwgNywgNCwgMSwgMTYwLCAyLCA1OSwgNzIsIDIyLCAxODQsIDcsIDQsIDEsIDI0MCwgMTYxLCAyLCA1OSwgNzIsIAotICAgIDIyLCAyNDIsIDE0MywgNywgNCwgMSwgMjQwLCAxNjEsIDIsIDU5LCA3MiwgMjIsIDE4NCwgNywgNiwgMSwgMjQwLCAxNjEsIAotICAgIDIsIDIyNiwgMjI5LCAyMiwgMTQyLCA3LCA0LCAxLCAyNDAsIDE2MSwgMiwgMjI2LCAyMjksIDIyLCA1OSwgNzIsIDIyLCAKLSAgICAxNDIsIDcsIDYsIDEsIDI0MCwgMTYxLCAyLCAyMjYsIDIyOSwgMjIsIDE4NCwgNywgNCwgMSwgMjQwLCAxNjEsIDIsIDIyNiwgCi0gICAgMjI5LCAyMiwgNTksIDcyLCAyMiwgMTg0LCA3LCA2LCAxLCAyMzUsIDE1MSwgMiwgMTg0LCA3LCA0LCAxLCAyMzUsIDE1MSwgCi0gICAgMiwgNTksIDcyLCAyMiwgMTg0LCA3LCA2LCAxLCAyMzMsIDE1NSwgMiwgMTg0LCA3LCA0LCAxLCAyMzMsIDE1NSwgMiwgMTg0LCAKLSAgICA3LCA2LCAxLCAyMzIsIDU1LCAyLCAxODQsIDcsIDQsIDEsIDIzMiwgNTUsIDIsIDE4NCwgNywgNiwgMSwgMjIzLCAyMjcsIDIsIAotICAgIDE4NCwgNywgNCwgMSwgMjIzLCAyMjcsIDIsIDE4NCwgNywgNiwgMSwgMTA0LCAyLCAyMjYsIDIyOSwgMjIsIDE0MiwgNywgNCwgCi0gICAgMSwgMTA0LCAyLCAyMjYsIDIyOSwgMjIsIDE0MiwgNywgNiwgMSwgMTA0LCAyLCAyMjYsIDIyOSwgMjIsIDE4NCwgNywgNCwgCi0gICAgMSwgMTA0LCAyLCAyMjYsIDIyOSwgMjIsIDE4NCwgNywgNiwgMSwgMTA0LCAyLCAyMzEsIDIzOCwgMjIsIDE0MiwgNywgNCwgCi0gICAgMSwgMTA0LCAyLCAyMzEsIDIzOCwgMjIsIDE0MiwgNywgNiwgMSwgMTA0LCAyLCAyMzEsIDIzOCwgMjIsIDE4NCwgNywgNCwgCi0gICAgMSwgMTA0LCAyLCAyMzEsIDIzOCwgMjIsIDE4NCwgNywgNCwgMSwgMjU0LCAyNTMsIDIsIDI0MiwgMTQzLCA3LCA0LCAxLCAKLSAgICAyMDQsIDE0NCwgMiwgMjQyLCAxNDMsIDcsIDQsIDEsIDIwNCwgMTQ0LCAyLCAxNDIsIDcsIDQsIDEsIDIxNSwgOTQsIDIxNCwgCi0gICAgMTA2LCAyLCAyNDIsIDE0MywgNywgNCwgMSwgMjE1LCA5NCwgMjE0LCAxMDYsIDIsIDE0MiwgNywgNCwgMSwgMjIxLCAxOTgsIAotICAgIDIsIDI0MiwgMTQzLCA3LCA0LCAxLCAyMjEsIDE5OCwgMiwgMTQyLCA3LCA0LCAxLCAyNDEsIDU4LCAyMjEsIDE5OCwgMiwgCi0gICAgMjQyLCAxNDMsIDcsIDQsIDEsIDI0MSwgNTgsIDIyMSwgMTk4LCAyLCAxNDIsIDksIDIyMCwgMTM3LCA3NywgMiwgMTgyLCAKLSAgICA3MiwgMiwgMjU0LCAxNzksIDksIDIyMCwgMTM3LCA3NywgMiwgMTgyLCA3MiwgMiwgMjEyLCAzMCwgOSwgMjIwLCAxMzcsIAotICAgIDc3LCAyLCAxODIsIDcyLCAyLCAxMDksIDIzMSwgMTk3LCA5LCAyMjAsIDEzNywgNzcsIDIsIDE4MiwgNzIsIDIsIDIyNiwgCi0gICAgMjM4LCA5LCAyMjAsIDEzNywgNzcsIDIsIDE4MiwgNzIsIDIsIDY5LCA5LCAyMjAsIDEzNywgNzcsIDIsIDE4MiwgNzIsIDIsIAotICAgIDIxMCwgMjEyLCA5LCAyMjAsIDEzNywgNzcsIDIsIDE4MiwgNzIsIDIsIDc2LCA5LCAyMjAsIDEzNywgNzcsIDIsIDE4MiwgCi0gICAgNzIsIDIsIDI1NCwgMjUyLCA5LCAyMjAsIDEzNywgMjI4LCA2OCwgMiwgMjM0LCAxODAsIDE0NiwgMSwgMjM0LCAxMTUsIDM2LCAKLSAgICAxMTcsIDIzNSwgMjksIDM2LCAxMTcsIDIyOSwgODQsIDM2LCAxMTcsIDI1MSwgNzQsIDM2LCAxMTcsIDIyNywgMTcxLCAzNiwgCi0gICAgMTE3LCAyMTUsIDE2MCwgMzYsIDExNywgMjI4LCAxMTYsIDM2LCAxMTcsIDIxNywgMTUzLCAzNiwgMTE3LCAyMzAsIDMwLCAKLSAgICAzNiwgMTE3LCAyMjYsIDEwOSwgMzYsIDExNywgMTk0LCAzNiwgMTE3LCAyMTEsIDExNywgMzYsIDExNywgMTUzLCAzNiwgCi0gICAgMTE3LCAxNTYsIDM2LCAxMTcsIDIxNCwgMTA1LCAzNiwgMTE3LCAyMzIsIDE4MiwgMzYsIDExNywgMjMyLCAxOTEsIDM2LCAKLSAgICAxMTcsIDIyMiwgMTgyLCAzNiwgMTE3LCAyMjgsIDk4LCAzNiwgMTE3LCAyMzUsIDE1MCwgMzYsIDExNywgMjIwLCAxMDYsIAotICAgIDM2LCAxMTcsIDIxOCwgMjI4LCAzNiwgMTE3LCAyMjIsIDkzLCAzNiwgMTE3LCAyNDIsIDY3LCAzNiwgMTE3LCAyMzMsIDIzOCwgCi0gICAgMzYsIDMsIDIzNSwgMTYsIDM2LCAzLCAyMzQsIDk4LCAzNiwgMywgMjM0LCA4OSwgMzYsIDMsIDIzMywgMjIzLCAzNiwgMywgCi0gICAgMjMzLCAxOTQsIDM2LCAzLCAyMzQsIDE4OCwgMzYsIDMsIDIzNCwgMTg3LCAzNiwgMywgMjM0LCAyNTIsIDM2LCAzLCAyMzQsIAotICAgIDM0LCAzNiwgMywgMjM0LCAxNiwgMzYsIDMsIDIzNCwgMjAxLCAzNiwgMywgMjI5LCA4MSwgMzYsIDMsIDIyOSwgMzIsIDM2LCAKLSAgICAzLCAyMjksIDI4LCAzNiwgMywgMjI4LCAyNTMsIDM2LCAzLCAyMjgsIDI0NiwgMzYsIDMsIDIyOSwgNjksIDM2LCAzLCAyMjksIAotICAgIDY3LCAzNiwgMywgMjI5LCA3OCwgMzYsIDMsIDIyOSwgOSwgMzYsIDMsIDIyOSwgNCwgMzYsIDMsIDIyOSwgNzEsIDM2LCAzLCAKLSAgICAyNTEsIDQwLCAzNiwgMywgMjUwLCA1OSwgMzYsIDMsIDI1MCwgNDksIDM2LCAzLCAyNDksIDEyMCwgMzYsIDMsIDI0OSwgOTEsIAotICAgIDM2LCAzLCAyNTAsIDE5OCwgMzYsIDMsIDI1MCwgMTkwLCAzNiwgMywgMjUxLCAzMCwgMzYsIDMsIDI0OSwgMjQ2LCAzNiwgMywgCi0gICAgMjQ5LCAxODIsIDM2LCAzLCAyNTAsIDIzMCwgMzYsIDMsIDIyNywgMTY4LCAzNiwgMywgMjI3LCAxNTIsIDM2LCAzLCAyMjcsIAotICAgIDE0NywgMzYsIDMsIDIyNywgMTMyLCAzNiwgMywgMjI3LCAxMjUsIDM2LCAzLCAyMjcsIDE2MCwgMzYsIDMsIDIyNywgMTU5LCAKLSAgICAzNiwgMywgMjI3LCAxNjUsIDM2LCAzLCAyMjcsIDEzOCwgMzYsIDMsIDIyNywgMTM2LCAzNiwgMywgMjI3LCAxNjMsIDM2LCAKLSAgICAzLCAyMTUsIDE1NiwgMzYsIDMsIDIxNSwgMTM2LCAzNiwgMywgMjE1LCAxMzUsIDM2LCAzLCAyMTUsIDEyNCwgMzYsIDMsIAotICAgIDIxNSwgMTIxLCAzNiwgMywgMjE1LCAxNTIsIDM2LCAzLCAyMTUsIDE1MSwgMzYsIDMsIDIxNSwgMTU1LCAzNiwgMywgMjE1LCAKLSAgICAxMzQsIDM2LCAzLCAyMTUsIDEzMywgMzYsIDMsIDIxNSwgMTU0LCAzNiwgMywgMjI4LCAxMTQsIDM2LCAzLCAyMjgsIDEwMCwgCi0gICAgMzYsIDMsIDIyOCwgOTksIDM2LCAzLCAyMjgsIDgzLCAzNiwgMywgMjI4LCA4MiwgMzYsIDMsIDIyOCwgMTEwLCAzNiwgMywgCi0gICAgMjI4LCAxMDksIDM2LCAzLCAyMjgsIDExMywgMzYsIDMsIDIyOCwgODUsIDM2LCAzLCAyMjgsIDg0LCAzNiwgMywgMjI4LCAKLSAgICAxMTIsIDM2LCAzLCAyMTcsIDEwMiwgMzYsIDMsIDIxNiwgMTE4LCAzNiwgMywgMjE2LCAxMDQsIDM2LCAzLCAyMTUsIDExOSwgCi0gICAgMzYsIDMsIDIxNSwgODUsIDM2LCAzLCAyMTcsIDIzLCAzNiwgMywgMjE3LCAxMiwgMzYsIDMsIDIxNywgODAsIDM2LCAzLCAKLSAgICAxMTIsIDM2LCAzLCAyMTYsIDE4LCAzNiwgMywgMjE3LCA0MiwgMzYsIDMsIDIyOSwgMjMwLCAzNiwgMywgMjI4LCAyMzgsIAotICAgIDM2LCAzLCAyMjgsIDIxMywgMzYsIDMsIDIyNywgMjQyLCAzNiwgMywgMjI3LCAxODMsIDM2LCAzLCAyMjksIDExMiwgMzYsIAotICAgIDMsIDIyOSwgMTA4LCAzNiwgMywgMjI5LCAyMTcsIDM2LCAzLCAyMjgsIDc5LCAzNiwgMywgMjI4LCA2OSwgMzYsIDMsIDIyOSwgCi0gICAgMTkyLCAzNiwgMywgMjI2LCA5MywgMzYsIDMsIDIyNSwgMTExLCAzNiwgMywgMjI1LCA3NCwgMzYsIDMsIDIyNCwgMTUzLCAKLSAgICAzNiwgMywgMjI0LCAxMjIsIDM2LCAzLCAyMjUsIDIyNCwgMzYsIDMsIDIyNSwgMjE0LCAzNiwgMywgMjI2LCA3NSwgMzYsIDMsIAotICAgIDIyNSwgMTksIDM2LCAzLCAyMjQsIDI1MiwgMzYsIDMsIDIyNSwgMjM4LCAzNiwgMywgMjMxLCAyNDIsIDM2LCAzLCAyMzAsIAotICAgIDIzNSwgMzYsIDMsIDIzMCwgMjA2LCAzNiwgMywgMjMwLCAxMDcsIDM2LCAzLCAyMzAsIDU5LCAzNiwgMywgMjMxLCA5NiwgCi0gICAgMzYsIDMsIDIzMSwgODUsIDM2LCAzLCAyMzEsIDIwOCwgMzYsIDMsIDIzMCwgMTY2LCAzNiwgMywgMjMwLCAxMzcsIDM2LCAzLCAKLSAgICAyMzEsIDE0MCwgMzYsIDMsIDIxMSwgMTAzLCAzNiwgMywgMjExLCA4LCAzNiwgMywgMjEwLCAyNTUsIDM2LCAzLCAyMTAsIAotICAgIDIxMiwgMzYsIDMsIDIxMCwgMTgxLCAzNiwgMywgMjExLCA0NywgMzYsIDMsIDIxMSwgNDQsIDM2LCAzLCAyMTEsIDgyLCAzNiwgCi0gICAgMywgMjEwLCAyNDQsIDM2LCAzLCAyMTAsIDIyOSwgMzYsIDMsIDIxMSwgNTUsIDM2LCAzLCAyMjMsIDE4NywgMzYsIDMsIAotICAgIDIyMywgMzgsIDM2LCAzLCAyMjIsIDI0MiwgMzYsIDMsIDIyMiwgMTQyLCAzNiwgMywgMjIyLCAxMTQsIDM2LCAzLCAyMjMsIAotICAgIDEzMSwgMzYsIDMsIDIyMywgMTExLCAzNiwgMywgMjIzLCAxNjksIDM2LCAzLCAyMjIsIDIxMywgMzYsIDMsIDIyMiwgMTk5LCAKLSAgICAzNiwgMywgMjIzLCAxMzksIDM2LCAzLCAyMzMsIDE0MCwgMzYsIDMsIDIzMiwgMjQ3LCAzNiwgMywgMjMyLCAyMzMsIDM2LCAKLSAgICAzLCAyMzIsIDEwMywgMzYsIDMsIDIzMiwgNzgsIDM2LCAzLCAyMzMsIDY0LCAzNiwgMywgMjMzLCA1NiwgMzYsIDMsIDIzMywgCi0gICAgMTE1LCAzNiwgMywgMjMyLCAxNjIsIDM2LCAzLCAyMzIsIDEzMywgMzYsIDMsIDIzMywgODAsIDM2LCAzLCAyMTQsIDI2LCAKLSAgICAzNiwgMywgMjEzLCAxNzYsIDM2LCAzLCAyMTMsIDE2MiwgMzYsIDMsIDIxMiwgMTE2LCAzNiwgMywgMjEyLCAxMDksIDM2LCAKLSAgICAzLCAyMTMsIDI1NSwgMzYsIDMsIDIxMywgMjUwLCAzNiwgMywgMjE0LCAyMywgMzYsIDMsIDIxMywgMTM4LCAzNiwgMywgCi0gICAgMjEzLCAxMjcsIDM2LCAzLCAyMTQsIDUsIDM2LCAzLCAyMzIsIDE4MCwgMzYsIDMsIDIzMiwgMTc1LCAzNiwgMywgMjMyLCAKLSAgICAxNzQsIDM2LCAzLCAyMzIsIDE3MSwgMzYsIDMsIDIzMiwgMTcwLCAzNiwgMywgMjMyLCAxNzcsIDM2LCAzLCAyMzIsIDE3NiwgCi0gICAgMzYsIDMsIDIzMiwgMTc5LCAzNiwgMywgMjMyLCAxNzMsIDM2LCAzLCAyMzIsIDE3MiwgMzYsIDMsIDIzMiwgMTc4LCAzNiwgCi0gICAgMywgMjMyLCAxODksIDM2LCAzLCAyMzIsIDE4NCwgMzYsIDMsIDIzMiwgMTgzLCAzNiwgMywgMjMyLCAxNjcsIDM2LCAzLCAKLSAgICAyMzIsIDE2NiwgMzYsIDMsIDIzMiwgMTg2LCAzNiwgMywgMjMyLCAxODUsIDM2LCAzLCAyMzIsIDE4OCwgMzYsIDMsIDIzMiwgCi0gICAgMTY5LCAzNiwgMywgMjMyLCAxNjgsIDM2LCAzLCAyMzIsIDE4NywgMzYsIDMsIDIyMiwgMTgwLCAzNiwgMywgMjIyLCAxNjksIAotICAgIDM2LCAzLCAyMjIsIDE2OCwgMzYsIDMsIDIyMiwgMTYyLCAzNiwgMywgMjIyLCAxNTUsIDM2LCAzLCAyMjIsIDE3NiwgMzYsIAotICAgIDMsIDIyMiwgMTc1LCAzNiwgMywgMjIyLCAxNzksIDM2LCAzLCAyMjIsIDE2NywgMzYsIDMsIDIyMiwgMTY2LCAzNiwgMywgCi0gICAgMjIyLCAxNzgsIDM2LCAzLCAyMjgsIDk2LCAzNiwgMywgMjI4LCA5MSwgMzYsIDMsIDIyOCwgOTAsIDM2LCAzLCAyMjgsIDg3LCAKLSAgICAzNiwgMywgMjI4LCA4NiwgMzYsIDMsIDIyOCwgOTMsIDM2LCAzLCAyMjgsIDkyLCAzNiwgMywgMjI4LCA5NSwgMzYsIDMsIAotICAgIDIyOCwgODksIDM2LCAzLCAyMjgsIDg4LCAzNiwgMywgMjI4LCA5NCwgMzYsIDMsIDIzNSwgMTQ2LCAzNiwgMywgMjM1LCAKLSAgICAxMTQsIDM2LCAzLCAyMzUsIDEwNywgMzYsIDMsIDIzNSwgNTcsIDM2LCAzLCAyMzUsIDM5LCAzNiwgMywgMjM1LCAxMzIsIAotICAgIDM2LCAzLCAyMzUsIDEzMCwgMzYsIDMsIDIzNSwgMTQxLCAzNiwgMywgMjM1LCA3NCwgMzYsIDMsIDIzNSwgNjUsIDM2LCAzLCAKLSAgICAyMzUsIDEzNSwgMzYsIDMsIDIyMCwgMTAwLCAzNiwgMywgMjIwLCAzNCwgMzYsIDMsIDIyMCwgMjksIDM2LCAzLCAyMTksIAotICAgIDIyNywgMzYsIDMsIDIxOSwgMjEyLCAzNiwgMywgMjIwLCA2NSwgMzYsIDMsIDIyMCwgNjMsIDM2LCAzLCAyMjAsIDkyLCAzNiwgCi0gICAgMywgMjIwLCA5LCAzNiwgMywgMjIwLCAzLCAzNiwgMywgMjIwLCA3MywgMzYsIDMsIDIxOCwgMjI0LCAzNiwgMywgMjE4LCAKLSAgICAxOTQsIDM2LCAzLCAyMTgsIDE5MCwgMzYsIDMsIDIxOCwgMTgxLCAzNiwgMywgMjE4LCAxNzgsIDM2LCAzLCAyMTgsIDE5OSwgCi0gICAgMzYsIDMsIDIxOCwgMTk4LCAzNiwgMywgMjE4LCAyMjMsIDM2LCAzLCAyMTgsIDE4NiwgMzYsIDMsIDIxOCwgMTg1LCAzNiwgCi0gICAgMywgMjE4LCAyMDEsIDM2LCAzLCAyMjIsIDMzLCAzNiwgMywgMjE5LCAxOTMsIDM2LCAzLCAyMTksIDE3NywgMzYsIDMsIAotICAgIDIxOCwgODQsIDM2LCAzLCAyMTgsIDUsIDM2LCAzLCAyMjEsIDE4MywgMzYsIDMsIDIyMSwgMTcyLCAzNiwgMywgMjIyLCAxOSwgCi0gICAgMzYsIDMsIDIxOSwgNjAsIDM2LCAzLCAyMTksIDQyLCAzNiwgMywgMjIxLCAyMjEsIDM2LCAzLCAyNDIsIDUzLCAzNiwgMywgCi0gICAgMjQxLCAxODcsIDM2LCAzLCAyNDEsIDE2OCwgMzYsIDMsIDI0MCwgMjI5LCAzNiwgMywgMjQwLCAyMDksIDM2LCAzLCAyNDEsIAotICAgIDI0NSwgMzYsIDMsIDI0MSwgMjI3LCAzNiwgMywgMjQyLCA0MywgMzYsIDMsIDI0MSwgNzUsIDM2LCAzLCAyNDEsIDYwLCAzNiwgCi0gICAgMywgMjQxLCAyNTMsIDM2LCAzLCAyMzMsIDIzNywgMzYsIDMsIDIzMywgMjM2LCAzNiwgMywgMjMzLCAyMzEsIDM2LCAzLCAKLSAgICAyMzMsIDIzMCwgMzYsIDMsIDIzMywgMjI3LCAzNiwgMywgMjMzLCAyMjYsIDM2LCAzLCAyMzMsIDIzMywgMzYsIDMsIDIzMywgCi0gICAgMjMyLCAzNiwgMywgMjMzLCAyMzUsIDM2LCAzLCAyMzMsIDIyOSwgMzYsIDMsIDIzMywgMjI4LCAzNiwgMywgMjMzLCAyMzQsIAotICAgIDM2LCAzLCAyMTksIDIzMywgMTc1LCAxMTcsIDUsIDIxMSwgNjgsIDE3NSwgMTE3LCA1LCAyMjMsIDE1OCwgMTc1LCAxMTcsIAotICAgIDUsIDIyMywgODEsIDk4LCAxLCAyMTUsIDI4LCA3MCwgMTE3LCA1LCAyNDksIDI0MSwgMTc2LCA3MCwgMTE3LCA1LCAyNDksIAotICAgIDI0MSwgMjM0LCAxMzgsIDcwLCAxMTcsIDUsIDI0OSwgMjQxLCAyMzQsIDM0LCA3MCwgMTE3LCA1LCAyNDksIDI0MSwgMjM0LCAKLSAgICAxMTEsIDcwLCAxMTcsIDUsIDI0OSwgMjQxLCAyMjksIDksIDcwLCAxMTcsIDUsIDI0OSwgMjQxLCAyNTEsIDQxLCA3MCwgCi0gICAgMTE3LCA1LCAyNDksIDI0MSwgMjUwLCAxNjUsIDcwLCAxMTcsIDUsIDI0OSwgMjQxLCAyNDksIDI0NiwgNzAsIDExNywgNSwgCi0gICAgMjQ5LCAyNDEsIDI1MCwgOTQsIDcwLCAxMTcsIDUsIDI0OSwgMjQxLCAyMjcsIDEzOCwgNzAsIDExNywgNSwgMjQ5LCAyNDEsIAotICAgIDI0OCwgMjI5LCA3MCwgMTE3LCA1LCAyNDksIDI0MSwgMjE1LCAxNDUsIDcwLCAxMTcsIDUsIDI0OSwgMjQxLCAyNDcsIDE1MywgCi0gICAgNzAsIDExNywgNSwgMjQ5LCAyNDEsIDIxNSwgMTQwLCA3MCwgMTE3LCA1LCAyNDksIDI0MSwgMTk4LCA3MCwgMTE3LCA1LCAKLSAgICAyNDksIDI0MSwgMjE3LCAxMDYsIDcwLCAxMTcsIDUsIDI0OSwgMjQxLCAyMTYsIDIwOSwgNzAsIDExNywgNSwgMjQ5LCAyNDEsIAotICAgIDExMiwgNzAsIDExNywgNSwgMjQ5LCAyNDEsIDIxNiwgMTU3LCA3MCwgMTE3LCA1LCAyNDksIDI0MSwgMjI4LCA3OSwgNzAsIAotICAgIDExNywgNSwgMjQ5LCAyNDEsIDI1MiwgMTk5LCA3MCwgMTE3LCA1LCAyNDksIDI0MSwgMjI1LCAxNTAsIDcwLCAxMTcsIDUsIAotICAgIDI0OSwgMjQxLCAyMjUsIDE5LCA3MCwgMTE3LCA1LCAyNDksIDI0MSwgMjI1LCAxMjQsIDcwLCAxMTcsIDUsIDI0OSwgMjQxLCAKLSAgICAyMzAsIDE2NiwgNzAsIDExNywgNSwgMjQ5LCAyNDEsIDIxMCwgMjQ0LCA3MCwgMTE3LCA1LCAyNDksIDI0MSwgMjIyLCAyMTMsIAotICAgIDcwLCAxMTcsIDUsIDI0OSwgMjQxLCAyMzIsIDE2MiwgNzAsIDExNywgNSwgMjQ5LCAyNDEsIDIxMywgMTM4LCA3MCwgMTE3LCAKLSAgICA1LCAyNDksIDI0MSwgMjIwLCAxMDQsIDcwLCAxMTcsIDUsIDI0OSwgMjQxLCAyMTgsIDIyNSwgNzAsIDExNywgNSwgMjQ5LCAKLSAgICAyNDEsIDIwNiwgNzAsIDExNywgNSwgMjQ5LCAyNDEsIDE2MiwgNzAsIDExNywgNSwgMjQ5LCAyNDEsIDIzMywgMTQxLCA3MCwgCi0gICAgMjUsIDUsIDI0OSwgMjQxLCAyMjQsIDkxLCA3MCwgMjM1LCAyNTAsIDI1LCA1LCAyNDksIDI0MSwgMjI0LCAzMywgNzAsIAotICAgIDIzNSwgMjUwLCAyNSwgNSwgMjQ5LCAyNDEsIDIyMiwgMTAyLCA3MCwgMjM1LCAyNTAsIDI1LCA1LCAyNDksIDI0MSwgMjIyLCAKLSAgICA5NSwgNzAsIDIzNSwgMjUwLCAyNSwgNSwgMjQ5LCAyNDEsIDIyNCwgNzIsIDcwLCAyNSwgNSwgMjI2LCAyMDgsIDcwLCAyNSwgCi0gICAgNSwgMjU1LCA0MywgMTQxLCAxLCAyNTIsIDcsIDIyOSwgODIsIDE0MSwgMSwgMjUyLCA3LCAyMjksIDMyLCAxNDEsIDEsIAotICAgIDI1MiwgNywgMjI4LCAyNTMsIDE0MSwgMSwgMjUyLCA3LCAyMjksIDY5LCAxNDEsIDEsIDI1MiwgNywgMjI5LCA5LCA1NiwgMSwgCi0gICAgMjUyLCA3LCAyMjksIDgyLCA1NiwgMSwgMjUyLCA3LCAyMjksIDMyLCA1NiwgMSwgMjUyLCA3LCAyMjgsIDI1MywgNTYsIDEsIAotICAgIDI1MiwgNywgMjI5LCA2OSwgNTYsIDEsIDI1MiwgNywgMjI5LCA5LCA1NiwgMSwgMjU0LCAyMDMsIDI1MCwgMTk4LCA1NiwgMSwgCi0gICAgMjU0LCAyMDMsIDIxNSwgMTE5LCA1NiwgMSwgMjU0LCAyMDMsIDExMiwgNTYsIDEsIDI1NCwgMjAzLCAyMjYsIDEwOSwgNTgsIAotICAgIDEsIDI0NSwgMjgsIDI0NSwgMjcsIDI0OSwgMTkwLCAxMzgsIDEzMCwgNTgsIDEsIDI0NSwgMjcsIDI0NSwgMjgsIDI0OSwgCi0gICAgMTkwLCAxMzgsIDEzMCwgCisgICAgMCwgMjE0LCAxNTMsIDI0MiwgMTY4LCA4MywgMjE5LCAxODAsIDgzLCA0MywgNTMsIDI0NSwgMzUsIDUzLCAyMjEsIDEzMSwgCisgICAgNTMsIDI1MiwgMTI1LCAyNTIsIDUzLCA0NywgMjIxLCAyMTYsIDQ4LCAyMjEsIDIxNiwgMjUxLCAyMDksIDEwMSwgNTMsIAorICAgIDI0NywgMTU1LCAyMzcsIDIzOCwgMjQxLCA4MiwgMjEzLCAyNTEsIDIxNCwgMTgwLCAxOCwgMjA1LCA4NSwgMTgsIDEwMiwgCisgICAgMTgsIDEwNSwgMTgsIDE0MiwgMTgsIDEzOSwgMTgsIDE2OCwgMTgsIDE4NCwgMTgsIDE5NSwgMTgsIDE5MywgMTgsIDIwMCwgCisgICAgMjQ3LCAxNjIsIDIxNiwgNTIsIDIzMCwgMTAsIDUzLCAyNDIsIDI0MiwgNTMsIDIzOSwgMjMwLCA1MywgMjE5LCAxOTYsIDgzLCAKKyAgICAyNDcsIDE1MywgMjUxLCAxOTksIDcsIDYsIDEsIDYyLCA3LCA2LCAxLCAyNTEsIDE1MCwgNywgNiwgMSwgMjQ5LCAzNCwgNywgCisgICAgNiwgMSwgMjQ2LCAyNDAsIDcsIDYsIDEsIDc1LCA3LCA2LCAxLCAyNDIsIDEzOSwgNywgNiwgMSwgMjQxLCA1NSwgNywgNiwgCisgICAgMSwgMjM5LCAxNTUsIDcsIDYsIDEsIDc0LCA3LCA2LCAxLCAyMzIsIDIwMywgNywgNiwgMSwgMjMyLCA3NiwgNywgNiwgMSwgCisgICAgMTQ5LCA3LCA2LCAxLCAyMjksIDI4LCA3LCA2LCAxLCAyMjYsIDMzLCA3LCA2LCAxLCA3NiwgNywgNiwgMSwgMjIyLCA2NywgCisgICAgNywgNiwgMSwgMjIwLCAyNywgNywgNiwgMSwgMTM3LCA3LCA2LCAxLCAxODIsIDcsIDYsIDEsIDIxMywgMTAsIDcsIDYsIDEsIAorICAgIDcxLCA3LCA2LCAxLCAyMDksIDE0OCwgNywgNiwgMSwgMjA3LCAxMjksIDcsIDYsIDEsIDIwNiwgMTk1LCA3LCA2LCAxLCAKKyAgICAyMDYsIDEyMywgNywgNiwgMSwgMjA1LCAxNTksIDQ3LCA0OSwgMTQ1LCAyMTgsIDIyNSwgMjE0LCAxODAsIDQ4LCA0OSwgCisgICAgMTQ1LCAyNDcsIDIyOCwgMjUzLCAyMSwgMTE0LCAyMjksIDIwNSwgMjM5LCAyMzcsIDI1MywgMjEsIDcsIDUsIDEsIDYyLCA3LCAKKyAgICA1LCAxLCAyNTEsIDE1MCwgNywgNSwgMSwgMjQ5LCAzNCwgNywgNSwgMSwgMjQ2LCAyNDAsIDcsIDUsIDEsIDc1LCA3LCA1LCAKKyAgICAxLCAyNDIsIDEzOSwgNywgNSwgMSwgMjQxLCA1NSwgNywgNSwgMSwgMjM5LCAxNTUsIDcsIDUsIDEsIDc0LCA3LCA1LCAxLCAKKyAgICAyMzIsIDIwMywgNywgNSwgMSwgMjMyLCA3NiwgNywgNSwgMSwgMTQ5LCA3LCA1LCAxLCAyMjksIDI4LCA3LCA1LCAxLCAyMjYsIAorICAgIDMzLCA3LCA1LCAxLCA3NiwgNywgNSwgMSwgMjIyLCA2NywgNywgNSwgMSwgMjIwLCAyNywgNywgNSwgMSwgMTM3LCA3LCA1LCAKKyAgICAxLCAxODIsIDcsIDUsIDEsIDIxMywgMTAsIDcsIDUsIDEsIDcxLCA3LCA1LCAxLCAyMDksIDE0OCwgNywgNSwgMSwgMjA3LCAKKyAgICAxMjksIDcsIDUsIDEsIDIwNiwgMTk1LCA3LCA1LCAxLCAyMDYsIDEyMywgNywgNSwgMSwgMjA1LCAxNTksIDQ3LCAyNDcsIAorICAgIDI2LCAxNDUsIDc5LCAyMjksIDIwNSwgNDgsIDI0NywgMjYsIDE0NSwgMjExLCAxODAsIDIyNCwgNjYsIDIxNCwgMTUzLCAKKyAgICAyMzMsIDIsIDI0MiwgMTY4LCA4MywgMjQ4LCAxMzEsIDUzLCAyMjAsIDE2NSwgNTMsIDI0NywgMjUsIDUzLCAyMDYsIDQzLCAKKyAgICA1MywgMjQ5LCAxMTEsIDEzNCwgMjE3LCA3NywgNTMsIDI0NSwgMTY2LCAyNDcsIDk0LCA1MywgMjQyLCA5LCAyMjIsIDExOCwgCisgICAgMjMzLCA0OSwgMjMwLCA0MSwgNTAsIDI1MiwgMTA5LCAyMTksIDE4MCwgODMsIDIyNCwgNDMsIDUzLCAyMTQsIDE4NywgMjM3LCAKKyAgICAyMzksIDIxOSwgMjMsIDUzLCAyMjgsIDEzLCAyNDUsIDI0NSwgNTMsIDIyMCwgMjE3LCA1MywgMjEzLCAxMzksIDEwNSwgCisgICAgMjEzLCAxMzksIDE0MiwgMjUzLCA5LCAyNTMsIDIxLCAyMjYsIDI1MiwgNTMsIDIyMSwgMTIsIDUzLCAyMjYsIDI0NywgMjQ1LCAKKyAgICAyMywgMjQ4LCAxNDEsIDIxMywgMTM5LCAxMDIsIDIyNywgMTc5LCAyMjIsIDExOCwgMjMzLCA0OSwgMjE4LCAxNjIsIDUwLCAKKyAgICAyNTIsIDEwOSwgMjE5LCAxODAsIDgzLCAyMDcsIDE0NiwgMjQxLCAxMTYsIDExOSwgMjE5LCAyMDQsIDIwNywgMTQ2LCAyNDEsIAorICAgIDExNiwgMTE5LCAyMzksIDEyMSwgMjA3LCAxNDYsIDI0MSwgMTE2LCAxMjksIDIxOSwgMjAyLCAyMzMsIDIsIDIxOSwgMTk2LCAKKyAgICA4MywgNywgNiwgMSwgMzIsIDIsIDIzOSwgMjM2LCA3LCA2LCAxLCAzMiwgMiwgMTUzLCA3LCA2LCAxLCAzMiwgMiwgMjQ3LCAKKyAgICAyMjcsIDcsIDYsIDEsIDMyLCAyLCAyMTEsIDE4MCwgNywgNiwgMSwgMzIsIDIsIDI0NSwgMTY2LCA3LCA2LCAxLCAzMiwgMiwgCisgICAgMjE4LCAxNDksIDUyLCA3LCA2LCAxLCAyNTIsIDI0OCwgNywgNiwgMSwgMjQ5LCAzNSwgMiwgMjQ4LCAxNDEsIDcsIDYsIDEsIAorICAgIDE3NCwgMiwgMjM5LCAyMzYsIDcsIDYsIDEsIDE3NCwgMiwgMTUzLCA3LCA2LCAxLCAxNzQsIDIsIDI0NywgMjI3LCA3LCA2LCAKKyAgICAxLCAxNzQsIDIsIDI0NSwgMTY2LCA3LCA2LCAxLCAyMzcsIDIyNSwgMiwgMjM5LCAyMzYsIDcsIDYsIDEsIDIzNywgMjI1LCAKKyAgICAyLCAxNTMsIDcsIDYsIDEsIDIzNywgMjI1LCAyLCAyNDcsIDIyNywgNywgNiwgMSwgMjM3LCAyMjUsIDIsIDI0NSwgMTY2LCAKKyAgICA3LCA2LCAxLCAyNDIsIDE5NiwgNywgNiwgMSwgMjI2LCAzNCwgMiwgMjExLCAxODAsIDcsIDYsIDEsIDE0OCwgMiwgMjM5LCAKKyAgICAyMzYsIDcsIDYsIDEsIDE0OCwgMiwgMTUzLCA3LCA2LCAxLCAxNDgsIDIsIDI0NywgMjI3LCA3LCA2LCAxLCAxNDgsIDIsIAorICAgIDIxMSwgMTgwLCA3LCA2LCAxLCAxNDgsIDIsIDI0NSwgMTY2LCAyMjYsIDk0LCA1MywgNywgNiwgMSwgMTQ4LCAyLCA5MSwgNywgCisgICAgNiwgMSwgMTA2LCAyLCAyMzksIDIzNiwgNywgNiwgMSwgMTA2LCAyLCAxNTMsIDcsIDYsIDEsIDEwNiwgMiwgMjQ3LCAyMjcsIAorICAgIDcsIDYsIDEsIDEwNiwgMiwgMjQ1LCAxNjYsIDcsIDYsIDEsIDIwNiwgMTI0LCAyLCAxNTMsIDcsIDYsIDEsIDIxMSwgMjQ2LCAKKyAgICA3LCA1LCAxLCAyMTUsIDIyOCwgMTgyLCA3LCA1LCAxLCAzMiwgMiwgMjM5LCAyMzYsIDcsIDUsIDEsIDMyLCAyLCAxNTMsIDcsIAorICAgIDUsIDEsIDMyLCAyLCAyNDcsIDIyNywgNywgNSwgMSwgMzIsIDIsIDIxMSwgMTgwLCA3LCA1LCAxLCAzMiwgMiwgMjQ1LCAKKyAgICAxNjYsIDcsIDUsIDEsIDMyLCAyLCAyMTgsIDE0OSwgNTIsIDcsIDUsIDEsIDI1MiwgMjQ4LCA3LCA1LCAxLCAyNDksIDM1LCAKKyAgICAyLCAyNDgsIDE0MSwgNywgNSwgMSwgMTc0LCAyLCAyMzksIDIzNiwgNywgNSwgMSwgMTc0LCAyLCAxNTMsIDcsIDUsIDEsIAorICAgIDE3NCwgMiwgMjQ3LCAyMjcsIDcsIDUsIDEsIDE3NCwgMiwgMjQ1LCAxNjYsIDcsIDUsIDEsIDIzNywgMjI1LCAyLCAyMzksIAorICAgIDIzNiwgNywgNSwgMSwgMjM3LCAyMjUsIDIsIDE1MywgNywgNSwgMSwgMjM3LCAyMjUsIDIsIDI0NywgMjI3LCA3LCA1LCAxLCAKKyAgICAyMzcsIDIyNSwgMiwgMjQ1LCAxNjYsIDcsIDUsIDEsIDI0MiwgMTk2LCA3LCA1LCAxLCAyMjYsIDM0LCAyLCAyMTEsIDE4MCwgCisgICAgNywgNSwgMSwgMTQ4LCAyLCAyMzksIDIzNiwgNywgNSwgMSwgMTQ4LCAyLCAxNTMsIDcsIDUsIDEsIDE0OCwgMiwgMjQ3LCAKKyAgICAyMjcsIDcsIDUsIDEsIDE0OCwgMiwgMjExLCAxODAsIDcsIDUsIDEsIDE0OCwgMiwgMjQ1LCAxNjYsIDI0NSwgNzUsIDUzLCAKKyAgICA3LCA1LCAxLCAxNDgsIDIsIDkxLCA3LCA1LCAxLCAxMDYsIDIsIDIzOSwgMjM2LCA3LCA1LCAxLCAxMDYsIDIsIDE1MywgNywgCisgICAgNSwgMSwgMTA2LCAyLCAyNDcsIDIyNywgNywgNSwgMSwgMTA2LCAyLCAyNDUsIDE2NiwgNywgNSwgMSwgMjA2LCAxMjQsIDIsIAorICAgIDE1MywgNywgNSwgMSwgMjExLCAyNDYsIDcsIDUsIDEsIDIwNiwgMTI0LCAyLCAyNDUsIDE2NiwgNywgNiwgMSwgMzIsIDIsIAorICAgIDIyOCwgMTMsIDcsIDUsIDEsIDMyLCAyLCAyMjgsIDEzLCA3LCA2LCAxLCAzMiwgMiwgMjQ5LCAxMjIsIDcsIDUsIDEsIDMyLCAKKyAgICAyLCAyNDksIDEyMiwgNywgNiwgMSwgMzIsIDIsIDIyMiwgMTk2LCA3LCA1LCAxLCAzMiwgMiwgMjIyLCAxOTYsIDcsIDYsIDEsIAorICAgIDI0OSwgMzUsIDIsIDE1MywgNywgNSwgMSwgMjQ5LCAzNSwgMiwgMTUzLCA3LCA2LCAxLCAyNDksIDM1LCAyLCAyNDcsIDIyNywgCisgICAgNywgNSwgMSwgMjQ5LCAzNSwgMiwgMjQ3LCAyMjcsIDcsIDYsIDEsIDI0OSwgMzUsIDIsIDY3LCA1MiwgNywgNSwgMSwgMjQ5LCAKKyAgICAzNSwgMiwgNjcsIDUyLCA3LCA2LCAxLCAyNDksIDM1LCAyLCAyNDgsIDE5NSwgNywgNSwgMSwgMjQ5LCAzNSwgMiwgMjQ4LCAKKyAgICAxOTUsIDcsIDYsIDEsIDI0NiwgMjQxLCAyLCAyNDgsIDE5NSwgNywgNSwgMSwgMjQ2LCAyNDEsIDIsIDI0OCwgMTk1LCA3LCAKKyAgICA2LCAxLCAyNDYsIDI0MSwgMiwgOTEsIDcsIDUsIDEsIDI0NiwgMjQxLCAyLCA5MSwgNywgNiwgMSwgMTc0LCAyLCAyMjgsIAorICAgIDEzLCA3LCA1LCAxLCAxNzQsIDIsIDIyOCwgMTMsIDcsIDYsIDEsIDE3NCwgMiwgMjQ5LCAxMjIsIDcsIDUsIDEsIDE3NCwgMiwgCisgICAgMjQ5LCAxMjIsIDcsIDYsIDEsIDE3NCwgMiwgNjcsIDUyLCA3LCA1LCAxLCAxNzQsIDIsIDY3LCA1MiwgNywgNiwgMSwgMTc0LCAKKyAgICAyLCAyMjIsIDE5NiwgNywgNSwgMSwgMTc0LCAyLCAyMjIsIDE5NiwgNywgNiwgMSwgMTc0LCAyLCAyNDgsIDE5NSwgNywgNSwgCisgICAgMSwgMTc0LCAyLCAyNDgsIDE5NSwgNywgNiwgMSwgMjQxLCA1NiwgMiwgMjQ3LCAyMjcsIDcsIDUsIDEsIDI0MSwgNTYsIDIsIAorICAgIDI0NywgMjI3LCA3LCA2LCAxLCAyNDEsIDU2LCAyLCAyNDksIDEyMiwgNywgNSwgMSwgMjQxLCA1NiwgMiwgMjQ5LCAxMjIsIAorICAgIDcsIDYsIDEsIDI0MSwgNTYsIDIsIDY3LCA1MiwgNywgNSwgMSwgMjQxLCA1NiwgMiwgNjcsIDUyLCA3LCA2LCAxLCAyNDEsIAorICAgIDU2LCAyLCAyNDgsIDE0MSwgNywgNSwgMSwgMjQxLCA1NiwgMiwgMjQ4LCAxNDEsIDcsIDYsIDEsIDIzOSwgMTU2LCAyLCAKKyAgICAyNDcsIDIyNywgNywgNSwgMSwgMjM5LCAxNTYsIDIsIDI0NywgMjI3LCA3LCA2LCAxLCAyMzksIDE1NiwgMiwgOTEsIDcsIDUsIAorICAgIDEsIDIzOSwgMTU2LCAyLCA5MSwgNywgNiwgMSwgMjM3LCAyMjUsIDIsIDIxMSwgMTgwLCA3LCA1LCAxLCAyMzcsIDIyNSwgMiwgCisgICAgMjExLCAxODAsIDcsIDYsIDEsIDIzNywgMjI1LCAyLCAyMjgsIDEzLCA3LCA1LCAxLCAyMzcsIDIyNSwgMiwgMjI4LCAxMywgCisgICAgNywgNiwgMSwgMjM3LCAyMjUsIDIsIDI0OSwgMTIyLCA3LCA1LCAxLCAyMzcsIDIyNSwgMiwgMjQ5LCAxMjIsIDcsIDYsIDEsIAorICAgIDIzNywgMjI1LCAyLCAyMjIsIDE5NiwgNywgNSwgMSwgMjM3LCAyMjUsIDIsIDIyMiwgMTk2LCA3LCA2LCAxLCAyMzcsIDIyNSwgCisgICAgMiwgNjcsIDUyLCA3LCA1LCAxLCAyNDUsIDIyLCA3NCwgNywgNiwgMjgsIDIzMywgMTAwLCA3LCA1LCAyOCwgMjMzLCAxMDAsIAorICAgIDcsIDYsIDEsIDIzMiwgMjA0LCAyLCAyNDcsIDIyNywgNywgNSwgMSwgMjMyLCAyMDQsIDIsIDI0NywgMjI3LCA3LCA2LCAxLCAKKyAgICAyMzIsIDc3LCAyLCAyNDgsIDE0MSwgNywgNSwgMSwgMjMyLCA3NywgMiwgMjQ4LCAxNDEsIDcsIDUsIDEsIDIzMSwgMiwgNywgCisgICAgNiwgMSwgMjMwLCAxNTksIDIsIDE1MywgNywgNSwgMSwgMjMwLCAxNTksIDIsIDE1MywgNywgNiwgMSwgMjMwLCAxNTksIDIsIAorICAgIDI0OCwgMTQxLCA3LCA1LCAxLCAyMzAsIDE1OSwgMiwgMjQ4LCAxNDEsIDcsIDYsIDEsIDIzMCwgMTU5LCAyLCAyNDgsIDE5NSwgCisgICAgNywgNSwgMSwgMjMwLCAxNTksIDIsIDI0OCwgMTk1LCA3LCA2LCAxLCAyMzAsIDE1OSwgMiwgMjI2LCAyNDcsIDI0NSwgMjMsIAorICAgIDcsIDUsIDEsIDIzMCwgMTU5LCAyLCAyMjYsIDI0NywgMjQ1LCAyMywgNywgNiwgMSwgMjMwLCAxNTksIDIsIDkxLCA3LCA1LCAKKyAgICAxLCAyMzAsIDE1OSwgMiwgOTEsIDcsIDYsIDEsIDIyNiwgMzQsIDIsIDE1MywgNywgNSwgMSwgMjI2LCAzNCwgMiwgMTUzLCAKKyAgICA3LCA2LCAxLCAyMjYsIDM0LCAyLCAyNDgsIDE0MSwgNywgNSwgMSwgMjI2LCAzNCwgMiwgMjQ4LCAxNDEsIDcsIDYsIDEsIAorICAgIDIyNiwgMzQsIDIsIDI0OCwgMTk1LCA3LCA1LCAxLCAyMjYsIDM0LCAyLCAyNDgsIDE5NSwgNywgNSwgMSwgMjI2LCAzNCwgCisgICAgMjIwLCAxNDEsIDI0OSwgNDYsIDI1MiwgNTMsIDcsIDYsIDEsIDI0MywgMjgsIDcsIDUsIDEsIDI0MywgMjgsIDcsIDYsIDEsIAorICAgIDE0OCwgMiwgMjI4LCAxMywgNywgNSwgMSwgMTQ4LCAyLCAyMjgsIDEzLCA3LCA2LCAxLCAxNDgsIDIsIDI0OSwgMTIyLCA3LCAKKyAgICA1LCAxLCAxNDgsIDIsIDI0OSwgMTIyLCA3LCA2LCAxLCAxNDgsIDIsIDUwLCAxNTMsIDcsIDUsIDEsIDE0OCwgMiwgNTAsIAorICAgIDE1MywgNywgNiwgMjgsIDIyMiwgMjA2LCA3LCA1LCAyOCwgMjIyLCAyMDYsIDcsIDYsIDEsIDIxOSwgMTUwLCAyLCAxNTMsIAorICAgIDcsIDUsIDEsIDIxOSwgMTUwLCAyLCAxNTMsIDcsIDYsIDEsIDIxOSwgMTUwLCAyLCAyNDgsIDE0MSwgNywgNSwgMSwgMjE5LCAKKyAgICAxNTAsIDIsIDI0OCwgMTQxLCA3LCA2LCAxLCAyMTksIDE1MCwgMiwgMjQ4LCAxOTUsIDcsIDUsIDEsIDIxOSwgMTUwLCAyLCAKKyAgICAyNDgsIDE5NSwgNywgNiwgMSwgMjE4LCAxLCAyLCAxNTMsIDcsIDUsIDEsIDIxOCwgMSwgMiwgMTUzLCA3LCA2LCAxLCAyMTgsIAorICAgIDEsIDIsIDI0NywgMjI3LCA3LCA1LCAxLCAyMTgsIDEsIDIsIDI0NywgMjI3LCA3LCA2LCAxLCAyMTgsIDEsIDIsIDI0OCwgCisgICAgMTQxLCA3LCA1LCAxLCAyMTgsIDEsIDIsIDI0OCwgMTQxLCA3LCA2LCAxLCAyMTgsIDEsIDIsIDI0OCwgMTk1LCA3LCA1LCAxLCAKKyAgICAyMTgsIDEsIDIsIDI0OCwgMTk1LCA3LCA2LCAxLCAyMTMsIDExLCAyLCAyNDgsIDE0MSwgNywgNSwgMSwgMjEzLCAxMSwgMiwgCisgICAgMjQ4LCAxNDEsIDcsIDYsIDEsIDIxMywgMTEsIDIsIDI0OCwgMTk1LCA3LCA1LCAxLCAyMTMsIDExLCAyLCAyNDgsIDE5NSwgCisgICAgNywgNiwgMSwgMjEzLCAxMSwgMiwgOTEsIDcsIDUsIDEsIDIxMywgMTEsIDIsIDkxLCA3LCA2LCAxLCAxMDYsIDIsIDIxMSwgCisgICAgMTgwLCA3LCA1LCAxLCAxMDYsIDIsIDIxMSwgMTgwLCA3LCA2LCAxLCAxMDYsIDIsIDIyOCwgMTMsIDcsIDUsIDEsIDEwNiwgCisgICAgMiwgMjI4LCAxMywgNywgNiwgMSwgMTA2LCAyLCAyNDksIDEyMiwgNywgNSwgMSwgMTA2LCAyLCAyNDksIDEyMiwgNywgNiwgCisgICAgMSwgMTA2LCAyLCAyMTgsIDE0OSwgNTIsIDcsIDUsIDEsIDEwNiwgMiwgMjE4LCAxNDksIDUyLCA3LCA2LCAxLCAxMDYsIDIsIAorICAgIDUwLCAxNTMsIDcsIDUsIDEsIDEwNiwgMiwgNTAsIDE1MywgNywgNiwgMSwgMTA2LCAyLCAyMjIsIDE5NiwgNywgNSwgMSwgCisgICAgMTA2LCAyLCAyMjIsIDE5NiwgNywgNiwgMSwgMjA3LCAxMzAsIDIsIDI0NywgMjI3LCA3LCA1LCAxLCAyMDcsIDEzMCwgMiwgCisgICAgMjQ3LCAyMjcsIDcsIDYsIDEsIDIwNiwgMTI0LCAyLCAyNDcsIDIyNywgNywgNSwgMSwgMjA2LCAxMjQsIDIsIDI0NywgMjI3LCAKKyAgICA3LCA2LCAxLCAyMDYsIDEyNCwgMiwgMjQ1LCAxNjYsIDcsIDYsIDEsIDIwNSwgMTYwLCAyLCAxNTMsIDcsIDUsIDEsIDIwNSwgCisgICAgMTYwLCAyLCAxNTMsIDcsIDYsIDEsIDIwNSwgMTYwLCAyLCA2NywgNTIsIDcsIDUsIDEsIDIwNSwgMTYwLCAyLCA2NywgNTIsIAorICAgIDcsIDYsIDEsIDIwNSwgMTYwLCAyLCAyNDgsIDE5NSwgNywgNSwgMSwgMjA1LCAxNjAsIDIsIDI0OCwgMTk1LCA3LCA1LCAxLCAKKyAgICAxNTIsIDE4MiwgNywgNSwgMSwgNjMsIDIsIDkxLCA3LCA2LCAxLCA2MywgMiwgMTA5LCA3LCA2LCAxLCA2MywgMiwgMjExLCAKKyAgICA5OSwgNywgNSwgMSwgNjMsIDIsIDIxMSwgOTksIDcsIDYsIDEsIDEzNSwgMTg0LCA3LCA1LCAxLCAxMzUsIDE4NCwgNywgNiwgCisgICAgMSwgMjIyLCAxNDIsIDc2LCA3LCA2LCAxLCAyNDksIDM1LCAyLCAxMDksIDcsIDUsIDEsIDI0OSwgMzUsIDIsIDEwOSwgNywgCisgICAgNiwgMSwgMjUyLCAyMjMsIDI0NiwgMjQwLCA3LCA2LCAxLCAyNDYsIDI0MSwgMiwgMTA5LCA3LCA2LCAxLCAyNDYsIDI0MSwgCisgICAgMiwgMjExLCA5OSwgNywgNSwgMSwgMjQ2LCAyNDEsIDIsIDIxMSwgOTksIDcsIDUsIDEsIDIwMSwgMjQ1LCAyMjcsIDcsIDYsIAorICAgIDEsIDIxOCwgMjI0LCA3NSwgNywgNiwgMSwgMjE3LCAxMDAsIDcsIDYsIDEsIDIyMiwgMTQyLCA3NSwgNywgNiwgMSwgMjQyLCAKKyAgICAxNDAsIDIsIDEwOSwgNywgNSwgMSwgMjQyLCAxNDAsIDIsIDEwOSwgNywgNiwgMSwgMjQxLCA1NiwgMiwgMTA5LCA3LCA2LCAKKyAgICAxLCAyNDAsIDIxNSwgNywgNSwgMSwgMjM4LCAxNywgNywgNiwgMSwgMjMyLCAyNDksIDcsIDYsIDEsIDIzNywgMjI1LCAyLCAKKyAgICA5MSwgNywgNiwgMSwgMjMyLCA3NywgMiwgMTA5LCA3LCA1LCAxLCAyMzIsIDc3LCAyLCAxMDksIDcsIDUsIDEsIDIzMCwgCisgICAgMTU5LCAyLCAxMzQsIDcsIDUsIDEsIDIzMCwgMTA0LCAyLCA5MSwgNywgNiwgMSwgMjAxLCAyMjksIDI4LCA3LCA2LCAxLCAKKyAgICAyMjYsIDM0LCAyLCA0NywgMTA5LCA3LCA1LCAxLCAyMjYsIDM0LCAyLCAxNTIsIDQ4LCAyMzAsIDM0LCA3LCA2LCAxLCAxNDgsIAorICAgIDIsIDIyNiwgMjQ3LCAyMTEsIDE4MCwgNywgNiwgMSwgMTQ4LCAyLCAyMzgsIDY5LCA3LCA1LCAxLCAxNDgsIDIsIDIzOCwgCisgICAgNjksIDcsIDYsIDEsIDIyMiwgMTkxLCA3LCA1LCAxLCAyMjIsIDE5MSwgNywgNiwgMSwgMjIyLCA2OCwgMiwgMTA5LCA3LCA1LCAKKyAgICAxLCAyMjIsIDY4LCAyLCAxMDksIDcsIDEsIDIwNSwgMjE2LCA3LCA2LCAxLCAxMzUsIDEwNSwgNywgNSwgMSwgMTM1LCAxMDUsIAorICAgIDcsIDYsIDEsIDI0MiwgMjE1LCA3LCAxLCAyMTgsIDIyNCwgMjQyLCAyMTYsIDIyOSwgMTExLCA3LCA1LCAxLCAyMTMsIDExLCAKKyAgICAyLCAyMjIsIDI2LCAxMDksIDcsIDYsIDEsIDIxMywgMTEsIDIsIDEwOSwgNywgNSwgMSwgMjEzLCAxMSwgMiwgMTA5LCA3LCAKKyAgICA2LCAxLCAyMTMsIDExLCAyLCAyMTgsIDIzMCwgMTA5LCA3LCA2LCAxLCAxMDYsIDIsIDIzOCwgNjksIDcsIDUsIDEsIDEwNiwgCisgICAgMiwgMjM4LCA2OSwgNywgNiwgMSwgMjA5LCAyMDAsIDcsIDYsIDEsIDIwOSwgMTQ5LCAyLCAxMDksIDcsIDYsIDEsIDIwNiwgCisgICAgMTI0LCAyLCAxMDksIDcsIDUsIDEsIDIwNiwgMTI0LCAyLCAxMDksIDcsIDYsIDEsIDIwNSwgMTYwLCAyLCA5MSwgNywgNSwgCisgICAgMSwgMjA1LCAxNjAsIDIsIDkxLCA3LCA2LCAxLCAyNDIsIDE0MSwgNywgNiwgMSwgMjQyLCAxNDIsIDIxOCwgMjIzLCA3LCA1LCAKKyAgICAxLCAyNDIsIDE0MiwgMjE4LCAyMjMsIDcsIDUsIDEsIDI0MiwgMTQyLCAyLCAyMTIsIDE5MSwgNywgMSwgMTE4LCAyLCA5MSwgCisgICAgNywgNiwgMSwgMTM1LCAxNjgsIDcsIDUsIDEsIDEzNSwgMTY4LCA3LCAxLCAyMzMsIDIsIDI0MCwgMjUsIDIxMywgMjUyLCAyLCAKKyAgICA5MSwgNywgMSwgMjA2LCAxOTgsIDcsIDEsIDI0NSwgMjIwLCAyNDcsIDIwMywgNywgMSwgMjMwLCA3OCwgMjQ3LCAyMDMsIDcsIAorICAgIDEsIDI1MiwgMTM3LCAyNDcsIDIwMywgNywgMSwgMjE4LCAyMzAsIDI0NywgMjAzLCA3LCA2LCAxLCAyNDMsIDE5OCwgMiwgCisgICAgMjQ4LCAxOTUsIDcsIDYsIDEsIDI0NiwgMjQxLCAyLCA1LCAxLCAyMDUsIDE2MCwgMiwgMjQ4LCAxOTUsIDcsIDUsIDEsIAorICAgIDI0MywgMTk4LCAyLCAyNDgsIDE5NSwgNywgNiwgMSwgMjI5LCAxNzYsIDcsIDYsIDEsIDIzMCwgMTU5LCAyLCA1LCAxLCAKKyAgICAyMzIsIDIwMywgNywgNSwgMSwgMjI5LCAxNzYsIDcsIDYsIDEsIDIyNCwgMTgxLCA3LCA2LCAxLCAyMjYsIDM0LCAyLCA1LCAKKyAgICAxLCAyMzIsIDIwMywgNywgNSwgMSwgMjI0LCAxODEsIDcsIDYsIDEsIDMyLCAyLCAyNDgsIDE5NSwgNywgNSwgMSwgMzIsIDIsIAorICAgIDI0OCwgMTk1LCA3LCA2LCAxLCAyMzcsIDIyNSwgMiwgMjQ4LCAxOTUsIDcsIDUsIDEsIDIzNywgMjI1LCAyLCAyNDgsIDE5NSwgCisgICAgNywgNiwgMSwgMTQ4LCAyLCAyNDgsIDE5NSwgNywgNSwgMSwgMTQ4LCAyLCAyNDgsIDE5NSwgNywgNiwgMSwgMTA2LCAyLCAKKyAgICAyNDgsIDE5NSwgNywgNSwgMSwgMTA2LCAyLCAyNDgsIDE5NSwgNywgNiwgMSwgMTA2LCAyLCAyNDUsIDE2NywgMjMsIDIyOCwgCisgICAgMTMsIDcsIDUsIDEsIDEwNiwgMiwgMjQ1LCAxNjcsIDIzLCAyMjgsIDEzLCA3LCA2LCAxLCAxMDYsIDIsIDI0NSwgMTY3LCAKKyAgICAyMywgMTUzLCA3LCA1LCAxLCAxMDYsIDIsIDI0NSwgMTY3LCAyMywgMTUzLCA3LCA2LCAxLCAxMDYsIDIsIDI0NSwgMTY3LCAKKyAgICAyMywgMjQ4LCAxOTUsIDcsIDUsIDEsIDEwNiwgMiwgMjQ1LCAxNjcsIDIzLCAyNDgsIDE5NSwgNywgNiwgMSwgMTA2LCAyLCAKKyAgICAyNDUsIDE2NywgMjMsIDIzOSwgMjM2LCA3LCA1LCAxLCAxMDYsIDIsIDI0NSwgMTY3LCAyMywgMjM5LCAyMzYsIDcsIDUsIDEsIAorICAgIDIwMSwgNzUsIDcsIDYsIDEsIDMyLCAyLCAyNDUsIDE2NywgMjMsIDIyOCwgMTMsIDcsIDUsIDEsIDMyLCAyLCAyNDUsIDE2NywgCisgICAgMjMsIDIyOCwgMTMsIDcsIDYsIDEsIDMyLCAyLCA2NywgODQsIDIzLCAyMjgsIDEzLCA3LCA1LCAxLCAzMiwgMiwgNjcsIDg0LCAKKyAgICAyMywgMjI4LCAxMywgNywgNiwgMSwgMjUyLCAyNDksIDIsIDIyOCwgMTMsIDcsIDUsIDEsIDI1MiwgMjQ5LCAyLCAyMjgsIAorICAgIDEzLCA3LCA2LCAxLCAyNDEsIDU2LCAyLCA5MSwgNywgNSwgMSwgMjQxLCA1NiwgMiwgOTEsIDcsIDYsIDEsIDI0MSwgNTYsIAorICAgIDIsIDI0OCwgMTk1LCA3LCA1LCAxLCAyNDEsIDU2LCAyLCAyNDgsIDE5NSwgNywgNiwgMSwgMjMyLCA3NywgMiwgMjQ4LCAKKyAgICAxOTUsIDcsIDUsIDEsIDIzMiwgNzcsIDIsIDI0OCwgMTk1LCA3LCA2LCAxLCAxNDgsIDIsIDIyMiwgMTk2LCA3LCA1LCAxLCAKKyAgICAxNDgsIDIsIDIyMiwgMTk2LCA3LCA2LCAxLCAxNDgsIDIsIDIyMiwgMTk3LCAyMywgMjI4LCAxMywgNywgNSwgMSwgMTQ4LCAKKyAgICAyLCAyMjIsIDE5NywgMjMsIDIyOCwgMTMsIDcsIDYsIDEsIDI0MiwgMTQyLCAyLCAyNDgsIDE5NSwgNywgNSwgMSwgMjQyLCAKKyAgICAxNDIsIDIsIDI0OCwgMTk1LCA3LCA1LCAxLCAyMzIsIDIwNCwgMiwgMjQ4LCAxOTUsIDcsIDYsIDEsIDI0MywgMTk3LCA3LCAKKyAgICA2LCAxLCAyNDYsIDI0MSwgMiwgNSwgMSwgMjA1LCAxNTksIDcsIDUsIDEsIDI0MywgMTk3LCA3LCA2LCAxLCAyNDEsIDU2LCAKKyAgICAyLCAxNTMsIDcsIDUsIDEsIDI0MSwgNTYsIDIsIDE1MywgNywgNiwgMSwgMjM4LCAxNCwgNywgNiwgMSwgMjA2LCAxOTgsIDcsIAorICAgIDYsIDEsIDIyNiwgMzQsIDIsIDIzOSwgMjM2LCA3LCA1LCAxLCAyMjYsIDM0LCAyLCAyMzksIDIzNiwgNywgNiwgMSwgMzIsIAorICAgIDIsIDIxOCwgMTQ5LCA4NCwgMjMsIDE1MywgNywgNSwgMSwgMzIsIDIsIDIxOCwgMTQ5LCA4NCwgMjMsIDE1MywgNywgNiwgMSwgCisgICAgMjUyLCAyNDksIDIsIDE1MywgNywgNSwgMSwgMjUyLCAyNDksIDIsIDE1MywgNywgNiwgMSwgMTQ4LCAyLCAyMTMsIDIyNSwgCisgICAgMjMsIDE1MywgNywgNSwgMSwgMTQ4LCAyLCAyMTMsIDIyNSwgMjMsIDE1MywgNywgNiwgMSwgMzIsIDIsIDUwLCAyMzksIAorICAgIDIzNiwgNywgNSwgMSwgMzIsIDIsIDUwLCAyMzksIDIzNiwgNywgNiwgMSwgMzIsIDIsIDIzMywgMiwgMjQ5LCAxMjIsIDcsIAorICAgIDUsIDEsIDMyLCAyLCAyMzMsIDIsIDI0OSwgMTIyLCA3LCA2LCAxLCAxNzQsIDIsIDUwLCAyMzksIDIzNiwgNywgNSwgMSwgCisgICAgMTc0LCAyLCA1MCwgMjM5LCAyMzYsIDcsIDYsIDEsIDE3NCwgMiwgMjMzLCAyLCAyNDksIDEyMiwgNywgNSwgMSwgMTc0LCAyLCAKKyAgICAyMzMsIDIsIDI0OSwgMTIyLCA3LCA2LCAxLCAyMzcsIDIyNSwgMiwgNTAsIDIzOSwgMjM2LCA3LCA1LCAxLCAyMzcsIDIyNSwgCisgICAgMiwgNTAsIDIzOSwgMjM2LCA3LCA2LCAxLCAyMzcsIDIyNSwgMiwgMjMzLCAyLCAyNDksIDEyMiwgNywgNSwgMSwgMjM3LCAKKyAgICAyMjUsIDIsIDIzMywgMiwgMjQ5LCAxMjIsIDcsIDYsIDEsIDE0OCwgMiwgNTAsIDIzOSwgMjM2LCA3LCA1LCAxLCAxNDgsIDIsIAorICAgIDUwLCAyMzksIDIzNiwgNywgNiwgMSwgMTQ4LCAyLCAyMzMsIDIsIDI0OSwgMTIyLCA3LCA1LCAxLCAxNDgsIDIsIDIzMywgMiwgCisgICAgMjQ5LCAxMjIsIDcsIDYsIDEsIDIxOSwgMTUwLCAyLCA1MCwgMjM5LCAyMzYsIDcsIDUsIDEsIDIxOSwgMTUwLCAyLCA1MCwgCisgICAgMjM5LCAyMzYsIDcsIDYsIDEsIDIxOSwgMTUwLCAyLCAyMzMsIDIsIDI0OSwgMTIyLCA3LCA1LCAxLCAyMTksIDE1MCwgMiwgCisgICAgMjMzLCAyLCAyNDksIDEyMiwgNywgNiwgMSwgMTA2LCAyLCA1MCwgMjM5LCAyMzYsIDcsIDUsIDEsIDEwNiwgMiwgNTAsIAorICAgIDIzOSwgMjM2LCA3LCA2LCAxLCAxMDYsIDIsIDIzMywgMiwgMjQ5LCAxMjIsIDcsIDUsIDEsIDEwNiwgMiwgMjMzLCAyLCAKKyAgICAyNDksIDEyMiwgNywgNiwgMSwgMjE4LCAxLCAyLCAyNDcsIDE1NiwgNTUsIDcsIDUsIDEsIDIxOCwgMSwgMiwgMjQ3LCAxNTYsIAorICAgIDU1LCA3LCA2LCAxLCAyMTMsIDExLCAyLCAyNDcsIDE1NiwgNTUsIDcsIDUsIDEsIDIxMywgMTEsIDIsIDI0NywgMTU2LCA1NSwgCisgICAgNywgNiwgMSwgMjA1LCAyMzQsIDcsIDUsIDEsIDIwNSwgMjM0LCA3LCA2LCAxLCAyMzksIDE1NiwgMiwgMjQ4LCAxOTUsIDcsIAorICAgIDUsIDEsIDIzOSwgMTU2LCAyLCAyNDgsIDE5NSwgNywgNiwgMSwgMjI2LCAzNCwgMiwgMTUyLCA0OCwgMjMwLCAzNCwgNywgNSwgCisgICAgMSwgMjQ2LCAyNDEsIDIsIDI0NywgMjcsIDcsIDYsIDEsIDIyMiwgOTcsIDcsIDUsIDEsIDIyMiwgOTcsIDcsIDYsIDEsIAorICAgIDIwNSwgMTYwLCAyLCAxMDksIDcsIDUsIDEsIDIwNSwgMTYwLCAyLCAxMDksIDcsIDYsIDEsIDMyLCAyLCA2NywgNTIsIDcsIAorICAgIDUsIDEsIDMyLCAyLCA2NywgNTIsIDcsIDYsIDEsIDE3NCwgMiwgMjQ4LCAxNDEsIDcsIDUsIDEsIDE3NCwgMiwgMjQ4LCAKKyAgICAxNDEsIDcsIDYsIDEsIDE0OCwgMiwgMjQ1LCAxNjcsIDIzLCAyMjgsIDEzLCA3LCA1LCAxLCAxNDgsIDIsIDI0NSwgMTY3LCAKKyAgICAyMywgMjI4LCAxMywgNywgNiwgMSwgMTQ4LCAyLCAyMTEsIDE4MSwgMjMsIDIyOCwgMTMsIDcsIDUsIDEsIDE0OCwgMiwgCisgICAgMjExLCAxODEsIDIzLCAyMjgsIDEzLCA3LCA2LCAxLCAxNDgsIDIsIDY3LCA1MiwgNywgNSwgMSwgMTQ4LCAyLCA2NywgNTIsIAorICAgIDcsIDYsIDEsIDE0OCwgMiwgNjcsIDg0LCAyMywgMjI4LCAxMywgNywgNSwgMSwgMTQ4LCAyLCA2NywgODQsIDIzLCAyMjgsIAorICAgIDEzLCA3LCA2LCAxLCAyMDYsIDEyNCwgMiwgMjI4LCAxMywgNywgNSwgMSwgMjA2LCAxMjQsIDIsIDIyOCwgMTMsIDcsIDUsIAorICAgIDEsIDIzMCwgMTU5LCAyLCAyNDcsIDI3LCA3LCA1LCAxLCAyMjYsIDM0LCAyLCAyNDcsIDI3LCA3LCA1LCAxLCAyMTMsIDExLCAKKyAgICAyLCAyNDcsIDI3LCA3LCA1LCAxLCAyNDUsIDIyLCAyMzIsIDIwMywgNywgNSwgMSwgMjQ2LCA2NCwgMjQ1LCAxMjcsIDcsIDUsIAorICAgIDEsIDIxOSwgMjE1LCAyNDUsIDEyNywgNywgNiwgMSwgMzIsIDIsIDkxLCA3LCA2LCAxLCAyNDksIDM1LCAyLCA5MSwgNywgNSwgCisgICAgMSwgMjQ5LCAzNSwgMiwgOTEsIDcsIDYsIDEsIDIzMCwgMTU5LCAyLCAxMzQsIDcsIDYsIDEsIDIxMywgMTEsIDIsIDI0NSwgCisgICAgMTYzLCA5MSwgNywgNSwgMSwgMjE4LCAxLCAyLCAyMTMsIDEwOSwgMjEyLCAxOTEsIDcsIDUsIDEsIDIwNSwgMTYwLCAyLCAKKyAgICAyMTMsIDEwOSwgMjEyLCAxOTEsIDcsIDYsIDEsIDI0MCwgMjUsIDIxMywgMjUxLCA3LCA1LCAxLCAyNDAsIDI1LCAyMTMsIAorICAgIDI1MSwgNywgNiwgMSwgNjMsIDIsIDkxLCA3LCA2LCAxLCAxMDYsIDEzNCwgNywgNiwgMSwgMjAxLCAyMDksIDE0OCwgNywgNiwgCisgICAgMSwgMTc0LCAyLCA5MSwgNywgNSwgMSwgMTc0LCAyLCA5MSwgNywgNiwgMSwgMjMyLCAyMDQsIDIsIDkxLCA3LCA1LCAxLCAKKyAgICAyMzIsIDIwNCwgMiwgOTEsIDcsIDYsIDEsIDUsIDIyMCwgMjgsIDIsIDIzOCwgMTMwLCAyMTIsIDE5MSwgNywgNSwgMSwgCisgICAgMjIwLCAyOCwgMiwgMjM4LCAxMzAsIDIxMiwgMTkxLCA3LCA2LCAxLCAyMTksIDE1MCwgMiwgOTEsIDcsIDUsIDEsIDIxOSwgCisgICAgMTUwLCAyLCA5MSwgNywgNiwgMSwgMjA2LCAxMjQsIDIsIDkxLCA3LCA1LCAxLCAyMDYsIDEyNCwgMiwgOTEsIDcsIDUsIDEsIAorICAgIDIwMSwgNjIsIDcsIDUsIDEsIDI1MiwgMTQ0LCA3LCA1LCAxLCAyMDEsIDI1MiwgMTQ0LCA3LCA1LCAxLCA2MywgMiwgMTA5LCAKKyAgICA3LCA1LCAxLCAyMjIsIDE0MiwgNzYsIDcsIDUsIDEsIDI0OSwgMzUsIDIsIDI0NywgMjcsIDcsIDUsIDEsIDI0NiwgMjQxLCAKKyAgICAyLCAyMTIsIDE5MSwgNywgNSwgMSwgMjQ2LCAyNDEsIDIsIDEwOSwgNywgNSwgMSwgMjE4LCAyMjQsIDc1LCA3LCA1LCAxLCAKKyAgICAyMTcsIDEwMCwgNywgNSwgMSwgMjE3LCAxMDEsIDIsIDEwOSwgNywgNSwgMSwgMjIyLCAxNDIsIDc1LCA3LCA1LCAxLCAyMTgsIAorICAgIDIyNCwgMjIyLCAxNDIsIDc1LCA3LCA1LCAxLCAyMTgsIDIyNCwgMjIyLCAxNDIsIDE3NCwgMiwgMTA5LCA3LCA1LCAxLCAKKyAgICAyNDcsIDE5MiwgMjE4LCAyMjQsIDIyMiwgMTQyLCA3NSwgNywgNSwgMSwgMjQ1LCAyMiwgMjMyLCAyMDQsIDIsIDkxLCA3LCAKKyAgICA1LCAxLCAyNDEsIDU2LCAyLCAxMDksIDcsIDUsIDEsIDEyMSwgMjQxLCA1NSwgNywgMSwgNSwgNiwgMjQxLCA1NSwgNywgNSwgCisgICAgMSwgMjQwLCAyMTUsIDcsIDUsIDEsIDIxOSwgNzUsIDIzOCwgNjksIDcsIDUsIDEsIDIwMSwgMjM5LCAxNTUsIDcsIDUsIDEsIAorICAgIDIzOSwgMTU2LCAyLCAxMDksIDcsIDUsIDEsIDIzOSwgNDAsIDIsIDEwOSwgNywgNSwgMSwgMjM3LCAyMjUsIDIsIDkxLCA3LCAKKyAgICA1LCAxLCAyMzIsIDI0OSwgNywgMSwgNSwgNiwgNzQsIDcsIDUsIDEsIDIzMCwgMTU5LCAyLCAyMjYsIDI0NywgMjExLCAxODAsIAorICAgIDcsIDUsIDEsIDIzMCwgMTU5LCAyLCAyNTAsIDI0LCA3LCA1LCAxLCAyMzAsIDE1OSwgMiwgMjE4LCAyMzAsIDEwOSwgNywgNSwgCisgICAgMSwgMjI5LCAyNTEsIDcsIDUsIDEsIDIwMSwgMjI5LCAyOCwgNywgNSwgMSwgMjAxLCAyMjksIDI5LCAyLCAxNTIsIDIzMCwgCisgICAgMzQsIDcsIDUsIDEsIDIyOSwgMjksIDIsIDEwOSwgNywgNSwgMSwgMjI2LCAzNCwgMiwgNDcsIDEwOSwgNywgNSwgMSwgMjI2LCAKKyAgICAzNCwgMiwgMjE4LCAyMzAsIDEwOSwgNywgMSwgNSwgNiwgMjI2LCAzMywgNywgNSwgMSwgMjUwLCAxMjMsIDc2LCA3LCAxLCAKKyAgICA1LCA2LCAyMjIsIDIwNiwgNywgNSwgMSwgMjQ3LCAxOTIsIDIyMiwgMTcwLCA3LCA1LCAxLCAyMjEsIDc4LCA3LCA1LCAxLCAKKyAgICAyMDEsIDEzNywgNywgNSwgMSwgMjAxLCAyMTksIDE1MCwgMiwgMTUyLCAyMzAsIDM0LCA3LCA1LCAxLCAyMDEsIDIxOSwgCisgICAgMTUwLCAyLCAxMDksIDcsIDUsIDEsIDIxOSwgMTUwLCAyLCAxNTIsIDIzMCwgMzQsIDcsIDUsIDEsIDIxOSwgMTUwLCAyLCAKKyAgICAyMTIsIDE5MSwgNywgNSwgMSwgMjE5LCAxNTAsIDIsIDI0MSwgMjEwLCA3LCA1LCAxLCAyMTgsIDIyNCwgMjE5LCAxNTAsIDIsIAorICAgIDI0MSwgMjEwLCA3LCAxLCA1LCA2LCAxMzcsIDcsIDEsIDUsIDYsIDIzMywgMiwgMTM3LCA3LCA1LCAxLCAyMTgsIDEsIDIsIAorICAgIDEwOSwgNywgNSwgMSwgMjQyLCAyMTUsIDcsIDUsIDEsIDI0NSwgMjIsIDIzMiwgMjA0LCAyLCAyMTMsIDIyNSwgMjMsIDEwOSwgCisgICAgNywgNSwgMSwgMjE0LCAxMDQsIDIxOCwgMjI0LCAyNDIsIDIxNSwgNywgNSwgMSwgMjQyLCAyMTYsIDIsIDI0NywgMjcsIDcsIAorICAgIDUsIDEsIDIwMSwgMjEzLCAxMCwgNywgNSwgMSwgMjEzLCAxMSwgMiwgMjE4LCAyMzAsIDEwOSwgNywgNSwgMSwgMTA2LCAKKyAgICAxMzQsIDcsIDUsIDEsIDIwOSwgMjAwLCA3LCA1LCAxLCAyMDksIDE0OSwgMiwgMTA5LCA3LCA1LCAxLCAyMDEsIDIwOSwgCisgICAgMTQ4LCA3LCA1LCAxLCAyMDEsIDIwNywgMTI5LCA3LCA1LCAxLCAyMDEsIDIwNiwgMTIzLCA3LCAxLCA1LCA2LCAyMDYsIAorICAgIDEyMywgNywgNSwgMSwgMjA1LCAxNjAsIDIsIDIxOCwgMjMwLCAxMDksIDcsIDUsIDEsIDIwNSwgMTYwLCAyLCAyNDcsIDI3LCAKKyAgICA3LCA1LCAxLCAyNDIsIDE0MSwgNywgNSwgMSwgMjQyLCAxNDIsIDIsIDI0NywgMjcsIDcsIDEsIDI0MCwgMjUsIDIxMywgCisgICAgMjUxLCA3LCAxLCAyMjEsIDg0LCAyMDgsIDE3MCwgMjQxLCAxMDQsIDcsIDEsIDIzMywgMiwgMjQwLCAyNSwgMjEzLCAyNTEsIAorICAgIDcsIDEsIDIxMywgMjMyLCAyNDksIDM0LCA3LCAxLCAyNDksIDIyOCwgMjQ3LCAyMDMsIDcsIDEsIDUsIDYsIDI1MSwgMTUwLCAKKyAgICA3LCA1LCAxLCAyNDcsIDE5MiwgMjIyLCAxNDIsIDc1LCA3LCAxLCA1LCA2LCAyNDEsIDU2LCAyLCAxMDksIDcsIDEsIDUsIDYsIAorICAgIDIzOSwgMTU1LCA3LCA1LCAxLCAyMzIsIDIwNCwgMiwgMjQ3LCA1NiwgNywgNSwgMSwgMjAxLCAyMzIsIDc2LCA3LCAxLCA1LCAKKyAgICA2LCAxNDksIDcsIDUsIDEsIDIyMCwgMjgsIDIsIDEwOSwgNywgMSwgMjQwLCAyNSwgMjEzLCAyNTIsIDIsIDkxLCA3LCAxLCAKKyAgICAyMTgsIDIyNCwgMjQwLCAyNSwgMjEzLCAyNTIsIDIsIDkxLCA3LCA1LCAxLCAyNDMsIDE5OCwgMjQ1LCAxMjcsIDcsIDUsIDEsIAorICAgIDI0NSwgMTk0LCAyNDUsIDEyNywgNywgNSwgMSwgMjQzLCAxOTgsIDI0NSwgMTI4LCAyLCAyNDcsIDI3LCA3LCA1LCAxLCAKKyAgICAyMTAsIDI0NSwgMjQ1LCAxMjcsIDcsIDUsIDEsIDIxMiwgODUsIDI0NSwgMTI3LCA3LCA1LCAxLCAyMTIsIDEzOCwgMjQ1LCAKKyAgICAxMjgsIDIsIDI0NywgMjcsIDcsIDUsIDEsIDI0MiwgNywgMjQ1LCAxMjcsIDcsIDUsIDEsIDIyOSwgODMsIDI0NSwgMTI3LCAKKyAgICA3LCA1LCAxLCAyMjksIDMwLCAyNDUsIDEyNywgNywgMSwgMjQ5LCAyMjgsIDIyMSwgMTMwLCA3LCAxLCAyNDksIDIzNiwgCisgICAgMjIxLCAxMzAsIDcsIDUsIDEsIDIwMSwgMjM5LCAxNTYsIDIsIDI0MSwgMjEwLCA3LCA1LCAxLCAyMDEsIDIzOSwgMTU2LCAyLCAKKyAgICAyNDEsIDIxMSwgMjMsIDIxMiwgMTkxLCA2NSwgMSwgNSwgMjM5LCAxNTUsIDY1LCAxLCA1LCAyMzksIDE1NiwgMiwgMTA5LCAKKyAgICA2NSwgMSwgNSwgMjMyLCAyMDMsIDY1LCAxLCA1LCAxMzcsIDY1LCAxLCA1LCAyMDEsIDEzNywgNjUsIDEsIDUsIDIwMSwgCisgICAgMjE5LCAxNTAsIDIsIDEwOSwgNjUsIDEsIDUsIDYsIDIzMywgMiwgMTM3LCA2NSwgMSwgNSwgMjA3LCAxMjksIDY1LCAxLCA1LCAKKyAgICAyMDYsIDEyMywgNjUsIDEsIDIyMCwgMTI3LCA2NSwgMSwgNTAsIDIyMCwgMTI3LCA2NSwgMSwgMjAxLCAyNDcsIDE1NSwgNjUsIAorICAgIDEsIDI1MiwgNTMsIDY1LCAxLCAyMTgsIDIyNCwgMjQ3LCAxNTUsIDY1LCAxLCA0OCwgMTYwLCAyMTgsIDE0OCwgNjUsIDEsIAorICAgIDQ3LCAxNjAsIDIxOCwgMTQ4LCA2NSwgMSwgMjQwLCAyNSwgMjEzLCAyNTEsIDY1LCAxLCAyMTgsIDIyNCwgMjQwLCAyNSwgCisgICAgMjEzLCAyNTEsIDY1LCAxLCA0NywgMjUxLCAyNDMsIDY1LCAxLCA0OCwgMjUxLCAyNDMsIDY1LCAxLCAxMjAsIDI1MSwgMjQzLCAKKyAgICA2NSwgMSwgMTMwLCAyNTEsIDI0MywgNjUsIDEsIDI0NywgMjI4LCAyNTMsIDIxLCAyNDgsIDE5NSwgNjUsIDEsIDc5LCAyMjksIAorICAgIDIwNSwgNjUsIDEsIDIyOCwgMTMsIDY1LCAxLCAyNTMsIDksIDI1MywgMjEsIDY1LCAxLCAyMzksIDIzNywgMjUzLCAyMSwgCisgICAgNjUsIDEsIDExNCwgNzksIDIyOSwgMjA1LCA2NSwgMSwgMTE0LCAyMjgsIDEzLCA2NSwgMSwgMTE0LCAyMzksIDIzNywgMjUzLCAKKyAgICAyMSwgNjUsIDEsIDExNCwgMjUzLCA5LCAyNTMsIDIxLCA2NSwgMSwgMjExLCA0OCwgMjQ3LCAxNjIsIDY1LCAxLCAxNjAsIAorICAgIDIxMSwgNDgsIDI0NywgMTYyLCA2NSwgMSwgMjQ4LCAxMjcsIDQ4LCAxNjAsIDIxOCwgMTQ4LCA2NSwgMSwgMjQ4LCAxMjcsIAorICAgIDQ3LCAxNjAsIDIxOCwgMTQ4LCA2NSwgMSwgMTIwLCAyMTIsIDIwMSwgNjUsIDEsIDEzMCwgMjEyLCAyMDEsIDY1LCAxLCAKKyAgICAxMDEsIDUzLCA2NSwgMSwgMjI2LCAyMDIsIDUzLCAyNDksIDEyMiwgNjcsIDUyLCAyMTgsIDE0OSwgNTIsIDIyMiwgMTk2LCAKKyAgICA1LCAyMTEsIDE4MCwgNTAsIDI1MywgOSwgMjUzLCAyMSwgNjUsIDEsIDIxOCwgMjA5LCAxMDksIDY1LCAxLCAyNDcsIDYwLCAKKyAgICAyNTMsIDIxLCA2NSwgMSwgNSwgMjQwLCAyMTUsIDY1LCAxLCA1LCAxNDksIDY1LCAxLCA1LCAxODIsIDY1LCAxLCA1LCAyMDYsIAorICAgIDE5NSwgNjUsIDEsIDUsIDIxOCwgMjI0LCAyNDAsIDI1LCAyMTMsIDI1MSwgNjUsIDEsIDI0MiwgMTU2LCAxMzUsIDEzNCwgCisgICAgNjUsIDEsIDEyNywgMTM1LCAxMzQsIDY1LCAxLCAyMjYsIDI0OSwgMTM1LCAxMzQsIDY1LCAxLCAxMTQsIDEzNSwgMTM0LCAKKyAgICA2NSwgMSwgMjQyLCAxNTUsIDEzNSwgMTM0LCA2NSwgMSwgMjA2LCAxLCAyNDUsIDIxNywgMTM1LCA4MywgNjUsIDEsIDIwNiwgCisgICAgNzYsIDI0NSwgMjE3LCAxMzUsIDgzLCA2NSwgMSwgMjA4LCAxNjgsIDY1LCAxLCAyMDksIDIzMCwgNjUsIDEsIDUwLCAyNTIsIAorICAgIDUzLCA2NSwgMSwgMTE0LCAxMzAsIDI1MSwgMjQzLCA2NSwgMSwgMTE0LCAxMjAsIDI1MSwgMjQzLCA2NSwgMSwgMTE0LCA0NywgCisgICAgMjUxLCAyNDMsIDY1LCAxLCAxMTQsIDQ4LCAyNTEsIDI0MywgNjUsIDEsIDExNCwgMjE4LCAxNDgsIDY1LCAxLCAyMjYsIAorICAgIDI0NywgMjM5LCAyMzcsIDI1MywgMjEsIDY1LCAxLCAyMjYsIDI0NywgNTAsIDIzOSwgMjM3LCAyNTMsIDIxLCA2NSwgMSwgCisgICAgMjI2LCAyNDcsIDUwLCAyNTMsIDksIDI1MywgMjEsIDY1LCAxLCAxMTQsIDIxMSwgMTgwLCA2NSwgMSwgMjE5LCA4MSwgMjQ3LCAKKyAgICAxNjIsIDY1LCAxLCAyNTAsIDQyLCAxMjcsIDIxMSwgMTE4LCA2NSwgMSwgMjQzLCAzNCwgMTI3LCAyMTEsIDExOCwgNjUsIDEsIAorICAgIDI1MCwgNDIsIDExNCwgMjExLCAxMTgsIDY1LCAxLCAyNDMsIDM0LCAxMTQsIDIxMSwgMTE4LCA2NSwgMSwgMjE1LCAyMDUsIAorICAgIDY1LCAxLCAyMjIsIDE0MiwgMjE1LCAyMDUsIDY1LCAxLCAxMTQsIDQ3LCA0NSwgMzYsIDIzOSwgMjM3LCAyNTMsIDIxLCAzNiwgCisgICAgMjUzLCA5LCAyNTMsIDIxLCAzNiwgMjQ3LCAyMjgsIDI1MywgMjEsIDM2LCAyMTEsIDE4MCwgMzYsIDIyOCwgMTMsIDM2LCAKKyAgICAyMjIsIDgxLCAzNiwgMjQ5LCAxMjIsIDM2LCA2NywgNTIsIDM2LCAyNDUsIDE2NiwgMzYsIDIzOCwgMTMwLCA1MiwgMzYsIAorICAgIDIxOCwgMTQ5LCA1MiwgMzYsIDUwLCAyNTMsIDksIDI1MywgMjEsIDM2LCAyNDgsIDE5NSwgMzYsIDc5LCAyMjksIDIwNiwgCisgICAgNTIsIDM2LCA1MCwgNzksIDIyOSwgMjA2LCA1MiwgMzYsIDUwLCAyMzksIDIzNywgMjUzLCAyMSwgMzYsIDI0OCwgMjE3LCAKKyAgICAzNiwgMjMzLCAyLCAyNDksIDEyMiwgMzYsIDIwMSwgMjQ3LCAxNTYsIDUyLCAzNiwgMjQ3LCAxNTYsIDUyLCAzNiwgMjE4LCAKKyAgICAyMjQsIDI0NywgMTU2LCA1MiwgMzYsIDI0NywgMTU2LCA4NCwgMjE4LCAxNjcsIDM2LCAyMzksIDIzNywgMjUzLCAyMiwgNTUsIAorICAgIDM2LCAyNTMsIDksIDI1MywgMjIsIDU1LCAzNiwgNDcsIDIxMiwgMjAyLCA1NSwgMzYsIDQ4LCAyMTIsIDIwMiwgNTUsIDM2LCAKKyAgICA0NywgMjUyLCAxMDksIDUyLCAzNiwgMjM4LCA2OSwgMzYsIDQ3LCAxNjAsIDIxOCwgMTQ5LCA1NSwgMzYsIDEyMCwgMjEyLCAKKyAgICAyMDIsIDU1LCAzNiwgMTMwLCAyMTIsIDIwMiwgNTUsIDM2LCAxMDEsIDMsIDU1LCAzNiwgMjI2LCAyMDIsIDMsIDU1LCAzNiwgCisgICAgMjIyLCAyNCwgMjM4LCAxMzAsIDU1LCAzNiwgMjE4LCAyMzAsIDIzOCwgMTMwLCA1NSwgMzYsIDY3LCA1NSwgMzYsIDI0NSwgCisgICAgMTY3LCA1NSwgMzYsIDIxOCwgMTQ5LCA1NSwgMzYsIDI0NywgMTU2LCA1NSwgMzYsIDI0OCwgMTQxLCAzNiwgMjIyLCAxOTYsIAorICAgIDM2LCA3OSwgMjI5LCAyMDYsIDU1LCAzNiwgMjQ5LCAxMTYsIDU1LCAzNiwgMjMzLCAyLCA1MCwgMjUyLCAyMCwgNTUsIDM2LCAKKyAgICAyNDgsIDE5NiwgNTUsIDM2LCAyNDcsIDIyOCwgMjUzLCAyMiwgNTUsIDM2LCAyNDksIDEyMywgNTUsIDM2LCAyMzMsIDIsIAorICAgIDI0OSwgMTIzLCA1NSwgMzYsIDIxMSwgMTgxLCA1NSwgMzYsIDIyOCwgMTQsIDU1LCAzNiwgMTE0LCAyMjksIDIwNSwgMzYsIAorICAgIDUwLCAxMTQsIDIyOSwgMjA1LCAzNiwgMjExLCAxODEsIDIyMiwgODIsIDM2LCAyMTUsIDE0NCwgMjEzLCAyMjUsIDIyMiwgCisgICAgODIsIDM2LCAxNTIsIDIxMywgMjI1LCAyMjIsIDgyLCAzNiwgMjE1LCAxNDQsIDIxNCwgMTgxLCAyMjIsIDgyLCAzNiwgMTUyLCAKKyAgICAyMTQsIDE4MSwgMjIyLCA4MiwgMzYsIDQ4LCAxNjAsIDIxOCwgMTQ5LCA1NSwgMzYsIDIzMywgMiwgMjQ5LCAxMTYsIDU1LCAKKyAgICAzNiwgNDksIDU1LCAzNiwgMjE3LCA4NSwgNTUsIDM2LCAyMDYsIDE5NiwgNTIsIDM2LCA3OSwgMjExLCAxODAsIDM2LCA1MCwgCisgICAgMjIyLCA4MSwgMzYsIDIzOSwgMjM3LCAxMzUsIDgzLCAzNiwgMjUzLCA5LCAxMzUsIDgzLCAzNiwgMjcsIDIyMSwgMTI0LCAKKyAgICAzNiwgMjcsIDIzMSwgMjMsIDM2LCAyNywgMjQ1LCAxNjAsIDIxMSwgMTA2LCAzNiwgMjcsIDIwNSwgMjIxLCAzNiwgMjQ5LCAKKyAgICAxMTYsIDUyLCAzNiwgMjQyLCAyNDIsIDMsIDU1LCAzNiwgNTAsIDc5LCAyMjksIDIwNiwgNTUsIDM2LCA0NywgMjUyLCAxMDksIAorICAgIDU1LCAzNiwgMjI0LCA0MywgMjExLCAxODEsIDUyLCAzNiwgMjM4LCAxMzYsIDUyLCAzNiwgMjUyLCAxNDksIDE0NiwgMjExLCAKKyAgICAxMzAsIDUyLCAzNiwgNDcsIDQ4LCA1MSwgNTUsIDM2LCAxNjcsIDUxLCA1NSwgMzYsIDIzOSwgMjQyLCAyMzIsIDExNywgMzYsIAorICAgIDQ4LCAyNTEsIDI0NCwgNTIsIDM2LCA0NywgMTYwLCAyMTgsIDE0OSwgNTIsIDM2LCAyNDIsIDQsIDM2LCAyMDYsIDE5NiwgCisgICAgNTUsIDM2LCA0NywgMjUxLCAyNDQsIDU1LCAzNiwgNDgsIDI1MSwgMjQ0LCA1NSwgMzYsIDQ4LCAyNTEsIDI0NCwgMjMsIAorICAgIDEyMCwgMjUxLCAyNDQsIDU1LCAzNiwgNDgsIDE2MCwgMjE4LCAxNDksIDUyLCAzNiwgNjcsIDg0LCAyMTgsIDE2NywgMzYsIAorICAgIDI1MSwgMjEwLCA1NSwgMzYsIDUwLCAyMTgsIDE0OSwgNTUsIDM2LCAyMDUsIDMxLCA1MiwgMzYsIDUwLCAyNDksIDEyMywgCisgICAgNTUsIDM2LCA1MCwgMjQ5LCAxMjIsIDM2LCA1MCwgMjI4LCAxMywgMzYsIDUwLCAyMjgsIDE0LCA1NSwgMzYsIDUwLCAyMTEsIAorICAgIDE4MCwgMzYsIDUwLCAyMzMsIDIsIDI0OSwgMTIyLCAzNiwgNTAsIDg2LCA1MSwgNTUsIDM2LCA3LCA1LCAxLCA2MiwgMzYsIAorICAgIDcsIDUsIDEsIDc1LCAzNiwgNywgNSwgMSwgNzQsIDM2LCA3LCA1LCAxLCA3NiwgMzYsIDcsIDUsIDEsIDcxLCAzNiwgNywgNSwgCisgICAgMSwgMjQ5LCAzNCwgMzYsIDcsIDUsIDEsIDI0NiwgMjQwLCAzNiwgNywgNSwgMSwgMjM5LCAxNTUsIDM2LCA3LCA1LCAxLCAKKyAgICAyMjksIDI4LCAzNiwgNywgNSwgMSwgMTM3LCAzNiwgNywgNSwgMSwgMjEzLCAxMCwgMzYsIDcsIDUsIDEsIDIwOSwgMTQ4LCAKKyAgICAzNiwgNywgNSwgMSwgMjA2LCAxOTUsIDI3LCA2LCAxLCAyMzksIDI4LCAyNywgNSwgMSwgMjM5LCAyOCwgMjcsIDYsIDEsIAorICAgIDI1MiwgMTksIDIxNywgMTU0LCAyNywgNSwgMSwgMjUyLCAxOSwgMjE3LCAxNTQsIDI3LCAyMjMsIDE3NywgNTMsIDI3LCAKKyAgICAyMjksIDkyLCAyMjMsIDE3NywgNTMsIDI3LCA2LCAxLCAyMjIsIDEwLCAyNDUsIDEzNCwgMjcsIDUsIDEsIDIyMiwgMTAsIAorICAgIDI0NSwgMTM0LCAyNywgMjA1LCAyMjEsIDI3LCA1LCAyMTgsIDIyNCwgMjI5LCA2NCwgMjE1LCA2NCwgOTMsIDI3LCA1LCAKKyAgICAyNDQsIDIxLCAyMjksIDY0LCAyMTUsIDY0LCA5MywgMjcsIDUsIDIxOCwgMjI0LCAyNDQsIDIxLCAyMjksIDY0LCAyMTUsIAorICAgIDY0LCA5MywgMjcsIDIxOSwgMTk2LCA4MywgMjcsIDYsIDEsIDIwNSwgMjI3LCAyNywgMjExLCAxMDYsIDI3LCAyNDUsIDE2MCwgCisgICAgMjExLCAxMDYsIDI3LCA2LCAxLCAyNTIsIDE0NSwgMiwgMjExLCAxMDYsIDI3LCAyNTIsIDk2LCAyMTIsIDEwOSwgMjcsIDYsIAorICAgIDEsIDI0MiwgMjQ1LCAyLCAyMTEsIDEwNiwgMjcsIDYsIDEsIDI0MiwgMjAyLCAyLCAyMTEsIDEwNiwgMjcsIDYsIDEsIDIzMiwgCisgICAgMjUwLCAyLCAyMTEsIDEwNiwgMjcsIDYsIDEsIDIyMiwgMTY5LCAyLCAyMTEsIDEwNiwgMjcsIDYsIDEsIDIwOSwgMjAxLCAyLCAKKyAgICAyMTEsIDEwNiwgMjcsIDYsIDEsIDIyMiwgMTcxLCAyLCAyMTEsIDEwNiwgMjcsIDUsIDEsIDIzMiwgMjUwLCAyLCAyNDUsIAorICAgIDE2MCwgMjMsIDIxMSwgMTA2LCAyNywgNiwgMSwgMjUyLCAxNDQsIDI3LCA2LCAxLCAyNTAsIDgsIDI3LCA2LCAxLCAyNDAsIAorICAgIDIxNSwgMjcsIDYsIDEsIDI0NSwgMjI3LCAyNywgNiwgMSwgMjQyLCAyNDQsIDI3LCA2LCAxLCAyMDUsIDg0LCAyNywgNiwgMSwgCisgICAgMjQyLCAyMDEsIDI3LCA2LCAxLCAyMTIsIDIzLCAyNywgNiwgMSwgMjMyLCAyNDksIDI3LCA2LCAxLCAyMzIsIDE0LCAyNywgCisgICAgNiwgMSwgMjMwLCAxMDIsIDI3LCA2LCAxLCAyMjYsIDExNCwgMjcsIDYsIDEsIDIyMywgMjE3LCAyNywgNiwgMSwgMjA2LCAKKyAgICAxNjksIDI3LCA2LCAxLCAyMjIsIDE2OCwgMjcsIDYsIDEsIDIyMSwgNTMsIDI3LCA2LCAxLCAyMTgsIDIxMCwgMjcsIDYsIDEsIAorICAgIDIxNSwgNjMsIDI3LCA2LCAxLCAyMTIsIDE1MSwgMjcsIDYsIDEsIDIwOSwgMjAwLCAyNywgNiwgMSwgMjIxLCA3OCwgMjcsIAorICAgIDYsIDEsIDI0OCwgNTgsIDI3LCA2LCAxLCAyMjAsIDkzLCAyNywgNiwgMSwgMjIyLCAxNzAsIDI3LCA2LCAxLCAyMzIsIDI1MCwgCisgICAgMiwgMjQ1LCAxNTksIDI3LCA2LCAxLCAyMDksIDIwMSwgMiwgMjQ1LCAxNTksIDI3LCA1LCAxLCAyNTIsIDE0NSwgMiwgMjExLCAKKyAgICAxMDYsIDI3LCA1LCAxLCAyNDIsIDI0NSwgMiwgMjExLCAxMDYsIDI3LCA1LCAxLCAyNDIsIDIwMiwgMiwgMjExLCAxMDYsIAorICAgIDI3LCA1LCAxLCAyMzIsIDI1MCwgMiwgMjExLCAxMDYsIDI3LCA1LCAxLCAyMDksIDIwMSwgMiwgMjQ1LCAxNjAsIDIzLCAKKyAgICAyMTEsIDEwNiwgMjcsIDUsIDEsIDI1MiwgMTQ0LCAyNywgNSwgMSwgMjUwLCA4LCAyNywgNSwgMSwgMjQwLCAyMTUsIDI3LCAKKyAgICA1LCAxLCAyNDUsIDIyNywgMjcsIDUsIDEsIDI0MiwgMjQ0LCAyNywgNSwgMSwgMjA1LCA4NCwgMjcsIDUsIDEsIDI0MiwgCisgICAgMjAxLCAyNywgNSwgMSwgMjEyLCAyMywgMjcsIDUsIDEsIDIzMiwgMjQ5LCAyNywgNSwgMSwgMjMyLCAxNCwgMjcsIDUsIDEsIAorICAgIDIzMCwgMTAyLCAyNywgNSwgMSwgMjI2LCAxMTQsIDI3LCA1LCAxLCAyMjMsIDIxNywgMjcsIDUsIDEsIDIwNiwgMTY5LCAyNywgCisgICAgNSwgMSwgMjIyLCAxNjgsIDI3LCA1LCAxLCAyMjEsIDUzLCAyNywgNSwgMSwgMjE4LCAyMTAsIDI3LCA1LCAxLCA0MiwgMjE1LCAKKyAgICA2MywgMjcsIDUsIDEsIDIxNSwgNjMsIDI3LCA1LCAxLCAyMTIsIDE1MSwgMjcsIDUsIDEsIDIwOSwgMjAwLCAyNywgNSwgMSwgCisgICAgMjIxLCA3OCwgMjcsIDUsIDEsIDI0OCwgNTgsIDI3LCA1LCAxLCAyMjAsIDkzLCAyNywgNSwgMSwgMjIyLCAxNzAsIDI3LCA1LCAKKyAgICAxLCAyMzIsIDI1MCwgMiwgMjQ1LCAxNTksIDI3LCA1LCAxLCAyMDksIDIwMSwgMiwgMjQ1LCAxNTksIDI3LCA1LCAxLCAyMjIsIAorICAgIDE2OSwgMiwgMjExLCAxMDYsIDI3LCA1LCAxLCAyMDksIDIwMSwgMiwgMjExLCAxMDYsIDI3LCA1LCAxLCAyMjIsIDE3MSwgMiwgCisgICAgMjExLCAxMDYsIDI3LCA2LCAyMzIsIDQyLCA5MywgMjcsIDI1MCwgOSwgOTMsIDI3LCAyMTIsIDI0LCA5MywgMjcsIDIwOSwgCisgICAgMjAxLCAyLCAyMzgsIDEzMCwgOTMsIDI3LCAyMDksIDIwMSwgMiwgMjUzLCA5LCAyMywgMjM4LCAxMzAsIDkzLCAyNywgMjA5LCAKKyAgICAyMDEsIDIsIDI0NSwgMTY3LCAyMywgMjM4LCAxMzAsIDkzLCAyNywgMjIxLCA3OSwgOTMsIDI3LCAyMjEsIDU0LCA5MywgMjcsIAorICAgIDIzMiwgNDIsIDkzLCAyNywgMSwgMjUyLCAxOSwgMjMxLCAyNywgMjcsIDUsIDEsIDI1MiwgMTksIDIzMSwgMjcsIDI3LCAxLCAKKyAgICAyMTQsIDUsIDI3LCA1LCAxLCAyMTQsIDUsIDI3LCAxLCAyNDUsIDEzNCwgMjcsIDUsIDEsIDI0NSwgMTM0LCAyNywgMSwgCisgICAgMjMxLCAyNywgMjcsIDUsIDEsIDIzMSwgMjcsIDI3LCAxLCAyMTcsIDE1NCwgMjcsIDUsIDEsIDIxNywgMTU0LCA4MSwgNiwgCisgICAgMSwgMjE1LCAyMDYsIDgxLCA1LCAxLCAyMTUsIDIwNiwgODEsIDYsIDEsIDI0MiwgMTMsIDgxLCA1LCAxLCAyNDIsIDEzLCAKKyAgICA4MSwgNiwgMSwgMjMxLCAxNTAsIDgxLCA1LCAxLCAyMzEsIDE1MCwgODEsIDYsIDEsIDIzOCwgMTIyLCA4MSwgNSwgMSwgCisgICAgMjM4LCAxMjIsIDgxLCA2LCAxLCAyNDAsIDIxMCwgODEsIDUsIDEsIDI0MCwgMjEwLCA4MSwgNiwgMSwgMjE1LCAxNzMsIDgxLCAKKyAgICA1LCAxLCAyMTUsIDE3MywgODEsIDYsIDEsIDI0NSwgMjQyLCA4MSwgNSwgMSwgMjQ1LCAyNDIsIDI3LCAyMzIsIDE1LCA5MywgCisgICAgMjcsIDIxOCwgMjExLCA5MywgMjcsIDIyOSwgNjQsIDIxNSwgNjQsIDkzLCAyNywgMSwgMjA1LCAyMjcsIDI3LCA2LCAyMTIsIAorICAgIDI0LCA5MywgMjcsIDIyOSwgNjQsIDI0MiwgMjQ1LCA5MywgMjcsIDIxOCwgMjI0LCAyMjksIDY0LCAyNDIsIDI0NSwgOTMsIAorICAgIDI3LCA2LCAxLCAyMTUsIDE1OCwgMjcsIDUsIDEsIDIxNSwgMTU4LCAyNywgNiwgMjI5LCA2NCwgMjE1LCA2NCwgOTMsIDI3LCAKKyAgICA2LCAxLCAyMTcsIDE1MSwgMjcsIDUsIDEsIDIxNywgMTUxLCAyNywgMjE4LCAyMTEsIDIsIDIxMywgMjI1LCA5MywgMjcsIDYsIAorICAgIDIxOCwgMjI0LCAyMjksIDY0LCAyMTUsIDY0LCA5MywgMjcsIDYsIDI0NCwgMjEsIDIyOSwgNjQsIDIxNSwgNjQsIDkzLCAyNywgCisgICAgNiwgMjE4LCAyMjQsIDI0NCwgMjEsIDIyOSwgNjQsIDIxNSwgNjQsIDkzLCAzNCwgNiwgMSwgMjMzLCAxMzAsIDIsIDIzOSwgCisgICAgMjM2LCAzNCwgNiwgMSwgMjMyLCAyNTMsIDM0LCA2LCAxLCAyNDUsIDY4LCAzNCwgNiwgMSwgMjQwLCAzMiwgMzQsIDYsIDEsIAorICAgIDIwOSwgMjQ2LCAyMzMsIDEyOSwgMzQsIDYsIDEsIDI0MywgMTkzLCAzNCwgNiwgMSwgMjQ5LCA0NCwgNzQsIDM0LCA2LCAxLCAKKyAgICAyMDYsIDExLCAzNCwgNiwgMSwgMjMyLCAxODIsIDM0LCA2LCAxLCAyMjksIDE3NSwgMzQsIDYsIDEsIDIyNCwgMTczLCAzNCwgCisgICAgNiwgMSwgMjEwLCAyMzEsIDM0LCA2LCAxLCAyMzEsIDc0LCAzNCwgNiwgMSwgMjM3LCAyMjUsIDIsIDIzOSwgMjM2LCAzNCwgCisgICAgNiwgMSwgMjE1LCAxNDQsIDcxLCAzNCwgNiwgMSwgMjQzLCAxODksIDM0LCA2LCAxLCA2MiwgMzQsIDYsIDEsIDI1MCwgNjEsIAorICAgIDM0LCA2LCAxLCAyMDksIDM5LCAzNCwgNiwgMSwgMjQwLCA4NSwgMzQsIDYsIDEsIDI0NiwgOSwgMzQsIDYsIDEsIDIzMywgCisgICAgMTI5LCAzNCwgNiwgMSwgMjA1LCA3MiwgMzQsIDYsIDEsIDIwNSwgOTMsIDM0LCA2LCAxLCA3NCwgMzQsIDYsIDEsIDIxNSwgCisgICAgMTQ0LCA3NCwgMzQsIDYsIDEsIDE3MiwgMzQsIDYsIDEsIDI0MywgNjgsIDM0LCA2LCAxLCAyNDMsIDUwLCAzNCwgNiwgMSwgCisgICAgMjQzLCA0MSwgMzQsIDYsIDEsIDc2LCAzNCwgNiwgMSwgMjIxLCAxNzQsIDM0LCA2LCAxLCAyNDIsIDIzNSwgMzQsIDYsIDEsIAorICAgIDI0MiwgMjI1LCAzNCwgNiwgMSwgMjEyLCAxMzEsIDM0LCA2LCAxLCA3MSwgMzQsIDYsIDEsIDI0MywgOTcsIDM0LCA2LCAxLCAKKyAgICAxNTUsIDM0LCA2LCAxLCAyMTAsIDIzNywgMzQsIDYsIDEsIDI0OCwgODIsIDM0LCA2LCAxLCAyMTYsIDIsIDM0LCA2LCAxLCAKKyAgICAyMTUsIDIxNywgMzQsIDYsIDEsIDIzOSwgOTQsIDUzLCAzNCwgNiwgMSwgMjA2LCAzMCwgMzQsIDYsIDEsIDIxNCwgMTg3LCAKKyAgICA1MywgMzQsIDYsIDEsIDc1LCAzNCwgNiwgMSwgMjA1LCAyMTMsIDM0LCA2LCAxLCAxOTAsIDM0LCA1LCAxLCA2MiwgMzQsIDUsIAorICAgIDEsIDI1MCwgNjEsIDM0LCA1LCAxLCAyMDksIDM5LCAzNCwgNSwgMSwgMjQwLCA4NSwgMzQsIDUsIDEsIDI0NiwgOSwgMzQsIAorICAgIDUsIDEsIDIzMywgMTI5LCAzNCwgNSwgMSwgMjA1LCA3MiwgMzQsIDUsIDEsIDIwNSwgOTMsIDM0LCA1LCAxLCA3NCwgMzQsIAorICAgIDUsIDEsIDIxNSwgMTQ0LCA3NCwgMzQsIDUsIDEsIDE3MiwgMzQsIDUsIDEsIDI0MywgNjgsIDM0LCA1LCAxLCAyNDMsIDUwLCAKKyAgICAzNCwgNSwgMSwgMjQzLCA0MSwgMzQsIDUsIDEsIDc2LCAzNCwgNSwgMSwgMjIxLCAxNzQsIDM0LCA1LCAxLCAyNDIsIDIzNSwgCisgICAgMzQsIDUsIDEsIDI0MiwgMjI1LCAzNCwgNSwgMSwgMjEyLCAxMzEsIDM0LCA1LCAxLCA3MSwgMzQsIDUsIDEsIDI0MywgOTcsIAorICAgIDM0LCA1LCAxLCAxNTUsIDM0LCA1LCAxLCAyMTAsIDIzNywgMzQsIDUsIDEsIDI0OCwgODIsIDM0LCA1LCAxLCAyMTYsIDIsIAorICAgIDM0LCA1LCAxLCAyMTUsIDIxNywgMzQsIDUsIDEsIDIzOSwgOTQsIDUzLCAzNCwgNSwgMSwgMjA2LCAzMCwgMzQsIDUsIDEsIAorICAgIDIxNCwgMTg3LCA1MywgMzQsIDUsIDEsIDc1LCAzNCwgNSwgMSwgMjA1LCAyMTMsIDM0LCA1LCAxLCAxOTAsIDM0LCA1LCAxLCAKKyAgICAyMzMsIDEzMCwgMiwgMjM5LCAyMzYsIDM0LCA1LCAxLCAyMzIsIDI1MywgMzQsIDUsIDEsIDI0NSwgNjgsIDM0LCA1LCAxLCAKKyAgICAyNDAsIDMyLCAzNCwgNSwgMSwgMjA5LCAyNDYsIDIzMywgMTI5LCAzNCwgNSwgMSwgMjQzLCAxOTMsIDM0LCA1LCAxLCAyNDksIAorICAgIDQ0LCA3NCwgMzQsIDUsIDEsIDIwNiwgMTEsIDM0LCA1LCAxLCAyMzIsIDE4MiwgMzQsIDUsIDEsIDIyOSwgMTc1LCAzNCwgNSwgCisgICAgMSwgMjI0LCAxNzMsIDM0LCA1LCAxLCAyMTAsIDIzMSwgMzQsIDUsIDEsIDIzMSwgNzQsIDM0LCA1LCAxLCAyMzcsIDIyNSwgCisgICAgMiwgMjM5LCAyMzYsIDM0LCA1LCAxLCAyMTUsIDE0NCwgNzEsIDM0LCA1LCAxLCAyNDMsIDE4OSwgMzQsIDYsIDEsIDIyMiwgCisgICAgMTcwLCAzNCwgNSwgMSwgMjIyLCAxNzAsIDM0LCA2LCAxLCAyMDYsIDY1LCAzNCwgNSwgMSwgMjA2LCA2NSwgMzQsIDYsIDEsIAorICAgIDIzMiwgMjQ3LCA3NSwgMzQsIDUsIDEsIDIzMiwgMjQ3LCA3NSwgMzQsIDYsIDEsIDIyOSwgMTgwLCAyMDUsIDE4MywgMzQsIAorICAgIDUsIDEsIDIyOSwgMTgwLCAyMDUsIDE4MywgMzQsIDYsIDEsIDIzMiwgMjQ3LCAyMjksIDE4MCwgMjA1LCAxODMsIDM0LCA1LCAKKyAgICAxLCAyMzIsIDI0NywgMjI5LCAxODAsIDIwNSwgMTgzLCAzNCwgNiwgMSwgMjQ5LCAyMzEsIDIwNSwgMTgzLCAzNCwgNSwgMSwgCisgICAgMjQ5LCAyMzEsIDIwNSwgMTgzLCAzNCwgNiwgMSwgMjMyLCAyNDcsIDI0OSwgMjMxLCAyMDUsIDE4MywgMzQsIDUsIDEsIAorICAgIDIzMiwgMjQ3LCAyNDksIDIzMSwgMjA1LCAxODMsIDM0LCA2LCAxLCAyMzAsIDI1MiwgMzQsIDUsIDEsIDIzMCwgMjUyLCAzNCwgCisgICAgNiwgMSwgMjIwLCA5MywgMzQsIDUsIDEsIDIyMCwgOTMsIDM0LCA2LCAxLCAyNDEsIDIwNSwgMzQsIDUsIDEsIDI0MSwgMjA1LCAKKyAgICAzNCwgNiwgMSwgMjMyLCAyMDUsIDM0LCA1LCAxLCAyMzIsIDIwNSwgMzQsIDYsIDEsIDIzMiwgMjA2LCAyLCA1MCwgMjM5LCAKKyAgICAyMzcsIDI1MywgMjEsIDM0LCA1LCAxLCAyMzIsIDIwNiwgMiwgNTAsIDIzOSwgMjM3LCAyNTMsIDIxLCAzNCwgNiwgMSwgCisgICAgMjA5LCAyNDksIDM0LCA1LCAxLCAyMDksIDI0OSwgMzQsIDYsIDEsIDIxOCwgOTUsIDIyMiwgMTcwLCAzNCwgNSwgMSwgMjE4LCAKKyAgICA5NSwgMjIyLCAxNzAsIDM0LCA2LCAxLCAyMjIsIDE3MSwgMiwgMjExLCAxNTQsIDM0LCA1LCAxLCAyMjIsIDE3MSwgMiwgCisgICAgMjExLCAxNTQsIDM0LCA2LCAxLCAyMjIsIDEwMywgMzQsIDUsIDEsIDIyMiwgMTAzLCAzNCwgNiwgMSwgMjMxLCAyNywgMzQsIAorICAgIDUsIDEsIDIzMSwgMjcsIDM0LCAyMTEsIDI0MSwgNTMsIDM2LCAzNCwgMjExLCAxNTQsIDM2LCAzNCwgMjIyLCAyNSwgMzYsIAorICAgIDM0LCAyNDYsIDc2LCAyMjAsIDIxMywgMzYsIDM0LCAyMjAsIDg3LCAyMjAsIDIxMywgMzYsIDM0LCAyMjAsIDE5NywgMzYsIAorICAgIDM0LCAyMzgsIDMwLCAyMTEsIDI0MSwgNTMsIDM2LCAzNCwgMjI2LCAyMTMsIDUzLCAzNCwgNiwgMSwgMjE1LCAxNDQsIDIzNywgCisgICAgMjI1LCAyLCAyMTIsIDE5MSwgMzQsIDUsIDEsIDIxNSwgMTQ0LCAyMzcsIDIyNSwgMiwgMjEyLCAxOTEsIDM0LCA2LCAxLCAKKyAgICAyMTYsIDQ4LCA1MywgMzQsIDUsIDEsIDIxNiwgNDgsIDUzLCAzNCwgNiwgMSwgMjQyLCAyMzYsIDIsIDIxMSwgMjA3LCAzNCwgCisgICAgNSwgMSwgMjQyLCAyMzYsIDIsIDIxMSwgMjA3LCAzNCwgNiwgMSwgMjQwLCA4NiwgMiwgMjA5LCAxOTksIDM0LCA1LCAxLCAKKyAgICAyNDAsIDg2LCAyLCAyMDksIDE5OSwgMzQsIDYsIDEsIDI0MCwgODYsIDIsIDkxLCAzNCwgNSwgMSwgMjQwLCA4NiwgMiwgOTEsIAorICAgIDM0LCA2LCAxLCAyNDAsIDg2LCAyLCAyMjYsIDI0NywgMTA5LCAzNCwgNSwgMSwgMjQwLCA4NiwgMiwgMjI2LCAyNDcsIDEwOSwgCisgICAgMzQsIDYsIDEsIDIwNSwgNzMsIDIsIDI0NSwgMjExLCAzNCwgNSwgMSwgMjA1LCA3MywgMiwgMjQ1LCAyMTEsIDM0LCA2LCAxLCAKKyAgICAyMDUsIDk0LCAyLCAyNDUsIDIxMSwgMzQsIDUsIDEsIDIwNSwgOTQsIDIsIDI0NSwgMjExLCAzNCwgNiwgMSwgMjMyLCA2NiwgCisgICAgMiwgMjQ1LCAyMTEsIDM0LCA1LCAxLCAyMzIsIDY2LCAyLCAyNDUsIDIxMSwgMzQsIDYsIDEsIDIzMiwgNjYsIDIsIDc5LCAKKyAgICA5MSwgMzQsIDUsIDEsIDIzMiwgNjYsIDIsIDc5LCA5MSwgMzQsIDYsIDEsIDIzMiwgNjYsIDIsIDkxLCAzNCwgNSwgMSwgCisgICAgMjMyLCA2NiwgMiwgOTEsIDM0LCA2LCAxLCAyNTAsIDExMiwgMTcyLCAzNCwgNSwgMSwgMjUwLCAxMTIsIDE3MiwgMzQsIDYsIAorICAgIDEsIDI0MywgNDIsIDIsIDI0NSwgMjExLCAzNCwgNSwgMSwgMjQzLCA0MiwgMiwgMjQ1LCAyMTEsIDM0LCA2LCAyOCwgMjQzLCAKKyAgICA0MiwgMjQwLCA4NSwgMzQsIDUsIDI4LCAyNDMsIDQyLCAyNDAsIDg1LCAzNCwgNiwgMSwgMjIxLCAxNzUsIDIsIDIyNiwgCisgICAgMjQ3LCAxMDksIDM0LCA1LCAxLCAyMjEsIDE3NSwgMiwgMjI2LCAyNDcsIDEwOSwgMzQsIDYsIDEsIDI1MywgMjgsIDE1NSwgCisgICAgMzQsIDUsIDEsIDI1MywgMjgsIDE1NSwgMzQsIDYsIDEsIDI0MiwgMjI2LCAyLCAyNDUsIDIxMSwgMzQsIDUsIDEsIDI0MiwgCisgICAgMjI2LCAyLCAyNDUsIDIxMSwgMzQsIDYsIDEsIDIxMiwgMTMyLCAyLCAyNDUsIDIxMSwgMzQsIDUsIDEsIDIxMiwgMTMyLCAyLCAKKyAgICAyNDUsIDIxMSwgMzQsIDYsIDEsIDIxMywgMjQzLCA3MSwgMzQsIDUsIDEsIDIxMywgMjQzLCA3MSwgMzQsIDYsIDEsIDIxMywgCisgICAgMjQzLCAxMDYsIDIsIDkxLCAzNCwgNSwgMSwgMjEzLCAyNDMsIDEwNiwgMiwgOTEsIDM0LCA2LCAxLCAyMzksIDE0NCwgMiwgCisgICAgMjQ1LCAyMTEsIDM0LCA1LCAxLCAyMzksIDE0NCwgMiwgMjQ1LCAyMTEsIDM0LCA2LCAyOCwgMjEyLCAxMzIsIDIxMCwgMjM3LCAKKyAgICAzNCwgNSwgMjgsIDIxMiwgMTMyLCAyMTAsIDIzNywgMzQsIDYsIDEsIDI0OCwgODMsIDIsIDI0NSwgMjExLCAzNCwgNSwgMSwgCisgICAgMjQ4LCA4MywgMiwgMjQ1LCAyMTEsIDM0LCA2LCAxLCAyNDgsIDgzLCAyLCA3OSwgOTEsIDM0LCA1LCAxLCAyNDgsIDgzLCAyLCAKKyAgICA3OSwgOTEsIDM0LCA2LCAxLCAyMTUsIDE4NCwgMzQsIDUsIDEsIDIxNSwgMTg0LCAzNCwgNiwgMSwgMjUzLCAyOCwgMjQ4LCAKKyAgICA4MiwgMzQsIDUsIDEsIDI1MywgMjgsIDI0OCwgODIsIDM0LCA2LCAxLCAyNTMsIDI4LCAyNDgsIDgzLCAyLCAyNDUsIDIxMSwgCisgICAgMzQsIDUsIDEsIDI1MywgMjgsIDI0OCwgODMsIDIsIDI0NSwgMjExLCAzNCwgMSwgMjIyLCAxNywgMzQsIDYsIDEsIDIwNSwgCisgICAgNzMsIDIsIDI0OSwgMTIyLCAzNCwgNSwgMSwgMjA1LCA3MywgMiwgMjQ5LCAxMjIsIDM0LCA2LCAxLCAyMzIsIDY2LCAyLCAKKyAgICAxMDksIDM0LCA1LCAxLCAyMzIsIDY2LCAyLCAxMDksIDM0LCA2LCAxLCAyNDMsIDY5LCAyLCAyMTIsIDE5MSwgMzQsIDUsIDEsIAorICAgIDI0MywgNjksIDIsIDIxMiwgMTkxLCAzNCwgNiwgMSwgMjQzLCA0MiwgMiwgMTA5LCAzNCwgNSwgMSwgMjQzLCA0MiwgMiwgCisgICAgMTA5LCAzNCwgNiwgMSwgMjQzLCA0MiwgMiwgMjEyLCAxOTEsIDM0LCA1LCAxLCAyNDMsIDQyLCAyLCAyMTIsIDE5MSwgMzQsIAorICAgIDYsIDEsIDIzMSwgMTYxLCAyNDgsIDgyLCAzNCwgNSwgMSwgMjMxLCAxNjEsIDI0OCwgODIsIDM0LCA2LCAxLCAyNDMsIDUxLCAKKyAgICAyLCAyMTIsIDE5MSwgMzQsIDUsIDEsIDI0MywgNTEsIDIsIDIxMiwgMTkxLCAzNCwgNSwgMSwgMjIyLCAxNywgMzQsIDYsIDEsIAorICAgIDMyLCAyLCAyNDksIDEyMiwgMzQsIDUsIDEsIDMyLCAyLCAyNDksIDEyMiwgMzQsIDYsIDEsIDMyLCAyLCAyNDUsIDE2NiwgCisgICAgMzQsIDUsIDEsIDMyLCAyLCAyNDUsIDE2NiwgMzQsIDYsIDI4LCAzMiwgMjMzLCAxMjksIDM0LCA1LCAyOCwgMzIsIDIzMywgCisgICAgMTI5LCAzNCwgNiwgMSwgMjMzLCAxMzAsIDIsIDI0OSwgMTIyLCAzNCwgNSwgMSwgMjMzLCAxMzAsIDIsIDI0OSwgMTIyLCAKKyAgICAzNCwgNiwgMSwgMjE3LCAxMDAsIDM0LCA1LCAxLCAyMTcsIDEwMCwgMzQsIDYsIDEsIDIxNywgMTAxLCAyLCAyNDUsIDE2NiwgCisgICAgMzQsIDUsIDEsIDIxNywgMTAxLCAyLCAyNDUsIDE2NiwgMzQsIDYsIDEsIDIwNSwgNzMsIDIsIDI0NSwgMTY2LCAzNCwgNSwgCisgICAgMSwgMjA1LCA3MywgMiwgMjQ1LCAxNjYsIDM0LCA2LCAxLCAyMDUsIDk0LCAyLCAyNDUsIDE2NiwgMzQsIDUsIDEsIDIwNSwgCisgICAgOTQsIDIsIDI0NSwgMTY2LCAzNCwgNiwgMSwgMjUzLCAyOCwgMjQzLCAxOTMsIDM0LCA1LCAxLCAyNTMsIDI4LCAyNDMsIAorICAgIDE5MywgMzQsIDYsIDEsIDIzNywgMjI1LCAyLCAyMjgsIDEzLCAzNCwgNSwgMSwgMjM3LCAyMjUsIDIsIDIyOCwgMTMsIDM0LCAKKyAgICA2LCAxLCAyMzcsIDIyNSwgMiwgMjQ1LCAxNjYsIDM0LCA1LCAxLCAyMzcsIDIyNSwgMiwgMjQ1LCAxNjYsIDM0LCA2LCAxLCAKKyAgICAxNDgsIDIsIDI0NSwgMTY2LCAzNCwgNSwgMSwgMTQ4LCAyLCAyNDUsIDE2NiwgMzQsIDYsIDEsIDI1MCwgMTIzLCA3NiwgMzQsIAorICAgIDUsIDEsIDI1MCwgMTIzLCA3NiwgMzQsIDYsIDEsIDI1MCwgMTIzLCAxNDgsIDIsIDI0NSwgMTY2LCAzNCwgNSwgMSwgMjUwLCAKKyAgICAxMjMsIDE0OCwgMiwgMjQ1LCAxNjYsIDM0LCA2LCAxLCAxNzQsIDIsIDI0NSwgMTY2LCAzNCwgNSwgMSwgMTc0LCAyLCAyNDUsIAorICAgIDE2NiwgMzQsIDYsIDEsIDEwNiwgMiwgMjI4LCAxMywgMzQsIDUsIDEsIDEwNiwgMiwgMjI4LCAxMywgMzQsIDYsIDEsIDEwNiwgCisgICAgMiwgMjQ1LCAxNjYsIDM0LCA1LCAxLCAxMDYsIDIsIDI0NSwgMTY2LCAzNCwgNiwgMSwgMTA2LCAyLCA1MCwgMTUzLCAzNCwgCisgICAgNSwgMSwgMTA2LCAyLCA1MCwgMTUzLCAzNCwgNiwgMSwgMjQ4LCA4MywgMiwgMjQ1LCAxNjYsIDM0LCA1LCAxLCAyNDgsIDgzLCAKKyAgICAyLCAyNDUsIDE2NiwgMzQsIDYsIDEsIDI0MCwgODYsIDIsIDI0NSwgMjExLCAzNCwgNSwgMSwgMjQwLCA4NiwgMiwgMjQ1LCAKKyAgICAyMTEsIDM0LCA2LCAxLCAyMDYsIDMxLCAyLCAyNDUsIDE2NiwgMzQsIDUsIDEsIDIwNiwgMzEsIDIsIDI0NSwgMTY2LCAzNCwgCisgICAgNiwgMSwgMjQwLCA4NiwgMiwgMjEzLCAyMjUsIDIzLCAxMDksIDM0LCA1LCAxLCAyNDAsIDg2LCAyLCAyMTMsIDIyNSwgMjMsIAorICAgIDEwOSwgMzQsIDYsIDEsIDIzOSwgMTQ0LCAyLCAxMDksIDM0LCA1LCAxLCAyMzksIDE0NCwgMiwgMTA5LCAzNCwgNiwgMSwgCisgICAgMjM5LCAxNDQsIDIsIDkxLCAzNCwgNSwgMSwgMjM5LCAxNDQsIDIsIDkxLCAzNCwgNiwgMSwgMjMxLCAzNywgMjQ2LCA5LCAKKyAgICAzNCwgNSwgMSwgMjMxLCAzNywgMjQ2LCA5LCAzNCwgNiwgMSwgMjMxLCAzNywgMjQ1LCA2OCwgMzQsIDUsIDEsIDIzMSwgMzcsIAorICAgIDI0NSwgNjgsIDM0LCA2LCAxLCAyMzEsIDM3LCAyMDUsIDIzLCAzNCwgNSwgMSwgMjMxLCAzNywgMjA1LCAyMywgMzQsIDYsIAorICAgIDEsIDIzMSwgMzcsIDI0MywgMTg1LCAzNCwgNSwgMSwgMjMxLCAzNywgMjQzLCAxODUsIDM0LCA2LCAxLCAyMzEsIDM3LCAKKyAgICAyMjksIDE3NSwgMzQsIDUsIDEsIDIzMSwgMzcsIDIyOSwgMTc1LCAzNCwgNiwgMSwgMjMxLCAzNywgMjI0LCAxNzMsIDM0LCAKKyAgICA1LCAxLCAyMzEsIDM3LCAyMjQsIDE3MywgMzQsIDYsIDEsIDIzMSwgMzcsIDIxNCwgMjQ5LCAzNCwgNSwgMSwgMjMxLCAzNywgCisgICAgMjE0LCAyNDksIDM0LCA2LCAxLCAyMzEsIDM3LCAyMTEsIDE0OCwgMzQsIDUsIDEsIDIzMSwgMzcsIDIxMSwgMTQ4LCAzNCwgCisgICAgNiwgMSwgMjE4LCAyMjQsIDIwNSwgOTMsIDM0LCA1LCAxLCAyMTgsIDIyNCwgMjA1LCA5MywgMzQsIDYsIDEsIDI0MywgNjksIAorICAgIDIsIDEwOSwgMzQsIDUsIDEsIDI0MywgNjksIDIsIDEwOSwgMzQsIDYsIDEsIDIyOSwgMjQ4LCAzNCwgNSwgMSwgMjI5LCAKKyAgICAyNDgsIDM0LCA2LCAxLCAyMTgsIDIxMiwgMzQsIDUsIDEsIDIxOCwgMjEyLCAzNCwgNiwgMSwgMjA2LCA5OCwgMzQsIDUsIDEsIAorICAgIDIwNiwgOTgsIDM0LCA2LCAxLCAyMjAsIDE5LCAzNCwgNSwgMSwgMjIwLCAxOSwgMzQsIDYsIDEsIDIwNywgNTEsIDM0LCA1LCAKKyAgICAxLCAyMDcsIDUxLCAzNCwgNiwgMSwgMjUyLCAxNjgsIDE3MiwgMzQsIDUsIDEsIDI1MiwgMTY4LCAxNzIsIDM0LCA2LCAxLCAKKyAgICAyNDMsIDY5LCAyLCAyMjYsIDI0NywgMTA5LCAzNCwgNSwgMSwgMjQzLCA2OSwgMiwgMjI2LCAyNDcsIDEwOSwgMzQsIDYsIDEsIAorICAgIDI0MywgNDIsIDIsIDIyNiwgMjQ3LCAxMDksIDM0LCA1LCAxLCAyNDMsIDQyLCAyLCAyMjYsIDI0NywgMTA5LCAzNCwgNiwgMSwgCisgICAgMjIxLCAxNzUsIDIsIDI0NSwgMjExLCAzNCwgNSwgMSwgMjIxLCAxNzUsIDIsIDI0NSwgMjExLCAzNCwgNiwgMSwgMjE1LCAKKyAgICAxODUsIDIsIDI0NSwgMjExLCAzNCwgNSwgMSwgMjE1LCAxODUsIDIsIDI0NSwgMjExLCAzNCwgNiwgMSwgMjQzLCA0MiwgMiwgCisgICAgNDcsIDEwOSwgMzQsIDUsIDEsIDI0MywgNDIsIDIsIDQ3LCAxMDksIDM0LCA2LCAxLCAyNDMsIDE3OCwgMzQsIDUsIDEsIAorICAgIDI0MywgMTc4LCAzNCwgNiwgMSwgMjQ2LCA1OCwgMzQsIDUsIDEsIDI0NiwgNTgsIDM0LCA2LCAxLCAyNDMsIDY5LCAyLCAKKyAgICAyNDUsIDIxMSwgMzQsIDUsIDEsIDI0MywgNjksIDIsIDI0NSwgMjExLCAxNjQsIDYsIDEsIDI1MSwgMTU2LCAxNjQsIDYsIDEsIAorICAgIDI1MCwgMjIsIDE2NCwgNiwgMSwgMjQwLCA0OSwgMTY0LCA2LCAxLCAyNDYsIDE0NSwgMTY0LCA2LCAxLCAyNDMsIDEwOCwgCisgICAgMTY0LCA2LCAxLCAyMDUsIDExNiwgMTY0LCA2LCAxLCAyNDMsIDkyLCAxNjQsIDYsIDEsIDI0MiwgMjAzLCAxNjQsIDYsIDEsIAorICAgIDEyNCwgMTY0LCA2LCAxLCAyMDUsIDcyLCAxNjQsIDYsIDEsIDIzMywgMzgsIDE2NCwgNiwgMSwgMjI5LCAxNzgsIDE2NCwgNiwgCisgICAgMSwgMjA2LCAxNzMsIDE2NCwgNiwgMSwgMjQ5LCAxLCAxNjQsIDYsIDEsIDIzMSwgMjAzLCAxNjQsIDYsIDEsIDIzOCwgMTQ5LCAKKyAgICAxNjQsIDYsIDEsIDIzMiwgMjAwLCAxNjQsIDYsIDEsIDI0MCwgOTYsIDE2NCwgNiwgMSwgMjQ4LCA3NSwgMTY0LCA2LCAxLCAKKyAgICAyMjcsIDgzLCAxNjQsIDYsIDEsIDIwNiwgMTEsIDE2NCwgNiwgMSwgMjI0LCAyOSwgMTY0LCA2LCAxLCAyMTYsIDIsIDE2NCwgCisgICAgNiwgMSwgMjA4LCAxNzMsIDE2NCwgNiwgMSwgMjQ4LCAxMTAsIDE2NCwgNiwgMSwgMjIxLCAxNTcsIDE2NCwgNiwgMSwgMjMyLCAKKyAgICAxNjUsIDE2NCwgNiwgMSwgMjE5LCAxMTMsIDE2NCwgNiwgMSwgMjE3LCA2NCwgMTY0LCA2LCAxLCAyMDgsIDIxOCwgMTY0LCAKKyAgICA2LCAxLCAyMTEsIDE1MSwgMTY0LCA2LCAxLCAyMTksIDE2LCAxNjQsIDYsIDEsIDI0NywgMTc0LCAxNjQsIDYsIDEsIDIwNSwgCisgICAgMjUyLCAxNjQsIDYsIDEsIDIyMCwgMjQ0LCAxNjQsIDYsIDEsIDIzMSwgMjE0LCAxNjQsIDYsIDEsIDIyMiwgMTk0LCAxNjQsIAorICAgIDYsIDEsIDI0MiwgMTUsIDE2NCwgNjUsIDEsIDQ3LCAxNjAsIDIxOCwgMTQ4LCAxNjQsIDI1MiwgNTMsIDE2NCwgMjQzLCA0NSwgCisgICAgODMsIDE2NCwgMjQyLCAxNjgsIDgzLCAxNjQsIDI0NywgMTU1LCAxNjQsIDIxOSwgMTk2LCA4MywgMTY0LCAyNTMsIDI5LCAKKyAgICA4MywgMTY0LCA1LCAxLCAyNTEsIDE1NiwgMTY0LCA1LCAxLCAyNTAsIDIyLCAxNjQsIDUsIDEsIDI0MCwgNDksIDE2NCwgNSwgCisgICAgMSwgMjQ2LCAxNDUsIDE2NCwgNSwgMSwgMjQzLCAxMDgsIDE2NCwgNSwgMSwgMjA1LCAxMTYsIDE2NCwgNSwgMSwgMjQzLCAKKyAgICA5MiwgMTY0LCA1LCAxLCAyNDIsIDIwMywgMTY0LCA1LCAxLCAxMjQsIDE2NCwgNSwgMSwgMjA1LCA3MiwgMTY0LCA1LCAxLCAKKyAgICAyMzMsIDM4LCAxNjQsIDUsIDEsIDIyOSwgMTc4LCAxNjQsIDUsIDEsIDIwNiwgMTczLCAxNjQsIDUsIDEsIDI0OSwgMSwgCisgICAgMTY0LCA1LCAxLCAyMzEsIDIwMywgMTY0LCA1LCAxLCAyMzgsIDE0OSwgMTY0LCA1LCAxLCAyMzIsIDIwMCwgMTY0LCA1LCAxLCAKKyAgICAyNDAsIDk2LCAxNjQsIDUsIDEsIDI0OCwgNzUsIDE2NCwgNSwgMSwgMjI3LCA4MywgMTY0LCA1LCAxLCAyMDYsIDExLCAxNjQsIAorICAgIDUsIDEsIDIyNCwgMjksIDE2NCwgNSwgMSwgMjE2LCAyLCAxNjQsIDUsIDEsIDIwOCwgMTczLCAxNjQsIDUsIDEsIDI0OCwgCisgICAgMTEwLCAxNjQsIDUsIDEsIDIyMSwgMTU3LCAxNjQsIDUsIDEsIDIzMiwgMTY1LCAxNjQsIDUsIDEsIDIxOSwgMTEzLCAxNjQsIAorICAgIDUsIDEsIDIxNywgNjQsIDE2NCwgNSwgMSwgMjA4LCAyMTgsIDE2NCwgNSwgMSwgMjExLCAxNTEsIDE2NCwgNSwgMSwgMjE5LCAKKyAgICAxNiwgMTY0LCA1LCAxLCAyNDcsIDE3NCwgMTY0LCA1LCAxLCAyMDUsIDI1MiwgMTY0LCA1LCAxLCAyMjAsIDI0NCwgMTY0LCAKKyAgICA1LCAxLCAyMzEsIDIxNCwgMTY0LCA1LCAxLCAyMjIsIDE5NCwgMTY0LCA1LCAxLCAyNDIsIDE1LCAxNjQsIDUsIDI4LCAyNDMsIAorICAgIDEwOSwgMjA1LCAyNTIsIDE2NCwgMjQxLCA4MiwgMjEzLCAyNTEsIDE2NCwgMjM3LCAyMzksIDIxOCwgMTY2LCAxNjQsIDI0MiwgCisgICAgMTk5LCA1MywgMjMwLCA0NSwgMTY0LCAyNDIsIDE5OSwgNTMsIDE2NCwgMjQzLCAyNTQsIDUzLCAxMDMsIDI1MywgMjIsIAorICAgIDI0MiwgMTk0LCAxMDMsIDI1MywgMjIsIDIxNywgNjUsIDEwMywgMjUzLCAyMiwgMjE1LCAyNDAsIDEwMywgMjUzLCAyMiwgCisgICAgMjA1LCAxMDQsIDIyMCwgMiwgMTAzLCAyNTMsIDIyLCAyMDUsIDEwNCwgMjQwLCAyMzQsIDEwMywgMjUzLCAyMiwgMjExLCAKKyAgICAxNjUsIDEwMywgMjUzLCAyMiwgMjE4LCAyMjEsIDEwMywgMjUzLCAyMiwgMjA1LCAxMDIsIDEwMywgMjUzLCAyMiwgMjIxLCAKKyAgICAyMDEsIDEwMywgMjUzLCAyMiwgMjA2LCAyMywgMTAzLCAyNTMsIDIyLCAyMTIsIDYzLCAxMDMsIDI1MywgMjIsIDI0MCwgCisgICAgMTQ3LCAxMDMsIDI1MywgMjIsIDI0MCwgMTQ4LCAyMjYsIDc4LCAxMDMsIDI1MywgMjIsIDI0MCwgMTQ1LCAxMDMsIDI1MywgCisgICAgMjIsIDIyMCwgMywgMjIxLCAyMzAsIDEwMywgMjUzLCAyMiwgMjEyLCAxMDQsIDI0MCwgMTYzLCAxMDMsIDI1MywgMjIsIAorICAgIDIyMSwgMTgwLCAxMDMsIDI1MywgMjIsIDI1MSwgMTkzLCAyMzksIDEzNiwgMTAzLCAyNTMsIDIyLCAyMjYsIDg4LCAxMDMsIAorICAgIDI1MywgMjIsIDIyNywgMjQ0LCAxMDMsIDI1MywgMjIsIDIyNywgNzMsIDEwMywgMjUzLCAyMiwgMjI3LCA3NCwgMjMxLCAKKyAgICAyMTUsIDEwMywgMjUzLCAyMiwgMjQ2LCA4NSwgMTAzLCAyNTMsIDIyLCAyMjAsIDE0LCAxMDMsIDI1MywgMjIsIDIxMiwgCisgICAgMTA0LCAyMTksIDI1MywgMTAzLCAyNTMsIDIyLCAyMDYsIDMzLCAyNTAsIDIzLCAyMDUsIDIzMywgMTAzLCAyNTMsIDIyLCAKKyAgICAyMjIsIDE3NywgMTAzLCAyNTMsIDIyLCAyMzMsIDg4LCAxMDMsIDI1MywgMjIsIDI0NSwgMjQzLCAxMDMsIDI1MywgMjIsIAorICAgIDIwNSwgMjksIDEwMywgMTQxLCAyMjcsIDE3NCwgMjQ3LCAyMzMsIDEwMywgMjIwLCAyMDUsIDIxNSwgMTg3LCAxMDMsIDIyMCwgCisgICAgMjA1LCAyMzksIDg1LCAyMTcsIDY1LCAxMDMsIDIyMCwgMjA1LCAyMzksIDg1LCAyMjEsIDE5NCwgMTAzLCAyMjAsIDIwNSwgCisgICAgMjM5LCA4NSwgMjIwLCA3LCAxMDMsIDIyMCwgMjA1LCAyMzgsIDI0NCwgMTAzLCAyMjAsIDIwNSwgMjEwLCAyMzQsIDEwMywgCisgICAgMjIwLCAyMDUsIDIxNywgNjUsIDEwMywgMjIwLCAyMDUsIDIyMSwgMTk0LCAxMDMsIDIyMCwgMjA1LCAyMjAsIDcsIDEwMywgCisgICAgMjIwLCAyMDUsIDIzOCwgMTQyLCAxMDMsIDIyMCwgMjA1LCAyMzgsIDE0MywgMjM5LCA4NywgMzMsIDIwOSwgNDMsIDEwMywgCisgICAgMjIwLCAyMDUsIDIxOSwgMjAwLCAxMDMsIDIyMCwgMjA1LCAyNDYsIDEzMSwgMjIyLCAxMjMsIDIyNywgMjA0LCAxMDMsIAorICAgIDIyMCwgMjA1LCAyMjcsIDYyLCAxMDMsIDIyMCwgNzIsIDIyNywgMjAxLCAxMDMsIDIyMCwgMjA1LCAyMTksIDkzLCAxMDMsIAorICAgIDIyMCwgNzIsIDIyMSwgMjAzLCAxMDMsIDIyMCwgMjA1LCAyMTUsIDE3MiwgMjQ1LCAyMywgMTAzLCAyMjAsIDIwNSwgMjE1LCAKKyAgICA0NSwgMjQ1LCAyMywgMTAzLCAyMjAsIDcyLCAyMTQsIDE4OCwgMjIxLCAxOTYsIDEwMywgMTQxLCAyMDksIDIwMywgMjQ1LCAKKyAgICAyMywgMTAzLCAxNDEsIDIyOSwgOTIsIDI0NSwgMjMsIDEwMywgMjIwLCA3MiwgMjIzLCAxNzQsIDIzOSwgMTM1LCAxMDMsIAorICAgIDIyMCwgMjA1LCAyMjAsIDgsIDIyMCwgMiwgMTAzLCAxLCAyNTIsIDE3MiwgMTAzLCAxLCAyNTAsIDEwLCAxMDMsIDEsIDI0MCwgCisgICAgNDcsIDEwMywgMSwgMjQ2LCAxMTEsIDEwMywgMSwgMjM5LCA3MSwgMTAzLCAxLCAyMDksIDQzLCAxMDMsIDEsIDIwNSwgOTYsIAorICAgIDEwMywgMSwgMjM5LCAyOSwgMTAzLCAxLCAyMTIsIDgwLCAxMDMsIDEsIDIwNSwgMjM2LCAxMDMsIDEsIDQyLCAyMzIsIDQ1LCAKKyAgICAxMDMsIDEsIDIzMiwgNDUsIDEwMywgMSwgMjMwLCA5OCwgMTAzLCAxLCA0MiwgMjI3LCA5MCwgMTAzLCAxLCAyMjcsIDkwLCAKKyAgICAxMDMsIDEsIDQyLCAyMjMsIDE3MywgMTAzLCAxLCAyMjMsIDE3MywgMTAzLCAxLCAyMTcsIDE1NywgMTAzLCAxLCAyNTEsIAorICAgIDE1NCwgMTAzLCAxLCA0MiwgMjIxLCAxNzQsIDEwMywgMSwgMjIxLCAxNzQsIDEwMywgMSwgNDIsIDIxMCwgMjM4LCAxMDMsIAorICAgIDEsIDIxMCwgMjM4LCAxMDMsIDEsIDIxOSwgMjIzLCAxMDMsIDEsIDIxOCwgMjQyLCAxMDMsIDEsIDIxNSwgMTcxLCAxMDMsIAorICAgIDEsIDIxMiwgMTQ3LCAxMDMsIDI4LCAyMDYsIDksIDUwLCAyMDksIDQzLCAxMDMsIDI4LCAyMDYsIDksIDIwOSwgNDQsIDIwNSwgCisgICAgMjM2LCAxMDMsIDI4LCAyMDYsIDksIDUwLCAyMDUsIDIzNiwgMTAzLCAyMjAsIDcyLCAyNDAsIDE0NywgMTAzLCAyMjAsIDcyLCAKKyAgICAyNDAsIDE0NSwgOCwgNDMsIDUzLCA4LCAzLCAyMTcsIDE1MCwgOCwgMjQxLCAxNDYsIDIyNywgMTg3LCA4LCAzLCAyMTcsIAorICAgIDE4NywgOCwgMywgMjE3LCAxNTMsIDgsIDQzLCAxNDEsIDUyLCAyNTIsIDMzLCAyNDcsIDM2LCAyMTgsIDEwMywgMjUyLCAzMywgCisgICAgMjQxLCAxMTgsIDIxOCwgMTAzLCA4LCAyMTksIDU4LCAyNTIsIDMzLCAyMjEsIDEzMiwgMjI2LCAyMTUsIDUzLCAyNTIsIDMzLCAKKyAgICAyMjEsIDEzMiwgMjEyLCA5OSwgMjExLCAyNDMsIDUzLCAyNTIsIDIyNSwgNTMsIDgsIDI0NywgMTU1LCA4LCAyNDYsIDcyLCAKKyAgICAyMTYsIDM5LCA4LCAyMjAsIDIwNywgMjA5LCAyNCwgNTMsIDgsIDMsIDIyNiwgMTk0LCA4LCAzLCAyMTcsIDE2NywgMjUyLCAKKyAgICAxNzUsIDIwNywgNzUsIDgsIDMsIDI1MiwgMTc1LCAyNTEsIDIxNCwgOCwgMywgMjE5LCA5MSwgMjUyLCAxNzQsIDgsIDMsIAorICAgIDIxOSwgOTksIDI1MiwgMTU0LCAyNTIsIDEwMywgOCwgMywgMjEyLCAxODQsIDgsIDUsIDEyNywgMjEyLCAxOTQsIDgsIDUsIAorICAgIDEyNywgMjgsIDEyNiwgMiwgMjMwLCAxMDcsIDIsIDIwNiwgNDcsIDgsIDUsIDEyNywgMjA1LCAxMDgsIDgsIDUsIDI0MiwgCisgICAgMzksIDgsIDUsIDI0NiwgMTA2LCA4LCA1LCAyMzEsIDI1MiwgOCwgMjE2LCA1MiwgOCwgMSwgODMsIDgsIDIxMSwgMzYsIDY3LCAKKyAgICAyMjAsIDcyLCA4MywgOCwgMjE5LCAxOTYsIDgzLCA4LCAxLCAyMzIsIDAsIDIwNiwgNDcsIDgsIDEsIDIzOSwgMTExLCA4LCAKKyAgICAxLCAxMjYsIDIsIDIyOCwgOSwgNTIsIDgsIDEsIDEyNiwgMiwgMjM5LCAxMTIsIDUyLCA4LCAxLCAyMDcsIDYwLCAyLCAyMzksIAorICAgIDExMiwgNTIsIDgsIDEsIDEyNiwgMiwgMjM5LCAxMTIsIDU1LCA4LCAxLCA4NywgMiwgMjM5LCAxMTIsIDUyLCA4LCAxLCAKKyAgICAyNTIsIDE3MiwgOCwgMSwgMjUwLCAzOCwgOCwgMSwgMjEyLCAxMTYsIDIyNywgMTk3LCA4LCAxLCAyMTIsIDExNSwgOCwgMSwgCisgICAgMjEyLCAzNywgOCwgMSwgMjMyLCAxNzksIDgsIDEsIDIzOSwgMTMyLCA4LCAxLCAyMzEsIDE2MywgOCwgMSwgMjQ2LCAxMTcsIAorICAgIDgsIDEsIDIxMiwgNDksIDgsIDEsIDIxOSwgMTYsIDgsIDEsIDIwNSwgMTA4LCA4LCAxLCAyMTcsIDcwLCA4LCAxLCAyMTUsIAorICAgIDIxMCwgOCwgMSwgMjE3LCAxOTEsIDgsIDEsIDI0NiwgMTQwLCA4LCAxLCAyMTIsIDE5NCwgOCwgMSwgMjA1LCAxMTEsIDgsIAorICAgIDEsIDI1MiwgMjAwLCA4LCAxLCAyNDAsIDk0LCA4LCAxLCAyMzEsIDIxMywgMiwgMTE4LCAxNzcsIDUyLCA4LCAxLCAyMzEsIAorICAgIDIxMywgMiwgMTI5LCAxNzcsIDU1LCA4LCAxLCAyNDIsIDQyLCA4NywgMiwgMjMzLCAyLCAyMDksIDE0OCwgOCwgMSwgMjQyLCAKKyAgICA0MiwgODcsIDIsIDExOCwgMTc3LCA1MiwgOCwgMSwgMjQyLCA0MiwgODcsIDIsIDEyOSwgMTc3LCA1MiwgOCwgMjEyLCAxNTMsIAorICAgIDgsIDEsIDI0MiwgMTUsIDgsIDEsIDIyMCwgMTIsIDgsIDEsIDIzMiwgNDUsIDgsIDEsIDIzMCwgMTA2LCA4LCAxLCAyMjcsIAorICAgIDEwNCwgOCwgMSwgMjI0LCA1NCwgOCwgMSwgMjM5LCA1MCwgOCwgMSwgMjA3LCA1OSwgOCwgMSwgMTI2LCAyMjcsIDIyOCwgOCwgCisgICAgMSwgMjA2LCA0NywgOCwgMjQyLCAzNywgOCwgMjQ2LCAxMDQsIDgsIDIzMSwgMjUwLCA4LCAyNDIsIDM5LCA4LCAyNDYsIAorICAgIDEwNiwgOCwgMjMxLCAyNTIsIDgsIDIxNSwgMjQ5LCA4LCAyMTMsIDE2MiwgOCwgMjI4LCA3LCA1MiwgOCwgMjM5LCAxMTIsIAorICAgIDUyLCA4LCAyMzksIDExMiwgNTUsIDgsIDIxMywgMTgzLCAyNTIsIDE3MiwgOCwgMjMzLCAyLCAyNDYsIDEwNiwgOCwgMTQxLCAKKyAgICAyMjQsIDU1LCAyNDAsIDY1LCA4LCAyMDQsIDI1MSwgOCwgMjIsIDMsIDUsIDIwOSwgMTQ5LCA1MiwgOCwgMjIsIDMsIDIzMywgCisgICAgMiwgNSwgMjA5LCAxNDksIDUyLCA4LCAyMiwgMywgNjcsIDU1LCA4LCAyMTgsIDIyNCwgMjQ2LCAxMDYsIDgsIDI0MiwgNDAsIAorICAgIDIsIDExOCwgMjQ1LCAyMSwgOCwgMjA3LCA2MSwgMjM5LCAxMTIsIDU1LCAyNTIsIDMzLCAxOCwgMjA1LCA4NSwgMjUyLCAzMywgCisgICAgMTgsIDEwMiwgMjUyLCAzMywgMTgsIDEwNSwgMjUyLCAzMywgMTgsIDE0MiwgMjUyLCAzMywgMTgsIDEzOSwgMjUyLCAzMywgCisgICAgMTgsIDE2OCwgMjUyLCAzMywgMTgsIDE4NCwgMjUyLCAzMywgMTgsIDE5NSwgMjUyLCAzMywgMTgsIDE5MywgMjUyLCAzMywgCisgICAgMTgsIDIwMCwgOCwgMjIxLCAxMzEsIDUzLCA4LCAyNDYsIDIsIDIxNiwgMzksIDgsIDIxMSwgMjQxLCAyMTYsIDM5LCA4LCAKKyAgICAyNDEsIDIwNCwgMjIwLCAyMDMsIDIxNCwgMjYsIDgsIDEsIDI0NSwgMjIsIDI1MCwgMzgsIDgsIDEsIDI0NSwgMjIsIDIyMCwgCisgICAgMTIsIDgsIDEsIDIxMywgMTM5LCAyNTIsIDE3MiwgOCwgMSwgMTI2LCAyMDcsIDc2LCA4LCAxLCAxMjYsIDIsIDIwNywgNjEsIAorICAgIDIzOSwgMTEyLCA1MiwgOCwgMSwgMTI2LCAyLCAyMDcsIDYxLCAyMzksIDExMiwgNTUsIDgsIDEsIDEyNywgMjM5LCAxMTEsIAorICAgIDgsIDEsIDEyNywgMjM5LCAxMTIsIDI1MiwgMTcyLCA4LCAxLCAxMjcsIDIzOSwgMTEyLCAyMDcsIDU5LCA4LCAxLCAxMDYsIAorICAgIDIsIDIzOSwgMTEyLCA1MiwgOCwgMSwgMTI3LCAyMzksIDExMiwgMjA2LCA0NywgOCwgMSwgMjEwLCAyMDAsIDgsIDEsIDIxMCwgCisgICAgMTk4LCA4LCAxLCAyNTAsIDQ4LCA4LCAxLCAyMTIsIDExNiwgMiwgMjE4LCAxNDgsIDgsIDEsIDIxMiwgMTE2LCAyLCAxMjksIAorICAgIDE3NywgODQsIDI0NCwgNiwgOCwgMSwgMjIxLCAxNTcsIDgsIDEsIDIxMiwgMTEzLCA4LCAxLCAyNTAsIDM2LCA4LCAxLCAKKyAgICAxNDAsIDIsIDIzOSwgMTEyLCA1MiwgOCwgMSwgMTQwLCAyLCAxMTgsIDE3NywgNzksIDUyLCA4LCAxLCAyMjMsIDEzMSwgOCwgCisgICAgMSwgMjQzLCAyMDEsIDgsIDEsIDE0MCwgMiwgMTI5LCAxNzcsIDUyLCA4LCAxLCAyMTIsIDEzNSwgOCwgMSwgMjEyLCAxMzMsIAorICAgIDgsIDEsIDI0NiwgNDksIDgsIDEsIDI0NiwgMTE4LCAyLCAyMTgsIDE0OCwgOCwgMSwgMjQ2LCAxMTgsIDIsIDY3LCA1NSwgOCwgCisgICAgMSwgMjQ2LCAxMTgsIDIsIDY3LCAyNTAsIDI2LCAyMywgNSwgMjEyLCAxOTQsIDgsIDEsIDI0NiwgMTI0LCA4LCAxLCAyNDYsIAorICAgIDUxLCA4LCAxLCAyNDMsIDIyOSwgOCwgMSwgMjQ2LCAxMTgsIDIsIDEyOSwgMTc3LCA4NCwgMjQ0LCA2LCA4LCAxLCAyNDYsIAorICAgIDExOCwgMiwgMjQxLCAxMjUsIDE3NywgNTIsIDgsIDEsIDIxOCwgODEsIDgsIDEsIDIxOSwgMTcsIDIsIDUsIDIwOSwgMTQ4LCAKKyAgICA4LCAxLCAyMTksIDE3LCAyLCAyMTgsIDE0OCwgOCwgMSwgMjE5LCAxNywgMiwgNjcsIDU1LCA4LCAxLCAyMTksIDE3LCAyLCAKKyAgICA1LCAyMDksIDE0OSwgNTUsIDgsIDEsIDIxOSwgMTcsIDIsIDY3LCAyNTAsIDI2LCAyMywgNjcsIDUyLCA4LCAxLCAyMTksIAorICAgIDE3LCAyLCAxMTgsIDE3NywgNTIsIDgsIDEsIDIzMiwgMTc2LCA4LCAxLCAyMTksIDE3LCAyLCAyNDEsIDEyNSwgMTc3LCA1MiwgCisgICAgOCwgMSwgMjE3LCA3MSwgMiwgNjcsIDI1MCwgMjYsIDIzLCA2NywgNTIsIDgsIDEsIDIxNywgNzEsIDIsIDEyOSwgMTc3LCAKKyAgICA1NSwgOCwgMSwgMjE3LCA3MSwgMiwgMTI5LCAxNzcsIDI1MCwgMjYsIDIzLCAxMjksIDE3NywgNTIsIDgsIDEsIDIxNywgCisgICAgMTkyLCAyLCAxMTgsIDE3NywgNTUsIDgsIDEsIDIxNywgMTkyLCAyLCAxMjksIDE3NywgNTIsIDgsIDEsIDIxMiwgMTk1LCAyLCAKKyAgICAxMjksIDE3NywgNTIsIDgsIDEsIDI1MiwgMjAxLCAyLCAxMjksIDE3NywgNTIsIDgsIDEsIDI0NSwgMjIsIDI0MiwgMTUsIDgsIAorICAgIDEsIDI0MiwgMTYsIDIsIDY3LCAyMjYsIDEyMiwgNTUsIDgsIDEsIDI0MiwgMTYsIDIsIDY3LCA1NSwgOCwgMSwgMjA5LCAzMiwgCisgICAgOCwgMSwgMjQyLCAxNiwgMiwgMTI5LCAxNzcsIDU1LCA4LCAxLCAyMjEsIDE1NSwgOCwgMSwgMjIwLCAxMywgMiwgNjcsIDUyLCAKKyAgICA4LCAxLCAyMjAsIDEzLCAyLCAxMjksIDE3NywgNTIsIDgsIDEsIDIzMSwgMjEyLCA4LCAxLCAyMTMsIDEwOSwgMjMyLCA0NSwgCisgICAgOCwgMSwgMjMyLCA0NiwgMiwgMjE4LCAxNDgsIDgsIDEsIDIzMiwgNDYsIDIsIDY3LCA1MiwgOCwgMSwgMjI1LCA3OSwgOCwgCisgICAgMSwgMjMyLCA0NiwgMiwgMTI5LCAxNzcsIDU1LCA4LCAxLCAyNDAsIDIzMSwgOCwgMSwgMjQwLCAyMzIsIDIsIDIxOCwgMTQ4LCAKKyAgICA4LCAxLCAyMjUsIDAsIDgsIDEsIDI0MCwgMjMyLCAyLCAxMTgsIDE3NywgNTUsIDgsIDEsIDIzOSwgMjAwLCA4LCAxLCAyNDAsIAorICAgIDIzMiwgMiwgMTI5LCAxNzcsIDUyLCA4LCAxLCAyMzAsIDEwNywgMiwgNSwgMjA5LCAxNDgsIDgsIDEsIDIzMCwgMTA3LCAyLCAKKyAgICA2NywgNTIsIDgsIDEsIDIzMCwgMTA3LCAyLCAxMjksIDE3NywgNTIsIDgsIDEsIDIzMCwgMTA3LCAyLCAxMjksIDE3NywgNTUsIAorICAgIDgsIDEsIDIyNCwgNTUsIDIsIDY3LCA1NSwgOCwgMSwgMjI0LCA1NSwgMjQwLCA2NSwgOCwgMSwgMjE4LCAxMjcsIDgsIDEsIAorICAgIDIyNCwgNTUsIDIsIDIxOCwgMTQ4LCA4LCAxLCAyMjQsIDU1LCAyLCAxMjksIDE3NywgNTIsIDgsIDEsIDIzOSwgNTEsIDI0NSwgCisgICAgNDcsIDgsIDEsIDIxMiwgMTM2LCAyLCA2NywgNTIsIDgsIDEsIDIzOSwgNTEsIDIsIDg3LCA1MiwgOCwgMSwgMjM5LCA1MSwgCisgICAgMjQwLCAxNiwgOCwgMSwgMjM5LCA1MSwgMjQwLCAxNywgMiwgMjM5LCAxMTIsIDUyLCA4LCAxLCAyMTIsIDExNiwgMjI3LCAKKyAgICAxOTgsIDI0MCwgMTYsIDgsIDEsIDIwNywgNjAsIDIsIDIxOCwgMTQ4LCA4LCAxLCAyMzEsIDEwMSwgMjIyLCAyMDYsIDgsIDEsIAorICAgIDIyMiwgMjA2LCA4LCAxLCA3MSwgOCwgMSwgMjA1LCAyMTMsIDgsIDEsIDIzMSwgMTAxLCAyMDUsIDIxMywgOCwgMSwgMjA3LCAKKyAgICA2MCwgMiwgMTE4LCAxNzcsIDUyLCA4LCAxLCAyMDksIDM5LCA4LCAxLCAyNDIsIDQyLCAyMDYsIDQ3LCA4LCAxLCA4NywgMiwgCisgICAgMjEyLCAxOTEsIDgsIDEsIDg3LCAyLCA1LCAyMDksIDE0OCwgOCwgMSwgMjA3LCA2MCwgMiwgNjcsIDUyLCA4LCAxLCA3NSwgCisgICAgOCwgMSwgODcsIDIsIDEyOSwgMTc3LCA1NSwgOCwgMSwgODcsIDI1MCwgMTIxLCA4LCAxLCA4NywgMjUwLCAxMjIsIDIsIAorICAgIDIzOSwgMTEyLCA1MiwgOCwgMjQxLCA4MiwgMjEzLCAyNTEsIDgsIDEsIDI1MiwgMjQ4LCA4LCA1LCAxMjcsIDI4LCAyMTcsIAorICAgIDE5MiwgMiwgMjMwLCAxMDcsIDIsIDEyNiwgMjI3LCAyMjgsIDgsIDUsIDEyNywgMjgsIDIyMCwgMTMsIDIsIDIzMCwgMTA3LCAKKyAgICAyLCAxMjYsIDIyNywgMjI4LCA4LCA1LCAxMjcsIDgwLCA3OCwgMTcsIDgsIDUsIDEyNywgMjMwLCAxMDcsIDI1MiwgMTcyLCAKKyAgICA4LCA1LCAxMjcsIDIzMiwgMTc5LCA4LCA1LCAxMjcsIDEyOSwgMjQ1LCAyMSwgOCwgNSwgMTI3LCAyMTcsIDcwLCA4LCAyNDMsIAorICAgIDM0LCA3MywgMjUxLCAxNTgsIDgsIDIxNCwgMjIsIDczLCAyMTgsIDQ4LCAyNDMsIDY5LCAyMzgsIDI0MCwgOCwgNSwgMTI3LCAKKyAgICAyMTgsIDkzLCAyMDUsIDg1LCA4LCA1LCAxMjcsIDIwOSwgMjAyLCAyMTksIDM2LCAyMDUsIDg1LCA4LCA1LCAxMjcsIDI0NSwgCisgICAgMjIsIDIzOSwgNjksIDczLCAyMzEsIDE2MywgOCwgNSwgMTI3LCA4MCwgNjEsIDE3LCA4LCA1LCAxMTQsIDIxNywgNzAsIDgsIAorICAgIDUsIDEyNywgMjI4LCA4LCA4LCA1LCAyMDcsIDU5LCA4LCA1LCAyMDYsIDQ3LCA4LCA1LCAxMjcsIDIwNiwgNDcsIDgsIDUsIAorICAgIDEyNywgMjI0LCA1NCwgOCwgMjIwLCAyMzksIDczLCAyMTcsIDE3NywgOCwgMjQzLCA0MywgMjQ4LCAxMjksIDExNCwgMjEzLCAKKyAgICAyNTEsIDgsIDI0MywgNDMsIDI0OCwgMTI5LCAxMjcsIDIxMywgMjUxLCA4LCAyMTgsIDkzLCAxMjcsIDIxMywgMjUyLCAyLCAKKyAgICAyNDEsIDIzMywgMjQ4LCAxMjgsIDgsIDUsIDExNCwgMjI3LCAxMDQsIDgsIDEsIDI0NiwgMTE4LCAyLCAyMzMsIDIsIDIwOSwgCisgICAgMTQ4LCA4LCAxLCAyMTksIDE3LCAyLCAyMzMsIDIsIDIwOSwgMTQ4LCAyNDIsIDE1OSwgMjUyLCAzMywgMTgsIDIwNSwgODUsIAorICAgIDI0MiwgMTU5LCAyNTIsIDMzLCAxOCwgMTAyLCAyNDIsIDE1OSwgMjUyLCAzMywgMTgsIDEwNSwgMjQyLCAxNTksIDI1MiwgCisgICAgMzMsIDE4LCAxNDIsIDI0MiwgMTU5LCAyNTIsIDMzLCAxOCwgMTM5LCAyNDIsIDE1OSwgMjUyLCAzMywgMTgsIDE2OCwgMjQyLCAKKyAgICAxNTksIDI1MiwgMzMsIDE4LCAxODQsIDI0MiwgMTU5LCAyNTIsIDMzLCAxOCwgMTk1LCAyNDIsIDE1OSwgMjUyLCAzMywgMTgsIAorICAgIDE5MywgMjQyLCAxNTksIDI1MiwgMzMsIDE4LCAyMDAsIDgsIDEsIDIxNSwgMjExLCAyLCA2NywgNTUsIDgsIDEsIDI0NiwgCisgICAgMTQxLCAyLCA2NywgNTUsIDgsIDEsIDI0MCwgOTUsIDIsIDY3LCA1NSwgOCwgMywgMjE1LCA0NCwgMjUyLCAxMjUsIDgsIDMsIAorICAgIDIxNSwgNDQsIDIyMCwgMTcyLCAyMjcsIDgzLCA4LCAxLCAyMzksIDUxLCAyLCAyMzMsIDIsIDIwOSwgMTQ4LCAyMTMsIDMwLCAKKyAgICAyNDMsIDM0LCA3MywgMjIxLCAyMjgsIDIxMywgMzAsIDIxMywgMTM1LCAyNDEsIDgyLCAyMTMsIDI1MSwgMjEzLCAzMCwgCisgICAgMjEzLCAxODUsIDI0MSwgODIsIDIxMywgMjUxLCAyMTMsIDMwLCAyMTMsIDEzNSwgMjQ3LCAxNjIsIDIxMywgMzAsIDIxMywgCisgICAgMTg1LCAyNDcsIDE2MiwgMjEzLCAzMCwgMTk0LCAyNDcsIDE2MiwgMjEzLCAzMCwgMjQ3LCAxNjMsIDIxNCwgMjQ2LCAyMzAsIAorICAgIDQ2LCAyMTMsIDMwLCAyNDcsIDE2MywgMjE0LCAyNDYsIDIxOCwgMTY3LCAyMTMsIDMwLCAyMTMsIDEzNSwgMjQ3LCAxNjMsIAorICAgIDIxNCwgMjQ2LCAyMzAsIDQ2LCAyMTMsIDMwLCAyMTMsIDE4NSwgMjQ3LCAxNjMsIDIxNCwgMjQ2LCAyMTgsIDE2NywgMjEzLCAKKyAgICAzMCwgMjQ3LCAxMTEsIDIxMywgMzAsIDIzOSwgOTIsIDIyMiwgMjI0LCAyMTMsIDMwLCAyMzksIDkyLCAyMjcsIDYwLCAyMTMsIAorICAgIDMwLCAyMzksIDkyLCAyNTEsIDIxMSwgMjEzLCAzMCwgMjUzLCAyOSwgODMsIDIxMywgMzAsIDEsIDI1MiwgMTc3LCAyMTMsIAorICAgIDMwLCAxLCAyMTMsIDEzOSwgMjUyLCAxNzcsIDIxMywgMzAsIDEsIDI1MCwgNywgMjEzLCAzMCwgMSwgMjQwLCAyMjEsIDIxMywgCisgICAgMzAsIDEsIDI0MCwgMjIyLCAyNDAsIDE5OSwgMjEzLCAzMCwgMSwgMjQ2LCAxMTQsIDIxMywgMzAsIDEsIDI0NSwgMjIsIAorICAgIDI0NiwgMTE1LCAyMTgsIDE0MywgMjEzLCAzMCwgMSwgMjM5LCA3MSwgMjEzLCAzMCwgMSwgMjA3LCA1OSwgMjEzLCAzMCwgMSwgCisgICAgMjA1LCAxMDgsIDIxMywgMzAsIDEsIDIzOSwgMjcsIDIxMywgMzAsIDEsIDIxMiwgNzYsIDIxMywgMzAsIDEsIDIxMiwgNzcsIAorICAgIDI0MCwgMTk5LCAyMTMsIDMwLCAxLCAyMDUsIDIwMCwgMjEzLCAzMCwgMSwgMjA1LCAyMDEsIDIzOSwgNzEsIDIxMywgMzAsIAorICAgIDEsIDIzMiwgMTcsIDIxMywgMzAsIDEsIDIzMCwgMTA1LCAyMTMsIDMwLCAxLCAyMjYsIDIxMSwgMjEzLCAzMCwgMSwgMjIzLCAKKyAgICAxNzMsIDIxMywgMzAsIDEsIDIxNiwgNDUsIDIxMywgMzAsIDEsIDQyLCAyMTYsIDQ1LCAyMTMsIDMwLCAxLCA3NSwgMjEzLCAKKyAgICAzMCwgMSwgMjIxLCAxNzQsIDIxMywgMzAsIDEsIDIxOCwgMjI0LCAyMjEsIDE3NCwgMjEzLCAzMCwgMSwgMjE3LCAxODksIAorICAgIDIxMywgMzAsIDEsIDIyMCwgNiwgMjEzLCAzMCwgMSwgMjE4LCAxNDMsIDIxMywgMzAsIDEsIDIxNSwgMTcxLCAyMTMsIDMwLCAKKyAgICAxLCAyMTIsIDE0NSwgMjEzLCAzMCwgMSwgMjIxLCAxMTYsIDI0OSwgMjUwLCAyMTMsIDMwLCAxLCAyMjEsIDExNiwgMjQwLCAKKyAgICA5MiwgMjEzLCAzMCwgMSwgMjIxLCAxMTYsIDI0NSwgMTg3LCAyMTMsIDMwLCAyMjAsIDgzLCA1MiwgMjEzLCAzMCwgMjIwLCAKKyAgICA4MywgNTUsIDIxMywgMzAsIDIyMCwgODMsIDI0NCwgMjAsIDIxMywgMzAsIDIwNSwgMTMsIDUyLCAyMTMsIDMwLCAyMDUsIAorICAgIDEzLCA1NSwgMjEzLCAzMCwgMjA1LCAxMywgMjQ0LCAyMCwgMjEzLCAzMCwgMjE5LCA1NCwgNTIsIDIxMywgMzAsIDIxOSwgCisgICAgNTQsIDU1LCAyMTMsIDMwLCAyNDQsIDIxLCAyMDUsIDIwLCAyMzgsIDEyMSwgMjEzLCAzMCwgMjQ0LCAyMSwgMjA1LCAyMCwgCisgICAgMjUyLCAxMDQsIDIxMywgMzAsIDIzOSwgNzQsIDUyLCAyMTMsIDMwLCAyMzksIDc0LCA1NSwgMjEzLCAzMCwgMjM5LCA3MywgCisgICAgMjQ0LCAyMCwgMjEzLCAzMCwgMjQyLCAyMTksIDUyLCAyMTMsIDMwLCAyNDIsIDIxOSwgNTUsIDIxMywgMzAsIDIxOCwgMTYsIAorICAgIDIxMywgMzAsIDI0MiwgOSwgMjQ1LCAyMywgMjEzLCAzMCwgMjE5LCAxNzQsIDIxMywgMzAsIDIxOCwgNDMsIDIxMywgMzAsIAorICAgIDExOCwgNzksIDE3NywgNTIsIDIxMywgMzAsIDExOCwgNzksIDE3NywgNTUsIDIxMywgMzAsIDEyOSwgMTc3LCA1MiwgMjEzLCAKKyAgICAzMCwgMTI5LCAxNzcsIDU1LCAyMTMsIDMwLCAyMjIsIDIyMiwgMjI5LCAyMDYsIDUyLCAyMTMsIDMwLCAyMjIsIDIyMiwgCisgICAgMjI5LCAyMDYsIDU1LCAyMTMsIDMwLCAyMjYsIDY0LCAyMTMsIDMwLCAyNTAsIDEyMCwgMjEzLCAzMCwgMSwgMjE0LCAxODQsIAorICAgIDIwNSwgNzksIDIxMywgMzAsIDEsIDIxNCwgMTg0LCAyMzEsIDE1NiwgMjEzLCAzMCwgMSwgMjE0LCAxODQsIDI0MiwgMjgsIAorICAgIDgsIDEsIDI1MCwgMzksIDIsIDEyOSwgMTc3LCAyMzgsIDcxLCA1NSwgOCwgMSwgMjUwLCAzOSwgMiwgNjcsIDI1MCwgMjYsIAorICAgIDIzLCAxMjksIDE3NywgNTIsIDgsIDEsIDI1MCwgMzksIDIsIDEyOSwgMTc3LCAyMjAsIDIwMSwgMTY3LCA1NSwgOCwgMSwgCisgICAgMjUwLCAzOSwgMiwgMTI5LCAxNzcsIDIyMCwgMjAxLCAxNjcsIDI1MCwgMjYsIDIzLCAxMTgsIDE3NywgNTIsIDgsIDEsIAorICAgIDI1MCwgMzksIDIsIDExOCwgMTc3LCAyNTAsIDI2LCAyMywgNjcsIDUyLCA4LCAxLCAyNTAsIDM5LCAyLCAyMzMsIDIsIDUsIAorICAgIDIwOSwgMTQ5LCA1NSwgOCwgMSwgMjUwLCAzOSwgMiwgNSwgMjA5LCAxNDgsIDgsIDEsIDE0MCwgMiwgMTE4LCAxNzcsIDUyLCAKKyAgICA4LCAxLCAxNDAsIDIsIDEyOSwgMTc3LCAyMjAsIDIwMSwgMTY3LCA1NSwgOCwgMSwgMjQ2LCAxMTgsIDIsIDExOCwgMTc3LCAKKyAgICAyMDgsIDIyOCwgMjUwLCAyNiwgMjMsIDUsIDIxMiwgMTk0LCA4LCAxLCAyNDYsIDExOCwgMiwgMjMzLCAyLCA1LCAyMDksIAorICAgIDE0OSwgNTUsIDgsIDEsIDIxOSwgMTcsIDIsIDkxLCA4LCAxLCAyMTcsIDcxLCAyLCAyNDEsIDEyNSwgMTc3LCA1MiwgOCwgMSwgCisgICAgMjUyLCAyMDEsIDIsIDExOCwgMTc3LCA1MiwgOCwgMSwgMjUyLCAyMDEsIDIsIDEyOSwgMTc3LCAyMjAsIDIwMSwgMTczLCAKKyAgICA1MiwgOCwgMSwgMjUyLCAyMDEsIDIsIDExOCwgMTc3LCAyMDgsIDIyOCwgNTIsIDgsIDEsIDI0MiwgMTYsIDIsIDExOCwgCisgICAgMTc3LCA1NSwgOCwgMSwgMjQyLCAxNiwgMiwgMTI5LCAxNzcsIDIyMCwgMjAxLCAxNjcsIDU1LCA4LCAxLCAyMzEsIDIxMywgCisgICAgMiwgNjcsIDUyLCA4LCAxLCAyMzEsIDIxMywgMiwgMTI5LCAxNzcsIDUyLCA4LCAxLCAyMzEsIDIxMywgMiwgMTI5LCAxNzcsIAorICAgIDIyMCwgMjAxLCAxNjcsIDU1LCA4LCAxLCA4MCwgMiwgNjcsIDUyLCA4LCAxLCA4MCwgMiwgNjcsIDU1LCA4LCAxLCAyMjQsIAorICAgIDU1LCAyLCAxMTgsIDE3NywgNTUsIDgsIDEsIDIyNCwgNTUsIDIsIDUsIDIxMiwgMTk0LCA4LCAxLCAyMjQsIDU1LCAyLCA1LCAKKyAgICAyMDksIDE0OCwgOCwgMSwgMjMwLCAxMDcsIDIsIDEzNCwgOCwgMSwgMjE5LCAxNywgMiwgMTE4LCAxNzcsIDIwOCwgMjI4LCAKKyAgICA1MiwgOCwgMSwgMjE5LCAxNywgMiwgMjM5LCAxMTIsIDUyLCA4LCAxLCAyMTcsIDcxLCAyLCAxMTgsIDE3NywgMjA4LCAyMjgsIAorICAgIDUyLCA4LCAxLCAxNDAsIDIsIDUsIDgsIDEsIDIxMiwgMTk1LCA1NSwgOCwgMSwgMTQwLCAyLCA1LCA4LCAxLCAyMTIsIDE5NSwgCisgICAgMjMsIDExOCwgMjQ1LCAyMSwgOCwgMSwgMjE3LCA3MSwgMiwgNSwgOCwgMSwgMjEyLCAxOTUsIDIzLCAxMTgsIDI0NSwgMjEsIAorICAgIDgsIDEsIDIxOSwgMTcsIDIsIDUsIDgsIDEsIDIxMiwgMTk1LCAyMywgMTE4LCAyNDUsIDIxLCA4LCAxLCAxNDAsIDIsIDUsIAorICAgIDgsIDEsIDIxMiwgMTk1LCA1MiwgOCwgMSwgMTI2LCAyLCAyNDIsIDE1OSwgMjUyLCAzMywgMTgsIDExOCwgNTIsIDgsIDEsIAorICAgIDEyNiwgMiwgMjQyLCAxNTksIDI1MiwgMzMsIDE4LCAxMjksIDUyLCA4LCAxLCAyNDIsIDQyLCA4NywgMiwgMjQyLCAxNTksIAorICAgIDI1MiwgMzMsIDE4LCAxMTgsIDUyLCA4LCAxLCAyNDIsIDQyLCA4NywgMiwgMjQyLCAxNTksIDI1MiwgMzMsIDE4LCAxMjksIAorICAgIDUyLCA4LCAxLCAyNDIsIDQyLCA4NywgMiwgMjQyLCAxNTksIDI1MiwgMzMsIDE4LCAyNDEsIDEyNSwgNTUsIDgsIDEsIDIwNywgCisgICAgNjAsIDIsIDI0MiwgMTU5LCAyNTIsIDMzLCAxOCwgMTE4LCA1MiwgOCwgMSwgMjA3LCA2MCwgMiwgMjQyLCAxNTksIDI1MiwgCisgICAgMzMsIDE4LCAxMjksIDUyLCA4LCAxLCA4NywgMjUwLCAxMjIsIDIsIDI0MiwgMTU5LCAyNTIsIDMzLCAxOCwgMTE4LCA1MiwgCisgICAgOCwgMSwgODcsIDI1MCwgMTIyLCAyLCAyNDIsIDE1OSwgMjUyLCAzMywgMTgsIDEyOSwgNTIsIDgsIDEsIDE0MCwgMiwgMjQyLCAKKyAgICAxNTksIDI1MiwgMzMsIDE4LCAyNDEsIDEyNSwgNTUsIDgsIDEsIDIxNywgNzEsIDIsIDI0MiwgMTU5LCAyNTIsIDMzLCAxOCwgCisgICAgMjQxLCAxMjUsIDUyLCA4LCAxLCAyMTcsIDcxLCAyLCAyMzMsIDIsIDIwOSwgMTQ4LCA4LCAxLCAyMzIsIDQ2LCAyLCAxMTgsIAorICAgIDE3NywgNTIsIDIxMiwgNTMsIDEsIDIzOSwgMTQxLCAyMTIsIDUzLCAxLCAyMTUsIDIyMCwgMjEyLCA1MywgMSwgMjI0LCA1MywgCisgICAgMjEyLCA1MywgMSwgMjE5LCAxMDksIDIxMiwgNTMsIDEsIDI1MCwgMTgxLCAyMTIsIDUzLCAxLCAyMjksIDI0NSwgMjEyLCAKKyAgICA1MywgMSwgMjMyLCA2MCwgMjEyLCA1MywgMSwgMjUyLCAxNjEsIDIxMiwgNTMsIDEsIDIwOSwgNjgsIDIxMiwgNTMsIDEsIAorICAgIDIyNywgMTAzLCAyMTIsIDUzLCAxLCAyNDIsIDcxLCAyMTIsIDUzLCAxLCAyNDUsIDE5MCwgMjEyLCA1MywgMSwgMjEyLCA1NSwgCisgICAgMjEyLCA1MywgMSwgMjMwLCAxMzcsIDIxMiwgNTMsIDEsIDI0MCwgMjQwLCAyMTIsIDUzLCAxLCAyNDAsIDIyLCAyMTIsIDUzLCAKKyAgICAxLCAyMTcsIDY5LCAyMTIsIDUzLCAxLCAyNDYsIDcwLCAyMTIsIDUzLCAxLCAyMDUsIDk5LCAyMTIsIDUzLCAxLCAyMTIsIAorICAgIDE0NiwgMjEyLCA1MywgMSwgMjA2LCAxMDksIDIxMiwgNTMsIDEsIDIyMSwgMTg3LCAyMTIsIDUzLCAxLCAyMzIsIDE4NiwgCisgICAgMjEyLCA1MywgMSwgMjQ4LCA4NSwgMjEyLCA1MywgMSwgMjEwLCAyMDcsIDIxMiwgNTMsIDEsIDIzOSwgMTksIDIxMiwgNTMsIAorICAgIDEsIDIzMSwgMTY2LCAyMTIsIDUzLCAxLCAyMTIsIDU0LCAyMTIsIDUzLCAxLCAyMDUsIDExNSwgMjEyLCA1MywgMSwgMjE1LCAKKyAgICAyMDksIDIxMiwgNTMsIDEsIDIxNywgMTk1LCAyMTIsIDUzLCAxLCAyNDYsIDE0MywgMjEyLCA1MywgMSwgMTI0LCAyMTIsIAorICAgIDUzLCAxLCAyMDUsIDE5LCAyMTIsIDUzLCAxLCAyNTIsIDE5NywgMjEyLCA1MywgMSwgMjQwLCA5MywgMjEyLCA1MywgMSwgCisgICAgMjIwLCAxNiwgMjEyLCA1MywgMSwgMjA3LCA5NCwgMjEyLCA1MywgMjUzLCAzMSwgMjEyLCA1MywgMjUzLCAxMjksIDIxMiwgCisgICAgNTMsIDIzNywgMTg0LCAyMTIsIDUzLCAyNDMsIDEwMywgMjEyLCA1MywgMjEwLCAxMSwgMjEyLCA1MywgMjIyLCAxNTEsIAorICAgIDIxMiwgNTMsIDI0MywgMTExLCAyMTIsIDUzLCAyNDIsIDE1MSwgMjEyLCA1MywgMjIyLCAyMjEsIDIxMiwgNTMsIDIyMiwgCisgICAgMjI5LCAyMTIsIDUzLCAyMTMsIDE2MiwgMjEyLCA1MywgMSwgMjI1LCAyMzIsIDIyNCwgMTMxLCAxOCwgMjA1LCA4NSwgMjI0LCAKKyAgICAxMzEsIDE4LCAxMDIsIDIyNCwgMTMxLCAxOCwgMTA1LCAyMjQsIDEzMSwgMTgsIDE0MiwgMjI0LCAxMzEsIDE4LCAxMzksIAorICAgIDIyNCwgMTMxLCAxOCwgMTY4LCAyMjQsIDEzMSwgMTgsIDE4NCwgMjI0LCAxMzEsIDE4LCAxOTUsIDIyNCwgMTMxLCAxOCwgCisgICAgMTkzLCAyMjQsIDEzMSwgMTgsIDIwMCwgMjI0LCAxMzEsIDEsIDYyLCAyMjQsIDEzMSwgMSwgMjQzLCAxMDQsIDIyNCwgMTMxLCAKKyAgICAxLCA3NCwgMjI0LCAxMzEsIDEsIDc1LCAyMjQsIDEzMSwgMSwgNzEsIDIyNCwgMTMxLCAxLCAyMjIsIDE1MiwgMjI0LCAxMzEsIAorICAgIDEsIDc2LCAyMjQsIDEzMSwgMSwgMjQ2LCAxMzIsIDIyNCwgMTMxLCAxLCAyMjYsIDMzLCAyMjQsIDEzMSwgMSwgMjUwLCAKKyAgICAxODMsIDIyNCwgMTMxLCAxLCAxNzksIDIyNCwgMTMxLCAxLCAyMTIsIDIxOSwgMjI0LCAxMzEsIDEsIDIzMiwgMjAwLCAyMjQsIAorICAgIDEzMSwgMSwgMjQ4LCAxMTAsIDIyNCwgMTMxLCAxLCAyNDYsIDE0NSwgMjI0LCAxMzEsIDEsIDIxOSwgMTEzLCAyMjQsIDEzMSwgCisgICAgMSwgMjE4LCA4OSwgMjI0LCAxMzEsIDEsIDIxNywgMTk5LCAyMjQsIDEzMSwgMSwgMjQwLCAxODcsIDIyNCwgMTMxLCAxLCAKKyAgICAyNDIsIDczLCAyMjQsIDEzMSwgMSwgMTcyLCAyMjQsIDEzMSwgMSwgMjMwLCAxNDEsIDIyNCwgMTMxLCAxLCAyMjUsIDIzNywgCisgICAgMjA2LCAyNDYsIDIyNCwgMTMxLCAxLCAxODUsIDIyNCwgMTMxLCAxLCAyMjMsIDE0NCwgMjI0LCAxMzEsIDEsIDE5OSwgMjI0LCAKKyAgICAxMzEsIDEsIDE1NSwgMjI0LCAxMzEsIDEsIDIwNywgOTYsIDIyNCwgMTMxLCAxLCAxOTAsIDIyNCwgMTMxLCAxLCAyMjMsIAorICAgIDE0NSwgMjA2LCAyNDYsIDIyNCwgMTMxLCAxLCAyMzIsIDExNSwgMjMyLCAyMDAsIDIyNCwgMTMxLCAxLCAyMzIsIDExNSwgCisgICAgMjQ4LCAxMTAsIDIyNCwgMTMxLCAxLCAyMzIsIDExNSwgMjE5LCAxMTMsIDIyNCwgMTMxLCAzNiwgMjE1LCAxNDQsIDEyNywgCisgICAgMjExLCAxMTgsIDIyNCwgMTMxLCAzNiwgMjE1LCAxNDQsIDExNCwgMjExLCAxMTgsIDIyNCwgMTMxLCAzNiwgMjE1LCAxNDQsIAorICAgIDIxOCwgMTQyLCAyMTEsIDExOCwgMjI0LCAxMzEsIDM2LCAxNTIsIDI0NSwgMjEwLCAyMTEsIDExOCwgMjI0LCAxMzEsIDM2LCAKKyAgICAxNTIsIDEyNywgMjExLCAxMTgsIDIyNCwgMTMxLCAzNiwgMTUyLCAxMTQsIDIxMSwgMTE4LCAyMjQsIDEzMSwgMzYsIDE1MiwgCisgICAgMjE4LCAxNDIsIDIxMSwgMTE4LCAyMjQsIDEzMSwgMzYsIDIyNSwgMTk3LCA4MywgMjI0LCAxMzEsIDM2LCA1MCwgNjcsIDUyLCAKKyAgICAyMjQsIDEzMSwgMTI3LCAxMzUsIDI1MiwgNTMsIDIyNCwgMTMxLCAxMTQsIDEzNSwgMjUyLCA1MywgMjI0LCAxMzEsIDE2LCAKKyAgICAyMjIsIDE1MywgMjQ1LCAyMjMsIDIyNCwgMTMxLCAxNiwgMjQwLCAxODYsIDIyNCwgMTMxLCAyNDcsIDE1NSwgMjI0LCAxMzEsIAorICAgIDI0MiwgMTY4LCA4MywgMjI0LCAxMzEsIDIzMCwgMTEyLCAyMTcsIDE2MCwgMSwgMjUyLCAxNzksIDIxNywgMTYwLCAxLCAKKyAgICAyNDksIDIwOSwgMjE3LCAxNjAsIDEsIDI0MCwgMjIwLCAyMTcsIDE2MCwgMSwgMjQ2LCAxMTYsIDIxNywgMTYwLCAxLCAyMzIsIAorICAgIDIxMSwgMjE3LCAxNjAsIDEsIDI1MCwgMTgxLCAyMTcsIDE2MCwgMSwgMjA1LCA4OCwgMjE3LCAxNjAsIDEsIDIzMiwgMjIwLCAKKyAgICAyMTcsIDE2MCwgMSwgMjExLCAxNTYsIDIxNywgMTYwLCAxLCAyMDUsIDE4MiwgMjE3LCAxNjAsIDEsIDIzMiwgNjEsIDIxNywgCisgICAgMTYwLCAxLCAyMzAsIDEzNCwgMjE3LCAxNjAsIDEsIDIyNiwgMjExLCAyMTcsIDE2MCwgMSwgMjIzLCAxNzMsIDIxNywgMTYwLCAKKyAgICAxLCAyMTUsIDQyLCAyMTcsIDE2MCwgMSwgMjMzLCA2OCwgMjE3LCAxNjAsIDEsIDI0MSwgMjUwLCAyMTcsIDE2MCwgMSwgCisgICAgMjEwLCAyNDEsIDIxNywgMTYwLCAxLCAyMTksIDE5MywgMjE3LCAxNjAsIDEsIDIxOCwgMTQzLCAyMTcsIDE2MCwgMSwgMjE1LCAKKyAgICAyMzcsIDIxNywgMTYwLCAxLCAyMTIsIDIxNCwgMjE3LCAxNjAsIDE0MSwgMjMzLCA2OCwgMjE3LCAxNjAsIDE0MSwgMjMzLCAKKyAgICA2NywgMjE3LCAxNjAsIDE0MSwgMjIyLCAyMTcsIDIxNywgMTYwLCAxNDEsIDI0NiwgMTMwLCAyMTcsIDE2MCwgNjUsIDEsIAorICAgIDI0MiwgMjQ5LCAyMDUsIDE4MiwgMjE3LCAxNjAsIDE0MSwgMjQyLCAyNDksIDIwNSwgMTgyLCAyMTcsIDE2MCwgMjIsIDMsIAorICAgIDE1MiwgNzUsIDIxNywgMTYwLCAyMiwgMywgNzUsIDIxNywgMTYwLCAyMiwgMywgMjIyLCA4MCwgMjUzLCAxNjQsIDIxNywgCisgICAgMTYwLCAyMiwgMywgMTUyLCAyNTMsIDE2NCwgMjE3LCAxNjAsIDIyLCAzLCAyNTMsIDE2NCwgMjE3LCAxNjAsIDIyLCAzLCAKKyAgICAyMjIsIDgwLCA2MiwgMjE3LCAxNjAsIDIyLCAzLCAxNTIsIDYyLCAyMTcsIDE2MCwgMjIsIDMsIDYyLCAyMTcsIDE2MCwgNjUsIAorICAgIDEsIDIxNSwgMTQ0LCA2MiwgMjE3LCAxNjAsIDIyLCAzLCAyMTUsIDE0NCwgNjIsIDIxNywgMTYwLCAyMiwgMywgMTUyLCA3MSwgCisgICAgMjE3LCAxNjAsIDIyLCAzLCA3MSwgMjE3LCAxNjAsIDY1LCAxLCA3NCwgMjE3LCAxNjAsIDIyLCAzLCAxNTIsIDc0LCAyMTcsIAorICAgIDE2MCwgMjIsIDMsIDc0LCAyMTcsIDE2MCwgMjIsIDMsIDc2LCAyMTcsIDE2MCwgMjIsIDMsIDIxMywgMTYyLCAyMTcsIDE2MCwgCisgICAgMTQxLCAyMjUsIDk0LCAyMTcsIDE2MCwgMjIwLCA3MiwgMjI1LCA5NCwgMjE3LCAxNjAsIDIyMCwgNzIsIDI1MiwgMjIyLCAKKyAgICAyMTcsIDE2MCwgMjIwLCA3MiwgMjUyLCAxMTMsIDIxNywgMTYwLCAyMjAsIDcyLCAyNTAsIDEwMSwgMjE3LCAxNjAsIDIyMCwgCisgICAgNzIsIDI1MSwgMTk0LCAyMTcsIDE2MCwgMjIwLCA3MiwgMjE1LCAxNTksIDIxNywgMTYwLCAyNTMsIDI5LCA4MywgMjE3LCAKKyAgICAxNjAsIDIyMCwgNzIsIDIyNywgOTMsIDIxOSwgMjI5LCAyMTcsIDE2MCwgMjIwLCA3MiwgMjA1LCAyNywgMjE3LCAxNjAsIAorICAgIDIyMCwgNzIsIDIxOSwgMjI5LCAyMTcsIDE2MCwgMjIwLCA3MiwgMjA1LCAxMTQsIDIxNywgMTYwLCAyMjAsIDcyLCAyMTAsIAorICAgIDE0MCwgMjE3LCAxNjAsIDIyMCwgNzIsIDI1MiwgNCwgMjE3LCAxNjAsIDIyMCwgNzIsIDIxNCwgMTg4LCAyMjcsIDE3NiwgCisgICAgMjE3LCAxNjAsIDIyMCwgNzIsIDI1MiwgOTksIDIyNywgMjE3LCAxLCAyMzksIDExOCwgMjI3LCAyMTcsIDEsIDI1MywgMTE1LCAKKyAgICAyMjcsIDIxNywgMSwgMjUyLCAyMjAsIDIyNywgMjE3LCAxLCAyNTMsIDUsIDIyNywgMjE3LCAxLCAyNTIsIDIxMywgMjI3LCAKKyAgICAyMTcsIDEsIDIwOSwgMTY4LCAyMjcsIDIxNywgMSwgMjUxLCAxNTIsIDIyNywgMjE3LCAxLCAyMzIsIDIyMCwgMjI3LCAyMTcsIAorICAgIDEsIDI1MSwgMTkxLCAyMjcsIDIxNywgMSwgMjUyLCAxODQsIDIyNywgMjE3LCAxLCAyNTIsIDE4OSwgMjI3LCAyMTcsIDEsIAorICAgIDI1MiwgMTgxLCAyMjcsIDIxNywgMSwgMjUyLCAxMzYsIDIyNywgMjE3LCAxLCAyNTIsIDEyMiwgMjI3LCAyMTcsIDEsIDI1MSwgCisgICAgMjMxLCAyMjcsIDIxNywgMSwgMjMzLCA2OCwgMjI3LCAyMTcsIDEsIDI1MiwgNjgsIDIyNywgMjE3LCAxLCAyNTEsIDIwMSwgCisgICAgMjI3LCAyMTcsIDEsIDI1MiwgNDEsIDIyNywgMjE3LCAxLCAyNTIsIDM3LCAyMjcsIDIxNywgMSwgMjUxLCAyMjUsIDIyNywgCisgICAgMjE3LCAxLCAyNTEsIDE5OSwgMjI3LCAyMTcsIDEsIDI0MywgMjE0LCAyMjcsIDIxNywgMSwgMjMyLCA1MywgMjI3LCAyMTcsIAorICAgIDEsIDI1MiwgMjAwLCAyMjcsIDIxNywgMjUyLCAyMjYsIDgzLCAyMjcsIDIxNywgMjA4LCAxNzEsIDgzLCAyMjcsIDIxNywgCisgICAgMjQwLCAxNTksIDgzLCAyMjcsIDIxNywgMjIwLCA3MSwgOCwgMSwgMjUwLCAzOSwgMiwgNSwgMjA5LCAxNDksIDU1LCA4LCAxLCAKKyAgICAyNTAsIDM5LCAyLCAyMzksIDExMiwgNTIsIDgsIDEsIDE3MSwgMiwgMTE4LCAxNzcsIDUyLCA4LCAxLCAyMTIsIDE5NSwgMiwgCisgICAgMTE4LCAxNzcsIDUyLCA4LCAxLCAyNDIsIDE2LCAyLCA2NywgMjUwLCAyNiwgMjMsIDEyOSwgMTc3LCA1MiwgOCwgMSwgMjIwLCAKKyAgICAxMywgMiwgNjcsIDU1LCA4LCAxLCAyMzAsIDEwNywgMiwgNTAsIDEzNCwgOCwgMSwgODAsIDIsIDEyOSwgMTc3LCA1MiwgOCwgCisgICAgMSwgODcsIDIsIDExOCwgMTc3LCAyNTAsIDI2LCAyMywgMjM5LCAxMTIsIDUyLCA4LCAxLCA4NywgMiwgMTE4LCAxNzcsIAorICAgIDI1MCwgMjYsIDIzLCA2NywgNTIsIDgsIDEsIDIxOSwgMTcsIDIsIDIyOSwgMTExLCA4LCAxLCAyMDcsIDYwLCAyLCA2NywgCisgICAgMjA2LCAyNTQsIDgsIDEsIDIxOCwgMTEzLCAyMDYsIDQ3LCA4LCAxLCAxMTQsIDI1MiwgMTcyLCA4LCAxLCAyNDYsIDExOCwgCisgICAgMiwgMTI5LCAxNzcsIDU1LCA4LCAxLCAyMTcsIDE5MiwgMiwgMTI5LCAxNzcsIDU1LCA4LCAxLCAyNDAsIDIzMiwgMiwgMjMzLCAKKyAgICAyLCA5MSwgOCwgMSwgMjEzLCAyNDMsIDIwNywgNTksIDgsIDEsIDIwNSwgMTA5LCAyLCAyMzMsIDIsIDIwOSwgMTQ5LCA1MiwgCisgICAgOCwgMjQ3LCAyNiwgMjQyLCAzOSwgOCwgMjQ3LCAyNiwgMjQ2LCAxMDYsIDgsIDI0NywgMjYsIDIzMSwgMjUyLCA4LCAyNDcsIAorICAgIDI2LCAyNDIsIDM3LCA4LCAyNDcsIDI2LCAyNDYsIDEwNCwgOCwgMjQ3LCAyNiwgMjMxLCAyNTAsIDgsIDEzNSwgMTE5LCA2NywgCisgICAgNTIsIDgsIDEzNSwgMTE4LCAxNzcsIDUyLCA4LCAxMzUsIDIyOSwgMTEyLCA1MiwgOCwgMTM1LCAxMTksIDY3LCA1NSwgOCwgCisgICAgMTM1LCAxMTgsIDE3NywgNTUsIDgsIDEzNSwgMjI5LCAxMTIsIDU1LCA4LCAyMjIsIDE0MiwgMjQyLCAzNywgOCwgMjIyLCAKKyAgICAxNDIsIDI0NiwgMTA0LCA4LCAyMjIsIDE0MiwgMjMxLCAyNTAsIDgsIDUsIDEyNywgMjA3LCA1OSwgOCwgMjQyLCA0MCwgMiwgCisgICAgMjE4LCAxNDgsIDgsIDI0MiwgNDAsIDIsIDY3LCA1MiwgOCwgMjMxLCAyNTMsIDIsIDY3LCA1NSwgOCwgNDcsIDI1MSwgMjQ0LCAKKyAgICA1MiwgOCwgNDgsIDI1MSwgMjQ0LCA1MiwgOCwgNDcsIDI1MSwgMjQ0LCA1NSwgOCwgNDgsIDI1MSwgMjQ0LCA1NSwgOCwgNTAsIAorICAgIDQ4LCAyNTEsIDI0NCwgNTIsIDgsIDUwLCA0OCwgMjUxLCAyNDQsIDg0LCAyLCAyNDUsIDIzLCA4LCA0OCwgMjUxLCAyNDQsIAorICAgIDg0LCAyLCAyNDUsIDIzLCA4LCAyNDYsIDEwNywgMiwgMjQ1LCAyMywgOCwgMTQxLCAyMTUsIDczLCAyMjQsIDU1LCAyNDAsIAorICAgIDY1LCA4OSwgMywgMjMzLCAyLCAyNDgsIDIxNywgODksIDMsIDI0OCwgMjE3LCA4OSwgMywgMjUyLCA3MywgODksIDMsIDIwOCwgCisgICAgMTgzLCA4OSwgMSwgMjE1LCAxNDQsIDYyLCA4OSwgMSwgNjIsIDg5LCAxLCAyNTMsIDE2NCwgODksIDEsIDc0LCA4OSwgMSwgCisgICAgMjMzLCAxMDIsIDg5LCAxLCA3MSwgODksIDEsIDIwOSwgMTYyLCA4OSwgMSwgMTE1LCAxMzcsIDg5LCAxLCAxMTUsIDE0OSwgCisgICAgODksIDEsIDI0OCwgMjIwLCA3NSwgODksIDEsIDIxNSwgMTQ0LCA3NSwgODksIDEsIDc1LCA4OSwgMSwgMjUyLCAyMDUsIDg5LCAKKyAgICAxLCAyNDgsIDIyMCwgNzYsIDg5LCAxLCAyMTUsIDE0NCwgNzYsIDg5LCAxLCA3NiwgODksIDEsIDI1MSwgMTg0LCA4OSwgMSwgCisgICAgMTcyLCA4OSwgMSwgMjMxLCAxNjcsIDg5LCAxLCAyNDAsIDI0NCwgODksIDEsIDI0MCwgOTksIDg5LCAxLCAyMjUsIDc3LCAKKyAgICA4OSwgMSwgMjQ5LCAxLCA4OSwgMSwgMjQ4LCAxMTAsIDg5LCAxLCAyMzIsIDIwMCwgODksIDEsIDIzMiwgMTcwLCA4OSwgMSwgCisgICAgMjIzLCAxNDQsIDg5LCAxLCAyMTAsIDIwOCwgODksIDEsIDIxMCwgMTk2LCA4OSwgMSwgMjQ2LCA1NCwgODksIDEsIDI0NiwgCisgICAgMzgsIDg5LCAxLCAyMjQsIDEwMywgODksIDEsIDIxMiwgMjE5LCA4OSwgMSwgMjEyLCA1NiwgODksIDEsIDI0NiwgMTQ1LCAKKyAgICA4OSwgMSwgMjQ1LCAxOTIsIDg5LCAxLCAxOTksIDg5LCAxLCAyMjQsIDg1LCA4OSwgMSwgMTc5LCA4OSwgMSwgMjIxLCA5MywgCisgICAgODksIDEsIDI1MCwgMTgzLCA4OSwgMSwgMjUwLCAwLCA4OSwgMSwgMTg1LCA4OSwgMSwgMTkwLCA4OSwgMSwgMjE5LCAxMTMsIAorICAgIDg5LCAxLCAyMTgsIDg5LCA4OSwgMSwgMjMwLCAxNDEsIDg5LCAxLCAyMjksIDE3MiwgODksIDEsIDIyOSwgMTYzLCA4OSwgMSwgCisgICAgMjA5LCA3MCwgODksIDEsIDIxNiwgMiwgODksIDEsIDIxNCwgOTYsIDg5LCAxLCAyMTcsIDE5OSwgODksIDEsIDE1NSwgODksIAorICAgIDIyLCAzLCAyMjIsIDIwNiwgODksIDIyLCAzLCAyMjIsIDE1MCwgODksIDMsIDIyMywgMTg0LCA4OSwgMywgMjUxLCAxNjcsIAorICAgIDg5LCAyMiwgMywgMjUzLCAxNjQsIDg5LCAyMiwgMywgNzQsIDg5LCAyMiwgMywgMjMzLCAxMDIsIDg5LCAyMiwgMywgNzEsIAorICAgIDg5LCAyMiwgMywgMjA5LCAxNjIsIDg5LCAyMiwgMywgMTE1LCAxMzcsIDg5LCAyMiwgMywgMTE1LCAyMTgsIDkwLCA4OSwgCisgICAgMjIsIDMsIDI0OCwgMjIwLCA3NSwgODksIDIyLCAzLCAyMTUsIDE0NCwgNzUsIDg5LCAyMiwgMywgNzUsIDg5LCAyMiwgMywgCisgICAgMjUyLCAyMDUsIDg5LCAyMiwgMywgMjQ4LCAyMjAsIDc2LCA4OSwgMjIsIDMsIDIxNSwgMTQ0LCA3NiwgODksIDIyLCAzLCAKKyAgICA3NiwgODksIDIyLCAzLCAyNTEsIDE4NCwgODksIDMsIDIwOCwgMTg4LCA4OSwgMjIsIDMsIDIyMCwgMTIwLCA3NSwgODksIAorICAgIDIyLCAzLCAyNTEsIDE2MywgODksIDIyMiwgMTczLCA4OSwgMjEzLCAyMzMsIDMsIDIxMCwgNSwgODksIDIxMywgMjMzLCAzLCAKKyAgICAyNTIsIDc1LCA4OSwgMjM5LCAyMzcsIDI1MywgMjEsIDg5LCAyNTMsIDksIDI1MywgMjEsIDg5LCAyMiwgMywgMjQ4LCAyMjAsIAorICAgIDE1MiwgNzUsIDg5LCAyMiwgMywgMjEwLCAzLCA4OSwgMjIsIDMsIDIwOSwgMTYxLCA4OSwgMSwgMjIwLCAxOSwgODksIDEsIAorICAgIDIzMSwgMTQ4LCA4OSwgMSwgMjQwLCA3NCwgODksIDEsIDIwNSwgMTE2LCA4OSwgMSwgMjQ2LCA0MywgODksIDEsIDIxOCwgCisgICAgMjEyLCA4OSwgMSwgMjQyLCA3MywgODksIDEsIDIwNSwgMTY4LCA4OSwgMSwgMTE1LCAyMTgsIDkwLCA4OSwgMSwgMTE1LCAKKyAgICAyMjksIDE3MywgODksIDIyLCAzLCAxMTUsIDE0OSwgODksIDIyLCAzLCAxMTUsIDIyOSwgMTczLCA4OSwgMjQ2LCAxMDAsIAorICAgIDg5LCA1MCwgMjQ2LCAxMDAsIDg5LCAxOCwgMjA1LCA4NSwgODksIDE4LCAxMDIsIDg5LCAxOCwgMTA1LCA4OSwgMTgsIDE0MiwgCisgICAgODksIDE4LCAxMzksIDg5LCAxOCwgMTY4LCA4OSwgMTgsIDE4NCwgODksIDE4LCAxOTUsIDg5LCAxOCwgMTkzLCA4OSwgMTgsIAorICAgIDIwMCwgODksIDI1MywgMjksIDUzLCA4OSwgMywgMTI3LCAyMTQsIDE1MiwgMjQ1LCAyMywgODksIDEsIDI0OCwgMjIwLCA2MiwgCisgICAgODksIDEsIDIyMiwgMjA2LCA4OSwgMSwgMjIyLCAxNTAsIDg5LCAxLCAyNTEsIDE2MywgODksIDEsIDIxMCwgMywgODksIDEsIAorICAgIDIwOSwgMTYxLCA4OSwgMSwgMjI3LCAxODEsIDI0NiwgNTQsIDg5LCAxLCAyMDUsIDgxLCA4OSwgMSwgNzcsIDE5MCwgODksIAorICAgIDEsIDI0MCwgMTM1LCA4OSwgMSwgMjMyLCAxNTAsIDg5LCAxLCAyNDAsIDI1LCAyMTMsIDI1MSwgODksIDEsIDI0NiwgNDQsIAorICAgIDg5LCAxLCAyNTAsIDk3LCAxNjUsIDI1MiwgMTAyLCAxNjUsIDMsIDI0OCwgMjE3LCAxNjUsIDMsIDI1MiwgNzMsIDE2NSwgMywgCisgICAgMjA4LCAxODMsIDE2NSwgMSwgNjIsIDE2NSwgMSwgMjUzLCAxNjQsIDE2NSwgMSwgNzQsIDE2NSwgMSwgMjMzLCAxMDIsIAorICAgIDE2NSwgMSwgNzEsIDE2NSwgMSwgMjA5LCAxNjIsIDE2NSwgMSwgMTE1LCAxMzcsIDE2NSwgMSwgMTE1LCAxNDksIDE2NSwgMSwgCisgICAgNzUsIDE2NSwgMSwgMjUyLCAyMDUsIDE2NSwgMSwgNzYsIDE2NSwgMSwgMjUxLCAxODQsIDE2NSwgMSwgMTcyLCAxNjUsIDEsIAorICAgIDIzMSwgMTY3LCAxNjUsIDEsIDI0MCwgMjQ0LCAxNjUsIDEsIDI0MCwgOTksIDE2NSwgMSwgMjI1LCA3NywgMTY1LCAxLCAKKyAgICAyNDksIDEsIDE2NSwgMSwgMjQ4LCAxMTAsIDE2NSwgMSwgMjMyLCAyMDAsIDE2NSwgMSwgMjMyLCAxNzAsIDE2NSwgMSwgCisgICAgMjIzLCAxNDQsIDE2NSwgMSwgMjEwLCAyMDgsIDE2NSwgMSwgMjEwLCAxOTYsIDE2NSwgMSwgMjQ2LCA1NCwgMTY1LCAxLCAKKyAgICAyNDYsIDM4LCAxNjUsIDEsIDIyNCwgMTAzLCAxNjUsIDEsIDIxMiwgMjE5LCAxNjUsIDEsIDIxMiwgNTYsIDE2NSwgMSwgCisgICAgMjQ2LCAxNDUsIDE2NSwgMSwgMjQ1LCAxOTIsIDE2NSwgMSwgMTk5LCAxNjUsIDEsIDE3OSwgMTY1LCAxLCAyMjEsIDkzLCAKKyAgICAxNjUsIDEsIDI1MCwgMTgzLCAxNjUsIDEsIDI1MCwgMCwgMTY1LCAxLCAxODUsIDE2NSwgMSwgMTkwLCAxNjUsIDEsIDIxOSwgCisgICAgMTEzLCAxNjUsIDEsIDIzMCwgMTQxLCAxNjUsIDEsIDIxNiwgMiwgMTY1LCAxLCAyMTQsIDk2LCAxNjUsIDEsIDIxNywgMTk5LCAKKyAgICAxNjUsIDEsIDE1NSwgMTY1LCAzLCAyMjMsIDE4NCwgMTY1LCAzLCAyNTEsIDE2NywgMTY1LCAyMiwgMywgMjUzLCAxNjQsIAorICAgIDE2NSwgMjIsIDMsIDc0LCAxNjUsIDIyLCAzLCAyMzMsIDEwMiwgMTY1LCAyMiwgMywgNzEsIDE2NSwgMjIsIDMsIDIwOSwgCisgICAgMTYyLCAxNjUsIDIyLCAzLCAxMTUsIDEzNywgMTY1LCAyMiwgMywgMTE1LCAyMTgsIDkwLCAxNjUsIDIyLCAzLCA3NSwgMTY1LCAKKyAgICAyMiwgMywgMjUyLCAyMDUsIDE2NSwgMjIsIDMsIDc2LCAxNjUsIDIyLCAzLCAyNTEsIDE4NCwgMTY1LCAzLCAyMDgsIDE4OCwgCisgICAgMTY1LCAxLCAyMzEsIDE1OCwgMjEyLCAyMTksIDE2NSwgMjUxLCAxODUsIDIzMCwgMjAsIDgzLCAxNjUsIDEsIDIxOCwgODksIAorICAgIDE2NSwgMSwgMjE4LCAyMTIsIDE2NSwgMSwgMjA1LCAxNjgsIDE2NSwgMSwgMTE1LCAyMTgsIDkwLCAxNjUsIDEsIDExNSwgCisgICAgMjI5LCAxNzMsIDE2NSwgMjIsIDMsIDExNSwgMTQ5LCAxNjUsIDIyLCAzLCAxMTUsIDIyOSwgMTczLCAxNjUsIDE4LCAyMDUsIAorICAgIDg1LCAxNjUsIDE4LCAxMDIsIDE2NSwgMTgsIDEwNSwgMTY1LCAxOCwgMTQyLCAxNjUsIDE4LCAxMzksIDE2NSwgMTgsIDE2OCwgCisgICAgMTY1LCAxOCwgMTg0LCAxNjUsIDE4LCAxOTUsIDE2NSwgMTgsIDE5MywgMTY1LCAxOCwgMjAwLCAxNjUsIDEsIDIxOSwgMTE0LCAKKyAgICAyLCAyMjYsIDI0NywgMjQ1LCAxNjIsIDE2NSwgMSwgMjE5LCAxMTQsIDIsIDIyOSwgOTIsIDI0NSwgMTYyLCAxNjUsIDIxOCwgCisgICAgMjcsIDgzLCAxNjUsIDIxOCwgMjcsIDUzLCAxNjUsIDI0NywgMjUsIDIyMywgMTc2LCAxMDIsIDE2NSwgMjQ3LCAyNSwgMjIzLCAKKyAgICAxNzYsIDEwNSwgMTY1LCAyNDcsIDI1LCAyMjMsIDE3NiwgMTQyLCAxNjUsIDI0NywgMjUsIDIyMywgMTc2LCAxMzksIDE2NSwgCisgICAgMjQ3LCAyNSwgMjIzLCAxNzYsIDExOSwgMjMwLCAxMSwgMjEyLCA0NywgMjEyLCA0MiwgMjQ1LCAyMjEsIDE2NSwgMjQ3LCAKKyAgICAyNSwgMjQ1LCAyMjIsIDIxNSwgNCwgMTY1LCAyMzIsIDIyMSwgMTY1LCAyNDAsIDIxMSwgODMsIDIzOSwgMTgyLCAzLCAyNTMsIAorICAgIDQsIDI0OSwgMjI0LCAyMzksIDE4MiwgMywgMjQ5LCAyMjQsIDIzOSwgMTgyLCAzLCAyMDgsIDE4MywgMjM5LCAxODIsIDEsIAorICAgIDYyLCAyMzksIDE4MiwgMSwgMjUzLCAxNjQsIDIzOSwgMTgyLCAxLCA3NCwgMjM5LCAxODIsIDEsIDIzMywgMTAyLCAyMzksIAorICAgIDE4MiwgMSwgNzEsIDIzOSwgMTgyLCAxLCAyMDksIDE2MiwgMjM5LCAxODIsIDEsIDI0MywgMTA0LCAyMzksIDE4MiwgMSwgCisgICAgMjUyLCAyMDUsIDIzOSwgMTgyLCAxLCAyMjIsIDE1MiwgMjM5LCAxODIsIDEsIDI1MSwgMTg0LCAyMzksIDE4MiwgMSwgMTcyLCAKKyAgICAyMzksIDE4MiwgMSwgMjMxLCAxNjcsIDIzOSwgMTgyLCAxLCAyNDAsIDI0NCwgMjM5LCAxODIsIDEsIDI0MCwgOTksIDIzOSwgCisgICAgMTgyLCAxLCAyMjUsIDc3LCAyMzksIDE4MiwgMSwgMjQ5LCAxLCAyMzksIDE4MiwgMSwgMjQ4LCAxMTAsIDIzOSwgMTgyLCAxLCAKKyAgICAyMzIsIDIwMCwgMjM5LCAxODIsIDEsIDIzMiwgMTcwLCAyMzksIDE4MiwgMSwgMjIzLCAxNDQsIDIzOSwgMTgyLCAxLCAyMTAsIAorICAgIDIwOCwgMjM5LCAxODIsIDEsIDIxMCwgMTk2LCAyMzksIDE4MiwgMSwgMjQ2LCA1NCwgMjM5LCAxODIsIDEsIDI0NiwgMzgsIAorICAgIDIzOSwgMTgyLCAxLCAyMjQsIDEwMywgMjM5LCAxODIsIDEsIDIxMiwgMjE5LCAyMzksIDE4MiwgMSwgMjEyLCA1NiwgMjM5LCAKKyAgICAxODIsIDEsIDI0NiwgMTQ1LCAyMzksIDE4MiwgMSwgMjQ1LCAxOTIsIDIzOSwgMTgyLCAxLCAxOTksIDIzOSwgMTgyLCAxLCAKKyAgICAxNzksIDIzOSwgMTgyLCAxLCAyMjEsIDkzLCAyMzksIDE4MiwgMSwgMjUwLCAxODMsIDIzOSwgMTgyLCAxLCAyNTAsIDAsIAorICAgIDIzOSwgMTgyLCAxLCAxODUsIDIzOSwgMTgyLCAxLCAxOTAsIDIzOSwgMTgyLCAxLCAyMTksIDExMywgMjM5LCAxODIsIDEsIAorICAgIDIzMCwgMTQxLCAyMzksIDE4MiwgMSwgMjI5LCAxNzIsIDIzOSwgMTgyLCAxLCAyMDksIDcwLCAyMzksIDE4MiwgMSwgMjE2LCAKKyAgICAyLCAyMzksIDE4MiwgMSwgMjE3LCAxOTksIDIzOSwgMTgyLCAxLCAxNTUsIDIzOSwgMTgyLCAzLCAyMjMsIDE4NCwgMjM5LCAKKyAgICAxODIsIDIyLCAzLCAyNTMsIDE2NCwgMjM5LCAxODIsIDIyLCAzLCA3NCwgMjM5LCAxODIsIDIyLCAzLCAyMzMsIDEwMiwgCisgICAgMjM5LCAxODIsIDIyLCAzLCA3MSwgMjM5LCAxODIsIDIyLCAzLCAyMDksIDE2MiwgMjM5LCAxODIsIDIyLCAzLCAyNDMsIAorICAgIDEwNCwgMjM5LCAxODIsIDIyLCAzLCAyNTIsIDIwNSwgMjM5LCAxODIsIDIyLCAzLCAyMjIsIDE1MiwgMjM5LCAxODIsIDIyLCAKKyAgICAzLCAyNTEsIDE4NCwgMjM5LCAxODIsIDMsIDIwOCwgMTg4LCAyMzksIDE4MiwgMywgMjEwLCA3LCAyMzksIDE4MiwgMSwgCisgICAgMjMxLCAxNDgsIDIzOSwgMTgyLCAxLCAyNDAsIDc0LCAyMzksIDE4MiwgMSwgMjA1LCAxMTYsIDIzOSwgMTgyLCAxLCAyMTgsIAorICAgIDg5LCAyMzksIDE4MiwgMSwgMjQyLCA3MywgMjM5LCAxODIsIDE4LCAyMDUsIDg1LCAyMzksIDE4MiwgMTgsIDEwMiwgMjM5LCAKKyAgICAxODIsIDE4LCAxMDUsIDIzOSwgMTgyLCAxOCwgMTQyLCAyMzksIDE4MiwgMTgsIDEzOSwgMjM5LCAxODIsIDE4LCAxNjgsIAorICAgIDIzOSwgMTgyLCAxOCwgMTg0LCAyMzksIDE4MiwgMTgsIDE5NSwgMjM5LCAxODIsIDE4LCAxOTMsIDIzOSwgMTgyLCAxOCwgCisgICAgMjAwLCAyMzksIDE4MiwgMjExLCAxNjQsIDIzOSwgMTgyLCAyNTMsIDMsIDIzOSwgMTgyLCAyMzIsIDI0MSwgMjM5LCAxODIsIAorICAgIDIwOSwgMTkwLCAyMzksIDE4MiwgMjQzLCA3NiwgMjIyLCAxNTcsIDIzOSwgMTgyLCAzLCAyMDYsIDg0LCAxOTgsIDMsIDI0OCwgCisgICAgMjE3LCAxOTgsIDMsIDI1MiwgNzMsIDE5OCwgMywgMjA4LCAxODMsIDE5OCwgMSwgNjIsIDE5OCwgMSwgMjUzLCAxNjQsIAorICAgIDE5OCwgMSwgNzQsIDE5OCwgMSwgMjMzLCAxMDIsIDE5OCwgMSwgNzEsIDE5OCwgMSwgMjA5LCAxNjIsIDE5OCwgMSwgMTE1LCAKKyAgICAxMzcsIDE5OCwgMSwgMTE1LCAxNDksIDE5OCwgMjIsIDI0OCwgMjIwLCA3NSwgMTk4LCAxLCA3NSwgMTk4LCAxLCAyNTIsIAorICAgIDIwNSwgMTk4LCAyMiwgMjQ4LCAyMjAsIDc2LCAxOTgsIDEsIDc2LCAxOTgsIDEsIDI1MSwgMTg0LCAxOTgsIDEsIDE3MiwgCisgICAgMTk4LCAxLCAyMzEsIDE2NywgMTk4LCAxLCAyNDAsIDI0NCwgMTk4LCAxLCAyNDAsIDk5LCAxOTgsIDEsIDIyNSwgNzcsIAorICAgIDE5OCwgMSwgMjQ5LCAxLCAxOTgsIDEsIDI0OCwgMTEwLCAxOTgsIDEsIDIzMiwgMjAwLCAxOTgsIDEsIDIzMiwgMTcwLCAKKyAgICAxOTgsIDEsIDIyMywgMTQ0LCAxOTgsIDEsIDIxMCwgMjA4LCAxOTgsIDEsIDIxMCwgMTk2LCAxOTgsIDEsIDI0NiwgNTQsIAorICAgIDE5OCwgMSwgMjQ2LCAzOCwgMTk4LCAxLCAyMjQsIDEwMywgMTk4LCAxLCAyMTIsIDIxOSwgMTk4LCAxLCAyMTIsIDU2LCAKKyAgICAxOTgsIDEsIDI0NiwgMTQ1LCAxOTgsIDEsIDI0NSwgMTkyLCAxOTgsIDEsIDE5OSwgMTk4LCAxLCAxNzksIDE5OCwgMSwgCisgICAgMjIxLCA5MywgMTk4LCAxLCAyNTAsIDE4MywgMTk4LCAxLCAyNTAsIDAsIDE5OCwgMSwgMTg1LCAxOTgsIDEsIDE5MCwgMTk4LCAKKyAgICAxLCAyMTksIDExMywgMTk4LCAxLCAyMzAsIDE0MSwgMTk4LCAxLCAyMjksIDE3MiwgMTk4LCAxLCAyMDksIDcwLCAxOTgsIDEsIAorICAgIDIxNiwgMiwgMTk4LCAxLCAyMTQsIDk2LCAxOTgsIDEsIDIxNywgMTk5LCAxOTgsIDEsIDE1NSwgMTk4LCAzLCAyMjMsIDE4NCwgCisgICAgMTk4LCAzLCAyNTEsIDE2NywgMTk4LCAyMiwgMywgMjUzLCAxNjQsIDE5OCwgMjIsIDMsIDc0LCAxOTgsIDIyLCAzLCAyMzMsIAorICAgIDEwMiwgMTk4LCAyMiwgMywgNzEsIDE5OCwgMjIsIDMsIDIwOSwgMTYyLCAxOTgsIDIyLCAzLCAxMTUsIDEzNywgMTk4LCAyMiwgCisgICAgMywgMTE1LCAyMTgsIDkwLCAxOTgsIDIyLCAzLCAyNDgsIDIyMCwgNzUsIDE5OCwgMjIsIDMsIDc1LCAxOTgsIDIyLCAzLCAKKyAgICAyNTIsIDIwNSwgMTk4LCAyMiwgMywgMjQ4LCAyMjAsIDc2LCAxOTgsIDIyLCAzLCA3NiwgMTk4LCAyMiwgMywgMjUxLCAxODQsIAorICAgIDE5OCwgMywgMjA4LCAxODgsIDE5OCwgMjIyLCAxNzMsIDE5OCwgMSwgMTE1LCAyMTgsIDkwLCAxOTgsIDEsIDExNSwgMjI5LCAKKyAgICAxNzMsIDE5OCwgMjIsIDMsIDExNSwgMTQ5LCAxOTgsIDIyLCAzLCAxMTUsIDIyOSwgMTczLCAxOTgsIDE4LCAyMDUsIDg1LCAKKyAgICAxOTgsIDE4LCAxMDIsIDE5OCwgMTgsIDEwNSwgMTk4LCAxOCwgMTQyLCAxOTgsIDE4LCAxMzksIDE5OCwgMTgsIDE2OCwgCisgICAgMTk4LCAxOCwgMTg0LCAxOTgsIDE4LCAxOTUsIDE5OCwgMTgsIDE5MywgMTk4LCAxOCwgMjAwLCAxOTgsIDI1MywgMjksIDUzLCAKKyAgICAxOTgsIDIxOCwgMjcsIDUzLCAxNzgsIDMsIDI0OCwgMjE3LCAxNzgsIDMsIDI1MiwgNzMsIDE3OCwgMywgMjA4LCAxODMsIAorICAgIDE3OCwgMSwgNjIsIDE3OCwgMSwgMjUzLCAxNjQsIDE3OCwgMSwgNzQsIDE3OCwgMSwgMjMzLCAxMDIsIDE3OCwgMSwgNzEsIAorICAgIDE3OCwgMSwgMjA5LCAxNjIsIDE3OCwgMSwgMTE1LCAxMzcsIDE3OCwgMSwgMTE1LCAxNDksIDE3OCwgMSwgNzUsIDE3OCwgMSwgCisgICAgMjUyLCAyMDUsIDE3OCwgMSwgNzYsIDE3OCwgMSwgMjUxLCAxODQsIDE3OCwgMSwgMTcyLCAxNzgsIDEsIDIzMSwgMTY3LCAKKyAgICAxNzgsIDEsIDI0MCwgMjQ0LCAxNzgsIDEsIDI0MCwgOTksIDE3OCwgMSwgMjI1LCA3NywgMTc4LCAxLCAyNDksIDEsIDE3OCwgCisgICAgMSwgMjQ4LCAxMTAsIDE3OCwgMSwgMjMyLCAyMDAsIDE3OCwgMSwgMjMyLCAxNzAsIDE3OCwgMSwgMjIzLCAxNDQsIDE3OCwgCisgICAgMSwgMjEwLCAyMDgsIDE3OCwgMSwgMjEwLCAxOTYsIDE3OCwgMSwgMjQ2LCA1NCwgMTc4LCAxLCAyNDYsIDM4LCAxNzgsIDEsIAorICAgIDIyNCwgMTAzLCAxNzgsIDEsIDIxMiwgMjE5LCAxNzgsIDEsIDIxMiwgNTYsIDE3OCwgMSwgMjQ2LCAxNDUsIDE3OCwgMSwgCisgICAgMjQ1LCAxOTIsIDE3OCwgMSwgMTk5LCAxNzgsIDEsIDE3OSwgMTc4LCAxLCAyMjEsIDkzLCAxNzgsIDEsIDI1MCwgMTgzLCAKKyAgICAxNzgsIDEsIDI1MCwgMCwgMTc4LCAxLCAxODUsIDE3OCwgMSwgMTkwLCAxNzgsIDEsIDIxOSwgMTEzLCAxNzgsIDEsIDIzMCwgCisgICAgMTQxLCAxNzgsIDEsIDIyOSwgMTcyLCAxNzgsIDEsIDIwOSwgNzAsIDE3OCwgMSwgMjE2LCAyLCAxNzgsIDEsIDIxNCwgOTYsIAorICAgIDE3OCwgMSwgMjE3LCAxOTksIDE3OCwgMSwgMTU1LCAxNzgsIDMsIDIyMywgMTg0LCAxNzgsIDMsIDI1MSwgMTY3LCAxNzgsIAorICAgIDIyLCAzLCAyNTMsIDE2NCwgMTc4LCAyMiwgMywgNzQsIDE3OCwgMjIsIDMsIDIzMywgMTAyLCAxNzgsIDIyLCAzLCA3MSwgCisgICAgMTc4LCAyMiwgMywgMjA5LCAxNjIsIDE3OCwgMjIsIDMsIDExNSwgMTM3LCAxNzgsIDIyLCAzLCAxMTUsIDIxOCwgOTAsIAorICAgIDE3OCwgMjIsIDMsIDc1LCAxNzgsIDIyLCAzLCAyNTIsIDIwNSwgMTc4LCAyMiwgMywgNzYsIDE3OCwgMjIsIDMsIDI1MSwgCisgICAgMTg0LCAxNzgsIDMsIDIwOCwgMTg4LCAxNzgsIDI1MiwgMjA2LCAyMzAsIDIwLCA4MywgMTc4LCAyNTEsIDE4NSwgMjMwLCAKKyAgICAyMCwgODMsIDE3OCwgMSwgMjE4LCA4OSwgMTc4LCAxLCAyMTgsIDIxMiwgMTc4LCAxLCAyMDUsIDE2OCwgMTc4LCAxLCAxMTUsIAorICAgIDIxOCwgOTAsIDE3OCwgMSwgMTE1LCAyMjksIDE3MywgMTc4LCAyMiwgMywgMTE1LCAxNDksIDE3OCwgMjIsIDMsIDExNSwgCisgICAgMjI5LCAxNzMsIDE3OCwgMTgsIDIwNSwgODUsIDE3OCwgMTgsIDEwMiwgMTc4LCAxOCwgMTA1LCAxNzgsIDE4LCAxNDIsIAorICAgIDE3OCwgMTgsIDEzOSwgMTc4LCAxOCwgMTY4LCAxNzgsIDE4LCAxODQsIDE3OCwgMTgsIDE5NSwgMTc4LCAxOCwgMTkzLCAKKyAgICAxNzgsIDE4LCAyMDAsIDE3OCwgMjMyLCAyMjEsIDE3OCwgMSwgMjA3LCA5NiwgMTc4LCAyNDEsIDExNiwgMTE5LCAyMTksIAorICAgIDIwNCwgMTc4LCAyNDEsIDExNiwgMTE5LCAyMzksIDEyMSwgMTc4LCAyNDEsIDExNiwgMTI5LCAyMTksIDIwMiwgMTc4LCAKKyAgICAyNDEsIDExNiwgMTE5LCAyMTUsIDIsIDE3OCwgMjQxLCAxMTYsIDExOSwgMjQzLCA4MywgMTc4LCAyNDEsIDExNiwgMTI5LCAKKyAgICAyMTUsIDEsIDQwLCAzLCAyNTIsIDczLCA0MCwgMywgMjA4LCAxODMsIDQwLCAxLCA2MiwgNDAsIDEsIDI1MywgMTY0LCA0MCwgCisgICAgMSwgNzQsIDQwLCAxLCAyMzMsIDEwMiwgNDAsIDEsIDcxLCA0MCwgMSwgMjA5LCAxNjIsIDQwLCAxLCA3NSwgNDAsIDEsIAorICAgIDI0MywgMTA0LCA0MCwgMSwgMjUyLCAyMDUsIDQwLCAxLCA3NiwgNDAsIDEsIDIyMiwgMTUyLCA0MCwgMSwgMjUxLCAxODQsIAorICAgIDQwLCAxLCAxNzIsIDQwLCAxLCAyMjUsIDc3LCA0MCwgMSwgMjQ5LCAxLCA0MCwgMSwgMjMyLCAyMDAsIDQwLCAxLCAyMjMsIAorICAgIDE0NCwgNDAsIDEsIDIxMCwgMjA4LCA0MCwgMSwgMjI0LCAxMDMsIDQwLCAxLCAyMTIsIDIxOSwgNDAsIDEsIDE5OSwgNDAsIAorICAgIDEsIDIyNCwgODUsIDQwLCAxLCAxNzksIDQwLCAxLCAxODUsIDQwLCAxLCAxOTAsIDQwLCAxLCAyMTksIDExMywgNDAsIDEsIAorICAgIDIxOCwgODksIDQwLCAxLCAyMzAsIDE0MSwgNDAsIDEsIDIyOSwgMTcyLCA0MCwgMSwgMjI5LCAxNjMsIDQwLCAxLCAyMDksIAorICAgIDcwLCA0MCwgMSwgMjE2LCAyLCA0MCwgMSwgMjE0LCA5NiwgNDAsIDEsIDIxNywgMTk5LCA0MCwgMSwgMTU1LCA0MCwgMjIsIAorICAgIDMsIDI1MywgMTY0LCA0MCwgMjIsIDMsIDc0LCA0MCwgMjIsIDMsIDIzMywgMTAyLCA0MCwgMjIsIDMsIDcxLCA0MCwgMjIsIAorICAgIDMsIDIwOSwgMTYyLCA0MCwgMjIsIDMsIDc1LCA0MCwgMjIsIDMsIDI0MywgMTA0LCA0MCwgMjIsIDMsIDI1MiwgMjA1LCA0MCwgCisgICAgMjIsIDMsIDc2LCA0MCwgMjIsIDMsIDIyMiwgMTUyLCA0MCwgMjIsIDMsIDI1MSwgMTg0LCA0MCwgMywgMjA4LCAxODgsIDQwLCAKKyAgICAyMjIsIDE3MywgNDAsIDI1MSwgMTg1LCAyMzAsIDIwLCA4MywgNDAsIDE4LCAyMDUsIDg1LCA0MCwgMTgsIDEwMiwgNDAsIAorICAgIDE4LCAxMDUsIDQwLCAxOCwgMTQyLCA0MCwgMTgsIDEzOSwgNDAsIDE4LCAxNjgsIDQwLCAxOCwgMTg0LCA0MCwgMTgsIDE5NSwgCisgICAgNDAsIDE4LCAxOTMsIDQwLCAxOCwgMjAwLCA0MCwgNDMsIDIxMiwgOTgsIDQwLCA0MywgMTE5LCAyMzgsIDI5LCA0MCwgNDMsIAorICAgIDExOSwgMjExLCAyNDIsIDQwLCAyNDYsIDY3LCA1MywgNDAsIDIyNiwgMTUzLCA1MywgNDAsIDIwNiwgNTAsIDUzLCA0MCwgCisgICAgMjQ2LCA2LCA1MywgNDAsIDI0NywgNjgsIDUzLCA0MCwgMjUxLCAyMzIsIDg0LCA1MywgNDAsIDIxOCwgMjcsIDUzLCA0MCwgCisgICAgNDMsIDUzLCAxNjMsIDMsIDM2LCAyNDgsIDIxOCwgNTIsIDE2MywgMywgMjQ4LCAyMTcsIDE2MywgMywgMjUyLCA3MywgMTYzLCAKKyAgICAzLCAyMDgsIDE4MywgMTYzLCAxLCA2MiwgMTYzLCAxLCAyNTMsIDE2NCwgMTYzLCAxLCA3NCwgMTYzLCAxLCAyMzMsIDEwMiwgCisgICAgMTYzLCAxLCA3MSwgMTYzLCAxLCAyMDksIDE2MiwgMTYzLCAxLCAxMTUsIDEzNywgMTYzLCAxLCAxMTUsIDE0OSwgMTYzLCAxLCAKKyAgICA3NSwgMTYzLCAxLCAyNDMsIDEwNCwgMTYzLCAxLCAyNTIsIDIwNSwgMTYzLCAxLCA3NiwgMTYzLCAxLCAyMjIsIDE1MiwgCisgICAgMTYzLCAxLCAyNTEsIDE4NCwgMTYzLCAxLCAxNzIsIDE2MywgMSwgMjMxLCAxNjcsIDE2MywgMSwgMjQwLCAyNDQsIDE2MywgCisgICAgMSwgMjQwLCA5OSwgMTYzLCAxLCAyMjUsIDc3LCAxNjMsIDEsIDI0OSwgMSwgMTYzLCAxLCAyNDgsIDExMCwgMTYzLCAxLCAKKyAgICAyMzIsIDIwMCwgMTYzLCAxLCAyMzIsIDE3MCwgMTYzLCAxLCAyMjMsIDE0NCwgMTYzLCAxLCAyMTAsIDIwOCwgMTYzLCAxLCAKKyAgICAyMTAsIDE5NiwgMTYzLCAxLCAyNDYsIDU0LCAxNjMsIDEsIDI0NiwgMzgsIDE2MywgMSwgMjI0LCAxMDMsIDE2MywgMSwgCisgICAgMjEyLCAyMTksIDE2MywgMSwgMjEyLCA1NiwgMTYzLCAxLCAyNDYsIDE0NSwgMTYzLCAxLCAyNDUsIDE5MiwgMTYzLCAxLCAKKyAgICAxOTksIDE2MywgMSwgMTc5LCAxNjMsIDEsIDIyMSwgOTMsIDE2MywgMSwgMjUwLCAxODMsIDE2MywgMSwgMjUwLCAwLCAxNjMsIAorICAgIDEsIDE4NSwgMTYzLCAxLCAxOTAsIDE2MywgMSwgMjE5LCAxMTMsIDE2MywgMSwgMjE4LCA4OSwgMTYzLCAxLCAyMzAsIDE0MSwgCisgICAgMTYzLCAxLCAyMjksIDE3MiwgMTYzLCAxLCAyMjksIDE2MywgMTYzLCAxLCAyMDksIDcwLCAxNjMsIDEsIDIxNiwgMiwgMTYzLCAKKyAgICAxLCAyMTQsIDk2LCAxNjMsIDEsIDIxNywgMTk5LCAxNjMsIDEsIDE1NSwgMTYzLCAzLCAyNTEsIDE2NywgMTYzLCAyMiwgMywgCisgICAgMjUzLCAxNjQsIDE2MywgMjIsIDMsIDc0LCAxNjMsIDIyLCAzLCAyMzMsIDEwMiwgMTYzLCAyMiwgMywgNzEsIDE2MywgMjIsIAorICAgIDMsIDIwOSwgMTYyLCAxNjMsIDIyLCAzLCAxMTUsIDEzNywgMTYzLCAyMiwgMywgMTE1LCAyMTgsIDkwLCAxNjMsIDIyLCAzLCAKKyAgICA3NSwgMTYzLCAyMiwgMywgMjQzLCAxMDQsIDE2MywgMjIsIDMsIDI1MiwgMjA1LCAxNjMsIDIyLCAzLCA3NiwgMTYzLCAyMiwgCisgICAgMywgMjIyLCAxNTIsIDE2MywgMjIsIDMsIDI1MSwgMTg0LCAxNjMsIDMsIDIwOCwgMTg4LCAxNjMsIDIzMCwgMjAsIDgzLCAKKyAgICAxNjMsIDI1MiwgMjA2LCAyMzAsIDIwLCA4MywgMTYzLCAxLCAyMTAsIDI0MywgMTYzLCAxLCAyNDMsIDE5NiwgMTYzLCAxLCAKKyAgICAxMTUsIDIxOCwgOTAsIDE2MywgMSwgMTE1LCAyMjksIDE3MywgMTYzLCAyMiwgMywgMTE1LCAxNDksIDE2MywgMjIsIDMsIAorICAgIDExNSwgMjI5LCAxNzMsIDE2MywgMTgsIDIwNSwgODUsIDE2MywgMTgsIDEwMiwgMTYzLCAxOCwgMTA1LCAxNjMsIDE4LCAKKyAgICAxNDIsIDE2MywgMTgsIDEzOSwgMTYzLCAxOCwgMTY4LCAxNjMsIDE4LCAxODQsIDE2MywgMTgsIDE5NSwgMTYzLCAxOCwgCisgICAgMTkzLCAxNjMsIDE4LCAyMDAsIDE2MywgMjQxLCAxMTYsIDE4LCAyMDUsIDg2LCAzMywgMjIyLCAyMTAsIDIyMCwgMTYwLCAKKyAgICA3MywgMTM5LCAxNjMsIDI0MSwgMTE2LCAxOCwgMTE5LCAzMywgMjIyLCAyMTAsIDIyMCwgMTYwLCA3MywgMTM5LCAxNjMsIAorICAgIDI0MSwgMTE2LCAxOCwgMTE4LCAzMywgMjIyLCAyMTAsIDIyMCwgMTYwLCA3MywgMTM5LCAxNjMsIDI0MSwgMTE2LCAxOCwgCisgICAgMTI5LCAzMywgMjIyLCAyMTAsIDIyMCwgMTYwLCA3MywgMTM5LCAxNjMsIDI0MSwgMTE2LCAxOCwgMTE5LCAzMywgMjQyLCAKKyAgICAxNzksIDIyMCwgMTYwLCA3MywgMTM5LCAxNjMsIDI0MSwgMTE2LCAxOCwgMTE4LCAzMywgMjQyLCAxNzksIDIyMCwgMTYwLCAKKyAgICA3MywgMTM5LCAxNjMsIDI0MSwgMTE2LCAxOCwgMTI5LCAzMywgMjQyLCAxNzksIDIyMCwgMTYwLCA3MywgMTM5LCAxNjMsIDMsIAorICAgIDIxMCwgMTM0LCAxODMsIDMsIDI0OCwgMjE3LCAxODMsIDMsIDI1MiwgNzMsIDE4MywgMywgMjA4LCAxODMsIDE4MywgMSwgCisgICAgNjIsIDE4MywgMSwgMjUzLCAxNjQsIDE4MywgMSwgNzQsIDE4MywgMSwgMjMzLCAxMDIsIDE4MywgMSwgNzEsIDE4MywgMSwgCisgICAgMjA5LCAxNjIsIDE4MywgMSwgMTE1LCAxMzcsIDE4MywgMSwgMTE1LCAxNDksIDE4MywgMSwgNzUsIDE4MywgMSwgMjQzLCAKKyAgICAxMDQsIDE4MywgMSwgMjUyLCAyMDUsIDE4MywgMSwgNzYsIDE4MywgMSwgMjIyLCAxNTIsIDE4MywgMSwgMjUxLCAxODQsIAorICAgIDE4MywgMSwgMTcyLCAxODMsIDEsIDIzMSwgMTY3LCAxODMsIDEsIDI0MCwgMjQ0LCAxODMsIDEsIDI0MCwgOTksIDE4MywgMSwgCisgICAgMjI1LCA3NywgMTgzLCAxLCAyNDksIDEsIDE4MywgMSwgMjQ4LCAxMTAsIDE4MywgMSwgMjMyLCAyMDAsIDE4MywgMSwgMjMyLCAKKyAgICAxNzAsIDE4MywgMSwgMjIzLCAxNDQsIDE4MywgMSwgMjEwLCAyMDgsIDE4MywgMSwgMjEwLCAxOTYsIDE4MywgMSwgMjQ2LCAKKyAgICA1NCwgMTgzLCAxLCAyNDYsIDM4LCAxODMsIDEsIDIyNCwgMTAzLCAxODMsIDEsIDIxMiwgMjE5LCAxODMsIDEsIDIxMiwgNTYsIAorICAgIDE4MywgMSwgMjQ2LCAxNDUsIDE4MywgMSwgMjQ1LCAxOTIsIDE4MywgMSwgMTk5LCAxODMsIDEsIDE3OSwgMTgzLCAxLCAKKyAgICAyMjEsIDkzLCAxODMsIDEsIDI1MCwgMTgzLCAxODMsIDEsIDI1MCwgMCwgMTgzLCAxLCAxODUsIDE4MywgMSwgMTkwLCAxODMsIAorICAgIDEsIDIxOSwgMTEzLCAxODMsIDEsIDIxOCwgODksIDE4MywgMSwgMjMwLCAxNDEsIDE4MywgMSwgMjI5LCAxNzIsIDE4MywgMSwgCisgICAgMjA5LCA3MCwgMTgzLCAxLCAyMTYsIDIsIDE4MywgMSwgMjE0LCA5NiwgMTgzLCAxLCAyMTcsIDE5OSwgMTgzLCAxLCAxNTUsIAorICAgIDE4MywgMywgMjIzLCAxODQsIDE4MywgMywgMjUxLCAxNjcsIDE4MywgMjIsIDMsIDI1MywgMTY0LCAxODMsIDIyLCAzLCA3NCwgCisgICAgMTgzLCAyMiwgMywgMjMzLCAxMDIsIDE4MywgMjIsIDMsIDcxLCAxODMsIDIyLCAzLCAyMDksIDE2MiwgMTgzLCAyMiwgMywgCisgICAgMTE1LCAxMzcsIDE4MywgMjIsIDMsIDExNSwgMjE4LCA5MCwgMTgzLCAyMiwgMywgNzUsIDE4MywgMjIsIDMsIDI0MywgMTA0LCAKKyAgICAxODMsIDIyLCAzLCAyNTIsIDIwNSwgMTgzLCAyMiwgMywgNzYsIDE4MywgMjIsIDMsIDIyMiwgMTUyLCAxODMsIDIyLCAzLCAKKyAgICAyNTEsIDE4NCwgMTgzLCAzLCAyMDgsIDE4OCwgMTgzLCAyMzAsIDIwLCA4MywgMTgzLCAyNTIsIDIwNiwgMjMwLCAyMCwgODMsIAorICAgIDE4MywgMSwgMjQyLCA3MywgMTgzLCAxLCAxMTUsIDIxOCwgOTAsIDE4MywgMSwgMTE1LCAyMjksIDE3MywgMTgzLCAyMiwgMywgCisgICAgMTE1LCAxNDksIDE4MywgMjIsIDMsIDExNSwgMjI5LCAxNzMsIDE4MywgMTgsIDIwNSwgODUsIDE4MywgMTgsIDEwMiwgMTgzLCAKKyAgICAxOCwgMTA1LCAxODMsIDE4LCAxNDIsIDE4MywgMTgsIDEzOSwgMTgzLCAxOCwgMTY4LCAxODMsIDE4LCAxODQsIDE4MywgMTgsIAorICAgIDE5NSwgMTgzLCAxOCwgMTkzLCAxODMsIDE4LCAyMDAsIDE4MywgMywgMjMyLCAxNTYsIDE4MywgMywgMjA5LCAyMDQsIDE1NiwgCisgICAgMywgMjQ4LCAyMTcsIDE1NiwgMywgMjUyLCA3MywgMTU2LCAzLCAyMDgsIDE4MywgMTU2LCAxLCA2MiwgMTU2LCAxLCAyNTMsIAorICAgIDE2NCwgMTU2LCAxLCA3NCwgMTU2LCAxLCAyMzMsIDEwMiwgMTU2LCAxLCA3MSwgMTU2LCAxLCAyMDksIDE2MiwgMTU2LCAxLCAKKyAgICAxMTUsIDEzNywgMTU2LCAxLCAxMTUsIDE0OSwgMTU2LCAxLCA3NSwgMTU2LCAxLCAyNDMsIDEwNCwgMTU2LCAxLCAyNTIsIAorICAgIDIwNSwgMTU2LCAxLCA3NiwgMTU2LCAxLCAyMjIsIDE1MiwgMTU2LCAxLCAyNTEsIDE4NCwgMTU2LCAxLCAxNzIsIDE1NiwgMSwgCisgICAgMjMxLCAxNjcsIDE1NiwgMSwgMjQwLCAyNDQsIDE1NiwgMSwgMjQwLCA5OSwgMTU2LCAxLCAyMjUsIDc3LCAxNTYsIDEsIAorICAgIDI0OSwgMSwgMTU2LCAxLCAyNDgsIDExMCwgMTU2LCAxLCAyMzIsIDIwMCwgMTU2LCAxLCAyMzIsIDE3MCwgMTU2LCAxLCAKKyAgICAyMjMsIDE0NCwgMTU2LCAxLCAyMTAsIDIwOCwgMTU2LCAxLCAyMTAsIDE5NiwgMTU2LCAxLCAyNDYsIDU0LCAxNTYsIDEsIAorICAgIDI0NiwgMzgsIDE1NiwgMSwgMjI0LCAxMDMsIDE1NiwgMSwgMjEyLCAyMTksIDE1NiwgMSwgMjEyLCA1NiwgMTU2LCAxLCAKKyAgICAyNDYsIDE0NSwgMTU2LCAxLCAyNDUsIDE5MiwgMTU2LCAxLCAxOTksIDE1NiwgMSwgMjI0LCA4NSwgMTU2LCAxLCAxNzksIAorICAgIDE1NiwgMSwgMjIxLCA5MywgMTU2LCAxLCAyNTAsIDE4MywgMTU2LCAxLCAyNTAsIDAsIDE1NiwgMSwgMTg1LCAxNTYsIDEsIAorICAgIDE5MCwgMTU2LCAxLCAyMTksIDExMywgMTU2LCAxLCAyMTgsIDg5LCAxNTYsIDEsIDIzMCwgMTQxLCAxNTYsIDEsIDIyOSwgCisgICAgMTcyLCAxNTYsIDEsIDIyOSwgMTYzLCAxNTYsIDEsIDIwOSwgNzAsIDE1NiwgMSwgMjE2LCAyLCAxNTYsIDEsIDIxNCwgOTYsIAorICAgIDE1NiwgMSwgMjE3LCAxOTksIDE1NiwgMSwgMTU1LCAxNTYsIDEsIDIxMCwgMTc3LCAxNTYsIDMsIDI1MSwgMTY3LCAxNTYsIAorICAgIDIyLCAzLCAyNTMsIDE2NCwgMTU2LCAyMiwgMywgNzQsIDE1NiwgMjIsIDMsIDIzMywgMTAyLCAxNTYsIDIyLCAzLCA3MSwgCisgICAgMTU2LCAyMiwgMywgMjA5LCAxNjIsIDE1NiwgMjIsIDMsIDExNSwgMTM3LCAxNTYsIDIyLCAzLCAxMTUsIDIxOCwgOTAsIAorICAgIDE1NiwgMjIsIDMsIDc1LCAxNTYsIDIyLCAzLCAyNDMsIDEwNCwgMTU2LCAyMiwgMywgMjUyLCAyMDUsIDE1NiwgMjIsIDMsIAorICAgIDc2LCAxNTYsIDIyLCAzLCAyMjIsIDE1MiwgMTU2LCAyMiwgMywgMjUxLCAxODQsIDE1NiwgMywgMjA4LCAxODgsIDE1NiwgMSwgCisgICAgNjcsIDIxOCwgMjQ4LCAxNTYsIDI1MSwgMTg1LCAyMzAsIDIwLCA4MywgMTU2LCAxLCAxMTUsIDIxOCwgOTAsIDE1NiwgMSwgCisgICAgMTE1LCAyMjksIDE3MywgMTU2LCAyMiwgMywgMTE1LCAxNDksIDE1NiwgMjIsIDMsIDExNSwgMjI5LCAxNzMsIDE1NiwgMTgsIAorICAgIDIwNSwgODUsIDE1NiwgMTgsIDEwMiwgMTU2LCAxOCwgMTA1LCAxNTYsIDE4LCAxNDIsIDE1NiwgMTgsIDEzOSwgMTU2LCAxOCwgCisgICAgMTY4LCAxNTYsIDE4LCAxODQsIDE1NiwgMTgsIDE5NSwgMTU2LCAxOCwgMTkzLCAxNTYsIDE4LCAyMDAsIDE1NiwgNDMsIAorICAgIDIxMiwgOTgsIDE1NiwgNDMsIDExOSwgMjM4LCAyOSwgMTU2LCA0MywgMTE5LCAyMTEsIDI0MiwgMTU2LCAyNDEsIDExNiwgCisgICAgMTE5LCAyMTksIDIwNCwgMTU2LCAyNDEsIDExNiwgMTE5LCAyMzksIDEyMSwgMTU2LCAyNDEsIDExNiwgMTI5LCAyMTksIAorICAgIDIwMiwgMTU2LCAyNDYsIDcyLCA4MywgMTU2LCAxLCAyNDgsIDQ3LCAyMjQsIDEwNCwgMTU2LCAxLCAyNDgsIDQ3LCAyMjYsIAorICAgIDMzLCAxNTYsIDEsIDI0OCwgNDcsIDIxOCwgOTAsIDE1NiwgMSwgMjQ4LCA0NywgMTQ5LCAxNTYsIDEsIDI0OCwgNDcsIDIyOSwgCisgICAgMTczLCAxNTYsIDEsIDI0OCwgNDcsIDIzMiwgNzYsIDEzMiwgMywgMjUyLCA3MiwgMTMyLCAzLCAyMDgsIDE4MiwgMTMyLCAxLCAKKyAgICAyNTEsIDE1NywgMTMyLCAxLCAyNTMsIDExOCwgMTMyLCAxLCAyNTIsIDIyOCwgMTMyLCAxLCAyNTIsIDI0MywgMTMyLCAxLCAKKyAgICAyMzIsIDIxMCwgMTMyLCAxLCAyMzMsIDEwMSwgMTMyLCAxLCAyMDksIDE1MywgMTMyLCAxLCAyMDksIDE1NiwgMTMyLCAxLCAKKyAgICAyMzIsIDIzNiwgMTMyLCAxLCAyMzIsIDIzNywgMTMyLCAxLCAyMzMsIDg3LCAxMzIsIDEsIDIzMywgODksIDEzMiwgMSwgCisgICAgMjQyLCAxNTIsIDEzMiwgMSwgMjQzLCA5OSwgMTMyLCAxLCAyNTIsIDE5MSwgMTMyLCAxLCAyMjIsIDcwLCAxMzIsIDEsIAorICAgIDIyMiwgMTQ1LCAxMzIsIDEsIDI1MSwgMTcwLCAxMzIsIDEsIDI1MiwgMTQ3LCAyMzEsIDIyOSwgMTMyLCAxLCAyMjcsIDI0NiwgCisgICAgMjMxLCAyMjksIDEzMiwgMSwgMjUyLCAxNDcsIDI0MCwgMTkwLCAxMzIsIDEsIDIyNywgMjQ2LCAyNDAsIDE5MCwgMTMyLCAxLCAKKyAgICAyMzIsIDIyLCAyMjUsIDIyOSwgMTMyLCAxLCAyMTcsIDE0MywgMjQwLCAxOTAsIDEzMiwgMSwgMjUyLCAxNDcsIDI0OCwgCisgICAgMTc0LCAxMzIsIDEsIDIyNywgMjQ2LCAyNDgsIDE3NCwgMTMyLCAxLCAyNTIsIDE0NywgMjMyLCAxODUsIDEzMiwgMSwgMjI3LCAKKyAgICAyNDYsIDIzMiwgMTg1LCAxMzIsIDEsIDIxMiwgMjEyLCAyMjUsIDIyOSwgMTMyLCAxLCAyMTIsIDIxMiwgMjE3LCAxNDIsIAorICAgIDIyNSwgMjMwLCAxMzIsIDEsIDIxNywgMTQzLCAyMzIsIDE4NSwgMTMyLCAxLCAyNTIsIDE0NywgMjEwLCAyMDQsIDEzMiwgMSwgCisgICAgMjI3LCAyNDYsIDIxMCwgMjA0LCAxMzIsIDEsIDI1MiwgMTQ3LCAyNDYsIDQ1LCAxMzIsIDEsIDIyNywgMjQ2LCAyNDYsIDQ1LCAKKyAgICAxMzIsIDEsIDIyNiwgNjEsIDIyNSwgMTg0LCAxMzIsIDEsIDIxNywgMTQzLCAyNDYsIDQ1LCAxMzIsIDEsIDI1MiwgMTQ3LCAKKyAgICAyMTIsIDEzOSwgMTMyLCAxLCAyMjcsIDI0NiwgMjEyLCAxMzksIDEzMiwgMSwgMjUyLCAxNDcsIDI0NiwgNjUsIDEzMiwgMSwgCisgICAgMjI3LCAyNDYsIDI0NiwgNjUsIDEzMiwgMSwgMjQ2LCA5NiwgMjI1LCAxODQsIDEzMiwgMSwgMjE3LCAxNDMsIDI0NiwgNjUsIAorICAgIDEzMiwgMSwgMjUyLCAxNDcsIDIyMSwgMTgyLCAxMzIsIDEsIDIyNywgMjQ2LCAyMjEsIDE4MiwgMTMyLCAxLCAyNTIsIDE0NywgCisgICAgMjUwLCA5OSwgMTMyLCAxLCAyMjcsIDI0NiwgMjUwLCA5OSwgMTMyLCAxLCAyMjcsIDE2MSwgMTMyLCAxLCAyNTIsIDEzMSwgCisgICAgMjUwLCA5OSwgMTMyLCAxLCAyMDYsIDU3LCAxMzIsIDEsIDIxOSwgNTcsIDEzMiwgMSwgMjQ2LCA5NiwgMjMwLCA2NywgMTMyLCAKKyAgICAxLCAyMDksIDQxLCAxMzIsIDEsIDIxMiwgMjEyLCAyMTcsIDExNSwgMTMyLCAxLCAyMjYsIDYxLCAyMTcsIDExNSwgMTMyLCAKKyAgICAxLCAyNDYsIDk2LCAyMTcsIDExNSwgMTMyLCAxLCAyMzksIDc1LCAxMzIsIDEsIDIyNiwgNjEsIDIzMCwgNjcsIDEzMiwgMSwgCisgICAgMjQyLCAzMCwgMTMyLCAzLCAyNTIsIDE4MCwgMTMyLCAyMiwgMywgMjUyLCAyMzgsIDEzMiwgMjIsIDMsIDIzMSwgMTkyLCAKKyAgICAyNTIsIDI0NSwgMTMyLCAyMiwgMywgMjQ1LCAxMzUsIDI1MiwgMjQ1LCAxMzIsIDIyLCAzLCAyMzEsIDE5MiwgMjMyLCAyMzMsIAorICAgIDEzMiwgMjIsIDMsIDI0NSwgMTM1LCAyMzIsIDIzMywgMTMyLCAyMiwgMywgMjMxLCAxOTIsIDIyMiwgNTAsIDEzMiwgMjIsIAorICAgIDMsIDI0NSwgMTM1LCAyMjIsIDUwLCAxMzIsIDIyLCAzLCAyNDAsIDIzMywgMTMyLCAyMiwgMywgMjMxLCAzOCwgMTMyLCAyMiwgCisgICAgMywgMjQ1LCAxMzUsIDIzMSwgMzgsIDEzMiwgMjIsIDMsIDIzMSwgNDAsIDI0NSwgMjQwLCAxMzIsIDIyLCAzLCAyMzEsIDM5LCAKKyAgICAyMzksIDE0MiwgMjUyLCAyMzgsIDEzMiwgMjIsIDMsIDIzMSwgMzksIDIzOSwgMTQyLCAyNDUsIDEzNSwgMjUyLCAyMzgsIAorICAgIDEzMiwgMjIsIDMsIDIzMSwgMzksIDIzOSwgMTQyLCAyNDAsIDE4OSwgMTMyLCAyMiwgMywgMjQwLCAxODksIDEzMiwgMjI5LCAKKyAgICAxODMsIDE4LCAyMDUsIDg1LCAxMzIsIDIyOSwgMTgzLCAxOCwgMTAyLCAxMzIsIDIyOSwgMTgzLCAxOCwgMTA1LCAxMzIsIAorICAgIDIyOSwgMTgzLCAxOCwgMTQyLCAxMzIsIDIyOSwgMTgzLCAxOCwgMTM5LCAxMzIsIDIyOSwgMTgzLCAxOCwgMTY4LCAxMzIsIAorICAgIDIyOSwgMTgzLCAxOCwgMTg0LCAxMzIsIDIyOSwgMTgzLCAxOCwgMTk1LCAxMzIsIDIyOSwgMTgzLCAxOCwgMTkzLCAxMzIsIAorICAgIDIyOSwgMTgzLCAxOCwgMjAwLCAxMzIsIDIyLCAzLCAyNDUsIDEzNSwgMjQwLCAyMzMsIDEzMiwgMjIsIDMsIDI0NSwgMTM1LCAKKyAgICAyNDAsIDE4OSwgMTMyLCAyMjAsIDcyLCAyMzAsIDIyMSwgMTg5LCAxNTcsIDIzMSwgNTQsIDIzMiwgNDEsIDE4OSwgMTU3LCAKKyAgICAyMzEsIDEzOSwgMjMxLCAxNjIsIDE4OSwgMTU3LCAyMzEsIDEzOSwgMjMxLCAxMzEsIDE4OSwgMTU3LCAyMzEsIDEzOSwgCisgICAgMjMxLCAxMjYsIDE4OSwgMTU3LCAyMzEsIDEzOSwgMjMxLCAxMzUsIDE4OSwgMTU3LCAyMzEsIDEzOSwgMjE5LCA3OCwgMTg5LCAKKyAgICAxNTcsIDIyNSwgMywgMjI0LCAyNDYsIDE4OSwgMTU3LCAyNDgsIDMzLCAyNDgsIDEwMCwgMTg5LCAxNTcsIDI0OCwgMzMsIAorICAgIDI0OCwgNDMsIDE4OSwgMTU3LCAyNDgsIDMzLCAyNDgsIDk5LCAxODksIDE1NywgMjE0LCAxOTQsIDIxNCwgMTkzLCAxODksIAorICAgIDE1NywgMjQ4LCAzMywgMjQ4LCAyOSwgMTg5LCAxNTcsIDIwNSwgMjQ4LCAyMDUsIDI1NSwgMTg5LCAxNTcsIDI0NSwgNTIsIAorICAgIDI0OCwgMTA3LCAxODksIDE1NywgMjExLCAxMzAsIDIyMSwgMTkzLCAxODksIDE1NywgMjExLCAyNTQsIDIxMiwgNDYsIDE4OSwgCisgICAgMTU3LCAyMTEsIDI1NCwgMjI1LCAyMDYsIDE4OSwgMTU3LCAyMTEsIDI1NCwgMjIxLCA1NiwgMTg5LCAxNTcsIDIyNCwgNjgsIAorICAgIDIyNSwgMTAxLCAxODksIDE1NywgMjQ1LCA1MiwgMjQ1LCAyNDEsIDE4OSwgMTU3LCAyMTEsIDEzMCwgMjEyLCAxNjcsIDE4OSwgCisgICAgMTU3LCAyMTEsIDI1NCwgMjExLCAyMjUsIDE4OSwgMTU3LCAyMTEsIDI1NCwgMjEyLCA1MiwgMTg5LCAxNTcsIDIxMSwgMjU0LCAKKyAgICAyMTEsIDI0OSwgMTg5LCAxNTcsIDIyNCwgNjgsIDIyMywgMjE3LCAxODksIDE1NywgMjQ5LCAxODUsIDI1MCwgMTU0LCAxODksIAorICAgIDE1NywgMjIwLCAyMTIsIDIyMCwgMjQwLCAxODksIDE1NywgMjIxLCA2NywgMjIxLCA1OCwgMTg5LCAxNTcsIDI0MSwgMTYzLCAKKyAgICAyNDIsIDczLCAxODksIDE1NywgMjIxLCA2NywgMjIxLCA4NiwgMTg5LCAxNTcsIDI0MSwgMTYzLCAyNDIsIDQ3LCAxODksIAorICAgIDE1NywgMjIxLCA2NywgMjE3LCAxNTUsIDE4OSwgMTU3LCAyMjYsIDE4MiwgMTg1LCAxODksIDE1NywgMjA1LCAyNDgsIDIwNiwgCisgICAgODUsIDE4OSwgMTU3LCAyMTgsIDEyNSwgMjE4LCA0OSwgMTg5LCAxNTcsIDIxOCwgNTAsIDE4OSwgMTU3LCAyMjksIDE0NSwgCisgICAgMjI5LCAxOTgsIDE4OSwgMTU3LCAyMjksIDgxLCAxODksIDE1NywgMjA2LCAyNTEsIDIwNywgOTEsIDE4OSwgMTU3LCAyMTQsIAorICAgIDE5NCwgMjE3LCAxNzAsIDE4OSwgMTU3LCAyMTQsIDE5NCwgMjE4LCAyMywgMTg5LCAxNTcsIDIxNCwgMTk0LCAyMTMsIDIwMiwgCisgICAgMTg5LCAxNTcsIDIzOCwgMTUwLCAyMzgsIDI0NSwgMTg5LCAxNTcsIDIyOSwgMTQ1LCAyNDgsIDEzLCAxODksIDE1NywgMTQ4LCAKKyAgICAyNTIsIDExNCwgMTg5LCAxNTcsIDIzOCwgMTUwLCAyMjQsIDYzLCAxODksIDE1NywgMjIyLCAyOCwgMTg5LCAxNTcsIDIxNywgCisgICAgMTM3LCA2MiwgMTg5LCAxNTcsIDIyNywgMjQwLCAyMzksIDEwOSwgMTg5LCAxNTcsIDIxNywgMTM3LCAyNTMsIDE2NCwgMTg5LCAKKyAgICAxNTcsIDIxNywgMTM3LCAyNTIsIDEzNiwgMTg5LCAxNTcsIDIxNywgMTM3LCA3NCwgMTg5LCAxNTcsIDIxNywgMTM3LCAyMzMsIAorICAgIDEwMiwgMTg5LCAxNTcsIDIxNywgMTM3LCAyMTAsIDMsIDE4OSwgMTU3LCAyMTcsIDEzNywgMjEwLCAxLCAxODksIDE1NywgCisgICAgMjE3LCAxMzcsIDcxLCAxODksIDE1NywgMjE3LCAxMzcsIDIwOSwgMTYyLCAxODksIDE1NywgMjIxLCA2OSwgMTg5LCAyNDcsIAorICAgIDI1LCAxNiwgMjUwLCAxNTUsIDE4OSwgMTU3LCAyMTcsIDEzNywgNzUsIDE4OSwgMTU3LCAyMTcsIDEzNywgMjUyLCAyNDgsIAorICAgIDE4OSwgMTU3LCAyMTcsIDEzNywgNzYsIDE4OSwgMTU3LCAyMTcsIDEzNywgMjUyLCAyMDYsIDIyNywgMjM0LCAxODksIDE1NywgCisgICAgMjE3LCAxMzcsIDI1MiwgMjA2LCAyMjcsIDIzNSwgMTg5LCAxNTcsIDIzMCwgMTEwLCAxODksIDE1NywgMjI3LCAyMzEsIAorICAgIDE4OSwgMTU3LCAyMjcsIDIzMiwgMTg5LCAxNTcsIDIyNywgMjQwLCAyNDMsIDc1LCAxODksIDE1NywgMjI3LCAyNDAsIDIxMSwgCisgICAgMjUzLCAxODksIDE1NywgMjI3LCAyNDAsIDIxMSwgNTQsIDE4OSwgMTU3LCAyMjcsIDI0MCwgMjQ4LCA4NywgMTg5LCAxNTcsIAorICAgIDIxMiwgNDQsIDE4OSwgMTU3LCAyMjQsIDIwMiwgMTg5LCAxNTcsIDIwNiwgNzksIDE4OSwgMTU3LCAyNDEsIDE1MywgMTg5LCAKKyAgICAxOCwgMjA1LCA4NSwgMTg5LCAxOCwgMTAyLCAxODksIDE4LCAxMDUsIDE4OSwgMTgsIDE0MiwgMTg5LCAxOCwgMTM5LCAxODksIAorICAgIDE4LCAxNjgsIDE4OSwgMTgsIDE4NCwgMTg5LCAxOCwgMTk1LCAxODksIDE4LCAxOTMsIDE4OSwgMTgsIDIwMCwgMTg5LCAKKyAgICAxNTcsIDI1MiwgMTEwLCAxODksIDE1NywgMjMxLCAxMzYsIDIzMCwgOTAsIDEsIDIzMSwgNTMsIDIzMCwgOTAsIDEsIDIzMSwgCisgICAgMTM5LCAyMTMsIDE1MSwgMjMwLCA5MCwgMSwgMjMxLCAxMzksIDIxMiwgMTc2LCAyMzAsIDkwLCAxLCAyMjUsIDIsIDIzMCwgCisgICAgOTAsIDEsIDI0NywgMTc0LCAyMzAsIDkwLCAxLCAyMTQsIDE5NCwgMjEyLCAxNzYsIDIzMCwgOTAsIDEsIDIyMywgMTEwLCAKKyAgICAyMzAsIDkwLCAxLCAyNDUsIDUxLCAyMzAsIDkwLCAxLCAxMjQsIDIzMCwgOTAsIDEsIDIxMSwgMjU0LCAyMTMsIDE1MSwgCisgICAgMjMwLCA5MCwgMSwgMjExLCAyNTQsIDIxMiwgMTc2LCAyMzAsIDkwLCAxLCAyMjQsIDY3LCAyMzAsIDkwLCAxLCAyNDksIAorICAgIDE4NCwgMjMwLCA5MCwgMSwgMjIwLCAyMTEsIDIzMCwgOTAsIDEsIDIyMSwgNjcsIDIxMywgMTUxLCAyMzAsIDkwLCAxLCAKKyAgICAyNDEsIDE2MywgMjEyLCAxNzYsIDIzMCwgOTAsIDEsIDIyMSwgNjcsIDIxMiwgMTc2LCAyMzAsIDkwLCAxLCAyNDEsIDE2MywgCisgICAgMjEzLCAxNTEsIDIzMCwgOTAsIDEsIDIyNiwgMTgxLCAyMzAsIDkwLCAxLCAyMDUsIDI0NywgMjMwLCA5MCwgMSwgMjI5LCAKKyAgICAxNDUsIDIyOSwgMTk4LCAyMzAsIDkwLCAxLCAyMjksIDE0NSwgMjI5LCAxMDksIDIzMCwgOTAsIDEsIDIwNiwgMjUwLCAyMzAsIAorICAgIDkwLCAxLCAyMTQsIDE5NCwgMjEzLCAxNTEsIDIzMCwgOTAsIDEsIDIzOCwgMTUwLCAyMTMsIDE1MSwgMjMwLCA5MCwgMSwgCisgICAgNzYsIDIzMCwgOTAsIDEsIDIzOCwgMTUwLCAyMTIsIDE3NiwgMjMwLCA5MCwgMjQzLCA1NCwgMjMwLCA5MCwgMjIsIDMsIDYyLCAKKyAgICAyMzAsIDkwLCAyMiwgMywgMjI3LCAyNDAsIDIzMiwgMjcsIDIzMCwgOTAsIDIyLCAzLCAyNTMsIDE2NCwgMjMwLCA5MCwgMjIsIAorICAgIDMsIDI1MiwgMTM2LCAyMzAsIDkwLCAyMiwgMywgNzQsIDIzMCwgOTAsIDIyLCAzLCAyMzMsIDEwMiwgMjMwLCA5MCwgMjIsIAorICAgIDMsIDIwNiwgMTIzLCAyMzAsIDkwLCAyMiwgMywgMjA1LCAxNjksIDIzMCwgOTAsIDIyLCAzLCA3MSwgMjMwLCA5MCwgMjIsIAorICAgIDMsIDIwOSwgMTYyLCAyMzAsIDkwLCAyMiwgMywgMjI3LCAyNDAsIDIzMSwgMzYsIDIzMCwgOTAsIDIxNiwgNDcsIDMsIDIyOSwgCisgICAgMTQ0LCAyMzAsIDkwLCAyMTYsIDQ3LCAzLCAyMjMsIDExMCwgMjMwLCA5MCwgMjIsIDMsIDc1LCAyMzAsIDkwLCAyMiwgMywgCisgICAgMjQzLCA5MCwgMjMwLCA5MCwgMjIsIDMsIDc2LCAyMzAsIDkwLCAyMiwgMywgMjUxLCAxNTksIDIzMCwgOTAsIDIyLCAzLCAKKyAgICAyNTIsIDIwNSwgMjMwLCA5MCwgMjMxLCA1NCwgMjMwLCAxNDEsIDIzMCwgOTAsIDEzNSwgMjI3LCAyNDAsIDI0MywgNzUsIAorICAgIDIzMCwgOTAsIDEzNSwgMjI3LCAyNDAsIDIxMSwgMjUzLCAyMzAsIDkwLCAxMzUsIDIyNywgMjQwLCAyMTEsIDIxMSwgMjMwLCAKKyAgICA5MCwgMTM1LCAyMjcsIDI0MCwgMjQ4LCAxODIsIDIzMCwgOTAsIDI0OCwgMjIzLCA4MywgMjMwLCA5MCwgMjI0LCAyMTEsIAorICAgIDIzMCwgOTAsIDE4LCAyMDUsIDg1LCAyMzAsIDkwLCAxOCwgMTAyLCAyMzAsIDkwLCAxOCwgMTA1LCAyMzAsIDkwLCAxOCwgCisgICAgMTQyLCAyMzAsIDkwLCAxOCwgMTM5LCAyMzAsIDkwLCAxOCwgMTY4LCAyMzAsIDkwLCAxOCwgMTg0LCAyMzAsIDkwLCAxOCwgCisgICAgMTk1LCAyMzAsIDkwLCAxOCwgMTkzLCAyMzAsIDkwLCAxOCwgMjAwLCAyMzAsIDkwLCAyMzgsIDE1MCwgMjI0LCA2NywgMjMwLCAKKyAgICA5MCwgMjM4LCAxNTAsIDIyNiwgMTgxLCAyMzAsIDkwLCAxLCAyMzEsIDE0MCwgMjQwLCAxOSwgMjMwLCA5MCwgMSwgMjMxLCAKKyAgICAxNDAsIDIyMywgMTEwLCA3MiwgNCwgMjIyLCAxNzMsIDcyLCAxNDEsIDIzOSwgMjE1LCAyMDYsIDMsIDIyNywgMTYsIDIxMCwgCisgICAgMjQ5LCA2MiwgNzIsIDE0MSwgMjM5LCAyMTUsIDIwNiwgMywgMjI3LCAxNiwgMjU0LCAyNTQsIDIxOCwgMTI5LCAyNTAsIDYzLCAKKyAgICAxODUsIDcyLCAxNDEsIDIzOSwgMjE1LCAyMDYsIDMsIDIyNywgMTYsIDI1NCwgMjU0LCAyMzksIDIxNSwgMjEwLCAyMjksIAorICAgIDE4NSwgNzIsIDE0MSwgNzgsIDIwNiwgMywgMjI3LCAxNiwgMjI3LCAxMjEsIDE4NSwgNzIsIDE0MSwgMjQ3LCAxODgsIDIwNiwgCisgICAgMywgMjI3LCAxNiwgMjE2LCA5LCAxODUsIDcyLCAxNDEsIDI0OCwgMjAwLCAyMDYsIDMsIDIyNywgMTYsIDIyMSwgNTcsIAorICAgIDIxNSwgMjUyLCAxODUsIDcyLCAxNDEsIDIwNiwgMywgMjI3LCAxNiwgMjEwLCAyMjksIDIxNSwgMjUyLCAxODUsIDcyLCAKKyAgICAxNDEsIDIxNywgMTEzLCAyMTUsIDI1MSwgNzIsIDE0MSwgMjQ5LCAxMDQsIDIwNiwgMywgMjI3LCAxNSwgNzIsIDE0MSwgCisgICAgMjQ5LCAyMDQsIDIxNSwgMTU0LCAyMDYsIDMsIDIyNywgMTUsIDcyLCAxNDEsIDIzMywgNiwgMjEwLCAyMjgsIDcyLCAxNDEsIAorICAgIDI0NSwgMjM0LCAyMTAsIDIyOSwgMjQ5LCAxMDMsIDcyLCAxNDEsIDIxNSwgMjUxLCA3MiwgMTQxLCAyMjMsIDExNSwgMjE1LCAKKyAgICAyNTEsIDcyLCAxNDEsIDIxMCwgMjI5LCAyMTUsIDI1MSwgNzIsIDE0MSwgMjIzLCAxMTUsIDIxMCwgMjI5LCAyMTUsIDI1MSwgCisgICAgNzIsIDE0MSwgMjE4LCAxNTEsIDI0OCwgNzEsIDIxNCwgMTEwLCAyMTUsIDI1MSwgNzIsIDE0MSwgMjE4LCAyMTYsIDIzOSwgCisgICAgMjQ2LCAyMTUsIDI1MSwgNzIsIDE0MSwgMjQ4LCAyMDAsIDI1NSwgMiwgMjE4LCA1NCwgMjI3LCAxMjAsIDE1MiwgMjQ4LCAKKyAgICAyMjYsIDcyLCAxNDEsIDIzOSwgMjE1LCAyMTAsIDIyOCwgNzIsIDIyOSwgMTMyLCAzLCAyNDgsIDEwOCwgMjE4LCA1MywgNzIsIAorICAgIDIyOSwgMTMyLCAzLCAyMjksIDI0NiwgMjE4LCA1MywgNzIsIDI1MSwgMjA1LCAzLCAyMTYsIDUsIDI0MCwgMTczLCAyNTUsIAorICAgIDMsIDIxOCwgNTMsIDcyLCAyNTEsIDIwNSwgMywgMjU1LCAwLCAxNzksIDcyLCAyNTEsIDIwNSwgMywgMjE3LCA4NywgMjEwLCAKKyAgICAyMjMsIDcyLCAzLCAyMTksIDUzLCAyNDUsIDY1LCAyNDAsIDE3MiwgNzIsIDMsIDIxOSwgNTMsIDI0NSwgNjUsIDI0MCwgMjEsIAorICAgIDcyLCAzLCAyMTksIDUzLCAyNDUsIDY1LCAyMzksIDIxNiwgNzIsIDMsIDIxOSwgNTMsIDIyNSwgMjI1LCAyNDAsIDE3MiwgCisgICAgNzIsIDMsIDIxOSwgNTMsIDIyNSwgMjI1LCAyNDAsIDIxLCA3MiwgMywgMjE5LCA1MywgMjQ1LCA2NSwgMjE5LCA1MywgMjI1LCAKKyAgICAyMjQsIDcyLCAxOCwgMjA1LCA4NSwgNzIsIDE4LCAxMDIsIDcyLCAxOCwgMTA1LCA3MiwgMTgsIDE0MiwgNzIsIDE4LCAxMzksIAorICAgIDcyLCAxOCwgMTY4LCA3MiwgMTgsIDE4NCwgNzIsIDE4LCAxOTUsIDcyLCAxOCwgMTkzLCA3MiwgMTgsIDIwMCwgNzIsIDE4LCAKKyAgICAxNjAsIDEwMiwgNzIsIDE4LCAxNjAsIDEwNSwgNzIsIDE4LCAxNjAsIDE0MiwgNzIsIDE4LCAxNjAsIDEzOSwgNzIsIDE4LCAKKyAgICAxNjAsIDE2OCwgNzIsIDE4LCAxNjAsIDE4NCwgNzIsIDE4LCAxNjAsIDE5NSwgNzIsIDE4LCAxNjAsIDE5MywgNzIsIDE4LCAKKyAgICAxNjAsIDIwMCwgNzIsIDE4LCAxNjAsIDIwNSwgODUsIDcyLCAxNDEsIDI0OSwgMTA2LCAyMTgsIDUzLCA3MiwgMTQxLCAyMjUsIAorICAgIDY4LCAyNDksIDM2LCAyMjMsIDEyNiwgMjA1LCAyMSwgNzIsIDE0MSwgMjQ4LCAyMDAsIDI1NSwgMiwgMjE4LCA1NCwgMjQ5LCAKKyAgICAzNywgMjI2LCAyMjUsIDI0OCwgMjI2LCA3MiwgMTQxLCAyMjUsIDY4LCAyNDksIDM2LCAyMTYsIDYsIDIxOCwgNTMsIDcyLCAKKyAgICAxNDEsIDI0OCwgODMsIDIyNywgMTUsIDcyLCAxNDEsIDIxMCwgMjQ0LCAyNTQsIDI1NSwgNzIsIDE0MSwgMjM5LCAxOTgsIAorICAgIDIxOCwgNTQsIDIzOSwgMTU4LCA3MiwgMTQxLCAyMzksIDE5OCwgMjE4LCA1NCwgMjM5LCAxNjQsIDcyLCAxNDEsIDI1MiwgCisgICAgMTE1LCAyMzEsIDE1NywgMjM5LCAxNTgsIDcyLCAxNDEsIDI1MiwgMTE1LCAyMzEsIDE1NywgMjM5LCAxNjQsIDcyLCAzLCAKKyAgICAyMDYsIDcxLCAyMTAsIDIyNywgNzIsIDMsIDIyNywgMjAwLCAyMTAsIDIyNywgNzIsIDEsIDE3MiwgNzIsIDEsIDIzMSwgCisgICAgMTY3LCA3MiwgMSwgMjQwLCAyNDQsIDcyLCAxLCAyNDAsIDk5LCA3MiwgMSwgMjI1LCA3NywgNzIsIDEsIDI0OSwgMSwgNzIsIAorICAgIDEsIDI0OCwgMTEwLCA3MiwgMSwgMjMyLCAyMDAsIDcyLCAxLCAyMjMsIDE0NCwgNzIsIDEsIDIxMCwgMjA4LCA3MiwgMSwgCisgICAgMjEwLCAxOTYsIDcyLCAxLCAyNDYsIDU0LCA3MiwgMSwgMjQ2LCAzOCwgNzIsIDEsIDIyNCwgMTAzLCA3MiwgMSwgMjEyLCAKKyAgICAyMTksIDcyLCAxLCAyMTIsIDU2LCA3MiwgMSwgMjQ2LCAxNDUsIDcyLCAxLCAyNDUsIDE5MiwgNzIsIDEsIDE5OSwgNzIsIDEsIAorICAgIDE3OSwgNzIsIDEsIDIyMSwgOTMsIDcyLCAxLCAyNTAsIDE4MywgNzIsIDEsIDI1MCwgMCwgNzIsIDEsIDE4NSwgNzIsIDEsIAorICAgIDIxMCwgMjQzLCA3MiwgMSwgMjEwLCAyMzMsIDcyLCAxLCAyNDMsIDE5NiwgNzIsIDEsIDI0MywgMTkwLCA3MiwgMSwgMjA3LCAKKyAgICA5NiwgNzIsIDEsIDIwNSwgODEsIDcyLCAxLCAyMDUsIDExNiwgNzIsIDEsIDI1NSwgNSwgNzIsIDEsIDE5MCwgNzIsIDEsIAorICAgIDIxOSwgMTEzLCA3MiwgMSwgMjMwLCAxNDEsIDcyLCAxLCAyMTYsIDIsIDcyLCAxLCAyMTQsIDk2LCA3MiwgMSwgMjE3LCAKKyAgICAxOTksIDcyLCAxLCAxNTUsIDcyLCAxLCA2MiwgNzIsIDEsIDIzMCwgMjUwLCA3MiwgMSwgMjQxLCAyMDAsIDIxOSwgMTEzLCAKKyAgICA3MiwgMSwgMjMxLCA3MiwgNzIsIDEsIDIxOCwgODksIDcyLCAyMiwgMywgMjUzLCAxNjQsIDcyLCAyMiwgMywgNzQsIDcyLCAKKyAgICAyMiwgMywgMjMzLCAxMDIsIDcyLCAyMiwgMywgNzEsIDcyLCAyMiwgMywgMjA5LCAxNjIsIDcyLCAyMiwgMywgMTE1LCAxMzcsIAorICAgIDcyLCAyMiwgMywgMTE1LCAyMTgsIDkwLCA3MiwgMjIsIDMsIDExNSwgMTQ5LCA3MiwgMjIsIDMsIDExNSwgMjI5LCAxNzMsIAorICAgIDcyLCAyMiwgMywgNzUsIDcyLCAyMiwgMywgMjQzLCAxMDQsIDcyLCAyMiwgMywgNzYsIDcyLCAyMiwgMywgMjIyLCAxNTIsIAorICAgIDcyLCAzLCAyMTgsIDEzNSwgMjEzLCAyMDQsIDIyNSwgNzgsIDIxOCwgMTI0LCA3MiwgMywgMjE4LCAxMjksIDI1MCwgNjIsIAorICAgIDcyLCAyMiwgMywgMjE4LCAyMjQsIDc0LCA3MiwgMjIsIDMsIDIxOCwgMjI0LCAyMzMsIDEwMiwgNzIsIDMsIDIyMywgMTI2LCAKKyAgICAyMDUsIDIyLCAyMjUsIDIzMywgMjQ2LCAxNDUsIDcyLCAzLCAyMTQsIDIwNywgMjMwLCA2MCwgNzIsIDE0MSwgMjM5LCAxMjMsIAorICAgIDcyLCAxNDEsIDIyMiwgMTYsIDcyLCAzLCAyMzAsIDYzLCAyMTgsIDUzLCA3MiwgMywgMjA2LCA3NiwgMjE4LCA1MywgNzIsIAorICAgIDMsIDIzMCwgNjQsIDIxMCwgMjQ0LCAyNDgsIDIyNiwgNzIsIDMsIDIyNywgMTIzLCAyNDgsIDIyNiwgNzIsIDMsIDIzOSwgCisgICAgMjE5LCAyNDgsIDIyNywgMjE4LCAyMTQsIDcyLCAzLCAyMzksIDIxOSwgMjI3LCAxMTMsIDIxOCwgMjE0LCA3MiwgMywgMjMzLCAKKyAgICAyLCAyMjcsIDEyMywgMjQ4LCAyMjYsIDcyLCAyMTMsIDE5MSwgMywgMjMwLCA2NCwgMjEwLCAyNDQsIDI0OCwgMjI2LCA3MiwgCisgICAgMjEzLCAxOTEsIDMsIDIyNywgMTIzLCAyNDgsIDIyNiwgNzIsIDIxMywgMTkxLCAzLCAyMzMsIDIsIDIyNywgMTIzLCAyNDgsIAorICAgIDIyNiwgNzIsIDIxMywgMTkxLCAxLCAxNzIsIDcyLCAyMTMsIDE5MSwgMSwgMjMxLCAxNjcsIDcyLCAyMTMsIDE5MSwgMSwgCisgICAgMjQwLCAyNDQsIDcyLCAyMTMsIDE5MSwgMSwgMjQwLCA5OSwgNzIsIDIxMywgMTkxLCAxLCAyMjUsIDc3LCA3MiwgMjEzLCAKKyAgICAxOTEsIDEsIDI0OSwgMSwgNzIsIDIxMywgMTkxLCAxLCAyNDgsIDExMCwgNzIsIDIxMywgMTkxLCAxLCAyMzIsIDIwMCwgNzIsIAorICAgIDIxMywgMTkxLCAxLCAyMjMsIDE0NCwgNzIsIDIxMywgMTkxLCAxLCAyMTAsIDIwOCwgNzIsIDIxMywgMTkxLCAxLCAyMTAsIAorICAgIDE5NiwgNzIsIDIxMywgMTkxLCAxLCAyNDYsIDU0LCA3MiwgMjEzLCAxOTEsIDEsIDI0NiwgMzgsIDcyLCAyMTMsIDE5MSwgMSwgCisgICAgMjI0LCAxMDMsIDcyLCAyMTMsIDE5MSwgMSwgMjEyLCAyMTksIDcyLCAyMTMsIDE5MSwgMSwgMjEyLCA1NiwgNzIsIDIxMywgCisgICAgMTkxLCAxLCAyNDYsIDE0NSwgNzIsIDIxMywgMTkxLCAxLCAyNDUsIDE5MiwgNzIsIDIxMywgMTkxLCAxLCAxOTksIDcyLCAKKyAgICAyMTMsIDE5MSwgMSwgMTc5LCA3MiwgMjEzLCAxOTEsIDEsIDIyMSwgOTMsIDcyLCAyMTMsIDE5MSwgMSwgMjUwLCAxODMsIAorICAgIDcyLCAyMTMsIDE5MSwgMSwgMjUwLCAwLCA3MiwgMjEzLCAxOTEsIDEsIDE4NSwgNzIsIDIxMywgMTkxLCAxLCAyMTAsIDI0MywgCisgICAgNzIsIDIxMywgMTkxLCAxLCAyMTAsIDIzMywgNzIsIDIxMywgMTkxLCAxLCAyNDMsIDE5NiwgNzIsIDIxMywgMTkxLCAxLCAKKyAgICAyNDMsIDE5MCwgNzIsIDIxMywgMTkxLCAxLCAyMDcsIDk2LCA3MiwgMjEzLCAxOTEsIDEsIDIwNSwgODEsIDcyLCAyMTMsIAorICAgIDE5MSwgMSwgMjA1LCAxMTYsIDcyLCAyMTMsIDE5MSwgMSwgMjU1LCA1LCA3MiwgMjEzLCAxOTEsIDEsIDE5MCwgNzIsIDIxMywgCisgICAgMTkxLCAxLCAyMTksIDExMywgNzIsIDIxMywgMTkxLCAxLCAyMzAsIDE0MSwgNzIsIDIxMywgMTkxLCAxLCAyMTYsIDIsIDcyLCAKKyAgICAyMTMsIDE5MSwgMSwgMjE0LCA5NiwgNzIsIDIxMywgMTkxLCAxLCAyMTcsIDE5OSwgNzIsIDIxMywgMTkxLCAxLCAxNTUsIAorICAgIDcyLCAyMTMsIDE5MSwgMSwgNjIsIDcyLCAyMTMsIDE5MSwgMSwgMjMwLCAyNTAsIDcyLCAyMTMsIDE5MSwgMSwgMjQxLCAKKyAgICAyMDAsIDIwNywgOTYsIDcyLCAyMTMsIDE5MSwgMSwgMjQxLCAyMDAsIDE5MCwgNzIsIDIxMywgMTkxLCAxLCAyNDEsIDIwMCwgCisgICAgMjE5LCAxMTMsIDcyLCAyMzAsIDIzNywgMjE4LCA1MSwgMjMxLCAxNjcsIDcyLCAyMzAsIDIzNywgMjE4LCA1MSwgMjMxLCAKKyAgICAxNjgsIDI0OSwgMzcsIDIyNiwgMjI1LCAyNDgsIDIyNiwgNzIsIDI0OCwgMjE0LCAzLCA3NywgMjUwLCA1NSwgNzIsIDI0OCwgCisgICAgMjE0LCAzLCAxNDcsIDI1MCwgNTUsIDcyLCAyNDgsIDIxNCwgMywgMjQ4LCAyMTUsIDIxMiwgMTI5LCA3MiwgMjQ4LCAyMTQsIAorICAgIDMsIDIxNywgMTEyLCAyNTUsIDQsIDcyLCAxNiwgMjQzLCAyNTAsIDI0OSwgMTAxLCA3MiwgMTYsIDIxOSwgNTIsIDIxOCwgCisgICAgMTM2LCA3MiwgMTYsIDIyMiwgMzksIDI0MCwgMTcxLCA3MiwgMTYsIDIxOSwgNTIsIDIxOCwgMTM3LCAyMTgsIDIxNiwgMjM5LCAKKyAgICAyNDUsIDcyLCAxNiwgMjIxLCA1NywgMTc5LCA3MiwgMTYsIDIyNCwgNTEsIDI0OSwgMTAxLCA3MiwgMTYsIDIyNCwgNTEsIAorICAgIDI0OSwgMTAyLCAyMjMsIDExNSwgMjU1LCAxLCA3MiwgMTYsIDIyNCwgNTEsIDI0OSwgMTAyLCAyMzksIDIxNywgMjU1LCAxLCAKKyAgICA3MiwgMTYsIDIyNCwgNTEsIDI0OSwgMTAyLCAyNDksIDM3LCAyNTUsIDEsIDcyLCAzLCAyMTksIDUzLCAyMjUsIDIyNSwgCisgICAgMjE5LCA1MywgMjQ1LCA2NCwgNzIsIDMsIDIxOSwgNTMsIDIyNSwgMjI1LCAyMzksIDIxNiwgNzIsIDE0MSwgMjQ5LCAxMDUsIAorICAgIDIxNSwgMTU0LCAyNDAsIDYyLCAyMjcsIDE2LCAyMTgsIDIxNSwgNzIsIDE0MSwgMjI2LCAxODMsIDIwNiwgMywgMjQwLCA2MiwgCisgICAgMjI3LCAxNiwgMjE4LCAyMTUsIDcyLCAxNDEsIDIyMywgMTE1LCAyMTAsIDIyOCwgNzIsIDE0MSwgNzgsIDI0OSwgMTI4LCAKKyAgICAyMTgsIDEyNiwgMjA2LCAzLCAyMjcsIDE2LCAyMjcsIDEyMSwgMTg1LCA3MiwgMTQxLCAyNDcsIDE4OCwgMjQ5LCAxMjgsIAorICAgIDIxOCwgMTI2LCAyMDYsIDMsIDIyNywgMTYsIDIxNiwgOSwgMTg1LCAyMTgsIDE2NiwgMjEzLCAxMTQsIDUzLCAyMzAsIDQ1LCAKKyAgICAyMTMsIDExNCwgNTMsIDIxOCwgMTY2LCAyMTMsIDExNCwgMywgMiwgMjQ1LCAyMSwgMjMwLCA0NSwgMjEzLCAxMTQsIDMsIDIsIAorICAgIDI0NSwgMjEsIDcyLCAxNDEsIDIzMCwgNTUsIDIyNywgMTI0LCAyMTgsIDUzLCA3MiwgMTQxLCAyMTEsIDc2LCAyMjcsIDEyNCwgCisgICAgMjE4LCA1MywgNjYsIDEsIDE3MiwgNjYsIDEsIDIzMSwgMTY3LCA2NiwgMSwgMjQwLCAyNDQsIDY2LCAxLCAyNDAsIDk5LCAKKyAgICA2NiwgMSwgMjI1LCA3NywgNjYsIDEsIDI0OSwgMSwgNjYsIDEsIDI0OCwgMTEwLCA2NiwgMSwgMjMyLCAyMDAsIDY2LCAxLCAKKyAgICAyMzIsIDE3MCwgNjYsIDEsIDIyMywgMTQ0LCA2NiwgMSwgMjI0LCA2OSwgNjYsIDEsIDIxMCwgMjA4LCA2NiwgMSwgMjEwLCAKKyAgICAxOTYsIDY2LCAxLCAyNDYsIDU0LCA2NiwgMSwgMjQ2LCAzOCwgNjYsIDEsIDIyNCwgMTAzLCA2NiwgMSwgMjEyLCAyMTksIAorICAgIDY2LCAxLCAyMTIsIDU2LCA2NiwgMSwgMjQ2LCAxNDUsIDY2LCAxLCAyNDUsIDE5MiwgNjYsIDEsIDE5OSwgNjYsIDEsIDE3OSwgCisgICAgNjYsIDEsIDIyMSwgOTMsIDY2LCAxLCAyNTAsIDE4MywgNjYsIDEsIDI1MCwgMCwgNjYsIDEsIDE4NSwgNjYsIDEsIDE5MCwgCisgICAgNjYsIDEsIDIxOSwgMTEzLCA2NiwgMSwgMjMwLCAxNDEsIDY2LCAxLCAyMDcsIDk2LCA2NiwgMSwgMjE3LCAxOTksIDY2LCAxLCAKKyAgICAxNTUsIDY2LCAxLCAyMjksIDE3MiwgNjYsIDEsIDYyLCA2NiwgMSwgMjE1LCAyMzgsIDYyLCA2NiwgMSwgNzQsIDY2LCAxLCAKKyAgICAyMzMsIDEwMiwgNjYsIDEsIDcxLCA2NiwgMSwgMjA5LCAxNjIsIDY2LCAxLCA3NSwgNjYsIDEsIDIyNiwgMTY5LCA3NSwgNjYsIAorICAgIDEsIDc2LCA2NiwgMSwgMjUxLCAxODQsIDY2LCAyMiwgMywgMjEyLCAxNzgsIDI1MywgMTY0LCA2NiwgMjIsIDMsIDI1MywgCisgICAgMTY0LCA2NiwgMjIsIDMsIDc0LCA2NiwgMjIsIDMsIDIzMywgMTAyLCA2NiwgMjIsIDMsIDcxLCA2NiwgMjIsIDMsIDIwOSwgCisgICAgMTYyLCA2NiwgMjIsIDMsIDc1LCA2NiwgMjIsIDMsIDI1MiwgMjA1LCA2NiwgMjIsIDMsIDIyNiwgMTY5LCAyMzMsIDEwMiwgCisgICAgNjYsIDIyLCAzLCAyMjYsIDE2OSwgNzYsIDY2LCAyMiwgMywgMTc0LCA1MiwgNjYsIDMsIDI1MiwgNzMsIDY2LCAzLCA2NywgCisgICAgNTUsIDY2LCAzLCAyMDgsIDE4MywgNjYsIDMsIDIwOCwgMTg4LCA2NiwgMywgMjUxLCAyMjksIDY2LCAxMDcsIDMsIDE2OSwgCisgICAgMTkwLCA2NiwgMTA3LCAzLCAxNjksIDIxOSwgMTEzLCA2NiwgMTA3LCAzLCAxNjksIDIwNywgOTYsIDY2LCAxMDcsIDMsIAorICAgIDE2OSwgMTU1LCA2NiwgMSwgMjM5LCAyMzIsIDIxNywgMTk5LCA2NiwgMTgsIDIwNSwgODUsIDY2LCAxOCwgMTAyLCA2NiwgCisgICAgMTgsIDEwNSwgNjYsIDE4LCAxNDIsIDY2LCAxOCwgMTM5LCA2NiwgMTgsIDE2OCwgNjYsIDE4LCAxODQsIDY2LCAxOCwgMTk1LCAKKyAgICA2NiwgMTgsIDE5MywgNjYsIDE4LCAyMDAsIDY2LCAzLCAyMjksIDE4MCwgMjE3LCA3NiwgNjYsIDMsIDIxNywgNzYsIDY2LCAKKyAgICAxNiwgMjI5LCAxNDEsIDY2LCAxNiwgMjQ3LCAxNDksIDY2LCAxNiwgMjUyLCAyMjQsIDY2LCAxNiwgMjQwLCAxNTQsIDY2LCAKKyAgICAxLCAyMTYsIDIsIDY2LCAxLCAyMTQsIDk2LCA2NiwgMSwgMTE1LCAxMzcsIDY2LCAxLCAxMTUsIDIxOCwgOTAsIDY2LCAxLCAKKyAgICAxMTUsIDE0OSwgNjYsIDEsIDExNSwgMjI5LCAxNzMsIDY2LCAyMiwgMywgMTE1LCAxMzcsIDY2LCAyMiwgMywgMTE1LCAyMTgsIAorICAgIDkwLCA2NiwgMjIsIDMsIDExNSwgMTQ5LCA2NiwgMjIsIDMsIDExNSwgMjI5LCAxNzMsIDY2LCAxLCAyMjYsIDE2OSwgMjI1LCAKKyAgICA3NywgNjYsIDEsIDIyNiwgMTY5LCAyMzIsIDE3MCwgNjYsIDEsIDIyNiwgMTY5LCAyNTAsIDk3LCA2NiwgMSwgMjI2LCAxNjksIAorICAgIDI1MCwgOTIsIDY2LCAxMDcsIDMsIDIyNiwgMTY5LCAxNjksIDE5OSwgNjYsIDEwNywgMywgMjI2LCAxNjksIDE2OSwgMTg1LCAKKyAgICA2NiwgMTA3LCAzLCAyMjYsIDE2OSwgMTY5LCAyMzAsIDE0MSwgNjYsIDEsIDIxNiwgOCwgMjMyLCA0LCAyMTYsIDIsIDY2LCAKKyAgICAyMiwgMywgMjE2LCA4LCAyMzIsIDQsIDI0MiwgMTkyLCA2NiwgMTM1LCAxNDEsIDIxNiwgOCwgMjMyLCA0LCAyMzksIDgyLCAKKyAgICA2NiwgMTM1LCAxNDEsIDIxNiwgOCwgMjMyLCA0LCAyMzEsIDIyNSwgMjIxLCA2NiwgNjYsIDEsIDIwNywgMzQsIDIyMCwgMzksIAorICAgIDIzMiwgNCwgMjEyLCA1NiwgNjYsIDEsIDIwNywgMzQsIDIyMCwgMzksIDIzMiwgNCwgMjIwLCA0NSwgNjYsIDIyLCAzLCAKKyAgICAyMDcsIDM0LCAyMjAsIDM5LCAyMzIsIDQsIDI0MiwgMTkyLCA2NiwgMjIsIDMsIDIwNywgMzQsIDIyMCwgMzksIDIzMiwgNCwgCisgICAgMjEwLCAzLCA2NiwgMywgMjA3LCAzNCwgMjIwLCAzOSwgMjMyLCA0LCAyMTEsIDExNywgNjYsIDMsIDIwNywgMzQsIDIyMCwgCisgICAgMzksIDIzMiwgNCwgMjExLCAxMTYsIDY2LCAzLCAyMDcsIDM0LCAyMjAsIDM5LCAyMzIsIDQsIDIxMSwgMTE1LCA2NiwgMywgCisgICAgMjA3LCAzNCwgMjIwLCAzOSwgMjMyLCA0LCAyMTEsIDExNCwgNjYsIDMsIDIwNywgMzQsIDIyMCwgMzksIDIzMiwgNCwgMjExLCAKKyAgICAxMTMsIDY2LCAxLCAyNDMsIDExNSwgMjIwLCAzOSwgMjMyLCA0LCAyMjQsIDEwMywgNjYsIDEsIDI0MywgMTE1LCAyMjAsIAorICAgIDM5LCAyMzIsIDQsIDIwNSwgMTc2LCA2NiwgMSwgMjQzLCAxMTUsIDIyMCwgMzksIDIzMiwgNCwgMjQwLCA2NCwgNjYsIDIyLCAKKyAgICAzLCAyNDAsIDE2NiwgMjMyLCA0LCA3NCwgNjYsIDIyLCAzLCAyMzEsIDIzMCwgMjIyLCAyMDYsIDY2LCAyMiwgMywgMjMxLCAKKyAgICAyMzAsIDcxLCA2NiwgMjIsIDMsIDIzMSwgMjMwLCAyNDMsIDEwNCwgNjYsIDEsIDIxNSwgMjM4LCAxNzIsIDY2LCAxLCAyMTUsIAorICAgIDIzOCwgMjMxLCAxNjcsIDY2LCAxLCAyMTUsIDIzOCwgMjQwLCAyNDQsIDY2LCAxLCAyMTUsIDIzOCwgMjQ5LCAxLCA2NiwgMSwgCisgICAgMjE1LCAyMzgsIDIwNSwgMTE2LCA2NiwgMSwgMjE1LCAyMzgsIDIyMywgMTQ0LCA2NiwgMSwgMjE1LCAyMzgsIDI0NiwgMTQ1LCAKKyAgICA2NiwgMSwgMjE1LCAyMzgsIDE5OSwgNjYsIDEsIDIxNSwgMjM4LCAyMjEsIDkzLCA2NiwgMSwgMjE1LCAyMzgsIDI0MiwgNzMsIAorICAgIDY2LCAxLCAyMTUsIDIzOCwgMjUwLCAxODMsIDY2LCAxLCAyMTUsIDIzOCwgMjEyLCA1NiwgNjYsIDEsIDIxNSwgMjM4LCAKKyAgICAxNTUsIDY2LCAxMDcsIDMsIDIxNSwgMjM4LCAxNjksIDIwNywgOTYsIDY2LCAyMiwgMywgMjE1LCAyMzgsIDI1MywgMTY0LCAKKyAgICA2NiwgMjIsIDMsIDIxNSwgMjM4LCA3NSwgNjYsIDIyLCAzLCAyMTUsIDIzOCwgMTc0LCA1MiwgNjYsIDIyLCAzLCAyMTUsIAorICAgIDIzOCwgNDIsIDIwNiwgMTIzLCA2NiwgMywgMjE1LCAyMzgsIDIxMSwgMTE2LCA2NiwgMywgMjE1LCAyMzgsIDIxMSwgMTE1LCAKKyAgICA2NiwgMywgMjE1LCAyMzgsIDIxMSwgMTEzLCA2NiwgMywgMjE1LCAyMzgsIDIxMSwgMTEyLCA2NiwgMywgMjE1LCAyMzgsIAorICAgIDI0NywgODIsIDIxMSwgMTE2LCA2NiwgMywgMjE1LCAyMzgsIDI0NywgODIsIDIxMSwgMTE1LCA2NiwgMywgMjE1LCAyMzgsIAorICAgIDI0NywgODIsIDI0MywgNDQsIDIxMSwgMTE4LCA2NiwgMSwgMjE4LCAzNywgMjIyLCAyMywgMjQyLCA3MywgNjYsIDMsIDIxOCwgCisgICAgMzcsIDIyMiwgMjMsIDIxMSwgMTEzLCA2NiwgMjE1LCAyMzgsIDE4LCAyMDUsIDg1LCA2NiwgMjE1LCAyMzgsIDE4LCAxMDIsIAorICAgIDY2LCAyMTUsIDIzOCwgMTgsIDEwNSwgNjYsIDIxNSwgMjM4LCAxOCwgMTQyLCA2NiwgMjE1LCAyMzgsIDE4LCAxMzksIDY2LCAKKyAgICAyMTUsIDIzOCwgMTgsIDE2OCwgNjYsIDIxNSwgMjM4LCAxOCwgMTg0LCA2NiwgMjE1LCAyMzgsIDE4LCAxOTUsIDY2LCAyMTUsIAorICAgIDIzOCwgMTgsIDE5MywgNjYsIDIxNSwgMjM4LCAxOCwgMjAwLCA2NiwgMywgMjMxLCAxNjAsIDIxMSwgMTE3LCA2NiwgMywgCisgICAgMjMxLCAxNjAsIDIxMSwgMTE1LCA2NiwgMjIsIDMsIDI1MiwgMTkzLCA2MiwgNjYsIDIyLCAzLCAyNTIsIDE5MywgMjUyLCAKKyAgICAyMDUsIDY2LCAxNiwgMjE1LCAyMzgsIDEwMiwgNjYsIDE2LCAyMTUsIDIzOCwgMjQyLCAxNjcsIDEwOCwgNiwgMSwgMjUyLCAKKyAgICAxMjIsIDEwOCwgNiwgMSwgMjUwLCAxNDAsIDEwOCwgNiwgMSwgMjQwLCAyMTQsIDEwOCwgNiwgMSwgMjQ1LCAzMSwgMTA4LCAKKyAgICA2LCAxLCAyNDMsIDQxLCAxMDgsIDYsIDEsIDIwOCwgMTk3LCAxMDgsIDYsIDEsIDIwNSwgODgsIDEwOCwgNiwgMSwgMjEyLCAKKyAgICAxNzQsIDEwOCwgNiwgMSwgMjMzLCA2OCwgMTA4LCA2LCAxLCAyMzIsIDI3LCAxMDgsIDYsIDEsIDIzMCwgODIsIDEwOCwgNiwgCisgICAgMSwgMjI3LCAyMjEsIDEwOCwgNiwgMSwgMjI1LCAyMDAsIDEwOCwgNiwgMSwgMjIyLCAxNjUsIDEwOCwgNiwgMSwgMjIxLCAKKyAgICAyMzEsIDEwOCwgNiwgMSwgMjA1LCA3NywgMTA4LCA2LCAxLCAyMTksIDk1LCAxMDgsIDYsIDEsIDIxNywgMTUxLCAxMDgsIDYsIAorICAgIDEsIDIxMiwgMTYyLCAxMDgsIDYsIDEsIDIwOSwgMjM0LCAxMDgsIDYsIDEsIDIyMSwgODUsIDEwOCwgNiwgMSwgMjMxLCAKKyAgICAxNTUsIDEwOCwgNiwgMSwgMjQwLCA5MCwgMTA4LCA2LCAxLCAyMjAsIDQsIDEwOCwgNiwgMSwgMjE1LCAxNzEsIDEwOCwgNiwgCisgICAgMSwgMjQ4LCA0NSwgMTA4LCA2LCAxLCAyNDgsIDIyNiwgMTA4LCA2LCAxLCAyMzIsIDE1NCwgMTA4LCA2LCAxLCAyNDcsIAorICAgIDI0MCwgMTA4LCA2LCAxLCAyNDgsIDk1LCAxMDgsIDYsIDEsIDIwNiwgMTc5LCAxMDgsIDYsIDEsIDIzMiwgMTY3LCAxMDgsIAorICAgIDYsIDEsIDIzOSwgMTM4LCAxMDgsIDYsIDEsIDIzOSwgNzEsIDEwOCwgNiwgMSwgMjM5LCA2LCAxMDgsIDYsIDEsIDIwNywgCisgICAgNTEsIDEwOCwgNiwgMSwgMjM5LCA5NSwgMTA4LCA2LCAxLCAyMzgsIDE0NiwgMTA4LCA2LCAxLCAyMDUsIDI0OSwgMTA4LCA2LCAKKyAgICAxLCAyNTIsIDIzNywgMTA4LCAxLCAyNTIsIDEyMiwgMTA4LCAxLCAyNTAsIDE0MCwgMTA4LCAxLCAyNDAsIDIxNCwgMTA4LCAKKyAgICAxLCAyNDUsIDMxLCAxMDgsIDEsIDI0MywgNDEsIDEwOCwgMSwgMjA4LCAxOTcsIDEwOCwgMSwgMjA1LCA4OCwgMTA4LCAxLCAKKyAgICAyMTIsIDE3NCwgMTA4LCAxLCAyMzMsIDY4LCAxMDgsIDEsIDIzMiwgMjcsIDEwOCwgMSwgMjMwLCA4MiwgMTA4LCAxLCAyMjcsIAorICAgIDIyMSwgMTA4LCAxLCAyMjUsIDIwMCwgMTA4LCAxLCAyMjIsIDE2NSwgMTA4LCAxLCAyMjEsIDIzMSwgMTA4LCAxLCAyMDUsIAorICAgIDc3LCAxMDgsIDEsIDIxOSwgOTUsIDEwOCwgMSwgMjE3LCAxNTEsIDEwOCwgMSwgMjEyLCAxNjIsIDEwOCwgMSwgMjA5LCAKKyAgICAyMzQsIDEwOCwgMSwgMjIxLCA4NSwgMTA4LCAxLCAyMzEsIDE1NSwgMTA4LCAxLCAyNDAsIDkwLCAxMDgsIDEsIDIyMCwgNCwgCisgICAgMTA4LCAxLCAyMTUsIDE3MSwgMTA4LCAxLCAyNDgsIDQ1LCAxMDgsIDEsIDI0OCwgMjI2LCAxMDgsIDEsIDIzMiwgMTU0LCAKKyAgICAxMDgsIDEsIDI0NywgMjQwLCAxMDgsIDEsIDI0OCwgOTUsIDEwOCwgMSwgMjA2LCAxNzksIDEwOCwgMSwgMjMyLCAxNjcsIAorICAgIDEwOCwgMSwgMjM5LCAxMzgsIDEwOCwgMSwgMjM5LCA3MSwgMTA4LCAxLCAyMzksIDYsIDEwOCwgMSwgMjA3LCA1MSwgMTA4LCAKKyAgICAxLCAyMzksIDk1LCAxMDgsIDEsIDIzOCwgMTQ2LCAxMDgsIDEsIDI0MSwgMjUwLCAxMDgsIDEsIDIwNSwgMjQ5LCAxMDgsIDEsIAorICAgIDI0MywgNTYsIDEwOCwgMSwgMjAxLCAyNDAsIDIxNCwgMTA4LCAxLCAyNTIsIDIwMCwgMTA4LCAyMjEsIDIyOSwgMjE2LCAzOSwgCisgICAgNjUsIDEsIDEwOCwgMjI1LCAyMDAsIDEwOCwgMSwgMjUyLCAyMzcsIDEwOCwgMSwgMjM5LCA5NCwgNTMsIDEwOCwgMSwgMjMwLCAKKyAgICAxMzIsIDUzLCAyNSwgMTEzLCAyMzEsIDg0LCAyNSwgMTEzLCAyMTQsIDg4LCAyNSwgMTEzLCAyMjQsIDIyMywgMjUsIDExMywgCisgICAgMjExLCAxOTMsIDI1LCAxMTMsIDIxNCwgNzcsIDI1LCAxMTMsIDIxOCwgMTk4LCAyNSwgMTEzLCAyMjYsIDI0MCwgMjUsIAorICAgIDExMywgMjIxLCAzOSwgMjUsIDExMywgMjE0LCA4NSwgMjUsIDExMywgMjE1LCAzMywgMjUsIDExMywgMjE0LCA4MiwgMjUsIAorICAgIDExMywgMjMzLCAxMjUsIDI1LCAxMTMsIDI0NywgMjQ2LCAyNSwgMTEzLCAyMTQsIDkyLCAyNSwgMTEzLCAyNDgsIDU0LCAyNSwgCisgICAgMTEzLCAyMzEsIDE0MywgMjUsIDExMywgMjEyLCAxNSwgMjUsIDExMywgMjIxLCA3NiwgMjUsIDExMywgMjM5LCAzLCAyNSwgCisgICAgMTEzLCAyMjQsIDIxOSwgMjUsIDExMywgMjE0LCA4NiwgMjUsIDExMywgMjI0LCAyMTMsIDI1LCAxMTMsIDIyNCwgMjE3LCAKKyAgICAyNSwgMTEzLCAyMTEsIDE5MCwgMjUsIDExMywgMjE4LCAxODYsIDI1LCAxMTMsIDIxNCwgODQsIDI1LCAxMTMsIDIxOCwgCisgICAgMTk2LCAyNSwgMTEzLCAyMzIsIDEwLCAyNSwgMTEzLCAyMjYsIDIzMywgMjUsIDExMywgMjMyLCAxMywgMjUsIDExMywgMjIxLCAKKyAgICAzNCwgMjUsIDExMywgMjIxLCAzMiwgMjUsIDExMywgMjIxLCAyMCwgMjUsIDExMywgMjIxLCAyOCwgMjUsIDExMywgMjIxLCAKKyAgICAyNiwgMjUsIDExMywgMjIxLCAyMywgMjUsIDExMywgMjIxLCAyNSwgMjUsIDExMywgMjIxLCAyMiwgMjUsIDExMywgMjIxLCAKKyAgICAyNywgMjUsIDExMywgMjIxLCAzNywgMjUsIDExMywgMjIxLCAzOCwgMjUsIDExMywgMjIxLCAyMSwgMjUsIDExMywgMjIxLCAKKyAgICAzMSwgMjUsIDExMywgMjMyLCAxMSwgMjUsIDExMywgMjMyLCA5LCAyNSwgMTEzLCAyMTUsIDI2LCAyNSwgMTEzLCAyMTUsIAorICAgIDI0LCAyNSwgMTEzLCAyMTUsIDE2LCAyNSwgMTEzLCAyMTUsIDE5LCAyNSwgMTEzLCAyMTUsIDI1LCAyNSwgMTEzLCAyMTUsIAorICAgIDIxLCAyNSwgMTEzLCAyMTUsIDIwLCAyNSwgMTEzLCAyMTUsIDE4LCAyNSwgMTEzLCAyMTUsIDI5LCAyNSwgMTEzLCAyMTUsIAorICAgIDMxLCAyNSwgMTEzLCAyMTUsIDMyLCAyNSwgMTEzLCAyMTUsIDI3LCAyNSwgMTEzLCAyMTUsIDE3LCAyNSwgMTEzLCAyMTUsIAorICAgIDIyLCAyNSwgMTEzLCAyMTUsIDMwLCAyNSwgMTEzLCAyNDgsIDM2LCAyNSwgMTEzLCAyNDgsIDM0LCAyNSwgMTEzLCAyNDgsIAorICAgIDEyMSwgMjUsIDExMywgMjQ4LCAxMTksIDI1LCAxMTMsIDIyMSwgMjQ3LCAyNSwgMTEzLCAyMzMsIDEyMCwgMjUsIDExMywgCisgICAgMjMzLCAxMTEsIDI1LCAxMTMsIDIzMywgMTE5LCAyNSwgMTEzLCAyMzMsIDExNiwgMjUsIDExMywgMjMzLCAxMTQsIDI1LCAKKyAgICAxMTMsIDIzMywgMTE4LCAyNSwgMTEzLCAyMTQsIDg5LCAyNSwgMTEzLCAyMzMsIDEyMywgMjUsIDExMywgMjMzLCAxMjQsIAorICAgIDI1LCAxMTMsIDIzMywgMTEyLCAyNSwgMTEzLCAyMzMsIDExNywgMjUsIDExMywgMjA2LCAyOSwgMjUsIDExMywgMjQ3LCAKKyAgICAyNDUsIDI1LCAxMTMsIDI0OCwgMzcsIDI1LCAxMTMsIDI0OCwgMzUsIDI1LCAxMTMsIDI0OCwgMTIyLCAyNSwgMTEzLCAyNDgsIAorICAgIDEyMCwgMjUsIDExMywgMjQ4LCA1MiwgMjUsIDExMywgMjQ4LCA1MywgMjUsIDExMywgMjQ4LCAzOCwgMjUsIDExMywgMjQ4LCAKKyAgICAxMjMsIDI1LCAxMTMsIDIyMSwgNzQsIDI1LCAxMTMsIDIzMiwgMTIsIDI1LCAxMTMsIDIxNCwgOTAsIDI1LCAxMTMsIDIwNiwgCisgICAgMzUsIDI1LCAxMTMsIDIzMSwgNzUsIDI1LCAxMTMsIDIyNCwgMjE1LCAyNSwgMTEzLCAyMjQsIDIyMSwgMjUsIDExMywgMjI0LCAKKyAgICAyMjAsIDI1LCAxMTMsIDIxMSwgMTg3LCAyNSwgMTEzLCAyNDEsIDIzMiwgMjUsIDE2MiwgMjQxLCAyMzIsIDI1LCAxNjIsIAorICAgIDYyLCAyNSwgMTYyLCAyNTIsIDI0OCwgMjUsIDE2MiwgMTkwLCAyNSwgMTYyLCAyMDYsIDk4LCAyNSwgMTYyLCAyNDMsIDYsIAorICAgIDI1LCAxNjIsIDc1LCAyNSwgMTYyLCAyMDYsIDM5LCAyNSwgMTYyLCAyMDYsIDUyLCAyNSwgMTYyLCA3NiwgMjUsIDE2MiwgCisgICAgMjA3LCA5NiwgMjUsIDE2MiwgMjA3LCA5MiwgMjUsIDE2MiwgMjIyLCAyMDYsIDI1LCAxNjIsIDIwNSwgMjQ3LCAyNSwgMTYyLCAKKyAgICA3MSwgMjUsIDE2MiwgMjA3LCAzOCwgMjUsIDE2MiwgMjA3LCA1MSwgMjUsIDE2MiwgMjA3LCAyMCwgMjUsIDE2MiwgMjA1LCAKKyAgICAyMTMsIDI1LCAxNjIsIDI0MiwgMTkyLCAyNSwgMTYyLCAyMDYsIDExLCAyNSwgMTYyLCA3NCwgMjUsIDE2MiwgMjU0LCAyNTIsIAorICAgIDI1LCAxNjIsIDI1NCwgMjUxLCAyNSwgMTYyLCAyMDYsIDExMiwgMjUsIDE2MiwgMjA2LCAxMTAsIDI1LCAxNjIsIDI0MywgNCwgCisgICAgMjUsIDE2MiwgMjQzLCAzLCAyNSwgMTYyLCAyNDMsIDUsIDI1LCAxNjIsIDIwNiwgMzgsIDI1LCAxNjIsIDIwNiwgMzcsIDI1LCAKKyAgICAxNjIsIDIyMywgNTgsIDI1LCAxNjIsIDIyMywgNTksIDI1LCAxNjIsIDIyMywgNTIsIDI1LCAxNjIsIDIyMywgNTcsIDI1LCAKKyAgICAxNjIsIDIyMywgNTUsIDI1LCAxNjIsIDIwNSwgMjQxLCAyNSwgMTYyLCAyMDUsIDI0MCwgMjUsIDE2MiwgMjA1LCAyMzksIAorICAgIDI1LCAxNjIsIDIwNSwgMjQyLCAyNSwgMTYyLCAyMDUsIDI0MywgMjUsIDE2MiwgMjEwLCA3NiwgMjUsIDE2MiwgMjEwLCA3NSwgCisgICAgMjUsIDE2MiwgMjEwLCA3MywgMjUsIDE2MiwgMjEwLCA2OSwgMjUsIDE2MiwgMjEwLCA3MCwgMjUsIDE2MiwgMjA1LCAyMTIsIAorICAgIDI1LCAxNjIsIDIwNSwgMjA5LCAyNSwgMTYyLCAyMDUsIDIxMCwgMjUsIDE2MiwgMjA1LCAyMDQsIDI1LCAxNjIsIDIwNSwgCisgICAgMjA1LCAyNSwgMTYyLCAyMDUsIDIwNiwgMjUsIDE2MiwgMjA1LCAyMDgsIDI1LCAxNjIsIDI0MiwgMTg2LCAyNSwgMTYyLCAKKyAgICAyNDIsIDE4OCwgMjUsIDE2MiwgMjA2LCAxMCwgMjUsIDE2MiwgMjM3LCAyMjQsIDI1LCAxNjIsIDIzNywgMjE2LCAyNSwgCisgICAgMTYyLCAyMzcsIDIxOSwgMjUsIDE2MiwgMjM3LCAyMTcsIDI1LCAxNjIsIDIzNywgMjIxLCAyNSwgMTYyLCAyMzcsIDIyMywgCisgICAgMjUsIDE2MiwgMjUyLCAzMCwgMjUsIDE2MiwgMjUyLCAyNywgMjUsIDE2MiwgMjUyLCAyNSwgMjUsIDE2MiwgMjUyLCAyNiwgCisgICAgMjUsIDE2MiwgMjE0LCA5MywgMjUsIDE2MiwgMjU0LCAyNTMsIDI1LCAxNjIsIDIwNiwgMTExLCAyNSwgMTYyLCAyMDYsIDM2LCAKKyAgICAyNSwgMTYyLCAyMjMsIDU0LCAyNSwgMTYyLCAyMjMsIDUzLCAyNSwgMTAwLCAyMzEsIDg0LCAyNSwgMTAwLCAyMTQsIDg4LCAKKyAgICAyNSwgMTAwLCAyMzEsIDc3LCAyNSwgMTAwLCAyMjQsIDIyMywgMjUsIDEwMCwgMjI0LCAyMjEsIDI1LCAxMDAsIDIyNCwgCisgICAgMjIwLCAyNSwgMTAwLCAyMTEsIDE5MywgMjUsIDEwMCwgMjE4LCAxOTgsIDI1LCAxMDAsIDIxOCwgMTkzLCAyNSwgMTAwLCAKKyAgICAyMTgsIDE5MCwgMjUsIDEwMCwgMjE4LCAxODMsIDI1LCAxMDAsIDIxOCwgMTc4LCAyNSwgMTAwLCAyMTgsIDE3MywgMjUsIAorICAgIDEwMCwgMjE4LCAxODQsIDI1LCAxMDAsIDIxOCwgMTk2LCAyNSwgMTAwLCAyMjYsIDI0MCwgMjUsIDEwMCwgMjIxLCAzOSwgCisgICAgMjUsIDEwMCwgMjIxLCAyOCwgMjUsIDEwMCwgMjE1LCAzMywgMjUsIDEwMCwgMjE0LCA4MiwgMjUsIDEwMCwgMjMzLCAxMjUsIAorICAgIDI1LCAxMDAsIDI0NywgMjQ2LCAyNSwgMTAwLCAyNDgsIDU0LCAyNSwgMTAwLCAyMzEsIDE0MywgMjUsIDEwMCwgMjEyLCAxNSwgCisgICAgMjUsIDEwMCwgMjIxLCA3NiwgMjUsIDEwMCwgMjM5LCAzLCAyNSwgMTAwLCAyMzEsIDc4LCAyNSwgMTAwLCAyMzEsIDc2LCAKKyAgICAyNSwgMTAwLCAyMjQsIDIxOSwgMjUsIDEwMCwgMjI0LCAyMTMsIDI1LCAxMDAsIDIyNCwgMjE1LCAyNSwgMTAwLCAyMjQsIAorICAgIDIxOCwgMjUsIDEwMCwgMjI0LCAyMTQsIDI1LCAxMDAsIDIxMSwgMTkwLCAyNSwgMTAwLCAyMTEsIDE4NywgMjUsIDEwMCwgCisgICAgMjE4LCAxOTEsIDI1LCAxMDAsIDIxOCwgMTg2LCAyNSwgMTAwLCAyMTgsIDE3MiwgMjUsIDEwMCwgMjE4LCAxNzEsIDI1LCAKKyAgICAxMDAsIDIxNCwgODQsIDI1LCAxMDAsIDIxOCwgMTg4LCAyNSwgMTAwLCAyMTgsIDE4NywgMjUsIDEwMCwgMjE4LCAxODAsIAorICAgIDI1LCAxMDAsIDIxOCwgMTgyLCAyNSwgMTAwLCAyMTgsIDE5NSwgMjUsIDEwMCwgMjE4LCAxNzUsIDI1LCAxMDAsIDIxOCwgCisgICAgMTg1LCAyNSwgMTAwLCAyMTgsIDE5NCwgMjUsIDEwMCwgMjE4LCAxNzAsIDI1LCAxMDAsIDIyNiwgMjM2LCAyNSwgMTAwLCAKKyAgICAyMjYsIDIzMSwgMjUsIDEwMCwgMjI2LCAyMzMsIDI1LCAxMDAsIDIyNiwgMjMwLCAyNSwgMTAwLCAyMjYsIDIyOCwgMjUsIAorICAgIDEwMCwgMjI2LCAyMzQsIDI1LCAxMDAsIDIyNiwgMjM5LCAyNSwgMTAwLCAyMjYsIDIzNywgMjUsIDEwMCwgMjMyLCAxMywgCisgICAgMjUsIDEwMCwgMjIxLCAzMCwgMjUsIDEwMCwgMjIxLCAzMSwgMjUsIDEwMCwgMjIxLCAzNiwgMjUsIDEwMCwgMjMyLCAxMSwgCisgICAgMjUsIDEwMCwgMjE1LCAyNiwgMjUsIDEwMCwgMjE1LCAxNiwgMjUsIDEwMCwgMjE1LCAxOSwgMjUsIDEwMCwgMjE1LCAyMSwgCisgICAgMjUsIDEwMCwgMjIxLCAyNDcsIDI1LCAxMDAsIDIzMywgMTIwLCAyNSwgMTAwLCAyMzMsIDExMywgMjUsIDEwMCwgMjE0LCAKKyAgICA4OSwgMjUsIDEwMCwgMjMzLCAxMjEsIDI1LCAxMDAsIDIwNiwgMjksIDI1LCAxMDAsIDIwNiwgMjUsIDI1LCAxMDAsIDIwNiwgCisgICAgMjYsIDI1LCAxMDAsIDIyMSwgNzQsIDI1LCAxMDAsIDIzMiwgMTIsIDI1LCAxMDAsIDIzOSwgMSwgMjUsIDEwMCwgMjM4LCAKKyAgICAyNTUsIDI1LCAxMDAsIDIzOSwgMiwgMjUsIDEwMCwgMjM5LCAwLCAyNSwgMTAwLCAyMDYsIDM1LCAyNSwgMTAwLCAyMzEsIAorICAgIDgwLCAyNSwgMTAwLCAyMzEsIDc5LCAyNSwgMTAwLCAyMzEsIDgzLCAyNSwgMTAwLCAyMzEsIDgxLCAyNSwgMTAwLCAyMzEsIAorICAgIDgyLCAyNSwgMTAwLCAyMTQsIDg2LCAzMSwgNCwgMTU1LCAzMSwgNCwgMjM4LCA0MiwgMzEsIDQsIDIzOSwgMTEsIDMxLCA0LCAKKyAgICAyMzksIDE0MSwgMzEsIDQsIDIzOSwgNTMsIDMxLCA0LCAyMzksIDcxLCAzMSwgNCwgMjM4LCAxNDksIDMxLCA0LCAyMzgsIAorICAgIDE0OCwgMzEsIDQsIDIzMCwgMTQxLCAzMSwgNCwgMjI5LCA4MSwgMzEsIDQsIDIyOSwgMjM1LCAzMSwgNCwgMjMwLCAxNDAsIAorICAgIDMxLCA0LCAyMzAsIDUwLCAzMSwgNCwgMjMwLCA1OCwgMzEsIDQsIDIyOSwgMTQ0LCAzMSwgNCwgMjI5LCA1MCwgMzEsIDQsIAorICAgIDIzOSwgMjAsIDMxLCA0LCAyMzksIDE0LCAzMSwgNCwgMjM5LCAxNiwgMzEsIDQsIDIzOSwgMTksIDMxLCA0LCAyMzksIDE3LCAKKyAgICAzMSwgNCwgMjM5LCAxOCwgMzEsIDQsIDIzOSwgMTUsIDMxLCA0LCAyMzksIDEzLCAzMSwgNCwgMTg1LCAzMSwgNCwgMjI2LCAKKyAgICAxMTQsIDMxLCA0LCAyMjYsIDI1NCwgMzEsIDQsIDIyOCwgMTgsIDMxLCA0LCAyMjcsIDEwNywgMzEsIDQsIDIyNywgMTE5LCAKKyAgICAzMSwgNCwgMjI2LCAxODEsIDMxLCA0LCAyMjYsIDUwLCAzMSwgNCwgMjEzLCAyMSwgMzEsIDQsIDIxMywgMTUsIDMxLCA0LCAKKyAgICAyMTMsIDE3LCAzMSwgNCwgMjEzLCAyMCwgMzEsIDQsIDIxMywgMTgsIDMxLCA0LCAyMTMsIDE5LCAzMSwgNCwgMjEzLCAxNiwgCisgICAgMzEsIDQsIDIxMywgMTQsIDMxLCA0LCAyMTksIDExMywgMzEsIDQsIDIxOCwgNTAsIDMxLCA0LCAyMTgsIDIwOCwgMzEsIDQsIAorICAgIDIxOSwgMTA5LCAzMSwgNCwgMjE5LCAyOSwgMzEsIDQsIDIxOSwgNTEsIDMxLCA0LCAyMTgsIDEyNCwgMzEsIDQsIDIxOCwgCisgICAgMTgsIDMxLCA0LCAyMTcsIDE5OSwgMzEsIDQsIDIxMywgMjAzLCAzMSwgNCwgMjE1LCA4MCwgMzEsIDQsIDIxNywgMTk2LCAKKyAgICAzMSwgNCwgMjE3LCA3NCwgMzEsIDQsIDIxNywgODYsIDMxLCA0LCAyMTQsIDE5MywgMzEsIDQsIDIxMywgMTEyLCAzMSwgNCwgCisgICAgMjE2LCAyLCAzMSwgNCwgMjE1LCAxMTYsIDMxLCA0LCAyMTUsIDE4MywgMzEsIDQsIDIxNSwgMjU0LCAzMSwgNCwgMjE1LCAKKyAgICAyMTIsIDMxLCA0LCAyMTUsIDIxNCwgMzEsIDQsIDIxNSwgMTU4LCAzMSwgNCwgMjE1LCA5OCwgMzEsIDQsIDIyMCwgMTksIAorICAgIDMxLCA0LCAyMTksIDIxNCwgMzEsIDQsIDIxOSwgMjM3LCAzMSwgNCwgMjIwLCAxOCwgMzEsIDQsIDIxOSwgMjU0LCAzMSwgNCwgCisgICAgMjE5LCAyNTUsIDMxLCA0LCAyMTksIDIyNiwgMzEsIDQsIDIxOSwgMjI1LCAzMSwgNCwgMjE5LCAxNjgsIDMxLCA0LCAyMTksIAorICAgIDE2NCwgMzEsIDQsIDIxOSwgMTY3LCAzMSwgNCwgMjE5LCAxNjUsIDMxLCA0LCAyMTksIDE2NiwgMzEsIDQsIDIxOSwgMjUxLCAKKyAgICAzMSwgNCwgMjE5LCAyNDMsIDMxLCA0LCAyMTksIDI0NiwgMzEsIDQsIDIxOSwgMjUwLCAzMSwgNCwgMjE5LCAyNDcsIDMxLCAKKyAgICA0LCAyMTksIDI0OCwgMzEsIDQsIDIxOSwgMjQ1LCAzMSwgNCwgMjE5LCAyNDIsIDMxLCA0LCAyMTksIDIzOCwgMzEsIDQsIAorICAgIDIxOSwgMjQxLCAzMSwgNCwgMjE5LCAyMzksIDMxLCA0LCAyMTksIDI0MCwgMzEsIDQsIDI1MCwgMTgzLCAzMSwgNCwgMjQ5LCAKKyAgICAxMDEsIDMxLCA0LCAyNDksIDI0NCwgMzEsIDQsIDI1MCwgMTgxLCAzMSwgNCwgMjUwLCA1MCwgMzEsIDQsIDI1MCwgNjEsIAorICAgIDMxLCA0LCAyNDksIDE4NCwgMzEsIDQsIDI0OSwgNTEsIDMxLCA0LCAyMDksIDcwLCAzMSwgNCwgMjA3LCAxNDgsIDMxLCA0LCAKKyAgICAyMDgsIDIxNCwgMzEsIDQsIDIwOSwgNjksIDMxLCA0LCAyMDksIDM0LCAzMSwgNCwgMjA5LCAzOSwgMzEsIDQsIDIwOCwgCisgICAgMTczLCAzMSwgNCwgMjA3LCAxMzksIDMxLCA0LCAyMTIsIDIxOSwgMzEsIDQsIDIxMCwgMTcwLCAzMSwgNCwgMjExLCAyMTEsIAorICAgIDMxLCA0LCAyMTIsIDIxNSwgMzEsIDQsIDIxMiwgMTIwLCAzMSwgNCwgMjEyLCAxMzEsIDMxLCA0LCAxMjQsIDMxLCA0LCAKKyAgICAyMTAsIDEzMCwgMzEsIDQsIDI0OSwgMSwgMzEsIDQsIDI0NywgNDAsIDMxLCA0LCAyNDcsIDI1MSwgMzEsIDQsIDI0OSwgMCwgCisgICAgMzEsIDQsIDI0OCwgMTQwLCAzMSwgNCwgMjQ4LCAxNDgsIDMxLCA0LCAyNDcsIDE3NCwgMzEsIDQsIDI0NywgNywgMzEsIDQsIAorICAgIDIwNiwgMTgxLCAzMSwgNCwgMjA2LCAxNTEsIDMxLCA0LCAyMDYsIDE2OSwgMzEsIDQsIDIwNiwgMTgwLCAzMSwgNCwgMjA2LCAKKyAgICAxNzQsIDMxLCA0LCAyMDYsIDE3NSwgMzEsIDQsIDIwNiwgMTU5LCAzMSwgNCwgMjA2LCAxNTgsIDMxLCA0LCAyMDYsIDE0NSwgCisgICAgMzEsIDQsIDIwNiwgMTQxLCAzMSwgNCwgMjA2LCAxNDQsIDMxLCA0LCAyMDYsIDE0MiwgMzEsIDQsIDIwNiwgMTQzLCAzMSwgCisgICAgNCwgMTk5LCAzMSwgNCwgMjIzLCAyMTcsIDMxLCA0LCAyMjQsIDIzMCwgMzEsIDQsIDIyNSwgMjMyLCAzMSwgNCwgMjI1LCAKKyAgICAxMDYsIDMxLCA0LCAyMjUsIDExMCwgMzEsIDQsIDIyNCwgNjcsIDMxLCA0LCAyMjMsIDE1MywgMzEsIDQsIDIyMywgMTQ0LCAKKyAgICAzMSwgNCwgMjIzLCAxMDMsIDMxLCA0LCAyMjMsIDEyNSwgMzEsIDQsIDIyMywgMTQzLCAzMSwgNCwgMjIzLCAxMzMsIDMxLCAKKyAgICA0LCAyMjMsIDEzNCwgMzEsIDQsIDIyMywgMTEwLCAzMSwgNCwgMjIzLCA5MywgMzEsIDQsIDI0MCwgMjUsIDYyLCAzMSwgNCwgCisgICAgMjQwLCAyNSwgNzEsIDMxLCA0LCAyNDAsIDI1LCA3NCwgMzEsIDQsIDI0MCwgMjUsIDI1MywgMTY0LCAzMSwgNCwgMjQwLCAKKyAgICAyNSwgMjQzLCAxMDQsIDMxLCA0LCAyNDAsIDI1LCA3NSwgMzEsIDQsIDI0MCwgMjUsIDc2LCAzMSwgNCwgMjQwLCAyNSwgCisgICAgMjA3LCA5NiwgMzEsIDQsIDE3MiwgMzEsIDQsIDIzMCwgMjM2LCAzMSwgNCwgMjMxLCAxMjMsIDMxLCA0LCAyMzIsIDYzLCAKKyAgICAzMSwgNCwgMjMxLCAyMjEsIDMxLCA0LCAyMzEsIDIyNCwgMzEsIDQsIDIzMSwgNTMsIDMxLCA0LCAyMzEsIDUyLCAzMSwgNCwgCisgICAgMjMwLCAxOTUsIDMxLCA0LCAyMzAsIDE4OCwgMzEsIDQsIDIzMCwgMTk0LCAzMSwgNCwgMjMwLCAxODksIDMxLCA0LCAyMzAsIAorICAgIDE5MCwgMzEsIDQsIDIzMCwgMTgxLCAzMSwgNCwgMjMwLCAxNzUsIDMxLCA0LCAyMzAsIDE3NywgMzEsIDQsIDIzMCwgMTgwLCAKKyAgICAzMSwgNCwgMjMwLCAxNzgsIDMxLCA0LCAyMzAsIDE3OSwgMzEsIDQsIDIzMCwgMTc2LCAzMSwgNCwgMjMwLCAxNzQsIDMxLCAKKyAgICA0LCAyMzAsIDE3MCwgMzEsIDQsIDIzMCwgMTczLCAzMSwgNCwgMjMwLCAxNzEsIDMxLCA0LCAyMzAsIDE3MiwgMzEsIDQsIAorICAgIDIwNywgOTYsIDMxLCA0LCAyMDYsIDIxNiwgMzEsIDQsIDIwNywgMjAsIDMxLCA0LCAyMDcsIDk1LCAzMSwgNCwgMjA3LCA0NSwgCisgICAgMzEsIDQsIDIwNywgNTEsIDMxLCA0LCAyMDYsIDI1MCwgMzEsIDQsIDIwNiwgMjQ5LCAzMSwgNCwgMjIxLCA4NCwgNjIsIDMxLCAKKyAgICA0LCAyMjEsIDg0LCA3MSwgMzEsIDQsIDIyMSwgODQsIDc0LCAzMSwgNCwgMjIxLCA4NCwgMjUzLCAxNjQsIDMxLCA0LCAyMjEsIAorICAgIDg0LCAyNDMsIDEwNCwgMzEsIDQsIDIyMSwgODQsIDc1LCAzMSwgNCwgMjIxLCA4NCwgNzYsIDMxLCA0LCAyMDUsIDExNiwgCisgICAgMzEsIDQsIDIwNSwgOSwgMzEsIDQsIDIwNSwgNDAsIDMxLCA0LCAyMDUsIDExNSwgMzEsIDQsIDIwNSwgOTEsIDMxLCA0LCAKKyAgICAyMDUsIDkzLCAzMSwgNCwgMjA1LCAxOSwgMzEsIDQsIDIwNCwgMjUyLCAzMSwgNCwgMjA1LCA4MSwgMzEsIDQsIDIwNSwgNTgsIAorICAgIDMxLCA0LCAyMDUsIDY3LCAzMSwgNCwgMjA1LCA4MCwgMzEsIDQsIDIwNSwgNzEsIDMxLCA0LCAyMDUsIDcyLCAzMSwgNCwgCisgICAgMjA1LCA2NCwgMzEsIDQsIDIwNSwgNDksIDMxLCA0LCAxOTAsIDMxLCA0LCAyMDUsIDIxMywgMzEsIDQsIDIwNiwgMTEsIDMxLCAKKyAgICA0LCAyMDYsIDEwOSwgMzEsIDQsIDIwNiwgNDksIDMxLCA0LCAyMDYsIDUyLCAzMSwgNCwgMjA1LCAyNDcsIDMxLCA0LCAyMDUsIAorICAgIDIzOCwgMzEsIDQsIDI0NiwgMTQ1LCAzMSwgNCwgMjQzLCAyMzcsIDMxLCA0LCAyNDUsIDE2OCwgMzEsIDQsIDI0NiwgMTQ0LCAKKyAgICAzMSwgNCwgMjQ1LCAyNTEsIDMxLCA0LCAyNDYsIDksIDMxLCA0LCAyNDUsIDUxLCAzMSwgNCwgMjQzLCAyMDYsIDMxLCA0LCAKKyAgICAyNDYsIDU0LCAzMSwgNCwgMjQ2LCAxOSwgMzEsIDQsIDI0NiwgMzEsIDMxLCA0LCAyNDYsIDUzLCAzMSwgNCwgMjQ2LCA0MSwgCisgICAgMzEsIDQsIDI0NiwgNDIsIDMxLCA0LCAyNDYsIDI0LCAzMSwgNCwgMjQ2LCAxMCwgMzEsIDQsIDIzMiwgMjAwLCAzMSwgNCwgCisgICAgMjMyLCAxMDQsIDMxLCA0LCAyMzIsIDE2MiwgMzEsIDQsIDIzMiwgMTk5LCAzMSwgNCwgMjMyLCAxODAsIDMxLCA0LCAyMzIsIAorICAgIDE4MiwgMzEsIDQsIDIzMiwgMTIyLCAzMSwgNCwgMjMyLCA4NCwgMzEsIDQsIDI0MCwgMjQ0LCAzMSwgNCwgMjM5LCAyMTMsIAorICAgIDMxLCA0LCAyNDAsIDYxLCAzMSwgNCwgMjQwLCAyNDEsIDMxLCA0LCAyNDAsIDE2MiwgMzEsIDQsIDI0MCwgMTcwLCAzMSwgNCwgCisgICAgMjQwLCAxOSwgMzEsIDQsIDI0MCwgMTgsIDMxLCA0LCAyMzksIDE3NCwgMzEsIDQsIDIzOSwgMTcwLCAzMSwgNCwgMjM5LCAKKyAgICAxNzMsIDMxLCA0LCAyMzksIDE3MSwgMzEsIDQsIDIzOSwgMTcyLCAzMSwgNCwgMjQwLCAxMzUsIDMxLCA0LCAyNDAsIDExNSwgCisgICAgMzEsIDQsIDI0MCwgMTI1LCAzMSwgNCwgMjQwLCAxMzQsIDMxLCA0LCAyNDAsIDEyOSwgMzEsIDQsIDI0MCwgMTMwLCAzMSwgCisgICAgNCwgMjQwLCAxMTksIDMxLCA0LCAyNDAsIDEwNCwgMzEsIDQsIDIxMiwgNTYsIDMxLCA0LCAyMTEsIDIzMCwgMzEsIDQsIAorICAgIDIxMiwgMTksIDMxLCA0LCAyMTIsIDU1LCAzMSwgNCwgMjEyLCAzOSwgMzEsIDQsIDIxMiwgNDEsIDMxLCA0LCAyMTEsIDI1MywgCisgICAgMzEsIDQsIDIxMSwgMjIyLCAzMSwgNCwgMjQ4LCAxMTAsIDMxLCA0LCAyNDgsIDE0LCAzMSwgNCwgMjQ4LCA1OCwgMzEsIDQsIAorICAgIDI0OCwgMTA5LCAzMSwgNCwgMjQ4LCA3OCwgMzEsIDQsIDI0OCwgODIsIDMxLCA0LCAyNDgsIDMyLCAzMSwgNCwgMjQ4LCAzLCAKKyAgICAzMSwgNCwgMjIxLCA5MywgMzEsIDQsIDIyMSwgNTksIDMxLCA0LCAyMjEsIDc4LCAzMSwgNCwgMjIxLCA5MiwgMzEsIDQsIAorICAgIDIyMSwgODAsIDMxLCA0LCAyMjEsIDgxLCAzMSwgNCwgMjIxLCA2NiwgMzEsIDQsIDIyMSwgNTUsIDMxLCA0LCAyMTAsIDI0MywgCisgICAgMzEsIDQsIDIxMCwgMjE2LCAzMSwgNCwgMjEwLCAyMjIsIDMxLCA0LCAyMTAsIDI0MiwgMzEsIDQsIDIxMCwgMjM2LCAzMSwgCisgICAgNCwgMjEwLCAyMzcsIDMxLCA0LCAyMTAsIDIyMCwgMzEsIDQsIDIxMCwgMjE0LCAzMSwgNCwgMjEwLCA4NSwgMzEsIDQsIAorICAgIDIxMCwgNzcsIDMxLCA0LCAyMTAsIDgxLCAzMSwgNCwgMjEwLCA4NCwgMzEsIDQsIDIxMCwgODIsIDMxLCA0LCAyMTAsIDgzLCAKKyAgICAzMSwgNCwgMjEwLCA3OSwgMzEsIDQsIDIxMCwgNzgsIDMxLCA0LCAyNDIsIDczLCAzMSwgNCwgMjQxLCA4OCwgMzEsIDQsIAorICAgIDI0MSwgMjUwLCAzMSwgNCwgMjQyLCA3MiwgMzEsIDQsIDI0MiwgMjEsIDMxLCA0LCAyNDIsIDI4LCAzMSwgNCwgMjQxLCAKKyAgICAxNjIsIDMxLCA0LCAyNDEsIDY2LCAzMSwgNCwgMTc5LCAzMSwgNCwgMjIwLCA4MiwgMzEsIDQsIDIyMSwgNTMsIDMxLCA0LCAKKyAgICAyMjIsIDUxLCAzMSwgNCwgMjIxLCAxNjQsIDMxLCA0LCAyMjEsIDE3NCwgMzEsIDQsIDIyMCwgMjExLCAzMSwgNCwgMjIwLCAKKyAgICA0NSwgMzEsIDQsIDIxOCwgOCwgMzEsIDQsIDIyNiwgMzksIDMxLCA0LCAyNDEsIDYwLCAzMSwgMzYsIDI0MCwgMTU5LCAyMywgCisgICAgMjIsIDIzMCwgMjAsIDgzLCAzMSwgMzYsIDIyLCAyMzAsIDIwLCA4MywgMzEsIDM2LCAyNDAsIDE1OSwgODMsIDMxLCAyMTcsIAorICAgIDc3LCA4MywgMzEsIDIwNiwgMjMxLCAzMSwgMjQxLCA4MiwgMjEzLCAyNTEsIDMxLCAyNDcsIDE1NSwgMzEsIDIxNiwgNTIsIAorICAgIDMxLCAyNDcsIDE2MiwgMzEsIDIyMCwgMTM2LCAyNDcsIDE2MiwgMzEsIDIxOSwgMTk2LCA4MywgMzEsIDIyMSwgMjI5LCAKKyAgICAyMTYsIDM5LCAzMSwgMTgsIDEwMiwgMzEsIDE4LCAxMDUsIDMxLCAxOCwgMTQyLCAzMSwgMTgsIDEzOSwgMzEsIDE4LCAxNjgsIAorICAgIDMxLCAxOCwgMTg0LCAzMSwgMTgsIDE5NSwgMzEsIDE4LCAxOTMsIDMxLCAxOCwgMjAwLCAzMSwgNDMsIDIxMiwgOTgsIDMxLCAKKyAgICA0MywgMjEwLCAxMjMsIDMxLCA0MywgMjEyLCAzLCAzMSwgNDMsIDI0MSwgMTMwLCAzMSwgNDMsIDI0MSwgMjQzLCAzMSwgNDMsIAorICAgIDIxNCwgMjUyLCAzMSwgNDMsIDIxNiwgMTcsIDMxLCA0MywgMjQzLCA3OSwgMzEsIDQzLCAyMjQsIDE5MCwgMzEsIDQzLCAKKyAgICAyMzgsIDI5LCAzMSwgNDMsIDIxMiwgOTksIDIxMSwgMjQyLCAzMSwgNCwgMjE3LCA4MiwgMjI2LCA1MCwgMzEsIDQsIDIyNiwgCisgICAgNDYsIDMxLCA0LCAyMjYsIDQ3LCAzMSwgNCwgMjI2LCA0OCwgMzEsIDQsIDIxNywgODIsIDI0OSwgNTEsIDMxLCA0LCAyNDksIAorICAgIDQ4LCAzMSwgNCwgMjQ5LCA0OSwgMzEsIDQsIDI0OSwgNTAsIDMxLCA0LCAyMTcsIDgyLCAyNDEsIDY2LCAzMSwgNCwgMjQxLCAKKyAgICA2MiwgMzEsIDQsIDI0MSwgNjMsIDMxLCA0LCAyNDEsIDY0LCAzMSwgNCwgMjE3LCA4MiwgMjIwLCA0NSwgMzEsIDQsIDIyMCwgCisgICAgNDEsIDMxLCA0LCAyMjAsIDQyLCAzMSwgNCwgMjIwLCA0MywgMzEsIDIxMSwgMTE5LCAxNDEsIDIwNSwgMjUwLCAzMSwgMjExLCAKKyAgICAxMTksIDE0MSwgMjQ1LCAyMTMsIDMxLCAyMTEsIDExOSwgMTQxLCAyMTgsIDE1MywgMzEsIDIxMSwgMTE5LCAxNDEsIDIxNSwgCisgICAgMTQ0LCAyMTgsIDE1MywgMzEsIDIxMSwgMTE5LCAxNDEsIDI0NSwgMTQyLCAzMSwgMjExLCAxMTksIDE0MSwgMjMxLCAyMDIsIAorICAgIDMxLCAyMTEsIDExOSwgMTQxLCAyNDgsIDQwLCAzMSwgMjExLCAxMTksIDE0MSwgMjM5LCA4LCAzMSwgMjExLCAxMTksIDE0MSwgCisgICAgMjQ1LCAyMTIsIDMxLCAyMTEsIDExOSwgMTQxLCAyMzAsIDIwOCwgMTkyLCAxLCA2MiwgMTkyLCAxLCA3NSwgMTkyLCAxLCAKKyAgICA3NCwgMTkyLCAxLCA3NiwgMTkyLCAxLCA3MSwgMTkyLCAxLCAyMDksIDE0OCwgMTkyLCAxLCAyNDAsIDI0NCwgMTkyLCAxLCAKKyAgICAxNzIsIDE5MiwgMSwgMjQwLCAxNzAsIDE5MiwgMSwgMjQwLCA2MSwgMTkyLCAxLCAyNDAsIDE5LCAxOTIsIDEsIDIzOSwgCisgICAgMjEzLCAxOTIsIDEsIDIzOSwgMTc2LCAxOTIsIDEsIDE1NSwgMTkyLCAxLCAyMzksIDcxLCAxOTIsIDEsIDIzOSwgMTEsIAorICAgIDE5MiwgMSwgMjM4LCAxNDksIDE5MiwgMSwgMjM4LCA0MiwgMTkyLCAxLCAyMzgsIDE3LCAxOTIsIDEsIDIzMCwgMTQxLCAKKyAgICAxOTIsIDEsIDIzMCwgNTgsIDE5MiwgMSwgMjI5LCAyMzUsIDE5MiwgMSwgMjI5LCAxNDQsIDE5MiwgMSwgMjI5LCA4MSwgCisgICAgMTkyLCAxLCAyMjksIDUxLCAxOTIsIDEsIDE4NSwgMTkyLCAxLCAyMjcsIDExOSwgMTkyLCAxLCAyMjYsIDI1NCwgMTkyLCAxLCAKKyAgICAyMjYsIDE4MSwgMTkyLCAxLCAyMjYsIDExNCwgMTkyLCAxLCAxOTksIDE5MiwgMSwgMjM4LCAxNzMsIDE5MiwgMSwgMjI1LCAKKyAgICAyMTksIDE5MiwgMSwgMjI1LCAxMTAsIDE5MiwgMSwgMjI0LCAyMzAsIDE5MiwgMSwgMjI0LCA2NywgMTkyLCAxLCAyMjMsIAorICAgIDIxNywgMTkyLCAxLCAyMjMsIDE1NSwgMTkyLCAxLCAyMTksIDIxMywgMTkyLCAxLCAyMTksIDE5OSwgMTkyLCAxLCAyMTksIAorICAgIDE5MiwgMTkyLCAxLCAyMTksIDE4MywgMTkyLCAxLCAyMTksIDE3MiwgMTkyLCAxLCAyMTksIDE3MCwgMTkyLCAxLCAyMTcsIAorICAgIDE5OSwgMTkyLCAxLCAxODIsIDE5MiwgMSwgMjE3LCA4NiwgMTkyLCAxLCAyMTUsIDgwLCAxOTIsIDEsIDIxNCwgMTkzLCAKKyAgICAxOTIsIDEsIDIxMywgMjAzLCAxOTIsIDEsIDIxMywgMTE3LCAxOTIsIDEsIDI0NiwgMTQ1LCAxOTIsIDEsIDIxMiwgMjE5LCAKKyAgICAxOTIsIDEsIDI0NiwgOSwgMTkyLCAxLCAyMTIsIDEzMSwgMTkyLCAxLCAyNDUsIDE2OCwgMTkyLCAxLCAyMTEsIDIxMSwgCisgICAgMTkyLCAxLCAyNDUsIDUxLCAxOTIsIDEsIDI0MywgMjM3LCAxOTIsIDEsIDI0MywgMjA5LCAxOTIsIDEsIDI0NSwgNjIsIAorICAgIDE5MiwgMSwgMjExLCAxNDcsIDE5MiwgMSwgMjExLCAxNDYsIDE5MiwgMSwgMjExLCAxMzUsIDE5MiwgMSwgMjExLCAxMzQsIAorICAgIDE5MiwgMSwgMjExLCAxMzMsIDE5MiwgMSwgMjExLCAxMzIsIDE5MiwgMSwgMjEwLCAyNDMsIDE5MiwgMSwgMjEwLCAyMzcsIAorICAgIDE5MiwgMSwgMjEwLCAyMjIsIDE5MiwgMSwgMjEwLCAyMjAsIDE5MiwgMSwgMjEwLCAyMTYsIDE5MiwgMSwgMjEwLCAyMTUsIAorICAgIDE5MiwgMSwgMjA3LCA5NiwgMTkyLCAxLCAyMDcsIDUxLCAxOTIsIDEsIDIwNywgMjAsIDE5MiwgMSwgMjA2LCAyNTAsIDE5MiwgCisgICAgMSwgMjA2LCAyMTYsIDE5MiwgMSwgMjA2LCAyMDMsIDE5MiwgMSwgMTkwLCAxOTIsIDEsIDIwNiwgNTIsIDE5MiwgMSwgMjA2LCAKKyAgICAxMSwgMTkyLCAxLCAyMDUsIDI0NywgMTkyLCAxLCAyMDUsIDIxMywgMTkyLCAxLCAyMDUsIDE3NywgMTksIDIwLCAyMzcsIAorICAgIDIzOSwgMTksIDIwLCA3NSwgMTksIDIwLCAyNTMsIDEyOCwgMTksIDIwLCA3NCwgMTksIDIwLCAyMzMsIDEwMiwgMTksIDIwLCAKKyAgICA3NiwgMTksIDIwLCAyMjIsIDE1MiwgMTksIDIwLCAyMDYsIDEyMiwgMjIyLCAxNTIsIDE5LCAyMCwgODUsIDI0MywgMTA0LCAKKyAgICAxOSwgMjAsIDg1LCA3NCwgMTksIDIwLCA2MiwgMTksIDIwLCAyNTMsIDE2NCwgMTksIDIwLCAyMDcsIDUxLCAxOSwgMjAsIAorICAgIDE4MCwgMjA3LCA1MSwgMTksIDIwLCAyMDcsIDIwLCAxOSwgMjAsIDE4MCwgMjA3LCAyMCwgMTksIDIwLCAyMDcsIDEyLCAxOSwgCisgICAgMjAsIDE4MCwgMjA3LCAxMiwgMTksIDIwLCAyMDYsIDI1MCwgMTksIDIwLCAxODAsIDIwNiwgMjUwLCAxOSwgMjAsIDIwNiwgCisgICAgMjM4LCAxOSwgMjAsIDE4MCwgMjA2LCAyMzgsIDE5LCAyMCwgMjI1LCAxOTQsIDIwNiwgMjM4LCAxOSwgMjAsIDIwNywgOTYsIAorICAgIDE5LCAyMCwgMTgwLCAyMDcsIDk2LCAxOSwgMjAsIDIwNywgOTUsIDE5LCAyMCwgMTgwLCAyMDcsIDk1LCAxOSwgMjAsIDIyNSwgCisgICAgMTk0LCAyMDcsIDk1LCAxOSwgMjAsIDI1MiwgMjA1LCAxOSwgMjAsIDIwNiwgMTIyLCAyMDcsIDEyOSwgMTksIDIwLCAyNDAsIAorICAgIDI1LCAyMTMsIDI1MSwgMTksIDIwLCA0MiwgMTUzLCAxOSwgMjAsIDQyLCAyMzksIDIzNiwgMTksIDIwLCA0MiwgMjQ5LCAKKyAgICAxNTQsIDE2MCwgMjE4LCAxNDgsIDE5LCAyMCwgNDIsIDIxMSwgMTAyLCAxNjAsIDIxOCwgMTQ4LCAxOSwgMjAsIDQyLCA0OCwgCisgICAgMTYwLCAyMTgsIDE0OCwgMTksIDIwLCA0MiwgMjE4LCAxNDgsIDE5LCAyMCwgNDIsIDUwLCAxNTMsIDE5LCAyMCwgNDIsIDUwLCAKKyAgICAyMTUsIDE0NCwgNzksIDIxMywgMjEyLCAxOSwgMjAsIDQyLCAyMjYsIDI0NywgMjQ1LCAyMywgMTksIDIwLCA0MiwgMjE1LCAKKyAgICAxNDQsIDE5NCwgOTEsIDE5LCAyMCwgNDIsIDIyMCwgMjE4LCAxOSwgMjAsIDQyLCAxMzAsIDIxMiwgMjAxLCAxOSwgMjAsIAorICAgIDI0MywgNDEsIDE5LCAyMCwgMjMzLCA2OCwgMTksIDIwLCAyMjIsIDE2NSwgMTksIDIwLCAyNTIsIDEyMiwgMTksIDIwLCAKKyAgICAyMjEsIDE3NCwgMTksIDIwLCAyMjIsIDQ5LCAxOSwgMjAsIDIyMSwgNTMsIDE5LCAyMCwgMjIxLCAxNSwgMTksIDIwLCAyMjAsIAorICAgIDIxMSwgMTksIDIwLCAyMjAsIDE4NywgMTksIDIwLCAyMDYsIDEyMiwgMjIwLCAxODcsIDE5LCAyMCwgODUsIDIzOSwgNTMsIAorICAgIDE5LCAyMCwgODUsIDIzOSwgMTEsIDE5LCAyMCwgMTc5LCAxOSwgMjAsIDIyMiwgNTEsIDE5LCAyMCwgMjIwLCA0MywgMTksIAorICAgIDIwLCAxODAsIDIyMCwgNDMsIDE5LCAyMCwgMjIwLCA0MSwgMTksIDIwLCAxODAsIDIyMCwgNDEsIDE5LCAyMCwgMjIwLCA0MCwgCisgICAgMTksIDIwLCAxODAsIDIyMCwgNDAsIDE5LCAyMCwgMjIwLCAzOCwgMTksIDIwLCAxODAsIDIyMCwgMzgsIDE5LCAyMCwgMjIwLCAKKyAgICAzNywgMTksIDIwLCAxODAsIDIyMCwgMzcsIDE5LCAyMCwgMjIwLCA0NSwgMTksIDIwLCAxODAsIDIyMCwgNDUsIDE5LCAyMCwgCisgICAgMjIwLCA0NCwgMTksIDIwLCAxODAsIDIyMCwgNDQsIDE5LCAyMCwgMjA2LCAxMjIsIDIyMCwgNDQsIDE5LCAyMCwgMjIyLCAKKyAgICA2NywgMTksIDIwLCAxODAsIDIyMiwgNjcsIDE5LCAyMCwgODUsIDIzOSwgMTU1LCAxOSwgMjAsIDIxMiwgMTMxLCAxOSwgMjAsIAorICAgIDIxMiwgMjEzLCAxOSwgMjAsIDIxMSwgMjExLCAxOSwgMjAsIDIxMSwgMTk1LCAxOSwgMjAsIDEyNCwgMTksIDIwLCAyMTEsIAorICAgIDEwNSwgMTksIDIwLCAyMDYsIDEyMiwgMjExLCAxMDUsIDE5LCAyMCwgODUsIDI0NSwgMjUxLCAxOSwgMjAsIDg1LCAyNDUsIAorICAgIDE2OCwgMTksIDIwLCAyMTIsIDIxOSwgMTksIDIwLCAyMTIsIDIxNSwgMTksIDIwLCAyMTAsIDEyOCwgMTksIDIwLCAxODAsIAorICAgIDIxMCwgMTI4LCAxOSwgMjAsIDIxMCwgMTEyLCAxOSwgMjAsIDE4MCwgMjEwLCAxMTIsIDE5LCAyMCwgMjEwLCAxMTEsIDE5LCAKKyAgICAyMCwgMTgwLCAyMTAsIDExMSwgMTksIDIwLCAxMDUsIDE5LCAyMCwgMTgwLCAxMDUsIDE5LCAyMCwgMjEwLCAxMDQsIDE5LCAKKyAgICAyMCwgMTgwLCAyMTAsIDEwNCwgMTksIDIwLCAyMTAsIDEzMCwgMTksIDIwLCAxODAsIDIxMCwgMTMwLCAxOSwgMjAsIDIxMCwgCisgICAgMTI5LCAxOSwgMjAsIDE4MCwgMjEwLCAxMjksIDE5LCAyMCwgMjI1LCAxOTQsIDIxMCwgMTI5LCAxOSwgMjAsIDIxMywgMTAsIAorICAgIDE5LCAyMCwgMjEwLCAyMDMsIDE5LCAyMCwgMjEwLCAxODcsIDE5LCAyMCwgMjEwLCAxODUsIDE5LCAyMCwgMjEwLCAyMDgsIAorICAgIDE5LCAyMCwgMjMxLCAyMjQsIDE5LCAyMCwgMjMyLCA1OSwgMTksIDIwLCAyMzEsIDEyMywgMTksIDIwLCAyMzEsIDExMSwgCisgICAgMTksIDIwLCAyMzEsIDUzLCAxOSwgMjAsIDIzMSwgMzMsIDE5LCAyMCwgMjA2LCAxMjIsIDIzMSwgMzMsIDE5LCAyMCwgMTcyLCAKKyAgICAxOSwgMjAsIDIzMiwgNjMsIDE5LCAyMCwgMjMwLCAxOTAsIDE5LCAyMCwgMTgwLCAyMzAsIDE5MCwgMTksIDIwLCAyMzAsIAorICAgIDE4OCwgMTksIDIwLCAxODAsIDIzMCwgMTg4LCAxOSwgMjAsIDIzMCwgMTg3LCAxOSwgMjAsIDE4MCwgMjMwLCAxODcsIDE5LCAKKyAgICAyMCwgMjMwLCAxODUsIDE5LCAyMCwgMTgwLCAyMzAsIDE4NSwgMTksIDIwLCAyMzAsIDE4NCwgMTksIDIwLCAxODAsIDIzMCwgCisgICAgMTg0LCAxOSwgMjAsIDIzMCwgMTk1LCAxOSwgMjAsIDE4MCwgMjMwLCAxOTUsIDE5LCAyMCwgMjMwLCAxOTQsIDE5LCAyMCwgCisgICAgMTgwLCAyMzAsIDE5NCwgMTksIDIwLCAyMjUsIDE5NCwgMjMwLCAxOTQsIDE5LCAyMCwgMjMyLCA3NiwgMTksIDIwLCAyMzAsIAorICAgIDE5NiwgMTksIDIwLCAyMTQsIDE2MiwgMjMxLCAyMTQsIDE5LCAyMCwgMjE0LCAxNjIsIDIzMSwgMTEyLCAxOSwgMjAsIDIxNCwgCisgICAgMTYyLCAyMzEsIDQ3LCAxOSwgMjAsIDIxNCwgMTYyLCAyMzIsIDQzLCAxOSwgMjAsIDI0OCwgMTQ4LCAxOSwgMjAsIDI0OCwgCisgICAgMjU1LCAxOSwgMjAsIDI0NywgMjUxLCAxOSwgMjAsIDI0NywgMjQxLCAxOSwgMjAsIDI0NywgMTc0LCAxOSwgMjAsIDI0NywgCisgICAgMTA1LCAxOSwgMjAsIDIwNiwgMTIyLCAyNDcsIDEwNSwgMTksIDIwLCAyNDksIDEsIDE5LCAyMCwgMjQ5LCAwLCAxOSwgMjAsIAorICAgIDI0NywgNSwgMTksIDIwLCAxODAsIDI0NywgNSwgMTksIDIwLCAyNDcsIDMsIDE5LCAyMCwgMTgwLCAyNDcsIDMsIDE5LCAyMCwgCisgICAgMjQ3LCAyLCAxOSwgMjAsIDE4MCwgMjQ3LCAyLCAxOSwgMjAsIDI0NywgMSwgMTksIDIwLCAxODAsIDI0NywgMSwgMTksIDIwLCAKKyAgICAyNDcsIDAsIDE5LCAyMCwgMTgwLCAyNDcsIDAsIDE5LCAyMCwgMjQ3LCA3LCAxOSwgMjAsIDE4MCwgMjQ3LCA3LCAxOSwgMjAsIAorICAgIDI0NywgNiwgMTksIDIwLCAxODAsIDI0NywgNiwgMTksIDIwLCAyMjUsIDE5NCwgMjQ3LCA2LCAxOSwgMjAsIDI0OSwgMzQsIAorICAgIDE5LCAyMCwgMjE3LCAxMTQsIDIxMiwgNTgsIDE5LCAyMCwgMjI3LCAxMTksIDE5LCAyMCwgMjI4LCAxNywgMTksIDIwLCAKKyAgICAyMjYsIDI1NCwgMTksIDIwLCAyMjYsIDIyNCwgMTksIDIwLCAyMjYsIDE4MSwgMTksIDIwLCAyMjYsIDE1MCwgMTksIDIwLCAKKyAgICAyMDYsIDEyMiwgMjI2LCAxNTAsIDE5LCAyMCwgMTg1LCAxOSwgMjAsIDIyOCwgMTgsIDE5LCAyMCwgMjI2LCA0OCwgMTksIAorICAgIDIwLCAxODAsIDIyNiwgNDgsIDE5LCAyMCwgMjI2LCA0NiwgMTksIDIwLCAxODAsIDIyNiwgNDYsIDE5LCAyMCwgMjI2LCA0NSwgCisgICAgMTksIDIwLCAxODAsIDIyNiwgNDUsIDE5LCAyMCwgMjI2LCA0NCwgMTksIDIwLCAxODAsIDIyNiwgNDQsIDE5LCAyMCwgMjI2LCAKKyAgICA0MywgMTksIDIwLCAxODAsIDIyNiwgNDMsIDE5LCAyMCwgMjI2LCA1MCwgMTksIDIwLCAxODAsIDIyNiwgNTAsIDE5LCAyMCwgCisgICAgMjI2LCA0OSwgMTksIDIwLCAxODAsIDIyNiwgNDksIDE5LCAyMCwgMjI1LCAxOTQsIDIyNiwgNDksIDE5LCAyMCwgMjI5LCAKKyAgICAyOCwgMTksIDIwLCAxODAsIDIyOSwgMjgsIDE5LCAyMCwgMjI3LCAyLCAxOSwgMjAsIDI1MSwgMTk4LCAyMjksIDI4LCAxOSwgCisgICAgMjAsIDIxNywgMTE0LCAyMjksIDI4LCAxOSwgMjAsIDIyNSwgMTEwLCAxOSwgMjAsIDIyNSwgMjMxLCAxOSwgMjAsIDIyNCwgCisgICAgMjMwLCAxOSwgMjAsIDIyNCwgMjA1LCAxOSwgMjAsIDIyNCwgNjcsIDE5LCAyMCwgMjI0LCA1NiwgMTksIDIwLCAyMDYsIAorICAgIDEyMiwgMjI0LCA1NiwgMTksIDIwLCAxOTksIDE5LCAyMCwgMjI1LCAyMzIsIDE5LCAyMCwgMjIzLCAxNTEsIDE5LCAyMCwgCisgICAgMTgwLCAyMjMsIDE1MSwgMTksIDIwLCAyMjMsIDE1MywgMTksIDIwLCAxODAsIDIyMywgMTUzLCAxOSwgMjAsIDIyMywgMTUyLCAKKyAgICAxOSwgMjAsIDE4MCwgMjIzLCAxNTIsIDE5LCAyMCwgMjI1LCAxOTQsIDIyMywgMTUyLCAxOSwgMjAsIDIyNiwgMzMsIDE5LCAKKyAgICAyMCwgODUsIDIyNSwgNzksIDE5LCAyMCwgMjI0LCAyMzUsIDE5LCAyMCwgMjMwLCA1OCwgMTksIDIwLCAyMzAsIDEzOSwgMTksIAorICAgIDIwLCAyMjksIDIzNSwgMTksIDIwLCAyMjksIDIxOSwgMTksIDIwLCAyMjksIDE0NCwgMTksIDIwLCAyMjksIDExNSwgMTksIAorICAgIDIwLCAyMDYsIDEyMiwgMjI5LCAxMTUsIDE5LCAyMCwgMjMwLCAxNDEsIDE5LCAyMCwgMjMwLCAxNDAsIDE5LCAyMCwgMjI5LCAKKyAgICA0OCwgMTksIDIwLCAxODAsIDIyOSwgNDgsIDE5LCAyMCwgMjI5LCA0NywgMTksIDIwLCAxODAsIDIyOSwgNDcsIDE5LCAyMCwgCisgICAgMjI5LCA0NiwgMTksIDIwLCAxODAsIDIyOSwgNDYsIDE5LCAyMCwgMjI5LCA0NSwgMTksIDIwLCAxODAsIDIyOSwgNDUsIDE5LCAKKyAgICAyMCwgMjI5LCA0NCwgMTksIDIwLCAxODAsIDIyOSwgNDQsIDE5LCAyMCwgMjI5LCA1MCwgMTksIDIwLCAxODAsIDIyOSwgNTAsIAorICAgIDE5LCAyMCwgMjI5LCA0OSwgMTksIDIwLCAxODAsIDIyOSwgNDksIDE5LCAyMCwgMTQ5LCAxOSwgMjAsIDE4MCwgMTQ5LCAxOSwgCisgICAgMjAsIDE2OSwgMTQ5LCAxOSwgMjAsIDIxNywgODYsIDE5LCAyMCwgMjE3LCAxOTQsIDE5LCAyMCwgMjE1LCA4MCwgMTksIDIwLCAKKyAgICAyMTUsIDYxLCAxOSwgMjAsIDIxNCwgMTkzLCAxOSwgMjAsIDIxNCwgMTc0LCAxOSwgMjAsIDIwNiwgMTIyLCAyMTQsIDE3NCwgCisgICAgMTksIDIwLCAyMTcsIDE5OSwgMTksIDIwLCAyMTcsIDE5NiwgMTksIDIwLCAyMTMsIDEwOCwgMTksIDIwLCAxODAsIDIxMywgCisgICAgMTA4LCAxOSwgMjAsIDIxMywgMTAyLCAxOSwgMjAsIDE4MCwgMjEzLCAxMDIsIDE5LCAyMCwgMjEzLCAxMDEsIDE5LCAyMCwgCisgICAgMTgwLCAyMTMsIDEwMSwgMTksIDIwLCAyMTMsIDk3LCAxOSwgMjAsIDE4MCwgMjEzLCA5NywgMTksIDIwLCAyMTMsIDk2LCAKKyAgICAxOSwgMjAsIDE4MCwgMjEzLCA5NiwgMTksIDIwLCAyMTMsIDExMiwgMTksIDIwLCAxODAsIDIxMywgMTEyLCAxOSwgMjAsIAorICAgIDIxMywgMTExLCAxOSwgMjAsIDE4MCwgMjEzLCAxMTEsIDE5LCAyMCwgMjI1LCAxOTQsIDIxMywgMTExLCAxOSwgMjAsIDE4MiwgCisgICAgMTksIDIwLCAyNTEsIDE5OCwgMTgyLCAxOSwgMjAsIDIxMywgMTEzLCAxOSwgMjAsIDI0OSwgMTk5LCAxODIsIDE5LCAyMCwgCisgICAgMjI2LCAxNDMsIDIxNCwgMjQ4LCAxOSwgMjAsIDIyNSwgMTk0LCAyMTQsIDIzOSwgMTksIDIwLCAyMjUsIDE5NCwgMjE3LCAKKyAgICAyNTUsIDE5LCAyMCwgMjI1LCAxOTQsIDIxNCwgMTA5LCAxOSwgMjAsIDIyNSwgMTk0LCAyMTMsIDIwNiwgMTksIDIwLCAyMjUsIAorICAgIDE5NCwgMjE0LCAyMzgsIDE5LCAyMCwgMjI1LCAxOTQsIDIxNywgODksIDE5LCAyMCwgMjE1LCAyMTQsIDE5LCAyMCwgMjE1LCAKKyAgICAxODMsIDE5LCAyMCwgMjE1LCAxNzgsIDE5LCAyMCwgMjE1LCAxNTgsIDE5LCAyMCwgMjE1LCAxNTIsIDE5LCAyMCwgMjE2LCAKKyAgICAyLCAxOSwgMjAsIDIxNSwgMjU0LCAxOSwgMjAsIDIxNSwgOTUsIDE5LCAyMCwgMTgwLCAyMTUsIDk1LCAxOSwgMjAsIDIxNSwgCisgICAgOTQsIDE5LCAyMCwgMTgwLCAyMTUsIDk0LCAxOSwgMjAsIDIxNSwgOTMsIDE5LCAyMCwgMTgwLCAyMTUsIDkzLCAxOSwgMjAsIAorICAgIDIxNSwgOTIsIDE5LCAyMCwgMTgwLCAyMTUsIDkyLCAxOSwgMjAsIDIxNSwgOTEsIDE5LCAyMCwgMTgwLCAyMTUsIDkxLCAxOSwgCisgICAgMjAsIDIxNSwgOTgsIDE5LCAyMCwgMTgwLCAyMTUsIDk4LCAxOSwgMjAsIDIxNSwgOTcsIDE5LCAyMCwgMTgwLCAyMTUsIDk3LCAKKyAgICAxOSwgMjAsIDIxNiwgNCwgMTksIDIwLCAyMDYsIDUyLCAxOSwgMjAsIDIwNiwgMTA3LCAxOSwgMjAsIDIwNiwgMTEsIDE5LCAKKyAgICAyMCwgMjA2LCAyLCAxOSwgMjAsIDIwNSwgMjQ3LCAxOSwgMjAsIDIwNSwgMjMyLCAxOSwgMjAsIDIwNiwgMTIyLCAyMDUsIAorICAgIDIzMiwgMTksIDIwLCAxOTAsIDE5LCAyMCwgMjA2LCAxMDksIDE5LCAyMCwgMjA1LCAxNzQsIDE5LCAyMCwgMTgwLCAyMDUsIAorICAgIDE3NCwgMTksIDIwLCAyMDUsIDE3MywgMTksIDIwLCAxODAsIDIwNSwgMTczLCAxOSwgMjAsIDIwNSwgMTcyLCAxOSwgMjAsIAorICAgIDE4MCwgMjA1LCAxNzIsIDE5LCAyMCwgMjA1LCAxNzEsIDE5LCAyMCwgMTgwLCAyMDUsIDE3MSwgMTksIDIwLCAyMDUsIDE3MCwgCisgICAgMTksIDIwLCAxODAsIDIwNSwgMTcwLCAxOSwgMjAsIDIwNSwgMTc2LCAxOSwgMjAsIDE4MCwgMjA1LCAxNzYsIDE5LCAyMCwgCisgICAgMjA1LCAxNzUsIDE5LCAyMCwgMTgwLCAyMDUsIDE3NSwgMTksIDIwLCAyMjUsIDE5NCwgMjA1LCAxNzUsIDE5LCAyMCwgMjA2LCAKKyAgICAxMjMsIDE5LCAyMCwgMjQ5LCAyNDIsIDIwNiwgMTIzLCAxOSwgMjAsIDE4MCwgMjA2LCAxMjMsIDE5LCAyMCwgMjE3LCAxMTQsIAorICAgIDIwNiwgMTEsIDE5LCAyMCwgMjE5LCA1MSwgMTksIDIwLCAyMTksIDE0OSwgMjE5LCA1MSwgMTksIDIwLCAxODAsIDIzMCwgCisgICAgNTgsIDE5LCAyMCwgMjE5LCAxMDgsIDE5LCAyMCwgMjE4LCAyMDgsIDE5LCAyMCwgMjE4LCAxNTQsIDE5LCAyMCwgMjE4LCAKKyAgICAxMjQsIDE5LCAyMCwgMjE4LCAxMDcsIDE5LCAyMCwgMTgwLCAyMjksIDE0NCwgMTksIDIwLCAyMTksIDExMywgMTksIDIwLCAKKyAgICAyMTksIDEwOSwgMTksIDIwLCAxODAsIDIzMCwgMTQxLCAxOSwgMjAsIDIxOCwgMTcsIDE5LCAyMCwgMTgwLCAyMTgsIDE3LCAKKyAgICAxOSwgMjAsIDEzNywgMTksIDIwLCAxODAsIDEzNywgMTksIDIwLCAxNjksIDEzNywgMTksIDIwLCAyNDIsIDI4LCAxOSwgMjAsIAorICAgIDI0MiwgNzAsIDE5LCAyMCwgMjQxLCAyNTAsIDE5LCAyMCwgMjQxLCAyMzcsIDE5LCAyMCwgMjQxLCAxNjIsIDE5LCAyMCwgCisgICAgMjQxLCAxNTEsIDE5LCAyMCwgMjQyLCA3MywgMTksIDIwLCAyNDIsIDcyLCAxOSwgMjAsIDI0MSwgNjUsIDE5LCAyMCwgMTgwLCAKKyAgICAyNDEsIDY1LCAxOSwgMjAsIDI0MiwgMTM5LCAxOSwgMjAsIDIxMiwgNDEsIDE5LCAyMCwgMjI2LCAzMSwgMjEyLCA0MSwgMTksIAorICAgIDIwLCAyMTIsIDE5LCAxOSwgMjAsIDIyNiwgMzEsIDIxMiwgMTksIDE5LCAyMCwgMjEyLCAxMywgMTksIDIwLCAyMjYsIDMxLCAKKyAgICAyMTIsIDEzLCAxOSwgMjAsIDIxMSwgMjUzLCAxOSwgMjAsIDIxMSwgMjQ4LCAxOSwgMjAsIDIxMiwgNTYsIDE5LCAyMCwgCisgICAgMjEyLCA1NSwgMTksIDIwLCAyMTEsIDIyMSwgMTksIDIwLCAxODAsIDIxMSwgMjIxLCAxOSwgMjAsIDIxMiwgNTgsIDE5LCAKKyAgICAyMCwgMjEwLCAxOTQsIDE5LCAyMCwgMjEwLCAxOTIsIDE5LCAyMCwgMjEwLCAxOTEsIDE5LCAyMCwgMjEwLCAxOTYsIDE5LCAKKyAgICAyMCwgMjEwLCAxOTcsIDE5LCAyMCwgMjEwLCA5OCwgMTksIDIwLCAyMTAsIDk3LCAxOSwgMjAsIDIxMCwgOTYsIDE5LCAyMCwgCisgICAgMjEwLCAxMDAsIDE5LCAyMCwgMjIzLCAxNzIsIDIzOSwgNzEsIDE5LCAyMCwgMjIzLCAxNzIsIDIzOSwgMTEsIDE5LCAyMCwgCisgICAgMjIzLCAxNzIsIDIzOCwgMjQ3LCAxOSwgMjAsIDIyMywgMTcyLCAyMzgsIDE0OSwgMTksIDIwLCAyMjMsIDE3MiwgMjM4LCAKKyAgICAxMzEsIDE5LCAyMCwgMjIzLCAxNzIsIDE1NSwgMTksIDIwLCAyMjMsIDE3MiwgMjM5LCAxNDEsIDE5LCAyMCwgMjIzLCAxNzIsIAorICAgIDIzOSwgMTU1LCAxOSwgMjAsIDIyMywgMTcxLCAyMzksIDE1NSwgMTksIDIwLCAyMzgsIDIzOSwgMTksIDIwLCAyMjAsIDE1LCAKKyAgICAxOSwgMjAsIDIxOSwgMjM3LCAxOSwgMjAsIDIxOSwgMjMyLCAxOSwgMjAsIDIxOSwgMjI2LCAxOSwgMjAsIDIxOSwgMjIxLCAKKyAgICAxOSwgMjAsIDIyMCwgMTksIDE5LCAyMCwgMjIwLCAxOCwgMTksIDIwLCAyMjAsIDI3LCAxOSwgMjAsIDIxMSwgMTQzLCAxOSwgCisgICAgMjAsIDIxMSwgMTQxLCAxOSwgMjAsIDIxMSwgMTQwLCAxOSwgMjAsIDIxMSwgMTQ0LCAxOSwgMjAsIDE4MCwgMjE5LCA1MSwgCisgICAgMTksIDIwLCAxODAsIDIxOCwgMjA4LCAxOSwgMjAsIDE4MCwgMjE4LCAxMjQsIDE5LCAyMCwgMTgwLCAyMTksIDExMywgMTksIAorICAgIDIwLCAyMjUsIDc1LCAxOSwgMjAsIDIyNSwgMjUsIDE5LCAyMCwgMjI1LCAyMSwgMTksIDIwLCAyMjUsIDIsIDE5LCAyMCwgCisgICAgMjI0LCAyNTMsIDE5LCAyMCwgMjI1LCA3NywgMTksIDIwLCAyMjUsIDc2LCAxOSwgMjAsIDIyNSwgNzksIDE5LCAyMCwgMjI0LCAKKyAgICA5NiwgMTksIDIwLCAyMTcsIDExNCwgMjE1LCAyMTQsIDE5LCAyMCwgMjE3LCAxMTQsIDIxNSwgMTgzLCAxOSwgMjAsIDIxNywgCisgICAgMTE0LCAyMTUsIDE1OCwgMTksIDIwLCAyMTcsIDExNCwgMjE2LCAyLCAxOSwgMjAsIDIwNiwgMjM2LCAyMTIsIDQxLCAxOSwgCisgICAgMjAsIDIwNiwgMjM2LCAyMTIsIDE5LCAxOSwgMjAsIDIwNiwgMjM2LCAyMTEsIDI1MywgMTksIDIwLCAyMDYsIDIzNiwgMjEyLCAKKyAgICA1NiwgMTksIDIwLCAyMDYsIDIzNiwgMjEyLCA1OCwgMTksIDIwLCAyMjksIDI0MiwgMTksIDIwLCAyMjksIDI0MSwgMTksIAorICAgIDIwLCAyMjksIDI0MCwgMTksIDIwLCAyMjksIDIzOSwgMTksIDIwLCAyMjksIDI0OCwgMTksIDIwLCAyMjksIDI0NywgMTksIAorICAgIDIwLCAyMjksIDI0OSwgMTksIDIwLCAyMTIsIDU3LCAyMTIsIDQxLCAxOSwgMjAsIDIxMiwgNTcsIDIxMiwgMTksIDE5LCAyMCwgCisgICAgMjEyLCA1NywgMjEyLCAxMywgMTksIDIwLCAyMTIsIDU3LCAyMTEsIDI1MywgMTksIDIwLCAyMTIsIDU3LCAyMTEsIDI0OCwgCisgICAgMTksIDIwLCAyMTIsIDU3LCAyMTIsIDU2LCAxOSwgMjAsIDIxMiwgNTcsIDIxMiwgNTUsIDE5LCAyMCwgMjEyLCA1NywgMjEyLCAKKyAgICA1OCwgMTksIDIwLCAyNTIsIDE5MiwgMjUxLCAxNTAsIDE5LCAyMCwgMjQ5LCAxOTksIDc1LCAxOSwgMjAsIDI0OSwgMTk5LCAKKyAgICA3NCwgMTksIDIwLCAyNDksIDE5OSwgNzYsIDE5LCAyMCwgMjQ5LCAxOTksIDYyLCAxOSwgMjAsIDI0OSwgMTk5LCAyMDcsIAorICAgIDUxLCAxOSwgMjAsIDI0OSwgMTk5LCAyMDcsIDIwLCAxOSwgMjAsIDI0OSwgMTk5LCAyMDYsIDI1MCwgMTksIDIwLCAyNDksIAorICAgIDE5OSwgMjA3LCA5NiwgMTksIDIwLCAyNDksIDE5OSwgMjI1LCAxMTAsIDE5LCAyMCwgMjQ5LCAxOTksIDIyNCwgMjMwLCAxOSwgCisgICAgMjAsIDI0OSwgMTk5LCAyMjQsIDY3LCAxOSwgMjAsIDI0OSwgMTk5LCAxOTksIDE5LCAyMCwgMjQ5LCAxOTksIDIzMSwgMjI0LCAKKyAgICAxOSwgMjAsIDI0OSwgMTk5LCAyMzEsIDEyMywgMTksIDIwLCAyNDksIDE5OSwgMjMxLCA1MywgMTksIDIwLCAyNDksIDE5OSwgCisgICAgMTcyLCAxOSwgMjAsIDIxNywgMTE0LCAyMzksIDcxLCAxOSwgMjAsIDIxNywgMTE0LCAyMzksIDExLCAxOSwgMjAsIDIxNywgCisgICAgMTE0LCAyMzgsIDE0OSwgMTksIDIwLCAyMTcsIDExNCwgMTU1LCAxOSwgMjAsIDg1LCAyNDAsIDY3LCAxOSwgMjAsIDg1LCAKKyAgICAyNDAsIDcxLCAxOSwgMjAsIDg1LCAyNDAsIDg1LCAxOSwgMjAsIDg1LCAyNDAsIDg0LCAxOSwgMjAsIDg1LCAyNDAsIDczLCAKKyAgICAxOSwgMjAsIDg1LCAyNDAsIDk5LCAxOSwgMjAsIDg1LCAyMTgsIDUwLCAxOSwgMjAsIDg1LCAyMTgsIDEyNCwgMTksIDIwLCAKKyAgICA4NSwgMjE5LCA1MSwgMTksIDIwLCA4NSwgMjE5LCAyOSwgMTksIDIwLCA4NSwgMjE4LCAyMDgsIDE5LCAyMCwgODUsIDIxOSwgCisgICAgMTEzLCAxOSwgMjAsIDg1LCAyMDYsIDIxNiwgMTksIDIwLCA4NSwgMjA2LCAyNTAsIDE5LCAyMCwgODUsIDIwNywgNTEsIDE5LCAKKyAgICAyMCwgODUsIDIwNywgNDUsIDE5LCAyMCwgODUsIDIwNywgMjAsIDE5LCAyMCwgODUsIDIwNywgOTYsIDE5LCAyMCwgODUsIAorICAgIDIzOCwgOSwgMTksIDIwLCA4NSwgMjM4LCAxMCwgMTksIDIwLCA4NSwgMjM4LCAxMywgMTksIDIwLCA4NSwgMjM4LCAxMiwgCisgICAgMTksIDIwLCA4NSwgMjM4LCAxMSwgMTksIDIwLCA4NSwgMjM4LCAxNiwgMTksIDIwLCA4NSwgMjExLCAyMzAsIDE5LCAyMCwgCisgICAgODUsIDIxMSwgMjUzLCAxOSwgMjAsIDg1LCAyMTIsIDQxLCAxOSwgMjAsIDg1LCAyMTIsIDM5LCAxOSwgMjAsIDg1LCAyMTIsIAorICAgIDE5LCAxOSwgMjAsIDg1LCAyMTIsIDU2LCAxOSwgMjAsIDg1LCAyMTAsIDE3NSwgMTksIDIwLCA4NSwgMjEwLCAxODUsIDE5LCAKKyAgICAyMCwgODUsIDIxMCwgMjAzLCAxOSwgMjAsIDg1LCAyMTAsIDIwMiwgMTksIDIwLCA4NSwgMjEwLCAxODcsIDE5LCAyMCwgODUsIAorICAgIDIxMCwgMjA4LCAxOSwgMjAsIDg1LCAyMjAsIDgyLCAxOSwgMjAsIDg1LCAyMjAsIDIxMSwgMTksIDIwLCA4NSwgMjIxLCAKKyAgICAxNzQsIDE5LCAyMCwgODUsIDIyMSwgMTY0LCAxOSwgMjAsIDg1LCAyMjEsIDUzLCAxOSwgMjAsIDg1LCAxNzksIDE5LCAyMCwgCisgICAgODUsIDIyMiwgNjcsIDE5LCAyMCwgODUsIDIzOSwgMjEzLCAxOSwgMjAsIDg1LCAyNDAsIDE5LCAxOSwgMjAsIDg1LCAyNDAsIAorICAgIDE3MCwgMTksIDIwLCA4NSwgMjQwLCAxNjIsIDE5LCAyMCwgODUsIDI0MCwgNjEsIDE5LCAyMCwgODUsIDI0MCwgMjQ0LCAxOSwgCisgICAgMjAsIDg1LCAyMzEsIDEzMiwgMTksIDIwLCA4NSwgMjMxLCAxMzgsIDE5LCAyMCwgODUsIDIzMSwgMTUyLCAxOSwgMjAsIDg1LCAKKyAgICAyMzEsIDE1MSwgMTksIDIwLCA4NSwgMjMxLCAxNDUsIDE5LCAyMCwgODUsIDIzMSwgMTY3LCAxOSwgMjAsIDg1LCAyMzEsIAorICAgIDY3LCAxOSwgMjAsIDg1LCAyMzEsIDY4LCAxOSwgMjAsIDg1LCAyMzEsIDcxLCAxOSwgMjAsIDg1LCAyMzEsIDcwLCAxOSwgCisgICAgMjAsIDg1LCAyMzEsIDY5LCAxOSwgMjAsIDg1LCAyMzEsIDcyLCAxOSwgMjAsIDg1LCAyMzEsIDczLCAxOSwgMjAsIDg1LCAKKyAgICAyMjMsIDIxNywgMTksIDIwLCA4NSwgMjI0LCA2NywgMTksIDIwLCA4NSwgMjI1LCAxMTAsIDE5LCAyMCwgODUsIDIyNSwgCisgICAgMTA2LCAxOSwgMjAsIDg1LCAyMjQsIDIzMCwgMTksIDIwLCA4NSwgMTk5LCAxOSwgMjAsIDg1LCAyMjYsIDExNCwgMTksIDIwLCAKKyAgICA4NSwgMjI2LCAxODEsIDE5LCAyMCwgODUsIDIyNywgMTE5LCAxOSwgMjAsIDg1LCAyMjcsIDEwNywgMTksIDIwLCA4NSwgCisgICAgMjI2LCAyNTQsIDE5LCAyMCwgODUsIDE4NSwgMTksIDIwLCA4NSwgMjA1LCAyMTMsIDE5LCAyMCwgODUsIDIwNSwgMjQ3LCAKKyAgICAxOSwgMjAsIDg1LCAyMDYsIDUyLCAxOSwgMjAsIDg1LCAyMDYsIDQ5LCAxOSwgMjAsIDg1LCAyMDYsIDExLCAxOSwgMjAsIAorICAgIDg1LCAxOTAsIDE5LCAyMCwgODUsIDIzMiwgMTA0LCAxOSwgMjAsIDIxNywgMTE0LCAyMzIsIDEwNCwgMTksIDIwLCA4NSwgCisgICAgMjMyLCAxMjIsIDE5LCAyMCwgODUsIDIzMiwgMTgyLCAxOSwgMjAsIDg1LCAyMzIsIDE4MCwgMTksIDIwLCA4NSwgMjMyLCAKKyAgICAxNjIsIDE5LCAyMCwgMjE3LCAxMTQsIDIzMiwgMTYyLCAxOSwgMjAsIDg1LCAyMzIsIDIwMCwgMTksIDIwLCA4NSwgMjMyLCAKKyAgICAxMzUsIDE5LCAyMCwgODUsIDIzMiwgMTM5LCAxOSwgMjAsIDg1LCAyMzIsIDE0OSwgMTksIDIwLCA4NSwgMjMyLCAxNDgsIAorICAgIDE5LCAyMCwgODUsIDIzMiwgMTQ3LCAxOSwgMjAsIDg1LCAyMzIsIDE1MCwgMTksIDIwLCA4NSwgMjI5LCA4MSwgMTksIDIwLCAKKyAgICA4NSwgMjI5LCAxNDQsIDE5LCAyMCwgODUsIDIzMCwgNTgsIDE5LCAyMCwgODUsIDIzMCwgNTAsIDE5LCAyMCwgODUsIDIyOSwgCisgICAgMjM1LCAxOSwgMjAsIDg1LCAyMzAsIDE0MSwgMTksIDIwLCA4NSwgMjQ1LCA1NSwgMTksIDIwLCA4NSwgMjQ1LCA1NiwgMTksIAorICAgIDIwLCA4NSwgMjQ1LCA2MSwgMTksIDIwLCA4NSwgMjQ1LCA2MCwgMTksIDIwLCA4NSwgMjQ1LCA1NywgMTksIDIwLCA4NSwgCisgICAgMjQ1LCA2MiwgMTksIDIwLCA4NSwgMjI5LCAyMzgsIDE5LCAyMCwgODUsIDIyOSwgMjQwLCAxOSwgMjAsIDg1LCAyMjksIAorICAgIDI0NCwgMTksIDIwLCA4NSwgMjI5LCAyNDMsIDE5LCAyMCwgODUsIDIyOSwgMjQyLCAxOSwgMjAsIDg1LCAyMjksIDI0OCwgCisgICAgMTksIDIwLCA4NSwgMjExLCAxMzgsIDE5LCAyMCwgODUsIDIxMSwgMTQwLCAxOSwgMjAsIDg1LCAyMTEsIDE0MywgMTksIDIwLCAKKyAgICA4NSwgMjExLCAxNDIsIDE5LCAyMCwgODUsIDIxMSwgMTQxLCAxOSwgMjAsIDg1LCAyMTEsIDE0NCwgMTksIDIwLCA4NSwgCisgICAgMjExLCAxMzMsIDE5LCAyMCwgODUsIDIxMSwgMTM0LCAxOSwgMjAsIDg1LCAyMTEsIDE0NiwgMTksIDIwLCA4NSwgMjExLCAKKyAgICAxNDUsIDE5LCAyMCwgODUsIDIxMSwgMTM1LCAxOSwgMjAsIDg1LCAyMTEsIDE0NywgMTksIDIwLCA4NSwgMjA1LCA5LCAxOSwgCisgICAgMjAsIDg1LCAyMDUsIDE5LCAxOSwgMjAsIDg1LCAyMDUsIDkzLCAxOSwgMjAsIDg1LCAyMDUsIDkxLCAxOSwgMjAsIDg1LCAKKyAgICAyMDUsIDQwLCAxOSwgMjAsIDg1LCAyMDUsIDExNiwgMTksIDIwLCA4NSwgMjA1LCAxNTksIDE5LCAyMCwgODUsIDc4LCAyMDUsIAorICAgIDE1OSwgMTksIDIwLCA4NSwgMjQzLCAxODMsIDE5LCAyMCwgODUsIDI0MywgMTg0LCAxOSwgMjAsIDg1LCAyNDMsIDE5MywgCisgICAgMTksIDIwLCA4NSwgMjQzLCAxOTIsIDE5LCAyMCwgODUsIDI0MywgMTg3LCAxOSwgMjAsIDg1LCAyNDMsIDE5NiwgMTksIDIwLCAKKyAgICA4NSwgMjEzLCAyMDMsIDE5LCAyMCwgODUsIDIxNCwgMTkzLCAxOSwgMjAsIDg1LCAyMTcsIDg2LCAxOSwgMjAsIDg1LCAyMTcsIAorICAgIDc0LCAxOSwgMjAsIDg1LCAyMTUsIDgwLCAxOSwgMjAsIDg1LCAyMTcsIDE5OSwgMTksIDIwLCA4NSwgMjE1LCAxMTYsIDE5LCAKKyAgICAyMCwgODUsIDIxNSwgMTU4LCAxOSwgMjAsIDg1LCAyMTUsIDIxNCwgMTksIDIwLCA4NSwgMjE1LCAyMTIsIDE5LCAyMCwgODUsIAorICAgIDIxNSwgMTgzLCAxOSwgMjAsIDg1LCAyMTYsIDIsIDE5LCAyMCwgODUsIDIxNiwgNCwgMTksIDIwLCA4NSwgMjEwLCAyMTYsIAorICAgIDE5LCAyMCwgODUsIDIxMCwgMjIwLCAxOSwgMjAsIDg1LCAyMTAsIDIzNywgMTksIDIwLCA4NSwgMjEwLCAyMzYsIDE5LCAyMCwgCisgICAgODUsIDIxMCwgMjIyLCAxOSwgMjAsIDg1LCAyMTAsIDI0MywgMTksIDIwLCA4NSwgMjQ4LCAxNCwgMTksIDIwLCA4NSwgMjQ4LCAKKyAgICAzMiwgMTksIDIwLCA4NSwgMjQ4LCA4MiwgMTksIDIwLCA4NSwgMjQ4LCA3OCwgMTksIDIwLCA4NSwgMjQ4LCA1OCwgMTksIAorICAgIDIwLCA4NSwgMjQ4LCAxMTAsIDE5LCAyMCwgODUsIDIxMCwgMTc4LCAxOSwgMjAsIDg1LCAyMTAsIDE3OSwgMTksIDIwLCA4NSwgCisgICAgMjEwLCAxODIsIDE5LCAyMCwgODUsIDIxMCwgMTgxLCAxOSwgMjAsIDg1LCAyMTAsIDE4MCwgMTksIDIwLCA4NSwgMjEwLCAKKyAgICAxODMsIDE5LCAyMCwgMjQ4LCA1OSwgNTMsIDE5LCAyMCwgMjQxLCA4MiwgMjEzLCAyNTEsIDE5LCAyMCwgMjIwLCAxMSwgMTksIAorICAgIDIwLCAyMjUsIDczLCAxOSwgMjAsIDIyNCwgOTMsIDE5LCAyMCwgMjI0LCA5MiwgMTksIDIwLCAyMjQsIDkxLCAxOSwgMjAsIAorICAgIDIyNCwgOTAsIDE5LCAyMCwgMjI0LCA5NSwgMTksIDIwLCAyMjQsIDk0LCAxOSwgMjAsIDIwNiwgMjM2LCAyMTEsIDIxOSwgCisgICAgMTksIDIwLCAyMDYsIDIzNiwgMjExLCAyMTgsIDE5LCAyMCwgMjA2LCAyMzYsIDIxMSwgMjE3LCAxOSwgMjAsIDIwNiwgMjM2LCAKKyAgICAyMTEsIDIxNiwgMTksIDIwLCAyMDYsIDIzNiwgMjExLCAyMTUsIDE5LCAyMCwgMjA2LCAyMzYsIDIxMSwgMjIyLCAxOSwgMjAsIAorICAgIDIwNiwgMjM2LCAyMTEsIDIyMSwgMTksIDIwLCAyMDYsIDIzNiwgNDIsIDIxMiwgNTgsIDE5LCAyMCwgMjQ5LCAxOTksIDIwNywgCisgICAgMTI5LCAyMjIsIDE5OCwgMjE0LCAxNTQsIDgzLCAyMjIsIDE5OCwgMSwgMjUwLCAzMiwgMjIyLCAxOTgsIDEsIDIyOSwgNjgsIAorICAgIDIyMiwgMTk4LCAxLCAyNDIsIDI1LCAyMjIsIDE5OCwgMSwgMjE3LCAxNzksIDIyMiwgMTk4LCAxLCAyMjQsIDE4OCwgMjIyLCAKKyAgICAxOTgsIDEsIDIxMCwgMTUsIDIyMiwgMTk4LCAxLCAyNDYsIDExOSwgMjIyLCAxOTgsIDEsIDIxMSwgMTcwLCAyMjIsIDE5OCwgCisgICAgMSwgMjQ3LCAxNjUsIDIyMiwgMTk4LCAxLCAyNDgsIDEzNiwgMjIyLCAxOTgsIDEsIDIyNiwgMTAxLCAyMjIsIDE5OCwgMSwgCisgICAgMjQwLCAwLCAyMjIsIDE5OCwgMSwgMjI1LCA2MywgMjIyLCAxOTgsIDEsIDIxMywgMjQ0LCAyMjIsIDE5OCwgMSwgMjE4LCAKKyAgICA0NCwgMjIyLCAxOTgsIDEsIDI1MiwgMjAyLCAyMjIsIDE5OCwgMSwgMjIyLCAxNTYsIDIyMiwgMTk4LCAxLCAyMDksIDE5NCwgCisgICAgMjIyLCAxOTgsIDEsIDI0MywgMTI4LCAyMjIsIDE5OCwgMSwgMjMyLCAyNTIsIDIyMiwgMTk4LCAxLCAyNDMsIDEyOSwgMjIyLCAKKyAgICAxOTgsIDEsIDIyMiwgMTIyLCAyMjIsIDE5OCwgMSwgMjA5LCAyNTAsIDIyMiwgMTk4LCAxLCAyMzMsIDEwOCwgMjIyLCAxOTgsIAorICAgIDEsIDI0MywgMTI2LCAyMjIsIDE5OCwgMSwgMjIxLCAxNTQsIDIyMiwgMTk4LCAyNDIsIDI0LCA4MywgMjIyLCAxOTgsIDIxOCwgCisgICAgMjI0LCAyNDIsIDI0LCA4MywgMTgxLCAxLCAyNDIsIDE0LCAyNDIsIDYsIDI0MiwgMjksIDI0MiwgMTM5LCAxODEsIDEsIAorICAgIDIwOSwgMTQ4LCAxODEsIDEsIDIwOSwgMTc5LCAyMDksIDE5NSwgNzEsIDE4MSwgMSwgMjA1LCAyMTYsIDE4MSwgMSwgMjA2LCAKKyAgICAxMjMsIDE4MSwgMSwgMjA3LCAxMjksIDE4MSwgMSwgMjExLCAyMjQsIDIxMSwgMjIzLCAyMTEsIDI0NiwgMTgxLCAxLCAyNDIsIAorICAgIDE5NiwgMTgxLCAxLCAyNTIsIDkyLCA2MiwgMTgxLCAxLCAyMjIsIDEwNywgNzYsIDE4MSwgMSwgMjUzLCAyNSwgNjIsIDE4MSwgCisgICAgMSwgMjUyLCAyMzIsIDE4MSwgMSwgMjI5LCAxMjEsIDc2LCAxODEsIDEsIDIxNSwgMTM3LCA3NiwgMTgxLCAxLCA3NiwgMTgxLCAKKyAgICAxLCAyMjIsIDIwNiwgMTgxLCAxLCAyMjIsIDE2NSwgMTgxLCAxLCAyMTksIDg4LCAyMTksIDEwMSwgMjE5LCAxNCwgMTM3LCAKKyAgICAxODEsIDEsIDIzMSwgMjM5LCAxODEsIDEsIDI0OCwgMTMyLCAxODEsIDEsIDIzMSwgMjQwLCAyMzIsIDc2LCAxODEsIDEsIAorICAgIDI0MSwgNTUsIDE4MSwgMSwgMjQzLCAyOCwgMTgxLCAxLCAyNDAsIDE2NSwgMjM5LCAxNjEsIDI0MSwgNTUsIDE4MSwgMSwgCisgICAgMjQwLCAyMDQsIDE4MSwgMSwgMjA2LCAyMDgsIDIwNiwgMTk5LCAyMDcsIDEyOSwgMTgxLCAxLCAyMzksIDEzMywgMjM5LCAKKyAgICAxNTUsIDE4MSwgMSwgMjM5LCAxMzcsIDIzOSwgMTU1LCAxODEsIDEsIDIyOSwgMTIzLCAyMzksIDE1NSwgMTgxLCAxLCAyMTUsIAorICAgIDE0MCwgMjM5LCAxNTUsIDE4MSwgMSwgMjI1LCAxODksIDIyMywgMTM1LCAyMjUsIDE5MCwgMjI2LCAzMywgMTgxLCAxLCAKKyAgICAyMTUsIDEzOCwgMjI2LCAzMywgMTgxLCAxLCAyNDQsIDE4LCAxODEsIDEsIDIzMiwgMjMxLCAyMzIsIDIzNSwgMjMyLCAyMjIsIAorICAgIDc0LCAxODEsIDEsIDc1LCAxODEsIDEsIDIzMiwgMTczLCAyMzIsIDIwMywgMTgxLCAxLCAyNDAsIDE0OSwgMTgxLCAxLCAKKyAgICAyMjksIDEyNCwgMjUyLCAyNDgsIDE4MSwgMSwgMjE1LCAxNDIsIDYyLCAxODEsIDEsIDIzMiwgMjE0LCAyNDMsIDIsIDE4MSwgCisgICAgMSwgMjIxLCAxMTEsIDIyMSwgMTM2LCAyMjIsIDY3LCAxODEsIDEsIDI1MiwgMTY1LCAyNDMsIDAsIDE4MSwgMSwgMjE0LCAKKyAgICAxNTksIDE4MiwgMTgxLCAxLCAyMTUsIDY1LCAyMjksIDEyMCwgMTgyLCAxODEsIDEsIDIxNSwgMTM2LCAxODIsIDE4MSwgMSwgCisgICAgMjQ5LCAzNCwgMTgxLCAxLCAyMDUsIDE1OSwgMTgxLCAxLCAyMTEsIDE1MiwgMjExLCAxNjMsIDIxMCwgODcsIDIxMywgMTAsIAorICAgIDE4MSwgMSwgMjE1LCAxMzUsIDIxMywgMTAsIDE4MSwgMSwgMjQ2LCAyNDAsIDE4MSwgMSwgMjUwLCAxMywgMjUwLCAxNiwgCisgICAgMjQ5LCAyMDUsIDI1MSwgMTUwLCAxODEsIDEsIDIxNSwgMTQxLCAyNTEsIDE1MCwgMTgxLCAxLCAyNDQsIDE3LCAxODEsIDEsIAorICAgIDIyMiwgMTM2LCAxODEsIDEsIDI0MywgOTEsIDI0MywgOTMsIDc1LCAxODEsIDEsIDIyNywgMjEyLCAyMjcsIDIyMiwgMjI5LCAKKyAgICAyOCwgMTgxLCAxLCAyMjksIDEyMiwgMjI5LCAyOCwgMTgxLCAxLCAyMTUsIDEzOSwgMjI5LCAyOCwgMTgxLCAxLCAyMzAsIAorICAgIDczLCAyMzAsIDExOSwgMjI5LCAxMzEsIDE0OSwgMTgxLCAxLCAyNDQsIDE5LCAxODEsIDEsIDIzMywgNDEsIDE4MSwgMSwgCisgICAgMjMzLCA0MiwgMTgxLCAxLCAyNDYsIDEzMywgMjQ2LCAxMzksIDI0NiwgMjQwLCAxODEsIDEsIDIyMiwgMTAxLCAyNDIsIAorICAgIDE5NSwgNzYsIDE4MSwgMSwgMjQzLCAxMjQsIDE4MSwgMSwgMjMyLCAyNTEsIDE4MSwgMSwgMjQ3LCA0LCAxODEsIDEsIDI0OCwgCisgICAgMjQwLCAxODEsIDEsIDI0OCwgMTQ3LCAxODEsIDEsIDIxNCwgMzEsIDE4MSwgMSwgMjI5LCAxMTksIDE4MSwgMSwgMjE1LCAKKyAgICAxMzQsIDE4MSwgMSwgMjM3LCAxODAsIDE4MSwgMSwgMjIwLCAyNywgMTgxLCAxLCAyMDYsIDE5NSwgMTgxLCAyMTUsIDQxLCAKKyAgICAyMjAsIDcxLCAxODEsIDIyNiwgOTUsIDIyMCwgNzEsIDE4MSwgMjQ3LCA2MCwgMjIwLCA3MSwgMTgxLCAyNTIsIDEsIDkzLCAKKyAgICAxODEsIDIxMCwgMTMyLCA5MywgMTgxLCAyNTAsIDMwLCA5MywgMTgxLCAxLCAyMzIsIDc2LCAxODEsIDEsIDIxNiwgNCwgCisgICAgMTgxLCAxLCAyMjIsIDE1MiwgMTgxLCAxLCAyNDEsIDEwOSwgMjQ4LCAxODYsIDIyMiwgMTA2LCAxODEsIDEsIDI0MSwgMTA5LCAKKyAgICAyNDgsIDE4NiwgMjMyLCAyMzQsIDE4MSwgMSwgMjQxLCAxMDksIDI0OCwgMTg2LCAyNDMsIDkyLCAxODEsIDEsIDI0MSwgCisgICAgMTA5LCAyNDgsIDE4NiwgMjUzLCAyNCwgMTgxLCAxLCAyNDEsIDEwOSwgMjQ4LCAxODYsIDI1MiwgMjMyLCAyMTIsIDE5NywgCisgICAgMSwgNjIsIDIxMiwgMTk3LCAxLCA3NCwgMjEyLCAxOTcsIDEsIDcxLCAyMTIsIDE5NywgMSwgMTcyLCAyMTIsIDE5NywgMSwgCisgICAgMjQwLCAyNDQsIDIxMiwgMTk3LCAxLCAyMjUsIDc3LCAyMTIsIDE5NywgMSwgMjEyLCAyMTksIDIxMiwgMTk3LCAxLCAyNDYsIAorICAgIDE0NSwgMjEyLCAxOTcsIDEsIDE5OSwgMjEyLCAxOTcsIDEsIDE3OSwgMjEyLCAxOTcsIDEsIDI1MCwgMTgzLCAyMTIsIDE5NywgCisgICAgMSwgMTg1LCAyMTIsIDE5NywgMSwgMTkwLCAyMTIsIDE5NywgMSwgMjMwLCAxNDEsIDIxMiwgMTk3LCAxLCAyMDcsIDk2LCAKKyAgICAyMTIsIDE5NywgMSwgMjE3LCAxOTksIDIxMiwgMTk3LCAxLCAxNTUsIDIxMiwgMTk3LCAyMiwgMywgNzQsIDIxMiwgMTk3LCAKKyAgICAyMiwgMywgNzEsIDIxMiwgMTk3LCAzLCAyMDgsIDE4OCwgMjM5LCA5OSwgMSwgNjIsIDIzOSwgOTksIDEsIDc0LCAyMzksIAorICAgIDk5LCAxLCA3MSwgMjM5LCA5OSwgMSwgMTcyLCAyMzksIDk5LCAxLCAyNDAsIDI0NCwgMjM5LCA5OSwgMSwgMjI1LCA3NywgCisgICAgMjM5LCA5OSwgMSwgMjEyLCAyMTksIDIzOSwgOTksIDEsIDI0NiwgMTQ1LCAyMzksIDk5LCAxLCAxOTksIDIzOSwgOTksIDEsIAorICAgIDE3OSwgMjM5LCA5OSwgMSwgMjUwLCAxODMsIDIzOSwgOTksIDEsIDE4NSwgMjM5LCA5OSwgMSwgMTkwLCAyMzksIDk5LCAxLCAKKyAgICAyMTksIDExMywgMjM5LCA5OSwgMSwgMjMwLCAxNDEsIDIzOSwgOTksIDEsIDIwNywgOTYsIDIzOSwgOTksIDEsIDIxNywgCisgICAgMTk5LCAyMzksIDk5LCAxLCAxNTUsIDIzOSwgOTksIDIyLCAzLCA3NCwgMjM5LCA5OSwgMjIsIDMsIDcxLCAyMzksIDk5LCAzLCAKKyAgICAyMjIsIDgsIDIyMSwgNzEsIDIxNSwgNDEsIDIyMCwgNzEsIDIyMSwgNzEsIDUwLCAyMjAsIDcxLCAyNDksIDkzLCAxLCA2MiwgCisgICAgMjQ5LCA5MywgMSwgNzQsIDI0OSwgOTMsIDEsIDcxLCAyNDksIDkzLCAxLCAxNzIsIDI0OSwgOTMsIDEsIDI0MCwgMjQ0LCAKKyAgICAyNDksIDkzLCAxLCAyMjUsIDc3LCAyNDksIDkzLCAxLCAyMTIsIDIxOSwgMjQ5LCA5MywgMSwgMjQ2LCAxNDUsIDI0OSwgOTMsIAorICAgIDEsIDE5OSwgMjQ5LCA5MywgMSwgMTc5LCAyNDksIDkzLCAxLCAyNTAsIDE4MywgMjQ5LCA5MywgMSwgMTg1LCAyNDksIDkzLCAKKyAgICAxLCAxOTAsIDI0OSwgOTMsIDEsIDIxOSwgMTEzLCAyNDksIDkzLCAxLCAyMzAsIDE0MSwgMjQ5LCA5MywgMSwgMjA3LCA5NiwgCisgICAgMjQ5LCA5MywgMSwgMjE3LCAxOTksIDI0OSwgOTMsIDEsIDE1NSwgMjQ5LCA5MywgMjIsIDMsIDc0LCAyNDksIDkzLCAyMiwgCisgICAgMywgNzEsIDIxMiwgMTk2LCAxLCA2MiwgMjEyLCAxOTYsIDEsIDc0LCAyMTIsIDE5NiwgMSwgNzEsIDIxMiwgMTk2LCAxLCAKKyAgICAxNzIsIDIxMiwgMTk2LCAxLCAyNDAsIDI0NCwgMjEyLCAxOTYsIDEsIDIyNSwgNzcsIDIxMiwgMTk2LCAxLCAyMTIsIDIxOSwgCisgICAgMjEyLCAxOTYsIDEsIDI0NiwgMTQ1LCAyMTIsIDE5NiwgMSwgMTk5LCAyMTIsIDE5NiwgMSwgMTc5LCAyMTIsIDE5NiwgMSwgCisgICAgMjUwLCAxODMsIDIxMiwgMTk2LCAxLCAxODUsIDIxMiwgMTk2LCAxLCAxOTAsIDIxMiwgMTk2LCAxLCAyMzAsIDE0MSwgMjEyLCAKKyAgICAxOTYsIDEsIDIwNywgOTYsIDIxMiwgMTk2LCAxLCAyMTcsIDE5OSwgMjEyLCAxOTYsIDIyLCAzLCA3NCwgMjEyLCAxOTYsIAorICAgIDIyLCAzLCA3MSwgODIsIDEsIDE3MiwgODIsIDEsIDIzMSwgMTY3LCA4MiwgMSwgMjMxLCA1MywgODIsIDEsIDIzMSwgMTM4LCAKKyAgICA4MiwgMSwgMjI1LCAyLCA4MiwgMSwgMjQ5LCAxLCA4MiwgMSwgMjQ4LCAxMTAsIDgyLCAxLCAyNDcsIDE3NCwgODIsIDEsIAorICAgIDI0OCwgMzIsIDgyLCAxLCAyMjMsIDExMCwgODIsIDEsIDI0NiwgMTQ1LCA4MiwgMSwgMjEwLCAxOTYsIDgyLCAxLCAyNDUsIAorICAgIDUxLCA4MiwgMSwgMjEwLCAxOTEsIDgyLCAxLCAyMjQsIDczLCA4MiwgMSwgMjEyLCAyMTksIDgyLCAxLCAyMTIsIDU2LCA4MiwgCisgICAgMSwgMTI0LCA4MiwgMSwgMjExLCAyNTMsIDgyLCAxLCAyMjQsIDY3LCA4MiwgMSwgMjUwLCAxODMsIDgyLCAxLCAyMjEsIDkzLCAKKyAgICA4MiwgMSwgMjIwLCAyMTEsIDgyLCAxLCAyMjEsIDY2LCA4MiwgMSwgMjI2LCAxODEsIDgyLCAxLCAyMDUsIDI0NywgODIsIDEsIAorICAgIDIxOCwgMTI0LCA4MiwgMSwgMjI5LCAxNDQsIDgyLCAxLCAyMDgsIDE3MywgODIsIDEsIDIxNiwgMiwgODIsIDEsIDIxNCwgCisgICAgNTYsIDgyLCAxLCAyMTcsIDE5OSwgODIsIDEsIDE1NSwgODIsIDEsIDIzMCwgMTQxLCA4MiwgMSwgMjIwLCAxOSwgODIsIAorICAgIDIzMywgNTUsIDIyLCAyMjAsIDUsIDgyLCAyMzMsIDU1LCAyMiwgMjIwLCAxOCwgODIsIDIzMywgNTUsIDIyLCAyMTksIDIzNywgCisgICAgODIsIDIzMywgNTUsIDIyLCAyMTksIDIzMiwgODIsIDIzMywgNTUsIDIyLCAyMTksIDIxNCwgODIsIDIzMywgNTUsIDIyLCAKKyAgICAyMTksIDE4NCwgODIsIDIzMywgNTUsIDIyLCAyMTksIDE3MiwgODIsIDIzMywgNTUsIDIyLCAyMTksIDE3MSwgODIsIDIzMywgCisgICAgNTUsIDIyLCAyMTgsIDksIDgyLCAyMzMsIDU1LCAyMiwgMjE4LCAyLCA4MiwgMjMzLCA1NSwgMjIsIDIyOSwgNDIsIDgyLCAKKyAgICAyMzMsIDU1LCAyMiwgMjI5LCAzMSwgODIsIDIzMywgNTUsIDIyLCAyMTksIDI1NSwgODIsIDIzMywgNTUsIDIyLCAyMjAsIAorICAgIDExLCA4MiwgMjMzLCA1NSwgMjIsIDIxOSwgMjIyLCAyMTAsIDk1LCAxMDIsIDgyLCAyMzMsIDU1LCAyMiwgMjE5LCAyMjIsIAorICAgIDIxMCwgOTUsIDEwNSwgODIsIDIzMywgNTUsIDIyLCAyMjAsIDEsIDgyLCAyMiwgMjMzLCA0MCwgMjUyLCA0MSwgODIsIDIyLCAKKyAgICAyMzMsIDQwLCAyNTMsIDE2NCwgODIsIDIyLCAzLCAyNTMsIDE2NCwgODIsIDIyLCAzLCA3NCwgODIsIDIyLCAzLCAyMzMsIAorICAgIDEwMiwgODIsIDIyLCAzLCAyMDYsIDEyMywgODIsIDIyLCAzLCAyMDUsIDE2OSwgODIsIDIyLCAzLCA3MSwgODIsIDIyLCAzLCAKKyAgICAyMDksIDE2MiwgODIsIDIyLCAzLCAyMTAsIDE4LCA4MiwgMjIsIDMsIDIyMiwgMjA2LCA4MiwgMjIsIDMsIDE5MCwgODIsIAorICAgIDIyLCAzLCAyMzMsIDEyOSwgODIsIDIyLCAzLCA3NSwgODIsIDIyLCAzLCAyNTIsIDI0OCwgODIsIDIyLCAzLCAyNTIsIDIwNSwgCisgICAgODIsIDIyLCAzLCAyMjIsIDE1MiwgODIsIDIyLCAzLCAyNTEsIDE4NCwgODIsIDMsIDIyNCwgMjAzLCA4MiwgMywgMjE5LCAKKyAgICA0OSwgODIsIDMsIDIwNSwgMTgwLCA4MiwgMywgMjI2LCA2MCwgODIsIDMsIDIxMSwgMzksIDgyLCAzLCAyNTAsIDEzMSwgODIsIAorICAgIDMsIDIxOCwgMTE5LCA4MiwgMywgMjExLCAxMjgsIDgyLCAzLCAyMzIsIDM0LCA4MiwgMywgMjUyLCAyMDcsIDgyLCAzLCAKKyAgICAyMTcsIDE1MiwgMjE3LCAxNDUsIDgyLCAzLCAyMDgsIDE4NSwgODIsIDMsIDI0NywgMTY4LCA4MiwgMywgMjUwLCAxMDQsIAorICAgIDgyLCAzLCAyMzEsIDE1OSwgODIsIDMsIDI1MCwgMTI2LCA4MiwgMywgMjQ4LCAyMjksIDIyMSwgMTYsIDIzMCwgMjAxLCA4MiwgCisgICAgMywgMjMwLCAyNywgMjExLCAxMDUsIDgyLCAzLCAyNTAsIDIsIDgyLCAzLCAyMjEsIDY4LCAyMjYsIDExMSwgODIsIDMsIAorICAgIDIzMSwgMzEsIDgyLCAyNDcsIDI1LCAxNiwgMjE4LCAyMDAsIDgyLCAzLCAyNTEsIDE2NiwgODIsIDMsIDI1MSwgMTg3LCA4MiwgCisgICAgMTgsIDIwNSwgODUsIDgyLCAxOCwgMTAyLCA4MiwgMTgsIDEwNSwgODIsIDE4LCAxNDIsIDgyLCAxOCwgMTM5LCA4MiwgMTgsIAorICAgIDE2OCwgODIsIDE4LCAxODQsIDgyLCAxOCwgMTk1LCA4MiwgMTgsIDE5MywgODIsIDE4LCAyMDAsIDgyLCAxNiwgMjMwLCAyNywgCisgICAgMjUxLCAxODksIDIxNCwgMTc3LCA4MiwgMTYsIDIzMCwgMjcsIDI1MSwgMTg5LCAyMjYsIDgwLCA4MiwgMTYsIDIzMCwgMjcsIAorICAgIDI1MSwgMTg5LCAyMjEsIDE1LCA4MiwgMTYsIDIzMCwgMjcsIDI1MSwgMTg5LCAyNTAsIDMzLCA4MiwgMTYsIDIzMCwgMjcsIAorICAgIDI1MSwgMTg5LCAyNDksIDczLCA4MiwgMTYsIDIzMCwgMjcsIDI1MSwgMTg5LCAyMjAsIDE1MiwgODIsIDE2LCAyMzAsIDI3LCAKKyAgICAyNTEsIDE4OSwgMjIwLCAxNDYsIDgyLCAxNiwgMjMwLCAyNywgMjUxLCAxODksIDIyMCwgMTQ0LCA4MiwgMTYsIDIzMCwgMjcsIAorICAgIDI1MSwgMTg5LCAyMjAsIDE1MCwgODIsIDE2LCAyMzAsIDI3LCAyNTEsIDE4OSwgMjIwLCAxNDgsIDkwLCAyNDksIDIxNywgCisgICAgOTAsIDI0MywgNTQsIDkwLCAyNDcsIDE1NSwgOTAsIDI0MSwgODIsIDIxMywgMjUxLCA5MCwgMjQ3LCAxNjIsIDkwLCAyNDEsIAorICAgIDEyNSwgMjQ1LCAyMSwgOTAsIDIxMSwgMTI3LCAyMTQsIDE4NywgMjM3LCAyMzksIDkwLCAyMTUsIDc4LCA0LCAyNDksIDE1MCwgCisgICAgMjI3LCAxODcsIDkwLCAyMjcsIDIxOCwgMjQ3LCAxNTUsIDkwLCAyMjcsIDIxOCwgMjQxLCA4MiwgMjEzLCAyNTEsIDkwLCAKKyAgICAyMjQsIDE4NiwgOTAsIDI0MSwgMTA4LCA1NCwgMjE3LCA2MCwgMTAyLCA5MCwgMjQxLCAxMDgsIDU0LCAyMTcsIDYwLCAxMDUsIAorICAgIDkwLCAyNDEsIDEwOCwgNTQsIDIxNywgNjAsIDE0MiwgOTAsIDIyLCAyMTYsIDM5LCA5MCwgMTgsIDIwNSwgODUsIDkwLCAxOCwgCisgICAgMTAyLCA5MCwgMTgsIDEwNSwgOTAsIDE4LCAxNDIsIDkwLCAxOCwgMTM5LCA5MCwgMTgsIDE2OCwgOTAsIDE4LCAxODQsIDkwLCAKKyAgICAxOCwgMTk1LCA5MCwgMTgsIDE5MywgOTAsIDE4LCAyMDAsIDkwLCAxLCA2MiwgOTAsIDEsIDc1LCA5MCwgMSwgNzQsIDkwLCAKKyAgICAxLCA3NiwgOTAsIDEsIDcxLCA5MCwgMSwgMjIyLCAyMDYsIDkwLCAxLCAyMTAsIDMsIDkwLCAxLCAyNDMsIDEwNCwgOTAsIDEsIAorICAgIDE5OSwgOTAsIDEsIDI1MiwgMTE0LCA5MCwgMSwgMjUwLCAxODMsIDkwLCAxLCAxNzksIDkwLCAxLCAyMjAsIDE5LCA5MCwgMSwgCisgICAgMjQwLCAyNDQsIDkwLCAxLCAxODUsIDkwLCAxLCAyMzAsIDE0MSwgOTAsIDEsIDIxNywgMTk5LCA5MCwgMSwgMjE2LCAyLCAKKyAgICA5MCwgMSwgMjEyLCAyMTksIDkwLCAxLCAyNDYsIDE0NSwgOTAsIDEsIDI0OCwgMTEwLCA5MCwgMSwgMjMyLCAyMDAsIDkwLCAKKyAgICAxLCAxOTAsIDkwLCAxLCAyMTksIDExMywgOTAsIDEsIDIwNywgOTYsIDkwLCAxLCAyNDIsIDczLCA5MCwgMSwgMTcyLCA5MCwgCisgICAgMSwgMjMxLCAxNjcsIDkwLCAxLCAyMTAsIDI0MywgOTAsIDEsIDIwNSwgMTE2LCA5MCwgMSwgMjM5LCAxNDEsIDkwLCAxLCAKKyAgICAyMDUsIDEyLCA5MCwgMSwgMjI5LCAyNDgsIDkwLCAxLCAyMDUsIDY3LCA5MCwgMSwgMjQ4LCA1OCwgOTAsIDEsIDIxMSwgCisgICAgMTI3LCAxNTIsIDIyLCA1MywgOTAsIDEsIDIxMSwgMTI3LCA3NSwgOTAsIDEsIDIxMSwgMTI3LCA3NCwgOTAsIDEsIDIxMSwgCisgICAgMTI3LCA3NiwgOTAsIDEsIDIxMSwgMTI3LCA3MSwgOTAsIDEsIDIxMSwgMTI3LCAyMjIsIDIwNiwgOTAsIDEsIDIxMSwgMTI3LCAKKyAgICAyMTAsIDMsIDkwLCAxLCAyMTEsIDEyNywgMjUyLCAxMTQsIDkwLCAxLCAyMTEsIDEyNywgMjUwLCAxODMsIDkwLCAxLCAyMTEsIAorICAgIDEyNywgMTc5LCA5MCwgMSwgMjExLCAxMjcsIDIyMCwgMTksIDkwLCAxLCAyMTEsIDEyNywgMjQwLCAyNDQsIDkwLCAxLCAKKyAgICAyMTEsIDEyNywgMTg1LCA5MCwgMSwgMjExLCAxMjcsIDIxMiwgMjE5LCA5MCwgMSwgMjExLCAxMjcsIDI0NiwgMTQ1LCA5MCwgCisgICAgMSwgMjExLCAxMjcsIDI0OCwgMTEwLCA5MCwgMSwgMjExLCAxMjcsIDIzMiwgMjAwLCA5MCwgMSwgMjExLCAxMjcsIDIxMCwgCisgICAgMjQzLCA5MCwgMSwgMjExLCAxMjcsIDE5MCwgOTAsIDEsIDIxMSwgMTI3LCAyMDcsIDk2LCA5MCwgMSwgMjExLCAxMjcsIAorICAgIDE3MiwgOTAsIDEsIDIxMSwgMTI3LCAyNDAsIDI0MSwgOTAsIDEsIDIxMSwgMTI3LCAyMzksIDE0MSwgOTAsIDEsIDIxMSwgCisgICAgMTI3LCAyMzIsIDE2MSwgOTAsIDEsIDIxMSwgMTI3LCAyMjQsIDIyOCwgOTAsIDEsIDIxMSwgMTI3LCAyNDMsIDE5NiwgOTAsIAorICAgIDEsIDIxNSwgNzgsIDc1LCA5MCwgMSwgMjE1LCA3OCwgNzQsIDkwLCAxLCAyMTUsIDc4LCAyMzIsIDIxMSwgOTAsIDEsIDIxNSwgCisgICAgNzgsIDIxMCwgMywgOTAsIDEsIDIxNSwgNzgsIDcxLCA5MCwgMSwgMjE1LCA3OCwgMjUyLCAxMTQsIDkwLCAxLCAyMTUsIDc4LCAKKyAgICAxNzIsIDkwLCAxLCAyMTUsIDc4LCAyNDAsIDI0NCwgOTAsIDEsIDIxNSwgNzgsIDE1NSwgOTAsIDEsIDIxNSwgNzgsIDE3OSwgCisgICAgOTAsIDEsIDIxNSwgNzgsIDIxNiwgMiwgOTAsIDEsIDIxNSwgNzgsIDIxMiwgMjE5LCA5MCwgMSwgMjE1LCA3OCwgMjQ2LCAKKyAgICAxNDUsIDkwLCAxLCAyMTUsIDc4LCAyMzIsIDIwMCwgOTAsIDEsIDIxNSwgNzgsIDI0MiwgNzMsIDkwLCAxLCAyMTUsIDc4LCAKKyAgICAyNDAsIDI0MSwgOTAsIDEsIDIxNSwgNzgsIDIzOSwgMTQxLCA5MCwgMSwgMjE1LCA3OCwgMjEwLCAyNDMsIDkwLCAxLCAyMTUsIAorICAgIDc4LCAyMDUsIDExNiwgOTAsIDEsIDIxNSwgNzgsIDIxOSwgMTA5LCA5MCwgMSwgMjE1LCA3OCwgMjQ4LCAxMTAsIDkwLCAxLCAKKyAgICAyMTUsIDc4LCAyMDUsIDgxLCA5MCwgMSwgMjI3LCAyMTgsIDc0LCA5MCwgMSwgMjI3LCAyMTgsIDE3MiwgOTAsIDEsIDIyNywgCisgICAgMjE4LCAyMTksIDExMywgOTAsIDEsIDIyNywgMjE4LCAyNDIsIDczLCA5MCwgMSwgMjI3LCAyMTgsIDIwNSwgODEsIDkwLCAxLCAKKyAgICAyNTIsIDE2NCwgMjQwLCAyMjQsIDI1MiwgNzQsIDEwMiwgOTAsIDEsIDI1MiwgMTY0LCAyNDAsIDIyNCwgMjA4LCAxODQsIAorICAgIDEwMiwgOTAsIDEsIDI1MiwgMTY0LCAyNDAsIDIyNCwgMjQ2LCAxMDgsIDkwLCAxLCAyNTIsIDE2NCwgMjQwLCAyMjQsIDIxMCwgCisgICAgMTMsIDkwLCAxLCAyNTIsIDE2NCwgMjQwLCAyMjQsIDIzMywgMiwgMjEwLCAxMywgOTAsIDEsIDI1MiwgMTY0LCAyNDAsIAorICAgIDIyNCwgMjUwLCAxNDMsIDkwLCAxLCAyNTIsIDE2NCwgMjQwLCAyMjQsIDEyOSwgMjUwLCAxNDMsIDkwLCAxLCAyNTIsIDE2NCwgCisgICAgMjQwLCAyMjQsIDYyLCA5MCwgMSwgMjUyLCAxNjQsIDI0MCwgMjI0LCA3NCwgOTAsIDEsIDI1MiwgMTY0LCAyNDAsIDIyNCwgCisgICAgMTcyLCA5MCwgMSwgMjUyLCAxNjQsIDI0MCwgMjI0LCAyMjUsIDc3LCA5MCwgMSwgMjUyLCAxNjQsIDI0MCwgMjI0LCAyNDksIAorICAgIDEsIDkwLCAxLCAyNTIsIDE2NCwgMjQwLCAyMjQsIDIxMCwgMjA4LCA5MCwgMSwgMjUyLCAxNjQsIDI0MCwgMjI0LCAyMTAsIAorICAgIDE5NiwgOTAsIDEsIDI1MiwgMTY0LCAyNDAsIDIyNCwgMjQ2LCA1NCwgOTAsIDEsIDI1MiwgMTY0LCAyNDAsIDIyNCwgMjI0LCAKKyAgICAxMDMsIDkwLCAxLCAyNTIsIDE2NCwgMjQwLCAyMjQsIDIxMiwgMjE5LCA5MCwgMSwgMjUyLCAxNjQsIDI0MCwgMjI0LCAyNDYsIAorICAgIDE0NSwgOTAsIDEsIDI1MiwgMTY0LCAyNDAsIDIyNCwgMTc5LCA5MCwgMSwgMjUyLCAxNjQsIDI0MCwgMjI0LCAyMjEsIDkzLCAKKyAgICA5MCwgMSwgMjUyLCAxNjQsIDI0MCwgMjI0LCAyMTQsIDk2LCA5MCwgMSwgMjUyLCAxNjQsIDI0MCwgMjI0LCAyMDUsIDgxLCAKKyAgICA5MCwgMSwgMjUyLCAxNjQsIDI0MCwgMjI0LCAyMDUsIDExNiwgOTAsIDEsIDI1MiwgMTY0LCAyNDAsIDIyNCwgMjUyLCAyMTMsIAorICAgIDkwLCAxLCAyMTEsIDEyNywgMjUyLCAxNjQsIDI0MCwgMjI0LCAyMTIsIDIxOSwgOTAsIDEsIDIxMSwgMTI3LCAyNTIsIDE2NCwgCisgICAgMjQwLCAyMjQsIDIwNSwgODEsIDkwLCAxLCAyMjcsIDIxOCwgMjUyLCAxNjQsIDI0MCwgMjI0LCAyNDAsIDk5LCA5MCwgMSwgCisgICAgMjI3LCAyMTgsIDI1MiwgMTY0LCAyNDAsIDIyNCwgMjI1LCA3NywgOTAsIDEsIDIyNywgMjE4LCAyNTIsIDE2NCwgMjQwLCAKKyAgICAyMjQsIDI0OSwgMSwgOTAsIDEsIDIyNywgMjE4LCAyNTIsIDE2NCwgMjQwLCAyMjQsIDIzMiwgMTcwLCA5MCwgMSwgMjI3LCAKKyAgICAyMTgsIDI1MiwgMTY0LCAyNDAsIDIyNCwgMjEwLCAyMDgsIDkwLCAxLCAyMjcsIDIxOCwgMjUyLCAxNjQsIDI0MCwgMjI0LCAKKyAgICAyNDYsIDM4LCA5MCwgMSwgMjI3LCAyMTgsIDI1MiwgMTY0LCAyNDAsIDIyNCwgMjEyLCAyMTksIDkwLCAxLCAyMjcsIDIxOCwgCisgICAgMjUyLCAxNjQsIDI0MCwgMjI0LCAyNDUsIDE5MiwgOTAsIDEsIDIyNywgMjE4LCAyNTIsIDE2NCwgMjQwLCAyMjQsIDIxNCwgCisgICAgOTYsIDkwLCAxLCAyMjcsIDIxOCwgMjUyLCAxNjQsIDI0MCwgMjI0LCAyNDYsIDI1NCwgOTAsIDEsIDIyNywgMjE4LCAyNTIsIAorICAgIDE2NCwgMjQwLCAyMjQsIDIwNSwgODEsIDkwLCAxLCAyMjcsIDIxOCwgMjUyLCAxNjQsIDI0MCwgMjI0LCAyMDUsIDExNiwgCisgICAgOTAsIDEsIDI1MiwgMTY0LCAyNDAsIDIyNCwgMTYwLCA3MSwgOTAsIDEsIDI1MiwgMTY0LCAyNDAsIDIyNCwgMTYwLCAxOTAsIAorICAgIDkwLCAxLCAyMjcsIDIxOCwgMjUyLCAxNjQsIDI0MCwgMjI0LCAyNTAsIDAsIDkwLCAxLCAyNTIsIDE2NCwgMjQwLCAyMjQsIAorICAgIDI0NiwgMTM0LCA5MCwgMSwgMjI3LCAyMTgsIDI1MiwgMTY0LCAyNDAsIDIyNCwgMjI5LCAyNDgsIDE5LCAyMCwgMjIyLCA3MSwgCisgICAgMTksIDIwLCAyNTEsIDE1OSwgMTksIDIwLCAyNTMsIDExOSwgMTksIDIwLCAyMDcsIDU0LCAxOSwgMjAsIDIyMCwgMTU4LCAKKyAgICAxOSwgMjAsIDIyMSwgMTgzLCAxOSwgMjAsIDIyMCwgMzYsIDE5LCAyMCwgMjEyLCAxNDAsIDE5LCAyMCwgMjMxLCAyMzEsIAorICAgIDE5LCAyMCwgMjMwLCAxOTIsIDE5LCAyMCwgMjI3LCAxNjIsIDE5LCAyMCwgMjI0LCAyNiwgMTksIDIwLCAyMjUsIDE4NSwgCisgICAgMTksIDIwLCAyMzAsIDY4LCAxOSwgMjAsIDIxNCwgMTU3LCAxOSwgMjAsIDIxNywgMTE2LCAxOSwgMjAsIDIxNSwgMTI0LCAKKyAgICAxOSwgMjAsIDIxNSwgMjE4LCAxOSwgMjAsIDIxNSwgOTAsIDE5LCAyMCwgMjA1LCAyMjIsIDE5LCAyMCwgMjA2LCA1OCwgMTksIAorICAgIDIwLCAyMTksIDU4LCAxOSwgMjAsIDIyMywgMTUwLCAxOSwgMjAsIDIyMiwgMTg3LCAyMjMsIDE1MCwgMTksIDIwLCAyMjMsIAorICAgIDE0OSwgMTksIDIwLCAyMjIsIDE4NywgMjIzLCAxNDksIDE5LCAyMCwgMjIzLCAxNDgsIDE5LCAyMCwgMjIyLCAxODcsIDIyMywgCisgICAgMTQ4LCAxOSwgMjAsIDIyMywgMTQ3LCAxOSwgMjAsIDIyMiwgMTg3LCAyMjMsIDE0NywgMTksIDIwLCAyMTgsIDE0LCAxOSwgCisgICAgMjAsIDIxOCwgMTMsIDE5LCAyMCwgMjE4LCAxMiwgMTksIDIwLCAyMTgsIDExLCAxOSwgMjAsIDIxOCwgMTAsIDE5LCAyMCwgCisgICAgMjE4LCAxOCwgMTksIDIwLCAyMjIsIDE4NywgMjIyLCA2NywgMTksIDIwLCAyMjIsIDE4NywgMjEzLCAxMCwgMTksIDIwLCAKKyAgICAyMjIsIDE4NywgMjMyLCA3NiwgMTksIDIwLCAyMjIsIDE4NywgMjQ5LCAzNCwgMTksIDIwLCAyMjIsIDE4NywgMjI5LCAyOCwgCisgICAgMTksIDIwLCAyMjIsIDE4NywgMjI2LCAzMywgMTksIDIwLCAyMjIsIDE4NywgMTgyLCAxOSwgMjAsIDIyMiwgMTg3LCAyMTYsIAorICAgIDQsIDE5LCAyMCwgMjQzLCAxMTUsIDIwNywgMTI5LCAxOSwgMjAsIDIwNywgMzQsIDIwNywgMTI5LCAxOSwgMjAsIDQyLCA1LCAKKyAgICAyMTgsIDE0OCwgMTksIDIwLCA0MiwgMjE5LCA4MSwgMjQ1LCAyMywgMTksIDIwLCAyMTksIDE0OSwgMjE4LCAxNSwgMTksIAorICAgIDIwLCAxODAsIDIyOSwgMTE1LCAxOSwgMjAsIDE4MCwgMjMwLCAxNDAsIDE5LCAyMCwgMjExLCAyMjAsIDE5LCAyMCwgMjExLCAKKyAgICAyMjIsIDE5LCAyMCwgMjEwLCAxODgsIDE5LCAyMCwgMjEwLCAxOTAsIDE5LCAyMCwgMjEwLCAxOTUsIDE5LCAyMCwgMjExLCAKKyAgICAxMzcsIDE5LCAyMCwgMjExLCAxMzksIDE5LCAyMCwgMjE3LCAxMTQsIDIxNSwgOTUsIDE5LCAyMCwgMjE3LCAxMTQsIDIxNSwgCisgICAgMTUyLCAxOSwgMjAsIDIxNywgMTE0LCAyMzgsIDEzMSwgMTksIDIwLCA4NSwgMjM5LCAxNjksIDE5LCAyMCwgODUsIDI0NSwgCisgICAgMjI1LCAyNDAsIDE2MiwgMTksIDIwLCA4NSwgMjQwLCAyNDEsIDE5LCAyMCwgODUsIDIzOSwgMTc0LCAxOSwgMjAsIDIxNywgCisgICAgMTE0LCAyMzIsIDg2LCAxOSwgMjAsIDg1LCAyMzIsIDg0LCAxOSwgMjAsIDI1MCwgNTMsIDI0NSwgMjI1LCAxNDksIDE5LCAKKyAgICAyMCwgMjUwLCA1MywgMjQ1LCAyMjUsIDEzNywgMTksIDIwLCA4NSwgMjQ1LCAyMjAsIDE4MiwgMjI5LCAyMTUsIDIwOCwgCisgICAgMTU0LCAyMzAsIDUsIDIyOSwgMjE1LCAxLCAxNzIsIDIyOSwgMjE1LCAxLCAyMzEsIDE2NywgMjI5LCAyMTUsIDEsIDI0MCwgCisgICAgMjQ0LCAyMjksIDIxNSwgMSwgMjQwLCA5OSwgMjI5LCAyMTUsIDEsIDIyNSwgNzcsIDIyOSwgMjE1LCAxLCAyNDksIDEsIAorICAgIDIyOSwgMjE1LCAxLCAyNDgsIDExMCwgMjI5LCAyMTUsIDEsIDIzMiwgMjAwLCAyMjksIDIxNSwgMSwgMjMyLCAxNzAsIDIyOSwgCisgICAgMjE1LCAxLCAyMDYsIDc3LCAyMjksIDIxNSwgMSwgMjEyLCAyMTksIDIyOSwgMjE1LCAxLCAyMTIsIDU2LCAyMjksIDIxNSwgCisgICAgMSwgMjQ2LCAxNDUsIDIyOSwgMjE1LCAxLCAyNDUsIDE5MiwgMjI5LCAyMTUsIDEsIDE5OSwgMjI5LCAyMTUsIDEsIDE3OSwgCisgICAgMjI5LCAyMTUsIDEsIDIyMSwgOTMsIDIyOSwgMjE1LCAxLCAyNTAsIDE4MywgMjI5LCAyMTUsIDEsIDI1MCwgMCwgMjI5LCAKKyAgICAyMTUsIDEsIDE4NSwgMjI5LCAyMTUsIDEsIDE5MCwgMjI5LCAyMTUsIDEsIDIxOSwgMTEzLCAyMjksIDIxNSwgMSwgMjMwLCAKKyAgICAxNDEsIDIyOSwgMjE1LCAxLCAyMDcsIDk2LCAyMjksIDIxNSwgMSwgMjE2LCAyLCAyMjksIDIxNSwgMSwgMjE0LCA5NiwgCisgICAgMjI5LCAyMTUsIDEsIDIxNywgMTk5LCAyMjksIDIxNSwgMSwgMTU1LCAyMjksIDIxNSwgMSwgMjM5LCAxNjUsIDIyOSwgMjE1LCAKKyAgICAxLCAyMTEsIDgzLCAyMjksIDIxNSwgMjIsIDMsIDYyLCAyMjksIDIxNSwgMjIsIDMsIDc0LCAyMjksIDIxNSwgMjIsIDMsIAorICAgIDcxLCAyMjksIDIxNSwgMjIsIDMsIDI0MywgMTA0LCAyMjksIDIxNSwgMjIsIDMsIDI1MiwgMjA1LCAyMjksIDIxNSwgMjIsIAorICAgIDMsIDIyMiwgMTUyLCAyMjksIDIxNSwgMjIsIDMsIDI1MSwgMTg0LCAyMjksIDIxNSwgMjIsIDMsIDc1LCAyMjksIDIxNSwgCisgICAgMjIsIDMsIDc2LCAyMjksIDIxNSwgMjEzLCAxOTEsIDEsIDE5MCwgMjI5LCAyMTUsIDIxMywgMTkxLCAxLCAyMTksIDExMywgCisgICAgMjI5LCAyMTUsIDIxMywgMTkxLCAxLCAyMDcsIDk2LCAyMjksIDIxNSwgNSwgMSwgMTcyLCAyMjksIDIxNSwgNSwgMSwgMjI1LCAKKyAgICA3NywgMjI5LCAyMTUsIDUsIDEsIDI1MiwgNzMsIDIyOSwgMjE1LCA1LCAxLCAyMTIsIDIxOSwgMjI5LCAyMTUsIDUsIDEsIAorICAgIDE5OSwgMjI5LCAyMTUsIDUsIDEsIDE3OSwgMjI5LCAyMTUsIDUsIDEsIDE4NSwgMjI5LCAyMTUsIDUsIDEsIDIxOSwgMTEzLCAKKyAgICAyMjksIDIxNSwgNSwgMSwgMjMwLCAxNDEsIDIyOSwgMjE1LCAzLCAyMjYsIDk5LCAyMjksIDIxNSwgMywgMjMxLCAyMDksIAorICAgIDIyOSwgMjE1LCAzLCAyMTcsIDE5NywgMjI5LCAyMTUsIDMsIDIyOSwgMTE1LCAyMjksIDIxNSwgMjQyLCAxNjgsIDgzLCAKKyAgICAyMjksIDIxNSwgMjE5LCAxOTYsIDgzLCAyMjksIDIxNSwgMTgsIDIwNSwgODUsIDIyOSwgMjE1LCAxOCwgMTAyLCAyMjksIAorICAgIDIxNSwgMTgsIDEwNSwgMjI5LCAyMTUsIDE4LCAxNDIsIDIyOSwgMjE1LCAxOCwgMTM5LCAyMjksIDIxNSwgMTgsIDE2OCwgCisgICAgMjI5LCAyMTUsIDE4LCAxODQsIDIyOSwgMjE1LCAxOCwgMTk1LCAyMjksIDIxNSwgMTgsIDE5MywgMjI5LCAyMTUsIDE4LCAKKyAgICAyMDAsIDQxLCAyMzAsIDU5LCAxLCAxNzIsIDQxLCAyMzAsIDU5LCAxLCAyMDYsIDE4MSwgNDEsIDIzMCwgNTksIDEsIDIyNSwgCisgICAgNzcsIDQxLCAyMzAsIDU5LCAxLCAyMTAsIDI0MywgNDEsIDIzMCwgNTksIDEsIDIxNywgMTk5LCA0MSwgMjMwLCA1OSwgMSwgCisgICAgMTkwLCA0MSwgMjMwLCA1OSwgMSwgMjEyLCAyMTksIDQxLCAyMzAsIDU5LCAxLCAyMTIsIDU2LCA0MSwgMjMwLCA1OSwgMSwgCisgICAgMjMwLCAxNDEsIDQxLCAyMzAsIDU5LCAxLCAxNzksIDQxLCAyMzAsIDU5LCAxLCAyMjEsIDkzLCA0MSwgMjMwLCA1OSwgMSwgCisgICAgMTg1LCA0MSwgMjMwLCA1OSwgMSwgMjQyLCA3MywgNDEsIDIzMCwgNTksIDEsIDIwOSwgNzAsIDQxLCAyMzAsIDU5LCAxLCAKKyAgICAxNTUsIDQxLCAyMzAsIDU5LCAxLCAyMjAsIDE5LCA0MSwgMjMwLCA1OSwgMSwgMjMxLCAxNjcsIDQxLCAyMzAsIDU5LCAxLCAKKyAgICAyMTAsIDIzMywgNDEsIDIzMCwgNTksIDEsIDE5OSwgNDEsIDIzMCwgNTksIDEsIDYyLCA0MSwgMjMwLCA1OSwgMSwgNzQsIAorICAgIDQxLCAyMzAsIDU5LCAxLCAyNDMsIDEwNCwgNDEsIDIzMCwgNTksIDEsIDI0MywgOTIsIDQxLCAyMzAsIDU5LCAxLCA3MSwgCisgICAgNDEsIDIzMCwgNTksIDEsIDIyMiwgMTUyLCA0MSwgMjMwLCA1OSwgMSwgNzYsIDQxLCAyMzAsIDU5LCAxLCAyMTAsIDMsIDQxLCAKKyAgICAyMzAsIDU5LCAxLCA3NSwgNDEsIDIzMCwgNTksIDEsIDI1MSwgMTgyLCA0MSwgMjMwLCA1OSwgMSwgMjUyLCAyMDUsIDQxLCAKKyAgICAyMzAsIDU5LCAxLCAyMTEsIDExNiwgNDEsIDIzMCwgNTksIDEsIDIxMSwgMTE1LCA0MSwgMjMwLCA1OSwgMSwgMjExLCAxMTQsIAorICAgIDQxLCAyMzAsIDU5LCAxLCAyMTEsIDExMywgNDEsIDIzMCwgNTksIDEsIDIxMSwgMTEyLCAxODYsIDQxLCAyMjksIDc1LCAxLCAKKyAgICAxMjcsIDIyMCwgMTksIDE4NiwgNDEsIDIyOSwgNzUsIDEsIDExNCwgMjIwLCAxOSwgMTg2LCA0MSwgMjI5LCA3NSwgMSwgCisgICAgMTI3LCAxNzIsIDE4NiwgNDEsIDIyOSwgNzUsIDEsIDEyNywgMjA2LCAxODEsIDE4NiwgNDEsIDIyOSwgNzUsIDEsIDEyNywgCisgICAgMjI1LCA3NywgMTg2LCA0MSwgMjI5LCA3NSwgMSwgMTE0LCAxNzIsIDE4NiwgNDEsIDIyOSwgNzUsIDEsIDExNCwgMjA2LCAKKyAgICAxODEsIDE4NiwgNDEsIDIyOSwgNzUsIDEsIDExNCwgMjI1LCA3NywgMTg2LCA0MSwgMjI5LCA3NSwgMSwgMTI3LCAyMTAsIAorICAgIDI0MywgMTg2LCA0MSwgMjI5LCA3NSwgMSwgMTI3LCAyMTcsIDE5OSwgMTg2LCA0MSwgMjI5LCA3NSwgMSwgMTI3LCAxOTAsIAorICAgIDE4NiwgNDEsIDIyOSwgNzUsIDEsIDExNCwgMjEwLCAyNDMsIDE4NiwgNDEsIDIyOSwgNzUsIDEsIDExNCwgMjE3LCAxOTksIAorICAgIDE4NiwgNDEsIDIyOSwgNzUsIDEsIDExNCwgMTkwLCAxODYsIDQxLCAyMjksIDc1LCAxLCAxMjcsIDIxMiwgMjE5LCAxODYsIAorICAgIDQxLCAyMjksIDc1LCAxLCAxMjcsIDIxMiwgNTYsIDE4NiwgNDEsIDIyOSwgNzUsIDEsIDEyNywgMTk5LCAxODYsIDQxLCAKKyAgICAyMjksIDc1LCAxLCAxMTQsIDIxMiwgMjE5LCAxODYsIDQxLCAyMjksIDc1LCAxLCAxMTQsIDIxMiwgNTYsIDE4NiwgNDEsIAorICAgIDIyOSwgNzUsIDEsIDExNCwgMTk5LCAxODYsIDQxLCAyMjksIDc1LCAxLCAxMjcsIDE3OSwgMTg2LCA0MSwgMjI5LCA3NSwgMSwgCisgICAgMTI3LCAyMjEsIDkzLCAxODYsIDQxLCAyMjksIDc1LCAxLCAxMjcsIDE4NSwgMTg2LCA0MSwgMjI5LCA3NSwgMSwgMTE0LCAKKyAgICAxNzksIDE4NiwgNDEsIDIyOSwgNzUsIDEsIDExNCwgMjIxLCA5MywgMTg2LCA0MSwgMjI5LCA3NSwgMSwgMTE0LCAxODUsIAorICAgIDE4NiwgNDEsIDIyOSwgNzUsIDEsIDEyNywgMjQyLCA3MywgMTg2LCA0MSwgMjI5LCA3NSwgMSwgMTI3LCAyMDksIDcwLCAKKyAgICAxODYsIDQxLCAyMjksIDc1LCAxLCAxMjcsIDIzMCwgMTQxLCAxODYsIDQxLCAyMjksIDc1LCAxLCAxMTQsIDI0MiwgNzMsIAorICAgIDE4NiwgNDEsIDIyOSwgNzUsIDEsIDExNCwgMjA5LCA3MCwgMTg2LCA0MSwgMjI5LCA3NSwgMSwgMTE0LCAyMzAsIDE0MSwgCisgICAgMTg2LCA0MSwgMjI5LCA3NSwgMSwgMTI3LCAxNTUsIDE4NiwgNDEsIDIyOSwgNzUsIDEsIDEyNywgMjQ2LCAxNDUsIDE4NiwgCisgICAgNDEsIDIyOSwgNzUsIDEsIDEyNywgMjUwLCAxODMsIDE4NiwgNDEsIDIyOSwgNzUsIDEsIDExNCwgMTU1LCAxODYsIDQxLCAKKyAgICAyMjksIDc1LCAxLCAxMTQsIDI0NiwgMTQ1LCAxODYsIDQxLCAyMjksIDc1LCAxLCAxMTQsIDI1MCwgMTgzLCAxODYsIDQxLCAKKyAgICAyMjksIDc1LCAxLCAxMjcsIDIzMCwgMTk3LCAxODYsIDQxLCAyMjksIDc1LCAxLCAxMjcsIDIwNiwgMTQ4LCAxODYsIDQxLCAKKyAgICAyMjksIDc1LCAxLCAxMTQsIDIzMCwgMTk3LCAxODYsIDQxLCAyMjksIDc1LCAxLCAxMTQsIDIwNiwgMTQ4LCAxODYsIDQxLCAKKyAgICAyMjksIDc1LCAxLCAxMjcsIDIxMywgMjAyLCAxODYsIDQxLCAyMjksIDc1LCAxLCAxMTQsIDIxMywgMjAyLCAxODYsIDQxLCAKKyAgICAyMjksIDc1LCAyMiwgMywgMjIsIDIxNSwgMTMyLCAxODYsIDQxLCAyMjksIDc1LCAyMiwgMywgMjUzLCAxNjQsIDE4NiwgNDEsIAorICAgIDIyOSwgNzUsIDIyLCAzLCAyMzMsIDEwMiwgMTg2LCA0MSwgMjI5LCA3NSwgMjIsIDMsIDcxLCAxODYsIDQxLCAyMjksIDc1LCAKKyAgICAyMiwgMywgMjA5LCAxNjIsIDE4NiwgNDEsIDIyOSwgNzUsIDIyLCAzLCA3NSwgMTg2LCA0MSwgMjI5LCA3NSwgMjIsIDMsIAorICAgIDI1MiwgMjQ4LCAxODYsIDQxLCAyMjksIDc1LCAyMiwgMywgNzYsIDE4NiwgNDEsIDIyOSwgNzUsIDIyLCAzLCAyMjIsIDIzMCwgCisgICAgMTg2LCA0MSwgMjI5LCA3NSwgMjIsIDMsIDIxMCwgMywgMTg2LCA0MSwgMjI5LCA3NSwgMjIsIDMsIDI1MSwgMTU5LCAxODYsIAorICAgIDQxLCAyMjksIDc1LCAyMiwgMywgMjUzLCAxMTksIDE4NiwgNDEsIDIyOSwgNzUsIDIyLCAzLCAyMDksIDE1NCwgMTg2LCA0MSwgCisgICAgMjI5LCA3NSwgMjIsIDMsIDIyMiwgNzEsIDE4NiwgNDEsIDIyOSwgNzUsIDIyLCAzLCAyMjIsIDIyNywgMTg2LCA0MSwgMjI5LCAKKyAgICA3NSwgMjIsIDMsIDIwOSwgMjU1LCAxODYsIDQxLCAyMjksIDc1LCAyMiwgMywgMjMyLCAyMTEsIDE4NiwgNDEsIDIyOSwgNzUsIAorICAgIDEsIDQyLCAyMDksIDE0OCwgMTg2LCA0MSwgMjI5LCA3NSwgMSwgNDIsIDIyNSwgNzksIDE4NiwgNDEsIDIyOSwgNzUsIDEsIAorICAgIDQyLCAyMjYsIDMzLCAxODYsIDQxLCAyMjksIDc1LCAxLCA0MiwgMjI5LCAyOCwgMTg2LCA0MSwgMjI5LCA3NSwgMSwgNDIsIAorICAgIDIzMiwgNzYsIDE4NiwgNDEsIDIyOSwgNzUsIDEsIDQyLCAyNDYsIDI0MCwgMTg2LCA0MSwgMjI5LCA3NSwgMSwgNDIsIDI1MSwgCisgICAgMTUwLCAxODYsIDQxLCAyMjksIDc1LCAxMzUsIDIyNywgMTkxLCAxODYsIDQxLCAyMjksIDc1LCAxMzUsIDIyNywgMTkwLCAKKyAgICAxODYsIDQxLCAyMjksIDc1LCAxOCwgMjA1LCA4NSwgMTg2LCA0MSwgMjI5LCA3NSwgMTgsIDEwMiwgMTg2LCA0MSwgMjI5LCAKKyAgICA3NSwgMTgsIDEwNSwgMTg2LCA0MSwgMjI5LCA3NSwgMTgsIDE0MiwgMTg2LCA0MSwgMjI5LCA3NSwgMTgsIDEzOSwgMTg2LCAKKyAgICA0MSwgMjI5LCA3NSwgMTgsIDE2OCwgMTg2LCA0MSwgMjI5LCA3NSwgMTgsIDE4NCwgMTg2LCA0MSwgMjI5LCA3NSwgMTgsIAorICAgIDE5NSwgMTg2LCA0MSwgMjI5LCA3NSwgMTgsIDE5MywgMTg2LCA0MSwgMjI5LCA3NSwgMTgsIDIwMCwgMTg2LCA0MSwgMjI5LCAKKyAgICA3NSwgOTksIDE4LCAxMDIsIDE4NiwgNDEsIDIyOSwgNzUsIDMsIDIzMCwgMTI1LCAxODYsIDQxLCAyMjksIDc1LCAzLCAyMzAsIAorICAgIDEyNCwgODIsIDE2LCAyMjEsIDE5MSwgODIsIDE2LCAyMjYsIDgxLCAyMzEsIDQ5LCA4MiwgMTYsIDIyMSwgMTYsIDIzMSwgCisgICAgNDksIDgyLCAxNiwgMjUwLCAzNCwgMjMxLCA0OSwgODIsIDE2LCAyNDksIDc0LCAyMzEsIDQ5LCA4MiwgMTYsIDIyMCwgMTUzLCAKKyAgICAyMzEsIDQ5LCA4MiwgMTYsIDIyMCwgMTQ3LCAyMzEsIDQ5LCA4MiwgMTYsIDIyMCwgMTQ1LCAyMzEsIDQ5LCA4MiwgMTYsIAorICAgIDIyMCwgMTUxLCAyMzEsIDQ5LCA4MiwgMTYsIDIyMCwgMTQ5LCAyMzEsIDQ5LCA4MiwgMTYsIDI0NiwgOTUsIDIzMSwgNDksIAorICAgIDgyLCAxNiwgMjQ2LCA5MSwgMjMxLCA0OSwgODIsIDE2LCAyNDYsIDkwLCAyMzEsIDQ5LCA4MiwgMTYsIDI0NiwgOTMsIDIzMSwgCisgICAgNDksIDgyLCAxNiwgMjQ2LCA5MiwgMjMxLCA0OSwgODIsIDE2LCAyNDYsIDg5LCAyMzEsIDQ5LCA4MiwgMTYsIDIxMCwgMTM3LCAKKyAgICA4MiwgMTYsIDIyNiwgODEsIDIxOCwgMTE4LCA4MiwgMTYsIDIyMSwgMTYsIDIxOCwgMTE4LCA4MiwgMTYsIDI1MCwgMzQsIAorICAgIDIxOCwgMTE4LCA4MiwgMTYsIDI0OSwgNzQsIDIxOCwgMTE4LCA4MiwgMTYsIDIyMCwgMTUzLCAyMTgsIDExOCwgODIsIDE2LCAKKyAgICAyMjAsIDE0NywgMjE4LCAxMTgsIDgyLCAxNiwgMjIwLCAxNDUsIDIxOCwgMTE4LCA4MiwgMTYsIDIyMCwgMTUxLCAyMTgsIAorICAgIDExOCwgODIsIDE2LCAyMjAsIDE0OSwgMjE4LCAxMTgsIDgyLCAxNiwgMjQ2LCA5NSwgMjE4LCAxMTgsIDgyLCAxNiwgMjQ2LCAKKyAgICA5MSwgMjE4LCAxMTgsIDgyLCAxNiwgMjQ2LCA5MCwgMjE4LCAxMTgsIDgyLCAxNiwgMjQ2LCA5MywgMjE4LCAxMTgsIDgyLCAKKyAgICAxNiwgMjQ2LCA5MiwgMjE4LCAxMTgsIDgyLCAxNiwgMjQ2LCA4OSwgMjE4LCAxMTgsIDI0OSwgOTQsIDEsIDE3MiwgMjQ5LCAKKyAgICA5NCwgMSwgMjQwLCAyNDQsIDI0OSwgOTQsIDEsIDIyNSwgNzcsIDI0OSwgOTQsIDEsIDIyNSwgMjAsIDI0OSwgOTQsIDEsIAorICAgIDE3OSwgMjQ5LCA5NCwgMSwgMjUwLCAxODMsIDI0OSwgOTQsIDEsIDE4NSwgMjQ5LCA5NCwgMSwgMjI2LCAxMTgsIDI0OSwgCisgICAgOTQsIDEsIDIxMiwgMjE5LCAyNDksIDk0LCAxLCAyNDYsIDE0NSwgMjQ5LCA5NCwgMSwgMTk5LCAyNDksIDk0LCAxLCAyMjQsIAorICAgIDI0LCAyNDksIDk0LCAxLCAyNDksIDEsIDI0OSwgOTQsIDEsIDIzMiwgMjAwLCAyNDksIDk0LCAxLCAyMjMsIDE0NCwgMjQ5LCAKKyAgICA5NCwgMSwgMjIzLCAxMzYsIDI0OSwgOTQsIDEsIDE5MCwgMjQ5LCA5NCwgMSwgMjE5LCAxMTMsIDI0OSwgOTQsIDEsIDIzMCwgCisgICAgMTQxLCAyNDksIDk0LCAxLCAyMDksIDcwLCAyNDksIDk0LCAxLCAyMTcsIDE5OSwgMjQ5LCA5NCwgMSwgNjIsIDI0OSwgOTQsIAorICAgIDEsIDE1NSwgMjQ5LCA5NCwgMjIsIDMsIDc0LCAyNDksIDk0LCAyMiwgMywgNzEsIDI0OSwgOTQsIDIyLCAzLCA3NSwgMjQ5LCAKKyAgICA5NCwgMjIsIDMsIDc2LCAyNDksIDk0LCAyMiwgMywgMjUyLCAyNDgsIDI0OSwgOTQsIDIyMiwgMjAsIDI0OSwgOTQsIDI0MywgCisgICAgMzQsIDczLCAyMTcsIDc2LCA0MSwgOTksIDEsIDEyNywgMTcyLCA0MSwgOTksIDEsIDEyNywgMjMxLCAxNjcsIDQxLCA5OSwgCisgICAgMSwgMTI3LCAyMzAsIDE4MSwgNDEsIDk5LCAxLCAxMTQsIDE3MiwgNDEsIDk5LCAxLCAxMTQsIDIzMCwgMTgxLCA0MSwgOTksIAorICAgIDEsIDExNCwgMjMxLCAxNjcsIDQxLCA5OSwgMSwgMjI1LCA3NywgNDEsIDk5LCAxLCAxMjcsIDI0OSwgMSwgNDEsIDk5LCAxLCAKKyAgICAxMjcsIDI0OCwgMTEwLCA0MSwgOTksIDEsIDExNCwgMjQ5LCAxLCA0MSwgOTksIDEsIDExNCwgMjE3LCAxOTksIDQxLCA5OSwgCisgICAgMSwgMTE0LCAyNDgsIDExMCwgNDEsIDk5LCAxLCAyMjMsIDE0NCwgNDEsIDk5LCAxLCAyMTksIDY0LCA0MSwgOTksIDEsIAorICAgIDEyNywgMjE5LCA2MiwgNDEsIDk5LCAxLCAyNDYsIDE0NSwgNDEsIDk5LCAxLCAxMTQsIDIxOSwgNjIsIDQxLCA5OSwgMSwgCisgICAgMjE5LCA3MywgNDEsIDk5LCAxLCAxMjcsIDIxMiwgMjE5LCA0MSwgOTksIDEsIDEyNywgMjEyLCA1NiwgNDEsIDk5LCAxLCAKKyAgICAxMTQsIDIxMiwgMjE5LCA0MSwgOTksIDEsIDExNCwgMjEyLCA1NiwgNDEsIDk5LCAxLCAxOTksIDQxLCA5OSwgMSwgMjUwLCAKKyAgICAxODMsIDQxLCA5OSwgMSwgMTI3LCAxNzksIDQxLCA5OSwgMSwgMTI3LCAyMjEsIDkzLCA0MSwgOTksIDEsIDEyNywgMjQyLCAKKyAgICA3MywgNDEsIDk5LCAxLCAxMTQsIDE3OSwgNDEsIDk5LCAxLCAxMTQsIDI0MiwgNzMsIDQxLCA5OSwgMSwgMTE0LCAyMjEsIAorICAgIDkzLCA0MSwgOTksIDEsIDE4NSwgNDEsIDk5LCAxLCAxMTQsIDE5MCwgNDEsIDk5LCAxLCAxMjcsIDE5MCwgNDEsIDk5LCAxLCAKKyAgICAyMTksIDExMywgNDEsIDk5LCAxLCAyMTgsIDQ2LCA0MSwgOTksIDEsIDIzMCwgMTQxLCA0MSwgOTksIDEsIDIyOSwgNzQsIAorICAgIDQxLCA5OSwgMSwgMjA3LCA5NiwgNDEsIDk5LCAxLCAxMjcsIDIxNiwgMiwgNDEsIDk5LCAxLCAxMjcsIDIxNCwgOTYsIDQxLCAKKyAgICA5OSwgMSwgMTI3LCAyMTcsIDE5OSwgNDEsIDk5LCAxLCAxMjcsIDE1NSwgNDEsIDk5LCAxLCAyMjksIDE3MiwgNDEsIDk5LCAKKyAgICAxLCA2MiwgNDEsIDk5LCAxLCAxMTQsIDE1NSwgNDEsIDk5LCAxLCA3NCwgNDEsIDk5LCAxLCAyMzMsIDEwMiwgNDEsIDk5LCAKKyAgICAxLCA3MSwgNDEsIDk5LCAxLCAyMDksIDE2MiwgNDEsIDk5LCAxLCAyNDMsIDEwNCwgNDEsIDk5LCAxLCAyMjIsIDE1MiwgNDEsIAorICAgIDk5LCAxLCAyMzAsIDEyNSwgNDEsIDk5LCAxLCAyMzksIDIzMiwgMjE3LCAxOTksIDQxLCA5OSwgMTA3LCAzLCAxNjksIDIxOSwgCisgICAgMTEzLCA0MSwgOTksIDEwNywgMywgMTY5LCAyMzAsIDE0MSwgNDEsIDk5LCAxMDcsIDMsIDIzMCwgMTQyLCAyMTIsIDE3MiwgCisgICAgMjMwLCAxMTQsIDQxLCA5OSwgMywgMjI3LCAyNDAsIDIzMiwgMjQsIDIzMCwgMTE0LCA0MSwgOTksIDEwNywgMywgNDIsIAorICAgIDIyNSwgNzcsIDQxLCA5OSwgMTA3LCAzLCAxMTQsIDE3OSwgNDEsIDk5LCAxMDcsIDMsIDEyNywgMjE5LCA2MywgMjIyLCAKKyAgICAxMjMsIDExNCwgMTc5LCA0MSwgOTksIDEwNywgMywgMTg1LCA0MSwgOTksIDEwNywgMywgMjUwLCAxODMsIDQxLCA5OSwgCisgICAgMTA3LCAzLCAyMTcsIDE5OSwgNDEsIDk5LCAzLCAyMTcsIDE3NCwgNDEsIDk5LCAyMiwgMywgNjIsIDQxLCA5OSwgMjIsIDMsIAorICAgIDIyNywgMjQwLCAyMTcsIDEzMywgNDEsIDk5LCAyMiwgMywgMjUzLCAxNjQsIDQxLCA5OSwgMjIsIDMsIDIxMiwgMTc4LCAKKyAgICAyNTMsIDE2NCwgNDEsIDk5LCAyMiwgMywgNzQsIDQxLCA5OSwgMjIsIDMsIDIzMywgMTAyLCA0MSwgOTksIDIyLCAzLCAyMTAsIAorICAgIDMsIDQxLCA5OSwgMjIsIDMsIDIwOSwgMTYxLCA0MSwgOTksIDIyLCAzLCA3MSwgNDEsIDk5LCAyMiwgMywgMjA5LCAxNjIsIAorICAgIDQxLCA5OSwgMjIsIDMsIDc2LCA0MSwgOTksIDIyLCAzLCAyMjIsIDIzMSwgNTUsIDQxLCA5OSwgMjIsIDMsIDIyMiwgNzEsIAorICAgIDQxLCA5OSwgMjIsIDMsIDc1LCA0MSwgOTksIDIyLCAzLCAyNTIsIDI0OCwgNDEsIDk5LCAyMiwgMywgMjIyLCAxNTIsIDQxLCAKKyAgICA5OSwgMjIsIDMsIDI1MiwgMjA1LCA0MSwgOTksIDIyLCAzLCA5OSwgMjUyLCAyMDUsIDQxLCA5OSwgMjIsIDMsIDIyMiwgCisgICAgMjMxLCA1MiwgNDEsIDk5LCAzLCAyMjcsIDI0MCwgMjMyLCAyMywgNDEsIDk5LCAzLCAyMTEsIDExNywgNDEsIDk5LCAzLCAKKyAgICAyMTEsIDExNiwgNDEsIDk5LCAzLCAyMzEsIDEyOCwgMjExLCAxMTUsIDQxLCA5OSwgMywgMjMxLCAxMjgsIDIxMSwgMTE0LCAKKyAgICA0MSwgOTksIDMsIDIzMSwgMTI4LCAyMTEsIDExMywgNDEsIDk5LCAzLCAyMTksIDExNCwgMjM5LCAxNDAsIDQxLCA5OSwgMywgCisgICAgMjI3LCAyNDAsIDIxNywgMTYxLCA0MSwgOTksIDMsIDIzMSwgMTI3LCAyMzIsIDYsIDQxLCA5OSwgMzYsIDI0NywgNDMsIAorICAgIDI0NSwgMjMsIDQxLCA5OSwgMjM4LCAxMjMsIDE4LCAyMDUsIDg1LCA0MSwgOTksIDIzOCwgMTIzLCAxOCwgMTAyLCA0MSwgCisgICAgOTksIDIzOCwgMTIzLCAxOCwgMTA1LCA0MSwgOTksIDIzOCwgMTIzLCAxOCwgMTQyLCA0MSwgOTksIDIzOCwgMTIzLCAxOCwgCisgICAgMTM5LCA0MSwgOTksIDIzOCwgMTIzLCAxOCwgMTY4LCA0MSwgOTksIDIzOCwgMTIzLCAxOCwgMTg0LCA0MSwgOTksIDIzOCwgCisgICAgMTIzLCAxOCwgMTk1LCA0MSwgOTksIDIzOCwgMTIzLCAxOCwgMTkzLCA0MSwgOTksIDIzOCwgMTIzLCAxOCwgMjAwLCA0MSwgCisgICAgOTksIDk5LCAxOCwgMjA1LCA4NSwgNDEsIDk5LCA5OSwgMTgsIDEwMiwgNDEsIDk5LCA5OSwgMTgsIDEwNSwgNDEsIDk5LCAKKyAgICA5OSwgMTgsIDE0MiwgNDEsIDk5LCA5OSwgMTgsIDEzOSwgNDEsIDk5LCA5OSwgMTgsIDE2OCwgNDEsIDk5LCA5OSwgMTgsIAorICAgIDE4NCwgNDEsIDk5LCA5OSwgMTgsIDE5NSwgNDEsIDk5LCA5OSwgMTgsIDE5MywgNDEsIDk5LCA5OSwgMTgsIDIwMCwgNDEsIAorICAgIDk5LCAzLCAyMDcsIDE5LCA0MSwgOTksIDMsIDIwNywgMTgsIDQxLCA5OSwgMywgMjE3LCAxMjAsIDQxLCA5OSwgMywgMjMxLCAKKyAgICAxOTgsIDQxLCA5OSwgMywgMjM4LCA1MiwgNDEsIDk5LCAzLCAyNDUsIDM3LCA0MSwgOTksIDMsIDIxOCwgMjI0LCAyMTgsIAorICAgIDk3LCAyMTksIDczLCA0MSwgOTksIDMsIDIyNywgMjQwLCAyMDYsIDc4LCA0MSwgOTksIDMsIDIzMiwgNTgsIDQxLCA5OSwgMywgCisgICAgMjMyLCA1NywgNDEsIDk5LCAzLCAyMTcsIDEyOCwgNDEsIDk5LCAzLCAyMTcsIDEyNywgNDEsIDk5LCAzLCAyMzksIDEwMSwgCisgICAgNDEsIDk5LCAzLCAyNDgsIDI1NCwgMzYsIDI0NCwgMTMsIDI0NywgMjI4LCAyNTMsIDIxLCAzNiwgMjQ1LCAxNjUsIDM2LCAKKyAgICAyMzMsIDQ1LCAzNiwgMTczLCA0NSwgMzYsIDIxMSwgMzYsIDI0NSwgMjMsIDM2LCAyMDYsIDE5NCwgNTUsIDM2LCAyMDcsIAorICAgIDE0LCAyMjksIDIwNiwgNTUsIDM2LCAyMjIsIDE0MiwgMTQxLCA1NSwgMzYsIDUwLCAyMjIsIDE0MiwgMTQxLCA1NSwgMzYsIAorICAgIDE0NywgMjQ4LCAxMzAsIDIxMywgMjI1LCA1NSwgMzYsIDIxMywgMjExLCAyNDgsIDEzMCwgMjEzLCAyMjUsIDU1LCAzNiwgCisgICAgMjIxLCAyMTgsIDUyLCAzNiwgNTAsIDIyMSwgMjE4LCA1MiwgMzYsIDIyMSwgMjE4LCA1NSwgMzYsIDIyMSwgMjE4LCAyMjIsIAorICAgIDgyLCAxMTcsIDMsIDIwOSwgMjQ0LCAyMTgsIDIwMiwgMTE3LCAzLCAyMDksIDI0NCwgMjQ4LCAyMTksIDExNywgMywgMjQ4LCAKKyAgICAxNDQsIDExNywgMywgMjEzLCAxMzEsIDExNywgMywgMjQ5LCAyMTQsIDExNywgMSwgMjUyLCAxODcsIDExNywgMSwgMjUyLCAKKyAgICAxODgsIDIxMiwgMTIyLCAxMTcsIDEsIDIzMywgOTgsIDExNywgMSwgMjMzLCA5OSwgMjEyLCAxMjIsIDExNywgMSwgMjA5LCAKKyAgICAyNDcsIDExNywgMSwgMjA5LCAyNDgsIDIxMiwgMTIyLCAxMTcsIDEsIDIxOSwgMTE0LCAyMTgsIDI1NCwgMTE3LCAxLCAyMTksIAorICAgIDExNCwgMjE4LCAyNTUsIDIxMiwgMTIyLCAxMTcsIDEsIDIzMCwgMTQyLCAyMzAsIDIxLCAxMTcsIDEsIDIzMCwgMTQyLCAKKyAgICAyMzAsIDIyLCAyMTIsIDEyMiwgMTE3LCAxLCAyNDMsIDczLCAxMTcsIDEsIDI1MiwgMjAzLCAxMTcsIDEsIDIyMiwgMTgzLCAKKyAgICAxMTcsIDEsIDIyMiwgMTg0LCAyMTIsIDEyMiwgMTE3LCAxLCAxNzIsIDExNywgMSwgMjMyLCA2NiwgMjI3LCAyNDMsIDExNywgCisgICAgMSwgMjQwLCAyNDQsIDExNywgMSwgMjQwLCAyNDUsIDI0MCwgNSwgMTE3LCAxLCAyMjUsIDc3LCAxMTcsIDEsIDI0OSwgMSwgCisgICAgMTE3LCAxLCAyNDksIDIsIDIzMCwgMTI4LCAxMTcsIDEsIDIzMiwgMjAwLCAxMTcsIDEsIDIzMiwgMjAxLCAyMzIsIDE3NCwgCisgICAgMTE3LCAxLCAyMjMsIDE0NCwgMTE3LCAxLCAyMTIsIDIyMCwgMjMwLCA3NywgMTE3LCAxLCAyMTIsIDIyMCwgMjI2LCA3NiwgCisgICAgMjI3LCAyNDMsIDExNywgMSwgMjQ2LCAxNDYsIDIyNiwgNzYsIDI1MiwgMTQ2LCAxMTcsIDEsIDI0NiwgMTQ2LCAyMjYsIDc2LCAKKyAgICAyMjcsIDI0MywgMTE3LCAxLCAyMjUsIDIzNywgMjE5LCA3NiwgMTE3LCAxLCAyMTIsIDIxOSwgMTE3LCAxLCAyMTIsIDIyMCwgCisgICAgMjEyLCAxNDQsIDExNywgMSwgMjQ2LCAxNDUsIDExNywgMSwgMjQ2LCAxNDYsIDIyOCwgNiwgMTE3LCAxLCAxOTksIDExNywgCisgICAgMSwgMTc5LCAxMTcsIDEsIDIyMiwgNTIsIDIzMiwgMTgsIDExNywgMSwgMjUwLCAxODMsIDExNywgMSwgMjUwLCAxODQsIAorICAgIDIzMSwgMjEwLCAxMTcsIDEsIDE4NSwgMTE3LCAxLCAxOTAsIDExNywgMSwgMjE5LCAxMTMsIDExNywgMSwgMjMwLCAxNDEsIAorICAgIDExNywgMSwgMjA3LCA5NiwgMTE3LCAxLCAyMTcsIDIwMCwgMjE3LCAxODQsIDExNywgMSwgMjE3LCAyMDAsIDIxNywgMTQwLCAKKyAgICAxMTcsIDEsIDIxNywgMTk5LCAxMTcsIDEsIDE1NSwgMTE3LCAzLCAyMTgsIDI0NSwgMTE3LCAyMiwgMywgMjEyLCAxMjIsIAorICAgIDExNywgMjIsIDMsIDIwOSwgMjQzLCAxMTcsIDIyLCAzLCAyMDksIDI0NCwgMjE3LCAxMzYsIDExNywgMjIsIDMsIDIxMywgCisgICAgMTY0LCAxMTcsIDIyLCAzLCAyMTMsIDE2NSwgMjMzLCA5MCwgMTE3LCAyMiwgMywgMjE5LCAxMTQsIDIxOCwgMjU0LCAxMTcsIAorICAgIDIyLCAzLCAyMTksIDExNCwgMjE4LCAyNTUsIDIxMiwgMTIyLCAxMTcsIDIyLCAzLCAyMzAsIDE0MiwgMjMwLCAyMSwgMTE3LCAKKyAgICAyMiwgMywgMjMwLCAxNDIsIDIzMCwgMjIsIDIxMiwgMTIyLCAxMTcsIDIyLCAzLCAyMTIsIDE3OSwgMTE3LCAyMiwgMywgCisgICAgMjEyLCAxODAsIDIxOCwgMjU0LCAxMTcsIDIyLCAzLCAyMTIsIDE4MCwgMjEyLCAxMjIsIDExNywgMjIsIDMsIDIxMiwgMTgwLCAKKyAgICAyMTgsIDI1NSwgMjEyLCAxMjIsIDExNywgMjIsIDMsIDIyMSwgMTM0LCAxMTcsIDIyLCAzLCAyMjEsIDEzNSwgMjEyLCAxMjIsIAorICAgIDExNywgMjUzLCAwLCAyNTIsIDI1NSwgMTE3LCAxLCAyMzIsIDQ2LCAyMTcsIDEzNSwgMTE3LCAxLCAyMzEsIDEzNCwgMjE3LCAKKyAgICAxMzUsIDExNywgMSwgMjEwLCA4MCwgMjE3LCAxMzUsIDExNywgMSwgMjQzLCA5OCwgMjE3LCAxMzUsIDExNywgMSwgMjA5LCAKKyAgICA0MCwgMjE3LCAxMzUsIDExNywgMSwgMjA1LCAxMDcsIDIxNywgMTM1LCAxMTcsIDEsIDI1MSwgMjAyLCAyMTcsIDEzNSwgCisgICAgMTE3LCAxOCwgMjA1LCA4NSwgMTE3LCAxOCwgMTAyLCAxMTcsIDE4LCAxMDUsIDExNywgMTgsIDE0MiwgMTE3LCAxOCwgMTM5LCAKKyAgICAxMTcsIDE4LCAxNjgsIDExNywgMTgsIDE4NCwgMTE3LCAxOCwgMTk1LCAxMTcsIDE4LCAxOTMsIDExNywgMTgsIDIwMCwgCisgICAgMTE3LCAyMjEsIDI0NCwgMTE3LCAyMjIsIDE0LCAxMTcsIDIwNywgNywgMTE3LCAyNDgsIDE5NywgMjIyLCA3LCAxMTcsIAorICAgIDI0OCwgMTk3LCAyMTUsIDU4LCAxMTcsIDI0OCwgMTk3LCAyMjEsIDIxNSwgMTE3LCAyMjIsIDEzLCAxMTcsIDMwLCAxNiwgCisgICAgMjQ1LCAyOSwgMTE3LCAzMCwgMTYsIDI0NSwgMjI0LCAxMTcsIDMwLCAxNiwgMjQzLCAyMjMsIDExNywgMzAsIDE2LCAyNDYsIAorICAgIDk4LCAxMTcsIDMwLCAxNiwgMjQ2LCA5OSwgMjEzLCAxMzEsIDExNywgMzAsIDE2LCAyNDUsIDExMiwgMTE3LCAzMCwgMTYsIAorICAgIDI0NiwgMTM4LCAxMTcsIDMwLCAxNiwgMjQ1LCAyMDEsIDExNywgMzAsIDE2LCAyNDYsIDEyMCwgMTE3LCAzMCwgMTYsIDI0NiwgCisgICAgOTksIDI0MCwgMTY0LCAxMTcsIDMwLCAxNiwgMzYsIDIxMiwgMTE3LCAxMTcsIDMwLCAxNiwgMzYsIDI0MywgMzIsIDExNywgCisgICAgMzAsIDE2LCAzNiwgMjMxLCAyMDUsIDExNywgMzAsIDE2LCAzNiwgMjMxLCAyMDcsIDExNywgMzAsIDE2LCAzNiwgMjMyLCAKKyAgICAxNzgsIDExNywgMzAsIDE2LCAzNiwgMjMxLCAyMDYsIDIsIDIzMiwgMTc4LCAxMTcsIDMwLCAxNiwgMzYsIDIzMSwgMjA4LCAKKyAgICAyLCAyMzIsIDE3OCwgMTE3LCAzMCwgMTYsIDM2LCAyNTAsIDIwLCAxMTcsIDMwLCAxNiwgMzYsIDI0MCwgOSwgMTE3LCAzMCwgCisgICAgMTYsIDIxOCwgMTY1LCAyMjIsIDE0MiwgMjQzLCAyMzMsIDExNywgMzAsIDE2LCAyMTgsIDE2NSwgMjIyLCAxNDIsIDI0NiwgCisgICAgMTM2LCAxMTcsIDMwLCAxNiwgMjE4LCAxNjUsIDI0NywgMTkyLCAyMTAsIDE2MiwgMTE3LCAzMCwgMTYsIDIxOCwgMTY1LCAKKyAgICAyNDcsIDE5MiwgMjEyLCAxODcsIDExNywgMzAsIDE2LCAyMzAsIDQ0LCAyMjIsIDE0MiwgMjIyLCAyLCAxMTcsIDMwLCAxNiwgCisgICAgMjMwLCA0NCwgMjIyLCAxNDIsIDIyMCwgNzAsIDExNywgMzAsIDE2LCAyMzAsIDQ0LCAyNDcsIDE5MiwgMjIwLCAyMzYsIAorICAgIDExNywgMzAsIDE2LCAyMzAsIDQ0LCAyNDcsIDE5MiwgMjIwLCAyMjIsIDExNywgMzAsIDE2LCAyMzAsIDQ0LCAyMjIsIDE0MiwgCisgICAgMjIxLCA1LCAyMTMsIDE1MywgMywgMjIxLCAyNDEsIDIxMywgMTUzLCAzLCAyMjEsIDI1NCwgMjEzLCAxNTMsIDMsIDIyMSwgCisgICAgMjUwLCAyMTMsIDE1MywgMSwgNjIsIDIxMywgMTUzLCAxLCA3NCwgMjEzLCAxNTMsIDEsIDcxLCAyMTMsIDE1MywgMSwgMjUyLCAKKyAgICAyNDgsIDIxMywgMTUzLCAxLCA3NiwgMjEzLCAxNTMsIDEsIDc1LCAyMTMsIDE1MywgMSwgMjQyLCAxOTIsIDIxMywgMTUzLCAKKyAgICAxLCAxNzIsIDIxMywgMTUzLCAxLCAyMjAsIDE5LCAyMTMsIDE1MywgMSwgMjQwLCAyNDQsIDIxMywgMTUzLCAxLCAyMjUsIAorICAgIDc3LCAyMTMsIDE1MywgMSwgMjQ5LCAxLCAyMTMsIDE1MywgMSwgMjMyLCAyMDAsIDIxMywgMTUzLCAxLCAyMDUsIDExNiwgCisgICAgMjEzLCAxNTMsIDEsIDIyMywgMTQ0LCAyMTMsIDE1MywgMSwgMjEyLCAyMTksIDIxMywgMTUzLCAxLCAyNDYsIDE0NSwgMjEzLCAKKyAgICAxNTMsIDEsIDE5OSwgMjEzLCAxNTMsIDEsIDE3OSwgMjEzLCAxNTMsIDEsIDI0MiwgNzMsIDIxMywgMTUzLCAxLCAyMDksIAorICAgIDcwLCAyMTMsIDE1MywgMSwgMjUwLCAxODMsIDIxMywgMTUzLCAxLCAxODUsIDIxMywgMTUzLCAxLCAxOTAsIDIxMywgMTUzLCAKKyAgICAxLCAyMTksIDExMywgMjEzLCAxNTMsIDEsIDIzMCwgMTQxLCAyMTMsIDE1MywgMSwgMjA3LCA5NiwgMjEzLCAxNTMsIDEsIAorICAgIDIxNywgMTk5LCAyMTMsIDE1MywgMSwgMjA2LCAxODEsIDIxMywgMTUzLCAxLCAxNTUsIDIxMywgMTUzLCAxMDcsIDMsIDIyMiwgCisgICAgMTEsIDIxMywgMTUzLCAxMDcsIDMsIDIyMSwgMjQzLCAyMTMsIDE1MywgMTA3LCAzLCAyMjEsIDI0MCwgMjEzLCAxNTMsIDIyLCAKKyAgICAzLCAyMjIsIDEsIDIxMywgMTUzLCAyMiwgMywgMjIxLCAyMzksIDIxMywgMTUzLCAyMiwgMywgMjIyLCA1LCAyMTMsIDE1MywgCisgICAgMjIsIDMsIDIyMSwgMjQ5LCAyMTMsIDE1MywgMjIsIDMsIDIyMiwgMTIsIDIxMywgMTUzLCAyMiwgMywgMjIyLCAzLCAyMTMsIAorICAgIDE1MywgMywgMjIyLCAxNSwgMjEzLCAxNTMsIDMsIDIwOCwgMTg4LCAyMTMsIDE1MywgMTA3LCAzLCAyMjEsIDIwNCwgMTg1LCAKKyAgICAyMTMsIDE1MywgMTA3LCAzLCAyMjEsIDIwNCwgMjA3LCA5NiwgMjEzLCAxNTMsIDEsIDIzMSwgMTY3LCAyMTMsIDE1MywgMSwgCisgICAgMjEzLCA5MCwgMjEzLCAxNTMsIDE4LCAyMDUsIDg1LCAyMTMsIDE1MywgMTgsIDEwMiwgMjEzLCAxNTMsIDE4LCAxMDUsIAorICAgIDIxMywgMTUzLCAxOCwgMTQyLCAyMTMsIDE1MywgMTgsIDEzOSwgMjEzLCAxNTMsIDE4LCAxNjgsIDIxMywgMTUzLCAxOCwgCisgICAgMTg0LCAyMTMsIDE1MywgMTgsIDE5NSwgMjEzLCAxNTMsIDE4LCAxOTMsIDIxMywgMTUzLCAxOCwgMjAwLCAyMTMsIDE1MywgCisgICAgMjUxLCAxNjcsIDIxMywgMTUzLCAxLCAyMTgsIDIyNywgMjEzLCAxNTMsIDEsIDIzMCwgMiwgMjEzLCAxNTMsIDEsIDI1MCwgCisgICAgMCwgMjEzLCAxNTMsIDEsIDQyLCAyMzIsIDc2LCAyMTMsIDE1MywgMSwgNDIsIDIyOSwgMjgsIDI1MCwgMTA3LCAxLCA2MiwgCisgICAgMjUwLCAxMDcsIDEsIDIxNSwgNTAsIDYyLCAyNTAsIDEwNywgMSwgMTU1LCAyNTAsIDEwNywgMSwgMjE1LCA1MCwgMTU1LCAKKyAgICAyNTAsIDEwNywgMSwgMjI3LCAyMTYsIDE1NSwgMjUwLCAxMDcsIDEsIDI1MCwgMTgzLCAyNTAsIDEwNywgMSwgMjMyLCAzLCAKKyAgICAyNTAsIDE4MywgMjUwLCAxMDcsIDEsIDE3OSwgMjUwLCAxMDcsIDEsIDIxNSwgNTAsIDE3OSwgMjUwLCAxMDcsIDEsIDE5OSwgCisgICAgMjUwLCAxMDcsIDEsIDIyNywgMjE2LCAxOTksIDI1MCwgMTA3LCAxLCAyMDcsIDk2LCAyNTAsIDEwNywgMSwgMjE1LCA1MCwgCisgICAgMjA3LCA5NiwgMjUwLCAxMDcsIDEsIDIyMiwgMjcsIDIwNywgOTYsIDI1MCwgMTA3LCAxLCAyNDAsIDI0NCwgMjUwLCAxMDcsIAorICAgIDEsIDIxNSwgNTAsIDI0MCwgMjQ0LCAyNTAsIDEwNywgMSwgMjMyLCAyMDAsIDI1MCwgMTA3LCAxLCAyNDYsIDE0NSwgMjUwLCAKKyAgICAxMDcsIDEsIDIxOSwgMTEzLCAyNTAsIDEwNywgMSwgMjE1LCA1MCwgMjE5LCAxMTMsIDI1MCwgMTA3LCAxLCAxODUsIDI1MCwgCisgICAgMTA3LCAxLCAyMTUsIDUwLCAxODUsIDI1MCwgMTA3LCAxLCAyMTQsIDE2MSwgMjEyLCAyMTksIDI1MCwgMTA3LCAxLCAyMjQsIAorICAgIDQ2LCAyMTIsIDIxOSwgMjUwLCAxMDcsIDEsIDIxNywgMTk5LCAyNTAsIDEwNywgMSwgMjE1LCA1MCwgMjE3LCAxOTksIDI1MCwgCisgICAgMTA3LCAxLCAyMjcsIDIxNiwgMjE3LCAxOTksIDI1MCwgMTA3LCAxLCAxOTAsIDI1MCwgMTA3LCAxLCAyMTUsIDUwLCAxOTAsIAorICAgIDI1MCwgMTA3LCAxLCAyMjUsIDc3LCAyNTAsIDEwNywgMSwgMjMwLCAxNDEsIDI1MCwgMTA3LCAxLCAyMTUsIDUwLCAyMzAsIAorICAgIDE0MSwgMjUwLCAxMDcsIDEsIDIyMywgMTQ0LCAyNTAsIDEwNywgMSwgMjQ5LCAxLCAyNTAsIDEwNywgMSwgMjI1LCAxNTEsIAorICAgIDI1MCwgMTA3LCAxLCAyMjcsIDE1MywgMjUwLCAxMDcsIDEsIDc0LCAyNTAsIDEwNywgMSwgNzEsIDI1MCwgMTA3LCAzLCAKKyAgICAyMTEsIDEyMSwgMjUwLCAxMDcsIDIyLCAzLCA3NSwgMjUwLCAxMDcsIDIyLCAzLCAyMjIsIDI3LCA3NSwgMjUwLCAxMDcsIAorICAgIDIyLCAzLCAyNDMsIDEwNCwgMjUwLCAxMDcsIDIyLCAzLCA3NCwgMjUwLCAxMDcsIDIyLCAzLCAyMzIsIDMsIDc0LCAyNTAsIAorICAgIDEwNywgMjIsIDMsIDc2LCAyNTAsIDEwNywgMjIsIDMsIDIzMiwgMywgNzYsIDI1MCwgMTA3LCAyMiwgMywgNzEsIDI1MCwgCisgICAgMTA3LCAyMiwgMywgMTA2LCAzMywgMjE1LCA1MCwgMjE3LCAxOTksIDI1MCwgMTA3LCAxMDcsIDMsIDIyNSwgNzksIDI1MCwgCisgICAgMTA3LCAxMDcsIDMsIDIzOSwgMTU1LCAyNTAsIDEwNywgMjIxLCAyNTIsIDI1MCwgMTA3LCAyMjEsIDI0OCwgMjUwLCAxMDcsIAorICAgIDE2LCAyNDksIDIyMiwgMjI1LCAyMzcsIDIyNywgNjEsIDI1MCwgMTA3LCAxNiwgMjQ5LCAyMjIsIDIyMSwgOCwgMjUwLCAKKyAgICAxMDcsIDE2LCAyNDksIDIyMiwgMjMyLCAxMDEsIDI1MCwgMTA3LCAxNiwgMjQ5LCAyMjIsIDIyMSwgMjUyLCAyMzAsIDEyLCAKKyAgICAxLCAxNzIsIDIzMCwgMTIsIDEsIDIzMSwgNjUsIDIzMCwgMTIsIDEsIDIzMSwgMTY3LCAyMzAsIDEyLCAxLCAyNDAsIDI0NCwgCisgICAgMjMwLCAxMiwgMSwgMjQwLCAzMSwgMjMwLCAxMiwgMSwgMjI1LCA3NywgMjMwLCAxMiwgMSwgMjQ5LCAxLCAyMzAsIDEyLCAxLCAKKyAgICAyNDgsIDExMCwgMjMwLCAxMiwgMSwgMjMyLCAyMDAsIDIzMCwgMTIsIDEsIDIyMywgMTQ0LCAyMzAsIDEyLCAxLCAyMTIsIAorICAgIDIxOSwgMjMwLCAxMiwgMSwgMjEyLCA1NiwgMjMwLCAxMiwgMSwgMjQ2LCAxNDUsIDIzMCwgMTIsIDEsIDE5OSwgMjMwLCAxMiwgCisgICAgMSwgMTc5LCAyMzAsIDEyLCAxLCAyMjAsIDI0MCwgMjMwLCAxMiwgMSwgMjIxLCA5MywgMjMwLCAxMiwgMSwgMjQyLCA3MywgCisgICAgMjMwLCAxMiwgMSwgMjQxLCAxOTgsIDIzMCwgMTIsIDEsIDI1MCwgMTgzLCAyMzAsIDEyLCAxLCAyNDksIDIwMywgMjMwLCAKKyAgICAxMiwgMSwgMTg1LCAyMzAsIDEyLCAxLCAyMjYsIDE4OCwgMjMwLCAxMiwgMSwgMjEwLCAyNDMsIDIzMCwgMTIsIDEsIDIxMCwgCisgICAgMjMzLCAyMzAsIDEyLCAxLCAyNDMsIDE5NiwgMjMwLCAxMiwgMSwgMTkwLCAyMzAsIDEyLCAxLCAyMTksIDExMywgMjMwLCAKKyAgICAxMiwgMSwgMjMwLCAxNDEsIDIzMCwgMTIsIDEsIDE1NSwgMjMwLCAxMiwgMSwgMjM4LCAyMzcsIDIzMCwgMTIsIDEsIDIwOSwgCisgICAgNzAsIDIzMCwgMTIsIDEsIDIxNywgMTk5LCAyMzAsIDEyLCAxLCAyMTYsIDIsIDIzMCwgMTIsIDEsIDIwNywgOTYsIDIzMCwgCisgICAgMTIsIDEsIDYyLCAyMzAsIDEyLCAyMTMsIDE5MSwgMSwgMTkwLCAyMzAsIDEyLCAyMTMsIDE5MSwgMSwgMjE5LCAxMTMsIAorICAgIDIzMCwgMTIsIDIyLCAzLCAyNTMsIDE2NCwgMjMwLCAxMiwgMjIsIDMsIDc0LCAyMzAsIDEyLCAyMiwgMywgNzYsIDIzMCwgCisgICAgMTIsIDIyLCAzLCAyMjIsIDE1MiwgMjMwLCAxMiwgMjIsIDMsIDcxLCAyMzAsIDEyLCAyMiwgMywgMjA5LCAxNjIsIDIzMCwgCisgICAgMTIsIDIyLCAzLCA3NSwgMjMwLCAxMiwgMTA3LCAzLCAyMzIsIDc2LCAyMzAsIDEyLCAxMDcsIDMsIDIyOSwgMjgsIDIzMCwgCisgICAgMTIsIDEwNywgMywgMTQ5LCAyMzAsIDEyLCAxMDcsIDMsIDIyNiwgMzMsIDIzMCwgMTIsIDEwNywgMywgMjIyLCA2NywgMjMwLCAKKyAgICAxMiwgMTA3LCAzLCAxMzcsIDIzMCwgMTIsIDEwNywgMywgMjEzLCAxMCwgMjMwLCAxMiwgMTA3LCAzLCAyMjMsIDExOCwgCisgICAgMjMwLCAxMiwgMTA3LCAzLCAyMzIsIDIzLCAyMzAsIDEyLCAzLCAyMTksIDc0LCAyMzAsIDEyLCAzLCAyMjMsIDE4NCwgMjMwLCAKKyAgICAxMiwgMjIwLCA3MiwgMjEyLCAyMTcsIDIzMCwgMTIsIDIyMCwgNzIsIDIyMywgMTI5LCAyMTEsIDIxNCwgMjEyLCAyMTcsIAorICAgIDIzMCwgMTIsIDIyMCwgNzIsIDI0OCwgMTE3LCAyMzAsIDEyLCAyMjAsIDcyLCAyMTAsIDIyNSwgMjQ4LCAxMTcsIDIzMCwgCisgICAgMTIsIDIyMCwgNzIsIDIxMCwgMjI0LCAyMzAsIDEyLCAxOCwgMjA1LCA4NSwgMjMwLCAxMiwgMTgsIDEwMiwgMjMwLCAxMiwgCisgICAgMTgsIDEwNSwgMjMwLCAxMiwgMTgsIDE0MiwgMjMwLCAxMiwgMTgsIDEzOSwgMjMwLCAxMiwgMTgsIDE2OCwgMjMwLCAxMiwgCisgICAgMTgsIDE4NCwgMjMwLCAxMiwgMTgsIDE5NSwgMjMwLCAxMiwgMTgsIDE5MywgMjMwLCAxMiwgMTgsIDIwMCwgMjMwLCAxMiwgCisgICAgMSwgMjEwLCAyMDgsIDIzMCwgMTIsIDEsIDIxMCwgMTk2LCAyMzAsIDEyLCAxLCAyNDYsIDU0LCAyMjIsIDE4MSwgMjQ4LCAKKyAgICA1MSwgMTgsIDIwNSwgODUsIDIyMiwgMTgxLCAyNDgsIDUxLCAxOCwgMTAyLCAyMjIsIDE4MSwgMjQ4LCA1MSwgMTgsIDEwNSwgCisgICAgMjIyLCAxODEsIDI0OCwgNTEsIDE4LCAxNDIsIDIyMiwgMTgxLCAyNDgsIDUxLCAxOCwgMTM5LCAyMjIsIDE4MSwgMjQ4LCAKKyAgICA1MSwgMTgsIDE2OCwgMjIyLCAxODEsIDI0OCwgNTEsIDE4LCAxODQsIDIyMiwgMTgxLCAyNDgsIDUxLCAxOCwgMTk1LCAyMjIsIAorICAgIDE4MSwgMjQ4LCA1MSwgMTgsIDE5MywgMjIyLCAxODEsIDI0OCwgNTEsIDE4LCAyMDAsIDIyMiwgMTgxLCAyNDgsIDUxLCAxLCAKKyAgICAyMzAsIDE0MSwgMjIyLCAxODEsIDI0OCwgNTEsIDEsIDI1MSwgMTk5LCAyMjIsIDE4MSwgMjQ4LCA1MSwgMSwgMjUyLCAyMjAsIAorICAgIDIyMiwgMTgxLCAyNDgsIDUxLCAxLCAyNTIsIDExNCwgMjIyLCAxODEsIDI0OCwgNTEsIDEsIDI1MiwgMTgxLCAyMjIsIDE4MSwgCisgICAgMjQ4LCA1MSwgMSwgMjMwLCAxNDAsIDIyMiwgMTgxLCAyNDgsIDUxLCAxLCAyNTMsIDEyNiwgMjIyLCAxODEsIDI0OCwgNTEsIAorICAgIDEsIDI1MywgMTI3LCAyMjIsIDE4MSwgMjQ4LCA1MSwgMSwgMjUzLCAxMjUsIDIyMiwgMTgxLCAyNDgsIDUxLCAxLCAyNTMsIAorICAgIDEyMCwgMjIyLCAxODEsIDI0OCwgNTEsIDEsIDIyOSwgMjM1LCAyMjIsIDE4MSwgMjQ4LCA1MSwgMSwgMjMyLCAyMzQsIDIyMiwgCisgICAgMTgxLCAyNDgsIDUxLCAxLCAyMzMsIDEwMywgMjIyLCAxODEsIDI0OCwgNTEsIDEsIDIzMiwgMjU1LCAyMjIsIDE4MSwgMjQ4LCAKKyAgICA1MSwgMSwgMjMyLCAyNDMsIDIyMiwgMTgxLCAyNDgsIDUxLCAxLCAyMjksIDgxLCAyMjIsIDE4MSwgMjQ4LCA1MSwgMSwgCisgICAgMjEwLCAxMCwgMjIyLCAxODEsIDI0OCwgNTEsIDEsIDIxMCwgOCwgMjIyLCAxODEsIDI0OCwgNTEsIDEsIDIwOSwgMjExLCAKKyAgICAyMjIsIDE4MSwgMjQ4LCA1MSwgMSwgMjA5LCAxNTQsIDIyMiwgMTgxLCAyNDgsIDUxLCAxLCAyMzAsIDU4LCAyMjIsIDE4MSwgCisgICAgMjQ4LCA1MSwgMSwgMjQyLCAyNTMsIDIyMiwgMTgxLCAyNDgsIDUxLCAxLCAyNDMsIDEwNywgMjIyLCAxODEsIDI0OCwgNTEsIAorICAgIDEsIDI0MywgNDEsIDIyMiwgMTgxLCAyNDgsIDUxLCAxLCAyNDIsIDIyOSwgMjIyLCAxODEsIDI0OCwgNTEsIDEsIDIyOSwgCisgICAgMTQ0LCAyMjIsIDE4MSwgMjQ4LCA1MSwgMSwgMjIyLCAxMDAsIDIyMiwgMTgxLCAyNDgsIDUxLCAxLCAyMjIsIDIyNiwgMjIyLCAKKyAgICAxODEsIDI0OCwgNTEsIDEsIDIyMiwgODgsIDIyMiwgMTgxLCAyNDgsIDUxLCAxLCAyMjIsIDE5NCwgMjIyLCAxODEsIDI0OCwgCisgICAgNTEsIDIyNiwgMTE1LCAyMTAsIDE3MywgMjIyLCAxODEsIDI0OCwgNTEsIDI0MCwgMjM5LCAyMTAsIDE3NCwgMjIyLCAxODEsIAorICAgIDI0OCwgNTEsIDIyNiwgMTEzLCAyMTAsIDE3NCwgMjIyLCAxODEsIDI0OCwgNTEsIDIxOSwgMTIsIDIyMiwgMTgxLCAyNDgsIAorICAgIDUxLCAyMjEsIDkxLCAyMjIsIDE4MSwgMjQ4LCA1MSwgMjUyLCAyMTIsIDIyMiwgMTgxLCAyNDgsIDUxLCAyMjAsIDcyLCAKKyAgICAyMjYsIDEwOSwgMjIyLCAxODEsIDI0OCwgNTEsIDIyMCwgNzIsIDUwLCAyMjYsIDEwOSwgMjEzLCAxNTMsIDIyMCwgNzIsIAorICAgIDI0OSwgMjIyLCAyMTMsIDEyNCwgMjEzLCAxNTMsIDIyMCwgNzIsIDI0OSwgMjIyLCAyMjEsIDI1MywgMjEzLCAxNTMsIDIyMCwgCisgICAgNzIsIDI0OSwgMjIyLCAyMjAsIDYwLCAyMTMsIDE1MywgMjIwLCA3MiwgMjQ5LCAyMjIsIDI0OCwgMjQyLCAyMTMsIDE1MywgCisgICAgMjIwLCA3MiwgMjQ5LCAyMjIsIDIzMCwgMywgMjE3LCAxMzIsIDIxMywgMTUzLCAyMjAsIDcyLCAyNDksIDIyMiwgMjMyLCAKKyAgICA2NiwgMjE3LCAxMzIsIDIxMywgMTUzLCAyMjAsIDcyLCAyNDksIDIyMiwgMjQ2LCAxNDYsIDIxNywgMTMyLCAyMTMsIDE1MywgCisgICAgMjIwLCA3MiwgMjQ5LCAyMjIsIDI1MCwgMTg0LCAyMTcsIDEzMiwgMjA5LCAzNiwgMTM1LCAyMzIsIDEsIDIwOSwgMzYsIAorICAgIDEzNSwgMjE1LCAyMjksIDIwOSwgMzYsIDEzNSwgMjIwLCAxMzUsIDIwOSwgMzYsIDMsIDIyNCwgMjA2LCAyMDksIDM2LCAzLCAKKyAgICAyMDYsIDg2LCAyMjYsIDI0NSwgMjEzLCAxMTUsIDIwOSwgMzYsIDEzNSwgMjA2LCA4NiwgMjUyLCAyMTcsIDIzMywgNTUsIAorICAgIDIxMywgMTE1LCAyMDksIDM2LCAxMzUsIDIwNiwgODYsIDIzMywgNTUsIDIxMywgMTE1LCAyMDksIDM2LCAxMzUsIDIwNiwgCisgICAgODYsIDIzMSwgMjQ1LCAyMzMsIDU1LCAyMTMsIDExNSwgMjA5LCAzNiwgMTM1LCAyNDgsIDIyMCwgNTUsIDIwOSwgMzYsIAorICAgIDEzNSwgMjA2LCA4NiwgMjMxLCAyNDUsIDIzMywgNTUsIDIxMywgMTE2LCAyMTcsIDEwMiwgMjA5LCAzNiwgMTM1LCA1MCwgCisgICAgMjEzLCAxMTUsIDIwOSwgMzYsIDEzNSwgMjExLCAzNiwgMjEzLCAxMTUsIDIwOSwgMzYsIDEzNSwgMjMxLCAyNDUsIDI1MiwgCisgICAgNzUsIDIwOSwgMzYsIDEzNSwgNjcsIDU1LCAyMDksIDM2LCAxMzUsIDExOCwgMTc3LCA1NSwgMjA5LCAzNiwgMTM1LCAxMjksIAorICAgIDE3NywgNTUsIDIwOSwgMzYsIDEzNSwgMjE4LCAxNTUsIDIzMiwgMCwgMjMzLCA1NSwgMjEzLCAxMTUsIDIwOSwgMzYsIDEzNSwgCisgICAgMjUxLCAxOTcsIDIzMywgNTUsIDIxMywgMTE1LCAyMDksIDM2LCAzLCAyMDgsIDE4NCwgMjEzLCAxMTUsIDIwOSwgMzYsIDMsIAorICAgIDIwOCwgMTg0LCAyMTAsIDUsIDIwOSwgMzYsIDMsIDIxOCwgMjI0LCAyMDgsIDE4NCwgMjEwLCA1LCAyMDksIDM2LCAzLCAKKyAgICAyMDgsIDE4NCwgMjUyLCA3NSwgMjA5LCAzNiwgMywgMjE4LCAyMjQsIDIwOCwgMTg0LCAyNTIsIDc1LCAyMDksIDM2LCAzLCAKKyAgICAyMDgsIDE4NCwgMjEwLCA2LCAyLCAyMTIsIDE5MSwgMjA5LCAzNiwgMywgMjA4LCAxODQsIDI1MiwgNzYsIDIsIDIxMiwgCisgICAgMTkxLCAyMDksIDM2LCAzLCAyNTIsIDc0LCAyNTIsIDkwLCAyMDksIDM2LCAzLCAyNTIsIDc0LCAyNTAsIDE1NiwgMjA5LCAKKyAgICAzNiwgMywgMjUyLCA3NCwgMjA5LCA2MSwgMjA5LCAzNiwgMywgMjUyLCA3NCwgMjA5LCA2MiwgMiwgMjEyLCAxOTEsIDIwOSwgCisgICAgMzYsIDMsIDIxMSwgMTU3LCAyMDksIDM2LCAzLCAyMzksIDIzLCAxNTIsIDI1MiwgNzMsIDIwOSwgMzYsIDMsIDE1MiwgMjUyLCAKKyAgICA3MywgMjA5LCAzNiwgMywgMjE4LCA1MiwgMTUyLCAyNTIsIDczLCAyMDksIDM2LCAzLCAyNTIsIDc0LCAyMTAsIDEyLCAyMjYsIAorICAgIDEwMCwgMjA5LCAzNiwgMywgMjUyLCAxNSwgMjA5LCAzNiwgMywgMjE4LCA5NywgMjUyLCAxNSwgMjA5LCAzNiwgMTM1LCAKKyAgICAyNDgsIDIyMCwgNTIsIDIwOSwgMzYsIDMsIDIzMiwgMTU2LCAyMDksIDM2LCAzLCAyMDksIDIwNCwgMjA5LCAzNiwgMTM1LCAKKyAgICAyMTgsIDE0OSwgNTIsIDIwOSwgMzYsIDEzNSwgNTAsIDIxOCwgMTQ5LCA1MiwgNywgMSwgNSwgNiwgNjIsIDcsIDEsIDUsIDYsIAorICAgIDI1MiwgMjQ4LCA3LCA1LCAxLCAyMDEsIDI1MiwgMjQ4LCA3LCAxLCA1LCA2LCAyNTAsIDEyMywgMjUxLCAxNTAsIDcsIDEsIAorICAgIDUsIDYsIDI0OSwgMzQsIDcsIDEsIDUsIDYsIDI0NiwgMjQwLCA3LCAxLCA1LCA2LCAyNDIsIDE5NiwgNywgMSwgNSwgNiwgCisgICAgNzUsIDcsIDUsIDEsIDIwMSwgMjIyLCAxNDIsIDc1LCA3LCA1LCAxLCAyMDEsIDc0LCA3LCAxLCA1LCA2LCAyMzIsIDIwMywgCisgICAgNywgMSwgNSwgNiwgMjMyLCA3NiwgNywgMSwgNSwgNiwgMjMwLCAxNTksIDIsIDkxLCA3LCAxLCA1LCA2LCAyMjksIDI4LCA3LCAKKyAgICAxLCA1LCA2LCAyMTgsIDIyNCwgMjI2LCAzMywgNywgMSwgNSwgNiwgNzYsIDcsIDEsIDUsIDYsIDIyMiwgMTQyLCA3NiwgNywgCisgICAgNSwgMSwgMjE1LCA3MywgNzYsIDcsIDUsIDEsIDIxNSwgNzMsIDIyMiwgMTQyLCA3NiwgNywgNSwgMSwgMjE1LCA3MywgMTQ4LCAKKyAgICAyLCA5MSwgNywgNSwgMSwgMjAxLCAyMjIsIDIwNiwgNywgMSwgNSwgNiwgMjIyLCA5NywgNywgNSwgMSwgMjExLCAxMDIsIAorICAgIDE2MCwgNzYsIDcsIDUsIDEsIDI0OSwgMTU0LCAxNjAsIDc2LCA3LCAxLCA1LCA2LCAyMjIsIDY3LCA3LCAxLCA1LCA2LCAKKyAgICAyMTgsIDIyNCwgMTM3LCA3LCAxLCA1LCA2LCAyMDEsIDEzNywgNywgMSwgNSwgNiwgMjEzLCAxMCwgNywgMSwgNSwgNiwgNzEsIAorICAgIDcsIDUsIDEsIDIxNSwgNzMsIDcxLCA3LCA1LCAxLCAyMTUsIDczLCAyNDUsIDE2NCwgNzEsIDcsIDUsIDEsIDIxNSwgNzMsIAorICAgIDIwMSwgMjI5LCAyOCwgNywgMSwgNSwgNiwgMjA5LCAxNDgsIDcsIDEsIDUsIDYsIDIwNywgMTI5LCA3LCAxLCA1LCA2LCAKKyAgICAyMDUsIDE1OSwgNywgMSwgNSwgNiwgMjQyLCAxNDEsIDcsIDEsIDIwOCwgMTcwLCAyMzAsIDgzLCAyMTQsIDEyNiwgNywgMSwgCisgICAgMjUyLCAyMDAsIDI3LCAxLCA1LCA2LCAyNDAsIDIxNSwgMjcsIDEsIDUsIDYsIDIzMCwgMTAyLCAyNywgMSwgNSwgNiwgMjIxLCAKKyAgICA1MywgMjcsIDEsIDUsIDYsIDIxOCwgMjEwLCAyNywgMSwgNSwgNiwgMjIwLCA5MywgMzQsIDEsIDUsIDYsIDI0MywgNjgsIAorICAgIDY1LCAxLCA2LCA2MiwgNjUsIDEsIDYsIDI1MiwgMjQ4LCA2NSwgMSwgNiwgMjUxLCAxNTAsIDY1LCAxLCA2LCAyNTAsIDEyMywgCisgICAgMjUxLCAxNTAsIDY1LCAxLCA2LCAyNDYsIDI0MCwgNjUsIDEsIDYsIDc1LCA2NSwgMSwgNiwgMjE4LCAyMjQsIDc1LCA2NSwgCisgICAgMSwgNiwgMjQxLCA1NSwgNjUsIDEsIDYsIDIzOSwgMTU1LCA2NSwgMSwgNiwgNzQsIDY1LCAxLCA2LCAyMzIsIDIwMywgNjUsIAorICAgIDEsIDYsIDIzMiwgNzYsIDY1LCAxLCA2LCAxNDksIDY1LCAxLCA2LCAyMjksIDI4LCA2NSwgMSwgNiwgMjI2LCAzMywgNjUsIAorICAgIDEsIDYsIDIxOCwgMjI0LCAyMjYsIDMzLCA2NSwgMSwgNiwgNzYsIDY1LCAxLCA2LCAyMjIsIDk3LCA2NSwgMSwgNiwgMjIyLCAKKyAgICA2NywgNjUsIDEsIDYsIDEzNywgNjUsIDEsIDYsIDIxMywgMTAsIDY1LCAxLCA2LCA3MSwgNjUsIDEsIDYsIDIwNywgMTI5LCAKKyAgICA2NSwgMSwgNSwgNjIsIDY1LCAxLCA1LCAyMDEsIDYyLCA2NSwgMSwgNSwgMjUyLCAxNDQsIDY1LCAxLCA1LCAyMDEsIDI1MiwgCisgICAgMjQ4LCA2NSwgMSwgNSwgMjUxLCAxNTAsIDY1LCAxLCA1LCAyNDYsIDI0MCwgNjUsIDEsIDUsIDc1LCA2NSwgMSwgNSwgMjE3LCAKKyAgICAxMDAsIDY1LCAxLCA1LCAyMjIsIDE0MiwgNzUsIDY1LCAxLCA1LCAyMDEsIDIyMiwgMTQyLCA3NSwgNjUsIDEsIDUsIDI0MSwgCisgICAgNTUsIDY1LCAxLCA1LCAyMDEsIDc0LCA2NSwgMSwgNSwgMjMyLCA3NiwgNjUsIDEsIDUsIDIyOSwgMjgsIDY1LCAxLCA1LCAKKyAgICAyNDMsIDI4LCA2NSwgMSwgNSwgNzYsIDY1LCAxLCA1LCAyMjIsIDE0MiwgNzYsIDY1LCAxLCA1LCAyMTEsIDEwMiwgMTYwLCAKKyAgICA3NiwgNjUsIDEsIDUsIDI0OSwgMTU0LCAxNjAsIDc2LCA2NSwgMSwgNSwgMjIyLCA2NywgNjUsIDEsIDUsIDIxMywgMTAsIAorICAgIDY1LCAxLCA1LCA3MSwgNjUsIDEsIDUsIDIxNSwgNzMsIDcxLCA2NSwgMSwgNSwgMjAxLCAyMjksIDI4LCA2NSwgMSwgNSwgCisgICAgMjA5LCAxNDgsIDY1LCAxLCA1LCAyNTIsIDIwMCwgNjUsIDEsIDUsIDI1MCwgOCwgNjUsIDEsIDUsIDI3LCAyNDAsIDIxNSwgCisgICAgNjUsIDEsIDUsIDI0NSwgMjI3LCA2NSwgMSwgNSwgMjcsIDIyMSwgNzgsIDY1LCAxLCA1LCAyNDgsIDU4LCA3LCAyMTMsIAorICAgIDE4MywgNSwgMSwgNzQsIDcsIDIxMywgMTgzLCA1LCAxLCAxMzcsIDcsIDIxMywgMTgzLCA1LCAxLCA3MSwgNywgMjEzLCAKKyAgICAxODMsIDUsIDEsIDIwOSwgMTQ4LCAyNywgMjEzLCAxODMsIDUsIDEsIDI1MCwgOCwgMjcsIDIxMywgMTgzLCA1LCAxLCAyNDAsIAorICAgIDIxNSwgMjcsIDIxMywgMTgzLCA1LCAxLCAyMTgsIDIxMCwgMjcsIDIxMywgMTgzLCA1LCAxLCAyMjEsIDc4LCAyNywgMjEzLCAKKyAgICAxODMsIDUsIDEsIDI0OCwgNTgsIDcsIDUsIDEsIDIxMCwgMywgNywgNSwgMSwgNjMsIDIsIDIyNiwgMjQ3LCAyMTEsIDE4MCwgCisgICAgNywgNSwgMSwgMjQ2LCAyNDEsIDIsIDIyNiwgMjQ3LCAyMTEsIDE4MCwgNywgNSwgMSwgMjQyLCAxNDAsIDIsIDIyNiwgMjQ3LCAKKyAgICAyMTEsIDE4MCwgNywgNSwgMSwgMjI5LCAyOSwgMiwgMjI2LCAyNDcsIDIxMSwgMTgwLCA3LCA1LCAxLCAyMjYsIDM0LCAyLCAKKyAgICAyMjYsIDI0NywgMjExLCAxODAsIDcsIDUsIDEsIDIyMiwgNjgsIDIsIDIyNiwgMjQ3LCAyMTEsIDE4MCwgNywgNSwgMSwgCisgICAgMjE5LCAxNTAsIDIsIDIyNiwgMjQ3LCAyMTEsIDE4MCwgNywgNSwgMSwgMjE5LCAxNTAsIDIsIDI0MSwgMjExLCAyMywgMjI2LCAKKyAgICAyNDcsIDIxMSwgMTgwLCA3LCA1LCAxLCAyMTgsIDEsIDIsIDIyNiwgMjQ3LCAyMTEsIDE4MCwgNywgNSwgMSwgMjEzLCAxMSwgCisgICAgMiwgMjI2LCAyNDcsIDIxMSwgMTgwLCA3LCA1LCAxLCAyMDUsIDE2MCwgMiwgMjI2LCAyNDcsIDIxMSwgMTgwLCA3LCA1LCAxLCAKKyAgICAyMDEsIDI0MSwgNTUsIDY1LCAxLCAzNCwgMjQzLCA0MSwgNywgNSwgMSwgMjMzLCAyMywgMjQxLCA1NSwgNywgNSwgMSwgCisgICAgMjEyLCA1OSwgMiwgMjEzLCAyMjksIDcsIDUsIDYsIDEsIDIzNywgMjI1LCAyLCA5MSwgNywgNSwgMSwgMjMyLCAyNTAsIDIsIAorICAgIDkxLCA3LCA1LCAxLCAyMjIsIDY4LCAyLCA5MSwgNywgNSwgNiwgMSwgMTA2LCAyLCA5MSwgNywgNSwgMSwgMjA5LCAyMDEsIAorICAgIDIsIDkxLCA3LCA1LCAxLCA2MywgMiwgMjIyLCAyNiwgMTA5LCA3LCA1LCAxLCAyNDYsIDI0MSwgMiwgMjIyLCAyNiwgMTA5LCAKKyAgICA3LCA1LCAxLCAyNDIsIDE0MCwgMiwgMjIyLCAyNiwgMTA5LCA3LCA1LCAxLCAyNDEsIDU2LCAyLCAyMjIsIDI2LCAxMDksIDcsIAorICAgIDUsIDEsIDIzMiwgNzcsIDIsIDIyMiwgMjYsIDEwOSwgNywgNSwgMSwgMjMwLCAxNTksIDIsIDIyMiwgMjYsIDEwOSwgNywgNSwgCisgICAgMSwgMjI5LCAyOSwgMiwgMjIyLCAyNiwgMTA5LCA3LCA1LCAxLCAyMjYsIDM0LCAyLCAyMjIsIDI2LCAxMDksIDcsIDUsIDEsIAorICAgIDIyMiwgNjgsIDIsIDIyMiwgMjYsIDEwOSwgNywgNSwgMSwgMjE5LCAxNTAsIDIsIDIyMiwgMjYsIDEwOSwgNywgNSwgMSwgCisgICAgMjE4LCAxLCAyLCAyMjIsIDI2LCAxMDksIDcsIDUsIDEsIDI0MiwgMjE2LCAyLCAyMjIsIDI2LCAxMDksIDcsIDUsIDEsIAorICAgIDIwOSwgMTQ5LCAyLCAyMjIsIDI2LCAxMDksIDcsIDUsIDEsIDIwNiwgMTk2LCAyLCAyMjIsIDI2LCAxMDksIDcsIDUsIDEsIAorICAgIDIwNSwgMTYwLCAyLCAyMjIsIDI2LCAxMDksIDcsIDUsIDEsIDMyLCAyLCAyMTgsIDIzMCwgMTA5LCA3LCA1LCAxLCAyNTIsIAorICAgIDE0NSwgMiwgMjE4LCAyMzAsIDEwOSwgNywgNSwgMSwgMjQ2LCAyNDEsIDIsIDIzOCwgMTMwLCAyMywgMjEyLCAxOTEsIDcsIAorICAgIDUsIDEsIDE3NCwgMiwgMjE4LCAyMzAsIDEwOSwgNywgNSwgMSwgMjIyLCAxNDIsIDE3NCwgMiwgMjE4LCAyMzAsIDEwOSwgNywgCisgICAgNSwgMSwgMjE4LCAyMjQsIDIyMiwgMTQyLCAxNzQsIDIsIDIxOCwgMjMwLCAxMDksIDcsIDUsIDEsIDIxNywgMTAxLCAyLCAKKyAgICAyMTgsIDIzMCwgMTA5LCA3LCA1LCAxLCAyMzcsIDIyNSwgMiwgMjE4LCAyMzAsIDEwOSwgNywgNSwgMSwgMjIyLCAxNDIsIAorICAgIDE0OCwgMiwgMjE4LCAyMzAsIDEwOSwgNywgNSwgMSwgMjQyLCAyMTYsIDIsIDIxOCwgMjMwLCAxMDksIDcsIDUsIDEsIDEwNiwgCisgICAgMiwgMjE4LCAyMzAsIDEwOSwgNywgNSwgMSwgMjQyLCAxNDIsIDIsIDIxOCwgMjMwLCAxMDksIDY1LCAxLCA1LCAyMDEsIAorICAgIDI1MiwgMTQ0LCA2NSwgMSwgNSwgMjQ5LCAzNCwgNjUsIDEsIDUsIDI0OSwgMzUsIDIsIDI0NywgMjcsIDY1LCAxLCA1LCAKKyAgICAyNDIsIDE5NiwgNjUsIDEsIDUsIDIxOCwgMjI0LCAyMjIsIDE0MiwgNzUsIDY1LCAxLCA1LCAyNDIsIDEzOSwgNjUsIDEsIDUsIAorICAgIDI0NSwgMjIsIDIzMiwgMjA0LCAyLCA5MSwgNjUsIDEsIDUsIDEyMSwgMjQxLCA1NSwgNjUsIDEsIDUsIDIwMSwgMjM5LCAKKyAgICAxNTUsIDY1LCAxLCA1LCAyMzcsIDIyNSwgMiwgOTEsIDY1LCAxLCA1LCAyMzIsIDI0OSwgNjUsIDEsIDUsIDYsIDc0LCA2NSwgCisgICAgMSwgNSwgNiwgMjM3LCAyMjUsIDIsIDkxLCA2NSwgMSwgNSwgMjMyLCAyMDQsIDIsIDI0NywgNTYsIDY1LCAxLCA1LCAyMzAsIAorICAgIDE1OSwgMiwgMjE4LCAyMzAsIDEwOSwgNjUsIDEsIDUsIDIzMCwgMTU5LCAyLCAyMjIsIDI2LCAxMDksIDY1LCAxLCA1LCA2LCAKKyAgICAxNDksIDY1LCAxLCA1LCAyMjksIDI5LCAyLCAxMDksIDY1LCAxLCA1LCAyMDEsIDIyOSwgMjksIDIsIDE1MiwgMjMwLCAzNCwgCisgICAgNjUsIDEsIDUsIDIyNiwgMzQsIDIsIDQ3LCAxMDksIDY1LCAxLCA1LCAyMjYsIDM0LCAyLCAyMTgsIDIzMCwgMTA5LCA2NSwgCisgICAgMSwgNSwgNiwgMjI2LCAzMywgNjUsIDEsIDUsIDI1MCwgMTIzLCA3NiwgNjUsIDEsIDUsIDIyMSwgNzgsIDY1LCAxLCA1LCAKKyAgICAyMTgsIDEsIDIsIDEwOSwgNjUsIDEsIDUsIDI0MiwgMjE1LCA2NSwgMSwgNSwgMjEzLCAxMSwgMiwgMjIyLCAyNiwgMTA5LCAKKyAgICA2NSwgMSwgNSwgMTA2LCAxMzQsIDY1LCAxLCA1LCAyMDksIDIwMCwgNjUsIDEsIDUsIDYsIDcxLCA2NSwgMSwgNSwgMjA5LCAKKyAgICAxNDksIDIsIDEwOSwgNjUsIDEsIDUsIDIwMSwgMjA5LCAxNDgsIDY1LCAxLCA1LCAyMDUsIDE1OSwgNjUsIDEsIDUsIDIwNSwgCisgICAgMTYwLCAyLCAyMTgsIDIzMCwgMTA5LCA2NSwgMSwgNSwgMjA1LCAxNjAsIDIsIDI0NywgMjcsIDY1LCAxLCA1LCAyNDIsIAorICAgIDE0MSwgNjUsIDEsIDUsIDIxMiwgMjMsIDM2LCAyNDQsIDIxLCAyMzksIDIzNywgMjUzLCAyMSwgMzYsIDI0NCwgMjEsIDI1MywgCisgICAgOSwgMjUzLCAyMSwgMzYsIDIxNCwgMjA1LCA1NSwgMzYsIDIxMywgMTIyLCA4MywgMzYsIDIyOCwgMTIsIDM2LCAyMzksIAorICAgIDIzNCwgMzYsIDIyOCwgMTAsIDM2LCAyNTMsIDcsIDM2LCAyMzksIDIzNSwgMzYsIDI1MywgOCwgMzYsIDcsIDUsIDEsIDIxOSwgCisgICAgMTUwLCA1NSwgMzYsIDI0OSwgMTIxLCAzNiwgMjI4LCAxMSwgMzYsIDUwLCAyNDcsIDIyOCwgNTIsIDM2LCAyMjIsIDE5NywgCisgICAgNTIsIDM2LCAyMDUsIDMxLCA1NSwgMzYsIDIzMiwgMjM1LCA1NSwgMzYsIDIwOSwgMTk1LCA1MiwgMzYsIDIwOSwgMTc4LCAKKyAgICA1MiwgMzYsIDcsIDUsIDEsIDI0MSwgMTg1LCAyMjIsIDE0MiwgMzIsIDUyLCAzNiwgNywgNSwgMSwgMjUyLCAyNDgsIDM2LCAKKyAgICA3LCA1LCAxLCAyNTIsIDcxLCAzNiwgNywgNSwgMSwgMjUxLCAxNjgsIDM2LCA3LCA1LCAxLCAyNDksIDM1LCAyNDgsIDE0MSwgCisgICAgMzYsIDcsIDUsIDEsIDIzMywgMjMsIDI0NiwgMjQwLCAzNiwgNywgNSwgMSwgMjQyLCAxOTYsIDM2LCA3LCA1LCAxLCAyNDEsIAorICAgIDU1LCAzNiwgNywgMSwgNSwgNiwgMjQxLCA1NSwgMzYsIDcsIDUsIDEsIDIzMiwgNzYsIDM2LCA3LCA1LCAxLCAxNDksIDM2LCAKKyAgICA3LCAxLCA1LCA2LCAxNDksIDM2LCA3LCAxLCA1LCA2LCAyMjksIDI4LCAzNiwgNywgNSwgMSwgMjI2LCAzMywgMzYsIDcsIDEsIAorICAgIDUsIDYsIDIyNiwgMzMsIDM2LCA3LCAxLCA1LCA2LCAxMzcsIDM2LCA3LCA1LCAxLCAyMTksIDE1MCwgMjE4LCA5NiwgMzYsIAorICAgIDcsIDUsIDEsIDE4MiwgMzYsIDcsIDUsIDEsIDE1MiwgMTgyLCAzNiwgNywgNSwgMSwgMjA1LCAxNTksIDM2LCA3LCA1LCAxLCAKKyAgICAyNTIsIDE0NCwgMzYsIDcsIDUsIDEsIDI1MSwgMTUwLCAzNiwgNywgNSwgMSwgMjUwLCA4LCAzNiwgNywgNSwgMSwgMjE3LCAKKyAgICAxMDAsIDM2LCA3LCA1LCAxLCAyNDIsIDEzOSwgMzYsIDcsIDUsIDEsIDIzMCwgMTU5LCAyLCA1MCwgMjI2LCAyNDcsIDIxMSwgCisgICAgMTgwLCAzNiwgNywgNSwgMSwgMTQ4LCAyLCAxNDcsIDI0OCwgMTMwLCA5MSwgMzYsIDcsIDUsIDEsIDIyMiwgNjcsIDM2LCA3LCAKKyAgICA1LCAxLCAyNDIsIDIxNSwgMzYsIDcsIDUsIDEsIDEwNiwgMiwgMTQ3LCAyNDgsIDEzMCwgOTEsIDM2LCA3LCA1LCAxLCAyMDcsIAorICAgIDEyOSwgMzYsIDcsIDUsIDEsIDMyLCAyLCAyNDUsIDE2NiwgMzYsIDcsIDUsIDEsIDE0OCwgMiwgMjQ1LCAxNjYsIDM2LCA3LCAKKyAgICA1LCAxLCAxMDYsIDIsIDI0NSwgMTY2LCAzNiwgMTIwLCAyMTIsIDIwMiwgNTIsIDM2LCA1MCwgMjMzLCAyLCAyNDksIDEyMywgCisgICAgNTUsIDM2LCAyNTIsIDE0OSwgMTQ2LCAyMTEsIDEzMCwgNTUsIDM2LCA0NywgMjUxLCAyNDQsIDUyLCAzNiwgNDgsIDI1MSwgCisgICAgMjQ0LCAyMywgMTMwLCAyNTEsIDI0NCwgNTUsIDcsIDYsIDEsIDMyLCAyLCAyMTgsIDE0OSwgNTUsIDcsIDUsIDEsIDMyLCAyLCAKKyAgICAyMTgsIDE0OSwgNTUsIDcsIDYsIDEsIDYzLCAyLCA2NywgNTIsIDcsIDUsIDEsIDYzLCAyLCA2NywgNTIsIDcsIDYsIDEsIAorICAgIDYzLCAyLCA2NywgNTUsIDcsIDUsIDEsIDYzLCAyLCA2NywgNTUsIDcsIDYsIDEsIDYzLCAyLCAyMjksIDIwNiwgNTUsIDcsIAorICAgIDUsIDEsIDYzLCAyLCAyMjksIDIwNiwgNTUsIDcsIDYsIDEsIDI0OSwgMzUsIDIsIDI0OCwgMTQyLCAyMywgMTUzLCA3LCA1LCAKKyAgICAxLCAyNDksIDM1LCAyLCAyNDgsIDE0MiwgMjMsIDE1MywgNywgNiwgMSwgMjQ2LCAyNDEsIDIsIDY3LCA1MiwgNywgNSwgMSwgCisgICAgMjQ2LCAyNDEsIDIsIDY3LCA1MiwgNywgNiwgMSwgMjQ2LCAyNDEsIDIsIDY3LCA1NSwgNywgNSwgMSwgMjQ2LCAyNDEsIDIsIAorICAgIDY3LCA1NSwgNywgNiwgMSwgMjQ2LCAyNDEsIDIsIDIyOSwgMjA2LCA1NSwgNywgNSwgMSwgMjQ2LCAyNDEsIDIsIDIyOSwgCisgICAgMjA2LCA1NSwgNywgNiwgMSwgMjQ2LCAyNDEsIDIsIDI0OCwgMTQxLCA3LCA1LCAxLCAyNDYsIDI0MSwgMiwgMjQ4LCAxNDEsIAorICAgIDcsIDYsIDEsIDI0NiwgMjQxLCAyLCAyNDcsIDIyOCwgNTUsIDcsIDUsIDEsIDI0NiwgMjQxLCAyLCAyNDcsIDIyOCwgNTUsIAorICAgIDcsIDYsIDEsIDE3NCwgMiwgMjI4LCAxNCwgMjMsIDIzOSwgMjM2LCA3LCA1LCAxLCAxNzQsIDIsIDIyOCwgMTQsIDIzLCAKKyAgICAyMzksIDIzNiwgNywgNiwgMSwgMTc0LCAyLCAyMjgsIDE0LCAyMywgMTUzLCA3LCA1LCAxLCAxNzQsIDIsIDIyOCwgMTQsIAorICAgIDIzLCAxNTMsIDcsIDYsIDEsIDE3NCwgMiwgMjQ3LCAyMjgsIDU1LCA3LCA1LCAxLCAxNzQsIDIsIDI0NywgMjI4LCA1NSwgNywgCisgICAgNiwgMSwgMTc0LCAyLCAyMTEsIDE4MSwgNTUsIDcsIDUsIDEsIDE3NCwgMiwgMjExLCAxODEsIDU1LCA3LCA2LCAxLCAxNzQsIAorICAgIDIsIDI0OCwgMTQyLCAyMywgMjQ5LCAxMjIsIDcsIDUsIDEsIDE3NCwgMiwgMjQ4LCAxNDIsIDIzLCAyNDksIDEyMiwgNywgNiwgCisgICAgMSwgMjQyLCAxNDAsIDIsIDY3LCA1MiwgNywgNSwgMSwgMjQyLCAxNDAsIDIsIDY3LCA1MiwgNywgNiwgMSwgMjQxLCA1NiwgCisgICAgMiwgMjI4LCAxMywgNywgNSwgMSwgMjQxLCA1NiwgMiwgMjI4LCAxMywgNywgNiwgMSwgMjM5LCAxNTYsIDIsIDY3LCA1MiwgCisgICAgNywgNSwgMSwgMjM5LCAxNTYsIDIsIDY3LCA1MiwgNywgNiwgMSwgMjM5LCAxNTYsIDIsIDY3LCA1NSwgNywgNSwgMSwgMjM5LCAKKyAgICAxNTYsIDIsIDY3LCA1NSwgNywgNiwgMSwgMjM5LCAxNTYsIDIsIDI0NSwgMTY2LCA3LCA1LCAxLCAyMzksIDE1NiwgMiwgCisgICAgMjQ1LCAxNjYsIDcsIDYsIDEsIDIzOSwgMTU2LCAyLCAyNDgsIDE0MSwgNywgNSwgMSwgMjM5LCAxNTYsIDIsIDI0OCwgMTQxLCAKKyAgICA3LCA2LCAxLCAyMzksIDE1NiwgMiwgMjQ5LCAxMjMsIDU1LCA3LCA1LCAxLCAyMzksIDE1NiwgMiwgMjQ5LCAxMjMsIDU1LCAKKyAgICA3LCA2LCAxLCAyMzcsIDIyNSwgMiwgMjExLCAxODEsIDU1LCA3LCA1LCAxLCAyMzcsIDIyNSwgMiwgMjExLCAxODEsIDU1LCAKKyAgICA3LCA2LCAxLCAyMzcsIDIyNSwgMiwgMjQ1LCAxNjcsIDIzLCAxNTMsIDcsIDUsIDEsIDIzNywgMjI1LCAyLCAyNDUsIDE2NywgCisgICAgMjMsIDE1MywgNywgNiwgMSwgMjMyLCA3NywgMiwgMTUzLCA3LCA1LCAxLCAyMzIsIDc3LCAyLCAxNTMsIDcsIDYsIDEsIAorICAgIDIzMiwgNzcsIDIsIDY3LCA1NSwgNywgNSwgMSwgMjMyLCA3NywgMiwgNjcsIDU1LCA3LCA2LCAxLCAyMzIsIDc3LCAyLCAKKyAgICAyMjksIDIwNiwgNTUsIDcsIDUsIDEsIDIzMiwgNzcsIDIsIDIyOSwgMjA2LCA1NSwgNywgNiwgMSwgMjMwLCAxNTksIDIsIAorICAgIDY3LCA1NSwgNywgNSwgMSwgMjMwLCAxNTksIDIsIDY3LCA1NSwgNywgNiwgMSwgMjMwLCAxNTksIDIsIDY3LCAyNTAsIDI2LCAKKyAgICAyMywgMjI4LCAxMywgNywgNSwgMSwgMjMwLCAxNTksIDIsIDY3LCAyNTAsIDI2LCAyMywgMjI4LCAxMywgNywgNiwgMSwgCisgICAgMjMwLCAxNTksIDIsIDIyOSwgMjA2LCA1NSwgNywgNSwgMSwgMjMwLCAxNTksIDIsIDIyOSwgMjA2LCA1NSwgNywgNiwgMSwgCisgICAgMjMwLCAxNTksIDIsIDI0NywgMjI4LCA1NSwgNywgNSwgMSwgMjMwLCAxNTksIDIsIDI0NywgMjI4LCA1NSwgNywgNiwgMSwgCisgICAgMjI5LCAyOSwgMiwgMTUzLCA3LCA1LCAxLCAyMjksIDI5LCAyLCAxNTMsIDcsIDYsIDEsIDIyOSwgMjksIDIsIDY3LCA1MiwgCisgICAgNywgNSwgMSwgMjI5LCAyOSwgMiwgNjcsIDUyLCA3LCA2LCAxLCAyMjksIDI5LCAyLCA2NywgNTUsIDcsIDUsIDEsIDIyOSwgCisgICAgMjksIDIsIDY3LCA1NSwgNywgNiwgMSwgMjI2LCAzNCwgMiwgNjcsIDUyLCA3LCA1LCAxLCAyMjYsIDM0LCAyLCA2NywgNTIsIAorICAgIDcsIDYsIDEsIDIyNiwgMzQsIDIsIDY3LCA1NSwgNywgNSwgMSwgMjI2LCAzNCwgMiwgNjcsIDU1LCA3LCA2LCAxLCAyMjYsIAorICAgIDM0LCAyLCAyMjksIDIwNiwgNTUsIDcsIDUsIDEsIDIyNiwgMzQsIDIsIDIyOSwgMjA2LCA1NSwgNywgNiwgMSwgMjI2LCAzNCwgCisgICAgMiwgMjQ3LCAyMjgsIDU1LCA3LCA1LCAxLCAyMjYsIDM0LCAyLCAyNDcsIDIyOCwgNTUsIDcsIDYsIDEsIDE0OCwgMiwgMjExLCAKKyAgICAxODEsIDIzLCAxNTMsIDcsIDUsIDEsIDE0OCwgMiwgMjExLCAxODEsIDIzLCAxNTMsIDcsIDYsIDEsIDE0OCwgMiwgMjExLCAKKyAgICAxODEsIDIzLCAyNDUsIDE2NiwgNywgNSwgMSwgMTQ4LCAyLCAyMTEsIDE4MSwgMjMsIDI0NSwgMTY2LCA3LCA2LCAxLCAxNDgsIAorICAgIDIsIDIyOCwgMTQsIDIzLCAyMzksIDIzNiwgNywgNSwgMSwgMTQ4LCAyLCAyMjgsIDE0LCAyMywgMjM5LCAyMzYsIDcsIDYsIAorICAgIDEsIDE0OCwgMiwgMjI4LCAxNCwgMjMsIDE1MywgNywgNSwgMSwgMTQ4LCAyLCAyMjgsIDE0LCAyMywgMTUzLCA3LCA2LCAxLCAKKyAgICAyMjIsIDY4LCAyLCAxNTMsIDcsIDUsIDEsIDIyMiwgNjgsIDIsIDE1MywgNywgNiwgMSwgMjIyLCA2OCwgMiwgNjcsIDUyLCAKKyAgICA3LCA1LCAxLCAyMjIsIDY4LCAyLCA2NywgNTIsIDcsIDYsIDEsIDIxOSwgMTUwLCAyLCA2NywgNTIsIDcsIDUsIDEsIDIxOSwgCisgICAgMTUwLCAyLCA2NywgNTIsIDcsIDYsIDEsIDIxOSwgMTUwLCAyLCA2NywgNTUsIDcsIDUsIDEsIDIxOSwgMTUwLCAyLCA2NywgCisgICAgNTUsIDcsIDYsIDEsIDIxOSwgMTUwLCAyLCA2NywgMjUwLCAyNiwgMjMsIDIyOCwgMTMsIDcsIDUsIDEsIDIxOSwgMTUwLCAyLCAKKyAgICA2NywgMjUwLCAyNiwgMjMsIDIyOCwgMTMsIDcsIDYsIDEsIDIxOSwgMTUwLCAyLCAyMjksIDIwNiwgNTUsIDcsIDUsIDEsIAorICAgIDIxOSwgMTUwLCAyLCAyMjksIDIwNiwgNTUsIDcsIDYsIDEsIDIxOCwgMSwgMiwgNjcsIDUyLCA3LCA1LCAxLCAyMTgsIDEsIAorICAgIDIsIDY3LCA1MiwgNywgNiwgMSwgMjE4LCAxLCAyLCA2NywgNTUsIDcsIDUsIDEsIDIxOCwgMSwgMiwgNjcsIDU1LCA3LCA2LCAKKyAgICAxLCAyMTgsIDEsIDIsIDI1MywgOSwgMjMsIDY3LCA1MiwgNywgNSwgMSwgMjE4LCAxLCAyLCAyNTMsIDksIDIzLCA2NywgNTIsIAorICAgIDcsIDYsIDEsIDIxOCwgMSwgMiwgMjQ4LCAxOTYsIDIzLCA2NywgNTIsIDcsIDUsIDEsIDIxOCwgMSwgMiwgMjQ4LCAxOTYsIAorICAgIDIzLCA2NywgNTIsIDcsIDYsIDEsIDIxOCwgMSwgMiwgNjcsIDI1MCwgMjYsIDIzLCA2NywgNTIsIDcsIDUsIDEsIDIxOCwgMSwgCisgICAgMiwgNjcsIDI1MCwgMjYsIDIzLCA2NywgNTIsIDcsIDYsIDEsIDIxMywgMTEsIDIsIDY3LCA1MiwgNywgNSwgMSwgMjEzLCAKKyAgICAxMSwgMiwgNjcsIDUyLCA3LCA2LCAxLCAyMTMsIDExLCAyLCA2NywgNTUsIDcsIDUsIDEsIDIxMywgMTEsIDIsIDY3LCA1NSwgCisgICAgNywgNiwgMSwgMjEzLCAxMSwgMiwgMjI5LCAyMDYsIDU1LCA3LCA1LCAxLCAyMTMsIDExLCAyLCAyMjksIDIwNiwgNTUsIDcsIAorICAgIDYsIDEsIDIxMywgMTEsIDIsIDI0NywgMjI4LCA1NSwgNywgNSwgMSwgMjEzLCAxMSwgMiwgMjQ3LCAyMjgsIDU1LCA3LCA2LCAKKyAgICAxLCAxMDYsIDIsIDI0NSwgMTY3LCA1NSwgNywgNSwgMSwgMTA2LCAyLCAyNDUsIDE2NywgNTUsIDcsIDYsIDEsIDEwNiwgMiwgCisgICAgMjExLCAxODEsIDU1LCA3LCA1LCAxLCAxMDYsIDIsIDIxMSwgMTgxLCA1NSwgNywgNiwgMSwgMTA2LCAyLCAyNDcsIDIyOCwgCisgICAgNTUsIDcsIDUsIDEsIDEwNiwgMiwgMjQ3LCAyMjgsIDU1LCA3LCA2LCAxLCAxMDYsIDIsIDIxMSwgMTgxLCAyMywgMTUzLCA3LCAKKyAgICA1LCAxLCAxMDYsIDIsIDIxMSwgMTgxLCAyMywgMTUzLCA3LCA2LCAxLCAxMDYsIDIsIDIyOCwgMTQsIDIzLCAyNDUsIDE2NiwgCisgICAgNywgNSwgMSwgMTA2LCAyLCAyMjgsIDE0LCAyMywgMjQ1LCAxNjYsIDcsIDYsIDEsIDIwOSwgMTQ5LCAyLCAyMTEsIDE4MCwgCisgICAgNywgNSwgMSwgMjA5LCAxNDksIDIsIDIxMSwgMTgwLCA3LCA2LCAxLCAyMDksIDE0OSwgMiwgNjcsIDU1LCA3LCA1LCAxLCAKKyAgICAyMDksIDE0OSwgMiwgNjcsIDU1LCA3LCA2LCAxLCAyMDcsIDEzMCwgMiwgMjM5LCAyMzYsIDcsIDUsIDEsIDIwNywgMTMwLCAKKyAgICAyLCAyMzksIDIzNiwgNywgNiwgMSwgMjA3LCAxMzAsIDIsIDE1MywgNywgNSwgMSwgMjA3LCAxMzAsIDIsIDE1MywgNywgNiwgCisgICAgMSwgMjA3LCAxMzAsIDIsIDI0NSwgMTY2LCA3LCA1LCAxLCAyMDcsIDEzMCwgMiwgMjQ1LCAxNjYsIDcsIDYsIDEsIDIwNywgCisgICAgMTMwLCAyLCA2NywgNTIsIDcsIDUsIDEsIDIwNywgMTMwLCAyLCA2NywgNTIsIDcsIDYsIDEsIDIwNywgMTMwLCAyLCA2NywgCisgICAgNTUsIDcsIDUsIDEsIDIwNywgMTMwLCAyLCA2NywgNTUsIDcsIDYsIDEsIDIwNiwgMTk2LCAyLCA2NywgNTIsIDcsIDUsIDEsIAorICAgIDIwNiwgMTk2LCAyLCA2NywgNTIsIDcsIDYsIDEsIDIwNiwgMTk2LCAyLCAyNDUsIDE2NiwgNywgNSwgMSwgMjA2LCAxOTYsIAorICAgIDIsIDI0NSwgMTY2LCA3LCA2LCAxLCAyMDYsIDEyNCwgMiwgNjcsIDUyLCA3LCA1LCAxLCAyMDYsIDEyNCwgMiwgNjcsIDUyLCAKKyAgICA3LCA2LCAxLCAyMDUsIDE2MCwgMiwgMjQ3LCAyMjcsIDcsIDUsIDEsIDIwNSwgMTYwLCAyLCAyNDcsIDIyNywgNywgNiwgMSwgCisgICAgMjA1LCAxNjAsIDIsIDY3LCA1NSwgNywgNSwgMSwgMjA1LCAxNjAsIDIsIDY3LCA1NSwgNywgNiwgMSwgMjA1LCAxNjAsIDIsIAorICAgIDIyOSwgMjA2LCA1NSwgNywgNSwgMSwgMjA1LCAxNjAsIDIsIDIyOSwgMjA2LCA1NSwgNywgNSwgMSwgMjM5LCAxNTYsIDIsIAorICAgIDIyOSwgMjA2LCA1NSwgNywgNSwgMSwgMjEzLCAxMSwgMiwgMjQ1LCAxNjYsIDcsIDUsIDEsIDIwNywgMTMwLCAyLCAyMTgsIAorICAgIDE0OSwgNTIsIDcsIDUsIDEsIDIwNiwgMTI0LCAyLCAyMTgsIDE0OSwgNTIsIDcsIDUsIDEsIDMyLCAyLCA0OCwgMTYwLCAKKyAgICAyMTgsIDE0OCwgNywgNSwgMSwgMTUyLCAyMTgsIDEsIDIsIDY3LCA1MiwgNywgNSwgMSwgMTUyLCAyMTgsIDEsIDIsIDI0NSwgCisgICAgMTYzLCA5MSwgNywgNSwgMSwgMTUyLCAyMTgsIDEsIDIsIDEyNywgOTEsIDcsIDYsIDEsIDIxNSwgMjI4LCAxODIsIDcsIDUsIAorICAgIDEsIDI0NSwgMjI3LCA3LCA2LCAxLCAzMiwgMiwgNjcsIDU1LCA3LCA1LCAxLCAzMiwgMiwgNjcsIDU1LCA3LCA2LCAxLCAzMiwgCisgICAgMiwgMjM4LCAxMzAsIDUyLCA3LCA1LCAxLCAzMiwgMiwgMjM4LCAxMzAsIDUyLCA3LCA2LCAxLCAzMiwgMiwgMjQ3LCAyMjgsIAorICAgIDIzLCAxNTMsIDcsIDUsIDEsIDMyLCAyLCAyNDcsIDIyOCwgMjMsIDE1MywgNywgNiwgMSwgMzIsIDIsIDI0NywgMjI4LCAyMywgCisgICAgMjM5LCAyMzYsIDcsIDUsIDEsIDMyLCAyLCAyNDcsIDIyOCwgMjMsIDIzOSwgMjM2LCA3LCA2LCAxLCAzMiwgMiwgMjQ3LCAKKyAgICAyMjgsIDIzLCAyMzgsIDEzMCwgNTIsIDcsIDUsIDEsIDMyLCAyLCAyNDcsIDIyOCwgMjMsIDIzOCwgMTMwLCA1MiwgNywgNiwgCisgICAgMSwgMzIsIDIsIDI0NywgMjI4LCAyMywgMjExLCAxODAsIDcsIDUsIDEsIDMyLCAyLCAyNDcsIDIyOCwgMjMsIDIxMSwgMTgwLCAKKyAgICA3LCA2LCAxLCAzMiwgMiwgMjQ3LCAyMjgsIDIzLCA2NywgNTUsIDcsIDUsIDEsIDMyLCAyLCAyNDcsIDIyOCwgMjMsIDY3LCAKKyAgICA1NSwgNywgNiwgMSwgMzIsIDIsIDI0OSwgMTIzLCAyMywgMTUzLCA3LCA1LCAxLCAzMiwgMiwgMjQ5LCAxMjMsIDIzLCAxNTMsIAorICAgIDcsIDYsIDEsIDMyLCAyLCAyNDksIDEyMywgMjMsIDIzOSwgMjM2LCA3LCA1LCAxLCAzMiwgMiwgMjQ5LCAxMjMsIDIzLCAKKyAgICAyMzksIDIzNiwgNywgNiwgMSwgMzIsIDIsIDI0OSwgMTIzLCAyMywgMjM4LCAxMzAsIDUyLCA3LCA1LCAxLCAzMiwgMiwgCisgICAgMjQ5LCAxMjMsIDIzLCAyMzgsIDEzMCwgNTIsIDcsIDYsIDEsIDMyLCAyLCAyNDksIDEyMywgMjMsIDIxMSwgMTgwLCA3LCA1LCAKKyAgICAxLCAzMiwgMiwgMjQ5LCAxMjMsIDIzLCAyMTEsIDE4MCwgNywgNiwgMSwgMzIsIDIsIDI0OSwgMTIzLCAyMywgNjcsIDU1LCAKKyAgICA3LCA1LCAxLCAzMiwgMiwgMjQ5LCAxMjMsIDIzLCA2NywgNTUsIDcsIDYsIDEsIDE3NCwgMiwgNjcsIDU1LCA3LCA1LCAxLCAKKyAgICAxNzQsIDIsIDY3LCA1NSwgNywgNiwgMSwgMTc0LCAyLCAyMzgsIDEzMCwgNTIsIDcsIDUsIDEsIDE3NCwgMiwgMjM4LCAxMzAsIAorICAgIDUyLCA3LCA2LCAxLCAxNzQsIDIsIDIxMSwgMTgwLCA3LCA1LCAxLCAxNzQsIDIsIDIxMSwgMTgwLCA3LCA2LCAxLCAxNzQsIAorICAgIDIsIDI0NywgMjI4LCAyMywgMTUzLCA3LCA1LCAxLCAxNzQsIDIsIDI0NywgMjI4LCAyMywgMTUzLCA3LCA2LCAxLCAxNzQsIAorICAgIDIsIDI0NywgMjI4LCAyMywgMjM5LCAyMzYsIDcsIDUsIDEsIDE3NCwgMiwgMjQ3LCAyMjgsIDIzLCAyMzksIDIzNiwgNywgNiwgCisgICAgMSwgMTc0LCAyLCAyNDcsIDIyOCwgMjMsIDIzOCwgMTMwLCA1MiwgNywgNSwgMSwgMTc0LCAyLCAyNDcsIDIyOCwgMjMsIAorICAgIDIzOCwgMTMwLCA1MiwgNywgNiwgMSwgMTc0LCAyLCAyNDcsIDIyOCwgMjMsIDIxMSwgMTgwLCA3LCA1LCAxLCAxNzQsIDIsIAorICAgIDI0NywgMjI4LCAyMywgMjExLCAxODAsIDcsIDYsIDEsIDE3NCwgMiwgMjQ3LCAyMjgsIDIzLCA2NywgNTUsIDcsIDUsIDEsIAorICAgIDE3NCwgMiwgMjQ3LCAyMjgsIDIzLCA2NywgNTUsIDcsIDYsIDEsIDIzNywgMjI1LCAyLCAyMzgsIDEzMCwgNTIsIDcsIDUsIAorICAgIDEsIDIzNywgMjI1LCAyLCAyMzgsIDEzMCwgNTIsIDcsIDYsIDEsIDIzNywgMjI1LCAyLCA2NywgNTUsIDcsIDUsIDEsIDIzNywgCisgICAgMjI1LCAyLCA2NywgNTUsIDcsIDYsIDEsIDE0OCwgMiwgNjcsIDU1LCA3LCA1LCAxLCAxNDgsIDIsIDY3LCA1NSwgNywgNiwgCisgICAgMSwgMTQ4LCAyLCAyMzgsIDEzMCwgNTIsIDcsIDUsIDEsIDE0OCwgMiwgMjM4LCAxMzAsIDUyLCA3LCA2LCAxLCAxNDgsIDIsIAorICAgIDI0NywgMjI4LCAyMywgMTUzLCA3LCA1LCAxLCAxNDgsIDIsIDI0NywgMjI4LCAyMywgMTUzLCA3LCA2LCAxLCAxNDgsIDIsIAorICAgIDI0NywgMjI4LCAyMywgMjM5LCAyMzYsIDcsIDUsIDEsIDE0OCwgMiwgMjQ3LCAyMjgsIDIzLCAyMzksIDIzNiwgNywgNiwgMSwgCisgICAgMTQ4LCAyLCAyNDcsIDIyOCwgMjMsIDIzOCwgMTMwLCA1MiwgNywgNSwgMSwgMTQ4LCAyLCAyNDcsIDIyOCwgMjMsIDIzOCwgCisgICAgMTMwLCA1MiwgNywgNiwgMSwgMTQ4LCAyLCAyNDcsIDIyOCwgMjMsIDIxMSwgMTgwLCA3LCA1LCAxLCAxNDgsIDIsIDI0NywgCisgICAgMjI4LCAyMywgMjExLCAxODAsIDcsIDYsIDEsIDE0OCwgMiwgMjQ3LCAyMjgsIDIzLCA2NywgNTUsIDcsIDUsIDEsIDE0OCwgCisgICAgMiwgMjQ3LCAyMjgsIDIzLCA2NywgNTUsIDcsIDYsIDEsIDE0OCwgMiwgMjM4LCA3MCwgMjMsIDE1MywgNywgNSwgMSwgMTQ4LCAKKyAgICAyLCAyMzgsIDcwLCAyMywgMTUzLCA3LCA2LCAxLCAxNDgsIDIsIDIzOCwgNzAsIDIzLCAyMzksIDIzNiwgNywgNSwgMSwgCisgICAgMTQ4LCAyLCAyMzgsIDcwLCAyMywgMjM5LCAyMzYsIDcsIDYsIDEsIDE0OCwgMiwgMjM4LCA3MCwgMjMsIDIzOCwgMTMwLCAKKyAgICA1MiwgNywgNSwgMSwgMTQ4LCAyLCAyMzgsIDcwLCAyMywgMjM4LCAxMzAsIDUyLCA3LCA2LCAxLCAxNDgsIDIsIDIzOCwgNzAsIAorICAgIDIzLCAyMTEsIDE4MCwgNywgNSwgMSwgMTQ4LCAyLCAyMzgsIDcwLCAyMywgMjExLCAxODAsIDcsIDYsIDEsIDE0OCwgMiwgCisgICAgMjM4LCA3MCwgMjMsIDY3LCA1NSwgNywgNSwgMSwgMTQ4LCAyLCAyMzgsIDcwLCAyMywgNjcsIDU1LCA3LCA2LCAxLCAxMDYsIAorICAgIDIsIDY3LCA1NSwgNywgNSwgMSwgMTA2LCAyLCA2NywgNTUsIDcsIDYsIDEsIDEwNiwgMiwgMjM4LCAxMzAsIDUyLCA3LCA1LCAKKyAgICAxLCAxMDYsIDIsIDIzOCwgMTMwLCA1MiwgNywgNiwgMSwgMTA2LCAyLCAyMzgsIDcwLCAyMywgMTUzLCA3LCA1LCAxLCAxMDYsIAorICAgIDIsIDIzOCwgNzAsIDIzLCAxNTMsIDcsIDYsIDEsIDEwNiwgMiwgMjM4LCA3MCwgMjMsIDIzOSwgMjM2LCA3LCA1LCAxLCAKKyAgICAxMDYsIDIsIDIzOCwgNzAsIDIzLCAyMzksIDIzNiwgNywgNiwgMSwgMTA2LCAyLCAyMzgsIDcwLCAyMywgMjM4LCAxMzAsIAorICAgIDUyLCA3LCA1LCAxLCAxMDYsIDIsIDIzOCwgNzAsIDIzLCAyMzgsIDEzMCwgNTIsIDcsIDYsIDEsIDEwNiwgMiwgMjM4LCA3MCwgCisgICAgMjMsIDIxMSwgMTgwLCA3LCA1LCAxLCAxMDYsIDIsIDIzOCwgNzAsIDIzLCAyMTEsIDE4MCwgNywgNiwgMSwgMTA2LCAyLCAKKyAgICAyMzgsIDcwLCAyMywgNjcsIDU1LCA3LCA1LCAxLCAxMDYsIDIsIDIzOCwgNzAsIDIzLCA2NywgNTUsIDcsIDYsIDEsIDIwNiwgCisgICAgMTI0LCAyLCAyMzksIDIzNiwgNywgNSwgMSwgMjA2LCAxMjQsIDIsIDIzOSwgMjM2LCA3LCA2LCAxLCAyMDYsIDEyNCwgMiwgCisgICAgNjcsIDU1LCA3LCA1LCAxLCAyMDYsIDEyNCwgMiwgNjcsIDU1LCA3LCA2LCAxLCAyMDYsIDEyNCwgMiwgMjM4LCAxMzAsIDUyLCAKKyAgICA3LCA1LCAxLCAyMDYsIDEyNCwgMiwgMjM4LCAxMzAsIDUyLCA3LCA2LCAxLCAyMDYsIDEyNCwgMiwgMjExLCAxODAsIDcsIDUsIAorICAgIDEsIDIwNiwgMTI0LCAyLCAyMTEsIDE4MCwgNywgNiwgMSwgMjI2LCAyNDYsIDIyOSwgMTczLCA3LCA1LCAxLCAyMjYsIDI0NiwgCisgICAgMjI5LCAxNzMsIDcsIDYsIDEsIDIyNiwgMjQ2LCAyMDksIDE0OCwgNywgNSwgMSwgMjI2LCAyNDYsIDIwOSwgMTQ4LCA3LCA2LCAKKyAgICAxLCAyMDYsIDEyNCwgMiwgMjI5LCAxMTEsIDcsIDUsIDEsIDIwNiwgMTI0LCAyLCAyMjksIDExMSwgMjcsIDUsIDEsIDI1MiwgCisgICAgMTQ1LCAyLCAyMjAsIDg2LCAyNywgNSwgMSwgMjUyLCAxNDUsIDIsIDI0NiwgNzUsIDI3LCA1LCAxLCAyNTIsIDE0NSwgMiwgCisgICAgMjIwLCA4NywgMjMsIDIwOSwgNTQsIDI3LCA1LCAxLCAyNTIsIDE0NSwgMiwgMjQ2LCA3NiwgMjMsIDIwOSwgNTQsIDI3LCA1LCAKKyAgICAxLCAyNTIsIDE0NSwgMiwgMjIwLCA4NywgMjMsIDIyMiwgNzIsIDI3LCA1LCAxLCAyNTIsIDE0NSwgMiwgMjQ2LCA3NiwgMjMsIAorICAgIDIyMiwgNzIsIDI3LCA1LCAxLCAyNTIsIDE0NSwgMiwgMjIwLCA4NywgMjMsIDIyMSwgMTI0LCAyNywgNSwgMSwgMjUyLCAKKyAgICAxNDUsIDIsIDI0NiwgNzYsIDIzLCAyMjEsIDEyNCwgMjcsIDYsIDEsIDI1MiwgMTQ1LCAyLCAyMjAsIDg2LCAyNywgNiwgMSwgCisgICAgMjUyLCAxNDUsIDIsIDI0NiwgNzUsIDI3LCA2LCAxLCAyNTIsIDE0NSwgMiwgMjIwLCA4NywgMjMsIDIwOSwgNTQsIDI3LCA2LCAKKyAgICAxLCAyNTIsIDE0NSwgMiwgMjQ2LCA3NiwgMjMsIDIwOSwgNTQsIDI3LCA2LCAxLCAyNTIsIDE0NSwgMiwgMjIwLCA4NywgMjMsIAorICAgIDIyMiwgNzIsIDI3LCA2LCAxLCAyNTIsIDE0NSwgMiwgMjQ2LCA3NiwgMjMsIDIyMiwgNzIsIDI3LCA2LCAxLCAyNTIsIDE0NSwgCisgICAgMiwgMjIwLCA4NywgMjMsIDIyMSwgMTI0LCAyNywgNiwgMSwgMjUyLCAxNDUsIDIsIDI0NiwgNzYsIDIzLCAyMjEsIDEyNCwgCisgICAgMjcsIDUsIDEsIDI0MiwgMjQ1LCAyLCAyMjAsIDg2LCAyNywgNSwgMSwgMjQyLCAyNDUsIDIsIDI0NiwgNzUsIDI3LCA1LCAxLCAKKyAgICAyNDIsIDI0NSwgMiwgMjIwLCA4NywgMjMsIDIwOSwgNTQsIDI3LCA1LCAxLCAyNDIsIDI0NSwgMiwgMjQ2LCA3NiwgMjMsIAorICAgIDIwOSwgNTQsIDI3LCA1LCAxLCAyNDIsIDI0NSwgMiwgMjIwLCA4NywgMjMsIDIyMiwgNzIsIDI3LCA1LCAxLCAyNDIsIDI0NSwgCisgICAgMiwgMjQ2LCA3NiwgMjMsIDIyMiwgNzIsIDI3LCA2LCAxLCAyNDIsIDI0NSwgMiwgMjIwLCA4NiwgMjcsIDYsIDEsIDI0MiwgCisgICAgMjQ1LCAyLCAyNDYsIDc1LCAyNywgNiwgMSwgMjQyLCAyNDUsIDIsIDIyMCwgODcsIDIzLCAyMDksIDU0LCAyNywgNiwgMSwgCisgICAgMjQyLCAyNDUsIDIsIDI0NiwgNzYsIDIzLCAyMDksIDU0LCAyNywgNiwgMSwgMjQyLCAyNDUsIDIsIDIyMCwgODcsIDIzLCAKKyAgICAyMjIsIDcyLCAyNywgNiwgMSwgMjQyLCAyNDUsIDIsIDI0NiwgNzYsIDIzLCAyMjIsIDcyLCAyNywgNSwgMSwgMjQyLCAyMDIsIAorICAgIDIsIDIyMCwgODYsIDI3LCA1LCAxLCAyNDIsIDIwMiwgMiwgMjQ2LCA3NSwgMjcsIDUsIDEsIDI0MiwgMjAyLCAyLCAyMjAsIAorICAgIDg3LCAyMywgMjA5LCA1NCwgMjcsIDUsIDEsIDI0MiwgMjAyLCAyLCAyNDYsIDc2LCAyMywgMjA5LCA1NCwgMjcsIDUsIDEsIAorICAgIDI0MiwgMjAyLCAyLCAyMjAsIDg3LCAyMywgMjIyLCA3MiwgMjcsIDUsIDEsIDI0MiwgMjAyLCAyLCAyNDYsIDc2LCAyMywgCisgICAgMjIyLCA3MiwgMjcsIDUsIDEsIDI0MiwgMjAyLCAyLCAyMjAsIDg3LCAyMywgMjIxLCAxMjQsIDI3LCA1LCAxLCAyNDIsIAorICAgIDIwMiwgMiwgMjQ2LCA3NiwgMjMsIDIyMSwgMTI0LCAyNywgNiwgMSwgMjQyLCAyMDIsIDIsIDIyMCwgODYsIDI3LCA2LCAxLCAKKyAgICAyNDIsIDIwMiwgMiwgMjQ2LCA3NSwgMjcsIDYsIDEsIDI0MiwgMjAyLCAyLCAyMjAsIDg3LCAyMywgMjA5LCA1NCwgMjcsIDYsIAorICAgIDEsIDI0MiwgMjAyLCAyLCAyNDYsIDc2LCAyMywgMjA5LCA1NCwgMjcsIDYsIDEsIDI0MiwgMjAyLCAyLCAyMjAsIDg3LCAyMywgCisgICAgMjIyLCA3MiwgMjcsIDYsIDEsIDI0MiwgMjAyLCAyLCAyNDYsIDc2LCAyMywgMjIyLCA3MiwgMjcsIDYsIDEsIDI0MiwgMjAyLCAKKyAgICAyLCAyMjAsIDg3LCAyMywgMjIxLCAxMjQsIDI3LCA2LCAxLCAyNDIsIDIwMiwgMiwgMjQ2LCA3NiwgMjMsIDIyMSwgMTI0LCAKKyAgICAyNywgNSwgMSwgMjMyLCAyNTAsIDIsIDIyMCwgODYsIDI3LCA1LCAxLCAyMzIsIDI1MCwgMiwgMjQ2LCA3NSwgMjcsIDUsIDEsIAorICAgIDIzMiwgMjUwLCAyLCAyMjAsIDg3LCAyMywgMjA5LCA1NCwgMjcsIDUsIDEsIDIzMiwgMjUwLCAyLCAyNDYsIDc2LCAyMywgCisgICAgMjA5LCA1NCwgMjcsIDUsIDEsIDIzMiwgMjUwLCAyLCAyMjAsIDg3LCAyMywgMjIyLCA3MiwgMjcsIDUsIDEsIDIzMiwgMjUwLCAKKyAgICAyLCAyNDYsIDc2LCAyMywgMjIyLCA3MiwgMjcsIDUsIDEsIDIzMiwgMjUwLCAyLCAyMjAsIDg3LCAyMywgMjIxLCAxMjQsIAorICAgIDI3LCA1LCAxLCAyMzIsIDI1MCwgMiwgMjQ2LCA3NiwgMjMsIDIyMSwgMTI0LCAyNywgNiwgMSwgMjMyLCAyNTAsIDIsIDIyMCwgCisgICAgODYsIDI3LCA2LCAxLCAyMzIsIDI1MCwgMiwgMjQ2LCA3NSwgMjcsIDYsIDEsIDIzMiwgMjUwLCAyLCAyMjAsIDg3LCAyMywgCisgICAgMjA5LCA1NCwgMjcsIDYsIDEsIDIzMiwgMjUwLCAyLCAyNDYsIDc2LCAyMywgMjA5LCA1NCwgMjcsIDYsIDEsIDIzMiwgMjUwLCAKKyAgICAyLCAyMjAsIDg3LCAyMywgMjIyLCA3MiwgMjcsIDYsIDEsIDIzMiwgMjUwLCAyLCAyNDYsIDc2LCAyMywgMjIyLCA3MiwgMjcsIAorICAgIDYsIDEsIDIzMiwgMjUwLCAyLCAyMjAsIDg3LCAyMywgMjIxLCAxMjQsIDI3LCA2LCAxLCAyMzIsIDI1MCwgMiwgMjQ2LCA3NiwgCisgICAgMjMsIDIyMSwgMTI0LCAyNywgNSwgMSwgMjIyLCAxNjksIDIsIDIyMCwgODYsIDI3LCA1LCAxLCAyMjIsIDE2OSwgMiwgMjQ2LCAKKyAgICA3NSwgMjcsIDUsIDEsIDIyMiwgMTY5LCAyLCAyMjAsIDg3LCAyMywgMjA5LCA1NCwgMjcsIDUsIDEsIDIyMiwgMTY5LCAyLCAKKyAgICAyNDYsIDc2LCAyMywgMjA5LCA1NCwgMjcsIDUsIDEsIDIyMiwgMTY5LCAyLCAyMjAsIDg3LCAyMywgMjIyLCA3MiwgMjcsIDUsIAorICAgIDEsIDIyMiwgMTY5LCAyLCAyNDYsIDc2LCAyMywgMjIyLCA3MiwgMjcsIDYsIDEsIDIyMiwgMTY5LCAyLCAyMjAsIDg2LCAyNywgCisgICAgNiwgMSwgMjIyLCAxNjksIDIsIDI0NiwgNzUsIDI3LCA2LCAxLCAyMjIsIDE2OSwgMiwgMjIwLCA4NywgMjMsIDIwOSwgNTQsIAorICAgIDI3LCA2LCAxLCAyMjIsIDE2OSwgMiwgMjQ2LCA3NiwgMjMsIDIwOSwgNTQsIDI3LCA2LCAxLCAyMjIsIDE2OSwgMiwgMjIwLCAKKyAgICA4NywgMjMsIDIyMiwgNzIsIDI3LCA2LCAxLCAyMjIsIDE2OSwgMiwgMjQ2LCA3NiwgMjMsIDIyMiwgNzIsIDI3LCA1LCAxLCAKKyAgICAyMDksIDIwMSwgMiwgMjIwLCA4NiwgMjcsIDUsIDEsIDIwOSwgMjAxLCAyLCAyNDYsIDc1LCAyNywgNSwgMSwgMjA5LCAyMDEsIAorICAgIDIsIDIyMCwgODcsIDIzLCAyMDksIDU0LCAyNywgNSwgMSwgMjA5LCAyMDEsIDIsIDI0NiwgNzYsIDIzLCAyMDksIDU0LCAyNywgCisgICAgNSwgMSwgMjA5LCAyMDEsIDIsIDIyMCwgODcsIDIzLCAyMjIsIDcyLCAyNywgNSwgMSwgMjA5LCAyMDEsIDIsIDI0NiwgNzYsIAorICAgIDIzLCAyMjIsIDcyLCAyNywgNSwgMSwgMjA5LCAyMDEsIDIsIDIyMCwgODcsIDIzLCAyMjEsIDEyNCwgMjcsIDUsIDEsIDIwOSwgCisgICAgMjAxLCAyLCAyNDYsIDc2LCAyMywgMjIxLCAxMjQsIDI3LCA2LCAxLCAyMDksIDIwMSwgMiwgMjQ2LCA3NSwgMjcsIDYsIDEsIAorICAgIDIwOSwgMjAxLCAyLCAyNDYsIDc2LCAyMywgMjA5LCA1NCwgMjcsIDYsIDEsIDIwOSwgMjAxLCAyLCAyNDYsIDc2LCAyMywgCisgICAgMjIyLCA3MiwgMjcsIDYsIDEsIDIwOSwgMjAxLCAyLCAyNDYsIDc2LCAyMywgMjIxLCAxMjQsIDI3LCA1LCAxLCAyMjIsIAorICAgIDE3MSwgMiwgMjIwLCA4NiwgMjcsIDUsIDEsIDIyMiwgMTcxLCAyLCAyNDYsIDc1LCAyNywgNSwgMSwgMjIyLCAxNzEsIDIsIAorICAgIDIyMCwgODcsIDIzLCAyMDksIDU0LCAyNywgNSwgMSwgMjIyLCAxNzEsIDIsIDI0NiwgNzYsIDIzLCAyMDksIDU0LCAyNywgNSwgCisgICAgMSwgMjIyLCAxNzEsIDIsIDIyMCwgODcsIDIzLCAyMjIsIDcyLCAyNywgNSwgMSwgMjIyLCAxNzEsIDIsIDI0NiwgNzYsIDIzLCAKKyAgICAyMjIsIDcyLCAyNywgNSwgMSwgMjIyLCAxNzEsIDIsIDIyMCwgODcsIDIzLCAyMjEsIDEyNCwgMjcsIDUsIDEsIDIyMiwgCisgICAgMTcxLCAyLCAyNDYsIDc2LCAyMywgMjIxLCAxMjQsIDI3LCA2LCAxLCAyMjIsIDE3MSwgMiwgMjIwLCA4NiwgMjcsIDYsIDEsIAorICAgIDIyMiwgMTcxLCAyLCAyNDYsIDc1LCAyNywgNiwgMSwgMjIyLCAxNzEsIDIsIDIyMCwgODcsIDIzLCAyMDksIDU0LCAyNywgNiwgCisgICAgMSwgMjIyLCAxNzEsIDIsIDI0NiwgNzYsIDIzLCAyMDksIDU0LCAyNywgNiwgMSwgMjIyLCAxNzEsIDIsIDIyMCwgODcsIDIzLCAKKyAgICAyMjIsIDcyLCAyNywgNiwgMSwgMjIyLCAxNzEsIDIsIDI0NiwgNzYsIDIzLCAyMjIsIDcyLCAyNywgNiwgMSwgMjIyLCAxNzEsIAorICAgIDIsIDIyMCwgODcsIDIzLCAyMjEsIDEyNCwgMjcsIDYsIDEsIDIyMiwgMTcxLCAyLCAyNDYsIDc2LCAyMywgMjIxLCAxMjQsIAorICAgIDI3LCA1LCAxLCAyNTIsIDE0NSwgMiwgMjA5LCA1NCwgMjcsIDUsIDEsIDI1MiwgMTQ1LCAyLCAyMjIsIDcyLCAyNywgNSwgMSwgCisgICAgMjQyLCAyNDUsIDIsIDIwOSwgNTQsIDI3LCA1LCAxLCAyNDIsIDI0NSwgMiwgMjIyLCA3MiwgMjcsIDUsIDEsIDI0MiwgMjAyLCAKKyAgICAyLCAyMDksIDU0LCAyNywgNSwgMSwgMjQyLCAyMDIsIDIsIDIyMiwgNzIsIDI3LCA1LCAxLCAyMzIsIDI1MCwgMiwgMjA5LCAKKyAgICA1NCwgMjcsIDUsIDEsIDIzMiwgMjUwLCAyLCAyMjIsIDcyLCAyNywgNSwgMSwgMjIyLCAxNjksIDIsIDIwOSwgNTQsIDI3LCAKKyAgICA1LCAxLCAyMjIsIDE2OSwgMiwgMjIyLCA3MiwgMjcsIDUsIDEsIDIwOSwgMjAxLCAyLCAyMDksIDU0LCAyNywgNSwgMSwgCisgICAgMjA5LCAyMDEsIDIsIDIyMiwgNzIsIDI3LCA1LCAxLCAyMjIsIDE3MSwgMiwgMjA5LCA1NCwgMjcsIDUsIDEsIDIyMiwgMTcxLCAKKyAgICAyLCAyMjIsIDcyLCAyNywgNSwgMSwgMjUyLCAxNDUsIDIsIDIyMCwgODcsIDIzLCAyMDUsIDIyMSwgMjcsIDUsIDEsIDI1MiwgCisgICAgMTQ1LCAyLCAyNDYsIDc2LCAyMywgMjA1LCAyMjEsIDI3LCA1LCAxLCAyNTIsIDE0NSwgMiwgMjIwLCA4NywgMjMsIDIwOSwgCisgICAgNTUsIDIzLCAyMDUsIDIyMSwgMjcsIDUsIDEsIDI1MiwgMTQ1LCAyLCAyNDYsIDc2LCAyMywgMjA5LCA1NSwgMjMsIDIwNSwgCisgICAgMjIxLCAyNywgNSwgMSwgMjUyLCAxNDUsIDIsIDIyMCwgODcsIDIzLCAyMjIsIDczLCAyMywgMjA1LCAyMjEsIDI3LCA1LCAxLCAKKyAgICAyNTIsIDE0NSwgMiwgMjQ2LCA3NiwgMjMsIDIyMiwgNzMsIDIzLCAyMDUsIDIyMSwgMjcsIDUsIDEsIDI1MiwgMTQ1LCAyLCAKKyAgICAyMjAsIDg3LCAyMywgMjIxLCAxMjUsIDIzLCAyMDUsIDIyMSwgMjcsIDUsIDEsIDI1MiwgMTQ1LCAyLCAyNDYsIDc2LCAyMywgCisgICAgMjIxLCAxMjUsIDIzLCAyMDUsIDIyMSwgMjcsIDYsIDEsIDI1MiwgMTQ1LCAyLCAyMjAsIDg3LCAyMywgMjIwLCAxMDAsIDI3LCAKKyAgICA2LCAxLCAyNTIsIDE0NSwgMiwgMjQ2LCA3NiwgMjMsIDIyMCwgMTAwLCAyNywgNiwgMSwgMjUyLCAxNDUsIDIsIDIyMCwgODcsIAorICAgIDIzLCAyMDksIDU1LCAyMywgMjIwLCAxMDAsIDI3LCA2LCAxLCAyNTIsIDE0NSwgMiwgMjQ2LCA3NiwgMjMsIDIwOSwgNTUsIAorICAgIDIzLCAyMjAsIDEwMCwgMjcsIDYsIDEsIDI1MiwgMTQ1LCAyLCAyMjAsIDg3LCAyMywgMjIyLCA3MywgMjMsIDIyMCwgMTAwLCAKKyAgICAyNywgNiwgMSwgMjUyLCAxNDUsIDIsIDI0NiwgNzYsIDIzLCAyMjIsIDczLCAyMywgMjIwLCAxMDAsIDI3LCA2LCAxLCAyNTIsIAorICAgIDE0NSwgMiwgMjIwLCA4NywgMjMsIDIyMSwgMTI1LCAyMywgMjIwLCAxMDAsIDI3LCA2LCAxLCAyNTIsIDE0NSwgMiwgMjQ2LCAKKyAgICA3NiwgMjMsIDIyMSwgMTI1LCAyMywgMjIwLCAxMDAsIDI3LCA1LCAxLCAyNDIsIDIwMiwgMiwgMjIwLCA4NywgMjMsIDIwNSwgCisgICAgMjIxLCAyNywgNSwgMSwgMjQyLCAyMDIsIDIsIDI0NiwgNzYsIDIzLCAyMDUsIDIyMSwgMjcsIDUsIDEsIDI0MiwgMjAyLCAyLCAKKyAgICAyMjAsIDg3LCAyMywgMjA5LCA1NSwgMjMsIDIwNSwgMjIxLCAyNywgNSwgMSwgMjQyLCAyMDIsIDIsIDI0NiwgNzYsIDIzLCAKKyAgICAyMDksIDU1LCAyMywgMjA1LCAyMjEsIDI3LCA1LCAxLCAyNDIsIDIwMiwgMiwgMjIwLCA4NywgMjMsIDIyMiwgNzMsIDIzLCAKKyAgICAyMDUsIDIyMSwgMjcsIDUsIDEsIDI0MiwgMjAyLCAyLCAyNDYsIDc2LCAyMywgMjIyLCA3MywgMjMsIDIwNSwgMjIxLCAyNywgCisgICAgNSwgMSwgMjQyLCAyMDIsIDIsIDIyMCwgODcsIDIzLCAyMjEsIDEyNSwgMjMsIDIwNSwgMjIxLCAyNywgNSwgMSwgMjQyLCAKKyAgICAyMDIsIDIsIDI0NiwgNzYsIDIzLCAyMjEsIDEyNSwgMjMsIDIwNSwgMjIxLCAyNywgNiwgMSwgMjQyLCAyMDIsIDIsIDIyMCwgCisgICAgODcsIDIzLCAyMjAsIDEwMCwgMjcsIDYsIDEsIDI0MiwgMjAyLCAyLCAyNDYsIDc2LCAyMywgMjIwLCAxMDAsIDI3LCA2LCAxLCAKKyAgICAyNDIsIDIwMiwgMiwgMjIwLCA4NywgMjMsIDIwOSwgNTUsIDIzLCAyMjAsIDEwMCwgMjcsIDYsIDEsIDI0MiwgMjAyLCAyLCAKKyAgICAyNDYsIDc2LCAyMywgMjA5LCA1NSwgMjMsIDIyMCwgMTAwLCAyNywgNiwgMSwgMjQyLCAyMDIsIDIsIDIyMCwgODcsIDIzLCAKKyAgICAyMjIsIDczLCAyMywgMjIwLCAxMDAsIDI3LCA2LCAxLCAyNDIsIDIwMiwgMiwgMjQ2LCA3NiwgMjMsIDIyMiwgNzMsIDIzLCAKKyAgICAyMjAsIDEwMCwgMjcsIDYsIDEsIDI0MiwgMjAyLCAyLCAyMjAsIDg3LCAyMywgMjIxLCAxMjUsIDIzLCAyMjAsIDEwMCwgMjcsIAorICAgIDYsIDEsIDI0MiwgMjAyLCAyLCAyNDYsIDc2LCAyMywgMjIxLCAxMjUsIDIzLCAyMjAsIDEwMCwgMjcsIDUsIDEsIDIyMiwgCisgICAgMTcxLCAyLCAyMjAsIDg3LCAyMywgMjA1LCAyMjEsIDI3LCA1LCAxLCAyMjIsIDE3MSwgMiwgMjQ2LCA3NiwgMjMsIDIwNSwgCisgICAgMjIxLCAyNywgNSwgMSwgMjIyLCAxNzEsIDIsIDIyMCwgODcsIDIzLCAyMDksIDU1LCAyMywgMjA1LCAyMjEsIDI3LCA1LCAxLCAKKyAgICAyMjIsIDE3MSwgMiwgMjQ2LCA3NiwgMjMsIDIwOSwgNTUsIDIzLCAyMDUsIDIyMSwgMjcsIDUsIDEsIDIyMiwgMTcxLCAyLCAKKyAgICAyMjAsIDg3LCAyMywgMjIyLCA3MywgMjMsIDIwNSwgMjIxLCAyNywgNSwgMSwgMjIyLCAxNzEsIDIsIDI0NiwgNzYsIDIzLCAKKyAgICAyMjIsIDczLCAyMywgMjA1LCAyMjEsIDI3LCA1LCAxLCAyMjIsIDE3MSwgMiwgMjIwLCA4NywgMjMsIDIyMSwgMTI1LCAyMywgCisgICAgMjA1LCAyMjEsIDI3LCA1LCAxLCAyMjIsIDE3MSwgMiwgMjQ2LCA3NiwgMjMsIDIyMSwgMTI1LCAyMywgMjA1LCAyMjEsIDI3LCAKKyAgICA2LCAxLCAyMjIsIDE3MSwgMiwgMjIwLCA4NywgMjMsIDIyMCwgMTAwLCAyNywgNiwgMSwgMjIyLCAxNzEsIDIsIDI0NiwgNzYsIAorICAgIDIzLCAyMjAsIDEwMCwgMjcsIDYsIDEsIDIyMiwgMTcxLCAyLCAyMjAsIDg3LCAyMywgMjA5LCA1NSwgMjMsIDIyMCwgMTAwLCAKKyAgICAyNywgNiwgMSwgMjIyLCAxNzEsIDIsIDI0NiwgNzYsIDIzLCAyMDksIDU1LCAyMywgMjIwLCAxMDAsIDI3LCA2LCAxLCAyMjIsIAorICAgIDE3MSwgMiwgMjIwLCA4NywgMjMsIDIyMiwgNzMsIDIzLCAyMjAsIDEwMCwgMjcsIDYsIDEsIDIyMiwgMTcxLCAyLCAyNDYsIAorICAgIDc2LCAyMywgMjIyLCA3MywgMjMsIDIyMCwgMTAwLCAyNywgNiwgMSwgMjIyLCAxNzEsIDIsIDIyMCwgODcsIDIzLCAyMjEsIAorICAgIDEyNSwgMjMsIDIyMCwgMTAwLCAyNywgNiwgMSwgMjIyLCAxNzEsIDIsIDI0NiwgNzYsIDIzLCAyMjEsIDEyNSwgMjMsIDIyMCwgCisgICAgMTAwLCAyNywgNSwgMSwgMjUyLCAxNDUsIDIsIDIwOCwgMTUyLCAyNywgNSwgMSwgMjUyLCAxNDUsIDIsIDIyOCwgMTMsIDI3LCAKKyAgICA1LCAxLCAyNTIsIDE0NSwgMiwgMjA5LCA1NSwgMjMsIDIwNSwgMjIxLCAyNywgNSwgMSwgMjUyLCAxNDUsIDIsIDIwNSwgCisgICAgMjIxLCAyNywgNSwgMSwgMjUyLCAxNDUsIDIsIDIyMiwgNzMsIDIzLCAyMDUsIDIyMSwgMjcsIDUsIDEsIDI1MiwgMTQ1LCAyLCAKKyAgICAyMjEsIDEyNCwgMjcsIDUsIDEsIDI1MiwgMTQ1LCAyLCAyMjEsIDEyNSwgMjMsIDIwNSwgMjIxLCAyNywgNiwgMSwgMjUyLCAKKyAgICAxNDUsIDIsIDIwOCwgMTUyLCAyNywgNiwgMSwgMjUyLCAxNDUsIDIsIDIyOCwgMTMsIDI3LCA2LCAxLCAyNTIsIDE0NSwgMiwgCisgICAgMjA5LCA1NCwgMjcsIDYsIDEsIDI1MiwgMTQ1LCAyLCAyMjIsIDcyLCAyNywgNiwgMSwgMjUyLCAxNDUsIDIsIDIyMCwgMTAwLCAKKyAgICAyNywgMjMxLCAyMywgMjcsIDIyMCwgMTAwLCAyNywgMjIwLCA4NiwgMjcsIDIyMSwgMTI0LCAyNywgMjQ1LCAxNjAsIDIzLCAKKyAgICAyMjEsIDEyNCwgMjcsIDUsIDEsIDI0MiwgMjAyLCAyLCAyMDksIDU1LCAyMywgMjA1LCAyMjEsIDI3LCA1LCAxLCAyNDIsIAorICAgIDIwMiwgMiwgMjA1LCAyMjEsIDI3LCA1LCAxLCAyNDIsIDIwMiwgMiwgMjIyLCA3MywgMjMsIDIwNSwgMjIxLCAyNywgNSwgMSwgCisgICAgMjQyLCAyMDIsIDIsIDIyMSwgMTI0LCAyNywgNSwgMSwgMjQyLCAyMDIsIDIsIDIyMSwgMTI1LCAyMywgMjA1LCAyMjEsIDI3LCAKKyAgICA2LCAxLCAyNDIsIDI0NSwgMiwgMjA5LCA1NCwgMjcsIDYsIDEsIDI0MiwgMjQ1LCAyLCAyMjIsIDcyLCAyNywgNiwgMSwgCisgICAgMjQyLCAyMDIsIDIsIDIwOSwgNTQsIDI3LCA2LCAxLCAyNDIsIDIwMiwgMiwgMjIyLCA3MiwgMjcsIDYsIDEsIDI0MiwgMjAyLCAKKyAgICAyLCAyMjAsIDEwMCwgMjcsIDIyMCwgODcsIDIzLCAyMDksIDU0LCAyNywgMjIwLCA4NywgMjMsIDIyMiwgNzIsIDI3LCAyMjAsIAorICAgIDg3LCAyMywgMjIxLCAxMjQsIDI3LCA1LCAxLCAyMzIsIDI1MCwgMiwgMjA4LCAxNTIsIDI3LCA1LCAxLCAyMzIsIDI1MCwgMiwgCisgICAgMjI4LCAxMywgMjcsIDUsIDEsIDIzMiwgMjUwLCAyLCAyNDUsIDE2MCwgMjMsIDIwOSwgNTQsIDI3LCA1LCAxLCAyMzIsIAorICAgIDI1MCwgMiwgMjQ1LCAxNjAsIDIzLCAyMjIsIDcyLCAyNywgNSwgMSwgMjMyLCAyNTAsIDIsIDIyMSwgMTI0LCAyNywgNSwgMSwgCisgICAgMjMyLCAyNTAsIDIsIDI0NSwgMTYwLCAyMywgMjIxLCAxMjQsIDI3LCA2LCAxLCAyMzIsIDI1MCwgMiwgMjA4LCAxNTIsIDI3LCAKKyAgICA2LCAxLCAyMzIsIDI1MCwgMiwgMjI4LCAxMywgMjcsIDYsIDEsIDIzMiwgMjUwLCAyLCAyMDksIDU0LCAyNywgNiwgMSwgCisgICAgMjMyLCAyNTAsIDIsIDIyMiwgNzIsIDI3LCAyNDYsIDc2LCAyMywgMjA5LCA1NCwgMjcsIDI0NiwgNzYsIDIzLCAyMjIsIDcyLCAKKyAgICAyNywgMjQ2LCA3NiwgMjMsIDIyMSwgMTI0LCAyNywgNSwgMSwgMjA5LCAyMDEsIDIsIDIwOCwgMTUyLCAyNywgNSwgMSwgCisgICAgMjA5LCAyMDEsIDIsIDIyOCwgMTMsIDI3LCA1LCAxLCAyMDksIDIwMSwgMiwgMjQ1LCAxNjAsIDIzLCAyMDksIDU0LCAyNywgCisgICAgNSwgMSwgMjA5LCAyMDEsIDIsIDI0NSwgMTYwLCAyMywgMjIyLCA3MiwgMjcsIDUsIDEsIDIxOCwgMjExLCAyLCAyMjAsIDg2LCAKKyAgICAyNywgNSwgMSwgMjE4LCAyMTEsIDIsIDI0NiwgNzUsIDI3LCA1LCAxLCAyMDksIDIwMSwgMiwgMjIxLCAxMjQsIDI3LCA1LCAKKyAgICAxLCAyMDksIDIwMSwgMiwgMjQ1LCAxNjAsIDIzLCAyMjEsIDEyNCwgMjcsIDYsIDEsIDIwOSwgMjAxLCAyLCAyMDgsIDE1MiwgCisgICAgMjcsIDYsIDEsIDIwOSwgMjAxLCAyLCAyMjgsIDEzLCAyNywgNiwgMSwgMjA5LCAyMDEsIDIsIDIwOSwgNTQsIDI3LCA2LCAxLCAKKyAgICAyMDksIDIwMSwgMiwgMjIyLCA3MiwgMjcsIDYsIDEsIDIxOCwgMjExLCAyLCAyNDYsIDc1LCAyNywgMjQ1LCAxNjAsIDIzLCAKKyAgICAyMDksIDU0LCAyNywgMjQ1LCAxNjAsIDIzLCAyMjIsIDcyLCAyNywgMjA5LCA1NCwgMjcsIDUsIDEsIDIyMiwgMTcxLCAyLCAKKyAgICAyMDksIDU1LCAyMywgMjA1LCAyMjEsIDI3LCA1LCAxLCAyMjIsIDE3MSwgMiwgMjA1LCAyMjEsIDI3LCA1LCAxLCAyMjIsIAorICAgIDE3MSwgMiwgMjIyLCA3MywgMjMsIDIwNSwgMjIxLCAyNywgNSwgMSwgMjIyLCAxNzEsIDIsIDIyMSwgMTI0LCAyNywgNSwgMSwgCisgICAgMjIyLCAxNzEsIDIsIDIyMSwgMTI1LCAyMywgMjA1LCAyMjEsIDI3LCA2LCAxLCAyMjIsIDE2OSwgMiwgMjA5LCA1NCwgMjcsIAorICAgIDYsIDEsIDIyMiwgMTY5LCAyLCAyMjIsIDcyLCAyNywgNiwgMSwgMjIyLCAxNzEsIDIsIDIwOSwgNTQsIDI3LCA2LCAxLCAKKyAgICAyMjIsIDE3MSwgMiwgMjIyLCA3MiwgMjcsIDYsIDEsIDIyMiwgMTcxLCAyLCAyMjAsIDEwMCwgMjcsIDIyMiwgNzIsIDI3LCAKKyAgICAyNDYsIDc1LCAyNDMsIDQyLCAyMTksIDIxMSwgMjQzLCA1MSwgMjE5LCAyMTEsIDI0MywgNDIsIDIxNCwgMTUzLCAyNDMsIAorICAgIDUxLCAyMTQsIDE1MywgMjExLCAyMzUsIDIxNCwgMTUzLCAyNDEsIDEyMywgMjE0LCAxNTMsIDIxNSwgOCwgMjE0LCAxNTMsIAorICAgIDI0MSwgMjQxLCAyMTQsIDE1MywgMjIwLCA3MiwgMjE0LCAxNTMsIDIxMiwgMTIsIDIxNCwgMTUzLCAyMzksIDEzMCwgMjE0LCAKKyAgICAxNTMsIDIwNSwgODYsIDIwNywgMTUsIDIxNCwgMTUzLCAyMDUsIDg2LCAyMDcsIDE1LCAyMjQsIDU5LCAyMDUsIDg2LCAyMDcsIAorICAgIDE1LCAyMzIsIDExNywgMjMwLCAzNywgODMsIDIxOCwgMTU4LCA4MywgMjM3LCAyMzksIDIyNCwgNjAsIDIzNywgMjM5LCAKKyAgICAyNDEsIDI0MSwgMjQ2LCA3OCwgMjQzLCA0MiwgMjQ2LCA3OCwgMjQzLCA1MSwgMjQ2LCA3OCwgMTk0LCAxMzQsIDUwLCA3OSwgCisgICAgMjI5LCAyMDUsIDUwLCAxMTQsIDIyOSwgMjA1LCA0NywgMjE1LCA0MSwgMjE5LCAxODAsIDgzLCA0OCwgMjE1LCA0MSwgMjE5LCAKKyAgICAxODAsIDgzLCAyMTUsIDQxLCAyMjksIDk2LCAyMTksIDE4MCwgODMsIDIxNSwgNDEsIDIzOCwgMjQ5LCAyMTksIDE4MCwgODMsIAorICAgIDQ3LCA1MCwgMjE5LCAxODAsIDgzLCA0OCwgNTAsIDIxOSwgMTgwLCA4MywgNTAsIDIyOSwgOTYsIDIxOSwgMTgwLCA4MywgCisgICAgNTAsIDIzOCwgMjQ5LCAyMTksIDE4MCwgODMsIDI0NiwgMTI4LCA1MCwgMjQ2LCAxMjgsIDI0OSwgODUsIDIxMSwgNDgsIAorICAgIDI0OSwgODUsIDExOSwgNjcsIDIzMCwgNTYsIDExOCwgNjcsIDIzMCwgNTYsIDE5NCwgMjQzLCA1NCwgMjM3LCAyMzcsIDIyMCwgCisgICAgMjA0LCAyMjksIDIwNiwgMjE2LCAzOSwgMjIxLCAyMjksIDIxNiwgMzksIDIzMCwgMzcsIDI0MywgNDksIDIxOCwgMTU4LCAKKyAgICAyNDMsIDQ5LCAyMjAsIDE4NCwgMjQ1LCAxMDMsIDI0MSwgMTM0LCAyMzAsIDM3LCAyMjIsIDc5LCAyMTgsIDE1OCwgMjIyLCAKKyAgICA3OSwgMjI1LCAxOTksIDIyNCwgNjYsIDIxNCwgMTUzLCAyMjEsIDEzMiwgMjI2LCAyMTUsIDUzLCAyMjEsIDEzMiwgMjEyLCAKKyAgICA5OSwgMjExLCAyNDMsIDUzLCAyMjAsIDEyNywgNTAsIDIyMCwgMTI3LCAyMTEsIDM2LCAyMjAsIDEyNywgMjE4LCAyMjQsIAorICAgIDIyMCwgMTI3LCAyMTgsIDIyNCwgNTAsIDIyMCwgMTI3LCAyMTgsIDIyNCwgMjExLCAzNiwgMjIwLCAxMjcsIDI0OCwgMTk5LCAKKyAgICAyMTUsIDQxLCAyMzAsIDQxLCAyNTIsIDEwOSwgMjE5LCAxODAsIDgzLCAyMTUsIDQxLCAyMTgsIDE2MiwgMjUyLCAxMDksIAorICAgIDIxOSwgMTgwLCA4MywgMjE5LCAyOCwgODMsIDUwLCAyNDIsIDE2OCwgODMsIDIzMywgMTAsIDIyMiwgODEsIDIwOSwgMjIzLCAKKyAgICAxNTcsIDIxMSwgMjAzLCAyNDgsIDIwMCwgMjMzLCAyNywgMjIwLCAyMDQsIDI1MSwgMjA3LCAyMzcsIDI0MCwgMjQ5LCA4NSwgCisgICAgMjQxLCAxMTYsIDIxNCwgMjM1LCA0NywgNDksIDI0OSwgMTM0LCAyLCAyMTksIDE5MCwgNDgsIDQ5LCAyNDksIDEzNCwgMiwgCisgICAgMjE5LCAxOTAsIDUwLCAyMTksIDE5NiwgODMsIDIxOSwgMTk2LCAyNDIsIDE2OCwgODMsIDI0MiwgMTY4LCAyMTksIDE5NiwgCisgICAgODMsIDIxMSwgMTU5LCAzLCAyNDIsIDIwMywgMjE4LCAyMjQsIDIyMSwgMTIsIDUzLCA2MCwgOTIsIDI0OSwgODUsIDYwLCAKKyAgICA4NiwgMjQ5LCA4NSwgMTE0LCAyNTEsIDIwOSwgMjE4LCAyMjQsIDIxNiwgNTIsIDI0NywgMTkzLCAyMDksIDIwNiwgMTE4LCAKKyAgICAyNTEsIDIwOCwgMjUyLCAxNjAsIDIwOCwgMjI3LCAyNDcsIDE1MywgMjI2LCAyMDIsIDUzLCAyMTMsIDkzLCAyNDYsIDc4LCAKKyAgICAyMzMsIDIsIDIwOSwgMjIzLCAyNDEsIDE3MywgMjIwLCA3MiwgODMsIDEyOSwgNjcsIDIyMCwgNzEsIDIxOSwgMjA3LCAyMjAsIAorICAgIDEyNywgMjQxLCAxMjUsIDY3LCAyMjAsIDcxLCAyNDEsIDIwNCwgNjcsIDIyMCwgNzEsIDExOCwgNjcsIDIyMCwgNzEsIDI0MSwgCisgICAgMTI1LCA2NywgODMsIDI0NCwgMjEsIDI0NywgNTksIDIxMSwgNDcsIDc5LCAyNDEsIDEyNSwgMjQ1LCAyMSwgMjI3LCAxMDksIAorICAgIDExLCAyMTQsIDE1MywgMjA2LCAyMzIsIDIzMiwgMTE3LCAyNDEsIDgwLCAyNTIsIDQ4LCAyMzMsIDAsIDIxMSwgMTc1LCAKKyAgICAyMzMsIDAsIDIxNiwgMzksIDIzMywgMCwgMjIwLCAyMTgsIDIzMCwgMzcsIDIzMiwgMjI2LCAyMTgsIDE1OCwgMjMyLCAyMjYsIAorICAgIDI0MSwgMjE1LCAyMTMsIDIxMSwgMjMyLCAyMjYsIDIyMCwgMTg0LCAyNDUsIDEwMywgMjMyLCAyMjYsIDIzMywgMzksIDIxMywgCisgICAgNDEsIDIxMywgMTEwLCAyNTMsIDExLCAyMTMsIDQxLCAyMTMsIDExMCwgMjMzLCAzOSwgOCwgMjQxLCAxMzYsIDIxNSwgMjMyLCAKKyAgICAyNTMsIDExLCA4LCAyNDEsIDEzNiwgMjE1LCAyMzIsIDIyNSwgMTkzLCAxOCwgMjE1LCAyMzMsIDIyNCwgNjIsIDE4LCAyMTUsIAorICAgIDIzMywgMjEzLCAxMzksIDIwNSwgODUsIDIxMywgMTM5LCA3LCA1LCAxLCA3NCwgMjEzLCAxMzksIDEzOSwgMjEzLCAxMzksIAorICAgIDE2OCwgMjEzLCAxMzksIDE4NCwgMjEzLCAxMzksIDE5NSwgMjEzLCAxMzksIDE5MywgMjEzLCAxMzksIDIwMCwgMjEzLCAKKyAgICAxMzksIDEwMSwgNTMsIDIxMywgMTM5LCAyMjYsIDIwMSwgMjEzLCAxMzksIDI0MiwgMjQyLCA1MywgMjEzLCAxMzksIDQ3LCAKKyAgICAyMjEsIDIxNiwgMjEzLCAxMzksIDQ4LCAyMjEsIDIxNiwgMjEzLCAxMzksIDcsIDUsIDEsIDIyNiwgMzMsIDIxMywgMTgzLCAKKyAgICAyMDUsIDg1LCAyMTMsIDE4MywgMTAyLCAyMTMsIDE4MywgMTA1LCAyMTMsIDE4MywgMTQyLCAyMTMsIDE4MywgMTM5LCAyMTMsIAorICAgIDE4MywgMTY4LCAyMTMsIDE4MywgMTg0LCAyMTMsIDE4MywgMTk1LCAyMTMsIDE4MywgMTkzLCAyMTMsIDE4MywgMjAwLCAKKyAgICAyMTMsIDE4MywgMTAxLCA1MywgMjEzLCAxODMsIDIyNiwgMjAxLCAyMTMsIDE4MywgMjQyLCAyNDIsIDUzLCAyMTMsIDE4MywgCisgICAgNDcsIDIyMSwgMjE2LCAyMTMsIDE4MywgNDgsIDIyMSwgMjE2LCA3LCAyMTMsIDE4MywgNSwgMSwgNjIsIDcsIDIxMywgMTgzLCAKKyAgICA1LCAxLCA3NSwgNywgMjEzLCAxODMsIDUsIDEsIDc2LCA3LCAyMTMsIDE4MywgNSwgMSwgMjA2LCAxOTUsIDcsIDIxMywgCisgICAgMTgzLCA1LCAxLCAyMTcsIDEwMCwgNywgMjEzLCAxODMsIDUsIDEsIDIzOSwgMTU1LCA3LCAyMTMsIDE4MywgNSwgMSwgMjMyLCAKKyAgICA3NiwgNywgMjEzLCAxODMsIDUsIDEsIDE0OSwgNywgMjEzLCAxODMsIDUsIDEsIDIyOSwgMjgsIDcsIDIxMywgMTgzLCA1LCAKKyAgICAxLCAyMjYsIDMzLCA3LCAyMTMsIDE4MywgNSwgMSwgMjIyLCA2NywgNywgMjEzLCAxODMsIDUsIDEsIDE4MiwgNywgMjEzLCAKKyAgICAxODMsIDUsIDEsIDIxMywgMTAsIDI0MiwgMTgzLCA1MywgMjQ3LCAxNjMsIDUzLCAyNDcsIDQ1LCA1MywgMjQxLCAxMDYsIAorICAgIDI0MSwgMTEwLCA1MywgMjI5LCAxODgsIDUzLCAyMjYsIDIxNiwgNTMsIDIyNSwgMjE2LCA1MywgMjIxLCAxMDksIDUzLCAKKyAgICAyMTgsIDI3LCA1MywgMjA2LCAyNDAsIDUzLCAxODYsIDIxNSwgMjAwLCA1MywgMjQ1LCAzMCwgNTMsIDI0MiwgMTg0LCA1MywgCisgICAgMjMxLCAxMDQsIDUzLCAyMTAsIDE2MywgNTMsIDI0NCwgNCwgNTMsIDI0MCwgMTQ2LCAyMjEsIDE0MywgNTMsIDIyMSwgMTA2LCAKKyAgICA1MywgMjM5LCAyMDgsIDUzLCAyNTEsIDE3NCwgNTMsIDIzOCwgNDgsIDUzLCAyNDgsIDE0MywgNTMsIDIyOSwgMTc5LCAyMTEsIAorICAgIDg4LCA1MywgMjE0LCAxMzQsIDUzLCAyMTIsIDk2LCA1MywgMjMzLCA1MiwgMjE4LCAyNywgNTMsIDIxMCwgMTQ2LCAyMjksIAorICAgIDE4OCwgNTMsIDIyNCwgNDksIDE0MSwgNTMsIDIyNywgMjE5LCA1MywgMjE4LCA0NywgNTMsIDM2LCA0NywgMjM5LCA5MCwgCisgICAgNTIsIDM2LCA0OCwgMjM5LCA5MCwgNTIsIDM2LCAxNTIsIDc5LCAyMjksIDIwNiwgMjIyLCA4MiwgMzYsIDIxNSwgMTQ0LCAKKyAgICA3OSwgMjI5LCAyMDYsIDIyMiwgODIsIDM2LCAyNTIsIDg3LCA1MSwgNTIsIDM2LCAyNDcsIDE5NCwgNTEsIDUyLCAzNiwgNDcsIAorICAgIDUxLCA1MiwgMzYsIDQ4LCA1MSwgNTIsIDM2LCAyMTgsIDE0OSwgMjIyLCA4MiwgMzYsIDI0NywgMTk0LCAyMTgsIDE0OSwgCisgICAgMjIyLCA4MiwgMzYsIDI1MiwgODcsIDIxOCwgMTQ5LCAyMjIsIDgyLCAzNiwgMTI5LCAxNzcsIDUyLCAzNiwgMjQxLCAxMjUsIAorICAgIDE3NywgNTIsIDM2LCAyNDMsIDM3LCAyNDcsIDIzMywgMzYsIDI0MywgMzcsIDIxNCwgMTA3LCAzNiwgMjQzLCAzNywgMjQ1LCAKKyAgICAxNTYsIDM2LCAyNDMsIDM3LCAyNDcsIDIzNCwgMjUwLCAxNzEsIDM2LCA0NywgNDgsIDUxLCA1MiwgMzYsIDI0MywgMzcsIAorICAgIDIxNywgOTMsIDM2LCAyNDMsIDM3LCAyMzEsIDE3MCwgMzYsIDI0MywgMzcsIDIwOSwgMTk4LCAyMjAsIDIwMSwgMjExLCA1MSwgCisgICAgMzYsIDIxOCwgMjI1LCAyMTQsIDE4MSwgMjIyLCA4MiwgMzYsIDUwLCA3OSwgMjEzLCAyMjUsIDIyMiwgODIsIDM2LCAyNTIsIAorICAgIDk3LCA5MywgMzYsIDIxMSwgMzYsIDIwOSwgMjI1LCAzNiwgMjA3LCAxNywgMjQ5LCAxMTYsIDUyLCAzNiwgOTIsIDUxLCAKKyAgICAyMjIsIDgyLCAzNiwgMTUyLCA1MCwgMjE0LCAxODEsIDIyMiwgODIsIDM2LCA4NiwgMjM5LCA5MCwgMiwgMTM4LCAyNDQsIDYsIAorICAgIDM2LCA5MiwgMjM5LCA5MCwgMiwgMTM4LCAyNDQsIDYsIDM2LCA0NywgNTEsIDU1LCAzNiwgNDgsIDUxLCA1NSwgMzYsIDI1MSwgCisgICAgMjEwLCA1MiwgMjUzLCAxNywgMjIyLCAyMDMsIDI1MywgMSwgMjExLCAxMzAsIDIxMiwgNDIsIDIxMywgMTkyLCAxNTksIDYsIAorICAgIDI0OSwgMzQsIDI0NSwgMjQ1LCAyNDgsIDEzNCwgMjQ4LCAxMjksIDIyOSwgMjA2LCA5MywgMjQ4LCAyMDEsIDIyMiwgMjAzLCAKKyAgICAyNDgsIDI0OSwgMjA5LCAyMzMsIDI0MiwgMTg1LCAyNDcsIDEyNCwgMjE3LCA5MCwgMjQ1LCAyNDUsIDI0MiwgNTYsIDEyMSwgCisgICAgNSwgMjQxLCA1NSwgMTIxLCA2LCAyMzksIDE1NSwgMjQ5LCAyMDAsIDYsIDIzOSwgMTU1LCAxNTksIDYsIDIzOSwgMTU1LCAKKyAgICAyMjAsIDIzNSwgMjQ3LCAxMjQsIDIyMCwgMjM1LCAyNDcsIDEyNSwgMTMxLCAxMTgsIDIyMSwgNTMsIDEyMSwgNiwgNzQsIAorICAgIDI0OSwgMjAwLCA2LCA3NCwgMTIxLCA2LCAxNDksIDEyMSwgNSwgMTQ5LCAyMzAsIDE1OSwgNjMsIDI1MCwgMTI5LCA5MywgCisgICAgMTU5LCA2LCAyMjYsIDMzLCAyMjMsIDE3NSwgNTMsIDIxNCwgMTY1LCAyMTksIDQwLCAyNDcsIDkzLCAxMjEsIDYsIDIyMiwgCisgICAgNjcsIDE1OSwgNiwgMjIyLCA2NywgMTU5LCA2LCAyMjAsIDI3LCAxMjEsIDYsIDEzNywgMjQ5LCAyMDAsIDYsIDEzNywgMTU5LCAKKyAgICA2LCAxMzcsIDIyMCwgMTMzLCAyMTIsIDE4NSwgMjE4LCAyMzcsIDIxNiwgMzMsIDgzLCAyMTIsIDEwOCwgNTMsIDIxMSwgNzksIAorICAgIDE0MSwgNTMsIDIwOSwgMjMsIDE1OSwgNiwgMjA1LCAxNTksIDIyMiwgOTYsIDUzLCAyMjIsIDE5MywgNTMsIDIzMywgMiwgCisgICAgMjIyLCAxOTMsIDUzLCAyNDksIDIwMCwgNiwgMjA1LCAxNTksIDIwMSwgMjcsIDUsIDEsIDIzMiwgMjQ5LCAyMzEsIDIxMSwgCisgICAgNTMsIDI1MiwgMTA2LCA1MywgMTIxLCA2LCAyNTEsIDE1MCwgMjQ5LCAyMDAsIDYsIDI0OSwgMzQsIDI0MiwgMjA3LCA5MywgCisgICAgMTIxLCA1LCA3NSwgMTIxLCA2LCA3NSwgMTIxLCA2LCAyNDIsIDEzOSwgMjAxLCA2LCAyNDIsIDEzOSwgMTIxLCA2LCAyMjksIAorICAgIDI4LCAxMjEsIDUsIDc2LCAxMjYsIDkzLCAyNTAsIDExLCA5MywgMjQwLCA0OCwgOTMsIDI0NiwgMTEyLCA5MywgMjMzLCA0MywgCisgICAgMjE0LCAxNjMsIDIxOCwgOTcsIDYsIDIyMCwgMjcsIDI0MiwgNTksIDUzLCAxNTksIDUsIDIyMSwgNTMsIDE1OSwgNSwgMjQwLCAKKyAgICAyMTUsIDE1OSwgNiwgMjQwLCAyMTUsIDE1OSwgNiwgMjIxLCA1MywgMTU5LCAyMjYsIDMyLCAyMTMsIDE1NywgMjAxLCAzOCwgCisgICAgNiwgMjQxLCA1NSwgMjAxLCAzOCwgNiwgMTQ5LCAyMTgsIDIyNCwgMzgsIDYsIDE0OSwgMjAxLCAzOCwgNiwgMjA2LCAxMjMsIAorICAgIDE1OSwgMzUsIDYsIDI0NiwgMjQwLCAxNTksIDM1LCA1LCAyNDYsIDI0MCwgMTU5LCAzNSwgNSwgNzUsIDE1OSwgMzUsIDUsIAorICAgIDc0LCAxNTksIDM1LCA1LCAyMzIsIDIwMywgMjIwLCAxMDMsIDIyOSwgMjA1LCAyMDEsIDI1MiwgMTI1LCAyMjEsIDEzMiwgCisgICAgNTMsIDI1MiwgMTgzLCAyMDEsIDUsIDI0MiwgMTM5LCAxNiwgMzMsIDIxNywgMTYwLCAyMTQsIDE2MywgMjA3LCAxNDYsIAorICAgIDI0MSwgMTE2LCAxMTksIDIxNiwgMTksIDIwNywgMTQ2LCAyNDEsIDExNiwgMTE5LCAyMjQsIDE4OSwgMjA3LCAxNDYsIDI0MSwgCisgICAgMTE2LCAxMTksIDIxMiwgOTEsIDIwNywgMTQ2LCAyNDEsIDExNiwgMTE5LCAyMTIsIDEwLCAyMDcsIDE0NiwgMjQxLCAxMTYsIAorICAgIDExOCwgMjEyLCA3LCAyMDcsIDE0NiwgMjQxLCAxMTYsIDExOSwgMjQxLCAyNDYsIDIwNywgMTQ2LCAyNDEsIDExNiwgMTE4LCAKKyAgICAyNDEsIDI0NSwgMjA3LCAxNDYsIDI0MSwgMTE2LCAxMjksIDI0MSwgMjQ1LCAyMDcsIDE0NiwgMjQxLCAxMTYsIDI0MSwgCisgICAgMTI1LCAyNDEsIDI0NSwgMjA3LCAxNDYsIDI0MSwgMTE2LCAxMTksIDIxNSwgMCwgMjA3LCAxNDYsIDI0MSwgMTE2LCAyNDEsIAorICAgIDIwNCwgMjE0LCAyNTQsIDIwNywgMTQ2LCAyNDEsIDExNiwgMTE5LCAyNDMsIDgzLCAyMDcsIDE0NiwgMjQxLCAxMTYsIDEyOSwgCisgICAgMjQzLCA4MSwgMjA3LCAxNDYsIDI0MSwgMTE2LCAyNDEsIDIwNCwgMjQzLCA4MSwgMjA3LCAxNDYsIDI0MSwgMTE2LCAyMTYsIAorICAgIDIzLCAyNDMsIDgxLCAyNDEsIDExNiwgMjIzLCAxNzYsIDEwMiwgMjE4LCAxMDksIDIyMywgMTc3LCAxMDIsIDIxOCwgMTA5LCAKKyAgICAyMjMsIDE3NywgMTA1LCAyMTgsIDEwOSwgMjIzLCAxNzcsIDE0MiwgMjE4LCAxMDksIDIyMywgMTc3LCAxMzksIDIxOCwgCisgICAgMTA5LCAyMjMsIDE3NywgMTY4LCAyMTgsIDEwOSwgMjIzLCAxNzcsIDE4NCwgMjE4LCAxMDksIDIyMywgMTc3LCAxOTUsIAorICAgIDIxOCwgMTA5LCAyMjMsIDE3NywgMTkzLCAyMTgsIDEwOSwgMjIzLCAxNzcsIDIwMCwgMjE4LCAxMDksIDIyMywgMTc3LCAKKyAgICAyMTIsIDk4LCAyMTgsIDEwOSwgMjIzLCAxNzcsIDI0MywgNTgsIDIxOCwgMTA5LCAyMjMsIDE3NywgMjEwLCAxMjYsIDIxOCwgCisgICAgMTA5LCAyMjMsIDE3NywgMjQxLCAyNDMsIDIxOCwgMTA5LCAyMjMsIDE3NywgMTE5LCAyMzgsIDI5LCAyMTgsIDEwOSwgMjIzLCAKKyAgICAxNzcsIDI0MSwgMjA0LCAyMzgsIDI5LCAyMTgsIDEwOSwgMjIzLCAxNzcsIDExOSwgMjExLCAyNDIsIDUsIDIxOCwgMTA5LCAKKyAgICAyMjMsIDE3NywgMTAyLCA1LCAyMTgsIDEwOSwgMjIzLCAxNzcsIDEwNSwgNSwgMjE4LCAxMDksIDIyMywgMTc3LCAxNDIsIDUsIAorICAgIDIxOCwgMTA5LCAyMjMsIDE3NywgMTM5LCA1LCAyMTgsIDEwOSwgMjIzLCAxNzcsIDE2OCwgNSwgMjE4LCAxMDksIDIyMywgCisgICAgMTc3LCAxODQsIDUsIDIxOCwgMTA5LCAyMjMsIDE3NywgMTk1LCA1LCAyMTgsIDEwOSwgMjIzLCAxNzcsIDE5MywgNSwgMjE4LCAKKyAgICAxMDksIDIyMywgMTc3LCAyMDAsIDUsIDIxOCwgMTA5LCAyMjMsIDE3NywgMjEyLCA5OCwgNSwgMjE4LCAxMDksIDIyMywgCisgICAgMTc3LCAyNDMsIDU4LCA1LCAyMTgsIDEwOSwgMjIzLCAxNzcsIDIxMCwgMTI2LCA1LCAyMTgsIDEwOSwgMjIzLCAxNzcsIAorICAgIDI0MSwgMjQzLCA1LCAyMTgsIDEwOSwgMjIzLCAxNzcsIDExOSwgMjM4LCAyOSwgNSwgMjE4LCAxMDksIDIyMywgMTc3LCAKKyAgICAyNDEsIDIwNCwgMjM4LCAyOSwgNSwgMjE4LCAxMDksIDIyMywgMTc3LCAxMTksIDIxMSwgMjQyLCAyMTgsIDEwOSwgMjIzLCAKKyAgICAxNzcsIDExOSwgMjExLCAyNDMsIDI0OSwgMzUsIDI0NiwgMjQwLCAyMTgsIDEwOSwgMjIzLCAxNzcsIDI0MSwgMjA0LCAyMTEsIAorICAgIDI0MiwgMjE4LCAxMDksIDIyMywgMTc3LCAyMTIsIDk5LCAyMTEsIDI0MiwgMjE4LCAxMDksIDIyMywgMTc3LCAyMTgsIDIyNCwgCisgICAgMTE5LCAyMzgsIDI5LCA3LCA1LCAxLCAyMTgsIDIyNCwgMjQ5LCAzNCwgMjE4LCAxMDksIDIyMywgMTc3LCAyMTUsIDEwLCAKKyAgICAyMzAsIDc5LCAxNywgMjE4LCAxMDksIDIyMywgMTc3LCAyNDEsIDI0NCwgMjQzLCAxMjMsIDE3LCAyMTgsIDEwOSwgMjIzLCAKKyAgICAxNzcsIDI0MSwgMjQ0LCAyMTEsIDI0MiwgMjE4LCAxMDksIDIyMywgMTc3LCAxMTksIDIzOCwgMzAsIDIxMSwgMjQyLCAyMDcsIAorICAgIDE0NiwgMjQxLCAxMTYsIDIwNSwgODYsIDIxMiwgNywgOTIsIDQ1LCAxNjcsIDQ1LCA4NiwgNDUsIDE3MywgNDUsIDQ3LCA0OCwgCisgICAgNDUsIDEyMCwgMTMwLCA0NSwgMTQzLCAyMDcsIDM2LCA0NSwgMTQzLCAyNDMsIDExNywgNDUsIDE4OCwgMjQzLCAxMTcsIDQ1LCAKKyAgICAxODgsIDIwNywgMzYsIDQ1LCA5MiwgNTEsIDIsIDkxLCA4NiwgNTEsIDIsIDkxLCA5MiwgMjA3LCA2NSwgNDUsIDg2LCAyMDcsIAorICAgIDY1LCA0NSwgOTIsIDExOCwgMjM5LCA2NywgNDUsIDE2NywgMTE4LCAyMzksIDY3LCA0NSwgODYsIDExOCwgMjM5LCA2NywgCisgICAgNDUsIDE3MywgMTE4LCAyMzksIDY3LCA0NSwgOTIsIDUxLCAyLCAyMTIsIDE5MSwgODYsIDUxLCAyLCAyMTIsIDE5MSwgOTIsIAorICAgIDUxLCAyNDEsIDk4LCAxMzQsIDE2NywgNTEsIDI0MSwgOTgsIDEzNCwgODYsIDUxLCAyNDEsIDk4LCAxMzQsIDE3MywgNTEsIAorICAgIDI0MSwgOTgsIDEzNCwgMTIwLCAxMzAsIDUxLCAyLCAyNTAsIDExNiwgOTIsIDUxLCAyLCAxMDksIDg2LCA1MSwgMiwgMTA5LCAKKyAgICA5MiwgNTEsIDIsIDIyOSwgMTExLCA4NiwgNTEsIDIsIDIyOSwgMTExLCA0NywgNDgsIDIwNywgNjUsIDQ1LCA0NywgNDgsIAorICAgIDUxLCAyLCA5MSwgMTczLCAyMDUsIDMxLCA0NSwgMTY3LCA1MSwgMiwgMjExLCAxNjcsIDIzMCwgMzYsIDE2NywgNTEsIDIsIAorICAgIDIxMSwgMTY3LCAyMTgsIDE1NiwgMTczLCA1MSwgMiwgMjExLCAxNjcsIDIzMCwgMzYsIDE3MywgNTEsIDIsIDIxMSwgMTY3LCAKKyAgICAyMTgsIDE1NiwgODYsIDUxLCAyLCAyNDcsIDkyLCAyNDQsIDYsIDE3MywgNTEsIDIsIDI0NywgOTIsIDIzMCwgMzYsIDI1MiwgCisgICAgODcsIDIxMSwgMTAyLCAyMTYsIDU1LCA0NSwgMjQ3LCAxOTQsIDIxMSwgMTAyLCAyMTYsIDU1LCA0NSwgMTQzLCAyMDcsIDM2LCAKKyAgICA1MSwgMjExLCAxMzAsIDE1MiwgMTM0LCA5MiwgNTEsIDIxMSwgMTMwLCAyNTAsIDEyOSwgMTMxLCA4NiwgNTEsIDIxMSwgCisgICAgMTMwLCAxMzQsIDI1MiwgODcsIDIyMiwgMTQyLCAyNDcsIDIzNCwgNDUsIDI0NywgMTk0LCAyMjIsIDE0MiwgMjQ3LCAyMzQsIAorICAgIDQ1LCA5MiwgMjM5LCA5MCwgMiwgMTM4LCAyMDksIDE5NiwgOTIsIDIzOSwgOTAsIDIsIDEzOCwgMjQ0LCA2LCAxNjcsIDIzOSwgCisgICAgOTAsIDIsIDEzOCwgMjE4LCAxNTYsIDE2NywgMjM5LCA5MCwgMiwgMTM4LCAyMzAsIDM2LCA4NiwgMjM5LCA5MCwgMiwgMTM4LCAKKyAgICAyMDksIDE5NiwgODYsIDIzOSwgOTAsIDIsIDEzOCwgMjQ0LCA2LCAxNzMsIDIzOSwgOTAsIDIsIDEzOCwgMjE4LCAxNTYsIAorICAgIDE3MywgMjM5LCA5MCwgMiwgMTM4LCAyMzAsIDM2LCA4NiwgNTEsIDEzMSwgOTIsIDQ1LCAxNjcsIDUxLCA5MiwgNzMsIDE3MywgCisgICAgNDUsIDkyLCA1MSwgMTMxLCA4NiwgNDUsIDkyLCAyMjIsIDMwLCAyNTEsIDI0MSwgMTY3LCAyMjIsIDMwLCAyNTEsIDI0MSwgCisgICAgODYsIDIyMiwgMzAsIDI1MSwgMjQxLCAxNzMsIDIyMiwgMzAsIDI1MSwgMjQxLCA5MiwgMjM5LCA5MCwgMTMxLCA4NiwgMjM5LCAKKyAgICA4OSwgODYsIDIzOSwgOTAsIDEzMSwgOTIsIDIzOSwgODksIDkyLCA1MCwgNTEsIDIsIDkxLCA0NywgNDgsIDUwLCA1MSwgMiwgCisgICAgOTEsIDg2LCA1MCwgNTEsIDIsIDkxLCA5MiwgNTAsIDQ1LCAxNjcsIDUwLCA0NSwgODYsIDUwLCA0NSwgMTczLCA1MCwgNDUsIAorICAgIDQ3LCA0OCwgNTAsIDQ1LCAxMjAsIDEzMCwgNTAsIDQ1LCAxNDMsIDIwNywgMzYsIDUwLCA0NSwgMTQzLCAyNDMsIDExNywgCisgICAgNTAsIDQ1LCAxODgsIDI0MywgMTE3LCA1MCwgNDUsIDE4OCwgMjA3LCAzNiwgNTAsIDQ1LCA5MiwgMjExLCAzNiwgNDUsIDg2LCAKKyAgICAyMTEsIDM2LCA0NSwgOTIsIDIxNCwgMTAzLCA0NSwgODYsIDIxNCwgMTAzLCA0NSwgMTY3LCA1MSwgMiwgNTAsIDkxLCAxNzMsIAorICAgIDUxLCAyLCA1MCwgOTEsIDkyLCAyNDYsIDc3LCA0NSwgMTY3LCAyNDYsIDc3LCA0NSwgODYsIDI0NiwgNzcsIDQ1LCAxNzMsIAorICAgIDI0NiwgNzcsIDQ1LCA5MiwgNTEsIDIxMSwgMTMwLCAxMzQsIDg2LCA1MSwgMjExLCAxMzAsIDEzNCwgOTIsIDU5LCA0NSwgCisgICAgMTY3LCA1OSwgNDUsIDg2LCA1OSwgNDUsIDE3MywgNTksIDQ1LCAxNjcsIDU5LCA1MSwgMjQxLCA5OCwgMTM0LCAxNjcsIDU5LCAKKyAgICA1MSwgMjIyLCAxNjYsIDIyMSwgMTY3LCAxNjcsIDU5LCA1MSwgMjIyLCAxNjYsIDIyMSwgMTY4LCAyLCAxOTQsIDEzNCwgCisgICAgMTY3LCA1OSwgNTEsIDIyMiwgMTY2LCAyMjEsIDE2OCwgMiwgNzksIDEzNCwgMTY3LCA1OSwgNTAsIDQ1LCAxNjcsIDU5LCAKKyAgICA1MCwgNTEsIDIyMiwgMTY2LCAyMjEsIDE2NywgODYsIDU5LCA1MSwgMjQxLCA5OCwgMjA3LCA4NiwgMTQzLCAyMDcsIDM2LCAKKyAgICA1MSwgMjExLCAxMzAsIDI0NywgOTEsIDE4OCwgMjQzLCAxMTcsIDUxLCAyMTEsIDEzMCwgMjQ3LCA5MSwgMTIwLCAxMzAsIAorICAgIDU5LCA0NSwgNDgsIDUxLCAyLCA1LCAyNDcsIDIzMywgMTczLCA1MSwgOTIsIDczLCAxNjcsIDQ1LCAxMjksIDg2LCAyNTEsIAorICAgIDI0MSwgOTIsIDUxLCAyLCA3OSwgOTEsIDg2LCA1MSwgMiwgNzksIDkxLCA0NywgNDgsIDUxLCAyLCA3OSwgOTEsIDkyLCA1MSwgCisgICAgMiwgNTAsIDc5LCA5MSwgODYsIDUxLCAyLCA1MCwgNzksIDkxLCA0NywgNDgsIDUxLCAyLCA1MCwgNzksIDkxLCA5MiwgMjIyLCAKKyAgICAxNDAsIDQ1LCA4NiwgMjIyLCAxNDAsIDQ1LCA0NywgNDgsIDIyMiwgMTQwLCA0NSwgMzMsIDI1MiwgMTU2LCAyNDcsIDE1MCwgCisgICAgMjIxLCAyMDksIDI0NSwgMTQwLCAyMTIsIDMyLCAyNDIsIDE2NCwgMjEyLCAzMiwgMjQ1LCA0MiwgMjI0LCA0MywgMjQyLCAKKyAgICAxNjUsIDI0MywgNDMsIDIxNiwgMjgsIDIzMywgNTcsIDIyNSwgMjI3LCAyNDMsIDYxLCAyMjIsIDIwMywgMjI0LCA0MywgCisgICAgMjUyLCAxMjMsIDI0MywgNjEsIDIyMiwgMjAzLCA1LCAyNDMsIDYxLCAyMjIsIDIwMywgMjQ3LCAxMTgsIDI1MSwgMjMyLCAKKyAgICAyMjcsIDg3LCAyNDUsIDQyLCAyMjQsIDQzLCAyNDcsIDEyMCwgMjUxLCAyMzIsIDIyNywgODcsIDUsIDI0NywgMTE4LCAyNTEsIAorICAgIDIzMiwgMjI3LCA4NywgMjQzLCAzNCwgNzMsIDIyMCwgMTA1LCAyMjYsIDMyLCAyMjAsIDExNSwgMjI2LCAzMiwgMjQ3LCA5NiwgCisgICAgMjI2LCAzMiwgMjEzLCAxNTcsIDIyNiwgMjAyLCA1MywgMjI2LCAyMDAsIDUzLCA2NywgMjIwLCAyMTgsIDI0NSwgNzUsIAorICAgIDIxNCwgMjM1LCAyMTYsIDI5LCAyMjYsIDIwMSwgMjUxLCAyMTAsIDIyMiwgMTMyLCAyMTgsIDE0OSwgMjIyLCAxMzIsIDI0OSwgCisgICAgODYsIDIyMiwgMTMyLCA0OSwgMjE4LCAxMDMsIDI0NywgMzYsIDIxOCwgMTAzLCAyNDEsIDExOCwgMjE4LCAxMDMsIDIyMCwgCisgICAgMTAxLCAxMjQsIDIzMywgNDUsIDQ4LCAyNTIsIDEwOCwgMjUyLCAxMDgsIDIyNywgMTE2LCAyNTIsIDEwOCwgMjE0LCAxMzMsIAorICAgIDI1MiwgMTA4LCAyNDUsIDc3LCAyNDUsIDQyLCAyMjQsIDQzLCAyNDUsIDgxLCAyMjEsIDIyMiwgMTI0LCAyMjQsIDQzLCAKKyAgICAyMjEsIDIyMiwgMTI0LCAyMjksIDEzNCwgMjUyLCAxMTcsIDIyOSwgMTM0LCAyMjIsIDEyMiwgMjMzLCA3LCAyMDksIDIxOCwgCisgICAgMjMzLCAyMSwgNTAsIDIzMywgMjEsIDIxMSwgMzYsIDIzMywgMjEsIDI0NywgMTEzLCAyMzMsIDIxLCAyMTMsIDEyOSwgMjMzLCAKKyAgICAyMSwgMjA4LCAxNjMsIDIzMywgMjEsIDI0NywgMTk0LCAyMzMsIDIxLCAyNDcsIDE5NCwgMjQ3LCAxMTMsIDIzMywgMjEsIAorICAgIDI1MiwgODcsIDI0NywgMTEzLCAyMzMsIDIxLCAyMTIsIDMxLCAyNTAsIDUyLCAyMTksIDYxLCAyMjAsIDEwMiwgNjcsIDIyNiwgCisgICAgMjAxLCAyNDIsIDE3MCwgMjQwLCAxNTIsIDIyMCwgMTAyLCAyMzgsIDEzNSwgMjExLCAxODEsIDIyMiwgMTMyLCAyMTgsIAorICAgIDIyNCwgMjExLCAxODAsIDIzMywgMiwgMjMwLCA2NSwgMTgyLCAyMTUsIDQzLCAyMDcsIDY0LCAyMDYsIDIyMSwgMjIwLCAKKyAgICAxMTUsIDIyNCwgNDMsIDIxMSwgMTgwLCAyMjYsIDIwMiwgMjExLCAxODAsIDI1MSwgMjAzLCAxNDYsIDEyNCwgMjI0LCA0MywgCisgICAgMjUxLCAyMDMsIDE0NiwgMTI0LCAyNTIsIDQ0LCAxNDYsIDEyNCwgMjUyLCA0NCwgMjQ5LCA1NywgMjI0LCA0MywgMjUzLCAKKyAgICAxMCwgMTQ2LCAxMjQsIDIyNSwgMTAzLCAyNTIsIDQ0LCAyMjQsIDUxLCAyNTMsIDEwLCAxNDYsIDEyNCwgMjUyLCAxNDksIAorICAgIDE0NiwgMTI0LCAyMjQsIDQzLCAyNTIsIDE0OSwgMTQ2LCAxMjQsIDI1MiwgMTQ5LCAxNDYsIDIyMiwgMTIzLCAxNDYsIDEyNCwgCisgICAgMjExLCAzNiwgMjExLCAxODAsIDI1MiwgMTU3LCAxNDYsIDEyNCwgMjQyLCAyMzcsIDEyNCwgMjQwLCAxNTEsIDI0MiwgMjM3LCAKKyAgICAxMjQsIDI0NSwgMTQxLCAyNTAsIDUsIDI1MiwgNDYsIDIxMiwgNDIsIDIyOSwgMjEzLCAyNDAsIDE1MSwgMTQ2LCAxMjQsIAorICAgIDI1MiwgNDQsIDE0NiwgMjExLCAxMzAsIDIyMiwgMTIzLCAyMTIsIDQyLCAyMzMsIDg0LCAyMjIsIDIwMywgMjMzLCA4NCwgCisgICAgNzMsIDIyMiwgMTIzLCAyNTIsIDQ0LCAxNDYsIDEyNCwgMjQ3LCAxNjMsIDI0MiwgMjQxLCAyNDIsIDI0MiwgMjQ3LCAxNjIsIAorICAgIDIxOCwgMTQ5LCAyMzMsIDY5LCAxNDYsIDEyNCwgMjE4LCAxNDksIDE0NiwgMTI0LCAyNDcsIDg1LCAxMjQsIDI0MiwgMjA2LCAKKyAgICAyNDIsIDI0MCwgMTI0LCAyMTQsIDI3LCAyNDIsIDI0MSwgMjQ1LCAyMjgsIDE0NiwgMTI0LCAxNDYsIDIxMSwgMTMwLCAyNDksIAorICAgIDQ2LCAyNDUsIDI0NiwgMjI3LCAxMTYsIDI0OSwgNDUsIDIxOSwgMTk0LCAxNDYsIDEyNCwgMjI0LCA0MywgMTQ2LCAxMjQsIAorICAgIDIzNywgMTczLCAxMjQsIDIyNCwgNDMsIDIzNywgMTczLCAxMjQsIDIxMywgMjMxLCAyNDIsIDIzNywgMTI0LCAyMzAsIDEwLCAKKyAgICAyMjIsIDEyMywgMTQ2LCAxMjQsIDIzOSwgMjMwLCAyMjIsIDEyMywgMTQ2LCAxMjQsIDIzMCwgMTAsIDEzMSwgMTQ2LCAxMjQsIAorICAgIDIzOSwgMjMwLCAxMzEsIDE0NiwgMTI0LCAyMzAsIDEwLCAyNDksIDU3LCAyMjQsIDQzLCAxNDYsIDEyNCwgMjM5LCAyMzAsIAorICAgIDI0OSwgNTcsIDIyNCwgNDMsIDE0NiwgMTI0LCAyMjYsIDEwOCwgMjMwLCA5LCAyMjYsIDEwOCwgMjM5LCAyMjksIDI1MCwgNSwgCisgICAgMjI0LCA0MywgMjQyLCAyMzcsIDEyNCwgMjI0LCA0MywgMjMwLCA5LCAyMjQsIDQzLCAyMzksIDIyOSwgMjI1LCAxMDMsIAorICAgIDIzMCwgMTAsIDIyNCwgNTEsIDE0NiwgMTI0LCAyMjUsIDEwMywgMjM5LCAyMzAsIDIyNCwgNTEsIDE0NiwgMTI0LCAyMzAsIAorICAgIDEwLCAyMjIsIDEyMywgMjQyLCAyMzcsIDEyNCwgMjM5LCAyMzAsIDIyMiwgMTIzLCAyNDIsIDIzNywgMTI0LCAyMjUsIDEwMywgCisgICAgMjMwLCAxMCwgMjI0LCA1MSwgMjQyLCAyMzcsIDEyNCwgMjI1LCAxMDMsIDIzOSwgMjMwLCAyMjQsIDUxLCAyNDIsIDIzNywgCisgICAgMTI0LCAyMzAsIDEwLCAyMjIsIDEyMywgMjM5LCAyMjksIDIzOSwgMjMwLCAyMjIsIDEyMywgMjMwLCA5LCAyMjUsIDEwMywgCisgICAgMjMwLCAxMCwgMjI0LCA1MSwgMjM5LCAyMjksIDIyNSwgMTAzLCAyMzksIDIzMCwgMjI0LCA1MSwgMjMwLCA5LCAyMjAsIAorICAgIDEzOSwgMjEzLCAxNzMsIDIyMCwgMTQwLCAyMjIsIDEyMywgMTQ2LCAxMjQsIDIxMywgMTc0LCAyMjIsIDEyMywgMTQ2LCAKKyAgICAxMjQsIDIyMCwgMTQwLCAyMjIsIDEyMywgMjQyLCAyMzcsIDEyNCwgMjEzLCAxNzQsIDIyMiwgMTIzLCAyNDIsIDIzNywgCisgICAgMTI0LCAyNDUsIDQyLCAyMjQsIDQzLCAyMjAsIDE0MiwgMjQ1LCA0MiwgMjI0LCA0MywgMjEzLCAxNzUsIDIxMywgMTgyLCAKKyAgICAyMjIsIDIwMywgMjEzLCAxMzgsIDIyMiwgMjAzLCAyMjQsIDQzLCAzMiwgMjEzLCAxODIsIDIyMiwgMjAzLCAyMjQsIDQzLCAKKyAgICAzMiwgMjEzLCAxMzgsIDIyMiwgMjAzLCAyMTMsIDE4MiwgNzMsIDIyMiwgMTIzLCAxNDYsIDEyNCwgMjEzLCAxMzgsIDczLCAKKyAgICAyMjIsIDEyMywgMTQ2LCAxMjQsIDIyNSwgMTAzLCAzMiwgMjEzLCAxODIsIDczLCAyMjQsIDUxLCAxNDYsIDEyNCwgMjI1LCAKKyAgICAxMDMsIDMyLCAyMTMsIDEzOCwgNzMsIDIyNCwgNTEsIDE0NiwgMTI0LCAyMTMsIDE4MiwgNzMsIDIsIDIyNCwgNDMsIDE0NiwgCisgICAgMTI0LCAyMTMsIDEzOCwgNzMsIDIsIDIyNCwgNDMsIDE0NiwgMTI0LCAyMjYsIDkxLCAyMjYsIDkyLCAyMjYsIDkzLCAyMjYsIAorICAgIDkyLCAyMDksIDIxOCwgNDksIDIzMywgODQsIDIyMiwgMjAzLCA0OSwgMjIyLCAxMTQsIDIyMiwgMjAzLCA0OSwgMjMzLCA4NCwgCisgICAgNzMsIDIyMiwgMTIzLCAxNDYsIDEyNCwgNDksIDIyMiwgMTE0LCA3MywgMjIyLCAxMjMsIDE0NiwgMTI0LCA0OSwgMjQ4LCAKKyAgICAyMTMsIDQ5LCAyNDcsIDI5LCAzOSwgMjIwLCAyMTgsIDM5LCAyMjYsIDIwMSwgMzksIDIxMSwgMTc1LCAzOSwgMjQ1LCA3NSwgCisgICAgMjE0LCAyMzUsIDM5LCA2NywgMjIyLCAxMzIsIDM5LCAyMTgsIDE0OSwgMjIyLCAxMzIsIDM5LCAyNTEsIDIxMCwgMjIyLCAKKyAgICAxMzIsIDM5LCAyNDIsIDI0MSwgMzksIDI0NiwgNzgsIDk4LCAyMjAsIDIxOCwgOTgsIDIyNiwgMjAxLCA5OCwgMjExLCAxNzUsIAorICAgIDk4LCA2NywgMjIyLCAxMzIsIDQ4LCAyMTIsIDIwMSwgNDcsIDIxMiwgMjAxLCAxMzAsIDIxMiwgMjAxLCAxMjAsIDIxMiwgCisgICAgMjAxLCAyNTEsIDIxMywgMjI2LCAxNzYsIDIxMSwgMTYsIDI0MSwgMTQxLCAyMTEsIDM2LCA3OSwgMjUwLCAxMjksIDQ4LCAKKyAgICAyMTAsIDE0MywgNTAsIDc5LCAyNTAsIDEyOSwgNTAsIDQ4LCAyMTAsIDE0MywgMjQ1LCA0MiwgMjI0LCA0MywgMjIwLCA5NiwgCisgICAgMjI0LCA0MywgMjExLCAxNiwgMjQ1LCA0MiwgMjI0LCA0MywgMjQxLCAxNDIsIDIyNSwgMTA1LCA1MCwgNzksIDI1MCwgMTI5LCAKKyAgICA1MCwgNDgsIDIxMCwgMTQzLCAyMjAsIDE0MCwgMjA5LCAyMjcsIDIxOSwgMTEsIDIxMywgMTc0LCAyMDksIDIyNywgMjE5LCAKKyAgICAxMSwgMjI0LCA0OCwgMjEzLCAxOTUsIDIyMiwgMjAzLCAyNDcsIDExOCwgMjUxLCAyMzIsIDIyNCwgNDgsIDIxMywgMTk0LCAKKyAgICAyMjQsIDQ4LCAyMTMsIDE5NSwgNzMsIDIyMiwgMTIzLCAxNDYsIDEyNCwgMjQ3LCAxMTgsIDI1MSwgMjMyLCAyMjQsIDQ4LCAKKyAgICAyMTMsIDE5NSwgMjIyLCAxMjMsIDE0NiwgMTI0LCAyMjIsIDExNCwgMjIyLCAyMDMsIDIzMywgODQsIDIyMiwgMjAzLCAyMjYsIAorICAgIDk3LCAyMzksIDMyLCAyNDcsIDEyOSwgMjI3LCAxNjgsIDIzMywgMTgsIDIwNiwgMTU1LCAyMjUsIDIwNywgMjI0LCA1MCwgCisgICAgNDgsIDI1MiwgMTA5LCAyLCAyNTIsIDIxLCA0OCwgMjExLCA1MSwgMjI2LCAzMiwgMjI5LCAxMzQsIDI1MiwgMTE3LCAyMjYsIAorICAgIDMyLCAyMjksIDEzNCwgMjIyLCAxMjIsIDIyNiwgMzIsIDIzMywgNywgMjI2LCAzMiwgMjA5LCAyMTgsIDI0NSwgMTU3LCAKKyAgICAyMjIsIDEzMiwgNjcsIDIyMiwgMTMyLCAyMTQsIDI3LCAyMjIsIDEzMiwgMjQ1LCA3NSwgMjExLCAxNzUsIDI0OSwgMTQxLCAKKyAgICA0NywgMjI0LCA0OCwgMjQyLCA1OCwgMjE2LCA1MSwgMjIwLCAxMTUsIDQ4LCAyMjQsIDQ4LCAyNDIsIDU4LCAyMTYsIDUxLCAKKyAgICAyMjAsIDExNSwgNDcsIDIxNiwgNTEsIDIyMCwgMTE1LCA0OCwgMjE2LCA1MSwgMjIwLCAxMTUsIDIxOCwgMjI0LCAyMTEsIAorICAgIDE4MSwgMjQyLCAyNDEsIDI0NywgMjYsIDIyOSwgMTM0LCAyMjIsIDEyMiwgMjQ3LCAyNiwgMjI5LCAxMzQsIDI1MiwgMTE3LCAKKyAgICA1MCwgMjEzLCAxODEsIDUwLCAyMTMsIDEzNywgNTAsIDIzMywgNywgNTAsIDIwOSwgMjE4LCAyMjAsIDI0NSwgMTQ2LCAyMywgCisgICAgMjIxLCAyMjIsIDEyNCwgMjMwLCAxMCwgMiwgMjQ1LCAyMywgMjM5LCAyMzAsIDIsIDI0NSwgMjMsIDIwOCwgMjI2LCAyMjYsIAorICAgIDEwOCwgMjMwLCA5LCAyMDgsIDIyNiwgMjI2LCAxMDgsIDIzOSwgMjI5LCAyMzAsIDEwLCAxNDYsIDIxMSwgMTMwLCAyMjIsIAorICAgIDEyMywgMjM5LCAyMjksIDIzOSwgMjMwLCAxNDYsIDIxMSwgMTMwLCAyMjIsIDEyMywgMjMwLCA5LCAxNDYsIDIxMSwgMTMwLCAKKyAgICAyMjIsIDEyMywgMjMwLCA5LCAxNDYsIDIxMSwgMTMwLCAyMjIsIDEyMywgMjM5LCAyMjksIDE0NiwgMjExLCAxMzAsIDIyMiwgCisgICAgMTIzLCAyMjAsIDEzOSwgMTQ2LCAyMTEsIDEzMCwgMjIyLCAxMjMsIDIxMywgMTczLCAyNDUsIDQyLCAyMjQsIDQzLCAyMjAsIAorICAgIDE0MywgMjIyLCAxMjMsIDI0MiwgMjQzLCAyNDUsIDQyLCAyMjQsIDQzLCAyMTMsIDE3NiwgMjIyLCAxMjMsIDI0MiwgMjQzLCAKKyAgICAyMjQsIDQzLCA0OSwgMjMzLCA4NCwgNzMsIDIyMiwgMTIzLCAxNDYsIDEyNCwgMjI0LCA0MywgNDksIDIyMiwgMTE0LCA3MywgCisgICAgMjIyLCAxMjMsIDE0NiwgMTI0LCA0OSwgMjMzLCA4NCwgNzMsIDIyMiwgMTIzLCAyMjQsIDQzLCAxNDYsIDEyNCwgNDksIAorICAgIDIyMiwgMTE0LCA3MywgMjIyLCAxMjMsIDIyNCwgNDMsIDE0NiwgMTI0LCAyMzAsIDEwLCAyNDksIDU3LCAyMjQsIDQzLCAKKyAgICAyNDIsIDIzNywgMTI0LCAyMzksIDIzMCwgMjQ5LCA1NywgMjI0LCA0MywgMjQyLCAyMzcsIDEyNCwgMjIwLCAxNDAsIDI0OSwgCisgICAgNTcsIDIyNCwgNDMsIDI0MiwgMjM3LCAxMjQsIDIxMywgMTc0LCAyNDksIDU3LCAyMjQsIDQzLCAyNDIsIDIzNywgMTI0LCAKKyAgICAyMjQsIDQzLCAyMjQsIDQ4LCAyMTMsIDE5NSwgMjIyLCAyMDMsIDI0NSwgNDIsIDIyNCwgNDMsIDI0NywgMTIwLCAyNTEsIAorICAgIDIzMiwgMjI0LCA0OCwgMjEzLCAxOTQsIDIyNCwgNDMsIDIyNCwgNDgsIDIxMywgMTk1LCA3MywgMjIyLCAxMjMsIDE0NiwgCisgICAgMTI0LCAyNDUsIDQyLCAyMjQsIDQzLCAyNDcsIDEyMCwgMjUxLCAyMzIsIDIyNCwgNDgsIDIxMywgMTk1LCAyMjIsIDEyMywgCisgICAgMjQyLCAyNDMsIDc5LCAyNDMsIDU0LCAyMjYsIDI0NSwgMTk0LCAyNDMsIDU0LCAxMjAsIDQ4LCAyNDUsIDE2MywgMjQzLCAKKyAgICA1NCwgMTMwLCA0OCwgMjQ1LCAxNjMsIDI0MywgNTQsIDI0MywgNjEsIDczLCAyLCAxNTIsIDE5NCwgOTEsIDI0MywgNjEsIAorICAgIDczLCAyLCA3OSwgMjUwLCAxMjksIDI1MSwgMjAwLCAyNDMsIDM0LCA3MywgMTk0LCA5MSwgNSwgMjQzLCA2MSwgNzMsIDIsIAorICAgIDc5LCAyNTAsIDEyOSwgMjUxLCAyMDAsIDI0MywgMzQsIDczLCAxOTQsIDkxLCAyNDMsIDYxLCA3MywgMiwgNjcsIDUyLCAKKyAgICAyNDMsIDYxLCA3MywgMiwgMjIyLCA4NiwgNSwgMjQzLCA2MSwgNzMsIDIsIDIyMiwgODYsIDI0MywgNjEsIDczLCAyLCAyMDksIAorICAgIDIyNiwgMjQzLCA2MSwgNzMsIDIsIDExOCwgMTk0LCAyMTMsIDIxMiwgMjQ3LCAxMTgsIDIsIDE1MiwgMTk0LCA5MSwgMjQ3LCAKKyAgICAxMTgsIDIsIDc5LCAyNTAsIDEyOSwgMjUxLCAyMDAsIDI0MywgMzQsIDczLCAxOTQsIDkxLCA1LCAyNDcsIDExOCwgMiwgNzksIAorICAgIDI1MCwgMTI5LCAyNTEsIDIwMCwgMjQzLCAzNCwgNzMsIDE5NCwgOTEsIDI0NywgMTE4LCAyLCAyMjIsIDg2LCA1LCAyNDcsIAorICAgIDExOCwgMiwgMjIyLCA4NiwgMjA1LCAxNjAsIDIyNCwgNDEsIDI1MCwgMTY0LCAyMjcsIDg2LCAyNDUsIDE1OCwgNTMsIDI0MywgCisgICAgNjMsIDQ1LCAyMzgsIDU0LCAxMjAsIDI1MSwgMjQzLCAxMzAsIDI1MSwgMjQzLCAyMjAsIDEwOSwgMjIxLCAxMTIsIDIwNywgCisgICAgNjEsIDIyOSwgMjA1LCA0NywgMjQ4LCAxMzcsIDQ4LCAyNDgsIDEzNywgNDcsIDI0MSwgMTc4LCA0OCwgMjQxLCAxNzgsIAorICAgIDI0OSwgMTU0LCA0OCwgMjQ3LCA2MSwgMjQ5LCAxNTQsIDQ3LCAyNDcsIDYxLCAyMTEsIDEwMiwgNDgsIDI0NywgNjEsIDIxMSwgCisgICAgMTAyLCA0NywgMjQ3LCA2MSwgMjE4LCAyMjQsIDIyNCwgNDMsIDUzLCA0OSwgMjI5LCA4OCwgMjUyLCAyMSwgMjE3LCA2NywgCisgICAgMjE3LCA3NSwgMjEyLCAxMDgsIDIxOSwgNDEsIDIyMCwgMTc4LCAyMzMsIDQ5LCAyMDgsIDIwMiwgMjE0LCAxMDcsIDIyMCwgCisgICAgMjM5LCA3MywgMjMzLCAxNywgNTMsIDIwMSwgMjI0LCA0MywgNTMsIDIwNywgNzEsIDIzOCwgNTYsIDIxMSwgMTAyLCA0NywgCisgICAgMjQ3LCA5MSwgMjExLCAxMDIsIDQ4LCAyNDcsIDkxLCAyNDksIDE1NCwgNDcsIDI0NywgOTEsIDI0OSwgMTU0LCA0OCwgMjQ3LCAKKyAgICA5MSwgMjExLCAxMDIsIDE2MCwgMjMzLCAyMSwgMjQ5LCAxNTQsIDE2MCwgMjMzLCAyMSwgMjQxLCA5NSwgMjE0LCAyMTEsIAorICAgIDEyMCwgMjUxLCAyNDQsIDI1MCwgNiwgMTE4LCAxOTQsIDI1MCwgMTE4LCAyMjIsIDEyNSwgMjMxLCAxNzQsIDI0MiwgMjMzLCAKKyAgICAyMTEsIDEzMCwgMjEyLCA0MiwgMjE4LCAxNjcsIDIwNiwgMTk2LCAyMzMsIDY5LCAzMiwgMjE5LCAzOCwgMjQ5LCAxNDAsIAorICAgIDIzMSwgMTcyLCAyMzAsIDQxLCAyNTIsIDEwOSwgMTQ1LCAyMTgsIDE2MiwgMjUyLCAxMDksIDE0NSwgMjQyLCAyMzMsIDIxMSwgCisgICAgMTMwLCAyMTIsIDQyLCAyMzAsIDQ2LCAyNTAsIDE3LCAyMTgsIDE0OCwgMjQ2LCAyNTAsIDI1MiwgMTU3LCAyNTEsIDI1MiwgCisgICAgMjEzLCA0MCwgMjExLCA5MCwgMjE4LCAzMiwgMjQ1LCAxMjIsIDIyMiwgMTE1LCAyNDcsIDEzMSwgMjEyLCAxNjQsIDIxNCwgCisgICAgMjIyLCAyNDcsIDgxLCAyNDcsIDgwLCAyNTIsIDYyLCAyNDEsIDc4LCAxNiwgMjM3LCAyMjIsIDI1MiwgNjIsIDI0MSwgNzgsIAorICAgIDE2LCAyMTQsIDEwMSwgMjE5LCAyMTEsIDI1MiwgNjIsIDI0MSwgNzgsIDE2LCAyMTksIDIxMiwgMjQyLCAyNDMsIDI1MiwgCisgICAgNjIsIDI0MSwgNzgsIDE2LCAyMTksIDIxMiwgMjQ1LCA4MSwgMjUyLCA2MiwgMjQxLCA3OCwgMTYsIDIxOSwgMjEyLCAyNDUsIAorICAgIDE1NiwgMjUyLCA2MiwgMjQxLCA3OCwgMTYsIDIxOSwgMjEyLCAyMzIsIDExMCwgMjUyLCA2MiwgMjQxLCA3OCwgMTYsIDIxOSwgCisgICAgMjEyLCAyNDcsIDIzMywgMjUyLCA2MiwgMjQxLCA3OCwgMTYsIDI0NywgMjM0LCAyMTQsIDMsIDI1MiwgNjIsIDI0MSwgNzgsIAorICAgIDE2LCAyNDcsIDIzNCwgMjMyLCAxMTAsIDI1MiwgNjIsIDI0MSwgNzgsIDE2LCAyMTQsIDIzNiwgMTM0LCAyNTIsIDYyLCAKKyAgICAyNDEsIDc4LCAxNiwgMjUwLCAxNzIsIDEzNCwgMjUyLCA2MiwgMjQxLCA3OCwgMTYsIDIxOSwgMjEyLCAyMTQsIDIzNSwgCisgICAgMjUyLCA2MiwgMjQxLCA3OCwgMTYsIDIxOSwgMjEyLCAyNTAsIDE3MSwgMjUyLCA2MiwgMjQxLCA3OCwgMTYsIDIxOSwgMjEyLCAKKyAgICAyMzAsIDksIDI1MiwgNjIsIDI0MSwgNzgsIDE2LCAyMTksIDIxMiwgMjM5LCAyMjksIDI1MiwgNjIsIDI0MSwgNzgsIDE2LCAKKyAgICA5MiwgMjA5LCA2MCwgMjUyLCA2MiwgMjQxLCA3OCwgMTYsIDg2LCAyMDksIDYwLCAyNTIsIDYyLCAyNDEsIDc4LCAxNiwgCisgICAgMjE5LCAyMTIsIDkyLCA0NSwgMjUyLCA2MiwgMjQxLCA3OCwgMTYsIDIxOSwgMjEyLCA4NiwgNDUsIDI1MiwgNjIsIDI0MSwgCisgICAgNzgsIDE2LCAyNDcsIDIzNCwgMjUwLCAxNzEsIDI1MiwgNjIsIDI0MSwgNzgsIDE2LCAxMzAsIDIxMiwgMjAyLCAyMDksIAorICAgIDIyNiwgMjUyLCA2MiwgMjQxLCA3OCwgMTYsIDI0NSwgMjI4LCAyMTQsIDMsIDI1MiwgNjIsIDI0MSwgNzgsIDE2LCAyMTksIAorICAgIDIxMiwgMTMwLCAyNDgsIDE5OSwgMjUyLCA2MiwgMjQxLCA3OCwgMTYsIDIxOSwgMjEyLCAyNDUsIDIyNywgMjUyLCA2MiwgCisgICAgMjQxLCA3OCwgMTYsIDEzMCwgMjEyLCAyMDIsIDIzMiwgMTEwLCAyNTIsIDYyLCAyNDEsIDc4LCAxNiwgMTY3LCAyMDksIDYwLCAKKyAgICAyNTIsIDYyLCAyNDEsIDc4LCAxNiwgMjE5LCAyMTIsIDE2NywgNDUsIDI1MiwgNjIsIDI0MSwgNzgsIDE2LCAxMjAsIDIxMiwgCisgICAgMjAyLCAyMjIsIDg2LCAyNTIsIDYyLCAyNDEsIDc4LCAxNiwgMjQ1LCAyMzksIDIxNCwgMywgMjUyLCA2MiwgMjQxLCA3OCwgCisgICAgMTYsIDIxOSwgMjEyLCAxMjAsIDI0OCwgMTk5LCAyNTIsIDYyLCAyNDEsIDc4LCAxNiwgMjE5LCAyMTIsIDI0NSwgMjM4LCAKKyAgICAyNTIsIDYyLCAyNDEsIDc4LCAxNiwgMTIwLCAyMTIsIDIwMiwgMjMyLCAxMTAsIDI1MiwgNjIsIDI0MSwgNzgsIDE2LCAxNzMsIAorICAgIDIwOSwgNjAsIDI1MiwgNjIsIDI0MSwgNzgsIDE2LCAyMTksIDIxMiwgMTczLCA0NSwgMjUyLCA2MiwgMjQxLCA3OCwgMTYsIAorICAgIDIxOSwgMTc5LCAyMDksIDIyNiwgMjUyLCA2MiwgMjQxLCA3OCwgMTYsIDI0NSwgMjI4LCAyMDksIDIyNiwgMjUyLCA2MiwgCisgICAgMjQxLCA3OCwgMTYsIDI0NSwgMTU3LCAyMDksIDIyNiwgMjUyLCA2MiwgMjQxLCA3OCwgMTYsIDIzMiwgMTExLCAyMDksIAorICAgIDIyNiwgMjUyLCA2MiwgMjQxLCA3OCwgMTYsIDI0NywgMjM0LCAyMDksIDIyNiwgMjUyLCA2MiwgMjQxLCA3OCwgMTYsIDEyMCwgCisgICAgMjE1LCAxNTYsIDIzMiwgMTEwLCAyNTIsIDYyLCAyNDEsIDc4LCAxNiwgMjE5LCAxNzksIDIxOSwgMjExLCAyNTIsIDYyLCAKKyAgICAyNDEsIDc4LCAxNiwgMjQ3LCAyMzQsIDIxNCwgMjYsIDI1MiwgNjIsIDI0MSwgNzgsIDE2LCAyMTksIDIxMiwgMjQ3LCAxNjIsIAorICAgIDI1MiwgNjIsIDI0MSwgNzgsIDE2LCAxMjAsIDIxMiwgMjAyLCAyNDUsIDE2NiwgMjUyLCA2MiwgMjQxLCA3OCwgMTYsIDI0NSwgCisgICAgMjM5LCAyNDUsIDE2NiwgMjUyLCA2MiwgMjQxLCA3OCwgMTYsIDIxNCwgMjcsIDI0NSwgMTY2LCAyNTIsIDYyLCAyNDEsIDc4LCAKKyAgICAxNiwgMjMyLCAxMTEsIDI0NSwgMTY2LCAyNTIsIDYyLCAyNDEsIDc4LCAxNiwgMjQ3LCAyMzQsIDI0NSwgMTY2LCAyNTIsIAorICAgIDYyLCAyNDEsIDc4LCAxNiwgMTMwLCAyMTUsIDE1NiwgMjE0LCAzLCAyNTIsIDYyLCAyNDEsIDc4LCAxNiwgNDcsIDIxNSwgCisgICAgMTU2LCAyMTQsIDMsIDI1MiwgNjIsIDI0MSwgNzgsIDE2LCAyMTEsIDE4MSwgMjQ1LCAxNjYsIDI1MiwgNjIsIDI0MSwgNzgsIAorICAgIDE2LCAyMzksIDIzMCwgMjQ1LCAxNjYsIDI1MiwgNjIsIDI0MSwgNzgsIDE2LCAyNDcsIDE1NiwgMTM0LCAyNTIsIDYyLCAKKyAgICAyNDEsIDc4LCAxNiwgMjQ1LCAyMzksIDIxMSwgMTgwLCAyNTIsIDYyLCAyNDEsIDc4LCAxNiwgMjA1LCAzMCwgMjUyLCA2MiwgCisgICAgMjQxLCA3OCwgMTYsIDIxNCwgNCwgMjExLCAxODAsIDI1MiwgNjIsIDI0MSwgNzgsIDE2LCAyMTYsIDUzLCAyMDksIDIyNiwgCisgICAgMjUyLCA2MiwgMjQxLCA3OCwgMTYsIDIxOSwgMjEyLCAyMjQsIDQzLCAyNDIsIDI0MywgMjUyLCA2MiwgMjQxLCA3OCwgMTYsIAorICAgIDIxOSwgMjEyLCAyMTksIDE5NSwgMjUyLCA2MiwgMjQxLCA3OCwgMTYsIDEzMCwgMjQ4LCAyMDAsIDIxMSwgMTgwLCAyNTIsIAorICAgIDYyLCAyNDEsIDc4LCAxNiwgMTIwLCAyNDgsIDIwMCwgMjExLCAxODAsIDI1MiwgNjIsIDI0MSwgNzgsIDE2LCAyMzIsIDI0OSwgCisgICAgMjUyLCA2MiwgMjQxLCA3OCwgMTYsIDIxOCwgMjEwLCAyNTIsIDYyLCAyNDEsIDc4LCAxNiwgMjIyLCAxNzAsIDI1MiwgNjIsIAorICAgIDI0MSwgNzgsIDE2LCAyNTIsIDE0NSwgMjA5LCAyMjYsIDI1MiwgNjIsIDI0MSwgNzgsIDE2LCAyNDIsIDI0NSwgMjA5LCAKKyAgICAyMjYsIDI1MiwgNjIsIDI0MSwgNzgsIDE2LCAyMzIsIDI1MCwgMjA5LCAyMjYsIDI1MiwgNjIsIDI0MSwgNzgsIDE2LCAyMjIsIAorICAgIDE3MSwgMjA5LCAyMjYsIDI1MiwgNjIsIDI0MSwgNzgsIDE2LCAyNTIsIDE0NCwgMjI0LCA0MywgMjQ4LCA4MSwgODMsIDQ4LCAKKyAgICAyNTIsIDEwOSwgMiwgMTczLCAyMDUsIDMxLCA0NSwgMjE1LCAxMjcsIDIyMiwgMTQyLCAyNDksIDE0MCwgMjUwLCAyOSwgOTMsIAorICAgIDc5LCAyMjksIDIwNiwgMiwgMjI2LCAyNDcsIDI0NSwgMjMsIDIzMywgMjcsIDkzLCAyNDcsIDExNCwgMjA5LCAyMjQsIDkzLCAKKyAgICAyNDUsIDk2LCAyMDksIDIyNCwgOTMsIDI0MywgNDUsIDkzLCAyNDcsIDE0NiwgOTMsIDU5LCA0OSwgMiwgMjQ4LCAxMjksIAorICAgIDc5LCAyMjksIDIwNSwgMjQzLCAxOSwgOTMsIDI1MiwgMTM5LCAyMzEsIDE3NSwgOTMsIDIzOSwgNDUsIDkzLCAzOSwgMTk0LCAKKyAgICAyNTAsIDEyOSwgMiwgMjI0LCA0MCwgMzksIDIxMSwgNTIsIDI0NCwgOCwgMjQ5LCAxMTEsIDI0NywgMjM0LCAyLCAyMjQsIAorICAgIDQ1LCA0NSwgMjA5LCAyMjIsIDkzLCAyMjYsIDE1NSwgOTMsIDIzNywgMjM1LCA5MywgMjIyLCAxNDEsIDIzOSwgMTU0LCA5MywgCisgICAgMjIyLCAxNDEsIDIzMCwgMTU3LCA5MywgMjIxLCAxOTksIDkzLCAyMjEsIDE5OCwgOTMsIDI0NSwgMTA0LCAyNDcsIDI0LCAKKyAgICAxNiwgMjQxLCAxMzYsIDEwNSwgMjE0LCAxODUsIDkzLCAyNTIsIDYyLCAyNDEsIDc4LCAxNiwgMjE5LCAyMTEsIDI0NiwgMiwgCisgICAgMjE2LCA0MCwgMjMxLCAxNzUsIDkzLCAyMjAsIDEyOSwgMjIyLCAzNywgMjI1LCA4MiwgMjIyLCAzNywgMjIwLCAxMjUsIAorICAgIDIxNywgOTQsIDkzLCAyNDcsIDIwOSwgMjE3LCA5NCwgOTMsIDQ3LCAyMjEsIDIxNywgMjA5LCAyMDMsIDEwOSwgNDcsIDIyMSwgCisgICAgMjE3LCAyNDIsIDE1NywgNDcsIDIyMSwgMjE3LCAyMjksIDkyLCAxMDksIDQ4LCAyMjEsIDIxNywgMjA5LCAyMDMsIDEwOSwgCisgICAgNDgsIDIyMSwgMjE3LCAyNDIsIDE1NywgNDgsIDIyMSwgMjE3LCAyMjksIDkyLCAxMDksIDQ3LCA0OSwgMjQ5LCAxMzQsIAorICAgIDIwOSwgMjAzLCAyNDcsIDkxLCA0NywgNDksIDI0OSwgMTM0LCAyNDIsIDE1NywgNDcsIDQ5LCAyNDksIDEzNCwgMjI5LCA5MiwgCisgICAgMjQ3LCA5MSwgNDgsIDQ5LCAyNDksIDEzNCwgMjA5LCAyMDMsIDI0NywgOTEsIDQ4LCA0OSwgMjQ5LCAxMzQsIDI0MiwgMTU3LCAKKyAgICA0OCwgNDksIDI0OSwgMTM0LCAyMjksIDkyLCAyNDcsIDkxLCA0NywgMjQ3LCAyNiwgMjQ5LCAxMzQsIDIwOSwgMjAzLCAxMDksIAorICAgIDQ3LCAyNDcsIDI2LCAyNDksIDEzNCwgMjI2LCAyNDcsIDIyMSwgNDUsIDQ3LCAyNDcsIDI2LCAyNDksIDEzNCwgMjI5LCA5MiwgCisgICAgMTA5LCAyNDcsIDI2LCAyNDksIDEzNCwgMjQyLCAxNTcsIDQ4LCAyNDcsIDI2LCAyNDksIDEzNCwgMjA5LCAyMDMsIDEwOSwgCisgICAgNDgsIDI0NywgMjYsIDI0OSwgMTM0LCAyMjYsIDI0NywgMjIxLCA0NSwgNDgsIDI0NywgMjYsIDI0OSwgMTM0LCAyMjksIDkyLCAKKyAgICAxMDksIDIzMywgMjIsIDI0MiwgMTU3LCAxOTQsIDIyOSwgMjA2LCAyNDIsIDE1NywgMjA5LCAyMDMsIDQ3LCAyMjIsIDEyMywgCisgICAgMjI5LCA5MiwgNDgsIDI0NywgMjYsIDI0OSwgMTM0LCAyMTcsIDc2LCAyMDksIDIwMywgNDgsIDIyMiwgMTIzLCAyMjksIDkyLCAKKyAgICA0NywgMjQ3LCAyNiwgMjQ5LCAxMzQsIDIxNywgNzYsIDIxMywgMTU4LCAyMTEsIDEwMSwgMjEzLCAxNTgsIDI0OSwgMTUzLCAKKyAgICAyMTEsIDEwMiwgNDksIDE0NSwgMjQ5LCAxNTQsIDQ5LCAxNDUsIDI0OSwgMTU0LCA0OSwgMjQ5LCAxMzQsIDEzMSwgMjExLCAKKyAgICAxMDIsIDQ5LCAxNDUsIDM3LCAxNiwgMjQ5LCAxNTMsIDQ3LCA3OSwgOTYsIDIyOSwgMjA1LCA0OCwgNzksIDk2LCAyMjksIAorICAgIDIwNSwgMTk0LCAyMTcsIDExMCwgMjI5LCAyMDQsIDE5NCwgMjE3LCAxMTAsIDIyOSwgMjAzLCAxOTQsIDIxNywgMTEwLCAKKyAgICAyMjksIDIwMiwgMTk0LCAyMTcsIDExMCwgMjI5LCAyMDEsIDI0NSwgMjE5LCAxNiwgMTQ3LCA3OSwgMjMsIDIxMSwgMTAyLCAKKyAgICAyMTgsIDE2NywgMjQ1LCAyMTksIDE2LCAxNDcsIDc5LCAyMywgMjQ5LCAxNTQsIDIxOCwgMTY3LCAyNDUsIDIxOSwgMTYsIAorICAgIDE0NywgNzksIDIsIDI0NywgMjMzLCAyNDUsIDIxOSwgMTYsIDE0NywgMTMwLCAyMywgMTk0LCAyLCAyNDcsIDIzMywgMjQ1LCAKKyAgICAyMTksIDE2LCAxNDcsIDEyMCwgMjMsIDE5NCwgMiwgMjQ3LCAyMzMsIDI0NSwgMjE5LCAxNiwgMTQ3LCA3OSwgMiwgMjExLCAKKyAgICA1MSwgMjQ1LCAyMTksIDE2LCAxNDcsIDEzMCwgMjMsIDE5NCwgMiwgMjExLCA1MSwgMjQ1LCAyMTksIDE2LCAxNDcsIDEyMCwgCisgICAgMjMsIDE5NCwgMiwgMjExLCA1MSwgMjQ1LCAyMTksIDE2LCAxNDcsIDc5LCAyMywgMjA3LCA2NCwgMjQ1LCAyMTksIDE2LCAKKyAgICAxNDcsIDEzMCwgMjMsIDE5NCwgMiwgMjA3LCA2NCwgMjQ1LCAyMTksIDE2LCAxNDcsIDEyMCwgMjMsIDE5NCwgMiwgMjA3LCAKKyAgICA2NCwgMjQ1LCAyMTksIDE2LCAxNDcsIDEzMCwgMjMsIDIzOCwgMTIxLCAyNDUsIDIxOSwgMTYsIDE0NywgMTIwLCAyMywgCisgICAgMjM4LCAxMjEsIDI0NSwgMjE5LCAxNiwgMTQ3LCA3OSwgMjMsIDIxMSwgMTAyLCAyMzAsIDQ2LCAyNDUsIDIxOSwgMTYsIAorICAgIDE0NywgNzksIDIzLCAyNDksIDE1NCwgMjMwLCA0NiwgNDksIDI0MSwgMTQ4LCAyMTgsIDIyOSwgOTMsIDI0MywgNzcsIDkzLCAKKyAgICA3OSwgMjI5LCAyMDYsIDI0MiwgMTU3LCAyMjcsIDU3LCAyNDksIDEyMiwgMjI3LCA1NywgMTUyLCAxMzEsIDIxNSwgMTQzLCAKKyAgICAyMjcsIDU3LCAyMTUsIDE0NCwgMTMxLCAyMjksIDEyNSwgMjI3LCA1NywgMTUyLCAxMzEsIDExOCwgMjE1LCAxMjksIDIyNywgCisgICAgNTcsIDExOCwgMjE1LCAxMzAsIDEzMSwgMjI5LCAxMjUsIDIyNywgNTcsIDExOCwgMjE1LCAxMzAsIDIzMiwgMTE4LCAyMjcsIAorICAgIDU3LCAyMTEsIDMzLCAyMjcsIDU3LCAyMTIsIDcyLCAyMjcsIDU3LCAyMjEsIDEzOCwgMjQzLCAxMjEsIDIzOSwgMjIyLCAKKyAgICAyNDEsIDcyLCAyMTEsIDEwMiwgMjIxLCAyMTYsIDI0OSwgMTU0LCAyMjEsIDIxNiwgMjExLCAxMDIsIDI0NywgMjYsIDE0NSwgCisgICAgMjQ5LCAxNTQsIDI0NywgMjYsIDE0NSwgMjExLCAxMDIsIDIxMSwgOTMsIDIxNSwgMjA0LCAxNDUsIDI0OSwgMTU0LCAyMTEsIAorICAgIDkzLCAyMTUsIDIwNCwgMTQ1LCA1OSwgMjExLCA2NSwgMjUwLCAxNywgMjE4LCAxNDksIDIsIDI0NywgMjMzLCAyMTMsIDI0MiwgCisgICAgMjQxLCAxODYsIDI1MywgMjUsIDI0NywgMjMsIDI0MywgNjIsIDIzMywgNywgMjQ2LCAyLCAyNDIsIDE2MSwgOTMsIDYwLCAKKyAgICAyMTgsIDE2MiwgNTAsIDIxMSwgNTEsIDYwLCAyMzAsIDQxLCA1MCwgMjExLCA1MSwgNjAsIDIwOSwgMjA1LCA1MCwgMjExLCAKKyAgICA1MSwgNjAsIDI0NCwgNywgNTAsIDIxMSwgNTEsIDYwLCAyMTgsIDE2MiwgNTAsIDIxMSwgNTIsIDIsIDc5LCAxMzQsIDYwLCAKKyAgICAyMzAsIDQxLCA1MCwgMjExLCA1MiwgMiwgNzksIDEzNCwgNjAsIDIxOCwgMTYyLCAyMTEsIDUyLCAyLCA1MCwgNzksIDEzNCwgCisgICAgMjUyLCAxNzYsIDI0NywgMTk1LCAyMTMsIDI0OCwgMjExLCAxNzYsIDI0NywgMTk1LCAyMzgsIDU3LCAyLCAyNDEsIDE3MCwgCisgICAgMjE3LCAxNDksIDYwLCAyMjcsIDEwOSwgMjMwLCA0MSwgMjExLCA1MSwgNjAsIDIyNywgMTA5LCAyMTgsIDE2MiwgMjExLCAKKyAgICA1MSwgNjAsIDIyNywgMTA5LCAyMDksIDIwNSwgMjExLCA1MSwgNjAsIDIyNywgMTA5LCAyNDQsIDcsIDIxMSwgNTEsIDUwLCAKKyAgICA3OSwgMTM0LCA2MCwgNDksIDMzLCAyMTMsIDI1MSwgNjAsIDI0NywgMjM0LCAzMywgMjE5LCA0MiwgMTYsIDMzLCAyMjMsIAorICAgIDE4MSwgMTYsIDMzLCAyMTQsIDIyLCA3MywgMjM5LCA2NiwgMTYsIDMzLCAyMTQsIDIyLCA3MywgMjEyLCA2MCwgMTYsIDMzLCAKKyAgICAyNDMsIDM0LCA3MywgMjEyLCA2MCwgMTYsIDMzLCAyNDMsIDM0LCA3MywgMjExLCA2OSwgMTYsIDMzLCAyNDMsIDIxLCAxNiwgCisgICAgMzMsIDI1MywgMTMsIDE2LCAzMywgMjUwLCAyOCwgMTYsIDMzLCAyNTAsIDE3MCwgMTYsIDMzLCAxOTQsIDIxMiwgMjAzLCAKKyAgICAxNiwgMzMsIDIyOSwgMjA2LCAyNDIsIDE5LCAxNiwgMzMsIDc5LCAyMTIsIDIwMywgMTYsIDMzLCAyNDEsIDEzNiwgMjQyLCAKKyAgICAxOSwgMTYsIDMzLCAyNDgsIDE5MSwgMjE4LCAyMjgsIDE2LCAzMywgMjE1LCAxNzksIDIyMiwgOTMsIDE2LCAzMywgMjE1LCAKKyAgICAxNzksIDIzMywgNjgsIDE2LCAzMywgMjQ2LCA3MywgMjI5LCAxOTYsIDI0MiwgMjE3LCAxNiwgMzMsIDI0NSwgMTk5LCAyNDcsIAorICAgIDEwOSwgMTAyLCAxNiwgMzMsIDI0NSwgMTk5LCAyNDcsIDEwOSwgMTA1LCAxNiwgMzMsIDI0NSwgMTk5LCAyNDcsIDEwOSwgCisgICAgMTQyLCAxNiwgMzMsIDI0NSwgMTk5LCAyNDcsIDEwOSwgMTM5LCAxNiwgMzMsIDE3MCwgMjUzLCAxMywgMTYsIDMzLCAyMTMsIAorICAgIDM2LCAyMzMsIDEzMSwgMTYsIDMzLCAyNDMsIDM0LCA3MywgMjExLCA3MCwgMjQ5LCAxOTMsIDE2LCAzMywgMjQ4LCAyMjQsIAorICAgIDE2LCAzMywgMjQzLCAzNCwgNzMsIDIyNywgMTA4LCAxNiwgMzMsIDIxMywgMTc5LCAxNiwgMzMsIDI0MiwgMjE3LCAxNiwgCisgICAgMzMsIDI0MSwgMjM2LCAyMTYsIDM5LCAxNiwgMzMsIDIzOSwgMjIxLCAyMTYsIDM5LCAxNiwgMzMsIDIxOSwgNDMsIDIxNiwgCisgICAgMzksIDE2LCAzMywgMjA5LCAyMTcsIDIxNiwgMzksIDE2LCAzMywgMjE0LCAxNTMsIDE2LCAzMywgMjQ1LCAyMzYsIDI0OSwgCisgICAgMTk2LCA5MywgMjIyLCAxNDIsIDI0OSwgMTQwLCAxNiwgMzMsIDIyNSwgODUsIDE2LCAzMywgMjQ1LCAyMzcsIDI0MSwgMTM2LCAKKyAgICAxMDUsIDE2LCAzMywgMjEzLCAxODAsIDI0MSwgMTM2LCAxMDUsIDIyMiwgMjE1LCAxMDksIDIyMiwgMjE1LCAyNDgsIDEwNSwgCisgICAgMjIyLCAyMTUsIDI0MSwgMTM5LCAyMjIsIDIxNSwgMjMzLCAyLCAyNDEsIDEzOSwgMjIyLCAyMTUsIDI1MCwgMjUsIDI0OSwgCisgICAgOTgsIDIyMiwgMjE1LCAyNDksIDE0NywgMjExLCAyMDMsIDIyMiwgMjE1LCAyNDksIDEzMSwgMjUwLCAxMzQsIDIzNywgMTcyLCAKKyAgICAyMjIsIDIxNSwgMjUyLCAxMjcsIDczLCAyNDgsIDgwLCAyMjIsIDIxNSwgMjQ2LCA3OCwgMjIyLCAyMTUsIDI0NywgMTMsIAorICAgIDI1MywgMTcsIDIyMywgMTc5LCAyMjIsIDIxNSwgNTAsIDI1MCwgMTcxLCAzOSwgMTgsIDEwMiwgMzksIDE4LCAxMDUsIDM5LCAKKyAgICAxOCwgMTQyLCAzOSwgMTgsIDEzOSwgMzksIDE4LCAxNjgsIDM5LCAxOCwgMTg0LCAzOSwgMTgsIDE5NSwgMzksIDE4LCAxOTMsIAorICAgIDM5LCAxOCwgMjAwLCAzOSwgNDMsIDIxMiwgOTgsIDM5LCA0MywgMjQzLCA1OCwgMzksIDQzLCAyMTAsIDEyNiwgMzksIDQzLCAKKyAgICAyMTIsIDUsIDM5LCA0MywgMjQxLCAxMTksIDM5LCA0MywgMjQxLCAyNDcsIDM5LCA0MywgMjE1LCA0LCAzOSwgNDMsIDIxNiwgCisgICAgMjAsIDM5LCA0MywgMjQzLCA4NSwgMzksIDQzLCAyMjQsIDE5MiwgMzksIDQzLCAyMTAsIDEyMywgOTcsIDE4LCAxMDIsIDk3LCAKKyAgICAxOCwgMTA1LCA5NywgMTgsIDE0MiwgOTcsIDE4LCAxMzksIDk3LCAxOCwgMTY4LCA5NywgMTgsIDE4NCwgOTcsIDE4LCAxOTUsIAorICAgIDk3LCAxOCwgMTkzLCA5NywgMTgsIDIwMCwgOTcsIDQzLCAyMTIsIDk4LCA5NywgNDMsIDI0MywgNTgsIDk3LCA0MywgMjEwLCAKKyAgICAxMjYsIDk3LCA0MywgMjEyLCA1LCA5NywgNDMsIDI0MSwgMTE5LCA5NywgNDMsIDI0MSwgMjQ3LCA5NywgNDMsIDIxNSwgNCwgCisgICAgOTcsIDQzLCAyMTYsIDIwLCA5NywgNDMsIDI0MywgODUsIDk3LCA0MywgMjI0LCAxOTIsIDk3LCA0MywgMjEwLCAxMjMsIDE4LCAKKyAgICAxMTksIDI0MSwgODIsIDIxMywgMjUxLCAxOCwgMTE4LCAyNDEsIDgyLCAyMTMsIDI1MSwgMTgsIDEyOSwgMjQxLCA4MiwgCisgICAgMjEzLCAyNTEsIDE4LCAyNDEsIDEyNSwgMjQxLCA4MiwgMjEzLCAyNTEsIDE4LCAyNDEsIDIwNCwgMjQxLCA4MiwgMjEzLCAKKyAgICAyNTEsIDE4LCAyMTUsIDEwLCAyNDEsIDgyLCAyMTMsIDI1MSwgMTgsIDIxNiwgMjMsIDI0MSwgODIsIDIxMywgMjUxLCAxOCwgCisgICAgMjQzLCA4OCwgMjQxLCA4MiwgMjEzLCAyNTEsIDE4LCAyMjQsIDE5NSwgMjQxLCA4MiwgMjEzLCAyNTEsIDQzLCAyMTIsIDk5LCAKKyAgICAyNDEsIDgyLCAyMTMsIDI1MSwgNDMsIDI0MywgNTksIDI0MSwgODIsIDIxMywgMjUxLCA0MywgMjEwLCAxMjcsIDI0MSwgODIsIAorICAgIDIxMywgMjUxLCA0MywgMjEyLCA2LCAyNDEsIDgyLCAyMTMsIDI1MSwgNDMsIDI0MSwgMTIwLCAyNDEsIDgyLCAyMTMsIDI1MSwgCisgICAgNDMsIDI0MSwgMjQ4LCAyNDEsIDgyLCAyMTMsIDI1MSwgNDMsIDIxNSwgNSwgMjQxLCA4MiwgMjEzLCAyNTEsIDQzLCAyMTYsIAorICAgIDIxLCAyNDEsIDgyLCAyMTMsIDI1MSwgNDMsIDI0MywgODYsIDI0MSwgODIsIDIxMywgMjUxLCA0MywgMjI0LCAxOTMsIDI0MSwgCisgICAgODIsIDIxMywgMjUxLCA0MywgMjEwLCAxMjQsIDI0MSwgODIsIDIxMywgMjUxLCA5NywgNywgNSwgMSwgNjIsIDk3LCA3LCA1LCAKKyAgICAxLCAyNTEsIDE1MCwgOTcsIDcsIDUsIDEsIDI0OSwgMzQsIDk3LCA3LCA1LCAxLCAyNDYsIDI0MCwgOTcsIDcsIDUsIDEsIAorICAgIDc1LCA5NywgNywgNSwgMSwgMjQyLCAxMzksIDk3LCA3LCA1LCAxLCAyNDEsIDU1LCA5NywgNywgNSwgMSwgMjM5LCAxNTUsIAorICAgIDk3LCA3LCA1LCAxLCA3NCwgOTcsIDcsIDUsIDEsIDIzMiwgMjAzLCA5NywgNywgNSwgMSwgMjMyLCA3NiwgOTcsIDcsIDUsIAorICAgIDEsIDE0OSwgOTcsIDcsIDUsIDEsIDIyOSwgMjgsIDk3LCA3LCA1LCAxLCAyMjYsIDMzLCA5NywgNywgNSwgMSwgNzYsIDk3LCAKKyAgICA3LCA1LCAxLCAyMjIsIDY3LCA5NywgNywgNSwgMSwgMjIwLCAyNywgOTcsIDcsIDUsIDEsIDEzNywgOTcsIDcsIDUsIDEsIAorICAgIDE4MiwgOTcsIDcsIDUsIDEsIDIxMywgMTAsIDk3LCA3LCA1LCAxLCA3MSwgOTcsIDcsIDUsIDEsIDIwOSwgMTQ4LCA5NywgNywgCisgICAgNSwgMSwgMjA3LCAxMjksIDk3LCA3LCA1LCAxLCAyMDYsIDE5NSwgOTcsIDcsIDUsIDEsIDIwNiwgMTIzLCA5NywgNywgNSwgCisgICAgMSwgMjA1LCAxNTksIDM5LCA3LCA2LCAxLCA2MiwgMzksIDcsIDYsIDEsIDI1MSwgMTUwLCAzOSwgNywgNiwgMSwgMjQ5LCAKKyAgICAzNCwgMzksIDcsIDYsIDEsIDI0NiwgMjQwLCAzOSwgNywgNiwgMSwgNzUsIDM5LCA3LCA2LCAxLCAyNDIsIDEzOSwgMzksIDcsIAorICAgIDYsIDEsIDI0MSwgNTUsIDM5LCA3LCA2LCAxLCAyMzksIDE1NSwgMzksIDcsIDYsIDEsIDc0LCAzOSwgNywgNiwgMSwgMjMyLCAKKyAgICAyMDMsIDM5LCA3LCA2LCAxLCAyMzIsIDc2LCAzOSwgNywgNiwgMSwgMTQ5LCAzOSwgNywgNiwgMSwgMjI5LCAyOCwgMzksIDcsIAorICAgIDYsIDEsIDIyNiwgMzMsIDM5LCA3LCA2LCAxLCA3NiwgMzksIDcsIDYsIDEsIDIyMiwgNjcsIDM5LCA3LCA2LCAxLCAyMjAsIAorICAgIDI3LCAzOSwgNywgNiwgMSwgMTM3LCAzOSwgNywgNiwgMSwgMTgyLCAzOSwgNywgNiwgMSwgMjEzLCAxMCwgMzksIDcsIDYsIAorICAgIDEsIDcxLCAzOSwgNywgNiwgMSwgMjA5LCAxNDgsIDM5LCA3LCA2LCAxLCAyMDcsIDEyOSwgMzksIDcsIDYsIDEsIDIwNiwgCisgICAgMTk1LCAzOSwgNywgNiwgMSwgMjA2LCAxMjMsIDM5LCA3LCA2LCAxLCAyMDUsIDE1OSwgMzksIDcsIDUsIDEsIDYyLCAzOSwgCisgICAgNywgNSwgMSwgMjUxLCAxNTAsIDM5LCA3LCA1LCAxLCAyNDksIDM0LCAzOSwgNywgNSwgMSwgMjQ2LCAyNDAsIDM5LCA3LCA1LCAKKyAgICAxLCA3NSwgMzksIDcsIDUsIDEsIDI0MiwgMTM5LCAzOSwgNywgNSwgMSwgMjQxLCA1NSwgMzksIDcsIDUsIDEsIDIzOSwgCisgICAgMTU1LCAzOSwgNywgNSwgMSwgNzQsIDM5LCA3LCA1LCAxLCAyMzIsIDIwMywgMzksIDcsIDUsIDEsIDIzMiwgNzYsIDM5LCA3LCAKKyAgICA1LCAxLCAxNDksIDM5LCA3LCA1LCAxLCAyMjksIDI4LCAzOSwgNywgNSwgMSwgMjI2LCAzMywgMzksIDcsIDUsIDEsIDc2LCAKKyAgICAzOSwgNywgNSwgMSwgMjIyLCA2NywgMzksIDcsIDUsIDEsIDIyMCwgMjcsIDM5LCA3LCA1LCAxLCAxMzcsIDM5LCA3LCA1LCAKKyAgICAxLCAxODIsIDM5LCA3LCA1LCAxLCAyMTMsIDEwLCAzOSwgNywgNSwgMSwgNzEsIDM5LCA3LCA1LCAxLCAyMDksIDE0OCwgMzksIAorICAgIDcsIDUsIDEsIDIwNywgMTI5LCAzOSwgNywgNSwgMSwgMjA2LCAxOTUsIDM5LCA3LCA1LCAxLCAyMDYsIDEyMywgMzksIDcsIAorICAgIDUsIDEsIDIwNSwgMTU5LCAzOSwgMTgsIDIwNSwgODUsIDE3MCwgMzksIDQzLCAyNDMsIDU4LCAxNzAsIDM5LCA0MywgMjEwLCAKKyAgICAxMjYsIDE3MCwgMzksIDQzLCAyMTIsIDUsIDE3MCwgMzksIDQzLCAyNDEsIDExOSwgMTcwLCAzOSwgNDMsIDI0MSwgMjQ3LCAKKyAgICAxNzAsIDM5LCA0MywgMjE1LCA0LCAxNzAsIDM5LCA0MywgMjE2LCAyMCwgMTcwLCAzOSwgNDMsIDI0MywgODUsIDE3MCwgMzksIAorICAgIDQzLCAyMjQsIDE5MiwgMTcwLCAzOSwgNDMsIDIxMCwgMTIzLCA1MCwgMzksIDE4LCAxMDIsIDUwLCAzOSwgMTgsIDEwNSwgCisgICAgNTAsIDM5LCAxOCwgMTQyLCA1MCwgMzksIDE4LCAxMzksIDUwLCAzOSwgMTgsIDE2OCwgNTAsIDM5LCAxOCwgMTg0LCA1MCwgCisgICAgMzksIDE4LCAxOTUsIDUwLCAzOSwgMTgsIDE5MywgNTAsIDM5LCAxOCwgMjAwLCA1MCwgMzksIDQzLCAyMTIsIDk4LCAxNzAsIAorICAgIDM5LCAxOCwgMjA1LCA4NSwgOTYsIDExMCwgMTQ3LCAyMzgsIDEyMSwgOTYsIDExMCwgNzcsIDIzOCwgMTIxLCA5NiwgMTEwLCAKKyAgICAxNDcsIDIwOSwgMjIsIDk2LCAxMTAsIDc3LCAyMDksIDIyLCA5NiwgMTEwLCAxNDcsIDIxMSwgMzYsIDI0NiwgNzksIDIzOCwgCisgICAgMTIxLCA5NiwgMTEwLCA3NywgMjExLCAzNiwgMjQ2LCA3OSwgMjM4LCAxMjEsIDk2LCAxMTAsIDE0NywgMjExLCAzNiwgMjQ2LCAKKyAgICA3OSwgMjA5LCAyMiwgOTYsIDExMCwgNzcsIDIxMSwgMzYsIDI0NiwgNzksIDIwOSwgMjIsIDk2LCAxMTAsIDE0NywgMjE5LCAKKyAgICAyMDcsIDI0NiwgNzksIDIzOCwgMTIxLCA5NiwgMTEwLCA3NywgMjE5LCAyMDcsIDI0NiwgNzksIDIzOCwgMTIxLCA5NiwgCisgICAgMTEwLCAxNDcsIDIxOSwgMjA3LCAyNDYsIDc5LCAyMDksIDIyLCA5NiwgMTEwLCA3NywgMjE5LCAyMDcsIDI0NiwgNzksIAorICAgIDIwOSwgMjIsIDk2LCAxMTAsIDE0NywgMTMwLCAyMywgMjE4LCAxNjcsIDk2LCAxMTAsIDEzMCwgMTQ3LCAyMywgNDgsIDIzOSwgCisgICAgNTQsIDk2LCAxMTAsIDEzMCwgNzcsIDIzLCA0OCwgMjI5LCAyMjMsIDk2LCAxMTAsIDc3LCAxMzAsIDIzLCAyMTgsIDE2NywgCisgICAgOTYsIDExMCwgMTQ3LCAxMzAsIDIzLCAyMzAsIDQ2LCA5NiwgMTEwLCAxMzAsIDE0NywgMjMsIDQ3LCAyMzksIDU0LCA5NiwgCisgICAgMTEwLCAxMzAsIDc3LCAyMywgNDcsIDIyOSwgMjIzLCA5NiwgMTEwLCA3NywgMTMwLCAyMywgMjMwLCA0NiwgOTYsIDExMCwgCisgICAgMTQ3LCAxMjAsIDIzLCAyMTgsIDE2NywgOTYsIDExMCwgMTIwLCAxNDcsIDIzLCA0OCwgMjM5LCA1NCwgOTYsIDExMCwgMTIwLCAKKyAgICA3NywgMjMsIDQ4LCAyMjksIDIyMywgOTYsIDExMCwgNzcsIDEyMCwgMjMsIDIxOCwgMTY3LCA5NiwgMTEwLCAxNDcsIDEyMCwgCisgICAgMjMsIDIzMCwgNDYsIDk2LCAxMTAsIDEyMCwgMTQ3LCAyMywgNDcsIDIzOSwgNTQsIDk2LCAxMTAsIDEyMCwgNzcsIDIzLCAKKyAgICA0NywgMjI5LCAyMjMsIDk2LCAxMTAsIDc3LCAxMjAsIDIzLCAyMzAsIDQ2LCA5NiwgMTEwLCAxNDcsIDc5LCAyMywgMjE4LCAKKyAgICAxNjcsIDk2LCAxMTAsIDc5LCAxNDcsIDIzLCA0OCwgMjM5LCA1NCwgOTYsIDExMCwgMTIwLCA3NywgMjMsIDQ4LCAxMzAsIAorICAgIDIyOSwgMjIzLCA5NiwgMTEwLCAxMzAsIDc3LCAyMywgNDgsIDEyMCwgMjI5LCAyMjMsIDk2LCAxMTAsIDc5LCA3NywgMjMsIAorICAgIDQ4LCAyMjksIDIyMywgOTYsIDExMCwgMTMwLCAxNDcsIDIzLCA0OCwgMTIwLCAyMzksIDU0LCA5NiwgMTEwLCAxMjAsIDE0NywgCisgICAgMjMsIDQ4LCAxMzAsIDIzOSwgNTQsIDk2LCAxMTAsIDc3LCA3OSwgMjMsIDIxOCwgMTY3LCA5NiwgMTEwLCAxNDcsIDc5LCAKKyAgICAyMywgMjMwLCA0NiwgOTYsIDExMCwgNzksIDE0NywgMjMsIDQ3LCAyMzksIDU0LCA5NiwgMTEwLCAxMjAsIDc3LCAyMywgNDcsIAorICAgIDEzMCwgMjI5LCAyMjMsIDk2LCAxMTAsIDEzMCwgNzcsIDIzLCA0NywgMTIwLCAyMjksIDIyMywgOTYsIDExMCwgNzksIDc3LCAKKyAgICAyMywgNDcsIDIyOSwgMjIzLCA5NiwgMTEwLCAxMzAsIDE0NywgMjMsIDQ3LCAxMjAsIDIzOSwgNTQsIDk2LCAxMTAsIDEyMCwgCisgICAgMTQ3LCAyMywgNDcsIDEzMCwgMjM5LCA1NCwgOTYsIDExMCwgNzcsIDc5LCAyMywgMjMwLCA0NiwgOTYsIDExMCwgMTQ3LCAKKyAgICAxMzAsIDIzLCAyMzgsIDEyMSwgOTYsIDExMCwgNDcsIDc3LCAyMywgNDgsIDEzMCwgMjI5LCAyMjMsIDk2LCAxMTAsIDQ4LCAKKyAgICA3NywgMjMsIDQ3LCAxMzAsIDIyOSwgMjIzLCA5NiwgMTEwLCAxMzAsIDE0NywgMjMsIDE5NCwgMjM5LCA1NCwgOTYsIDExMCwgCisgICAgMTMwLCA3NywgMjMsIDE5NCwgMjI5LCAyMjMsIDk2LCAxMTAsIDQ4LCAxNDcsIDIzLCA0NywgMTMwLCAyMzksIDU0LCA5NiwgCisgICAgMTEwLCA0NywgMTQ3LCAyMywgNDgsIDEzMCwgMjM5LCA1NCwgOTYsIDExMCwgNzcsIDEzMCwgMjMsIDIzOCwgMTIxLCA5NiwgCisgICAgMTEwLCAxNDcsIDEyMCwgMjMsIDIzOCwgMTIxLCA5NiwgMTEwLCA0NywgNzcsIDIzLCA0OCwgMTIwLCAyMjksIDIyMywgOTYsIAorICAgIDExMCwgNDgsIDc3LCAyMywgNDcsIDEyMCwgMjI5LCAyMjMsIDk2LCAxMTAsIDEyMCwgMTQ3LCAyMywgMTk0LCAyMzksIDU0LCAKKyAgICA5NiwgMTEwLCAxMjAsIDc3LCAyMywgMTk0LCAyMjksIDIyMywgOTYsIDExMCwgNDgsIDE0NywgMjMsIDQ3LCAxMjAsIDIzOSwgCisgICAgNTQsIDk2LCAxMTAsIDQ3LCAxNDcsIDIzLCA0OCwgMTIwLCAyMzksIDU0LCA5NiwgMTEwLCA3NywgMTIwLCAyMywgMjM4LCAKKyAgICAxMjEsIDk2LCAxMTAsIDE0NywgNzksIDIzLCAyMzgsIDEyMSwgOTYsIDExMCwgNDcsIDc3LCAyMywgNDgsIDc5LCAyMjksIAorICAgIDIyMywgOTYsIDExMCwgNDgsIDc3LCAyMywgNDcsIDc5LCAyMjksIDIyMywgOTYsIDExMCwgNzksIDE0NywgMjMsIDE5NCwgCisgICAgMjM5LCA1NCwgOTYsIDExMCwgMTIwLCA3NywgMjMsIDEzMCwgMTk0LCAyMjksIDIyMywgOTYsIDExMCwgMTMwLCA3NywgMjMsIAorICAgIDEyMCwgMTk0LCAyMjksIDIyMywgOTYsIDExMCwgNzksIDc3LCAyMywgMTk0LCAyMjksIDIyMywgOTYsIDExMCwgNDcsIDEyMCwgCisgICAgNzcsIDIzLCA0OCwgMTMwLCAyMjksIDIyMywgOTYsIDExMCwgNDgsIDEyMCwgNzcsIDIzLCA0NywgMTMwLCAyMjksIDIyMywgCisgICAgOTYsIDExMCwgNDcsIDEzMCwgNzcsIDIzLCA0OCwgMTIwLCAyMjksIDIyMywgOTYsIDExMCwgNDgsIDEzMCwgNzcsIDIzLCAKKyAgICA0NywgMTIwLCAyMjksIDIyMywgOTYsIDExMCwgMTMwLCAxNDcsIDIzLCAxMjAsIDE5NCwgMjM5LCA1NCwgOTYsIDExMCwgCisgICAgMTIwLCAxNDcsIDIzLCAxMzAsIDE5NCwgMjM5LCA1NCwgOTYsIDExMCwgNDgsIDE0NywgMjMsIDQ3LCA3OSwgMjM5LCA1NCwgCisgICAgOTYsIDExMCwgNDcsIDE0NywgMjMsIDQ4LCA3OSwgMjM5LCA1NCwgOTYsIDExMCwgNzcsIDc5LCAyMywgMjM4LCAxMjEsIDk2LCAKKyAgICAxMTAsIDE0NywgNTAsIDI0NiwgNzksIDIzOCwgMTIxLCA5NiwgMTEwLCA3NywgNTAsIDI0NiwgNzksIDIzOCwgMTIxLCA5NiwgCisgICAgMTEwLCAxNDcsIDUwLCAyNDYsIDc5LCAyMDksIDIyLCA5NiwgMTEwLCA3NywgNTAsIDI0NiwgNzksIDIwOSwgMjIsIDk2LCAKKyAgICAxMTAsIDUwLCAyMzgsIDEyMSwgOTYsIDExMCwgNTAsIDIwOSwgMjIsIDk2LCAxMTAsIDEzMCwgMjE1LCA0MSwgMjMsIDQ4LCAKKyAgICAyNDQsIDE2LCA5NiwgMTEwLCAxMzAsIDUwLCAyMywgNDgsIDIxNSwgNDAsIDk2LCAxMTAsIDUwLCAxMzAsIDIzLCAyMTgsIAorICAgIDE2NywgOTYsIDExMCwgMTMwLCAyMTUsIDQxLCAyMywgNDcsIDI0NCwgMTYsIDk2LCAxMTAsIDEzMCwgNTAsIDIzLCA0NywgCisgICAgMjE1LCA0MCwgOTYsIDExMCwgNTAsIDEzMCwgMjMsIDIzMCwgNDYsIDk2LCAxMTAsIDEyMCwgMjE1LCA0MSwgMjMsIDQ4LCAKKyAgICAyNDQsIDE2LCA5NiwgMTEwLCAxMjAsIDUwLCAyMywgNDgsIDIxNSwgNDAsIDk2LCAxMTAsIDUwLCAxMjAsIDIzLCAyMTgsIAorICAgIDE2NywgOTYsIDExMCwgMTIwLCAyMTUsIDQxLCAyMywgNDcsIDI0NCwgMTYsIDk2LCAxMTAsIDEyMCwgNTAsIDIzLCA0NywgCisgICAgMjE1LCA0MCwgOTYsIDExMCwgNTAsIDEyMCwgMjMsIDIzMCwgNDYsIDk2LCAxMTAsIDc5LCAyMTUsIDQxLCAyMywgNDgsIAorICAgIDI0NCwgMTYsIDk2LCAxMTAsIDc5LCA1MCwgMjMsIDQ4LCAyMTUsIDQwLCA5NiwgMTEwLCA1MCwgNzksIDIzLCAyMTgsIDE2NywgCisgICAgOTYsIDExMCwgNzksIDIxNSwgNDEsIDIzLCA0NywgMjQ0LCAxNiwgOTYsIDExMCwgNzksIDUwLCAyMywgNDcsIDIxNSwgNDAsIAorICAgIDk2LCAxMTAsIDUwLCA3OSwgMjMsIDIzMCwgNDYsIDk2LCAxMTAsIDEzMCwgMjE1LCA0MSwgMjMsIDE5NCwgMjQ0LCAxNiwgCisgICAgOTYsIDExMCwgMTMwLCA1MCwgMjMsIDE5NCwgMjE1LCA0MCwgOTYsIDExMCwgNTAsIDEzMCwgMjMsIDIzOCwgMTIxLCA5NiwgCisgICAgMTEwLCAxMjAsIDIxNSwgNDEsIDIzLCAxOTQsIDI0NCwgMTYsIDk2LCAxMTAsIDEyMCwgNTAsIDIzLCAxOTQsIDIxNSwgNDAsIAorICAgIDk2LCAxMTAsIDUwLCAxMjAsIDIzLCAyMzgsIDEyMSwgOTYsIDExMCwgNzksIDIxNSwgNDEsIDIzLCAxOTQsIDI0NCwgMTYsIAorICAgIDk2LCAxMTAsIDc5LCA1MCwgMjMsIDE5NCwgMjE1LCA0MCwgOTYsIDExMCwgNTAsIDc5LCAyMywgMjM4LCAxMjEsIDk2LCAKKyAgICAxMTAsIDE0NywgMjUyLCAyMiwgMTMwLCAyMywgMjE4LCAxNjcsIDk2LCAxMTAsIDE0NywgMjUyLCAyMiwgMTMwLCAyMywgCisgICAgMjMwLCA0NiwgOTYsIDExMCwgMTQ3LCAyNTIsIDIyLCAxMjAsIDIzLCAyMzAsIDQ2LCA5NiwgMTEwLCAxNDcsIDI1MiwgMjIsIAorICAgIDEyMCwgMjMsIDIxOCwgMTY3LCA5NiwgMTEwLCAxNDcsIDI0NSwgMTYzLCAyMDksIDIwMywgNDgsIDIxMSwgMTMwLCAyMjksIAorICAgIDkyLCAyMzAsIDQ2LCA5NiwgMTEwLCAxNDcsIDI0NSwgMTYzLCAyMDksIDIwMywgNDcsIDIxMSwgMTMwLCAyMjksIDkyLCAKKyAgICAyMTgsIDE2NywgOTYsIDExMCwgMTQ3LCAyNDUsIDE2MywgMjQ3LCA1OSwgOTYsIDExMCwgMTQ3LCAyMzAsIDQ2LCA5NiwgCisgICAgMTEwLCAxNDcsIDIwOSwgMjA2LCA5NiwgMTEwLCAxNDcsIDIxOCwgMTY3LCA5NiwgMTEwLCAxNDcsIDI0NCwgOCwgOTYsIAorICAgIDExMCwgNzcsIDIzMCwgNDYsIDk2LCAxMTAsIDc3LCAyMDksIDIwNiwgOTYsIDExMCwgNzcsIDIxOCwgMTY3LCA5NiwgMTEwLCAKKyAgICA3NywgMjQ0LCA4LCA5NiwgMTEwLCAxNDcsIDQ3LCAyMywgNzcsIDIxOCwgMTY3LCA5NiwgMTEwLCAxNDcsIDEyMCwgMjMsIAorICAgIDc3LCAyNDQsIDgsIDk2LCAxMTAsIDc3LCA0NywgMjMsIDE0NywgMjE4LCAxNjcsIDk2LCAxMTAsIDc3LCAxMjAsIDIzLCAKKyAgICAxNDcsIDI0NCwgOCwgMjA5LCAyMDMsIDE2MCwgMjQ5LCAxOTMsIDIyOSwgOTIsIDExOSwgMjQzLCA4NCwgMjQ5LCAxOTMsIAorICAgIDIyOSwgOTIsIDExOSwgMjE5LCAyMDUsIDI0OSwgMTkzLCAyMjksIDkyLCAxMjksIDI0MywgODIsIDI0OSwgMTkzLCAyMjksIAorICAgIDkyLCAxNjAsIDI0OSwgMTkzLCAyMjksIDkyLCAyNDEsIDIwNCwgMjQzLCA4MiwgMjQ5LCAxOTMsIDIyOSwgOTIsIDEyOSwgCisgICAgMjE5LCAyMDMsIDI0OSwgMTkzLCAyMjksIDkyLCAyMTYsIDIzLCAyNDMsIDgyLCAyNDksIDE5MywgMjQxLCA4MiwgMjQ5LCAKKyAgICAxOTMsIDQ3LCAyMTYsIDIzLCAyNDMsIDgyLCAyNDksIDE5MywgNDcsIDEyOSwgMjE5LCAyMDMsIDI0OSwgMTkzLCA0NywgCisgICAgMjQxLCAyMDQsIDI0MywgODIsIDI0OSwgMTkzLCA0NywgMTYwLCAyNDksIDE5MywgNDcsIDEyOSwgMjQzLCA4MiwgMjQ5LCAKKyAgICAxOTMsIDQ3LCAxMTksIDIxOSwgMjA1LCAyNDksIDE5MywgNDcsIDExOSwgMjQzLCA4NCwgMjQ5LCAxOTMsIDQ4LCAxNjAsIAorICAgIDI0OSwgMTkzLCAxNDcsIDIxNSwgMjQ4LCAyMjcsIDEwOSwgMjE1LCAyNDgsIDI0NiwgODQsIDIxNSwgMjQ4LCAyMDksIDIwMywgCisgICAgMTE5LCAyNDMsIDg0LCAyNDksIDE5MywgNDgsIDExOSwgMjQzLCA4NCwgMjQ5LCAxOTMsIDIxOSwgMjA5LCAyMjksIDkyLCAKKyAgICAyMzAsIDQ2LCAyMTksIDIwOSwgMjI5LCA5MiwgMjE4LCAxNjcsIDIxOSwgMjA5LCAyMDksIDIwMywgMjMwLCA0NiwgMjE5LCAKKyAgICAyMDksIDIwOSwgMjAzLCA0NywgMjMsIDIyOSwgOTIsIDQ3LCAyMywgMjI5LCA5MiwgMjE4LCAxNjcsIDIxOSwgMjA5LCAyMDksIAorICAgIDIwMywgNDcsIDIzLCAyMjksIDkyLCAyMTgsIDE2NywgMjE5LCAyMDksIDIwOSwgMjAzLCA0NywgMjMsIDIwOSwgMjAzLCA0OCwgCisgICAgMjMsIDIyOSwgOTIsIDIzMCwgNDYsIDIxOSwgMjA5LCAyMDksIDIwMywgNDcsIDIzLCAyMDksIDIwMywgNDgsIDIzLCAyMjksIAorICAgIDkyLCAyMTgsIDE2NywgMjE5LCAyMDksIDIwOSwgMjAzLCAyMTgsIDE2NywgMjE5LCAyMDksIDIwOSwgMjAzLCA0OCwgMjMsIAorICAgIDIyOSwgOTIsIDIzMCwgNDYsIDIxOSwgMjA5LCAyMDksIDIwMywgNDgsIDIzLCAyMjksIDkyLCA0NywgMjMsIDIyOSwgOTIsIAorICAgIDIxOCwgMTY3LCA2MCwgMjE0LCAxMDcsIDU5LCAyMTQsIDEwNywgNTksIDQ5LCAyLCAyMTgsIDkzLCAyNDcsIDkwLCA1OSwgCisgICAgNDksIDI0NywgMTE5LCA2MCwgNSwgMjE0LCAxMDcsIDQ5LCAyLCAxOTQsIDI0MSwgMjM0LCA0OSwgMiwgNzksIDI0MSwgMjM0LCAKKyAgICA0OSwgMiwgMjIyLCAxMDgsIDI0NywgNTUsIDI0MSwgMjM0LCA0OSwgMiwgMjA5LCAyMDMsIDQ3LCAyMTEsIDEzMCwgMjI5LCAKKyAgICA5MiwgNDgsIDI0MSwgMjM0LCA0OSwgMiwgMjA5LCAyMDMsIDQ4LCAyMTEsIDEzMCwgMjI5LCA5MiwgNDcsIDI0MSwgMjM0LCAKKyAgICA0OSwgMiwgMjQ1LCAxNjMsIDI0NywgNTUsIDI0MSwgMjM0LCA2MCwgNSwgMjE0LCAxMDcsIDU5LCA1LCAyMTQsIDEwNywgNjAsIAorICAgIDIxOSwgMzcsIDU5LCAyMTksIDM3LCA2MCwgNzksIDIxOSwgMzcsIDU5LCA3OSwgMjE5LCAzNywgNjAsIDIyMSwgMjIwLCA1OSwgCisgICAgMjIxLCAyMjAsIDYwLCAyMDksIDIwNSwgMjExLCA1MSwgNTksIDIwOSwgMjA1LCAyMTEsIDUxLCA2MCwgMjA5LCAyMDUsIDUsIAorICAgIDIxMSwgNTEsIDU5LCAyMDksIDIwNSwgNSwgMjExLCA1MSwgNjAsIDIxOCwgMTYyLCAyMTEsIDUxLCA1OSwgMjE4LCAxNjIsIAorICAgIDIxMSwgNTEsIDYwLCAyMTgsIDE2MiwgNSwgMjExLCA1MSwgNTksIDIxOCwgMTYyLCA1LCAyMTEsIDUxLCA2MCwgMjE4LCAKKyAgICAxNjIsIDIyMCwgMjAyLCA1OSwgMjE4LCAxNjIsIDIyMCwgMjAyLCA2MCwgMjQ0LCA3LCAyMTEsIDUxLCA1OSwgMjQ0LCA3LCAKKyAgICAyMTEsIDUxLCA2MCwgMjQ0LCA3LCA1LCAyMTEsIDUxLCA1OSwgMjQ0LCA3LCA1LCAyMTEsIDUxLCA2MCwgMjMwLCA0MSwgCisgICAgMjExLCA1MSwgNTksIDIzMCwgNDEsIDIxMSwgNTEsIDYwLCAyMzAsIDQxLCA1LCAyMTEsIDUxLCA1OSwgMjMwLCA0MSwgNSwgCisgICAgMjExLCA1MSwgNjAsIDIzMCwgNDEsIDIyMCwgMjAyLCA1OSwgMjMwLCA0MSwgMjIwLCAyMDIsIDYwLCAyNDUsIDE1NiwgNTksIAorICAgIDI0NSwgMTU2LCA1OSwgMjQ1LCAxNTcsIDI0NywgMTE5LCA2MCwgNSwgMjQ1LCAxNTYsIDI0MSwgMjEyLCAyMjksIDg4LCA1OSwgCisgICAgMjQ3LCAyMzMsIDI0NCwgMjEsIDI0NywgMjMzLCAyNDcsIDIzNCwgMiwgNzksIDI0MSwgMjM0LCAyNDksIDgxLCA2MCwgMjQ3LCAKKyAgICAyMzMsIDI0NywgMjM0LCAyLCA0NywgMTYwLCAyNDksIDIwMiwgMjQ3LCAyMzQsIDIsIDQ4LCAxNjAsIDI0OSwgMjAyLCAyNDcsIAorICAgIDIzNCwgMiwgMjI5LCA5MiwgMTYwLCAyNDksIDIwMiwgMjQ3LCAyMzQsIDIsIDIwOSwgMjAzLCAxNjAsIDI0OSwgMjAyLCAKKyAgICAyNDcsIDIzNCwgMiwgMjA5LCAyMDMsIDQ4LCAyMTksIDIwOSwgMjQ5LCAyMDIsIDI0NywgMjM0LCAyLCAyNTIsIDE1NywgCisgICAgMjQ5LCA1NywgMjA5LCAyMDMsIDQ3LCAyMTksIDIwOSwgMjQ5LCAyMDIsIDQ3LCAxNjAsIDYwLCAyNDcsIDIzMywgNDgsIAorICAgIDE2MCwgNjAsIDI0NywgMjMzLCAyMzMsIDMsIDI0OSwgODUsIDIzMywgMywgNTksIDI0NywgMjMzLCAyMDksIDIwMywgMTYwLCAKKyAgICAyMzMsIDMsIDU5LCAyNDcsIDIzMywgMjI5LCA5MiwgMTYwLCAyMzMsIDMsIDU5LCAyNDcsIDIzMywgMjA5LCAyMDMsIDQ3LCAKKyAgICAyMTksIDIwOSwgMjQ3LCAyMzAsIDI1MiwgMjEsIDIwOSwgMjAzLCA0OCwgMjE5LCAyMDksIDI0NywgMjMwLCAyNTIsIDIxLCAKKyAgICAyMjksIDkyLCA0OCwgMjE5LCAyMDksIDI0NywgMjMwLCAyNTIsIDIxLCAyMjksIDkyLCA0NywgMjE5LCAyMDksIDI0NywgCisgICAgMjMwLCAyNTIsIDIxLCAyMDksIDIwMywgMTYwLCAyNDcsIDIzMywgMjI5LCA5MiwgMTYwLCAyNDcsIDIzMywgNjAsIDIyOSwgCisgICAgOTIsIDQ4LCAyMTEsIDUxLCA2MCwgMjI5LCA5MiwgNDcsIDIxMSwgNTEsIDYwLCAyMDksIDIwMywgNDcsIDIxMSwgNTEsIDYwLCAKKyAgICAyMDksIDIwMywgNDgsIDIxMSwgNTEsIDU5LCAyNDksIDg1LCA0OSwgMiwgNDcsIDE2MCwgMjQ5LCAyMDIsIDQ5LCAyLCA0OCwgCisgICAgMTYwLCAyNDksIDIwMiwgNDksIDIsIDIwOSwgMjAzLCA0NywgMjQ1LCAxNjMsIDE2MCwgMjQ5LCAyMDIsIDQ5LCAyLCAyMjksIAorICAgIDkyLCA0OCwgMjQ1LCAxNjMsIDE2MCwgMjQ5LCAyMDIsIDU5LCA0OSwgMiwgNzksIDI0OSwgMjEzLCAyMjksIDIwNSwgNTksIAorICAgIDIwOSwgMjA1LCAyMTEsIDUyLCAyLCAyNDUsIDIzLCAyMDksIDIwNSwgMjExLCA1MiwgMiwgNDcsIDE2MCwgMjQ5LCAyMDIsIAorICAgIDIwOSwgMjA1LCAyMTEsIDUyLCAyLCA0OCwgMTYwLCAyNDksIDIwMiwgMjMwLCA4NiwgMjQ3LCAyMzMsIDU5LCA0OSwgMiwgCisgICAgMjA5LCAyMDMsIDQ3LCAyMTksIDIwOCwgNTksIDQ5LCAyLCAyMjksIDkyLCA0NywgMjE5LCAyMDgsIDU5LCA0OSwgMiwgMjI5LCAKKyAgICA5MiwgNDgsIDIxOSwgMjA4LCA1OSwgNDksIDIsIDIwOSwgMjAzLCA0OCwgMjE5LCAyMDgsIDU5LCAyNDcsIDIzNCwgMiwgCisgICAgMjA5LCAyMDMsIDQ3LCAyMTksIDIwOCwgNTksIDI0NywgMjM0LCAyLCAyMjksIDkyLCA0NywgMjE5LCAyMDgsIDU5LCAyNDcsIAorICAgIDIzNCwgMiwgMjI5LCA5MiwgNDgsIDIxOSwgMjA4LCA1OSwgMjQ3LCAyMzQsIDIsIDIwOSwgMjAzLCA0OCwgMjE5LCAyMDgsIAorICAgIDIwOSwgMjAzLCA0NywgMjExLCA1MSwgMjA5LCAyMDMsIDQ4LCAyMTEsIDUxLCAyMjksIDkyLCA0NywgMjExLCA1MSwgNTksIAorICAgIDIyNywgMTA5LCAyMTQsIDEwNywgNjAsIDIyNywgMTA5LCAyMTQsIDEwNywgNTksIDIyNywgMTA5LCA1LCAyMTQsIDEwNywgCisgICAgNjAsIDIyNywgMTA5LCA1LCAyMTQsIDEwNywgMjI5LCA5MiwgNDgsIDIxMSwgNTEsIDYwLCAyMTMsIDE1NSwgMiwgMjE5LCAKKyAgICA1NSwgMjQ3LCAxODMsIDIwOSwgMjM4LCAyMTQsIDE5NSwgMjQ3LCAxNTgsIDYwLCAyMTQsIDI2LCA1OSwgMjE0LCAyNiwgCisgICAgMjI5LCAyMjAsIDIxMSwgMjI2LCAyMTMsIDE1NCwgMjUxLCAyMjgsIDIyNCwgNjQsIDI0NSwgMjEwLCAyMjQsIDY0LCAyNDcsIAorICAgIDEyOCwgMjIyLCAxMjgsIDYwLCAyMTIsIDEwNywgNTksIDIxMiwgMTA3LCAyNTAsIDE0NiwgMjQ5LCAxNDAsIDI1MCwgMTQ2LCAKKyAgICA5NiwgMiwgMjQ4LCA4MCwgMjUwLCAxNDYsIDk2LCAyLCAyMDYsIDE5NSwgMjE3LCAxNjIsIDIwOSwgMjM5LCAyLCAyMTksIAorICAgIDg0LCAyNDMsIDI0MywgMjM4LCA2MywgMjUwLCA0LCA1OSwgMjE1LCAxNTMsIDIyMSwgNDUsIDYwLCAyMTUsIDE1MywgMjIxLCAKKyAgICA0NSwgMjE1LCAyMzksIDIxOCwgMjI0LCAyMTgsIDk3LCAyNDEsIDE3NiwgMjM5LCA2MSwgMjQ5LCA4NSwgNjAsIDQ3LCAyMjAsIAorICAgIDIwMSwgMjMzLCA1MywgNjAsIDQ4LCAyMjAsIDIwMSwgMjMzLCA1MywgNTksIDQ3LCAyMjAsIDIwMSwgMjMzLCA1MywgNTksIAorICAgIDEyMCwgMjIwLCAyMDEsIDIzMywgNTMsIDU5LCA0OCwgMjIwLCAyMDEsIDIzMywgNTMsIDU5LCAxMzAsIDIyMCwgMjAxLCAKKyAgICAyMzMsIDUzLCAyMTQsIDI0MSwgMjMsIDI0NywgNTgsIDI0OCwgMTc3LCA1MywgMjE5LCA5NiwgNTMsIDI0OSwgMjIwLCA1MywgCisgICAgMjQ4LCAyNDgsIDI1MiwgMTAxLCAyMjIsIDEwOSwgMjQ3LCA1OSwgMjQ4LCA1OSwgMjE4LCAyMTAsIDI0NywgNjAsIDczLCAKKyAgICAyMjksIDEwNiwgMjQ3LCA2MCwgNzMsIDIzMiwgMTcyLCAyMTQsIDI3LCAyMywgMjQ3LCA2NSwgMjQyLCA0MiwgOTMsIDI1MiwgCisgICAgMjU0LCAyMTUsIDI0MSwgMjM5LCAxMTUsIDIzLCAyMTUsIDc3LCAyMjEsIDE3MywgOTMsIDIwNiwgMSwgMjA2LCA3NSwgMjExLCAKKyAgICA0MSwgMzMsIDIzOSwgNTYsIDIxMSwgNDEsIDMzLCAyMzAsIDExMSwgMjExLCA0MSwgMzMsIDI0MSwgMjE5LCAyMTEsIDQxLCAKKyAgICAzMywgMjExLCAyMjcsIDIxMSwgNDEsIDMzLCAyMDcsIDksIDIxMSwgNDEsIDMzLCAyMDcsIDY5LCAyMTEsIDQxLCAzMywgCisgICAgMjI2LCAxMjgsIDIxMSwgNDEsIDMzLCAyNDMsIDEyMCwgMjA3LCAyNywgNzMsIDI0NSwgMTg0LCA1OSwgMjQxLCA5NCwgMjQyLCAKKyAgICA2NywgNTksIDIxNCwgMjEwLCAyNDIsIDY3LCA2MCwgMjE0LCAyMTAsIDI0MiwgNjcsIDU5LCAyMTMsIDE1NSwgMiwgMjE5LCAKKyAgICA1NSwgMjQxLCAyMTUsIDIxOSwgMjA1LCAyMjYsIDE0NCwgMjMwLCA4MSwgMjE5LCAyMDUsIDIyNiwgMTQ0LCAyMjcsIDc4LCAKKyAgICAyNDIsIDExLCA1MywgMjQzLCAxMjAsIDIyNywgMjI2LCA1MywgMjMyLCA5MSwgMjE3LCAxMjYsIDIwOSwgMTg5LCAyMjUsIAorICAgIDk1LCAyMjAsIDIxNSwgMjUyLCA3LCAyMTIsIDE0OSwgMjQwLCAxNTgsIDI0OCwgMjIyLCAyMzAsIDE1LCAyMDgsIDE4NiwgCisgICAgMjI5LCAyMzIsIDIxNywgOTYsIDIxNywgMTgzLCAyNDgsIDIwOCwgMjUyLCAzOCwgMjIwLCAyNTAsIDU5LCAyNDgsIDY1LCAKKyAgICAyMzEsIDEwNiwgNTksIDI0OCwgNjUsIDIxOSwgMTk3LCA1OSwgMjQ4LCA2NSwgMjE4LCAxMDUsIDU5LCAyNDgsIDY1LCAyNDksIAorICAgIDIxMiwgNTksIDI0OCwgNjUsIDIzMSwgNTYsIDU5LCAyNDgsIDY1LCAyMjEsIDE4NSwgNjAsIDI0OCwgNjUsIDIzMSwgMTA2LCAKKyAgICA2MCwgMjQ4LCA2NSwgMjE5LCAxOTcsIDYwLCAyNDgsIDY1LCAyMTgsIDEwNSwgNjAsIDI0OCwgNjUsIDI0OSwgMjEyLCA2MCwgCisgICAgMjQ4LCA2NSwgMjMxLCA1NiwgNjAsIDI0OCwgNjUsIDIyMSwgMTg1LCA2MCwgMjE0LCAxNTEsIDIxMywgMTY3LCA1OSwgMjM5LCAKKyAgICA2MSwgMjEzLCAxNjcsIDU5LCAyNDUsIDE1NywgMjEzLCAxNjcsIDYwLCAyNDcsIDE4MSwgMjEzLCAxNjcsIDU5LCAyMTQsIAorICAgIDE1MSwgMjEzLCAxNjcsIDYwLCAyMzksIDYxLCAyMTMsIDE2NywgNjAsIDI0NSwgMTU3LCAyMTMsIDE2NywgNTksIDI0NywgCisgICAgMTgxLCAyMTMsIDE2NywgMjM4LCA2MywgMjE0LCAxMTIsIDIxOSwgMjA1LCAyMjQsIDM3LCAyNDMsIDg0LCAyMjQsIDM3LCAKKyAgICAyNTAsIDU4LCAyNDMsIDg0LCAyMjQsIDMyLCAyNTAsIDU4LCAyMTUsIDMsIDIyNCwgMzIsIDIyNiwgNjUsIDI0MSwgMTg4LCAKKyAgICA1MywgMjI2LCA2NSwgMjI1LCAxOTIsIDUzLCAyMjYsIDY1LCAyMTUsIDIyOCwgNTMsIDIwNywgMzYsIDIxMywgMzAsIDI0NywgCisgICAgNTksIDI0MywgMTE3LCAyMTMsIDMwLCAyNDcsIDU5LCAyMDksIDIxNCwgMjE5LCAzMywgOTMsIDIxOSwgMzMsIDE2LCAzMywgCisgICAgMjEwLCA5NCwgMjIwLCAyMzIsIDIxOSwgMzMsIDE2LCAzMywgMjEwLCA5MywgMjIwLCAyMzIsIDIxOSwgMzMsIDE2LCAzMywgCisgICAgMjEwLCA5MiwgMjIwLCAyMzIsIDIxOSwgMzMsIDE2LCAzMywgMjEwLCA5MSwgMjIwLCAyMzIsIDIxOSwgMzMsIDE2LCAzMywgCisgICAgMjEwLCA5MCwgMjIwLCAyMzIsIDIxOSwgMzMsIDE2LCAzMywgMjEwLCA4OSwgMjIwLCAyMzIsIDIxOSwgMzMsIDE2LCAzMywgCisgICAgMjEwLCA4OCwgMjIwLCAyMzIsIDIxOSwgMzMsIDE2LCAzMywgMjQwLCAxNTYsIDIyNywgMTY5LCA2MCwgMjA5LCAyMTQsIAorICAgIDIxOSwgMzMsIDkzLCAyMTksIDM0LCAyMjEsIDIzNSwgOTMsIDIyMSwgMjA4LCAyMjEsIDIzNSwgOTMsIDIyMSwgMTIzLCAKKyAgICAyMjEsIDIzNSwgNTMsIDIwNywgMjUsIDkzLCAyNDUsIDE0OSwgMjQyLCA2NiwgMjQ1LCAxNDksIDI0MiwgNjUsIDI0NSwgCisgICAgMTQ5LCAyNDIsIDY0LCAyNDUsIDE0OSwgMjQyLCA2MywgMjQ1LCAxNDksIDI0MiwgNjIsIDI0NSwgMTQ5LCAyNDIsIDYxLCAKKyAgICA1OSwgMjQ3LCAyMzQsIDIsIDY3LCAyMTgsIDE2NywgNTksIDI0NywgMjM0LCAyLCAxMTgsIDI0NSwgMjEsIDYwLCAyNDcsIAorICAgIDIzNCwgMiwgNTksIDY3LCAyMTgsIDE2NywgNjAsIDI0NywgMjM0LCAyLCAxMTgsIDU5LCAyNDUsIDIxLCAyMjYsIDE2MCwgCisgICAgMzMsIDIwNiwgNzUsIDIyNiwgMTYwLCAzMywgMjA2LCAwLCAyNDUsIDEzMSwgMzMsIDIzOSwgMjMxLCAyMDYsIDc1LCAyNDUsIAorICAgIDEzMSwgMzMsIDIzMCwgOCwgMjA2LCAwLCAyNDUsIDEzMSwgMzMsIDIzMCwgOCwgMjA2LCA3NSwgMjQ1LCAxMzEsIDMzLCAKKyAgICAyMzksIDIzMSwgMjA2LCAwLCA1OSwgMjQxLCAxOTYsIDYwLCAyNDEsIDE5NiwgMjM5LCAxMTUsIDIzLCAyMjEsIDQ5LCAyNTIsIAorICAgIDExOSwgMjQ3LCA1NywgMjEzLCA5NCwgMjE0LCAzNSwgNzMsIDI1MiwgMjMxLCAyMTcsIDExMSwgMjUyLCAxNzEsIDI0MSwgCisgICAgMTcyLCAyNDAsIDE2NywgMjE0LCAzNSwgNzMsIDIzOSwgMzQsIDI1MSwgMTkyLCA5MywgMjQxLCAxODQsIDIyMiwgODksIDU5LCAKKyAgICAyMTQsIDI2LCAxMjksIDIyOSwgMjAwLCAyNDcsIDEwNiwgMjE4LCAxNjcsIDEyOSwgMjI5LCAyMDAsIDI0NywgMTA2LCAyMzAsIAorICAgIDQ2LCAyMDcsIDgwLCA1MywgMTI3LCAyMDgsIDE2NCwgNTMsIDI0NCwgMTMsIDI0MiwgMTEsIDUzLCAyNDQsIDEzLCAyMjcsIAorICAgIDIyNiwgNTMsIDIzMywgMTMsIDI0MiwgMTEsIDIzLCAyMjcsIDIyNiwgNTMsIDIyNywgMjI2LCAyMywgMjQyLCAxMSwgNTMsIAorICAgIDIyNywgMjI2LCAyLCAyMTMsIDIyNSwgNTMsIDIyNywgMjI2LCAyLCAyMTMsIDIyNSwgMjMsIDIyNywgMjI2LCAyMywgMjQyLCAKKyAgICAxMSwgNTMsIDc5LCAyMjcsIDIyNiwgMiwgMjEzLCAyMjUsIDUzLCAxOTQsIDIyNywgMjI2LCAyLCAyMTMsIDIyNSwgNTMsIAorICAgIDIyNywgMTA5LCA1OSwgMjQ3LCAyMzMsIDIyNywgMTA5LCA2MCwgMjQ3LCAyMzMsIDIyNywgMTA5LCA1LCA1OSwgMjQ3LCAKKyAgICAyMzMsIDIyNywgMTg1LCA5MywgMjQ1LCA3MywgOTMsIDIwOSwgMjEyLCAyMjEsIDIwNywgOTMsIDI0NywgMTY3LCAyNDEsIAorICAgIDc3LCAyMDksIDE4NSwgMjI1LCA4OSwgMjQ4LCAxMTQsIDIyMiwgMjEsIDIzMiwgOTcsIDIwOCwgMjI0LCAyNDgsIDM5LCA2MCwgCisgICAgMjI2LCAxNDUsIDIyOSwgMjE3LCAyMTYsIDEzLCAyMTYsIDQ5LCAyMTksIDE4NywgMjE2LCAzMSwgMjE0LCAxOTAsIDI1MCwgCisgICAgMTQ5LCAyNTAsIDExNSwgOTgsIDIzMSwgMTc0LCA1OSwgMjQzLCAyNTIsIDIyNywgMjIxLCA1OSwgMjQzLCAyNTIsIDIzMSwgCisgICAgMTA2LCA2MCwgMjQzLCAyNTIsIDIyNywgMjIxLCA2MCwgMjQzLCAyNTIsIDIzMSwgMTA2LCAyMTQsIDE5NiwgMjA2LCAyNTMsIAorICAgIDIxNCwgMTk5LCAyMTMsIDE1NSwgMjUwLCAzNSwgMjQ3LCAxODMsIDIxOSwgODMsIDYwLCAyMTQsIDE5NSwgMjExLCAyMjgsIAorICAgIDI0NywgMTg0LCAyMywgMjE5LCA4MywgMjAxLCA1OSwgMjE1LCAxNTMsIDIyMSwgNDUsIDIwMSwgNjAsIDIxNSwgMTUzLCAKKyAgICAyMjEsIDQ1LCA1OSwgMjQ1LCAxNTcsIDIzMywgNjksIDIxNCwgMTA3LCAyNDcsIDU0LCAyMzAsIDkzLCAyNDUsIDEwMCwgCisgICAgMjQ4LCAyMDQsIDIyMiwgMTMxLCAyMjEsIDQ5LCAyNDgsIDIwNSwgMjE0LCAyMjYsIDIzOSwgNDQsIDIsIDU5LCAyNDcsIDU5LCAKKyAgICAzOSwgMjQ3LCA1NCwgMjMwLCA5MywgMjQ4LCAxMDYsIDIyNCwgNjgsIDI0MywgMTMsIDI1MiwgMTQxLCAyMjIsIDE2MCwgNDcsIAorICAgIDIwNywgNTUsIDIxMSwgNzcsIDYwLCAyMTAsIDEwNSwgNDcsIDIwNywgNTUsIDIxMSwgNzcsIDU5LCAyMTAsIDEwNSwgNDcsIAorICAgIDIwNywgNTUsIDIxMSwgNzcsIDYwLCA0NywgMjMwLCA5NCwgMjI3LCA3NywgNTksIDQ3LCAyMzAsIDk0LCAyMjcsIDc3LCAKKyAgICAyNDMsIDI0OCwgMjE0LCAyMTgsIDUzLCA3NywgNTksIDI0NCwgNywgMjExLCA1MSwgNDcsIDI0NywgMTkyLCAyNDMsIDEzLCAKKyAgICA5OCwgMjE3LCAxNjIsIDI0MiwgNTAsIDI0NSwgMTYzLCAyMzMsIDY5LCA1OSwgMjQ3LCAyMzQsIDIzMywgNjksIDYwLCAyMTQsIAorICAgIDEwNywgNjAsIDIxMSwgMTcsIDIxOCwgMjM1LCA0NywgMjQzLCAxMiwgMjE4LCAyMzUsIDQ3LCAyNDMsIDExLCAyNTEsIDIwNCwgCisgICAgMTYsIDMzLCAyMDksIDE4OSwgNzcsIDI0NywgMjM0LCAyLCAyMTMsIDIyNSwgMjMsIDExOCwgMTc3LCA1MiwgMjIxLCAxMzksIAorICAgIDIxOCwgMTY0LCAyMzMsIDE1LCAyMjEsIDEzOSwgMjMwLCA0MywgMjMzLCAxNSwgMjIxLCAxMzksIDIzMywgMiwgMjIxLCAKKyAgICAxMzksIDYwLCAyNDcsIDYwLCAyMjIsIDE2NiwgMjE1LCAxODAsIDIxNSwgMTY4LCAyMTUsIDEyMCwgMjQ4LCA2LCAyNDgsIAorICAgIDE4NSwgMjM4LCAyNDMsIDIxNSwgMTEsIDI0MCwgMTY4LCAyMDYsIDI1MywgMjM4LCAzOSwgMjQwLCAxNjgsIDIsIDIzOSwgCisgICAgMTA0LCAyMjcsIDIwNiwgMTYsIDMzLCAyMjksIDIyMiwgMjI2LCAxMjgsIDIwOSwgMjM5LCAyMjIsIDE2NiwgMjM5LCAyMjIsIAorICAgIDI0MSwgMTI2LCAyNDEsIDE5NywgMjMzLCA2OSwgMjM4LCAxNDAsIDI0MiwgMiwgMjE3LCAxNzgsIDQ5LCAyNDEsIDEyNSwgCisgICAgMjQ3LCA5MCwgMjE0LCAyNDQsIDIzNywgMTgyLCAyMTQsIDI0NywgMjIxLCAxMTUsIDIsIDI1MCwgMTQ5LCAyMTIsIDkyLCAKKyAgICAyMzIsIDE4OSwgMjUwLCAxMzQsIDkzLCAyMzksIDY0LCAyMzksIDIzMywgOTMsIDI0MSwgODUsIDIyMCwgNzMsIDI0NywgMzAsIAorICAgIDIyMiwgMTY2LCA2MCwgMjE0LCAxMDcsIDU5LCAyNDEsIDE5NywgMiwgMTk0LCAyMjYsIDI0NywgNjAsIDIxMywgMjI2LCA2MCwgCisgICAgMjE3LCAxODgsIDIxNywgOTgsIDIwOSwgMjAzLCAyNDksIDE5NywgMjE3LCA5OCwgNjAsIDIxNywgOTgsIDIyOSwgOTIsIAorICAgIDI0OSwgMTk3LCAyMTcsIDk4LCA1OSwgMjE3LCA5OCwgNTksIDc3LCAyNDgsIDgxLCA4MywgMjEyLCAxMDgsIDIyOSwgMTQyLCAKKyAgICA1MywgMjEyLCAxNjUsIDI0MywgMjQ3LCAyNTIsIDE5NCwgMjQzLCA4LCAyMTksIDgxLCAyNDEsIDIwOCwgMjE5LCA4MSwgCisgICAgMjM5LCAxMDcsIDIwOCwgMjEyLCAyMzksIDEwNywgMjA2LCAyMTksIDIzOSwgMTA3LCAyMjksIDkyLCA0OCwgMjIxLCAxNDksIAorICAgIDIyMSwgMTQ5LCAyMDksIDIwMywgNDgsIDIyMSwgMTQ5LCA1OSwgMjI0LCAyMjcsIDYwLCAyMjQsIDIyNywgMjQ4LCA4MSwgCisgICAgODMsIDc3LCAyNDgsIDgxLCA4MywgMjI2LCA5NCwgMjA2LCAxOTUsIDc3LCAyMjYsIDk0LCAyMDYsIDE5NSwgMjUwLCAxNDYsIAorICAgIDIwNiwgMTk1LCA3NywgMjUwLCAxNDYsIDIwNiwgMTk1LCAyMjIsIDg5LCAyNywgMjQ3LCA1OSwgNzcsIDI3LCAyNDcsIDU5LCAKKyAgICAyMjIsIDE0MiwgMjQ4LCAxMjksIDI0NywgNTksIDc3LCAyMjIsIDE0MiwgMjQ4LCAxMjksIDI0NywgNTksIDcsIDI0NywgNTksIAorICAgIDIxNSwgMjQ2LCA1OSwgNywgMjQ3LCA1OSwgMjIyLCA4OSwgNywgMjQ3LCA1OSwgMjI3LCAyMjMsIDI0NywgNTksIDIxNCwgCisgICAgMjcsIDczLCAyNDYsIDcxLCAyNDEsIDEyNSwgMjEyLCAxMjQsIDI1MSwgMjA5LCAyNDEsIDEyNSwgMjUwLCAxNDcsIDI1MSwgCisgICAgMjA5LCA3NywgMjQxLCAxMjUsIDI1MCwgMTQ3LCAyNTEsIDIwOSwgMjQxLCAxMjUsIDI0NywgMTc5LCAyNTEsIDIwOSwgNjAsIAorICAgIDI0MSwgMTI1LCAyMjAsIDIwMywgMjE0LCAyNiwgNTksIDI0MSwgMTI1LCAyMjAsIDIwMywgMjE0LCAyNiwgMjE0LCAxNDYsIAorICAgIDIxMywgMjMzLCAyMjIsIDg5LCA1OSwgMjE0LCAyNiwgMzksIDU5LCAyMTQsIDI2LCAyMjIsIDE0MiwgMjQ4LCAxMjksIDYwLCAKKyAgICAyMTQsIDI2LCA2MCwgMjQ4LCAxMjksIDU5LCAyMTQsIDI2LCAyMjIsIDg5LCA2MCwgMjE0LCAyNiwgNzcsIDIyMiwgODksIAorICAgIDYwLCAyMTQsIDI2LCAyMjEsIDQsIDIxNCwgMjYsIDIxNSwgMjQ2LCA1OSwgMjE0LCAyNiwgNzcsIDI1MSwgMjA5LCAyMjIsIAorICAgIDE0MiwgMjQ4LCAxMjksIDI1MSwgMjA5LCAyNDMsIDg4LCAyMTQsIDExOSwgMjUxLCAyMDksIDI0MywgODgsIDIyMCwgMjAzLCAKKyAgICA2MCwgMjE0LCAyNiwgMjQzLCA4OCwgMjIwLCAyMDMsIDIyMSwgNCwgMjE0LCAyNiwgMjE1LCAxMCwgMjIwLCAyMDMsIDYwLCAKKyAgICAyMTQsIDI2LCAyNDMsIDg4LCAyMjAsIDIwMywgMjE5LCAzNSwgNjAsIDIxNCwgMjYsIDc3LCAyNDMsIDg4LCAyMjAsIDIwMywgCisgICAgMjE5LCAzNSwgNjAsIDIxNCwgMjYsIDIxMCwgMTI3LCAyMjAsIDIwMywgNjAsIDIxNCwgMjYsIDIxNSwgNSwgMjIwLCAyMDMsIAorICAgIDI1MSwgMjA5LCAyMTIsIDEyNCwgMjUxLCAyMDksIDIyMiwgMTQyLCAyNDgsIDEyOSwgMjEyLCAxMjQsIDI1MSwgMjA5LCA3NywgCisgICAgMjEyLCAxMjQsIDI1MSwgMjA5LCAyMTUsIDEwLCAyMjEsIDEwMywgNjAsIDIzLCA1OSwgMjQxLCAxNzUsIDYwLCAyNDEsIAorICAgIDE3NSwgNTksIDI0MSwgMTc1LCAyNDMsIDg4LCAyMjEsIDEwMywgMjIyLCA4OSwgNjAsIDI0MSwgMTc1LCAzOSwgMjIyLCAKKyAgICAxNDIsIDI0OCwgMTI5LCAyNDMsIDg4LCAyMjAsIDIwMywgMjE0LCAyNiwgNzcsIDIxMiwgMTI0LCAyMjEsIDQsIDI1MSwgCisgICAgMjA5LCAyMTQsIDE5NywgMjExLCAxOTcsIDIxMSwgNDQsIDIxNCwgMTk3LCA3NywgMjQ4LCA2MiwgMjE0LCAxOTcsIDIxNCwgCisgICAgMTQ4LCA3NywgMjE0LCAxNDgsIDI1MCwgMTQ3LCAyNTEsIDIwOSwgMjQzLCA4OCwgMjEyLCAxMjQsIDIyMCwgMTA0LCAyNTEsIAorICAgIDIwOSwgNzcsIDI0MywgODgsIDIxMiwgMTI0LCAyMjAsIDEwNCwgMjUxLCAyMDksIDI0NywgNjAsIDgzLCAyMTUsIDI0NiwgCisgICAgNTksIDI0NywgMjMzLCAxNzAsIDk4LCAyNDcsIDYwLCA4MywgMjI5LCA5MiwgNDgsIDI0MywgMjQ1LCA1OSwgMjE0LCAxMDcsIAorICAgIDIwOSwgMjAzLCA0OCwgMjQzLCAyNDUsIDU5LCAyMTQsIDEwNywgMjI5LCA5MiwgNDgsIDIxNSwgMjQ2LCA1OSwgMjE0LCAKKyAgICAxMDcsIDIwOSwgMjAzLCA0OCwgMjE1LCAyNDYsIDU5LCAyMTQsIDEwNywgNjAsIDIxOSwgMTk2LCAxNDEsIDIyMiwgMTExLCAKKyAgICA1OSwgMjE5LCAxOTYsIDE0MSwgMjIyLCAxMTEsIDU5LCAyNDIsIDE2OCwgMTQxLCAyMjIsIDExMSwgNjAsIDI0NSwgMTU3LCAKKyAgICAyMjYsIDIwMiwgNTksIDIwNiwgMTk1LCA3NywgMjQyLCAxNjgsIDE0MSwgOTMsIDE0NywgNzksIDEzNCwgMjI3LCAxMDksIAorICAgIDc5LCAxMzQsIDc3LCA3OSwgMTM0LCA3NywgMjE1LCA0MSwgMjAxLCAyNDcsIDE1NiwgMjE5LCAxODAsIDE0MSwgMjIyLCAKKyAgICAxMTEsIDc3LCAyMTUsIDQxLCAyNDcsIDE1NiwgMjE5LCAxODAsIDE0MSwgMjIyLCAxMTEsIDc3LCA1MCwgMjAxLCAyNDcsIAorICAgIDE1NiwgMjE5LCAxODAsIDE0MSwgMjIyLCAxMTEsIDc3LCA1MCwgMjQ3LCAxNTYsIDIxOSwgMTgwLCAxNDEsIDIyMiwgMTExLCAKKyAgICA3NywgMTE0LCAyMTUsIDQxLCAyNDcsIDE1NiwgMjE5LCAxODAsIDE0MSwgMjIyLCAxMTEsIDc3LCAxMTQsIDUwLCAyNDcsIAorICAgIDE1NiwgMjE5LCAxODAsIDE0MSwgMjIyLCAxMTEsIDI0NywgMTgsIDIxNCwgMTAsIDIyMSwgMjI5LCAzLCAyMjIsIDExMSwgCisgICAgNzcsIDI0MiwgMTY4LCAxNDEsIDIyMiwgMTExLCA3NywgMjM5LCA2MSwgMjQyLCAxNjgsIDE0MSwgMjIyLCAxMTEsIDc3LCAKKyAgICA2MCwgMjM5LCA2MCwgMjE4LCA5NywgNzcsIDYwLCAyMzksIDYxLCAyNDksIDg1LCAyNDEsIDE3NiwgMjM5LCA2MCwgMjE4LCAKKyAgICA5NywgMjQxLCAxNzYsIDIzOSwgNjEsIDI0OSwgODUsIDIyNywgMTA5LCA0NywgMjIxLCAyMTcsIDIyMiwgMTExLCAyMjcsIAorICAgIDEwOSwgNDgsIDIyMSwgMjE3LCAyMjIsIDExMSwgMjI3LCAxMDksIDI0MSwgMTg1LCA0NywgMjIxLCAyMTcsIDIyMiwgMTExLCAKKyAgICAyMjcsIDEwOSwgMjQxLCAxODUsIDQ4LCAyMjEsIDIxNywgMjIyLCAxMTEsIDIyNywgMTA5LCAyMzAsIDQxLCAyNTIsIDEwOSwgCisgICAgMjQ5LCAxMzQsIDIyMiwgMTExLCAyMjcsIDEwOSwgMjE4LCAxNjIsIDI1MiwgMTA5LCAyNDksIDEzNCwgMjIyLCAxMTEsIDc3LCAKKyAgICAyMzAsIDQxLCAyNTIsIDEwOSwgMjE5LCAxODAsIDE0MSwgMjIyLCAxMTEsIDc3LCAyMTgsIDE2MiwgMjUyLCAxMDksIDIxOSwgCisgICAgMTgwLCAxNDEsIDIyMiwgMTExLCA3NywgMjMwLCA0MSwgMjUyLCAxMDksIDI0OSwgMTM0LCAyMjIsIDExMSwgNzcsIDIxOCwgCisgICAgMTYyLCAyNTIsIDEwOSwgMjQ5LCAxMzQsIDIyMiwgMTExLCAxNDcsIDQ3LCAyMTEsIDkzLCAyMTUsIDIwNCwgMjQ5LCAxMzQsIAorICAgIDIyMiwgMTExLCAxNDcsIDQ4LCAyMTEsIDkzLCAyMTUsIDIwNCwgMjQ5LCAxMzQsIDIyMiwgMTExLCAyMjcsIDEwOSwgNDcsIAorICAgIDI0NywgMjYsIDI0OSwgMTM0LCAyMjIsIDExMSwgMjI3LCAxMDksIDQ4LCAyNDcsIDI2LCAyNDksIDEzNCwgMjIyLCAxMTEsIAorICAgIDI0NSwgMTExLCAxNzAsIDM5LCAxOCwgMTAyLCAyNDUsIDExMSwgMTcwLCAzOSwgMTgsIDEwNSwgMjQ1LCAxMTEsIDE3MCwgCisgICAgMzksIDE4LCAxNDIsIDI0NSwgMTExLCAxNzAsIDM5LCAxOCwgMTM5LCAyNDUsIDExMSwgMTcwLCAzOSwgMTgsIDE2OCwgMjQ1LCAKKyAgICAxMTEsIDE3MCwgMzksIDE4LCAxODQsIDI0NSwgMTExLCAxNzAsIDM5LCAxOCwgMTk1LCAyNDUsIDExMSwgMTcwLCAzOSwgMTgsIAorICAgIDE5MywgMjQ1LCAxMTEsIDE3MCwgMzksIDE4LCAyMDAsIDI0NSwgMTExLCAxNzAsIDM5LCA0MywgMjEyLCA5OCwgMjQ1LCAKKyAgICAxMTEsIDM5LCAzOCwgMTgsIDEwMiwgMjQ1LCAxMTEsIDM5LCAzOCwgMTgsIDEwNSwgMjQ1LCAxMTEsIDM5LCAzOCwgMTgsIAorICAgIDE0MiwgMjQ1LCAxMTEsIDM5LCAzOCwgMTgsIDEzOSwgMjQ1LCAxMTEsIDM5LCAzOCwgMTgsIDE2OCwgMjQ1LCAxMTEsIDM5LCAKKyAgICAzOCwgMTgsIDE4NCwgMjQ1LCAxMTEsIDM5LCAzOCwgMTgsIDE5NSwgMjQ1LCAxMTEsIDM5LCAzOCwgMTgsIDE5MywgMjQ1LCAKKyAgICAxMTEsIDM5LCAzOCwgMTgsIDIwMCwgMjQ1LCAxMTEsIDM5LCAzOCwgNDMsIDIxMiwgOTgsIDI0NSwgMTExLCAxNzAsIDM5LCAKKyAgICAzOCwgMTgsIDEwMiwgMjQ1LCAxMTEsIDE3MCwgMzksIDM4LCAxOCwgMTA1LCAyNDUsIDExMSwgMTcwLCAzOSwgMzgsIDE4LCAKKyAgICAxNDIsIDI0NSwgMTExLCAxNzAsIDM5LCAzOCwgMTgsIDEzOSwgMjQ1LCAxMTEsIDE3MCwgMzksIDM4LCAxOCwgMTY4LCAyNDUsIAorICAgIDExMSwgMTcwLCAzOSwgMzgsIDE4LCAxODQsIDI0NSwgMTExLCAxNzAsIDM5LCAzOCwgMTgsIDE5NSwgMjQ1LCAxMTEsIDE3MCwgCisgICAgMzksIDM4LCAxOCwgMTkzLCAyNDUsIDExMSwgMTcwLCAzOSwgMzgsIDE4LCAyMDAsIDI0NSwgMTExLCAxNzAsIDM5LCAzOCwgCisgICAgNDMsIDIxMiwgOTgsIDc3LCAyMDcsIDE2LCA4NiwgNDUsIDc3LCAxMDEsIDUzLCA3NywgMjI2LCAyMDIsIDUzLCA3NywgMjQ1LCAKKyAgICA3NSwgNTMsIDc3LCAxODgsIDI0MywgMTE3LCA0NSwgNzcsIDg2LCA0NSwgNzcsIDE0MywgMjQzLCAxMTcsIDQ1LCAyNDQsIDEsIAorICAgIDIyMCwgMjA1LCA4NiwgNDUsIDc3LCAyMTgsIDk0LCA4NiwgNDUsIDIxMSwgNTAsIDg2LCA0NSwgNzcsIDIxMSwgNTAsIDg2LCAKKyAgICA0NSwgMjQ2LCA3NywgMjExLCA1MCwgODYsIDQ1LCA3NywgMjQ2LCA3NywgMjExLCA1MCwgODYsIDQ1LCA2MCwgODYsIDQ1LCAKKyAgICAyMTEsIDIzOCwgMjExLCAxMDAsIDg2LCAyNTEsIDI0MywgMjExLCAyMzgsIDI0OSwgMTUyLCA4NiwgMjUxLCAyNDMsIDYwLCAKKyAgICA4NiwgMjUxLCAyNDMsIDc3LCA2MCwgMjQ3LCAxOCwgMTczLCAyMywgODYsIDQ1LCA3NywgNjAsIDI0NywgMTgsIDE2NywgMjMsIAorICAgIDg2LCA0NSwgMjE0LCAxMDQsIDYwLCA4NiwgNDUsIDc3LCAyNDcsIDEzOSwgNjAsIDg2LCA0NSwgMjE4LCAxNjEsIDU5LCA4NiwgCisgICAgNDUsIDIzMCwgNDAsIDU5LCA4NiwgNDUsIDI1MCwgMTc1LCAyMTUsIDI0NiwgNTksIDg2LCA0NSwgMjQxLCA5NiwgMjE1LCAKKyAgICAyNDYsIDU5LCA4NiwgNDUsIDc3LCAyMjksIDkyLCAyMTgsIDE2MCwgNTksIDg2LCA0NSwgNzcsIDIwOSwgMjAzLCAyMTgsIAorICAgIDE2MCwgNTksIDg2LCA0NSwgMjI0LCAzOSwgMjI5LCA5MiwgMjE4LCAxNjAsIDU5LCA4NiwgNDUsIDI0NywgMjYsIDIyOSwgCisgICAgMTExLCAyMjQsIDM5LCAyMDksIDIwMywgMjE4LCAxNjAsIDU5LCA4NiwgNDUsIDM5LCA3NywgNTksIDg2LCA0NSwgMjA3LCAKKyAgICAyMiwgODYsIDQ1LCAyNDksIDIwMSwgMTg4LCAyNDMsIDExNywgNDUsIDI0OSwgMjAxLCA4NiwgNDUsIDI0OSwgMjAxLCAxNDMsIAorICAgIDI0MywgMTE3LCA0NSwgNzcsIDI0OSwgMjAxLCAxODgsIDI0MywgMTE3LCA0NSwgNzcsIDI0OSwgMjAxLCA4NiwgNDUsIDc3LCAKKyAgICAyNDksIDIwMSwgMTQzLCAyNDMsIDExNywgNDUsIDIxMiwgMTI2LCA4NiwgNDUsIDc3LCAyMTIsIDEyNSwgODYsIDQ1LCAyMDcsIAorICAgIDQ2LCA4NiwgNDUsIDc3LCAyMDcsIDQ2LCA4NiwgNDUsIDIyMiwgMTM3LCA4NiwgNDUsIDUwLCAyNDcsIDI2LCAyMjksIDExMSwgCisgICAgMTI5LCAyNDUsIDEyMSwgMjUyLCAxMDgsIDU5LCAyMTEsIDUyLCAyNDcsIDExOSwgNSwgNTksIDIxMSwgNTEsIDIyMSwgMTE4LCAKKyAgICAyMjIsIDE0MiwgMjEzLCAxODEsIDIyMiwgMTQyLCAyMTMsIDEzNywgNDcsIDIxOCwgMCwgMjUwLCAxNjQsIDI0NSwgMjMzLCAKKyAgICA0OCwgMjE4LCAwLCAyNTAsIDE2NCwgMjQ1LCAyMzMsIDIyMiwgMTIzLCAyLCA2NywgMjMzLCAyNSwgMjE4LCAyMjUsIDIxNCwgCisgICAgMTgxLCAyMjAsIDEzOCwgMjEzLCAxODEsIDIxMywgMTM4LCAyMjAsIDEzOCwgMjE0LCAxODAsIDc5LCAyNTAsIDEyOSwgMiwgCisgICAgMTk0LCA5MSwgMTEsIDIxOCwgMTQyLCAyNDUsIDE2MiwgMTUyLCAyNDUsIDc0LCAxMSwgMjQyLCA1MCwgMjQ1LCAxNjIsIDk4LCAKKyAgICAyMjksIDEzNCwgMjUyLCAxMTcsIDk4LCAyMjksIDEzNCwgMjIyLCAxMjIsIDU5LCAyNDUsIDE1NywgMiwgMjQ4LCAxMjcsIAorICAgIDI0NSwgMjMsIDIzLCAyLCAyNDUsIDIzLCAyNDMsIDYxLCA3MywgMjIyLCAxMzUsIDIwOSwgMTk2LCAyMjksIDkyLCA0OCwgCisgICAgMjQ3LCA5MiwgMiwgMjQ1LCAyMywgMjA5LCAyMDMsIDQ3LCAyNDcsIDkyLCAyLCAyNDUsIDIzLCA0NywgMjIyLCA5MSwgMjMyLCAKKyAgICAxMjAsIDQ4LCAyMjIsIDkxLCAyMzIsIDEyMCwgMjQxLCA4MiwgMjIyLCA5MSwgMjMyLCAxMjAsIDIzMCwgODYsIDEyMCwgCisgICAgMjEyLCAyMDEsIDIzMCwgODYsIDEzMCwgMjEyLCAyMDEsIDQ3LCAyMywgNDgsIDUwLCAyMTAsIDE0MywgNDcsIDIzLCA0OCwgCisgICAgMjEyLCAyMDEsIDQ3LCAyMjYsIDk3LCAxNTIsIDQ4LCAyMTIsIDIwMSwgMTUyLCA0NywgMjEyLCAyMDEsIDEyMCwgMjEyLCAKKyAgICAyMDIsIDIsIDI0NywgMjM0LCA1MiwgMjI5LCA4OSwgMjQ1LCA4MCwgMjQ5LCA0NiwgMTk0LCAyMTgsIDQyLCA1OSwgMjQ3LCAKKyAgICAxMzgsIDI0NSwgMTU2LCA1OSwgMjQ3LCAxMzgsIDI0NSwgMTU3LCAyLCA5MiwgMjExLCAyMDcsIDU5LCAyNDcsIDEzOCwgCisgICAgMjQ1LCAxNTcsIDIsIDg2LCAyMTEsIDIwNywgNTksIDQ5LCAyLCA5MiwgMjExLCAyMDcsIDU5LCA0OSwgMiwgODYsIDIxMSwgCisgICAgMjA3LCAxMSwgNDcsIDU5LCA0OSwgMTQ1LCAxMSwgNDgsIDU5LCA0OSwgMTQ1LCAxMSwgNDcsIDI1MiwgMTA5LCAxNDUsIDExLCAKKyAgICA0OCwgMjUyLCAxMDksIDE0NSwgMTEsIDQ3LCA1MCwgMjUyLCAxMDksIDE0NSwgMTEsIDQ4LCA1MCwgMjUyLCAxMDksIDE0NSwgCisgICAgMTEsIDQ3LCA1OSwgMjExLCA5MywgMjE1LCAyMDQsIDE0NSwgMTEsIDQ4LCA1OSwgMjExLCA5MywgMjE1LCAyMDQsIDE0NSwgCisgICAgMTEsIDQ3LCAyNDEsIDE4NSwgMjIxLCAyMTYsIDExLCA0OCwgMjQxLCAxODUsIDIyMSwgMjE2LCAxNjcsIDIxOSwgMjA3LCAKKyAgICA0NSwgMTczLCAyMTksIDIwNywgNDUsIDI1MiwgODcsIDI0MCwgMjA2LCAyNDcsIDIzNCwgNDUsIDI0NywgMTk0LCAyNDAsIAorICAgIDIwNiwgMjQ3LCAyMzQsIDQ1LCA0OCwgNTEsIDIsIDM5LCAyMjAsIDIxOCwgMTUyLCA5MiwgNDUsIDE1MiwgODYsIDQ1LCAKKyAgICAxNTIsIDQ3LCA0OCwgNDUsIDE1MiwgOTIsIDUwLCA0NSwgMTUyLCA4NiwgNTAsIDQ1LCAxNTIsIDQ3LCA0OCwgNTAsIDQ1LCAKKyAgICAxNTIsIDkyLCA1MSwgMjQxLCA5OCwgMTM0LCAxNTIsIDg2LCA1MSwgMjQxLCA5OCwgMTM0LCAxNTIsIDkyLCA1MCwgNTEsIAorICAgIDI0MSwgOTgsIDEzNCwgMTUyLCA4NiwgNTAsIDUxLCAyNDEsIDk4LCAxMzQsIDE1MiwgODYsIDIxNCwgMTAzLCA0NSwgNTYsIAorICAgIDU3LCAyNDksIDE5NSwgNTYsIDU3LCAyNDUsIDIwLCA1NiwgNTcsIDI0NCwgMTQ4LCA1NiwgNTcsIDI0NSwgMTksIDU2LCA1NywgCisgICAgMjQ0LCA4NCwgNTYsIDU3LCAyNDQsIDIxMSwgNTYsIDU3LCAyNDQsIDE0NywgNTYsIDU3LCAyNDUsIDE4LCA1NiwgNTcsIAorICAgIDI0NCwgNTIsIDU2LCA1NywgMjQ0LCAxNzksIDU2LCA1NywgMjQ0LCAxMTUsIDU2LCA1NywgMjQ0LCAyNDIsIDU2LCA1NywgCisgICAgMjQ0LCA4MywgNTYsIDU3LCAyNDQsIDIxMCwgNTYsIDU3LCAyNDQsIDE0NiwgNTYsIDU3LCAyNDUsIDE3LCA1NiwgNTcsIAorICAgIDI0NCwgMzYsIDU2LCA1NywgMjQ0LCAxNjMsIDU2LCA1NywgMjQ0LCA5OSwgNTYsIDU3LCAyNDQsIDIyNiwgNTYsIDU3LCAKKyAgICAyNDQsIDY3LCA1NiwgNTcsIDI0NCwgMTk0LCA1NiwgNTcsIDI0NCwgMTMwLCA1NiwgNTcsIDI0NSwgMSwgNTYsIDU3LCAyNDQsIAorICAgIDUxLCA1NiwgNTcsIDI0NCwgMTc4LCA1NiwgNTcsIDI0NCwgMTE0LCA1NiwgNTcsIDI0NCwgMjQxLCA1NiwgNTcsIDI0NCwgCisgICAgODIsIDU2LCA1NywgMjQ0LCAyMDksIDU2LCA1NywgMjQ0LCAxNDUsIDU2LCA1NywgMjQ1LCAxNiwgNTYsIDU3LCAyNDQsIDI4LCAKKyAgICA1NiwgNTcsIDI0NCwgMTU1LCA1NiwgNTcsIDI0NCwgOTEsIDU2LCA1NywgMjQ0LCAyMTgsIDU2LCA1NywgMjQ0LCA1OSwgNTYsIAorICAgIDU3LCAyNDQsIDE4NiwgNTYsIDU3LCAyNDQsIDEyMiwgNTYsIDU3LCAyNDQsIDI0OSwgNTYsIDU3LCAyNDQsIDQzLCA1NiwgCisgICAgNTcsIDI0NCwgMTcwLCA1NiwgNTcsIDI0NCwgMTA2LCA1NiwgNTcsIDI0NCwgMjMzLCA1NiwgNTcsIDI0NCwgNzQsIDU2LCAKKyAgICA1NywgMjQ0LCAyMDEsIDU2LCA1NywgMjQ0LCAxMzcsIDU2LCA1NywgMjQ1LCA4LCA1NiwgNTcsIDI0NCwgMzUsIDU2LCA1NywgCisgICAgMjQ0LCAxNjIsIDU2LCA1NywgMjQ0LCA5OCwgNTYsIDU3LCAyNDQsIDIyNSwgNTYsIDU3LCAyNDQsIDY2LCA1NiwgNTcsIAorICAgIDI0NCwgMTkzLCA1NiwgNTcsIDI0NCwgMTI5LCA1NiwgNTcsIDI0NSwgMCwgNTYsIDU3LCAyNDQsIDUwLCA1NiwgNTcsIDI0NCwgCisgICAgMTc3LCA1NiwgNTcsIDI0NCwgMTEzLCA1NiwgNTcsIDI0NCwgMjQwLCA1NiwgNTcsIDI0NCwgODEsIDU2LCA1NywgMjQ0LCAKKyAgICAyMDgsIDU2LCA1NywgMjQ0LCAxNDQsIDU2LCA1NywgMjQ1LCAxNSwgNTYsIDU3LCAyNDQsIDI0LCA1NiwgNTcsIDI0NCwgCisgICAgMTUxLCA1NiwgNTcsIDI0NCwgODcsIDU2LCA1NywgMjQ0LCAyMTQsIDU2LCA1NywgMjQ0LCA1NSwgNTYsIDU3LCAyNDQsIAorICAgIDE4MiwgNTYsIDU3LCAyNDQsIDExOCwgNTYsIDU3LCAyNDQsIDI0NSwgNTYsIDU3LCAyNDQsIDM5LCA1NiwgNTcsIDI0NCwgCisgICAgMTY2LCA1NiwgNTcsIDI0NCwgMTAyLCA1NiwgNTcsIDI0NCwgMjI5LCA1NiwgNTcsIDI0NCwgNzAsIDU2LCA1NywgMjQ0LCAKKyAgICAxOTcsIDU2LCA1NywgMjQ0LCAxMzMsIDU2LCA1NywgMjQ1LCA0LCA1NiwgNTcsIDI0NCwgMzEsIDU2LCA1NywgMjQ0LCAxNTgsIAorICAgIDU2LCA1NywgMjQ0LCA5NCwgNTYsIDU3LCAyNDQsIDIyMSwgNTYsIDU3LCAyNDQsIDYyLCA1NiwgNTcsIDI0NCwgMTg5LCA1NiwgCisgICAgNTcsIDI0NCwgMTI1LCA1NiwgNTcsIDI0NCwgMjUyLCA1NiwgNTcsIDI0NCwgNDYsIDU2LCA1NywgMjQ0LCAxNzMsIDU2LCAKKyAgICA1NywgMjQ0LCAxMDksIDU2LCA1NywgMjQ0LCAyMzYsIDU2LCA1NywgMjQ0LCA3NywgNTYsIDU3LCAyNDQsIDIwNCwgNTYsIAorICAgIDU3LCAyNDQsIDE0MCwgNTYsIDU3LCAyNDUsIDExLCA1NiwgNTcsIDI0NCwgMjcsIDU2LCA1NywgMjQ0LCAxNTQsIDU2LCA1NywgCisgICAgMjQ0LCA5MCwgNTYsIDU3LCAyNDQsIDIxNywgNTYsIDU3LCAyNDQsIDU4LCA1NiwgNTcsIDI0NCwgMTg1LCA1NiwgNTcsIAorICAgIDI0NCwgMTIxLCA1NiwgNTcsIDI0NCwgMjQ4LCA1NiwgNTcsIDI0NCwgNDIsIDU2LCA1NywgMjQ0LCAxNjksIDU2LCA1NywgCisgICAgMjQ0LCAxMDUsIDU2LCA1NywgMjQ0LCAyMzIsIDU2LCA1NywgMjQ0LCA3MywgNTYsIDU3LCAyNDQsIDIwMCwgNTYsIDU3LCAKKyAgICAyNDQsIDEzNiwgNTYsIDU3LCAyNDUsIDcsIDU2LCA1NywgMjQ0LCAzNCwgNTYsIDU3LCAyNDQsIDE2MSwgNTYsIDU3LCAyNDQsIAorICAgIDk3LCA1NiwgNTcsIDI0NCwgMjI0LCA1NiwgNTcsIDI0NCwgNjUsIDU2LCA1NywgMjQ0LCAxOTIsIDU2LCA1NywgMjQ0LCAKKyAgICAxMjgsIDU2LCA1NywgMjQ0LCAyNTUsIDU2LCA1NywgMjQ0LCA0OSwgNTYsIDU3LCAyNDQsIDE3NiwgNTYsIDU3LCAyNDQsIAorICAgIDExMiwgNTYsIDU3LCAyNDQsIDIzOSwgNTYsIDU3LCAyNDQsIDgwLCA1NiwgNTcsIDI0NCwgMjA3LCA1NiwgNTcsIDI0NCwgCisgICAgMTQzLCA1NiwgNTcsIDI0NSwgMTQsIDU2LCA1NywgMjQ0LCAyMiwgNTYsIDU3LCAyNDQsIDE0OSwgNTYsIDU3LCAyNDQsIDg1LCAKKyAgICA1NiwgNTcsIDI0NCwgMjEyLCA1NiwgNTcsIDI0NCwgNTMsIDU2LCA1NywgMjQ0LCAxODAsIDU2LCA1NywgMjQ0LCAxMTYsIAorICAgIDU2LCA1NywgMjQ0LCAyNDMsIDU2LCA1NywgMjQ0LCAzNywgNTYsIDU3LCAyNDQsIDE2NCwgNTYsIDU3LCAyNDQsIDEwMCwgCisgICAgNTYsIDU3LCAyNDQsIDIyNywgNTYsIDU3LCAyNDQsIDY4LCA1NiwgNTcsIDI0NCwgMTk1LCA1NiwgNTcsIDI0NCwgMTMxLCAKKyAgICA1NiwgNTcsIDI0NSwgMiwgNTYsIDU3LCAyNDQsIDI5LCA1NiwgNTcsIDI0NCwgMTU2LCA1NiwgNTcsIDI0NCwgOTIsIDU2LCAKKyAgICA1NywgMjQ0LCAyMTksIDU2LCA1NywgMjQ0LCA2MCwgNTYsIDU3LCAyNDQsIDE4NywgNTYsIDU3LCAyNDQsIDEyMywgNTYsIAorICAgIDU3LCAyNDQsIDI1MCwgNTYsIDU3LCAyNDQsIDQ0LCA1NiwgNTcsIDI0NCwgMTcxLCA1NiwgNTcsIDI0NCwgMTA3LCA1NiwgCisgICAgNTcsIDI0NCwgMjM0LCA1NiwgNTcsIDI0NCwgNzUsIDU2LCA1NywgMjQ0LCAyMDIsIDU2LCA1NywgMjQ0LCAxMzgsIDU2LCAKKyAgICA1NywgMjQ1LCA5LCA1NiwgNTcsIDI0NCwgMjUsIDU2LCA1NywgMjQ0LCAxNTIsIDU2LCA1NywgMjQ0LCA4OCwgNTYsIDU3LCAKKyAgICAyNDQsIDIxNSwgNTYsIDU3LCAyNDQsIDU2LCA1NiwgNTcsIDI0NCwgMTgzLCA1NiwgNTcsIDI0NCwgMTE5LCA1NiwgNTcsIAorICAgIDI0NCwgMjQ2LCA1NiwgNTcsIDI0NCwgNDAsIDU2LCA1NywgMjQ0LCAxNjcsIDU2LCA1NywgMjQ0LCAxMDMsIDU2LCA1NywgCisgICAgMjQ0LCAyMzAsIDU2LCA1NywgMjQ0LCA3MSwgNTYsIDU3LCAyNDQsIDE5OCwgNTYsIDU3LCAyNDQsIDEzNCwgNTYsIDU3LCAKKyAgICAyNDUsIDUsIDU2LCA1NywgMjQ0LCAzMiwgNTYsIDU3LCAyNDQsIDE1OSwgNTYsIDU3LCAyNDQsIDk1LCA1NiwgNTcsIDI0NCwgCisgICAgMjIyLCA1NiwgNTcsIDI0NCwgNjMsIDU2LCA1NywgMjQ0LCAxOTAsIDU2LCA1NywgMjQ0LCAxMjYsIDU2LCA1NywgMjQ0LCAKKyAgICAyNTMsIDU2LCA1NywgMjQ0LCA0NywgNTYsIDU3LCAyNDQsIDE3NCwgNTYsIDU3LCAyNDQsIDExMCwgNTYsIDU3LCAyNDQsIAorICAgIDIzNywgNTYsIDU3LCAyNDQsIDc4LCA1NiwgNTcsIDI0NCwgMjA1LCA1NiwgNTcsIDI0NCwgMTQxLCA1NiwgNTcsIDI0NSwgCisgICAgMTIsIDU2LCA1NywgMjQ0LCAyMywgNTYsIDU3LCAyNDQsIDE1MCwgNTYsIDU3LCAyNDQsIDg2LCA1NiwgNTcsIDI0NCwgMjEzLCAKKyAgICA1NiwgNTcsIDI0NCwgNTQsIDU2LCA1NywgMjQ0LCAxODEsIDU2LCA1NywgMjQ0LCAxMTcsIDU2LCA1NywgMjQ0LCAyNDQsIAorICAgIDU2LCA1NywgMjQ0LCAzOCwgNTYsIDU3LCAyNDQsIDE2NSwgNTYsIDU3LCAyNDQsIDEwMSwgNTYsIDU3LCAyNDQsIDIyOCwgCisgICAgNTYsIDU3LCAyNDQsIDY5LCA1NiwgNTcsIDI0NCwgMTk2LCA1NiwgNTcsIDI0NCwgMTMyLCA1NiwgNTcsIDI0NSwgMywgNTYsIAorICAgIDU3LCAyNDQsIDMwLCA1NiwgNTcsIDI0NCwgMTU3LCA1NiwgNTcsIDI0NCwgOTMsIDU2LCA1NywgMjQ0LCAyMjAsIDU2LCA1NywgCisgICAgMjQ0LCA2MSwgNTYsIDU3LCAyNDQsIDE4OCwgNTYsIDU3LCAyNDQsIDEyNCwgNTYsIDU3LCAyNDQsIDI1MSwgNTYsIDU3LCAKKyAgICAyNDQsIDQ1LCA1NiwgNTcsIDI0NCwgMTcyLCA1NiwgNTcsIDI0NCwgMTA4LCA1NiwgNTcsIDI0NCwgMjM1LCA1NiwgNTcsIAorICAgIDI0NCwgNzYsIDU2LCA1NywgMjQ0LCAyMDMsIDU2LCA1NywgMjQ0LCAxMzksIDU2LCA1NywgMjQ1LCAxMCwgNTYsIDU3LCAKKyAgICAyNDQsIDI2LCA1NiwgNTcsIDI0NCwgMTUzLCA1NiwgNTcsIDI0NCwgODksIDU2LCA1NywgMjQ0LCAyMTYsIDU2LCA1NywgCisgICAgMjQ0LCA1NywgNTYsIDU3LCAyNDQsIDE4NCwgNTYsIDU3LCAyNDQsIDEyMCwgNTYsIDU3LCAyNDQsIDI0NywgNTYsIDU3LCAKKyAgICAyNDQsIDQxLCA1NiwgNTcsIDI0NCwgMTY4LCA1NiwgNTcsIDI0NCwgMTA0LCA1NiwgNTcsIDI0NCwgMjMxLCA1NiwgNTcsIAorICAgIDI0NCwgNzIsIDU2LCA1NywgMjQ0LCAxOTksIDU2LCA1NywgMjQ0LCAxMzUsIDU2LCA1NywgMjQ1LCA2LCA1NiwgNTcsIDI0NCwgCisgICAgMzMsIDU2LCA1NywgMjQ0LCAxNjAsIDU2LCA1NywgMjQ0LCA5NiwgNTYsIDU3LCAyNDQsIDIyMywgNTYsIDU3LCAyNDQsIDY0LCAKKyAgICA1NiwgNTcsIDI0NCwgMTkxLCA1NiwgNTcsIDI0NCwgMTI3LCA1NiwgNTcsIDI0NCwgMjU0LCA1NiwgNTcsIDI0NCwgNDgsIAorICAgIDU2LCA1NywgMjQ0LCAxNzUsIDU2LCA1NywgMjQ0LCAxMTEsIDU2LCA1NywgMjQ0LCAyMzgsIDU2LCA1NywgMjQ0LCA3OSwgCisgICAgNTYsIDU3LCAyNDQsIDIwNiwgNTYsIDU3LCAyNDQsIDE0MiwgNTYsIDU3LCAyNDUsIDEzLCA4NiwgMjEwLCAxMDgsIDUxLCAyLCAKKyAgICA3OSwgOTEsIDg2LCAyMTAsIDEwOCwgNTEsIDIsIDUwLCA3OSwgOTEsIDkyLCA1MCwgNTEsIDIsIDc5LCA5MSwgODYsIDUwLCAKKyAgICA1MSwgMiwgNzksIDkxLCA0NywgNDgsIDUwLCA1MSwgMiwgNzksIDkxLCA4NiwgMjEwLCAxMDgsIDUxLCAyNDEsIDk4LCAxMzQsIAorICAgIDkyLCA1MCwgNTEsIDI0MSwgOTgsIDEzNCwgODYsIDUwLCA1MSwgMjQxLCA5OCwgMTM0LCAxNzMsIDUxLCAyLCAxOTQsIDkxLCAKKyAgICAxNjcsIDUxLCAyLCAxOTQsIDkxLCAxNjcsIDIxMSwgMzYsIDQ1LCAxNzMsIDIxMSwgMzYsIDQ1LCA5MiwgNTAsIDI0NiwgNzksIAorICAgIDQ1LCA4NiwgNTAsIDI0NiwgNzksIDQ1LCA5MiwgMjExLCAzNiwgMjQ2LCA3OSwgNDUsIDg2LCAyMTEsIDM2LCAyNDYsIDc5LCAKKyAgICA0NSwgODYsIDIxMCwgMTA4LCAyMTEsIDM2LCAyNDYsIDc5LCA0NSwgODYsIDUxLCAyLCAyNDQsIDIxLCAyMTQsIDksIDE2NywgCisgICAgNTEsIDIxMSwgMTMwLCAxMzQsIDE3MywgNTEsIDIxMSwgMTMwLCAxMzQsIDg2LCA1MSwgMiwgMjEyLCAxOTIsIDIsIDc5LCAKKyAgICA5MSwgODYsIDUxLCAyLCAyMTIsIDE5MiwgMiwgNTAsIDc5LCA5MSwgODYsIDIxMCwgMTA4LCA1MSwgMiwgMjEyLCAxOTEsIAorICAgIDg2LCAyMTAsIDEwOCwgNTEsIDIsIDIxMiwgMTkyLCAyLCA3OSwgOTEsIDg2LCAyMTAsIDEwOCwgNTEsIDIsIDIxMiwgMTkyLCAKKyAgICAyLCA1MCwgNzksIDkxLCA5MiwgMjUxLCAyNDUsIDg2LCAyNTEsIDI0NSwgOTIsIDUwLCAyNTEsIDI0NSwgODYsIDUwLCAyNTEsIAorICAgIDI0NSwgOTIsIDUxLCAyMTEsIDEzMCwgNjAsIDI0NSwgMTU2LCA4NiwgNTEsIDIxMSwgMTMwLCA2MCwgMjQ1LCAxNTYsIDkyLCAKKyAgICA1MSwgMjQxLCA5OCwgMjUwLCAxMjksIDIxMSwgMTMwLCA2MCwgMjQ1LCAxNTYsIDg2LCA1MSwgMjQxLCA5OCwgMjUwLCAxMjksIAorICAgIDIxMSwgMTMwLCA2MCwgMjQ1LCAxNTYsIDE0MywgMjA3LCAzNiwgMjMsIDE4OCwgMjQzLCAxMTcsIDQ1LCAxNDMsIDI0MywgCisgICAgMTE3LCAyMywgMTg4LCAyMDcsIDM2LCA0NSwgMTQzLCAyMDcsIDM2LCA1MSwgMiwgMTA5LCAxNDMsIDI0MywgMTE3LCA1MSwgCisgICAgMiwgMTA5LCAxODgsIDI0MywgMTE3LCA1MSwgMiwgMTA5LCAxODgsIDIwNywgMzYsIDUxLCAyLCAxMDksIDE0MywgMjA3LCAKKyAgICAzNiwgNTEsIDIzLCAxNDMsIDI0MywgMTE3LCA0NSwgMTQzLCAyNDMsIDExNywgNTEsIDIzLCAxODgsIDI0MywgMTE3LCA0NSwgCisgICAgMTg4LCAyNDMsIDExNywgNTEsIDIzLCAxODgsIDIwNywgMzYsIDQ1LCAxODgsIDIwNywgMzYsIDUxLCAyMywgMTQzLCAyMDcsIAorICAgIDM2LCA0NSwgMjE4LCAxNDIsIDI0NSwgMTYzLCAyNDcsIDU0LCAyNDIsIDUwLCAyNDUsIDE2MiwgMjQyLCA1MCwgMjQ1LCAKKyAgICAxNjMsIDI0NywgNTQsIDIxOCwgMTQyLCAyNDUsIDE2MiwgMTg4LCAyNDMsIDExNywgNTEsIDI0NywgNTQsIDE0MywgMjQzLCAKKyAgICAxMTcsIDQ1LCAxNDMsIDI0MywgMTE3LCA1MSwgMjQ3LCA1NCwgMTg4LCAyNDMsIDExNywgNDUsIDI0MiwgNTAsIDI0NSwgCisgICAgMTYzLCAyNDcsIDU0LCAxNDMsIDI0MywgMTE3LCA0NSwgMjE4LCAxNDIsIDI0NSwgMTYzLCAyNDcsIDU0LCAxODgsIDI0MywgCisgICAgMTE3LCA0NSwgMTQzLCAyNDMsIDExNywgNTEsIDI0NywgNTQsIDE0MywgMjA3LCAzNiwgNDUsIDE0MywgMjA3LCAzNiwgNTEsIAorICAgIDI0NywgNTQsIDE0MywgMjQzLCAxMTcsIDQ1LCAyMDcsIDY1LCA1MSwgMjIwLCAyMDEsIDI0NSwgMTAyLCAyMTgsIDE2NywgCisgICAgNTEsIDIyMCwgMjAxLCA4NiwgMjEyLCAzMywgMjQ3LCAxNywgMjA5LCAxOTYsIDUxLCAyMjAsIDIwMSwgODYsIDIxMiwgMzMsIAorICAgIDI0NywgMTcsIDI0NCwgNiwgNTEsIDIyMCwgMjAxLCAxNzMsIDIxMiwgMzMsIDI0NywgMTcsIDIzMCwgMzYsIDUxLCAyMjAsIAorICAgIDIwMSwgMTczLCAyMTIsIDMzLCAyNDcsIDE3LCAyMTgsIDE1NiwgMjE4LCAxNTksIDI1MiwgMjIsIDI0NywgMTk0LCA0NSwgCisgICAgMjMwLCAzOSwgMjUyLCAyMiwgMjUyLCA4NywgNDUsIDIxMSwgMTAyLCAyNTIsIDIyLCAyNTIsIDg3LCA0NSwgMjQ5LCAxNTQsIAorICAgIDI1MiwgMjIsIDI1MiwgODcsIDQ1LCAyMTEsIDEwMiwgMjUyLCAyMiwgMjQ3LCAxOTQsIDUxLCAyLCAyMjYsIDIwMSwgMjExLCAKKyAgICAxMDIsIDI1MiwgMjIsIDI1MiwgODcsIDUxLCAyLCAyMjAsIDIxOCwgMjI5LCA5MiwgNDgsIDIxNiwgNTQsIDI0NywgMTk0LCAKKyAgICA0NSwgMjI5LCA5MiwgNDcsIDIxNiwgNTQsIDI1MiwgODcsIDQ1LCAyNTIsIDg3LCAyNDcsIDE5MiwgMjQ3LCAyMzQsIDQ1LCAKKyAgICAyNDcsIDE5NCwgMjQ3LCAxOTIsIDI0NywgMjM0LCA0NSwgODYsIDUxLCA4NCwgMjE1LCAxNDQsIDkyLCA0NSwgOTIsIDUxLCAKKyAgICA4NCwgMjE1LCAxNDQsIDg2LCA0NSwgMjE1LCAxNDQsIDg2LCA1MSwgODQsIDkyLCA0NSwgODYsIDUxLCAyLCAxMDEsIDU1LCAKKyAgICA5MiwgNTEsIDIsIDEwMSwgNTUsIDg2LCA1MSwgMjExLCAyMzMsIDIwNiwgMTk1LCA0NywgNDgsIDUxLCAyMTEsIDIzMywgNSwgCisgICAgMjQ3LCAyMzMsIDE2NywgMjEwLCAxMDgsIDUxLCAyNDEsIDk4LCA1LCAyNDcsIDIzMywgNDcsIDEzOCwgMTIwLCA0OCwgMTM4LCAKKyAgICAxMzAsIDIzOSwgODksIDQ3LCAxMzgsIDEzMCwgNDgsIDEzOCwgMTIwLCAyMzksIDg5LCAxMjAsIDEzOCwgNDgsIDEzMCwgCisgICAgMTM4LCA0NywgMjM5LCA4OSwgMTIwLCAxMzgsIDQ3LCAxMzAsIDEzOCwgNDgsIDIzOSwgODksIDQ3LCAxMzgsIDEyMCwgNDgsIAorICAgIDEzOCwgMTIwLCAyMzksIDg5LCAxMjAsIDEzOCwgNDgsIDEzMCwgMTM4LCA0OCwgMjM5LCA4OSwgNDcsIDEzOCwgMTMwLCA0OCwgCisgICAgMTM4LCAxMzAsIDIzOSwgODksIDEyMCwgMTM4LCA0NywgMTMwLCAxMzgsIDQ3LCAyMzksIDg5LCA5MiwgMjM5LCA5MCwgMiwgCisgICAgMTM4LCAxMjAsIDIxMSwgMTMwLCAxMzQsIDg2LCAyMzksIDkwLCAyLCAxMzgsIDEyMCwgMjExLCAxMzAsIDEzNCwgMTY3LCAKKyAgICAyMzksIDkwLCAyLCAxMzgsIDQ4LCAyMTEsIDEzMCwgMTM0LCAxNzMsIDIzOSwgOTAsIDIsIDEzOCwgNDgsIDIxMSwgMTMwLCAKKyAgICAxMzQsIDkyLCAyMzksIDkwLCAyLCAxMzgsIDEzMCwgMjExLCAxMzAsIDEzNCwgODYsIDIzOSwgOTAsIDIsIDEzOCwgMTMwLCAKKyAgICAyMTEsIDEzMCwgMTM0LCAxNjcsIDIzOSwgOTAsIDIsIDEzOCwgNDcsIDIxMSwgMTMwLCAxMzQsIDE3MywgMjM5LCA5MCwgMiwgCisgICAgMTM4LCA0NywgMjExLCAxMzAsIDEzNCwgOTIsIDIzOSwgOTAsIDIsIDEzOCwgMTIwLCAyNDEsIDk4LCAxMzQsIDg2LCAyMzksIAorICAgIDkwLCAyLCAxMzgsIDEyMCwgMjQxLCA5OCwgMTM0LCAxNjcsIDIzOSwgOTAsIDIsIDEzOCwgNDgsIDI0MSwgOTgsIDEzNCwgCisgICAgMTczLCAyMzksIDkwLCAyLCAxMzgsIDQ4LCAyNDEsIDk4LCAxMzQsIDkyLCAyMzksIDkwLCAyLCAxMzgsIDEzMCwgMjQxLCAKKyAgICA5OCwgMTM0LCA4NiwgMjM5LCA5MCwgMiwgMTM4LCAxMzAsIDI0MSwgOTgsIDEzNCwgMTY3LCAyMzksIDkwLCAyLCAxMzgsIAorICAgIDQ3LCAyNDEsIDk4LCAxMzQsIDE3MywgMjM5LCA5MCwgMiwgMTM4LCA0NywgMjQxLCA5OCwgMTM0LCA5MiwgMjM5LCA5MCwgMiwgCisgICAgMTM4LCAxMjAsIDg0LCA5MiwgMjM5LCA5MCwgMiwgMTM4LCAyNDQsIDgsIDE2NywgMjM5LCA5MCwgMiwgMTM4LCA0NywgMjUwLCAKKyAgICAxMiwgMTY3LCAyMzksIDkwLCAyLCAxMzgsIDIxOCwgMTY3LCA4NiwgMjM5LCA5MCwgMiwgMTM4LCAxMjAsIDg0LCA4NiwgCisgICAgMjM5LCA5MCwgMiwgMTM4LCAyNDQsIDgsIDE3MywgMjM5LCA5MCwgMiwgMTM4LCA0NywgMjUwLCAxMiwgMTczLCAyMzksIDkwLCAKKyAgICAyLCAxMzgsIDIxOCwgMTY3LCA5MiwgMjM5LCA5MCwgMiwgMTM4LCAxMjAsIDg0LCA4NiwgMjM5LCA5MCwgMiwgMTM4LCAyMDksIAorICAgIDIwNiwgOTIsIDIzOSwgOTAsIDIsIDEzOCwgMTMwLCA4NCwgODYsIDIzOSwgOTAsIDIsIDEzOCwgMjQ0LCA4LCA4NiwgMjM5LCAKKyAgICA5MCwgMiwgMTM4LCAxMjAsIDg0LCA5MiwgMjM5LCA5MCwgMiwgMTM4LCAyMDksIDIwNiwgODYsIDIzOSwgOTAsIDIsIDEzOCwgCisgICAgMTMwLCA4NCwgOTIsIDIzOSwgOTAsIDIsIDEzOCwgMjQ0LCA4LCA5MiwgMjM5LCA5MCwgMiwgMTM4LCAxMjAsIDg0LCAxNTIsIAorICAgIDI0NiwgNzgsIDkyLCAyMzksIDkwLCAyLCAxMzgsIDEzMCwgMjUwLCAyNiwgMTUyLCAyNDYsIDc4LCA4NiwgMjM5LCA5MCwgMiwgCisgICAgMTM4LCAxMjAsIDg0LCAxNTIsIDI0NiwgNzgsIDg2LCAyMzksIDkwLCAyLCAxMzgsIDEzMCwgMjUwLCAyNiwgMTUyLCAyNDYsIAorICAgIDc4LCAxNjcsIDIzOSwgOTAsIDIsIDEzOCwgNDcsIDI1MCwgMTIsIDE3MywgMjM5LCA5MCwgMiwgMTM4LCAyMTgsIDE2NywgCisgICAgMTczLCAyMzksIDkwLCAyLCAxMzgsIDQ3LCAyNTAsIDEyLCAxNjcsIDIzOSwgOTAsIDIsIDEzOCwgMjE4LCAxNjcsIDQ4LCAKKyAgICA1MCwgNTEsIDIsIDIxOCwgOTMsIDIzOSwgNjgsIDI0MiwgMjQyLCAzLCA4NCwgODYsIDQ1LCAyMTEsIDE4MSwgMjIyLCAxMzMsIAorICAgIDg0LCA4NiwgNDUsIDkyLCA1MSwgODQsIDIxMSwgMTgxLCAyMjIsIDEzMiwgODYsIDUxLCA4NCwgMjExLCAxODEsIDIyMiwgCisgICAgMTMyLCA4NiwgNTEsIDg0LCAyNTIsIDE0OSwgMTQ2LCAxMjQsIDIzMCwgMTAsIDg0LCA5MiwgNDUsIDkyLCA1MSwgMjExLCAKKyAgICAyMzMsIDIzMCwgOSwgMjM5LCAyMzAsIDg0LCA4NiwgNDUsIDIxMywgMTgyLCA4NCwgODYsIDQ1LCA5MiwgNTEsIDIxMSwgCisgICAgMjMzLCAyMTMsIDE4MSwgMjEzLCAxMzgsIDg0LCA5MiwgNDUsIDQ3LCAyNDEsIDIxNCwgMjEyLCAxOTEsIDQ4LCAyNDEsIAorICAgIDIxNCwgMjEyLCAxOTEsIDEyMCwgMjQxLCAyMTQsIDIxMiwgMTkxLCAxMzAsIDI0MSwgMjE0LCAyMTIsIDE5MSwgMjExLCAzNiwgCisgICAgNzksIDI1MCwgMTI5LCAyNDUsIDIzMywgMjA1LCAxNjAsIDIyNCwgNDEsIDIxNCwgMTE2LCAyMDUsIDE2MCwgMjI0LCA0MSwgCisgICAgMjEwLCA5NSwgMjQ3LCAxNjIsIDQ3LCA1OSwgMjQ3LCAyNiwgMTQ1LCA0OCwgNTksIDI0NywgMjYsIDE0NSwgNDcsIDU5LCAKKyAgICAyMjEsIDIxNiwgNDgsIDU5LCAyMjEsIDIxNiwgMjA1LCAxNjAsIDIyNCwgNDEsIDQ3LCAyMzMsIDg0LCAxNDUsIDIwNSwgCisgICAgMTYwLCAyMjQsIDQxLCA0OCwgMjMzLCA4NCwgMTQ1LCAyMDUsIDE2MCwgMjI0LCA0MSwgNDcsIDI0OSwgMjIzLCAxNDUsIAorICAgIDIwNSwgMTYwLCAyMjQsIDQxLCA0OCwgMjQ5LCAyMjMsIDE0NSwgNDcsIDQ5LCAyNDksIDEzNCwgMiwgMjA5LCAyMjYsIDQ4LCAKKyAgICA0OSwgMjQ5LCAxMzQsIDIsIDIwOSwgMjI2LCA0NywgNDksIDI0OSwgMTM0LCAyLCAyMTEsIDIwOCwgMjMzLCA2OSwgMjExLCAKKyAgICAxMDIsIDI0NywgOTEsIDQ4LCA0OSwgMjQ5LCAxMzQsIDIsIDIxMSwgMjA4LCAyMzMsIDY5LCAyNDksIDE1NCwgMjQ3LCA5MSwgCisgICAgNDcsIDQ5LCAyNDksIDEzNCwgMiwgMjExLCAyMDgsIDIzMywgNjksIDI0OSwgMTU0LCAyNDcsIDkxLCA0OCwgNDksIDI0OSwgCisgICAgMTM0LCAyLCAyMTEsIDIwOCwgMjMzLCA2OSwgMjExLCAxMDIsIDI0NywgOTEsIDQ3LCAyNTIsIDEwOSwgMjQ5LCAxMzQsIDIsIAorICAgIDI0NSwgMjMsIDQ4LCAyNTIsIDEwOSwgMjQ5LCAxMzQsIDIsIDI0NSwgMjMsIDQ3LCAyNTIsIDIyLCAyMzAsIDEwLCAxNDUsIAorICAgIDQ4LCAyNTIsIDIyLCAyMzksIDIzMCwgMTQ1LCA1MCwgNDcsIDI1MiwgMjIsIDIzOSwgMjMwLCAxNDUsIDUwLCA0OCwgMjUyLCAKKyAgICAyMiwgMjMwLCAxMCwgMTQ1LCA0NywgNjAsIDIxMSwgOTMsIDIxNSwgMjA0LCAxNDUsIDQ4LCA2MCwgMjExLCA5MywgMjE1LCAKKyAgICAyMDQsIDE0NSwgMjQ0LCAyMSwgMjQyLCA4LCA3OSwgMjA1LCAzMSwgMjI5LCAyMDUsIDIyNywgMTE2LCAyNTIsIDEwOSwgCisgICAgMjIyLCAxMzUsIDIzMCwgNDYsIDQ4LCAyNTIsIDEwOSwgMjA5LCA1MywgMiwgMjE0LCAxMDcsIDIyNywgMTE2LCA0OCwgMjUyLCAKKyAgICAxMDksIDIsIDI0NSwgMjMsIDI1MiwgMTA5LCAyLCAyMTgsIDEsIDIzMywgMjUsIDI1MywgOSwgMjUyLCAxMDgsIDIxNCwgCisgICAgMTMzLCAyNTIsIDEwOSwgMjIyLCAxMzUsIDIzMCwgNDYsIDIxNCwgMTMzLCAyNTIsIDEwOSwgMjIyLCAxMzUsIDIwOSwgMjA2LCAKKyAgICAyMDEsIDI1MiwgMTA4LCAyMTgsIDIyNCwgMjUyLCAxMDgsIDI1MiwgMTA5LCAyLCAyMDksIDIyNiwgMjE4LCAyMjQsIDI1MiwgCisgICAgMTA5LCAyLCAyMDksIDIyNiwgMjIyLCAyMjIsIDI1MiwgMTA5LCAyMjIsIDEzNSwgMjA5LCAyMDYsIDIyMiwgMjIyLCAyNTIsIAorICAgIDEwOSwgMjIyLCAxMzUsIDI0NCwgOCwgMjI3LCAxMTYsIDI1MiwgMTA5LCAyLCAyMjIsIDE0MiwgMjUyLCAwLCAyNDMsIDMxLCAKKyAgICAyMzMsIDY5LCA1MSwgMjIwLCAyMDEsIDEyMCwgMjMsIDIxOCwgMTY3LCAyMjcsIDExNiwgMjUyLCAxMDksIDIsIDIyMiwgCisgICAgMTQyLCAyNTIsIDAsIDI0MywgMzEsIDIzMywgNjksIDUxLCAyMjAsIDIwMSwgMTIwLCAyMywgMjMwLCA0NiwgMjI3LCAxMTYsIAorICAgIDI1MiwgMTA5LCAyLCAyMjIsIDE0MiwgMjUyLCAwLCAyNDMsIDMxLCAyMzMsIDY5LCA1MSwgMjIwLCAyMDEsIDEzMCwgMjMsIAorICAgIDIxOCwgMTY3LCAyMjcsIDExNiwgMjUyLCAxMDksIDIsIDIyMiwgMTQyLCAyNTIsIDAsIDI0MywgMzEsIDIzMywgNjksIDUxLCAKKyAgICAyMjAsIDIwMSwgMTMwLCAyMywgMjMwLCA0NiwgMjI3LCAxMTYsIDI1MiwgMTA5LCAyLCAyMjIsIDE0MiwgMjUyLCAwLCAyNDMsIAorICAgIDMxLCAyMzMsIDY5LCA1MSwgMjIwLCAyMDEsIDQ4LCAyMywgMjA5LCAyMDYsIDIyNywgMTE2LCAyNTIsIDEwOSwgMiwgMjIyLCAKKyAgICAxNDIsIDI1MiwgMCwgMjQzLCAzMSwgMjMzLCA2OSwgNTEsIDIyMCwgMjAxLCA0NywgMjMsIDIwOSwgMjA2LCAyMjcsIDExNiwgCisgICAgMjUyLCAxMDksIDIsIDIyMiwgMTQyLCAyNTIsIDAsIDI0MywgMzEsIDIzMywgNjksIDUxLCAyMjAsIDIwMSwgNDgsIDIzLCAKKyAgICAyNDQsIDgsIDIyNywgMTE2LCAyNTIsIDEwOSwgMiwgMjIyLCAxNDIsIDI1MiwgMCwgMjQzLCAzMSwgMjMzLCA2OSwgNTEsIAorICAgIDIyMCwgMjAxLCA0NywgMjMsIDI0NCwgOCwgMjE4LCAyMjQsIDI0MywgNDMsIDIxNiwgMjgsIDI0MywgNDMsIDIxNiwgMjksIAorICAgIDIsIDIyMiwgODYsIDI0MywgNDMsIDIxNiwgMjksIDIsIDUsIDI0NywgMjM0LCA1MiwgMjQzLCA0MywgMjE2LCAyOSwgMiwgCisgICAgNDgsIDUxLCA1MiwgMjQzLCA0MywgMjE2LCAyOSwgMiwgNDcsIDUxLCA1MiwgMjQ3LCAyMzQsIDIsIDE5NCwgMTM0LCAzOSwgCisgICAgNzksIDEzNCwgMzksIDIyMSwgMjIxLCAzOSwgMjE4LCAyMjUsIDIxNCwgMTgwLCAzOSwgMjIxLCAxMTgsIDI0NywgMjM0LCAKKyAgICAyNDUsIDgwLCAyNDksIDQ2LCAxOTQsIDI1MCwgMTI5LCAyMywgMjExLCAxMDIsIDE2MCwgMjQ1LCA4MCwgMjQ5LCA0NiwgNzksIAorICAgIDEzNCwgMjQ3LCAyMzQsIDIsIDIxMywgMTQwLCAyMDYsIDE5NSwgMzksIDI1MiwgODUsIDI0NSwgNzUsIDUzLCAxMjAsIDUxLCAKKyAgICAyMTEsIDIzMywgMjQ3LCAyMzMsIDM5LCA1OSwgMjQ5LCA4NSwgMzksIDI0OSwgODUsIDM5LCAyMzAsIDksIDM5LCAyMzksIAorICAgIDIyOSwgMjQ3LCAyMzQsIDIsIDUsIDI0NywgMjM0LCAyMTEsIDEzMCwgMjEyLCA0MiwgMjE4LCAxNjcsIDI0NywgMjM0LCAyLCAKKyAgICAxMTgsIDE5NCwgMjEzLCAyMTMsIDIxMSwgMTMwLCAyMTIsIDQyLCAyMTgsIDE2NywgOTgsIDIxOCwgMTQyLCAyNDUsIDE2MywgCisgICAgMjE0LCAyMzUsIDk4LCAyNDIsIDUwLCAyNDUsIDE2MywgMjE0LCAyMzUsIDk4LCAyNTEsIDIwOSwgOTgsIDUsIDI0NywgMjMzLCAKKyAgICA5OCwgMjE0LCAxMDcsIDExOCwgMjMyLCAxMTksIDIxNCwgMTA1LCAyMTEsIDUyLCAyLCA2NywgNTIsIDIxMSwgNTIsIDIsIAorICAgIDIwOSwgMjI2LCAyMTgsIDEsIDIzMywgNjksIDIxMSwgNTEsIDIxMSwgNTIsIDIsIDIxNiwgMzUsIDI1MSwgMjAwLCAyNDksIAorICAgIDE1MywgNDgsIDIxMSwgNTIsIDg0LCA0NywgMjExLCA1MSwgNDcsIDIxMSwgNTIsIDI1MCwgMTIsIDc5LCAxMzQsIDc5LCAKKyAgICAyNTAsIDEyOSwgMjUwLCAxMiwgNDgsIDIxMSwgNTEsIDI0OSwgMTQyLCAyLCA0NywgMTYwLCAyNDksIDIwMiwgMjQ5LCAxNDIsIAorICAgIDIsIDQ4LCAxNjAsIDI0OSwgMjAyLCA2MCwgMjQ5LCAxNDEsIDI5LCAyLCA0NywgMTYwLCAyNDksIDIwMiwgMjksIDIsIDQ4LCAKKyAgICAxNjAsIDI0OSwgMjAyLCA1OSwgMjM4LCA1NiwgNjAsIDIzOCwgNTYsIDQ3LCAyMDcsIDE0LCAyNDIsIDgsIDQ4LCAyMDcsIAorICAgIDE0LCAyNDIsIDgsIDQ3LCA1MCwgMjA3LCAxNCwgMjQyLCA4LCA0OCwgNTAsIDIwNywgMTQsIDI0MiwgOCwgMjMzLCA2MSwgCisgICAgMjMzLCA0NSwgMjExLCAyMDQsIDEzMSwgMjMzLCA0NSwgMjMzLCA0NiwgMjI1LCAxMDUsIDIsIDc5LCAxMzQsIDI0NCwgMTUsIAorICAgIDIyNiwgOTcsIDQ5LCAyLCAyNDcsIDExMiwgMjIyLCA5MCwgMjMzLCA1OCwgMjUxLCAyMzEsIDIxNSwgMTEwLCAyMjAsIDExNSwgCisgICAgMjQyLCAyNDIsIDMsIDIzLCAyMTQsIDIzNywgMjIxLCAyMjEsIDI0MiwgMjQyLCAzLCAyMywgMjE0LCAyMzcsIDIyMSwgMjIyLCAKKyAgICAyLCAyMTEsIDE4MSwgNTIsIDIzNywgMTczLCAyMTEsIDEzMCwgMjMsIDIxNCwgMjM3LCAyMjEsIDIyMSwgMjQwLCAyOCwgCisgICAgMjE0LCAyNSwgMjEyLCAzMCwgMjQ0LCA3LCAyMTEsIDUyLCAyLCA0NywgMTYwLCAyNDksIDIwMiwgMjQ0LCA3LCAyMTEsIDUyLCAKKyAgICAyLCA0OCwgMTYwLCAyNDksIDIwMiwgNjAsIDI0NSwgMTU3LCAyLCAxMzAsIDQ1LCA2MCwgMjI5LCA4OCwgNTksIDI0NywgCisgICAgMjM0LCAyLCAxMzAsIDQ1LCA2MCwgMjQ3LCAyMzQsIDIsIDEzMCwgNDUsIDI0MiwgMjI4LCA1OSwgMjE0LCAxMDcsIDI0MiwgCisgICAgMjI4LCA2MCwgMjE0LCAxMDcsIDI0MiwgMjI4LCA1OSwgMjQ1LCAxNTYsIDI0MiwgMjI4LCA2MCwgMjQ1LCAxNTYsIDI0MiwgCisgICAgMjI4LCA1OSwgMjQ3LCAyMzMsIDI0MiwgMjI4LCA2MCwgMjQ3LCAyMzMsIDIxOCwgNDEsIDIxOCwgMjI1LCAyMTQsIDE4MSwgCisgICAgMjIyLCAxMzIsIDIxNCwgMTgxLCAyLCAyMjIsIDg2LCAyMTgsIDIyNSwgMjE0LCAxODEsIDIsIDE5NCwgOTEsIDI0OSwgMjMxLCAKKyAgICAyMTQsIDE4MCwgMjQ5LCAyMzEsIDIxOCwgMjI1LCAyMTQsIDE4MCwgNTAsIDIyMCwgMjE4LCAyMTEsIDM2LCAyMjAsIDIxOCwgCisgICAgMjMwLCA0MSwgMjQ3LCAxOCwgMjUyLCAxMDksIDE0NSwgMjE4LCAxNjIsIDI0NywgMTgsIDI1MiwgMTA5LCAxNDUsIDIxMSwgCisgICAgMTY4LCAyMjYsIDE5OSwgMjI2LCAzMiwgMzksIDY3LCAyMjIsIDEzMiwgMjI2LCAzMiwgMzksIDEwMSwgMjIyLCAxMzIsIAorICAgIDIyNiwgMzIsIDM5LCAyOSwgMjIyLCAxMzIsIDIyNiwgMzIsIDIwOSwgMjE5LCAyMjIsIDEzMywgMiwgMjQ1LCAyMywgMjI2LCAKKyAgICAzMiwgMjA5LCAyMTksIDIyMiwgMTMzLCAyLCAyMjAsIDIxOCwgMjI2LCAzMiwgNDksIDIzMywgOCwgMjIyLCAxMzIsIDIyNiwgCisgICAgMzIsIDQ5LCAyMDksIDIxOSwgMjIyLCAxMzIsIDExOCwgMjI5LCAxMzQsIDIzLCAyMjIsIDEzMiwgMTE4LCAyMjksIDEzNCwgCisgICAgMjIyLCAxMjMsIDIyMiwgMTMyLCAyMjYsIDMyLCAyOSwgMjIyLCAxMzIsIDIyNiwgMTcyLCAxMTgsIDIxMywgMTYwLCAyMTMsIAorICAgIDE1OCwgMiwgMjMzLCAyMSwgMjE5LCAyMDcsIDIzMywgMjIsIDIyMiwgMTMyLCAyNDEsIDIyMiwgMjIxLCAyMTEsIDIzMywgCisgICAgMjEsIDIzMywgMjIsIDIsIDUwLCA5MSwgMjMzLCAyMiwgMjUxLCAxNjUsIDIsIDIxNCwgMjM1LCAyNDcsIDIyOSwgMjQxLCAKKyAgICA3OSwgMjUyLCA4NywgMjMzLCAxOSwgMjI5LCAyMDYsIDIzMywgMjAsIDIsIDIxOSwgMzYsIDIyMSwgMTkyLCAyNTEsIDI1MywgCisgICAgMjIwLCAxOTUsIDIyOSwgMjA2LCAyMzMsIDIwLCAyLCAyMTYsIDU0LCAyMjEsIDE5MiwgMjUxLCAyNTMsIDIyMCwgMTk1LCAKKyAgICAyMjksIDIwNiwgMjMzLCAyMCwgMjI0LCA0MywgMjMzLCA2MywgMjEyLCA0MiwgMjIwLCAxOTUsIDIzMywgMjIsIDI1MSwgCisgICAgMjUzLCAzMiwgMjIwLCAyMDUsIDIyMiwgMTMyLCAyMTksIDIwMSwgMjMzLCAyMiwgMjIyLCAxMzIsIDIzMywgMjIsIDIsIDkyLCAKKyAgICA1MSwgMiwgMTA5LCAyMzMsIDIyLCAyLCAyOSwgNTMsIDIzMywgMjIsIDIsIDIzMywgNywgMjMzLCAyMiwgMiwgMjA5LCAyMTgsIAorICAgIDIzMywgMjIsIDIsIDIyMiwgODYsIDIzMywgMjIsIDIsIDIwOSwgMjI2LCAyMzIsIDEyMCwgMjMwLCA4NiwgNDcsIDIxMSwgCisgICAgNTIsIDIyMiwgMTMyLCAyMDUsIDE2MCwgMjI0LCA0MSwgMjE3LCAxMDYsIDI0NywgMTQ1LCAyMDUsIDE2MCwgMjI0LCA0MSwgCisgICAgMjE3LCAxMDYsIDIyMSwgMCwgMjA1LCAxNjAsIDIyNCwgNDEsIDIxNywgMTA2LCAyMjAsIDExMCwgMTAxLCAzLCAyLCA1LCAKKyAgICAyNDcsIDIzNCwgNTIsIDEwMSwgMywgMiwgMjQ3LCAyMjgsIDI1MywgMjIsIDUyLCAxMDEsIDMsIDIsIDIxMSwgMTgxLCA1MiwgCisgICAgMTAxLCAzLCAyLCA2NywgNTUsIDEwMSwgMywgMiwgMjExLCAxODEsIDU1LCAxMDEsIDMsIDIsIDIxMywgMTgzLCAxMDUsIAorICAgIDEwMSwgMywgMiwgNjAsIDIxMSwgNTEsIDIyNiwgMjAyLCAzLCAyLCAyNDcsIDE1NiwgNTIsIDIyNiwgMjAyLCAzLCAyLCA2NywgCisgICAgNTUsIDIyNiwgMjAyLCAzLCAyLCAyNDIsIDUwLCAyNDUsIDIxLCAyMjYsIDIwMiwgMywgMiwgMjE4LCAxNDIsIDI0NSwgMjEsIAorICAgIDEwMSwgMywgMjMzLCA2OSwgNDcsIDE2MCwgMjQ3LCAyMzMsIDEwMSwgMywgMjMzLCA2OSwgNDgsIDE2MCwgMjQ3LCAyMzMsIAorICAgIDIwOSwgMzgsIDIyMiwgMTIzLCAyNDcsIDYwLCAyMjAsIDExNSwgMjI2LCA5NCwgMywgMiwgNjcsIDUyLCAyMjYsIDk0LCAzLCAKKyAgICAyLCAyMDksIDIyNiwgMjE2LCA1MSwgMjIwLCAxMTYsIDIsIDI0OSwgMTU0LCAyNDcsIDE5MSwgMjE0LCAyMTMsIDIyMCwgCisgICAgMTE1LCAyMjYsIDk0LCAzLCAyMzMsIDY5LCA0NywgMTYwLCAyNDcsIDIzMywgMjI2LCA5NCwgMywgMjMzLCA2OSwgNDgsIAorICAgIDE2MCwgMjQ3LCAyMzMsIDM5LCAyMjYsIDk0LCAzLCAyLCAyNDcsIDIyOCwgMjUzLCAyMSwgMjI2LCA5NCwgMywgMjMzLCA2OSwgCisgICAgNTAsIDI0NywgMjMzLCAzOSwgMjQ1LCA3NSwgNTMsIDEwMSwgMywgMjMzLCA2OSwgMjExLCA1MSwgMjI2LCAyMDIsIDMsIAorICAgIDIzMywgNjksIDIxMSwgNTEsIDIyNiwgOTQsIDMsIDIzMywgNjksIDIxMSwgNTEsIDIzMywgMTYsIDIyMCwgMTE1LCAyMTgsIAorICAgIDE1NywgMjMzLCAxNiwgMjIwLCAxMTUsIDIwNSwgMTYwLCAyMjQsIDQxLCAyMTksIDEwLCAyNDcsIDE0NSwgMjUyLCAxMzQsIAorICAgIDIyMiwgMTIzLCAyNDcsIDk2LCAyMzMsIDgsIDIsIDI0NSwgMjMsIDIwOSwgMjE5LCAyLCAyMjYsIDIwMiwgNTMsIDIwOSwgCisgICAgMjE5LCAyLCAyMjIsIDg2LCAyMzMsIDgsIDIsIDIyMiwgODYsIDIzMywgOCwgMiwgMjI5LCAxMzQsIDI1MiwgMTE3LCAyMDksIAorICAgIDIxOSwgMiwgMjI5LCAxMzQsIDIyMiwgMTIyLCAyMDksIDIxOSwgODQsIDIzMywgNywgMjMzLCA4LCA4NCwgMjA5LCAyMTgsIAorICAgIDIwOSwgMjE5LCA4NCwgMjUwLCAxMjksIDg0LCAyMzMsIDcsIDIzMywgOCwgODQsIDI1MCwgMTI5LCA4NCwgMjA5LCAyMTgsIAorICAgIDIwOSwgMjE5LCAyNTAsIDEyLCAyMywgMjMyLCAxMTksIDIsIDIwOSwgMjE4LCAyMzMsIDgsIDI1MCwgMTIsIDIzLCAyMzIsIAorICAgIDExOSwgMiwgMjMzLCA3LCAyNDcsIDE5MiwgMjA5LCAyMTksIDIsIDIxNiwgMzQsIDI0NywgMTkyLCAyMzMsIDgsIDIsIDIxNiwgCisgICAgMzQsIDUwLCA0OSwgMjMzLCA3LCA1MCwgNDksIDIwOSwgMjE4LCAyNDcsIDE5MiwgMjA5LCAyMTksIDIsIDIxNiwgMzUsIDIzLCAKKyAgICAyMTQsIDIxMywgMjIwLCAxMTUsIDIyOSwgMTM0LCAyMywgMiwgNjcsIDUyLCAyMjksIDEzNCwgMjIyLCAxMjMsIDIsIDY3LCAKKyAgICA1MiwgNTAsIDIyOSwgMTM0LCAyNTIsIDExNywgNTAsIDIyOSwgMTM0LCAyMjIsIDEyMiwgMTE4LCAyMzMsIDksIDIyOSwgCisgICAgMTM0LCAyNTIsIDExNywgMTE4LCAyMzMsIDksIDIyOSwgMTM0LCAyMjIsIDEyMiwgMjE0LCAyMjEsIDIzMCwgODYsIDIyMiwgCisgICAgMTIyLCAyMTQsIDIyMSwgMjMwLCA4NiwgMjUyLCAxMTcsIDIyOSwgMTM0LCAyMjIsIDEyMywgMjIyLCA4MywgMjI5LCAxMzQsIAorICAgIDI1MiwgMTE3LCAyMjksIDEzNCwgMjMsIDIsIDIyNiwgMjQ3LCAyMTQsIDksIDIyOSwgMTM0LCAyMjIsIDEyMywgMiwgMjI2LCAKKyAgICAyNDcsIDIxNCwgOSwgMjI5LCAxMzQsIDIzLCAyLCAxOTQsIDI0NiwgNzgsIDIyOSwgMTM0LCAyMjIsIDEyMywgMiwgMTk0LCAKKyAgICAyNDYsIDc4LCAyMjksIDEzNCwgMjMsIDIsIDUwLCAyMjIsIDg2LCAyMjksIDEzNCwgMjMsIDIsIDIwOSwgMjI2LCAyMjksIAorICAgIDEzNCwgMjMsIDIsIDUwLCAyMDksIDIyNiwgNSwgMjA5LCAzNSwgMiwgMjA5LCAyMjYsIDIyOSwgMTM0LCAyMjIsIDEyMywgMiwgCisgICAgNTAsIDIyMiwgODYsIDIyOSwgMTM0LCAyMjIsIDEyMywgMiwgNTAsIDIwOSwgMjI2LCAyMDUsIDE2MCwgMjI0LCA0MSwgMjQ1LCAKKyAgICAzMiwgMjUyLCA3NywgMjA1LCAxNjAsIDIyNCwgNDEsIDIxOSwgNzIsIDI1MiwgNzcsIDI0MiwgMjQyLCAzLCAyLCA2NywgNTUsIAorICAgIDIzNywgMTczLCAyLCA2NywgNTIsIDIxMSwgMzYsIDE5NCwgMjUwLCAxMjksIDIsIDUwLCA3OSwgOTEsIDIxMSwgMzYsIDE5NCwgCisgICAgMjUwLCAxMjksIDIsIDIxMSwgMzYsIDc5LCA5MSwgMjExLCAxODEsIDIyMiwgMTMzLCAyLCA2NywgNTIsIDIxMSwgMTgxLCAKKyAgICAyMjIsIDEzMywgMiwgMjE4LCAxNDIsIDI0NSwgMjEsIDIxNSwgNDgsIDIyNiwgMjAyLCAyMTUsIDQ3LCAyNDcsIDEzMiwgMiwgCisgICAgNjcsIDUyLCAyNDIsIDI0MiwgMiwgMjUxLCAyMDksIDI1MiwgMTQ5LCAxNDYsIDIxMSwgMTMwLCAyLCAyNDcsIDIyOCwgMjUzLCAKKyAgICAyMSwgMjUyLCA0NCwgMTQ2LCAyMjIsIDEyMywgMTQ2LCAxMjQsIDI0MiwgMjQyLCAzLCA4NCwgMTAxLCA1MywgMTAxLCAzLCAKKyAgICA4NCwgMjQyLCAyNDIsIDUzLCAyNDIsIDI0MiwgMywgODQsIDIxMSwgMTgxLCAyMjIsIDEzMiwgNTAsIDI0NywgMTYzLCAyNDIsIAorICAgIDI0MywgMTE4LCAyNDcsIDEyNywgMjQyLCAyNDIsIDIxNSwgNjIsIDEyOSwgMjQ3LCAxMjcsIDI0MiwgMjQyLCAyMTUsIDYyLCAKKyAgICAyNDIsIDI0MiwgMywgMiwgMTE4LCAxNzcsIDg0LCAyMywgMTE4LCAxNzcsIDU1LCAyNDIsIDIzNywgMiwgMjQxLCAxMjUsIAorICAgIDE3NywgNTIsIDIzMCwgMTAsIDIsIDI0NywgMjM0LCAyMzMsIDI1LCAyMzksIDIzMCwgMiwgMjQ3LCAyMzQsIDIzMywgMjUsIAorICAgIDIzMCwgMTAsIDIsIDIxOSwgMTk2LCAxNDEsIDUyLCAyMzksIDIzMCwgMiwgMjE5LCAxOTYsIDE0MSwgNTIsIDIzMCwgMTAsIAorICAgIDIyMiwgMTIzLCAyMTQsIDIzNywgMTQ2LCAxMjQsIDIzOSwgMjMwLCAyMjIsIDEyMywgMjE0LCAyMzcsIDE0NiwgMTI0LCAKKyAgICAyMzAsIDEwLCAyMjIsIDEyMywgMjE0LCAyMzcsIDE0NiwgMjExLCAxMzAsIDIsIDY3LCAyMzMsIDI1LCAyMzksIDIzMCwgCisgICAgMjIyLCAxMjMsIDIxNCwgMjM3LCAxNDYsIDIxMSwgMTMwLCAyLCA2NywgMjMzLCAyNSwgMjMwLCAxMCwgMjIyLCAxMjMsIAorICAgIDIxNCwgMjM3LCAxNDYsIDIxMSwgMTMwLCAyLCA2NywgNTIsIDIzOSwgMjMwLCAyMjIsIDEyMywgMjE0LCAyMzcsIDE0NiwgCisgICAgMjExLCAxMzAsIDIsIDY3LCA1MiwgMjMwLCAxMCwgMjIyLCAxMjMsIDIxNCwgMjM3LCAxNDYsIDIxMSwgMTMwLCAyLCA2NywgCisgICAgODQsIDIxOCwgMTY3LCAyMzksIDIzMCwgMjIyLCAxMjMsIDIxNCwgMjM3LCAxNDYsIDIxMSwgMTMwLCAyLCA2NywgODQsIAorICAgIDIzMCwgNDYsIDIzMCwgMTAsIDIyMiwgMTIzLCAyNTIsIDQ1LCAyMzksIDIzMCwgMjIyLCAxMjMsIDI1MiwgNDUsIDIzMCwgCisgICAgMTAsIDIzLCAyMTUsIDM5LCAyMjQsIDQzLCAxNDYsIDEyNCwgMjM5LCAyMzAsIDIzLCAyMTUsIDM5LCAyMjQsIDQzLCAxNDYsIAorICAgIDEyNCwgMjMwLCAxMCwgMjMsIDIyNCwgNDMsIDI1MiwgNDUsIDIzOSwgMjMwLCAyMywgMjI0LCA0MywgMjUyLCA0NSwgMjMwLCAKKyAgICAxMCwgODQsIDI0NCwgMTQsIDE0NiwgODQsIDIzOSwgMjI5LCAyMzksIDIzMCwgODQsIDI0NCwgMTQsIDE0NiwgODQsIDIzMCwgCisgICAgOSwgMjMwLCAxMCwgODQsIDIxNSwgNDgsIDIyMiwgMTIzLCAyNDIsIDI0MywgMjM5LCAyMzAsIDg0LCAyMTUsIDQ4LCAyMjIsIAorICAgIDEyMywgMjQyLCAyNDMsIDIzMCwgMTAsIDg0LCAyMTUsIDQ4LCA4NCwgMjM5LCAyMjksIDIzOSwgMjMwLCA4NCwgMjE1LCA0OCwgCisgICAgODQsIDIzMCwgOSwgMjMwLCAxMCwgODQsIDIzOSwgMjMwLCA4NCwgMjQ0LCAxNCwgMjQyLCAyNDMsIDIzOSwgMjMwLCA4NCwgCisgICAgMjMwLCAxMCwgODQsIDI0NCwgMTQsIDI0MiwgMjQzLCAyMzAsIDEwLCA4NCwgMjE0LCAyMzcsIDE0NiwgODQsIDIzOSwgMjMwLCAKKyAgICA4NCwgMjE0LCAyMzcsIDI0MiwgMjQzLCAyMzksIDIzMCwgODQsIDIxNCwgMjM3LCAxNDYsIDg0LCAyMzAsIDEwLCA4NCwgCisgICAgMjE0LCAyMzcsIDI0MiwgMjQzLCAyMTQsIDIzNywgMTQ2LCAyMTEsIDEzMCwgMjIyLCAxMjMsIDIzMCwgOSwgMjE0LCAyMzcsIAorICAgIDE0NiwgMjExLCAxMzAsIDIyMiwgMTIzLCAyMzksIDIyOSwgMjE0LCAyMzcsIDE0NiwgMjExLCAxMzAsIDIyMiwgMTIzLCAKKyAgICAyMzAsIDEwLCAyLCA2NywgMjMzLCAyNSwgMjE0LCAyMzcsIDE0NiwgMjExLCAxMzAsIDIyMiwgMTIzLCAyMzksIDIzMCwgMiwgCisgICAgNjcsIDIzMywgMjUsIDI0NCwgMTQsIDE0NiwgMjExLCAxMzAsIDIyMiwgMTIzLCAyMzAsIDksIDI0NCwgMTQsIDE0NiwgMjExLCAKKyAgICAxMzAsIDIyMiwgMTIzLCAyMzksIDIyOSwgMjQ0LCAxNCwgMjE0LCAyMzcsIDE0NiwgMjExLCAxMzAsIDIyMiwgMTIzLCAyMzAsIAorICAgIDksIDI0NCwgMTQsIDIxNCwgMjM3LCAxNDYsIDIxMSwgMTMwLCAyMjIsIDEyMywgMjM5LCAyMjksIDIxNSwgNDgsIDIyMiwgCisgICAgMTIzLCAyMzAsIDksIDIxNSwgNDgsIDIyMiwgMTIzLCAyMzksIDIyOSwgMjE1LCA0OCwgODQsIDIzMCwgMTAsIDg0LCAyNDIsIAorICAgIDI0MiwgNTMsIDIxNSwgNDgsIDg0LCAyMzksIDIzMCwgODQsIDI0MiwgMjQyLCA1MywgNTAsIDIyNSwgOTMsIDIzMCwgOSwgCisgICAgNTAsIDIyNSwgOTMsIDIzOSwgMjI5LCA1MCwgMjI1LCA5MywgMjMwLCAxMCwgMiwgMjA5LCAyMjYsIDIzOSwgMjMwLCAyMjIsIAorICAgIDgzLCAyMzAsIDksIDIzOSwgMjMwLCAyNTAsIDEyLCAyMzAsIDksIDIzMCwgMTAsIDI0NywgMTkyLCAyNDksIDQ2LCAyNDcsIAorICAgIDE5LCAyMzksIDIzMCwgMjQ3LCAxOTIsIDI0OSwgNDYsIDI0NywgMTksIDIzMCwgMTAsIDI0NywgMTkyLCAyNDksIDQ2LCAKKyAgICAyNDcsIDIwLCA4NCwgMjE0LCAyMzcsIDI0MiwgMjQzLCAyMzksIDIzMCwgMjQ3LCAxOTIsIDI0OSwgNDYsIDI0NywgMjAsIAorICAgIDg0LCAyMTQsIDIzNywgMjQyLCAyNDMsIDIxNCwgMjE0LCAyMTIsIDQ2LCAyMzAsIDg0LCAyMTIsIDQ2LCAyMTQsIDIxNCwgCisgICAgMjEyLCA0NywgMjIyLCAxMjMsIDE0NiwgMTI0LCAyMzAsIDg0LCAyMTIsIDQ3LCAyMjIsIDEyMywgMTQ2LCAxMjQsIDI0MiwgCisgICAgMjQyLCAzLCAyLCAyNDksIDc4LCA1MiwgMjIwLCAxNDAsIDg0LCAyMTUsIDM5LCAyNDIsIDI0MiwgNTMsIDIxMywgMTc0LCAKKyAgICA4NCwgMjE1LCAzOSwgMjQyLCAyNDIsIDUzLCAyMjAsIDE0MCwgODQsIDIxNSwgMzksIDIyNCwgNDMsIDE0NiwgMTI0LCAyMTMsIAorICAgIDE3NCwgODQsIDIxNSwgMzksIDIyNCwgNDMsIDE0NiwgMTI0LCAyMjAsIDE0MCwgODQsIDI0MiwgMjQyLCA1MywgMjEzLCAKKyAgICAxNzQsIDg0LCAyNDIsIDI0MiwgNTMsIDIyMCwgMTQwLCA4NCwgMjI0LCA0MywgMTQ2LCAxMjQsIDIxMywgMTc0LCA4NCwgCisgICAgMjI0LCA0MywgMTQ2LCAxMjQsIDIyMCwgMTQwLCA4NCwgMjUyLCAxNDksIDE0NiwgMTI0LCAyMTMsIDE3NCwgODQsIDI1MiwgCisgICAgMTQ5LCAxNDYsIDEyNCwgMjIwLCAxNDAsIDg0LCAyMjQsIDQzLCAyNTIsIDE0OSwgMTQ2LCAxMjQsIDIxMywgMTc0LCA4NCwgCisgICAgMjI0LCA0MywgMjUyLCAxNDksIDE0NiwgMTI0LCA1MCwgMjIwLCAxMzksIDUwLCAyMTMsIDE3MywgMjEzLCAxODIsIDIsIAorICAgIDI0NSwgMjMsIDIxMywgMTM4LCAyLCAyNDUsIDIzLCAyMTMsIDE4MiwgMiwgMTAxLCAzLCA1NSwgMjEzLCAxMzgsIDIsIDEwMSwgCisgICAgMywgNTUsIDIxMywgMTgyLCAyLCAyMjYsIDk0LCAzLCA1NSwgMjEzLCAxMzgsIDIsIDIyNiwgOTQsIDMsIDU1LCAyMTMsIAorICAgIDE4MiwgNzMsIDIyMiwgMTIzLCAxNDYsIDIxMSwgMTMwLCAyLCA2NywgNTIsIDIxMywgMTM4LCA3MywgMjIyLCAxMjMsIDE0NiwgCisgICAgMjExLCAxMzAsIDIsIDY3LCA1MiwgMjEzLCAxODIsIDczLCA4NCwgMjQyLCAyNDIsIDUzLCAyMTMsIDEzOCwgNzMsIDg0LCAKKyAgICAyNDIsIDI0MiwgNTMsIDIxMywgMTgyLCA3MywgODQsIDIxMSwgMTgxLCAyMjIsIDEzMiwgMjEzLCAxMzgsIDczLCA4NCwgCisgICAgMjExLCAxODEsIDIyMiwgMTMyLCAyMTMsIDE4MiwgNzMsIDg0LCAyNTIsIDE0OSwgMTQ2LCAxMjQsIDIxMywgMTM4LCA3MywgCisgICAgODQsIDI1MiwgMTQ5LCAxNDYsIDEyNCwgMjEzLCAxODIsIDczLCA4NCwgMjI0LCA0MywgMTQ2LCAxMjQsIDIxMywgMTM4LCAKKyAgICA3MywgODQsIDIyNCwgNDMsIDE0NiwgMTI0LCA0OSwgNDcsIDIyMiwgMTQyLCA5NiwgMjIyLCAxMzIsIDQ5LCA0OCwgMjIyLCAKKyAgICAxNDIsIDk2LCAyMjIsIDEzMiwgMjQ3LCAxOTIsIDIxMywgMTgxLCAyNDcsIDE5MiwgMjEzLCAxMzcsIDI0NywgMTkyLCAyMTMsIAorICAgIDE4MiwgMjIyLCAxMjMsIDE0NiwgMTI0LCAyNDcsIDE5MiwgMjEzLCAxMzgsIDIyMiwgMTIzLCAxNDYsIDEyNCwgMjEzLCAKKyAgICAxODIsIDg0LCAyMTMsIDEzNywgMjEzLCAxMzgsIDg0LCAyMTMsIDE4MSwgMjEzLCAxODIsIDg0LCAyMTMsIDE4MSwgMjEzLCAKKyAgICAxMzgsIDg0LCAyMTMsIDEzNywgMjEzLCAxMzgsIDI1MCwgMTIsIDIxMywgMTgxLCAyMTMsIDEzOCwgMjUwLCAxMiwgMjMsIAorICAgIDIzMiwgMTE5LCAyNDksIDQ2LCAyNDYsIDc5LCAyLCAyMTMsIDE4MSwgMjQzLCA2MSwgNzMsIDIyMiwgMTM1LCAyNDQsIDYsIAorICAgIDIyMCwgMjQ2LCAyLCAyMTIsIDEyMSwgMjExLCAxMDEsIDIxMSwgNjYsIDIzMywgNywgMjQxLCAxMzcsIDIyNCwgNTcsIDIxNSwgCisgICAgMTQ0LCA0NywgMjEyLCAyMDEsIDIxNSwgMTQ0LCAxMzAsIDIxMiwgMjAxLCAyMTUsIDE0NCwgMTIwLCAyMTIsIDIwMSwgMjIxLCAKKyAgICAxMTksIDIsIDE4MiwgNzksIDI1MCwgMTI5LCAyMTEsIDM2LCA0OCwgMjEwLCAxNDMsIDUwLCA3OSwgMjUwLCAxMjksIDQ3LCAKKyAgICAyMTAsIDE0MywgNzksIDI1MCwgMTI5LCA1MCwgNDcsIDIxMCwgMTQzLCA1MCwgNzksIDI1MCwgMTI5LCA1MCwgNDcsIDIxMCwgCisgICAgMTQzLCAxNTIsIDI0NiwgNzksIDI0MSwgOTgsIDQ3LCAyMjcsIDg4LCA3MywgNTAsIDIwOSwgMjIsIDIxNSwgMTQ0LCAxMzAsIAorICAgIDIxMiwgMjAyLCAyLCAyMjIsIDg2LCAyMTUsIDE0NCwgMTIwLCAyMTIsIDIwMiwgMiwgMjA5LCAyMjYsIDIxNSwgMTQ0LCAKKyAgICAxMjAsIDIxMiwgMjAyLCA4NCwgMjE1LCAxNDQsIDEzMCwgMjEyLCAyMDEsIDUwLCAxMzAsIDIxMiwgMjAxLCA1MCwgMTIwLCAKKyAgICAyMTIsIDIwMSwgNTAsIDIxMywgMjI1LCAyMjQsIDQzLCA1MywgMjE4LCAyMjQsIDUwLCAyMTMsIDIyNSwgMjI0LCA0MywgNTMsIAorICAgIDI0NSwgNDIsIDIyNCwgNDMsIDI0NSwgODIsIDIsIDIxOCwgMjI0LCAyMjUsIDEwNCwgMjE0LCAyMzUsIDc5LCAyMjksIDIwNiwgCisgICAgMiwgMjQ3LCAyMzQsIDUyLCA3OSwgMjI5LCAyMDYsIDIsIDI0NywgMjM0LCA1NSwgMTMwLCAyMTIsIDIwMiwgMiwgMjQ3LCAKKyAgICAyMzQsIDU1LCAyMjEsIDIyMiwgMiwgMTk0LCA5MSwgMjIxLCAyMjIsIDIsIDIxMSwgMTgxLCAyMjIsIDEzMiwgMjExLCAzNiwgCisgICAgNzksIDI1MCwgMTI5LCAyNDksIDIyNSwgMjE5LCAxMSwgMjExLCAzNiwgNzksIDI1MCwgMTI5LCAyLCAxOTQsIDkxLCAyMTEsIAorICAgIDM2LCAyNDcsIDE2MywgMjIyLCAxMzIsIDIxMSwgMzYsIDIyNSwgOTMsIDIzMCwgOSwgMjExLCAzNiwgMjI1LCA5MywgMjM5LCAKKyAgICAyMjksIDI0NCwgMTQsIDIxNCwgMjM3LCAyMzAsIDEwLCAyMjIsIDEyMywgMTQ2LCAxMjQsIDI0NCwgMTQsIDIxNCwgMjM3LCAKKyAgICAyMzksIDIzMCwgMjIyLCAxMjMsIDE0NiwgMTI0LCAyMTEsIDM2LCAyMTQsIDE4MSwgMjQ5LCAyMjUsIDIxOSwgMTEsIDIzMCwgCisgICAgODYsIDIxMSwgMzYsIDc5LCAyNTAsIDEyOSwgMjIyLCAxMzIsIDUwLCAyMTQsIDE4MSwgMjIyLCAxMzIsIDU5LCA3OSwgMTM0LCAKKyAgICAyMjYsIDMyLCA1OSwgNzksIDEzNCwgMTQzLCAyNDMsIDExNywgNTksIDQ1LCAxNDMsIDIwNywgMzYsIDU5LCA0NSwgMTg4LCAKKyAgICAyNDMsIDExNywgNTksIDQ1LCAxODgsIDIwNywgMzYsIDU5LCA0NSwgNDcsIDQ4LCA1OSwgNDUsIDkyLCA2MCwgNDUsIDE2NywgCisgICAgNjAsIDQ1LCAxNzMsIDYwLCA0NSwgMTQzLCAyNDMsIDExNywgNjAsIDQ1LCAxNDMsIDIwNywgMzYsIDYwLCA0NSwgMTg4LCAKKyAgICAyNDMsIDExNywgNjAsIDQ1LCAxODgsIDIwNywgMzYsIDYwLCA0NSwgNDcsIDQ4LCA2MCwgNDUsIDEyMCwgMTMwLCA2MCwgNDUsIAorICAgIDg2LCA1MSwgMiwgMjExLCAxNjcsIDI0NCwgNiwgODYsIDUxLCAyLCAyMTEsIDE2NywgMjA5LCAxOTYsIDkyLCA1MSwgMiwgCisgICAgMjExLCAxNjcsIDI0NCwgNiwgOTIsIDUxLCAyLCAyMTEsIDE2NywgMjA5LCAxOTYsIDQ5LCAyLCAyMTEsIDEwMiwgMTYwLCAKKyAgICAyNDksIDIwMiwgNDksIDIsIDI0OSwgMTU0LCAxNjAsIDI0OSwgMjAyLCA0OSwgMiwgMjA5LCAyMDMsIDQ4LCAyNDUsIDE2MywgCisgICAgMTYwLCAyNDksIDIwMiwgNDksIDIsIDIyOSwgOTIsIDQ3LCAyNDUsIDE2MywgMTYwLCAyNDksIDIwMiwgMjQ1LCAxNTcsIDIsIAorICAgIDQ3LCAxNjAsIDI0OSwgMjAyLCAyNDUsIDE1NywgMiwgNDgsIDE2MCwgMjQ5LCAyMDIsIDI0NSwgMTU3LCAyLCAyMTEsIDEwMiwgCisgICAgMTYwLCAyNDksIDIwMiwgMjQ1LCAxNTcsIDIsIDI0OSwgMTU0LCAxNjAsIDI0OSwgMjAyLCAyNDQsIDIxLCAyMTQsIDEwNywgCisgICAgNjAsIDIzMCwgODYsIDIxNCwgMTA3LCA1OSwgMjMwLCA4NiwgMjE0LCAxMDcsIDYwLCAyMDgsIDIyNiwgNSwgMjE0LCAxMDcsIAorICAgIDU5LCAyMDgsIDIyNiwgNSwgMjE0LCAxMDcsIDYwLCAyMjEsIDE0MCwgNTksIDIyMSwgMTQwLCA1OSwgMjM5LCAyNSwgNjAsIAorICAgIDIzOSwgMjUsIDE5NCwgNjAsIDIzOSwgMjUsIDYwLCAyMzAsIDg2LCAyNDcsIDIzMywgNjAsIDIyNywgMTA5LCAyNDUsIDE1NiwgCisgICAgNTksIDIyNywgMTA5LCAyNDUsIDE1NiwgNjAsIDIyNywgMTA5LCAyMjksIDg4LCA1OSwgMjI3LCAxMDksIDIyOSwgODgsIDYwLCAKKyAgICA1LCAyNDUsIDE1NiwgNjAsIDUsIDIyOSwgODgsIDU5LCA1LCAyMjksIDg4LCA2MCwgMTk0LCAyNDMsIDU1LCA1OSwgMTk0LCAKKyAgICAyNDMsIDU1LCA2MCwgNzksIDI0MywgNTUsIDU5LCA3OSwgMjQzLCA1NSwgNDcsIDUxLCAyLCA1LCAyNDcsIDIzMywgMTI5LCAKKyAgICA5MiwgMjUxLCAyNDEsIDQ3LCA1MSwgMiwgMzksIDIyMCwgMjE4LCAxNTIsIDkyLCAyMTQsIDEwMywgNDUsIDkyLCAyMTAsIAorICAgIDEwOCwgNTEsIDIsIDc5LCA5MSwgOTIsIDIxMCwgMTA4LCA1MSwgMiwgNTAsIDc5LCA5MSwgOTIsIDIxMCwgMTA4LCA1MSwgCisgICAgMjQxLCA5OCwgMTM0LCA5MiwgMjEwLCAxMDgsIDIxMSwgMzYsIDI0NiwgNzksIDQ1LCA5MiwgNTEsIDIsIDI0NCwgMjEsIAorICAgIDIxNCwgOSwgOTIsIDUxLCAyLCAyMTIsIDE5MiwgMiwgNzksIDkxLCA5MiwgNTEsIDIsIDIxMiwgMTkyLCAyLCA1MCwgNzksIAorICAgIDkxLCA5MiwgMjEwLCAxMDgsIDUxLCAyLCAyMTIsIDE5MSwgOTIsIDIxMCwgMTA4LCA1MSwgMiwgMjEyLCAxOTIsIDIsIDc5LCAKKyAgICA5MSwgOTIsIDIxMCwgMTA4LCA1MSwgMiwgMjEyLCAxOTIsIDIsIDUwLCA3OSwgOTEsIDkyLCA1MSwgMjExLCAyMzMsIDIwNiwgCisgICAgMTk1LCAyMDcsIDY1LCA1MSwgMjIwLCAyMDEsIDI0NSwgMTAyLCAyMzAsIDQ2LCAyNDIsIDI0MiwgMywgODQsIDkyLCA0NSwgCisgICAgMjE4LCAyMjUsIDIxMSwgMTgxLCAyMjIsIDEzMywgODQsIDkyLCA0NSwgOTIsIDUxLCA4NCwgMjE4LCAyMjUsIDI1MiwgMTQ5LCAKKyAgICAxNDYsIDEyNCwgODYsIDUxLCAyMTEsIDIzMywgMjM5LCAyMjksIDg2LCA1MSwgMjExLCAyMzMsIDIxMywgMTM3LCA5MiwgCisgICAgMjE5LCAyMDcsIDQ1LCA4NiwgMjE5LCAyMDcsIDQ1LCAyMTgsIDIyNSwgMjExLCAxODEsIDIyMiwgMTMzLCA4NCwgODYsIDQ1LCAKKyAgICA4NiwgNTEsIDg0LCAyMTgsIDIyNSwgMjUyLCAxNDksIDE0NiwgMTI0LCAyMTEsIDE4MSwgMjIyLCAxMzMsIDg0LCA5MiwgNDUsIAorICAgIDkyLCA1MSwgODQsIDI1MiwgMTQ5LCAxNDYsIDEyNCwgOTIsIDUxLCA4NCwgMjE4LCAyMjUsIDIxMSwgMTgxLCAyMjIsIDEzMiwgCisgICAgODYsIDUxLCA4NCwgMjE4LCAyMjUsIDIxMSwgMTgxLCAyMjIsIDEzMiwgMTczLCAyMTEsIDUwLCAyMDUsIDMxLCA0NSwgMjE1LCAKKyAgICAxNDQsIDIxNCwgMjM3LCAxNDMsIDQ1LCAyMTUsIDE0NCwgMjUwLCAxNzMsIDE4OCwgNDUsIDU5LCAyMjcsIDEwOSwgMjE0LCAKKyAgICAyNiwgNjAsIDUsIDIxNCwgMjYsIDU5LCA1LCAyMTQsIDI2LCA2MCwgMjE4LCAxNjIsIDIyMSwgMTQwLCA1OSwgMjE4LCAxNjIsIAorICAgIDIyMSwgMTQwLCA3NywgMjMwLCA4NiwgMjQ3LCAyMzMsIDc3LCAyMjIsIDg3LCAyLCAyMjIsIDg3LCAyMzMsIDI1LCA3NywgCisgICAgMjQ3LCAyMzQsIDIsIDI0NywgMjM0LCAyMzMsIDI1LCA3NywgMjQ3LCAyMzMsIDc3LCAzOSwgMjE3LCAxNjIsIDIxNCwgMjM3LCAKKyAgICAxNDMsIDUxLCAyLCAyMzgsIDEyOSwgMjM5LCA2OCwgMjUwLCAxNzMsIDE4OCwgNTEsIDIsIDIzOCwgMTI5LCAyMTIsIDE5MSwgCisgICAgMjE0LCAyMzcsIDE0MywgNTEsIDIsIDE5NCwgMjEyLCAxOTEsIDI1MCwgMTczLCAxODgsIDUxLCAyLCAxOTQsIDIxMiwgMTkxLCAKKyAgICAyNTAsIDE5LCA1MSwgMjIwLCAyMDEsIDE3MywgMjEyLCAzMywgMTQzLCAyNDMsIDExNiwgMjE1LCAxNDQsIDI1MCwgMTksIAorICAgIDUxLCAyMjAsIDIwMSwgMTczLCAyMTIsIDMzLCAxNDMsIDI0MywgMTE2LCA5MiwgMjExLCA1MCwgNDUsIDE2NywgMjExLCA1MCwgCisgICAgNDUsIDg2LCAyMTEsIDUwLCA0NSwgMTczLCAyMTEsIDUwLCA0NSwgNDcsIDQ4LCAyMTEsIDUwLCA0NSwgMTIwLCAxMzAsIAorICAgIDIxMSwgNTAsIDQ1LCAxNDMsIDIwNywgMzYsIDIxMSwgNTAsIDQ1LCAxNDMsIDI0MywgMTE3LCAyMTEsIDUwLCA0NSwgMTg4LCAKKyAgICAyNDMsIDExNywgMjExLCA1MCwgNDUsIDE4OCwgMjA3LCAzNiwgMjExLCA1MCwgNDUsIDkyLCAyMTEsIDUwLCAyNDYsIDc3LCAKKyAgICA0NSwgMTY3LCAyMTEsIDUwLCAyNDYsIDc3LCA0NSwgODYsIDIxMSwgNTAsIDI0NiwgNzcsIDQ1LCAxNzMsIDIxMSwgNTAsIAorICAgIDI0NiwgNzcsIDQ1LCAyNDcsIDE5NCwgMjExLCA1MCwgMjIyLCAxNDIsIDI0NywgMjM0LCA0NSwgMjUyLCA4NywgMjExLCA1MCwgCisgICAgMjIyLCAxNDIsIDI0NywgMjM0LCA0NSwgOTIsIDIxMSwgNTAsIDUxLCAyMTEsIDEzMCwgMTM0LCAxNjcsIDIxMSwgNTAsIDUxLCAKKyAgICAyMTEsIDEzMCwgMTM0LCA4NiwgMjExLCA1MCwgNTEsIDIxMSwgMTMwLCAxMzQsIDE3MywgMjExLCA1MCwgNTEsIDIxMSwgCisgICAgMTMwLCAxMzQsIDE0MywgMjA3LCAzNiwgMjExLCA1MCwgNTEsIDIxMSwgMTMwLCAxMzQsIDE0MywgMjQzLCAxMTcsIDIxMSwgCisgICAgNTAsIDUxLCAyMTEsIDEzMCwgMTM0LCAxODgsIDI0MywgMTE3LCAyMTEsIDUwLCA1MSwgMjExLCAxMzAsIDEzNCwgMTg4LCAKKyAgICAyMDcsIDM2LCAyMTEsIDUwLCA1MSwgMjExLCAxMzAsIDEzNCwgOTIsIDIxMSwgNTAsIDUxLCAyLCA1MCwgMTk0LCA5MSwgCisgICAgMTY3LCAyMTEsIDUwLCA1MSwgMiwgNTAsIDE5NCwgOTEsIDg2LCAyMTEsIDUwLCA1MSwgMiwgNTAsIDE5NCwgOTEsIDE3MywgCisgICAgMjExLCA1MCwgNTEsIDIsIDUwLCAxOTQsIDkxLCAxOTQsIDIxMiwgMjA4LCAyMzEsIDE3NCwgNzksIDIxMiwgMjA4LCAyMzEsIAorICAgIDE3NCwgOTIsIDIxMSwgNTAsIDUxLCAxMzEsIDg2LCAyMTEsIDUwLCA0NSwgMTY3LCAyMTEsIDUwLCA1MSwgOTIsIDczLCAKKyAgICAxNzMsIDIxMSwgNTAsIDQ1LCA4NiwgMjExLCA1MCwgNTEsIDEzMSwgOTIsIDIxMSwgNTAsIDQ1LCAxNzMsIDIxMSwgNTAsIAorICAgIDUxLCA5MiwgNzMsIDE2NywgMjExLCA1MCwgNDUsIDkyLCAyMTEsIDUwLCAyMjIsIDMwLCAyNTEsIDI0MSwgMTY3LCAyMTEsIAorICAgIDUwLCAyMjIsIDMwLCAyNTEsIDI0MSwgODYsIDIxMSwgNTAsIDIyMiwgMzAsIDI1MSwgMjQxLCAxNzMsIDIxMSwgNTAsIDIyMiwgCisgICAgMzAsIDI1MSwgMjQxLCA5MiwgNjAsIDM5LCA1OSwgNDUsIDE2NywgNjAsIDM5LCA1OSwgNDUsIDg2LCA2MCwgMzksIDU5LCAKKyAgICA0NSwgMTczLCA2MCwgMzksIDU5LCA0NSwgMjUyLCA4NywgMjExLCA1MCwgNDgsIDIxMCwgNzEsIDQ1LCAyNTIsIDg3LCAyMTEsIAorICAgIDUwLCAyNDksIDE1NCwgMjEwLCA3MSwgNDUsIDI1MiwgODcsIDIxMSwgNTAsIDQ3LCAyMTAsIDcxLCA0NSwgMjUyLCA4NywgCisgICAgMjExLCA1MCwgMjExLCAxMDIsIDIxMCwgNzEsIDQ1LCAyMTgsIDIyOSwgMjMwLCA0NiwgMjE4LCAyMjksIDIxOCwgMTY3LCAKKyAgICAyMjUsIDg2LCAyMzAsIDQ2LCAyMjUsIDg2LCAyMTgsIDE2NywgMjQxLCAxMjUsIDI0NywgOTIsIDI1MSwgMjQyLCAyNDcsIAorICAgIDIzMSwgMjUyLCA4NiwgODYsIDYwLCA0NSwgMjExLCAyMzgsIDIxMSwgMTAwLCA5MiwgMjQyLCAyMzgsIDI1MSwgMjQzLCAKKyAgICAyMTEsIDIzOCwgMjE4LCAxNjMsIDE2NywgMjQyLCAyMzgsIDI1MSwgMjQzLCAyMTEsIDIzOCwgMjExLCAxMDAsIDg2LCAyNDIsIAorICAgIDIzOCwgMjUxLCAyNDMsIDIxMSwgMjM4LCAyMzAsIDQyLCAxNzMsIDI0MiwgMjM4LCAyNTEsIDI0MywgNjAsIDkyLCAyNDIsIAorICAgIDIzOCwgMjUxLCAyNDMsIDYwLCAxNjcsIDI0MiwgMjM4LCAyNTEsIDI0MywgNjAsIDg2LCAyNDIsIDIzOCwgMjUxLCAyNDMsIAorICAgIDYwLCAxNzMsIDI0MiwgMjM4LCAyNTEsIDI0MywgMTczLCAyMTEsIDUwLCA1MSwgMiwgMTUyLCAyMTEsIDE2NywgMjMwLCAzNiwgCisgICAgMTczLCAyMTEsIDUwLCA1MSwgMiwgMTUyLCAyMTEsIDE2NywgMjE4LCAxNTYsIDE2NywgMjExLCA1MCwgNTEsIDIsIDE1MiwgCisgICAgMjExLCAxNjcsIDIzMCwgMzYsIDE2NywgMjExLCA1MCwgNTEsIDIsIDE1MiwgMjExLCAxNjcsIDIxOCwgMTU2LCA5MiwgMjExLCAKKyAgICA1MCwgNTEsIDIsIDE1MiwgMjExLCAxNjcsIDIwOSwgMTk2LCA4NiwgMjExLCA1MCwgNTEsIDIsIDE1MiwgMjExLCAxNjcsIAorICAgIDIwOSwgMTk2LCA5MiwgMjExLCA1MCwgNTEsIDIsIDE1MiwgMjExLCAxNjcsIDI0NCwgNiwgODYsIDIxMSwgNTAsIDUxLCAyLCAKKyAgICAxNTIsIDIxMSwgMTY3LCAyNDQsIDYsIDYwLCAyNDcsIDE4LCAxNzMsIDIzLCA5MiwgNDUsIDYwLCAyNDcsIDE4LCAxNzMsIAorICAgIDIzLCA4NiwgNDUsIDYwLCAyNDcsIDE4LCAxNjcsIDIzLCA5MiwgNDUsIDYwLCAyNDcsIDE4LCAxNjcsIDIzLCA4NiwgNDUsIAorICAgIDYwLCAyNDcsIDE4LCA5MiwgMjMsIDE2NywgNDUsIDYwLCAyNDcsIDE4LCA4NiwgMjMsIDE2NywgNDUsIDYwLCAyNDcsIDE4LCAKKyAgICA5MiwgMjMsIDE3MywgNDUsIDYwLCAyNDcsIDE4LCA4NiwgMjMsIDE3MywgNDUsIDIxOCwgMjA2LCA1MSwgMTMwLCAyMzAsIAorICAgIDQ2LCAyMTgsIDIwNiwgNTEsIDEzMCwgMjE4LCAxNjcsIDIxOCwgMjA2LCA1MSwgMTIwLCAyMzAsIDQ2LCAyMTgsIDIwNiwgCisgICAgNTEsIDEyMCwgMjE4LCAxNjcsIDIxOCwgMjA2LCA1MSwgNDcsIDIwOSwgMjA2LCAyMTgsIDIwNiwgNTEsIDQ4LCAyMDksIAorICAgIDIwNiwgMjE4LCAyMDYsIDUxLCA0NywgMjQ0LCA4LCAyMTgsIDIwNiwgNTEsIDQ4LCAyNDQsIDgsIDE2NywgNTksIDUxLCAKKyAgICAyNDEsIDk4LCAyNTAsIDEyOSwgMiwgMTk0LCAxMzQsIDEyMCwgMjUxLCAyNDQsIDIzMywgNjksIDMyLCAyMTksIDM4LCAyNDksIAorICAgIDE0MCwgMjUwLCAxNDYsIDk2LCAyLCAxNDcsIDIwNiwgMTk1LCAzOSwgMjA2LCAxOTUsIDM5LCAyNCwgMjA2LCAxOTUsIDYwLCAKKyAgICA0OSwgMjQ4LCAxMjYsIDYwLCAyNDUsIDE1NywgMjQ4LCAxMjYsIDIwMSwgNjAsIDIyMSwgMTQwLCAxOTQsIDYwLCAyMjIsIAorICAgIDIxNCwgNjAsIDIyMiwgMjE0LCA2MCwgMjI3LCAxMDksIDIwOSwgMjA1LCAyMTEsIDUyLCAyNDgsIDEyNiwgNjAsIDIyNywgCisgICAgMTA5LCAyNDQsIDcsIDIxMSwgNTIsIDI0OCwgMTI2LCA2MCwgMjI3LCAxMDksIDIzMCwgNDEsIDIxMSwgNTIsIDI0OCwgMTI2LCAKKyAgICA2MCwgMjI3LCAxMDksIDIxOCwgMTYyLCAyMTEsIDUyLCAyNDgsIDEyNiwgMjExLCAxMDIsIDE2MCwgNjAsIDI0NywgMjMzLCAKKyAgICAyNDksIDE1NCwgMTYwLCA2MCwgMjQ3LCAyMzMsIDE0NywgMjQxLCAxMjUsIDIyMCwgMjAzLCA2MCwgMjQ3LCAxNSwgMjE4LCAKKyAgICA5NywgMTQ3LCAyNDEsIDEyNSwgMjIwLCAyMDMsIDYwLCAyNDcsIDE1LCA1OSwgMjQxLCAxMjUsIDIyMCwgMjAzLCAyNDcsIAorICAgIDE1LCAyMTgsIDk3LCA1OSwgMjQxLCAxMjUsIDIyMCwgMjAzLCAyNDcsIDE1LCA0OSwgMjIwLCAxNzgsIDIzMywgNDksIDIwOSwgCisgICAgMjI5LCA1MywgMTY2LCA2LCAxLCAyNTEsIDE1MSwgMTY2LCA2LCAxLCAyNDksIDg5LCAxNjYsIDYsIDEsIDIwOSwgMzcsIAorICAgIDE2NiwgNiwgMSwgMjQwLCAzMCwgMTY2LCA2LCAxLCAyNDUsIDQ2LCAxNjYsIDYsIDEsIDIwNiwgMjQsIDE2NiwgNiwgMSwgCisgICAgMjA1LCA2NSwgMTY2LCA2LCAxLCAyNDMsIDE5MSwgMTY2LCA2LCAxLCAyMDUsIDkwLCAxNjYsIDYsIDEsIDIzMiwgMjA3LCAKKyAgICAxNjYsIDYsIDEsIDc4LCAyMzIsIDIwNywgMTY2LCA2LCAxLCA3NCwgMTY2LCA2LCAxLCAyNDUsIDY2LCAxNjYsIDYsIDEsIAorICAgIDIzMiwgMzMsIDE2NiwgNiwgMSwgMjI5LCAxNzQsIDE2NiwgNiwgMSwgMjI2LCAzNywgMTY2LCA2LCAxLCAyMjUsIDE5NSwgCisgICAgMTY2LCA2LCAxLCAyMjIsIDE1NCwgMTY2LCA2LCAxLCAyMjAsIDE5OCwgMTY2LCA2LCAxLCAyMTgsIDE0MSwgMTY2LCA2LCAxLCAKKyAgICAyMTQsIDIxOSwgMTY2LCA2LCAxLCAyMTAsIDEzMSwgMTY2LCA2LCAxLCAyMDksIDI0NSwgMTY2LCA2LCAxLCAyNDEsIDEwMSwgCisgICAgMTY2LCA2LCAxLCAyMzksIDMxLCAxNjYsIDYsIDEsIDIyMiwgOTgsIDE2NiwgNiwgMSwgMjIxLCAxNzQsIDE2NiwgNiwgMSwgCisgICAgMjE1LCAxMTksIDE2NiwgNiwgMSwgMjEwLCAyMjIsIDE2NiwgNiwgMSwgMjQ4LCAyMCwgMTY2LCA2LCAxLCAyMTYsIDIsIAorICAgIDE2NiwgNiwgMSwgMjA2LCAzMCwgMTY2LCA2LCAxLCAyMDYsIDMyLCAxNjYsIDYsIDEsIDIwNiwgNjMsIDE2NiwgNiwgMSwgCisgICAgMjE0LCAxMjksIDE1NSwgMTY2LCA2LCAxLCAyMDUsIDIxMywgMTY2LCA2LCAxLCA1LCAyMDUsIDE4MywgMTY2LCA2LCAxLCA1LCAKKyAgICAyMDUsIDE4NCwgMiwgMjEyLCAxOTEsIDE2NiwgNiwgMSwgMjA1LCAyNDcsIDE2NiwgNiwgMSwgMjMyLCAyNDgsIDUsIDIwNSwgCisgICAgMTgzLCAxNjYsIDYsIDEsIDI0OSwgMjMxLCAyMDUsIDE4MywgMTY2LCA2LCAxLCAyMzIsIDI0OCwgMjQ5LCAyMzEsIDIwNSwgCisgICAgMTgzLCAxNjYsIDYsIDEsIDI0MSwgMjA1LCAxNjYsIDYsIDEsIDIzMiwgMjA1LCAxNjYsIDYsIDEsIDIxNSwgMTE4LCAxNjYsIAorICAgIDYsIDEsIDIxMSwgMjcsIDYyLCAxNjYsIDYsIDEsIDIzMCwgNzYsIDIyNiwgMzcsIDE2NiwgNSwgMSwgMjUxLCAxNTEsIDE2NiwgCisgICAgNSwgMSwgMjQ5LCA4OSwgMTY2LCA1LCAxLCAyMDksIDM3LCAxNjYsIDUsIDEsIDI0MCwgMzAsIDE2NiwgNSwgMSwgMjQ1LCAKKyAgICA0NiwgMTY2LCA1LCAxLCAyMDYsIDI0LCAxNjYsIDUsIDEsIDIwNSwgNjUsIDE2NiwgNSwgMSwgMjQzLCAxOTEsIDE2NiwgNSwgCisgICAgMSwgMjA1LCA5MCwgMTY2LCA1LCAxLCAyMzIsIDIwNywgMTY2LCA1LCAxLCA3OCwgMjMyLCAyMDcsIDE2NiwgNSwgMSwgNzQsIAorICAgIDE2NiwgNSwgMSwgMjQ1LCA2NiwgMTY2LCA1LCAxLCAyMzIsIDMzLCAxNjYsIDUsIDEsIDIyOSwgMTc0LCAxNjYsIDUsIDEsIAorICAgIDIyNiwgMzcsIDE2NiwgNSwgMSwgMjI1LCAxOTUsIDE2NiwgNSwgMSwgMjIyLCAxNTQsIDE2NiwgNSwgMSwgMjIwLCAxOTgsIAorICAgIDE2NiwgNSwgMSwgMjE4LCAxNDEsIDE2NiwgNSwgMSwgMjE0LCAyMTksIDE2NiwgNSwgMSwgMjEwLCAxMzEsIDE2NiwgNSwgMSwgCisgICAgMjA5LCAyNDUsIDE2NiwgNSwgMSwgMjQxLCAxMDEsIDE2NiwgNSwgMSwgMjM5LCAzMSwgMTY2LCA1LCAxLCAyMjIsIDk4LCAKKyAgICAxNjYsIDUsIDEsIDIyMSwgMTc0LCAxNjYsIDUsIDEsIDIxNSwgMTE5LCAxNjYsIDUsIDEsIDIxMCwgMjIyLCAxNjYsIDUsIDEsIAorICAgIDI0OCwgMjAsIDE2NiwgNSwgMSwgMjE2LCAyLCAxNjYsIDUsIDEsIDIwNiwgMzAsIDE2NiwgNSwgMSwgMjA2LCAzMiwgMTY2LCAKKyAgICA1LCAxLCAyMDYsIDYzLCAxNjYsIDUsIDEsIDIxNCwgMTI5LCAxNTUsIDE2NiwgNSwgMSwgMjA1LCAyMTMsIDE2NiwgNSwgMSwgCisgICAgNSwgMjA1LCAxODMsIDE2NiwgNSwgMSwgNSwgMjA1LCAxODQsIDIsIDIxMiwgMTkxLCAxNjYsIDUsIDEsIDIwNSwgMjQ3LCAKKyAgICAxNjYsIDUsIDEsIDIzMiwgMjQ4LCA1LCAyMDUsIDE4MywgMTY2LCA1LCAxLCAyNDksIDIzMSwgMjA1LCAxODMsIDE2NiwgNSwgCisgICAgMSwgMjMyLCAyNDgsIDI0OSwgMjMxLCAyMDUsIDE4MywgMTY2LCA1LCAxLCAyNDEsIDIwNSwgMTY2LCA1LCAxLCAyMzIsIAorICAgIDIwNSwgMTY2LCA1LCAxLCAyMTUsIDExOCwgMTY2LCA1LCAxLCAyMTEsIDI3LCA2MiwgMTY2LCA1LCAxLCAyMzAsIDc2LCAKKyAgICAyMjYsIDM3LCA3LCA2LCAxLCAyMzAsIDE1OSwgMiwgNTAsIDEzNCwgNywgNSwgMSwgMjMwLCAxNTksIDIsIDUwLCAxMzQsIDcsIAorICAgIDYsIDEsIDIzMCwgMTU5LCAyLCAyMjYsIDI0NywgMjExLCAxODAsIDcsIDYsIDEsIDIyMiwgNjgsIDIsIDkxLCA3LCA2LCAxLCAKKyAgICAyMTksIDE1MCwgMiwgMjEyLCAxOTEsIDcsIDUsIDEsIDMyLCAyLCA5MSwgNywgNSwgMSwgMjEzLCAxMSwgMiwgMjQ1LCAxNjMsIAorICAgIDkxLCA3LCA2LCAxLCAyMzksIDE1NiwgMiwgMjQ1LCAyMTEsIDcsIDUsIDEsIDIzOSwgMTU2LCAyLCAyNDUsIDIxMSwgNywgNiwgCisgICAgMSwgMjMyLCA3NywgMiwgMjQ1LCAyMTEsIDcsIDUsIDEsIDIzMiwgNzcsIDIsIDI0NSwgMjExLCA3LCA2LCAxLCAyMDUsIAorICAgIDE2MCwgMiwgMjQ1LCAyMTEsIDcsIDUsIDEsIDIwNSwgMTYwLCAyLCAyNDUsIDIxMSwgNywgNiwgMSwgMjUyLCAxNDQsIDcsIAorICAgIDYsIDEsIDIyOSwgMjksIDIsIDEwOSwgNywgNiwgMSwgMjAxLCA2MiwgNywgNiwgMSwgMjAxLCAyNTIsIDE0NCwgNywgNSwgMSwgCisgICAgMjA5LCAxNDksIDIsIDQ4LCAxMDksIDcsIDYsIDEsIDIwNywgMTMwLCAyLCAxMDksIDcsIDUsIDEsIDIwNywgMTMwLCAyLCAKKyAgICAxMDksIDcsIDUsIDEsIDIwOSwgMTQ5LCAyLCAyNDcsIDI3LCA3LCA2LCAxLCAxNjAsIDIzOSwgMTU1LCA3LCA1LCAxLCAxNjAsIAorICAgIDIzOSwgMTU1LCA3LCA1LCAxLCAyMTIsIDE4OSwgMjIxLCA3OCwgNywgNSwgMSwgMTc0LCAyLCAyMjQsIDQwLCA3LCA1LCAxLCAKKyAgICAyMDEsIDIxOSwgMTUwLCAyLCAyMTIsIDE5MSwgNywgNSwgMSwgMTQ4LCAyLCAxMTQsIDIxOCwgMTQ5LCAyMzMsIDI1LCA3LCAKKyAgICAxLCA1LCA2LCAyMDEsIDc1LCA3LCAyMTMsIDE4MywgNSwgMSwgMjMyLCAyMDMsIDY1LCAxLCA2LCAyMDksIDE0OCwgNywgNiwgCisgICAgMSwgMjE4LCAxLCAyLCAyMTMsIDEwOSwgMjEyLCAxOTEsIDcsIDYsIDEsIDIwNSwgMTYwLCAyLCAyMTMsIDEwOSwgMjEyLCAKKyAgICAxOTEsIDgxLCA2LCAxLCAyNTIsIDE2NiwgODEsIDUsIDEsIDI1MiwgMTY2LCA4MSwgNiwgMSwgMjA4LCAyMTEsIDgxLCA1LCAKKyAgICAxLCAyMDgsIDIxMSwgODEsIDYsIDEsIDI0MCwgMjE1LCA4MSwgNSwgMSwgMjQwLCAyMTUsIDgxLCA2LCAxLCAyNDYsIDExMywgCisgICAgODEsIDUsIDEsIDI0NiwgMTEzLCA4MSwgNiwgMSwgMjQzLCA4OSwgODEsIDUsIDEsIDI0MywgODksIDgxLCA2LCAxLCAyMTQsIAorICAgIDE2NywgODEsIDUsIDEsIDIxNCwgMTY3LCA4MSwgNiwgMSwgMjA1LCAxMDAsIDgxLCA1LCAxLCAyMDUsIDEwMCwgODEsIDYsIAorICAgIDEsIDIzOSwgODMsIDgxLCA1LCAxLCAyMzksIDgzLCA4MSwgNiwgMSwgMjEyLCAyMSwgODEsIDUsIDEsIDIxMiwgMjEsIDgxLCAKKyAgICA2LCAxLCAyMzcsIDE4NywgODEsIDUsIDEsIDIzNywgMTg3LCA4MSwgNiwgMSwgMjMyLCAxOSwgODEsIDUsIDEsIDIzMiwgMTksIAorICAgIDgxLCA2LCAxLCAyMzAsIDcyLCA4MSwgNSwgMSwgMjMwLCA3MiwgODEsIDYsIDEsIDIyNiwgMjU0LCA4MSwgNSwgMSwgMjI2LCAKKyAgICAyNTQsIDgxLCA2LCAxLCAyMjQsIDIzMCwgODEsIDUsIDEsIDIyNCwgMjMwLCA4MSwgNiwgMSwgMjMwLCAyNTIsIDgxLCA1LCAKKyAgICAxLCAyMzAsIDI1MiwgODEsIDYsIDEsIDc2LCA4MSwgNSwgMSwgNzYsIDgxLCA2LCAxLCAyMjEsIDUzLCA4MSwgNSwgMSwgCisgICAgMjIxLCA1MywgODEsIDYsIDEsIDIxOCwgMTI0LCA4MSwgNSwgMSwgMjE4LCAxMjQsIDgxLCA2LCAxLCAyMTUsIDUxLCA4MSwgCisgICAgNSwgMSwgMjE1LCA1MSwgODEsIDYsIDEsIDIxMiwgMTUxLCA4MSwgNSwgMSwgMjEyLCAxNTEsIDgxLCA2LCAxLCAyMTAsIDE4LCAKKyAgICA4MSwgNSwgMSwgMjEwLCAxOCwgODEsIDYsIDEsIDI0MSwgMjUwLCA4MSwgNSwgMSwgMjQxLCAyNTAsIDgxLCA2LCAxLCAyMzEsIAorICAgIDE0NSwgODEsIDUsIDEsIDIzMSwgMTQ1LCA4MSwgNiwgMSwgMjIwLCA5MywgODEsIDUsIDEsIDIyMCwgOTMsIDgxLCA2LCAxLCAKKyAgICAyMjIsIDE0NiwgODEsIDUsIDEsIDIyMiwgMTQ2LCA4MSwgNiwgMSwgMjQ1LCAxNjEsIDI1MiwgMTcyLCA4MSwgNSwgMSwgCisgICAgMjQ1LCAxNjEsIDI1MiwgMTcyLCA4MSwgNiwgMSwgNDQsIDgxLCAyNTIsIDIwMCwgODEsIDUsIDEsIDQ0LCA4MSwgMjUyLCAKKyAgICAyMDAsIDgxLCA2LCAxLCAyNDcsIDQzLCAyNDMsIDg5LCA4MSwgNSwgMSwgMjQ3LCA0MywgMjQzLCA4OSwgODEsIDYsIDEsIAorICAgIDI0NSwgMTYxLCAyMzIsIDE5LCA4MSwgNSwgMSwgMjQ1LCAxNjEsIDIzMiwgMTksIDgxLCA2LCAxLCAyNDUsIDE2MSwgMjI0LCAKKyAgICAyMzAsIDgxLCA1LCAxLCAyNDUsIDE2MSwgMjI0LCAyMzAsIDgxLCA2LCAxLCAyNDcsIDQzLCAyMjQsIDIzMCwgODEsIDUsIDEsIAorICAgIDI0NywgNDMsIDIyNCwgMjMwLCA4MSwgNiwgMSwgNDQsIDgxLCAyMjIsIDE0NiwgODEsIDUsIDEsIDQ0LCA4MSwgMjIyLCAKKyAgICAxNDYsIDgxLCA2LCAxLCAyMTcsIDE1NCwgODEsIDUsIDEsIDIxNywgMTU0LCA4MSwgNiwgMSwgMjQ3LCA1NywgMjE1LCAyMDYsIAorICAgIDgxLCA1LCAxLCAyNDcsIDU3LCAyMTUsIDIwNiwgODEsIDYsIDEsIDQ0LCA4MSwgMjE1LCAyMDYsIDgxLCA1LCAxLCA0NCwgCisgICAgODEsIDIxNSwgMjA2LCA4MSwgNiwgMSwgNDQsIDgxLCAyNDIsIDIxNSwgODEsIDUsIDEsIDQ0LCA4MSwgMjQyLCAyMTUsIDgxLCAKKyAgICA2LCAxLCAyNTIsIDE4NSwgMjMxLCAxNTAsIDgxLCA1LCAxLCAyNTIsIDE4NSwgMjMxLCAxNTAsIDgxLCA2LCAxLCAyNDUsIAorICAgIDE2MSwgMjM4LCAxMjIsIDgxLCA1LCAxLCAyNDUsIDE2MSwgMjM4LCAxMjIsIDgxLCA2LCAxLCA0NCwgODEsIDIzOCwgMTIyLCAKKyAgICA4MSwgNSwgMSwgNDQsIDgxLCAyMzgsIDEyMiwgODEsIDYsIDEsIDQ0LCA4MSwgMTU1LCA4MSwgNSwgMSwgNDQsIDgxLCAxNTUsIAorICAgIDgxLCA2LCAxLCAyMzAsIDE1OCwgMTU1LCA4MSwgNSwgMSwgMjMwLCAxNTgsIDE1NSwgODEsIDYsIDEsIDQ0LCA4MSwgMjM5LCAKKyAgICA0OSwgODEsIDUsIDEsIDQ0LCA4MSwgMjM5LCA0OSwgODEsIDYsIDEsIDQ0LCA4MSwgMjM5LCA4NiwgODEsIDUsIDEsIDQ0LCAKKyAgICA4MSwgMjM5LCA4NiwgODEsIDYsIDEsIDQ0LCA4MSwgMjQwLCAyMTAsIDgxLCA1LCAxLCA0NCwgODEsIDI0MCwgMjEwLCA4MSwgCisgICAgNiwgMSwgNDQsIDgxLCAyNDUsIDY5LCA4MSwgNSwgMSwgNDQsIDgxLCAyNDUsIDY5LCA4MSwgNiwgMSwgNDQsIDgxLCAyMTUsIAorICAgIDE3MywgODEsIDUsIDEsIDQ0LCA4MSwgMjE1LCAxNzMsIDgxLCA2LCAxLCA0NCwgMjIzLCAxODcsIDIxNSwgMTczLCA4MSwgNSwgCisgICAgMSwgNDQsIDIyMywgMTg3LCAyMTUsIDE3MywgODEsIDYsIDEsIDQ0LCAyMjMsIDE4NywgMjI1LCAyNSwgODEsIDUsIDEsIDQ0LCAKKyAgICAyMjMsIDE4NywgMjI1LCAyNSwgODEsIDYsIDEsIDQ0LCAyMjMsIDE4NywgMjIzLCAxMjUsIDgxLCA1LCAxLCA0NCwgMjIzLCAKKyAgICAxODcsIDIyMywgMTI1LCA4MSwgNiwgMSwgNDQsIDIyMywgMTg3LCAyMDcsIDY2LCA4MSwgNSwgMSwgNDQsIDIyMywgMTg3LCAKKyAgICAyMDcsIDY2LCA4MSwgMTYsIDIzMiwgNDEsIDgxLCAxNiwgMjI2LCAyNTUsIDIxOCwgMTI0LCA4MSwgMTYsIDIyMSwgNTQsIAorICAgIDIxOCwgMTI0LCA4MSwgMTYsIDIxNCwgMTcsIDgxLCAxNiwgMjEyLCAxNTIsIDIxOCwgMTI0LCA4MSwgMTYsIDIzMSwgMTQ2LCAKKyAgICAyMTgsIDEyNCwgODEsIDE2LCAyMTUsIDE3NCwgMjE1LCA1MSwgODEsIDYsIDEsIDI0NywgNDMsIDIxNSwgMjA2LCA4MSwgNSwgCisgICAgMSwgMjQ3LCA0MywgMjE1LCAyMDYsIDgxLCA2LCAxLCAyNDcsIDQzLCAyNDAsIDIxMCwgODEsIDUsIDEsIDI0NywgNDMsIAorICAgIDI0MCwgMjEwLCA4MSwgMzYsIDIyNCwgMjMxLCA1MiwgODEsIDM2LCAyMTQsIDEyMywgMjUxLCAyMTcsIDgxLCAzNiwgMjE0LCAKKyAgICAxMjMsIDIzMCwgMTcsIDgxLCA2LCAxLCAyNDksIDE3OCwgMjMxLCAxNTAsIDgxLCA1LCAxLCAyNDksIDE3OCwgMjMxLCAxNTAsIAorICAgIDgxLCA0NCwgMjIzLCAxODcsIDI0MSwgODIsIDIxMywgMjUxLCA4MSwgNDQsIDIyMywgMTg3LCAyNDUsIDEwNCwgMjE5LCAKKyAgICAxOTYsIDgzLCA4MSwgNDQsIDIyMywgMTg3LCAyMzMsIDQ4LCAyMTksIDE5NiwgODMsIDgxLCA0NCwgMjIzLCAxODcsIDIwOSwgCisgICAgMjQsIDI0NSwgNzksIDgxLCAyNDEsIDExNiwgMTE5LCAyMzksIDEyMSwgODEsIDI0MSwgODIsIDIxMywgMjUxLCA4MSwgMjI2LCAKKyAgICAxNDAsIDI0NSwgNzksIDEwOCwgNSwgMSwgMjUyLCAxMjIsIDEwOCwgNSwgMSwgMjUwLCAxNDAsIDEwOCwgNSwgMSwgMjQwLCAKKyAgICAyMTQsIDEwOCwgNSwgMSwgMjQ1LCAzMSwgMTA4LCA1LCAxLCAyNDMsIDQxLCAxMDgsIDUsIDEsIDIwOCwgMTk3LCAxMDgsIDUsIAorICAgIDEsIDIwNSwgODgsIDEwOCwgNSwgMSwgMjEyLCAxNzQsIDEwOCwgNSwgMSwgMjMzLCA2OCwgMTA4LCA1LCAxLCAyMzIsIDI3LCAKKyAgICAxMDgsIDUsIDEsIDIzMCwgODIsIDEwOCwgNSwgMSwgMjI3LCAyMjEsIDEwOCwgNSwgMSwgMjI1LCAyMDAsIDEwOCwgNSwgMSwgCisgICAgMjIyLCAxNjUsIDEwOCwgNSwgMSwgMjIxLCAyMzEsIDEwOCwgNSwgMSwgMjA1LCA3NywgMTA4LCA1LCAxLCAyMTksIDk1LCAKKyAgICAxMDgsIDUsIDEsIDIxNywgMTUxLCAxMDgsIDUsIDEsIDIxMiwgMTYyLCAxMDgsIDUsIDEsIDIwOSwgMjM0LCAxMDgsIDUsIDEsIAorICAgIDIyMSwgODUsIDEwOCwgNSwgMSwgMjMxLCAxNTUsIDEwOCwgNSwgMSwgMjQwLCA5MCwgMTA4LCA1LCAxLCAyMjAsIDQsIDEwOCwgCisgICAgNSwgMSwgMjE1LCAxNzEsIDEwOCwgNSwgMSwgMjQ4LCA0NSwgMTA4LCA1LCAxLCAyNDgsIDIyNiwgMTA4LCA1LCAxLCAyMzIsIAorICAgIDE1NCwgMTA4LCA1LCAxLCAyNDcsIDI0MCwgMTA4LCA1LCAxLCAyNDgsIDk1LCAxMDgsIDUsIDEsIDIwNiwgMTc5LCAxMDgsIAorICAgIDUsIDEsIDIzMiwgMTY3LCAxMDgsIDUsIDEsIDIzOSwgMTM4LCAxMDgsIDUsIDEsIDIzOSwgNzEsIDEwOCwgNSwgMSwgMjM5LCAKKyAgICA2LCAxMDgsIDUsIDEsIDIwNywgNTEsIDEwOCwgNSwgMSwgMjM5LCA5NSwgMTA4LCA1LCAxLCAyMzgsIDE0NiwgMTA4LCA1LCAKKyAgICAxLCAyMDUsIDI0OSwgMTA4LCA1LCAxLCAyNTIsIDIzNywgMjExLCAyMDAsIDEsIDE5MCwgMjExLCAyMDAsIDEsIDIwNiwgCisgICAgMTA1LCAyMTEsIDIwMCwgMSwgMjA2LCAxMDQsIDIxMSwgMjAwLCAxLCAyMDYsIDk0LCAyMTEsIDIwMCwgMSwgMjA2LCA5MiwgCisgICAgMjExLCAyMDAsIDEsIDI1MCwgMTQsIDI1MywgMjMsIDIwNiwgODcsIDIxMSwgMjAwLCAxLCAyMDYsIDg3LCAyMTEsIDIwMCwgCisgICAgMSwgMjA2LCAxMDIsIDIxMSwgMjAwLCAxLCAyMDYsIDk5LCAyMTEsIDIwMCwgMSwgMjA2LCAxMDEsIDIxMSwgMjAwLCAxLCAKKyAgICAyMDYsIDEwMCwgMjExLCAyMDAsIDEsIDIwNiwgMTUsIDIxMSwgMjAwLCAxLCAyMDYsIDk2LCAyMTEsIDIwMCwgMSwgMjA2LCAKKyAgICA4NSwgMjExLCAyMDAsIDEsIDIxMCwgMTY3LCAyMDYsIDg1LCAyMTEsIDIwMCwgMSwgMjA2LCA4MiwgMjExLCAyMDAsIDEsIAorICAgIDIwNiwgOTAsIDIxMSwgMjAwLCAxLCAyNTAsIDE0LCAyNTMsIDIzLCAyMDYsIDkwLCAyMTEsIDIwMCwgMSwgMjEwLCAxNjcsIAorICAgIDIwNiwgOTAsIDIxMSwgMjAwLCAxLCAyMDYsIDg5LCAyMTEsIDIwMCwgMSwgMjA2LCAxMDksIDIxMSwgMjAwLCAxLCAyMDYsIAorICAgIDgzLCAyMTEsIDIwMCwgMSwgMjEwLCAxNjcsIDIwNiwgODMsIDIxMSwgMjAwLCAxLCAyMDYsIDcyLCAyMTEsIDIwMCwgMSwgCisgICAgMjEwLCAxNjcsIDIwNiwgNzIsIDIxMSwgMjAwLCAxLCAyMDYsIDExLCAyMTEsIDIwMCwgMSwgMjA2LCA1NCwgMjExLCAyMDAsIAorICAgIDEsIDI1MiwgMjExLCAyMDYsIDU0LCAyMTEsIDIwMCwgMSwgMjEwLCAxNjcsIDIwNiwgNTQsIDIxMSwgMjAwLCAxLCAyMDYsIAorICAgIDgxLCAyMTEsIDIwMCwgMSwgMjA2LCA4MCwgMjExLCAyMDAsIDEsIDIwNiwgNzcsIDIxMSwgMjAwLCAxLCAyMTAsIDE2NywgCisgICAgMjA2LCA5MSwgMjExLCAyMDAsIDEsIDIxMCwgMTY3LCAyMDYsIDc1LCAyMTEsIDIwMCwgMSwgMjA2LCA3MywgMjExLCAyMDAsIAorICAgIDEsIDIwNSwgMjEzLCAyMTEsIDIwMCwgMSwgMjA2LCA3MCwgMjExLCAyMDAsIDEsIDIwNiwgNjksIDIxMSwgMjAwLCAxLCAKKyAgICAyMDYsIDkzLCAyMTEsIDIwMCwgMSwgMjEwLCAxNjcsIDIwNiwgOTMsIDIxMSwgMjAwLCAxLCAyNTEsIDE1NSwgMjA2LCA5MywgCisgICAgMjExLCAyMDAsIDEsIDIwNiwgNjgsIDIxMSwgMjAwLCAxLCAyMDYsIDY2LCAyMTEsIDIwMCwgMSwgMjA2LCA2NywgMjExLCAKKyAgICAyMDAsIDEsIDIwNiwgNjUsIDIxMSwgMjAwLCAxLCAyMDYsIDY0LCAyMTEsIDIwMCwgMSwgMjA2LCAxMDMsIDIxMSwgMjAwLCAKKyAgICAxLCAyMDYsIDYyLCAyMTEsIDIwMCwgMSwgMjA2LCA2MCwgMjExLCAyMDAsIDEsIDIwNiwgNTksIDIxMSwgMjAwLCAxLCAyMDYsIAorICAgIDU4LCAyMTEsIDIwMCwgMSwgMjA2LCA1NSwgMjExLCAyMDAsIDEsIDIxMiwgMTQzLCAyMDYsIDU1LCAyMTEsIDIwMCwgMSwgCisgICAgMjA2LCA1MywgMjExLCAyMDAsIDEsIDIwNiwgNTIsIDIxMSwgMjAwLCAxLCAyMDUsIDI0NywgMjExLCAyMDAsIDY1LCAxLCAKKyAgICAyMzAsIDEzMSwgODMsIDIxMSwgMjAwLCAyMTYsIDQwLCA4MywgMjExLCAyMDAsIDEwNywgMjMyLCAxMTcsIDMxLCA0LCAyMjksIAorICAgIDE0MywgMzEsIDQsIDIyNiwgMTgwLCAzMSwgNCwgMjE4LCAxMjIsIDMxLCA0LCAyMTQsIDE5MiwgMzEsIDQsIDIxNSwgMTU3LCAKKyAgICAzMSwgNCwgMjQ5LCAxODMsIDMxLCA0LCAyMTEsIDEyOSwgMzEsIDQsIDI0NywgMTczLCAzMSwgNCwgMjI0LCA2NSwgMzEsIDQsIAorICAgIDIyMywgMTA5LCAzMSwgNCwgMjQwLCAyNSwgMjIyLCAyMzAsIDMxLCA0LCAyMDUsIDE4LCAzMSwgNCwgMjQ1LCA0OSwgMzEsIAorICAgIDQsIDI0NiwgMjMsIDMxLCA0LCAyMzIsIDEyMSwgMzEsIDQsIDIxMSwgMjUyLCAzMSwgNCwgMjQ4LCAzMSwgMzEsIDQsIDIyMSwgCisgICAgNjUsIDMxLCA0LCAyMjAsIDIxMCwgMzEsIDQsIDI0MCwgMTA1LCAzMSwgNCwgMjQwLCAxMDEsIDMxLCA0LCAyNDAsIDEwMiwgCisgICAgMzEsIDQsIDI0MCwgMTAzLCAzMSwgNCwgMjE0LCA5NiwgMzEsIDQsIDIxNCwgNTEsIDMxLCA0LCAyMTQsIDY0LCAzMSwgNCwgCisgICAgMjE0LCA5NSwgMzEsIDQsIDIxNCwgNjksIDMxLCA0LCAyMTQsIDcwLCAzMSwgNCwgMjE0LCA1NiwgMzEsIDQsIDI0OCwgMTcxLCAKKyAgICAzMSwgNCwgMjQ4LCAxNTAsIDMxLCA0LCAyNDgsIDE1MiwgMzEsIDQsIDI0OCwgMTcwLCAzMSwgNCwgMjQ4LCAxNjgsIDMxLCAKKyAgICA0LCAyNDgsIDE2OSwgMzEsIDQsIDI0OCwgMTUxLCAzMSwgNCwgMjA0LCAyMzgsIDMxLCA0LCAyMDQsIDIxNiwgMzEsIDQsIAorICAgIDIwNCwgMjI5LCAzMSwgNCwgMjA0LCAyMzcsIDMxLCA0LCAyMDQsIDIzMiwgMzEsIDQsIDIwNCwgMjMzLCAzMSwgNCwgMjA0LCAKKyAgICAyMjEsIDMxLCA0LCAyNDgsIDE2NiwgMzEsIDQsIDI0OCwgMTUzLCAzMSwgNCwgMjQ4LCAxNTUsIDMxLCA0LCAyNDgsIDE2NSwgCisgICAgMzEsIDQsIDI0OCwgMTYzLCAzMSwgNCwgMjQ4LCAxNjQsIDMxLCA0LCAyNDgsIDE1NCwgMzEsIDQsIDIxOSwgMTYyLCAzMSwgCisgICAgNCwgMjE5LCAxNTIsIDMxLCA0LCAyMTksIDE1OCwgMzEsIDQsIDIxOSwgMTYxLCAzMSwgNCwgMjE5LCAxNTksIDMxLCA0LCAKKyAgICAyMTksIDE2MCwgMzEsIDQsIDIxOSwgMTU3LCAzMSwgNCwgMjMwLCAxNjksIDMxLCA0LCAyMzAsIDE2MSwgMzEsIDQsIDIzMCwgCisgICAgMTY0LCAzMSwgNCwgMjMwLCAxNjgsIDMxLCA0LCAyMzAsIDE2NSwgMzEsIDQsIDIzMCwgMTY2LCAzMSwgNCwgMjMwLCAxNjIsIAorICAgIDMxLCA0LCAyMDYsIDEzOSwgMzEsIDQsIDIwNiwgMTI2LCAzMSwgNCwgMjA2LCAxMzQsIDMxLCA0LCAyMDYsIDEzOCwgMzEsIAorICAgIDQsIDIwNiwgMTM2LCAzMSwgNCwgMjA2LCAxMzcsIDMxLCA0LCAyMDYsIDEzMywgMzEsIDQsIDIzOSwgMTY3LCAzMSwgNCwgCisgICAgMjM5LCAxNTcsIDMxLCA0LCAyMzksIDE2MCwgMzEsIDQsIDIzOSwgMTY2LCAzMSwgNCwgMjM5LCAxNjIsIDMxLCA0LCAyMzksIAorICAgIDE2MywgMzEsIDQsIDIzOSwgMTU5LCAzNiwgMzQsIDEsIDI1MCwgNjEsIDM2LCAzNCwgMSwgMjA5LCAzOSwgMzYsIDM0LCAxLCAKKyAgICAyNDAsIDg1LCAzNiwgMzQsIDEsIDI0NiwgOSwgMzYsIDM0LCAxLCAyMDUsIDcyLCAzNiwgMzQsIDEsIDIwNSwgOTMsIDM2LCAKKyAgICAzNCwgMSwgMTcyLCAzNiwgMzQsIDEsIDI0MywgNjgsIDM2LCAzNCwgMSwgMjQzLCA1MCwgMzYsIDM0LCAxLCAyNDMsIDQxLCAKKyAgICAzNiwgMzQsIDEsIDc2LCAzNiwgMzQsIDEsIDIyMSwgMTc0LCAzNiwgMzQsIDEsIDI0MiwgMjM1LCAzNiwgMzQsIDEsIDI0MiwgCisgICAgMjI1LCAzNiwgMzQsIDEsIDIxMiwgMTMxLCAzNiwgMzQsIDEsIDE1NSwgMzYsIDM0LCAxLCAyMTAsIDIzNywgMzYsIDM0LCAxLCAKKyAgICAyNDgsIDgyLCAzNiwgMzQsIDEsIDIxNiwgMiwgMzYsIDM0LCAxLCAyMTUsIDIxNywgMzYsIDM0LCAxLCAyNDEsIDIwNSwgMzYsIAorICAgIDM0LCAxLCAyNDIsIDIyMSwgMzYsIDM0LCAxLCA2MiwgMzYsIDM0LCAxLCAyMzMsIDEyOSwgMzYsIDM0LCAxLCAyNDUsIDY3LCAKKyAgICAzNiwgMzQsIDEsIDIyNiwgMTU4LCAyMDksIDI0OSwgMzYsIDM0LCAxLCAyMDYsIDY1LCAzNiwgMzQsIDEsIDIwNSwgMjEzLCAKKyAgICAzNiwgMzQsIDEsIDIzMiwgMjQ3LCA2MiwgMzYsIDM0LCAxLCAyMjksIDE4MCwgMjA1LCAxODMsIDM2LCAzNCwgMSwgMjQ5LCAKKyAgICAyMzEsIDIwNSwgMTgzLCAzNiwgMzQsIDEsIDIzMiwgMjQ3LCAyNDksIDIzMSwgMjA1LCAxODMsIDQ4LCAyNTIsIDEwOSwgCisgICAgMjEzLCAxNzgsIDIyNywgMTg3LCA0OCwgMjUyLCAxMDksIDI0NCwgMjEsIDIxMywgMTc4LCAyMjcsIDE4NywgNDcsIDIxMywgCisgICAgMTc4LCAxNDUsIDQ4LCAyMTMsIDE3OCwgMTQ1LCA0NywgMjQ0LCAyMSwgMjEzLCAxNzgsIDE0NSwgNDgsIDI0NCwgMjEsIAorICAgIDIxMywgMTc4LCAxNDUsIDIxOSwgODEsIDIzMywgMTIsIDIyNywgMTg3LCAyMTksIDgxLCAyNDQsIDIxLCAyMzMsIDEyLCAKKyAgICAyMjcsIDE4NywgMjQ0LCAyMSwgMjExLCA2NywgMjI3LCAxODcsIDQ3LCAyMTEsIDY3LCAxNDUsIDQ4LCAyMTEsIDY3LCAxNDUsIAorICAgIDIxOSwgODEsIDIxNCwgMTA3LCA0NywgMjE5LCA4MSwgMjIyLCAxNjcsIDE0NSwgNDgsIDIxOSwgODEsIDIyMiwgMTY3LCAKKyAgICAxNDUsIDI0MywgMTA1LCAyNDcsIDg5LCAyMjEsIDIyNywgMjQxLCAxMzgsIDIyMSwgMjI3LCAyMTgsIDIyNCwgMjQxLCAxMzgsIAorICAgIDIyMSwgMjI3LCAyMzcsIDIzNiwgMjQ0LCAyMSwgMjIyLCAyMjUsIDE3MywgMjUyLCAxMTgsIDE2NywgMjUyLCAxMTgsIDI0NCwgCisgICAgMjEsIDIxOCwgMTYyLCAyNTIsIDEwOCwgNTAsIDIyMiwgMjIyLCAyMzcsIDIzOSwgMjMzLCAyLCAyMzMsIDEwLCAyMjIsIDE5LCAKKyAgICAyNDksIDEzMCwgMjM3LCAyNDAsIDIsIDI0NSwgMTY2LCAyMTEsIDE4MSwgMiwgMjE4LCAxNDksIDUyLCA0NywgMTE0LCAyMjEsIAorICAgIDIxOSwgMTQ1LCA0OCwgMTE0LCAyMjEsIDIxOSwgMTQ1LCAyMTEsIDE4MSwgMiwgNjcsIDUyLCAyMTEsIDE4MSwgMiwgNjcsIAorICAgIDU1LCA0NywgNzksIDI1MCwgMTI5LCAyLCAyMTksIDE5MCwgNDgsIDc5LCAyNTAsIDEyOSwgMiwgMjE5LCAxOTAsIDIxMSwgCisgICAgMTAyLCA0NywgMTYwLCAxNDUsIDIxMSwgMTAyLCA0OCwgMTYwLCAxNDUsIDI0OSwgMTU0LCA0NywgMTYwLCAxNDUsIDI0OSwgCisgICAgMTU0LCA0OCwgMTYwLCAxNDUsIDQ3LCAyMTUsIDczLCAxMDYsIDE0NSwgNDgsIDIxNSwgNzMsIDEwNiwgMTQ1LCA0NywgNTAsIAorICAgIDIyMSwgMjE2LCA0OCwgNTAsIDIyMSwgMjE2LCAxMTgsIDE3NywgMTMxLCAxMTksIDY3LCAyMjAsIDcxLCAxMTksIDY3LCAKKyAgICAxMzEsIDExOCwgMTc3LCAyMjAsIDcxLCA5OCwgMjQxLCAxMjUsIDY3LCAyMjAsIDcxLCAyNDEsIDIwNCwgNjcsIDgzLCAyMTgsIAorICAgIDIyNCwgMjE5LCAxOTYsIDgzLCA3OSwgMjExLCAxODAsIDIxOCwgMTQ5LCAyMjAsIDIwNCwgMjA2LCAyMzIsIDIxNiwgNDAsIAorICAgIDIyNiwgMjQ3LCAyNDUsIDIzLCAyMDEsIDI0NywgMTU1LCAyMTksIDgxLCAyNDUsIDIzLCAyMTksIDgxLCAyNDcsIDE1NSwgCisgICAgMjAxLCAyMTYsIDUyLCAyNDYsIDEyOSwgMiwgNDcsIDIzOSwgMjA3LCAyNDYsIDEyOSwgMiwgNDgsIDIzOSwgMjA3LCAyMDEsIAorICAgIDI0NiwgMTI4LCAyMTEsIDEwMiwgMTYwLCAyMTcsIDc3LCA1MywgMjEwLCAxMDksIDI0NiwgNzgsIDIxMSwgMjM3LCAyNDYsIAorICAgIDc4LCAyMTQsIDgsIDI0MSwgODIsIDIxMywgMjUxLCA3OSwgMjE1LCAxMCwgMjQ1LCAyMSwgMjA3LCAxNCwgNzksIDIyOSwgCisgICAgMjA1LCAyNDgsIDIxMSwgNTAsIDIzNywgMjM5LCAyMTgsIDIyNCwgMjQ3LCAxNTUsIDUwLCAyMjksIDkzLCAyMTksIDE4MCwgCisgICAgODMsIDEwLCAzNywgMjE4LCAyNTEsIDEwLCAzNywgMjQ3LCAyMDIsIDEwLCAzNywgMjE3LCA4MCwgMTAyLCAxMCwgMzcsIAorICAgIDIxNywgODAsIDEwNSwgMTAsIDM3LCAyMTcsIDgwLCAxNDIsIDEwLCAzNywgMjIxLCAxMTQsIDEwLCAzNywgMjQ5LCAxNDAsIAorICAgIDEwLCAzNywgMjEyLCAyMDYsIDEwLCAzNywgMjMxLCA1OSwgMTAyLCAxMCwgMzcsIDIzMSwgNTksIDEwNSwgMTAsIDM3LCAKKyAgICAyNDUsIDc2LCAxMCwgMzcsIDIxNywgODQsIDEwLCAzNywgNSwgMTAyLCAxMCwgMzcsIDUsIDEwNSwgMTAsIDM3LCAyMzAsIAorICAgIDEwMSwgMTAyLCAxMCwgMzcsIDIzMCwgMTAxLCAxMDUsIDEwLCAzNywgMjMwLCAxMDEsIDE0MiwgMTAsIDM3LCAyMzAsIDEwMSwgCisgICAgMTM5LCAxMCwgMzcsIDIxNCwgMjA0LCAxMCwgMzcsIDIxMSwgMjM5LCAxMCwgMzcsIDIxNCwgMjAyLCAxMDIsIDEwLCAzNywgCisgICAgMjE0LCAyMDIsIDEwNSwgMTAsIDM3LCAyMzksIDYxLCAxMDIsIDEwLCAzNywgMjM5LCA2MSwgMTA1LCAxMCwgMzcsIDIzOSwgCisgICAgMTA3LCAxMCwgMzcsIDIxOSwgNzEsIDEwLCAzNywgMjQ4LCAyOCwgMTAsIDM3LCAyMTMsIDE1NCwgMTAsIDM3LCAyMjYsIAorICAgIDE0NCwgMTAsIDM3LCAyNDYsIDcsIDEwLCAzNywgMjI2LCAxMzYsIDEwLCAzNywgMjQ3LCAyMjAsIDEwLCAzNywgMjA3LCA3MCwgCisgICAgMTAyLCAxMCwgMzcsIDIwNywgNzAsIDEwNSwgMTAsIDM3LCAyNDEsIDIxOSwgMTAsIDM3LCAyMjEsIDE4NiwgMTAyLCAxMCwgCisgICAgMzcsIDIyMSwgMTg2LCAxMDUsIDEwLCAzNywgMjE1LCA0NiwgMTYwLCAyMTEsIDYyLCAyMTAsIDI0OCwgMTAsIDM3LCAyNDcsIAorICAgIDc1LCAxMCwgMzcsIDI0NSwgNDAsIDEwLCAzNywgMjMyLCAxOTUsIDEwLCAzNywgMjQ5LCAxNzcsIDczLCAyNDcsIDE4NiwgCisgICAgMTAsIDM3LCAyNDIsIDE1MCwgMTAsIDM3LCAyMTQsIDEyNSwgMTAyLCAxMCwgMzcsIDIxNCwgMTI1LCAxMDUsIDEwLCAzNywgCisgICAgMjUwLCAxNDIsIDEwLCAzNywgMjE1LCA1MywgMTAsIDM3LCAyNDksIDMxLCAyMTUsIDUzLCAxMCwgMzcsIDIyNSwgOTIsIAorICAgIDEwMiwgMTAsIDM3LCAyMjUsIDkyLCAxMDUsIDEwLCAzNywgMjI1LCA5MiwgMTQyLCAxMCwgMzcsIDIyNSwgOTIsIDEzOSwgCisgICAgMTAsIDM3LCAyMjcsIDcwLCAxMCwgMzcsIDIxNSwgMjA4LCAxMCwgMzcsIDIxOSwgNzcsIDEwLCAzNywgMjQyLCAxNzQsIDEwLCAKKyAgICAzNywgMjIyLCAxNzksIDEwLCAzNywgMjQ5LCAxMDksIDEwMiwgMTAsIDM3LCAyNDksIDEwOSwgMTA1LCAxMCwgMzcsIDIyNywgCisgICAgMTE0LCAxMCwgMzcsIDIyNiwgMTM5LCAxMCwgMzcsIDIzOSwgMjQwLCAxMDIsIDEwLCAzNywgMjM5LCAyNDAsIDEwNSwgMTAsIAorICAgIDM3LCAyMzksIDI0MCwgMTQyLCAxMCwgMzcsIDIxMSwgMTk4LCAxMCwgMzcsIDI0NywgMTg1LCAxMCwgMzcsIDIwNywgMzYsIAorICAgIDEwMiwgMTAsIDM3LCAyMDcsIDM2LCAxMDUsIDEwLCAzNywgMjQ5LCAzMSwgMjE3LCA3NCwgMTAsIDM3LCAyMTUsIDQ2LCAKKyAgICAyMzgsIDY5LCAxMCwgMzcsIDIzOCwgNjksIDEwLCAzNywgMjQ5LCAzMSwgMjE0LCAxMzYsIDEwLCAzNywgMjQ5LCAzMSwgCisgICAgMjE1LCAyMDMsIDEwLCAzNywgMjQxLCAxNDgsIDEwLCAzNywgMjQ5LCAzMSwgMjQ4LCAxODksIDEwLCAzNywgMjE1LCA0NiwgCisgICAgMjA3LCA4NywgMTAsIDM3LCAyMDcsIDg4LCAxMDIsIDEwLCAzNywgMjA3LCA4OCwgMTA1LCAxMCwgMzcsIDI0NywgMjIzLCAKKyAgICAxMCwgMzcsIDI0OSwgMzEsIDI0MCwgMTEsIDEwLCAzNywgMTUyLCAxMDIsIDEwLCAzNywgMTUyLCAxMDUsIDEwLCAzNywgCisgICAgMjQ5LCAzMSwgMjI5LCAxMjUsIDEwLCAzNywgMjQ5LCAzMSwgMjQwLCAxOTYsIDEwLCAzNywgMjI2LCAxMzIsIDEwMiwgMTAsIAorICAgIDM3LCAyMjYsIDEzMiwgMTA1LCAxMCwgMzcsIDIxOSwgODMsIDEwLCAzNywgMjQ5LCAxODYsIDEwLCAzNywgMjQ5LCAzMSwgCisgICAgMjEyLCAxNjgsIDIzMCwgNTIsIDEwLCAzNywgMjQ5LCAzMSwgMjMwLCA1MywgMTAsIDM3LCAyNDksIDMxLCAyMDcsIDksIDEwLCAKKyAgICAzNywgMjQ5LCAzMSwgMjQxLCAxNjYsIDEwLCAzNywgMjQzLCAxMTQsIDEwMiwgMTAsIDM3LCAyNDMsIDExNCwgMTA1LCAxMCwgCisgICAgMzcsIDI0MywgMTE0LCAxNDIsIDEwLCAzNywgMjQ5LCAzMSwgMjQzLCAxMTMsIDEwLCAzNywgMjM5LCA2OCwgMTAsIDM3LCAKKyAgICAyNDksIDMxLCAyMzgsIDY1LCAxMCwgMzcsIDI0OSwgMTczLCAxMCwgMzcsIDI0MCwgNjksIDEwLCAzNywgMjQ5LCAzMSwgCisgICAgMjQxLCAyMTMsIDEwLCAzNywgMjQ5LCAzMSwgMjQ5LCAyMTgsIDEwLCAzNywgMjQ5LCAzMSwgMjE3LCAxNjUsIDEwLCAzNywgCisgICAgMjE1LCA0NiwgMjA3LCAyOCwgMTAsIDM3LCAyMTUsIDQ2LCAyMDYsIDQ0LCAxMCwgMzcsIDI0OSwgMzEsIDI0MSwgOTksIDEwLCAKKyAgICAzNywgMjMyLCAyMDIsIDI0MiwgMTc4LCAxMCwgMzcsIDI0OSwgMzEsIDI0MiwgMTc4LCAxMCwgMzcsIDIzMiwgMjAyLCAyMTEsIAorICAgIDEwMywgMTAsIDM3LCAyNDksIDMxLCAyMTEsIDEwMywgMTAsIDM3LCAyMzIsIDIwMiwgMjQzLCAyNTUsIDEwLCAzNywgMjQ5LCAKKyAgICAzMSwgMjQzLCAyNTUsIDEwLCAzNywgMjEwLCAxNDEsIDEwLCAzNywgMjMyLCAyMDIsIDIxMCwgMTQxLCAxMCwgMzcsIDI0OSwgCisgICAgMzEsIDIxMCwgMTQxLCA2OCwgMzcsIDEwMiwgNjgsIDM3LCAyMjksIDIwNSwgNjgsIDM3LCAyNDUsIDIzLCA2OCwgMzcsIAorICAgIDIxNCwgMjM1LCA2OCwgMzcsIDIxNywgNzksIDY4LCAzNywgMTA5LCA2OCwgMzcsIDEwNSwgNjgsIDM3LCAyMjksIDIzMSwgCisgICAgNjgsIDM3LCAyMjcsIDIyMSwgNjgsIDM3LCAyMzAsIDMxLCA2OCwgMzcsIDI0MywgMTgsIDY4LCAzNywgMTkzLCA2OCwgMzcsIAorICAgIDEzMCwgMjQ5LCAxNDAsIDY4LCAzNywgMjQ3LCA3NywgNjgsIDM3LCAyMzcsIDE4MSwgNjgsIDM3LCAyMTIsIDIwNiwgNjgsIAorICAgIDM3LCAyMjIsIDE0MiwgMjQ5LCAxNDAsIDY4LCAzNywgMjMxLCA1OCwgNjgsIDM3LCAyMjAsIDE2MSwgNjgsIDM3LCAyMDYsIAorICAgIDIyMywgNjgsIDM3LCAyMTQsIDExOCwgNjgsIDM3LCA0OCwgMjIyLCAxNDIsIDI0OSwgMTQwLCA2OCwgMzcsIDIzOSwgNywgCisgICAgMjQzLCAzNiwgNjgsIDM3LCAyMTIsIDk4LCA2OCwgMzcsIDI0NSwgNzYsIDY4LCAzNywgMjE3LCA4NCwgNjgsIDM3LCAyNDcsIAorICAgIDIwMiwgNjgsIDM3LCAyMjAsIDExNywgNjgsIDM3LCAyNTIsIDIxOSwgNjgsIDM3LCAyMjYsIDEyMywgNjgsIDM3LCAyNDMsIAorICAgIDM2LCA2OCwgMzcsIDI0MywgMTIwLCA2OCwgMzcsIDIxNywgMTA1LCA2OCwgMzcsIDI0MCwgMTksIDY4LCAzNywgMjQwLCAyMCwgCisgICAgMjE0LCAyMTcsIDY4LCAzNywgMjQyLCAxNzcsIDY4LCAzNywgMjQ5LCAyMzAsIDY4LCAzNywgMjA2LCAyNDQsIDY4LCAzNywgCisgICAgMjQ4LCA0OSwgNjgsIDM3LCAyMTgsIDEwNiwgNjgsIDM3LCAyMzMsIDY0LCA2OCwgMzcsIDIxNCwgMjE1LCA2OCwgMzcsIAorICAgIDIzMCwgMTAwLCA2OCwgMzcsIDI0NywgODcsIDY4LCAzNywgMjE0LCAxMTEsIDY4LCAzNywgMjI2LCAxMjgsIDY4LCAzNywgCisgICAgMjE4LCAxMzgsIDY4LCAzNywgMjA2LCAyMjksIDY4LCAzNywgMjIyLCAxNTksIDY4LCAzNywgMjEwLCAxNDgsIDY4LCAzNywgCisgICAgMjQzLCAyMzksIDY4LCAzNywgMjE1LCAxNDQsIDIxMSwgMjM5LCA2OCwgMzcsIDI0NCwgMjEsIDI0NywgMjAyLCA2OCwgMzcsIAorICAgIDE1MiwgMjEzLCAyMzAsIDY4LCAzNywgMTE4LCAyMzksIDEwMiwgNjgsIDM3LCAyMTUsIDE1MCwgNjgsIDM3LCAyNDksIDE0NiwgCisgICAgNjgsIDM3LCAyMTQsIDIwMSwgNjgsIDM3LCAyNDksIDExMywgNjgsIDM3LCAyMTQsIDcsIDY4LCAzNywgMjM5LCA2MCwgNjgsIAorICAgIDM3LCAyMzksIDEyMiwgNjgsIDM3LCAyNDUsIDI2LCA2OCwgMzcsIDIzOSwgMTA3LCA2OCwgMzcsIDI0OSwgMTMwLCA2OCwgCisgICAgMzcsIDIxOSwgNzEsIDY4LCAzNywgMjE3LCA5MiwgNjgsIDM3LCAyNDUsIDEwNiwgNjgsIDM3LCAyNTEsIDE2MCwgNjgsIDM3LCAKKyAgICAyMTQsIDEwNywgNjgsIDM3LCAyMjQsIDQyLCA2OCwgMzcsIDIxMywgMTU0LCA2OCwgMzcsIDIxNywgMTE2LCA2OCwgMzcsIAorICAgIDIyNiwgMTQ0LCA2OCwgMzcsIDIxMSwgNjEsIDY4LCAzNywgMjMwLCAxMjcsIDY4LCAzNywgMjEzLCAyNTEsIDY4LCAzNywgCisgICAgMjQ2LCA3LCA2OCwgMzcsIDIwNywgNTAsIDY4LCAzNywgMjQ1LCA1MiwgMjI0LCA0MiwgNjgsIDM3LCAyNDcsIDE1MSwgNjgsIAorICAgIDM3LCAyNDEsIDc1LCA2OCwgMzcsIDI0NywgMjE0LCA2OCwgMzcsIDIxNCwgMTIsIDY4LCAzNywgMjA3LCA2OSwgNjgsIDM3LCAKKyAgICAyNDEsIDIxOSwgNjgsIDM3LCAyNDcsIDIxMCwgNjgsIDM3LCAyNDIsIDM1LCA2OCwgMzcsIDUwLCAyMDYsIDE5NSwgNjgsIAorICAgIDM3LCAxNjAsIDIxMSwgNjIsIDIxMCwgMjQ4LCA2OCwgMzcsIDIxNCwgMjI4LCA2OCwgMzcsIDI0MiwgNDUsIDY4LCAzNywgCisgICAgMjQ3LCA3NSwgNjgsIDM3LCAyNDUsIDQwLCA2OCwgMzcsIDIyMCwgMTE0LCA2OCwgMzcsIDIzMiwgMTk1LCA2OCwgMzcsIAorICAgIDIyNywgOTIsIDY4LCAzNywgMjExLCAxNzksIDY4LCAzNywgMjEzLCAxMDQsIDY4LCAzNywgMjI5LCAyMjUsIDY4LCAzNywgCisgICAgMjA5LCAxNzUsIDY4LCAzNywgMjQxLCAyNDksIDY4LCAzNywgMjQ5LCAxNzcsIDczLCAyNDcsIDE4NiwgNjgsIDM3LCAyMTUsIAorICAgIDc2LCA2OCwgMzcsIDI0NCwgMjEsIDIxMiwgOTIsIDY4LCAzNywgMjA3LCAyMywgNjgsIDM3LCAyMTQsIDI0MywgNjgsIDM3LCAKKyAgICAyNDUsIDk0LCA2OCwgMzcsIDI0MiwgMTUwLCA2OCwgMzcsIDIxNCwgMTM5LCA2OCwgMzcsIDQ1LCA2OCwgMzcsIDIxMywgCisgICAgMjUzLCA2OCwgMzcsIDIxNCwgMTI0LCA2OCwgMzcsIDIxMSwgODIsIDY4LCAzNywgMjM5LCAyNDcsIDY4LCAzNywgMjQ4LCAKKyAgICAxNzYsIDY4LCAzNywgMjE0LCAzMCwgNjgsIDM3LCAyNTAsIDE0MiwgNjgsIDM3LCAyMTgsIDIwMywgNjgsIDM3LCAyMTUsIAorICAgIDUzLCA2OCwgMzcsIDIzMiwgMTg4LCA2OCwgMzcsIDIyNSwgOTEsIDY4LCAzNywgMjE1LCAyMDgsIDY4LCAzNywgMjQyLCAyMywgCisgICAgNjgsIDM3LCAyMjIsIDE3OSwgNjgsIDM3LCAyNTIsIDExNywgNjgsIDM3LCAyMjAsIDIyNSwgNjgsIDM3LCAyNDMsIDEyNCwgCisgICAgNjgsIDM3LCAyNDksIDEwOCwgNjgsIDM3LCAyMjcsIDExNCwgNjgsIDM3LCAyMjYsIDIwMywgNjgsIDM3LCAyMTYsIDU4LCAKKyAgICA2OCwgMzcsIDI1MSwgMjQ3LCA2OCwgMzcsIDIyNiwgMTM5LCA2OCwgMzcsIDIxMSwgMTA3LCA2OCwgMzcsIDIyMiwgMTMwLCAKKyAgICA2OCwgMzcsIDI0OSwgMTgwLCA2OCwgMzcsIDIxMywgMjQ5LCA2OCwgMzcsIDI0NywgMTYxLCA2OCwgMzcsIDIzOSwgMjM5LCAKKyAgICA2OCwgMzcsIDIxMSwgMTk4LCA2OCwgMzcsIDIzMywgMjgsIDY4LCAzNywgMjQ5LCAxOTEsIDY4LCAzNywgMjA3LCA4OCwgCisgICAgMjQzLCAzNiwgNjgsIDM3LCAyNDcsIDE4NSwgNjgsIDM3LCAyMDcsIDM1LCA2OCwgMzcsIDIxNywgNzQsIDY4LCAzNywgMjM4LCAKKyAgICA2OSwgNjgsIDM3LCAyMTQsIDEzNiwgNjgsIDM3LCAyMDksIDYzLCA2OCwgMzcsIDI1MCwgNTcsIDY4LCAzNywgMjIxLCAxNywgCisgICAgNjgsIDM3LCAyNTAsIDE2NSwgNjgsIDM3LCAyMTUsIDIwMywgNjgsIDM3LCAyMTksIDMxLCA2OCwgMzcsIDIxOCwgMzUsIDY4LCAKKyAgICAzNywgMjQxLCAxNDgsIDY4LCAzNywgMjQ5LCAxNzksIDY4LCAzNywgMjQ4LCAxODksIDY4LCAzNywgMjQ5LCAyMDcsIDY4LCAKKyAgICAzNywgMjI2LCAxNDEsIDY4LCAzNywgMjA3LCA4NywgNjgsIDM3LCAyNDcsIDIyMywgNjgsIDM3LCAyMDcsIDUsIDY4LCAzNywgCisgICAgMjQ1LCA4NywgNjgsIDM3LCAyMDgsIDE5OCwgNjgsIDM3LCAyNDAsIDExLCA2OCwgMzcsIDIyOSwgMTI1LCA2OCwgMzcsIAorICAgIDI0MCwgMTk2LCA2OCwgMzcsIDIyNiwgMTMxLCA2OCwgMzcsIDIxNCwgMjM0LCA2OCwgMzcsIDIxNSwgMTQ0LCAyMTIsIDE5MCwgCisgICAgMjQ5LCAyMTgsIDY4LCAzNywgMjE5LCA4MywgNjgsIDM3LCAyNDksIDE4NiwgNjgsIDM3LCAyMDYsIDIxOCwgNjgsIDM3LCAKKyAgICAyNDIsIDY3LCA2OCwgMzcsIDIzMCwgNTIsIDY4LCAzNywgMjEyLCAxNjgsIDIzMCwgNTIsIDY4LCAzNywgMjMwLCA0OCwgNjgsIAorICAgIDM3LCAyMTQsIDE2NCwgNjgsIDM3LCAyMzAsIDUzLCA2OCwgMzcsIDIwNywgOSwgNjgsIDM3LCAyNDEsIDE2NiwgNjgsIDM3LCAKKyAgICAyNDMsIDExMywgNjgsIDM3LCAyMzksIDY4LCA2OCwgMzcsIDI0MSwgMTE0LCA2OCwgMzcsIDIzOCwgNjUsIDY4LCAzNywgCisgICAgMjQ5LCAxNzMsIDY4LCAzNywgMjEyLCAxNzcsIDY4LCAzNywgMjM5LCAxMjksIDY4LCAzNywgMjQxLCAyNDIsIDY4LCAzNywgCisgICAgMjE3LCAxOTMsIDIwNywgNSwgNjgsIDM3LCAyNDgsIDE3OCwgNjgsIDM3LCAyNDAsIDY5LCA2OCwgMzcsIDI0MSwgMjEzLCAKKyAgICA2OCwgMzcsIDI0OSwgMjE4LCA2OCwgMzcsIDIxNywgMTY1LCA2OCwgMzcsIDI0NSwgMjQ4LCA2OCwgMzcsIDIwNywgMjgsIAorICAgIDY4LCAzNywgMjM5LCA0MiwgNjgsIDM3LCAyMDYsIDQ0LCA2OCwgMzcsIDIyNiwgMjE0LCA2OCwgMzcsIDI0OSwgMjAyLCA2OCwgCisgICAgMzcsIDI0MywgNDYsIDY4LCAzNywgMjQxLCA5OSwgNjgsIDM3LCAyMTEsIDM0LCA2OCwgMzcsIDI0MywgMjQxLCA2OCwgMzcsIAorICAgIDIxOSwgNjUsIDY4LCAzNywgMjI0LCA0NCwgNjgsIDM3LCAyNDIsIDE3OCwgNjgsIDM3LCAyMTEsIDEwMywgNjgsIDM3LCAKKyAgICAyNDMsIDI1NSwgNjgsIDM3LCAyMTAsIDE0MSwgNjgsIDM3LCAyNDEsIDE2OCwgMTI4LCAyNDUsIDIwOSwgMTU3LCA0NywgCisgICAgMjExLCAxMzAsIDIxOCwgMTY3LCAxMjgsIDI0NSwgMjA5LCAxNTcsIDg0LCAyMTEsIDEzMCwgNTUsIDEyOCwgMjQ1LCAyMDksIAorICAgIDE1NywgNDcsIDIxMSwgMTMwLCAyMjYsIDI0NywgMjMsIDIxOCwgMTY3LCAxMjgsIDI0NSwgMjA5LCAxNTcsIDg0LCAyMTEsIAorICAgIDEzMCwgMjI2LCAyNDcsIDIzLCA1NSwgMTI4LCAyNDUsIDIwOSwgMTU3LCAyNDEsIDgyLCAyMTMsIDEyNiwgMTI4LCAyNDUsIAorICAgIDIwOSwgMTU3LCAyMTMsIDEyNywgMjQxLCA5OCwgNTIsIDEyOCwgMjQ1LCAyMDksIDE1NywgMjEzLCAxMjcsIDI0MSwgOTgsIAorICAgIDU1LCAxMjgsIDI0NSwgMjA5LCAxNTcsIDIxMywgMTI3LCAyNDEsIDk4LCAyMzAsIDQ2LCAxMjgsIDI0NSwgMjA5LCAxNTcsIAorICAgIDIxMywgMTI3LCAyNDEsIDk4LCAyMDksIDIwMywgMjMwLCA0NiwgMTI4LCAyNDUsIDIwOSwgMTU3LCAyMTMsIDEyNywgMjQxLCAKKyAgICA5OCwgMjA5LCAyMDMsIDIxOCwgMTY3LCAxMjgsIDI0NSwgMjA5LCAxNTcsIDIxMywgMTI3LCAyNDEsIDk4LCAyMjksIDkyLCAKKyAgICAyMzAsIDQ2LCAxMjgsIDI0NSwgMjA5LCAxNTcsIDIyMiwgODUsIDEyOCwgMjE0LCAxNTMsIDEyOCwgMjQ3LCAxNTUsIDEyOCwgCisgICAgMjQxLCA4MiwgMjEzLCAyNTEsIDI0NSwgODQsIDgzLCAyMzIsIDE4OSwgMjMzLCA0NywgMjE0LCAyOSwgOTMsIDEyOCwgMjMyLCAKKyAgICAyMTgsIDgzLCAxMjgsIDI0NywgMTg4LCA4MywgMTI4LCA0MywgMjA1LCA4NSwgNDcsIDI1MiwgMTA5LCAxNDUsIDQ4LCAyNTIsIAorICAgIDEwOSwgMTQ1LCA0NywgNTAsIDI1MiwgMTA5LCAxNDUsIDQ4LCA1MCwgMjUyLCAxMDksIDE0NSwgNDcsIDI0NywgOTIsIDE0NSwgCisgICAgNDgsIDI0NywgOTIsIDE0NSwgNDcsIDU5LCAyNDcsIDkyLCAxNDUsIDQ4LCA1OSwgMjQ3LCA5MiwgMTQ1LCA0NywgNjAsIAorICAgIDIzMCwgMTYsIDE0NSwgNDgsIDYwLCAyMzAsIDE2LCAxNDUsIDIyMCwgMTc0LCA4MywgMjQwLCAxMzgsIDgzLCA0NywgMjExLCAKKyAgICA5MywgMjE1LCAyMDQsIDE0NSwgNDgsIDIxMSwgOTMsIDIxNSwgMjA0LCAxNDUsIDQ3LCA1OSwgMjMwLCAxNiwgMTQ1LCA0OCwgCisgICAgNTksIDIzMCwgMTYsIDE0NSwgNDcsIDU5LCAyMTEsIDkzLCAyMTUsIDIwNCwgMTQ1LCA0OCwgNTksIDIxMSwgOTMsIDIxNSwgCisgICAgMjA0LCAxNDUsIDQ3LCA1OSwgNDksIDE0NSwgNDgsIDU5LCA0OSwgMTQ1LCAyMDcsIDY1LCAyNDYsIDc4LCAyMTgsIDIyNCwgCisgICAgNTAsIDIyMCwgMTI4LCAyMTksIDE4MCwgODMsIDUwLCAyMjAsIDEyOCwgMjE5LCAxODAsIDgzLCAxMTQsIDUwLCAyMjAsIAorICAgIDEyOCwgMjE5LCAxODAsIDgzLCAyMjAsIDE3NCwgMTQxLCAyNDIsIDY3LCAyMzksIDEwMCwgMjIzLCAxNzcsIDEwMiwgMjM5LCAKKyAgICAxMDAsIDIyMywgMTc3LCAxMDUsIDIzOSwgMTAwLCAyMjMsIDE3NywgMTQyLCAyMzksIDEwMCwgMjIzLCAxNzcsIDEzOSwgCisgICAgMjM5LCAxMDAsIDIyMywgMTc3LCAxNjgsIDIzOSwgMTAwLCAyMjMsIDE3NywgMTg0LCAyMzksIDEwMCwgMjIzLCAxNzcsIAorICAgIDE5NSwgMjM5LCAxMDAsIDIyMywgMTc3LCAxOTMsIDIzOSwgMTAwLCAyMjMsIDE3NywgMjAwLCAxMjgsIDIyOSwgMjU0LCAKKyAgICAxMzUsIDgzLCAxMjgsIDIxOCwgMTQyLCAxMzUsIDgzLCAxMjgsIDI0NSwgMjE3LCAxMzUsIDgzLCAxMjgsIDI0MywgMTcsIAorICAgIDEzNSwgODMsIDI1LCAyMTUsIDQxLCA2NywgMTM1LCA4MywgMjUsIDUwLCA2NywgMTM1LCA4MywgMjA3LCA2MSwgMjQ2LCA3OCwgCisgICAgNzksIDIzMiwgMjYsIDIxOCwgMjUyLCA4MywgNzksIDIzMiwgMjYsIDIxOCwgMjUyLCAyLCAyMDgsIDE3MCwgMjE0LCAxNjUsIAorICAgIDgzLCA3OSwgMjMyLCAyNiwgMjE4LCAyNTIsIDE0MSwgMjA5LCAyMDMsIDIzOSwgMTIxLCA3OSwgMjMyLCAyNiwgMjE4LCAKKyAgICAyNTIsIDIsIDIwOCwgMTcwLCAyMTQsIDE2NSwgMTQxLCAyMDksIDIwMywgMjM5LCAxMjEsIDc5LCAyMzIsIDI2LCAyMTgsIAorICAgIDI1MiwgMTQxLCAyMjksIDkyLCAyMzksIDEyMSwgMzksIDIyMCwgMTc0LCA4MywgMTI4LCAyMTIsIDExMCwgMjI5LCAyMDYsIAorICAgIDI0MiwgMjAsIDIxNiwgNDAsIDkzLCAyMzksIDEwMCwgMjIzLCAxNzcsIDIxMiwgOTgsIDIzOSwgMTAwLCAyMjMsIDE3NywgCisgICAgMjEwLCAxMjMsIDIzOSwgMTAwLCAyMjMsIDE3NywgMjEyLCAzLCA3OSwgMTI4LCAyMzIsIDIxOCwgODMsIDIyNywgMTcxLCAKKyAgICA4MywgMjIxLCAyMTEsIDI1MiwgMTQwLCA4MywgMTI4LCA1NCwgMjMzLCA0OSwgMTI4LCAxNjAsIDI0MSwgMjM1LCAyMTQsIAorICAgIDE1MywgMTYxLCAxLCA1LCA2MiwgMTYxLCAxLCA2MiwgMTYxLCAxLCA1LCA3NCwgMTYxLCAxLCA3NCwgMTYxLCAxLCA1LCA3MSwgCisgICAgMTYxLCAxLCA3MSwgMTYxLCAxLCA1LCA3NSwgMTYxLCAxLCA3NSwgMTYxLCAxLCA1LCA3NiwgMTYxLCAxLCA3NiwgMTYxLCAxLCAKKyAgICAxNzIsIDE2MSwgMSwgMjQwLCAyNDQsIDE2MSwgMSwgMjMxLCAxMjMsIDE2MSwgMSwgMjQwLCA2MSwgMTYxLCAxLCAyMzAsIAorICAgIDIzNiwgMTYxLCAxLCAyMzksIDIxMywgMTYxLCAxLCAyMzEsIDIyNCwgMTYxLCAxLCAyNDAsIDE3MCwgMTYxLCAxLCAyMzEsIAorICAgIDUzLCAxNjEsIDEsIDI0MCwgMTksIDE2MSwgMSwgMjE3LCAxOTksIDE2MSwgMSwgMjA1LCAxMTYsIDE2MSwgMSwgMjE1LCA4MCwgCisgICAgMTYxLCAxLCAyMDUsIDQwLCAxNjEsIDEsIDIxMywgMjAzLCAxNjEsIDEsIDIwNSwgOSwgMTYxLCAxLCAyMTcsIDg2LCAxNjEsIAorICAgIDEsIDIwNSwgOTMsIDE2MSwgMSwgMjE0LCAxOTMsIDE2MSwgMSwgMjA1LCAxOSwgMTYxLCAxLCAyMTIsIDIxOSwgMTYxLCAxLCAKKyAgICAyNDYsIDE0NSwgMTYxLCAxLCAyMTEsIDIxMSwgMTYxLCAxLCAyNDUsIDE2OCwgMTYxLCAxLCA1LCAyMTAsIDE3MCwgMTYxLCAKKyAgICAxLCAyMTAsIDE3MCwgMTYxLCAxLCAyNDMsIDIzNywgMTYxLCAxLCAyMTIsIDEzMSwgMTYxLCAxLCAyNDYsIDksIDE2MSwgMSwgCisgICAgMTI0LCAxNjEsIDEsIDI0NSwgNTEsIDE2MSwgMSwgMTk5LCAxNjEsIDEsIDIyNCwgMjMwLCAxNjEsIDEsIDIyMywgMjE3LCAKKyAgICAxNjEsIDEsIDIyNSwgMTEwLCAxNjEsIDEsIDIyNCwgNjcsIDE2MSwgMSwgMTU1LCAxNjEsIDEsIDI1MCwgMTgzLCAxNjEsIDEsIAorICAgIDE3OSwgMTYxLCAxLCAyMzksIDExLCAxNjEsIDEsIDI0OSwgMjQ0LCAxNjEsIDEsIDIyMSwgNTMsIDE2MSwgMSwgMjM4LCA0MiwgCisgICAgMTYxLCAxLCAyNDksIDEwMSwgMTYxLCAxLCAyMjAsIDgyLCAxNjEsIDEsIDIzOSwgNzEsIDE2MSwgMSwgMjUwLCA2MSwgMTYxLCAKKyAgICAxLCAyMjEsIDE3NCwgMTYxLCAxLCAyMzgsIDE0OSwgMTYxLCAxLCAyNDksIDE4NCwgMTYxLCAxLCAyMjAsIDIxMSwgMTYxLCAKKyAgICAxLCAxODUsIDE2MSwgMSwgMjI2LCAyNTQsIDE2MSwgMSwgMjI2LCAxMTQsIDE2MSwgMSwgMjI3LCAxMTksIDE2MSwgMSwgCisgICAgMjI2LCAxODEsIDE2MSwgMSwgNSwgMTkwLCAxNjEsIDEsIDE5MCwgMTYxLCAxLCA1LCAyMDUsIDIxMywgMTYxLCAxLCAyMDUsIAorICAgIDIxMywgMTYxLCAxLCA1LCAyMDUsIDI0NywgMTYxLCAxLCAyMDUsIDI0NywgMTYxLCAxLCAyMTksIDExMywgMTYxLCAxLCAKKyAgICAyMTgsIDIwOCwgMTYxLCAxLCAyMTgsIDUwLCAxNjEsIDEsIDIxOSwgNTEsIDE2MSwgMSwgMjE4LCAxMjQsIDE2MSwgMSwgNSwgCisgICAgMjA3LCA5NiwgMTYxLCAxLCAyMDcsIDk2LCAxNjEsIDEsIDIwNywgMjAsIDE2MSwgMSwgMjA3LCA1MSwgMTYxLCAxLCAyMDYsIAorICAgIDI1MCwgMTYxLCAxLCAyMjYsIDMzLCAxNjEsIDEsIDIwNywgMTQ4LCAxNjEsIDEsIDUsIDE3MiwgMTYxLCAxLCA1LCAyMzEsIAorICAgIDIyNCwgMzYsIDIzMSwgMjQ4LCAyMDgsIDE3MCwgMjE0LCAxNjUsIDgzLCAzNiwgMjMxLCAyNDgsIDIxNiwgNTcsIDIxNCwgCisgICAgMTY1LCA4MywgMjMxLCAyNDgsIDIwOCwgMTcwLCAyMTQsIDE2NSwgODMsIDIzMSwgMjQ4LCAyMTYsIDU3LCAyMTQsIDE2NSwgCisgICAgODMsIDE2MSwgMjMyLCAyMTgsIDgzLCAxNjEsIDIwOCwgMTcwLCAyMzIsIDIxOCwgODMsIDE2MSwgMjQ1LCAxMjgsIDIwNSwgCisgICAgMjI4LCAyMzEsIDI0OCwgNTAsIDIzNywgMjM5LCA2NCwgMSwgNSwgNjIsIDY0LCAxLCA2MiwgNjQsIDEsIDUsIDc0LCA2NCwgCisgICAgMSwgNzQsIDY0LCAxLCA1LCA3MSwgNjQsIDEsIDcxLCA2NCwgMSwgNSwgNzUsIDY0LCAxLCA3NSwgNjQsIDEsIDUsIDc2LCAKKyAgICA2NCwgMSwgNzYsIDY0LCAxLCAxNzIsIDY0LCAxLCAyNDAsIDI0NCwgNjQsIDEsIDIzMSwgMTIzLCA2NCwgMSwgMjQwLCA2MSwgCisgICAgNjQsIDEsIDIzMCwgMjM2LCA2NCwgMSwgMjM5LCAyMTMsIDY0LCAxLCAyMzEsIDIyNCwgNjQsIDEsIDI0MCwgMTcwLCA2NCwgCisgICAgMSwgMjMxLCA1MywgNjQsIDEsIDI0MCwgMTksIDY0LCAxLCAyMTcsIDE5OSwgNjQsIDEsIDIwNSwgMTE2LCA2NCwgMSwgMjE1LCAKKyAgICA4MCwgNjQsIDEsIDIwNSwgNDAsIDY0LCAxLCAyMTMsIDIwMywgNjQsIDEsIDIwNSwgOSwgNjQsIDEsIDIxNywgODYsIDY0LCAKKyAgICAxLCAyMDUsIDkzLCA2NCwgMSwgMjE0LCAxOTMsIDY0LCAxLCAyMDUsIDE5LCA2NCwgMSwgMjEyLCAyMTksIDY0LCAxLCAyNDYsIAorICAgIDE0NSwgNjQsIDEsIDIxMSwgMjExLCA2NCwgMSwgMjQ1LCAxNjgsIDY0LCAxLCA1LCAyMTAsIDE3MCwgNjQsIDEsIDIxMCwgCisgICAgMTcwLCA2NCwgMSwgMjQzLCAyMzcsIDY0LCAxLCAyMTIsIDEzMSwgNjQsIDEsIDI0NiwgOSwgNjQsIDEsIDEyNCwgNjQsIDEsIAorICAgIDI0NSwgNTEsIDY0LCAxLCAxOTksIDY0LCAxLCAyMjQsIDIzMCwgNjQsIDEsIDIyMywgMjE3LCA2NCwgMSwgMjI1LCAxMTAsIAorICAgIDY0LCAxLCAyMjQsIDY3LCA2NCwgMSwgMTU1LCA2NCwgMSwgMjUwLCAxODMsIDY0LCAxLCAxNzksIDY0LCAxLCAyMzksIDExLCAKKyAgICA2NCwgMSwgMjQ5LCAyNDQsIDY0LCAxLCAyMjEsIDUzLCA2NCwgMSwgMjM4LCA0MiwgNjQsIDEsIDI0OSwgMTAxLCA2NCwgMSwgCisgICAgMjIwLCA4MiwgNjQsIDEsIDIzOSwgNzEsIDY0LCAxLCAyNTAsIDYxLCA2NCwgMSwgMjIxLCAxNzQsIDY0LCAxLCAyMzgsIAorICAgIDE0OSwgNjQsIDEsIDI0OSwgMTg0LCA2NCwgMSwgMjIwLCAyMTEsIDY0LCAxLCAxODUsIDY0LCAxLCAyMjYsIDI1NCwgNjQsIAorICAgIDEsIDIyNiwgMTE0LCA2NCwgMSwgMjI3LCAxMTksIDY0LCAxLCAyMjYsIDE4MSwgNjQsIDEsIDUsIDE5MCwgNjQsIDEsIDE5MCwgCisgICAgNjQsIDEsIDUsIDIwNSwgMjEzLCA2NCwgMSwgMjA1LCAyMTMsIDY0LCAxLCA1LCAyMDUsIDI0NywgNjQsIDEsIDIwNSwgMjQ3LCAKKyAgICA2NCwgMSwgMjE5LCAxMTMsIDY0LCAxLCAyMTgsIDIwOCwgNjQsIDEsIDIxOCwgNTAsIDY0LCAxLCAyMTksIDUxLCA2NCwgMSwgCisgICAgMjE4LCAxMjQsIDY0LCAxLCA1LCAyMDcsIDk2LCA2NCwgMSwgMjA3LCA5NiwgNjQsIDEsIDIwNywgMjAsIDY0LCAxLCAyMDcsIAorICAgIDUxLCA2NCwgMSwgMjA2LCAyNTAsIDY0LCAxLCAyMjYsIDMzLCA2NCwgMSwgMjA3LCAxNDgsIDY0LCAxLCA1LCAxNzIsIDY0LCAKKyAgICAxLCA1LCAyMzEsIDIyNCwgNjQsIDEsIDIwOSwgNzAsIDY0LCAxLCAyMDgsIDIxNCwgNjQsIDEsIDIwOSwgMzksIDY0LCAxLCAKKyAgICAyMDgsIDE3MywgNjQsIDIyNiwgMjQ3LCAyNDUsIDIzLCAyMzEsIDI0OCwgMjIwLCAxMDYsIDIxNCwgMTY1LCA4MywgNjQsIAorICAgIDIzMiwgMjE4LCA4MywgNjQsIDIwOCwgMTcwLCAyMzIsIDIxOCwgODMsIDY0LCAyNDUsIDEyOCwgMjMxLCAyMCwgMjQ5LCAKKyAgICAxNjMsIDEsIDI1MSwgMTUwLCAyNDksIDE2MywgMSwgMjIyLCA2NywgMjQ5LCAxNjMsIDEsIDIyOSwgMjgsIDI0OSwgMTYzLCAKKyAgICAxLCAyNDIsIDEzOSwgMjQ5LCAxNjMsIDEsIDI0NiwgMjQwLCAyNDksIDE2MywgMSwgMjEzLCAxMCwgMjQ5LCAxNjMsIDEsIAorICAgIDIyNiwgMzMsIDI0OSwgMTYzLCAxLCAxNDksIDI0OSwgMTYzLCAxLCAyNDEsIDU1LCAyNDksIDE2MywgMSwgMjMyLCA3NiwgCisgICAgMjQ5LCAxNjMsIDEsIDIzOSwgMTU1LCAyNDksIDE2MywgMSwgMjMyLCAyMDMsIDI0OSwgMTYzLCAxLCAyMjAsIDI3LCAyNDksIAorICAgIDE2MywgMSwgMjA2LCAxOTUsIDI0OSwgMTYzLCAxLCAyMDUsIDgyLCAyNDksIDE2MywgMSwgMjQ4LCAxMTEsIDI0OSwgMTYzLCAKKyAgICAxLCAyMTYsIDQsIDI0OSwgMTYzLCAxLCAxMzcsIDI0OSwgMTYzLCAxLCAyMDUsIDE1OSwgMjQ5LCAxNjMsIDEsIDI0OSwgMzQsIAorICAgIDI0OSwgMTYzLCAxLCAxODIsIDI0OSwgMTYzLCAxLCA2MiwgMjQ5LCAxNjMsIDEsIDc2LCAyNDksIDE2MywgMSwgNzUsIDI0OSwgCisgICAgMTYzLCAxLCAyNDMsIDkyLCAyNDksIDE2MywgMSwgMjUyLCAyMDUsIDI0OSwgMTYzLCAxLCAyNDMsIDkwLCAyNDksIDE2MywgCisgICAgMSwgMjUxLCAxODQsIDI0OSwgMTYzLCAxLCAyMjIsIDk3LCAyNDksIDE2MywgMSwgMjUyLCAxMjIsIDI0OSwgMTYzLCAxLCAKKyAgICAyNDMsIDQxLCAyNDksIDE2MywgMSwgMjUyLCAxMTQsIDI0OSwgMTYzLCAxLCAyNDMsIDI4LCAyNDksIDE2MywgMSwgMjQyLCAKKyAgICAyMzUsIDI0OSwgMTYzLCAxLCA3NCwgMjQ5LCAxNjMsIDEsIDcxLCAyNDksIDE2MywgMSwgMjMyLCAyMTYsIDI0OSwgMTYzLCAKKyAgICAxLCAyMDksIDE0OCwgMjQ5LCAxNjMsIDEsIDIyNSwgNzksIDI0OSwgMTYzLCAxLCAyNDAsIDIzLCAyNDksIDE2MywgMSwgCisgICAgMjMzLCAxMDMsIDI1LCAxLCAyMzEsIDg0LCAyNSwgMSwgMjE0LCA4OCwgMjUsIDEsIDIzMSwgNzcsIDI1LCAxLCAyMjQsIAorICAgIDIyMywgMjUsIDEsIDIyNCwgMjIxLCAyNSwgMSwgMjI0LCAyMjAsIDI1LCAxLCAyMTEsIDE5MywgMjUsIDEsIDIxNCwgNzcsIAorICAgIDI1LCAxLCAyMTgsIDE5OCwgMjUsIDEsIDIxOCwgMTkzLCAyNSwgMSwgMjE4LCAxOTAsIDI1LCAxLCAyMTgsIDE4MywgMjUsIAorICAgIDEsIDIxOCwgMTc4LCAyNSwgMSwgMjE4LCAxNzMsIDI1LCAxLCAyMTgsIDE4NCwgMjUsIDEsIDIxOCwgMTk2LCAyNSwgMSwgCisgICAgMjI2LCAyNDAsIDI1LCAxLCAyMjEsIDM5LCAyNSwgMSwgMjE0LCA4NSwgMjUsIDEsIDIyMSwgMjgsIDI1LCAxLCAyMTUsIDMzLCAKKyAgICAyNSwgMSwgMjE0LCA4MiwgMjUsIDEsIDIzMywgMTI1LCAyNSwgMSwgMjQ3LCAyNDYsIDI1LCAxLCAyMTQsIDkyLCAyNSwgMSwgCisgICAgMjQ4LCA1NCwgMjUsIDEsIDIzMSwgMTQzLCAyNSwgMSwgMjEyLCAxNSwgMjUsIDEsIDIyMSwgNzYsIDI1LCAxLCAyMzksIDMsIAorICAgIDI1LCAxLCA2MiwgMjUsIDEsIDI1MiwgMjQ4LCAyNSwgMSwgMTkwLCAyNSwgMSwgMjA2LCA5OCwgMjUsIDEsIDI0MywgNiwgCisgICAgMjUsIDEsIDc1LCAyNSwgMSwgMjA2LCAzOSwgMjUsIDEsIDIwNiwgNTIsIDI1LCAxLCA3NiwgMjUsIDEsIDIwNywgOTYsIDI1LCAKKyAgICAxLCAyMDcsIDkyLCAyNSwgMSwgMjIyLCAyMDYsIDI1LCAxLCAyMDUsIDI0NywgMjUsIDEsIDcxLCAyNSwgMSwgMjA3LCAzOCwgCisgICAgMjUsIDEsIDIwNywgNTEsIDI1LCAxLCAyMDcsIDIwLCAyNSwgMSwgMjA1LCAyMTMsIDI1LCAxLCAyNDIsIDE5MiwgMjUsIDEsIAorICAgIDIwNiwgMTEsIDI1LCAxLCA3NCwgMjUsIDI0MSwgMjMyLCAyNSwgMSwgMjE0LCA4NiwgMjUsIDEsIDIyNCwgMjEzLCAyNSwgMSwgCisgICAgMjI0LCAyMTUsIDI1LCAxLCAyMjQsIDIxOCwgMjUsIDEsIDIxOCwgMTkxLCAyNSwgMSwgMjE4LCAxNzIsIDI1LCAxLCAyMTgsIAorICAgIDE4MCwgMjUsIDEsIDIxOCwgMTg1LCAyNSwgMSwgMjE4LCAxNzAsIDI1LCAxLCAyMjYsIDIzMywgMjUsIDEsIDIyNiwgMjMwLCAKKyAgICAyNSwgMSwgMjI2LCAyMzQsIDI1LCAxLCAyMzIsIDEzLCAyNSwgMSwgMjIxLCAzNCwgMjUsIDEsIDIyMSwgMjAsIDI1LCAxLCAKKyAgICAyMjEsIDI2LCAyNSwgMSwgMjIxLCAyMywgMjUsIDEsIDIyMSwgMzcsIDI1LCAxLCAyMjEsIDIxLCAyNSwgMSwgMjMyLCAxMSwgCisgICAgMjUsIDEsIDIzMiwgOSwgMjUsIDEsIDIxNSwgMjYsIDI1LCAxLCAyMTUsIDI0LCAyNSwgMSwgMjE1LCAxNiwgMjUsIDEsIAorICAgIDIxNSwgMjEsIDI1LCAxLCAyMTUsIDMxLCAyNSwgMSwgMjIxLCAyNDcsIDI1LCAxLCAyMTQsIDg5LCAyNSwgMSwgMjA2LCAyOSwgCisgICAgMjUsIDEsIDIwNiwgMjUsIDI1LCAxLCAyMDYsIDI2LCAyNSwgMSwgMjMyLCAxMiwgMjUsIDEsIDIxNCwgOTAsIDI1LCAxLCAKKyAgICAyMDYsIDM1LCAyNSwgMSwgMjA1LCAyNDEsIDI1LCAxLCAyMDUsIDI0MCwgMjUsIDEsIDIwNSwgMjQzLCAyNSwgMSwgMjA1LCAKKyAgICAyMDQsIDI1LCAxLCAyMDUsIDIwNSwgMjUsIDEsIDIwNSwgMjA4LCAyNSwgMSwgMjUyLCAzMCwgMjUsIDEsIDI1MiwgMjQsIAorICAgIDEyOCwgMjUyLCA5OCwgMjI5LCAxOTQsIDgzLCAxMjgsIDI1MiwgOTgsIDIxOCwgMjI1LCA4MywgMTI4LCAyNTIsIDk4LCAKKyAgICAxMTksIDgzLCAxMjgsIDI1MiwgOTgsIDExOCwgODMsIDEyOCwgMjUyLCA5OCwgMTI5LCA4MywgMTI4LCAyNTIsIDk4LCAyNDEsIAorICAgIDEyNSwgODMsIDEyOCwgMjUyLCA5OCwgMjExLCAxMDIsIDgzLCAxMjgsIDI1MiwgOTgsIDIyNiwgMjQ3LCA4MywgMTI4LCAKKyAgICAyNTIsIDk4LCAyNDksIDE1NCwgODMsIDEyOCwgMjUyLCA5OCwgMjQxLCAyMTUsIDgzLCAxMjgsIDI1MiwgOTgsIDIxNywgODAsIAorICAgIDgzLCAxMjgsIDI1MiwgOTgsIDIxMiwgMTEsIDgzLCAxMjgsIDI1MiwgOTgsIDI0MSwgMTE4LCA4MywgMTI4LCAyNTIsIDk4LCAKKyAgICAyMzksIDU3LCA4MywgMTI4LCAyNTIsIDk4LCAyNDMsIDEyMSwgODMsIDEyOCwgMjUyLCA5OCwgMjI3LCAyMjIsIDgzLCAyNDksIAorICAgIDE2MywgMSwgMjQ5LCAxMDEsIDI0OSwgMTYzLCAxLCAyMDUsIDQwLCAyNDksIDE2MywgMSwgMjMyLCAxNjIsIDI0OSwgMTYzLCAKKyAgICAxLCAyMzksIDIxMywgMjQ5LCAxNjMsIDEsIDI0MywgMTA0LCAyNDksIDE2MywgMSwgMjQzLCAyNSwgMjQ5LCAxNjMsIDEsIAorICAgIDIyMiwgMTUyLCAyNDksIDE2MywgMSwgMjIyLCAxNTYsIDI0OSwgMTYzLCAxLCAyMzIsIDI0MywgMjQ5LCAxNjMsIDEsIDI1MiwgCisgICAgMTAwLCAyNDksIDE2MywgMSwgMjMzLCAzNSwgMjQ5LCAxNjMsIDEsIDIwOSwgMjExLCAyNDksIDE2MywgMSwgMjMzLCA4NSwgCisgICAgMjQ5LCAxNjMsIDEsIDIyNSwgNTcsIDI0OSwgMTYzLCAxLCAyNTIsIDE5OSwgMjQ5LCAxNjMsIDEsIDI1MSwgMTc5LCAyNDksIAorICAgIDE2MywgMSwgMjUyLCAxMzYsIDI0OSwgMTYzLCAxLCAyMjIsIDE3MywgMjQ5LCAxNjMsIDEsIDIyMiwgMTU4LCAyNDksIDE2MywgCisgICAgMSwgMjMzLCAzMiwgMjQ5LCAxNjMsIDQyLCAxLCAyMjIsIDY3LCAyNDksIDE2MywgNDIsIDEsIDIxMywgMTAsIDI0OSwgMTYzLCAKKyAgICA0MiwgMSwgMjMyLCA3NiwgMjQ5LCAxNjMsIDQyLCAxLCAyMzksIDE1NSwgMjQ5LCAxNjMsIDEsIDI0MCwgMTAwLCAyNDksIAorICAgIDE2MywgMSwgMjI5LCAyNDksIDI0OSwgMTYzLCAxLCAyMDQsIDI0NSwgMTAsIDIxMywgMjI1LCAyMTMsIDEwLCAxMCwgMjEzLCAKKyAgICAyMjUsIDIwNywgMzEsIDEwLCAyMTMsIDIyNSwgMjA2LCAxNzAsIDEwLCAyMTMsIDIyNSwgMjQ5LCA0NywgMTAsIDIxMywgCisgICAgMjI1LCAyMTMsIDExMywgMTAsIDIxMywgMjI1LCAyMzcsIDIyOSwgMTAsIDIxMywgMjI1LCAyMzcsIDIzMywgMTAsIDIxMywgCisgICAgMjI1LCAyMzgsIDUxLCAxMCwgMjEzLCAyMjUsIDIzNywgMjMwLCAxMCwgMjEzLCAyMjUsIDIxMywgMTMsIDEwLCAyMTMsIAorICAgIDIyNSwgMjM3LCAyMzIsIDEwLCAyMTMsIDIyNSwgMjM3LCAyMjgsIDEwLCAyMTMsIDIyNSwgMjM4LCA0OSwgMTAsIDIxMywgCisgICAgMjI1LCAyMzcsIDIzMSwgMTAsIDIxMywgMjI1LCAyMzcsIDIyNywgMTAsIDIxMywgMjI1LCAyMjYsIDMzLCAxMCwgMjEzLCAKKyAgICAyMjUsIDIzOSwgMTU1LCAxMCwgMjEzLCAyMjUsIDE4MiwgMTAsIDIxMywgMjI1LCAyMjIsIDY3LCAxMCwgMjEzLCAyMjUsIAorICAgIDIxNCwgMTU2LCAxMCwgMjEzLCAyMjUsIDI0NiwgMjQwLCAxMCwgMjEzLCAyMjUsIDIzNywgMjM0LCAxMCwgMjEzLCAyMjUsIAorICAgIDIzOSwgMjEsIDEwLCAyMTMsIDIyNSwgMjEzLCAyMiwgMTAsIDIxMywgMjI1LCAyMTMsIDkyLCAxMCwgMjEzLCAyMjUsIDIxNCwgCisgICAgNDAsIDEwLCAyMTMsIDIyNSwgMjE2LCAxMCwgMTAsIDIxMywgMjI1LCAyMjEsIDE3OCwgMTAsIDIxMywgMjI1LCAyMjAsIDI5LCAKKyAgICAxMCwgMjEzLCAyMjUsIDIxMSwgMTMxLCAxMCwgMjEzLCAyMjUsIDIxMywgMTIsIDEwLCAyMTMsIDIyNSwgMjEzLCAxMDMsIAorICAgIDEwLCAyMTMsIDIyNSwgMjM3LCAyNDEsIDEwLCAyMTMsIDIyNSwgMjM3LCAyMjYsIDEwLCAyMTMsIDIyNSwgMjIxLCA5NSwgCisgICAgMTAsIDIxMywgMjI1LCAyMjAsIDI3LCA2NCwgMSwgNSwgMjMwLCAyMzYsIDY0LCAxLCA1LCAyMTUsIDgwLCA2NCwgMSwgNSwgCisgICAgMjEzLCAyMDMsIDY0LCAxLCA1LCAxMjQsIDY0LCAxLCA1LCAyMjMsIDIxNywgNjQsIDEsIDUsIDE1NSwgNjQsIDEsIDUsIAorICAgIDIzOSwgMTEsIDY0LCAxLCA1LCAyMzgsIDQyLCA2NCwgMSwgNSwgMjM5LCA3MSwgNjQsIDEsIDUsIDIzOCwgMTQ5LCA2NCwgMSwgCisgICAgNSwgMjI2LCAxMTQsIDY0LCAxLCA1LCAyMTksIDExMywgNjQsIDEsIDUsIDIxOCwgMjA4LCA2NCwgMSwgNSwgMjE4LCA1MCwgCisgICAgNjQsIDEsIDUsIDIxOSwgNTEsIDY0LCAxLCA1LCAyMTgsIDEyNCwgOTcsIDI1LCAyMzEsIDg0LCA5NywgMjUsIDIyNCwgMjIzLCAKKyAgICA5NywgMjUsIDIxMSwgMTkzLCA5NywgMjUsIDIxOCwgMTk4LCA5NywgMjUsIDIyNiwgMjQwLCA5NywgMjUsIDIyMSwgMzksIAorICAgIDk3LCAyNSwgMjE1LCAzMywgOTcsIDI1LCAyMzMsIDEyNSwgOTcsIDI1LCAyNDcsIDI0NiwgOTcsIDI1LCAyNDgsIDU0LCA5NywgCisgICAgMjUsIDIzMSwgMTQzLCA5NywgMjUsIDIxMiwgMTUsIDk3LCAyNSwgMjIxLCA3NiwgOTcsIDI1LCAyMzksIDMsIDk3LCAyNSwgCisgICAgMjMxLCA4NSwgNjIsIDk3LCAyNSwgMjI0LCAyMjQsIDYyLCA5NywgMjUsIDIxMSwgMTk0LCA2MiwgOTcsIDI1LCAyMTgsIAorICAgIDE5OSwgNjIsIDk3LCAyNSwgMjI2LCAyNDEsIDYyLCA5NywgMjUsIDIyMSwgNDAsIDYyLCA5NywgMjUsIDIxNSwgMzQsIDYyLCAKKyAgICA5NywgMjUsIDIzMywgMTI2LCA2MiwgOTcsIDI1LCAyNDcsIDI0NywgNjIsIDk3LCAyNSwgMjQ4LCA1NSwgNjIsIDk3LCAyNSwgCisgICAgMjMxLCAxNDQsIDYyLCA5NywgMjUsIDIxMiwgMTYsIDYyLCA5NywgMjUsIDIyMSwgNzcsIDYyLCA5NywgMjUsIDIzOSwgNCwgCisgICAgNjIsIDk3LCAyNSwgMjQ3LCAyNDcsIDcxLCA5NywgMjMxLCAyNCwgMTU3LCAyMjIsIDE4OCwgOTcsIDIzMSwgMjQsIDE1NywgCisgICAgMTQ4LCAyMzgsIDQyLCA5NywgMTc1LCAxMDIsIDk3LCAxNzUsIDEwNSwgOTcsIDE3NSwgMTQyLCA5NywgMTc1LCAxMzksIDk3LCAKKyAgICAxNzUsIDE2OCwgOTcsIDE3NSwgMTg0LCA5NywgMTc1LCAxOTUsIDk3LCAxNzUsIDE5MywgOTcsIDE3NSwgMjAwLCA5NywgCisgICAgMTc1LCAyMTIsIDk4LCA5NywgMTc1LCAyMjYsIDE0NCwgOTcsIDE3NSwgMjQxLCAyMTksIDk3LCAxNzUsIDIwNywgNjksIDk3LCAKKyAgICAxNzUsIDIwNiwgMjM3LCA5NywgMTc1LCAyMjcsIDYzLCA5NywgMTc1LCAyNDMsIDEyMCwgOTcsIDE3NSwgMjEzLCAxNTQsIAorICAgIDk3LCAxNzUsIDIxMywgMjU0LCA5NywgMTc1LCAyMzksIDc4LCA5NywgMTc1LCAyMTQsIDE4OSwgOTcsIDE3NSwgMjI1LCAKKyAgICAyMTAsIDk3LCAxNzUsIDIxNCwgMTM4LCA5NywgMTc1LCAyNDEsIDIyOSwgOTcsIDE3NSwgMjQ3LCAxMzMsIDk3LCAxNzUsIAorICAgIDIzMCwgMTMwLCA5NywgMTc1LCAyMTgsIDI0NiwgOTcsIDE3NSwgMjQ4LCAyMzYsIDk3LCAxNzUsIDIxMywgMjA3LCA5NywgCisgICAgMTc1LCAyMTMsIDEzNiwgOTcsIDE3NSwgMjQzLCAxNiwgOTcsIDE3NSwgMjE4LCAyMzgsIDk3LCAxNzUsIDI1MiwgMTUyLCAKKyAgICA5NywgMTc1LCAyNDIsIDEsIDk3LCAxNzUsIDIxOCwgMjM2LCA5NywgMTc1LCAyMTYsIDU4LCA5NywgMTc1LCAyMTksIDUwLCAKKyAgICAzOSwgMTc1LCAyMTksIDE5NSwgMzksIDE3NSwgMjMxLCAxMDgsIDM5LCAxNzUsIDIxNywgMTAzLCAzOSwgMTc1LCAyMzEsIAorICAgIDIwLCAzOSwgNDMsIDIxMiwgOTksIDIyMiwgMTY2LCA2MCwgMjE0LCAxMDcsIDM5LCA0MywgMjEwLCAxMjQsIDIyMiwgMTY2LCAKKyAgICA2MCwgMjE0LCAxMDcsIDM5LCA0MywgMjEyLCA0LCAyMjIsIDE2NiwgNjAsIDIxNCwgMTA3LCAzOSwgNDMsIDI0MSwgMTMxLCAKKyAgICAyMjIsIDE2NiwgNjAsIDIxNCwgMTA3LCAzOSwgNDMsIDI0MSwgMjQ0LCAyMjIsIDE2NiwgNjAsIDIxNCwgMTA3LCAzOSwgNDMsIAorICAgIDIxNCwgMjUzLCAyMjIsIDE2NiwgNjAsIDIxNCwgMTA3LCAzOSwgNDMsIDIxNiwgMTgsIDIyMiwgMTY2LCA2MCwgMjE0LCAKKyAgICAxMDcsIDM5LCA0MywgMjQzLCA4MCwgMjIyLCAxNjYsIDYwLCAyMTQsIDEwNywgMjIxLCAyMDcsIDUzLCAzOSwgNDMsIDIxMCwgCisgICAgMTI0LCAxMDIsIDM5LCA0MywgMjEwLCAxMjQsIDEwNSwgMzksIDQzLCAyMTAsIDEyNCwgMTQyLCAzOSwgNDMsIDIxMCwgMTI0LCAKKyAgICAxMzksIDM5LCA0MywgMjEwLCAxMjQsIDE2OCwgMzksIDQzLCAyMTAsIDEyNCwgMTg0LCAzOSwgNDMsIDIxMCwgMTI0LCAxOTUsIAorICAgIDM5LCA0MywgMjEwLCAxMjQsIDE5MywgMzksIDQzLCAyMTAsIDEyNCwgMjAwLCAzOSwgNDMsIDIxMiwgMywgMzksIDQzLCAKKyAgICAyMTIsIDQsIDEwMiwgMzksIDQzLCAyMTIsIDQsIDEwNSwgMzksIDQzLCAyMTIsIDQsIDE0MiwgMzksIDQzLCAyMTIsIDQsIAorICAgIDEzOSwgMzksIDQzLCAyMTIsIDQsIDE2OCwgMzksIDI1LCAyMzEsIDg0LCAzOSwgMjUsIDIyNCwgMjIzLCAzOSwgMjUsIDIxMSwgCisgICAgMTkzLCAzOSwgMjUsIDIxOCwgMTk4LCAzOSwgMjUsIDIyNiwgMjQwLCAzOSwgMjUsIDIyMSwgMzksIDM5LCAyNSwgMjE1LCAKKyAgICAzMywgMzksIDI1LCAyMzMsIDEyNSwgMzksIDI1LCAyNDcsIDI0NiwgMzksIDI1LCAyNDgsIDU0LCAzOSwgMjUsIDIzMSwgCisgICAgMTQzLCAzOSwgMjUsIDIxMiwgMTUsIDM5LCAyNSwgMjIxLCA3NiwgMzksIDI1LCAyMzksIDMsIDM5LCAyNSwgMjMxLCA4NSwgCisgICAgNjIsIDM5LCAyNSwgMjI0LCAyMjQsIDYyLCAzOSwgMjUsIDIxMSwgMTk0LCA2MiwgMzksIDI1LCAyMTgsIDE5OSwgNjIsIDM5LCAKKyAgICAyNSwgMjI2LCAyNDEsIDYyLCAzOSwgMjUsIDIyMSwgNDAsIDYyLCAzOSwgMjUsIDIxNSwgMzQsIDYyLCAzOSwgMjUsIDIzMywgCisgICAgMTI2LCA2MiwgMzksIDI1LCAyNDcsIDI0NywgNjIsIDM5LCAyNSwgMjQ4LCA1NSwgNjIsIDM5LCAyNSwgMjMxLCAxNDQsIDYyLCAKKyAgICAzOSwgMjUsIDIxMiwgMTYsIDYyLCAzOSwgMjUsIDIyMSwgNzcsIDYyLCAzOSwgMjUsIDIzOSwgNCwgNjIsIDM5LCAyMzEsIAorICAgIDI0LCAxNTcsIDI0OCwgMTAxLCAzOSwgMjMxLCAyNCwgMTU3LCAyMzIsIDEwMCwgMzksIDI1LCAyMzMsIDEyNiwgNzEsIDIzMSwgCisgICAgMjQsIDIxNCwgMjksIDkzLCAzOSwgMTc1LCAxMDIsIDM5LCAxNzUsIDEwNSwgMzksIDE3NSwgMTQyLCAzOSwgMTc1LCAxMzksIAorICAgIDM5LCAxNzUsIDE2OCwgMzksIDE3NSwgMTg0LCAzOSwgMTc1LCAxOTUsIDM5LCAxNzUsIDE5MywgMzksIDE3NSwgMjAwLCAzOSwgCisgICAgMTc1LCAyMTIsIDk4LCAzOSwgMTc1LCAyMjYsIDE0NCwgMzksIDE3NSwgMjQxLCAyMTksIDM5LCAxNzUsIDIwNywgNjksIDM5LCAKKyAgICAxNzUsIDIwNiwgMjM3LCAzOSwgMTc1LCAyMjcsIDYzLCAzOSwgMTc1LCAyNDMsIDEyMCwgMzksIDE3NSwgMjEzLCAxNTQsIAorICAgIDM5LCAxNzUsIDIxMywgMjU0LCAzOSwgMTc1LCAyMzksIDc4LCAzOSwgMTc1LCAyMTQsIDE4OSwgMzksIDE3NSwgMjI1LCAKKyAgICAyMTAsIDM5LCAxNzUsIDIxNCwgMTM4LCAzOSwgMTc1LCAyNDEsIDIyOSwgMzksIDE3NSwgMjQ3LCAxMzMsIDM5LCAxNzUsIAorICAgIDIzMCwgMTMwLCAzOSwgMTc1LCAyMTcsIDc4LCAzOSwgMTc1LCAyMjcsIDIyNSwgMzksIDE3NSwgMjQyLCAxMCwgMzksIDE3NSwgCisgICAgMjEzLCAxNjYsIDM5LCAxNzUsIDI0MiwgMTcxLCAzOSwgMTc1LCAyMjAsIDEyNCwgMzksIDE3NSwgMjUxLCAxODgsIDM5LCAKKyAgICAxNzUsIDIzMiwgMjE5LCAzOSwgMTc1LCAyMTgsIDIzNiwgMzksIDE3NSwgMjQ3LCA5NSwgMzksIDE3NSwgMjQ3LCA4NiwgMzksIAorICAgIDE3NSwgMjM4LCAyNTIsIDM5LCAxNzUsIDI0OCwgMTI4LCAzOSwgMTc1LCAyMjksIDk3LCAzOSwgMTc1LCAyMzAsIDQ2LCAzOSwgCisgICAgMTc1LCAyMTgsIDE2NywgMzksIDE3NSwgMjI3LCAxMTAsIDM5LCAxNzUsIDIxOSwgNywgMzksIDE3NSwgMjEzLCAyMDcsIDM5LCAKKyAgICAxNzUsIDIxMywgMTM2LCAzOSwgMTc1LCAyNDMsIDE2LCAzOSwgMTc1LCAyMTgsIDIzOCwgMzksIDE3NSwgMjUyLCAxNTIsIAorICAgIDM5LCAxNzUsIDIyNCwgMjA5LCAzOSwgNDMsIDIxMiwgNCwgMTg0LCAzOSwgNDMsIDIxMiwgNCwgMTk1LCAzOSwgNDMsIDIxMiwgCisgICAgNCwgMTkzLCAzOSwgNDMsIDIxMiwgNCwgMjAwLCAzOSwgNDMsIDI0MSwgMTMwLCAzOSwgNDMsIDI0MSwgMTMxLCAxMDIsIDM5LCAKKyAgICA0MywgMjQxLCAxMzEsIDEwNSwgMzksIDQzLCAyNDEsIDEzMSwgMTQyLCAzOSwgNDMsIDI0MSwgMTMxLCAxMzksIDM5LCA0MywgCisgICAgMjQxLCAxMzEsIDE2OCwgMzksIDQzLCAyNDEsIDEzMSwgMTg0LCAzOSwgNDMsIDI0MSwgMTMxLCAxOTUsIDM5LCA0MywgMjQxLCAKKyAgICAxMzEsIDE5MywgMzksIDQzLCAyNDEsIDEzMSwgMjAwLCAzOSwgNDMsIDI0MSwgMjQzLCAxMjgsIDIxMiwgMTEwLCAxNiwgMzMsIAorICAgIDIzMiwgMTkxLCAxMjgsIDIxMiwgMTEwLCAxNiwgMzMsIDI0MiwgMjIsIDEyOCwgMjEyLCAxMTAsIDE2LCAzMywgMjI3LCAKKyAgICAxOTMsIDEyOCwgMjEyLCAxMTAsIDE2LCAzMywgMjUyLCA0MywgMTI4LCAyMTIsIDExMCwgMTYsIDMzLCAyMjcsIDE2MiwgCisgICAgMTI4LCAyMTIsIDExMCwgMTYsIDMzLCAyMzIsIDk4LCAxMjgsIDIxMiwgMTEwLCAxNiwgMzMsIDIzMiwgOTksIDEyOCwgMjEyLCAKKyAgICAxMTAsIDE2LCAzMywgMjUxLCAxODAsIDEyOCwgMjEyLCAxMTAsIDE2LCAzMywgMjE2LCAzOCwgMTI4LCAyMTIsIDExMCwgMTYsIAorICAgIDMzLCAyMjIsIDIxMiwgMTI4LCAyMTIsIDExMCwgMTYsIDMzLCAyMjQsIDMwLCAxMjgsIDIxMiwgMTEwLCAxNiwgMzMsIDI0NiwgCisgICAgNCwgNDksIDIzOSwgMjEsIDQ5LCAyNDIsIDIzMSwgNDksIDI0MiwgMTgwLCAyMjksIDIxMSwgMjI5LCAyMzQsIDUzLCAzOSwgCisgICAgNjQsIDYyLCAzOSwgNjQsIDc0LCAzOSwgNjQsIDcxLCAzOSwgNjQsIDc1LCAzOSwgNjQsIDc2LCAzOSwgNjQsIDE3MiwgMzksIAorICAgIDY0LCAyMzEsIDEyMywgMzksIDY0LCAyMzAsIDIzNiwgMzksIDY0LCAyMzEsIDIyNCwgMzksIDY0LCAyMzEsIDUzLCAzOSwgCisgICAgNjQsIDIxNywgMTk5LCAzOSwgNjQsIDIxNSwgODAsIDM5LCA2NCwgMjEzLCAyMDMsIDM5LCA2NCwgMjE3LCA4NiwgMzksIDY0LCAKKyAgICAyMTQsIDE5MywgMzksIDY0LCAyMTIsIDIxOSwgMzksIDY0LCAyMTEsIDIxMSwgMzksIDY0LCAyMTAsIDE3MCwgMzksIDY0LCAKKyAgICAyMTIsIDEzMSwgMzksIDY0LCAxMjQsIDM5LCA2NCwgMTk5LCAzOSwgNjQsIDIyNCwgMjMwLCAzOSwgNjQsIDIyMywgMjE3LCAKKyAgICAzOSwgNjQsIDIyNSwgMTEwLCAzOSwgNjQsIDIyNCwgNjcsIDM5LCA2NCwgMTU1LCAzOSwgNjQsIDIzOSwgMTEsIDM5LCA2NCwgCisgICAgMjM4LCA0MiwgMzksIDY0LCAyMzksIDcxLCAzOSwgNjQsIDIzOCwgMTQ5LCAzOSwgNjQsIDE4NSwgMzksIDY0LCAyMjYsIAorICAgIDI1NCwgMzksIDY0LCAyMjYsIDExNCwgMzksIDY0LCAyMjcsIDExOSwgMzksIDY0LCAyMjYsIDE4MSwgMzksIDY0LCAxOTAsIAorICAgIDM5LCA2NCwgMjA1LCAyMTMsIDM5LCA2NCwgMjA1LCAyNDcsIDM5LCA2NCwgMjE5LCAxMTMsIDM5LCA2NCwgMjE4LCAyMDgsIAorICAgIDM5LCA2NCwgMjE4LCA1MCwgMzksIDY0LCAyMTksIDUxLCAzOSwgNjQsIDIxOCwgMTI0LCAzOSwgNjQsIDIwNywgOTYsIDM5LCAKKyAgICA2NCwgMjA3LCAyMCwgMzksIDY0LCAyMDcsIDUxLCAzOSwgNjQsIDIwNiwgMjUwLCA0OSwgMjUyLCA2NywgNDksIDI1MSwgCisgICAgMjMzLCA0OSwgMjUyLCA5NCwgNDksIDI1MywgMTIyLCA0OSwgMjMzLCAzNywgNDksIDIzMywgNSwgNDksIDIwOSwgMjA5LCAKKyAgICA0OSwgMjQyLCAyMDUsIDQ5LCAyNDMsIDEwMSwgNDksIDIyMiwgMTU1LCA0OSwgMjIyLCAxNDgsIDQ5LCAyMzIsIDM5LCA0OSwgCisgICAgMjMyLCA1LCA0OSwgMjMyLCAyLCA0OSwgMjQwLCAyMDAsIDQ5LCAyNDAsIDIwOSwgNDksIDI0MCwgNTAsIDQ5LCAyNDAsIDQ2LCAKKyAgICA0OSwgMjMwLCAxNjAsIDQ5LCAyNDAsIDM4LCA0OSwgMjMxLCAxMDAsIDQ5LCAyMzEsIDk5LCA0OSwgMjMxLCA5OCwgNDksIAorICAgIDIzMSwgOTcsIDQ5LCAyMzksIDE4NCwgNDksIDIzOSwgMTgzLCA0OSwgMjMwLCAyMDcsIDQ5LCAyMzAsIDIwOSwgNDksIDIzMSwgCisgICAgMjE3LCA0OSwgMjMxLCAyMiwgNDksIDIzMSwgMzAsIDQ5LCAyMTcsIDE4MCwgNDksIDIxNywgMTQ0LCA0OSwgMjE1LCAxNCwgCisgICAgNDksIDIxNiwgNDMsIDQ5LCAyMTYsIDQyLCA0OSwgMjQ2LCAxNDIsIDQ5LCAyNDUsIDIwNSwgNDksIDI0NSwgMjQsIDQ5LCAKKyAgICAyMTEsIDEyMCwgNDksIDIyNSwgMjA1LCA0OSwgMjI0LCAzMSwgNDksIDIzOSwgMTI2LCA0OSwgMjIyLCA0NiwgNDksIDIyMiwgCisgICAgNDUsIDQ5LCAyNTAsIDE4MCwgNDksIDIyMSwgNTAsIDQ5LCAyMjEsIDEzLCA0OSwgMjIxLCAxNCwgNDksIDI0OSwgMjE1LCAKKyAgICA0OSwgMjM4LCA0MCwgNDksIDIzOCwgMzYsIDQ5LCAyNDksIDYwLCA0OSwgMjM4LCAyMiwgNDksIDIzOSwgNDcsIDQ5LCAyMjEsIAorICAgIDEwNSwgNDksIDIyMSwgMTQ1LCA0OSwgMjM5LCAzMCwgNDksIDIyMSwgMTQxLCA0OSwgMjIxLCAxNTksIDQ5LCAyNTAsIDQ1LCAKKyAgICA0OSwgMjIwLCAyMDAsIDQ5LCAyNDksIDE1OSwgNDksIDIzOCwgMTM0LCA0OSwgMjIwLCAxODgsIDQ5LCAyMzgsIDEyNiwgNDksIAorICAgIDIzOCwgMTI4LCA0OSwgMjI3LCAyMzcsIDQ5LCAyMjcsIDIzMywgNDksIDIyNywgMjQyLCA0OSwgMjI3LCAxODIsIDQ5LCAKKyAgICAyMjcsIDIwOSwgNDksIDIyNiwgMjIwLCA0OSwgMjI2LCAxOTYsIDQ5LCAyMjYsIDE5NSwgNDksIDIyNywgOTksIDQ5LCAyMjcsIAorICAgIDk2LCA0OSwgMjI3LCAxMDAsIDQ5LCAyMDYsIDEwOCwgNDksIDIwNiwgMTA2LCA0OSwgMjA1LCAyMDIsIDQ5LCAyMTgsIDE0MCwgCisgICAgNDksIDIxOCwgMTQ0LCA0OSwgMjE4LCAyNiwgNDksIDIxOCwgMjAsIDQ5LCAyMTksIDQsIDQ5LCAyMTksIDEsIDQ5LCAyMDcsIAorICAgIDY3LCAxMjgsIDIxMiwgMTEwLCAxNiwgMzMsIDIzOCwgNTksIDIwNSwgODUsIDEyOCwgMjEyLCAxMTAsIDE2LCAzMywgMjM4LCAKKyAgICA1OSwgMTAyLCAxMjgsIDIxMiwgMTEwLCAxNiwgMzMsIDIzOCwgNTksIDEwNSwgMTI4LCAyMTIsIDExMCwgMTYsIDMzLCAyMzgsIAorICAgIDU5LCAxNDIsIDEyOCwgMjEyLCAxMTAsIDE2LCAzMywgMjM4LCA1OSwgMTM5LCAxMjgsIDIxMiwgMTEwLCAxNiwgMzMsIDIzOCwgCisgICAgNTksIDE2OCwgMTI4LCAyMTIsIDExMCwgMTYsIDMzLCAyMzgsIDU5LCAxODQsIDEyOCwgMjEyLCAxMTAsIDE2LCAzMywgMjM4LCAKKyAgICA1OSwgMTk1LCAxMjgsIDIxMiwgMTEwLCAxNiwgMzMsIDIzOCwgNTksIDE5MywgMTI4LCAyMTIsIDExMCwgMTYsIDMzLCAyMzgsIAorICAgIDU5LCAyMDAsIDEyOCwgMjEyLCAxMTAsIDE2LCAzMywgMjM4LCA1OSwgMjEyLCA5OCwgMTI4LCAyMTIsIDExMCwgMTYsIDMzLCAKKyAgICAyMzgsIDU5LCAyNDMsIDU4LCAxMjgsIDIxMiwgMTEwLCAxNiwgMzMsIDIzOCwgNTksIDIxMCwgMTI2LCAxMjgsIDIxMiwgCisgICAgMTEwLCAxNiwgMzMsIDIzOCwgNTksIDIxMiwgNSwgMTI4LCAyMTIsIDExMCwgMTYsIDMzLCAyMzgsIDU5LCAyNDEsIDExOSwgCisgICAgMTI4LCAyMTIsIDExMCwgMTYsIDMzLCAyMzgsIDU5LCAyNDEsIDI0NywgMTI4LCAyMTIsIDExMCwgMTYsIDMzLCAyMzgsIDU5LCAKKyAgICAyMTUsIDQsIDEyOCwgMjEyLCAxMTAsIDE2LCAzMywgMjM4LCA1OSwgMjE2LCAyMCwgMTI4LCAyMTIsIDExMCwgMTYsIDMzLCAKKyAgICAyMzgsIDU5LCAyNDMsIDg1LCAxMjgsIDIxMiwgMTEwLCAxNiwgMzMsIDIzOCwgNTksIDIyNCwgMTkyLCAxMjgsIDIxMiwgCisgICAgMTEwLCAxNiwgMzMsIDIzOCwgNTksIDIxMCwgMTIzLCAxMjgsIDIxMiwgMTEwLCAxNiwgMzMsIDIzOCwgNTksIDIxMCwgMTE3LCAKKyAgICAxMjgsIDIxMiwgMTEwLCAxNiwgMzMsIDIzOCwgNTksIDIxMCwgMTEzLCAxMjgsIDIxMiwgMTEwLCAxNiwgMzMsIDIzOCwgNTksIAorICAgIDIxMCwgMTE0LCAxMjgsIDIxMiwgMTEwLCAxNiwgMzMsIDIzOCwgNTksIDIxMCwgMTE5LCA0OSwgMjM4LCA1MCwgNDksIDI0NiwgCisgICAgMTQ1LCA0OSwgMjUxLCAxODQsIDQ5LCAxMzQsIDQ5LCAyMjIsIDg4LCA0OSwgMjIxLCAxNzksIDQ5LCAyNDUsIDUzLCA0OSwgCisgICAgMjQ1LCA1NCwgMjE0LCAxMDYsIDQ5LCAyNDUsIDU0LCAyNDcsIDM1LCA0OSwgMjMyLCAyMTYsIDQ5LCAyNDIsIDIzNCwgMjI1LCAKKyAgICAyMTEsIDIzOSwgNDgsIDQ5LCAyNDIsIDIzNCwgMjI1LCAyMTEsIDIxMywgMzMsIDQ5LCAyNDIsIDIzNCwgMjI1LCAyMTEsIAorICAgIDIxMiwgMTg4LCA0OSwgMjQyLCAyMzQsIDIyNSwgMjExLCAyMjcsIDk1LCA0OSwgMjQ3LCA4OCwgNDksIDIyMiwgNTIsIDI1MiwgCisgICAgMTI0LCA0OSwgMTk5LCA0OSwgMjI2LCAxMTUsIDYyLCA0OSwgMTg1LCA0OSwgMTcyLCA0OSwgMjMxLCAyMjcsIDQ5LCAyMjcsIAorICAgIDE1OCwgNDksIDI0MCwgMTg4LCA0OSwgMjQ4LCAyNDEsIDQ5LCAyMzEsIDIyNiwgNDksIDIyMSwgOTYsIDQ5LCAyMjUsIDgxLCAKKyAgICA0OSwgMjI2LCAxMTUsIDI0MiwgMTM5LCA0OSwgMjI2LCAxMTUsIDI0MSwgNTUsIDQ5LCAyMjcsIDM5LCA0OSwgMjMxLCAxNjksIAorICAgIDQ5LCAyMzcsIDIzNCwgNDksIDIzMSwgMTI1LCA0OSwgMjI3LCAwLCA0OSwgMjQwLCA2MywgNDksIDIxMSwgMjEzLCA0OSwgCisgICAgMjI2LCAxMTUsIDE0OSwgNDksIDIyNiwgMTg5LCA0OSwgMjQ1LCA2MywgNDksIDIzMSwgNjYsIDQ5LCAyNDEsIDE2NCwgNDksIAorICAgIDIyNCwgMTA1LCA0OSwgMjI2LCAxMTUsIDIyOSwgMjgsIDQ5LCAyMjYsIDE4NiwgNDksIDI0NywgMTc1LCA0OSwgMjMxLCA2MCwgCisgICAgNDksIDIyNiwgMTg3LCAyMTQsIDEwNiwgNDksIDI0NywgMTc2LCAyMTQsIDEwNiwgNDksIDIyOSwgMjksIDIxNCwgMTA2LCAKKyAgICA0OSwgMjMxLCA2MSwgMjE0LCAxMDYsIDQ5LCAyMjYsIDE4NywgMjQ3LCAzNSwgNDksIDI0NywgMTc2LCAyNDcsIDM1LCA0OSwgCisgICAgMjI5LCAyOSwgMjQ3LCAzNSwgNDksIDIzMSwgNjEsIDI0NywgMzUsIDQ5LCAyMjksIDI5LCAxMzEsIDE4MiwgNDksIDIyOSwgCisgICAgMjksIDEzMSwgMjE4LCAxLCAyMTQsIDEwNiwgNDksIDE3OSwgNDksIDIzMSwgMTUsIDQ5LCAyMjYsIDExOCwgNDksIDIzOSwgCisgICAgMjUxLCA0OSwgMjE5LCAxMDAsIDQ5LCAyMTksIDEwMSwgMTMxLCAxODIsIDQ5LCAyMTksIDEwMSwgMTMxLCAyMTgsIDEsIAorICAgIDIxNCwgMTA2LCA0OSwgMjIwLCA5NSwgNDksIDIyMywgMjU1LCA0OSwgMjI2LCAxMTUsIDE4MiwgNDksIDIyNiwgMTE2LCA0OSwgCisgICAgMjIwLCA0NywgNDksIDIyMywgMTU1LCA0OSwgMjI2LCAxMTUsIDIwOSwgMTQ4LCA0OSwgMjI2LCA1NywgNDksIDIzMCwgMTk4LCAKKyAgICA0OSwgMjI2LCA1OCwgMjI3LCA5OSwgNDksIDIyMCwgNDYsIDQ5LCAyMjMsIDE1NCwgNDksIDIyNiwgMTE1LCAyMDcsIDEyOSwgCisgICAgNDksIDIyNiwgNTEsIDQ5LCAyMzAsIDE5NiwgNDksIDIyNiwgNTIsIDIyNywgOTksIDQ5LCAyMzIsIDc3LCAyMjIsIDE5MiwgCisgICAgNDksIDIyOSwgMjksIDIyMiwgMTkyLCA0OSwgMjUyLCAxMzYsIDQ5LCAyNDksIDEzNiwgNDksIDI0OCwgMTcyLCA0OSwgMjQ4LCAKKyAgICAxNDksIDQ5LCAyNDksIDM1LCAxMzEsIDIzMSwgMTY5LCA0OSwgMjQ3LCAxNzQsIDQ5LCAyNDYsIDYzLCA0OSwgMjM5LCAxNjgsIAorICAgIDQ5LCAxNTUsIDQ5LCAyMzgsIDUxLCA0OSwgMjMzLCA2OCwgNDksIDIzMSwgNzMsIDQ5LCAyMzEsIDYxLCAyNDgsIDIxMiwgCisgICAgNDksIDIzMCwgMjM4LCA0OSwgMjI5LCAxNDcsIDQ5LCAyMjksIDE0NiwgNDksIDIyOSwgMTM1LCA0OSwgMjI5LCA0MywgNDksIAorICAgIDIyNywgMTU5LCAyMTQsIDIxNSwgNDksIDIyNiwgMjE5LCA0OSwgMjI2LCAxNzAsIDQ5LCAyMjEsIDk0LCA0OSwgMjIwLCAKKyAgICAyMTQsIDQ5LCAyMjAsIDE1NiwgNDksIDIyMCwgMTU0LCA0OSwgMjE0LCAxMDAsIDQ5LCAyMTMsIDExNywgNDksIDIwNywgNTMsIAorICAgIDQ5LCAyMDksIDE0OSwgMTMxLCAyMjksIDI4LCA0OSwgMzIsIDEzMSwgMjI5LCAyOCwgMTI4LCAyMTIsIDExMCwgMTYsIDMzLCAKKyAgICAyNDYsIDY3LCAxMDIsIDEyOCwgMjEyLCAxMTAsIDE2LCAzMywgMjQ2LCA2NywgMTA1LCAxMjgsIDIxMiwgMTEwLCAxNiwgMzMsIAorICAgIDI0NiwgNjcsIDE0MiwgMTI4LCAyMTIsIDExMCwgMTYsIDMzLCAyNDYsIDY3LCAxMzksIDEyOCwgMjEyLCAxMTAsIDE2LCAzMywgCisgICAgMjQ2LCA2NywgMTY4LCAxMjgsIDIxMiwgMTEwLCAxNiwgMzMsIDI0NiwgNjcsIDE4NCwgMTI4LCAyMTIsIDExMCwgMTYsIDMzLCAKKyAgICAyNDYsIDY3LCAxOTUsIDEyOCwgMjEyLCAxMTAsIDE2LCAzMywgMjQ2LCA2NywgMTkzLCAxMjgsIDIxMiwgMTEwLCAxNiwgMzMsIAorICAgIDI0NiwgNjcsIDIwMCwgMTI4LCAyMTIsIDExMCwgMTYsIDMzLCAyNDYsIDY3LCAyMTIsIDk4LCAxMjgsIDIxMiwgMTEwLCAxNiwgCisgICAgMzMsIDI0NiwgNjcsIDI0MywgNTgsIDEyOCwgMjEyLCAxMTAsIDE2LCAzMywgMjQ2LCA2NywgMjEwLCAxMjYsIDEyOCwgMjEyLCAKKyAgICAxMTAsIDE2LCAzMywgMjQ2LCA2NywgMjEyLCA1LCAxMjgsIDIxMiwgMTEwLCAxNiwgMzMsIDI0NiwgNjcsIDI0MSwgMTE5LCAKKyAgICAxMjgsIDIxMiwgMTEwLCAxNiwgMzMsIDI0NiwgNjcsIDI0MSwgMjQ3LCAxMjgsIDIxMiwgMTEwLCAxNiwgMzMsIDI0NiwgNjcsIAorICAgIDIxNSwgNCwgMTI4LCAyMTIsIDExMCwgMTYsIDMzLCAyNDYsIDY3LCAyMTYsIDIwLCAxMjgsIDIxMiwgMTEwLCAxNiwgMzMsIAorICAgIDI0NiwgNjcsIDI0MywgODUsIDEyOCwgMjEyLCAxMTAsIDE2LCAzMywgMjQ2LCA2NywgMjI0LCAxOTIsIDEyOCwgMjEyLCAKKyAgICAxMTAsIDE2LCAzMywgMjQ2LCA2NywgMjEwLCAxMjMsIDEyOCwgMjEyLCAxMTAsIDE2LCAzMywgMjQ2LCA2NywgMjEwLCAxMTcsIAorICAgIDEyOCwgMjEyLCAxMTAsIDE2LCAzMywgMjQ2LCA2NywgMjEwLCAxMTMsIDEyOCwgMjEyLCAxMTAsIDE2LCAzMywgMjQ2LCA2NywgCisgICAgMjEwLCAxMTQsIDEyOCwgMjEyLCAxMTAsIDE2LCAzMywgMjQ2LCA2NywgMjEwLCAxMTksIDEyOCwgMjEyLCAxMTAsIDE2LCAKKyAgICAzMywgMjQ2LCA2NywgMjEwLCAxMjAsIDEyOCwgMjEyLCAxMTAsIDE2LCAzMywgMjQ2LCA2NywgMjEwLCAxMTUsIDEyOCwgCisgICAgMjEyLCAxMTAsIDE2LCAzMywgMjQ2LCA2NywgMjEwLCAxMTYsIDEyOCwgMjEyLCAxMTAsIDE2LCAzMywgMjQ2LCA2NywgMjEwLCAKKyAgICAxMjIsIDEyOCwgMjEyLCAxMTAsIDE2LCAzMywgMjQ2LCA2NywgMjEwLCAxMTgsIDEyOCwgMjEyLCAxMTAsIDE2LCAzMywgCisgICAgMjQ2LCA2NywgMjEyLCAzLCAxMjgsIDIxMiwgMTEwLCAxNiwgMzMsIDI0NiwgNjcsIDIxMiwgMiwgNDksIDI0MCwgMjI2LCAKKyAgICAyMzksIDI0LCAzMywgMjEyLCA0MiwgMjQ3LCA2OSwgMjM5LCA1NiwgMjM5LCAyNCwgMzMsIDIxMiwgNDIsIDIxOSwgNDQsIAorICAgIDI0MywgMTIwLCAyMzksIDI0LCAzMywgMjQ1LCAxMzgsIDI1MSwgMjAwLCAyMTIsIDQyLCAyNTAsIDQwLCAyMzksIDI0LCAzMywgCisgICAgMjA1LCAyMjYsIDI0MSwgMTU2LCAyMzksIDI0LCAzMywgMjA3LCA4OSwgMjM5LCAyNCwgMzMsIDI0NywgMTM2LCAyMzksIDI0LCAKKyAgICAzMywgMjEyLCA0MiwgMjUxLCAyNTQsIDIzOSwgMjQsIDMzLCAyMzgsIDE0MSwgMjExLCAxMjYsIDIzOSwgMjQsIDMzLCA1LCAKKyAgICAyMTIsIDE3NSwgMjM5LCAyNCwgMzMsIDIxMSwgNjMsIDIzOSwgMjQsIDMzLCAyMjEsIDE3MiwgMjM5LCAyNCwgMzMsIDIxNCwgCisgICAgMjgsIDIzOSwgMjQsIDMzLCAyNDIsIDEyLCAyMzksIDI0LCAzMywgMjM5LCAyMzIsIDIyMCwgMTc3LCAyMzksIDI0LCAzMywgCisgICAgMjI2LCAxNzQsIDIzOSwgMjQsIDMzLCAyNDMsIDE1LCAyMzksIDI0LCAzMywgMjQxLCAxNTcsIDIzOSwgMjQsIDMzLCAyMDYsIAorICAgIDIzMCwgMjIyLCAxNjYsIDIxMiwgNDIsIDI0NiwgNSwgMjM5LCAyNCwgMzMsIDI1MiwgNDcsIDIzOSwgMjQsIDMzLCAyNDcsIAorICAgIDExNywgMjM5LCAyNCwgMzMsIDI0OSwgMjA4LCAyMTEsIDIzMiwgMjM5LCAyNCwgMzMsIDIzOSwgMjQ5LCAyMzksIDI0LCAzMywgCisgICAgMjE0LCAxMjAsIDI1MiwgNjYsIDIzOSwgMjQsIDMzLCAyMTgsIDIyOCwgMjM5LCAyNCwgMzMsIDIzMywgMzEsIDIzOSwgMjQsIAorICAgIDMzLCAyMzksIDIzMiwgMjEyLCAxNzUsIDIzOSwgMjQsIDMzLCAyMjYsIDEyNCwgMjQ3LCA5MCwgMjM5LCAyNCwgMzMsIDIzOSwgCisgICAgMjMyLCAyMjAsIDEzNCwgMjM5LCAyNCwgMzMsIDIxMiwgNDIsIDI1MywgMjYsIDIwNywgNjksIDIzOSwgMjQsIDMzLCAyMTIsIAorICAgIDQyLCAyNDcsIDIwMCwgMjQxLCAyMTksIDIzOSwgMjQsIDMzLCAyMzMsIDQ0LCAyMzksIDI0LCAzMywgMjQzLCAyMTYsIDIzOSwgCisgICAgMjQsIDMzLCAyMTgsIDIzMSwgMjM5LCAyNCwgMzMsIDIzOSwgMjMyLCAyMjAsIDE2MSwgMjM5LCAyNCwgMzMsIDIyMCwgMTEyLCAKKyAgICAyMzksIDI0LCAzMywgMjQ2LCA4MywgNzMsIDIxMiwgNDIsIDIyOSwgMjIzLCAyMzksIDI0LCAzMywgMjEyLCA0MiwgMjQyLCAKKyAgICA0OCwgMjM5LCAyNCwgMzMsIDIyMiwgMTI4LCAyMzksIDI0LCAzMywgMjIyLCAyMTgsIDIzOSwgMjQsIDMzLCAyNDUsIDIzMiwgCisgICAgMjM5LCAyNCwgMzMsIDI0NSwgMjUzLCAyMzksIDI0LCAzMywgMjMzLCA1OSwgMjM5LCAyNCwgMzMsIDI0OSwgMTI1LCAyMzksIAorICAgIDI0LCAzMywgMjQ3LCAxNTcsIDIxMSwgMTMwLCAyMjcsIDEwMiwgMjM5LCAyNCwgMzMsIDI0MCwgMTk1LCAyMTEsIDEyNiwgCisgICAgMjM5LCAyNCwgMzMsIDIyMCwgNTYsIDIwOSwgMTk3LCAyMzksIDI0LCAzMywgMjIyLCAxMjcsIDIzOSwgMjQsIDMzLCAyMTIsIAorICAgIDQyLCAyMDcsIDQwLCAyMzksIDI0LCAzMywgMjE4LCAyMTksIDIzOSwgMjQsIDMzLCAyMTIsIDQyLCAyNDgsIDE3OCwgMjM5LCAKKyAgICAyNCwgMzMsIDIxMiwgNDIsIDI1MSwgMjUwLCAyMTEsIDIyNywgMjM5LCAyNCwgMzMsIDIxMiwgNDIsIDIzMSwgMjE4LCAyMTQsIAorICAgIDIsIDIyNiwgMTI4LCAyMzksIDI0LCAzMywgMjQ1LCAyMDAsIDIzOSwgMjQsIDMzLCAyMTIsIDQyLCAyMjcsIDE4NCwgMjI3LCAKKyAgICAyMzgsIDIzOSwgMjQsIDMzLCAyNTMsIDI3LCAyMzksIDI0LCAzMywgMjEyLCA0MiwgMjA3LCA4NCwgMjM5LCAyNCwgMzMsIAorICAgIDIxMiwgNDIsIDI0MCwgMTUzLCAyMDcsIDksIDIzOSwgMjQsIDMzLCAyMTIsIDQyLCAyMzIsIDEwNiwgMjMwLCAxMTEsIDIzOSwgCisgICAgMjQsIDMzLCAyNDUsIDkxLCAyMzksIDI0LCAzMywgMjI5LCAyMTIsIDIzOSwgMjQsIDMzLCAyMzMsIDM0LCAyMTAsIDI0NywgCisgICAgMjM5LCAyNCwgMzMsIDUsIDIyMCwgMTM0LCAyMzksIDI0LCAzMywgMjUyLCAyMjEsIDI0NywgMTQ4LCAyMzksIDI0LCAzMywgCisgICAgMjUwLCA0MywgMjQ3LCAxNDgsIDksIDQsIDIzMiwgMjIwLCA5LCA0LCAyMzIsIDIxMiwgOSwgNCwgNzQsIDksIDQsIDIzMiwgCisgICAgMjQ2LCA5LCA0LCAyMzMsIDEyNywgOSwgNCwgMjMzLCAxMTAsIDksIDQsIDIzMywgMTI5LCA5LCA0LCAyMzMsIDEyOCwgOSwgCisgICAgNCwgMjUxLCAxOTksIDksIDQsIDI1MSwgMTYxLCA5LCA0LCA2MiwgOSwgNCwgMjUyLCA2OCwgOSwgNCwgMjA5LCAyMDcsIDksIAorICAgIDQsIDIwOSwgMjEwLCA5LCA0LCAyMDksIDIwOCwgOSwgNCwgMjIyLCAxMDMsIDksIDQsIDIyMiwgNzYsIDksIDQsIDc2LCA5LCAKKyAgICA0LCAyMjIsIDE0MywgOSwgNCwgMjQyLCAxNzIsIDksIDQsIDc1LCA5LCA0LCAyMDYsIDIxNiwgOSwgNCwgMjQ5LCAyMDksIDksIAorICAgIDQsIDI0OSwgMjA2LCA5LCA0LCAyNDksIDI0NCwgOSwgNCwgMjQ5LCAyMTksIDksIDQsIDI0OSwgMjMzLCA5LCA0LCAyNDksIAorICAgIDIzMiwgOSwgNCwgMjQ5LCAyMzUsIDksIDQsIDI0OSwgMjM0LCA5LCA0LCAyNTAsIDEwOCwgOSwgNCwgMjUwLCAxMDAsIDksIAorICAgIDQsIDI1MCwgMTgzLCA5LCA0LCAyNTAsIDEzMCwgOSwgNCwgMjQ5LCA3MSwgOSwgNCwgMjQ5LCA3NSwgOSwgNCwgMjQ5LCA3MiwgCisgICAgOSwgNCwgMjQ5LCAxNTgsIDksIDQsIDI0OSwgMTQwLCA5LCA0LCAyNDksIDE4NCwgOSwgNCwgMjQ5LCAxNjQsIDksIDQsIAorICAgIDI1MCwgMywgOSwgNCwgMjUwLCA2MSwgOSwgNCwgMjUwLCAxNSwgOSwgNCwgMjQ5LCA1NiwgOSwgNCwgMjQ5LCA1MiwgOSwgNCwgCisgICAgMjQ5LCAxMDEsIDksIDQsIDI0OSwgNzAsIDksIDQsIDI0OSwgNjQsIDksIDQsIDI0OSwgNjgsIDksIDQsIDI0OSwgNDAsIDksIAorICAgIDQsIDI0OSwgMzgsIDksIDQsIDI0OSwgNDUsIDksIDQsIDI0OSwgNDMsIDksIDQsIDI0OSwgNDEsIDksIDQsIDI0OSwgNDIsIAorICAgIDksIDQsIDIyMCwgMjQ3LCA5LCA0LCAyMjAsIDI0MywgOSwgNCwgMjIxLCA1MywgOSwgNCwgMjIxLCAzLCA5LCA0LCAyMjEsIAorICAgIDE5LCA5LCA0LCAyMjEsIDQ2LCA5LCA0LCAyMjEsIDQyLCA5LCA0LCAyMjEsIDE5NSwgOSwgNCwgMjIxLCAxODQsIDksIDQsIAorICAgIDE3OSwgOSwgNCwgMjIxLCAyMzYsIDksIDQsIDIyMCwgNjYsIDksIDQsIDIyMCwgNjgsIDksIDQsIDIyMCwgNjcsIDksIDQsIAorICAgIDIyMCwgMTcwLCA5LCA0LCAyMjAsIDE1OSwgOSwgNCwgMjIwLCAyMTEsIDksIDQsIDIyMCwgMTgzLCA5LCA0LCAyMjAsIDUyLCAKKyAgICA5LCA0LCAyMjAsIDQ4LCA5LCA0LCAyMjAsIDgyLCA5LCA0LCAyMjAsIDY1LCA5LCA0LCAyMjAsIDU3LCA5LCA0LCAyMjAsIAorICAgIDYzLCA5LCA0LCAyMjAsIDMxLCA5LCA0LCAyMjAsIDMwLCA5LCA0LCAyMjAsIDM1LCA5LCA0LCAyMjAsIDM0LCA5LCA0LCAKKyAgICAyMjAsIDMyLCA5LCA0LCAyMjAsIDMzLCA5LCA0LCAyNTAsIDgyLCA5LCA0LCAyNTAsIDgxLCA5LCA0LCAyNTAsIDg4LCA5LCAKKyAgICA0LCAyNTAsIDgzLCA5LCA0LCAyNTAsIDg1LCA5LCA0LCAyNTAsIDg0LCA5LCA0LCAyNTAsIDg3LCA5LCA0LCAyNTAsIDg2LCAKKyAgICA5LCA0LCAyNTAsIDk0LCA5LCA0LCAyNTAsIDkzLCA5LCA0LCAyNTAsIDk3LCA5LCA0LCAyNTAsIDk1LCA5LCA0LCAyNTAsIAorICAgIDczLCA5LCA0LCAyNTAsIDc1LCA5LCA0LCAyNTAsIDc0LCA5LCA0LCAyNTAsIDc4LCA5LCA0LCAyNTAsIDc3LCA5LCA0LCAKKyAgICAyNTAsIDgwLCA5LCA0LCAyNTAsIDc5LCA5LCA0LCAyNTAsIDg5LCA5LCA0LCAyNTAsIDkyLCA5LCA0LCAyNTAsIDkwLCA5LCAKKyAgICA0LCAyNTAsIDY5LCA5LCA0LCAyNTAsIDY4LCA5LCA0LCAyNTAsIDc2LCA5LCA0LCAyNTAsIDcyLCA5LCA0LCAyNTAsIDcwLCAKKyAgICA5LCA0LCAyNTAsIDcxLCA5LCA0LCAyNTAsIDY1LCA5LCA0LCAyNTAsIDY0LCA5LCA0LCAyNTAsIDY3LCA5LCA0LCAyNTAsIAorICAgIDY2LCA5LCA0LCAyMjUsIDE3MywgOSwgNCwgMjI1LCAxNzIsIDksIDQsIDIyNSwgMTc4LCA5LCA0LCAyMjUsIDE3NCwgOSwgNCwgCisgICAgMjI1LCAxNzUsIDksIDQsIDIyNSwgMTc3LCA5LCA0LCAyMjUsIDE3NiwgOSwgNCwgMjI1LCAxODEsIDksIDQsIDIyNSwgMTgwLCAKKyAgICA5LCA0LCAyMjUsIDE4MywgOSwgNCwgMjI1LCAxODIsIDksIDQsIDIyNSwgMTY5LCA5LCA0LCAyMjUsIDE2OCwgOSwgNCwgCisgICAgMjI1LCAxNzEsIDksIDQsIDIyNSwgMTcwLCA5LCA0LCAyMjUsIDE2MiwgOSwgNCwgMjI1LCAxNjEsIDksIDQsIDIyNSwgMTY2LCAKKyAgICA5LCA0LCAyMjUsIDE2NSwgOSwgNCwgMjI1LCAxNjMsIDksIDQsIDIyNSwgMTY0LCA5LCA0LCAyMjUsIDE1NiwgOSwgNCwgCisgICAgMjI1LCAxNTUsIDksIDQsIDIyNSwgMTYwLCA5LCA0LCAyMjUsIDE1OSwgOSwgNCwgMjI1LCAxNTcsIDksIDQsIDIyNSwgMTU4LCAKKyAgICA5LCA0LCAyMzgsIDE5MywgOSwgNCwgMjM4LCAxOTIsIDksIDQsIDIzOCwgMTk4LCA5LCA0LCAyMzgsIDE5NCwgOSwgNCwgCisgICAgMjM4LCAxOTUsIDksIDQsIDIzOCwgMTk3LCA5LCA0LCAyMzgsIDE5NiwgOSwgNCwgMjM4LCAyMDEsIDksIDQsIDIzOCwgMjAwLCAKKyAgICA5LCA0LCAyMzgsIDIwMywgOSwgNCwgMjM4LCAyMDIsIDksIDQsIDIzOCwgMTg0LCA5LCA0LCAyMzgsIDE4NiwgOSwgNCwgCisgICAgMjM4LCAxODUsIDksIDQsIDIzOCwgMTg5LCA5LCA0LCAyMzgsIDE4OCwgOSwgNCwgMjM4LCAxOTEsIDksIDQsIDIzOCwgMTkwLCAKKyAgICA5LCA0LCAyMzgsIDE4MCwgOSwgNCwgMjM4LCAxNzksIDksIDQsIDIzOCwgMTg3LCA5LCA0LCAyMzgsIDE4MywgOSwgNCwgCisgICAgMjM4LCAxODEsIDksIDQsIDIzOCwgMTgyLCA5LCA0LCAyMzgsIDE3NCwgOSwgNCwgMjM4LCAxNzgsIDksIDQsIDIzOCwgMTc3LCAKKyAgICA5LCA0LCAyMzgsIDE3NSwgOSwgNCwgMjM4LCAxNzYsIDksIDQsIDIyNiwgMTkyLCA5LCA0LCAyMjYsIDE5MSwgOSwgNCwgCisgICAgMjI2LCAyNTQsIDksIDQsIDIyNiwgMTk4LCA5LCA0LCAyMjYsIDIyNiwgOSwgNCwgMjI2LCAyNDQsIDksIDQsIDIyNiwgMjQyLCAKKyAgICA5LCA0LCAyMjcsIDE3MCwgOSwgNCwgMjI3LCAxNjUsIDksIDQsIDE4NSwgOSwgNCwgMjI3LCAyMDUsIDksIDQsIDIyNiwgODMsIAorICAgIDksIDQsIDIyNiwgODIsIDksIDQsIDIyNiwgODYsIDksIDQsIDIyNiwgODQsIDksIDQsIDIyNiwgMTM3LCA5LCA0LCAyMjYsIAorICAgIDEyMCwgOSwgNCwgMjI2LCAxODEsIDksIDQsIDIyNiwgMTQyLCA5LCA0LCAyMjcsIDUwLCA5LCA0LCAyMjcsIDExOSwgOSwgNCwgCisgICAgMjI2LCA2MywgOSwgNCwgMjI2LCA1OSwgOSwgNCwgMjI2LCAxMTQsIDksIDQsIDIyNiwgNzksIDksIDQsIDIyNiwgNzIsIDksIAorICAgIDQsIDIyNiwgNzcsIDksIDQsIDIyNiwgMzYsIDksIDQsIDIyNiwgMzUsIDksIDQsIDIyNiwgNDEsIDksIDQsIDIyNiwgMzgsIAorICAgIDksIDQsIDI0MSwgMjA2LCA5LCA0LCAyNDEsIDIwMSwgOSwgNCwgMjQxLCAyNTAsIDksIDQsIDI0MSwgMjIxLCA5LCA0LCAKKyAgICAyNDIsIDQxLCA5LCA0LCAyNDIsIDMyLCA5LCA0LCAyNDIsIDczLCA5LCA0LCAyNDIsIDQ0LCA5LCA0LCAyNDEsIDExNywgOSwgCisgICAgNCwgMjQxLCAxNjIsIDksIDQsIDI0MSwgMTQzLCA5LCA0LCAyNDEsIDcxLCA5LCA0LCAyNDEsIDcwLCA5LCA0LCAyNDEsIDg4LCAKKyAgICA5LCA0LCAyNDEsIDc2LCA5LCA0LCAyNDEsIDc0LCA5LCA0LCAyNDEsIDc1LCA5LCA0LCAyNDEsIDU4LCA5LCA0LCAyNDEsIAorICAgIDU3LCA5LCA0LCAyNDEsIDYxLCA5LCA0LCAyNDEsIDU5LCA5LCA0LCAyMDgsIDE4MCwgOSwgNCwgMjA4LCAxNzUsIDksIDQsIAorICAgIDIwOCwgMjE0LCA5LCA0LCAyMDgsIDE4OSwgOSwgNCwgMjA4LCAyMDMsIDksIDQsIDIwOCwgMjAwLCA5LCA0LCAyMDgsIDIwNiwgCisgICAgOSwgNCwgMjA4LCAyMDUsIDksIDQsIDIwOSwgNDcsIDksIDQsIDIwOSwgNDIsIDksIDQsIDIwOSwgNzAsIDksIDQsIDIwOSwgCisgICAgNTksIDksIDQsIDIwOCwgMTU3LCA5LCA0LCAyMDgsIDE1MywgOSwgNCwgMjA4LCAxNzMsIDksIDQsIDIwOCwgMTU5LCA5LCA0LCAKKyAgICAyMDgsIDIxNywgOSwgNCwgMjA5LCAyOCwgOSwgNCwgMjA3LCAxNDIsIDksIDQsIDIwNywgMTQwLCA5LCA0LCAyMDcsIDE0OCwgCisgICAgOSwgNCwgMjA3LCAxNDUsIDksIDQsIDIwNywgMTQzLCA5LCA0LCAyMDcsIDE0NCwgOSwgNCwgMjA3LCAxMzMsIDksIDQsIAorICAgIDIwNywgMTMyLCA5LCA0LCAyMDcsIDEzNywgOSwgNCwgMjA3LCAxMzYsIDksIDQsIDIwNywgMTM0LCA5LCA0LCAyMDcsIDEzNSwgCisgICAgOSwgNCwgMjQ1LCA4NSwgOSwgNCwgMjQ1LCA3MiwgOSwgNCwgMjQ1LCAxNjgsIDksIDQsIDI0NSwgMTEwLCA5LCA0LCAyNDUsIAorICAgIDE0MywgOSwgNCwgMjQ1LCAxNDgsIDksIDQsIDI0NSwgMTQ3LCA5LCA0LCAyNDYsIDc0LCA5LCA0LCAyNDYsIDY4LCA5LCA0LCAKKyAgICAyNDYsIDE0NSwgOSwgNCwgMjQ2LCA5NCwgOSwgNCwgMjQzLCAyMjEsIDksIDQsIDI0MywgMjIyLCA5LCA0LCAyNDUsIDIzLCAKKyAgICA5LCA0LCAyNDQsIDUsIDksIDQsIDI0NSwgNTEsIDksIDQsIDI0NSwgMjUsIDksIDQsIDI0NSwgMTk4LCA5LCA0LCAyNDYsIDksIAorICAgIDksIDQsIDI0NSwgMjE4LCA5LCA0LCAyNDMsIDIxMiwgOSwgNCwgMjQzLCAyMTAsIDksIDQsIDI0MywgMjM3LCA5LCA0LCAKKyAgICAyNDMsIDIyMCwgOSwgNCwgMjQzLCAyMTUsIDksIDQsIDI0MywgMjE4LCA5LCA0LCAyMTEsIDE1NiwgOSwgNCwgMjExLCAxNDksIAorICAgIDksIDQsIDIxMSwgMjExLCA5LCA0LCAyMTEsIDE2NiwgOSwgNCwgMjExLCAyMDEsIDksIDQsIDIxMSwgMjAzLCA5LCA0LCAKKyAgICAyMTEsIDIwMiwgOSwgNCwgMjEyLCAxNTYsIDksIDQsIDIxMiwgMTQyLCA5LCA0LCAyMTIsIDIxOSwgOSwgNCwgMjEyLCAxNjYsIAorICAgIDksIDQsIDIxMCwgMTUzLCA5LCA0LCAyMTAsIDE1MiwgOSwgNCwgMjEwLCAxNTUsIDksIDQsIDIxMCwgMTU0LCA5LCA0LCAKKyAgICAyMTEsIDkxLCA5LCA0LCAyMTEsIDg1LCA5LCA0LCAxMjQsIDksIDQsIDIxMSwgMTAxLCA5LCA0LCAyMTIsIDYyLCA5LCA0LCAKKyAgICAyMTIsIDEzMSwgOSwgNCwgMjEyLCA4NywgOSwgNCwgMjEwLCAxMzgsIDksIDQsIDIxMCwgMTMzLCA5LCA0LCAyMTAsIDE3MCwgCisgICAgOSwgNCwgMjEwLCAxNTEsIDksIDQsIDIxMCwgMTM5LCA5LCA0LCAyMTAsIDE0OSwgOSwgNCwgMjQ2LCAyNiwgOSwgNCwgMjQ2LCAKKyAgICAyNSwgOSwgNCwgMjQ2LCAzMSwgOSwgNCwgMjQ2LCAyNywgOSwgNCwgMjQ2LCAyOCwgOSwgNCwgMjQ2LCAzMCwgOSwgNCwgCisgICAgMjQ2LCAyOSwgOSwgNCwgMjQ2LCA0NywgOSwgNCwgMjQ2LCA0NiwgOSwgNCwgMjQ2LCA1NCwgOSwgNCwgMjQ2LCA0OCwgOSwgCisgICAgNCwgMjQ2LCAxNiwgOSwgNCwgMjQ2LCAxOCwgOSwgNCwgMjQ2LCAxNywgOSwgNCwgMjQ2LCAyMSwgOSwgNCwgMjQ2LCAyMCwgCisgICAgOSwgNCwgMjQ2LCAyNCwgOSwgNCwgMjQ2LCAyMiwgOSwgNCwgMjQ2LCAzOSwgOSwgNCwgMjQ2LCA0MiwgOSwgNCwgMjQ2LCAKKyAgICA0MCwgOSwgNCwgMjQ2LCAxMiwgOSwgNCwgMjQ2LCAxMSwgOSwgNCwgMjQ2LCAxOSwgOSwgNCwgMjQ2LCAxNSwgOSwgNCwgCisgICAgMjQ2LCAxMywgOSwgNCwgMjQ2LCAxNCwgOSwgNCwgMjI1LCAxMjksIDksIDQsIDIyNSwgMTI4LCA5LCA0LCAyMjUsIDEzNiwgCisgICAgOSwgNCwgMjI1LCAxMzEsIDksIDQsIDIyNSwgMTMyLCA5LCA0LCAyMjUsIDEzMywgOSwgNCwgMjI1LCAxNDUsIDksIDQsIAorICAgIDIyNSwgMTQ0LCA5LCA0LCAyMjUsIDE1MSwgOSwgNCwgMjI1LCAxNDYsIDksIDQsIDIyNSwgMTIxLCA5LCA0LCAyMjUsIDEyMCwgCisgICAgOSwgNCwgMjI1LCAxMjcsIDksIDQsIDIyNSwgMTIyLCA5LCA0LCAyMjUsIDEzNywgOSwgNCwgMjI1LCAxNDMsIDksIDQsIAorICAgIDIyNSwgMTQxLCA5LCA0LCAyMjUsIDExMywgOSwgNCwgMjI1LCAxMTIsIDksIDQsIDIyNSwgMTE4LCA5LCA0LCAyMjUsIDExNiwgCisgICAgOSwgNCwgMjI1LCAxMTQsIDksIDQsIDIyNSwgMTE1LCA5LCA0LCAyMzgsIDE1OSwgOSwgNCwgMjM4LCAxNTgsIDksIDQsIAorICAgIDIzOCwgMTY1LCA5LCA0LCAyMzgsIDE2MCwgOSwgNCwgMjM4LCAxNjIsIDksIDQsIDIzOCwgMTYxLCA5LCA0LCAyMzgsIDE2NCwgCisgICAgOSwgNCwgMjM4LCAxNjMsIDksIDQsIDIzOCwgMTcxLCA5LCA0LCAyMzgsIDE2OSwgOSwgNCwgMjM4LCAxNzMsIDksIDQsIAorICAgIDIzOCwgMTcyLCA5LCA0LCAyMzgsIDE1MiwgOSwgNCwgMjM4LCAxNTMsIDksIDQsIDIzOCwgMTU2LCA5LCA0LCAyMzgsIDE1NSwgCisgICAgOSwgNCwgMjM4LCAxNTcsIDksIDQsIDIzOCwgMTY2LCA5LCA0LCAyMzgsIDE2OCwgOSwgNCwgMjM4LCAxNjcsIDksIDQsIAorICAgIDIzOCwgMTUxLCA5LCA0LCAyMjQsIDE4NCwgOSwgNCwgMjI0LCAxODIsIDksIDQsIDIyNCwgMjMwLCA5LCA0LCAyMjQsIDE4NywgCisgICAgOSwgNCwgMjI0LCAyMTIsIDksIDQsIDIyNCwgMjI2LCA5LCA0LCAyMjQsIDIyNSwgOSwgNCwgMjI1LCAxODcsIDksIDQsIAorICAgIDE5OSwgOSwgNCwgMjI1LCAyMDIsIDksIDQsIDIyMywgMTY1LCA5LCA0LCAyMjMsIDE2NywgOSwgNCwgMjIzLCAxNjYsIDksIAorICAgIDQsIDIyNCwgNDIsIDksIDQsIDIyNCwgMjcsIDksIDQsIDIyNCwgNjcsIDksIDQsIDIyNCwgNTIsIDksIDQsIDIyNSwgODMsIAorICAgIDksIDQsIDIyNSwgMTEwLCA5LCA0LCAyMjUsIDk2LCA5LCA0LCAyMjMsIDE2MCwgOSwgNCwgMjIzLCAxNTYsIDksIDQsIDIyMywgCisgICAgMjE3LCA5LCA0LCAyMjMsIDE2NCwgOSwgNCwgMjIzLCAxNjIsIDksIDQsIDIyMywgMTYzLCA5LCA0LCAyMzgsIDIyNCwgOSwgCisgICAgNCwgMjM4LCAyMjMsIDksIDQsIDIzOCwgMjI5LCA5LCA0LCAyMzgsIDIyNSwgOSwgNCwgMjM4LCAyMjYsIDksIDQsIDIzOCwgCisgICAgMjI4LCA5LCA0LCAyMzgsIDIyNywgOSwgNCwgMjM4LCAyMzUsIDksIDQsIDIzOCwgMjMzLCA5LCA0LCAyMzgsIDIzNywgOSwgCisgICAgNCwgMjM4LCAyMzYsIDksIDQsIDIzOCwgMjE2LCA5LCA0LCAyMzgsIDIxOCwgOSwgNCwgMjM4LCAyMTcsIDksIDQsIDIzOCwgCisgICAgMjIwLCA5LCA0LCAyMzgsIDIyMiwgOSwgNCwgMjM4LCAyMjEsIDksIDQsIDIzOCwgMjMwLCA5LCA0LCAyMzgsIDIzMiwgOSwgCisgICAgNCwgMjM4LCAyMzEsIDksIDQsIDIzOCwgMjEyLCA5LCA0LCAyMzgsIDIxMSwgOSwgNCwgMjM4LCAyMTksIDksIDQsIDIzOCwgCisgICAgMjE1LCA5LCA0LCAyMzgsIDIxMywgOSwgNCwgMjM4LCAyMTQsIDksIDQsIDIzOCwgMjA2LCA5LCA0LCAyMzgsIDIwNSwgOSwgCisgICAgNCwgMjM4LCAyMTAsIDksIDQsIDIzOCwgMjA5LCA5LCA0LCAyMzgsIDIwNywgOSwgNCwgMjM4LCAyMDgsIDksIDQsIDIyOSwgCisgICAgMTg0LCA5LCA0LCAyMjksIDE3NywgOSwgNCwgMjI5LCAyMzUsIDksIDQsIDIyOSwgMTkzLCA5LCA0LCAyMjksIDIyNywgOSwgCisgICAgNCwgMjI5LCAyMjYsIDksIDQsIDIyOSwgMjMwLCA5LCA0LCAyMjksIDIyOCwgOSwgNCwgMjMwLCA4MCwgOSwgNCwgMjMwLCAKKyAgICA2OSwgOSwgNCwgMjMwLCAxNDEsIDksIDQsIDIzMCwgODksIDksIDQsIDIyOSwgNjAsIDksIDQsIDIyOSwgNTksIDksIDQsIAorICAgIDIyOSwgNjIsIDksIDQsIDIyOSwgNjEsIDksIDQsIDIyOSwgMTAzLCA5LCA0LCAyMjksIDkwLCA5LCA0LCAyMjksIDE0NCwgOSwgCisgICAgNCwgMjI5LCAxMDgsIDksIDQsIDIyOSwgMjUyLCA5LCA0LCAyMzAsIDU4LCA5LCA0LCAyMzAsIDEzLCA5LCA0LCAyMjksIDU0LCAKKyAgICA5LCA0LCAyMjksIDUyLCA5LCA0LCAyMjksIDgxLCA5LCA0LCAyMjksIDU4LCA5LCA0LCAyMjksIDU2LCA5LCA0LCAyMjksIAorICAgIDU3LCA5LCA0LCAyMjksIDMzLCA5LCA0LCAyMjksIDMyLCA5LCA0LCAyMjksIDQyLCA5LCA0LCAyMjksIDM2LCA5LCA0LCAKKyAgICAyMjksIDM0LCA5LCA0LCAyMjksIDM1LCA5LCA0LCAyNDAsIDM0LCA5LCA0LCAyNDAsIDMzLCA5LCA0LCAyNDAsIDYxLCA5LCAKKyAgICA0LCAyNDAsIDQ1LCA5LCA0LCAyNDAsIDUzLCA5LCA0LCAyNDAsIDUyLCA5LCA0LCAyNDAsIDU1LCA5LCA0LCAyNDAsIDU0LCAKKyAgICA5LCA0LCAyNDAsIDE5NywgOSwgNCwgMjQwLCAxOTIsIDksIDQsIDI0MCwgMjQ0LCA5LCA0LCAyNDAsIDIwNywgOSwgNCwgCisgICAgMjM5LCAxODksIDksIDQsIDIzOSwgMTg4LCA5LCA0LCAyMzksIDE5MSwgOSwgNCwgMjM5LCAxOTAsIDksIDQsIDIzOSwgMjU0LCAKKyAgICA5LCA0LCAyMzksIDI1MiwgOSwgNCwgMjQwLCAxOSwgOSwgNCwgMjQwLCA2LCA5LCA0LCAyNDAsIDEzOSwgOSwgNCwgMjQwLCAKKyAgICAxMzcsIDksIDQsIDI0MCwgMTcwLCA5LCA0LCAyNDAsIDE1MCwgOSwgNCwgMjM5LCAxNzgsIDksIDQsIDIzOSwgMTc3LCA5LCAKKyAgICA0LCAyMzksIDIxMywgOSwgNCwgMjM5LCAxODcsIDksIDQsIDIzOSwgMTc5LCA5LCA0LCAyMzksIDE4NiwgOSwgNCwgMjMxLCAKKyAgICA4OSwgOSwgNCwgMjMxLCA4NiwgOSwgNCwgMjMxLCAxMjMsIDksIDQsIDIzMSwgMTAzLCA5LCA0LCAyMzEsIDExMywgOSwgNCwgCisgICAgMjMxLCAxMTYsIDksIDQsIDIzMSwgMTE0LCA5LCA0LCAyMzEsIDI0OSwgOSwgNCwgMjMxLCAyMzIsIDksIDQsIDE3MiwgOSwgCisgICAgNCwgMjMyLCAyMCwgOSwgNCwgMjMwLCAyMTQsIDksIDQsIDIzMCwgMjE5LCA5LCA0LCAyMzAsIDIxNiwgOSwgNCwgMjMxLCAKKyAgICAyMSwgOSwgNCwgMjMxLCAxNiwgOSwgNCwgMjMxLCA1MywgOSwgNCwgMjMxLCAyOCwgOSwgNCwgMjMxLCAxOTMsIDksIDQsIAorICAgIDIzMSwgMTc2LCA5LCA0LCAyMzEsIDIyNCwgOSwgNCwgMjMxLCAxOTcsIDksIDQsIDIzMCwgMjAzLCA5LCA0LCAyMzAsIDE5OSwgCisgICAgOSwgNCwgMjMwLCAyMzYsIDksIDQsIDIzMCwgMjEzLCA5LCA0LCAyMzAsIDIwNiwgOSwgNCwgMjMwLCAyMTAsIDksIDQsIAorICAgIDI0MCwgMTIxLCA5LCA0LCAyNDAsIDEyMCwgOSwgNCwgMjQwLCAxMjUsIDksIDQsIDI0MCwgMTIyLCA5LCA0LCAyNDAsIDEyNCwgCisgICAgOSwgNCwgMjQwLCAxMjMsIDksIDQsIDI0MCwgMTMyLCA5LCA0LCAyNDAsIDEzMSwgOSwgNCwgMjQwLCAxMzUsIDksIDQsIAorICAgIDI0MCwgMTMzLCA5LCA0LCAyNDAsIDExMiwgOSwgNCwgMjQwLCAxMTEsIDksIDQsIDI0MCwgMTE0LCA5LCA0LCAyNDAsIDExMywgCisgICAgOSwgNCwgMjQwLCAxMTcsIDksIDQsIDI0MCwgMTE2LCA5LCA0LCAyNDAsIDExOSwgOSwgNCwgMjQwLCAxMTgsIDksIDQsIAorICAgIDI0MCwgMTI3LCA5LCA0LCAyNDAsIDEyNiwgOSwgNCwgMjQwLCAxMzAsIDksIDQsIDI0MCwgMTI4LCA5LCA0LCAyNDAsIDEwNywgCisgICAgOSwgNCwgMjQwLCAxMDYsIDksIDQsIDI0MCwgMTE1LCA5LCA0LCAyNDAsIDExMCwgOSwgNCwgMjQwLCAxMDgsIDksIDQsIAorICAgIDI0MCwgMTA5LCA5LCA0LCAyMjcsIDE3LCA5LCA0LCAyMjcsIDE4LCA5LCA0LCAyMjcsIDM2LCA5LCA0LCAyMjcsIDM1LCA5LCAKKyAgICA0LCAyMjcsIDM4LCA5LCA0LCAyMjcsIDM3LCA5LCA0LCAyMjcsIDgsIDksIDQsIDIyNywgMTAsIDksIDQsIDIyNywgOSwgOSwgCisgICAgNCwgMjI3LCAxMywgOSwgNCwgMjI3LCAxMiwgOSwgNCwgMjI3LCAxNSwgOSwgNCwgMjI3LCAxNCwgOSwgNCwgMjI3LCAxOSwgCisgICAgOSwgNCwgMjI3LCAyMSwgOSwgNCwgMjI3LCAyMCwgOSwgNCwgMjI3LCA0LCA5LCA0LCAyMjcsIDMsIDksIDQsIDIyNywgMTEsIAorICAgIDksIDQsIDIyNywgNywgOSwgNCwgMjI3LCA1LCA5LCA0LCAyMjcsIDYsIDksIDQsIDIzNywgMjUxLCA5LCA0LCAyMzcsIDI1MCwgCisgICAgOSwgNCwgMjM4LCAxLCA5LCA0LCAyMzcsIDI1MiwgOSwgNCwgMjM3LCAyNTQsIDksIDQsIDIzNywgMjUzLCA5LCA0LCAyMzgsIAorICAgIDAsIDksIDQsIDIzNywgMjU1LCA5LCA0LCAyMzgsIDYsIDksIDQsIDIzOCwgNSwgOSwgNCwgMjM4LCA4LCA5LCA0LCAyMzgsIAorICAgIDcsIDksIDQsIDIzNywgMjQzLCA5LCA0LCAyMzcsIDI0MiwgOSwgNCwgMjM3LCAyNDUsIDksIDQsIDIzNywgMjQ0LCA5LCA0LCAKKyAgICAyMzcsIDI0NywgOSwgNCwgMjM3LCAyNDYsIDksIDQsIDIzNywgMjQ5LCA5LCA0LCAyMzcsIDI0OCwgOSwgNCwgMjM4LCAyLCAKKyAgICA5LCA0LCAyMzgsIDQsIDksIDQsIDIzOCwgMywgOSwgNCwgMjI1LCAyMiwgOSwgNCwgMjI1LCAyNCwgOSwgNCwgMjI1LCAyMywgCisgICAgOSwgNCwgMjI1LCA2NywgOSwgNCwgMjI1LCA2NSwgOSwgNCwgMjI1LCA3NywgOSwgNCwgMjI1LCA3MCwgOSwgNCwgMjI0LCAKKyAgICAyNDAsIDksIDQsIDIyNCwgMjM5LCA5LCA0LCAyMjQsIDI0MSwgOSwgNCwgMjI0LCAyNTAsIDksIDQsIDIyNCwgMjQ3LCA5LCAKKyAgICA0LCAyMjUsIDIsIDksIDQsIDIyNCwgMjUyLCA5LCA0LCAyMjUsIDU4LCA5LCA0LCAyMjUsIDY0LCA5LCA0LCAyMjUsIDYwLCAKKyAgICA5LCA0LCAyMzgsIDI0MiwgOSwgNCwgMjM4LCAyNTMsIDksIDQsIDIzOSwgNiwgOSwgNCwgMjM5LCA4NiwgOSwgNCwgMjM5LCAKKyAgICA3NiwgOSwgNCwgMTU1LCA5LCA0LCAyMzksIDk3LCA5LCA0LCAyMzgsIDI0LCA5LCA0LCAyMzgsIDIzLCA5LCA0LCAyMzgsIAorICAgIDI2LCA5LCA0LCAyMzgsIDI1LCA5LCA0LCAyMzgsIDYyLCA5LCA0LCAyMzgsIDUzLCA5LCA0LCAyMzgsIDE0OSwgOSwgNCwgCisgICAgMjM4LCAxMjQsIDksIDQsIDIzOSwgMjYsIDksIDQsIDIzOSwgNzEsIDksIDQsIDIzOSwgMzgsIDksIDQsIDIwNywgNzIsIDksIAorICAgIDQsIDIwNywgNTcsIDksIDQsIDIwNywgOTYsIDksIDQsIDIwNywgODEsIDksIDQsIDIwNiwgMjA1LCA5LCA0LCAyMDYsIDIwNywgCisgICAgOSwgNCwgMjA2LCAyMDYsIDksIDQsIDIwNiwgMjI0LCA5LCA0LCAyMDYsIDI1MCwgOSwgNCwgMjA2LCAyMzMsIDksIDQsIAorICAgIDIwNywgMzIsIDksIDQsIDIwNywgNTEsIDksIDQsIDIwNywgMzcsIDksIDQsIDIwNSwgMjYsIDksIDQsIDIwNSwgMjUsIDksIAorICAgIDQsIDIwNSwgNDAsIDksIDQsIDIwNSwgMjgsIDksIDQsIDIwNSwgMzMsIDksIDQsIDIwNSwgMzUsIDksIDQsIDIwNSwgMzQsIAorICAgIDksIDQsIDIwNSwgMTAxLCA5LCA0LCAyMDUsIDk4LCA5LCA0LCAyMDUsIDExNiwgOSwgNCwgMjA1LCAxMDUsIDksIDQsIDIwNSwgCisgICAgMiwgOSwgNCwgMjA1LCA0LCA5LCA0LCAyMDUsIDMsIDksIDQsIDIwNSwgMTUsIDksIDQsIDIwNSwgMTQsIDksIDQsIDIwNSwgCisgICAgMTksIDksIDQsIDIwNSwgMTYsIDksIDQsIDIwNSwgODMsIDksIDQsIDIwNSwgOTMsIDksIDQsIDIwNSwgODcsIDksIDQsIAorICAgIDIwNCwgMjU0LCA5LCA0LCAyMDQsIDI1MywgOSwgNCwgMjA1LCA5LCA5LCA0LCAyMDUsIDEsIDksIDQsIDIwNCwgMjU1LCA5LCAKKyAgICA0LCAyMDUsIDAsIDksIDQsIDIwNCwgMjQwLCA5LCA0LCAyMDQsIDIzOSwgOSwgNCwgMjA0LCAyNDUsIDksIDQsIDIwNCwgCisgICAgMjQzLCA5LCA0LCAyMDQsIDI0MSwgOSwgNCwgMjA0LCAyNDIsIDksIDQsIDI0NywgMjI1LCA5LCA0LCAyNDcsIDIxOSwgOSwgCisgICAgNCwgMjQ3LCAyNTEsIDksIDQsIDI0NywgMjM1LCA5LCA0LCAyNDcsIDI0OCwgOSwgNCwgMjQ3LCAyNDIsIDksIDQsIDI0NywgCisgICAgMjUwLCA5LCA0LCAyNDcsIDI0OSwgOSwgNCwgMjQ4LCAxODMsIDksIDQsIDI0OCwgMTc1LCA5LCA0LCAyNDksIDEsIDksIDQsIAorICAgIDI0OCwgMjEzLCA5LCA0LCAyNDcsIDMxLCA5LCA0LCAyNDcsIDMzLCA5LCA0LCAyNDcsIDMyLCA5LCA0LCAyNDcsIDg0LCA5LCAKKyAgICA0LCAyNDcsIDc0LCA5LCA0LCAyNDcsIDE3NCwgOSwgNCwgMjQ3LCAxMDAsIDksIDQsIDI0OCwgMTEzLCA5LCA0LCAyNDgsIAorICAgIDE0OCwgOSwgNCwgMjQ4LCAxMTgsIDksIDQsIDI0NywgMTAsIDksIDQsIDI0NywgOCwgOSwgNCwgMjQ3LCA0MCwgOSwgNCwgCisgICAgMjQ3LCAyOSwgOSwgNCwgMjQ3LCAxNiwgOSwgNCwgMjQ3LCAyOCwgOSwgNCwgMjQ2LCAyNDMsIDksIDQsIDI0NiwgMjQyLCA5LCAKKyAgICA0LCAyNDYsIDI1NSwgOSwgNCwgMjQ2LCAyNDksIDksIDQsIDI0NiwgMjQ0LCA5LCA0LCAyNDYsIDI0NiwgOSwgNCwgMjA0LCAKKyAgICAyMjMsIDksIDQsIDIwNCwgMjIyLCA5LCA0LCAyMDQsIDIyOSwgOSwgNCwgMjA0LCAyMjQsIDksIDQsIDIwNCwgMjI2LCA5LCAKKyAgICA0LCAyMDQsIDIyNSwgOSwgNCwgMjA0LCAyMjgsIDksIDQsIDIwNCwgMjI3LCA5LCA0LCAyMDQsIDIzNSwgOSwgNCwgMjA0LCAKKyAgICAyMzQsIDksIDQsIDIwNCwgMjM4LCA5LCA0LCAyMDQsIDIzNiwgOSwgNCwgMjA0LCAyMTksIDksIDQsIDIwNCwgMjIxLCA5LCAKKyAgICA0LCAyMDQsIDIyMCwgOSwgNCwgMjA0LCAyMzAsIDksIDQsIDIwNCwgMjMzLCA5LCA0LCAyMDQsIDIzMSwgOSwgNCwgMjA0LCAKKyAgICAyMTIsIDksIDQsIDIwNCwgMjE2LCA5LCA0LCAyMDQsIDIxNSwgOSwgNCwgMjA0LCAyMTMsIDksIDQsIDIwNCwgMjE0LCA5LCAKKyAgICA0LCAyMDQsIDIwNiwgOSwgNCwgMjA0LCAyMDUsIDksIDQsIDIwNCwgMjExLCA5LCA0LCAyMDQsIDIwOSwgOSwgNCwgMjA0LCAKKyAgICAyMDcsIDksIDQsIDIwNCwgMjA4LCA5LCA0LCAyMjMsIDc4LCA5LCA0LCAyMjMsIDc3LCA5LCA0LCAyMjMsIDgzLCA5LCA0LCAKKyAgICAyMjMsIDc5LCA5LCA0LCAyMjMsIDgwLCA5LCA0LCAyMjMsIDgyLCA5LCA0LCAyMjMsIDgxLCA5LCA0LCAyMjMsIDg4LCA5LCAKKyAgICA0LCAyMjMsIDg3LCA5LCA0LCAyMjMsIDkxLCA5LCA0LCAyMjMsIDkwLCA5LCA0LCAyMjMsIDcxLCA5LCA0LCAyMjMsIDcyLCAKKyAgICA5LCA0LCAyMjMsIDc1LCA5LCA0LCAyMjMsIDc2LCA5LCA0LCAyMjMsIDg0LCA5LCA0LCAyMjMsIDg2LCA5LCA0LCAyMjMsIAorICAgIDY2LCA5LCA0LCAyMjMsIDc0LCA5LCA0LCAyMjMsIDcwLCA5LCA0LCAyMjMsIDY3LCA5LCA0LCAyMjMsIDY4LCA5LCA0LCAKKyAgICAyMjMsIDYxLCA5LCA0LCAyMjMsIDYwLCA5LCA0LCAyMjMsIDY1LCA5LCA0LCAyMjMsIDY0LCA5LCA0LCAyMjMsIDYyLCA5LCAKKyAgICA0LCAyMjMsIDYzLCA5LCA0LCAyMTUsIDEyLCA5LCA0LCAxODQsIDksIDQsIDIxNSwgODAsIDksIDQsIDIxNSwgMTUsIDksIDQsIAorICAgIDIxNSwgNjksIDksIDQsIDIxNSwgNzIsIDksIDQsIDIxNSwgNzAsIDksIDQsIDIxNywgMTMzLCA5LCA0LCAyMTcsIDExOSwgOSwgCisgICAgNCwgMjE3LCAxOTksIDksIDQsIDIxNywgMTQxLCA5LCA0LCAyMTMsIDE0NCwgOSwgNCwgMjEzLCAxNDYsIDksIDQsIDIxMywgCisgICAgMTQ1LCA5LCA0LCAyMTQsIDE2OCwgOSwgNCwgMjE0LCAxNTgsIDksIDQsIDIxNCwgMTkzLCA5LCA0LCAyMTQsIDE3MiwgOSwgCisgICAgNCwgMjE2LCAxNSwgOSwgNCwgMjE3LCA4NiwgOSwgNCwgMjE2LCA0MSwgOSwgNCwgMjEzLCAxMjEsIDksIDQsIDIxMywgMTE4LCAKKyAgICA5LCA0LCAyMTMsIDIwMywgOSwgNCwgMjEzLCAxNDMsIDksIDQsIDIxMywgMTI1LCA5LCA0LCAyMTMsIDEzMywgOSwgNCwgCisgICAgMjEzLCAyNCwgOSwgNCwgMjEzLCAyMywgOSwgNCwgMjEzLCA5MSwgOSwgNCwgMjEzLCAzMiwgOSwgNCwgMjEzLCAyNiwgOSwgCisgICAgNCwgMjEzLCAzMSwgOSwgNCwgMjE0LCA1OCwgOSwgNCwgMjE0LCA1NywgOSwgNCwgMjE0LCA2NCwgOSwgNCwgMjE0LCA1OSwgCisgICAgOSwgNCwgMjE0LCA2MSwgOSwgNCwgMjE0LCA2MywgOSwgNCwgMjE0LCA2MiwgOSwgNCwgMjE0LCA3MywgOSwgNCwgMjE0LCAKKyAgICA3MSwgOSwgNCwgMjE0LCA5NiwgOSwgNCwgMjE0LCA3NCwgOSwgNCwgMjE0LCA1MywgOSwgNCwgMjE0LCA1MiwgOSwgNCwgCisgICAgMjE0LCA1NiwgOSwgNCwgMjE0LCA1NCwgOSwgNCwgMjE0LCA2NywgOSwgNCwgMjE0LCA3MCwgOSwgNCwgMjE0LCA2OCwgOSwgCisgICAgNCwgMjE0LCA0OSwgOSwgNCwgMjE0LCA0NywgOSwgNCwgMjE0LCA1MSwgOSwgNCwgMjE0LCA1MCwgOSwgNCwgMjE0LCA0MiwgCisgICAgOSwgNCwgMjE0LCA0MSwgOSwgNCwgMjE0LCA0NiwgOSwgNCwgMjE0LCA0NSwgOSwgNCwgMjE0LCA0MywgOSwgNCwgMjE0LCAKKyAgICA0NCwgOSwgNCwgMjA1LCA3NiwgOSwgNCwgMjA1LCA3NSwgOSwgNCwgMjA1LCA4MSwgOSwgNCwgMjA1LCA3OCwgOSwgNCwgCisgICAgMjA1LCA1NSwgOSwgNCwgMjA1LCA1NywgOSwgNCwgMjA1LCA1NiwgOSwgNCwgMjA1LCA2MCwgOSwgNCwgMjA1LCA1OSwgOSwgCisgICAgNCwgMjA1LCA2NCwgOSwgNCwgMjA1LCA2MSwgOSwgNCwgMjA1LCA2OSwgOSwgNCwgMjA1LCA2OCwgOSwgNCwgMjA1LCA3MiwgCisgICAgOSwgNCwgMjA1LCA3MCwgOSwgNCwgMjA1LCA1MSwgOSwgNCwgMjA1LCA1MCwgOSwgNCwgMjA1LCA1OCwgOSwgNCwgMjA1LCAKKyAgICA1NCwgOSwgNCwgMjA1LCA1MiwgOSwgNCwgMjA1LCA1MywgOSwgNCwgMjA1LCA0MywgOSwgNCwgMjA1LCA0MiwgOSwgNCwgCisgICAgMjA1LCA0NywgOSwgNCwgMjA1LCA0NiwgOSwgNCwgMjA1LCA0NCwgOSwgNCwgMjA1LCA0NSwgOSwgNCwgMjQ4LCA4OCwgOSwgCisgICAgNCwgMjQ4LCA4NCwgOSwgNCwgMjQ4LCAxMTAsIDksIDQsIDI0OCwgOTcsIDksIDQsIDI0OCwgMTAsIDksIDQsIDI0OCwgOSwgCisgICAgOSwgNCwgMjQ4LCAxMiwgOSwgNCwgMjQ4LCAxMSwgOSwgNCwgMjQ4LCAyNSwgOSwgNCwgMjQ4LCAyNCwgOSwgNCwgMjQ4LCAKKyAgICAzMiwgOSwgNCwgMjQ4LCAyNywgOSwgNCwgMjQ4LCA2MywgOSwgNCwgMjQ4LCA2MSwgOSwgNCwgMjQ4LCA4MiwgOSwgNCwgCisgICAgMjQ4LCA3MCwgOSwgNCwgMjQ4LCA0LCA5LCA0LCAyNDgsIDE0LCA5LCA0LCAyNDgsIDgsIDksIDQsIDI0OCwgNSwgOSwgNCwgCisgICAgMjQ4LCA3LCA5LCA0LCAyNDcsIDI1MywgOSwgNCwgMjQ3LCAyNTIsIDksIDQsIDI0OCwgMSwgOSwgNCwgMjQ4LCAwLCA5LCA0LCAKKyAgICAyNDcsIDI1NCwgOSwgNCwgMjQ3LCAyNTUsIDksIDQsIDIxOCwgODUsIDksIDQsIDIxOCwgODksIDksIDQsIDIxOCwgNjgsIDksIAorICAgIDQsIDIxOCwgNjksIDksIDQsIDIxOCwgNzIsIDksIDQsIDIxOCwgNzEsIDksIDQsIDIxOCwgNzUsIDksIDQsIDIxOCwgNzMsIAorICAgIDksIDQsIDIxOCwgNzksIDksIDQsIDIxOCwgNzgsIDksIDQsIDIxOCwgODQsIDksIDQsIDIxOCwgODAsIDksIDQsIDIxOCwgCisgICAgNjQsIDksIDQsIDIxOCwgNjIsIDksIDQsIDIxOCwgNzAsIDksIDQsIDIxOCwgNjcsIDksIDQsIDIxOCwgNjUsIDksIDQsIAorICAgIDIxOCwgNjYsIDksIDQsIDIxOCwgNTcsIDksIDQsIDIxOCwgNTYsIDksIDQsIDIxOCwgNjEsIDksIDQsIDIxOCwgNjAsIDksIAorICAgIDQsIDIxOCwgNTgsIDksIDQsIDIxOCwgNTksIDksIDQsIDIyNCwgMjIsIDksIDQsIDIyNCwgMjEsIDksIDQsIDIyNCwgMjQsIAorICAgIDksIDQsIDIyNCwgMjMsIDksIDQsIDIyNCwgMTMsIDksIDQsIDIyNCwgMTUsIDksIDQsIDIyNCwgMTQsIDksIDQsIDIyNCwgCisgICAgMTcsIDksIDQsIDIyNCwgMTYsIDksIDQsIDIyNCwgMjAsIDksIDQsIDIyNCwgMTksIDksIDQsIDIyNCwgNywgOSwgNCwgMjI0LCAKKyAgICA2LCA5LCA0LCAyMjQsIDEyLCA5LCA0LCAyMjQsIDEwLCA5LCA0LCAyMjQsIDgsIDksIDQsIDIyNCwgOSwgOSwgNCwgMjI0LCAKKyAgICAxLCA5LCA0LCAyMjQsIDAsIDksIDQsIDIyNCwgNSwgOSwgNCwgMjI0LCA0LCA5LCA0LCAyMjQsIDIsIDksIDQsIDIyNCwgMywgCisgICAgOSwgNCwgMjE1LCAyMjQsIDksIDQsIDIxNSwgMjE5LCA5LCA0LCAyMTYsIDIsIDksIDQsIDIxNSwgMjM1LCA5LCA0LCAyMTUsIAorICAgIDEwNSwgOSwgNCwgMjE1LCAxMDcsIDksIDQsIDIxNSwgMTA2LCA5LCA0LCAyMTUsIDEyOCwgOSwgNCwgMjE1LCAxMjUsIDksIAorICAgIDQsIDIxNSwgMTU4LCA5LCA0LCAyMTUsIDE0OCwgOSwgNCwgMjE1LCAxOTMsIDksIDQsIDIxNSwgMTg2LCA5LCA0LCAyMTUsIAorICAgIDIxNCwgOSwgNCwgMjE1LCAyMDEsIDksIDQsIDIxNSwgMTAxLCA5LCA0LCAyMTUsIDk5LCA5LCA0LCAyMTUsIDExNiwgOSwgNCwgCisgICAgMjE1LCAxMDQsIDksIDQsIDIxNSwgMTAyLCA5LCA0LCAyMTUsIDEwMywgOSwgNCwgMjE1LCA4MywgOSwgNCwgMjE1LCA4MiwgCisgICAgOSwgNCwgMjE1LCA4OSwgOSwgNCwgMjE1LCA4NiwgOSwgNCwgMjE1LCA4NCwgOSwgNCwgMjE1LCA4NSwgOSwgNCwgMjE5LCAKKyAgICA2NSwgOSwgNCwgMjE5LCA1OSwgOSwgNCwgMjE5LCAxMTMsIDksIDQsIDIxOSwgNzEsIDksIDQsIDIxOCwgMjksIDksIDQsIAorICAgIDIxOCwgMzEsIDksIDQsIDIxOCwgMzAsIDksIDQsIDIxOCwgOTgsIDksIDQsIDIxOCwgOTEsIDksIDQsIDIxOCwgMTI0LCA5LCAKKyAgICA0LCAyMTgsIDEwMiwgOSwgNCwgMjE4LCAyMTcsIDksIDQsIDIxOSwgNTEsIDksIDQsIDIxOSwgMCwgOSwgNCwgMjE4LCAyMiwgCisgICAgOSwgNCwgMjE4LCAxOSwgOSwgNCwgMjE4LCA1MCwgOSwgNCwgMjE4LCAyOCwgOSwgNCwgMjE4LCAyNCwgOSwgNCwgMjE4LCAKKyAgICAyNSwgOSwgNCwgMjE4LCA0LCA5LCA0LCAyMTgsIDMsIDksIDQsIDIxOCwgOSwgOSwgNCwgMjE4LCA3LCA5LCA0LCAyMTgsIDUsIAorICAgIDksIDQsIDIxOCwgNiwgOSwgNCwgMjMyLCAxNTIsIDksIDQsIDIzMiwgMTUxLCA5LCA0LCAyMzIsIDE2MiwgOSwgNCwgMjMyLCAKKyAgICAxNTMsIDksIDQsIDIzMiwgMTU4LCA5LCA0LCAyMzIsIDE1NywgOSwgNCwgMjMyLCAxNjAsIDksIDQsIDIzMiwgMTU5LCA5LCAKKyAgICA0LCAyMzIsIDk0LCA5LCA0LCAyMzIsIDkzLCA5LCA0LCAyMzIsIDk2LCA5LCA0LCAyMzIsIDk1LCA5LCA0LCAyMzIsIDExMCwgCisgICAgOSwgNCwgMjMyLCAxMDgsIDksIDQsIDIzMiwgMTIyLCA5LCA0LCAyMzIsIDExMiwgOSwgNCwgMjMyLCA4NywgOSwgNCwgMjMyLCAKKyAgICA4NSwgOSwgNCwgMjMyLCAxMDQsIDksIDQsIDIzMiwgOTIsIDksIDQsIDIzMiwgODksIDksIDQsIDIzMiwgOTAsIDksIDQsIAorICAgIDIzMiwgNzksIDksIDQsIDIzMiwgNzgsIDksIDQsIDIzMiwgODMsIDksIDQsIDIzMiwgODIsIDksIDQsIDIzMiwgODAsIDksIAorICAgIDQsIDIzMiwgODEsIDksIDQsIDIxOSwgMjMwLCA5LCA0LCAyMTksIDIyOCwgOSwgNCwgMjE5LCAyMzcsIDksIDQsIDIxOSwgCisgICAgMjMxLCA5LCA0LCAyMTksIDIzNCwgOSwgNCwgMjE5LCAyMzMsIDksIDQsIDIxOSwgMjM2LCA5LCA0LCAyMTksIDIzNSwgOSwgCisgICAgNCwgMjE5LCAxODEsIDksIDQsIDIxOSwgMTc4LCA5LCA0LCAyMTksIDE4MywgOSwgNCwgMjE5LCAxODIsIDksIDQsIDIxOSwgCisgICAgMjE3LCA5LCA0LCAyMTksIDIxNiwgOSwgNCwgMjE5LCAyMjYsIDksIDQsIDIxOSwgMjIwLCA5LCA0LCAyMTksIDE3MywgOSwgCisgICAgNCwgMjE5LCAxNjksIDksIDQsIDIxOSwgMjE0LCA5LCA0LCAyMTksIDE3NywgOSwgNCwgMjE5LCAxNzUsIDksIDQsIDIxOSwgCisgICAgMTc2LCA5LCA0LCAyMTksIDE1MywgOSwgNCwgMjE5LCAxNTEsIDksIDQsIDIxOSwgMTYzLCA5LCA0LCAyMTksIDE1NiwgOSwgCisgICAgNCwgMjE5LCAxNTQsIDksIDQsIDIxOSwgMTU1LCA5LCA0LCAyMzIsIDE0MSwgOSwgNCwgMjMyLCAxNDAsIDksIDQsIDIzMiwgCisgICAgMTQ3LCA5LCA0LCAyMzIsIDE0MiwgOSwgNCwgMjMyLCAxNDQsIDksIDQsIDIzMiwgMTQzLCA5LCA0LCAyMzIsIDE0NiwgOSwgCisgICAgNCwgMjMyLCAxNDUsIDksIDQsIDIzMiwgMTMyLCA5LCA0LCAyMzIsIDEzNCwgOSwgNCwgMjMyLCAxMzMsIDksIDQsIDIzMiwgCisgICAgMTM3LCA5LCA0LCAyMzIsIDEzNiwgOSwgNCwgMjMyLCAxMzksIDksIDQsIDIzMiwgMTM4LCA5LCA0LCAyMzIsIDEyOCwgOSwgCisgICAgNCwgMjMyLCAxMjcsIDksIDQsIDIzMiwgMTM1LCA5LCA0LCAyMzIsIDEzMSwgOSwgNCwgMjMyLCAxMjksIDksIDQsIDIzMiwgCisgICAgMTMwLCA5LCA0LCAyMzIsIDEyNCwgOSwgNCwgMjMyLCAxMjMsIDksIDQsIDIzMiwgMTI2LCA5LCA0LCAyMzIsIDEyNSwgOSwgCisgICAgNCwgMjI0LCAxNTcsIDksIDQsIDIyNCwgMTU2LCA5LCA0LCAyMjQsIDE2NCwgOSwgNCwgMjI0LCAxNTgsIDksIDQsIDIyNCwgCisgICAgMTYwLCA5LCA0LCAyMjQsIDE1OSwgOSwgNCwgMjI0LCAxNjMsIDksIDQsIDIyNCwgMTYxLCA5LCA0LCAyMjQsIDE0NiwgOSwgCisgICAgNCwgMjI0LCAxNDcsIDksIDQsIDIyNCwgMTUyLCA5LCA0LCAyMjQsIDE1MSwgOSwgNCwgMjI0LCAxNTUsIDksIDQsIDIyNCwgCisgICAgMTUzLCA5LCA0LCAyMjQsIDE0MSwgOSwgNCwgMjI0LCAxNTAsIDksIDQsIDIyNCwgMTQ1LCA5LCA0LCAyMjQsIDE0MiwgOSwgCisgICAgNCwgMjI0LCAxNDMsIDksIDQsIDIyNCwgMTM2LCA5LCA0LCAyMjQsIDEzNSwgOSwgNCwgMjI0LCAxNDAsIDksIDQsIDIyNCwgCisgICAgMTM5LCA5LCA0LCAyMjQsIDEzNywgOSwgNCwgMjI0LCAxMzgsIDksIDQsIDIyMywgMTEzLCA5LCA0LCAyMjMsIDExMiwgOSwgCisgICAgNCwgMjIzLCAxMjUsIDksIDQsIDIyMywgMTE3LCA5LCA0LCAyMjMsIDEyMiwgOSwgNCwgMjIzLCAxMjEsIDksIDQsIDIyMywgCisgICAgMTI0LCA5LCA0LCAyMjMsIDEyMywgOSwgNCwgMjIzLCA5OCwgOSwgNCwgMjIzLCAxMDAsIDksIDQsIDIyMywgOTksIDksIDQsIAorICAgIDIyMywgMTA1LCA5LCA0LCAyMjMsIDEwNCwgOSwgNCwgMjIzLCAxMTAsIDksIDQsIDIyMywgMTA2LCA5LCA0LCAyMjMsIDk2LCAKKyAgICA5LCA0LCAyMjMsIDk0LCA5LCA0LCAyMjMsIDEwMywgOSwgNCwgMjIzLCA5NywgOSwgNCwgMjA2LCAxNjEsIDksIDQsIDIwNiwgCisgICAgMTYwLCA5LCA0LCAyMDYsIDE2OSwgOSwgNCwgMjA2LCAxNjMsIDksIDQsIDIwNiwgMTY1LCA5LCA0LCAyMDYsIDE2NCwgOSwgCisgICAgNCwgMjA2LCAxNjcsIDksIDQsIDIwNiwgMTY2LCA5LCA0LCAyMDYsIDE0OSwgOSwgNCwgMjA2LCAxNTAsIDksIDQsIDIwNiwgCisgICAgMTU0LCA5LCA0LCAyMDYsIDE1MywgOSwgNCwgMjA2LCAxNTksIDksIDQsIDIwNiwgMTU3LCA5LCA0LCAyMDYsIDEyNywgOSwgCisgICAgNCwgMjA2LCAxMjUsIDksIDQsIDIwNiwgMTQwLCA5LCA0LCAyMDYsIDEzMCwgOSwgNCwgMjA2LCAxMjgsIDksIDQsIDIwNiwgCisgICAgMTI5LCA5LCA0LCAyMDUsIDI1MywgOSwgNCwgMjA1LCAyNTEsIDksIDQsIDIwNiwgMTEsIDksIDQsIDIwNSwgMjU0LCA5LCA0LCAKKyAgICAyMDYsIDUsIDksIDQsIDIwNiwgNCwgOSwgNCwgMjA2LCA4LCA5LCA0LCAyMDYsIDYsIDksIDQsIDIwNSwgMTkxLCA5LCA0LCAKKyAgICAyMDUsIDE5MCwgOSwgNCwgMjA1LCAxOTQsIDksIDQsIDIwNSwgMTkyLCA5LCA0LCAyMDUsIDIyNywgOSwgNCwgMjA1LCAyMjMsIAorICAgIDksIDQsIDIwNSwgMjQ3LCA5LCA0LCAyMDUsIDIzMSwgOSwgNCwgMjA1LCAxODIsIDksIDQsIDIwNSwgMTc4LCA5LCA0LCAKKyAgICAyMDUsIDIxMywgOSwgNCwgMjA1LCAxODksIDksIDQsIDIwNSwgMTg1LCA5LCA0LCAyMDUsIDE4NiwgOSwgNCwgMjA1LCAxNjIsIAorICAgIDksIDQsIDIwNSwgMTYxLCA5LCA0LCAyMDUsIDE2OSwgOSwgNCwgMjA1LCAxNjUsIDksIDQsIDIwNSwgMTYzLCA5LCA0LCAKKyAgICAyMDUsIDE2NCwgOSwgMzcsIDIxOSwgMjE3LCA5LCAzNywgMjI5LCAyMzUsIDksIDM3LCAyMzEsIDg5LCA5LCAzNywgMjIzLCAKKyAgICAxMTcsIDksIDM3LCAyNDYsIDI0OSwgOSwgMzcsIDIxNCwgNjQsIDksIDM3LCAyNDAsIDExOCwgOSwgMzcsIDI0MCwgMTUwLCAKKyAgICA5LCAzNywgMjI2LCAyNTQsIDksIDM3LCAyMzcsIDI1MSwgOSwgMzcsIDIyOSwgMzUsIDksIDM3LCAyNTAsIDY5LCA5LCAzNywgCisgICAgMjI2LCAxNDIsIDksIDM3LCAyMDUsIDI0NywgOSwgMzcsIDIyMCwgNTIsIDksIDM3LCAyMzcsIDI0NSwgOSwgMzcsIDIxMiwgCisgICAgMTU2LCA5LCAzNywgMjQwLCAyNDQsIDksIDM3LCAyMDUsIDEsIDksIDM3LCAyNDYsIDI0MywgOSwgMzcsIDI0NiwgMTQsIDksIAorICAgIDM3LCAyNDksIDY4LCA5LCAzNywgMjQwLCAxMTQsIDksIDM3LCAyMjMsIDEwNiwgOSwgMzcsIDIxMCwgMTcwLCA5LCAzNywgCisgICAgMjIyLCAxNDMsIDksIDM3LCAyMzIsIDEyOCwgOSwgMzcsIDIwNSwgMTUsIDksIDM3LCAyMjAsIDMxLCA5LCAzNywgMjM4LCAKKyAgICAxOTEsIDksIDM3LCAyMDUsIDI1MywgOSwgMzcsIDIwNywgMTQ0LCA5LCAzNywgMjE1LCA4OSwgOSwgMzcsIDIwOSwgMjgsIDksIAorICAgIDM3LCAyMDUsIDExNiwgOSwgMzcsIDIzMiwgMTIyLCA5LCAzNywgMjIzLCA3MCwgOSwgMzcsIDIzMiwgMTI2LCA5LCAzNywgCisgICAgMjM5LCAyNTQsIDksIDM3LCAyMzIsIDE0NiwgOSwgMzcsIDIwNiwgMjUwLCA5LCAzNywgMjQzLCAyMzcsIDksIDM3LCAyMTUsIAorICAgIDEwMywgOSwgMzcsIDIyOSwgMjMwLCA5LCAzNywgMjQ2LCAyNTUsIDksIDM3LCAyNDcsIDMyLCA5LCAzNywgMjQ3LCAyMzUsIAorICAgIDksIDM3LCAyMzcsIDI0OCwgOSwgMzcsIDIxNSwgMjI0LCA5LCAzNywgMjA1LCAwLCA5LCAzNywgMjE1LCAxNDgsIDksIDM3LCAKKyAgICAyNDgsIDgyLCA5LCAzNywgMjA0LCAyMjYsIDksIDM3LCAyMjUsIDE3NywgOSwgMzcsIDIzMSwgMjI0LCAyMjksIDE4NSwgMSwgCisgICAgMjUwLCAxODMsIDIyOSwgMTg1LCAxLCAxNzksIDIyOSwgMTg1LCAxLCAyMjEsIDkzLCAyMjksIDE4NSwgMSwgMjQ2LCAxNDUsIAorICAgIDIyOSwgMTg1LCAxLCAyMTIsIDIxOSwgMjI5LCAxODUsIDEsIDIxMiwgNTYsIDIyOSwgMTg1LCAxLCAyNDAsIDI0NCwgMjI5LCAKKyAgICAxODUsIDEsIDE3MiwgMjI5LCAxODUsIDEsIDIzMSwgMTY3LCAyMjksIDE4NSwgMSwgMjMyLCAyMDAsIDIyOSwgMTg1LCAxLCAKKyAgICAyNDksIDEsIDIyOSwgMTg1LCAxLCAyNDgsIDExMCwgMjI5LCAxODUsIDEsIDI0MywgMTk2LCAyMjksIDE4NSwgMSwgMjEwLCAKKyAgICAyNDMsIDIyOSwgMTg1LCAxLCAyMTAsIDIzMywgMjI5LCAxODUsIDEsIDE4NSwgMjI5LCAxODUsIDEsIDE5OSwgMjI5LCAxODUsIAorICAgIDEsIDIzMCwgMTQxLCAyMjksIDE4NSwgMSwgMjE3LCAxOTksIDIyOSwgMTg1LCAxLCAyMDUsIDgxLCAyMjksIDE4NSwgMSwgCisgICAgMjA1LCAxMTYsIDIyOSwgMTg1LCAxLCAyMjUsIDc3LCAyMjksIDE4NSwgMSwgMTU1LCAyMjksIDE4NSwgMSwgMjA2LCAxODEsIAorICAgIDIyOSwgMTg1LCAxLCAyMzksIDIwLCAyMjksIDE4NSwgMSwgMjQyLCA3MywgMjI5LCAxODUsIDEsIDIwNywgOTYsIDIyOSwgCisgICAgMTg1LCAxLCAyMTYsIDIsIDIyOSwgMTg1LCAxLCAxOTAsIDIyOSwgMTg1LCAxLCAyNDAsIDk5LCAyMjksIDE4NSwgMSwgNjIsIAorICAgIDIyOSwgMTg1LCAxLCAyNTIsIDI0OCwgMjI5LCAxODUsIDEsIDc1LCAyMjksIDE4NSwgMSwgMjQyLCAxOTIsIDIyOSwgMTg1LCAKKyAgICAxLCA3NCwgMjI5LCAxODUsIDEsIDc2LCAyMjksIDE4NSwgMSwgNzEsIDIyOSwgMTg1LCAxLCAyMTAsIDMsIDIyOSwgMTg1LCAKKyAgICAxLCAyMDksIDI1MywgMjI5LCAxODUsIDEsIDIyMiwgMjA2LCAyMjksIDE4NSwgMSwgMTM1LCAyMjYsIDQwLCAyMTEsIDIxMSwgCisgICAgMjI5LCAxODUsIDEsIDEzNSwgMjI1LCAyMzcsIDIyMCwgMjExLCAyMjksIDE4NSwgMSwgMTM1LCAyMjYsIDQwLCAyNDYsIAorICAgIDI1NCwgMjI5LCAxODUsIDEsIDEzNSwgMjI2LCA0MCwgMjQ5LCAxODQsIDIyOSwgMTg1LCAxLCAxMzUsIDIyNiwgNDAsIDE5OSwgCisgICAgMjI5LCAxODUsIDEsIDEzNSwgMjI2LCA0MCwgMjMyLCAxNzEsIDIyOSwgMTg1LCAyMjAsIDcyLCAyNDcsIDE1NSwgMjI5LCAKKyAgICAxODUsIDIyMCwgNzIsIDI0MSwgODIsIDIxMywgMjUxLCA0NiwgNCwgMjQzLCAxMDQsIDQ2LCA0LCAyNDMsIDEwMCwgNDYsIDQsIAorICAgIDIzOSwgNTMsIDQ2LCA0LCAyMDcsIDQ1LCA0NiwgNCwgMjA3LCA0NCwgNDYsIDQsIDIyMSwgMTY0LCA0NiwgNCwgMjQ5LCAKKyAgICAyNTEsIDQ2LCA0LCAyNTAsIDUwLCA0NiwgNCwgMjI3LCAxNDUsIDQ2LCA0LCAyMzEsIDEwLCA0NiwgNCwgMjI3LCAzMCwgNDYsIAorICAgIDQsIDI0MCwgMTgzLCA0NiwgNCwgMjQyLCAyMSwgNDYsIDQsIDIwOSwgMzQsIDQ2LCA0LCAyMTIsIDEyMCwgNDYsIDQsIDIxMiwgCisgICAgMzksIDQ2LCA0LCAyNDUsIDE4MiwgNDYsIDQsIDI0NSwgMTc5LCA0NiwgNCwgMjMwLCA1MCwgNDYsIDQsIDIxOSwgMjksIDQ2LCAKKyAgICA0LCAyNDUsIDI1MSwgNDYsIDQsIDIyNSwgMTQyLCA0NiwgNCwgMjE3LCA3NCwgNDYsIDQsIDIxNSwgMjEyLCA0NiwgNCwgCisgICAgMjA1LCA5MSwgNDYsIDQsIDIwNSwgNzEsIDQ2LCA0LCAyNDgsIDE0MCwgNDYsIDQsIDIzMiwgMTgwLCA0NiwgNCwgMjI0LCAKKyAgICAxNzEsIDQ2LCA0LCAyMDYsIDQ5LCA0NiwgNCwgMjMxLCAyMjEsIDQ2LCA0LCAyMjUsIDUwLCA0NiwgNCwgMjQwLCAxNjIsIAorICAgIDQ2LCA0LCAyMjcsIDEwNywgNDYsIDQsIDIyNSwgMTA2LCA0NiwgNCwgMjIzLCAxMzMsIDQ2LCA0LCA3NCwgNDYsIDQsIDIzMywgCisgICAgNjgsIDQ2LCA0LCAyMzksIDExLCA0NiwgNCwgMjM4LCAyNDYsIDQ2LCA0LCAyMDcsIDIwLCA0NiwgNCwgMjA3LCAxMSwgNDYsIAorICAgIDQsIDIyMSwgNTMsIDQ2LCA0LCAyNDksIDI0OSwgNDYsIDQsIDI0OSwgMjQ0LCA0NiwgNCwgMjI3LCAxMzgsIDQ2LCA0LCAKKyAgICAyMzEsIDcsIDQ2LCA0LCAyMjcsIDI3LCA0NiwgNCwgMjQwLCAxNzksIDQ2LCA0LCAyNDEsIDI1MCwgNDYsIDQsIDIwOCwgCisgICAgMjE0LCA0NiwgNCwgMjExLCAyMTEsIDQ2LCA0LCAyMTIsIDE5LCA0NiwgNCwgMjQ1LCAxNzQsIDQ2LCA0LCAyNDUsIDE3OCwgCisgICAgNDYsIDQsIDIyOSwgMjM1LCA0NiwgNCwgMjE4LCAyMDgsIDQ2LCA0LCAyNDUsIDE2OCwgNDYsIDQsIDIyNSwgMTM2LCA0NiwgCisgICAgNCwgMjE1LCA4MCwgNDYsIDQsIDIxNSwgMTgzLCA0NiwgNCwgMjA1LCA0MCwgNDYsIDQsIDIwNSwgNjcsIDQ2LCA0LCAyNDcsIAorICAgIDI1MSwgNDYsIDQsIDIzMiwgMTYyLCA0NiwgNCwgMjI0LCAxNjQsIDQ2LCA0LCAyMDYsIDExLCA0NiwgNCwgMjMxLCAxMjMsIAorICAgIDQ2LCA0LCAyMjUsIDQyLCA0NiwgNCwgMjQwLCA2MSwgNDYsIDQsIDIyNiwgMjU0LCA0NiwgNCwgMjI0LCAyMzAsIDQ2LCA0LCAKKyAgICAyMjMsIDEyNSwgNDYsIDQsIDYyLCA0NiwgNCwgMjUyLCAxMjIsIDQ2LCA0LCAyMjUsIDcyLCA0NiwgNCwgMTU1LCA0NiwgNCwgCisgICAgMjM5LCAxMTAsIDQ2LCA0LCAyMDcsIDk2LCA0NiwgNCwgMjA3LCA4NSwgNDYsIDQsIDE3OSwgNDYsIDQsIDI1MCwgMCwgNDYsIAorICAgIDQsIDI1MCwgMTgzLCA0NiwgNCwgMjI3LCAxNTMsIDQ2LCA0LCAyMzEsIDE1LCA0NiwgNCwgMjMxLCAxMywgNDYsIDQsIDIyNywgCisgICAgMzQsIDQ2LCA0LCAyNDAsIDE4NywgNDYsIDQsIDI0MiwgNzMsIDQ2LCA0LCAyMDksIDcwLCA0NiwgNCwgMjEyLCAyMTksIDQ2LCAKKyAgICA0LCAyMTIsIDU2LCA0NiwgNCwgMjQ1LCAxOTIsIDQ2LCA0LCAyNDUsIDE4MSwgNDYsIDQsIDIzMCwgMTQxLCA0NiwgNCwgCisgICAgMjE5LCAxMTMsIDQ2LCA0LCAyNDYsIDE0NSwgNDYsIDQsIDIyNSwgMTUxLCA0NiwgNCwgMjE3LCAxOTksIDQ2LCA0LCAyMTYsIAorICAgIDIsIDQ2LCA0LCAyMDUsIDExNiwgNDYsIDQsIDIwNSwgODEsIDQ2LCA0LCAyNDksIDEsIDQ2LCA0LCAyMzIsIDIwMCwgNDYsIAorICAgIDQsIDIyNCwgMTgwLCA0NiwgNCwgMTkwLCA0NiwgNCwgMTcyLCA0NiwgNCwgMjMyLCAyNywgNDYsIDQsIDIyNSwgNTYsIDQ2LCAKKyAgICA0LCAyNDAsIDI0NCwgNDYsIDQsIDE4NSwgNDYsIDQsIDE5OSwgNDYsIDQsIDIyMywgMTQ0LCA0NiwgNCwgMjIyLCAxNTIsIAorICAgIDQ2LCA0LCAyMjIsIDE0NywgNDYsIDQsIDIzOCwgMTMxLCA0NiwgNCwgMjA2LCAyMzgsIDQ2LCA0LCAyMDYsIDIzNCwgNDYsIAorICAgIDQsIDIyMCwgMTg3LCA0NiwgNCwgMjQ5LCAyNDcsIDQ2LCA0LCAyNDksIDE3MiwgNDYsIDQsIDIyNywgMTMzLCA0NiwgNCwgCisgICAgMjMxLCA1LCA0NiwgNCwgMjI3LCAyMywgNDYsIDQsIDI0MCwgMTc1LCA0NiwgNCwgMjQxLCAxNTEsIDQ2LCA0LCAyMDgsIAorICAgIDE2MSwgNDYsIDQsIDIxMSwgMTA1LCA0NiwgNCwgMjExLCAyNDgsIDQ2LCA0LCAyNDUsIDE3MSwgNDYsIDQsIDI0NSwgMTc2LCAKKyAgICA0NiwgNCwgMjI5LCAxMTUsIDQ2LCA0LCAyMTgsIDEwNywgNDYsIDQsIDI0NSwgMjgsIDQ2LCA0LCAyMjUsIDEyMywgNDYsIDQsIAorICAgIDIxNCwgMTc0LCA0NiwgNCwgMjE1LCAxNTIsIDQ2LCA0LCAyMDUsIDE3LCA0NiwgNCwgMjA1LCA2MiwgNDYsIDQsIDI0NywgCisgICAgMTA1LCA0NiwgNCwgMjMyLCAxMTMsIDQ2LCA0LCAyMjQsIDE1NCwgNDYsIDQsIDIwNSwgMjMyLCA0NiwgNCwgMjMxLCAzMywgCisgICAgNDYsIDQsIDIyNSwgNDAsIDQ2LCA0LCAyNDAsIDgsIDQ2LCA0LCAyMjYsIDE1MCwgNDYsIDQsIDIyNCwgNTYsIDQ2LCA0LCAKKyAgICAyMjMsIDEwNywgNDYsIDQsIDcxLCA0NiwgNCwgMjA5LCAyMzQsIDQ2LCA0LCAyMzgsIDQyLCA0NiwgNCwgMjM4LCAzMSwgNDYsIAorICAgIDQsIDIwNiwgMjE2LCA0NiwgNCwgMjA2LCAyMDksIDQ2LCA0LCAyMjAsIDgyLCA0NiwgNCwgMjQ5LCAyNDYsIDQ2LCA0LCAKKyAgICAyNDksIDEwMSwgNDYsIDQsIDIyNywgMTMyLCA0NiwgNCwgMjMxLCAzLCA0NiwgNCwgMjI3LCAyMiwgNDYsIDQsIDI0MCwgCisgICAgMTc0LCA0NiwgNCwgMjQxLCA4OCwgNDYsIDQsIDIwNywgMTQ4LCA0NiwgNCwgMjEwLCAxNzAsIDQ2LCA0LCAyMTEsIDIzMCwgCisgICAgNDYsIDQsIDI0NSwgMTY5LCA0NiwgNCwgMjQ1LCAxNzUsIDQ2LCA0LCAyMjksIDgxLCA0NiwgNCwgMjE4LCA1MCwgNDYsIDQsIAorICAgIDI0MywgMjM3LCA0NiwgNCwgMjI1LCAxMTgsIDQ2LCA0LCAyMTMsIDIwMywgNDYsIDQsIDIxNSwgMTE2LCA0NiwgNCwgMjA1LCAKKyAgICA5LCA0NiwgNCwgMjA1LCA1OCwgNDYsIDQsIDI0NywgNDAsIDQ2LCA0LCAyMzIsIDEwNCwgNDYsIDQsIDIyNCwgMTUwLCA0NiwgCisgICAgNCwgMjA1LCAyMTMsIDQ2LCA0LCAyMzAsIDIzNiwgNDYsIDQsIDIyNSwgMzksIDQ2LCA0LCAyMzksIDIxMywgNDYsIDQsIAorICAgIDIyNiwgMTE0LCA0NiwgNCwgMjIzLCAyMTcsIDQ2LCA0LCAyMjMsIDEwMywgNDYsIDQsIDc2LCA0NiwgNCwgMjIyLCAxNjUsIAorICAgIDQ2LCA0LCAyMjQsIDI1NCwgNDYsIDQsIDIzOCwgMTQ5LCA0NiwgNCwgMjM4LCAxMzQsIDQ2LCA0LCAyMDYsIDI1MCwgNDYsIAorICAgIDQsIDIwNiwgMjM5LCA0NiwgNCwgMjIwLCAyMTEsIDQ2LCA0LCAyNDksIDI0OCwgNDYsIDQsIDI0OSwgMTg0LCA0NiwgNCwgCisgICAgMjI3LCAxMzQsIDQ2LCA0LCAyMzEsIDYsIDQ2LCA0LCAyMjcsIDI1LCA0NiwgNCwgMjQwLCAxNzcsIDQ2LCA0LCAyNDAsIAorICAgIDE3NiwgNDYsIDQsIDI0MSwgMTYyLCA0NiwgNCwgMjA4LCAxNzMsIDQ2LCA0LCAxMjQsIDQ2LCA0LCAyMTEsIDI1MywgNDYsIAorICAgIDQsIDI0NSwgMTcyLCA0NiwgNCwgMjQ1LCAxNzcsIDQ2LCA0LCAyMjksIDE0NCwgNDYsIDQsIDIxOCwgMTI0LCA0NiwgNCwgCisgICAgMjQ1LCA1MSwgNDYsIDQsIDIyNSwgMTI3LCA0NiwgNCwgMjE0LCAxOTMsIDQ2LCA0LCAyMTUsIDE1OCwgNDYsIDQsIDIwNSwgCisgICAgMTksIDQ2LCA0LCAyMDUsIDY0LCA0NiwgNCwgMjQ3LCAxNzQsIDQ2LCA0LCAyMzIsIDEyMiwgNDYsIDQsIDIyNCwgMTU1LCAKKyAgICA0NiwgNCwgMjA1LCAyNDcsIDQ2LCA0LCAyMzEsIDUzLCA0NiwgNCwgMjI1LCA0MSwgNDYsIDQsIDI0MCwgMTksIDQ2LCA0LCAKKyAgICAyMjYsIDE4MSwgNDYsIDQsIDIyNCwgNjcsIDQ2LCA0LCAyMjMsIDExMCwgNDYsIDQsIDc1LCA0NiwgNCwgMjQzLCA0MSwgNDYsIAorICAgIDQsIDIyNSwgNjEsIDQ2LCA0LCAyMzksIDcxLCA0NiwgNCwgMjM5LCA0MSwgNDYsIDQsIDIwNywgNTEsIDQ2LCA0LCAyMDcsIAorICAgIDM5LCA0NiwgNCwgMjIxLCAxNzQsIDQ2LCA0LCAyNDksIDI1MiwgNDYsIDQsIDI1MCwgNjEsIDQ2LCA0LCAyMjcsIDE0NiwgCisgICAgNDYsIDQsIDIzMSwgMTEsIDQ2LCA0LCAyMzEsIDksIDQ2LCA0LCAyMjcsIDMxLCA0NiwgNCwgMjQwLCAxODQsIDQ2LCA0LCAKKyAgICAyNDAsIDE4MiwgNDYsIDQsIDI0MiwgMjgsIDQ2LCA0LCAyMDksIDM5LCA0NiwgNCwgMjEyLCAxMzEsIDQ2LCA0LCAyMTIsIAorICAgIDQxLCA0NiwgNCwgMjQ1LCAxODMsIDQ2LCA0LCAyNDUsIDE4MCwgNDYsIDQsIDIzMCwgNTgsIDQ2LCA0LCAyMTksIDUxLCA0NiwgCisgICAgNCwgMjQ2LCA5LCA0NiwgNCwgMjI1LCAxNDMsIDQ2LCA0LCAyMTcsIDg2LCA0NiwgNCwgMjE1LCAyMTQsIDQ2LCA0LCAyMDUsIAorICAgIDkzLCA0NiwgNCwgMjA1LCA3MiwgNDYsIDQsIDI0OCwgMTQ4LCA0NiwgNCwgMjMyLCAxODIsIDQ2LCA0LCAyMjQsIDE3MywgCisgICAgNDYsIDQsIDIwNiwgNTIsIDQ2LCA0LCAyMzEsIDIyNCwgNDYsIDQsIDIyNSwgNTEsIDQ2LCA0LCAyMjUsIDQ3LCA0NiwgNCwgCisgICAgMjQwLCAxNzAsIDQ2LCA0LCAyNDAsIDE1NywgNDYsIDQsIDIyNywgMTE5LCA0NiwgNCwgMjI1LCAxMTAsIDQ2LCA0LCAyMjMsIAorICAgIDEzNCwgNDYsIDQsIDIyNSwgNzksIDQ2LCA0LCAyMzAsIDE5LCA0NiwgMjQ3LCAxNTUsIDQ2LCAyNDEsIDgyLCAyMTMsIDI1MSwgCisgICAgNDYsIDIxOSwgMTk2LCA4MywgNDYsIDQsIDIyNSwgMTI2LCAyNDIsIDczLCA0NiwgNCwgMjI1LCAxMjYsIDE3MiwgNDYsIDQsIAorICAgIDIyNSwgMTI2LCAyMTQsIDE3NCwgNDYsIDE2LCAyNDIsIDE3LCA0NiwgMTYsIDIzMSwgMjE5LCA0NiwgMTYsIDIxMSwgMTcxLCAKKyAgICA0NiwgMTYsIDIyNCwgMjA1LCA0NiwgMTYsIDI1MCwgMTM1LCA0NiwgMTYsIDI0MiwgNzIsIDQ2LCAxNiwgMjEyLCAyMTUsIAorICAgIDQ2LCAxNiwgMjQ2LCA5OCwgNDYsIDE2LCAyNDUsIDI3LCA0NiwgMTYsIDIzMCwgMjIwLCA0NiwgMTYsIDIxMSwgMTA5LCA0NiwgCisgICAgMTYsIDI0NSwgNTAsIDQ2LCAxNiwgMjMyLCAxMTQsIDQ2LCAxOCwgMjA1LCA4NSwgNDYsIDE4LCAxMDIsIDQ2LCAxOCwgMTA1LCAKKyAgICA0NiwgMTgsIDE0MiwgNDYsIDE4LCAxMzksIDQ2LCAxOCwgMTY4LCA0NiwgMTgsIDE4NCwgNDYsIDE4LCAxOTUsIDQ2LCAxOCwgCisgICAgMTkzLCA0NiwgMTgsIDIwMCwgNDYsIDQsIDIyNSwgMTI2LCAxODUsIDQ2LCA0LCAyMjUsIDEyNiwgMjQ1LCA1MSwgMzQsIDYsIAorICAgIDEsIDIwNSwgODksIDM0LCA1LCAxLCAyMDUsIDg5LCAzNCwgNiwgMSwgMjQzLCAxOTEsIDM0LCA1LCAxLCAyNDMsIDE5MSwgCisgICAgMzQsIDYsIDEsIDIxOCwgMjI0LCAyNDMsIDE5MywgMzQsIDUsIDEsIDIxOCwgMjI0LCAyNDMsIDE5MywgMzQsIDYsIDEsIAorICAgIDIzMiwgMjQ5LCAzNCwgNSwgMSwgMjMyLCAyNDksIDM0LCA2LCAxLCAyNDUsIDY3LCAzNCwgNSwgMSwgMjQ1LCA2NywgMzQsIAorICAgIDYsIDEsIDIyNiwgMTU4LCAyMDksIDI0OSwgMzQsIDUsIDEsIDIyNiwgMTU4LCAyMDksIDI0OSwgMzQsIDYsIDEsIDI0OSwgCisgICAgMTEyLCAyMjIsIDE3MCwgMzQsIDUsIDEsIDI0OSwgMTEyLCAyMjIsIDE3MCwgMzQsIDYsIDEsIDIyNSwgODgsIDIwNiwgMzQsIAorICAgIDM0LCA1LCAxLCAyMjUsIDg4LCAyMDYsIDM0LCAzNCwgNiwgMSwgMjA2LCAzMSwgMiwgMjUwLCAxNzcsIDIwNiwgMzQsIDM0LCAKKyAgICA1LCAxLCAyMDYsIDMxLCAyLCAyNTAsIDE3NywgMjA2LCAzNCwgMzQsIDYsIDEsIDIzMiwgMjQ3LCAyMDYsIDY1LCAzNCwgNSwgCisgICAgMSwgMjMyLCAyNDcsIDIwNiwgNjUsIDM0LCA2LCAxLCAyMTgsIDIyNCwgMjA1LCAyMTMsIDM0LCA1LCAxLCAyMTgsIDIyNCwgCisgICAgMjA1LCAyMTMsIDM0LCA2LCAxLCAyMzIsIDI0NywgNjIsIDM0LCA1LCAxLCAyMzIsIDI0NywgNjIsIDM0LCA2LCAxLCAyNDcsIAorICAgIDE5MiwgMjI5LCAxODAsIDIwNSwgMTgzLCAzNCwgNSwgMSwgMjQ3LCAxOTIsIDIyOSwgMTgwLCAyMDUsIDE4MywgMzQsIDYsIAorICAgIDEsIDI0OSwgMTk0LCAyMDUsIDE4MywgMzQsIDUsIDEsIDI0OSwgMTk0LCAyMDUsIDE4MywgMzQsIDYsIDEsIDIzMiwgMjQ3LCAKKyAgICAyNDcsIDE5MiwgMjI5LCAxODAsIDIwNSwgMTgzLCAzNCwgNSwgMSwgMjMyLCAyNDcsIDI0NywgMTkyLCAyMjksIDE4MCwgCisgICAgMjA1LCAxODMsIDM0LCA2LCAxLCAyMDUsIDI0OSwgMzQsIDUsIDEsIDIwNSwgMjQ5LCAzNCwgNiwgMSwgMjE4LCAyMjQsIAorICAgIDIxMCwgMjM3LCAzNCwgNSwgMSwgMjE4LCAyMjQsIDIxMCwgMjM3LCAzNCwgNiwgMSwgMjE0LCAxODcsIDI0NiwgOSwgMzQsIAorICAgIDUsIDEsIDIxNCwgMTg3LCAyNDYsIDksIDM0LCA2LCAxLCAyMTQsIDE4NywgMjQzLCA2OCwgMzQsIDUsIDEsIDIxNCwgMTg3LCAKKyAgICAyNDMsIDY4LCAzNCwgNiwgMSwgMjE0LCAxODcsIDI0MywgNTAsIDM0LCA1LCAxLCAyMTQsIDE4NywgMjQzLCA1MCwgMzQsIDYsIAorICAgIDEsIDIyNiwgMTYyLCA3NiwgMzQsIDUsIDEsIDIyNiwgMTYyLCA3NiwgMzQsIDYsIDEsIDI0OSwgMjIxLCA3NiwgMzQsIDUsIAorICAgIDEsIDI0OSwgMjIxLCA3NiwgMzQsIDYsIDEsIDUwLCAyMjYsIDE2MiwgNzYsIDM0LCA1LCAxLCA1MCwgMjI2LCAxNjIsIDc2LCAKKyAgICAzNCwgMSwgMjI2LCA5NiwgNzYsIDM2LCAzNCwgMjA3LCAxMzEsIDM2LCAzNCwgMjEyLCA5OSwgMjI2LCAyMTMsIDUzLCAzNiwgCisgICAgMzQsIDIzOCwgMzAsIDIyNiwgMjEzLCA1MywgMzYsIDM0LCAyMTEsIDI0MywgMjI2LCAyMTMsIDUzLCAyMTQsIDIzMywgMjUxLCAKKyAgICAyMDksIDM2LCAzNCwgMSwgMjA5LCAyNDYsIDIzMywgMTI5LCAzNiwgMzQsIDEsIDc0LCAzNiwgMzQsIDEsIDIwNiwgMTEsIAorICAgIDM2LCAzNCwgMSwgNzEsIDM2LCAzNCwgMSwgMjM5LCA5NCwgNTMsIDM2LCAzNCwgMSwgMjA2LCAzMCwgMzYsIDM0LCAxLCAKKyAgICAyMTQsIDE4NywgNTMsIDM2LCAzNCwgMSwgMjIyLCAxNzAsIDM2LCAzNCwgMjMxLCAyMzYsIDM2LCAzNCwgMjIxLCAxODEsIAorICAgIDM0LCAyMzEsIDIzNiwgMzQsIDIyMSwgMTgxLCAzNCwgNiwgMSwgMjQzLCAyMDUsIDM0LCA1LCAxLCAyNDMsIDIwNSwgMzQsIAorICAgIDYsIDEsIDI0MywgMTgyLCAzNCwgNSwgMSwgMjQzLCAxODIsIDM0LCA2LCAxLCAyMDUsIDQ4LCAzNCwgNSwgMSwgMjA1LCA0OCwgCisgICAgMzQsIDYsIDEsIDI0OCwgMTY0LCAzNCwgNSwgMSwgMjQ4LCAxNjQsIDM0LCA2LCAxLCAyNDMsIDE3OSwgMzQsIDUsIDEsIAorICAgIDI0MywgMTc5LCAzNCwgNiwgMSwgMjEyLCAxMzIsIDIsIDIyNiwgMjQ3LCAxMDksIDM0LCA1LCAxLCAyMTIsIDEzMiwgMiwgCisgICAgMjI2LCAyNDcsIDEwOSwgMzQsIDYsIDEsIDIxMCwgMTI4LCAzNCwgNSwgMSwgMjEwLCAxMjgsIDM0LCA2LCAxLCAyMTAsIAorICAgIDIxMiwgMzQsIDUsIDEsIDIxMCwgMjEyLCAzNCwgNiwgMSwgMjEwLCAyMTcsIDM0LCA1LCAxLCAyMTAsIDIxNywgMzQsIDYsIAorICAgIDEsIDIxMiwgMTM3LCAzNCwgNSwgMSwgMjEyLCAxMzcsIDM0LCA2LCAxLCAyMzgsIDEzLCAzNCwgNSwgMSwgMjM4LCAxMywgCisgICAgMzQsIDYsIDEsIDIxNSwgOTUsIDM0LCA1LCAxLCAyMTUsIDk1LCAzNCwgNiwgMSwgNTAsIDc2LCAzNCwgNSwgMSwgNTAsIDc2LCAKKyAgICAzNCwgNiwgMSwgMjQ3LCA1NywgNzYsIDM0LCA1LCAxLCAyNDcsIDU3LCA3NiwgNjUsIDEsIDM0LCAyMzksIDk0LCA1MywgNjUsIAorICAgIDEsIDM0LCAyMTQsIDE4NywgNTMsIDM2LCAzNCwgMSwgMjMyLCAyNDcsIDc1LCAyMSwgMSwgNjIsIDIxLCAxLCAxNzIsIDIxLCAKKyAgICAxLCA3MSwgMjEsIDEsIDIzMCwgMjM2LCAyMSwgMSwgMjQzLCAxMDQsIDIxLCAxLCAyMTksIDI5LCAyMSwgMSwgMjEyLCAyMDAsIAorICAgIDIxLCAxLCA3NiwgMjEsIDEsIDIyMywgMTI1LCAyMSwgMSwgNzQsIDIxLCAxLCAyMzAsIDE0MSwgMjEsIDEsIDE3OSwgMjEsIAorICAgIDEsIDIxOCwgMTU0LCAyMSwgMSwgMjE4LCAyMDEsIDIxLCAxLCAyMzAsIDQ5LCAyMSwgMSwgMjI3LCAxMDYsIDIxLCAxLCAKKyAgICAyMTIsIDIxNSwgMjEsIDEsIDIyNSwgMTQ5LCAyMSwgMSwgMjI0LCAxNzgsIDIxLCAxLCAyMjksIDI4LCAyMSwgMSwgMjEzLCAKKyAgICAxMTksIDIxLCAxLCAyMjYsIDExNCwgMjEsIDEsIDIxNSwgMTc4LCAyMSwgMSwgMjE1LCA4MCwgMjEsIDEsIDIxNSwgMTg4LCAKKyAgICAyMSwgMSwgMjE2LCAyNCwgMjEsIDEsIDIzMCwgMTY1LCAyMSwgMSwgMjMxLCAxOTMsIDIxLCAxLCAyMjMsIDE4OCwgMjEsIDEsIAorICAgIDIyMywgMjE3LCAyMSwgMSwgMjI0LCAxNDksIDIxLCAxLCAyMDUsIDIyOSwgMjEsIDEsIDIxNSwgMTE2LCAyMSwgMSwgMjA1LCAKKyAgICAxODcsIDIxLCAxLCAxOTAsIDIxLCAxLCAyMjMsIDI1MSwgMjEsIDEsIDIzMSwgMTc5LCAyMSwgMSwgMjIxLCA5NywgMjEsIDEsIAorICAgIDIyNCwgMTcxLCAyMSwgMSwgMjIzLCAyMzIsIDIxLCAxLCAyMjAsIDc1LCAyMSwgMSwgMjA2LCAyMTMsIDIxLCAxLCAyMjEsIAorICAgIDE2NCwgMjEsIDEsIDI0MiwgMjEsIDIxLCAxLCAyMTgsIDUwLCAyMSwgMSwgMjI5LCA4MSwgMjEsIDEsIDIyNiwgMjU0LCAyMSwgCisgICAgMSwgMjI0LCAyMzAsIDIxLCAxLCAyMTgsIDIyNiwgMjEsIDEsIDIxOSwgOTUsIDIxLCAxLCAyMzEsIDIwMywgMjEsIDEsIAorICAgIDIyNSwgNSwgMjEsIDEsIDIyNSwgNTYsIDIxLCAxLCAyMjUsIDc3LCAyMSwgMSwgMjE1LCAxNTgsIDIxLCAxLCAyMjAsIDc5LCAKKyAgICAyMSwgMSwgMjQxLCA4OCwgMjEsIDEsIDI0MSwgMTU1LCAyMSwgMSwgMjA3LCA5NiwgMjEsIDEsIDE5OSwgMjEsIDEsIDIyOSwgCisgICAgMjM1LCAyMSwgMSwgMjIxLCA1MywgMjEsIDEsIDIyOSwgMTA3LCAyMSwgMSwgMjMxLCA1MywgMjEsIDEsIDIyNywgMTQzLCAKKyAgICAyMSwgMSwgMjE5LCAyLCAyMSwgMSwgMjI3LCA4MywgMjEsIDEsIDE4NSwgMjEsIDEsIDIxMSwgMjExLCAyMSwgMSwgMjMxLCAKKyAgICAxMjMsIDIxLCAxLCAyMjYsIDE4MSwgMjEsIDEsIDIyNywgMTUxLCAyMSwgMSwgMjEyLCA4MCwgMjEsIDEsIDIzMSwgMTUsIAorICAgIDIxLCAxLCAyMTIsIDk4LCAyMSwgMSwgMjIzLCAyMTksIDIxLCAxLCAyMTcsIDE1OSwgMjEsIDEsIDI0MiwgNjksIDIxLCAxLCAKKyAgICAyMzEsIDE3LCAyMSwgMSwgMjMxLCA0OCwgMjEsIDM2LCAxNDEsIDIzMSwgMjYsIDIxLCAzNiwgMTQxLCAyMTAsIDE2MSwgMjEsIAorICAgIDIyNCwgMTc3LCAyMSwgMjQxLCA4MiwgMjEzLCAyNTEsIDIxLCAyNDcsIDE2MiwgMjEsIDI0NywgMTU1LCAyMSwgMjE2LCA1MiwgCisgICAgMjEsIDIxOSwgMTk2LCA4MywgNjUsIDEsIDI0OCwgNDQsIDEzNSwgMjA2LCAxLCAyMjEsIDUsIDY1LCAxLCAyNDgsIDQ0LCAKKyAgICAxMzUsIDIwNiwgNzYsIDIyMSwgNSwgNjUsIDEsIDI0OCwgNDQsIDEzNSwgMjA2LCAxLCAyMTUsIDIzNiwgNjUsIDEsIDI0OCwgCisgICAgNDQsIDEzNSwgMjA2LCA3NiwgMjE1LCAyMzYsIDY1LCAxLCAyNDgsIDQ0LCAxMzUsIDIwNiwgMSwgMjE5LCAyMTQsIDY1LCAxLCAKKyAgICAyNDgsIDQ0LCAxMzUsIDIwNiwgNzYsIDIxOSwgMjE0LCA2NSwgMSwgMjQ4LCA0NCwgMTM1LCAyMDYsIDEsIDIxOCwgNTAsIAorICAgIDY1LCAxLCAyNDgsIDQ0LCAxMzUsIDIwNiwgNzYsIDIxOCwgNTAsIDY1LCAxLCAyNDIsIDE1NiwgMjQ0LCAyMSwgMTM1LCAKKyAgICAxMzQsIDY1LCAxLCAxMjcsIDI0NCwgMjEsIDEzNSwgMTM0LCA2NSwgMSwgMjI2LCAyNDksIDI0NCwgMjEsIDEzNSwgMTM0LCAKKyAgICA2NSwgMSwgMTE0LCAyNDQsIDIxLCAxMzUsIDEzNCwgNjUsIDEsIDI0MiwgMTU1LCAyNDQsIDIxLCAxMzUsIDEzNCwgNjUsIDEsIAorICAgIDI0MiwgMTU2LCAyNDQsIDIxLCAyMzAsIDM4LCAxMzUsIDEzNCwgNjUsIDEsIDEyNywgMjQ0LCAyMSwgMjMwLCAzOCwgMTM1LCAKKyAgICAxMzQsIDY1LCAxLCAyMjYsIDI0OSwgMjQ0LCAyMSwgMjMwLCAzOCwgMTM1LCAxMzQsIDY1LCAxLCAxMTQsIDI0NCwgMjEsIAorICAgIDIzMCwgMzgsIDEzNSwgMTM0LCA2NSwgMSwgMjQyLCAxNTUsIDI0NCwgMjEsIDIzMCwgMzgsIDEzNSwgMTM0LCA2NSwgMSwgCisgICAgMjQyLCAxNTYsIDIzMCwgMzgsIDEzNSwgMTM0LCA2NSwgMSwgMTI3LCAyMzAsIDM4LCAxMzUsIDEzNCwgNjUsIDEsIDIyNiwgCisgICAgMjQ5LCAyMzAsIDM4LCAxMzUsIDEzNCwgNjUsIDEsIDExNCwgMjMwLCAzOCwgMTM1LCAxMzQsIDY1LCAxLCAyNDIsIDE1NSwgCisgICAgMjMwLCAzOCwgMTM1LCAxMzQsIDY1LCAxLCA2NywgNzksIDEzNCwgNjUsIDEsIDY3LCAyMTQsIDIzNSwgNjUsIDEsIDY3LCAKKyAgICAxOTQsIDEzNCwgNjUsIDEsIDIyOSwgOTIsIDQ4LCAyNDcsIDkyLCAyNTIsIDEwOCwgNjUsIDEsIDIxOSwgODEsIDEyMCwgNDUsIAorICAgIDY1LCAxLCAyMTksIDgxLCAxMzAsIDQ1LCA2NSwgMSwgMjE5LCA4MSwgMjQyLCAxNjgsIDgzLCA2NSwgMSwgMjE5LCA4MSwgCisgICAgMjMzLCAyLCAyNDIsIDE2OCwgODMsIDY1LCAxLCAxMTQsIDIzMywgMiwgMjQyLCAxNjgsIDgzLCA2NSwgMSwgMjEzLCAyMzMsIAorICAgIDIzLCAxMjcsIDIxMSwgMTE4LCA2NSwgMSwgMjEzLCAyMzMsIDIzLCAxMTQsIDIxMSwgMTE4LCA3LCA2LCAxLCAyNDMsIDk0LCAKKyAgICAyNTIsIDE3MiwgNywgNSwgMSwgMjQzLCA5NCwgMjUyLCAxNzIsIDcsIDYsIDEsIDI0MywgOTQsIDI1MiwgMjAwLCA3LCA1LCAKKyAgICAxLCAyNDMsIDk0LCAyNTIsIDIwMCwgNywgNiwgMSwgMjM5LCAzOSwgNywgNSwgMSwgMjM5LCAzOSwgNywgNiwgMSwgMjEwLCAKKyAgICA4NiwgNywgNSwgMSwgMjEwLCA4NiwgNywgNiwgMSwgMjExLCA1NSwgNywgNSwgMSwgMjExLCA1NSwgNywgNiwgMSwgMjQ3LCAKKyAgICAzNywgNywgNSwgMSwgMjQ3LCAzNywgNywgNiwgMSwgMjQ3LCAzOCwgMiwgMjQ3LCAxNTUsIDcsIDUsIDEsIDI0NywgMzgsIDIsIAorICAgIDI0NywgMTU1LCA3LCAxLCA1LCA2LCAyNDIsIDEzOSwgNywgMSwgNSwgNiwgMTgyLCA3LCA2LCAxLCAyNTMsIDE2NCwgNywgNSwgCisgICAgMSwgMjUzLCAxNjQsIDcsIDYsIDEsIDI1MiwgNzEsIDcsIDUsIDEsIDI1MiwgNzEsIDcsIDYsIDEsIDI1MSwgMTg0LCA3LCA1LCAKKyAgICAxLCAyNTEsIDE4NCwgNywgNiwgMSwgMjUxLCAxNjgsIDcsIDUsIDEsIDI1MSwgMTY4LCA3LCA2LCAxLCAyNTEsIDE2OSwgMiwgCisgICAgMTk0LCAxMzQsIDcsIDUsIDEsIDI1MSwgMTY5LCAyLCAxOTQsIDEzNCwgNywgNiwgMSwgMjUxLCAxNTksIDcsIDUsIDEsIAorICAgIDI1MSwgMTU5LCA3LCA2LCAxLCAyMTgsIDIyNCwgMjQ5LCAzNSwgMiwgMjQ1LCAyMywgNywgNSwgMSwgMjE4LCAyMjQsIDI0OSwgCisgICAgMzUsIDIsIDI0NSwgMjMsIDcsIDYsIDEsIDIzMiwgNzcsIDIsIDkxLCA3LCA1LCAxLCAyMzIsIDc3LCAyLCA5MSwgNywgNiwgCisgICAgMSwgMjMyLCA3NywgMiwgMjQ1LCAxNjMsIDkxLCA3LCA1LCAxLCAyMzIsIDc3LCAyLCAyNDUsIDE2MywgOTEsIDcsIDYsIDEsIAorICAgIDIzMiwgNzcsIDIsIDIxMywgMjI1LCAyMywgMjQ1LCAxNjMsIDkxLCA3LCA1LCAxLCAyMzIsIDc3LCAyLCAyMTMsIDIyNSwgCisgICAgMjMsIDI0NSwgMTYzLCA5MSwgNywgNiwgMSwgMjQ5LCAxMTEsIDE0OSwgNywgNSwgMSwgMjQ5LCAxMTEsIDE0OSwgNywgNiwgCisgICAgMSwgMjMwLCAxNTksIDIsIDEyNywgOTEsIDcsIDUsIDEsIDIzMCwgMTU5LCAyLCAxMjcsIDkxLCA3LCA2LCAxLCAxNDgsIDIsIAorICAgIDE1MiwgMjEzLCAyMjUsIDIyMiwgODIsIDcsIDUsIDEsIDE0OCwgMiwgMTUyLCAyMTMsIDIyNSwgMjIyLCA4MiwgNywgNiwgMSwgCisgICAgMTQ4LCAyLCAyMjksIDExMSwgNywgNSwgMSwgMTQ4LCAyLCAyMjksIDExMSwgNywgNiwgMSwgMjIyLCAxNTIsIDcsIDUsIDEsIAorICAgIDIyMiwgMTUyLCA3LCA2LCAxLCAyMjIsIDY4LCAyLCAyMTMsIDIyNSwgMjExLCAyMzMsIDI0NSwgMjExLCA3LCA1LCAxLCAKKyAgICAyMjIsIDY4LCAyLCAyMTMsIDIyNSwgMjExLCAyMzMsIDI0NSwgMjExLCA3LCA2LCAxLCAyMjIsIDY4LCAyLCAyNDEsIDE3NCwgCisgICAgNywgNSwgMSwgMjIyLCA2OCwgMiwgMjQxLCAxNzQsIDcsIDYsIDEsIDIyMiwgNjgsIDIsIDIxNCwgMTAyLCAyMTIsIDE5MSwgCisgICAgNywgNSwgMSwgMjIyLCA2OCwgMiwgMjE0LCAxMDIsIDIxMiwgMTkxLCA3LCA2LCAxLCAyMjAsIDI4LCAyLCAyMTMsIDIyNSwgCisgICAgMjExLCAyMzMsIDI0NSwgMjExLCA3LCA1LCAxLCAyMjAsIDI4LCAyLCAyMTMsIDIyNSwgMjExLCAyMzMsIDI0NSwgMjExLCA3LCAKKyAgICA2LCAxLCAyMjAsIDI4LCAyLCAyNDUsIDE2MywgOTEsIDcsIDUsIDEsIDIyMCwgMjgsIDIsIDI0NSwgMTYzLCA5MSwgNywgNiwgCisgICAgMSwgMjE5LCAxNTAsIDIxOCwgOTYsIDcsIDUsIDEsIDIxOSwgMTUwLCAyMTgsIDk2LCA3LCA2LCAxLCAyMTgsIDM5LCAyMTgsIAorICAgIDk2LCA3LCA1LCAxLCAyMTgsIDM5LCAyMTgsIDk2LCA3LCA2LCAxLCAyMDksIDE0OSwgMiwgMjQ1LCAxNjMsIDkxLCA3LCA1LCAKKyAgICAxLCAyMDksIDE0OSwgMiwgMjQ1LCAxNjMsIDkxLCA3LCA2LCAxLCAyMDcsIDEzNywgNywgNSwgMSwgMjA3LCAxMzcsIDcsIDYsIAorICAgIDEsIDIwOCwgMTgxLCAyMDUsIDE1OSwgNywgNSwgMSwgMjA4LCAxODEsIDIwNSwgMTU5LCA3LCA2LCAxLCAyMTEsIDI0NywgMiwgCisgICAgOTEsIDcsIDUsIDEsIDIxMSwgMjQ3LCAyLCA5MSwgNywgNiwgMSwgMjExLCAyNDcsIDIsIDIxMywgMjI1LCAyMTEsIDIzMywgCisgICAgMjQ1LCAyMTEsIDcsIDUsIDEsIDIxMSwgMjQ3LCAyLCAyMTMsIDIyNSwgMjExLCAyMzMsIDI0NSwgMjExLCA3LCA2LCAxLCAKKyAgICAyMDksIDI5LCA3LCA1LCAxLCAyMDksIDI5LCA3LCA2LCAxLCAyNDIsIDIwMywgNywgNSwgMSwgMjQyLCAyMDMsIDcsIDYsIDEsIAorICAgIDIzMiwgMjM0LCA3LCA1LCAxLCAyMzIsIDIzNCwgNywgNiwgMSwgMjQ3LCAxNDAsIDcsIDUsIDEsIDI0NywgMTQwLCA2NSwgMSwgCisgICAgMjA5LCAxNzcsIDcsIDUsIDEsIDI0MywgMjI4LCA3LCA1LCAxLCAyMjksIDY1LCA3LCA1LCAxLCAyMjYsIDkwLCA3LCA1LCAxLCAKKyAgICAyMjMsIDE4MCwgNywgNSwgMSwgMjE4LCAzOCwgNywgMSwgNSwgNiwgMjE4LCAzOCwgNywgNSwgMSwgMjEwLCAxNTksIDcsIDUsIAorICAgIDEsIDIwOSwgMjQxLCA3LCA2LCAxLCAyMzMsIDIzLCAyNDYsIDI0MCwgNywgNSwgMSwgMjMzLCAyMywgMjQ2LCAyNDAsIDcsIAorICAgIDYsIDEsIDIzMywgMjMsIDI0MiwgMTM5LCA3LCA1LCAxLCAyMzMsIDIzLCAyNDIsIDEzOSwgNywgNiwgMSwgMjMzLCAyMywgCisgICAgMjQxLCA1NSwgNywgNiwgMSwgMjAxLCAyMzMsIDIzLCAyNDEsIDU1LCA3LCA1LCAxLCAyMDEsIDIzMywgMjMsIDI0MSwgNTUsIAorICAgIDcsIDYsIDEsIDIwMSwgMTQ5LCA3LCA1LCAxLCAyMDEsIDE0OSwgNywgNiwgMSwgMjMzLCAyMywgMTM3LCA3LCA1LCAxLCAKKyAgICAyMzMsIDIzLCAxMzcsIDcsIDYsIDEsIDIzMywgMjMsIDE4MiwgNywgNSwgMSwgMjMzLCAyMywgMTgyLCA3LCA2LCAxLCAyMzMsIAorICAgIDIzLCAyMTMsIDEwLCA3LCA1LCAxLCAyMzMsIDIzLCAyMTMsIDEwLCA2NSwgMSwgMTE0LCAyNDcsIDIyOCwgMjUzLCAyMSwgCisgICAgNjUsIDEsIDI0NywgMTYyLCA2NSwgMSwgMjE1LCAxNDQsIDI0MiwgMjQyLCA1MywgNywgNiwgMSwgMjE3LCAxNjMsIDcsIDUsIAorICAgIDEsIDIxNywgMTYzLCA3LCA2LCAxLCAyMDEsIDIzOSwgMTU1LCA3LCA1LCAxLCAyMzAsIDE1OSwgMiwgMjE4LCAyMzAsIDIzOCwgCisgICAgMTMwLCAyMywgMjUwLCAyNCwgNywgNiwgMSwgMjI2LCAzNCwgMiwgMjQ1LCAyMTEsIDcsIDUsIDEsIDIyNiwgMzQsIDIsIAorICAgIDI0NSwgMjExLCA3LCA2LCAxLCAyNDksIDM1LCAyLCAxMzQsIDcsIDUsIDEsIDI0OSwgMzUsIDIsIDEzNCwgNywgNSwgMSwgCisgICAgMjQ5LCAzNSwgMiwgMjIyLCAyNiwgMTA5LCA3LCA1LCAxLCAyMzksIDE1NiwgMiwgMjIyLCAyNiwgMTA5LCA3LCA2LCAxLCAKKyAgICA2MywgMiwgMjQxLCAxNzQsIDcsIDUsIDEsIDYzLCAyLCAyNDEsIDE3NCwgNywgNiwgMSwgMjQyLCAxNDAsIDIsIDkxLCA3LCAKKyAgICA1LCAxLCAyNDIsIDE0MCwgMiwgOTEsIDcsIDYsIDEsIDIwOCwgMTY2LCAyNTIsIDI0OCwgNywgNSwgMSwgMjA4LCAxNjYsIAorICAgIDI1MiwgMjQ4LCA3LCA2LCAxLCAyMDgsIDE2NiwgMjIyLCAyMDYsIDcsIDUsIDEsIDIwOCwgMTY2LCAyMjIsIDIwNiwgNywgNiwgCisgICAgMSwgMjA4LCAxNjYsIDIxMCwgMywgNywgNSwgMSwgMjA4LCAxNjYsIDIxMCwgMywgNywgNiwgMSwgMjQxLCA1NiwgMiwgMjIyLCAKKyAgICAyMjIsIDkxLCA3LCA1LCAxLCAyNDEsIDU2LCAyLCAyMjIsIDIyMiwgOTEsIDcsIDYsIDEsIDIzMiwgNzcsIDIsIDIyMiwgCisgICAgMjIyLCA5MSwgNywgNSwgMSwgMjMyLCA3NywgMiwgMjIyLCAyMjIsIDkxLCA3LCA2LCAxLCAyMjYsIDM0LCAyLCAyMjIsIAorICAgIDIyMiwgOTEsIDcsIDUsIDEsIDIyNiwgMzQsIDIsIDIyMiwgMjIyLCA5MSwgNywgNiwgMSwgMjE5LCAxNTAsIDIsIDIyMiwgCisgICAgMjIyLCA5MSwgNywgNSwgMSwgMjE5LCAxNTAsIDIsIDIyMiwgMjIyLCA5MSwgNywgNiwgMSwgMjE4LCAxLCAyLCAyMjIsIAorICAgIDIyMiwgOTEsIDcsIDUsIDEsIDIxOCwgMSwgMiwgMjIyLCAyMjIsIDkxLCA3LCA2LCAxLCAyMzksIDE1NiwgMiwgMTA5LCA3LCAKKyAgICA2LCAxLCAyMTgsIDIyNCwgMjIyLCAxNDIsIDc1LCA3LCA2LCAxLCAxMjEsIDI0MSwgNTUsIDcsIDYsIDEsIDIzMCwgMTU5LCAKKyAgICAyLCAyNTAsIDI0LCA3LCA2LCAxLCAyMDEsIDIzMiwgNzYsIDcsIDYsIDEsIDIwMSwgMjEzLCAxMCwgNywgMjQyLCAyNDcsIDEsIAorICAgIDIxNSwgNzMsIDc0LCA2NSwgMSwgNiwgMjM5LCAxNTYsIDIsIDkxLCA2NSwgMSwgNSwgMjgsIDIyMiwgMjA2LCA3LCAxLCA1LCAKKyAgICA2LCAyMDEsIDIyOSwgMjgsIDcsIDI0MiwgMjQ3LCAxLCAyMTgsIDIyNCwgMjQyLCAxMzksIDcsIDI0MiwgMjQ3LCAxLCAyMTgsIAorICAgIDIyNCwgMjIyLCA2NywgNywgMjQyLCAyNDcsIDEsIDIzMywgMiwgMjI5LCAyOCwgNywgMjQyLCAyNDcsIDEsIDIzNywgMjI1LCAKKyAgICAyMjksIDExNywgNywgMjQyLCAyNDcsIDEsIDI1MiwgMTksIDIyOSwgMjgsIDIxMywgODksIDIyNSwgMjIwLCAxLCA2MiwgCisgICAgMjEzLCA4OSwgMjI1LCAyMjAsIDEsIDc0LCAyMTMsIDg5LCAyMjUsIDIyMCwgMywgMjQzLCAyMDcsIDIxMywgODksIDIyNSwgCisgICAgMjIwLCAxLCA3MSwgMjEzLCA4OSwgMjI1LCAyMjAsIDEsIDc1LCAyMTMsIDg5LCAyMjUsIDIyMCwgMSwgNzYsIDIxMywgODksIAorICAgIDIyNSwgMjIwLCAzLCAyMzksIDg4LCAyMTMsIDg5LCAyMjUsIDIyMCwgMSwgMjMxLCA1MywgMjEzLCA4OSwgMjI1LCAyMjAsIAorICAgIDEsIDIzMSwgMTM4LCAyMTMsIDg5LCAyMjUsIDIyMCwgMSwgMjQwLCAxOSwgMjEzLCA4OSwgMjI1LCAyMjAsIDEsIDI0MCwgCisgICAgNzEsIDIxMywgODksIDIyNSwgMjIwLCAzLCAyNTIsIDczLCAyMTMsIDg5LCAyMjUsIDIyMCwgMSwgMjQ3LCAxNzQsIDIxMywgCisgICAgODksIDIyNSwgMjIwLCAxLCAyNDgsIDMyLCAyMTMsIDg5LCAyMjUsIDIyMCwgMSwgMjMyLCAxMjIsIDIxMywgODksIDIyNSwgCisgICAgMjIwLCAxLCAyMzIsIDE2NCwgMjEzLCA4OSwgMjI1LCAyMjAsIDEsIDIxMCwgMTg1LCAyMTMsIDg5LCAyMjUsIDIyMCwgMSwgCisgICAgMjEwLCAxOTEsIDIxMywgODksIDIyNSwgMjIwLCAxLCAyNDYsIDI0LCAyMTMsIDg5LCAyMjUsIDIyMCwgMSwgMjQ2LCAzMywgCisgICAgMjEzLCA4OSwgMjI1LCAyMjAsIDEsIDEyNCwgMjEzLCA4OSwgMjI1LCAyMjAsIDEsIDIxMSwgMjUzLCAyMTMsIDg5LCAyMjUsIAorICAgIDIyMCwgMSwgMjQ1LCA1MSwgMjEzLCA4OSwgMjI1LCAyMjAsIDEsIDI0NSwgMTcyLCAyMTMsIDg5LCAyMjUsIDIyMCwgMSwgCisgICAgMjI0LCA2NywgMjEzLCA4OSwgMjI1LCAyMjAsIDEsIDIyMCwgMjExLCAyMTMsIDg5LCAyMjUsIDIyMCwgMSwgMjIxLCA2NiwgCisgICAgMjEzLCA4OSwgMjI1LCAyMjAsIDEsIDI0OSwgMTg0LCAyMTMsIDg5LCAyMjUsIDIyMCwgMSwgMjQ5LCAyNDgsIDIxMywgODksIAorICAgIDIyNSwgMjIwLCAxLCAyMjYsIDE4MSwgMjEzLCA4OSwgMjI1LCAyMjAsIDEsIDIxOCwgMTI0LCAyMTMsIDg5LCAyMjUsIDIyMCwgCisgICAgMSwgMjI5LCAxNDQsIDIxMywgODksIDIyNSwgMjIwLCAxLCAyMTgsIDc1LCAyMTMsIDg5LCAyMjUsIDIyMCwgMSwgMjE0LCAKKyAgICAxOTMsIDIxMywgODksIDIyNSwgMjIwLCAxLCAyMzgsIDE0OSwgMjEzLCA4OSwgMjI1LCAyMjAsIDIyLCAzLCA2MiwgMjEzLCAKKyAgICA4OSwgMjI1LCAyMjAsIDIyLCAzLCA3NCwgMjEzLCA4OSwgMjI1LCAyMjAsIDIyLCAzLCA3MSwgMjEzLCA4OSwgMjI1LCAyMjAsIAorICAgIDIyLCAzLCA3NSwgMjEzLCA4OSwgMjI1LCAyMjAsIDIyLCAzLCAyMjIsIDE1MiwgMjEzLCA4OSwgMjI1LCAyMjAsIDIyMCwgCisgICAgMjA2LCAyMjcsIDE5MSwgMjEzLCA4OSwgMjI1LCAyMjAsIDIyMCwgMjA2LCAyMjcsIDE5MCwgMjEzLCA4OSwgMjI1LCAyMjAsIAorICAgIDIyMCwgMjA2LCAyMjcsIDE4OSwgMjEzLCA4OSwgMjI1LCAyMjAsIDIyMCwgMjA2LCAyMjcsIDE4OCwgMTQzLCAyMzMsIDUxLCAKKyAgICAyNDEsIDExNiwgMTE5LCAyMTksIDIwNCwgMTQzLCAyMzMsIDUxLCAyNDEsIDExNiwgMTE5LCAyMzksIDEyMSwgMTQzLCAyMzMsIAorICAgIDUxLCAyNDEsIDExNiwgMTI5LCAyMTksIDIwMiwgMTQzLCAyMzMsIDUxLCAyNDEsIDExNiwgMTE5LCAyMTUsIDIsIDE0MywgCisgICAgMjMzLCA1MSwgMjQxLCAxMTYsIDExOSwgMjQzLCA4MywgMTQzLCAyMzMsIDUxLCAyNDEsIDExNiwgMTI5LCAyMTUsIDEsIAorICAgIDE0MywgMjMzLCA1MSwgMjE5LCAyMDUsIDgzLCAxNDMsIDIzMywgNTEsIDIyMCwgMjM4LCA4MywgMTQzLCAyMzMsIDUxLCAKKyAgICAyMTgsIDI3LCA4MywgMTQzLCAyMzMsIDUxLCAyMTksIDIwNiwgODMsIDIyMSwgODksIDEsIDE3MiwgMjIxLCA4OSwgMSwgCisgICAgMjMxLCAxNjcsIDIyMSwgODksIDEsIDI0MCwgMjQ0LCAyMjEsIDg5LCAxLCAyMjUsIDc3LCAyMjEsIDg5LCAxLCAyNDksIDEsIAorICAgIDIyMSwgODksIDEsIDI0OCwgMTEwLCAyMjEsIDg5LCAxLCAyMzIsIDIwMCwgMjIxLCA4OSwgMSwgMjIzLCAxNDQsIDIyMSwgCisgICAgODksIDEsIDIxMiwgMjE5LCAyMjEsIDg5LCAxLCAyMTIsIDU2LCAyMjEsIDg5LCAxLCAyNDYsIDE0NSwgMjIxLCA4OSwgMSwgCisgICAgMTk5LCAyMjEsIDg5LCAxLCAxNzksIDIyMSwgODksIDEsIDIyMSwgOTMsIDIyMSwgODksIDEsIDI1MCwgMTgzLCAyMjEsIDg5LCAKKyAgICAxLCAxODUsIDIyMSwgODksIDEsIDIxMCwgMjQzLCAyMjEsIDg5LCAxLCAyMTAsIDIzMywgMjIxLCA4OSwgMSwgMjQzLCAxOTYsIAorICAgIDIyMSwgODksIDEsIDIwNywgOTYsIDIyMSwgODksIDEsIDIwNSwgODEsIDIyMSwgODksIDEsIDIwNSwgMTE2LCAyMjEsIDg5LCAKKyAgICAxLCA1LCA2MiwgMjIxLCA4OSwgMSwgMTkwLCAyMjEsIDg5LCAxLCAyMTksIDExMywgMjIxLCA4OSwgMSwgMjMwLCAxNDEsIAorICAgIDIyMSwgODksIDEsIDIxNiwgMiwgMjIxLCA4OSwgMSwgMjE3LCAxOTksIDIyMSwgODksIDEsIDE1NSwgMjIxLCA4OSwgMSwgCisgICAgNjIsIDIyMSwgODksIDEsIDc0LCAyMjEsIDg5LCAxLCA3MSwgMjIxLCA4OSwgMSwgNzUsIDIyMSwgODksIDEsIDc2LCAyMjEsIAorICAgIDg5LCAxLCAyMjAsIDE5LCAyMjEsIDg5LCAxLCAyMDYsIDE4MSwgMjIxLCA4OSwgMSwgMjQyLCA3MywgMjIxLCA4OSwgMSwgCisgICAgMjQwLCAxMzUsIDIyMSwgODksIDEsIDI0MywgMTA0LCAyMjEsIDg5LCAyMTMsIDE5MSwgMSwgMjA3LCA5NiwgMjIxLCA4OSwgCisgICAgMjEzLCAxOTEsIDEsIDE5MCwgMjIxLCA4OSwgMSwgMjEwLCAyMDgsIDIyMSwgODksIDEsIDIxMCwgMTk2LCAyMjEsIDg5LCAxLCAKKyAgICAyNDYsIDU0LCAyMjEsIDg5LCAxLCAyMjQsIDEwMywgMjIxLCA4OSwgMSwgMjUyLCAxNDEsIDE5MCwgMjIxLCA4OSwgMSwgCisgICAgMjA4LCAxNjksIDIxNiwgMiwgMjIxLCA4OSwgMSwgMjA4LCAxNzAsIDE1NSwgMjIxLCA4OSwgMSwgMjUxLCAyMTYsIDI0MiwgCisgICAgNzMsIDIyMSwgODksIDIxMywgMTkxLCAxLCAyMTksIDExMywgMjIxLCA4OSwgMjEzLCAxNDEsIDEsIDIxOSwgMTEzLCAyMjEsIAorICAgIDg5LCAxLCAyNDgsIDIxNywgMjIxLCA4OSwgMjE1LCA0MSwgMjM5LCA2OSwgODMsIDIyMSwgODksIDUwLCAyMzksIDY5LCA4MywgCisgICAgMjIxLCA4OSwgMTQxLCAyMTUsIDI1MSwgMjIxLCA4OSwgMTQxLCA1MCwgMjE1LCAyNTEsIDIxNywgMTIzLCAzLCAyNTIsIDczLCAKKyAgICAyMTcsIDEyMywgMywgMjA4LCAxODMsIDIxNywgMTIzLCAxLCA2MiwgMjE3LCAxMjMsIDEsIDI1MywgMTY0LCAyMTcsIDEyMywgCisgICAgMSwgNzQsIDIxNywgMTIzLCAxLCAyMzMsIDEwMiwgMjE3LCAxMjMsIDEsIDcxLCAyMTcsIDEyMywgMSwgMjA5LCAxNjIsIAorICAgIDIxNywgMTIzLCAxLCAxMTUsIDEzNywgMjE3LCAxMjMsIDEsIDExNSwgMjE4LCA5MCwgMjE3LCAxMjMsIDEsIDExNSwgMTQ5LCAKKyAgICAyMTcsIDEyMywgMSwgMTE1LCAyMjksIDE3MywgMjE3LCAxMjMsIDEsIDc1LCAyMTcsIDEyMywgMSwgMjQzLCAxMDQsIDIxNywgCisgICAgMTIzLCAxLCAyNTIsIDIwNSwgMjE3LCAxMjMsIDEsIDc2LCAyMTcsIDEyMywgMSwgMjIyLCAxNTIsIDIxNywgMTIzLCAxLCAKKyAgICAyNTEsIDE4NCwgMjE3LCAxMjMsIDEsIDE3MiwgMjE3LCAxMjMsIDEsIDIzMSwgMTY3LCAyMTcsIDEyMywgMSwgMjQwLCAyNDQsIAorICAgIDIxNywgMTIzLCAxLCAyNDAsIDk5LCAyMTcsIDEyMywgMSwgMjI1LCA3NywgMjE3LCAxMjMsIDEsIDI0OSwgMSwgMjE3LCAKKyAgICAxMjMsIDEsIDI0OCwgMTEwLCAyMTcsIDEyMywgMSwgMjMyLCAyMDAsIDIxNywgMTIzLCAxLCAyMzIsIDE3MCwgMjE3LCAxMjMsIAorICAgIDEsIDIyMywgMTQ0LCAyMTcsIDEyMywgMSwgMjEwLCAyMDgsIDIxNywgMTIzLCAxLCAyMTAsIDE5NiwgMjE3LCAxMjMsIDEsIAorICAgIDI0NiwgNTQsIDIxNywgMTIzLCAxLCAyNDYsIDM4LCAyMTcsIDEyMywgMSwgMjI0LCAxMDMsIDIxNywgMTIzLCAxLCAyMTIsIAorICAgIDIxOSwgMjE3LCAxMjMsIDEsIDIxMiwgNTYsIDIxNywgMTIzLCAxLCAyNDYsIDE0NSwgMjE3LCAxMjMsIDEsIDI0NSwgMTkyLCAKKyAgICAyMTcsIDEyMywgMSwgMTk5LCAyMTcsIDEyMywgMSwgMTc5LCAyMTcsIDEyMywgMSwgMjIxLCA5MywgMjE3LCAxMjMsIDEsIAorICAgIDI1MCwgMTgzLCAyMTcsIDEyMywgMSwgMjUwLCAwLCAyMTcsIDEyMywgMSwgMTg1LCAyMTcsIDEyMywgMSwgMTkwLCAyMTcsIAorICAgIDEyMywgMSwgMjE5LCAxMTMsIDIxNywgMTIzLCAxLCAyMzAsIDE0MSwgMjE3LCAxMjMsIDEsIDIwOSwgNzAsIDIxNywgMTIzLCAKKyAgICAxLCAyMTYsIDIsIDIxNywgMTIzLCAxLCAyMTQsIDk2LCAyMTcsIDEyMywgMSwgMjE3LCAxOTksIDIxNywgMTIzLCAxLCAxNTUsIAorICAgIDIxNywgMTIzLCAxLCAyMjksIDE3MiwgMjE3LCAxMjMsIDEwNywgMywgMjM5LCAxMzksIDIxNywgMTIzLCAyMiwgMywgMjUzLCAKKyAgICAxNjQsIDIxNywgMTIzLCAyMiwgMywgNzQsIDIxNywgMTIzLCAyMiwgMywgMjMzLCAxMDIsIDIxNywgMTIzLCAyMiwgMywgNzEsIAorICAgIDIxNywgMTIzLCAyMiwgMywgMjA5LCAxNjIsIDIxNywgMTIzLCAyMiwgMywgMTE1LCAxMzcsIDIxNywgMTIzLCAyMiwgMywgCisgICAgMTE1LCAyMTgsIDkwLCAyMTcsIDEyMywgMjIsIDMsIDExNSwgMTQ5LCAyMTcsIDEyMywgMjIsIDMsIDExNSwgMjI5LCAxNzMsIAorICAgIDIxNywgMTIzLCAyMiwgMywgNzUsIDIxNywgMTIzLCAyMiwgMywgMjQzLCAxMDQsIDIxNywgMTIzLCAyMiwgMywgMjUyLCAKKyAgICAyMDUsIDIxNywgMTIzLCAyMiwgMywgNzYsIDIxNywgMTIzLCAyMiwgMywgMjIyLCAxNTIsIDIxNywgMTIzLCAyMiwgMywgCisgICAgMjUxLCAxODQsIDIxNywgMTIzLCAzLCAyMDgsIDE4OCwgMjE3LCAxMjMsIDI0NiwgMTAwLCAyMTcsIDEyMywgNTAsIDI0NiwgCisgICAgMTAwLCAyMTcsIDEyMywgMTgsIDIwNSwgODUsIDIxNywgMTIzLCAxOCwgMTAyLCAyMTcsIDEyMywgMTgsIDEwNSwgMjE3LCAKKyAgICAxMjMsIDE4LCAxNDIsIDIxNywgMTIzLCAxOCwgMTM5LCAyMTcsIDEyMywgMTgsIDE2OCwgMjE3LCAxMjMsIDE4LCAxODQsIAorICAgIDIxNywgMTIzLCAxOCwgMTk1LCAyMTcsIDEyMywgMTgsIDE5MywgMjE3LCAxMjMsIDE4LCAyMDAsIDM2LCA4OSwgMTgsIDIwNSwgCisgICAgODUsIDM2LCA4OSwgMTgsIDEwMiwgMzYsIDg5LCAxOCwgMTA1LCAzNiwgODksIDE4LCAxNDIsIDM2LCA4OSwgMTgsIDEzOSwgCisgICAgMzYsIDg5LCAxOCwgMTY4LCAzNiwgODksIDE4LCAxODQsIDM2LCA4OSwgMTgsIDE5NSwgMzYsIDg5LCAxOCwgMTkzLCAzNiwgCisgICAgODksIDE4LCAyMDAsIDM2LCA4OSwgMSwgNjIsIDM2LCA4OSwgMSwgNzEsIDM2LCA4OSwgMSwgMTcyLCAzNiwgODksIDEsIAorICAgIDE5OSwgMzYsIDg5LCAxLCAxNzksIDM2LCA4OSwgMSwgMjE5LCAxMTMsIDM2LCA4OSwgMSwgMjA4LCAyMTQsIDM2LCA4OSwgMywgCisgICAgMjUxLCAxNjcsIDg5LCAzLCAyMTQsIDE1MiwgMjQ4LCAyMTcsIDg5LCAzLCAyNDgsIDIxOCwgMjA4LCAxODgsIDg5LCAzLCAKKyAgICA1MCwgMjQ4LCAyMTgsIDIwOCwgMTg4LCA4OSwgMywgMjQ4LCAyMTgsIDEwNSwgODksIDMsIDI0OCwgMjE4LCAxNDIsIDg5LCAKKyAgICAzLCAyNDgsIDIxOCwgMjUxLCAxNjcsIDg5LCAzLCAyMjAsIDU1LCA4OSwgMjQwLCAyMDgsIDI0MSwgMjMyLCA4OSwgMjQ4LCAKKyAgICAxOTksIDg5LCAyMzksIDYzLCAyMzEsIDIzMCwgMjI5LCAyMzYsIDE4LCAyMDUsIDg1LCAyMzEsIDIzMCwgMjI5LCAyMzYsIAorICAgIDE4LCAxMDIsIDIzMSwgMjMwLCAyMjksIDIzNiwgMTgsIDEwNSwgMjMxLCAyMzAsIDIyOSwgMjM2LCAxOCwgMTQyLCAyMzEsIAorICAgIDIzMCwgMjI5LCAyMzYsIDE4LCAxMzksIDIzMSwgMjMwLCAyMjksIDIzNiwgMTgsIDE2OCwgMjMxLCAyMzAsIDIyOSwgMjM2LCAKKyAgICAxOCwgMTg0LCAyMzEsIDIzMCwgMjI5LCAyMzYsIDE4LCAxOTUsIDIzMSwgMjMwLCAyMjksIDIzNiwgMTgsIDE5MywgMjMxLCAKKyAgICAyMzAsIDIyOSwgMjM2LCAxOCwgMjAwLCAyMzEsIDIzMCwgMjI5LCAyMzYsIDEsIDE3MiwgMjMxLCAyMzAsIDIyOSwgMjM2LCAKKyAgICAxLCAyMzEsIDE2NywgMjMxLCAyMzAsIDIyOSwgMjM2LCAxLCAyNDAsIDI0NCwgMjMxLCAyMzAsIDIyOSwgMjM2LCAxLCAyMjUsIAorICAgIDc3LCAyMzEsIDIzMCwgMjI5LCAyMzYsIDEsIDIxNywgMTk5LCAyMzEsIDIzMCwgMjI5LCAyMzYsIDEsIDIxNiwgMiwgMjMxLCAKKyAgICAyMzAsIDIyOSwgMjM2LCAxLCAyMDUsIDExNiwgMjMxLCAyMzAsIDIyOSwgMjM2LCAxLCAyMjMsIDE0NCwgMjMxLCAyMzAsIAorICAgIDIyOSwgMjM2LCAxLCAyMTIsIDIxOSwgMjMxLCAyMzAsIDIyOSwgMjM2LCAxLCAyMzgsIDQ2LCAyMzEsIDIzMCwgMjI5LCAKKyAgICAyMzYsIDEsIDE5OSwgMjMxLCAyMzAsIDIyOSwgMjM2LCAxLCAxNzksIDIzMSwgMjMwLCAyMjksIDIzNiwgMSwgMjIxLCA5MywgCisgICAgMjMxLCAyMzAsIDIyOSwgMjM2LCAxLCAxODUsIDIzMSwgMjMwLCAyMjksIDIzNiwgMSwgMjQ2LCAxNDUsIDIzMSwgMjMwLCAKKyAgICAyMjksIDIzNiwgMSwgMjUwLCAxODMsIDIzMSwgMjMwLCAyMjksIDIzNiwgMSwgMjE5LCAxMTMsIDIzMSwgMjMwLCAyMjksIAorICAgIDIzNiwgMSwgMTkwLCAyMzEsIDIzMCwgMjI5LCAyMzYsIDEsIDIzMCwgMTQxLCAyMzEsIDIzMCwgMjI5LCAyMzYsIDEsIDIwNywgCisgICAgOTYsIDIzMSwgMjMwLCAyMjksIDIzNiwgMSwgMjEyLCA1NiwgMjMxLCAyMzAsIDIyOSwgMjM2LCAxLCAxNTUsIDIzMSwgMjMwLCAKKyAgICAyMjksIDIzNiwgMSwgMjA5LCA3MCwgMjMxLCAyMzAsIDIyOSwgMjM2LCAxLCAyNDksIDEsIDIzMSwgMjMwLCAyMjksIDIzNiwgCisgICAgMSwgNjIsIDIzMSwgMjMwLCAyMjksIDIzNiwgMSwgMjIyLCAyMDYsIDIzMSwgMjMwLCAyMjksIDIzNiwgMSwgNzQsIDIzMSwgCisgICAgMjMwLCAyMjksIDIzNiwgMSwgMjIyLCAxNTIsIDIzMSwgMjMwLCAyMjksIDIzNiwgMjIsIDIxMCwgMywgMjMxLCAyMzAsIAorICAgIDIyOSwgMjM2LCAyMiwgNzUsIDIzMSwgMjMwLCAyMjksIDIzNiwgMjIsIDcxLCAyMzEsIDIzMCwgMjI5LCAyMzYsIDIyLCAKKyAgICAyNDMsIDEwNCwgMjMxLCAyMzAsIDIyOSwgMjM2LCAyMiwgNzYsIDIzMSwgMjMwLCAyMjksIDIzNiwgMTM1LCAyMjAsIDIyNiwgCisgICAgMjMxLCAyMzAsIDIyOSwgMjM2LCAxMzUsIDI0OCwgMjMzLCAyMzEsIDIzMCwgMjI5LCAyMzYsIDEzNSwgMjQ4LCAyMzQsIAorICAgIDIyMCwgMjI2LCAyMzEsIDIzMCwgMjI5LCAyMzYsIDMsIDI0NywgMywgMjMxLCAyMzAsIDIyOSwgMjM2LCAzLCAyMTUsIDg4LCAKKyAgICAyMTksIDEzLCAxLCAxNzIsIDIxOSwgMTMsIDEsIDI0MCwgMjQ0LCAyMTksIDEzLCAxLCAyMjUsIDc3LCAyMTksIDEzLCAxLCAKKyAgICAyMTIsIDIxOSwgMjE5LCAxMywgMSwgMjQ2LCAxNDUsIDIxOSwgMTMsIDEsIDE5OSwgMjE5LCAxMywgMSwgMTc5LCAyMTksIAorICAgIDEzLCAxLCAyNTAsIDE4MywgMjE5LCAxMywgMSwgMTg1LCAyMTksIDEzLCAxLCAyNDksIDEsIDIxOSwgMTMsIDEsIDIzMiwgCisgICAgMjAwLCAyMTksIDEzLCAxLCAyMjMsIDE0NCwgMjE5LCAxMywgMSwgMjE3LCAxOTksIDIxOSwgMTMsIDEsIDIxOSwgMTEzLCAKKyAgICAyMTksIDEzLCAxLCAyMzAsIDE0MSwgMjE5LCAxMywgMSwgMTkwLCAyMTksIDEzLCAxLCAyMDcsIDk2LCAyMTksIDEzLCAxLCAKKyAgICAxNTUsIDIxOSwgMTMsIDEsIDIyNywgMTUzLCAyMTksIDEzLCAxLCAyMjUsIDU2LCAyMTksIDEzLCAxLCAyMjUsIDE1MSwgCisgICAgMjE5LCAxMywgMSwgMjIzLCAxMTEsIDIxOSwgMTMsIDEsIDYyLCAyMTksIDEzLCAyMiwgMywgNzQsIDIxOSwgMTMsIDIyLCAzLCAKKyAgICA3MSwgMjE5LCAxMywgMjIsIDMsIDc1LCAyMTksIDEzLCAyMiwgMywgMjUyLCAyMDUsIDIxOSwgMTMsIDIyLCAzLCA3NiwgCisgICAgMjE5LCAxMywgMjIsIDMsIDI1MSwgMTg0LCAyMTksIDEzLCAyMiwgMywgMjQyLCAxOTIsIDIxOSwgMTMsIDIyLCAzLCAyNDMsIAorICAgIDEzMCwgMjE5LCAxMywgMTA3LCAzLCAyMjUsIDc5LCAyMTksIDEzLCAxMDcsIDMsIDIyNiwgMzMsIDIxOSwgMTMsIDEwNywgMywgCisgICAgMTM3LCAyMTksIDEzLCAxMDcsIDMsIDIzOSwgMTU1LCAyMTksIDEzLCAyMDgsIDE4OCwgMjE5LCAxMywgMjE3LCA3NywgODMsIAorICAgIDI1LCAxMTMsIDIxMSwgMTg5LCAyNSwgMTEzLCAyMTEsIDE4OCwgMjUsIDExMywgMjExLCAxODYsIDI1LCAxMTMsIDIxMSwgCisgICAgMTkxLCAyNSwgMTEzLCAyMTgsIDE5MywgMjUsIDExMywgMjE4LCAxNzcsIDI1LCAxMTMsIDIxOCwgMTcyLCAyNSwgMTEzLCAKKyAgICAyMTgsIDE3NCwgMjUsIDExMywgMjE4LCAxOTAsIDI1LCAxMTMsIDIxOCwgMTgzLCAyNSwgMTEzLCAyMTgsIDE3NiwgMjUsIAorICAgIDExMywgMjE4LCAxOTUsIDI1LCAxMTMsIDIxOCwgMTc4LCAyNSwgMTEzLCAyMTgsIDE5NywgMjUsIDExMywgMjE4LCAxOTQsIAorICAgIDI1LCAxMTMsIDIyNiwgMjM2LCAyNSwgMTEzLCAyMjYsIDIyNywgMjUsIDExMywgMjI2LCAyMzAsIDI1LCAxMTMsIDIyMSwgCisgICAgMjQsIDI1LCAxMTMsIDIyMSwgMzUsIDI1LCAxMTMsIDIyMSwgMzYsIDI1LCAxMTMsIDIxNCwgODAsIDI1LCAxMTMsIDIzMywgCisgICAgMTE1LCAyNSwgMTEzLCAyMzMsIDEyMiwgMjUsIDExMywgMjE0LCA5MSwgMjUsIDExMywgMjE0LCA3OCwgMjUsIDExMywgMjIxLCAKKyAgICA3NSwgMjUsIDExMywgMjM4LCAyNTQsIDI1LCAxMTMsIDIxNCwgNzUsIDE3NiwgMywgMjIxLCAyNDIsIDE3NiwgMywgMjQ4LCAKKyAgICAxNDUsIDE3NiwgMywgMjMwLCA2NiwgMTc2LCAzLCAyMDcsIDEzLCAxNzYsIDEsIDYyLCAxNzYsIDEsIDIzNywgMjI1LCAyMzEsIAorICAgIDIzNCwgMTc2LCAxLCA3NCwgMTc2LCAxLCAyMzMsIDEwMiwgMTc2LCAxLCA3MSwgMTc2LCAxLCAyMjIsIDUyLCAyNDgsIDExNiwgCisgICAgMTc2LCAxLCAyMjUsIDc4LCAyMzAsIDI1LCAxNzYsIDEsIDIyNSwgNzgsIDIzMCwgMjYsIDIxOSwgNjYsIDE3NiwgMSwgNzUsIAorICAgIDE3NiwgMSwgMjUyLCAyMDUsIDE3NiwgMSwgNzYsIDE3NiwgMSwgMTcyLCAxNzYsIDEsIDIzMiwgNjYsIDIxNywgMTM1LCAKKyAgICAxNzYsIDEsIDIzMiwgNjYsIDIyNiwgNzUsIDE3NiwgMSwgMjQwLCAyNDQsIDE3NiwgMSwgMjQwLCAyNDUsIDIyNiwgNzUsIAorICAgIDE3NiwgMSwgMjI1LCA3NywgMTc2LCAxLCAyNDksIDEsIDE3NiwgMSwgMjQ5LCAyLCAyMjYsIDc1LCAxNzYsIDEsIDIzMiwgCisgICAgMjAwLCAxNzYsIDEsIDIyMywgMTQ1LCAyMjYsIDc1LCAxNzYsIDEsIDIzMiwgMjAxLCAyMjcsIDI0MywgMTc2LCAxLCAyMjMsIAorICAgIDE0NCwgMTc2LCAxLCAyMTAsIDIwOCwgMTc2LCAxLCAyMTAsIDIwOSwgMjI3LCAyNDMsIDE3NiwgMSwgMjQ2LCA1NCwgMTc2LCAKKyAgICAxLCAyNDYsIDU1LCAyMjcsIDI0MywgMTc2LCAxLCAyMjUsIDIzNywgMjI2LCA3NSwgMTc2LCAxLCAyMTIsIDIxOSwgMTc2LCAKKyAgICAxLCAyMTIsIDIyMCwgMjI2LCA3NSwgMTc2LCAxLCAyNDYsIDE0NSwgMTc2LCAxLCAyNDYsIDE0NiwgMjI3LCAyNDMsIDE3NiwgCisgICAgMSwgMTk5LCAxNzYsIDEsIDE3OSwgMTc2LCAxLCAyMjIsIDUyLCAyMjYsIDc1LCAxNzYsIDEsIDI1MCwgMTgzLCAxNzYsIDEsIAorICAgIDI1MCwgMTg0LCAyMjYsIDc1LCAxNzYsIDEsIDE4NSwgMTc2LCAxLCAxOTAsIDE3NiwgMSwgMjE5LCAxMTMsIDE3NiwgMSwgCisgICAgMjE5LCAxMTQsIDI1MiwgMjE0LCAxNzYsIDEsIDIzMCwgMTQxLCAxNzYsIDEsIDIwNywgOTYsIDE3NiwgMSwgMjE3LCAyMDAsIAorICAgIDIyNiwgNzUsIDE3NiwgMSwgMjE3LCAyMDAsIDIyNywgMjQzLCAxNzYsIDEsIDIxNywgMTk5LCAxNzYsIDEsIDE1NSwgMTc2LCAKKyAgICAzLCAyNDgsIDE0NiwgMjEyLCAxMDEsIDE3NiwgMjIsIDMsIDIxMiwgMTU4LCAxNzYsIDIyLCAzLCAyMTEsIDEyMywgMTc2LCAKKyAgICAyMiwgMywgMjA2LCAyMTAsIDE3NiwgMjIsIDMsIDIwNiwgMjExLCAyMjcsIDk0LCAxNzYsIDIyLCAzLCAyMTMsIDE2NCwgCisgICAgMTc2LCAyMiwgMywgMjEzLCAxNjUsIDIyNywgODIsIDE3NiwgMjIsIDMsIDIxMiwgMTc5LCAxNzYsIDIyLCAzLCAyNDUsIAorICAgIDEwMSwgMjI2LCA3NCwgMTc2LCAyMiwgMywgMjIxLCAxMzQsIDE3NiwgMTA3LCAzLCAyMzEsIDE5NiwgMTc2LCAxMDcsIDMsIAorICAgIDIyMSwgMTQ3LCAxNzYsIDEwNywgMywgMjQ4LCAyNDIsIDE3NiwgMjIxLCAyNTUsIDE3NiwgNDcsIDIxOCwgMjQ0LCAxNzYsIAorICAgIDQ4LCAyMTgsIDI0NCwgMTc2LCAyMjIsIDQxLCAyNTIsIDExNiwgMTc2LCAyMjIsIDQxLCAyMjgsIDUsIDE3NiwgMjIyLCA0MSwgCisgICAgMjI5LCA2OSwgMTc2LCAyMjIsIDQxLCAyMDcsIDcsIDE3NiwgMjIyLCA0MSwgMjIyLCAwLCAxNzYsIDIyMiwgNDEsIDIyOSwgCisgICAgMTk3LCAxNzYsIDIyMiwgNDEsIDIyOSwgNjMsIDE3NiwgMjIyLCA0MSwgMjUyLCAyNTUsIDE3NiwgMjIyLCA0MSwgMjUzLCAwLCAKKyAgICAyNTIsIDI1NSwgMTc2LCAyMjIsIDQxLCAyMjAsIDI0OSwgMTc2LCAyMDEsIDIyMiwgNDEsIDIyMCwgMjQ5LCAxNzYsIDIyMSwgCisgICAgMjUxLCAxNzYsIDE4LCAyMDUsIDg1LCAxNzYsIDE4LCAxMDIsIDE3NiwgMTgsIDEwNSwgMTc2LCAxOCwgMTQyLCAxNzYsIDE4LCAKKyAgICAxMzksIDE3NiwgMTgsIDE2OCwgMTc2LCAxOCwgMTg0LCAxNzYsIDE4LCAxOTUsIDE3NiwgMTgsIDE5MywgMTc2LCAxOCwgCisgICAgMjAwLCAxNzYsIDIyMiwgNDEsIDIxMSwgMTU4LCAyMTAsIDE1NywgMTc2LCAyMjIsIDQxLCAyMzIsIDIzMCwgNjYsIDEsIAorICAgIDIxNSwgMjM4LCAyNDAsIDk5LCA2NiwgMSwgMjE1LCAyMzgsIDI0OCwgMTEwLCA2NiwgMSwgMjE1LCAyMzgsIDIzMiwgMTcwLCAKKyAgICA2NiwgMSwgMjE1LCAyMzgsIDIyNCwgMTAzLCA2NiwgMSwgMjE1LCAyMzgsIDI1MCwgMCwgNjYsIDMsIDIxNSwgMjM4LCAyMTcsIAorICAgIDEyMSwgNjYsIDY1LCAxLCAyMTUsIDIzOCwgMjE5LCAzMCwgNjYsIDEsIDQxLCAyMzAsIDExMywgMjIzLCAxNDQsIDY2LCAxLCAKKyAgICA0MSwgMjMwLCAxMTMsIDI0MiwgNzMsIDY2LCAxLCA0MSwgMjMwLCAxMTMsIDI0MCwgMjQ0LCA2NiwgMSwgNDEsIDIzMCwgCisgICAgMTEzLCAyNDAsIDk5LCA2NiwgMSwgNDEsIDIzMCwgMTEzLCAyMzIsIDIwMCwgNjYsIDEsIDQxLCAyMzAsIDExMywgMjMyLCAKKyAgICAxNzAsIDY2LCAxLCA0MSwgMjMwLCAxMTMsIDI0NiwgNTQsIDY2LCAxLCA0MSwgMjMwLCAxMTMsIDI0NiwgMzgsIDY2LCAxLCAKKyAgICA0MSwgMjMwLCAxMTMsIDIyNCwgMTAzLCA2NiwgNDEsIDIzMCwgMTEzLCAxOCwgMjA1LCA4NSwgNjYsIDQxLCAyMzAsIDExMywgCisgICAgMTgsIDEwMiwgNjYsIDQxLCAyMzAsIDExMywgMTgsIDEwNSwgNjYsIDQxLCAyMzAsIDExMywgMTgsIDE0MiwgNjYsIDQxLCAKKyAgICAyMzAsIDExMywgMTgsIDEzOSwgNjYsIDQxLCAyMzAsIDExMywgMTgsIDE2OCwgNjYsIDQxLCAyMzAsIDExMywgMTgsIDE4NCwgCisgICAgNjYsIDQxLCAyMzAsIDExMywgMTgsIDE5NSwgNjYsIDQxLCAyMzAsIDExMywgMTgsIDE5MywgNjYsIDQxLCAyMzAsIDExMywgCisgICAgMTgsIDIwMCwgNjYsIDEsIDQxLCAyMzAsIDExMywgMjI5LCAxNzIsIDY2LCAxLCA0MSwgMjMwLCAxMTMsIDI0NiwgMTQ1LCAKKyAgICA2NiwgMSwgNDEsIDIzMCwgMTEzLCAyNDUsIDE5MiwgNjYsIDEsIDQxLCAyMzAsIDExMywgMjUwLCAxODMsIDY2LCAxLCA0MSwgCisgICAgMjMwLCAxMTMsIDI1MCwgMCwgMjAzLCAxLCA2MiwgMjAzLCAxLCA3NCwgMjAzLCAxLCA3MSwgMjAzLCAxLCA3NSwgMjAzLCAxLCAKKyAgICAyNTIsIDIwNSwgMjAzLCAxLCA3NiwgMjAzLCAxLCAxNzIsIDIwMywgMSwgMjMxLCAxNjcsIDIwMywgMSwgMjQwLCAyNDQsIAorICAgIDIwMywgMSwgMjQwLCA5OSwgMjAzLCAxLCAyMjQsIDI0MiwgMjAzLCAxLCAyMjUsIDc3LCAyMDMsIDEsIDI0OCwgMTEwLCAKKyAgICAyMDMsIDEsIDI0OCwgNjAsIDIwMywgMSwgMjMyLCAyMDAsIDIwMywgMSwgMjMyLCAxNzAsIDIwMywgMSwgMjI0LCAyMzIsIAorICAgIDIwMywgMSwgMjI0LCAyMzQsIDIwMywgMSwgMjI0LCAyMzMsIDIwMywgMSwgMjEyLCAyMTksIDIwMywgMSwgMjEyLCA1NiwgCisgICAgMjAzLCAxLCAyNDYsIDE0NSwgMjAzLCAxLCAyNDUsIDE5MiwgMjAzLCAxLCAyMjMsIDE4NiwgMjAzLCAxLCAxOTksIDIwMywgCisgICAgMSwgMjQ2LCA1NCwgMjAzLCAxLCAxNzksIDIwMywgMSwgMjIwLCAxNTcsIDIwMywgMSwgMjIxLCA5MywgMjAzLCAxLCAyNTAsIAorICAgIDE4MywgMjAzLCAxLCAyNTAsIDAsIDIwMywgMSwgMjI2LCAxMDYsIDIwMywgMSwgMTg1LCAyMDMsIDEsIDI1MCwgOTcsIDIwMywgCisgICAgMSwgMTkwLCAyMDMsIDEsIDIxOSwgMTEzLCAyMDMsIDEsIDIzMCwgMTQxLCAyMDMsIDEsIDIwOSwgNzAsIDIwMywgMSwgMjE0LCAKKyAgICA5NiwgMjAzLCAxLCAyMTcsIDE5OSwgMjAzLCAxLCAxNTUsIDIwMywgMjIsIDMsIDI1MywgMTY0LCAyMDMsIDIyLCAzLCA3NCwgCisgICAgMjAzLCAyMiwgMywgMjMzLCAxMDIsIDIwMywgMjIsIDMsIDI0MywgOTAsIDIwMywgMjIsIDMsIDcxLCAyMDMsIDIyLCAzLCAKKyAgICAyMjIsIDIwNiwgMjAzLCAyMiwgMywgNzYsIDIwMywgMjIsIDMsIDI1MiwgMjA1LCAyMDMsIDIyLCAzLCAyNTEsIDE4NCwgCisgICAgMjAzLCAyMiwgMywgMjEwLCAzLCAyMDMsIDEwNywgMywgMTkwLCAyMDMsIDEwNywgMywgMjE5LCAxMTMsIDIwMywgMTA3LCAzLCAKKyAgICAyMzAsIDE0MSwgMjAzLCAxMDcsIDMsIDIwNywgOTYsIDIwMywgMSwgNDIsIDIzMiwgNzYsIDIwMywgMSwgNDIsIDI0MSwgNTUsIAorICAgIDIwMywgMSwgNDIsIDIyNSwgNzksIDIwMywgMTA3LCAzLCA0MiwgMjI1LCA3OSwgMjAzLCAxLCA0MiwgMjQ4LCAxMTEsIDIwMywgCisgICAgMSwgNDIsIDIxMywgMTAsIDIwMywgMSwgNDIsIDIyNiwgMzMsIDIwMywgMSwgNDIsIDIyMiwgNjcsIDIwMywgMSwgNDIsIAorICAgIDIwNiwgMTIzLCAyMDMsIDEsIDQyLCAxMzcsIDIwMywgMSwgNDIsIDE0OSwgMjAzLCAxLCA0MiwgMjE0LCA5OSwgMjAzLCAKKyAgICAxMDcsIDMsIDQyLCAyMjksIDI4LCAyMDMsIDEwNywgMywgNDIsIDIzOSwgMTU1LCAyMDMsIDE4LCAyMDUsIDg1LCAyMDMsIAorICAgIDE4LCAxMDIsIDIwMywgMTgsIDEwNSwgMjAzLCAxOCwgMTQyLCAyMDMsIDE4LCAxMzksIDIwMywgMTgsIDE2OCwgMjAzLCAxOCwgCisgICAgMTg0LCAyMDMsIDE4LCAxOTUsIDIwMywgMTgsIDE5MywgMjAzLCAxOCwgMjAwLCAyMDMsIDIyMCwgNzIsIDIxNCwgMTI3LCAKKyAgICAyMDMsIDIyMCwgNzIsIDI0NiwgMTAwLCAyMDMsIDIyMCwgNzIsIDUwLCAyNDYsIDEwMCwgMjAzLCAyMjAsIDcyLCAyMTEsIAorICAgIDM2LCAyNDYsIDEwMCwgNjYsIDEsIDIzMSwgMTYwLCAyNDAsIDI0NCwgNjYsIDEsIDIzMSwgMTYwLCAyNDksIDEsIDY2LCAxLCAKKyAgICAyMzEsIDE2MCwgMjQ4LCAxMTAsIDY2LCAxLCAyMzEsIDE2MCwgMjMyLCAyMDAsIDY2LCAxLCAyMzEsIDE2MCwgMjMyLCAxNzAsIAorICAgIDY2LCAxLCAyMzEsIDE2MCwgMjIzLCAxNDQsIDY2LCAxLCAyMzEsIDE2MCwgMjEwLCAyMDgsIDY2LCAxLCAyMzEsIDE2MCwgCisgICAgMjEwLCAxOTYsIDY2LCAxLCAyMzEsIDE2MCwgMjQ2LCA1NCwgNjYsIDEsIDIzMSwgMTYwLCAyNDYsIDM4LCA2NiwgMSwgMjMxLCAKKyAgICAxNjAsIDI0NSwgMTkyLCA2NiwgMSwgMjMxLCAxNjAsIDE5OSwgNjYsIDEsIDIzMSwgMTYwLCAyMTcsIDE5OSwgNjYsIDEsIAorICAgIDIzMSwgMTYwLCAxNTUsIDY2LCAxLCAyMzEsIDE2MCwgMjM5LCAyMCwgNjYsIDEsIDIzMSwgMTYwLCAyNDIsIDczLCA2NiwgCisgICAgNjUsIDEsIDIzMSwgMTYwLCAyMTksIDMwLCA2NiwgMSwgMjMxLCAxNjAsIDIwNiwgMTgxLCA2NiwgMSwgMjMxLCAxNjAsIAorICAgIDIwNSwgMTE2LCA2NiwgMSwgMjMxLCAxNjAsIDIxOSwgMTEzLCA2NiwgMjI5LCAxMzMsIDIzMSwgMTYwLCAyMjIsIDIyNywgCisgICAgNjYsIDIyOSwgMTMzLCAyMzEsIDE2MCwgMjE5LCAyMjcsIDY2LCAyMjksIDEzMywgMjMxLCAxNjAsIDIzOCwgMjA0LCA2NiwgCisgICAgMTYsIDI1MiwgMTkzLCAyNDIsIDE2NywgNjYsIDE2LCAyNTIsIDE5MywgMTAyLCA2NiwgMTYsIDI1MiwgMTkzLCAxMDUsIDY2LCAKKyAgICAxLCAyNTIsIDE5MywgMjE5LCAxMTMsIDY2LCAzLCAyMjEsIDIzOCwgMjMyLCA0LCAyMTEsIDExOCwgNjYsIDMsIDQxLCAyMzAsIAorICAgIDExMywgMjExLCAxMTYsIDY2LCAzLCA0MSwgMjMwLCAxMTMsIDIxMSwgMTEzLCA2NiwgMSwgMjE1LCA5NiwgMjIyLCAyMywgCisgICAgMjQ4LCAxMTAsIDY2LCAxLCAyMTUsIDk2LCAyMjIsIDIzLCAyMTYsIDIsIDQxLCAyMDgsIDIwNCwgMSwgMTE0LCAyMzEsIDUzLCAKKyAgICA0MSwgMjA4LCAyMDQsIDEsIDEyNywgMjMxLCA1MywgNDEsIDIwOCwgMjA0LCAxLCAxMTQsIDIzMSwgMTM4LCA0MSwgMjA4LCAKKyAgICAyMDQsIDEsIDEyNywgMjMxLCAxMzgsIDQxLCAyMDgsIDIwNCwgMSwgMTE0LCAyMzEsIDE0NywgNDEsIDIwOCwgMjA0LCAxLCAKKyAgICAxMjcsIDIzMSwgMTQ3LCA0MSwgMjA4LCAyMDQsIDEsIDExNCwgMjQwLCAxOSwgNDEsIDIwOCwgMjA0LCAxLCAxMjcsIDI0MCwgCisgICAgMTksIDQxLCAyMDgsIDIwNCwgMSwgMTE0LCAyMjUsIDIsIDQxLCAyMDgsIDIwNCwgMSwgMTI3LCAyMjUsIDIsIDQxLCAyMDgsIAorICAgIDIwNCwgMSwgMTE0LCAyNDcsIDE3NCwgNDEsIDIwOCwgMjA0LCAxLCAxMjcsIDI0NywgMTc0LCA0MSwgMjA4LCAyMDQsIDEsIAorICAgIDExNCwgMjQ4LCAzMiwgNDEsIDIwOCwgMjA0LCAxLCAxMjcsIDI0OCwgMzIsIDQxLCAyMDgsIDIwNCwgMSwgMTE0LCAyMTQsIAorICAgIDE5MywgNDEsIDIwOCwgMjA0LCAxLCAxMjcsIDIxNCwgMTkzLCA0MSwgMjA4LCAyMDQsIDEsIDExNCwgMjIzLCAxMTAsIDQxLCAKKyAgICAyMDgsIDIwNCwgMSwgMTI3LCAyMjMsIDExMCwgNDEsIDIwOCwgMjA0LCAxLCAxMTQsIDI0NSwgNTEsIDQxLCAyMDgsIDIwNCwgCisgICAgMSwgMTI3LCAyNDUsIDUxLCA0MSwgMjA4LCAyMDQsIDEsIDExNCwgMTI0LCA0MSwgMjA4LCAyMDQsIDEsIDEyNywgMTI0LCAKKyAgICA0MSwgMjA4LCAyMDQsIDEsIDExNCwgMjExLCAyNTMsIDQxLCAyMDgsIDIwNCwgMSwgMTI3LCAyMTEsIDI1MywgNDEsIDIwOCwgCisgICAgMjA0LCAxLCAxMTQsIDIyNCwgNjcsIDQxLCAyMDgsIDIwNCwgMSwgMTI3LCAyMjQsIDY3LCA0MSwgMjA4LCAyMDQsIDEsIAorICAgIDExNCwgMjQ5LCAxODQsIDQxLCAyMDgsIDIwNCwgMSwgMTI3LCAyNDksIDE4NCwgNDEsIDIwOCwgMjA0LCAxLCAxMTQsIDIyMCwgCisgICAgMjExLCA0MSwgMjA4LCAyMDQsIDEsIDEyNywgMjIwLCAyMTEsIDQxLCAyMDgsIDIwNCwgMSwgMTE0LCAyMjEsIDY2LCA0MSwgCisgICAgMjA4LCAyMDQsIDEsIDEyNywgMjIxLCA2NiwgNDEsIDIwOCwgMjA0LCAxLCAxMTQsIDI0MSwgMTYyLCA0MSwgMjA4LCAyMDQsIAorICAgIDEsIDEyNywgMjQxLCAxNjIsIDQxLCAyMDgsIDIwNCwgMSwgMTE0LCAyMjYsIDE4MSwgNDEsIDIwOCwgMjA0LCAxLCAxMjcsIAorICAgIDIyNiwgMTgxLCA0MSwgMjA4LCAyMDQsIDEsIDExNCwgMjA1LCAyNDcsIDQxLCAyMDgsIDIwNCwgMSwgMTI3LCAyMDUsIDI0NywgCisgICAgNDEsIDIwOCwgMjA0LCAxLCAxMTQsIDIxOCwgMTI0LCA0MSwgMjA4LCAyMDQsIDEsIDEyNywgMjE4LCAxMjQsIDQxLCAyMDgsIAorICAgIDIwNCwgMSwgMTE0LCAyMjksIDE0NCwgNDEsIDIwOCwgMjA0LCAxLCAxMjcsIDIyOSwgMTQ0LCA0MSwgMjA4LCAyMDQsIDEsIAorICAgIDExNCwgMjA4LCAxNzMsIDQxLCAyMDgsIDIwNCwgMSwgMTI3LCAyMDgsIDE3MywgNDEsIDIwOCwgMjA0LCAxLCAxMTQsIDIzOCwgCisgICAgMTQ5LCA0MSwgMjA4LCAyMDQsIDEsIDEyNywgMjM4LCAxNDksIDQxLCAyMDgsIDIwNCwgMSwgMTE0LCA3NiwgNDEsIDIwOCwgCisgICAgMjA0LCAxLCAxMjcsIDc2LCA0MSwgMjA4LCAyMDQsIDIyNywgMjQwLCAyMzIsIDIzLCA0MSwgMjA4LCAyMDQsIDIyLCAyNTMsIAorICAgIDE2NCwgNDEsIDIwOCwgMjA0LCAyMiwgNzQsIDQxLCAyMDgsIDIwNCwgMjIsIDIxMCwgMywgNDEsIDIwOCwgMjA0LCAyMiwgCisgICAgNzEsIDQxLCAyMDgsIDIwNCwgMjIsIDc1LCA0MSwgMjA4LCAyMDQsIDIyLCA3NiwgNDEsIDIwOCwgMjA0LCAyMjcsIDI0MCwgCisgICAgMjMxLCAxNDEsIDQxLCAyMDgsIDIwNCwgMjIsIDIzNywgMTkwLCA0MSwgMjA4LCAyMDQsIDIyLCAyMTAsIDIsIDQxLCAyMDgsIAorICAgIDIwNCwgMjIsIDIxMCwgMTgsIDQxLCAyMDgsIDIwNCwgMjIsIDI1MSwgMTgyLCA0MSwgMjA4LCAyMDQsIDIyLCAyNTEsIDE1OSwgCisgICAgNDEsIDIwOCwgMjA0LCAyMiwgMjUyLCAxMjIsIDQxLCAyMDgsIDIwNCwgMjIsIDI1MiwgMTM2LCA0MSwgMjA4LCAyMDQsIAorICAgIDEzNSwgMjI3LCAyNDAsIDI0MywgNzUsIDQxLCAyMDgsIDIwNCwgMTM1LCAyMjcsIDI0MCwgMjIzLCAxODUsIDQxLCAyMDgsIAorICAgIDIwNCwgMTM1LCAyMjcsIDI0MCwgMjExLCAyNTMsIDQxLCAyMDgsIDIwNCwgMTM1LCAyMjcsIDI0MCwgMjE0LCAxNzYsIDQxLCAKKyAgICAyMDgsIDIwNCwgMTYsIDIzMSwgMzYsIDQxLCAyMDgsIDIwNCwgMTYsIDIyMywgMTg1LCA0MSwgMjA4LCAyMDQsIDE2LCAyMTcsIAorICAgIDE2MSwgNDEsIDIwOCwgMjA0LCAxNiwgMjM4LCAxNTAsIDIzOCwgMTQ1LCA0MSwgMjA4LCAyMDQsIDE2LCAyMzEsIDQ2LCAKKyAgICAyMzEsIDQ1LCAyMjcsIDEwMSwgMjI3LCAxNjAsIDEsIDc1LCAyMjcsIDEwMSwgMjI3LCAxNjAsIDEsIDc2LCAyMjcsIDEwMSwgCisgICAgMjI3LCAxNjAsIDEsIDI0OCwgMTEwLCAyMjcsIDEwMSwgMjI3LCAxNjAsIDEsIDIyMywgMTQ0LCAyMjcsIDEwMSwgMjI3LCAKKyAgICAxNjAsIDEsIDIxMCwgMjA4LCAyMjcsIDEwMSwgMjI3LCAxNjAsIDEsIDIxMCwgMTk2LCAyMjcsIDEwMSwgMjI3LCAxNjAsIDEsIAorICAgIDI0NiwgNTQsIDIyNywgMTAxLCAyMjcsIDE2MCwgMSwgMjQ2LCAzOCwgMjI3LCAxMDEsIDIyNywgMTYwLCAxLCAyMjQsIDEwMywgCisgICAgMjI3LCAxMDEsIDIyNywgMTYwLCAxLCAyMTYsIDIsIDIyNywgMTAxLCAyMjcsIDE2MCwgMSwgMjE0LCA5NiwgMjI3LCAxMDEsIAorICAgIDIyNywgMTYwLCAyMiwgMywgMjMzLCAxMDIsIDIyNywgMTAxLCAyMjcsIDE2MCwgMjIsIDMsIDIwOSwgMTYyLCAyMjcsIDEwMSwgCisgICAgMjI3LCAxNjAsIDIyLCAzLCAyNTMsIDEyOCwgMjI3LCAxMDEsIDIyNywgMTYwLCAyMiwgMywgMjUxLCAxODQsIDIyNywgMTAxLCAKKyAgICAyMjcsIDE2MCwgMjIsIDMsIDI1MywgMTIxLCAyMjcsIDEwMSwgMjI3LCAxNjAsIDI0OCwgNzQsIDIyNywgMTAxLCAyMjcsIAorICAgIDE2MCwgMjUyLCAyMTAsIDIzMSwgMTMwLCAyMjcsIDEwMSwgMjI3LCAxNjAsIDI1MiwgMTAyLCAyMjcsIDEwMSwgMjI3LCAKKyAgICAxNjAsIDQsIDIxOCwgMjQ5LCA4MywgMjI3LCAxMDEsIDIyNywgMTYwLCAyMDYsIDIzMiwgMjE4LCAyNDksIDgzLCAyMjcsIAorICAgIDEwMSwgMjI3LCAxNjAsIDIyLCAzLCAyMDgsIDE4MywgMjI3LCAxMDEsIDIyNywgMTYwLCAyMDgsIDE4OCwgMzEsIDQsIDIxMCwgCisgICAgMTg5LCAzMSwgNCwgMjEwLCAxOTIsIDMxLCA0LCAyMTAsIDE5NSwgMzEsIDQsIDIxMCwgMTkzLCAzMSwgNCwgMjEwLCAxOTQsIAorICAgIDMxLCA0LCAyMTAsIDE5MSwgMzEsIDQsIDI0NiwgMzIsIDMxLCA0LCAyNDYsIDM0LCAzMSwgNCwgMjQ2LCAzNywgMzEsIDQsIAorICAgIDI0NiwgMzUsIDMxLCA0LCAyNDYsIDM2LCAzMSwgNCwgMjQ2LCAzMywgMzEsIDQsIDI0MywgMTgzLCAzMSwgNCwgMjQzLCAKKyAgICAxODcsIDMxLCA0LCAyNDMsIDE5NSwgMzEsIDQsIDI0MywgMTkyLCAzMSwgNCwgMjQzLCAxOTMsIDMxLCA0LCAyNDMsIDE4NCwgCisgICAgMzEsIDQsIDI0OCwgMTYyLCAzMSwgNCwgMjQ4LCAxNTYsIDMxLCA0LCAyNDgsIDE1OCwgMzEsIDQsIDI0OCwgMTYxLCAzMSwgCisgICAgNCwgMjQ4LCAxNTksIDMxLCA0LCAyNDgsIDE2MCwgMzEsIDQsIDI0OCwgMTU3LCAzMSwgNCwgMjUwLCA5NywgMzEsIDQsIAorICAgIDI1MCwgNzYsIDMxLCA0LCAyNTAsIDg4LCAzMSwgNCwgMjUwLCA5NiwgMzEsIDQsIDI1MCwgOTEsIDMxLCA0LCAyNTAsIDkyLCAKKyAgICAzMSwgNCwgMjUwLCA4MCwgNywgNSwgMSwgMjUwLCAxMjMsIDI1MiwgMTQ0LCA3LCA1LCAxLCAzMiwgMjE4LCAyMjIsIDcsIDUsIAorICAgIDEsIDI0OSwgMTk4LCA3NSwgNywgNSwgMSwgMjUwLCAxMjMsIDc1LCA3LCA1LCAxLCAxNzQsIDIsIDI0MSwgMTc0LCA3LCA1LCAKKyAgICAxLCAyMzAsIDE4LCAyNDIsIDEzOSwgNywgNSwgMSwgMTIxLCAyNDEsIDU2LCAyLCAyNDcsIDU2LCA3LCA1LCAxLCAyMzAsIAorICAgIDE1OSwgMiwgMjMzLCAyLCAyMzAsIDY1LCAxODIsIDcsIDUsIDEsIDIzMCwgMTU5LCAyLCA1MCwgMjI2LCAyNDcsIDIxMSwgCisgICAgMTgwLCA3LCA1LCAxLCAyMzAsIDE1OSwgMiwgMjI2LCAyNDcsIDIxOCwgMTQ4LCA3LCA1LCAxLCAyMjksIDI5LCAyLCAyNDcsIAorICAgIDU2LCA3LCA1LCAxLCAyMjYsIDM0LCAyLCAyNDcsIDU2LCA3LCA1LCAxLCAyNDMsIDI5LCAyLCAyNDcsIDU2LCA3LCA1LCAxLCAKKyAgICAyNDksIDE5OCwgNzYsIDcsIDUsIDEsIDI0OSwgMTk4LCAxNDgsIDIsIDkxLCA3LCA1LCAxLCAyMjIsIDE0MiwgMTQ4LCAyLCAKKyAgICA5MSwgNywgNSwgMSwgMjMzLCAyLCAyMjIsIDIwNiwgNywgNSwgMSwgMjAxLCAyMjIsIDIwNywgMiwgOTEsIDcsIDUsIDEsIAorICAgIDIwMSwgMjIyLCAyMDcsIDIsIDE5NCwgOTEsIDcsIDUsIDEsIDIwMSwgMTQ4LCAyMjIsIDEzOCwgNywgNSwgMSwgMjAxLCAKKyAgICAxNDgsIDIyMiwgMTM5LCAyLCA5MSwgNywgNSwgMSwgMjE0LCAwLCAxMzcsIDcsIDEsIDUsIDYsIDIxOSwgMTUwLCAyLCA0OCwgCisgICAgMjMwLCAzNCwgNywgNSwgMSwgMjE5LCAxNTAsIDIwNiwgMjUzLCAyMzksIDEwNSwgNywgNSwgMSwgNTAsIDEzNywgNywgNSwgCisgICAgMSwgMjE5LCAxNTAsIDIsIDI0NywgNTYsIDcsIDUsIDEsIDUwLCAyMTksIDE1MCwgMiwgMjQ3LCA1NiwgNywgNSwgMSwgMTIxLCAKKyAgICAxMzcsIDcsIDUsIDEsIDEyMSwgMjE5LCAxNTAsIDIsIDIxOCwgMTQ4LCA3LCA1LCAxLCAyNTAsIDExNCwgMjQyLCAyMTUsIDcsIAorICAgIDUsIDEsIDEwNiwgMiwgMjE1LCAxNDQsIDQ4LCAyMzAsIDM0LCA3LCA1LCAxLCAxMDYsIDI1MCwgMTI5LCAyLCAyMTUsIDE0NCwgCisgICAgNDgsIDIzMCwgMzQsIDcsIDUsIDEsIDIwOSwgMjUyLCA3LCA1LCAxLCAyMDEsIDIwOSwgMjUyLCA3LCA1LCAxLCAxMDYsIDIsIAorICAgIDQ3LCAxMDksIDcsIDUsIDEsIDI0OCwgNTgsIDcsIDUsIDEsIDI0OCwgNTksIDIsIDExNCwgNDgsIDIxOCwgMTQ4LCA3LCA1LCAKKyAgICAxLCAyNDgsIDU5LCAyLCAxMTQsIDQ3LCAyMTYsIDM2LCA3LCA1LCAxLCAyMDYsIDE5NiwgMiwgMTE0LCA0OCwgMjE4LCAxNDgsIAorICAgIDcsIDUsIDEsIDIwNiwgMTk2LCAyLCAxNTIsIDQ3LCAyMzAsIDM0LCA3LCA1LCAxLCAyMDYsIDE5NiwgMiwgMTUyLCA0NywgCisgICAgMjMwLCAzNSwgMjMsIDExNCwgNDgsIDIxOCwgMTQ4LCA3LCA1LCAxLCAyMDYsIDE5NiwgMiwgMTUyLCA0NywgMjMwLCAzNSwgCisgICAgMiwgMjE2LCAzNiwgNywgNSwgMSwgMjA2LCAxMjQsIDIsIDIxNSwgMTQ0LCA0OCwgMjMwLCAzNCwgNjUsIDI0OSwgMTIzLCAyLCAKKyAgICAyMzMsIDIsIDI0OSwgMTIyLCA2NSwgMSwgNSwgMjM5LCAzOSwgNjUsIDEsIDUsIDIzMCwgMTU5LCAyLCAyMzMsIDIsIDIzMCwgCisgICAgNjUsIDE4MiwgNjUsIDEsIDUsIDIzMCwgMTU5LCAyLCAyMjYsIDI0NywgMjExLCAxODAsIDY1LCAxLCA1LCAxMDYsIDIsIDQ3LCAKKyAgICAxMDksIDcsIDUsIDEsIDIzMywgMiwgMjUyLCAxNDQsIDI3LCAxLCA1LCA2LCAyMjIsIDE3MCwgMjI3LCAxMDEsIDIyNywgCisgICAgMTYwLCAxLCAyMzEsIDQzLCAyMjcsIDEwMSwgMjI3LCAxNjAsIDEsIDIxNywgMTYxLCAyMjcsIDEwMSwgMjI3LCAxNjAsIDEsIAorICAgIDIzMCwgMTE0LCAyMjcsIDEwMSwgMjI3LCAxNjAsIDEsIDIyNiwgMTkyLCAyMjcsIDEwMSwgMjI3LCAxNjAsIDEsIDE3OSwgCisgICAgMjI3LCAxMDEsIDIyNywgMTYwLCAxLCAxOTksIDIyNywgMTAxLCAyMjcsIDE2MCwgMSwgMjQ4LCA1MCwgMjI3LCAxMDEsIAorICAgIDIyNywgMTYwLCAxLCAyMTEsIDE4MiwgMjI3LCAxMDEsIDIyNywgMTYwLCAxLCAyMzEsIDEzMywgMjI3LCAxMDEsIDIyNywgCisgICAgMTYwLCAxLCAyMjQsIDI0OCwgMjI3LCAxMDEsIDIyNywgMTYwLCAxLCAyMTEsIDI0NSwgMjI3LCAxMDEsIDIyNywgMTYwLCAxLCAKKyAgICAyMDcsIDkwLCAyMjcsIDEwMSwgMjI3LCAxNjAsIDEsIDIwNiwgNzUsIDIyNywgMTAxLCAyMjcsIDE2MCwgMSwgMjM4LCAzNSwgCisgICAgMjI3LCAxMDEsIDIyNywgMTYwLCAxLCAyMDksIDIzNCwgMjI3LCAxMDEsIDIyNywgMTYwLCAxLCA3NCwgMjI3LCAxMDEsIAorICAgIDIyNywgMTYwLCAxLCAyMjEsIDg3LCAyMjcsIDEwMSwgMjI3LCAxNjAsIDEsIDI1MSwgMTk1LCAyMjcsIDEwMSwgMjI3LCAKKyAgICAxNjAsIDEsIDI0MCwgMTIsIDIyNywgMTAxLCAyMjcsIDE2MCwgMSwgMjMyLCAxNjgsIDIyNywgMTAxLCAyMjcsIDE2MCwgMSwgCisgICAgMjE5LCA5MCwgMjI3LCAxMDEsIDIyNywgMTYwLCAxLCAyNTAsIDE4MywgMjI3LCAxMDEsIDIyNywgMTYwLCAxLCAyMzIsIAorICAgIDE1NCwgMjI3LCAxMDEsIDIyNywgMTYwLCAxLCAyNDUsIDEyNiwgMjI3LCAxMDEsIDIyNywgMTYwLCAxLCAyNDAsIDY4LCAKKyAgICAyMjcsIDEwMSwgMjI3LCAxNjAsIDEsIDI0NSwgMTcwLCAyMjcsIDEwMSwgMjI3LCAxNjAsIDEsIDI0OSwgMjU0LCAyMjcsIAorICAgIDEwMSwgMjI3LCAxNjAsIDEsIDIzMSwgNDQsIDIyOSwgMTE2LCAyMjcsIDEwMSwgMjI3LCAxNjAsIDEsIDIzMCwgMTE1LCAKKyAgICAyMjksIDExNiwgMjI3LCAxMDEsIDIyNywgMTYwLCAxLCAyMjYsIDE5MywgMjI5LCAxMTYsIDIyNywgMTAxLCAyMjcsIDE2MCwgCisgICAgMSwgMjIyLCA1MiwgMjI5LCAxMTYsIDIyNywgMTAxLCAyMjcsIDE2MCwgMSwgMjI1LCAyMzcsIDIyOSwgMTE2LCAyMjcsIAorICAgIDEwMSwgMjI3LCAxNjAsIDEsIDIxMSwgMTgzLCAyMjksIDExNiwgMjI3LCAxMDEsIDIyNywgMTYwLCAxLCAyMjQsIDI0OSwgCisgICAgMjI5LCAxMTYsIDIyNywgMTAxLCAyMjcsIDE2MCwgMSwgMjM3LCAyMjUsIDIyOSwgMTE2LCAyMjcsIDEwMSwgMjI3LCAxNjAsIAorICAgIDIyLCAzLCAyMjIsIDE2NCwgMjI3LCAxMDEsIDIyNywgMTYwLCAyMiwgMywgMjMzLCA2NiwgMjI3LCAxMDEsIDIyNywgMTYwLCAKKyAgICAyMiwgMywgMjUyLCAxMjEsIDIyNywgMTAxLCAyMjcsIDE2MCwgMjIsIDMsIDIwNiwgNDEsIDIyNywgMTAxLCAyMjcsIDE2MCwgCisgICAgMjIsIDMsIDIxNCwgMTY2LCAyMjcsIDEwMSwgMjI3LCAxNjAsIDIyLCAzLCAyMDksIDIzMSwgMjI3LCAxMDEsIDIyNywgMTYwLCAKKyAgICAyMiwgMywgMjQ4LCA3MiwgMjI3LCAxMDEsIDIyNywgMTYwLCAyMiwgMywgMjIzLCAxNzAsIDIyNywgMTAxLCAyMjcsIDE2MCwgCisgICAgMjQ4LCA3MywgMjI3LCAxMDEsIDIyNywgMTYwLCAyMjksIDY2LCAyMzIsIDIwOSwgMjI3LCAxMDEsIDIyNywgMTYwLCAyNTIsIAorICAgIDQyLCAyMzIsIDIwOSwgMjI3LCAxMDEsIDIyNywgMTYwLCAxOCwgMjA1LCA4NSwgMjI3LCAxMDEsIDIyNywgMTYwLCAxOCwgCisgICAgMTAyLCAyMjcsIDEwMSwgMjI3LCAxNjAsIDE4LCAxMDUsIDIyNywgMTAxLCAyMjcsIDE2MCwgMTgsIDE0MiwgMjI3LCAxMDEsIAorICAgIDIyNywgMTYwLCAxOCwgMTM5LCAyMjcsIDEwMSwgMjI3LCAxNjAsIDE4LCAxNjgsIDIyNywgMTAxLCAyMjcsIDE2MCwgMTgsIAorICAgIDE4NCwgMjI3LCAxMDEsIDIyNywgMTYwLCAxOCwgMTk1LCAyMjcsIDEwMSwgMjI3LCAxNjAsIDE4LCAxOTMsIDIyNywgMTAxLCAKKyAgICAyMjcsIDE2MCwgMTgsIDIwMCwgMjUsIDE2MiwgMjIzLCA1MSwgMjUsIDE2MiwgMjIzLCA1NiwgMjUsIDE2MiwgMjA1LCAyNDYsIAorICAgIDI1LCAxNjIsIDIwNSwgMjQ1LCAyNSwgMTYyLCAyMDUsIDI0NCwgMjUsIDE2MiwgMjEwLCA2OCwgMjUsIDE2MiwgMjEwLCA3MiwgCisgICAgMjUsIDE2MiwgMjA1LCAyMTEsIDI1LCAxNjIsIDIwNSwgMjA3LCAyNSwgMTYyLCAyNDIsIDE5MSwgMjUsIDE2MiwgMjQyLCAKKyAgICAxODksIDI1LCAxNjIsIDI0MiwgMTkwLCAyNSwgMTYyLCAyNDIsIDE4NywgMjUsIDE2MiwgMjM3LCAyMTUsIDI1LCAxNjIsIAorICAgIDIzNywgMjE0LCAyNSwgMTYyLCAyMzcsIDIxMiwgMjUsIDE2MiwgMjM3LCAyMTMsIDI1LCAxNjIsIDIzNywgMjE4LCAyNSwgCisgICAgMTYyLCAyMzcsIDIxMSwgMjUsIDE2MiwgMjM3LCAyMTAsIDI1LCAxNjIsIDIzNywgMjIwLCAyNSwgMTYyLCAyNTIsIDI5LCAKKyAgICAyNSwgMTYyLCAyNTIsIDI4LCAyNSwgMTAwLCAyMjQsIDIxNiwgMjUsIDEwMCwgMjI0LCAyMjIsIDI1LCAxMDAsIDIxNCwgNzcsIAorICAgIDI1LCAxMDAsIDIxNCwgNzYsIDI1LCAxMDAsIDIxMSwgMTg4LCAyNSwgMTAwLCAyMTEsIDE4NiwgMjUsIDEwMCwgMjExLCAKKyAgICAxODUsIDI1LCAxMDAsIDIxMSwgMTkxLCAyNSwgMTAwLCAyMTEsIDE5MiwgMjUsIDEwMCwgMjExLCAxODQsIDI1LCAxMDAsIAorICAgIDIxOCwgMTc3LCAyNSwgMTAwLCAyMTgsIDE5MiwgMjUsIDEwMCwgMjE0LCA4MywgMjUsIDEwMCwgMjE4LCAxODksIDI1LCAKKyAgICAxMDAsIDIxOCwgMTc5LCAyNSwgMTAwLCAyMTgsIDE4MSwgMjUsIDEwMCwgMjE4LCAxNjgsIDI1LCAxMDAsIDIxOCwgMTY5LCAKKyAgICAyNSwgMTAwLCAyMzIsIDEwLCAyNSwgMTAwLCAyMjYsIDIzNSwgMjUsIDEwMCwgMjI2LCAyMjksIDI1LCAxMDAsIDIxNCwgODcsIAorICAgIDI1LCAxMDAsIDIyNiwgMjMyLCAyNSwgMTAwLCAyMjYsIDIzOCwgMjUsIDEwMCwgMjIxLCAyMCwgMjUsIDEwMCwgMjIxLCAyOSwgCisgICAgMjUsIDEwMCwgMjIxLCAzMywgMjUsIDEwMCwgMjE0LCA4NSwgMjUsIDEwMCwgMjIxLCAyMywgMjUsIDEwMCwgMjIxLCAzNywgCisgICAgMjUsIDEwMCwgMjIxLCAzOCwgMjUsIDEwMCwgMjE1LCAyNSwgMjUsIDEwMCwgMjE1LCAyOCwgMjUsIDEwMCwgMjE0LCA4MSwgCisgICAgMjUsIDEwMCwgMjE0LCA3OSwgMjUsIDEwMCwgMjE1LCAyMywgMjUsIDEwMCwgMjE1LCAzMSwgMjUsIDEwMCwgMjE1LCAzMiwgCisgICAgMjUsIDEwMCwgMjE1LCAxNywgMjUsIDEwMCwgMjE1LCAzMCwgMjUsIDEwMCwgMjIxLCAyNDUsIDI1LCAxMDAsIDIyMSwgMjQ2LCAKKyAgICAyNSwgMTAwLCAyMDYsIDI3LCAyNSwgMTAwLCAyMDYsIDI4LCAyNSwgMTAwLCAyNDcsIDI0NCwgMjUsIDEwMCwgMjQ3LCAyNDMsIAorICAgIDI1LCAxMDAsIDIxNCwgOTIsIDI1LCAxMDAsIDIyMSwgNzMsIDI1LCAxMDAsIDIyMSwgNzIsIDEwLCAxNSwgMjM1LCA5MywgCisgICAgMTAsIDE1LCAyMzUsIDkyLCAxMCwgMTUsIDIzNSwgOTEsIDEwLCAxNSwgMjM1LCA5MCwgMTAsIDE1LCAyMzUsIDg5LCAxMCwgCisgICAgMTUsIDIzNSwgODgsIDEwLCAxNSwgMjM1LCA4NywgMTAsIDE1LCAyMzUsIDg2LCAxMCwgMTUsIDIzNSwgODUsIDEwLCAxNSwgCisgICAgMjM1LCA4NCwgMTAsIDE1LCAyMzUsIDgzLCAxMCwgMTUsIDIzNSwgODIsIDEwLCAxNSwgMjM1LCA4MSwgMTAsIDE1LCAyMzUsIAorICAgIDgwLCAxMCwgMTUsIDIzNSwgNzksIDEwLCAxNSwgMjM1LCA3OCwgMTAsIDE1LCAyMzUsIDc3LCAxMCwgMTUsIDIzNSwgNzYsIAorICAgIDEwLCAxNSwgMjM1LCA3NSwgMTAsIDE1LCAyMzUsIDc0LCAxMCwgMTUsIDIzNSwgNzMsIDEwLCAxNSwgMjM1LCA3MiwgMTAsIAorICAgIDE1LCAyMzUsIDcxLCAxMCwgMTUsIDIzNSwgNzAsIDEwLCAxNSwgMjM1LCA2OSwgMTAsIDE1LCAyMzUsIDY4LCAxMCwgMTUsIAorICAgIDIzNSwgNjcsIDEwLCAxNSwgMjM1LCA2NiwgMTAsIDE1LCAyMzUsIDY1LCAxMCwgMTUsIDIzNSwgNjQsIDEwLCAxNSwgMjM1LCAKKyAgICA2MywgMTAsIDE1LCAyMzUsIDYyLCAxMCwgMTUsIDIzNSwgNjEsIDEwLCAxNSwgMjM1LCA2MCwgMTAsIDE1LCAyMzUsIDU5LCAKKyAgICAxMCwgMTUsIDIzNSwgNTgsIDEwLCAxNSwgMjM1LCA1NywgMTAsIDE1LCAyMzUsIDU2LCAxMCwgMTUsIDIzNSwgNTUsIDEwLCAKKyAgICAxNSwgMjM1LCA1NCwgMTAsIDE1LCAyMzUsIDUzLCAxMCwgMTUsIDIzNSwgNTIsIDEwLCAxNSwgMjM1LCA1MSwgMTAsIDE1LCAKKyAgICAyMzUsIDUwLCAxMCwgMTUsIDIzNSwgNDksIDEwLCAxNSwgMjM1LCA0OCwgMTAsIDE1LCAyMzUsIDQ3LCAxMCwgMTUsIDIzNSwgCisgICAgNDYsIDEwLCAxNSwgMjM1LCA0NSwgMTAsIDE1LCAyMzUsIDQ0LCAxMCwgMTUsIDIzNSwgNDMsIDEwLCAxNSwgMjM1LCA0MiwgCisgICAgMTAsIDE1LCAyMzUsIDQxLCAxMCwgMTUsIDIzNSwgNDAsIDEwLCAxNSwgMjM1LCAzOSwgMTAsIDE1LCAyMzUsIDM4LCAxMCwgCisgICAgMTUsIDIzNSwgMzcsIDEwLCAxNSwgMjM1LCAzNiwgMTAsIDE1LCAyMzUsIDM1LCAxMCwgMTUsIDIzNSwgMzQsIDEwLCAxNSwgCisgICAgMjM1LCAzMywgMTAsIDE1LCAyMzUsIDMyLCAxMCwgMTUsIDIzNSwgMzEsIDEwLCAxNSwgMjM1LCAzMCwgMTAsIDE1LCAyMzUsIAorICAgIDI5LCAxMCwgMTUsIDIzNSwgMjgsIDEwLCAxNSwgMjM1LCAyNywgMTAsIDE1LCAyMzUsIDI2LCAxMCwgMTUsIDIzNSwgMjUsIAorICAgIDEwLCAxNSwgMjM1LCAyNCwgMTAsIDE1LCAyMzUsIDIzLCAxMCwgMTUsIDIzNSwgMjIsIDEwLCAxNSwgMjM1LCAyMSwgMTAsIAorICAgIDE1LCAyMzUsIDIwLCAxMCwgMTUsIDIzNSwgMTksIDEwLCAxNSwgMjM1LCAxOCwgMTAsIDE1LCAyMzUsIDE3LCAxMCwgMTUsIAorICAgIDIzNSwgMTYsIDEwLCAxNSwgMjM1LCAxNSwgMTAsIDE1LCAyMzUsIDE0LCAxMCwgMTUsIDIzNSwgMTMsIDEwLCAxNSwgMjM1LCAKKyAgICAxMiwgMTAsIDE1LCAyMzUsIDExLCAxMCwgMTUsIDIzNSwgMTAsIDEwLCAxNSwgMjM1LCA5LCAxMCwgMTUsIDIzNSwgOCwgMTAsIAorICAgIDE1LCAyMzUsIDcsIDEwLCAxNSwgMjM1LCA2LCAxMCwgMTUsIDIzNSwgNSwgMTAsIDE1LCAyMzUsIDQsIDEwLCAxNSwgMjM1LCAKKyAgICAzLCAxMCwgMTUsIDIzNSwgMiwgMTAsIDE1LCAyMzUsIDEsIDEwLCAxNSwgMjM1LCAwLCAxMCwgMTUsIDIzNCwgMjU1LCAxMCwgCisgICAgMTUsIDIzNCwgMjU0LCAxMCwgMTUsIDIzNCwgMjUzLCAxMCwgMTUsIDIzNCwgMjUyLCAxMCwgMTUsIDIzNCwgMjUxLCAxMCwgCisgICAgMTUsIDIzNCwgMjUwLCAxMCwgMTUsIDIzNCwgMjQ5LCAxMCwgMTUsIDIzNCwgMjQ4LCAxMCwgMTUsIDIzNCwgMjQ3LCAxMCwgCisgICAgMTUsIDIzNCwgMjQ2LCAxMCwgMTUsIDIzNCwgMjQ1LCAxMCwgMTUsIDIzNCwgMjQ0LCAxMCwgMTUsIDIzNCwgMjQzLCAxMCwgCisgICAgMTUsIDIzNCwgMjQyLCAxMCwgMTUsIDIzNCwgMjQxLCAxMCwgMTUsIDIzNCwgMjQwLCAxMCwgMTUsIDIzNCwgMjM5LCAxMCwgCisgICAgMTUsIDIzNCwgMjM4LCAxMCwgMTUsIDIzNCwgMjM3LCAxMCwgMTUsIDIzNCwgMjM2LCAxMCwgMTUsIDIzNCwgMjM1LCAxMCwgCisgICAgMTUsIDIzNCwgMjM0LCAxMCwgMTUsIDIzNCwgMjMzLCAxMCwgMTUsIDIzNCwgMjMyLCAxMCwgMTUsIDIzNCwgMjMxLCAxMCwgCisgICAgMTUsIDIzNCwgMjMwLCAxMCwgMTUsIDIzNCwgMjI5LCAxMCwgMTUsIDIzNCwgMjI4LCAxMCwgMTUsIDIzNCwgMjI3LCAxMCwgCisgICAgMTUsIDIzNCwgMjI2LCAxMCwgMTUsIDIzNCwgMjI1LCAxMCwgMTUsIDIzNCwgMjI0LCAxMCwgMTUsIDIzNCwgMjIzLCAxMCwgCisgICAgMTUsIDIzNCwgMjIyLCAxMCwgMTUsIDIzNCwgMjIxLCAxMCwgMTUsIDIzNCwgMjIwLCAxMCwgMTUsIDIzNCwgMjE5LCAxMCwgCisgICAgMTUsIDIzNCwgMjE4LCAxMCwgMTUsIDIzNCwgMjE3LCAxMCwgMTUsIDIzNCwgMjE2LCAxMCwgMTUsIDIzNCwgMjE1LCAxMCwgCisgICAgMTUsIDIzNCwgMjE0LCAxMCwgMTUsIDIzNCwgMjEzLCAxMCwgMTUsIDIzNCwgMjEyLCAxMCwgMTUsIDIzNCwgMjExLCAxMCwgCisgICAgMTUsIDIzNCwgMjEwLCAxMCwgMTUsIDIzNCwgMjA5LCAxMCwgMTUsIDIzNCwgMjA4LCAxMCwgMTUsIDIzNCwgMjA3LCAxMCwgCisgICAgMTUsIDIzNCwgMjA2LCAxMCwgMTUsIDIzNCwgMjA1LCAxMCwgMTUsIDIzNCwgMjA0LCAxMCwgMTUsIDIzNCwgMjAzLCAxMCwgCisgICAgMTUsIDIzNCwgMjAyLCAxMCwgMTUsIDIzNCwgMjAxLCAxMCwgMTUsIDIzNCwgMjAwLCAxMCwgMTUsIDIzNCwgMTk5LCAxMCwgCisgICAgMTUsIDIzNCwgMTk4LCAxMCwgMTUsIDIzNCwgMTk3LCAxMCwgMTUsIDIzNCwgMTk2LCAxMCwgMTUsIDIzNCwgMTk1LCAxMCwgCisgICAgMTUsIDIzNCwgMTk0LCAxMCwgMTUsIDIzNCwgMTkzLCAxMCwgMTUsIDIzNCwgMTkyLCAxMCwgMTUsIDIzNCwgMTkxLCAxMCwgCisgICAgMTUsIDIzNCwgMTkwLCAxMCwgMTUsIDIzNCwgMTg5LCAxMCwgMTUsIDIzNCwgMTg4LCAxMCwgMTUsIDIzNCwgMTg3LCAxMCwgCisgICAgMTUsIDIzNCwgMTg2LCAxMCwgMTUsIDIzNCwgMTg1LCAxMCwgMTUsIDIzNCwgMTg0LCAxMCwgMTUsIDIzNCwgMTgzLCAxMCwgCisgICAgMTUsIDIzNCwgMTgyLCAxMCwgMTUsIDIzNCwgMTgxLCAxMCwgMTUsIDIzNCwgMTgwLCAxMCwgMTUsIDIzNCwgMTc5LCAxMCwgCisgICAgMTUsIDIzNCwgMTc4LCAxMCwgMTUsIDIzNCwgMTc3LCAxMCwgMTUsIDIzNCwgMTc2LCAxMCwgMTUsIDIzNCwgMTc1LCAxMCwgCisgICAgMTUsIDIzNCwgMTc0LCAxMCwgMTUsIDIzNCwgMTczLCAxMCwgMTUsIDIzNCwgMTcyLCAxMCwgMTUsIDIzNCwgMTcxLCAxMCwgCisgICAgMTUsIDIzNCwgMTcwLCAxMCwgMTUsIDIzNCwgMTY5LCAxMCwgMTUsIDIzNCwgMTY4LCAxMCwgMTUsIDIzNCwgMTY3LCAxMCwgCisgICAgMTUsIDIzNCwgMTY2LCAxMCwgMTUsIDIzNCwgMTY1LCAxMCwgMTUsIDIzNCwgMTY0LCAxMCwgMTUsIDIzNCwgMTYzLCAxMCwgCisgICAgMTUsIDIzNCwgMTYyLCAxMCwgMTUsIDIzNCwgMTYxLCAxMCwgMTUsIDIzNCwgMTYwLCAxMCwgMTUsIDIzNCwgMTU5LCAxMCwgCisgICAgMTUsIDIzNCwgMTU4LCAxMCwgMTUsIDIzNCwgMTU3LCAxMCwgMTUsIDIzNCwgMTU2LCAxMCwgMTUsIDIzNCwgMTU1LCAxMCwgCisgICAgMTUsIDIzNCwgMTU0LCAxMCwgMTUsIDIzNCwgMTUzLCAxMCwgMTUsIDIzNCwgMTUyLCAxMCwgMTUsIDIzNCwgMTUxLCAxMCwgCisgICAgMTUsIDIzNCwgMTUwLCAxMCwgMTUsIDIzNCwgMTQ5LCAxMCwgMTUsIDIzNCwgMTQ4LCAxMCwgMTUsIDIzNCwgMTQ3LCAxMCwgCisgICAgMTUsIDIzNCwgMTQ2LCAxMCwgMTUsIDIzNCwgMTQ1LCAxMCwgMTUsIDIzNCwgMTQ0LCAxMCwgMTUsIDIzNCwgMTQzLCAxMCwgCisgICAgMTUsIDIzNCwgMTQyLCAxMCwgMTUsIDIzNCwgMTQxLCAxMCwgMTUsIDIzNCwgMTQwLCAxMCwgMTUsIDIzNCwgMTM5LCAxMCwgCisgICAgMTUsIDIzNCwgMTM4LCAxMCwgMTUsIDIzNCwgMTM3LCAxMCwgMTUsIDIzNCwgMTM2LCAxMCwgMTUsIDIzNCwgMTM1LCAxMCwgCisgICAgMTUsIDIzNCwgMTM0LCAxMCwgMTUsIDIzNCwgMTMzLCAxMCwgMTUsIDIzNCwgMTMyLCAxMCwgMTUsIDIzNCwgMTMxLCAxMCwgCisgICAgMTUsIDIzNCwgMTMwLCAxMCwgMTUsIDIzNCwgMTI5LCAxMCwgMTUsIDIzNCwgMTI4LCAxMCwgMTUsIDIzNCwgMTI3LCAxMCwgCisgICAgMTUsIDIzNCwgMTI2LCAxMCwgMTUsIDIzNCwgMTI1LCAxMCwgMTUsIDIzNCwgMTI0LCAxMCwgMTUsIDIzNCwgMTIzLCAxMCwgCisgICAgMTUsIDIzNCwgMTIyLCAxMCwgMTUsIDIzNCwgMTIxLCAxMCwgMTUsIDIzNCwgMTIwLCAxMCwgMTUsIDIzNCwgMTE5LCAxMCwgCisgICAgMTUsIDIzNCwgMTE4LCAxMCwgMTUsIDIzNCwgMTE3LCAxMCwgMTUsIDIzNCwgMTE2LCAxMCwgMTUsIDIzNCwgMTE1LCAxMCwgCisgICAgMTUsIDIzNCwgMTE0LCAxMCwgMTUsIDIzNCwgMTEzLCAxMCwgMTUsIDIzNCwgMTEyLCAxMCwgMTUsIDIzNCwgMTExLCAxMCwgCisgICAgMTUsIDIzNCwgMTEwLCAxMCwgMTUsIDIzNCwgMTA5LCAxMCwgMTUsIDIzNCwgMTA4LCAxMCwgMTUsIDIzNCwgMTA3LCAxMCwgCisgICAgMTUsIDIzNCwgMTA2LCAxMCwgMTUsIDIzNCwgMTA1LCAxMCwgMTUsIDIzNCwgMTA0LCAxMCwgMTUsIDIzNCwgMTAzLCAxMCwgCisgICAgMTUsIDIzNCwgMTAyLCAxMCwgMTUsIDIzNCwgMTAxLCAxMCwgMTUsIDIzNCwgMTAwLCAxMCwgMTUsIDIzNCwgOTksIDEwLCAKKyAgICAxNSwgMjM0LCA5OCwgMTAsIDE1LCAyMzQsIDk3LCAxMCwgMTUsIDIzNCwgOTYsIDEwLCAxNSwgMjM0LCA5NSwgMTAsIDE1LCAKKyAgICAyMzQsIDk0LCAxMCwgMTUsIDIzNCwgOTMsIDEwLCAxNSwgMjM0LCA5MiwgMTAsIDE1LCAyMzQsIDkxLCAxMCwgMTUsIDIzNCwgCisgICAgOTAsIDEwLCAxNSwgMjM0LCA4OSwgMTAsIDE1LCAyMzQsIDg4LCAxMCwgMTUsIDIzNCwgODcsIDEwLCAxNSwgMjM0LCA4NiwgCisgICAgMTAsIDE1LCAyMzQsIDg1LCAxMCwgMTUsIDIzNCwgODQsIDEwLCAxNSwgMjM0LCA4MywgMTAsIDE1LCAyMzQsIDgyLCAxMCwgCisgICAgMTUsIDIzNCwgODEsIDEwLCAxNSwgMjM0LCA4MCwgMTAsIDE1LCAyMzQsIDc5LCAxMCwgMTUsIDIzNCwgNzgsIDEwLCAxNSwgCisgICAgMjM0LCA3NywgMTAsIDE1LCAyMzQsIDc2LCAxMCwgMTUsIDIzNCwgNzUsIDEwLCAxNSwgMjM0LCA3NCwgMTAsIDE1LCAyMzQsIAorICAgIDczLCAxMCwgMTUsIDIzNCwgNzIsIDEwLCAxNSwgMjM0LCA3MSwgMTAsIDE1LCAyMzQsIDcwLCAxMCwgMTUsIDIzNCwgNjksIAorICAgIDEwLCAxNSwgMjM0LCA2OCwgMTAsIDE1LCAyMzQsIDY3LCAxMCwgMTUsIDIzNCwgNjYsIDEwLCAxNSwgMjM0LCA2NSwgMTAsIAorICAgIDE1LCAyMzQsIDY0LCAxMCwgMTUsIDIzNCwgNjMsIDEwLCAxNSwgMjM0LCA2MiwgMTAsIDE1LCAyMzQsIDYxLCAxMCwgMTUsIAorICAgIDIzNCwgNjAsIDEwLCAxNSwgMjM0LCA1OSwgMTAsIDE1LCAyMzQsIDU4LCAxMCwgMTUsIDIzNCwgNTcsIDEwLCAxNSwgMjM0LCAKKyAgICA1NiwgMTAsIDE1LCAyMzQsIDU1LCAxMCwgMTUsIDIzNCwgNTQsIDEwLCAxNSwgMjM0LCA1MywgMTAsIDE1LCAyMzQsIDUyLCAKKyAgICAxMCwgMTUsIDIzNCwgNTEsIDEwLCAxNSwgMjM0LCA1MCwgMTAsIDE1LCAyMzQsIDQ5LCAxMCwgMTUsIDIzNCwgNDgsIDEwLCAKKyAgICAxNSwgMjM0LCA0NywgMTAsIDE1LCAyMzQsIDQ2LCAxMCwgMTUsIDIzNCwgNDUsIDEwLCAxNSwgMjM0LCA0NCwgMTAsIDE1LCAKKyAgICAyMzQsIDQzLCAxMCwgMTUsIDIzNCwgNDIsIDEwLCAxNSwgMjM0LCA0MSwgMTAsIDE1LCAyMzQsIDQwLCAxMCwgMTUsIDIzNCwgCisgICAgMzksIDEwLCAxNSwgMjM0LCAzOCwgMTAsIDE1LCAyMzQsIDM3LCAxMCwgMTUsIDIzNCwgMzYsIDEwLCAxNSwgMjM0LCAzNSwgCisgICAgMTAsIDE1LCAyMzQsIDM0LCAxMCwgMTUsIDIzNCwgMzMsIDEwLCAxNSwgMjM0LCAzMiwgMTAsIDE1LCAyMzQsIDMxLCAxMCwgCisgICAgMTUsIDIzNCwgMzAsIDEwLCAxNSwgMjM0LCAyOSwgMTAsIDE1LCAyMzQsIDI4LCAxMCwgMTUsIDIzNCwgMjcsIDEwLCAxNSwgCisgICAgMjM0LCAyNiwgMTAsIDE1LCAyMzQsIDI1LCAxMCwgMTUsIDIzNCwgMjQsIDEwLCAxNSwgMjM0LCAyMywgMTAsIDE1LCAyMzQsIAorICAgIDIyLCAxMCwgMTUsIDIzNCwgMjEsIDEwLCAxNSwgMjM0LCAyMCwgMTAsIDE1LCAyMzQsIDE5LCAxMCwgMTUsIDIzNCwgMTgsIAorICAgIDEwLCAxNSwgMjM0LCAxNywgMTAsIDE1LCAyMzQsIDE2LCAxMCwgMTUsIDIzNCwgMTUsIDEwLCAxNSwgMjM0LCAxNCwgMTAsIAorICAgIDE1LCAyMzQsIDEzLCAxMCwgMTUsIDIzNCwgMTIsIDEwLCAxNSwgMjM0LCAxMSwgMTAsIDE1LCAyMzQsIDEwLCAxMCwgMTUsIAorICAgIDIzNCwgOSwgMTAsIDE1LCAyMzQsIDgsIDEwLCAxNSwgMjM0LCA3LCAxMCwgMTUsIDIzNCwgNiwgMTAsIDE1LCAyMzQsIDUsIAorICAgIDEwLCAxNSwgMjM0LCA0LCAxMCwgMTUsIDIzNCwgMywgMTAsIDE1LCAyMzQsIDIsIDEwLCAxNSwgMjM0LCAxLCAxMCwgMTUsIAorICAgIDIzNCwgMCwgMTAsIDE1LCAyMzMsIDI1NSwgMTAsIDE1LCAyMzMsIDI1NCwgMTAsIDE1LCAyMzMsIDI1MywgMTAsIDE1LCAKKyAgICAyMzMsIDI1MiwgMTAsIDE1LCAyMzMsIDI1MSwgMTAsIDE1LCAyMzMsIDI1MCwgMTAsIDE1LCAyMzMsIDI0OSwgMTAsIDE1LCAKKyAgICAyMzMsIDI0OCwgMTAsIDE1LCAyMzMsIDI0NywgMTAsIDE1LCAyMzMsIDI0NiwgMTAsIDE1LCAyMzMsIDI0NSwgMTAsIDE1LCAKKyAgICAyMzMsIDI0NCwgMTAsIDE1LCAyMzMsIDI0MywgMTAsIDE1LCAyMzMsIDI0MiwgMTAsIDE1LCAyMzMsIDI0MSwgMTAsIDE1LCAKKyAgICAyMzMsIDI0MCwgMTAsIDE1LCAyMzMsIDIzOSwgMTAsIDE1LCAyMzMsIDIzOCwgMTAsIDE1LCAyMzMsIDIzNywgMTAsIDE1LCAKKyAgICAyMzMsIDIzNiwgMTAsIDE1LCAyMzMsIDIzNSwgMTAsIDE1LCAyMzMsIDIzNCwgMTAsIDE1LCAyMzMsIDIzMywgMTAsIDE1LCAKKyAgICAyMzMsIDIzMiwgMTAsIDE1LCAyMzMsIDIzMSwgMTAsIDE1LCAyMzMsIDIzMCwgMTAsIDE1LCAyMzMsIDIyOSwgMTAsIDE1LCAKKyAgICAyMzMsIDIyOCwgMTAsIDE1LCAyMzMsIDIyNywgMTAsIDE1LCAyMzMsIDIyNiwgMTAsIDE1LCAyMzMsIDIyNSwgMTAsIDE1LCAKKyAgICAyMzMsIDIyNCwgMTAsIDE1LCAyMzMsIDIyMywgMTAsIDE1LCAyMzMsIDIyMiwgMTAsIDE1LCAyMzMsIDIyMSwgMTAsIDE1LCAKKyAgICAyMzMsIDIyMCwgMTAsIDE1LCAyMzMsIDIxOSwgMTAsIDE1LCAyMzMsIDIxOCwgMTAsIDE1LCAyMzMsIDIxNywgMTAsIDE1LCAKKyAgICAyMzMsIDIxNiwgMTAsIDE1LCAyMzMsIDIxNSwgMTAsIDE1LCAyMzMsIDIxNCwgMTAsIDE1LCAyMzMsIDIxMywgMTAsIDE1LCAKKyAgICAyMzMsIDIxMiwgMTAsIDE1LCAyMzMsIDIxMSwgMTAsIDE1LCAyMzMsIDIxMCwgMTAsIDE1LCAyMzMsIDIwOSwgMTAsIDE1LCAKKyAgICAyMzMsIDIwOCwgMTAsIDE1LCAyMzMsIDIwNywgMTAsIDE1LCAyMzMsIDIwNiwgMTAsIDE1LCAyMzMsIDIwNSwgMTAsIDE1LCAKKyAgICAyMzMsIDIwNCwgMTAsIDE1LCAyMzMsIDIwMywgMTAsIDE1LCAyMzMsIDIwMiwgMTAsIDE1LCAyMzMsIDIwMSwgMTAsIDE1LCAKKyAgICAyMzMsIDIwMCwgMTAsIDE1LCAyMzMsIDE5OSwgMTAsIDE1LCAyMzMsIDE5OCwgMTAsIDE1LCAyMzMsIDE5NywgMTAsIDE1LCAKKyAgICAyMzMsIDE5NiwgMTAsIDE1LCAyMzMsIDE5NSwgMTAsIDE1LCAyMzMsIDE5NCwgMTAsIDE1LCAyMzMsIDE5MywgMTAsIDE1LCAKKyAgICAyMzMsIDE5MiwgMTAsIDE1LCAyMzMsIDE5MSwgMTAsIDE1LCAyMzMsIDE5MCwgMTAsIDE1LCAyMzMsIDE4OSwgMTAsIDE1LCAKKyAgICAyMzMsIDE4OCwgMTAsIDE1LCAyMzMsIDE4NywgMTAsIDE1LCAyMzMsIDE4NiwgMTAsIDE1LCAyMzMsIDE4NSwgMTAsIDE1LCAKKyAgICAyMzMsIDE4NCwgMTAsIDE1LCAyMzMsIDE4MywgMTAsIDE1LCAyMzMsIDE4MiwgMTAsIDE1LCAyMzMsIDE4MSwgMTAsIDE1LCAKKyAgICAyMzMsIDE4MCwgMTAsIDE1LCAyMzMsIDE3OSwgMTAsIDE1LCAyMzMsIDE3OCwgMTAsIDE1LCAyMzMsIDE3NywgMTAsIDE1LCAKKyAgICAyMzMsIDE3NiwgMTAsIDE1LCAyMzMsIDE3NSwgMTAsIDE1LCAyMzMsIDE3NCwgMTAsIDE1LCAyMzMsIDE3MywgMTAsIDE1LCAKKyAgICAyMzMsIDE3MiwgMTAsIDE1LCAyMzMsIDE3MSwgMTAsIDE1LCAyMzMsIDE3MCwgMTAsIDE1LCAyMzMsIDE2OSwgMTAsIDE1LCAKKyAgICAyMzMsIDE2OCwgMTAsIDE1LCAyMzMsIDE2NywgMTAsIDE1LCAyMzMsIDE2NiwgMTAsIDE1LCAyMzMsIDE2NSwgMTAsIDE1LCAKKyAgICAyMzMsIDE2NCwgMTAsIDE1LCAyMzMsIDE2MywgMTAsIDE1LCAyMzMsIDE2MiwgMTAsIDE1LCAyMzMsIDE2MSwgMTAsIDE1LCAKKyAgICAyMzMsIDE2MCwgMTAsIDE1LCAyMzMsIDE1OSwgMTAsIDE1LCAyMzMsIDE1OCwgMTAsIDE1LCAyMzMsIDE1NywgMTAsIDE1LCAKKyAgICAyMzMsIDE1NiwgMTAsIDE1LCAyMzMsIDE1NSwgMTAsIDE1LCAyMzMsIDE1NCwgMTAsIDE1LCAyMzMsIDE1MywgMTAsIDE1LCAKKyAgICAyMzMsIDE1MiwgMTAsIDE1LCAyMzMsIDE1MSwgMTAsIDE1LCAyMzMsIDE1MCwgMTAsIDE1LCAyMzMsIDE0OSwgMTAsIDE1LCAKKyAgICAyMzMsIDE0OCwgMTAsIDE1LCAyMzMsIDE0NywgMTAsIDE1LCAyMzMsIDE0NiwgMTAsIDE1LCAyMzMsIDE0NSwgMTAsIDE1LCAKKyAgICAyMzMsIDE0NCwgMTAsIDE1LCAyMzMsIDE0MywgMTAsIDE1LCAyMzMsIDE0MiwgMTAsIDE1LCAyMzMsIDE0MSwgMTAsIDE1LCAKKyAgICAyMzMsIDE0MCwgMTAsIDE1LCAyMzMsIDEzOSwgMTAsIDE1LCAyMzMsIDEzOCwgMTAsIDE1LCAyMzMsIDEzNywgMTAsIDE1LCAKKyAgICAyMzMsIDEzNiwgMTAsIDE1LCAyMzMsIDEzNSwgMTAsIDE1LCAyMzMsIDEzNCwgNywgNSwgMjgsIDI0MSwgMjU0LCA3LCA1LCAKKyAgICAyOCwgMjQxLCAyNTAsIDcsIDUsIDI4LCAyNDEsIDE5OSwgNywgNSwgMjgsIDI0MSwgMjUzLCA3LCA1LCAyOCwgMjQxLCAyNTIsIAorICAgIDcsIDUsIDI4LCAxNTIsIDIxOCwgMSwgMjEzLCAxMCwgNywgNSwgMjgsIDIxNCwgNDAsIDE2NCwgNSwgMjgsIDIyNywgODQsIAorICAgIDIyNCwgMjksIDE2NCwgNSwgMjgsIDIyNywgODQsIDI0MywgMTA4LCAxNjQsIDUsIDI4LCAyMjcsIDg0LCAyMzMsIDM4LCAKKyAgICAxNjQsIDUsIDI4LCAyMDgsIDIxOSwgMjI0LCAyOSwgMTY0LCA1LCAyOCwgMjI3LCA4NCwgMjA2LCAxNzMsIDEwMywgMSwgCisgICAgMjA1LCAyMzcsIDIsIDIzOCwgMjQ0LCAxMDMsIDIyMCwgMjA1LCAyMzIsIDEwMywgMjA5LCA1MSwgMTAzLCAyOCwgMjA2LCA5LCAKKyAgICAyMDUsIDIzNywgMjA1LCAyMzcsIDIyMSwgMTk0LCAxMDMsIDEsIDI1MiwgMTM5LCAyNTEsIDE1NCwgMTAzLCAxLCAyMDcsIAorICAgIDE3LCAyNTIsIDE3MiwgMTAzLCAxLCAyMDcsIDE3LCAyNDYsIDExMSwgMTAzLCAxLCAyMDcsIDE3LCAyMzksIDcxLCAxMDMsIAorICAgIDEsIDIwNywgMTcsIDIzMiwgNDUsIDEwMywgMSwgMjA3LCAxNywgMjMwLCA5OCwgMTAzLCAxLCAyMDcsIDE3LCA0MiwgMjI3LCAKKyAgICA5MCwgMTAzLCAxLCAyMDcsIDE3LCAyMTgsIDI0MiwgMTAzLCAxLCAyMDcsIDE3LCAyMTIsIDE0NywgMTAzLCAxLCAyNTIsIAorICAgIDEzOSwgMTAxLCA1MywgMTAzLCAxLCAyMTUsIDE3MiwgMiwgMjE1LCAxNzIsIDI0NSwgMjMsIDEwMywgMSwgMjE1LCAxNzIsIAorICAgIDIsIDIxNSwgNDUsIDI0NSwgMjMsIDEwMywgMSwgMjE1LCAxNzIsIDIsIDI0NiwgMTMxLCAyMywgMjE1LCAxNzIsIDI0NSwgCisgICAgMjMsIDEwMywgMSwgMjE1LCAxNzIsIDIsIDI0NiwgMTMxLCAyMywgMjE1LCA0NSwgMjQ1LCAyMywgMTAzLCAxLCAxMjYsIDIsIAorICAgIDIyMSwgMTk0LCAxMDMsIDEsIDEyNiwgMiwgMjIwLCA3LCAxMDMsIDEsIDEyNiwgMiwgMjI3LCAyMDQsIDEwMywgMSwgMjUwLCAKKyAgICAxMSwgMiwgMjQ2LCAxMzAsIDEwMywgMSwgMjQwLCA0OCwgMiwgMjQ2LCAxMzAsIDEwMywgMSwgMjQ2LCAxMTIsIDIsIDI0NiwgCisgICAgMTMwLCAxMDMsIDEsIDIzOSwgNzIsIDIsIDIyNywgMjA0LCAxMDMsIDEsIDIwOSwgNDQsIDIsIDI0NiwgMTMwLCAxMDMsIDEsIAorICAgIDIwNSwgOTcsIDIsIDI0NiwgMTMwLCAxMDMsIDEsIDIxMiwgODEsIDIsIDI0NiwgMTMwLCAxMDMsIDEsIDIwNSwgMjM3LCAyLCAKKyAgICAyNDYsIDEzMCwgMTAzLCAxLCA0MiwgMjMyLCA0NiwgMiwgMjQ2LCAxMzAsIDEwMywgMSwgMjMyLCA0NiwgMiwgMjQ2LCAxMzAsIAorICAgIDEwMywgMSwgMjMwLCA5OSwgMiwgMjQ2LCAxMzAsIDEwMywgMSwgMjI3LCA5MSwgMiwgMjQ2LCAxMzAsIDEwMywgMSwgMjIzLCAKKyAgICAxNzQsIDIsIDI0NiwgMTMwLCAxMDMsIDEsIDIxNywgMTU4LCAyLCAyNDYsIDEzMCwgMTAzLCAxLCA0MiwgMjIxLCAxNzUsIDIsIAorICAgIDI0NiwgMTMwLCAxMDMsIDEsIDIyMSwgMTc1LCAyLCAyNDYsIDEzMCwgMTAzLCAxLCAyMTAsIDIzOSwgMiwgMjQ2LCAxMzAsIAorICAgIDEwMywgMSwgMjE5LCAyMjQsIDIsIDI0NiwgMTMwLCAxMDMsIDEsIDIxOCwgMjQzLCAyLCAyNDYsIDEzMCwgMTAzLCAxLCAKKyAgICAyMTUsIDE3MiwgMiwgMjQ2LCAxMzAsIDEwMywgMSwgMjEyLCAxNDgsIDIsIDI0NiwgMTMwLCAxMDMsIDEsIDIwOSwgNDQsIDIsIAorICAgIDIzOCwgMTQyLCAxMDMsIDEsIDI1MCwgMTEsIDIsIDIxOSwgOTMsIDEwMywgMSwgMjMyLCA0NiwgMiwgMjE5LCA5MywgMTAzLCAKKyAgICAxLCAyMjEsIDE3NSwgMiwgMjE5LCA5MywgMTAzLCAyOCwgMTI2LCAyMzAsIDk4LCA4LCAxLCAxMjYsIDIwNywgNzcsIDYxLCAKKyAgICAxNywgOCwgMSwgMTI2LCAyMDcsIDc3LCA0MiwgMTcsIDgsIDEsIDI1MCwgNDksIDYxLCAxNywgOCwgMSwgMjUwLCA0OSwgNDIsIAorICAgIDE3LCA4LCAxLCAyNTAsIDQ5LCA3OCwgMTcsIDgsIDEsIDI1MCwgNDksIDE2OSwgMTcsIDgsIDEsIDIyMSwgMTU4LCA2MSwgCisgICAgMTcsIDgsIDEsIDIyMSwgMTU4LCA0MiwgMTcsIDgsIDEsIDIyMSwgMTU4LCA3OCwgMTcsIDgsIDEsIDIyMSwgMTU4LCAxNjksIAorICAgIDE3LCA4LCAxLCAyNTAsIDM3LCA2MSwgMTcsIDgsIDEsIDI1MCwgMzcsIDQyLCAxNywgOCwgMSwgMjUwLCAzNywgNzgsIDE3LCAKKyAgICA4LCAxLCAyNTAsIDM3LCAxNjksIDE3LCA4LCAxLCAyMTAsIDE5OSwgNjEsIDE3LCA4LCAxLCAyMTAsIDE5OSwgNDIsIDE3LCAKKyAgICA4LCAxLCAyMTAsIDE5OSwgNzgsIDE3LCA4LCAxLCAyMTAsIDE5OSwgMTY5LCAxNywgOCwgMSwgMjEyLCAxMTQsIDYxLCAxNywgCisgICAgOCwgMSwgMjEyLCAxMTQsIDQyLCAxNywgOCwgMSwgMjEyLCAxMTQsIDc4LCAxNywgOCwgMSwgMjEyLCAxMTQsIDE2OSwgMTcsIAorICAgIDgsIDEsIDIxMCwgMjAxLCA2MSwgMTcsIDgsIDEsIDIxMCwgMjAxLCA0MiwgMTcsIDgsIDEsIDIxMCwgMjAxLCA3OCwgMTcsIAorICAgIDgsIDEsIDIxMCwgMjAxLCAxNjksIDE3LCA4LCAxLCAyMDksIDMzLCA2MSwgMTcsIDgsIDEsIDIwOSwgMzMsIDQyLCAxNywgOCwgCisgICAgMSwgMjA5LCAzMywgNzgsIDE3LCA4LCAxLCAyMDksIDMzLCAxNjksIDE3LCA4LCAxLCAyMjEsIDE1NiwgNjEsIDE3LCA4LCAxLCAKKyAgICAyMjEsIDE1NiwgNDIsIDE3LCA4LCAxLCAyMjEsIDE1NiwgNzgsIDE3LCA4LCAxLCAyMjEsIDE1NiwgMTY5LCAxNywgOCwgMSwgCisgICAgMjQzLCAyMDIsIDYxLCAxNywgOCwgMSwgMjQzLCAyMDIsIDQyLCAxNywgOCwgMSwgMjQzLCAyMDIsIDc4LCAxNywgOCwgMSwgCisgICAgMjQzLCAyMDIsIDE2OSwgMTcsIDgsIDEsIDIyMywgMTMyLCA2MSwgMTcsIDgsIDEsIDIyMywgMTMyLCA0MiwgMTcsIDgsIDEsIAorICAgIDIyMywgMTMyLCA3OCwgMTcsIDgsIDEsIDIyMywgMTMyLCAxNjksIDE3LCA4LCAxLCAyMTIsIDEzNiwgNjEsIDE3LCA4LCAxLCAKKyAgICAyMTIsIDEzNiwgNDIsIDE3LCA4LCAxLCAyMTIsIDEzNiwgNzgsIDE3LCA4LCAxLCAyMTIsIDEzNiwgMTY5LCAxNywgOCwgMSwgCisgICAgMjEyLCAxMzQsIDYxLCAxNywgOCwgMSwgMjEyLCAxMzQsIDQyLCAxNywgOCwgMSwgMjEyLCAxMzQsIDc4LCAxNywgOCwgMSwgCisgICAgMjEyLCAxMzQsIDE2OSwgMTcsIDgsIDEsIDI0NiwgNTIsIDYxLCAxNywgOCwgMSwgMjQ2LCA1MiwgNDIsIDE3LCA4LCAxLCAKKyAgICAyNDYsIDEyNSwgNjEsIDE3LCA4LCAxLCAyNDYsIDEyNSwgNDIsIDE3LCA4LCAxLCAyNDMsIDIzMCwgNjEsIDE3LCA4LCAxLCAKKyAgICAyNDMsIDIzMCwgNDIsIDE3LCA4LCAxLCAyNDYsIDUwLCA2MSwgMTcsIDgsIDEsIDI0NiwgNTAsIDQyLCAxNywgOCwgMSwgCisgICAgMjMyLCAxNzcsIDYxLCAxNywgOCwgMSwgMjMyLCAxNzcsIDQyLCAxNywgOCwgMSwgMjE4LCA4MiwgNjEsIDE3LCA4LCAxLCAKKyAgICAyMTgsIDgyLCA0MiwgMTcsIDgsIDEsIDIzMSwgMjEzLCA2MSwgMTcsIDgsIDEsIDIzMSwgMjEzLCA0MiwgMTcsIDgsIDEsIAorICAgIDIzMSwgMjEzLCA3OCwgMTcsIDgsIDEsIDIzMSwgMjEzLCAxNjksIDE3LCA4LCAxLCAyNDAsIDIzMiwgNjEsIDE3LCA4LCAxLCAKKyAgICAyNDAsIDIzMiwgNDIsIDE3LCA4LCAxLCAyNDAsIDIzMiwgNzgsIDE3LCA4LCAxLCAyNDAsIDIzMiwgMTY5LCAxNywgOCwgMSwgCisgICAgMjM5LCAyMDEsIDYxLCAxNywgOCwgMSwgMjM5LCAyMDEsIDQyLCAxNywgOCwgMSwgMjM5LCAyMDEsIDc4LCAxNywgOCwgMSwgCisgICAgMjM5LCAyMDEsIDE2OSwgMTcsIDgsIDEsIDIyNSwgMSwgNjEsIDE3LCA4LCAxLCAyMjUsIDEsIDQyLCAxNywgOCwgMSwgMjI1LCAKKyAgICAxLCA3OCwgMTcsIDgsIDEsIDIyNSwgMSwgMTY5LCAxNywgOCwgMSwgMjI0LCA1NSwgMjQwLCA2NiwgNjEsIDE3LCA4LCAxLCAKKyAgICAyMjQsIDU1LCAyNDAsIDY2LCA0MiwgMTcsIDgsIDEsIDIxOCwgMTI4LCA2MSwgMTcsIDgsIDEsIDIxOCwgMTI4LCA0MiwgMTcsIAorICAgIDgsIDEsIDIxOCwgMTI4LCA3OCwgMTcsIDgsIDEsIDIxOCwgMTI4LCAxNjksIDE3LCA4LCAxLCAyMzksIDUxLCAyLCA4NywgCisgICAgODQsIDYxLCAxNywgOCwgMSwgMjM5LCA1MSwgMiwgODcsIDg0LCA0MiwgMTcsIDgsIDEsIDIzOSwgNTEsIDI0MCwgMTcsIDYxLCAKKyAgICAxNywgOCwgMSwgMjM5LCA1MSwgMjQwLCAxNywgNDIsIDE3LCA4LCAxLCAyMzksIDUxLCAyNDAsIDE3LCA3OCwgMTcsIDgsIDEsIAorICAgIDIzOSwgNTEsIDI0MCwgMTcsIDE2OSwgMTcsIDgsIDEsIDIzOSwgNTEsIDI0NSwgNDgsIDYxLCAxNywgOCwgMSwgMjM5LCA1MSwgCisgICAgMjQ1LCA0OCwgNDIsIDE3LCA4LCAxLCAyMzksIDUxLCAyNDUsIDQ4LCA3OCwgMTcsIDgsIDEsIDIzOSwgNTEsIDI0NSwgNDgsIAorICAgIDE2OSwgMTcsIDgsIDEsIDg3LCAyNTAsIDEyMiwgNjEsIDE3LCA4LCAxLCA4NywgMjUwLCAxMjIsIDQyLCAxNywgOCwgMSwgCisgICAgODcsIDI1MCwgMTIyLCAyLCAyMzksIDExMiwgODQsIDYxLCAxNywgOCwgMSwgODcsIDI1MCwgMTIyLCAyLCAyMzksIDExMiwgCisgICAgODQsIDQyLCAxNywgOCwgMTYsIDY3LCA1MiwgOCwgMTYsIDY3LCA1NSwgOCwgMTYsIDExOCwgMTc3LCA1MiwgOCwgMTYsIAorICAgIDExOCwgMTc3LCA1NSwgOCwgMTYsIDEyOSwgMTc3LCA1MiwgOCwgMTYsIDEyOSwgMTc3LCA1NSwgOCwgMTYsIDEyOSwgMTc3LCAKKyAgICAyMjAsIDIwMSwgMTczLCA1MiwgOCwgMTYsIDEyOSwgMTc3LCAyMjAsIDIwMSwgMTczLCA1NSwgOCwgMTYsIDI0MSwgMTI1LCAKKyAgICAxNzcsIDUyLCA4LCAxNiwgMjQxLCAxMjUsIDE3NywgNTUsIDgsIDE2LCA1MCwgNzksIDI1MCwgMTI5LCA1NSwgOCwgMTYsIAorICAgIDExOCwgMTc3LCAyMDgsIDIyOCwgNTIsIDgsIDE2LCAxMTgsIDE3NywgMjA4LCAyMjgsIDU1LCA4LCAxNiwgMjE4LCAxNDgsIAorICAgIDgsIDE2LCA1LCAyMTIsIDE5NSwgNTIsIDgsIDE2LCA1LCAyMTIsIDE5NSwgNTUsIDgsIDEsIDIyNSwgODAsIDYxLCAxNywgOCwgCisgICAgMSwgMjI1LCA4MCwgNDIsIDE3LCA4LCAxLCAyMjUsIDgwLCA3OCwgMTcsIDgsIDEsIDIyNSwgODAsIDE2OSwgMTcsIDgsIDEsIAorICAgIDEwNiwgNjEsIDE3LCA4LCAxLCAxMDYsIDQyLCAxNywgOCwgMSwgMjIyLCAyMDcsIDYxLCAxNywgOCwgMSwgMjIyLCAyMDcsIAorICAgIDQyLCAxNywgOCwgMSwgMjA1LCAyMTQsIDYxLCAxNywgOCwgMSwgMjA1LCAyMTQsIDQyLCAxNywgOCwgMSwgMTA2LCAyLCAKKyAgICAyMzksIDExMiwgODQsIDYxLCAxNywgOCwgMSwgMjA5LCA0MCwgNjEsIDE3LCA4LCAxLCAyMDksIDQwLCA0MiwgMTcsIDgsIDEsIAorICAgIDIzMSwgMTAxLCAyMjIsIDIwNywgNjEsIDE3LCA4LCAxLCAyMzEsIDEwMSwgMjIyLCAyMDcsIDQyLCAxNywgOCwgMSwgMjMxLCAKKyAgICAxMDEsIDIwNSwgMjE0LCA2MSwgMTcsIDgsIDEsIDIzMSwgMTAxLCAyMDUsIDIxNCwgNDIsIDE3LCA4LCAxLCAxNzQsIDYxLCAKKyAgICAxNywgOCwgMSwgMTc0LCA0MiwgMTcsIDgsIDEsIDE3NCwgNzgsIDE3LCA4LCAxLCAxNzQsIDE2OSwgMTcsIDgsIDEsIDIwOSwgCisgICAgMjUxLCAyMzEsIDIyOCwgMjMxLCAxMDEsIDEyNiwgMjI3LCAyMjksIDc4LCAxNywgOCwgMSwgMjA5LCAyNTEsIDIzMSwgMjI4LCAKKyAgICAyMzEsIDEwMSwgMTI2LCAyMjcsIDIyOSwgMTY5LCAxNywgOCwgMjgsIDg3LCAyLCAyMzksIDExMiwgODQsIDIsIDEyNiwgNjEsIAorICAgIDE3LCA4LCAyOCwgODcsIDIsIDIzOSwgMTEyLCA4NCwgMiwgMTI2LCA0MiwgMTcsIDgsIDI4LCA4NywgMiwgMjM5LCAxMTIsIAorICAgIDg0LCAyLCAyNTIsIDI0OSwgNjEsIDE3LCA4LCAyOCwgODcsIDIsIDIzOSwgMTEyLCA4NCwgMiwgMjUyLCAyNDksIDQyLCAxNywgCisgICAgOCwgMjgsIDg3LCAyLCAyMzksIDExMiwgODQsIDIsIDIwNywgNjAsIDYxLCAxNywgOCwgMjgsIDg3LCAyLCAyMzksIDExMiwgCisgICAgODQsIDIsIDIwNywgNjAsIDQyLCAxNywgOCwgMjgsIDg3LCAyLCAyMzksIDExMiwgODQsIDIsIDEwNiwgNjEsIDE3LCA4LCAKKyAgICAyOCwgODcsIDIsIDIzOSwgMTEyLCA4NCwgMiwgMTA2LCA0MiwgMTcsIDgsIDI4LCA4NywgMiwgMjM5LCAxMTIsIDg0LCAyLCAKKyAgICAyMjIsIDIwNywgNjEsIDE3LCA4LCAyOCwgODcsIDIsIDIzOSwgMTEyLCA4NCwgMiwgMjIyLCAyMDcsIDQyLCAxNywgOCwgMjgsIAorICAgIDg3LCAyLCAyMzksIDExMiwgODQsIDIsIDIwNSwgMjE0LCA2MSwgMTcsIDgsIDI4LCA4NywgMiwgMjM5LCAxMTIsIDg0LCAyLCAKKyAgICAyMDUsIDIxNCwgNDIsIDE3LCA4LCAyOCwgODcsIDIsIDIzOSwgMTEyLCA4NCwgMiwgMTc0LCA2MSwgMTcsIDgsIDI4LCA4NywgCisgICAgMiwgMjM5LCAxMTIsIDg0LCAyLCAxNzQsIDQyLCAxNywgOCwgMjgsIDg3LCAyLCAyMzksIDExMiwgODQsIDIsIDE3NCwgNzgsIAorICAgIDE3LCA4LCAyOCwgMjA5LCAyNTEsIDIzMSwgMTAxLCA4NywgMiwgMjM5LCAxMTIsIDg0LCAyLCAxMjYsIDIyNywgMjI5LCA2MSwgCisgICAgMTcsIDgsIDI4LCAyMDksIDI1MSwgMjMxLCAxMDEsIDg3LCAyLCAyMzksIDExMiwgODQsIDIsIDEyNiwgMjI3LCAyMjksIDQyLCAKKyAgICAxNywgOCwgMjgsIDIwOSwgMjUxLCAyMzEsIDEwMSwgODcsIDIsIDIzOSwgMTEyLCA4NCwgMiwgMTI2LCAyMjcsIDIyOSwgNzgsIAorICAgIDE3LCA4LCAxLCAyNDIsIDQyLCA4NywgNjEsIDE3LCA4LCAxLCAyNDIsIDQyLCA4NywgNDIsIDE3LCA4LCAxLCAyNDIsIDQyLCAKKyAgICA4NywgNzgsIDE3LCA4LCAxLCAyNDIsIDQyLCA4NywgMTY5LCAxNywgOCwgMjgsIDg3LCAyLCAyMzksIDExMiwgODQsIDIsIAorICAgIDE3MSwgNjEsIDE3LCA4LCAyOCwgODcsIDIsIDIzOSwgMTEyLCA4NCwgMiwgMTQwLCA2MSwgMTcsIDgsIDI4LCA4NywgMiwgCisgICAgMjM5LCAxMTIsIDg0LCAyLCA4MCwgNjEsIDE3LCA4LCAyOCwgODcsIDIsIDIzOSwgMTEyLCA4NCwgMiwgMTI2LCAyMjcsIAorICAgIDIyOSwgNjEsIDE3LCA4LCAyOCwgODcsIDIsIDIzOSwgMTEyLCA4NCwgMiwgODcsIDYxLCAxNywgOCwgMjgsIDI1MCwgMzksIAorICAgIDIsIDE3MSwgNjEsIDE3LCA4LCAyOCwgMjUwLCAzOSwgMiwgMTQwLCA2MSwgMTcsIDgsIDI4LCAyNTAsIDM5LCAyLCAyMzEsIAorICAgIDE2NCwgNjEsIDE3LCA4LCAyOCwgMjUwLCAzOSwgMiwgODAsIDYxLCAxNywgOCwgMjgsIDI1MCwgMzksIDIsIDEyNiwgMjI3LCAKKyAgICAyMjksIDYxLCAxNywgOCwgMjgsIDI1MCwgMzksIDIsIDg3LCA2MSwgMTcsIDgsIDI4LCAyMTIsIDExNiwgMiwgMTcxLCA2MSwgCisgICAgMTcsIDgsIDI4LCAyMTIsIDExNiwgMiwgMTQwLCA2MSwgMTcsIDgsIDI4LCAyMTIsIDExNiwgMiwgMjMxLCAxNjQsIDYxLCAKKyAgICAxNywgOCwgMjgsIDIxMiwgMTE2LCAyLCA4MCwgNjEsIDE3LCA4LCAyOCwgMjEyLCAxMTYsIDIsIDEyNiwgMjI3LCAyMjksIAorICAgIDYxLCAxNywgOCwgMjgsIDIxMiwgMTE2LCAyLCA4NywgNjEsIDE3LCA4LCAyOCwgMjEyLCAzOCwgMiwgMTcxLCA2MSwgMTcsIAorICAgIDgsIDI4LCAyMTIsIDM4LCAyLCA4MCwgNjEsIDE3LCA4LCAyOCwgMjEyLCAzOCwgMiwgMTI2LCAyMjcsIDIyOSwgNjEsIDE3LCAKKyAgICA4LCAyOCwgMjEyLCAzOCwgMiwgODcsIDYxLCAxNywgOCwgMjgsIDE3MSwgMiwgMTQwLCA2MSwgMTcsIDgsIDI4LCAxNzEsIDIsIAorICAgIDgwLCA2MSwgMTcsIDgsIDI4LCAxNDAsIDIsIDE3MSwgNjEsIDE3LCA4LCAyOCwgMTQwLCAyLCA4MCwgNjEsIDE3LCA4LCAyOCwgCisgICAgMjMxLCAxNjQsIDIsIDE3MSwgNjEsIDE3LCA4LCAyOCwgMjMxLCAxNjQsIDIsIDE0MCwgNjEsIDE3LCA4LCAyOCwgMjMxLCAKKyAgICAxNjQsIDIsIDgwLCA2MSwgMTcsIDgsIDI4LCAyMTcsIDcxLCAyLCAxNzEsIDYxLCAxNywgOCwgMjgsIDIxNywgNzEsIDIsIAorICAgIDE0MCwgNjEsIDE3LCA4LCAyOCwgMjE3LCA3MSwgMiwgMjMxLCAxNjQsIDYxLCAxNywgOCwgMjgsIDIxNywgNzEsIDIsIDgwLCAKKyAgICA2MSwgMTcsIDgsIDI4LCAyMTcsIDE5MiwgMiwgMTQwLCA2MSwgMTcsIDgsIDI4LCAyMTcsIDE5MiwgMiwgODAsIDYxLCAxNywgCisgICAgOCwgMjgsIDI0NiwgMTQxLCAyLCAxNzEsIDYxLCAxNywgOCwgMjgsIDI0NiwgMTQxLCAyLCAxNDAsIDYxLCAxNywgOCwgMjgsIAorICAgIDI0NiwgMTQxLCAyLCAyMzEsIDE2NCwgNjEsIDE3LCA4LCAyOCwgMjQ2LCAxNDEsIDIsIDgwLCA2MSwgMTcsIDgsIDI4LCAKKyAgICAyMTIsIDE5NSwgMiwgMTQwLCA2MSwgMTcsIDgsIDI4LCAyMTIsIDE5NSwgMiwgODAsIDYxLCAxNywgOCwgMjgsIDIwNSwgCisgICAgMTEyLCAyLCA4MCwgNjEsIDE3LCA4LCAyOCwgMjUyLCAyMDEsIDIsIDE3MSwgNjEsIDE3LCA4LCAyOCwgMjUyLCAyMDEsIDIsIAorICAgIDgwLCA2MSwgMTcsIDgsIDI4LCAyNDAsIDk1LCAyLCAxNzEsIDYxLCAxNywgOCwgMjgsIDI0MCwgOTUsIDIsIDgwLCA2MSwgCisgICAgMTcsIDgsIDI4LCAyNDIsIDE2LCAyLCAxNzEsIDYxLCAxNywgOCwgMjgsIDI0MiwgMTYsIDIsIDE0MCwgNjEsIDE3LCA4LCAKKyAgICAyOCwgMjQyLCAxNiwgMiwgMjMxLCAxNjQsIDYxLCAxNywgOCwgMjgsIDI0MiwgMTYsIDIsIDgwLCA2MSwgMTcsIDgsIDI4LCAKKyAgICAyNDIsIDE2LCAyLCAxMjYsIDIyNywgMjI5LCA2MSwgMTcsIDgsIDI4LCAyNDIsIDE2LCAyLCA4NywgNjEsIDE3LCA4LCAyOCwgCisgICAgMjIwLCAxMywgMiwgMTQwLCA2MSwgMTcsIDgsIDI4LCAyMjAsIDEzLCAyLCA4MCwgNjEsIDE3LCA4LCAyOCwgMjIwLCAxMywgCisgICAgMiwgMTI2LCAyMjcsIDIyOSwgNjEsIDE3LCA4LCAyOCwgMjIwLCAxMywgMiwgODcsIDYxLCAxNywgOCwgMjgsIDIzMiwgNDYsIAorICAgIDIsIDEyNiwgNjEsIDE3LCA4LCAyOCwgMjMyLCA0NiwgMiwgMTcxLCA2MSwgMTcsIDgsIDI4LCAyMzIsIDQ2LCAyLCAxNDAsIAorICAgIDYxLCAxNywgOCwgMjgsIDIzMiwgNDYsIDIsIDIzMSwgMTY0LCA2MSwgMTcsIDgsIDI4LCAyMzIsIDQ2LCAyLCAyMzAsIDEwNywgCisgICAgNjEsIDE3LCA4LCAyOCwgMjMyLCA0NiwgMiwgODAsIDYxLCAxNywgOCwgMjgsIDIzMiwgNDYsIDIsIDEyNiwgMjI3LCAyMjksIAorICAgIDYxLCAxNywgOCwgMjgsIDIzMiwgNDYsIDIsIDg3LCA2MSwgMTcsIDgsIDI4LCAyMzAsIDEwNywgMiwgMTcxLCA2MSwgMTcsIAorICAgIDgsIDI4LCAyMzAsIDEwNywgMiwgMTQwLCA2MSwgMTcsIDgsIDI4LCAyMzAsIDEwNywgMiwgMjMxLCAxNjQsIDYxLCAxNywgOCwgCisgICAgMjgsIDIzMCwgMTA3LCAyLCA4MCwgNjEsIDE3LCA4LCAyOCwgMjMwLCAxMDcsIDIsIDEyNiwgMjI3LCAyMjksIDYxLCAxNywgCisgICAgOCwgMjgsIDIzMCwgMTA3LCAyLCA4NywgNjEsIDE3LCA4LCAyOCwgODAsIDIsIDE3MSwgNjEsIDE3LCA4LCAyOCwgODAsIDIsIAorICAgIDE0MCwgNjEsIDE3LCA4LCAyOCwgODAsIDIsIDIzMSwgMTY0LCA2MSwgMTcsIDgsIDI4LCA4MCwgMiwgODAsIDYxLCAxNywgOCwgCisgICAgMjgsIDgwLCAyLCAxMjYsIDIyNywgMjI5LCA2MSwgMTcsIDgsIDI4LCA4MCwgMiwgODcsIDYxLCAxNywgOCwgMjgsIDIyNCwgCisgICAgNTUsIDIsIDE3MSwgNjEsIDE3LCA4LCAyOCwgMjI0LCA1NSwgMiwgMTQwLCA2MSwgMTcsIDgsIDI4LCAyMjQsIDU1LCAyLCAKKyAgICAyMzEsIDE2NCwgNjEsIDE3LCA4LCAyOCwgMjI0LCA1NSwgMiwgODAsIDYxLCAxNywgOCwgMjgsIDIyNCwgNTUsIDIsIDEyNiwgCisgICAgMjI3LCAyMjksIDYxLCAxNywgOCwgMjgsIDIyNCwgNTUsIDIsIDg3LCA2MSwgMTcsIDgsIDI4LCAyMzksIDUxLCAyLCAxNzEsIAorICAgIDYxLCAxNywgOCwgMjgsIDIzOSwgNTEsIDIsIDgwLCA2MSwgMTcsIDgsIDI4LCAyMzksIDUxLCAyLCAxMjYsIDIyNywgMjI5LCAKKyAgICA2MSwgMTcsIDgsIDI4LCAyMzksIDUxLCAyLCA4NywgNjEsIDE3LCA4LCAyOCwgODcsIDIsIDE3MSwgNjEsIDE3LCA4LCAyOCwgCisgICAgODcsIDIsIDE0MCwgNjEsIDE3LCA4LCAyOCwgODcsIDIsIDIzMSwgMTY0LCA2MSwgMTcsIDgsIDI4LCA4NywgMiwgODAsIDYxLCAKKyAgICAxNywgOCwgMjgsIDg3LCAyLCAxMjYsIDIyNywgMjI5LCA2MSwgMTcsIDgsIDI4LCA4NywgMiwgODcsIDYxLCAxNywgOCwgMjgsIAorICAgIDIxMiwgNTAsIDIsIDIxMywgMTM5LCAxMjYsIDYxLCAxNywgOCwgMjgsIDIxOSwgMTcsIDIsIDIxMywgMTM5LCAxMjYsIDYxLCAKKyAgICAxNywgOCwgMjgsIDEyNiwgMjI3LCAyMjksIDIsIDIxMywgMTM5LCAxMjYsIDYxLCAxNywgOCwgMjgsIDIxNSwgMjUwLCAyLCAKKyAgICAyNDYsIDEwNSwgNjEsIDE3LCA4LCAyOCwgMjE1LCAyNTAsIDIsIDIzMSwgMjUxLCA2MSwgMTcsIDgsIDI4LCAyMTUsIDI1MCwgCisgICAgMiwgMjQyLCA0MCwgNjEsIDE3LCA4LCAyOCwgMjE1LCAyNTAsIDIsIDI0NiwgMTA3LCA2MSwgMTcsIDgsIDI4LCAyMTUsIAorICAgIDI1MCwgMiwgMjMxLCAyNTMsIDYxLCAxNywgOCwgMjgsIDIxNSwgMjUwLCAyLCAyMTMsIDEzOSwgMTI2LCA2MSwgMTcsIDgsIAorICAgIDI4LCA4NywgMiwgMjM5LCAxMTIsIDg0LCAyLCAyMTksIDE3LCA0MiwgMTcsIDgsIDI4LCA4NywgMiwgMjM5LCAxMTIsIDg0LCAKKyAgICAyLCAyMDUsIDEwOSwgNDIsIDE3LCA4LCAyOCwgODcsIDIsIDIzOSwgMTEyLCA4NCwgMiwgODAsIDQyLCAxNywgOCwgMjgsIAorICAgIDg3LCAyLCAyMzksIDExMiwgODQsIDIsIDIyNCwgNTUsIDQyLCAxNywgOCwgMjgsIDg3LCAyLCAyMzksIDExMiwgODQsIDIsIAorICAgIDEyNiwgMjI3LCAyMjksIDQyLCAxNywgOCwgMjgsIDg3LCAyLCAyMzksIDExMiwgODQsIDIsIDg3LCA0MiwgMTcsIDgsIDI4LCAKKyAgICAyNTAsIDM5LCAyLCAyMTksIDE3LCA0MiwgMTcsIDgsIDI4LCAyNTAsIDM5LCAyLCAyMDUsIDEwOSwgNDIsIDE3LCA4LCAyOCwgCisgICAgMjUwLCAzOSwgMiwgODAsIDQyLCAxNywgOCwgMjgsIDI1MCwgMzksIDIsIDIyNCwgNTUsIDQyLCAxNywgOCwgMjgsIDI1MCwgCisgICAgMzksIDIsIDEyNiwgMjI3LCAyMjksIDQyLCAxNywgOCwgMjgsIDI1MCwgMzksIDIsIDg3LCA0MiwgMTcsIDgsIDI4LCAyMTIsIAorICAgIDExNiwgMiwgMjE5LCAxNywgNDIsIDE3LCA4LCAyOCwgMjEyLCAxMTYsIDIsIDIwNSwgMTA5LCA0MiwgMTcsIDgsIDI4LCAKKyAgICAyMTIsIDExNiwgMiwgODAsIDQyLCAxNywgOCwgMjgsIDIxMiwgMTE2LCAyLCAyMjQsIDU1LCA0MiwgMTcsIDgsIDI4LCAyMTIsIAorICAgIDExNiwgMiwgMTI2LCAyMjcsIDIyOSwgNDIsIDE3LCA4LCAyOCwgMjEyLCAxMTYsIDIsIDg3LCA0MiwgMTcsIDgsIDI4LCAKKyAgICAyMTIsIDM4LCAyLCAyMTksIDE3LCA0MiwgMTcsIDgsIDI4LCAyMTIsIDM4LCAyLCAyMDUsIDEwOSwgNDIsIDE3LCA4LCAyOCwgCisgICAgMjEyLCAzOCwgMiwgODAsIDQyLCAxNywgOCwgMjgsIDIxMiwgMzgsIDIsIDIyNCwgNTUsIDQyLCAxNywgOCwgMjgsIDIxMiwgCisgICAgMzgsIDIsIDEyNiwgMjI3LCAyMjksIDQyLCAxNywgOCwgMjgsIDIxMiwgMzgsIDIsIDg3LCA0MiwgMTcsIDgsIDI4LCAyNDIsIAorICAgIDE2LCAyLCAxMjYsIDIyNywgMjI5LCA0MiwgMTcsIDgsIDI4LCAyNDIsIDE2LCAyLCA4NywgNDIsIDE3LCA4LCAyOCwgMjIwLCAKKyAgICAxMywgMiwgMTI2LCAyMjcsIDIyOSwgNDIsIDE3LCA4LCAyOCwgMjIwLCAxMywgMiwgODcsIDQyLCAxNywgOCwgMjgsIDIzMiwgCisgICAgNDYsIDIsIDEyNiwgNDIsIDE3LCA4LCAyOCwgMjMyLCA0NiwgMiwgMjMwLCAxMDcsIDQyLCAxNywgOCwgMjgsIDIzMiwgNDYsIAorICAgIDIsIDgwLCA0MiwgMTcsIDgsIDI4LCAyMzIsIDQ2LCAyLCAxMjYsIDIyNywgMjI5LCA0MiwgMTcsIDgsIDI4LCAyMzIsIDQ2LCAKKyAgICAyLCA4NywgNDIsIDE3LCA4LCAyOCwgMjMwLCAxMDcsIDIsIDgwLCA0MiwgMTcsIDgsIDI4LCAyMzAsIDEwNywgMiwgMTI2LCAKKyAgICAyMjcsIDIyOSwgNDIsIDE3LCA4LCAyOCwgMjMwLCAxMDcsIDIsIDg3LCA0MiwgMTcsIDgsIDI4LCA4MCwgMiwgMTI2LCA0MiwgCisgICAgMTcsIDgsIDI4LCA4MCwgMiwgODAsIDQyLCAxNywgOCwgMjgsIDIyNCwgNTUsIDIsIDIxOSwgMTcsIDQyLCAxNywgOCwgMjgsIAorICAgIDIyNCwgNTUsIDIsIDIwNSwgMTA5LCA0MiwgMTcsIDgsIDI4LCAyMjQsIDU1LCAyLCA4MCwgNDIsIDE3LCA4LCAyOCwgMjI0LCAKKyAgICA1NSwgMiwgMjI0LCA1NSwgNDIsIDE3LCA4LCAyOCwgMjI0LCA1NSwgMiwgMTI2LCAyMjcsIDIyOSwgNDIsIDE3LCA4LCAyOCwgCisgICAgMjI0LCA1NSwgMiwgODcsIDQyLCAxNywgOCwgMjgsIDEyNiwgMjI3LCAyMjksIDIsIDIxMywgMTM5LCAxMjYsIDQyLCAxNywgCisgICAgOCwgMjgsIDg3LCAyLCAyMTksIDE3LCA0MiwgMTcsIDgsIDI4LCA4NywgMiwgMjA1LCAxMDksIDQyLCAxNywgOCwgMjgsIDg3LCAKKyAgICAyLCA4MCwgNDIsIDE3LCA4LCAyOCwgODcsIDIsIDIyNCwgNTUsIDQyLCAxNywgOCwgMjgsIDg3LCAyLCAxMjYsIDIyNywgCisgICAgMjI5LCA0MiwgMTcsIDgsIDI4LCA4NywgMiwgODcsIDQyLCAxNywgOCwgMjgsIDg3LCAyLCAyMzksIDExMiwgODQsIDIsIAorICAgIDE3MSwgNzgsIDE3LCA4LCAyOCwgODcsIDIsIDIzOSwgMTEyLCA4NCwgMiwgMTQwLCA3OCwgMTcsIDgsIDI4LCA4NywgMiwgCisgICAgMjM5LCAxMTIsIDg0LCAyLCAyMzEsIDE2NCwgNzgsIDE3LCA4LCAyOCwgODcsIDIsIDIzOSwgMTEyLCA4NCwgMiwgODAsIDc4LCAKKyAgICAxNywgOCwgMjgsIDg3LCAyLCAyMzksIDExMiwgODQsIDIsIDIzOSwgNTEsIDc4LCAxNywgOCwgMjgsIDI1MCwgMzksIDIsIAorICAgIDE3MSwgNzgsIDE3LCA4LCAyOCwgMjUwLCAzOSwgMiwgMTQwLCA3OCwgMTcsIDgsIDI4LCAyNTAsIDM5LCAyLCAyMzEsIDE2NCwgCisgICAgNzgsIDE3LCA4LCAyOCwgMjUwLCAzOSwgMiwgODAsIDc4LCAxNywgOCwgMjgsIDI1MCwgMzksIDIsIDIzOSwgNTEsIDc4LCAKKyAgICAxNywgOCwgMjgsIDIxMiwgMTE2LCAyLCAxNzEsIDc4LCAxNywgOCwgMjgsIDIxMiwgMTE2LCAyLCAxNDAsIDc4LCAxNywgOCwgCisgICAgMjgsIDIxMiwgMTE2LCAyLCAyMzEsIDE2NCwgNzgsIDE3LCA4LCAyOCwgMjEyLCAxMTYsIDIsIDgwLCA3OCwgMTcsIDgsIDI4LCAKKyAgICAyMTIsIDExNiwgMiwgMjM5LCA1MSwgNzgsIDE3LCA4LCAyOCwgMjEyLCAzOCwgMiwgODAsIDc4LCAxNywgOCwgMjgsIDE3MSwgCisgICAgMiwgMTQwLCA3OCwgMTcsIDgsIDI4LCAxNzEsIDIsIDgwLCA3OCwgMTcsIDgsIDI4LCAxNDAsIDIsIDE3MSwgNzgsIDE3LCA4LCAKKyAgICAyOCwgMTQwLCAyLCA4MCwgNzgsIDE3LCA4LCAyOCwgMjMxLCAxNjQsIDIsIDE3MSwgNzgsIDE3LCA4LCAyOCwgMjMxLCAxNjQsIAorICAgIDIsIDgwLCA3OCwgMTcsIDgsIDI4LCAyMTcsIDcxLCAyLCAxNzEsIDc4LCAxNywgOCwgMjgsIDIxNywgNzEsIDIsIDE0MCwgCisgICAgNzgsIDE3LCA4LCAyOCwgMjE3LCA3MSwgMiwgMjMxLCAxNjQsIDc4LCAxNywgOCwgMjgsIDIxNywgNzEsIDIsIDgwLCA3OCwgCisgICAgMTcsIDgsIDI4LCAyMTcsIDE5MiwgMiwgMTQwLCA3OCwgMTcsIDgsIDI4LCAyMTcsIDE5MiwgMiwgMjMxLCAxNjQsIDc4LCAKKyAgICAxNywgOCwgMjgsIDIxNywgMTkyLCAyLCA4MCwgNzgsIDE3LCA4LCAyOCwgMjQ2LCAxNDEsIDIsIDE3MSwgNzgsIDE3LCA4LCAKKyAgICAyOCwgMjQ2LCAxNDEsIDIsIDE0MCwgNzgsIDE3LCA4LCAyOCwgMjQ2LCAxNDEsIDIsIDIzMSwgMTY0LCA3OCwgMTcsIDgsIAorICAgIDI4LCAyNDYsIDE0MSwgMiwgODAsIDc4LCAxNywgOCwgMjgsIDIxMiwgMTk1LCAyLCAxNDAsIDc4LCAxNywgOCwgMjgsIDIwNSwgCisgICAgMTEyLCAyLCA4MCwgNzgsIDE3LCA4LCAyOCwgMjUyLCAyMDEsIDIsIDE3MSwgNzgsIDE3LCA4LCAyOCwgMjUyLCAyMDEsIDIsIAorICAgIDgwLCA3OCwgMTcsIDgsIDI4LCAyNDAsIDk1LCAyLCAxNzEsIDc4LCAxNywgOCwgMjgsIDI0MCwgOTUsIDIsIDgwLCA3OCwgCisgICAgMTcsIDgsIDI4LCAyNDIsIDE2LCAyLCAxNzEsIDc4LCAxNywgOCwgMjgsIDI0MiwgMTYsIDIsIDE0MCwgNzgsIDE3LCA4LCAKKyAgICAyOCwgMjQyLCAxNiwgMiwgMjMxLCAxNjQsIDc4LCAxNywgOCwgMjgsIDI0MiwgMTYsIDIsIDgwLCA3OCwgMTcsIDgsIDI4LCAKKyAgICAyMjAsIDEzLCAyLCAxNDAsIDc4LCAxNywgOCwgMjgsIDIyMCwgMTMsIDIsIDgwLCA3OCwgMTcsIDgsIDI4LCAyMzIsIDQ2LCAKKyAgICAyLCAxNzEsIDc4LCAxNywgOCwgMjgsIDIzMiwgNDYsIDIsIDE0MCwgNzgsIDE3LCA4LCAyOCwgMjMyLCA0NiwgMiwgMjMxLCAKKyAgICAxNjQsIDc4LCAxNywgOCwgMjgsIDIzMiwgNDYsIDIsIDIzMCwgMTA3LCA3OCwgMTcsIDgsIDI4LCAyMzIsIDQ2LCAyLCA4MCwgCisgICAgNzgsIDE3LCA4LCAyOCwgMjMwLCAxMDcsIDIsIDE3MSwgNzgsIDE3LCA4LCAyOCwgMjMwLCAxMDcsIDIsIDE0MCwgNzgsIDE3LCAKKyAgICA4LCAyOCwgMjMwLCAxMDcsIDIsIDIzMSwgMTY0LCA3OCwgMTcsIDgsIDI4LCAyMzAsIDEwNywgMiwgODAsIDc4LCAxNywgOCwgCisgICAgMjgsIDIzMCwgMTA3LCAyLCAyMzksIDUxLCA3OCwgMTcsIDgsIDI4LCA4MCwgMiwgMTcxLCA3OCwgMTcsIDgsIDI4LCA4MCwgCisgICAgMiwgMTQwLCA3OCwgMTcsIDgsIDI4LCA4MCwgMiwgMjMxLCAxNjQsIDc4LCAxNywgOCwgMjgsIDgwLCAyLCA4MCwgNzgsIDE3LCAKKyAgICA4LCAyOCwgMjI0LCA1NSwgMiwgMTcxLCA3OCwgMTcsIDgsIDI4LCAyMjQsIDU1LCAyLCAxNDAsIDc4LCAxNywgOCwgMjgsIAorICAgIDIyNCwgNTUsIDIsIDIzMSwgMTY0LCA3OCwgMTcsIDgsIDI4LCAyMjQsIDU1LCAyLCA4MCwgNzgsIDE3LCA4LCAyOCwgMjI0LCAKKyAgICA1NSwgMiwgMjM5LCA1MSwgNzgsIDE3LCA4LCAyOCwgMjM5LCA1MSwgMiwgMTcxLCA3OCwgMTcsIDgsIDI4LCAyMzksIDUxLCAKKyAgICAyLCA4MCwgNzgsIDE3LCA4LCAyOCwgMjM5LCA1MSwgMiwgMjEzLCAxMzksIDEyNiwgNzgsIDE3LCA4LCAyOCwgODcsIDIsIAorICAgIDE3MSwgNzgsIDE3LCA4LCAyOCwgODcsIDIsIDE0MCwgNzgsIDE3LCA4LCAyOCwgODcsIDIsIDIzMSwgMTY0LCA3OCwgMTcsIAorICAgIDgsIDI4LCA4NywgMiwgODAsIDc4LCAxNywgOCwgMjgsIDg3LCAyLCAyMzksIDUxLCA3OCwgMTcsIDgsIDI4LCA4NywgMiwgCisgICAgMjM5LCAxMTIsIDg0LCAyLCA4MCwgMTY5LCAxNywgOCwgMjgsIDg3LCAyLCAyMzksIDExMiwgODQsIDIsIDIzOSwgNTEsIAorICAgIDE2OSwgMTcsIDgsIDI4LCAyNTAsIDM5LCAyLCA4MCwgMTY5LCAxNywgOCwgMjgsIDI1MCwgMzksIDIsIDIzOSwgNTEsIDE2OSwgCisgICAgMTcsIDgsIDI4LCAyMTIsIDExNiwgMiwgODAsIDE2OSwgMTcsIDgsIDI4LCAyMTIsIDExNiwgMiwgMjM5LCA1MSwgMTY5LCAKKyAgICAxNywgOCwgMjgsIDIxMiwgMzgsIDIsIDgwLCAxNjksIDE3LCA4LCAyOCwgMjEyLCAzOCwgMiwgMjM5LCA1MSwgMTY5LCAxNywgCisgICAgOCwgMjgsIDIxNywgNzEsIDIsIDgwLCAxNjksIDE3LCA4LCAyOCwgMjE3LCA3MSwgMiwgMjM5LCA1MSwgMTY5LCAxNywgOCwgCisgICAgMjgsIDIxNSwgMjExLCAyLCA4MCwgMTY5LCAxNywgOCwgMjgsIDIxNSwgMjExLCAyLCAyMzksIDUxLCAxNjksIDE3LCA4LCAKKyAgICAyOCwgMjMyLCA0NiwgMiwgMjMwLCAxMDcsIDE2OSwgMTcsIDgsIDI4LCAyMzIsIDQ2LCAyLCA4MCwgMTY5LCAxNywgOCwgMjgsIAorICAgIDIzMCwgMTA3LCAyLCA4MCwgMTY5LCAxNywgOCwgMjgsIDIyNCwgNTUsIDIsIDgwLCAxNjksIDE3LCA4LCAyOCwgMjI0LCA1NSwgCisgICAgMiwgMjM5LCA1MSwgMTY5LCAxNywgOCwgMjgsIDg3LCAyLCA4MCwgMTY5LCAxNywgOCwgMjgsIDg3LCAyLCAyMzksIDUxLCAKKyAgICAxNjksIDE3LCA4LCAyOCwgMjE1LCAyNTAsIDIsIDI0MiwgNDAsIDE2OSwgMTcsIDgsIDI4LCAyMTUsIDI1MCwgMiwgMjQ2LCAKKyAgICAxMDcsIDE2OSwgMTcsIDgsIDI4LCAyMTUsIDI1MCwgMiwgMjMxLCAyNTMsIDE2OSwgMTcsIDgsIDI4LCAyMTIsIDE5NSwgMiwgCisgICAgMTI2LCAyMjcsIDIyOSwgNjEsIDE3LCA4LCAyOCwgMjEyLCAxOTUsIDIsIDg3LCA2MSwgMTcsIDgsIDI4LCAyNTIsIDIwMSwgCisgICAgMiwgMTI2LCAyMjcsIDIyOSwgNjEsIDE3LCA4LCAyOCwgMjUyLCAyMDEsIDIsIDg3LCA2MSwgMTcsIDgsIDI4LCAyNDAsIDk1LCAKKyAgICAyLCAxMjYsIDIyNywgMjI5LCA2MSwgMTcsIDgsIDI4LCAyNDAsIDk1LCAyLCA4NywgNjEsIDE3LCA4LCAyOCwgMjE3LCA3MSwgCisgICAgMiwgMTI2LCAyMjcsIDIyOSwgNjEsIDE3LCA4LCAyOCwgMjE3LCA3MSwgMiwgODcsIDYxLCAxNywgOCwgMjgsIDIxNSwgMjExLCAKKyAgICAyLCAxMjYsIDIyNywgMjI5LCA2MSwgMTcsIDgsIDI4LCAyMTUsIDIxMSwgMiwgODcsIDYxLCAxNywgOCwgMjgsIDE0MCwgMiwgCisgICAgMTI2LCAyMjcsIDIyOSwgNjEsIDE3LCA4LCAyOCwgMTQwLCAyLCA4NywgNjEsIDE3LCA4LCAyOCwgMTcxLCAyLCAxMjYsIAorICAgIDIyNywgMjI5LCA2MSwgMTcsIDgsIDI4LCAxNzEsIDIsIDg3LCA2MSwgMTcsIDgsIDI4LCAyMzEsIDE2NCwgMiwgMTI2LCAKKyAgICAyMjcsIDIyOSwgNjEsIDE3LCA4LCAyOCwgMjMxLCAxNjQsIDIsIDg3LCA2MSwgMTcsIDgsIDI4LCAyMTcsIDE5MiwgMiwgCisgICAgMTI2LCAyMjcsIDIyOSwgNjEsIDE3LCA4LCAyOCwgMjE3LCAxOTIsIDIsIDg3LCA2MSwgMTcsIDgsIDI4LCAyNDYsIDE0MSwgCisgICAgMiwgMTI2LCAyMjcsIDIyOSwgNjEsIDE3LCA4LCAyOCwgMjQ2LCAxNDEsIDIsIDg3LCA2MSwgMTcsIDgsIDI4LCAyMTUsIAorICAgIDIxMSwgMiwgMTcxLCA2MSwgMTcsIDgsIDI4LCAyMTUsIDIxMSwgMiwgMTQwLCA2MSwgMTcsIDgsIDI4LCAyMTUsIDIxMSwgMiwgCisgICAgMjMxLCAxNjQsIDYxLCAxNywgOCwgMjgsIDIxNSwgMjExLCAyLCA4MCwgNjEsIDE3LCA4LCAyOCwgMjE1LCAyMTEsIDIsIAorICAgIDIxOSwgMTcsIDYxLCAxNywgOCwgMjgsIDIxNywgNzEsIDIsIDIxOSwgMTcsIDYxLCAxNywgOCwgMjgsIDIxNywgMTkyLCAyLCAKKyAgICAyMTksIDE3LCA2MSwgMTcsIDgsIDI4LCAyNDYsIDE0MSwgMiwgMjE5LCAxNywgNjEsIDE3LCA4LCAyOCwgMjEyLCAxOTUsIDIsIAorICAgIDEyNiwgMjI3LCAyMjksIDQyLCAxNywgOCwgMjgsIDIxMiwgMTk1LCAyLCA4NywgNDIsIDE3LCA4LCAyOCwgMjUyLCAyMDEsIAorICAgIDIsIDEyNiwgMjI3LCAyMjksIDQyLCAxNywgOCwgMjgsIDI1MiwgMjAxLCAyLCA4NywgNDIsIDE3LCA4LCAyOCwgMjQwLCA5NSwgCisgICAgMiwgMTI2LCAyMjcsIDIyOSwgNDIsIDE3LCA4LCAyOCwgMjQwLCA5NSwgMiwgODcsIDQyLCAxNywgOCwgMjgsIDIxNywgNzEsIAorICAgIDIsIDEyNiwgMjI3LCAyMjksIDQyLCAxNywgOCwgMjgsIDIxNywgNzEsIDIsIDg3LCA0MiwgMTcsIDgsIDI4LCAyMTUsIDIxMSwgCisgICAgMiwgMTI2LCAyMjcsIDIyOSwgNDIsIDE3LCA4LCAyOCwgMjE1LCAyMTEsIDIsIDg3LCA0MiwgMTcsIDgsIDI4LCAxNDAsIDIsIAorICAgIDEyNiwgMjI3LCAyMjksIDQyLCAxNywgOCwgMjgsIDE0MCwgMiwgODcsIDQyLCAxNywgOCwgMjgsIDE3MSwgMiwgMTI2LCAKKyAgICAyMjcsIDIyOSwgNDIsIDE3LCA4LCAyOCwgMTcxLCAyLCA4NywgNDIsIDE3LCA4LCAyOCwgMjMxLCAxNjQsIDIsIDEyNiwgCisgICAgMjI3LCAyMjksIDQyLCAxNywgOCwgMjgsIDIzMSwgMTY0LCAyLCA4NywgNDIsIDE3LCA4LCAyOCwgMjE3LCAxOTIsIDIsIAorICAgIDEyNiwgMjI3LCAyMjksIDQyLCAxNywgOCwgMjgsIDIxNywgMTkyLCAyLCA4NywgNDIsIDE3LCA4LCAyOCwgMjQ2LCAxNDEsIAorICAgIDIsIDEyNiwgMjI3LCAyMjksIDQyLCAxNywgOCwgMjgsIDI0NiwgMTQxLCAyLCA4NywgNDIsIDE3LCA4LCAyOCwgMjE1LCAKKyAgICAyMTEsIDIsIDE3MSwgNDIsIDE3LCA4LCAyOCwgMjE1LCAyMTEsIDIsIDE0MCwgNDIsIDE3LCA4LCAyOCwgMjE1LCAyMTEsIDIsIAorICAgIDIzMSwgMTY0LCA0MiwgMTcsIDgsIDI4LCAyMTUsIDIxMSwgMiwgODAsIDQyLCAxNywgOCwgMjgsIDIxNSwgMjExLCAyLCAKKyAgICAyMTksIDE3LCA0MiwgMTcsIDgsIDI4LCAyMTcsIDcxLCAyLCAyMTksIDE3LCA0MiwgMTcsIDgsIDI4LCAyMTcsIDE5MiwgMiwgCisgICAgMjE5LCAxNywgNDIsIDE3LCA4LCAyOCwgMjQ2LCAxNDEsIDIsIDIxOSwgMTcsIDQyLCAxNywgOCwgMjgsIDIxNSwgMjExLCAyLCAKKyAgICAxNzEsIDc4LCAxNywgOCwgMjgsIDIxNSwgMjExLCAyLCAxNDAsIDc4LCAxNywgOCwgMjgsIDIxNSwgMjExLCAyLCAyMzEsIAorICAgIDE2NCwgNzgsIDE3LCA4LCAyOCwgMjE1LCAyMTEsIDIsIDgwLCA3OCwgMTcsIDgsIDI4LCAyMTcsIDcxLCAyLCAyMzksIDUxLCAKKyAgICA3OCwgMTcsIDgsIDI4LCAyMTUsIDIxMSwgMiwgMjM5LCA1MSwgNzgsIDE3LCA4LCAyOCwgMjEyLCAxOTUsIDIsIDgwLCA3OCwgCisgICAgMTcsIDgsIDI4LCAyMTcsIDcxLCAyLCAxNzEsIDE2OSwgMTcsIDgsIDI4LCAyMTcsIDcxLCAyLCAxNDAsIDE2OSwgMTcsIDgsIAorICAgIDI4LCAyMTcsIDcxLCAyLCAyMzEsIDE2NCwgMTY5LCAxNywgOCwgMjgsIDIxNSwgMjExLCAyLCAxNzEsIDE2OSwgMTcsIDgsIAorICAgIDI4LCAyMTUsIDIxMSwgMiwgMTQwLCAxNjksIDE3LCA4LCAyOCwgMjE1LCAyMTEsIDIsIDIzMSwgMTY0LCAxNjksIDE3LCA4LCAKKyAgICAyOCwgMjEyLCAxOTUsIDIsIDgwLCAxNjksIDE3LCA4LCAyOCwgMjA1LCAxMTIsIDIsIDgwLCAxNjksIDE3LCA4LCAyOCwgCisgICAgMTI2LCAyLCAyNDIsIDM4LCA0MiwgMTcsIDgsIDI4LCAxMjYsIDIsIDI0MiwgMzgsIDYxLCAxNywgMjIyLCAxMTAsIDQ3LCAKKyAgICAyMjEsIDIxNiwgMjIyLCAxMTAsIDQ4LCAyMjEsIDIxNiwgOCwgMjgsIDIxMiwgMTE2LCAyLCAxNzEsIDIsIDgwLCA3OCwgMTcsIAorICAgIDgsIDI4LCAyMTIsIDExNiwgMiwgMTQwLCAyLCAxNzEsIDQyLCAxNywgOCwgMjgsIDIxMiwgMTE2LCAyLCAxNDAsIDIsIDE3MSwgCisgICAgNzgsIDE3LCA4LCAyOCwgMjEyLCAxMTYsIDIsIDE0MCwgMiwgODAsIDc4LCAxNywgOCwgMjgsIDIxMiwgMTE2LCAyLCAyMzEsIAorICAgIDE2NCwgMiwgODAsIDc4LCAxNywgOCwgMjgsIDIxMiwgMTE2LCAyLCA4MCwgMiwgMTcxLCA3OCwgMTcsIDgsIDI4LCAyMTIsIAorICAgIDExNiwgMiwgODAsIDIsIDE0MCwgNzgsIDE3LCA4LCAyOCwgMjEyLCAxMTYsIDIsIDgwLCAyLCAyMzEsIDE2NCwgNzgsIDE3LCAKKyAgICA4LCAyOCwgMTcxLCAyLCA4MCwgMiwgMTQwLCA0MiwgMTcsIDgsIDI4LCAxNzEsIDIsIDgwLCAyLCAxNDAsIDc4LCAxNywgOCwgCisgICAgMjgsIDE0MCwgMiwgODAsIDIsIDg3LCA0MiwgMTcsIDgsIDI4LCAxNDAsIDIsIDgwLCAyLCAxMjYsIDIyNywgMjI5LCA0MiwgCisgICAgMTcsIDgsIDI4LCAyMTcsIDcxLCAyLCAxNDAsIDIsIDE3MSwgNzgsIDE3LCA4LCAyOCwgMjE3LCA3MSwgMiwgMTcxLCAyLCAKKyAgICAxNDAsIDc4LCAxNywgOCwgMjgsIDIxNywgNzEsIDIsIDE3MSwgMiwgMTI2LCAyMjcsIDIyOSwgNDIsIDE3LCA4LCAyOCwgCisgICAgMjE3LCA3MSwgMiwgODAsIDIsIDE0MCwgNDIsIDE3LCA4LCAyOCwgMjE3LCA3MSwgMiwgODAsIDIsIDE0MCwgNzgsIDE3LCA4LCAKKyAgICAyOCwgMjE3LCA3MSwgMiwgODAsIDIsIDE3MSwgNzgsIDE3LCA4LCAyOCwgMjE3LCA3MSwgMiwgODAsIDIsIDgwLCA0MiwgMTcsIAorICAgIDgsIDI4LCAyMTcsIDcxLCAyLCA4MCwgMiwgODAsIDc4LCAxNywgOCwgMjgsIDIxNywgMTkyLCAyLCAxNDAsIDIsIDE0MCwgCisgICAgNDIsIDE3LCA4LCAyOCwgMjE3LCAxOTIsIDIsIDE0MCwgMiwgMTQwLCA3OCwgMTcsIDgsIDI4LCAyMTcsIDE5MiwgMiwgODAsIAorICAgIDIsIDgwLCA0MiwgMTcsIDgsIDI4LCAyMTUsIDIxMSwgMiwgMTQwLCAyLCA4MCwgNDIsIDE3LCA4LCAyOCwgMjE1LCAyMTEsIAorICAgIDIsIDE0MCwgMiwgODAsIDc4LCAxNywgOCwgMjgsIDIxNSwgMjExLCAyLCAxNzEsIDIsIDg3LCA0MiwgMTcsIDgsIDI4LCAKKyAgICAyMTUsIDIxMSwgMiwgODAsIDIsIDIzMSwgMTY0LCA0MiwgMTcsIDgsIDI4LCAyMTUsIDIxMSwgMiwgODAsIDIsIDIzMSwgCisgICAgMTY0LCA3OCwgMTcsIDgsIDI4LCAyMTUsIDIxMSwgMiwgODAsIDIsIDgwLCA0MiwgMTcsIDgsIDI4LCAyMTUsIDIxMSwgMiwgCisgICAgODAsIDIsIDgwLCA3OCwgMTcsIDgsIDI4LCAyNDYsIDE0MSwgMiwgMTQwLCAyLCAxMjYsIDIyNywgMjI5LCA0MiwgMTcsIDgsIAorICAgIDI4LCAyNDYsIDE0MSwgMiwgMjMxLCAxNjQsIDIsIDgwLCA0MiwgMTcsIDgsIDI4LCAyNDYsIDE0MSwgMiwgMjMxLCAxNjQsIAorICAgIDIsIDgwLCA3OCwgMTcsIDgsIDI4LCAyMTIsIDE5NSwgMiwgODAsIDIsIDE0MCwgNDIsIDE3LCA4LCAyOCwgMjEyLCAxOTUsIAorICAgIDIsIDgwLCAyLCAxNDAsIDc4LCAxNywgOCwgMjgsIDIxMiwgMTk1LCAyLCA4MCwgMiwgODAsIDc4LCAxNywgOCwgMjgsIDIxMiwgCisgICAgMTk1LCAyLCA4MCwgMiwgODcsIDQyLCAxNywgOCwgMjgsIDI1MiwgMjAxLCAyLCAxNzEsIDIsIDgwLCA0MiwgMTcsIDgsIDI4LCAKKyAgICAyNTIsIDIwMSwgMiwgODAsIDIsIDgwLCA0MiwgMTcsIDgsIDI4LCAyNTIsIDIwMSwgMiwgODAsIDIsIDgwLCA3OCwgMTcsIDgsIAorICAgIDI4LCAyNTIsIDIwMSwgMiwgODAsIDIsIDEyNiwgMjI3LCAyMjksIDQyLCAxNywgOCwgMjgsIDI0MCwgOTUsIDIsIDgwLCAyLCAKKyAgICA4MCwgNDIsIDE3LCA4LCAyOCwgMjQwLCA5NSwgMiwgODAsIDIsIDg3LCA0MiwgMTcsIDgsIDI4LCAyNDAsIDk1LCAyLCA4MCwgCisgICAgMiwgMTI2LCAyMjcsIDIyOSwgNDIsIDE3LCA4LCAyOCwgMjQyLCAxNiwgMiwgMjMxLCAxNjQsIDIsIDgwLCA0MiwgMTcsIDgsIAorICAgIDI4LCAyNDIsIDE2LCAyLCAyMzEsIDE2NCwgMiwgODAsIDc4LCAxNywgOCwgMjgsIDIyMCwgMTMsIDIsIDgwLCAyLCAxNDAsIAorICAgIDQyLCAxNywgOCwgMjgsIDIyMCwgMTMsIDIsIDgwLCAyLCA4MCwgNDIsIDE3LCA4LCAyOCwgMjMwLCAxMDcsIDIsIDE0MCwgMiwgCisgICAgODAsIDQyLCAxNywgOCwgMjgsIDIzMCwgMTA3LCAyLCAxNDAsIDIsIDg3LCA0MiwgMTcsIDgsIDI4LCAyMzAsIDEwNywgMiwgCisgICAgMTQwLCAyLCAxMjYsIDIyNywgMjI5LCA0MiwgMTcsIDgsIDI4LCAyMzAsIDEwNywgMiwgMTcxLCAyLCAxNzEsIDc4LCAxNywgCisgICAgOCwgMjgsIDIzMCwgMTA3LCAyLCAxNzEsIDIsIDE3MSwgNDIsIDE3LCA4LCAyOCwgMjMwLCAxMDcsIDIsIDIzMSwgMTY0LCAyLCAKKyAgICA4MCwgNDIsIDE3LCA4LCAyOCwgMjMwLCAxMDcsIDIsIDIzMSwgMTY0LCAyLCA4MCwgNzgsIDE3LCA4LCAyOCwgMjMwLCAxMDcsIAorICAgIDIsIDgwLCAyLCAxNDAsIDQyLCAxNywgOCwgMjgsIDIzMCwgMTA3LCAyLCA4MCwgMiwgMTQwLCA3OCwgMTcsIDgsIDI4LCA4MCwgCisgICAgMiwgMTQwLCAyLCAxNzEsIDc4LCAxNywgOCwgMjgsIDgwLCAyLCAxNDAsIDIsIDgwLCA3OCwgMTcsIDgsIDI4LCA4MCwgMiwgCisgICAgMTQwLCAyLCA4NywgNDIsIDE3LCA4LCAyOCwgODAsIDIsIDE3MSwgMiwgMTQwLCA3OCwgMTcsIDgsIDI4LCA4MCwgMiwgMTcxLCAKKyAgICAyLCA4MCwgNzgsIDE3LCA4LCAyOCwgODAsIDIsIDIzMSwgMTY0LCAyLCAxNzEsIDc4LCAxNywgOCwgMjgsIDgwLCAyLCAyMzEsIAorICAgIDE2NCwgMiwgODAsIDc4LCAxNywgOCwgMjgsIDgwLCAyLCAxNzEsIDIsIDIzMSwgMTY0LCA3OCwgMTcsIDgsIDI4LCAyMzksIAorICAgIDUxLCAyLCA4MCwgMiwgMTcxLCA3OCwgMTcsIDgsIDI4LCAyMzksIDUxLCAyLCA4MCwgMiwgODAsIDc4LCAxNywgOCwgMjgsIAorICAgIDIyNCwgNTUsIDIsIDE0MCwgMiwgODAsIDc4LCAxNywgOCwgMjgsIDIyNCwgNTUsIDIsIDE0MCwgMiwgMTI2LCAyMjcsIDIyOSwgCisgICAgNDIsIDE3LCA4LCAyOCwgMjI0LCA1NSwgMiwgMTcxLCAyLCA4MCwgNDIsIDE3LCA4LCAyOCwgMjI0LCA1NSwgMiwgMTcxLCAyLCAKKyAgICA4MCwgNzgsIDE3LCA4LCAyOCwgMjI0LCA1NSwgMiwgMTcxLCAyLCAxMjYsIDIyNywgMjI5LCA0MiwgMTcsIDgsIDI4LCAyMjQsIAorICAgIDU1LCAyLCA4MCwgMiwgODcsIDQyLCAxNywgOCwgMjgsIDIyNCwgNTUsIDIsIDgwLCAyLCAxMjYsIDIyNywgMjI5LCA0MiwgCisgICAgMTcsIDgsIDI4LCA4NywgMiwgODAsIDIsIDgwLCA0MiwgMTcsIDgsIDI4LCA4NywgMiwgODAsIDIsIDgwLCA3OCwgMTcsIDgsIAorICAgIDI4LCAyNTAsIDM5LCAyLCAyMzEsIDE2NCwgMiwgODcsIDQyLCAxNywgOCwgMjgsIDIxMiwgMTE2LCAyLCAxNzEsIDIsIDg3LCAKKyAgICA0MiwgMTcsIDgsIDI4LCAyMTIsIDExNiwgMiwgMTcxLCAyLCAxMjYsIDIyNywgMjI5LCA0MiwgMTcsIDgsIDI4LCAyMTIsIAorICAgIDExNiwgMiwgMjMxLCAxNjQsIDIsIDg3LCA0MiwgMTcsIDgsIDI4LCAyMTIsIDExNiwgMiwgMjMxLCAxNjQsIDIsIDEyNiwgCisgICAgMjI3LCAyMjksIDQyLCAxNywgOCwgMjgsIDIxMiwgMTE2LCAyLCA4MCwgMiwgODcsIDQyLCAxNywgOCwgMjgsIDIxMiwgMTE2LCAKKyAgICAyLCA4MCwgMiwgMTI2LCAyMjcsIDIyOSwgNDIsIDE3LCA4LCAyOCwgMTcxLCAyLCA4MCwgMiwgODcsIDQyLCAxNywgOCwgMjgsIAorICAgIDE3MSwgMiwgMTQwLCAyLCAxMjYsIDIyNywgMjI5LCA0MiwgMTcsIDgsIDI4LCAxNzEsIDIsIDgwLCAyLCAxMjYsIDIyNywgCisgICAgMjI5LCA0MiwgMTcsIDgsIDI4LCAyMTcsIDcxLCAyLCAyMzEsIDE2NCwgMiwgMTI2LCAyMjcsIDIyOSwgNDIsIDE3LCA4LCAKKyAgICAyOCwgMjE3LCAxOTIsIDIsIDE0MCwgMiwgODcsIDQyLCAxNywgOCwgMjgsIDIxNSwgMjExLCAyLCAxNDAsIDIsIDg3LCA0MiwgCisgICAgMTcsIDgsIDI4LCAyNDYsIDE0MSwgMiwgMTQwLCAyLCA4NywgNDIsIDE3LCA4LCAyOCwgMjMwLCAxMDcsIDIsIDE3MSwgMiwgCisgICAgODcsIDQyLCAxNywgOCwgMjgsIDIzMCwgMTA3LCAyLCA4MCwgMiwgODcsIDQyLCAxNywgOCwgMjgsIDg3LCAyLCAxNDAsIDIsIAorICAgIDg3LCA0MiwgMTcsIDgsIDI4LCA4NywgMiwgMTcxLCAyLCA4NywgNDIsIDE3LCA4LCAyOCwgODcsIDIsIDgwLCAyLCA4NywgCisgICAgNDIsIDE3LCA4LCAyOCwgODAsIDIsIDgwLCAyLCA4NywgNDIsIDE3LCA4LCAyOCwgMjIwLCAxMywgMiwgODAsIDIsIDg3LCAKKyAgICA0MiwgMTcsIDgsIDI4LCAyMjQsIDU1LCAyLCAxNDAsIDIsIDg3LCA0MiwgMTcsIDgsIDI4LCAyMjAsIDEzLCAyLCA4MCwgMiwgCisgICAgMTQwLCA3OCwgMTcsIDgsIDI4LCAyMzAsIDEwNywgMiwgMTQwLCAyLCA4MCwgNzgsIDE3LCA4LCAyOCwgMjUyLCAyMDEsIDIsIAorICAgIDgwLCAyLCA4NywgNDIsIDE3LCA4LCAyOCwgMjMyLCA0NiwgMiwgODAsIDIsIDg3LCA0MiwgMTcsIDgsIDI4LCAyMjQsIDU1LCAKKyAgICAyLCAxNzEsIDIsIDE0MCwgNzgsIDE3LCA4LCAyOCwgODAsIDIsIDIzMSwgMTY0LCAyLCA4NywgNDIsIDE3LCA4LCAyOCwgCisgICAgMjMwLCAxMDcsIDIsIDE3MSwgMiwgODAsIDc4LCAxNywgOCwgMjgsIDIzMiwgNDYsIDIsIDgwLCAyLCA4MCwgNDIsIDE3LCA4LCAKKyAgICAyOCwgMjMwLCAxMDcsIDIsIDE3MSwgMiwgODAsIDQyLCAxNywgOCwgMjgsIDIyNCwgNTUsIDIsIDE3MSwgMiwgMTQwLCA0MiwgCisgICAgMTcsIDgsIDI4LCAxNzEsIDIsIDE0MCwgMiwgODcsIDQyLCAxNywgOCwgMjgsIDE0MCwgMiwgMTcxLCAyLCA4NywgNDIsIDE3LCAKKyAgICA4LCAyOCwgODAsIDIsIDE3MSwgMiwgODcsIDQyLCAxNywgOCwgMjgsIDI0MiwgMTYsIDIsIDgwLCAyLCA4NywgNDIsIDE3LCAKKyAgICA4LCAyOCwgMjUwLCAzOSwgMiwgMTQwLCAyLCA4NywgNDIsIDE3LCA4LCAyOCwgMjMyLCA0NiwgMiwgODAsIDIsIDgwLCA3OCwgCisgICAgMTcsIDgsIDI4LCAyNTIsIDIwMSwgMiwgMTcxLCAyLCA4MCwgNzgsIDE3LCA4LCAyOCwgMjE3LCAxOTIsIDIsIDgwLCAyLCAKKyAgICA4MCwgNzgsIDE3LCA4LCAyOCwgMjE3LCA3MSwgMiwgMjMxLCAxNjQsIDIsIDg3LCA0MiwgMTcsIDgsIDI4LCAyMjQsIDU1LCAKKyAgICAyLCAxNzEsIDIsIDg3LCA0MiwgMTcsIDgsIDI4LCAyMTcsIDE2OCwgMjA5LCAxNzIsIDI1MSwgMjMyLCAyMzEsIDI1LCAyMTMsIAorICAgIDI1MiwgMywgNjEsIDE3LCA4LCAyOCwgMjIwLCA5LCAyMDksIDE3MiwgMjUxLCAyMzIsIDIzMSwgMjUsIDIxMywgMjUyLCAzLCAKKyAgICA2MSwgMTcsIDgsIDI4LCAyNTIsIDE1NSwgNjEsIDE3LCA4LCAyOCwgMjUyLCAxODYsIDYxLCAxNywgOCwgMjgsIDIyNiwgCisgICAgMTcxLCA2MSwgMTcsIDgsIDI4LCAyMTcsIDE2OSwgNjEsIDE3LCA4LCAyOCwgMjE5LCA2NywgNjEsIDE3LCA4LCAyOCwgMjUyLCAKKyAgICAxNzUsIDYxLCAxNywgOCwgMjgsIDIwNywgNzksIDYxLCAxNywgOCwgMjgsIDIxNywgMTY4LCA2MSwgMTcsIDgsIDI4LCAyMTcsIAorICAgIDE2NywgMjUyLCAxNzUsIDIwNywgNzgsIDgsIDI4LCAyMzIsIDE5MiwgMjE4LCAyMDcsIDUzLCA4LCAyOCwgMjQ5LCAyMTEsIAorICAgIDI1MiwgMzUsIDI1MiwgMzYsIDU0LCAyMTcsIDU4LCA1NCwgMjE2LCAyMDMsIDU0LCAyMTYsIDEzNSwgNTQsIDIxNiwgMTI0LCAKKyAgICA1NCwgMjE2LCAxMTMsIDU0LCAyMTYsIDEwMiwgNTQsIDIxNiwgOTEsIDU0LCAyMTYsIDgwLCA1NCwgMjE2LCA2OSwgNTQsIAorICAgIDIxNywgNTcsIDU0LCAyMTcsIDQ2LCA1NCwgMjE3LCAzNSwgNTQsIDIxNywgMjQsIDU0LCAyMTcsIDEzLCA1NCwgMjE3LCAyLCAKKyAgICA1NCwgMjE2LCAyNDcsIDIyMCwgMTMxLCAyNDEsIDEzNiwgMzMsIDc5LCAyNDcsIDE1NSwgMjIwLCAxMzEsIDI0MSwgMTM2LCAKKyAgICAzMywgNzksIDEyOCwgMjQ3LCAxNTUsIDIyMCwgMTMxLCAyNDEsIDEzNiwgMzMsIDc5LCAxMjgsIDI0MSwgODIsIDIxMywgCisgICAgMjUxLCAyMjAsIDEzMSwgMjQxLCAxMzYsIDMzLCA3OSwgMjQ3LCAxNjIsIDIyMCwgMTMxLCAyNDEsIDEzNiwgMzMsIDc5LCAKKyAgICAyMTYsIDUyLCAyMjAsIDEzMSwgMjQxLCAxMzYsIDMzLCA3OSwgMjQyLCAxNjgsIDgzLCAyMjAsIDEzMSwgMjQxLCAxMzYsIAorICAgIDMzLCA3OSwgMjE5LCAxOTYsIDgzLCAyMjAsIDEzMSwgMjQxLCAxMzYsIDMzLCA3OSwgNDcsIDU5LCAyMzAsIDE2LCAxNDUsIAorICAgIDIyMCwgMTMxLCAyNDEsIDEzNiwgMzMsIDc5LCA0OCwgNTksIDIzMCwgMTYsIDI0OSwgMTMyLCAyMjAsIDEzMSwgMjQxLCAKKyAgICAxMzYsIDMzLCA3OSwgMTk0LCAyNDMsIDU0LCAzNiwgMjgsIDQ3LCAyMzksIDEyMSwgMzYsIDI4LCA0OCwgMjM5LCAxMjEsIAorICAgIDM2LCA1MCwgMjExLCAxODEsIDQ3LCAyMzksIDEyMSwgMzYsIDUwLCAyMTEsIDE4MSwgNDgsIDIzOSwgMTIxLCAzNiwgMjI4LCAKKyAgICAxNCwgNDcsIDIzOSwgMTIxLCAzNiwgMjI4LCAxNCwgNDgsIDIzOSwgMTIxLCAzNiwgMjQ3LCAxMzAsIDIyOCwgMTMsIDM2LCAKKyAgICAyOCwgNDcsIDE2MCwgNTUsIDM2LCAyOCwgNDgsIDE2MCwgNTUsIDM2LCAyMTEsIDE4MSwgNDcsIDE2MCwgNTUsIDM2LCAyMTEsIAorICAgIDE4MSwgNDgsIDE2MCwgNTUsIDM2LCAyMjgsIDE0LCA0NywgMTYwLCA1NSwgMzYsIDIyOCwgMTQsIDQ4LCAxNjAsIDU1LCAzNiwgCisgICAgMjQ3LCAxMzAsIDIyOCwgMTQsIDU1LCAyMjAsIDEzMSwgMjQxLCAxMzYsIDMzLCA3OSwgMTE4LCA2NywgMjMwLCA1NiwgMjIwLCAKKyAgICAxMzEsIDI0MSwgMTM2LCAzMywgNzksIDI0MywgNTEsIDI0NiwgNzgsIDIyMCwgMTMxLCAyNDEsIDEzNiwgMzMsIDc5LCAyNDMsIAorICAgIDQyLCAyNDYsIDc4LCAyMjAsIDEzMSwgMjQxLCAxMzYsIDMzLCA3OSwgMTE0LCAyMjksIDIwNSwgMjIwLCAxMzEsIDI0MSwgCisgICAgMTM2LCAzMywgNzksIDIwNywgNjEsIDExNCwgMjI5LCAyMDUsIDIyMCwgMTMxLCAyNDEsIDEzNiwgMzMsIDc5LCA0NywgMjIxLCAKKyAgICAyMTYsIDIyMCwgMTMxLCAyNDEsIDEzNiwgMzMsIDc5LCA0OCwgMjIxLCAyMTYsIDIyMCwgMTMxLCAyNDEsIDEzNiwgMzMsIAorICAgIDc5LCA0NywgMjQ3LCAyNiwgMTQ1LCAyMjAsIDEzMSwgMjQxLCAxMzYsIDMzLCA3OSwgNDgsIDI0NywgMjYsIDE0NSwgMjIwLCAKKyAgICAxMzEsIDI0MSwgMTM2LCAzMywgNzksIDQ3LCAyMTEsIDkzLCAyMTUsIDIwNCwgMTQ1LCAyMjAsIDEzMSwgMjQxLCAxMzYsIAorICAgIDMzLCA3OSwgNDgsIDIxMSwgOTMsIDIxNSwgMjA0LCAxNDUsIDIyMCwgMTMxLCAyNDEsIDEzNiwgMzMsIDc5LCA0NywgNjAsIAorICAgIDIzMCwgMTYsIDE0NSwgMjIwLCAxMzEsIDI0MSwgMTM2LCAzMywgNzksIDQ4LCA2MCwgMjMwLCAxNiwgMTQ1LCAyMjAsIDEzMSwgCisgICAgMjQxLCAxMzYsIDMzLCA3OSwgNDcsIDUwLCAyNTIsIDEwOSwgMTQ1LCAyMjAsIDEzMSwgMjQxLCAxMzYsIDMzLCA3OSwgNDgsIAorICAgIDUwLCAyNTIsIDEwOSwgMTQ1LCAyMjAsIDEzMSwgMjQxLCAxMzYsIDMzLCA3OSwgNDcsIDI1MiwgMTA5LCAxNDUsIDIyMCwgCisgICAgMTMxLCAyNDEsIDEzNiwgMzMsIDc5LCA0OCwgMjUyLCAxMDksIDE0NSwgMjIwLCAxMzEsIDI0MSwgMTM2LCAzMywgNzksIDQ3LCAKKyAgICAyNDcsIDkyLCAxNDUsIDIyMCwgMTMxLCAyNDEsIDEzNiwgMzMsIDc5LCA0OCwgMjQ3LCA5MiwgMTQ1LCAyMjAsIDEzMSwgCisgICAgMjQxLCAxMzYsIDMzLCA3OSwgNDcsIDU5LCAyNDcsIDkyLCAxNDUsIDIyMCwgMTMxLCAyNDEsIDEzNiwgMzMsIDc5LCA0OCwgCisgICAgNTksIDI0NywgOTIsIDE0NSwgMjE2LCAzMiwgMjQ1LCAyMywgNTksIDIxNiwgMzIsIDI0NSwgMjMsIDIyMCwgMTMxLCAyNDEsIAorICAgIDEzNiwgMzMsIDc5LCA0NywgNDksIDE0NSwgMjIwLCAxMzEsIDI0MSwgMTM2LCAzMywgNzksIDQ4LCA0OSwgMTQ1LCAyNDYsIAorICAgIDc3LCAyMjIsIDgxLCAyNDgsIDEyNSwgMjIyLCA4MSwgMjA3LCA2MSwgMjIyLCA4MSwgNTAsIDIwNywgNjEsIDIyMiwgODEsIAorICAgIDI0NiwgNzcsIDExNCwgMjI5LCAyMDUsIDI0OCwgMTI1LCAxMTQsIDIyOSwgMjA1LCAyMDcsIDYxLCAxMTQsIDIyOSwgMjA1LCAKKyAgICA1LCAyNDcsIDE1NSwgNSwgMTI4LCAyNDcsIDE1NSwgNSwgMjQxLCA4MiwgMjEzLCAyNTEsIDUsIDIxNiwgNTIsIDUsIDI0NywgCisgICAgMTYyLCA1LCAyMTksIDE5NiwgODMsIDUsIDI0MiwgMTY4LCA4MywgNSwgMjQzLCA1MSwgMjQ2LCA3OCwgNSwgNDcsIDIyMSwgCisgICAgMjE2LCA1LCA0OCwgMjIxLCAyMTYsIDUsIDQ3LCAyNDcsIDI2LCAxNDUsIDUsIDQ4LCAyNDcsIDI2LCAxNDUsIDUsIDQ3LCAKKyAgICAyMTEsIDkzLCAyMTUsIDIwNCwgMTQ1LCA1LCA0OCwgMjExLCA5MywgMjE1LCAyMDQsIDE0NSwgNSwgNDMsIDUzLCA1LCAyNTIsIAorICAgIDEyNSwgNSwgMjUxLCAyMDksIDUsIDEwMSwgNTMsIDUsIDIzNywgMjM4LCA1LCAyMzAsIDEwLCA1MywgNSwgMjM5LCAyMzAsIAorICAgIDUzLCA1LCAyNDIsIDI0MiwgNTMsIDUsIDIxOCwgMjI1LCAyMTQsIDE4MCwgNSwgMjQ1LCAzNSwgNTMsIDUsIDIyMSwgMTMxLCAKKyAgICA1MywgNSwgMjQ3LCAxNTMsIDI1MSwgMTk5LCA4LCAyNDIsIDM4LCA2MSwgMTcsIDgsIDIxMiwgMTU0LCAyLCAyNDIsIDM4LCAKKyAgICA1MiwgOCwgMjQ2LCAxMDUsIDYxLCAxNywgOCwgMjEyLCAxOTIsIDI0MSwgMTE1LCA4LCAyMzEsIDI1MSwgNjEsIDE3LCA4LCAKKyAgICAyNDIsIDQwLCA2MSwgMTcsIDgsIDI0MiwgNDAsIDE2OSwgMTcsIDgsIDI0NiwgMTA3LCA2MSwgMTcsIDgsIDI0NiwgMTA3LCAKKyAgICAxNjksIDE3LCA4LCAyMzEsIDI1MywgNjEsIDE3LCA4LCAyMzEsIDI1MywgMTY5LCAxNywgOCwgMjE1LCAyNTAsIDYxLCAxNywgCisgICAgOCwgMjE1LCAyNTAsIDE2OSwgMTcsIDgsIDIxMywgMTYzLCA2MSwgMTcsIDgsIDIxMywgMTYzLCAxNjksIDE3LCA4LCAxLCAKKyAgICAyMzksIDExMiwgNjEsIDE3LCA4LCAxLCAxMjYsIDIsIDIyOCwgOSwgODQsIDYxLCAxNywgOCwgMSwgMTI2LCAyLCAyMjgsIDksIAorICAgIDg0LCA0MiwgMTcsIDgsIDEsIDEyNiwgMiwgMjM5LCAxMTIsIDg0LCA2MSwgMTcsIDgsIDEsIDEyNiwgMiwgMjM5LCAxMTIsIAorICAgIDg0LCA0MiwgMTcsIDgsIDEsIDIwNywgNjAsIDIsIDIzOSwgMTEyLCA4NCwgNjEsIDE3LCA4LCAxLCAyMDcsIDYwLCAyLCAKKyAgICAyMzksIDExMiwgODQsIDQyLCAxNywgOCwgMSwgMTI2LCAyLCAyMzksIDExMiwgMjUwLCAyNiwgNjEsIDE3LCA4LCAxLCAxMjYsIAorICAgIDIsIDIzOSwgMTEyLCAyNTAsIDI2LCA0MiwgMTcsIDgsIDEsIDg3LCAyLCAyMzksIDExMiwgODQsIDYxLCAxNywgOCwgMSwgCisgICAgODcsIDIsIDIzOSwgMTEyLCA4NCwgNDIsIDE3LCA4LCAxLCA4NywgMiwgMjM5LCAxMTIsIDg0LCA3OCwgMTcsIDgsIDEsIDg3LCAKKyAgICAyLCAyMzksIDExMiwgODQsIDE2OSwgMTcsIDgsIDEsIDEyNiwgNjEsIDE3LCA4LCAxLCAxMjYsIDQyLCAxNywgOCwgMSwgCisgICAgMjUwLCAzOSwgNjEsIDE3LCA4LCAxLCAyNTAsIDM5LCA0MiwgMTcsIDgsIDEsIDI1MCwgMzksIDc4LCAxNywgOCwgMSwgMjUwLCAKKyAgICAzOSwgMTY5LCAxNywgOCwgMSwgMjEyLCAxMTYsIDIyNywgMTk4LCA2MSwgMTcsIDgsIDEsIDIxMiwgMTE2LCAyMjcsIDE5OCwgCisgICAgNDIsIDE3LCA4LCAxLCAyMTIsIDExNiwgNjEsIDE3LCA4LCAxLCAyMTIsIDExNiwgNDIsIDE3LCA4LCAxLCAyMTIsIDExNiwgCisgICAgNzgsIDE3LCA4LCAxLCAyMTIsIDExNiwgMTY5LCAxNywgOCwgMSwgMjEyLCAzOCwgNjEsIDE3LCA4LCAxLCAyMTIsIDM4LCAKKyAgICA0MiwgMTcsIDgsIDEsIDIxMiwgMzgsIDc4LCAxNywgOCwgMSwgMjEyLCAzOCwgMTY5LCAxNywgOCwgMSwgMTcxLCA2MSwgMTcsIAorICAgIDgsIDEsIDE3MSwgNDIsIDE3LCA4LCAxLCAxNzEsIDc4LCAxNywgOCwgMSwgMTcxLCAxNjksIDE3LCA4LCAxLCAxNDAsIDYxLCAKKyAgICAxNywgOCwgMSwgMTQwLCA0MiwgMTcsIDgsIDEsIDE0MCwgNzgsIDE3LCA4LCAxLCAxNDAsIDE2OSwgMTcsIDgsIDEsIDIzMSwgCisgICAgMTY0LCA2MSwgMTcsIDgsIDEsIDIzMSwgMTY0LCA0MiwgMTcsIDgsIDEsIDIzMSwgMTY0LCA3OCwgMTcsIDgsIDEsIDIzMSwgCisgICAgMTY0LCAxNjksIDE3LCA4LCAxLCAyNDYsIDExOCwgNjEsIDE3LCA4LCAxLCAyNDYsIDExOCwgNDIsIDE3LCA4LCAxLCAyMTIsIAorICAgIDUwLCA2MSwgMTcsIDgsIDEsIDIxMiwgNTAsIDQyLCAxNywgOCwgMSwgMjE5LCAxNywgNjEsIDE3LCA4LCAxLCAyMTksIDE3LCAKKyAgICA0MiwgMTcsIDgsIDEsIDIwNSwgMTA5LCA2MSwgMTcsIDgsIDEsIDIwNSwgMTA5LCA0MiwgMTcsIDgsIDEsIDIxNywgNzEsIAorICAgIDYxLCAxNywgOCwgMSwgMjE3LCA3MSwgNDIsIDE3LCA4LCAxLCAyMTcsIDcxLCA3OCwgMTcsIDgsIDEsIDIxNywgNzEsIDE2OSwgCisgICAgMTcsIDgsIDEsIDIxNSwgMjExLCA2MSwgMTcsIDgsIDEsIDIxNSwgMjExLCA0MiwgMTcsIDgsIDEsIDIxNSwgMjExLCA3OCwgCisgICAgMTcsIDgsIDEsIDIxNSwgMjExLCAxNjksIDE3LCA4LCAxLCAyMTcsIDE5MiwgNjEsIDE3LCA4LCAxLCAyMTcsIDE5MiwgNDIsIAorICAgIDE3LCA4LCAxLCAyMTcsIDE5MiwgNzgsIDE3LCA4LCAxLCAyMTcsIDE5MiwgMTY5LCAxNywgOCwgMSwgMjQ2LCAxNDEsIDYxLCAKKyAgICAxNywgOCwgMSwgMjQ2LCAxNDEsIDQyLCAxNywgOCwgMSwgMjQ2LCAxNDEsIDc4LCAxNywgOCwgMSwgMjQ2LCAxNDEsIDE2OSwgCisgICAgMTcsIDgsIDEsIDIxMiwgMTk1LCA2MSwgMTcsIDgsIDEsIDIxMiwgMTk1LCA0MiwgMTcsIDgsIDEsIDIxMiwgMTk1LCA3OCwgCisgICAgMTcsIDgsIDEsIDIxMiwgMTk1LCAxNjksIDE3LCA4LCAxLCAyMDUsIDExMiwgNjEsIDE3LCA4LCAxLCAyMDUsIDExMiwgNDIsIAorICAgIDE3LCA4LCAxLCAyMDUsIDExMiwgNzgsIDE3LCA4LCAxLCAyMDUsIDExMiwgMTY5LCAxNywgOCwgMSwgMjUyLCAyMDEsIDYxLCAKKyAgICAxNywgOCwgMSwgMjUyLCAyMDEsIDQyLCAxNywgOCwgMSwgMjUyLCAyMDEsIDc4LCAxNywgOCwgMSwgMjUyLCAyMDEsIDE2OSwgCisgICAgMTcsIDgsIDEsIDI0MCwgOTUsIDYxLCAxNywgOCwgMSwgMjQwLCA5NSwgNDIsIDE3LCA4LCAxLCAyNDAsIDk1LCA3OCwgMTcsIAorICAgIDgsIDEsIDI0MCwgOTUsIDE2OSwgMTcsIDgsIDEsIDI0MiwgMTYsIDYxLCAxNywgOCwgMSwgMjQyLCAxNiwgNDIsIDE3LCA4LCAKKyAgICAxLCAyNDIsIDE2LCA3OCwgMTcsIDgsIDEsIDI0MiwgMTYsIDE2OSwgMTcsIDgsIDEsIDIyMCwgMTMsIDYxLCAxNywgOCwgMSwgCisgICAgMjIwLCAxMywgNDIsIDE3LCA4LCAxLCAyMjAsIDEzLCA3OCwgMTcsIDgsIDEsIDIyMCwgMTMsIDE2OSwgMTcsIDgsIDEsIAorICAgIDIzMiwgNDYsIDYxLCAxNywgOCwgMSwgMjMyLCA0NiwgNDIsIDE3LCA4LCAxLCAyMzIsIDQ2LCA3OCwgMTcsIDgsIDEsIDIzMiwgCisgICAgNDYsIDE2OSwgMTcsIDgsIDEsIDIzMCwgMTA3LCA2MSwgMTcsIDgsIDEsIDIzMCwgMTA3LCA0MiwgMTcsIDgsIDEsIDIzMCwgCisgICAgMTA3LCA3OCwgMTcsIDgsIDEsIDIzMCwgMTA3LCAxNjksIDE3LCA4LCAxLCA4MCwgNjEsIDE3LCA4LCAxLCA4MCwgNDIsIDE3LCAKKyAgICA4LCAxLCA4MCwgNzgsIDE3LCA4LCAxLCA4MCwgMTY5LCAxNywgOCwgMSwgMjI0LCA1NSwgNjEsIDE3LCA4LCAxLCAyMjQsIAorICAgIDU1LCA0MiwgMTcsIDgsIDEsIDIyNCwgNTUsIDc4LCAxNywgOCwgMSwgMjI0LCA1NSwgMTY5LCAxNywgOCwgMSwgMjM5LCA1MSwgCisgICAgNjEsIDE3LCA4LCAxLCAyMzksIDUxLCA0MiwgMTcsIDgsIDEsIDIzOSwgNTEsIDc4LCAxNywgOCwgMSwgMjM5LCA1MSwgMTY5LCAKKyAgICAxNywgOCwgMSwgMjA3LCA2MCwgNjEsIDE3LCA4LCAxLCAyMDcsIDYwLCA0MiwgMTcsIDgsIDEsIDEyNiwgMjI3LCAyMjksIAorICAgIDYxLCAxNywgOCwgMSwgMTI2LCAyMjcsIDIyOSwgNDIsIDE3LCA4LCAxLCA4NywgNjEsIDE3LCA4LCAxLCA4NywgNDIsIDE3LCAKKyAgICA4LCAxLCA4NywgNzgsIDE3LCA4LCAxLCA4NywgMTY5LCAxNywgOCwgMjgsIDIzMCwgMTA3LCAyLCAxMjYsIDIsIDIyOCwgOSwgCisgICAgODQsIDYxLCAxNywgOCwgMjgsIDIzMCwgMTA3LCAyLCAxMjYsIDIsIDIyOCwgOSwgODQsIDQyLCAxNywgOCwgMjgsIDIzMCwgCisgICAgMTA3LCAyLCAxMjYsIDIsIDIzOSwgMTEyLCA4NCwgNjEsIDE3LCA4LCAyOCwgMjMwLCAxMDcsIDIsIDEyNiwgMiwgMjM5LCAKKyAgICAxMTIsIDg0LCA0MiwgMTcsIDgsIDI4LCAyMzAsIDEwNywgMiwgMTI2LCAyLCAyMzksIDExMiwgMjUwLCAyNiwgNjEsIDE3LCAKKyAgICA4LCAyOCwgMjMwLCAxMDcsIDIsIDEyNiwgMiwgMjM5LCAxMTIsIDI1MCwgMjYsIDQyLCAxNywgOCwgMjgsIDIzMCwgMTA3LCAKKyAgICAyLCAxMjYsIDYxLCAxNywgOCwgMjgsIDIzMCwgMTA3LCAyLCAxMjYsIDQyLCAxNywgMjA1LCA4NiwgMjA3LCAxNSwgMjI0LCAKKyAgICA2NiwgMjE0LCAxNTMsIDE0NCwgMjQyLCAxNjgsIDgzLCAxNDQsIDIxOSwgMTgwLCA4MywgMTQ0LCA0MywgNTMsIDE0NCwgCisgICAgMjQ1LCAzNSwgNTMsIDE0NCwgMjIxLCAxMzEsIDUzLCAxNDQsIDI1MiwgMTI1LCAxNDQsIDI1MiwgNTMsIDE0NCwgNDcsIAorICAgIDIyMSwgMjE2LCAxNDQsIDQ4LCAyMjEsIDIxNiwgMTQ0LCAyNTEsIDIwOSwgMTQ0LCAxMDEsIDUzLCAxNDQsIDI0NywgMTU1LCAKKyAgICAxNDQsIDIzNywgMjM4LCAxNDQsIDI0MSwgODIsIDIxMywgMjUxLCAxNDQsIDIxNCwgMTgwLCAxNDQsIDE4LCAyMDUsIDg1LCAKKyAgICAxNDQsIDE4LCAxMDIsIDE0NCwgMTgsIDEwNSwgMTQ0LCAxOCwgMTQyLCAxNDQsIDE4LCAxMzksIDE0NCwgMTgsIDE2OCwgCisgICAgMTQ0LCAxOCwgMTg0LCAxNDQsIDE4LCAxOTUsIDE0NCwgMTgsIDE5MywgMTQ0LCAxOCwgMjAwLCAxNDQsIDI0NywgMTYyLCAKKyAgICAxNDQsIDIxNiwgNTIsIDE0NCwgMjMwLCAxMCwgNTMsIDE0NCwgMjQyLCAyNDIsIDUzLCAxNDQsIDIzOSwgMjMwLCA1MywgCisgICAgMTQ0LCAyMTksIDE5NiwgODMsIDE0NCwgMjQ3LCAxNTMsIDI1MSwgMTk5LCAxNDQsIDcsIDYsIDEsIDYyLCAxNDQsIDcsIDYsIAorICAgIDEsIDI1MSwgMTUwLCAxNDQsIDcsIDYsIDEsIDI0OSwgMzQsIDE0NCwgNywgNiwgMSwgMjQ2LCAyNDAsIDE0NCwgNywgNiwgMSwgCisgICAgNzUsIDE0NCwgNywgNiwgMSwgMjQyLCAxMzksIDE0NCwgNywgNiwgMSwgMjQxLCA1NSwgMTQ0LCA3LCA2LCAxLCAyMzksIAorICAgIDE1NSwgMTQ0LCA3LCA2LCAxLCA3NCwgMTQ0LCA3LCA2LCAxLCAyMzIsIDIwMywgMTQ0LCA3LCA2LCAxLCAyMzIsIDc2LCAKKyAgICAxNDQsIDcsIDYsIDEsIDE0OSwgMTQ0LCA3LCA2LCAxLCAyMjksIDI4LCAxNDQsIDcsIDYsIDEsIDIyNiwgMzMsIDE0NCwgNywgCisgICAgNiwgMSwgNzYsIDE0NCwgNywgNiwgMSwgMjIyLCA2NywgMTQ0LCA3LCA2LCAxLCAyMjAsIDI3LCAxNDQsIDcsIDYsIDEsIAorICAgIDEzNywgMTQ0LCA3LCA2LCAxLCAxODIsIDE0NCwgNywgNiwgMSwgMjEzLCAxMCwgMTQ0LCA3LCA2LCAxLCA3MSwgMTQ0LCA3LCAKKyAgICA2LCAxLCAyMDksIDE0OCwgMTQ0LCA3LCA2LCAxLCAyMDcsIDEyOSwgMTQ0LCA3LCA2LCAxLCAyMDYsIDE5NSwgMTQ0LCA3LCAKKyAgICA2LCAxLCAyMDYsIDEyMywgMTQ0LCA3LCA2LCAxLCAyMDUsIDE1OSwgMTQ0LCA0NywgNDksIDE0NSwgMTQ0LCAyMTgsIDIyNSwgCisgICAgMjE0LCAxODAsIDE0NCwgNDgsIDQ5LCAxNDUsIDE0NCwgMjQ3LCAyMjgsIDI1MywgMjEsIDE0NCwgMTE0LCAyMjksIDIwNSwgCisgICAgMTQ0LCAyMzksIDIzNywgMjUzLCAyMSwgMTQ0LCA3LCA1LCAxLCA2MiwgMTQ0LCA3LCA1LCAxLCAyNTEsIDE1MCwgMTQ0LCA3LCAKKyAgICA1LCAxLCAyNDksIDM0LCAxNDQsIDcsIDUsIDEsIDI0NiwgMjQwLCAxNDQsIDcsIDUsIDEsIDc1LCAxNDQsIDcsIDUsIDEsIAorICAgIDI0MiwgMTM5LCAxNDQsIDcsIDUsIDEsIDI0MSwgNTUsIDE0NCwgNywgNSwgMSwgMjM5LCAxNTUsIDE0NCwgNywgNSwgMSwgCisgICAgNzQsIDE0NCwgNywgNSwgMSwgMjMyLCAyMDMsIDE0NCwgNywgNSwgMSwgMjMyLCA3NiwgMTQ0LCA3LCA1LCAxLCAxNDksIAorICAgIDE0NCwgNywgNSwgMSwgMjI5LCAyOCwgMTQ0LCA3LCA1LCAxLCAyMjYsIDMzLCAxNDQsIDcsIDUsIDEsIDc2LCAxNDQsIDcsIAorICAgIDUsIDEsIDIyMiwgNjcsIDE0NCwgNywgNSwgMSwgMjIwLCAyNywgMTQ0LCA3LCA1LCAxLCAxMzcsIDE0NCwgNywgNSwgMSwgCisgICAgMTgyLCAxNDQsIDcsIDUsIDEsIDIxMywgMTAsIDE0NCwgNywgNSwgMSwgNzEsIDE0NCwgNywgNSwgMSwgMjA5LCAxNDgsIAorICAgIDE0NCwgNywgNSwgMSwgMjA3LCAxMjksIDE0NCwgNywgNSwgMSwgMjA2LCAxOTUsIDE0NCwgNywgNSwgMSwgMjA2LCAxMjMsIAorICAgIDE0NCwgNywgNSwgMSwgMjA1LCAxNTksIDE0NCwgNDcsIDI0NywgMjYsIDE0NSwgMTQ0LCA3OSwgMjI5LCAyMDUsIDE0NCwgCisgICAgNDgsIDI0NywgMjYsIDE0NSwgMTQ0LCAyMTEsIDE4MCwgMTQ0LCA0NywgNTksIDIyMSwgMjE2LCAxNDQsIDQ4LCA1OSwgMjIxLCAKKyAgICAyMTYsIDExNiwgMTI4LCAyNDEsIDgyLCAyMTMsIDI1MSwgMTE2LCA0NywgMjQ3LCA5MiwgMTQ1LCAxMTYsIDQ4LCAyNDcsIAorICAgIDkyLCAxNDUsIDExNiwgMTI4LCAyNDcsIDE1NSwgMTE2LCA2NCwgMjI2LCAyNDcsIDI0NSwgMjMsIDExNiwgNjQsIDEsIDIwNiwgCisgICAgMjUwLCAxMTYsIDY0LCAxLCA1LCA2MiwgMTE2LCA2NCwgMSwgNSwgNzQsIDExNiwgNjQsIDEsIDUsIDcxLCAxMTYsIDY0LCAxLCAKKyAgICA1LCA3NSwgMTE2LCA2NCwgMSwgNSwgNzYsIDExNiwgNjQsIDEsIDUsIDE5MCwgMTE2LCA2NCwgMSwgNSwgMjA1LCAyMTMsIAorICAgIDExNiwgNjQsIDEsIDUsIDIwNSwgMjQ3LCAxMTYsIDY0LCAxLCA1LCAyMTAsIDE3MCwgMTE2LCAyMzEsIDI0OCwgMjIwLCAKKyAgICAxMDYsIDIxNCwgMTY1LCA4MywgMTE2LCA2NCwgMSwgNjIsIDExNiwgNjQsIDEsIDc0LCAxMTYsIDY0LCAxLCA3MSwgMTE2LCAKKyAgICA2NCwgMSwgNzUsIDExNiwgNjQsIDEsIDc2LCAxMTYsIDY0LCAxLCAxNzIsIDExNiwgNjQsIDEsIDIzMSwgMTIzLCAxMTYsIAorICAgIDY0LCAxLCAyMzAsIDIzNiwgMTE2LCA2NCwgMSwgMjMxLCAyMjQsIDExNiwgNjQsIDEsIDIzMSwgNTMsIDExNiwgNjQsIDEsIAorICAgIDIxNywgMTk5LCAxMTYsIDY0LCAxLCAyMTUsIDgwLCAxMTYsIDY0LCAxLCAyMTMsIDIwMywgMTE2LCA2NCwgMSwgMjE3LCA4NiwgCisgICAgMTE2LCA2NCwgMSwgMjE0LCAxOTMsIDExNiwgNjQsIDEsIDIxMiwgMjE5LCAxMTYsIDY0LCAxLCAyMTEsIDIxMSwgMTE2LCAKKyAgICA2NCwgMSwgMjEwLCAxNzAsIDExNiwgNjQsIDEsIDIxMiwgMTMxLCAxMTYsIDY0LCAxLCAxMjQsIDExNiwgNjQsIDEsIDE5OSwgCisgICAgMTE2LCA2NCwgMSwgMjI0LCAyMzAsIDExNiwgNjQsIDEsIDIyMywgMjE3LCAxMTYsIDY0LCAxLCAyMjUsIDExMCwgMTE2LCAKKyAgICA2NCwgMSwgMjI0LCA2NywgMTE2LCA2NCwgMSwgMTU1LCAxMTYsIDY0LCAxLCAyMzksIDExLCAxMTYsIDY0LCAxLCAyMzgsIAorICAgIDQyLCAxMTYsIDY0LCAxLCAyMzksIDcxLCAxMTYsIDY0LCAxLCAyMzgsIDE0OSwgMTE2LCA2NCwgMSwgMTg1LCAxMTYsIDY0LCAKKyAgICAxLCAyMjYsIDI1NCwgMTE2LCA2NCwgMSwgMjI2LCAxMTQsIDExNiwgNjQsIDEsIDIyNywgMTE5LCAxMTYsIDY0LCAxLCAyMjYsIAorICAgIDE4MSwgMTE2LCA2NCwgMSwgMTkwLCAxMTYsIDY0LCAxLCAyMDUsIDIxMywgMTE2LCA2NCwgMSwgMjA1LCAyNDcsIDExNiwgCisgICAgNjQsIDEsIDIxOSwgMTEzLCAxMTYsIDY0LCAxLCAyMTgsIDIwOCwgMTE2LCA2NCwgMSwgMjE4LCA1MCwgMTE2LCA2NCwgMSwgCisgICAgMjE5LCA1MSwgMTE2LCA2NCwgMSwgMjE4LCAxMjQsIDExNiwgNjQsIDEsIDIwNywgOTYsIDExNiwgNjQsIDEsIDIyNiwgMzMsIAorICAgIDExNiwgNjQsIDIwOCwgMTcwLCAyMTQsIDE2NSwgODMsIDExNiwgNjQsIDIxNiwgNTcsIDIxNCwgMTY1LCA4MywgMTE2LCAyNSwgCisgICAgMjQxLCAyMzIsIDExNiwgMjUsIDEsIDIzMSwgODQsIDExNiwgMjUsIDEsIDIxNCwgODgsIDExNiwgMjUsIDEsIDIzMSwgNzcsIAorICAgIDExNiwgMjUsIDEsIDIyNCwgMjIzLCAxMTYsIDI1LCAxLCAyMjQsIDIyMSwgMTE2LCAyNSwgMSwgMjI0LCAyMjAsIDExNiwgCisgICAgMjUsIDEsIDIxMSwgMTkzLCAxMTYsIDI1LCAxLCAyMTQsIDc3LCAxMTYsIDI1LCAxLCAyMTgsIDE5OCwgMTE2LCAyNSwgMSwgCisgICAgMjE4LCAxOTMsIDExNiwgMjUsIDEsIDIxOCwgMTkwLCAxMTYsIDI1LCAxLCAyMTgsIDE4MywgMTE2LCAyNSwgMSwgMjE4LCAKKyAgICAxNzgsIDExNiwgMjUsIDEsIDIxOCwgMTczLCAxMTYsIDI1LCAxLCAyMTgsIDE4NCwgMTE2LCAyNSwgMSwgMjE4LCAxOTYsIAorICAgIDExNiwgMjUsIDEsIDIyNiwgMjQwLCAxMTYsIDI1LCAxLCAyMjEsIDM5LCAxMTYsIDI1LCAxLCAyMTQsIDg1LCAxMTYsIDI1LCAKKyAgICAxLCAyMjEsIDI4LCAxMTYsIDI1LCAxLCAyMTUsIDMzLCAxMTYsIDI1LCAxLCAyMTQsIDgyLCAxMTYsIDI1LCAxLCAyMzMsIAorICAgIDEyNSwgMTE2LCAyNSwgMSwgMjQ3LCAyNDYsIDExNiwgMjUsIDEsIDIxNCwgOTIsIDExNiwgMjUsIDEsIDI0OCwgNTQsIDExNiwgCisgICAgMjUsIDEsIDIzMSwgMTQzLCAxMTYsIDI1LCAxLCAyMTIsIDE1LCAxMTYsIDI1LCAxLCAyMjEsIDc2LCAxMTYsIDI1LCAxLCAKKyAgICAyMzksIDMsIDExNiwgMjUsIDEsIDYyLCAxMTYsIDI1LCAxLCAyNTIsIDI0OCwgMTE2LCAyNSwgMSwgMTkwLCAxMTYsIDI1LCAKKyAgICAxLCAyMDYsIDk4LCAxMTYsIDI1LCAxLCAyNDMsIDYsIDExNiwgMjUsIDEsIDc1LCAxMTYsIDI1LCAxLCAyMDYsIDM5LCAxMTYsIAorICAgIDI1LCAxLCAyMDYsIDUyLCAxMTYsIDI1LCAxLCA3NiwgMTE2LCAyNSwgMSwgMjA3LCA5NiwgMTE2LCAyNSwgMSwgMjA3LCA5MiwgCisgICAgMTE2LCAyNSwgMSwgMjIyLCAyMDYsIDExNiwgMjUsIDEsIDIwNSwgMjQ3LCAxMTYsIDI1LCAxLCA3MSwgMTE2LCAyNSwgMSwgCisgICAgMjA3LCAzOCwgMTE2LCAyNSwgMSwgMjA3LCA1MSwgMTE2LCAyNSwgMSwgMjA3LCAyMCwgMTE2LCAyNSwgMSwgMjA1LCAyMTMsIAorICAgIDExNiwgMjUsIDEsIDI0MiwgMTkyLCAxMTYsIDI1LCAxLCAyMDYsIDExLCAxMTYsIDI1LCAxLCA3NCwgMTQ0LCAyNDgsIDEzMSwgCisgICAgNTMsIDE0NCwgMjIwLCAxNjUsIDUzLCAxNDQsIDIyNCwgNDMsIDUzLCAxNDQsIDIyOCwgMTMsIDE0NCwgMjQ5LCAxMTEsIAorICAgIDEzNCwgMTQ0LCAyMDYsIDQzLCA1MywgMTQ0LCAyMDYsIDI0MCwgNTMsIDExNiwgMjQxLCAxMzMsIDE0NywgMjA5LCAyMiwgCisgICAgMTE2LCA5MiwgNDUsIDExNiwgMTY3LCA0NSwgMTE2LCA4NiwgNDUsIDExNiwgMTczLCA0NSwgMTE2LCA2MCwgMjE0LCAxMDcsIAorICAgIDExNiwgNTksIDI0NywgMjMzLCAyMzMsIDE0LCAyNTIsIDk4LCAyNTIsIDExOSwgMjMzLCAxNCwgMjUyLCA5OCwgMjE2LCAzOSwgCisgICAgMjMzLCAxNCwgMjUyLCA5OCwgMjEyLCA4NiwgMjIyLCAyMjMsIDIxOCwgMjQ3LCAyNDgsIDk0LCAyMTgsIDI0NywgMjQ4LCAKKyAgICA5NCwgMjYsIDYzLCA0LCAyNTEsIDEzNCwgNjIsIDI2LCA2MywgNCwgMjUxLCAxMDMsIDc1LCAyNiwgNjMsIDQsIDI1MSwgCisgICAgMTEyLCA3NCwgMjYsIDYzLCA0LCAyNTEsIDgwLCA3NiwgMjYsIDYzLCA0LCAyNTEsIDEzMCwgNzEsIDI2LCA2MywgNCwgMjUxLCAKKyAgICAxNDksIDI0NiwgMTQ1LCAyNiwgNjMsIDQsIDI1MSwgOTYsIDI0NiwgOSwgMjYsIDYzLCA0LCAyNTEsIDEzNiwgMjQ1LCAxNjgsIAorICAgIDI2LCA2MywgNCwgMjUxLCAxMjYsIDI0NSwgNTEsIDI2LCA2MywgNCwgMjUxLCA5MCwgMjQzLCAyMzcsIDI2LCA2MywgNCwgCisgICAgMjUxLCA4NCwgMjMyLCAyMDAsIDI2LCA2MywgNCwgMjUxLCA5NSwgMjMyLCAxODIsIDI2LCA2MywgNCwgMjUxLCAxMDUsIAorICAgIDIzMiwgMTIyLCAyNiwgNjMsIDQsIDI1MSwgNzYsIDIzMiwgMTA0LCAyNiwgNjMsIDQsIDI1MSwgNjQsIDE3MiwgMjYsIDYzLCAKKyAgICA0LCAyNTEsIDk3LCAyMzEsIDIyNCwgMjYsIDYzLCA0LCAyNTEsIDc0LCAyMzEsIDEyMywgMjYsIDYzLCA0LCAyNTEsIDcxLCAKKyAgICAyMzEsIDUzLCAyNiwgNjMsIDQsIDI1MSwgNjAsIDIzMCwgMjM2LCAyNiwgNjMsIDQsIDI1MSwgNjEsIDE4NSwgMjYsIDYzLCAKKyAgICA0LCAyNTEsIDEyNywgMjI3LCAxMTksIDI2LCA2MywgNCwgMjUxLCA2OCwgMjI2LCAyNTQsIDI2LCA2MywgNCwgMjUxLCAxMjUsIAorICAgIDIyNiwgMTgxLCAyNiwgNjMsIDQsIDI1MSwgMTE3LCAyMjYsIDExNCwgMjYsIDYzLCA0LCAyNTEsIDEzOCwgMTk5LCAyNiwgCisgICAgNjMsIDQsIDI1MSwgMTE2LCAyMjUsIDExMCwgMjYsIDYzLCA0LCAyNTEsIDExMCwgMjI0LCAyMzAsIDI2LCA2MywgNCwgMjUxLCAKKyAgICA4OSwgMjI0LCA2NywgMjYsIDYzLCA0LCAyNTEsIDg2LCAyMjMsIDIxNywgMjYsIDYzLCA0LCAyNTEsIDE0NSwgMTc5LCAyNiwgCisgICAgNjMsIDQsIDI1MSwgNjksIDIyMSwgMTc0LCAyNiwgNjMsIDQsIDI1MSwgMTAyLCAyMjEsIDUzLCAyNiwgNjMsIDQsIDI1MSwgCisgICAgMTI5LCAyMjAsIDIxMSwgMjYsIDYzLCA0LCAyNTEsIDkxLCAyMjAsIDgyLCAyNiwgNjMsIDQsIDI1MSwgMTI0LCAyMjAsIDE5LCAKKyAgICAyNiwgNjMsIDQsIDI1MSwgNjMsIDIxOSwgMjU1LCAyNiwgNjMsIDQsIDI1MSwgMTE5LCAyMTksIDIzNywgMjYsIDYzLCA0LCAKKyAgICAyNTEsIDEwOCwgMjE5LCAyMjYsIDI2LCA2MywgNCwgMjUxLCA4MSwgMjE5LCAxMTMsIDI2LCA2MywgNCwgMjUxLCAxMTMsIAorICAgIDIxOSwgNTEsIDI2LCA2MywgNCwgMjUxLCA4OCwgMjE4LCAyMDgsIDI2LCA2MywgNCwgMjUxLCAxNDcsIDIxOCwgMTI0LCAyNiwgCisgICAgNjMsIDQsIDI1MSwgMTE0LCAyMTgsIDUwLCAyNiwgNjMsIDQsIDI1MSwgMTA5LCAyMTcsIDE5OSwgMjYsIDYzLCA0LCAyNTEsIAorICAgIDEzMiwgMjE3LCA4NiwgMjYsIDYzLCA0LCAyNTEsIDEwMCwgMjE1LCA4MCwgMjYsIDYzLCA0LCAyNTEsIDEyOCwgMjE0LCAKKyAgICAxOTMsIDI2LCA2MywgNCwgMjUxLCA4MywgMjEzLCAyMDMsIDI2LCA2MywgNCwgMjUxLCA4MiwgMjEyLCAyMTksIDI2LCA2MywgCisgICAgNCwgMjUxLCAxNDMsIDIxMiwgMTMxLCAyNiwgNjMsIDQsIDI1MSwgMTA0LCAyMTEsIDIxMSwgMjYsIDYzLCA0LCAyNTEsIAorICAgIDE0MSwgMTI0LCAyNiwgNjMsIDQsIDI1MSwgNzIsIDIxMCwgMTcwLCAyNiwgNjMsIDQsIDI1MSwgODcsIDIwNywgOTYsIDI2LCAKKyAgICA2MywgNCwgMjUxLCA2NiwgMjA3LCA1MSwgMjYsIDYzLCA0LCAyNTEsIDEwMSwgMjA3LCAyMCwgMjYsIDYzLCA0LCAyNTEsIAorICAgIDk5LCAyMDYsIDI1MCwgMjYsIDYzLCA0LCAyNTEsIDEyMywgMjA1LCAxMTYsIDI2LCA2MywgNCwgMjUxLCA2NywgMjA1LCA5MywgCisgICAgMjYsIDYzLCA0LCAyNTEsIDEyMCwgMjA1LCAxOSwgMjYsIDYzLCA0LCAyNTEsIDExNSwgMjU0LCAxNjYsIDI2LCA2MywgNCwgCisgICAgMjUxLCA5OCwgMjU0LCAxNjUsIDI2LCA2MywgNCwgMjUxLCA1NywgMjUxLCAxODQsIDI2LCA2MywgNCwgMjUxLCA3MCwgMjQzLCAKKyAgICAyMDUsIDI2LCA2MywgNCwgMjUxLCA1MywgMjQzLCAyMDQsIDI2LCA2MywgNCwgMjUxLCA5MywgMjIzLCAxNTMsIDI2LCA2MywgCisgICAgNCwgMjUxLCAxMTEsIDIyMCwgODAsIDI2LCA2MywgNCwgMjUxLCA3OSwgMjIwLCA4NCwgMjYsIDYzLCA0LCAyNTEsIDY1LCAKKyAgICAyMTksIDExMSwgMjYsIDYzLCA0LCAyNTEsIDEwNywgMjE5LCAxMTAsIDI2LCA2MywgNCwgMjUxLCA3MywgMjE4LCAxMjMsIAorICAgIDI2LCA2MywgNCwgMjUxLCA3NSwgMjEyLCAyMTYsIDI2LCA2MywgNCwgMjUxLCA1NSwgMjEwLCAxMjgsIDI2LCA2MywgNCwgCisgICAgMjUxLCA1MiwgMTA1LCAyNiwgNjMsIDE2LCAyNTEsIDEyMiwgMjYsIDYzLCAxNiwgMjUxLCAxMjEsIDI2LCA2MywgMTYsIAorICAgIDI1MSwgMTE4LCAyNiwgNjMsIDE2LCAyNTEsIDEwNiwgMjYsIDYzLCAxNiwgMjUxLCA5NCwgMjYsIDYzLCAxNiwgMjUxLCA5MiwgCisgICAgMjYsIDYzLCAxNiwgMjUxLCA4NSwgMjYsIDYzLCAxNiwgMjUxLCA3OCwgMjYsIDYzLCAxNiwgMjUxLCA3NywgMjYsIDYzLCAKKyAgICAxNiwgMjUxLCA2MiwgMjYsIDYzLCAxNiwgMjUxLCA1OSwgMjYsIDYzLCAxNiwgMjUxLCA1OCwgMjYsIDYzLCAxNiwgMjUxLCAKKyAgICA1NiwgMjYsIDYzLCAxNiwgMjUxLCA1NCwgMjYsIDYzLCAxMjIsIDI1MSwgNTEsIDIyNywgMjIxLCAyNiwgNjMsIDEyMiwgCisgICAgMjUxLCA1MCwgMjA2LCAyNDQsIDI2LCA2MywgMTIyLCAyNTEsIDQ5LCAyNDUsIDI0OCwgMjYsIDYzLCAxMjIsIDI1MSwgNDgsIAorICAgIDI0MiwgMjM5LCAyNiwgNjMsIDEyMiwgMjUxLCA0NywgMjI3LCAxOTIsIDI2LCA2MywgMTIyLCAyNTEsIDQ2LCAyMTQsIDMzLCAKKyAgICAyNiwgNjMsIDEyMiwgMjUxLCA0NSwgMjQyLCAxNzQsIDI2LCA2MywgMTIyLCAyNTEsIDQ0LCAyMTksIDc3LCAyNiwgNjMsIAorICAgIDEyMiwgMjUxLCA0MywgMjE1LCAyMTMsIDI2LCA2MywgMTIyLCAyNTEsIDQyLCAyMzksIDcwLCAyNiwgNjMsIDEyMiwgMjUxLCAKKyAgICA0MSwgMjE0LCAxNjAsIDI2LCA2MywgMTIyLCAyNTEsIDQwLCAyNDksIDE4MiwgMjYsIDYzLCAxMjIsIDI1MSwgMzksIDI0NywgCisgICAgNzUsIDI2LCA2MywgMTIyLCAyNTEsIDM4LCAyNDksIDg3LCAyNiwgNjMsIDEyMiwgMjUxLCAzNywgMjA3LCAyOCwgMjYsIDYzLCAKKyAgICAxMjIsIDI1MSwgMzYsIDI1MCwgMTI1LCAyNiwgNjMsIDEyMiwgMjUxLCAzNSwgMjIyLCAxNzUsIDI2LCA2MywgMTIyLCAyNTEsIAorICAgIDM0LCAyMTQsIDEzMiwgMjYsIDYzLCAxMjIsIDI1MSwgMzMsIDI0NiwgMjQ4LCAyNiwgNjMsIDIyNiwgMTYwLCAyNTEsIDMyLCAKKyAgICAyMzIsIDE2LCAyNiwgNjMsIDIyNiwgMTYwLCAyNTEsIDMxLCAyMzIsIDI1LCAyNiwgNjMsIDEyMiwgMjUxLCAzMCwgMjIyLCAKKyAgICAxODksIDI2LCA2MywgMTIyLCAyNTEsIDI5LCAyMDcsIDUsIDI2LCA2MywgMTIyLCAyNTEsIDI4LCAyNiwgNjMsIDIyNiwgCisgICAgMTYwLCAyNTEsIDI3LCAyNTIsIDEyLCAyNiwgNjMsIDIyNiwgMTYwLCAyNTEsIDI2LCAyMjcsIDc2LCAyNiwgNjMsIDEyMiwgCisgICAgMjUxLCAyNSwgMjQ5LCAxMTAsIDI2LCA2MywgMTIyLCAyNTEsIDI0LCAyNDAsIDExLCAyNiwgNjMsIDEyMiwgMjUxLCAyMywgCisgICAgMjYsIDYzLCAxMjIsIDI1MSwgMjIsIDIwNiwgMjM1LCAyNiwgNjMsIDEyMiwgMjUxLCAyMSwgMjYsIDYzLCAxMjIsIDI1MSwgCisgICAgMjAsIDI2LCA2MywgMTIyLCAyNTEsIDE5LCAyMzgsIDY5LCAyNiwgNjMsIDEyMiwgMjUxLCAxOCwgMjYsIDYzLCAxMjIsIAorICAgIDI1MSwgMTcsIDI2LCA2MywgMTIyLCAyNTEsIDE2LCAyNiwgNjMsIDIyNiwgMTYwLCAyNTEsIDE0LCAyMTAsIDE0MiwgMjYsIAorICAgIDYzLCAxMjIsIDI1MSwgMTMsIDI2LCA2MywgMTIyLCAyNTEsIDEyLCAyNiwgNjMsIDEyMiwgMjUxLCAxMSwgMjQ3LCAxODYsIAorICAgIDI2LCA2MywgMTIyLCAyNTEsIDEwLCAyNiwgNjMsIDEyMiwgMjUxLCA5LCAyNiwgNjMsIDEyMiwgMjUxLCA4LCAyNDAsIDIwMSwgCisgICAgMjYsIDYzLCAxMjIsIDI1MSwgNywgMjUxLCAyNTUsIDI2LCA2MywgMTIyLCAyNTEsIDYsIDI2LCA2MywgMTIyLCAyNTEsIDUsIAorICAgIDI2LCA2MywgMTIyLCAyNTEsIDQsIDI2LCA2MywgMTIyLCAyNTEsIDMsIDI2LCA2MywgMTIyLCAyNTEsIDIsIDI2LCA2MywgCisgICAgMTIyLCAyNTEsIDEsIDI2LCA2MywgMTIyLCAyNTEsIDAsIDI2LCA2MywgMTIyLCAyNTAsIDI1NSwgMjYsIDYzLCAxMjIsIAorICAgIDI1MCwgMjU0LCAyNiwgNjMsIDEyMiwgMjUwLCAyNTMsIDIyNiwgMTUyLCAyNiwgNjMsIDEyMiwgMjUwLCAyNTIsIDI2LCA2MywgCisgICAgMTIyLCAyNTAsIDI1MSwgMjExLCA2MSwgMjYsIDYzLCAxMjIsIDI1MCwgMjUwLCAyNiwgNjMsIDEyMiwgMjUwLCAyNDksIDI2LCAKKyAgICA2MywgMTIyLCAyNTAsIDI0OCwgMjYsIDYzLCAxMjIsIDI1MCwgMjQ3LCAyNiwgNjMsIDEyMiwgMjUwLCAyNDYsIDI2LCA2MywgCisgICAgMTIyLCAyNTAsIDI0NSwgMjYsIDYzLCAxMjIsIDI1MCwgMjQ0LCAyNiwgNjMsIDEyMiwgMjUwLCAyNDMsIDI2LCA2MywgMTIyLCAKKyAgICAyNTAsIDI0MiwgMjYsIDYzLCAxMjIsIDI1MCwgMjQxLCAyNiwgNjMsIDEyMiwgMjUwLCAyNDAsIDI2LCA2MywgMTIyLCAyNTAsIAorICAgIDIzOSwgMjM5LCA0MywgMjYsIDYzLCAxMjIsIDI1MCwgMjE4LCAyNDEsIDE0NCwgMjYsIDYzLCAxMjIsIDI1MCwgMjE1LCAKKyAgICAyNTAsIDEwMywgMjYsIDYzLCAxMjIsIDI1MCwgMjEwLCAyMTQsIDEzOSwgMjYsIDYzLCAxMjIsIDI1MCwgMjA5LCA0NSwgMjYsIAorICAgIDYzLCAxMjIsIDI1MCwgMjA4LCAyNiwgNjMsIDEyMiwgMjUwLCAyMDcsIDIxMywgOTUsIDI2LCA2MywgMTIyLCAyNTAsIDIwNiwgCisgICAgMjYsIDYzLCAxMjIsIDI1MCwgMjA1LCAyNiwgNjMsIDEyMiwgMjUwLCAyMDQsIDIwNywgMjQsIDI0OCwgOTEsIDI2LCA2MywgCisgICAgMTIyLCAyNTAsIDIwMywgMjQ4LCA5MSwgMjYsIDYzLCAxMjIsIDI1MCwgMjAyLCAyNDgsIDkyLCAyNDEsIDExMiwgMjYsIDYzLCAKKyAgICAxMjIsIDI1MCwgMjAxLCAyMDcsIDI2LCAyNiwgNjMsIDEyMiwgMjUwLCAyMDAsIDI2LCA2MywgMTIyLCAyNTAsIDE5OSwgMjYsIAorICAgIDYzLCAyMjYsIDE2MCwgMjUwLCAxOTgsIDI0NSwgMTA1LCAyNiwgNjMsIDEyMiwgMjUwLCAxOTcsIDI2LCA2MywgMTIyLCAKKyAgICAyNTAsIDE5NiwgMjYsIDYzLCAxMjIsIDI1MCwgMTk0LCAyNiwgNjMsIDEyMiwgMjUwLCAxOTMsIDI2LCA2MywgMTIyLCAyNTAsIAorICAgIDE5MiwgMjYsIDYzLCAxMjIsIDI1MCwgMTkxLCAyNDYsIDgxLCAyNiwgNjMsIDEyMiwgMjUwLCAxOTAsIDI2LCA2MywgMTIyLCAKKyAgICAyNTAsIDE4OSwgMjYsIDYzLCAxMjIsIDI1MCwgMTg4LCAyNiwgNjMsIDEyMiwgMjUwLCAxODcsIDI2LCA2MywgMTIyLCAyNTAsIAorICAgIDE4NiwgMjYsIDYzLCAxMjIsIDIwOCwgMjI1LCAyNTEsIDE1LCAyNiwgNjMsIDEyMiwgMjA4LCAyMjUsIDI1MCwgMjM4LCAyNiwgCisgICAgNjMsIDEyMiwgMjA4LCAyMjUsIDI1MCwgMjM3LCAyNiwgNjMsIDEyMiwgMjA4LCAyMjUsIDI1MCwgMjM2LCAyNiwgNjMsIAorICAgIDEyMiwgMjA4LCAyMjUsIDI1MCwgMjM1LCAyNiwgNjMsIDEyMiwgMjA4LCAyMjUsIDI1MCwgMjM0LCAyNiwgNjMsIDEyMiwgCisgICAgMjA4LCAyMjUsIDI1MCwgMjMzLCAyNiwgNjMsIDEyMiwgMjA4LCAyMjUsIDI1MCwgMjMyLCAyNiwgNjMsIDEyMiwgMjA4LCAKKyAgICAyMjUsIDI1MCwgMjMxLCAyNiwgNjMsIDEyMiwgMjA4LCAyMjUsIDI1MCwgMjMwLCAyNiwgNjMsIDEyMiwgMjA4LCAyMjUsIAorICAgIDI1MCwgMjI5LCAyNiwgNjMsIDEyMiwgMjA4LCAyMjUsIDI1MCwgMjI4LCAyNiwgNjMsIDEyMiwgMjA4LCAyMjUsIDI1MCwgCisgICAgMjI3LCAyNiwgNjMsIDEyMiwgMjA4LCAyMjUsIDI1MCwgMjI2LCAyNiwgNjMsIDEyMiwgMjA4LCAyMjUsIDI1MCwgMjI1LCAKKyAgICAyNiwgNjMsIDEyMiwgMjA4LCAyMjUsIDI1MCwgMjI0LCAyNiwgNjMsIDEyMiwgMjA4LCAyMjUsIDI1MCwgMjIzLCAyNiwgNjMsIAorICAgIDEyMiwgMjA4LCAyMjUsIDI1MCwgMjIyLCAyNiwgNjMsIDEyMiwgMjA4LCAyMjUsIDI1MCwgMjIxLCAyNiwgNjMsIDEyMiwgCisgICAgMjA4LCAyMjUsIDI1MCwgMjIwLCAyNiwgNjMsIDEyMiwgMjA4LCAyMjUsIDI1MCwgMjE5LCAyNiwgNjMsIDEyMiwgMjA4LCAKKyAgICAyMjUsIDI1MCwgMjE3LCAyNiwgNjMsIDEyMiwgMjA4LCAyMjUsIDI1MCwgMjE2LCAyNiwgNjMsIDEyMiwgMjA4LCAyMjUsIAorICAgIDI1MCwgMjE0LCAyNiwgNjMsIDEyMiwgMjA4LCAyMjUsIDI1MCwgMjEzLCAyNiwgNjMsIDEyMiwgMjA4LCAyMjUsIDI1MCwgCisgICAgMjEyLCAyNiwgNjMsIDEyMiwgMjA4LCAyMjUsIDI1MCwgMjExLCAyNiwgNjMsIDEyMiwgMjA4LCAyMjUsIDI1MCwgMTk1LCAKKyAgICAyNiwgNjMsIDEyMiwgMjA4LCAyMjUsIDI1MCwgMTg1LCAyNTIsIDI0MSwgMjA2LCAyMzIsIDIxNiwgNDAsIDIyOSwgMjA1LCAKKyAgICAyNTIsIDI0MSwgMjA2LCAyMzIsIDIxNiwgNDAsIDI0NSwgMjMsIDI1MiwgMjQxLCAyNDgsIDgxLCA4MywgMjUyLCAyNDEsIAorICAgIDQzLCAxMDIsIDI1MiwgMjQxLCA0MywgMTA1LCAyNTIsIDI0MSwgNDMsIDE0MiwgMjUyLCAyNDEsIDQzLCAxMzksIDI1MiwgCisgICAgMjQxLCA0MywgMTY4LCAyNTIsIDI0MSwgNDMsIDE4NCwgMjUyLCAyNDEsIDQzLCAxOTUsIDI1MiwgMjQxLCA0MywgMTkzLCAKKyAgICAyNTIsIDI0MSwgNDMsIDIwMCwgMjUyLCAyNDEsIDQzLCAyMTIsIDk4LCAyNTIsIDI0MSwgNDMsIDIxMCwgMTIzLCAyNTIsIAorICAgIDI0MSwgNDMsIDIxMiwgMywgMjUyLCAyNDEsIDQzLCAyNDEsIDEzMCwgMjUyLCAyNDEsIDQzLCAyNDEsIDI0MywgMjUyLCAKKyAgICAyNDEsIDQzLCAyMTQsIDI1MiwgMjUyLCAyNDEsIDQzLCAyMTYsIDE3LCAyNTIsIDI0MSwgNDMsIDI0MywgNzksIDI1MiwgCisgICAgMjQxLCA0MywgMjI0LCAxOTAsIDI1MiwgMjQxLCA0MywgMTE5LCAyMzgsIDI5LCAyNTIsIDI0MSwgNDMsIDExOCwgMjM4LCAKKyAgICAyOSwgMjUyLCAyNDEsIDQzLCAxMjksIDIzOCwgMjksIDI1MiwgMjQxLCA0MywgMjQxLCAxMjUsIDIzOCwgMjksIDI1MiwgCisgICAgMjQxLCA0MywgMjQxLCAyMDQsIDIzOCwgMjksIDI1MiwgMjQxLCA0MywgMjE1LCAxMCwgMjM4LCAyOSwgMjUyLCAyNDEsIDQzLCAKKyAgICAyMTYsIDIzLCAyMzgsIDI5LCAyNTIsIDI0MSwgNDMsIDI0MywgODgsIDIzOCwgMjksIDI1MiwgMjQxLCA0MywgMjI0LCAxOTUsIAorICAgIDIzOCwgMjksIDI1MiwgMjQxLCA0MywgMTE5LCAyMTEsIDI0MiwgMjUyLCAyNDEsIDQzLCAxMTgsIDIxMSwgMjQyLCAyNTIsIAorICAgIDI0MSwgNDMsIDEyOSwgMjExLCAyNDIsIDI1MiwgMjQxLCA0MywgMjQxLCAxMjUsIDIxMSwgMjQyLCAyNTIsIDI0MSwgNDMsIAorICAgIDI0MSwgMjA0LCAyMTEsIDI0MiwgMjUyLCAyNDEsIDQzLCAyMTUsIDEwLCAyMTEsIDI0MiwgMjUyLCAyNDEsIDQzLCAyMTYsIAorICAgIDIzLCAyMTEsIDI0MiwgMjUyLCAyNDEsIDQzLCAyNDMsIDg4LCAyMTEsIDI0MiwgMjUyLCAyNDEsIDQzLCAyMjQsIDE5NSwgCisgICAgMjExLCAyNDIsIDI1MiwgMjQxLCA0MywgMjEyLCA5OSwgMjExLCAyNDIsIDI1MiwgMjQxLCA0MywgMjEwLCAxMjQsIDIxMSwgCisgICAgMjQyLCAyNTIsIDI0MSwgNDMsIDIxMiwgNCwgMjExLCAyNDIsIDI1MiwgMjQxLCA0MywgMjQxLCAxMzEsIDIxMSwgMjQyLCAKKyAgICAyNTIsIDI0MSwgNDMsIDI0MSwgMjQ0LCAyMTEsIDI0MiwgMjUyLCAyNDEsIDQzLCAyMTQsIDI1MywgMjExLCAyNDIsIDI1MiwgCisgICAgMjQxLCA0MywgMjE2LCAxOCwgMjExLCAyNDIsIDI1MiwgMjQxLCA0MywgMjQzLCA4MCwgMjExLCAyNDIsIDI1MiwgMjQxLCAKKyAgICA0MywgMjI0LCAxOTEsIDIxMSwgMjQyLCAyNTIsIDI0MSwgMjA3LCA0MSwgMjUwLCAxMTcsIDIwOSwgMjE2LCAyNTIsIDI0MSwgCisgICAgMjA3LCA0MSwgMjQxLCAyMTUsIDIxMywgMTc3LCAyNTIsIDI0MSwgMjA3LCA0MSwgMjE3LCA4MCwgMjEzLCAxNzcsIDI1MiwgCisgICAgMjQxLCAyMDcsIDQxLCAyMTIsIDExLCAyMTMsIDE3NywgMjUyLCAyNDEsIDIwNywgNDEsIDI0MSwgMTE4LCAyMTMsIDE3NywgCisgICAgMjUyLCAyNDEsIDI0MywgMjQwLCAyMjcsIDExOCwgMjQxLCAyMTUsIDIxMywgMTc3LCAyNTIsIDI0MSwgMjI5LCAxODksIAorICAgIDIyNywgMTE4LCAyNDEsIDIxNSwgMjEzLCAxNzcsIDI1MiwgMjQxLCAyMjcsIDExOCwgMjE3LCA4MCwgMjEzLCAxNzcsIDI1MiwgCisgICAgMjQxLCAyMjcsIDExOCwgMjEyLCAxMSwgMjEzLCAxNzcsIDI3LCAyNTMsIDEyLCAyNTEsIDE4NiwgMTE5LCAyMTksIDIwNCwgCisgICAgMjcsIDI1MywgMTIsIDI1MSwgMTg2LCAxMTksIDIzOSwgMTIxLCAyNywgMjUzLCAxMiwgMjUxLCAxODYsIDExOSwgMjQ0LCAzLCAKKyAgICAyNywgMjUzLCAxMiwgMjUxLCAxODYsIDE2OCwgMjcsIDI1MywgMTIsIDI1MSwgMTg2LCAyNDEsIDI0MywgMjcsIDI1MywgMTIsIAorICAgIDI1MSwgMTg2LCAyNDEsIDIwNCwgMjM4LCAyOSwgMjcsIDI1MywgMTIsIDI1MSwgMTg2LCAyNDEsIDIwNCwgMjExLCAyNDIsIAorICAgIDI3LCAyNTMsIDEyLCAyNTEsIDE4NiwgMjQxLCAyNDQsIDIxMSwgMjQyLCAyNywgMjUzLCAxMiwgMjUxLCAxODYsIDI0MSwgCisgICAgMjA0LCAyMTIsIDE4MSwgMjcsIDI1MywgMTIsIDI1MSwgMTg2LCAyMTIsIDk5LCAyMTIsIDE4MSwgMjcsIDI1MywgMTIsIAorICAgIDI1MSwgMTg2LCAyNDEsIDI0NCwgMjEyLCAxODEsIDI3LCAyNTMsIDEyLCAyNTEsIDE4NiwgMTE5LCAyMzgsIDMwLCAyMTIsIAorICAgIDE4MSwgMjcsIDI1MywgMTIsIDI1MSwgMTg2LCAyNDEsIDIwNCwgMjM4LCAzMCwgMjEyLCAxODEsIDI3LCAyNTMsIDEyLCAKKyAgICAyNTEsIDE4NiwgMTE5LCAyMTEsIDI0MywgMjEyLCAxODEsIDI3LCAyNTMsIDEyLCAyNTEsIDE4NiwgMjQxLCAyMDQsIDIxMSwgCisgICAgMjQzLCAyMTIsIDE4MSwgMjcsIDI1MywgMTIsIDI1MSwgMTg2LCAyNDEsIDIwNCwgMjE0LCAyMCwgMjcsIDI1MywgMTIsIAorICAgIDI1MSwgMTg2LCAyMTIsIDk5LCAyMTQsIDIwLCAyNywgMjUzLCAxMiwgMjUxLCAxODYsIDI0MSwgMjQ0LCAyMTQsIDIwLCAyNywgCisgICAgMjUzLCAxMiwgMjUxLCAxODYsIDExOSwgMjM4LCAzMCwgMjE0LCAyMCwgMjcsIDI1MywgMTIsIDI1MSwgMTg2LCAyNDEsIAorICAgIDIwNCwgMjM4LCAzMCwgMjE0LCAyMCwgMjcsIDI1MywgMTIsIDI1MSwgMTg2LCAxMTksIDIxMSwgMjQzLCAyMTQsIDIwLCAyNywgCisgICAgMjUzLCAxMiwgMjUxLCAxODYsIDIxMiwgOTksIDIxMSwgMjQzLCAyMTQsIDIwLCAyNywgMjUzLCAxMiwgMjUxLCAxODYsIAorICAgIDI0MSwgMjQ0LCAyMTEsIDI0MywgMjE0LCAyMCwgMjcsIDI1MywgMTIsIDI1MSwgMTg2LCAyMTIsIDk5LCAyMjYsIDE4NCwgCisgICAgMjcsIDI1MywgMTIsIDIzOSwgMzcsIDExOSwgMjIwLCAyMjgsIDI3LCAyNTMsIDEyLCAyMTIsIDI1LCAxMDIsIDI3LCAyNTMsIAorICAgIDEyLCAyMzksIDMzLCAxMDIsIDI3LCAyNTMsIDEyLCAyNDIsIDI0OCwgMTA1LCAyNywgMjUzLCAxMiwgMjEyLCAyNSwgMTA1LCAKKyAgICAyNywgMjUzLCAxMiwgMjQ2LCAyNDUsIDExOCwgMjQ0LCAyLCAyNywgMjUzLCAxMiwgMjQyLCAyNDgsIDExOCwgMjQ0LCAyLCAKKyAgICAyNywgMjUzLCAxMiwgMjExLCAyOCwgMTY4LCAyNywgMjUzLCAxMiwgMjExLCAyOCwgMjEyLCA5OCwgMjcsIDI1MywgMTIsIAorICAgIDIxMSwgMjgsIDIxMiwgOTksIDI1MiwgMTQxLCAxNywgMjcsIDI1MywgMTIsIDIzOSwgMzMsIDIxMiwgOTgsIDI3LCAyNTMsIAorICAgIDEyLCAyMjcsIDY1LCAyMTIsIDk4LCAyNywgMjUzLCAxMiwgMjEyLCAyNSwgMjEyLCA5OCwgMjcsIDI1MywgMTIsIDIxMiwgCisgICAgMjUsIDIxMiwgMywgMjcsIDI1MywgMTIsIDIxMSwgMjgsIDI0MSwgMjQzLCAyNywgMjUzLCAxMiwgMjExLCAyOCwgMjQxLCAKKyAgICAyNDQsIDI1MiwgMTQxLCAxNywgMjcsIDI1MywgMTIsIDIzOSwgMzMsIDI0MSwgMjQzLCAyNywgMjUzLCAxMiwgMjEyLCAyNSwgCisgICAgMjQxLCAyNDMsIDI3LCAyNTMsIDEyLCAyMTIsIDI1LCAxMTksIDIzOCwgMjksIDI3LCAyNTMsIDEyLCAyMTIsIDI1LCAxMjksIAorICAgIDIzOCwgMjksIDI3LCAyNTMsIDEyLCAyNDIsIDI0OCwgMjQxLCAyMDQsIDIzOCwgMjksIDI3LCAyNTMsIDEyLCAyMTEsIDI4LCAKKyAgICAyNDEsIDIwNCwgMjM4LCAyOSwgMjcsIDI1MywgMTIsIDIxMiwgMjUsIDI0MSwgMjA0LCAyMzgsIDI5LCAyNywgMjUzLCAxMiwgCisgICAgMjQ4LCAxODcsIDI0MSwgMjA0LCAyMzgsIDI5LCAyNywgMjUzLCAxMiwgMjI1LCAxODYsIDI0MSwgMjA0LCAyMzgsIDI5LCAKKyAgICAyNywgMjUzLCAxMiwgMjEyLCAyNSwgMTE5LCAyMTEsIDI0MiwgMjcsIDI1MywgMTIsIDIxMiwgMjUsIDI0MSwgMjA0LCAyMTEsIAorICAgIDI0MiwgMjcsIDI1MywgMTIsIDI0NSwgMjMwLCAyNDEsIDIwNCwgMjI2LCAxODQsIDI3LCAyNTMsIDEyLCAyMTMsIDI0MCwgCisgICAgMjQxLCAyNDQsIDIyNiwgMTg0LCAyNywgMTE5LCAxNjAsIDUzLCAyNywgMTE5LCAxNjAsIDMsIDI1MiwgMTQxLCAxNywgMjcsIAorICAgIDExOCwgMjEyLCA4LCA1MywgMjcsIDEyOSwgMjE5LCAyMDMsIDUzLCAyNywgMjA2LCA1MCwgNTMsIDI3LCAyMTIsIDE4MiwgCisgICAgNTMsIDI3LCAyNDQsIDQsIDUzLCAyNywgMjIyLCAyMjAsIDUzLCAyNywgMTE4LCAyMjIsIDIxOSwgNTMsIDI3LCAxMjksIAorICAgIDIyMiwgMjE5LCA1MywgMjcsIDI0MSwgMTI1LCAyMjIsIDIxOSwgNTMsIDI3LCAyNDEsIDIwNCwgMjIyLCAyMTksIDUzLCAyNywgCisgICAgMjI3LCA1OSwgNTMsIDI3LCAyMzAsIDE2NywgMjUwLCAxMTcsIDUzLCAyNywgMjI5LCAxODIsIDUzLCAyNywgMjIyLCA5NCwgCisgICAgNTMsIDI3LCAyMDYsIDE3MiwgNTMsIDI3LCAyNTEsIDIzNywgNTMsIDI3LCAyNTEsIDI1MSwgNTMsIDI3LCAyMzksIDI0NCwgCisgICAgNTMsIDI3LCAyMTAsIDI0NiwgMjUwLCAxMTcsIDUzLCAyNywgMjA1LCA4NiwgNTMsIDI3LCAxMTksIDIxOSwgMjA1LCA1MywgCisgICAgMjcsIDIxNSwgMzUsIDUzLCAyMTgsIDEwOSwgMjE2LCAxNCwgNTMsIDIxOCwgMTA5LCAyMDksIDIyOCwgNTMsIDIxOCwgMTA5LCAKKyAgICAyMTYsIDQ0LCA1MywgMjE4LCAxMDksIDIxNiwgMTIsIDUzLCAyMTgsIDEwOSwgMjQ1LCAxMjAsIDIxNiwgMTIsIDUzLCAyMTgsIAorICAgIDEwOSwgMjE1LCA1NCwgNTMsIDIxOCwgMTA5LCAyNDUsIDIyNiwgNTMsIDIxOCwgMTA5LCAyMTksIDE4OCwgNTMsIDIxOCwgCisgICAgMTA5LCAyMTYsIDMwLCA1MywgMjE4LCAxMDksIDI0MywgMjE5LCA1MywgMjE4LCAxMDksIDI1MSwgMjMyLCA1MywgMjE4LCAKKyAgICAxMDksIDI0OCwgMTI0LCA1MywgMjcsIDE2LCAyMTIsIDE1MiwgMjE4LCAyMTAsIDIyMSwgODgsIDI0NSwgOTgsIDMsIDIyMSwgCisgICAgMTY2LCAyMjEsIDg4LCAyNDUsIDk4LCAzLCAyMjAsIDIyMCwgMjM5LCA2OCwgMjIxLCA4OCwgMjQ1LCA5OCwgMywgMjEyLCAKKyAgICAxNTUsIDIzOSwgNjgsIDIyMSwgODgsIDI0NSwgOTgsIDMsIDI0OCwgMjA3LCAyMjEsIDg4LCAyNDUsIDk4LCAzLCAyNDgsIAorICAgIDQ5LCAyMjEsIDg4LCAyNDUsIDk4LCAzLCAyMDYsIDI0NCwgMjIxLCA4OCwgMjQ1LCA5OCwgMywgMjM5LCA0MywgMjIxLCA4OCwgCisgICAgMjQ1LCA5OCwgMywgMjQwLCAxOTMsIDIyMSwgODgsIDI0NSwgOTgsIDMsIDIxMSwgMjA5LCAyMjEsIDg4LCAyNDUsIDk4LCAzLCAKKyAgICA0NSwgMjIxLCA4OCwgMjQ1LCA5OCwgMywgMjQ5LCAxNDYsIDIyMSwgODgsIDI0NSwgOTgsIDMsIDIxNSwgMTgwLCAyMjEsIAorICAgIDg4LCAyNDUsIDk4LCAzLCAyNDcsIDE4MCwgMjIxLCA4OCwgMjQ1LCA5OCwgMywgMjI3LCAyMjAsIDIyMSwgODgsIDI0NSwgCisgICAgOTgsIDMsIDIyNywgMTY3LCAyMjEsIDg4LCAyNDUsIDk4LCAzLCAyMTcsIDEyMSwgMjIxLCA4OCwgMjQ1LCA5OCwgMywgMjI5LCAKKyAgICAyMzEsIDIyMSwgODgsIDI0NSwgOTgsIDMsIDI0OSwgMTY3LCAyMjEsIDg4LCAyNDUsIDk4LCAzLCAyNDgsIDE5MiwgMjIwLCAKKyAgICAyMzMsIDIyMSwgODgsIDI0NSwgOTgsIDMsIDI0NSwgMzYsIDIyMSwgODgsIDI0NSwgOTgsIDMsIDI0NywgMTU5LCAyMjEsIAorICAgIDg4LCAyNDUsIDk4LCAzLCAyMTQsIDIyNCwgMjIxLCA4OCwgMjQ1LCA5OCwgMywgMjQ3LCAxNjAsIDIyMSwgODgsIDI0NSwgCisgICAgOTgsIDMsIDI1MCwgNDcsIDIyMSwgODgsIDI0NSwgOTgsIDMsIDIxNSwgMTY3LCAyMjEsIDg4LCAyNDUsIDk4LCAzLCAyMzgsIAorICAgIDY5LCAyMjEsIDg4LCAyNDUsIDk4LCAzLCAyMzksIDksIDIyMSwgODgsIDI0NSwgOTgsIDMsIDI0OSwgODIsIDIzMCwgMzQsIAorICAgIDIyMSwgODgsIDI0NSwgOTgsIDMsIDI0OCwgMTgzLCAyMjEsIDg4LCAyNDUsIDk4LCAzLCAyMTksIDc3LCAyMjEsIDg4LCAKKyAgICAyNDUsIDk4LCAzLCAyNDMsIDEyNywgMjIxLCA4OCwgMjQ1LCA5OCwgMywgMjQ0LCA5LCAyMjEsIDg4LCAyNDUsIDk4LCAzLCAKKyAgICAyMTAsIDE1NiwgMjIxLCA4OCwgMjQ1LCA5OCwgMywgMjUwLCA1MCwgMjIxLCA4OCwgMjQ1LCA5OCwgMywgMjIwLCAyMzQsIAorICAgIDIxMSwgNjEsIDIyMSwgODgsIDI0NSwgOTgsIDMsIDIwOCwgMTk1LCAyMjEsIDg4LCAyNDUsIDk4LCAzLCAyMjEsIDIzMiwgCisgICAgMjIxLCA4OCwgMjQ1LCA5OCwgMywgMjE4LCAxMDAsIDIyMSwgODgsIDI0NSwgOTgsIDMsIDIyOSwgMjE2LCAyMjEsIDg4LCAKKyAgICAyNDUsIDk4LCAzLCAyMjIsIDc3LCAyNTAsIDE3NiwgMjIxLCA4OCwgMjQ1LCA5OCwgMywgMjQxLCAxNjgsIDIyMSwgODgsIAorICAgIDI0NSwgOTgsIDMsIDIzOSwgMjM4LCAyMjEsIDg4LCAyNDUsIDk4LCAzLCAyMTMsIDI0MSwgMjIxLCA4OCwgMjQ1LCA5OCwgMywgCisgICAgNSwgMjUxLCAxNjAsIDIyMSwgODgsIDI0NSwgOTgsIDMsIDIwNywgNjEsIDI1MCwgMTM2LCAyMjEsIDg4LCAyNDUsIDk4LCAzLCAKKyAgICAzNiwgMjIyLCAyMjIsIDkxLCAyMjksIDQwLCAxLCA2MiwgMjI5LCA0MCwgMSwgNzUsIDIyOSwgNDAsIDEsIDI1MSwgMTUwLCAKKyAgICAyMjksIDQwLCAxLCAyNTAsIDEsIDIyOSwgNDAsIDEsIDI0MSwgNTUsIDIyOSwgNDAsIDEsIDI0NiwgMjQwLCAyMjksIDQwLCAKKyAgICAxLCA3NCwgMjI5LCA0MCwgMSwgMjA3LCAxMjksIDIyOSwgNDAsIDEsIDIwNSwgMTU5LCAyMjksIDQwLCAxLCAyMTIsIDU4LCAKKyAgICAyMjksIDQwLCAxLCAyMzIsIDIwMywgMjI5LCA0MCwgMSwgMjMyLCA3NiwgMjI5LCA0MCwgMSwgMjIwLCAyNywgMjI5LCA0MCwgCisgICAgMSwgMTQ5LCAyMjksIDQwLCAxLCAyMjksIDI4LCAyMjksIDQwLCAxLCAyMjYsIDMzLCAyMjksIDQwLCAxLCAyMjYsIDE4NiwgCisgICAgMjI5LCA0MCwgMSwgMjI0LCAxMDQsIDIyOSwgNDAsIDEsIDcxLCAyMjksIDQwLCAxLCAyMjIsIDY3LCAyMjksIDQwLCAxLCAKKyAgICAyMzEsIDczLCAyMjksIDQwLCAxLCAxMzcsIDIyOSwgNDAsIDEsIDE4MiwgMjI5LCA0MCwgMSwgMjEzLCAxMCwgMjI5LCA0MCwgCisgICAgMSwgMjEwLCAyMTEsIDIyOSwgNDAsIDEsIDI1MiwgMTIyLCAyMjksIDQwLCAxLCAyNDMsIDQxLCAyMjksIDQwLCAxLCAyMzksIAorICAgIDE1NSwgMjI5LCA0MCwgMSwgMjA2LCAxOTUsIDI0OCwgMTk4LCAxLCA2MiwgMjQ4LCAxOTgsIDEsIDIyMiwgNTMsIDI0OCwgCisgICAgMTk4LCAxLCAyNDYsIDI0MCwgMjQ4LCAxOTgsIDEsIDE0OSwgMjQ4LCAxOTgsIDEsIDIwOSwgMTYwLCAyNDgsIDE5OCwgMSwgCisgICAgMTM3LCAyNDgsIDE5OCwgMSwgMjMwLCA2MiwgMjQ4LCAxOTgsIDEsIDI1NCwgMTY2LCAyNDgsIDE5OCwgMSwgMjIwLCAyNywgCisgICAgMjQ4LCAxOTgsIDEsIDI1MSwgMTUwLCAyNDgsIDE5OCwgMSwgMjI5LCAyOCwgMjQ4LCAxOTgsIDEsIDc2LCAyNDgsIDE5OCwgCisgICAgMSwgMjQ2LCAxNDcsIDI0OCwgMTk4LCAxLCAyMTMsIDEwLCAyNDgsIDE5OCwgMSwgMjE2LCA0LCAyNDgsIDE5OCwgMSwgMjE2LCAKKyAgICAzLCAyNDgsIDE5OCwgMSwgMTgyLCAyNDgsIDE5OCwgMSwgMjQ5LCAzMywgMjQ4LCAxOTgsIDEsIDcxLCAyNDgsIDE5OCwgMSwgCisgICAgMjI0LCAxMDQsIDI0OCwgMTk4LCAxLCAyMDYsIDE5NSwgMjQ4LCAxOTgsIDEsIDIyNiwgMzMsIDI0OCwgMTk4LCAxLCAyMTAsIAorICAgIDIxMCwgMjQ4LCAxOTgsIDEsIDIyMiwgNjcsIDI0OCwgMTk4LCAxLCAyMTQsIDk5LCAyNDgsIDE5OCwgMSwgNzQsIDI0OCwgCisgICAgMTk4LCAxLCA3NSwgMjQ4LCAxOTgsIDEsIDIwOSwgMTU3LCAyNDgsIDE5OCwgMSwgMjMyLCA3NiwgMjQ4LCAxOTgsIDEsIAorICAgIDIzMiwgNjcsIDI0OCwgMTk4LCAxLCAyMjUsIDE1MywgMjQ4LCAxOTgsIDEsIDIwOSwgMTYyLCAyNDgsIDE5OCwgMSwgMjQxLCAKKyAgICA1NSwgMjQ4LCAxOTgsIDEsIDI0MCwgMjQ2LCAyNDgsIDE5OCwgMSwgMjE0LCA0MCwgMjQ4LCAxOTgsIDEsIDIxNCwgMzksIAorICAgIDI0OCwgMTk4LCAxLCAyMjUsIDc5LCAyNDgsIDE5OCwgMSwgMjMzLCAxMDIsIDI0OCwgMTk4LCAxLCAyNDksIDMyLCAyNDgsIAorICAgIDE5OCwgMSwgMjEwLCAyMTEsIDI0OCwgMTk4LCAxLCAyMDksIDE1OSwgMjQ4LCAxOTgsIDEsIDIxOCwgOTAsIDI0OCwgMTk4LCAKKyAgICAxLCAyMjcsIDE1OCwgMjQ4LCAxOTgsIDEsIDIyNywgMTU3LCAyNDgsIDE5OCwgMSwgMjI3LCAxNTYsIDI0OCwgMTk4LCAxLCAKKyAgICAyMjcsIDE1NSwgMjQ4LCAxOTgsIDEsIDIzMCwgNjEsIDI0OCwgMTk4LCAxLCAyNDMsIDEzMSwgMjQ4LCAxOTgsIDEsIDIwOSwgCisgICAgMTU4LCA4MSwgMjQyLCAyNTEsIDIxMSwgMjQxLCA4MywgODEsIDI0MiwgMjUxLCAxOCwgMTAyLCA4MSwgMjQyLCAyNTEsIDE4LCAKKyAgICAxMDUsIDgxLCAyNDIsIDI1MSwgMTgsIDE0MiwgODEsIDI0MiwgMjUxLCAxOCwgMTM5LCA4MSwgMjQyLCAyNTEsIDE4LCAxNjgsIAorICAgIDgxLCAyNDIsIDI1MSwgMTgsIDE4NCwgODEsIDI0MiwgMjUxLCAxOCwgMTk1LCA4MSwgMjQyLCAyNTEsIDE4LCAxOTMsIDgxLCAKKyAgICAyNDIsIDI1MSwgMTgsIDIwMCwgODEsIDI0MiwgMjUxLCA0MywgMjEyLCA5OCwgODEsIDI0MiwgMjUxLCA0MywgMjEwLCAxMjMsIAorICAgIDgxLCAyNDIsIDI1MSwgNDMsIDIxMiwgMywgODEsIDI0MiwgMjUxLCA0MywgMjQxLCAxMzAsIDgxLCAyNDIsIDI1MSwgNDMsIAorICAgIDI0MSwgMjQzLCA4MSwgMjQyLCAyNTEsIDQzLCAyMTQsIDI1MiwgODEsIDI0MiwgMjUxLCA0MywgMjE2LCAxNywgODEsIDI0MiwgCisgICAgMjUxLCA0MywgMjQzLCA3OSwgODEsIDI0MiwgMjUxLCA0MywgMjI0LCAxOTAsIDgxLCAyNDIsIDI1MSwgNDMsIDExOSwgMjM4LCAKKyAgICAyOSwgODEsIDI0MiwgMjUxLCA0MywgMTE4LCAyMzgsIDI5LCA4MSwgMjQyLCAyNTEsIDQzLCAxMjksIDIzOCwgMjksIDgxLCAKKyAgICAyNDIsIDI1MSwgNDMsIDI0MSwgMTI1LCAyMzgsIDI5LCA4MSwgMjQyLCAyNTEsIDQzLCAyNDEsIDIwNCwgMjM4LCAyOSwgODEsIAorICAgIDI0MiwgMjUxLCA0MywgMjE1LCAxMCwgMjM4LCAyOSwgODEsIDI0MiwgMjUxLCA0MywgMjE2LCAyMywgMjM4LCAyOSwgODEsIAorICAgIDI0MiwgMjUxLCA0MywgMjQzLCA4OCwgMjM4LCAyOSwgODEsIDI0MiwgMjUxLCA0MywgMjI0LCAxOTUsIDIzOCwgMjksIDQ0LCAKKyAgICAzNSwgMSwgNjIsIDQ0LCAzNSwgMSwgMjUwLCA2MSwgNDQsIDM1LCAxLCAyMzEsIDIyNCwgNDQsIDM1LCAxLCAyNDYsIDksIAorICAgIDQ0LCAzNSwgMSwgNzUsIDQ0LCAzNSwgMSwgMjA5LCAzOSwgNDQsIDM1LCAxLCAyMDUsIDkzLCA0NCwgMzUsIDEsIDIzOSwgCisgICAgNzEsIDQ0LCAzNSwgMSwgMjEyLCA0MSwgNDQsIDM1LCAxLCA3NCwgNDQsIDM1LCAxLCAxNzIsIDQ0LCAzNSwgMSwgMjQzLCAKKyAgICA2OCwgNDQsIDM1LCAxLCAyNDMsIDUwLCA0NCwgMzUsIDEsIDI0MywgNDEsIDQ0LCAzNSwgMSwgMjQyLCAyMTUsIDQ0LCAzNSwgCisgICAgMSwgNzYsIDQ0LCAzNSwgMSwgMjIxLCAxNzQsIDQ0LCAzNSwgMSwgMjE1LCAyMTQsIDQ0LCAzNSwgMSwgMjMwLCAyMzYsIDQ0LCAKKyAgICAzNSwgMSwgMjQyLCAyMzUsIDQ0LCAzNSwgMSwgMjQyLCAyMjUsIDQ0LCAzNSwgMSwgMjEyLCAxMzEsIDQ0LCAzNSwgMSwgNzEsIAorICAgIDQ0LCAzNSwgMSwgMjQzLCA3MSwgNDQsIDM1LCAxLCAyMjEsIDgxLCA0NCwgMzUsIDEsIDIzMSwgMTUyLCA0NCwgMzUsIDEsIAorICAgIDI0MywgOTcsIDQ0LCAzNSwgMSwgMjQyLCAyMjcsIDQ0LCAzNSwgMSwgMjQ4LCA4MiwgNDQsIDM1LCAxLCAyMzMsIDEwMiwgCisgICAgNDQsIDM1LCAxLCAyMDksIDE2MiwgNDQsIDM1LCAxLCAyNDIsIDIwOCwgNDQsIDM1LCAyMjMsIDE3NywgMTAyLCA0NCwgMzUsIAorICAgIDIyMywgMTc3LCAxNjgsIDQ0LCAzNSwgMjIzLCAxNzcsIDIxMiwgOTgsIDQ0LCAzNSwgMjIzLCAxNzcsIDI0MSwgMjQzLCAKKyAgICAyMzksIDI1MywgMSwgMjUyLCAyMDgsIDIzOSwgMjUzLCAxLCAyNTAsIDE1MywgMjM5LCAyNTMsIDEsIDI0MCwgNTgsIDIzOSwgCisgICAgMjUzLCAxLCAyNDYsIDEyNywgMjM5LCAyNTMsIDEsIDI1MiwgMjA0LCAyMzksIDI1MywgMSwgMjIwLCAxMCwgMjM5LCAyNTMsIAorICAgIDEsIDIzMiwgMjE1LCAyMzksIDI1MywgMSwgMjM5LCAxMzQsIDIzOSwgMjUzLCAxLCAyMTEsIDI1NSwgMjM5LCAyNTMsIDEsIAorICAgIDI0MywgNzgsIDIzOSwgMjUzLCAxLCAyMzAsIDIwNCwgMjM5LCAyNTMsIDEsIDIzMCwgMTE4LCAyMzksIDI1MywgMSwgMjI3LCAKKyAgICAyMTMsIDIzOSwgMjUzLCAxLCAyMjUsIDE4OCwgMjM5LCAyNTMsIDEsIDIzMiwgMTc1LCAyMzksIDI1MywgMSwgMjA5LCAxODAsIAorICAgIDIzOSwgMjUzLCAxLCAyMjIsIDI5LCAyMzksIDI1MywgMSwgMjI0LCAxOTAsIDIzOSwgMjUzLCAxLCAyMTksIDg5LCAyMzksIAorICAgIDI1MywgMSwgMjE3LCAxMjQsIDIzOSwgMjUzLCAxLCAyMTIsIDExMiwgMjM5LCAyNTMsIDEsIDIwNywgMywgMjM5LCAyNTMsIAorICAgIDEsIDI0MiwgNTQsIDIzOSwgMjUzLCAxLCAyMzMsIDEwNiwgMjM5LCAyNTMsIDEsIDIzOCwgMTQsIDIzOSwgMjUzLCAxLCAKKyAgICAyMjIsIDEwMiwgMjM5LCAyNTMsIDEsIDIyNCwgMTk1LCAyMzgsIDI5LCA0NCwgMjIxLCAxMjIsIDEsIDI1MiwgMTIyLCA0NCwgCisgICAgMjIxLCAxMjIsIDEsIDI0OSwgNjgsIDQ0LCAyMjEsIDEyMiwgMSwgMjQwLCAyMjgsIDQ0LCAyMjEsIDEyMiwgMSwgMjQ1LCAKKyAgICAzOSwgNDQsIDIyMSwgMTIyLCAxLCA3NSwgNDQsIDIyMSwgMTIyLCAxLCAyMDUsIDYzLCA0NCwgMjIxLCAxMjIsIDEsIDI0MywgCisgICAgMTg4LCA0NCwgMjIxLCAxMjIsIDEsIDIwNSwgMTAwLCA0NCwgMjIxLCAxMjIsIDEsIDI0MywgMTg2LCA0NCwgMjIxLCAxMjIsIAorICAgIDEsIDc0LCA0NCwgMjIxLCAxMjIsIDEsIDIzMSwgNDIsIDQ0LCAyMjEsIDEyMiwgMSwgMjMwLCAzMCwgNDQsIDIyMSwgMTIyLCAKKyAgICAxLCAyMjcsIDgxLCA0NCwgMjIxLCAxMjIsIDEsIDIyNSwgOTksIDQ0LCAyMjEsIDEyMiwgMSwgMjA4LCAxNjAsIDQ0LCAyMjEsIAorICAgIDEyMiwgMSwgMjIxLCAxNjMsIDQ0LCAyMjEsIDEyMiwgMSwgMjE5LCAxNSwgNDQsIDIyMSwgMTIyLCAxLCAyMTUsIDYxLCA0NCwgCisgICAgMjIxLCAxMjIsIDEsIDIxMiwgMTkzLCA0NCwgMjIxLCAxMjIsIDEsIDcxLCA0NCwgMjIxLCAxMjIsIDEsIDI0OCwgNjYsIDQ0LCAKKyAgICAyMjEsIDEyMiwgMSwgMjE1LCAxNTEsIDQ0LCAyMjEsIDEyMiwgMSwgMjE1LCAyMTYsIDQ0LCAyMjEsIDEyMiwgMSwgMjA1LCAKKyAgICAyMTUsIDQ0LCAyMjEsIDEyMiwgMSwgMjA2LCAzMCwgNDQsIDIyMSwgMTIyLCAxLCA3NiwgNDQsIDIyMSwgMTIyLCAxLCAyMjIsIAorICAgIDE1MiwgNDQsIDIyMSwgMTIyLCAxLCAyNDMsIDk3LCA0NCwgMjIxLCAxMjIsIDEsIDE1NSwgNDQsIDIyMSwgMTIyLCAxLCAKKyAgICAyMTAsIDIyMSwgNDQsIDIyMSwgMTIyLCAxLCAyMDksIDI3LCA0NCwgMjIxLCAxMjIsIDEsIDIwNiwgMzQsIDQ0LCAyMjEsIAorICAgIDEyMiwgMSwgMjA2LCAzMiwgNDQsIDIyMSwgMTIyLCAxLCAyMDYsIDY1LCA0NCwgMjIxLCAxMjIsIDEsIDIzMywgMTI5LCA0NCwgCisgICAgMjIxLCAxMjIsIDEsIDIwNSwgMjEzLCA0NCwgMjIxLCAxMjIsIDEsIDE5MCwgNDQsIDIyMSwgMTIyLCAxLCAyMzcsIDE5MCwgCisgICAgMzYsIDQ0LCAyMjEsIDEyMiwgMSwgMjUyLCAxMjIsIDM2LCA0NCwgMjIxLCAxMjIsIDEsIDI0NSwgMzksIDM2LCA0NCwgMjIxLCAKKyAgICAxMjIsIDEsIDIwNSwgMTAwLCAzNiwgNDQsIDIyMSwgMTIyLCAxLCAyMjUsIDk5LCAzNiwgNDQsIDIyMSwgMTIyLCAxLCAyMTUsIAorICAgIDYxLCAyMDksIDI1NCwgMSwgMjUyLCAxNDgsIDIwOSwgMjU0LCAxLCAyNTAsIDgsIDIwOSwgMjU0LCAxLCAyNDAsIDIxNiwgCisgICAgMjA5LCAyNTQsIDEsIDIzMSwgMTY3LCAyMDksIDI1NCwgMSwgMjQ1LCAyMjcsIDIwOSwgMjU0LCAxLCAyMzgsIDE0OSwgMjA5LCAKKyAgICAyNTQsIDEsIDIwNiwgMjUwLCAyMDksIDI1NCwgMSwgMjA1LCA4NCwgMjA5LCAyNTQsIDEsIDIzOCwgNjEsIDIwOSwgMjU0LCAKKyAgICAxLCAyMTIsIDgwLCAyMDksIDI1NCwgMSwgMjA1LCAyMzYsIDIwOSwgMjU0LCAxLCAyMzIsIDQ1LCAyMDksIDI1NCwgMSwgCisgICAgMjE1LCAxNzEsIDIwOSwgMjU0LCAxLCAyMzAsIDEwMiwgMjA5LCAyNTQsIDEsIDIyNywgOTAsIDIwOSwgMjU0LCAxLCAyNDUsIAorICAgIDE4OCwgMjA5LCAyNTQsIDEsIDIyMywgMTczLCAyMDksIDI1NCwgMSwgMjA1LCA5LCAyMDksIDI1NCwgMSwgMjE3LCAxNTYsIAorICAgIDIwOSwgMjU0LCAxLCAyNTIsIDIwMCwgMjA5LCAyNTQsIDEsIDIyMCwgODIsIDIwOSwgMjU0LCAxLCAyMTcsIDE5MCwgMjA5LCAKKyAgICAyNTQsIDEsIDIxOSwgMjE5LCAyMDksIDI1NCwgMSwgMjE5LCA2OCwgMjA5LCAyNTQsIDEsIDIxMiwgNDUsIDIwOSwgMjU0LCAKKyAgICAxLCAyNDAsIDk0LCAyMDksIDI1NCwgMSwgMTI0LCAyMDksIDI1NCwgMSwgNzQsIDIwOSwgMjU0LCAxLCA3MSwgMjA5LCAyNTQsIAorICAgIDEsIDIxNCwgNTEsIDIwOSwgMjU0LCAyMDYsIDIzMiwgMjQ1LCA3OSwgNDQsIDIyMSwgMTE2LCAzLCA2MiwgNDQsIDIyMSwgCisgICAgMTE2LCAzLCA3NCwgNDQsIDIyMSwgMTE2LCAzLCA3MSwgNDQsIDIyMSwgMTE2LCAzLCAxNzIsIDQ0LCAyMjEsIDExNiwgMywgCisgICAgMjMwLCAyMzYsIDQ0LCAyMjEsIDExNiwgMywgMjQwLCAyNDQsIDQ0LCAyMjEsIDExNiwgMywgMjM5LCAyMTMsIDQ0LCAyMjEsIAorICAgIDExNiwgMywgMjA2LCAxODEsIDQ0LCAyMjEsIDExNiwgMywgMjQ5LCAxLCA0NCwgMjIxLCAxMTYsIDMsIDIzMiwgMjAwLCA0NCwgCisgICAgMjIxLCAxMTYsIDMsIDIzMiwgMTYyLCA0NCwgMjIxLCAxMTYsIDMsIDIxMiwgMjE5LCA0NCwgMjIxLCAxMTYsIDMsIDIxMCwgCisgICAgMTcwLCA0NCwgMjIxLCAxMTYsIDMsIDI0NiwgMTQ1LCA0NCwgMjIxLCAxMTYsIDMsIDI0NSwgMTY4LCA0NCwgMjIxLCAxMTYsIAorICAgIDMsIDI0MywgMjM3LCA0NCwgMjIxLCAxMTYsIDMsIDIxMiwgNTYsIDQ0LCAyMjEsIDExNiwgMywgMTc5LCA0NCwgMjIxLCAKKyAgICAxMTYsIDMsIDI1MCwgMTgzLCA0NCwgMjIxLCAxMTYsIDMsIDI0MiwgNzMsIDQ0LCAyMjEsIDExNiwgMywgMTk5LCA0NCwgCisgICAgMjIxLCAxMTYsIDMsIDIyMywgMjE3LCA0NCwgMjIxLCAxMTYsIDMsIDE4NSwgNDQsIDIyMSwgMTE2LCAzLCAyMjYsIDI1NCwgCisgICAgNDQsIDIyMSwgMTE2LCAzLCAyMjYsIDExNCwgNDQsIDIyMSwgMTE2LCAzLCAxOTAsIDQ0LCAyMjEsIDExNiwgMywgMjA5LCAKKyAgICA3MCwgNDQsIDIyMSwgMTE2LCAzLCAyMDgsIDIxNCwgNDQsIDIyMSwgMTE2LCAzLCAyMTksIDExMywgNDQsIDIyMSwgMTE2LCAKKyAgICAzLCAyMTgsIDUwLCA0NCwgMjIxLCAxMTYsIDMsIDIzMCwgMTQxLCA0NCwgMjIxLCAxMTYsIDMsIDIxNywgMTk5LCA0NCwgCisgICAgMjIxLCAxMTYsIDMsIDIwNSwgMTE2LCA0NCwgMjIxLCAxMTYsIDMsIDIxNiwgMiwgNDQsIDIyMSwgMTE2LCAzLCAyMTQsIDk2LCAKKyAgICA0NCwgMjIxLCAxMTYsIDMsIDE1NSwgNDQsIDIyMSwgMTE2LCAzLCAyNTEsIDE3OCwgNDQsIDIyMSwgMTE2LCAzLCAyNTEsIAorICAgIDE3NywgNDQsIDIyMSwgMTE2LCAzLCAyNTEsIDE3NiwgNDQsIDIyMSwgMTE2LCAzLCAyMDYsIDE1MiwgNDQsIDIyMSwgMTE2LCAKKyAgICAzLCAyNDYsIDEyMywgNDQsIDIyMSwgMTE2LCAzLCAyNDYsIDEyMiwgNDQsIDIyMSwgMTE2LCAzLCAyNTAsIDE2MSwgNDQsIAorICAgIDIyMSwgMTE2LCAzLCAyNDksIDUzLCA0NCwgMjIxLCAxMTYsIDIwNiwgMjMyLCAyNDUsIDc5LCA0NCwgMjIxLCAxMTYsIDQzLCAKKyAgICAxMDIsIDQ0LCAyMjEsIDExNiwgNDMsIDEwNSwgNDQsIDIyMSwgMTE2LCA0MywgMjEyLCA5OCwgNDQsIDIyMSwgMTE2LCA0MywgCisgICAgMjEwLCAxMjMsIDQ0LCAyMjEsIDExNiwgNDMsIDIzOCwgMjksIDI0NSwgMjA4LCA2LCAxLCAxNTIsIDc0LCAyNDUsIDIwOCwgCisgICAgNiwgMSwgMTUyLCA3NSwgMjQ1LCAyMDgsIDYsIDEsIDE1MiwgNjIsIDI0NSwgMjA4LCA2LCAxLCAxNTIsIDI1MiwgMjEzLCAKKyAgICAyNDUsIDIwOCwgNiwgMSwgMTUyLCA3NiwgMjQ1LCAyMDgsIDYsIDEsIDE1MiwgMjIyLCAxNTIsIDI0NSwgMjA4LCA2LCAxLCAKKyAgICAyMTUsIDE0NCwgNzQsIDI0NSwgMjA4LCA2LCAxLCAyMTUsIDE0NCwgNzUsIDI0NSwgMjA4LCA2LCAxLCAyMTUsIDE0NCwgNjIsIAorICAgIDI0NSwgMjA4LCA2LCAxLCAyMTUsIDE0NCwgMjUyLCAyMTMsIDI0NSwgMjA4LCA2LCAxLCAyMTUsIDE0NCwgNzYsIDI0NSwgCisgICAgMjA4LCA2LCAxLCAyMTUsIDE0NCwgMjIyLCAxNTIsIDI0NSwgMjA4LCA2LCAxLCAyNTEsIDE1OSwgMjQ1LCAyMDgsIDYsIDEsIAorICAgIDIyMiwgNzgsIDI0NSwgMjA4LCA2LCAxLCAyMDYsIDIxNiwgMjQ1LCAyMDgsIDYsIDEsIDIwNiwgNDksIDI0NSwgMjA4LCA2LCAKKyAgICAxLCAyMzksIDE1NSwgMjQ1LCAyMDgsIDYsIDEsIDIyMSwgMTY0LCAyNDUsIDIwOCwgNiwgMSwgMjUwLCA1MCwgMjQ1LCAyMDgsIAorICAgIDYsIDEsIDIxMiwgMTIwLCAyNDUsIDIwOCwgNiwgMSwgMjQ1LCAyNTEsIDI0NSwgMjA4LCA2LCAxLCAyNDgsIDc4LCAyNDUsIAorICAgIDIwOCwgNiwgMSwgMjMyLCAxODAsIDI0NSwgMjA4LCA2LCAxLCAyMzEsIDIzMSwgMjQ1LCAyMDgsIDYsIDEsIDI0MCwgMTkxLCAKKyAgICAyNDUsIDIwOCwgNiwgMSwgMjQzLCA5NywgMjQ1LCAyMDgsIDYsIDEsIDIwOSwgMzQsIDI0NSwgMjA4LCA2LCAxLCAyNDIsIAorICAgIDE5NiwgMjQ1LCAyMDgsIDYsIDEsIDIxMiwgMzksIDI0NSwgMjA4LCA2LCAxLCAyNDIsIDIyNSwgMjQ1LCAyMDgsIDYsIDEsIAorICAgIDIwNSwgOTEsIDI0NSwgMjA4LCA2LCAxLCAyNDIsIDIxNSwgMjQ1LCAyMDgsIDYsIDEsIDIwNSwgNzEsIDI0NSwgMjA4LCA2LCAKKyAgICAxLCAyNDIsIDIzNSwgMjQ1LCAyMDgsIDYsIDEsIDI0MywgNjgsIDI0NSwgMjA4LCA2LCAxLCAyNDMsIDUwLCAyNDUsIDIwOCwgCisgICAgNiwgMSwgMjQzLCA0MSwgMjQ1LCAyMDgsIDYsIDEsIDI0MywgMjgsIDI0NSwgMjA4LCA2LCAxLCAyMjIsIDE5MSwgMjQ1LCAKKyAgICAyMDgsIDYsIDEsIDI0MiwgMTc1LCAyNDUsIDIwOCwgNSwgMSwgMTUyLCA3NCwgMjQ1LCAyMDgsIDUsIDEsIDE1MiwgNzUsIAorICAgIDI0NSwgMjA4LCA1LCAxLCAxNTIsIDYyLCAyNDUsIDIwOCwgNSwgMSwgMTUyLCAyNTIsIDIxMywgMjQ1LCAyMDgsIDUsIDEsIAorICAgIDE1MiwgNzYsIDI0NSwgMjA4LCA1LCAxLCAxNTIsIDIyMiwgMTUyLCAyNDUsIDIwOCwgNSwgMSwgMjE1LCAxNDQsIDc0LCAKKyAgICAyNDUsIDIwOCwgNSwgMSwgMjE1LCAxNDQsIDc1LCAyNDUsIDIwOCwgNSwgMSwgMjE1LCAxNDQsIDYyLCAyNDUsIDIwOCwgNSwgCisgICAgMSwgMjE1LCAxNDQsIDI1MiwgMjEzLCAyNDUsIDIwOCwgNSwgMSwgMjE1LCAxNDQsIDc2LCAyNDUsIDIwOCwgNSwgMSwgMjE1LCAKKyAgICAxNDQsIDIyMiwgMTUyLCAyNDUsIDIwOCwgNSwgMSwgMjUxLCAxNTksIDI0NSwgMjA4LCA1LCAxLCAyMjIsIDc4LCAyNDUsIAorICAgIDIwOCwgNSwgMSwgMjA2LCAyMTYsIDI0NSwgMjA4LCA1LCAxLCAyMDYsIDQ5LCAyNDUsIDIwOCwgNSwgMSwgMjM5LCAxNTUsIAorICAgIDI0NSwgMjA4LCA1LCAxLCAyMjEsIDE2NCwgMjQ1LCAyMDgsIDUsIDEsIDI1MCwgNTAsIDI0NSwgMjA4LCA1LCAxLCAyMTIsIAorICAgIDEyMCwgMjQ1LCAyMDgsIDUsIDEsIDI0NSwgMjUxLCAyNDUsIDIwOCwgNSwgMSwgMjQ4LCA3OCwgMjQ1LCAyMDgsIDUsIDEsIAorICAgIDIzMiwgMTgwLCAyNDUsIDIwOCwgNSwgMSwgMjMxLCAyMzEsIDI0NSwgMjA4LCA1LCAxLCAyNDAsIDE5MSwgMjQ1LCAyMDgsIAorICAgIDUsIDEsIDI0MywgOTcsIDI0NSwgMjA4LCA1LCAxLCAyMDksIDM0LCAyNDUsIDIwOCwgNSwgMSwgMjQyLCAxOTYsIDI0NSwgCisgICAgMjA4LCA1LCAxLCAyMTIsIDM5LCAyNDUsIDIwOCwgNSwgMSwgMjQyLCAyMjUsIDI0NSwgMjA4LCA1LCAxLCAyMDUsIDkxLCAKKyAgICAyNDUsIDIwOCwgNSwgMSwgMjQyLCAyMTUsIDI0NSwgMjA4LCA1LCAxLCAyMDUsIDcxLCAyNDUsIDIwOCwgNSwgMSwgMjQyLCAKKyAgICAyMzUsIDI0NSwgMjA4LCA1LCAxLCAyNDMsIDY4LCAyNDUsIDIwOCwgNSwgMSwgMjQzLCA1MCwgMjQ1LCAyMDgsIDUsIDEsIAorICAgIDI0MywgNDEsIDI0NSwgMjA4LCA1LCAxLCAyNDMsIDI4LCAyNDUsIDIwOCwgNSwgMSwgMjIyLCAxOTEsIDI0NSwgMjA4LCA1LCAKKyAgICAxLCAyNDIsIDE3NSwgMjE1LCAyMjEsIDEsIDIyMSwgMTYxLCAyMTUsIDIyMSwgMSwgMjExLCA5MSwgMjE1LCAyMjEsIDEsIAorICAgIDIzMSwgMTE5LCAyMTUsIDIyMSwgMSwgMjQyLCAyMSwgMjE1LCAyMjEsIDEsIDIxMiwgMTQsIDIxNSwgMjIxLCAxLCAyMTQsIAorICAgIDE5MywgMjE1LCAyMjEsIDEsIDIxMywgMTMwLCAyMTUsIDIyMSwgMSwgMjQ4LCA2LCAyMTUsIDIyMSwgMSwgMjA2LCA1MSwgCisgICAgMjE1LCAyMjEsIDEsIDIzOCwgMjcsIDIxNSwgMjIxLCAxLCAyNDksIDI0MywgMjE1LCAyMjEsIDEsIDI0NiwgOCwgMjE1LCAKKyAgICAyMjEsIDEsIDI0MCwgMjMwLCAyMTUsIDIyMSwgMSwgMjA4LCAxNTUsIDIxNSwgMjIxLCAxLCAyMTIsIDIwLCAyMTUsIDIyMSwgCisgICAgMSwgMjA1LCAxNywgMjE1LCAyMjEsIDEsIDIyNywgMTE3LCAyMTUsIDIyMSwgMSwgMjMyLCAxMDIsIDIxNSwgMjIxLCAxLCAKKyAgICAyMDYsIDI0OCwgMjE1LCAyMjEsIDEsIDIzOSwgMTQzLCAyMTUsIDIyMSwgMSwgMjI5LCAxMzAsIDIxNSwgMjIxLCAxLCAyMjYsIAorICAgIDIxMCwgMjE1LCAyMjEsIDEsIDIzMywgMTA5LCAyMTUsIDIyMSwgMSwgMjQzLCA5NiwgMjE1LCAyMjEsIDEsIDI1MSwgMjI1LCAKKyAgICAyMTUsIDIyMSwgMSwgMjUyLCAyNTIsIDIxNSwgMjIxLCAxLCAyMjIsIDE2NSwgMjE1LCAyMjEsIDEsIDIwNiwgMjM1LCAyMTUsIAorICAgIDIyMSwgMSwgMjIyLCA5MywgMjE1LCAyMjEsIDEsIDI1MiwgMjEzLCAyMTUsIDIyMSwgMSwgMjE4LCAxMjEsIDIxNSwgMjIxLCAKKyAgICAxLCAyMjMsIDE3MywgMjE1LCAyMjEsIDEsIDI0MywgMTEzLCAyMTUsIDIyMSwgMSwgMjUyLCAyMTgsIDIxNSwgMjIxLCAxLCAKKyAgICAyMzcsIDE4MSwgMjE1LCAyMjEsIDEsIDIwOSwgMjA2LCAyMTUsIDIyMSwgMSwgMjIyLCAyMjgsIDIxNSwgMjIxLCAxLCAyMjIsIAorICAgIDE0NCwgMjE1LCAyMjEsIDEsIDIyMiwgMTg5LCAyMTUsIDIyMSwgMSwgMjUxLCAxNjIsIDIxNSwgMjIxLCAxLCAyNTIsIDE0LCAKKyAgICAyMTUsIDIyMSwgMSwgMjIyLCAxMjIsIDIxNSwgMjIxLCAxLCAyNTIsIDE5NiwgMjE1LCAyMjEsIDEsIDI0MiwgMjI5LCAyMTUsIAorICAgIDIyMSwgMSwgMjUxLCAyNDgsIDIxNSwgMjIxLCAxLCAyNDMsIDEyNCwgMjE1LCAyMjEsIDEsIDIzNywgMTg5LCAyMTUsIDIyMSwgCisgICAgMSwgMjA2LCAxNiwgMjIyLCAxMDQsIDEsIDI1MiwgMTcyLCAyMjIsIDEwNCwgMSwgMjUwLCAxODMsIDIyMiwgMTA0LCAxLCAKKyAgICAyMTIsIDIxOSwgMjIyLCAxMDQsIDEsIDIzMiwgMjAwLCAyMjIsIDEwNCwgMSwgMjA2LCAxODEsIDIyMiwgMTA0LCAxLCAyMzEsIAorICAgIDE2NywgMjIyLCAxMDQsIDEsIDI0NSwgMjUwLCAyMjIsIDEwNCwgMSwgMjE5LCAxMTMsIDIyMiwgMTA0LCAxLCAyMTcsIDE5OSwgCisgICAgMjIyLCAxMDQsIDEsIDIxNSwgMTc3LCAyMjIsIDEwNCwgMSwgMjQ1LCAxOTIsIDIyMiwgMTA0LCAxLCAyNDgsIDE3MywgMjIyLCAKKyAgICAxMDQsIDEsIDI0MCwgMjQ0LCAyMjIsIDEwNCwgMSwgMjQyLCA3MywgMjIyLCAxMDQsIDEsIDIyMCwgMTcsIDIyMiwgMTA0LCAKKyAgICAxLCAyMzIsIDYxLCAyMjIsIDEwNCwgMSwgMjMwLCAxMzYsIDIyMiwgMTA0LCAxLCAyMjYsIDIyMywgMjIyLCAxMDQsIDEsIAorICAgIDIyMywgMTU3LCAyMjIsIDEwNCwgMSwgMjA3LCA1OSwgMjIyLCAxMDQsIDEsIDE1NSwgMjIyLCAxMDQsIDEsIDE5MCwgMjIyLCAKKyAgICAxMDQsIDEsIDYyLCAyMjIsIDEwNCwgMSwgNzUsIDIyMiwgMTA0LCAxLCA3NCwgMjIyLCAxMDQsIDEsIDc2LCAyMjIsIDEwNCwgCisgICAgMSwgNzEsIDIyMiwgMTA0LCAxLCAyNTMsIDE2NCwgMjIyLCAxMDQsIDEsIDI0MywgMTA0LCAyMjIsIDEwNCwgMSwgMjIyLCAKKyAgICAxNTIsIDIyMiwgMTA0LCAxOCwgMjA1LCA4NSwgMjIyLCAxMDQsIDE4LCAxMDIsIDIyMiwgMTA0LCAxOCwgMTA1LCAyMjIsIAorICAgIDEwNCwgMTgsIDE0MiwgMjIyLCAxMDQsIDE4LCAxMzksIDIyMiwgMTA0LCAxOCwgMTY4LCAyMjIsIDEwNCwgMTgsIDE4NCwgCisgICAgMjIyLCAxMDQsIDE4LCAxOTUsIDIyMiwgMTA0LCAxOCwgMTkzLCAyMjIsIDEwNCwgMTgsIDIwMCwgMjQzLCA2NCwgMSwgNjIsIAorICAgIDI0MywgNjQsIDEsIDI1MCwgNjEsIDI0MywgNjQsIDEsIDI0OCwgMTQ4LCAyNDMsIDY0LCAxLCAyNDgsIDgyLCAyNDMsIDY0LCAKKyAgICAxLCAyNDYsIDksIDI0MywgNjQsIDEsIDIyNSwgMTQzLCAyNDMsIDY0LCAxLCAyNDUsIDE4MywgMjQzLCA2NCwgMSwgMjQzLCAKKyAgICA5MCwgMjQzLCA2NCwgMSwgNzUsIDI0MywgNjQsIDEsIDI0MiwgMjgsIDI0MywgNjQsIDEsIDI0MCwgMTcwLCAyNDMsIDY0LCAKKyAgICAxLCAyNDAsIDMyLCAyNDMsIDY0LCAxLCAyMzksIDcxLCAyNDMsIDY0LCAxLCA3NCwgMjQzLCA2NCwgMSwgMjMyLCAxODIsIAorICAgIDI0MywgNjQsIDEsIDIzMSwgMjI0LCAyNDMsIDY0LCAxLCAyMzAsIDU4LCAyNDMsIDY0LCAxLCAyMjksIDE2OCwgMjQzLCA2NCwgCisgICAgMSwgMjI3LCAxMTksIDI0MywgNjQsIDEsIDIyNSwgMTEwLCAyNDMsIDY0LCAxLCAxOTksIDI0MywgNjQsIDEsIDIyNCwgMTczLCAKKyAgICAyNDMsIDY0LCAxLCA3NiwgMjQzLCA2NCwgMSwgMjIxLCAxNzQsIDI0MywgNjQsIDEsIDIxOSwgMjU1LCAyNDMsIDY0LCAxLCAKKyAgICAyMTksIDUxLCAyNDMsIDY0LCAxLCAyMTgsIDg0LCAyNDMsIDY0LCAxLCAyMTcsIDg2LCAyNDMsIDY0LCAxLCAyMTUsIDIxNCwgCisgICAgMjQzLCA2NCwgMSwgMjEyLCAxMzEsIDI0MywgNjQsIDEsIDIxMiwgNDEsIDI0MywgNjQsIDEsIDcxLCAyNDMsIDY0LCAxLCAKKyAgICAyMDksIDM5LCAyNDMsIDY0LCAxLCAyMDYsIDE3NSwgMjQzLCA2NCwgMSwgMjA2LCAxMjMsIDI0MywgNjQsIDEsIDIwNSwgOTMsIAorICAgIDI0MywgNjQsIDEsIDIwNSwgNzIsIDI0MywgNjQsIDEsIDI0MCwgODUsIDI0MywgNjQsIDEsIDI0MCwgOTEsIDI0MywgNjQsIAorICAgIDEsIDIzMSwgMTUyLCAyNDgsIDE4MCwgMjUyLCAxNzMsIDEsIDI1MiwgMTQzLCAyNDgsIDE4MCwgMjUyLCAxNzMsIDEsIDI1MCwgCisgICAgMTAsIDI0OCwgMTgwLCAyNTIsIDE3MywgMSwgMjQwLCA0OSwgMjQ4LCAxODAsIDI1MiwgMTczLCAxLCAyNDYsIDc0LCAyNDgsIAorICAgIDE4MCwgMjUyLCAxNzMsIDEsIDI0MywgMTEyLCAyNDgsIDE4MCwgMjUyLCAxNzMsIDEsIDIwNSwgMTAzLCAyNDgsIDE4MCwgCisgICAgMjUyLCAxNzMsIDEsIDI0MiwgMTQ3LCAyNDgsIDE4MCwgMjUyLCAxNzMsIDEsIDIwNSwgNjYsIDI0OCwgMTgwLCAyNTIsIAorICAgIDE3MywgMSwgMjEyLCAxNTcsIDI0OCwgMTgwLCAyNTIsIDE3MywgMSwgMjQ4LCAxMTAsIDI0OCwgMTgwLCAyNTIsIDE3MywgMSwgCisgICAgMjA1LCAyMjQsIDI0OCwgMTgwLCAyNTIsIDE3MywgMSwgMjA1LCA4MSwgMjQ4LCAxODAsIDI1MiwgMTczLCAxLCAyMzIsIAorICAgIDI0MiwgMjQ4LCAxODAsIDI1MiwgMTczLCAxLCAyMTYsIDIsIDI0OCwgMTgwLCAyNTIsIDE3MywgMSwgMjMwLCA5NSwgMjQ4LCAKKyAgICAxODAsIDI1MiwgMTczLCAxLCAyMzIsIDI1NCwgMjQ4LCAxODAsIDI1MiwgMTczLCAxLCAyMDYsIDE3MSwgMjQ4LCAxODAsIAorICAgIDI1MiwgMTczLCAxLCAyNDMsIDIwMywgMjQ4LCAxODAsIDI1MiwgMTczLCAxLCAyNDgsIDIwNCwgMjQ4LCAxODAsIDI1MiwgCisgICAgMTczLCAxLCAyMzIsIDE2MywgMjQ4LCAxODAsIDI1MiwgMTczLCAxLCAyMzIsIDcsIDI0OCwgMTgwLCAyNTIsIDE3MywgMSwgCisgICAgMjI5LCAzNywgMjQ4LCAxODAsIDI1MiwgMTczLCAxLCAyMzksIDIyLCAyNDgsIDE4MCwgMjUyLCAxNzMsIDEsIDIyMCwgMCwgCisgICAgMjQ4LCAxODAsIDI1MiwgMTczLCAxLCAyNTIsIDcwLCAyNDgsIDE4MCwgMjUyLCAxNzMsIDEsIDI0OCwgMjMsIDI0OCwgMTgwLCAKKyAgICAyNTIsIDE3MywgMSwgMjQ4LCA1OCwgMjQ4LCAxODAsIDI1MiwgMTczLCAxLCAyNDYsIDI1MiwgMjQ4LCAxODAsIDI1MiwgCisgICAgMTczLCAxLCAyMjcsIDIwMiwgMjQ4LCAxODAsIDI1MiwgMTczLCAxLCAyMjAsIDQsIDI0OCwgMTgwLCAyNTIsIDE3MywgMSwgCisgICAgMjI0LCAyOCwgMjQ4LCAxODAsIDI1MiwgMTczLCAxLCAyNDMsIDE4MSwgMjQ4LCAxODAsIDI1MiwgMTczLCAxLCAyMTUsIAorICAgIDI0MiwgMjQ4LCAxODAsIDI1MiwgMTczLCAxLCAyMzIsIDE4MywgMjQ4LCAxODAsIDI1MiwgMTczLCAxLCAyMjIsIDE2NSwgCisgICAgMjQ4LCAxODAsIDI1MiwgMTczLCAxLCAyMTAsIDk5LCAyNDgsIDE4MCwgMjUyLCAxNzMsIDEsIDI0MiwgNDksIDI0OCwgMTgwLCAKKyAgICAyNTIsIDE3MywgMSwgMjQzLCAxOTQsIDI0OCwgMTgwLCAyNTIsIDE3MywgMSwgMjQ4LCA4OCwgMjQ4LCAxODAsIDI1MiwgCisgICAgMTczLCAxLCAyMjEsIDE1MCwgMjQ4LCAxODAsIDI1MiwgMTczLCAxLCAyNDAsIDc1LCAyNDgsIDE4MCwgMjUyLCAxNzMsIDEsIAorICAgIDIxOSwgNjUsIDI0OCwgMTgwLCAyNTIsIDE3MywgMSwgMjE2LCAxMSwgMjQ4LCAxODAsIDI1MiwgMTczLCAxLCAyMDgsIDIxNiwgCisgICAgMjQ4LCAxODAsIDI1MiwgMTczLCAxLCAyMTEsIDE1MCwgMjQ4LCAxODAsIDI1MiwgMTczLCAxLCAyMTUsIDEyNCwgMjQ4LCAKKyAgICAxODAsIDI1MiwgMTczLCAxLCAyMzIsIDIxMywgMjQ4LCAxODAsIDI1MiwgMTczLCAxLCAyNDYsIDI1MywgMjQ4LCAxODAsIAorICAgIDI1MiwgMTczLCAxLCAyNDgsIDE3MywgMjQ4LCAxODAsIDI1MiwgMTczLCAxLCAyMDYsIDU2LCAyNDgsIDE4MCwgMjUyLCAKKyAgICAxNzMsIDEsIDIyMCwgMjQ0LCAyNDgsIDE4MCwgMjUyLCAxNzMsIDEsIDIzMSwgODcsIDI0OCwgMTgwLCAyNTIsIDE3MywgCisgICAgMjQ3LCAyMjQsIDgzLCAyNiwgMzIsIDMsIDI1MywgMTE0LCAyNiwgMzIsIDMsIDI1MywgMTEzLCAyNiwgMzIsIDMsIDI1MywgCisgICAgMTEyLCAyNiwgMzIsIDMsIDI1MywgMTExLCAyNiwgMzIsIDMsIDI1MywgMTEwLCAyNiwgMzIsIDMsIDI1MywgMTA5LCAyNiwgCisgICAgMzIsIDMsIDI1MywgMTA4LCAyNiwgMzIsIDMsIDI1MywgMTA3LCAyNiwgMzIsIDMsIDI1MywgMTA2LCAyNiwgMzIsIDMsIAorICAgIDI1MywgMTA1LCAyNiwgMzIsIDMsIDI1MywgMTA0LCAyNiwgMzIsIDMsIDI1MywgMTAzLCAyNiwgMzIsIDMsIDI1MywgMTAyLCAKKyAgICAyNiwgMzIsIDMsIDI1MywgMTAxLCAyNiwgMzIsIDMsIDI1MywgMTAwLCAyNiwgMzIsIDMsIDI1MywgOTksIDI2LCAzMiwgMywgCisgICAgMjUzLCA5OCwgMjYsIDMyLCAzLCAyNTMsIDk3LCAyNiwgMzIsIDMsIDI1MywgOTYsIDI2LCAzMiwgMywgMjUzLCA5NSwgMjYsIAorICAgIDMyLCAzLCAyNTMsIDk0LCAyNiwgMzIsIDMsIDI1MywgOTMsIDI2LCAzMiwgMywgMjUzLCA5MiwgMjYsIDMyLCAzLCAyNTMsIAorICAgIDkxLCAyNiwgMzIsIDMsIDI1MywgOTAsIDI2LCAzMiwgMywgMjUzLCA4OSwgMjYsIDMyLCAzLCAyNTMsIDg4LCAyNiwgMzIsIAorICAgIDMsIDI1NCwgMjE3LCAyNiwgMzIsIDMsIDI1MywgODcsIDI2LCAzMiwgMywgMjUzLCA4NiwgMjYsIDMyLCAzLCAyNTMsIDg1LCAKKyAgICAyNiwgMzIsIDMsIDI1MywgODQsIDI2LCAzMiwgMywgMjUzLCA4MywgMjYsIDMyLCAzLCAyNTMsIDgyLCAyNiwgMzIsIDMsIAorICAgIDI1MywgODEsIDI2LCAzMiwgMywgMjUzLCA4MCwgMjYsIDMyLCAzLCAyNTMsIDc5LCAyNiwgMzIsIDMsIDI1MywgNzgsIDI2LCAKKyAgICAzMiwgMywgMjUzLCA3NywgMjYsIDMyLCAzLCAyNTMsIDc2LCAyNiwgMzIsIDMsIDI1MywgNzUsIDI2LCAzMiwgMywgMjUzLCAKKyAgICA3NCwgMjYsIDMyLCAzLCAyNTMsIDczLCAyNiwgMzIsIDMsIDI1MywgNzIsIDI2LCAzMiwgMywgMjUzLCA3MSwgMjYsIDMyLCAKKyAgICAzLCAyNTMsIDcwLCAyNiwgMzIsIDMsIDI1MywgNjksIDI2LCAzMiwgMywgMjUzLCA2OCwgMjYsIDMyLCAzLCAyNTMsIDY3LCAKKyAgICAyNiwgMzIsIDMsIDI1MywgNjYsIDI2LCAzMiwgMywgMjUzLCA2NSwgMjYsIDMyLCAzLCAyNTMsIDY0LCAyNiwgMzIsIDMsIAorICAgIDI1MywgNjMsIDI2LCAzMiwgMywgMjUzLCA2MiwgMjYsIDMyLCAzLCAyNTMsIDYxLCAyNiwgMzIsIDMsIDI1MywgNjAsIDI2LCAKKyAgICAzMiwgMywgMjUzLCA1OSwgMjYsIDMyLCAzLCAyNTMsIDU4LCAyNiwgMzIsIDMsIDI1MywgNTcsIDI2LCAzMiwgMywgMjUzLCAKKyAgICA1NiwgMjYsIDMyLCAzLCAyNTMsIDU1LCAyNiwgMzIsIDMsIDI1MywgNTQsIDI2LCAzMiwgMywgMjUzLCA1MywgMjYsIDMyLCAKKyAgICAzLCAyNTMsIDUyLCAyNiwgMzIsIDMsIDI1MywgNTEsIDI2LCAzMiwgMywgMjUzLCA1MCwgMjYsIDMyLCAzLCAyNTMsIDQ5LCAKKyAgICAyNiwgMzIsIDMsIDI1MywgNDgsIDI2LCAzMiwgMywgMjUzLCA0NywgMjYsIDMyLCAzLCAyNTMsIDQ2LCAyNiwgMzIsIDMsIAorICAgIDI1MywgNDUsIDI2LCAzMiwgMywgMjU0LCAxNjksIDI2LCAzMiwgMywgMjUzLCA0NCwgMjYsIDMyLCAzLCAyNTMsIDQzLCAyNiwgCisgICAgMzIsIDMsIDI1NCwgMTY4LCAyNiwgMzIsIDMsIDI1MywgNDIsIDI2LCAzMiwgMywgMjUzLCA0MSwgMjYsIDMyLCAzLCAyNTMsIAorICAgIDQwLCAyNiwgMzIsIDMsIDI1MywgMzksIDI2LCAzMiwgMywgMjU0LCAxNjcsIDI2LCAzMiwgMywgMjUzLCAzOCwgMjYsIDMyLCAKKyAgICAzLCAyNTMsIDM3LCAyNiwgMzIsIDMsIDI1MywgMzYsIDI2LCAzMiwgMywgMjUzLCAzNSwgMjYsIDMyLCAzLCAyNTMsIDM0LCAKKyAgICAyNiwgMzIsIDMsIDI1NCwgMTY0LCAyNiwgMzIsIDMsIDI1NCwgMTYzLCAyNiwgMzIsIDMsIDI1NCwgMTYyLCAyNiwgMzIsIDMsIAorICAgIDI1NCwgMTYxLCAyNiwgMzIsIDMsIDI1NCwgMTYwLCAyNiwgMzIsIDMsIDI1NCwgMTU5LCAyNiwgMzIsIDMsIDI1NCwgMTU4LCAKKyAgICAyNiwgMzIsIDMsIDI1NCwgMTU3LCAyNiwgMzIsIDMsIDI1NCwgMTU2LCAyNiwgMzIsIDMsIDI1NCwgMTU1LCAyNiwgMzIsIDMsIAorICAgIDI1NCwgMTU0LCAyNiwgMzIsIDMsIDI1NCwgMTUzLCAyNiwgMzIsIDMsIDI1NCwgMTUyLCAyNiwgMzIsIDMsIDI1NCwgMTUxLCAKKyAgICAyNiwgMzIsIDMsIDI1NCwgMTUwLCAyNiwgMzIsIDMsIDI1NCwgMTQ5LCAyNiwgMzIsIDMsIDI1NCwgMTQ4LCAyNiwgMzIsIDMsIAorICAgIDI1NCwgMTQ3LCAyNiwgMzIsIDMsIDI1NCwgMTQ2LCAyNiwgMzIsIDMsIDI1NCwgMTQ1LCAyNiwgMzIsIDMsIDI1NCwgMTQ0LCAKKyAgICAyNiwgMzIsIDMsIDI1NCwgMTQzLCAyNiwgMzIsIDMsIDI1NCwgMTQyLCAyNiwgMzIsIDMsIDI1NCwgMTQxLCAyNiwgMzIsIDMsIAorICAgIDI1NCwgMTQwLCAyNiwgMzIsIDMsIDI1NCwgMTM5LCAyNiwgMzIsIDMsIDI1NCwgMTM4LCAyNiwgMzIsIDMsIDI1NCwgMTM3LCAKKyAgICAyNiwgMzIsIDMsIDI1NCwgMTM2LCAyNiwgMzIsIDMsIDI1NCwgMTM1LCAyNiwgMzIsIDMsIDI1NCwgMTM0LCAyNiwgMzIsIDMsIAorICAgIDI1NCwgMTMzLCAyNiwgMzIsIDMsIDI1NCwgMTMyLCAyNiwgMzIsIDMsIDI1NCwgMTMxLCAyNiwgMzIsIDMsIDI1NCwgMTMwLCAKKyAgICAyNiwgMzIsIDMsIDI1NCwgMTI5LCAyNiwgMzIsIDMsIDI1NCwgMTI4LCAyNiwgMzIsIDMsIDI1NCwgMTI3LCAyNiwgMzIsIDMsIAorICAgIDI1NCwgMTI2LCAyNiwgMzIsIDMsIDI1NCwgMTI1LCAyNiwgMzIsIDMsIDI1NCwgMTI0LCAyNiwgMzIsIDMsIDI1NCwgMTIzLCAKKyAgICAyNiwgMzIsIDMsIDI1NCwgMTIyLCAyNiwgMzIsIDMsIDI1NCwgMTIxLCAyNiwgMzIsIDMsIDI1NCwgMTIwLCAyNiwgMzIsIDMsIAorICAgIDI1NCwgMTE5LCAyNiwgMzIsIDMsIDI1NCwgMTE4LCAyNiwgMzIsIDMsIDI1NCwgMTE3LCAyNiwgMzIsIDMsIDI1NCwgMTE2LCAKKyAgICAyNiwgMzIsIDMsIDI1NCwgMTE1LCAyNiwgMzIsIDMsIDI1NCwgMTE0LCAyNiwgMzIsIDMsIDI1NCwgMTEzLCAyNiwgMzIsIDMsIAorICAgIDI1NCwgMTEyLCAyNiwgMzIsIDMsIDI1NCwgMTExLCAyNiwgMzIsIDMsIDI1NCwgMTEwLCAyNiwgMzIsIDMsIDI1NCwgMTA5LCAKKyAgICAyNiwgMzIsIDMsIDI1NCwgMTA4LCAyNiwgMzIsIDMsIDI1NCwgMTA3LCAyNiwgMzIsIDMsIDI1NCwgMTA2LCAyNiwgMzIsIDMsIAorICAgIDI1NCwgMTA1LCAyNiwgMzIsIDMsIDI1NCwgMTA0LCAyNiwgMzIsIDMsIDI1NCwgMTAzLCAyNiwgMzIsIDMsIDI1NCwgMTAyLCAKKyAgICAyNiwgMzIsIDMsIDI1NCwgMTAxLCAyNiwgMzIsIDMsIDI1NCwgMTAwLCAyNiwgMzIsIDMsIDI1NCwgOTksIDI2LCAzMiwgMywgCisgICAgMjU0LCA5OCwgMjYsIDMyLCAzLCAyNTQsIDk3LCAyNiwgMzIsIDMsIDI1NCwgOTYsIDI2LCAzMiwgMywgMjU0LCA5NSwgMjYsIAorICAgIDMyLCAzLCAyNTQsIDk0LCAyNiwgMzIsIDMsIDI1NCwgOTMsIDI2LCAzMiwgMywgMjU0LCA5MiwgMjYsIDMyLCAzLCAyNTQsIAorICAgIDkxLCAyNiwgMzIsIDMsIDI1NCwgOTAsIDI2LCAzMiwgMywgMjU0LCA4OSwgMjYsIDMyLCAzLCAyNTQsIDg4LCAyNiwgMzIsIAorICAgIDMsIDI1NCwgODcsIDI2LCAzMiwgMywgMjU0LCA4NiwgMjYsIDMyLCAzLCAyNTQsIDg1LCAyNiwgMzIsIDMsIDI1NCwgODQsIAorICAgIDI2LCAzMiwgMywgMjU0LCA4MywgMjYsIDMyLCAzLCAyNTQsIDgyLCAyNiwgMzIsIDMsIDI1NCwgODEsIDI2LCAzMiwgMywgCisgICAgMjU0LCA4MCwgMjYsIDMyLCAzLCAyNTQsIDc5LCAyNiwgMzIsIDMsIDI1NCwgNzgsIDI2LCAzMiwgMywgMjU0LCA3NywgMjYsIAorICAgIDMyLCAzLCAyNTQsIDc2LCAyNiwgMzIsIDMsIDI1NCwgNzUsIDI2LCAzMiwgMywgMjU0LCA3NCwgMjYsIDMyLCAzLCAyNTQsIAorICAgIDczLCAyNiwgMzIsIDMsIDI1NCwgNzIsIDI2LCAzMiwgMywgMjU0LCA3MSwgMjYsIDMyLCAzLCAyNTQsIDcwLCAyNiwgMzIsIAorICAgIDMsIDI1NCwgNjksIDI2LCAzMiwgMywgMjU0LCA2OCwgMjYsIDMyLCAzLCAyNTQsIDY3LCAyNiwgMzIsIDMsIDI1NCwgNjYsIAorICAgIDI2LCAzMiwgMywgMjU0LCA2NSwgMjYsIDMyLCAzLCAyNTQsIDY0LCAyNiwgMzIsIDMsIDI1NCwgNjMsIDI2LCAzMiwgMywgCisgICAgMjU0LCA2MiwgMjYsIDMyLCAzLCAyNTQsIDYxLCAyNiwgMzIsIDMsIDI1NCwgNjAsIDI2LCAzMiwgMywgMjU0LCA1OSwgMjYsIAorICAgIDMyLCAzLCAyNTQsIDU4LCAyNiwgMzIsIDMsIDI1NCwgNTcsIDI2LCAzMiwgMywgMjU0LCA1NiwgMjYsIDMyLCAzLCAyNTQsIAorICAgIDU1LCAyNiwgMzIsIDMsIDI1NCwgNTQsIDI2LCAzMiwgMywgMjU0LCA1MywgMjYsIDMyLCAzLCAyNTQsIDUyLCAyNiwgMzIsIAorICAgIDMsIDI1NCwgNTEsIDI2LCAzMiwgMywgMjU0LCA1MCwgMjYsIDMyLCAzLCAyNTQsIDQ5LCAyNiwgMzIsIDMsIDI1NCwgNDgsIAorICAgIDI2LCAzMiwgMywgMjU0LCA0NywgMjYsIDMyLCAzLCAyNTQsIDQ2LCAyNiwgMzIsIDMsIDI1NCwgNDUsIDI2LCAzMiwgMywgCisgICAgMjU0LCA0NCwgMjYsIDMyLCAzLCAyNTQsIDQzLCAyNiwgMzIsIDMsIDI1NCwgNDIsIDI2LCAzMiwgMywgMjU0LCA0MSwgMjYsIAorICAgIDMyLCAzLCAyNTQsIDQwLCAyNiwgMzIsIDMsIDI1NCwgMzksIDI2LCAzMiwgMywgMjU0LCAzOCwgMjYsIDMyLCAzLCAyNTQsIAorICAgIDM3LCAyNiwgMzIsIDMsIDI1NCwgMzYsIDI2LCAzMiwgMywgMjU0LCAzNSwgMjYsIDMyLCAzLCAyNTQsIDM0LCAyNiwgMzIsIAorICAgIDMsIDI1NCwgMzMsIDI2LCAzMiwgMywgMjU0LCAzMiwgMjYsIDMyLCAzLCAyNTQsIDMxLCAyNiwgMzIsIDMsIDI1NCwgMzAsIAorICAgIDI2LCAzMiwgMywgMjU0LCAyOSwgMjYsIDMyLCAzLCAyNTQsIDI4LCAyNiwgMzIsIDMsIDI1NCwgMjcsIDI2LCAzMiwgMywgCisgICAgMjU0LCAyNiwgMjYsIDMyLCAzLCAyNTQsIDI1LCAyNiwgMzIsIDMsIDI1NCwgMjQsIDI2LCAzMiwgMywgMjU0LCAyMywgMjYsIAorICAgIDMyLCAzLCAyNTQsIDIyLCAyNiwgMzIsIDMsIDI1NCwgMjEsIDI2LCAzMiwgMywgMjU0LCAyMCwgMjYsIDMyLCAzLCAyNTQsIAorICAgIDE5LCAyNiwgMzIsIDMsIDI1NCwgMTgsIDI2LCAzMiwgMywgMjU0LCAxNywgMjYsIDMyLCAzLCAyNTQsIDE2LCAyNiwgMzIsIAorICAgIDMsIDI1NCwgMTUsIDI2LCAzMiwgMywgMjU0LCAxNCwgMjYsIDMyLCAzLCAyNTQsIDEzLCAyNiwgMzIsIDMsIDI1NCwgMTIsIAorICAgIDI2LCAzMiwgMywgMjU0LCAxMSwgMjYsIDMyLCAzLCAyNTQsIDEwLCAyNiwgMzIsIDMsIDI1NCwgOSwgMjYsIDMyLCAzLCAKKyAgICAyNTQsIDgsIDI2LCAzMiwgMywgMjU0LCA3LCAyNiwgMzIsIDMsIDI1NCwgNiwgMjYsIDMyLCAzLCAyNTQsIDUsIDI2LCAzMiwgCisgICAgMywgMjU0LCA0LCAyNiwgMzIsIDMsIDI1NCwgMywgMjYsIDMyLCAzLCAyNTQsIDIsIDI2LCAzMiwgMywgMjU0LCAxLCAyNiwgCisgICAgMzIsIDMsIDI1NCwgMCwgMjYsIDMyLCAzLCAyNTMsIDI1NSwgMjYsIDMyLCAzLCAyNTMsIDI1NCwgMjYsIDMyLCAzLCAyNTMsIAorICAgIDI1MywgMjYsIDMyLCAzLCAyNTMsIDI1MiwgMjYsIDMyLCAzLCAyNTMsIDI1MSwgMjYsIDMyLCAzLCAyNTMsIDI1MCwgMjYsIAorICAgIDMyLCAzLCAyNTMsIDI0OSwgMjYsIDMyLCAzLCAyNTMsIDI0OCwgMjYsIDMyLCAzLCAyNTMsIDI0NywgMjYsIDMyLCAzLCAKKyAgICAyNTMsIDI0NiwgMjYsIDMyLCAzLCAyNTMsIDI0NSwgMjYsIDMyLCAzLCAyNTMsIDI0NCwgMjYsIDMyLCAzLCAyNTMsIDI0MywgCisgICAgMjYsIDMyLCAzLCAyNTMsIDI0MiwgMjYsIDMyLCAzLCAyNTMsIDI0MSwgMjYsIDMyLCAzLCAyNTMsIDI0MCwgMjYsIDMyLCAzLCAKKyAgICAyNTMsIDIzOSwgMjYsIDMyLCAzLCAyNTMsIDIzOCwgMjYsIDMyLCAzLCAyNTMsIDIzNywgMjYsIDMyLCAzLCAyNTMsIDIzNiwgCisgICAgMjYsIDMyLCAzLCAyNTMsIDIzNSwgMjYsIDMyLCAzLCAyNTMsIDIzNCwgMjYsIDMyLCAzLCAyNTMsIDIzMywgMjYsIDMyLCAzLCAKKyAgICAyNTMsIDIzMiwgMjYsIDMyLCAzLCAyNTMsIDIzMSwgMjYsIDMyLCAzLCAyNTMsIDIzMCwgMjYsIDMyLCAzLCAyNTMsIDIyOSwgCisgICAgMjYsIDMyLCAzLCAyNTMsIDIyOCwgMjYsIDMyLCAzLCAyNTMsIDIyNywgMjYsIDMyLCAzLCAyNTMsIDIyNiwgMjYsIDMyLCAzLCAKKyAgICAyNTMsIDIyNSwgMjYsIDMyLCAzLCAyNTMsIDIyNCwgMjYsIDMyLCAzLCAyNTMsIDIyMywgMjYsIDMyLCAzLCAyNTMsIDIyMiwgCisgICAgMjYsIDMyLCAzLCAyNTMsIDIyMSwgMjYsIDMyLCAzLCAyNTMsIDIyMCwgMjYsIDMyLCAzLCAyNTMsIDIxOSwgMjYsIDMyLCAzLCAKKyAgICAyNTMsIDIxOCwgMjYsIDMyLCAzLCAyNTMsIDIxNywgMjYsIDMyLCAzLCAyNTMsIDIxNiwgMjYsIDMyLCAzLCAyNTMsIDIxNSwgCisgICAgMjYsIDMyLCAzLCAyNTMsIDIxNCwgMjYsIDMyLCAzLCAyNTMsIDIxMywgMjYsIDMyLCAzLCAyNTMsIDIxMiwgMjYsIDMyLCAzLCAKKyAgICAyNTMsIDIxMSwgMjYsIDMyLCAzLCAyNTMsIDIxMCwgMjYsIDMyLCAzLCAyNTMsIDIwOSwgMjYsIDMyLCAzLCAyNTMsIDIwOCwgCisgICAgMjYsIDMyLCAzLCAyNTMsIDIwNywgMjYsIDMyLCAzLCAyNTMsIDIwNiwgMjYsIDMyLCAzLCAyNTMsIDIwNSwgMjYsIDMyLCAzLCAKKyAgICAyNTMsIDIwNCwgMjYsIDMyLCAzLCAyNTMsIDIwMywgMjYsIDMyLCAzLCAyNTMsIDIwMiwgMjYsIDMyLCAzLCAyNTMsIDIwMSwgCisgICAgMjYsIDMyLCAzLCAyNTMsIDIwMCwgMjYsIDMyLCAzLCAyNTMsIDE5OSwgMjYsIDMyLCAzLCAyNTMsIDE5OCwgMjYsIDMyLCAzLCAKKyAgICAyNTMsIDE5NywgMjYsIDMyLCAzLCAyNTMsIDE5NiwgMjYsIDMyLCAzLCAyNTMsIDE5NSwgMjYsIDMyLCAzLCAyNTMsIDE5NCwgCisgICAgNjIsIDI2LCAzMiwgMywgMjUzLCAxOTMsIDI1MSwgMTUwLCAyNiwgMzIsIDMsIDI1MywgMTkyLCAyNDYsIDI0MCwgMjYsIDMyLCAKKyAgICAzLCAyNTMsIDE5MSwgNzUsIDI2LCAzMiwgMywgMjUzLCAxOTAsIDI0MiwgMTM5LCAyNiwgMzIsIDMsIDI1MywgMTg5LCAyMzksIAorICAgIDE1NSwgMjYsIDMyLCAzLCAyNTMsIDE4OCwgMjMyLCAyMDMsIDI2LCAzMiwgMywgMjUzLCAxODcsIDIzMiwgNzYsIDI2LCAzMiwgCisgICAgMywgMjUzLCAxODYsIDE0OSwgMjYsIDMyLCAzLCAyNTMsIDE4NSwgMjMwLCAxNDYsIDI2LCAzMiwgMywgMjUzLCAxODQsIAorICAgIDIzMCwgMTQ1LCAyNiwgMzIsIDMsIDI1MywgMTgzLCAyMzAsIDE0NCwgMjYsIDMyLCAzLCAyNTMsIDE4MiwgMjMwLCAxNDMsIAorICAgIDI2LCAzMiwgMywgMjUzLCAxODEsIDIwNywgMTI5LCAyNiwgMzIsIDMsIDI1MywgMTgwLCAyMDYsIDE5NSwgMjYsIDMyLCAzLCAKKyAgICAyNTMsIDE3OSwgMjA2LCAxMjMsIDI2LCAzMiwgMywgMjUzLCAxNzgsIDIyMiwgMTcwLCAyNiwgMzIsIDMsIDI1MywgMTc3LCAKKyAgICAyNTMsIDMwLCAyNiwgMzIsIDMsIDI1MywgMTc2LCAyNTAsIDk4LCAyNiwgMzIsIDMsIDI1MywgMTc1LCAyNDYsIDU2LCAyNiwgCisgICAgMzIsIDMsIDI1MywgMTc0LCAyNDIsIDE0NiwgMjYsIDMyLCAzLCAyNTMsIDE3MywgMjMyLCAxODIsIDI2LCAzMiwgMywgMjUzLCAKKyAgICAxNzIsIDI2LCAzMiwgMywgMjUzLCAxNzEsIDI2LCAzMiwgMywgMjUzLCAxNzAsIDI2LCAzMiwgMywgMjUzLCAxNjksIDI2LCAKKyAgICAzMiwgMywgMjUzLCAxNjgsIDI2LCAzMiwgMywgMjUzLCAxNjcsIDI2LCAzMiwgMywgMjUzLCAxNjYsIDI2LCAzMiwgMywgCisgICAgMjUzLCAxNjUsIDI0NiwgMjQ3LCA0LCA2MiwgMjQ2LCAyNDcsIDQsIDc1LCAyNDYsIDI0NywgNCwgNzQsIDI0NiwgMjQ3LCA0LCAKKyAgICA3NiwgMjQ2LCAyNDcsIDQsIDcxLCAyNDYsIDI0NywgNCwgMjMyLCAyMDAsIDI0NiwgMjQ3LCA0LCAyMzIsIDEyMiwgMjQ2LCAKKyAgICAyNDcsIDQsIDE3MiwgMjQ2LCAyNDcsIDQsIDIzMSwgMjI0LCAyNDYsIDI0NywgNCwgMjMxLCAxMjMsIDI0NiwgMjQ3LCA0LCAKKyAgICAyMzEsIDUzLCAyNDYsIDI0NywgNCwgMjMwLCAyMzYsIDI0NiwgMjQ3LCA0LCAyMzAsIDE0MSwgMjQ2LCAyNDcsIDQsIDIzMCwgCisgICAgNTgsIDI0NiwgMjQ3LCA0LCAyMjksIDIzNSwgMjQ2LCAyNDcsIDQsIDIyOSwgMTQ0LCAyNDYsIDI0NywgNCwgMjI5LCA4MSwgCisgICAgMjQ2LCAyNDcsIDQsIDE4NSwgMjQ2LCAyNDcsIDQsIDIyNywgMTE5LCAyNDYsIDI0NywgNCwgMjI2LCAyNTQsIDI0NiwgMjQ3LCAKKyAgICA0LCAyMjYsIDE4MSwgMjQ2LCAyNDcsIDQsIDIyNiwgMTE0LCAyNDYsIDI0NywgNCwgMTk5LCAyNDYsIDI0NywgNCwgMjI1LCAKKyAgICAxMTAsIDI0NiwgMjQ3LCA0LCAyMjQsIDIzMCwgMjQ2LCAyNDcsIDQsIDIyNCwgNjcsIDI0NiwgMjQ3LCA0LCAyMjMsIDIxNywgCisgICAgMjQ2LCAyNDcsIDQsIDE3OSwgMjQ2LCAyNDcsIDQsIDIyMSwgMTc0LCAyNDYsIDI0NywgNCwgMjIxLCA1MywgMjQ2LCAyNDcsIAorICAgIDQsIDIyMCwgMjExLCAyNDYsIDI0NywgNCwgMjIwLCA4MiwgMjQ2LCAyNDcsIDQsIDIxOSwgMTEzLCAyNDYsIDI0NywgNCwgCisgICAgMjE5LCA1MSwgMjQ2LCAyNDcsIDQsIDIxOCwgMjA4LCAyNDYsIDI0NywgNCwgMjE4LCAxMjQsIDI0NiwgMjQ3LCA0LCAyMTgsIAorICAgIDUwLCAyNDYsIDI0NywgNCwgMjE3LCAxOTksIDI0NiwgMjQ3LCA0LCAyMTcsIDg2LCAyNDYsIDI0NywgNCwgMjE1LCA4MCwgCisgICAgMjQ2LCAyNDcsIDQsIDIxNCwgMTkzLCAyNDYsIDI0NywgNCwgMjEzLCAyMDMsIDI0NiwgMjQ3LCA0LCAyMTIsIDIxOSwgMjQ2LCAKKyAgICAyNDcsIDQsIDIxMiwgMTMxLCAyNDYsIDI0NywgNCwgMjExLCAyMTEsIDI0NiwgMjQ3LCA0LCAxMjQsIDI0NiwgMjQ3LCA0LCAKKyAgICAyMTAsIDE3MCwgMjQ2LCAyNDcsIDQsIDIwNywgOTYsIDI0NiwgMjQ3LCA0LCAyMDcsIDUxLCAyNDYsIDI0NywgNCwgMjA3LCAKKyAgICAyMCwgMjQ2LCAyNDcsIDQsIDIwNiwgMjUwLCAyNDYsIDI0NywgNCwgMjA2LCAxODEsIDI0NiwgMjQ3LCA0LCAyMDYsIDE3NSwgCisgICAgMjQ2LCAyNDcsIDQsIDIwNSwgMTE2LCAyNDYsIDI0NywgNCwgMjA1LCAxOSwgMjMzLCA3MCwgMjUyLCAyMywgMSwgMjUyLCAKKyAgICAxNzAsIDIzMywgNzAsIDI1MiwgMjMsIDEsIDI1MCwgNywgMjMzLCA3MCwgMjUyLCAyMywgMSwgMjQwLCA0NywgMjMzLCA3MCwgCisgICAgMjUyLCAyMywgMSwgMjQ2LCAxMTAsIDIzMywgNzAsIDI1MiwgMjMsIDEsIDIzOSwgNzEsIDIzMywgNzAsIDI1MiwgMjMsIDEsIAorICAgIDIwNywgNTksIDIzMywgNzAsIDI1MiwgMjMsIDEsIDIwNSwgOTYsIDIzMywgNzAsIDI1MiwgMjMsIDEsIDIzOSwgMjcsIDIzMywgCisgICAgNzAsIDI1MiwgMjMsIDEsIDIxMiwgNzYsIDIzMywgNzAsIDI1MiwgMjMsIDEsIDIwNSwgMjM1LCAyMzMsIDcwLCAyNTIsIDIzLCAKKyAgICAxLCAyMzIsIDE3LCAyMzMsIDcwLCAyNTIsIDIzLCAxLCAyMzAsIDk3LCAyMzMsIDcwLCAyNTIsIDIzLCAxLCAyMjcsIDkwLCAKKyAgICAyMzMsIDcwLCAyNTIsIDIzLCAxLCAyMjMsIDE3MywgMjMzLCA3MCwgMjUyLCAyMywgMSwgMjE3LCAxNTcsIDIzMywgNzAsIAorICAgIDI1MiwgMjMsIDEsIDI1MSwgMTU0LCAyMzMsIDcwLCAyNTIsIDIzLCAxLCAyMjEsIDE3NCwgMjMzLCA3MCwgMjUyLCAyMywgMSwgCisgICAgMjE3LCAxODksIDIzMywgNzAsIDI1MiwgMjMsIDEsIDIxOSwgMjE4LCAyMzMsIDcwLCAyNTIsIDIzLCAxLCAyMTgsIDI0MiwgCisgICAgMjMzLCA3MCwgMjUyLCAyMywgMSwgMjE1LCAxNzEsIDIzMywgNzAsIDI1MiwgMjMsIDEsIDIxMiwgMTQ1LCAyMzMsIDcwLCAKKyAgICAyNTIsIDIzLCAyMTcsIDc3LCA1MywgMjMzLCA3MCwgMjUyLCAyMywgNDMsIDEwMiwgMjMzLCA3MCwgMjUyLCAyMywgNDMsIAorICAgIDEwNSwgMjMzLCA3MCwgMjUyLCAyMywgNDMsIDE0MiwgMjMzLCA3MCwgMjUyLCAyMywgNDMsIDIxMiwgOTgsIDIzMywgNzAsIAorICAgIDI1MiwgMjMsIDQzLCAyMTAsIDEyMywgMjMzLCA3MCwgMjUyLCAyMywgNDMsIDExOSwgMjM4LCAyOSwgMjMzLCA3MCwgMjUyLCAKKyAgICAyMywgNDMsIDExOSwgMjExLCAyNDIsIDIzMywgNzAsIDI1MiwgMjMsIDQzLCAyMTIsIDk5LCAyMTEsIDI0MiwgMjIyLCAxOCwgCisgICAgMSwgMjUyLCAxNzAsIDIyMiwgMTgsIDEsIDI1MCwgNywgMjIyLCAxOCwgMSwgMjQwLCA0NywgMjIyLCAxOCwgMSwgMjQ2LCAKKyAgICAxMTAsIDIyMiwgMTgsIDEsIDIzOSwgNzEsIDIyMiwgMTgsIDEsIDIwNywgNTksIDIyMiwgMTgsIDEsIDIwNSwgOTYsIDIyMiwgCisgICAgMTgsIDEsIDIzOSwgMjcsIDIyMiwgMTgsIDEsIDIxMiwgNzYsIDIyMiwgMTgsIDEsIDIwNSwgMjM1LCAyMjIsIDE4LCAxLCAKKyAgICAyMzIsIDE3LCAyMjIsIDE4LCAxLCAyMzAsIDk3LCAyMjIsIDE4LCAxLCAyMjcsIDkwLCAyMjIsIDE4LCAxLCA0MiwgMjIzLCAKKyAgICAxNzMsIDIyMiwgMTgsIDEsIDIyMywgMTczLCAyMjIsIDE4LCAxLCAyMTcsIDE1NywgMjIyLCAxOCwgMSwgMjUxLCAxNTQsIAorICAgIDIyMiwgMTgsIDEsIDIyMSwgMTc0LCAyMjIsIDE4LCAxLCAyMTcsIDE4OSwgMjIyLCAxOCwgMSwgMjE5LCAyMTgsIDIyMiwgCisgICAgMTgsIDEsIDIxOCwgMjQyLCAyMjIsIDE4LCAxLCAyMTUsIDE3MSwgMjIyLCAxOCwgMSwgMjEyLCAxNDUsIDIyMiwgMTgsIAorICAgIDIzMCwgNDEsIDI0MSwgMTgzLCAyMjIsIDE4LCAyMTgsIDE2MiwgMjQxLCAxODMsIDIyMiwgMTgsIDQzLCAxMDIsIDIyMiwgCisgICAgMTgsIDQzLCAxMDUsIDIyMiwgMTgsIDQzLCAxNDIsIDIyMiwgMTgsIDQzLCAxMzksIDIyMiwgMTgsIDQzLCAxNjgsIDIyMiwgCisgICAgMTgsIDQzLCAyMTIsIDk4LCAyMjIsIDE4LCA0MywgMjEwLCAxMjMsIDIyNSwgMjI4LCAxLCA0MiwgMjUyLCAxNzAsIDIyNSwgCisgICAgMjI4LCAxLCAyNTIsIDE3MCwgMjI1LCAyMjgsIDEsIDQyLCAyNTAsIDcsIDIyNSwgMjI4LCAxLCAyNTAsIDcsIDIyNSwgMjI4LCAKKyAgICAxLCAyNDAsIDQ3LCAyMjUsIDIyOCwgMSwgMjQ2LCAxMTAsIDIyNSwgMjI4LCAxLCA0MiwgMjM5LCA3MSwgMjI1LCAyMjgsIDEsIAorICAgIDIzOSwgNzEsIDIyNSwgMjI4LCAxLCAyMDcsIDU5LCAyMjUsIDIyOCwgMSwgMjA1LCA5NiwgMjI1LCAyMjgsIDEsIDIzOSwgCisgICAgMjcsIDIyNSwgMjI4LCAxLCAyMTIsIDc2LCAyMjUsIDIyOCwgMSwgNDIsIDIwNSwgMjM1LCAyMjUsIDIyOCwgMSwgMjA1LCAKKyAgICAyMzUsIDIyNSwgMjI4LCAxLCA0MiwgMjMyLCAxNywgMjI1LCAyMjgsIDEsIDIzMiwgMTcsIDIyNSwgMjI4LCAxLCA0MiwgCisgICAgMjMwLCA5NywgMjI1LCAyMjgsIDEsIDIzMCwgOTcsIDIyNSwgMjI4LCAxLCA0MiwgMjI3LCA5MCwgMjI1LCAyMjgsIDEsIAorICAgIDIyNywgOTAsIDIyNSwgMjI4LCAxLCA0MiwgMjIzLCAxNzMsIDIyNSwgMjI4LCAxLCAyMjMsIDE3MywgMjI1LCAyMjgsIDEsIAorICAgIDIxNywgMTU3LCAyMjUsIDIyOCwgMSwgMjUxLCAxNTQsIDIyNSwgMjI4LCAxLCAyMjEsIDE3NCwgMjI1LCAyMjgsIDEsIDIxNywgCisgICAgMTg5LCAyMjUsIDIyOCwgMSwgMjE5LCAyMTgsIDIyNSwgMjI4LCAxLCAyMTgsIDI0MiwgMjI1LCAyMjgsIDEsIDQyLCAyMTUsIAorICAgIDE3MSwgMjI1LCAyMjgsIDEsIDIxNSwgMTcxLCAyMjUsIDIyOCwgMSwgMjEyLCAxNDUsIDIyNSwgMjI4LCA0MywgMTAyLCAKKyAgICAyMjUsIDIyOCwgNDMsIDEwNSwgMjI1LCAyMjgsIDQzLCAxNDIsIDIyNSwgMjI4LCA0MywgMTM5LCAyMjUsIDIyOCwgMjQ3LCAKKyAgICA0NiwgNDMsIDEzOSwgMjI1LCAyMjgsIDQzLCAxNjgsIDIyNSwgMjI4LCA0MywgMjEyLCA5OCwgMjI1LCAyMjgsIDQzLCAyMTAsIAorICAgIDEyMywgMjI1LCAyMjgsIDQzLCAxMTksIDIzOCwgMjksIDIyMSwgNjQsIDEsIDI1MiwgMTY3LCAyMjEsIDY0LCAxLCAyNTAsIAorICAgIDEwLCAyMjEsIDY0LCAxLCAyNDAsIDIxNywgMjIxLCA2NCwgMSwgMjQ1LCAyMjksIDIyMSwgNjQsIDEsIDIzOSwgNzEsIDIyMSwgCisgICAgNjQsIDEsIDIwNywgNjYsIDIyMSwgNjQsIDEsIDIwNSwgMTEwLCAyMjEsIDY0LCAxLCAyMzksIDI5LCAyMjEsIDY0LCAxLCAKKyAgICAyMTIsIDgwLCAyMjEsIDY0LCAxLCAyMDUsIDIzNiwgMjIxLCA2NCwgMSwgMjMyLCA0NSwgMjIxLCA2NCwgMSwgMjMwLCAxMDMsIAorICAgIDIyMSwgNjQsIDEsIDIyNywgOTAsIDIyMSwgNjQsIDEsIDIyMywgMTczLCAyMjEsIDY0LCAxLCAyMTYsIDQ2LCAyMjEsIDY0LCAKKyAgICAxLCAyNTIsIDIwMCwgMjIxLCA2NCwgMSwgMjIxLCAxNzQsIDIyMSwgNjQsIDEsIDIxNywgMTkwLCAyMjEsIDY0LCAxLCAyMTksIAorICAgIDIyMywgMjIxLCA2NCwgMSwgMjE4LCA5OSwgMjIxLCA2NCwgMSwgMjE1LCAxNzEsIDIyMSwgNjQsIDEsIDIxMiwgMTUxLCAKKyAgICAyMjEsIDY0LCA0MywgMTAyLCAyMjEsIDY0LCA0MywgMjEyLCA5OCwgMjIxLCA2NCwgNDMsIDIxMCwgMTIzLCAyMjEsIDY0LCAKKyAgICA0MywgMTE5LCAyMzgsIDI5LCAyMjEsIDY0LCA0MywgMTA1LCAyMjEsIDY0LCA0MywgMTQyLCAyMjEsIDY0LCAyMDYsIDIzMiwgCisgICAgMjE2LCAzOSwgMjI5LCAzOSwgMSwgNjIsIDIyOSwgMzksIDEsIDI1MSwgMTUwLCAyMjksIDM5LCAxLCAyNDEsIDU1LCAyMjksIAorICAgIDM5LCAxLCAyNDYsIDI0MCwgMjI5LCAzOSwgMSwgNzUsIDIyOSwgMzksIDEsIDIwOSwgMTQ4LCAyMjksIDM5LCAxLCA3NCwgCisgICAgMjI5LCAzOSwgMSwgMjA2LCAxMjMsIDIyOSwgMzksIDEsIDIzMiwgNzYsIDIyOSwgMzksIDEsIDE0OSwgMjI5LCAzOSwgMSwgCisgICAgMjI5LCAyOCwgMjI5LCAzOSwgMSwgMjI2LCAzMywgMjI5LCAzOSwgMSwgNzYsIDIyOSwgMzksIDEsIDEzNywgMjI5LCAzOSwgCisgICAgMSwgMjE0LCA5OSwgMjI5LCAzOSwgMSwgMjEzLCAxMCwgMjI5LCAzOSwgMSwgNzEsIDIyOSwgMzksIDEsIDI0MiwgMTM5LCAKKyAgICAyMjksIDM5LCAxLCAyMjAsIDI3LCAyMjksIDM5LCAxLCAxODIsIDIyOSwgMzksIDEsIDIxMCwgMjExLCAyMjksIDM5LCAxLCAKKyAgICAyNTIsIDEyMiwgMjI5LCAzOSwgMSwgMjQzLCA0MSwgMjI5LCAzOSwgMSwgMjI5LCA0MiwgMjI5LCAzOSwgMSwgMjI0LCAxMDQsIAorICAgIDIyOSwgMzksIDEsIDI0OSwgMzQsIDIyOSwgMzksIDIxMSwgNDgsIDgzLCAyMjcsIDcyLCAyMzksIDUsIDEsIDYyLCAyMjcsIAorICAgIDcyLCAyMzksIDUsIDEsIDc1LCAyMjcsIDcyLCAyMzksIDUsIDEsIDc0LCAyMjcsIDcyLCAyMzksIDUsIDEsIDc2LCAyMjcsIAorICAgIDcyLCAyMzksIDUsIDEsIDE5MCwgMjI3LCA3MiwgMjM5LCA1LCAxLCAyMDcsIDk2LCAyMjcsIDcyLCAyMzksIDUsIDEsIDI1MCwgCisgICAgMTgzLCAyMjcsIDcyLCAyMzksIDUsIDEsIDI1MCwgMTgyLCAyMjcsIDcyLCAyMzksIDUsIDEsIDE3OSwgMjI3LCA3MiwgMjM5LCAKKyAgICA1LCAxLCAxODUsIDIyNywgNzIsIDIzOSwgNSwgMSwgMTk5LCAyMjcsIDcyLCAyMzksIDUsIDEsIDIyNSwgMjM2LCAyMjcsIAorICAgIDcyLCAyMzksIDUsIDEsIDIyNSwgMTEwLCAyMjcsIDcyLCAyMzksIDUsIDEsIDIyNSwgMTA5LCAyMjcsIDcyLCAyMzksIDUsIAorICAgIDEsIDIxOSwgMTEzLCAyMjcsIDcyLCAyMzksIDUsIDEsIDIxOSwgMTEyLCAyMjcsIDcyLCAyMzksIDUsIDEsIDIzMCwgMTQxLCAKKyAgICAyMjcsIDcyLCAyMzksIDUsIDEsIDIzMSwgMTY3LCAyMjcsIDcyLCAyMzksIDUsIDEsIDIzOSwgMjAsIDIyNywgNzIsIDIzOSwgCisgICAgNSwgMSwgMjE3LCAxOTksIDIyNywgNzIsIDIzOSwgNSwgMSwgMjE3LCAxOTgsIDIyNywgNzIsIDIzOSwgNSwgMSwgMjE3LCAKKyAgICA4NiwgMjI3LCA3MiwgMjM5LCA1LCAxLCAxNzIsIDIyNywgNzIsIDIzOSwgNSwgMSwgMjIwLCAxOSwgMjI3LCA3MiwgMjM5LCAKKyAgICA1LCAxLCAyMTIsIDIxOSwgMjI3LCA3MiwgMjM5LCA1LCAxLCAyMTIsIDIxOCwgMjI3LCA3MiwgMjM5LCA1LCAxLCAyMTIsIAorICAgIDEzMSwgMjI3LCA3MiwgMjM5LCA1LCAxLCAyMTIsIDEzMCwgMjI3LCA3MiwgMjM5LCA1LCAxLCAxMjQsIDIyNywgNzIsIDIzOSwgCisgICAgNSwgMSwgMjQ2LCAxNDUsIDIyNywgNzIsIDIzOSwgNSwgMTYsIDIwOCwgMjA4LCAyMjcsIDcyLCAyMzksIDUsIDE2LCAyMDgsIAorICAgIDIwNywgMjI3LCA3MiwgMjQ3LCAyMSwgMSwgNjIsIDIyNywgNzIsIDI0NywgMjEsIDEsIDc1LCAyMjcsIDcyLCAyNDcsIDIxLCAKKyAgICAxLCA3NCwgMjI3LCA3MiwgMjQ3LCAyMSwgMSwgNzYsIDIyNywgNzIsIDI0NywgMjEsIDEsIDE5MCwgMjI3LCA3MiwgMjQ3LCAKKyAgICAyMSwgMSwgMjA3LCA5NiwgMjI3LCA3MiwgMjQ3LCAyMSwgMSwgMjUwLCAxODMsIDIyNywgNzIsIDI0NywgMjEsIDEsIDE3OSwgCisgICAgMjI3LCA3MiwgMjQ3LCAyMSwgMSwgMTg1LCAyMjcsIDcyLCAyNDcsIDIxLCAxLCAxOTksIDIyNywgNzIsIDI0NywgMjEsIDEsIAorICAgIDIyNSwgMTEwLCAyMjcsIDcyLCAyNDcsIDIxLCAxLCAyMTksIDExMywgMjI3LCA3MiwgMjQ3LCAyMSwgMSwgMjMwLCAxNDEsIAorICAgIDIyNywgNzIsIDI0NywgMjEsIDEsIDIzMSwgMTY3LCAyMjcsIDcyLCAyNDcsIDIxLCAxLCAyMzksIDIwLCAyMjcsIDcyLCAKKyAgICAyNDcsIDIxLCAxLCAyMTcsIDE5OSwgMjI3LCA3MiwgMjQ3LCAyMSwgMSwgMjUyLCAxOSwgMjE3LCAxOTksIDIyNywgNzIsIAorICAgIDI0NywgMjEsIDEsIDIxNywgODYsIDIyNywgNzIsIDI0NywgMjEsIDEsIDE3MiwgMjI3LCA3MiwgMjQ3LCAyMSwgMSwgMjIwLCAKKyAgICAxOSwgMjI3LCA3MiwgMjQ3LCAyMSwgMSwgMjEyLCAyMTksIDIyNywgNzIsIDI0NywgMjEsIDEsIDIxMiwgMTMxLCAyMjcsIAorICAgIDcyLCAyNDcsIDIxLCAxLCAxMjQsIDIyNywgNzIsIDI0NywgMjEsIDEsIDI0NiwgMTQ1LCAyMjcsIDcyLCAyNDcsIDIxLCAKKyAgICAyMjksIDEzMywgMjE4LCAxMzAsIDIyNywgNzIsIDI0NywgMjEsIDIyOSwgMTMzLCAyMzMsIDc1LCAyMzEsIDE1NCwgMSwgNjIsIAorICAgIDIzMSwgMTU0LCAyMiwgMywgNzQsIDIzMSwgMTU0LCAyMiwgMywgNzEsIDIzMSwgMTU0LCAyMiwgMywgMTE1LCAxMzcsIDIzMSwgCisgICAgMTU0LCAyMiwgMywgNzUsIDIzMSwgMTU0LCAyMiwgMywgNzYsIDIzMSwgMTU0LCAyMiwgMjMwLCAyMCwgODMsIDIzMSwgMTU0LCAKKyAgICAzLCA1MCwgMjE4LCAxNDksIDU1LCAyMzEsIDE1NCwgMywgMjUyLCA3MywgMjMxLCAxNTQsIDMsIDIwOCwgMTgzLCAyMzEsIAorICAgIDE1NCwgMSwgMTcyLCAyMzEsIDE1NCwgMSwgMjMxLCAxNjcsIDIzMSwgMTU0LCAxLCAyNDAsIDI0NCwgMjMxLCAxNTQsIDEsIAorICAgIDI0MCwgOTksIDIzMSwgMTU0LCAxLCAyNDksIDEsIDIzMSwgMTU0LCAxLCAyNDgsIDExMCwgMjMxLCAxNTQsIDEsIDIzMiwgCisgICAgMjAwLCAyMzEsIDE1NCwgMSwgMjIzLCAxNDQsIDIzMSwgMTU0LCAxLCAyMTAsIDIwOCwgMjMxLCAxNTQsIDEsIDIxMCwgMTk2LCAKKyAgICAyMzEsIDE1NCwgMSwgMjQ2LCA1NCwgMjMxLCAxNTQsIDEsIDI0NiwgMzgsIDIzMSwgMTU0LCAxLCAyMjQsIDEwMywgMjMxLCAKKyAgICAxNTQsIDEsIDIxMiwgMjE5LCAyMzEsIDE1NCwgMSwgMjEyLCA1NiwgMjMxLCAxNTQsIDEsIDI0NiwgMTQ1LCAyMzEsIDE1NCwgCisgICAgMSwgMjQ1LCAxOTIsIDIzMSwgMTU0LCAxLCAxOTksIDIzMSwgMTU0LCAxLCAxNzksIDIzMSwgMTU0LCAxLCAyMjEsIDkzLCAKKyAgICAyMzEsIDE1NCwgMSwgMjUwLCAxODMsIDIzMSwgMTU0LCAxLCAyNTAsIDAsIDIzMSwgMTU0LCAxLCAxODUsIDIzMSwgMTU0LCAKKyAgICAxLCAxOTAsIDIzMSwgMTU0LCAxLCAyMTksIDExMywgMjMxLCAxNTQsIDEsIDIzMCwgMTQxLCAyMzEsIDE1NCwgMSwgMjA5LCAKKyAgICA3MCwgMjMxLCAxNTQsIDEsIDIxNiwgMiwgMjMxLCAxNTQsIDEsIDIxNCwgOTYsIDIzMSwgMTU0LCAxLCAyMTcsIDE5OSwgCisgICAgMjMxLCAxNTQsIDEsIDIwNSwgMTE2LCAyMzEsIDE1NCwgMSwgMTU1LCAyMzEsIDE1NCwgMSwgMjMxLCA3MiwgMjMxLCAxNTQsIAorICAgIDEsIDIxMCwgMTc2LCAyMzEsIDE1NCwgMywgMjUwLCAxMjksIDUyLCAyMzEsIDE1NCwgMywgMjQ4LCAxNzksIDIzMSwgMTU0LCAKKyAgICAzLCA2NywgNTUsIDIzMSwgMTU0LCAyMDgsIDE4OCwgMjMxLCAxNTQsIDE4LCAxMDIsIDIzMSwgMTU0LCAxOCwgMTA1LCAyMzEsIAorICAgIDE1NCwgMTgsIDE0MiwgMjMxLCAxNTQsIDE4LCAxMzksIDIzMSwgMTU0LCA0MywgMjEyLCA5OCwgMjMxLCAxNTQsIDQzLCAKKyAgICAyMTAsIDEyMywgMjMxLCAxNTQsIDQzLCAxMTksIDIzOCwgMjksIDIzMSwgMTU0LCA0MywgMTE5LCAyMTEsIDI0MiwgMjMxLCAKKyAgICAxNTQsIDIyMCwgNzIsIDI0NSwgMjMsIDIzMSwgMTU0LCAyMjAsIDcyLCA1LCAyNDcsIDIzMywgMjMxLCAxNTQsIDIyMCwgNzIsIAorICAgIDI0NywgMjMzLCAyMzEsIDE1NCwgMjIwLCA3MiwgMjQ3LCA2NiwgMTM0LCAyMzEsIDE1NCwgMjIwLCA3MiwgMjI3LCAyMTUsIAorICAgIDIzMSwgMTU0LCAyMjAsIDcyLCAyMjksIDEwMiwgMjMxLCAxNTQsIDIyMCwgNzIsIDI0NiwgMTAwLCAyMzEsIDE1NCwgMjIwLCAKKyAgICA3MiwgNTAsIDI0NiwgMTAwLCAyMzEsIDE1NCwgMjIwLCA3MiwgMjI5LCAxOTksIDQ0LCAxODgsIDI1MiwgMzQsIDEsIDIzOSwgCisgICAgNzEsIDQ0LCAxODgsIDI1MiwgMzQsIDEsIDIzMCwgOTcsIDQ0LCAxODgsIDI1MiwgMzQsIDEsIDIzOSwgMjcsIDQ0LCAxODgsIAorICAgIDI1MiwgMzQsIDEsIDIyNywgOTAsIDQ0LCAxODgsIDI1MiwgMzQsIDEsIDIxOSwgMjE4LCA0NCwgMTg4LCAyNTIsIDM0LCAxLCAKKyAgICAyMDcsIDU5LCA0NCwgMTg4LCAyNTIsIDM0LCAxLCAyMTUsIDE3MSwgNDQsIDE4OCwgMjUyLCAzNCwgMSwgMjE4LCAyNDIsIAorICAgIDQ0LCAxODgsIDI1MiwgMzQsIDEsIDI1MCwgNywgNDQsIDE4OCwgMjUyLCAzNCwgMSwgMjEyLCAxNDUsIDQ0LCAxODgsIDI1MiwgCisgICAgMzQsIDEsIDIxNywgMTMzLCA0NCwgMTg4LCAyNTIsIDM0LCAxLCAyMzIsIDE3LCA0NCwgMTg4LCAyNTIsIDM0LCAxLCAyMjMsIAorICAgIDE3MywgNDQsIDE4OCwgMjUyLCAzNCwgMSwgMjMxLCAxNDksIDQ0LCAxODgsIDI1MiwgMzQsIDEsIDIxNywgMTg5LCA0NCwgCisgICAgMTg4LCAyNTIsIDM0LCAxLCAyMTcsIDE1NywgNDQsIDE4OCwgMjUyLCAzNCwgMSwgMjQyLCAyOCwgNDQsIDE4OCwgMjUyLCAKKyAgICAzNCwgMSwgMjUyLCAxNzIsIDQ0LCAxODgsIDI1MiwgMzQsIDEsIDI1MSwgMTUzLCA0NCwgMTg4LCAyNTIsIDM0LCAxLCAyNDUsIAorICAgIDE4OSwgNDQsIDE4OCwgMjUyLCAzNCwgMSwgMjQwLCA0NywgNDQsIDE4OCwgMjUyLCAzNCwgMSwgMjQ2LCAxMTAsIDQ0LCAKKyAgICAxODgsIDI1MiwgMzQsIDEsIDI0MCwgODcsIDQ0LCAxODgsIDI1MiwgMzQsIDEsIDIxMiwgNzYsIDQ0LCAxODgsIDI1MiwgMzQsIAorICAgIDEsIDIwNSwgOTUsIDQ0LCAxODgsIDI1MiwgMzQsIDEsIDI0NSwgMTg2LCA0NCwgMTg4LCAyNTIsIDM0LCAxLCAyMDUsIDIzNSwgCisgICAgNDQsIDE4OCwgMjUyLCAzNCwgMSwgMjEyLCA0MywgNDQsIDE4OCwgMjUyLCAzNCwgMSwgMjEyLCAyMiwgNDQsIDE4OCwgMjUyLCAKKyAgICAzNCwgNDMsIDEwMiwgNDQsIDE4OCwgMjUyLCAzNCwgNDMsIDI0MSwgMjQzLCA0NCwgMTg4LCAyNTIsIDM0LCAxMzMsIDIzMywgCisgICAgNDksIDQ0LCAxNDMsIDI1MiwgMzQsIDEsIDIzOSwgNTAsIDQ0LCAxNDMsIDI1MiwgMzQsIDEsIDIzMCwgMTA2LCA0NCwgMTQzLCAKKyAgICAyNTIsIDM0LCAxLCAyMzksIDEzMiwgNDQsIDE0MywgMjUyLCAzNCwgMSwgMjI3LCAxMDQsIDQ0LCAxNDMsIDI1MiwgMzQsIDEsIAorICAgIDIyMCwgMTIsIDQ0LCAxNDMsIDI1MiwgMzQsIDEsIDIwNywgNTksIDQ0LCAxNDMsIDI1MiwgMzQsIDEsIDI0MiwgMjIzLCA0NCwgCisgICAgMTQzLCAyNTIsIDM0LCAxLCAyMTksIDE2LCA0NCwgMTQzLCAyNTIsIDM0LCAxLCAyNTAsIDM4LCA0NCwgMTQzLCAyNTIsIDM0LCAKKyAgICAxLCAyMTIsIDExNSwgNDQsIDE0MywgMjUyLCAzNCwgMSwgMjQyLCAyMjQsIDQ0LCAxNDMsIDI1MiwgMzQsIDEsIDIzMiwgNDUsIAorICAgIDQ0LCAxNDMsIDI1MiwgMzQsIDEsIDIyNCwgNTQsIDQ0LCAxNDMsIDI1MiwgMzQsIDEsIDIzMSwgMTYzLCA0NCwgMTQzLCAKKyAgICAyNTIsIDM0LCAxLCAyMTcsIDE5MSwgNDQsIDE0MywgMjUyLCAzNCwgMSwgMjQyLCAyMjIsIDQ0LCAxNDMsIDI1MiwgMzQsIDEsIAorICAgIDI0MiwgMTUsIDQ0LCAxNDMsIDI1MiwgMzQsIDEsIDI1MiwgMTcyLCA0NCwgMTQzLCAyNTIsIDM0LCAxLCAyNTIsIDIwMCwgCisgICAgNDQsIDE0MywgMjUyLCAzNCwgMSwgMjQ2LCAxNDAsIDQ0LCAxNDMsIDI1MiwgMzQsIDEsIDI0MCwgMTYxLCA0NCwgMTQzLCAKKyAgICAyNTIsIDM0LCAxLCAyNDYsIDExNywgNDQsIDE0MywgMjUyLCAzNCwgMSwgMjQwLCA5NCwgNDQsIDE0MywgMjUyLCAzNCwgMSwgCisgICAgMjEyLCAxOTQsIDQ0LCAxNDMsIDI1MiwgMzQsIDEsIDIwNSwgMTA4LCA0NCwgMTQzLCAyNTIsIDM0LCAxLCAyMTIsIDQ5LCAKKyAgICA0NCwgMTQzLCAyNTIsIDM0LCAxLCAyMDYsIDQ3LCA0NCwgMTQzLCAyNTIsIDM0LCAxLCAyMTIsIDM3LCA0NCwgMTQzLCAyNTIsIAorICAgIDM0LCAxLCAyMDUsIDExMSwgNDQsIDE0MywgMjUyLCAzNCwgNDMsIDEwMiwgNDQsIDE0MywgMjUyLCAzNCwgNDMsIDIxMiwgCisgICAgOTgsIDQ0LCAxNDMsIDI1MiwgMzQsIDQzLCAyMTAsIDEyMywgMjI3LCAyMTQsIDEsIDI1MiwgMTcwLCAyMjcsIDIxNCwgMSwgCisgICAgMjUwLCA3LCAyMjcsIDIxNCwgMSwgMjQ5LCAyNTAsIDIyNywgMjE0LCAxLCAyNDAsIDQ3LCAyMjcsIDIxNCwgMSwgMjQwLCAKKyAgICA3MiwgMjI3LCAyMTQsIDEsIDI0NiwgMTEwLCAyMjcsIDIxNCwgMSwgMjM5LCA3MSwgMjI3LCAyMTQsIDEsIDIwNywgNTksIAorICAgIDIyNywgMjE0LCAzLCAyMTAsIDgsIDIyNywgMjE0LCAxLCAyMDUsIDk2LCAyMjcsIDIxNCwgMSwgMjA1LCA3NCwgMjI3LCAKKyAgICAyMTQsIDEsIDIzMiwgMTg0LCAyMjcsIDIxNCwgMSwgMjMyLCAxNjYsIDIyNywgMjE0LCAxLCAyMzksIDI3LCAyMjcsIDIxNCwgCisgICAgMSwgMjEyLCA3NiwgMjI3LCAyMTQsIDEsIDIwNSwgMjM1LCAyMjcsIDIxNCwgMSwgMjMyLCAxNywgMjI3LCAyMTQsIDEsIAorICAgIDIwNiwgMTc4LCAyMjcsIDIxNCwgMSwgMjMxLCAxNTYsIDIyNywgMjE0LCAxLCAyMzAsIDk3LCAyMjcsIDIxNCwgMSwgMjQ1LCAKKyAgICAxODUsIDIyNywgMjE0LCAxLCAyMTIsIDQ4LCAyMjcsIDIxNCwgMSwgMjI3LCA5MCwgMjI3LCAyMTQsIDEsIDIyMywgMTczLCAKKyAgICAyMjcsIDIxNCwgMSwgMjE3LCAxNTcsIDIyNywgMjE0LCAxLCAyNTEsIDE1NCwgMjI3LCAyMTQsIDEsIDI1MywgMTE3LCAyMjcsIAorICAgIDIxNCwgMSwgMjIxLCAxNzQsIDIyNywgMjE0LCAxLCAyNDIsIDI4LCAyMjcsIDIxNCwgMSwgMjE3LCAxODksIDIyNywgMjE0LCAKKyAgICAxLCAyMTksIDIxOCwgMjI3LCAyMTQsIDEsIDIwNiwgMTU2LCAyMjcsIDIxNCwgMSwgMjE5LCAyNDQsIDIyNywgMjE0LCAxLCAKKyAgICAyMTgsIDI0MiwgMjI3LCAyMTQsIDEsIDIxNSwgMTcxLCAyMjcsIDIxNCwgMSwgMjE0LCA2NSwgMjI3LCAyMTQsIDEsIDIxMiwgCisgICAgMTQ1LCAyMjcsIDIxNCwgMjUzLCAyOSwgMTQxLCA1MiwgMjI3LCAyMTQsIDI1MywgMjksIDE0MSwgNTUsIDIyNywgMjE0LCAKKyAgICA0MywgMTAyLCAyMjcsIDIxNCwgNDMsIDE2OCwgMjI3LCAyMTQsIDQzLCAyMTIsIDk4LCAyMjcsIDIxNCwgNDMsIDIxMCwgCisgICAgMTIzLCAyMjcsIDIxNCwgNDMsIDExOSwgMjM4LCAyOSwgMjI3LCAyMTQsIDIyMCwgNzIsIDIxNCwgMjYsIDIyNywgMjE0LCAKKyAgICAyMjAsIDcyLCAyNDEsIDE4MywgMjI3LCAyMTQsIDIyMCwgNzIsIDUwLCA2NywgMjA2LCAyNTUsIDI0NSwgMjMsIDIyNywgCisgICAgMjE0LCAyMjAsIDcyLCA2NywgMjA2LCAyNTUsIDI0NSwgMjMsIDIyNywgMjE0LCAyMjAsIDcyLCAyNDUsIDIzLCAyMjcsIAorICAgIDIxNCwgMjIwLCA3MiwgMTE4LCAyNDUsIDIxLCAyMjcsIDIxNCwgMjIwLCA3MiwgMjI5LCAyMDYsIDI0MSwgMjMyLCAyNTEsIAorICAgIDE2NCwgMSwgNjIsIDI1MSwgMTY0LCAxLCAyNTMsIDE2NCwgMjUxLCAxNjQsIDEsIDI1MiwgNzEsIDI1MSwgMTY0LCAxLCAKKyAgICAyNTMsIDEyMywgMjUxLCAxNjQsIDEsIDI1MiwgMTIyLCAyNTEsIDE2NCwgMSwgMjUzLCAxMjQsIDI1MSwgMTY0LCAxLCAyNTIsIAorICAgIDI0OCwgMjUxLCAxNjQsIDEsIDI1MiwgMjQ0LCAyNTEsIDE2NCwgMSwgNzUsIDI1MSwgMTY0LCAxLCAyNDMsIDEwNCwgMjUxLCAKKyAgICAxNjQsIDEsIDc2LCAyNTEsIDE2NCwgMSwgMjIyLCAxNTIsIDI1MSwgMTY0LCAxLCA3NCwgMjUxLCAxNjQsIDEsIDIzMywgCisgICAgMTAyLCAyNTEsIDE2NCwgMSwgNzEsIDI1MSwgMTY0LCAxLCAyMDksIDE2MiwgMjUxLCAxNjQsIDEsIDIzMSwgMjI0LCAyNTEsIAorICAgIDE2NCwgMSwgMjA2LCAxNzUsIDI1MSwgMTY0LCAxLCAyMDYsIDEzNywgMjUxLCAxNjQsIDEsIDIwNiwgMTQ3LCAyNTEsIDE2NCwgCisgICAgMSwgMjQwLCAxNzAsIDI1MSwgMTY0LCAxLCAyNDAsIDEzMCwgMjUxLCAxNjQsIDEsIDI0MCwgODUsIDI1MSwgMTY0LCAxLCAKKyAgICAyNDgsIDE0OCwgMjUxLCAxNjQsIDEsIDIzMiwgMTgyLCAyNTEsIDE2NCwgMSwgMjEyLCAxMzEsIDI1MSwgMTY0LCAxLCAyMTIsIAorICAgIDQxLCAyNTEsIDE2NCwgMSwgMjQ2LCA5LCAyNTEsIDE2NCwgMSwgMjQ1LCAxODMsIDI1MSwgMTY0LCAxLCAyMTAsIDIwMywgCisgICAgMjUxLCAxNjQsIDEsIDIyMSwgMTc0LCAyNTEsIDE2NCwgMSwgMjQyLCAyOCwgMjUxLCAxNjQsIDEsIDI1MCwgNjEsIDI1MSwgCisgICAgMTY0LCAxLCAyNDksIDI1MiwgMjUxLCAxNjQsIDEsIDIyNSwgNjQsIDI1MSwgMTY0LCAxLCAyMjQsIDIzNiwgMjUxLCAxNjQsIAorICAgIDEsIDIyNCwgMjM3LCAyNTEsIDE2NCwgMSwgMjI1LCAxMTAsIDI1MSwgMTY0LCAxLCAyMjMsIDEzNCwgMjUxLCAxNjQsIDEsIAorICAgIDIyNCwgOTgsIDI1MSwgMTY0LCAxLCAyMjcsIDExOSwgMjUxLCAxNjQsIDEsIDIzOCwgMTk5LCAyNTEsIDE2NCwgMSwgMjA1LCAKKyAgICAxNjYsIDI1MSwgMTY0LCAxLCAyMDYsIDUyLCAyNTEsIDE2NCwgMSwgMjA5LCAzOSwgMjUxLCAxNjQsIDEsIDIxOSwgNTEsIAorICAgIDI1MSwgMTY0LCAxLCAyMzAsIDU4LCAyNTEsIDE2NCwgMSwgMjE3LCA4NiwgMjUxLCAxNjQsIDEsIDIwNSwgOTMsIDI1MSwgCisgICAgMTY0LCAxLCAyMTUsIDIxNCwgMjUxLCAxNjQsIDEsIDIwNSwgNzIsIDI1MSwgMTY0LCAxLCAyMTUsIDg3LCAyNTEsIDE2NCwgCisgICAgMSwgMjE0LCA2NiwgMjUxLCAxNjQsIDEsIDIzOSwgNzEsIDI1MSwgMTY0LCAyNTMsIDI5LCA4MywgMjExLCAxNjksIDExOCwgCisgICAgMTc3LCAxMzEsIDExOSwgNjcsIDIyMCwgNzEsIDUsIDExOCwgMTc3LCAxMzEsIDExOSwgNjcsIDIyMCwgNzEsIDIzMCwgODYsIAorICAgIDExOCwgMTc3LCAxMzEsIDExOSwgNjcsIDIyMCwgNzEsIDIzMCwgODYsIDExOSwgNjcsIDEzMSwgMTE4LCAxNzcsIDIyMCwgCisgICAgNzEsIDIzMCwgODYsIDExOCwgMjE4LCAxNDYsIDEzMSwgMTE5LCAyMTgsIDE0OSwgMjIwLCA3MSwgMjMwLCA4NiwgMTE5LCAKKyAgICAyMTgsIDE0OSwgMTMxLCAxMTgsIDIxOCwgMTQ2LCAyMjAsIDcxLCAyMzMsIDI5LCAyMjEsIDIxMCwgMSwgMjUyLCAxNzAsIAorICAgIDIzMywgMjksIDIyMSwgMjEwLCAxLCAyNTAsIDcsIDIzMywgMjksIDIyMSwgMjEwLCAxLCAyNDAsIDQ3LCAyMzMsIDI5LCAKKyAgICAyMjEsIDIxMCwgMSwgMjQ2LCAxMTAsIDIzMywgMjksIDIyMSwgMjEwLCAxLCAyMzksIDcxLCAyMzMsIDI5LCAyMjEsIDIxMCwgCisgICAgMSwgMjA3LCA1OSwgMjMzLCAyOSwgMjIxLCAyMTAsIDEsIDIwNSwgOTYsIDIzMywgMjksIDIyMSwgMjEwLCAxLCAyMzksIDI3LCAKKyAgICAyMzMsIDI5LCAyMjEsIDIxMCwgMSwgMjEyLCA3NiwgMjMzLCAyOSwgMjIxLCAyMTAsIDEsIDIwNSwgMjM1LCAyMzMsIDI5LCAKKyAgICAyMjEsIDIxMCwgMSwgMjMyLCAxNywgMjMzLCAyOSwgMjIxLCAyMTAsIDEsIDIzMCwgOTcsIDIzMywgMjksIDIyMSwgMjEwLCAKKyAgICAxLCAyMjcsIDkwLCAyMzMsIDI5LCAyMjEsIDIxMCwgMSwgMjIzLCAxNzMsIDIzMywgMjksIDIyMSwgMjEwLCAxLCAyMTcsIAorICAgIDE1NywgMjMzLCAyOSwgMjIxLCAyMTAsIDEsIDI1MSwgMTU0LCAyMzMsIDI5LCAyMjEsIDIxMCwgMSwgMjIxLCAxNzQsIDIzMywgCisgICAgMjksIDIyMSwgMjEwLCAxLCAyMTcsIDE4OSwgMjMzLCAyOSwgMjIxLCAyMTAsIDEsIDIxOSwgMjE4LCAyMzMsIDI5LCAyMjEsIAorICAgIDIxMCwgMSwgMjE4LCAyNDIsIDIzMywgMjksIDIyMSwgMjEwLCAxLCAyMTUsIDE3MSwgMjMzLCAyOSwgMjIxLCAyMTAsIDEsIAorICAgIDIxMiwgMTQ1LCAyMzMsIDI5LCAyMjEsIDIxMCwgNDMsIDEwMiwgMjMzLCAyOSwgMjIxLCAyMTAsIDQzLCAxMDUsIDIzMywgCisgICAgMjksIDIyMSwgMjEwLCA0MywgMTQyLCAyMzMsIDI5LCAyMjEsIDIxMCwgNDMsIDEzOSwgMjMzLCAyOSwgMjIxLCAyMTAsIDQzLCAKKyAgICAyMTIsIDk4LCAyMzMsIDI5LCAyMjEsIDIxMCwgNDMsIDIxMCwgMTIzLCAyMzMsIDI5LCAyMjEsIDIxMCwgNDMsIDExOSwgCisgICAgMjM4LCAyOSwgMjMzLCAyOSwgMjIxLCAyMTAsIDQzLCAxMTksIDIxMSwgMjQyLCAyMzMsIDI5LCAyMjIsIDMzLCAxLCAyNTIsIAorICAgIDE3MCwgMjMzLCAyOSwgMjIyLCAzMywgMSwgMjUwLCA3LCAyMzMsIDI5LCAyMjIsIDMzLCAxLCAyNDAsIDQ3LCAyMzMsIDI5LCAKKyAgICAyMjIsIDMzLCAxLCAyNDYsIDExMCwgMjMzLCAyOSwgMjIyLCAzMywgMSwgMjM5LCA3MSwgMjMzLCAyOSwgMjIyLCAzMywgMSwgCisgICAgMjA3LCA1OCwgMjMzLCAyOSwgMjIyLCAzMywgMSwgMjA1LCA5NiwgMjMzLCAyOSwgMjIyLCAzMywgMSwgMjM5LCAyNywgMjMzLCAKKyAgICAyOSwgMjIyLCAzMywgMSwgMjEyLCA3NiwgMjMzLCAyOSwgMjIyLCAzMywgMSwgMjA1LCAyMzUsIDIzMywgMjksIDIyMiwgMzMsIAorICAgIDEsIDIzMiwgMTcsIDIzMywgMjksIDIyMiwgMzMsIDEsIDIzMCwgOTcsIDIzMywgMjksIDIyMiwgMzMsIDEsIDIyNywgODksIAorICAgIDIzMywgMjksIDIyMiwgMzMsIDEsIDIyMywgMTczLCAyMzMsIDI5LCAyMjIsIDMzLCAxLCAyMTcsIDE1NywgMjMzLCAyOSwgCisgICAgMjIyLCAzMywgMSwgMjIxLCAxNzQsIDIzMywgMjksIDIyMiwgMzMsIDEsIDIxNywgMTg5LCAyMzMsIDI5LCAyMjIsIDMzLCAxLCAKKyAgICAyMTUsIDE3MSwgMjMzLCAyOSwgMjIyLCAzMywgMSwgMjEyLCAxNDUsIDIzMywgMjksIDIyMiwgMzMsIDQzLCAxMDIsIDIzMywgCisgICAgMjksIDIyMiwgMzMsIDQzLCAxMDUsIDIzMywgMjksIDIyMiwgMzMsIDQzLCAxNDIsIDIzMywgMjksIDIyMiwgMzMsIDQzLCAKKyAgICAxMzksIDIzMywgMjksIDIyMiwgMzMsIDQzLCAyMTIsIDk4LCAyMzMsIDI5LCAyMjIsIDMzLCA0MywgMjEwLCAxMjMsIDIzMywgCisgICAgMjksIDIyMiwgMzMsIDQzLCAxMTksIDIzOCwgMjksIDIzMywgMjksIDIyMiwgMzMsIDQzLCAxMTksIDIxMSwgMjQyLCAyMjAsIAorICAgIDk0LCAyMjIsIDMzLCAxLCAyNTIsIDE3MCwgMjIwLCA5NCwgMjIyLCAzMywgMSwgMjUwLCA3LCAyMjAsIDk0LCAyMjIsIDMzLCAKKyAgICAxLCAyNDAsIDQ3LCAyMjAsIDk0LCAyMjIsIDMzLCAxLCAyNDYsIDExMCwgMjIwLCA5NCwgMjIyLCAzMywgMSwgMjM5LCA3MSwgCisgICAgMjIwLCA5NCwgMjIyLCAzMywgMSwgMjA3LCA1OCwgMjIwLCA5NCwgMjIyLCAzMywgMSwgMjA1LCA5NiwgMjIwLCA5NCwgMjIyLCAKKyAgICAzMywgMSwgMjM5LCAyNywgMjIwLCA5NCwgMjIyLCAzMywgMSwgMjA1LCAyMzUsIDIyMCwgOTQsIDIyMiwgMzMsIDEsIDIzMiwgCisgICAgMTcsIDIyMCwgOTQsIDIyMiwgMzMsIDEsIDIzMCwgOTcsIDIyMCwgOTQsIDIyMiwgMzMsIDEsIDIyNywgODksIDIyMCwgOTQsIAorICAgIDIyMiwgMzMsIDEsIDIyMywgMTczLCAyMjAsIDk0LCAyMjIsIDMzLCAxLCAyMTcsIDE1NywgMjIwLCA5NCwgMjIyLCAzMywgMSwgCisgICAgMjIxLCAxNzQsIDIyMCwgOTQsIDIyMiwgMzMsIDEsIDIxNywgMTg5LCAyMjAsIDk0LCAyMjIsIDMzLCAxLCAyMTUsIDE3MSwgCisgICAgMjIwLCA5NCwgMjIyLCAzMywgMSwgMjEyLCAxNDUsIDIyMCwgOTQsIDIyMiwgMzMsIDIxNywgNzcsIDgzLCAyMjAsIDk0LCAKKyAgICAyMjIsIDMzLCAyMDEsIDIxNywgNzcsIDgzLCAyMjAsIDk0LCAyMjIsIDMzLCAyNDEsIDEyNSwgMTc3LCAyLCAyNDcsIDU5LCAKKyAgICAyMjAsIDk0LCAyMjIsIDMzLCAyNDEsIDEyNSwgMTc3LCAyLCAyNDUsIDIzLCAyMjAsIDk0LCAyMjIsIDMzLCA0MywgMTAyLCAKKyAgICAyMjAsIDk0LCAyMjIsIDMzLCA0MywgMTA1LCAyMjAsIDk0LCAyMjIsIDMzLCA0MywgMTQyLCAyMjAsIDk0LCAyMjIsIDMzLCAKKyAgICA0MywgMTM5LCAyMjAsIDk0LCAyMjIsIDMzLCA0MywgMjEyLCA5OCwgMjIwLCA5NCwgMjIyLCAzMywgNDMsIDIxMCwgMTIzLCAKKyAgICAyMjAsIDk0LCAyMjIsIDMzLCA0MywgMTE5LCAyMzgsIDI5LCA0NCwgMjEwLCAxNDcsIDEsIDIyMiwgMTEzLCA2MiwgNDQsIAorICAgIDIxMCwgMTQ3LCAxLCAyMDYsIDQwLCA2MiwgNDQsIDIxMCwgMTQ3LCAxLCAyMDYsIDQwLCAyNTIsIDI0OCwgNDQsIDIxMCwgCisgICAgMTQ3LCAxLCAyMjIsIDExMywgNzQsIDQ0LCAyMTAsIDE0NywgMSwgMjA2LCA0MCwgNzQsIDQ0LCAyMTAsIDE0NywgMSwgMjA2LCAKKyAgICA0MCwgNzUsIDQ0LCAyMTAsIDE0NywgMSwgMjIyLCAxMTMsIDc2LCA0NCwgMjEwLCAxNDcsIDEsIDIyMiwgMTEzLCAyMjIsIAorICAgIDIwNiwgNDQsIDIxMCwgMTQ3LCAxLCAyMDYsIDQwLCAyMjIsIDIwNiwgNDQsIDIxMCwgMTQ3LCAxLCAyMjIsIDExMywgMjUzLCAKKyAgICAxMTUsIDQ0LCAyMTAsIDE0NywgMSwgMjA2LCA0MCwgMjUzLCAxMTUsIDQ0LCAyMTAsIDE0NywgMSwgMjIyLCAxMTMsIDI1MiwgCisgICAgMjQ3LCA0NCwgMjEwLCAxNDcsIDEsIDIwNiwgNDAsIDI1MiwgMjQ3LCA0NCwgMjEwLCAxNDcsIDEsIDIyMiwgMTEzLCAyNTIsIAorICAgIDIyMCwgNDQsIDIxMCwgMTQ3LCAxLCAyMDYsIDQwLCAyNTIsIDIyMCwgNDQsIDIxMCwgMTQ3LCAxLCAyMjIsIDExMywgMjUyLCAKKyAgICAyNDIsIDQ0LCAyMTAsIDE0NywgMSwgMjA2LCA0MCwgMjUyLCAyNDIsIDQ0LCAyMTAsIDE0NywgMSwgMjIyLCAxMTMsIDI1MywgCisgICAgNSwgNDQsIDIxMCwgMTQ3LCAxLCAyMDYsIDQwLCAyNTMsIDUsIDQ0LCAyMTAsIDE0NywgMSwgMjIyLCAxMTMsIDI1MiwgMjQ2LCAKKyAgICA0NCwgMjEwLCAxNDcsIDEsIDIyMiwgMTEzLCAyNDIsIDE0NSwgNDQsIDIxMCwgMTQ3LCAxLCAyMDYsIDQwLCAyNDIsIDE0NSwgCisgICAgNDQsIDIxMCwgMTQ3LCAxLCAyMjIsIDExMywgMjUxLCAxNTksIDQ0LCAyMTAsIDE0NywgMSwgMjA2LCA0MCwgMjUxLCAxNTksIAorICAgIDQ0LCAyMTAsIDE0NywgMSwgMjIyLCAxMTMsIDI1MiwgMjI5LCA0NCwgMjEwLCAxNDcsIDEsIDIwNiwgNDAsIDI1MiwgMjI5LCAKKyAgICA0NCwgMjEwLCAxNDcsIDEsIDIyMiwgMTEzLCAyNTIsIDI0MCwgNDQsIDIxMCwgMTQ3LCAxLCAyMDYsIDQwLCAyNTIsIDI0MCwgCisgICAgNDQsIDIxMCwgMTQ3LCAxLCAyMjIsIDExMywgMjIyLCAyMDUsIDQ0LCAyMTAsIDE0NywgMSwgMjA2LCA0MCwgMjIyLCAyMDUsIAorICAgIDQ0LCAyMTAsIDE0NywgMSwgMjIyLCAxMTMsIDI1MiwgMTgxLCA0NCwgMjEwLCAxNDcsIDEsIDIwNiwgNDAsIDI1MiwgMTgxLCAKKyAgICA0NCwgMjEwLCAxNDcsIDEsIDIyMiwgMTEzLCAyNTIsIDIzOSwgNDQsIDIxMCwgMTQ3LCAxLCAyMjIsIDExMywgMjQzLCA1MiwgCisgICAgNDQsIDIxMCwgMTQ3LCAxLCAyMjIsIDExMywgMjQzLCA1MCwgNDQsIDIxMCwgMTQ3LCAxLCAyMjIsIDExMywgMjUyLCAxMjIsIAorICAgIDQ0LCAyMTAsIDE0NywgMSwgMjIyLCAxMTMsIDI1MiwgMjM3LCA0NCwgMjEwLCAxNDcsIDEsIDIwNiwgNDAsIDI1MiwgMjM3LCAKKyAgICA0NCwgMjEwLCAxNDcsIDEsIDIyMiwgMTEzLCAyNDMsIDIwLCA0NCwgMjEwLCAxNDcsIDEsIDIwNiwgNDAsIDI0MywgMjAsIAorICAgIDQ0LCAyMTAsIDE0NywgMSwgMjIyLCAxMTMsIDI0MywgMzgsIDQ0LCAyMTAsIDE0NywgMSwgMjA2LCA0MCwgMjQzLCAzOCwgCisgICAgNDQsIDIxMCwgMTQ3LCAxLCAyMjIsIDExMywgMjQzLCA3LCA0NCwgMjEwLCAxNDcsIDEsIDIwNiwgNDAsIDI0MywgNywgNDQsIAorICAgIDIxMCwgMTQ3LCAxLCAyMDYsIDQwLCAyNTIsIDExNCwgNDQsIDIxMCwgMTQ3LCAxLCAyMjIsIDExMywgMjQzLCAyOCwgNDQsIAorICAgIDIxMCwgMTQ3LCAxLCAyMDYsIDQwLCAyNTIsIDIzNiwgNDQsIDIxMCwgMTQ3LCAxLCAyMjIsIDExMywgMjQyLCAyNTMsIDQ0LCAKKyAgICAyMTAsIDE0NywgMSwgMjIyLCAxMTMsIDIyMiwgMTQzLCA0NCwgMjEwLCAxNDcsIDEsIDIyMiwgMTEzLCAyMzcsIDE4MywgNDQsIAorICAgIDIxMCwgMTQ3LCAxLCAyMjIsIDExMywgMjQzLCAxMTAsIDQ0LCAyMTAsIDE0NywgMSwgMjA2LCA0MCwgMjQzLCAxMTAsIDQ0LCAKKyAgICAyMTAsIDE0NywgMSwgMjIyLCAxMTMsIDI1MiwgNDEsIDQ0LCAyMTAsIDE0NywgMSwgMjA2LCA0MCwgMjUyLCA0MSwgNDQsIAorICAgIDIxMCwgMTQ3LCAxLCAyMjIsIDExMywgMjMyLCAyNDUsIDQ0LCAyMTAsIDE0NywgMSwgMjA2LCA0MCwgMjMyLCAyNDUsIDQ0LCAKKyAgICAyMTAsIDE0NywgMSwgMjIyLCAxMTMsIDIyMiwgMTI0LCA0NCwgMjEwLCAxNDcsIDEsIDIwNiwgNDAsIDIyMiwgMTI0LCA0NCwgCisgICAgMjEwLCAxNDcsIDEsIDIyMiwgMTEzLCAyNTIsIDM3LCA0NCwgMjEwLCAxNDcsIDEsIDIwNiwgNDAsIDI1MiwgMzcsIDQ0LCAKKyAgICAyMTAsIDE0NywgMSwgMjIyLCAxMTMsIDI1MiwgMjM1LCA0NCwgMjEwLCAxNDcsIDEsIDIyMiwgMTEzLCAyNTEsIDIzMSwgNDQsIAorICAgIDIxMCwgMTQ3LCAxLCAyMjIsIDExMywgMjUyLCAyMzMsIDQ0LCAyMTAsIDE0NywgMSwgMjIyLCAxMTMsIDI1MSwgMjI1LCA0NCwgCisgICAgMjEwLCAxNDcsIDEsIDIwNiwgNDAsIDI1MSwgMjI1LCA0NCwgMjEwLCAxNDcsIDEsIDIyMiwgMTEzLCAyNDIsIDIxNSwgNDQsIAorICAgIDIxMCwgMTQ3LCAxLCAyMDYsIDQwLCAyNDIsIDIxNSwgNDQsIDIxMCwgMTQ3LCAxLCAyMjIsIDExMywgMjUxLCAxOTksIDQ0LCAKKyAgICAyMTAsIDE0NywgMSwgMjA2LCA0MCwgMjUxLCAxOTksIDQ0LCAyMTAsIDE0NywgMSwgMjIyLCAxMTMsIDI1MiwgMjMwLCA0NCwgCisgICAgMjEwLCAxNDcsIDEsIDIwNiwgNDAsIDI1MiwgMjMwLCA0NCwgMjEwLCAxNDcsIDEsIDIyMiwgMTEzLCAyMjIsIDEwMywgNDQsIAorICAgIDIxMCwgMTQ3LCAxLCAyMjIsIDExMywgMjUwLCAxMTMsIDIxOCwgMzYsIDE4LCAxMDIsIDIxOCwgMzYsIDE4LCAxMDUsIDIxOCwgCisgICAgMzYsIDE4LCAxNDIsIDIxOCwgMzYsIDE4LCAxMzksIDIxOCwgMzYsIDE4LCAxNjgsIDIxOCwgMzYsIDE4LCAxODQsIDIxOCwgCisgICAgMzYsIDE4LCAxOTUsIDIxOCwgMzYsIDE4LCAxOTMsIDIxOCwgMzYsIDE4LCAyMDAsIDIxOCwgMzYsIDQzLCAyMTIsIDk4LCAKKyAgICAyMTgsIDM2LCA0MywgMjEwLCAxMjMsIDIxOCwgMzYsIDQzLCAyMTIsIDMsIDIxOCwgMzYsIDQzLCAyNDEsIDEzMCwgMjE4LCAKKyAgICAzNiwgNDMsIDI0MSwgMjQzLCAyMTgsIDM2LCA0MywgMjE0LCAyNTIsIDIxOCwgMzYsIDQzLCAyMTYsIDE3LCAyMTgsIDM2LCAKKyAgICA0MywgMjQzLCA3OSwgMjE4LCAzNiwgNDMsIDIyNCwgMTkwLCAyMTgsIDM2LCA0MywgMTE5LCAyMzgsIDI5LCAyMTgsIDM2LCAKKyAgICA0MywgMTE4LCAyMzgsIDI5LCAyMTgsIDM2LCA0MywgMTI5LCAyMzgsIDI5LCAyMTgsIDM2LCA0MywgMjQxLCAxMjUsIDIzOCwgCisgICAgMjksIDIxOCwgMzYsIDQzLCAyNDEsIDIwNCwgMjM4LCAyOSwgMjE4LCAzNiwgNDMsIDIxNSwgMTAsIDIzOCwgMjksIDIxOCwgCisgICAgMzYsIDQzLCAyMTYsIDIzLCAyMzgsIDI5LCAyMTgsIDM2LCA0MywgMjQzLCA4OCwgMjM4LCAyOSwgMjE4LCAzNiwgNDMsIAorICAgIDIyNCwgMTk1LCAyMzgsIDI5LCAyMTgsIDM2LCAyNDEsIDExNiwgMTE5LCAyMzksIDEyMSwgMjE4LCAzNiwgMjQxLCAxMTYsIAorICAgIDExOSwgMjE5LCAyMDQsIDIxOCwgMzYsIDI0MSwgMTE2LCAxMTksIDIxMiwgMTAsIDIxOCwgMzYsIDI0MSwgMTE2LCAxMTgsIAorICAgIDIxMiwgNywgMTM2LCAzLCAyNDgsIDIxNywgMTM2LCAzLCAyNTIsIDczLCAxMzYsIDMsIDIwOCwgMTgzLCAxMzYsIDMsIDIzMiwgCisgICAgMTU2LCAxMzYsIDMsIDIwOSwgMjA0LCAxMzYsIDEsIDYyLCAxMzYsIDEsIDI1MywgMTY0LCAxMzYsIDEsIDc0LCAxMzYsIDEsIAorICAgIDIzMywgMTAyLCAxMzYsIDEsIDcxLCAxMzYsIDEsIDIwOSwgMTYyLCAxMzYsIDEsIDExNSwgMTM3LCAxMzYsIDEsIDExNSwgCisgICAgMjE4LCA5MCwgMTM2LCAxLCAxMTUsIDE0OSwgMTM2LCAxLCAxMTUsIDIyOSwgMTczLCAxMzYsIDEsIDc1LCAxMzYsIDEsIAorICAgIDI1MiwgMjA1LCAxMzYsIDEsIDc2LCAxMzYsIDEsIDI1MSwgMTg0LCAxMzYsIDEsIDE3MiwgMTM2LCAxLCAyMzEsIDE2NywgCisgICAgMTM2LCAxLCAyNDAsIDI0NCwgMTM2LCAxLCAyNDAsIDk5LCAxMzYsIDEsIDIyNSwgNzcsIDEzNiwgMSwgMjQ5LCAxLCAxMzYsIAorICAgIDEsIDI0OCwgMTEwLCAxMzYsIDEsIDIzMiwgMjAwLCAxMzYsIDEsIDIzMiwgMTcwLCAxMzYsIDEsIDIyMywgMTQ0LCAxMzYsIAorICAgIDEsIDIxMCwgMjA4LCAxMzYsIDEsIDIxMCwgMTk2LCAxMzYsIDEsIDI0NiwgNTQsIDEzNiwgMSwgMjQ2LCAzOCwgMTM2LCAxLCAKKyAgICAyMjQsIDEwMywgMTM2LCAxLCAyMTIsIDIxOSwgMTM2LCAxLCAyMTIsIDU2LCAxMzYsIDEsIDI0NiwgMTQ1LCAxMzYsIDEsIAorICAgIDI0NSwgMTkyLCAxMzYsIDEsIDE5OSwgMTM2LCAxLCAxNzksIDEzNiwgMSwgMjIxLCA5MywgMTM2LCAxLCAyNTAsIDE4MywgCisgICAgMTM2LCAxLCAyNTAsIDAsIDEzNiwgMSwgMTg1LCAxMzYsIDEsIDE5MCwgMTM2LCAxLCAyMTksIDExMywgMTM2LCAxLCAyMzAsIAorICAgIDE0MSwgMTM2LCAxLCAyMDksIDcwLCAxMzYsIDEsIDIxNiwgMiwgMTM2LCAxLCAyMTQsIDk2LCAxMzYsIDEsIDIxNywgMTk5LCAKKyAgICAxMzYsIDEsIDE1NSwgMTM2LCAxLCAyMjksIDE3MiwgMTM2LCAxLCA0NCwgNDAsIDIyOSwgMTYzLCAxMzYsIDEsIDQ0LCA0MCwgCisgICAgMjE4LCA4OSwgMTM2LCAxLCA0NCwgNDAsIDIyNCwgODUsIDEzNiwgMjIsIDMsIDI1MywgMTY0LCAxMzYsIDIyLCAzLCAyNDksIAorICAgIDI1MywgMjUzLCAxNjQsIDEzNiwgMjIsIDMsIDc0LCAxMzYsIDIyLCAzLCAyMzMsIDEwMiwgMTM2LCAyMiwgMywgNzEsIDEzNiwgCisgICAgMjIsIDMsIDIwOSwgMTYyLCAxMzYsIDIyLCAzLCAxMTUsIDEzNywgMTM2LCAyMiwgMywgMTE1LCAyMTgsIDkwLCAxMzYsIDIyLCAKKyAgICAzLCAxMTUsIDE0OSwgMTM2LCAyMiwgMywgMTE1LCAyMjksIDE3MywgMTM2LCAyMiwgMywgNzUsIDEzNiwgMjIsIDMsIDI1MiwgCisgICAgMjA1LCAxMzYsIDIyLCAzLCA3NiwgMTM2LCAyMiwgMywgMjUxLCAxODQsIDEzNiwgMjA4LCAxODgsIDEzNiwgMjQ2LCAxMDAsIAorICAgIDEzNiwgNTAsIDI0NiwgMTAwLCAxMzYsIDIyMCwgNzIsIDI0NSwgMjMsIDEzNiwgMjIwLCA3MiwgNTAsIDI0NSwgMjMsIDEzNiwgCisgICAgMjIwLCA3MiwgMjI5LCAyMDUsIDEzNiwgMjIwLCA3MiwgMjQ3LCA2NiwgMTM0LCAxMzYsIDIyMCwgNzIsIDIyOSwgMTAyLCAKKyAgICAxMzYsIDQzLCAxMDIsIDEzNiwgNDMsIDEwNSwgMTM2LCA0MywgMTQyLCAxMzYsIDQzLCAxMzksIDEzNiwgNDMsIDE2OCwgCisgICAgMTM2LCA0MywgMTg0LCAxMzYsIDQzLCAxOTUsIDEzNiwgNDMsIDE5MywgMTM2LCA0MywgMjAwLCAxMzYsIDQzLCAyMTIsIDk4LCAKKyAgICAxMzYsIDQzLCAyMTAsIDEyMywgMTM2LCA0MywgMjEyLCAzLCAxMzYsIDQzLCAyNDEsIDEzMCwgMTM2LCA0MywgMjQxLCAyNDMsIAorICAgIDEzNiwgNDMsIDIxNCwgMjUyLCAxMzYsIDQzLCAyMTYsIDE3LCAxMzYsIDQzLCAyNDMsIDc5LCAxMzYsIDQzLCAyMjQsIDE5MCwgCisgICAgMTM2LCA0MywgMTE5LCAyMzgsIDI5LCAxMzYsIDQzLCAxMTksIDIxMSwgMjQyLCAxMzYsIDE4LCAyMDUsIDg1LCAxMzYsIDE4LCAKKyAgICAxMDIsIDEzNiwgMTgsIDEwNSwgMTM2LCAxOCwgMTQyLCAxMzYsIDE4LCAxMzksIDEzNiwgMTgsIDE2OCwgMTM2LCAxOCwgCisgICAgMTg0LCAxMzYsIDE4LCAxOTUsIDEzNiwgMTgsIDE5MywgMTM2LCAxOCwgMjAwLCAxMzYsIDQzLCAyMzIsIDExNywgMjMyLCAKKyAgICAzOCwgMywgMjQ4LCAyMTcsIDIzMiwgMzgsIDMsIDI1MiwgNzMsIDIzMiwgMzgsIDMsIDIwOCwgMTgzLCAyMzIsIDM4LCAxLCAKKyAgICA2MiwgMjMyLCAzOCwgMSwgMjUzLCAxNjQsIDIzMiwgMzgsIDEsIDc0LCAyMzIsIDM4LCAxLCAyMzMsIDEwMiwgMjMyLCAzOCwgCisgICAgMSwgNzEsIDIzMiwgMzgsIDEsIDIwOSwgMTYyLCAyMzIsIDM4LCAxLCA3NSwgMjMyLCAzOCwgMSwgMjUyLCAyMDUsIDIzMiwgCisgICAgMzgsIDEsIDc2LCAyMzIsIDM4LCAxLCAyNTEsIDE4NCwgMjMyLCAzOCwgMSwgMTcyLCAyMzIsIDM4LCAxLCAyMzEsIDE2NywgCisgICAgMjMyLCAzOCwgMSwgMjQwLCAyNDQsIDIzMiwgMzgsIDEsIDI0MCwgOTksIDIzMiwgMzgsIDEsIDIyNSwgNzcsIDIzMiwgMzgsIAorICAgIDEsIDI0OSwgMSwgMjMyLCAzOCwgMSwgMjQ4LCAxMTAsIDIzMiwgMzgsIDEsIDIzMiwgMjAwLCAyMzIsIDM4LCAxLCAyMzIsIAorICAgIDE3MCwgMjMyLCAzOCwgMSwgMjIzLCAxNDQsIDIzMiwgMzgsIDEsIDIxMCwgMjA4LCAyMzIsIDM4LCAxLCAyMTAsIDE5NiwgCisgICAgMjMyLCAzOCwgMSwgMjQ2LCA1NCwgMjMyLCAzOCwgMSwgMjQ2LCA0MywgMjMyLCAzOCwgMSwgMjQ2LCAzOCwgMjMyLCAzOCwgCisgICAgMSwgMjE4LCAyMTIsIDIzMiwgMzgsIDEsIDIyNCwgMTAzLCAyMzIsIDM4LCAxLCAyMTIsIDIxOSwgMjMyLCAzOCwgMSwgMjEyLCAKKyAgICA1NiwgMjMyLCAzOCwgMSwgMjQ2LCAxNDUsIDIzMiwgMzgsIDEsIDI0NSwgMTkyLCAyMzIsIDM4LCAxLCAxOTksIDIzMiwgMzgsIAorICAgIDEsIDE3OSwgMjMyLCAzOCwgMSwgMjIxLCA5MywgMjMyLCAzOCwgMSwgMjUwLCAxODMsIDIzMiwgMzgsIDEsIDI1MCwgMCwgCisgICAgMjMyLCAzOCwgMSwgMTg1LCAyMzIsIDM4LCAxLCAxOTAsIDIzMiwgMzgsIDEsIDIxOSwgMTEzLCAyMzIsIDM4LCAxLCAyMzAsIAorICAgIDE0MSwgMjMyLCAzOCwgMSwgMjA5LCA3MCwgMjMyLCAzOCwgMSwgMjE2LCAyLCAyMzIsIDM4LCAxLCAyMTQsIDk2LCAyMzIsIAorICAgIDM4LCAxLCAyMTcsIDE5OSwgMjMyLCAzOCwgMSwgMTU1LCAyMzIsIDM4LCAyMiwgMywgMjUzLCAxNjQsIDIzMiwgMzgsIDIyLCAKKyAgICAzLCA3NCwgMjMyLCAzOCwgMjIsIDMsIDIzMywgMTAyLCAyMzIsIDM4LCAyMiwgMywgNzEsIDIzMiwgMzgsIDIyLCAzLCAyMDksIAorICAgIDE2MiwgMjMyLCAzOCwgMjIsIDMsIDc1LCAyMzIsIDM4LCAyMiwgMywgMjUyLCAyMDUsIDIzMiwgMzgsIDIyLCAzLCA3NiwgCisgICAgMjMyLCAzOCwgMjIsIDMsIDI1MSwgMTg0LCAyMzIsIDM4LCAzLCAyMDgsIDE4OCwgMjMyLCAzOCwgMywgMjIzLCAxODQsIAorICAgIDIzMiwgMzgsIDI1MywgMjksIDUzLCAyMzIsIDM4LCAyNDMsIDEwLCA1MywgMjMyLCAzOCwgNDMsIDUzLCAyMzIsIDM4LCAKKyAgICAyMTcsIDc3LCA4MywgMjMyLCAzOCwgNTAsIDIxNywgNzcsIDgzLCAyMzIsIDM4LCAyNDYsIDEwMCwgMjMyLCAzOCwgNTAsIAorICAgIDI0NiwgMTAwLCAyMTQsIDE3MCwgMjE0LCAxNzgsIDEsIDIxNywgMTgyLCAyMTQsIDE3MCwgMjE0LCAxNzgsIDEsIDIxMiwgCisgICAgMTk0LCAyMTQsIDE3MCwgMjE0LCAxNzgsIDEsIDI1MCwgMTU4LCAyMTQsIDE3MCwgMjE0LCAxNzgsIDEsIDI0OCwgMjQ2LCAKKyAgICAyMTQsIDE3MCwgMjE0LCAxNzgsIDEsIDI0NiwgMTI2LCAyMTQsIDE3MCwgMjE0LCAxNzgsIDEsIDI0MCwgMjI5LCAyMTQsIAorICAgIDE3MCwgMjE0LCAxNzgsIDEsIDIyNywgMjQ3LCAyMTQsIDE3MCwgMjE0LCAxNzgsIDEsIDIyNSwgNzQsIDIxNCwgMTcwLCAKKyAgICAyMTQsIDE3OCwgMSwgMjMwLCAxMTcsIDIxNCwgMTcwLCAyMTQsIDE3OCwgMSwgMjI1LCAyMTksIDIxNCwgMTcwLCAyMTQsIAorICAgIDE3OCwgMSwgMjA5LCA2NiwgMjE0LCAxNzAsIDIxNCwgMTc4LCAxLCAyMjIsIDM0LCAyMTQsIDE3MCwgMjE0LCAxNzgsIDEsIAorICAgIDIwNiwgOTAsIDIxNCwgMTcwLCAyMTQsIDE3OCwgMSwgMjE5LCA5MiwgMjE0LCAxNzAsIDIxNCwgMTc4LCAxLCAyMzksIDEzMiwgCisgICAgMjE0LCAxNzAsIDIxNCwgMTc4LCAxLCAyMzIsIDQzLCAyMTQsIDE3MCwgMjE0LCAxNzgsIDEsIDIzMiwgMTk0LCAyMTQsIAorICAgIDE3MCwgMjE0LCAxNzgsIDEsIDIyMywgMTQxLCAyMTQsIDE3MCwgMjE0LCAxNzgsIDEsIDI1MiwgMjEzLCAyMTQsIDE3MCwgCisgICAgMjE0LCAxNzgsIDEsIDI0MywgMTAyLCAyMTQsIDE3MCwgMjE0LCAxNzgsIDEsIDIzMywgMTAzLCAyMTQsIDE3MCwgMjE0LCAKKyAgICAxNzgsIDEsIDIwOSwgMjUzLCAyMTQsIDE3MCwgMjE0LCAxNzgsIDEsIDIyMiwgMTk0LCAyMTQsIDE3MCwgMjE0LCAxNzgsIDEsIAorICAgIDI0MywgOTIsIDIxNCwgMTcwLCAyMTQsIDE3OCwgMSwgMjI4LCA0LCAyMTQsIDE3MCwgMjE0LCAxNzgsIDE4LCAyMDUsIDg1LCAKKyAgICAyMTQsIDE3MCwgMjE0LCAxNzgsIDE4LCAxMDIsIDIxNCwgMTcwLCAyMTQsIDE3OCwgMTgsIDEwNSwgMjE0LCAxNzAsIDIxNCwgCisgICAgMTc4LCAxOCwgMTQyLCAyMTQsIDE3MCwgMjE0LCAxNzgsIDE4LCAxMzksIDIxNCwgMTcwLCAyMTQsIDE3OCwgMTgsIDE2OCwgCisgICAgMjE0LCAxNzAsIDIxNCwgMTc4LCAxOCwgMTg0LCAyMTQsIDE3MCwgMjE0LCAxNzgsIDE4LCAxOTUsIDIxNCwgMTcwLCAyMTQsIAorICAgIDE3OCwgMTgsIDE5MywgMjE0LCAxNzAsIDIxNCwgMTc4LCAxOCwgMjAwLCAyNDgsIDEwNCwgMywgMjQ4LCAyMTcsIDI0OCwgCisgICAgMTA0LCAzLCAyNTIsIDczLCAyNDgsIDEwNCwgMywgMjA4LCAxODMsIDI0OCwgMTA0LCAxLCAyNTMsIDE2NCwgMjQ4LCAxMDQsIAorICAgIDEsIDc0LCAyNDgsIDEwNCwgMSwgNzEsIDI0OCwgMTA0LCAxLCA3NSwgMjQ4LCAxMDQsIDEsIDIzMiwgNjMsIDI0OCwgMTA0LCAKKyAgICAxLCAyMzEsIDE2NiwgMjQ4LCAxMDQsIDEsIDI0MCwgMjQxLCAyNDgsIDEwNCwgMSwgMjQwLCA5OCwgMjQ4LCAxMDQsIDEsIAorICAgIDIyNSwgNzYsIDI0OCwgMTA0LCAxLCAyNDksIDAsIDI0OCwgMTA0LCAxLCAyNDgsIDEwOSwgMjQ4LCAxMDQsIDEsIDIzMiwgCisgICAgMTk5LCAyNDgsIDEwNCwgMSwgMjMyLCAxNjksIDI0OCwgMTA0LCAxLCAyMjMsIDE0MywgMjQ4LCAxMDQsIDEsIDIxMCwgMjA3LCAKKyAgICAyNDgsIDEwNCwgMSwgMjEwLCAxOTUsIDI0OCwgMTA0LCAxLCAyNDYsIDUzLCAyNDgsIDEwNCwgMSwgMjQ2LCAzNywgMjQ4LCAKKyAgICAxMDQsIDEsIDIyNCwgMTAyLCAyNDgsIDEwNCwgMSwgMjEyLCAyMTUsIDI0OCwgMTA0LCAxLCAyMTIsIDU1LCAyNDgsIDEwNCwgCisgICAgMSwgMjQ2LCAxNDQsIDI0OCwgMTA0LCAxLCAyNDUsIDE5MSwgMjQ4LCAxMDQsIDEsIDIyNSwgMjMyLCAyNDgsIDEwNCwgMSwgCisgICAgMjIyLCA1MSwgMjQ4LCAxMDQsIDEsIDIyMSwgOTIsIDI0OCwgMTA0LCAxLCAyNTAsIDE4MSwgMjQ4LCAxMDQsIDEsIDI0OSwgCisgICAgMjU1LCAyNDgsIDEwNCwgMSwgMjI4LCAxOCwgMjQ4LCAxMDQsIDEsIDIwNSwgMTY3LCAyNDgsIDEwNCwgMSwgMjA2LCAxMDksIAorICAgIDI0OCwgMTA0LCAxLCAyMTksIDEwOSwgMjQ4LCAxMDQsIDEsIDIzMCwgMTQwLCAyNDgsIDEwNCwgMSwgMjA3LCA5NSwgMjQ4LCAKKyAgICAxMDQsIDEsIDIxNywgMTk2LCAyNDgsIDEwNCwgMSwgMjM5LCAxNDEsIDI0OCwgMTA0LCAyMiwgMywgNjIsIDI0OCwgMTA0LCAKKyAgICAyMiwgMywgNzQsIDI0OCwgMTA0LCAyMiwgMywgMjMzLCAxMDIsIDI0OCwgMTA0LCAyMiwgMywgNzEsIDI0OCwgMTA0LCAyMiwgCisgICAgMywgMjA5LCAxNjIsIDI0OCwgMTA0LCAyMiwgMywgNzUsIDI0OCwgMTA0LCAyMiwgMywgMjUyLCAyMDUsIDI0OCwgMTA0LCAKKyAgICAyMiwgMywgNzYsIDI0OCwgMTA0LCAyMiwgMywgMjUxLCAxODQsIDI0OCwgMTA0LCAyMiwgMywgMjIyLCAxOTEsIDI0OCwgCisgICAgMTA0LCAxNDgsIDgzLCAyNDgsIDEwNCwgMjUxLCAxODUsIDgzLCAyNDgsIDEwNCwgMjA4LCAxODgsIDI0OCwgMTA0LCAyMjgsIAorICAgIDE2LCAyNDgsIDEwNCwgMTgsIDIwNSwgODUsIDI0OCwgMTA0LCAxOCwgMTAyLCAyNDgsIDEwNCwgMTgsIDEwNSwgMjQ4LCAKKyAgICAxMDQsIDE4LCAxNDIsIDI0OCwgMTA0LCAxOCwgMTM5LCAyNDgsIDEwNCwgMTgsIDE2OCwgMjQ4LCAxMDQsIDE4LCAxODQsIAorICAgIDI0OCwgMTA0LCAxOCwgMTk1LCAyNDgsIDEwNCwgMTgsIDE5MywgMjQ4LCAxMDQsIDE4LCAyMDAsIDI0OCwgMTA0LCAyMTcsIAorICAgIDc3LCA4MywgMjQ4LCAxMDQsIDI0NiwgMTAwLCAyNDgsIDEwNCwgNTAsIDI0NiwgMTAwLCAyNDgsIDEwNCwgMjE5LCAxOTYsIAorICAgIDgzLCAyMjcsIDI0NSwgMSwgNjIsIDIyNywgMjQ1LCAxLCA3NCwgMjI3LCAyNDUsIDEsIDcxLCAyMjcsIDI0NSwgMSwgNzUsIAorICAgIDIyNywgMjQ1LCAxLCA3NiwgMjI3LCAyNDUsIDEsIDE3MiwgMjI3LCAyNDUsIDEsIDIzMSwgMTY3LCAyMjcsIDI0NSwgMSwgCisgICAgMjQwLCAyNDQsIDIyNywgMjQ1LCAxLCAyNDAsIDk5LCAyMjcsIDI0NSwgMSwgMjQ5LCAxLCAyMjcsIDI0NSwgMSwgMjQ4LCAKKyAgICAxMTAsIDIyNywgMjQ1LCAxLCAyMzIsIDIwMCwgMjI3LCAyNDUsIDEsIDIzMiwgMTcwLCAyMjcsIDI0NSwgMSwgMjIzLCAxNDQsIAorICAgIDIyNywgMjQ1LCAxLCAyMTAsIDIwOCwgMjI3LCAyNDUsIDEsIDIxMCwgMTk2LCAyMjcsIDI0NSwgMSwgMjQ2LCA1NCwgMjI3LCAKKyAgICAyNDUsIDEsIDI0NiwgMzgsIDIyNywgMjQ1LCAxLCAyMjQsIDEwMywgMjI3LCAyNDUsIDEsIDIxMiwgMjE5LCAyMjcsIDI0NSwgCisgICAgMSwgMjEyLCA1NiwgMjI3LCAyNDUsIDEsIDI0NiwgMTQ1LCAyMjcsIDI0NSwgMSwgMjQ1LCAxOTIsIDIyNywgMjQ1LCAxLCAKKyAgICAxOTksIDIyNywgMjQ1LCAxLCAxNzksIDIyNywgMjQ1LCAxLCAyMjEsIDkzLCAyMjcsIDI0NSwgMSwgMjUwLCAxODMsIDIyNywgCisgICAgMjQ1LCAxLCAyNTAsIDAsIDIyNywgMjQ1LCAxLCAxODUsIDIyNywgMjQ1LCAxLCAyMTksIDExMywgMjI3LCAyNDUsIDEsIAorICAgIDIzMCwgMTQxLCAyMjcsIDI0NSwgMSwgMjA5LCA3MCwgMjI3LCAyNDUsIDEsIDIxNywgMTk5LCAyMjcsIDI0NSwgMSwgMTU1LCAKKyAgICAyMjcsIDI0NSwgMSwgMjE4LCA4OSwgMjI3LCAyNDUsIDMsIDIyMywgMTg0LCAyMjcsIDI0NSwgMjUzLCAyOSwgNTMsIDIyNywgCisgICAgMjQ1LCAyMTcsIDc3LCA4MywgMjI3LCAyNDUsIDI4LCAyMTUsIDEyMywgMTk2LCAzLCAyNDgsIDIxNywgMTk2LCAzLCAyNTIsIAorICAgIDczLCAxOTYsIDMsIDIwOCwgMTgzLCAxOTYsIDEsIDYyLCAxOTYsIDEsIDI1MywgMTY0LCAxOTYsIDEsIDc0LCAxOTYsIDEsIAorICAgIDIzMywgMTAyLCAxOTYsIDEsIDcxLCAxOTYsIDEsIDIwOSwgMTYyLCAxOTYsIDEsIDExNSwgMTM3LCAxOTYsIDEsIDExNSwgCisgICAgMjE4LCA5MCwgMTk2LCAxLCAxMTUsIDE0OSwgMTk2LCAxLCAxMTUsIDIyOSwgMTczLCAxOTYsIDEsIDc1LCAxOTYsIDEsIAorICAgIDI1MiwgMjA1LCAxOTYsIDEsIDc2LCAxOTYsIDEsIDI1MSwgMTg0LCAxOTYsIDEsIDE3MiwgMTk2LCAxLCAyMzEsIDE2NywgCisgICAgMTk2LCAxLCAyNDAsIDI0NCwgMTk2LCAxLCAyNDAsIDk5LCAxOTYsIDEsIDIyNSwgNzcsIDE5NiwgMSwgMjQ5LCAxLCAxOTYsIAorICAgIDEsIDI0OCwgMTEwLCAxOTYsIDEsIDIzMiwgMjAwLCAxOTYsIDEsIDIzMiwgMTcwLCAxOTYsIDEsIDIyMywgMTQ0LCAxOTYsIAorICAgIDEsIDIxMCwgMjA4LCAxOTYsIDEsIDIxMCwgMTk2LCAxOTYsIDEsIDI0NiwgNTQsIDE5NiwgMSwgMjQ2LCAzOCwgMTk2LCAxLCAKKyAgICAyMjQsIDEwMywgMTk2LCAxLCAyMTIsIDIxOSwgMTk2LCAxLCAyMTIsIDU2LCAxOTYsIDEsIDI0NiwgMTQ1LCAxOTYsIDEsIAorICAgIDI0NSwgMTkyLCAxOTYsIDEsIDE5OSwgMTk2LCAxLCAxNzksIDE5NiwgMSwgMjIxLCA5MywgMTk2LCAxLCAyNTAsIDE4MywgCisgICAgMTk2LCAxLCAyNTAsIDAsIDE5NiwgMSwgMTg1LCAxOTYsIDEsIDE5MCwgMTk2LCAxLCAyMTksIDExMywgMTk2LCAxLCAyMzAsIAorICAgIDE0MSwgMTk2LCAxLCAyMjksIDE3MiwgMTk2LCAxLCAyMDksIDcwLCAxOTYsIDEsIDIxNiwgMiwgMTk2LCAxLCAyMTQsIDk2LCAKKyAgICAxOTYsIDEsIDIxNywgMTk5LCAxOTYsIDEsIDE1NSwgMTk2LCAyMiwgMywgMjUzLCAxNjQsIDE5NiwgMjIsIDMsIDc0LCAxOTYsIAorICAgIDIyLCAzLCAyMzMsIDEwMiwgMTk2LCAyMiwgMywgNzEsIDE5NiwgMjIsIDMsIDIwOSwgMTYyLCAxOTYsIDIyLCAzLCAxMTUsIAorICAgIDEzNywgMTk2LCAyMiwgMywgMTE1LCAyMTgsIDkwLCAxOTYsIDIyLCAzLCAxMTUsIDE0OSwgMTk2LCAyMiwgMywgMTE1LCAKKyAgICAyMjksIDE3MywgMTk2LCAyMiwgMywgNzUsIDE5NiwgMjIsIDMsIDI1MiwgMjA1LCAxOTYsIDIyLCAzLCA3NiwgMTk2LCAyMiwgCisgICAgMywgMjUxLCAxODQsIDE5NiwgMywgMjA4LCAxODgsIDE5NiwgMywgMjUxLCAxNjcsIDE5NiwgMywgMjMyLCAxNTYsIDE5NiwgCisgICAgMywgMjA5LCAyMDQsIDE5NiwgMjIyLCAxNzMsIDE5NiwgMjQ2LCAxMDAsIDE5NiwgNTAsIDI0NiwgMTAwLCAxOTYsIDI1MywgCisgICAgMjksIDUzLCAxOTYsIDIxNiwgMzksIDE5NiwgMjEzLCAxMjAsIDgzLCAxOTYsIDE4LCAyMDUsIDg1LCAxOTYsIDE4LCAxMDIsIAorICAgIDE5NiwgMTgsIDEwNSwgMTk2LCAxOCwgMTQyLCAxOTYsIDE4LCAxMzksIDE5NiwgMTgsIDE2OCwgMTk2LCAxOCwgMTg0LCAKKyAgICAxOTYsIDE4LCAxOTUsIDE5NiwgMTgsIDE5MywgMTk2LCAxOCwgMjAwLCAxOTYsIDI0MywgNzQsIDEzMiwgMjUyLCAxOSwgMTgsIAorICAgIDEwMiwgMTMyLCAyNTIsIDE5LCAxOCwgMTA1LCAxMzIsIDI1MiwgMTksIDE4LCAxNDIsIDEzMiwgMjUyLCAxOSwgMTgsIDEzOSwgCisgICAgMTMyLCAyNTIsIDE5LCAxOCwgMTY4LCAxMzIsIDI1MiwgMTksIDE4LCAxODQsIDEzMiwgMjUyLCAxOSwgMTgsIDE5NSwgMTMyLCAKKyAgICAyNTIsIDE5LCAxOCwgMTkzLCAxMzIsIDI1MiwgMTksIDE4LCAyMDAsIDEzMiwgMjUyLCAxOSwgNDMsIDIxMiwgOTgsIDEzMiwgCisgICAgMjUyLCAxOSwgNDMsIDIxMCwgMTIzLCAxMzIsIDI1MiwgMTksIDQzLCAyMTIsIDMsIDEzMiwgMjUyLCAxOSwgNDMsIDI0MSwgCisgICAgMTMwLCAxMzIsIDI1MiwgMTksIDQzLCAyNDEsIDI0MywgMTMyLCAyNTIsIDE5LCA0MywgMjE0LCAyNTIsIDEzMiwgMjUyLCAKKyAgICAxOSwgNDMsIDIxNiwgMTcsIDEzMiwgMjUyLCAxOSwgNDMsIDI0MywgNzksIDEzMiwgMjUyLCAxOSwgNDMsIDIyNCwgMTkwLCAKKyAgICAxMzIsIDI1MiwgMTksIDQzLCAxMTksIDIzOCwgMjksIDEzMiwgMjUyLCAxOSwgNDMsIDExOSwgMjExLCAyNDIsIDIzMSwgCisgICAgMTM3LCAxLCA2MiwgMjMxLCAxMzcsIDEsIDI1MywgMTY0LCAyMzEsIDEzNywgMSwgNzQsIDIzMSwgMTM3LCAxLCA3MSwgMjMxLCAKKyAgICAxMzcsIDEsIDc1LCAyMzEsIDEzNywgMSwgMjUyLCAyMDUsIDIzMSwgMTM3LCAxLCA3NiwgMjMxLCAxMzcsIDEsIDI1MSwgCisgICAgMTg0LCAyMzEsIDEzNywgMSwgMTcyLCAyMzEsIDEzNywgMSwgMjMxLCAxNjcsIDIzMSwgMTM3LCAxLCAyNDAsIDI0NCwgMjMxLCAKKyAgICAxMzcsIDEsIDI0MCwgMTM1LCAyMzEsIDEzNywgMSwgMjQwLCA5OSwgMjMxLCAxMzcsIDEsIDIyNSwgNzcsIDIzMSwgMTM3LCAKKyAgICAxLCAyNDksIDEsIDIzMSwgMTM3LCAxLCAyNDgsIDExMCwgMjMxLCAxMzcsIDEsIDIzMiwgMjAwLCAyMzEsIDEzNywgMSwgCisgICAgMjMyLCAxNTAsIDIzMSwgMTM3LCAxLCAyMjMsIDE0NCwgMjMxLCAxMzcsIDEsIDIxMCwgMjA4LCAyMzEsIDEzNywgMSwgMjEwLCAKKyAgICAxOTYsIDIzMSwgMTM3LCAxLCAyNDYsIDU0LCAyMzEsIDEzNywgMSwgMjQ2LCAzOCwgMjMxLCAxMzcsIDEsIDIyNCwgMTAzLCAKKyAgICAyMzEsIDEzNywgMSwgMjEyLCAyMTksIDIzMSwgMTM3LCAxLCAyMTIsIDU2LCAyMzEsIDEzNywgMSwgMjQ2LCAxNDUsIDIzMSwgCisgICAgMTM3LCAxLCAyNDYsIDQ0LCAyMzEsIDEzNywgMSwgMjQ1LCAxOTIsIDIzMSwgMTM3LCAxLCAxOTksIDIzMSwgMTM3LCAxLCAKKyAgICAxNzksIDIzMSwgMTM3LCAxLCAyMjEsIDkzLCAyMzEsIDEzNywgMSwgMjUwLCAxODMsIDIzMSwgMTM3LCAxLCAyNTAsIDk3LCAKKyAgICAyMzEsIDEzNywgMSwgMjUwLCAwLCAyMzEsIDEzNywgMSwgMTg1LCAyMzEsIDEzNywgMSwgMTkwLCAyMzEsIDEzNywgMSwgCisgICAgMjE5LCAxMTMsIDIzMSwgMTM3LCAxLCAyMzAsIDE0MSwgMjMxLCAxMzcsIDEsIDIwOSwgNzAsIDIzMSwgMTM3LCAxLCAyMTcsIAorICAgIDE5OSwgMjMxLCAxMzcsIDEsIDE1NSwgMjMxLCAxMzcsIDEsIDIyOSwgMTcyLCAyMzEsIDEzNywgMjIsIDMsIDI1MywgMTY0LCAKKyAgICAyMzEsIDEzNywgMjIsIDMsIDc0LCAyMzEsIDEzNywgMjIsIDMsIDIzMywgMTAyLCAyMzEsIDEzNywgMjIsIDMsIDcxLCAyMzEsIAorICAgIDEzNywgMjIsIDMsIDc1LCAyMzEsIDEzNywgMjIsIDMsIDI1MiwgMjA1LCAyMzEsIDEzNywgMjIsIDMsIDc2LCAyMzEsIDEzNywgCisgICAgMjIsIDMsIDI1MSwgMTg0LCAyMzEsIDEzNywgMywgMjUyLCA3MywgMjMxLCAxMzcsIDMsIDIwOCwgMTg4LCAyMzEsIDEzNywgCisgICAgMywgMjIzLCAxODQsIDIzMSwgMTM3LCAzLCAyMTUsIDI0OSwgMjMxLCAxMzcsIDI0NiwgMTAwLCAyMzEsIDEzNywgNTAsIAorICAgIDI0NiwgMTAwLCAyMzEsIDEzNywgMjA2LCAyMzIsIDIxNiwgMzksIDIzMSwgMTM3LCAyMTcsIDc3LCA4MywgMjMxLCAxMzcsIAorICAgIDUwLCAyMTcsIDc3LCA4MywgMjMxLCAxMzcsIDI1MywgMjksIDUzLCAyMzEsIDEyOSwgMSwgNjIsIDIzMSwgMTI5LCAxLCAKKyAgICAyNTMsIDE2NCwgMjMxLCAxMjksIDEsIDc0LCAyMzEsIDEyOSwgMSwgMjMzLCAxMDIsIDIzMSwgMTI5LCAxLCA3MSwgMjMxLCAKKyAgICAxMjksIDEsIDIwOSwgMTYyLCAyMzEsIDEyOSwgMSwgNzUsIDIzMSwgMTI5LCAxLCAyNTIsIDIwNSwgMjMxLCAxMjksIDEsIAorICAgIDc2LCAyMzEsIDEyOSwgMSwgMjUxLCAxODQsIDIzMSwgMTI5LCAxLCAxNzIsIDIzMSwgMTI5LCAxLCAyMzEsIDE2NywgMjMxLCAKKyAgICAxMjksIDEsIDI0MCwgMjQ0LCAyMzEsIDEyOSwgMSwgMjQwLCAxMzUsIDIzMSwgMTI5LCAxLCAyNDAsIDk5LCAyMzEsIDEyOSwgCisgICAgMSwgMjI1LCA3NywgMjMxLCAxMjksIDEsIDI0OSwgMSwgMjMxLCAxMjksIDEsIDI0OCwgMTEwLCAyMzEsIDEyOSwgMSwgMjMyLCAKKyAgICAyMDAsIDIzMSwgMTI5LCAxLCAyMzIsIDE1MCwgMjMxLCAxMjksIDEsIDIzMiwgMTcwLCAyMzEsIDEyOSwgMSwgMjIzLCAxNDQsIAorICAgIDIzMSwgMTI5LCAxLCAyMTAsIDIwOCwgMjMxLCAxMjksIDEsIDIxMCwgMTk2LCAyMzEsIDEyOSwgMSwgMjQ2LCA1NCwgMjMxLCAKKyAgICAxMjksIDEsIDI0NiwgNDQsIDIzMSwgMTI5LCAxLCAyMTgsIDg5LCAyMzEsIDEyOSwgMSwgMjQ2LCAzOCwgMjMxLCAxMjksIDEsIAorICAgIDIyNCwgMTAzLCAyMzEsIDEyOSwgMSwgMjEyLCAyMTksIDIzMSwgMTI5LCAxLCAyMTIsIDU2LCAyMzEsIDEyOSwgMSwgMjQ2LCAKKyAgICAxNDUsIDIzMSwgMTI5LCAxLCAyNDUsIDE5MiwgMjMxLCAxMjksIDEsIDE5OSwgMjMxLCAxMjksIDEsIDE3OSwgMjMxLCAxMjksIAorICAgIDEsIDIyMSwgOTMsIDIzMSwgMTI5LCAxLCAyNTAsIDE4MywgMjMxLCAxMjksIDEsIDI1MCwgOTcsIDIzMSwgMTI5LCAxLCAKKyAgICAyNTAsIDAsIDIzMSwgMTI5LCAxLCAxODUsIDIzMSwgMTI5LCAxLCAxOTAsIDIzMSwgMTI5LCAxLCAyMTksIDExMywgMjMxLCAKKyAgICAxMjksIDEsIDIzMCwgMTQxLCAyMzEsIDEyOSwgMSwgMjA5LCA3MCwgMjMxLCAxMjksIDEsIDIxNiwgMiwgMjMxLCAxMjksIDEsIAorICAgIDIxNywgMTk5LCAyMzEsIDEyOSwgMSwgMTU1LCAyMzEsIDEyOSwgMywgMjUyLCA3MywgMjMxLCAxMjksIDIyLCAzLCAyNTMsIAorICAgIDE2NCwgMjMxLCAxMjksIDIyLCAzLCA3NCwgMjMxLCAxMjksIDIyLCAzLCAyMzMsIDEwMiwgMjMxLCAxMjksIDIyLCAzLCA3MSwgCisgICAgMjMxLCAxMjksIDIyLCAzLCAyMDksIDE2MiwgMjMxLCAxMjksIDIyLCAzLCA3NSwgMjMxLCAxMjksIDIyLCAzLCAyNTIsIAorICAgIDIwNSwgMjMxLCAxMjksIDIyLCAzLCA3NiwgMjMxLCAxMjksIDIyLCAzLCAyNTEsIDE4NCwgMjMxLCAxMjksIDMsIDIyMywgCisgICAgMTg0LCAyMzEsIDEyOSwgMywgMjA4LCAxODgsIDIzMSwgMTI5LCAxOCwgMjA1LCA4NSwgMjMxLCAxMjksIDE4LCAxMDIsIAorICAgIDIzMSwgMTI5LCAxOCwgMTA1LCAyMzEsIDEyOSwgMTgsIDE0MiwgMjMxLCAxMjksIDE4LCAxMzksIDIzMSwgMTI5LCAxOCwgCisgICAgMTY4LCAyMzEsIDEyOSwgMTgsIDE4NCwgMjMxLCAxMjksIDE4LCAxOTUsIDIzMSwgMTI5LCAxOCwgMTkzLCAyMzEsIDEyOSwgCisgICAgMTgsIDIwMCwgMjA0LCAyMDQsIDMsIDI0OCwgMjE3LCAyMDQsIDIwNCwgMywgMjUyLCA3MywgMjA0LCAyMDQsIDMsIDIwOCwgCisgICAgMTgzLCAyMDQsIDIwNCwgMSwgNjIsIDIwNCwgMjA0LCAxLCAyNTMsIDE2NCwgMjA0LCAyMDQsIDEsIDc0LCAyMDQsIDIwNCwgCisgICAgMSwgMjMzLCAxMDIsIDIwNCwgMjA0LCAxLCA3MSwgMjA0LCAyMDQsIDEsIDIwOSwgMTYyLCAyMDQsIDIwNCwgMSwgMTE1LCAKKyAgICAxMzcsIDIwNCwgMjA0LCAxLCAxMTUsIDE0OSwgMjA0LCAyMDQsIDEsIDI0MywgMTA0LCAyMDQsIDIwNCwgMSwgMjUyLCAyMDUsIAorICAgIDIwNCwgMjA0LCAxLCAyMjIsIDE1MiwgMjA0LCAyMDQsIDEsIDI1MSwgMTg0LCAyMDQsIDIwNCwgMSwgMTcyLCAyMDQsIDIwNCwgCisgICAgMSwgMjMxLCAxNjcsIDIwNCwgMjA0LCAxLCAyNDAsIDI0NCwgMjA0LCAyMDQsIDEsIDI0MCwgOTksIDIwNCwgMjA0LCAxLCAKKyAgICAyMjUsIDc3LCAyMDQsIDIwNCwgMSwgMjQ5LCAxLCAyMDQsIDIwNCwgMSwgMjQ4LCAxMTAsIDIwNCwgMjA0LCAxLCAyMzIsIAorICAgIDIwMCwgMjA0LCAyMDQsIDEsIDIzMiwgMTcwLCAyMDQsIDIwNCwgMSwgMjIzLCAxNDQsIDIwNCwgMjA0LCAxLCAyMTAsIDIwOCwgCisgICAgMjA0LCAyMDQsIDEsIDIxMCwgMTk2LCAyMDQsIDIwNCwgMSwgMjQ2LCA1NCwgMjA0LCAyMDQsIDEsIDI0NiwgMzgsIDIwNCwgCisgICAgMjA0LCAxLCAyMjQsIDEwMywgMjA0LCAyMDQsIDEsIDIxMiwgMjE5LCAyMDQsIDIwNCwgMSwgMjEyLCA1NiwgMjA0LCAyMDQsIAorICAgIDEsIDI0NiwgMTQ1LCAyMDQsIDIwNCwgMSwgMjQ1LCAxOTIsIDIwNCwgMjA0LCAxLCAxOTksIDIwNCwgMjA0LCAxLCAxNzksIAorICAgIDIwNCwgMjA0LCAxLCAyMjEsIDkzLCAyMDQsIDIwNCwgMSwgMjUwLCAxODMsIDIwNCwgMjA0LCAxLCAyNTAsIDAsIDIwNCwgCisgICAgMjA0LCAxLCAxODUsIDIwNCwgMjA0LCAxLCAxOTAsIDIwNCwgMjA0LCAxLCAyMTksIDExMywgMjA0LCAyMDQsIDEsIDIzMCwgCisgICAgMTQxLCAyMDQsIDIwNCwgMSwgMjI5LCAxNzIsIDIwNCwgMjA0LCAxLCAyMDksIDcwLCAyMDQsIDIwNCwgMSwgMjE2LCAyLCAKKyAgICAyMDQsIDIwNCwgMSwgMjE0LCA5NiwgMjA0LCAyMDQsIDEsIDIxNywgMTk5LCAyMDQsIDIwNCwgMSwgMTU1LCAyMDQsIDIwNCwgCisgICAgMywgMjIzLCAxODQsIDIwNCwgMjA0LCAzLCAyNTEsIDE2NywgMjA0LCAyMDQsIDIyLCAzLCAyNTMsIDE2NCwgMjA0LCAyMDQsIAorICAgIDIyLCAzLCA3NCwgMjA0LCAyMDQsIDIyLCAzLCAyMzMsIDEwMiwgMjA0LCAyMDQsIDIyLCAzLCA3MSwgMjA0LCAyMDQsIDIyLCAKKyAgICAzLCAyMDksIDE2MiwgMjA0LCAyMDQsIDIyLCAzLCAxMTUsIDEzNywgMjA0LCAyMDQsIDIyLCAzLCAxMTUsIDIxOCwgOTAsIAorICAgIDIwNCwgMjA0LCAyMiwgMywgMjQzLCAxMDQsIDIwNCwgMjA0LCAyMiwgMywgMjUyLCAyMDUsIDIwNCwgMjA0LCAyMiwgMywgCisgICAgMjIyLCAxNTIsIDIwNCwgMjA0LCAyMiwgMywgMjUxLCAxODQsIDIwNCwgMjA0LCAzLCAyMDgsIDE4OCwgMjA0LCAyMDQsIAorICAgIDI1MSwgMTg1LCAyMzAsIDIwLCA4MywgMjA0LCAyMDQsIDMsIDIyMCwgMjE2LCAyMDQsIDIwNCwgMSwgMjA5LCAzNiwgMjUyLCAKKyAgICA3MywgMjA0LCAyMDQsIDEsIDIwOSwgMzYsIDUwLCAyNTIsIDczLCAyMDQsIDIwNCwgMSwgMTE1LCAyMTgsIDkwLCAyMDQsIAorICAgIDIwNCwgMSwgMTE1LCAyMjksIDE3MywgMjA0LCAyMDQsIDIyLCAzLCAxMTUsIDE0OSwgMjA0LCAyMDQsIDIyLCAzLCAxMTUsIAorICAgIDIyOSwgMTczLCAzNiwgMjA0LCAyMDQsIDE4LCAyMDUsIDg1LCAzNiwgMjA0LCAyMDQsIDE4LCAxMDIsIDM2LCAyMDQsIDIwNCwgCisgICAgMTgsIDEwNSwgMzYsIDIwNCwgMjA0LCAxOCwgMTQyLCAzNiwgMjA0LCAyMDQsIDE4LCAxMzksIDM2LCAyMDQsIDIwNCwgMTgsIAorICAgIDE2OCwgMzYsIDIwNCwgMjA0LCAxOCwgMTg0LCAzNiwgMjA0LCAyMDQsIDEsIDYyLCAzNiwgMjA0LCAyMDQsIDEsIDE3MiwgCisgICAgMzYsIDIwNCwgMjA0LCAxLCAxOTksIDM2LCAyMDQsIDIwNCwgMSwgMjA4LCAyMTQsIDM2LCAyMDQsIDIwNCwgMSwgMTc5LCAKKyAgICAyMTEsIDE2MCwgMjUyLCAxMDIsIDIxMSwgMTYwLCAxLCA2MiwgMjExLCAxNjAsIDEsIDI1MywgMTY0LCAyMTEsIDE2MCwgMSwgCisgICAgNzQsIDIxMSwgMTYwLCAxLCAyMzMsIDEwMiwgMjExLCAxNjAsIDEsIDcxLCAyMTEsIDE2MCwgMSwgMjA5LCAxNjIsIDIxMSwgCisgICAgMTYwLCAxLCAxMTUsIDEzNywgMjExLCAxNjAsIDEsIDExNSwgMjE4LCA5MCwgMjExLCAxNjAsIDEsIDExNSwgMTQ5LCAyMTEsIAorICAgIDE2MCwgMSwgMTE1LCAyMjksIDE3MywgMjExLCAxNjAsIDEsIDc1LCAyMTEsIDE2MCwgMSwgMjUyLCAyMDUsIDIxMSwgMTYwLCAKKyAgICAxLCA3NiwgMjExLCAxNjAsIDEsIDI1MSwgMTg0LCAyMTEsIDE2MCwgMSwgMTcyLCAyMTEsIDE2MCwgMSwgMjMxLCAxNjcsIAorICAgIDIxMSwgMTYwLCAxLCAyNDAsIDI0NCwgMjExLCAxNjAsIDEsIDI0MCwgOTksIDIxMSwgMTYwLCAxLCAyMjUsIDc3LCAyMTEsIAorICAgIDE2MCwgMSwgMjQ5LCAxLCAyMTEsIDE2MCwgMSwgMjQ4LCAxMTAsIDIxMSwgMTYwLCAxLCAyMzIsIDIwMCwgMjExLCAxNjAsIAorICAgIDEsIDIzMiwgMTcwLCAyMTEsIDE2MCwgMSwgMjIzLCAxNDQsIDIxMSwgMTYwLCAxLCAyMTAsIDIwOCwgMjExLCAxNjAsIDEsIAorICAgIDIxMCwgMTk2LCAyMTEsIDE2MCwgMSwgMjQ2LCA1NCwgMjExLCAxNjAsIDEsIDI0NiwgMzgsIDIxMSwgMTYwLCAxLCAyMjQsIAorICAgIDEwMywgMjExLCAxNjAsIDEsIDIxMiwgMjE5LCAyMTEsIDE2MCwgMSwgMjEyLCA1NiwgMjExLCAxNjAsIDEsIDI0NiwgMTQ1LCAKKyAgICAyMTEsIDE2MCwgMSwgMjQ1LCAxOTIsIDIxMSwgMTYwLCAxLCAxOTksIDIxMSwgMTYwLCAxLCAxNzksIDIxMSwgMTYwLCAxLCAKKyAgICAyMjEsIDkzLCAyMTEsIDE2MCwgMSwgMjUwLCAxODMsIDIxMSwgMTYwLCAxLCAyNTAsIDAsIDIxMSwgMTYwLCAxLCAxODUsIAorICAgIDIxMSwgMTYwLCAxLCAxOTAsIDIxMSwgMTYwLCAxLCAyMTksIDExMywgMjExLCAxNjAsIDEsIDIzMCwgMTQxLCAyMTEsIDE2MCwgCisgICAgMSwgMjA5LCA3MCwgMjExLCAxNjAsIDEsIDIxNiwgMiwgMjExLCAxNjAsIDEsIDIxNCwgOTYsIDIxMSwgMTYwLCAxLCAyMTcsIAorICAgIDE5OSwgMjExLCAxNjAsIDEsIDE1NSwgMjExLCAxNjAsIDIyLCAzLCAyNTMsIDE2NCwgMjExLCAxNjAsIDIyLCAzLCA3NCwgCisgICAgMjExLCAxNjAsIDIyLCAzLCAyMzMsIDEwMiwgMjExLCAxNjAsIDIyLCAzLCA3MSwgMjExLCAxNjAsIDIyLCAzLCAyMDksIAorICAgIDE2MiwgMjExLCAxNjAsIDIyLCAzLCAxMTUsIDEzNywgMjExLCAxNjAsIDIyLCAzLCAxMTUsIDIxOCwgOTAsIDIxMSwgMTYwLCAKKyAgICAyMiwgMywgMTE1LCAxNDksIDIxMSwgMTYwLCAyMiwgMywgMTE1LCAyMjksIDE3MywgMjExLCAxNjAsIDIyLCAzLCA3NSwgCisgICAgMjExLCAxNjAsIDIyLCAzLCAyMTUsIDE0NCwgNzUsIDIxMSwgMTYwLCAyMiwgMywgMjUyLCAyMDUsIDIxMSwgMTYwLCAyMiwgCisgICAgMywgNzYsIDIxMSwgMTYwLCAyMiwgMywgMjE1LCAxNDQsIDc2LCAyMTEsIDE2MCwgMjIsIDMsIDI1MSwgMTg0LCAyMTEsIAorICAgIDE2MCwgMywgMjQ4LCAyMTcsIDIxMSwgMTYwLCAzLCAyNTIsIDczLCAyMTEsIDE2MCwgMywgMjA4LCAxODMsIDIxMSwgMTYwLCAKKyAgICAzLCAyMDgsIDE4OCwgMjExLCAxNjAsIDMsIDIyMywgMTg0LCAyMTEsIDE2MCwgMywgMjUxLCAxNjcsIDIxMSwgMTYwLCAyMzksIAorICAgIDE3NSwgMjExLCAxNjAsIDI1MywgMjksIDUzLCAyMTEsIDE2MCwgMjIyLCAxNzMsIDIxMSwgMTYwLCAxOCwgMjA1LCA4NSwgCisgICAgMjExLCAxNjAsIDE4LCAxMDIsIDIxMSwgMTYwLCAxOCwgMTA1LCAyMTEsIDE2MCwgMTgsIDE0MiwgMjExLCAxNjAsIDE4LCAKKyAgICAxMzksIDIxMSwgMTYwLCAxOCwgMTY4LCAyMTEsIDE2MCwgMTgsIDE4NCwgMjExLCAxNjAsIDE4LCAxOTUsIDIxMSwgMTYwLCAKKyAgICAxOCwgMTkzLCAyMTEsIDE2MCwgMTgsIDIwMCwgMjE1LCA3NSwgMSwgNjIsIDIxNSwgNzUsIDEsIDI1MywgMTY0LCAyMTUsIAorICAgIDc1LCAxLCA3NCwgMjE1LCA3NSwgMSwgMjMzLCAxMDIsIDIxNSwgNzUsIDEsIDcxLCAyMTUsIDc1LCAxLCAyMDksIDE2MiwgCisgICAgMjE1LCA3NSwgMSwgMTE1LCAxMzcsIDIxNSwgNzUsIDEsIDExNSwgMjE4LCA5MCwgMjE1LCA3NSwgMSwgMTE1LCAxNDksIAorICAgIDIxNSwgNzUsIDEsIDExNSwgMjI5LCAxNzMsIDIxNSwgNzUsIDEsIDc1LCAyMTUsIDc1LCAxLCAyNTIsIDIwNSwgMjE1LCA3NSwgCisgICAgMSwgNzYsIDIxNSwgNzUsIDEsIDI1MSwgMTg0LCAyMTUsIDc1LCAxLCAxNzIsIDIxNSwgNzUsIDEsIDIzMSwgMTY3LCAyMTUsIAorICAgIDc1LCAxLCAyNDAsIDI0NCwgMjE1LCA3NSwgMSwgMjQwLCA5OSwgMjE1LCA3NSwgMSwgMjI1LCA3NywgMjE1LCA3NSwgMSwgCisgICAgMjQ5LCAxLCAyMTUsIDc1LCAxLCAyNDgsIDExMCwgMjE1LCA3NSwgMSwgMjMyLCAyMDAsIDIxNSwgNzUsIDEsIDIzMiwgMTcwLCAKKyAgICAyMTUsIDc1LCAxLCAyMjMsIDE0NCwgMjE1LCA3NSwgMSwgMjEwLCAyMDgsIDIxNSwgNzUsIDEsIDIxMCwgMTk2LCAyMTUsIAorICAgIDc1LCAxLCAyNDYsIDU0LCAyMTUsIDc1LCAxLCAyNDYsIDM4LCAyMTUsIDc1LCAxLCAyMjQsIDEwMywgMjE1LCA3NSwgMSwgCisgICAgMjEyLCAyMTksIDIxNSwgNzUsIDEsIDIxMiwgNTYsIDIxNSwgNzUsIDEsIDI0NiwgMTQ1LCAyMTUsIDc1LCAxLCAyNDUsIAorICAgIDE5MiwgMjE1LCA3NSwgMSwgMTk5LCAyMTUsIDc1LCAxLCAxNzksIDIxNSwgNzUsIDEsIDIyMSwgOTMsIDIxNSwgNzUsIDEsIAorICAgIDI1MCwgMTgzLCAyMTUsIDc1LCAxLCAyNTAsIDAsIDIxNSwgNzUsIDEsIDE4NSwgMjE1LCA3NSwgMSwgMTkwLCAyMTUsIDc1LCAKKyAgICAxLCAyMTksIDExMywgMjE1LCA3NSwgMSwgMjMwLCAxNDEsIDIxNSwgNzUsIDEsIDIwOSwgNzAsIDIxNSwgNzUsIDEsIDIxNiwgCisgICAgMiwgMjE1LCA3NSwgMSwgMjE0LCA5NiwgMjE1LCA3NSwgMSwgMjE3LCAxOTksIDIxNSwgNzUsIDEsIDE1NSwgMjE1LCA3NSwgCisgICAgMjIsIDMsIDI1MywgMTY0LCAyMTUsIDc1LCAyMiwgMywgNzQsIDIxNSwgNzUsIDIyLCAzLCAyMzMsIDEwMiwgMjE1LCA3NSwgCisgICAgMjIsIDMsIDcxLCAyMTUsIDc1LCAyMiwgMywgMjA5LCAxNjIsIDIxNSwgNzUsIDIyLCAzLCAxMTUsIDEzNywgMjE1LCA3NSwgCisgICAgMjIsIDMsIDExNSwgMjE4LCA5MCwgMjE1LCA3NSwgMjIsIDMsIDc1LCAyMTUsIDc1LCAyMiwgMywgMjUyLCAyMDUsIDIxNSwgCisgICAgNzUsIDIyLCAzLCA3NiwgMjE1LCA3NSwgMjIsIDMsIDI1MSwgMTg0LCAyMTUsIDc1LCAzLCAyNDgsIDIxNywgMjE1LCA3NSwgCisgICAgMywgMjUyLCA3MywgMjE1LCA3NSwgMywgMjA4LCAxODMsIDIxNSwgNzUsIDMsIDIwOCwgMTg4LCAyMTUsIDc1LCAzLCAyMjMsIAorICAgIDE4NCwgMjE1LCA3NSwgMywgMjE1LCA3NCwgMjE1LCA3NSwgMjQ2LCAxMDAsIDIxNSwgNzUsIDUwLCAyNDYsIDEwMCwgMjE1LCAKKyAgICA3NSwgMjE2LCA0MCwgMjQ1LCAyMywgMjE1LCA3NSwgMjE2LCA0MCwgMTM0LCAyMTUsIDc1LCAyMTgsIDI0OSwgMjI3LCAxOTEsIAorICAgIDIxNSwgNzUsIDIxOCwgMjQ5LCAyMjcsIDE5MCwgMjE1LCA3NSwgMjE4LCAyNDksIDIyNywgMTg5LCAyMTUsIDc1LCAyNDMsIAorICAgIDM0LCA3MywgMjEyLCA2MSwgODMsIDIyNiwgMTczLCAxLCA2MiwgMjI2LCAxNzMsIDEsIDI1MywgMTY0LCAyMjYsIDE3MywgMSwgCisgICAgNzQsIDIyNiwgMTczLCAxLCAyMzMsIDEwMiwgMjI2LCAxNzMsIDEsIDcxLCAyMjYsIDE3MywgMSwgMjA5LCAxNjIsIDIyNiwgCisgICAgMTczLCAxLCAxMTUsIDEzNywgMjI2LCAxNzMsIDEsIDExNSwgMjE4LCA5MCwgMjI2LCAxNzMsIDEsIDExNSwgMTQ5LCAyMjYsIAorICAgIDE3MywgMSwgMTE1LCAyMjksIDE3MywgMjI2LCAxNzMsIDEsIDc1LCAyMjYsIDE3MywgMSwgMjUyLCAyMDUsIDIyNiwgMTczLCAKKyAgICAxLCA3NiwgMjI2LCAxNzMsIDEsIDI1MSwgMTg0LCAyMjYsIDE3MywgMSwgMTcyLCAyMjYsIDE3MywgMSwgMjMxLCAxNjcsIAorICAgIDIyNiwgMTczLCAxLCAyNDAsIDI0NCwgMjI2LCAxNzMsIDEsIDI0MCwgOTksIDIyNiwgMTczLCAxLCAyMjUsIDc3LCAyMjYsIAorICAgIDE3MywgMSwgMjQ5LCAxLCAyMjYsIDE3MywgMSwgMjQ4LCAxMTAsIDIyNiwgMTczLCAxLCAyMzIsIDIwMCwgMjI2LCAxNzMsIAorICAgIDEsIDIzMiwgMTcwLCAyMjYsIDE3MywgMSwgMjIzLCAxNDQsIDIyNiwgMTczLCAxLCAyMTAsIDIwOCwgMjI2LCAxNzMsIDEsIAorICAgIDIxMCwgMTk2LCAyMjYsIDE3MywgMSwgMjQ2LCA1NCwgMjI2LCAxNzMsIDEsIDI0NiwgMzgsIDIyNiwgMTczLCAxLCAyMjQsIAorICAgIDEwMywgMjI2LCAxNzMsIDEsIDIxMiwgMjE5LCAyMjYsIDE3MywgMSwgMjEyLCA1NiwgMjI2LCAxNzMsIDEsIDI0NiwgMTQ1LCAKKyAgICAyMjYsIDE3MywgMSwgMjQ1LCAxOTIsIDIyNiwgMTczLCAxLCAxOTksIDIyNiwgMTczLCAxLCAxNzksIDIyNiwgMTczLCAxLCAKKyAgICAyMjEsIDkzLCAyMjYsIDE3MywgMSwgMjUwLCAxODMsIDIyNiwgMTczLCAxLCAyNTAsIDAsIDIyNiwgMTczLCAxLCAxODUsIAorICAgIDIyNiwgMTczLCAxLCAxOTAsIDIyNiwgMTczLCAxLCAyMTksIDExMywgMjI2LCAxNzMsIDEsIDIzMCwgMTQxLCAyMjYsIDE3MywgCisgICAgMSwgMjA5LCA3MCwgMjI2LCAxNzMsIDEsIDIxNiwgMiwgMjI2LCAxNzMsIDEsIDIxNCwgOTYsIDIyNiwgMTczLCAxLCAyMTcsIAorICAgIDE5OSwgMjI2LCAxNzMsIDEsIDE1NSwgMjI2LCAxNzMsIDEsIDIyOSwgMTcyLCAyMjYsIDE3MywgMjIsIDMsIDI1MywgMTY0LCAKKyAgICAyMjYsIDE3MywgMjIsIDMsIDc0LCAyMjYsIDE3MywgMjIsIDMsIDIzMywgMTAyLCAyMjYsIDE3MywgMjIsIDMsIDcxLCAyMjYsIAorICAgIDE3MywgMjIsIDMsIDIwOSwgMTYyLCAyMjYsIDE3MywgMjIsIDMsIDExNSwgMTM3LCAyMjYsIDE3MywgMjIsIDMsIDExNSwgCisgICAgMjE4LCA5MCwgMjI2LCAxNzMsIDIyLCAzLCAxMTUsIDE0OSwgMjI2LCAxNzMsIDIyLCAzLCAxMTUsIDIyOSwgMTczLCAyMjYsIAorICAgIDE3MywgMjIsIDMsIDc1LCAyMjYsIDE3MywgMjIsIDMsIDI1MiwgMjA1LCAyMjYsIDE3MywgMjIsIDMsIDc2LCAyMjYsIDE3MywgCisgICAgMjIsIDMsIDI1MSwgMTg0LCAyMjYsIDE3MywgMywgMjUyLCA3MywgMjI2LCAxNzMsIDMsIDIwOCwgMTgzLCAyMjYsIDE3MywgCisgICAgMywgMjA4LCAxODgsIDIyNiwgMTczLCAzLCAyNTIsIDE2LCAyMjYsIDE3MywgMjQ2LCAxMDAsIDIyNiwgMTczLCA1MCwgMjQ2LCAKKyAgICAxMDAsIDIyNiwgMTczLCAyNTMsIDI5LCA1MywgMjI2LCAxNzMsIDMsIDIzOCwgMTgsIDIyNiwgMTczLCAxOCwgMjA1LCA4NSwgCisgICAgMjI2LCAxNzMsIDE4LCAxMDIsIDIyNiwgMTczLCAxOCwgMTA1LCAyMjYsIDE3MywgMTgsIDE0MiwgMjI2LCAxNzMsIDE4LCAKKyAgICAxMzksIDIyNiwgMTczLCAxOCwgMTY4LCAyMjYsIDE3MywgMTgsIDE4NCwgMjI2LCAxNzMsIDE4LCAxOTUsIDIyNiwgMTczLCAKKyAgICAxOCwgMTkzLCAyMjYsIDE3MywgMTgsIDIwMCwgMjEyLCAxODMsIDEsIDYyLCAyMTIsIDE4MywgMSwgMjUzLCAxNjQsIDIxMiwgCisgICAgMTgzLCAxLCA3NCwgMjEyLCAxODMsIDEsIDIzMywgMTAyLCAyMTIsIDE4MywgMSwgNzEsIDIxMiwgMTgzLCAxLCAyMDksIAorICAgIDE2MiwgMjEyLCAxODMsIDEsIDc1LCAyMTIsIDE4MywgMSwgMjUyLCAyMDUsIDIxMiwgMTgzLCAxLCA3NiwgMjEyLCAxODMsIAorICAgIDEsIDI1MSwgMTg0LCAyMTIsIDE4MywgMSwgMTcyLCAyMTIsIDE4MywgMSwgMjMxLCAxNjcsIDIxMiwgMTgzLCAxLCAyNDAsIAorICAgIDI0NCwgMjEyLCAxODMsIDEsIDI0MCwgOTksIDIxMiwgMTgzLCAxLCAyMjUsIDc3LCAyMTIsIDE4MywgMSwgMjQ5LCAxLCAKKyAgICAyMTIsIDE4MywgMSwgMjQ4LCAxMTAsIDIxMiwgMTgzLCAxLCAyMzIsIDIwMCwgMjEyLCAxODMsIDEsIDIzMiwgMTcwLCAyMTIsIAorICAgIDE4MywgMSwgMjIzLCAxNDQsIDIxMiwgMTgzLCAxLCAyMTAsIDIwOCwgMjEyLCAxODMsIDEsIDIxMCwgMTk2LCAyMTIsIDE4MywgCisgICAgMSwgMjQ2LCA1NCwgMjEyLCAxODMsIDEsIDI0NiwgMzgsIDIxMiwgMTgzLCAxLCAyMjQsIDEwMywgMjEyLCAxODMsIDEsIAorICAgIDIxMiwgMjE5LCAyMTIsIDE4MywgMSwgMjEyLCA1NiwgMjEyLCAxODMsIDEsIDI0NiwgMTQ1LCAyMTIsIDE4MywgMSwgMjQ1LCAKKyAgICAxOTIsIDIxMiwgMTgzLCAxLCAxOTksIDIxMiwgMTgzLCAxLCAxNzksIDIxMiwgMTgzLCAxLCAyMjEsIDkzLCAyMTIsIDE4MywgCisgICAgMSwgMjUwLCAxODMsIDIxMiwgMTgzLCAxLCAyNTAsIDAsIDIxMiwgMTgzLCAxLCAxODUsIDIxMiwgMTgzLCAxLCAxOTAsIAorICAgIDIxMiwgMTgzLCAxLCAyMTksIDExMywgMjEyLCAxODMsIDEsIDIzMCwgMTQxLCAyMTIsIDE4MywgMSwgMjA5LCA3MCwgMjEyLCAKKyAgICAxODMsIDEsIDIxNiwgMiwgMjEyLCAxODMsIDEsIDIxNywgMTk5LCAyMTIsIDE4MywgMSwgMTU1LCAyMTIsIDE4MywgMSwgCisgICAgMjE4LCA4OSwgMjEyLCAxODMsIDMsIDI1MiwgNzMsIDIxMiwgMTgzLCAzLCAyMDgsIDE4MywgMjEyLCAxODMsIDIyLCAzLCAKKyAgICAyNTMsIDE2NCwgMjEyLCAxODMsIDIyLCAzLCA3NCwgMjEyLCAxODMsIDIyLCAzLCAyMzMsIDEwMiwgMjEyLCAxODMsIDIyLCAKKyAgICAzLCA3MSwgMjEyLCAxODMsIDIyLCAzLCAyMDksIDE2MiwgMjEyLCAxODMsIDIyLCAzLCA3NSwgMjEyLCAxODMsIDIyLCAzLCAKKyAgICAyNTIsIDIwNSwgMjEyLCAxODMsIDIyLCAzLCA3NiwgMjEyLCAxODMsIDIyLCAzLCAyNTEsIDE4NCwgMjEyLCAxODMsIDMsIAorICAgIDIwOCwgMTg4LCAyMTIsIDE4MywgMywgMjIzLCAxODQsIDIxMiwgMTgzLCAxOCwgMjA1LCA4NSwgMjEyLCAxODMsIDE4LCAKKyAgICAxMDIsIDIxMiwgMTgzLCAxOCwgMTA1LCAyMTIsIDE4MywgMTgsIDE0MiwgMjEyLCAxODMsIDE4LCAxMzksIDIxMiwgMTgzLCAKKyAgICAxOCwgMTY4LCAyMTIsIDE4MywgMTgsIDE4NCwgMjEyLCAxODMsIDE4LCAxOTUsIDIxMiwgMTgzLCAxOCwgMTkzLCAyMTIsIAorICAgIDE4MywgMTgsIDIwMCwgMjAyLCAxOTcsIDYsIDEsIDIyNSwgNzYsIDIwMiwgMTk3LCA2LCAxLCA2MiwgMjAyLCAxOTcsIDYsIAorICAgIDEsIDIwNywgMjAsIDIwMiwgMTk3LCA2LCAxLCAyMDUsIDIxMywgMjAyLCAxOTcsIDYsIDEsIDE5MCwgMjAyLCAxOTcsIDYsIAorICAgIDEsIDIwNSwgMjQ3LCAyMDIsIDE5NywgNiwgMSwgMjMzLCAxMDIsIDIwMiwgMTk3LCA2LCAxLCAyMDksIDE2MiwgMjAyLCAKKyAgICAxOTcsIDYsIDEsIDc1LCAyMDIsIDE5NywgNiwgMSwgNzYsIDIwMiwgMTk3LCA2LCAxLCAyNTIsIDExNCwgMjAyLCAxOTcsIDYsIAorICAgIDEsIDI0MCwgMjQ0LCAyMDIsIDE5NywgNiwgMSwgMjMxLCA1MywgMjAyLCAxOTcsIDYsIDEsIDI0MywgNywgMjAyLCAxOTcsIAorICAgIDYsIDEsIDIwNSwgMTk3LCAyMDIsIDE5NywgNiwgMSwgMjEwLCAxMCwgMjAyLCAxOTcsIDYsIDEsIDI0MywgMjUsIDIwMiwgCisgICAgMTk3LCA2LCAxLCAyMjIsIDIwOSwgMjAyLCAxOTcsIDYsIDEsIDIxMCwgMjAzLCAyMDIsIDE5NywgNiwgMSwgMjIzLCAxNzAsIAorICAgIDIwMiwgMTk3LCA2LCAxLCAyNDYsIDE0NSwgMjAyLCAxOTcsIDYsIDEsIDI1MSwgMTk5LCAyMDIsIDE5NywgNiwgMSwgMjUyLCAKKyAgICAxMzYsIDIwMiwgMTk3LCA2LCAxLCAyNDksIDEwMSwgMjAyLCAxOTcsIDYsIDEsIDIyMCwgODIsIDIwMiwgMTk3LCA2LCAxLCAKKyAgICAyMzgsIDI0MSwgMjAyLCAxOTcsIDYsIDEsIDIzOCwgMTM4LCAyMDIsIDE5NywgNiwgMSwgMjM4LCA2NywgMjAyLCAxOTcsIDYsIAorICAgIDEsIDIzOSwgOTUsIDIwMiwgMTk3LCA2LCAxLCAyMTQsIDQ4LCAyMDIsIDE5NywgNiwgMSwgMjE1LCA2MSwgMjAyLCAxOTcsIAorICAgIDYsIDEsIDIwOCwgMTc0LCAyMDIsIDE5NywgNSwgMSwgMjI1LCA3NiwgMjAyLCAxOTcsIDUsIDEsIDYyLCAyMDIsIDE5NywgNSwgCisgICAgMSwgMjA3LCAyMCwgMjAyLCAxOTcsIDUsIDEsIDIwNSwgMjEzLCAyMDIsIDE5NywgNSwgMSwgMTkwLCAyMDIsIDE5NywgNSwgCisgICAgMSwgMjA1LCAyNDcsIDIwMiwgMTk3LCA1LCAxLCAyMzMsIDEwMiwgMjAyLCAxOTcsIDUsIDEsIDIwOSwgMTYyLCAyMDIsIAorICAgIDE5NywgNSwgMSwgNzUsIDIwMiwgMTk3LCA1LCAxLCA3NiwgMjAyLCAxOTcsIDUsIDEsIDI1MiwgMTE0LCAyMDIsIDE5NywgNSwgCisgICAgMSwgMjQwLCAyNDQsIDIwMiwgMTk3LCA1LCAxLCAyMzEsIDUzLCAyMDIsIDE5NywgNSwgMSwgMjQzLCA3LCAyMDIsIDE5NywgCisgICAgNSwgMSwgMjA1LCAxOTcsIDIwMiwgMTk3LCA1LCAxLCAyMTAsIDEwLCAyMDIsIDE5NywgNSwgMSwgMjQzLCAyNSwgMjAyLCAKKyAgICAxOTcsIDUsIDEsIDIyMiwgMjA5LCAyMDIsIDE5NywgNSwgMSwgMjEwLCAyMDMsIDIwMiwgMTk3LCA1LCAxLCAyMjMsIDE3MCwgCisgICAgMjAyLCAxOTcsIDUsIDEsIDI0NiwgMTQ1LCAyMDIsIDE5NywgNSwgMSwgMjUxLCAxOTksIDIwMiwgMTk3LCA1LCAxLCAyNTIsIAorICAgIDEzNiwgMjAyLCAxOTcsIDUsIDEsIDI0OSwgMTAxLCAyMDIsIDE5NywgNSwgMSwgMjIwLCA4MiwgMjAyLCAxOTcsIDUsIDEsIAorICAgIDIzOCwgMjQxLCAyMDIsIDE5NywgNSwgMSwgMjM4LCAxMzgsIDIwMiwgMTk3LCA1LCAxLCAyMzgsIDY3LCAyMDIsIDE5NywgNSwgCisgICAgMSwgMjM5LCA5NSwgMjAyLCAxOTcsIDUsIDEsIDIxNCwgNDgsIDIwMiwgMTk3LCA1LCAxLCAyMTUsIDYxLCAyMDIsIDE5NywgCisgICAgNSwgMSwgMjA4LCAxNzQsIDIwMiwgMTk3LCAxOCwgMjA1LCA4NSwgMjAyLCAxOTcsIDE4LCAxMDIsIDIwMiwgMTk3LCAxOCwgCisgICAgMTA1LCAyMDIsIDE5NywgMTgsIDE0MiwgMjAyLCAxOTcsIDE4LCAxMzksIDIwMiwgMTk3LCAxOCwgMTY4LCAyMDIsIDE5NywgCisgICAgMTgsIDE4NCwgMjAyLCAxOTcsIDE4LCAxOTUsIDIwMiwgMTk3LCAxOCwgMTkzLCAyMDIsIDE5NywgMTgsIDIwMCwgMjAyLCAKKyAgICAxOTcsIDQzLCAyMTIsIDk4LCAyMDIsIDE5NywgNDMsIDIxMCwgMTIzLCAyMDIsIDE5NywgNDMsIDIxMiwgMywgMjAyLCAxOTcsIAorICAgIDQzLCAyNDEsIDEzMCwgMjAyLCAxOTcsIDQzLCAyNDEsIDI0MywgMjAyLCAxOTcsIDQzLCAyMTQsIDI1MiwgMjAyLCAxOTcsIAorICAgIDQzLCAyMTYsIDE3LCAyMDIsIDE5NywgNDMsIDI0MywgNzksIDIwMiwgMTk3LCA0MywgMjI0LCAxOTAsIDIwMiwgMTk3LCAKKyAgICAyMjIsIDE3MywgMjIxLCAxODksIDI0NywgMjM4LCAyMzksIDgxLCAxLCAxNzksIDIyMSwgMTg5LCAyNDcsIDIzOCwgMjM5LCAKKyAgICA4MSwgMSwgMTcyLCAyMjEsIDE4OSwgMjQ3LCAyMzgsIDIzOSwgODEsIDEsIDIzMCwgMTQxLCAyMjEsIDE4OSwgMjQ3LCAyMzgsIAorICAgIDIzOSwgODEsIDEsIDE4NSwgMjIxLCAxODksIDI0NywgMjM4LCAyMzksIDgxLCAxLCAyNDYsIDE0NSwgMjIxLCAxODksIDI0NywgCisgICAgMjM4LCAyMzksIDgxLCAxLCAyMDUsIDExNiwgMjIxLCAxODksIDI0NywgMjM4LCAyMzksIDgxLCAxLCAyMDksIDcwLCAyMjEsIAorICAgIDE4OSwgMjQ3LCAyMzgsIDIzOSwgODEsIDEsIDIyNSwgNzcsIDIyMSwgMTg5LCAyNDcsIDIzOCwgMjM5LCA4MSwgMSwgMTU1LCAKKyAgICAyMjEsIDE4OSwgMjQ3LCAyMzgsIDIzOSwgODEsIDEsIDI0MCwgMjQ0LCAyMjEsIDE4OSwgMjQ3LCAyMzgsIDIzOSwgODEsIDEsIAorICAgIDIzMSwgMTY3LCAyMjEsIDE4OSwgMjQ3LCAyMzgsIDIzOSwgODEsIDEsIDIxNywgMTk5LCAyMjEsIDE4OSwgMjQ3LCAyMzgsIAorICAgIDIzOSwgODEsIDEsIDI1MCwgMTgzLCAyMjEsIDE4OSwgMjQ3LCAyMzgsIDIzOSwgODEsIDEsIDI0OSwgMSwgMjIxLCAxODksIAorICAgIDI0NywgMjM4LCAyMzksIDgxLCAxLCAyMTIsIDIxOSwgMjIxLCAxODksIDI0NywgMjM4LCAyMzksIDgxLCAxLCAyMTIsIDU2LCAKKyAgICAyMjEsIDE4OSwgMjQ3LCAyMzgsIDIzOSwgODEsIDEsIDE5OSwgMjIxLCAxODksIDI0NywgMjM4LCAyMzksIDgxLCAxLCAyMjEsIAorICAgIDkzLCAyMjEsIDE4OSwgMjQ3LCAyMzgsIDIzOSwgODEsIDEsIDIxOSwgMTEzLCAyMjEsIDE4OSwgMjQ3LCAyMzgsIDIzOSwgCisgICAgODEsIDEsIDI0MiwgNzMsIDIyMSwgMTg5LCAyNDcsIDIzOCwgMjM5LCA4MSwgMSwgMjQ4LCAxMTAsIDIyMSwgMTg5LCAyNDcsIAorICAgIDIzOCwgMjM5LCA4MSwgMSwgNjIsIDIyMSwgMTg5LCAyNDcsIDIzOCwgMjM5LCA4MSwgMSwgNzUsIDIyMSwgMTg5LCAyNDcsIAorICAgIDIzOCwgMjM5LCA4MSwgMSwgNzQsIDIyMSwgMTg5LCAyNDcsIDIzOCwgMjM5LCA4MSwgMSwgNzYsIDIyMSwgMTg5LCAyNDcsIAorICAgIDIzOCwgMjM5LCA4MSwgMSwgNzEsIDIyMSwgMTg5LCAyNDcsIDIzOCwgMjM5LCA4MSwgMSwgMjEwLCAxOCwgMjIxLCAxODksIAorICAgIDI0NywgMjM4LCAyMzksIDgxLCAxLCAyMzcsIDE5MCwgMjIxLCAxODksIDI0NywgMjM4LCAyMzksIDgxLCAxLCA0MiwgMjIyLCAKKyAgICA2NywgMjIxLCAxODksIDI0NywgMjM4LCAyMzksIDgxLCAxLCA0MiwgMjMyLCA3NiwgMjIxLCAxODksIDI0NywgMjM4LCAyMzksIAorICAgIDgxLCAxLCA0MiwgMjEzLCAxMCwgMjIxLCAxODksIDI0NywgMjM4LCAyMzksIDgxLCAxLCA0MiwgMjI5LCAyOCwgMjIxLCAKKyAgICAxODksIDI0NywgMjM4LCAyMzksIDgxLCAxLCA0MiwgMjI2LCAzMywgMjIxLCAxODksIDI0NywgMjM4LCAyMzksIDgxLCAxLCAKKyAgICA0MiwgMTQ5LCAyMjEsIDE4OSwgMjQ3LCAyMzgsIDIzOSwgODEsIDEsIDQyLCAyMDcsIDEyOSwgMjIxLCAxODksIDI0NywgCisgICAgMjM4LCAyMzksIDgxLCAxLCA0MiwgMjI1LCA3OSwgMjIxLCAxODksIDI0NywgMjM4LCAyMzksIDgxLCAxLCA0MiwgMjA2LCAKKyAgICAxMjMsIDIyMSwgMTg5LCAyNDcsIDIzOCwgMjM5LCA4MSwgMjE4LCAxNDIsIDEzNSwgMjI5LCAxMjUsIDIyMSwgMTg5LCAyNDcsIAorICAgIDIzOCwgMjM5LCA4MSwgMjE4LCAxNDIsIDIxMSwgMTE4LCAyMjEsIDE4OSwgMjQ3LCAyMzgsIDIzOSwgODEsIDIxNywgMTQ3LCAKKyAgICAyNDAsIDI1LCAyMTMsIDI1MSwgMjIxLCAxODksIDI0NywgMjM4LCAyMzksIDgxLCAyMTgsIDE0MiwgMTM1LCAxNTIsIDI0MSwgCisgICAgMjMwLCAyMjEsIDE4OSwgMjQ3LCAyMzgsIDIzOSwgODEsIDIxOCwgMTQyLCAxMzUsIDI0MSwgMjMwLCAyMjEsIDE4OSwgMjQ3LCAKKyAgICAyMzgsIDIzOSwgODEsIDIxNywgMTQ3LCAyNDAsIDI1LCAyMTMsIDI1MiwgMjQxLCAyMzAsIDIyMSwgMTg5LCAyNDcsIDIzOCwgCisgICAgMjM5LCA4MSwgMjE3LCAxNDcsIDEzNSwgMjI5LCAxMjUsIDIyMSwgMTg5LCAyNDcsIDIzOCwgMjM5LCA4MSwgMjE3LCAxNDcsIAorICAgIDIxMSwgMTE4LCAyMjEsIDE4OSwgMjQ3LCAyMzgsIDIzOSwgODEsIDIxNywgMTQ3LCAxMzUsIDE1MiwgMjQxLCAyMzAsIDIyMSwgCisgICAgMTg5LCAyNDcsIDIzOCwgMjM5LCA4MSwgMjE3LCAxNDcsIDEzNSwgMjQxLCAyMzAsIDIyMSwgMTg5LCAyNDcsIDIzOCwgMjM5LCAKKyAgICA4MSwgMjI2LCAyNDgsIDIxMSwgMTE4LCAyMjEsIDE4OSwgMjQ3LCAyMzgsIDIzOSwgODEsIDI0MCwgMjUsIDIxMywgMjUyLCAKKyAgICAyMDksIDUyLCAyMjEsIDE4OSwgMjQ3LCAyMzgsIDIzOSwgODEsIDIyNiwgMjQ4LCAxMzUsIDE1MiwgMjQxLCAyMzAsIDIyMSwgCisgICAgMTg5LCAyNDcsIDIzOCwgMjM5LCA4MSwgMjI2LCAyNDgsIDEzNSwgMjQxLCAyMzAsIDIyMSwgMTg5LCAyNDcsIDIzOCwgMjM5LCAKKyAgICA4MSwgMjI5LCA5NSwgMTM1LCAyMjksIDEyNSwgMjIxLCAxODksIDI0NywgMjM4LCAyMzksIDgxLCAyMjksIDk1LCAyMTEsIAorICAgIDExOCwgMjIxLCAxODksIDI0NywgMjM4LCAyMzksIDgxLCAyNDAsIDI1LCAyMTMsIDI1MSwgMjIxLCAxODksIDI0NywgMjM4LCAKKyAgICAyMzksIDgxLCAyMjksIDk1LCAxMzUsIDE1MiwgMjQxLCAyMzAsIDIyMSwgMTg5LCAyNDcsIDIzOCwgMjM5LCA4MSwgMjI5LCAKKyAgICA5NSwgMTM1LCAyNDEsIDIzMCwgMjIxLCAxODksIDI0NywgMjM4LCAyMzksIDgxLCAyNDAsIDI1LCAyMTMsIDI1MiwgMjQxLCAKKyAgICAyMzAsIDE0LCAzLCA2MiwgMTQsIDMsIDMyLCAyOSwgNjIsIDE0LCAzLCAzMiwgMjksIDI1MCwgMTY3LCAxNCwgMywgMzIsIAorICAgIDI5LCAyNDAsIDIxMywgMjEyLCA4OSwgMTQsIDMsIDMyLCAyOSwgMTU1LCAxNCwgMywgMzIsIDI5LCAyMzMsIDEwNCwgMTQsIAorICAgIDMsIDMyLCAyOSwgMjMwLCAxMjEsIDIzOSwgMTkyLCAxNCwgMywgMzIsIDI5LCAyMjYsIDY5LCAxNCwgMywgMzIsIDI5LCAKKyAgICAyMTcsIDE4NSwgMTQsIDMsIDI1NCwgMTY2LCAxNCwgMywgMjUzLCAxMTUsIDE0LCAzLCAyNTMsIDExNiwgMjksIDI1MSwgCisgICAgMjIzLCAxNCwgMywgMjUzLCAxMTYsIDI5LCAyNDMsIDIyNiwgMjM5LCAxOTIsIDE0LCAzLCAyNTMsIDExNiwgMjksIDI0MCwgCisgICAgMjI2LCAxNCwgMywgMjUzLCAxMTYsIDI5LCAyNDAsIDIxMywgMjEyLCA4OSwgMTQsIDMsIDI1MywgMTE2LCAyOSwgMTU1LCAKKyAgICAxNCwgMywgMjUzLCAxMTYsIDI5LCAyMzMsIDEwNSwgMjM5LCAxOTIsIDE0LCAzLCAyNTMsIDExNiwgMjksIDIzMywgNzgsIAorICAgIDE0LCAzLCAyNTMsIDExNiwgMjksIDIzMCwgMTIyLCAxNCwgMywgMjUzLCAxMTYsIDI5LCAyMTUsIDE5OSwgMTQsIDMsIDI1MywgCisgICAgMTE2LCAyOSwgMTA2LCAxMDEsIDEwNiwgMTAxLCA3MSwgMTQsIDMsIDI1MywgMTE2LCAyMzksIDE5MiwgMTQsIDMsIDI1MywgCisgICAgMzIsIDE0LCAzLCAyNTMsIDMzLCAyOSwgMjUwLCAxNTAsIDE0LCAzLCAyNTMsIDMzLCAyOSwgMjQwLCAyMTMsIDIxMiwgODksIAorICAgIDE0LCAzLCAyNTMsIDMzLCAyOSwgMjI3LCAxMjAsIDEwMSwgMjQzLCA0MSwgMTQsIDMsIDI1MywgMzMsIDI5LCAyMTYsIDAsIAorICAgIDE0LCAzLCAyNTMsIDMzLCAyOSwgMjEyLCAxODYsIDE0LCAzLCAyNTMsIDUsIDE0LCAzLCAyNTIsIDE4OSwgMTQsIDMsIDI1MiwgCisgICAgMTkwLCAyOSwgMjQyLCAyMzAsIDE0LCAzLCAyNTIsIDE5MCwgMjksIDIxNSwgMTYxLCAxMDEsIDI0MCwgMzUsIDE0LCAzLCAKKyAgICAyNTIsIDE4MSwgMTQsIDMsIDI1MiwgMTgyLCAyOSwgMjUyLCAxODEsIDE0LCAzLCAyNTIsIDE4MiwgMjksIDI0NSwgMTIzLCAKKyAgICAxNCwgMywgMjUyLCAxODIsIDI5LCAyNDAsIDM1LCAxNCwgMywgMjUyLCAxODIsIDI5LCAxNTUsIDE0LCAzLCAyNTIsIDE4MiwgCisgICAgMjksIDIzMiwgNTAsIDE0LCAzLCAyNTIsIDE4MiwgMjksIDIzMSwgMTIzLCAxNCwgMywgMjUyLCAxODIsIDI5LCAyMTUsIAorICAgIDIxNCwgMTQsIDMsIDI1MiwgMTgyLCAyOSwgMjA5LCAxNzAsIDE0LCAzLCAyNTIsIDE3OCwgMTQsIDMsIDI1MiwgMTcwLCAxNCwgCisgICAgMywgMjUyLCAxMzIsIDE0LCAzLCAyNTIsIDEzMywgMjksIDIxNSwgMjE0LCAxNCwgMywgMjUyLCAxMjIsIDE0LCAzLCAyNTIsIAorICAgIDEyMywgMTMxLCAyNTIsIDEyMiwgMTQsIDMsIDI1MiwgMTIzLCAxMjksIDIxMSwgMTc1LCAxNCwgMywgMjUyLCAxMjMsIDEwMSwgCisgICAgMjI1LCAyMjMsIDIyMiwgMTI5LCAyNTIsIDEyMywgMTAxLCAyMjUsIDIyMiwgMTQsIDMsIDI1MiwgMTIzLCAxMDEsIDIyNSwgCisgICAgMjIzLCAyMTQsIDEwNiwgMTQsIDMsIDI1MiwgOTMsIDE0LCAzLCAyNTIsIDYzLCAxNCwgMywgMjUyLCAzMSwgMTQsIDMsIAorICAgIDI1MiwgMzIsIDI5LCAyMzAsIDIxMCwgMTQsIDMsIDI1MiwgMywgMTQsIDMsIDI1MSwgMjMwLCAxNCwgMywgMjUxLCAyMjUsIAorICAgIDE0LCAzLCAyNTEsIDIyNiwgMjA1LCAzNiwgMjEyLCA4OSwgMTQsIDMsIDI1MSwgMjI2LCAyMzIsIDU0LCAyMTIsIDg5LCAxNCwgCisgICAgMywgMjUxLCAyMjYsIDEzMSwgMjUxLCAyMjYsIDIxMCwgMTY1LCAxMzEsIDIxMCwgMTY1LCAyMTAsIDE2NSwgMTMxLCAyMTAsIAorICAgIDE2NSwgMjIxLCAyMzYsIDE0LCAzLCAyNTEsIDIyNiwgMTMxLCAyNTEsIDIyNiwgMTMxLCAyNTEsIDIyNSwgMTQsIDMsIDI1MSwgCisgICAgMjI2LCAxMzEsIDI1MSwgMjI2LCAxMzEsIDI1MSwgMjI2LCAyNDcsIDU0LCAyNTEsIDIyNiwgMTMxLCAyNTEsIDIyNiwgMTMxLCAKKyAgICAyNTEsIDIyNSwgMTQsIDMsIDI1MSwgMjIzLCAxNCwgMywgMjUxLCAyMTksIDE0LCAzLCAyNTAsIDE4MywgMTQsIDMsIDI1MCwgCisgICAgMTY3LCAxNCwgMywgMjUwLCAxNjIsIDE0LCAzLCAyNTAsIDE1NywgMTQsIDMsIDI1MCwgMTUxLCAxNCwgMywgMjUwLCAxNTIsIAorICAgIDEzMSwgMjUwLCAxNTEsIDE0LCAzLCAyNTAsIDE1MCwgMTQsIDMsIDEzNCwgMTQsIDMsIDI1MCwgMTI4LCAxNCwgMywgMjQ5LCAKKyAgICAyNDQsIDE0LCAzLCAyNDksIDI0NSwgMjksIDYyLCAxNCwgMywgMjQ5LCAyNDUsIDI5LCAyNDAsIDIwNCwgMTQsIDMsIDI0OSwgCisgICAgMjQ1LCAyOSwgMjMzLCAxMDUsIDIzOSwgMTkyLCAxNCwgMywgMjQ5LCAxMDEsIDE0LCAzLCAyNDksIDEwMiwgMTMxLCAyNDksIAorICAgIDEwMiwgMjUzLCAxMTUsIDE0LCAzLCAyNDksIDEwMiwgMTMxLCAyNDksIDEwMiwgMjA5LCAyMzQsIDE0LCAzLCAyNDksIDEwMiwgCisgICAgMjQ3LCA1NCwgMjQ5LCAxMDEsIDE0LCAzLCAyNDksIDc5LCAxNCwgMywgMjQ5LCA4MCwgMTMxLCAyNDksIDc5LCAxNCwgMywgCisgICAgMjQ5LCA2OCwgMTQsIDMsIDI0OSwgNjcsIDE0LCAzLCAyNDYsIDE0NSwgMTQsIDMsIDI0NiwgMTM2LCAxNCwgMywgMjQ2LCAKKyAgICAxMzcsIDIzMSwgOTQsIDI5LCAzMiwgMTAxLCAyMjcsIDE3OCwgMTQsIDMsIDI0NiwgMTM3LCAyMzEsIDk0LCAyOSwgMjUyLCAKKyAgICAxMzIsIDE0LCAzLCAyNDYsIDEzNywgMjMxLCA5NCwgMjksIDI1MCwgMTUwLCAxNCwgMywgMjQ2LCAxMzcsIDIzMSwgOTQsIAorICAgIDI5LCAyNDksIDI0NCwgMTQsIDMsIDI0NiwgMTM3LCAyMzEsIDk0LCAyOSwgMjQwLCAyNDQsIDE0LCAzLCAyNDYsIDEzNywgCisgICAgMjMxLCA5NCwgMjksIDI0MCwgMjQ1LCAxMDEsIDIyNywgMTc4LCAxNCwgMywgMjQ2LCAxMzcsIDIzMSwgOTQsIDI5LCAyNDAsIAorICAgIDYxLCAxNCwgMywgMjQ2LCAxMzcsIDIzMSwgOTQsIDI5LCAyNDAsIDQzLCAxNCwgMywgMjQ2LCAxMzcsIDIzMSwgOTQsIDI5LCAKKyAgICAyMzksIDIwMiwgMTQsIDMsIDI0NiwgMTM3LCAyMzEsIDk0LCAyOSwgMTU1LCAxNCwgMywgMjQ2LCAxMzcsIDIzMSwgOTQsIAorICAgIDI5LCAyMzIsIDI0MywgMTQsIDMsIDI0NiwgMTM3LCAyMzEsIDk0LCAyOSwgMjMyLCAyNDQsIDEwMSwgMjI5LCA4MSwgMTQsIAorICAgIDMsIDI0NiwgMTM3LCAyMzEsIDk0LCAyOSwgMjMyLCAzNSwgMTQsIDMsIDI0NiwgMTM3LCAyMzEsIDk0LCAyOSwgMjMwLCAKKyAgICAxNDEsIDE0LCAzLCAyNDYsIDEzNywgMjMxLCA5NCwgMjksIDIyOSwgODEsIDE0LCAzLCAyNDYsIDEzNywgMjMxLCA5NCwgMjksIAorICAgIDIyOSwgODIsIDEwMSwgMjI3LCAxNzcsIDE0LCAzLCAyNDYsIDEzNywgMjMxLCA5NCwgMjksIDIyOSwgNjUsIDE0LCAzLCAKKyAgICAyNDYsIDEzNywgMjMxLCA5NCwgMjksIDIyNSwgMTEwLCAxNCwgMywgMjQ2LCAxMzcsIDIzMSwgOTQsIDI5LCAyMjEsIDIzNywgCisgICAgMTAxLCAyMjEsIDIzNiwgMTQsIDMsIDI0NiwgMTM3LCAyMzEsIDk0LCAyOSwgMjE1LCA4MCwgMTQsIDMsIDI0NiwgMTM3LCAKKyAgICAyMzEsIDk0LCAyOSwgMjEyLCAxODYsIDE0LCAzLCAyNDYsIDEzNywgMjMxLCA5NCwgMjksIDIxMCwgMjAsIDEwMSwgMjQwLCAKKyAgICA0MywgMTQsIDMsIDI0NiwgMTM3LCAyMzEsIDk0LCAyOSwgMjA5LCAxNzAsIDE0LCAzLCAyNDYsIDEwOSwgMTQsIDMsIDI0NiwgCisgICAgODgsIDE0LCAzLCAyNDYsIDg3LCAxNCwgMywgMjQ2LCA4NiwgMTQsIDMsIDI0NSwgMTY4LCAxNCwgMywgMjQ1LCAxNTAsIDE0LCAKKyAgICAzLCAyNDUsIDEyNCwgMTQsIDMsIDI0NSwgMTI1LCAyOSwgMjE1LCAyMTQsIDE0LCAzLCAyNDUsIDEyMywgMTQsIDMsIDI0NSwgCisgICAgMTEzLCAxNCwgMywgMjQ1LCAxMTQsIDIzMSwgMjU1LCAxMDYsIDIzOSwgMTkzLCAyNDUsIDk0LCAxNCwgMywgMjQ1LCA5NCwgCisgICAgMTQsIDMsIDI0MywgMjM3LCAxNCwgMywgMjQzLCAyMzgsIDEzMSwgMjQzLCAyMzcsIDE0LCAzLCAyNDMsIDIzOCwgMjM5LCAKKyAgICAxOTIsIDE0LCAzLCAyNDMsIDIzOCwgMjE1LCAxOTYsIDE0LCAzLCAyNDMsIDIzNSwgMTQsIDMsIDI0MywgMjM2LCAyOSwgCisgICAgMjQyLCAyMTIsIDE0LCAzLCAyNDMsIDIzNCwgMTQsIDMsIDI0MywgMjMzLCAxNCwgMywgMjQzLCAyMzIsIDE0LCAzLCAyNDMsIAorICAgIDIzMSwgMTQsIDMsIDI0MywgMjI3LCAxNCwgMywgMjQzLCAyMjUsIDE0LCAzLCAyNDMsIDIyNiwgMjM5LCAxOTIsIDE0LCAzLCAKKyAgICAyNDMsIDIyNiwgMjM5LCAxOTMsIDIzOSwgMTkyLCAxNCwgMywgMjQzLCAyMjQsIDE0LCAzLCAyNDMsIDIxNywgMTQsIDMsIAorICAgIDc1LCAxNCwgMywgMTc0LCAyOSwgMjIxLCAyMzYsIDE0LCAzLCAxNzQsIDEzMSwgMTc0LCAyMjMsIDE3NCwgMTMxLCAyMjMsIAorICAgIDE3MywgMTQsIDMsIDI0MywgMTMxLCAxNCwgMywgMjQzLCAxMzIsIDI5LCAzMiwgMTAxLCAyMzksIDE0NCwgMTAxLCAyNDYsIAorICAgIDE0NSwgMTQsIDMsIDI0MywgMTMyLCAyOSwgMjQwLCAyMDQsIDE0LCAzLCAyNDMsIDEzMiwgMjksIDIyNiwgMjU0LCAxNCwgMywgCisgICAgMjQzLCAxMzIsIDI5LCAyMTcsIDE3MiwgMTQsIDMsIDI0MywgMTMyLCAyOSwgMjE1LCAyMTQsIDE0LCAzLCAyNDMsIDEzMiwgCisgICAgMjksIDcxLCAxNCwgMywgMjQzLCAxMDYsIDE0LCAzLCAyNDMsIDk1LCAxNCwgMywgMjQzLCA2OCwgMTQsIDMsIDI0MywgNDEsIAorICAgIDE0LCAzLCAyNDMsIDQyLCAyOSwgMjQwLCAyMTIsIDE0LCAzLCAyNDMsIDQyLCAyOSwgMjQwLCAyMTMsIDIxMiwgODksIDE0LCAKKyAgICAzLCAyNDMsIDQyLCAyOSwgMjI3LCAxMTksIDE0LCAzLCAyNDMsIDQyLCAyNDcsIDU0LCAyNDMsIDQxLCAxNCwgMywgMjQzLCAKKyAgICA0MiwgMjIyLCAxMjksIDI0MywgNDEsIDE0LCAzLCAyNDMsIDQyLCAyMTQsIDEwNiwgMTQsIDMsIDI0MiwgMjMyLCAxNCwgMywgCisgICAgMjQyLCAyMzAsIDE0LCAzLCAyNDIsIDIxMiwgMTQsIDMsIDI0MiwgMTQzLCAxNCwgMywgMjQyLCAxNDQsIDI5LCA2MiwgMTQsIAorICAgIDMsIDI0MiwgMTQ0LCAyOSwgMzIsIDEwMSwgMjMwLCAxMDgsIDE0LCAzLCAyNDIsIDE0NCwgMjksIDMyLCAxMDEsIDIzMCwgCisgICAgMTA5LCAyOSwgMjMwLCAxMDgsIDE0LCAzLCAyNDIsIDE0NCwgMjksIDI1MiwgMTIyLCAxNCwgMywgMjQyLCAxNDQsIDI5LCAKKyAgICAyNTAsIDE2NywgMTQsIDMsIDI0MiwgMTQ0LCAyOSwgMjQzLCAyMjYsIDIzOSwgMTkyLCAxNCwgMywgMjQyLCAxNDQsIDI5LCAKKyAgICAyNDMsIDIyNiwgMjM5LCAxOTMsIDIzOSwgMTkyLCAxNCwgMywgMjQyLCAxNDQsIDI5LCAxNTUsIDE0LCAzLCAyNDIsIDE0NCwgCisgICAgMjksIDIzOSwgMTQ0LCAyMzksIDE5MiwgMTQsIDMsIDI0MiwgMTQ0LCAyOSwgMjMzLCAxMDUsIDIzOSwgMTkyLCAxNCwgMywgCisgICAgMjQyLCAxNDQsIDI5LCAyMzEsIDI1NCwgMTQsIDMsIDI0MiwgMTQ0LCAyOSwgMjMxLCAyNTUsIDIxNCwgMTA2LCAxNCwgMywgCisgICAgMjQyLCAxNDQsIDI5LCAyMzAsIDIzNCwgMTQsIDMsIDI0MiwgMTQ0LCAyOSwgMjMwLCAxNDEsIDE0LCAzLCAyNDIsIDE0NCwgCisgICAgMjksIDIzMCwgMTA5LCAyOSwgMjMwLCAxMDgsIDE0LCAzLCAyNDIsIDE0NCwgMjksIDIyOSwgMjM1LCAxNCwgMywgMjQyLCAKKyAgICAxNDQsIDI5LCAyMjksIDgxLCAxNCwgMywgMjQyLCAxNDQsIDI5LCAyMTAsIDE5LCAxNCwgMywgMjQyLCAxNDQsIDI5LCAyMTAsIAorICAgIDgsIDE0LCAzLCAyNDAsIDI0NCwgMTQsIDMsIDI0MCwgMjQ1LCAyMzksIDE5MiwgMTQsIDMsIDI0MCwgMjQyLCAxNCwgMywgCisgICAgMjQwLCAyNDMsIDI5LCAzMiwgMTAxLCAyNDYsIDE0NiwgMTAxLCAxNTUsIDE0LCAzLCAyNDAsIDI0MywgMjksIDMyLCAxMDEsIAorICAgIDE1NSwgMTQsIDMsIDI0MCwgMjQzLCAyOSwgMzIsIDEwMSwgMjMzLCAxMDQsIDE0LCAzLCAyNDAsIDI0MywgMjksIDI1MywgCisgICAgMzMsIDIxMiwgOTAsIDEwMSwgMjEyLCAyMDcsIDE0LCAzLCAyNDAsIDI0MywgMjksIDI1MiwgMTIyLCAxNCwgMywgMjQwLCAKKyAgICAyNDMsIDI5LCAyNTEsIDIyNSwgMTQsIDMsIDI0MCwgMjQzLCAyOSwgMjUxLCAyMjQsIDEwMSwgMjQwLCAyMjYsIDE0LCAzLCAKKyAgICAyNDAsIDI0MywgMjksIDI1MCwgMTY3LCAxNCwgMywgMjQwLCAyNDMsIDI5LCAyNTAsIDEyOSwgMTAxLCAyMTksIDExMywgMTQsIAorICAgIDMsIDI0MCwgMjQzLCAyOSwgMjQ5LCA2OCwgMTQsIDMsIDI0MCwgMjQzLCAyOSwgMjQ5LCA2OSwgMTAxLCAyMTksIDExMywgCisgICAgMTQsIDMsIDI0MCwgMjQzLCAyOSwgMjQ2LCAxNDUsIDE0LCAzLCAyNDAsIDI0MywgMjksIDI0NSwgMTY4LCAxNCwgMywgMjQwLCAKKyAgICAyNDMsIDI5LCAyNDUsIDEyNSwgMjksIDIxNSwgMjE0LCAxNCwgMywgMjQwLCAyNDMsIDI5LCAyNDMsIDIzNSwgMTQsIDMsIAorICAgIDI0MCwgMjQzLCAyOSwgMjQzLCA2OCwgMTQsIDMsIDI0MCwgMjQzLCAyOSwgMjQzLCA2OSwgMTAxLCAyMzAsIDE0MSwgMTQsIAorICAgIDMsIDI0MCwgMjQzLCAyOSwgMjQzLCA0MSwgMTQsIDMsIDI0MCwgMjQzLCAyOSwgMjQzLCA0MiwgMjksIDI0MCwgMjEzLCAKKyAgICAyMTIsIDg5LCAxNCwgMywgMjQwLCAyNDMsIDI5LCAyNDAsIDIxMywgMjEyLCA4OSwgMTQsIDMsIDI0MCwgMjQzLCAyOSwgCisgICAgMjQwLCAyMDQsIDE0LCAzLCAyNDAsIDI0MywgMjksIDI0MCwgNjEsIDE0LCAzLCAyNDAsIDI0MywgMjksIDI0MCwgNTksIDE0LCAKKyAgICAzLCAyNDAsIDI0MywgMjksIDI0MCwgNjAsIDEwMSwgNjIsIDE0LCAzLCAyNDAsIDI0MywgMjksIDI0MCwgNDQsIDEwMSwgCisgICAgMjEzLCAyMDMsIDE0LCAzLCAyNDAsIDI0MywgMjksIDIzOSwgMTQ0LCAxMDEsIDIyOSwgODIsIDEwMSwgMjQyLCAyMTIsIDE0LCAKKyAgICAzLCAyNDAsIDI0MywgMjksIDIzOSwgMTI0LCAxNCwgMywgMjQwLCAyNDMsIDI5LCAyMzksIDEyNSwgMTAxLCAyMzAsIDE0MSwgCisgICAgMTQsIDMsIDI0MCwgMjQzLCAyOSwgMjM5LCAxMiwgMTAxLCAyMjksIDIzNSwgMTQsIDMsIDI0MCwgMjQzLCAyOSwgMjM4LCAKKyAgICAzNywgMTQsIDMsIDI0MCwgMjQzLCAyOSwgMjMzLCAxMDUsIDIzOSwgMTkyLCAxNCwgMywgMjQwLCAyNDMsIDI5LCAyMzIsIAorICAgIDIyOSwgMTAxLCAyMzgsIDQzLCAxMDEsIDI1MSwgMjI1LCAxNCwgMywgMjQwLCAyNDMsIDI5LCAyMzIsIDM1LCAxNCwgMywgCisgICAgMjQwLCAyNDMsIDI5LCAyMzEsIDI1NCwgMTQsIDMsIDI0MCwgMjQzLCAyOSwgMjMxLCAxMTcsIDE0LCAzLCAyNDAsIDI0MywgCisgICAgMjksIDIzMSwgMTE4LCAxMDEsIDIzMCwgMTA4LCAxNCwgMywgMjQwLCAyNDMsIDI5LCAyMzAsIDIzNSwgMTAxLCAyNTIsIAorICAgIDEyMiwgMTQsIDMsIDI0MCwgMjQzLCAyOSwgMjMwLCAxNDEsIDE0LCAzLCAyNDAsIDI0MywgMjksIDIyNywgMTIwLCAxMDEsIAorICAgIDI0MywgNDEsIDE0LCAzLCAyNDAsIDI0MywgMjksIDIyNiwgMjU0LCAxNCwgMywgMjQwLCAyNDMsIDI5LCAyMjMsIDE3MywgCisgICAgMTQsIDMsIDI0MCwgMjQzLCAyOSwgMjIzLCAxNzQsIDEzMSwgMjIzLCAxNzMsIDE0LCAzLCAyNDAsIDI0MywgMjksIDE3OSwgCisgICAgMTQsIDMsIDI0MCwgMjQzLCAyOSwgMjE3LCAxNzIsIDE0LCAzLCAyNDAsIDI0MywgMjksIDIxNywgMTM4LCAxNCwgMywgMjQwLCAKKyAgICAyNDMsIDI5LCAyMTUsIDIxNCwgMTQsIDMsIDI0MCwgMjQzLCAyOSwgMjE1LCAyMTUsIDEwMSwgMjEwLCAxNDksIDE0LCAzLCAKKyAgICAyNDAsIDI0MywgMjksIDIxNSwgMTgxLCAxNCwgMywgMjQwLCAyNDMsIDI5LCAyMTMsIDE2MCwgMTQsIDMsIDI0MCwgMjQzLCAKKyAgICAyOSwgMjEyLCAxODYsIDE0LCAzLCAyNDAsIDI0MywgMjksIDcxLCAxNCwgMywgMjQwLCAyNDMsIDI5LCAyMTAsIDgsIDE0LCAKKyAgICAzLCAyNDAsIDI0MywgMjksIDIxMCwgOSwgMTAxLCAyNDMsIDIzNywgMTQsIDMsIDI0MCwgMjQzLCAxMzEsIDI0MCwgMjQyLCAKKyAgICAxNCwgMywgMjQwLCAyMzcsIDE0LCAzLCAyNDAsIDIzOCwgMjQ3LCA1NCwgMjQwLCAyMzcsIDE0LCAzLCAyNDAsIDIzNSwgMTQsIAorICAgIDMsIDI0MCwgMjM2LCAxMzEsIDI0MCwgMjM2LCAyNDAsIDIwNSwgMTMxLCAyNDAsIDIwNCwgMTQsIDMsIDI0MCwgMjI2LCAxNCwgCisgICAgMywgMjQwLCAyMjcsIDI0MCwgMjM2LCAxMzEsIDI0MCwgMjM2LCAyNDAsIDIwNSwgMTMxLCAyNDAsIDIwNCwgMTQsIDMsIAorICAgIDI0MCwgMjI1LCAxNCwgMywgMjQwLCAyMjMsIDE0LCAzLCAyNDAsIDIxNCwgMTQsIDMsIDI0MCwgMjEyLCAxNCwgMywgMjQwLCAKKyAgICAyMTMsIDIxMiwgODksIDE0LCAzLCAyNDAsIDIxMywgMTMxLCAyNDAsIDIxMiwgMTQsIDMsIDI0MCwgMjEzLCAyNDcsIDU0LCAKKyAgICAyNDAsIDIxMiwgMTQsIDMsIDI0MCwgMjA0LCAxNCwgMywgMjQwLCAyMDMsIDE0LCAzLCAyNDAsIDE5OCwgMTQsIDMsIDI0MCwgCisgICAgMTQyLCAxNCwgMywgMjQwLCAxNDMsIDI5LCAyMzAsIDIxMCwgMTQsIDMsIDI0MCwgNjEsIDE0LCAzLCAyNDAsIDYyLCAyOSwgCisgICAgNzUsIDE0LCAzLCAyNDAsIDYyLCAyOSwgNzEsIDE0LCAzLCAyNDAsIDYyLCAyNDcsIDU0LCAyNDAsIDYxLCAxNCwgMywgMjQwLCAKKyAgICA1OSwgMTQsIDMsIDI0MCwgNjAsIDEzMSwgMjQwLCA1OSwgMTQsIDMsIDI0MCwgNjAsIDI0NywgNTQsIDI0MCwgNTksIDE0LCAKKyAgICAzLCAyNDAsIDU2LCAxNCwgMywgMjQwLCA0MywgMTQsIDMsIDI0MCwgNDQsIDIzOSwgMTkyLCAxNCwgMywgMjQwLCA0MSwgMTQsIAorICAgIDMsIDI0MCwgNDIsIDI5LCAzMiwgMTAxLCAyMzMsIDEwNCwgMTQsIDMsIDI0MCwgNDIsIDI5LCAyNDAsIDIxMywgMjEyLCA4OSwgCisgICAgMTQsIDMsIDI0MCwgNDIsIDI5LCAyMzMsIDEwNCwgMTQsIDMsIDI0MCwgNDIsIDI5LCAyMjksIDgyLCAxMDEsIDIzMywgMTA0LCAKKyAgICAxNCwgMywgMjQwLCA0MiwgMjksIDE3OSwgMTQsIDMsIDI0MCwgMzcsIDE0LCAzLCAyNDAsIDM1LCAxNCwgMywgMjQwLCAzNiwgCisgICAgMjQ3LCA1NCwgMjQwLCAzNSwgMTQsIDMsIDI0MCwgMzYsIDI5LCAyNTAsIDE2NywgMTQsIDMsIDI0MCwgMzYsIDI5LCAyMTIsIAorICAgIDE4NiwgMTQsIDMsIDI0MCwgMzYsIDIxMiwgODksIDE0LCAzLCAyMzksIDIxMywgMTQsIDMsIDIzOSwgMjE0LCAyNDcsIDU0LCAKKyAgICAyMzksIDIxMywgMTQsIDMsIDIzOSwgMjExLCAxNCwgMywgMjM5LCAyMTIsIDI5LCAyMzIsIDM1LCAxNCwgMywgMjM5LCAyMTIsIAorICAgIDI5LCAyMzIsIDM2LCAyOSwgMjMzLCAxMDUsIDIzOSwgMTkyLCAxNCwgMywgMjM5LCAyMTIsIDI5LCAyMjMsIDE3MywgMTQsIAorICAgIDMsIDIzOSwgMjEyLCAyOSwgMjE3LCAxNzMsIDEwMSwgMjEwLCAxNjQsIDE0LCAzLCAyMzksIDIxMiwgMjM5LCAxOTIsIDE0LCAKKyAgICAzLCAyMzksIDIwMiwgMTQsIDMsIDIzOSwgMjAzLCAyOSwgMzIsIDEwMSwgMjMwLCAyMTAsIDE0LCAzLCAyMzksIDIwMywgMjksIAorICAgIDIzMCwgMjEwLCAxNCwgMywgMjM5LCAyMDMsIDEzMSwgMjM5LCAyMDMsIDIyOSwgNzIsIDE0LCAzLCAyMzksIDE5NiwgMTQsIAorICAgIDMsIDIzOSwgMTk0LCAxNCwgMywgMjM5LCAxOTUsIDI5LCAyMTUsIDIxNCwgMTQsIDMsIDIzOSwgMTg2LCAxNCwgMywgMjM5LCAKKyAgICAxODUsIDE0LCAzLCAyMzksIDE4MSwgMTQsIDMsIDIzOSwgMTgwLCAxNCwgMywgMTU1LCAxNCwgMywgMjM5LCAxNDQsIDIxMiwgCisgICAgODksIDE0LCAzLCAyMzksIDE0NCwgMjM5LCAxOTIsIDE0LCAzLCAyMzksIDEyNCwgMTQsIDMsIDIzOSwgMTEsIDE0LCAzLCAKKyAgICAyMzksIDEyLCAyOSwgMjUxLCAyMjUsIDE0LCAzLCAyMzksIDEyLCAyOSwgMjUxLCAyMjMsIDE0LCAzLCAyMzksIDEyLCAyOSwgCisgICAgMjUwLCAxNjcsIDE0LCAzLCAyMzksIDEyLCAyOSwgMjQ1LCA5NCwgMTQsIDMsIDIzOSwgMTIsIDI5LCAyNDAsIDIzNSwgMTQsIAorICAgIDMsIDIzOSwgMTIsIDI5LCAyMzEsIDEwOSwgMTQsIDMsIDIzOSwgMTIsIDI5LCAyMjMsIDE3MywgMTQsIDMsIDIzOSwgMTIsIAorICAgIDI5LCAyMTUsIDIxNCwgMTQsIDMsIDIzOSwgMTIsIDI5LCA3MSwgMTQsIDMsIDIzOCwgNDIsIDE0LCAzLCAyMzgsIDM3LCAxNCwgCisgICAgMywgMjM4LCAzOCwgMjksIDI1MiwgMTIyLCAxNCwgMywgMjM4LCAzOCwgMjksIDIzOSwgMTI0LCAxNCwgMywgMjM4LCAzOCwgCisgICAgMjksIDIzMSwgMjU0LCAxNCwgMywgMjM4LCAzOCwgMjksIDIyOSwgMTg2LCAxNCwgMywgMjM4LCAzOCwgMjksIDIxMCwgOCwgCisgICAgMTQsIDMsIDIzOCwgMzQsIDE0LCAzLCA3NCwgMTQsIDMsIDIzNywgMjI1LCA2MiwgMTQsIDMsIDIzNywgMTg1LCAxNCwgMywgCisgICAgMjMzLCAxMzIsIDE0LCAzLCAyMzMsIDEzMywgMTMxLCAyMzMsIDEzMywgMjQ5LCA2OCwgMTQsIDMsIDIzMywgMTMzLCAxMzEsIAorICAgIDIzMywgMTMzLCAyMTQsIDEwNiwgMTQsIDMsIDIzMywgMTA3LCAxNCwgMywgMjMzLCAxMDQsIDE0LCAzLCAyMzMsIDEwNSwgCisgICAgMjQ1LCAxNTAsIDE0LCAzLCAyMzMsIDEwNSwgMjE4LCAyMDgsIDE0LCAzLCAyMzMsIDEwNSwgMTMxLCAyMzMsIDEwNSwgMjE1LCAKKyAgICAxNjUsIDEzMSwgMjE1LCAxNjUsIDIxMCwgOSwgMTMxLCAyMTAsIDgsIDE0LCAzLCAyMzMsIDEwNSwgMjM5LCAxOTIsIDE0LCAKKyAgICAzLCAyMzMsIDk2LCAxNCwgMywgMjMzLCA5NywgMjksIDI0MCwgMjEzLCAyMTIsIDg5LCAxNCwgMywgMjMzLCA5NSwgMTQsIDMsIAorICAgIDIzMywgODUsIDE0LCAzLCAyMzMsIDg2LCAyOSwgMjEyLCAxODYsIDE0LCAzLCAyMzMsIDg2LCAyNDcsIDU0LCAyMzMsIDg1LCAKKyAgICAxNCwgMywgMjMzLCA4NiwgMjIyLCAxMjksIDIzMywgODUsIDE0LCAzLCAyMzMsIDg2LCAyMTQsIDEwNiwgMTQsIDMsIDIzMywgCisgICAgNzgsIDE0LCAzLCAyMzMsIDY4LCAxNCwgMywgMjMyLCAyNDMsIDE0LCAzLCAyMzIsIDIyOCwgMTQsIDMsIDE3MiwgMTQsIDMsIAorICAgIDIzMiwgNjYsIDI5LCA2MiwgMTQsIDMsIDIzMiwgNjYsIDI5LCAyNTMsIDUsIDE0LCAzLCAyMzIsIDY2LCAyOSwgMjUzLCA2LCAKKyAgICAxMDEsIDIzMCwgMjM0LCAxNCwgMywgMjMyLCA2NiwgMjksIDI1MSwgMjIzLCAxNCwgMywgMjMyLCA2NiwgMjksIDI1MCwgCisgICAgMTY3LCAxNCwgMywgMjMyLCA2NiwgMjksIDI1MCwgMTUwLCAxNCwgMywgMjMyLCA2NiwgMjksIDEzNCwgMTQsIDMsIDIzMiwgCisgICAgNjYsIDI5LCAyNDksIDI0NCwgMTQsIDMsIDIzMiwgNjYsIDI5LCAyNDIsIDIzMCwgMTQsIDMsIDIzMiwgNjYsIDI5LCAyNDIsIAorICAgIDIxMiwgMTQsIDMsIDIzMiwgNjYsIDI5LCAyNDAsIDI0NCwgMTQsIDMsIDIzMiwgNjYsIDI5LCAyNDAsIDIyNiwgMTQsIDMsIAorICAgIDIzMiwgNjYsIDI5LCAyNDAsIDIxMywgMjEyLCA4OSwgMTQsIDMsIDIzMiwgNjYsIDI5LCAyNDAsIDIwNCwgMTQsIDMsIDIzMiwgCisgICAgNjYsIDI5LCAyNDAsIDIwNSwgMTAxLCAyMTYsIDEsIDEwMSwgNjIsIDE0LCAzLCAyMzIsIDY2LCAyOSwgMjQwLCA2MSwgMTQsIAorICAgIDMsIDIzMiwgNjYsIDI5LCAyNDAsIDQzLCAxNCwgMywgMjMyLCA2NiwgMjksIDI0MCwgMzYsIDEwMSwgMjE3LCAxMzgsIDE0LCAKKyAgICAzLCAyMzIsIDY2LCAyOSwgMjQwLCAzNiwgMjQ3LCA1NCwgMjQwLCAzNSwgMTQsIDMsIDIzMiwgNjYsIDI5LCAyMzksIDIxMywgCisgICAgMTQsIDMsIDIzMiwgNjYsIDI5LCAyMzksIDE4NSwgMTQsIDMsIDIzMiwgNjYsIDI5LCAyMzMsIDEwNCwgMTQsIDMsIDIzMiwgCisgICAgNjYsIDI5LCAyMzMsIDg1LCAxNCwgMywgMjMyLCA2NiwgMjksIDIzMiwgMzUsIDE0LCAzLCAyMzIsIDY2LCAyOSwgMjMxLCAKKyAgICAxMjMsIDE0LCAzLCAyMzIsIDY2LCAyOSwgMjMxLCAxMTcsIDE0LCAzLCAyMzIsIDY2LCAyOSwgMjI5LCAyMzUsIDE0LCAzLCAKKyAgICAyMzIsIDY2LCAyOSwgMjI5LCA4MSwgMTQsIDMsIDIzMiwgNjYsIDI5LCAyMjcsIDExOSwgMTQsIDMsIDIzMiwgNjYsIDI5LCAKKyAgICAyMjcsIDEyMCwgMTAxLCAyNDMsIDIzNywgMTQsIDMsIDIzMiwgNjYsIDI5LCAyMjcsIDEyMCwgMTAxLCAyNDAsIDYxLCAxNCwgCisgICAgMywgMjMyLCA2NiwgMjksIDIyNywgMTIwLCAxMDEsIDIxMiwgMTMxLCAxNCwgMywgMjMyLCA2NiwgMjksIDIyNiwgMjU0LCAKKyAgICAxNCwgMywgMjMyLCA2NiwgMjksIDIyNiwgMjU1LCAxMDEsIDIyMywgMTY4LCAxNCwgMywgMjMyLCA2NiwgMjksIDIyNSwgCisgICAgMTEwLCAxNCwgMywgMjMyLCA2NiwgMjksIDIyMywgMTczLCAxNCwgMywgMjMyLCA2NiwgMjksIDIyMSwgNTMsIDE0LCAzLCAKKyAgICAyMzIsIDY2LCAyOSwgMjE4LCA1MCwgMTQsIDMsIDIzMiwgNjYsIDI5LCAyMTcsIDE5OSwgMTQsIDMsIDIzMiwgNjYsIDI5LCAKKyAgICAyMTcsIDEzOCwgMTQsIDMsIDIzMiwgNjYsIDI5LCAyMTYsIDIsIDE0LCAzLCAyMzIsIDY2LCAyOSwgMjE1LCAyMTQsIDE0LCAKKyAgICAzLCAyMzIsIDY2LCAyOSwgMjE1LCAxODEsIDE0LCAzLCAyMzIsIDY2LCAyOSwgMjE1LCAxMTYsIDE0LCAzLCAyMzIsIDY2LCAKKyAgICAyOSwgMjE1LCA2OCwgMTQsIDMsIDIzMiwgNjYsIDI5LCAyMTMsIDE2OSwgMTQsIDMsIDIzMiwgNjYsIDI5LCAyMTIsIDE2MiwgCisgICAgMTQsIDMsIDIzMiwgNjYsIDI5LCA3MSwgMTQsIDMsIDIzMiwgNjYsIDI5LCAyMTAsIDE5LCAxNCwgMywgMjMyLCA2NiwgMjksIAorICAgIDIxMCwgOCwgMTQsIDMsIDIzMiwgNjYsIDI5LCAyMDksIDIzNywgMjksIDE3OSwgMTQsIDMsIDIzMiwgNjYsIDI5LCAyMDksIAorICAgIDE3MCwgMTQsIDMsIDIzMiwgNjYsIDI5LCAyMDUsIDQwLCAxNCwgMywgMjMyLCA2NCwgMTQsIDMsIDIzMiwgNjUsIDI0NywgCisgICAgNTQsIDIzMiwgNjQsIDE0LCAzLCAyMzIsIDU1LCAxNCwgMywgMjMyLCA1MiwgMTQsIDMsIDIzMiwgNTAsIDE0LCAzLCAyMzIsIAorICAgIDQ5LCAxNCwgMywgMjMyLCA0NywgMTQsIDMsIDIzMiwgNDgsIDEzMSwgMjMyLCA0NywgMTQsIDMsIDIzMiwgMzUsIDE0LCAzLCAKKyAgICAyMzIsIDM2LCAyOSwgMjMzLCAxMDUsIDIzOSwgMTkyLCAxNCwgMywgMjMyLCAzMSwgMTQsIDMsIDIzMiwgMzIsIDI5LCAyNTAsIAorICAgIDE2NywgMTQsIDMsIDIzMiwgMzIsIDI0NywgNTQsIDIzMiwgMzEsIDE0LCAzLCAyMzIsIDI5LCAxNCwgMywgMjMyLCAyOCwgCisgICAgMTQsIDMsIDIzMSwgMjU0LCAxNCwgMywgMjMxLCAyNTUsIDIzMCwgMTIzLCAyOSwgMTA2LCAxMzEsIDIzMCwgMTIzLCAyOSwgCisgICAgNzEsIDE0LCAzLCAyMzEsIDI1NSwgMTMxLCAyMzEsIDI1NSwgMjMwLCAxMjMsIDI5LCAxMDYsIDEzMSwgMjMwLCAxMjMsIDI5LCAKKyAgICA3MSwgMTQsIDMsIDIzMSwgMTk0LCAxNCwgMywgMjMxLCAxMjMsIDE0LCAzLCAyMzEsIDEyNCwgMjksIDI1MCwgMTY3LCAxNCwgCisgICAgMywgMjMxLCAxMjQsIDI5LCA3MSwgMTQsIDMsIDIzMSwgMTI0LCAyOSwgMjEwLCA4LCAxNCwgMywgMjMxLCAxMTcsIDE0LCAzLCAKKyAgICAyMzEsIDEwOSwgMTQsIDMsIDIzMSwgOTYsIDE0LCAzLCAyMzEsIDk1LCAxNCwgMywgMjMxLCA5MywgMTQsIDMsIDIzMSwgOTQsIAorICAgIDEzMSwgMjMxLCA5MywgMTQsIDMsIDIzMCwgMjM2LCAxNCwgMywgMjMwLCAyMzcsIDEzMSwgMjM5LCAxMiwgMjksIDI1MSwgCisgICAgMjI0LCAyMzAsIDIzNywgMTMxLCAyMzksIDEyLCAyOSwgMjUxLCAyMjMsIDE0LCAzLCAyMzAsIDIzNCwgMTQsIDMsIDIzMCwgCisgICAgMjMyLCAxNCwgMywgMjMwLCAyMzMsIDIwOSwgNTMsIDE3LCAxNCwgMywgMjMwLCAyMzEsIDE0LCAzLCAyMzAsIDIyMywgMTQsIAorICAgIDMsIDIzMCwgMjI0LCAyMzksIDE5MiwgMTQsIDMsIDIzMCwgMjIyLCAxNCwgMywgMjMwLCAyMTAsIDE0LCAzLCAyMzAsIDIxMSwgCisgICAgMjIyLCAxMjksIDIzMCwgMjEwLCAxNCwgMywgMjMwLCAyMDUsIDE0LCAzLCAyMzAsIDE4MywgMTQsIDMsIDIzMCwgMTQxLCAKKyAgICAxNCwgMywgMjMwLCAxMjIsIDE0LCAzLCAyMzAsIDEyMywgMjksIDYyLCAxNCwgMywgMjMwLCAxMjMsIDI5LCAzMiwgMTAxLCAKKyAgICAyNDYsIDE0NiwgMTAxLCAxNTUsIDE0LCAzLCAyMzAsIDEyMywgMjksIDMyLCAxMDEsIDI0MCwgMjA0LCAxNCwgMywgMjMwLCAKKyAgICAxMjMsIDI5LCAzMiwgMTAxLCAyMzAsIDEwOCwgMTQsIDMsIDIzMCwgMTIzLCAyOSwgMjUyLCAxODEsIDE0LCAzLCAyMzAsIAorICAgIDEyMywgMjksIDI1MiwgMTIyLCAxNCwgMywgMjMwLCAxMjMsIDI5LCAyNTEsIDIyNiwgMjA1LCAzNiwgMjEyLCA4OSwgMTQsIAorICAgIDMsIDIzMCwgMTIzLCAyOSwgMjUwLCAxNjcsIDE0LCAzLCAyMzAsIDEyMywgMjksIDI0OSwgMjQ0LCAxNCwgMywgMjMwLCAKKyAgICAxMjMsIDI5LCAyNDYsIDg4LCAxNCwgMywgMjMwLCAxMjMsIDI5LCAyNDMsIDQxLCAxNCwgMywgMjMwLCAxMjMsIDI5LCAyNDAsIAorICAgIDI0NCwgMTQsIDMsIDIzMCwgMTIzLCAyOSwgMjQwLCAyMDQsIDE0LCAzLCAyMzAsIDEyMywgMjksIDIzOSwgMjAyLCAxNCwgMywgCisgICAgMjMwLCAxMjMsIDI5LCAyMzksIDIwMywgMTAxLCAyMzksIDIwMiwgMTQsIDMsIDIzMCwgMTIzLCAyOSwgMTU1LCAxNCwgMywgCisgICAgMjMwLCAxMjMsIDI5LCAyMzksIDEyNCwgMTQsIDMsIDIzMCwgMTIzLCAyOSwgMjM5LCAxMiwgMjksIDIyMywgMTczLCAxNCwgCisgICAgMywgMjMwLCAxMjMsIDI5LCAyMzMsIDEwNSwgMjM5LCAxOTIsIDE0LCAzLCAyMzAsIDEyMywgMjksIDIzMywgODUsIDE0LCAzLCAKKyAgICAyMzAsIDEyMywgMjksIDIzMywgODYsIDEwMSwgMTU1LCAxNCwgMywgMjMwLCAxMjMsIDI5LCAyMzMsIDg2LCAxMDEsIDIyOSwgCisgICAgODEsIDE0LCAzLCAyMzAsIDEyMywgMjksIDIzMSwgMTIzLCAxNCwgMywgMjMwLCAxMjMsIDI5LCAyMzEsIDEwOSwgMTQsIDMsIAorICAgIDIzMCwgMTIzLCAyOSwgMjMwLCAyMzQsIDE0LCAzLCAyMzAsIDEyMywgMjksIDIzMCwgMjIzLCAxNCwgMywgMjMwLCAxMjMsIAorICAgIDI5LCAyMzAsIDIyNCwgMTAxLCAyMzksIDEyLCAxMDEsIDYyLCAxNCwgMywgMjMwLCAxMjMsIDI5LCAyMzAsIDEyMiwgMTQsIAorICAgIDMsIDIzMCwgMTIzLCAyOSwgMjI5LCAxODYsIDE0LCAzLCAyMzAsIDEyMywgMjksIDIyOSwgODEsIDE0LCAzLCAyMzAsIDEyMywgCisgICAgMjksIDIyOSwgNjcsIDE0LCAzLCAyMzAsIDEyMywgMjksIDIyNywgMTE5LCAxNCwgMywgMjMwLCAxMjMsIDI5LCAyMjcsIAorICAgIDEyMCwgMTAxLCAyNDMsIDQxLCAxNCwgMywgMjMwLCAxMjMsIDI5LCAyMjYsIDY5LCAxNCwgMywgMjMwLCAxMjMsIDI5LCAKKyAgICAyMjUsIDExMCwgMTQsIDMsIDIzMCwgMTIzLCAyOSwgMjE1LCAyMTUsIDEwMSwgMjEzLCAxNjAsIDE0LCAzLCAyMzAsIDEyMywgCisgICAgMjksIDIxNSwgMTYxLCAxMDEsIDI0MCwgMzYsIDEwMSwgMjQyLCAyMzAsIDE0LCAzLCAyMzAsIDEyMywgMjksIDIxNSwgMTYxLCAKKyAgICAxMDEsIDI0MCwgMzYsIDIxMiwgODksIDE0LCAzLCAyMzAsIDEyMywgMjksIDIxNSwgMTE0LCAxNCwgMywgMjMwLCAxMjMsIAorICAgIDI5LCAyMTUsIDExNSwgMTAxLCAyMTUsIDExNCwgMTQsIDMsIDIzMCwgMTIzLCAyOSwgMjEzLCAxNjAsIDE0LCAzLCAyMzAsIAorICAgIDEyMywgMjksIDIxMiwgMTk4LCAxNCwgMywgMjMwLCAxMjMsIDI5LCAyMTIsIDE4NiwgMTQsIDMsIDIzMCwgMTIzLCAyOSwgCisgICAgMjEyLCAxMzIsIDEwMSwgMzIsIDEwMSwgMjEzLCAyMDQsIDEwMSwgMTk5LCAxNCwgMywgMjMwLCAxMjMsIDI5LCA3MSwgMTQsIAorICAgIDMsIDIzMCwgMTIzLCAyOSwgMTA2LCAxMDEsIDYyLCAxNCwgMywgMjMwLCAxMjMsIDI5LCAxMDYsIDEwMSwgMTA2LCAxMDEsIAorICAgIDcxLCAxNCwgMywgMjMwLCAxMjMsIDI5LCAyMTAsIDIwLCAxMDEsIDI1MSwgMjI1LCAxNCwgMywgMjMwLCAxMjMsIDI5LCAKKyAgICAyMTAsIDgsIDE0LCAzLCAyMzAsIDEyMywgMjksIDIwOSwgMTcwLCAxNCwgMywgMjMwLCAxMjMsIDIxNCwgMTA2LCAxNCwgMywgCisgICAgMjMwLCAxMjAsIDE0LCAzLCAyMzAsIDEyMSwgMjksIDIxNSwgMjE0LCAxNCwgMywgMjMwLCAxMjEsIDI5LCAyMTUsIDIxNSwgCisgICAgMTAxLCAyMTMsIDE2MCwgMTQsIDMsIDIzMCwgMTIxLCAyMzksIDE5MiwgMTQsIDMsIDIzMCwgMTIxLCAyMzksIDE5MywgMTMxLCAKKyAgICAyMzAsIDEyMSwgMjM5LCAxOTMsIDIxNSwgMjE0LCAxNCwgMywgMjMwLCAxMTYsIDE0LCAzLCAyMzAsIDEwOCwgMTQsIDMsIAorICAgIDIzMCwgMTA5LCAyOSwgMjMwLCAxMDgsIDE0LCAzLCAyMzAsIDEwNiwgMTQsIDMsIDIzMCwgMTA3LCAyOSwgMjMwLCAyMTAsIAorICAgIDE0LCAzLCAyMzAsIDEwNywgMjksIDIzMCwgMjExLCAxMDEsIDIxOCwgNTAsIDE0LCAzLCAyMjksIDIzNSwgMTQsIDMsIDIyOSwgCisgICAgMjE4LCAxNCwgMywgMjI5LCAyMDgsIDE0LCAzLCAyMjksIDE4NiwgMTQsIDMsIDIyOSwgODEsIDE0LCAzLCAyMjksIDgyLCAKKyAgICAyOSwgMjUwLCAxNjcsIDE0LCAzLCAyMjksIDc5LCAxNCwgMywgMjI5LCA4MCwgMjksIDI1MiwgMTgxLCAxNCwgMywgMjI5LCAKKyAgICA4MCwgMjksIDI1MCwgMTY3LCAxNCwgMywgMjI5LCA4MCwgMjksIDI0MiwgMjEyLCAxNCwgMywgMjI5LCA4MCwgMjksIDI0MiwgCisgICAgMjEzLCAyMTIsIDg5LCAxNCwgMywgMjI5LCA4MCwgMjksIDI0MCwgMjEzLCAyMTIsIDg5LCAxNCwgMywgMjI5LCA4MCwgMjksIAorICAgIDIzOSwgMTIsIDI5LCAyNTAsIDE2NywgMTQsIDMsIDIyOSwgODAsIDI5LCAyMzMsIDg1LCAxNCwgMywgMjI5LCA4MCwgMjksIAorICAgIDIzMiwgNTIsIDE0LCAzLCAyMjksIDgwLCAyOSwgMjMyLCA1MCwgMTQsIDMsIDIyOSwgODAsIDI5LCAyMzIsIDUxLCAxMDEsIAorICAgIDI1MSwgMjI1LCAxNCwgMywgMjI5LCA4MCwgMjksIDIzMSwgMTIzLCAxNCwgMywgMjI5LCA4MCwgMjksIDIzMCwgMTQyLCAKKyAgICAxMDEsIDI1MSwgMjI1LCAxNCwgMywgMjI5LCA4MCwgMjksIDIzMCwgMTIyLCAxNCwgMywgMjI5LCA4MCwgMjksIDIyNywgCisgICAgMTIwLCAxMDEsIDI0MywgNDEsIDE0LCAzLCAyMjksIDgwLCAyOSwgMjI1LCAxMTAsIDE0LCAzLCAyMjksIDgwLCAyOSwgMjIzLCAKKyAgICAyMTcsIDE0LCAzLCAyMjksIDgwLCAyOSwgMjE1LCA4MSwgMTAxLCAyNTEsIDIyNSwgMTQsIDMsIDIyOSwgODAsIDI5LCAyMTUsIAorICAgIDYwLCAxMDEsIDI0OSwgMTAxLCAxNCwgMywgMjI5LCA4MCwgMjksIDIxMCwgMTY0LCAxNCwgMywgMjI5LCA4MCwgMjEyLCA4OSwgCisgICAgMTQsIDMsIDIyOSwgODAsIDI0NywgNTQsIDIyOSwgNzksIDE0LCAzLCAyMjksIDgwLCAyMjIsIDEyOSwgMjI5LCA3OSwgMTQsIAorICAgIDMsIDIyOSwgODAsIDIxNCwgMTA2LCAxNCwgMywgMjI5LCA4MCwgMjE1LCAxOTYsIDE0LCAzLCAyMjksIDc4LCAxNCwgMywgCisgICAgMjI5LCA3MiwgMTQsIDMsIDIyOSwgNzMsIDEzMSwgMjI5LCA3MiwgMTQsIDMsIDIyOSwgNzMsIDIyMiwgMTI5LCAyMjksIDcyLCAKKyAgICAxNCwgMywgMjI5LCA3MywgMjE1LCAxOTYsIDE0LCAzLCAyMjksIDcwLCAxNCwgMywgMjI5LCA2NywgMTQsIDMsIDIyOSwgNjUsIAorICAgIDE0LCAzLCAyMjksIDY2LCAxMzEsIDIyOSwgNjUsIDE0LCAzLCAyMjksIDY2LCAxMzEsIDIyOSwgNjYsIDI0MCwgMjA1LCAKKyAgICAxMzEsIDI0MCwgMjA0LCAxNCwgMywgMTg1LCAxNCwgMywgMjI4LCAyMCwgMjksIDIxMiwgMTg2LCAxNCwgMywgMjI4LCAyMCwgCisgICAgMjM5LCAxOTIsIDE0LCAzLCAyMjgsIDE5LCAxNCwgMywgMjI3LCAyNDcsIDE0LCAzLCAyMjcsIDE5OSwgMTQsIDMsIDIyNywgCisgICAgMTc4LCAxNCwgMywgMjI3LCAxNzcsIDE0LCAzLCAyMjcsIDExOSwgMTQsIDMsIDIyNywgNzEsIDE0LCAzLCAyMjYsIDI1NCwgCisgICAgMTQsIDMsIDIyNiwgMjA5LCAxNCwgMywgMjI2LCAxMTQsIDE0LCAzLCAyMjYsIDExNSwgMTMxLCAyMjYsIDExNCwgMTQsIDMsIAorICAgIDIyNiwgMTAzLCAxNCwgMywgMjI2LCAxMDQsIDIzOSwgMTkyLCAxNCwgMywgMjI2LCA4NywgMTQsIDMsIDIyNiwgNzMsIDE0LCAKKyAgICAzLCAyMjYsIDY5LCAxNCwgMywgMjI2LCA3MCwgMjksIDYyLCAxNCwgMywgMjI2LCA3MCwgMjksIDIzMCwgMjEwLCAxNCwgMywgCisgICAgMjI2LCA3MCwgMjksIDIwNSwgMTE2LCAxNCwgMywgMjI2LCA3MCwgMTMxLCAyMjYsIDY5LCAxNCwgMywgMjI2LCA3MCwgMTMxLCAKKyAgICAyMjYsIDcwLCAyOSwgMzIsIDEwMSwgMTk5LCAxNCwgMywgMjI2LCA3MCwgMjQ3LCA1NCwgMjI2LCA2OSwgMTQsIDMsIDIyNiwgCisgICAgNjcsIDE0LCAzLCAyMjYsIDY4LCAyOSwgNjIsIDE0LCAzLCAyMjYsIDY4LCAyOSwgMzIsIDEwMSwgMjQ1LCAxNjgsIDE0LCAzLCAKKyAgICAyMjYsIDY4LCAyOSwgMjQ1LCAxNjgsIDE0LCAzLCAyMjYsIDY4LCAyMzksIDE5MiwgMTQsIDMsIDE5OSwgMTQsIDMsIDIyNSwgCisgICAgMjM1LCAxNCwgMywgMjI1LCAyMjIsIDE0LCAzLCAyMjUsIDIyMywgMjMzLCAxLCAxNCwgMywgMjI1LCAyMjMsIDI5LCAyMTUsIAorICAgIDExNywgMjEyLCA4OSwgMTQsIDMsIDIyNSwgMjIzLCAyMjIsIDEyOSwgMjI1LCAyMjIsIDE0LCAzLCAyMjUsIDIyMSwgMTQsIAorICAgIDMsIDIyNSwgMjE0LCAyMjMsIDE1OSwgMTQsIDMsIDIyNSwgMjEzLCAxNCwgMywgMjI1LCAyMTIsIDE0LCAzLCAyMjUsIDExMCwgCisgICAgMTQsIDMsIDIyNSwgMTExLCAyOSwgNjIsIDE0LCAzLCAyMjUsIDExMSwgMjksIDIxMCwgOCwgMTQsIDMsIDIyNSwgMTExLCAKKyAgICAyMTUsIDE5NiwgMTQsIDMsIDIyNCwgMjMwLCAxNCwgMywgMjI0LCAyMzEsIDI5LCA3NSwgMTQsIDMsIDIyNCwgMjI5LCAxNCwgCisgICAgMywgMjI0LCAyMDAsIDE0LCAzLCAyMjQsIDIwMSwgMjksIDI0MCwgMjEzLCAyMTIsIDg5LCAxNCwgMywgMjI0LCAyMDEsIDI5LCAKKyAgICAyNDAsIDIwNSwgMTAxLCAyNDAsIDIxMywgMjEyLCA4OSwgMTQsIDMsIDIyNCwgMTk2LCAxNCwgMywgMjI0LCAxOTcsIDI5LCAKKyAgICAyNTIsIDEyMiwgMTQsIDMsIDIyNCwgMTk3LCAyOSwgMjUxLCAyMjUsIDE0LCAzLCAyMjQsIDE5NywgMjksIDI1MSwgMjI2LCAKKyAgICAxMDEsIDI1MSwgMjI1LCAxNCwgMywgMjI0LCAxOTcsIDI5LCAyMzksIDIwMiwgMTQsIDMsIDIyNCwgMTk3LCAyOSwgMjI3LCAKKyAgICAxMjAsIDEwMSwgMjQwLCAyMTMsIDIxMiwgODksIDE0LCAzLCAyMjQsIDE5NywgMjksIDIyNSwgMTEwLCAxNCwgMywgMjI0LCAKKyAgICAxOTcsIDI5LCAyMjMsIDE3MywgMTQsIDMsIDIyNCwgMTk3LCAyOSwgMjE1LCAyMTQsIDE0LCAzLCAyMjQsIDE5NywgMjksIAorICAgIDIxNSwgMjE1LCAxMDEsIDMyLCAyNTIsIDEyMiwgMTQsIDMsIDIyNCwgMTk3LCAyOSwgMjE1LCAyMTUsIDEwMSwgMjUxLCAKKyAgICAyMjUsIDE0LCAzLCAyMjQsIDE5NywgMjksIDIxNSwgMjE1LCAxMDEsIDI1MSwgMjI2LCAxMDEsIDI1MSwgMjI1LCAxNCwgMywgCisgICAgMjI0LCAxOTcsIDI5LCAyMTAsIDIwLCAxMDEsIDI1MSwgMjI1LCAxNCwgMywgMjI0LCAxOTcsIDI5LCAyMDksIDE3MCwgMTQsIAorICAgIDMsIDIyNCwgMTg1LCAxNCwgMywgMjIzLCAyMTcsIDE0LCAzLCAyMjMsIDE4OSwgMTQsIDMsIDIyMywgMTczLCAxNCwgMywgCisgICAgMjIzLCAxNzQsIDIzMCwgMTIxLCAyOSwgMjQwLCAyMDQsIDE0LCAzLCAyMjMsIDE3NCwgMjMwLCAxMjEsIDI5LCAyMjcsIAorICAgIDE3OCwgMTQsIDMsIDIyMywgMTc0LCAyMzAsIDEyMSwgMjksIDIxNywgMTcyLCAxNCwgMywgMjIzLCAxNzQsIDIzMCwgMTIxLCAKKyAgICAyOSwgMjE3LCAxNzMsIDEzMSwgMjIzLCAxNzQsIDIzMCwgMTIxLCAyOSwgMjE3LCAxNzIsIDE0LCAzLCAyMjMsIDE3NCwgCisgICAgMjMwLCAxMjEsIDI5LCAyMDksIDE3MCwgMTQsIDMsIDIyMywgMTc0LCAyMTIsIDg5LCAxNCwgMywgMjIzLCAxNzQsIDEzMSwgCisgICAgMjIzLCAxNzMsIDE0LCAzLCAyMjMsIDE3NCwgMjQ3LCA1NCwgMjIzLCAxNzMsIDE0LCAzLCAyMjMsIDE3NCwgMjQ3LCA1NCwgCisgICAgMjIzLCAxNzQsIDIzMCwgMTIxLCAxMzEsIDIzMCwgMTIwLCAxNCwgMywgMjIzLCAxNjgsIDE0LCAzLCAyMjMsIDE2OSwgMjUzLCAKKyAgICAzMywgMjksIDI1MSwgMjE5LCAxNCwgMywgMjIzLCAxNjksIDI1MywgMzMsIDI5LCAyNDksIDI0NCwgMTQsIDMsIDIyMywgCisgICAgMTY5LCAyNTMsIDMzLCAyOSwgMjQzLCAyMzMsIDE0LCAzLCAyMjMsIDE2OSwgMjUzLCAzMywgMjksIDIzOSwgMjAyLCAxNCwgCisgICAgMywgMjIzLCAxNjksIDI1MywgMzMsIDI5LCAyMzMsIDEwNSwgMjM5LCAxOTIsIDE0LCAzLCAyMjMsIDE2OSwgMjUzLCAzMywgCisgICAgMjksIDIzMiwgNTAsIDE0LCAzLCAyMjMsIDE2OSwgMjUzLCAzMywgMjksIDIzMCwgMTQxLCAxNCwgMywgMjIzLCAxNjksIAorICAgIDI1MywgMzMsIDI5LCAyMjUsIDExMCwgMTQsIDMsIDIyMywgMTY5LCAyNTMsIDMzLCAyOSwgMjE1LCA1NywgMTQsIDMsIDIyMywgCisgICAgMTY5LCAyNTMsIDMzLCAyOSwgMjEwLCAxOSwgMTQsIDMsIDIyMywgMTY5LCAyMzEsIDk0LCAyOSwgMjQ5LCAyNDQsIDE0LCAzLCAKKyAgICAyMjMsIDE2OSwgMjMxLCA5NCwgMjksIDI0OSwgMjQ1LCA3MSwgMTQsIDMsIDE3OSwgMTQsIDMsIDIyMiwgNDIsIDE0LCAzLCAKKyAgICAyMjIsIDYsIDE0LCAzLCAyMjEsIDIzNiwgMTQsIDMsIDIyMSwgMTA3LCAxNCwgMywgMjIxLCA1MywgMTQsIDMsIDIyMSwgNTQsIAorICAgIDI5LCA2MiwgMTQsIDMsIDIyMSwgNTQsIDI5LCAyNTMsIDExNSwgMTQsIDMsIDIyMSwgNTQsIDI5LCAyNDksIDI0NCwgMTQsIAorICAgIDMsIDIyMSwgNTQsIDI5LCAyNDksIDEwMSwgMTQsIDMsIDIyMSwgNTQsIDI5LCA3NSwgMTQsIDMsIDIyMSwgNTQsIDI5LCA3NCwgCisgICAgMTQsIDMsIDIyMSwgNTQsIDI5LCAyMzcsIDE4NSwgMTQsIDMsIDIyMSwgNTQsIDI5LCA3MSwgMTQsIDMsIDIyMSwgNTQsIDI5LCAKKyAgICAyMTAsIDE5LCAxNCwgMywgMjIxLCA1NCwgMjQ3LCA1NCwgMjIxLCA1MywgMTQsIDMsIDIyMCwgMjUxLCAxNCwgMywgMjIwLCAKKyAgICAyNTIsIDI5LCAyMzIsIDMxLCAxNCwgMywgMjIwLCAyNTIsIDI5LCAyMTAsIDgsIDE0LCAzLCAyMjAsIDI1MiwgMjksIDIwNSwgCisgICAgMTE2LCAxNCwgMywgMjIwLCAyNTIsIDIyMiwgMTI5LCAyMjAsIDI1MSwgMTQsIDMsIDIxOSwgMTEzLCAxNCwgMywgMjE5LCAKKyAgICAxMDcsIDE0LCAzLCAyMTgsIDIwOCwgMTQsIDMsIDIxOCwgNTAsIDE0LCAzLCAyMTcsIDE5OSwgMTQsIDMsIDIxNywgMTg2LCAKKyAgICAyMjMsIDE1OSwgMTQsIDMsIDIxNywgMTg1LCAxNCwgMywgMjE3LCAxODYsIDI5LCA2MiwgMTQsIDMsIDIxNywgMTg2LCAyOSwgCisgICAgMjQzLCAyMzcsIDE0LCAzLCAyMTcsIDE4NiwgMjksIDI0MywgMjM1LCAxNCwgMywgMjE3LCAxODYsIDI5LCAxNTUsIDE0LCAzLCAKKyAgICAyMTcsIDE4NiwgMjksIDIzMiwgMzUsIDE0LCAzLCAyMTcsIDE4NiwgMjksIDIzMCwgMjEwLCAxNCwgMywgMjE3LCAxODYsIAorICAgIDI5LCAyMjksIDY1LCAxNCwgMywgMjE3LCAxODYsIDI5LCAyMjYsIDI1NCwgMTQsIDMsIDIxNywgMTg2LCAyOSwgMjIzLCAKKyAgICAxNzMsIDE0LCAzLCAyMTcsIDE4NiwgMjksIDIxNywgMTcyLCAxNCwgMywgMjE3LCAxODYsIDI5LCAyMTUsIDE4MSwgMTQsIDMsIAorICAgIDIxNywgMTg2LCAyOSwgMjEyLCAyMDcsIDE0LCAzLCAyMTcsIDE4NiwgMjksIDIxMCwgMTksIDE0LCAzLCAyMTcsIDE4NiwgCisgICAgMjksIDIxMCwgMTQsIDE0LCAzLCAyMTcsIDE4NiwgMjksIDIwOSwgMjQxLCAxNCwgMywgMjE3LCAxODYsIDI5LCAyMDksIAorICAgIDE5NCwgMTQsIDMsIDIxNywgMTg2LCAyOSwgMjA5LCAxNzAsIDE0LCAzLCAyMTcsIDE4NiwgMTMxLCAyMTcsIDE4NSwgMTQsIAorICAgIDMsIDIxNywgMTg2LCAyMzksIDE5MiwgMTQsIDMsIDIxNywgMTcyLCAxNCwgMywgMjE3LCAxNzMsIDIzMCwgMTIzLCAyOSwgCisgICAgMjUxLCAyMjMsIDE0LCAzLCAyMTcsIDE0NiwgMTQsIDMsIDIxNywgMTM4LCAxNCwgMywgMjE2LCAyLCAxNCwgMywgMjE2LCAwLCAKKyAgICAxNCwgMywgMjE2LCAxLCAyOSwgNjIsIDE0LCAzLCAyMTYsIDEsIDI5LCAyNTAsIDE2NywgMTQsIDMsIDIxNiwgMSwgMjksIAorICAgIDI0MCwgMzUsIDE0LCAzLCAyMTYsIDEsIDI5LCAyMjUsIDExMCwgMTQsIDMsIDIxNiwgMSwgMjksIDIxNSwgMTE0LCAxNCwgMywgCisgICAgMjE2LCAxLCAyOSwgMjEwLCAxNDksIDE0LCAzLCAyMTYsIDEsIDI5LCA3MSwgMTQsIDMsIDIxNiwgMSwgMjksIDEwNiwgMTAxLCAKKyAgICA2MiwgMTQsIDMsIDIxNSwgMjU1LCAxNCwgMywgMjE1LCAyNTMsIDE0LCAzLCAyMTUsIDIzMCwgMTQsIDMsIDIxNSwgMjE0LCAKKyAgICAxNCwgMywgMjE1LCAyMTUsIDIzOCwgNDIsIDE0LCAzLCAyMTUsIDIxNSwgMTMxLCAyMTUsIDIxNSwgMjQwLCAyMzYsIDEzMSwgCisgICAgMjQwLCAyMzYsIDI0MCwgMjA1LCAxMzEsIDI0MCwgMjA0LCAxNCwgMywgMjE1LCAyMTUsIDEzMSwgMjE1LCAyMTUsIDIxMiwgCisgICAgMjA4LCAxMzEsIDIxMiwgMjA4LCAyNDAsIDIwNSwgMTMxLCAyNDAsIDIwNCwgMTQsIDMsIDIxNSwgMjA3LCAxNCwgMywgMjE1LCAKKyAgICAyMDIsIDE0LCAzLCAyMTUsIDE5OSwgMTQsIDMsIDIxNSwgMTk4LCAxNCwgMywgMjE1LCAxOTUsIDE0LCAzLCAyMTUsIDE4MSwgCisgICAgMTQsIDMsIDIxNSwgMTgyLCAyOSwgNjIsIDE0LCAzLCAyMTUsIDE4MiwgMjksIDIzMywgODUsIDE0LCAzLCAyMTUsIDE3NSwgCisgICAgMTQsIDMsIDIxNSwgMTc2LCAyOSwgNjIsIDE0LCAzLCAyMTUsIDE3NiwgMjksIDI1MCwgMTUxLCAxNCwgMywgMjE1LCAxNzYsIAorICAgIDI5LCAyNDksIDc5LCAxNCwgMywgMjE1LCAxNzYsIDI5LCAyNDUsIDExMywgMTQsIDMsIDIxNSwgMTc2LCAyOSwgMjQwLCAKKyAgICAyMDQsIDE0LCAzLCAyMTUsIDE3NiwgMjksIDIzMywgMTA0LCAxNCwgMywgMjE1LCAxNzYsIDI5LCAyMzMsIDEwNSwgMjM5LCAKKyAgICAxOTIsIDE0LCAzLCAyMTUsIDE3NiwgMjksIDIzMCwgMjA1LCAxNCwgMywgMjE1LCAxNzYsIDI5LCAyMjksIDY3LCAxNCwgMywgCisgICAgMjE1LCAxNzYsIDI5LCAyMjYsIDEwMywgMTQsIDMsIDIxNSwgMTc2LCAyOSwgMjE3LCAxNzIsIDE0LCAzLCAyMTUsIDE2OSwgCisgICAgMTQsIDMsIDIxNSwgMTY0LCAxNCwgMywgMjE1LCAxNjUsIDIxMiwgODksIDE0LCAzLCAyMTUsIDE2NSwgMTMxLCAyMTUsIAorICAgIDE2NSwgMjQ5LCA2OSwgMTMxLCAyNDksIDY4LCAxNCwgMywgMjE1LCAxNjAsIDE0LCAzLCAyMTUsIDExNiwgMTQsIDMsIDIxNSwgCisgICAgMTE3LCAxMzEsIDIzMywgMiwgMjE1LCAxMTYsIDE0LCAzLCAyMTUsIDExNCwgMTQsIDMsIDIxNSwgMTEzLCAxNCwgMywgMjE1LCAKKyAgICA4MCwgMTQsIDMsIDIxNSwgODEsIDIzOSwgMTkyLCAxNCwgMywgMjE1LCA2OCwgMTQsIDMsIDIxNSwgNjYsIDE0LCAzLCAyMTUsIAorICAgIDY3LCAxMzEsIDIxNSwgNjcsIDIxNSwgMTE0LCAxNCwgMywgMjE1LCA1OSwgMTQsIDMsIDIxNSwgNTcsIDE0LCAzLCAyMTMsIAorICAgIDIwMywgMTQsIDMsIDIxMywgMjA0LCAxMzEsIDIxMywgMjAzLCAxNCwgMywgMjEzLCAxNzIsIDE0LCAzLCAyMTMsIDE3MSwgCisgICAgMTQsIDMsIDIxMywgMTY5LCAxNCwgMywgMjEzLCAxNjAsIDE0LCAzLCAyMTMsIDE1OSwgMTQsIDMsIDIxMywgMTMzLCAxNCwgCisgICAgMywgMjEzLCAxMzIsIDE0LCAzLCAyMTIsIDIxOSwgMTQsIDMsIDIxMiwgMjIwLCAyNTEsIDIwOSwgMTQsIDMsIDIxMiwgMjIwLCAKKyAgICAyOSwgMjM5LCAxMSwgMTQsIDMsIDIxMiwgMjIwLCAyOSwgMjI2LCAyNTQsIDE0LCAzLCAyMTIsIDIyMCwgMjM5LCAxOTIsIAorICAgIDE0LCAzLCAyMTIsIDIwNywgMTQsIDMsIDIxMiwgMjA4LCAxMzEsIDIxMiwgMjA4LCAyMjQsIDIzMSwgMTMxLCAyMjQsIDIzMSwgCisgICAgMjQ1LCA5NSwgMTMxLCAyNDUsIDk0LCAxNCwgMywgMjEyLCAyMDgsIDIxNCwgMTA2LCAxNCwgMywgMjEyLCAxOTgsIDE0LCAzLCAKKyAgICAxNTAsIDI5LCAyNDksIDI0NCwgMTQsIDMsIDE1MCwgMjksIDIzOSwgMjAyLCAxNCwgMywgMTUwLCAyOSwgMjE1LCAyMTQsIAorICAgIDE0LCAzLCAxNTAsIDI5LCAyMTUsIDExNiwgMTQsIDMsIDE1MCwgMjksIDIxMCwgMTY0LCAxNCwgMywgMTUwLCAyOSwgMjEwLCAKKyAgICA4LCAxNCwgMywgMjEyLCAxODYsIDE0LCAzLCAyMTIsIDE2MiwgMTQsIDMsIDIxMiwgMTMxLCAxNCwgMywgMjEyLCAxMzIsIAorICAgIDIzOSwgMTkyLCAxNCwgMywgMjExLCAyMTEsIDE0LCAzLCAyMTEsIDIxMiwgMjEyLCA4OSwgMTQsIDMsIDIxMSwgMTgyLCAxNCwgCisgICAgMywgMjExLCAxNjIsIDE0LCAzLCAyMTEsIDE2MywgMjksIDIxMiwgMTg2LCAxNCwgMywgMjExLCAxNjMsIDEzMSwgMjExLCAKKyAgICAxNjIsIDE0LCAzLCAyMTEsIDE2MywgMTMxLCAyMTEsIDE2MywgMjQwLCAyMzYsIDEzMSwgMjQwLCAyMzYsIDI0MCwgMjA1LCAKKyAgICAxMzEsIDI0MCwgMjA0LCAxNCwgMywgMjEwLCAxNzAsIDE0LCAzLCAyMTAsIDE2NCwgMTQsIDMsIDIxMCwgMTYyLCAxNCwgMywgCisgICAgMjEwLCAxNTksIDE0LCAzLCAyMTAsIDE0OSwgMTQsIDMsIDIxMCwgMTUwLCAxMzEsIDIxMCwgMTUwLCAyMDUsIDExNywgMTMxLCAKKyAgICAyMDUsIDExNiwgMTQsIDMsIDcxLCAxNCwgMywgMTA2LCAyMzksIDIwMiwgMTQsIDMsIDEwNiwgMTA2LCA3MSwgMTQsIDMsIAorICAgIDEwNiwgMTMxLCAxMDYsIDIyMiwgNTIsIDEzMSwgMjIyLCA1MiwgMjQwLCAyMDUsIDEzMSwgMjQwLCAyMDQsIDE0LCAzLCAKKyAgICAxMDYsIDEzMSwgMTA2LCAyMTMsIDEzNCwgMTMxLCAyMTMsIDEzMywgMTQsIDMsIDEwNiwgMTMxLCAxMDYsIDEwNiwgMjE4LCAKKyAgICAyMjQsIDEzMSwgMTA2LCAyMTgsIDIyMywgMTQsIDMsIDIxMCwgMTksIDE0LCAzLCAyMTAsIDE0LCAxNCwgMywgMjEwLCA4LCAKKyAgICAxNCwgMywgMjEwLCA5LCAyMzAsIDIwNSwgMTQsIDMsIDIxMCwgOSwgMjksIDI1MCwgMTY3LCAxNCwgMywgMjEwLCA5LCAyOSwgCisgICAgMjI2LCAyNTQsIDE0LCAzLCAyMTAsIDksIDI5LCAxMDYsIDEwMSwgMTA2LCAxMDEsIDcxLCAxNCwgMywgMjEwLCA5LCAyOSwgCisgICAgMTA2LCAxMDEsIDEwNiwgMTAxLCAxMDYsIDIzOSwgMTkyLCAxNCwgMywgMjEwLCA5LCAyMzksIDE5MiwgMTQsIDMsIDIxMCwgCisgICAgOSwgMjE1LCAxOTYsIDE0LCAzLCAyMTAsIDksIDIxNSwgMTk3LCAyOSwgMjUwLCAxNjcsIDE0LCAzLCAyMTAsIDQsIDE0LCAzLCAKKyAgICAyMDksIDI0MSwgMTQsIDMsIDIwOSwgMjQyLCAyOSwgMjMwLCAxMjIsIDE0LCAzLCAyMDksIDI0MiwgMjksIDIyNywgMTIwLCAKKyAgICAxMDEsIDI0NiwgMTQ1LCAxNCwgMywgMjA5LCAyNDIsIDI5LCAyMTYsIDAsIDE0LCAzLCAyMDksIDI0MiwgMjksIDcxLCAxNCwgCisgICAgMywgMjA5LCAyNDAsIDE0LCAzLCAyMDksIDIzNiwgMTQsIDMsIDIwOSwgMjM3LCAyOSwgMjMxLCAyNTQsIDE0LCAzLCAyMDksIAorICAgIDIzNywgMjksIDE3OSwgMTQsIDMsIDIwOSwgMjM0LCAxNCwgMywgMjA5LCAyMzUsIDIzOSwgMTkyLCAxNCwgMywgMjA5LCAKKyAgICAxOTQsIDE0LCAzLCAyMDksIDE5NSwgMjQ3LCA1NCwgMjA5LCAxOTQsIDE0LCAzLCAyMDksIDE5NSwgMjE1LCAxOTYsIDE0LCAKKyAgICAzLCAyMDksIDE5MiwgMTQsIDMsIDIwOSwgMTkzLCAyOSwgMzIsIDEwMSwgMTU1LCAxNCwgMywgMjA5LCAxOTMsIDI5LCAzMiwgCisgICAgMTAxLCAxOTksIDE0LCAzLCAyMDksIDE5MywgMjksIDI1MiwgMTgxLCAxNCwgMywgMjA5LCAxOTMsIDI5LCAxNTUsIDE0LCAzLCAKKyAgICAyMDksIDE5MywgMjksIDIyMywgMTczLCAxNCwgMywgMjA5LCAxOTMsIDI5LCAyMTAsIDE5LCAxNCwgMywgMjA5LCAxOTMsIAorICAgIDI5LCAyMTAsIDIwLCAxMDEsIDI1MSwgMjI1LCAxNCwgMywgMjA5LCAxOTMsIDI5LCAyMTAsIDIwLCAxMDEsIDI0OSwgMjQ0LCAKKyAgICAxNCwgMywgMjA5LCAxOTEsIDE0LCAzLCAyMDksIDE4OCwgMTQsIDMsIDIwOSwgMTg3LCAxNCwgMywgMjA5LCAxODMsIDE0LCAKKyAgICAzLCAyMDksIDE4NCwgMjksIDYyLCAxNCwgMywgMjA5LCAxODQsIDI5LCAyNTEsIDIxOSwgMTQsIDMsIDIwOSwgMTg0LCAyOSwgCisgICAgMTM0LCAxNCwgMywgMjA5LCAxODQsIDI5LCAyNDMsIDIyNywgMTQsIDMsIDIwOSwgMTg0LCAyOSwgMjQwLCAyNDQsIDE0LCAzLCAKKyAgICAyMDksIDE4NCwgMjksIDI0MCwgMjI2LCAxNCwgMywgMjA5LCAxODQsIDI5LCAyNDAsIDIxMywgMjEyLCA4OSwgMTQsIDMsIAorICAgIDIwOSwgMTg0LCAyOSwgMjQwLCAyMDQsIDE0LCAzLCAyMDksIDE4NCwgMjksIDIzOSwgMjEzLCAxNCwgMywgMjA5LCAxODQsIAorICAgIDI5LCAxNTUsIDE0LCAzLCAyMDksIDE4NCwgMjksIDIzMywgMTA0LCAxNCwgMywgMjA5LCAxODQsIDI5LCAyMzMsIDg1LCAxNCwgCisgICAgMywgMjA5LCAxODQsIDI5LCAyMzIsIDIyOCwgMTQsIDMsIDIwOSwgMTg0LCAyOSwgMjMxLCAxMjMsIDE0LCAzLCAyMDksIAorICAgIDE4NCwgMjksIDIyOSwgNjUsIDE0LCAzLCAyMDksIDE4NCwgMjksIDIyNiwgMjA5LCAxNCwgMywgMjA5LCAxODQsIDI5LCAKKyAgICAxNzksIDE0LCAzLCAyMDksIDE4NCwgMjksIDIxNSwgMjE0LCAxNCwgMywgMjA5LCAxODQsIDI5LCAyMTUsIDY2LCAxNCwgMywgCisgICAgMjA5LCAxODQsIDI5LCAyMTAsIDE3MCwgMTQsIDMsIDIwOSwgMTg0LCAyOSwgMTA2LCAxMDEsIDIzOSwgMjAyLCAxNCwgMywgCisgICAgMjA5LCAxODQsIDI5LCAyMTAsIDgsIDE0LCAzLCAyMDksIDE4NCwgMjksIDIwOSwgMTgxLCAxNCwgMywgMjA5LCAxODEsIDE0LCAKKyAgICAzLCAyMDksIDE4MiwgMjksIDcxLCAxNCwgMywgMjA5LCAxNzAsIDE0LCAzLCAyMDksIDE3MSwgMjksIDYyLCAxNCwgMywgCisgICAgMjA5LCAxNzEsIDI5LCAyMzAsIDIzNiwgMTQsIDMsIDIwOSwgMTcxLCAyOSwgMjMwLCAyMTAsIDE0LCAzLCAyMDksIDE3MSwgCisgICAgMjksIDIxMiwgMTg2LCAxNCwgMywgMjA5LCAxNjYsIDE0LCAzLCAyMDksIDE2OSwgMTQsIDMsIDIwOSwgMTY3LCAxNCwgMywgCisgICAgMjA5LCAxNjMsIDE0LCAzLCAyMDksIDE1MSwgMTQsIDMsIDIwOSwgMTUyLCAyOSwgMjMxLCAyNTQsIDE0LCAzLCAyMDksIAorICAgIDE1MCwgMTQsIDMsIDIwNSwgMTE2LCAxNCwgMywgMjA1LCAxMTcsIDIxMiwgODksIDE0LCAzLCAyMDUsIDExNywgOTgsIDI5LCAKKyAgICAyMzAsIDIxMCwgMTQsIDMsIDIwNSwgMTEzLCAxNCwgMywgMjA1LCAxMDYsIDE0LCAzLCAyMDUsIDkyLCAxNCwgMywgMjA1LCAKKyAgICA0MCwgMTQsIDMsIDIwNSwgNDEsIDEzMSwgMjA1LCA0MCwgMTQsIDMsIDIwNSwgMzksIDE0LCAzLCAyMDUsIDM3LCAxNCwgMywgCisgICAgMjA1LCAzOCwgMjMyLCA1NCwgMjEyLCA4OSwgMTQsIDMsIDIwNSwgMzIsIDE0LCAzLCAyMDUsIDI0LCAxNCwgMywgMjA1LCA5LCAKKyAgICAxNCwgMywgMjA1LCA3LCAxNCwgMywgMjA1LCA4LCAyOSwgNjIsIDE0LCAzLCAyMDUsIDYsIDE0LCAzLCAyMDUsIDUsIDE0LCAKKyAgICAzLCAyMzIsIDIxLCAyNDMsIDY1LCAxNCwgMywgMjUzLCAxMTYsIDI5LCAyMjMsIDE3MywgMTQsIDMsIDI1MywgMzMsIDI5LCAKKyAgICA2MiwgMTQsIDMsIDI1MiwgMTMzLCAyOSwgMjMwLCAyMjUsIDE0LCAzLCAyNDYsIDEzNywgMjMxLCA5NCwgMjksIDIxMCwgMjAsIAorICAgIDEwMSwgMjI3LCAxNzgsIDE0LCAzLCAyNDYsIDEzNSwgMTQsIDMsIDI0NSwgOTUsIDEwMSwgMjE1LCAxMTYsIDE0LCAzLCAKKyAgICAyNDMsIDIzNiwgMjksIDIxNSwgMjE0LCAxNCwgMywgMjQyLCAxNDQsIDI5LCAyMzksIDIwMiwgMTQsIDMsIDI0MiwgMTQ0LCAKKyAgICAyOSwgMjE1LCAyMTQsIDE0LCAzLCAyNDAsIDI0MywgMjksIDI1MiwgMTIzLCAxMDEsIDIzMiwgMzYsIDEwMSwgNjIsIDE0LCAKKyAgICAzLCAyNDAsIDI0MywgMjksIDI1MSwgMjIzLCAxNCwgMywgMjQwLCAxNjksIDE0LCAzLCAyNDAsIDUxLCAxNCwgMywgMjM4LCAKKyAgICAyMSwgMTQsIDMsIDIzMiwgNjYsIDI5LCAyNTIsIDkzLCAxNCwgMywgMjMyLCA2NiwgMjksIDI1MSwgMjIyLCAxNCwgMywgCisgICAgMjMyLCA2NiwgMjksIDI0MCwgMzUsIDE0LCAzLCAyMzIsIDY2LCAyOSwgMjM5LCAyMDIsIDE0LCAzLCAyMzIsIDY2LCAyOSwgCisgICAgMjM5LCAxMiwgMjksIDI1MSwgMjIzLCAxNCwgMywgMjMyLCA2NiwgMjksIDIyOSwgNjUsIDE0LCAzLCAyMzIsIDY2LCAyOSwgCisgICAgMTc5LCAxNCwgMywgMjMyLCA2NiwgMjksIDIxNSwgMTA5LCAxNCwgMywgMjMyLCA2NiwgMjksIDIxMCwgMTcwLCAxNCwgMywgCisgICAgMjMyLCA2NiwgMjksIDIwOSwgMTkyLCAxNCwgMywgMjMwLCAxMjMsIDI5LCAyNDAsIDYxLCAxNCwgMywgMjI5LCA4MCwgMjE1LCAKKyAgICAxOTcsIDI5LCAyNTAsIDE2NywgMTQsIDMsIDIyOSwgODAsIDI5LCAyNDIsIDIxMywgMTAxLCAyMzAsIDEwOCwgMTQsIDMsIAorICAgIDIyOSwgODAsIDI5LCAyMTUsIDExNiwgMTQsIDMsIDIyNywgNzAsIDE0LCAzLCAyMjYsIDY4LCAyOSwgMjA1LCAxMTYsIDE0LCAKKyAgICAzLCAyMjUsIDIzNCwgMTQsIDMsIDIyNCwgMTk5LCAxNCwgMywgMjI0LCAxOTgsIDE0LCAzLCAyMjQsIDE5NywgMjksIDI1MCwgCisgICAgMTUxLCAxNCwgMywgMjI0LCAxOTcsIDI5LCAyNDAsIDYxLCAxNCwgMywgMjIzLCAxOTAsIDIxOCwgOTcsIDIyNCwgMTkxLCAKKyAgICAyNDUsIDI0NCwgMTQsIDMsIDIyMSwgMTA4LCAyNTEsIDIwOSwgMTQsIDMsIDIyMCwgMjU1LCAxNCwgMywgMjE3LCAxODYsIAorICAgIDI5LCAyMzMsIDEwNSwgMjM5LCAxOTIsIDE0LCAzLCAyMTEsIDIxMCwgMTQsIDMsIDIwOSwgMjQyLCAyOSwgMjI3LCAxMTksIAorICAgIDE0LCAxMzMsIDMsIDExOCwgMjUxLCAyMjUsIDE0LCAxMzMsIDMsIDEyOSwgMjUxLCAyMjUsIDE0LCAxMzMsIDMsIDI0MSwgCisgICAgMTI1LCAyNTEsIDIyNSwgMTQsIDEzMywgMywgMjQxLCAyMDQsIDI1MSwgMjI1LCAxNCwgMTMzLCAzLCAyMTUsIDEwLCAyNTEsIAorICAgIDIyNSwgMTQsIDEzMywgMywgMjE2LCAyMywgMjUxLCAyMjUsIDE0LCAxMzMsIDMsIDI0MywgODgsIDI1MSwgMjI1LCAxNCwgCisgICAgMTMzLCAzLCAyMjQsIDE5NSwgMjUxLCAyMjUsIDE0LCAxMzMsIDMsIDEyOSwgMjQ1LCA5NCwgMTQsIDEzMywgMywgMjQxLCAKKyAgICAxMjUsIDI0NSwgOTQsIDE0LCAxMzMsIDMsIDI0MSwgMjA0LCAyNDUsIDk0LCAxNCwgMTMzLCAzLCAyMTUsIDEwLCAyNDUsIAorICAgIDk0LCAxNCwgMTMzLCAzLCAyMTYsIDIzLCAyNDUsIDk0LCAxNCwgMTMzLCAzLCAyNDMsIDg4LCAyNDUsIDk0LCAxNCwgMTMzLCAKKyAgICAzLCAyMjQsIDE5NSwgMjQ1LCA5NCwgMTQsIDEzMywgMywgMjQxLCAxMjUsIDcxLCAxNCwgMTMzLCAzLCAyNDEsIDIwNCwgNzEsIAorICAgIDE0LCAxMzMsIDMsIDIxNSwgMTAsIDcxLCAxNCwgMTMzLCAzLCAyMTYsIDIzLCA3MSwgMTQsIDEzMywgMywgMjQzLCA4OCwgCisgICAgNzEsIDE0LCAxMzMsIDMsIDIyNCwgMTk1LCA3MSwgMTQsIDEzMywgMywgMTE5LCAyNDAsIDE0NCwgMTQsIDEzMywgMywgMTE4LCAKKyAgICAyNDAsIDE0NCwgMTQsIDEzMywgMywgMTI5LCAyNDAsIDE0NCwgMTQsIDEzMywgMywgMjQxLCAxMjUsIDI0MCwgMTQ0LCAxNCwgCisgICAgMTMzLCAzLCAyNDEsIDIwNCwgMjQwLCAxNDQsIDE0LCAxMzMsIDMsIDIxNSwgMTAsIDI0MCwgMTQ0LCAxNCwgMTMzLCAzLCAKKyAgICAyMTYsIDIzLCAyNDAsIDE0NCwgMTQsIDEzMywgMywgMjQzLCA4OCwgMjQwLCAxNDQsIDE0LCAxMzMsIDMsIDIyNCwgMTk1LCAKKyAgICAyNDAsIDE0NCwgMTQsIDEzMywgMywgMTE5LCAyNDAsIDE0MSwgMTQsIDEzMywgMywgMTE4LCAyNDAsIDE0MSwgMTQsIDEzMywgCisgICAgMywgMTI5LCAyNDAsIDE0MSwgMTQsIDEzMywgMywgMjQxLCAxMjUsIDI0MCwgMTQxLCAxNCwgMTMzLCAzLCAyNDEsIDIwNCwgCisgICAgMjQwLCAxNDEsIDE0LCAxMzMsIDMsIDExOCwgMjE1LCAyMzAsIDE0LCAxMzMsIDMsIDEyOSwgMjE1LCAyMzAsIDE0LCAxMzMsIAorICAgIDMsIDEyOSwgMjE1LCAyMzEsIDIwOSwgNTMsIDE3LCAxNCwgMTMzLCAzLCAyNDEsIDEyNSwgMjE1LCAyMzAsIDE0LCAxMzMsIAorICAgIDMsIDI0MSwgMjA0LCAyMTUsIDIzMCwgMTQsIDEzMywgMywgMjE1LCAxMCwgMjE1LCAyMzAsIDE0LCAxMzMsIDMsIDIxNiwgCisgICAgMjMsIDIxNSwgMjMwLCAxNCwgMTMzLCAzLCAyNDMsIDg4LCAyMTUsIDIzMCwgMTQsIDEzMywgMywgMjI0LCAxOTUsIDIxNSwgCisgICAgMjMwLCAxNCwgMTMzLCAzLCAxMTksIDIxNSwgMjI1LCAxNCwgMTMzLCAzLCAxMTgsIDIxNSwgMjI1LCAxNCwgMTMzLCAzLCAKKyAgICAxMjksIDIxNSwgMjI1LCAxNCwgMTMzLCAzLCAxMjksIDIxNSwgMjI2LCAyMDksIDUzLCAxNywgMTQsIDEzMywgMywgMjQxLCAKKyAgICAxMjUsIDIxNSwgMjI1LCAxNCwgMTMzLCAzLCAyNDEsIDIwNCwgMjE1LCAyMjUsIDE0LCAxMzMsIDMsIDIxNSwgMjMxLCAyOSwgCisgICAgMjQwLCAyMjcsIDEwMSwgMjQ1LCA5NCwgMTQsIDEzMywgMywgMjE1LCAyMzEsIDI5LCAyNDAsIDIyNywgMTAxLCAyMjYsIAorICAgIDIwOSwgMTQsIDEzMywgMywgMTE5LCAyNDksIDY1LCAxNCwgMTMzLCAzLCAxMTgsIDI0OSwgNjUsIDE0LCAxMzMsIDMsIDEyOSwgCisgICAgMjQ5LCA2NSwgMTQsIDEzMywgMywgMTI5LCAyNDksIDY2LCAyMDksIDUzLCAxNywgMTQsIDEzMywgMywgMjQxLCAxMjUsIAorICAgIDI0OSwgNjUsIDE0LCAxMzMsIDMsIDI0MSwgMjA0LCAyNDksIDY1LCAxNCwgMTMzLCAzLCAxMjksIDIwOSwgNTMsIDI0MSwgCisgICAgMTM2LCAyNDIsIDIxNCwgMTQsIDEzMywgMywgMTI5LCAyMDksIDUzLCAyNDEsIDEzNiwgMjQyLCAyMTEsIDE0LCAxMzMsIDMsIAorICAgIDI0MSwgMTI1LCAyMDksIDUzLCAyNDEsIDEzNiwgMjI5LCAyMDksIDE0LCAxMzMsIDMsIDI0MSwgMTI1LCAyMDksIDUzLCAKKyAgICAyNDEsIDEzNiwgMjI5LCAyMDcsIDE0LCAxMzMsIDMsIDI0MSwgMTI1LCAyMDksIDUzLCAyNDEsIDEzNiwgMjI5LCAyMTAsIAorICAgIDYyLCAxNCwgMTMzLCAzLCAyNDEsIDEyNSwgMjA5LCA1MywgMjQxLCAxMzYsIDIyOSwgMjEwLCAyNTEsIDE1MCwgMTQsIDEzMywgCisgICAgMywgMjE1LCAxMCwgMjA5LCA1MywgMjQxLCAxMzYsIDI1MSwgMjIxLCAxNCwgMTMzLCAzLCAyMTYsIDIzLCAyMDksIDUzLCAKKyAgICAyNDEsIDEzNiwgMjMzLCA3NywgMTQsIDEzMywgMywgMjE2LCAyMywgMjA5LCA1MywgMjQxLCAxMzYsIDIzMywgNzksIDYyLCAKKyAgICAxNCwgMTMzLCAzLCAyMTYsIDIzLCAyMDksIDUzLCAyNDEsIDEzNiwgMjMzLCA3OSwgMjUxLCAxNTAsIDE0LCAxMzMsIDMsIAorICAgIDI0MywgODgsIDIwOSwgNTMsIDI0MSwgMTM2LCAyMDksIDE2NSwgMTQsIDEzMywgMywgMjQzLCA4OCwgMjA5LCA1MywgMjQxLCAKKyAgICAxMzYsIDIwOSwgMTY0LCAxNCwgMTMzLCAzLCAyMjQsIDE5NSwgMjA5LCA1MywgMjQxLCAxMzYsIDIzMywgOTMsIDE0LCAxMzMsIAorICAgIDMsIDIyNCwgMTk1LCAyMDksIDUzLCAyNDEsIDEzNiwgMjMzLCA5MiwgMTQsIDEzMywgMywgMjI0LCAxOTUsIDIwOSwgNTMsIAorICAgIDI0MSwgMTM2LCAyMzMsIDkxLCAxNCwgMTMzLCAzLCAyMjQsIDE5NSwgMjA5LCA1MywgMjQxLCAxMzYsIDIzMywgOTQsIDYyLCAKKyAgICAxNCwgMTMzLCAzLCAxMTgsIDI1MSwgMjI2LCAyMTIsIDg5LCAxNCwgMTMzLCAzLCAxMjksIDI1MSwgMjI2LCAyMTIsIDg5LCAKKyAgICAxNCwgMTMzLCAzLCAyNDEsIDEyNSwgMjUxLCAyMjYsIDIxMiwgODksIDE0LCAxMzMsIDMsIDI0MSwgMjA0LCAyNTEsIDIyNiwgCisgICAgMjEyLCA4OSwgMTQsIDEzMywgMywgMjE1LCAxMCwgMjUxLCAyMjYsIDIxMiwgODksIDE0LCAxMzMsIDMsIDExOSwgMjUwLCAKKyAgICAxMzgsIDE0LCAxMzMsIDMsIDExOCwgMjUwLCAxMzgsIDE0LCAxMzMsIDMsIDEyOSwgMjUwLCAxMzgsIDE0LCAxMzMsIDMsIAorICAgIDI0MSwgMTI1LCAyNTAsIDEzOCwgMTQsIDEzMywgMywgMjQxLCAxMjUsIDI1MCwgMTM5LCAyMDksIDUzLCAxNywgMTQsIDEzMywgCisgICAgMywgMjQxLCAyMDQsIDI1MCwgMTM4LCAxNCwgMTMzLCAzLCAyNDEsIDIwNCwgMjUwLCAxMzksIDIwOSwgNTMsIDE3LCAxNCwgCisgICAgMTMzLCAzLCAyMjQsIDIwNywgMTQsIDEzMywgMywgMjI0LCAyMDgsIDE0LCAxMzMsIDMsIDExOSwgMjQyLCAyMTAsIDE0LCAKKyAgICAxMzMsIDMsIDExOCwgMjQyLCAyMTAsIDE0LCAxMzMsIDMsIDExOSwgMjEyLCAxMSwgMjQ1LCA5NCwgMTQsIDEzMywgMywgCisgICAgMTE4LCAyMTIsIDgsIDI0NSwgOTQsIDE0LCAxMzMsIDMsIDI0MSwgMjA0LCAyMTQsIDI1NSwgMjQ1LCA5NCwgMTQsIDEzMywgCisgICAgMywgMTE5LCAyMTIsIDExLCAyMDksIDUzLCAyNDEsIDEzNiwgNjIsIDE0LCAxMzMsIDMsIDExOCwgMjEyLCA4LCAyMDksIDUzLCAKKyAgICAyNDEsIDEzNiwgNjIsIDE0LCAxMzMsIDMsIDExOSwgMjQzLCA4NCwgMjUxLCAyMjUsIDE0LCAxMzMsIDMsIDExOSwgMjE5LCAKKyAgICAyMDUsIDI1MSwgMjI1LCAxNCwgMTMzLCAzLCA0NCwgMjUxLCAyMTIsIDExOSwgMjE1LCAwLCAxNCwgMTMzLCAzLCA0NCwgCisgICAgMjUxLCAyMTIsIDExOSwgMjE5LCAyMDQsIDE0LCAxMzMsIDMsIDExOSwgMjE5LCAyMDUsIDIzOSwgMTg2LCAxNCwgMTMzLCAzLCAKKyAgICAxMTksIDE2MCwgMjM5LCAxODYsIDE0LCAxMzMsIDMsIDI0MywgNjYsIDExOSwgMjEyLCAxMCwgMTQsIDEzMywgMywgMjQzLCAKKyAgICA2NiwgMTE4LCAyMTIsIDcsIDE0LCAxMzMsIDMsIDI0MywgNjYsIDI0MSwgMTMwLCAxNCwgMTMzLCAzLCAyNDMsIDY2LCAyNDEsIAorICAgIDI0MywgMTQsIDEzMywgMywgMjQxLCAxMjUsIDEwNiwgMjA5LCA1MywgMTcsIDE0LCAxMzMsIDMsIDI0MSwgMjA0LCAxMDYsIAorICAgIDIwOSwgNTMsIDE3LCAxNCwgMTMzLCAzLCAyMTUsIDEwLCAxMDYsIDIwOSwgNTMsIDE3LCAxNCwgMTMzLCAzLCAyMTYsIDIzLCAKKyAgICAxMDYsIDIwOSwgNTMsIDE3LCAxNCwgMTMzLCAzLCAyNDMsIDg4LCAxMDYsIDIwOSwgNTMsIDE3LCAxNCwgMTMzLCAzLCAyMjQsIAorICAgIDE5NSwgMTA2LCAyMDksIDUzLCAxNywgMTQsIDIyMCwgNzIsIDMsIDQ0LCAyNTEsIDIxMiwgMjA2LCAyMzIsIDI0NSwgNzksIAorICAgIDE0LCAyMjAsIDcyLCAzLCA3OSwgMjQ3LCAxNjIsIDE0LCAyMjAsIDcyLCAzLCAyNDUsIDE2MywgMjQ3LCAxNjIsIDE0LCAKKyAgICAyMjAsIDcyLCAzLCAyNDUsIDE2MywgMjExLCA0NywgMTQsIDIyMCwgNzIsIDMsIDI0NSwgMTYzLCAyMTksIDIxMCwgMTIsIAorICAgIDEzLCAyNTQsIDI1MCwgMTIsIDEzLCAyNTQsIDI0OSwgMTIsIDEzLCAyNTQsIDI0OCwgMTIsIDEzLCAyNTQsIDI0NywgMTIsIAorICAgIDEzLCAyNTQsIDI0NiwgMTIsIDEzLCAyNTQsIDI0NSwgMTIsIDEzLCAyNTQsIDI0NCwgMTIsIDEzLCAyNTQsIDI0MywgMTIsIAorICAgIDEzLCAyNTQsIDI0MiwgMTIsIDEzLCAyNTQsIDI0MSwgMTIsIDEzLCAyNTQsIDI0MCwgMTIsIDEzLCAyNTQsIDIzOSwgMTIsIAorICAgIDEzLCAyNTQsIDIzOCwgMTIsIDEzLCAyNTQsIDIzNywgMTIsIDEzLCAyNTQsIDIzNiwgMTIsIDEzLCAyNTQsIDIzNSwgMTIsIAorICAgIDEzLCAyNTQsIDIzNCwgMTIsIDEzLCAyNTQsIDIzMywgMTIsIDEzLCAyNTQsIDIzMiwgMTIsIDEzLCAyNTQsIDIzMSwgMTIsIAorICAgIDEzLCAyNTQsIDIzMCwgMTIsIDEzLCAyNTQsIDIyOSwgMTIsIDEzLCAyNTQsIDIyOCwgMTIsIDEzLCAyNTQsIDIyNywgMTIsIAorICAgIDEzLCAyNTQsIDIyNiwgMTIsIDEzLCAyNTQsIDIyNSwgMTIsIDEzLCAyNTQsIDIyNCwgMTIsIDEzLCAyNTQsIDIyMywgMTIsIAorICAgIDEzLCAyNTQsIDIyMiwgMTIsIDEzLCAyNTQsIDIyMSwgMTIsIDEzLCAyNTQsIDIyMCwgMTIsIDEzLCAyNTQsIDIxOSwgMTIsIAorICAgIDEzLCAyNTQsIDIxOCwgMTIsIDEzLCAyNTQsIDIxNiwgMTIsIDEzLCAyNTQsIDIxNSwgMTIsIDEzLCAyNTQsIDIxNCwgMTIsIAorICAgIDEzLCAyNTQsIDIxMywgMTIsIDEzLCAyNTQsIDIxMiwgMTIsIDEzLCAyNTQsIDIxMSwgMTIsIDEzLCAyNTQsIDIxMCwgMTIsIAorICAgIDEzLCAyNTQsIDIwOSwgMTIsIDEzLCAyNTQsIDIwOCwgMTIsIDEzLCAyNTQsIDIwNywgMTIsIDEzLCAyNTQsIDIwNiwgMTIsIAorICAgIDEzLCAyNTQsIDIwNSwgMTIsIDEzLCAyNTQsIDIwNCwgMTIsIDEzLCAyNTQsIDIwMywgMTIsIDEzLCAyNTQsIDIwMiwgMTIsIAorICAgIDEzLCAyNTQsIDIwMSwgMTIsIDEzLCAyNTQsIDIwMCwgMTIsIDEzLCAyNTQsIDE5OSwgMTIsIDEzLCAyNTQsIDE5OCwgMTIsIAorICAgIDEzLCAyNTQsIDE5NywgMTIsIDEzLCAyNTQsIDE5NiwgMTIsIDEzLCAyNTQsIDE5NSwgMTIsIDEzLCAyNTQsIDE5NCwgMTIsIAorICAgIDEzLCAyNTQsIDE5MywgMTIsIDEzLCAyNTQsIDE5MiwgMTIsIDEzLCAyNTQsIDE5MSwgMTIsIDEzLCAyNTQsIDE5MCwgMTIsIAorICAgIDEzLCAyNTQsIDE4OSwgMTIsIDEzLCAyNTQsIDE4OCwgMTIsIDEzLCAyNTQsIDE4NywgMTIsIDEzLCAyNTQsIDE4NiwgMTIsIAorICAgIDEzLCAyNTQsIDE4NSwgMTIsIDEzLCAyNTQsIDE4NCwgMTIsIDEzLCAyNTQsIDE4MywgMTIsIDEzLCAyNTQsIDE4MiwgMTIsIAorICAgIDEzLCAyNTQsIDE4MSwgMTIsIDEzLCAyNTQsIDE4MCwgMTIsIDEzLCAyNTQsIDE3OSwgMTIsIDEzLCAyNTQsIDE3OCwgMTIsIAorICAgIDEzLCAyNTQsIDE3NywgMTIsIDEzLCAyNTQsIDE3NiwgMTIsIDEzLCAyNTQsIDE3NSwgMTIsIDEzLCAyNTQsIDE3NCwgMTIsIAorICAgIDEzLCAyNTQsIDE3MywgMTIsIDEzLCAyNTQsIDE3MiwgMTIsIDEzLCAyNTQsIDE3MSwgMTIsIDEzLCAyNTQsIDE3MCwgMTIsIAorICAgIDEzLCAyNTEsIDE0OCwgMTIsIDEzLCAyNTEsIDE0NiwgMTIsIDEzLCAyNTEsIDE0NCwgMTIsIDEzLCAyNTEsIDE0MiwgMTIsIAorICAgIDEzLCAyNTEsIDE0MCwgMTIsIDEzLCAyNTEsIDEzOSwgMTIsIDEzLCAyNTEsIDEzNywgMTIsIDEzLCAyNTEsIDEzNSwgMTIsIAorICAgIDEzLCAyNTEsIDEzMywgMTIsIDEzLCAyNTEsIDEzMSwgMTIsIDEzLCAyNDksIDMwLCAxMiwgMTMsIDI0OSwgMjksIDEyLCAxMywgCisgICAgMjQ5LCAyOCwgMTIsIDEzLCAyNDksIDI3LCAxMiwgMTMsIDI0OSwgMjYsIDEyLCAxMywgMjQ5LCAyNSwgMTIsIDEzLCAyNDksIAorICAgIDI0LCAxMiwgMTMsIDI0OSwgMjMsIDEyLCAxMywgMjQ5LCAyMiwgMTIsIDEzLCAyNDksIDIxLCAxMiwgMTMsIDI0OSwgMjAsIAorICAgIDEyLCAxMywgMjQ5LCAxOSwgMTIsIDEzLCAyNDksIDE4LCAxMiwgMTMsIDI0OSwgMTcsIDEyLCAxMywgMjQ5LCAxNiwgMTIsIAorICAgIDEzLCAyNDksIDE1LCAxMiwgMTMsIDI0OSwgMTQsIDEyLCAxMywgMjQ5LCAxMywgMTIsIDEzLCAyNDksIDEyLCAxMiwgMTMsIAorICAgIDI0OSwgMTEsIDEyLCAxMywgMjQ5LCAxMCwgMTIsIDEzLCAyNDksIDksIDEyLCAxMywgMjQ5LCA4LCAxMiwgMTMsIDI0OSwgNywgCisgICAgMTIsIDEzLCAyNDksIDYsIDEyLCAxMywgMjQ5LCA1LCAxMiwgMTMsIDI0OSwgNCwgMTIsIDEzLCAyNDksIDMsIDEyLCAxMywgCisgICAgMjQ2LCAyMzksIDEyLCAxMywgMjQ2LCAyMzgsIDEyLCAxMywgMjQ2LCAyMzcsIDEyLCAxMywgMjQ2LCAyMzYsIDEyLCAxMywgCisgICAgMjQ2LCAyMzUsIDEyLCAxMywgMjQ2LCAyMzQsIDEyLCAxMywgMjQ2LCAyMzMsIDEyLCAxMywgMjQ2LCAyMzIsIDEyLCAxMywgCisgICAgMjQ2LCAyMzEsIDEyLCAxMywgMjQ2LCAyMzAsIDEyLCAxMywgMjQ2LCAyMjksIDEyLCAxMywgMjQ2LCAyMjgsIDEyLCAxMywgCisgICAgMjQ2LCAyMjcsIDEyLCAxMywgMjQ2LCAyMjYsIDEyLCAxMywgMjQ2LCAyMjUsIDEyLCAxMywgMjQ2LCAyMjQsIDEyLCAxMywgCisgICAgMjQ2LCAyMjMsIDEyLCAxMywgMjQ2LCAyMjIsIDEyLCAxMywgMjQ2LCAyMjEsIDEyLCAxMywgMjQ2LCAyMjAsIDEyLCAxMywgCisgICAgMjQ2LCAyMTksIDEyLCAxMywgMjQ2LCAyMTgsIDEyLCAxMywgMjQ2LCAyMTcsIDEyLCAxMywgMjQ2LCAyMTYsIDEyLCAxMywgCisgICAgMjQ2LCAyMTUsIDEyLCAxMywgMjQ2LCAyMTQsIDEyLCAxMywgMjQ2LCAyMTMsIDEyLCAxMywgMjQ2LCAyMTIsIDEyLCAxMywgCisgICAgMjQ2LCAyMTEsIDEyLCAxMywgMjQ2LCAyMTAsIDEyLCAxMywgMjQ2LCAyMDksIDEyLCAxMywgMjQ2LCAyMDgsIDEyLCAxMywgCisgICAgMjQ2LCAyMDcsIDEyLCAxMywgMjQ2LCAyMDYsIDEyLCAxMywgMjQ2LCAyMDUsIDEyLCAxMywgMjQ2LCAyMDQsIDEyLCAxMywgCisgICAgMjQ2LCAyMDMsIDEyLCAxMywgMjQ2LCAyMDIsIDEyLCAxMywgMjQ2LCAyMDEsIDEyLCAxMywgMjQ2LCAyMDAsIDEyLCAxMywgCisgICAgMjQ2LCAxOTksIDEyLCAxMywgMjQ2LCAxOTgsIDEyLCAxMywgMjQ2LCAxOTcsIDEyLCAxMywgMjQ2LCAxOTYsIDEyLCAxMywgCisgICAgMjQ2LCAxOTUsIDEyLCAxMywgMjQ2LCAxOTQsIDEyLCAxMywgMjQ2LCAxOTMsIDEyLCAxMywgMjQ2LCAxOTIsIDEyLCAxMywgCisgICAgMjQ2LCAxOTEsIDEyLCAxMywgMjQ2LCAxOTAsIDEyLCAxMywgMjQ2LCAxODksIDEyLCAxMywgMjQ2LCAxODgsIDEyLCAxMywgCisgICAgMjQ2LCAxODcsIDEyLCAxMywgMjQ2LCAxODYsIDEyLCAxMywgMjQ2LCAxODUsIDEyLCAxMywgMjQ2LCAxODQsIDEyLCAxMywgCisgICAgMjQ2LCAxODMsIDEyLCAxMywgMjQ2LCAxODIsIDEyLCAxMywgMjQ2LCAxODEsIDEyLCAxMywgMjQ2LCAxODAsIDEyLCAxMywgCisgICAgMjQ2LCAxNzksIDEyLCAxMywgMjQ2LCAxNzgsIDEyLCAxMywgMjQ2LCAxNzcsIDEyLCAxMywgMjQ2LCAxNzYsIDEyLCAxMywgCisgICAgMjQ2LCAxNzUsIDEyLCAxMywgMjQ2LCAxNzQsIDEyLCAxMywgMjQ2LCAxNzMsIDEyLCAxMywgMjQ2LCAxNzIsIDEyLCAxMywgCisgICAgMjQ2LCAxNzEsIDEyLCAxMywgMjQ2LCAxNzAsIDEyLCAxMywgMjQ2LCAxNjksIDEyLCAxMywgMjQ2LCAxNjgsIDEyLCAxMywgCisgICAgMjQ2LCAxNjcsIDEyLCAxMywgMjQ2LCAxNjYsIDEyLCAxMywgMjQ2LCAxNjUsIDEyLCAxMywgMjQ2LCAxNjQsIDEyLCAxMywgCisgICAgMjQ2LCAxNjMsIDEyLCAxMywgMjQ2LCAxNjIsIDEyLCAxMywgMjQ2LCAxNjEsIDEyLCAxMywgMjQ2LCAxNjAsIDEyLCAxMywgCisgICAgMjQ2LCAxNTksIDEyLCAxMywgMjQ2LCAxNTgsIDEyLCAxMywgMjQ2LCAxNTcsIDEyLCAxMywgMjQ2LCAxNTYsIDEyLCAxMywgCisgICAgMjQ2LCAxNTUsIDEyLCAxMywgMjQ2LCAxNTQsIDEyLCAxMywgMjQ2LCAxNTMsIDEyLCAxMywgMjQ2LCAxNTIsIDEyLCAxMywgCisgICAgMjQ2LCAxNTEsIDEyLCAxMywgMjQ2LCAxNTAsIDEyLCAxMywgMjQ2LCAxNDksIDEyLCAxMywgMjQ2LCAxNDgsIDEyLCAxMywgCisgICAgMjQzLCAxNzYsIDEyLCAxMywgMjQzLCAxNzUsIDEyLCAxMywgMjQzLCAxNzQsIDEyLCAxMywgMjQzLCAxNzMsIDEyLCAxMywgCisgICAgMjQzLCAxNzIsIDEyLCAxMywgMjQzLCAxNzEsIDEyLCAxMywgMjQzLCAxNzAsIDEyLCAxMywgMjQzLCAxNjksIDEyLCAxMywgCisgICAgMjQzLCAxNjgsIDEyLCAxMywgMjQzLCAxNjcsIDEyLCAxMywgMjQzLCAxNjYsIDEyLCAxMywgMjQzLCAxNjUsIDEyLCAxMywgCisgICAgMjQzLCAxNjQsIDEyLCAxMywgMjQzLCAxNjMsIDEyLCAxMywgMjQzLCAxNjIsIDEyLCAxMywgMjQzLCAxNjEsIDEyLCAxMywgCisgICAgMjQzLCAxNjAsIDEyLCAxMywgMjQzLCAxNTksIDEyLCAxMywgMjQzLCAxNTgsIDEyLCAxMywgMjQzLCAxNTcsIDEyLCAxMywgCisgICAgMjQzLCAxNTYsIDEyLCAxMywgMjQzLCAxNTUsIDEyLCAxMywgMjQzLCAxNTQsIDEyLCAxMywgMjQzLCAxNTMsIDEyLCAxMywgCisgICAgMjQzLCAxNTIsIDEyLCAxMywgMjQzLCAxNTEsIDEyLCAxMywgMjQzLCAxNTAsIDEyLCAxMywgMjQzLCAxNDksIDEyLCAxMywgCisgICAgMjQzLCAxNDgsIDEyLCAxMywgMjQzLCAxNDcsIDEyLCAxMywgMjQzLCAxNDYsIDEyLCAxMywgMjQzLCAxNDUsIDEyLCAxMywgCisgICAgMjQzLCAxNDQsIDEyLCAxMywgMjQzLCAxNDMsIDEyLCAxMywgMjQzLCAxNDIsIDEyLCAxMywgMjQzLCAxNDEsIDEyLCAxMywgCisgICAgMjQzLCAxNDAsIDEyLCAxMywgMjQzLCAxMzksIDEyLCAxMywgMjQzLCAxMzgsIDEyLCAxMywgMjQzLCAxMzcsIDEyLCAxMywgCisgICAgMjQzLCAxMzYsIDEyLCAxMywgMjQzLCAxMzUsIDEyLCAxMywgMjQzLCAxMzQsIDEyLCAxMywgMjQzLCAxMzMsIDEyLCAxMywgCisgICAgMjQyLCAxMzgsIDEyLCAxMywgMjQyLCAxMzcsIDEyLCAxMywgMjQyLCAxMzYsIDEyLCAxMywgMjQyLCAxMzUsIDEyLCAxMywgCisgICAgMjQyLCAxMzQsIDEyLCAxMywgMjQyLCAxMzMsIDEyLCAxMywgMjQyLCAxMzIsIDEyLCAxMywgMjQyLCAxMzEsIDEyLCAxMywgCisgICAgMjQyLCAxMzAsIDEyLCAxMywgMjQyLCAxMjksIDEyLCAxMywgMjQyLCAxMjgsIDEyLCAxMywgMjQyLCAxMjcsIDEyLCAxMywgCisgICAgMjQyLCAxMjYsIDEyLCAxMywgMjQyLCAxMjUsIDEyLCAxMywgMjQyLCAxMjQsIDEyLCAxMywgMjQyLCAxMjMsIDEyLCAxMywgCisgICAgMjQyLCAxMjIsIDEyLCAxMywgMjQyLCAxMjEsIDEyLCAxMywgMjQyLCAxMjAsIDEyLCAxMywgMjQyLCAxMTksIDEyLCAxMywgCisgICAgMjQyLCAxMTgsIDEyLCAxMywgMjQyLCAxMTcsIDEyLCAxMywgMjQyLCAxMTYsIDEyLCAxMywgMjQyLCAxMTUsIDEyLCAxMywgCisgICAgMjQyLCAxMTQsIDEyLCAxMywgMjQyLCAxMTMsIDEyLCAxMywgMjQyLCAxMTIsIDEyLCAxMywgMjQyLCAxMTEsIDEyLCAxMywgCisgICAgMjQyLCAxMTAsIDEyLCAxMywgMjQyLCAxMDksIDEyLCAxMywgMjQyLCAxMDgsIDEyLCAxMywgMjQyLCAxMDcsIDEyLCAxMywgCisgICAgMjQyLCAxMDYsIDEyLCAxMywgMjQyLCAxMDUsIDEyLCAxMywgMjQyLCAxMDQsIDEyLCAxMywgMjQyLCAxMDMsIDEyLCAxMywgCisgICAgMjQyLCAxMDIsIDEyLCAxMywgMjQyLCAxMDEsIDEyLCAxMywgMjQyLCAxMDAsIDEyLCAxMywgMjQyLCA5OSwgMTIsIDEzLCAKKyAgICAyNDIsIDk4LCAxMiwgMTMsIDI0MiwgOTcsIDEyLCAxMywgMjQyLCA5NiwgMTIsIDEzLCAyNDIsIDk1LCAxMiwgMTMsIDI0MiwgCisgICAgOTQsIDEyLCAxMywgMjQyLCA5MywgMTIsIDEzLCAyNDIsIDkyLCAxMiwgMTMsIDI0MiwgOTEsIDEyLCAxMywgMjQyLCA5MCwgCisgICAgMTIsIDEzLCAyNDIsIDg5LCAxMiwgMTMsIDI0MiwgODgsIDEyLCAxMywgMjQyLCA4NywgMTIsIDEzLCAyNDIsIDg2LCAxMiwgCisgICAgMTMsIDI0MiwgODUsIDEyLCAxMywgMjQyLCA4NCwgMTIsIDEzLCAyNDIsIDgzLCAxMiwgMTMsIDI0MiwgODIsIDEyLCAxMywgCisgICAgMjQyLCA4MSwgMTIsIDEzLCAyNDIsIDgwLCAxMiwgMTMsIDI0MiwgNzksIDEyLCAxMywgMjQyLCA3OCwgMTIsIDEzLCAyNDIsIAorICAgIDc3LCAxMiwgMTMsIDI0MiwgNzYsIDEyLCAxMywgMjQyLCA3NSwgMTIsIDEzLCAyNDIsIDc0LCAxMiwgMTMsIDI0MSwgNTQsIAorICAgIDEyLCAxMywgMjQxLCA1MywgMTIsIDEzLCAyNDEsIDUyLCAxMiwgMTMsIDI0MSwgNTEsIDEyLCAxMywgMjQxLCA1MCwgMTIsIAorICAgIDEzLCAyNDEsIDQ5LCAxMiwgMTMsIDI0MSwgNDgsIDEyLCAxMywgMjQxLCA0NywgMTIsIDEzLCAyNDEsIDQ2LCAxMiwgMTMsIAorICAgIDI0MSwgNDUsIDEyLCAxMywgMjQxLCA0NCwgMTIsIDEzLCAyNDEsIDQzLCAxMiwgMTMsIDI0MSwgNDIsIDEyLCAxMywgMjQxLCAKKyAgICA0MSwgMTIsIDEzLCAyNDEsIDQwLCAxMiwgMTMsIDI0MSwgMzksIDEyLCAxMywgMjQxLCAzOCwgMTIsIDEzLCAyNDEsIDM3LCAKKyAgICAxMiwgMTMsIDI0MSwgMzYsIDEyLCAxMywgMjQxLCAzNSwgMTIsIDEzLCAyNDEsIDM0LCAxMiwgMTMsIDI0MSwgMzMsIDEyLCAKKyAgICAxMywgMjQxLCAzMiwgMTIsIDEzLCAyNDEsIDMxLCAxMiwgMTMsIDI0MSwgMzAsIDEyLCAxMywgMjQxLCAyOSwgMTIsIDEzLCAKKyAgICAyNDEsIDI4LCAxMiwgMTMsIDI0MSwgMjcsIDEyLCAxMywgMjQxLCAyNiwgMTIsIDEzLCAyNDEsIDI1LCAxMiwgMTMsIDI0MSwgCisgICAgMjQsIDEyLCAxMywgMjQxLCAyMywgMTIsIDEzLCAyNDEsIDIyLCAxMiwgMTMsIDI0MSwgMjEsIDEyLCAxMywgMjQxLCAyMCwgCisgICAgMTIsIDEzLCAyNDEsIDE5LCAxMiwgMTMsIDI0MSwgMTgsIDEyLCAxMywgMjQxLCAxNywgMTIsIDEzLCAyNDEsIDE2LCAxMiwgCisgICAgMTMsIDI0MSwgMTUsIDEyLCAxMywgMjQxLCAxNCwgMTIsIDEzLCAyNDEsIDEzLCAxMiwgMTMsIDI0MSwgMTIsIDEyLCAxMywgCisgICAgMjQxLCAxMSwgMTIsIDEzLCAyNDEsIDEwLCAxMiwgMTMsIDI0MSwgOSwgMTIsIDEzLCAyNDEsIDgsIDEyLCAxMywgMjQxLCA3LCAKKyAgICAxMiwgMTMsIDI0MSwgNiwgMTIsIDEzLCAyNDEsIDUsIDEyLCAxMywgMjQxLCA0LCAxMiwgMTMsIDI0MSwgMywgMTIsIDEzLCAKKyAgICAyNDEsIDIsIDEyLCAxMywgMjQxLCAxLCAxMiwgMTMsIDI0MSwgMCwgMTIsIDEzLCAyNDAsIDI1NSwgMTIsIDEzLCAyNDAsIAorICAgIDI1NCwgMTIsIDEzLCAyNDAsIDI1MywgMTIsIDEzLCAyNDAsIDI1MiwgMTIsIDEzLCAyNDAsIDI1MSwgMTIsIDEzLCAyNDAsIAorICAgIDI1MCwgMTIsIDEzLCAyNDAsIDI0OSwgMTIsIDEzLCAyNDAsIDI0OCwgMTIsIDEzLCAyNDAsIDI0NywgMTIsIDEzLCAyMzksIAorICAgIDE1MywgMTIsIDEzLCAyMzksIDE1MiwgMTIsIDEzLCAyMzksIDE1MSwgMTIsIDEzLCAyMzksIDE1MCwgMTIsIDEzLCAyMzksIAorICAgIDE0OSwgMTIsIDEzLCAyMzksIDE0OCwgMTIsIDEzLCAyMzksIDE0NywgMTIsIDEzLCAyMzksIDE0NiwgMTIsIDEzLCAyMzksIAorICAgIDE0NSwgMTIsIDEzLCAyMzcsIDIwOSwgMTIsIDEzLCAyMzcsIDIwOCwgMTIsIDEzLCAyMzcsIDIwNywgMTIsIDEzLCAyMzcsIAorICAgIDIwNiwgMTIsIDEzLCAyMzcsIDIwNSwgMTIsIDEzLCAyMzcsIDIwNCwgMTIsIDEzLCAyMzcsIDIwMywgMTIsIDEzLCAyMzcsIAorICAgIDIwMiwgMTIsIDEzLCAyMzcsIDIwMSwgMTIsIDEzLCAyMzcsIDIwMCwgMTIsIDEzLCAyMzcsIDE5OSwgMTIsIDEzLCAyMzcsIAorICAgIDE5OCwgMTIsIDEzLCAyMzcsIDE5NywgMTIsIDEzLCAyMzcsIDE5NiwgMTIsIDEzLCAyMzcsIDE5NSwgMTIsIDEzLCAyMzcsIAorICAgIDE5NCwgMTIsIDEzLCAyMzcsIDE5MywgMTIsIDEzLCAyMzcsIDE5MiwgMTIsIDEzLCAyMzcsIDE5MSwgMTIsIDEzLCAyMzIsIAorICAgIDc1LCAxMiwgMTMsIDIzMiwgNzQsIDEyLCAxMywgMjMyLCA3MywgMTIsIDEzLCAyMzIsIDcyLCAxMiwgMTMsIDIzMiwgNzEsIAorICAgIDEyLCAxMywgMjMyLCA3MCwgMTIsIDEzLCAyMzIsIDY5LCAxMiwgMTMsIDIzMiwgNjgsIDEyLCAxMywgMjMwLCAxNTYsIDEyLCAKKyAgICAxMywgMjMwLCAxNTUsIDEyLCAxMywgMjMwLCAxNTQsIDEyLCAxMywgMjMwLCAxNTMsIDEyLCAxMywgMjMwLCAxNTIsIDEyLCAKKyAgICAxMywgMjMwLCAxNTEsIDEyLCAxMywgMjMwLCAxNTAsIDEyLCAxMywgMjMwLCAxNDksIDEyLCAxMywgMjMwLCAxNDgsIDEyLCAKKyAgICAxMywgMjMwLCAxNDcsIDEyLCAxMywgMjI5LCAyNiwgMTIsIDEzLCAyMjksIDI1LCAxMiwgMTMsIDIyOSwgMjQsIDEyLCAxMywgCisgICAgMjI5LCAyMiwgMTIsIDEzLCAyMjksIDIwLCAxMiwgMTMsIDIyOSwgMTksIDEyLCAxMywgMjI5LCAxNywgMTIsIDEzLCAyMjksIAorICAgIDE1LCAxMiwgMTMsIDIyOSwgMTMsIDEyLCAxMywgMjI5LCAxMSwgMTIsIDEzLCAyMjksIDksIDEyLCAxMywgMjI5LCA3LCAxMiwgCisgICAgMTMsIDIyOSwgNSwgMTIsIDEzLCAyMjksIDQsIDEyLCAxMywgMjI5LCAyLCAxMiwgMTMsIDIyOSwgMCwgMTIsIDEzLCAyMjgsIAorICAgIDI1NSwgMTIsIDEzLCAyMjgsIDI1NCwgMTIsIDEzLCAyMjgsIDI1MywgMTIsIDEzLCAyMjgsIDI1MiwgMTIsIDEzLCAyMjgsIAorICAgIDI1MSwgMTIsIDEzLCAyMjgsIDI1MCwgMTIsIDEzLCAyMjgsIDI0OSwgMTIsIDEzLCAyMjgsIDI0OCwgMTIsIDEzLCAyMjgsIAorICAgIDI0NiwgMTIsIDEzLCAyMjgsIDI0NCwgMTIsIDEzLCAyMjgsIDI0MiwgMTIsIDEzLCAyMjgsIDI0MSwgMTIsIDEzLCAyMjgsIAorICAgIDIzOSwgMTIsIDEzLCAyMjgsIDIzOCwgMTIsIDEzLCAyMjgsIDIzNiwgMTIsIDEzLCAyMjgsIDIzNSwgMTIsIDEzLCAyMjgsIAorICAgIDIzMywgMTIsIDEzLCAyMjgsIDIzMSwgMTIsIDEzLCAyMjgsIDIyOSwgMTIsIDEzLCAyMjgsIDIyNywgMTIsIDEzLCAyMjgsIAorICAgIDIyNSwgMTIsIDEzLCAyMjgsIDIyNCwgMTIsIDEzLCAyMjgsIDIyMiwgMTIsIDEzLCAyMjgsIDIyMCwgMTIsIDEzLCAyMjgsIAorICAgIDIxOSwgMTIsIDEzLCAyMjgsIDIxNywgMTIsIDEzLCAyMjgsIDIxNSwgMTIsIDEzLCAyMjgsIDIxMywgMTIsIDEzLCAyMjgsIAorICAgIDIxMSwgMTIsIDEzLCAyMjgsIDIxMCwgMTIsIDEzLCAyMjgsIDIwOCwgMTIsIDEzLCAyMjgsIDIwNiwgMTIsIDEzLCAyMjgsIAorICAgIDIwNCwgMTIsIDEzLCAyMjgsIDIwMywgMTIsIDEzLCAyMjgsIDIwMSwgMTIsIDEzLCAyMjgsIDE5OSwgMTIsIDEzLCAyMjgsIAorICAgIDE5OCwgMTIsIDEzLCAyMjgsIDE5NywgMTIsIDEzLCAyMjgsIDE5NSwgMTIsIDEzLCAyMjgsIDE5MywgMTIsIDEzLCAyMjgsIAorICAgIDE5MSwgMTIsIDEzLCAyMjgsIDE4OSwgMTIsIDEzLCAyMjgsIDE4NywgMTIsIDEzLCAyMjgsIDE4NSwgMTIsIDEzLCAyMjgsIAorICAgIDE4MywgMTIsIDEzLCAyMjgsIDE4MiwgMTIsIDEzLCAyMjgsIDE4MCwgMTIsIDEzLCAyMjgsIDE3OCwgMTIsIDEzLCAyMjgsIAorICAgIDE3NiwgMTIsIDEzLCAyMjgsIDE3NCwgMTIsIDEzLCAyMjYsIDMwLCAxMiwgMTMsIDIyNiwgMjksIDEyLCAxMywgMjI2LCAyOCwgCisgICAgMTIsIDEzLCAyMjYsIDI3LCAxMiwgMTMsIDIyNiwgMjYsIDEyLCAxMywgMjI2LCAyNSwgMTIsIDEzLCAyMjYsIDI0LCAxMiwgCisgICAgMTMsIDIyNiwgMjMsIDEyLCAxMywgMjI2LCAyMiwgMTIsIDEzLCAyMjYsIDIxLCAxMiwgMTMsIDIyNiwgMjAsIDEyLCAxMywgCisgICAgMjI2LCAxOSwgMTIsIDEzLCAyMjYsIDE4LCAxMiwgMTMsIDIyNiwgMTcsIDEyLCAxMywgMjI2LCAxNiwgMTIsIDEzLCAyMjYsIAorICAgIDE1LCAxMiwgMTMsIDIyNiwgMTQsIDEyLCAxMywgMjI2LCAxMywgMTIsIDEzLCAyMjYsIDEyLCAxMiwgMTMsIDIyNiwgMTEsIAorICAgIDEyLCAxMywgMjI2LCAxMCwgMTIsIDEzLCAyMjYsIDksIDEyLCAxMywgMjI2LCA4LCAxMiwgMTMsIDIyNiwgNywgMTIsIDEzLCAKKyAgICAyMjYsIDYsIDEyLCAxMywgMjI2LCA1LCAxMiwgMTMsIDIyNiwgNCwgMTIsIDEzLCAyMjYsIDMsIDEyLCAxMywgMjI2LCAyLCAKKyAgICAxMiwgMTMsIDIyNiwgMSwgMTIsIDEzLCAyMjYsIDAsIDEyLCAxMywgMjI1LCAyNTUsIDEyLCAxMywgMjI1LCAyNTQsIDEyLCAKKyAgICAxMywgMjI1LCAyNTMsIDEyLCAxMywgMjI1LCAyNTIsIDEyLCAxMywgMjI1LCAyNTEsIDEyLCAxMywgMjI1LCAyNTAsIDEyLCAKKyAgICAxMywgMjI1LCAyNDksIDEyLCAxMywgMjI1LCAyNDgsIDEyLCAxMywgMjI1LCAyNDcsIDEyLCAxMywgMjI1LCAyNDYsIDEyLCAKKyAgICAxMywgMjI1LCAyNDUsIDEyLCAxMywgMjI1LCAyNDQsIDEyLCAxMywgMjI1LCAyNDMsIDEyLCAxMywgMjI1LCAyNDIsIDEyLCAKKyAgICAxMywgMjI1LCAyNDEsIDEyLCAxMywgMjI1LCAyNDAsIDEyLCAxMywgMjI1LCAyMzksIDEyLCAxMywgMjI1LCAyMzgsIDEyLCAKKyAgICAxMywgMjI0LCAxMjgsIDEyLCAxMywgMjI0LCAxMjcsIDEyLCAxMywgMjI0LCAxMjYsIDEyLCAxMywgMjI0LCAxMjUsIDEyLCAKKyAgICAxMywgMjI0LCAxMjQsIDEyLCAxMywgMjI0LCAxMjMsIDEyLCAxMywgMjI0LCAxMjIsIDEyLCAxMywgMjI0LCAxMjEsIDEyLCAKKyAgICAxMywgMjI0LCAxMjAsIDEyLCAxMywgMjI0LCAxMTksIDEyLCAxMywgMjI0LCAxMTgsIDEyLCAxMywgMjI0LCAxMTcsIDEyLCAKKyAgICAxMywgMjI0LCAxMTYsIDEyLCAxMywgMjI0LCAxMTUsIDEyLCAxMywgMjI0LCAxMTQsIDEyLCAxMywgMjI0LCAxMTMsIDEyLCAKKyAgICAxMywgMjI0LCAxMTIsIDEyLCAxMywgMjI0LCAxMTEsIDEyLCAxMywgMjI0LCAxMTAsIDEyLCAxMywgMjI0LCAxMDksIDEyLCAKKyAgICAxMywgMjI0LCAxMDgsIDEyLCAxMywgMjI0LCAxMDcsIDEyLCAxMywgMjIzLCAyMTYsIDEyLCAxMywgMjIzLCAyMTUsIDEyLCAKKyAgICAxMywgMjIzLCAyMTQsIDEyLCAxMywgMjIzLCAyMTMsIDEyLCAxMywgMjIzLCAyMTIsIDEyLCAxMywgMjIzLCAyMTEsIDEyLCAKKyAgICAxMywgMjIzLCAyMTAsIDEyLCAxMywgMjIzLCAyMDksIDEyLCAxMywgMjIzLCAyMDgsIDEyLCAxMywgMjIzLCAyMDcsIDEyLCAKKyAgICAxMywgMjIzLCAyMDYsIDEyLCAxMywgMjIzLCAyMDUsIDEyLCAxMywgMjIzLCAyMDQsIDEyLCAxMywgMjIzLCAyMDMsIDEyLCAKKyAgICAxMywgMjIzLCAyMDIsIDEyLCAxMywgMjIzLCAyMDEsIDEyLCAxMywgMjIzLCAyMDAsIDEyLCAxMywgMjIzLCAxOTksIDEyLCAKKyAgICAxMywgMjIzLCAxOTgsIDEyLCAxMywgMjIzLCAxOTcsIDEyLCAxMywgMjIzLCAxOTYsIDEyLCAxMywgMjIzLCAxOTUsIDEyLCAKKyAgICAxMywgMjIzLCAxOTQsIDEyLCAxMywgMjIzLCAxOTMsIDEyLCAxMywgMjIzLCAxOTIsIDEyLCAxMywgMjIzLCAxOTEsIDEyLCAKKyAgICAxMywgMjIzLCA1MCwgMTIsIDEzLCAyMjMsIDQ5LCAxMiwgMTMsIDIyMywgNDgsIDEyLCAxMywgMjIzLCA0NywgMTIsIDEzLCAKKyAgICAyMjMsIDQ2LCAxMiwgMTMsIDIyMywgNDUsIDEyLCAxMywgMjIzLCA0NCwgMTIsIDEzLCAyMjMsIDQzLCAxMiwgMTMsIDIyMywgCisgICAgNDIsIDEyLCAxMywgMjIzLCA0MSwgMTIsIDEzLCAyMjMsIDQwLCAxMiwgMTMsIDIyMywgMzksIDEyLCAxMywgMjIzLCAzOCwgCisgICAgMTIsIDEzLCAyMjMsIDM3LCAxMiwgMTMsIDIyMywgMzYsIDEyLCAxMywgMjIzLCAzNSwgMTIsIDEzLCAyMjMsIDM0LCAxMiwgCisgICAgMTMsIDIyMywgMzMsIDEyLCAxMywgMjIzLCAzMiwgMTIsIDEzLCAyMjMsIDMxLCAxMiwgMTMsIDIyMywgMzAsIDEyLCAxMywgCisgICAgMjIzLCAyOSwgMTIsIDEzLCAyMjMsIDI4LCAxMiwgMTMsIDIyMywgMjcsIDEyLCAxMywgMjIzLCAyNiwgMTIsIDEzLCAyMjMsIAorICAgIDI1LCAxMiwgMTMsIDIyMywgMjQsIDEyLCAxMywgMjIzLCAyMywgMTIsIDEzLCAyMjMsIDIyLCAxMiwgMTMsIDIyMywgMjEsIAorICAgIDEyLCAxMywgMjIzLCAyMCwgMTIsIDEzLCAyMjMsIDE5LCAxMiwgMTMsIDIyMywgMTgsIDEyLCAxMywgMjIzLCAxNywgMTIsIAorICAgIDEzLCAyMjMsIDE2LCAxMiwgMTMsIDIyMywgMTUsIDEyLCAxMywgMjIzLCAxNCwgMTIsIDEzLCAyMjMsIDEzLCAxMiwgMTMsIAorICAgIDIyMywgMTIsIDEyLCAxMywgMjIzLCAxMSwgMTIsIDEzLCAyMjMsIDEwLCAxMiwgMTMsIDIyMywgOSwgMTIsIDEzLCAyMjMsIAorICAgIDgsIDEyLCAxMywgMjIzLCA3LCAxMiwgMTMsIDIyMywgNiwgMTIsIDEzLCAyMjMsIDUsIDEyLCAxMywgMjIzLCA0LCAxMiwgCisgICAgMTMsIDIyMywgMywgMTIsIDEzLCAyMjMsIDIsIDEyLCAxMywgMjIzLCAxLCAxMiwgMTMsIDIyMywgMCwgMTIsIDEzLCAyMjIsIAorICAgIDI1NSwgMTIsIDEzLCAyMjIsIDI1NCwgMTIsIDEzLCAyMjIsIDI1MywgMTIsIDEzLCAyMjIsIDI1MiwgMTIsIDEzLCAyMjIsIAorICAgIDI1MSwgMTIsIDEzLCAyMjIsIDI1MCwgMTIsIDEzLCAyMjIsIDI0OSwgMTIsIDEzLCAyMjIsIDI0OCwgMTIsIDEzLCAyMjIsIAorICAgIDI0NywgMTIsIDEzLCAyMjIsIDI0NiwgMTIsIDEzLCAyMjIsIDI0NSwgMTIsIDEzLCAyMjIsIDI0NCwgMTIsIDEzLCAyMjIsIAorICAgIDI0MywgMTIsIDEzLCAyMjIsIDI0MiwgMTIsIDEzLCAyMjIsIDI0MSwgMTIsIDEzLCAyMjIsIDI0MCwgMTIsIDEzLCAyMjIsIAorICAgIDIzOSwgMTIsIDEzLCAyMjIsIDIzOCwgMTIsIDEzLCAyMjIsIDIzNywgMTIsIDEzLCAyMjIsIDIzNiwgMTIsIDEzLCAyMjIsIAorICAgIDIzNSwgMTIsIDEzLCAyMjIsIDIzNCwgMTIsIDEzLCAyMjIsIDIzMywgMTIsIDEzLCAyMjIsIDIzMiwgMTIsIDEzLCAyMjIsIAorICAgIDY2LCAxMiwgMTMsIDIyMiwgNjUsIDEyLCAxMywgMjIyLCA2NCwgMTIsIDEzLCAyMjIsIDYzLCAxMiwgMTMsIDIyMiwgNjIsIAorICAgIDEyLCAxMywgMjIyLCA2MSwgMTIsIDEzLCAyMjIsIDYwLCAxMiwgMTMsIDIyMiwgNTksIDEyLCAxMywgMjIyLCA1OCwgMTIsIAorICAgIDEzLCAyMjIsIDU3LCAxMiwgMTMsIDIyMiwgNTYsIDEyLCAxMywgMjIyLCA1NSwgMTIsIDEzLCAyMjIsIDU0LCAxMiwgMTMsIAorICAgIDIyMCwgMjYsIDEyLCAxMywgMjIwLCAyNSwgMTIsIDEzLCAyMjAsIDI0LCAxMiwgMTMsIDIyMCwgMjMsIDEyLCAxMywgMjIwLCAKKyAgICAyMiwgMTIsIDEzLCAyMjAsIDIxLCAxMiwgMTMsIDIyMCwgMjAsIDEyLCAxMywgMjE5LCAxNDgsIDEyLCAxMywgMjE5LCAxNDcsIAorICAgIDEyLCAxMywgMjE5LCAxNDYsIDEyLCAxMywgMjE5LCAxNDUsIDEyLCAxMywgMjE5LCAxNDQsIDEyLCAxMywgMjE5LCAxNDMsIAorICAgIDEyLCAxMywgMjE5LCAxNDIsIDEyLCAxMywgMjE5LCAxNDEsIDEyLCAxMywgMjE5LCAxNDAsIDEyLCAxMywgMjE5LCAxMzksIAorICAgIDEyLCAxMywgMjE5LCAxMzgsIDEyLCAxMywgMjE5LCAxMzcsIDEyLCAxMywgMjE5LCAxMzYsIDEyLCAxMywgMjE5LCAxMzUsIAorICAgIDEyLCAxMywgMjE5LCAxMzQsIDEyLCAxMywgMjE5LCAxMzMsIDEyLCAxMywgMjE5LCAxMzIsIDEyLCAxMywgMjE5LCAxMzEsIAorICAgIDEyLCAxMywgMjE5LCAxMzAsIDEyLCAxMywgMjE5LCAxMjksIDEyLCAxMywgMjE5LCAxMjgsIDEyLCAxMywgMjE5LCAxMjcsIAorICAgIDEyLCAxMywgMjE5LCAxMjYsIDEyLCAxMywgMjE5LCAxMjUsIDEyLCAxMywgMjE5LCAxMjQsIDEyLCAxMywgMjE5LCAxMjMsIAorICAgIDEyLCAxMywgMjE5LCAxMjIsIDEyLCAxMywgMjE5LCAxMjEsIDEyLCAxMywgMjE5LCAxMjAsIDEyLCAxMywgMjE5LCAxMTksIAorICAgIDEyLCAxMywgMjE5LCAxMTgsIDEyLCAxMywgMjE5LCAxMTcsIDEyLCAxMywgMjE5LCAxMTYsIDEyLCAxMywgMjE5LCAxMTUsIAorICAgIDEyLCAxMywgMjE3LCAyNTQsIDEyLCAxMywgMjE3LCAyNTMsIDEyLCAxMywgMjE3LCAyNTIsIDEyLCAxMywgMjE3LCAyNTEsIAorICAgIDEyLCAxMywgMjE3LCAyNTAsIDEyLCAxMywgMjE3LCAyNDksIDEyLCAxMywgMjE3LCAyNDgsIDEyLCAxMywgMjE3LCAyNDcsIAorICAgIDEyLCAxMywgMjE3LCAyNDYsIDEyLCAxMywgMjE3LCAyNDUsIDEyLCAxMywgMjE3LCAyNDQsIDEyLCAxMywgMjE3LCAyNDMsIAorICAgIDEyLCAxMywgMjE3LCAyNDIsIDEyLCAxMywgMjE3LCAyNDEsIDEyLCAxMywgMjE3LCAyNDAsIDEyLCAxMywgMjE3LCAyMzksIAorICAgIDEyLCAxMywgMjE3LCAyMzgsIDEyLCAxMywgMjE3LCAyMzcsIDEyLCAxMywgMjE3LCAyMzYsIDEyLCAxMywgMjE3LCAyMzUsIAorICAgIDEyLCAxMywgMjE3LCAyMzQsIDEyLCAxMywgMjE3LCAyMzMsIDEyLCAxMywgMjE3LCAyMzIsIDEyLCAxMywgMjE3LCAyMzEsIAorICAgIDEyLCAxMywgMjE3LCAyMzAsIDEyLCAxMywgMjE3LCAyMjksIDEyLCAxMywgMjE3LCAyMjgsIDEyLCAxMywgMjE3LCAyMjcsIAorICAgIDEyLCAxMywgMjE3LCAyMjYsIDEyLCAxMywgMjE3LCAyMjUsIDEyLCAxMywgMjE3LCAyMjQsIDEyLCAxMywgMjE3LCAyMjMsIAorICAgIDEyLCAxMywgMjE3LCAyMjIsIDEyLCAxMywgMjE3LCAyMjEsIDEyLCAxMywgMjE3LCAyMjAsIDEyLCAxMywgMjE3LCAyMTksIAorICAgIDEyLCAxMywgMjE3LCAyMTgsIDEyLCAxMywgMjE3LCAyMTcsIDEyLCAxMywgMjE3LCAyMTYsIDEyLCAxMywgMjE3LCAyMTUsIAorICAgIDEyLCAxMywgMjE3LCAyMTQsIDEyLCAxMywgMjE3LCAyMTMsIDEyLCAxMywgMjE3LCAyMTIsIDEyLCAxMywgMjE3LCAyMTEsIAorICAgIDEyLCAxMywgMjE3LCAyMTAsIDEyLCAxMywgMjE3LCAyMDksIDEyLCAxMywgMjE3LCAyMDgsIDEyLCAxMywgMjE3LCAyMDcsIAorICAgIDEyLCAxMywgMjE3LCAyMDYsIDEyLCAxMywgMjE3LCAyMDUsIDEyLCAxMywgMjE3LCAyMDQsIDEyLCAxMywgMjE3LCAyMDMsIAorICAgIDEyLCAxMywgMjE3LCAyMDIsIDEyLCAxMywgMjE3LCAyMDEsIDEyLCAxMywgMjEzLCA4LCAxMiwgMTMsIDIxMywgNywgMTIsIAorICAgIDEzLCAyMTMsIDYsIDEyLCAxMywgMjEzLCA1LCAxMiwgMTMsIDIxMywgNCwgMTIsIDEzLCAyMTMsIDMsIDEyLCAxMywgMjEzLCAKKyAgICAyLCAxMiwgMTMsIDIxMywgMSwgMTIsIDEzLCAyMTMsIDAsIDEyLCAxMywgMjEyLCAyNTUsIDEyLCAxMywgMjEyLCAyNTQsIAorICAgIDEyLCAxMywgMjEyLCAyNTMsIDEyLCAxMywgMjEyLCAyNTIsIDEyLCAxMywgMjEyLCAyNTEsIDEyLCAxMywgMjEyLCAyNTAsIAorICAgIDEyLCAxMywgMjEyLCAyNDksIDEyLCAxMywgMjEyLCAyNDgsIDEyLCAxMywgMjEyLCAyNDcsIDEyLCAxMywgMjEyLCAyNDYsIAorICAgIDEyLCAxMywgMjEyLCAyNDUsIDEyLCAxMywgMjEyLCAyNDQsIDEyLCAxMywgMjEyLCAyNDMsIDEyLCAxMywgMjEyLCAyNDIsIAorICAgIDEyLCAxMywgMjEyLCAyNDEsIDEyLCAxMywgMjEyLCAyNDAsIDEyLCAxMywgMjEyLCAyMzksIDEyLCAxMywgMjEyLCAyMzgsIAorICAgIDEyLCAxMywgMjEyLCAyMzcsIDEyLCAxMywgMjEyLCAyMzYsIDEyLCAxMywgMjEyLCAyMzUsIDEyLCAxMywgMjEyLCAyMzQsIAorICAgIDEyLCAxMywgMjEyLCAyMzMsIDEyLCAxMywgMjEyLCAyMzIsIDEyLCAxMywgMjEyLCAyMzEsIDEyLCAxMywgMjEyLCAyMzAsIAorICAgIDEyLCAxMywgMjEyLCAyMjksIDEyLCAxMywgMjEyLCAyMjgsIDEyLCAxMywgMjEyLCAyMjcsIDEyLCAxMywgMjEyLCAyMjYsIAorICAgIDEyLCAxMywgMjEyLCAyMjUsIDEyLCAxMywgMjEyLCAyMjQsIDEyLCAxMywgMjEyLCAyMjMsIDEyLCAxMywgMjEyLCAyMjIsIAorICAgIDEyLCAxMywgMjEyLCAyMjEsIDEyLCAxMywgMjEwLCA2NywgMTIsIDEzLCAyMTAsIDY2LCAxMiwgMTMsIDIxMCwgNjUsIDEyLCAKKyAgICAxMywgMjEwLCA2NCwgMTIsIDEzLCAyMTAsIDYzLCAxMiwgMTMsIDIxMCwgNjIsIDEyLCAxMywgMjEwLCA2MSwgMTIsIDEzLCAKKyAgICAyMTAsIDYwLCAxMiwgMTMsIDIxMCwgNTksIDEyLCAxMywgMjEwLCA1OCwgMTIsIDEzLCAyMTAsIDU3LCAxMiwgMTMsIDIxMCwgCisgICAgNTYsIDEyLCAxMywgMjEwLCA1NSwgMTIsIDEzLCAyMTAsIDU0LCAxMiwgMTMsIDIxMCwgNTMsIDEyLCAxMywgMjEwLCA1MiwgCisgICAgMTIsIDEzLCAyMTAsIDUxLCAxMiwgMTMsIDIxMCwgNTAsIDEyLCAxMywgMjEwLCA0OSwgMTIsIDEzLCAyMTAsIDQ4LCAxMiwgCisgICAgMTMsIDIxMCwgNDcsIDEyLCAxMywgMjEwLCA0NiwgMTIsIDEzLCAyMTAsIDQ1LCAxMiwgMTMsIDIxMCwgNDQsIDEyLCAxMywgCisgICAgMjEwLCA0MywgMTIsIDEzLCAyMTAsIDQyLCAxMiwgMTMsIDIxMCwgNDEsIDEyLCAxMywgMjEwLCA0MCwgMTIsIDEzLCAyMTAsIAorICAgIDM5LCAxMiwgMTMsIDIxMCwgMzgsIDEyLCAxMywgMjEwLCAzNywgMTIsIDEzLCAyMTAsIDM2LCAxMiwgMTMsIDIxMCwgMzUsIAorICAgIDEyLCAxMywgMjEwLCAzNCwgMTIsIDEzLCAyMTAsIDMzLCAxMiwgMTMsIDIxMCwgMzIsIDEyLCAxMywgMjEwLCAzMSwgMTIsIAorICAgIDEzLCAyMTAsIDMwLCAxMiwgMTMsIDIxMCwgMjksIDEyLCAxMywgMjEwLCAyOCwgMTIsIDEzLCAyMTAsIDI3LCAxMiwgMTMsIAorICAgIDIxMCwgMjYsIDEyLCAxMywgMjEwLCAyNSwgMTIsIDEzLCAyMTAsIDI0LCAxMiwgMTMsIDIxMCwgMjMsIDEyLCAxMywgMjEwLCAKKyAgICAyMiwgMTIsIDEzLCAyMTAsIDIxLCAxMiwgMTMsIDIwOSwgMTQ3LCAxMiwgMTMsIDIwOSwgMTQ2LCAxMiwgMTMsIDIwOSwgCisgICAgMTQ1LCAxMiwgMTMsIDIwOSwgMTQ0LCAxMiwgMTMsIDIwOSwgMTQzLCAxMiwgMTMsIDIwOSwgMTQyLCAxMiwgMTMsIDIwOSwgCisgICAgMTQxLCAxMiwgMTMsIDIwOSwgMTQwLCAxMiwgMTMsIDIwOSwgMTM5LCAxMiwgMTMsIDIwOSwgMTM4LCAxMiwgMTMsIDIwOSwgCisgICAgMTM3LCAxMiwgMTMsIDIwOSwgMTM2LCAxMiwgMTMsIDIwOSwgMTM1LCAxMiwgMTMsIDIwOSwgMTM0LCAxMiwgMTMsIDIwOSwgCisgICAgMTMzLCAxMiwgMTMsIDIwOSwgMTMyLCAxMiwgMTMsIDIwOSwgMTMxLCAxMiwgMTMsIDIwOSwgMTMwLCAxMiwgMTMsIDIwOSwgCisgICAgMTI5LCAxMiwgMTMsIDIwOSwgMTI4LCAxMiwgMTMsIDIwOSwgMTI3LCAxMiwgMTMsIDIwOSwgMTI2LCAxMiwgMTMsIDIwOSwgCisgICAgMTI1LCAxMiwgMTMsIDIwOSwgMTI0LCAxMiwgMTMsIDIwOSwgMTIzLCAxMiwgMTMsIDIwOSwgMTIyLCAxMiwgMTMsIDIwOSwgCisgICAgMTIxLCAxMiwgMTMsIDIwOSwgMTIwLCAxMiwgMTMsIDIwOSwgMTE5LCAxMiwgMTMsIDIwOSwgMTE4LCAxMiwgMTMsIDIwOSwgCisgICAgMTE3LCAxMiwgMTMsIDIwOSwgMTE2LCAxMiwgMTMsIDIwOSwgMTE1LCAxMiwgMTMsIDIwOSwgMTE0LCAxMiwgMTMsIDIwOSwgCisgICAgMTEzLCAxMiwgMTMsIDIwOSwgMTEyLCAxMiwgMTMsIDIwOSwgMTExLCAxMiwgMTMsIDIwOSwgMTEwLCAxMiwgMTMsIDIwOSwgCisgICAgMTA5LCAxMiwgMTMsIDIwOSwgMTA4LCAxMiwgMTMsIDIwOSwgMTA3LCAxMiwgMTMsIDIwOSwgMTA2LCAxMiwgMTMsIDIwOSwgCisgICAgMTA1LCAxMiwgMTMsIDIwOSwgMTA0LCAxMiwgMTMsIDIwOSwgMTAzLCAxMiwgMTMsIDIwOSwgMTAyLCAxMiwgMTMsIDIwOSwgCisgICAgMTAxLCAxMiwgMTMsIDIwOSwgMTAwLCAxMiwgMTMsIDIwOSwgOTksIDEyLCAxMywgMjA5LCA5OCwgMTIsIDEzLCAyMDksIDk3LCAKKyAgICAxMiwgMTMsIDIwOSwgOTYsIDEyLCAxMywgMjA5LCA5NSwgMTIsIDEzLCAyMDksIDk0LCAxMiwgMTMsIDIwOSwgOTMsIDEyLCAKKyAgICAxMywgMjA5LCA5MiwgMTIsIDEzLCAyMDksIDkxLCAxMiwgMTMsIDIwOSwgOTAsIDEyLCAxMywgMjA5LCA4OSwgMTIsIDEzLCAKKyAgICAyMDksIDg4LCAxMiwgMTMsIDIwOSwgODcsIDEyLCAxMywgMjA5LCA4NiwgMTIsIDEzLCAyMDksIDg1LCAxMiwgMTMsIDIwOSwgCisgICAgODQsIDEyLCAxMywgMjA5LCA4MywgMTIsIDEzLCAyMDksIDgyLCAxMiwgMTMsIDIwOSwgODEsIDEyLCAxMywgMjA5LCA4MCwgCisgICAgMTIsIDEzLCAyMDksIDc5LCAxMiwgMTMsIDIwOSwgNzgsIDEyLCAxMywgMjA5LCA3NywgMTIsIDEzLCAyMDksIDc2LCAxMiwgCisgICAgMTMsIDIwOSwgNzUsIDEyLCAxMywgMjA5LCA3NCwgMTIsIDEzLCAyMDksIDczLCAxMiwgMTMsIDIwOSwgNzIsIDEyLCAxMywgCisgICAgMjA5LCA3MSwgMTIsIDEzLCAyMDcsIDEyOCwgMTIsIDEzLCAyMDcsIDEyNywgMTIsIDEzLCAyMDcsIDEyNiwgMTIsIDEzLCAKKyAgICAyMDcsIDEyNSwgMTIsIDEzLCAyMDcsIDEyNCwgMTIsIDEzLCAyMDcsIDEyMywgMTIsIDEzLCAyMDcsIDEyMiwgMTIsIDEzLCAKKyAgICAyMDcsIDEyMSwgMTIsIDEzLCAyMDcsIDEyMCwgMTIsIDEzLCAyMDcsIDExOSwgMTIsIDEzLCAyMDcsIDExOCwgMTIsIDEzLCAKKyAgICAyMDcsIDExNywgMTIsIDEzLCAyMDcsIDExNiwgMTIsIDEzLCAyMDcsIDExNSwgMTIsIDEzLCAyMDcsIDExNCwgMTIsIDEzLCAKKyAgICAyMDcsIDExMywgMTIsIDEzLCAyMDcsIDExMiwgMTIsIDEzLCAyMDcsIDExMSwgMTIsIDEzLCAyMDcsIDExMCwgMTIsIDEzLCAKKyAgICAyMDcsIDEwOSwgMTIsIDEzLCAyMDcsIDEwOCwgMTIsIDEzLCAyMDcsIDEwNywgMTIsIDEzLCAyMDcsIDEwNiwgMTIsIDEzLCAKKyAgICAyMDcsIDEwNSwgMTIsIDEzLCAyMDcsIDEwNCwgMTIsIDEzLCAyMDcsIDEwMywgMTIsIDEzLCAyMDcsIDEwMiwgMTIsIDEzLCAKKyAgICAyMDcsIDEwMSwgMTIsIDEzLCAyMDcsIDEwMCwgMTIsIDEzLCAyMDcsIDk5LCAxMiwgMTMsIDIwNywgOTgsIDEyLCAxMywgCisgICAgMjA3LCA5NywgMTIsIDEzLCAyMDYsIDE5MywgMTIsIDEzLCAyMDYsIDE5MiwgMTIsIDEzLCAyMDYsIDE5MSwgMTIsIDEzLCAKKyAgICAyMDYsIDE5MCwgMTIsIDEzLCAyMDYsIDE4OSwgMTIsIDEzLCAyMDYsIDE4OCwgMTIsIDEzLCAyMDYsIDE4NywgMTIsIDEzLCAKKyAgICAyMDYsIDE4NiwgMTIsIDEzLCAyMDYsIDE4NSwgMTIsIDEzLCAyMDYsIDE4NCwgMTIsIDEzLCAyMDYsIDE4MywgMTIsIDEzLCAKKyAgICAyMDYsIDE4MiwgMTIsIDEzLCAyMDYsIDEyMSwgMTIsIDEzLCAyMDYsIDEyMCwgMTIsIDEzLCAyMDYsIDExOSwgMTIsIDEzLCAKKyAgICAyMDYsIDExOCwgMTIsIDEzLCAyMDYsIDExNywgMTIsIDEzLCAyMDYsIDExNiwgMTIsIDEzLCAyMDYsIDExNSwgMTIsIDEzLCAKKyAgICAyMDYsIDExNCwgMTIsIDEzLCAyMDYsIDExMywgMTIsIDEzLCAyMDUsIDE1OCwgMTIsIDEzLCAyMDUsIDE1NywgMTIsIDEzLCAKKyAgICAyMDUsIDE1NiwgMTIsIDEzLCAyMDUsIDE1NSwgMTIsIDEzLCAyMDUsIDE1NCwgMTIsIDEzLCAyMDUsIDE1MywgMTIsIDEzLCAKKyAgICAyMDUsIDE1MiwgMTIsIDEzLCAyMDUsIDE1MSwgMTIsIDEzLCAyMDUsIDE1MCwgMTIsIDEzLCAyMDUsIDE0OSwgMTIsIDEzLCAKKyAgICAyMDUsIDE0OCwgMTIsIDEzLCAyMDUsIDE0NywgMTIsIDEzLCAyMDUsIDE0NiwgMTIsIDEzLCAyMDUsIDE0NSwgMTIsIDEzLCAKKyAgICAyMDUsIDE0NCwgMTIsIDEzLCAyMDUsIDE0MywgMTIsIDEzLCAyMDUsIDE0MiwgMTIsIDEzLCAyMDUsIDE0MSwgMTIsIDEzLCAKKyAgICAyMDUsIDE0MCwgMTIsIDEzLCAyMDUsIDEzOSwgMTIsIDEzLCAyMDUsIDEzOCwgMTIsIDEzLCAyMDUsIDEzNywgMTIsIDEzLCAKKyAgICAyMDUsIDEzNiwgMTIsIDEzLCAyMDUsIDEzNSwgMTIsIDEzLCAyMDUsIDEzNCwgMTIsIDEzLCAyMDUsIDEzMywgMTIsIDEzLCAKKyAgICAyMDUsIDEzMiwgMTIsIDEzLCAyMDUsIDEzMSwgMTIsIDEzLCAyMDUsIDEzMCwgMTIsIDEzLCAyMDUsIDEyOSwgMTIsIDEzLCAKKyAgICAyMDUsIDEyOCwgMTIsIDEzLCAyMDUsIDEyNywgMTIsIDEzLCAyMDUsIDEyNiwgMTIsIDEzLCAyMDUsIDEyNSwgMTIsIDEzLCAKKyAgICAyMDUsIDEyNCwgMTIsIDEzLCAyMDUsIDEyMywgMTIsIDEzLCAyMDUsIDEyMiwgMTIsIDEzLCAyMDUsIDEyMSwgMTIsIDEzLCAKKyAgICAyMDUsIDEyMCwgMTIsIDEzLCAyMDUsIDExOSwgMTIsIDEzLCAyMDUsIDExOCwgMTIsIDEzLCAyNTMsIDE2MywgMTIsIDEzLCAKKyAgICAyNTMsIDE2MiwgMTIsIDEzLCAyNTMsIDE2MSwgMTIsIDEzLCAyNTMsIDE2MCwgMTIsIDEzLCAyNTMsIDE1OSwgMTIsIDEzLCAKKyAgICAyNTMsIDE1OCwgMTIsIDEzLCAyNTMsIDE1NywgMTIsIDEzLCAyNTMsIDE1NiwgMTIsIDEzLCAyNTMsIDE1NSwgMTIsIDEzLCAKKyAgICAyNTMsIDE1NCwgMTIsIDEzLCAyNTMsIDE1MywgMTIsIDEzLCAyNTMsIDE1MiwgMTIsIDEzLCAyNTMsIDE1MSwgMTIsIDEzLCAKKyAgICAyNTMsIDE1MCwgMTIsIDEzLCAyNTMsIDE0OSwgMTIsIDEzLCAyNTMsIDE0OCwgMTIsIDEzLCAyNTMsIDE0NywgMTIsIDEzLCAKKyAgICAyNTMsIDE0NiwgMTIsIDEzLCAyNTMsIDE0NSwgMTIsIDEzLCAyNTMsIDE0NCwgMTIsIDEzLCAyNTMsIDE0MywgMTIsIDEzLCAKKyAgICAyNTMsIDE0MiwgMTIsIDEzLCAyNTMsIDE0MSwgMTIsIDEzLCAyNTMsIDE0MCwgMTIsIDEzLCAyNTMsIDEzOSwgMTIsIDEzLCAKKyAgICAyNTMsIDEzOCwgMTIsIDEzLCAyNTMsIDEzNywgMTIsIDEzLCAyNTMsIDEzNiwgMTIsIDEzLCAyNTMsIDEzNSwgMTIsIDEzLCAKKyAgICAyNTMsIDEzNCwgMTIsIDEzLCAyNTMsIDEzMywgMTIsIDEzLCAyNTMsIDEzMiwgMTIsIDEzLCAyNTMsIDEzMSwgMTIsIDEzLCAKKyAgICAyNTMsIDEzMCwgMjEsIDEsIDE4NywgMjI1LCAxMCwgMjI3LCA0MCwgMjEsIDEsIDE4NywgMjQwLCAxNzgsIDI0MSwgMTU0LCAKKyAgICAyMSwgMSwgMTg3LCAyMjAsIDE4OSwgMjI3LCA0MSwgMjIxLCAxLCAyMSwgMSwgMTg3LCAyMjAsIDE4OSwgMjI3LCA0MSwgCisgICAgMjIxLCAyLCAyMSwgMSwgMTg3LCAyMjUsIDIzMywgMjI3LCA0MCwgMjEsIDEsIDE4NywgMjE1LCAxMTIsIDIxLCAxLCAxODcsIAorICAgIDIxMSwgMTU1LCAyMjcsIDQwLCAyMSwgMSwgMTg3LCAyMjMsIDkyLCAyMjcsIDQwLCAyMSwgMSwgMTg3LCAyMTUsIDE3MCwgCisgICAgMjIyLCA1MiwgMjI0LCAxNjQsIDIxLCAxLCAxODcsIDIyMCwgMTg5LCAyMjIsIDUyLCAyMjQsIDE2NSwgMjIxLCAxLCAyMSwgCisgICAgMSwgMTg3LCAyMjAsIDE4OSwgMjIyLCA1MiwgMjI0LCAxNjUsIDIyMSwgMiwgMjEsIDEsIDE4NywgMjI3LCAyNTUsIDIxLCAxLCAKKyAgICAxODcsIDIxMCwgMTcxLCAyMjgsIDAsIDIxLCAxLCAxODcsIDIyNSwgNzEsIDIxLCAxLCAxODcsIDIyNywgMjUyLCAyMSwgMSwgCisgICAgMTg3LCAyMjcsIDIxMCwgMjEsIDEsIDE4NywgMjI2LCA1NiwgMjEsIDEsIDE4NywgMjE2LCAyNSwgMjEsIDEsIDE4NywgMjIzLCAKKyAgICAyMjQsIDIxLCAxLCAxODcsIDIzMSwgMTg2LCAyMSwgMSwgMTg3LCAyMjQsIDEzMiwgMjEsIDEsIDE4NywgMjEzLCAxMTksIAorICAgIDIxLCAxLCAxODcsIDIyNSwgOSwgMjEsIDEsIDE4NywgMjMwLCA4OCwgMjEsIDEsIDE4NywgMjMwLCA3LCAyMzAsIDIwMywgCisgICAgMjEsIDEsIDE4NywgMjIzLCAyMzQsIDIyNywgNDgsIDIxLCAxLCAxODcsIDIyOCwgMywgMjEsIDEsIDE4NywgMjIxLCAyMDIsIAorICAgIDIxLCAxLCAxODcsIDI0MCwgODAsIDIxLCAxLCAxODcsIDIyMiwgOSwgMjEsIDEsIDE4NywgMjI2LCAxNjksIDIyNSwgNDQsIAorICAgIDIxLCAxLCAxODcsIDIyMywgNzMsIDIyNywgNTEsIDIxLCAxLCAxODcsIDEwNiwgMjA1LCAxODgsIDIyNSwgMjI2LCAyMSwgMSwgCisgICAgMTg3LCAyNDAsIDgxLCAyMSwgMSwgMTg3LCAyMjMsIDIzNCwgMjIzLCAyMzUsIDIxLCAxLCAxODcsIDIxNSwgMTMsIDIxLCAxLCAKKyAgICAxODcsIDIyNywgMzMsIDIxLCAxLCAxODcsIDIyNywgNTQsIDIxLCAxLCAxODcsIDIyNiwgMTQ2LCAyMSwgMSwgMTg3LCAyMzIsIAorICAgIDQ0LCAyMSwgMSwgMTg3LCAyMjIsIDUyLCAyMzAsIDQ3LCAyMSwgMSwgMTg3LCAyMjUsIDE1MiwgMjMwLCA0NywgMjEsIDEsIAorICAgIDE4NywgMjIxLCAxMDQsIDIxLCAxLCAxODcsIDIyNywgMjUzLCAyMSwgMSwgMTg3LCAyMjQsIDIwNCwgMjEsIDEsIDE4NywgCisgICAgMjIwLCA2NSwgMjEsIDEsIDE4NywgMjEwLCAxNjgsIDIxLCAxLCAxODcsIDIyOSwgNzcsIDIxLCAxLCAxODcsIDIxNCwgMTc1LCAKKyAgICAyMSwgMSwgMTg3LCAyMTIsIDY1LCAyMSwgMSwgMTg3LCAyMjcsIDI1MCwgMjEsIDEsIDE4NywgMjMxLCAxOTMsIDIxLCAxLCAKKyAgICAxODcsIDIyNSwgMTQ4LCAyMSwgMSwgMTg3LCAyMzAsIDIxNSwgMjEsIDEsIDE4NywgMjI2LCAxNDcsIDIxLCAxLCAxODcsIAorICAgIDIxNSwgMTA4LCAyMSwgMSwgMTg3LCAyMjksIDEyNiwgMjEsIDEsIDE4NywgMjQxLCAyMTYsIDIxLCAxLCAxODcsIDIxOCwgCisgICAgMTEwLCAyMSwgMSwgMTg3LCAyMzEsIDQsIDIxLCAxLCAxODcsIDIxNCwgMTcxLCAyMSwgMSwgMTg3LCAyMjcsIDIwNiwgMjIxLCAKKyAgICA0MywgMjEsIDEsIDE4NywgMjE1LCAxNjMsIDIxLCAxLCAxODcsIDIyMywgMjMzLCAyMSwgMSwgMTg3LCAyMTUsIDE0NiwgCisgICAgMjIzLCAyNDQsIDIwNSwgMTk2LCAyMSwgMSwgMTg3LCAyMjMsIDExNCwgMjI2LCAxNjYsIDIxLCAxLCAxODcsIDIyMiwgNDcsIAorICAgIDIxLCAxLCAxODcsIDIyNCwgMTM0LCAyMSwgMSwgMTg3LCAyMDksIDIxMywgMjEsIDEsIDE4NywgMjI1LCA0NywgMjEsIDEsIAorICAgIDE4NywgMjI3LCAyNDksIDIxLCAxLCAxODcsIDIyNCwgMTc2LCAyMSwgMSwgMTg3LCAyMjcsIDE0OCwgMjEsIDEsIDE4NywgCisgICAgMjIzLCAxMjgsIDIxLCAxLCAxODcsIDIxMiwgNjksIDIxLCAxLCAxODcsIDIxNCwgMTY4LCAyMSwgMSwgMTg3LCAyMjIsIDQ4LCAKKyAgICAyMSwgMSwgMTg3LCAyMjMsIDI0OCwgMjEsIDEsIDE4NywgMjI4LCAxLCAyMSwgMSwgMTg3LCAyMjMsIDEyNSwgMjEsIDEsIAorICAgIDE4NywgMjMyLCA4LCAyMSwgMSwgMTg3LCAyMjMsIDI1MSwgMjEsIDEsIDE4NywgMjA5LCAzNCwgMjEsIDEsIDE4NywgMjI5LCAKKyAgICA4MSwgMjEsIDEsIDE4NywgMjI1LCAxMDEsIDIxLCAxLCAxODcsIDIyNSwgMjAxLCAyMSwgMSwgMTg3LCAyMjcsIDE0NywgMjEsIAorICAgIDEsIDIyMSwgODMsIDIyMywgMjQ2LCAyMSwgMSwgMjIxLCA4MywgMjEwLCAxNzEsIDIyNywgMjU0LCAyMSwgMSwgMjIxLCA4MywgCisgICAgMjE1LCA3MSwgMjEsIDEsIDIyMSwgODMsIDIxNiwgMjksIDIxMCwgMTcwLCAyMSwgMSwgMjIxLCA4MywgMjI5LCAxMjgsIAorICAgIDIyMywgMjMwLCAyMSwgMSwgMjIxLCA4MywgMjI3LCAxNTQsIDIyOCwgMiwgMjEsIDEsIDIyMSwgODMsIDIzMSwgMTE1LCAyMSwgCisgICAgMSwgMjIxLCA4MywgMjA2LCAxOCwgMjEsIDEsIDIyMSwgODMsIDIyNywgMTQ5LCAyMSwgMSwgMjIxLCA4MywgMjMyLCAzMCwgCisgICAgMjEsIDEsIDIyMSwgODMsIDIyMSwgMTYwLCAyMSwgMSwgMjIxLCA4MywgMjA2LCA5NSwgMjMwLCA0NywgMjEsIDEsIDIyMSwgCisgICAgODMsIDIzMCwgMTA3LCAyMjMsIDI0NCwgMjIzLCAxMzksIDIxLCAxLCAyMjEsIDgzLCAyMjMsIDIyNywgMjE1LCAxODksIDIxLCAKKyAgICAxLCAyMjEsIDgzLCAyMjUsIDExOSwgMjI0LCAxNzksIDIxLCAxLCAyMjEsIDgzLCAyNDAsIDc4LCAyMSwgMSwgMjIxLCA4MywgCisgICAgMjIwLCAyNDcsIDIxLCAxLCAyMjEsIDgzLCAyMTAsIDE3MSwgMjIzLCAyNDIsIDIxLCAxLCAyMjEsIDgzLCAyMTUsIDE5NCwgCisgICAgMjI0LCAxNzQsIDIxLCAxLCAyMjEsIDgzLCAyMTUsIDE5MCwgMjEsIDEsIDIyMSwgODMsIDIyNywgNDEsIDIxMiwgNjgsIDIxLCAKKyAgICAxLCAyMjEsIDgzLCAyMjcsIDEzNiwgMjI3LCAxNTAsIDIxLCAxLCAyMjEsIDgzLCAyMjMsIDEyNiwgMjIzLCAyMzAsIDIxLCAKKyAgICAxLCAyMjEsIDgzLCAyMzEsIDE4MiwgMjEsIDEsIDIyMSwgODMsIDI0MCwgNzksIDIxLCAxLCAyMjEsIDgzLCAyMzEsIDE3OCwgCisgICAgMjEsIDEsIDIyMSwgODMsIDIzMCwgMTM1LCAyMSwgMSwgMjIxLCA4MywgMjIxLCAyMDUsIDIxLCAxLCAyMjEsIDgzLCAyMDgsIAorICAgIDIyMSwgMjEsIDEsIDIyMSwgODMsIDIyNSwgMTEsIDIyNiwgNTQsIDIxLCAxLCAyMjEsIDgzLCAyMjUsIDQ2LCAyMjcsIDEzMiwgCisgICAgMjEsIDEsIDIyMSwgODMsIDIwNiwgMjE0LCAyMSwgMSwgMjIxLCA4MywgMjE3LCAxNzUsIDIxLCAxLCAyMjEsIDgzLCAyMTIsIAorICAgIDIxMSwgMjEsIDEsIDIyMSwgODMsIDIyNywgNTMsIDIxLCAxLCAyMjEsIDgzLCAyMjUsIDMwLCAyMSwgMSwgMjIxLCA4MywgCisgICAgMjI1LCAzMSwgMjMwLCA4NSwgMjEsIDEsIDIyMSwgODMsIDIyNywgNDMsIDIxLCAxLCAyMjEsIDgzLCAyMTMsIDE3MCwgMjEsIAorICAgIDEsIDIyMSwgODMsIDIyNywgMTQwLCAyMSwgMSwgMjIxLCA4MywgMjI2LCAxNTEsIDIxLCAxLCAyMjEsIDgzLCAyMjMsIDE0MiwgCisgICAgMjEsIDEsIDIyMSwgODMsIDIyMCwgNjksIDIxLCAxLCAyMjEsIDgzLCAyMjcsIDUyLCAyMjUsIDQ4LCAyMSwgMSwgMjIxLCAKKyAgICA4MywgMjQxLCAyNTUsIDIxLCAxLCAyMjEsIDgzLCAyMjcsIDEyNywgMjEsIDEsIDIyMSwgODMsIDI0MiwgMjEsIDIxLCAxLCAKKyAgICAyMjEsIDgzLCAyMzEsIDE5MCwgMjEsIDEsIDIyMSwgODMsIDIyOCwgMjAsIDIyNCwgMTY4LCAyMSwgMSwgMjIxLCA4MywgCisgICAgMjI4LCAyMCwgMjI0LCAxNDQsIDIxLCAxLCAyMjEsIDgzLCAyMzAsIDYsIDIxLCAxLCAyMjEsIDgzLCAyMjUsIDU0LCAyMSwgCisgICAgMSwgMjIxLCA4MywgMjIzLCAyNTMsIDIxLCAxLCAyMjEsIDgzLCAxODUsIDIxLCAxLCAyMjEsIDgzLCAyMzEsIDEwMiwgMjEsIAorICAgIDEsIDIyMSwgODMsIDIyNCwgMjU1LCAyMSwgMSwgMTU4LCAyMjUsIDEwLCAyMjgsIDAsIDIxLCAxLCAxNTgsIDIyMywgOTEsIAorICAgIDIxLCAxLCAxNTgsIDIwNSwgMTk2LCAyMSwgMSwgMTU4LCAyMDcsIDgzLCAyMSwgMSwgMTU4LCAyMjUsIDQ3LCAyMSwgMSwgCisgICAgMTU4LCAyMjUsIDE0MCwgMjEsIDEsIDE1OCwgMjI1LCAxNywgMjEsIDEsIDE1OCwgMjQwLCA4OCwgMjEsIDEsIDE1OCwgMjI3LCAKKyAgICAxNDQsIDIxLCAxLCAxNTgsIDI0MCwgMTg1LCAyMSwgMSwgMTU4LCAyMjMsIDExNiwgMjI2LCAxOTAsIDIyNywgNTUsIDIxLCAKKyAgICAxLCAxNTgsIDIyMywgMjIyLCAyMjcsIDEzNSwgMjEsIDEsIDE1OCwgMjI3LCAxNDEsIDIxLCAxLCAxNTgsIDIyMCwgMjUzLCAKKyAgICAyMSwgMSwgMTU4LCAyMjUsIDEyNSwgMjEsIDEsIDE1OCwgMjI3LCAxNTIsIDI0OCwgMjUzLCAyMSwgMSwgMTU4LCAyMzEsIAorICAgIDE4MCwgMjEsIDEsIDE1OCwgMjQwLCA4OSwgMjEsIDEsIDE1OCwgMjMxLCAxODcsIDIxLCAxLCAxNTgsIDIwNSwgMjE0LCAKKyAgICAyMjYsIDg1LCAyMSwgMSwgMTU4LCAyMjMsIDg1LCAyMSwgMSwgMTU4LCAyMjcsIDEyOSwgMjEsIDEsIDE1OCwgMjIzLCAyNTIsIAorICAgIDIxLCAxLCAxNTgsIDIyNywgMTM1LCAyMSwgMSwgMTU4LCAyMDYsIDE5LCAyMSwgMSwgMTU4LCAyMzEsIDEyLCAyMSwgMSwgCisgICAgMTU4LCAyMzIsIDYzLCAyMSwgMSwgMTU4LCAyMTYsIDI0LCAyMSwgMSwgMTU4LCAyMjUsIDEzNCwgMjEsIDEsIDE1OCwgMjEyLCAKKyAgICAyMDksIDIxLCAxLCAxNTgsIDIyNCwgMTQ4LCAyMSwgMSwgMTU4LCAyMTEsIDE1NSwgMjA1LCAxOTksIDIxLCAxLCAxNTgsIAorICAgIDIxMywgMTk4LCAyMSwgMSwgMTU4LCAyMjUsIDM3LCAyMjMsIDEzOSwgMjEsIDEsIDE1OCwgMjA4LCAyMjAsIDIxLCAxLCAKKyAgICAxNTgsIDIyNSwgMjA0LCAyMSwgMSwgMTU4LCAyMjgsIDIwLCAyMzEsIDE4OSwgMjEsIDEsIDE1OCwgMjIzLCAyMzUsIDIxLCAKKyAgICAxLCAxNTgsIDIyNSwgMzIsIDIxLCAxLCAxNTgsIDIzMCwgODksIDIxLCAxLCAxNTgsIDIyNywgMTM3LCAyMSwgMSwgMTU4LCAKKyAgICAyMjcsIDMyLCAyMSwgMSwgMTU4LCAyMjMsIDIyOSwgMjEsIDEsIDE1OCwgMjEyLCA2NCwgMjEsIDEsIDE1OCwgMjI1LCAzNCwgCisgICAgMjEsIDEsIDE1OCwgMjQxLCA4NiwgMjEsIDEsIDE1OCwgMjI1LCAxMzksIDIxLCAxLCAxNTgsIDIyMywgMjU0LCAyMSwgMSwgCisgICAgMTU4LCAyMjMsIDI1MCwgMjEsIDEsIDE1OCwgMjQ5LCA3NywgMjEsIDEsIDE1OCwgMjA4LCAyMjIsIDIxLCAxLCAxNTgsIAorICAgIDIyNywgMTQyLCAyMSwgMSwgMTU4LCAyMTgsIDUwLCAyMSwgMSwgMTU4LCAyMjQsIDE3OCwgMjEsIDEsIDE1OCwgMjMwLCAKKyAgICAxMDYsIDIxLCAxLCAxNTgsIDIxMSwgMTUzLCAyMSwgMSwgMTU4LCAyMjMsIDIzNiwgMjI0LCAyNTUsIDIxLCAxLCAxNTgsIAorICAgIDIyNCwgMTcwLCAyMSwgMSwgMTU4LCAyMzEsIDE5MywgMjEsIDEsIDE1OCwgMjI1LCAzOSwgMjEsIDEsIDE1OCwgMjI3LCAKKyAgICAyNDksIDIxLCAxLCAxNTgsIDIyNywgMTMwLCAyMSwgMSwgMTU4LCAyMjksIDgxLCAyMSwgMSwgMTU4LCAyMzAsIDIwMywgMjEsIAorICAgIDEsIDE1OCwgMjI0LCAxNzYsIDIxLCAxLCAxNTgsIDIyNCwgMjU1LCAyMSwgMSwgMTU4LCAyMDYsIDIwNCwgMjEsIDEsIDE1OCwgCisgICAgMjI1LCAzNSwgMjEsIDEsIDE1OCwgMjIzLCAyMzksIDIxLCAxLCAxNTgsIDIyMywgMjMxLCAyMSwgMSwgMTU4LCAyMzAsIAorICAgIDIxNywgMjI0LCAxMzQsIDIxLCAxLCAxNTgsIDIyMywgMjM3LCAyMSwgMSwgMTU4LCAyMjUsIDE0NywgMjEsIDEsIDE1OCwgCisgICAgMjI4LCAyMCwgMjIzLCAyNDIsIDIxLCAxLCAxNTgsIDIwNiwgMTA5LCAyMSwgMSwgMTU4LCAyMjUsIDE0NiwgMjEsIDEsIAorICAgIDE1OCwgMjE1LCAxMTEsIDIxLCAxLCAxNTgsIDIxNiwgMjcsIDIxLCAxLCAxNTgsIDIyNywgMTM4LCAyMSwgMSwgMTU4LCAKKyAgICAyMjgsIDAsIDIxLCAxLCAxNTgsIDIyNywgMTQ4LCAyMSwgMSwgMTU4LCAyMzEsIDE4MSwgMjEsIDEsIDE1OCwgMjI3LCAxMzksIAorICAgIDIxLCAxLCAxNTgsIDIzMSwgMTg1LCAyMSwgMSwgMTU4LCAyMjcsIDE1MiwgMjIxLCA0OCwgMjEsIDEsIDE1OCwgMjA1LCAKKyAgICAxNzksIDIxLCAxLCAxNTgsIDIyNCwgMTY2LCAyMSwgMSwgMTU4LCAyMjYsIDI0MywgMjEsIDEsIDE1OCwgMjI2LCAxMTIsIAorICAgIDIxLCAxLCAxNTgsIDIxNSwgMTY2LCAyMSwgMSwgMTU4LCAyMzEsIDIwNCwgMjMwLCA3MCwgMjEsIDEsIDE1OCwgMjMxLCAKKyAgICAyMDQsIDI0MiwgMzQsIDIxLCAxLCAxNTgsIDIyNSwgNjksIDIxLCAxLCAxNTgsIDIyNSwgMjAxLCAyMSwgMSwgMTU4LCAyMjksIAorICAgIDE5MCwgMjEsIDEsIDE1OCwgMjIxLCA5LCAyMSwgMSwgMTU4LCAyMjEsIDE1MCwgMjEsIDEsIDE1OCwgMjEyLCA4MCwgMjEsIAorICAgIDEsIDEyMywgMjI3LCAxMjgsIDIxLCAxLCAxMjMsIDIwNywgODEsIDIxLCAxLCAxMjMsIDIyNCwgMTY0LCAyMSwgMSwgMTIzLCAKKyAgICAyMjcsIDQwLCAyMSwgMSwgMTIzLCAyMjQsIDE2MiwgMjEsIDEsIDEyMywgMjI5LCAyMjksIDIxLCAxLCAxMjMsIDIyNCwgCisgICAgMTY3LCAyMSwgMSwgMTIzLCAyMjMsIDI0OSwgMjEsIDEsIDEyMywgMjI1LCA1MywgMjEsIDEsIDEyMywgMjIzLCAxMzksIDIxLCAKKyAgICAxLCAxMjMsIDIwNiwgMjE1LCAyMSwgMSwgMTIzLCAyMjUsIDcsIDIxLCAxLCAxMjMsIDIxNSwgMjEyLCAyMSwgMSwgMTIzLCAKKyAgICAyMjUsIDE4LCAyMSwgMSwgMTIzLCAyMzEsIDE4OCwgMjEsIDEsIDEyMywgMjEyLCA2NiwgMjEsIDEsIDEyMywgMjE1LCAxOTIsIAorICAgIDIxLCAxLCAxMjMsIDIyNCwgMTc1LCAyMSwgMSwgMTIzLCAyMTMsIDE3MCwgMjEsIDEsIDEyMywgMjMxLCAxOTMsIDIxLCAxLCAKKyAgICAxMjMsIDIwNiwgOTcsIDIxLCAxLCAxMjMsIDIzMCwgMjE4LCAyMSwgMSwgMTIzLCAyMTcsIDE0MSwgMjEsIDEsIDEyMywgCisgICAgMjI3LCA0NSwgMjEsIDEsIDEyMywgMjI1LCAxMzgsIDIxLCAxLCAxMjMsIDIyNywgMjI0LCAyMSwgMSwgMTIzLCAyMjcsIDUxLCAKKyAgICAyMSwgMSwgMTIzLCAyMTYsIDI2LCAyMSwgMSwgMTIzLCAyMDYsIDQyLCAyMSwgMSwgMTIzLCAyMjQsIDE2OSwgMjEsIDEsIAorICAgIDEyMywgMjMxLCAxODQsIDIyNywgMTMxLCAyMSwgMSwgMTIzLCAyMjUsIDE0LCAyMSwgMSwgMTIzLCAyMTAsIDE3MCwgMjEsIAorICAgIDEsIDEyMywgMjQwLCA5OCwgMjEsIDEsIDEyMywgMjI1LCA0LCAyMSwgMSwgMTIzLCAyNDIsIDAsIDIxLCAxLCAxMjMsIDIyNSwgCisgICAgMTQyLCAyMSwgMSwgMTIzLCAyMjcsIDI0LCAyMSwgMSwgMTIzLCAyMzAsIDAsIDIxLCAxLCAxMjMsIDIyNSwgMTI0LCAyMSwgCisgICAgMSwgMTIzLCAyMjYsIDE2NSwgMjEsIDEsIDEyMywgMjI3LCAyOCwgMjEsIDEsIDEyMywgMjIwLCA0OSwgMjEsIDEsIDEyMywgCisgICAgMjI3LCAyNiwgMjEsIDEsIDEyMywgMjI3LCA0MiwgMjEsIDEsIDEyMywgMjI5LCA2NSwgMjEsIDEsIDEyMywgMjIzLCAyNDEsIAorICAgIDIxLCAxLCAxMjMsIDIyNywgMTUxLCAyMSwgMSwgMTIzLCAyMzAsIDE5MywgMjEsIDEsIDEyMywgMjIzLCAxMjgsIDIxLCAxLCAKKyAgICAxMjMsIDIxMiwgNjksIDIxLCAxLCAxMjMsIDIxNCwgMTY4LCAyMSwgMSwgMTIzLCAyMDUsIDE3OSwgMjEsIDEsIDEyMywgCisgICAgMjMxLCAxODUsIDIxLCAxLCAxMjMsIDIxOSwgOTQsIDIxLCAxLCAxMjMsIDIxMiwgMTE5LCAyMSwgMSwgMTIzLCAyMjUsIDE1LCAKKyAgICAyMSwgMSwgMTIzLCAyMjcsIDQ3LCAyMSwgMSwgMTIzLCAyMjMsIDI0MCwgMjEsIDEsIDEyMywgMjMxLCAxODMsIDIxLCAxLCAKKyAgICAxMjMsIDIyMSwgMywgMjEsIDEsIDEyMywgMjIxLCA5OCwgMjEsIDEsIDEyMywgMjIzLCAxMDIsIDIxLCAxLCAxMjMsIDIzMCwgCisgICAgNiwgMjEsIDEsIDEyMywgMjI1LCA1NCwgMjEsIDEsIDEyMywgMjI3LCA0NCwgMjEsIDEsIDEyMywgMjI1LCAyNywgMjEsIDEsIAorICAgIDEyMywgMjA1LCAxOTMsIDIxLCAxLCAxMjMsIDIyMSwgMjM2LCAyMSwgMSwgMTIzLCAyMDUsIDE5MiwgMjEsIDEsIDEyMywgCisgICAgMjI1LCAxNDcsIDIxLCAxLCAxMjMsIDIyMywgMjMwLCAyMSwgMSwgMTIzLCAyMTMsIDIwMCwgMjEsIDEsIDEyMywgMjMwLCAKKyAgICAyMjIsIDIxLCAxLCAxMjMsIDIyNSwgNDMsIDIxLCAxLCAxMjMsIDIyNSwgMTIsIDIxLCAxLCAxMjMsIDIxMCwgMTUzLCAyMSwgCisgICAgMSwgMTIzLCAyMjcsIDU1LCAyMSwgMSwgMTIzLCAyMzAsIDIxMiwgMjEsIDEsIDEyMywgMjIzLCAyMzgsIDIxLCAxLCAxMjMsIAorICAgIDIxMiwgNjcsIDIxLCAxLCAxMjMsIDIyNywgMjUxLCAyMSwgMSwgMTIzLCAyMjUsIDUyLCAyMSwgMSwgMTIzLCAyMjksIDI1NSwgCisgICAgMjEsIDEsIDEyMywgMjI1LCAzMywgMjEsIDEsIDEyMywgMjIzLCAyNDMsIDIxLCAxLCAxMjMsIDIyNCwgMTQ4LCAyMSwgMSwgCisgICAgMTIzLCAyNDAsIDgyLCAyMSwgMSwgMTIzLCAyMzAsIDIzNiwgMjEsIDEsIDEyMywgMjE5LCAzLCAyMjIsIDE3OSwgMjEsIDEsIAorICAgIDEyMywgMjEyLCAyMDAsIDIxLCAxLCAxMjMsIDIxMSwgOTgsIDIxLCAxLCAxMjMsIDIyMywgMTI1LCAyMSwgMSwgMTIzLCAKKyAgICAyMTgsIDE1NCwgMjEsIDEsIDEyMywgMjMwLCA0OSwgMjEsIDEsIDEyMywgMjI3LCAxMDYsIDIxLCAxLCAxMjMsIDIyOSwgMjgsIAorICAgIDIxLCAxLCAxMjMsIDIxMywgMTE5LCAyMSwgMSwgMTIzLCAyMjYsIDExNCwgMjEsIDEsIDEyMywgMjE1LCAxNzgsIDIxLCAxLCAKKyAgICAxMjMsIDIxNSwgMTg4LCAyMSwgMSwgMTIzLCAyMzAsIDE2NSwgMjEsIDEsIDEyMywgMjIzLCAyMTcsIDIxLCAxLCAxMjMsIAorICAgIDIxNSwgMTE2LCAyMSwgMSwgMTIzLCAyMjMsIDIzMiwgMjEsIDEsIDEyMywgMjIxLCAxNjQsIDIxLCAxLCAxMjMsIDIyNCwgCisgICAgMjMwLCAyMSwgMSwgMTIzLCAyMTUsIDE0NSwgMjEsIDEsIDEyMywgMjIwLCA2NCwgMjEsIDEsIDEyMywgMjI2LCA1NCwgMjEsIAorICAgIDEsIDEyMywgMjI5LCAxMDcsIDIxLCAxLCAxMjMsIDIxOSwgMywgMjI2LCAxMDcsIDIxLCAxLCAxMjMsIDIxMSwgMjExLCAyMSwgCisgICAgMSwgMTIzLCAyMjMsIDIxOSwgMjEsIDEsIDEyMywgMjI3LCAxNTIsIDE5NSwgMjEsIDEsIDEyMywgMjE3LCAxMzksIDIxLCAxLCAKKyAgICAxMjMsIDI0MiwgNzIsIDIxLCAxLCA4OCwgMjI1LCAxNDYsIDIxLCAxLCA4OCwgMjExLCAxMDQsIDIxLCAxLCA4OCwgMjI3LCAKKyAgICAxNDEsIDIxLCAxLCA4OCwgMjMwLCA4OSwgMjEsIDEsIDg4LCAyMDgsIDE2MiwgMjEsIDEsIDg4LCAyMjksIDExMywgMjEsIDEsIAorICAgIDg4LCAyMjIsIDUxLCAyMSwgMSwgODgsIDIxNCwgMTc5LCAyMSwgMSwgODgsIDIxOSwgNjksIDIxLCAxLCA4OCwgMjIzLCAKKyAgICAyNDUsIDIxLCAxLCA4OCwgMjI1LCAxMTcsIDIxLCAxLCA4OCwgMjIwLCA3OSwgMjEsIDEsIDg4LCAyMTIsIDE3NiwgMjEsIDEsIAorICAgIDg4LCAyMjUsIDIwLCAyMSwgMSwgODgsIDIzMSwgOCwgMjEsIDEsIDg4LCAyMDYsIDIwNywgMjEsIDEsIDg4LCAyMTcsIDc0LCAKKyAgICAyMSwgMSwgODgsIDIyNSwgNDQsIDIxLCAxLCA4OCwgMjIyLCA0OCwgMjEsIDEsIDg4LCAyMTEsIDEwNSwgMjEsIDEsIDg4LCAKKyAgICAyMzAsIDIxNiwgMjEsIDEsIDg4LCAyMjksIDEyNywgMjEsIDEsIDg4LCAyMjMsIDI0OCwgMjEsIDEsIDg4LCAyMjQsIDI1MiwgCisgICAgMjEsIDEsIDg4LCAyMjgsIDEsIDIxLCAxLCA4OCwgMjI1LCAxMywgMjEsIDEsIDg4LCAyMjQsIDI1MSwgMjEsIDEsIDg4LCAKKyAgICAyMjMsIDI0NywgMjEsIDEsIDg4LCAyMTgsIDE1MiwgMjEsIDEsIDg4LCAyMjQsIDE2NiwgMjEsIDEsIDg4LCAyMjEsIDE2MiwgCisgICAgMjEsIDEsIDg4LCAyMTcsIDE5NiwgMjEsIDEsIDg4LCAyMjUsIDI4LCAyMSwgMSwgODgsIDIyNywgMzQsIDIxLCAxLCA4OCwgCisgICAgMjQwLCA3NiwgMjEsIDEsIDg4LCAyMjUsIDE2LCAyMSwgMSwgODgsIDIyNCwgMTc3LCAyMSwgMSwgODgsIDIyNywgMjA1LCAKKyAgICAyMSwgMSwgODgsIDIyOSwgMTA5LCAyMSwgMSwgODgsIDIyNSwgNDksIDIxLCAxLCA4OCwgMjI1LCAxMzAsIDIxLCAxLCA4OCwgCisgICAgMjEyLCAxOTksIDIyMywgMjMwLCAyMSwgMSwgODgsIDIxNiwgMjgsIDIxLCAxLCA4OCwgMjIwLCA3NCwgMjEsIDEsIDg4LCAKKyAgICAyMjUsIDE1MCwgMjE0LCAxODYsIDIxLCAxLCA4OCwgMjI1LCAzNiwgMjIzLCAxMzksIDIxLCAxLCA4OCwgMjA2LCA3LCAyMSwgCisgICAgMSwgODgsIDI0MCwgNzcsIDIxLCAxLCA4OCwgMjEwLCAxNjksIDIxLCAxLCA4OCwgMjA2LCAyMiwgMjEsIDEsIDg4LCAyMjAsIAorICAgIDIxMSwgMjEsIDEsIDg4LCAyMTAsIDE1OCwgMjEsIDEsIDg4LCAyMzEsIDE5MSwgMjEsIDEsIDg4LCAyMTMsIDE5OSwgMjEsIAorICAgIDEsIDg4LCAyMTIsIDY4LCAyMSwgMSwgODgsIDIwOCwgMjIzLCAyMSwgMSwgODgsIDIwNywgMzMsIDIxLCAxLCA4OCwgMjMwLCAKKyAgICAxMzgsIDIxLCAxLCA4OCwgMjIwLCA4MiwgMjEsIDEsIDg4LCAyMTIsIDIxMCwgMjEsIDEsIDg4LCAyNDAsIDk3LCAyMSwgMSwgCisgICAgODgsIDIyNSwgNTksIDIxLCAxLCA4OCwgMjE1LCAxOTEsIDIxLCAxLCA4OCwgMjI3LCAyOSwgMjEsIDEsIDg4LCAyMjcsIAorICAgIDE0NSwgMjEsIDEsIDg4LCAyMjMsIDg5LCAyMSwgMSwgODgsIDIyNCwgMTMwLCAyMSwgMSwgODgsIDI0MCwgMTgxLCAyMSwgMSwgCisgICAgODgsIDIxMCwgMTU5LCAyMSwgMSwgODgsIDIzMCwgMjI2LCAyMSwgMSwgODgsIDIwNiwgNzMsIDIxLCAxLCA4OCwgMjIzLCAKKyAgICAxMjYsIDI0NywgMjA4LCAyMSwgMSwgODgsIDIwNSwgMjUzLCAyMSwgMSwgODgsIDIyNywgNDYsIDIxLCAxLCA4OCwgMjI1LCAKKyAgICAxMzUsIDIxLCAxLCA4OCwgMjIxLCA0NCwgMjEsIDEsIDg4LCAyMDUsIDE5OCwgMjEsIDEsIDg4LCAyMzAsIDEsIDIxLCAxLCAKKyAgICA4OCwgMjQxLCA4NiwgMjEsIDEsIDg4LCAyNDAsIDE4MCwgMjEsIDEsIDg4LCAyMjUsIDYsIDIxLCAxLCA4OCwgMjMxLCAxOTMsIAorICAgIDIxLCAxLCA4OCwgMjI4LCA0LCAyMSwgMSwgODgsIDIyNSwgMTksIDIxLCAxLCA4OCwgMjQwLCA4MywgMjEsIDEsIDg4LCAKKyAgICAyNDIsIDczLCAyMSwgMSwgODgsIDIyMywgMjIwLCAyMSwgMSwgODgsIDIyMSwgOTksIDIxLCAxLCA4OCwgMjA2LCAyMCwgMjEsIAorICAgIDEsIDg4LCAyMjUsIDQ1LCAyMSwgMSwgODgsIDIyMywgMTI2LCAyNTAsIDUsIDIxLCAxLCA4OCwgMjIzLCA2OSwgMjEsIDEsIAorICAgIDg4LCAyMjAsIDE4NSwgMjEsIDEsIDg4LCAyMjYsIDI0MywgMjEsIDEsIDg4LCAyNDEsIDg0LCAyMSwgMSwgODgsIDIyNSwgCisgICAgMjI2LCAyMSwgMSwgODgsIDIyNiwgMTEyLCAyMSwgMSwgODgsIDI0MCwgODIsIDIxLCAxLCA4OCwgMjQxLCA4OSwgNzQsIDIxLCAKKyAgICAxLCA4OCwgMjI2LCA1NSwgMjEsIDEsIDg4LCAyMjAsIDc4LCAyMSwgMSwgODgsIDIyNSwgOCwgMjEsIDEsIDg4LCAyMzAsIAorICAgIDIwMywgMjEsIDEsIDg4LCAyMjEsIDQxLCAyMSwgMSwgODgsIDIyMywgMjMzLCAyMSwgMSwgODgsIDIwNiwgMjEsIDIxLCAxLCAKKyAgICA4OCwgMjI1LCAyOSwgMjEsIDEsIDg4LCAyMjIsIDUyLCAyMjEsIDEzNywgMjEsIDEsIDg4LCAyNDEsIDg5LCAyNDgsIDIzNiwgCisgICAgMjEsIDEsIDg4LCAyNDEsIDE1NSwgMjEsIDEsIDg4LCAyMjQsIDE3MSwgMjEsIDEsIDg4LCA2MiwgMjEsIDEsIDg4LCAyMTEsIAorICAgIDk4LCAyMSwgMSwgODgsIDc2LCAyMSwgMSwgODgsIDc0LCAyMSwgMSwgODgsIDIzMCwgODcsIDIxLCAxLCA4OCwgMjIyLCA1MiwgCisgICAgMjIwLCAyMTksIDIxLCAxLCA4OCwgMjEyLCAyMTUsIDIxLCAxLCA4OCwgMjEyLCAxNjMsIDIxLCAxLCA4OCwgMjI1LCAxNTAsIAorICAgIDIyNiwgNDIsIDIzOCwgNTQsIDIxLCAxLCA4OCwgMjE1LCAxNjYsIDIxLCAxLCA4OCwgMjA2LCAxNywgMjEsIDEsIDg4LCAKKyAgICAyMjQsIDI0NSwgMjEsIDEsIDg4LCAyMDUsIDIwMywgMjEsIDEsIDg4LCAyMDUsIDIzMCwgMjEzLCA5OSwgMjEsIDEsIDg4LCAKKyAgICAyMDUsIDIzMCwgMjQ3LCA3NywgMjEsIDEsIDg4LCAyMDUsIDE4NywgMjEsIDEsIDg4LCAyMDUsIDE5NSwgMjEsIDEsIDg4LCAKKyAgICAyMzEsIDE3OSwgMjEsIDEsIDg4LCAyMjEsIDk3LCAyMSwgMSwgODgsIDIyNCwgMTcyLCAyNDIsIDI0NiwgMjEsIDEsIDg4LCAKKyAgICAyMjAsIDc1LCAyMSwgMSwgODgsIDIwNiwgMjEzLCAyMSwgMSwgODgsIDI0MiwgMjEsIDIxLCAxLCA4OCwgMjA5LCAzNCwgMjEsIAorICAgIDEsIDg4LCAyMjksIDgxLCAyMSwgMSwgODgsIDIyNiwgMjU0LCAyMSwgMSwgODgsIDIxOCwgMjI2LCAyMSwgMSwgODgsIDIxOSwgCisgICAgOTUsIDIxLCAxLCA4OCwgMjI0LCAyNDQsIDIxLCAxLCA4OCwgMjI1LCA3NywgMjEsIDEsIDg4LCAyMTUsIDE1OCwgMjEsIDEsIAorICAgIDg4LCAyMTUsIDE0NSwgMjEsIDEsIDg4LCAyNDEsIDg5LCAyMTksIDYsIDIxLCAxLCA4OCwgMTk5LCAyMSwgMSwgODgsIDIyMSwgCisgICAgNTMsIDIxLCAxLCA4OCwgMjI5LCAxMDcsIDIxLCAxLCA4OCwgMjMxLCA1MywgMjEsIDEsIDg4LCAyMjcsIDgzLCAyMSwgMSwgCisgICAgODgsIDE4NSwgMjEsIDEsIDg4LCAyMjcsIDIwMiwgMjEsIDEsIDg4LCAyMTIsIDcwLCAyMSwgMSwgODgsIDIzMSwgMTIzLCAKKyAgICAyMSwgMSwgODgsIDIyNiwgMTY4LCAyMSwgMSwgODgsIDIxMiwgOTgsIDIxLCAxLCA4OCwgMjQyLCA0MywgMjEsIDEsIDg4LCAKKyAgICAyNDAsIDcwLCAyMSwgMSwgMjIxLCA4MiwgMTcyLCAyMSwgMSwgMjIxLCA4MiwgNzEsIDIxLCAxLCAyMjEsIDgyLCAyMzAsIAorICAgIDIzNiwgMjEsIDEsIDIyMSwgODIsIDI0MywgMTA0LCAyMSwgMSwgMjIxLCA4MiwgMjE5LCAyOSwgMjEsIDEsIDIyMSwgODIsIAorICAgIDIxMiwgMjAwLCAyMSwgMSwgMjIxLCA4MiwgMjIzLCAxMjUsIDIxLCAxLCAyMjEsIDgyLCAyMzAsIDE0MSwgMjEsIDEsIDIyMSwgCisgICAgODIsIDIxOCwgMTU0LCAyMSwgMSwgMjIxLCA4MiwgMjE4LCAyMDEsIDIxLCAxLCAyMjEsIDgyLCAyMjcsIDEwNiwgMjEsIDEsIAorICAgIDIyMSwgODIsIDIxMiwgMjE1LCAyMSwgMSwgMjIxLCA4MiwgMjI1LCAxNDksIDIxLCAxLCAyMjEsIDgyLCAyMjQsIDE3OCwgCisgICAgMjEsIDEsIDIyMSwgODIsIDIyOSwgMjgsIDIxLCAxLCAyMjEsIDgyLCAyMTMsIDExOSwgMjEsIDEsIDIyMSwgODIsIDIxNSwgCisgICAgMTc4LCAyMSwgMSwgMjIxLCA4MiwgMjE1LCA4MCwgMjEsIDEsIDIyMSwgODIsIDIxNiwgMjQsIDIxLCAxLCAyMjEsIDgyLCAKKyAgICAyMzAsIDE2NSwgMjEsIDEsIDIyMSwgODIsIDIzMSwgMTkzLCAyMSwgMSwgMjIxLCA4MiwgMjIzLCAxODgsIDIxLCAxLCAyMjEsIAorICAgIDgyLCAyMjMsIDIxNywgMjEsIDEsIDIyMSwgODIsIDIyNCwgMTQ5LCAyMSwgMSwgMjIxLCA4MiwgMjA1LCAyMjksIDIxLCAxLCAKKyAgICAyMjEsIDgyLCAyMTUsIDExNiwgMjEsIDEsIDIyMSwgODIsIDE5MCwgMjEsIDEsIDIyMSwgODIsIDIyMywgMjUxLCAyMSwgMSwgCisgICAgMjIxLCA4MiwgMjIxLCA5NywgMjEsIDEsIDIyMSwgODIsIDIyMywgMjMyLCAyMSwgMSwgMjIxLCA4MiwgMjA2LCAyMTMsIDIxLCAKKyAgICAxLCAyMjEsIDgyLCAyMjEsIDE2NCwgMjEsIDEsIDIyMSwgODIsIDIxOCwgNTAsIDIxLCAxLCAyMjEsIDgyLCAyMjQsIDIzMCwgCisgICAgMjEsIDEsIDIyMSwgODIsIDIxOCwgMjI2LCAyMSwgMSwgMjIxLCA4MiwgMjMxLCAyMDMsIDIxLCAxLCAyMjEsIDgyLCAyMjUsIAorICAgIDUsIDIxLCAxLCAyMjEsIDgyLCAyMjUsIDU2LCAyMSwgMSwgMjIxLCA4MiwgMjE1LCAxNTgsIDIxLCAxLCAyMjEsIDgyLCAKKyAgICAyMjAsIDc5LCAyMSwgMSwgMjIxLCA4MiwgMjQxLCAxNTUsIDIxLCAxLCAyMjEsIDgyLCAyMDcsIDk2LCAyMSwgMSwgMjIxLCAKKyAgICA4MiwgMjI5LCAyMzUsIDIxLCAxLCAyMjEsIDgyLCAyMjksIDEwNywgMjEsIDEsIDIyMSwgODIsIDIzMSwgNTMsIDIxLCAxLCAKKyAgICAyMjEsIDgyLCAyMjcsIDE0MywgMjEsIDEsIDIyMSwgODIsIDIxOSwgMiwgMjEsIDEsIDIyMSwgODIsIDE4NSwgMjEsIDEsIAorICAgIDIyMSwgODIsIDIyNiwgMTgxLCAyMSwgMSwgMjIxLCA4MiwgMjI3LCAxNTEsIDIxLCAxLCAyMjEsIDgyLCAyMTIsIDgwLCAyMSwgCisgICAgMSwgMjIxLCA4MiwgMjMxLCAxNSwgMjEsIDEsIDIyMSwgODIsIDIxNywgMTU5LCAyMSwgMSwgMjIxLCA4MiwgMjA3LCAxNDcsIAorICAgIDIyNiwgMTE3LCAxLCAyMTIsIDIxOSwgMjI2LCAxMTcsIDEsIDIyNSwgMjUsIDIyNiwgMTE3LCAxLCAyMDUsIDI0NywgMjI2LCAKKyAgICAxMTcsIDEsIDIyNiwgMjExLCAyMjYsIDExNywgMSwgMjUwLCAxODMsIDIyNiwgMTE3LCAxLCAyNDYsIDE0NSwgMjI2LCAxMTcsIAorICAgIDEsIDYyLCAyMjYsIDExNywgMSwgMjIxLCA3OCwgMjI2LCAxMTcsIDEsIDIzMSwgMTYyLCAyMjYsIDExNywgMSwgMjM5LCA5OCwgCisgICAgMjI2LCAxMTcsIDEsIDI0NiwgMTIxLCAyMjYsIDExNywgMSwgMjQ4LCAxNCwgMjI2LCAxMTcsIDEsIDIzMSwgMjIzLCAyMjYsIAorICAgIDExNywgMSwgMjIyLCAxODAsIDIyNiwgMTE3LCAxLCAyMjgsIDEsIDIyNiwgMTE3LCAxLCAyMjQsIDE5OSwgMjI2LCAxMTcsIAorICAgIDEsIDE3OSwgMjI2LCAxMTcsIDEsIDIyMiwgMTUyLCAyMjYsIDExNywgMSwgNzYsIDIyNiwgMTE3LCAxLCAyMTgsIDEyNCwgCisgICAgMjI2LCAxMTcsIDEsIDIxNSwgMTgzLCAyMjYsIDExNywgMSwgMjEyLCA0MCwgMjI2LCAxMTcsIDEsIDI0MywgMTMwLCAyMjYsIAorICAgIDExNywgMSwgMjA3LCA5NiwgMjI2LCAxMTcsIDEsIDc1LCAyMjYsIDExNywgMSwgMjMxLCA1MywgMjI2LCAxMTcsIDEsIDIzMCwgCisgICAgOTUsIDIyNiwgMTE3LCAxLCAyMzAsIDE0MSwgMjI2LCAxMTcsIDEsIDIzOSwgMTMxLCAyMjYsIDExNywgMSwgMjE4LCAyMDgsIAorICAgIDIyNiwgMTE3LCAxLCAyMTIsIDExMSwgMjI2LCAxMTcsIDE4LCAyMDUsIDg1LCAyMjYsIDExNywgMTgsIDEwMiwgMjI2LCAKKyAgICAxMTcsIDE4LCAxMDUsIDIyNiwgMTE3LCAxOCwgMTQyLCAyMjYsIDExNywgMTgsIDEzOSwgMjI2LCAxMTcsIDE4LCAxNjgsIAorICAgIDIyNiwgMTE3LCAxOCwgMTg0LCAyMjYsIDExNywgMTgsIDE5NSwgMjI2LCAxMTcsIDE4LCAxOTMsIDIyNiwgMTE3LCAxOCwgCisgICAgMjAwLCAyMjYsIDExNywgMjQ2LCAxMDAsIDIyNiwgMTE3LCA1MCwgMjQ2LCAxMDAsIDI1MCwgMTEwLCAyMDksIDY3LCAxLCAKKyAgICAyNDMsIDI0LCAyNTAsIDExMCwgMjA5LCA2NywgMSwgMTcyLCAyNTAsIDExMCwgMjA5LCA2NywgMSwgMjE3LCA4NiwgMjUwLCAKKyAgICAxMTAsIDIwOSwgNjcsIDEsIDI0MiwgNzMsIDI1MCwgMTEwLCAyMDksIDY3LCAxLCAyMjcsIDE0NiwgMjUwLCAxMTAsIDIwOSwgCisgICAgNjcsIDEsIDIwNiwgOCwgMjUwLCAxMTAsIDIwOSwgNjcsIDEsIDI0MCwgMjI5LCAyNTAsIDExMCwgMjA5LCA2NywgMSwgMjQ1LCAKKyAgICAxNzMsIDI1MCwgMTEwLCAyMDksIDY3LCAxLCAyMzEsIDE0LCAyNTAsIDExMCwgMjA5LCA2NywgMSwgMjMyLCAxMjIsIDI1MCwgCisgICAgMTEwLCAyMDksIDY3LCAxLCAyMzgsIDE1LCAyNTAsIDExMCwgMjA5LCA2NywgMSwgMjA3LCA5NiwgMjUwLCAxMTAsIDIwOSwgCisgICAgNjcsIDEsIDIwNSwgMTksIDI1MCwgMTEwLCAyMDksIDY3LCAxLCAyNDAsIDE3NCwgMjUwLCAxMTAsIDIwOSwgNjcsIDEsIAorICAgIDI0NSwgNTEsIDI1MCwgMTEwLCAyMDksIDY3LCAxLCAyNDgsIDE0OCwgMjUwLCAxMTAsIDIwOSwgNjcsIDEsIDIwOSwgMTU1LCAKKyAgICAyNTAsIDExMCwgMjA5LCA2NywgMSwgMTI0LCAyNTAsIDExMCwgMjA5LCA2NywgMSwgMjUwLCAxODMsIDI1MCwgMTEwLCAyMDksIAorICAgIDY3LCAxLCAyMDcsIDE0OCwgMjUwLCAxMTAsIDIwOSwgNjcsIDEsIDIwNiwgNDYsIDI1MCwgMTEwLCAyMDksIDY3LCAxLCAKKyAgICAxNzksIDI1MCwgMTEwLCAyMDksIDY3LCAxLCAyMDcsIDkzLCAyNTAsIDExMCwgMjA5LCA2NywgMSwgNjIsIDI1MCwgMTEwLCAKKyAgICAyMDksIDY3LCAxLCA3NiwgMjUwLCAxMTAsIDIwOSwgNjcsIDEsIDIyMiwgMTUyLCAyNTAsIDExMCwgMjA5LCA2NywgMSwgNzEsIAorICAgIDI1MCwgMTEwLCAyMDksIDY3LCAxLCAyNDMsIDEwNCwgMjUwLCAxMTAsIDIwOSwgNjcsIDEsIDc1LCAyNTAsIDExMCwgMjA5LCAKKyAgICA2NywgMSwgNzQsIDI1MCwgMTEwLCAyMDksIDY3LCAzNiwgMTI3LCAyMTEsIDExOCwgMjUwLCAxMTAsIDIwOSwgNjcsIDM2LCAKKyAgICAxMTQsIDIxMSwgMTE4LCAyNTAsIDExMCwgMjA5LCA2NywgMzYsIDIyNiwgMjQ5LCAyMTEsIDExOCwgMjUwLCAxMTAsIDIwOSwgCisgICAgNjcsIDM2LCAyMjksIDk0LCAyMTEsIDExOCwgMjUwLCAxMTAsIDIwOSwgNjcsIDM2LCAyMzgsIDI1MCwgMjExLCAxMTgsIAorICAgIDI1MCwgMTEwLCAyMDksIDY3LCAyNDEsIDgyLCAyMTMsIDI1MSwgMTEyLCAxMTEsIDIyLCAyMzEsIDIyMCwgMTEyLCAxMTEsIAorICAgIDIyLCAyMzEsIDIxNiwgMTEyLCAxMTEsIDIyLCAyMzEsIDEyMCwgMTEyLCAxMTEsIDIyLCAyMzEsIDg4LCAxMTIsIDExMSwgCisgICAgMjIsIDIzMSwgMjQxLCAxMTIsIDExMSwgMjIsIDIzMSwgMjM4LCAxMTIsIDExMSwgMjIsIDIzMCwgMjI3LCAxMTIsIDExMSwgCisgICAgMjIsIDIzMCwgMjAwLCAxMTIsIDExMSwgMjIsIDIzMSwgMjIyLCAxMTIsIDExMSwgMjIsIDIzMSwgMTc3LCAxMTIsIDExMSwgCisgICAgMjIsIDIzMiwgNDAsIDExMiwgMTExLCAyMiwgMjMyLCAzNywgMTEyLCAxMTEsIDIyLCAyMzEsIDMyLCAxMTIsIDExMSwgMjIsIAorICAgIDIzMSwgMjksIDExMiwgMTExLCAyMiwgMjMxLCAyMzUsIDExMiwgMTExLCAyMiwgMjMxLCAyMzMsIDExMiwgMTExLCAyMiwgCisgICAgMjMwLCAyMjksIDExMiwgMTExLCAyMiwgMjMwLCAyMjgsIDExMiwgMTExLCAyMiwgMjMxLCA1MCwgMTEyLCAxMTEsIDIyLCAKKyAgICAyMzEsIDE4LCAxMTIsIDExMSwgMjIsIDIzMSwgMTIyLCAxMTIsIDExMSwgMjIsIDIzMSwgMTIxLCAxMTIsIDExMSwgMjIsIAorICAgIDIzMiwgNTUsIDExMiwgMTExLCAyMiwgMjMxLCAyMzcsIDExMiwgMTExLCAyMiwgMjMwLCAxOTEsIDExMiwgMTExLCAyMiwgCisgICAgMjMwLCAxODIsIDExMiwgMTExLCAyMiwgMjMyLCA2MiwgMTEyLCAxMTEsIDIyLCAyMzIsIDU2LCAxMTIsIDExMSwgMTA3LCAKKyAgICAyMDksIDQ1LCAxMTIsIDExMSwgMTA3LCAyMjMsIDIyMywgMTEyLCAxMTEsIDEwNywgMjMwLCA3NSwgMTEyLCAxMTEsIDEwNywgCisgICAgMjM5LCA4MCwgMTEyLCAxMTEsIDEwNywgMjI0LCAxMDYsIDExMiwgMTExLCAxMDcsIDIxOSwgNjAsIDExMiwgMTExLCAxMDcsIAorICAgIDIyNCwgMTMzLCAxMTIsIDExMSwgMTA3LCAyMTksIDI0OSwgMTEyLCAxMTEsIDEwNywgMjA2LCA2MSwgMTEyLCAxMTEsIDEwNywgCisgICAgMjM4LCAyMzQsIDExMiwgMTExLCAxMDcsIDIyNywgMTY2LCAxMTIsIDExMSwgMTA3LCAyNDgsIDg2LCAxMTIsIDExMSwgMTA3LCAKKyAgICAyMjUsIDE1NCwgMTEyLCAxMTEsIDEwNywgMjM4LCAxNzAsIDExMiwgMTExLCAxMDcsIDIyMCwgMjI3LCAxMTIsIDExMSwgCisgICAgMTA3LCAyMjMsIDIyOCwgMTEyLCAxMTEsIDEwNywgMjI1LCAxOTEsIDExMiwgMTExLCAxMDcsIDI1MSwgMTg0LCAxMTIsIAorICAgIDExMSwgMTA3LCAyMDYsIDE3NywgMTEyLCAxMTEsIDEwNywgMjQ4LCAxODEsIDExMiwgMTExLCAxNDEsIDI0NywgMjM5LCAKKyAgICAyMTAsIDE2NiwgMTEyLCAxMTEsIDE0MSwgMjQ3LCAyMzksIDIxNCwgMTkzLCAxMTIsIDExMSwgMTQxLCAyNDcsIDIzOSwgCisgICAgMjMxLCAxOTUsIDExMiwgMTExLCAxNDEsIDI0NywgMjM5LCAyMzEsIDE1MywgMTEyLCAxMTEsIDE0MSwgMjQ3LCAyMzksIAorICAgIDIxMywgMTk3LCAxMTIsIDExMSwgMTQxLCAyNDcsIDIzOSwgMjM4LCAxMzcsIDExMiwgMTExLCAxNDEsIDI0NywgMjM5LCAKKyAgICAyMTIsIDE1MCwgMTEyLCAxMTEsIDMsIDIwOCwgMTU4LCAyMTEsIDI1MCwgMTEyLCAxMTEsIDMsIDIwOCwgMTU4LCAyMTAsIAorICAgIDIzMiwgMjQ4LCAxMzksIDExMiwgMTExLCAzLCAyNDcsIDIzOSwgMjQ4LCA3NywgMTEyLCAxMTEsIDMsIDIwOCwgMTU4LCAKKyAgICAyMTIsIDE4LCAxMTIsIDExMSwgMywgMjA4LCAxNTgsIDI0MiwgMTgsIDExMiwgMTExLCAzLCAyMDYsIDEzNSwgMjIzLCAyMTgsIAorICAgIDExMiwgMTExLCAzLCAyMDYsIDEzNSwgMjE4LCAyMTAsIDExMiwgMTExLCAzLCAyMDYsIDEzNSwgMjExLCA4NywgMTEyLCAKKyAgICAxMTEsIDMsIDIwNiwgMTM1LCAyNDIsIDU1LCAxMTIsIDExMSwgMywgMjA4LCAxNTgsIDIxNywgNjgsIDExMiwgMTExLCAzLCAKKyAgICAyMjcsIDEwNSwgMjEzLCAyMDEsIDExMiwgMTExLCAzLCAyMDgsIDE1OCwgMjI0LCAxMSwgMTEyLCAxMTEsIDMsIDIzNywgCisgICAgMTg2LCAyMDYsIDgwLCAxMTIsIDExMSwgMywgMjA2LCAxNzYsIDExMiwgMTExLCAzLCAyNDcsIDIzOSwgMjEwLCAyMTksIAorICAgIDIxOCwgMTE0LCAxMTIsIDExMSwgMTgsIDIwNSwgODUsIDExMiwgMTExLCAxOCwgMTAyLCAxMTIsIDExMSwgMTgsIDEwNSwgCisgICAgMTEyLCAxMTEsIDE4LCAxNDIsIDExMiwgMTExLCAxOCwgMTM5LCAxMTIsIDExMSwgMTgsIDE2OCwgMTEyLCAxMTEsIDE4LCAKKyAgICAxODQsIDExMiwgMTExLCAxOCwgMTk1LCAxMTIsIDExMSwgMTgsIDE5MywgMTEyLCAxMTEsIDE4LCAyMDAsIDExMiwgMTExLCAKKyAgICA0MywgMjEyLCA5MywgMTEyLCAxMTEsIDQzLCAyMzgsIDI4LCAxMTIsIDExMSwgNDMsIDIxMiwgOTksIDIxMSwgMjQwLCAxMTIsIAorICAgIDExMSwgNDMsIDIyNiwgMjEyLCAxMTIsIDExMSwgNDMsIDIzOCwgMzAsIDIyNiwgMjEyLCAxMTIsIDExMSwgNDMsIDIxMiwgCisgICAgOTksIDI0OSwgMjI2LCAxMTIsIDExMSwgNDMsIDIxMSwgMzgsIDExMiwgMTExLCAzLCAyMDgsIDE1OCwgMjI5LCA3NiwgMTEyLCAKKyAgICAxMTEsIDMsIDIwNiwgMTMyLCAxMTIsIDExMSwgMywgMjM4LCAyMjksIDExMiwgMTExLCAzLCAyMTIsIDksIDIzOCwgMjI5LCAKKyAgICAxMTIsIDExMSwgMywgMjA0LCAyNTAsIDIxMiwgNTEsIDExMiwgMTExLCAzLCAyMzgsIDE1NCwgMTEyLCAxMTEsIDMsIDIyNCwgCisgICAgMjUsIDExMiwgMTExLCAzLCAyMDYsIDE2OCwgMTEyLCAxMTEsIDMsIDIyMywgMjIxLCAxMTIsIDExMSwgMywgMjUxLCAxNjgsIAorICAgIDExMiwgMTExLCAzLCAyMTAsIDEwMywgMjQ4LCAxMzgsIDExMiwgMTExLCAzLCAyMjcsIDEwNSwgMjEwLCAyMzUsIDExMiwgCisgICAgMTExLCAzLCAyMTIsIDE1MSwgMTEyLCAxMTEsIDMsIDIyOSwgMTA0LCAxMTIsIDExMSwgMywgMjI2LCA3MSwgMTEyLCAxMTEsIAorICAgIDMsIDI0NywgMjM5LCAyMzksIDEyNywgMjI5LCA1NSwgMjIzLCAyMjYsIDIyMywgMjI1LCAxMTIsIDExMSwgMywgMjQ3LCAKKyAgICAyMzksIDI0NywgMzksIDIxMCwgMjI2LCAxMTIsIDExMSwgMywgMjQ3LCAyMzksIDIxMCwgMTAxLCAxMTIsIDExMSwgMywgCisgICAgMjQ3LCAyMzksIDIxMCwgMTAyLCAyNDgsIDIsIDExMiwgMTExLCAzLCAyNDcsIDIzOSwgMjIwLCA3NywgMjQ2LCA2OSwgMTEyLCAKKyAgICAxMTEsIDMsIDI0NywgMjM5LCAyMjQsIDE4LCAyMTEsIDkyLCAxMTIsIDExMSwgMjQ3LCAyMTUsIDMsIDIxMCwgMjMwLCAxMTIsIAorICAgIDExMSwgMjQ3LCAyMTUsIDMsIDIwNiwgNDgsIDExMiwgMTExLCAyNDcsIDIxNSwgMywgMjI5LCAxODcsIDExMiwgMTExLCAKKyAgICAyNDcsIDIxNSwgMywgMjMwLCA3NCwgMTEyLCAxMTEsIDI0NywgMjE1LCAzLCAyMDYsIDEzMSwgMTEyLCAxMTEsIDI0NywgCisgICAgMjE1LCAzLCAyMzEsIDMzLCAxMTIsIDExMSwgMjQ3LCAyMTUsIDMsIDIzOSwgNzcsIDExMiwgMTExLCAyNDcsIDIxNSwgMywgCisgICAgMjI2LCAxMTAsIDExMiwgMTExLCAyNDcsIDIxNSwgMywgMjExLCAyNTEsIDExMiwgMTExLCAyNDcsIDIxNSwgMywgMjEwLCAKKyAgICAyNDAsIDExMiwgMTExLCAyNDcsIDIxNSwgMywgMjIxLCA5MCwgMTEyLCAxMTEsIDI0NywgMjE1LCAzLCAyMzEsIDE2NSwgCisgICAgMTEyLCAxMTEsIDI0NywgMjE1LCAzLCAyMzksIDExNywgMTEyLCAxMTEsIDI0NywgMjE1LCAzLCAyMDksIDY0LCAxMTIsIAorICAgIDExMSwgMjQ3LCAyMTUsIDMsIDI0MiwgNTIsIDExMiwgMTExLCAyNDcsIDIxNSwgMywgMjA2LCA4NywgMTEyLCAxMTEsIDI0NywgCisgICAgMjE1LCAzLCAyMTAsIDIxMywgMTEyLCAxMTEsIDI0NywgMjE1LCAzLCAyMzAsIDE4NiwgMTEyLCAxMTEsIDI0NywgMjE1LCAzLCAKKyAgICAyMDcsIDEzOCwgMTA0LCAxLCAxNzksIDEwNCwgMSwgMjUwLCAxODMsIDEwNCwgMSwgOSwgMTc5LCAxMDQsIDEsIDIyMCwgCisgICAgMjQwLCAxMDQsIDEsIDE4NSwgMTA0LCAxLCAyMjcsIDEsIDEwNCwgMSwgMjUyLCAxOSwgMTg1LCAxMDQsIDEsIDI0MiwgNzMsIAorICAgIDEwNCwgMSwgMjA5LCA3MCwgMTA0LCAxLCAyMDgsIDIxNSwgMTA0LCAxLCAyMTIsIDIxOSwgMTA0LCAxLCAyNDYsIDE0NSwgCisgICAgMTA0LCAxLCA5LCAyMTAsIDIwOCwgMTA0LCAxLCA5LCAyMTIsIDIxOSwgMTA0LCAxLCAyMTAsIDIwOCwgMTA0LCAxLCAyNDYsIAorICAgIDU0LCAxMDQsIDEsIDE5OSwgMTA0LCAxLCAyMjQsIDIzNCwgMTA0LCAxLCA5LCAyMjQsIDEwMywgMTA0LCAxLCAyNTIsIDE5LCAKKyAgICAxOTksIDEwNCwgMSwgMjI0LCAxMDMsIDEwNCwgMSwgMjI0LCA4OSwgMTA0LCAxLCAyMzAsIDE0MSwgMTA0LCAxLCAyMjksIAorICAgIDQxLCAxMDQsIDEsIDIyOSwgMjQ4LCAxMDQsIDEsIDIyOSwgMjM3LCAxMDQsIDEsIDIxMSwgMTQ0LCAxMDQsIDEsIDI0NSwgCisgICAgNTksIDEwNCwgMSwgMjExLCAxMzYsIDEwNCwgMSwgMjQ1LCA1OCwgMTA0LCAxLCAxNzIsIDEwNCwgMSwgMjQwLCAyNDQsIAorICAgIDEwNCwgMSwgOSwgMTcyLCAxMDQsIDEsIDIyMCwgMTksIDEwNCwgMSwgMjE5LCAyNTIsIDEwNCwgMSwgMjI1LCA3NywgMTA0LCAKKyAgICAxLCAyMjUsIDI2LCAxMDQsIDEsIDI1MiwgMTksIDIyNSwgNzcsIDEwNCwgMSwgMTU1LCAxMDQsIDEsIDIwNiwgMTgxLCAxMDQsIAorICAgIDEsIDI0MCwgOTksIDEwNCwgMSwgMjQwLCA3NCwgMTA0LCAxLCAyMTAsIDIxOCwgMTA0LCAxLCAyNDMsIDE4MCwgMTA0LCAxLCAKKyAgICAyMjMsIDE0NCwgMTA0LCAxLCAyMjMsIDEyNywgMTA0LCAxLCAyMTAsIDIzMywgMTA0LCAxLCAyNDMsIDE5MCwgMTA0LCAxLCAKKyAgICA5LCAyMTAsIDIzMywgMTA0LCAxLCA5LCAyNDMsIDE5MCwgMTA0LCAxLCAyMTksIDI3LCAyMTAsIDIzMywgMTA0LCAxLCAyMTYsIAorICAgIDIsIDEwNCwgMSwgMjE0LCA5NiwgMTA0LCAxLCAyMDUsIDgxLCAxMDQsIDEsIDIwNSwgMTAsIDEwNCwgMSwgMjEwLCAyNDMsIAorICAgIDEwNCwgMSwgMjQzLCAxOTYsIDEwNCwgMSwgOSwgMjEwLCAyNDMsIDEwNCwgMSwgMjE3LCAxOTksIDEwNCwgMSwgMjA1LCAKKyAgICAxMTYsIDEwNCwgMSwgMjA1LCAxMSwgMTA0LCAxLCAyMDQsIDIzOCwgMTA0LCAxLCAyMDQsIDIxOCwgMTA0LCAxLCAyNTIsIAorICAgIDE5LCAyMDQsIDIzOCwgMTA0LCAxLCAyMDQsIDIxMCwgMTA0LCAxLCAyMDQsIDIxNywgMTA0LCAxLCAyMDcsIDk2LCAxMDQsIAorICAgIDEsIDI1MiwgMjEzLCAxMDQsIDEsIDIzOSwgMjAsIDEwNCwgMSwgMjI1LCAxOTYsIDEwNCwgMywgMjUxLCAyMTUsIDEwNCwgMywgCisgICAgMjE5LCAyNywgMjA4LCAxNjgsIDEwNCwgMywgMjE5LCAyNywgMjUxLCAyMTUsIDEwNCwgMjIsIDMsIDYyLCAxMDQsIDIyLCAzLCAKKyAgICAyNTMsIDE2NCwgMTA0LCAyMiwgMywgMjUyLCAyMDksIDEwNCwgMjIsIDMsIDI1MiwgMTIyLCAxMDQsIDIyLCAzLCAyNTIsIAorICAgIDExNCwgMTA0LCAyMiwgMywgNzYsIDEwNCwgMjIsIDMsIDIyMiwgMTUyLCAxMDQsIDIyLCAzLCAyMDYsIDI1MCwgMTA0LCAyMiwgCisgICAgMywgMjA3LCAxMjksIDEwNCwgMjIsIDMsIDc1LCAxMDQsIDIyLCAzLCAyNDMsIDQxLCAxMDQsIDIyLCAzLCAyNDMsIDI4LCAKKyAgICAxMDQsIDIyLCAzLCAyMjIsIDIwNCwgMTA0LCAyMiwgMywgNzQsIDEwNCwgMjIsIDMsIDIzNywgMTkwLCAxMDQsIDIyLCAzLCAKKyAgICAyMzcsIDE4OSwgMTA0LCAyMiwgMywgMjM3LCAxODgsIDEwNCwgMjIsIDMsIDIzMiwgMjUzLCAxMDQsIDIyLCAzLCAyMzMsIAorICAgIDEyOSwgMTA0LCAyMiwgMywgMjMzLCAxMDIsIDEwNCwgMjIsIDMsIDIzMiwgMjE2LCAxMDQsIDIyLCAzLCAyMzMsIDQyLCAKKyAgICAxMDQsIDIyLCAzLCA3MSwgMTA0LCAyMiwgMywgMjEwLCAxOCwgMTA0LCAyMiwgMywgMjEwLCAxNywgMTA0LCAyMiwgMywgCisgICAgMjEwLCAxNiwgMTA0LCAyMiwgMywgMjA5LCAxNjIsIDEwNCwgMjIsIDMsIDIxMCwgMCwgMTA0LCAyMiwgMywgMjA5LCAyMjEsIAorICAgIDEwNCwgMjIsIDMsIDIwNiwgMTIzLCAxMDQsIDIyLCAzLCAyMDYsIDExLCAxMDQsIDIyLCAzLCAyNTIsIDI0OCwgMTA0LCAyMiwgCisgICAgMywgMjUyLCAyNDQsIDEwNCwgMjIsIDMsIDI0MiwgMjI5LCAxMDQsIDIyLCAzLCAyMTgsIDkzLCAyNDIsIDIyOSwgMTA0LCAKKyAgICAyMiwgMywgMjQyLCAyMzUsIDEwNCwgMjIsIDMsIDIxOCwgOTMsIDI0MiwgMjM1LCAxMDQsIDIyLCAzLCAyNTIsIDIwNSwgCisgICAgMTA0LCAyMiwgMywgMjQzLCA5MCwgMTA0LCAyMiwgMywgMjUxLCAxODQsIDEwNCwgMjIsIDMsIDIyMiwgOTcsIDEwNCwgMjIsIAorICAgIDMsIDIyNiwgMzMsIDEwNCwgMjIsIDMsIDIyNSwgNzksIDEwNCwgMTM1LCAyMTgsIDE2NywgMTA0LCAxMzUsIDIxMSwgMTAyLCAKKyAgICAyMTgsIDE2NywgMTA0LCAxMzUsIDUyLCAxMDQsIDEzNSwgNTUsIDEwNCwgMSwgMjExLCAxMTYsIDEwNCwgMSwgMjExLCAxMTUsIAorICAgIDEwNCwgMSwgMjExLCAxMTQsIDEwNCwgMSwgMjExLCAxMTMsIDEwNCwgMSwgMjExLCAxMTIsIDEwNCwgMSwgMjExLCAxMTEsIAorICAgIDEwNCwgMSwgMjExLCAxMTAsIDEwNCwgMSwgMjE5LCAyNywgMjExLCAxMTcsIDEwNCwgMSwgMjE5LCAyNywgMjExLCAxMTYsIAorICAgIDEwNCwgMSwgMjE5LCAyNywgMjExLCAxMTQsIDEwNCwgMSwgMjE5LCAyNywgMjExLCAxMTMsIDEwNCwgMSwgMjE5LCAyNywgCisgICAgMjExLCAxMTIsIDEwNCwgMSwgMjE5LCAyNywgMjExLCAxMTAsIDY0LCAxLCAyNTIsIDE5LCA3NSwgMTYxLCAxLCAyNTIsIDE5LCAKKyAgICAyMDYsIDUyLCA5NSwgMSwgMjM5LCAxNTUsIDk1LCAxLCAyMDYsIDE5NSwgOTUsIDEsIDIyMiwgNjcsIDk1LCAxLCAyMTMsIAorICAgIDEwLCA5NSwgMSwgMjQyLCAxMzksIDk1LCAxLCAyMzIsIDc2LCA5NSwgMSwgMTQ5LCA5NSwgMSwgMjUxLCAxNTAsIDk1LCAxLCAKKyAgICAyNDYsIDI0MCwgOTUsIDEsIDIwOSwgMTQ4LCA5NSwgMSwgMjQxLCA1NSwgOTUsIDEsIDEzNywgOTUsIDEsIDIyMiwgNjgsIAorICAgIDIyNiwgMzMsIDk1LCAxLCAyNDYsIDI0MSwgMTgyLCA5NSwgMSwgMjQyLCAxNDAsIDIyNiwgMzMsIDk1LCAxLCAyMzIsIDc3LCAKKyAgICAyMjksIDI4LCA5NSwgMSwgMjE5LCAxNTAsIDE4MiwgOTUsIDEsIDIxMiwgNTgsIDk1LCAxLCAyMTQsIDIyMywgMjQ1LCAxOTMsIAorICAgIDk1LCAxLCAyNDUsIDE5MywgOTUsIDEsIDIzMSwgNzMsIDk1LCAxLCAyMTQsIDIyMywgMjMyLCAyMDMsIDk1LCAxLCAyMzgsIAorICAgIDIzOCwgOTUsIDEsIDIyOSwgMjQ5LCA5NSwgMSwgMjE4LCAyMTMsIDk1LCAxLCAyMjksIDI4LCA5NSwgMSwgMjI2LCAzMywgCisgICAgOTUsIDEsIDIzMiwgMjAzLCA5NSwgMSwgMTgyLCA5NSwgMSwgMjI5LCAyOSwgMjI2LCAzMywgOTUsIDEsIDIyNiwgMzQsIAorICAgIDIyOSwgMjgsIDk1LCAxLCAyMzIsIDIwNCwgMjI5LCAyOCwgOTUsIDEsIDIxOCwgMSwgMjMyLCAyMDMsIDk1LCAxLCAyMjksIAorICAgIDI5LCAyLCAyNDUsIDIzLCA5NSwgMSwgMjI2LCAzNCwgMiwgMjQ1LCAyMywgOTUsIDEsIDIzMiwgMjA0LCAyLCAyNDUsIDIzLCAKKyAgICA5NSwgMSwgMjMyLCAyMDQsIDIsIDE3NywgMjMzLCAyNiwgMjMsIDUyLCA5NSwgMSwgMjE4LCAxLCAyLCAyNDUsIDIzLCA5NSwgCisgICAgMSwgMjE4LCAxLCAyLCA2NywgNTUsIDk1LCAxLCAyMjksIDI5LCAxODIsIDk1LCAxLCAyMjYsIDM0LCAxODIsIDk1LCAxLCAKKyAgICAyMzIsIDIwNCwgMTgyLCA5NSwgMSwgMjE4LCAxLCAxODIsIDk1LCAxLCAyMjksIDI5LCAyMjYsIDM0LCAxODIsIDk1LCAxLCAKKyAgICAyMjYsIDM0LCAyMjksIDI5LCAxODIsIDk1LCAxLCAyMzIsIDIwNCwgMjI5LCAyOSwgMTgyLCA5NSwgMSwgMjE4LCAxLCAyMzIsIAorICAgIDIwNCwgMTgyLCA5NSwgMSwgMjMyLCAyMDQsIDIxOCwgMSwgMiwgMjQ1LCAyMywgOTUsIDEsIDIzMiwgMjA0LCAyMjYsIDMzLCAKKyAgICA5NSwgMSwgMjMyLCAyMDQsIDIyNiwgMzQsIDE4MiwgOTUsIDEsIDIxOCwgMSwgMjEzLCAxMCwgOTUsIDEsIDIxOCwgMSwgCisgICAgMjEzLCAxMSwgMTM3LCA5NSwgMSwgMjE4LCAxLCAyMjIsIDY3LCA5NSwgMSwgMjE4LCAxLCAyMjIsIDY4LCAxMzcsIDk1LCAxLCAKKyAgICAyMTMsIDExLCAxODIsIDk1LCAxLCAyMTMsIDExLCAyMTksIDE1MCwgMTgyLCA5NSwgMSwgMjA3LCAxMjksIDk1LCAxLCAyMDcsIAorICAgIDMwLCA5NSwgMSwgMjA3LCAxMzAsIDEzNywgOTUsIDEsIDIxOCwgMSwgMjI2LCAzMywgOTUsIDEsIDIxOCwgMSwgMjI5LCAyOCwgCisgICAgOTUsIDEsIDIzMiwgNzcsIDIxOSwgMTUwLCAxODIsIDk1LCAxLCAyNDEsIDU2LCAyMTksIDE1MCwgMTgyLCA5NSwgMSwgMjE4LCAKKyAgICAxLCAyMzIsIDc2LCA5NSwgMSwgMjE4LCAxLCAyMzIsIDc3LCAxMzcsIDk1LCAxLCA2MiwgOTUsIDEsIDIxNCwgMjIzLCAyMjIsIAorICAgIDc4LCA5NSwgMSwgMjIyLCAyMzAsIDk1LCAxLCA3NiwgOTUsIDEsIDI1MiwgNjksIDk1LCAxLCA3NCwgOTUsIDEsIDc1LCA5NSwgCisgICAgMSwgMjMzLCAxMjksIDk1LCAxLCAyMTUsIDE0NCwgNzQsIDk1LCAxLCAyMDksIDI1MiwgOTUsIDEsIDI0MywgMTA0LCA5NSwgCisgICAgMSwgMjE0LCAyMjMsIDI0MywgOTIsIDk1LCAxLCAyMTgsIDEwOCwgNzQsIDk1LCAxLCAyMTQsIDIyMywgMjQzLCAxMDQsIDk1LCAKKyAgICAxLCAxNTIsIDc0LCA5NSwgMSwgMjA2LCA1MiwgOTUsIDEsIDcxLCA5NSwgMSwgMjQyLCAxOTIsIDk1LCAxLCAyMDYsIDE0NiwgCisgICAgOTUsIDEsIDEwNiwgMjI2LCAzMywgOTUsIDEsIDE1MiwgNzEsIDk1LCAxLCAyMTgsIDEwOCwgNzEsIDk1LCAxLCAyMDksIAorICAgIDI1MywgOTUsIDEsIDIxNCwgMjIzLCA3MSwgOTUsIDEsIDIyMiwgMTQ5LCA5NSwgMSwgMjIyLCA3OCwgOTUsIDEsIDIyMiwgCisgICAgOTcsIDk1LCAxLCAyMDcsIDk2LCA5NSwgMSwgMjA2LCAyNTAsIDk1LCAxLCAyMDcsIDIwLCA5NSwgMSwgMjA3LCA0MywgOTUsIAorICAgIDEsIDIwNiwgMjI1LCA5NSwgMSwgMjI1LCAxOTgsIDcxLCA5NSwgMSwgMjI1LCAxOTgsIDc2LCA5NSwgMSwgMjI1LCAxOTgsIAorICAgIDc0LCA5NSwgMSwgMjI1LCAxOTgsIDYyLCA5NSwgMSwgMjIxLCAxMjAsIDI1MiwgMTIyLCA5NSwgMSwgMjIxLCAxMjAsIDI1MiwgCisgICAgMTM2LCA5NSwgMSwgMjE0LCAyMjMsIDI0MywgNDEsIDk1LCAxLCAyMTQsIDIyMywgMjUyLCAxMjIsIDk1LCAxLCAyMTQsIAorICAgIDIyMywgMjIyLCAxNjUsIDk1LCAxLCAxMTUsIDIyOSwgMjgsIDk1LCAyNTIsIDIyNywgNDcsIDE5NCwgMjE3LCA4MSwgOTUsIAorICAgIDI1MiwgMjI3LCAyMjYsIDI0OSwgMTk0LCAyMTcsIDgxLCA5NSwgMjUyLCAyMjcsIDQ4LCAxOTQsIDIxNywgODEsIDk1LCAKKyAgICAyNTIsIDIyNywgMTE0LCA3OSwgMjE3LCA4MSwgOTUsIDI1MiwgMjI3LCAyMjYsIDI0OSwgNzksIDIxNywgODEsIDk1LCAyNTIsIAorICAgIDIyNywgMTI3LCA3OSwgMjE3LCA4MSwgOTUsIDI1MiwgMjI3LCAyNTEsIDE5MCwgMjE3LCA4MSwgOTUsIDI1MiwgMjI3LCAKKyAgICAyNTEsIDE5MCwgMjMwLCAzNywgMjE3LCA4MSwgOTUsIDI1MiwgMjI3LCAyNTEsIDE5MCwgMjEyLCAxNzAsIDk1LCAyNTIsIAorICAgIDIyNywgMjUxLCAxOTAsIDIxMiwgMTkxLCA5NSwgMjUyLCAyMjcsIDI1MSwgMTkwLCAxNzQsIDEwOSwgOTUsIDI1MiwgMjI3LCAKKyAgICAyNTEsIDE5MCwgMjM3LCAyMjUsIDEwOSwgOTUsIDI1MiwgMjI3LCAyNTEsIDE5MCwgMjEyLCAxNzEsIDEwOSwgOTUsIDI1MiwgCisgICAgMjI3LCAxMjcsIDE1MywgOTUsIDI1MiwgMjI3LCAxMjcsIDIxMSwgMTk3LCAxNTMsIDk1LCAyNTIsIDIyNywgMTI3LCAyMzksIAorICAgIDIzNiwgOTUsIDI1MiwgMjI3LCAxMjcsIDE1MiwgMjM5LCAyMzYsIDk1LCAyNTIsIDIyNywgMTI3LCAyNDUsIDIzLCA5NSwgCisgICAgMjUyLCAyMjcsIDEyNywgMjQ3LCAyMzMsIDk1LCAyNTIsIDIyNywgMTI3LCAyMjksIDIwNSwgOTUsIDI1MiwgMjI3LCAxMjcsIAorICAgIDIwNywgNjQsIDk1LCAyNTIsIDIyNywgMTI3LCAyMDksIDIyLCA5NSwgMjUyLCAyMjcsIDExNCwgMTUzLCA5NSwgMjUyLCAKKyAgICAyMjcsIDExNCwgMjExLCAxOTcsIDE1MywgOTUsIDI1MiwgMjI3LCAxMTQsIDIzOSwgMjM2LCA5NSwgMjUyLCAyMjcsIDExNCwgCisgICAgMTUyLCAyMzksIDIzNiwgOTUsIDI1MiwgMjI3LCAxMTQsIDI0NSwgMjMsIDk1LCAyNTIsIDIyNywgMTE0LCAyNDcsIDIzMywgCisgICAgOTUsIDI1MiwgMjI3LCAxMTQsIDIyOSwgMjA1LCA5NSwgMjUyLCAyMjcsIDExNCwgMjA3LCA2NCwgOTUsIDI1MiwgMjI3LCAKKyAgICAxMTQsIDIwOSwgMjIsIDk1LCAyNTIsIDIyNywgMTE0LCA0NSwgOTUsIDMsIDE0OCwgMiwgMjQ3LCA1OSwgOTUsIDIxMiwgMTcsIAorICAgIDEsIDIxNywgNTksIDk1LCA1MCwgODMsIDk1LCAyMjAsIDcyLCAyNDgsIDQyLCAyNDEsIDgyLCAyMTMsIDI1MSwgMjE1LCAKKyAgICAxMzEsIDI0MSwgMTM1LCAxLCAyMjIsIDg0LCAyMTUsIDEzMSwgMjQxLCAxMzUsIDI0NywgMTE1LCAyMjIsIDg0LCAyMTUsIAorICAgIDEzMSwgMjQxLCAxMzUsIDEzMCwgMjE0LCA3LCAyMTUsIDEzMSwgMjQxLCAxMzUsIDEyMCwgMjE0LCA3LCA1OCwgMzAsIDE2LCAKKyAgICAyMjAsIDg2LCA1OCwgMzAsIDE2LCAyNDYsIDgwLCA1OCwgMzAsIDE2LCAyMjEsIDEyNCwgNTgsIDMwLCAxNiwgMjIyLCA3NSwgCisgICAgMjQzLCA3MiwgNTgsIDMwLCAxNiwgMjIyLCA3NSwgMjQ1LCAxMDgsIDU4LCAzMCwgMTYsIDIwOSwgNTcsIDI0MywgNzIsIDU4LCAKKyAgICAzMCwgMTYsIDIwOSwgNTcsIDI0NSwgMTA4LCA1OCwgMzAsIDE2LCAyMzEsIDI0NCwgNTgsIDMwLCAxNiwgMjEzLCAyNywgNTgsIAorICAgIDMwLCAxNiwgMjIxLCAyMjMsIDU4LCAzMCwgMTYsIDIwNSwgMjE5LCA1OCwgMzAsIDE2LCAyMDUsIDIyMCwgMjQ1LCAxMDgsIAorICAgIDU4LCAzMCwgMTYsIDIzMCwgMjUzLCA1OCwgMzAsIDE2LCAyNTIsIDY0LCAyNDMsIDcyLCA1OCwgMzAsIDE2LCAyNDIsIDE2MywgCisgICAgMjQzLCA3MiwgNTgsIDMwLCAxNiwgMjEyLCAxMDksIDU4LCAzMCwgMTYsIDIzMSwgMTk5LCA1OCwgMzAsIDE2LCAyNTIsIDU0LCAKKyAgICA1OCwgMzAsIDE2LCAyNTIsIDU1LCAyNDUsIDEwOCwgNTgsIDMwLCAxNiwgMjEzLCAzNCwgNTgsIDMwLCAxNiwgMjEyLCAwLCAKKyAgICA1OCwgMzAsIDE2LCAyMjIsIDE3NiwgMjUyLCAxNywgNTgsIDMwLCAxNiwgMjQwLCAzLCAyNTIsIDE3LCA1OCwgMzAsIDE2LCAKKyAgICAyMjAsIDg1LCA1OCwgMzAsIDE2LCAyNDgsIDEwMiwgNTgsIDMwLCAxNiwgMjA5LCA0NiwgNTgsIDMwLCAxNiwgMjMyLCAyMjUsIAorICAgIDI1MiwgMTcsIDU4LCAzMCwgMTYsIDIzMSwgMjAxLCAyNTIsIDE3LCA1OCwgMzAsIDE2LCAyMzEsIDIwMCwgMjUyLCAxNywgCisgICAgNTgsIDMwLCAxNiwgMjE3LCAxMTgsIDU4LCAzMCwgMTYsIDIyMSwgMjEzLCA1OCwgMzAsIDE2LCAyMTQsIDE2LCAyNTIsIDU3LCAKKyAgICA1OCwgMzAsIDE2LCAyMjIsIDc0LCAyNTIsIDE3LCA1OCwgMzAsIDE2LCAyMDksIDU2LCAyNTIsIDE3LCA1OCwgMzAsIDE2LCAKKyAgICAyNTIsIDU4LCAyNTIsIDE3LCA1OCwgMzAsIDE2LCAyNTIsIDUyLCA1OCwgMzAsIDE2LCAyMzEsIDYzLCA1OCwgMzAsIDE2LCAKKyAgICAyMTgsIDIyMCwgNTgsIDMwLCAxNiwgMjIxLCA1MSwgMjUyLCAxNywgNTgsIDMwLCAxNiwgMjExLCAxNzMsIDU4LCAzMCwgMTYsIAorICAgIDI1MiwgMTIwLCA1OCwgMzAsIDE2LCAyMTcsIDYyLCA1OCwgMzAsIDE2LCAyMTMsIDM3LCAyNTIsIDE3LCA1OCwgMzAsIDE2LCAKKyAgICAyMTMsIDM3LCAyMjcsIDY0LCAyMTQsIDE0LCA1OCwgMzAsIDE2LCAyMjIsIDY5LCAyNTIsIDE3LCA1OCwgMzAsIDE2LCAyMTIsIAorICAgIDM1LCA1OCwgMzAsIDE2LCAyMzAsIDI0LCA1OCwgMzAsIDE2LCAyNDMsIDE5OSwgNTgsIDMwLCAxNiwgMjExLCA1MywgNTgsIAorICAgIDMwLCAxNiwgMjEyLCA4MiwgNTgsIDMwLCAxNiwgMjMxLCAwLCA1OCwgMzAsIDE2LCAyNTIsIDY0LCAyNDIsIDE2MywgMjI1LCAKKyAgICA5NywgNTgsIDMwLCAxNiwgMjQxLCA5MCwgMjUyLCAxNywgNTgsIDMwLCAxNiwgMjMzLCA4MSwgNTgsIDMwLCAxNiwgMjExLCAKKyAgICAyNCwgMjUyLCAxNywgNTgsIDMwLCAxNiwgMjMxLCAyNDcsIDIxMSwgMjMsIDU4LCAzMCwgMTYsIDIyMSwgMTUyLCA1OCwgMzAsIAorICAgIDE2LCAyMjAsIDkwLCA1OCwgMzAsIDE2LCAyMzEsIDM0LCA1OCwgMzAsIDE2LCAyNDgsIDI2LCAyNTIsIDE3LCA1OCwgMzAsIAorICAgIDE2LCAyMTksIDcwLCA1OCwgMzAsIDE2LCAyMjEsIDIyNiwgMjUyLCAxNywgNTgsIDMwLCAxNiwgMjIxLCAyMjQsIDI1MiwgCisgICAgMTcsIDU4LCAzMCwgMTYsIDIzNywgMTc5LCA1OCwgMzAsIDE2LCAyMjUsIDIwOCwgNTgsIDMwLCAxNiwgMjIxLCAxMDIsIDU4LCAKKyAgICAzMCwgMTYsIDIzMSwgMzUsIDI1MiwgMTUxLCA1OCwgMzAsIDE2LCAyMTEsIDI0LCAyNTIsIDE1MSwgNTgsIDMwLCAxNiwgCisgICAgMjEzLCAyNDUsIDU4LCAzMCwgMTYsIDIzOSwgMjIzLCA1OCwgMzAsIDE2LCAyMzIsIDIyNSwgMjI1LCA5NywgNTgsIDMwLCAKKyAgICAxNiwgMjIyLCAxNzYsIDIyNSwgOTcsIDU4LCAzMCwgMTYsIDIyMiwgNzUsIDIyNSwgOTcsIDU4LCAzMCwgMTYsIDIyMSwgCisgICAgMTAxLCA1OCwgMzAsIDE2LCAyMzEsIDE5LCA1OCwgMzAsIDE2LCAyMjEsIDEwMCwgNTgsIDMwLCAxNiwgMjMwLCAyNTUsIDU4LCAKKyAgICAzMCwgMTYsIDIyMSwgMTUzLCAyMjUsIDk3LCA1OCwgMzAsIDE2LCAyMzEsIDIwMCwgMjI1LCA5OCwgMjUyLCA5NSwgNTgsIAorICAgIDMwLCAxNiwgMjMxLCAyMDEsIDIyNSwgOTgsIDI1MiwgOTUsIDU4LCAzMCwgMTYsIDIwNSwgMjE3LCA1OCwgMzAsIDE2LCAKKyAgICAyNTIsIDU1LCAyMjUsIDk3LCA1OCwgMzAsIDE2LCAyNTIsIDU2LCAyMTMsIDM1LCAyMjUsIDk3LCA1OCwgMzAsIDE2LCAyMDUsIAorICAgIDIxOCwgNTgsIDMwLCAxNiwgMjMwLCAyNTQsIDU4LCAzMCwgMTYsIDI0MywgNjcsIDU4LCAzMCwgMTYsIDI0OCwgMTAzLCA1OCwgCisgICAgMzAsIDE2LCAyMjYsIDIyMSwgMjMyLCAyMjQsIDU4LCAzMCwgMTYsIDIwOSwgNTcsIDIyNSwgOTcsIDU4LCAzMCwgMTYsIAorICAgIDIyMSwgNTEsIDIyNSwgOTcsIDU4LCAzMCwgMTYsIDIyMCwgOTEsIDIyNSwgOTcsIDU4LCAzMCwgMTYsIDIyMiwgMTcyLCA1OCwgCisgICAgMzAsIDE2LCAyNTIsIDgyLCA1OCwgMzAsIDE2LCAyMjksIDM4LCA1OCwgMzAsIDE2LCAyMjEsIDIyNCwgMjI1LCA5NywgNTgsIAorICAgIDMwLCAxNiwgMjIxLCAyMjYsIDIyNSwgOTcsIDU4LCAzMCwgMTYsIDI0MiwgMTk3LCAyMjEsIDIyNSwgNTgsIDMwLCAxNiwgCisgICAgMjMwLCAxNjMsIDU4LCAzMCwgMTYsIDI1MiwgODMsIDU4LCAzMCwgMTYsIDIxMSwgMjQsIDIyNSwgOTcsIDU4LCAzMCwgMTYsIAorICAgIDI0MywgNzAsIDU4LCAzMCwgMTYsIDIxMywgMzcsIDIyNSwgOTcsIDU4LCAzMCwgMTYsIDIxMywgMjgsIDU4LCAzMCwgMTYsIAorICAgIDI0OCwgMjYsIDIyNSwgOTcsIDU4LCAzMCwgMTYsIDI0MiwgMjUwLCA1OCwgMzAsIDE2LCAyMTcsIDYzLCAyMjUsIDk3LCA1OCwgCisgICAgMzAsIDE2LCAyMDYsIDE2MiwgMjMxLCA2MywgNTgsIDMwLCAxNiwgMjExLCAyMSwgNTgsIDMwLCAxNiwgMjIwLCA5MiwgNTgsIAorICAgIDMwLCAxNiwgMjExLCAyNSwgNTgsIDMwLCAxNiwgMjExLCAyMiwgNTgsIDMwLCAxNiwgMjIwLCA4OSwgNTgsIDMwLCAxNiwgCisgICAgMjExLCAyMCwgNTgsIDMwLCAxNiwgMjIwLCA4OCwgNTgsIDMwLCAxNiwgMjQwLCAyLCA1OCwgMzAsIDE2LCAyNTIsIDksIDU4LCAKKyAgICAzMCwgMTYsIDI0MiwgMTk3LCAyNTIsIDksIDU4LCAzMCwgMTYsIDIyMiwgNjksIDIyNSwgOTcsIDU4LCAzMCwgMTYsIDIxMiwgCisgICAgMzQsIDI0MiwgMjA5LCA1OCwgMzAsIDE2LCAyMTIsIDM0LCAyNDIsIDE2MiwgNTgsIDMwLCAxNiwgMjEyLCAzNiwgMjUyLCAKKyAgICA1OSwgNTgsIDMwLCAxNiwgMjEyLCAyOCwgMjMyLCA0MiwgMjUyLCA1MSwgNTgsIDMwLCAxNiwgMjMxLCAyNDYsIDU4LCAzMCwgCisgICAgMTYsIDI0MywgMzAsIDU4LCAzMCwgMTYsIDIwNiwgMTQsIDIzMSwgMjQzLCA1OCwgMzAsIDE2LCAyMDYsIDE0LCAyNTIsIDk1LCAKKyAgICA1OCwgMzAsIDE2LCAyMTQsIDE1LCA1OCwgMzAsIDE2LCAyMzEsIDY0LCAyNTIsIDk1LCA1OCwgMzAsIDE2LCAyNDUsIDEwOSwgCisgICAgMjUyLCAxNywgNTgsIDMwLCAxNiwgMjMxLCAxLCAyNTIsIDE3LCA1OCwgMzAsIDE2LCAyMzEsIDEsIDI1MiwgMTUxLCA1OCwgCisgICAgMzAsIDE2LCAyMzEsIDEsIDIyNSwgOTcsIDU4LCAzMCwgMTYsIDI1MiwgNTgsIDIyNSwgOTcsIDU4LCAzMCwgMTYsIDI1MiwgCisgICAgNjAsIDU4LCAzMCwgMTYsIDI0NSwgMTA4LCA1OCwgMzAsIDE2LCAyMTEsIDM1LCA1OCwgMzAsIDE2LCAyMTIsIDczLCA1OCwgCisgICAgMzAsIDE2LCAyMzEsIDIzLCA1OCwgMzAsIDE2LCAyMzAsIDI5LCAyNDMsIDIzLCAyNDgsIDE2LCA1OCwgMzAsIDE2LCAyMzAsIAorICAgIDI5LCAyNDMsIDIwMCwgMjQ4LCAxNywgNTgsIDMwLCAxNiwgMjMwLCAyOSwgMjExLCAzNywgMjQ4LCAxNywgNTgsIDMwLCAxNiwgCisgICAgMjMwLCAyOSwgMjEyLCA4NCwgMjQ4LCAxNywgNTgsIDMwLCAxNiwgMjMwLCAyOSwgMjMzLCA3NiwgMjQ4LCAxNiwgNTgsIDMwLCAKKyAgICAxNiwgMjQwLCAzLCAyMjUsIDk4LCAyNTIsIDk1LCA1OCwgMzAsIDE2LCAyNDAsIDMsIDIyMSwgMjE0LCAyNTIsIDUsIDU4LCAKKyAgICAzMCwgMTYsIDI0MCwgMywgMjIxLCAyMTQsIDI0NSwgMTk3LCA1OCwgMzAsIDE2LCAyNDUsIDEzMiwgNTgsIDMwLCAxNiwgCisgICAgMjQ1LCAxMzMsIDIyMSwgMjE0LCAyNTIsIDYsIDIzMSwgMjQzLCA1OCwgMzAsIDE2LCAyNDUsIDEzMywgMjIxLCAyMTQsIAorICAgIDI1MiwgNiwgMjUyLCA5NSwgNTgsIDMwLCAxNiwgMjQ1LCAxMzMsIDIyMSwgMjE0LCAyNDUsIDE5NywgNTgsIDMwLCAxNiwgCisgICAgMjExLCA0MiwgNTgsIDMwLCAxNiwgMjUyLCAxMCwgNTgsIDMwLCAxNiwgMjMzLCA4MywgNTgsIDMwLCAxNiwgMjQ1LCAxNTQsIAorICAgIDU4LCAzMCwgMTYsIDI1MiwgMjE1LCAyMjAsIDE5NCwgMjUyLCAxMSwgNTgsIDMwLCAxNiwgMjUyLCAyMTUsIDI1MiwgOCwgCisgICAgNTgsIDMwLCAxNiwgMjUyLCAyMTUsIDI1MiwgMTEsIDU4LCAzMCwgMTYsIDI1MiwgMjE1LCAyMjcsIDU4LCA1OCwgMzAsIDE2LCAKKyAgICAyNTIsIDIxNSwgMjI3LCA2OSwgNTgsIDMwLCAxNiwgMjUyLCAyMTUsIDI0MCwgNCwgNTgsIDMwLCAxNiwgMjUyLCAyMTUsIAorICAgIDI0MCwgMSwgNTgsIDMwLCAxNiwgMjUyLCAyMTUsIDIyMCwgMTk0LCAyNDAsIDQsIDU4LCAzMCwgMTYsIDIyNywgMTgzLCAKKyAgICAyMjAsIDk4LCAyMzcsIDE3NywgNTgsIDMwLCAxNiwgMjI3LCAxODMsIDI1MiwgMTUzLCAyMjAsIDk4LCAyMzcsIDE3NywgNTgsIAorICAgIDMwLCAxNiwgMjI3LCAxODMsIDI0NSwgMTk2LCAyMzcsIDE3NywgNTgsIDMwLCAxNiwgMjI3LCAxODMsIDI1MiwgMTUzLCAKKyAgICAyNDUsIDE5NiwgMjM3LCAxNzcsIDU4LCAzMCwgMTYsIDIyNywgMTgzLCAyMTEsIDMwLCAyMzcsIDE3NywgNTgsIDMwLCAxNiwgCisgICAgMjI3LCAxODMsIDIxMSwgNDMsIDU4LCAzMCwgMTYsIDIyNywgMTgzLCAyMTIsIDc4LCAyMzcsIDE3NywgNTgsIDMwLCAxNiwgCisgICAgMjI3LCAxODMsIDIxMiwgNzgsIDIzMCwgMzMsIDIzNywgMTc3LCA1OCwgMzAsIDE2LCAyMjcsIDE4MywgMjMwLCAzMywgMjM3LCAKKyAgICAxNzcsIDU4LCAzMCwgMTYsIDIyNywgMTgzLCAyMjAsIDIzNywgMjM3LCAxNzcsIDU4LCAzMCwgMTYsIDIzMiwgMjMyLCAyMTIsIAorICAgIDEwMiwgMjM3LCAxNzgsIDU4LCAzMCwgMTYsIDI1MiwgNTYsIDIxMiwgMTAyLCAyMzcsIDE3OCwgNTgsIDMwLCAxNiwgMjQyLCAKKyAgICA0NiwgMjEyLCA3NSwgNTgsIDMwLCAxNiwgMjQyLCA0NiwgMjI2LCAxNjEsIDU4LCAzMCwgMTYsIDI0MiwgNDYsIDI0NSwgCisgICAgMTM3LCA1OCwgMzAsIDE2LCAyMjcsIDE4MywgMjA5LCA1MCwgMjM3LCAxNzcsIDU4LCAzMCwgMTYsIDIyNywgMTgzLCAyMjAsIAorICAgIDk3LCAyMzcsIDE3NywgNTgsIDMwLCAxNiwgMjI3LCAxODMsIDIyMCwgMjM3LCAyMTIsIDc4LCAyMzcsIDE3NywgNTgsIDMwLCAKKyAgICAxNiwgMjM5LCAyNTUsIDIyNiwgMzQsIDI1MiwgNTksIDU4LCAzMCwgMTYsIDIzOSwgMjU1LCAyMjYsIDM0LCAyNDUsIDEwNywgCisgICAgNTgsIDMwLCAxNiwgMjQzLCAzOSwgMjMyLCA0MiwgMjQxLCA5MCwgMjA4LCAxNTYsIDU4LCAzMCwgMTYsIDIzMywgODIsIDU4LCAKKyAgICAzMCwgMTYsIDIzMywgODAsIDU4LCAzMCwgMTYsIDI0MSwgOTAsIDI1MiwgMTgsIDI0NSwgMTk1LCAyMzcsIDE3NiwgNTgsIAorICAgIDMwLCAxNiwgMjQxLCA5MCwgMjQ1LCAxNTIsIDE3OSwgNTgsIDMwLCAxNiwgMjQxLCA5MCwgMjQ1LCAxNTIsIDIyNSwgMjA4LCAKKyAgICA1OCwgMzAsIDE2LCAyNDEsIDkwLCAyMjUsIDIwMywgMjM3LCAxNzcsIDU4LCAzMCwgMTYsIDI0MSwgOTAsIDI0NSwgMTUyLCAKKyAgICAyNDUsIDE2OCwgNTgsIDMwLCAxNiwgMjQxLCA5MCwgMjE0LCAyNDIsIDI0NSwgMTUxLCAyNDUsIDE2OCwgNTgsIDMwLCAxNiwgCisgICAgMjQxLCA5MCwgMjQ1LCAxNTIsIDIzMSwgMjI0LCA1OCwgMzAsIDE2LCAyNDEsIDkwLCAyNDUsIDE1MiwgMjA1LCAxOSwgNTgsIAorICAgIDMwLCAxNiwgMjQxLCA5MCwgMjQ1LCAxNTIsIDIyNCwgMjMxLCAyMzEsIDI0MywgNTgsIDMwLCAxNiwgMjQxLCA5MCwgMjQ1LCAKKyAgICAxNTIsIDIyNCwgMjMxLCAyNTIsIDk1LCA1OCwgMzAsIDE2LCAyNDEsIDkwLCAyMjcsIDIyNywgMjQ4LCAxOCwgMjQ1LCAxMzcsIAorICAgIDU4LCAzMCwgMTYsIDI0MSwgOTAsIDIyNywgMjI3LCAyNDgsIDE4LCAyMjYsIDE2MSwgNTgsIDMwLCAxNiwgMjQxLCAyNTEsIAorICAgIDIxNCwgMjQyLCAyNDgsIDE4LCAyMDksIDQ5LCA1OCwgMzAsIDE2LCAyNDEsIDkwLCAyMTQsIDI0MiwgMjQ4LCAxOCwgMjEzLCAKKyAgICAzOCwgNTgsIDMwLCAxNiwgMjQxLCA5MCwgMjI1LCAxMDAsIDU4LCAzMCwgMTYsIDI0OCwgMTksIDIwNCwgMjQ0LCA1OCwgMzAsIAorICAgIDE2LCAyNDgsIDE5LCAyMzEsIDYyLCA1OCwgMzAsIDE2LCAyNDgsIDE5LCAyMTQsIDE0NCwgNTgsIDMwLCAxNiwgMjQxLCA5MCwgCisgICAgMjM3LCAyMjUsIDIwNiwgMTMsIDIxMiwgNzksIDU4LCAzMCwgMTYsIDI0MSwgOTAsIDI0MywgNDAsIDI1MiwgODQsIDU4LCAKKyAgICAzMCwgMTYsIDIwNiwgMTMsIDIxMSwgMzEsIDU4LCAzMCwgMTYsIDI0NSwgMTQ1LCAyMTEsIDMxLCA1OCwgMzAsIDE2LCAyNDUsIAorICAgIDE0NSwgMjEyLCA3OSwgNTgsIDMwLCAxNiwgMjQ1LCAxNDUsIDI1MiwgNjEsIDI0MywgMjAwLCAyNDUsIDQzLCA1OCwgMzAsIAorICAgIDE2LCAyNDUsIDE0NSwgMjI2LCAxNTksIDIxMiwgODMsIDI0NSwgNDMsIDU4LCAzMCwgMTYsIDI0NSwgMTQ1LCAyNDUsIDEyOSwgCisgICAgMjQyLCAxNzMsIDI0NSwgNDMsIDU4LCAzMCwgMTYsIDI0NSwgMTQ1LCAyMTEsIDQwLCAyMjIsIDE4MiwgMjQ1LCA0MywgNTgsIAorICAgIDMwLCAxNiwgMjA2LCAxMywgMjUyLCA2MSwgMjQzLCAyMDAsIDI0NSwgNDMsIDU4LCAzMCwgMTYsIDIwNiwgMTMsIDIyNiwgCisgICAgMTU5LCAyMTIsIDgzLCAyNDUsIDQzLCA1OCwgMzAsIDE2LCAyMDYsIDEzLCAyNDUsIDEyOSwgMjQyLCAxNzMsIDI0NSwgNDMsIAorICAgIDU4LCAzMCwgMTYsIDIwNiwgMTMsIDIxMSwgNDAsIDIyMiwgMTgyLCAyNDUsIDQzLCA1OCwgMzAsIDE2LCAyNDAsIDE1NSwgCisgICAgMjQ1LCAxNDQsIDU4LCAzMCwgMTYsIDI0MCwgMTU1LCAyMDYsIDEyLCA1OCwgMzAsIDE2LCAyNDUsIDE1MywgMjUyLCA2MSwgCisgICAgMjI2LCAyMjIsIDU4LCAzMCwgMTYsIDI0NSwgMTUzLCAyNTIsIDYxLCAyMjcsIDk4LCA1OCwgMzAsIDE2LCAyNDUsIDE1MywgCisgICAgMjQ1LCAxMDgsIDU4LCAzMCwgMTYsIDI0NSwgMTUzLCAyMTIsIDI2LCA1OCwgMzAsIDE2LCAyMTUsIDQ5LCAyMTIsIDI2LCAKKyAgICA1OCwgMzAsIDE2LCAyMTUsIDQ5LCAyMTIsIDI3LCAyNDUsIDkzLCA1OCwgMzAsIDE2LCAyMTUsIDQ5LCAyMTIsIDI3LCAyMTEsIAorICAgIDMyLCA1OCwgMzAsIDE2LCAyMTUsIDQ5LCAyMTIsIDI3LCAyMTIsIDcxLCA1OCwgMzAsIDE2LCAyMTUsIDQ5LCAyNTEsIDIzOCwgCisgICAgNTgsIDMwLCAxNiwgMjE1LCA0OSwgMjUxLCAyMzksIDI0NSwgOTMsIDU4LCAzMCwgMTYsIDIxNSwgNDksIDI1MSwgMjM5LCAKKyAgICAyMTEsIDMyLCA1OCwgMzAsIDE2LCAyMTUsIDQ5LCAyNTEsIDIzOSwgMjEyLCA3MSwgNTgsIDMwLCAxNiwgMjQ1LCAxMzAsIAorICAgIDI0MCwgMTM2LCA1OCwgMzAsIDE2LCAyNDUsIDEzNiwgMjIyLCA5NywgNTgsIDMwLCAxNiwgMjE0LCA1LCA1OCwgMzAsIDE2LCAKKyAgICAyNTIsIDIsIDE3OSwgNTgsIDMwLCAxNiwgMjUyLCAyLCAyMDgsIDE1NiwgNTgsIDMwLCAxNiwgMjUyLCAyLCAyNDAsIDI0NCwgCisgICAgNTgsIDMwLCAxNiwgMjUyLCAyLCAyNDUsIDE2OCwgNTgsIDMwLCAxNiwgMjUyLCAyLCAyMzEsIDIyNCwgNTgsIDMwLCAxNiwgCisgICAgMjUyLCAyLCAyMDUsIDE5LCA1OCwgMzAsIDE2LCAyNTIsIDIsIDIyNCwgMjMwLCA1OCwgMzAsIDE2LCAyMzEsIDIwMCwgMjI1LCAKKyAgICA5OCwgMjI3LCA2OCwgNTgsIDMwLCAxNiwgMjMxLCAyMDEsIDIyNSwgOTgsIDIyNywgNjgsIDU4LCAzMCwgMTYsIDIzMSwgCisgICAgMjAwLCAyMjUsIDk4LCAyMzEsIDI0MywgNTgsIDMwLCAxNiwgMjMxLCAyMDEsIDIyNSwgOTgsIDIzMSwgMjQzLCA1OCwgMzAsIAorICAgIDE2LCAyMzEsIDY0LCAyMzEsIDI0MywgNTgsIDMwLCAxNiwgMjQwLCAzLCAyMjUsIDk4LCAyMzEsIDI0MywgMzAsIDE2LCAKKyAgICAyMTUsIDQxLCAyNTAsIDEyNCwgMzAsIDE2LCA1MCwgMjUwLCAxMjQsIDMwLCAxNiwgNDIsIDI1MCwgMTI0LCAzMCwgMTYsIAorICAgIDIxOCwgMjI1LCA0MiwgMjUwLCAxMjQsIDMwLCAxNiwgMjQ2LCA3NywgMjUwLCAxMjQsIDMwLCAxNiwgMjE1LCAxNDQsIDI1MCwgCisgICAgMTI0LCAzMCwgMTYsIDQ3LCAyMTgsIDI1MiwgNTMsIDMwLCAxNiwgNDgsIDIxOCwgMjUyLCA1MywgMzAsIDE2LCAyMTgsIAorICAgIDI1MiwgMjQ1LCAyMSwgMzAsIDE2LCAyNDYsIDExOCwgMjE3LCA2NiwgMzAsIDE2LCAyNDYsIDE0NiwgMjQ4LCAyMTAsIDMwLCAKKyAgICAxNiwgMjE3LCA2NiwgMzAsIDE2LCAyNDcsIDE3MCwgMzAsIDE2LCAyMTgsIDI1MCwgMjQxLCAyNDAsIDMwLCAxNiwgMjE4LCAKKyAgICAyNTAsIDI0MSwgMjM5LCAzMCwgMTYsIDIxOCwgMjUwLCAyNDEsIDIzOCwgMzAsIDE2LCAyNDIsIDQsIDMwLCAxNiwgMjQyLCAKKyAgICA1LCA1NSwgMzAsIDE2LCAyNDksIDEyNCwgODMsIDMwLCAxNiwgMjQ4LCAyNDcsIDMwLCAxNiwgMjQ5LCAxMzUsIDMwLCAxNiwgCisgICAgMTQ1LCAzMCwgMTYsIDIyMiwgMTYyLCAyMTQsIDM0LCAzMCwgMTYsIDIxMCwgMTA3LCAyMTQsIDM0LCAzMCwgMTYsIDIxMSwgCisgICAgMjM2LCAyMTQsIDM0LCAzMCwgMTYsIDI0MSwgMTI0LCAyMTQsIDM0LCAzMCwgMTYsIDI0MSwgMjAzLCAyMTQsIDM0LCAzMCwgCisgICAgMTYsIDIxNSwgOSwgMjE0LCAzNCwgMzAsIDE2LCAyMTUsIDcsIDI0MSwgMTA1LCAzMCwgMTYsIDI0MSwgMTIyLCAyNDEsIAorICAgIDEwNSwgMzAsIDE2LCAyNDEsIDU2LCAyNDcsIDIwNiwgMzAsIDE2LCAyNDEsIDU2LCAyNDcsIDIwNywgMjIyLCA5OSwgMjUyLCAKKyAgICAxNDIsIDMwLCAxNiwgMjQxLCA1NiwgMjQ3LCAyMDcsIDIyMiwgOTksIDI1MCwgMTA5LCAzMCwgMTYsIDI0OSwgMzUsIDI0NywgCisgICAgMjA2LCAzMCwgMTYsIDI0MiwgMTQwLCAyNDcsIDIwNiwgMzAsIDE2LCAyNDIsIDE0MCwgMjQ3LCAyMDcsIDIyMiwgOTksIAorICAgIDI1MiwgMTQyLCAzMCwgMTYsIDI0MiwgMTQwLCAyNDcsIDIwNywgMjIyLCA5OSwgMjUwLCAxMDksIDMwLCAxNiwgMjQzLCAKKyAgICAyNDIsIDI0NywgMjA1LCAzMCwgMTYsIDI0MywgMjQyLCAyNDcsIDIwNCwgMzAsIDE2LCAyMjYsIDk1LCAyMjcsIDExOCwgCisgICAgMjE4LCAyMzYsIDMwLCAxNiwgNTAsIDIxNSwgMjI3LCAzMCwgMTYsIDUwLCAyNDEsIDE4NywgMzAsIDE2LCAyNDEsIDE4OCwgCisgICAgMjA5LCAyMDYsIDMwLCAxNiwgMjQxLCAxODgsIDI0NCwgOCwgMzAsIDE2LCAyMjUsIDE5MiwgMjA5LCAyMDYsIDMwLCAxNiwgCisgICAgMjI1LCAxOTIsIDI0NCwgOCwgMzAsIDE2LCAyMTUsIDIyOCwgMjA5LCAyMDYsIDMwLCAxNiwgMjE1LCAyMjgsIDI0NCwgOCwgCisgICAgMzAsIDE2LCAyMTksIDIwNSwgMTM1LCAyMTUsIDIyNywgMzAsIDE2LCAyMTksIDIwNSwgMTM1LCAyNDEsIDE4NywgMzAsIDE2LCAKKyAgICAyNDcsIDE1MiwgMjExLCAxNzcsIDMwLCAxNiwgMjQ3LCAxMSwgMjExLCAxNzcsIDMwLCAxNiwgMjIyLCA5OSwgMjUyLCAxNDIsIAorICAgIDMwLCAxNiwgMjIyLCA5OSwgMjUwLCAxMDksIDMwLCAxNiwgMjE5LCAxODYsIDI1MiwgMTQyLCAzMCwgMTYsIDIxOSwgMTg2LCAKKyAgICAyNTAsIDEwOSwgMzAsIDE2LCAyMjYsIDk4LCAyMTgsIDIzNiwgMzAsIDE2LCAyMDcsIDIxLCAyMTgsIDIzNiwgMzAsIDE2LCAKKyAgICAxNjAsIDIxOCwgMjM2LCAzMCwgMTYsIDIxOSwgMjA1LCAyMTgsIDIzNiwgMzAsIDE2LCAyNDMsIDg0LCAyMTgsIDIzNiwgMzAsIAorICAgIDE2LCAyMTUsIDMsIDIxOCwgMjM2LCAzMCwgMTYsIDIxMiwgMSwgMjE4LCAyMzYsIDMwLCAxNiwgMjE0LCAyNTEsIDIxOCwgCisgICAgMjM2LCAzMCwgMTYsIDExOSwgMjM4LCAzMCwgMjEwLCAxMjEsIDIxOCwgMjM2LCAzMCwgMTYsIDIwNiwgMTk2LCAyMjQsIDMzLCAKKyAgICAzMCwgMTYsIDEwMSwgMjI0LCAzMywgMzAsIDE2LCAyNDcsIDIzNCwgMjA2LCAxOTYsIDIyNCwgMzMsIDMwLCAxNiwgNDksIAorICAgIDIyNCwgMzQsIDIwNywgMjMsIDMwLCAxNiwgNDksIDIyNCwgMzQsIDI0OSwgMjAyLCAzMCwgMTYsIDIxMSwgNTIsIDIyNCwgCisgICAgMzQsIDEyMCwgMjA3LCAyMywgMzAsIDE2LCAyMTEsIDUyLCAyMjQsIDM0LCAxMjAsIDI0OSwgMjAyLCAzMCwgMTYsIDIxMSwgCisgICAgNTIsIDIyNCwgMzQsIDQ3LCAyMDcsIDIzLCAzMCwgMTYsIDIxMSwgNTIsIDIyNCwgMzQsIDQ3LCAyNDksIDIwMiwgMzAsIDE2LCAKKyAgICAyMTEsIDUyLCAyMjQsIDM0LCA0OCwgMjA3LCAyMywgMzAsIDE2LCAyMTEsIDUyLCAyMjQsIDM0LCA0OCwgMjQ5LCAyMDIsIAorICAgIDMwLCAxNiwgMjExLCA1MiwgMjI0LCAzNCwgMTMwLCAyMDcsIDIzLCAzMCwgMTYsIDIxMSwgNTIsIDIyNCwgMzQsIDEzMCwgCisgICAgMjQ5LCAyMDIsIDMwLCAxNiwgMjExLCA1MiwgMjI0LCAzNCwgMTIwLCA0OCwgMjA3LCAyMywgMzAsIDE2LCAyMTEsIDUyLCAKKyAgICAyMjQsIDM0LCAxMjAsIDQ4LCAyNDksIDIwMiwgMzAsIDE2LCAyMjYsIDE0NSwgMjI0LCAzNCwgMjA3LCAyMywgMzAsIDE2LCAKKyAgICAyMjYsIDE0NSwgMjI0LCAzNCwgMjQ5LCAyMDIsIDMwLCAxNiwgMjExLCA0OSwgMjI0LCAzNCwgMTMwLCAyMDcsIDIzLCAzMCwgCisgICAgMTYsIDIxMSwgNDksIDIyNCwgMzQsIDEzMCwgMjQ5LCAyMDIsIDMwLCAxNiwgMjIxLCAyMTcsIDIyNCwgMzMsIDMwLCAxNiwgCisgICAgMjA4LCAxNjcsIDIyNCwgMzMsIDMwLCAxNiwgMjI0LCAzNCwgMjQ5LCAyMDIsIDMwLCAxNiwgMjIzLCAxODIsIDIyNCwgMzMsIAorICAgIDMwLCAxNiwgMjQ3LCAxNzcsIDIyNCwgMzQsIDIwNywgMjMsIDMwLCAxNiwgMjQ3LCAxNzcsIDIyNCwgMzQsIDI0OSwgMjAyLCAKKyAgICAzMCwgMTYsIDI0OSwgMTIyLCAzMCwgMTYsIDIwNywgMjEsIDIyNCwgMzcsIDMwLCAxNiwgMTYwLCAyMjQsIDM3LCAzMCwgMTYsIAorICAgIDIxOSwgMjA1LCAyMjQsIDM3LCAzMCwgMTYsIDI0MywgODQsIDIyNCwgMzcsIDMwLCAxNiwgMjE1LCAzLCAyMjQsIDM3LCAzMCwgCisgICAgMTYsIDIxMiwgMSwgMjI0LCAzNywgMzAsIDE2LCAyMTQsIDI1MSwgMjI0LCAzNywgMzAsIDE2LCAxMTksIDIzOCwgMzAsIAorICAgIDIxMCwgMTIxLCAyMjQsIDM3LCAzMCwgMTYsIDM2LCAyMTQsIDksIDMwLCAxNiwgMzYsIDIxNCwgMTE0LCAyMTQsIDksIDMwLCAKKyAgICAxNiwgMzYsIDIxMSwgNjAsIDMwLCAxNiwgMzYsIDIxMSwgNTksIDMwLCAxNiwgMzYsIDIxMSwgNTgsIDMwLCAxNiwgMjQxLCAKKyAgICAyMjYsIDIxMSwgNjAsIDMwLCAxNiwgMjQxLCAyMjYsIDIxMSwgNTksIDMwLCAxNiwgMjQxLCAyMjYsIDIxMSwgNTgsIDMwLCAKKyAgICAxNiwgMzYsIDI1MSwgMTgxLCAyNDUsIDIzLCAzMCwgMTYsIDM2LCAyNDEsIDE5NSwgMzAsIDE2LCAzNiwgMjQxLCAxOTQsIAorICAgIDMwLCAxNiwgMzYsIDI0MSwgMTkzLCAzMCwgMTYsIDM2LCAyNDEsIDE5MiwgMzAsIDE2LCAzNiwgMjQxLCAxOTEsIDMwLCAxNiwgCisgICAgMjUwLCA0MiwgMjUwLCA1OSwgMzAsIDE2LCAyNDMsIDM0LCAyNTAsIDU5LCAzMCwgMTYsIDI1MCwgNDIsIDIxMSwgMjAzLCAKKyAgICAzMCwgMTYsIDI0MywgMzQsIDIxMSwgMjAzLCAzMCwgMTYsIDI1MCwgNDIsIDIxNCwgMjE2LCAzMCwgMTYsIDI0MywgMzQsIAorICAgIDIxNCwgMjE2LCAzMCwgMTYsIDI1MCwgNDIsIDIyMSwgNjAsIDMwLCAxNiwgMjQzLCAzNCwgMjIxLCA2MCwgMzAsIDE2LCAzNiwgCisgICAgMjUzLCAyMSwgMzAsIDE2LCAzNiwgMjE0LCAzNywgMzAsIDE2LCAzNiwgMjEyLCA4OCwgMzAsIDE2LCAzNiwgMjE0LCAzOCwgCisgICAgMzAsIDE2LCAzNiwgMjI3LCAxOTUsIDMwLCAxNiwgMzYsIDIyNywgMTk0LCAzMCwgMTYsIDM2LCAyNTMsIDIwLCAzMCwgMTYsIAorICAgIDM2LCAyMjksIDk5LCAzMCwgMTYsIDI1MSwgMjQ5LCAyMDksIDIwNiwgMzAsIDE2LCAyNTEsIDI0OSwgMjQ0LCA4LCAzMCwgCisgICAgMTYsIDM2LCAyNDUsIDM4LCAzMCwgMTYsIDM2LCAyMTgsIDE0NSwgMzAsIDE2LCAzNiwgMjQxLCAxNzksIDMwLCAxNiwgMzYsIAorICAgIDIxNCwgMjEyLCAzMCwgMTYsIDM2LCAyNTAsIDIxLCAzMCwgMTYsIDM2LCA1MCwgMjExLCAxMDcsIDMwLCAxNiwgMzYsIDIxMSwgCisgICAgMzYsIDIxMSwgMTA3LCAzMCwgMTYsIDIxOCwgMTUwLCAzMCwgMTYsIDIxMywgMTkzLCAzMCwgMTYsIDIwNSwgMTU5LCAzMCwgCisgICAgMTYsIDIyMSwgNTIsIDMwLCAxNiwgMjI3LCA0OSwgMzAsIDE2LCAyNDEsIDEzMiwgMzAsIDE2LCAyNDcsIDY3LCAzMCwgMTYsIAorICAgIDI0NSwgMjUyLCAzMCwgMTYsIDIzOSwgMjUwLCAyMjQsIDM4LCAyMTQsIDIzNSwgMzAsIDE2LCAyMzksIDI1MCwgMjI0LCAzOCwgCisgICAgMjI0LCA2OCwgMjE0LCAyMzUsIDMwLCAxNiwgMjExLCA4NCwgMzAsIDE2LCAyMTAsIDE0NCwgMzAsIDE2LCAyMzMsIDIsIAorICAgIDIxMCwgMTQ0LCAzMCwgMTYsIDIxMCwgMTQ1LCAyMTQsIDIzNSwgMzAsIDE2LCAyMTAsIDE0NSwgMjA5LCAyMDYsIDMwLCAxNiwgCisgICAgMjIyLCAxMTIsIDIxMywgMjI0LCAzMCwgMTYsIDIyMiwgMTEyLCAyMTMsIDIyMSwgMzAsIDE2LCAyMjIsIDExMiwgMjEzLCAKKyAgICAyMjAsIDMwLCAxNiwgMjIyLCAxMTIsIDIxMywgMjE5LCAzMCwgMTYsIDIyMiwgMTEyLCAyMTMsIDIxOCwgMzAsIDE2LCAyMjIsIAorICAgIDExMiwgMjEzLCAyMTcsIDMwLCAxNiwgMjIyLCAxMTIsIDIxMywgMjE2LCAzMCwgMTYsIDIyMiwgMTEyLCAyMTMsIDIxNSwgCisgICAgMzAsIDE2LCAyMjIsIDExMiwgMjEzLCAyMTQsIDMwLCAxNiwgMjIyLCAxMTIsIDIxMywgMjIzLCAzMCwgMTYsIDIyMiwgMTEyLCAKKyAgICAyMTMsIDIyMiwgMzAsIDE2LCAyMzksIDc5LCAzMCwgMTYsIDIyNSwgMTA4LCAzMCwgMTYsIDI0MywgMzQsIDczLCAyMTQsIDEsIAorICAgIDMwLCAxNiwgMjQ1LCAyNDUsIDIxNCwgMjM1LCAzMCwgMTYsIDM2LCAxMzAsIDI0OSwgMTQ2LCAzMCwgMTYsIDM2LCAxMjAsIAorICAgIDI0OSwgMTQ2LCAzMCwgMTYsIDM2LCAyMzksIDkxLCAzMCwgMTYsIDM2LCAyMTQsIDIwMywgMjIwLCAyNDEsIDMwLCAxNiwgCisgICAgMjIxLCAxNjksIDgzLCAzMCwgMTYsIDIyMSwgMTY5LCAxMjAsIDgzLCAzMCwgMTYsIDE2MCwgMjIxLCAxNjksIDgzLCAzMCwgCisgICAgMTYsIDI0MCwgMjcsIDIwOSwgMjA2LCAzMCwgMTYsIDI0MCwgMjcsIDI0NCwgOCwgMzAsIDE2LCAyLCAyNDEsIDIyNSwgMzAsIAorICAgIDE2LCAyNDYsIDEwMiwgMzAsIDE2LCAyNDYsIDEwMywgMjUyLCAxNTYsIDMwLCAxNiwgMjI3LCAxNjQsIDMwLCAxNiwgMjI5LCAKKyAgICAxMTcsIDMwLCAxNiwgMjQ5LCAxMTksIDMwLCAxNiwgMjE2LCA1NiwgMjA3LCAyMywgMzAsIDE2LCAyMTYsIDU2LCAyNDksIAorICAgIDIwMiwgMzAsIDE2LCAyMjYsIDIwNSwgMzAsIDE2LCAyMjYsIDIwNiwgMjQ5LCAyMDIsIDMwLCAxNiwgMjE2LCA1MCwgMjA3LCAKKyAgICAyMywgMzAsIDE2LCAyMTYsIDUwLCAyNDksIDIwMiwgMzAsIDE2LCAyNDEsIDczLCAyMDcsIDIzLCAzMCwgMTYsIDI0MSwgNzMsIAorICAgIDI0OSwgMjAyLCAzMCwgMTYsIDIyOSwgMTE4LCAyMjEsIDEyOSwgMjE4LCAyMzYsIDMwLCAxNiwgMjI5LCAxMTgsIDIzMywgCisgICAgNzMsIDIxOCwgMjM2LCAzMCwgMTYsIDI0OSwgMTIwLCAyMTgsIDIzNiwgMzAsIDE2LCAyMTYsIDU2LCAyMTgsIDIzNiwgMzAsIAorICAgIDE2LCAyMjYsIDIwNiwgMjE4LCAyMzYsIDMwLCAxNiwgMjE2LCA1MCwgMjE4LCAyMzYsIDMwLCAxNiwgMjEyLCAxMDAsIDIyMSwgCisgICAgMTI3LCAyNDcsIDM0LCAyMjAsIDEwNywgMjIxLCAxMjgsIDMwLCAxNiwgMjEyLCAxMDAsIDIyMSwgMTI3LCAyNDcsIDM0LCAKKyAgICAyMjAsIDEwNywgMjMzLCA3MiwgMzAsIDE2LCAyMTIsIDEwMCwgMjIxLCAxMjcsIDI0NywgMzQsIDIyMCwgMTA3LCAyMjEsIAorICAgIDEyOSwgMjQ1LCAxMTgsIDMwLCAxNiwgMjEyLCAxMDAsIDIzMywgNzEsIDI0NywgMzQsIDIyMCwgMTA3LCAyMjEsIDEyOCwgCisgICAgMzAsIDE2LCAyMTIsIDEwMCwgMjMzLCA3MSwgMjQ3LCAzNCwgMjIwLCAxMDcsIDIzMywgNzIsIDMwLCAxNiwgMjEyLCAxMDAsIAorICAgIDIzMywgNzEsIDI0NywgMzQsIDIyMCwgMTA3LCAyMzMsIDczLCAyNDUsIDExOCwgMzAsIDE2LCAyMTIsIDEwMCwgMjMzLCA3MSwgCisgICAgMjQ3LCAzNCwgMjIwLCAxMDcsIDIzMywgNzMsIDI0NSwgMTE3LCAzMCwgMTYsIDIxMiwgMTAwLCAyMzMsIDcxLCAyNDcsIDM0LCAKKyAgICAyMjAsIDEwNywgMjMzLCA3MywgMjQ1LCAxMTYsIDMwLCAxNiwgMjQ3LCA2MiwgMzAsIDE2LCAyMzksIDIyNiwgMjQ5LCAzNSwgCisgICAgMjQ3LCAyMDYsIDMwLCAxNiwgMjM5LCAyMjYsIDI0MiwgMTQwLCAyNDcsIDIwNiwgMzAsIDE2LCA0OSwgMjUxLCAxNTAsIDMwLCAKKyAgICAxNiwgMjA4LCAxODcsIDMwLCAxNiwgMjIwLCAyMDgsIDMwLCAxNiwgMjQ3LCAxOTcsIDMwLCAxNiwgMjE3LCAxMDgsIDMwLCAKKyAgICAxNiwgMjQ3LCAyMDEsIDMwLCAxNiwgMjExLCA5NSwgMzAsIDE2LCAyMjAsIDE4MCwgMzAsIDE2LCAyMjAsIDE4MSwgMjQxLCAKKyAgICAxODEsIDMwLCAxNiwgMjE3LCAxMDksIDI0MSwgMTgxLCAzMCwgMTYsIDIxMSwgOTYsIDIxOCwgMjMzLCAzMCwgMTYsIDIyMSwgCisgICAgMTEwLCAyMTMsIDE4NCwgMjcsIDIwOCwgMTcyLCAyMjQsIDQxLCAyMTMsIDg4LCAyNywgMjA4LCAxNzIsIDIyNCwgNDEsIAorICAgIDIxMywgNzcsIDI3LCAyMDgsIDE3MiwgMjI0LCA0MSwgMjEzLCA2NywgMjcsIDIwOCwgMTcyLCAyMjQsIDQxLCAyMTMsIDYwLCAKKyAgICAyNywgMjA4LCAxNzIsIDIyNCwgNDEsIDIxMywgNTIsIDI3LCAyMDgsIDE3MiwgMjI0LCA0MSwgMjEzLCA0NiwgMjcsIDIwOCwgCisgICAgMTcyLCAyMjQsIDQxLCAyMTMsIDQ1LCAyNywgMjA4LCAxNzIsIDIyNCwgNDEsIDIxMywgNDQsIDI3LCAyMDgsIDE3MiwgMjI0LCAKKyAgICA0MSwgMjEzLCA0MywgMjcsIDIwOCwgMTcyLCAyMjQsIDQxLCAyMTMsIDg3LCAyNywgMjA4LCAxNzIsIDIyNCwgNDEsIDIxMywgCisgICAgODYsIDI3LCAyMDgsIDE3MiwgMjI0LCA0MSwgMjEzLCA4NSwgMjcsIDIwOCwgMTcyLCAyMjQsIDQxLCAyMTMsIDg0LCAyNywgCisgICAgMjA4LCAxNzIsIDIyNCwgNDEsIDIxMywgODMsIDI3LCAyMDgsIDE3MiwgMjI0LCA0MSwgMjEzLCA4MiwgMjcsIDIwOCwgMTcyLCAKKyAgICAyMjQsIDQxLCAyMTMsIDgxLCAyNywgMjA4LCAxNzIsIDIyNCwgNDEsIDIxMywgODAsIDI3LCAyMDgsIDE3MiwgMjI0LCA0MSwgCisgICAgMjEzLCA3OSwgMjcsIDIwOCwgMTcyLCAyMjQsIDQxLCAyMTMsIDc4LCAyNywgMjA4LCAxNzIsIDIyNCwgNDEsIDIxMywgNzYsIAorICAgIDI3LCAyMDgsIDE3MiwgMjI0LCA0MSwgMjEzLCA3NSwgMjcsIDIwOCwgMTcyLCAyMjQsIDQxLCAyMTMsIDc0LCAyNywgMjA4LCAKKyAgICAxNzIsIDIyNCwgNDEsIDIxMywgNzMsIDI3LCAyMDgsIDE3MiwgMjI0LCA0MSwgMjEzLCA3MiwgMjcsIDIwOCwgMTcyLCAyMjQsIAorICAgIDQxLCAyMTMsIDUxLCAyNywgMjA4LCAxNzIsIDIyNCwgNDEsIDIxMywgNTAsIDI3LCAyMDgsIDE3MiwgMjI0LCA0MSwgMjEzLCAKKyAgICA0OSwgMjcsIDIwOCwgMTcyLCAyMjQsIDQxLCAyMTMsIDQ4LCAyNywgMjA4LCAxNzIsIDIyNCwgNDEsIDIxMywgNDcsIDI3LCAKKyAgICAyMzMsIDI0LCAyMjQsIDQxLCAyMTMsIDg4LCAyNywgMjMzLCAyNCwgMjI0LCA0MSwgMjEzLCA3NywgMjcsIDIzMywgMjQsIAorICAgIDIyNCwgNDEsIDIxMywgNjAsIDI3LCAyMzMsIDI0LCAyMjQsIDQxLCAyMTMsIDUyLCAyNywgMjMzLCAyNCwgMjI0LCA0MSwgCisgICAgMjEzLCA0NSwgMjcsIDIzMywgMjQsIDIyNCwgNDEsIDIxMywgNDQsIDI3LCAyMzMsIDI0LCAyMjQsIDQxLCAyMTMsIDg2LCAKKyAgICAyNywgMjMzLCAyNCwgMjI0LCA0MSwgMjEzLCA4NSwgMjcsIDIzMywgMjQsIDIyNCwgNDEsIDIxMywgODQsIDI3LCAyMzMsIAorICAgIDI0LCAyMjQsIDQxLCAyMTMsIDgzLCAyNywgMjMzLCAyNCwgMjI0LCA0MSwgMjEzLCA4MCwgMjcsIDIzMywgMjQsIDIyNCwgCisgICAgNDEsIDIxMywgNzksIDI3LCAyMzMsIDI0LCAyMjQsIDQxLCAyMTMsIDc4LCAyNywgMjMzLCAyNCwgMjI0LCA0MSwgMjEzLCAKKyAgICA3MywgMjcsIDIzMywgMjQsIDIyNCwgNDEsIDIxMywgNzIsIDI3LCAyMzMsIDI0LCAyMjQsIDQxLCAyMTMsIDcxLCAyNywgCisgICAgMjMzLCAyNCwgMjI0LCA0MSwgMjEzLCA3MCwgMjcsIDIzMywgMjQsIDIyNCwgNDEsIDIxMywgNjksIDI3LCAyMzMsIDI0LCAKKyAgICAyMjQsIDQxLCAyMTMsIDY4LCAyNywgMjMzLCAyNCwgMjI0LCA0MSwgMjEzLCA2NiwgMjcsIDIzMywgMjQsIDIyNCwgNDEsIAorICAgIDIxMywgNjUsIDI3LCAyMzMsIDI0LCAyMjQsIDQxLCAyMTMsIDY0LCAyNywgMjMzLCAyNCwgMjI0LCA0MSwgMjEzLCA2MywgCisgICAgMjcsIDIzMywgMjQsIDIyNCwgNDEsIDIxMywgNjIsIDI3LCAyMzMsIDI0LCAyMjQsIDQxLCAyMTMsIDYxLCAyNywgMjMzLCAKKyAgICAyNCwgMjI0LCA0MSwgMjEzLCA1OSwgMjcsIDIzMywgMjQsIDIyNCwgNDEsIDIxMywgNTgsIDI3LCAyMzMsIDI0LCAyMjQsIAorICAgIDQxLCAyMTMsIDU3LCAyNywgMjMzLCAyNCwgMjI0LCA0MSwgMjEzLCA1NiwgMjcsIDIzMywgMjQsIDIyNCwgNDEsIDIxMywgCisgICAgNTUsIDI3LCAyMzMsIDI0LCAyMjQsIDQxLCAyMTMsIDU0LCAyNywgMjMzLCAyNCwgMjI0LCA0MSwgMjEzLCA1MywgMjcsIAorICAgIDIzMywgMjQsIDIyNCwgNDEsIDIxMywgNTEsIDI3LCAyMzMsIDI0LCAyMjQsIDQxLCAyMTMsIDUwLCAyNywgMjMzLCAyNCwgCisgICAgMjI0LCA0MSwgMjEzLCA0OSwgMjcsIDIzMywgMjQsIDIyNCwgNDEsIDIxMywgNDgsIDI3LCAyMzMsIDI0LCAyMjQsIDQxLCAKKyAgICAyMTMsIDQ3LCAzNiwgMjcsIDMwLCAyMTEsIDMzLCAzNiwgMjcsIDMwLCAyMTIsIDcyLCAzNiwgMjcsIDMwLCAyMjEsIDEzOCwgCisgICAgMjcsIDMwLCAyMzAsIDI4LCAyMjYsIDE2MCwgMzMsIDI0MywgMTIwLCAyNDUsIDEzMSwgMzMsIDIzOSwgNTUsIDI0MywgMTIwLCAKKyAgICAyNDUsIDEzMSwgMzMsIDIzOCwgMzMsIDI0MywgMTIwLCAyNDUsIDEzMSwgMzMsIDI0MywgMTE5LCAyMzksIDU2LCAyNDUsIAorICAgIDEzMSwgMzMsIDI0MywgMTE5LCAyMzgsIDMyLCAyNDUsIDEzMSwgMzMsIDI0MywgMTIwLCAyMTIsIDc0LCAzMywgMjQ4LCAKKyAgICAxMjgsIDIxMiwgNzQsIDMzLCAyNDEsIDgyLCAyNDcsIDIzMywgMjEyLCA3NCwgMzMsIDIyNiwgMTk3LCAyMTIsIDc0LCAzMywgCisgICAgMjUwLCAxMTksIDIxMiwgNzQsIDMzLCAyMzEsIDIxOCwgMjE0LCAyMTUsIDIxMiwgNzQsIDMzLCAyNDcsIDExMCwgMjEyLCAKKyAgICA3NCwgMzMsIDI1MSwgMjI3LCAyMTIsIDc0LCAzMywgMjIyLCAxMjgsIDIxMiwgNzQsIDMzLCAyNDksIDEyOSwgMjIyLCA5MywgCisgICAgMjEyLCA3NCwgMzMsIDI0NSwgMjQ3LCAyMjIsIDEyMywgMjQ1LCA4NiwgMjEyLCA3NCwgMzMsIDI0NSwgODMsIDIxMiwgNzQsIAorICAgIDMzLCAyMDUsIDIyNSwgMjEyLCA3NCwgMzMsIDIzMywgNTksIDIxMiwgNzQsIDMzLCAyMjEsIDE0OCwgMjEyLCA3NCwgMzMsIAorICAgIDIxOSwgNTAsIDIxMiwgNzQsIDMzLCAyNDcsIDEyMSwgMjEyLCA3NCwgMzMsIDIzOCwgMTQxLCAyNTAsIDE3NiwgMjEyLCA3NCwgCisgICAgMzMsIDIwNywgODksIDIxMiwgNzQsIDMzLCAyNDEsIDE1NywgMjEyLCA3NCwgMzMsIDI1MiwgMjUxLCAyMTIsIDc0LCAzMywgCisgICAgMjE5LCA5LCAyMTIsIDc0LCAzMywgMjE4LCAyNDAsIDIxMiwgNzQsIDMzLCAyNDMsIDExOCwgMjEyLCA3NCwgMzMsIDIzMiwgCisgICAgMTA3LCAyMTIsIDc0LCAzMywgMjQ3LCAxMTYsIDIxMiwgNzQsIDMzLCAyNDMsIDMzLCAyMTIsIDc0LCAzMywgMjQzLCAyMTEsIAorICAgIDIxMiwgNzQsIDMzLCAyNDgsIDk4LCAyMTIsIDc0LCAzMywgMjQ2LCAxLCAyMTIsIDc0LCAzMywgMjQsIDIxOCwgMjM5LCAKKyAgICAyMTIsIDc0LCAzMywgMjIyLCA0MywgMjEyLCA3NCwgMzMsIDIzMCwgMzIsIDIxMiwgNzQsIDMzLCAyNDcsIDE5MCwgMjEyLCAKKyAgICA3NCwgMzMsIDIzMSwgMTA1LCAyMTIsIDc0LCAzMywgMjQwLCAxOTQsIDIxMiwgNzQsIDMzLCAyMTMsIDIzNCwgMjEyLCA3NCwgCisgICAgMzMsIDIyMCwgNjEsIDIxMiwgNzQsIDMzLCAyNDEsIDgxLCAyMTIsIDc0LCAzMywgMjE4LCAyNDEsIDIxMiwgNzQsIDMzLCAKKyAgICAyMzAsIDcxLCAyMjIsIDEyMywgMjI2LCAxNzcsIDIxMiwgNzQsIDMzLCAyMTgsIDIzNywgMjEyLCA3NCwgMzMsIDI0MCwgMTMsIAorICAgIDIxMSwgMTMwLCAyMjcsIDEwMiwgMjEyLCA3NCwgMzMsIDI0MywgMzUsIDIxMiwgNzQsIDMzLCAyMTMsIDI0NiwgMjEyLCA3NCwgCisgICAgMzMsIDIzOSwgMjI4LCAyMTIsIDc0LCAzMywgMjQzLCAyNiwgMjEyLCA3NCwgMzMsIDIyMSwgMTkwLCAyMTIsIDc0LCAzMywgCisgICAgMjE4LCAxMzksIDIxMiwgNzQsIDMzLCAyNDEsIDE4MCwgMjEyLCA3NCwgMzMsIDIwOSwgNDgsIDIyMiwgMTIzLCAyMDcsIDczLCAKKyAgICAyMTIsIDc0LCAzMywgMjQ3LCAxMjYsIDIxMiwgNzQsIDMzLCAyMjcsIDExNywgMjEyLCA3NCwgMzMsIDI0MiwgMTk4LCAyMTIsIAorICAgIDc0LCAzMywgMjA5LCAyMTUsIDIxMiwgNzQsIDMzLCAyNDUsIDExOSwgMjEyLCA3NCwgMzMsIDI0NywgMTkyLCAyMjYsIDEyMywgCisgICAgMjEyLCA3NCwgMzMsIDIzOSwgMjA1LCAyMTIsIDc0LCAzMywgMjQwLCAxOTUsIDIzMywgNjgsIDIxMiwgNzQsIDMzLCAyMjcsIAorICAgIDE3MiwgMjEyLCA3NCwgMzMsIDI1MywgMTYsIDIxMiwgNzQsIDMzLCAyNDMsIDQ4LCAyMTIsIDc0LCAzMywgMjQ0LCAxMiwgCisgICAgMjEyLCA3NCwgMzMsIDIwNywgNzEsIDIxMiwgNzQsIDMzLCAyMTUsIDM2LCAyMTIsIDc0LCAzMywgMjMzLCAzMywgMjEyLCAKKyAgICA3NCwgMzMsIDI0NSwgMjE1LCAyMTIsIDc0LCAzMywgMjQ2LCA4MiwgMjEyLCA3NCwgMzMsIDI0NSwgMTE1LCAyMTIsIDc0LCAKKyAgICAzMywgMjQyLCAxNjYsIDIxMiwgNzQsIDMzLCAyMTYsIDE2LCAyMTIsIDc0LCAzMywgMjEzLCAyNTAsIDIxMiwgNzQsIDMzLCAKKyAgICAyMzksIDkzLCAyMTIsIDc0LCAzMywgMjQ3LCAxNDgsIDIxMiwgNzQsIDMzLCAyNDcsIDE4NywgMjEyLCA3NCwgMzMsIDI0MiwgCisgICAgNTMsIDIxMiwgNzQsIDMzLCAyNTIsIDIxNiwgMjEyLCA3NCwgMzMsIDI0NywgMTQ3LCAyMTIsIDc0LCAzMywgMjIyLCAxNjYsIAorICAgIDIxMiwgNDIsIDIwOSwgMjUsIDIxMiwgNzQsIDMzLCAyNDUsIDEzOSwgMjEyLCA3NCwgMzMsIDIzMCwgMTI5LCAyMTIsIDc0LCAKKyAgICAzMywgMjQxLCAxMjgsIDI0NywgNzksIDIxOCwgMTE1LCAyMDksIDIxNywgMTgsIDEwMiwgMjQ3LCA3OSwgMjE4LCAxMTUsIAorICAgIDIwOSwgMjE3LCAxOCwgMTA1LCAyNDcsIDc5LCAyMTgsIDExNSwgMjA5LCAyMTcsIDE4LCAxNDIsIDI0NywgNzksIDIxOCwgCisgICAgMTE1LCAyMDksIDIxNywgMTgsIDEzOSwgMjQ3LCA3OSwgMjE4LCAxMTUsIDIwOSwgMjE3LCAxOCwgMTY4LCAyNDcsIDc5LCAKKyAgICAyMTgsIDExNSwgMjA5LCAyMTcsIDE4LCAxODQsIDI0NywgNzksIDIxOCwgMTE1LCAyMDksIDIxNywgMTgsIDE5NSwgMjQ3LCAKKyAgICA3OSwgMjE4LCAxMTUsIDIwOSwgMjE3LCAxOCwgMTkzLCAyNDcsIDc5LCAyMTgsIDExNSwgMjA5LCAyMTcsIDE4LCAyMDAsIAorICAgIDI0NywgNzksIDIxOCwgMTE1LCAyMTIsIDk0LCAxOCwgMTAyLCAyNDcsIDc5LCAyMTgsIDExNSwgMjEyLCA5NCwgMTgsIDEwNSwgCisgICAgMjQ3LCA3OSwgMjE4LCAxMTUsIDIxMiwgOTQsIDE4LCAxNDIsIDI0NywgNzksIDIxOCwgMTE1LCAyMTIsIDk0LCAxOCwgMTM5LCAKKyAgICAyNDcsIDc5LCAyMTgsIDExNSwgMjEyLCA5NCwgMTgsIDE2OCwgMjQ3LCA3OSwgMjE4LCAxMTUsIDIxMiwgOTQsIDE4LCAxODQsIAorICAgIDI0NywgNzksIDIxOCwgMTE1LCAyMTIsIDk0LCAxOCwgMTk1LCAyNDcsIDc5LCAyMTgsIDExNSwgMjEyLCA5NCwgMTgsIDE5MywgCisgICAgMjQ3LCA3OSwgMjE4LCAxMTUsIDIxMiwgOTQsIDE4LCAyMDAsIDExLCAyNCwgNiwgNjIsIDExLCAyNCwgNiwgMjUxLCAxNTAsIAorICAgIDExLCAyNCwgNiwgMjQ5LCAzNCwgMTEsIDI0LCA2LCAyNDYsIDI0MCwgMTEsIDI0LCA2LCA3NSwgMTEsIDI0LCA2LCAyNDIsIAorICAgIDEzOSwgMTEsIDI0LCA2LCAyNDEsIDU1LCAxMSwgMjQsIDYsIDIzOSwgMTU1LCAxMSwgMjQsIDYsIDc0LCAxMSwgMjQsIDYsIAorICAgIDIzMiwgMjAzLCAxMSwgMjQsIDYsIDIzMiwgNzYsIDExLCAyNCwgNiwgMTQ5LCAxMSwgMjQsIDYsIDIyOSwgMjgsIDExLCAyNCwgCisgICAgNiwgMjI2LCAzMywgMTEsIDI0LCA2LCA3NiwgMTEsIDI0LCA2LCAyMjIsIDY3LCAxMSwgMjQsIDYsIDIyMCwgMjcsIDExLCAKKyAgICAyNCwgNiwgMTM3LCAxMSwgMjQsIDYsIDE4MiwgMTEsIDI0LCA2LCAyMTMsIDEwLCAxMSwgMjQsIDYsIDcxLCAxMSwgMjQsIDYsIAorICAgIDIwOSwgMTQ4LCAxMSwgMjQsIDYsIDIwNywgMTI5LCAxMSwgMjQsIDYsIDIwNiwgMTk1LCAxMSwgMjQsIDYsIDIwNiwgMTIzLCAKKyAgICAxMSwgMjQsIDYsIDIwNSwgMTU5LCAxMSwgMjQsIDUsIDYyLCAxMSwgMjQsIDUsIDI1MSwgMTUwLCAxMSwgMjQsIDUsIDI0OSwgCisgICAgMzQsIDExLCAyNCwgNSwgMjQ2LCAyNDAsIDExLCAyNCwgNSwgNzUsIDExLCAyNCwgNSwgMjQyLCAxMzksIDExLCAyNCwgNSwgCisgICAgMjQxLCA1NSwgMTEsIDI0LCA1LCAyMzksIDE1NSwgMTEsIDI0LCA1LCA3NCwgMTEsIDI0LCA1LCAyMzIsIDIwMywgMTEsIDI0LCAKKyAgICA1LCAyMzIsIDc2LCAxMSwgMjQsIDUsIDE0OSwgMTEsIDI0LCA1LCAyMjksIDI4LCAxMSwgMjQsIDUsIDIyNiwgMzMsIDExLCAKKyAgICAyNCwgNSwgNzYsIDExLCAyNCwgNSwgMjIyLCA2NywgMTEsIDI0LCA1LCAyMjAsIDI3LCAxMSwgMjQsIDUsIDEzNywgMTEsIAorICAgIDI0LCA1LCAxODIsIDExLCAyNCwgNSwgMjEzLCAxMCwgMTEsIDI0LCA1LCA3MSwgMTEsIDI0LCA1LCAyMDksIDE0OCwgMTEsIAorICAgIDI0LCA1LCAyMDcsIDEyOSwgMTEsIDI0LCA1LCAyMDYsIDE5NSwgMTEsIDI0LCA1LCAyMDYsIDEyMywgMTEsIDI0LCA1LCAKKyAgICAyMDUsIDE1OSwgMTEsIDM1LCA2LCA2MiwgMTEsIDM1LCA2LCAyNTEsIDE1MCwgMTEsIDM1LCA2LCAyNDksIDM0LCAxMSwgMzUsIAorICAgIDYsIDI0NiwgMjQwLCAxMSwgMzUsIDYsIDc1LCAxMSwgMzUsIDYsIDI0MiwgMTM5LCAxMSwgMzUsIDYsIDI0MSwgNTUsIDExLCAKKyAgICAzNSwgNiwgMjM5LCAxNTUsIDExLCAzNSwgNiwgNzQsIDExLCAzNSwgNiwgMjMyLCAyMDMsIDExLCAzNSwgNiwgMjMyLCA3NiwgCisgICAgMTEsIDM1LCA2LCAxNDksIDExLCAzNSwgNiwgMjI5LCAyOCwgMTEsIDM1LCA2LCAyMjYsIDMzLCAxMSwgMzUsIDYsIDc2LCAKKyAgICAxMSwgMzUsIDYsIDIyMiwgNjcsIDExLCAzNSwgNiwgMjIwLCAyNywgMTEsIDM1LCA2LCAxMzcsIDExLCAzNSwgNiwgMTgyLCAKKyAgICAxMSwgMzUsIDYsIDIxMywgMTAsIDExLCAzNSwgNiwgNzEsIDExLCAzNSwgNiwgMjA5LCAxNDgsIDExLCAzNSwgNiwgMjA3LCAKKyAgICAxMjksIDExLCAzNSwgNiwgMjA2LCAxOTUsIDExLCAzNSwgNiwgMjA2LCAxMjMsIDExLCAzNSwgNiwgMjA1LCAxNTksIDExLCAKKyAgICAzNSwgNSwgNjIsIDExLCAzNSwgNSwgMjUxLCAxNTAsIDExLCAzNSwgNSwgMjQ5LCAzNCwgMTEsIDM1LCA1LCAyNDYsIDI0MCwgCisgICAgMTEsIDM1LCA1LCA3NSwgMTEsIDM1LCA1LCAyNDIsIDEzOSwgMTEsIDM1LCA1LCAyNDEsIDU1LCAxMSwgMzUsIDUsIDc0LCAKKyAgICAxMSwgMzUsIDUsIDIzMiwgMjAzLCAxMSwgMzUsIDUsIDIzMiwgNzYsIDExLCAzNSwgNSwgMTQ5LCAxMSwgMzUsIDUsIDIyOSwgCisgICAgMjgsIDExLCAzNSwgNSwgMjI2LCAzMywgMTEsIDM1LCA1LCA3NiwgMTEsIDM1LCA1LCAyMjIsIDY3LCAxMSwgMzUsIDUsIAorICAgIDIyMCwgMjcsIDExLCAzNSwgNSwgMTM3LCAxMSwgMzUsIDUsIDE4MiwgMTEsIDM1LCA1LCAyMTMsIDEwLCAxMSwgMzUsIDUsIAorICAgIDcxLCAxMSwgMzUsIDUsIDIwOSwgMTQ4LCAxMSwgMzUsIDUsIDIwNywgMTI5LCAxMSwgMzUsIDUsIDIwNiwgMTk1LCAxMSwgCisgICAgMzUsIDUsIDIwNiwgMTIzLCAxMSwgMzUsIDUsIDIwNSwgMTU5LCAxMSwgMjQsIDM1LCA2LCA2MiwgMTEsIDI0LCAzNSwgNiwgCisgICAgMjUxLCAxNTAsIDExLCAyNCwgMzUsIDYsIDI0OSwgMzQsIDExLCAyNCwgMzUsIDYsIDI0NiwgMjQwLCAxMSwgMjQsIDM1LCA2LCAKKyAgICA3NSwgMTEsIDI0LCAzNSwgNiwgMjQyLCAxMzksIDExLCAyNCwgMzUsIDYsIDI0MSwgNTUsIDExLCAyNCwgMzUsIDYsIDIzOSwgCisgICAgMTU1LCAxMSwgMjQsIDM1LCA2LCA3NCwgMTEsIDI0LCAzNSwgNiwgMjMyLCAyMDMsIDExLCAyNCwgMzUsIDYsIDIzMiwgNzYsIAorICAgIDExLCAyNCwgMzUsIDYsIDE0OSwgMTEsIDI0LCAzNSwgNiwgMjI5LCAyOCwgMTEsIDI0LCAzNSwgNiwgMjI2LCAzMywgMTEsIAorICAgIDI0LCAzNSwgNiwgNzYsIDExLCAyNCwgMzUsIDYsIDIyMiwgNjcsIDExLCAyNCwgMzUsIDYsIDIyMCwgMjcsIDExLCAyNCwgCisgICAgMzUsIDYsIDEzNywgMTEsIDI0LCAzNSwgNiwgMTgyLCAxMSwgMjQsIDM1LCA2LCAyMTMsIDEwLCAxMSwgMjQsIDM1LCA2LCAKKyAgICA3MSwgMTEsIDI0LCAzNSwgNiwgMjA5LCAxNDgsIDExLCAyNCwgMzUsIDYsIDIwNywgMTI5LCAxMSwgMjQsIDM1LCA2LCAyMDYsIAorICAgIDE5NSwgMTEsIDI0LCAzNSwgNiwgMjA2LCAxMjMsIDExLCAyNCwgMzUsIDYsIDIwNSwgMTU5LCAxMSwgMjQsIDM1LCA1LCA2MiwgCisgICAgMTEsIDI0LCAzNSwgNSwgMjUxLCAxNTAsIDExLCAyNCwgMzUsIDUsIDI0OSwgMzQsIDExLCAyNCwgMzUsIDUsIDI0NiwgMjQwLCAKKyAgICAxMSwgMjQsIDM1LCA1LCA3NSwgMTEsIDI0LCAzNSwgNSwgMjQyLCAxMzksIDExLCAyNCwgMzUsIDUsIDI0MSwgNTUsIDExLCAKKyAgICAyNCwgMzUsIDUsIDIzOSwgMTU1LCAxMSwgMjQsIDM1LCA1LCA3NCwgMTEsIDI0LCAzNSwgNSwgMjMyLCAyMDMsIDExLCAyNCwgCisgICAgMzUsIDUsIDIzMiwgNzYsIDExLCAyNCwgMzUsIDUsIDE0OSwgMTEsIDI0LCAzNSwgNSwgMjI5LCAyOCwgMTEsIDI0LCAzNSwgCisgICAgNSwgMjI2LCAzMywgMTEsIDI0LCAzNSwgNSwgNzYsIDExLCAyNCwgMzUsIDUsIDIyMiwgNjcsIDExLCAyNCwgMzUsIDUsIAorICAgIDIyMCwgMjcsIDExLCAyNCwgMzUsIDUsIDEzNywgMTEsIDI0LCAzNSwgNSwgMTgyLCAxMSwgMjQsIDM1LCA1LCAyMTMsIDEwLCAKKyAgICAxMSwgMjQsIDM1LCA1LCA3MSwgMTEsIDI0LCAzNSwgNSwgMjA5LCAxNDgsIDExLCAyNCwgMzUsIDUsIDIwNywgMTI5LCAxMSwgCisgICAgMjQsIDM1LCA1LCAyMDYsIDE5NSwgMTEsIDI0LCAzNSwgNSwgMjA2LCAxMjMsIDExLCAyNCwgMzUsIDUsIDIwNSwgMTU5LCAKKyAgICAxMSwgMTIxLCA2LCA2MiwgMTEsIDEyMSwgNiwgMjQ5LCAzNCwgMTEsIDEyMSwgNiwgMjQ2LCAyNDAsIDExLCAxMjEsIDYsIAorICAgIDI0MSwgNTUsIDExLCAxMjEsIDYsIDIzMiwgMjAzLCAxMSwgMTIxLCA2LCAyMzIsIDc2LCAxMSwgMTIxLCA2LCAyMjYsIDMzLCAKKyAgICAxMSwgMTIxLCA2LCA3NiwgMTEsIDEyMSwgNiwgMjIyLCA2NywgMTEsIDEyMSwgNiwgMjIwLCAyNywgMTEsIDEyMSwgNiwgCisgICAgMTgyLCAxMSwgMTIxLCA2LCAyMTMsIDEwLCAxMSwgMTIxLCA2LCA3MSwgMTEsIDEyMSwgNiwgMjA5LCAxNDgsIDExLCAxMjEsIAorICAgIDYsIDIwNywgMTI5LCAxMSwgMTIxLCA2LCAyMDYsIDE5NSwgMTEsIDEyMSwgNiwgMjA2LCAxMjMsIDExLCAxMjEsIDYsIDIwNSwgCisgICAgMTU5LCAxMSwgMTIxLCA1LCA2MiwgMTEsIDEyMSwgNSwgMjUxLCAxNTAsIDExLCAxMjEsIDUsIDI0OSwgMzQsIDExLCAxMjEsIAorICAgIDUsIDI0NiwgMjQwLCAxMSwgMTIxLCA1LCAyNDIsIDEzOSwgMTEsIDEyMSwgNSwgMjM5LCAxNTUsIDExLCAxMjEsIDUsIDc0LCAKKyAgICAxMSwgMTIxLCA1LCAyMzIsIDIwMywgMTEsIDEyMSwgNSwgMjMyLCA3NiwgMTEsIDEyMSwgNSwgMTQ5LCAxMSwgMTIxLCA1LCAKKyAgICAyMjksIDI4LCAxMSwgMTIxLCA1LCAyMjYsIDMzLCAxMSwgMTIxLCA1LCAyMjIsIDY3LCAxMSwgMTIxLCA1LCAyMjAsIDI3LCAKKyAgICAxMSwgMTIxLCA1LCAxMzcsIDExLCAxMjEsIDUsIDE4MiwgMTEsIDEyMSwgNSwgMjEzLCAxMCwgMTEsIDEyMSwgNSwgNzEsIAorICAgIDExLCAxMjEsIDUsIDIwOSwgMTQ4LCAxMSwgMTIxLCA1LCAyMDcsIDEyOSwgMTEsIDEyMSwgNSwgMjA2LCAxOTUsIDExLCAKKyAgICAxMjEsIDUsIDIwNiwgMTIzLCAxMSwgMTIxLCA1LCAyMDUsIDE1OSwgMTEsIDI0LCAxMjEsIDYsIDYyLCAxMSwgMjQsIDEyMSwgCisgICAgNiwgMjUxLCAxNTAsIDExLCAyNCwgMTIxLCA2LCAyNDksIDM0LCAxMSwgMjQsIDEyMSwgNiwgMjQ2LCAyNDAsIDExLCAyNCwgCisgICAgMTIxLCA2LCA3NSwgMTEsIDI0LCAxMjEsIDYsIDI0MiwgMTM5LCAxMSwgMjQsIDEyMSwgNiwgMjQxLCA1NSwgMTEsIDI0LCAKKyAgICAxMjEsIDYsIDIzOSwgMTU1LCAxMSwgMjQsIDEyMSwgNiwgNzQsIDExLCAyNCwgMTIxLCA2LCAyMzIsIDIwMywgMTEsIDI0LCAKKyAgICAxMjEsIDYsIDIzMiwgNzYsIDExLCAyNCwgMTIxLCA2LCAxNDksIDExLCAyNCwgMTIxLCA2LCAyMjksIDI4LCAxMSwgMjQsIAorICAgIDEyMSwgNiwgMjI2LCAzMywgMTEsIDI0LCAxMjEsIDYsIDc2LCAxMSwgMjQsIDEyMSwgNiwgMjIyLCA2NywgMTEsIDI0LCAKKyAgICAxMjEsIDYsIDIyMCwgMjcsIDExLCAyNCwgMTIxLCA2LCAxMzcsIDExLCAyNCwgMTIxLCA2LCAxODIsIDExLCAyNCwgMTIxLCAKKyAgICA2LCAyMTMsIDEwLCAxMSwgMjQsIDEyMSwgNiwgNzEsIDExLCAyNCwgMTIxLCA2LCAyMDksIDE0OCwgMTEsIDI0LCAxMjEsIDYsIAorICAgIDIwNywgMTI5LCAxMSwgMjQsIDEyMSwgNiwgMjA2LCAxOTUsIDExLCAyNCwgMTIxLCA2LCAyMDYsIDEyMywgMTEsIDI0LCAKKyAgICAxMjEsIDYsIDIwNSwgMTU5LCAxMSwgMjQsIDEyMSwgNSwgNjIsIDExLCAyNCwgMTIxLCA1LCAyNTEsIDE1MCwgMTEsIDI0LCAKKyAgICAxMjEsIDUsIDI0OSwgMzQsIDExLCAyNCwgMTIxLCA1LCAyNDYsIDI0MCwgMTEsIDI0LCAxMjEsIDUsIDc1LCAxMSwgMjQsIAorICAgIDEyMSwgNSwgMjQyLCAxMzksIDExLCAyNCwgMTIxLCA1LCAyNDEsIDU1LCAxMSwgMjQsIDEyMSwgNSwgMjM5LCAxNTUsIDExLCAKKyAgICAyNCwgMTIxLCA1LCA3NCwgMTEsIDI0LCAxMjEsIDUsIDIzMiwgMjAzLCAxMSwgMjQsIDEyMSwgNSwgMjMyLCA3NiwgMTEsIAorICAgIDI0LCAxMjEsIDUsIDE0OSwgMTEsIDI0LCAxMjEsIDUsIDIyOSwgMjgsIDExLCAyNCwgMTIxLCA1LCAyMjYsIDMzLCAxMSwgCisgICAgMjQsIDEyMSwgNSwgNzYsIDExLCAyNCwgMTIxLCA1LCAyMjIsIDY3LCAxMSwgMjQsIDEyMSwgNSwgMjIwLCAyNywgMTEsIDI0LCAKKyAgICAxMjEsIDUsIDEzNywgMTEsIDI0LCAxMjEsIDUsIDE4MiwgMTEsIDI0LCAxMjEsIDUsIDIxMywgMTAsIDExLCAyNCwgMTIxLCAKKyAgICA1LCA3MSwgMTEsIDI0LCAxMjEsIDUsIDIwOSwgMTQ4LCAxMSwgMjQsIDEyMSwgNSwgMjA3LCAxMjksIDExLCAyNCwgMTIxLCAKKyAgICA1LCAyMDYsIDE5NSwgMTEsIDI0LCAxMjEsIDUsIDIwNiwgMTIzLCAxMSwgMjQsIDEyMSwgNSwgMjA1LCAxNTksIDExLCAxNTQsIAorICAgIDYsIDYyLCAxMSwgMTU0LCA2LCAyNTEsIDE1MCwgMTEsIDE1NCwgNiwgMjQ2LCAyNDAsIDExLCAxNTQsIDYsIDc1LCAxMSwgCisgICAgMTU0LCA2LCAyNDIsIDEzOSwgMTEsIDE1NCwgNiwgMjQxLCA1NSwgMTEsIDE1NCwgNiwgMjMyLCAyMDMsIDExLCAxNTQsIDYsIAorICAgIDIzMiwgNzYsIDExLCAxNTQsIDYsIDE0OSwgMTEsIDE1NCwgNiwgMjI5LCAyOCwgMTEsIDE1NCwgNiwgMjI2LCAzMywgMTEsIAorICAgIDE1NCwgNiwgNzYsIDExLCAxNTQsIDYsIDIyMiwgNjcsIDExLCAxNTQsIDYsIDIyMCwgMjcsIDExLCAxNTQsIDYsIDE4MiwgCisgICAgMTEsIDE1NCwgNiwgMjEzLCAxMCwgMTEsIDE1NCwgNiwgNzEsIDExLCAxNTQsIDYsIDIwOSwgMTQ4LCAxMSwgMTU0LCA2LCAKKyAgICAyMDcsIDEyOSwgMTEsIDE1NCwgNiwgMjA2LCAxOTUsIDExLCAxNTQsIDYsIDIwNiwgMTIzLCAxMSwgMTU0LCA1LCA2MiwgMTEsIAorICAgIDE1NCwgNSwgMjUxLCAxNTAsIDExLCAxNTQsIDUsIDI0OSwgMzQsIDExLCAxNTQsIDUsIDI0NiwgMjQwLCAxMSwgMTU0LCA1LCAKKyAgICA3NSwgMTEsIDE1NCwgNSwgMjQyLCAxMzksIDExLCAxNTQsIDUsIDI0MSwgNTUsIDExLCAxNTQsIDUsIDIzOSwgMTU1LCAxMSwgCisgICAgMTU0LCA1LCA3NCwgMTEsIDE1NCwgNSwgMjMyLCAyMDMsIDExLCAxNTQsIDUsIDIzMiwgNzYsIDExLCAxNTQsIDUsIDE0OSwgCisgICAgMTEsIDE1NCwgNSwgMjI5LCAyOCwgMTEsIDE1NCwgNSwgMjI2LCAzMywgMTEsIDE1NCwgNSwgNzYsIDExLCAxNTQsIDUsIAorICAgIDIyMiwgNjcsIDExLCAxNTQsIDUsIDIyMCwgMjcsIDExLCAxNTQsIDUsIDEzNywgMTEsIDE1NCwgNSwgMTgyLCAxMSwgMTU0LCAKKyAgICA1LCAyMTMsIDEwLCAxMSwgMTU0LCA1LCA3MSwgMTEsIDE1NCwgNSwgMjA5LCAxNDgsIDExLCAxNTQsIDUsIDIwNywgMTI5LCAKKyAgICAxMSwgMTU0LCA1LCAyMDYsIDE5NSwgMTEsIDE1NCwgNSwgMjA2LCAxMjMsIDExLCAxNTQsIDUsIDIwNSwgMTU5LCAxMSwgCisgICAgMTU5LCA2LCA2MiwgMTEsIDE1OSwgNiwgMjUxLCAxNTAsIDExLCAxNTksIDYsIDI0NiwgMjQwLCAxMSwgMTU5LCA2LCA3NSwgCisgICAgMTEsIDE1OSwgNiwgMjQyLCAxMzksIDExLCAxNTksIDYsIDI0MSwgNTUsIDExLCAxNTksIDYsIDc0LCAxMSwgMTU5LCA2LCAKKyAgICAyMzIsIDIwMywgMTEsIDE1OSwgNiwgMjMyLCA3NiwgMTEsIDE1OSwgNiwgMTQ5LCAxMSwgMTU5LCA2LCAyMjksIDI4LCAxMSwgCisgICAgMTU5LCA2LCA3NiwgMTEsIDE1OSwgNiwgMTgyLCAxMSwgMTU5LCA2LCAyMTMsIDEwLCAxMSwgMTU5LCA2LCA3MSwgMTEsIAorICAgIDE1OSwgNiwgMjA5LCAxNDgsIDExLCAxNTksIDYsIDIwNywgMTI5LCAxMSwgMTU5LCA2LCAyMDYsIDE5NSwgMTEsIDE1OSwgNiwgCisgICAgMjA2LCAxMjMsIDExLCAxNTksIDUsIDYyLCAxMSwgMTU5LCA1LCAyNTEsIDE1MCwgMTEsIDE1OSwgNSwgMjQ5LCAzNCwgMTEsIAorICAgIDE1OSwgNSwgMjQ2LCAyNDAsIDExLCAxNTksIDUsIDc1LCAxMSwgMTU5LCA1LCAyNDIsIDEzOSwgMTEsIDE1OSwgNSwgMjQxLCAKKyAgICA1NSwgMTEsIDE1OSwgNSwgMjM5LCAxNTUsIDExLCAxNTksIDUsIDc0LCAxMSwgMTU5LCA1LCAyMzIsIDIwMywgMTEsIDE1OSwgCisgICAgNSwgMjMyLCA3NiwgMTEsIDE1OSwgNSwgMTQ5LCAxMSwgMTU5LCA1LCAyMjksIDI4LCAxMSwgMTU5LCA1LCAyMjYsIDMzLCAKKyAgICAxMSwgMTU5LCA1LCA3NiwgMTEsIDE1OSwgNSwgMjIyLCA2NywgMTEsIDE1OSwgNSwgMjIwLCAyNywgMTEsIDE1OSwgNSwgCisgICAgMTM3LCAxMSwgMTU5LCA1LCAxODIsIDExLCAxNTksIDUsIDIxMywgMTAsIDExLCAxNTksIDUsIDcxLCAxMSwgMTU5LCA1LCAKKyAgICAyMDksIDE0OCwgMTEsIDE1OSwgNSwgMjA3LCAxMjksIDExLCAxNTksIDUsIDIwNiwgMTk1LCAxMSwgMTU5LCA1LCAyMDYsIAorICAgIDEyMywgMTEsIDE1OSwgNSwgMjA1LCAxNTksIDExLCAyNCwgMTU0LCA2LCA2MiwgMTEsIDI0LCAxNTQsIDYsIDI1MSwgMTUwLCAKKyAgICAxMSwgMjQsIDE1NCwgNiwgMjQ5LCAzNCwgMTEsIDI0LCAxNTQsIDYsIDI0NiwgMjQwLCAxMSwgMjQsIDE1NCwgNiwgNzUsIAorICAgIDExLCAyNCwgMTU0LCA2LCAyNDIsIDEzOSwgMTEsIDI0LCAxNTQsIDYsIDI0MSwgNTUsIDExLCAyNCwgMTU0LCA2LCAyMzksIAorICAgIDE1NSwgMTEsIDI0LCAxNTQsIDYsIDc0LCAxMSwgMjQsIDE1NCwgNiwgMjMyLCAyMDMsIDExLCAyNCwgMTU0LCA2LCAyMzIsIAorICAgIDc2LCAxMSwgMjQsIDE1NCwgNiwgMTQ5LCAxMSwgMjQsIDE1NCwgNiwgMjI5LCAyOCwgMTEsIDI0LCAxNTQsIDYsIDIyNiwgCisgICAgMzMsIDExLCAyNCwgMTU0LCA2LCA3NiwgMTEsIDI0LCAxNTQsIDYsIDIyMiwgNjcsIDExLCAyNCwgMTU0LCA2LCAyMjAsIDI3LCAKKyAgICAxMSwgMjQsIDE1NCwgNiwgMTM3LCAxMSwgMjQsIDE1NCwgNiwgMTgyLCAxMSwgMjQsIDE1NCwgNiwgMjEzLCAxMCwgMTEsIAorICAgIDI0LCAxNTQsIDYsIDcxLCAxMSwgMjQsIDE1NCwgNiwgMjA5LCAxNDgsIDExLCAyNCwgMTU0LCA2LCAyMDcsIDEyOSwgMTEsIAorICAgIDI0LCAxNTQsIDYsIDIwNiwgMTk1LCAxMSwgMjQsIDE1NCwgNiwgMjA2LCAxMjMsIDExLCAyNCwgMTU0LCA2LCAyMDUsIDE1OSwgCisgICAgMTEsIDI0LCAxNTQsIDUsIDYyLCAxMSwgMjQsIDE1NCwgNSwgMjUxLCAxNTAsIDExLCAyNCwgMTU0LCA1LCAyNDksIDM0LCAKKyAgICAxMSwgMjQsIDE1NCwgNSwgMjQ2LCAyNDAsIDExLCAyNCwgMTU0LCA1LCA3NSwgMTEsIDI0LCAxNTQsIDUsIDI0MiwgMTM5LCAKKyAgICAxMSwgMjQsIDE1NCwgNSwgMjQxLCA1NSwgMTEsIDI0LCAxNTQsIDUsIDIzOSwgMTU1LCAxMSwgMjQsIDE1NCwgNSwgNzQsIAorICAgIDExLCAyNCwgMTU0LCA1LCAyMzIsIDIwMywgMTEsIDI0LCAxNTQsIDUsIDIzMiwgNzYsIDExLCAyNCwgMTU0LCA1LCAxNDksIAorICAgIDExLCAyNCwgMTU0LCA1LCAyMjksIDI4LCAxMSwgMjQsIDE1NCwgNSwgMjI2LCAzMywgMTEsIDI0LCAxNTQsIDUsIDc2LCAxMSwgCisgICAgMjQsIDE1NCwgNSwgMjIyLCA2NywgMTEsIDI0LCAxNTQsIDUsIDIyMCwgMjcsIDExLCAyNCwgMTU0LCA1LCAxMzcsIDExLCAKKyAgICAyNCwgMTU0LCA1LCAxODIsIDExLCAyNCwgMTU0LCA1LCAyMTMsIDEwLCAxMSwgMjQsIDE1NCwgNSwgNzEsIDExLCAyNCwgCisgICAgMTU0LCA1LCAyMDksIDE0OCwgMTEsIDI0LCAxNTQsIDUsIDIwNywgMTI5LCAxMSwgMjQsIDE1NCwgNSwgMjA2LCAxOTUsIDExLCAKKyAgICAyNCwgMTU0LCA1LCAyMDYsIDEyMywgMTEsIDI0LCAxNTQsIDUsIDIwNSwgMTU5LCAxMSwgMzgsIDYsIDYyLCAxMSwgMzgsIDYsIAorICAgIDI1MSwgMTUwLCAxMSwgMzgsIDYsIDI0OSwgMzQsIDExLCAzOCwgNiwgMjQ2LCAyNDAsIDExLCAzOCwgNiwgNzUsIDExLCAzOCwgCisgICAgNiwgMjQyLCAxMzksIDExLCAzOCwgNiwgMjQxLCA1NSwgMTEsIDM4LCA2LCAyMzksIDE1NSwgMTEsIDM4LCA2LCA3NCwgMTEsIAorICAgIDM4LCA2LCAyMzIsIDIwMywgMTEsIDM4LCA2LCAyMzIsIDc2LCAxMSwgMzgsIDYsIDE0OSwgMTEsIDM4LCA2LCAyMjksIDI4LCAKKyAgICAxMSwgMzgsIDYsIDIyNiwgMzMsIDExLCAzOCwgNiwgNzYsIDExLCAzOCwgNiwgMjIyLCA2NywgMTEsIDM4LCA2LCAyMjAsIAorICAgIDI3LCAxMSwgMzgsIDYsIDEzNywgMTEsIDM4LCA2LCAxODIsIDExLCAzOCwgNiwgMjEzLCAxMCwgMTEsIDM4LCA2LCA3MSwgCisgICAgMTEsIDM4LCA2LCAyMDksIDE0OCwgMTEsIDM4LCA2LCAyMDcsIDEyOSwgMTEsIDM4LCA2LCAyMDYsIDE5NSwgMTEsIDM4LCA2LCAKKyAgICAyMDYsIDEyMywgMTEsIDM4LCA2LCAyMDUsIDE1OSwgMTEsIDM4LCA1LCA2MiwgMTEsIDM4LCA1LCAyNTEsIDE1MCwgMTEsIAorICAgIDM4LCA1LCAyNDksIDM0LCAxMSwgMzgsIDUsIDI0NiwgMjQwLCAxMSwgMzgsIDUsIDc1LCAxMSwgMzgsIDUsIDI0MiwgMTM5LCAKKyAgICAxMSwgMzgsIDUsIDI0MSwgNTUsIDExLCAzOCwgNSwgMjM5LCAxNTUsIDExLCAzOCwgNSwgNzQsIDExLCAzOCwgNSwgMjMyLCAKKyAgICAyMDMsIDExLCAzOCwgNSwgMjMyLCA3NiwgMTEsIDM4LCA1LCAxNDksIDExLCAzOCwgNSwgMjI5LCAyOCwgMTEsIDM4LCA1LCAKKyAgICAyMjYsIDMzLCAxMSwgMzgsIDUsIDc2LCAxMSwgMzgsIDUsIDIyMiwgNjcsIDExLCAzOCwgNSwgMjIwLCAyNywgMTEsIDM4LCAKKyAgICA1LCAxMzcsIDExLCAzOCwgNSwgMTgyLCAxMSwgMzgsIDUsIDIxMywgMTAsIDExLCAzOCwgNSwgNzEsIDExLCAzOCwgNSwgCisgICAgMjA5LCAxNDgsIDExLCAzOCwgNSwgMjA3LCAxMjksIDExLCAzOCwgNSwgMjA2LCAxOTUsIDExLCAzOCwgNSwgMjA2LCAxMjMsIAorICAgIDExLCAzOCwgNSwgMjA1LCAxNTksIDExLCAzOCwgMjQsIDYsIDYyLCAxMSwgMzgsIDI0LCA2LCAyNTEsIDE1MCwgMTEsIDM4LCAKKyAgICAyNCwgNiwgMjQ5LCAzNCwgMTEsIDM4LCAyNCwgNiwgMjQ2LCAyNDAsIDExLCAzOCwgMjQsIDYsIDc1LCAxMSwgMzgsIDI0LCAKKyAgICA2LCAyNDIsIDEzOSwgMTEsIDM4LCAyNCwgNiwgMjQxLCA1NSwgMTEsIDM4LCAyNCwgNiwgMjM5LCAxNTUsIDExLCAzOCwgMjQsIAorICAgIDYsIDc0LCAxMSwgMzgsIDI0LCA2LCAyMzIsIDIwMywgMTEsIDM4LCAyNCwgNiwgMjMyLCA3NiwgMTEsIDM4LCAyNCwgNiwgCisgICAgMTQ5LCAxMSwgMzgsIDI0LCA2LCAyMjksIDI4LCAxMSwgMzgsIDI0LCA2LCAyMjYsIDMzLCAxMSwgMzgsIDI0LCA2LCA3NiwgCisgICAgMTEsIDM4LCAyNCwgNiwgMjIyLCA2NywgMTEsIDM4LCAyNCwgNiwgMjIwLCAyNywgMTEsIDM4LCAyNCwgNiwgMTM3LCAxMSwgCisgICAgMzgsIDI0LCA2LCAxODIsIDExLCAzOCwgMjQsIDYsIDIxMywgMTAsIDExLCAzOCwgMjQsIDYsIDcxLCAxMSwgMzgsIDI0LCA2LCAKKyAgICAyMDksIDE0OCwgMTEsIDM4LCAyNCwgNiwgMjA3LCAxMjksIDExLCAzOCwgMjQsIDYsIDIwNiwgMTk1LCAxMSwgMzgsIDI0LCAKKyAgICA2LCAyMDYsIDEyMywgMTEsIDM4LCAyNCwgNiwgMjA1LCAxNTksIDExLCAzOCwgMjQsIDUsIDYyLCAxMSwgMzgsIDI0LCA1LCAKKyAgICAyNTEsIDE1MCwgMTEsIDM4LCAyNCwgNSwgMjQ5LCAzNCwgMTEsIDM4LCAyNCwgNSwgMjQ2LCAyNDAsIDExLCAzOCwgMjQsIDUsIAorICAgIDc1LCAxMSwgMzgsIDI0LCA1LCAyNDIsIDEzOSwgMTEsIDM4LCAyNCwgNSwgMjQxLCA1NSwgMTEsIDM4LCAyNCwgNSwgMjM5LCAKKyAgICAxNTUsIDExLCAzOCwgMjQsIDUsIDc0LCAxMSwgMzgsIDI0LCA1LCAyMzIsIDIwMywgMTEsIDM4LCAyNCwgNSwgMjMyLCA3NiwgCisgICAgMTEsIDM4LCAyNCwgNSwgMTQ5LCAxMSwgMzgsIDI0LCA1LCAyMjksIDI4LCAxMSwgMzgsIDI0LCA1LCAyMjYsIDMzLCAxMSwgCisgICAgMzgsIDI0LCA1LCA3NiwgMTEsIDM4LCAyNCwgNSwgMjIyLCA2NywgMTEsIDM4LCAyNCwgNSwgMjIwLCAyNywgMTEsIDM4LCAKKyAgICAyNCwgNSwgMTM3LCAxMSwgMzgsIDI0LCA1LCAxODIsIDExLCAzOCwgMjQsIDUsIDIxMywgMTAsIDExLCAzOCwgMjQsIDUsIAorICAgIDcxLCAxMSwgMzgsIDI0LCA1LCAyMDksIDE0OCwgMTEsIDM4LCAyNCwgNSwgMjA3LCAxMjksIDExLCAzOCwgMjQsIDUsIDIwNiwgCisgICAgMTk1LCAxMSwgMzgsIDI0LCA1LCAyMDYsIDEyMywgMTEsIDM4LCAyNCwgNSwgMjA1LCAxNTksIDExLCAzOCwgMzUsIDYsIDYyLCAKKyAgICAxMSwgMzgsIDM1LCA2LCAyNTEsIDE1MCwgMTEsIDM4LCAzNSwgNiwgMjQ5LCAzNCwgMTEsIDM4LCAzNSwgNiwgMjQ2LCAyNDAsIAorICAgIDExLCAzOCwgMzUsIDYsIDc1LCAxMSwgMzgsIDM1LCA2LCAyNDIsIDEzOSwgMTEsIDM4LCAzNSwgNiwgMjQxLCA1NSwgMTEsIAorICAgIDM4LCAzNSwgNiwgMjM5LCAxNTUsIDExLCAzOCwgMzUsIDYsIDc0LCAxMSwgMzgsIDM1LCA2LCAyMzIsIDIwMywgMTEsIDM4LCAKKyAgICAzNSwgNiwgMjMyLCA3NiwgMTEsIDM4LCAzNSwgNiwgMTQ5LCAxMSwgMzgsIDM1LCA2LCAyMjksIDI4LCAxMSwgMzgsIDM1LCAKKyAgICA2LCAyMjYsIDMzLCAxMSwgMzgsIDM1LCA2LCA3NiwgMTEsIDM4LCAzNSwgNiwgMjIyLCA2NywgMTEsIDM4LCAzNSwgNiwgCisgICAgMjIwLCAyNywgMTEsIDM4LCAzNSwgNiwgMTM3LCAxMSwgMzgsIDM1LCA2LCAxODIsIDExLCAzOCwgMzUsIDYsIDIxMywgMTAsIAorICAgIDExLCAzOCwgMzUsIDYsIDcxLCAxMSwgMzgsIDM1LCA2LCAyMDksIDE0OCwgMTEsIDM4LCAzNSwgNiwgMjA3LCAxMjksIDExLCAKKyAgICAzOCwgMzUsIDYsIDIwNiwgMTk1LCAxMSwgMzgsIDM1LCA2LCAyMDYsIDEyMywgMTEsIDM4LCAzNSwgNiwgMjA1LCAxNTksIAorICAgIDExLCAzOCwgMzUsIDUsIDYyLCAxMSwgMzgsIDM1LCA1LCAyNTEsIDE1MCwgMTEsIDM4LCAzNSwgNSwgMjQ5LCAzNCwgMTEsIAorICAgIDM4LCAzNSwgNSwgMjQ2LCAyNDAsIDExLCAzOCwgMzUsIDUsIDc1LCAxMSwgMzgsIDM1LCA1LCAyNDIsIDEzOSwgMTEsIDM4LCAKKyAgICAzNSwgNSwgMjQxLCA1NSwgMTEsIDM4LCAzNSwgNSwgMjM5LCAxNTUsIDExLCAzOCwgMzUsIDUsIDc0LCAxMSwgMzgsIDM1LCAKKyAgICA1LCAyMzIsIDIwMywgMTEsIDM4LCAzNSwgNSwgMjMyLCA3NiwgMTEsIDM4LCAzNSwgNSwgMTQ5LCAxMSwgMzgsIDM1LCA1LCAKKyAgICAyMjksIDI4LCAxMSwgMzgsIDM1LCA1LCAyMjYsIDMzLCAxMSwgMzgsIDM1LCA1LCA3NiwgMTEsIDM4LCAzNSwgNSwgMjIyLCAKKyAgICA2NywgMTEsIDM4LCAzNSwgNSwgMjIwLCAyNywgMTEsIDM4LCAzNSwgNSwgMTM3LCAxMSwgMzgsIDM1LCA1LCAxODIsIDExLCAKKyAgICAzOCwgMzUsIDUsIDIxMywgMTAsIDExLCAzOCwgMzUsIDUsIDcxLCAxMSwgMzgsIDM1LCA1LCAyMDksIDE0OCwgMTEsIDM4LCAKKyAgICAzNSwgNSwgMjA3LCAxMjksIDExLCAzOCwgMzUsIDUsIDIwNiwgMTk1LCAxMSwgMzgsIDM1LCA1LCAyMDYsIDEyMywgMTEsIAorICAgIDM4LCAzNSwgNSwgMjA1LCAxNTksIDExLCAzOCwgMjQsIDM1LCA2LCA2MiwgMTEsIDM4LCAyNCwgMzUsIDYsIDI1MSwgMTUwLCAKKyAgICAxMSwgMzgsIDI0LCAzNSwgNiwgMjQ5LCAzNCwgMTEsIDM4LCAyNCwgMzUsIDYsIDI0NiwgMjQwLCAxMSwgMzgsIDI0LCAzNSwgCisgICAgNiwgNzUsIDExLCAzOCwgMjQsIDM1LCA2LCAyNDIsIDEzOSwgMTEsIDM4LCAyNCwgMzUsIDYsIDI0MSwgNTUsIDExLCAzOCwgCisgICAgMjQsIDM1LCA2LCAyMzksIDE1NSwgMTEsIDM4LCAyNCwgMzUsIDYsIDc0LCAxMSwgMzgsIDI0LCAzNSwgNiwgMjMyLCAyMDMsIAorICAgIDExLCAzOCwgMjQsIDM1LCA2LCAyMzIsIDc2LCAxMSwgMzgsIDI0LCAzNSwgNiwgMTQ5LCAxMSwgMzgsIDI0LCAzNSwgNiwgCisgICAgMjI5LCAyOCwgMTEsIDM4LCAyNCwgMzUsIDYsIDIyNiwgMzMsIDExLCAzOCwgMjQsIDM1LCA2LCA3NiwgMTEsIDM4LCAyNCwgCisgICAgMzUsIDYsIDIyMiwgNjcsIDExLCAzOCwgMjQsIDM1LCA2LCAyMjAsIDI3LCAxMSwgMzgsIDI0LCAzNSwgNiwgMTM3LCAxMSwgCisgICAgMzgsIDI0LCAzNSwgNiwgMTgyLCAxMSwgMzgsIDI0LCAzNSwgNiwgMjEzLCAxMCwgMTEsIDM4LCAyNCwgMzUsIDYsIDcxLCAKKyAgICAxMSwgMzgsIDI0LCAzNSwgNiwgMjA5LCAxNDgsIDExLCAzOCwgMjQsIDM1LCA2LCAyMDcsIDEyOSwgMTEsIDM4LCAyNCwgMzUsIAorICAgIDYsIDIwNiwgMTk1LCAxMSwgMzgsIDI0LCAzNSwgNiwgMjA2LCAxMjMsIDExLCAzOCwgMjQsIDM1LCA2LCAyMDUsIDE1OSwgCisgICAgMTEsIDM4LCAyNCwgMzUsIDUsIDYyLCAxMSwgMzgsIDI0LCAzNSwgNSwgMjUxLCAxNTAsIDExLCAzOCwgMjQsIDM1LCA1LCAKKyAgICAyNDksIDM0LCAxMSwgMzgsIDI0LCAzNSwgNSwgMjQ2LCAyNDAsIDExLCAzOCwgMjQsIDM1LCA1LCA3NSwgMTEsIDM4LCAyNCwgCisgICAgMzUsIDUsIDI0MiwgMTM5LCAxMSwgMzgsIDI0LCAzNSwgNSwgMjQxLCA1NSwgMTEsIDM4LCAyNCwgMzUsIDUsIDIzOSwgMTU1LCAKKyAgICAxMSwgMzgsIDI0LCAzNSwgNSwgNzQsIDExLCAzOCwgMjQsIDM1LCA1LCAyMzIsIDIwMywgMTEsIDM4LCAyNCwgMzUsIDUsIAorICAgIDIzMiwgNzYsIDExLCAzOCwgMjQsIDM1LCA1LCAxNDksIDExLCAzOCwgMjQsIDM1LCA1LCAyMjksIDI4LCAxMSwgMzgsIDI0LCAKKyAgICAzNSwgNSwgMjI2LCAzMywgMTEsIDM4LCAyNCwgMzUsIDUsIDc2LCAxMSwgMzgsIDI0LCAzNSwgNSwgMjIyLCA2NywgMTEsIAorICAgIDM4LCAyNCwgMzUsIDUsIDIyMCwgMjcsIDExLCAzOCwgMjQsIDM1LCA1LCAxMzcsIDExLCAzOCwgMjQsIDM1LCA1LCAxODIsIAorICAgIDExLCAzOCwgMjQsIDM1LCA1LCAyMTMsIDEwLCAxMSwgMzgsIDI0LCAzNSwgNSwgNzEsIDExLCAzOCwgMjQsIDM1LCA1LCAKKyAgICAyMDksIDE0OCwgMTEsIDM4LCAyNCwgMzUsIDUsIDIwNywgMTI5LCAxMSwgMzgsIDI0LCAzNSwgNSwgMjA2LCAxOTUsIDExLCAKKyAgICAzOCwgMjQsIDM1LCA1LCAyMDYsIDEyMywgMTEsIDM4LCAyNCwgMzUsIDUsIDIwNSwgMTU5LCAxMSwgMjI2LCAxNTYsIDYsIAorICAgIDYyLCAxMSwgMjI2LCAxNTYsIDYsIDI1MSwgMTUwLCAxMSwgMjI2LCAxNTYsIDYsIDI0OSwgMzQsIDExLCAyMjYsIDE1NiwgNiwgCisgICAgMjQ2LCAyNDAsIDExLCAyMjYsIDE1NiwgNiwgNzUsIDExLCAyMjYsIDE1NiwgNiwgMjQyLCAxMzksIDExLCAyMjYsIDE1NiwgCisgICAgNiwgMjQxLCA1NSwgMTEsIDIyNiwgMTU2LCA2LCAyMzksIDE1NSwgMTEsIDIyNiwgMTU2LCA2LCA3NCwgMTEsIDIyNiwgMTU2LCAKKyAgICA2LCAyMzIsIDIwMywgMTEsIDIyNiwgMTU2LCA2LCAyMzIsIDc2LCAxMSwgMjI2LCAxNTYsIDYsIDE0OSwgMTEsIDIyNiwgCisgICAgMTU2LCA2LCAyMjksIDI4LCAxMSwgMjI2LCAxNTYsIDYsIDIyNiwgMzMsIDExLCAyMjYsIDE1NiwgNiwgNzYsIDExLCAyMjYsIAorICAgIDE1NiwgNiwgMjIyLCA2NywgMTEsIDIyNiwgMTU2LCA2LCAyMjAsIDI3LCAxMSwgMjI2LCAxNTYsIDYsIDEzNywgMTEsIDIyNiwgCisgICAgMTU2LCA2LCAxODIsIDExLCAyMjYsIDE1NiwgNiwgMjEzLCAxMCwgMTEsIDIyNiwgMTU2LCA2LCA3MSwgMTEsIDIyNiwgMTU2LCAKKyAgICA2LCAyMDksIDE0OCwgMTEsIDIyNiwgMTU2LCA2LCAyMDcsIDEyOSwgMTEsIDIyNiwgMTU2LCA2LCAyMDYsIDE5NSwgMTEsIAorICAgIDIyNiwgMTU2LCA2LCAyMDYsIDEyMywgMTEsIDIyNiwgMTU2LCA2LCAyMDUsIDE1OSwgMTEsIDIyNiwgMTU2LCA1LCA2MiwgCisgICAgMTEsIDIyNiwgMTU2LCA1LCAyNTEsIDE1MCwgMTEsIDIyNiwgMTU2LCA1LCAyNDksIDM0LCAxMSwgMjI2LCAxNTYsIDUsIAorICAgIDI0NiwgMjQwLCAxMSwgMjI2LCAxNTYsIDUsIDc1LCAxMSwgMjI2LCAxNTYsIDUsIDI0MiwgMTM5LCAxMSwgMjI2LCAxNTYsIAorICAgIDUsIDI0MSwgNTUsIDExLCAyMjYsIDE1NiwgNSwgMjM5LCAxNTUsIDExLCAyMjYsIDE1NiwgNSwgNzQsIDExLCAyMjYsIDE1NiwgCisgICAgNSwgMjMyLCAyMDMsIDExLCAyMjYsIDE1NiwgNSwgMjMyLCA3NiwgMTEsIDIyNiwgMTU2LCA1LCAxNDksIDExLCAyMjYsIAorICAgIDE1NiwgNSwgMjI5LCAyOCwgMTEsIDIyNiwgMTU2LCA1LCAyMjYsIDMzLCAxMSwgMjI2LCAxNTYsIDUsIDc2LCAxMSwgMjI2LCAKKyAgICAxNTYsIDUsIDIyMiwgNjcsIDExLCAyMjYsIDE1NiwgNSwgMjIwLCAyNywgMTEsIDIyNiwgMTU2LCA1LCAxMzcsIDExLCAyMjYsIAorICAgIDE1NiwgNSwgMTgyLCAxMSwgMjI2LCAxNTYsIDUsIDIxMywgMTAsIDExLCAyMjYsIDE1NiwgNSwgNzEsIDExLCAyMjYsIDE1NiwgCisgICAgNSwgMjA5LCAxNDgsIDExLCAyMjYsIDE1NiwgNSwgMjA3LCAxMjksIDExLCAyMjYsIDE1NiwgNSwgMjA2LCAxOTUsIDExLCAKKyAgICAyMjYsIDE1NiwgNSwgMjA2LCAxMjMsIDExLCAyMjYsIDE1NiwgNSwgMjA1LCAxNTksIDExLCAzNSwgNSwgMjQ1LCAyMiwgNzQsIAorICAgIDExLCAzNSwgNSwgMjQ1LCAyMiwgMjMyLCAyMDMsIDExLCAyNCwgNiwgMjUyLCAxNDQsIDExLCAyNCwgNiwgMjUwLCA4LCAxMSwgCisgICAgMjQsIDYsIDI0MCwgMjE1LCAxMSwgMjQsIDYsIDI0NSwgMjI3LCAxMSwgMjQsIDYsIDI0MiwgMjQ0LCAxMSwgMjQsIDYsIAorICAgIDIwNSwgODQsIDExLCAyNCwgNiwgMjQyLCAyMDEsIDExLCAyNCwgNiwgMjEyLCAyMywgMTEsIDI0LCA2LCAyMzIsIDI0OSwgCisgICAgMTEsIDI0LCA2LCAyMzIsIDE0LCAxMSwgMjQsIDYsIDIzMCwgMTAyLCAxMSwgMjQsIDYsIDIyNiwgMTE0LCAxMSwgMjQsIDYsIAorICAgIDIyMywgMjE3LCAxMSwgMjQsIDYsIDIwNiwgMTY5LCAxMSwgMjQsIDYsIDIyMiwgMTY4LCAxMSwgMjQsIDYsIDIyMSwgNTMsIAorICAgIDExLCAyNCwgNiwgMjE4LCAyMTAsIDExLCAyNCwgNiwgMjEyLCAyNCwgOTMsIDExLCAyNCwgNiwgMjE1LCA2MywgMTEsIDI0LCAKKyAgICA2LCAyMTIsIDE1MSwgMTEsIDI0LCA2LCAyMDksIDIwMCwgMTEsIDI0LCA2LCAyMjEsIDc4LCAxMSwgMjQsIDYsIDI0OCwgNTgsIAorICAgIDExLCAyNCwgNiwgMjIwLCA5MywgMTEsIDI0LCA2LCAyMjIsIDE3MCwgMTEsIDI0LCAyMjUsIDIyNywgMTEsIDI0LCA1LCAKKyAgICAyNTIsIDE0NCwgMTEsIDI0LCA1LCAyNTAsIDgsIDExLCAyNCwgNSwgMjQwLCAyMTUsIDExLCAyNCwgNSwgMjQ1LCAyMjcsIAorICAgIDExLCAyNCwgNSwgMjQyLCAyNDQsIDExLCAyNCwgNSwgMjA1LCA4NCwgMTEsIDI0LCA1LCAyNDIsIDIwMSwgMTEsIDI0LCA1LCAKKyAgICAyMTIsIDIzLCAxMSwgMjQsIDUsIDIzMiwgMjQ5LCAxMSwgMjQsIDUsIDIzMiwgMTQsIDExLCAyNCwgNSwgMjMwLCAxMDIsIAorICAgIDExLCAyNCwgNSwgMjI2LCAxMTQsIDExLCAyNCwgNSwgMjIzLCAyMTcsIDExLCAyNCwgNSwgMjA2LCAxNjksIDExLCAyNCwgNSwgCisgICAgMjIyLCAxNjgsIDExLCAyNCwgNSwgMjIxLCA1MywgMTEsIDI0LCA1LCAyMTgsIDIxMCwgMTEsIDI0LCA1LCA0MiwgMjE1LCAKKyAgICA2MywgMTEsIDI0LCA1LCAyMTUsIDYzLCAxMSwgMjQsIDUsIDIxMiwgMTUxLCAxMSwgMjQsIDUsIDIwOSwgMjAwLCAxMSwgMjQsIAorICAgIDUsIDIyMSwgNzgsIDExLCAyNCwgNSwgMjQ4LCA1OCwgMTEsIDI0LCA1LCAyMjAsIDkzLCAxMSwgMjQsIDUsIDIyMiwgMTcwLCAKKyAgICAxMSwgMjQsIDIyMSwgMjA5LCAyNDUsIDE0MCwgMTEsIDI0LCAyNDIsIDI0NSwgOTMsIDExLCAyNCwgMjEyLCAyNCwgOTMsIAorICAgIDExLCAyNCwgMjMyLCAxNSwgOTMsIDExLCAyNCwgMjIxLCA3OSwgOTMsIDExLCAyNCwgMjE4LCAyMTEsIDkzLCAxMSwgMjQsIAorICAgIDIyMSwgNTQsIDkzLCAxMSwgMzUsIDYsIDI1MiwgMTQ0LCAxMSwgMzUsIDYsIDI1MCwgOCwgMTEsIDM1LCA2LCAyNDAsIDIxNSwgCisgICAgMTEsIDM1LCA2LCAyNDUsIDIyNywgMTEsIDM1LCA2LCAyNDIsIDI0NCwgMTEsIDM1LCA2LCAyMDUsIDg0LCAxMSwgMzUsIDYsIAorICAgIDI0MiwgMjAxLCAxMSwgMzUsIDYsIDIxMiwgMjMsIDExLCAzNSwgNiwgMjMyLCAyNDksIDExLCAzNSwgNiwgMjMyLCAxNCwgCisgICAgMTEsIDM1LCA2LCAyMzAsIDEwMiwgMTEsIDM1LCA2LCAyMjYsIDExNCwgMTEsIDM1LCA2LCAyMjMsIDIxNywgMTEsIDM1LCA2LCAKKyAgICAyMDYsIDE2OSwgMTEsIDM1LCA2LCAyMjIsIDE2OCwgMTEsIDM1LCA2LCAyMjEsIDUzLCAxMSwgMzUsIDYsIDIxOCwgMjEwLCAKKyAgICAxMSwgMzUsIDYsIDIxMiwgMjQsIDkzLCAxMSwgMzUsIDYsIDIxNSwgNjMsIDExLCAzNSwgNiwgMjEyLCAxNTEsIDExLCAzNSwgCisgICAgNiwgMjA5LCAyMDAsIDExLCAzNSwgNiwgMjIxLCA3OCwgMTEsIDM1LCA2LCAyNDgsIDU4LCAxMSwgMzUsIDYsIDIyMCwgOTMsIAorICAgIDExLCAzNSwgNiwgMjIyLCAxNzAsIDExLCAzNSwgMjI1LCAyMjcsIDExLCAzNSwgNSwgMjUyLCAxNDQsIDExLCAzNSwgNSwgCisgICAgMjUwLCA4LCAxMSwgMzUsIDUsIDI0MCwgMjE1LCAxMSwgMzUsIDUsIDI0NSwgMjI3LCAxMSwgMzUsIDUsIDI0MiwgMjQ0LCAKKyAgICAxMSwgMzUsIDUsIDIwNSwgODQsIDExLCAzNSwgNSwgMjQyLCAyMDEsIDExLCAzNSwgNSwgMjEyLCAyMywgMTEsIDM1LCA1LCAKKyAgICAyMzIsIDI0OSwgMTEsIDM1LCA1LCAyMzIsIDE0LCAxMSwgMzUsIDUsIDIzMCwgMTAyLCAxMSwgMzUsIDUsIDIyNiwgMTE0LCAKKyAgICAxMSwgMzUsIDUsIDIyMywgMjE3LCAxMSwgMzUsIDUsIDIwNiwgMTY5LCAxMSwgMzUsIDUsIDIyMiwgMTY4LCAxMSwgMzUsIDUsIAorICAgIDIyMSwgNTMsIDExLCAzNSwgNSwgMjE4LCAyMTAsIDExLCAzNSwgNSwgNDIsIDIxNSwgNjMsIDExLCAzNSwgNSwgMjE1LCA2MywgCisgICAgMTEsIDM1LCA1LCAyMTIsIDE1MSwgMTEsIDM1LCA1LCAyMDksIDIwMCwgMTEsIDM1LCA1LCAyMjEsIDc4LCAxMSwgMzUsIDUsIAorICAgIDI0OCwgNTgsIDExLCAzNSwgNSwgMjIwLCA5MywgMTEsIDM1LCA1LCAyMjIsIDE3MCwgMTEsIDM1LCAyMjEsIDIwOSwgMjQ1LCAKKyAgICAxNDAsIDExLCAzNSwgMjQyLCAyNDUsIDkzLCAxMSwgMzUsIDIxMiwgMjQsIDkzLCAxMSwgMzUsIDIzMiwgMTUsIDkzLCAxMSwgCisgICAgMzUsIDIyMSwgNzksIDkzLCAxMSwgMzUsIDIxOCwgMjExLCA5MywgMTEsIDM1LCAyMjEsIDU0LCA5MywgMTEsIDI0LCAzNSwgCisgICAgNiwgMjUyLCAxNDQsIDExLCAyNCwgMzUsIDYsIDI1MCwgOCwgMTEsIDI0LCAzNSwgNiwgMjQwLCAyMTUsIDExLCAyNCwgMzUsIAorICAgIDYsIDI0NSwgMjI3LCAxMSwgMjQsIDM1LCA2LCAyNDIsIDI0NCwgMTEsIDI0LCAzNSwgNiwgMjA1LCA4NCwgMTEsIDI0LCAzNSwgCisgICAgNiwgMjQyLCAyMDEsIDExLCAyNCwgMzUsIDYsIDIxMiwgMjMsIDExLCAyNCwgMzUsIDYsIDIzMiwgMjQ5LCAxMSwgMjQsIDM1LCAKKyAgICA2LCAyMzIsIDE0LCAxMSwgMjQsIDM1LCA2LCAyMzAsIDEwMiwgMTEsIDI0LCAzNSwgNiwgMjI2LCAxMTQsIDExLCAyNCwgMzUsIAorICAgIDYsIDIyMywgMjE3LCAxMSwgMjQsIDM1LCA2LCAyMDYsIDE2OSwgMTEsIDI0LCAzNSwgNiwgMjIyLCAxNjgsIDExLCAyNCwgCisgICAgMzUsIDYsIDIyMSwgNTMsIDExLCAyNCwgMzUsIDYsIDIxOCwgMjEwLCAxMSwgMjQsIDM1LCA2LCAyMTIsIDI0LCA5MywgMTEsIAorICAgIDI0LCAzNSwgNiwgMjE1LCA2MywgMTEsIDI0LCAzNSwgNiwgMjEyLCAxNTEsIDExLCAyNCwgMzUsIDYsIDIwOSwgMjAwLCAxMSwgCisgICAgMjQsIDM1LCA2LCAyMjEsIDc4LCAxMSwgMjQsIDM1LCA2LCAyNDgsIDU4LCAxMSwgMjQsIDM1LCA2LCAyMjAsIDkzLCAxMSwgCisgICAgMjQsIDM1LCA2LCAyMjIsIDE3MCwgMTEsIDI0LCAzNSwgMjI1LCAyMjcsIDExLCAyNCwgMzUsIDUsIDI1MiwgMTQ0LCAxMSwgCisgICAgMjQsIDM1LCA1LCAyNTAsIDgsIDExLCAyNCwgMzUsIDUsIDI0MCwgMjE1LCAxMSwgMjQsIDM1LCA1LCAyNDUsIDIyNywgMTEsIAorICAgIDI0LCAzNSwgNSwgMjQyLCAyNDQsIDExLCAyNCwgMzUsIDUsIDIwNSwgODQsIDExLCAyNCwgMzUsIDUsIDI0MiwgMjAxLCAxMSwgCisgICAgMjQsIDM1LCA1LCAyMTIsIDIzLCAxMSwgMjQsIDM1LCA1LCAyMzIsIDI0OSwgMTEsIDI0LCAzNSwgNSwgMjMyLCAxNCwgMTEsIAorICAgIDI0LCAzNSwgNSwgMjMwLCAxMDIsIDExLCAyNCwgMzUsIDUsIDIyNiwgMTE0LCAxMSwgMjQsIDM1LCA1LCAyMjMsIDIxNywgCisgICAgMTEsIDI0LCAzNSwgNSwgMjA2LCAxNjksIDExLCAyNCwgMzUsIDUsIDIyMiwgMTY4LCAxMSwgMjQsIDM1LCA1LCAyMjEsIDUzLCAKKyAgICAxMSwgMjQsIDM1LCA1LCAyMTgsIDIxMCwgMTEsIDI0LCAzNSwgNSwgNDIsIDIxNSwgNjMsIDExLCAyNCwgMzUsIDUsIDIxNSwgCisgICAgNjMsIDExLCAyNCwgMzUsIDUsIDIxMiwgMTUxLCAxMSwgMjQsIDM1LCA1LCAyMDksIDIwMCwgMTEsIDI0LCAzNSwgNSwgMjIxLCAKKyAgICA3OCwgMTEsIDI0LCAzNSwgNSwgMjQ4LCA1OCwgMTEsIDI0LCAzNSwgNSwgMjIwLCA5MywgMTEsIDI0LCAzNSwgNSwgMjIyLCAKKyAgICAxNzAsIDExLCAyNCwgMzUsIDIyMSwgMjA5LCAyNDUsIDE0MCwgMTEsIDI0LCAzNSwgMjQyLCAyNDUsIDkzLCAxMSwgMjQsIAorICAgIDM1LCAyMTIsIDI0LCA5MywgMTEsIDI0LCAzNSwgMjMyLCAxNSwgOTMsIDExLCAyNCwgMzUsIDIyMSwgNzksIDkzLCAxMSwgCisgICAgMjQsIDM1LCAyMTgsIDIxMSwgOTMsIDExLCAyNCwgMzUsIDIyMSwgNTQsIDkzLCAxMSwgMzgsIDI0LCA2LCAyNTIsIDE0NCwgCisgICAgMTEsIDM4LCAyNCwgNiwgMjUwLCA4LCAxMSwgMzgsIDI0LCA2LCAyNDAsIDIxNSwgMTEsIDM4LCAyNCwgNiwgMjQ1LCAyMjcsIAorICAgIDExLCAzOCwgMjQsIDYsIDI0MiwgMjQ0LCAxMSwgMzgsIDI0LCA2LCAyMDUsIDg0LCAxMSwgMzgsIDI0LCA2LCAyNDIsIDIwMSwgCisgICAgMTEsIDM4LCAyNCwgNiwgMjEyLCAyMywgMTEsIDM4LCAyNCwgNiwgMjMyLCAyNDksIDExLCAzOCwgMjQsIDYsIDIzMiwgMTQsIAorICAgIDExLCAzOCwgMjQsIDYsIDIzMCwgMTAyLCAxMSwgMzgsIDI0LCA2LCAyMjYsIDExNCwgMTEsIDM4LCAyNCwgNiwgMjIzLCAKKyAgICAyMTcsIDExLCAzOCwgMjQsIDYsIDIwNiwgMTY5LCAxMSwgMzgsIDI0LCA2LCAyMjIsIDE2OCwgMTEsIDM4LCAyNCwgNiwgCisgICAgMjIxLCA1MywgMTEsIDM4LCAyNCwgNiwgMjE4LCAyMTAsIDExLCAzOCwgMjQsIDYsIDIxMiwgMjQsIDkzLCAxMSwgMzgsIDI0LCAKKyAgICA2LCAyMTUsIDYzLCAxMSwgMzgsIDI0LCA2LCAyMTIsIDE1MSwgMTEsIDM4LCAyNCwgNiwgMjA5LCAyMDAsIDExLCAzOCwgMjQsIAorICAgIDYsIDIyMSwgNzgsIDExLCAzOCwgMjQsIDYsIDI0OCwgNTgsIDExLCAzOCwgMjQsIDYsIDIyMCwgOTMsIDExLCAzOCwgMjQsIAorICAgIDYsIDIyMiwgMTcwLCAxMSwgMzgsIDI0LCAyMjUsIDIyNywgMTEsIDM4LCAyNCwgNSwgMjUyLCAxNDQsIDExLCAzOCwgMjQsIAorICAgIDUsIDI1MCwgOCwgMTEsIDM4LCAyNCwgNSwgMjQwLCAyMTUsIDExLCAzOCwgMjQsIDUsIDI0NSwgMjI3LCAxMSwgMzgsIDI0LCAKKyAgICA1LCAyNDIsIDI0NCwgMTEsIDM4LCAyNCwgNSwgMjA1LCA4NCwgMTEsIDM4LCAyNCwgNSwgMjQyLCAyMDEsIDExLCAzOCwgMjQsIAorICAgIDUsIDIxMiwgMjMsIDExLCAzOCwgMjQsIDUsIDIzMiwgMjQ5LCAxMSwgMzgsIDI0LCA1LCAyMzIsIDE0LCAxMSwgMzgsIDI0LCAKKyAgICA1LCAyMzAsIDEwMiwgMTEsIDM4LCAyNCwgNSwgMjI2LCAxMTQsIDExLCAzOCwgMjQsIDUsIDIyMywgMjE3LCAxMSwgMzgsIAorICAgIDI0LCA1LCAyMDYsIDE2OSwgMTEsIDM4LCAyNCwgNSwgMjIyLCAxNjgsIDExLCAzOCwgMjQsIDUsIDIyMSwgNTMsIDExLCAzOCwgCisgICAgMjQsIDUsIDIxOCwgMjEwLCAxMSwgMzgsIDI0LCA1LCA0MiwgMjE1LCA2MywgMTEsIDM4LCAyNCwgNSwgMjE1LCA2MywgMTEsIAorICAgIDM4LCAyNCwgNSwgMjEyLCAxNTEsIDExLCAzOCwgMjQsIDUsIDIwOSwgMjAwLCAxMSwgMzgsIDI0LCA1LCAyMjEsIDc4LCAxMSwgCisgICAgMzgsIDI0LCA1LCAyNDgsIDU4LCAxMSwgMzgsIDI0LCA1LCAyMjAsIDkzLCAxMSwgMzgsIDI0LCA1LCAyMjIsIDE3MCwgMTEsIAorICAgIDM4LCAyNCwgMjIxLCAyMDksIDI0NSwgMTQwLCAxMSwgMzgsIDI0LCAyNDIsIDI0NSwgOTMsIDExLCAzOCwgMjQsIDIxMiwgCisgICAgMjQsIDkzLCAxMSwgMzgsIDI0LCAyMzIsIDE1LCA5MywgMTEsIDM4LCAyNCwgMjIxLCA3OSwgOTMsIDExLCAzOCwgMjQsIAorICAgIDIxOCwgMjExLCA5MywgMTEsIDM4LCAyNCwgMjIxLCA1NCwgOTMsIDExLCAzOCwgMjQsIDM1LCA2LCAyNTIsIDE0NCwgMTEsIAorICAgIDM4LCAyNCwgMzUsIDYsIDI1MCwgOCwgMTEsIDM4LCAyNCwgMzUsIDYsIDI0MCwgMjE1LCAxMSwgMzgsIDI0LCAzNSwgNiwgCisgICAgMjQ1LCAyMjcsIDExLCAzOCwgMjQsIDM1LCA2LCAyNDIsIDI0NCwgMTEsIDM4LCAyNCwgMzUsIDYsIDIwNSwgODQsIDExLCAKKyAgICAzOCwgMjQsIDM1LCA2LCAyNDIsIDIwMSwgMTEsIDM4LCAyNCwgMzUsIDYsIDIxMiwgMjMsIDExLCAzOCwgMjQsIDM1LCA2LCAKKyAgICAyMzIsIDI0OSwgMTEsIDM4LCAyNCwgMzUsIDYsIDIzMiwgMTQsIDExLCAzOCwgMjQsIDM1LCA2LCAyMzAsIDEwMiwgMTEsIAorICAgIDM4LCAyNCwgMzUsIDYsIDIyNiwgMTE0LCAxMSwgMzgsIDI0LCAzNSwgNiwgMjIzLCAyMTcsIDExLCAzOCwgMjQsIDM1LCA2LCAKKyAgICAyMDYsIDE2OSwgMTEsIDM4LCAyNCwgMzUsIDYsIDIyMiwgMTY4LCAxMSwgMzgsIDI0LCAzNSwgNiwgMjIxLCA1MywgMTEsIAorICAgIDM4LCAyNCwgMzUsIDYsIDIxOCwgMjEwLCAxMSwgMzgsIDI0LCAzNSwgNiwgMjEyLCAyNCwgOTMsIDExLCAzOCwgMjQsIDM1LCAKKyAgICA2LCAyMTUsIDYzLCAxMSwgMzgsIDI0LCAzNSwgNiwgMjEyLCAxNTEsIDExLCAzOCwgMjQsIDM1LCA2LCAyMDksIDIwMCwgMTEsIAorICAgIDM4LCAyNCwgMzUsIDYsIDIyMSwgNzgsIDExLCAzOCwgMjQsIDM1LCA2LCAyNDgsIDU4LCAxMSwgMzgsIDI0LCAzNSwgNiwgCisgICAgMjIwLCA5MywgMTEsIDM4LCAyNCwgMzUsIDYsIDIyMiwgMTcwLCAxMSwgMzgsIDI0LCAzNSwgMjI1LCAyMjcsIDExLCAzOCwgCisgICAgMjQsIDM1LCA1LCAyNTIsIDE0NCwgMTEsIDM4LCAyNCwgMzUsIDUsIDI1MCwgOCwgMTEsIDM4LCAyNCwgMzUsIDUsIDI0MCwgCisgICAgMjE1LCAxMSwgMzgsIDI0LCAzNSwgNSwgMjQ1LCAyMjcsIDExLCAzOCwgMjQsIDM1LCA1LCAyNDIsIDI0NCwgMTEsIDM4LCAKKyAgICAyNCwgMzUsIDUsIDIwNSwgODQsIDExLCAzOCwgMjQsIDM1LCA1LCAyNDIsIDIwMSwgMTEsIDM4LCAyNCwgMzUsIDUsIDIxMiwgCisgICAgMjMsIDExLCAzOCwgMjQsIDM1LCA1LCAyMzIsIDI0OSwgMTEsIDM4LCAyNCwgMzUsIDUsIDIzMiwgMTQsIDExLCAzOCwgMjQsIAorICAgIDM1LCA1LCAyMzAsIDEwMiwgMTEsIDM4LCAyNCwgMzUsIDUsIDIyNiwgMTE0LCAxMSwgMzgsIDI0LCAzNSwgNSwgMjIzLCAKKyAgICAyMTcsIDExLCAzOCwgMjQsIDM1LCA1LCAyMDYsIDE2OSwgMTEsIDM4LCAyNCwgMzUsIDUsIDIyMiwgMTY4LCAxMSwgMzgsIAorICAgIDI0LCAzNSwgNSwgMjIxLCA1MywgMTEsIDM4LCAyNCwgMzUsIDUsIDIxOCwgMjEwLCAxMSwgMzgsIDI0LCAzNSwgNSwgNDIsIAorICAgIDIxNSwgNjMsIDExLCAzOCwgMjQsIDM1LCA1LCAyMTUsIDYzLCAxMSwgMzgsIDI0LCAzNSwgNSwgMjEyLCAxNTEsIDExLCAzOCwgCisgICAgMjQsIDM1LCA1LCAyMDksIDIwMCwgMTEsIDM4LCAyNCwgMzUsIDUsIDIyMSwgNzgsIDExLCAzOCwgMjQsIDM1LCA1LCAyNDgsIAorICAgIDU4LCAxMSwgMzgsIDI0LCAzNSwgNSwgMjIwLCA5MywgMTEsIDM4LCAyNCwgMzUsIDUsIDIyMiwgMTcwLCAxMSwgMzgsIDI0LCAKKyAgICAzNSwgMjIxLCAyMDksIDI0NSwgMTQwLCAxMSwgMzgsIDI0LCAzNSwgMjQyLCAyNDUsIDkzLCAxMSwgMzgsIDI0LCAzNSwgCisgICAgMjEyLCAyNCwgOTMsIDExLCAzOCwgMjQsIDM1LCAyMzIsIDE1LCA5MywgMTEsIDM4LCAyNCwgMzUsIDIyMSwgNzksIDkzLCAKKyAgICAxMSwgMzgsIDI0LCAzNSwgMjE4LCAyMTEsIDkzLCAxMSwgMzgsIDI0LCAzNSwgMjIxLCA1NCwgOTMsIDExLCAyNCwgNiwgCisgICAgMjQ1LCAxMzQsIDExLCAyNCwgNSwgMjQ1LCAxMzQsIDExLCAyNCwgMTgsIDIwNSwgODUsIDExLCAyNCwgMTgsIDEwMiwgMTEsIAorICAgIDI0LCAxOCwgMTA1LCAxMSwgMjQsIDE4LCAxNDIsIDExLCAyNCwgMTgsIDEzOSwgMTEsIDI0LCAxOCwgMTY4LCAxMSwgMjQsIAorICAgIDE4LCAxODQsIDExLCAyNCwgMTgsIDE5NSwgMTEsIDI0LCAxOCwgMTkzLCAxMSwgMjQsIDE4LCAyMDAsIDExLCAxNTksIDE4LCAKKyAgICAyMDUsIDg1LCAxMSwgMTU5LCAxOCwgMTAyLCAxMSwgMTU5LCAxOCwgMTA1LCAxMSwgMTU5LCAxOCwgMTQyLCAxMSwgMTU5LCAKKyAgICAxOCwgMTM5LCAxMSwgMTU5LCAxOCwgMTY4LCAxMSwgMTU5LCAxOCwgMTg0LCAxMSwgMTU5LCAxOCwgMTk1LCAxMSwgMTU5LCAKKyAgICAxOCwgMTkzLCAxMSwgMTU5LCAxOCwgMjAwLCAxMSwgMzgsIDE4LCAyMDUsIDg1LCAxMSwgMzgsIDE4LCAxMDIsIDExLCAzOCwgCisgICAgMTgsIDEwNSwgMTEsIDM4LCAxOCwgMTQyLCAxMSwgMzgsIDE4LCAxMzksIDExLCAzOCwgMTgsIDE2OCwgMTEsIDM4LCAxOCwgCisgICAgMTg0LCAxMSwgMzgsIDE4LCAxOTUsIDExLCAzOCwgMTgsIDE5MywgMTEsIDM4LCAxOCwgMjAwLCAxMSwgMzgsIDI0LCAxOCwgCisgICAgMjA1LCA4NSwgMTEsIDM4LCAyNCwgMTgsIDEwMiwgMTEsIDM4LCAyNCwgMTgsIDEwNSwgMTEsIDM4LCAyNCwgMTgsIDE0MiwgCisgICAgMTEsIDM4LCAyNCwgMTgsIDEzOSwgMTEsIDM4LCAyNCwgMTgsIDE2OCwgMTEsIDM4LCAyNCwgMTgsIDE4NCwgMTEsIDM4LCAKKyAgICAyNCwgMTgsIDE5NSwgMTEsIDM4LCAyNCwgMTgsIDE5MywgMTEsIDM4LCAyNCwgMTgsIDIwMCwgMTEsIDIyNiwgMTU2LCAxOCwgCisgICAgMjA1LCA4NSwgMTEsIDIyNiwgMTU2LCAxOCwgMTAyLCAxMSwgMjI2LCAxNTYsIDE4LCAxMDUsIDExLCAyMjYsIDE1NiwgMTgsIAorICAgIDE0MiwgMTEsIDIyNiwgMTU2LCAxOCwgMTM5LCAxMSwgMjI2LCAxNTYsIDE4LCAxNjgsIDExLCAyMjYsIDE1NiwgMTgsIDE4NCwgCisgICAgMTEsIDIyNiwgMTU2LCAxOCwgMTk1LCAxMSwgMjI2LCAxNTYsIDE4LCAxOTMsIDExLCAyMjYsIDE1NiwgMTgsIDIwMCwgNzAsIAorICAgIDY5LCA0LCAyMjksIDI3LCAyMzEsIDEyMywgNzAsIDY5LCA0LCAyMjksIDIzLCAxNzIsIDcwLCA2OSwgNCwgMjI5LCAyMSwgCisgICAgMjMwLCAyMzYsIDcwLCA2OSwgNCwgMjI4LCAxNTMsIDIzMSwgMjIxLCA3MCwgNjksIDQsIDIyOCwgMTIzLCAyMzEsIDIyNCwgCisgICAgNzAsIDY5LCA0LCAyMjgsIDE0MiwgMjMxLCAzMywgNzAsIDY5LCA0LCAyMjgsIDE3MCwgMjMxLCA1MywgNzAsIDY5LCA0LCAKKyAgICAyMjgsIDM5LCAyMzAsIDIzMCwgNzAsIDY5LCA0LCAyMjksIDE4LCAyMDcsIDIwLCA3MCwgNjksIDQsIDIyOSwgMTYsIDIwNywgCisgICAgOTYsIDcwLCA2OSwgNCwgMjI5LCAxNCwgMjA2LCAyMTYsIDcwLCA2OSwgNCwgMjI4LCA5MiwgMjA3LCA0NSwgNzAsIDY5LCA0LCAKKyAgICAyMjgsIDEwMCwgMjA3LCA1MSwgNzAsIDY5LCA0LCAyMjgsIDEwNCwgMjA2LCAyMzgsIDcwLCA2OSwgNCwgMjI4LCAxNzMsIAorICAgIDIwNiwgMjUwLCA3MCwgNjksIDQsIDIyOCwgMjQsIDIwNiwgMjEyLCA3MCwgNjksIDQsIDIyOCwgNzUsIDIwNywgNDMsIDcwLCAKKyAgICA2OSwgNCwgMjI4LCAxNTcsIDIwNiwgMjAwLCA3MCwgNjksIDQsIDIyOCwgMTY5LCAyMDYsIDIwMiwgNzAsIDY5LCA0LCAyMjgsIAorICAgIDc5LCAyMDYsIDIwMSwgNzAsIDY5LCA0LCAyMjksIDEyLCAyMjYsIDIwOSwgNzAsIDY5LCA0LCAyMjksIDEwLCAyMjcsIDIyMSwgCisgICAgNzAsIDY5LCA0LCAyMjksIDgsIDIyNiwgODksIDcwLCA2OSwgNCwgMjI4LCAxNTksIDIyNywgODMsIDcwLCA2OSwgNCwgMjI4LCAKKyAgICAxMjQsIDIyNiwgMTY4LCA3MCwgNjksIDQsIDIyOCwgNjQsIDIyNiwgMTExLCA3MCwgNjksIDQsIDIyOCwgMjksIDIyNiwgCisgICAgMTA1LCA3MCwgNjksIDQsIDIyOSwgNiwgMjQ5LCAyNDQsIDcwLCA2OSwgNCwgMjI5LCAzLCAyNTAsIDE4MywgNzAsIDY5LCA0LCAKKyAgICAyMjksIDEsIDI0OSwgMTAxLCA3MCwgNjksIDQsIDIyOCwgNjgsIDI1MCwgNTAsIDcwLCA2OSwgNCwgMjI4LCAxMjEsIDI1MCwgCisgICAgNjEsIDcwLCA2OSwgNCwgMjI4LCAxMTUsIDI0OSwgMTcyLCA3MCwgNjksIDQsIDIyOCwgODAsIDI0OSwgMTg0LCA3MCwgNjksIAorICAgIDQsIDIyOCwgMjQ3LCA3NCwgNzAsIDY5LCA0LCAyMjgsIDI0NSwgNjIsIDcwLCA2OSwgNCwgMjI4LCAyNDMsIDcxLCA3MCwgCisgICAgNjksIDQsIDIyOCwgNTUsIDI0MywgMTA0LCA3MCwgNjksIDQsIDIyOCwgMTE4LCA3NSwgNzAsIDY5LCA0LCAyMjgsIDUzLCAKKyAgICAyMjIsIDE1MiwgNzAsIDY5LCA0LCAyMjgsIDcxLCA3NiwgNzAsIDY5LCA0LCAyMjgsIDgxLCAyNDMsIDkwLCA3MCwgNjksIDQsIAorICAgIDIyOCwgODcsIDIzMywgNjgsIDcwLCA2OSwgNCwgMjI4LCA4MywgMjMzLCA2OCwgNzAsIDY5LCA0LCAyMjgsIDIzLCAyNTIsIAorICAgIDEyMiwgNzAsIDY5LCA0LCAyMjgsIDQwLCAyNDMsIDQxLCA3MCwgNjksIDQsIDIyOCwgMjMyLCAyMTUsIDgwLCA3MCwgNjksIAorICAgIDQsIDIyOCwgMjMwLCAyMTcsIDE5OSwgNzAsIDY5LCA0LCAyMjgsIDIyOCwgMjEzLCAyMDMsIDcwLCA2OSwgNCwgMjI4LCA1NiwgCisgICAgMjE3LCA3NCwgNzAsIDY5LCA0LCAyMjgsIDEwMiwgMjE3LCA4NiwgNzAsIDY5LCA0LCAyMjgsIDgyLCAyMTQsIDE3NCwgNzAsIAorICAgIDY5LCA0LCAyMjgsIDEzOSwgMjE0LCAxOTMsIDcwLCA2OSwgNCwgMjI4LCAyMiwgMjE1LCA3OSwgNzAsIDY5LCA0LCAyMjgsIAorICAgIDIxOCwgMjI5LCAyMzUsIDcwLCA2OSwgNCwgMjI4LCAyMTYsIDIzMCwgMTQxLCA3MCwgNjksIDQsIDIyOCwgMjE0LCAyMjksIAorICAgIDgxLCA3MCwgNjksIDQsIDIyOCwgMTM0LCAyMzAsIDUwLCA3MCwgNjksIDQsIDIyOCwgMTQ1LCAyMzAsIDU4LCA3MCwgNjksIAorICAgIDQsIDIyOCwgMTY0LCAyMjksIDExNSwgNzAsIDY5LCA0LCAyMjgsIDY1LCAyMjksIDE0NCwgNzAsIDY5LCA0LCAyMjgsIDEwOCwgCisgICAgMTUyLCAyMzAsIDU4LCA3MCwgNjksIDQsIDIyOCwgMjQwLCAyNDUsIDE2OCwgNzAsIDY5LCA0LCAyMjgsIDIzNywgMjQ2LCAKKyAgICAxNDUsIDcwLCA2OSwgNCwgMjI4LCAyMzQsIDI0MywgMjM3LCA3MCwgNjksIDQsIDIyOCwgMTI5LCAyNDUsIDI1MSwgNzAsIAorICAgIDY5LCA0LCAyMjgsIDM4LCAyNDUsIDI4LCA3MCwgNjksIDQsIDIyOCwgMzcsIDI0NSwgNTEsIDcwLCA2OSwgNCwgMjI4LCAKKyAgICAyMjYsIDIxMSwgMjExLCA3MCwgNjksIDQsIDIyOCwgMjIzLCAyMTIsIDIxOSwgNzAsIDY5LCA0LCAyMjgsIDIyMSwgMjEwLCAKKyAgICAxNzAsIDcwLCA2OSwgNCwgMjI4LCAxMjcsIDIxMiwgMTIwLCA3MCwgNjksIDQsIDIyOCwgMTYzLCAyMTIsIDEzMSwgNzAsIAorICAgIDY5LCA0LCAyMjgsIDExNCwgMjExLCAxMDUsIDcwLCA2OSwgNCwgMjI4LCAxNDksIDEyNCwgNzAsIDY5LCA0LCAyMjgsIDIxMiwgCisgICAgMjMyLCAxNjIsIDcwLCA2OSwgNCwgMjI4LCAyMDksIDIzMiwgMjAwLCA3MCwgNjksIDQsIDIyOCwgMjA3LCAyMzIsIDEwNCwgCisgICAgNzAsIDY5LCA0LCAyMjgsIDYxLCAyMzIsIDE4MCwgNzAsIDY5LCA0LCAyMjgsIDEwNSwgMjMyLCAxODIsIDcwLCA2OSwgNCwgCisgICAgMjI4LCA1OCwgMjMyLCAxMTMsIDcwLCA2OSwgNCwgMjI4LCAxNTUsIDIzMiwgMTIyLCA3MCwgNjksIDQsIDIyOCwgNDMsIAorICAgIDE1MiwgMjMyLCAxMjIsIDcwLCA2OSwgNCwgMjI4LCAyMDUsIDIwNiwgMTEsIDcwLCA2OSwgNCwgMjI4LCAyMDIsIDE5MCwgCisgICAgNzAsIDY5LCA0LCAyMjgsIDIwMCwgMjA1LCAyMTMsIDcwLCA2OSwgNCwgMjI4LCAxMDksIDIwNiwgNDksIDcwLCA2OSwgNCwgCisgICAgMjI4LCAxMzgsIDIwNiwgNTIsIDcwLCA2OSwgNCwgMjI4LCA3NywgMjA1LCAyMzIsIDcwLCA2OSwgNCwgMjI4LCA5NywgMjA1LCAKKyAgICAyNDcsIDcwLCA2OSwgNCwgMjI4LCAxOTYsIDI0MSwgMjUwLCA3MCwgNjksIDQsIDIyOCwgMTk0LCAyNDIsIDczLCA3MCwgNjksIAorICAgIDQsIDIyOCwgMTkyLCAyNDEsIDg4LCA3MCwgNjksIDQsIDIyOCwgMTQwLCAyNDIsIDIxLCA3MCwgNjksIDQsIDIyOCwgMTQzLCAKKyAgICAyNDIsIDI4LCA3MCwgNjksIDQsIDIyOCwgODUsIDI0MSwgMTUxLCA3MCwgNjksIDQsIDIyOCwgMTMwLCAyNDEsIDE2MiwgNzAsIAorICAgIDY5LCA0LCAyMjgsIDIxLCAyNDEsIDg3LCA3MCwgNjksIDQsIDIyOCwgMTE3LCAyNDIsIDQ3LCA3MCwgNjksIDQsIDIyOCwgCisgICAgMTkwLCAyMjQsIDE5OSwgNzAsIDY5LCA0LCAyMjgsIDE4OCwgMjI1LCAyMDksIDcwLCA2OSwgNCwgMjI4LCAxODYsIDIyMywgCisgICAgMTczLCA3MCwgNjksIDQsIDIyOCwgMTAxLCAyMjUsIDEwMSwgNzAsIDY5LCA0LCAyMjgsIDQ5LCAyMjQsIDYxLCA3MCwgNjksIAorICAgIDQsIDIyOCwgNDIsIDIzOSwgMTEsIDcwLCA2OSwgNCwgMjI4LCAxODEsIDE1NSwgNzAsIDY5LCA0LCAyMjgsIDMyLCAyMzgsIAorICAgIDQyLCA3MCwgNjksIDQsIDIyOCwgMTg0LCAyMzksIDUzLCA3MCwgNjksIDQsIDIyOCwgMTIyLCAyMzksIDcxLCA3MCwgNjksIAorICAgIDQsIDIyOCwgMTc5LCAyMzgsIDEzMSwgNzAsIDY5LCA0LCAyMjgsIDc4LCAyMzgsIDE0OSwgNzAsIDY5LCA0LCAyMjgsIDEzNSwgCisgICAgMjM5LCA1MiwgNzAsIDY5LCA0LCAyMjgsIDkwLCAyMzgsIDEyNSwgNzAsIDY5LCA0LCAyMjgsIDE2NSwgMjM4LCAyNDYsIDcwLCAKKyAgICA2OSwgNCwgMjI4LCA4OCwgMjM5LCAxMTAsIDcwLCA2OSwgNCwgMjI4LCAxMzEsIDIzOCwgMzEsIDcwLCA2OSwgNCwgMjI4LCAKKyAgICAxNjYsIDIzOSwgNDEsIDcwLCA2OSwgNCwgMjI4LCAyNSwgMjM4LCAxMzQsIDcwLCA2OSwgNCwgMjI4LCAxNzIsIDIzOCwgNDEsIAorICAgIDcwLCA2OSwgNCwgMjI4LCAxMjgsIDIyNSwgNDIsIDcwLCA2OSwgNCwgMjI4LCAxNzcsIDIyNSwgNTYsIDcwLCA2OSwgNCwgCisgICAgMjI4LCAxMzYsIDIyNSwgMzksIDcwLCA2OSwgNCwgMjI4LCAxMDMsIDIyNSwgNTAsIDcwLCA2OSwgNCwgMjI4LCA3MiwgMjI1LCAKKyAgICA1MSwgNzAsIDY5LCA0LCAyMjgsIDYyLCAyMjUsIDQwLCA3MCwgNjksIDQsIDIyOCwgOTgsIDIyNSwgNDEsIDcwLCA2OSwgNCwgCisgICAgMjI4LCA1OSwgMjI1LCA1NSwgNzAsIDY5LCA0LCAyMjgsIDkxLCAyMjUsIDM4LCA3MCwgNjksIDQsIDIyOCwgMTMyLCAxNTIsIAorICAgIDIyNSwgNTEsIDcwLCA2OSwgNCwgMjI4LCAxMTIsIDE1MiwgMjI1LCA0MCwgNzAsIDY5LCA0LCAyMjgsIDM1LCAxNTIsIDIyNSwgCisgICAgNDEsIDcwLCA2OSwgNCwgMjI4LCA2MywgMjQwLCA2MSwgNzAsIDY5LCA0LCAyMjgsIDEwNywgMjQwLCAyNDQsIDcwLCA2OSwgCisgICAgNCwgMjI4LCA1MCwgMjM5LCAyMTMsIDcwLCA2OSwgNCwgMjI4LCAyOCwgMjQwLCAxNjIsIDcwLCA2OSwgNCwgMjI4LCA1MiwgCisgICAgMjM5LCAxOTksIDcwLCA2OSwgNCwgMjI4LCA1MSwgMjM5LCAyMDksIDcwLCA2OSwgNCwgMjI4LCAzNCwgMjI1LCA2MSwgNzAsIAorICAgIDY5LCA0LCAyMjgsIDE2MSwgMjI0LCAyNTQsIDcwLCA2OSwgNCwgMjI4LCA0MSwgMjI0LCAyNDMsIDcwLCA2OSwgNCwgMjI4LCAKKyAgICAxNTAsIDIyMSwgNTMsIDcwLCA2OSwgNCwgMjI4LCAxMTksIDE3OSwgNzAsIDY5LCA0LCAyMjgsIDE2OCwgMjIwLCA4MiwgNzAsIAorICAgIDY5LCA0LCAyMjgsIDEzNywgMjIxLCAxNjQsIDcwLCA2OSwgNCwgMjI4LCAxNjcsIDIyMSwgMTc0LCA3MCwgNjksIDQsIDIyOCwgCisgICAgMTE2LCAyMjAsIDE4NywgNzAsIDY5LCA0LCAyMjgsIDE1MiwgMjIwLCAyMTEsIDcwLCA2OSwgNCwgMjI4LCA3MywgMjI3LCAKKyAgICAxMzgsIDcwLCA2OSwgNCwgMjI4LCAxNTYsIDIyNywgMTUzLCA3MCwgNjksIDQsIDIyOCwgOTYsIDIyNywgMTMyLCA3MCwgNjksIAorICAgIDQsIDIyOCwgMTcxLCAyMjcsIDE0NSwgNzAsIDY5LCA0LCAyMjgsIDMwLCAyMjcsIDE0NSwgNzAsIDY5LCA0LCAyMjgsIDE0NiwgCisgICAgMjI3LCAxNDYsIDcwLCA2OSwgNCwgMjI4LCA0NiwgMjI3LCAxMzMsIDcwLCA2OSwgNCwgMjI4LCA0NCwgMjI3LCAxMzQsIDcwLCAKKyAgICA2OSwgNCwgMjI4LCAzMSwgMjI3LCAxMjYsIDcwLCA2OSwgNCwgMjI4LCA1NywgMTUyLCAyMjcsIDE0NiwgNzAsIDY5LCA0LCAKKyAgICAyMjgsIDExMywgMTUyLCAyMjcsIDEzMywgNzAsIDY5LCA0LCAyMjgsIDc2LCAxNTIsIDIyNywgMTM0LCA3MCwgNjksIDQsIAorICAgIDIyOCwgODYsIDIzMSwgNywgNzAsIDY5LCA0LCAyMjgsIDEyNiwgMjMxLCAxNSwgNzAsIDY5LCA0LCAyMjgsIDE0NCwgMjMxLCAKKyAgICAzLCA3MCwgNjksIDQsIDIyOCwgMTc1LCAyMzEsIDEwLCA3MCwgNjksIDQsIDIyOCwgMTEwLCAyMzEsIDExLCA3MCwgNjksIDQsIAorICAgIDIyOCwgMTA2LCAyMzEsIDUsIDcwLCA2OSwgNCwgMjI4LCA2MCwgMjMxLCA2LCA3MCwgNjksIDQsIDIyOCwgOTQsIDI0MCwgCisgICAgMTc5LCA3MCwgNjksIDQsIDIyOCwgMTYyLCAyNDAsIDE4NywgNzAsIDY5LCA0LCAyMjgsIDcwLCAyNDAsIDE3NCwgNzAsIDY5LCAKKyAgICA0LCAyMjgsIDEyNSwgMjQwLCAxODMsIDcwLCA2OSwgNCwgMjI4LCAxMTEsIDI0MCwgMTg0LCA3MCwgNjksIDQsIDIyOCwgCisgICAgMTQ3LCAyNDAsIDE3NSwgNzAsIDY5LCA0LCAyMjgsIDE0OCwgMjQwLCAxNzcsIDcwLCA2OSwgNCwgMjI4LCA0NywgMjE5LCAKKyAgICAxMTMsIDcwLCA2OSwgNCwgMjI4LCA5NSwgMjI1LCAxMzYsIDcwLCA2OSwgNCwgMjI4LCA4OSwgMjI1LCAxNTEsIDcwLCA2OSwgCisgICAgNCwgMjI4LCA5MywgMjI1LCAxMTgsIDcwLCA2OSwgNCwgMjI4LCAyNywgMjI1LCAxNDIsIDcwLCA2OSwgNCwgMjI4LCA5OSwgCisgICAgMjI1LCAxNDMsIDcwLCA2OSwgNCwgMjI4LCAxNTEsIDIyNSwgMTIzLCA3MCwgNjksIDQsIDIyOCwgMTU0LCAyMjUsIDEyNywgCisgICAgNzAsIDY5LCA0LCAyMjgsIDY2LCAyMjQsIDE4MCwgNzAsIDY5LCA0LCAyMjgsIDI2LCAyMjQsIDE1MCwgNzAsIDY5LCA0LCAKKyAgICAyMjgsIDY5LCAyMjQsIDE3MSwgNzAsIDY5LCA0LCAyMjgsIDg0LCAyMjQsIDE1NCwgNzAsIDY5LCA0LCAyMjgsIDM2LCAyMDgsIAorICAgIDIxNCwgNzAsIDY5LCA0LCAyMjgsIDMzLCAyMDksIDcwLCA3MCwgNjksIDQsIDIyOCwgNjcsIDIwNywgMTQ4LCA3MCwgNjksIAorICAgIDQsIDIyOCwgNDUsIDIwOSwgMzQsIDcwLCA2OSwgNCwgMjI4LCAxMzMsIDIwOSwgMzksIDcwLCA2OSwgNCwgMjI4LCA3NCwgCisgICAgMjA4LCAxNjEsIDcwLCA2OSwgNCwgMjI4LCAxNDEsIDIwOCwgMTczLCA3MCwgNjksIDQsIDIyOCwgNTQsIDIyMywgMTE5LCAKKyAgICA3MCwgNjksIDQsIDIyOCwgMTYwLCAyMjMsIDEzOCwgNzAsIDY5LCA0LCAyMjgsIDQ4LCAyMjMsIDEwMSwgNzAsIDY5LCA0LCAKKyAgICAyMjgsIDEyMCwgMjIzLCAxMzAsIDcwLCA2OSwgNCwgMjI4LCAxNTgsIDIyMywgMTA4LCA3MCwgNjksIDE4LCAxMDIsIDcwLCAKKyAgICA2OSwgMTgsIDEwNSwgNzAsIDY5LCAxOCwgMTQyLCA3MCwgNjksIDE4LCAxMzksIDcwLCA2OSwgMTgsIDE2OCwgNzAsIDY5LCAKKyAgICAxOCwgMTg0LCA3MCwgNjksIDE4LCAxOTUsIDcwLCA2OSwgMTgsIDE5MywgNzAsIDY5LCAxOCwgMjAwLCA3MCwgNjksIDM2LCAKKyAgICA0MywgMjEyLCAxMTgsIDcwLCA2OSwgMzYsIDQzLCAyMTIsIDkzLCA3MCwgNjksIDM2LCA0MywgMjM4LCAyOCwgNzAsIDY5LCAKKyAgICAzNiwgNDMsIDIxMSwgMjQwLCA3MCwgNjksIDM2LCA0MywgMjEyLCA5OSwgMjExLCAyNDAsIDcwLCA2OSwgMzYsIDQzLCAyMzgsIAorICAgIDMwLCAyMTEsIDI0MCwgNzAsIDY5LCAzNiwgNDMsIDIyNiwgMjEyLCA4LCAxMSwgMjUyLCAxNzIsIDgsIDExLCAyNTAsIDM4LCAKKyAgICA4LCAxMSwgMjMyLCAxNzksIDgsIDExLCAyNDYsIDExNywgOCwgMTEsIDIwNywgNTksIDgsIDExLCAyMDUsIDEwOCwgOCwgMTEsIAorICAgIDIzOSwgMTMyLCA4LCAxMSwgMjEyLCAxOTQsIDgsIDExLCAyMDYsIDQ3LCA4LCAxMSwgMjMyLCA0NSwgOCwgMTEsIDIzMCwgCisgICAgMTA2LCA4LCAxMSwgMjI3LCAxMDQsIDgsIDExLCAyMjQsIDU0LCA4LCAxMSwgMjE3LCA3MCwgOCwgMTEsIDI1MiwgMjAwLCA4LCAKKyAgICAxMSwgMjQyLCAxNSwgOCwgMTEsIDIxNywgMTkxLCA4LCAxMSwgMjIwLCAxMiwgOCwgMTEsIDIxOSwgMTYsIDgsIDExLCAyMTUsIAorICAgIDIxMCwgOCwgMTEsIDIxMiwgMTE1LCA4LCAxMSwgMjEyLCAzNywgOCwgMTEsIDIzMSwgMTYzLCA4LCAxMSwgMjEyLCA0OSwgOCwgCisgICAgMTEsIDI0NiwgMTQwLCA4LCAxMSwgMjA1LCAxMTEsIDgsIDExLCAyNDAsIDk0LCA4LCAxMSwgMjQ1LCAyMiwgMjUwLCAzOCwgCisgICAgOCwgMTEsIDI0NSwgMjIsIDIyNCwgNTQsIDgsIDExLCAyNDUsIDIyLCAyNDIsIDE1LCA4LCAxMSwgMjQ1LCAyMiwgMjIwLCAKKyAgICAxMiwgOCwgMTEsIDc4LCAyNTAsIDM4LCA4LCAxMSwgNzgsIDIzMiwgMTc5LCA4LCAxMSwgNzgsIDIzOSwgNTAsIDgsIDExLCAKKyAgICA3OCwgMjM5LCAxMzIsIDgsIDExLCA3OCwgMjA2LCA0NywgOCwgMTEsIDc4LCAyMzIsIDQ1LCA4LCAxMSwgNzgsIDIzMCwgCisgICAgMTA2LCA4LCAxMSwgNzgsIDIyNywgMTA0LCA4LCAxMSwgNzgsIDIyNCwgNTQsIDgsIDExLCA3OCwgMjE3LCA3MCwgOCwgMTEsIAorICAgIDc4LCAyNTIsIDIwMCwgOCwgMTEsIDc4LCAyNDIsIDE1LCA4LCAxMSwgNzgsIDIxNywgMTkxLCA4LCAxMSwgNzgsIDIyMCwgCisgICAgMTIsIDgsIDExLCA3OCwgMjE1LCAyMTAsIDgsIDExLCA3OCwgMjEyLCAxMTUsIDgsIDExLCA3OCwgMjEyLCAzNywgOCwgMTEsIAorICAgIDc4LCAyMzEsIDE2MywgOCwgMTEsIDc4LCAyNDYsIDE0MCwgOCwgMTEsIDc4LCAyNDAsIDk0LCA4LCAxMSwgMjEyLCAxOTAsIAorICAgIDIzMiwgMTc5LCA4LCAxMSwgMjEyLCAxOTAsIDIzOSwgMTMyLCA4LCAxMSwgMjEyLCAxOTAsIDIwNiwgNDcsIDgsIDExLCAKKyAgICAyMTIsIDE5MCwgMjMwLCAxMDYsIDgsIDExLCAyMTIsIDE5MCwgMjI0LCA1NCwgOCwgMTEsIDIxMiwgMTkwLCAyMTcsIDcwLCAKKyAgICA4LCAxMSwgMjEyLCAxOTAsIDI1MiwgMjAwLCA4LCAxMSwgMjEyLCAxOTAsIDIxNywgMTkxLCA4LCAxMSwgMjEyLCAxOTAsIAorICAgIDIyMCwgMTIsIDgsIDExLCAyMTIsIDE5MCwgMjE1LCAyMTAsIDgsIDExLCAyMTIsIDE5MCwgMjMxLCAxNjMsIDgsIDExLCAKKyAgICAyMTIsIDE5MCwgMjQ2LCAxNDAsIDgsIDExLCAyMTIsIDE5MCwgMjQwLCA5NCwgOCwgMTEsIDIxMiwgMTkwLCAyNDUsIDIyLCAKKyAgICAyMjQsIDU0LCA4LCAxMSwgMjEyLCAxOTAsIDI0NSwgMjIsIDIyMCwgMTIsIDgsIDExLCAyMTMsIDIzMiwgMjUwLCAzOCwgOCwgCisgICAgMTEsIDIxMywgMjMyLCAyMzIsIDE3OSwgOCwgMTEsIDIxMywgMjMyLCAyMzksIDUwLCA4LCAxMSwgMjEzLCAyMzIsIDIzOSwgCisgICAgMTMyLCA4LCAxMSwgMjEzLCAyMzIsIDIxMiwgMTk0LCA4LCAxMSwgMjEzLCAyMzIsIDIwNiwgNDcsIDgsIDExLCAyMTMsIAorICAgIDIzMiwgMjMyLCA0NSwgOCwgMTEsIDIxMywgMjMyLCAyMjcsIDEwNCwgOCwgMTEsIDIxMywgMjMyLCAyMjQsIDU0LCA4LCAxMSwgCisgICAgMjEzLCAyMzIsIDIxNywgNzAsIDgsIDExLCAyMTMsIDIzMiwgMjUyLCAyMDAsIDgsIDExLCAyMTMsIDIzMiwgMjQyLCAxNSwgCisgICAgOCwgMTEsIDIxMywgMjMyLCAyMTcsIDE5MSwgOCwgMTEsIDIxMywgMjMyLCAyMjAsIDEyLCA4LCAxMSwgMjEzLCAyMzIsIAorICAgIDIxNSwgMjEwLCA4LCAxMSwgMjEzLCAyMzIsIDIxMiwgMTE1LCA4LCAxMSwgMjEzLCAyMzIsIDIxMiwgMzcsIDgsIDExLCAKKyAgICAyMTMsIDIzMiwgMjMxLCAxNjMsIDgsIDExLCAyMTMsIDIzMiwgMjQ2LCAxNDAsIDgsIDExLCAyMTMsIDIzMiwgMjA1LCAxMTEsIAorICAgIDgsIDExLCAyMTMsIDIzMiwgMjQwLCA5NCwgOCwgMTEsIDIxMywgMjMyLCAyNDUsIDIyLCAyNTAsIDM4LCA4LCAxMSwgMjEzLCAKKyAgICAyMzIsIDI0NSwgMjIsIDI0MiwgMTUsIDgsIDExLCAyMjksIDExMCwgMjUyLCAxNzIsIDgsIDExLCAyMjksIDExMCwgMjUwLCAKKyAgICAzOCwgOCwgMTEsIDIyOSwgMTEwLCAyMzIsIDE3OSwgOCwgMTEsIDIyOSwgMTEwLCAyNDYsIDExNywgOCwgMTEsIDIyOSwgCisgICAgMTEwLCAyMzksIDUwLCA4LCAxMSwgMjI5LCAxMTAsIDIwNywgNTksIDgsIDExLCAyMjksIDExMCwgMjA1LCAxMDgsIDgsIDExLCAKKyAgICAyMjksIDExMCwgMjM5LCAxMzIsIDgsIDExLCAyMjksIDExMCwgMjEyLCAxOTQsIDgsIDExLCAyMjksIDExMCwgMjA2LCA0NywgCisgICAgOCwgMTEsIDIyOSwgMTEwLCAyMzAsIDEwNiwgOCwgMTEsIDIyOSwgMTEwLCAyMjcsIDEwNCwgOCwgMTEsIDIyOSwgMTEwLCAKKyAgICAyMjQsIDU0LCA4LCAxMSwgMjI5LCAxMTAsIDIxNywgNzAsIDgsIDExLCAyMjksIDExMCwgMjUyLCAyMDAsIDgsIDExLCAyMjksIAorICAgIDExMCwgMjQyLCAxNSwgOCwgMTEsIDIyOSwgMTEwLCAyMTcsIDE5MSwgOCwgMTEsIDIyOSwgMTEwLCAyMjAsIDEyLCA4LCAxMSwgCisgICAgMjI5LCAxMTAsIDIxOSwgMTYsIDgsIDExLCAyMjksIDExMCwgMjE1LCAyMTAsIDgsIDExLCAyMjksIDExMCwgMjEyLCAxMTUsIAorICAgIDgsIDExLCAyMjksIDExMCwgMjEyLCAzNywgOCwgMTEsIDIyOSwgMTEwLCAyMzEsIDE2MywgOCwgMTEsIDIyOSwgMTEwLCAKKyAgICAyMTIsIDQ5LCA4LCAxMSwgMjI5LCAxMTAsIDI0NiwgMTQwLCA4LCAxMSwgMjI5LCAxMTAsIDIwNSwgMTExLCA4LCAxMSwgCisgICAgMjI5LCAxMTAsIDI0MCwgOTQsIDgsIDExLCAxNTksIDI1MCwgMzgsIDgsIDExLCAxNTksIDIzMiwgMTc5LCA4LCAxMSwgMTU5LCAKKyAgICAyNDYsIDExNywgOCwgMTEsIDE1OSwgMjA3LCA1OSwgOCwgMTEsIDE1OSwgMjA1LCAxMDgsIDgsIDExLCAxNTksIDIzOSwgCisgICAgMTMyLCA4LCAxMSwgMTU5LCAyMTIsIDE5NCwgOCwgMTEsIDE1OSwgMjA2LCA0NywgOCwgMTEsIDE1OSwgMjMwLCAxMDYsIDgsIAorICAgIDExLCAxNTksIDIyNywgMTA0LCA4LCAxMSwgMTU5LCAyMjQsIDU0LCA4LCAxMSwgMTU5LCAyMTcsIDcwLCA4LCAxMSwgMTU5LCAKKyAgICAyNTIsIDIwMCwgOCwgMTEsIDE1OSwgMjQyLCAxNSwgOCwgMTEsIDE1OSwgMjE3LCAxOTEsIDgsIDExLCAxNTksIDIyMCwgMTIsIAorICAgIDgsIDExLCAxNTksIDIxOSwgMTYsIDgsIDExLCAxNTksIDIxNSwgMjEwLCA4LCAxMSwgMTU5LCAyMTIsIDExNSwgOCwgMTEsIAorICAgIDE1OSwgMjEyLCAzNywgOCwgMTEsIDE1OSwgMjMxLCAxNjMsIDgsIDExLCAxNTksIDIxMiwgNDksIDgsIDExLCAxNTksIDI0NiwgCisgICAgMTQwLCA4LCAxMSwgMTU5LCAyMDUsIDExMSwgOCwgMTEsIDE1OSwgMjQwLCA5NCwgOCwgMTEsIDIyMiwgMTMzLCA4MCwgMiwgCisgICAgMTQwLCAyLCAyMTIsIDE1MywgOCwgMTEsIDIyMiwgMTMzLCAxNDAsIDIsIDI0NiwgMTE3LCAyMjcsIDI0MSwgOTQsIDI0MywgCisgICAgMTE3LCAyMDcsIDksIDIyNywgMjQxLCA5NCwgMTg4LCAyMDcsIDksIDIyNywgMjQxLCA5NCwgMjA3LCAzNiwgMjA3LCA5LCAKKyAgICAyMjcsIDI0MSwgOTQsIDE0MywgMjA3LCA5LCAyMjcsIDI0MSwgOTQsIDIxOSwgMzIsIDI0MywgMjU1LCAyMjcsIDI0MSwgOTQsIAorICAgIDIzOSwgMjI3LCAyNDMsIDI1NSwgMjI3LCAyNDEsIDk0LCA1OSwgMjQzLCAyNTUsIDIyNywgMjQxLCA5NCwgMTE5LCA3MywgCisgICAgMjQ4LCA5MywgMjI3LCAyNDEsIDk0LCAxMTgsIDczLCAyNDgsIDkzLCAyMjcsIDI0MSwgOTQsIDEyOSwgNzMsIDI0OCwgOTMsIAorICAgIDIyNywgMjQxLCA5NCwgMjQxLCAxMjUsIDczLCAyNDgsIDkzLCAyMjcsIDI0MSwgOTQsIDI0MSwgMjA0LCA3MywgMjQ4LCA5MywgCisgICAgMjI3LCAyNDEsIDk0LCAyMTUsIDEwLCA3MywgMjQ4LCA5MywgMjI3LCAyNDEsIDk0LCAyMTYsIDIzLCA3MywgMjQ4LCA5MywgCisgICAgMjI3LCAyNDEsIDk0LCAyNDMsIDg4LCA3MywgMjQ4LCA5MywgMjI3LCAyNDEsIDk0LCAyMjQsIDE5NSwgNzMsIDI0OCwgOTMsIAorICAgIDIyNywgMjQxLCA5NCwgMTE5LCA3MywgMjUwLCAxNDEsIDIyNywgMjQxLCA5NCwgMTE4LCA3MywgMjUwLCAxNDEsIDIyNywgCisgICAgMjQxLCA5NCwgMTI5LCA3MywgMjUwLCAxNDEsIDIyNywgMjQxLCA5NCwgMjQxLCAxMjUsIDczLCAyNTAsIDE0MSwgMjI3LCAKKyAgICAyNDEsIDk0LCAyNDEsIDIwNCwgNzMsIDI1MCwgMTQxLCAyMjcsIDI0MSwgOTQsIDIxNSwgMTAsIDczLCAyNTAsIDE0MSwgCisgICAgMjI3LCAyNDEsIDk0LCAyMTYsIDIzLCA3MywgMjUwLCAxNDEsIDIyNywgMjQxLCA5NCwgMjQzLCA4OCwgNzMsIDI1MCwgMTQxLCAKKyAgICAyMjcsIDI0MSwgOTQsIDIyNCwgMTk1LCA3MywgMjUwLCAxNDEsIDIyNywgMjQxLCA5NCwgMTE5LCA3MywgMjQ3LCAyMzIsIAorICAgIDIyNywgMjQxLCA5NCwgMTE4LCA3MywgMjQ3LCAyMzIsIDIyNywgMjQxLCA5NCwgMTI5LCA3MywgMjQ3LCAyMzIsIDIyNywgCisgICAgMjQxLCA5NCwgMjQxLCAxMjUsIDczLCAyNDcsIDIzMiwgMjI3LCAyNDEsIDk0LCAyNDEsIDIwNCwgNzMsIDI0NywgMjMyLCAKKyAgICAyMjcsIDI0MSwgOTQsIDIxNSwgMTAsIDczLCAyNDcsIDIzMiwgMjI3LCAyNDEsIDk0LCAyMTYsIDIzLCA3MywgMjQ3LCAyMzIsIAorICAgIDIyNywgMjQxLCA5NCwgMjQzLCA4OCwgNzMsIDI0NywgMjMyLCAyMjcsIDI0MSwgOTQsIDIyNCwgMTk1LCA3MywgMjQ3LCAKKyAgICAyMzIsIDIyNywgMjQxLCA5NCwgMjIwLCAyMjEsIDIyNywgMjQxLCA5NCwgMjIyLCAxMjAsIDIyNywgMjQxLCA5NCwgMjUwLCAKKyAgICAxNDIsIDIyNywgMjQxLCA5NCwgMjQ4LCAxNSwgMjI3LCAyNDEsIDk0LCAyMTQsIDExMywgMjI3LCAyNDEsIDk0LCAyMTMsIAorICAgIDE1NiwgMjI3LCAyNDEsIDk0LCAyNTEsIDE3MSwgMjI3LCAyNDEsIDk0LCAyMDcsIDEsIDIyNywgMjQxLCA5NCwgMjMyLCAKKyAgICAxMTYsIDIyNywgMjQxLCA5NCwgMjUwLCAxNzYsIDE1MSwgOTQsIDE5NCwgMjUwLCAxNzYsIDE1MSwgOTQsIDIzOCwgMTIwLCAKKyAgICAxNTEsIDk0LCAyMzgsIDExOSwgMTUxLCA5NCwgMjM4LCAxMTgsIDE1MSwgOTQsIDIzOCwgMTE3LCAxNTEsIDk0LCAyMzgsIAorICAgIDExNiwgMTUxLCA5NCwgMjM4LCAxMTUsIDE1MSwgOTQsIDIzOCwgMTE0LCAxNTEsIDk0LCAyMzgsIDExMywgMTUxLCA5NCwgCisgICAgMjM4LCAxMTIsIDE1MSwgOTQsIDIzOCwgMTExLCAxNTEsIDk0LCAyMzgsIDExMCwgMTUxLCA5NCwgMjM4LCAxMDksIDE1MSwgCisgICAgOTQsIDIzOCwgMTA4LCAxNTEsIDk0LCAyMzgsIDEwNywgMTUxLCA5NCwgMjM4LCAxMDYsIDE1MSwgOTQsIDIzOCwgMTA1LCAKKyAgICAxNTEsIDk0LCAyMzgsIDEwNCwgMTUxLCA5NCwgMjM4LCAxMDMsIDE1MSwgOTQsIDIzOCwgMTAyLCAxNTEsIDk0LCAyMzgsIAorICAgIDEwMSwgMTUxLCA5NCwgMjM4LCAxMDAsIDE1MSwgOTQsIDIzOCwgOTksIDE1MSwgOTQsIDIzOCwgOTgsIDE1MSwgOTQsIDIzOCwgCisgICAgOTcsIDE1MSwgOTQsIDIzOCwgOTYsIDE1MSwgOTQsIDIzOCwgOTUsIDE1MSwgOTQsIDIzOCwgOTQsIDE1MSwgOTQsIDIzOCwgCisgICAgOTMsIDE1MSwgOTQsIDIzOCwgOTIsIDE1MSwgOTQsIDIzOCwgOTEsIDE1MSwgOTQsIDIzOCwgOTAsIDE1MSwgOTQsIDIzOCwgCisgICAgODksIDE1MSwgOTQsIDIzOCwgODgsIDE1MSwgOTQsIDIzOCwgODcsIDE1MSwgOTQsIDIzOCwgODYsIDE1MSwgOTQsIDIzOCwgCisgICAgODUsIDE1MSwgOTQsIDIzOCwgODQsIDE1MSwgOTQsIDIzOCwgODMsIDE1MSwgOTQsIDIzOCwgODIsIDE1MSwgOTQsIDIzOCwgCisgICAgODEsIDE1MSwgOTQsIDIzOCwgODAsIDE1MSwgOTQsIDIzOCwgNzksIDE1MSwgOTQsIDIzOCwgNzgsIDE1MSwgOTQsIDIzOCwgCisgICAgNzcsIDE1MSwgOTQsIDIzOCwgNzYsIDE1MSwgOTQsIDIzOCwgNzUsIDE1MSwgOTQsIDIzOCwgNzQsIDE1MSwgOTQsIDIzOCwgCisgICAgNzMsIDE1MSwgOTQsIDIzOCwgNzIsIDE1MSwgOTQsIDc5LCAyNTAsIDE3NiwgMTUxLCA5NCwgMjA5LCAyMSwgMTUxLCA5NCwgCisgICAgMjA5LCAyMCwgMTUxLCA5NCwgMjA5LCAxOSwgMTUxLCA5NCwgMjA5LCAxOCwgMTUxLCA5NCwgMjA5LCAxNywgMTUxLCA5NCwgCisgICAgMjA5LCAxNiwgMTUxLCA5NCwgMjA5LCAxNSwgMTUxLCA5NCwgMjA5LCAxNCwgMTUxLCA5NCwgMjA5LCAxMywgMTUxLCA5NCwgCisgICAgMjA5LCAxMiwgMTUxLCA5NCwgMjA5LCAxMSwgMTUxLCA5NCwgMjA5LCAxMCwgMTUxLCA5NCwgMjA5LCA5LCAxNTEsIDk0LCAKKyAgICAyMDksIDgsIDE1MSwgOTQsIDIwOSwgNywgMTUxLCA5NCwgMjA5LCA2LCAxNTEsIDk0LCAyMDksIDUsIDE1MSwgOTQsIDIwOSwgCisgICAgNCwgMTUxLCA5NCwgMjA5LCAzLCAxNTEsIDk0LCAyMDksIDIsIDE1MSwgOTQsIDIwOSwgMSwgMTUxLCA5NCwgMjA5LCAwLCAKKyAgICAxNTEsIDk0LCAyMDgsIDI1NSwgMTUxLCA5NCwgMjA4LCAyNTQsIDE1MSwgOTQsIDIwOCwgMjUzLCAxNTEsIDk0LCAyMDgsIAorICAgIDI1MiwgMTUxLCA5NCwgMjA4LCAyNTEsIDE1MSwgOTQsIDIwOCwgMjUwLCAxNTEsIDk0LCAyMDgsIDI0OSwgMTUxLCA5NCwgCisgICAgMjA4LCAyNDgsIDE1MSwgOTQsIDIwOCwgMjQ3LCAxNTEsIDk0LCAyMDgsIDI0NiwgMTUxLCA5NCwgMjA4LCAyNDUsIDE1MSwgCisgICAgOTQsIDIwOCwgMjQ0LCAxNTEsIDk0LCAyMDgsIDI0MywgMTUxLCA5NCwgMjA4LCAyNDIsIDE1MSwgOTQsIDIwOCwgMjQxLCAKKyAgICAxNTEsIDk0LCAyMDgsIDI0MCwgMTUxLCA5NCwgMjA4LCAyMzksIDE1MSwgOTQsIDIwOCwgMjM4LCAxNTEsIDk0LCAyMDgsIAorICAgIDIzNywgMTUxLCA5NCwgMjA4LCAyMzYsIDE1MSwgOTQsIDIwOCwgMjM1LCAxNTEsIDk0LCAyMDgsIDIzNCwgMTUxLCA5NCwgCisgICAgMjA4LCAyMzMsIDE1MSwgOTQsIDIwOCwgMjMyLCAxNTEsIDk0LCAyMDgsIDIzMSwgMTUxLCA5NCwgMjA4LCAyMzAsIDE1MSwgCisgICAgOTQsIDIwOCwgMjI5LCAyMjAsIDIzMCwgMTkxLCAyNTAsIDE3NiwgMjIwLCAyMzAsIDE5MSwgMjUzLCAxNSwgNzMsIDIxNCwgCisgICAgMTUwLCAyMjAsIDIzMCwgMTkxLCAxMTgsIDczLCAyMTQsIDE1MCwgMjIwLCAyMzAsIDE5MSwgMTI5LCA3MywgMjE0LCAxNTAsIAorICAgIDIyMCwgMjMwLCAxOTEsIDI0MSwgMTI1LCA3MywgMjE0LCAxNTAsIDIyMCwgMjMwLCAxOTEsIDI0MSwgMjA0LCA3MywgMjE0LCAKKyAgICAxNTAsIDIyMCwgMjMwLCAxOTEsIDIxNSwgMTAsIDczLCAyMTQsIDE1MCwgMjIwLCAyMzAsIDE5MSwgMjE2LCAyMywgNzMsIAorICAgIDIxNCwgMTUwLCAyMjAsIDIzMCwgMTkxLCAyNDMsIDg4LCA3MywgMjE0LCAxNTAsIDIyMCwgMjMwLCAxOTEsIDIyNCwgMTk1LCAKKyAgICA3MywgMjE0LCAxNTAsIDIyMCwgMjMwLCAxOTEsIDIxMiwgOTksIDczLCAyMTQsIDE1MCwgMjIwLCAyMzAsIDE5MSwgMjMyLCAKKyAgICAxOTgsIDczLCAyMTQsIDE1MCwgMjIwLCAyMzAsIDE5MSwgMjMxLCA1NywgNzMsIDIxNCwgMTUwLCAyMjAsIDIzMCwgMTkxLCAKKyAgICAyMTksIDE5OCwgNzMsIDIxNCwgMTUwLCAyMjAsIDIzMCwgMTkxLCAyMzEsIDEwNywgNzMsIDIxNCwgMTUwLCAyMjAsIDIzMCwgCisgICAgMTkxLCAyNTMsIDE1LCA3MywgMjM5LCA1OCwgMjIwLCAyMzAsIDE5MSwgMTE4LCA3MywgMjM5LCA1OCwgMjIwLCAyMzAsIAorICAgIDE5MSwgMTI5LCA3MywgMjM5LCA1OCwgMjIwLCAyMzAsIDE5MSwgMjQxLCAxMjUsIDczLCAyMzksIDU4LCAyMjAsIDIzMCwgCisgICAgMTkxLCAyNDEsIDIwNCwgNzMsIDIzOSwgNTgsIDIyMCwgMjMwLCAxOTEsIDIxNSwgMTAsIDczLCAyMzksIDU4LCAyMjAsIAorICAgIDIzMCwgMTkxLCAyMTYsIDIzLCA3MywgMjM5LCA1OCwgMjIwLCAyMzAsIDE5MSwgMjQzLCA4OCwgNzMsIDIzOSwgNTgsIDIyMCwgCisgICAgMjMwLCAxOTEsIDIyNCwgMTk1LCA3MywgMjM5LCA1OCwgMjIwLCAyMzAsIDE5MSwgMjEyLCA5OSwgNzMsIDIzOSwgNTgsIAorICAgIDIyMCwgMjMwLCAxOTEsIDIzMiwgMTk4LCA3MywgMjM5LCA1OCwgMjIwLCAyMzAsIDE5MSwgMjMxLCA1NywgNzMsIDIzOSwgCisgICAgNTgsIDIyMCwgMjMwLCAxOTEsIDIxOSwgMTk4LCA3MywgMjM5LCA1OCwgMjIwLCAyMzAsIDE5MSwgMjMxLCAxMDcsIDczLCAKKyAgICAyMzksIDU4LCAyMjAsIDIzMCwgMTkxLCAyMTksIDMyLCAyMzIsIDExNiwgMjIwLCAyMzAsIDE5MSwgMjUzLCAxNSwgNzMsIAorICAgIDI0NSwgMTU1LCAyMjAsIDIzMCwgMTkxLCAxMTgsIDczLCAyNDUsIDE1NSwgMjIwLCAyMzAsIDE5MSwgMTI5LCA3MywgMjQ1LCAKKyAgICAxNTUsIDIyMCwgMjMwLCAxOTEsIDI0MSwgMTI1LCA3MywgMjQ1LCAxNTUsIDIyMCwgMjMwLCAxOTEsIDI0MSwgMjA0LCA3MywgCisgICAgMjQ1LCAxNTUsIDIyMCwgMjMwLCAxOTEsIDIxNSwgMTAsIDczLCAyNDUsIDE1NSwgMjIwLCAyMzAsIDE5MSwgMjE2LCAyMywgCisgICAgNzMsIDI0NSwgMTU1LCAyMjAsIDIzMCwgMTkxLCAyNDMsIDg4LCA3MywgMjQ1LCAxNTUsIDIyMCwgMjMwLCAxOTEsIDIyNCwgCisgICAgMTk1LCA3MywgMjQ1LCAxNTUsIDIyMCwgMjMwLCAxOTEsIDIxMiwgOTksIDczLCAyNDUsIDE1NSwgMjIwLCAyMzAsIDE5MSwgCisgICAgMjMyLCAxOTgsIDczLCAyNDUsIDE1NSwgMjIwLCAyMzAsIDE5MSwgMjMxLCA1NywgNzMsIDI0NSwgMTU1LCAyMjAsIDIzMCwgCisgICAgMTkxLCAyMTksIDE5OCwgNzMsIDI0NSwgMTU1LCAyMjAsIDIzMCwgMTkxLCAyMzEsIDEwNywgNzMsIDI0NSwgMTU1LCAyMjAsIAorICAgIDIzMCwgMTkxLCA2MCwgMjMyLCAxMTYsIDIyMCwgMjMwLCAxOTEsIDI1MywgMTUsIDczLCAyNDcsIDE3OCwgMjIwLCAyMzAsIAorICAgIDE5MSwgMTE4LCA3MywgMjQ3LCAxNzgsIDIyMCwgMjMwLCAxOTEsIDEyOSwgNzMsIDI0NywgMTc4LCAyMjAsIDIzMCwgMTkxLCAKKyAgICAyNDEsIDEyNSwgNzMsIDI0NywgMTc4LCAyMjAsIDIzMCwgMTkxLCAyNDEsIDIwNCwgNzMsIDI0NywgMTc4LCAyMjAsIDIzMCwgCisgICAgMTkxLCAyMTUsIDEwLCA3MywgMjQ3LCAxNzgsIDIyMCwgMjMwLCAxOTEsIDIxNiwgMjMsIDczLCAyNDcsIDE3OCwgMjIwLCAKKyAgICAyMzAsIDE5MSwgMjQzLCA4OCwgNzMsIDI0NywgMTc4LCAyMjAsIDIzMCwgMTkxLCAyMjQsIDE5NSwgNzMsIDI0NywgMTc4LCAKKyAgICAyMjAsIDIzMCwgMTkxLCAyMTIsIDk5LCA3MywgMjQ3LCAxNzgsIDIyMCwgMjMwLCAxOTEsIDIzMiwgMTk4LCA3MywgMjQ3LCAKKyAgICAxNzgsIDIyMCwgMjMwLCAxOTEsIDIzMSwgNTcsIDczLCAyNDcsIDE3OCwgMjIwLCAyMzAsIDE5MSwgMjE5LCAxOTgsIDczLCAKKyAgICAyNDcsIDE3OCwgMjIwLCAyMzAsIDE5MSwgMjMxLCAxMDcsIDczLCAyNDcsIDE3OCwgMjIwLCAyMzAsIDE5MSwgNTksIDIzMiwgCisgICAgMTE2LCAyMjAsIDIzMCwgMTkxLCAyNDEsIDE0OSwgMjIwLCAyMzAsIDE5MSwgMjExLCAxNSwgMjIwLCAyMzAsIDE5MSwgMjExLCAKKyAgICA0LCAyMjAsIDIzMCwgMTkxLCAyMTEsIDEsIDIyMCwgMjMwLCAxOTEsIDIxMSwgMCwgMjIwLCAyMzAsIDE5MSwgMjEwLCAyNTUsIAorICAgIDIyMCwgMjMwLCAxOTEsIDIxMCwgMjU0LCAyMjAsIDIzMCwgMTkxLCAyMTAsIDI1MywgMjIwLCAyMzAsIDE5MSwgMjEwLCAKKyAgICAyNTIsIDIyMCwgMjMwLCAxOTEsIDIxMCwgMjUxLCAyMjAsIDIzMCwgMTkxLCAyMTEsIDE0LCAyMjAsIDIzMCwgMTkxLCAyMTEsIAorICAgIDEzLCAyMjAsIDIzMCwgMTkxLCAyMTEsIDEyLCAyMjAsIDIzMCwgMTkxLCAyMTEsIDExLCAyMjAsIDIzMCwgMTkxLCAyMTEsIAorICAgIDEwLCAyMjAsIDIzMCwgMTkxLCAyMTEsIDksIDIyMCwgMjMwLCAxOTEsIDIxMSwgOCwgMjIwLCAyMzAsIDE5MSwgMjExLCA3LCAKKyAgICAyMjAsIDIzMCwgMTkxLCAyMTEsIDYsIDIyMCwgMjMwLCAxOTEsIDIxMSwgNSwgMjIwLCAyMzAsIDE5MSwgMjExLCAzLCAyMjAsIAorICAgIDIzMCwgMTkxLCAyMTEsIDIsIDE4LCAyMDUsIDg2LCAyNDEsIDgyLCAyMTMsIDI1MSwgMTgsIDIwNSwgODYsIDI0NywgMTU1LCAKKyAgICAxOCwgMTE5LCAyNDcsIDE1NSwgMTgsIDExOCwgMjQ3LCAxNTUsIDE4LCAxMjksIDI0NywgMTU1LCAxOCwgMjQxLCAxMjUsIAorICAgIDI0NywgMTU1LCAxOCwgMjQxLCAyMDQsIDI0NywgMTU1LCAxOCwgMjE1LCAxMCwgMjQ3LCAxNTUsIDE4LCAyMTYsIDIzLCAKKyAgICAyNDcsIDE1NSwgMTgsIDI0MywgODgsIDI0NywgMTU1LCAxOCwgMjI0LCAxOTUsIDI0NywgMTU1LCAyNDUsIDExMSwgMzksIAorICAgIDM4LCAxOCwgMjA1LCA4NSwgMjQ1LCAxMTEsIDE3MCwgMzksIDM4LCAxOCwgMjA1LCA4NSwgOTcsIDcsIDYsIDEsIDYyLCA5NywgCisgICAgNywgNiwgMSwgMjUxLCAxNTAsIDk3LCA3LCA2LCAxLCAyNDksIDM0LCA5NywgNywgNiwgMSwgMjQ2LCAyNDAsIDk3LCA3LCA2LCAKKyAgICAxLCA3NSwgOTcsIDcsIDYsIDEsIDI0MiwgMTM5LCA5NywgNywgNiwgMSwgMjQxLCA1NSwgOTcsIDcsIDYsIDEsIDIzOSwgCisgICAgMTU1LCA5NywgNywgNiwgMSwgNzQsIDk3LCA3LCA2LCAxLCAyMzIsIDIwMywgOTcsIDcsIDYsIDEsIDIzMiwgNzYsIDk3LCA3LCAKKyAgICA2LCAxLCAxNDksIDk3LCA3LCA2LCAxLCAyMjksIDI4LCA5NywgNywgNiwgMSwgMjI2LCAzMywgOTcsIDcsIDYsIDEsIDc2LCAKKyAgICA5NywgNywgNiwgMSwgMjIyLCA2NywgOTcsIDcsIDYsIDEsIDIyMCwgMjcsIDk3LCA3LCA2LCAxLCAxMzcsIDk3LCA3LCA2LCAKKyAgICAxLCAxODIsIDk3LCA3LCA2LCAxLCAyMTMsIDEwLCA5NywgNywgNiwgMSwgNzEsIDk3LCA3LCA2LCAxLCAyMDksIDE0OCwgOTcsIAorICAgIDcsIDYsIDEsIDIwNywgMTI5LCA5NywgNywgNiwgMSwgMjA2LCAxOTUsIDk3LCA3LCA2LCAxLCAyMDYsIDEyMywgOTcsIDcsIAorICAgIDYsIDEsIDIwNSwgMTU5LCAyMTEsIDkzLCAyMTUsIDIwNCwgMjQ5LCAxMzMsIDcsIDYsIDEsIDE4MiwgMzksIDM1LCA3LCA2LCAKKyAgICAxLCAyNDksIDM0LCAzOSwgMzUsIDcsIDYsIDEsIDEzNywgMzksIDI0OCwgMTQ5LCAzOSwgMjA2LCAxOTcsIDk4LCA3LCA2LCAKKyAgICAxLCA2MiwgOTgsIDcsIDYsIDEsIDI1MSwgMTUwLCA5OCwgNywgNiwgMSwgMjQ5LCAzNCwgOTgsIDcsIDYsIDEsIDI0NiwgCisgICAgMjQwLCA5OCwgNywgNiwgMSwgNzUsIDk4LCA3LCA2LCAxLCAyNDIsIDEzOSwgOTgsIDcsIDYsIDEsIDI0MSwgNTUsIDk4LCA3LCAKKyAgICA2LCAxLCAyMzksIDE1NSwgOTgsIDcsIDYsIDEsIDc0LCA5OCwgNywgNiwgMSwgMjMyLCAyMDMsIDk4LCA3LCA2LCAxLCAyMzIsIAorICAgIDc2LCA5OCwgNywgNiwgMSwgMTQ5LCA5OCwgNywgNiwgMSwgMjI5LCAyOCwgOTgsIDcsIDYsIDEsIDIyNiwgMzMsIDk4LCA3LCAKKyAgICA2LCAxLCA3NiwgOTgsIDcsIDYsIDEsIDIyMiwgNjcsIDk4LCA3LCA2LCAxLCAyMjAsIDI3LCA5OCwgNywgNiwgMSwgMTM3LCAKKyAgICA5OCwgNywgNiwgMSwgMTgyLCA5OCwgNywgNiwgMSwgMjEzLCAxMCwgOTgsIDcsIDYsIDEsIDcxLCA5OCwgNywgNiwgMSwgCisgICAgMjA5LCAxNDgsIDk4LCA3LCA2LCAxLCAyMDcsIDEyOSwgOTgsIDcsIDYsIDEsIDIwNiwgMTk1LCA5OCwgNywgNiwgMSwgMjA2LCAKKyAgICAxMjMsIDk4LCA3LCA2LCAxLCAyMDUsIDE1OSwgOTgsIDIzOCwgMTcsIDk4LCAyMjYsIDU3LCA5OCwgMjE3LCA4OCwgOTgsIAorICAgIDIxNCwgOTksIDk4LCAyMjAsIDE1NSwgOTgsIDIwNywgNTIsIDE3MCwgMzksIDcsIDYsIDEsIDYyLCAxNzAsIDM5LCA3LCA2LCAKKyAgICAxLCAyNTEsIDE1MCwgMTcwLCAzOSwgNywgNiwgMSwgMjQ5LCAzNCwgMTcwLCAzOSwgNywgNiwgMSwgMjQ2LCAyNDAsIDE3MCwgCisgICAgMzksIDcsIDYsIDEsIDc1LCAxNzAsIDM5LCA3LCA2LCAxLCAyNDIsIDEzOSwgMTcwLCAzOSwgNywgNiwgMSwgMjQxLCA1NSwgCisgICAgMTcwLCAzOSwgNywgNiwgMSwgMjM5LCAxNTUsIDE3MCwgMzksIDcsIDYsIDEsIDc0LCAxNzAsIDM5LCA3LCA2LCAxLCAyMzIsIAorICAgIDIwMywgMTcwLCAzOSwgNywgNiwgMSwgMjMyLCA3NiwgMTcwLCAzOSwgNywgNiwgMSwgMTQ5LCAxNzAsIDM5LCA3LCA2LCAxLCAKKyAgICAyMjksIDI4LCAxNzAsIDM5LCA3LCA2LCAxLCAyMjYsIDMzLCAxNzAsIDM5LCA3LCA2LCAxLCA3NiwgMTcwLCAzOSwgNywgNiwgCisgICAgMSwgMjIyLCA2NywgMTcwLCAzOSwgNywgNiwgMSwgMjIwLCAyNywgMTcwLCAzOSwgNywgNiwgMSwgMTM3LCAxNzAsIDM5LCA3LCAKKyAgICA2LCAxLCAxODIsIDE3MCwgMzksIDcsIDYsIDEsIDIxMywgMTAsIDE3MCwgMzksIDcsIDYsIDEsIDcxLCAxNzAsIDM5LCA3LCAKKyAgICA2LCAxLCAyMDksIDE0OCwgMTcwLCAzOSwgNywgNiwgMSwgMjA3LCAxMjksIDE3MCwgMzksIDcsIDYsIDEsIDIwNiwgMTk1LCAKKyAgICAxNzAsIDM5LCA3LCA2LCAxLCAyMDYsIDEyMywgMTcwLCAzOSwgNywgNiwgMSwgMjA1LCAxNTksIDIxOSwgODEsIDIyNywgCisgICAgMTI1LCA1MywgMjE5LCA4MSwgMjI3LCAxMjIsIDUzLCAxNzAsIDk4LCA3LCA2LCAxLCA2MiwgMTcwLCA5OCwgNywgNiwgMSwgCisgICAgMjUxLCAxNTAsIDE3MCwgOTgsIDcsIDYsIDEsIDI0OSwgMzQsIDE3MCwgOTgsIDcsIDYsIDEsIDI0NiwgMjQwLCAxNzAsIDk4LCAKKyAgICA3LCA2LCAxLCA3NSwgMTcwLCA5OCwgNywgNiwgMSwgMjQyLCAxMzksIDE3MCwgOTgsIDcsIDYsIDEsIDI0MSwgNTUsIDE3MCwgCisgICAgOTgsIDcsIDYsIDEsIDIzOSwgMTU1LCAxNzAsIDk4LCA3LCA2LCAxLCA3NCwgMTcwLCA5OCwgNywgNiwgMSwgMjMyLCAyMDMsIAorICAgIDE3MCwgOTgsIDcsIDYsIDEsIDIzMiwgNzYsIDE3MCwgOTgsIDcsIDYsIDEsIDE0OSwgMTcwLCA5OCwgNywgNiwgMSwgMjI5LCAKKyAgICAyOCwgMTcwLCA5OCwgNywgNiwgMSwgMjI2LCAzMywgMTcwLCA5OCwgNywgNiwgMSwgNzYsIDE3MCwgOTgsIDcsIDYsIDEsIAorICAgIDIyMiwgNjcsIDE3MCwgOTgsIDcsIDYsIDEsIDIyMCwgMjcsIDE3MCwgOTgsIDcsIDYsIDEsIDEzNywgMTcwLCA5OCwgNywgNiwgCisgICAgMSwgMTgyLCAxNzAsIDk4LCA3LCA2LCAxLCAyMTMsIDEwLCAxNzAsIDk4LCA3LCA2LCAxLCA3MSwgMTcwLCA5OCwgNywgNiwgCisgICAgMSwgMjA5LCAxNDgsIDE3MCwgOTgsIDcsIDYsIDEsIDIwNywgMTI5LCAxNzAsIDk4LCA3LCA2LCAxLCAyMDYsIDE5NSwgMTcwLCAKKyAgICA5OCwgNywgNiwgMSwgMjA2LCAxMjMsIDE3MCwgOTgsIDcsIDYsIDEsIDIwNSwgMTU5LCAyNDcsIDU3LCAxNzAsIDk4LCA3LCAKKyAgICA2LCAxLCAyMjIsIDY3LCAxNzAsIDk4LCAyMzcsIDE4MywgMTcwLCA5OCwgMTc5LCAxNzAsIDk4LCAyMTcsIDE5OSwgMTcwLCAKKyAgICA5OCwgMjUzLCAxMTUsIDE3MCwgOTgsIDIwNywgNTIsIDQ5LCAyNDUsIDcwLCA5OCwgMjQ3LCAyMTgsIDk4LCAyNDcsIDEwMSwgCisgICAgOTgsIDI0MSwgMTA3LCA5OCwgMjM3LCAxNzQsIDk4LCAyMjUsIDg3LCA5OCwgMjI1LCA3OSwgOTgsIDIyMiwgMTg1LCA5OCwgCisgICAgMjE0LCAxNjksIDk4LCAxMjAsIDIsIDI0MiwgMTY4LCA4MywgOTgsIDIwOCwgMTUxLCAyMTksIDI0LCAyMzMsIDUwLCAxNiwgCisgICAgMSwgNjIsIDIxOSwgMjQsIDIzMywgNTAsIDE2LCAxLCAyNTEsIDE1MCwgMjE5LCAyNCwgMjMzLCA1MCwgMTYsIDEsIDI0OSwgCisgICAgMzQsIDIxOSwgMjQsIDIzMywgNTAsIDE2LCAxLCAyNDYsIDI0MCwgMjE5LCAyNCwgMjMzLCA1MCwgMTYsIDEsIDc1LCAyMTksIAorICAgIDI0LCAyMzMsIDUwLCAxNiwgMSwgMjQyLCAxMzksIDIxOSwgMjQsIDIzMywgNTAsIDE2LCAxLCAyNDEsIDU1LCAyMTksIDI0LCAKKyAgICAyMzMsIDUwLCAxNiwgMSwgMjM5LCAxNTUsIDIxOSwgMjQsIDIzMywgNTAsIDE2LCAxLCA3NCwgMjE5LCAyNCwgMjMzLCA1MCwgCisgICAgMTYsIDEsIDIzMiwgMjAzLCAyMTksIDI0LCAyMzMsIDUwLCAxNiwgMSwgMjMyLCA3NiwgMjE5LCAyNCwgMjMzLCA1MCwgMTYsIAorICAgIDEsIDE0OSwgMjE5LCAyNCwgMjMzLCA1MCwgMTYsIDEsIDIyOSwgMjgsIDIxOSwgMjQsIDIzMywgNTAsIDE2LCAxLCAyMjYsIAorICAgIDMzLCAyMTksIDI0LCAyMzMsIDUwLCAxNiwgMSwgNzYsIDIxOSwgMjQsIDIzMywgNTAsIDE2LCAxLCAyMjIsIDY3LCAyMTksIAorICAgIDI0LCAyMzMsIDUwLCAxNiwgMSwgMjIwLCAyNywgMjE5LCAyNCwgMjMzLCA1MCwgMTYsIDEsIDEzNywgMjE5LCAyNCwgMjMzLCAKKyAgICA1MCwgMTYsIDEsIDE4MiwgMjE5LCAyNCwgMjMzLCA1MCwgMTYsIDEsIDIxMywgMTAsIDIxOSwgMjQsIDIzMywgNTAsIDE2LCAKKyAgICAxLCA3MSwgMjE5LCAyNCwgMjMzLCA1MCwgMTYsIDEsIDIwOSwgMTQ4LCAyMTksIDI0LCAyMzMsIDUwLCAxNiwgMSwgMjA3LCAKKyAgICAxMjksIDIxOSwgMjQsIDIzMywgNTAsIDE2LCAxLCAyMDYsIDE5NSwgMjE5LCAyNCwgMjMzLCA1MCwgMTYsIDEsIDIwNiwgCisgICAgMTIzLCAyMTksIDI0LCAyMzMsIDUwLCAxNiwgMSwgMjA1LCAxNTksIDQ5LCAxNjEsIDIzOCwgMTQ0LCA5OCwgNjQsIDIzMSwgCisgICAgNDEsIDk4LCA2NCwgMjE3LCAxOTksIDk4LCAxMCwgMjA5LCAyMjAsIDIzNSwgMTE5LCA5OCwgMTAsIDIwOSwgMjIwLCAyMzUsIAorICAgIDEyMywgOTgsIDEwLCAyMDksIDIyMCwgMjM1LCAxMzEsIDk4LCA2NCwgMjQ2LCA5LCA5OCwgMTAsIDIwOSwgMjIwLCAyMzUsIAorICAgIDEzOCwgOTgsIDEwLCAyMDksIDIyMCwgMjM1LCAxMjUsIDk4LCAxMCwgMjA5LCAyMjAsIDIzNSwgOTcsIDk4LCAxMCwgMjA5LCAKKyAgICAyMjAsIDIzNSwgMTI0LCA5OCwgMTAsIDIwOSwgMjIwLCAyMzUsIDEzNywgOTgsIDEwLCAyMDksIDIyMCwgMjM1LCAxMTEsIAorICAgIDk4LCAxMCwgMjA5LCAyMjAsIDIzNSwgMTA0LCA5OCwgMTAsIDIwOSwgMjIwLCAyMzUsIDExMywgOTgsIDEwLCAyMDksIDIyMCwgCisgICAgMjM1LCAxMzQsIDk4LCAxMCwgMjA5LCAyMjAsIDIzNSwgMTIwLCA5OCwgMTAsIDIwOSwgMjIwLCAyMzUsIDEzNiwgOTgsIDEwLCAKKyAgICAyMDksIDIyMCwgMjM1LCAxMTIsIDk4LCAxMCwgMjA5LCAyMjAsIDIzNSwgMTM1LCA5OCwgMTAsIDIwOSwgMjIwLCAyMzUsIAorICAgIDk4LCA5OCwgMTAsIDIwOSwgMjIwLCAyMzUsIDEwMywgOTgsIDEwLCAyMDksIDIyMCwgMjM1LCA5NiwgOTgsIDEwLCAyMDksIAorICAgIDIyMCwgMjM1LCAxMjYsIDk4LCAxMCwgMjA5LCAyMjAsIDIzNSwgMTI4LCA5OCwgMTAsIDIwOSwgMjIwLCAyMzUsIDEwNiwgCisgICAgOTgsIDEwLCAyMDksIDIyMCwgMjM1LCAxMTcsIDk4LCAxMCwgMjA5LCAyMjAsIDIzNSwgMTE1LCA5OCwgMTAsIDIwOSwgMjIwLCAKKyAgICAyMzUsIDE0MSwgOTgsIDEwLCAyMDksIDIyMCwgMjM1LCAxNDAsIDk4LCAxMCwgMjA5LCAyMjAsIDIzNSwgOTQsIDk4LCAxMCwgCisgICAgMjA5LCAyMjAsIDIzNSwgMTIxLCA5OCwgMTAsIDIwOSwgMjIwLCAyMzUsIDEzOSwgOTgsIDEwLCAyMDksIDIyMCwgMjM1LCAKKyAgICAxMzAsIDk4LCAxMCwgMjA5LCAyMjAsIDIzNSwgMTE2LCA5OCwgMTAsIDIwOSwgMjIwLCAyMzUsIDk1LCA5OCwgMTAsIDIwOSwgCisgICAgMjIwLCAyMzUsIDExOCwgOTgsIDEwLCAyMDksIDIyMCwgMjM1LCAxMDAsIDk4LCAxMCwgMjA5LCAyMjAsIDIzNSwgOTksIDk4LCAKKyAgICAxMCwgMjA5LCAyMjAsIDIzNSwgMTI5LCA5OCwgMTAsIDIwOSwgMjIwLCAyMzUsIDEwNywgOTgsIDEwLCAyMDksIDIyMCwgCisgICAgMjM1LCAxMDksIDk4LCAxMCwgMjA5LCAyMjAsIDIzNSwgMTEwLCA5OCwgMTAsIDIwOSwgMjIwLCAyMzUsIDEwMiwgOTgsIDEwLCAKKyAgICAyMDksIDIyMCwgMjM1LCAxMzMsIDk4LCAxMCwgMjA5LCAyMjAsIDIzNSwgMTI3LCAyMTEsIDkzLCAyMTUsIDIwNCwgMjQ5LCAKKyAgICAxMzMsIDEwLCAyMDksIDIyMCwgMjM1LCAxMDgsIDIxMSwgOTMsIDIxNSwgMjA0LCAyNDksIDEzMywgMTAsIDIwOSwgMjIwLCAKKyAgICAyMzUsIDE0MCwgMjExLCA5MywgMjE1LCAyMDQsIDI0OSwgMTMzLCAxMCwgMjA5LCAyMjAsIDIzNSwgMTM4LCAyMTEsIDkzLCAKKyAgICAyMTUsIDIwNCwgMjQ5LCAxMzMsIDEwLCAyMDksIDIyMCwgMjM1LCAxMjIsIDIxMSwgOTMsIDIxNSwgMjA0LCAyNDksIDEzMywgCisgICAgMTAsIDIwOSwgMjIwLCAyMzUsIDEwNSwgMjExLCA5MywgMjE1LCAyMDQsIDI0OSwgMTMzLCAxMCwgMjA5LCAyMjAsIDIzNSwgCisgICAgMTE4LCAyMTEsIDkzLCAyMTUsIDIwNCwgMjQ5LCAxMzMsIDEwLCAyMDksIDIyMCwgMjM1LCAxMDEsIDIxMSwgOTMsIDIxNSwgCisgICAgMjA0LCAyNDksIDEzMywgMTAsIDIwOSwgMjIwLCAyMzUsIDEzMiwgMjExLCA5MywgMjE1LCAyMDQsIDI0OSwgMTMzLCAxMCwgCisgICAgMjA5LCAyMjAsIDIzNSwgMTE0LCAzOSwgMTc1LCAyNTIsIDI1MCwgMzksIDE3NSwgMjUzLCAxOSwgMjQ2LCAyNTEsIDI0MSwgCisgICAgMTYwLCAyNDcsIDE5MiwgMjA5LCAyMzgsIDIyNCwgMjEwLCAyLCAyMTQsIDIzLCAyMTMsIDE0OSwgMTMxLCAyMjYsIDEyNywgCisgICAgMjEzLCAxNDgsIDI0NywgMjIyLCAyNTEsIDIwMCwgMjQzLCAyMTMsIDIxMywgMTQ3LCAxMzEsIDI0OSwgOTAsIDIxOSwgODIsIAorICAgIDI0OSwgMTE2LCAyNTEsIDIwMCwgMjI0LCAyMDksIDIwNywgNzAsIDIwNywgNjQsIDIwOCwgMTY1LCAyMjYsIDIxNywgMjA3LCAKKyAgICA1NCwgMjQzLCAxMjEsIDI0MCwgMjYsIDI0MiwgMTgyLCAyNDMsIDEyMSwgMjQwLCAyNiwgMjUyLCAxMjgsIDI0MywgMTIxLCAKKyAgICAyNDAsIDI2LCAyNTEsIDIxOCwgMjQwLCAyNiwgMiwgMjI3LCA3NSwgMTg2LCAyMjYsIDE0NSwgOTMsIDIwNywgNTYsIDI0NywgCisgICAgNjYsIDIyNiwgMTQ1LCA5MywgMjQxLCAyMTUsIDIxOSwgMjA1LCAyMjYsIDE0NSwgOTMsIDIwNywgNTYsIDI0MCwgNTcsIAorICAgIDIyNiwgMTQ1LCA5MywgMjQxLCA4MiwgMjI2LCAxNDUsIDkzLCAyMDcsIDgyLCAyNDAsIDU3LCAyMjYsIDE0NSwgOTMsIDIzMCwgCisgICAgODEsIDIxOSwgMjA1LCAyMjYsIDE0NSwgOTMsIDIwNywgODIsIDI0NywgNjYsIDIyNiwgMTQ1LCA5MywgMjQ3LCA2NiwgMjI2LCAKKyAgICAxNDQsIDE4NiwgMjI2LCAxNDUsIDIsIDI0MiwgNjcsIDI0MSwgMjE1LCAyMTksIDIwNSwgMjI2LCAxNDUsIDIsIDI0MiwgNjcsIAorICAgIDIzMCwgODEsIDIxOSwgMjA1LCAyMjYsIDE0NSwgMiwgMjQyLCA2NywgMjQxLCA4MiwgMjI2LCAxNDUsIDIsIDI0MiwgNjcsIAorICAgIDIxMywgMTU1LCAyLCAyNDIsIDY3LCAyNDAsIDI0LCAyMTQsIDI2LCAyMTUsIDE0OSwgMjE0LCAyNiwgMjEyLCAyOSwgNjAsIAorICAgIDI0MywgMjQ0LCA1OSwgMjEzLCAxNTQsIDU5LCAyMTMsIDE1NSwgMiwgNSwgMjQ3LCAxODMsIDU5LCAyMTMsIDE1NSwgMjUwLCAKKyAgICAzNSwgMjQ3LCAxODMsIDU5LCAyMTMsIDE1NSwgMjUwLCAzNSwgMjQ3LCAxODQsIDIsIDIxOSwgODMsIDI0NywgMTg0LCAyLCAKKyAgICAyMTksIDgzLCAyNDcsIDE4NCwgMiwgMjE0LCAxOTksIDI0NywgMTg0LCAyLCAyMjksIDIyMCwgMjQ3LCAxODQsIDIsIDIxMSwgCisgICAgOTQsIDI0MSwgMTYxLCAyMDcsIDEwLCAyNDksIDE4OCwgMjQyLCA2NywgMjQ4LCA2NCwgMjE3LCA3MiwgMjQyLCAxNzYsIAorICAgIDIxMSwgNjEsIDI0NiwgMywgMjExLCA2MSwgMjIyLCAxOSwgMjExLCA2MSwgMjQ4LCAyNTAsIDIzOCwgNjMsIDIyMSwgMTMzLCAKKyAgICAyMTAsIDE2MCwgMjQ4LCA2NywgMjQ5LCAxOTAsIDIxOCwgMTAxLCAyMzksIDEwLCAyMTMsIDE1MiwgMjQ5LCAxOTAsIDI0MywgCisgICAgMTI1LCA3MywgMjI3LCAyMzAsIDI0MywgMTI1LCA3MywgMjE4LCAyMDMsIDIzOSwgMzYsIDI0MSwgMTI1LCAyMzAsIDU0LCAKKyAgICAyNDcsIDE4MiwgMjI3LCAyMDMsIDIzMCwgNTMsIDI0MiwgNTEsIDIzMCwgNTMsIDIzMCwgNTQsIDI0MSwgMTY3LCAyMzMsIAorICAgIDY5LCAyMDcsIDksIDIyNiwgNjYsIDIxMSwgMTIyLCAyNTEsIDE4MywgMjM5LCAyNDMsIDIyNywgOTIsIDIwNywgNjgsIDIxMiwgCisgICAgMTY5LCAyMzAsIDIzLCAyNTAsIDEzNywgMjIxLCA2LCAyMTksIDMyLCAyNTIsIDUwLCAyMzksIDIyNywgMjUyLCA1MCwgMjIxLCAKKyAgICAxNzAsIDIyMSwgMTcxLCAyNDgsIDY4LCAyMTMsIDIzNiwgMjM5LCAxMTYsIDIxNCwgMjI5LCA3MywgMjIwLCAyNDIsIDIyNywgCisgICAgMTE1LCAyMjIsIDE2NiwgMjQ5LCAxNzMsIDIyMCwgMTY2LCAyMzAsIDM0LCAyMTgsIDIwNCwgMjQ3LCA3MiwgMjE4LCAyMDQsIAorICAgIDI1MCwgMTQ5LCAyNDcsIDEwNCwgMjE4LCAyMDMsIDI0NywgMjIsIDIzLCAyMTgsIDIwMywgMjE0LCAxMSwgMjQ5LCAxNDQsIAorICAgIDIxNCwgMTQ5LCAyNDksIDEyNywgMjQxLCAxMDYsIDI0MSwgMTAyLCAyMTgsIDEyMCwgMjEzLCAxMDUsIDIyMCwgMTY4LCAKKyAgICAyNDYsIDk3LCAyMjIsIDIwOCwgMjEzLCAxMjMsIDI0MSwgMTAzLCAyMTUsIDEyMSwgMjQxLCAyMTQsIDI0OCwgMjQ0LCAyLCAKKyAgICAyMTMsIDk4LCAyNDUsIDIwNCwgMjE0LCAxODcsIDIzNywgMTgyLCAyNDcsIDcwLCAyMTUsIDIyMiwgMjM3LCAxODEsIDIzNywgCisgICAgMTgyLCAyNDcsIDcwLCAyNDQsIDExLCAyNDcsIDEwMywgMjQ4LCAzMCwgMTM0LCAyNDgsIDIxNiwgMjI5LCAxMjksIDI0NywgCisgICAgMTQsIDIzOCwgMTMzLCAyMjAsIDE3MCwgMjE1LCAxMzMsIDI1MCwgMTgsIDI0OSwgMTQwLCAyMjAsIDE3MSwgNzMsIDI0MSwgCisgICAgMTUwLCAyNDcsIDEwMiwgMjQxLCAxNDAsIDIzLCAyMzEsIDU4LCAyMTIsIDEyOCwgMjA2LCAyNTMsIDIzOSwgMTA1LCAyMTcsIAorICAgIDE3NiwgMjQ5LCAxNTYsIDIzLCAyNDcsIDI5LCAyMDcsIDYsIDI0MCwgMjksIDI0NywgMTcxLCAyNDAsIDI5LCAyMTEsIDE4LCAKKyAgICAyNDMsIDI0OSwgMjUwLCA0NiwgMjI2LCAxMDMsIDI0NywgMTk5LCAyNTAsIDQ2LCAyMjYsIDEwMiwgMjUwLCAxNzksIDI0OSwgCisgICAgMTU1LCAyNDEsIDE0MCwgMjMsIDIzMSwgNTksIDIsIDIyMCwgMjMxLCAyMTgsIDIwNSwgMjA2LCAyMjIsIDIyMCwgMTMyLCAKKyAgICAyNDksIDIxNiwgMjQ4LCAyNDMsIDIzMiwgMTk3LCAyNDgsIDIyLCAyMTEsIDYxLCAyNDIsIDM2LCAyNDgsIDIxLCAyNDEsIAorICAgIDIxNywgMjQxLCAyMTgsIDIxNCwgMTQ3LCAyNTAsIDE0OCwgMjIxLCAyMDYsIDIyMCwgMTgyLCAyNDcsIDEzNywgMjUwLCAKKyAgICAxNDksIDIxMiwgMTczLCAyMTEsIDYxLCAyNDcsIDU3LCAyNDEsIDE5MCwgMjIxLCA3LCAyNDYsIDAsIDIzMiwgMTg5LCAyNDUsIAorICAgIDM0LCAyNDgsIDE5MywgMjEzLCAyMzUsIDIwNywgMTAsIDI0OCwgNDYsIDIyNiwgMTQ1LCAyMDgsIDIwMSwgMjQ4LCAxMTUsIAorICAgIDIxNywgMTA0LCAyMTcsIDEzMSwgMjM5LCAyNDgsIDI0OCwgMjEzLCAyMzksIDYxLCAyLCAyMTEsIDE2NywgMjIyLCAxNjYsIAorICAgIDIxMiwgNDIsIDIzMCwgNDYsIDI0OSwgMTQ5LCA3MywgMjQxLCAxNzEsIDIyNiwgMjE4LCAyMjcsIDExMiwgMjE5LCA1LCAKKyAgICAyMTgsIDIwNSwgMzAsIDIzMSwgMTczLCAyLCAyMzIsIDE5NiwgMjEzLCAyMDgsIDIyNiwgMjUxLCAyMjksIDI1NCwgMjE0LCAKKyAgICAyMjcsIDI0NywgMTA5LCAyMzEsIDU1LCAyNTAsIDU4LCAyNTEsIDIyOCwgMzAsIDIyNCwgMzIsIDI1MCwgNTgsIDI0NSwgCisgICAgMjEwLCAzMCwgMjI0LCAzMiwgMjQxLCAyMzEsIDI0MSwgMTExLCAyNTIsIDI1MywgMjExLCAyMDUsIDI0OCwgMTk0LCAyMzgsIAorICAgIDY1LCAyNDIsIDMsIDIwNywgMjYsIDIxOCwgMTExLCAyNDcsIDE3MiwgMjQxLCAyMDksIDIyMCwgMTk2LCAyMywgMjQxLCAKKyAgICAyMTMsIDIyNiwgMjUxLCAyMjYsIDEyMSwgMjQ4LCAyMzAsIDI0NywgMjM3LCAyMzksIDY1LCAyNTEsIDIzNSwgMjIyLCAyMiwgCisgICAgMjExLCAxMDIsIDIzOSwgODYsIDI0NywgMjI2LCAyMTIsIDkyLCAyMTEsIDIwNiwgMjQ3LCAyMTMsIDI0OSwgMTgxLCAyMjEsIAorICAgIDEyNiwgMjUxLCAyMzQsIDIwOCwgMjEwLCAyNDAsIDIxOCwgMjQ1LCAxMDQsIDIzOCwgMjQyLCAyMTQsIDIyMCwgMjI4LCAxNSwgCisgICAgMjQ5LCAyMjcsIDI0MCwgMjE5LCAyNDUsIDE0OCwgMjQ5LCAxNDMsIDI0MSwgMTczLCAyMjAsIDIzMCwgMjQ4LCAyMDIsIDMwLCAKKyAgICAyMjQsIDM3LCAyMjYsIDk1LCAzMCwgMjI0LCAzMiwgMjE3LCAxMTcsIDIzOSwgMTk3LCAzMCwgMjMxLCAxNzIsIDIxMCwgCisgICAgMjUwLCAyMDgsIDE5MCwgMzAsIDIxNywgOTcsIDIxOCwgMzMsIDIxNSwgMTYyLCAyLCAyMTcsIDEzNCwgMjEyLCA5NSwgMjE5LCAKKyAgICAxMDIsIDIzLCAyNTAsIDE0OSwgMjE0LCAyNDUsIDIzLCAyMTQsIDI0NSwgMjQ5LCAxNjYsIDI1MCwgMTExLCAyMywgMjM4LCAKKyAgICAxMjcsIDI0OCwgNjksIDI0MSwgMTk2LCAyMTQsIDE5OCwgMjE4LCAzNCwgMjEzLCAxMjgsIDIxNCwgMTE3LCAyMjcsIDExMiwgCisgICAgMjExLCAxOSwgMjM4LCA2NiwgMjE5LCAxMDMsIDI1MiwgMTI5LCAyNDEsIDE0NywgMjE4LCA0NSwgMjQxLCAxNDcsIDIxMywgCisgICAgMTAwLCAyMDcsIDQxLCAyMjksIDIyNCwgMjQwLCAxMCwgMjE5LCAxMDQsIDIyNiwgMTM0LCAyMTksIDEwNCwgMjQ4LCAyMDQsIAorICAgIDIxNCwgMjAwLCAyNDgsIDIwOSwgMjI2LCAxMjgsIDI0OCwgMjI4LCAyNTAsIDYwLCAyLCAyMDksIDIzOCwgMjQ5LCA5MiwgCisgICAgMjQ3LCAxMjIsIDIzOCwgNTUsIDI0OSwgOTAsIDI0NywgMjIxLCAyNDUsIDIxNCwgMjM4LCA1NSwgMjQ5LCA5MSwgMjQ3LCAKKyAgICAyMTEsIDI0OSwgOTEsIDI0NSwgMjA2LCAyNDUsIDIwNywgMjMyLCAyMjcsIDIyNSwgMTkzLCAyMjEsIDIxMiwgMjE0LCAzNiwgCisgICAgMjM4LCA1NSwgMjQ5LCA5MSwgMjM4LCA1NSwgMiwgMjQwLCAyMDIsIDIyMiwgMjAxLCAyNDksIDkxLCAyMzIsIDE4OSwgMjIwLCAKKyAgICAxNzYsIDIyMiwgMjAwLCAyNDIsIDE4MSwgMjIwLCAxNzYsIDIyMiwgMjAwLCAyMzgsIDY0LCAyNTAsIDEzMywgMjUxLCAxNzMsIAorICAgIDIxMiwgMTAzLCAyMjgsIDE1LCAyMzgsIDYwLCAyMjksIDk4LCAyMzgsIDYwLCAyNDcsIDEwNywgMjEzLCAyNDcsIDIxNywgCisgICAgMTAzLCAyNDUsIDIxNiwgMjEzLCAyNDcsIDI0MiwgNTcsIDIzMiwgMjA4LCAyMzAsIDkxLCAyMzIsIDE4OSwgMjQ4LCAxODUsIAorICAgIDI0MiwgMTgxLCAyNDgsIDE4NSwgNTksIDIyMSwgMTQ0LCA2MCwgMjIxLCAxNDQsIDIwNywgNjIsIDU5LCAyNDEsIDE5NiwgCisgICAgMjA3LCA2MiwgNjAsIDI0MSwgMTk2LCAyMTgsIDEwMCwgNjAsIDIxOCwgMTAwLCAyMzAsIDEzMywgMjE5LCA2NSwgMjI2LCAKKyAgICAxMjUsIDIyMiwgNzYsIDIwNywgNzAsIDI0OSwgOTYsIDI0NywgNzUsIDIxMSwgMTk4LCAyMzAsIDE0LCAyMTksIDEwNSwgCisgICAgMjQ4LCAxODMsIDI0MywgMjU1LCAyNDcsIDY0LCAyMDcsIDI5LCAyMTQsIDIwNiwgMjE0LCAyMDQsIDIzOCwgNjUsIDIxOSwgCisgICAgNzcsIDI0MCwgMTUsIDIxNSwgMjA4LCAyMjYsIDE2MywgMjE4LCAxMDQsIDI0OCwgNTYsIDI0NSwgNDAsIDIyMSwgMTcsIAorICAgIDI0OSwgMTgyLCAyNDMsIDYwLCAyMjIsIDIxMSwgMjE0LCAxMjgsIDIxNSwgMjAzLCAyNDksIDk1LCAyNTIsIDkxLCAyMzgsIAorICAgIDEzMiwgMjMwLCAxMjYsIDI1MCwgNDQsIDI0MSwgMjEzLCAyMTEsIDE4LCAyNDEsIDIxMywgMjQ5LCAxODksIDIxMCwgMTQxLCAKKyAgICAyMzksIDg0LCAyNDgsIDU3LCAyNTAsIDE3OSwgMjQ4LCA1NywgMjQxLCA5NywgMjUwLCAxNzksIDI0OCwgNTcsIDI0OSwgCisgICAgMjE4LCAyMjEsIDE0NiwgMjMxLCA1MSwgMjIwLCAxODYsIDI0MywgMjQ2LCAyNDgsIDIzMiwgMjUwLCAxNjgsIDI0OCwgMjMyLCAKKyAgICAyNDUsIDMzLCAyMjYsIDEyNiwgMjQyLCA2NywgMjQ3LCA3NiwgMjQyLCA2NywgMjExLCAxOTksIDI0MiwgNjcsIDIxOSwgCisgICAgMTA2LCAyNDIsIDY3LCAyNDgsIDE4NCwgMjQyLCA2NywgMjQ0LCAwLCAyNDIsIDY3LCAyMTQsIDExNSwgMjA3LCAyOSwgMjM4LCAKKyAgICA2NiwgMjQyLCA2NywgMjI2LCAxNjQsIDI0MiwgNjcsIDI0NSwgNDEsIDI0MiwgNjcsIDIyMSwgMTgsIDI0MiwgNjcsIDI0MSwgCisgICAgMTAwLCAyNDIsIDY3LCAyMzksIDExMywgMjQyLCA2NywgMjA2LCAyNDcsIDI0MiwgNjcsIDI1MCwgNTYsIDI0MiwgNjcsIAorICAgIDIyMiwgNCwgMjQyLCA2NywgMjIxLCAxOCwgMjI0LCA0NCwgMjIxLCAxODYsIDIyMCwgMTIxLCAyNDgsIDQxLCAyNDIsIDE0OCwgCisgICAgMjQyLCAxNTAsIDI0MywgMTI0LCAyMjQsIDQ0LCAyMjYsIDEyMywgMjExLCAxMDcsIDU5LCAxMjAsIDIyMCwgMjAxLCAyNTAsIAorICAgIDE3NCwgMjMzLCA1MywgNTksIDEzMCwgMjIwLCAyMDEsIDI1MCwgMTc0LCAyMzMsIDUzLCA1OSwgNDcsIDIyMCwgMjAxLCAKKyAgICAyNTAsIDE3NCwgMjMzLCA1MywgNTksIDQ4LCAyMjAsIDIwMSwgMjUwLCAxNzQsIDIzMywgNTMsIDI0MSwgMjA3LCAyMzksIAorICAgIDEwOCwgNTMsIDIwNywgNjIsIDIzOSwgMTA4LCA1MywgMjIyLCAxODYsIDIzOSwgMTA4LCA1MywgMjExLCAyMjksIDEyMCwgCisgICAgNTMsIDIxMSwgMjI5LCAxMzAsIDUzLCAyNDcsIDIxMiwgMjM5LCAxMDMsIDUzLCAyMjIsIDE0MiwgMjM5LCAxMDMsIDUzLCAKKyAgICAyNDcsIDUyLCAyMDYsIDI0MywgMjM5LCA4NiwgMjQyLCAxNDksIDIyNSwgMTA3LCAyMTMsIDksIDIzMiwgMTgxLCAyNDMsIAorICAgIDI1MSwgMjMxLCAxMTAsIDI0OSwgMjI5LCAyMDYsIDI0MywgMjQ3LCAxODUsIDIyMCwgNTgsIDIzOSwgMTA2LCAyMjAsIDE2NywgCisgICAgMjI3LCAyMTEsIDIxNSwgMTU1LCAyNTEsIDE5NiwgMjE1LCAxNTUsIDIzOCwgMjUxLCAyMTUsIDE1NSwgMjA2LCAyNDMsIAorICAgIDIxNywgMTQ4LCAyMDYsIDI0MywgMjQ5LCAxNjUsIDI0MSwgMTQ1LCAyNDksIDU5LCAyMzMsIDY5LCAyMTUsIDU1LCAyNDksIAorICAgIDU4LCAyMzMsIDY5LCAyMTUsIDU1LCAyNDksIDEzOSwgMjQwLCA0MCwgMjI3LCAyMjEsIDIwNiwgMjQ0LCAyNDIsIDQ4LCAKKyAgICAyMjcsIDIyMiwgMjMsIDIwNiwgMjQ1LCAyMzgsIDE0MSwgMjM5LCAxMDIsIDExOCwgMjI3LCA4NCwgMjM4LCAxNDEsIDIzOSwgCisgICAgMTAyLCAxMTgsIDIwNiwgMjQyLCAyMzgsIDE0MSwgMjM5LCAxMDIsIDIyMCwgMTkzLCAyMjIsIDE5OSwgMjA2LCAyNDUsIDIsIAorICAgIDI0OSwgNzYsIDI0MywgMTIyLCAyNDksIDExNywgMiwgMjA5LCAzMCwgMjIxLCAxMTUsIDIsIDI0OSwgMTkyLCAyMzksIDEyOSwgCisgICAgMjI3LCAyMjIsIDIsIDIzOSwgMjEwLCAyMjEsIDU0LCAyMjcsIDIwNywgMjI3LCAyMjIsIDIsIDIxMCwgMTQ4LCAyMjIsIAorICAgIDE3OCwgMjI3LCAyMjEsIDIyMiwgMTc4LCAyMDYsIDI0NCwgMjUwLCAxNzgsIDI0NywgMTIzLCAyMDYsIDIyOCwgMjIwLCAKKyAgICAxMjYsIDIzMiwgMTg5LCAyMjIsIDE5NSwgMjMyLCAxODksIDI0MCwgMTQsIDI0MCwgNjksIDI1MCwgMTc5LCAyNTIsIDExMiwgCisgICAgMjQyLCAxNTQsIDI1MiwgMTYyLCAyNTIsIDE2MywgMjI2LCAxNTQsIDIzMywgNzQsIDIxNCwgMjQwLCAyMzMsIDQzLCAyNDUsIAorICAgIDIwMywgMjIxLCAxMTQsIDIzOSwgMjA0LCAyNDYsIDEwMSwgMjI5LCAxOTEsIDIyNSwgMjE3LCAyMjAsIDE5MiwgMjQyLCA2OCwgCisgICAgMjI3LCAxNzMsIDIzOSwgMTI4LCAyNTAsIDEyNywgMjIwLCAxOTUsIDIxMywgMjksIDIyMSwgMTAsIDIzMSwgOTIsIDgzLCAKKyAgICAyMjksIDk4LCAyMzAsIDUsIDIxOCwgMTQ4LCAyNDAsIDE2MCwgMjEzLCAyNTMsIDIzMSwgOTEsIDI0OSwgMTQ4LCAyNDcsIAorICAgIDc4LCAyLCAyMzksIDYwLCAyMDcsIDQ3LCAyNTAsIDU0LCAyMzksIDYwLCAyNDksIDExMSwgMjM5LCA2MCwgMTE4LCAyMzksIAorICAgIDU4LCAyMTQsIDE0NSwgMjM5LCA2MCwgMjM5LCAyMjAsIDIzOSwgNjAsIDIzOSwgNjEsIDIsIDQ1LCAyNDksIDE4NywgMjM5LCAKKyAgICA2MCwgMjM5LCAyMjcsIDIzOSwgNjAsIDIwNiwgNDUsIDIzOSwgNjAsIDIyMCwgNTksIDIzOSwgNjAsIDIzOSwgNjEsIDIsIAorICAgIDIxOCwgMjA1LCAyMTgsIDIxOCwgMjM5LCA1OCwgMjM5LCA2MSwgMjQ2LCAwLCAyNDUsIDE1NywgMjE1LCAyMzQsIDIsIDMyLCAKKyAgICA2NywgMjMzLCAyNSwgMjQzLCA2MywgMTQ3LCAyNDksIDg4LCAyNTIsIDExMSwgOTMsIDI0OSwgMTc0LCAyMTQsIDIzMiwgOTMsIAorICAgIDI0NywgMTY0LCA5MywgMjE0LCAxMjIsIDIxMywgMTA3LCA5MywgMjQzLCAyNDQsIDI0NiwgNzksIDkzLCAyMjEsIDExLCA3MywgCisgICAgMjIwLCAxODcsIDI0MSwgMTgyLCAyNDksIDI0MSwgMjQ1LCA3MSwgOTMsIDIxNCwgMTM3LCAyNTAsIDE0OCwgMjExLCAyNDQsIAorICAgIDI1MCwgMTQ4LCA1OSwgMjQxLCAxNzIsIDIzOCwgMzAsIDIyMCwgMTk5LCA5MywgMjI2LCAxNjcsIDI1MCwgMTYzLCAyNDcsIAorICAgIDI1LCAyNDIsIDE2OSwgNzcsIDI0NSwgMzUsIDUzLCAyNDcsIDY4LCAyNDgsIDIwMywgMjUwLCAxMzIsIDIsIDIwNiwgNDMsIAorICAgIDUzLCAyNTAsIDEzMiwgMiwgMjQ1LCAzNSwgNTMsIDI1MCwgMTMyLCAyLCAyNDIsIDE4NCwgNTMsIDI1MCwgMTMyLCAyLCAKKyAgICAyMjAsIDE2NSwgNTMsIDIyNiwgMTY3LCAyLCAyMDcsIDQsIDI0OCwgOTAsIDIsIDE2NywgMjExLCA1NywgMjMsIDIwNiwgNDMsIAorICAgIDUzLCAyMTcsIDgzLCAyMjEsIDExMywgMjQ3LCAxNDIsIDI0OSwgMTE1LCAyMjYsIDIwNywgMjQxLCAxNzcsIDI0NSwgOTIsIAorICAgIDIyMiwgMTI2LCAyNDUsIDk3LCAyNDMsIDIwOCwgMjQxLCAyMzYsIDI0MSwgMTU4LCAyMjIsIDE0MiwgMjQxLCAyMzYsIDI0MSwgCisgICAgMTU4LCAyMjIsIDM4LCAyLCAyNDcsIDI3LCAyMjIsIDM4LCAyNDIsIDYwLCAyMDksIDIwNiwgMjQ4LCAyMzcsIDIxMiwgMTI3LCAKKyAgICAyNDgsIDIzNywgMTkxLCAyMzMsIDUzLCAyNDgsIDkwLCAyLCAxNjcsIDIxMSwgNTYsIDI0OCwgOTAsIDIsIDE3MywgMjExLCAKKyAgICA1NiwgMjUwLCAxMjksIDI0OCwgODksIDI0NywgMTk4LCAyMjAsIDU0LCAyMTgsIDk1LCAyMjAsIDU0LCAyMjEsIDIzNCwgCisgICAgMjEzLCAyNDMsIDIxOCwgNDAsIDIxMSwgNDgsIDIxOCwgNDAsIDI0OSwgMTcwLCAyMTIsIDIwNSwgMjMwLCA1MSwgMjI0LCAKKyAgICAzNSwgMjI0LCAzNiwgMiwgMjQ1LCAyNTUsIDI0NywgNzcsIDI0NywgMTkyLCAyNDksIDE3MSwgMjIyLCAxNDIsIDI0OSwgCisgICAgMTcxLCAyMzksIDIyNywgMjQ5LCAxNzEsIDI0OSwgMTg3LCAyNDksIDE3MSwgMjIyLCAxMjEsIDI0OSwgMTcxLCAyNDksIAorICAgIDE2OCwgMjI1LCAyMTEsIDI1MCwgMTY2LCAyMTcsIDkxLCAyMjcsIDg1LCAyMTIsIDEwOCwgMjE5LCA0NSwgMjIyLCAzNiwgCisgICAgMjQyLCAzMywgMjI4LCAxNSwgMjE3LCAxMzAsIDI1MiwgODgsIDIyMCwgNzYsIDI1MywgMiwgMjI5LCAxMDAsIDI0OCwgNzYsIAorICAgIDIyNywgOTcsIDIyMiwgOTIsIDIxMSwgNjQsIDIzMywgNjUsIDIxMSwgNjQsIDIyMiwgNDQsIDI0MywgMTc3LCA5MywgMjMzLCAKKyAgICA2MiwgMjQzLCA4LCAyNDMsIDksIDIsIDE3MywgNTEsIDUyLCAyNDcsIDE5MiwgMjI3LCAyMzYsIDIsIDIyOSwgOTEsIDI0MSwgCisgICAgMTk2LCAyNDcsIDE5MiwgMjI3LCAyMzYsIDIsIDIxOSwgODEsIDI0MSwgMTk2LCAyMjIsIDE0MiwgMjI3LCAyMzYsIDIsIAorICAgIDIxOSwgODEsIDI0MSwgMTk2LCAyMjIsIDE0MiwgMjI3LCAyMzYsIDIsIDIyOSwgOTEsIDI0MSwgMTk2LCAyMjAsIDE3MywgCisgICAgMjIwLCAxNzQsIDIzOCwgNjksIDIyNSwgODQsIDIyNiwgMTc5LCAyMjEsIDYyLCAyMjYsIDE3OSwgMjIxLCA2MywgMiwgODYsIAorICAgIDUxLCAyNTEsIDIwMCwgMjMwLCA0NiwgMjA4LCAyMTMsIDIyNiwgMTc4LCAyMjYsIDE3OSwgMjIxLCA2MywgMjIyLCAyMDIsIAorICAgIDIyNCwgNjgsIDIyNiwgMTc5LCAyMjEsIDYxLCAyNTIsIDg5LCAyLCAyNTAsIDExOCwgMjQ4LCAyMzAsIDI0OCwgMjMxLCAyLCAKKyAgICAyNDEsIDE4OSwgMjA4LCAyMTAsIDI0OCwgMjMwLCAyMTIsIDEwNSwgMjE5LCA5NywgMjA4LCAyMDksIDI0MSwgMjMxLCAyMjAsIAorICAgIDEwOCwgMjIwLCAxNzksIDIxNCwgNiwgMjEwLCAxMTAsIDg2LCAyNTEsIDI0MSwgMjQ3LCAxOTQsIDg2LCAyMywgOTIsIDIyMiwgCisgICAgMTQyLCAyNDcsIDIzNCwgMjUxLCAyNDEsIDI0NywgMTk0LCA4NiwgMjMsIDkyLCAyMjIsIDE0MiwgMjQ3LCAyMzQsIDI1MSwgCisgICAgMjQyLCAyLCAzOSwgMTE5LCAyMjIsIDgyLCAyNDcsIDE5NCwgMTczLCAyMywgMTY3LCAyMjIsIDE0MiwgMjQ3LCAyMzQsIAorICAgIDI1MSwgMjQxLCAyNTIsIDg3LCAxNzMsIDIzLCAxNjcsIDIyMiwgMTQyLCAyNDcsIDIzNCwgMjUxLCAyNDEsIDExNCwgMjQ5LCAKKyAgICAxMTQsIDkzLCAxMjcsIDI0OSwgMTE0LCA5MywgMjE0LCAxNDIsIDIsIDI0OCwgMjIzLCA5MSwgMjE0LCAxNDEsIDIxNCwgCisgICAgMTQyLCAyLCAxMTksIDIxNCwgMTY1LCAyMDcsIDY0LCAyMTQsIDE0MiwgMiwgMTI5LCAyMTQsIDE2NSwgMjA3LCA2MywgMjUwLCAKKyAgICAxMDIsIDI0MywgNjMsIDIyMCwgMjIzLCAyMzAsIDQxLCAyMjcsIDI0OCwgMjQwLCAyOSwgMjE4LCAxNjIsIDIyNywgMjQ4LCAKKyAgICAyNDAsIDI5LCAyMjksIDE0MCwgMiwgMjMzLCAzNiwgMjIxLCAxNTAsIDI0NywgMTkyLCAyMjksIDE0MCwgMiwgMjMxLCAxNzQsIAorICAgIDIzMSwgMTc0LCAyMjksIDEzOSwgMjIyLCAxNDIsIDIyOSwgMTM5LCAyNTAsIDI4LCAyNTAsIDI5LCAyLCAyNDgsIDIyMywgCisgICAgOTEsIDI0OSwgMTY5LCAyMjksIDE5NiwgOTMsIDIxOSwgOTgsIDI0OSwgNTQsIDI1MCwgMTc3LCAyLCA5MiwgNTEsIDUyLCAKKyAgICAyNDMsIDM0LCAyLCA5MiwgNTEsIDUyLCAyMjIsIDE2NiwgMiwgMjQyLCAxNjgsIDE0MSwgMiwgNDcsIDQ4LCA1MSwgNTIsIAorICAgIDIxNCwgMTczLCAyLCA4NiwgNTEsIDUyLCAyMTEsIDEwMiwgMiwgMTY3LCA1MSwgNTIsIDIyNCwgNjgsIDExOSwgMjA5LCAKKyAgICAyMjcsIDI0MywgODYsIDkzLCAyMzEsIDE3MSwgMjEyLCA5OCwgMjMzLCAzMCwgMTYsIDMzLCA3LCA2LCAyMzAsIDQsIDIzMywgCisgICAgMzAsIDE2LCAzMywgNywgNSwgMjMwLCA0LCAyMzMsIDMwLCAxNiwgMzMsIDIyMywgMTc4LCAyMzMsIDMwLCAxNiwgMzMsIAorICAgIDIxMywgNDIsIDIzMywgMzAsIDE2LCAzMywgNywgMjMwLCA0LCAyNDEsIDIxOSwgMjQzLCA2MywgMjExLCA5NywgMjA2LCAKKyAgICAyMjAsIDIzOSwgMTE0LCAyMjMsIDE2MSwgMjMsIDI0OSwgMTc2LCAyMzgsIDE0NywgMjIwLCAyNDgsIDIyNiwgMjUwLCAyMTIsIAorICAgIDEwNiwgMjQ3LCA0MiwgMjUwLCAxNDksIDIxNSwgMTAsIDIyMCwgMjAzLCAyMTQsIDI3LCAyLCAyMjYsIDI0NywgMjQ1LCAyMywgCisgICAgMjMyLCAxODksIDE2LCAzMywgMjUwLCA0MSwgMjExLCA0NiwgMjQzLCA0NywgNjAsIDQ5LCAyNDksIDU0LCA1OSwgNDksIAorICAgIDI0OSwgNTQsIDIzMCwgODYsIDIxOSwgMzIsIDI0NywgMjMzLCAyMzAsIDg2LCAyNDksIDE4NywgMjQ3LCAyMzMsIDIzMCwgCisgICAgODYsIDIyMiwgMTIxLCAyNDUsIDE1NiwgMjMwLCA4NiwgMjQ5LCAxODcsIDI0NSwgMTU2LCA1LCAyMjIsIDEyMSwgMjQ1LCAKKyAgICAxNTYsIDUsIDI0OSwgMTg3LCAyNDUsIDE1NiwgMjA5LCAyMDUsIDIxOSwgMzIsIDIxMSwgNTEsIDI0NCwgNywgMjE5LCAzMiwgCisgICAgMjExLCA1MSwgMjA5LCAyMDUsIDUsIDIxOSwgMzIsIDIxMSwgNTEsIDI0NCwgNywgNSwgMjE5LCAzMiwgMjExLCA1MSwgMjI5LCAKKyAgICA5MiwgNDgsIDIxNSwgMjQ2LCA1OSwgMjQ3LCAyMzMsIDIwOSwgMjAzLCA0OCwgMjE1LCAyNDYsIDU5LCAyNDcsIDIzMywgMzksIAorICAgIDI0NywgNjAsIDIyMCwgMTkwLCAyNDcsIDYwLCAyMjAsIDE5MSwgMiwgMjM5LCAxMjAsIDU1LCAyNDcsIDYwLCAyMjAsIDE5MCwgCisgICAgMjI0LCAzOSwgNDcsIDIxNiwgNTUsIDIsIDEyOSwgMjQ1LCAyMSwgMjI0LCAzOSwgNDgsIDIxNiwgNTUsIDIsIDEyOSwgMjQ1LCAKKyAgICAyMSwgMTYsIDMzLCAyMjcsIDE4NiwgMjQ4LCA5NiwgNTksIDcsIDI0NywgNTksIDc3LCA3LCAyNDcsIDU5LCAyNDgsIDEzMywgCisgICAgMjQ3LCA1OSwgMjIyLCAxNzQsIDkzLCAyNDQsIDEwLCA3MywgMjIxLCAxNzIsIDI0NywgMTk2LCAyNDIsIDY4LCAxMTksIAorICAgIDIyMiwgMjE2LCAyNDcsIDE5NiwgMjQyLCA2OCwgMTE4LCAyMjIsIDIxNiwgMjQ3LCAxOTYsIDI0MiwgNjgsIDEyOSwgMjIyLCAKKyAgICAyMTYsIDI0NywgMTk2LCAyNDIsIDY4LCAyNDEsIDEyNSwgMjIyLCAyMTYsIDI0NywgMTk2LCAyNDIsIDY4LCAyNDEsIDIwNCwgCisgICAgMjIyLCAyMTYsIDI0NywgMTk2LCAyNDIsIDY4LCAyMTUsIDEwLCAyMjIsIDIxNiwgMjQ3LCAxOTYsIDI0MiwgNjgsIDIxNiwgCisgICAgMjMsIDIyMiwgMjE2LCAyNDcsIDE5NiwgMjQyLCA2OCwgMjQzLCA4OCwgMjIyLCAyMTYsIDI0NywgMTk2LCAyNDIsIDY4LCAKKyAgICAyMjQsIDE5NSwgMjIyLCAyMTYsIDI0NywgMTk2LCAyNDIsIDY4LCAyMTIsIDk5LCAyMjIsIDIxNiwgMjQ3LCAxOTYsIDI0MiwgCisgICAgNjgsIDI0MywgNTksIDIyMiwgMjE2LCAyNDcsIDE5NiwgMjQyLCA2OCwgMjEwLCAxMjcsIDIyMiwgMjE2LCAyNDcsIDE5NiwgCisgICAgMjQyLCA2OCwgMjIyLCAxNjEsIDI0NywgMTk2LCAyNDIsIDY4LCAyMTAsIDEwNiwgMjQ3LCAxOTYsIDI0MiwgNjgsIDIxMSwgCisgICAgMjM0LCAyNDcsIDE5NiwgMjQyLCA2OCwgMjQxLCAxMjEsIDI0NywgMTk2LCAyNDIsIDY4LCAyNDEsIDIwMiwgMjQ3LCAxOTYsIAorICAgIDI0MiwgNjgsIDIxNSwgNiwgMjQ3LCAxOTYsIDI0MiwgNjgsIDIxNiwgMjIsIDI0NywgMTk2LCAyNDIsIDY4LCAyNDMsIDg3LCAKKyAgICAyNDcsIDE5NiwgMjQyLCA2OCwgMjI0LCAxOTQsIDI0NywgMTk2LCAyNDIsIDY4LCAyMTIsIDk3LCAyNDcsIDE5NiwgMjQyLCAKKyAgICA2OCwgMjQzLCA1NywgMjQ3LCAxOTYsIDI0MiwgNjgsIDIxMCwgMTI1LCA0OCwgMjE0LCAxNDEsIDQ4LCAyMTQsIDE0MiwgMiwgCisgICAgMTE5LCAyMTQsIDE2NSwgMjA3LCA2NCwgNDgsIDIxNCwgMTQyLCAyLCAxMjksIDIxNCwgMTY1LCAyMDcsIDYzLCAyNDksIDgzLCAKKyAgICAyNDksIDg0LCAyLCAyMTQsIDE2NSwgMjA3LCA2MywgMjE4LCAxNDcsIDI1MCwgMjgsIDI0OSwgMTcxLCAyNDgsIDIyMSwgCisgICAgMjI3LCAyMDgsIDI0NywgMTk1LCA2MCwgMjE0LCAyNDEsIDIzLCAyNDcsIDU4LCAyMjQsIDY4LCAyMjAsIDI1NCwgMjM4LCAKKyAgICAxNDAsIDIyNywgMjIyLCAyMzMsIDY5LCAyNDksIDYxLCAyMTMsIDE2OCwgMjI5LCAyNTMsIDIxNCwgMjMwLCAyMjIsIDEyMywgCisgICAgMjE0LCAxMDgsIDI0NiwgODQsIDIxMywgMTUwLCAyMTQsIDEzMCwgMjE0LCAxMzEsIDIwNywgNDgsIDIzMiwgMTA1LCA0NywgCisgICAgMjM5LCAxMDgsIDIxMiwgMTA4LCAyMTksIDQ1LCAyMTIsIDEwOCwgMjE5LCA0NiwgMiwgMjIyLCAzNywgNDgsIDIzOSwgMTA4LCAKKyAgICAyMTIsIDEwOCwgMjE5LCA0NSwgNTksIDIxMSwgODksIDIxMiwgMTA3LCA2MCwgMjExLCA4OSwgMjEyLCAxMDcsIDIxMiwgCisgICAgMTA4LCAyMjIsIDE2NiwgMjExLCAxMDIsIDczLCAyMjYsIDE3NSwgMjQ3LCAyMTYsIDIyNiwgMTc5LCAyMjEsIDYyLCAyNTAsIAorICAgIDE3NywgNzMsIDI0MywgOCwgMjE0LCAzMiwgMjQzLCA4LCAyNDMsIDksIDIsIDIyOSwgMjIwLCAyNDEsIDE2NSwgMjQzLCA4LCAKKyAgICAyMjEsIDE1MSwgMTMxLCAyMTQsIDMyLCAyNDMsIDgsIDIyOSwgMTk1LCAyMjEsIDIzMywgNjAsIDIyMCwgNTQsIDIyOSwgOTIsIAorICAgIDQ3LCAyMjEsIDE0OSwgMjI5LCA5MiwgNDcsIDI1MCwgMTQ0LCAyMjEsIDE1MCwgMjI5LCA5MiwgNDcsIDI0MSwgMTI3LCAKKyAgICAyMjEsIDE1MCwgMjI5LCA5MiwgNDcsIDIyMiwgMzEsIDIyOSwgOTIsIDQ3LCAyNDcsIDcxLCA0NywgMjA2LCAyMTksIDIzOSwgCisgICAgMTA3LCAyMDEsIDIyMiwgMTg2LCAyMzksIDEwOCwgNTMsIDIxOSwgODEsIDIzOSwgMTA4LCAyLCAyNDEsIDIyNCwgMjE0LCAKKyAgICAxMjEsIDIxOCwgMjI0LCAyMTksIDgxLCAyMzksIDEwOCwgMiwgMjQxLCAyMjQsIDIxNCwgMTIxLCAyMTgsIDIyNCwgMjExLCAKKyAgICAyMjksIDEyMCwgNTMsIDIxOCwgMjI0LCAyMTEsIDIyOSwgMTMwLCA1MywgMjE4LCAyMjQsIDIwOCwgMjEyLCAyMzksIDEwNywgCisgICAgMjE4LCAyMjQsIDIzOSwgMTA4LCAyLCAyMjYsIDI0NywgMjQxLCAyMjgsIDI0MiwgMTU4LCAyMTksIDgxLCAyMzksIDEwOCwgCisgICAgMiwgMjIxLCAyMTEsIDI1MCwgNiwgMjI2LCAyNDcsIDIzLCAyMTgsIDE0OSwgMjQxLCAyMjMsIDU5LCAxMzAsIDIyMCwgMjAxLCAKKyAgICA0NywgMjM5LCAxMDgsIDIzMywgNTMsIDIxNSwgNzMsIDU5LCA0NywgMjIwLCAyMDEsIDIzMywgNTMsIDIxNSwgNzMsIDU5LCAKKyAgICA0OCwgMjIwLCAyMDEsIDIzMywgNTMsIDIxNSwgNzMsIDYwLCA0NywgMjIwLCAyMDEsIDIzMywgNTMsIDIxNSwgNzMsIDYwLCAKKyAgICA0OCwgMjIwLCAyMDEsIDIzMywgNTMsIDYwLCA0NywgMjIwLCAyMDEsIDI1MCwgMTc0LCAyMzMsIDUzLCA2MCwgNDgsIDIyMCwgCisgICAgMjAxLCAyNTAsIDE3NCwgMjMzLCA1MywgMjE1LCA3MywgNTksIDEyMCwgMjIwLCAyMDEsIDIzMywgNTMsIDIxNSwgNzMsIDU5LCAKKyAgICAxMzAsIDIyMCwgMjAxLCAyMzMsIDUzLCAyMTUsIDczLCA2MCwgMTIwLCAyMjAsIDIwMSwgMjMzLCA1MywgMjE1LCA3MywgNjAsIAorICAgIDEzMCwgMjIwLCAyMDEsIDIzMywgNTMsIDYwLCAxMjAsIDIyMCwgMjAxLCAyNTAsIDE3NCwgMjMzLCA1MywgNjAsIDEzMCwgCisgICAgMjIwLCAyMDEsIDI1MCwgMTc0LCAyMzMsIDUzLCAyNDUsIDIwMiwgMjQ3LCAxNDIsIDIzMSwgMTczLCAyMywgMjI2LCAxMjUsIAorICAgIDEyOSwgMjI1LCA5MCwgMjQ3LCAxNDEsIDIyMCwgMTIyLCAyMjAsIDIwOSwgMjQ4LCAyMzksIDYwLCAyMzksIDk0LCAyMTUsIAorICAgIDIwNCwgMjQxLCAxNzcsIDI0NSwgOTIsIDU5LCAyMzksIDk0LCAyMTUsIDIwNCwgMjQxLCAxNzcsIDI0NSwgOTIsIDIxNCwgCisgICAgMTg3LCAyMTUsIDIwNCwgMjQxLCAxNzcsIDI0NSwgOTIsIDIxMiwgMTY1LCAyNDgsIDE4OCwgMjA3LCAwLCAyMzEsIDE3MiwgCisgICAgMTE5LCAyNDksIDU1LCAyMjYsIDEyNSwgMTE4LCAyNDksIDU1LCAyMjYsIDEyNSwgMTI5LCAyNDksIDU1LCAyMjYsIDEyNSwgCisgICAgMjExLCA4MSwgNDQsIDIyMSwgMTEzLCAyNDcsIDE0MiwgMjM5LCA5NCwgMjQ1LCA5MiwgMjE3LCA5MywgMjIwLCAxMjMsIAorICAgIDIzNywgMTc1LCAyNDIsIDMzLCAyMzcsIDE3NSwgMjIyLCAxMjYsIDI0NSwgOTgsIDIzNywgMTc1LCAyNDUsIDQ1LCAyLCAKKyAgICAyMTIsIDYwLCAyNDUsIDQ1LCAyLCAyMTIsIDYxLCAyMywgMjIxLCA0NywgMjQ1LCA0NSwgMiwgMjIxLCA0NywgMjQxLCAxMTMsIAorICAgIDIsIDIyMSwgNDcsIDI0MSwgMTEzLCAyLCAyMTEsIDE3OCwgMjQxLCAxMTMsIDIsIDI1MiwgMTIzLCAyMDYsIDE5NSwgNjAsIAorICAgIDI0MSwgMTU4LCAyNDEsIDE1OCwgMjIyLCAxNDIsIDI0MSwgMTU4LCAxOTEsIDIzMywgNTQsIDI0NSwgNzgsIDE5MSwgMjQxLCAKKyAgICAyMzYsIDI0OSwgMTQwLCAyNDEsIDIzNiwgMjQ4LCAyNTIsIDI0MywgNDMsIDIyNCwgMzcsIDI0MywgNDMsIDIyNCwgMzgsIAorICAgIDIyMiwgMzcsIDI0MywgNDMsIDIyNCwgMzgsIDIyMiwgNDIsIDIyNCwgMzcsIDIyNCwgMzgsIDIyMiwgMzcsIDIyNCwgMzgsIAorICAgIDIyMiwgNDIsIDI0MywgNDMsIDI0NSwgNDQsIDI0MywgNDMsIDIyMiwgMzcsIDI0MywgNDMsIDIyMiwgMzUsIDI0NSwgNDQsIAorICAgIDIyMiwgMzcsIDIyMiwgMzUsIDIwNywgNzQsIDIxNCwgMTI4LCAyMjQsIDM4LCAyMjIsIDQyLCAyMTQsIDEyOCwgMjQ4LCAKKyAgICAyMzgsIDIyMiwgNDIsIDI0NSwgMjAyLCAyMDcsIDgsIDIyNiwgMjA0LCAyMjcsIDE2MywgMjIyLCA4NCwgMjQ3LCAxOTQsIAorICAgIDQ4LCAyMywgNDcsIDIxNiwgNTUsIDI1MSwgMjQxLCAyNDgsIDIyMywgMjA2LCAxOTUsIDIzMywgNjAsIDI0MSwgMTUyLCAKKyAgICAyMTQsIDI1MCwgOTMsIDI0NSwgMjU0LCAyNDEsIDE1MiwgMjE0LCAyNTAsIDkzLCAyNDcsIDE0MywgNDQsIDIzMSwgMTc0LCAKKyAgICAyMTgsIDExMiwgMjI1LCA4NCwgMjIyLCAzOCwgMiwgMzksIDIxMiwgNjAsIDIxMywgMjU1LCAyNDgsIDg5LCAyNDYsIDEyOSwgCisgICAgMjMxLCA1OCwgMjI5LCAxOTIsIDIxNCwgMTQwLCAyMzksIDY5LCAyMzMsIDY5LCAyMTUsIDU1LCAxMjksIDIxOSwgNTYsIDUyLCAKKyAgICAxMjksIDIxOSwgNTYsIDU1LCAxMjksIDIxOSwgNTYsIDIzMCwgNDYsIDEyOSwgMjE5LCA1NiwgMjE4LCAxNjcsIDQ3LCAyMTQsIAorICAgIDEzNywgMjQ5LCAxMDAsIDQ4LCAyMTQsIDEzNywgMjQ5LCAxMDAsIDExOCwgMjE0LCAxMzcsIDI0OSwgOTksIDEyOSwgMjE0LCAKKyAgICAxMzcsIDI0OSwgOTksIDQ3LCAyMTEsIDI0NCwgMjQ5LCAxMDAsIDQ4LCAyMTEsIDI0NCwgMjQ5LCAxMDAsIDQ3LCAyNTIsIAorICAgIDExMSwgMjQ5LCAxMDAsIDQ4LCAyNTIsIDExMSwgMjQ5LCAxMDAsIDIyNiwgMTQ5LCAyNDksIDEwMCwgMjI5LCAyMjEsIDIyNiwgCisgICAgMTQ5LCAyNDksIDEwMCwgMjI5LCAyMjEsIDIyNiwgMTQ4LCAyNTAsIDE0NiwgOTYsIDIsIDI1MCwgMTQ1LCAyNTAsIDE0NiwgCisgICAgMTIxLCAyMDYsIDE5NSwgMjUwLCAxNDYsIDk2LCAyLCAxMjEsIDIwNiwgMTk1LCAyNTAsIDE0NiwgMjQsIDEyMSwgMjA2LCAKKyAgICAxOTUsIDI1MCwgMTQ2LCA5NiwgMiwgMjQsIDEyMSwgMjA2LCAxOTUsIDE0NywgMjQ4LCA4MSwgODMsIDI1MCwgMTQ2LCA5NiwgCisgICAgMiwgMjQsIDI0OCwgODAsIDIwNiwgMjI3LCAyMjcsIDIwNSwgMjI2LCAxMzAsIDI0MSwgODMsIDIxMSwgMTI0LCAyMTEsIDg2LCAKKyAgICAyMTQsIDE4LCA3MywgMjI5LCAyMzMsIDIxNSwgNTYsIDczLCAyMzIsIDE5MCwgMjI2LCAxMTksIDIzOSwgMjI0LCAyNDIsIAorICAgIDY3LCAyMzksIDIyNCwgMjQyLCA2OCwgMiwgMjE0LCAyMTAsIDI0MiwgMTQ4LCAyNDIsIDY4LCAyLCAyMTIsIDEyMywgNzMsIAorICAgIDIzMiwgMTA3LCAyMTQsIDIxMCwgMjQyLCA2OCwgMiwgMjIyLCAxNDIsIDIyNiwgMTIzLCAyMTQsIDIxMCwgMjQyLCA2OCwgMiwgCisgICAgMjIyLCAxNDIsIDIyNiwgMTI0LCAyMywgMjE0LCAyMTAsIDI0MiwgMTQ4LCAyMTQsIDIxMCwgMjQyLCA2OCwgMiwgMjIyLCAKKyAgICAxNDIsIDIyNiwgMTI0LCAyMywgMjQ3LCAxNjYsIDIxMywgMTA2LCAyMTQsIDIxMCwgMjQyLCA2OCwgMiwgMjIyLCAxNDIsIAorICAgIDIyNiwgMTI0LCAyMywgMjExLCAxOTYsIDI0MiwgMTQ4LCAyMTQsIDIxMCwgMjQyLCA2OCwgMiwgMjM5LCAxMTksIDIxNCwgCisgICAgMjEwLCAyNDIsIDY4LCAyLCAyMzgsIDY4LCAyMDcsIDIsIDI0MiwgNjcsIDIxNCwgMjEwLCAyNDIsIDY4LCAyLCAyMTQsIAorICAgIDIxMCwgMjQyLCAxNDgsIDI0MiwgNjgsIDIxNywgMTIyLCAyNDUsIDIzNSwgMjQxLCAxNTAsIDIxOSwgOCwgMjQyLCA2NywgCisgICAgMjE0LCAyMTAsIDI0MiwgNjgsIDIsIDIzOSwgNTksIDI0MiwgMTQ4LCAyMTQsIDIxMCwgMjQyLCA2OCwgMiwgMjEzLCAxNTAsIAorICAgIDIxNCwgMjA5LCAyNDIsIDY3LCAyMjUsIDg4LCAyNDIsIDY3LCAyNDIsIDE2MCwgMjQyLCA2NywgMjA5LCAyMzIsIDI0MiwgCisgICAgNjcsIDI0MiwgNjgsIDIsIDI0NywgMTY2LCAyMTMsIDEwNiwgMjIxLCAxNDIsIDI0MiwgNjcsIDI0NywgMTM0LCAyNDIsIDY3LCAKKyAgICAyNDcsIDEzNSwgMjQyLCA2NywgMjMxLCA5MCwgMjQyLCA2NywgMjQyLCA2OCwgMjExLCAyMzEsIDMyLCAyMzEsIDkxLCAyMzEsIAorICAgIDkwLCAyNDIsIDY4LCAyLCAyMTQsIDIxMCwgMjQyLCAxNDgsIDIzMSwgOTAsIDI0MiwgNjgsIDIsIDI0NywgMTkyLCAyNDIsIAorICAgIDE0OCwgMjQyLCA2OCwgMiwgMjEzLCAyMDksIDIxMSwgMTA3LCAyNDIsIDY4LCAyLCAyMTMsIDIwOSwgMjExLCAxMDgsIDIzLCAKKyAgICAyMDcsIDIsIDI0MiwgMTUwLCAyNDIsIDY4LCAyLCAyMTMsIDIwOSwgMjExLCAxMDgsIDIzLCAyMTEsIDE5NiwgMjQyLCAxNDgsIAorICAgIDI0NSwgOTksIDI0MiwgNjcsIDIwNiwgMjI2LCAyNDIsIDY3LCAyNTIsIDEwNywgMjQyLCA2NywgMjIwLCAxNjQsIDI0MiwgCisgICAgNjcsIDI0NywgNDQsIDI0MiwgNjcsIDIyMSwgMTE3LCAyNDIsIDY3LCAyNDIsIDY4LCAyLCAyMjksIDExNCwgNzMsIDIxMSwgCisgICAgMjksIDI0NSwgOTksIDI0OSwgNTcsIDIxOSwgOCwgMjQyLCA2NywgMjQxLCA5NCwgMjQyLCA2OCwgMiwgMjIyLCAxNDIsIAorICAgIDIyNiwgMTIzLCAyNTIsIDEwNSwgMjQyLCA2NywgMjQyLCAyNiwgMjQyLCA2NywgMjA3LCA0OSwgMjQyLCA2NywgMjE0LCAKKyAgICAyMzEsIDI0MiwgNjcsIDIxMSwgMTYxLCAyNDIsIDY3LCAyMzksIDIyNSwgMjQyLCA2NywgMjI5LCAxMDEsIDI0NywgNDQsIAorICAgIDI0MiwgNjcsIDI0MiwgNjgsIDIsIDIyMiwgMTQyLCAyMjYsIDEyMywgMjM4LCAyMCwgMjQyLCA2NywgMjQyLCA2OCwgMiwgCisgICAgMjIyLCAxNDIsIDIyNiwgMTI0LCAyMywgMjQ3LCAxNjYsIDIxMywgMTA2LCAyNDIsIDY4LCAyMTcsIDk1LCAyMzMsIDY5LCAKKyAgICAyNDIsIDI3LCAyNTEsIDIwNiwgMjQyLCA2NywgMjQxLCAxNjksIDI0MiwgNjcsIDIxNCwgMjMyLCAyNDIsIDY3LCAyNDUsIAorICAgIDcxLCAyNDIsIDY3LCAyNDIsIDY4LCAyMDYsIDI1MywgMjI2LCAxMjMsIDI0MiwgNjgsIDIsIDIyNywgMTExLCAyMjcsIDE3NSwgCisgICAgMjM5LCAyMjQsIDI0OCwgMTg0LCAyNDIsIDY4LCAyLCAyMTQsIDIxMCwgMjQyLCAxNDgsIDI0OCwgMTg0LCAyNDIsIDY4LCAyLCAKKyAgICAyMTIsIDEyMywgNzMsIDIzMiwgMTA3LCAyMTQsIDIxMCwgMjQ4LCAxODQsIDI0MiwgNjgsIDIsIDIyMiwgMTQyLCAyMjYsIAorICAgIDEyMywgMjE0LCAyMTAsIDI0OCwgMTg0LCAyNDIsIDY4LCAyLCAyMzksIDU5LCAyNDIsIDE0OCwgMjQ4LCAxODQsIDI0MiwgCisgICAgNjgsIDIsIDIwNiwgMjE3LCAyMTQsIDIxMSwgMjMxLCA5MCwgMjQ4LCAxODQsIDI0MiwgNjgsIDIsIDI0NywgMTkyLCAyNDIsIAorICAgIDE0OCwgMjIwLCAxNjQsIDI0OCwgMTg0LCAyNDIsIDY3LCAyNDcsIDQ0LCAyNDgsIDE4NCwgMjQyLCA2NywgMjA3LCA0OSwgCisgICAgMjQ4LCAxODQsIDI0MiwgNjcsIDIxNCwgMjI1LCAyNDEsIDk0LCAyNDIsIDY3LCAyMTQsIDIyNSwgMjE0LCAyMTAsIDI0MiwgCisgICAgNjcsIDI0MiwgNjgsIDIsIDIyNCwgNjgsIDI0MCwgNywgMjQwLCAxNDAsIDI0MiwgNjgsIDIsIDIyMiwgMTg2LCAyNDAsIAorICAgIDE0MCwgMjIxLCAxMTUsIDI0OSwgMTQ1LCAyNDUsIDI0OSwgMjE3LCA3MywgMjI2LCAxNjMsIDIzOSwgNjIsIDIyNiwgMTYzLCAKKyAgICAyMTQsIDE0MywgMjI2LCAxNjMsIDIzOSwgOTYsIDIyMSwgMTE1LCAyMTksIDgwLCAxMTksIDIzOSwgMTA3LCAyMjEsIDExNSwgCisgICAgMjE5LCA4MCwgMjQ5LCAxNTcsIDIzOSwgMTAzLCAyMzMsIDY5LCAyNDgsIDEzNSwgMjIxLCAxMTUsIDI0MSwgOTMsIDIyMSwgCisgICAgMTE1LCAyLCAyMjAsIDE2NCwgMjQyLCA2NywgMjIxLCAxMTUsIDIsIDI0MSwgMTU5LCAyMzksIDEwMiwgMTQzLCAyMDcsIDM2LCAKKyAgICAyMjAsIDIwMSwgMjMwLCA1MywgMTg4LCAyMDcsIDM2LCAyMjAsIDIwMSwgMjMwLCA1MywgMTQzLCAyNDMsIDExNywgMjIwLCAKKyAgICAyMDEsIDIzMCwgNTMsIDE4OCwgMjQzLCAxMTcsIDIyMCwgMjAxLCAyMzAsIDUzLCAyMDEsIDE0MywgMjA3LCAzNiwgMjIwLCAKKyAgICAyMDEsIDIzMCwgNTMsIDIwMSwgMTg4LCAyMDcsIDM2LCAyMjAsIDIwMSwgMjMwLCA1MywgMjAxLCAxNDMsIDI0MywgMTE3LCAKKyAgICAyMjAsIDIwMSwgMjMwLCA1MywgMjAxLCAxODgsIDI0MywgMTE3LCAyMjAsIDIwMSwgMjMwLCA1MywgMTQzLCAyMDcsIDM2LCAKKyAgICAyMjAsIDIwMSwgMjA4LCAxOTYsIDIzMCwgNTMsIDE4OCwgMjA3LCAzNiwgMjIwLCAyMDEsIDIwOCwgMTk2LCAyMzAsIDUzLCAKKyAgICAxNDMsIDI0MywgMTE3LCAyMjAsIDIwMSwgMjA4LCAxOTYsIDIzMCwgNTMsIDE4OCwgMjQzLCAxMTcsIDIyMCwgMjAxLCAyMDgsIAorICAgIDE5NiwgMjMwLCA1MywgNzcsIDE0MywgMjA3LCAzNiwgMjIwLCAyMDEsIDIwOCwgMTk2LCAyMzAsIDUzLCA3NywgMTg4LCAKKyAgICAyMDcsIDM2LCAyMjAsIDIwMSwgMjA4LCAxOTYsIDIzMCwgNTMsIDc3LCAxNDMsIDI0MywgMTE3LCAyMjAsIDIwMSwgMjA4LCAKKyAgICAxOTYsIDIzMCwgNTMsIDc3LCAxODgsIDI0MywgMTE3LCAyMjAsIDIwMSwgMjA4LCAxOTYsIDIzMCwgNTMsIDE0MywgMjA3LCAKKyAgICAzNiwgMjIwLCAyMDEsIDI0OSwgOTcsIDE4OCwgMjA3LCAzNiwgMjIwLCAyMDEsIDI0OSwgOTcsIDE0MywgMjQzLCAxMTcsIAorICAgIDIyMCwgMjAxLCAyNDksIDk3LCAxODgsIDI0MywgMTE3LCAyMjAsIDIwMSwgMjQ5LCA5NywgNzcsIDE0MywgMjA3LCAzNiwgCisgICAgMjIwLCAyMDEsIDI0OSwgOTcsIDc3LCAxODgsIDIwNywgMzYsIDIyMCwgMjAxLCAyNDksIDk3LCA3NywgMTQzLCAyNDMsIAorICAgIDExNywgMjIwLCAyMDEsIDI0OSwgOTcsIDc3LCAxODgsIDI0MywgMTE3LCAyMjAsIDIwMSwgMjQ5LCA5NywgMjM4LCAxMzksIAorICAgIDIxOSwgMTg5LCA0OSwgMjIyLCAxMTEsIDIzOCwgMTM5LCAyMTksIDE4OSwgNDksIDIyMiwgMTEyLCAyMzMsIDY5LCA2MCwgCisgICAgMjE0LCAxMDcsIDIxNCwgMTgyLCAyMTksIDE4OSwgNDksIDIyMiwgMTExLCAyMTQsIDE4MiwgMjE5LCAxODksIDQ5LCAyMjIsIAorICAgIDExMiwgMjMzLCA2OSwgNjAsIDIxNCwgMTA3LCA5MiwgMjE4LCAxMTYsIDE2NywgMjE4LCAxMTYsIDg2LCAyMTgsIDExNiwgCisgICAgMTczLCAyMTgsIDExNiwgMTIxLCAyOCwgMjQyLCAyMDQsIDIyMiwgMTExLCA3NywgMTIxLCAyOCwgMjQyLCAyMDQsIDIyMiwgCisgICAgMTExLCAyOCwgMjIyLCAxNDIsIDI0MiwgMjA0LCAyMjIsIDExMSwgNzcsIDI4LCAyMjIsIDE0MiwgMjQyLCAyMDQsIDIyMiwgCisgICAgMTExLCA3NywgMjUyLCAxMjYsIDIyMiwgMTExLCAyMTMsIDEwOSwgMjUyLCAxMjYsIDIyMiwgMTExLCAzOCwgNzcsIDUwLCAKKyAgICAyMDEsIDI0NywgMTU2LCAyMTksIDE4MCwgMTQxLCAyMjIsIDExMSwgMzgsIDc3LCA1MCwgMjQ3LCAxNTYsIDIxOSwgMTgwLCAKKyAgICAxNDEsIDIyMiwgMTExLCAzOCwgNzcsIDExNCwgNTAsIDI0NywgMTU2LCAyMTksIDE4MCwgMTQxLCAyMjIsIDExMSwgNzcsIAorICAgIDIzMywgMTEsIDIyMiwgMTExLCAzOCwgMjMzLCAxMSwgMjIyLCAxMTEsIDc3LCAzOCwgMjMzLCAxMSwgMjIyLCAxMTEsIDIwOCwgCisgICAgMjI2LCA3NywgMjE0LCAxODAsIDIwOCwgMjI2LCA3NywgMjE4LCAyMjUsIDIxNCwgMTgwLCAyNDgsIDc5LCAyNDksIDE4MSwgCisgICAgMjE4LCAyMjUsIDI0OCwgNzksIDI0OSwgMTgxLCAyMTgsIDExNiwgMjM5LCA0NiwgMjE0LCAxMywgMjI5LCAxMzcsIDIxOSwgCisgICAgODYsIDI0OCwgMjA0LCAyMzgsIDI0OCwgMjExLCA3NCwgMjM4LCAyNDgsIDIxMSwgNzUsIDIsIDI0OSwgODYsIDIyNCwgNDQsIAorICAgIDIxMSwgNzQsIDIyNywgNTYsIDE0NywgMjE5LCA4NywgMjE0LCAxOSwgMjExLCA3MiwgMjExLCA3MywgMjQ4LCAyMDQsIDI0OSwgCisgICAgNjIsIDIyMiwgMTYzLCAyNDksIDYyLCAyMTEsIDI2LCAyNDksIDYzLCAyMTMsIDI1MSwgMjI2LCAyMDgsIDI1MiwgMTMwLCAKKyAgICAyNDEsIDIyMCwgMjQzLCAyNywgMjIwLCAxOTMsIDI0OCwgMjA0LCAyMjIsIDE2MywgMjIwLCAxOTMsIDI0OCwgMjA0LCAyMTIsIAorICAgIDE0MSwgMjIyLCAxNjMsIDIxMiwgMTQxLCAyNTEsIDE3MiwgMjIyLCAxNjMsIDI1MSwgMTcyLCAyMTksIDM5LCAyMDksIDMxLCAKKyAgICAyNDUsIDIzMSwgMjExLCAxNywgMjUxLCAyMzYsIDIyOSwgMTA1LCAyMTEsIDgwLCAyMjYsIDE1NywgMjI2LCAxMjksIDIxOSwgCisgICAgODUsIDIxMywgMTIyLCAyMTksIDg1LCAyMjYsIDEyOSwgMjQ4LCAyNTEsIDI1MiwgMjM0LCAyMTEsIDcxLCAyMTUsIDE2NywgCisgICAgMjE4LCA5MiwgMjE0LCAxMzUsIDE5NCwgMjExLCA3OCwgMjI5LCAyMjMsIDc5LCAyMTEsIDc4LCAyMjksIDIyMywgMjQ3LCAKKyAgICAxMjMsIDUzLCAyMjAsIDE5MywgMjQ4LCAxOTAsIDIxOCwgMjE4LCAyMjksIDIyMywgMjExLCA0OCwgMjQxLCAxOTcsIDIyMiwgCisgICAgMTY2LCAyMjAsIDE3NSwgMjQ1LCAyNiwgMjI0LCA2OCwgMjQzLCAxNCwgNTMsIDIxNCwgMjA4LCA5MywgMjI0LCA2OCwgMjE0LCAKKyAgICAyMDgsIDkzLCAyMjAsIDUzLCAyMjksIDE4MSwgMjMzLCA2OSwgMjMyLCAyMTcsIDIyMCwgMjM5LCA5MywgMjQ1LCA1MiwgCisgICAgMjI0LCA0MywgMjI5LCAxODEsIDkzLCAyMjAsIDE2OSwgMjA3LCA3MCwgOTMsIDIyNCwgNTgsIDIwNywgNzAsIDkzLCAyNDksIAorICAgIDI0MCwgMjI0LCA2OCwgMjQ5LCAyMzksIDI0OSwgMjM4LCAyMjYsIDEyOSwgMjQ5LCAyMzgsIDIyMSwgMTY2LCAyMjQsIDY4LCAKKyAgICAyMjEsIDE2NSwgMjQ4LCA0OCwgMjQ3LCA1MywgMjI3LCA4MCwgOTMsIDIwNiwgMjQxLCA5MywgMjE4LCAyMzQsIDI1MCwgCisgICAgMTc5LCA5MywgMjExLCAxMjUsIDIwNywgNzAsIDI0NywgMTg5LCAyMTUsIDEyNiwgMjUwLCAxMDUsIDI1MCwgMTAzLCAyMjEsIAorICAgIDE5NywgMjQ3LCAxMDgsIDI0NywgMTIsIDI1MCwgMTYwLCAyNDcsIDIxNywgNDcsIDIyOSwgNzEsIDIxMSwgNTIsIDIsIDIxOCwgCisgICAgOTMsIDI0NywgOTAsIDIyMCwgMTExLCA1MywgMzksIDIzMywgNDMsIDIxNCwgMTYzLCAyNDksIDEzOCwgOTMsIDI0MCwgMzksIAorICAgIDkzLCAyNDcsIDgzLCAyMywgMjMwLCA5NiwgMjE0LCAyMzIsIDI1MywgMTgsIDIxNSwgMTQ3LCAyNTAsIDE1OSwgMjUwLCAyNywgCisgICAgMjUwLCAyOCwgMjUwLCA1MSwgMjM5LCAxMTUsIDIzLCAyMDYsIDIyMCwgMjE1LCAxODAsIDIyMiwgMTkwLCAyNDMsIDI0MSwgCisgICAgMjI2LCAxMzMsIDIxOSwgODYsIDIxMSwgODIsIDIyNiwgMTM1LCAyNDksIDE4MCwgMjA5LCAyMDUsIDIyNiwgMjE4LCAyNTIsIAorICAgIDE5NCwgMjA5LCAyMDUsIDI1MiwgMTk0LCAyMDksIDIwNSwgNSwgMjUyLCAxOTQsIDUsIDI1MiwgMTk0LCAyMjQsIDQ3LCAKKyAgICAyNTIsIDE5NCwgMjUyLCAxOTUsIDI0NSwgMjE1LCAyNTIsIDE5NSwgMjUxLCAyNDYsIDIxNywgMTI5LCAyMjIsIDE2MywgCisgICAgMjQxLCAyMjAsIDI0MywgMjcsIDI0NSwgMTQ2LCAyMjksIDEzNywgMjIxLCAyMDAsIDIxNSwgMTY3LCAxMjUsIDE2LCAzMywgCisgICAgMjE5LCAxODUsIDEyNSwgMTYsIDMzLCAyNTIsIDE5NiwgMTI1LCAxNiwgMzMsIDI0MSwgMjE5LCAxMjUsIDE2LCAzMywgMjQzLCAKKyAgICAxMjAsIDEyNSwgMTYsIDMzLCAyMDcsIDY5LCAxMjUsIDE2LCAzMywgMjUyLCAzOSwgMTI1LCAxNiwgMzMsIDI1MiwgNDAsIAorICAgIDIxOSwgMjYsIDEyNSwgMTYsIDMzLCAyNTIsIDQwLCAyMTksIDI1LCAxMjUsIDE2LCAzMywgMjUyLCA0MCwgMjA4LCAxNzksIAorICAgIDEyNSwgMTYsIDMzLCAyNTIsIDQwLCAyMDgsIDE3OCwgMTI1LCAxNiwgMzMsIDIwOCwgMTkzLCAxMjUsIDE2LCAzMywgMjA4LCAKKyAgICAxOTIsIDEyNSwgMTYsIDMzLCAyMDgsIDE5MSwgMTI1LCAxNiwgMzMsIDIxMywgMTYxLCAxMjUsIDE2LCAzMywgMjIxLCA3MCwgCisgICAgMjEzLCAxNjEsIDEyNSwgMTYsIDMzLCA2MCwgMjEzLCAxNjEsIDEyNSwgMTYsIDMzLCAyMjcsIDc5LCAyMTMsIDE4OSwgMTI1LCAKKyAgICAxNiwgMzMsIDIyNywgNzksIDIxMywgMTg4LCAxMjUsIDE2LCAzMywgMjI3LCA3OSwgMjEzLCAxODcsIDEyNSwgMTYsIDMzLCAKKyAgICAyNDcsIDIzNiwgMTI1LCAxNiwgMzMsIDIxNywgMTY1LCAxMjUsIDE2LCAzMywgMjI0LCAxODMsIDEyNSwgMTYsIDMzLCAyMDgsIAorICAgIDE3NywgMTI1LCAxNiwgMzMsIDIwOCwgMTc2LCAxMjUsIDE2LCAzMywgMjE4LCAxMTcsIDIxNywgMTY1LCAxMjUsIDE2LCAzMywgCisgICAgMjE4LCAxMTcsIDIxNywgMTY0LCAxMjUsIDE2LCAzMywgMjQwLCAxMSwgMTI1LCAxNiwgMzMsIDIxNSwgNTIsIDEyNSwgMTYsIAorICAgIDMzLCAyMzIsIDI0MCwgMjIyLCAxMTcsIDEyNSwgMTYsIDMzLCAyMzIsIDI0MCwgMjIyLCAxMTYsIDEyNSwgMTYsIDMzLCAKKyAgICAyNDcsIDYzLCA3MywgMjMyLCAyMzksIDEyNSwgMTYsIDMzLCAyMTksIDIyLCA3MywgMjMyLCAyMzksIDEyNSwgMTYsIDMzLCAKKyAgICAyNDcsIDk5LCAyMjIsIDExNywgMTI1LCAxNiwgMzMsIDIzMiwgMjM4LCAyMjIsIDExNywgMTI1LCAxNiwgMzMsIDIxMywgCisgICAgMTkwLCA3MywgMjQ3LCA5OCwgMTI1LCAxNiwgMzMsIDI0NywgNjMsIDczLCAyNDcsIDk4LCAxMjUsIDE2LCAzMywgMjQ3LCAKKyAgICA2MywgNzMsIDI0NywgOTcsIDEyNSwgMTYsIDMzLCAyNDcsIDk5LCAyNTIsIDgxLCAxMjUsIDE2LCAzMywgMjE3LCAxNjYsIAorICAgIDczLCAyNDcsIDk5LCAyNTIsIDgxLCAxMjUsIDE2LCAzMywgMjEzLCAxOTAsIDczLCAyMTcsIDE2NiwgNzMsIDI0NywgOTgsIAorICAgIDEyNSwgMTYsIDMzLCAyMDksIDI2LCAxMjUsIDE2LCAzMywgMjExLCAxNzQsIDIyMiwgMTE3LCAxMjUsIDE2LCAzMywgMjMwLCAKKyAgICA1NywgMjIyLCAxMTcsIDEyNSwgMTYsIDMzLCAyNTIsIDgwLCAyMjIsIDExNywgMTI1LCAxNiwgMzMsIDIxMywgMTkwLCA3MywgCisgICAgMjUyLCA3OSwgMTI1LCAxNiwgMzMsIDIxNywgMTY2LCA3MywgMjUyLCA3OSwgMTI1LCAxNiwgMzMsIDIxMywgMTkwLCA3MywgCisgICAgMjE3LCAxNjYsIDczLCAyNTIsIDc5LCAxMjUsIDE2LCAzMywgMjA4LCAxOTQsIDczLCAyNTIsIDc5LCAxMjUsIDE2LCAzMywgCisgICAgMjE5LCAyMiwgNzMsIDI1MiwgNzksIDEyNSwgMTYsIDMzLCAyMTksIDIyLCA3MywgMjUyLCA3OCwgMTI1LCAxNiwgMzMsIAorICAgIDIxOSwgMjEsIDEyNSwgMTYsIDMzLCAyMTksIDIwLCAxMjUsIDE2LCAzMywgMjE5LCAxOSwgMTI1LCAxNiwgMzMsIDIxOSwgCisgICAgMTgsIDEyNSwgMTYsIDMzLCAyNTIsIDE1OSwgMTI1LCAxNiwgMzMsIDI1MiwgMTU4LCAxMjUsIDE2LCAzMywgMjI3LCAxOTYsIAorICAgIDEyNSwgMTYsIDMzLCAyMTcsIDE3MSwgMTI1LCAxNiwgMzMsIDI1MSwgMjQwLCAxMjUsIDE2LCAzMywgMjE5LCA0OCwgMTI1LCAKKyAgICAxNiwgMzMsIDIxOSwgNDcsIDEyNSwgMTYsIDMzLCAyNTEsIDE3NSwgMTI1LCAxNiwgMzMsIDI0OSwgMjEwLCAyMjIsIDExNywgCisgICAgMTI1LCAxNiwgMzMsIDIxMiwgMTYwLCAxMjUsIDE2LCAzMywgMjEyLCAxNTksIDEyNSwgMTYsIDMzLCAyMTksIDE5MSwgMjI5LCAKKyAgICAyMTQsIDEyNSwgMTYsIDMzLCAyNDksIDE2MiwgMTI1LCAxNiwgMzMsIDI0OSwgMTYxLCAxMjUsIDE2LCAzMywgMjQ5LCAxNjAsIAorICAgIDEyNSwgMTYsIDMzLCAyNTIsIDEzOCwgMTI1LCAxNiwgMzMsIDIyMiwgMTg5LCAxMjUsIDE2LCAzMywgMjE0LCAxMjQsIDEyNSwgCisgICAgMTYsIDMzLCAyMTEsIDE3MiwgMTI1LCAxNiwgMzMsIDIzOSwgMTk0LCAxMjUsIDE2LCAzMywgMjA3LCA1NywgMTI1LCAxNiwgCisgICAgMzMsIDIyMCwgMTYzLCAxMjUsIDE2LCAzMywgMjQ4LCAyMzUsIDEyNSwgMTYsIDMzLCAyMTAsIDEzNiwgMTI1LCAxNiwgMzMsIAorICAgIDI0OCwgMjA2LCAyMjYsIDEzOCwgMTI1LCAxNiwgMzMsIDIxNywgMTA3LCA3MywgMjMyLCAxMDksIDEyNSwgMTYsIDMzLCAKKyAgICAyNDgsIDI0OCwgMTI1LCAxNiwgMzMsIDIxMSwgNDUsIDEyNSwgMTYsIDMzLCAyMTQsIDI0LCAyMTEsIDQ1LCAxMjUsIDE2LCAKKyAgICAzMywgMjI5LCAxMzYsIDEyNSwgMTYsIDMzLCAyMTQsIDE5MSwgMTI1LCAxNiwgMzMsIDIwOSwgMTg2LCAxMjUsIDE2LCAzMywgCisgICAgMjM4LCA2NiwgMjQzLCAyMjMsIDEyNSwgMTYsIDMzLCAyNTEsIDIyMCwgMTI1LCAxNiwgMzMsIDIyMCwgMTcxLCAyNTEsIAorICAgIDIyMCwgMTI1LCAxNiwgMzMsIDI0OSwgMTE4LCAxMjUsIDE2LCAzMywgMjIwLCAxNjIsIDI0OSwgMTE4LCAxMjUsIDE2LCAzMywgCisgICAgMjUyLCAxMzUsIDEyNSwgMTYsIDMzLCAyMTMsIDIzOSwgMjEzLCAxNDIsIDIxMywgMjM4LCAxMjUsIDE2LCAzMywgMjEzLCAKKyAgICAyMzksIDIxMywgMTQyLCAyMTMsIDIzNywgMTI1LCAxNiwgMzMsIDIxMywgMTg2LCAxMjUsIDE2LCAzMywgMjIwLCAxMzcsIAorICAgIDEyNSwgMTYsIDMzLCAyNDUsIDg4LCAxMjUsIDE2LCAzMywgMjQ1LCA5MCwgMTI1LCAxNiwgMzMsIDI0NSwgODksIDEyNSwgCisgICAgMTYsIDMzLCAyMjAsIDYyLCAxMjUsIDE2LCAzMywgMjIwLCA1MSwgMTI1LCAxNiwgMzMsIDI0NywgNTEsIDEyNSwgMTYsIDMzLCAKKyAgICAyNDcsIDUwLCAxMjUsIDE2LCAzMywgMjQ3LCA0OSwgMTI1LCAxNiwgMzMsIDI0NywgNDgsIDEyNSwgMTYsIDMzLCAyNDcsIAorICAgIDQ3LCAxMjUsIDE2LCAzMywgMjUyLCAxNzEsIDEyNSwgMTYsIDMzLCAyNTAsIDEwNiwgNzMsIDIyNywgMTgwLCAxMjUsIDE2LCAKKyAgICAzMywgMjUwLCAxMDYsIDczLCAyMDksIDU4LCAxMjUsIDE2LCAzMywgMjE4LCAyMzIsIDEyNSwgMTYsIDMzLCAyMzgsIDU4LCAKKyAgICAxMjUsIDE2LCAzMywgMjI0LCAyMDksIDEyNSwgMTYsIDMzLCAyNDYsIDY2LCAxMjUsIDE2LCAzMywgMjI2LCAxNTIsIDEyNSwgCisgICAgMTYsIDMzLCAxNjAsIDI0MywgMjUzLCAxMjUsIDE2LCAzMywgMTYwLCAyMjIsIDk1LCA2MCwgMjMwLCA0MSwgMjMyLCAyMjMsIAorICAgIDQ4LCAyMTEsIDUxLCA2MCwgMjA5LCAyMDUsIDIzMiwgMjIzLCA0OCwgMjExLCA1MSwgNjAsIDIxOCwgMTYyLCAyMzIsIDIyMywgCisgICAgNDgsIDIxMSwgNTEsIDYwLCAyNDQsIDcsIDIzMiwgMjIzLCA0OCwgMjExLCA1MSwgNjAsIDIxNCwgMjI1LCA1LCAyNDcsIAorICAgIDIzMywgMjI3LCAxMDksIDI0LCA1OSwgMjQ3LCAyMzMsIDI0LCA1OSwgMjQ3LCAyMzMsIDc3LCA1OSwgMjQ3LCAyMzMsIDIwOCwgCisgICAgMjI2LCA3NywgNTksIDI0NywgMjMzLCAyNDIsIDE1MywgNzcsIDU5LCAyNDcsIDIzMywgNTksIDI0NywgMjM0LCAyNDcsIAorICAgIDExOSwgNjAsIDUsIDI0NywgMjMzLCAyMTgsIDk1LCAyMTIsIDE2MSwgNjAsIDIxMSwgMTY5LCAyMTQsIDEwNywgNjAsIDIxNCwgCisgICAgMjI1LCA1LCAyMTQsIDEwNywgMTQ3LCA1OSwgMjE0LCAxMDcsIDIyNywgMTA5LCA1OSwgMjE0LCAxMDcsIDI0LCA1OSwgMjE0LCAKKyAgICAxMDcsIDc3LCA1OSwgMjE0LCAxMDcsIDIwOCwgMjI2LCA3NywgNTksIDIxNCwgMTA3LCAyNDIsIDE1MywgNzcsIDU5LCAyMTQsIAorICAgIDEwNywgNTksIDQ5LCAyNDcsIDExOSwgNjAsIDIwOCwgMjI2LCA1LCAyMTQsIDEwNywgNTksIDQ5LCAyNDcsIDExOSwgNjAsIAorICAgIDIyNywgMTA5LCAyMTQsIDEwNywgNDksIDIxMiwgMTYxLCA2MCwgMjExLCAxNjksIDI0NSwgMTU2LCA2MCwgMjA4LCAyMjYsIAorICAgIDUsIDI0NSwgMTU2LCA2MCwgMjI3LCAxMDksIDUsIDI0NSwgMTU2LCA1OSwgMjQ1LCAxNTcsIDI0NywgMTE5LCA2MCwgMjA4LCAKKyAgICAyMjYsIDUsIDI0NSwgMTU2LCA1OSwgMjQ1LCAxNTcsIDI0NywgMTE5LCA2MCwgMjI3LCAxMDksIDI0NSwgMTU2LCAyNDUsIAorICAgIDE1NywgMjEyLCAxNjEsIDYwLCAyMTEsIDE2OSwgMjI5LCA4OCwgNjAsIDIwOCwgMjI2LCA1LCAyMjksIDg4LCA2MCwgMjI3LCAKKyAgICAxMDksIDUsIDIyOSwgODgsIDU5LCAyMjksIDg5LCAyNDcsIDExOSwgNjAsIDUsIDIyOSwgODgsIDIxMiwgMTIsIDI3LCAyNDcsIAorICAgIDU5LCAxNDcsIDI3LCAyNDcsIDU5LCAyMjcsIDEwOSwgMjcsIDI0NywgNTksIDI0LCAyNywgMjQ3LCA1OSwgMjA4LCAyMjYsIAorICAgIDI0LCAyNywgMjQ3LCA1OSwgMjA4LCAyMjYsIDc3LCAyNywgMjQ3LCA1OSwgMjQyLCAxNTMsIDc3LCAyNywgMjQ3LCA1OSwgCisgICAgMjEyLCAxMiwgMjE3LCAxNjIsIDE0NywgMjE3LCAxNjIsIDIyNywgMTA5LCAyMTcsIDE2MiwgMjQsIDIxNywgMTYyLCA3NywgCisgICAgMjE3LCAxNjIsIDIwOCwgMjI2LCA3NywgMjE3LCAxNjIsIDI0MiwgMTUzLCA3NywgMjE3LCAxNjIsIDE0NywgMjQxLCAyMDQsIAorICAgIDIxNCwgMTE5LCAyNTEsIDIwOSwgMjI3LCAxMDksIDI0MSwgMjA0LCAyMTQsIDExOSwgMjUxLCAyMDksIDI0LCAyNDEsIDIwNCwgCisgICAgMjE0LCAxMTksIDI1MSwgMjA5LCA3NywgMjQxLCAyMDQsIDIxNCwgMTE5LCAyNTEsIDIwOSwgMjA4LCAyMjYsIDc3LCAyNDEsIAorICAgIDIwNCwgMjE0LCAxMTksIDI1MSwgMjA5LCAyNDIsIDE1MywgNzcsIDI0MSwgMjA0LCAyMTQsIDExOSwgMjUxLCAyMDksIDE0NywgCisgICAgMjE1LCAxMCwgMjE0LCAxMTksIDI1MSwgMjA5LCAyMjcsIDEwOSwgMjE1LCAxMCwgMjE0LCAxMTksIDI1MSwgMjA5LCAyNCwgCisgICAgMjE1LCAxMCwgMjE0LCAxMTksIDI1MSwgMjA5LCA3NywgMjE1LCAxMCwgMjE0LCAxMTksIDI1MSwgMjA5LCAyMDgsIDIyNiwgCisgICAgNzcsIDIxNSwgMTAsIDIxNCwgMTE5LCAyNTEsIDIwOSwgMjQyLCAxNTMsIDc3LCAyMTUsIDEwLCAyMTQsIDExOSwgMjUxLCAKKyAgICAyMDksIDE0NywgMjQzLCA4OCwgMjE0LCAxMTksIDI1MSwgMjA5LCAyMjcsIDEwOSwgMjQzLCA4OCwgMjE0LCAxMTksIDI1MSwgCisgICAgMjA5LCAyNCwgMjQzLCA4OCwgMjE0LCAxMTksIDI1MSwgMjA5LCA3NywgMjQzLCA4OCwgMjE0LCAxMTksIDI1MSwgMjA5LCAKKyAgICAyMDgsIDIyNiwgNzcsIDI0MywgODgsIDIxNCwgMTE5LCAyNTEsIDIwOSwgMTQ3LCAxMjksIDIyMCwgMjAzLCA2MCwgMjE0LCAKKyAgICAyNiwgMjI3LCAxMDksIDEyOSwgMjIwLCAyMDMsIDYwLCAyMTQsIDI2LCAxMjksIDIyMCwgMjAzLCA2MCwgMjE0LCAyNiwgCisgICAgMjI3LCAxMDksIDEyOSwgMjIwLCAyMDMsIDIyMSwgNCwgMjE0LCAyNiwgMTQ3LCAyNDEsIDEyNSwgMjIwLCAyMDMsIDYwLCAKKyAgICAyMTQsIDI2LCAyMjcsIDEwOSwgMjQxLCAxMjUsIDIyMCwgMjAzLCA2MCwgMjE0LCAyNiwgMjQxLCAxMjUsIDIyMCwgMjAzLCAKKyAgICA2MCwgMjE0LCAyNiwgMjI3LCAxMDksIDI0MSwgMTI1LCAyMjAsIDIwMywgMjIxLCA0LCAyMTQsIDI2LCAyMTgsIDIyNSwgCisgICAgMTQ3LCAyNDEsIDEyNSwgMjIwLCAyMDMsIDIyMSwgNCwgMjE0LCAyNiwgMTQ3LCAyNDEsIDIwNCwgMjIwLCAyMDMsIDYwLCAKKyAgICAyMTQsIDI2LCA3NywgMjQxLCAyMDQsIDIyMCwgMjAzLCA2MCwgMjE0LCAyNiwgMjI3LCAxMDksIDIxNSwgMTAsIDIyMCwgCisgICAgMjAzLCA2MCwgMjE0LCAyNiwgNzcsIDIxNSwgMTAsIDIyMCwgMjAzLCA2MCwgMjE0LCAyNiwgMjE1LCAxMCwgMjIwLCAyMDMsIAorICAgIDIyMSwgNCwgMjE0LCAyNiwgMjI3LCAxMDksIDI0MywgODgsIDIyMCwgMjAzLCA2MCwgMjE0LCAyNiwgNzcsIDI0MywgODgsIAorICAgIDIyMCwgMjAzLCA2MCwgMjE0LCAyNiwgMjA4LCAyMjYsIDc3LCAyNDMsIDg4LCAyMjAsIDIwMywgNjAsIDIxNCwgMjYsIDc3LCAKKyAgICAyNDMsIDg4LCAyMjAsIDIwMywgMjIxLCA0LCAyMTQsIDI2LCAxNDcsIDIxMCwgMTI3LCAyMjAsIDIwMywgNjAsIDIxNCwgMjYsIAorICAgIDc3LCAyMTAsIDEyNywgMjIwLCAyMDMsIDYwLCAyMTQsIDI2LCA3NywgMjEwLCAxMjcsIDIyMCwgMjAzLCAyMjEsIDQsIDIxNCwgCisgICAgMjYsIDkyLCA1MSwgMiwgNSwgMjExLCA1MiwgMjUxLCAyNDMsIDE2NywgNTEsIDIsIDUsIDIxMSwgNTIsIDI1MSwgMjQzLCAKKyAgICA4NiwgNTEsIDIsIDUsIDIxMSwgNTIsIDI1MSwgMjQzLCAxNzMsIDUxLCAyLCA1LCAyMTEsIDUyLCAyNTEsIDI0MywgOTIsIAorICAgIDUxLCAyLCAyMjcsIDEwOSwgMjExLCA1MiwgMjUxLCAyNDMsIDE2NywgNTEsIDIsIDIyNywgMTA5LCAyMTEsIDUyLCAyNTEsIAorICAgIDI0MywgODYsIDUxLCAyLCAyMjcsIDEwOSwgMjExLCA1MiwgMjUxLCAyNDMsIDE3MywgNTEsIDIsIDIyNywgMTA5LCAyMTEsIAorICAgIDUyLCAyNTEsIDI0MywgOTIsIDUxLCAyLCAyMzAsIDg2LCAyMTEsIDUyLCAyNTEsIDI0MywgMTY3LCA1MSwgMiwgMjMwLCA4NiwgCisgICAgMjExLCA1MiwgMjUxLCAyNDMsIDg2LCA1MSwgMiwgMjMwLCA4NiwgMjExLCA1MiwgMjUxLCAyNDMsIDE3MywgNTEsIDIsIAorICAgIDIzMCwgODYsIDIxMSwgNTIsIDI1MSwgMjQzLCA5MiwgNTEsIDIsIDUsIDI0MiwgMjM4LCAyNTEsIDI0MywgMTY3LCA1MSwgMiwgCisgICAgNSwgMjQyLCAyMzgsIDI1MSwgMjQzLCA4NiwgNTEsIDIsIDUsIDI0MiwgMjM4LCAyNTEsIDI0MywgMTczLCA1MSwgMiwgNSwgCisgICAgMjQyLCAyMzgsIDI1MSwgMjQzLCA5MiwgNTEsIDIsIDI0MiwgMjM4LCAyNTEsIDI0MywgMTY3LCA1MSwgMiwgMjQyLCAyMzgsIAorICAgIDI1MSwgMjQzLCA4NiwgNTEsIDIsIDI0MiwgMjM4LCAyNTEsIDI0MywgMTczLCA1MSwgMiwgMjQyLCAyMzgsIDI1MSwgMjQzLCAKKyAgICA3NywgOTIsIDUxLCAyLCAyNDIsIDIzOCwgMjUxLCAyNDMsIDc3LCAxNjcsIDUxLCAyLCAyNDIsIDIzOCwgMjUxLCAyNDMsIAorICAgIDc3LCA4NiwgNTEsIDIsIDI0MiwgMjM4LCAyNTEsIDI0MywgNzcsIDE3MywgNTEsIDIsIDI0MiwgMjM4LCAyNTEsIDI0MywgCisgICAgNzcsIDkyLCA1MSwgMiwgMjMwLCA4NiwgMjQyLCAyMzgsIDI1MSwgMjQzLCA3NywgMTY3LCA1MSwgMiwgMjMwLCA4NiwgMjQyLCAKKyAgICAyMzgsIDI1MSwgMjQzLCA3NywgODYsIDUxLCAyLCAyMzAsIDg2LCAyNDIsIDIzOCwgMjUxLCAyNDMsIDc3LCAxNzMsIDUxLCAKKyAgICAyLCAyMzAsIDg2LCAyNDIsIDIzOCwgMjUxLCAyNDMsIDkyLCAyMTEsIDUwLCA1MSwgMiwgMjI1LCAxOTksIDIxNSwgMjQ0LCAKKyAgICAxNjcsIDIxMSwgNTAsIDUxLCAyLCAyMjUsIDE5OSwgMjE1LCAyNDQsIDg2LCAyMTEsIDUwLCA1MSwgMiwgMjI1LCAxOTksIAorICAgIDIxNSwgMjQ0LCAxNzMsIDIxMSwgNTAsIDUxLCAyLCAyMjUsIDE5OSwgMjE1LCAyNDQsIDkyLCAyMTEsIDUwLCA1MSwgMiwgCisgICAgMjI3LCAxMDksIDIxNSwgMjQ0LCAxNjcsIDIxMSwgNTAsIDUxLCAyLCAyMjcsIDEwOSwgMjE1LCAyNDQsIDg2LCAyMTEsIDUwLCAKKyAgICA1MSwgMiwgMjI3LCAxMDksIDIxNSwgMjQ0LCAxNzMsIDIxMSwgNTAsIDUxLCAyLCAyMjcsIDEwOSwgMjE1LCAyNDQsIDkyLCAKKyAgICAyMTEsIDUwLCA1MSwgMiwgMjQsIDIxNSwgMjQ0LCAxNjcsIDIxMSwgNTAsIDUxLCAyLCAyNCwgMjE1LCAyNDQsIDg2LCAyMTEsIAorICAgIDUwLCA1MSwgMiwgMjQsIDIxNSwgMjQ0LCAxNzMsIDIxMSwgNTAsIDUxLCAyLCAyNCwgMjE1LCAyNDQsIDkyLCAyMTEsIDUwLCAKKyAgICA1MSwgMiwgNzcsIDIxNSwgMjQ0LCAxNjcsIDIxMSwgNTAsIDUxLCAyLCA3NywgMjE1LCAyNDQsIDg2LCAyMTEsIDUwLCA1MSwgCisgICAgMiwgNzcsIDIxNSwgMjQ0LCAxNzMsIDIxMSwgNTAsIDUxLCAyLCA3NywgMjE1LCAyNDQsIDkyLCAyMTEsIDUwLCA1MSwgMiwgCisgICAgMjA4LCAyMjYsIDc3LCAyMTUsIDI0NCwgMTY3LCAyMTEsIDUwLCA1MSwgMiwgMjA4LCAyMjYsIDc3LCAyMTUsIDI0NCwgODYsIAorICAgIDIxMSwgNTAsIDUxLCAyLCAyMDgsIDIyNiwgNzcsIDIxNSwgMjQ0LCAxNzMsIDIxMSwgNTAsIDUxLCAyLCAyMDgsIDIyNiwgCisgICAgNzcsIDIxNSwgMjQ0LCA5MiwgMjQxLCAyMjcsIDQ1LCAxNjcsIDI0MSwgMjI3LCA0NSwgODYsIDI0MSwgMjI3LCA0NSwgMTczLCAKKyAgICAyNDEsIDIyNywgNDUsIDkyLCA5OCwgNDUsIDE2NywgOTgsIDQ1LCA4NiwgOTgsIDQ1LCAxNzMsIDk4LCA0NSwgOTIsIDI0NywgCisgICAgMTQ0LCA0NSwgMTY3LCAyNDcsIDE0NCwgNDUsIDg2LCAyNDcsIDE0NCwgNDUsIDE3MywgMjQ3LCAxNDQsIDQ1LCA5MiwgNzcsIAorICAgIDI0NywgMTQ0LCA0NSwgMTY3LCA3NywgMjQ3LCAxNDQsIDQ1LCA4NiwgNzcsIDI0NywgMTQ0LCA0NSwgMTczLCA3NywgMjQ3LCAKKyAgICAxNDQsIDQ1LCA5MiwgNzcsIDQ1LCAxNjcsIDc3LCA0NSwgODYsIDc3LCA0NSwgMTczLCA3NywgNDUsIDkyLCAzOCwgNDUsIAorICAgIDE2NywgMzgsIDQ1LCA4NiwgMzgsIDQ1LCAxNzMsIDM4LCA0NSwgMTQzLCAyMDcsIDM2LCAzOCwgNDUsIDE0MywgMjQzLCAKKyAgICAxMTcsIDM4LCA0NSwgMTg4LCAyNDMsIDExNywgMzgsIDQ1LCAxODgsIDIwNywgMzYsIDM4LCA0NSwgNDcsIDQ4LCAzOCwgNDUsIAorICAgIDEyMCwgMTMwLCAzOCwgNDUsIDIwNywgMTYsIDkyLCAxNDcsIDEzOCwgNDUsIDIwNywgMTYsIDE2NywgMTQ3LCAxMzgsIDQ1LCAKKyAgICAyMDcsIDE2LCA4NiwgMTQ3LCAxMzgsIDQ1LCAyMDcsIDE2LCAxNzMsIDE0NywgMTM4LCA0NSwgMjA3LCAxNiwgMTQzLCAyMDcsIAorICAgIDM2LCAxNDcsIDEzOCwgNDUsIDIwNywgMTYsIDE0MywgMjQzLCAxMTcsIDE0NywgMTM4LCA0NSwgMjA3LCAxNiwgMTg4LCAKKyAgICAyNDMsIDExNywgMTQ3LCAxMzgsIDQ1LCAyMDcsIDE2LCAxODgsIDIwNywgMzYsIDE0NywgMTM4LCA0NSwgMjA3LCAxNiwgOTIsIAorICAgIDEzOCwgNDUsIDIwNywgMTYsIDE2NywgMTM4LCA0NSwgMjA3LCAxNiwgODYsIDEzOCwgNDUsIDIwNywgMTYsIDE3MywgMTM4LCAKKyAgICA0NSwgMjA3LCAxNiwgMTQzLCAyMDcsIDM2LCAxMzgsIDQ1LCAyMDcsIDE2LCAxNDMsIDI0MywgMTE3LCAxMzgsIDQ1LCAyMDcsIAorICAgIDE2LCAxODgsIDI0MywgMTE3LCAxMzgsIDQ1LCAyMDcsIDE2LCAxODgsIDIwNywgMzYsIDEzOCwgNDUsIDIwNywgMTYsIDkyLCAKKyAgICAyMjcsIDEwOSwgMTM4LCA0NSwgMjA3LCAxNiwgMTY3LCAyMjcsIDEwOSwgMTM4LCA0NSwgMjA3LCAxNiwgODYsIDIyNywgCisgICAgMTA5LCAxMzgsIDQ1LCAyMDcsIDE2LCAxNzMsIDIyNywgMTA5LCAxMzgsIDQ1LCAyMDcsIDE2LCAxNDMsIDIwNywgMzYsIAorICAgIDIyNywgMTA5LCAxMzgsIDQ1LCAyMDcsIDE2LCAxNDMsIDI0MywgMTE3LCAyMjcsIDEwOSwgMTM4LCA0NSwgMjA3LCAxNiwgCisgICAgMTg4LCAyNDMsIDExNywgMjI3LCAxMDksIDEzOCwgNDUsIDIwNywgMTYsIDE4OCwgMjA3LCAzNiwgMjI3LCAxMDksIDEzOCwgCisgICAgNDUsIDIwNywgMTYsIDkyLCA3NywgMTM4LCA0NSwgMjA3LCAxNiwgMTY3LCA3NywgMTM4LCA0NSwgMjA3LCAxNiwgODYsIDc3LCAKKyAgICAxMzgsIDQ1LCAyMDcsIDE2LCAxNzMsIDc3LCAxMzgsIDQ1LCAyMDcsIDE2LCAxNDMsIDIwNywgMzYsIDc3LCAxMzgsIDQ1LCAKKyAgICAyMDcsIDE2LCAxNDMsIDI0MywgMTE3LCA3NywgMTM4LCA0NSwgMjA3LCAxNiwgMTg4LCAyNDMsIDExNywgNzcsIDEzOCwgNDUsIAorICAgIDIwNywgMTYsIDE4OCwgMjA3LCAzNiwgNzcsIDEzOCwgNDUsIDIwNywgMTYsIDkyLCAyMDgsIDIyNiwgNzcsIDEzOCwgNDUsIAorICAgIDIwNywgMTYsIDE2NywgMjA4LCAyMjYsIDc3LCAxMzgsIDQ1LCAyMDcsIDE2LCA4NiwgMjA4LCAyMjYsIDc3LCAxMzgsIDQ1LCAKKyAgICAyMDcsIDE2LCAxNzMsIDIwOCwgMjI2LCA3NywgMTM4LCA0NSwgMjA3LCAxNiwgMTQzLCAyMDcsIDM2LCAyMDgsIDIyNiwgNzcsIAorICAgIDEzOCwgNDUsIDIwNywgMTYsIDE0MywgMjQzLCAxMTcsIDIwOCwgMjI2LCA3NywgMTM4LCA0NSwgMjA3LCAxNiwgMTg4LCAKKyAgICAyNDMsIDExNywgMjA4LCAyMjYsIDc3LCAxMzgsIDQ1LCAyMDcsIDE2LCAxODgsIDIwNywgMzYsIDIwOCwgMjI2LCA3NywgCisgICAgMTM4LCA0NSwgOTIsIDIxMSwgNTIsIDI1MSwgMjQzLCAxNjcsIDIxMSwgNTIsIDI1MSwgMjQzLCA4NiwgMjExLCA1MiwgMjUxLCAKKyAgICAyNDMsIDE3MywgMjExLCA1MiwgMjUxLCAyNDMsIDkyLCA1OSwgNTEsIDIwNiwgMjU1LCAyMTEsIDUyLCAyNTEsIDI0MywgCisgICAgMTY3LCA1OSwgNTEsIDIwNiwgMjU1LCAyMTEsIDUyLCAyNTEsIDI0MywgODYsIDU5LCA1MSwgMjA2LCAyNTUsIDIxMSwgNTIsIAorICAgIDI1MSwgMjQzLCAxNzMsIDU5LCA1MSwgMjA2LCAyNTUsIDIxMSwgNTIsIDI1MSwgMjQzLCA5MiwgNTEsIDIsIDIyNCwgMzksIAorICAgIDIxMiwgMTkxLCAxNjcsIDUxLCAyLCAyMjQsIDM5LCAyMTIsIDE5MSwgODYsIDUxLCAyLCAyMjQsIDM5LCAyMTIsIDE5MSwgCisgICAgMTczLCA1MSwgMiwgMjI0LCAzOSwgMjEyLCAxOTEsIDc3LCA1MSwgMjE1LCAyNDUsIDIwNywgMTUsIDEwMiwgNzcsIDUxLCAKKyAgICAyMTUsIDI0NSwgMjA3LCAxNSwgMTE4LCAyMTIsIDcsIDc3LCA1MSwgMjE1LCAyNDUsIDIwNywgMTUsIDExOSwgMjM5LCAxMjEsIAorICAgIDc3LCA1MSwgMjE1LCAyNDUsIDIwNywgMTUsIDExOSwgMjEyLCAxMCwgOTIsIDI0OSwgMTUxLCA1OSwgNDUsIDg2LCAyNDksIAorICAgIDE1NCwgMjE1LCAyNDcsIDU5LCA0NSwgOTIsIDIxMSwgMTAyLCAyMTUsIDI0NywgNTksIDQ1LCA4NiwgMjExLCAxMDIsIDIxNSwgCisgICAgMjQ3LCA1OSwgNDUsIDkyLCAyMzAsIDQwLCA1OSwgNDUsIDg2LCAyMTgsIDE2MSwgNTksIDQ1LCA5MiwgMjE4LCAxNjEsIDU5LCAKKyAgICA0NSwgODYsIDIzMCwgNDAsIDU5LCA0NSwgOTIsIDI1MCwgMTc1LCAyMTUsIDI0NiwgNTksIDQ1LCA4NiwgMjUwLCAxNzUsIAorICAgIDIxNSwgMjQ2LCA1OSwgNDUsIDkyLCAyNDEsIDk2LCAyMTUsIDI0NiwgNTksIDQ1LCA4NiwgMjQxLCA5NiwgMjE1LCAyNDYsIAorICAgIDU5LCA0NSwgNTksIDUxLCAyMTUsIDI0NSwgMjA3LCAxNSwgMTAyLCA1OSwgNTEsIDIxNSwgMjQ1LCAyMDcsIDE1LCAxMTgsIAorICAgIDIxMiwgNywgMTAsIDE1LCAyMzcsIDE3MSwgMTAsIDE1LCAyMzcsIDE3MCwgMTAsIDE1LCAyMzcsIDE2OSwgMTAsIDE1LCAKKyAgICAyMzcsIDE2OCwgMTAsIDE1LCAyMzcsIDE2NywgMTAsIDE1LCAyMzcsIDE2NiwgMTAsIDE1LCAyMzcsIDE2NSwgMTAsIDE1LCAKKyAgICAyMzcsIDE2NCwgMTAsIDE1LCAyMzcsIDE2MywgMTAsIDE1LCAyMzcsIDE2MiwgMTAsIDE1LCAyMzcsIDE2MSwgMTAsIDE1LCAKKyAgICAyMzcsIDE2MCwgMTAsIDE1LCAyMzcsIDE1OSwgMTAsIDE1LCAyMzcsIDE1OCwgMTAsIDE1LCAyMzcsIDE1NywgMTAsIDE1LCAKKyAgICAyMzcsIDE1NiwgMTAsIDE1LCAyMzcsIDE1NSwgMTAsIDE1LCAyMzcsIDE1NCwgMTAsIDE1LCAyMzcsIDE1MywgMTAsIDE1LCAKKyAgICAyMzcsIDE1MiwgMTAsIDE1LCAyMzcsIDE1MSwgMTAsIDE1LCAyMzcsIDE1MCwgMTAsIDE1LCAyMzcsIDE0OSwgMTAsIDE1LCAKKyAgICAyMzcsIDE0OCwgMTAsIDE1LCAyMzcsIDE0NywgMTAsIDE1LCAyMzcsIDE0NiwgMTAsIDE1LCAyMzcsIDE0NSwgMTAsIDE1LCAKKyAgICAyMzcsIDE0NCwgMTAsIDE1LCAyMzcsIDE0MywgMTAsIDE1LCAyMzcsIDE0MiwgMTAsIDE1LCAyMzcsIDE0MSwgMTAsIDE1LCAKKyAgICAyMzcsIDE0MCwgMTAsIDE1LCAyMzcsIDEzOSwgMTAsIDE1LCAyMzcsIDEzOCwgMTAsIDE1LCAyMzcsIDEzNywgMTAsIDE1LCAKKyAgICAyMzcsIDEzNiwgMTAsIDE1LCAyMzcsIDEzNSwgMTAsIDE1LCAyMzcsIDEzNCwgMTAsIDE1LCAyMzcsIDEzMywgMTAsIDE1LCAKKyAgICAyMzcsIDEzMiwgMTAsIDE1LCAyMzcsIDEzMSwgMTAsIDE1LCAyMzcsIDEzMCwgMTAsIDE1LCAyMzcsIDEyOSwgMTAsIDE1LCAKKyAgICAyMzcsIDEyOCwgMTAsIDE1LCAyMzcsIDEyNywgMTAsIDE1LCAyMzcsIDEyNiwgMTAsIDE1LCAyMzcsIDEyNSwgMTAsIDE1LCAKKyAgICAyMzcsIDEyNCwgMTAsIDE1LCAyMzcsIDEyMywgMTAsIDE1LCAyMzcsIDEyMiwgMTAsIDE1LCAyMzcsIDEyMSwgMTAsIDE1LCAKKyAgICAyMzcsIDEyMCwgMTAsIDE1LCAyMzcsIDExOSwgMTAsIDE1LCAyMzcsIDExOCwgMTAsIDE1LCAyMzcsIDExNywgMTAsIDE1LCAKKyAgICAyMzcsIDExNiwgMTAsIDE1LCAyMzcsIDExNSwgMTAsIDE1LCAyMzcsIDExNCwgMTAsIDE1LCAyMzcsIDExMywgMTAsIDE1LCAKKyAgICAyMzcsIDExMiwgMTAsIDE1LCAyMzcsIDExMSwgMTAsIDE1LCAyMzcsIDExMCwgMTAsIDE1LCAyMzcsIDEwOSwgMTAsIDE1LCAKKyAgICAyMzcsIDEwOCwgMTAsIDE1LCAyMzcsIDEwNywgMTAsIDE1LCAyMzcsIDEwNiwgMTAsIDE1LCAyMzcsIDEwNSwgMTAsIDE1LCAKKyAgICAyMzcsIDEwNCwgMTAsIDE1LCAyMzcsIDEwMywgMTAsIDE1LCAyMzcsIDEwMiwgMTAsIDE1LCAyMzcsIDEwMSwgMTAsIDE1LCAKKyAgICAyMzcsIDEwMCwgMTAsIDE1LCAyMzcsIDk5LCAxMCwgMTUsIDIzNywgOTgsIDEwLCAxNSwgMjM3LCA5NywgMTAsIDE1LCAyMzcsIAorICAgIDk2LCAxMCwgMTUsIDIzNywgOTUsIDEwLCAxNSwgMjM3LCA5NCwgMTAsIDE1LCAyMzcsIDkzLCAxMCwgMTUsIDIzNywgOTIsIAorICAgIDEwLCAxNSwgMjM3LCA5MSwgMTAsIDE1LCAyMzcsIDkwLCAxMCwgMTUsIDIzNywgODksIDEwLCAxNSwgMjM3LCA4OCwgMTAsIAorICAgIDE1LCAyMzcsIDg3LCAxMCwgMTUsIDIzNywgODYsIDEwLCAxNSwgMjM3LCA4NSwgMTAsIDE1LCAyMzcsIDg0LCAxMCwgMTUsIAorICAgIDIzNywgODMsIDEwLCAxNSwgMjM3LCA4MiwgMTAsIDE1LCAyMzcsIDgxLCAxMCwgMTUsIDIzNywgODAsIDEwLCAxNSwgMjM3LCAKKyAgICA3OSwgMTAsIDE1LCAyMzcsIDc4LCAxMCwgMTUsIDIzNywgNzcsIDEwLCAxNSwgMjM3LCA3NiwgMTAsIDE1LCAyMzcsIDc1LCAKKyAgICAxMCwgMTUsIDIzNywgNzQsIDEwLCAxNSwgMjM3LCA3MywgMTAsIDE1LCAyMzcsIDcyLCAxMCwgMTUsIDIzNywgNzEsIDEwLCAKKyAgICAxNSwgMjM3LCA3MCwgMTAsIDE1LCAyMzcsIDY5LCAxMCwgMTUsIDIzNywgNjgsIDEwLCAxNSwgMjM3LCA2NywgMTAsIDE1LCAKKyAgICAyMzcsIDY2LCAxMCwgMTUsIDIzNywgNjUsIDEwLCAxNSwgMjM3LCA2NCwgMTAsIDE1LCAyMzcsIDYzLCAxMCwgMTUsIDIzNywgCisgICAgNjIsIDEwLCAxNSwgMjM3LCA2MSwgMTAsIDE1LCAyMzcsIDYwLCAxMCwgMTUsIDIzNywgNTksIDEwLCAxNSwgMjM3LCA1OCwgCisgICAgMTAsIDE1LCAyMzcsIDU3LCAxMCwgMTUsIDIzNywgNTYsIDEwLCAxNSwgMjM3LCA1NSwgMTAsIDE1LCAyMzcsIDU0LCAxMCwgCisgICAgMTUsIDIzNywgNTMsIDEwLCAxNSwgMjM3LCA1MiwgMTAsIDE1LCAyMzcsIDUxLCAxMCwgMTUsIDIzNywgNTAsIDEwLCAxNSwgCisgICAgMjM3LCA0OSwgMTAsIDE1LCAyMzcsIDQ4LCAxMCwgMTUsIDIzNywgNDcsIDEwLCAxNSwgMjM3LCA0NiwgMTAsIDE1LCAyMzcsIAorICAgIDQ1LCAxMCwgMTUsIDIzNywgNDQsIDEwLCAxNSwgMjM3LCA0MywgMTAsIDE1LCAyMzcsIDQyLCAxMCwgMTUsIDIzNywgNDEsIAorICAgIDEwLCAxNSwgMjM3LCA0MCwgMTAsIDE1LCAyMzcsIDM5LCAxMCwgMTUsIDIzNywgMzgsIDEwLCAxNSwgMjM3LCAzNywgMTAsIAorICAgIDE1LCAyMzcsIDM2LCAxMCwgMTUsIDIzNywgMzUsIDEwLCAxNSwgMjM3LCAzNCwgMTAsIDE1LCAyMzcsIDMzLCAxMCwgMTUsIAorICAgIDIzNywgMzIsIDEwLCAxNSwgMjM3LCAzMSwgMTAsIDE1LCAyMzcsIDMwLCAxMCwgMTUsIDIzNywgMjksIDEwLCAxNSwgMjM3LCAKKyAgICAyOCwgMTAsIDE1LCAyMzcsIDI3LCAxMCwgMTUsIDIzNywgMjYsIDEwLCAxNSwgMjM3LCAyNSwgMTAsIDE1LCAyMzcsIDI0LCAKKyAgICAxMCwgMTUsIDIzNywgMjMsIDEwLCAxNSwgMjM3LCAyMiwgMTAsIDE1LCAyMzcsIDIxLCAxMCwgMTUsIDIzNywgMjAsIDEwLCAKKyAgICAxNSwgMjM3LCAxOSwgMTAsIDE1LCAyMzcsIDE4LCAxMCwgMTUsIDIzNywgMTcsIDEwLCAxNSwgMjM3LCAxNiwgMTAsIDE1LCAKKyAgICAyMzcsIDE1LCAxMCwgMTUsIDIzNywgMTQsIDEwLCAxNSwgMjM3LCAxMywgMTAsIDE1LCAyMzcsIDEyLCAxMCwgMTUsIDIzNywgCisgICAgMTEsIDEwLCAxNSwgMjM3LCAxMCwgMTAsIDE1LCAyMzcsIDksIDEwLCAxNSwgMjM3LCA4LCAxMCwgMTUsIDIzNywgNywgMTAsIAorICAgIDE1LCAyMzcsIDYsIDEwLCAxNSwgMjM3LCA1LCAxMCwgMTUsIDIzNywgNCwgMTAsIDE1LCAyMzcsIDMsIDEwLCAxNSwgMjM3LCAKKyAgICAyLCAxMCwgMTUsIDIzNywgMSwgMTAsIDE1LCAyMzcsIDAsIDEwLCAxNSwgMjM2LCAyNTUsIDEwLCAxNSwgMjM2LCAyNTQsIAorICAgIDEwLCAxNSwgMjM2LCAyNTMsIDEwLCAxNSwgMjM2LCAyNTIsIDEwLCAxNSwgMjM2LCAyNTEsIDEwLCAxNSwgMjM2LCAyNTAsIAorICAgIDEwLCAxNSwgMjM2LCAyNDksIDEwLCAxNSwgMjM2LCAyNDgsIDEwLCAxNSwgMjM2LCAyNDcsIDEwLCAxNSwgMjM2LCAyNDYsIAorICAgIDEwLCAxNSwgMjM2LCAyNDUsIDEwLCAxNSwgMjM2LCAyNDQsIDEwLCAxNSwgMjM2LCAyNDMsIDEwLCAxNSwgMjM2LCAyNDIsIAorICAgIDEwLCAxNSwgMjM2LCAyNDEsIDEwLCAxNSwgMjM2LCAyNDAsIDEwLCAxNSwgMjM2LCAyMzksIDEwLCAxNSwgMjM2LCAyMzgsIAorICAgIDEwLCAxNSwgMjM2LCAyMzcsIDEwLCAxNSwgMjM2LCAyMzYsIDEwLCAxNSwgMjM2LCAyMzUsIDEwLCAxNSwgMjM2LCAyMzQsIAorICAgIDEwLCAxNSwgMjM2LCAyMzMsIDEwLCAxNSwgMjM2LCAyMzIsIDEwLCAxNSwgMjM2LCAyMzEsIDEwLCAxNSwgMjM2LCAyMzAsIAorICAgIDEwLCAxNSwgMjM2LCAyMjksIDEwLCAxNSwgMjM2LCAyMjgsIDEwLCAxNSwgMjM2LCAyMjcsIDEwLCAxNSwgMjM2LCAyMjYsIAorICAgIDEwLCAxNSwgMjM2LCAyMjUsIDEwLCAxNSwgMjM2LCAyMjQsIDEwLCAxNSwgMjM2LCAyMjMsIDEwLCAxNSwgMjM2LCAyMjIsIAorICAgIDEwLCAxNSwgMjM2LCAyMjEsIDEwLCAxNSwgMjM2LCAyMjAsIDEwLCAxNSwgMjM2LCAyMTksIDEwLCAxNSwgMjM2LCAyMTgsIAorICAgIDEwLCAxNSwgMjM2LCAyMTcsIDEwLCAxNSwgMjM2LCAyMTYsIDEwLCAxNSwgMjM2LCAyMTUsIDEwLCAxNSwgMjM2LCAyMTQsIAorICAgIDEwLCAxNSwgMjM2LCAyMTMsIDEwLCAxNSwgMjM2LCAyMTIsIDEwLCAxNSwgMjM2LCAyMTEsIDEwLCAxNSwgMjM2LCAyMTAsIAorICAgIDEwLCAxNSwgMjM2LCAyMDksIDEwLCAxNSwgMjM2LCAyMDgsIDEwLCAxNSwgMjM2LCAyMDcsIDEwLCAxNSwgMjM2LCAyMDYsIAorICAgIDEwLCAxNSwgMjM2LCAyMDUsIDEwLCAxNSwgMjM2LCAyMDQsIDEwLCAxNSwgMjM2LCAyMDMsIDEwLCAxNSwgMjM2LCAyMDIsIAorICAgIDEwLCAxNSwgMjM2LCAyMDEsIDEwLCAxNSwgMjM2LCAyMDAsIDEwLCAxNSwgMjM2LCAxOTksIDEwLCAxNSwgMjM2LCAxOTgsIAorICAgIDEwLCAxNSwgMjM2LCAxOTcsIDEwLCAxNSwgMjM2LCAxOTYsIDEwLCAxNSwgMjM2LCAxOTUsIDEwLCAxNSwgMjM2LCAxOTQsIAorICAgIDEwLCAxNSwgMjM2LCAxOTMsIDEwLCAxNSwgMjM2LCAxOTIsIDEwLCAxNSwgMjM2LCAxOTEsIDEwLCAxNSwgMjM2LCAxOTAsIAorICAgIDEwLCAxNSwgMjM2LCAxODksIDEwLCAxNSwgMjM2LCAxODgsIDEwLCAxNSwgMjM2LCAxODcsIDEwLCAxNSwgMjM2LCAxODYsIAorICAgIDEwLCAxNSwgMjM2LCAxODUsIDEwLCAxNSwgMjM2LCAxODQsIDEwLCAxNSwgMjM2LCAxODMsIDEwLCAxNSwgMjM2LCAxODIsIAorICAgIDEwLCAxNSwgMjM2LCAxODEsIDEwLCAxNSwgMjM2LCAxODAsIDEwLCAxNSwgMjM2LCAxNzksIDEwLCAxNSwgMjM2LCAxNzgsIAorICAgIDEwLCAxNSwgMjM2LCAxNzcsIDEwLCAxNSwgMjM2LCAxNzYsIDEwLCAxNSwgMjM2LCAxNzUsIDEwLCAxNSwgMjM2LCAxNzQsIAorICAgIDEwLCAxNSwgMjM2LCAxNzMsIDEwLCAxNSwgMjM2LCAxNzIsIDEwLCAxNSwgMjM2LCAxNzEsIDEwLCAxNSwgMjM2LCAxNzAsIAorICAgIDEwLCAxNSwgMjM2LCAxNjksIDEwLCAxNSwgMjM2LCAxNjgsIDEwLCAxNSwgMjM2LCAxNjcsIDEwLCAxNSwgMjM2LCAxNjYsIAorICAgIDEwLCAxNSwgMjM2LCAxNjUsIDEwLCAxNSwgMjM2LCAxNjQsIDEwLCAxNSwgMjM2LCAxNjMsIDEwLCAxNSwgMjM2LCAxNjIsIAorICAgIDEwLCAxNSwgMjM2LCAxNjEsIDEwLCAxNSwgMjM2LCAxNjAsIDEwLCAxNSwgMjM2LCAxNTksIDEwLCAxNSwgMjM2LCAxNTgsIAorICAgIDEwLCAxNSwgMjM2LCAxNTcsIDEwLCAxNSwgMjM2LCAxNTYsIDEwLCAxNSwgMjM2LCAxNTUsIDEwLCAxNSwgMjM2LCAxNTQsIAorICAgIDEwLCAxNSwgMjM2LCAxNTMsIDEwLCAxNSwgMjM2LCAxNTIsIDEwLCAxNSwgMjM2LCAxNTEsIDEwLCAxNSwgMjM2LCAxNTAsIAorICAgIDEwLCAxNSwgMjM2LCAxNDksIDEwLCAxNSwgMjM2LCAxNDgsIDEwLCAxNSwgMjM2LCAxNDcsIDEwLCAxNSwgMjM2LCAxNDYsIAorICAgIDEwLCAxNSwgMjM2LCAxNDUsIDEwLCAxNSwgMjM2LCAxNDQsIDEwLCAxNSwgMjM2LCAxNDMsIDEwLCAxNSwgMjM2LCAxNDIsIAorICAgIDEwLCAxNSwgMjM2LCAxNDEsIDEwLCAxNSwgMjM2LCAxNDAsIDEwLCAxNSwgMjM2LCAxMzksIDEwLCAxNSwgMjM2LCAxMzgsIAorICAgIDEwLCAxNSwgMjM2LCAxMzcsIDEwLCAxNSwgMjM2LCAxMzYsIDEwLCAxNSwgMjM2LCAxMzUsIDEwLCAxNSwgMjM2LCAxMzQsIAorICAgIDEwLCAxNSwgMjM2LCAxMzMsIDEwLCAxNSwgMjM2LCAxMzIsIDEwLCAxNSwgMjM2LCAxMzEsIDEwLCAxNSwgMjM2LCAxMzAsIAorICAgIDEwLCAxNSwgMjM2LCAxMjksIDEwLCAxNSwgMjM2LCAxMjgsIDEwLCAxNSwgMjM2LCAxMjcsIDEwLCAxNSwgMjM2LCAxMjYsIAorICAgIDEwLCAxNSwgMjM2LCAxMjUsIDEwLCAxNSwgMjM2LCAxMjQsIDEwLCAxNSwgMjM2LCAxMjMsIDEwLCAxNSwgMjM2LCAxMjIsIAorICAgIDEwLCAxNSwgMjM2LCAxMjEsIDEwLCAxNSwgMjM2LCAxMjAsIDEwLCAxNSwgMjM2LCAxMTksIDEwLCAxNSwgMjM2LCAxMTgsIAorICAgIDEwLCAxNSwgMjM2LCAxMTcsIDEwLCAxNSwgMjM2LCAxMTYsIDEwLCAxNSwgMjM2LCAxMTUsIDEwLCAxNSwgMjM2LCAxMTQsIAorICAgIDEwLCAxNSwgMjM2LCAxMTMsIDEwLCAxNSwgMjM2LCAxMTIsIDEwLCAxNSwgMjM2LCAxMTEsIDEwLCAxNSwgMjM2LCAxMTAsIAorICAgIDEwLCAxNSwgMjM2LCAxMDksIDEwLCAxNSwgMjM2LCAxMDgsIDEwLCAxNSwgMjM2LCAxMDcsIDEwLCAxNSwgMjM2LCAxMDYsIAorICAgIDEwLCAxNSwgMjM2LCAxMDUsIDEwLCAxNSwgMjM2LCAxMDQsIDEwLCAxNSwgMjM2LCAxMDMsIDEwLCAxNSwgMjM2LCAxMDIsIAorICAgIDEwLCAxNSwgMjM2LCAxMDEsIDEwLCAxNSwgMjM2LCAxMDAsIDEwLCAxNSwgMjM2LCA5OSwgMTAsIDE1LCAyMzYsIDk4LCAxMCwgCisgICAgMTUsIDIzNiwgOTcsIDEwLCAxNSwgMjM2LCA5NiwgMTAsIDE1LCAyMzYsIDk1LCAxMCwgMTUsIDIzNiwgOTQsIDEwLCAxNSwgCisgICAgMjM2LCA5MywgMTAsIDE1LCAyMzYsIDkyLCAxMCwgMTUsIDIzNiwgOTEsIDEwLCAxNSwgMjM2LCA5MCwgMTAsIDE1LCAyMzYsIAorICAgIDg5LCAxMCwgMTUsIDIzNiwgODgsIDEwLCAxNSwgMjM2LCA4NywgMTAsIDE1LCAyMzYsIDg2LCAxMCwgMTUsIDIzNiwgODUsIAorICAgIDEwLCAxNSwgMjM2LCA4NCwgMTAsIDE1LCAyMzYsIDgzLCAxMCwgMTUsIDIzNiwgODIsIDEwLCAxNSwgMjM2LCA4MSwgMTAsIAorICAgIDE1LCAyMzYsIDgwLCAxMCwgMTUsIDIzNiwgNzksIDEwLCAxNSwgMjM2LCA3OCwgMTAsIDE1LCAyMzYsIDc3LCAxMCwgMTUsIAorICAgIDIzNiwgNzYsIDEwLCAxNSwgMjM2LCA3NSwgMTAsIDE1LCAyMzYsIDc0LCAxMCwgMTUsIDIzNiwgNzMsIDEwLCAxNSwgMjM2LCAKKyAgICA3MiwgMTAsIDE1LCAyMzYsIDcxLCAxMCwgMTUsIDIzNiwgNzAsIDEwLCAxNSwgMjM2LCA2OSwgMTAsIDE1LCAyMzYsIDY4LCAKKyAgICAxMCwgMTUsIDIzNiwgNjcsIDEwLCAxNSwgMjM2LCA2NiwgMTAsIDE1LCAyMzYsIDY1LCAxMCwgMTUsIDIzNiwgNjQsIDEwLCAKKyAgICAxNSwgMjM2LCA2MywgMTAsIDE1LCAyMzYsIDYyLCAxMCwgMTUsIDIzNiwgNjEsIDEwLCAxNSwgMjM2LCA2MCwgMTAsIDE1LCAKKyAgICAyMzYsIDU5LCAxMCwgMTUsIDIzNiwgNTgsIDEwLCAxNSwgMjM2LCA1NywgMTAsIDE1LCAyMzYsIDU2LCAxMCwgMTUsIDIzNiwgCisgICAgNTUsIDEwLCAxNSwgMjM2LCA1NCwgMTAsIDE1LCAyMzYsIDUzLCAxMCwgMTUsIDIzNiwgNTIsIDEwLCAxNSwgMjM2LCA1MSwgCisgICAgMTAsIDE1LCAyMzYsIDUwLCAxMCwgMTUsIDIzNiwgNDksIDEwLCAxNSwgMjM2LCA0OCwgMTAsIDE1LCAyMzYsIDQ3LCAxMCwgCisgICAgMTUsIDIzNiwgNDYsIDEwLCAxNSwgMjM2LCA0NSwgMTAsIDE1LCAyMzYsIDQ0LCAxMCwgMTUsIDIzNiwgNDMsIDEwLCAxNSwgCisgICAgMjM2LCA0MiwgMTAsIDE1LCAyMzYsIDQxLCAxMCwgMTUsIDIzNiwgNDAsIDEwLCAxNSwgMjM2LCAzOSwgMTAsIDE1LCAyMzYsIAorICAgIDM4LCAxMCwgMTUsIDIzNiwgMzcsIDEwLCAxNSwgMjM2LCAzNiwgMTAsIDE1LCAyMzYsIDM1LCAxMCwgMTUsIDIzNiwgMzQsIAorICAgIDEwLCAxNSwgMjM2LCAzMywgMTAsIDE1LCAyMzYsIDMyLCAxMCwgMTUsIDIzNiwgMzEsIDEwLCAxNSwgMjM2LCAzMCwgMTAsIAorICAgIDE1LCAyMzYsIDI5LCAxMCwgMTUsIDIzNiwgMjgsIDEwLCAxNSwgMjM2LCAyNywgMTAsIDE1LCAyMzYsIDI2LCAxMCwgMTUsIAorICAgIDIzNiwgMjUsIDEwLCAxNSwgMjM2LCAyNCwgMTAsIDE1LCAyMzYsIDIzLCAxMCwgMTUsIDIzNiwgMjIsIDEwLCAxNSwgMjM2LCAKKyAgICAyMSwgMTAsIDE1LCAyMzYsIDIwLCAxMCwgMTUsIDIzNiwgMTksIDEwLCAxNSwgMjM2LCAxOCwgMTAsIDE1LCAyMzYsIDE3LCAKKyAgICAxMCwgMTUsIDIzNiwgMTYsIDEwLCAxNSwgMjM2LCAxNSwgMTAsIDE1LCAyMzYsIDE0LCAxMCwgMTUsIDIzNiwgMTMsIDEwLCAKKyAgICAxNSwgMjM2LCAxMiwgMTAsIDE1LCAyMzYsIDExLCAxMCwgMTUsIDIzNiwgMTAsIDEwLCAxNSwgMjM2LCA5LCAxMCwgMTUsIAorICAgIDIzNiwgOCwgMTAsIDE1LCAyMzYsIDcsIDEwLCAxNSwgMjM2LCA2LCAxMCwgMTUsIDIzNiwgNSwgMTAsIDE1LCAyMzYsIDQsIAorICAgIDEwLCAxNSwgMjM2LCAzLCAxMCwgMTUsIDIzNiwgMiwgMTAsIDE1LCAyMzYsIDEsIDEwLCAxNSwgMjM2LCAwLCAxMCwgMTUsIAorICAgIDIzNSwgMjU1LCAxMCwgMTUsIDIzNSwgMjU0LCAxMCwgMTUsIDIzNSwgMjUzLCAxMCwgMTUsIDIzNSwgMjUyLCAxMCwgMTUsIAorICAgIDIzNSwgMjUxLCAxMCwgMTUsIDIzNSwgMjUwLCAxMCwgMTUsIDIzNSwgMjQ5LCAxMCwgMTUsIDIzNSwgMjQ4LCAxMCwgMTUsIAorICAgIDIzNSwgMjQ3LCAxMCwgMTUsIDIzNSwgMjQ2LCAxMCwgMTUsIDIzNSwgMjQ1LCAxMCwgMTUsIDIzNSwgMjQ0LCAxMCwgMTUsIAorICAgIDIzNSwgMjQzLCAxMCwgMTUsIDIzNSwgMjQyLCAxMCwgMTUsIDIzNSwgMjQxLCAxMCwgMTUsIDIzNSwgMjQwLCAxMCwgMTUsIAorICAgIDIzNSwgMjM5LCAxMCwgMTUsIDIzNSwgMjM4LCAxMCwgMTUsIDIzNSwgMjM3LCAxMCwgMTUsIDIzNSwgMjM2LCAxMCwgMTUsIAorICAgIDIzNSwgMjM1LCAxMCwgMTUsIDIzNSwgMjM0LCAxMCwgMTUsIDIzNSwgMjMzLCAxMCwgMTUsIDIzNSwgMjMyLCAxMCwgMTUsIAorICAgIDIzNSwgMjMxLCAxMCwgMTUsIDIzNSwgMjMwLCAxMCwgMTUsIDIzNSwgMjI5LCAxMCwgMTUsIDIzNSwgMjI4LCAxMCwgMTUsIAorICAgIDIzNSwgMjI3LCAxMCwgMTUsIDIzNSwgMjI2LCAxMCwgMTUsIDIzNSwgMjI1LCAxMCwgMTUsIDIzNSwgMjI0LCAxMCwgMTUsIAorICAgIDIzNSwgMjIzLCAxMCwgMTUsIDIzNSwgMjIyLCAxMCwgMTUsIDIzNSwgMjIxLCAxMCwgMTUsIDIzNSwgMjIwLCAxMCwgMTUsIAorICAgIDIzNSwgMjE5LCAxMCwgMTUsIDIzNSwgMjE4LCAxMCwgMTUsIDIzNSwgMjE3LCAxMCwgMTUsIDIzNSwgMjE2LCAxMCwgMTUsIAorICAgIDIzNSwgMjE1LCAxMCwgMTUsIDIzNSwgMjE0LCAxMCwgMTUsIDIzNSwgMjEzLCAxMCwgMTUsIDIzNSwgMjEyLCAxMCwgMTUsIAorICAgIDIzNSwgMjExLCAxMCwgMTUsIDIzNSwgMjEwLCAxMCwgMTUsIDIzNSwgMjA5LCAxMCwgMTUsIDIzNSwgMjA4LCAxMCwgMTUsIAorICAgIDIzNSwgMjA3LCAxMCwgMTUsIDIzNSwgMjA2LCAxMCwgMTUsIDIzNSwgMjA1LCAxMCwgMTUsIDIzNSwgMjA0LCAxMCwgMTUsIAorICAgIDIzNSwgMjAzLCAxMCwgMTUsIDIzNSwgMjAyLCAxMCwgMTUsIDIzNSwgMjAxLCAxMCwgMTUsIDIzNSwgMjAwLCAxMCwgMTUsIAorICAgIDIzNSwgMTk5LCAxMCwgMTUsIDIzNSwgMTk4LCAxMCwgMTUsIDIzNSwgMTk3LCAxMCwgMTUsIDIzNSwgMTk2LCAxMCwgMTUsIAorICAgIDIzNSwgMTk1LCAxMCwgMTUsIDIzNSwgMTk0LCAxMCwgMTUsIDIzNSwgMTkzLCAxMCwgMTUsIDIzNSwgMTkyLCAxMCwgMTUsIAorICAgIDIzNSwgMTkxLCAxMCwgMTUsIDIzNSwgMTkwLCAxMCwgMTUsIDIzNSwgMTg5LCAxMCwgMTUsIDIzNSwgMTg4LCAxMCwgMTUsIAorICAgIDIzNSwgMTg3LCAxMCwgMTUsIDIzNSwgMTg2LCAxMCwgMTUsIDIzNSwgMTg1LCAxMCwgMTUsIDIzNSwgMTg0LCAxMCwgMTUsIAorICAgIDIzNSwgMTgzLCAxMCwgMTUsIDIzNSwgMTgyLCAxMCwgMTUsIDIzNSwgMTgxLCAxMCwgMTUsIDIzNSwgMTgwLCAxMCwgMTUsIAorICAgIDIzNSwgMTc5LCAxMCwgMTUsIDIzNSwgMTc4LCAxMCwgMTUsIDIzNSwgMTc3LCAxMCwgMTUsIDIzNSwgMTc2LCAxMCwgMTUsIAorICAgIDIzNSwgMTc1LCAxMCwgMTUsIDIzNSwgMTc0LCAxMCwgMTUsIDIzNSwgMTczLCAxMCwgMTUsIDIzNSwgMTcyLCAxMCwgMTUsIAorICAgIDIzNSwgMTcxLCAxMCwgMTUsIDIzNSwgMTcwLCAxMCwgMTUsIDIzNSwgMTY5LCAxMCwgMTUsIDIzNSwgMTY4LCAxMCwgMTUsIAorICAgIDIzNSwgMTY3LCAxMCwgMTUsIDIzNSwgMTY2LCAxMCwgMTUsIDIzNSwgMTY1LCAxMCwgMTUsIDIzNSwgMTY0LCAxMCwgMTUsIAorICAgIDIzNSwgMTYzLCAxMCwgMTUsIDIzNSwgMTYyLCAxMCwgMTUsIDIzNSwgMTYxLCAxMCwgMTUsIDIzNSwgMTYwLCAxMCwgMTUsIAorICAgIDIzNSwgMTU5LCAxMCwgMTUsIDIzNSwgMTU4LCAxMCwgMTUsIDIzNSwgMTU3LCAxMCwgMTUsIDIzNSwgMTU2LCAxMCwgMTUsIAorICAgIDIzNSwgMTU1LCAxMCwgMTUsIDIzNSwgMTU0LCAxMCwgMTUsIDIzNSwgMTUzLCAxMCwgMTUsIDIzNSwgMTUyLCAxMCwgMTUsIAorICAgIDIzNSwgMTUxLCAxMCwgMTUsIDIzNSwgMTUwLCAxMCwgMTUsIDIzNSwgMTQ5LCAxMCwgMTUsIDIzNSwgMTQ4LCAxMCwgMTUsIAorICAgIDIzNSwgMTQ3LCAxMCwgMTUsIDIzNSwgMTQ2LCAxMCwgMTUsIDIzNSwgMTQ1LCAxMCwgMTUsIDIzNSwgMTQ0LCAxMCwgMTUsIAorICAgIDIzNSwgMTQzLCAxMCwgMTUsIDIzNSwgMTQyLCAyMzAsIDkyLCAyMTIsIDE5OCwgMTUwLCAyMTQsIDE1MywgMTUwLCAyNDIsIAorICAgIDE2OCwgODMsIDE1MCwgMjE5LCAxODAsIDgzLCAxNTAsIDQzLCA1MywgMTUwLCAyNDUsIDM1LCA1MywgMTUwLCAyMjEsIDEzMSwgCisgICAgNTMsIDE1MCwgMjUyLCAxMjUsIDE1MCwgMjUyLCA1MywgMTUwLCA0NywgMjIxLCAyMTYsIDE1MCwgNDgsIDIyMSwgMjE2LCAKKyAgICAxNTAsIDI1MSwgMjA5LCAxNTAsIDEwMSwgNTMsIDE1MCwgMjQ3LCAxNTUsIDE1MCwgMjM3LCAyMzgsIDE1MCwgMjQxLCA4MiwgCisgICAgMjEzLCAyNTEsIDE1MCwgMjE0LCAxODAsIDE1MCwgMTgsIDIwNSwgODUsIDE1MCwgMTgsIDEwMiwgMTUwLCAxOCwgMTA1LCAKKyAgICAxNTAsIDE4LCAxNDIsIDE1MCwgMTgsIDEzOSwgMTUwLCAxOCwgMTY4LCAxNTAsIDE4LCAxODQsIDE1MCwgMTgsIDE5NSwgCisgICAgMTUwLCAxOCwgMTkzLCAxNTAsIDE4LCAyMDAsIDE1MCwgMjQ3LCAxNjIsIDE1MCwgMjE2LCA1MiwgMTUwLCAyMzAsIDEwLCAKKyAgICA1MywgMTUwLCAyNDIsIDI0MiwgNTMsIDE1MCwgMjM5LCAyMzAsIDUzLCAxNTAsIDIxOSwgMTk2LCA4MywgMTUwLCAyNDcsIAorICAgIDE1MywgMjUxLCAxOTksIDE1MCwgNywgNiwgMSwgNjIsIDE1MCwgNywgNiwgMSwgMjUxLCAxNTAsIDE1MCwgNywgNiwgMSwgCisgICAgMjQ5LCAzNCwgMTUwLCA3LCA2LCAxLCAyNDYsIDI0MCwgMTUwLCA3LCA2LCAxLCA3NSwgMTUwLCA3LCA2LCAxLCAyNDIsIAorICAgIDEzOSwgMTUwLCA3LCA2LCAxLCAyNDEsIDU1LCAxNTAsIDcsIDYsIDEsIDIzOSwgMTU1LCAxNTAsIDcsIDYsIDEsIDc0LCAKKyAgICAxNTAsIDcsIDYsIDEsIDIzMiwgMjAzLCAxNTAsIDcsIDYsIDEsIDIzMiwgNzYsIDE1MCwgNywgNiwgMSwgMTQ5LCAxNTAsIDcsIAorICAgIDYsIDEsIDIyOSwgMjgsIDE1MCwgNywgNiwgMSwgMjI2LCAzMywgMTUwLCA3LCA2LCAxLCA3NiwgMTUwLCA3LCA2LCAxLCAKKyAgICAyMjIsIDY3LCAxNTAsIDcsIDYsIDEsIDIyMCwgMjcsIDE1MCwgNywgNiwgMSwgMTM3LCAxNTAsIDcsIDYsIDEsIDE4MiwgCisgICAgMTUwLCA3LCA2LCAxLCAyMTMsIDEwLCAxNTAsIDcsIDYsIDEsIDcxLCAxNTAsIDcsIDYsIDEsIDIwOSwgMTQ4LCAxNTAsIDcsIAorICAgIDYsIDEsIDIwNywgMTI5LCAxNTAsIDcsIDYsIDEsIDIwNiwgMTk1LCAxNTAsIDcsIDYsIDEsIDIwNiwgMTIzLCAxNTAsIDcsIAorICAgIDYsIDEsIDIwNSwgMTU5LCAxNTAsIDQ3LCA0OSwgMTQ1LCAxNTAsIDIxOCwgMjI1LCAyMTQsIDE4MCwgMTUwLCA0OCwgNDksIAorICAgIDE0NSwgMTUwLCAyNDcsIDIyOCwgMjUzLCAyMSwgMTUwLCAxMTQsIDIyOSwgMjA1LCAxNTAsIDIzOSwgMjM3LCAyNTMsIDIxLCAKKyAgICAxNTAsIDcsIDUsIDEsIDYyLCAxNTAsIDcsIDUsIDEsIDI1MSwgMTUwLCAxNTAsIDcsIDUsIDEsIDI0OSwgMzQsIDE1MCwgNywgCisgICAgNSwgMSwgMjQ2LCAyNDAsIDE1MCwgNywgNSwgMSwgNzUsIDE1MCwgNywgNSwgMSwgMjQyLCAxMzksIDE1MCwgNywgNSwgMSwgCisgICAgMjQxLCA1NSwgMTUwLCA3LCA1LCAxLCAyMzksIDE1NSwgMTUwLCA3LCA1LCAxLCA3NCwgMTUwLCA3LCA1LCAxLCAyMzIsIAorICAgIDIwMywgMTUwLCA3LCA1LCAxLCAyMzIsIDc2LCAxNTAsIDcsIDUsIDEsIDE0OSwgMTUwLCA3LCA1LCAxLCAyMjksIDI4LCAKKyAgICAxNTAsIDcsIDUsIDEsIDIyNiwgMzMsIDE1MCwgNywgNSwgMSwgNzYsIDE1MCwgNywgNSwgMSwgMjIyLCA2NywgMTUwLCA3LCAKKyAgICA1LCAxLCAyMjAsIDI3LCAxNTAsIDcsIDUsIDEsIDEzNywgMTUwLCA3LCA1LCAxLCAxODIsIDE1MCwgNywgNSwgMSwgMjEzLCAKKyAgICAxMCwgMTUwLCA3LCA1LCAxLCA3MSwgMTUwLCA3LCA1LCAxLCAyMDksIDE0OCwgMTUwLCA3LCA1LCAxLCAyMDcsIDEyOSwgCisgICAgMTUwLCA3LCA1LCAxLCAyMDYsIDE5NSwgMTUwLCA3LCA1LCAxLCAyMDYsIDEyMywgMTUwLCA3LCA1LCAxLCAyMDUsIDE1OSwgCisgICAgMTUwLCA0NywgMjQ3LCAyNiwgMTQ1LCAxNTAsIDc5LCAyMjksIDIwNSwgMTUwLCA0OCwgMjQ3LCAyNiwgMTQ1LCAxNTAsIAorICAgIDIxMSwgMTgwLCAyNDgsIDIyNSwgMjEyLCAxOTgsIDU0LCAyMTYsIDIzNiwgNTQsIDIxNiwgMjI1LCA1NCwgMjE2LCAyMTQsIAorICAgIDU0LCAyMTYsIDIwMiwgNTQsIDIxNiwgMTkxLCA1NCwgMjE2LCAxODAsIDU0LCAyMTYsIDE2OSwgNTQsIDIxNiwgMTU4LCA1NCwgCisgICAgMjE2LCAxNDcsIDU0LCAyMTYsIDEzOSwgNTQsIDIxNiwgMTM4LCA1NCwgMjE2LCAxMzcsIDU0LCAyMTYsIDEzNiwgNTQsIAorICAgIDIxNiwgMTM0LCA1NCwgMjE2LCAxMzMsIDU0LCAyMTYsIDEzMiwgNTQsIDIxNiwgMTMxLCA1NCwgMjE2LCAxMzAsIDU0LCAKKyAgICAyMTYsIDEyOSwgNTQsIDIxNiwgMTI4LCA1NCwgMjE2LCAxMjcsIDU0LCAyMTYsIDEyNiwgNTQsIDIxNiwgMTI1LCA1NCwgCisgICAgMjE2LCAxMjMsIDU0LCAyMTYsIDEyMiwgNTQsIDIxNiwgMTIxLCA1NCwgMjE2LCAxMjAsIDU0LCAyMTYsIDExOSwgNTQsIAorICAgIDIxNiwgMTE4LCA1NCwgMjE2LCAxMTcsIDU0LCAyMTYsIDExNiwgNTQsIDIxNiwgMTE1LCA1NCwgMjE2LCAxMTQsIDU0LCAKKyAgICAyMTYsIDExMiwgNTQsIDIxNiwgMTExLCA1NCwgMjE2LCAxMTAsIDU0LCAyMTYsIDEwOSwgNTQsIDIxNiwgMTA4LCA1NCwgCisgICAgMjE2LCAxMDcsIDU0LCAyMTYsIDEwNiwgNTQsIDIxNiwgMTA1LCA1NCwgMjE2LCAxMDQsIDU0LCAyMTYsIDEwMywgNTQsIAorICAgIDIxNiwgMTAxLCA1NCwgMjE2LCAxMDAsIDU0LCAyMTYsIDk5LCA1NCwgMjE2LCA5OCwgNTQsIDIxNiwgOTcsIDU0LCAyMTYsIAorICAgIDk2LCA1NCwgMjE2LCA5NSwgNTQsIDIxNiwgOTQsIDU0LCAyMTYsIDkzLCA1NCwgMjE2LCA5MiwgNTQsIDIxNiwgOTAsIDU0LCAKKyAgICAyMTYsIDg5LCA1NCwgMjE2LCA4OCwgNTQsIDIxNiwgODcsIDU0LCAyMTYsIDg2LCA1NCwgMjE2LCA4NSwgNTQsIDIxNiwgODQsIAorICAgIDU0LCAyMTYsIDgzLCA1NCwgMjE2LCA4MiwgNTQsIDIxNiwgODEsIDU0LCAyMTYsIDc5LCA1NCwgMjE2LCA3OCwgNTQsIDIxNiwgCisgICAgNzcsIDU0LCAyMTYsIDc2LCA1NCwgMjE2LCA3NSwgNTQsIDIxNiwgNzQsIDU0LCAyMTYsIDczLCA1NCwgMjE2LCA3MiwgNTQsIAorICAgIDIxNiwgNzEsIDU0LCAyMTYsIDcwLCA1NCwgMjE2LCA2OCwgNTQsIDIxNiwgNjcsIDU0LCAyMTYsIDY2LCA1NCwgMjE2LCA2NSwgCisgICAgNTQsIDIxNiwgNjQsIDU0LCAyMTYsIDYzLCA1NCwgMjE2LCA2MiwgNTQsIDIxNiwgNjEsIDU0LCAyMTYsIDYwLCA1NCwgMjE2LCAKKyAgICA1OSwgNTQsIDIxNywgNTYsIDU0LCAyMTcsIDU1LCA1NCwgMjE3LCA1NCwgNTQsIDIxNywgNTMsIDU0LCAyMTcsIDUyLCA1NCwgCisgICAgMjE3LCA1MSwgNTQsIDIxNywgNTAsIDU0LCAyMTcsIDQ5LCA1NCwgMjE3LCA0OCwgNTQsIDIxNywgNDcsIDU0LCAyMTcsIDQ1LCAKKyAgICA1NCwgMjE3LCA0NCwgNTQsIDIxNywgNDMsIDU0LCAyMTcsIDQyLCA1NCwgMjE3LCA0MSwgNTQsIDIxNywgNDAsIDU0LCAyMTcsIAorICAgIDM5LCA1NCwgMjE3LCAzOCwgNTQsIDIxNywgMzcsIDU0LCAyMTcsIDM2LCA1NCwgMjE3LCAzNCwgNTQsIDIxNywgMzMsIDU0LCAKKyAgICAyMTcsIDMyLCA1NCwgMjE3LCAzMSwgNTQsIDIxNywgMzAsIDU0LCAyMTcsIDI5LCA1NCwgMjE3LCAyOCwgNTQsIDIxNywgMjcsIAorICAgIDU0LCAyMTcsIDI2LCA1NCwgMjE3LCAyNSwgNTQsIDIxNywgMjMsIDU0LCAyMTcsIDIyLCA1NCwgMjE3LCAyMSwgNTQsIDIxNywgCisgICAgMjAsIDU0LCAyMTcsIDE5LCA1NCwgMjE3LCAxOCwgNTQsIDIxNywgMTcsIDU0LCAyMTcsIDE2LCA1NCwgMjE3LCAxNSwgNTQsIAorICAgIDIxNywgMTQsIDU0LCAyMTcsIDEyLCA1NCwgMjE3LCAxMSwgNTQsIDIxNywgMTAsIDU0LCAyMTcsIDksIDU0LCAyMTcsIDgsIAorICAgIDU0LCAyMTcsIDcsIDU0LCAyMTcsIDYsIDU0LCAyMTcsIDUsIDU0LCAyMTcsIDQsIDU0LCAyMTcsIDMsIDU0LCAyMTcsIDEsIAorICAgIDU0LCAyMTcsIDAsIDU0LCAyMTYsIDI1NSwgNTQsIDIxNiwgMjU0LCA1NCwgMjE2LCAyNTMsIDU0LCAyMTYsIDI1MiwgNTQsIAorICAgIDIxNiwgMjUxLCA1NCwgMjE2LCAyNTAsIDU0LCAyMTYsIDI0OSwgNTQsIDIxNiwgMjQ4LCA1NCwgMjE2LCAyNDYsIDU0LCAKKyAgICAyMTYsIDI0NSwgNTQsIDIxNiwgMjQ0LCA1NCwgMjE2LCAyNDMsIDU0LCAyMTYsIDI0MiwgNTQsIDIxNiwgMjQxLCA1NCwgCisgICAgMjE2LCAyNDAsIDU0LCAyMTYsIDIzOSwgNTQsIDIxNiwgMjM4LCA1NCwgMjE2LCAyMzcsIDU0LCAyMTYsIDIzNSwgNTQsIAorICAgIDIxNiwgMjM0LCA1NCwgMjE2LCAyMzMsIDU0LCAyMTYsIDIzMiwgNTQsIDIxNiwgMjMxLCA1NCwgMjE2LCAyMzAsIDU0LCAKKyAgICAyMTYsIDIyOSwgNTQsIDIxNiwgMjI4LCA1NCwgMjE2LCAyMjcsIDU0LCAyMTYsIDIyNiwgNTQsIDIxNiwgMjI0LCA1NCwgCisgICAgMjE2LCAyMjMsIDU0LCAyMTYsIDIyMiwgNTQsIDIxNiwgMjIxLCA1NCwgMjE2LCAyMjAsIDU0LCAyMTYsIDIxOSwgNTQsIAorICAgIDIxNiwgMjE4LCA1NCwgMjE2LCAyMTcsIDU0LCAyMTYsIDIxNiwgNTQsIDIxNiwgMjE1LCA1NCwgMjE2LCAyMTMsIDU0LCAKKyAgICAyMTYsIDIxMiwgNTQsIDIxNiwgMjExLCA1NCwgMjE2LCAyMTAsIDU0LCAyMTYsIDIwOSwgNTQsIDIxNiwgMjA4LCA1NCwgCisgICAgMjE2LCAyMDcsIDU0LCAyMTYsIDIwNiwgNTQsIDIxNiwgMjA1LCA1NCwgMjE2LCAyMDQsIDU0LCAyMTYsIDIwMSwgNTQsIAorICAgIDIxNiwgMjAwLCA1NCwgMjE2LCAxOTksIDU0LCAyMTYsIDE5OCwgNTQsIDIxNiwgMTk3LCA1NCwgMjE2LCAxOTYsIDU0LCAKKyAgICAyMTYsIDE5NSwgNTQsIDIxNiwgMTk0LCA1NCwgMjE2LCAxOTMsIDU0LCAyMTYsIDE5MiwgNTQsIDIxNiwgMTkwLCA1NCwgCisgICAgMjE2LCAxODksIDU0LCAyMTYsIDE4OCwgNTQsIDIxNiwgMTg3LCA1NCwgMjE2LCAxODYsIDU0LCAyMTYsIDE4NSwgNTQsIAorICAgIDIxNiwgMTg0LCA1NCwgMjE2LCAxODMsIDU0LCAyMTYsIDE4MiwgNTQsIDIxNiwgMTgxLCA1NCwgMjE2LCAxNzksIDU0LCAKKyAgICAyMTYsIDE3OCwgNTQsIDIxNiwgMTc3LCA1NCwgMjE2LCAxNzYsIDU0LCAyMTYsIDE3NSwgNTQsIDIxNiwgMTc0LCA1NCwgCisgICAgMjE2LCAxNzMsIDU0LCAyMTYsIDE3MiwgNTQsIDIxNiwgMTcxLCA1NCwgMjE2LCAxNzAsIDU0LCAyMTYsIDE2OCwgNTQsIAorICAgIDIxNiwgMTY3LCA1NCwgMjE2LCAxNjYsIDU0LCAyMTYsIDE2NSwgNTQsIDIxNiwgMTY0LCA1NCwgMjE2LCAxNjMsIDU0LCAKKyAgICAyMTYsIDE2MiwgNTQsIDIxNiwgMTYxLCA1NCwgMjE2LCAxNjAsIDU0LCAyMTYsIDE1OSwgNTQsIDIxNiwgMTU3LCA1NCwgCisgICAgMjE2LCAxNTYsIDU0LCAyMTYsIDE1NSwgNTQsIDIxNiwgMTU0LCA1NCwgMjE2LCAxNTMsIDU0LCAyMTYsIDE1MiwgNTQsIAorICAgIDIxNiwgMTUxLCA1NCwgMjE2LCAxNTAsIDU0LCAyMTYsIDE0OSwgNTQsIDIxNiwgMTQ4LCA1NCwgMjE2LCAxNDYsIDU0LCAKKyAgICAyMTYsIDE0NSwgNTQsIDIxNiwgMTQ0LCA1NCwgMjE2LCAxNDMsIDU0LCAyMTYsIDE0MiwgNTQsIDIxNiwgMTQxLCA1NCwgCisgICAgMjE2LCAxNDAsIDIyMywgMTgxLCAyMjMsIDE4MywgMjE0LCAyMiwgNzMsIDIzOSwgNjYsIDIxNCwgMTgzLCAyMTQsIDIyLCAKKyAgICA3MywgMjEyLCA2MCwgMjEzLCAyMDUsIDI0MywgMzQsIDczLCAyMTIsIDYwLCAyNDIsIDE5MywgMjQzLCAzNCwgNzMsIDIxMSwgCisgICAgNjksIDI0MiwgMjU0LCAyNDMsIDIxLCAyNDMsIDIyLCAyNTMsIDEzLCAyNTMsIDE0LCAyNTIsIDE2OSwgMjUwLCAzMSwgMjUwLCAKKyAgICAxNzAsIDI0OSwgMTA3LCAxNTcsIDIxMiwgMjAzLCAxOTQsIDIxMiwgMjAzLCAyMzgsIDQ3LCAyMTIsIDIwNywgMjI5LCAyMDYsIAorICAgIDI0MiwgMTksIDE4NiwgMjI5LCAyMDUsIDI0MywgMzQsIDczLCAyMjksIDIwNSwgMjI5LCAyNTAsIDIyNCwgMTI5LCAyNDMsIAorICAgIDEsIDIyOSwgMjA2LCAyMTIsIDIwMywgNzksIDIxMiwgMjAzLCAyMDcsIDE1MCwgMjQxLCAxMzYsIDI0MiwgMTksIDI0MSwgCisgICAgMjU0LCAyNDgsIDE5MSwgMjE4LCAyMjgsIDI0NywgNzMsIDIxNSwgMTc5LCAyMjIsIDkzLCAyMjksIDEzOCwgMTAyLCAyMTQsIAorICAgIDE5MywgMjE1LCAxNzksIDIzMywgNjgsIDIyOSwgMTM4LCAyMDUsIDg1LCAyMTUsIDgwLCAyNDYsIDczLCAyMjksIDE5NiwgCisgICAgMjQyLCAyMTcsIDI0NSwgNjEsIDI0NSwgMTk5LCAyNDcsIDEwOSwgMTAyLCAyNDYsIDYyLCAyNDUsIDE5OSwgMjQ3LCAxMDksIAorICAgIDEwNSwgMjQ2LCA2MSwgMjQ1LCAxOTksIDI0NywgMTA5LCAxNDIsIDI0NiwgNjAsIDI0NSwgMTk5LCAyNDcsIDEwOSwgMTM5LCAKKyAgICAyNDYsIDU5LCAxNzAsIDI1MywgMTMsIDIyNSwgMjE1LCAyMTMsIDM2LCAyMzMsIDEzMSwgMjEzLCAzOSwgMjQzLCAzNCwgNzMsIAorICAgIDIxMSwgNzAsIDI0OSwgMTkzLCAyNDIsIDIwMCwgMjQ4LCAyMjQsIDI0OCwgMjI2LCAyNDMsIDM0LCA3MywgMjI3LCAxMDgsIAorICAgIDI0MiwgMjU1LCAyMTMsIDE3OSwgMjEzLCAxOTYsIDI0MiwgMjE3LCAyNDIsIDIxOCwgMjMzLCA0MywgMjE2LCA0MCwgMTM5LCAKKyAgICAyNDEsIDIzNiwgMjE2LCAzOSwgMjQxLCA5MiwgMjMzLCA0MywgMjE2LCA0MCwgMTQyLCAyMzksIDIyMSwgMjE2LCAzOSwgCisgICAgMjM5LCAyMTgsIDIzMywgNDMsIDIxNiwgNDAsIDEwNSwgMjE5LCA0MywgMjE2LCAzOSwgMjE4LCA1NSwgMjMzLCA0MywgMjE2LCAKKyAgICA0MCwgMTAyLCAyMDksIDIxNywgMjE2LCAzOSwgMjA5LCAxNzcsIDIxNCwgMTU2LCAyNDUsIDIzNiwgMjQ1LCAyMzgsIDIyMiwgCisgICAgNDAsIDI0OCwgOTQsIDIyMiwgNDIsIDEyNywgMjIyLCAyMTMsIDIyMCwgMTMwLCAyMzgsIDEyNCwgMjQ5LCAxMjYsIDIyMSwgCisgICAgMTIxLCAyMzksIDM1LCAyNDksIDEzNywgMjI0LCA2OCwgMjQ5LCAxMjYsIDIzOSwgMzUsIDIyNSwgMTc5LCAyMzMsIDUzLCAKKyAgICAyMzMsIDU2LCAyMjUsIDgyLCAyMjksIDIwNSwgMjI1LCAxMDIsIDIxNCwgMjIsIDczLCAyMTcsIDYxLCAyNTIsIDEzLCAyMTQsIAorICAgIDk2LCAyNDMsIDM0LCA3MywgMjE3LCA2MSwgMjUyLCAxMywgMjQyLCAyMjAsIDE1NywgMjEyLCAyMDQsIDIxNiwgMjgsIDE5NCwgCisgICAgMjEyLCAyMDQsIDIxNiwgMjgsIDIzOCwgNDQsIDE1NywgMjEyLCAyMDQsIDIsIDIzMiwgODgsIDE5NCwgMjEyLCAyMDQsIDIsIAorICAgIDIzMiwgODgsIDIzOCwgNDUsIDIyOSwgMjA2LCAyMTIsIDIwNCwgMjE2LCAyOCwgNzksIDIxMiwgMjA0LCAyMTYsIDI4LCAKKyAgICAyMDcsIDE0OSwgMjIxLCAyMDksIDIyOSwgMjA2LCAyNDEsIDEyOSwgMjIxLCAyMDksIDIyOSwgMjA2LCAyNDQsIDgsIDIyMCwgCisgICAgMjI5LCAyMjEsIDIwOSwgMjI5LCAyMDYsIDI1MCwgMTY5LCAyMjEsIDIwOSwgMjI5LCAyMDYsIDIwOSwgMjA2LCAyMjAsIAorICAgIDIyNCwgMjE4LCAyMjUsIDIyOSwgMjA2LCAyNDIsIDE5LCAyMTgsIDIyNSwgMjMzLCA1MywgMjE4LCAyMDgsIDIxNSwgNDEsIAorICAgIDIxNSwgMTc5LCAxMDUsIDIxNSwgMzgsIDIxNCwgOTgsIDIxNSwgNDEsIDIxNSwgMTc5LCAxNDIsIDIxNSwgMzcsIDIxNCwgCisgICAgOTcsIDI0NSwgMTk5LCAyNDcsIDEwOSwgMjEzLCAyMjcsIDI0NiwgNTcsIDIyMCwgMTE4LCAyMDksIDE3NiwgMTAyLCAyMjAsIAorICAgIDExOCwgMjA5LCAxNzQsIDIyMCwgODEsIDIyMCwgMTE4LCAyMDksIDE3NiwgMTA1LCAyMjAsIDExOCwgMjA5LCAxNzMsIDIyMCwgCisgICAgODAsIDIxNiwgMjksIDIxMSwgNjgsIDIxNCwgMjEsIDIxMywgMjEwLCAyNDgsIDIyNSwgMjQ4LCA5NCwgMjQ4LCAxNjcsIAorICAgIDIyNywgNjcsIDIwNywgODksIDIyNiwgNTEsIDIxNCwgMjIsIDczLCAyMzksIDIwNiwgMjUyLCAxMywgMjE0LCAyMiwgNzMsIAorICAgIDIyMCwgOTksIDI1MiwgMTMsIDIxNCwgMTU1LCAyNDMsIDM0LCA3MywgMjM5LCAyMDYsIDI1MiwgMTMsIDI0MywgMzQsIDczLCAKKyAgICAyMjAsIDk5LCAyNTIsIDEzLCAyNDIsIDI1MiwgMjE0LCAyMiwgNzMsIDIxMywgMjI3LCAyMTQsIDE2OSwgMjE1LCA0MSwgCisgICAgMjM5LCAyNDEsIDE1NywgMjMzLCA0LCAyMTYsIDcsIDIxNSwgNDEsIDE1NywgMjMzLCA0LCAyMTcsIDk5LCAyNDcsIDEwOSwgCisgICAgMjE2LCAzNywgMjMzLCA0LCAyNDcsIDQxLCAyMTMsIDIyOCwgMjEyLCA4NiwgMjE0LCA0MCwgMjIyLCAxMzQsIDIxMywgMjUsIAorICAgIDI0NywgMTU0LCAyMjIsIDEwNSwgMjIwLCAxMTksIDIyNywgNjYsIDIyMCwgMjE0LCAyNTIsIDQ5LCAyMjAsIDExMywgMjQ3LCAKKyAgICAxNTQsIDI1MiwgNjUsIDIyNSwgMTY3LCAyMTUsIDg5LCA3LCA2LCAxLCAyNDAsIDk5LCA3LCA1LCAxLCAyNDAsIDk5LCAyNDgsIAorICAgIDExMiwgMjUyLCAxNTAsIDIxMywgMzAsIDIxMywgMTg1LCAyNDcsIDE2MywgMjE0LCAyNDYsIDIzMCwgNDYsIDE4MywgMSwgCisgICAgMjI5LCAxNjMsIDIzMCwgOTAsIDEsIDI0MSwgMTYzLCAyNDEsIDE1NCwgMjMwLCA5MCwgMSwgMjQxLCAxNjMsIDI0MiwgMzEsIAorICAgIDIzMCwgOTAsIDEsIDIxOCwgMTI0LCAyMzAsIDkwLCAxLCAyMjksIDE0NCwgNzIsIDE0MSwgMjQ5LCAyMDQsIDIxNSwgMTU0LCAKKyAgICAyNDAsIDYyLCAyMjcsIDE2LCAyMTgsIDIxNSwgMjQxLCA2OSwgMjQxLCA2OCwgMjQxLCA2NywgMjI2LCA1MywgMjA0LCAyNDYsIAorICAgIDIwNCwgMjQ3LCAyMDQsIDI0OSwgMjI5LCA4NSwgMjE4LCAxMzIsIDIyOSwgODcsIDIxOCwgMTM0LCAyMjEsIDE3NywgMjI5LCAKKyAgICA4NCwgMjE4LCAxMzEsIDIyNCwgOTksIDIyNiwgMTg1LCAyMDYsIDI1MiwgMjI5LCA4NiwgMjE4LCAxMzMsIDI0MSwgOTEsIAorICAgIDIyMSwgMTc2LCAyMDcsIDQyLCAyNDMsIDUzLCAyNDEsIDc5LCAyMjYsIDI1MywgMjIyLCAxNjYsIDIwOSwgMTc4LCA5MywgCisgICAgMjI2LCAyNTMsIDI0NiwgNzksIDkzLCA5LCA0LCAyMzIsIDIxOCwgODMsIDIyMCwgMTMxLCAyNDEsIDEzNiwgMzMsIDc5LCAKKyAgICA0OCwgNTksIDIzMCwgMTYsIDE0NSwgMjA4LCAxNTAsIDIwOCwgMzksIDIwNywgMjI3LCAyMDcsIDIxNiwgMjA3LCAyMDUsIAorICAgIDIwNywgMTk0LCAyMDcsIDE4MywgMjA3LCAxNzIsIDIwNywgMTYxLCAyMDgsIDE0OSwgMjA4LCAxMzgsIDIwOCwgMTI3LCAKKyAgICAyMDgsIDExNiwgMjA4LCAxMDUsIDIwOCwgOTQsIDIwOCwgODMsIDI0OSwgMzksIDIyMiwgMTE5LCA4MywgMjQ5LCAxNzUsIAorICAgIDIwNCwgMjQ4LCAxNCwgMywgMjIzLCAxOTAsIDIxMiwgODksIDE0LCAzLCAyMjMsIDE5MCwgMTMxLCAyMjMsIDE5MCwgMjQ5LCAKKyAgICA2OSwgMTMxLCAyNDksIDY4LCA1OCwgMzAsIDE2LCAyNDEsIDkwLCAyMTQsIDI0MiwgMjQ4LCAxOCwgMjA5LCA0OSwgMjA4LCAKKyAgICA3MiwgMjA4LCA2MSwgMjA4LCA1MCwgMjA4LCAzOCwgMjA4LCAyNywgMjA4LCAxNiwgMjA4LCA1LCAyMDcsIDI1MCwgMjA3LCAKKyAgICAyMzksIDIwNywgMjMxLCAyMDcsIDIzMCwgMjA3LCAyMjksIDIwNywgMjI4LCAyMDcsIDIyNiwgMjA3LCAyMjUsIDIwNywgCisgICAgMjI0LCAyMDcsIDIyMywgMjA3LCAyMjIsIDIwNywgMjIxLCAyMDcsIDIyMCwgMjA3LCAyMTksIDIwNywgMjE4LCAyMDcsIAorICAgIDIxNywgMjA3LCAyMTUsIDIwNywgMjE0LCAyMDcsIDIxMywgMjA3LCAyMTIsIDIwNywgMjExLCAyMDcsIDIxMCwgMjA3LCAKKyAgICAyMDksIDIwNywgMjA4LCAyMDcsIDIwNywgMjA3LCAyMDYsIDIwNywgMjA0LCAyMDcsIDIwMywgMjA3LCAyMDIsIDIwNywgCisgICAgMjAxLCAyMDcsIDIwMCwgMjA3LCAxOTksIDIwNywgMTk4LCAyMDcsIDE5NywgMjA3LCAxOTYsIDIwNywgMTk1LCAyMDcsIAorICAgIDE5MywgMjA3LCAxOTIsIDIwNywgMTkxLCAyMDcsIDE5MCwgMjA3LCAxODksIDIwNywgMTg4LCAyMDcsIDE4NywgMjA3LCAKKyAgICAxODYsIDIwNywgMTg1LCAyMDcsIDE4NCwgMjA3LCAxODIsIDIwNywgMTgxLCAyMDcsIDE4MCwgMjA3LCAxNzksIDIwNywgCisgICAgMTc4LCAyMDcsIDE3NywgMjA3LCAxNzYsIDIwNywgMTc1LCAyMDcsIDE3NCwgMjA3LCAxNzMsIDIwNywgMTcxLCAyMDcsIAorICAgIDE3MCwgMjA3LCAxNjksIDIwNywgMTY4LCAyMDcsIDE2NywgMjA3LCAxNjYsIDIwNywgMTY1LCAyMDcsIDE2NCwgMjA3LCAKKyAgICAxNjMsIDIwNywgMTYyLCAyMDcsIDE2MCwgMjA3LCAxNTksIDIwNywgMTU4LCAyMDcsIDE1NywgMjA3LCAxNTYsIDIwNywgCisgICAgMTU1LCAyMDcsIDE1NCwgMjA3LCAxNTMsIDIwNywgMTUyLCAyMDcsIDE1MSwgMjA4LCAxNDgsIDIwOCwgMTQ3LCAyMDgsIAorICAgIDE0NiwgMjA4LCAxNDUsIDIwOCwgMTQ0LCAyMDgsIDE0MywgMjA4LCAxNDIsIDIwOCwgMTQxLCAyMDgsIDE0MCwgMjA4LCAKKyAgICAxMzksIDIwOCwgMTM3LCAyMDgsIDEzNiwgMjA4LCAxMzUsIDIwOCwgMTM0LCAyMDgsIDEzMywgMjA4LCAxMzIsIDIwOCwgCisgICAgMTMxLCAyMDgsIDEzMCwgMjA4LCAxMjksIDIwOCwgMTI4LCAyMDgsIDEyNiwgMjA4LCAxMjUsIDIwOCwgMTI0LCAyMDgsIAorICAgIDEyMywgMjA4LCAxMjIsIDIwOCwgMTIxLCAyMDgsIDEyMCwgMjA4LCAxMTksIDIwOCwgMTE4LCAyMDgsIDExNywgMjA4LCAKKyAgICAxMTUsIDIwOCwgMTE0LCAyMDgsIDExMywgMjA4LCAxMTIsIDIwOCwgMTExLCAyMDgsIDExMCwgMjA4LCAxMDksIDIwOCwgCisgICAgMTA4LCAyMDgsIDEwNywgMjA4LCAxMDYsIDIwOCwgMTA0LCAyMDgsIDEwMywgMjA4LCAxMDIsIDIwOCwgMTAxLCAyMDgsIAorICAgIDEwMCwgMjA4LCA5OSwgMjA4LCA5OCwgMjA4LCA5NywgMjA4LCA5NiwgMjA4LCA5NSwgMjA4LCA5MywgMjA4LCA5MiwgMjA4LCAKKyAgICA5MSwgMjA4LCA5MCwgMjA4LCA4OSwgMjA4LCA4OCwgMjA4LCA4NywgMjA4LCA4NiwgMjA4LCA4NSwgMjA4LCA4NCwgMjA4LCAKKyAgICA4MiwgMjA4LCA4MSwgMjA4LCA4MCwgMjA4LCA3OSwgMjA4LCA3OCwgMjA4LCA3NywgMjA4LCA3NiwgMjA4LCA3NSwgMjA4LCAKKyAgICA3NCwgMjA4LCA3MywgMjA4LCA3MSwgMjA4LCA3MCwgMjA4LCA2OSwgMjA4LCA2OCwgMjA4LCA2NywgMjA4LCA2NiwgMjA4LCAKKyAgICA2NSwgMjA4LCA2NCwgMjA4LCA2MywgMjA4LCA2MiwgMjA4LCA2MCwgMjA4LCA1OSwgMjA4LCA1OCwgMjA4LCA1NywgMjA4LCAKKyAgICA1NiwgMjA4LCA1NSwgMjA4LCA1NCwgMjA4LCA1MywgMjA4LCA1MiwgMjA4LCA1MSwgMjA4LCA0OSwgMjA4LCA0OCwgMjA4LCAKKyAgICA0NywgMjA4LCA0NiwgMjA4LCA0NSwgMjA4LCA0NCwgMjA4LCA0MywgMjA4LCA0MiwgMjA4LCA0MSwgMjA4LCA0MCwgMjA4LCAKKyAgICAzNywgMjA4LCAzNiwgMjA4LCAzNSwgMjA4LCAzNCwgMjA4LCAzMywgMjA4LCAzMiwgMjA4LCAzMSwgMjA4LCAzMCwgMjA4LCAKKyAgICAyOSwgMjA4LCAyOCwgMjA4LCAyNiwgMjA4LCAyNSwgMjA4LCAyNCwgMjA4LCAyMywgMjA4LCAyMiwgMjA4LCAyMSwgMjA4LCAKKyAgICAyMCwgMjA4LCAxOSwgMjA4LCAxOCwgMjA4LCAxNywgMjA4LCAxNSwgMjA4LCAxNCwgMjA4LCAxMywgMjA4LCAxMiwgMjA4LCAKKyAgICAxMSwgMjA4LCAxMCwgMjA4LCA5LCAyMDgsIDgsIDIwOCwgNywgMjA4LCA2LCAyMDgsIDQsIDIwOCwgMywgMjA4LCAyLCAyMDgsIAorICAgIDEsIDIwOCwgMCwgMjA3LCAyNTUsIDIwNywgMjU0LCAyMDcsIDI1MywgMjA3LCAyNTIsIDIwNywgMjUxLCAyMDcsIDI0OSwgCisgICAgMjA3LCAyNDgsIDIwNywgMjQ3LCAyMDcsIDI0NiwgMjA3LCAyNDUsIDIwNywgMjQ0LCAyMDcsIDI0MywgMjA3LCAyNDIsIAorICAgIDIwNywgMjQxLCAyMDcsIDI0MCwgMjA3LCAyMzgsIDIwNywgMjM3LCAyMDcsIDIzNiwgMjA3LCAyMzUsIDIwNywgMjM0LCAKKyAgICAyMDcsIDIzMywgMjA3LCAyMzIsIDcsIDYsIDEsIDMyLCAyLCAyMjgsIDE0LCAyMywgMjM5LCAyMzYsIDcsIDUsIDEsIDMyLCAKKyAgICAyLCAyMjgsIDE0LCAyMywgMjM5LCAyMzYsIDcsIDYsIDEsIDE3NCwgMiwgNzksIDIyOSwgMjA2LCA1NSwgNywgNSwgMSwgCisgICAgMTc0LCAyLCA3OSwgMjI5LCAyMDYsIDU1LCA3LCA2LCAxLCAxNzQsIDIsIDc5LCAyMjksIDIwNiwgMjUwLCAyNiwgMjMsIAorICAgIDIzOSwgMjM2LCA3LCA1LCAxLCAxNzQsIDIsIDc5LCAyMjksIDIwNiwgMjUwLCAyNiwgMjMsIDIzOSwgMjM2LCA3LCA2LCAxLCAKKyAgICAxNzQsIDIsIDc5LCAyMjksIDIwNiwgMjUwLCAyNiwgMjMsIDE1MywgNywgNSwgMSwgMTc0LCAyLCA3OSwgMjI5LCAyMDYsIAorICAgIDI1MCwgMjYsIDIzLCAxNTMsIDcsIDYsIDEsIDE3NCwgMiwgMjQ3LCAyMjgsIDIzLCAyMjgsIDEzLCA3LCA1LCAxLCAxNzQsIAorICAgIDIsIDI0NywgMjI4LCAyMywgMjI4LCAxMywgNywgNiwgMSwgMTc0LCAyLCAyNDcsIDIyOCwgMjMsIDI0OCwgMTk1LCA3LCA1LCAKKyAgICAxLCAxNzQsIDIsIDI0NywgMjI4LCAyMywgMjQ4LCAxOTUsIDcsIDYsIDEsIDIzNywgMjI1LCAyLCAyMjgsIDE0LCAyMywgCisgICAgMjM5LCAyMzYsIDcsIDUsIDEsIDIzNywgMjI1LCAyLCAyMjgsIDE0LCAyMywgMjM5LCAyMzYsIDcsIDUsIDEsIDIzNywgMjI1LCAKKyAgICAyLCA2NywgODQsIDIzLCAxNTMsIDcsIDUsIDEsIDIyNSwgODAsIDIsIDIxMSwgMTgxLCA1MiwgNywgNiwgMSwgMTQ4LCAyLCAKKyAgICA3OSwgMjI5LCAyMDYsIDU1LCA3LCA1LCAxLCAxNDgsIDIsIDc5LCAyMjksIDIwNiwgNTUsIDcsIDYsIDEsIDE0OCwgMiwgNzksIAorICAgIDIyOSwgMjA2LCAyNTAsIDI2LCAyMywgMjM5LCAyMzYsIDcsIDUsIDEsIDE0OCwgMiwgNzksIDIyOSwgMjA2LCAyNTAsIDI2LCAKKyAgICAyMywgMjM5LCAyMzYsIDcsIDYsIDEsIDE0OCwgMiwgNzksIDIyOSwgMjA2LCAyNTAsIDI2LCAyMywgMTUzLCA3LCA1LCAxLCAKKyAgICAxNDgsIDIsIDc5LCAyMjksIDIwNiwgMjUwLCAyNiwgMjMsIDE1MywgNywgNiwgMSwgMjE4LCAxLCAyLCA3OSwgMjI5LCAyMDYsIAorICAgIDU1LCA3LCA1LCAxLCAyMTgsIDEsIDIsIDc5LCAyMjksIDIwNiwgNTUsIDcsIDYsIDEsIDEwNiwgMiwgMjI4LCAxNCwgMjMsIAorICAgIDIzOSwgMjM2LCA3LCA1LCAxLCAxMDYsIDIsIDIyOCwgMTQsIDIzLCAyMzksIDIzNiwgNywgNiwgMSwgMzIsIDIsIDIyMiwgCisgICAgMTk3LCAyMywgMTUzLCA3LCA1LCAxLCAzMiwgMiwgMjIyLCAxOTcsIDIzLCAxNTMsIDcsIDYsIDEsIDMyLCAyLCAyMjIsIAorICAgIDE5NywgMjMsIDIxMSwgMTgwLCA3LCA1LCAxLCAzMiwgMiwgMjIyLCAxOTcsIDIzLCAyMTEsIDE4MCwgNywgNiwgMSwgMTc0LCAKKyAgICAyLCAyMjIsIDE5NywgMjMsIDE1MywgNywgNSwgMSwgMTc0LCAyLCAyMjIsIDE5NywgMjMsIDE1MywgNywgNiwgMSwgMTc0LCAKKyAgICAyLCAyMjIsIDE5NywgMjMsIDIxMSwgMTgwLCA3LCA1LCAxLCAxNzQsIDIsIDIyMiwgMTk3LCAyMywgMjExLCAxODAsIDcsIDYsIAorICAgIDEsIDE3NCwgMiwgNjcsIDg0LCAyMywgMTUzLCA3LCA1LCAxLCAxNzQsIDIsIDY3LCA4NCwgMjMsIDE1MywgNywgNiwgMSwgCisgICAgMTc0LCAyLCA2NywgODQsIDIzLCAyMTEsIDE4MCwgNywgNSwgMSwgMTc0LCAyLCA2NywgODQsIDIzLCAyMTEsIDE4MCwgNywgCisgICAgNSwgMSwgMjM3LCAyMjUsIDIsIDY3LCA4NCwgMjMsIDIzOSwgMjM2LCA3LCA1LCAxLCAyMzcsIDIyNSwgMiwgNjcsIDg0LCAKKyAgICAyMywgMjExLCAxODAsIDcsIDYsIDEsIDIzNywgMjI1LCAyLCAyMjIsIDE5NywgMjMsIDE1MywgNywgNSwgMSwgMjM3LCAyMjUsIAorICAgIDIsIDIyMiwgMTk3LCAyMywgNjcsIDg0LCAyMywgMTUzLCA3LCA2LCAxLCAyMzcsIDIyNSwgMiwgMjIyLCAxOTcsIDIzLCAKKyAgICAyMTEsIDE4MCwgNywgNSwgMSwgMjM3LCAyMjUsIDIsIDIyMiwgMTk3LCAyMywgNjcsIDg0LCAyMywgMjExLCAxODAsIDcsIDYsIAorICAgIDEsIDIzMiwgMjA0LCAyLCAyMTEsIDE4MCwgNywgNSwgMSwgMjMyLCAyMDQsIDIsIDY3LCA4NCwgMjMsIDIxMSwgMTgwLCA3LCAKKyAgICA2LCAxLCAyMzAsIDE1OSwgMiwgMjExLCAxODAsIDcsIDUsIDEsIDIzMCwgMTU5LCAyLCAyMTEsIDE4MCwgNywgNiwgMSwgCisgICAgMjI5LCAyOSwgMiwgMjExLCAxODAsIDcsIDUsIDEsIDIyOSwgMjksIDIsIDIxMSwgMTgwLCA3LCA2LCAxLCAyMTksIDE1MCwgCisgICAgMiwgMjExLCAxODAsIDcsIDUsIDEsIDIxOSwgMTUwLCAyLCAyMTEsIDE4MCwgNywgNiwgMSwgMTA2LCAyLCAyMjIsIDE5NywgCisgICAgMjMsIDE1MywgNywgNSwgMSwgMTA2LCAyLCAyMjIsIDE5NywgMjMsIDE1MywgNywgNiwgMSwgMTA2LCAyLCAyMjIsIDE5NywgCisgICAgMjMsIDIxMSwgMTgwLCA3LCA1LCAxLCAxMDYsIDIsIDIyMiwgMTk3LCAyMywgMjExLCAxODAsIDcsIDYsIDEsIDEwNiwgMiwgCisgICAgMjI4LCAxNCwgMjMsIDE1MywgNywgNSwgMSwgMTA2LCAyLCAyMjgsIDE0LCAyMywgMTUzLCA3LCA2LCAxLCAxMDYsIDIsIAorICAgIDIyOCwgMTQsIDIzLCAyMTEsIDE4MCwgNywgNSwgMSwgMTA2LCAyLCAyMjgsIDE0LCAyMywgMjExLCAxODAsIDcsIDUsIDEsIAorICAgIDI1MiwgMjQ5LCAyLCAyMzksIDIzNiwgNywgNSwgMSwgMjIyLCAxNDIsIDE0OCwgMiwgMjM5LCAyMzYsIDcsIDUsIDEsIDIyMiwgCisgICAgMTQyLCAxNDgsIDIsIDE1MywgNywgNSwgMSwgMjAxLCAyMDksIDE0OSwgMiwgMjM5LCAyMzYsIDcsIDUsIDEsIDIwMSwgMjA5LCAKKyAgICAxNDksIDIsIDE1MywgNywgNSwgMSwgMjE3LCAxMDEsIDIsIDIzOSwgMjM2LCA3LCA1LCAxLCAyMTcsIDEwMSwgMiwgMTUzLCAKKyAgICA3LCA1LCAxLCAyMzgsIDEyOSwgMjE3LCAxMDEsIDIsIDIzOSwgMjM2LCA3LCA1LCAxLCAyMzgsIDEyOSwgMjE3LCAxMDEsIDIsIAorICAgIDE1MywgOCwgMjE2LCAzNywgODcsIDIsIDIzOSwgMTEyLCA4NCwgMiwgMjUyLCAxNzIsIDgsIDIxNiwgMzcsIDg3LCAyLCAKKyAgICAyMzksIDExMiwgODQsIDIsIDIwNywgNTksIDgsIDIxNiwgMzcsIDg3LCAyLCAyMzksIDExMiwgODQsIDIsIDEyNiwgMjI3LCAKKyAgICAyMjgsIDgsIDIxNiwgMzcsIDg3LCAyLCAyMzksIDExMiwgODQsIDIsIDIyMiwgMjA2LCA4LCAyMTYsIDM3LCA4NywgMiwgCisgICAgMjM5LCAxMTIsIDg0LCAyLCA3MSwgOCwgMjE2LCAzNywgODcsIDIsIDIzOSwgMTEyLCA4NCwgMiwgMjA1LCAyMTMsIDgsIAorICAgIDIxNiwgMzcsIDg3LCAyLCAyMzksIDExMiwgODQsIDIsIDc1LCA4LCAyMTYsIDM3LCA4NywgMiwgMjM5LCAxMTIsIDg0LCAyLCAKKyAgICAyNTIsIDI0OCwgOCwgMjE2LCAzNywgMjI0LCA1NSwgMiwgMjMxLCAyMTIsIDE2NSwgMSwgMjMxLCAxNDIsIDQwLCAxMDcsIAorICAgIDIzMiwgNzYsIDQwLCAxMDcsIDIyNSwgNzksIDQwLCAxMDcsIDI0OSwgMzQsIDQwLCAxMDcsIDIyMywgMTQ2LCA0MCwgMTA3LCAKKyAgICAyMTAsIDIxMSwgNDAsIDEwNywgMjI0LCAxMDQsIDQwLCAxMDcsIDIxMywgMTAsIDQwLCAxMDcsIDIyNiwgMzMsIDQwLCAxMDcsIAorICAgIDIyMiwgNjcsIDQwLCAxMDcsIDIyOSwgMjgsIDQwLCAxMDcsIDIwNiwgMTIzLCA0MCwgMTA3LCAxMzcsIDQwLCAxMDcsIDE0OSwgCisgICAgNDAsIDEwNywgMjA5LCAxNDgsIDQwLCAxMDcsIDIyOSwgMTY0LCA0MCwgMTA3LCAyMjksIDE3MywgNDAsIDEwNywgMjE4LCAKKyAgICA5MCwgNDAsIDEwNywgMjI0LCA4NiwgNDAsIDEwNywgMjMyLCAyMDMsIDQwLCAxMDcsIDIxNiwgNCwgNDAsIDEwNywgMjE0LCAKKyAgICA5OSwgNDAsIDEwNywgMTgyLCA0MCwgMTA3LCAyMzksIDE1NSwgNDAsIDEwNywgMjMwLCAyNTEsIDQwLCA0LCAyMzIsIDYzLCAKKyAgICA0MCwgNCwgMjMxLCAxMjMsIDQwLCA0LCAyMzEsIDExMSwgNDAsIDQsIDIzMCwgMjM2LCA0MCwgNCwgMjMwLCAyMDIsIDQwLCAKKyAgICA0LCAyMzEsIDIyNCwgNDAsIDQsIDIzMSwgMjIxLCA0MCwgNCwgMjMyLCA0MSwgNDAsIDQsIDIzMSwgNTMsIDQwLCA0LCAyMzEsIAorICAgIDMzLCA0MCwgNCwgMjMxLCAyNDIsIDQwLCA0LCAyMjUsIDc2LCA0MCwgNCwgMjI1LCAyNSwgNDAsIDQsIDIyNSwgMjEsIDQwLCAKKyAgICA0LCAyMjQsIDI0NiwgNDAsIDQsIDIyNCwgMjM4LCA0MCwgNCwgMjI1LCA2NCwgNDAsIDQsIDIyNSwgNjIsIDQwLCA0LCAyMjUsIAorICAgIDczLCA0MCwgNCwgMjI1LCAyLCA0MCwgNCwgMjI0LCAyNTMsIDQwLCA0LCAyMjUsIDY2LCA0MCwgNCwgMjQ5LCAwLCA0MCwgNCwgCisgICAgMjQ3LCAyNTEsIDQwLCA0LCAyNDcsIDI0MSwgNDAsIDQsIDI0NywgNDAsIDQwLCA0LCAyNDcsIDksIDQwLCA0LCAyNDgsIAorICAgIDE0OCwgNDAsIDQsIDI0OCwgMTQwLCA0MCwgNCwgMjQ4LCAyNDUsIDQwLCA0LCAyNDcsIDE3NCwgNDAsIDQsIDI0NywgMTA1LCAKKyAgICA0MCwgNCwgMjQ4LCAxODEsIDQwLCA0LCAyMjMsIDE0MywgNDAsIDQsIDIyMywgMTI1LCA0MCwgNCwgMjIzLCAxMjAsIDQwLCAKKyAgICA0LCAyMjMsIDEwMywgNDAsIDQsIDIyMywgOTUsIDQwLCA0LCAyMjMsIDEzNCwgNDAsIDQsIDIyMywgMTMzLCA0MCwgNCwgCisgICAgMjIzLCAxNDAsIDQwLCA0LCAyMjMsIDExMCwgNDAsIDQsIDIyMywgMTA3LCA0MCwgNCwgMjIzLCAxMzcsIDQwLCA0LCAyMTAsIAorICAgIDIwNywgNDAsIDQsIDIxMCwgMTg3LCA0MCwgNCwgMjEwLCAxODYsIDQwLCA0LCAyMTAsIDE3NSwgNDAsIDQsIDIxMCwgMTcyLCAKKyAgICA0MCwgNCwgMjEwLCAyMDMsIDQwLCA0LCAyMTAsIDIwMiwgNDAsIDQsIDIxMCwgMjA2LCA0MCwgNCwgMjEwLCAxODUsIDQwLCAKKyAgICA0LCAyMTAsIDE4NCwgNDAsIDQsIDIxMCwgMjA1LCA0MCwgNCwgMjI0LCAxMDIsIDQwLCA0LCAyMjQsIDg4LCA0MCwgNCwgCisgICAgMjI0LCA4NywgNDAsIDQsIDIyNCwgNzEsIDQwLCA0LCAyMjQsIDcwLCA0MCwgNCwgMjI0LCA5OCwgNDAsIDQsIDIyNCwgOTcsIAorICAgIDQwLCA0LCAyMjQsIDEwMSwgNDAsIDQsIDIyNCwgNzMsIDQwLCA0LCAyMjQsIDcyLCA0MCwgNCwgMjI0LCAxMDAsIDQwLCA0LCAKKyAgICAyMTIsIDIxNSwgNDAsIDQsIDIxMSwgMjExLCA0MCwgNCwgMjExLCAxOTUsIDQwLCA0LCAyMTAsIDE3MCwgNDAsIDQsIDIxMCwgCisgICAgMTM1LCA0MCwgNCwgMjEyLCAxMzEsIDQwLCA0LCAyMTIsIDEyMCwgNDAsIDQsIDIxMiwgMTkzLCA0MCwgNCwgMTI0LCA0MCwgCisgICAgNCwgMjExLCAxMDUsIDQwLCA0LCAyMTIsIDE1MSwgNDAsIDQsIDIyNSwgMjMyLCA0MCwgNCwgMjI0LCAyMzAsIDQwLCA0LCAKKyAgICAyMjQsIDIwNSwgNDAsIDQsIDIyMywgMjE3LCA0MCwgNCwgMjIzLCAxNTgsIDQwLCA0LCAyMjUsIDExMCwgNDAsIDQsIDIyNSwgCisgICAgMTA2LCA0MCwgNCwgMjI1LCAyMTgsIDQwLCA0LCAyMjQsIDY3LCA0MCwgNCwgMjI0LCA1NiwgNDAsIDQsIDIyNSwgMTkxLCAKKyAgICA0MCwgNCwgMjIyLCA1MSwgNDAsIDQsIDIyMSwgNTMsIDQwLCA0LCAyMjEsIDE1LCA0MCwgNCwgMjIwLCA4MiwgNDAsIDQsIAorICAgIDIyMCwgNTAsIDQwLCA0LCAyMjEsIDE3NCwgNDAsIDQsIDIyMSwgMTY0LCA0MCwgNCwgMjIyLCAzMiwgNDAsIDQsIDIyMCwgCisgICAgMjExLCA0MCwgNCwgMjIwLCAxODcsIDQwLCA0LCAyMjEsIDE4OCwgNDAsIDQsIDIyOCwgMTgsIDQwLCA0LCAyMjYsIDI1NCwgCisgICAgNDAsIDQsIDIyNiwgMjI0LCA0MCwgNCwgMjI2LCAxMTQsIDQwLCA0LCAyMjYsIDYyLCA0MCwgNCwgMjI3LCAxMTksIDQwLCA0LCAKKyAgICAyMjcsIDEwNywgNDAsIDQsIDIyNywgMjM5LCA0MCwgNCwgMjI2LCAxODEsIDQwLCA0LCAyMjYsIDE1MCwgNDAsIDQsIDIyNywgCisgICAgMTY2LCA0MCwgNCwgMjA2LCAxMDksIDQwLCA0LCAyMDYsIDExLCA0MCwgNCwgMjA2LCAyLCA0MCwgNCwgMjA1LCAyMTMsIDQwLCAKKyAgICA0LCAyMDUsIDE4MSwgNDAsIDQsIDIwNiwgNTIsIDQwLCA0LCAyMDYsIDQ5LCA0MCwgNCwgMjA2LCA4OCwgNDAsIDQsIDIwNSwgCisgICAgMjQ3LCA0MCwgNCwgMjA1LCAyMzIsIDQwLCA0LCAyMDYsIDYxLCA0MCwgNCwgMjE5LCAxMDksIDQwLCA0LCAyMTgsIDIwOCwgCisgICAgNDAsIDQsIDIxOCwgMTU0LCA0MCwgNCwgMjE4LCA1MCwgNDAsIDQsIDIxOCwgMjEsIDQwLCA0LCAyMTksIDUxLCA0MCwgNCwgCisgICAgMjE5LCAyOSwgNDAsIDQsIDIxOSwgOTAsIDQwLCA0LCAyMTgsIDEyNCwgNDAsIDQsIDIxOCwgMTA3LCA0MCwgNCwgMjE5LCAKKyAgICA2MCwgNDAsIDQsIDIzMCwgMTQwLCA0MCwgNCwgMjI5LCAyMzUsIDQwLCA0LCAyMjksIDIxOSwgNDAsIDQsIDIyOSwgODEsIAorICAgIDQwLCA0LCAyMjksIDUzLCA0MCwgNCwgMjMwLCA1OCwgNDAsIDQsIDIzMCwgNTAsIDQwLCA0LCAyMzAsIDExNCwgNDAsIDQsIAorICAgIDIyOSwgMTQ0LCA0MCwgNCwgMjI5LCAxMTUsIDQwLCA0LCAyMzAsIDc1LCA0MCwgNCwgMjA5LCA2OSwgNDAsIDQsIDIwOCwgCisgICAgMjE0LCA0MCwgNCwgMjA4LCAxOTksIDQwLCA0LCAyMDcsIDE0OCwgNDAsIDQsIDIwNywgMTQxLCA0MCwgNCwgMjA5LCAzOSwgCisgICAgNDAsIDQsIDIwOSwgMzQsIDQwLCA0LCAyMDksIDY1LCA0MCwgNCwgMjA4LCAxNzMsIDQwLCA0LCAyMDgsIDE2MSwgNDAsIDQsIAorICAgIDIwOSwgNDUsIDQwLCA0LCAyMjksIDE2MiwgNDAsIDQsIDIyOSwgMTU3LCA0MCwgNCwgMjI5LCAxNTYsIDQwLCA0LCAyMjksIAorICAgIDE1MywgNDAsIDQsIDIyOSwgMTUyLCA0MCwgNCwgMjI5LCAxNTksIDQwLCA0LCAyMjksIDE1OCwgNDAsIDQsIDIyOSwgMTYxLCAKKyAgICA0MCwgNCwgMjI5LCAxNTUsIDQwLCA0LCAyMjksIDE1NCwgNDAsIDQsIDIyOSwgMTYwLCA0MCwgNCwgMjI5LCAxNzEsIDQwLCAKKyAgICA0LCAyMjksIDE2NiwgNDAsIDQsIDIyOSwgMTY1LCA0MCwgNCwgMjI5LCAxNDksIDQwLCA0LCAyMjksIDE0OCwgNDAsIDQsIAorICAgIDIyOSwgMTY4LCA0MCwgNCwgMjI5LCAxNjcsIDQwLCA0LCAyMjksIDE3MCwgNDAsIDQsIDIyOSwgMTUxLCA0MCwgNCwgMjI5LCAKKyAgICAxNTAsIDQwLCA0LCAyMjksIDE2OSwgNDAsIDQsIDIxOCwgODgsIDQwLCA0LCAyMTgsIDc3LCA0MCwgNCwgMjE4LCA3NiwgNDAsIAorICAgIDQsIDIxOCwgNzAsIDQwLCA0LCAyMTgsIDYzLCA0MCwgNCwgMjE4LCA4NCwgNDAsIDQsIDIxOCwgODMsIDQwLCA0LCAyMTgsIAorICAgIDg3LCA0MCwgNCwgMjE4LCA3NSwgNDAsIDQsIDIxOCwgNzQsIDQwLCA0LCAyMTgsIDg2LCA0MCwgNCwgMjI0LCA4NCwgNDAsIAorICAgIDQsIDIyNCwgNzksIDQwLCA0LCAyMjQsIDc4LCA0MCwgNCwgMjI0LCA3NSwgNDAsIDQsIDIyNCwgNzQsIDQwLCA0LCAyMjQsIAorICAgIDgxLCA0MCwgNCwgMjI0LCA4MCwgNDAsIDQsIDIyNCwgODMsIDQwLCA0LCAyMjQsIDc3LCA0MCwgNCwgMjI0LCA3NiwgNDAsIAorICAgIDQsIDIyNCwgODIsIDQwLCA0LCAyMzIsIDE5OSwgNDAsIDQsIDIzMiwgMTYyLCA0MCwgNCwgMjMyLCAxNTUsIDQwLCA0LCAKKyAgICAyMzIsIDEwNCwgNDAsIDQsIDIzMiwgODYsIDQwLCA0LCAyMzIsIDE4MiwgNDAsIDQsIDIzMiwgMTgwLCA0MCwgNCwgMjMyLCAKKyAgICAxOTMsIDQwLCA0LCAyMzIsIDEyMiwgNDAsIDQsIDIzMiwgMTEzLCA0MCwgNCwgMjMyLCAxODcsIDQwLCA0LCAyMTUsIDI1NCwgCisgICAgNDAsIDQsIDIxNSwgMTgzLCA0MCwgNCwgMjE1LCAxNzgsIDQwLCA0LCAyMTUsIDExNiwgNDAsIDQsIDIxNSwgMTAwLCA0MCwgCisgICAgNCwgMjE1LCAyMTQsIDQwLCA0LCAyMTUsIDIxMiwgNDAsIDQsIDIxNSwgMjQzLCA0MCwgNCwgMjE1LCAxNTgsIDQwLCA0LCAKKyAgICAyMTUsIDE1MiwgNDAsIDQsIDIxNSwgMjIzLCA0MCwgNCwgMjE0LCA5NSwgNDAsIDQsIDIxNCwgNjQsIDQwLCA0LCAyMTQsIAorICAgIDYwLCA0MCwgNCwgMjE0LCA1MSwgNDAsIDQsIDIxNCwgNDgsIDQwLCA0LCAyMTQsIDcwLCA0MCwgNCwgMjE0LCA2OSwgNDAsIAorICAgIDQsIDIxNCwgOTQsIDQwLCA0LCAyMTQsIDU2LCA0MCwgNCwgMjE0LCA1NSwgNDAsIDQsIDIxNCwgNzIsIDQwLCA0LCAyMTcsIAorICAgIDE5NiwgNDAsIDQsIDIxNSwgODAsIDQwLCA0LCAyMTUsIDYxLCA0MCwgNCwgMjEzLCAyMDMsIDQwLCA0LCAyMTMsIDExOSwgCisgICAgNDAsIDQsIDIxNywgODYsIDQwLCA0LCAyMTcsIDc0LCA0MCwgNCwgMjE3LCAxODEsIDQwLCA0LCAyMTQsIDE5MywgNDAsIDQsIAorICAgIDIxNCwgMTc0LCA0MCwgNCwgMjE3LCAxMjUsIDQwLCA0LCAyMzksIDE0MSwgNDAsIDQsIDIzOSwgMTEsIDQwLCA0LCAyMzgsIAorICAgIDI0NywgNDAsIDQsIDIzOCwgNDIsIDQwLCA0LCAyMzgsIDE5LCA0MCwgNCwgMjM5LCA3MSwgNDAsIDQsIDIzOSwgNTMsIDQwLCAKKyAgICA0LCAyMzksIDEzMSwgNDAsIDQsIDIzOCwgMTQ5LCA0MCwgNCwgMjM4LCAxMzEsIDQwLCA0LCAyMzksIDgwLCA0MCwgNCwgCisgICAgMjMwLCAyNTAsIDQwLCA0LCAyMzAsIDI0OSwgNDAsIDQsIDIzMCwgMjQ0LCA0MCwgNCwgMjMwLCAyNDMsIDQwLCA0LCAyMzAsIAorICAgIDI0MCwgNDAsIDQsIDIzMCwgMjM5LCA0MCwgNCwgMjMwLCAyNDYsIDQwLCA0LCAyMzAsIDI0NSwgNDAsIDQsIDIzMCwgMjQ4LCAKKyAgICA0MCwgNCwgMjMwLCAyNDIsIDQwLCA0LCAyMzAsIDI0MSwgNDAsIDQsIDIzMCwgMjQ3LCA0MCwgNCwgMjE1LCAxMjIsIDEzMiwgCisgICAgMTA3LCAzLCAyMDYsIDc0LCAxMzIsIDEwNywgMywgMjE5LCA3OSwgMTMyLCAxMDcsIDMsIDIxOCwgMjUzLCAxMDgsIDEsIAorICAgIDIxMCwgNzQsIDgyLCAxMDcsIDMsIDI0NywgMTY5LCAxNzIsIDgyLCAxMDcsIDMsIDI0NywgMTY5LCAyMzEsIDE2NywgODIsIAorICAgIDEwNywgMywgMjQ3LCAxNjksIDIzMSwgNTMsIDgyLCAxMDcsIDMsIDI0NywgMTY5LCAyMzEsIDEzOCwgODIsIDEwNywgMywgCisgICAgMjQ3LCAxNjksIDIyNSwgMiwgODIsIDEwNywgMywgMjQ3LCAxNjksIDI0OSwgMSwgODIsIDEwNywgMywgMjQ3LCAxNjksIAorICAgIDI0OCwgMTEwLCA4MiwgMTA3LCAzLCAyNDcsIDE2OSwgMjQ3LCAxNzQsIDgyLCAxMDcsIDMsIDI0NywgMTY5LCAyNDgsIDMyLCAKKyAgICA4MiwgMTA3LCAzLCAyNDcsIDE2OSwgMjIzLCAxMTAsIDgyLCAxMDcsIDMsIDI0NywgMTY5LCAyNDYsIDE0NSwgODIsIDEwNywgCisgICAgMywgMjQ3LCAxNjksIDIxMCwgMTk2LCA4MiwgMTA3LCAzLCAyNDcsIDE2OSwgMjQ1LCA1MSwgODIsIDEwNywgMywgMjQ3LCAKKyAgICAxNjksIDIxMCwgMTkxLCA4MiwgMTA3LCAzLCAyNDcsIDE2OSwgMTk5LCA4MiwgMTA3LCAzLCAyNDcsIDE2OSwgMjEyLCAyMTksIAorICAgIDgyLCAxMDcsIDMsIDI0NywgMTY5LCAyMTIsIDU2LCA4MiwgMTA3LCAzLCAyNDcsIDE2OSwgMTI0LCA4MiwgMTA3LCAzLCAKKyAgICAyNDcsIDE2OSwgMjExLCAyNTMsIDgyLCAxMDcsIDMsIDI0NywgMTY5LCAyMjQsIDY3LCA4MiwgMTA3LCAzLCAyNDcsIDE2OSwgCisgICAgMjUwLCAxODMsIDgyLCAxMDcsIDMsIDI0NywgMTY5LCAyMjEsIDkzLCA4MiwgMTA3LCAzLCAyNDcsIDE2OSwgMjIwLCAyMTEsIAorICAgIDgyLCAxMDcsIDMsIDI0NywgMTY5LCAyMjEsIDY2LCA4MiwgMTA3LCAzLCAyNDcsIDE2OSwgMjI2LCAxODEsIDgyLCAxMDcsIAorICAgIDMsIDI0NywgMTY5LCAyMDUsIDI0NywgODIsIDEwNywgMywgMjQ3LCAxNjksIDIxOCwgMTI0LCA4MiwgMTA3LCAzLCAyNDcsIAorICAgIDE2OSwgMjI5LCAxNDQsIDgyLCAxMDcsIDMsIDI0NywgMTY5LCAyMDgsIDE3MywgODIsIDEwNywgMywgMjQ3LCAxNjksIDIxNiwgCisgICAgMiwgODIsIDEwNywgMywgMjQ3LCAxNjksIDIxNCwgOTYsIDgyLCAxMDcsIDMsIDI0NywgMTY5LCAyMTcsIDE5OSwgODIsIAorICAgIDEwNywgMywgMjQ3LCAxNjksIDE1NSwgODIsIDEwNywgMywgMjQ3LCAxNjksIDIzMCwgMTQxLCA4MiwgMjIsIDMsIDI0NywgCisgICAgMTY5LCAyMjAsIDE5LCA4MiwgMjMzLCA1NSwgMjIsIDMsIDI0NywgMTY5LCAyMTksIDIxNCwgODIsIDIzMywgNTUsIDIyLCAzLCAKKyAgICAyNDcsIDE2OSwgMjE4LCA5LCA4MiwgMjMzLCA1NSwgMjIsIDMsIDI0NywgMTY5LCAyMTgsIDIsIDgyLCAyMzMsIDU1LCAyMiwgCisgICAgMywgMjQ3LCAxNjksIDIxOSwgMjU1LCA4MiwgMjIsIDMsIDIyMiwgMTczLCA4MiwgMjIsIDMsIDI1MywgMTI1LCAxNjEsIDEsIAorICAgIDI0OSwgMjM3LCAyMjUsIDc3LCAxNjEsIDEsIDI0OSwgMjM3LCAyMjUsIDI1LCAxNjEsIDEsIDI0OSwgMjM3LCAyMjQsIDI0NiwgCisgICAgMTYxLCAxLCAyNDksIDIzNywgMjI1LCA2NCwgMTYxLCAxLCAyNDksIDIzNywgMjI1LCAyLCA2NCwgMSwgMjQ5LCAyMzcsIAorICAgIDIyNSwgNzcsIDY0LCAxLCAyNDksIDIzNywgMjI1LCAyNSwgNjQsIDEsIDI0OSwgMjM3LCAyMjQsIDI0NiwgNjQsIDEsIDI0OSwgCisgICAgMjM3LCAyMjUsIDY0LCA2NCwgMSwgMjQ5LCAyMzcsIDIyNSwgMiwgNjQsIDEsIDI1MiwgMTk4LCAyNDgsIDE0OCwgNjQsIDEsIAorICAgIDI1MiwgMTk4LCAyMTAsIDE3MCwgNjQsIDEsIDI1MiwgMTk4LCAxMjQsIDY0LCAxLCAyNTIsIDE5OCwgMjIyLCA2NywgNjUsIAorICAgIDEsIDI0MiwgMTU2LCAyNDIsIDE1NSwgMjQ3LCAxMTMsIDEzNSwgMTM0LCA2NSwgMSwgMjQyLCAxNTUsIDI0MiwgMTU2LCAKKyAgICAyNDcsIDExMywgMTM1LCAxMzQsIAogfTsKIAogc3RhdGljIHVuc2lnbmVkIGNoYXIgcGhyYXNlYm9va19vZmZzZXQxW10gPSB7CiAgICAgMCwgMSwgMiwgMywgNCwgNSwgNiwgNywgOCwgOSwgMTAsIDExLCAxMiwgMTMsIDE0LCAxNSwgMTYsIDE3LCAxOCwgMTksIDIwLCAKICAgICAyMSwgMjIsIDIzLCAyNCwgMjUsIDI2LCAyNywgMjgsIDI5LCAzMCwgMzEsIDMyLCAzMywgMzQsIDM1LCAzNiwgMzcsIDM4LCAKLSAgICAzOSwgNDAsIDQxLCA0MiwgNDMsIDQ0LCA0NSwgNDYsIDQ3LCA0OCwgNDksIDUwLCA1MSwgNTIsIDUzLCA1NCwgNTUsIDU2LCAKLSAgICA1NywgNTgsIDU5LCA2MCwgNjEsIDYyLCA2MywgNjQsIDY1LCA2NiwgNjcsIDY4LCA2OSwgNzAsIDcxLCA3MiwgNzMsIDc0LCAKLSAgICA3NSwgNzYsIDc3LCA3OCwgNzksIDgwLCA4MSwgODIsIDgzLCA4NCwgODUsIDg2LCA4NywgODgsIDg5LCA5MCwgOTEsIDkyLCAKLSAgICA5MywgOTQsIDk1LCA5NiwgOTcsIDk4LCA5OSwgMTAwLCAxMDEsIDEwMiwgMTAzLCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAxMDQsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgMTA1LCAxMDYsIDEwNywgMTA4LCAxMDksIAotICAgIDExMCwgMTExLCAxMTIsIDExMywgMTE0LCAxMTUsIDExNiwgMTE3LCAxMTgsIDExOSwgMTIwLCAxMjEsIDEyMiwgMTIzLCAKLSAgICAxMjQsIDEyNSwgMTI2LCAxMjcsIDEyOCwgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgMTI5LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAxMzAsIDEzMSwgCi0gICAgMTMyLCAxMzMsIDEzNCwgMTM1LCAxMzYsIDEzNywgMTM4LCAxMzksIDE0MCwgMTQxLCAxNDIsIDE0MywgMTQ0LCAxNDUsIAotICAgIDE0NiwgMTQ3LCA4NywgMTQ4LCAxNDksIDE1MCwgMTUxLCAxNTIsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDE1MywgODcsIAotICAgIDE1NCwgMTU1LCAxNTYsIDg3LCAxNTcsIDg3LCAxNTgsIDg3LCA4NywgODcsIDE1OSwgODcsIDg3LCA4NywgMTYwLCAxNjEsIAotICAgIDE2MiwgMTYzLCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAxNjQsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDE2NSwgMTY2LCAxNjcsIDE2OCwgCi0gICAgMTY5LCAxNzAsIDE3MSwgODcsIDE3MiwgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAxNzMsIDE3NCwgMTc1LCAxNzYsIDE3NywgMTc4LCAKLSAgICAxNzksIDE4MCwgMTgxLCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgMTgyLCAKLSAgICAxODMsIDE4NCwgMTg1LCAxODYsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDE4NywgMTg4LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDE4OSwgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKLSAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgMTkwLCAxOTEsIDE5MiwgMTkzLCAxOTQsIDg3LCAxOTUsIAotICAgIDg3LCAxOTYsIDE5NywgMTk4LCAxOTksIDIwMCwgMjAxLCAyMDIsIDIwMywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCAyMDQsIDIwNSwgODcsIDg3LCAyMDYsIDIwNywgMjA4LCAyMDksIDIxMCwgODcsIDIxMSwgMjEyLCAyMTMsIDIxNCwgCi0gICAgMjE1LCAyMTYsIDIxNywgMjE4LCAyMTksIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDIyMCwgMjIxLCAKLSAgICAyMjIsIDIyMywgMjI0LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAotICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAyMjUsIDg3LCAyMjYsIDIyNywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDIyOCwgMjI5LCAyMzAsIDIzMSwgMjMyLCAyMzMsIDIzNCwgMjM1LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCi0gICAgODcsIDg3LCA4NywgODcsIAorICAgIDM5LCA0MCwgNDEsIDQyLCA0MywgNDQsIDQ1LCA0NiwgNDcsIDQ4LCA0OSwgNTAsIDUxLCA1MiwgNTIsIDUyLCA1MiwgNTIsIAorICAgIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIAorICAgIDUyLCA1MiwgNTMsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIAorICAgIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIAorICAgIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIAorICAgIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIAorICAgIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1NCwgNTUsIDU2LCA1NywgNTgsIAorICAgIDU5LCA2MCwgNjEsIDYyLCA2MywgNjQsIDY1LCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIAorICAgIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIAorICAgIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNjYsIDUyLCA1MiwgNTIsIAorICAgIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIAorICAgIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDY3LCA2OCwgNjksIDcwLCA3MSwgNzIsIAorICAgIDczLCA3NCwgNzUsIDc2LCA3NywgNzgsIDc5LCA4MCwgODEsIDgyLCA4MywgODQsIDg1LCA4NiwgNTIsIDg3LCA1MiwgODgsIAorICAgIDg5LCA5MCwgOTEsIDkyLCA5MywgOTQsIDUyLCA5NSwgNTIsIDk2LCA1MiwgNTIsIDUyLCA1MiwgNTIsIDk3LCA5OCwgOTksIAorICAgIDEwMCwgMTAxLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDEwMiwgMTAzLCAxMDQsIDEwNSwgCisgICAgMTA2LCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIAorICAgIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIAorICAgIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAxMDcsIDEwOCwgCisgICAgMTA5LCAxMTAsIDUyLCA1MiwgNTIsIDExMSwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDExMiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAxMTMsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIAorICAgIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAxMTQsIDExNSwgMTE2LCAxMTcsIAorICAgIDExOCwgMTE5LCAxMjAsIDEyMSwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIAorICAgIDUyLCA1MiwgNTIsIDEyMiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAxMjMsIDUyLCAxMjQsIDEyNSwgMTI2LCAxMjcsIDEyOCwgCisgICAgMTI5LCAxMzAsIDEzMSwgMTMyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCisgICAgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAxMzMsIDEzNCwgMTM1LCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCAKKyAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgMTM2LCAxMzcsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIAorICAgIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIAorICAgIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIAorICAgIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIAorICAgIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIAorICAgIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIAorICAgIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIAorICAgIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIAorICAgIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIAorICAgIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIAorICAgIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIAorICAgIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIAorICAgIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIAorICAgIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIAorICAgIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgMTM4LCAxMzksIDE0MCwgMTQxLCA1MiwgNTIsIAorICAgIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIAorICAgIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIAorICAgIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIAorICAgIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIAorICAgIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIAorICAgIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIAorICAgIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIAorICAgIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIAorICAgIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIAorICAgIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIAorICAgIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIAorICAgIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIAorICAgIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIAorICAgIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIAorICAgIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIAorICAgIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIAorICAgIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIAorICAgIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIAorICAgIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIAorICAgIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIAorICAgIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIAorICAgIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIAorICAgIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIAorICAgIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIAorICAgIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIAorICAgIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIAorICAgIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIAorICAgIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIAorICAgIDUyLCA1MiwgCiB9OwogCiBzdGF0aWMgdW5zaWduZWQgaW50IHBocmFzZWJvb2tfb2Zmc2V0MltdID0gewogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEsIDMsIDYsIDksIDExLCAxNCwgMTcsIDE5LCAyMSwgMjQsIDI3LCAyOSwgMzEsIAogICAgIDMzLCAzNSwgMzksIDQxLCA0NCwgNDYsIDQ4LCA1MCwgNTIsIDU0LCA1NiwgNTgsIDYwLCA2MiwgNjQsIDY2LCA2OSwgNzIsIAotICAgIDc1LCA3OCwgODIsIDg2LCA5MSwgOTYsIDEwMSwgMTA1LCAxMTAsIDExNSwgMTIwLCAxMjQsIDEyOSwgMTM0LCAxMzgsIDE0MiwgCi0gICAgMTQ3LCAxNTEsIDE1NiwgMTYxLCAxNjUsIDE3MCwgMTc1LCAxNzksIDE4NCwgMTg5LCAxOTQsIDE5OSwgMjA0LCAyMDcsIAorICAgIDc1LCA3OCwgODIsIDg2LCA5MSwgOTYsIDEwMSwgMTA1LCAxMTAsIDExNSwgMTIwLCAxMjQsIDEyOSwgMTM0LCAxMzgsIDE0MywgCisgICAgMTQ4LCAxNTIsIDE1NywgMTYyLCAxNjYsIDE3MCwgMTc1LCAxNzksIDE4NCwgMTg5LCAxOTQsIDE5OSwgMjA0LCAyMDcsIAogICAgIDIxMSwgMjE0LCAyMTgsIDIyMSwgMjI1LCAyMjksIDIzNCwgMjM5LCAyNDQsIDI0OCwgMjUzLCAyNTgsIDI2MywgMjY3LCAKLSAgICAyNzIsIDI3NywgMjgxLCAyODUsIDI5MCwgMjk0LCAyOTksIDMwNCwgMzA4LCAzMTMsIDMxOCwgMzIyLCAzMjcsIDMzMiwgCisgICAgMjcyLCAyNzcsIDI4MSwgMjg2LCAyOTEsIDI5NSwgMzAwLCAzMDUsIDMwOSwgMzEzLCAzMTgsIDMyMiwgMzI3LCAzMzIsIAogICAgIDMzNywgMzQyLCAzNDcsIDM1MSwgMzU0LCAzNTgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDM1OSwgMzYzLCAzNjgsIAotICAgIDM3MSwgMzc0LCAzNzcsIDM4MCwgMzgzLCAzODYsIDM4OCwgMzkxLCAzOTcsIDQwNSwgNDA4LCA0MTIsIDQxNSwgNDE3LCAKLSAgICA0MjAsIDQyMywgNDI2LCA0MjksIDQzMywgNDM2LCA0MzksIDQ0MywgNDQ1LCA0NDgsIDQ1NCwgNDYyLCA0NjksIDQ3NiwgCi0gICAgNDgzLCA0ODgsIDQ5NSwgNTAxLCA1MDgsIDUxNCwgNTIxLCA1MjksIDUzNCwgNTQyLCA1NDksIDU1NSwgNTYyLCA1NjksIAotICAgIDU3NywgNTg0LCA1OTIsIDYwMCwgNjA1LCA2MTIsIDYxOSwgNjI1LCA2MzIsIDYzOCwgNjQ1LCA2NDgsIDY1NCwgNjYxLCAKLSAgICA2NjcsIDY3NCwgNjgxLCA2ODgsIDY5MywgNzAwLCA3MDcsIDcxMywgNzIwLCA3MjYsIDczMywgNzQxLCA3NDYsIDc1NCwgCi0gICAgNzYxLCA3NjcsIDc3NCwgNzgxLCA3ODksIDc5NiwgODA0LCA4MTIsIDgxNywgODI0LCA4MzEsIDgzNywgODQ0LCA4NTAsIAotICAgIDg1NywgODYwLCA4NjYsIDg3MywgODc5LCA4ODYsIDg5MywgOTAwLCA5MDUsIDkxMywgOTIwLCA5MjcsIDkzNCwgOTQxLCAKLSAgICA5NDgsIDk1NSwgOTYyLCA5NjksIDk3NywgOTg1LCA5OTMsIDEwMDEsIDEwMDksIDEwMTcsIDEwMjUsIDEwMzMsIDEwNDAsIAotICAgIDEwNDcsIDEwNTQsIDEwNjEsIDEwNjgsIDEwNzUsIDEwODIsIDEwODksIDEwOTYsIDExMDMsIDExMTAsIDExMTcsIDExMjUsIAotICAgIDExMzMsIDExNDEsIDExNDksIDExNTcsIDExNjUsIDExNzMsIDExODEsIDExODksIDExOTcsIDEyMDQsIDEyMTEsIDEyMTgsIAotICAgIDEyMjUsIDEyMzMsIDEyNDEsIDEyNDksIDEyNTcsIDEyNjUsIDEyNzMsIDEyODEsIDEyODcsIDEyOTIsIDEyOTcsIDEzMDUsIAotICAgIDEzMTMsIDEzMjEsIDEzMjksIDEzMzQsIDEzNDEsIDEzNDgsIDEzNTYsIDEzNjQsIDEzNzIsIDEzODAsIDEzOTAsIDE0MDAsIAotICAgIDE0MDcsIDE0MTQsIDE0MjEsIDE0MjgsIDE0MzYsIDE0NDQsIDE0NTIsIDE0NjAsIDE0NzEsIDE0NzYsIDE0ODEsIDE0ODgsIAotICAgIDE0OTUsIDE1MDIsIDE1MDksIDE1MTYsIDE1MjMsIDE1MjgsIDE1MzMsIDE1NDAsIDE1NDcsIDE1NTUsIDE1NjMsIDE1NzEsIAotICAgIDE1NzksIDE1ODYsIDE1OTMsIDE2MDEsIDE2MDksIDE2MTcsIDE2MjUsIDE2MzMsIDE2NDEsIDE2NDksIDE2NTcsIDE2NjUsIAotICAgIDE2NzMsIDE2ODAsIDE2ODcsIDE2OTMsIDE2OTksIDE3MDYsIDE3MTMsIDE3MjAsIDE3MjcsIDE3MzUsIDE3NDMsIDE3NTAsIAotICAgIDE3NTcsIDE3NjQsIDE3NzEsIDE3NzksIDE3ODcsIDE3OTUsIDE4MDMsIDE4MTEsIDE4MTgsIDE4MjUsIDE4MzMsIDE4NDEsIAotICAgIDE4NDksIDE4NTcsIDE4NjMsIDE4NjksIDE4NzUsIDE4ODIsIDE4ODksIDE4OTQsIDE4OTksIDE5MDQsIDE5MTEsIDE5MTgsIAotICAgIDE5MjUsIDE5MzIsIDE5NDAsIDE5NDgsIDE5NTUsIDE5NjEsIDE5NjYsIDE5NzEsIDE5NzgsIDE5ODUsIDE5OTIsIDE5OTcsIAotICAgIDIwMDIsIDIwMDcsIDIwMTQsIDIwMjEsIDIwMjgsIDIwMzUsIDIwNDIsIDIwNDgsIDIwNTYsIDIwNjYsIDIwNzQsIDIwODEsIAotICAgIDIwODgsIDIwOTMsIDIwOTgsIDIxMDUsIDIxMTIsIDIxMTYsIDIxMjEsIDIxMjYsIDIxMzEsIDIxMzksIDIxNDgsIDIxNTUsIAotICAgIDIxNjIsIDIxNzEsIDIxNzgsIDIxODUsIDIxOTAsIDIxOTcsIDIyMDQsIDIyMTEsIDIyMTgsIDIyMjUsIDIyMzAsIDIyMzcsIAotICAgIDIyNDQsIDIyNTIsIDIyNTcsIDIyNjIsIDIyNjcsIDIyNzcsIDIyODEsIDIyODcsIDIyOTMsIDIyOTksIDIzMDUsIDIzMTMsIAotICAgIDIzMjYsIDIzMzQsIDIzMzksIDIzNDksIDIzNTQsIDIzNTksIDIzNjksIDIzNzQsIDIzODEsIDIzODgsIDIzOTYsIDI0MDQsIAotICAgIDI0MTEsIDI0MTgsIDI0MjUsIDI0MzIsIDI0NDIsIDI0NTIsIDI0NjEsIDI0NzAsIDI0ODAsIDI0OTAsIDI1MDAsIDI1MTAsIAotICAgIDI1MTYsIDI1MjYsIDI1MzYsIDI1NDYsIDI1NTYsIDI1NjQsIDI1NzIsIDI1NzksIDI1ODYsIDI1OTQsIDI2MDIsIDI2MTAsIAotICAgIDI2MTgsIDI2MjUsIDI2MzIsIDI2NDIsIDI2NTIsIDI2NjAsIDI2NjgsIDI2NzYsIDI2ODEsIDI2OTEsIDI2OTYsIDI3MDMsIAotICAgIDI3MTAsIDI3MTUsIDI3MjAsIDI3MjgsIDI3MzYsIDI3NDYsIDI3NTYsIDI3NjMsIDI3NzAsIDI3NzksIDI3ODgsIDI3OTYsIAotICAgIDI4MDQsIDI4MTMsIDI4MjIsIDI4MzAsIDI4MzgsIDI4NDcsIDI4NTYsIDI4NjUsIDI4NzQsIDI4ODQsIDI4OTQsIDI5MDIsIAotICAgIDI5MTAsIDI5MTksIDI5MjgsIDI5MzcsIDI5NDYsIDI5NTYsIDI5NjYsIDI5NzQsIDI5ODIsIDI5OTEsIDMwMDAsIDMwMDksIAotICAgIDMwMTgsIDMwMjcsIDMwMzYsIDMwNDEsIDMwNDYsIDMwNTQsIDMwNjIsIDMwNzIsIDMwODAsIDMwODUsIDMwOTAsIDMwOTcsIAotICAgIDMxMDQsIDMxMTEsIDMxMTgsIDMxMjUsIDMxMzIsIDMxNDIsIDMxNTIsIDMxNjIsIDMxNzIsIDMxNzksIDMxODYsIDMxOTYsIAotICAgIDMyMDYsIDMyMTQsIDMyMjIsIDMyMzAsIDMyMzgsIDMyNDYsIDMyNTMsIDMyNjAsIDMyNjcsIDMyNzMsIDMyODAsIDMyODcsIAotICAgIDMyOTQsIDMzMDMsIDMzMTMsIDMzMjMsIDMzMzAsIDMzMzcsIDMzNDMsIDMzNDgsIDMzNTUsIDMzNjEsIDMzNjcsIDMzNzQsIAotICAgIDMzODEsIDMzOTIsIDM0MDIsIDM0MDksIDM0MTYsIDM0MjMsIDM0MzAsIDM0MzYsIDM0NDEsIDM0NDgsIDM0NTQsIDM0NTksIAotICAgIDM0NjcsIDM0NzUsIDM0ODIsIDM0ODgsIDM0OTMsIDM1MDAsIDM1MDUsIDM1MTIsIDM1MjEsIDM1MzAsIDM1MzksIDM1NDYsIAotICAgIDM1NTIsIDM1NTgsIDM1NjMsIDM1NzAsIDM1NzcsIDM1ODQsIDM1OTEsIDM1OTgsIDM2MDMsIDM2MDgsIDM2MTcsIDM2MjUsIAotICAgIDM2MzQsIDM2MzksIDM2NDUsIDM2NTYsIDM2NjMsIDM2NzEsIDM2ODAsIDM2ODYsIDM2OTIsIDM2OTgsIDM3MDUsIDM3MTAsIAotICAgIDM3MTYsIDM3MjcsIDM3MzYsIDM3NDUsIDM3NTMsIDM3NjEsIDM3NzEsIDM3NzYsIDM3ODMsIDM3OTAsIDM3OTUsIDM4MDcsIAotICAgIDM4MTYsIDM4MjQsIDM4MzEsIDM4NDAsIDM4NDUsIDM4NTAsIDM4NTcsIDM4NjQsIDM4NzEsIDM4NzgsIDM4ODQsIDM4OTMsIAotICAgIDM5MDEsIDM5MDYsIDM5MTQsIDM5MjAsIDM5MjgsIDM5MzYsIDM5NDIsIDM5NDgsIDM5NTQsIDM5NjEsIDM5NjksIDM5NzUsIAotICAgIDM5ODMsIDM5OTAsIDM5OTUsIDQwMDIsIDQwMTAsIDQwMjAsIDQwMjcsIDQwMzQsIDQwNDQsIDQwNTEsIDQwNTgsIDQwNjgsIAotICAgIDQwNzUsIDQwODIsIDQwODksIDQwOTUsIDQxMDEsIDQxMTEsIDQxMjQsIDQxMjksIDQxMzYsIDQxNDEsIDQxNDUsIDQxNTEsIAotICAgIDQxNjAsIDQxNjcsIDQxNzIsIDQxNzcsIDQxODEsIDQxODYsIDQxOTIsIDQxOTYsIDQyMDIsIDQyMDgsIDQyMTQsIDQyMjAsIAotICAgIDQyMjgsIDQyMzMsIDQyMzgsIDQyNDMsIDQyNDgsIDQyNTQsIDQyNTYsIDQyNjEsIDQyNjUsIDQyNzEsIDQyNzcsIDQyODMsIAotICAgIDQyODgsIDQyOTUsIDQzMDIsIDQzMDgsIDQzMTUsIDQzMjMsIDQzMzEsIDQzMzYsIDQzNDEsIDQzNDUsIDQzNTAsIDQzNTIsIAotICAgIDQzNTQsIDQzNTcsIDQzNTksIDQzNjEsIDQzNjYsIDQzNzEsIDQzNzcsIDQzODIsIDQzODYsIDQzOTEsIDQzOTYsIDQ0MDUsIAotICAgIDQ0MTEsIDQ0MTYsIDQ0MjIsIDQ0MjcsIDQ0MzMsIDQ0NDEsIDQ0NDksIDQ0NTMsIDQ0NTcsIDQ0NjIsIDQ0NjgsIDQ0NzQsIAotICAgIDQ0ODAsIDQ0ODYsIDQ0OTEsIDQ0OTksIDQ1MDgsIDQ1MTcsIDQ1MjEsIDQ1MjcsIDQ1MzQsIDQ1NDEsIDQ1NDgsIDQ1NTUsIAotICAgIDQ1NTksIDQ1NjQsIDQ1NjksIDQ1NzQsIDQ1NzksIDQ1ODQsIDQ1ODYsIDQ1ODksIDQ1OTIsIDQ1OTUsIDQ1OTgsIDQ2MDEsIAotICAgIDQ2MDUsIDQ2MDksIDQ2MTUsIDQ2MTgsIDQ2MjMsIDQ2MjksIDQ2MzUsIDQ2MzgsIDQ2NDMsIDQ2NDksIDQ2NTMsIDQ2NTksIAotICAgIDQ2NjUsIDQ2NzEsIDQ2NzcsIDQ2ODIsIDQ2ODcsIDQ2OTIsIDQ2OTUsIDQ3MDEsIDQ3MDYsIDQ3MTEsIDQ3MTUsIDQ3MjAsIAotICAgIDQ3MjYsIDQ3MzIsIDQ3MzUsIDQ3MzksIDQ3NDMsIDQ3NDcsIDQ3NTAsIDQ3NTMsIDQ3NTgsIDQ3NjIsIDQ3NjksIDQ3NzMsIAotICAgIDQ3NzksIDQ3ODMsIDQ3ODksIDQ3OTMsIDQ3OTcsIDQ4MDEsIDQ4MDYsIDQ4MTEsIDQ4MTgsIDQ4MjQsIDQ4MzEsIDQ4MzcsIAotICAgIDQ4NDMsIDQ4NDksIDQ4NTIsIDQ4NTYsIDQ4NjAsIDQ4NjMsIDQ4NjcsIDQ4NzIsIDQ4NzcsIDQ4ODEsIDQ4ODUsIDQ4OTEsIAotICAgIDQ4OTUsIDQ4OTksIDQ5MDQsIDQ5MTAsIDQ5MTUsIDQ5MjEsIDQ5MjUsIDQ5MzIsIDQ5MzcsIDQ5NDIsIDQ5NDcsIDQ5NTIsIAotICAgIDQ5NTgsIDQ5NjEsIDQ5NjUsIDQ5NzAsIDQ5NzUsIDQ5ODQsIDQ5OTAsIDQ5OTUsIDQ5OTksIDUwMDQsIDUwMDgsIDUwMTMsIAotICAgIDUwMTcsIDUwMjEsIDUwMjYsIDUwMjksIDUwMzUsIDUwNDAsIDUwNDUsIDUwNTAsIDUwNTUsIDUwNjAsIDUwNjUsIDUwNzEsIAotICAgIDUwNzcsIDUwODMsIDUwODgsIDUwOTMsIDUwOTksIDUxMDUsIDUxMTEsIDUxMTYsIDUxMjEsIDUxMjgsIDUxMzUsIDUxMzksIAotICAgIDUxNDUsIDUxNTIsIDAsIDAsIDUxNTksIDUxNjIsIDUxNzEsIDUxODAsIDUxOTEsIDAsIDAsIDAsIDAsIDAsIDUxOTUsIAotICAgIDUxOTgsIDUyMDMsIDUyMTEsIDUyMTYsIDUyMjQsIDUyMzIsIDAsIDUyNDAsIDAsIDUyNDgsIDUyNTYsIDUyNjQsIDUyNzUsIAotICAgIDUyODAsIDUyODUsIDUyOTAsIDUyOTUsIDUzMDAsIDUzMDUsIDUzMTAsIDUzMTUsIDUzMjAsIDUzMjUsIDUzMzAsIDUzMzUsIAotICAgIDUzNDAsIDUzNDUsIDUzNTAsIDUzNTUsIDAsIDUzNjAsIDUzNjUsIDUzNzAsIDUzNzUsIDUzODAsIDUzODUsIDUzOTAsIAotICAgIDUzOTUsIDU0MDMsIDU0MTEsIDU0MTksIDU0MjcsIDU0MzUsIDU0NDMsIDU0NTQsIDU0NTksIDU0NjQsIDU0NjksIDU0NzQsIAotICAgIDU0NzksIDU0ODQsIDU0ODksIDU0OTQsIDU0OTksIDU1MDQsIDU1MDksIDU1MTQsIDU1MTksIDU1MjQsIDU1MjksIDU1MzQsIAotICAgIDU1MzksIDU1NDUsIDU1NTAsIDU1NTUsIDU1NjAsIDU1NjUsIDU1NzAsIDU1NzUsIDU1ODAsIDU1ODgsIDU1OTYsIDU2MDQsIAotICAgIDU2MTIsIDU2MjAsIDU2MjUsIDU2MjksIDU2MzMsIDU2NDAsIDU2NTAsIDU2NjAsIDU2NjQsIDU2NjgsIDU2NzIsIDU2NzgsIAotICAgIDU2ODUsIDU2ODksIDU2OTQsIDU2OTgsIDU3MDMsIDU3MDcsIDU3MTIsIDU3MTYsIDU3MjEsIDU3MjYsIDU3MzEsIDU3MzYsIAotICAgIDU3NDEsIDU3NDYsIDU3NTEsIDU3NTYsIDU3NjEsIDU3NjYsIDU3NzEsIDU3NzYsIDU3ODEsIDU3ODYsIDU3OTEsIDU3OTUsIAotICAgIDU3OTksIDU4MDUsIDU4MDksIDU4MTQsIDU4MjAsIDU4MjgsIDU4MzMsIDU4MzgsIDU4NDUsIDU4NTAsIDU4NTUsIDU4NjIsIAotICAgIDU4NzEsIDU4ODAsIDU4OTEsIDU4OTksIDU5MDQsIDU5MDksIDU5MTQsIDU5MjEsIDU5MjYsIDU5MzIsIDU5MzcsIDU5NDIsIAotICAgIDU5NDcsIDU5NTIsIDU5NTcsIDU5NjIsIDU5NzAsIDU5NzYsIDU5ODEsIDU5ODUsIDU5OTAsIDU5OTUsIDYwMDAsIDYwMDUsIAotICAgIDYwMTAsIDYwMTUsIDYwMjAsIDYwMjQsIDYwMzAsIDYwMzQsIDYwMzksIDYwNDQsIDYwNDksIDYwNTMsIDYwNTgsIDYwNjMsIAotICAgIDYwNjgsIDYwNzMsIDYwNzcsIDYwODIsIDYwODYsIDYwOTEsIDYwOTYsIDYxMDEsIDYxMDYsIDYxMTIsIDYxMTcsIDYxMjMsIAotICAgIDYxMjcsIDYxMzIsIDYxMzYsIDYxNDAsIDYxNDUsIDYxNTAsIDYxNTUsIDYxNjAsIDYxNjUsIDYxNzAsIDYxNzUsIDYxNzksIAotICAgIDYxODUsIDYxODksIDYxOTQsIDYxOTksIDYyMDQsIDYyMDgsIDYyMTMsIDYyMTgsIDYyMjMsIDYyMjgsIDYyMzIsIDYyMzcsIAotICAgIDYyNDEsIDYyNDYsIDYyNTEsIDYyNTYsIDYyNjEsIDYyNjcsIDYyNzIsIDYyNzgsIDYyODIsIDYyODcsIDYyOTEsIDYyOTksIAotICAgIDYzMDQsIDYzMDksIDYzMTQsIDYzMjEsIDYzMjYsIDYzMzIsIDYzMzcsIDYzNDIsIDYzNDcsIDYzNTIsIDYzNTcsIDYzNjIsIAotICAgIDYzNzAsIDYzNzYsIDYzODEsIDYzODYsIDYzOTEsIDYzOTYsIDY0MDEsIDY0MDcsIDY0MTMsIDY0MjAsIDY0MjcsIDY0MzYsIAotICAgIDY0NDUsIDY0NTIsIDY0NTksIDY0NjgsIDY0NzcsIDY0ODIsIDY0ODcsIDY0OTIsIDY0OTcsIDY1MDIsIDY1MDcsIDY1MTIsIAotICAgIDY1MTcsIDY1MjgsIDY1MzksIDY1NDQsIDY1NDksIDY1NTYsIDY1NjMsIDY1NzEsIDY1NzksIDY1ODQsIDY1ODksIDY1OTQsIAotICAgIDY1OTksIDY2MDMsIDY2MDcsIDY2MTEsIDY2MTcsIDY2MjMsIDY2MjcsIDY2MzQsIDY2MzksIDY2NDksIDY2NTksIDY2NjUsIAotICAgIDY2NzEsIDY2NzksIDY2ODcsIDY2OTUsIDY3MDMsIDY3MTAsIDY3MTcsIDY3MjYsIDY3MzUsIDY3NDMsIDY3NTEsIDY3NTksIAotICAgIDY3NjcsIDY3NzUsIDY3ODMsIDY3OTEsIDY3OTksIDY4MDYsIDY4MTMsIDY4MTksIDY4MjUsIDY4MzMsIDY4NDEsIDY4NDgsIAotICAgIDY4NTUsIDY4NjQsIDY4NzMsIDY4NzksIDY4ODUsIDY4OTMsIDY5MDEsIDY5MDksIDY5MTcsIDY5MjMsIDY5MjksIDY5MzcsIAotICAgIDY5NDUsIDY5NTMsIDY5NjEsIDY5NjgsIDY5NzUsIDY5ODMsIDY5OTEsIDY5OTksIDcwMDcsIDcwMTIsIDcwMTcsIDcwMjQsIAotICAgIDcwMzEsIDcwNDEsIDcwNTEsIDcwNTUsIDcwNjMsIDcwNzEsIDcwNzgsIDcwODUsIDcwOTMsIDcxMDEsIDcxMDgsIDcxMTUsIAotICAgIDcxMjMsIDcxMzEsIDcxMzgsIDcxNDUsIDcxNTMsIDcxNjEsIDcxNjYsIDcxNzMsIDcxODAsIDcxODcsIDcxOTQsIDcyMDAsIAotICAgIDcyMDYsIDcyMTQsIDcyMjIsIDcyMjcsIDcyMzIsIDcyNDAsIDcyNDgsIDcyNTYsIDcyNjQsIDcyNzIsIDcyODAsIDcyODcsIAotICAgIDcyOTQsIDczMDIsIDczMTAsIDczMTgsIDczMjYsIDczMzMsIDczNDAsIDczNDYsIDczNTIsIDczNjEsIDczNzAsIDczNzcsIAotICAgIDczODQsIDczOTEsIDczOTgsIDc0MDUsIDc0MTIsIDc0MTksIDc0MjYsIDc0MzQsIDc0NDIsIDc0NTAsIDc0NTgsIDc0NjYsIAotICAgIDc0NzQsIDc0ODQsIDc0OTQsIDc1MDEsIDc1MDgsIDc1MTUsIDc1MjIsIDc1MjksIDc1MzYsIDc1NDMsIDc1NTAsIDc1NTcsIAotICAgIDc1NjQsIDc1NzEsIDc1NzgsIDc1ODUsIDc1OTIsIDc1OTksIDc2MDYsIDc2MTMsIDc2MjAsIDc2MjcsIDc2MzQsIDc2NDEsIAotICAgIDc2NDgsIDc2NTUsIDc2NjIsIDc2NjcsIDc2NzIsIDc2NzcsIDc2ODIsIDc2ODcsIDc2OTIsIDc2OTcsIDc3MDIsIDc3MDcsIAotICAgIDc3MTIsIDc3MTgsIDc3MjQsIDc3MzMsIDc3NDIsIDc3NTEsIDc3NjAsIDc3NjgsIDc3NzYsIDc3ODQsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDc3OTIsIDc3OTcsIDc4MDIsIDc4MDcsIDc4MTIsIDc4MTcsIDc4MjIsIDc4MjcsIDc4MzIsIAotICAgIDc4MzYsIDc4NDEsIDc4NDYsIDc4NTEsIDc4NTYsIDc4NjEsIDc4NjYsIDc4NzEsIDc4NzYsIDc4ODEsIDc4ODYsIDc4OTEsIAotICAgIDc4OTYsIDc5MDEsIDc5MDYsIDc5MTEsIDc5MTYsIDc5MjEsIDc5MjYsIDc5MzAsIDc5MzUsIDc5NDAsIDc5NDUsIDc5NTAsIAotICAgIDc5NTUsIDc5NjAsIDc5NjUsIDc5NzAsIDc5NzUsIDAsIDAsIDc5ODAsIDc5ODcsIDc5OTAsIDc5OTQsIDc5OTgsIDgwMDEsIAotICAgIDgwMDUsIDAsIDgwMDksIDgwMTQsIDgwMTksIDgwMjQsIDgwMjksIDgwMzQsIDgwMzksIDgwNDQsIDgwNDksIDgwNTMsIAotICAgIDgwNTgsIDgwNjMsIDgwNjgsIDgwNzMsIDgwNzgsIDgwODMsIDgwODgsIDgwOTMsIDgwOTgsIDgxMDMsIDgxMDgsIDgxMTMsIAotICAgIDgxMTgsIDgxMjMsIDgxMjgsIDgxMzMsIDgxMzgsIDgxNDMsIDgxNDcsIDgxNTIsIDgxNTcsIDgxNjIsIDgxNjcsIDgxNzIsIAotICAgIDgxNzcsIDgxODIsIDgxODcsIDgxOTIsIDgxOTcsIDAsIDgyMDQsIDgyMDksIDAsIDAsIDAsIDAsIDgyMTIsIDAsIDgyMTYsIAotICAgIDgyMjEsIDgyMjYsIDgyMzEsIDgyMzgsIDgyNDUsIDgyNTAsIDgyNTUsIDgyNjAsIDgyNjUsIDgyNzAsIDgyNzUsIDgyODAsIAotICAgIDgyODcsIDgyOTIsIDgyOTksIDgzMDYsIDgzMTEsIDgzMTgsIDgzMjMsIDgzMjgsIDgzMzMsIDgzNDAsIDgzNDUsIDgzNTAsIAotICAgIDgzNTcsIDgzNjYsIDgzNzEsIDgzNzYsIDgzODEsIDgzODYsIDgzOTIsIDgzOTcsIDg0MDQsIDg0MTEsIDg0MTgsIDg0MjMsIAotICAgIDg0MjgsIDg0MzMsIDg0MzgsIDg0NDMsIDg0NDgsIDg0NTgsIDg0NjMsIDg0NzEsIDg0NzYsIDg0ODEsIDg0ODYsIDg0OTEsIAotICAgIDg0OTgsIDg1MDUsIDg1MTIsIDg1MTgsIDg1MjQsIDg1MzEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDg1MzgsIDg1NDIsIAotICAgIDg1NDYsIDg1NTAsIDg1NTQsIDg1NTgsIDg1NjIsIDg1NjYsIDg1NzAsIDg1NzQsIDg1NzgsIDg1ODMsIDg1ODcsIDg1OTEsIAotICAgIDg1OTYsIDg2MDAsIDg2MDUsIDg2MDksIDg2MTMsIDg2MTcsIDg2MjIsIDg2MjYsIDg2MzEsIDg2MzUsIDg2MzksIDg2NDMsIAotICAgIDg2NDcsIDAsIDAsIDAsIDAsIDAsIDg2NTEsIDg2NTgsIDg2NjYsIDg2NzMsIDg2NzgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDg2ODMsIDg2ODYsIDg2OTAsIDg2OTUsIDg2OTksIDAsIDg3MDMsIDg3MDksIDg3MTUsIDg3MTgsIAotICAgIDg3MjUsIDg3MzQsIDg3MzcsIDg3NDAsIDg3NDUsIDg3NTEsIDg3NTUsIDg3NjMsIDg3NjksIDg3NzUsIDg3ODMsIDg3ODcsIAotICAgIDg3OTIsIDg4MDMsIDg4MDgsIDg4MTIsIDg4MTYsIDg4MjAsIDg4MjMsIDAsIDg4MjYsIDg4MzMsIDg4MzcsIDg4NDMsIAotICAgIDg4NDcsIDg4NTQsIDg4NjAsIDg4NjcsIDg4NzMsIDg4NzksIDg4ODMsIDg4ODcsIDg4OTMsIDg4OTcsIDg5MDEsIDg5MDUsIAotICAgIDg5MDksIDg5MTMsIDg5MTcsIDg5MjEsIDg5MjUsIDg5MjksIDg5MzMsIDg5MzcsIDg5NDEsIDg5NDUsIDg5NDksIDg5NTMsIAotICAgIDg5NTcsIDg5NjEsIDg5NjksIDg5NzcsIDg5ODcsIDg5OTYsIDkwMDUsIDkwMDgsIDkwMTIsIDkwMTYsIDkwMjAsIDkwMjQsIAotICAgIDkwMjgsIDkwMzIsIDkwMzYsIDkwNDAsIDkwNDUsIDkwNDksIDkwNTIsIDkwNTUsIDkwNTgsIDkwNjEsIDkwNjQsIDkwNjcsIAotICAgIDkwNzAsIDkwNzMsIDkwNzcsIDkwODAsIDkwODMsIDkwODgsIDkwOTMsIDkwOTksIDkxMDIsIDkxMDksIDkxMTgsIDkxMjMsIAotICAgIDkxMjgsIDkxMzUsIDkxNDAsIDkxNDUsIDkxNDksIDkxNTMsIDkxNTcsIDkxNjEsIDkxNjUsIDkxNjksIDkxNzMsIDkxNzcsIAotICAgIDkxODEsIDkxODUsIDkxOTAsIDkxOTUsIDkyMDIsIDkyMDgsIDkyMTQsIDkyMjAsIDkyMjUsIDkyMzMsIDkyNDEsIDkyNDYsIAotICAgIDkyNTIsIDkyNTgsIDkyNjQsIDkyNzAsIDkyNzQsIDkyNzgsIDkyODIsIDkyODksIDkyOTksIDkzMDMsIDkzMDcsIDkzMTEsIAotICAgIDkzMTcsIDkzMjUsIDkzMjksIDkzMzMsIDkzNDAsIDkzNDQsIDkzNDgsIDkzNTIsIDkzNTksIDkzNjYsIDkzNzgsIDkzODIsIAotICAgIDkzODYsIDkzOTAsIDk0MDAsIDk0MDksIDk0MTMsIDk0MjEsIDk0MjgsIDk0MzUsIDk0NDQsIDk0NTUsIDk0NjMsIDk0NjcsIAotICAgIDk0NzYsIDk0ODcsIDk0OTUsIDk1MDgsIDk1MTYsIDk1MjQsIDk1MzIsIDk1NDAsIDk1NDYsIDk1NTUsIDk1NjIsIDk1NjYsIAotICAgIDk1NzQsIDk1NzgsIDk1ODUsIDk1OTMsIDk1OTcsIDk2MDMsIDk2MTAsIDk2MTcsIDk2MjEsIDk2MjksIDk2MzMsIDk2NDAsIAotICAgIDk2NDQsIDk2NTIsIDk2NTYsIDk2NjQsIDk2NzIsIDk2NzksIDk2ODcsIDk2OTUsIDk3MDIsIDk3MDgsIDk3MTIsIDk3MTksIAotICAgIDk3MjcsIDk3MzMsIDk3NDAsIDk3NDcsIDk3NTMsIDk3NjIsIDk3NzAsIDk3NzcsIDk3ODMsIDk3ODcsIDk3OTAsIDk3OTQsIAotICAgIDk4MDAsIDk4MDgsIDk4MTIsIDk4MTgsIDk4MjQsIDk4MzEsIDk4MzgsIDk4NDEsIDk4NDgsIDk4NTMsIDk4NjEsIDk4NjYsIAotICAgIDk4NzAsIDk4ODMsIDk4OTYsIDk5MDIsIDk5MDksIDk5MTQsIDk5MjAsIDk5MjUsIDk5MzEsIDk5NDEsIDk5NDgsIDk5NTcsIAotICAgIDk5NjcsIDk5NzMsIDk5NzgsIDk5ODMsIDk5ODcsIDk5OTEsIDk5OTYsIDEwMDAxLCAxMDAwNywgMTAwMTUsIDEwMDIzLCAKLSAgICAxMDAzNCwgMTAwMzksIDEwMDQ4LCAxMDA1NywgMTAwNjQsIDEwMDcwLCAxMDA3NiwgMTAwODIsIDEwMDg4LCAxMDA5NCwgCi0gICAgMTAxMDAsIDEwMTA2LCAxMDExMiwgMTAxMTgsIDEwMTI1LCAxMDEzMiwgMTAxMzksIDEwMTQ1LCAxMDE1MywgMTAxNjIsIAotICAgIDEwMTY4LCAxMDE3NSwgMTAxODIsIDEwMTg3LCAxMDE5MiwgMTAxOTYsIDEwMjAzLCAxMDIxMCwgMTAyMTksIDEwMjI4LCAKLSAgICAxMDIzMSwgMTAyMzYsIDEwMjQxLCAwLCAxMDI0NiwgMTAyNTAsIDEwMjU0LCAxMDI2MCwgMTAyNjQsIDEwMjY4LCAxMDI3NCwgCi0gICAgMTAyNzgsIDEwMjg2LCAxMDI5MCwgMTAyOTQsIDEwMjk4LCAxMDMwMiwgMTAzMDYsIDEwMzEyLCAxMDMxNiwgMTAzMjIsIAotICAgIDEwMzI2LCAxMDMzMCwgMTAzMzQsIDEwMzM4LCAxMDM0MiwgMTAzNDcsIDEwMzUwLCAxMDM1NCwgMTAzNjAsIDEwMzY0LCAKLSAgICAxMDM2OCwgMTAzNzIsIDEwMzc2LCAxMDM4MCwgMTAzODYsIDEwMzkyLCAxMDM5OCwgMTA0MDIsIDEwNDA2LCAxMDQxMSwgCi0gICAgMTA0MTUsIDEwNDE5LCAxMDQyNCwgMTA0MjgsIDEwNDMyLCAxMDQzOSwgMTA0NDYsIDEwNDUwLCAxMDQ1NCwgMTA0NTksIAotICAgIDEwNDYzLCAxMDQ2NywgMTA0NzAsIDEwNDc1LCAxMDQ3OCwgMTA0ODEsIDEwNDg2LCAxMDQ5MSwgMTA0OTUsIDEwNDk5LCAKLSAgICAxMDUwNSwgMTA1MTEsIDEwNTE0LCAwLCAwLCAxMDUxNywgMTA1MjMsIDEwNTI5LCAxMDUzNSwgMTA1NDUsIDEwNTU3LCAKLSAgICAxMDU2OSwgMTA1ODYsIDEwNTk4LCAxMDYwOSwgMTA2MTcsIDEwNjI0LCAxMDYzNSwgMTA2NTAsIDEwNjYxLCAxMDY2NywgCi0gICAgMTA2NzYsIDEwNjg0LCAxMDY5NiwgMTA3MDYsIDEwNzE0LCAxMDcyNiwgMTA3MzMsIDEwNzQxLCAxMDc1MywgMTA3NTksIAotICAgIDEwNzY1LCAxMDc3MywgMTA3ODEsIDEwNzg5LCAxMDc5NSwgMTA4MDUsIDEwODEyLCAxMDgyMiwgMTA4MzIsIDEwODQ1LCAKLSAgICAxMDg1OSwgMTA4NzMsIDEwODgzLCAxMDg5NCwgMTA5MDUsIDEwOTE4LCAxMDkzMSwgMTA5NDUsIDEwOTU3LCAxMDk2OSwgCi0gICAgMTA5ODIsIDEwOTk1LCAxMTAwNywgMTEwMjAsIDExMDI5LCAxMTAzNywgMTEwNDIsIDExMDQ3LCAxMTA1MiwgMTEwNTcsIAotICAgIDExMDYyLCAxMTA2NywgMTEwNzIsIDExMDc3LCAxMTA4MiwgMTEwODcsIDExMDkyLCAxMTA5NywgMTExMDIsIDExMTA3LCAKLSAgICAxMTExMiwgMTExMTcsIDExMTIyLCAxMTEyNywgMTExMzIsIDExMTM3LCAxMTE0MiwgMTExNDcsIDExMTUyLCAxMTE1NywgCi0gICAgMTExNjIsIDExMTY3LCAxMTE3MiwgMTExNzcsIDExMTgyLCAxMTE4NywgMTExOTIsIDExMTk3LCAxMTIwMSwgMTEyMDYsIAotICAgIDExMjExLCAxMTIxNiwgMTEyMjEsIDExMjI2LCAxMTIzMCwgMTEyMzQsIDExMjM4LCAxMTI0MiwgMTEyNDYsIDExMjUwLCAKLSAgICAxMTI1NCwgMTEyNTgsIDExMjYyLCAxMTI2NiwgMTEyNzAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDExMjc1LCAxMTI4MCwgMTEyODQsIDExMjg4LCAxMTI5MiwgMTEyOTYsIDExMzAwLCAxMTMwNCwgMTEzMDgsIDExMzEyLCAKLSAgICAxMTMxNiwgMTEzMjAsIDExMzI1LCAxMTMyOSwgMTEzMzMsIDExMzM3LCAxMTM0MiwgMTEzNDYsIDExMzUxLCAxMTM1NiwgCi0gICAgMTEzNjEsIDExMzY1LCAxMTM3MCwgMTEzNzUsIDExMzgwLCAxMTM4NSwgMTEzODksIDExMzk0LCAxMTM5OCwgMTE0MDMsIAotICAgIDExNDA4LCAxMTQxMiwgMTE0MTcsIDExNDI0LCAxMTQyOCwgMTE0MzMsIDExNDM3LCAxMTQ0MSwgMTE0NDYsIDExNDUwLCAKLSAgICAxMTQ1NywgMTE0NjQsIDExNDcxLCAxMTQ3NywgMTE0ODUsIDExNDkzLCAxMTUwMiwgMTE1MTAsIDExNTE3LCAxMTUyNCwgCi0gICAgMTE1MzIsIDExNTM4LCAxMTU0NCwgMTE1NTAsIDExNTU2LCAxMTU2MywgMTE1NjgsIDExNTcyLCAxMTU3NywgMCwgMCwgMCwgCi0gICAgMCwgMCwgMTE1ODEsIDExNTg2LCAxMTU5MSwgMTE1OTYsIDExNjAxLCAxMTYwNiwgMTE2MTEsIDExNjE2LCAxMTYyMSwgCi0gICAgMTE2MjYsIDExNjMxLCAxMTYzNiwgMTE2NDEsIDExNjQ2LCAxMTY1MSwgMTE2NTYsIDExNjYxLCAxMTY2NiwgMTE2NzEsIAotICAgIDExNjc2LCAxMTY4MSwgMTE2ODYsIDExNjkxLCAxMTY5NiwgMTE3MDEsIDExNzA2LCAxMTcxMSwgMTE3MTksIDExNzI2LCAKLSAgICAxMTczMiwgMTE3MzcsIDExNzQ1LCAxMTc1MiwgMTE3NTgsIDExNzY1LCAxMTc3MSwgMTE3NzYsIDExNzgzLCAxMTc5MCwgCi0gICAgMTE3OTYsIDExODAxLCAxMTgwNiwgMTE4MTIsIDExODE3LCAxMTgyMiwgMTE4MjgsIDAsIDAsIDExODMzLCAxMTgzOSwgCi0gICAgMTE4NDUsIDExODUxLCAxMTg1NywgMTE4NjMsIDExODY5LCAxMTg3NCwgMTE4ODIsIDExODg4LCAxMTg5NCwgMTE5MDAsIAotICAgIDExOTA2LCAxMTkxMiwgMTE5MjAsIDAsIDExOTI2LCAxMTkzMSwgMTE5MzYsIDExOTQxLCAxMTk0NiwgMTE5NTEsIDExOTU2LCAKLSAgICAxMTk2MSwgMTE5NjYsIDExOTcxLCAxMTk3NiwgMTE5ODEsIDExOTg2LCAxMTk5MSwgMTE5OTYsIDEyMDAxLCAxMjAwNiwgCi0gICAgMTIwMTEsIDEyMDE2LCAxMjAyMSwgMTIwMjYsIDEyMDMxLCAxMjAzNiwgMTIwNDEsIDEyMDQ2LCAxMjA1MSwgMTIwNTYsIAotICAgIDEyMDYxLCAwLCAwLCAxMjA2NiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzYwLCAzNjQsIDM2OSwgCisgICAgMzcyLCAzNzUsIDM3OCwgMzgxLCAzODQsIDM4NywgMzg5LCAzOTIsIDM5OCwgNDA2LCA0MDksIDQxMywgNDE2LCA0MTgsIAorICAgIDQyMSwgNDI0LCA0MjcsIDQzMCwgNDM0LCA0MzcsIDQ0MCwgNDQ0LCA0NDYsIDQ0OSwgNDU1LCA0NjMsIDQ3MCwgNDc3LCAKKyAgICA0ODQsIDQ4OSwgNDk2LCA1MDIsIDUwOSwgNTE2LCA1MjMsIDUzMSwgNTM2LCA1NDQsIDU1MSwgNTU3LCA1NjQsIDU3MSwgCisgICAgNTc5LCA1ODYsIDU5NCwgNjAyLCA2MDcsIDYxNSwgNjIyLCA2MjgsIDYzNSwgNjQyLCA2NDksIDY1MiwgNjU4LCA2NjUsIAorICAgIDY3MSwgNjc4LCA2ODUsIDY5MiwgNjk3LCA3MDMsIDcxMCwgNzE2LCA3MjMsIDczMCwgNzM3LCA3NDUsIDc1MCwgNzU4LCAKKyAgICA3NjUsIDc3MSwgNzc4LCA3ODUsIDc5MywgODAwLCA4MDgsIDgxNiwgODIxLCA4MjksIDgzNiwgODQyLCA4NDksIDg1NiwgCisgICAgODYzLCA4NjYsIDg3MiwgODc5LCA4ODUsIDg5MiwgODk5LCA5MDYsIDkxMSwgOTE5LCA5MjYsIDkzMywgOTQwLCA5NDcsIAorICAgIDk1NCwgOTYxLCA5NjgsIDk3NSwgOTgzLCA5OTEsIDk5OSwgMTAwNywgMTAxNSwgMTAyMywgMTAzMSwgMTAzOSwgMTA0NiwgCisgICAgMTA1MywgMTA2MCwgMTA2NywgMTA3NCwgMTA4MSwgMTA4OCwgMTA5NSwgMTEwMiwgMTEwOSwgMTExNiwgMTEyMywgMTEzMSwgCisgICAgMTEzOSwgMTE0NywgMTE1NSwgMTE2MywgMTE3MSwgMTE3OSwgMTE4NywgMTE5NSwgMTIwMywgMTIxMCwgMTIxNywgMTIyNSwgCisgICAgMTIzMywgMTI0MSwgMTI0OSwgMTI1NywgMTI2NSwgMTI3MywgMTI4MSwgMTI4OSwgMTI5NSwgMTMwMCwgMTMwNSwgMTMxMywgCisgICAgMTMyMSwgMTMyOSwgMTMzNywgMTM0MiwgMTM0OSwgMTM1NiwgMTM2NCwgMTM3MiwgMTM4MCwgMTM4OCwgMTM5OCwgMTQwOCwgCisgICAgMTQxNSwgMTQyMiwgMTQyOSwgMTQzNiwgMTQ0NCwgMTQ1MiwgMTQ2MCwgMTQ2OCwgMTQ3OSwgMTQ4NCwgMTQ4OSwgMTQ5NiwgCisgICAgMTUwMywgMTUxMCwgMTUxNywgMTUyNCwgMTUzMSwgMTUzNiwgMTU0MSwgMTU0OCwgMTU1NSwgMTU2MywgMTU3MSwgMTU3OSwgCisgICAgMTU4NywgMTU5NCwgMTYwMSwgMTYwOSwgMTYxNywgMTYyNSwgMTYzMywgMTY0MSwgMTY0OSwgMTY1NywgMTY2NSwgMTY3MywgCisgICAgMTY4MSwgMTY4OCwgMTY5NSwgMTcwMiwgMTcwOSwgMTcxNiwgMTcyMywgMTczMCwgMTczNywgMTc0NSwgMTc1MywgMTc2MCwgCisgICAgMTc2NywgMTc3NCwgMTc4MSwgMTc4OSwgMTc5NywgMTgwNSwgMTgxMywgMTgyMSwgMTgyOCwgMTgzNSwgMTg0MywgMTg1MSwgCisgICAgMTg1OSwgMTg2NywgMTg3MiwgMTg3OCwgMTg4NCwgMTg5MSwgMTg5OCwgMTkwMywgMTkwOCwgMTkxNCwgMTkyMSwgMTkyOCwgCisgICAgMTkzNSwgMTk0MiwgMTk1MCwgMTk1OCwgMTk2NCwgMTk3MCwgMTk3NSwgMTk4MSwgMTk4OCwgMTk5NSwgMjAwMiwgMjAwNywgCisgICAgMjAxMiwgMjAxNywgMjAyNCwgMjAzMSwgMjAzOCwgMjA0NSwgMjA1MiwgMjA1OCwgMjA2NiwgMjA3NiwgMjA4NSwgMjA5MiwgCisgICAgMjA5OSwgMjEwNCwgMjEwOSwgMjExNiwgMjEyMywgMjEyNywgMjEzMiwgMjEzNywgMjE0MiwgMjE1MCwgMjE1OSwgMjE2NiwgCisgICAgMjE3MywgMjE4MiwgMjE4OSwgMjE5NiwgMjIwMSwgMjIwOCwgMjIxNSwgMjIyMiwgMjIyOSwgMjIzNiwgMjI0MSwgMjI0OCwgCisgICAgMjI1NSwgMjI2MywgMjI2OCwgMjI3MywgMjI3OCwgMjI4OCwgMjI5MiwgMjI5OCwgMjMwNCwgMjMxMCwgMjMxNiwgMjMyNCwgCisgICAgMjMzNywgMjM0NSwgMjM1MCwgMjM2MCwgMjM2NSwgMjM3MCwgMjM4MCwgMjM4NSwgMjM5MiwgMjM5OSwgMjQwNywgMjQxNSwgCisgICAgMjQyMiwgMjQyOSwgMjQzNiwgMjQ0MywgMjQ1MywgMjQ2MywgMjQ3MiwgMjQ4MSwgMjQ5MSwgMjUwMSwgMjUxMSwgMjUyMSwgCisgICAgMjUyNiwgMjUzNiwgMjU0NiwgMjU1NiwgMjU2NiwgMjU3NCwgMjU4MiwgMjU4OSwgMjU5NiwgMjYwNCwgMjYxMiwgMjYyMCwgCisgICAgMjYyOCwgMjYzNSwgMjY0MiwgMjY1MiwgMjY2MiwgMjY3MCwgMjY3OCwgMjY4NiwgMjY5MSwgMjcwMSwgMjcwNiwgMjcxMywgCisgICAgMjcyMCwgMjcyNSwgMjczMCwgMjczOCwgMjc0NiwgMjc1NiwgMjc2NiwgMjc3MywgMjc4MCwgMjc4OSwgMjc5OCwgMjgwNiwgCisgICAgMjgxNCwgMjgyMywgMjgzMiwgMjg0MCwgMjg0OCwgMjg1NywgMjg2NiwgMjg3NSwgMjg4NCwgMjg5NCwgMjkwNCwgMjkxMiwgCisgICAgMjkyMCwgMjkyOSwgMjkzOCwgMjk0NywgMjk1NiwgMjk2NiwgMjk3NiwgMjk4NCwgMjk5MiwgMzAwMSwgMzAxMCwgMzAxOSwgCisgICAgMzAyOCwgMzAzNywgMzA0NiwgMzA1MSwgMzA1NiwgMzA2NCwgMzA3MiwgMzA4MiwgMzA5MCwgMzA5NSwgMzEwMCwgMzEwNywgCisgICAgMzExNCwgMzEyMSwgMzEyOCwgMzEzNSwgMzE0MiwgMzE1MiwgMzE2MiwgMzE3MiwgMzE4MiwgMzE4OSwgMzE5NiwgMzIwNiwgCisgICAgMzIxNiwgMzIyNCwgMzIzMiwgMzI0MCwgMzI0OCwgMzI1NiwgMzI2MywgMzI3MCwgMzI3NywgMzI4MywgMzI5MCwgMzI5NywgCisgICAgMzMwNCwgMzMxMywgMzMyMywgMzMzMywgMzM0MCwgMzM0NywgMzM1MywgMzM1OCwgMzM2NCwgMzM3MCwgMzM3NiwgMzM4MywgCisgICAgMzM5MCwgMzQwMSwgMzQxMSwgMzQxOCwgMzQyNSwgMzQzMiwgMzQzOSwgMzQ0NCwgMzQ0OSwgMzQ1NSwgMzQ2MSwgMzQ2NywgCisgICAgMzQ3NSwgMzQ4MywgMzQ5MCwgMzQ5NiwgMzUwMSwgMzUwOCwgMzUxNCwgMzUyMiwgMzUzMiwgMzU0MiwgMzU1MSwgMzU1OCwgCisgICAgMzU2NCwgMzU3MCwgMzU3NSwgMzU4MiwgMzU4OCwgMzU5NSwgMzYwMiwgMzYwOSwgMzYxNCwgMzYxOSwgMzYyOSwgMzYzNywgCisgICAgMzY0NiwgMzY1MSwgMzY1NywgMzY2NywgMzY3NCwgMzY4MiwgMzY5MSwgMzY5NywgMzcwMywgMzcwOSwgMzcxNiwgMzcyMSwgCisgICAgMzcyNiwgMzczNiwgMzc0NCwgMzc1MywgMzc2MSwgMzc2OSwgMzc3OSwgMzc4NCwgMzc5MSwgMzc5OCwgMzgwMywgMzgxNSwgCisgICAgMzgyNCwgMzgzMiwgMzgzOCwgMzg0NywgMzg1MiwgMzg1NywgMzg2NCwgMzg3MCwgMzg3NiwgMzg4MiwgMzg4OCwgMzg5NywgCisgICAgMzkwNSwgMzkxMCwgMzkxOCwgMzkyNCwgMzkzMiwgMzk0MCwgMzk0NiwgMzk1MiwgMzk1OCwgMzk2NiwgMzk3NCwgMzk4MCwgCisgICAgMzk4OCwgMzk5NCwgMzk5OSwgNDAwNiwgNDAxNCwgNDAyNCwgNDAzMSwgNDAzOCwgNDA0OCwgNDA1NSwgNDA2MiwgNDA3MiwgCisgICAgNDA3OSwgNDA4NiwgNDA5MywgNDA5OSwgNDEwNSwgNDExNCwgNDEyNiwgNDEzMSwgNDEzOCwgNDE0MywgNDE0NywgNDE1MiwgCisgICAgNDE2MCwgNDE2NywgNDE3MiwgNDE3NywgNDE4MSwgNDE4NiwgNDE5MSwgNDE5NSwgNDIwMSwgNDIwNywgNDIxMywgNDIxOSwgCisgICAgNDIyNywgNDIzMiwgNDIzNywgNDI0MiwgNDI0NywgNDI1MywgNDI1NSwgNDI2MCwgNDI2NCwgNDI3MCwgNDI3NiwgNDI4MiwgCisgICAgNDI4NywgNDI5NCwgNDMwMSwgNDMwNywgNDMxNCwgNDMyMiwgNDMzMCwgNDMzNSwgNDM0MCwgNDM0NCwgNDM0OSwgNDM1MSwgCisgICAgNDM1MywgNDM1NiwgNDM1OCwgNDM2MSwgNDM2NiwgNDM3MSwgNDM3NywgNDM4MiwgNDM4NiwgNDM5MCwgNDM5NSwgNDQwNCwgCisgICAgNDQxMCwgNDQxNSwgNDQyMSwgNDQyNiwgNDQzMiwgNDQ0MCwgNDQ0OCwgNDQ1MiwgNDQ1NiwgNDQ2MSwgNDQ2NywgNDQ3MywgCisgICAgNDQ3OSwgNDQ4NSwgNDQ5MCwgNDQ5OCwgNDUwNywgNDUxNiwgNDUyMSwgNDUyNywgNDUzNCwgNDU0MSwgNDU0OCwgNDU1NSwgCisgICAgNDU1OSwgNDU2NSwgNDU3MCwgNDU3NSwgNDU4MCwgNDU4NSwgNDU4OCwgNDU5MSwgNDU5NCwgNDU5NywgNDYwMCwgNDYwMywgCisgICAgNDYwNywgNDYxMSwgNDYxNywgNDYyMCwgNDYyNSwgNDYzMSwgNDYzNywgNDY0MCwgNDY0NSwgNDY1MCwgNDY1NCwgNDY2MCwgCisgICAgNDY2NiwgNDY3MiwgNDY3OCwgNDY4MywgNDY4OCwgNDY5MywgNDY5NiwgNDcwMiwgNDcwNywgNDcxMiwgNDcxNiwgNDcyMSwgCisgICAgNDcyNywgNDczMywgNDczNiwgNDc0MCwgNDc0NCwgNDc0OCwgNDc1MSwgNDc1NCwgNDc1OSwgNDc2MywgNDc3MCwgNDc3NCwgCisgICAgNDc4MCwgNDc4NCwgNDc5MCwgNDc5NCwgNDc5OCwgNDgwMiwgNDgwNywgNDgxMiwgNDgxOSwgNDgyNSwgNDgzMiwgNDgzOCwgCisgICAgNDg0NCwgNDg1MCwgNDg1MywgNDg1NywgNDg2MSwgNDg2NSwgNDg2OSwgNDg3NCwgNDg3OSwgNDg4MywgNDg4NywgNDg5MywgCisgICAgNDg5NywgNDkwMSwgNDkwNiwgNDkxMiwgNDkxNywgNDkyMywgNDkyNywgNDkzNCwgNDkzOSwgNDk0MywgNDk0OCwgNDk1MywgCisgICAgNDk1OSwgNDk2MiwgNDk2NiwgNDk3MSwgNDk3NiwgNDk4NSwgNDk5MSwgNDk5NiwgNTAwMCwgNTAwNSwgNTAwOSwgNTAxNCwgCisgICAgNTAxOCwgNTAyMiwgNTAyNywgNTAzMSwgNTAzNywgNTA0MiwgNTA0NywgNTA1MiwgNTA1NywgNTA2MiwgNTA2NywgNTA3MywgCisgICAgNTA3OSwgNTA4NSwgNTA5MSwgNTA5NiwgNTEwMiwgNTEwOCwgNTExNCwgNTExOSwgNTEyNCwgNTEzMSwgNTEzOCwgNTE0MiwgCisgICAgNTE0OCwgNTE1NSwgMCwgMCwgNTE2MiwgNTE2NSwgNTE3NCwgNTE4MywgNTE5NCwgNTE5OCwgMCwgMCwgMCwgMCwgNTIwMywgCisgICAgNTIwNiwgNTIxMSwgNTIxOSwgNTIyNCwgNTIzMiwgNTI0MCwgMCwgNTI0OCwgMCwgNTI1NiwgNTI2NCwgNTI3MiwgNTI4MywgCisgICAgNTI4OCwgNTI5MywgNTI5OCwgNTMwMywgNTMwOCwgNTMxMywgNTMxOCwgNTMyMywgNTMyOCwgNTMzMywgNTMzOCwgNTM0MywgCisgICAgNTM0OCwgNTM1MywgNTM1OCwgNTM2MywgMCwgNTM2OCwgNTM3MywgNTM3OCwgNTM4MywgNTM4OCwgNTM5MywgNTM5OCwgCisgICAgNTQwMywgNTQxMSwgNTQxOSwgNTQyNywgNTQzNSwgNTQ0MywgNTQ1MSwgNTQ2MiwgNTQ2NywgNTQ3MiwgNTQ3NywgNTQ4MiwgCisgICAgNTQ4NywgNTQ5MiwgNTQ5NywgNTUwMiwgNTUwNywgNTUxMiwgNTUxNywgNTUyMiwgNTUyNywgNTUzMiwgNTUzNywgNTU0MiwgCisgICAgNTU0NywgNTU1MywgNTU1OCwgNTU2MywgNTU2OCwgNTU3MywgNTU3OCwgNTU4MywgNTU4OCwgNTU5NiwgNTYwNCwgNTYxMiwgCisgICAgNTYyMCwgNTYyOCwgNTYzMywgNTYzNywgNTY0MSwgNTY0OCwgNTY1OCwgNTY2OCwgNTY3MiwgNTY3NiwgNTY4MCwgNTY4NiwgCisgICAgNTY5MywgNTY5NywgNTcwMiwgNTcwNiwgNTcxMSwgNTcxNSwgNTcyMCwgNTcyNCwgNTcyOSwgNTczNCwgNTczOSwgNTc0NCwgCisgICAgNTc0OSwgNTc1NCwgNTc1OSwgNTc2NCwgNTc2OSwgNTc3NCwgNTc3OSwgNTc4NCwgNTc4OSwgNTc5NCwgNTc5OSwgNTgwMywgCisgICAgNTgwNywgNTgxMywgNTgxNywgNTgyMiwgNTgyOCwgNTgzNiwgNTg0MSwgNTg0NiwgNTg1MywgNTg1OCwgNTg2MywgNTg3MCwgCisgICAgNTg3OSwgNTg4OCwgNTg5OSwgNTkwNywgNTkxMiwgNTkxNywgNTkyMiwgNTkyOSwgNTkzNCwgNTk0MCwgNTk0NSwgNTk1MCwgCisgICAgNTk1NSwgNTk2MCwgNTk2NSwgNTk3MCwgNTk3OCwgNTk4NCwgNTk4OSwgNTk5MywgNTk5OCwgNjAwMywgNjAwOCwgNjAxMywgCisgICAgNjAxOCwgNjAyMywgNjAyOCwgNjAzMiwgNjAzOCwgNjA0MiwgNjA0NywgNjA1MiwgNjA1NywgNjA2MSwgNjA2NiwgNjA3MSwgCisgICAgNjA3NiwgNjA4MSwgNjA4NSwgNjA5MCwgNjA5NCwgNjA5OSwgNjEwNCwgNjEwOSwgNjExNCwgNjEyMCwgNjEyNSwgNjEzMSwgCisgICAgNjEzNSwgNjE0MCwgNjE0NCwgNjE0OCwgNjE1MywgNjE1OCwgNjE2MywgNjE2OCwgNjE3MywgNjE3OCwgNjE4MywgNjE4NywgCisgICAgNjE5MywgNjE5NywgNjIwMiwgNjIwNywgNjIxMiwgNjIxNiwgNjIyMSwgNjIyNiwgNjIzMSwgNjIzNiwgNjI0MCwgNjI0NSwgCisgICAgNjI0OSwgNjI1NCwgNjI1OSwgNjI2NCwgNjI2OSwgNjI3NSwgNjI4MCwgNjI4NiwgNjI5MCwgNjI5NSwgNjI5OSwgNjMwNywgCisgICAgNjMxMiwgNjMxNywgNjMyMiwgNjMyOSwgNjMzNCwgNjM0MCwgNjM0NSwgNjM1MCwgNjM1NSwgNjM2MCwgNjM2NSwgNjM3MCwgCisgICAgNjM3OCwgNjM4NCwgNjM4OSwgNjM5NCwgNjM5OSwgNjQwNCwgNjQwOSwgNjQxNSwgNjQyMSwgNjQyOCwgNjQzNSwgNjQ0NCwgCisgICAgNjQ1MywgNjQ2MCwgNjQ2NywgNjQ3NiwgNjQ4NSwgNjQ5MCwgNjQ5NSwgNjUwMCwgNjUwNSwgNjUxMCwgNjUxNSwgNjUyMCwgCisgICAgNjUyNSwgNjUzNiwgNjU0NywgNjU1MiwgNjU1NywgNjU2NCwgNjU3MSwgNjU3OSwgNjU4NywgNjU5MiwgNjU5NywgNjYwMiwgCisgICAgNjYwNywgNjYxMSwgNjYxNSwgNjYxOSwgNjYyNSwgNjYzMSwgNjYzNSwgNjY0MiwgNjY0NywgNjY1NywgNjY2NywgNjY3MywgCisgICAgNjY3OSwgNjY4NywgNjY5NSwgNjcwMywgNjcxMSwgNjcxOCwgNjcyNSwgNjczNCwgNjc0MywgNjc1MSwgNjc1OSwgNjc2NywgCisgICAgNjc3NSwgNjc4MywgNjc5MSwgNjc5OSwgNjgwNywgNjgxNCwgNjgyMSwgNjgyNywgNjgzMywgNjg0MSwgNjg0OSwgNjg1NiwgCisgICAgNjg2MywgNjg3MiwgNjg4MSwgNjg4NywgNjg5MywgNjkwMSwgNjkwOSwgNjkxNywgNjkyNSwgNjkzMSwgNjkzNywgNjk0NSwgCisgICAgNjk1MywgNjk2MSwgNjk2OSwgNjk3NiwgNjk4MywgNjk5MSwgNjk5OSwgNzAwNywgNzAxNSwgNzAyMCwgNzAyNSwgNzAzMiwgCisgICAgNzAzOSwgNzA0OSwgNzA1OSwgNzA2MywgNzA3MSwgNzA3OSwgNzA4NiwgNzA5MywgNzEwMSwgNzEwOSwgNzExNiwgNzEyMywgCisgICAgNzEzMSwgNzEzOSwgNzE0NiwgNzE1MywgNzE2MSwgNzE2OSwgNzE3NCwgNzE4MSwgNzE4OCwgNzE5NSwgNzIwMiwgNzIwOCwgCisgICAgNzIxNCwgNzIyMiwgNzIzMCwgNzIzNSwgNzI0MCwgNzI0OCwgNzI1NiwgNzI2NCwgNzI3MiwgNzI4MCwgNzI4OCwgNzI5NSwgCisgICAgNzMwMiwgNzMxMCwgNzMxOCwgNzMyNiwgNzMzNCwgNzM0MSwgNzM0OCwgNzM1NCwgNzM2MCwgNzM2OSwgNzM3OCwgNzM4NSwgCisgICAgNzM5MiwgNzM5OSwgNzQwNiwgNzQxMywgNzQyMCwgNzQyNywgNzQzNCwgNzQ0MiwgNzQ1MCwgNzQ1OCwgNzQ2NiwgNzQ3NCwgCisgICAgNzQ4MiwgNzQ5MiwgNzUwMiwgNzUwOSwgNzUxNiwgNzUyMywgNzUzMCwgNzUzNywgNzU0NCwgNzU1MSwgNzU1OCwgNzU2NSwgCisgICAgNzU3MiwgNzU3OSwgNzU4NiwgNzU5MywgNzYwMCwgNzYwNywgNzYxNCwgNzYyMSwgNzYyOCwgNzYzNSwgNzY0MiwgNzY0OSwgCisgICAgNzY1NiwgNzY2MywgNzY3MCwgNzY3NSwgNzY4MCwgNzY4NSwgNzY5MCwgNzY5NSwgNzcwMCwgNzcwNSwgNzcxMCwgNzcxNSwgCisgICAgNzcyMCwgNzcyNiwgNzczMiwgNzc0MSwgNzc1MCwgNzc1OSwgNzc2OCwgNzc3NiwgNzc4NCwgNzc5MiwgNzgwMCwgNzgwOCwgCisgICAgNzgxNiwgNzgyMSwgNzgyNiwgNzgzMSwgNzgzNiwgNzg0NCwgMCwgNzg1MiwgNzg1NywgNzg2MiwgNzg2NywgNzg3MiwgCisgICAgNzg3NywgNzg4MiwgNzg4NywgNzg5MiwgNzg5NiwgNzkwMSwgNzkwNiwgNzkxMSwgNzkxNiwgNzkyMSwgNzkyNiwgNzkzMSwgCisgICAgNzkzNiwgNzk0MSwgNzk0NiwgNzk1MSwgNzk1NiwgNzk2MSwgNzk2NiwgNzk3MSwgNzk3NiwgNzk4MSwgNzk4NiwgNzk5MSwgCisgICAgNzk5NiwgODAwMSwgODAwNiwgODAxMSwgODAxNiwgODAyMSwgODAyNiwgODAzMSwgODAzNiwgMCwgMCwgODA0MSwgODA0OCwgCisgICAgODA1MSwgODA1NSwgODA1OSwgODA2MiwgODA2NiwgMCwgODA3MCwgODA3NSwgODA4MCwgODA4NSwgODA5MCwgODA5NSwgCisgICAgODEwMCwgODEwNSwgODExMCwgODExNCwgODExOSwgODEyNCwgODEyOSwgODEzNCwgODEzOSwgODE0NCwgODE0OSwgODE1NCwgCisgICAgODE1OSwgODE2NCwgODE2OSwgODE3NCwgODE3OSwgODE4NCwgODE4OSwgODE5NCwgODE5OSwgODIwNCwgODIwOSwgODIxNCwgCisgICAgODIxOSwgODIyNCwgODIyOSwgODIzNCwgODIzOSwgODI0NCwgODI0OSwgODI1NCwgODI1OSwgMCwgODI2NiwgODI3MSwgMCwgCisgICAgMCwgODI3NCwgODI4MCwgODI4NiwgMCwgODI5MCwgODI5NSwgODMwMCwgODMwNSwgODMxMiwgODMxOSwgODMyNCwgODMyOSwgCisgICAgODMzNCwgODMzOSwgODM0NCwgODM0OSwgODM1NCwgODM2MSwgODM2NiwgODM3MywgODM4MCwgODM4NSwgODM5MiwgODM5NywgCisgICAgODQwMiwgODQwNywgODQxNCwgODQxOSwgODQyNCwgODQzMSwgODQ0MCwgODQ0NSwgODQ1MCwgODQ1NSwgODQ2MCwgODQ2NiwgCisgICAgODQ3MSwgODQ3OCwgODQ4NSwgODQ5MiwgODQ5NywgODUwMiwgODUwNywgODUxMiwgODUxNywgODUyMiwgODUzMiwgODUzNywgCisgICAgODU0NiwgODU1MSwgODU1NiwgODU2MSwgODU2NiwgODU3MywgODU4MCwgODU4NywgODU5MywgODU5OSwgODYwNiwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgODYxMywgODYxNywgODYyMSwgODYyNSwgODYyOSwgODYzMywgODYzNywgODY0MSwgODY0NSwgCisgICAgODY0OSwgODY1MywgODY1OCwgODY2MiwgODY2NiwgODY3MSwgODY3NSwgODY4MCwgODY4NCwgODY4OCwgODY5MiwgODY5NywgCisgICAgODcwMSwgODcwNiwgODcxMCwgODcxNCwgODcxOCwgODcyMiwgMCwgMCwgMCwgMCwgMCwgODcyNiwgODczMywgODc0MSwgCisgICAgODc0OCwgODc1MywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgODc1OCwgODc2MSwgODc2NSwgODc3MCwgCisgICAgODc3NCwgODc3OCwgODc4MiwgODc4OCwgODc5NCwgODc5NywgODgwNCwgODgxMywgODgxNiwgODgxOSwgODgyNCwgODgzMCwgCisgICAgODgzNCwgODg0MiwgODg0OCwgODg1NCwgODg2MiwgODg2NiwgODg3MSwgODg4MiwgODg4NywgODg5MSwgODg5NSwgODg5OSwgCisgICAgODkwMiwgMCwgODkwNSwgODkxMiwgODkxNiwgODkyMiwgODkyNiwgODkzMywgODk0MCwgODk0OCwgODk1NSwgODk2MiwgCisgICAgODk2NiwgODk3MCwgODk3NiwgODk4MCwgODk4NCwgODk4OCwgODk5MiwgODk5NiwgOTAwMCwgOTAwNCwgOTAwOCwgOTAxMiwgCisgICAgOTAxNiwgOTAyMCwgOTAyNCwgOTAyOCwgOTAzMiwgOTAzNiwgOTA0MCwgOTA0NCwgOTA1MiwgOTA2MCwgOTA3MCwgOTA3OSwgCisgICAgOTA4OCwgOTA5MSwgOTA5NSwgOTA5OSwgOTEwMywgOTEwNywgOTExMSwgOTExNSwgOTExOSwgOTEyMywgOTEyOCwgOTEzMiwgCisgICAgOTEzNSwgOTEzOCwgOTE0MSwgOTE0NCwgOTE0NywgOTE1MCwgOTE1MywgOTE1NiwgOTE2MCwgOTE2NCwgOTE2OCwgOTE3MywgCisgICAgOTE3OCwgOTE4NCwgOTE4NywgOTE5NCwgOTIwMywgOTIwOCwgOTIxMywgOTIyMCwgOTIyNiwgOTIzMSwgOTIzNSwgOTIzOSwgCisgICAgOTI0MywgOTI0NywgOTI1MSwgOTI1NSwgOTI1OSwgOTI2MywgOTI2NywgOTI3MSwgOTI3NiwgOTI4MSwgOTI4OCwgOTI5NCwgCisgICAgOTMwMCwgOTMwNiwgOTMxMSwgOTMyMCwgOTMyOSwgOTMzNCwgOTM0MSwgOTM0OCwgOTM1NSwgOTM2MiwgOTM2NiwgOTM3MCwgCisgICAgOTM3NCwgOTM4MSwgOTM5MSwgOTM5NSwgOTM5OSwgOTQwMywgOTQxMCwgOTQxOCwgOTQyMiwgOTQyNiwgOTQzMywgOTQzNywgCisgICAgOTQ0MSwgOTQ0NSwgOTQ1MiwgOTQ1OSwgOTQ3MSwgOTQ3NSwgOTQ3OSwgOTQ4MywgOTQ5MywgOTUwMiwgOTUwNiwgOTUxNCwgCisgICAgOTUyMSwgOTUyOCwgOTUzNywgOTU0OCwgOTU1NiwgOTU2MCwgOTU2OSwgOTU4MCwgOTU4OCwgOTYwMSwgOTYwOSwgOTYxNywgCisgICAgOTYyNSwgOTYzMywgOTYzOSwgOTY0OCwgOTY1NSwgOTY1OSwgOTY2NywgOTY3MSwgOTY3OCwgOTY4NiwgOTY5MCwgOTY5NiwgCisgICAgOTcwMywgOTcxMCwgOTcxNCwgOTcyMiwgOTcyNiwgOTczMywgOTczNywgOTc0NSwgOTc0OSwgOTc1NywgOTc2NSwgOTc3MiwgCisgICAgOTc4MCwgOTc4OCwgOTc5NSwgOTgwMSwgOTgwNSwgOTgxMiwgOTgyMCwgOTgyNiwgOTgzMywgOTg0MCwgOTg0NiwgOTg1NiwgCisgICAgOTg2NCwgOTg3MSwgOTg3NywgOTg4MSwgOTg4NCwgOTg4OCwgOTg5NCwgOTkwMiwgOTkwNiwgOTkxMiwgOTkxOCwgOTkyNSwgCisgICAgOTkzMiwgOTkzNSwgOTk0MiwgOTk0NywgOTk1NiwgOTk2MSwgOTk2NSwgOTk3OCwgOTk5MSwgOTk5NywgMTAwMDQsIDEwMDA5LCAKKyAgICAxMDAxNSwgMTAwMjAsIDEwMDI2LCAxMDAzNiwgMTAwNDMsIDEwMDUyLCAxMDA2MiwgMTAwNjgsIDEwMDczLCAxMDA3OCwgCisgICAgMTAwODIsIDEwMDg2LCAxMDA5MSwgMTAwOTYsIDEwMTAyLCAxMDExMCwgMTAxMTgsIDEwMTI5LCAxMDEzNCwgMTAxNDMsIAorICAgIDEwMTUyLCAxMDE1OSwgMTAxNjUsIDEwMTcxLCAxMDE3NywgMTAxODMsIDEwMTg5LCAxMDE5NSwgMTAyMDEsIDEwMjA3LCAKKyAgICAxMDIxMywgMTAyMjAsIDEwMjI3LCAxMDIzNCwgMTAyNDAsIDEwMjQ4LCAxMDI1NywgMTAyNjQsIDEwMjcyLCAxMDI4MCwgCisgICAgMTAyODYsIDEwMjkyLCAxMDI5NywgMTAzMDUsIDEwMzEzLCAxMDMyMywgMTAzMzMsIDEwMzM3LCAxMDM0MywgMTAzNDksIDAsIAorICAgIDEwMzU1LCAxMDM2MCwgMTAzNjUsIDEwMzcyLCAxMDM3NywgMTAzODIsIDEwMzg5LCAxMDM5NCwgMTA0MDMsIDEwNDA4LCAKKyAgICAxMDQxMywgMTA0MTgsIDEwNDIzLCAxMDQyOCwgMTA0MzUsIDEwNDQwLCAxMDQ0NywgMTA0NTIsIDEwNDU3LCAxMDQ2MiwgCisgICAgMTA0NjcsIDEwNDcyLCAxMDQ3OCwgMTA0ODIsIDEwNDg3LCAxMDQ5NCwgMTA0OTksIDEwNTA0LCAxMDUwOSwgMTA1MTQsIAorICAgIDEwNTE5LCAxMDUyNiwgMTA1MzMsIDEwNTQwLCAxMDU0NSwgMTA1NTAsIDEwNTU2LCAxMDU2MSwgMTA1NjYsIDEwNTcyLCAKKyAgICAxMDU3NywgMTA1ODIsIDEwNTkwLCAxMDU5OCwgMTA2MDMsIDEwNjA4LCAxMDYxNCwgMTA2MTksIDEwNjI0LCAxMDYyOCwgCisgICAgMTA2MzQsIDEwNjM4LCAxMDY0MiwgMTA2NDgsIDEwNjU0LCAxMDY1OSwgMTA2NjQsIDEwNjcxLCAxMDY3OCwgMTA2ODIsIDAsIAorICAgIDAsIDEwNjg2LCAxMDY5MywgMTA3MDAsIDEwNzA3LCAxMDcxNywgMTA3MjksIDEwNzQwLCAxMDc1NiwgMTA3NjgsIDEwNzc5LCAKKyAgICAxMDc4NywgMTA3OTQsIDEwODA0LCAxMDgxOSwgMTA4MzAsIDEwODM2LCAxMDg0NSwgMTA4NTMsIDEwODY0LCAxMDg3NCwgCisgICAgMTA4ODIsIDEwODkzLCAxMDkwMCwgMTA5MDgsIDEwOTE5LCAxMDkyNSwgMTA5MzEsIDEwOTM5LCAxMDk0NywgMTA5NTUsIAorICAgIDEwOTYxLCAxMDk3MSwgMTA5NzksIDEwOTg5LCAxMDk5OSwgMTEwMTIsIDExMDI2LCAxMTA0MCwgMTEwNTAsIDExMDYxLCAKKyAgICAxMTA3MiwgMTEwODUsIDExMDk4LCAxMTExMiwgMTExMjQsIDExMTM2LCAxMTE0OSwgMTExNjIsIDExMTc0LCAxMTE4NywgCisgICAgMTExOTYsIDExMjA0LCAxMTIwOSwgMTEyMTQsIDExMjE5LCAxMTIyNCwgMTEyMjksIDExMjM0LCAxMTIzOSwgMTEyNDQsIAorICAgIDExMjQ5LCAxMTI1NCwgMTEyNTksIDExMjY0LCAxMTI2OSwgMTEyNzQsIDExMjc5LCAxMTI4NCwgMTEyODksIDExMjk0LCAKKyAgICAxMTI5OSwgMTEzMDQsIDExMzA5LCAxMTMxNCwgMTEzMTksIDExMzI0LCAxMTMyOSwgMTEzMzQsIDExMzM5LCAxMTM0NCwgCisgICAgMTEzNDksIDExMzU0LCAxMTM1OSwgMTEzNjQsIDExMzY4LCAxMTM3MywgMTEzNzgsIDExMzgzLCAxMTM4OCwgMTEzOTMsIAorICAgIDExMzk3LCAxMTQwMSwgMTE0MDUsIDExNDA5LCAxMTQxMywgMTE0MTcsIDExNDIxLCAxMTQyNSwgMTE0MjksIDExNDMzLCAKKyAgICAxMTQzNywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTE0NDIsIDExNDQ3LCAxMTQ1MSwgCisgICAgMTE0NTUsIDExNDU5LCAxMTQ2MywgMTE0NjcsIDExNDcxLCAxMTQ3NSwgMTE0NzksIDExNDgzLCAxMTQ4NywgMTE0OTIsIAorICAgIDExNDk2LCAxMTUwMCwgMTE1MDQsIDExNTA5LCAxMTUxMywgMTE1MTgsIDExNTIzLCAxMTUyOCwgMTE1MzIsIDExNTM3LCAKKyAgICAxMTU0MiwgMTE1NDcsIDExNTUyLCAxMTU1NywgMTE1NjIsIDExNTY3LCAxMTU3MiwgMTE1NzcsIDExNTgxLCAxMTU4NiwgCisgICAgMTE1OTMsIDExNTk3LCAxMTYwMiwgMTE2MDYsIDExNjEwLCAxMTYxNSwgMTE2MTksIDExNjI2LCAxMTYzMywgMTE2NDAsIAorICAgIDExNjQ3LCAxMTY1NSwgMTE2NjMsIDExNjcyLCAxMTY4MCwgMTE2ODcsIDExNjk0LCAxMTcwMiwgMTE3MDgsIDExNzE0LCAKKyAgICAxMTcyMCwgMTE3MjYsIDExNzMzLCAxMTczOCwgMTE3NDIsIDExNzQ3LCAwLCAwLCAwLCAwLCAwLCAxMTc1MSwgMTE3NTYsIAorICAgIDExNzYxLCAxMTc2NiwgMTE3NzEsIDExNzc2LCAxMTc4MSwgMTE3ODYsIDExNzkxLCAxMTc5NiwgMTE4MDEsIDExODA2LCAKKyAgICAxMTgxMSwgMTE4MTYsIDExODIxLCAxMTgyNiwgMTE4MzEsIDExODM2LCAxMTg0MSwgMTE4NDYsIDExODUxLCAxMTg1NiwgCisgICAgMTE4NjEsIDExODY2LCAxMTg3MSwgMTE4NzYsIDExODgxLCAxMTg4OSwgMTE4OTYsIDExOTAyLCAxMTkwNywgMTE5MTUsIAorICAgIDExOTIyLCAxMTkyOCwgMTE5MzUsIDExOTQxLCAxMTk0NiwgMTE5NTMsIDExOTYwLCAxMTk2NiwgMTE5NzEsIDExOTc2LCAKKyAgICAxMTk4MiwgMTE5ODcsIDExOTkyLCAxMTk5OCwgMCwgMCwgMTIwMDMsIDEyMDA5LCAxMjAxNSwgMTIwMjEsIDEyMDI3LCAKKyAgICAxMjAzMywgMTIwMzksIDEyMDQ0LCAxMjA1MiwgMTIwNTgsIDEyMDY0LCAxMjA3MCwgMTIwNzYsIDEyMDgyLCAxMjA5MCwgMCwgCisgICAgMTIwOTYsIDEyMTAxLCAxMjEwNiwgMTIxMTEsIDEyMTE2LCAxMjEyMSwgMTIxMjYsIDEyMTMxLCAxMjEzNiwgMTIxNDEsIAorICAgIDEyMTQ2LCAxMjE1MSwgMTIxNTYsIDEyMTYxLCAxMjE2NiwgMTIxNzEsIDEyMTc2LCAxMjE4MSwgMTIxODYsIDEyMTkxLCAKKyAgICAxMjE5NiwgMTIyMDEsIDEyMjA2LCAxMjIxMSwgMTIyMTYsIDEyMjIxLCAxMjIyNiwgMTIyMzEsIDAsIDAsIDEyMjM2LCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMjI0MCwgMTIyNDksIDEyMjU3LCAKKyAgICAxMjI2NCwgMTIyNzIsIDEyMjg0LCAxMjI5MSwgMTIyOTgsIDEyMzA1LCAxMjMxNywgMTIzMjgsIDEyMzM1LCAxMjM0MywgCisgICAgMTIzNDksIDEyMzU0LCAxMjM2MiwgMTIzNzAsIDEyMzc4LCAxMjM4NCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTIzOTQsIDEyMzk5LCAxMjQwNCwgMTI0MDksIAorICAgIDEyNDE0LCAxMjQxOSwgMTI0MjQsIDEyNDI5LCAxMjQzNCwgMTI0MzksIDEyNDQ0LCAxMjQ0OSwgMTI0NTQsIDEyNDU5LCAKKyAgICAxMjQ2NCwgMTI0NjksIDEyNDc0LCAxMjQ4MCwgMTI0ODYsIDEyNDkyLCAxMjQ5NywgMTI1MDIsIDEyNTA3LCAxMjUxMiwgCisgICAgMTI1MTgsIDEyNTI3LCAxMjUzNSwgMTI1NDEsIDEyNTQ5LCAxMjU1NSwgMTI1NTksIDEyNTYzLCAxMjU2NywgMTI1NzIsIAorICAgIDEyNTc1LCAxMjU3OSwgMTI1ODIsIDEyNTg2LCAxMjU4OSwgMTI1OTMsIDEyNTk3LCAxMjYwMSwgMTI2MDYsIDEyNjExLCAKKyAgICAxMjYxNCwgMTI2MTgsIDEyNjIzLCAxMjYyOCwgMTI2MzEsIDEyNjM1LCAxMjYzOCwgMTI2NDIsIDEyNjQ2LCAxMjY1MCwgCisgICAgMTI2NTQsIDEyNjU4LCAxMjY2MiwgMTI2NjYsIDEyNjcwLCAxMjY3NCwgMTI2NzgsIDEyNjgyLCAxMjY4NiwgMTI2OTAsIAorICAgIDEyNjk0LCAxMjY5OCwgMTI3MDIsIDEyNzA2LCAxMjcxMCwgMTI3MTMsIDEyNzE3LCAxMjcyMCwgMTI3MjQsIDEyNzI4LCAKKyAgICAxMjczMiwgMTI3MzUsIDEyNzM4LCAxMjc0MiwgMTI3NDYsIDEyNzUwLCAxMjc1NCwgMTI3NTgsIDEyNzYyLCAxMjc2NiwgCisgICAgMTI3NzAsIDEyNzc0LCAxMjc3NywgMTI3ODIsIDEyNzg3LCAxMjc5MSwgMTI3OTUsIDEyODAwLCAxMjgwNCwgMTI4MDksIAorICAgIDEyODEzLCAxMjgxOCwgMTI4MjMsIDEyODI5LCAxMjgzNSwgMTI4NDEsIDEyODQ1LCAxMjg1MCwgMTI4NTYsIDEyODYyLCAKKyAgICAxMjg2NiwgMTI4NzEsIDEyODc1LCAxMjg4MSwgMTI4ODYsIDEyODg5LCAxMjg5NSwgMTI5MDEsIDEyOTA2LCAxMjkxMSwgCisgICAgMTI5MTgsIDEyOTIzLCAxMjkyOCwgMTI5MzIsIDEyOTM2LCAxMjk0MCwgMTI5NDQsIDEyOTQ4LCAxMjk1MiwgMTI5NTYsIAorICAgIDEyOTYwLCAxMjk2NSwgMTI5NzAsIDEyOTc1LCAxMjk4MSwgMTI5ODQsIDEyOTg4LCAxMjk5MiwgMTI5OTUsIDEyOTk4LCAKKyAgICAxMzAwMSwgMTMwMDQsIDEzMDA3LCAxMzAxMCwgMTMwMTMsIDEzMDE2LCAxMzAxOSwgMTMwMjMsIDEzMDMwLCAxMzAzNSwgCisgICAgMTMwMzksIDEzMDQzLCAxMzA0NywgMTMwNTEsIDEzMDU1LCAxMzA2MSwgMTMwNjUsIDEzMDY5LCAxMzA3MywgMTMwNzcsIAorICAgIDEzMDgzLCAxMzA4NywgMTMwOTEsIDEzMDk0LCAxMzA5OCwgMTMxMDIsIDAsIDEzMTA2LCAxMzEwOSwgMTMxMTMsIDEzMTE2LCAKKyAgICAxMzEyMCwgMTMxMjMsIDEzMTI3LCAxMzEzMSwgMCwgMCwgMTMxMzUsIDEzMTM4LCAwLCAwLCAxMzE0MiwgMTMxNDUsIAorICAgIDEzMTQ5LCAxMzE1MiwgMTMxNTYsIDEzMTYwLCAxMzE2NCwgMTMxNjgsIDEzMTcyLCAxMzE3NiwgMTMxODAsIDEzMTg0LCAKKyAgICAxMzE4OCwgMTMxOTIsIDEzMTk2LCAxMzIwMCwgMTMyMDQsIDEzMjA4LCAxMzIxMiwgMTMyMTYsIDEzMjIwLCAxMzIyNCwgMCwgCisgICAgMTMyMjcsIDEzMjMwLCAxMzIzNCwgMTMyMzgsIDEzMjQyLCAxMzI0NSwgMTMyNDgsIDAsIDEzMjUyLCAwLCAwLCAwLCAKKyAgICAxMzI1NiwgMTMyNjAsIDEzMjY0LCAxMzI2OCwgMCwgMCwgMTMyNzEsIDEzMjc1LCAxMzI3OSwgMTMyODQsIDEzMjg4LCAKKyAgICAxMzI5MywgMTMyOTcsIDEzMzAyLCAxMzMwNywgMCwgMCwgMTMzMTMsIDEzMzE3LCAwLCAwLCAxMzMyMiwgMTMzMjYsIAorICAgIDEzMzMxLCAxMzMzNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTMzNDEsIDAsIDAsIDAsIDAsIDEzMzQ3LCAxMzM1MSwgMCwgCisgICAgMTMzNTUsIDEzMzU5LCAxMzM2NCwgMTMzNjksIDEzMzc0LCAwLCAwLCAxMzM4MCwgMTMzODQsIDEzMzg3LCAxMzM5MCwgCisgICAgMTMzOTMsIDEzMzk2LCAxMzM5OSwgMTM0MDIsIDEzNDA1LCAxMzQwOCwgMTM0MTEsIDEzNDIwLCAxMzQyOSwgMTM0MzMsIAorICAgIDEzNDM3LCAxMzQ0MywgMTM0NDksIDEzNDU1LCAxMzQ2MSwgMTM0NzUsIDEzNDgyLCAxMzQ4NSwgMCwgMCwgMCwgMCwgMCwgCisgICAgMTM0ODksIDEzNDk2LCAxMzUwMSwgMCwgMTM1MDYsIDEzNTEwLCAxMzUxNSwgMTM1MTksIDEzNTI0LCAxMzUyOCwgMCwgMCwgCisgICAgMCwgMCwgMTM1MzMsIDEzNTM4LCAwLCAwLCAxMzU0MywgMTM1NDgsIDEzNTUzLCAxMzU1NywgMTM1NjIsIDEzNTY3LCAKKyAgICAxMzU3MiwgMTM1NzcsIDEzNTgyLCAxMzU4NywgMTM1OTIsIDEzNTk3LCAxMzYwMiwgMTM2MDcsIDEzNjEyLCAxMzYxNywgCisgICAgMTM2MjIsIDEzNjI3LCAxMzYzMiwgMTM2MzcsIDEzNjQyLCAxMzY0NywgMCwgMTM2NTEsIDEzNjU1LCAxMzY2MCwgMTM2NjUsIAorICAgIDEzNjcwLCAxMzY3NCwgMTM2NzgsIDAsIDEzNjgzLCAxMzY4OCwgMCwgMTM2OTMsIDEzNjk4LCAwLCAxMzcwMywgMTM3MDgsIAorICAgIDAsIDAsIDEzNzEyLCAwLCAxMzcxNywgMTM3MjMsIDEzNzI4LCAxMzczNCwgMTM3MzksIDAsIDAsIDAsIDAsIDEzNzQ1LCAKKyAgICAxMzc1MSwgMCwgMCwgMTM3NTcsIDEzNzYzLCAxMzc2OSwgMCwgMCwgMCwgMTM3NzQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDEzNzc5LCAxMzc4NCwgMTM3ODksIDEzNzk0LCAwLCAxMzc5OSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTM4MDQsIDEzODA5LCAKKyAgICAxMzgxMywgMTM4MTcsIDEzODIxLCAxMzgyNSwgMTM4MjksIDEzODMzLCAxMzgzNywgMTM4NDEsIDEzODQ1LCAxMzg0OSwgCisgICAgMTM4NTMsIDEzODU3LCAxMzg2MSwgMTM4NjcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEzODcyLCAKKyAgICAxMzg3NiwgMTM4ODAsIDAsIDEzODg0LCAxMzg4NywgMTM4OTEsIDEzODk0LCAxMzg5OCwgMTM5MDEsIDEzOTA1LCAxMzkwOSwgCisgICAgMTM5MTMsIDAsIDEzOTE4LCAxMzkyMSwgMTM5MjUsIDAsIDEzOTMwLCAxMzkzMywgMTM5MzcsIDEzOTQwLCAxMzk0NCwgCisgICAgMTM5NDgsIDEzOTUyLCAxMzk1NiwgMTM5NjAsIDEzOTY0LCAxMzk2OCwgMTM5NzIsIDEzOTc2LCAxMzk4MCwgMTM5ODQsIAorICAgIDEzOTg4LCAxMzk5MiwgMTM5OTYsIDE0MDAwLCAxNDAwNCwgMTQwMDgsIDE0MDEyLCAwLCAxNDAxNSwgMTQwMTgsIDE0MDIyLCAKKyAgICAxNDAyNiwgMTQwMzAsIDE0MDMzLCAxNDAzNiwgMCwgMTQwNDAsIDE0MDQ0LCAwLCAxNDA0OCwgMTQwNTIsIDE0MDU2LCAKKyAgICAxNDA2MCwgMTQwNjQsIDAsIDAsIDE0MDY3LCAxNDA3MSwgMTQwNzUsIDE0MDgwLCAxNDA4NCwgMTQwODksIDE0MDkzLCAKKyAgICAxNDA5OCwgMTQxMDMsIDE0MTA5LCAwLCAxNDExNSwgMTQxMTksIDE0MTI0LCAwLCAxNDEzMCwgMTQxMzQsIDE0MTM5LCAwLCAKKyAgICAwLCAxNDE0MywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTQxNDYsIDE0MTUxLCAKKyAgICAxNDE1NiwgMTQxNjEsIDAsIDAsIDE0MTY3LCAxNDE3MSwgMTQxNzQsIDE0MTc3LCAxNDE4MCwgMTQxODMsIDE0MTg2LCAKKyAgICAxNDE4OSwgMTQxOTIsIDE0MTk1LCAxNDE5OCwgMTQyMDIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDE0MjA2LCAxNDIxMCwgMTQyMTQsIDAsIDE0MjE4LCAxNDIyMSwgMTQyMjUsIDE0MjI4LCAxNDIzMiwgMTQyMzUsIAorICAgIDE0MjM5LCAxNDI0MywgMCwgMCwgMTQyNDcsIDE0MjUwLCAwLCAwLCAxNDI1NCwgMTQyNTcsIDE0MjYxLCAxNDI2NCwgCisgICAgMTQyNjgsIDE0MjcyLCAxNDI3NiwgMTQyODAsIDE0Mjg0LCAxNDI4OCwgMTQyOTIsIDE0Mjk2LCAxNDMwMCwgMTQzMDQsIAorICAgIDE0MzA4LCAxNDMxMiwgMTQzMTYsIDE0MzIwLCAxNDMyNCwgMTQzMjgsIDE0MzMyLCAxNDMzNiwgMCwgMTQzMzksIDE0MzQyLCAKKyAgICAxNDM0NiwgMTQzNTAsIDE0MzU0LCAxNDM1NywgMTQzNjAsIDAsIDE0MzY0LCAxNDM2OCwgMCwgMTQzNzIsIDE0Mzc2LCAKKyAgICAxNDM4MCwgMTQzODQsIDE0Mzg4LCAwLCAwLCAxNDM5MSwgMTQzOTUsIDE0Mzk5LCAxNDQwNCwgMTQ0MDgsIDE0NDEzLCAKKyAgICAxNDQxNywgMTQ0MjIsIDE0NDI3LCAwLCAwLCAxNDQzMywgMTQ0MzcsIDAsIDAsIDE0NDQyLCAxNDQ0NiwgMTQ0NTEsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDE0NDU1LCAxNDQ2MSwgMCwgMCwgMCwgMCwgMTQ0NjcsIDE0NDcxLCAwLCAxNDQ3NSwgCisgICAgMTQ0NzksIDE0NDg0LCAxNDQ4OSwgMTQ0OTQsIDAsIDAsIDE0NTAwLCAxNDUwNCwgMTQ1MDcsIDE0NTEwLCAxNDUxMywgCisgICAgMTQ1MTYsIDE0NTE5LCAxNDUyMiwgMTQ1MjUsIDE0NTI4LCAxNDUzMSwgMTQ1MzQsIDE0NTM4LCAxNDU0NCwgMTQ1NTAsIAorICAgIDE0NTU2LCAxNDU2MiwgMTQ1NjgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE0NTc0LCAxNDU3OCwgMCwgCisgICAgMTQ1ODIsIDE0NTg1LCAxNDU4OSwgMTQ1OTIsIDE0NTk2LCAxNDU5OSwgMCwgMCwgMCwgMTQ2MDMsIDE0NjA2LCAxNDYxMCwgCisgICAgMCwgMTQ2MTQsIDE0NjE3LCAxNDYyMSwgMTQ2MjUsIDAsIDAsIDAsIDE0NjI4LCAxNDYzMiwgMCwgMTQ2MzYsIDAsIDE0NjQwLCAKKyAgICAxNDY0NCwgMCwgMCwgMCwgMTQ2NDgsIDE0NjUyLCAwLCAwLCAwLCAxNDY1NiwgMTQ2NTksIDE0NjYzLCAwLCAwLCAwLCAKKyAgICAxNDY2NiwgMTQ2NjksIDE0NjcyLCAxNDY3NiwgMTQ2ODAsIDE0Njg0LCAxNDY4OCwgMTQ2OTIsIDE0Njk2LCAxNDcwMCwgCisgICAgMTQ3MDQsIDE0NzA4LCAwLCAwLCAwLCAwLCAxNDcxMSwgMTQ3MTYsIDE0NzIwLCAxNDcyNSwgMTQ3MjksIDAsIDAsIDAsIAorICAgIDE0NzM0LCAxNDczOCwgMTQ3NDMsIDAsIDE0NzQ4LCAxNDc1MiwgMTQ3NTcsIDE0NzYyLCAwLCAwLCAxNDc2NiwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMTQ3NjksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE0Nzc1LCAxNDc3OSwgCisgICAgMTQ3ODIsIDE0Nzg1LCAxNDc4OCwgMTQ3OTEsIDE0Nzk0LCAxNDc5NywgMTQ4MDAsIDE0ODAzLCAxNDgwNiwgMTQ4MTAsIAorICAgIDE0ODE1LCAxNDgyMCwgMTQ4MjQsIDE0ODI4LCAxNDgzMiwgMTQ4MzYsIDE0ODQwLCAxNDg0NSwgMTQ4NDksIDAsIDAsIDAsIAorICAgIDAsIDAsIDE0ODUyLCAxNDg1OCwgMTQ4NjIsIDE0ODY2LCAwLCAxNDg3MCwgMTQ4NzMsIDE0ODc3LCAxNDg4MCwgMTQ4ODQsIAorICAgIDE0ODg3LCAxNDg5MSwgMTQ4OTUsIDAsIDE0ODk5LCAxNDkwMiwgMTQ5MDYsIDAsIDE0OTEwLCAxNDkxMywgMTQ5MTcsIAorICAgIDE0OTIxLCAxNDkyNCwgMTQ5MjgsIDE0OTMyLCAxNDkzNiwgMTQ5NDAsIDE0OTQ0LCAxNDk0OCwgMTQ5NTIsIDE0OTU2LCAKKyAgICAxNDk2MCwgMTQ5NjQsIDE0OTY4LCAxNDk3MiwgMTQ5NzYsIDE0OTgwLCAxNDk4NCwgMTQ5ODgsIDE0OTkyLCAxNDk5NiwgMCwgCisgICAgMTQ5OTksIDE1MDAyLCAxNTAwNiwgMTUwMTAsIDE1MDE0LCAxNTAxNywgMTUwMjAsIDE1MDI0LCAxNTAyOCwgMTUwMzIsIAorICAgIDE1MDM2LCAxNTA0MCwgMTUwNDQsIDE1MDQ4LCAxNTA1MiwgMTUwNTYsIDAsIDAsIDAsIDE1MDU5LCAxNTA2MywgMTUwNjgsIAorICAgIDE1MDcyLCAxNTA3NywgMTUwODEsIDE1MDg2LCAxNTA5MSwgMCwgMTUwOTcsIDE1MTAxLCAxNTEwNiwgMCwgMTUxMTEsIAorICAgIDE1MTE1LCAxNTEyMCwgMTUxMjUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE1MTI5LCAxNTEzMywgMCwgMTUxMzksIDE1MTQzLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAxNTE0NywgMTUxNTIsIDE1MTU3LCAxNTE2MiwgMCwgMCwgMTUxNjgsIDE1MTcyLCAxNTE3NSwgCisgICAgMTUxNzgsIDE1MTgxLCAxNTE4NCwgMTUxODcsIDE1MTkwLCAxNTE5MywgMTUxOTYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDE1MTk5LCAxNTIxMiwgMTUyMjQsIDE1MjM2LCAxNTI0OCwgMTUyNjAsIDE1MjcyLCAxNTI4NCwgMCwgMTUyODgsIDE1MjkyLCAKKyAgICAxNTI5NiwgMCwgMTUzMDAsIDE1MzAzLCAxNTMwNywgMTUzMTAsIDE1MzE0LCAxNTMxNywgMTUzMjEsIDE1MzI1LCAwLCAKKyAgICAxNTMyOSwgMTUzMzIsIDE1MzM2LCAwLCAxNTM0MCwgMTUzNDMsIDE1MzQ3LCAxNTM1MSwgMTUzNTQsIDE1MzU4LCAxNTM2MiwgCisgICAgMTUzNjYsIDE1MzcwLCAxNTM3NCwgMTUzNzgsIDE1MzgyLCAxNTM4NiwgMTUzOTAsIDE1Mzk0LCAxNTM5OCwgMTU0MDIsIAorICAgIDE1NDA2LCAxNTQxMCwgMTU0MTQsIDE1NDE4LCAxNTQyMiwgMTU0MjYsIDAsIDE1NDI5LCAxNTQzMiwgMTU0MzYsIDE1NDQwLCAKKyAgICAxNTQ0NCwgMTU0NDcsIDE1NDUwLCAxNTQ1NCwgMTU0NTgsIDE1NDYyLCAwLCAxNTQ2NiwgMTU0NzAsIDE1NDc0LCAxNTQ3OCwgCisgICAgMTU0ODIsIDAsIDAsIDE1NDg1LCAxNTQ4OSwgMTU0OTMsIDE1NDk4LCAxNTUwMiwgMTU1MDcsIDE1NTExLCAxNTUxNiwgCisgICAgMTU1MjEsIDAsIDE1NTI3LCAxNTUzMSwgMTU1MzYsIDAsIDE1NTQxLCAxNTU0NSwgMTU1NTAsIDE1NTU1LCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAxNTU1OSwgMTU1NjMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE1NTY5LCAwLCAxNTU3MywgMTU1NzgsIAorICAgIDE1NTgzLCAxNTU4OCwgMCwgMCwgMTU1OTQsIDE1NTk4LCAxNTYwMSwgMTU2MDQsIDE1NjA3LCAxNTYxMCwgMTU2MTMsIAorICAgIDE1NjE2LCAxNTYxOSwgMTU2MjIsIDAsIDE1NjI1LCAxNTYyOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMTU2MzMsIDE1NjM3LCAxNTY0MSwgMCwgMTU2NDUsIDE1NjQ4LCAxNTY1MiwgMTU2NTUsIDE1NjU5LCAxNTY2MiwgCisgICAgMTU2NjYsIDE1NjcwLCAwLCAxNTY3NCwgMTU2NzcsIDE1NjgxLCAwLCAxNTY4NSwgMTU2ODgsIDE1NjkyLCAxNTY5NiwgCisgICAgMTU2OTksIDE1NzAzLCAxNTcwNywgMTU3MTEsIDE1NzE1LCAxNTcxOSwgMTU3MjMsIDE1NzI3LCAxNTczMSwgMTU3MzUsIAorICAgIDE1NzM5LCAxNTc0MywgMTU3NDcsIDE1NzUxLCAxNTc1NSwgMTU3NTksIDE1NzYzLCAxNTc2NywgMTU3NzEsIDE1Nzc0LCAKKyAgICAxNTc3OCwgMTU3ODEsIDE1Nzg1LCAxNTc4OSwgMTU3OTMsIDE1Nzk2LCAxNTc5OSwgMTU4MDMsIDE1ODA3LCAxNTgxMSwgCisgICAgMTU4MTUsIDE1ODE5LCAxNTgyMywgMTU4MjcsIDE1ODMxLCAxNTgzNSwgMTU4MzgsIDAsIDAsIDE1ODQyLCAxNTg0NiwgCisgICAgMTU4NTEsIDE1ODU1LCAxNTg2MCwgMTU4NjQsIDE1ODY5LCAxNTg3NCwgMCwgMTU4ODAsIDE1ODg0LCAxNTg4OSwgMCwgCisgICAgMTU4OTQsIDE1ODk4LCAxNTkwMywgMTU5MDgsIDE1OTEyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNTkxNywgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMTU5MjMsIDE1OTI4LCAxNTkzMywgMTU5MzgsIDAsIDAsIDE1OTQ0LCAxNTk0OCwgMTU5NTEsIAorICAgIDE1OTU0LCAxNTk1NywgMTU5NjAsIDE1OTYzLCAxNTk2NiwgMTU5NjksIDE1OTcyLCAxNTk3NSwgMTU5NzksIDE1OTg0LCAKKyAgICAxNTk4OSwgMTU5OTUsIDE2MDAxLCAwLCAwLCAwLCAxNjAwNywgMTYwMTEsIDE2MDE3LCAxNjAyMywgMTYwMjksIDE2MDM0LCAKKyAgICAxNjA0MCwgMCwgMCwgMTYwNDYsIDE2MDUwLCAwLCAxNjA1NCwgMTYwNTgsIDE2MDYyLCAxNjA2NiwgMTYwNzAsIDE2MDc0LCAKKyAgICAxNjA3OCwgMTYwODIsIDE2MDg2LCAxNjA5MCwgMTYwOTQsIDE2MDk4LCAxNjEwMiwgMTYxMDYsIDE2MTEwLCAxNjExNCwgCisgICAgMTYxMTgsIDE2MTIyLCAwLCAwLCAwLCAxNjEyNiwgMTYxMzIsIDE2MTM4LCAxNjE0NCwgMTYxNTAsIDE2MTU2LCAxNjE2MiwgCisgICAgMTYxNjgsIDE2MTc0LCAxNjE4MCwgMTYxODYsIDE2MTkyLCAxNjIwMCwgMTYyMDYsIDE2MjEyLCAxNjIxOCwgMTYyMjQsIAorICAgIDE2MjMwLCAxNjIzNiwgMTYyNDIsIDE2MjQ4LCAxNjI1NCwgMTYyNjAsIDE2MjY2LCAwLCAxNjI3MiwgMTYyNzgsIDE2Mjg0LCAKKyAgICAxNjI5MCwgMTYyOTYsIDE2MzAyLCAxNjMwNiwgMTYzMTIsIDE2MzE2LCAwLCAxNjMyMCwgMCwgMCwgMTYzMjYsIDE2MzMwLCAKKyAgICAxNjMzNiwgMTYzNDIsIDE2MzQ4LCAxNjM1MiwgMTYzNTgsIDAsIDAsIDAsIDE2MzYyLCAwLCAwLCAwLCAwLCAxNjM2NiwgCisgICAgMTYzNzEsIDE2Mzc4LCAxNjM4NSwgMTYzOTIsIDE2Mzk5LCAwLCAxNjQwNiwgMCwgMTY0MTMsIDE2NDE4LCAxNjQyMywgCisgICAgMTY0MzAsIDE2NDM3LCAxNjQ0NiwgMTY0NTcsIDE2NDY2LCAwLCAwLCAwLCAwLCAwLCAwLCAxNjQ3MSwgMTY0NzcsIDE2NDgyLCAKKyAgICAxNjQ4NywgMTY0OTIsIDE2NDk3LCAxNjUwMiwgMTY1MDcsIDE2NTEyLCAxNjUxNywgMCwgMCwgMTY1MjIsIDE2NTI5LCAKKyAgICAxNjUzNiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTY1NDEsIDE2NTQ3LCAxNjU1MywgMTY1NTksIAorICAgIDE2NTY1LCAxNjU3MSwgMTY1NzcsIDE2NTgzLCAxNjU4OSwgMTY1OTUsIDE2NjAxLCAxNjYwNywgMTY2MTMsIDE2NjE5LCAKKyAgICAxNjYyNSwgMTY2MzEsIDE2NjM3LCAxNjY0MywgMTY2NDksIDE2NjU1LCAxNjY2MSwgMTY2NjcsIDE2NjczLCAxNjY3OSwgCisgICAgMTY2ODUsIDE2NjkxLCAxNjY5NywgMTY3MDMsIDE2NzA5LCAxNjcxNSwgMTY3MjEsIDE2NzI3LCAxNjczMywgMTY3MzgsIAorICAgIDE2NzQ0LCAxNjc1MCwgMTY3NTQsIDE2NzYwLCAxNjc2NCwgMTY3NzAsIDE2Nzc2LCAxNjc4MiwgMTY3ODgsIDE2Nzk0LCAKKyAgICAxNjgwMCwgMTY4MDUsIDE2ODExLCAxNjgxNSwgMTY4MjAsIDE2ODI2LCAxNjgzMiwgMTY4MzgsIDE2ODQzLCAxNjg0OSwgCisgICAgMTY4NTUsIDE2ODYxLCAxNjg2NiwgMTY4NzIsIDAsIDAsIDAsIDAsIDE2ODc2LCAxNjg4MiwgMTY4ODcsIDE2ODkzLCAKKyAgICAxNjg5OCwgMTY5MDYsIDE2OTE0LCAxNjkxOCwgMTY5MjIsIDE2OTI2LCAxNjkzMiwgMTY5MzgsIDE2OTQ0LCAxNjk1MCwgCisgICAgMTY5NTQsIDE2OTU4LCAxNjk2MiwgMTY5NjYsIDE2OTcwLCAxNjk3MywgMTY5NzYsIDE2OTc5LCAxNjk4MiwgMTY5ODUsIAorICAgIDE2OTg4LCAxNjk5MSwgMTY5OTQsIDE2OTk3LCAxNzAwMSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMTcwMDUsIDE3MDEwLCAwLCAxNzAxNywgMCwgMCwgMTcwMjQsIDE3MDI5LCAwLCAxNzAzNCwgMCwgMCwgMTcwNDEsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDE3MDQ2LCAxNzA1MSwgMTcwNTUsIDE3MDYyLCAwLCAxNzA2OSwgMTcwNzQsIDE3MDc5LCAxNzA4NCwgCisgICAgMTcwOTEsIDE3MDk4LCAxNzEwNSwgMCwgMTcxMTIsIDE3MTE3LCAxNzEyMiwgMCwgMTcxMjksIDAsIDE3MTM2LCAwLCAwLCAKKyAgICAxNzE0MSwgMTcxNDgsIDAsIDE3MTU1LCAxNzE1OSwgMTcxNjYsIDE3MTcwLCAxNzE3NSwgMTcxODMsIDE3MTg5LCAxNzE5NSwgCisgICAgMTcyMDAsIDE3MjA2LCAxNzIxMiwgMTcyMTgsIDE3MjIzLCAwLCAxNzIyOSwgMTcyMzcsIDE3MjQ0LCAwLCAwLCAxNzI1MSwgCisgICAgMTcyNTYsIDE3MjYyLCAxNzI2NywgMTcyNzMsIDAsIDE3Mjc5LCAwLCAxNzI4NSwgMTcyOTIsIDE3Mjk5LCAxNzMwNiwgCisgICAgMTczMTMsIDE3MzE4LCAwLCAwLCAxNzMyMiwgMTczMjcsIDE3MzMxLCAxNzMzNSwgMTczMzksIDE3MzQzLCAxNzM0NywgCisgICAgMTczNTEsIDE3MzU1LCAxNzM1OSwgMCwgMCwgMTczNjMsIDE3MzY5LCAxNzM3NSwgMTczODIsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDE3Mzg5LCAxNzM5MywgMTc0MDQsIDE3NDE5LCAxNzQzNCwgMTc0NDQsIDE3NDU1LCAxNzQ2OCwgMTc0NzksIAorICAgIDE3NDg1LCAxNzQ5MywgMTc1MDMsIDE3NTA5LCAxNzUxNywgMTc1MjEsIDE3NTI3LCAxNzUzMywgMTc1NDEsIDE3NTUxLCAKKyAgICAxNzU1OSwgMTc1NzIsIDE3NTc4LCAxNzU4NiwgMTc1OTQsIDE3NjA2LCAxNzYxMywgMTc2MjEsIDE3NjI5LCAxNzYzNywgCisgICAgMTc2NDUsIDE3NjUzLCAxNzY2MSwgMTc2NzEsIDE3Njc1LCAxNzY3OCwgMTc2ODEsIDE3Njg0LCAxNzY4NywgMTc2OTAsIAorICAgIDE3NjkzLCAxNzY5NiwgMTc2OTksIDE3NzAyLCAxNzcwNiwgMTc3MTAsIDE3NzE0LCAxNzcxOCwgMTc3MjIsIDE3NzI2LCAKKyAgICAxNzczMCwgMTc3MzQsIDE3NzM4LCAxNzc0MywgMTc3NDksIDE3NzU5LCAxNzc3MywgMTc3ODMsIDE3Nzg5LCAxNzc5NSwgCisgICAgMTc4MDMsIDE3ODExLCAxNzgxOSwgMTc4MjcsIDE3ODMzLCAxNzgzOSwgMTc4NDIsIDE3ODQ2LCAxNzg1MCwgMTc4NTQsIAorICAgIDE3ODU4LCAxNzg2MiwgMTc4NjYsIDAsIDE3ODcwLCAxNzg3NCwgMTc4NzgsIDE3ODgyLCAxNzg4NiwgMTc4OTAsIDE3ODk0LCAKKyAgICAxNzg5OCwgMTc5MDIsIDE3OTA2LCAxNzkxMCwgMTc5MTMsIDE3OTE2LCAxNzkyMCwgMTc5MjQsIDE3OTI4LCAxNzkzMSwgCisgICAgMTc5MzUsIDE3OTM5LCAxNzk0MywgMTc5NDcsIDE3OTUxLCAxNzk1NSwgMTc5NTksIDE3OTYzLCAxNzk2NiwgMTc5NzAsIAorICAgIDE3OTc0LCAxNzk3OCwgMTc5ODIsIDE3OTg2LCAxNzk4OSwgMTc5OTIsIDE3OTk2LCAxODAwMiwgMTgwMDYsIDAsIDAsIDAsIAorICAgIDAsIDE4MDEwLCAxODAxNSwgMTgwMTksIDE4MDI0LCAxODAyOCwgMTgwMzMsIDE4MDM4LCAxODA0NCwgMTgwNDksIDE4MDU1LCAKKyAgICAxODA1OSwgMTgwNjQsIDE4MDY4LCAxODA3MywgMTgwODMsIDE4MDg5LCAxODA5NSwgMTgxMDIsIDE4MTEyLCAxODExOCwgCisgICAgMTgxMjIsIDE4MTI2LCAxODEzMiwgMTgxMzgsIDE4MTQ2LCAxODE1MiwgMTgxNjAsIDE4MTY4LCAxODE3NiwgMTgxODYsIAorICAgIDE4MTk0LCAxODIwNCwgMTgyMDksIDE4MjE1LCAxODIyMSwgMTgyMjcsIDE4MjMzLCAxODIzOSwgMTgyNDUsIDAsIDE4MjUxLCAKKyAgICAxODI1NywgMTgyNjMsIDE4MjY5LCAxODI3NSwgMTgyODEsIDE4Mjg3LCAxODI5MywgMTgyOTksIDE4MzA1LCAxODMxMSwgCisgICAgMTgzMTYsIDE4MzIxLCAxODMyNywgMTgzMzMsIDE4MzM5LCAxODM0NCwgMTgzNTAsIDE4MzU2LCAxODM2MiwgMTgzNjgsIAorICAgIDE4Mzc0LCAxODM4MCwgMTgzODYsIDE4MzkyLCAxODM5NywgMTg0MDMsIDE4NDA5LCAxODQxNSwgMTg0MjEsIDE4NDI3LCAKKyAgICAxODQzMiwgMTg0MzcsIDE4NDQzLCAxODQ1MSwgMTg0NTgsIDAsIDE4NDY2LCAxODQ3MywgMTg0ODYsIDE4NDkzLCAxODUwMCwgCisgICAgMTg1MDgsIDE4NTE2LCAxODUyMiwgMTg1MjgsIDE4NTM0LCAxODU0NCwgMTg1NDksIDE4NTU1LCAxODU2NSwgMTg1NzUsIDAsIAorICAgIDE4NTg1LCAxODU5NSwgMTg2MDMsIDE4NjE1LCAxODYyNywgMTg2MzMsIDE4NjQ3LCAxODY2MiwgMTg2NjcsIDE4NjcyLCAKKyAgICAxODY4MCwgMTg2ODgsIDE4Njk2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxODcwNCwgMTg3MDcsIAorICAgIDE4NzExLCAxODcxNSwgMTg3MTksIDE4NzIzLCAxODcyNywgMTg3MzEsIDE4NzM1LCAxODczOSwgMTg3NDMsIDE4NzQ3LCAKKyAgICAxODc1MSwgMTg3NTUsIDE4NzU5LCAxODc2MywgMTg3NjcsIDE4NzcxLCAxODc3NSwgMTg3NzksIDE4NzgzLCAxODc4NiwgCisgICAgMTg3ODksIDE4NzkzLCAxODc5NywgMTg4MDEsIDE4ODA0LCAxODgwNywgMTg4MTEsIDE4ODE1LCAxODgxOSwgMTg4MjMsIAorICAgIDE4ODI2LCAxODgzMCwgMTg4MzMsIDE4ODM4LCAxODg0MSwgMTg4NDUsIDE4ODQ4LCAxODg1MiwgMTg4NTUsIDE4ODYwLCAKKyAgICAxODg2MywgMTg4NjcsIDE4ODc0LCAxODg3OSwgMTg4ODMsIDE4ODg4LCAxODg5MiwgMTg4OTcsIDE4OTAxLCAxODkwNiwgCisgICAgMTg5MTMsIDE4OTE5LCAxODkyNCwgMTg5MjgsIDE4OTMyLCAxODkzNiwgMTg5NDAsIDE4OTQ0LCAxODk0OSwgMTg5NTUsIAorICAgIDE4OTYxLCAxODk2NiwgMTg5NzIsIDE4OTc2LCAxODk3OSwgMTg5ODIsIDE4OTg1LCAxODk4OCwgMTg5OTEsIDE4OTk0LCAKKyAgICAxODk5NywgMTkwMDAsIDE5MDAzLCAxOTAwOSwgMTkwMTMsIDE5MDE3LCAxOTAyMSwgMTkwMjUsIDE5MDI5LCAxOTAzMywgCisgICAgMTkwMzcsIDE5MDQxLCAxOTA0NiwgMTkwNTAsIDE5MDU1LCAxOTA2MCwgMTkwNjYsIDE5MDcxLCAxOTA3NywgMTkwODMsIAorICAgIDE5MDg5LCAxOTA5NSwgMTkxMDEsIDE5MTA4LCAxOTExNSwgMTkxMjMsIDE5MTMxLCAxOTE0MCwgMTkxNDksIDE5MTYwLCAKKyAgICAxOTE3MCwgMTkxODAsIDE5MTkxLCAxOTIwMiwgMTkyMTIsIDE5MjIyLCAxOTIzMiwgMTkyNDIsIDE5MjUyLCAxOTI2MiwgCisgICAgMTkyNzIsIDE5MjgyLCAxOTI5MCwgMTkyOTcsIDE5MzAzLCAxOTMxMCwgMTkzMTUsIDE5MzIxLCAxOTMyNywgMTkzMzMsIAorICAgIDE5MzM5LCAxOTM0NSwgMTkzNTEsIDE5MzU2LCAxOTM2MiwgMTkzNjgsIDE5Mzc0LCAxOTM4MCwgMTkzODUsIDE5MzkzLCAKKyAgICAxOTQwMCwgMTk0MDYsIDE5NDEzLCAxOTQyMSwgMTk0MjcsIDE5NDMzLCAxOTQzOSwgMTk0NDUsIDE5NDUzLCAxOTQ2MSwgCisgICAgMTk0NzEsIDE5NDc5LCAxOTQ4NywgMTk0OTMsIDE5NDk4LCAxOTUwMywgMTk1MDgsIDE5NTEzLCAxOTUxOCwgMTk1MjMsIAorICAgIDE5NTI4LCAxOTUzMywgMTk1MzgsIDE5NTQ0LCAxOTU1MCwgMTk1NTYsIDE5NTYzLCAxOTU2OCwgMTk1NzQsIDE5NTc5LCAKKyAgICAxOTU4NCwgMTk1ODksIDE5NTk0LCAxOTU5OSwgMTk2MDQsIDE5NjA5LCAxOTYxNCwgMTk2MTksIDE5NjI0LCAxOTYyOSwgCisgICAgMTk2MzQsIDE5NjM5LCAxOTY0NCwgMTk2NDksIDE5NjU0LCAxOTY1OSwgMTk2NjQsIDE5NjY5LCAxOTY3NCwgMTk2NzksIAorICAgIDE5Njg0LCAxOTY4OSwgMTk2OTQsIDE5Njk5LCAxOTcwNCwgMTk3MDksIDE5NzE0LCAxOTcxOSwgMTk3MjQsIDE5NzI5LCAKKyAgICAxOTczNCwgMTk3MzksIDE5NzQ0LCAxOTc0OSwgMTk3NTQsIDE5NzU5LCAwLCAxOTc2NCwgMCwgMCwgMCwgMCwgMCwgMTk3NjksIAorICAgIDAsIDAsIDE5Nzc0LCAxOTc3OCwgMTk3ODIsIDE5Nzg2LCAxOTc5MCwgMTk3OTQsIDE5Nzk4LCAxOTgwMiwgMTk4MDYsIAorICAgIDE5ODEwLCAxOTgxNCwgMTk4MTgsIDE5ODIyLCAxOTgyNiwgMTk4MzAsIDE5ODM0LCAxOTgzOCwgMTk4NDIsIDE5ODQ2LCAKKyAgICAxOTg1MCwgMTk4NTQsIDE5ODU4LCAxOTg2MiwgMTk4NjYsIDE5ODcwLCAxOTg3NCwgMTk4NzgsIDE5ODgyLCAxOTg4NiwgCisgICAgMTk4OTAsIDE5ODk0LCAxOTg5OCwgMTk5MDIsIDE5OTA2LCAxOTkxMCwgMTk5MTQsIDE5OTE4LCAxOTkyMiwgMTk5MjYsIAorICAgIDE5OTMwLCAxOTkzNCwgMTk5MzgsIDE5OTQzLCAxOTk0NywgMTk5NTIsIDE5OTU3LCAxOTk2MSwgMTk5NjYsIDE5OTcxLCAKKyAgICAxOTk3NSwgMTk5NzksIDE5OTgzLCAxOTk4NywgMTk5OTEsIDE5OTk1LCAxOTk5OSwgMjAwMDMsIDIwMDA3LCAyMDAxMSwgCisgICAgMjAwMTUsIDIwMDE5LCAyMDAyMywgMjAwMjcsIDIwMDMxLCAyMDAzNSwgMjAwMzksIDIwMDQzLCAyMDA0NywgMjAwNTEsIAorICAgIDIwMDU1LCAyMDA1OSwgMjAwNjMsIDIwMDY3LCAyMDA3MSwgMjAwNzUsIDIwMDc5LCAyMDA4MywgMjAwODcsIDIwMDkxLCAKKyAgICAyMDA5NSwgMjAwOTksIDIwMTAzLCAyMDEwNywgMjAxMTEsIDIwMTE1LCAyMDExOSwgMjAxMjMsIDIwMTI3LCAyMDEzMSwgCisgICAgMjAxMzUsIDIwMTM5LCAyMDE0MywgMjAxNDcsIDIwMTUxLCAyMDE1NSwgMjAxNTksIDIwMTYzLCAyMDE2NywgMjAxNzEsIAorICAgIDIwMTc1LCAyMDE3OSwgMjAxODMsIDIwMTg3LCAyMDE5MSwgMjAxOTUsIDIwMTk5LCAyMDIwMywgMjAyMDcsIDIwMjExLCAKKyAgICAyMDIxNSwgMjAyMTksIDIwMjIzLCAyMDIyNywgMjAyMzEsIDIwMjM1LCAyMDIzOSwgMjAyNDMsIDIwMjQ3LCAyMDI1MSwgCisgICAgMjAyNTUsIDIwMjU5LCAyMDI2MywgMjAyNjcsIDIwMjcxLCAyMDI3NSwgMjAyNzksIDIwMjgzLCAyMDI4NywgMjAyOTEsIAorICAgIDIwMjk1LCAyMDI5OSwgMjAzMDMsIDIwMzA3LCAyMDMxMSwgMjAzMTUsIDIwMzE5LCAyMDMyMywgMjAzMjcsIDIwMzMxLCAKKyAgICAyMDMzNSwgMjAzMzksIDIwMzQzLCAyMDM0NywgMjAzNTEsIDIwMzU1LCAyMDM1OSwgMjAzNjIsIDIwMzY2LCAyMDM2OSwgCisgICAgMjAzNzMsIDIwMzc3LCAyMDM4MCwgMjAzODQsIDIwMzg4LCAyMDM5MSwgMjAzOTUsIDIwMzk5LCAyMDQwMywgMjA0MDcsIAorICAgIDIwNDEwLCAyMDQxNCwgMjA0MTgsIDIwNDIyLCAyMDQyNiwgMjA0MzAsIDIwNDM0LCAyMDQzNywgMjA0NDEsIDIwNDQ1LCAKKyAgICAyMDQ0OSwgMjA0NTMsIDIwNDU3LCAyMDQ2MSwgMjA0NjUsIDIwNDY5LCAyMDQ3MywgMjA0NzcsIDIwNDgxLCAyMDQ4NSwgCisgICAgMjA0ODksIDIwNDkzLCAyMDQ5NywgMjA1MDEsIDIwNTA1LCAyMDUwOSwgMjA1MTMsIDIwNTE3LCAyMDUyMSwgMjA1MjUsIAorICAgIDIwNTI5LCAyMDUzMywgMjA1MzcsIDIwNTQxLCAyMDU0NSwgMjA1NDksIDIwNTUzLCAyMDU1NywgMjA1NjEsIDIwNTY1LCAKKyAgICAyMDU2OSwgMjA1NzMsIDIwNTc3LCAyMDU4MSwgMjA1ODUsIDIwNTg5LCAyMDU5MywgMjA1OTcsIDIwNjAxLCAyMDYwNSwgCisgICAgMjA2MDksIDIwNjEzLCAyMDYxNywgMjA2MjEsIDIwNjI1LCAyMDYyOSwgMjA2MzMsIDIwNjM3LCAyMDY0MSwgMjA2NDUsIAorICAgIDIwNjQ5LCAyMDY1MywgMjA2NTcsIDIwNjYxLCAyMDY2NSwgMjA2NjksIDIwNjczLCAyMDY3NywgMjA2ODEsIDIwNjg1LCAKKyAgICAyMDY4OSwgMjA2OTMsIDIwNjk3LCAyMDcwMSwgMjA3MDUsIDIwNzA5LCAyMDcxMywgMjA3MTcsIDIwNzIxLCAyMDcyNSwgCisgICAgMjA3MjksIDIwNzMzLCAyMDczNywgMjA3NDEsIDIwNzQ1LCAyMDc0OSwgMjA3NTMsIDIwNzU3LCAyMDc2MSwgMjA3NjUsIAorICAgIDIwNzY5LCAyMDc3MywgMjA3NzcsIDIwNzgxLCAyMDc4NSwgMjA3ODksIDIwNzkzLCAyMDc5NywgMjA4MDEsIDIwODA1LCAKKyAgICAyMDgwOSwgMjA4MTMsIDIwODE3LCAyMDgyMSwgMjA4MjUsIDIwODI5LCAyMDgzMywgMjA4MzcsIDIwODQxLCAyMDg0NSwgCisgICAgMjA4NDksIDIwODUzLCAyMDg1NywgMjA4NjEsIDIwODY1LCAyMDg2OSwgMjA4NzMsIDIwODc3LCAyMDg4MSwgMjA4ODUsIAorICAgIDIwODg5LCAyMDg5MywgMjA4OTcsIDIwOTAxLCAyMDkwNSwgMjA5MDksIDIwOTEzLCAyMDkxNywgMjA5MjEsIDIwOTI1LCAKKyAgICAyMDkyOSwgMjA5MzMsIDIwOTM3LCAyMDk0MSwgMjA5NDUsIDIwOTQ5LCAyMDk1MywgMjA5NTcsIDIwOTYxLCAyMDk2NSwgCisgICAgMjA5NjksIDIwOTczLCAyMDk3NywgMjA5ODEsIDIwOTg1LCAyMDk4OSwgMjA5OTIsIDIwOTk2LCAyMTAwMCwgMjEwMDQsIAorICAgIDIxMDA4LCAyMTAxMiwgMjEwMTYsIDIxMDIwLCAyMTAyNCwgMjEwMjgsIDIxMDMyLCAyMTAzNiwgMjEwNDAsIDIxMDQ0LCAKKyAgICAyMTA0OCwgMjEwNTIsIDIxMDU2LCAyMTA2MCwgMjEwNjQsIDIxMDY4LCAyMTA3MiwgMjEwNzYsIDIxMDgwLCAyMTA4NCwgCisgICAgMjEwODcsIDIxMDkxLCAyMTA5NSwgMjEwOTksIDIxMTAzLCAyMTEwNywgMjExMTEsIDIxMTE1LCAyMTExOSwgMjExMjMsIAorICAgIDIxMTI3LCAyMTEzMSwgMjExMzUsIDIxMTM5LCAyMTE0MywgMjExNDcsIDIxMTUxLCAyMTE1NSwgMjExNTksIDIxMTYzLCAKKyAgICAyMTE2NywgMjExNzEsIDIxMTc1LCAyMTE3OSwgMjExODMsIDIxMTg3LCAyMTE5MSwgMjExOTUsIDIxMTk5LCAyMTIwMywgCisgICAgMjEyMDcsIDIxMjExLCAyMTIxNSwgMjEyMTksIDIxMjIzLCAyMTIyNywgMjEyMzEsIDIxMjM1LCAyMTIzOSwgMjEyNDMsIAorICAgIDIxMjQ3LCAyMTI1MSwgMjEyNTUsIDIxMjU5LCAyMTI2MywgMjEyNjcsIDIxMjcxLCAyMTI3NSwgMCwgMjEyNzksIDIxMjgzLCAKKyAgICAyMTI4NywgMjEyOTEsIDAsIDAsIDIxMjk1LCAyMTI5OSwgMjEzMDMsIDIxMzA3LCAyMTMxMSwgMjEzMTUsIDIxMzE5LCAwLCAKKyAgICAyMTMyMywgMCwgMjEzMjcsIDIxMzMxLCAyMTMzNSwgMjEzMzksIDAsIDAsIDIxMzQzLCAyMTM0NywgMjEzNTEsIDIxMzU1LCAKKyAgICAyMTM1OSwgMjEzNjMsIDIxMzY3LCAyMTM3MSwgMjEzNzUsIDIxMzc5LCAyMTM4MywgMjEzODcsIDIxMzkxLCAyMTM5NSwgCisgICAgMjEzOTksIDIxNDAzLCAyMTQwNywgMjE0MTEsIDIxNDE1LCAyMTQxOSwgMjE0MjMsIDIxNDI3LCAyMTQzMSwgMjE0MzQsIAorICAgIDIxNDM4LCAyMTQ0MiwgMjE0NDYsIDIxNDUwLCAyMTQ1NCwgMjE0NTgsIDIxNDYyLCAyMTQ2NiwgMjE0NzAsIDIxNDc0LCAKKyAgICAyMTQ3OCwgMjE0ODIsIDIxNDg2LCAyMTQ5MCwgMjE0OTQsIDIxNDk4LCAyMTUwMiwgMCwgMjE1MDYsIDIxNTEwLCAyMTUxNCwgCisgICAgMjE1MTgsIDAsIDAsIDIxNTIyLCAyMTUyNSwgMjE1MjksIDIxNTMzLCAyMTUzNywgMjE1NDEsIDIxNTQ1LCAyMTU0OSwgCisgICAgMjE1NTMsIDIxNTU3LCAyMTU2MSwgMjE1NjUsIDIxNTY5LCAyMTU3MywgMjE1NzcsIDIxNTgxLCAyMTU4NSwgMjE1OTAsIAorICAgIDIxNTk1LCAyMTYwMCwgMjE2MDYsIDIxNjEyLCAyMTYxNywgMjE2MjIsIDIxNjI4LCAyMTYzMSwgMjE2MzUsIDIxNjM5LCAKKyAgICAyMTY0MywgMjE2NDcsIDIxNjUxLCAyMTY1NSwgMjE2NTksIDAsIDIxNjYzLCAyMTY2NywgMjE2NzEsIDIxNjc1LCAwLCAwLCAKKyAgICAyMTY3OSwgMjE2ODMsIDIxNjg3LCAyMTY5MSwgMjE2OTUsIDIxNjk5LCAyMTcwMywgMCwgMjE3MDcsIDAsIDIxNzExLCAKKyAgICAyMTcxNSwgMjE3MTksIDIxNzIzLCAwLCAwLCAyMTcyNywgMjE3MzEsIDIxNzM1LCAyMTczOSwgMjE3NDMsIDIxNzQ3LCAKKyAgICAyMTc1MSwgMjE3NTUsIDIxNzU5LCAyMTc2NCwgMjE3NjksIDIxNzc0LCAyMTc4MCwgMjE3ODYsIDIxNzkxLCAwLCAyMTc5NiwgCisgICAgMjE4MDAsIDIxODA0LCAyMTgwOCwgMjE4MTIsIDIxODE2LCAyMTgyMCwgMjE4MjQsIDIxODI4LCAyMTgzMiwgMjE4MzYsIAorICAgIDIxODQwLCAyMTg0NCwgMjE4NDgsIDIxODUyLCAyMTg1NiwgMjE4NjAsIDIxODYzLCAyMTg2NywgMjE4NzEsIDIxODc1LCAKKyAgICAyMTg3OSwgMjE4ODMsIDIxODg3LCAyMTg5MSwgMjE4OTUsIDIxODk5LCAyMTkwMywgMjE5MDcsIDIxOTExLCAyMTkxNSwgCisgICAgMjE5MTksIDIxOTIzLCAyMTkyNywgMjE5MzEsIDIxOTM1LCAyMTkzOSwgMjE5NDMsIDIxOTQ3LCAyMTk1MSwgMjE5NTUsIAorICAgIDIxOTU5LCAyMTk2MywgMjE5NjcsIDIxOTcxLCAyMTk3NSwgMjE5NzksIDIxOTgzLCAyMTk4NywgMjE5OTEsIDIxOTk1LCAKKyAgICAyMTk5OSwgMjIwMDMsIDIyMDA3LCAyMjAxMSwgMjIwMTUsIDIyMDE5LCAwLCAyMjAyMywgMjIwMjcsIDIyMDMxLCAyMjAzNSwgCisgICAgMCwgMCwgMjIwMzksIDIyMDQzLCAyMjA0NywgMjIwNTEsIDIyMDU1LCAyMjA1OSwgMjIwNjMsIDIyMDY3LCAyMjA3MSwgCisgICAgMjIwNzUsIDIyMDc5LCAyMjA4MywgMjIwODcsIDIyMDkxLCAyMjA5NSwgMjIwOTksIDIyMTAzLCAyMjEwNywgMjIxMTEsIAorICAgIDIyMTE1LCAyMjExOSwgMjIxMjMsIDIyMTI3LCAyMjEzMSwgMjIxMzUsIDIyMTM5LCAyMjE0MywgMjIxNDcsIDIyMTUxLCAKKyAgICAyMjE1NSwgMjIxNTksIDIyMTYzLCAyMjE2NywgMjIxNzEsIDIyMTc1LCAyMjE3OSwgMjIxODMsIDIyMTg3LCAyMjE5MSwgCisgICAgMjIxOTUsIDIyMTk5LCAyMjIwMywgMjIyMDcsIDIyMjExLCAyMjIxNSwgMjIyMTksIDIyMjIzLCAyMjIyNywgMjIyMzEsIAorICAgIDIyMjM1LCAyMjIzOSwgMjIyNDMsIDIyMjQ3LCAyMjI1MSwgMjIyNTUsIDIyMjU5LCAyMjI2MywgMjIyNjYsIDIyMjcwLCAKKyAgICAyMjI3NCwgMjIyNzgsIDIyMjgyLCAyMjI4NiwgMjIyOTAsIDIyMjk0LCAyMjI5OCwgMjIzMDIsIDAsIDAsIDIyMzA2LCAKKyAgICAyMjMxNSwgMjIzMjEsIDIyMzI2LCAyMjMzMCwgMjIzMzMsIDIyMzM4LCAyMjM0MSwgMjIzNDQsIDIyMzQ3LCAyMjM1MiwgCisgICAgMjIzNTYsIDIyMzYxLCAyMjM2NCwgMjIzNjcsIDIyMzcwLCAyMjM3MywgMjIzNzYsIDIyMzc5LCAyMjM4MiwgMjIzODUsIAorICAgIDIyMzg4LCAyMjM5MiwgMjIzOTYsIDIyNDAwLCAyMjQwNCwgMjI0MDgsIDIyNDEyLCAyMjQxNiwgMjI0MjAsIDIyNDI0LCAKKyAgICAyMjQyOCwgMCwgMCwgMCwgMjI0MzQsIDIyNDQwLCAyMjQ0NCwgMjI0NDgsIDIyNDUyLCAyMjQ1OCwgMjI0NjIsIDIyNDY2LCAKKyAgICAyMjQ3MCwgMjI0NzYsIDIyNDgwLCAyMjQ4NCwgMjI0ODgsIDIyNDk0LCAyMjQ5OCwgMjI1MDIsIDIyNTA2LCAyMjUxMiwgCisgICAgMjI1MTgsIDIyNTI0LCAyMjUzMiwgMjI1MzgsIDIyNTQ0LCAyMjU1MCwgMjI1NTYsIDIyNTYyLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAyMjU2OCwgMjI1NzEsIDIyNTc0LCAyMjU3NywgMjI1ODAsIDIyNTgzLCAyMjU4NywgMjI1OTEsIDIyNTk0LCAyMjU5OCwgCisgICAgMjI2MDIsIDIyNjA2LCAyMjYxMCwgMjI2MTQsIDIyNjE3LCAyMjYyMSwgMjI2MjUsIDIyNjI5LCAyMjYzMywgMjI2MzcsIAorICAgIDIyNjQxLCAyMjY0NSwgMjI2NDksIDIyNjUzLCAyMjY1NywgMjI2NjEsIDIyNjY0LCAyMjY2OCwgMjI2NzIsIDIyNjc2LCAKKyAgICAyMjY4MCwgMjI2ODMsIDIyNjg3LCAyMjY5MSwgMjI2OTUsIDIyNjk5LCAyMjcwMywgMjI3MDcsIDIyNzExLCAyMjcxNSwgCisgICAgMjI3MTksIDIyNzIzLCAyMjcyNywgMjI3MzEsIDIyNzM1LCAyMjczOSwgMjI3NDIsIDIyNzQ2LCAyMjc1MCwgMjI3NTQsIAorICAgIDIyNzU4LCAyMjc2MiwgMjI3NjYsIDIyNzcwLCAyMjc3NCwgMjI3NzgsIDIyNzgyLCAyMjc4NiwgMjI3OTAsIDIyNzk0LCAKKyAgICAyMjc5OCwgMjI4MDIsIDIyODA2LCAyMjgxMCwgMjI4MTQsIDIyODE4LCAyMjgyMiwgMjI4MjYsIDIyODMwLCAyMjgzNCwgCisgICAgMjI4MzgsIDIyODQyLCAyMjg0NiwgMjI4NTAsIDIyODU0LCAyMjg1OCwgMjI4NjIsIDIyODY2LCAyMjg3MCwgMjI4NzQsIAorICAgIDIyODc3LCAyMjg4MSwgMjI4ODUsIDIyODg5LCAyMjg5MywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMjI4OTcsIDIyOTAxLCAyMjkwNCwgMjI5MDgsIDIyOTExLCAyMjkxNSwgMjI5MTgsIDIyOTIyLCAyMjkyOCwgMjI5MzMsIAorICAgIDIyOTM3LCAyMjk0MCwgMjI5NDQsIDIyOTQ4LCAyMjk1MywgMjI5NTcsIDIyOTYyLCAyMjk2NiwgMjI5NzEsIDIyOTc1LCAKKyAgICAyMjk4MCwgMjI5ODQsIDIyOTg5LCAyMjk5NSwgMjI5OTksIDIzMDA0LCAyMzAwOCwgMjMwMTMsIDIzMDE5LCAyMzAyMywgCisgICAgMjMwMjksIDIzMDM1LCAyMzAzOSwgMjMwNDQsIDIzMDUyLCAyMzA2MCwgMjMwNjcsIDIzMDcyLCAyMzA3NywgMjMwODYsIAorICAgIDIzMDkzLCAyMzEwMCwgMjMxMDUsIDIzMTExLCAyMzExNSwgMjMxMTksIDIzMTIzLCAyMzEyNywgMjMxMzEsIDIzMTM1LCAKKyAgICAyMzEzOSwgMjMxNDMsIDIzMTQ3LCAyMzE1MSwgMjMxNTcsIDIzMTYyLCAyMzE2NywgMjMxNzAsIDIzMTc0LCAyMzE3OCwgCisgICAgMjMxODMsIDIzMTg3LCAyMzE5MiwgMjMxOTYsIDIzMjAxLCAyMzIwNSwgMjMyMTAsIDIzMjE0LCAyMzIxOSwgMjMyMjMsIAorICAgIDIzMjI4LCAyMzIzMiwgMjMyMzcsIDIzMjQzLCAyMzI0NywgMjMyNTIsIDIzMjU3LCAyMzI2MSwgMjMyNjUsIDIzMjY5LCAKKyAgICAyMzI3MywgMjMyNzYsIDIzMjgwLCAyMzI4NiwgMjMyOTEsIDIzMjk2LCAyMzMwMCwgMjMzMDQsIDIzMzA4LCAyMzMxMywgCisgICAgMjMzMTcsIDIzMzIyLCAyMzMyNiwgMjMzMzEsIDIzMzM0LCAyMzMzOCwgMjMzNDIsIDIzMzQ3LCAyMzM1MSwgMjMzNTYsIAorICAgIDIzMzYwLCAyMzM2NSwgMjMzNzEsIDIzMzc1LCAyMzM3OSwgMjMzODMsIDIzMzg3LCAyMzM5MSwgMjMzOTUsIDIzMzk5LCAKKyAgICAyMzQwMywgMjM0MDcsIDIzNDExLCAyMzQxNSwgMjM0MjEsIDIzNDI0LCAyMzQyOCwgMjM0MzIsIDIzNDM3LCAyMzQ0MSwgCisgICAgMjM0NDYsIDIzNDUwLCAyMzQ1NSwgMjM0NTksIDIzNDY0LCAyMzQ2OCwgMjM0NzMsIDIzNDc3LCAyMzQ4MiwgMjM0ODYsIAorICAgIDIzNDkxLCAyMzQ5NywgMjM1MDEsIDIzNTA1LCAyMzUxMSwgMjM1MTcsIDIzNTIzLCAyMzUyOSwgMjM1MzMsIDIzNTM3LCAKKyAgICAyMzU0MSwgMjM1NDUsIDIzNTQ5LCAyMzU1MywgMjM1NTksIDIzNTYzLCAyMzU2NywgMjM1NzEsIDIzNTc2LCAyMzU4MCwgCisgICAgMjM1ODUsIDIzNTg5LCAyMzU5NCwgMjM1OTgsIDIzNjAzLCAyMzYwNywgMjM2MTIsIDIzNjE2LCAyMzYyMSwgMjM2MjUsIAorICAgIDIzNjMwLCAyMzYzNiwgMjM2NDAsIDIzNjQ2LCAyMzY1MCwgMjM2NTQsIDIzNjU4LCAyMzY2MiwgMjM2NjYsIDIzNjcwLCAKKyAgICAyMzY3NiwgMjM2NzksIDIzNjgzLCAyMzY4NywgMjM2OTIsIDIzNjk2LCAyMzcwMSwgMjM3MDUsIDIzNzEwLCAyMzcxNCwgCisgICAgMjM3MTksIDIzNzIzLCAyMzcyOCwgMjM3MzIsIDIzNzM3LCAyMzc0MSwgMjM3NDYsIDIzNzUyLCAyMzc1NiwgMjM3NjEsIAorICAgIDIzNzY1LCAyMzc3MSwgMjM3NzcsIDIzNzgxLCAyMzc4NSwgMjM3ODksIDIzNzkzLCAyMzc5NywgMjM4MDEsIDIzODA3LCAKKyAgICAyMzgxMCwgMjM4MTQsIDIzODE4LCAyMzgyMywgMjM4MjcsIDIzODMyLCAyMzgzNiwgMjM4NDEsIDIzODQ3LCAyMzg1MSwgCisgICAgMjM4NTYsIDIzODYwLCAyMzg2NCwgMjM4NjgsIDIzODcyLCAyMzg3NiwgMjM4ODAsIDIzODg0LCAyMzg5MCwgMjM4OTQsIAorICAgIDIzODk4LCAyMzkwMiwgMjM5MDcsIDIzOTExLCAyMzkxNiwgMjM5MjAsIDIzOTI1LCAyMzkyOSwgMjM5MzQsIDIzOTM4LCAKKyAgICAyMzk0MywgMjM5NDcsIDIzOTUyLCAyMzk1NiwgMjM5NjEsIDIzOTY0LCAyMzk2OCwgMjM5NzIsIDIzOTc2LCAyMzk4MCwgCisgICAgMjM5ODQsIDIzOTg4LCAyMzk5MiwgMjM5OTYsIDI0MDAyLCAyNDAwNiwgMjQwMTAsIDI0MDE0LCAyNDAxOSwgMjQwMjMsIAorICAgIDI0MDI4LCAyNDAzMiwgMjQwMzcsIDI0MDQxLCAyNDA0NiwgMjQwNTAsIDI0MDU1LCAyNDA1OSwgMjQwNjQsIDI0MDY4LCAKKyAgICAyNDA3MywgMjQwNzksIDI0MDgyLCAyNDA4NywgMjQwOTEsIDI0MDk2LCAyNDEwMiwgMjQxMDgsIDI0MTE0LCAyNDEyMCwgCisgICAgMjQxMjYsIDI0MTMyLCAyNDEzOCwgMjQxNDIsIDI0MTQ2LCAyNDE1MCwgMjQxNTQsIDI0MTU4LCAyNDE2MiwgMjQxNjYsIAorICAgIDI0MTcwLCAyNDE3NSwgMjQxNzksIDI0MTg0LCAyNDE4OCwgMjQxOTMsIDI0MTk3LCAyNDIwMiwgMjQyMDYsIDI0MjExLCAKKyAgICAyNDIxNSwgMjQyMjAsIDI0MjI0LCAyNDIyOSwgMjQyMzMsIDI0MjM3LCAyNDI0MSwgMjQyNDUsIDI0MjQ5LCAyNDI1MywgCisgICAgMjQyNTcsIDI0MjYzLCAyNDI2NiwgMjQyNzAsIDI0Mjc0LCAyNDI3OSwgMjQyODMsIDI0Mjg4LCAyNDI5MiwgMjQyOTcsIAorICAgIDI0MzAxLCAyNDMwNiwgMjQzMTAsIDI0MzE1LCAyNDMxOSwgMjQzMjQsIDI0MzI4LCAyNDMzMywgMjQzMzksIDI0MzQzLCAKKyAgICAyNDM0OSwgMjQzNTQsIDI0MzYwLCAyNDM2NCwgMjQzNzAsIDI0Mzc1LCAyNDM3OSwgMjQzODMsIDI0Mzg3LCAyNDM5MSwgCisgICAgMjQzOTUsIDI0NDAwLCAyNDQwNCwgMjQ0MDgsIDI0NDEzLCAyNDQxNywgMjQ0MjIsIDI0NDI1LCAyNDQyOSwgMjQ0MzMsIAorICAgIDI0NDM3LCAyNDQ0MSwgMjQ0NDUsIDI0NDQ5LCAyNDQ1MywgMjQ0NTcsIDI0NDYxLCAyNDQ2NSwgMjQ0NjksIDI0NDc0LCAKKyAgICAyNDQ3OCwgMjQ0ODIsIDI0NDg4LCAyNDQ5MiwgMjQ0OTgsIDI0NTAyLCAyNDUwOCwgMjQ1MTIsIDI0NTE2LCAyNDUyMCwgCisgICAgMjQ1MjQsIDI0NTI4LCAyNDUzMywgMjQ1MzcsIDI0NTQxLCAyNDU0NSwgMjQ1NDksIDI0NTUzLCAyNDU1NywgMjQ1NjEsIAorICAgIDI0NTY1LCAyNDU2OSwgMjQ1NzMsIDI0NTc5LCAyNDU4NSwgMjQ1OTEsIDI0NTk3LCAyNDYwMywgMjQ2MDgsIDI0NjE0LCAKKyAgICAyNDYyMCwgMjQ2MjYsIDI0NjMwLCAyNDYzNCwgMjQ2MzgsIDI0NjQyLCAyNDY0NiwgMjQ2NTAsIDI0NjU0LCAyNDY1OCwgCisgICAgMjQ2NjIsIDI0NjY2LCAyNDY3MCwgMjQ2NzQsIDI0Njc4LCAyNDY4MywgMjQ2ODgsIDI0NjkzLCAyNDY5OCwgMjQ3MDIsIAorICAgIDI0NzA2LCAyNDcxMCwgMjQ3MTQsIDI0NzE4LCAyNDcyMiwgMjQ3MjYsIDI0NzMwLCAyNDczNCwgMjQ3NDAsIDI0NzQ2LCAKKyAgICAyNDc1MiwgMjQ3NTgsIDI0NzY0LCAyNDc3MCwgMjQ3NzYsIDI0NzgyLCAyNDc4OCwgMjQ3OTIsIDI0Nzk2LCAyNDgwMCwgCisgICAgMjQ4MDQsIDI0ODA4LCAyNDgxMiwgMjQ4MTYsIDI0ODIyLCAyNDgyOCwgMjQ4MzQsIDI0ODQwLCAyNDg0NiwgMjQ4NTIsIAorICAgIDI0ODU4LCAyNDg2NCwgMjQ4NzAsIDI0ODc1LCAyNDg4MCwgMjQ4ODUsIDI0ODkwLCAyNDg5NiwgMjQ5MDIsIDI0OTA4LCAKKyAgICAyNDkxNCwgMjQ5MjAsIDI0OTI2LCAyNDkzMiwgMjQ5MzcsIDI0OTQzLCAyNDk0OSwgMjQ5NTUsIDI0OTYwLCAyNDk2NiwgCisgICAgMjQ5NzIsIDI0OTc4LCAyNDk4MywgMjQ5ODgsIDI0OTkzLCAyNDk5OCwgMjUwMDMsIDI1MDA4LCAyNTAxMywgMjUwMTgsIAorICAgIDI1MDIzLCAyNTAyOCwgMjUwMzMsIDI1MDM4LCAyNTA0MywgMjUwNDgsIDI1MDUzLCAyNTA1OCwgMjUwNjMsIDI1MDY4LCAKKyAgICAyNTA3MywgMjUwNzgsIDI1MDgzLCAyNTA4OCwgMjUwOTMsIDI1MDk4LCAyNTEwMywgMjUxMDgsIDI1MTEzLCAyNTExOCwgCisgICAgMjUxMjMsIDI1MTI4LCAyNTEzMywgMjUxMzgsIDI1MTQzLCAyNTE0OCwgMjUxNTMsIDI1MTU4LCAyNTE2MywgMjUxNjgsIAorICAgIDI1MTczLCAyNTE3OCwgMjUxODMsIDI1MTg4LCAyNTE5MiwgMjUxOTcsIDI1MjAyLCAyNTIwNywgMjUyMTIsIDI1MjE3LCAKKyAgICAyNTIyMiwgMjUyMjcsIDI1MjMyLCAyNTIzNywgMjUyNDIsIDI1MjQ3LCAyNTI1MiwgMjUyNTcsIDI1MjYyLCAyNTI2NywgCisgICAgMjUyNzIsIDI1Mjc3LCAyNTI4MiwgMjUyODcsIDI1MjkyLCAyNTI5NywgMjUzMDIsIDI1MzA3LCAyNTMxMiwgMjUzMTcsIAorICAgIDI1MzIxLCAyNTMyNiwgMjUzMzEsIDI1MzM2LCAyNTM0MSwgMjUzNDYsIDI1MzUwLCAyNTM1NSwgMjUzNjAsIDI1MzY1LCAKKyAgICAyNTM3MCwgMjUzNzUsIDI1Mzc5LCAyNTM4NCwgMjUzOTAsIDI1Mzk1LCAyNTQwMCwgMjU0MDUsIDI1NDEwLCAyNTQxNiwgCisgICAgMjU0MjEsIDI1NDI2LCAyNTQzMSwgMjU0MzYsIDI1NDQxLCAyNTQ0NiwgMjU0NTEsIDI1NDU2LCAyNTQ2MSwgMjU0NjYsIAorICAgIDI1NDcxLCAyNTQ3NiwgMjU0ODEsIDI1NDg2LCAyNTQ5MSwgMjU0OTYsIDI1NTAxLCAyNTUwNiwgMjU1MTEsIDI1NTE2LCAKKyAgICAyNTUyMSwgMjU1MjYsIDI1NTMxLCAyNTUzNiwgMjU1NDEsIDI1NTQ2LCAyNTU1MSwgMjU1NTYsIDI1NTYxLCAyNTU2NiwgCisgICAgMjU1NzEsIDI1NTc2LCAyNTU4MSwgMjU1ODYsIDI1NTkxLCAyNTU5NiwgMjU2MDEsIDI1NjA2LCAyNTYxMSwgMjU2MTYsIAorICAgIDI1NjIxLCAyNTYyNiwgMjU2MzEsIDI1NjM2LCAyNTY0MiwgMjU2NDcsIDI1NjUyLCAyNTY1NywgMjU2NjIsIDI1NjY3LCAKKyAgICAyNTY3MiwgMjU2NzcsIDI1NjgyLCAyNTY4NywgMjU2OTIsIDI1Njk3LCAyNTcwMiwgMjU3MDcsIDI1NzEyLCAyNTcxNywgCisgICAgMjU3MjIsIDI1NzI3LCAyNTczMiwgMjU3MzcsIDI1NzQyLCAyNTc0NywgMjU3NTIsIDI1NzU3LCAyNTc2MiwgMjU3NjcsIAorICAgIDI1NzcyLCAyNTc3NywgMjU3ODIsIDI1Nzg3LCAyNTc5MiwgMjU3OTcsIDI1ODAyLCAyNTgwNywgMjU4MTIsIDI1ODE3LCAKKyAgICAyNTgyMiwgMjU4MjcsIDI1ODMyLCAyNTgzOCwgMjU4NDIsIDI1ODQ2LCAyNTg1MCwgMjU4NTQsIDI1ODU4LCAyNTg2MiwgCisgICAgMjU4NjYsIDI1ODcwLCAyNTg3NiwgMjU4ODIsIDI1ODg4LCAyNTg5NCwgMjU5MDAsIDI1OTA2LCAyNTkxMiwgMjU5MTksIAorICAgIDI1OTI1LCAyNTkzMCwgMjU5MzUsIDI1OTQwLCAyNTk0NSwgMjU5NTAsIDI1OTU1LCAyNTk2MCwgMjU5NjUsIDI1OTcwLCAKKyAgICAyNTk3NSwgMjU5ODAsIDI1OTg1LCAyNTk5MCwgMjU5OTUsIDI2MDAwLCAyNjAwNSwgMjYwMTAsIDI2MDE1LCAyNjAyMCwgCisgICAgMjYwMjUsIDI2MDMwLCAyNjAzNSwgMjYwNDAsIDI2MDQ1LCAyNjA1MCwgMjYwNTUsIDI2MDYwLCAyNjA2NSwgMCwgMCwgMCwgCisgICAgMjYwNzIsIDI2MDgyLCAyNjA4NiwgMjYwOTMsIDI2MDk3LCAyNjEwMSwgMjYxMDUsIDI2MTEzLCAyNjExNywgMjYxMjIsIAorICAgIDI2MTI3LCAyNjEzMiwgMjYxMzYsIDI2MTQxLCAyNjE0NiwgMjYxNDksIDI2MTUzLCAyNjE1NywgMjYxNjYsIDI2MTcwLCAKKyAgICAyNjE3NCwgMjYxODAsIDI2MTg0LCAyNjE4OCwgMjYxOTYsIDI2MjAwLCAyNjIwOCwgMjYyMTQsIDI2MjIwLCAyNjIyNiwgCisgICAgMjYyMzIsIDI2MjQyLCAyNjI0OCwgMjYyNTIsIDI2MjYxLCAyNjI2NCwgMjYyNzAsIDI2Mjc0LCAyNjI4MCwgMjYyODUsIAorICAgIDI2MjkxLCAyNjI5OSwgMjYzMDUsIDI2MzEwLCAyNjMxNywgMjYzMjIsIDI2MzI2LCAyNjMzMCwgMjYzNDAsIDI2MzQ2LCAKKyAgICAyNjM1MCwgMjYzNjAsIDI2MzY2LCAyNjM3MCwgMjYzNzQsIDI2MzgxLCAyNjM4OSwgMjYzOTUsIDI2NDAxLCAyNjQxMCwgCisgICAgMjY0MTQsIDI2NDE4LCAyNjQyMiwgMjY0MzAsIDI2NDM3LCAyNjQ0MSwgMjY0NDUsIDI2NDQ5LCAyNjQ1MywgMjY0NTcsIAorICAgIDI2NDYxLCAyNjQ2NSwgMjY0NjksIDI2NDczLCAyNjQ3NywgMjY0ODEsIDI2NDg2LCAyNjQ5MSwgMjY0OTYsIDI2NTAwLCAKKyAgICAyNjUwNCwgMjY1MDgsIDI2NTEyLCAyNjUxNiwgMjY1MjAsIDI2NTI4LCAyNjUzNiwgMjY1NDQsIDI2NTUyLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAyNjU2MCwgMjY1NjQsIDI2NTY4LCAyNjU3MiwgMjY1NzYsIDI2NTgxLCAyNjU4NiwgMjY1OTEsIAorICAgIDI2NTk2LCAyNjYwMCwgMjY2MDQsIDI2NjA5LCAyNjYxMywgMCwgMjY2MTcsIDI2NjIyLCAyNjYyNywgMjY2MzIsIDI2NjM2LCAKKyAgICAyNjY0MSwgMjY2NDYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI2NjUxLCAyNjY1NSwgMjY2NTksIAorICAgIDI2NjYzLCAyNjY2NywgMjY2NzIsIDI2Njc3LCAyNjY4MiwgMjY2ODcsIDI2NjkxLCAyNjY5NSwgMjY3MDAsIDI2NzA0LCAKKyAgICAyNjcwOCwgMjY3MTMsIDI2NzE4LCAyNjcyMywgMjY3MjgsIDI2NzMyLCAyNjczNywgMjY3NDIsIDI2NzQ3LCAyNjc1MywgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjY3NTgsIDI2NzYyLCAyNjc2NiwgMjY3NzAsIDI2Nzc0LCAyNjc3OSwgMjY3ODQsIAorICAgIDI2Nzg5LCAyNjc5NCwgMjY3OTgsIDI2ODAyLCAyNjgwNywgMjY4MTEsIDI2ODE1LCAyNjgyMCwgMjY4MjUsIDI2ODMwLCAKKyAgICAyNjgzNSwgMjY4MzksIDI2ODQ0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNjg0OSwgMjY4NTMsIAorICAgIDI2ODU3LCAyNjg2MSwgMjY4NjUsIDI2ODcwLCAyNjg3NSwgMjY4ODAsIDI2ODg1LCAyNjg4OSwgMjY4OTMsIDI2ODk4LCAKKyAgICAyNjkwMiwgMCwgMjY5MDYsIDI2OTExLCAyNjkxNiwgMCwgMjY5MjEsIDI2OTI2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAyNjkzMSwgMjY5MzQsIDI2OTM4LCAyNjk0MiwgMjY5NDYsIDI2OTUwLCAyNjk1NCwgMjY5NTgsIAorICAgIDI2OTYyLCAyNjk2NiwgMjY5NzAsIDI2OTc0LCAyNjk3OCwgMjY5ODIsIDI2OTg2LCAyNjk5MCwgMjY5OTQsIDI2OTk4LCAKKyAgICAyNzAwMSwgMjcwMDUsIDI3MDA5LCAyNzAxMywgMjcwMTcsIDI3MDIxLCAyNzAyNSwgMjcwMjksIDI3MDMzLCAyNzAzNywgCisgICAgMjcwNDEsIDI3MDQ1LCAyNzA0OSwgMjcwNTMsIDI3MDU3LCAyNzA2MCwgMjcwNjQsIDI3MDY4LCAyNzA3NCwgMjcwODAsIAorICAgIDI3MDg2LCAyNzA5MiwgMjcwOTgsIDI3MTA0LCAyNzExMCwgMjcxMTYsIDI3MTIyLCAyNzEyOCwgMjcxMzQsIDI3MTQwLCAKKyAgICAyNzE0NiwgMjcxNTIsIDI3MTYxLCAyNzE3MCwgMjcxNzYsIDI3MTgyLCAyNzE4OCwgMjcxOTMsIDI3MTk3LCAyNzIwMiwgCisgICAgMjcyMDcsIDI3MjEyLCAyNzIxNiwgMjcyMjEsIDI3MjI2LCAyNzIzMSwgMjcyMzUsIDI3MjQwLCAyNzI0NCwgMjcyNDksIAorICAgIDI3MjU0LCAyNzI1OSwgMjcyNjQsIDI3MjY4LCAyNzI3MiwgMjcyNzYsIDI3MjgwLCAyNzI4NCwgMjcyODgsIDI3MjkyLCAKKyAgICAyNzI5NiwgMjczMDAsIDI3MzA0LCAyNzMxMCwgMjczMTQsIDI3MzE4LCAyNzMyMiwgMjczMjYsIDI3MzMwLCAyNzMzOCwgCisgICAgMjczNDQsIDI3MzQ4LCAyNzM1NCwgMjczNTgsIDI3MzY0LCAyNzM2OCwgMCwgMCwgMjczNzIsIDI3Mzc2LCAyNzM3OSwgCisgICAgMjczODIsIDI3Mzg1LCAyNzM4OCwgMjczOTEsIDI3Mzk0LCAyNzM5NywgMjc0MDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI3NDAzLCAKKyAgICAyNzQxMSwgMjc0MTksIDI3NDI3LCAyNzQzNSwgMjc0NDMsIDI3NDUxLCAyNzQ1OSwgMjc0NjcsIDI3NDc1LCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAyNzQ4MywgMjc0ODYsIDI3NDg5LCAyNzQ5MiwgMjc0OTcsIDI3NTAwLCAyNzUwNSwgMjc1MTIsIDI3NTIwLCAKKyAgICAyNzUyNSwgMjc1MzIsIDI3NTM1LCAyNzU0MiwgMjc1NDksIDI3NTU2LCAwLCAyNzU2MCwgMjc1NjQsIDI3NTY3LCAyNzU3MCwgCisgICAgMjc1NzMsIDI3NTc2LCAyNzU3OSwgMjc1ODIsIDI3NTg1LCAyNzU4OCwgMCwgMCwgMCwgMCwgMCwgMCwgMjc1OTEsIDI3NTk0LCAKKyAgICAyNzU5NywgMjc2MDAsIDI3NjAzLCAyNzYwNiwgMjc2MTAsIDI3NjE0LCAyNzYxOCwgMjc2MjEsIDI3NjI1LCAyNzYyOSwgCisgICAgMjc2MzIsIDI3NjM2LCAyNzY0MCwgMjc2NDMsIDI3NjQ3LCAyNzY1MSwgMjc2NTUsIDI3NjU5LCAyNzY2MywgMjc2NjcsIAorICAgIDI3NjcxLCAyNzY3NCwgMjc2NzgsIDI3NjgyLCAyNzY4NiwgMjc2ODksIDI3NjkzLCAyNzY5NywgMjc3MDEsIDI3NzA1LCAKKyAgICAyNzcwOSwgMjc3MTMsIDI3NzE3LCAyNzcyMSwgMjc3MjgsIDI3NzMzLCAyNzczOCwgMjc3NDMsIDI3NzQ4LCAyNzc1NCwgCisgICAgMjc3NjAsIDI3NzY2LCAyNzc3MiwgMjc3NzcsIDI3NzgzLCAyNzc4OSwgMjc3OTQsIDI3ODAwLCAyNzgwNiwgMjc4MTIsIAorICAgIDI3ODE4LCAyNzgyNCwgMjc4MjksIDI3ODM1LCAyNzg0MCwgMjc4NDYsIDI3ODUyLCAyNzg1OCwgMjc4NjQsIDI3ODcwLCAKKyAgICAyNzg3NSwgMjc4ODAsIDI3ODg2LCAyNzg5MiwgMjc4OTcsIDI3OTAzLCAyNzkwOCwgMjc5MTQsIDI3OTE5LCAyNzkyNCwgCisgICAgMjc5MzAsIDI3OTM2LCAyNzk0MiwgMjc5NDgsIDI3OTU0LCAyNzk2MCwgMjc5NjYsIDI3OTcyLCAyNzk3OCwgMjc5ODQsIAorICAgIDI3OTkwLCAyNzk5NiwgMjgwMDEsIDI4MDA2LCAyODAxMiwgMjgwMTgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI4MDI0LCAKKyAgICAyODAzMywgMjgwNDIsIDI4MDUwLCAyODA1OCwgMjgwNjgsIDI4MDc2LCAyODA4NSwgMjgwOTIsIDI4MDk5LCAyODEwNiwgCisgICAgMjgxMTQsIDI4MTIyLCAyODEzMCwgMjgxMzgsIDI4MTQ2LCAyODE1NCwgMjgxNjIsIDI4MTcwLCAyODE3NywgMjgxODUsIAorICAgIDI4MTkzLCAyODIwMSwgMjgyMDksIDI4MjE3LCAyODIyNywgMjgyMzcsIDI4MjQ3LCAyODI1NywgMjgyNjcsIDI4Mjc3LCAKKyAgICAyODI4NywgMjgyOTcsIDI4MzA3LCAyODMxNywgMjgzMjcsIDI4MzM3LCAyODM0NywgMjgzNTcsIDI4MzY1LCAyODM3MywgCisgICAgMjgzODMsIDI4MzkxLCAwLCAwLCAwLCAwLCAwLCAyODQwMSwgMjg0MDUsIDI4NDA5LCAyODQxMywgMjg0MTcsIDI4NDIxLCAKKyAgICAyODQyNSwgMjg0MjksIDI4NDMzLCAyODQzNywgMjg0NDEsIDI4NDQ1LCAyODQ0OSwgMjg0NTMsIDI4NDU3LCAyODQ2MSwgCisgICAgMjg0NjUsIDI4NDY5LCAyODQ3MywgMjg0NzcsIDI4NDgxLCAyODQ4NSwgMjg0ODksIDI4NDkzLCAyODQ5OSwgMjg1MDMsIAorICAgIDI4NTA5LCAyODUxMywgMjg1MTksIDI4NTIzLCAyODUyOSwgMjg1MzMsIDI4NTM3LCAyODU0MSwgMjg1NDUsIDI4NTQ5LCAKKyAgICAyODU1MywgMjg1NTksIDI4NTY1LCAyODU3MSwgMjg1NzcsIDI4NTgzLCAyODU4OSwgMjg1OTQsIDI4NjAwLCAyODYwNiwgCisgICAgMjg2MTIsIDI4NjE4LCAyODYyNSwgMjg2MzEsIDI4NjM2LCAyODY0MSwgMjg2NDUsIDI4NjQ5LCAyODY1MywgMjg2NTcsIAorICAgIDI4NjYxLCAyODY2NSwgMjg2NjksIDI4Njc1LCAyODY4MSwgMjg2ODcsIDI4NjkyLCAyODY5OSwgMjg3MDQsIDI4NzA5LCAKKyAgICAyODcxNSwgMjg3MjAsIDI4NzI3LCAyODczNCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjg3NDAsIDI4NzQ2LCAKKyAgICAyODc1MCwgMjg3NTUsIDI4NzYwLCAyODc2NSwgMjg3NzAsIDI4Nzc1LCAyODc4MCwgMjg3ODUsIDI4NzkwLCAyODc5NSwgCisgICAgMjg4MDAsIDI4ODA1LCAyODgxMCwgMjg4MTUsIDI4ODE5LCAyODgyMywgMjg4MjgsIDI4ODMzLCAyODgzOCwgMjg4NDIsIAorICAgIDI4ODQ2LCAyODg1MSwgMjg4NTYsIDI4ODYxLCAyODg2NiwgMjg4NzEsIDI4ODc2LCAyODg4MCwgMjg4ODUsIDAsIDI4ODkwLCAKKyAgICAyODg5NSwgMjg5MDAsIDI4OTA1LCAyODkxMSwgMjg5MTcsIDI4OTIzLCAyODkyOSwgMjg5MzQsIDI4OTM5LCAyODk0NSwgCisgICAgMjg5NTIsIDAsIDAsIDAsIDAsIDI4OTU5LCAyODk2NCwgMjg5NzAsIDI4OTc2LCAyODk4MiwgMjg5ODcsIDI4OTkyLCAKKyAgICAyODk5NywgMjkwMDMsIDI5MDA5LCAyOTAxNCwgMjkwMTksIDAsIDAsIDAsIDAsIDI5MDI0LCAwLCAwLCAwLCAyOTAyOSwgCisgICAgMjkwMzQsIDI5MDM5LCAyOTA0NCwgMjkwNDgsIDI5MDUyLCAyOTA1NiwgMjkwNjAsIDI5MDY0LCAyOTA2OCwgMjkwNzIsIAorICAgIDI5MDc2LCAyOTA4MCwgMjkwODUsIDI5MDkxLCAyOTA5NywgMjkxMDMsIDI5MTA5LCAyOTExNCwgMjkxMjAsIDI5MTI2LCAKKyAgICAyOTEzMiwgMjkxMzcsIDI5MTQzLCAyOTE0OCwgMjkxNTQsIDI5MTYwLCAyOTE2NSwgMjkxNzEsIDI5MTc3LCAyOTE4MywgCisgICAgMjkxODgsIDI5MTkzLCAyOTE5OCwgMjkyMDQsIDI5MjEwLCAyOTIxNSwgMjkyMjEsIDI5MjI2LCAyOTIzMiwgMjkyMzcsIAorICAgIDI5MjQzLCAwLCAwLCAyOTI0OSwgMjkyNTUsIDI5MjYxLCAyOTI2NywgMjkyNzMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDI5Mjc5LCAyOTI4NywgMjkyOTUsIDI5MzAyLCAyOTMxMCwgMjkzMTgsIDI5MzI1LCAyOTMzMywgMjkzNDEsIAorICAgIDI5MzQ5LCAyOTM1NywgMjkzNjQsIDI5MzcyLCAyOTM4MCwgMjkzODcsIDI5Mzk1LCAyOTQwMywgMjk0MTAsIDI5NDE4LCAKKyAgICAyOTQyNiwgMjk0MzMsIDI5NDQwLCAyOTQ0OCwgMjk0NTUsIDI5NDYyLCAyOTQ3MCwgMjk0NzcsIDI5NDg1LCAyOTQ5MywgCisgICAgMjk1MDEsIDI5NTA5LCAyOTUxNywgMjk1MjUsIDI5NTMyLCAyOTU0MCwgMjk1NDgsIDI5NTU1LCAyOTU2MywgMjk1NzEsIAorICAgIDI5NTc5LCAyOTU4NywgMjk1OTUsIDI5NjAzLCAyOTYxMSwgMCwgMCwgMCwgMCwgMjk2MTksIDI5NjI4LCAyOTYzNiwgCisgICAgMjk2NDQsIDI5NjUxLCAyOTY1OSwgMjk2NjYsIDI5Njc0LCAyOTY4MSwgMjk2ODksIDI5Njk3LCAyOTcwNSwgMjk3MTMsIAorICAgIDI5NzIxLCAyOTcyOSwgMjk3MzcsIDI5NzQ1LCAyOTc1MywgMjk3NjEsIDI5NzY5LCAyOTc3NywgMjk3ODUsIDI5NzkzLCAKKyAgICAyOTgwMSwgMjk4MDksIDI5ODE2LCAwLCAwLCAwLCAwLCAwLCAwLCAyOTgyMywgMjk4MzAsIDI5ODM2LCAyOTg0MiwgMjk4NDgsIAorICAgIDI5ODU0LCAyOTg2MCwgMjk4NjYsIDI5ODcyLCAyOTg3OCwgMjk4ODQsIDAsIDAsIDAsIDI5ODkxLCAyOTg5OCwgMjk5MDUsIAorICAgIDI5OTA5LCAyOTkxNSwgMjk5MjEsIDI5OTI3LCAyOTkzMywgMjk5MzksIDI5OTQ1LCAyOTk1MSwgMjk5NTcsIDI5OTYzLCAKKyAgICAyOTk2OSwgMjk5NzUsIDI5OTgxLCAyOTk4NywgMjk5OTMsIDI5OTk5LCAzMDAwMywgMzAwMDksIDMwMDE1LCAzMDAyMSwgCisgICAgMzAwMjcsIDMwMDMzLCAzMDAzOSwgMzAwNDUsIDMwMDUxLCAzMDA1NywgMzAwNjMsIDMwMDY5LCAzMDA3NSwgMzAwODEsIAorICAgIDMwMDg3LCAzMDA5MywgMzAwOTcsIDMwMTAyLCAzMDEwNywgMzAxMTIsIDMwMTE2LCAzMDEyMSwgMzAxMjUsIDMwMTMwLCAKKyAgICAzMDEzNSwgMzAxNDAsIDMwMTQ0LCAzMDE0OSwgMzAxNTQsIDMwMTU5LCAzMDE2NCwgMzAxNjksIDMwMTczLCAzMDE3OCwgCisgICAgMzAxODMsIDMwMTg4LCAzMDE5MywgMzAxOTcsIDMwMjAxLCAzMDIwNiwgMzAyMTEsIDMwMjE2LCAzMDIyMSwgMCwgMCwgCisgICAgMzAyMjcsIDMwMjMxLCAzMDIzOCwgMzAyNDMsIDMwMjQ5LCAzMDI1NSwgMzAyNjAsIDMwMjY2LCAzMDI3MiwgMzAyNzcsIAorICAgIDMwMjgzLCAzMDI4OSwgMzAyOTUsIDMwMzAxLCAzMDMwNywgMzAzMTIsIDMwMzE3LCAzMDMyMywgMzAzMjgsIDMwMzM0LCAKKyAgICAzMDMzOSwgMzAzNDUsIDMwMzUxLCAzMDM1NywgMzAzNjMsIDMwMzY3LCAzMDM3MiwgMzAzNzcsIDMwMzgzLCAzMDM4OSwgCisgICAgMzAzOTQsIDMwNDAwLCAzMDQwNiwgMzA0MTAsIDMwNDE1LCAzMDQyMCwgMzA0MjUsIDMwNDMwLCAzMDQzNSwgMzA0NDAsIAorICAgIDMwNDQ1LCAzMDQ1MSwgMzA0NTcsIDMwNDYzLCAzMDQ2OCwgMzA0NzMsIDMwNDc3LCAzMDQ4MiwgMzA0ODYsIDMwNDkxLCAKKyAgICAzMDQ5NSwgMzA1MDAsIDMwNTA1LCAzMDUxMCwgMzA1MTUsIDMwNTIyLCAzMDUyOSwgMzA1MzYsIDMwNTQ2LCAzMDU1NSwgCisgICAgMzA1NjIsIDMwNTY4LCAzMDU3OSwgMzA1ODQsIDMwNTkwLCAwLCAzMDU5NiwgMzA2MDEsIDMwNjA2LCAzMDYxNCwgMzA2MjAsIAorICAgIDMwNjI4LCAzMDYzMywgMzA2MzksIDMwNjQ1LCAzMDY1MSwgMzA2NTYsIDMwNjYyLCAzMDY2NywgMzA2NzQsIDMwNjgwLCAKKyAgICAzMDY4NSwgMzA2OTEsIDMwNjk3LCAzMDcwMywgMzA3MTAsIDMwNzE3LCAzMDcyNCwgMzA3MjksIDMwNzM0LCAzMDc0MSwgCisgICAgMzA3NDgsIDMwNzU1LCAzMDc2MiwgMzA3NjksIDAsIDAsIDMwNzc2LCAzMDc4MywgMzA3OTAsIDMwNzk2LCAzMDgwMiwgCisgICAgMzA4MDgsIDMwODE0LCAzMDgyMCwgMzA4MjYsIDMwODMyLCAzMDgzOCwgMCwgMCwgMCwgMCwgMCwgMCwgMzA4NDQsIDMwODUwLCAKKyAgICAzMDg1NSwgMzA4NjAsIDMwODY1LCAzMDg3MCwgMzA4NzUsIDMwODgwLCAzMDg4NSwgMzA4OTAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDMwODk1LCAzMDkwMCwgMzA5MDUsIDMwOTEwLCAzMDkxNSwgMzA5MjAsIDMwOTI1LCAzMDkzNCwgMzA5NDEsIDMwOTQ2LCAKKyAgICAzMDk1MSwgMzA5NTYsIDMwOTYxLCAzMDk2NiwgMCwgMCwgMzA5NzEsIDMwOTc4LCAzMDk4MSwgMzA5ODQsIDMwOTg3LCAKKyAgICAzMDk5MiwgMzA5OTYsIDMxMDAyLCAzMTAwNywgMzEwMTMsIDMxMDIwLCAzMTAyOCwgMzEwMzIsIDMxMDM3LCAzMTA0MSwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzEwNDYsIDMxMDUyLCAzMTA1OCwgCisgICAgMzEwNjIsIDMxMDY2LCAzMTA3MCwgMzEwNzQsIDMxMDgwLCAzMTA4NCwgMzEwOTAsIDMxMDk0LCAzMTEwMCwgMzExMDYsIAorICAgIDMxMTE0LCAzMTEyMCwgMzExMjgsIDMxMTMyLCAzMTEzNiwgMzExNDAsIDMxMTQ2LCAzMTE0OSwgMzExNTUsIDMxMTU5LCAKKyAgICAzMTE2NSwgMzExNjksIDMxMTczLCAzMTE3OSwgMzExODMsIDMxMTg5LCAzMTE5MywgMzExOTksIDMxMjA3LCAzMTIxNSwgCisgICAgMzEyMjMsIDMxMjI5LCAzMTIzMywgMzEyMzksIDMxMjQzLCAzMTI0OSwgMzEyNTIsIDMxMjU1LCAzMTI2MSwgMzEyNjUsIAorICAgIDMxMjcxLCAzMTI3NCwgMzEyNzcsIDMxMjgxLCAzMTI4NSwgMzEyODksIDMxMjk1LCAzMTMwMSwgMzEzMDUsIDMxMzA4LCAKKyAgICAzMTMxMiwgMzEzMTcsIDMxMzIyLCAzMTMyOSwgMzEzMzQsIDMxMzQxLCAzMTM0OCwgMzEzNTcsIDMxMzY0LCAzMTM3MywgCisgICAgMzEzNzgsIDMxMzg1LCAzMTM5MiwgMzE0MDEsIDMxNDA2LCAzMTQxMywgMzE0MTgsIDMxNDI0LCAzMTQzMCwgMzE0MzYsIAorICAgIDMxNDQyLCAzMTQ0OCwgMzE0NTQsIDAsIDAsIDAsIDAsIDMxNDYwLCAzMTQ2NCwgMzE0NjcsIDMxNDcwLCAzMTQ3MywgCisgICAgMzE0NzYsIDMxNDc5LCAzMTQ4MiwgMzE0ODUsIDMxNDg4LCAzMTQ5MSwgMzE0OTQsIDMxNDk3LCAzMTUwMCwgMzE1MDUsIAorICAgIDMxNTEwLCAzMTUxNSwgMzE1MTgsIDMxNTIzLCAzMTUyOCwgMzE1MzMsIDMxNTM4LCAzMTU0NSwgMzE1NTAsIDMxNTU1LCAKKyAgICAzMTU2MCwgMzE1NjUsIDMxNTcyLCAzMTU3OCwgMzE1ODQsIDMxNTkwLCAzMTU5NiwgMzE2MDIsIDMxNjExLCAzMTYyMCwgCisgICAgMzE2MjYsIDMxNjMyLCAzMTY0MSwgMzE2NTAsIDMxNjU5LCAzMTY2OCwgMzE2NzcsIDMxNjg2LCAzMTY5NSwgMzE3MDQsIDAsIAorICAgIDAsIDAsIDMxNzEzLCAzMTcxOCwgMzE3MjMsIDMxNzI4LCAzMTczMiwgMzE3MzYsIDMxNzQwLCAzMTc0NSwgMzE3NDksIAorICAgIDMxNzUzLCAzMTc1OCwgMzE3NjIsIDMxNzY3LCAzMTc3MiwgMzE3NzcsIDMxNzgyLCAzMTc4NywgMzE3OTIsIDMxNzk3LCAKKyAgICAzMTgwMiwgMzE4MDcsIDMxODExLCAzMTgxNSwgMzE4MjAsIDMxODI1LCAzMTgzMCwgMzE4MzQsIDMxODM4LCAzMTg0MywgCisgICAgMzE4NDgsIDMxODUzLCAzMTg1OCwgMzE4NjMsIDMxODY3LCAzMTg3MywgMzE4NzksIDMxODg1LCAzMTg5MSwgMzE4OTcsIAorICAgIDMxOTAzLCAzMTkwOSwgMzE5MTUsIDMxOTIxLCAzMTkyNiwgMzE5MzEsIDMxOTM4LCAzMTk0NiwgMzE5NTEsIDMxOTU2LCAKKyAgICAzMTk2MSwgMzE5NjUsIDMxOTY5LCAzMTk3MywgMzE5NzcsIDMxOTgxLCAzMTk4NSwgMzE5ODksIDMxOTkzLCAzMTk5NywgCisgICAgMzIwMDEsIDMyMDA2LCAzMjAxMSwgMzIwMTYsIDMyMDIyLCAzMjAyOCwgMzIwMzIsIDMyMDM4LCAzMjA0MiwgMzIwNDgsIAorICAgIDMyMDU0LCAzMjA1OSwgMzIwNjYsIDMyMDcwLCAzMjA3NiwgMzIwODAsIDMyMDg2LCAzMjA5MSwgMzIwOTgsIDMyMTA1LCAKKyAgICAzMjExMCwgMzIxMTcsIDMyMTIyLCAzMjEyNywgMzIxMzIsIDMyMTM5LCAzMjE0MywgMzIxNDksIDMyMTU2LCAzMjE2MywgCisgICAgMzIxNjgsIDMyMTc1LCAzMjE4MiwgMzIxODYsIDMyMTkyLCAzMjE5NywgMzIyMDIsIDMyMjA5LCAzMjIxNCwgMzIyMTksIAorICAgIDMyMjI0LCAzMjIyOSwgMzIyMzMsIDMyMjM3LCAzMjI0MiwgMzIyNDcsIDMyMjU0LCAzMjI2MCwgMzIyNjUsIDMyMjcyLCAKKyAgICAzMjI3NywgMzIyODQsIDMyMjg5LCAzMjI5OSwgMzIzMDUsIDMyMzExLCAzMjMxNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMzIzMTksIDMyMzI4LCAzMjMzNSwgMzIzNDIsIDMyMzQ5LCAzMjM1MywgMzIzNTgsIDMyMzYzLCAzMjM2OCwgMzIzNzMsIAorICAgIDMyMzc4LCAzMjM4MywgMzIzODgsIDMyMzkzLCAzMjM5OCwgMzI0MDMsIDMyNDA4LCAzMjQxMywgMzI0MTcsIDMyNDIxLCAKKyAgICAzMjQyNiwgMzI0MzEsIDMyNDM2LCAzMjQ0MSwgMzI0NDYsIDMyNDUxLCAzMjQ1NSwgMzI0NjAsIDMyNDY1LCAzMjQ3MCwgCisgICAgMzI0NzUsIDMyNDc5LCAzMjQ4NCwgMzI0ODksIDMyNDkzLCAzMjQ5OCwgMzI1MDMsIDMyNTA4LCAzMjUxMywgMzI1MTgsIAorICAgIDMyNTIyLCAzMjUyOCwgMzI1MzUsIDMyNTQxLCAzMjU0NiwgMzI1NTEsIDMyNTU3LCAzMjU2MiwgMzI1NjgsIDMyNTczLCAKKyAgICAzMjU3OSwgMzI1ODUsIDMyNTkwLCAzMjU5NiwgMzI2MDIsIDMyNjA3LCAzMjYxMywgMzI2MTksIDMyNjI1LCAzMjYzMCwgMCwgCisgICAgMCwgMCwgMzI2MzUsIDMyNjQxLCAzMjY1MSwgMzI2NTcsIDMyNjY1LCAzMjY3MSwgMzI2NzYsIDMyNjgwLCAzMjY4NCwgCisgICAgMzI2ODgsIDMyNjkyLCAzMjY5NiwgMzI3MDAsIDMyNzA0LCAzMjcwOCwgMCwgMCwgMCwgMzI3MTIsIDMyNzE3LCAzMjcyMiwgCisgICAgMzI3MjcsIDMyNzM0LCAzMjc0MCwgMzI3NDYsIDMyNzUyLCAzMjc1OCwgMzI3NjQsIDMyNzcwLCAzMjc3NiwgMzI3ODIsIAorICAgIDMyNzg4LCAzMjc5NSwgMzI4MDIsIDMyODA5LCAzMjgxNiwgMzI4MjMsIDMyODMwLCAzMjgzNywgMzI4NDQsIDMyODUxLCAKKyAgICAzMjg1OCwgMzI4NjUsIDMyODcyLCAzMjg3OSwgMzI4ODYsIDMyODkzLCAzMjkwMCwgMzI5MDcsIDMyOTE0LCAzMjkyMSwgCisgICAgMzI5MjgsIDMyOTM1LCAzMjk0MiwgMzI5NDksIDMyOTU2LCAzMjk2MywgMzI5NzAsIDMyOTc3LCAzMjk4NCwgMzI5OTEsIAorICAgIDMyOTk4LCAzMzAwNiwgMzMwMTQsIDMzMDIyLCAzMzAyOCwgMzMwMzQsIDMzMDQwLCAzMzA0OCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzMwNTcsIDMzMDY1LCAzMzA3MywgMzMwODEsIDMzMDg5LCAzMzA5OSwgCisgICAgMzMxMDksIDMzMTE5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzMzEyOSwgMzMxMzQsIDMzMTM5LCAzMzE0NCwgMzMxNDksIAorICAgIDMzMTU4LCAzMzE2OSwgMzMxNzgsIDMzMTg5LCAzMzE5NSwgMzMyMDgsIDMzMjE0LCAzMzIyMSwgMzMyMjgsIDMzMjMzLCAKKyAgICAzMzIzOSwgMzMyNDUsIDMzMjU2LCAzMzI2NSwgMzMyNzIsIDMzMjc5LCAzMzI4OCwgMzMyOTUsIDMzMzA0LCAzMzMxNCwgCisgICAgMzMzMjQsIDMzMzMxLCAzMzMzOCwgMzMzNDUsIDMzMzU1LCAzMzM2MCwgMzMzNjgsIDMzMzc0LCAzMzM4MiwgMzMzOTEsIAorICAgIDMzMzk2LCAzMzQwMywgMzM0MDksIDMzNDE0LCAwLCAzMzQxOSwgMzM0MjUsIDAsIDAsIDAsIDAsIDAsIDAsIDMzNDMyLCAKKyAgICAzMzQzNywgMzM0NDMsIDMzNDQ5LCAzMzQ1NywgMzM0NjMsIDMzNDY5LCAzMzQ3NSwgMzM0ODAsIDMzNDg3LCAzMzQ5MiwgCisgICAgMzM0OTgsIDMzNTA0LCAzMzUxMiwgMzM1MTgsIDMzNTI2LCAzMzUzMSwgMzM1MzgsIDMzNTQ0LCAzMzU1MiwgMzM1NjAsIAorICAgIDMzNTY2LCAzMzU3MiwgMzM1NzksIDMzNTg2LCAzMzU5MiwgMzM1OTksIDMzNjA1LCAzMzYxMSwgMzM2MTYsIDMzNjIyLCAKKyAgICAzMzYzMCwgMzM2MzgsIDMzNjQ0LCAzMzY1MCwgMzM2NTYsIDMzNjYyLCAzMzY3MCwgMzM2NzQsIDMzNjgwLCAzMzY4NiwgCisgICAgMzM2OTIsIDMzNjk4LCAzMzcwNCwgMzM3MTAsIDMzNzE0LCAzMzcxOSwgMzM3MjQsIDMzNzMxLCAzMzczNiwgMzM3NDAsIAorICAgIDMzNzQ2LCAzMzc1MSwgMzM3NTYsIDMzNzYwLCAzMzc2NSwgMzM3NzAsIDMzNzc0LCAzMzc3OSwgMzM3ODQsIDMzNzkxLCAKKyAgICAzMzc5NSwgMzM4MDAsIDMzODA1LCAzMzgwOSwgMzM4MTQsIDMzODE4LCAzMzgyMywgMzM4MjcsIDMzODMyLCAzMzgzNywgCisgICAgMzM4NDMsIDMzODQ4LCAzMzg1MywgMzM4NTcsIDMzODYyLCAzMzg2OCwgMzM4NzUsIDMzODgwLCAzMzg4NSwgMzM4OTAsIAorICAgIDMzODk1LCAzMzkwMCwgMzM5MDQsIDMzOTEwLCAzMzkxNywgMzM5MjQsIDMzOTI5LCAzMzkzNCwgMzM5MzgsIDMzOTQ0LCAKKyAgICAzMzk1MCwgMzM5NTUsIDMzOTYwLCAzMzk2NSwgMzM5NzEsIDMzOTc2LCAzMzk4MiwgMzM5ODcsIDMzOTkzLCAzMzk5OSwgCisgICAgMzQwMDUsIDM0MDEyLCAzNDAxOSwgMzQwMjYsIDM0MDMzLCAzNDA0MCwgMzQwNDcsIDM0MDUyLCAzNDA2MSwgMzQwNzEsIAorICAgIDM0MDgxLCAzNDA5MSwgMzQxMDEsIDM0MTExLCAzNDEyMSwgMzQxMzQsIDM0MTQ0LCAzNDE1NCwgMzQxNjQsIDM0MTcwLCAKKyAgICAzNDE3NSwgMzQxODIsIDM0MTkwLCAzNDE5OCwgMzQyMDUsIDM0MjEyLCAzNDIxOSwgMzQyMjYsIDM0MjM0LCAzNDI0MywgCisgICAgMzQyNTIsIDM0MjYxLCAzNDI3MCwgMzQyNzksIDM0Mjg4LCAzNDI5NywgMzQzMDYsIDM0MzE1LCAzNDMyNCwgMzQzMzMsIAorICAgIDM0MzQyLCAzNDM1MSwgMzQzNjAsIDM0MzY4LCAzNDM3NywgMzQzODgsIDM0Mzk2LCAzNDQwNiwgMzQ0MTgsIDM0NDI3LCAKKyAgICAzNDQzNiwgMzQ0NDYsIDM0NDU1LCAzNDQ2MywgMzQ0NzIsIDM0NDc4LCAzNDQ4MywgMzQ0OTEsIDM0NDk2LCAzNDUwNCwgCisgICAgMzQ1MDksIDM0NTE4LCAzNDUyNCwgMzQ1MzAsIDM0NTM3LCAzNDU0MiwgMzQ1NDcsIDM0NTU1LCAzNDU2MywgMzQ1NzIsIAorICAgIDM0NTgxLCAzNDU4NiwgMzQ1OTMsIDM0NjAzLCAzNDYxMSwgMzQ2MjAsIDM0NjI2LCAzNDYzMiwgMzQ2MzcsIDM0NjQ0LCAKKyAgICAzNDY0OSwgMzQ2NTgsIDM0NjYzLCAzNDY2OCwgMzQ2NzMsIDM0NjgwLCAzNDY4NiwgMzQ2OTEsIDM0NzAwLCAzNDcwOCwgCisgICAgMzQ3MTMsIDM0NzE4LCAzNDcyNSwgMzQ3MzIsIDM0NzM2LCAzNDc0MCwgMzQ3NDMsIDM0NzQ2LCAzNDc0OSwgMzQ3NTIsIAorICAgIDM0NzU1LCAzNDc1OCwgMzQ3NjUsIDM0NzY4LCAzNDc3MSwgMzQ3NzYsIDM0NzgwLCAzNDc4NCwgMzQ3ODgsIDM0NzkyLCAKKyAgICAzNDc5NiwgMzQ4MDYsIDM0ODEyLCAzNDgxOCwgMzQ4MjQsIDM0ODMyLCAzNDg0MCwgMzQ4NDYsIDM0ODUyLCAzNDg1OSwgCisgICAgMzQ4NjUsIDM0ODcwLCAzNDg3NiwgMzQ4ODMsIDM0ODg5LCAzNDg5NiwgMzQ5MDIsIDM0OTEwLCAzNDkxNSwgMzQ5MjEsIAorICAgIDM0OTI3LCAzNDkzMywgMzQ5MzksIDM0OTQ1LCAzNDk1MSwgMzQ5NTcsIDM0OTY5LCAzNDk3OSwgMzQ5ODUsIDM0OTkxLCAKKyAgICAzNTAwMSwgMzUwMDcsIDM1MDE1LCAzNTAyMywgMzUwMzEsIDAsIDAsIDAsIDAsIDAsIDAsIDM1MDM2LCAzNTA0MywgMzUwNTAsIAorICAgIDM1MDU1LCAzNTA2NCwgMzUwNzIsIDM1MDgwLCAzNTA4NywgMzUwOTQsIDM1MTAxLCAzNTEwOCwgMzUxMTYsIDM1MTI0LCAKKyAgICAzNTEzNCwgMzUxNDQsIDM1MTUyLCAzNTE2MCwgMzUxNjgsIDM1MTc2LCAzNTE4NSwgMzUxOTQsIDM1MjAyLCAzNTIxMCwgCisgICAgMzUyMTksIDM1MjI4LCAzNTIzOCwgMzUyNDgsIDM1MjU3LCAzNTI2NiwgMzUyNzQsIDM1MjgyLCAzNTI5MCwgMzUyOTgsIAorICAgIDM1MzA4LCAzNTMxOCwgMzUzMjYsIDM1MzM0LCAzNTM0MiwgMzUzNTAsIDM1MzU4LCAzNTM2NiwgMzUzNzQsIDM1MzgyLCAKKyAgICAzNTM5MCwgMzUzOTgsIDM1NDA2LCAzNTQxNCwgMzU0MjMsIDM1NDMyLCAzNTQ0MSwgMzU0NTAsIDM1NDYwLCAzNTQ3MCwgCisgICAgMzU0NzcsIDM1NDg0LCAzNTQ5MiwgMzU1MDAsIDM1NTA5LCAzNTUxOCwgMzU1MjYsIDM1NTM0LCAzNTU0NiwgMzU1NTgsIAorICAgIDM1NTY3LCAzNTU3NiwgMzU1ODUsIDM1NTk0LCAzNTYwMSwgMzU2MDgsIDM1NjE2LCAzNTYyNCwgMzU2MzIsIDM1NjQwLCAKKyAgICAzNTY0OCwgMzU2NTYsIDM1NjY0LCAzNTY3MiwgMzU2ODEsIDM1NjkwLCAzNTY5OSwgMzU3MDgsIDM1NzE3LCAzNTcyNiwgCisgICAgMzU3MzYsIDM1NzQ2LCAzNTc1NiwgMzU3NjYsIDM1Nzc1LCAzNTc4NCwgMzU3OTEsIDM1Nzk4LCAzNTgwNiwgMzU4MTQsIAorICAgIDM1ODIyLCAzNTgzMCwgMzU4MzgsIDM1ODQ2LCAzNTg1OCwgMzU4NzAsIDM1ODc5LCAzNTg4OCwgMzU4OTYsIDM1OTA0LCAKKyAgICAzNTkxMiwgMzU5MjAsIDM1OTMxLCAzNTk0MiwgMzU5NTMsIDM1OTY0LCAzNTk3NiwgMzU5ODgsIDM1OTk2LCAzNjAwNCwgCisgICAgMzYwMTIsIDM2MDIwLCAzNjAyOSwgMzYwMzgsIDM2MDQ3LCAzNjA1NiwgMzYwNjQsIDM2MDcyLCAzNjA4MCwgMzYwODgsIAorICAgIDM2MDk2LCAzNjEwNCwgMzYxMTMsIDM2MTIyLCAzNjEzMiwgMzYxNDIsIDM2MTUwLCAzNjE1OCwgMzYxNjYsIDM2MTc0LCAKKyAgICAzNjE4MiwgMzYxOTAsIDM2MTk3LCAzNjIwNCwgMzYyMTIsIDM2MjIwLCAzNjIyOCwgMzYyMzYsIDM2MjQ0LCAzNjI1MiwgCisgICAgMzYyNjAsIDM2MjY4LCAzNjI3NiwgMzYyODQsIDM2MjkyLCAzNjMwMCwgMzYzMDgsIDM2MzE2LCAzNjMyNCwgMzYzMzIsIAorICAgIDM2MzQxLCAzNjM1MCwgMzYzNTksIDM2MzY3LCAzNjM3NiwgMzYzODUsIDM2Mzk0LCAzNjQwMywgMzY0MTMsIDM2NDIyLCAKKyAgICAzNjQyOCwgMzY0MzMsIDM2NDQwLCAzNjQ0NywgMzY0NTUsIDM2NDYzLCAzNjQ3MiwgMzY0ODEsIDM2NDkxLCAzNjUwMSwgCisgICAgMzY1MTIsIDM2NTIzLCAzNjUzMywgMzY1NDMsIDM2NTUzLCAzNjU2MywgMzY1NzIsIDM2NTgxLCAzNjU5MSwgMzY2MDEsIAorICAgIDM2NjEyLCAzNjYyMywgMzY2MzMsIDM2NjQzLCAzNjY1MywgMzY2NjMsIDM2NjcwLCAzNjY3NywgMzY2ODUsIDM2NjkzLCAKKyAgICAzNjcwMCwgMzY3MDcsIDM2NzE2LCAzNjcyNSwgMzY3MzUsIDM2NzQ1LCAzNjc1NiwgMzY3NjcsIDM2Nzc3LCAzNjc4NywgCisgICAgMzY3OTcsIDM2ODA3LCAzNjgxNiwgMzY4MjUsIDM2ODMzLCAzNjg0MSwgMzY4NDgsIDM2ODU1LCAzNjg2MywgMzY4NzEsIAorICAgIDM2ODgwLCAzNjg4OSwgMzY4OTksIDM2OTA5LCAzNjkyMCwgMzY5MzEsIDM2OTQxLCAzNjk1MSwgMzY5NjEsIDM2OTcxLCAKKyAgICAzNjk4MCwgMzY5ODksIDM2OTk5LCAzNzAwOSwgMzcwMjAsIDM3MDMxLCAzNzA0MSwgMzcwNTEsIDM3MDYxLCAzNzA3MSwgCisgICAgMzcwNzgsIDM3MDg1LCAzNzA5MywgMzcxMDEsIDM3MTEwLCAzNzExOSwgMzcxMjksIDM3MTM5LCAzNzE1MCwgMzcxNjEsIAorICAgIDM3MTcxLCAzNzE4MSwgMzcxOTEsIDM3MjAxLCAzNzIwOSwgMzcyMTcsIDM3MjI1LCAzNzIzMywgMzcyNDIsIDM3MjUxLCAKKyAgICAzNzI1OSwgMzcyNjcsIDM3Mjc0LCAzNzI4MSwgMzcyODgsIDM3Mjk1LCAzNzMwMywgMzczMTEsIDM3MzE5LCAzNzMyNywgCisgICAgMzczMzgsIDM3MzQ5LCAzNzM2MCwgMzczNzEsIDM3MzgyLCAzNzM5MywgMzc0MDEsIDM3NDA5LCAzNzQyMCwgMzc0MzEsIAorICAgIDM3NDQyLCAzNzQ1MywgMzc0NjQsIDM3NDc1LCAzNzQ4MywgMzc0OTEsIDM3NTAyLCAzNzUxMywgMzc1MjQsIDAsIDAsIAorICAgIDM3NTM1LCAzNzU0MywgMzc1NTEsIDM3NTYyLCAzNzU3MywgMzc1ODQsIDAsIDAsIDM3NTk1LCAzNzYwMywgMzc2MTEsIAorICAgIDM3NjIyLCAzNzYzMywgMzc2NDQsIDM3NjU1LCAzNzY2NiwgMzc2NzcsIDM3Njg1LCAzNzY5MywgMzc3MDQsIDM3NzE1LCAKKyAgICAzNzcyNiwgMzc3MzcsIDM3NzQ4LCAzNzc1OSwgMzc3NjcsIDM3Nzc1LCAzNzc4NiwgMzc3OTcsIDM3ODA4LCAzNzgxOSwgCisgICAgMzc4MzAsIDM3ODQxLCAzNzg0OSwgMzc4NTcsIDM3ODY4LCAzNzg3OSwgMzc4OTAsIDM3OTAxLCAzNzkxMiwgMzc5MjMsIAorICAgIDM3OTMxLCAzNzkzOSwgMzc5NTAsIDM3OTYxLCAzNzk3MiwgMCwgMCwgMzc5ODMsIDM3OTkxLCAzNzk5OSwgMzgwMTAsIAorICAgIDM4MDIxLCAzODAzMiwgMCwgMCwgMzgwNDMsIDM4MDUxLCAzODA1OSwgMzgwNzAsIDM4MDgxLCAzODA5MiwgMzgxMDMsIAorICAgIDM4MTE0LCAwLCAzODEyNSwgMCwgMzgxMzMsIDAsIDM4MTQ0LCAwLCAzODE1NSwgMzgxNjYsIDM4MTc0LCAzODE4MiwgCisgICAgMzgxOTMsIDM4MjA0LCAzODIxNSwgMzgyMjYsIDM4MjM3LCAzODI0OCwgMzgyNTYsIDM4MjY0LCAzODI3NSwgMzgyODYsIAorICAgIDM4Mjk3LCAzODMwOCwgMzgzMTksIDM4MzMwLCAzODMzOCwgMzgzNDYsIDM4MzU0LCAzODM2MiwgMzgzNzAsIDM4Mzc4LCAKKyAgICAzODM4NiwgMzgzOTQsIDM4NDAyLCAzODQxMCwgMzg0MTgsIDM4NDI2LCAzODQzNCwgMCwgMCwgMzg0NDIsIDM4NDUzLCAKKyAgICAzODQ2NCwgMzg0NzgsIDM4NDkyLCAzODUwNiwgMzg1MjAsIDM4NTM0LCAzODU0OCwgMzg1NTksIDM4NTcwLCAzODU4NCwgCisgICAgMzg1OTgsIDM4NjEyLCAzODYyNiwgMzg2NDAsIDM4NjU0LCAzODY2NSwgMzg2NzYsIDM4NjkwLCAzODcwNCwgMzg3MTgsIAorICAgIDM4NzMyLCAzODc0NiwgMzg3NjAsIDM4NzcxLCAzODc4MiwgMzg3OTYsIDM4ODEwLCAzODgyNCwgMzg4MzgsIDM4ODUyLCAKKyAgICAzODg2NiwgMzg4NzcsIDM4ODg4LCAzODkwMiwgMzg5MTYsIDM4OTMwLCAzODk0NCwgMzg5NTgsIDM4OTcyLCAzODk4MywgCisgICAgMzg5OTQsIDM5MDA4LCAzOTAyMiwgMzkwMzYsIDM5MDUwLCAzOTA2NCwgMzkwNzgsIDM5MDg2LCAzOTA5NCwgMzkxMDUsIAorICAgIDM5MTEzLCAwLCAzOTEyNCwgMzkxMzIsIDM5MTQzLCAzOTE1MSwgMzkxNTksIDM5MTY3LCAzOTE3NSwgMzkxODMsIDM5MTg2LCAKKyAgICAzOTE4OSwgMzkxOTIsIDM5MTk1LCAzOTIwMSwgMzkyMTIsIDM5MjIwLCAwLCAzOTIzMSwgMzkyMzksIDM5MjUwLCAzOTI1OCwgCisgICAgMzkyNjYsIDM5Mjc0LCAzOTI4MiwgMzkyOTAsIDM5Mjk2LCAzOTMwMiwgMzkzMDgsIDM5MzE2LCAzOTMyNCwgMzkzMzUsIDAsIAorICAgIDAsIDM5MzQ2LCAzOTM1NCwgMzkzNjUsIDM5MzczLCAzOTM4MSwgMzkzODksIDAsIDM5Mzk3LCAzOTQwMywgMzk0MDksIAorICAgIDM5NDE1LCAzOTQyMywgMzk0MzEsIDM5NDQyLCAzOTQ1MywgMzk0NjEsIDM5NDY5LCAzOTQ3NywgMzk0ODgsIDM5NDk2LCAKKyAgICAzOTUwNCwgMzk1MTIsIDM5NTIwLCAzOTUyOCwgMzk1MzQsIDM5NTQwLCAwLCAwLCAzOTU0MywgMzk1NTQsIDM5NTYyLCAwLCAKKyAgICAzOTU3MywgMzk1ODEsIDM5NTkyLCAzOTYwMCwgMzk2MDgsIDM5NjE2LCAzOTYyNCwgMzk2MzIsIDM5NjM1LCAwLCAzOTYzOCwgCisgICAgMzk2NDIsIDM5NjQ2LCAzOTY1MCwgMzk2NTQsIDM5NjU4LCAzOTY2MiwgMzk2NjYsIDM5NjcwLCAzOTY3NCwgMzk2NzgsIAorICAgIDM5NjgyLCAzOTY4OCwgMzk2OTQsIDM5NzAwLCAzOTcwMywgMzk3MDYsIDM5NzA4LCAzOTcxMiwgMzk3MTYsIDM5NzIwLCAKKyAgICAzOTcyNCwgMzk3MjYsIDM5NzMwLCAzOTczNCwgMzk3NDAsIDM5NzQ2LCAzOTc1MywgMzk3NjAsIDM5NzY1LCAzOTc3MCwgCisgICAgMzk3NzYsIDM5NzgyLCAzOTc4NCwgMzk3ODcsIDM5Nzg5LCAzOTc5MywgMzk3OTcsIDM5ODAxLCAzOTgwNCwgMzk4MDgsIAorICAgIDM5ODEyLCAzOTgxNiwgMzk4MjAsIDM5ODI0LCAzOTgzMCwgMzk4MzQsIDM5ODM4LCAzOTg0NCwgMzk4NDksIDM5ODU2LCAKKyAgICAzOTg1OCwgMzk4NjEsIDM5ODY1LCAzOTg2OSwgMzk4NzQsIDM5ODgwLCAzOTg4MiwgMzk4OTEsIDM5OTAwLCAzOTkwMywgCisgICAgMzk5MDcsIDM5OTA5LCAzOTkxMSwgMzk5MTMsIDM5OTE2LCAzOTkyMiwgMzk5MjQsIDM5OTI4LCAzOTkzMiwgMzk5MzksIAorICAgIDM5OTQ2LCAzOTk1MCwgMzk5NTUsIDM5OTYwLCAzOTk2NSwgMzk5NzAsIDM5OTc0LCAzOTk3OCwgMzk5ODEsIDM5OTg1LCAKKyAgICAzOTk4OSwgMzk5OTYsIDQwMDAxLCA0MDAwNSwgNDAwMDksIDQwMDE0LCA0MDAxOCwgNDAwMjIsIDQwMDI3LCA0MDAzMiwgCisgICAgNDAwMzYsIDQwMDQwLCA0MDA0NCwgNDAwNDYsIDQwMDUxLCA0MDA1NiwgNDAwNjAsIDQwMDY0LCA0MDA2OCwgNDAwNzIsIDAsIAorICAgIDQwMDc2LCA0MDA4MCwgNDAwODQsIDQwMDkwLCA0MDA5NiwgNDAxMDIsIDQwMTA4LCA0MDExNSwgNDAxMjIsIDQwMTI3LCAKKyAgICA0MDEzMiwgNDAxMzYsIDAsIDAsIDQwMTQyLCA0MDE0NSwgNDAxNDgsIDQwMTUxLCA0MDE1NCwgNDAxNTcsIDQwMTYwLCAKKyAgICA0MDE2NCwgNDAxNjgsIDQwMTczLCA0MDE3OCwgNDAxODMsIDQwMTkwLCA0MDE5NCwgNDAxOTcsIDQwMjAwLCA0MDIwMywgCisgICAgNDAyMDYsIDQwMjA5LCA0MDIxMiwgNDAyMTUsIDQwMjE4LCA0MDIyMSwgNDAyMjUsIDQwMjI5LCA0MDIzNCwgNDAyMzksIDAsIAorICAgIDQwMjQ0LCA0MDI1MCwgNDAyNTYsIDQwMjYyLCA0MDI2OSwgNDAyNzYsIDQwMjgzLCA0MDI5MCwgNDAyOTYsIDQwMzAzLCAKKyAgICA0MDMxMCwgNDAzMTcsIDQwMzIzLCAwLCAwLCAwLCA0MDMzMCwgNDAzMzMsIDQwMzM2LCA0MDMzOSwgNDAzNDQsIDQwMzQ3LCAKKyAgICA0MDM1MCwgNDAzNTMsIDQwMzU2LCA0MDM1OSwgNDAzNjIsIDQwMzY2LCA0MDM2OSwgNDAzNzIsIDQwMzc1LCA0MDM3OCwgCisgICAgNDAzODEsIDQwMzg2LCA0MDM4OSwgNDAzOTIsIDQwMzk1LCA0MDM5OCwgNDA0MDEsIDQwNDA2LCA0MDQwOSwgNDA0MTIsIAorICAgIDQwNDE3LCA0MDQyMiwgNDA0MjYsIDQwNDI5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCA0MDQzMiwgNDA0MzcsIDQwNDQyLCA0MDQ0OSwgNDA0NTcsIDQwNDYyLCA0MDQ2NywgNDA0NzEsIDQwNDc1LCAKKyAgICA0MDQ4MCwgNDA0ODcsIDQwNDk0LCA0MDQ5OCwgNDA1MDMsIDQwNTA4LCA0MDUxMywgNDA1MTgsIDQwNTI1LCA0MDUzMCwgCisgICAgNDA1MzUsIDQwNTQwLCA0MDU0OSwgNDA1NTYsIDQwNTYzLCA0MDU2NywgNDA1NzIsIDQwNTc4LCA0MDU4MywgNDA1OTAsIAorICAgIDQwNTk4LCA0MDYwNiwgNDA2MTAsIDQwNjE0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICA0MDYxOCwgNDA2MjIsIDQwNjMwLCA0MDYzNCwgNDA2MzgsIDQwNjQzLCA0MDY0NywgNDA2NTEsIDQwNjU1LCA0MDY1NywgCisgICAgNDA2NjEsIDQwNjY1LCA0MDY2OSwgNDA2NzQsIDQwNjc4LCA0MDY4MiwgNDA2OTAsIDQwNjkzLCA0MDY5NywgNDA3MDAsIAorICAgIDQwNzAzLCA0MDcwOSwgNDA3MTMsIDQwNzE2LCA0MDcyMiwgNDA3MjYsIDQwNzMwLCA0MDczNCwgNDA3MzcsIDQwNzQxLCAKKyAgICA0MDc0NCwgNDA3NDgsIDQwNzUwLCA0MDc1MywgNDA3NTYsIDQwNzYwLCA0MDc2MiwgNDA3NjYsIDQwNzY5LCA0MDc3MiwgCisgICAgNDA3NzcsIDQwNzgyLCA0MDc4OCwgNDA3OTEsIDQwNzk0LCA0MDc5OCwgNDA4MDMsIDQwODA2LCA0MDgwOSwgNDA4MTIsIAorICAgIDQwODE2LCA0MDgyMCwgNDA4MjQsIDQwODI3LCA0MDgyOSwgNDA4MzIsIDQwODM1LCA0MDgzOCwgNDA4NDIsIDQwODQ3LCAKKyAgICA0MDg1MCwgNDA4NTQsIDQwODU4LCA0MDg2MiwgNDA4NjYsIDQwODcxLCA0MDg3NiwgNDA4ODAsIDQwODg1LCA0MDg5MCwgCisgICAgNDA4OTUsIDQwOTAwLCA0MDkwNCwgNDA5MDgsIDQwOTEzLCA0MDkxNywgNDA5MjAsIDQwOTIzLCA0MDkyNSwgNDA5MjksIAorICAgIDQwOTM1LCA0MDk0MiwgNDA5NDksIDQwOTU2LCA0MDk2MywgNDA5NzAsIDQwOTc3LCA0MDk4NCwgNDA5OTEsIDQwOTk5LCAKKyAgICA0MTAwNiwgNDEwMTQsIDQxMDIxLCA0MTAyOCwgNDEwMzYsIDQxMDQ0LCA0MTA0OSwgNDEwNTQsIDQxMDU5LCA0MTA2NCwgCisgICAgNDEwNjksIDQxMDc0LCA0MTA3OSwgNDEwODQsIDQxMDg5LCA0MTA5NCwgNDExMDAsIDQxMTA2LCA0MTExMiwgNDExMTgsIAorICAgIDQxMTI1LCA0MTEzMywgNDExNDAsIDQxMTQ2LCA0MTE1MiwgNDExNTgsIDQxMTY0LCA0MTE3MCwgNDExNzYsIDQxMTgyLCAKKyAgICA0MTE4OCwgNDExOTQsIDQxMjAxLCA0MTIwOCwgNDEyMTUsIDQxMjIyLCA0MTIzMCwgNDEyMzksIDQxMjQ3LCA0MTI1OCwgCisgICAgNDEyNjYsIDQxMjc0LCA0MTI4MywgNDEyOTAsIDQxMjk5LCA0MTMwOCwgNDEzMTYsIDQxMzI1LCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICA0MTMzMywgNDEzMzUsIDQxMzM3LCA0MTMzOSwgNDEzNDEsIDQxMzQ0LCA0MTM0NywgNDEzNTEsIDQxMzU1LCA0MTM1OSwgCisgICAgNDEzNjMsIDQxMzY3LCA0MTM3MSwgNDEzNzUsIDQxMzc5LCA0MTM4NCwgNDEzODksIDQxMzk0LCA0MTM5OSwgNDE0MDQsIAorICAgIDQxNDA5LCA0MTQxNCwgNDE0MTksIDQxNDI0LCA0MTQyOSwgNDE0MzUsIDQxNDM5LCA0MTQ0MywgNDE0NDgsIDQxNDUzLCAKKyAgICA0MTQ1OCwgNDE0NjMsIDQxNDY3LCA0MTQ3NCwgNDE0ODEsIDQxNDg4LCA0MTQ5NSwgNDE1MDIsIDQxNTA5LCA0MTUxNiwgCisgICAgNDE1MjMsIDQxNTMxLCA0MTU0MywgNDE1NTAsIDQxNTU3LCA0MTU2NCwgNDE1NzEsIDQxNTc4LCA0MTU4NSwgNDE1OTIsIAorICAgIDQxNTk5LCA0MTYwNiwgNDE2MTMsIDQxNjE4LCA0MTYyNCwgNDE2MjksIDQxNjM0LCA0MTYzOSwgNDE2NDQsIDQxNjQ5LCAKKyAgICA0MTY1NiwgNDE2NjMsIDQxNjY4LCA0MTY3NCwgNDE2NzksIDQxNjgyLCA0MTY4NSwgNDE2ODgsIDQxNjkxLCA0MTY5NSwgCisgICAgNDE2OTksIDQxNzA0LCA0MTcwOSwgNDE3MTQsIDQxNzE5LCA0MTcyMywgNDE3MjcsIDQxNzMxLCA0MTczNSwgNDE3NDAsIAorICAgIDQxNzQ1LCA0MTc0OSwgNDE3NTMsIDQxNzU3LCA0MTc2MSwgNDE3NjYsIDQxNzcxLCA0MTc3NCwgNDE3NzcsIDQxNzgwLCAKKyAgICA0MTc4MywgNDE3ODksIDQxNzk2LCA0MTgwNiwgNDE4MTYsIDQxODIwLCA0MTgyOCwgNDE4MzUsIDQxODQzLCA0MTg1MSwgCisgICAgNDE4NTUsIDQxODYxLCA0MTg2NywgNDE4NzEsIDQxODc2LCA0MTg4MSwgNDE4ODcsIDQxODkzLCA0MTg5OSwgNDE5MDYsIAorICAgIDQxOTEwLCA0MTkxNCwgNDE5MTksIDQxOTIyLCA0MTkyNCwgNDE5MjgsIDQxOTMyLCA0MTk0MCwgNDE5NDQsIDQxOTQ2LCAKKyAgICA0MTk0OCwgNDE5NTIsIDQxOTYwLCA0MTk2NSwgNDE5NzEsIDQxOTgxLCA0MTk4OCwgNDE5OTMsIDQxOTk3LCA0MjAwMSwgCisgICAgNDIwMDUsIDQyMDA4LCA0MjAxMSwgNDIwMTQsIDQyMDE4LCA0MjAyMiwgNDIwMjYsIDQyMDMwLCA0MjAzNCwgNDIwMzcsIAorICAgIDQyMDQxLCA0MjA0NSwgNDIwNDgsIDQyMDUwLCA0MjA1MywgNDIwNTUsIDQyMDU5LCA0MjA2MywgNDIwNjUsIDQyMDcxLCAKKyAgICA0MjA3NCwgNDIwNzksIDQyMDgzLCA0MjA4NywgNDIwODksIDQyMDkxLCA0MjA5MywgNDIwOTYsIDQyMTAwLCA0MjEwNCwgCisgICAgNDIxMDgsIDQyMTEyLCA0MjExNiwgNDIxMjIsIDQyMTI4LCA0MjEzMCwgNDIxMzIsIDQyMTM0LCA0MjEzNiwgNDIxMzksIAorICAgIDQyMTQxLCA0MjE0NSwgNDIxNDcsIDQyMTUxLCA0MjE1NSwgNDIxNjAsIDQyMTY0LCA0MjE2OCwgNDIxNzIsIDQyMTc2LCAKKyAgICA0MjE4MCwgNDIxODYsIDQyMTkwLCA0MjIwMCwgNDIyMTAsIDQyMjE0LCA0MjIyMCwgNDIyMjcsIDQyMjMxLCA0MjIzNSwgCisgICAgNDIyMzgsIDQyMjQzLCA0MjI0NywgNDIyNTMsIDQyMjU3LCA0MjI3MCwgNDIyNzksIDQyMjgzLCA0MjI4NywgNDIyOTMsIAorICAgIDQyMjk3LCA0MjMwMCwgNDIzMDIsIDQyMzA1LCA0MjMwOSwgNDIzMTMsIDQyMzIwLCA0MjMyNCwgNDIzMjgsIDQyMzMyLCAKKyAgICA0MjMzNSwgNDIzNDAsIDQyMzQ1LCA0MjM1MSwgNDIzNTcsIDQyMzYyLCA0MjM2NywgNDIzNzUsIDQyMzgzLCA0MjM4NywgCisgICAgNDIzOTEsIDQyMzkzLCA0MjM5OCwgNDI0MDIsIDQyNDA2LCA0MjQxNCwgNDI0MjIsIDQyNDI5LCA0MjQzNiwgNDI0NDUsIAorICAgIDQyNDU0LCA0MjQ2MCwgNDI0NjYsIDQyNDc0LCA0MjQ4MiwgNDI0ODQsIDQyNDg2LCA0MjQ5MiwgNDI0OTgsIDQyNTA1LCAKKyAgICA0MjUxMiwgNDI1MTgsIDQyNTI0LCA0MjUyOCwgNDI1MzIsIDQyNTM5LCA0MjU0NiwgNDI1NTMsIDQyNTYwLCA0MjU3MCwgCisgICAgNDI1ODAsIDQyNTg4LCA0MjU5NiwgNDI1OTgsIDQyNjAyLCA0MjYwNiwgNDI2MTEsIDQyNjE2LCA0MjYyNCwgNDI2MzIsIAorICAgIDQyNjM1LCA0MjYzOCwgNDI2NDEsIDQyNjQ0LCA0MjY0NywgNDI2NTIsIDQyNjU2LCA0MjY2MSwgNDI2NjYsIDQyNjY5LCAKKyAgICA0MjY3MiwgNDI2NzUsIDQyNjc4LCA0MjY4MSwgNDI2ODUsIDQyNjg4LCA0MjY5MSwgNDI2OTQsIDQyNjk3LCA0MjY5OSwgCisgICAgNDI3MDEsIDQyNzAzLCA0MjcwNSwgNDI3MTMsIDQyNzIxLCA0MjcyNywgNDI3MzEsIDQyNzM3LCA0Mjc0NywgNDI3NTMsIAorICAgIDQyNzU5LCA0Mjc2NSwgNDI3NzMsIDQyNzgyLCA0Mjc5NCwgNDI3OTgsIDQyODAyLCA0MjgwNCwgNDI4MTAsIDQyODEyLCAKKyAgICA0MjgxNCwgNDI4MTYsIDQyODE4LCA0MjgyNCwgNDI4MjcsIDQyODMzLCA0MjgzOSwgNDI4NDMsIDQyODQ3LCA0Mjg1MSwgCisgICAgNDI4NTQsIDQyODU4LCA0Mjg2MiwgNDI4NjQsIDQyODczLCA0Mjg4MiwgNDI4ODcsIDQyODkyLCA0Mjg5OCwgNDI5MDQsIAorICAgIDQyOTEwLCA0MjkxMywgNDI5MTYsIDQyOTE5LCA0MjkyMiwgNDI5MjQsIDQyOTI5LCA0MjkzNCwgNDI5MzksIDQyOTQ1LCAKKyAgICA0Mjk1MSwgNDI5NjAsIDQyOTY5LCA0Mjk3NiwgNDI5ODMsIDQyOTkwLCA0Mjk5NywgNDMwMDcsIDQzMDE3LCA0MzAyNywgCisgICAgNDMwMzcsIDQzMDQ3LCA0MzA1NywgNDMwNjYsIDQzMDc1LCA0MzA4NCwgNDMwOTMsIDQzMTAxLCA0MzExMywgNDMxMjQsIAorICAgIDQzMTQwLCA0MzE0MywgNDMxNDgsIDQzMTU0LCA0MzE2MCwgNDMxNjcsIDQzMTgxLCA0MzE5NiwgNDMyMDIsIDQzMjA4LCAKKyAgICA0MzIxNSwgNDMyMjEsIDQzMjI5LCA0MzIzNSwgNDMyNDgsIDQzMjYyLCA0MzI2NywgNDMyNzMsIDQzMjgxLCA0MzI4NCwgCisgICAgNDMyODcsIDQzMjg5LCA0MzI5MiwgNDMyOTUsIDQzMjk3LCA0MzI5OSwgNDMzMDMsIDQzMzA2LCA0MzMwOSwgNDMzMTIsIAorICAgIDQzMzE1LCA0MzMyMCwgNDMzMjUsIDQzMzMwLCA0MzMzNSwgNDMzNDAsIDQzMzQzLCA0MzM0NSwgNDMzNDcsIDQzMzQ5LCAKKyAgICA0MzM1MywgNDMzNTcsIDQzMzYxLCA0MzM2NywgNDMzNzEsIDQzMzczLCA0MzM3NSwgNDMzODAsIDQzMzg1LCA0MzM5MCwgCisgICAgNDMzOTUsIDQzNDAwLCA0MzQwNSwgNDM0MDcsIDQzNDA5LCA0MzQxOCwgNDM0MjIsIDQzNDMwLCA0MzQzOSwgNDM0NDEsIAorICAgIDQzNDQ2LCA0MzQ1MSwgNDM0NTksIDQzNDYzLCA0MzQ2NSwgNDM0NjksIDQzNDcxLCA0MzQ3NSwgNDM0NzksIDQzNDgzLCAKKyAgICA0MzQ4NSwgNDM0ODcsIDQzNDg5LCA0MzQ5NiwgNDM1MDUsIDQzNTE0LCA0MzUyMywgNDM1MzIsIDQzNTQxLCA0MzU1MCwgCisgICAgNDM1NTksIDQzNTY4LCA0MzU3NiwgNDM1ODQsIDQzNTkzLCA0MzYwMiwgNDM2MTEsIDQzNjIwLCA0MzYyOCwgNDM2MzYsIAorICAgIDQzNjQ1LCA0MzY1NCwgNDM2NjMsIDQzNjczLCA0MzY4MiwgNDM2OTIsIDQzNzAxLCA0MzcxMSwgNDM3MTksIDQzNzI4LCAKKyAgICA0MzczOCwgNDM3NDcsIDQzNzU3LCA0Mzc2NiwgNDM3NzYsIDQzNzg0LCA0Mzc5MywgNDM4MDIsIDQzODExLCA0MzgyMCwgCisgICAgNDM4MjksIDQzODM4LCA0Mzg0OCwgNDM4NTcsIDQzODY2LCA0Mzg3NSwgNDM4ODUsIDQzODk0LCA0MzkwMywgNDM5MTIsIAorICAgIDQzOTIxLCA0MzkzMSwgNDM5NDEsIDQzOTUwLCA0Mzk1OSwgNDM5NjcsIDQzOTc2LCA0Mzk4MywgNDM5OTIsIDQ0MDAxLCAKKyAgICA0NDAxMiwgNDQwMjEsIDQ0MDMxLCA0NDA0MSwgNDQwNDgsIDQ0MDU1LCA0NDA2MiwgNDQwNzEsIDQ0MDgwLCA0NDA4OSwgCisgICAgNDQwOTgsIDQ0MTA1LCA0NDExMCwgNDQxMTgsIDQ0MTI0LCA0NDEyNywgNDQxMzUsIDQ0MTM4LCA0NDE0MywgNDQxNDgsIAorICAgIDQ0MTUxLCA0NDE1NCwgNDQxNjIsIDQ0MTY1LCA0NDE3MCwgNDQxNzMsIDQ0MTgwLCA0NDE4NSwgNDQxOTMsIDQ0MTk2LCAKKyAgICA0NDE5OSwgNDQyMDIsIDQ0MjA3LCA0NDIxMiwgNDQyMTUsIDQ0MjE4LCA0NDIyNiwgNDQyMjksIDQ0MjM2LCA0NDI0MywgCisgICAgNDQyNDcsIDQ0MjUxLCA0NDI1NiwgNDQyNjEsIDQ0MjY3LCA0NDI3MiwgNDQyNzgsIDQ0Mjg0LCA0NDI4OSwgNDQyOTUsIAorICAgIDQ0MzAzLCA0NDMwOSwgNDQzMTcsIDQ0MzI1LCA0NDMzMSwgNDQzMzksIDQ0MzQ3LCA0NDM1NiwgNDQzNjQsIDQ0MzcwLCAKKyAgICA0NDM3OCwgNDQzODcsIDQ0Mzk1LCA0NDM5OSwgNDQ0MDQsIDQ0NDE4LCA0NDQzMiwgNDQ0MzYsIDQ0NDQwLCA0NDQ0NCwgCisgICAgNDQ0NDgsIDQ0NDU4LCA0NDQ2MiwgNDQ0NjcsIDQ0NDcyLCA0NDQ3NywgNDQ0ODIsIDQ0NDg3LCA0NDQ5MiwgNDQ1MDIsIAorICAgIDQ0NTEyLCA0NDUyMCwgNDQ1MzAsIDQ0NTQwLCA0NDU0OCwgNDQ1NTgsIDQ0NTY4LCA0NDU3NiwgNDQ1ODYsIDQ0NTk2LCAKKyAgICA0NDYwNCwgNDQ2MTIsIDQ0NjIyLCA0NDYzMiwgNDQ2MzUsIDQ0NjM4LCA0NDY0MSwgNDQ2NDYsIDQ0NjUwLCA0NDY1NiwgCisgICAgNDQ2NjMsIDQ0NjcwLCA0NDY3OCwgNDQ2ODUsIDQ0Njg5LCA0NDY5MywgNDQ2OTcsIDQ0NzAxLCA0NDcwMywgNDQ3MDcsIAorICAgIDQ0NzExLCA0NDcxNiwgNDQ3MjEsIDQ0NzI4LCA0NDczNSwgNDQ3MzgsIDQ0NzQ1LCA0NDc0NywgNDQ3NDksIDQ0NzUzLCAKKyAgICA0NDc1NywgNDQ3NjIsIDQ0NzY4LCA0NDc3NCwgNDQ3ODAsIDQ0Nzg2LCA0NDc5NSwgNDQ4MDQsIDQ0ODEzLCA0NDgxNywgCisgICAgNDQ4MTksIDQ0ODIzLCA0NDgzMCwgNDQ4MzcsIDQ0ODQ0LCA0NDg1MSwgNDQ4NTgsIDQ0ODYxLCA0NDg2NiwgMCwgMCwgMCwgCisgICAgMCwgMCwgNDQ4NzIsIDQ0ODc2LCA0NDg4MywgNDQ4OTAsIDQ0ODk3LCA0NDkwNCwgNDQ5MDgsIDQ0OTEyLCA0NDkxNiwgCisgICAgNDQ5MjAsIDQ0OTI1LCA0NDkzMSwgNDQ5MzYsIDQ0OTQyLCA0NDk0OCwgNDQ5NTQsIDQ0OTYwLCA0NDk2OCwgNDQ5NzUsIAorICAgIDQ0OTgyLCA0NDk4OSwgNDQ5OTYsIDQ1MDAxLCA0NTAwNywgNDUwMTYsIDQ1MDIwLCA0NTAyNywgNDUwMzEsIDQ1MDM1LCAKKyAgICA0NTA0MSwgNDUwNDcsIDQ1MDUzLCA0NTA1OSwgNDUwNjMsIDQ1MDY3LCA0NTA3MCwgNDUwNzQsIDQ1MDc4LCA0NTA4NSwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgNDUwOTIsIDQ1MDk1LCA0NTA5OSwgNDUxMDMsIDQ1MTA5LCA0NTExNSwgNDUxMjEsIDQ1MTI5LCA0NTEzNiwgNDUxNDAsIAorICAgIDQ1MTQ4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICA0NTE1MywgNDUxNTYsIDQ1MTU5LCA0NTE2MiwgNDUxNjUsIDQ1MTY4LCA0NTE3MSwgNDUxNzQsIDQ1MTc3LCA0NTE4MCwgCisgICAgNDUxODQsIDQ1MTg4LCA0NTE5MiwgNDUxOTYsIDQ1MjAwLCA0NTIwNCwgNDUyMDgsIDQ1MjEyLCA0NTIxNiwgNDUyMjAsIAorICAgIDQ1MjI0LCA0NTIyNywgNDUyMzAsIDQ1MjMzLCA0NTIzNiwgNDUyMzksIDQ1MjQyLCA0NTI0NSwgNDUyNDgsIDQ1MjUxLCAKKyAgICA0NTI1NSwgNDUyNTksIDQ1MjYzLCA0NTI2NywgNDUyNzEsIDQ1Mjc1LCA0NTI3OSwgNDUyODMsIDQ1Mjg3LCA0NTI5MSwgCisgICAgNDUyOTUsIDQ1MzAxLCA0NTMwNywgNDUzMTMsIDQ1MzIwLCA0NTMyNywgNDUzMzQsIDQ1MzQxLCA0NTM0OCwgNDUzNTUsIAorICAgIDQ1MzYyLCA0NTM2OSwgNDUzNzYsIDQ1MzgzLCA0NTM5MCwgNDUzOTcsIDQ1NDA0LCA0NTQxMSwgNDU0MTgsIDQ1NDI1LCAKKyAgICA0NTQzMiwgNDU0MzcsIDQ1NDQzLCA0NTQ0OSwgNDU0NTUsIDQ1NDYwLCA0NTQ2NiwgNDU0NzIsIDQ1NDc4LCA0NTQ4MywgCisgICAgNDU0ODksIDQ1NDk1LCA0NTUwMCwgNDU1MDYsIDQ1NTEyLCA0NTUxNywgNDU1MjMsIDQ1NTI5LCA0NTUzNCwgNDU1MzksIAorICAgIDQ1NTQ1LCA0NTU1MCwgNDU1NTYsIDQ1NTYyLCA0NTU2OCwgNDU1NzQsIDQ1NTgwLCA0NTU4NSwgNDU1OTEsIDQ1NTk3LCAKKyAgICA0NTYwMywgNDU2MDgsIDQ1NjE0LCA0NTYyMCwgNDU2MjYsIDQ1NjMxLCA0NTYzNywgNDU2NDMsIDQ1NjQ4LCA0NTY1NCwgCisgICAgNDU2NjAsIDQ1NjY1LCA0NTY3MSwgNDU2NzcsIDQ1NjgyLCA0NTY4NywgNDU2OTMsIDQ1Njk4LCA0NTcwNCwgNDU3MTAsIAorICAgIDQ1NzE2LCA0NTcyMiwgNDU3MjgsIDQ1NzMzLCA0NTczOSwgNDU3NDUsIDQ1NzUxLCA0NTc1NiwgNDU3NjIsIDQ1NzY4LCAKKyAgICA0NTc3NCwgNDU3NzksIDQ1Nzg1LCA0NTc5MSwgNDU3OTYsIDQ1ODAyLCA0NTgwOCwgNDU4MTMsIDQ1ODE5LCA0NTgyNSwgCisgICAgNDU4MzAsIDQ1ODM1LCA0NTg0MSwgNDU4NDYsIDQ1ODUyLCA0NTg1OCwgNDU4NjQsIDQ1ODcwLCA0NTg3NiwgNDU4ODAsIAorICAgIDQ1ODg1LCA0NTg5MCwgNDU4OTUsIDQ1OTAwLCA0NTkwNSwgNDU5MTAsIDQ1OTE1LCA0NTkyMCwgNDU5MjUsIDQ1OTMwLCAKKyAgICA0NTkzNCwgNDU5MzgsIDQ1OTQyLCA0NTk0NiwgNDU5NTAsIDQ1OTU0LCA0NTk1OCwgNDU5NjIsIDQ1OTY2LCA0NTk3MSwgCisgICAgNDU5NzYsIDQ1OTgxLCA0NTk4NiwgNDU5OTEsIDQ1OTk2LCA0NjAwNSwgNDYwMTQsIDQ2MDIzLCA0NjAzMiwgNDYwNDEsIAorICAgIDQ2MDUwLCA0NjA1OSwgNDYwNjgsIDQ2MDc1LCA0NjA4MywgNDYwOTEsIDQ2MDk4LCA0NjEwNSwgNDYxMTMsIDQ2MTIxLCAKKyAgICA0NjEyOCwgNDYxMzUsIDQ2MTQzLCA0NjE1MSwgNDYxNTgsIDQ2MTY1LCA0NjE3MywgNDYxODEsIDQ2MTg4LCA0NjE5NSwgCisgICAgNDYyMDMsIDQ2MjEyLCA0NjIyMSwgNDYyMjksIDQ2MjM4LCA0NjI0NywgNDYyNTQsIDQ2MjYxLCA0NjI2OSwgNDYyNzgsIAorICAgIDQ2Mjg3LCA0NjI5NSwgNDYzMDQsIDQ2MzEzLCA0NjMyMCwgNDYzMjcsIDQ2MzM2LCA0NjM0NSwgNDYzNTMsIDQ2MzYxLCAKKyAgICA0NjM3MCwgNDYzNzksIDQ2Mzg2LCA0NjM5MywgNDY0MDIsIDQ2NDExLCA0NjQxOSwgNDY0MjcsIDQ2NDM2LCA0NjQ0NSwgCisgICAgNDY0NTIsIDQ2NDU5LCA0NjQ2OCwgNDY0NzcsIDQ2NDg1LCA0NjQ5NCwgNDY1MDMsIDQ2NTExLCA0NjUyMSwgNDY1MzEsIAorICAgIDQ2NTQxLCA0NjU1MSwgNDY1NjAsIDQ2NTY5LCA0NjU3OCwgNDY1ODcsIDQ2NTk0LCA0NjYwMiwgNDY2MTAsIDQ2NjE4LCAKKyAgICA0NjYyNiwgNDY2MzEsIDQ2NjM2LCA0NjY0NSwgNDY2NTMsIDQ2NjYwLCA0NjY2OSwgNDY2NzcsIDQ2Njg0LCA0NjY5MywgCisgICAgNDY3MDEsIDQ2NzA4LCA0NjcxNywgNDY3MjUsIDQ2NzMyLCA0Njc0MSwgNDY3NDksIDQ2NzU2LCA0Njc2NSwgNDY3NzMsIAorICAgIDQ2NzgwLCA0Njc4OSwgNDY3OTcsIDQ2ODA0LCA0NjgxMywgNDY4MjEsIDQ2ODI4LCA0NjgzNywgNDY4NDUsIDQ2ODUyLCAKKyAgICA0Njg2MSwgNDY4NzAsIDQ2ODc5LCA0Njg4OCwgNDY5MDIsIDQ2OTE2LCA0NjkyMywgNDY5MjgsIDQ2OTMzLCA0NjkzOCwgCisgICAgNDY5NDMsIDQ2OTQ4LCA0Njk1MywgNDY5NTgsIDQ2OTYzLCA0Njk3MSwgNDY5NzksIDQ2OTg3LCA0Njk5NSwgNDcwMDAsIAorICAgIDQ3MDA3LCA0NzAxNCwgNDcwMjEsIDQ3MDI2LCA0NzAzNCwgNDcwNDEsIDQ3MDQ5LCA0NzA1MywgNDcwNjAsIDQ3MDY2LCAKKyAgICA0NzA3MywgNDcwNzcsIDQ3MDgzLCA0NzA4OSwgNDcwOTUsIDQ3MDk5LCA0NzEwMiwgNDcxMDYsIDQ3MTEwLCA0NzExNywgCisgICAgNDcxMjMsIDQ3MTI5LCA0NzEzNSwgNDcxNDEsIDQ3MTU1LCA0NzE2NSwgNDcxNzksIDQ3MTkzLCA0NzE5OSwgNDcyMDksIAorICAgIDQ3MjIzLCA0NzIyNiwgNDcyMjksIDQ3MjM2LCA0NzI0NCwgNDcyNDksIDQ3MjU0LCA0NzI2MiwgNDcyNzQsIDQ3Mjg2LCAKKyAgICA0NzI5NCwgNDcyOTgsIDQ3MzAyLCA0NzMwNSwgNDczMDgsIDQ3MzEyLCA0NzMxNiwgNDczMTksIDQ3MzIyLCA0NzMyNywgCisgICAgNDczMzIsIDQ3MzM4LCA0NzM0NCwgNDczNDksIDQ3MzU0LCA0NzM2MCwgNDczNjYsIDQ3MzcxLCA0NzM3NiwgNDczODEsIAorICAgIDQ3Mzg2LCA0NzM5MiwgNDczOTgsIDQ3NDAzLCA0NzQwOCwgNDc0MTQsIDQ3NDIwLCA0NzQyNSwgNDc0MzAsIDQ3NDMzLCAKKyAgICA0NzQzNiwgNDc0NDUsIDQ3NDQ3LCA0NzQ0OSwgNDc0NTIsIDQ3NDU2LCA0NzQ2MiwgNDc0NjQsIDQ3NDY3LCA0NzQ3NCwgCisgICAgNDc0ODEsIDQ3NDg5LCA0NzQ5NywgNDc1MDcsIDQ3NTIxLCA0NzUyNiwgNDc1MzEsIDQ3NTM1LCA0NzU0MCwgNDc1NDgsIAorICAgIDQ3NTU2LCA0NzU2NSwgNDc1NzQsIDQ3NTgzLCA0NzU5MiwgNDc1OTcsIDQ3NjAyLCA0NzYwOCwgNDc2MTQsIDQ3NjIwLCAKKyAgICA0NzYyNiwgNDc2MjksIDQ3NjM1LCA0NzY0MSwgNDc2NTEsIDQ3NjYxLCA0NzY2OSwgNDc2NzcsIDQ3Njg2LCA0NzY5NSwgCisgICAgNDc2OTksIDQ3NzA3LCA0NzcxNSwgNDc3MjMsIDQ3NzMxLCA0Nzc0MCwgNDc3NDksIDQ3NzU4LCA0Nzc2NywgNDc3NzIsIAorICAgIDQ3Nzc3LCA0Nzc4MiwgNDc3ODcsIDQ3NzkyLCA0Nzc5OCwgNDc4MDQsIDQ3ODA5LCA0NzgxNSwgNDc4MTcsIDQ3ODE5LCAKKyAgICA0NzgyMSwgNDc4MjMsIDQ3ODI2LCA0NzgyOSwgNDc4MzEsIDQ3ODMzLCA0NzgzNSwgNDc4MzksIDQ3ODQzLCA0Nzg0NSwgCisgICAgNDc4NDcsIDQ3ODUwLCA0Nzg1MywgNDc4NTcsIDQ3ODYzLCA0Nzg2OSwgNDc4NzEsIDQ3ODc4LCA0Nzg4MiwgNDc4ODcsIAorICAgIDQ3ODkyLCA0Nzg5NCwgNDc5MDQsIDQ3OTEwLCA0NzkxNiwgNDc5MjIsIDQ3OTI4LCA0NzkzNCwgNDc5NDAsIDQ3OTQ1LCAKKyAgICA0Nzk0OCwgNDc5NTEsIDQ3OTU0LCA0Nzk1NiwgNDc5NTgsIDQ3OTYyLCA0Nzk2NiwgNDc5NzEsIDQ3OTc2LCA0Nzk4MSwgCisgICAgNDc5ODQsIDQ3OTg4LCA0Nzk5MywgNDc5OTYsIDQ4MDAwLCA0ODAwNSwgNDgwMTAsIDQ4MDE1LCA0ODAyMCwgNDgwMjUsIAorICAgIDQ4MDMwLCA0ODAzNSwgNDgwNDAsIDQ4MDQ1LCA0ODA1MCwgNDgwNTUsIDQ4MDYwLCA0ODA2NiwgNDgwNzIsIDQ4MDc4LCAKKyAgICA0ODA4MCwgNDgwODMsIDQ4MDg1LCA0ODA4OCwgNDgwOTAsIDQ4MDkyLCA0ODA5NCwgNDgwOTYsIDQ4MDk4LCA0ODEwMCwgCisgICAgNDgxMDIsIDQ4MTA0LCA0ODEwNiwgNDgxMDgsIDQ4MTEwLCA0ODExMiwgNDgxMTQsIDQ4MTE2LCA0ODExOCwgNDgxMjAsIAorICAgIDQ4MTIyLCA0ODEyNywgNDgxMzIsIDQ4MTM3LCA0ODE0MiwgNDgxNDcsIDQ4MTUyLCA0ODE1NywgNDgxNjIsIDQ4MTY3LCAKKyAgICA0ODE3MiwgNDgxNzcsIDQ4MTgyLCA0ODE4NywgNDgxOTIsIDQ4MTk3LCA0ODIwMiwgNDgyMDcsIDQ4MjEyLCA0ODIxNywgCisgICAgNDgyMjIsIDQ4MjI2LCA0ODIzMCwgNDgyMzQsIDQ4MjQwLCA0ODI0NiwgNDgyNTEsIDQ4MjU2LCA0ODI2MSwgNDgyNjcsIAorICAgIDQ4MjczLCA0ODI3OCwgNDgyODYsIDQ4Mjk0LCA0ODMwMiwgNDgzMTAsIDQ4MzE4LCA0ODMyNiwgNDgzMzQsIDQ4MzQyLCAKKyAgICA0ODM0OCwgNDgzNTMsIDQ4MzU4LCA0ODM2MywgNDgzNjYsIDQ4MzcwLCA0ODM3NCwgNDgzNzgsIDQ4MzgyLCA0ODM4NiwgCisgICAgNDgzOTAsIDQ4Mzk3LCA0ODQwNCwgNDg0MTIsIDQ4NDIwLCA0ODQyNSwgNDg0MzAsIDQ4NDM3LCA0ODQ0NCwgNDg0NTEsIAorICAgIDQ4NDU4LCA0ODQ2MSwgNDg0NjQsIDQ4NDY5LCA0ODQ3MSwgNDg0NzUsIDQ4NDgwLCA0ODQ4MiwgNDg0ODQsIDQ4NDg2LCAKKyAgICA0ODQ4OCwgNDg0OTMsIDQ4NDk2LCA0ODQ5OCwgNDg1MDMsIDQ4NTEwLCA0ODUxNywgNDg1MjAsIDQ4NTI0LCA0ODUyOSwgCisgICAgNDg1MzQsIDQ4NTQyLCA0ODU0OCwgNDg1NTQsIDQ4NTY2LCA0ODU3MywgNDg1ODAsIDQ4NTg1LCA0ODU5MCwgNDg1OTYsIAorICAgIDQ4NTk5LCA0ODYwMiwgNDg2MDcsIDQ4NjA5LCA0ODYxMywgNDg2MTUsIDQ4NjE3LCA0ODYxOSwgNDg2MjEsIDQ4NjIzLCAKKyAgICA0ODYyNSwgNDg2MzAsIDQ4NjMyLCA0ODYzNCwgNDg2MzYsIDQ4NjM4LCA0ODY0MiwgNDg2NDQsIDQ4NjQ3LCA0ODY1MiwgCisgICAgNDg2NTcsIDQ4NjYyLCA0ODY2NywgNDg2NzMsIDQ4Njc5LCA0ODY4MSwgNDg2ODQsIDQ4NjkxLCA0ODY5NywgNDg3MDMsIAorICAgIDQ4NzEwLCA0ODcxNCwgNDg3MTgsIDQ4NzIwLCA0ODcyMiwgNDg3MjYsIDQ4NzMyLCA0ODczNywgNDg3MzksIDQ4NzQzLCAKKyAgICA0ODc1MiwgNDg3NjAsIDQ4NzY4LCA0ODc3NCwgNDg3ODAsIDQ4Nzg1LCA0ODc5MSwgNDg3OTYsIDQ4Nzk5LCA0ODgxMywgCisgICAgNDg4MTYsIDQ4ODIxLCA0ODgyNiwgNDg4MzIsIDQ4ODQyLCA0ODg0NCwgNDg4NTAsIDQ4ODU2LCA0ODg2MCwgNDg4NjcsIAorICAgIDQ4ODcxLCA0ODg3MywgNDg4NzUsIDQ4ODc5LCA0ODg4NSwgNDg4OTAsIDQ4ODk2LCA0ODg5OCwgNDg5MDQsIDQ4OTA2LCAKKyAgICA0ODkxMiwgNDg5MTQsIDQ4OTE2LCA0ODkyMSwgNDg5MjMsIDQ4OTI3LCA0ODkzMiwgNDg5MzQsIDQ4OTM5LCA0ODk0NCwgCisgICAgNDg5NDgsIDQ4OTU1LCA0ODk2NSwgNDg5NzAsIDQ4OTc2LCA0ODk3OSwgNDg5ODUsIDQ4OTg4LCA0ODk5MywgNDg5OTgsIAorICAgIDQ5MDAyLCA0OTAwNCwgNDkwMDYsIDQ5MDEwLCA0OTAxNCwgNDkwMTgsIDQ5MDIyLCA0OTAyNywgNDkwMjksIDQ5MDM0LCAKKyAgICA0OTAzNywgNDkwNDAsIDQ5MDQzLCA0OTA0NywgNDkwNTEsIDQ5MDU2LCA0OTA2MCwgNDkwNjUsIDQ5MDcwLCA0OTA3NCwgCisgICAgNDkwODAsIDQ5MDg3LCA0OTA5MCwgNDkwOTYsIDQ5MTAxLCA0OTEwNSwgNDkxMTAsIDQ5MTE2LCA0OTEyMiwgNDkxMjksIAorICAgIDQ5MTM1LCA0OTE0MiwgNDkxNDksIDQ5MTUxLCA0OTE1OCwgNDkxNjIsIDQ5MTY5LCA0OTE3NSwgNDkxODAsIDQ5MTg2LCAKKyAgICA0OTE5MCwgNDkxOTUsIDQ5MTk4LCA0OTIwNCwgNDkyMTAsIDQ5MjE3LCA0OTIyNSwgNDkyMzIsIDQ5MjQxLCA0OTI1MSwgCisgICAgNDkyNTgsIDQ5MjY0LCA0OTI2OCwgNDkyNzYsIDQ5MjgxLCA0OTI5MCwgNDkyOTMsIDQ5Mjk2LCA0OTMwNSwgNDkzMTYsIAorICAgIDQ5MzIzLCA0OTMyNSwgNDkzMzEsIDQ5MzM2LCA0OTMzOCwgNDkzNDEsIDQ5MzQ1LCA0OTM1MywgNDkzNjIsIDQ5MzY1LCAKKyAgICA0OTM3MCwgNDkzNzUsIDQ5MzgzLCA0OTM5MSwgNDkzOTksIDQ5NDA3LCA0OTQxMywgNDk0MTksIDQ5NDI1LCA0OTQzMywgCisgICAgNDk0MzgsIDQ5NDQxLCA0OTQ0NSwgNDk0NDgsIDQ5NDU5LCA0OTQ2OSwgNDk0NzksIDQ5NDg4LCA0OTQ5OSwgNDk1MDksIAorICAgIDQ5NTE4LCA0OTUyNCwgNDk1MzIsIDQ5NTM2LCA0OTU0NCwgNDk1NDgsIDQ5NTU2LCA0OTU2MywgNDk1NzAsIDQ5NTc5LCAKKyAgICA0OTU4OCwgNDk1OTgsIDQ5NjA4LCA0OTYxOCwgNDk2MjgsIDQ5NjM3LCA0OTY0NiwgNDk2NTYsIDQ5NjY2LCA0OTY3NSwgCisgICAgNDk2ODQsIDQ5NjkwLCA0OTY5NiwgNDk3MDIsIDQ5NzA4LCA0OTcxNCwgNDk3MjAsIDQ5NzI2LCA0OTczMiwgNDk3MzgsIAorICAgIDQ5NzQ1LCA0OTc1MSwgNDk3NTcsIDQ5NzYzLCA0OTc2OSwgNDk3NzUsIDQ5NzgxLCA0OTc4NywgNDk3OTMsIDQ5Nzk5LCAKKyAgICA0OTgwNiwgNDk4MTMsIDQ5ODIwLCA0OTgyNywgNDk4MzQsIDQ5ODQxLCA0OTg0OCwgNDk4NTUsIDQ5ODYyLCA0OTg2OSwgCisgICAgNDk4NzcsIDQ5ODgyLCA0OTg4NSwgNDk4ODksIDQ5ODkzLCA0OTg5OCwgNDk5MDEsIDQ5OTA2LCA0OTkxMiwgNDk5MTcsIAorICAgIDQ5OTIxLCA0OTkyNiwgNDk5MzIsIDQ5OTM5LCA0OTk0MiwgNDk5NDksIDQ5OTU2LCA0OTk2MCwgNDk5NjgsIDQ5OTc2LCAKKyAgICA0OTk4MSwgNDk5ODcsIDQ5OTkyLCA0OTk5NywgNTAwMDQsIDUwMDExLCA1MDAxOSwgNTAwMjcsIDUwMDM2LCA1MDA0MCwgCisgICAgNTAwNDksIDUwMDU0LCA1MDA1OCwgNTAwNjQsIDUwMDY4LCA1MDA3NCwgNTAwODEsIDUwMDg2LCA1MDA5MywgNTAwOTcsIAorICAgIDUwMTAyLCA1MDEwNiwgNTAxMTEsIDUwMTE1LCA1MDEyMCwgNTAxMjUsIDUwMTM0LCA1MDEzNiwgNTAxNDAsIDUwMTQ0LCAKKyAgICA1MDE1MSwgNTAxNTgsIDUwMTY0LCA1MDE3MiwgNTAxNzgsIDUwMTg0LCA1MDE4OSwgNTAxOTIsIDUwMTk3LCA1MDIwMiwgCisgICAgNTAyMDcsIDUwMjE1LCA1MDIxOSwgNTAyMjYsIDUwMjM0LCA1MDI0MiwgNTAyNDcsIDUwMjUyLCA1MDI1OCwgNTAyNjMsIAorICAgIDUwMjY4LCA1MDI3NCwgNTAyNzksIDUwMjgyLCA1MDI4NiwgNTAyOTAsIDUwMjk3LCA1MDMwNiwgNTAzMTEsIDUwMzIwLCAKKyAgICA1MDMyOSwgNTAzMzUsIDUwMzQxLCA1MDM0NiwgNTAzNTEsIDUwMzU2LCA1MDM2MSwgNTAzNjcsIDUwMzczLCA1MDM4MSwgCisgICAgNTAzODksIDUwMzk1LCA1MDQwMSwgNTA0MDUsIDUwNDA5LCA1MDQxNiwgNTA0MjMsIDUwNDI5LCA1MDQzMiwgNTA0MzUsIAorICAgIDUwNDM5LCA1MDQ0MywgNTA0NDcsIDUwNDUyLCA1MDQ1OCwgNTA0NjQsIDUwNDcxLCA1MDQ3OCwgNTA0ODMsIDUwNDg3LCAKKyAgICA1MDQ5MSwgNTA0OTUsIDUwNDk5LCA1MDUwMywgNTA1MDcsIDUwNTExLCA1MDUxNSwgNTA1MTksIDUwNTIzLCA1MDUyNywgCisgICAgNTA1MzEsIDUwNTM1LCA1MDUzOSwgNTA1NDMsIDUwNTQ3LCA1MDU1MSwgNTA1NTUsIDUwNTU5LCA1MDU2MywgNTA1NjcsIAorICAgIDUwNTcxLCA1MDU3NSwgNTA1NzksIDUwNTgzLCA1MDU4NywgNTA1OTEsIDUwNTk1LCA1MDU5OSwgNTA2MDMsIDUwNjA3LCAKKyAgICA1MDYxMSwgNTA2MTUsIDUwNjE5LCA1MDYyMywgNTA2MjcsIDUwNjMxLCA1MDYzNSwgNTA2MzksIDUwNjQzLCA1MDY0NywgCisgICAgNTA2NTEsIDUwNjU1LCA1MDY1OSwgNTA2NjMsIDUwNjY3LCA1MDY3MSwgNTA2NzUsIDUwNjc5LCA1MDY4MywgNTA2ODcsIAorICAgIDUwNjkxLCA1MDY5NSwgNTA2OTksIDUwNzAzLCA1MDcwNywgNTA3MTEsIDUwNzE1LCA1MDcxOSwgNTA3MjMsIDUwNzI3LCAKKyAgICA1MDczMSwgNTA3MzUsIDUwNzM5LCA1MDc0MywgNTA3NDcsIDUwNzUxLCA1MDc1NSwgNTA3NTksIDUwNzYzLCA1MDc2NywgCisgICAgNTA3NzEsIDUwNzc1LCA1MDc3OSwgNTA3ODMsIDUwNzg3LCA1MDc5MSwgNTA3OTUsIDUwNzk5LCA1MDgwMywgNTA4MDcsIAorICAgIDUwODExLCA1MDgxNSwgNTA4MTksIDUwODIzLCA1MDgyNywgNTA4MzEsIDUwODM1LCA1MDgzOSwgNTA4NDMsIDUwODQ3LCAKKyAgICA1MDg1MSwgNTA4NTUsIDUwODU5LCA1MDg2MywgNTA4NjcsIDUwODcxLCA1MDg3NSwgNTA4NzksIDUwODgzLCA1MDg4NywgCisgICAgNTA4OTEsIDUwODk1LCA1MDg5OSwgNTA5MDMsIDUwOTA3LCA1MDkxMSwgNTA5MTUsIDUwOTE5LCA1MDkyMywgNTA5MjcsIAorICAgIDUwOTMxLCA1MDkzNSwgNTA5MzksIDUwOTQzLCA1MDk0NywgNTA5NTEsIDUwOTU1LCA1MDk1OSwgNTA5NjMsIDUwOTY3LCAKKyAgICA1MDk3MSwgNTA5NzUsIDUwOTc5LCA1MDk4MywgNTA5ODcsIDUwOTkxLCA1MDk5NSwgNTA5OTksIDUxMDAzLCA1MTAwNywgCisgICAgNTEwMTEsIDUxMDE1LCA1MTAxOSwgNTEwMjMsIDUxMDI3LCA1MTAzMSwgNTEwMzUsIDUxMDM5LCA1MTA0MywgNTEwNDcsIAorICAgIDUxMDUxLCA1MTA1NSwgNTEwNTksIDUxMDYzLCA1MTA2NywgNTEwNzEsIDUxMDc1LCA1MTA3OSwgNTEwODMsIDUxMDg3LCAKKyAgICA1MTA5MSwgNTEwOTUsIDUxMDk5LCA1MTEwMywgNTExMDcsIDUxMTExLCA1MTExNSwgNTExMTksIDUxMTIzLCA1MTEyNywgCisgICAgNTExMzEsIDUxMTM1LCA1MTEzOSwgNTExNDMsIDUxMTQ3LCA1MTE1MSwgNTExNTUsIDUxMTU5LCA1MTE2MywgNTExNjcsIAorICAgIDUxMTcxLCA1MTE3NSwgNTExNzksIDUxMTgzLCA1MTE4NywgNTExOTEsIDUxMTk1LCA1MTE5OSwgNTEyMDMsIDUxMjA3LCAKKyAgICA1MTIxMSwgNTEyMTUsIDUxMjE5LCA1MTIyMywgNTEyMjcsIDUxMjMxLCA1MTIzNSwgNTEyMzksIDUxMjQzLCA1MTI0NywgCisgICAgNTEyNTEsIDUxMjU1LCA1MTI1OSwgNTEyNjMsIDUxMjY3LCA1MTI3MSwgNTEyNzUsIDUxMjc5LCA1MTI4MywgNTEyODcsIAorICAgIDUxMjkxLCA1MTI5NSwgNTEyOTksIDUxMzAzLCA1MTMwNywgNTEzMTEsIDUxMzE1LCA1MTMxOSwgNTEzMjMsIDUxMzI3LCAKKyAgICA1MTMzMSwgNTEzMzUsIDUxMzM5LCA1MTM0MywgNTEzNDcsIDUxMzUxLCA1MTM1NSwgNTEzNTksIDUxMzYzLCA1MTM2NywgCisgICAgNTEzNzEsIDUxMzc1LCA1MTM3OSwgNTEzODMsIDUxMzg3LCA1MTM5MSwgNTEzOTUsIDUxMzk5LCA1MTQwMywgNTE0MDcsIAorICAgIDUxNDExLCA1MTQxNSwgNTE0MTksIDUxNDIzLCA1MTQyNywgNTE0MzEsIDUxNDM1LCA1MTQzOSwgNTE0NDMsIDUxNDQ3LCAKKyAgICA1MTQ1MSwgNTE0NTUsIDUxNDU5LCA1MTQ2MywgNTE0NjcsIDUxNDcxLCA1MTQ3NSwgNTE0NzksIDUxNDgzLCA1MTQ4NywgCisgICAgNTE0OTEsIDUxNDk1LCA1MTQ5OSwgNTE1MDMsIDUxNTA3LCA1MTUxNCwgNTE1MjIsIDUxNTI4LCA1MTUzNCwgNTE1NDEsIAorICAgIDUxNTQ4LCA1MTU1NCwgNTE1NjAsIDUxNTY1LCA1MTU3MCwgNTE1NzQsIDUxNTc4LCA1MTU4MywgNTE1ODgsIDUxNTk0LCAKKyAgICA1MTYwMCwgNTE2MDgsIDUxNjE1LCA1MTYyMCwgNTE2MjUsIDUxNjMzLCA1MTY0MiwgNTE2NDksIDUxNjU5LCA1MTY3MCwgCisgICAgNTE2NzMsIDUxNjc2LCA1MTY4MCwgNTE2ODQsIDUxNjkxLCA1MTY5OCwgNTE3MDksIDUxNzIwLCA1MTcyOCwgNTE3MzYsIAorICAgIDUxNzQyLCA1MTc0OCwgNTE3NTQsIDUxNzYwLCA1MTc2OSwgNTE3NzgsIDUxNzg3LCA1MTc5NiwgNTE4MDYsIDUxODE2LCAKKyAgICA1MTgyNiwgNTE4MzYsIDUxODQ2LCA1MTg1NiwgNTE4NjYsIDUxODc2LCA1MTg4NSwgNTE4OTUsIDUxOTA1LCA1MTkxNSwgCisgICAgNTE5MjUsIDUxOTMyLCA1MTkzOSwgNTE5NDYsIDUxOTUzLCA1MTk2MywgNTE5NzMsIDUxOTgxLCA1MTk4OSwgNTE5OTYsIAorICAgIDUyMDAzLCA1MjAxMCwgNTIwMTcsIDUyMDI0LCA1MjAyOSwgNTIwMzQsIDUyMDQwLCA1MjA0OCwgNTIwNTcsIDUyMDY1LCAKKyAgICA1MjA3MywgNTIwODEsIDUyMDg5LCA1MjA5NywgNTIxMDUsIDUyMTEzLCA1MjEyMSwgNTIxMzAsIDUyMTM5LCA1MjE0OCwgCisgICAgNTIxNTcsIDUyMTY2LCA1MjE3NSwgNTIxODQsIDUyMTkzLCA1MjIwMiwgNTIyMTEsIDUyMjIwLCA1MjIyOSwgNTIyMzgsIAorICAgIDUyMjQ3LCA1MjI1NiwgNTIyNjUsIDUyMjc5LCA1MjI5NCwgNTIzMDgsIDUyMzIzLCA1MjMzNywgNTIzNTEsIDUyMzY1LCAKKyAgICA1MjM3OSwgNTIzODksIDUyNDAwLCA1MjQxMCwgNTI0MjEsIDUyNDM2LCA1MjQ1MSwgNTI0NTksIDUyNDY1LCA1MjQ3MiwgCisgICAgNTI0NzksIDUyNDg2LCA1MjQ5MywgNTI0OTgsIDUyNTA0LCA1MjUwOSwgNTI1MTQsIDUyNTIwLCA1MjUyNSwgNTI1MzAsIAorICAgIDUyNTM1LCA1MjU0MCwgNTI1NDUsIDUyNTUyLCA1MjU1OCwgNTI1NjYsIDUyNTcxLCA1MjU3NiwgNTI1ODAsIDUyNTg0LCAKKyAgICA1MjU5MiwgNTI2MDAsIDUyNjA4LCA1MjYxNiwgNTI2MjMsIDUyNjMwLCA1MjY0MywgNTI2NTYsIDUyNjY5LCA1MjY4MiwgCisgICAgNTI2OTAsIDUyNjk4LCA1MjcwNCwgNTI3MTAsIDUyNzE3LCA1MjcyNCwgNTI3MzEsIDUyNzM4LCA1Mjc0MiwgNTI3NDcsIAorICAgIDUyNzU1LCA1Mjc2MywgNTI3NzEsIDUyNzc4LCA1Mjc4MiwgNTI3OTAsIDUyNzk4LCA1MjgwMSwgNTI4MDUsIDUyODEwLCAKKyAgICA1MjgxNywgNTI4MjUsIDUyODMzLCA1Mjg1MywgNTI4NzMsIDUyODkzLCA1MjkxMywgNTI5MzMsIDUyOTUzLCA1Mjk3MywgCisgICAgNTI5OTMsIDUyOTk5LCA1MzAwNiwgNTMwMTUsIDUzMDIzLCA1MzAzMSwgNTMwMzYsIDUzMDM5LCA1MzA0MiwgNTMwNDcsIAorICAgIDUzMDUwLCA1MzA2OSwgNTMwNzYsIDUzMDgyLCA1MzA4OCwgNTMwOTIsIDUzMDk1LCA1MzA5OCwgNTMxMDEsIDUzMTEzLCAKKyAgICA1MzEyNiwgNTMxMzMsIDUzMTQwLCA1MzE0MywgNTMxNDcsIDUzMTUwLCA1MzE1NSwgNTMxNjAsIDUzMTY1LCA1MzE3MSwgCisgICAgNTMxODAsIDUzMTg3LCA1MzE5NCwgNTMyMDIsIDUzMjA5LCA1MzIxNiwgNTMyMTksIDUzMjI1LCA1MzIzMSwgNTMyMzQsIAorICAgIDUzMjM3LCA1MzI0MiwgNTMyNDcsIDUzMjUzLCA1MzI1OSwgNTMyNjMsIDUzMjY4LCA1MzI3NSwgNTMyNzksIDUzMjg1LCAKKyAgICA1MzI4OSwgNTMyOTMsIDUzMzAxLCA1MzMxMywgNTMzMjIsIDUzMzI2LCA1MzMyOCwgNTMzMzcsIDUzMzQ2LCA1MzM1MiwgCisgICAgNTMzNTUsIDUzMzYxLCA1MzM2NywgNTMzNzIsIDUzMzc3LCA1MzM4MiwgNTMzODcsIDUzMzkyLCA1MzM5NywgNTMzOTksIAorICAgIDUzNDA1LCA1MzQxMCwgNTM0MTcsIDUzNDIxLCA1MzQyNywgNTM0MzAsIDUzNDM0LCA1MzQ0MSwgNTM0NDgsIDUzNDUwLCAKKyAgICA1MzQ1MiwgNTM0NTgsIDUzNDY0LCA1MzQ3MCwgNTM0NzksIDUzNDg4LCA1MzQ5NSwgNTM1MDIsIDUzNTA4LCA1MzUxNSwgCisgICAgNTM1MjAsIDUzNTI1LCA1MzUzMCwgNTM1MzYsIDUzNTQyLCA1MzU0NywgNTM1NTQsIDUzNTU4LCA1MzU2MiwgNTM1NzUsIAorICAgIDUzNTg4LCA1MzYwMCwgNTM2MDksIDUzNjE1LCA1MzYyMiwgNTM2MjcsIDUzNjMyLCA1MzYzNywgNTM2NDIsIDUzNjQ3LCAKKyAgICA1MzY0OSwgNTM2NTYsIDUzNjY0LCA1MzY3MiwgNTM2ODAsIDUzNjg3LCA1MzY5NSwgNTM3MDEsIDUzNzA2LCA1MzcxMiwgCisgICAgNTM3MTgsIDUzNzI0LCA1MzczMSwgNTM3MzcsIDUzNzQ1LCA1Mzc1MywgNTM3NjEsIDUzNzY5LCA1Mzc3NywgNTM3ODMsIAorICAgIDUzNzg5LCA1Mzc5OCwgNTM4MDIsIDUzODExLCA1MzgyMCwgNTM4MjksIDUzODM3LCA1Mzg0MSwgNTM4NDcsIDUzODU0LCAKKyAgICA1Mzg2MSwgNTM4NjUsIDUzODcxLCA1Mzg3OSwgNTM4ODUsIDUzODkwLCA1Mzg5NiwgNTM5MDEsIDUzOTA2LCA1MzkxMywgCisgICAgNTM5MjAsIDUzOTI1LCA1MzkzMCwgNTM5MzgsIDUzOTQ2LCA1Mzk1NiwgNTM5NjYsIDUzOTczLCA1Mzk4MCwgNTM5ODQsIAorICAgIDUzOTg4LCA1NDAwMCwgNTQwMDYsIDU0MDEzLCA1NDAxOCwgNTQwMjMsIDU0MDMwLCA1NDAzNywgNTQwNDMsIDU0MDQ5LCAKKyAgICA1NDA1OSwgNTQwNjcsIDU0MDc2LCA1NDA4MywgNTQwOTEsIDU0MDk4LCA1NDEwNCwgNTQxMTEsIDU0MTE3LCA1NDEyNSwgCisgICAgNTQxMzMsIDU0MTQxLCA1NDE0OSwgNTQxNTUsIDU0MTYwLCA1NDE2OSwgNTQxNzksIDU0MTg2LCA1NDE5NSwgNTQyMDEsIAorICAgIDU0MjA2LCA1NDIxMSwgNTQyMjEsIDU0MjI4LCA1NDIzNCwgNTQyNDAsIDU0MjQ4LCA1NDI1MywgNTQyNjAsIDU0MjY3LCAKKyAgICA1NDI3OCwgNTQyODUsIDU0MjkyLCA1NDI5OSwgNTQzMDYsIDU0MzEzLCA1NDMyMSwgNTQzMjksIDU0MzQyLCA1NDM1NSwgCisgICAgNTQzNjcsIDU0Mzc5LCA1NDM5MywgNTQ0MDcsIDU0NDEzLCA1NDQxOSwgNTQ0MjgsIDU0NDM3LCA1NDQ0NCwgNTQ0NTEsIAorICAgIDU0NDYwLCA1NDQ2OSwgNTQ0NzgsIDU0NDg3LCA1NDQ5NSwgNTQ1MDMsIDU0NTEzLCA1NDUyMywgNTQ1MzcsIDU0NTUxLCAKKyAgICA1NDU2MCwgNTQ1NjksIDU0NTgyLCA1NDU5NSwgNTQ2MDQsIDU0NjEzLCA1NDYyNCwgNTQ2MzUsIDU0NjQxLCA1NDY0NywgCisgICAgNTQ2NTYsIDU0NjY1LCA1NDY3MCwgNTQ2NzUsIDU0NjgzLCA1NDY4OSwgNTQ2OTUsIDU0NzAzLCA1NDcxMSwgNTQ3MjQsIAorICAgIDU0NzM3LCA1NDc0MSwgNTQ3NDUsIDU0NzUzLCA1NDc2MSwgNTQ3NjgsIDU0Nzc2LCA1NDc4NCwgNTQ3OTMsIDU0ODAyLCAKKyAgICA1NDgwOCwgNTQ4MTQsIDU0ODIxLCA1NDgyOCwgNTQ4MzUsIDU0ODQyLCA1NDg1MSwgNTQ4NjAsIDU0ODYzLCA1NDg2NiwgCisgICAgNTQ4NzEsIDU0ODc2LCA1NDg4MiwgNTQ4ODgsIDU0ODk1LCA1NDkwMiwgNTQ5MTMsIDU0OTI0LCA1NDkzMSwgNTQ5MzgsIAorICAgIDU0OTQ2LCA1NDk1NCwgNTQ5NjIsIDU0OTcwLCA1NDk3OCwgNTQ5ODYsIDU0OTkzLCA1NTAwMCwgNTUwMDQsIDU1MDA4LCAKKyAgICA1NTAxNiwgNTUwMjQsIDU1MDI5LCA1NTAzNCwgNTUwMzksIDU1MDQ0LCA1NTA1MCwgNTUwNjQsIDU1MDcxLCA1NTA3OCwgCisgICAgNTUwODIsIDU1MDg0LCA1NTA4NiwgNTUwOTEsIDU1MDk2LCA1NTEwMSwgNTUxMDUsIDU1MTEzLCA1NTEyMCwgNTUxMjcsIAorICAgIDU1MTM1LCA1NTE0NywgNTUxNTUsIDU1MTYzLCA1NTE3NCwgNTUxNzgsIDU1MTgyLCA1NTE4OCwgNTUxOTYsIDU1MjA5LCAKKyAgICA1NTIxNiwgNTUyMjMsIDU1MjMwLCA1NTIzNSwgNTUyNDIsIDU1MjUxLCA1NTI1OSwgNTUyNjUsIDU1MjcxLCA1NTI3NywgCisgICAgNTUyODcsIDU1Mjk3LCA1NTMwNSwgNTUzMTQsIDU1MzE5LCA1NTMyMiwgNTUzMjcsIDU1MzMyLCA1NTMzNywgNTUzNDIsIAorICAgIDU1MzQ3LCA1NTM1MSwgNTUzNTQsIDU1MzU3LCA1NTM2MCwgNTUzNjUsIDU1MzcwLCA1NTM3NSwgNTUzODAsIDU1Mzg0LCAKKyAgICA1NTM4OCwgNTUzOTUsIDU1NDAyLCA1NTQwOSwgNTU0MTYsIDU1NDIzLCA1NTQzMCwgNTU0NDAsIDU1NDUwLCA1NTQ1NywgCisgICAgNTU0NjQsIDU1NDcyLCA1NTQ4MCwgNTU0ODQsIDU1NDg5LCA1NTQ5NCwgNTU1MDAsIDU1NTA2LCA1NTUwOSwgNTU1MTIsIAorICAgIDU1NTE1LCA1NTUxOCwgNTU1MjIsIDU1NTI3LCA1NTUzMiwgNTU1MzcsIDU1NTQyLCA1NTU0NywgNTU1NTEsIDU1NTU1LCAKKyAgICA1NTU1OSwgNTU1NjMsIDU1NTY3LCA1NTU3MSwgNTU1NzUsIDU1NTgxLCA1NTU4NSwgNTU1OTEsIDU1NTk2LCA1NTYwMywgCisgICAgNTU2MTEsIDU1NjE4LCA1NTYyNiwgNTU2MzMsIDU1NjQxLCA1NTY1MCwgNTU2NTcsIDU1NjY3LCA1NTY3OCwgNTU2ODQsIAorICAgIDU1NjkzLCA1NTY5OSwgNTU3MDgsIDU1NzE3LCA1NTcyMywgNTU3MjksIDU1NzMzLCA1NTczNywgNTU3NDYsIDU1NzU1LCAKKyAgICA1NTc2MiwgNTU3NjksIDU1Nzc4LCA1NTc4NywgNTU3OTMsIDU1Nzk5LCA1NTgwNSwgNTU4MTAsIDU1ODE0LCA1NTgxOCwgCisgICAgNTU4MjMsIDU1ODI4LCA1NTgzMywgNTU4NDEsIDU1ODQ5LCA1NTg1MiwgNTU4NTYsIDU1ODY1LCA1NTg3NCwgNTU4ODIsIAorICAgIDU1ODkwLCA1NTkwMSwgNTU5MTQsIDU1OTE4LCA1NTkyMiwgNTU5MjYsIDU1OTMwLCA1NTkzNSwgNTU5NDAsIDU1OTQ2LCAKKyAgICA1NTk1MiwgNTU5NTgsIDU1OTY0LCA1NTk3MCwgNTU5NzYsIDU1OTgyLCA1NTk4OCwgNTU5OTcsIDU2MDA2LCA1NjAxMywgCisgICAgNTYwMjAsIDU2MDI3LCAwLCAwLCA1NjAzNCwgNTYwNDMsIDU2MDUyLCA1NjA2MSwgNTYwNzAsIDU2MDc4LCA1NjA4NiwgCisgICAgNTYwOTQsIDU2MTAyLCA1NjEwNywgNTYxMTIsIDU2MTIxLCA1NjEzMSwgNTYxNDAsIDU2MTUwLCA1NjE1NywgNTYxNjQsIAorICAgIDU2MTcxLCA1NjE3OCwgNTYxODMsIDU2MTg4LCA1NjE5MywgNTYxOTgsIDU2MjA2LCA1NjIxNSwgNTYyMjMsIDU2MjMyLCAKKyAgICA1NjIzNiwgNTYyNDAsIDU2MjQ0LCA1NjI0OCwgNTYyNTgsIDAsIDAsIDU2MjYxLCA1NjI3MCwgNTYyNzksIDU2Mjg4LCAKKyAgICA1NjI5NywgNTYzMDMsIDU2MzA5LCA1NjMxNSwgNTYzMjEsIDU2MzMxLCA1NjM0MSwgNTYzNTEsIDU2MzYxLCA1NjM3MSwgCisgICAgNTYzODEsIDU2MzkxLCA1NjQwMSwgNTY0MDgsIDU2NDE1LCA1NjQyMiwgNTY0MjksIDU2NDM2LCA1NjQ0MywgNTY0NTAsIAorICAgIDU2NDU3LCA1NjQ2MywgNTY0NjksIDU2NDc1LCA1NjQ4MSwgNTY0ODcsIDU2NDkzLCA1NjQ5OSwgNTY1MDUsIDU2NTE1LCAwLCAKKyAgICAwLCAwLCA1NjUyNSwgNTY1MzIsIDU2NTM1LCA1NjUzOSwgNTY1NDMsIDU2NTQ4LCA1NjU1MiwgNTY1NTYsIDU2NTU5LCAKKyAgICA1NjU2OCwgNTY1NzcsIDU2NTg2LCAwLCA1NjU5NSwgNTY2MDEsIDU2NjA3LCA1NjYxNSwgNTY2MjUsIDU2NjMyLCA1NjY0MSwgCisgICAgNTY2NDYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDU2NjQ5LCA1NjY1NCwgNTY2NTksIDU2NjY0LCA1NjY2OSwgNTY2NzQsIDU2Njc5LCA1NjY4NCwgNTY2ODksIDU2Njk0LCAKKyAgICA1NjY5OSwgNTY3MDUsIDU2NzA5LCA1NjcxNCwgNTY3MTksIDU2NzI0LCA1NjcyOSwgNTY3MzQsIDU2NzM5LCA1Njc0NCwgCisgICAgNTY3NDksIDU2NzU0LCA1Njc1OSwgNTY3NjQsIDU2NzY5LCA1Njc3NCwgNTY3NzksIDU2Nzg0LCA1Njc4OSwgNTY3OTQsIAorICAgIDU2Nzk5LCA1NjgwNCwgNTY4MDksIDU2ODE0LCA1NjgxOSwgNTY4MjUsIDU2ODMwLCA1NjgzNiwgNTY4NDUsIDU2ODUwLCAKKyAgICA1Njg1OCwgNTY4NjUsIDU2ODc0LCA1Njg3OSwgNTY4ODQsIDU2ODg5LCA1Njg5NSwgMCwgNTY5MDIsIDU2OTA3LCA1NjkxMiwgCisgICAgNTY5MTcsIDU2OTIyLCA1NjkyNywgNTY5MzIsIDU2OTM3LCA1Njk0MiwgNTY5NDcsIDU2OTUyLCA1Njk1OCwgNTY5NjIsIAorICAgIDU2OTY3LCA1Njk3MiwgNTY5NzcsIDU2OTgyLCA1Njk4NywgNTY5OTIsIDU2OTk3LCA1NzAwMiwgNTcwMDcsIDU3MDEyLCAKKyAgICA1NzAxNywgNTcwMjIsIDU3MDI3LCA1NzAzMiwgNTcwMzcsIDU3MDQyLCA1NzA0NywgNTcwNTIsIDU3MDU3LCA1NzA2MiwgCisgICAgNTcwNjcsIDU3MDcyLCA1NzA3OCwgNTcwODMsIDU3MDg5LCA1NzA5OCwgNTcxMDMsIDU3MTExLCA1NzExOCwgNTcxMjcsIAorICAgIDU3MTMyLCA1NzEzNywgNTcxNDIsIDU3MTQ4LCAwLCA1NzE1NSwgNTcxNjMsIDU3MTcxLCA1NzE4MSwgNTcxODgsIDU3MTk2LCAKKyAgICA1NzIwMiwgNTcyMTEsIDU3MjE5LCA1NzIyNywgNTcyMzUsIDU3MjQzLCA1NzI1MSwgNTcyNTksIDU3MjY0LCA1NzI3MSwgCisgICAgNTcyNzYsIDU3MjgyLCA1NzI5MCwgNTcyOTcsIDU3MzA0LCA1NzMxMiwgNTczMTgsIDU3MzI0LCA1NzMzMSwgNTczMzgsIAorICAgIDU3MzQ3LCA1NzM1NywgNTczNjMsIDU3MzcwLCA1NzM3NSwgNTczODUsIDU3Mzk1LCA1NzQwMCwgNTc0MDUsIDU3NDEwLCAKKyAgICA1NzQxNSwgNTc0MjAsIDU3NDI1LCA1NzQzMCwgNTc0MzUsIDU3NDQwLCA1NzQ0NSwgNTc0NTAsIDU3NDU1LCA1NzQ2MCwgCisgICAgNTc0NjUsIDU3NDcwLCA1NzQ3NSwgNTc0ODAsIDU3NDg1LCA1NzQ5MCwgNTc0OTUsIDU3NTAwLCA1NzUwNSwgNTc1MTAsIAorICAgIDU3NTE1LCA1NzUyMCwgNTc1MjUsIDU3NTMwLCA1NzUzNSwgNTc1NDAsIDU3NTQ1LCA1NzU0OSwgNTc1NTMsIDU3NTU4LCAKKyAgICA1NzU2MywgNTc1NjgsIDU3NTczLCA1NzU3OCwgNTc1ODMsIDU3NTg4LCA1NzU5MywgNTc1OTgsIDU3NjAzLCA1NzYwOCwgCisgICAgNTc2MTMsIDU3NjE4LCA1NzYyMywgNTc2MjgsIDU3NjMzLCA1NzYzOCwgNTc2NDMsIDU3NjUwLCA1NzY1NywgNTc2NjQsIAorICAgIDU3NjcxLCA1NzY3OCwgNTc2ODUsIDU3NjkyLCA1NzY5OSwgNTc3MDYsIDU3NzEzLCA1NzcyMCwgNTc3MjcsIDU3NzM0LCAKKyAgICA1Nzc0MSwgNTc3NDYsIDU3NzUxLCA1Nzc1OCwgNTc3NjUsIDU3NzcyLCA1Nzc3OSwgNTc3ODYsIDU3NzkzLCA1NzgwMCwgCisgICAgNTc4MDcsIDU3ODE0LCA1NzgyMSwgNTc4MjgsIDU3ODM1LCA1Nzg0MSwgNTc4NDcsIDU3ODUzLCA1Nzg1OSwgNTc4NjYsIAorICAgIDU3ODczLCA1Nzg4MCwgNTc4ODcsIDU3ODk0LCA1NzkwMSwgNTc5MDgsIDU3OTE1LCA1NzkyMiwgNTc5MjksIDU3OTM3LCAKKyAgICA1Nzk0NSwgNTc5NTMsIDU3OTYxLCA1Nzk2OSwgNTc5NzcsIDU3OTg1LCA1Nzk5MywgNTc5OTcsIDU4MDAzLCA1ODAwOSwgCisgICAgNTgwMTMsIDU4MDE5LCA1ODAyNSwgNTgwMzEsIDU4MDM4LCA1ODA0NSwgNTgwNTIsIDU4MDU5LCA1ODA2NCwgNTgwNzAsIAorICAgIDU4MDc2LCA1ODA4MywgMCwgMCwgMCwgMCwgMCwgNTgwOTAsIDU4MDk4LCA1ODEwNywgNTgxMTYsIDU4MTI0LCA1ODEzMCwgCisgICAgNTgxMzUsIDU4MTQwLCA1ODE0NSwgNTgxNTAsIDU4MTU1LCA1ODE2MCwgNTgxNjUsIDU4MTcwLCA1ODE3NSwgNTgxODAsIAorICAgIDU4MTg1LCA1ODE5MCwgNTgxOTUsIDU4MjAwLCA1ODIwNSwgNTgyMTAsIDU4MjE1LCA1ODIyMCwgNTgyMjUsIDU4MjMwLCAKKyAgICA1ODIzNSwgNTgyNDAsIDU4MjQ1LCA1ODI1MCwgNTgyNTUsIDU4MjYwLCA1ODI2NSwgNTgyNzAsIDU4Mjc1LCA1ODI4MCwgCisgICAgNTgyODUsIDU4MjkwLCA1ODI5NSwgNTgzMDAsIDU4MzA1LCA1ODMxMCwgNTgzMTUsIDU4MzIwLCA1ODMyNSwgMCwgNTgzMzAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDU4MzM1LCAwLCAwLCA1ODM0MCwgNTgzNDQsIDU4MzQ5LCA1ODM1NCwgNTgzNTksIDU4MzY0LCAKKyAgICA1ODM3MywgNTgzNzgsIDU4MzgzLCA1ODM4OCwgNTgzOTMsIDU4Mzk4LCA1ODQwMywgNTg0MDgsIDU4NDEzLCA1ODQyMCwgCisgICAgNTg0MjUsIDU4NDMwLCA1ODQzOSwgNTg0NDYsIDU4NDUxLCA1ODQ1NiwgNTg0NjEsIDU4NDY4LCA1ODQ3MywgNTg0ODAsIAorICAgIDU4NDg1LCA1ODQ5MCwgNTg0OTcsIDU4NTA0LCA1ODUwOSwgNTg1MTQsIDU4NTE5LCA1ODUyNiwgNTg1MzMsIDU4NTM4LCAKKyAgICA1ODU0MywgNTg1NDgsIDU4NTUzLCA1ODU1OCwgNTg1NjUsIDU4NTcyLCA1ODU3NywgNTg1ODIsIDU4NTg3LCA1ODU5MiwgCisgICAgNTg1OTcsIDU4NjAyLCA1ODYwNywgNTg2MTIsIDU4NjE3LCA1ODYyMiwgNTg2MjcsIDU4NjM0LCA1ODYzOSwgNTg2NDQsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDU4NjQ5LCA1ODY1NiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgNTg2NjEsIDU4NjY2LCA1ODY3MCwgNTg2NzQsIDU4Njc4LCA1ODY4MiwgNTg2ODYsIDU4NjkwLCA1ODY5NCwgNTg2OTgsIAorICAgIDU4NzAyLCA1ODcwNiwgNTg3MTIsIDU4NzE2LCA1ODcyMCwgNTg3MjQsIDU4NzI4LCA1ODczMiwgNTg3MzYsIDU4NzQwLCAKKyAgICA1ODc0NCwgNTg3NDgsIDU4NzUyLCA1ODc1NiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTg3NjAsIDU4NzY0LCAKKyAgICA1ODc2OCwgNTg3NzIsIDU4Nzc2LCA1ODc4MCwgNTg3ODQsIDAsIDU4Nzg4LCA1ODc5MiwgNTg3OTYsIDU4ODAwLCA1ODgwNCwgCisgICAgNTg4MDgsIDU4ODEyLCAwLCA1ODgxNiwgNTg4MjAsIDU4ODI0LCA1ODgyOCwgNTg4MzIsIDU4ODM2LCA1ODg0MCwgMCwgCisgICAgNTg4NDQsIDU4ODQ4LCA1ODg1MiwgNTg4NTYsIDU4ODYwLCA1ODg2NCwgNTg4NjgsIDAsIDU4ODcyLCA1ODg3NiwgNTg4ODAsIAorICAgIDU4ODg0LCA1ODg4OCwgNTg4OTIsIDU4ODk2LCAwLCA1ODkwMCwgNTg5MDQsIDU4OTA4LCA1ODkxMiwgNTg5MTYsIDU4OTIwLCAKKyAgICA1ODkyNCwgMCwgNTg5MjgsIDU4OTMyLCA1ODkzNiwgNTg5NDAsIDU4OTQ0LCA1ODk0OCwgNTg5NTIsIDAsIDU4OTU2LCAKKyAgICA1ODk2MCwgNTg5NjQsIDU4OTY4LCA1ODk3MiwgNTg5NzYsIDU4OTgwLCAwLCA1ODk4NCwgNTg5ODksIDU4OTk0LCA1ODk5OSwgCisgICAgNTkwMDQsIDU5MDA5LCA1OTAxNCwgNTkwMTgsIDU5MDIzLCA1OTAyOCwgNTkwMzMsIDU5MDM3LCA1OTA0MiwgNTkwNDcsIAorICAgIDU5MDUyLCA1OTA1NywgNTkwNjEsIDU5MDY2LCA1OTA3MSwgNTkwNzYsIDU5MDgxLCA1OTA4NiwgNTkwOTEsIDU5MDk1LCAKKyAgICA1OTEwMCwgNTkxMDUsIDU5MTEyLCA1OTExNywgNTkxMjIsIDU5MTI4LCA1OTEzNSwgNTkxNDIsIDU5MTUxLCA1OTE1OCwgCisgICAgNTkxNjcsIDU5MTcxLCA1OTE3NSwgNTkxODEsIDU5MTg3LCA1OTE5MywgNTkyMDEsIDU5MjA3LCA1OTIxMSwgNTkyMTUsIAorICAgIDU5MjE5LCA1OTIyNSwgNTkyMzEsIDU5MjM1LCA1OTIzNywgNTkyNDEsIDU5MjQ3LCA1OTI0OSwgNTkyNTMsIDU5MjU2LCAKKyAgICA1OTI1OSwgNTkyNjUsIDU5MjcwLCA1OTI3NCwgNTkyNzgsIDU5MjgzLCA1OTI4OSwgNTkyOTQsIDU5Mjk5LCA1OTMwNCwgCisgICAgNTkzMDksIDU5MzE2LCA1OTMyMywgNTkzMjgsIDU5MzMzLCA1OTMzOCwgNTkzNDMsIDU5MzQ4LCA1OTM1MywgNTkzNTcsIAorICAgIDU5MzYxLCA1OTM2OCwgNTkzNzUsIDU5MzgxLCA1OTM4NSwgNTkzOTAsIDU5MzkzLCA1OTM5NywgNTk0MDUsIDU5NDA4LCAKKyAgICA1OTQxMiwgNTk0MTYsIDU5NDE5LCA1OTQyNSwgNTk0MzEsIDU5NDM0LCA1OTQ0MCwgNTk0NDQsIDU5NDQ4LCA1OTQ1NCwgCisgICAgNTk0NTksIDU5NDY0LCA1OTQ2NiwgNTk0NjksIDU5NDczLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICA1OTQ3OSwgNTk0ODMsIDU5NDg3LCA1OTQ5MiwgNTk0OTcsIDU5NTAyLCA1OTUwNiwgNTk1MTAsIDU5NTE0LCA1OTUxOSwgCisgICAgNTk1MjQsIDU5NTI4LCA1OTUzMiwgNTk1MzYsIDU5NTQwLCA1OTU0NSwgNTk1NTAsIDU5NTU1LCA1OTU2MCwgNTk1NjQsIAorICAgIDU5NTY4LCA1OTU3MywgNTk1NzgsIDU5NTgzLCA1OTU4OCwgNTk1OTIsIDAsIDU5NTk2LCA1OTYwMCwgNTk2MDQsIDU5NjA4LCAKKyAgICA1OTYxMiwgNTk2MTYsIDU5NjIwLCA1OTYyNSwgNTk2MzAsIDU5NjM0LCA1OTYzOSwgNTk2NDQsIDU5NjUzLCA1OTY1NywgCisgICAgNTk2NjEsIDU5NjY1LCA1OTY3MiwgNTk2NzYsIDU5NjgxLCA1OTY4NiwgNTk2OTAsIDU5Njk0LCA1OTcwMCwgNTk3MDUsIAorICAgIDU5NzEwLCA1OTcxNSwgNTk3MjAsIDU5NzI0LCA1OTcyOCwgNTk3MzIsIDU5NzM2LCA1OTc0MCwgNTk3NDUsIDU5NzUwLCAKKyAgICA1OTc1NCwgNTk3NTgsIDU5NzYzLCA1OTc2OCwgNTk3NzMsIDU5Nzc3LCA1OTc4MSwgNTk3ODYsIDU5NzkxLCA1OTc5NywgCisgICAgNTk4MDMsIDU5ODA3LCA1OTgxMywgNTk4MTksIDU5ODIzLCA1OTgyOSwgNTk4MzUsIDU5ODQwLCA1OTg0NSwgNTk4NDksIAorICAgIDU5ODU1LCA1OTg1OSwgNTk4NjMsIDU5ODY5LCA1OTg3NSwgNTk4ODAsIDU5ODg1LCA1OTg4OSwgNTk4OTMsIDU5OTAxLCAKKyAgICA1OTkwNywgNTk5MTMsIDU5OTE5LCA1OTkyNCwgNTk5MjksIDU5OTM0LCA1OTk0MCwgNTk5NDQsIDU5OTUwLCA1OTk1NCwgCisgICAgNTk5NTgsIDU5OTY0LCA1OTk3MCwgNTk5NzYsIDU5OTgyLCA1OTk4OCwgNTk5OTQsIDYwMDAwLCA2MDAwNiwgNjAwMTIsIAorICAgIDYwMDE4LCA2MDAyNCwgNjAwMzAsIDYwMDM0LCA2MDA0MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgNjAwNDYsIDYwMDQ5LCA2MDA1MywgNjAwNTcsIDYwMDYxLCA2MDA2NSwgNjAwNjgsIDYwMDcxLCA2MDA3NSwgNjAwNzksIAorICAgIDYwMDgzLCA2MDA4NywgNjAwOTAsIDYwMDk1LCA2MDA5OSwgNjAxMDMsIDYwMTA3LCA2MDExMywgNjAxMTcsIDYwMTIxLCAKKyAgICA2MDEyNSwgNjAxMjksIDYwMTM2LCA2MDE0MiwgNjAxNDYsIDYwMTUwLCA2MDE1NCwgNjAxNTgsIDYwMTYyLCA2MDE2NiwgCisgICAgNjAxNzAsIDYwMTc0LCA2MDE3OCwgNjAxODIsIDYwMTg2LCA2MDE5MiwgNjAxOTYsIDYwMjAwLCA2MDIwNCwgNjAyMDgsIAorICAgIDYwMjEyLCA2MDIxNiwgNjAyMjAsIDYwMjI0LCA2MDIyOCwgNjAyMzIsIDYwMjM2LCA2MDI0MCwgNjAyNDQsIDYwMjQ4LCAKKyAgICA2MDI1MiwgNjAyNTYsIDYwMjYyLCA2MDI2OCwgNjAyNzMsIDYwMjc4LCA2MDI4MiwgNjAyODYsIDYwMjkwLCA2MDI5NCwgCisgICAgNjAyOTgsIDYwMzAyLCA2MDMwNiwgNjAzMTAsIDYwMzE0LCA2MDMxOCwgNjAzMjIsIDYwMzI2LCA2MDMzMCwgNjAzMzQsIAorICAgIDYwMzM4LCA2MDM0MiwgNjAzNDYsIDYwMzUwLCA2MDM1NCwgNjAzNTgsIDYwMzYyLCA2MDM2NiwgNjAzNzAsIDYwMzc0LCAKKyAgICA2MDM4MCwgNjAzODQsIDYwMzg4LCA2MDM5MiwgNjAzOTYsIDYwNDAwLCA2MDQwNCwgNjA0MDgsIDYwNDEyLCA2MDQxNywgCisgICAgNjA0MjQsIDYwNDI4LCA2MDQzMiwgNjA0MzYsIDYwNDQwLCA2MDQ0NCwgNjA0NDgsIDYwNDUyLCA2MDQ1NiwgNjA0NjAsIAorICAgIDYwNDY0LCA2MDQ2OCwgNjA0NzIsIDYwNDc5LCA2MDQ4MywgNjA0ODksIDYwNDkzLCA2MDQ5NywgNjA1MDEsIDYwNTA1LCAKKyAgICA2MDUwOSwgNjA1MTIsIDYwNTE2LCA2MDUyMCwgNjA1MjQsIDYwNTI4LCA2MDUzMiwgNjA1MzYsIDYwNTQwLCA2MDU0NCwgCisgICAgNjA1NDgsIDYwNTUyLCA2MDU1NiwgNjA1NjAsIDYwNTY0LCA2MDU2OCwgNjA1NzIsIDYwNTc2LCA2MDU4MCwgNjA1ODQsIAorICAgIDYwNTg4LCA2MDU5MiwgNjA1OTYsIDYwNjAwLCA2MDYwNCwgNjA2MDgsIDYwNjEyLCA2MDYxNiwgNjA2MjAsIDYwNjI0LCAKKyAgICA2MDYyOCwgNjA2MzIsIDYwNjM2LCA2MDY0MCwgNjA2NDYsIDYwNjUwLCA2MDY1NCwgNjA2NTgsIDYwNjYyLCA2MDY2NiwgCisgICAgNjA2NzAsIDYwNjc0LCA2MDY3OCwgNjA2ODIsIDYwNjg2LCA2MDY5MCwgNjA2OTQsIDYwNjk4LCA2MDcwMiwgNjA3MDYsIAorICAgIDYwNzEwLCA2MDcxNCwgNjA3MTgsIDYwNzIyLCA2MDcyNiwgNjA3MzAsIDYwNzM0LCA2MDczOCwgNjA3NDIsIDYwNzQ2LCAKKyAgICA2MDc1MCwgNjA3NTQsIDYwNzYyLCA2MDc2NiwgNjA3NzAsIDYwNzc0LCA2MDc3OCwgNjA3ODIsIDYwNzg4LCA2MDc5MiwgCisgICAgNjA3OTYsIDYwODAwLCA2MDgwNCwgNjA4MDgsIDYwODEyLCA2MDgxNiwgNjA4MjAsIDYwODI0LCA2MDgyOCwgNjA4MzIsIAorICAgIDYwODM2LCA2MDg0MCwgNjA4NDYsIDYwODUwLCA2MDg1NCwgNjA4NTgsIDYwODYyLCA2MDg2NiwgNjA4NzAsIDYwODc0LCAKKyAgICA2MDg3OCwgNjA4ODIsIDYwODg2LCA2MDg5MCwgNjA4OTQsIDYwODk4LCA2MDkwMiwgNjA5MDYsIDYwOTEwLCA2MDkxNCwgCisgICAgNjA5MTgsIDYwOTIyLCA2MDkyNiwgNjA5MzAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDYwOTM0LCA2MDk0MywgNjA5NTEsIDYwOTYzLCA2MDk3NCwgCisgICAgNjA5ODIsIDYwOTkxLCA2MTAwMCwgNjEwMTAsIDYxMDIyLCA2MTAzNCwgNjEwNDYsIDAsIDAsIDAsIDAsIDYxMDUyLCAKKyAgICA2MTA1NSwgNjEwNTgsIDYxMDYzLCA2MTA2NiwgNjEwNzMsIDYxMDc3LCA2MTA4MSwgNjEwODUsIDYxMDg5LCA2MTA5MywgCisgICAgNjEwOTgsIDYxMTAzLCA2MTEwNywgNjExMTEsIDYxMTE2LCA2MTEyMSwgNjExMjYsIDYxMTMxLCA2MTEzNCwgNjExMzcsIAorICAgIDYxMTQzLCA2MTE0OSwgNjExNTQsIDYxMTU5LCA2MTE2NiwgNjExNzMsIDYxMTc3LCA2MTE4MSwgNjExODUsIDYxMTkzLCAKKyAgICA2MTE5OSwgNjEyMDYsIDYxMjExLCA2MTIxNiwgNjEyMjEsIDYxMjI2LCA2MTIzMSwgNjEyMzYsIDYxMjQxLCA2MTI0NiwgCisgICAgNjEyNTEsIDYxMjU2LCA2MTI2MSwgNjEyNjYsIDYxMjcxLCA2MTI3NiwgNjEyODIsIDYxMjg3LCA2MTI5MSwgNjEyOTcsIAorICAgIDYxMzA4LCA2MTMxOCwgNjEzMzMsIDYxMzQzLCA2MTM0NywgNjEzNTcsIDYxMzYzLCA2MTM2OSwgNjEzNzUsIDYxMzgwLCAKKyAgICA2MTM4MywgNjEzODgsIDYxMzkyLCAwLCA2MTM5OCwgNjE0MDIsIDYxNDA1LCA2MTQwOSwgNjE0MTIsIDYxNDE2LCA2MTQxOSwgCisgICAgNjE0MjMsIDYxNDI2LCA2MTQzMCwgNjE0MzMsIDYxNDM2LCA2MTQ0MCwgNjE0NDQsIDYxNDQ4LCA2MTQ1MiwgNjE0NTYsIAorICAgIDYxNDYwLCA2MTQ2NCwgNjE0NjgsIDYxNDcyLCA2MTQ3NiwgNjE0ODAsIDYxNDg0LCA2MTQ4OCwgNjE0OTIsIDYxNDk2LCAKKyAgICA2MTUwMCwgNjE1MDQsIDYxNTA4LCA2MTUxMiwgNjE1MTYsIDYxNTIwLCA2MTUyNCwgNjE1MjgsIDYxNTMzLCA2MTUzNywgCisgICAgNjE1NDEsIDYxNTQ1LCA2MTU0OSwgNjE1NTIsIDYxNTU2LCA2MTU1OSwgNjE1NjMsIDYxNTY3LCA2MTU3MSwgNjE1NzUsIAorICAgIDYxNTc4LCA2MTU4MiwgNjE1ODUsIDYxNTg5LCA2MTU5MywgNjE1OTcsIDYxNjAxLCA2MTYwNSwgNjE2MDksIDYxNjEzLCAKKyAgICA2MTYxNywgNjE2MjEsIDYxNjI1LCA2MTYyOSwgNjE2MzMsIDYxNjM2LCA2MTY0MCwgNjE2NDQsIDYxNjQ4LCA2MTY1MiwgCisgICAgNjE2NTYsIDYxNjU5LCA2MTY2NCwgNjE2NjgsIDYxNjczLCA2MTY3NywgNjE2ODEsIDYxNjg1LCA2MTY4OSwgNjE2OTMsIAorICAgIDYxNjk3LCA2MTcwMiwgNjE3MDYsIDYxNzEwLCA2MTcxNCwgNjE3MTgsIDYxNzIyLCA2MTcyNiwgNjE3MzAsIDAsIDAsIAorICAgIDYxNzM1LCA2MTc0MywgNjE3NTEsIDYxNzU4LCA2MTc2NSwgNjE3NjksIDYxNzc1LCA2MTc4MCwgNjE3ODUsIDYxNzg5LCAKKyAgICA2MTc5MiwgNjE3OTYsIDYxNzk5LCA2MTgwMywgNjE4MDYsIDYxODEwLCA2MTgxMywgNjE4MTcsIDYxODIwLCA2MTgyMywgCisgICAgNjE4MjcsIDYxODMxLCA2MTgzNSwgNjE4MzksIDYxODQzLCA2MTg0NywgNjE4NTEsIDYxODU1LCA2MTg1OSwgNjE4NjMsIAorICAgIDYxODY3LCA2MTg3MSwgNjE4NzUsIDYxODc5LCA2MTg4MywgNjE4ODcsIDYxODkxLCA2MTg5NSwgNjE4OTksIDYxOTAzLCAKKyAgICA2MTkwNywgNjE5MTEsIDYxOTE1LCA2MTkyMCwgNjE5MjQsIDYxOTI4LCA2MTkzMiwgNjE5MzYsIDYxOTM5LCA2MTk0MywgCisgICAgNjE5NDYsIDYxOTUwLCA2MTk1NCwgNjE5NTgsIDYxOTYyLCA2MTk2NSwgNjE5NjksIDYxOTcyLCA2MTk3NiwgNjE5ODAsIAorICAgIDYxOTg0LCA2MTk4OCwgNjE5OTIsIDYxOTk2LCA2MjAwMCwgNjIwMDQsIDYyMDA4LCA2MjAxMiwgNjIwMTYsIDYyMDIwLCAKKyAgICA2MjAyMywgNjIwMjcsIDYyMDMxLCA2MjAzNSwgNjIwMzksIDYyMDQzLCA2MjA0NiwgNjIwNTEsIDYyMDU1LCA2MjA2MCwgCisgICAgNjIwNjQsIDYyMDY4LCA2MjA3MiwgNjIwNzYsIDYyMDgwLCA2MjA4NCwgNjIwODksIDYyMDkzLCA2MjA5NywgNjIxMDEsIAorICAgIDYyMTA1LCA2MjEwOSwgNjIxMTMsIDYyMTE3LCA2MjEyMiwgNjIxMjYsIDYyMTMwLCA2MjEzNCwgNjIxMzgsIDYyMTQzLCAKKyAgICA2MjE1MCwgNjIxNTQsIDYyMTYwLCAwLCAwLCAwLCAwLCAwLCA2MjE2NSwgNjIxNzAsIDYyMTc1LCA2MjE4MCwgNjIxODUsIAorICAgIDYyMTkwLCA2MjE5NSwgNjIyMDAsIDYyMjA0LCA2MjIwOSwgNjIyMTQsIDYyMjE5LCA2MjIyNCwgNjIyMjksIDYyMjM0LCAKKyAgICA2MjIzOSwgNjIyNDQsIDYyMjQ5LCA2MjI1MywgNjIyNTgsIDYyMjYzLCA2MjI2NywgNjIyNzEsIDYyMjc1LCA2MjI3OSwgCisgICAgNjIyODQsIDYyMjg5LCA2MjI5NCwgNjIyOTksIDYyMzA0LCA2MjMwOSwgNjIzMTQsIDYyMzE5LCA2MjMyNCwgNjIzMjksIAorICAgIDYyMzMzLCA2MjMzNywgNjIzNDIsIDYyMzQ3LCA2MjM1MiwgNjIzNTcsIDAsIDAsIDAsIDYyMzYyLCA2MjM2NiwgNjIzNzAsIAorICAgIDYyMzc0LCA2MjM3OCwgNjIzODIsIDYyMzg2LCA2MjM5MCwgNjIzOTQsIDYyMzk4LCA2MjQwMiwgNjI0MDYsIDYyNDEwLCAKKyAgICA2MjQxNCwgNjI0MTgsIDYyNDIyLCA2MjQyNiwgNjI0MzAsIDYyNDM0LCA2MjQzOCwgNjI0NDIsIDYyNDQ2LCA2MjQ1MCwgCisgICAgNjI0NTQsIDYyNDU4LCA2MjQ2MiwgNjI0NjYsIDYyNDcwLCA2MjQ3NCwgNjI0NzgsIDYyNDgyLCA2MjQ4NSwgNjI0ODksIAorICAgIDYyNDkyLCA2MjQ5NiwgNjI1MDAsIDYyNTAzLCA2MjUwNywgNjI1MTEsIDYyNTE0LCA2MjUxOCwgNjI1MjIsIDYyNTI2LCAKKyAgICA2MjUzMCwgNjI1MzMsIDYyNTM3LCA2MjU0MSwgNjI1NDUsIDYyNTQ5LCA2MjU1MywgNjI1NTcsIDYyNTYwLCA2MjU2MywgCisgICAgNjI1NjcsIDYyNTcxLCA2MjU3NSwgNjI1NzksIDYyNTgzLCA2MjU4NywgNjI1OTEsIDYyNTk1LCA2MjU5OSwgNjI2MDMsIAorICAgIDYyNjA3LCA2MjYxMSwgNjI2MTUsIDYyNjE5LCA2MjYyMywgNjI2MjcsIDYyNjMxLCA2MjYzNSwgNjI2MzksIDYyNjQzLCAKKyAgICA2MjY0NywgNjI2NTEsIDYyNjU1LCA2MjY1OSwgNjI2NjMsIDYyNjY3LCA2MjY3MSwgNjI2NzUsIDYyNjc5LCA2MjY4MywgCisgICAgNjI2ODcsIDYyNjkxLCA2MjY5NSwgNjI2OTksIDYyNzAzLCA2MjcwNywgNjI3MTEsIDYyNzE1LCA2MjcxOSwgNjI3MjMsIAorICAgIDYyNzI3LCAwLCA2MjczMSwgNjI3MzcsIDYyNzQzLCA2Mjc0OCwgNjI3NTMsIDYyNzU4LCA2Mjc2NCwgNjI3NzAsIDYyNzc2LCAKKyAgICA2Mjc4MiwgNjI3ODgsIDYyNzk0LCA2MjgwMCwgNjI4MDYsIDYyODEyLCA2MjgxOCwgNjI4MjQsIDYyODI5LCA2MjgzNCwgCisgICAgNjI4MzksIDYyODQ0LCA2Mjg0OSwgNjI4NTQsIDYyODU5LCA2Mjg2NCwgNjI4NjksIDYyODc0LCA2Mjg3OSwgNjI4ODQsIAorICAgIDYyODg5LCA2Mjg5NCwgNjI4OTksIDYyOTA0LCA2MjkwOSwgNjI5MTQsIDYyOTE5LCA2MjkyNCwgNjI5MzAsIDYyOTM2LCAKKyAgICA2Mjk0MiwgNjI5NDgsIDYyOTUzLCA2Mjk1OCwgMCwgMCwgMCwgMCwgMCwgNjI5NjMsIDYyOTY4LCA2Mjk3MywgNjI5NzgsIAorICAgIDYyOTgzLCA2Mjk4OCwgNjI5OTMsIDYyOTk4LCA2MzAwMywgNjMwMDgsIDYzMDEzLCA2MzAxOCwgNjMwMjMsIDYzMDI4LCAKKyAgICA2MzAzMywgNjMwMzgsIDYzMDQzLCA2MzA0OCwgNjMwNTIsIDYzMDU3LCA2MzA2MiwgNjMwNjcsIDYzMDcyLCA2MzA3NywgCisgICAgNjMwODIsIDYzMDg3LCA2MzA5MiwgNjMwOTcsIDYzMTAyLCA2MzEwNywgNjMxMTIsIDYzMTE3LCA2MzEyMiwgNjMxMjcsIAorICAgIDYzMTMyLCA2MzEzNywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNjMxNDIsIDYzMTQ3LCA2MzE1MiwgCisgICAgNjMxNTcsIDYzMTYxLCA2MzE2NiwgNjMxNzAsIDYzMTc1LCA2MzE4MCwgNjMxODUsIDYzMTkwLCA2MzE5NSwgNjMyMDAsIAorICAgIDYzMjA1LCA2MzIxMCwgNjMyMTUsIDYzMjIwLCA2MzIyNCwgNjMyMjgsIDYzMjMyLCA2MzIzNiwgNjMyNDAsIDYzMjQ0LCAKKyAgICA2MzI0OCwgNjMyNTIsIDYzMjU2LCA2MzI2MCwgNjMyNjQsIDYzMjY4LCA2MzI3MiwgNjMyNzYsIDYzMjgxLCA2MzI4NiwgCisgICAgNjMyOTEsIDYzMjk2LCA2MzMwMSwgNjMzMDYsIDYzMzExLCA2MzMxNiwgNjMzMjEsIDYzMzI2LCA2MzMzMSwgNjMzMzYsIAorICAgIDYzMzQxLCA2MzM0NiwgNjMzNTEsIDYzMzU3LCAwLCA2MzM2NCwgNjMzNjcsIDYzMzcwLCA2MzM3MywgNjMzNzYsIDYzMzc5LCAKKyAgICA2MzM4MiwgNjMzODUsIDYzMzg4LCA2MzM5MSwgNjMzOTUsIDYzMzk5LCA2MzQwMywgNjM0MDcsIDYzNDExLCA2MzQxNSwgCisgICAgNjM0MTksIDYzNDIzLCA2MzQyNywgNjM0MzEsIDYzNDM1LCA2MzQzOSwgNjM0NDMsIDYzNDQ3LCA2MzQ1MSwgNjM0NTUsIAorICAgIDYzNDU5LCA2MzQ2MywgNjM0NjcsIDYzNDcxLCA2MzQ3NSwgNjM0NzksIDYzNDgzLCA2MzQ4NywgNjM0OTEsIDYzNDk1LCAKKyAgICA2MzQ5OSwgNjM1MDMsIDYzNTA3LCA2MzUxMSwgNjM1MTUsIDYzNTI0LCA2MzUzMywgNjM1NDIsIDYzNTUxLCA2MzU2MCwgCisgICAgNjM1NjksIDYzNTc4LCA2MzU4NywgNjM1OTAsIDYzNTk1LCA2MzYwMCwgNjM2MDUsIDYzNjEwLCA2MzYxNSwgNjM2MjAsIAorICAgIDYzNjI1LCA2MzYzMCwgNjM2MzUsIDYzNjM5LCA2MzY0NCwgNjM2NDksIDYzNjU0LCA2MzY1OSwgNjM2NjQsIDYzNjY4LCAKKyAgICA2MzY3MiwgNjM2NzYsIDYzNjgwLCA2MzY4NCwgNjM2ODgsIDYzNjkyLCA2MzY5NiwgNjM3MDAsIDYzNzA0LCA2MzcwOCwgCisgICAgNjM3MTIsIDYzNzE2LCA2MzcyMCwgNjM3MjUsIDYzNzMwLCA2MzczNSwgNjM3NDAsIDYzNzQ1LCA2Mzc1MCwgNjM3NTUsIAorICAgIDYzNzYwLCA2Mzc2NSwgNjM3NzAsIDYzNzc1LCA2Mzc4MCwgNjM3ODUsIDYzNzkwLCA2Mzc5NiwgNjM4MDIsIDYzODA3LCAKKyAgICA2MzgxMiwgNjM4MTUsIDYzODE4LCA2MzgyMSwgNjM4MjQsIDYzODI3LCA2MzgzMCwgNjM4MzMsIDYzODM2LCA2MzgzOSwgCisgICAgNjM4NDMsIDYzODQ3LCA2Mzg1MSwgNjM4NTUsIDYzODU5LCA2Mzg2MywgNjM4NjcsIDYzODcxLCA2Mzg3NSwgNjM4NzksIAorICAgIDYzODgzLCA2Mzg4NywgNjM4OTEsIDYzODk1LCA2Mzg5OSwgNjM5MDMsIDYzOTA3LCA2MzkxMSwgNjM5MTUsIDYzOTE5LCAKKyAgICA2MzkyMywgNjM5MjcsIDYzOTMxLCA2MzkzNSwgNjM5MzksIDYzOTQzLCA2Mzk0NywgNjM5NTEsIDYzOTU1LCA2Mzk1OSwgCisgICAgNjM5NjMsIDYzOTY3LCA2Mzk3MSwgNjM5NzUsIDYzOTc5LCA2Mzk4MywgNjM5ODcsIDYzOTkxLCA2Mzk5NSwgNjM5OTksIAorICAgIDY0MDA0LCA2NDAwOSwgNjQwMTQsIDY0MDE5LCA2NDAyMywgNjQwMjgsIDY0MDMzLCA2NDAzOCwgNjQwNDMsIDY0MDQ4LCAKKyAgICA2NDA1MywgNjQwNTgsIDY0MDYzLCA2NDA2OCwgNjQwNzIsIDY0MDc5LCA2NDA4NiwgNjQwOTMsIDY0MTAwLCA2NDEwNywgCisgICAgNjQxMTQsIDY0MTIxLCA2NDEyOCwgNjQxMzUsIDY0MTQyLCA2NDE0OSwgNjQxNTYsIDY0MTU5LCA2NDE2MiwgNjQxNjUsIAorICAgIDY0MTcwLCA2NDE3MywgNjQxNzYsIDY0MTc5LCA2NDE4MiwgNjQxODUsIDY0MTg4LCA2NDE5MiwgNjQxOTYsIDY0MjAwLCAKKyAgICA2NDIwNCwgNjQyMDgsIDY0MjEyLCA2NDIxNiwgNjQyMjAsIDY0MjI0LCA2NDIyOCwgNjQyMzIsIDY0MjM2LCA2NDI0MCwgCisgICAgNjQyNDMsIDY0MjQ2LCA2NDI1MCwgNjQyNTQsIDY0MjU4LCA2NDI2MiwgNjQyNjUsIDY0MjY5LCA2NDI3MywgNjQyNzcsIAorICAgIDY0MjgxLCA2NDI4NCwgNjQyODgsIDY0MjkyLCA2NDI5NiwgNjQzMDAsIDY0MzAzLCA2NDMwNywgNjQzMTEsIDY0MzE1LCAKKyAgICA2NDMxOSwgNjQzMjMsIDY0MzI3LCA2NDMzMSwgNjQzMzUsIDY0MzM5LCA2NDM0MywgMCwgNjQzNDcsIDY0MzUwLCA2NDM1MywgCisgICAgNjQzNTYsIDY0MzU5LCA2NDM2MiwgNjQzNjUsIDY0MzY4LCA2NDM3MSwgNjQzNzQsIDY0Mzc3LCA2NDM4MCwgNjQzODMsIAorICAgIDY0Mzg2LCA2NDM4OSwgNjQzOTIsIDY0Mzk1LCA2NDM5OCwgNjQ0MDEsIDY0NDA0LCA2NDQwNywgNjQ0MTAsIDY0NDEzLCAKKyAgICA2NDQxNiwgNjQ0MTksIDY0NDIyLCA2NDQyNSwgNjQ0MjgsIDY0NDMxLCA2NDQzNCwgNjQ0MzcsIDY0NDQwLCA2NDQ0MywgCisgICAgNjQ0NDYsIDY0NDQ5LCA2NDQ1MiwgNjQ0NTUsIDY0NDU4LCA2NDQ2MSwgNjQ0NjQsIDY0NDY3LCA2NDQ3MCwgNjQ0NzMsIAorICAgIDY0NDc2LCA2NDQ3OSwgNjQ0ODIsIDY0NDg1LCA2NDQ4OCwgNjQ0OTEsIDY0NDk0LCA2NDQ5NywgNjQ1MDAsIDY0NTAzLCAKKyAgICA2NDUwNiwgNjQ1MDksIDY0NTEyLCA2NDUxNSwgNjQ1MTgsIDY0NTIxLCA2NDUyNCwgNjQ1MjcsIDY0NTMwLCA2NDUzMywgCisgICAgNjQ1MzYsIDY0NTM5LCA2NDU0MiwgNjQ1NDUsIDY0NTQ4LCA2NDU1MSwgNjQ1NTQsIDY0NTU3LCA2NDU2MCwgNjQ1NjMsIAorICAgIDY0NTY2LCA2NDU2OSwgNjQ1NzIsIDY0NTc1LCA2NDU3OCwgNjQ1ODEsIDY0NTg0LCA2NDU4NywgNjQ1OTAsIDY0NTkzLCAKKyAgICA2NDU5NiwgNjQ1OTksIDY0NjAyLCA2NDYwNSwgNjQ2MDgsIDY0NjExLCA2NDYyMCwgNjQ2MjgsIDY0NjM2LCA2NDY0NCwgCisgICAgNjQ2NTIsIDY0NjYwLCA2NDY2OCwgNjQ2NzYsIDY0Njg0LCA2NDY5MiwgNjQ3MDEsIDY0NzEwLCA2NDcxOSwgNjQ3MjgsIAorICAgIDY0NzM3LCA2NDc0NiwgNjQ3NTUsIDY0NzY0LCA2NDc3MywgNjQ3ODIsIDY0NzkxLCA2NDgwMCwgNjQ4MDksIDY0ODE4LCAKKyAgICA2NDgyNywgNjQ4MzAsIDY0ODMzLCA2NDgzNiwgNjQ4MzgsIDY0ODQxLCA2NDg0NCwgNjQ4NDcsIDY0ODUyLCA2NDg1NywgCisgICAgNjQ4NjAsIDY0ODY3LCA2NDg3NCwgNjQ4ODEsIDY0ODg4LCA2NDg5MSwgNjQ4OTYsIDY0ODk4LCA2NDkwMiwgNjQ5MDQsIAorICAgIDY0OTA2LCA2NDkwOSwgNjQ5MTIsIDY0OTE1LCA2NDkxOCwgNjQ5MjEsIDY0OTI0LCA2NDkyNywgNjQ5MzIsIDY0OTM3LCAKKyAgICA2NDk0MCwgNjQ5NDMsIDY0OTQ2LCA2NDk0OSwgNjQ5NTIsIDY0OTU1LCA2NDk1OCwgNjQ5NjIsIDY0OTY1LCA2NDk2OCwgCisgICAgNjQ5NzEsIDY0OTc0LCA2NDk3NywgNjQ5ODIsIDY0OTg1LCA2NDk4OCwgNjQ5OTEsIDY0OTk2LCA2NTAwMSwgNjUwMDYsIAorICAgIDY1MDExLCA2NTAxNiwgNjUwMjEsIDY1MDI2LCA2NTAzMSwgNjUwMzYsIDY1MDQ0LCA2NTA0NiwgNjUwNDksIDY1MDUyLCAKKyAgICA2NTA1NSwgNjUwNTgsIDY1MDYzLCA2NTA3MSwgNjUwNzQsIDY1MDc3LCA2NTA4MSwgNjUwODQsIDY1MDg3LCA2NTA5MCwgCisgICAgNjUwOTUsIDY1MDk4LCA2NTEwMSwgNjUxMDYsIDY1MTA5LCA2NTExMiwgNjUxMTcsIDY1MTIwLCA2NTEyMywgNjUxMjgsIAorICAgIDY1MTMzLCA2NTEzOCwgNjUxNDEsIDY1MTQ0LCA2NTE0NywgNjUxNTAsIDY1MTU2LCA2NTE1OSwgNjUxNjIsIDY1MTY1LCAKKyAgICA2NTE2NywgNjUxNzAsIDY1MTczLCA2NTE3NiwgNjUxODEsIDY1MTg0LCA2NTE4NywgNjUxOTAsIDY1MTkzLCA2NTE5NiwgCisgICAgNjUyMDEsIDY1MjA0LCA2NTIwNywgNjUyMTAsIDY1MjEzLCA2NTIxNiwgNjUyMTksIDY1MjIyLCA2NTIyNSwgNjUyMjgsIAorICAgIDY1MjM0LCA2NTIzOSwgNjUyNDcsIDY1MjU1LCA2NTI2MywgNjUyNzEsIDY1Mjc5LCA2NTI4NywgNjUyOTUsIDY1MzAzLCAKKyAgICA2NTMxMSwgNjUzMjAsIDY1MzI5LCA2NTMzOCwgNjUzNDcsIDY1MzU2LCA2NTM2NSwgNjUzNzQsIDY1MzgzLCA2NTM5MiwgCisgICAgNjU0MDEsIDY1NDEwLCA2NTQxOSwgNjU0MjgsIDY1NDM3LCA2NTQ0NiwgNjU0NTUsIDY1NDY0LCA2NTQ3MywgNjU0ODIsIAorICAgIDY1NDkxLCA2NTUwMCwgNjU1MDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDEyMDcwLCAwLCAxMjA3OSwgMTIwODYsIDEyMDk0LCAxMjEwNiwgMTIxMTMsIDEyMTIwLCAxMjEyNywgMTIxMzgsIDEyMTQ5LCAKLSAgICAxMjE1NiwgMTIxNjQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEyMTcwLCAxMjE3NSwgMTIxODAsIDEyMTg1LCAxMjE5MCwgCi0gICAgMTIxOTUsIDEyMjAwLCAxMjIwNSwgMTIyMTAsIDEyMjE1LCAxMjIyMCwgMTIyMjUsIDEyMjMwLCAxMjIzNCwgMTIyMzgsIAotICAgIDEyMjQyLCAxMjI0NywgMTIyNTMsIDEyMjU5LCAxMjI2NSwgMTIyNzAsIDEyMjc1LCAxMjI4MCwgMTIyODUsIDEyMjkxLCAKLSAgICAxMjMwMCwgMTIzMDgsIDAsIDEyMzE0LCAxMjMyMCwgMTIzMjQsIDEyMzI4LCAxMjMzMiwgMTIzMzcsIDEyMzQwLCAxMjM0NCwgCi0gICAgMTIzNDcsIDEyMzUxLCAxMjM1NCwgMTIzNTgsIDEyMzYyLCAxMjM2NiwgMTIzNzEsIDEyMzc2LCAxMjM3OSwgMTIzODMsIAotICAgIDEyMzg4LCAxMjM5MywgMTIzOTYsIDEyNDAwLCAxMjQwMywgMTI0MDcsIDEyNDExLCAxMjQxNSwgMTI0MTksIDEyNDIzLCAKLSAgICAxMjQyNywgMTI0MzEsIDEyNDM1LCAxMjQzOSwgMTI0NDMsIDEyNDQ3LCAxMjQ1MSwgMTI0NTUsIDEyNDU5LCAxMjQ2MywgCi0gICAgMTI0NjcsIDEyNDcxLCAxMjQ3NSwgMTI0NzgsIDEyNDgyLCAxMjQ4NSwgMTI0ODksIDEyNDkzLCAxMjQ5NywgMTI1MDAsIAotICAgIDEyNTAzLCAxMjUwNiwgMTI1MTAsIDEyNTE0LCAxMjUxOCwgMTI1MjIsIDEyNTI2LCAxMjUzMCwgMTI1MzQsIDEyNTM3LCAKLSAgICAxMjU0MCwgMTI1NDUsIDEyNTUwLCAxMjU1NCwgMTI1NTgsIDEyNTYzLCAxMjU2NywgMTI1NzIsIDEyNTc2LCAxMjU4MSwgCi0gICAgMTI1ODYsIDEyNTkyLCAxMjU5OCwgMTI2MDQsIDEyNjA4LCAxMjYxMywgMTI2MTksIDEyNjI1LCAxMjYyOSwgMTI2MzQsIAotICAgIDEyNjM4LCAxMjY0NCwgMTI2NDksIDEyNjUyLCAxMjY1OCwgMTI2NjQsIDEyNjY5LCAxMjY3NCwgMTI2ODEsIDEyNjg2LCAKLSAgICAxMjY5MSwgMTI2OTUsIDEyNjk5LCAxMjcwMywgMTI3MDcsIDEyNzExLCAxMjcxNSwgMTI3MTksIDEyNzIzLCAxMjcyOCwgCi0gICAgMTI3MzMsIDEyNzM4LCAxMjc0NCwgMTI3NDcsIDEyNzUxLCAxMjc1NSwgMTI3NTgsIDEyNzYxLCAxMjc2NCwgMTI3NjcsIAotICAgIDEyNzcwLCAxMjc3MywgMTI3NzYsIDEyNzc5LCAxMjc4MiwgMTI3ODYsIDEyNzkzLCAxMjc5OCwgMTI4MDIsIDEyODA2LCAKLSAgICAxMjgxMCwgMTI4MTQsIDAsIDEyODE4LCAxMjgyMiwgMTI4MjYsIDEyODMwLCAxMjgzNCwgMTI4NDAsIDEyODQ0LCAwLCAKLSAgICAxMjg0OCwgMTI4NTIsIDEyODU2LCAwLCAxMjg2MCwgMTI4NjMsIDEyODY3LCAxMjg3MCwgMTI4NzQsIDEyODc3LCAxMjg4MSwgCi0gICAgMTI4ODUsIDAsIDAsIDEyODg5LCAxMjg5MiwgMCwgMCwgMTI4OTYsIDEyODk5LCAxMjkwMywgMTI5MDYsIDEyOTEwLCAKLSAgICAxMjkxNCwgMTI5MTgsIDEyOTIyLCAxMjkyNiwgMTI5MzAsIDEyOTM0LCAxMjkzOCwgMTI5NDIsIDEyOTQ2LCAxMjk1MCwgCi0gICAgMTI5NTQsIDEyOTU4LCAxMjk2MiwgMTI5NjYsIDEyOTcwLCAxMjk3NCwgMTI5NzgsIDAsIDEyOTgxLCAxMjk4NCwgMTI5ODgsIAotICAgIDEyOTkyLCAxMjk5NiwgMTI5OTksIDEzMDAyLCAwLCAxMzAwNSwgMCwgMCwgMCwgMTMwMDksIDEzMDEzLCAxMzAxNywgCi0gICAgMTMwMjAsIDAsIDAsIDEzMDIzLCAxMzAyNywgMTMwMzEsIDEzMDM2LCAxMzA0MCwgMTMwNDUsIDEzMDQ5LCAxMzA1NCwgCi0gICAgMTMwNTksIDAsIDAsIDEzMDY1LCAxMzA2OSwgMCwgMCwgMTMwNzQsIDEzMDc4LCAxMzA4MywgMTMwODcsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDEzMDkzLCAwLCAwLCAwLCAwLCAxMzA5OSwgMTMxMDMsIDAsIDEzMTA3LCAxMzExMSwgMTMxMTYsIAotICAgIDEzMTIxLCAxMzEyNiwgMCwgMCwgMTMxMzIsIDEzMTM2LCAxMzEzOSwgMTMxNDIsIDEzMTQ1LCAxMzE0OCwgMTMxNTEsIAotICAgIDEzMTU0LCAxMzE1NywgMTMxNjAsIDEzMTYzLCAxMzE3MiwgMTMxODEsIDEzMTg1LCAxMzE4OSwgMTMxOTUsIDEzMjAxLCAKLSAgICAxMzIwNywgMTMyMTMsIDEzMjI3LCAxMzIzNCwgMTMyMzcsIDAsIDAsIDAsIDAsIDAsIDEzMjQxLCAxMzI0NywgMTMyNTEsIDAsIAotICAgIDEzMjU1LCAxMzI1OCwgMTMyNjIsIDEzMjY1LCAxMzI2OSwgMTMyNzIsIDAsIDAsIDAsIDAsIDEzMjc2LCAxMzI4MCwgMCwgMCwgCi0gICAgMTMyODQsIDEzMjg4LCAxMzI5MiwgMTMyOTUsIDEzMjk5LCAxMzMwMywgMTMzMDcsIDEzMzExLCAxMzMxNSwgMTMzMTksIAotICAgIDEzMzIzLCAxMzMyNywgMTMzMzEsIDEzMzM1LCAxMzMzOSwgMTMzNDMsIDEzMzQ3LCAxMzM1MSwgMTMzNTUsIDEzMzU5LCAKLSAgICAxMzM2MywgMTMzNjcsIDAsIDEzMzcwLCAxMzM3MywgMTMzNzcsIDEzMzgxLCAxMzM4NSwgMTMzODgsIDEzMzkxLCAwLCAKLSAgICAxMzM5NCwgMTMzOTgsIDAsIDEzNDAyLCAxMzQwNiwgMCwgMTM0MTAsIDEzNDEzLCAwLCAwLCAxMzQxNiwgMCwgMTM0MjAsIAotICAgIDEzNDI1LCAxMzQyOSwgMTM0MzQsIDEzNDM4LCAwLCAwLCAwLCAwLCAxMzQ0MywgMTM0NDgsIDAsIDAsIDEzNDUzLCAxMzQ1OCwgCi0gICAgMTM0NjMsIDAsIDAsIDAsIDEzNDY3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMzQ3MSwgMTM0NzUsIDEzNDc5LCAxMzQ4MywgCi0gICAgMCwgMTM0ODcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEzNDkxLCAxMzQ5NSwgMTM0OTgsIDEzNTAxLCAxMzUwNCwgMTM1MDcsIAotICAgIDEzNTEwLCAxMzUxMywgMTM1MTYsIDEzNTE5LCAxMzUyMiwgMTM1MjUsIDEzNTI4LCAxMzUzMSwgMTM1MzQsIDEzNTM5LCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMzU0MywgMTM1NDcsIDEzNTUxLCAwLCAxMzU1NSwgMTM1NTgsIAotICAgIDEzNTYyLCAxMzU2NSwgMTM1NjksIDEzNTcyLCAxMzU3NiwgMTM1ODAsIDEzNTg0LCAwLCAxMzU4OSwgMTM1OTIsIDEzNTk2LCAKLSAgICAwLCAxMzYwMSwgMTM2MDQsIDEzNjA4LCAxMzYxMSwgMTM2MTUsIDEzNjE5LCAxMzYyMywgMTM2MjcsIDEzNjMxLCAxMzYzNSwgCi0gICAgMTM2MzksIDEzNjQzLCAxMzY0NywgMTM2NTEsIDEzNjU1LCAxMzY1OSwgMTM2NjMsIDEzNjY3LCAxMzY3MSwgMTM2NzUsIAotICAgIDEzNjc5LCAxMzY4MywgMCwgMTM2ODYsIDEzNjg5LCAxMzY5MywgMTM2OTcsIDEzNzAxLCAxMzcwNCwgMTM3MDcsIDAsIAotICAgIDEzNzEwLCAxMzcxNCwgMCwgMTM3MTgsIDEzNzIyLCAxMzcyNiwgMTM3MzAsIDEzNzMzLCAwLCAwLCAxMzczNiwgMTM3NDAsIAotICAgIDEzNzQ0LCAxMzc0OSwgMTM3NTMsIDEzNzU4LCAxMzc2MiwgMTM3NjcsIDEzNzcyLCAxMzc3OCwgMCwgMTM3ODQsIDEzNzg4LCAKLSAgICAxMzc5MywgMCwgMTM3OTksIDEzODAzLCAxMzgwOCwgMCwgMCwgMTM4MTIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDEzODE1LCAxMzgyMCwgMTM4MjUsIDEzODMwLCAwLCAwLCAxMzgzNiwgMTM4NDAsIDEzODQzLCAKLSAgICAxMzg0NiwgMTM4NDksIDEzODUyLCAxMzg1NSwgMTM4NTgsIDEzODYxLCAxMzg2NCwgMTM4NjcsIDEzODcxLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMzg3NSwgMTM4NzksIDEzODgzLCAwLCAxMzg4NywgMTM4OTAsIAotICAgIDEzODk0LCAxMzg5NywgMTM5MDEsIDEzOTA0LCAxMzkwOCwgMTM5MTIsIDAsIDAsIDEzOTE2LCAxMzkxOSwgMCwgMCwgCi0gICAgMTM5MjMsIDEzOTI2LCAxMzkzMCwgMTM5MzMsIDEzOTM3LCAxMzk0MSwgMTM5NDUsIDEzOTQ5LCAxMzk1MywgMTM5NTcsIAotICAgIDEzOTYxLCAxMzk2NSwgMTM5NjksIDEzOTczLCAxMzk3NywgMTM5ODEsIDEzOTg1LCAxMzk4OSwgMTM5OTMsIDEzOTk3LCAKLSAgICAxNDAwMSwgMTQwMDUsIDAsIDE0MDA4LCAxNDAxMSwgMTQwMTUsIDE0MDE5LCAxNDAyMywgMTQwMjYsIDE0MDI5LCAwLCAKLSAgICAxNDAzMiwgMTQwMzYsIDAsIDE0MDQwLCAxNDA0NCwgMTQwNDgsIDE0MDUyLCAxNDA1NSwgMCwgMCwgMTQwNTgsIDE0MDYyLCAKLSAgICAxNDA2NiwgMTQwNzEsIDE0MDc1LCAxNDA4MCwgMTQwODQsIDE0MDg5LCAxNDA5NCwgMCwgMCwgMTQxMDAsIDE0MTA0LCAwLCAKLSAgICAwLCAxNDEwOSwgMTQxMTMsIDE0MTE4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNDEyMiwgMTQxMjgsIDAsIDAsIDAsIDAsIAotICAgIDE0MTM0LCAxNDEzOCwgMCwgMTQxNDIsIDE0MTQ2LCAxNDE1MSwgMTQxNTYsIDE0MTYxLCAwLCAwLCAxNDE2NywgMTQxNzEsIAotICAgIDE0MTc0LCAxNDE3NywgMTQxODAsIDE0MTgzLCAxNDE4NiwgMTQxODksIDE0MTkyLCAxNDE5NSwgMTQxOTgsIDE0MjAxLCAKLSAgICAxNDIwNSwgMTQyMTEsIDE0MjE3LCAxNDIyMywgMTQyMjksIDE0MjM1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAxNDI0MSwgMTQyNDUsIDAsIDE0MjQ5LCAxNDI1MiwgMTQyNTYsIDE0MjU5LCAxNDI2MywgMTQyNjYsIDAsIDAsIDAsIAotICAgIDE0MjcwLCAxNDI3MywgMTQyNzcsIDAsIDE0MjgxLCAxNDI4NCwgMTQyODgsIDE0MjkyLCAwLCAwLCAwLCAxNDI5NSwgCi0gICAgMTQyOTksIDAsIDE0MzAzLCAwLCAxNDMwNywgMTQzMTEsIDAsIDAsIDAsIDE0MzE1LCAxNDMxOSwgMCwgMCwgMCwgMTQzMjMsIAotICAgIDE0MzI2LCAxNDMzMCwgMCwgMCwgMCwgMTQzMzMsIDE0MzM2LCAxNDMzOSwgMTQzNDIsIDE0MzQ2LCAxNDM1MCwgMTQzNTQsIAotICAgIDE0MzU4LCAxNDM2MiwgMTQzNjYsIDE0MzcwLCAxNDM3MywgMCwgMCwgMCwgMCwgMTQzNzYsIDE0MzgxLCAxNDM4NSwgCi0gICAgMTQzOTAsIDE0Mzk0LCAwLCAwLCAwLCAxNDM5OSwgMTQ0MDMsIDE0NDA4LCAwLCAxNDQxMywgMTQ0MTcsIDE0NDIyLCAKLSAgICAxNDQyNywgMCwgMCwgMTQ0MzEsIDAsIDAsIDAsIDAsIDAsIDAsIDE0NDM0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAxNDQ0MCwgMTQ0NDQsIDE0NDQ3LCAxNDQ1MCwgMTQ0NTMsIDE0NDU2LCAxNDQ1OSwgMTQ0NjIsIAotICAgIDE0NDY1LCAxNDQ2OCwgMTQ0NzEsIDE0NDc1LCAxNDQ4MCwgMTQ0ODUsIDE0NDg5LCAxNDQ5MywgMTQ0OTcsIDE0NTAxLCAKLSAgICAxNDUwNSwgMTQ1MTAsIDE0NTE0LCAwLCAwLCAwLCAwLCAwLCAwLCAxNDUxNywgMTQ1MjEsIDE0NTI1LCAwLCAxNDUyOSwgCi0gICAgMTQ1MzIsIDE0NTM2LCAxNDUzOSwgMTQ1NDMsIDE0NTQ2LCAxNDU1MCwgMTQ1NTQsIDAsIDE0NTU4LCAxNDU2MSwgMTQ1NjUsIAotICAgIDAsIDE0NTY5LCAxNDU3MiwgMTQ1NzYsIDE0NTgwLCAxNDU4MywgMTQ1ODcsIDE0NTkxLCAxNDU5NSwgMTQ1OTksIDE0NjAzLCAKLSAgICAxNDYwNywgMTQ2MTEsIDE0NjE1LCAxNDYxOSwgMTQ2MjMsIDE0NjI3LCAxNDYzMSwgMTQ2MzUsIDE0NjM5LCAxNDY0MywgCi0gICAgMTQ2NDcsIDE0NjUxLCAxNDY1NSwgMCwgMTQ2NTgsIDE0NjYxLCAxNDY2NSwgMTQ2NjksIDE0NjczLCAxNDY3NiwgMTQ2NzksIAotICAgIDE0NjgyLCAxNDY4NiwgMTQ2OTAsIDAsIDE0Njk0LCAxNDY5OCwgMTQ3MDIsIDE0NzA2LCAxNDcwOSwgMCwgMCwgMCwgCi0gICAgMTQ3MTIsIDE0NzE2LCAxNDcyMSwgMTQ3MjUsIDE0NzMwLCAxNDczNCwgMTQ3MzksIDE0NzQ0LCAwLCAxNDc1MCwgMTQ3NTQsIAotICAgIDE0NzU5LCAwLCAxNDc2NCwgMTQ3NjgsIDE0NzczLCAxNDc3OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTQ3ODIsIDE0Nzg2LCAKLSAgICAwLCAxNDc5MiwgMTQ3OTYsIDAsIDAsIDAsIDAsIDAsIDAsIDE0ODAwLCAxNDgwNSwgMTQ4MTAsIDE0ODE1LCAwLCAwLCAKLSAgICAxNDgyMSwgMTQ4MjUsIDE0ODI4LCAxNDgzMSwgMTQ4MzQsIDE0ODM3LCAxNDg0MCwgMTQ4NDMsIDE0ODQ2LCAxNDg0OSwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTQ4NTIsIDE0ODY1LCAxNDg3NywgMTQ4ODksIDE0OTAxLCAxNDkxMywgMTQ5MjUsIAotICAgIDE0OTM3LCAwLCAwLCAxNDk0MSwgMTQ5NDUsIDAsIDE0OTQ5LCAxNDk1MiwgMTQ5NTYsIDE0OTU5LCAxNDk2MywgMTQ5NjYsIAotICAgIDE0OTcwLCAxNDk3NCwgMCwgMTQ5NzgsIDE0OTgxLCAxNDk4NSwgMCwgMTQ5ODksIDE0OTkyLCAxNDk5NiwgMTUwMDAsIAotICAgIDE1MDAzLCAxNTAwNywgMTUwMTEsIDE1MDE1LCAxNTAxOSwgMTUwMjMsIDE1MDI3LCAxNTAzMSwgMTUwMzUsIDE1MDM5LCAKLSAgICAxNTA0MywgMTUwNDcsIDE1MDUxLCAxNTA1NSwgMTUwNTksIDE1MDYzLCAxNTA2NywgMTUwNzEsIDE1MDc1LCAwLCAxNTA3OCwgCi0gICAgMTUwODEsIDE1MDg1LCAxNTA4OSwgMTUwOTMsIDE1MDk2LCAxNTA5OSwgMTUxMDIsIDE1MTA2LCAxNTExMCwgMCwgMTUxMTQsIAotICAgIDE1MTE4LCAxNTEyMiwgMTUxMjYsIDE1MTI5LCAwLCAwLCAxNTEzMiwgMTUxMzYsIDE1MTQwLCAxNTE0NSwgMTUxNDksIAotICAgIDE1MTU0LCAxNTE1OCwgMTUxNjMsIDE1MTY4LCAwLCAxNTE3NCwgMTUxNzgsIDE1MTgzLCAwLCAxNTE4OCwgMTUxOTIsIAotICAgIDE1MTk3LCAxNTIwMiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTUyMDYsIDE1MjEwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAxNTIxNiwgMCwgMTUyMjAsIDE1MjI1LCAxNTIzMCwgMTUyMzUsIDAsIDAsIDE1MjQxLCAxNTI0NSwgMTUyNDgsIDE1MjUxLCAKLSAgICAxNTI1NCwgMTUyNTcsIDE1MjYwLCAxNTI2MywgMTUyNjYsIDE1MjY5LCAwLCAxNTI3MiwgMTUyNzYsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE1MjgwLCAxNTI4NCwgMCwgMTUyODgsIDE1MjkxLCAxNTI5NSwgCi0gICAgMTUyOTgsIDE1MzAyLCAxNTMwNSwgMTUzMDksIDE1MzEzLCAwLCAxNTMxNywgMTUzMjAsIDE1MzI0LCAwLCAxNTMyOCwgCi0gICAgMTUzMzEsIDE1MzM1LCAxNTMzOSwgMTUzNDIsIDE1MzQ2LCAxNTM1MCwgMTUzNTQsIDE1MzU4LCAxNTM2MiwgMTUzNjYsIAotICAgIDE1MzcwLCAxNTM3NCwgMTUzNzgsIDE1MzgyLCAxNTM4NiwgMTUzOTAsIDE1Mzk0LCAxNTM5OCwgMTU0MDIsIDE1NDA2LCAKLSAgICAxNTQxMCwgMTU0MTQsIDE1NDE3LCAxNTQyMSwgMTU0MjQsIDE1NDI4LCAxNTQzMiwgMTU0MzYsIDE1NDM5LCAxNTQ0MiwgCi0gICAgMTU0NDUsIDE1NDQ5LCAxNTQ1MywgMTU0NTcsIDE1NDYxLCAxNTQ2NSwgMTU0NjksIDE1NDczLCAxNTQ3NiwgMTU0NzksIDAsIAotICAgIDAsIDE1NDgzLCAxNTQ4NywgMTU0OTIsIDE1NDk2LCAxNTUwMSwgMTU1MDUsIDE1NTEwLCAxNTUxNSwgMCwgMTU1MjEsIAotICAgIDE1NTI1LCAxNTUzMCwgMCwgMTU1MzUsIDE1NTM5LCAxNTU0NCwgMTU1NDksIDE1NTUzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAxNTU1OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTU1NjQsIDE1NTY5LCAxNTU3NCwgMTU1NzksIDAsIDAsIAotICAgIDE1NTg1LCAxNTU4OSwgMTU1OTIsIDE1NTk1LCAxNTU5OCwgMTU2MDEsIDE1NjA0LCAxNTYwNywgMTU2MTAsIDE1NjEzLCAKLSAgICAxNTYxNiwgMTU2MjAsIDE1NjI1LCAxNTYzMCwgMTU2MzYsIDE1NjQyLCAwLCAwLCAwLCAxNTY0OCwgMTU2NTIsIDE1NjU4LCAKLSAgICAxNTY2NCwgMTU2NzAsIDE1Njc1LCAxNTY4MSwgMCwgMCwgMTU2ODcsIDE1NjkxLCAwLCAxNTY5NSwgMTU2OTksIDE1NzAzLCAKLSAgICAxNTcwNywgMTU3MTEsIDE1NzE1LCAxNTcxOSwgMTU3MjMsIDE1NzI3LCAxNTczMSwgMTU3MzUsIDE1NzM5LCAxNTc0MywgCi0gICAgMTU3NDcsIDE1NzUxLCAxNTc1NSwgMTU3NTksIDE1NzYzLCAwLCAwLCAwLCAxNTc2NywgMTU3NzMsIDE1Nzc5LCAxNTc4NSwgCi0gICAgMTU3OTEsIDE1Nzk3LCAxNTgwMywgMTU4MDksIDE1ODE1LCAxNTgyMSwgMTU4MjcsIDE1ODMzLCAxNTg0MSwgMTU4NDcsIAotICAgIDE1ODUzLCAxNTg1OSwgMTU4NjUsIDE1ODcxLCAxNTg3NywgMTU4ODMsIDE1ODg5LCAxNTg5NSwgMTU5MDEsIDE1OTA3LCAwLCAKLSAgICAxNTkxMywgMTU5MTksIDE1OTI1LCAxNTkzMSwgMTU5MzcsIDE1OTQzLCAxNTk0NywgMTU5NTMsIDE1OTU3LCAwLCAxNTk2MSwgCi0gICAgMCwgMCwgMTU5NjcsIDE1OTcxLCAxNTk3NywgMTU5ODMsIDE1OTg5LCAxNTk5MywgMTU5OTksIDAsIDAsIDAsIDE2MDAzLCAwLCAKLSAgICAwLCAwLCAwLCAxNjAwNywgMTYwMTIsIDE2MDE5LCAxNjAyNiwgMTYwMzMsIDE2MDQwLCAwLCAxNjA0NywgMCwgMTYwNTQsIAotICAgIDE2MDU5LCAxNjA2NCwgMTYwNzEsIDE2MDc4LCAxNjA4NywgMTYwOTgsIDE2MTA3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNjExMiwgMTYxMTksIDE2MTI2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAxNjEzMSwgMTYxMzcsIDE2MTQzLCAxNjE0OSwgMTYxNTUsIDE2MTYxLCAxNjE2NywgMTYxNzMsIAotICAgIDE2MTc5LCAxNjE4NSwgMTYxOTEsIDE2MTk3LCAxNjIwMywgMTYyMDksIDE2MjE1LCAxNjIyMSwgMTYyMjcsIDE2MjMzLCAKLSAgICAxNjIzOSwgMTYyNDUsIDE2MjUxLCAxNjI1NywgMTYyNjMsIDE2MjY5LCAxNjI3NSwgMTYyODEsIDE2Mjg3LCAxNjI5MywgCi0gICAgMTYyOTksIDE2MzA1LCAxNjMxMSwgMTYzMTcsIDE2MzIzLCAxNjMyOCwgMTYzMzQsIDE2MzQwLCAxNjM0NCwgMTYzNTAsIAotICAgIDE2MzU0LCAxNjM2MCwgMTYzNjYsIDE2MzcyLCAxNjM3OCwgMTYzODQsIDE2MzkwLCAxNjM5NSwgMTY0MDEsIDE2NDA1LCAKLSAgICAxNjQxMCwgMTY0MTYsIDE2NDIyLCAxNjQyOCwgMTY0MzMsIDE2NDM5LCAxNjQ0NSwgMTY0NTEsIDE2NDU2LCAxNjQ2MiwgMCwgCi0gICAgMCwgMCwgMCwgMTY0NjYsIDE2NDcyLCAxNjQ3NywgMTY0ODMsIDE2NDg4LCAxNjQ5NiwgMTY1MDQsIDE2NTA4LCAxNjUxMiwgCi0gICAgMTY1MTYsIDE2NTIyLCAxNjUyOCwgMTY1MzQsIDE2NTQwLCAxNjU0NCwgMTY1NDgsIDE2NTUyLCAxNjU1NiwgMTY1NjAsIAotICAgIDE2NTYzLCAxNjU2NiwgMTY1NjksIDE2NTcyLCAxNjU3NSwgMTY1NzgsIDE2NTgxLCAxNjU4NCwgMTY1ODcsIDE2NTkxLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNjU5NSwgMTY2MDAsIDAsIDE2NjA3LCAwLCAwLCAxNjYxNCwgCi0gICAgMTY2MTksIDAsIDE2NjI0LCAwLCAwLCAxNjYzMSwgMCwgMCwgMCwgMCwgMCwgMCwgMTY2MzYsIDE2NjQxLCAxNjY0NSwgCi0gICAgMTY2NTIsIDAsIDE2NjU5LCAxNjY2NCwgMTY2NjksIDE2Njc0LCAxNjY4MSwgMTY2ODgsIDE2Njk1LCAwLCAxNjcwMiwgCi0gICAgMTY3MDcsIDE2NzEyLCAwLCAxNjcxOSwgMCwgMTY3MjYsIDAsIDAsIDE2NzMxLCAxNjczOCwgMCwgMTY3NDUsIDE2NzQ5LCAKLSAgICAxNjc1NiwgMTY3NjAsIDE2NzY1LCAxNjc3MywgMTY3NzksIDE2Nzg1LCAxNjc5MCwgMTY3OTYsIDE2ODAyLCAxNjgwOCwgCi0gICAgMTY4MTMsIDAsIDE2ODE5LCAxNjgyNywgMTY4MzQsIDAsIDAsIDE2ODQxLCAxNjg0NiwgMTY4NTIsIDE2ODU3LCAxNjg2MywgCi0gICAgMCwgMTY4NjksIDAsIDE2ODc1LCAxNjg4MiwgMTY4ODksIDE2ODk2LCAxNjkwMywgMTY5MDgsIDAsIDAsIDE2OTEyLCAKLSAgICAxNjkxNywgMTY5MjEsIDE2OTI1LCAxNjkyOSwgMTY5MzMsIDE2OTM3LCAxNjk0MSwgMTY5NDUsIDE2OTQ5LCAwLCAwLCAKLSAgICAxNjk1MywgMTY5NTksIDE2OTY1LCAxNjk3MiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTY5NzksIDE2OTgzLCAxNjk5NCwgCi0gICAgMTcwMDksIDE3MDI0LCAxNzAzNCwgMTcwNDUsIDE3MDU4LCAxNzA2OSwgMTcwNzUsIDE3MDgzLCAxNzA5MywgMTcwOTksIAotICAgIDE3MTA3LCAxNzExMSwgMTcxMTcsIDE3MTIzLCAxNzEzMSwgMTcxNDEsIDE3MTQ5LCAxNzE2MiwgMTcxNjgsIDE3MTc2LCAKLSAgICAxNzE4NCwgMTcxOTYsIDE3MjAzLCAxNzIxMSwgMTcyMTksIDE3MjI3LCAxNzIzNSwgMTcyNDMsIDE3MjUxLCAxNzI2MSwgCi0gICAgMTcyNjUsIDE3MjY4LCAxNzI3MSwgMTcyNzQsIDE3Mjc3LCAxNzI4MCwgMTcyODMsIDE3Mjg2LCAxNzI4OSwgMTcyOTIsIAotICAgIDE3Mjk2LCAxNzMwMCwgMTczMDQsIDE3MzA4LCAxNzMxMiwgMTczMTYsIDE3MzIwLCAxNzMyNCwgMTczMjgsIDE3MzMzLCAKLSAgICAxNzMzOSwgMTczNDksIDE3MzYzLCAxNzM3MywgMTczNzksIDE3Mzg1LCAxNzM5MywgMTc0MDEsIDE3NDA5LCAxNzQxNywgCi0gICAgMTc0MjMsIDE3NDI5LCAxNzQzMiwgMTc0MzYsIDE3NDQwLCAxNzQ0NCwgMTc0NDgsIDE3NDUyLCAxNzQ1NiwgMCwgMTc0NjAsIAotICAgIDE3NDY0LCAxNzQ2OCwgMTc0NzIsIDE3NDc2LCAxNzQ4MCwgMTc0ODQsIDE3NDg4LCAxNzQ5MiwgMTc0OTYsIDE3NTAwLCAKLSAgICAxNzUwMywgMTc1MDYsIDE3NTEwLCAxNzUxNCwgMTc1MTgsIDE3NTIxLCAxNzUyNSwgMTc1MjksIDE3NTMzLCAxNzUzNywgCi0gICAgMTc1NDEsIDE3NTQ1LCAxNzU0OSwgMTc1NTMsIDE3NTU2LCAxNzU1OSwgMTc1NjMsIDE3NTY3LCAxNzU3MSwgMTc1NzQsIAotICAgIDE3NTc3LCAxNzU4MCwgMTc1ODQsIDE3NTg5LCAxNzU5MywgMCwgMCwgMCwgMCwgMTc1OTcsIDE3NjAyLCAxNzYwNiwgCi0gICAgMTc2MTEsIDE3NjE1LCAxNzYyMCwgMTc2MjUsIDE3NjMxLCAxNzYzNiwgMTc2NDIsIDE3NjQ2LCAxNzY1MSwgMTc2NTUsIAotICAgIDE3NjYwLCAxNzY3MCwgMTc2NzYsIDE3NjgyLCAxNzY4OSwgMTc2OTksIDE3NzA1LCAxNzcwOSwgMTc3MTMsIDE3NzE5LCAKLSAgICAxNzcyNSwgMTc3MzMsIDE3NzM5LCAxNzc0NywgMTc3NTUsIDE3NzYzLCAxNzc3MywgMTc3ODEsIDE3NzkxLCAxNzc5NiwgCi0gICAgMTc4MDIsIDE3ODA4LCAxNzgxNCwgMTc4MjAsIDE3ODI2LCAxNzgzMiwgMCwgMTc4MzgsIDE3ODQ0LCAxNzg1MCwgMTc4NTYsIAotICAgIDE3ODYyLCAxNzg2OCwgMTc4NzQsIDE3ODgwLCAxNzg4NiwgMTc4OTIsIDE3ODk4LCAxNzkwMywgMTc5MDgsIDE3OTE0LCAKLSAgICAxNzkyMCwgMTc5MjYsIDE3OTMxLCAxNzkzNywgMTc5NDMsIDE3OTQ5LCAxNzk1NSwgMTc5NjEsIDE3OTY3LCAxNzk3MywgCi0gICAgMTc5NzksIDE3OTg0LCAxNzk4OSwgMTc5OTUsIDE4MDAxLCAxODAwNywgMTgwMTIsIDE4MDE3LCAxODAyMiwgMTgwMjgsIAotICAgIDE4MDM2LCAxODA0MywgMCwgMTgwNTAsIDE4MDU3LCAxODA3MCwgMTgwNzcsIDE4MDg0LCAxODA5MiwgMTgxMDAsIDE4MTA2LCAKLSAgICAxODExMiwgMTgxMTgsIDE4MTI4LCAxODEzMywgMTgxMzksIDE4MTQ5LCAxODE1OSwgMCwgMTgxNjksIDE4MTc5LCAxODE4NywgCi0gICAgMTgxOTksIDE4MjExLCAxODIxNywgMTgyMzEsIDE4MjQ2LCAxODI1MSwgMTgyNTYsIDE4MjY0LCAxODI3MiwgMTgyODAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE4Mjg4LCAxODI5MSwgMTgyOTUsIDE4Mjk5LCAxODMwMywgCi0gICAgMTgzMDcsIDE4MzExLCAxODMxNSwgMTgzMTksIDE4MzIzLCAxODMyNywgMTgzMzEsIDE4MzM1LCAxODMzOSwgMTgzNDMsIAotICAgIDE4MzQ3LCAxODM1MSwgMTgzNTUsIDE4MzU5LCAxODM2MywgMTgzNjcsIDE4MzcwLCAxODM3MywgMTgzNzcsIDE4MzgxLCAKLSAgICAxODM4NSwgMTgzODgsIDE4MzkxLCAxODM5NCwgMTgzOTgsIDE4NDAyLCAxODQwNSwgMTg0MDgsIDE4NDEyLCAxODQxNSwgCi0gICAgMTg0MjAsIDE4NDIzLCAxODQyNywgMTg0MzAsIDE4NDM0LCAxODQzNywgMTg0NDIsIDE4NDQ1LCAxODQ0OSwgMTg0NTYsIAotICAgIDE4NDYxLCAxODQ2NSwgMTg0NzAsIDE4NDc0LCAxODQ3OSwgMTg0ODMsIDE4NDg4LCAxODQ5NSwgMTg1MDEsIDE4NTA2LCAKLSAgICAxODUxMCwgMTg1MTQsIDE4NTE4LCAxODUyMiwgMTg1MjYsIDE4NTMxLCAxODUzNiwgMTg1NDIsIDE4NTQ3LCAxODU1MiwgCi0gICAgMTg1NTYsIDE4NTU5LCAxODU2MiwgMTg1NjUsIDE4NTY4LCAxODU3MSwgMTg1NzQsIDE4NTc3LCAxODU4MCwgMTg1ODMsIAotICAgIDE4NTg5LCAxODU5MywgMTg1OTcsIDE4NjAxLCAxODYwNSwgMTg2MDksIDE4NjEzLCAxODYxNywgMTg2MjEsIDE4NjI2LCAKLSAgICAxODYzMCwgMTg2MzUsIDE4NjQwLCAxODY0NiwgMTg2NTEsIDE4NjU3LCAxODY2MywgMTg2NjksIDE4Njc1LCAxODY4MSwgCi0gICAgMTg2ODgsIDE4Njk1LCAxODcwMywgMTg3MTEsIDE4NzIwLCAxODcyOSwgMTg3NDAsIDE4NzUwLCAxODc2MCwgMTg3NzEsIAotICAgIDE4NzgyLCAxODc5MiwgMTg4MDIsIDE4ODEyLCAxODgyMiwgMTg4MzIsIDE4ODQyLCAxODg1MiwgMTg4NjIsIDE4ODcwLCAKLSAgICAxODg3NywgMTg4ODMsIDE4ODkwLCAxODg5NSwgMTg5MDEsIDE4OTA3LCAxODkxMywgMTg5MTksIDE4OTI1LCAxODkzMSwgCi0gICAgMTg5MzYsIDE4OTQyLCAxODk0OCwgMTg5NTQsIDE4OTYwLCAxODk2NSwgMTg5NzMsIDE4OTgwLCAxODk4NiwgMTg5OTMsIAotICAgIDE5MDAxLCAxOTAwNywgMTkwMTMsIDE5MDE5LCAxOTAyNSwgMTkwMzMsIDE5MDQxLCAxOTA1MSwgMTkwNTksIDE5MDY3LCAKLSAgICAxOTA3MywgMTkwNzgsIDE5MDgzLCAxOTA4OCwgMTkwOTMsIDE5MDk4LCAxOTEwMywgMTkxMDgsIDE5MTEzLCAxOTExOCwgCi0gICAgMTkxMjQsIDE5MTMwLCAxOTEzNiwgMTkxNDMsIDE5MTQ4LCAxOTE1NCwgMTkxNTksIDE5MTY0LCAxOTE2OSwgMTkxNzQsIAotICAgIDE5MTc5LCAxOTE4NCwgMTkxODksIDE5MTk0LCAxOTE5OSwgMTkyMDQsIDE5MjA5LCAxOTIxNCwgMTkyMTksIDE5MjI0LCAKLSAgICAxOTIyOSwgMTkyMzQsIDE5MjM5LCAxOTI0NCwgMTkyNDksIDE5MjU0LCAxOTI1OSwgMTkyNjQsIDE5MjY5LCAxOTI3NCwgCi0gICAgMTkyNzksIDE5Mjg0LCAxOTI4OSwgMTkyOTQsIDE5Mjk5LCAxOTMwNCwgMTkzMDksIDE5MzE0LCAxOTMxOSwgMTkzMjQsIAotICAgIDE5MzI5LCAxOTMzNCwgMTkzMzksIDAsIDE5MzQ0LCAwLCAwLCAwLCAwLCAwLCAxOTM0OSwgMCwgMCwgMTkzNTQsIDE5MzU4LCAKLSAgICAxOTM2MiwgMTkzNjYsIDE5MzcwLCAxOTM3NCwgMTkzNzgsIDE5MzgyLCAxOTM4NiwgMTkzOTAsIDE5Mzk0LCAxOTM5OCwgCi0gICAgMTk0MDIsIDE5NDA2LCAxOTQxMCwgMTk0MTQsIDE5NDE4LCAxOTQyMiwgMTk0MjYsIDE5NDMwLCAxOTQzNCwgMTk0MzgsIAotICAgIDE5NDQyLCAxOTQ0NiwgMTk0NTAsIDE5NDU0LCAxOTQ1OCwgMTk0NjIsIDE5NDY2LCAxOTQ3MCwgMTk0NzQsIDE5NDc4LCAKLSAgICAxOTQ4MiwgMTk0ODYsIDE5NDkwLCAxOTQ5NCwgMTk0OTgsIDE5NTAyLCAxOTUwNiwgMTk1MTAsIDE5NTE0LCAxOTUxOCwgCi0gICAgMTk1MjQsIDE5NTI4LCAxOTUzMywgMTk1MzgsIDE5NTQyLCAxOTU0NywgMTk1NTIsIDE5NTU2LCAxOTU2MCwgMTk1NjQsIAotICAgIDE5NTY4LCAxOTU3MiwgMTk1NzYsIDE5NTgwLCAxOTU4NCwgMTk1ODgsIDE5NTkyLCAxOTU5NiwgMTk2MDAsIDE5NjA0LCAKLSAgICAxOTYwOCwgMTk2MTIsIDE5NjE2LCAxOTYyMCwgMTk2MjQsIDE5NjI4LCAxOTYzMiwgMTk2MzYsIDE5NjQwLCAxOTY0NCwgCi0gICAgMTk2NDgsIDE5NjUyLCAxOTY1NiwgMTk2NjAsIDE5NjY0LCAxOTY2OCwgMTk2NzIsIDE5Njc2LCAxOTY4MCwgMTk2ODQsIAotICAgIDE5Njg4LCAxOTY5MiwgMTk2OTYsIDE5NzAwLCAxOTcwNCwgMTk3MDgsIDE5NzEyLCAxOTcxNiwgMTk3MjAsIDE5NzI0LCAKLSAgICAxOTcyOCwgMTk3MzIsIDE5NzM2LCAxOTc0MCwgMTk3NDQsIDE5NzQ4LCAxOTc1MiwgMTk3NTYsIDE5NzYwLCAxOTc2NCwgCi0gICAgMTk3NjgsIDE5NzcyLCAxOTc3NiwgMTk3ODAsIDE5Nzg0LCAxOTc4OCwgMTk3OTIsIDE5Nzk2LCAxOTgwMCwgMTk4MDQsIAotICAgIDE5ODA4LCAxOTgxMiwgMTk4MTYsIDE5ODIwLCAxOTgyNCwgMTk4MjgsIDE5ODMyLCAxOTgzNiwgMTk4NDAsIDE5ODQ0LCAKLSAgICAxOTg0OCwgMTk4NTIsIDE5ODU2LCAxOTg2MCwgMTk4NjQsIDE5ODY4LCAxOTg3MiwgMTk4NzYsIDE5ODgwLCAxOTg4NCwgCi0gICAgMTk4ODgsIDE5ODkyLCAxOTg5NiwgMTk5MDAsIDE5OTA0LCAxOTkwOCwgMTk5MTIsIDE5OTE2LCAxOTkyMCwgMTk5MjQsIAotICAgIDE5OTI4LCAxOTkzMiwgMTk5MzYsIDE5OTQwLCAxOTk0MywgMTk5NDcsIDE5OTUwLCAxOTk1NCwgMTk5NTgsIDE5OTYxLCAKLSAgICAxOTk2NSwgMTk5NjksIDE5OTcyLCAxOTk3NiwgMTk5ODAsIDE5OTg0LCAxOTk4OCwgMTk5OTEsIDE5OTk1LCAxOTk5OSwgCi0gICAgMjAwMDMsIDIwMDA3LCAyMDAxMSwgMjAwMTUsIDIwMDE4LCAyMDAyMiwgMjAwMjYsIDIwMDMwLCAyMDAzNCwgMjAwMzgsIAotICAgIDIwMDQyLCAyMDA0NiwgMjAwNTAsIDIwMDU0LCAyMDA1OCwgMjAwNjIsIDIwMDY2LCAyMDA3MCwgMjAwNzQsIDIwMDc4LCAKLSAgICAyMDA4MiwgMjAwODYsIDIwMDkwLCAyMDA5NCwgMjAwOTgsIDIwMTAyLCAyMDEwNiwgMjAxMTAsIDIwMTE0LCAyMDExOCwgCi0gICAgMjAxMjIsIDIwMTI2LCAyMDEzMCwgMjAxMzQsIDIwMTM4LCAyMDE0MiwgMjAxNDYsIDIwMTUwLCAyMDE1NCwgMjAxNTgsIAotICAgIDIwMTYyLCAyMDE2NiwgMjAxNzAsIDIwMTc0LCAyMDE3OCwgMjAxODIsIDIwMTg2LCAyMDE5MCwgMjAxOTQsIDIwMTk4LCAKLSAgICAyMDIwMiwgMjAyMDYsIDIwMjEwLCAyMDIxNCwgMjAyMTgsIDIwMjIyLCAyMDIyNiwgMjAyMzAsIDIwMjM0LCAyMDIzOCwgCi0gICAgMjAyNDIsIDIwMjQ2LCAyMDI1MCwgMjAyNTQsIDIwMjU4LCAyMDI2MiwgMjAyNjYsIDIwMjcwLCAyMDI3NCwgMjAyNzgsIAotICAgIDIwMjgyLCAyMDI4NiwgMjAyOTAsIDIwMjk0LCAyMDI5OCwgMjAzMDIsIDIwMzA2LCAyMDMxMCwgMjAzMTQsIDIwMzE4LCAKLSAgICAyMDMyMiwgMjAzMjYsIDIwMzMwLCAyMDMzNCwgMjAzMzgsIDIwMzQyLCAyMDM0NiwgMjAzNTAsIDIwMzU0LCAyMDM1OCwgCi0gICAgMjAzNjIsIDIwMzY2LCAyMDM3MCwgMjAzNzQsIDIwMzc4LCAyMDM4MiwgMjAzODYsIDIwMzkwLCAyMDM5NCwgMjAzOTgsIAotICAgIDIwNDAyLCAyMDQwNiwgMjA0MTAsIDIwNDE0LCAyMDQxOCwgMjA0MjIsIDIwNDI2LCAyMDQzMCwgMjA0MzQsIDIwNDM4LCAKLSAgICAyMDQ0MiwgMjA0NDYsIDIwNDUwLCAyMDQ1NCwgMjA0NTgsIDIwNDYyLCAyMDQ2NiwgMjA0NzAsIDIwNDc0LCAyMDQ3OCwgCi0gICAgMjA0ODIsIDIwNDg2LCAyMDQ5MCwgMjA0OTQsIDIwNDk4LCAyMDUwMiwgMjA1MDYsIDIwNTEwLCAyMDUxNCwgMjA1MTgsIAotICAgIDIwNTIyLCAyMDUyNiwgMjA1MzAsIDIwNTM0LCAyMDUzOCwgMjA1NDIsIDIwNTQ2LCAyMDU1MCwgMjA1NTQsIDIwNTU4LCAKLSAgICAyMDU2MiwgMjA1NjYsIDIwNTcwLCAyMDU3MywgMjA1NzcsIDIwNTgxLCAyMDU4NSwgMjA1ODksIDIwNTkzLCAyMDU5NywgCi0gICAgMjA2MDEsIDIwNjA1LCAyMDYwOSwgMjA2MTMsIDIwNjE3LCAyMDYyMSwgMjA2MjUsIDIwNjI5LCAyMDYzMywgMjA2MzcsIAotICAgIDIwNjQxLCAyMDY0NSwgMjA2NDksIDIwNjUzLCAyMDY1NywgMjA2NjEsIDIwNjY1LCAyMDY2OCwgMjA2NzIsIDIwNjc2LCAKLSAgICAyMDY4MCwgMjA2ODQsIDIwNjg4LCAyMDY5MiwgMjA2OTYsIDIwNzAwLCAyMDcwNCwgMjA3MDgsIDIwNzEyLCAyMDcxNiwgCi0gICAgMjA3MjAsIDIwNzI0LCAyMDcyOCwgMjA3MzEsIDIwNzM1LCAyMDczOSwgMjA3NDMsIDIwNzQ3LCAyMDc1MSwgMjA3NTUsIAotICAgIDIwNzU5LCAyMDc2MiwgMjA3NjYsIDIwNzcwLCAyMDc3NCwgMjA3NzgsIDIwNzgyLCAyMDc4NiwgMjA3OTAsIDIwNzk0LCAKLSAgICAyMDc5OCwgMjA4MDIsIDIwODA2LCAyMDgxMCwgMjA4MTQsIDIwODE4LCAyMDgyMiwgMjA4MjYsIDIwODMwLCAyMDgzNCwgCi0gICAgMjA4MzgsIDIwODQyLCAyMDg0NiwgMjA4NTAsIDIwODU0LCAwLCAyMDg1OCwgMjA4NjIsIDIwODY2LCAyMDg3MCwgMCwgMCwgCi0gICAgMjA4NzQsIDIwODc4LCAyMDg4MiwgMjA4ODYsIDIwODkwLCAyMDg5NCwgMjA4OTgsIDAsIDIwOTAyLCAwLCAyMDkwNiwgCi0gICAgMjA5MTAsIDIwOTE0LCAyMDkxOCwgMCwgMCwgMjA5MjIsIDIwOTI2LCAyMDkzMCwgMjA5MzQsIDIwOTM4LCAyMDk0MiwgCi0gICAgMjA5NDYsIDIwOTUwLCAyMDk1NCwgMjA5NTgsIDIwOTYyLCAyMDk2NiwgMjA5NzAsIDIwOTc0LCAyMDk3OCwgMjA5ODIsIAotICAgIDIwOTg2LCAyMDk5MCwgMjA5OTQsIDIwOTk4LCAyMTAwMiwgMjEwMDYsIDIxMDEwLCAyMTAxMywgMjEwMTcsIDIxMDIxLCAKLSAgICAyMTAyNSwgMjEwMjksIDIxMDMzLCAyMTAzNywgMjEwNDEsIDIxMDQ1LCAyMTA0OSwgMjEwNTMsIDIxMDU3LCAyMTA2MSwgCi0gICAgMjEwNjUsIDIxMDY5LCAyMTA3MywgMjEwNzcsIDIxMDgxLCAwLCAyMTA4NSwgMjEwODksIDIxMDkzLCAyMTA5NywgMCwgMCwgCi0gICAgMjExMDEsIDIxMTA0LCAyMTEwOCwgMjExMTIsIDIxMTE2LCAyMTEyMCwgMjExMjQsIDIxMTI4LCAyMTEzMiwgMjExMzYsIAotICAgIDIxMTQwLCAyMTE0NCwgMjExNDgsIDIxMTUyLCAyMTE1NiwgMjExNjAsIDIxMTY0LCAyMTE2OSwgMjExNzQsIDIxMTc5LCAKLSAgICAyMTE4NSwgMjExOTEsIDIxMTk2LCAyMTIwMSwgMjEyMDcsIDIxMjEwLCAyMTIxNCwgMjEyMTgsIDIxMjIyLCAyMTIyNiwgCi0gICAgMjEyMzAsIDIxMjM0LCAyMTIzOCwgMCwgMjEyNDIsIDIxMjQ2LCAyMTI1MCwgMjEyNTQsIDAsIDAsIDIxMjU4LCAyMTI2MiwgCi0gICAgMjEyNjYsIDIxMjcwLCAyMTI3NCwgMjEyNzgsIDIxMjgyLCAwLCAyMTI4NiwgMCwgMjEyOTAsIDIxMjk0LCAyMTI5OCwgCi0gICAgMjEzMDIsIDAsIDAsIDIxMzA2LCAyMTMxMCwgMjEzMTQsIDIxMzE4LCAyMTMyMiwgMjEzMjYsIDIxMzMwLCAyMTMzNCwgCi0gICAgMjEzMzgsIDIxMzQzLCAyMTM0OCwgMjEzNTMsIDIxMzU5LCAyMTM2NSwgMjEzNzAsIDAsIDIxMzc1LCAyMTM3OSwgMjEzODMsIAotICAgIDIxMzg3LCAyMTM5MSwgMjEzOTUsIDIxMzk5LCAyMTQwMywgMjE0MDcsIDIxNDExLCAyMTQxNSwgMjE0MTksIDIxNDIzLCAKLSAgICAyMTQyNywgMjE0MzEsIDIxNDM1LCAyMTQzOSwgMjE0NDIsIDIxNDQ2LCAyMTQ1MCwgMjE0NTQsIDIxNDU4LCAyMTQ2MiwgCi0gICAgMjE0NjYsIDIxNDcwLCAyMTQ3NCwgMjE0NzgsIDIxNDgyLCAyMTQ4NiwgMjE0OTAsIDIxNDk0LCAyMTQ5OCwgMjE1MDIsIAotICAgIDIxNTA2LCAyMTUxMCwgMjE1MTQsIDIxNTE4LCAyMTUyMiwgMjE1MjYsIDIxNTMwLCAyMTUzNCwgMjE1MzgsIDIxNTQyLCAKLSAgICAyMTU0NiwgMjE1NTAsIDIxNTU0LCAyMTU1OCwgMjE1NjIsIDIxNTY2LCAyMTU3MCwgMjE1NzQsIDIxNTc4LCAyMTU4MiwgCi0gICAgMjE1ODYsIDIxNTkwLCAyMTU5NCwgMjE1OTgsIDAsIDIxNjAyLCAyMTYwNiwgMjE2MTAsIDIxNjE0LCAwLCAwLCAyMTYxOCwgCi0gICAgMjE2MjIsIDIxNjI2LCAyMTYzMCwgMjE2MzQsIDIxNjM4LCAyMTY0MiwgMjE2NDYsIDIxNjUwLCAyMTY1NCwgMjE2NTgsIAotICAgIDIxNjYyLCAyMTY2NiwgMjE2NzAsIDIxNjc0LCAyMTY3OCwgMjE2ODIsIDIxNjg2LCAyMTY5MCwgMjE2OTQsIDIxNjk4LCAKLSAgICAyMTcwMiwgMjE3MDYsIDIxNzEwLCAyMTcxNCwgMjE3MTgsIDIxNzIyLCAyMTcyNiwgMjE3MzAsIDIxNzM0LCAyMTczOCwgCi0gICAgMjE3NDIsIDIxNzQ2LCAyMTc1MCwgMjE3NTQsIDIxNzU4LCAyMTc2MiwgMjE3NjYsIDIxNzcwLCAyMTc3NCwgMjE3NzgsIAotICAgIDIxNzgyLCAyMTc4NiwgMjE3OTAsIDIxNzk0LCAyMTc5OCwgMjE4MDIsIDIxODA2LCAyMTgxMCwgMjE4MTQsIDIxODE4LCAKLSAgICAyMTgyMiwgMjE4MjYsIDIxODMwLCAyMTgzNCwgMjE4MzgsIDIxODQyLCAyMTg0NSwgMjE4NDksIDIxODUzLCAyMTg1NywgCi0gICAgMjE4NjEsIDIxODY1LCAyMTg2OSwgMjE4NzMsIDIxODc3LCAyMTg4MSwgMCwgMCwgMjE4ODUsIDIxODk0LCAyMTkwMCwgCi0gICAgMjE5MDUsIDIxOTA5LCAyMTkxMiwgMjE5MTcsIDIxOTIwLCAyMTkyMywgMjE5MjYsIDIxOTMxLCAyMTkzNSwgMjE5NDAsIAotICAgIDIxOTQzLCAyMTk0NiwgMjE5NDksIDIxOTUyLCAyMTk1NSwgMjE5NTgsIDIxOTYxLCAyMTk2NCwgMjE5NjcsIDIxOTcxLCAKLSAgICAyMTk3NSwgMjE5NzksIDIxOTgzLCAyMTk4NywgMjE5OTEsIDIxOTk1LCAyMTk5OSwgMjIwMDMsIDIyMDA3LCAwLCAwLCAwLCAKLSAgICAyMjAxMywgMjIwMTksIDIyMDIzLCAyMjAyNywgMjIwMzEsIDIyMDM3LCAyMjA0MSwgMjIwNDUsIDIyMDQ5LCAyMjA1NSwgCi0gICAgMjIwNTksIDIyMDYzLCAyMjA2NywgMjIwNzMsIDIyMDc3LCAyMjA4MSwgMjIwODUsIDIyMDkxLCAyMjA5NywgMjIxMDMsIAotICAgIDIyMTExLCAyMjExNywgMjIxMjMsIDIyMTI5LCAyMjEzNSwgMjIxNDEsIDAsIDAsIDAsIDAsIDAsIDAsIDIyMTQ3LCAyMjE1MCwgCi0gICAgMjIxNTMsIDIyMTU2LCAyMjE1OSwgMjIxNjIsIDIyMTY2LCAyMjE3MCwgMjIxNzMsIDIyMTc3LCAyMjE4MSwgMjIxODUsIAotICAgIDIyMTg5LCAyMjE5MywgMjIxOTYsIDIyMjAwLCAyMjIwNCwgMjIyMDgsIDIyMjEyLCAyMjIxNiwgMjIyMjAsIDIyMjI0LCAKLSAgICAyMjIyOCwgMjIyMzIsIDIyMjM2LCAyMjI0MCwgMjIyNDMsIDIyMjQ3LCAyMjI1MSwgMjIyNTUsIDIyMjU5LCAyMjI2MiwgCi0gICAgMjIyNjYsIDIyMjcwLCAyMjI3NCwgMjIyNzgsIDIyMjgyLCAyMjI4NiwgMjIyOTAsIDIyMjk0LCAyMjI5OCwgMjIzMDIsIAotICAgIDIyMzA2LCAyMjMxMCwgMjIzMTQsIDIyMzE3LCAyMjMyMSwgMjIzMjUsIDIyMzI5LCAyMjMzMywgMjIzMzcsIDIyMzQxLCAKLSAgICAyMjM0NSwgMjIzNDksIDIyMzUzLCAyMjM1NywgMjIzNjEsIDIyMzY1LCAyMjM2OSwgMjIzNzMsIDIyMzc3LCAyMjM4MSwgCi0gICAgMjIzODUsIDIyMzg5LCAyMjM5MywgMjIzOTcsIDIyNDAxLCAyMjQwNSwgMjI0MDksIDIyNDEzLCAyMjQxNywgMjI0MjEsIAotICAgIDIyNDI1LCAyMjQyOSwgMjI0MzMsIDIyNDM3LCAyMjQ0MSwgMjI0NDUsIDIyNDQ5LCAyMjQ1MywgMjI0NTYsIDIyNDYwLCAKLSAgICAyMjQ2NCwgMjI0NjgsIDIyNDcyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyMjQ3NiwgMjI0ODAsIAotICAgIDIyNDgzLCAyMjQ4NywgMjI0OTAsIDIyNDk0LCAyMjQ5NywgMjI1MDEsIDIyNTA3LCAyMjUxMiwgMjI1MTYsIDIyNTE5LCAKLSAgICAyMjUyMywgMjI1MjcsIDIyNTMyLCAyMjUzNiwgMjI1NDEsIDIyNTQ1LCAyMjU1MCwgMjI1NTQsIDIyNTU5LCAyMjU2MywgCi0gICAgMjI1NjgsIDIyNTc0LCAyMjU3OCwgMjI1ODMsIDIyNTg3LCAyMjU5MiwgMjI1OTgsIDIyNjAyLCAyMjYwOCwgMjI2MTQsIAotICAgIDIyNjE4LCAyMjYyMywgMjI2MzEsIDIyNjM5LCAyMjY0NiwgMjI2NTEsIDIyNjU2LCAyMjY2NSwgMjI2NzIsIDIyNjc5LCAKLSAgICAyMjY4NCwgMjI2OTAsIDIyNjk0LCAyMjY5OCwgMjI3MDIsIDIyNzA2LCAyMjcxMCwgMjI3MTQsIDIyNzE4LCAyMjcyMiwgCi0gICAgMjI3MjYsIDIyNzMwLCAyMjczNiwgMjI3NDEsIDIyNzQ2LCAyMjc0OSwgMjI3NTMsIDIyNzU3LCAyMjc2MiwgMjI3NjYsIAotICAgIDIyNzcxLCAyMjc3NSwgMjI3ODAsIDIyNzg0LCAyMjc4OSwgMjI3OTMsIDIyNzk4LCAyMjgwMiwgMjI4MDcsIDIyODExLCAKLSAgICAyMjgxNiwgMjI4MjIsIDIyODI2LCAyMjgzMSwgMjI4MzYsIDIyODQwLCAyMjg0NCwgMjI4NDgsIDIyODUyLCAyMjg1NSwgCi0gICAgMjI4NTksIDIyODY1LCAyMjg3MCwgMjI4NzUsIDIyODc5LCAyMjg4MywgMjI4ODcsIDIyODkyLCAyMjg5NiwgMjI5MDEsIAotICAgIDIyOTA1LCAyMjkxMCwgMjI5MTMsIDIyOTE3LCAyMjkyMSwgMjI5MjYsIDIyOTMwLCAyMjkzNSwgMjI5MzksIDIyOTQ0LCAKLSAgICAyMjk1MCwgMjI5NTQsIDIyOTU4LCAyMjk2MiwgMjI5NjYsIDIyOTcwLCAyMjk3NCwgMjI5NzgsIDIyOTgyLCAyMjk4NiwgCi0gICAgMjI5OTAsIDIyOTk0LCAyMzAwMCwgMjMwMDMsIDIzMDA3LCAyMzAxMSwgMjMwMTYsIDIzMDIwLCAyMzAyNSwgMjMwMjksIAotICAgIDIzMDM0LCAyMzAzOCwgMjMwNDMsIDIzMDQ3LCAyMzA1MiwgMjMwNTYsIDIzMDYxLCAyMzA2NSwgMjMwNzAsIDIzMDc2LCAKLSAgICAyMzA4MCwgMjMwODQsIDIzMDkwLCAyMzA5NiwgMjMxMDIsIDIzMTA4LCAyMzExMiwgMjMxMTYsIDIzMTIwLCAyMzEyNCwgCi0gICAgMjMxMjgsIDIzMTMyLCAyMzEzOCwgMjMxNDIsIDIzMTQ2LCAyMzE1MCwgMjMxNTUsIDIzMTU5LCAyMzE2NCwgMjMxNjgsIAotICAgIDIzMTczLCAyMzE3NywgMjMxODIsIDIzMTg2LCAyMzE5MSwgMjMxOTUsIDIzMjAwLCAyMzIwNCwgMjMyMDksIDIzMjE1LCAKLSAgICAyMzIxOSwgMjMyMjUsIDIzMjI5LCAyMzIzMywgMjMyMzcsIDIzMjQxLCAyMzI0NSwgMjMyNDksIDIzMjU1LCAyMzI1OCwgCi0gICAgMjMyNjIsIDIzMjY2LCAyMzI3MSwgMjMyNzUsIDIzMjgwLCAyMzI4NCwgMjMyODksIDIzMjkzLCAyMzI5OCwgMjMzMDIsIAotICAgIDIzMzA3LCAyMzMxMSwgMjMzMTYsIDIzMzIwLCAyMzMyNSwgMjMzMzEsIDIzMzM0LCAyMzMzOCwgMjMzNDIsIDIzMzQ3LCAKLSAgICAyMzM1MiwgMjMzNTYsIDIzMzYwLCAyMzM2NCwgMjMzNjgsIDIzMzcyLCAyMzM3NiwgMjMzODIsIDIzMzg1LCAyMzM4OSwgCi0gICAgMjMzOTMsIDIzMzk4LCAyMzQwMiwgMjM0MDcsIDIzNDExLCAyMzQxNiwgMjM0MjIsIDIzNDI2LCAyMzQzMSwgMjM0MzUsIAotICAgIDIzNDM5LCAyMzQ0MywgMjM0NDcsIDIzNDUxLCAyMzQ1NSwgMjM0NTksIDIzNDY1LCAyMzQ2OSwgMjM0NzMsIDIzNDc3LCAKLSAgICAyMzQ4MiwgMjM0ODYsIDIzNDkxLCAyMzQ5NSwgMjM1MDAsIDIzNTA0LCAyMzUwOSwgMjM1MTMsIDIzNTE4LCAyMzUyMiwgCi0gICAgMjM1MjcsIDIzNTMxLCAyMzUzNiwgMjM1MzksIDIzNTQzLCAyMzU0NywgMjM1NTEsIDIzNTU1LCAyMzU1OSwgMjM1NjMsIAotICAgIDIzNTY3LCAyMzU3MSwgMjM1NzcsIDIzNTgwLCAyMzU4NCwgMjM1ODgsIDIzNTkzLCAyMzU5NywgMjM2MDIsIDIzNjA2LCAKLSAgICAyMzYxMSwgMjM2MTUsIDIzNjIwLCAyMzYyNCwgMjM2MjksIDIzNjMzLCAyMzYzOCwgMjM2NDIsIDIzNjQ3LCAyMzY1MywgCi0gICAgMjM2NTcsIDIzNjYzLCAyMzY2NywgMjM2NzMsIDIzNjc5LCAyMzY4NSwgMjM2OTEsIDIzNjk3LCAyMzcwMywgMjM3MDksIAotICAgIDIzNzE1LCAyMzcxOSwgMjM3MjMsIDIzNzI3LCAyMzczMSwgMjM3MzUsIDIzNzM5LCAyMzc0MywgMjM3NDcsIDIzNzUyLCAKLSAgICAyMzc1NiwgMjM3NjEsIDIzNzY1LCAyMzc3MCwgMjM3NzQsIDIzNzc5LCAyMzc4MywgMjM3ODgsIDIzNzkyLCAyMzc5NywgCi0gICAgMjM4MDEsIDIzODA2LCAyMzgxMCwgMjM4MTQsIDIzODE4LCAyMzgyMiwgMjM4MjYsIDIzODMwLCAyMzgzNCwgMjM4NDAsIAotICAgIDIzODQzLCAyMzg0NywgMjM4NTEsIDIzODU2LCAyMzg2MCwgMjM4NjUsIDIzODY5LCAyMzg3NCwgMjM4NzgsIDIzODgzLCAKLSAgICAyMzg4NywgMjM4OTIsIDIzODk2LCAyMzkwMSwgMjM5MDUsIDIzOTEwLCAyMzkxNiwgMjM5MjAsIDIzOTI2LCAyMzkzMSwgCi0gICAgMjM5MzcsIDIzOTQxLCAyMzk0NywgMjM5NTIsIDIzOTU2LCAyMzk2MCwgMjM5NjQsIDIzOTY4LCAyMzk3MiwgMjM5NzcsIAotICAgIDIzOTgwLCAyMzk4NCwgMjM5ODksIDIzOTkzLCAyMzk5OCwgMjQwMDEsIDI0MDA1LCAyNDAwOSwgMjQwMTMsIDI0MDE3LCAKLSAgICAyNDAyMSwgMjQwMjUsIDI0MDI5LCAyNDAzMywgMjQwMzcsIDI0MDQxLCAyNDA0NSwgMjQwNTAsIDI0MDU0LCAyNDA1OCwgCi0gICAgMjQwNjQsIDI0MDY4LCAyNDA3NCwgMjQwNzgsIDI0MDg0LCAyNDA4OCwgMjQwOTIsIDI0MDk2LCAyNDEwMCwgMjQxMDQsIAotICAgIDI0MTA5LCAyNDExMywgMjQxMTcsIDI0MTIxLCAyNDEyNSwgMjQxMjksIDI0MTMzLCAyNDEzNywgMjQxNDEsIDI0MTQ1LCAKLSAgICAyNDE0OSwgMjQxNTUsIDI0MTYxLCAyNDE2NywgMjQxNzMsIDI0MTc5LCAyNDE4NCwgMjQxOTAsIDI0MTk2LCAyNDIwMiwgCi0gICAgMjQyMDYsIDI0MjEwLCAyNDIxNCwgMjQyMTgsIDI0MjIyLCAyNDIyNiwgMjQyMzAsIDI0MjM0LCAyNDIzOCwgMjQyNDIsIAotICAgIDI0MjQ2LCAyNDI1MCwgMjQyNTQsIDI0MjU5LCAyNDI2NCwgMjQyNjksIDI0MjczLCAyNDI3NywgMjQyODEsIDI0Mjg1LCAKLSAgICAyNDI4OSwgMjQyOTMsIDI0Mjk3LCAyNDMwMSwgMjQzMDUsIDI0MzA5LCAyNDMxNSwgMjQzMjEsIDI0MzI3LCAyNDMzMywgCi0gICAgMjQzMzksIDI0MzQ1LCAyNDM1MSwgMjQzNTcsIDI0MzYzLCAyNDM2NywgMjQzNzEsIDI0Mzc1LCAyNDM3OSwgMjQzODMsIAotICAgIDI0Mzg3LCAyNDM5MSwgMjQzOTcsIDI0NDAzLCAyNDQwOSwgMjQ0MTUsIDI0NDIxLCAyNDQyNywgMjQ0MzMsIDI0NDM5LCAKLSAgICAyNDQ0NSwgMjQ0NTAsIDI0NDU1LCAyNDQ2MCwgMjQ0NjUsIDI0NDcxLCAyNDQ3NywgMjQ0ODMsIDI0NDg5LCAyNDQ5NSwgCi0gICAgMjQ1MDEsIDI0NTA3LCAyNDUxMiwgMjQ1MTgsIDI0NTI0LCAyNDUzMCwgMjQ1MzUsIDI0NTQxLCAyNDU0NywgMjQ1NTMsIAotICAgIDI0NTU4LCAyNDU2MywgMjQ1NjgsIDI0NTczLCAyNDU3OCwgMjQ1ODMsIDI0NTg4LCAyNDU5MywgMjQ1OTgsIDI0NjAzLCAKLSAgICAyNDYwOCwgMjQ2MTMsIDI0NjE3LCAyNDYyMiwgMjQ2MjcsIDI0NjMyLCAyNDYzNywgMjQ2NDIsIDI0NjQ3LCAyNDY1MiwgCi0gICAgMjQ2NTcsIDI0NjYyLCAyNDY2NywgMjQ2NzIsIDI0Njc3LCAyNDY4MiwgMjQ2ODcsIDI0NjkyLCAyNDY5NywgMjQ3MDIsIAotICAgIDI0NzA3LCAyNDcxMiwgMjQ3MTcsIDI0NzIyLCAyNDcyNywgMjQ3MzIsIDI0NzM3LCAyNDc0MiwgMjQ3NDcsIDI0NzUyLCAKLSAgICAyNDc1NywgMjQ3NjIsIDI0NzY2LCAyNDc3MSwgMjQ3NzYsIDI0NzgxLCAyNDc4NiwgMjQ3OTEsIDI0Nzk2LCAyNDgwMSwgCi0gICAgMjQ4MDYsIDI0ODExLCAyNDgxNiwgMjQ4MjEsIDI0ODI2LCAyNDgzMSwgMjQ4MzYsIDI0ODQxLCAyNDg0NiwgMjQ4NTEsIAotICAgIDI0ODU2LCAyNDg2MSwgMjQ4NjYsIDI0ODcxLCAyNDg3NiwgMjQ4ODEsIDI0ODg2LCAyNDg5MSwgMjQ4OTUsIDI0OTAwLCAKLSAgICAyNDkwNSwgMjQ5MTAsIDI0OTE1LCAyNDkyMCwgMjQ5MjQsIDI0OTI5LCAyNDkzNCwgMjQ5MzksIDI0OTQ0LCAyNDk0OSwgCi0gICAgMjQ5NTMsIDI0OTU4LCAyNDk2NCwgMjQ5NjksIDI0OTc0LCAyNDk3OSwgMjQ5ODQsIDI0OTkwLCAyNDk5NSwgMjUwMDAsIAotICAgIDI1MDA1LCAyNTAxMCwgMjUwMTUsIDI1MDIwLCAyNTAyNSwgMjUwMzAsIDI1MDM1LCAyNTA0MCwgMjUwNDUsIDI1MDUwLCAKLSAgICAyNTA1NSwgMjUwNjAsIDI1MDY1LCAyNTA3MCwgMjUwNzUsIDI1MDgwLCAyNTA4NSwgMjUwOTAsIDI1MDk1LCAyNTEwMCwgCi0gICAgMjUxMDUsIDI1MTEwLCAyNTExNSwgMjUxMjAsIDI1MTI1LCAyNTEzMCwgMjUxMzUsIDI1MTQwLCAyNTE0NSwgMjUxNTAsIAotICAgIDI1MTU1LCAyNTE2MCwgMjUxNjUsIDI1MTcwLCAyNTE3NSwgMjUxODAsIDI1MTg1LCAyNTE5MCwgMjUxOTUsIDI1MjAwLCAKLSAgICAyNTIwNSwgMjUyMTAsIDI1MjE2LCAyNTIyMSwgMjUyMjYsIDI1MjMxLCAyNTIzNiwgMjUyNDEsIDI1MjQ2LCAyNTI1MSwgCi0gICAgMjUyNTYsIDI1MjYxLCAyNTI2NiwgMjUyNzEsIDI1Mjc1LCAyNTI4MCwgMjUyODUsIDI1MjkwLCAyNTI5NSwgMjUzMDAsIAotICAgIDI1MzA1LCAyNTMxMCwgMjUzMTUsIDI1MzIwLCAyNTMyNSwgMjUzMzAsIDI1MzM1LCAyNTM0MCwgMjUzNDUsIDI1MzUwLCAKLSAgICAyNTM1NSwgMjUzNjAsIDI1MzY1LCAyNTM3MCwgMjUzNzUsIDI1MzgwLCAyNTM4NSwgMjUzOTAsIDI1Mzk1LCAyNTQwMCwgCi0gICAgMjU0MDUsIDI1NDExLCAyNTQxNSwgMjU0MTksIDI1NDIzLCAyNTQyNywgMjU0MzEsIDI1NDM1LCAyNTQzOSwgMjU0NDMsIAotICAgIDI1NDQ5LCAyNTQ1NSwgMjU0NjEsIDI1NDY3LCAyNTQ3MywgMjU0NzksIDI1NDg1LCAyNTQ5MiwgMjU0OTgsIDI1NTAzLCAKLSAgICAyNTUwOCwgMjU1MTMsIDI1NTE4LCAyNTUyMywgMjU1MjgsIDI1NTMzLCAyNTUzOCwgMjU1NDMsIDI1NTQ4LCAyNTU1MywgCi0gICAgMjU1NTgsIDI1NTYzLCAyNTU2OCwgMjU1NzMsIDI1NTc4LCAyNTU4MywgMjU1ODgsIDI1NTkzLCAyNTU5OCwgMjU2MDMsIAotICAgIDI1NjA4LCAyNTYxMywgMjU2MTgsIDI1NjIzLCAyNTYyOCwgMjU2MzMsIDI1NjM4LCAwLCAwLCAwLCAyNTY0NSwgMjU2NTUsIAotICAgIDI1NjU5LCAyNTY2NiwgMjU2NzAsIDI1Njc0LCAyNTY3OCwgMjU2ODYsIDI1NjkwLCAyNTY5NSwgMjU3MDAsIDI1NzA1LCAKLSAgICAyNTcwOSwgMjU3MTQsIDI1NzE5LCAyNTcyMiwgMjU3MjYsIDI1NzMwLCAyNTczOSwgMjU3NDMsIDI1NzQ3LCAyNTc1MywgCi0gICAgMjU3NTcsIDI1NzYxLCAyNTc2OSwgMjU3NzMsIDI1NzgxLCAyNTc4NywgMjU3OTMsIDI1Nzk5LCAyNTgwNSwgMjU4MTUsIAotICAgIDI1ODIxLCAyNTgyNSwgMjU4MzQsIDI1ODM3LCAyNTg0MywgMjU4NDcsIDI1ODUzLCAyNTg1OCwgMjU4NjQsIDI1ODcyLCAKLSAgICAyNTg3OCwgMjU4ODQsIDI1ODkyLCAyNTg5OCwgMjU5MDIsIDI1OTA2LCAyNTkxNiwgMjU5MjIsIDI1OTI2LCAyNTkzNiwgCi0gICAgMjU5NDIsIDI1OTQ2LCAyNTk1MCwgMjU5NTcsIDI1OTY0LCAyNTk2OSwgMjU5NzQsIDI1OTgzLCAyNTk4NywgMjU5OTEsIAotICAgIDI1OTk1LCAyNjAwMywgMjYwMTAsIDI2MDE0LCAyNjAxOCwgMjYwMjIsIDI2MDI2LCAyNjAzMCwgMjYwMzQsIDI2MDM4LCAKLSAgICAyNjA0MiwgMjYwNDYsIDI2MDUwLCAyNjA1NCwgMjYwNTksIDI2MDY0LCAyNjA2OSwgMjYwNzMsIDI2MDc3LCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNjA4MSwgMjYwODUsIDI2MDg5LCAyNjA5MywgMjYwOTcsIAotICAgIDI2MTAyLCAyNjEwNywgMjYxMTIsIDI2MTE3LCAyNjEyMSwgMjYxMjUsIDI2MTMwLCAyNjEzNCwgMCwgMjYxMzgsIDI2MTQzLCAKLSAgICAyNjE0OCwgMjYxNTIsIDI2MTU2LCAyNjE2MSwgMjYxNjYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDI2MTcxLCAyNjE3NSwgMjYxNzksIDI2MTgzLCAyNjE4NywgMjYxOTIsIDI2MTk3LCAyNjIwMiwgMjYyMDcsIDI2MjExLCAKLSAgICAyNjIxNSwgMjYyMjAsIDI2MjI0LCAyNjIyOCwgMjYyMzIsIDI2MjM3LCAyNjI0MiwgMjYyNDYsIDI2MjUwLCAyNjI1NSwgCi0gICAgMjYyNjAsIDI2MjY1LCAyNjI3MSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjYyNzYsIDI2MjgwLCAyNjI4NCwgCi0gICAgMjYyODgsIDI2MjkyLCAyNjI5NywgMjYzMDIsIDI2MzA3LCAyNjMxMiwgMjYzMTYsIDI2MzIwLCAyNjMyNSwgMjYzMjksIAotICAgIDI2MzMzLCAyNjMzNywgMjYzNDIsIDI2MzQ3LCAyNjM1MSwgMjYzNTUsIDI2MzYwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAyNjM2NSwgMjYzNjksIDI2MzczLCAyNjM3NywgMjYzODEsIDI2Mzg2LCAyNjM5MSwgMjYzOTYsIAotICAgIDI2NDAxLCAyNjQwNSwgMjY0MDksIDI2NDE0LCAyNjQxOCwgMCwgMjY0MjIsIDI2NDI3LCAyNjQzMiwgMCwgMjY0MzYsIAotICAgIDI2NDQxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNjQ0NiwgMjY0NDksIDI2NDUzLCAyNjQ1NywgCi0gICAgMjY0NjEsIDI2NDY1LCAyNjQ2OSwgMjY0NzMsIDI2NDc3LCAyNjQ4MSwgMjY0ODUsIDI2NDg5LCAyNjQ5MywgMjY0OTcsIAotICAgIDI2NTAxLCAyNjUwNSwgMjY1MDksIDI2NTEzLCAyNjUxNiwgMjY1MjAsIDI2NTI0LCAyNjUyOCwgMjY1MzIsIDI2NTM2LCAKLSAgICAyNjU0MCwgMjY1NDQsIDI2NTQ4LCAyNjU1MiwgMjY1NTYsIDI2NTYwLCAyNjU2NCwgMjY1NjgsIDI2NTcxLCAyNjU3NCwgCi0gICAgMjY1NzgsIDI2NTgyLCAyNjU4OCwgMjY1OTQsIDI2NjAwLCAyNjYwNiwgMjY2MTIsIDI2NjE4LCAyNjYyNCwgMjY2MzAsIAotICAgIDI2NjM2LCAyNjY0MiwgMjY2NDgsIDI2NjU0LCAyNjY2MCwgMjY2NjYsIDI2Njc1LCAyNjY4NCwgMjY2OTAsIDI2Njk2LCAKLSAgICAyNjcwMiwgMjY3MDcsIDI2NzExLCAyNjcxNiwgMjY3MjEsIDI2NzI2LCAyNjczMCwgMjY3MzUsIDI2NzQwLCAyNjc0NSwgCi0gICAgMjY3NDksIDI2NzU0LCAyNjc1OCwgMjY3NjMsIDI2NzY4LCAyNjc3MywgMjY3NzgsIDI2NzgyLCAyNjc4NiwgMjY3OTAsIAotICAgIDI2Nzk0LCAyNjc5OCwgMjY4MDIsIDI2ODA2LCAyNjgxMCwgMjY4MTQsIDI2ODE4LCAyNjgyNCwgMjY4MjgsIDI2ODMyLCAKLSAgICAyNjgzNiwgMjY4NDAsIDI2ODQ0LCAyNjg1MiwgMjY4NTgsIDI2ODYyLCAyNjg2OCwgMjY4NzIsIDI2ODc4LCAyNjg4MiwgMCwgCi0gICAgMCwgMjY4ODYsIDI2ODkwLCAyNjg5MywgMjY4OTYsIDI2ODk5LCAyNjkwMiwgMjY5MDUsIDI2OTA4LCAyNjkxMSwgMjY5MTQsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDI2OTE3LCAyNjkyNSwgMjY5MzMsIDI2OTQxLCAyNjk0OSwgMjY5NTcsIDI2OTY1LCAyNjk3MywgCi0gICAgMjY5ODEsIDI2OTg5LCAwLCAwLCAwLCAwLCAwLCAwLCAyNjk5NywgMjcwMDAsIDI3MDAzLCAyNzAwNiwgMjcwMTEsIDI3MDE0LCAKLSAgICAyNzAxOSwgMjcwMjYsIDI3MDM0LCAyNzAzOSwgMjcwNDYsIDI3MDQ5LCAyNzA1NiwgMjcwNjMsIDI3MDcwLCAwLCAyNzA3NCwgCi0gICAgMjcwNzgsIDI3MDgxLCAyNzA4NCwgMjcwODcsIDI3MDkwLCAyNzA5MywgMjcwOTYsIDI3MDk5LCAyNzEwMiwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMjcxMDUsIDI3MTA4LCAyNzExMSwgMjcxMTQsIDI3MTE3LCAyNzEyMCwgMjcxMjQsIDI3MTI4LCAyNzEzMiwgCi0gICAgMjcxMzUsIDI3MTM5LCAyNzE0MywgMjcxNDYsIDI3MTUwLCAyNzE1NCwgMjcxNTcsIDI3MTYxLCAyNzE2NCwgMjcxNjgsIAotICAgIDI3MTcyLCAyNzE3NiwgMjcxODAsIDI3MTg0LCAyNzE4NywgMjcxOTAsIDI3MTk0LCAyNzE5OCwgMjcyMDEsIDI3MjA1LCAKLSAgICAyNzIwOSwgMjcyMTMsIDI3MjE3LCAyNzIyMSwgMjcyMjUsIDI3MjI5LCAyNzIzMywgMjcyNDAsIDI3MjQ1LCAyNzI1MCwgCi0gICAgMjcyNTUsIDI3MjYwLCAyNzI2NiwgMjcyNzIsIDI3Mjc4LCAyNzI4NCwgMjcyODksIDI3Mjk1LCAyNzMwMSwgMjczMDYsIAotICAgIDI3MzEyLCAyNzMxOCwgMjczMjQsIDI3MzMwLCAyNzMzNiwgMjczNDEsIDI3MzQ3LCAyNzM1MiwgMjczNTgsIDI3MzY0LCAKLSAgICAyNzM3MCwgMjczNzYsIDI3MzgyLCAyNzM4NywgMjczOTIsIDI3Mzk4LCAyNzQwNCwgMjc0MDksIDI3NDE1LCAyNzQyMCwgCi0gICAgMjc0MjYsIDI3NDMxLCAyNzQzNiwgMjc0NDIsIDI3NDQ4LCAyNzQ1NCwgMjc0NjAsIDI3NDY2LCAyNzQ3MiwgMjc0NzgsIAotICAgIDI3NDg0LCAyNzQ5MCwgMjc0OTYsIDI3NTAyLCAyNzUwOCwgMjc1MTMsIDI3NTE4LCAyNzUyMywgMjc1MjksIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDI3NTM1LCAyNzU0NCwgMjc1NTMsIDI3NTYxLCAyNzU2OSwgMjc1NzksIDI3NTg3LCAyNzU5NiwgCi0gICAgMjc2MDMsIDI3NjEwLCAyNzYxNywgMjc2MjUsIDI3NjMzLCAyNzY0MSwgMjc2NDksIDI3NjU3LCAyNzY2NSwgMjc2NzMsIAotICAgIDI3NjgxLCAyNzY4OCwgMjc2OTYsIDI3NzA0LCAyNzcxMiwgMjc3MjAsIDI3NzI4LCAyNzczOCwgMjc3NDgsIDI3NzU4LCAKLSAgICAyNzc2OCwgMjc3NzgsIDI3Nzg4LCAyNzc5OCwgMjc4MDgsIDI3ODE4LCAyNzgyOCwgMjc4MzgsIDI3ODQ4LCAyNzg1OCwgCi0gICAgMjc4NjgsIDI3ODc2LCAyNzg4NCwgMjc4OTQsIDI3OTAyLCAwLCAwLCAwLCAwLCAwLCAyNzkxMiwgMjc5MTYsIDI3OTIwLCAKLSAgICAyNzkyNCwgMjc5MjgsIDI3OTMyLCAyNzkzNiwgMjc5NDAsIDI3OTQ0LCAyNzk0OCwgMjc5NTIsIDI3OTU2LCAyNzk2MCwgCi0gICAgMjc5NjQsIDI3OTY4LCAyNzk3MiwgMjc5NzYsIDI3OTgwLCAyNzk4NCwgMjc5ODgsIDI3OTkyLCAyNzk5NiwgMjgwMDAsIAotICAgIDI4MDA0LCAyODAxMCwgMjgwMTQsIDI4MDIwLCAyODAyNCwgMjgwMzAsIDI4MDM0LCAyODA0MCwgMjgwNDQsIDI4MDQ4LCAKLSAgICAyODA1MiwgMjgwNTYsIDI4MDYwLCAyODA2NCwgMjgwNzAsIDI4MDc2LCAyODA4MiwgMjgwODgsIDI4MDkzLCAyODA5OSwgCi0gICAgMjgxMDUsIDI4MTExLCAyODExNywgMjgxMjMsIDI4MTI5LCAyODEzNiwgMjgxNDIsIDI4MTQ3LCAyODE1MiwgMjgxNTYsIAotICAgIDI4MTYwLCAyODE2NCwgMjgxNjgsIDI4MTcyLCAyODE3NiwgMjgxODAsIDI4MTg2LCAyODE5MiwgMjgxOTgsIDI4MjAzLCAKLSAgICAyODIxMCwgMjgyMTUsIDI4MjIwLCAyODIyNiwgMjgyMzEsIDI4MjM4LCAyODI0NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMjgyNTIsIDI4MjU4LCAyODI2MiwgMjgyNjcsIDI4MjcyLCAyODI3NywgMjgyODIsIDI4Mjg3LCAyODI5MiwgCi0gICAgMjgyOTcsIDI4MzAyLCAyODMwNywgMjgzMTIsIDI4MzE3LCAyODMyMiwgMjgzMjcsIDI4MzMxLCAyODMzNSwgMjgzNDAsIAotICAgIDI4MzQ1LCAyODM1MCwgMjgzNTQsIDI4MzU4LCAyODM2MiwgMjgzNjcsIDI4MzcyLCAyODM3NywgMjgzODIsIDI4Mzg2LCAwLCAKLSAgICAwLCAwLCAyODM5MCwgMjgzOTUsIDI4NDAwLCAyODQwNSwgMjg0MTEsIDI4NDE3LCAyODQyMywgMjg0MjksIDI4NDM0LCAKLSAgICAyODQzOSwgMjg0NDUsIDI4NDUxLCAwLCAwLCAwLCAwLCAyODQ1OCwgMjg0NjMsIDI4NDY5LCAyODQ3NSwgMjg0ODEsIAotICAgIDI4NDg2LCAyODQ5MSwgMjg0OTYsIDI4NTAxLCAyODUwNywgMjg1MTIsIDI4NTE3LCAwLCAwLCAwLCAwLCAyODUyMiwgMCwgMCwgCi0gICAgMCwgMjg1MjcsIDI4NTMyLCAyODUzNywgMjg1NDIsIDI4NTQ2LCAyODU1MCwgMjg1NTQsIDI4NTU4LCAyODU2MiwgMjg1NjYsIAotICAgIDI4NTcwLCAyODU3NCwgMjg1NzgsIDI4NTgzLCAyODU4OSwgMjg1OTUsIDI4NjAxLCAyODYwNiwgMjg2MTEsIDI4NjE3LCAKLSAgICAyODYyMywgMjg2MjksIDI4NjM0LCAyODY0MCwgMjg2NDUsIDI4NjUxLCAyODY1NywgMjg2NjIsIDI4NjY4LCAyODY3NCwgCi0gICAgMjg2ODAsIDI4Njg1LCAyODY5MCwgMjg2OTUsIDI4NzAxLCAyODcwNywgMjg3MTIsIDI4NzE4LCAyODcyMywgMjg3MjksIAotICAgIDI4NzM0LCAyODc0MCwgMCwgMCwgMjg3NDYsIDI4NzUyLCAyODc1OCwgMjg3NjQsIDI4NzcwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAyODc3NiwgMjg3ODMsIDI4NzkwLCAyODc5NiwgMjg4MDMsIDI4ODEwLCAyODgxNiwgMjg4MjMsIAotICAgIDI4ODMwLCAyODgzNywgMjg4NDMsIDI4ODQ5LCAyODg1NiwgMjg4NjIsIDI4ODY4LCAyODg3NSwgMjg4ODIsIDI4ODg4LCAKLSAgICAyODg5NSwgMjg5MDIsIDI4OTA4LCAyODkxNCwgMjg5MjEsIDI4OTI3LCAyODkzMywgMjg5NDAsIDI4OTQ2LCAyODk1MywgCi0gICAgMjg5NjAsIDI4OTY3LCAyODk3NCwgMjg5ODEsIDI4OTg4LCAyODk5NCwgMjkwMDEsIDI5MDA4LCAyOTAxNCwgMjkwMjEsIAotICAgIDI5MDI4LCAyOTAzNSwgMjkwNDIsIDI5MDQ5LCAyOTA1NiwgMjkwNjMsIDAsIDAsIDAsIDAsIDI5MDcwLCAyOTA3OCwgCi0gICAgMjkwODUsIDI5MDkyLCAyOTA5OCwgMjkxMDUsIDI5MTExLCAyOTExOCwgMjkxMjQsIDI5MTMxLCAyOTEzOCwgMjkxNDUsIAotICAgIDI5MTUyLCAyOTE1OSwgMjkxNjYsIDI5MTczLCAyOTE4MCwgMjkxODcsIDI5MTk0LCAyOTIwMSwgMjkyMDgsIDI5MjE0LCAKLSAgICAyOTIyMSwgMjkyMjgsIDI5MjM1LCAyOTI0MSwgMCwgMCwgMCwgMCwgMCwgMCwgMjkyNDcsIDI5MjUzLCAyOTI1OCwgMjkyNjMsIAotICAgIDI5MjY4LCAyOTI3MywgMjkyNzgsIDI5MjgzLCAyOTI4OCwgMjkyOTMsIDI5Mjk4LCAwLCAwLCAwLCAyOTMwNCwgMjkzMTAsIAotICAgIDI5MzE2LCAyOTMyMCwgMjkzMjYsIDI5MzMyLCAyOTMzOCwgMjkzNDQsIDI5MzUwLCAyOTM1NiwgMjkzNjIsIDI5MzY4LCAKLSAgICAyOTM3NCwgMjkzODAsIDI5Mzg2LCAyOTM5MiwgMjkzOTgsIDI5NDA0LCAyOTQxMCwgMjk0MTQsIDI5NDIwLCAyOTQyNiwgCi0gICAgMjk0MzIsIDI5NDM4LCAyOTQ0NCwgMjk0NTAsIDI5NDU2LCAyOTQ2MiwgMjk0NjgsIDI5NDc0LCAyOTQ4MCwgMjk0ODYsIAotICAgIDI5NDkyLCAyOTQ5OCwgMjk1MDQsIDI5NTA4LCAyOTUxMywgMjk1MTgsIDI5NTIzLCAyOTUyNywgMjk1MzIsIDI5NTM2LCAKLSAgICAyOTU0MSwgMjk1NDYsIDI5NTUxLCAyOTU1NSwgMjk1NjAsIDI5NTY1LCAyOTU3MCwgMjk1NzUsIDI5NTgwLCAyOTU4NCwgCi0gICAgMjk1ODgsIDI5NTkzLCAyOTU5OCwgMjk2MDIsIDI5NjA2LCAyOTYxMCwgMjk2MTUsIDI5NjIwLCAyOTYyNSwgMjk2MzAsIDAsIAotICAgIDAsIDI5NjM2LCAyOTY0MCwgMjk2NDcsIDI5NjUyLCAyOTY1OCwgMjk2NjQsIDI5NjY5LCAyOTY3NSwgMjk2ODEsIDI5Njg2LCAKLSAgICAyOTY5MiwgMjk2OTgsIDI5NzA0LCAyOTcwOSwgMjk3MTUsIDI5NzIwLCAyOTcyNSwgMjk3MzEsIDI5NzM2LCAyOTc0MiwgCi0gICAgMjk3NDcsIDI5NzUzLCAyOTc1OSwgMjk3NjUsIDI5NzcxLCAyOTc3NSwgMjk3ODAsIDI5Nzg1LCAyOTc5MSwgMjk3OTcsIAotICAgIDI5ODAyLCAyOTgwOCwgMjk4MTQsIDI5ODE4LCAyOTgyMywgMjk4MjgsIDI5ODMyLCAyOTgzNywgMjk4NDIsIDI5ODQ3LCAKLSAgICAyOTg1MiwgMjk4NTgsIDI5ODY0LCAyOTg2OSwgMjk4NzQsIDI5ODc5LCAyOTg4MywgMjk4ODgsIDI5ODkyLCAyOTg5NywgCi0gICAgMjk5MDEsIDI5OTA2LCAyOTkxMSwgMjk5MTYsIDI5OTIxLCAyOTkyNywgMjk5MzMsIDI5OTQwLCAyOTk1MCwgMjk5NTksIAotICAgIDI5OTY2LCAyOTk3MiwgMjk5ODIsIDI5OTg3LCAyOTk5MywgMCwgMjk5OTgsIDMwMDAzLCAzMDAwOCwgMzAwMTYsIDMwMDIyLCAKLSAgICAzMDAzMCwgMzAwMzUsIDMwMDQxLCAzMDA0NywgMzAwNTMsIDMwMDU4LCAzMDA2NCwgMzAwNjksIDMwMDc2LCAzMDA4MiwgCi0gICAgMzAwODcsIDMwMDkzLCAzMDA5OSwgMzAxMDUsIDMwMTEyLCAzMDExOSwgMzAxMjYsIDMwMTMxLCAzMDEzNiwgMzAxNDMsIAotICAgIDMwMTUwLCAzMDE1NywgMzAxNjQsIDMwMTcxLCAwLCAwLCAzMDE3OCwgMzAxODUsIDMwMTkyLCAzMDE5OCwgMzAyMDQsIAotICAgIDMwMjEwLCAzMDIxNiwgMzAyMjIsIDMwMjI4LCAzMDIzNCwgMzAyNDAsIDAsIDAsIDAsIDAsIDAsIDAsIDMwMjQ2LCAzMDI1MiwgCi0gICAgMzAyNTcsIDMwMjYyLCAzMDI2NywgMzAyNzIsIDMwMjc3LCAzMDI4MiwgMzAyODcsIDMwMjkyLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAzMDI5NywgMzAzMDIsIDMwMzA3LCAzMDMxMiwgMzAzMTcsIDMwMzIyLCAzMDMyNywgMzAzMzYsIDMwMzQzLCAzMDM0OCwgCi0gICAgMzAzNTMsIDMwMzU4LCAzMDM2MywgMzAzNjgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDY1NTEyLCA2NTUyMSwgNjU1MzAsIDY1NTQxLCA2NTU0OCwgNjU1NTMsIDY1NTU4LCA2NTU2NSwgNjU1NzIsIDY1NTc4LCAKKyAgICA2NTU4MywgNjU1ODgsIDY1NTkzLCA2NTU5OCwgNjU2MDUsIDY1NjEwLCA2NTYxNSwgNjU2MjAsIDY1NjMxLCA2NTYzNiwgCisgICAgNjU2NDEsIDY1NjQ4LCA2NTY1MywgNjU2NjAsIDY1NjY1LCA2NTY3MCwgNjU2NzcsIDY1Njg0LCA2NTY5MSwgNjU3MDAsIAorICAgIDY1NzA5LCA2NTcxNCwgNjU3MTksIDY1NzI0LCA2NTczMSwgNjU3MzYsIDY1NzQ2LCA2NTc1MywgNjU3NTgsIDY1NzYzLCAKKyAgICA2NTc2OCwgNjU3NzMsIDY1Nzc4LCA2NTc4MywgNjU3OTIsIDY1Nzk5LCA2NTgwNiwgNjU4MTEsIDY1ODE4LCA2NTgyMywgCisgICAgNjU4MzAsIDY1ODM5LCA2NTg1MCwgNjU4NTUsIDY1ODY0LCA2NTg2OSwgNjU4NzYsIDY1ODg1LCA2NTg5NCwgNjU4OTksIAorICAgIDY1OTA0LCA2NTkxMSwgNjU5MTcsIDY1OTI0LCA2NTkzMSwgNjU5MzUsIDY1OTM5LCA2NTk0MiwgNjU5NDYsIDY1OTUwLCAKKyAgICA2NTk1NCwgNjU5NTgsIDY1OTYyLCA2NTk2NiwgNjU5NzAsIDY1OTczLCA2NTk3NywgNjU5ODEsIDY1OTg1LCA2NTk4OSwgCisgICAgNjU5OTMsIDY1OTk3LCA2NjAwMCwgNjYwMDQsIDY2MDA4LCA2NjAxMSwgNjYwMTUsIDY2MDE5LCA2NjAyMywgNjYwMjcsIAorICAgIDY2MDMxLCA2NjAzNSwgNjYwMzksIDY2MDQzLCA2NjA0NywgNjYwNTEsIDY2MDU1LCA2NjA1OSwgNjYwNjMsIDY2MDY3LCAKKyAgICA2NjA3MSwgNjYwNzUsIDY2MDc5LCA2NjA4MywgNjYwODcsIDY2MDkxLCA2NjA5NSwgNjYwOTksIDY2MTAzLCA2NjEwNywgCisgICAgNjYxMTEsIDY2MTE1LCA2NjExOSwgNjYxMjMsIDY2MTI3LCA2NjEzMSwgNjYxMzUsIDY2MTM5LCA2NjE0MywgNjYxNDcsIAorICAgIDY2MTUxLCA2NjE1NSwgNjYxNTksIDY2MTYzLCA2NjE2NywgNjYxNzEsIDY2MTc1LCA2NjE3OSwgNjYxODMsIDY2MTg3LCAKKyAgICA2NjE5MCwgNjYxOTQsIDY2MTk4LCA2NjIwMiwgNjYyMDYsIDY2MjEwLCA2NjIxNCwgNjYyMTgsIDY2MjIyLCA2NjIyNiwgCisgICAgNjYyMzAsIDY2MjM0LCA2NjIzOCwgNjYyNDIsIDY2MjQ2LCA2NjI1MCwgNjYyNTQsIDY2MjU4LCA2NjI2MiwgNjYyNjYsIAorICAgIDY2MjcwLCA2NjI3NCwgNjYyNzgsIDY2MjgyLCA2NjI4NiwgNjYyOTAsIDY2Mjk0LCA2NjI5OCwgNjYzMDIsIDY2MzA2LCAKKyAgICA2NjMxMCwgNjYzMTQsIDY2MzE4LCA2NjMyMiwgNjYzMjYsIDY2MzMwLCA2NjMzNCwgNjYzMzgsIDY2MzQyLCA2NjM0NiwgCisgICAgNjYzNTAsIDY2MzU0LCA2NjM1OCwgNjYzNjIsIDY2MzY2LCA2NjM3MCwgNjYzNzQsIDY2Mzc4LCA2NjM4MiwgNjYzODYsIAorICAgIDY2MzkwLCA2NjM5NCwgNjYzOTgsIDY2NDAyLCA2NjQwNiwgNjY0MTAsIDY2NDE0LCA2NjQxOCwgNjY0MjIsIDY2NDI2LCAKKyAgICA2NjQzMCwgNjY0MzQsIDY2NDM4LCA2NjQ0MiwgNjY0NDYsIDY2NDUwLCA2NjQ1NCwgNjY0NTgsIDY2NDYyLCA2NjQ2NiwgCisgICAgNjY0NzAsIDY2NDc0LCA2NjQ3OCwgNjY0ODIsIDY2NDg2LCA2NjQ5MCwgNjY0OTQsIDY2NDk4LCA2NjUwMiwgNjY1MDYsIAorICAgIDY2NTEwLCA2NjUxNCwgNjY1MTgsIDY2NTIyLCA2NjUyNiwgNjY1MzAsIDY2NTM0LCA2NjUzOCwgNjY1NDIsIDY2NTQ2LCAKKyAgICA2NjU1MCwgNjY1NTQsIDY2NTU4LCA2NjU2MiwgNjY1NjYsIDY2NTcwLCA2NjU3NCwgNjY1NzgsIDY2NTgyLCA2NjU4NiwgCisgICAgNjY1OTAsIDY2NTk0LCA2NjU5OCwgNjY2MDIsIDY2NjA2LCA2NjYxMCwgNjY2MTQsIDY2NjE4LCA2NjYyMiwgNjY2MjYsIAorICAgIDY2NjMwLCA2NjYzNCwgNjY2MzgsIDY2NjQyLCA2NjY0NiwgNjY2NTAsIDY2NjU0LCA2NjY1OCwgNjY2NjEsIDY2NjY1LCAKKyAgICA2NjY2OSwgNjY2NzMsIDY2Njc3LCA2NjY4MSwgNjY2ODUsIDY2Njg5LCA2NjY5MywgNjY2OTcsIDY2NzAxLCA2NjcwNSwgCisgICAgNjY3MDksIDY2NzEzLCA2NjcxNywgNjY3MjEsIDY2NzI1LCA2NjcyOSwgNjY3MzMsIDY2NzM3LCA2Njc0MSwgNjY3NDUsIAorICAgIDY2NzQ5LCA2Njc1MywgNjY3NTcsIDY2NzYxLCA2Njc2NSwgNjY3NjksIDY2NzczLCA2Njc3NywgNjY3ODEsIDY2Nzg1LCAKKyAgICA2Njc4OSwgNjY3OTMsIDY2Nzk3LCA2NjgwMSwgNjY4MDUsIDY2ODA5LCA2NjgxMywgNjY4MTcsIDY2ODIxLCA2NjgyNSwgCisgICAgNjY4MjksIDY2ODMzLCA2NjgzNywgNjY4NDEsIDY2ODQ1LCA2Njg0OSwgNjY4NTMsIDY2ODU3LCA2Njg2MSwgNjY4NjUsIAorICAgIDY2ODY5LCA2Njg3MywgNjY4NzcsIDY2ODgxLCA2Njg4NSwgNjY4ODksIDY2ODkzLCA2Njg5NywgNjY5MDEsIDY2OTA1LCAKKyAgICA2NjkwOSwgNjY5MTMsIDY2OTE3LCA2NjkyMSwgNjY5MjUsIDY2OTI5LCA2NjkzMywgNjY5MzcsIDY2OTQxLCA2Njk0NSwgCisgICAgNjY5NDksIDY2OTUzLCA2Njk1NywgNjY5NjEsIDY2OTY1LCA2Njk2OSwgNjY5NzMsIDY2OTc3LCA2Njk4MSwgNjY5ODUsIAorICAgIDY2OTg5LCA2Njk5MywgNjY5OTcsIDY3MDAxLCA2NzAwNSwgNjcwMDksIDY3MDEzLCA2NzAxNywgNjcwMjEsIDY3MDI1LCAKKyAgICA2NzAyOSwgNjcwMzMsIDY3MDM3LCA2NzA0MSwgNjcwNDUsIDY3MDQ5LCA2NzA1MywgNjcwNTcsIDY3MDYxLCA2NzA2NSwgCisgICAgNjcwNjksIDY3MDczLCA2NzA3NywgNjcwODEsIDY3MDg1LCA2NzA4OSwgNjcwOTMsIDY3MDk3LCA2NzEwMSwgNjcxMDUsIAorICAgIDY3MTA5LCA2NzExMywgNjcxMTcsIDY3MTIxLCA2NzEyNCwgNjcxMjgsIDY3MTMyLCA2NzEzNiwgNjcxNDAsIDY3MTQ0LCAKKyAgICA2NzE0OCwgNjcxNTIsIDY3MTU2LCA2NzE2MCwgNjcxNjQsIDY3MTY4LCA2NzE3MiwgNjcxNzYsIDY3MTgwLCA2NzE4NCwgCisgICAgNjcxODgsIDY3MTkyLCA2NzE5NiwgNjcyMDAsIDY3MjA0LCA2NzIwOCwgNjcyMTIsIDY3MjE2LCA2NzIyMCwgNjcyMjQsIAorICAgIDY3MjI4LCA2NzIzMiwgNjcyMzYsIDY3MjQwLCA2NzI0NCwgNjcyNDgsIDY3MjUyLCA2NzI1NiwgNjcyNjAsIDY3MjY0LCAKKyAgICA2NzI2OCwgNjcyNzIsIDY3Mjc2LCA2NzI4MCwgNjcyODQsIDY3Mjg4LCA2NzI5MiwgNjcyOTYsIDY3MzAwLCA2NzMwNCwgCisgICAgNjczMDgsIDY3MzEyLCA2NzMxNiwgNjczMjAsIDY3MzI0LCA2NzMyOCwgNjczMzIsIDY3MzM2LCA2NzM0MCwgNjczNDQsIAorICAgIDY3MzQ4LCA2NzM1MiwgNjczNTYsIDY3MzYwLCA2NzM2NCwgNjczNjgsIDY3MzcyLCA2NzM3NiwgNjczODAsIDY3Mzg0LCAKKyAgICA2NzM4OCwgNjczOTIsIDY3Mzk2LCA2NzQwMCwgNjc0MDQsIDY3NDA4LCA2NzQxMiwgNjc0MTYsIDY3NDIwLCA2NzQyNCwgCisgICAgNjc0MjgsIDY3NDMyLCA2NzQzNiwgNjc0NDAsIDY3NDQ0LCA2NzQ0OCwgNjc0NTIsIDY3NDU2LCA2NzQ2MCwgNjc0NjQsIAorICAgIDY3NDY4LCA2NzQ3MiwgNjc0NzYsIDY3NDgwLCA2NzQ4MywgNjc0ODcsIDY3NDkxLCA2NzQ5NSwgNjc0OTksIDY3NTAzLCAKKyAgICA2NzUwNywgNjc1MTEsIDY3NTE1LCA2NzUxOSwgNjc1MjMsIDY3NTI3LCA2NzUzMSwgNjc1MzUsIDY3NTM5LCA2NzU0MywgCisgICAgNjc1NDcsIDY3NTUxLCA2NzU1NSwgNjc1NTksIDY3NTYzLCA2NzU2NywgNjc1NzEsIDY3NTc1LCA2NzU3OSwgNjc1ODMsIAorICAgIDY3NTg3LCA2NzU5MSwgNjc1OTUsIDY3NTk5LCA2NzYwMywgNjc2MDcsIDY3NjExLCA2NzYxNSwgNjc2MTksIDY3NjIzLCAKKyAgICA2NzYyNywgNjc2MzEsIDY3NjM1LCA2NzYzOSwgNjc2NDMsIDY3NjQ3LCA2NzY1MSwgNjc2NTUsIDY3NjU5LCA2NzY2MywgCisgICAgNjc2NjcsIDY3NjcxLCA2NzY3NSwgNjc2NzksIDY3NjgzLCA2NzY4NywgNjc2OTEsIDY3Njk1LCA2NzY5OSwgNjc3MDMsIAorICAgIDY3NzA3LCA2NzcxMSwgNjc3MTUsIDY3NzE5LCA2NzcyMywgNjc3MjcsIDY3NzMxLCA2NzczNSwgNjc3MzksIDY3NzQzLCAKKyAgICA2Nzc0NywgNjc3NTEsIDY3NzU1LCA2Nzc1OSwgNjc3NjMsIDY3NzY3LCA2Nzc3MSwgNjc3NzUsIDY3Nzc5LCA2Nzc4MywgCisgICAgNjc3ODcsIDY3NzkxLCA2Nzc5NSwgNjc3OTksIDY3ODAzLCA2NzgwNywgNjc4MTEsIDY3ODE1LCA2NzgxOSwgNjc4MjMsIAorICAgIDY3ODI3LCA2NzgzMSwgNjc4MzUsIDY3ODM5LCA2Nzg0MywgNjc4NDcsIDY3ODUxLCA2Nzg1NSwgNjc4NTksIDY3ODYzLCAKKyAgICA2Nzg2NywgNjc4NzEsIDY3ODc1LCA2Nzg3OSwgNjc4ODMsIDY3ODg3LCA2Nzg5MSwgNjc4OTUsIDY3ODk5LCA2NzkwMywgCisgICAgNjc5MDcsIDY3OTExLCA2NzkxNSwgNjc5MTksIDY3OTIzLCA2NzkyNywgNjc5MzEsIDY3OTM1LCA2NzkzOSwgNjc5NDMsIAorICAgIDY3OTQ3LCA2Nzk1MSwgNjc5NTUsIDY3OTU5LCA2Nzk2MywgNjc5NjcsIDY3OTcxLCA2Nzk3NSwgNjc5NzgsIDY3OTgyLCAKKyAgICA2Nzk4NiwgNjc5OTAsIDY3OTk0LCA2Nzk5OCwgNjgwMDIsIDY4MDA2LCA2ODAxMCwgNjgwMTQsIDY4MDE4LCA2ODAyMiwgCisgICAgNjgwMjYsIDY4MDMwLCA2ODAzNCwgNjgwMzgsIDY4MDQyLCA2ODA0NiwgNjgwNTAsIDY4MDU0LCA2ODA1OCwgNjgwNjIsIAorICAgIDY4MDY2LCA2ODA3MCwgNjgwNzQsIDY4MDc4LCA2ODA4MiwgNjgwODYsIDY4MDkwLCA2ODA5NCwgNjgwOTgsIDY4MTAyLCAKKyAgICA2ODEwNiwgNjgxMTAsIDY4MTE0LCA2ODExOCwgNjgxMjIsIDY4MTI2LCA2ODEzMCwgNjgxMzQsIDY4MTM4LCA2ODE0MiwgCisgICAgNjgxNDYsIDY4MTUwLCA2ODE1NCwgNjgxNTgsIDY4MTYyLCA2ODE2NiwgNjgxNzAsIDY4MTc0LCA2ODE3OCwgNjgxODIsIAorICAgIDY4MTg2LCA2ODE5MCwgNjgxOTQsIDY4MTk4LCA2ODIwMiwgNjgyMDYsIDY4MjEwLCA2ODIxNCwgNjgyMTgsIDY4MjIyLCAKKyAgICA2ODIyNiwgNjgyMzAsIDY4MjM0LCA2ODIzOCwgNjgyNDIsIDY4MjQ2LCA2ODI1MCwgNjgyNTQsIDY4MjU4LCA2ODI2MiwgCisgICAgNjgyNjYsIDY4MjcwLCA2ODI3NCwgNjgyNzgsIDY4MjgyLCA2ODI4NiwgNjgyOTAsIDY4Mjk0LCA2ODI5OCwgNjgzMDIsIAorICAgIDY4MzA2LCA2ODMxMCwgNjgzMTQsIDY4MzE4LCA2ODMyMiwgNjgzMjYsIDY4MzMwLCA2ODMzNCwgNjgzMzgsIDY4MzQyLCAKKyAgICA2ODM0NiwgNjgzNTAsIDY4MzU0LCA2ODM1OCwgNjgzNjIsIDY4MzY2LCA2ODM3MCwgNjgzNzQsIDY4Mzc4LCA2ODM4MiwgCisgICAgNjgzODYsIDY4MzkwLCA2ODM5NCwgNjgzOTgsIDY4NDAyLCA2ODQwNiwgNjg0MTAsIDY4NDE0LCA2ODQxOCwgNjg0MjIsIAorICAgIDY4NDI2LCA2ODQzMCwgNjg0MzMsIDY4NDM3LCA2ODQ0MSwgNjg0NDUsIDY4NDQ5LCA2ODQ1MywgNjg0NTcsIDY4NDYxLCAKKyAgICA2ODQ2NSwgNjg0NjksIDY4NDczLCA2ODQ3NywgNjg0ODEsIDY4NDg1LCA2ODQ4OSwgNjg0OTMsIDY4NDk3LCA2ODUwMSwgCisgICAgNjg1MDUsIDY4NTA5LCA2ODUxMywgNjg1MTcsIDY4NTIxLCA2ODUyNSwgNjg1MjksIDY4NTMzLCA2ODUzNywgNjg1NDEsIAorICAgIDY4NTQ1LCA2ODU0OSwgNjg1NTMsIDY4NTU3LCA2ODU2MSwgNjg1NjUsIDY4NTY5LCA2ODU3MywgNjg1NzcsIDY4NTgxLCAKKyAgICA2ODU4NSwgNjg1ODksIDY4NTkzLCA2ODU5NywgNjg2MDEsIDY4NjA1LCA2ODYwOSwgNjg2MTMsIDY4NjE3LCA2ODYyMSwgCisgICAgNjg2MjUsIDY4NjI5LCA2ODYzMywgNjg2MzcsIDY4NjQxLCA2ODY0NSwgNjg2NDksIDY4NjUzLCA2ODY1NywgNjg2NjEsIAorICAgIDY4NjY1LCA2ODY2OSwgNjg2NzMsIDY4Njc3LCA2ODY4MSwgNjg2ODUsIDY4Njg5LCA2ODY5MywgNjg2OTcsIDY4NzAxLCAKKyAgICA2ODcwNSwgNjg3MDksIDY4NzEzLCA2ODcxNywgNjg3MjEsIDY4NzI1LCA2ODcyOSwgNjg3MzMsIDY4NzM3LCA2ODc0MSwgCisgICAgNjg3NDUsIDY4NzQ5LCA2ODc1MywgNjg3NTcsIDY4NzYxLCA2ODc2NSwgNjg3NjksIDY4NzczLCA2ODc3NywgNjg3ODEsIAorICAgIDY4Nzg1LCA2ODc4OSwgNjg3OTMsIDY4Nzk3LCA2ODgwMSwgNjg4MDUsIDY4ODA5LCA2ODgxMywgNjg4MTcsIDY4ODIxLCAKKyAgICA2ODgyNSwgNjg4MjksIDY4ODMzLCA2ODgzNywgNjg4NDEsIDY4ODQ1LCA2ODg0OSwgNjg4NTMsIDY4ODU3LCA2ODg2MSwgCisgICAgNjg4NjUsIDY4ODY5LCA2ODg3MywgNjg4NzcsIDY4ODgxLCA2ODg4NSwgNjg4ODksIDY4ODkzLCA2ODg5NywgNjg5MDEsIAorICAgIDY4OTA1LCA2ODkwOSwgNjg5MTMsIDY4OTE3LCA2ODkyMSwgNjg5MjUsIDY4OTI5LCA2ODkzMywgNjg5MzcsIDY4OTQxLCAKKyAgICA2ODk0NSwgNjg5NDksIDY4OTUzLCA2ODk1NywgNjg5NjEsIDY4OTY1LCA2ODk2OSwgNjg5NzMsIDY4OTc3LCA2ODk4MSwgCisgICAgNjg5ODUsIDY4OTg5LCA2ODk5MywgNjg5OTcsIDY5MDAxLCA2OTAwNSwgNjkwMDksIDY5MDEzLCA2OTAxNywgNjkwMjEsIAorICAgIDY5MDI1LCA2OTAyOSwgNjkwMzMsIDY5MDM2LCA2OTA0MCwgNjkwNDQsIDY5MDQ4LCA2OTA1MiwgNjkwNTYsIDY5MDYwLCAKKyAgICA2OTA2NCwgNjkwNjgsIDY5MDcyLCA2OTA3NiwgNjkwODAsIDY5MDg0LCA2OTA4OCwgNjkwOTIsIDY5MDk2LCA2OTEwMCwgCisgICAgNjkxMDQsIDY5MTA4LCA2OTExMiwgNjkxMTYsIDY5MTIwLCA2OTEyNCwgNjkxMjgsIDY5MTMyLCA2OTEzNiwgNjkxNDAsIAorICAgIDY5MTQ0LCA2OTE0OCwgNjkxNTIsIDY5MTU2LCA2OTE2MCwgNjkxNjQsIDY5MTY4LCA2OTE3MiwgNjkxNzYsIDY5MTgwLCAKKyAgICA2OTE4NCwgNjkxODgsIDY5MTkyLCA2OTE5NiwgNjkyMDAsIDY5MjA0LCA2OTIwOCwgNjkyMTIsIDY5MjE2LCA2OTIyMCwgCisgICAgNjkyMjQsIDY5MjI4LCA2OTIzMiwgNjkyMzYsIDY5MjQwLCA2OTI0NCwgNjkyNDgsIDY5MjUyLCA2OTI1NiwgNjkyNjAsIAorICAgIDY5MjY0LCA2OTI2OCwgNjkyNzIsIDY5Mjc2LCA2OTI4MCwgNjkyODQsIDY5Mjg4LCA2OTI5MiwgNjkyOTYsIDY5MzAwLCAKKyAgICA2OTMwNCwgNjkzMDgsIDY5MzEyLCA2OTMxNiwgNjkzMjAsIDY5MzI0LCA2OTMyOCwgNjkzMzIsIDY5MzM2LCA2OTM0MCwgCisgICAgNjkzNDQsIDY5MzQ4LCA2OTM1MiwgNjkzNTYsIDY5MzYwLCA2OTM2NCwgNjkzNjgsIDY5MzcyLCA2OTM3NiwgNjkzODAsIAorICAgIDY5Mzg0LCA2OTM4OCwgNjkzOTIsIDY5Mzk2LCA2OTQwMCwgNjk0MDQsIDY5NDA4LCA2OTQxMiwgNjk0MTYsIDY5NDIwLCAKKyAgICA2OTQyNCwgNjk0MjgsIDY5NDMyLCA2OTQzNiwgNjk0NDAsIDY5NDQ0LCA2OTQ0OCwgNjk0NTIsIDY5NDU2LCA2OTQ2MCwgCisgICAgNjk0NjQsIDY5NDY4LCA2OTQ3MiwgNjk0NzYsIDY5NDgwLCA2OTQ4NCwgNjk0ODgsIDY5NDkyLCA2OTQ5NiwgNjk1MDAsIAorICAgIDY5NTA0LCA2OTUwOCwgNjk1MTIsIDY5NTE2LCA2OTUyMCwgNjk1MjQsIDY5NTI4LCA2OTUzMiwgNjk1MzYsIDY5NTQwLCAKKyAgICA2OTU0NCwgNjk1NDgsIDY5NTUyLCA2OTU1NiwgNjk1NjAsIDY5NTY0LCA2OTU2OCwgNjk1NzIsIDY5NTc2LCA2OTU4MCwgCisgICAgNjk1ODQsIDY5NTg4LCA2OTU5MiwgNjk1OTYsIDY5NjAwLCA2OTYwNCwgNjk2MDgsIDY5NjEyLCA2OTYxNiwgNjk2MjAsIAorICAgIDY5NjI0LCA2OTYyOCwgNjk2MzIsIDY5NjM2LCA2OTY0MCwgNjk2NDQsIDY5NjQ4LCA2OTY1MiwgNjk2NTYsIDY5NjYwLCAKKyAgICA2OTY2NCwgNjk2NjgsIDY5NjcyLCA2OTY3NiwgNjk2ODAsIDY5Njg0LCA2OTY4OCwgNjk2OTIsIDY5Njk2LCA2OTcwMCwgCisgICAgNjk3MDQsIDY5NzA4LCA2OTcxMiwgNjk3MTYsIDY5NzIwLCA2OTcyNCwgNjk3MjgsIDY5NzMyLCA2OTczNiwgNjk3NDAsIAorICAgIDY5NzQ0LCA2OTc0OCwgNjk3NTIsIDY5NzU2LCA2OTc2MCwgNjk3NjQsIDY5NzY4LCA2OTc3MiwgNjk3NzYsIDY5NzgwLCAKKyAgICA2OTc4NCwgNjk3ODgsIDY5NzkyLCA2OTc5NiwgNjk4MDAsIDY5ODA0LCA2OTgwOCwgNjk4MTIsIDY5ODE2LCA2OTgyMCwgCisgICAgNjk4MjQsIDY5ODI4LCA2OTgzMiwgNjk4MzYsIDY5ODQwLCA2OTg0NCwgNjk4NDgsIDY5ODUyLCA2OTg1NiwgNjk4NjAsIAorICAgIDY5ODY0LCA2OTg2OCwgNjk4NzIsIDY5ODc2LCA2OTg4MCwgNjk4ODQsIDY5ODg4LCA2OTg5MiwgNjk4OTYsIDY5OTAwLCAKKyAgICA2OTkwNCwgNjk5MDgsIDY5OTEyLCA2OTkxNiwgNjk5MjAsIDY5OTI0LCA2OTkyOCwgNjk5MzIsIDY5OTM2LCA2OTk0MCwgCisgICAgNjk5NDQsIDY5OTQ4LCA2OTk1MiwgNjk5NTYsIDY5OTYwLCA2OTk2NCwgNjk5NjgsIDY5OTcyLCA2OTk3NiwgNjk5ODAsIAorICAgIDY5OTg0LCA2OTk4OCwgNjk5OTIsIDY5OTk2LCA3MDAwMCwgNzAwMDQsIDcwMDA4LCA3MDAxMiwgNzAwMTYsIDcwMDIwLCAKKyAgICA3MDAyNCwgNzAwMjgsIDcwMDMyLCA3MDAzNiwgNzAwNDAsIDcwMDQ0LCA3MDA0OCwgNzAwNTIsIDcwMDU2LCA3MDA2MCwgCisgICAgNzAwNjQsIDcwMDY4LCA3MDA3MiwgNzAwNzYsIDcwMDgwLCA3MDA4NCwgNzAwODgsIDcwMDkyLCA3MDA5NiwgNzAxMDAsIAorICAgIDcwMTA0LCA3MDEwOCwgNzAxMTIsIDcwMTE2LCA3MDEyMCwgNzAxMjQsIDcwMTI4LCA3MDEzMiwgNzAxMzYsIDcwMTQwLCAKKyAgICA3MDE0NCwgNzAxNDgsIDcwMTUyLCA3MDE1NiwgNzAxNjAsIDcwMTY0LCA3MDE2OCwgNzAxNzIsIDcwMTc2LCA3MDE4MCwgCisgICAgNzAxODQsIDcwMTg4LCA3MDE5MiwgNzAxOTYsIDcwMjAwLCA3MDIwNCwgNzAyMDgsIDcwMjEyLCA3MDIxNiwgNzAyMjAsIAorICAgIDcwMjI0LCA3MDIyOCwgNzAyMzIsIDcwMjM2LCA3MDI0MCwgNzAyNDQsIDcwMjQ4LCA3MDI1MiwgNzAyNTYsIDcwMjYwLCAKKyAgICA3MDI2NCwgNzAyNjgsIDcwMjcyLCA3MDI3NiwgNzAyODAsIDcwMjg0LCA3MDI4OCwgNzAyOTIsIDcwMjk2LCA3MDMwMCwgCisgICAgNzAzMDQsIDcwMzA4LCA3MDMxMiwgNzAzMTYsIDcwMzIwLCA3MDMyNCwgNzAzMjgsIDcwMzMyLCA3MDMzNiwgNzAzNDAsIAorICAgIDcwMzQ0LCA3MDM0OCwgNzAzNTIsIDcwMzU2LCA3MDM2MCwgNzAzNjQsIDcwMzY4LCA3MDM3MiwgNzAzNzYsIDcwMzgwLCAKKyAgICA3MDM4NCwgNzAzODgsIDcwMzkyLCA3MDM5NiwgNzA0MDAsIDcwNDA0LCA3MDQwOCwgNzA0MTIsIDcwNDE2LCA3MDQyMCwgCisgICAgNzA0MjQsIDcwNDI4LCA3MDQzMiwgNzA0MzYsIDcwNDQwLCA3MDQ0NCwgNzA0NDgsIDcwNDUyLCA3MDQ1NiwgNzA0NjAsIAorICAgIDcwNDY0LCA3MDQ2OCwgNzA0NzIsIDcwNDc2LCA3MDQ4MCwgNzA0ODQsIDcwNDg4LCA3MDQ5MiwgNzA0OTYsIDcwNTAwLCAKKyAgICA3MDUwNCwgNzA1MDgsIDcwNTEyLCA3MDUxNiwgNzA1MjAsIDcwNTI0LCA3MDUyOCwgNzA1MzIsIDcwNTM2LCA3MDU0MCwgCisgICAgNzA1NDQsIDcwNTQ4LCA3MDU1MiwgNzA1NTYsIDcwNTYwLCA3MDU2NCwgNzA1NjgsIDcwNTcyLCA3MDU3NiwgMCwgMCwgMCwgCisgICAgNzA1ODAsIDcwNTg0LCA3MDU4OCwgNzA1OTIsIDcwNTk2LCA3MDYwMCwgNzA2MDQsIDcwNjA4LCA3MDYxMiwgNzA2MTYsIAorICAgIDcwNjIwLCA3MDYyNCwgNzA2MjgsIDcwNjMyLCA3MDYzNiwgNzA2NDAsIDcwNjQ0LCA3MDY0OCwgNzA2NTIsIDcwNjU2LCAKKyAgICA3MDY2MCwgNzA2NjQsIDcwNjY4LCA3MDY3MiwgNzA2NzYsIDcwNjgwLCA3MDY4NCwgNzA2ODgsIDcwNjkyLCA3MDY5NiwgCisgICAgNzA3MDAsIDcwNzA0LCA3MDcwOCwgNzA3MTIsIDcwNzE2LCA3MDcyMCwgNzA3MjQsIDcwNzI4LCA3MDczMiwgNzA3MzYsIAorICAgIDcwNzQwLCA3MDc0NCwgNzA3NDgsIDcwNzUyLCA3MDc1NiwgNzA3NjAsIDcwNzY0LCA3MDc2OCwgNzA3NzIsIDcwNzc2LCAKKyAgICA3MDc4MCwgNzA3ODQsIDcwNzg4LCA3MDc5MiwgNzA3OTYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDcwODAwLCAKKyAgICA3MDgwNSwgNzA4MDksIDcwODE0LCA3MDgxOSwgNzA4MjQsIDcwODI5LCA3MDgzNCwgNzA4MzgsIDcwODQzLCA3MDg0OCwgCisgICAgNzA4NTMsIDcwODU4LCA3MDg2MywgNzA4NjgsIDcwODczLCA3MDg3NywgNzA4ODEsIDcwODg2LCA3MDg5MSwgNzA4OTYsIAorICAgIDcwOTAxLCA3MDkwNiwgNzA5MTAsIDcwOTE1LCA3MDkyMCwgNzA5MjUsIDcwOTMwLCA3MDkzNSwgNzA5MzksIDcwOTQ0LCAKKyAgICA3MDk0OCwgNzA5NTMsIDcwOTU3LCA3MDk2MiwgNzA5NjYsIDcwOTcwLCA3MDk3NCwgNzA5NzksIDcwOTg0LCA3MDk4OSwgCisgICAgNzA5OTcsIDcxMDA1LCA3MTAxMywgNzEwMjEsIDcxMDI4LCA3MTAzNiwgNzEwNDIsIDcxMDUwLCA3MTA1NCwgNzEwNTgsIAorICAgIDcxMDYyLCA3MTA2NiwgNzEwNzAsIDcxMDc0LCA3MTA3OCwgNzEwODIsIDcxMDg2LCA3MTA5MCwgNzEwOTQsIDcxMDk4LCAKKyAgICA3MTEwMiwgNzExMDYsIDcxMTEwLCA3MTExNCwgNzExMTgsIDcxMTIyLCA3MTEyNiwgNzExMzAsIDcxMTM0LCA3MTEzOCwgCisgICAgNzExNDIsIDcxMTQ2LCA3MTE1MCwgNzExNTQsIDcxMTU4LCA3MTE2MiwgNzExNjYsIDcxMTcwLCA3MTE3NCwgNzExNzgsIAorICAgIDcxMTgyLCA3MTE4NiwgNzExOTAsIDcxMTk0LCA3MTE5NywgNzEyMDEsIDcxMjA1LCA3MTIwOSwgNzEyMTMsIDcxMjE3LCAKKyAgICA3MTIyMSwgNzEyMjUsIDcxMjI5LCA3MTIzMywgNzEyMzcsIDcxMjQxLCA3MTI0NSwgNzEyNDksIDcxMjUzLCA3MTI1NywgCisgICAgNzEyNjEsIDcxMjY1LCA3MTI2OSwgNzEyNzMsIDcxMjc3LCA3MTI4MSwgNzEyODUsIDcxMjg5LCA3MTI5MywgNzEyOTcsIAorICAgIDcxMzAxLCA3MTMwNSwgNzEzMDksIDcxMzEzLCA3MTMxNywgNzEzMjEsIDcxMzI1LCA3MTMyOSwgNzEzMzMsIDcxMzM3LCAKKyAgICA3MTM0MSwgNzEzNDQsIDcxMzQ4LCA3MTM1MiwgNzEzNTUsIDcxMzU5LCA3MTM2MywgNzEzNjcsIDcxMzcwLCA3MTM3NCwgCisgICAgNzEzNzgsIDcxMzgyLCA3MTM4NiwgNzEzOTAsIDcxMzk0LCA3MTM5OCwgNzE0MDIsIDcxNDA2LCA3MTQxMCwgNzE0MTQsIAorICAgIDcxNDE4LCA3MTQyMiwgNzE0MjYsIDcxNDMwLCA3MTQzNCwgNzE0MzgsIDcxNDQyLCA3MTQ0NiwgNzE0NTAsIDcxNDU0LCAKKyAgICA3MTQ1OCwgNzE0NjIsIDcxNDY2LCA3MTQ2OSwgNzE0NzIsIDcxNDc2LCA3MTQ4MCwgNzE0ODQsIDcxNDg3LCA3MTQ5MCwgCisgICAgNzE0OTQsIDcxNDk4LCA3MTUwMiwgNzE1MDYsIDcxNTEwLCA3MTUxNCwgNzE1MTgsIDcxNTIyLCA3MTUyNiwgNzE1MzAsIAorICAgIDcxNTM0LCA3MTUzOCwgNzE1NDIsIDcxNTQ2LCA3MTU1MCwgNzE1NTQsIDcxNTU4LCA3MTU2MiwgNzE1NjYsIDcxNTcwLCAKKyAgICA3MTU3NCwgNzE1NzgsIDcxNTgyLCA3MTU4NiwgNzE1OTAsIDcxNTk0LCA3MTU5OCwgNzE2MDIsIDcxNjA2LCA3MTYxMCwgCisgICAgNzE2MTQsIDcxNjE4LCA3MTYyMiwgNzE2MjYsIDcxNjMwLCA3MTYzNCwgNzE2MzgsIDcxNjQxLCA3MTY0NSwgNzE2NDksIAorICAgIDcxNjUzLCA3MTY1NywgNzE2NjEsIDcxNjY1LCA3MTY2OSwgNzE2NzMsIDcxNjc3LCA3MTY4MSwgNzE2ODUsIDcxNjg5LCAKKyAgICA3MTY5MywgNzE2OTcsIDcxNzAxLCA3MTcwNSwgNzE3MDksIDcxNzEzLCA3MTcxNywgNzE3MjEsIDcxNzI1LCA3MTcyOSwgCisgICAgNzE3MzMsIDcxNzM3LCA3MTc0MSwgNzE3NDUsIDcxNzQ5LCA3MTc1MywgNzE3NTcsIDcxNzYxLCA3MTc2NSwgNzE3NjksIAorICAgIDcxNzczLCA3MTc3NywgNzE3ODEsIDcxNzg1LCA3MTc4OCwgNzE3OTIsIDcxNzk2LCA3MTgwMCwgNzE4MDQsIDcxODA4LCAKKyAgICA3MTgxMiwgNzE4MTYsIDcxODIwLCA3MTgyNCwgNzE4MjgsIDcxODMyLCA3MTgzNiwgNzE4NDAsIDcxODQ0LCA3MTg0OCwgCisgICAgNzE4NTIsIDcxODU1LCA3MTg1OSwgNzE4NjMsIDcxODY3LCA3MTg3MSwgNzE4NzUsIDcxODc5LCA3MTg4MywgNzE4ODcsIAorICAgIDcxODkxLCA3MTg5NSwgNzE4OTksIDcxOTAzLCA3MTkwNywgNzE5MTEsIDcxOTE1LCA3MTkxOSwgNzE5MjMsIDcxOTI3LCAKKyAgICA3MTkzMSwgNzE5MzUsIDcxOTM5LCA3MTk0MiwgNzE5NDYsIDcxOTUwLCA3MTk1NCwgNzE5NTgsIDcxOTYyLCA3MTk2NiwgCisgICAgNzE5NzAsIDcxOTc0LCA3MTk3OCwgNzE5ODIsIDcxOTg2LCA3MTk5MCwgNzE5OTQsIDcxOTk4LCA3MjAwMiwgNzIwMDYsIAorICAgIDcyMDEwLCA3MjAxNCwgNzIwMTgsIDcyMDIyLCA3MjAyNiwgNzIwMzAsIDcyMDM0LCA3MjAzOCwgNzIwNDIsIDcyMDQ2LCAKKyAgICA3MjA1MCwgNzIwNTQsIDcyMDU4LCA3MjA2MiwgNzIwNjYsIDcyMDcwLCA3MjA3NCwgNzIwNzgsIDcyMDgyLCA3MjA4NiwgCisgICAgNzIwOTAsIDcyMDk0LCA3MjA5OCwgNzIxMDIsIDcyMTA2LCA3MjExMCwgNzIxMTQsIDcyMTE3LCA3MjEyMiwgNzIxMjYsIAorICAgIDcyMTMyLCA3MjEzNywgNzIxNDMsIDcyMTQ3LCA3MjE1MSwgNzIxNTUsIDcyMTU5LCA3MjE2MywgNzIxNjcsIDcyMTcxLCAKKyAgICA3MjE3NSwgNzIxNzksIDcyMTgzLCA3MjE4NywgNzIxOTEsIDcyMTk1LCA3MjE5OSwgNzIyMDIsIDcyMjA1LCA3MjIwOCwgCisgICAgNzIyMTEsIDcyMjE0LCA3MjIxNywgNzIyMjAsIDcyMjIzLCA3MjIyNiwgNzIyMzEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDcyMjM3LCA3MjI0MiwgNzIyNDcsIDcyMjUyLCA3MjI1NywgCisgICAgNzIyNjQsIDcyMjcxLCA3MjI3NiwgNzIyODEsIDcyMjg2LCA3MjI5MSwgNzIyOTgsIDcyMzA1LCA3MjMxMiwgNzIzMTksIAorICAgIDcyMzI2LCA3MjMzMywgNzIzNDMsIDcyMzUzLCA3MjM2MCwgNzIzNjcsIDcyMzc0LCA3MjM4MSwgNzIzODcsIDcyMzkzLCAKKyAgICA3MjQwMiwgNzI0MTEsIDcyNDE4LCA3MjQyNSwgNzI0MzYsIDcyNDQ3LCA3MjQ1MiwgNzI0NTcsIDcyNDY0LCA3MjQ3MSwgCisgICAgNzI0NzgsIDcyNDg1LCA3MjQ5MiwgNzI0OTksIDcyNTA2LCA3MjUxMywgNzI1MTksIDcyNTI1LCA3MjUzMSwgNzI1MzcsIAorICAgIDcyNTQ0LCA3MjU1MSwgNzI1NTYsIDcyNTYwLCA3MjU2NywgNzI1NzQsIDcyNTgxLCA3MjU4NSwgNzI1OTIsIDcyNTk2LCAKKyAgICA3MjYwMSwgNzI2MDUsIDcyNjExLCA3MjYxNiwgNzI2MjIsIDcyNjI3LCA3MjYzMSwgNzI2MzUsIDcyNjM4LCA3MjY0MSwgCisgICAgNzI2NDYsIDcyNjUxLCA3MjY1NiwgNzI2NjEsIDcyNjY2LCA3MjY3MSwgNzI2NzYsIDcyNjgxLCA3MjY4NiwgNzI2OTEsIAorICAgIDcyNzAwLCA3MjcwOSwgNzI3MTQsIDcyNzE5LCA3MjcyNCwgNzI3MjksIDcyNzM0LCA3MjczOSwgNzI3NDQsIDcyNzQ5LCAKKyAgICA3Mjc1NCwgNzI3NTksIDcyNzY0LCA3Mjc2OSwgNzI3NzQsIDcyNzc5LCA3Mjc4NSwgNzI3OTEsIDcyNzk3LCAwLCA3MjgwMywgCisgICAgNzI4MDksIDcyODEyLCA3MjgxNSwgNzI4MTgsIDcyODIyLCA3MjgyNiwgNzI4MzAsIDcyODM0LCA3MjgzNywgNzI4NDEsIAorICAgIDcyODQ0LCA3Mjg0OCwgNzI4NTEsIDcyODU1LCA3Mjg1OSwgNzI4NjMsIDcyODY3LCA3Mjg3MSwgNzI4NzUsIDcyODc5LCAKKyAgICA3Mjg4MywgNzI4ODcsIDcyODkxLCA3Mjg5NSwgNzI4OTksIDcyOTAzLCA3MjkwNywgNzI5MTEsIDcyOTE1LCA3MjkxOSwgCisgICAgNzI5MjMsIDcyOTI3LCA3MjkzMSwgNzI5MzUsIDcyOTM5LCA3Mjk0MiwgNzI5NDYsIDcyOTUwLCA3Mjk1NCwgNzI5NTgsIAorICAgIDcyOTYyLCA3Mjk2NiwgNzI5NzAsIDcyOTc0LCA3Mjk3OCwgNzI5ODIsIDcyOTg2LCA3Mjk5MCwgNzI5OTQsIDcyOTk4LCAKKyAgICA3MzAwMiwgNzMwMDYsIDczMDEwLCA3MzAxNCwgNzMwMTgsIDczMDIyLCA3MzAyNiwgNzMwMzAsIDczMDM0LCA3MzAzOCwgCisgICAgNzMwNDEsIDczMDQ1LCA3MzA0OSwgNzMwNTMsIDczMDU3LCA3MzA2MSwgNzMwNjUsIDczMDY5LCA3MzA3MiwgNzMwNzYsIAorICAgIDczMDgwLCA3MzA4NCwgNzMwODgsIDczMDkyLCA3MzA5NiwgNzMxMDAsIDczMTA0LCA3MzEwOCwgNzMxMTIsIDczMTE2LCAKKyAgICA3MzEyMCwgNzMxMjUsIDczMTMwLCA3MzEzMywgNzMxMzgsIDczMTQxLCA3MzE0NCwgNzMxNDcsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDczMTUxLCA3MzE2MCwgNzMxNjksIDczMTc4LCA3MzE4NywgNzMxOTYsIDczMjA1LCA3MzIxNCwgNzMyMjMsIAorICAgIDczMjMxLCA3MzIzOCwgNzMyNDYsIDczMjUzLCA3MzI2MSwgNzMyNzEsIDczMjgwLCA3MzI5MCwgNzMyOTksIDczMzA5LCAKKyAgICA3MzMxNywgNzMzMjQsIDczMzMyLCA3MzMzOSwgNzMzNDcsIDczMzUyLCA3MzM1NywgNzMzNjIsIDczMzcxLCA3MzM3NywgCisgICAgNzMzODMsIDczMzkwLCA3MzM5OSwgNzM0MDcsIDczNDE1LCA3MzQyMywgNzM0MzAsIDczNDM3LCA3MzQ0NCwgNzM0NTEsIAorICAgIDczNDU2LCA3MzQ2MSwgNzM0NjYsIDczNDcxLCA3MzQ3NiwgNzM0ODEsIDczNDg2LCA3MzQ5MSwgNzM0OTksIDczNTA3LCAKKyAgICA3MzUxMywgNzM1MTgsIDczNTIzLCA3MzUyOCwgNzM1MzMsIDczNTM4LCA3MzU0MywgNzM1NDgsIDczNTUzLCA3MzU1OCwgCisgICAgNzM1NjYsIDczNTc0LCA3MzU3OSwgNzM1ODQsIDczNTk0LCA3MzYwNCwgNzM2MTEsIDczNjE4LCA3MzYyNywgNzM2MzYsIAorICAgIDczNjQ4LCA3MzY2MCwgNzM2NjYsIDczNjcyLCA3MzY4MCwgNzM2ODgsIDczNjk4LCA3MzcwOCwgNzM3MTUsIDczNzIyLCAKKyAgICA3MzcyNywgNzM3MzIsIDczNzQ0LCA3Mzc1NiwgNzM3NjQsIDczNzcyLCA3Mzc4MiwgNzM3OTIsIDczODA0LCA3MzgxNiwgCisgICAgNzM4MjUsIDczODM0LCA3Mzg0MSwgNzM4NDgsIDczODU1LCA3Mzg2MiwgNzM4NzEsIDczODgwLCA3Mzg4NSwgNzM4OTAsIAorICAgIDczODk3LCA3MzkwNCwgNzM5MTEsIDczOTE4LCA3MzkzMCwgNzM5NDIsIDczOTQ3LCA3Mzk1MiwgNzM5NTcsIDczOTYyLCAKKyAgICA3Mzk2NywgNzM5NzIsIDczOTc3LCA3Mzk4MiwgNzM5ODYsIDczOTkxLCA3Mzk5NiwgNzQwMDEsIDc0MDA2LCA3NDAxMSwgCisgICAgNzQwMTcsIDc0MDIyLCA3NDAyNywgNzQwMzQsIDc0MDQxLCA3NDA0OCwgNzQwNTUsIDc0MDYyLCA3NDA3MCwgNzQwNzgsIAorICAgIDc0MDgzLCA3NDA4OCwgNzQwOTQsIDc0MTAwLCA3NDEwNiwgNzQxMTIsIDc0MTE5LCA3NDEyNiwgNzQxMzMsIDc0MTM3LCAKKyAgICA3NDE0NCwgNzQxNDksIDc0MTU0LCA3NDE2MCwgMCwgNzQxNzMsIDc0MTgxLCA3NDE4OSwgNzQxOTYsIDc0MjAzLCA3NDIxMiwgCisgICAgNzQyMjEsIDc0MjI4LCA3NDIzNSwgNzQyNDIsIDc0MjQ5LCA3NDI1NiwgNzQyNjMsIDc0MjcwLCA3NDI3NywgNzQyODQsIAorICAgIDc0MjkxLCA3NDMwMCwgNzQzMDksIDc0MzE4LCA3NDMyNywgNzQzMzYsIDc0MzQ1LCA3NDM1NCwgNzQzNjMsIDc0MzcyLCAKKyAgICA3NDM4MSwgNzQzODgsIDc0Mzk2LCA3NDQwMiwgMCwgMCwgNzQ0MTAsIDc0NDE2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzMDM3MywgMzAzNzksIAotICAgIDMwMzg1LCAzMDM4OSwgMzAzOTMsIDMwMzk3LCAzMDQwMSwgMzA0MDcsIDMwNDExLCAzMDQxNywgMzA0MjEsIDMwNDI3LCAKLSAgICAzMDQzMywgMzA0NDEsIDMwNDQ3LCAzMDQ1NSwgMzA0NTksIDMwNDYzLCAzMDQ2NywgMzA0NzMsIDMwNDc2LCAzMDQ4MiwgCi0gICAgMzA0ODYsIDMwNDkyLCAzMDQ5NiwgMzA1MDAsIDMwNTA2LCAzMDUxMCwgMzA1MTYsIDMwNTIwLCAzMDUyNiwgMzA1MzQsIAotICAgIDMwNTQyLCAzMDU1MCwgMzA1NTYsIDMwNTYwLCAzMDU2NiwgMzA1NzAsIDMwNTc2LCAzMDU3OSwgMzA1ODIsIDMwNTg4LCAKLSAgICAzMDU5MiwgMzA1OTgsIDMwNjAxLCAzMDYwNCwgMzA2MDcsIDMwNjExLCAzMDYxNSwgMzA2MjEsIDMwNjI3LCAzMDYzMCwgCi0gICAgMzA2MzMsIDMwNjM3LCAzMDY0MiwgMzA2NDcsIDMwNjU0LCAzMDY1OSwgMzA2NjYsIDMwNjczLCAzMDY4MiwgMzA2ODksIAotICAgIDMwNjk4LCAzMDcwMywgMzA3MTAsIDMwNzE3LCAzMDcyNiwgMzA3MzEsIDMwNzM4LCAzMDc0MywgMzA3NDksIDMwNzU1LCAKLSAgICAzMDc2MSwgMzA3NjcsIDMwNzczLCAzMDc3OSwgMCwgMCwgMCwgMCwgMzA3ODUsIDMwNzg5LCAzMDc5MiwgMzA3OTUsIAotICAgIDMwNzk4LCAzMDgwMSwgMzA4MDQsIDMwODA3LCAzMDgxMCwgMzA4MTMsIDMwODE2LCAzMDgxOSwgMzA4MjIsIDMwODI1LCAKLSAgICAzMDgzMCwgMzA4MzUsIDMwODQwLCAzMDg0MywgMzA4NDgsIDMwODUzLCAzMDg1OCwgMzA4NjMsIDMwODcwLCAzMDg3NSwgCi0gICAgMzA4ODAsIDMwODg1LCAzMDg5MCwgMzA4OTcsIDMwOTAzLCAzMDkwOSwgMzA5MTUsIDMwOTIxLCAzMDkyNywgMzA5MzYsIAotICAgIDMwOTQ1LCAzMDk1MSwgMzA5NTcsIDMwOTY1LCAzMDk3MywgMzA5ODIsIDMwOTkxLCAzMDk5OSwgMzEwMDcsIDMxMDE2LCAKLSAgICAzMTAyNSwgMCwgMCwgMCwgMzEwMzMsIDMxMDM3LCAzMTA0MSwgMzEwNDUsIDMxMDQ4LCAzMTA1MSwgMzEwNTQsIDMxMDU4LCAKLSAgICAzMTA2MSwgMzEwNjQsIDMxMDY4LCAzMTA3MSwgMzEwNzUsIDMxMDc5LCAzMTA4MywgMzEwODcsIDMxMDkxLCAzMTA5NSwgCi0gICAgMzEwOTksIDMxMTAzLCAzMTEwNywgMzExMTAsIDMxMTEzLCAzMTExNywgMzExMjEsIDMxMTI1LCAzMTEyOCwgMzExMzEsIAotICAgIDMxMTM0LCAzMTEzOCwgMzExNDIsIDMxMTQ1LCAzMTE0OSwgMzExNTIsIDMxMTU3LCAzMTE2MiwgMzExNjcsIDMxMTcyLCAKLSAgICAzMTE3NywgMzExODIsIDMxMTg3LCAzMTE5MiwgMzExOTcsIDMxMjAxLCAzMTIwNSwgMzEyMTEsIDMxMjE4LCAzMTIyMiwgCi0gICAgMzEyMjYsIDMxMjMwLCAzMTIzMywgMzEyMzYsIDMxMjM5LCAzMTI0MiwgMzEyNDUsIDMxMjQ4LCAzMTI1MSwgMzEyNTQsIAotICAgIDMxMjU3LCAzMTI2MCwgMzEyNjQsIDMxMjY4LCAzMTI3MiwgMzEyNzcsIDMxMjgxLCAzMTI4NSwgMzEyOTEsIDMxMjk1LCAKLSAgICAzMTMwMSwgMzEzMDcsIDMxMzEyLCAzMTMxOSwgMzEzMjMsIDMxMzI5LCAzMTMzMywgMzEzMzksIDMxMzQ0LCAzMTM1MSwgCi0gICAgMzEzNTgsIDMxMzYzLCAzMTM3MCwgMzEzNzUsIDMxMzgwLCAzMTM4NCwgMzEzOTAsIDMxMzk0LCAzMTQwMCwgMzE0MDcsIAotICAgIDMxNDE0LCAzMTQxOCwgMzE0MjQsIDMxNDMwLCAzMTQzNCwgMzE0NDAsIDMxNDQ1LCAzMTQ1MCwgMzE0NTcsIDMxNDYyLCAKLSAgICAzMTQ2NywgMzE0NzIsIDMxNDc3LCAzMTQ4MSwgMzE0ODUsIDMxNDkwLCAzMTQ5NSwgMzE1MDIsIDMxNTA4LCAzMTUxMywgCi0gICAgMzE1MjAsIDMxNTI1LCAzMTUzMiwgMzE1MzcsIDMxNTQ2LCAzMTU1MiwgMzE1NTgsIDMxNTYyLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAzMTU2NiwgMzE1NzUsIDMxNTgyLCAzMTU4OSwgMzE1OTYsIDMxNTk5LCAzMTYwMywgMzE2MDcsIDMxNjExLCAKLSAgICAzMTYxNSwgMzE2MTksIDMxNjIzLCAzMTYyNywgMzE2MzEsIDMxNjM1LCAzMTYzOSwgMzE2NDMsIDMxNjQ3LCAzMTY1MCwgCi0gICAgMzE2NTMsIDMxNjU3LCAzMTY2MSwgMzE2NjUsIDMxNjY5LCAzMTY3MywgMzE2NzcsIDMxNjgwLCAzMTY4NCwgMzE2ODgsIAotICAgIDMxNjkyLCAzMTY5NiwgMzE2OTksIDMxNzAyLCAzMTcwNiwgMzE3MDksIDMxNzEzLCAzMTcxNywgMzE3MjAsIDMxNzI0LCAKLSAgICAzMTcyOCwgMzE3MzEsIDMxNzM2LCAzMTc0MSwgMzE3NDYsIDMxNzUwLCAzMTc1NCwgMzE3NTksIDMxNzYzLCAzMTc2OCwgCi0gICAgMzE3NzIsIDMxNzc3LCAzMTc4MSwgMzE3ODUsIDMxNzkwLCAzMTc5NSwgMzE3OTksIDMxODA0LCAzMTgwOSwgMzE4MTQsIAotICAgIDMxODE4LCAwLCAwLCAwLCAzMTgyMiwgMzE4MjcsIDMxODM2LCAzMTg0MSwgMzE4NDgsIDMxODUzLCAzMTg1NywgMzE4NjAsIAotICAgIDMxODYzLCAzMTg2NiwgMzE4NjksIDMxODcyLCAzMTg3NSwgMzE4NzgsIDMxODgxLCAwLCAwLCAwLCAzMTg4NCwgMzE4ODgsIAotICAgIDMxODkyLCAzMTg5NiwgMzE5MDMsIDMxOTA5LCAzMTkxNSwgMzE5MjEsIDMxOTI3LCAzMTkzMywgMzE5MzksIDMxOTQ1LCAKLSAgICAzMTk1MSwgMzE5NTcsIDMxOTY0LCAzMTk3MSwgMzE5NzgsIDMxOTg1LCAzMTk5MiwgMzE5OTksIDMyMDA2LCAzMjAxMywgCi0gICAgMzIwMjAsIDMyMDI3LCAzMjAzNCwgMzIwNDEsIDMyMDQ4LCAzMjA1NSwgMzIwNjIsIDMyMDY5LCAzMjA3NiwgMzIwODMsIAotICAgIDMyMDkwLCAzMjA5NywgMzIxMDQsIDMyMTExLCAzMjExOCwgMzIxMjUsIDMyMTMyLCAzMjEzOSwgMzIxNDYsIDMyMTUzLCAKLSAgICAzMjE2MCwgMzIxNjcsIDMyMTc1LCAzMjE4MywgMzIxOTEsIDMyMTk3LCAzMjIwMywgMzIyMDksIDMyMjE3LCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA3NDQyMiwgNzQ0MjksIDc0NDM2LCA3NDQ0MiwgNzQ0NDksIAorICAgIDc0NDU3LCA3NDQ2NSwgNzQ0NzMsIDc0NDgxLCA3NDQ4OSwgNzQ0OTUsIDc0NTAxLCA3NDUwOCwgNzQ1MTQsIDc0NTIwLCAKKyAgICA3NDUyNiwgNzQ1MzMsIDc0NTQwLCA3NDU0NywgNzQ1NTQsIDc0NTYxLCA3NDU2OCwgNzQ1NzUsIDc0NTgyLCA3NDU4OSwgCisgICAgNzQ1OTYsIDc0NjAzLCA3NDYxMCwgNzQ2MTcsIDc0NjI0LCA3NDYzMCwgNzQ2MzcsIDc0NjQ0LCA3NDY1MSwgNzQ2NTgsIAorICAgIDc0NjY1LCA3NDY3MiwgNzQ2NzksIDc0Njg2LCA3NDY5MywgNzQ3MDAsIDc0NzA3LCA3NDcxNCwgNzQ3MjEsIDc0NzI4LCAKKyAgICA3NDczNSwgNzQ3NDIsIDc0NzQ5LCA3NDc1NiwgNzQ3NjQsIDc0NzcyLCA3NDc4MCwgNzQ3ODgsIDAsIDAsIDAsIDAsIAorICAgIDc0Nzk2LCA3NDgwNCwgNzQ4MTIsIDc0ODIwLCA3NDgyOCwgNzQ4MzYsIDc0ODQ0LCA3NDg1MCwgNzQ4NTYsIDc0ODYyLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCA3NDg2OCwgNzQ4NzIsIDc0ODc3LCA3NDg4MiwgNzQ4ODcsIDc0ODkyLCA3NDg5NywgNzQ5MDIsIAorICAgIDc0OTA3LCA3NDkxMiwgNzQ5MTcsIDc0OTIyLCA3NDkyNiwgNzQ5MzAsIDc0OTM1LCA3NDk0MCwgNzQ5NDQsIDc0OTQ5LCAKKyAgICA3NDk1NCwgNzQ5NTksIDc0OTY0LCA3NDk2OSwgNzQ5NzQsIDc0OTc5LCA3NDk4MywgNzQ5ODgsIDc0OTkzLCA3NDk5OCwgCisgICAgNzUwMDMsIDc1MDA3LCA3NTAxMSwgNzUwMTUsIDc1MDE5LCA3NTAyMywgNzUwMjcsIDc1MDMyLCA3NTAzNywgNzUwNDIsIAorICAgIDc1MDQ3LCA3NTA1MiwgNzUwNTksIDc1MDY1LCA3NTA3MCwgNzUwNzUsIDc1MDgwLCA3NTA4NSwgNzUwOTEsIDc1MDk4LCAKKyAgICA3NTEwNCwgNzUxMTEsIDc1MTE4LCA3NTEyNSwgNzUxMzAsIDc1MTM3LCA3NTE0MywgNzUxNDgsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDc1MTU0LCA3NTE1OSwgNzUxNjQsIDc1MTY4LCA3NTE3MywgNzUxNzcsIDc1MTgyLCA3NTE4NiwgNzUxOTEsIAorICAgIDc1MTk2LCA3NTIwMiwgNzUyMDcsIDc1MjEzLCA3NTIxNywgNzUyMjIsIDc1MjI3LCA3NTIzMSwgNzUyMzYsIDc1MjQxLCAKKyAgICA3NTI0NSwgNzUyNTAsIDc1MjU1LCA3NTI2MCwgNzUyNjUsIDc1MjcwLCA3NTI3NSwgNzUyODAsIDc1Mjg1LCA3NTI5MCwgCisgICAgNzUyOTUsIDc1MzAwLCA3NTMwNSwgNzUzMTAsIDc1MzE1LCA3NTMyMCwgNzUzMjUsIDc1MzMwLCA3NTMzNSwgNzUzMzksIAorICAgIDc1MzQzLCA3NTM0OCwgNzUzNTMsIDc1MzU4LCA3NTM2MiwgNzUzNjYsIDc1MzcxLCA3NTM3NiwgNzUzODEsIDc1Mzg2LCAKKyAgICA3NTM5MSwgNzUzOTYsIDc1NDAwLCA3NTQwNSwgNzU0MTEsIDc1NDE3LCA3NTQyMiwgNzU0MjgsIDc1NDMzLCA3NTQzOSwgCisgICAgNzU0NDUsIDc1NDUyLCA3NTQ1OCwgNzU0NjUsIDc1NDcwLCA3NTQ3NiwgNzU0ODIsIDc1NDg3LCA3NTQ5MywgNzU0OTksIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDc1NTA0LCA3NTUwOCwgNzU1MTMsIDc1NTE4LCA3NTUyMiwgNzU1MjYsIDc1NTMwLCAKKyAgICA3NTUzNCwgNzU1MzgsIDc1NTQyLCA3NTU0NiwgNzU1NTAsIDAsIDAsIDAsIDAsIDAsIDAsIDc1NTU0LCA3NTU1OSwgNzU1NjMsIAorICAgIDc1NTY3LCA3NTU3MSwgNzU1NzUsIDc1NTc5LCA3NTU4MywgNzU1ODcsIDc1NTkxLCA3NTU5NSwgNzU1OTksIDc1NjAzLCAKKyAgICA3NTYwNywgNzU2MTEsIDc1NjE1LCA3NTYyMCwgNzU2MjUsIDc1NjMwLCA3NTYzNiwgNzU2NDIsIDc1NjQ5LCA3NTY1NCwgCisgICAgNzU2NTksIDc1NjY1LCA3NTY2OSwgNzU2NzQsIDc1Njc3LCAwLCAwLCAwLCAwLCA3NTY4MCwgNzU2ODcsIDc1NjkzLCAKKyAgICA3NTY5OSwgNzU3MDUsIDc1NzExLCA3NTcxNywgNzU3MjMsIDc1NzI5LCA3NTczNSwgNzU3NDEsIDc1NzQ3LCA3NTc1NCwgCisgICAgNzU3NjEsIDc1NzY4LCA3NTc3NSwgNzU3ODIsIDc1Nzg5LCA3NTc5NiwgNzU4MDMsIDc1ODEwLCA3NTgxNiwgNzU4MjIsIAorICAgIDc1ODI5LCA3NTgzNSwgNzU4NDIsIDc1ODQ5LCA3NTg1NiwgNzU4NjIsIDc1ODY5LCA3NTg3NiwgNzU4ODMsIDc1ODg5LCAKKyAgICA3NTg5NiwgNzU5MDMsIDc1OTA5LCA3NTkxNiwgNzU5MjIsIDc1OTI5LCA3NTkzNiwgNzU5NDIsIDc1OTQ4LCA3NTk1NSwgCisgICAgNzU5NjEsIDc1OTY4LCA3NTk3NSwgNzU5ODQsIDc1OTkxLCA3NTk5OCwgNzYwMDIsIDc2MDA3LCA3NjAxMiwgNzYwMTcsIAorICAgIDc2MDIyLCA3NjAyNiwgNzYwMzAsIDc2MDM1LCA3NjAzOSwgNzYwNDQsIDc2MDQ5LCA3NjA1NCwgNzYwNTksIDc2MDY0LCAKKyAgICA3NjA2OSwgNzYwNzMsIDc2MDc4LCA3NjA4MiwgNzYwODcsIDc2MDkyLCA3NjA5NywgNzYxMDIsIDc2MTA2LCA3NjExMSwgCisgICAgNzYxMTYsIDc2MTIxLCA3NjEyNywgNzYxMzIsIDc2MTM4LCA3NjE0NCwgNzYxNTAsIDc2MTU2LCA3NjE2MiwgNzYxNjcsIAorICAgIDc2MTczLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA3NjE3NywgNzYxODIsIDc2MTg2LCA3NjE5MCwgCisgICAgNzYxOTQsIDc2MTk4LCA3NjIwMiwgNzYyMDYsIDc2MjEwLCA3NjIxNCwgNzYyMTgsIDc2MjIyLCA3NjIyNiwgNzYyMzAsIAorICAgIDc2MjM0LCA3NjIzOCwgNzYyNDIsIDc2MjQ2LCA3NjI1MCwgNzYyNTQsIDc2MjU4LCA3NjI2MiwgNzYyNjYsIDc2MjcwLCAKKyAgICA3NjI3NCwgNzYyNzgsIDc2MjgyLCA3NjI4NiwgNzYyOTAsIDc2Mjk0LCAwLCAwLCAwLCA3NjI5OCwgNzYzMDIsIDc2MzA2LCAKKyAgICA3NjMxMCwgNzYzMTQsIDc2MzE3LCA3NjMyMywgNzYzMjYsIDc2MzMwLCA3NjMzMywgNzYzMzksIDc2MzQ1LCA3NjM1MywgCisgICAgNzYzNTYsIDc2MzYwLCA3NjM2MywgNzYzNjYsIDc2MzcyLCA3NjM3OCwgNzYzODIsIDc2Mzg4LCA3NjM5MiwgNzYzOTYsIAorICAgIDc2NDAyLCA3NjQwNiwgNzY0MTIsIDc2NDE4LCA3NjQyMiwgNzY0MjYsIDc2NDMyLCA3NjQzNiwgNzY0NDIsIDc2NDQ4LCAKKyAgICA3NjQ1MiwgNzY0NTgsIDc2NDYyLCA3NjQ2OCwgNzY0NzEsIDc2NDc0LCA3NjQ4MCwgNzY0ODQsIDc2NDkwLCA3NjQ5MywgCisgICAgNzY0OTYsIDc2NTAwLCA3NjUwNiwgNzY1MTAsIDc2NTE0LCA3NjUyMCwgNzY1MjYsIDc2NTMwLCA3NjUzMywgNzY1MzksIAorICAgIDc2NTQ0LCA3NjU0OSwgNzY1NTQsIDc2NTYxLCA3NjU2NiwgNzY1NzMsIDc2NTc4LCA3NjU4NSwgNzY1OTAsIDc2NTk1LCAKKyAgICA3NjYwMCwgNzY2MDUsIDc2NjA4LCA3NjYxMiwgNzY2MTYsIDc2NjIxLCA3NjYyNiwgNzY2MzEsIDc2NjM2LCA3NjY0MSwgCisgICAgNzY2NDYsIDc2NjUxLCA3NjY1NiwgNzY2NjMsIDc2NjY4LCAwLCA3NjY3NCwgNzY2NzcsIDc2NjgxLCA3NjY4NCwgNzY2ODcsIAorICAgIDc2NjkwLCA3NjY5MywgNzY2OTYsIDc2Njk5LCA3NjcwMiwgNzY3MDUsIDAsIDAsIDAsIDAsIDc2NzA4LCA3NjcxNSwgCisgICAgNzY3MjAsIDc2NzI2LCA3NjczMiwgNzY3MzgsIDc2NzQ0LCA3Njc1MCwgNzY3NTYsIDc2NzYzLCA3Njc3MCwgNzY3NzcsIAorICAgIDc2Nzg0LCA3Njc5MSwgNzY3OTgsIDc2ODA1LCA3NjgxMiwgNzY4MTksIDc2ODI2LCA3NjgzMywgNzY4MzksIDc2ODQ1LCAKKyAgICA3Njg1MSwgNzY4NTcsIDc2ODYzLCA3Njg2OSwgNzY4NzUsIDc2ODgxLCA3Njg4NywgNzY4OTQsIDc2OTAxLCA3NjkwOCwgCisgICAgNzY5MTUsIDAsIDc2OTIyLCA3NjkyNSwgNzY5MjgsIDc2OTMxLCA3NjkzNCwgNzY5MzgsIDc2OTQxLCA3Njk0NCwgNzY5NDgsIAorICAgIDc2OTUyLCA3Njk1NiwgNzY5NjAsIDc2OTY0LCA3Njk2OCwgNzY5NzIsIDc2OTc2LCA3Njk4MCwgNzY5ODQsIDc2OTg4LCAKKyAgICA3Njk5MiwgNzY5OTYsIDc3MDAwLCA3NzAwNCwgNzcwMDgsIDc3MDEyLCA3NzAxNSwgNzcwMTksIDc3MDIyLCA3NzAyNiwgCisgICAgNzcwMzAsIDc3MDM0LCA3NzAzOCwgNzcwNDIsIDc3MDQ1LCA3NzA0OSwgNzcwNTIsIDc3MDU2LCA3NzA2MCwgNzcwNjQsIAorICAgIDc3MDY4LCA3NzA3MiwgNzcwNzUsIDc3MDgwLCA3NzA4NCwgNzcwODksIDc3MDk0LCA3NzA5OCwgNzcxMDMsIDc3MTA3LCAKKyAgICA3NzExMiwgNzcxMTcsIDc3MTIyLCA3NzEyNiwgNzcxMzEsIDc3MTM2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICA3NzE0MSwgNzcxNDYsIDc3MTUxLCA3NzE1NiwgNzcxNjIsIDc3MTY3LCA3NzE3MiwgNzcxNzcsIDc3MTgyLCA3NzE4NywgCisgICAgNzcxOTEsIDc3MTk1LCA3NzIwMCwgNzcyMDYsIDAsIDAsIDc3MjEyLCA3NzIxNiwgNzcyMTksIDc3MjIyLCA3NzIyNSwgCisgICAgNzcyMjgsIDc3MjMxLCA3NzIzNCwgNzcyMzcsIDc3MjQwLCAwLCAwLCA3NzI0MywgNzcyNDgsIDc3MjUzLCA3NzI1OSwgCisgICAgNzcyNjYsIDc3MjcyLCA3NzI3OCwgNzcyODQsIDc3MjkwLCA3NzI5NiwgNzczMDIsIDc3MzA4LCA3NzMxNCwgNzczMjAsIAorICAgIDc3MzI2LCA3NzMzMiwgNzczMzcsIDc3MzQzLCA3NzM0OCwgNzczNTQsIDc3MzYwLCA3NzM2NywgNzczNzMsIDc3Mzc5LCAKKyAgICA3NzM4NSwgNzczOTIsIDc3Mzk5LCA3NzQwNiwgNzc0MTIsIDc3NDE3LCA3NzQyMiwgNzc0MjgsIDc3NDM2LCA3NzQ0MywgCisgICAgNzc0NTAsIDc3NDU4LCA3NzQ2NiwgNzc0NzMsIDc3NDgwLCA3NzQ4NywgNzc0OTQsIDc3NTAxLCA3NzUwOCwgNzc1MTUsIAorICAgIDc3NTIyLCA3NzUyOSwgNzc1MzYsIDc3NTQzLCA3NzU1MCwgNzc1NTcsIDc3NTY0LCA3NzU3MSwgNzc1NzgsIDc3NTg1LCAKKyAgICA3NzU5MiwgNzc1OTksIDc3NjA2LCA3NzYxMiwgNzc2MTgsIDc3NjI1LCA3NzYzMiwgNzc2MzksIDc3NjQ2LCA3NzY1MywgCisgICAgNzc2NjAsIDc3NjY3LCA3NzY3NCwgNzc2ODEsIDc3Njg4LCA3NzY5NSwgNzc3MDIsIDc3NzA5LCA3NzcxNiwgNzc3MjMsIAorICAgIDc3NzMwLCA3NzczNywgNzc3NDQsIDc3NzUxLCA3Nzc1OCwgNzc3NjUsIDc3NzcyLCA3Nzc3OSwgNzc3ODYsIDc3NzkyLCAKKyAgICA3Nzc5OCwgNzc4MDUsIDc3ODExLCA3NzgxNiwgNzc4MjIsIDc3ODI3LCA3NzgzMiwgNzc4MzcsIDc3ODQ0LCA3Nzg1MCwgCisgICAgNzc4NTYsIDc3ODYyLCA3Nzg2OCwgNzc4NzQsIDc3ODgwLCA3Nzg4NiwgNzc4OTQsIDc3OTAyLCA3NzkxMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNzc5MTgsIAorICAgIDc3OTI0LCA3NzkzMCwgNzc5MzYsIDc3OTQ0LCA3Nzk1MiwgNzc5NTgsIDc3OTY0LCA3Nzk3MSwgNzc5NzgsIDc3OTg1LCAKKyAgICA3Nzk5MiwgNzc5OTksIDc4MDA2LCA3ODAxMywgNzgwMjAsIDc4MDI3LCA3ODAzNSwgNzgwNDMsIDc4MDUxLCA3ODA1OSwgCisgICAgNzgwNjcsIDc4MDczLCA3ODA4MSwgNzgwODcsIDc4MDk1LCA3ODEwNCwgNzgxMTIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDc4MTE4LCA3ODEyMiwgNzgxMjYsIDc4MTMwLCA3ODEzNCwgNzgxMzgsIDAsIDAsIDc4MTQyLCA3ODE0NiwgCisgICAgNzgxNTAsIDc4MTU0LCA3ODE1OCwgNzgxNjIsIDAsIDAsIDc4MTY2LCA3ODE3MCwgNzgxNzQsIDc4MTc4LCA3ODE4MiwgCisgICAgNzgxODYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDc4MTkwLCA3ODE5NCwgNzgxOTgsIDc4MjAyLCA3ODIwNiwgCisgICAgNzgyMTAsIDc4MjE0LCAwLCA3ODIxOCwgNzgyMjIsIDc4MjI2LCA3ODIzMCwgNzgyMzQsIDc4MjM4LCA3ODI0MiwgMCwgCisgICAgNzgyNDYsIDc4MjUzLCA3ODI1OSwgNzgyNjUsIDc4MjcxLCA3ODI3OCwgNzgyODUsIDc4Mjk0LCA3ODMwNSwgNzgzMTYsIAorICAgIDc4MzI2LCA3ODMzNCwgNzgzNDIsIDc4MzUwLCA3ODM1NiwgNzgzNjQsIDc4MzcyLCA3ODM3OSwgNzgzODcsIDc4Mzk2LCAKKyAgICA3ODQwMywgNzg0MTIsIDc4NDE4LCA3ODQyOCwgNzg0MzcsIDc4NDQyLCA3ODQ1MCwgNzg0NTksIDc4NDY0LCA3ODQ3MywgCisgICAgNzg0ODAsIDc4NDkwLCA3ODUwMiwgNzg1MDcsIDc4NTEzLCA3ODUyMCwgNzg1MjUsIDc4NTM1LCA3ODU0NSwgNzg1NTUsIAorICAgIDc4NTY1LCA3ODU4MCwgNzg1OTMsIDc4NjA0LCA3ODYxMiwgNzg2MTcsIDc4NjI4LCA3ODYzOCwgMCwgMCwgMCwgMCwgCisgICAgNzg2NDUsIDc4NjUyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzMjIyNiwgMzIyMzMsIDMyMjQwLCAzMjI0NywgMzIyNTQsIAotICAgIDMyMjYzLCAzMjI3MiwgMzIyODEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDMyMjkwLCAzMjI5NSwgMzIzMDAsIDMyMzA1LCAKLSAgICAzMjMxMCwgMzIzMTksIDMyMzMwLCAzMjMzOSwgMzIzNTAsIDMyMzU2LCAzMjM2OSwgMzIzNzUsIDMyMzgyLCAzMjM4OSwgCi0gICAgMzIzOTQsIDMyNDAwLCAzMjQwNiwgMzI0MTcsIDMyNDI2LCAzMjQzMywgMzI0NDAsIDMyNDQ5LCAzMjQ1NiwgMzI0NjUsIAotICAgIDMyNDc1LCAzMjQ4NSwgMzI0OTIsIDMyNDk5LCAzMjUwNiwgMzI1MTYsIDMyNTIxLCAzMjUyOSwgMzI1MzUsIDMyNTQzLCAKLSAgICAzMjU1MiwgMzI1NTcsIDMyNTY0LCAzMjU3MCwgMzI1NzUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDMyNTgwLCAKLSAgICAzMjU4NSwgMzI1OTEsIDMyNTk4LCAzMjYwNiwgMzI2MTIsIDMyNjE4LCAzMjYyNCwgMzI2MjksIDMyNjM2LCAzMjY0MiwgCi0gICAgMzI2NDgsIDMyNjU0LCAzMjY2MiwgMzI2NjcsIDMyNjc1LCAzMjY4MCwgMzI2ODYsIDMyNjkyLCAzMjY5OSwgMzI3MDcsIAotICAgIDMyNzE0LCAzMjcyMCwgMzI3MjcsIDMyNzM0LCAzMjc0MCwgMzI3NDcsIDMyNzU0LCAzMjc2MCwgMzI3NjUsIDMyNzcxLCAKLSAgICAzMjc3OSwgMzI3ODcsIDMyNzkzLCAzMjc5OSwgMzI4MDUsIDMyODExLCAzMjgxOSwgMzI4MjMsIDMyODI5LCAzMjgzNSwgCi0gICAgMzI4NDEsIDMyODQ3LCAzMjg1MywgMzI4NTksIDMyODYzLCAzMjg2OCwgMzI4NzMsIDMyODgwLCAzMjg4NSwgMzI4ODksIAotICAgIDMyODk1LCAzMjkwMCwgMzI5MDUsIDMyOTA5LCAzMjkxNCwgMzI5MTksIDMyOTIzLCAzMjkyNywgMzI5MzIsIDMyOTM5LCAKLSAgICAzMjk0MywgMzI5NDgsIDMyOTUzLCAzMjk1NywgMzI5NjIsIDMyOTY2LCAzMjk3MSwgMzI5NzUsIDMyOTgxLCAzMjk4NiwgCi0gICAgMzI5OTMsIDMyOTk4LCAzMzAwMywgMzMwMDcsIDMzMDEyLCAzMzAxNywgMzMwMjQsIDMzMDI5LCAzMzAzNSwgMzMwNDAsIAotICAgIDMzMDQ0LCAzMzA0OSwgMzMwNTMsIDMzMDU4LCAzMzA2NSwgMzMwNzIsIDMzMDc3LCAzMzA4MiwgMzMwODYsIDMzMDkyLCAKLSAgICAzMzA5OCwgMzMxMDMsIDMzMTA4LCAzMzExMywgMzMxMTksIDMzMTI0LCAzMzEzMCwgMzMxMzUsIDMzMTQxLCAzMzE0NywgCi0gICAgMzMxNTMsIDMzMTYwLCAzMzE2NywgMzMxNzQsIDMzMTgxLCAzMzE4OCwgMzMxOTUsIDMzMjAwLCAzMzIwOCwgMzMyMTcsIAotICAgIDMzMjI2LCAzMzIzNSwgMzMyNDQsIDMzMjUzLCAzMzI2MiwgMzMyNzQsIDMzMjgzLCAzMzI5MiwgMzMzMDEsIDMzMzA4LCAKLSAgICAzMzMxMywgMzMzMjAsIDMzMzI4LCAzMzMzNiwgMzMzNDMsIDMzMzUwLCAzMzM1NywgMzMzNjQsIDMzMzcyLCAzMzM4MSwgCi0gICAgMzMzOTAsIDMzMzk5LCAzMzQwOCwgMzM0MTcsIDMzNDI2LCAzMzQzNSwgMzM0NDQsIDMzNDUzLCAzMzQ2MiwgMzM0NzEsIAotICAgIDMzNDgwLCAzMzQ4OSwgMzM0OTgsIDMzNTA2LCAzMzUxNSwgMzM1MjYsIDMzNTM0LCAzMzU0MywgMzM1NTQsIDMzNTYzLCAKLSAgICAzMzU3MiwgMzM1ODEsIDMzNTkwLCAzMzU5OCwgMzM2MDcsIDMzNjE0LCAzMzYxOSwgMzM2MjcsIDMzNjMyLCAzMzYzOSwgCi0gICAgMzM2NDQsIDMzNjUzLCAzMzY1OSwgMzM2NjYsIDMzNjczLCAzMzY3OCwgMzM2ODMsIDMzNjkxLCAzMzY5OSwgMzM3MDgsIAotICAgIDMzNzE3LCAzMzcyMiwgMzM3MjksIDMzNzQwLCAzMzc0OCwgMzM3NTcsIDMzNzYzLCAzMzc2OSwgMzM3NzQsIDMzNzgxLCAKLSAgICAzMzc4NiwgMzM3OTUsIDMzODAwLCAzMzgwNSwgMzM4MTAsIDMzODE3LCAzMzgyNCwgMzM4MjksIDMzODM4LCAzMzg0NiwgCi0gICAgMzM4NTEsIDMzODU2LCAzMzg2MywgMzM4NzAsIDMzODc0LCAzMzg3OCwgMzM4ODEsIDMzODg0LCAzMzg4NywgMzM4OTAsIAotICAgIDMzODkzLCAzMzg5NiwgMzM5MDMsIDMzOTA2LCAzMzkwOSwgMzM5MTQsIDMzOTE4LCAzMzkyMiwgMzM5MjYsIDMzOTMwLCAKLSAgICAzMzkzNCwgMzM5NDMsIDMzOTQ5LCAzMzk1NSwgMzM5NjEsIDMzOTY5LCAzMzk3NywgMzM5ODMsIDMzOTg5LCAzMzk5NiwgCi0gICAgMzQwMDIsIDM0MDA3LCAzNDAxMywgMzQwMTksIDM0MDI1LCAzNDAzMiwgMzQwMzgsIDM0MDQ2LCAzNDA1MiwgMzQwNTksIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDM0MDY1LCAzNDA3MiwgCi0gICAgMzQwNzksIDM0MDg0LCAzNDA5MywgMzQxMDEsIDM0MTA5LCAzNDExNiwgMzQxMjMsIDM0MTMwLCAzNDEzNywgMzQxNDUsIAotICAgIDM0MTUzLCAzNDE2MywgMzQxNzMsIDM0MTgxLCAzNDE4OSwgMzQxOTcsIDM0MjA1LCAzNDIxNCwgMzQyMjMsIDM0MjMxLCAKLSAgICAzNDIzOSwgMzQyNDgsIDM0MjU3LCAzNDI2NywgMzQyNzcsIDM0Mjg2LCAzNDI5NSwgMzQzMDMsIDM0MzExLCAzNDMxOSwgCi0gICAgMzQzMjcsIDM0MzM3LCAzNDM0NywgMzQzNTUsIDM0MzYzLCAzNDM3MSwgMzQzNzksIDM0Mzg3LCAzNDM5NSwgMzQ0MDMsIAotICAgIDM0NDExLCAzNDQxOSwgMzQ0MjcsIDM0NDM1LCAzNDQ0MywgMzQ0NTIsIDM0NDYxLCAzNDQ3MCwgMzQ0NzksIDM0NDg5LCAKLSAgICAzNDQ5OSwgMzQ1MDYsIDM0NTEzLCAzNDUyMSwgMzQ1MjksIDM0NTM4LCAzNDU0NywgMzQ1NTUsIDM0NTYzLCAzNDU3NSwgCi0gICAgMzQ1ODcsIDM0NTk2LCAzNDYwNSwgMzQ2MTQsIDM0NjIzLCAzNDYzMCwgMzQ2MzcsIDM0NjQ1LCAzNDY1MywgMzQ2NjEsIAotICAgIDM0NjY5LCAzNDY3NywgMzQ2ODUsIDM0NjkzLCAzNDcwMSwgMzQ3MTAsIDM0NzE5LCAzNDcyOCwgMzQ3MzcsIDM0NzQ2LCAKLSAgICAzNDc1NSwgMzQ3NjUsIDM0Nzc1LCAzNDc4NSwgMzQ3OTUsIDM0ODA0LCAzNDgxMywgMzQ4MjAsIDM0ODI3LCAzNDgzNSwgCi0gICAgMzQ4NDMsIDM0ODUxLCAzNDg1OSwgMzQ4NjcsIDM0ODc1LCAzNDg4NywgMzQ4OTksIDM0OTA4LCAzNDkxNywgMzQ5MjUsIAotICAgIDM0OTMzLCAzNDk0MSwgMzQ5NDksIDM0OTYwLCAzNDk3MSwgMzQ5ODIsIDM0OTkzLCAzNTAwNSwgMzUwMTcsIDM1MDI1LCAKLSAgICAzNTAzMywgMzUwNDEsIDM1MDQ5LCAzNTA1OCwgMzUwNjcsIDM1MDc2LCAzNTA4NSwgMzUwOTMsIDM1MTAxLCAzNTEwOSwgCi0gICAgMzUxMTcsIDM1MTI1LCAzNTEzMywgMzUxNDIsIDM1MTUxLCAzNTE2MSwgMzUxNzEsIDM1MTc4LCAzNTE4NSwgMzUxOTMsIAotICAgIDM1MjAxLCAzNTIwOSwgMzUyMTcsIDM1MjI0LCAzNTIzMSwgMzUyMzksIDM1MjQ3LCAzNTI1NSwgMzUyNjMsIDM1MjcxLCAKLSAgICAzNTI3OSwgMzUyODcsIDM1Mjk1LCAzNTMwMywgMzUzMTEsIDM1MzE5LCAzNTMyNywgMzUzMzUsIDM1MzQzLCAzNTM1MSwgCi0gICAgMzUzNTksIDM1MzY4LCAzNTM3NywgMzUzODYsIDM1Mzk0LCAzNTQwMywgMzU0MTIsIDM1NDIxLCAzNTQzMCwgMzU0NDAsIAotICAgIDM1NDQ5LCAzNTQ1NiwgMzU0NjEsIDM1NDY4LCAzNTQ3NSwgMzU0ODMsIDM1NDkxLCAzNTUwMCwgMzU1MDksIDM1NTE5LCAKLSAgICAzNTUyOSwgMzU1NDAsIDM1NTUxLCAzNTU2MCwgMzU1NjksIDM1NTc5LCAzNTU4OSwgMzU1OTgsIDM1NjA3LCAzNTYxNywgCi0gICAgMzU2MjcsIDM1NjM4LCAzNTY0OSwgMzU2NTgsIDM1NjY3LCAzNTY3NywgMzU2ODcsIDM1Njk0LCAzNTcwMSwgMzU3MDksIAotICAgIDM1NzE3LCAzNTcyMywgMzU3MjksIDM1NzM4LCAzNTc0NywgMzU3NTcsIDM1NzY3LCAzNTc3OCwgMzU3ODksIDM1Nzk4LCAKLSAgICAzNTgwNywgMzU4MTcsIDM1ODI3LCAzNTgzNiwgMzU4NDUsIDM1ODUzLCAzNTg2MSwgMzU4NjgsIDM1ODc1LCAzNTg4MywgCi0gICAgMzU4OTEsIDM1OTAwLCAzNTkwOSwgMzU5MTksIDM1OTI5LCAzNTk0MCwgMzU5NTEsIDM1OTYwLCAzNTk2OSwgMzU5NzksIAotICAgIDM1OTg5LCAzNTk5OCwgMzYwMDcsIDM2MDE3LCAzNjAyNywgMzYwMzgsIDM2MDQ5LCAzNjA1OCwgMzYwNjcsIDM2MDc3LCAKLSAgICAzNjA4NywgMzYwOTQsIDM2MTAxLCAzNjEwOSwgMzYxMTcsIDM2MTI2LCAzNjEzNSwgMzYxNDUsIDM2MTU1LCAzNjE2NiwgCi0gICAgMzYxNzcsIDM2MTg2LCAzNjE5NSwgMzYyMDUsIDM2MjE1LCAzNjIyMywgMzYyMzEsIDM2MjM5LCAzNjI0NywgMzYyNTYsIAotICAgIDM2MjY1LCAzNjI3MiwgMzYyNzksIDM2Mjg2LCAzNjI5MywgMzYzMDAsIDM2MzA3LCAzNjMxNSwgMzYzMjMsIDM2MzMxLCAKLSAgICAzNjMzOSwgMzYzNTAsIDM2MzYxLCAzNjM3MiwgMzYzODMsIDM2Mzk0LCAzNjQwNSwgMzY0MTMsIDM2NDIxLCAzNjQzMiwgCi0gICAgMzY0NDMsIDM2NDU0LCAzNjQ2NSwgMzY0NzYsIDM2NDg3LCAzNjQ5NSwgMzY1MDMsIDM2NTE0LCAzNjUyNSwgMzY1MzYsIDAsIAotICAgIDAsIDM2NTQ3LCAzNjU1NSwgMzY1NjMsIDM2NTc0LCAzNjU4NSwgMzY1OTYsIDAsIDAsIDM2NjA3LCAzNjYxNSwgMzY2MjMsIAotICAgIDM2NjM0LCAzNjY0NSwgMzY2NTYsIDM2NjY3LCAzNjY3OCwgMzY2ODksIDM2Njk3LCAzNjcwNSwgMzY3MTYsIDM2NzI3LCAKLSAgICAzNjczOCwgMzY3NDksIDM2NzYwLCAzNjc3MSwgMzY3NzksIDM2Nzg3LCAzNjc5OCwgMzY4MDksIDM2ODIwLCAzNjgzMSwgCi0gICAgMzY4NDIsIDM2ODUzLCAzNjg2MSwgMzY4NjksIDM2ODgwLCAzNjg5MSwgMzY5MDIsIDM2OTEzLCAzNjkyNCwgMzY5MzUsIAotICAgIDM2OTQzLCAzNjk1MSwgMzY5NjIsIDM2OTczLCAzNjk4NCwgMCwgMCwgMzY5OTUsIDM3MDAzLCAzNzAxMSwgMzcwMjIsIAotICAgIDM3MDMzLCAzNzA0NCwgMCwgMCwgMzcwNTUsIDM3MDYzLCAzNzA3MSwgMzcwODIsIDM3MDkzLCAzNzEwNCwgMzcxMTUsIAotICAgIDM3MTI2LCAwLCAzNzEzNywgMCwgMzcxNDUsIDAsIDM3MTU2LCAwLCAzNzE2NywgMzcxNzgsIDM3MTg2LCAzNzE5NCwgCi0gICAgMzcyMDUsIDM3MjE2LCAzNzIyNywgMzcyMzgsIDM3MjQ5LCAzNzI2MCwgMzcyNjgsIDM3Mjc2LCAzNzI4NywgMzcyOTgsIAotICAgIDM3MzA5LCAzNzMyMCwgMzczMzEsIDM3MzQyLCAzNzM1MCwgMzczNTgsIDM3MzY2LCAzNzM3NCwgMzczODIsIDM3MzkwLCAKLSAgICAzNzM5OCwgMzc0MDYsIDM3NDE0LCAzNzQyMiwgMzc0MzAsIDM3NDM4LCAzNzQ0NiwgMCwgMCwgMzc0NTQsIDM3NDY1LCAKLSAgICAzNzQ3NiwgMzc0OTAsIDM3NTA0LCAzNzUxOCwgMzc1MzIsIDM3NTQ2LCAzNzU2MCwgMzc1NzEsIDM3NTgyLCAzNzU5NiwgCi0gICAgMzc2MTAsIDM3NjI0LCAzNzYzOCwgMzc2NTIsIDM3NjY2LCAzNzY3NywgMzc2ODgsIDM3NzAyLCAzNzcxNiwgMzc3MzAsIAotICAgIDM3NzQ0LCAzNzc1OCwgMzc3NzIsIDM3NzgzLCAzNzc5NCwgMzc4MDgsIDM3ODIyLCAzNzgzNiwgMzc4NTAsIDM3ODY0LCAKLSAgICAzNzg3OCwgMzc4ODksIDM3OTAwLCAzNzkxNCwgMzc5MjgsIDM3OTQyLCAzNzk1NiwgMzc5NzAsIDM3OTg0LCAzNzk5NSwgCi0gICAgMzgwMDYsIDM4MDIwLCAzODAzNCwgMzgwNDgsIDM4MDYyLCAzODA3NiwgMzgwOTAsIDM4MDk4LCAzODEwNiwgMzgxMTcsIAotICAgIDM4MTI1LCAwLCAzODEzNiwgMzgxNDQsIDM4MTU1LCAzODE2MywgMzgxNzEsIDM4MTc5LCAzODE4NywgMzgxOTUsIDM4MTk4LCAKLSAgICAzODIwMSwgMzgyMDQsIDM4MjA3LCAzODIxMywgMzgyMjQsIDM4MjMyLCAwLCAzODI0MywgMzgyNTEsIDM4MjYyLCAzODI3MCwgCi0gICAgMzgyNzgsIDM4Mjg2LCAzODI5NCwgMzgzMDIsIDM4MzA4LCAzODMxNCwgMzgzMjAsIDM4MzI4LCAzODMzNiwgMzgzNDcsIDAsIAotICAgIDAsIDM4MzU4LCAzODM2NiwgMzgzNzcsIDM4Mzg1LCAzODM5MywgMzg0MDEsIDAsIDM4NDA5LCAzODQxNSwgMzg0MjEsIAotICAgIDM4NDI3LCAzODQzNSwgMzg0NDMsIDM4NDU0LCAzODQ2NSwgMzg0NzMsIDM4NDgxLCAzODQ4OSwgMzg1MDAsIDM4NTA4LCAKLSAgICAzODUxNiwgMzg1MjQsIDM4NTMyLCAzODU0MCwgMzg1NDYsIDM4NTUyLCAwLCAwLCAzODU1NSwgMzg1NjYsIDM4NTc0LCAwLCAKLSAgICAzODU4NSwgMzg1OTMsIDM4NjA0LCAzODYxMiwgMzg2MjAsIDM4NjI4LCAzODYzNiwgMzg2NDQsIDM4NjQ3LCAwLCAzODY1MCwgCi0gICAgMzg2NTQsIDM4NjU4LCAzODY2MiwgMzg2NjYsIDM4NjcwLCAzODY3NCwgMzg2NzgsIDM4NjgyLCAzODY4NiwgMzg2OTAsIAotICAgIDM4Njk0LCAzODcwMCwgMzg3MDYsIDM4NzEyLCAzODcxNSwgMzg3MTgsIDM4NzIwLCAzODcyNCwgMzg3MjgsIDM4NzMyLCAKLSAgICAzODczNiwgMzg3MzgsIDM4NzQyLCAzODc0NiwgMzg3NTIsIDM4NzU4LCAzODc2NSwgMzg3NzIsIDM4Nzc3LCAzODc4MiwgCi0gICAgMzg3ODgsIDM4Nzk0LCAzODc5NiwgMzg3OTksIDM4ODAxLCAzODgwNSwgMzg4MDksIDM4ODEzLCAzODgxNiwgMzg4MjAsIAotICAgIDM4ODI0LCAzODgyOCwgMzg4MzIsIDM4ODM2LCAzODg0MiwgMzg4NDYsIDM4ODUwLCAzODg1NiwgMzg4NjEsIDM4ODY4LCAKLSAgICAzODg3MCwgMzg4NzMsIDM4ODc3LCAzODg4MSwgMzg4ODYsIDM4ODkyLCAzODg5NCwgMzg5MDMsIDM4OTEyLCAzODkxNSwgCi0gICAgMzg5MTksIDM4OTIxLCAzODkyMywgMzg5MjUsIDM4OTI4LCAzODkzNCwgMzg5MzYsIDM4OTQwLCAzODk0NCwgMzg5NTEsIAotICAgIDM4OTU4LCAzODk2MiwgMzg5NjcsIDM4OTcyLCAzODk3NywgMzg5ODIsIDM4OTg2LCAzODk5MCwgMzg5OTMsIDM4OTk3LCAKLSAgICAzOTAwMSwgMzkwMDgsIDM5MDEzLCAzOTAxNywgMzkwMjEsIDM5MDI2LCAzOTAzMCwgMzkwMzQsIDM5MDM5LCAzOTA0NCwgCi0gICAgMzkwNDgsIDM5MDUyLCAzOTA1NiwgMzkwNTgsIDM5MDYzLCAzOTA2OCwgMzkwNzIsIDM5MDc2LCAzOTA4MCwgMzkwODQsIDAsIAotICAgIDM5MDg4LCAzOTA5MiwgMzkwOTYsIDM5MTAyLCAzOTEwOCwgMzkxMTQsIDM5MTIwLCAzOTEyNywgMzkxMzQsIDM5MTM5LCAKLSAgICAzOTE0NCwgMzkxNDgsIDAsIDAsIDM5MTU0LCAzOTE1NywgMzkxNjAsIDM5MTYzLCAzOTE2NiwgMzkxNjksIDM5MTcyLCAKLSAgICAzOTE3NiwgMzkxODAsIDM5MTg1LCAzOTE5MCwgMzkxOTUsIDM5MjAyLCAzOTIwNiwgMzkyMDksIDM5MjEyLCAzOTIxNSwgCi0gICAgMzkyMTgsIDM5MjIxLCAzOTIyNCwgMzkyMjcsIDM5MjMwLCAzOTIzMywgMzkyMzcsIDM5MjQxLCAzOTI0NiwgMzkyNTEsIDAsIAotICAgIDM5MjU2LCAzOTI2MiwgMzkyNjgsIDM5Mjc0LCAzOTI4MSwgMzkyODgsIDM5Mjk1LCAzOTMwMiwgMzkzMDgsIDM5MzE0LCAKLSAgICAzOTMyMSwgMzkzMjgsIDM5MzM1LCAwLCAwLCAwLCAzOTM0MiwgMzkzNDUsIDM5MzQ4LCAzOTM1MSwgMzkzNTYsIDM5MzU5LCAKLSAgICAzOTM2MiwgMzkzNjUsIDM5MzY4LCAzOTM3MSwgMzkzNzQsIDM5Mzc4LCAzOTM4MSwgMzkzODQsIDM5Mzg3LCAzOTM5MCwgCi0gICAgMzkzOTMsIDM5Mzk4LCAzOTQwMSwgMzk0MDQsIDM5NDA3LCAzOTQxMCwgMzk0MTMsIDM5NDE4LCAzOTQyMSwgMzk0MjQsIAotICAgIDM5NDI5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAzOTQzNCwgMzk0MzksIDM5NDQ0LCAzOTQ1MSwgMzk0NTksIDM5NDY0LCAzOTQ2OSwgMzk0NzMsIDM5NDc3LCAzOTQ4MiwgCi0gICAgMzk0ODksIDM5NDk2LCAzOTUwMCwgMzk1MDUsIDM5NTEwLCAzOTUxNSwgMzk1MjAsIDM5NTI3LCAzOTUzMiwgMzk1MzcsIAotICAgIDM5NTQyLCAzOTU1MSwgMzk1NTgsIDM5NTY1LCAzOTU2OSwgMzk1NzQsIDM5NTgwLCAzOTU4NSwgMzk1OTIsIDM5NjAxLCAKLSAgICAzOTYxMCwgMzk2MTQsIDM5NjE4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzOTYyMiwgCi0gICAgMzk2MjYsIDM5NjM0LCAzOTYzOCwgMzk2NDIsIDM5NjQ3LCAzOTY1MSwgMzk2NTUsIDM5NjU5LCAzOTY2MSwgMzk2NjUsIAotICAgIDM5NjY5LCAzOTY3MywgMzk2NzgsIDM5NjgyLCAzOTY4NiwgMzk2OTQsIDM5Njk3LCAzOTcwMSwgMzk3MDQsIDM5NzA3LCAKLSAgICAzOTcxMywgMzk3MTcsIDM5NzIwLCAzOTcyNiwgMzk3MzAsIDM5NzM0LCAzOTczOCwgMzk3NDEsIDM5NzQ1LCAzOTc0OCwgCi0gICAgMzk3NTIsIDM5NzU0LCAzOTc1NywgMzk3NjAsIDM5NzY0LCAzOTc2NiwgMzk3NzAsIDM5NzczLCAzOTc3NiwgMzk3ODEsIAotICAgIDM5Nzg2LCAzOTc5MywgMzk3OTYsIDM5Nzk5LCAzOTgwMywgMzk4MDgsIDM5ODExLCAzOTgxNCwgMzk4MTcsIDM5ODIxLCAKLSAgICAzOTgyNiwgMzk4MjksIDM5ODMyLCAzOTgzNCwgMzk4MzcsIDM5ODQwLCAzOTg0MywgMzk4NDcsIDM5ODUyLCAzOTg1NSwgCi0gICAgMzk4NTksIDM5ODYzLCAzOTg2NywgMzk4NzEsIDM5ODc2LCAzOTg4MiwgMzk4ODcsIDM5ODkyLCAzOTg5OCwgMzk5MDMsIAotICAgIDM5OTA4LCAzOTkxMiwgMzk5MTYsIDM5OTIxLCAzOTkyNSwgMzk5MjksIDM5OTMyLCAzOTkzNCwgMzk5MzksIDM5OTQ1LCAKLSAgICAzOTk1MiwgMzk5NTksIDM5OTY2LCAzOTk3MywgMzk5ODAsIDM5OTg3LCAzOTk5NCwgNDAwMDEsIDQwMDA5LCA0MDAxNiwgCi0gICAgNDAwMjQsIDQwMDMxLCA0MDAzOCwgNDAwNDYsIDQwMDU0LCA0MDA1OSwgNDAwNjQsIDQwMDY5LCA0MDA3NCwgNDAwNzksIAotICAgIDQwMDg0LCA0MDA4OSwgNDAwOTQsIDQwMDk5LCA0MDEwNCwgNDAxMTAsIDQwMTE2LCA0MDEyMiwgNDAxMjgsIDQwMTM1LCAKLSAgICA0MDE0MywgNDAxNTAsIDQwMTU2LCA0MDE2MiwgNDAxNjgsIDQwMTc0LCA0MDE4MCwgNDAxODYsIDQwMTkyLCA0MDE5OCwgCi0gICAgNDAyMDQsIDQwMjExLCA0MDIxOCwgNDAyMjUsIDQwMjMyLCA0MDI0MCwgNDAyNDksIDQwMjU3LCA0MDI2OCwgNDAyNzYsIAotICAgIDQwMjg0LCA0MDI5MywgNDAzMDAsIDQwMzA5LCA0MDMxOCwgNDAzMjYsIDQwMzM1LCAwLCAwLCAwLCAwLCAwLCAwLCA0MDM0MywgCi0gICAgNDAzNDUsIDQwMzQ4LCA0MDM1MCwgNDAzNTMsIDQwMzU2LCA0MDM1OSwgNDAzNjQsIDQwMzY5LCA0MDM3NCwgNDAzNzksIAotICAgIDQwMzgzLCA0MDM4NywgNDAzOTEsIDQwMzk1LCA0MDQwMCwgNDA0MDYsIDQwNDExLCA0MDQxNywgNDA0MjIsIDQwNDI3LCAKLSAgICA0MDQzMiwgNDA0MzgsIDQwNDQzLCA0MDQ0OSwgNDA0NTUsIDQwNDU5LCA0MDQ2MywgNDA0NjgsIDQwNDczLCA0MDQ3OCwgCi0gICAgNDA0ODMsIDQwNDg4LCA0MDQ5NiwgNDA1MDQsIDQwNTEyLCA0MDUyMCwgNDA1MjcsIDQwNTM1LCA0MDU0MiwgNDA1NDksIAotICAgIDQwNTU4LCA0MDU3MCwgNDA1NzYsIDQwNTgyLCA0MDU5MCwgNDA1OTgsIDQwNjA3LCA0MDYxNiwgNDA2MjQsIDQwNjMyLCAKLSAgICA0MDY0MSwgNDA2NTAsIDQwNjU1LCA0MDY2MywgNDA2NjgsIDQwNjczLCA0MDY3OSwgNDA2ODQsIDQwNjkwLCA0MDY5NywgCi0gICAgNDA3MDQsIDQwNzA5LCA0MDcxNSwgNDA3MjAsIDQwNzIzLCA0MDcyNywgNDA3MzAsIDQwNzM0LCA0MDczOCwgNDA3NDIsIAotICAgIDQwNzQ4LCA0MDc1NCwgNDA3NjAsIDQwNzY2LCA0MDc3MCwgNDA3NzQsIDQwNzc4LCA0MDc4MiwgNDA3ODgsIDQwNzk0LCAKLSAgICA0MDc5OCwgNDA4MDMsIDQwODA3LCA0MDgxMiwgNDA4MTcsIDQwODIyLCA0MDgyNSwgNDA4MjksIDQwODMyLCA0MDgzNiwgCi0gICAgNDA4NDMsIDQwODUxLCA0MDg2MiwgNDA4NzMsIDQwODc4LCA0MDg4NywgNDA4OTQsIDQwOTAzLCA0MDkxMiwgNDA5MTYsIAotICAgIDQwOTIyLCA0MDkzMCwgNDA5MzQsIDQwOTM5LCA0MDk0NCwgNDA5NTAsIDQwOTU2LCA0MDk2MiwgNDA5NjksIDQwOTczLCAKLSAgICA0MDk3NywgNDA5ODIsIDQwOTg1LCA0MDk4NywgNDA5OTEsIDQwOTk1LCA0MTAwMywgNDEwMDcsIDQxMDA5LCA0MTAxMSwgCi0gICAgNDEwMTUsIDQxMDIzLCA0MTAyOCwgNDEwMzQsIDQxMDQ0LCA0MTA1MSwgNDEwNTYsIDQxMDYwLCA0MTA2NCwgNDEwNjgsIAotICAgIDQxMDcxLCA0MTA3NCwgNDEwNzcsIDQxMDgxLCA0MTA4NSwgNDEwODksIDQxMDkzLCA0MTA5NywgNDExMDAsIDQxMTA0LCAKLSAgICA0MTEwOCwgNDExMTEsIDQxMTEzLCA0MTExNiwgNDExMTgsIDQxMTIyLCA0MTEyNiwgNDExMjgsIDQxMTM0LCA0MTEzNywgCi0gICAgNDExNDIsIDQxMTQ2LCA0MTE1MCwgNDExNTIsIDQxMTU0LCA0MTE1NiwgNDExNTksIDQxMTYzLCA0MTE2NywgNDExNzEsIAotICAgIDQxMTc1LCA0MTE3OSwgNDExODUsIDQxMTkxLCA0MTE5MywgNDExOTUsIDQxMTk3LCA0MTE5OSwgNDEyMDIsIDQxMjA0LCAKLSAgICA0MTIwOCwgNDEyMTAsIDQxMjE0LCA0MTIxNywgNDEyMjMsIDQxMjI3LCA0MTIzMSwgNDEyMzQsIDQxMjM3LCA0MTI0MSwgCi0gICAgNDEyNDcsIDQxMjUxLCA0MTI2MSwgNDEyNzEsIDQxMjc1LCA0MTI4MSwgNDEyODcsIDQxMjkwLCA0MTI5NCwgNDEyOTcsIAotICAgIDQxMzAyLCA0MTMwNiwgNDEzMTIsIDQxMzE2LCA0MTMyOCwgNDEzMzYsIDQxMzQwLCA0MTM0NCwgNDEzNTAsIDQxMzU0LCAKLSAgICA0MTM1NywgNDEzNTksIDQxMzYyLCA0MTM2NiwgNDEzNzAsIDQxMzc3LCA0MTM4MSwgNDEzODUsIDQxMzg5LCA0MTM5MiwgCi0gICAgNDEzOTcsIDQxNDAyLCA0MTQwNywgNDE0MTIsIDQxNDE3LCA0MTQyMiwgNDE0MzAsIDQxNDM4LCA0MTQ0MiwgNDE0NDYsIAotICAgIDQxNDQ4LCA0MTQ1MywgNDE0NTcsIDQxNDYxLCA0MTQ2OSwgNDE0NzcsIDQxNDgzLCA0MTQ4OSwgNDE0OTgsIDQxNTA3LCAKLSAgICA0MTUxMiwgNDE1MTcsIDQxNTI1LCA0MTUzMywgNDE1MzUsIDQxNTM3LCA0MTU0MiwgNDE1NDcsIDQxNTUzLCA0MTU1OSwgCi0gICAgNDE1NjUsIDQxNTcxLCA0MTU3NSwgNDE1NzksIDQxNTg2LCA0MTU5MywgNDE1OTksIDQxNjA1LCA0MTYxNSwgNDE2MjUsIAotICAgIDQxNjMzLCA0MTY0MSwgNDE2NDMsIDQxNjQ3LCA0MTY1MSwgNDE2NTYsIDQxNjYxLCA0MTY2OCwgNDE2NzUsIDQxNjc4LCAKLSAgICA0MTY4MSwgNDE2ODQsIDQxNjg3LCA0MTY5MCwgNDE2OTUsIDQxNjk5LCA0MTcwNCwgNDE3MDksIDQxNzEyLCA0MTcxNSwgCi0gICAgNDE3MTgsIDQxNzIxLCA0MTcyNCwgNDE3MjgsIDQxNzMxLCA0MTczNCwgNDE3MzcsIDQxNzQwLCA0MTc0MiwgNDE3NDQsIAotICAgIDQxNzQ2LCA0MTc0OCwgNDE3NTYsIDQxNzY0LCA0MTc3MCwgNDE3NzQsIDQxNzgwLCA0MTc5MCwgNDE3OTYsIDQxODAyLCAKLSAgICA0MTgwOCwgNDE4MTYsIDQxODI0LCA0MTgzNSwgNDE4MzksIDQxODQzLCA0MTg0NSwgNDE4NTEsIDQxODUzLCA0MTg1NSwgCi0gICAgNDE4NTcsIDQxODU5LCA0MTg2NSwgNDE4NjgsIDQxODc0LCA0MTg4MCwgNDE4ODQsIDQxODg4LCA0MTg5MiwgNDE4OTUsIAotICAgIDQxODk5LCA0MTkwMywgNDE5MDUsIDQxOTE0LCA0MTkyMywgNDE5MjgsIDQxOTMzLCA0MTkzOSwgNDE5NDUsIDQxOTUxLCAKLSAgICA0MTk1NCwgNDE5NTcsIDQxOTYwLCA0MTk2MywgNDE5NjUsIDQxOTcwLCA0MTk3NSwgNDE5ODAsIDQxOTg2LCA0MTk5MiwgCi0gICAgNDIwMDAsIDQyMDA4LCA0MjAxNCwgNDIwMjAsIDQyMDI2LCA0MjAzMiwgNDIwNDEsIDQyMDUwLCA0MjA1OSwgNDIwNjgsIAotICAgIDQyMDc3LCA0MjA4NiwgNDIwOTUsIDQyMTA0LCA0MjExMywgNDIxMjIsIDQyMTMwLCA0MjE0MiwgNDIxNTIsIDQyMTY3LCAKLSAgICA0MjE3MCwgNDIxNzUsIDQyMTgxLCA0MjE4NywgNDIxOTQsIDQyMjA4LCA0MjIyMywgNDIyMjksIDQyMjM1LCA0MjI0MiwgCi0gICAgNDIyNDgsIDQyMjU2LCA0MjI2MiwgNDIyNzUsIDQyMjg5LCA0MjI5NCwgNDIzMDAsIDQyMzA3LCA0MjMxMCwgNDIzMTMsIAotICAgIDQyMzE1LCA0MjMxOCwgNDIzMjEsIDQyMzIzLCA0MjMyNSwgNDIzMjksIDQyMzMyLCA0MjMzNSwgNDIzMzgsIDQyMzQxLCAKLSAgICA0MjM0NiwgNDIzNTEsIDQyMzU2LCA0MjM2MSwgNDIzNjYsIDQyMzY5LCA0MjM3MSwgNDIzNzMsIDQyMzc1LCA0MjM3OSwgCi0gICAgNDIzODMsIDQyMzg3LCA0MjM5MywgNDIzOTgsIDQyNDAwLCA0MjQwMiwgNDI0MDcsIDQyNDEyLCA0MjQxNywgNDI0MjIsIAotICAgIDQyNDI3LCA0MjQzMiwgNDI0MzQsIDQyNDM2LCA0MjQ0NSwgNDI0NDksIDQyNDU3LCA0MjQ2NiwgNDI0NjgsIDQyNDczLCAKLSAgICA0MjQ3OCwgNDI0ODYsIDQyNDkwLCA0MjQ5MiwgNDI0OTYsIDQyNDk4LCA0MjUwMiwgNDI1MDYsIDQyNTEwLCA0MjUxMiwgCi0gICAgNDI1MTQsIDQyNTE2LCA0MjUyMywgNDI1MzIsIDQyNTQxLCA0MjU1MCwgNDI1NTksIDQyNTY4LCA0MjU3NywgNDI1ODYsIAotICAgIDQyNTk1LCA0MjYwMywgNDI2MTEsIDQyNjIwLCA0MjYyOSwgNDI2MzgsIDQyNjQ3LCA0MjY1NSwgNDI2NjMsIDQyNjcyLCAKLSAgICA0MjY4MSwgNDI2OTAsIDQyNzAwLCA0MjcwOSwgNDI3MTksIDQyNzI4LCA0MjczOCwgNDI3NDcsIDQyNzU3LCA0Mjc2NywgCi0gICAgNDI3NzYsIDQyNzg2LCA0Mjc5NSwgNDI4MDUsIDQyODE0LCA0MjgyNCwgNDI4MzMsIDQyODQyLCA0Mjg1MSwgNDI4NjAsIAotICAgIDQyODY5LCA0Mjg3OSwgNDI4ODgsIDQyODk3LCA0MjkwNiwgNDI5MTYsIDQyOTI1LCA0MjkzNCwgNDI5NDMsIDQyOTUyLCAKLSAgICA0Mjk2MiwgNDI5NzIsIDQyOTgxLCA0Mjk5MCwgNDI5OTgsIDQzMDA2LCA0MzAxMywgNDMwMjEsIDQzMDMwLCA0MzA0MSwgCi0gICAgNDMwNTAsIDQzMDU5LCA0MzA2OCwgNDMwNzUsIDQzMDgyLCA0MzA4OSwgNDMwOTgsIDQzMTA3LCA0MzExNiwgNDMxMjUsIAotICAgIDQzMTMyLCA0MzEzNywgNDMxNDYsIDQzMTUxLCA0MzE1NCwgNDMxNjIsIDQzMTY1LCA0MzE3MCwgNDMxNzUsIDQzMTc4LCAKLSAgICA0MzE4MSwgNDMxODksIDQzMTkyLCA0MzE5NywgNDMyMDAsIDQzMjA3LCA0MzIxMiwgNDMyMjAsIDQzMjIzLCA0MzIyNiwgCi0gICAgNDMyMjksIDQzMjM0LCA0MzIzOSwgNDMyNDIsIDQzMjQ1LCA0MzI1MywgNDMyNTYsIDQzMjYzLCA0MzI3MCwgNDMyNzQsIAotICAgIDQzMjc4LCA0MzI4MywgNDMyODgsIDQzMjk0LCA0MzI5OSwgNDMzMDUsIDQzMzExLCA0MzMxNiwgNDMzMjIsIDQzMzMwLCAKLSAgICA0MzMzNiwgNDMzNDQsIDQzMzUyLCA0MzM1OCwgNDMzNjYsIDQzMzc0LCA0MzM4MywgNDMzOTEsIDQzMzk3LCA0MzQwNSwgCi0gICAgNDM0MTQsIDQzNDIyLCA0MzQyNiwgNDM0MzEsIDQzNDQ0LCA0MzQ1NywgNDM0NjEsIDQzNDY1LCA0MzQ2OSwgNDM0NzMsIAotICAgIDQzNDgzLCA0MzQ4NywgNDM0OTIsIDQzNDk3LCA0MzUwMiwgNDM1MDcsIDQzNTEyLCA0MzUxNywgNDM1MjcsIDQzNTM3LCAKLSAgICA0MzU0NSwgNDM1NTUsIDQzNTY1LCA0MzU3MywgNDM1ODMsIDQzNTkzLCA0MzYwMSwgNDM2MTEsIDQzNjIxLCA0MzYyOSwgCi0gICAgNDM2MzcsIDQzNjQ3LCA0MzY1NywgNDM2NjAsIDQzNjYzLCA0MzY2NiwgNDM2NzEsIDQzNjc1LCA0MzY4MSwgNDM2ODgsIAotICAgIDQzNjk1LCA0MzcwMywgNDM3MTAsIDQzNzE0LCA0MzcxOCwgNDM3MjIsIDQzNzI2LCA0MzcyOCwgNDM3MzIsIDQzNzM2LCAKLSAgICA0Mzc0MSwgNDM3NDYsIDQzNzUzLCA0Mzc2MCwgNDM3NjMsIDQzNzcwLCA0Mzc3MiwgNDM3NzQsIDQzNzc4LCA0Mzc4MiwgCi0gICAgNDM3ODcsIDQzNzkzLCA0Mzc5OSwgNDM4MDUsIDQzODExLCA0MzgyMCwgNDM4MjksIDQzODM4LCA0Mzg0MiwgNDM4NDQsIAotICAgIDQzODQ4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0Mzg1NSwgNDM4NTksIDQzODY2LCA0Mzg3MywgCi0gICAgNDM4ODAsIDQzODg3LCA0Mzg5MSwgNDM4OTUsIDQzODk5LCA0MzkwMywgNDM5MDgsIDQzOTE0LCA0MzkxOSwgNDM5MjUsIAotICAgIDQzOTMxLCA0MzkzNywgNDM5NDMsIDQzOTUxLCA0Mzk1OCwgNDM5NjUsIDQzOTcyLCA0Mzk3OSwgNDM5ODQsIDQzOTkwLCAKLSAgICA0Mzk5OSwgNDQwMDMsIDQ0MDEwLCA0NDAxNCwgNDQwMTgsIDQ0MDI0LCA0NDAzMCwgNDQwMzYsIDQ0MDQyLCA0NDA0NiwgCi0gICAgNDQwNTAsIDQ0MDUzLCA0NDA1NiwgNDQwNjAsIDQ0MDY3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0NDA3NCwgNDQwNzcsIDQ0MDgxLCA0NDA4NSwgNDQwOTEsIAotICAgIDQ0MDk3LCA0NDEwMywgNDQxMTEsIDQ0MTE4LCA0NDEyMiwgNDQxMzAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ0MTM1LCA0NDEzOCwgNDQxNDEsIDQ0MTQ0LCA0NDE0NywgCi0gICAgNDQxNTAsIDQ0MTUzLCA0NDE1NiwgNDQxNTksIDQ0MTYyLCA0NDE2NiwgNDQxNzAsIDQ0MTc0LCA0NDE3OCwgNDQxODIsIAotICAgIDQ0MTg2LCA0NDE5MCwgNDQxOTQsIDQ0MTk4LCA0NDIwMiwgNDQyMDYsIDQ0MjA5LCA0NDIxMiwgNDQyMTUsIDQ0MjE4LCAKLSAgICA0NDIyMSwgNDQyMjQsIDQ0MjI3LCA0NDIzMCwgNDQyMzMsIDQ0MjM3LCA0NDI0MSwgNDQyNDUsIDQ0MjQ5LCA0NDI1MywgCi0gICAgNDQyNTcsIDQ0MjYxLCA0NDI2NSwgNDQyNjksIDQ0MjczLCA0NDI3NywgNDQyODMsIDQ0Mjg5LCA0NDI5NSwgNDQzMDIsIAotICAgIDQ0MzA5LCA0NDMxNiwgNDQzMjMsIDQ0MzMwLCA0NDMzNywgNDQzNDQsIDQ0MzUxLCA0NDM1OCwgNDQzNjUsIDQ0MzcyLCAKLSAgICA0NDM3OSwgNDQzODYsIDQ0MzkzLCA0NDQwMCwgNDQ0MDcsIDQ0NDE0LCA0NDQxOSwgNDQ0MjUsIDQ0NDMxLCA0NDQzNywgCi0gICAgNDQ0NDIsIDQ0NDQ4LCA0NDQ1NCwgNDQ0NjAsIDQ0NDY1LCA0NDQ3MSwgNDQ0NzcsIDQ0NDgyLCA0NDQ4NywgNDQ0OTMsIAotICAgIDQ0NDk4LCA0NDUwNCwgNDQ1MTAsIDQ0NTE1LCA0NDUyMSwgNDQ1MjcsIDQ0NTMyLCA0NDUzOCwgNDQ1NDQsIDQ0NTUwLCAKLSAgICA0NDU1NiwgNDQ1NjIsIDQ0NTY3LCA0NDU3MywgNDQ1NzksIDQ0NTg1LCA0NDU5MCwgNDQ1OTYsIDQ0NjAyLCA0NDYwOCwgCi0gICAgNDQ2MTMsIDQ0NjE5LCA0NDYyNSwgNDQ2MzAsIDQ0NjM1LCA0NDY0MSwgNDQ2NDYsIDQ0NjUyLCA0NDY1OCwgNDQ2NjMsIAotICAgIDQ0NjY5LCA0NDY3NSwgNDQ2ODAsIDQ0Njg2LCA0NDY5MiwgNDQ2OTgsIDQ0NzA0LCA0NDcxMCwgNDQ3MTUsIDQ0NzIxLCAKLSAgICA0NDcyNywgNDQ3MzMsIDQ0NzM4LCA0NDc0NCwgNDQ3NTAsIDQ0NzU2LCA0NDc2MSwgNDQ3NjcsIDQ0NzczLCA0NDc3OCwgCi0gICAgNDQ3ODMsIDQ0Nzg5LCA0NDc5NCwgNDQ4MDAsIDQ0ODA2LCA0NDgxMSwgNDQ4MTcsIDQ0ODIzLCA0NDgyOCwgNDQ4MzQsIAotICAgIDQ0ODQwLCA0NDg0NiwgNDQ4NTIsIDQ0ODU4LCA0NDg2MiwgNDQ4NjcsIDQ0ODcyLCA0NDg3NywgNDQ4ODIsIDQ0ODg3LCAKLSAgICA0NDg5MiwgNDQ4OTcsIDQ0OTAyLCA0NDkwNywgNDQ5MTIsIDQ0OTE2LCA0NDkyMCwgNDQ5MjQsIDQ0OTI4LCA0NDkzMiwgCi0gICAgNDQ5MzYsIDQ0OTQwLCA0NDk0NCwgNDQ5NDgsIDQ0OTUzLCA0NDk1OCwgNDQ5NjMsIDQ0OTY4LCA0NDk3MywgNDQ5NzgsIAotICAgIDQ0OTg3LCA0NDk5NiwgNDUwMDUsIDQ1MDE0LCA0NTAyMywgNDUwMzIsIDQ1MDQxLCA0NTA1MCwgNDUwNTcsIDQ1MDY1LCAKLSAgICA0NTA3MywgNDUwODAsIDQ1MDg3LCA0NTA5NSwgNDUxMDMsIDQ1MTEwLCA0NTExNywgNDUxMjUsIDQ1MTMzLCA0NTE0MCwgCi0gICAgNDUxNDcsIDQ1MTU1LCA0NTE2MywgNDUxNzAsIDQ1MTc3LCA0NTE4NSwgNDUxOTQsIDQ1MjAzLCA0NTIxMSwgNDUyMjAsIAotICAgIDQ1MjI5LCA0NTIzNiwgNDUyNDMsIDQ1MjUxLCA0NTI2MCwgNDUyNjksIDQ1Mjc3LCA0NTI4NiwgNDUyOTUsIDQ1MzAyLCAKLSAgICA0NTMwOSwgNDUzMTgsIDQ1MzI3LCA0NTMzNSwgNDUzNDMsIDQ1MzUyLCA0NTM2MSwgNDUzNjgsIDQ1Mzc1LCA0NTM4NCwgCi0gICAgNDUzOTMsIDQ1NDAxLCA0NTQwOSwgNDU0MTgsIDQ1NDI3LCA0NTQzNCwgNDU0NDEsIDQ1NDUwLCA0NTQ1OSwgNDU0NjcsIAotICAgIDQ1NDc2LCA0NTQ4NSwgNDU0OTMsIDQ1NTAzLCA0NTUxMywgNDU1MjMsIDQ1NTMzLCA0NTU0MiwgNDU1NTEsIDQ1NTYwLCAKLSAgICA0NTU2OSwgNDU1NzYsIDQ1NTg0LCA0NTU5MiwgNDU2MDAsIDQ1NjA4LCA0NTYxMywgNDU2MTgsIDQ1NjI3LCA0NTYzNSwgCi0gICAgNDU2NDIsIDQ1NjUxLCA0NTY1OSwgNDU2NjYsIDQ1Njc1LCA0NTY4MywgNDU2OTAsIDQ1Njk5LCA0NTcwNywgNDU3MTQsIAotICAgIDQ1NzIzLCA0NTczMSwgNDU3MzgsIDQ1NzQ3LCA0NTc1NSwgNDU3NjIsIDQ1NzcxLCA0NTc3OSwgNDU3ODYsIDQ1Nzk1LCAKLSAgICA0NTgwMywgNDU4MTAsIDQ1ODE5LCA0NTgyNywgNDU4MzQsIDQ1ODQzLCA0NTg1MiwgNDU4NjEsIDQ1ODcwLCA0NTg4NCwgCi0gICAgNDU4OTgsIDQ1OTA1LCA0NTkxMCwgNDU5MTUsIDQ1OTIwLCA0NTkyNSwgNDU5MzAsIDQ1OTM1LCA0NTk0MCwgNDU5NDUsIAotICAgIDQ1OTUzLCA0NTk2MSwgNDU5NjksIDQ1OTc3LCA0NTk4MiwgNDU5ODksIDQ1OTk2LCA0NjAwMywgNDYwMDgsIDQ2MDE2LCAKLSAgICA0NjAyMywgNDYwMzEsIDQ2MDM1LCA0NjA0MiwgNDYwNDgsIDQ2MDU1LCA0NjA1OSwgNDYwNjUsIDQ2MDcxLCA0NjA3NywgCi0gICAgNDYwODEsIDQ2MDg0LCA0NjA4OCwgNDYwOTIsIDQ2MDk5LCA0NjEwNSwgNDYxMTEsIDQ2MTE3LCA0NjEyMywgNDYxMzcsIAotICAgIDQ2MTQ3LCA0NjE2MSwgNDYxNzUsIDQ2MTgxLCA0NjE5MSwgNDYyMDUsIDQ2MjA4LCA0NjIxMSwgNDYyMTgsIDQ2MjI2LCAKLSAgICA0NjIzMSwgNDYyMzYsIDQ2MjQ0LCA0NjI1NiwgNDYyNjgsIDQ2Mjc2LCA0NjI4MCwgNDYyODQsIDQ2Mjg3LCA0NjI5MCwgCi0gICAgNDYyOTQsIDQ2Mjk4LCA0NjMwMSwgNDYzMDQsIDQ2MzA5LCA0NjMxNCwgNDYzMjAsIDQ2MzI2LCA0NjMzMSwgNDYzMzYsIAotICAgIDQ2MzQyLCA0NjM0OCwgNDYzNTMsIDQ2MzU4LCA0NjM2MywgNDYzNjgsIDQ2Mzc0LCA0NjM4MCwgNDYzODUsIDQ2MzkwLCAKLSAgICA0NjM5NiwgNDY0MDIsIDQ2NDA3LCA0NjQxMiwgNDY0MTUsIDQ2NDE4LCA0NjQyNywgNDY0MjksIDQ2NDMxLCA0NjQzNCwgCi0gICAgNDY0MzgsIDQ2NDQ0LCA0NjQ0NiwgNDY0NDksIDQ2NDU2LCA0NjQ2MywgNDY0NzEsIDQ2NDc5LCA0NjQ4OSwgNDY1MDMsIAotICAgIDQ2NTA4LCA0NjUxMywgNDY1MTcsIDQ2NTIyLCA0NjUzMCwgNDY1MzgsIDQ2NTQ3LCA0NjU1NiwgNDY1NjUsIDQ2NTc0LCAKLSAgICA0NjU3OSwgNDY1ODQsIDQ2NTkwLCA0NjU5NiwgNDY2MDIsIDQ2NjA4LCA0NjYxMSwgNDY2MTcsIDQ2NjIzLCA0NjYzMywgCi0gICAgNDY2NDMsIDQ2NjUxLCA0NjY1OSwgNDY2NjgsIDQ2Njc3LCA0NjY4MSwgNDY2ODksIDQ2Njk3LCA0NjcwNSwgNDY3MTMsIAotICAgIDQ2NzIyLCA0NjczMSwgNDY3NDAsIDQ2NzQ5LCA0Njc1NCwgNDY3NTksIDQ2NzY0LCA0Njc2OSwgNDY3NzQsIDQ2NzgwLCAKLSAgICA0Njc4NiwgNDY3OTEsIDQ2Nzk3LCA0Njc5OSwgNDY4MDEsIDQ2ODAzLCA0NjgwNSwgNDY4MDgsIDQ2ODExLCA0NjgxMywgCi0gICAgNDY4MTUsIDQ2ODE3LCA0NjgyMSwgNDY4MjUsIDQ2ODI3LCA0NjgyOSwgNDY4MzIsIDQ2ODM1LCA0NjgzOSwgNDY4NDUsIAotICAgIDQ2ODUxLCA0Njg1MywgNDY4NjAsIDQ2ODY0LCA0Njg2OSwgNDY4NzQsIDQ2ODc2LCA0Njg4NiwgNDY4OTIsIDQ2ODk4LCAKLSAgICA0NjkwNCwgNDY5MTAsIDQ2OTE2LCA0NjkyMiwgNDY5MjcsIDQ2OTMwLCA0NjkzMywgNDY5MzYsIDQ2OTM4LCA0Njk0MCwgCi0gICAgNDY5NDQsIDQ2OTQ4LCA0Njk1MywgNDY5NTgsIDQ2OTYzLCA0Njk2NiwgNDY5NzAsIDQ2OTc1LCA0Njk3OCwgNDY5ODIsIAotICAgIDQ2OTg3LCA0Njk5MiwgNDY5OTcsIDQ3MDAyLCA0NzAwNywgNDcwMTIsIDQ3MDE3LCA0NzAyMiwgNDcwMjcsIDQ3MDMyLCAKLSAgICA0NzAzNywgNDcwNDIsIDQ3MDQ4LCA0NzA1NCwgNDcwNjAsIDQ3MDYyLCA0NzA2NSwgNDcwNjcsIDQ3MDcwLCA0NzA3MiwgCi0gICAgNDcwNzQsIDQ3MDc2LCA0NzA3OCwgNDcwODAsIDQ3MDgyLCA0NzA4NCwgNDcwODYsIDQ3MDg4LCA0NzA5MCwgNDcwOTIsIAotICAgIDQ3MDk0LCA0NzA5NiwgNDcwOTgsIDQ3MTAwLCA0NzEwMiwgNDcxMDQsIDQ3MTA5LCA0NzExNCwgNDcxMTksIDQ3MTI0LCAKLSAgICA0NzEyOSwgNDcxMzQsIDQ3MTM5LCA0NzE0NCwgNDcxNDksIDQ3MTU0LCA0NzE1OSwgNDcxNjQsIDQ3MTY5LCA0NzE3NCwgCi0gICAgNDcxNzksIDQ3MTg0LCA0NzE4OSwgNDcxOTQsIDQ3MTk5LCA0NzIwNCwgNDcyMDgsIDQ3MjEyLCA0NzIxNiwgNDcyMjIsIAotICAgIDQ3MjI4LCA0NzIzMywgNDcyMzgsIDQ3MjQzLCA0NzI0OCwgNDcyNTMsIDQ3MjU4LCA0NzI2NiwgNDcyNzQsIDQ3MjgyLCAKLSAgICA0NzI5MCwgNDcyOTgsIDQ3MzA2LCA0NzMxNCwgNDczMjIsIDQ3MzI4LCA0NzMzMywgNDczMzgsIDQ3MzQzLCA0NzM0NiwgCi0gICAgNDczNTAsIDQ3MzU0LCA0NzM1OCwgNDczNjIsIDQ3MzY2LCA0NzM3MCwgNDczNzcsIDQ3Mzg0LCA0NzM5MiwgNDc0MDAsIAotICAgIDQ3NDA1LCA0NzQxMCwgNDc0MTcsIDQ3NDI0LCA0NzQzMSwgNDc0MzgsIDQ3NDQxLCA0NzQ0NCwgNDc0NDksIDQ3NDUxLCAKLSAgICA0NzQ1NSwgNDc0NjAsIDQ3NDYyLCA0NzQ2NCwgNDc0NjYsIDQ3NDY4LCA0NzQ3MywgNDc0NzYsIDQ3NDc4LCA0NzQ4MywgCi0gICAgNDc0OTAsIDQ3NDk3LCA0NzUwMCwgNDc1MDQsIDQ3NTA5LCA0NzUxNCwgNDc1MjIsIDQ3NTI4LCA0NzUzNCwgNDc1NDYsIAotICAgIDQ3NTUzLCA0NzU2MCwgNDc1NjUsIDQ3NTcwLCA0NzU3NiwgNDc1NzksIDQ3NTgyLCA0NzU4NywgNDc1ODksIDQ3NTkzLCAKLSAgICA0NzU5NSwgNDc1OTcsIDQ3NTk5LCA0NzYwMSwgNDc2MDMsIDQ3NjA1LCA0NzYxMCwgNDc2MTIsIDQ3NjE0LCA0NzYxNiwgCi0gICAgNDc2MTgsIDQ3NjIyLCA0NzYyNCwgNDc2MjcsIDQ3NjMyLCA0NzYzNywgNDc2NDIsIDQ3NjQ3LCA0NzY1MywgNDc2NTksIAotICAgIDQ3NjYxLCA0NzY2NCwgNDc2NzEsIDQ3Njc4LCA0NzY4NSwgNDc2OTIsIDQ3Njk2LCA0NzcwMCwgNDc3MDIsIDQ3NzA0LCAKLSAgICA0NzcwOCwgNDc3MTQsIDQ3NzE5LCA0NzcyMSwgNDc3MjUsIDQ3NzM0LCA0Nzc0MiwgNDc3NTAsIDQ3NzU2LCA0Nzc2MiwgCi0gICAgNDc3NjcsIDQ3NzczLCA0Nzc3OCwgNDc3ODEsIDQ3Nzk1LCA0Nzc5OCwgNDc4MDMsIDQ3ODA4LCA0NzgxNCwgNDc4MjQsIAotICAgIDQ3ODI2LCA0NzgzMiwgNDc4MzgsIDQ3ODQyLCA0Nzg0OSwgNDc4NTMsIDQ3ODU1LCA0Nzg1NywgNDc4NjEsIDQ3ODY3LCAKLSAgICA0Nzg3MiwgNDc4NzgsIDQ3ODgwLCA0Nzg4NiwgNDc4ODgsIDQ3ODk0LCA0Nzg5NiwgNDc4OTgsIDQ3OTAzLCA0NzkwNSwgCi0gICAgNDc5MDksIDQ3OTE0LCA0NzkxNiwgNDc5MjEsIDQ3OTI2LCA0NzkzMCwgNDc5MzcsIDAsIDQ3OTQ3LCA0Nzk1MywgNDc5NTYsIAotICAgIDQ3OTYyLCA0Nzk2NSwgNDc5NzAsIDQ3OTc1LCA0Nzk3OSwgNDc5ODEsIDQ3OTgzLCA0Nzk4NywgNDc5OTEsIDQ3OTk1LCAKLSAgICA0Nzk5OSwgNDgwMDQsIDQ4MDA2LCA0ODAxMSwgNDgwMTQsIDQ4MDE3LCA0ODAyMCwgNDgwMjQsIDQ4MDI4LCA0ODAzMywgCi0gICAgNDgwMzcsIDQ4MDQyLCA0ODA0NywgNDgwNTEsIDQ4MDU2LCA0ODA2MiwgNDgwNjUsIDQ4MDcxLCA0ODA3NiwgNDgwODAsIAotICAgIDQ4MDg1LCA0ODA5MSwgNDgwOTcsIDQ4MTA0LCA0ODExMCwgNDgxMTcsIDQ4MTI0LCA0ODEyNiwgNDgxMzMsIDQ4MTM3LCAKLSAgICA0ODE0MywgNDgxNDksIDQ4MTU0LCA0ODE2MCwgNDgxNjQsIDQ4MTY5LCA0ODE3MiwgNDgxNzcsIDQ4MTgzLCA0ODE5MCwgCi0gICAgNDgxOTgsIDQ4MjA1LCA0ODIxNCwgNDgyMjQsIDQ4MjMxLCA0ODIzNywgNDgyNDEsIDQ4MjQ4LCA0ODI1MywgNDgyNjIsIAotICAgIDQ4MjY1LCA0ODI2OCwgNDgyNzcsIDQ4Mjg3LCA0ODI5NCwgNDgyOTYsIDQ4MzAyLCA0ODMwNywgNDgzMDksIDQ4MzEyLCAKLSAgICA0ODMxNiwgNDgzMjQsIDQ4MzMzLCA0ODMzNiwgNDgzNDEsIDQ4MzQ2LCA0ODM1NCwgNDgzNjIsIDQ4MzcwLCA0ODM3OCwgCi0gICAgNDgzODQsIDQ4MzkwLCA0ODM5NiwgNDg0MDQsIDQ4NDA5LCA0ODQxMiwgNDg0MTYsIDQ4NDE5LCA0ODQzMSwgNDg0NDEsIAotICAgIDQ4NDUyLCA0ODQ2MSwgNDg0NzIsIDQ4NDgyLCA0ODQ5MSwgNDg0OTcsIDQ4NTA1LCA0ODUwOSwgNDg1MTcsIDQ4NTIxLCAKLSAgICA0ODUyOSwgNDg1MzYsIDQ4NTQzLCA0ODU1MiwgNDg1NjEsIDQ4NTcxLCA0ODU4MSwgNDg1OTEsIDQ4NjAxLCA0ODYxMCwgCi0gICAgNDg2MTksIDQ4NjI5LCA0ODYzOSwgNDg2NDgsIDQ4NjU3LCA0ODY2MywgNDg2NjksIDQ4Njc1LCA0ODY4MSwgNDg2ODcsIAotICAgIDQ4NjkzLCA0ODY5OSwgNDg3MDUsIDQ4NzExLCA0ODcxOCwgNDg3MjQsIDQ4NzMwLCA0ODczNiwgNDg3NDIsIDQ4NzQ4LCAKLSAgICA0ODc1NCwgNDg3NjAsIDQ4NzY2LCA0ODc3MiwgNDg3NzksIDQ4Nzg2LCA0ODc5MywgNDg4MDAsIDQ4ODA3LCA0ODgxNCwgCi0gICAgNDg4MjEsIDQ4ODI4LCA0ODgzNSwgNDg4NDIsIDQ4ODUwLCA0ODg1NSwgNDg4NTgsIDQ4ODYyLCA0ODg2NiwgNDg4NzIsIAotICAgIDQ4ODc1LCA0ODg4MSwgNDg4ODcsIDQ4ODkyLCA0ODg5NiwgNDg5MDEsIDQ4OTA3LCA0ODkxNCwgNDg5MTcsIDQ4OTI0LCAKLSAgICA0ODkzMSwgNDg5MzUsIDQ4OTQ0LCA0ODk1MywgNDg5NTgsIDQ4OTY0LCA0ODk2OSwgNDg5NzQsIDQ4OTgxLCA0ODk4OCwgCi0gICAgNDg5OTYsIDQ5MDA0LCA0OTAxMywgNDkwMTcsIDQ5MDI2LCA0OTAzMSwgNDkwMzUsIDQ5MDQyLCA0OTA0NiwgNDkwNTMsIAotICAgIDQ5MDYxLCA0OTA2NiwgNDkwNzQsIDQ5MDc4LCA0OTA4MywgNDkwODcsIDQ5MDkyLCA0OTA5NiwgNDkxMDEsIDQ5MTA2LCAKLSAgICA0OTExNSwgNDkxMTcsIDQ5MTIwLCA0OTEyMywgNDkxMzAsIDQ5MTM3LCA0OTE0MiwgNDkxNTAsIDQ5MTU2LCA0OTE2MiwgCi0gICAgNDkxNjcsIDQ5MTcwLCA0OTE3NSwgNDkxODAsIDQ5MTg1LCA0OTE5MywgNDkxOTcsIDQ5MjA0LCA0OTIxMiwgNDkyMjAsIAotICAgIDQ5MjI1LCA0OTIzMCwgNDkyMzYsIDQ5MjQxLCA0OTI0NiwgNDkyNTIsIDQ5MjU3LCA0OTI2MCwgNDkyNjQsIDQ5MjY4LCAKLSAgICA0OTI3NSwgNDkyODQsIDQ5Mjg5LCA0OTI5OCwgNDkzMDcsIDQ5MzEzLCA0OTMxOSwgNDkzMjQsIDQ5MzI5LCA0OTMzNCwgCi0gICAgNDkzMzksIDQ5MzQ1LCA0OTM1MSwgNDkzNTksIDQ5MzY3LCA0OTM3MywgNDkzNzksIDQ5Mzg0LCA0OTM4OSwgNDkzOTYsIAotICAgIDQ5NDAzLCA0OTQwOSwgNDk0MTIsIDQ5NDE1LCA0OTQxOSwgNDk0MjMsIDQ5NDI3LCA0OTQzMiwgNDk0MzgsIDQ5NDQ0LCAKLSAgICA0OTQ1MSwgNDk0NTgsIDQ5NDYzLCA0OTQ2NywgNDk0NzEsIDQ5NDc1LCA0OTQ3OSwgNDk0ODMsIDQ5NDg3LCA0OTQ5MSwgCi0gICAgNDk0OTUsIDQ5NDk5LCA0OTUwMywgNDk1MDcsIDQ5NTExLCA0OTUxNSwgNDk1MTksIDQ5NTIzLCA0OTUyNywgNDk1MzEsIAotICAgIDQ5NTM1LCA0OTUzOSwgNDk1NDMsIDQ5NTQ3LCA0OTU1MSwgNDk1NTUsIDQ5NTU5LCA0OTU2MywgNDk1NjcsIDQ5NTcxLCAKLSAgICA0OTU3NSwgNDk1NzksIDQ5NTgzLCA0OTU4NywgNDk1OTEsIDQ5NTk1LCA0OTU5OSwgNDk2MDMsIDQ5NjA3LCA0OTYxMSwgCi0gICAgNDk2MTUsIDQ5NjE5LCA0OTYyMywgNDk2MjcsIDQ5NjMxLCA0OTYzNSwgNDk2MzksIDQ5NjQzLCA0OTY0NywgNDk2NTEsIAotICAgIDQ5NjU1LCA0OTY1OSwgNDk2NjMsIDQ5NjY3LCA0OTY3MSwgNDk2NzUsIDQ5Njc5LCA0OTY4MywgNDk2ODcsIDQ5NjkxLCAKLSAgICA0OTY5NSwgNDk2OTksIDQ5NzAzLCA0OTcwNywgNDk3MTEsIDQ5NzE1LCA0OTcxOSwgNDk3MjMsIDQ5NzI3LCA0OTczMSwgCi0gICAgNDk3MzUsIDQ5NzM5LCA0OTc0MywgNDk3NDcsIDQ5NzUxLCA0OTc1NSwgNDk3NTksIDQ5NzYzLCA0OTc2NywgNDk3NzEsIAotICAgIDQ5Nzc1LCA0OTc3OSwgNDk3ODMsIDQ5Nzg3LCA0OTc5MSwgNDk3OTUsIDQ5Nzk5LCA0OTgwMywgNDk4MDcsIDQ5ODExLCAKLSAgICA0OTgxNSwgNDk4MTksIDQ5ODIzLCA0OTgyNywgNDk4MzEsIDQ5ODM1LCA0OTgzOSwgNDk4NDMsIDQ5ODQ3LCA0OTg1MSwgCi0gICAgNDk4NTUsIDQ5ODU5LCA0OTg2MywgNDk4NjcsIDQ5ODcxLCA0OTg3NSwgNDk4NzksIDQ5ODgzLCA0OTg4NywgNDk4OTEsIAotICAgIDQ5ODk1LCA0OTg5OSwgNDk5MDMsIDQ5OTA3LCA0OTkxMSwgNDk5MTUsIDQ5OTE5LCA0OTkyMywgNDk5MjcsIDQ5OTMxLCAKLSAgICA0OTkzNSwgNDk5MzksIDQ5OTQzLCA0OTk0NywgNDk5NTEsIDQ5OTU1LCA0OTk1OSwgNDk5NjMsIDQ5OTY3LCA0OTk3MSwgCi0gICAgNDk5NzUsIDQ5OTc5LCA0OTk4MywgNDk5ODcsIDQ5OTkxLCA0OTk5NSwgNDk5OTksIDUwMDAzLCA1MDAwNywgNTAwMTEsIAotICAgIDUwMDE1LCA1MDAxOSwgNTAwMjMsIDUwMDI3LCA1MDAzMSwgNTAwMzUsIDUwMDM5LCA1MDA0MywgNTAwNDcsIDUwMDUxLCAKLSAgICA1MDA1NSwgNTAwNTksIDUwMDYzLCA1MDA2NywgNTAwNzEsIDUwMDc1LCA1MDA3OSwgNTAwODMsIDUwMDg3LCA1MDA5MSwgCi0gICAgNTAwOTUsIDUwMDk5LCA1MDEwMywgNTAxMDcsIDUwMTExLCA1MDExNSwgNTAxMTksIDUwMTIzLCA1MDEyNywgNTAxMzEsIAotICAgIDUwMTM1LCA1MDEzOSwgNTAxNDMsIDUwMTQ3LCA1MDE1MSwgNTAxNTUsIDUwMTU5LCA1MDE2MywgNTAxNjcsIDUwMTcxLCAKLSAgICA1MDE3NSwgNTAxNzksIDUwMTgzLCA1MDE4NywgNTAxOTEsIDUwMTk1LCA1MDE5OSwgNTAyMDMsIDUwMjA3LCA1MDIxMSwgCi0gICAgNTAyMTUsIDUwMjE5LCA1MDIyMywgNTAyMjcsIDUwMjMxLCA1MDIzNSwgNTAyMzksIDUwMjQzLCA1MDI0NywgNTAyNTEsIAotICAgIDUwMjU1LCA1MDI1OSwgNTAyNjMsIDUwMjY3LCA1MDI3MSwgNTAyNzUsIDUwMjc5LCA1MDI4MywgNTAyODcsIDUwMjkxLCAKLSAgICA1MDI5NSwgNTAyOTksIDUwMzAzLCA1MDMwNywgNTAzMTEsIDUwMzE1LCA1MDMxOSwgNTAzMjMsIDUwMzI3LCA1MDMzMSwgCi0gICAgNTAzMzUsIDUwMzM5LCA1MDM0MywgNTAzNDcsIDUwMzUxLCA1MDM1NSwgNTAzNTksIDUwMzYzLCA1MDM2NywgNTAzNzEsIAotICAgIDUwMzc1LCA1MDM3OSwgNTAzODMsIDUwMzg3LCA1MDM5MSwgNTAzOTUsIDUwMzk5LCA1MDQwMywgNTA0MDcsIDUwNDExLCAKLSAgICA1MDQxNSwgNTA0MTksIDUwNDIzLCA1MDQyNywgNTA0MzEsIDUwNDM1LCA1MDQzOSwgNTA0NDMsIDUwNDQ3LCA1MDQ1MSwgCi0gICAgNTA0NTUsIDUwNDU5LCA1MDQ2MywgNTA0NjcsIDUwNDcxLCA1MDQ3NSwgNTA0NzksIDUwNDgzLCA1MDQ4NywgNTA0OTQsIAotICAgIDUwNTAyLCA1MDUwOCwgNTA1MTQsIDUwNTIxLCA1MDUyOCwgNTA1MzQsIDUwNTQwLCA1MDU0NiwgNTA1NTIsIDUwNTU3LCAKLSAgICA1MDU2MiwgNTA1NjcsIDUwNTcyLCA1MDU3OCwgNTA1ODQsIDUwNTkyLCA1MDU5OSwgNTA2MDUsIDUwNjExLCA1MDYxOSwgCi0gICAgNTA2MjgsIDUwNjM1LCA1MDY0NSwgNTA2NTYsIDUwNjU5LCA1MDY2MiwgNTA2NjYsIDUwNjcwLCA1MDY3NywgNTA2ODQsIAotICAgIDUwNjk1LCA1MDcwNiwgNTA3MTYsIDUwNzI2LCA1MDczMywgNTA3NDAsIDUwNzQ3LCA1MDc1NCwgNTA3NjUsIDUwNzc2LCAKLSAgICA1MDc4NywgNTA3OTgsIDUwODA4LCA1MDgxOCwgNTA4MzAsIDUwODQyLCA1MDg1MywgNTA4NjQsIDUwODc2LCA1MDg4OCwgCi0gICAgNTA4OTcsIDUwOTA3LCA1MDkxNywgNTA5MjgsIDUwOTM5LCA1MDk0NiwgNTA5NTMsIDUwOTYwLCA1MDk2NywgNTA5NzcsIAotICAgIDUwOTg3LCA1MDk5NSwgNTEwMDMsIDUxMDEwLCA1MTAxNywgNTEwMjQsIDUxMDMxLCA1MTAzOCwgNTEwNDMsIDUxMDQ4LCAKLSAgICA1MTA1NCwgNTEwNjIsIDUxMDcyLCA1MTA4MiwgNTEwOTIsIDUxMTAyLCA1MTExMiwgNTExMjIsIDUxMTMyLCA1MTE0MiwgCi0gICAgNTExNTIsIDUxMTYyLCA1MTE3MiwgNTExODMsIDUxMTk0LCA1MTIwNCwgNTEyMTQsIDUxMjI1LCA1MTIzNiwgNTEyNDYsIAotICAgIDUxMjU2LCA1MTI2NywgNTEyNzgsIDUxMjg4LCA1MTI5OCwgNTEzMDksIDUxMzIwLCA1MTMzNiwgNTEzNTUsIDUxMzcxLCAKLSAgICA1MTM5MCwgNTE0MDYsIDUxNDIyLCA1MTQzOCwgNTE0NTQsIDUxNDY1LCA1MTQ3NywgNTE0ODgsIDUxNTAwLCA1MTUxOSwgCi0gICAgNTE1MzgsIDUxNTQ2LCA1MTU1MiwgNTE1NTksIDUxNTY2LCA1MTU3MywgNTE1ODAsIDUxNTg1LCA1MTU5MSwgNTE1OTYsIAotICAgIDUxNjAxLCA1MTYwNywgNTE2MTIsIDUxNjE3LCA1MTYyMiwgNTE2MjcsIDUxNjMyLCA1MTYzOSwgNTE2NDQsIDUxNjUxLCAKLSAgICA1MTY1NiwgNTE2NjEsIDUxNjY1LCA1MTY2OSwgNTE2NzYsIDUxNjgzLCA1MTY5MCwgNTE2OTcsIDUxNzA0LCA1MTcxMSwgCi0gICAgNTE3MjQsIDUxNzM3LCA1MTc1MCwgNTE3NjMsIDUxNzcxLCA1MTc3OSwgNTE3ODUsIDUxNzkxLCA1MTc5OCwgNTE4MDUsIAotICAgIDUxODEyLCA1MTgxOSwgNTE4MjMsIDUxODI4LCA1MTgzNiwgNTE4NDQsIDUxODUyLCA1MTg1OSwgNTE4NjMsIDUxODcxLCAKLSAgICA1MTg3OSwgNTE4ODMsIDUxODg3LCA1MTg5MiwgNTE4OTksIDUxOTA3LCA1MTkxNSwgNTE5MzQsIDUxOTUzLCA1MTk3MiwgCi0gICAgNTE5OTEsIDUyMDEwLCA1MjAyOSwgNTIwNDgsIDUyMDY3LCA1MjA3MywgNTIwODAsIDUyMDg5LCA1MjA5NywgNTIxMDUsIAotICAgIDUyMTEwLCA1MjExMywgNTIxMTYsIDUyMTIxLCA1MjEyNCwgNTIxNDMsIDUyMTUwLCA1MjE1NiwgNTIxNjIsIDUyMTY2LCAKLSAgICA1MjE2OSwgNTIxNzIsIDUyMTc1LCA1MjE4NywgNTIyMDAsIDUyMjA3LCA1MjIxNCwgNTIyMTcsIDUyMjIxLCA1MjIyNCwgCi0gICAgNTIyMjksIDUyMjM0LCA1MjIzOSwgNTIyNDUsIDUyMjU0LCA1MjI2MSwgNTIyNjgsIDUyMjc2LCA1MjI4MywgNTIyOTAsIAotICAgIDUyMjkzLCA1MjI5OSwgNTIzMDUsIDUyMzA4LCA1MjMxMSwgNTIzMTYsIDUyMzIxLCA1MjMyNywgNTIzMzMsIDUyMzM3LCAKLSAgICA1MjM0MiwgNTIzNDksIDUyMzUzLCA1MjM1OSwgNTIzNjMsIDUyMzY3LCA1MjM3NSwgNTIzODcsIDUyMzk2LCA1MjQwMCwgCi0gICAgNTI0MDIsIDUyNDExLCA1MjQyMCwgNTI0MjYsIDUyNDI5LCA1MjQzNSwgNTI0NDEsIDUyNDQ2LCA1MjQ1MSwgNTI0NTYsIAotICAgIDUyNDYxLCA1MjQ2NiwgNTI0NzEsIDUyNDczLCA1MjQ3OSwgNTI0ODQsIDUyNDkxLCA1MjQ5NSwgNTI1MDEsIDUyNTA0LCAKLSAgICA1MjUwOCwgNTI1MTUsIDUyNTIyLCA1MjUyNCwgNTI1MjYsIDUyNTMyLCA1MjUzOCwgNTI1NDQsIDUyNTUzLCA1MjU2MiwgCi0gICAgNTI1NjksIDUyNTc2LCA1MjU4MiwgNTI1ODgsIDUyNTkzLCA1MjU5OCwgNTI2MDMsIDUyNjA5LCA1MjYxNSwgNTI2MjAsIAotICAgIDUyNjI3LCA1MjYzMSwgNTI2MzUsIDUyNjQ4LCA1MjY2MSwgNTI2NzMsIDUyNjgyLCA1MjY4OCwgNTI2OTUsIDUyNzAwLCAKLSAgICA1MjcwNSwgNTI3MTAsIDUyNzE1LCA1MjcyMCwgNTI3MjIsIDUyNzI5LCA1MjczNiwgNTI3NDMsIDUyNzUwLCA1Mjc1NywgCi0gICAgNTI3NjUsIDUyNzcxLCA1Mjc3NiwgNTI3ODIsIDUyNzg4LCA1Mjc5NCwgNTI4MDEsIDUyODA3LCA1MjgxNSwgNTI4MjMsIAotICAgIDUyODMxLCA1MjgzOSwgNTI4NDYsIDUyODUyLCA1Mjg1OCwgNTI4NjcsIDUyODcxLCA1Mjg4MCwgNTI4ODksIDUyODk4LCAKLSAgICA1MjkwNiwgNTI5MTAsIDUyOTE2LCA1MjkyMywgNTI5MzAsIDUyOTM0LCA1Mjk0MCwgNTI5NDcsIDUyOTUyLCA1Mjk1NywgCi0gICAgNTI5NjMsIDUyOTY4LCA1Mjk3MywgNTI5ODAsIDUyOTg3LCA1Mjk5MiwgNTI5OTcsIDUzMDA1LCA1MzAxMywgNTMwMjMsIAotICAgIDUzMDMzLCA1MzA0MCwgNTMwNDcsIDUzMDUxLCA1MzA1NSwgNTMwNjcsIDUzMDczLCA1MzA3OSwgNTMwODQsIDUzMDg5LCAKLSAgICA1MzA5NiwgNTMxMDMsIDUzMTA5LCA1MzExNSwgNTMxMjQsIDUzMTMyLCA1MzE0MCwgNTMxNDcsIDUzMTU0LCA1MzE2MSwgCi0gICAgNTMxNjcsIDUzMTc0LCA1MzE4MCwgNTMxODcsIDUzMTk0LCA1MzIwMSwgNTMyMDgsIDUzMjE0LCA1MzIxOSwgNTMyMjgsIAotICAgIDUzMjM4LCA1MzI0NSwgNTMyNTQsIDUzMjYwLCA1MzI2NSwgNTMyNzAsIDUzMjgwLCA1MzI4NiwgNTMyOTIsIDUzMjk4LCAKLSAgICA1MzMwNiwgNTMzMTEsIDUzMzE4LCA1MzMyNSwgNTMzMzYsIDUzMzQzLCA1MzM1MCwgNTMzNTcsIDUzMzY0LCA1MzM3MSwgCi0gICAgNTMzNzgsIDUzMzg1LCA1MzM5NywgNTM0MDksIDUzNDIwLCA1MzQzMSwgNTM0NDQsIDUzNDU3LCA1MzQ2MiwgNTM0NjcsIAotICAgIDUzNDc2LCA1MzQ4NSwgNTM0OTIsIDUzNDk5LCA1MzUwOCwgNTM1MTcsIDUzNTI1LCA1MzUzMywgNTM1NDEsIDUzNTQ5LCAKLSAgICA1MzU1OSwgNTM1NjksIDUzNTgzLCA1MzU5NywgNTM2MDUsIDUzNjEzLCA1MzYyNSwgNTM2MzcsIDUzNjQ1LCA1MzY1MywgCi0gICAgNTM2NjMsIDUzNjczLCA1MzY3OCwgNTM2ODMsIDUzNjkyLCA1MzcwMSwgNTM3MDYsIDUzNzExLCA1MzcxOSwgNTM3MjUsIAotICAgIDUzNzMxLCA1MzczOSwgNTM3NDcsIDUzNzYwLCA1Mzc3MywgNTM3NzcsIDUzNzgxLCA1Mzc4OCwgNTM3OTUsIDUzODAyLCAKLSAgICA1MzgxMCwgNTM4MTgsIDUzODI3LCA1MzgzNiwgNTM4NDIsIDUzODQ4LCA1Mzg1NSwgNTM4NjIsIDUzODY5LCA1Mzg3NiwgCi0gICAgNTM4ODUsIDUzODk0LCA1Mzg5NywgNTM5MDAsIDUzOTA1LCA1MzkxMCwgNTM5MTYsIDUzOTIyLCA1MzkyOSwgNTM5MzYsIAotICAgIDUzOTQ2LCA1Mzk1NiwgNTM5NjMsIDUzOTcwLCA1Mzk3OCwgNTM5ODYsIDUzOTk0LCA1NDAwMiwgNTQwMTAsIDU0MDE4LCAKLSAgICA1NDAyNCwgNTQwMzAsIDU0MDM0LCA1NDAzOCwgNTQwNDUsIDU0MDUyLCA1NDA1NywgNTQwNjIsIDU0MDY3LCA1NDA3MiwgCi0gICAgNTQwNzgsIDU0MDkyLCA1NDA5OSwgNTQxMDYsIDU0MTEwLCA1NDExMiwgNTQxMTQsIDU0MTE5LCA1NDEyNCwgNTQxMjksIAotICAgIDU0MTM0LCA1NDE0MiwgNTQxNDksIDU0MTU2LCA1NDE2NCwgNTQxNzYsIDU0MTg0LCA1NDE5MiwgNTQyMDMsIDU0MjA3LCAKLSAgICA1NDIxMSwgNTQyMTcsIDU0MjI1LCA1NDIzOCwgNTQyNDUsIDU0MjUyLCA1NDI1OSwgNTQyNjQsIDU0MjcxLCA1NDI4MCwgCi0gICAgNTQyODgsIDU0Mjk0LCA1NDMwMCwgNTQzMDYsIDU0MzE1LCA1NDMyNCwgNTQzMzIsIDU0MzQxLCA1NDM0NiwgNTQzNDksIAotICAgIDU0MzU0LCA1NDM2MCwgNTQzNjYsIDU0MzcyLCA1NDM3OCwgNTQzODIsIDU0Mzg1LCA1NDM4OSwgNTQzOTMsIDU0Mzk5LCAKLSAgICA1NDQwNSwgNTQ0MTEsIDU0NDE3LCA1NDQyMSwgNTQ0MjUsIDU0NDMyLCA1NDQzOSwgNTQ0NDYsIDU0NDUzLCA1NDQ2MCwgCi0gICAgNTQ0NjcsIDU0NDc3LCA1NDQ4NywgNTQ0OTQsIDU0NTAxLCA1NDUwOSwgNTQ1MTcsIDU0NTIxLCA1NDUyNiwgNTQ1MzEsIAotICAgIDU0NTM3LCA1NDU0MywgNTQ1NDYsIDU0NTQ5LCA1NDU1MiwgNTQ1NTUsIDU0NTU5LCA1NDU2NCwgNTQ1NjksIDU0NTc0LCAKLSAgICA1NDU3OSwgNTQ1ODQsIDU0NTg4LCA1NDU5MiwgNTQ1OTYsIDU0NjAwLCA1NDYwNCwgNTQ2MDgsIDU0NjEyLCA1NDYxOCwgCi0gICAgNTQ2MjIsIDU0NjI4LCA1NDYzMywgNTQ2NDAsIDU0NjQ4LCA1NDY1NSwgNTQ2NjMsIDU0NjcwLCA1NDY3OCwgNTQ2ODcsIAotICAgIDU0Njk0LCA1NDcwNCwgNTQ3MTUsIDU0NzIxLCA1NDczMCwgNTQ3MzYsIDU0NzQ1LCA1NDc1NCwgNTQ3NjAsIDU0NzY2LCAKLSAgICA1NDc3MCwgNTQ3NzQsIDU0NzgzLCA1NDc5MiwgNTQ3OTksIDU0ODA2LCA1NDgxNSwgMCwgMCwgMCwgNTQ4MjQsIDU0ODI5LCAKLSAgICA1NDgzMywgNTQ4MzcsIDU0ODQyLCA1NDg0NywgNTQ4NTIsIDU0ODYwLCA1NDg2OCwgNTQ4NzEsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDc4NjU4LCAKKyAgICA3ODY2NSwgNzg2NzIsIDc4Njc5LCA3ODY4NiwgNzg2OTIsIDc4Njk4LCA3ODcwNSwgNzg3MTIsIDc4NzE5LCA3ODcyNiwgCisgICAgNzg3MzMsIDc4NzQwLCA3ODc0NywgNzg3NTQsIDc4NzYxLCA3ODc2NywgNzg3NzQsIDc4NzgxLCA3ODc4OCwgNzg3OTUsIAorICAgIDc4ODAyLCA3ODgwOSwgNzg4MTYsIDc4ODIzLCA3ODgzMCwgNzg4MzcsIDc4ODQ0LCA3ODg1MywgNzg4NjIsIDc4ODcxLCAKKyAgICA3ODg4MCwgNzg4ODksIDc4ODk4LCA3ODkwNywgNzg5MTYsIDc4OTI0LCA3ODkzMiwgNzg5NDAsIDc4OTQ4LCA3ODk1NiwgCisgICAgNzg5NjQsIDc4OTcyLCA3ODk4MCwgNzg5ODYsIDc4OTk0LCAwLCAwLCA3OTAwMiwgNzkwMDksIDc5MDE1LCA3OTAyMSwgCisgICAgNzkwMjcsIDc5MDMzLCA3OTAzOSwgNzkwNDUsIDc5MDUxLCA3OTA1NywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTQ4NzUsIDU0ODgwLCA1NDg4NSwgCi0gICAgNTQ4OTAsIDU0ODk1LCA1NDkwMCwgNTQ5MDUsIDU0OTEwLCA1NDkxNSwgNTQ5MjAsIDU0OTI1LCA1NDkzMSwgNTQ5MzUsIAotICAgIDU0OTQwLCA1NDk0NSwgNTQ5NTAsIDU0OTU1LCA1NDk2MCwgNTQ5NjUsIDU0OTcwLCA1NDk3NSwgNTQ5ODAsIDU0OTg1LCAKLSAgICA1NDk5MCwgNTQ5OTUsIDU1MDAwLCA1NTAwNSwgNTUwMTAsIDU1MDE1LCA1NTAyMCwgNTUwMjUsIDU1MDMwLCA1NTAzNSwgCi0gICAgNTUwNDAsIDU1MDQ1LCA1NTA1MSwgNTUwNTYsIDU1MDYyLCA1NTA3MSwgNTUwNzYsIDU1MDg0LCA1NTA5MSwgNTUxMDAsIAotICAgIDU1MTA1LCA1NTExMCwgNTUxMTUsIDU1MTIxLCAwLCA1NTEyOCwgNTUxMzMsIDU1MTM4LCA1NTE0MywgNTUxNDgsIDU1MTUzLCAKLSAgICA1NTE1OCwgNTUxNjMsIDU1MTY4LCA1NTE3MywgNTUxNzgsIDU1MTg0LCA1NTE4OCwgNTUxOTMsIDU1MTk4LCA1NTIwMywgCi0gICAgNTUyMDgsIDU1MjEzLCA1NTIxOCwgNTUyMjMsIDU1MjI4LCA1NTIzMywgNTUyMzgsIDU1MjQzLCA1NTI0OCwgNTUyNTMsIAotICAgIDU1MjU4LCA1NTI2MywgNTUyNjgsIDU1MjczLCA1NTI3OCwgNTUyODMsIDU1Mjg4LCA1NTI5MywgNTUyOTgsIDU1MzA0LCAKLSAgICA1NTMwOSwgNTUzMTUsIDU1MzI0LCA1NTMyOSwgNTUzMzcsIDU1MzQ0LCA1NTM1MywgNTUzNTgsIDU1MzYzLCA1NTM2OCwgCi0gICAgNTUzNzQsIDAsIDU1MzgxLCA1NTM4OSwgNTUzOTcsIDU1NDA2LCA1NTQxMywgNTU0MjEsIDU1NDI3LCA1NTQzNiwgNTU0NDQsIAotICAgIDU1NDUyLCA1NTQ2MCwgNTU0NjgsIDU1NDc2LCA1NTQ4NCwgNTU0ODksIDU1NDk2LCA1NTUwMiwgNTU1MDksIDU1NTE3LCAKLSAgICA1NTUyNCwgNTU1MzEsIDU1NTM5LCA1NTU0NSwgNTU1NTEsIDU1NTU4LCA1NTU2NSwgNTU1NzUsIDU1NTg1LCA1NTU5MiwgCi0gICAgNTU1OTksIDU1NjA0LCA1NTYxNCwgNTU2MjQsIDU1NjI5LCA1NTYzNCwgNTU2MzksIDU1NjQ0LCA1NTY0OSwgNTU2NTQsIAotICAgIDU1NjU5LCA1NTY2NCwgNTU2NjksIDU1Njc0LCA1NTY3OSwgNTU2ODQsIDU1Njg5LCA1NTY5NCwgNTU2OTksIDU1NzA0LCAKLSAgICA1NTcwOSwgNTU3MTQsIDU1NzE5LCA1NTcyNCwgNTU3MjksIDU1NzM0LCA1NTczOSwgNTU3NDQsIDU1NzQ5LCA1NTc1NCwgCi0gICAgNTU3NTksIDU1NzY0LCA1NTc2OSwgNTU3NzQsIDU1Nzc4LCA1NTc4MiwgNTU3ODcsIDU1NzkyLCA1NTc5NywgNTU4MDIsIAotICAgIDU1ODA3LCA1NTgxMiwgNTU4MTcsIDU1ODIyLCA1NTgyNywgNTU4MzIsIDU1ODM3LCA1NTg0MiwgNTU4NDcsIDU1ODUyLCAKLSAgICA1NTg1NywgNTU4NjIsIDU1ODY3LCA1NTg3MiwgNTU4NzksIDU1ODg2LCA1NTg5MywgNTU5MDAsIDU1OTA3LCA1NTkxNCwgCi0gICAgNTU5MjEsIDU1OTI4LCA1NTkzNSwgNTU5NDIsIDU1OTQ5LCA1NTk1NiwgNTU5NjMsIDU1OTcwLCA1NTk3NSwgNTU5ODAsIAotICAgIDU1OTg3LCA1NTk5NCwgNTYwMDEsIDU2MDA4LCA1NjAxNSwgNTYwMjIsIDU2MDI5LCA1NjAzNiwgNTYwNDMsIDU2MDUwLCAKLSAgICA1NjA1NywgNTYwNjQsIDU2MDcwLCA1NjA3NiwgNTYwODIsIDU2MDg4LCA1NjA5NSwgNTYxMDIsIDU2MTA5LCA1NjExNiwgCi0gICAgNTYxMjMsIDU2MTMwLCA1NjEzNywgNTYxNDQsIDU2MTUxLCA1NjE1OCwgNTYxNjYsIDU2MTc0LCA1NjE4MiwgNTYxOTAsIAotICAgIDU2MTk4LCA1NjIwNiwgNTYyMTQsIDU2MjIyLCA1NjIyNiwgNTYyMzIsIDU2MjM4LCA1NjI0MiwgNTYyNDgsIDU2MjU0LCAKLSAgICA1NjI2MCwgNTYyNjcsIDU2Mjc0LCA1NjI4MSwgNTYyODgsIDU2MjkzLCA1NjI5OSwgNTYzMDUsIDU2MzEyLCAwLCAwLCAwLCAKLSAgICAwLCAwLCA1NjMxOSwgNTYzMjcsIDU2MzM2LCA1NjM0NSwgNTYzNTMsIDU2MzU5LCA1NjM2NCwgNTYzNjksIDU2Mzc0LCAKLSAgICA1NjM3OSwgNTYzODQsIDU2Mzg5LCA1NjM5NCwgNTYzOTksIDU2NDA0LCA1NjQwOSwgNTY0MTQsIDU2NDE5LCA1NjQyNCwgCi0gICAgNTY0MjksIDU2NDM0LCA1NjQzOSwgNTY0NDQsIDU2NDQ5LCA1NjQ1NCwgNTY0NTksIDU2NDY0LCA1NjQ2OSwgNTY0NzQsIAotICAgIDU2NDc5LCA1NjQ4NCwgNTY0ODksIDU2NDk0LCA1NjQ5OSwgNTY1MDQsIDU2NTA5LCA1NjUxNCwgNTY1MTksIDU2NTI0LCAKLSAgICA1NjUyOSwgNTY1MzQsIDU2NTM5LCA1NjU0NCwgNTY1NDksIDU2NTU0LCAwLCA1NjU1OSwgMCwgMCwgMCwgMCwgMCwgNTY1NjQsIAotICAgIDAsIDAsIDU2NTY5LCA1NjU3MywgNTY1NzgsIDU2NTgzLCA1NjU4OCwgNTY1OTMsIDU2NjAyLCA1NjYwNywgNTY2MTIsIAotICAgIDU2NjE3LCA1NjYyMiwgNTY2MjcsIDU2NjMyLCA1NjYzNywgNTY2NDIsIDU2NjQ5LCA1NjY1NCwgNTY2NTksIDU2NjY4LCAKLSAgICA1NjY3NSwgNTY2ODAsIDU2Njg1LCA1NjY5MCwgNTY2OTcsIDU2NzAyLCA1NjcwOSwgNTY3MTQsIDU2NzE5LCA1NjcyNiwgCi0gICAgNTY3MzMsIDU2NzM4LCA1Njc0MywgNTY3NDgsIDU2NzU1LCA1Njc2MiwgNTY3NjcsIDU2NzcyLCA1Njc3NywgNTY3ODIsIAotICAgIDU2Nzg3LCA1Njc5NCwgNTY4MDEsIDU2ODA2LCA1NjgxMSwgNTY4MTYsIDU2ODIxLCA1NjgyNiwgNTY4MzEsIDU2ODM2LCAKLSAgICA1Njg0MSwgNTY4NDYsIDU2ODUxLCA1Njg1NiwgNTY4NjMsIDU2ODY4LCA1Njg3MywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgNTY4NzgsIDU2ODg1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1Njg5MCwgNTY4OTUsIAotICAgIDU2ODk5LCA1NjkwMywgNTY5MDcsIDU2OTExLCA1NjkxNSwgNTY5MTksIDU2OTIzLCA1NjkyNywgNTY5MzEsIDU2OTM1LCAKLSAgICA1Njk0MSwgNTY5NDUsIDU2OTQ5LCA1Njk1MywgNTY5NTcsIDU2OTYxLCA1Njk2NSwgNTY5NjksIDU2OTczLCA1Njk3NywgCi0gICAgNTY5ODEsIDU2OTg1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1Njk4OSwgNTY5OTMsIDU2OTk3LCA1NzAwMSwgCi0gICAgNTcwMDUsIDU3MDA5LCA1NzAxMywgMCwgNTcwMTcsIDU3MDIxLCA1NzAyNSwgNTcwMjksIDU3MDMzLCA1NzAzNywgNTcwNDEsIAotICAgIDAsIDU3MDQ1LCA1NzA0OSwgNTcwNTMsIDU3MDU3LCA1NzA2MSwgNTcwNjUsIDU3MDY5LCAwLCA1NzA3MywgNTcwNzcsIAotICAgIDU3MDgxLCA1NzA4NSwgNTcwODksIDU3MDkzLCA1NzA5NywgMCwgNTcxMDEsIDU3MTA1LCA1NzEwOSwgNTcxMTMsIDU3MTE3LCAKLSAgICA1NzEyMSwgNTcxMjUsIDAsIDU3MTI5LCA1NzEzMywgNTcxMzcsIDU3MTQxLCA1NzE0NSwgNTcxNDksIDU3MTUzLCAwLCAKLSAgICA1NzE1NywgNTcxNjEsIDU3MTY1LCA1NzE2OSwgNTcxNzMsIDU3MTc3LCA1NzE4MSwgMCwgNTcxODUsIDU3MTg5LCA1NzE5MywgCi0gICAgNTcxOTcsIDU3MjAxLCA1NzIwNSwgNTcyMDksIDAsIDU3MjEzLCA1NzIxOCwgNTcyMjMsIDU3MjI4LCA1NzIzMywgNTcyMzgsIAotICAgIDU3MjQzLCA1NzI0NywgNTcyNTIsIDU3MjU3LCA1NzI2MiwgNTcyNjYsIDU3MjcxLCA1NzI3NiwgNTcyODEsIDU3Mjg2LCAKLSAgICA1NzI5MCwgNTcyOTUsIDU3MzAwLCA1NzMwNSwgNTczMTAsIDU3MzE1LCA1NzMyMCwgNTczMjQsIDU3MzI5LCA1NzMzNCwgCi0gICAgNTczNDEsIDU3MzQ2LCA1NzM1MSwgNTczNTcsIDU3MzY0LCA1NzM3MSwgNTczODAsIDU3Mzg3LCA1NzM5NiwgNTc0MDAsIAotICAgIDU3NDA0LCA1NzQxMCwgNTc0MTYsIDU3NDIyLCA1NzQzMCwgNTc0MzYsIDU3NDQwLCA1NzQ0NCwgNTc0NDgsIDU3NDU0LCAKLSAgICA1NzQ2MCwgNTc0NjQsIDU3NDY2LCA1NzQ3MCwgNTc0NzYsIDU3NDc4LCA1NzQ4MiwgNTc0ODYsIDU3NDkwLCA1NzQ5NiwgCi0gICAgNTc1MDEsIDU3NTA1LCA1NzUwOSwgNTc1MTQsIDU3NTIwLCA1NzUyNSwgNTc1MzAsIDU3NTM1LCA1NzU0MCwgNTc1NDcsIAotICAgIDU3NTU0LCA1NzU1OSwgNTc1NjQsIDU3NTY5LCA1NzU3NCwgNTc1NzksIDU3NTg0LCA1NzU4OCwgNTc1OTIsIDU3NTk5LCAKLSAgICA1NzYwNiwgNTc2MTIsIDU3NjE2LCA1NzYyMSwgNTc2MjMsIDU3NjI3LCA1NzYzNSwgNTc2MzksIDU3NjQzLCA1NzY0NywgCi0gICAgNTc2NTEsIDU3NjU3LCA1NzY2MywgNTc2NjcsIDU3NjczLCA1NzY3NywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgNzkwNjMsIDc5MDY3LCA3OTA3MSwgNzkwNzUsIDc5MDc5LCA3OTA4MywgNzkwODcsIDc5MDkxLCAKKyAgICA3OTA5NSwgNzkwOTksIDc5MTAzLCA3OTEwNywgNzkxMTEsIDc5MTE1LCA3OTExOSwgNzkxMjMsIDc5MTI3LCA3OTEzMSwgCisgICAgNzkxMzUsIDc5MTM5LCA3OTE0MywgNzkxNDcsIDc5MTUxLCAwLCAwLCAwLCAwLCA3OTE1NSwgNzkxNTksIDc5MTYzLCAKKyAgICA3OTE2NywgNzkxNzEsIDc5MTc1LCA3OTE3OSwgNzkxODMsIDc5MTg3LCA3OTE5MSwgNzkxOTUsIDc5MTk5LCA3OTIwMywgCisgICAgNzkyMDcsIDc5MjExLCA3OTIxNSwgNzkyMTksIDc5MjIzLCA3OTIyNywgNzkyMzEsIDc5MjM1LCA3OTIzOSwgNzkyNDMsIAorICAgIDc5MjQ3LCA3OTI1MSwgNzkyNTUsIDc5MjU5LCA3OTI2MywgNzkyNjcsIDc5MjcxLCA3OTI3NSwgNzkyNzksIDc5MjgzLCAKKyAgICA3OTI4NywgNzkyOTEsIDc5Mjk1LCA3OTI5OSwgNzkzMDMsIDc5MzA3LCA3OTMxMSwgNzkzMTUsIDc5MzE5LCA3OTMyMywgCisgICAgNzkzMjcsIDc5MzMxLCA3OTMzNSwgNzkzMzksIDc5MzQzLCA3OTM0NywgMCwgMCwgMCwgMCwgNzkzNTEsIDc5MzU1LCAKKyAgICA3OTM1OSwgNzkzNjMsIDc5MzY3LCA3OTM3MSwgNzkzNzUsIDc5Mzc5LCA3OTM4MywgNzkzODcsIDc5MzkxLCA3OTM5NSwgCisgICAgNzkzOTksIDc5NDAzLCA3OTQwNywgNzk0MTEsIDc5NDE1LCA3OTQxOSwgNzk0MjMsIDc5NDI3LCA3OTQzMSwgNzk0MzUsIAorICAgIDc5NDM5LCA3OTQ0MywgNzk0NDcsIDc5NDUxLCA3OTQ1NSwgNzk0NTksIDc5NDYzLCA3OTQ2NywgNzk0NzEsIDc5NDc1LCAKKyAgICA3OTQ3OSwgNzk0ODMsIDc5NDg3LCA3OTQ5MSwgNzk0OTUsIDc5NDk5LCA3OTUwMywgNzk1MDcsIDc5NTExLCA3OTUxNSwgCisgICAgNzk1MTksIDc5NTIzLCA3OTUyNywgNzk1MzEsIDc5NTM1LCA3OTUzOSwgNzk1NDMsIDc5NTQ3LCA3OTU1MSwgNzk1NTUsIAorICAgIDc5NTU5LCA3OTU2MywgNzk1NjcsIDc5NTcxLCA3OTU3NSwgNzk1NzksIDc5NTgzLCA3OTU4NywgNzk1OTEsIDc5NTk1LCAKKyAgICA3OTU5OSwgNzk2MDMsIDc5NjA3LCA3OTYxMSwgNzk2MTUsIDc5NjE5LCA3OTYyMywgNzk2MjcsIDc5NjMxLCA3OTYzNSwgCisgICAgNzk2MzksIDc5NjQzLCA3OTY0NywgNzk2NTEsIDc5NjU1LCA3OTY1OSwgNzk2NjMsIDc5NjY3LCA3OTY3MSwgNzk2NzUsIAorICAgIDc5Njc5LCA3OTY4MywgNzk2ODcsIDc5NjkxLCA3OTY5NSwgNzk2OTksIDc5NzAzLCA3OTcwNywgNzk3MTEsIDc5NzE1LCAKKyAgICA3OTcxOSwgNzk3MjMsIDc5NzI3LCA3OTczMSwgNzk3MzUsIDc5NzM5LCA3OTc0MywgNzk3NDcsIDc5NzUxLCA3OTc1NSwgCisgICAgNzk3NTksIDc5NzYzLCA3OTc2NywgNzk3NzEsIDc5Nzc1LCA3OTc3OSwgNzk3ODMsIDc5Nzg3LCA3OTc5MSwgNzk3OTUsIAorICAgIDc5Nzk5LCA3OTgwMywgNzk4MDcsIDc5ODExLCA3OTgxNSwgNzk4MTksIDc5ODIzLCA3OTgyNywgNzk4MzEsIDc5ODM1LCAKKyAgICA3OTgzOSwgNzk4NDMsIDc5ODQ3LCA3OTg1MSwgNzk4NTUsIDc5ODU5LCA3OTg2MywgNzk4NjcsIDc5ODcxLCA3OTg3NSwgCisgICAgNzk4NzksIDc5ODgzLCA3OTg4NywgNzk4OTEsIDc5ODk1LCA3OTg5OSwgNzk5MDMsIDc5OTA3LCA3OTkxMSwgNzk5MTUsIAorICAgIDc5OTE5LCA3OTkyMywgNzk5MjcsIDc5OTMxLCA3OTkzNSwgNzk5MzksIDc5OTQzLCA3OTk0NywgNzk5NTEsIDc5OTU1LCAKKyAgICA3OTk1OSwgNzk5NjMsIDc5OTY3LCA3OTk3MSwgNzk5NzUsIDc5OTc5LCA3OTk4MywgNzk5ODcsIDc5OTkxLCA3OTk5NSwgCisgICAgNzk5OTksIDgwMDAzLCA4MDAwNywgODAwMTEsIDgwMDE1LCA4MDAxOSwgODAwMjMsIDgwMDI3LCA4MDAzMSwgODAwMzUsIAorICAgIDgwMDM5LCA4MDA0MywgODAwNDcsIDgwMDUxLCA4MDA1NSwgODAwNTksIDgwMDYzLCA4MDA2NywgODAwNzEsIDgwMDc1LCAKKyAgICA4MDA3OSwgODAwODMsIDgwMDg3LCA4MDA5MSwgODAwOTUsIDgwMDk5LCA4MDEwMywgODAxMDcsIDgwMTExLCA4MDExNSwgCisgICAgODAxMTksIDgwMTIzLCA4MDEyNywgODAxMzEsIDgwMTM1LCA4MDEzOSwgODAxNDMsIDgwMTQ3LCA4MDE1MSwgODAxNTUsIAorICAgIDgwMTU5LCA4MDE2MywgODAxNjcsIDgwMTcxLCA4MDE3NSwgODAxNzksIDgwMTgzLCA4MDE4NywgODAxOTEsIDgwMTk1LCAKKyAgICA4MDE5OSwgODAyMDMsIDgwMjA3LCA4MDIxMSwgODAyMTUsIDgwMjE5LCA4MDIyMywgODAyMjcsIDgwMjMxLCA4MDIzNSwgCisgICAgODAyMzksIDgwMjQzLCA4MDI0NywgODAyNTEsIDgwMjU1LCA4MDI1OSwgODAyNjMsIDgwMjY3LCA4MDI3MSwgODAyNzUsIAorICAgIDgwMjc5LCA4MDI4MywgODAyODcsIDgwMjkxLCA4MDI5NSwgODAyOTksIDgwMzAzLCA4MDMwNywgODAzMTEsIDgwMzE1LCAKKyAgICA4MDMxOSwgODAzMjMsIDgwMzI3LCA4MDMzMSwgODAzMzUsIDgwMzM5LCA4MDM0MywgODAzNDcsIDgwMzUxLCA4MDM1NSwgCisgICAgODAzNTksIDgwMzYzLCA4MDM2NywgODAzNzEsIDgwMzc1LCA4MDM3OSwgODAzODMsIDgwMzg3LCA4MDM5MSwgODAzOTUsIAorICAgIDgwMzk5LCA4MDQwMywgODA0MDcsIDgwNDExLCA4MDQxNSwgODA0MTksIDgwNDIzLCA4MDQyNywgODA0MzEsIDgwNDM1LCAKKyAgICA4MDQzOSwgODA0NDMsIDgwNDQ3LCA4MDQ1MSwgODA0NTUsIDgwNDU5LCA4MDQ2MywgODA0NjcsIDgwNDcxLCA4MDQ3NSwgCisgICAgODA0NzksIDgwNDgzLCA4MDQ4NywgODA0OTEsIDgwNDk1LCA4MDQ5OSwgODA1MDMsIDgwNTA3LCA4MDUxMSwgODA1MTUsIAorICAgIDgwNTE5LCA4MDUyMywgODA1MjcsIDgwNTMxLCA4MDUzNSwgODA1MzksIDgwNTQzLCA4MDU0NywgODA1NTEsIDgwNTU1LCAKKyAgICA4MDU1OSwgODA1NjMsIDgwNTY3LCA4MDU3MSwgODA1NzUsIDgwNTc5LCA4MDU4MywgODA1ODcsIDgwNTkxLCA4MDU5NSwgCisgICAgODA1OTksIDgwNjAzLCA4MDYwNywgODA2MTEsIDgwNjE1LCA4MDYxOSwgODA2MjMsIDgwNjI3LCA4MDYzMSwgODA2MzUsIAorICAgIDgwNjM5LCA4MDY0MywgODA2NDcsIDgwNjUxLCA4MDY1NSwgODA2NTksIDgwNjYzLCA4MDY2NywgODA2NzEsIDgwNjc1LCAKKyAgICA4MDY3OSwgODA2ODMsIDgwNjg3LCA4MDY5MSwgODA2OTUsIDgwNjk5LCA4MDcwMywgODA3MDcsIDgwNzExLCA4MDcxNSwgCisgICAgODA3MTksIDgwNzIzLCA4MDcyNywgODA3MzEsIDgwNzM1LCA4MDczOSwgODA3NDMsIDgwNzQ3LCA4MDc1MSwgODA3NTUsIAorICAgIDgwNzU5LCA4MDc2MywgODA3NjcsIDgwNzcxLCA4MDc3NSwgODA3NzksIDgwNzgzLCA4MDc4NywgODA3OTEsIDgwNzk1LCAKKyAgICA4MDc5OSwgODA4MDMsIDgwODA3LCA4MDgxMSwgMCwgMCwgODA4MTUsIDgwODE5LCA4MDgyMywgODA4MjcsIDgwODMxLCAKKyAgICA4MDgzNSwgODA4MzksIDgwODQzLCA4MDg0NywgODA4NTEsIDgwODU1LCA4MDg1OSwgODA4NjMsIDgwODY3LCA4MDg3MSwgCisgICAgODA4NzUsIDgwODc5LCA4MDg4MywgODA4ODcsIDgwODkxLCA4MDg5NSwgODA4OTksIDgwOTAzLCA4MDkwNywgODA5MTEsIAorICAgIDgwOTE1LCA4MDkxOSwgODA5MjMsIDgwOTI3LCA4MDkzMSwgODA5MzUsIDgwOTM5LCA4MDk0MywgODA5NDcsIDgwOTUxLCAKKyAgICA4MDk1NSwgODA5NTksIDgwOTYzLCA4MDk2NywgODA5NzEsIDgwOTc1LCA4MDk3OSwgODA5ODMsIDgwOTg3LCA4MDk5MSwgCisgICAgODA5OTUsIDgwOTk5LCA4MTAwMywgODEwMDcsIDgxMDExLCA4MTAxNSwgODEwMTksIDgxMDIzLCA4MTAyNywgODEwMzEsIAorICAgIDgxMDM1LCA4MTAzOSwgODEwNDMsIDgxMDQ3LCA4MTA1MSwgODEwNTUsIDgxMDU5LCA4MTA2MywgODEwNjcsIDgxMDcxLCAKKyAgICA4MTA3NSwgODEwNzksIDgxMDgzLCA4MTA4NywgODEwOTEsIDgxMDk1LCA4MTA5OSwgODExMDMsIDgxMTA3LCA4MTExMSwgCisgICAgODExMTUsIDgxMTE5LCA4MTEyMywgODExMjcsIDgxMTMxLCA4MTEzNSwgODExMzksIDgxMTQzLCA4MTE0NywgODExNTEsIAorICAgIDgxMTU1LCA4MTE1OSwgODExNjMsIDgxMTY3LCA4MTE3MSwgODExNzUsIDgxMTc5LCA4MTE4MywgODExODcsIDgxMTkxLCAKKyAgICA4MTE5NSwgODExOTksIDgxMjAzLCA4MTIwNywgODEyMTEsIDgxMjE1LCA4MTIxOSwgODEyMjMsIDgxMjI3LCA4MTIzMSwgCisgICAgODEyMzUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDgxMjM5LCA4MTI0NCwgODEyNDksIAorICAgIDgxMjU0LCA4MTI1OSwgODEyNjQsIDgxMjcyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA4MTI3NywgCisgICAgODEyODQsIDgxMjkxLCA4MTI5OCwgODEzMDUsIDAsIDAsIDAsIDAsIDAsIDgxMzEyLCA4MTMxOSwgODEzMjYsIDgxMzM2LCAKKyAgICA4MTM0MiwgODEzNDgsIDgxMzU0LCA4MTM2MCwgODEzNjYsIDgxMzcyLCA4MTM3OSwgODEzODUsIDgxMzkxLCA4MTM5NywgCisgICAgODE0MDYsIDgxNDE1LCA4MTQyNywgODE0MzksIDgxNDQ1LCA4MTQ1MSwgODE0NTcsIDgxNDY0LCA4MTQ3MSwgODE0NzgsIAorICAgIDgxNDg1LCA4MTQ5MiwgMCwgODE0OTksIDgxNTA2LCA4MTUxMywgODE1MjEsIDgxNTI4LCAwLCA4MTUzNSwgMCwgODE1NDIsIAorICAgIDgxNTQ5LCAwLCA4MTU1NiwgODE1NjQsIDAsIDgxNTcxLCA4MTU3OCwgODE1ODUsIDgxNTkyLCA4MTU5OSwgODE2MDYsIAorICAgIDgxNjEzLCA4MTYyMCwgODE2MjcsIDgxNjM0LCA4MTYzOSwgODE2NDYsIDgxNjUzLCA4MTY1OSwgODE2NjUsIDgxNjcxLCAKKyAgICA4MTY3NywgODE2ODMsIDgxNjg5LCA4MTY5NSwgODE3MDEsIDgxNzA3LCA4MTcxMywgODE3MTksIDgxNzI1LCA4MTczMSwgCisgICAgODE3MzcsIDgxNzQzLCA4MTc0OSwgODE3NTUsIDgxNzYxLCA4MTc2NywgODE3NzMsIDgxNzc5LCA4MTc4NSwgODE3OTEsIAorICAgIDgxNzk3LCA4MTgwMywgODE4MDksIDgxODE1LCA4MTgyMSwgODE4MjcsIDgxODMzLCA4MTgzOSwgODE4NDUsIDgxODUxLCAKKyAgICA4MTg1NywgODE4NjMsIDgxODY5LCA4MTg3NSwgODE4ODEsIDgxODg3LCA4MTg5MywgODE4OTksIDgxOTA1LCA4MTkxMSwgCisgICAgODE5MTcsIDgxOTIzLCA4MTkyOSwgODE5MzUsIDgxOTQxLCA4MTk0NywgODE5NTMsIDgxOTU5LCA4MTk2NSwgODE5NzEsIAorICAgIDgxOTc3LCA4MTk4MywgODE5ODksIDgxOTk1LCA4MjAwMSwgODIwMDcsIDgyMDEzLCA4MjAxOSwgODIwMjUsIDgyMDMxLCAKKyAgICA4MjAzNywgODIwNDMsIDgyMDQ5LCA4MjA1NSwgODIwNjEsIDgyMDY3LCA4MjA3MywgODIwNzksIDgyMDg1LCA4MjA5MSwgCisgICAgODIwOTcsIDgyMTAzLCA4MjEwOSwgODIxMTcsIDgyMTI1LCA4MjEzMSwgODIxMzcsIDgyMTQzLCA4MjE0OSwgODIxNTgsIAorICAgIDgyMTY3LCA4MjE3NSwgODIxODMsIDgyMTkxLCA4MjE5OSwgODIyMDcsIDgyMjE1LCA4MjIyMywgODIyMzEsIDgyMjM4LCAKKyAgICA4MjI0NSwgODIyNTYsIDgyMjY3LCA4MjI3MSwgODIyNzUsIDgyMjgwLCA4MjI4NSwgODIyOTAsIDgyMjk1LCA4MjMwMywgCisgICAgODIzMTEsIDgyMzE3LCA4MjMyMywgODIzMzAsIDgyMzM3LCA4MjM0NCwgODIzNDgsIDgyMzU0LCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA4MjM2MCwgODIzNjYsIDgyMzcyLCA4MjM3OCwgODIzODQsIAorICAgIDgyMzg5LCA4MjM5NCwgODI0MDAsIDgyNDA2LCA4MjQxMiwgODI0MTgsIDgyNDI3LCA4MjQzMywgODI0MzksIDgyNDQ3LCAKKyAgICA4MjQ1NSwgODI0NjMsIDgyNDcxLCA4MjQ3NiwgODI0ODEsIDgyNDg2LCA4MjQ5MSwgODI1MDQsIDgyNTE3LCA4MjUyOCwgCisgICAgODI1MzksIDgyNTUxLCA4MjU2MywgODI1NzUsIDgyNTg3LCA4MjU5OCwgODI2MDksIDgyNjIxLCA4MjYzMywgODI2NDUsIAorICAgIDgyNjU3LCA4MjY2OCwgODI2NzksIDgyNjkwLCA4MjcwNywgODI3MjQsIDgyNzQxLCA4Mjc0OCwgODI3NTUsIDgyNzYyLCAKKyAgICA4Mjc2OSwgODI3ODAsIDgyNzkxLCA4MjgwMiwgODI4MTUsIDgyODI2LCA4MjgzNCwgODI4NDIsIDgyODUxLCA4Mjg1OSwgCisgICAgODI4NjksIDgyODc3LCA4Mjg4NSwgODI4OTMsIDgyOTAyLCA4MjkxMCwgODI5MjAsIDgyOTI4LCA4MjkzNiwgODI5NDQsIAorICAgIDgyOTU0LCA4Mjk2MiwgODI5NjksIDgyOTc2LCA4Mjk4MywgODI5OTAsIDgyOTk4LCA4MzAwNiwgODMwMTQsIDgzMDIyLCAKKyAgICA4MzAzMCwgODMwMzksIDgzMDQ3LCA4MzA1NSwgODMwNjMsIDgzMDcxLCA4MzA3OSwgODMwODgsIDgzMDk2LCA4MzEwNCwgCisgICAgODMxMTIsIDgzMTIwLCA4MzEyOCwgODMxMzYsIDgzMTQ0LCA4MzE1MiwgODMxNjAsIDgzMTY4LCA4MzE3NywgODMxODUsIAorICAgIDgzMTk1LCA4MzIwMywgODMyMTEsIDgzMjE5LCA4MzIyOSwgODMyMzcsIDgzMjQ1LCA4MzI1MywgODMyNjEsIDgzMjcwLCAKKyAgICA4MzI3OSwgODMyODcsIDgzMjk3LCA4MzMwNSwgODMzMTMsIDgzMzIxLCA4MzMzMCwgODMzMzgsIDgzMzQ4LCA4MzM1NiwgCisgICAgODMzNjMsIDgzMzcwLCA4MzM3OCwgODMzODUsIDgzMzk0LCA4MzQwMSwgODM0MDksIDgzNDE3LCA4MzQyNiwgODM0MzQsIAorICAgIDgzNDQ0LCA4MzQ1MiwgODM0NjAsIDgzNDY4LCA4MzQ3OCwgODM0ODYsIDgzNDkzLCA4MzUwMCwgODM1MDgsIDgzNTE1LCAKKyAgICA4MzUyNCwgODM1MzEsIDgzNTQxLCA4MzU1MSwgODM1NjIsIDgzNTcxLCA4MzU4MCwgODM1ODksIDgzNTk4LCA4MzYwNywgCisgICAgODM2MTcsIDgzNjI5LCA4MzY0MSwgODM2NTIsIDgzNjY0LCA4MzY3NywgODM2ODgsIDgzNjk3LCA4MzcwNiwgODM3MTQsIAorICAgIDgzNzIzLCA4MzczMywgODM3NDEsIDgzNzUwLCA4Mzc1OSwgODM3NjcsIDgzNzc2LCA4Mzc4NiwgODM3OTQsIDgzODAzLCAKKyAgICA4MzgxMiwgODM4MjAsIDgzODI5LCA4MzgzOSwgODM4NDcsIDgzODU3LCA4Mzg2NSwgODM4NzUsIDgzODgzLCA4Mzg5MSwgCisgICAgODM5MDAsIDgzOTA4LCA4MzkxOCwgODM5MjYsIDgzOTM0LCA4Mzk0NCwgODM5NTIsIDgzOTU5LCA4Mzk2NiwgODM5NzUsIAorICAgIDgzOTg0LCA4Mzk5MiwgODQwMDEsIDg0MDExLCA4NDAxOSwgODQwMzAsIDg0MDM4LCA4NDA0NiwgODQwNTMsIDg0MDYxLCAKKyAgICA4NDA3MCwgODQwNzcsIDg0MDg4LCA4NDA5OSwgODQxMTEsIDg0MTIyLCA4NDEzNCwgODQxNDIsIDg0MTUwLCA4NDE1OSwgCisgICAgODQxNjcsIDg0MTc2LCA4NDE4NCwgODQxOTIsIDg0MjAxLCA4NDIwOSwgODQyMTgsIDg0MjI2LCA4NDIzMywgODQyNDAsIAorICAgIDg0MjQ3LCA4NDI1NCwgODQyNjIsIDg0MjcwLCA4NDI3OCwgODQyODYsIDg0Mjk1LCA4NDMwMywgODQzMTEsIDg0MzIwLCAKKyAgICA4NDMyOCwgODQzMzYsIDg0MzQ0LCA4NDM1MywgODQzNjEsIDg0MzY5LCA4NDM3NywgODQzODUsIDg0MzkzLCA4NDQwMSwgCisgICAgODQ0MDksIDg0NDE3LCA4NDQyNSwgODQ0MzQsIDg0NDQyLCA4NDQ1MCwgODQ0NTgsIDg0NDY2LCA4NDQ3NCwgODQ0ODMsIAorICAgIDg0NDkyLCA4NDUwMCwgODQ1MDgsIDg0NTE2LCA4NDUyNSwgODQ1MzMsIDg0NTQyLCA4NDU0OSwgODQ1NTYsIDg0NTY0LCAKKyAgICA4NDU3MSwgODQ1NzksIDg0NTg3LCA4NDU5NiwgODQ2MDQsIDg0NjEzLCA4NDYyMSwgODQ2MjksIDg0NjM5LCA4NDY0NiwgCisgICAgODQ2NTMsIDg0NjYxLCA4NDY2OCwgODQ2NzYsIDg0Njg3LCA4NDY5OSwgODQ3MDcsIDg0NzE2LCA4NDcyNCwgODQ3MzMsIAorICAgIDg0NzQxLCA4NDc1MCwgODQ3NTgsIDg0NzY3LCA4NDc3NSwgODQ3ODQsIDg0NzkzLCA4NDgwMSwgODQ4MDksIDg0ODE3LCAKKyAgICA4NDgyNiwgODQ4MzMsIDg0ODQxLCA4NDg1MCwgODQ4NTksIDg0ODY4LCA4NDg3OCwgODQ4ODYsIDg0ODk2LCA4NDkwNCwgCisgICAgODQ5MTQsIDg0OTIyLCA4NDkzMiwgODQ5NDAsIDg0OTUwLCA4NDk1OCwgODQ5NjcsIDg0OTc0LCA4NDk4MywgODQ5OTAsIAorICAgIDg1MDAwLCA4NTAwOCwgODUwMTgsIDg1MDI2LCA4NTAzNiwgODUwNDQsIDg1MDUyLCA4NTA2MCwgODUwNjksIDg1MDc3LCAKKyAgICA4NTA4NiwgODUwOTUsIDg1MTA0LCA4NTExMywgODUxMjMsIDg1MTMxLCA4NTE0MSwgODUxNDksIDg1MTU5LCA4NTE2NywgCisgICAgODUxNzcsIDg1MTg1LCA4NTE5NSwgODUyMDMsIDg1MjEyLCA4NTIxOSwgODUyMjgsIDg1MjM1LCA4NTI0NSwgODUyNTMsIAorICAgIDg1MjYzLCA4NTI3MSwgODUyODEsIDg1Mjg5LCA4NTI5NywgODUzMDUsIDg1MzE0LCA4NTMyMiwgODUzMzEsIDg1MzQwLCAKKyAgICA4NTM0OSwgODUzNTgsIDg1MzY2LCA4NTM3NCwgODUzODMsIDg1MzkxLCA4NTQwMCwgODU0MDksIDg1NDE3LCA4NTQyNSwgCisgICAgODU0MzMsIDg1NDQyLCA4NTQ1MCwgODU0NTgsIDg1NDY3LCA4NTQ3NSwgODU0ODMsIDg1NDkxLCA4NTQ5OSwgODU1MDQsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDg1NTA5LCA4NTUxOSwgODU1MjksIDg1NTM5LCAKKyAgICA4NTU0OSwgODU1NjAsIDg1NTcwLCA4NTU4MCwgODU1OTEsIDg1NjAwLCA4NTYwOSwgODU2MTgsIDg1NjI5LCA4NTYzOSwgCisgICAgODU2NDksIDg1NjYxLCA4NTY3MSwgODU2ODEsIDg1NjkxLCA4NTcwMSwgODU3MTEsIDg1NzIxLCA4NTczMSwgODU3NDEsIAorICAgIDg1NzUxLCA4NTc2MSwgODU3NzEsIDg1NzgyLCA4NTc5MywgODU4MDMsIDg1ODEzLCA4NTgyNSwgODU4MzYsIDg1ODQ3LCAKKyAgICA4NTg1NywgODU4NjcsIDg1ODc3LCA4NTg4NywgODU4OTcsIDg1OTA3LCA4NTkxNywgODU5MjksIDg1OTM5LCA4NTk0OSwgCisgICAgODU5NjEsIDg1OTcyLCA4NTk4MywgODU5OTMsIDg2MDAzLCA4NjAxMywgODYwMjMsIDg2MDM1LCA4NjA0NSwgODYwNTUsIAorICAgIDg2MDY2LCA4NjA3NywgODYwODcsIDg2MDk3LCA4NjEwNiwgODYxMTUsIDg2MTI0LCA4NjEzMywgODYxNDIsIDg2MTUyLCAwLCAKKyAgICAwLCA4NjE2MiwgODYxNzIsIDg2MTgyLCA4NjE5MiwgODYyMDIsIDg2MjE0LCA4NjIyNCwgODYyMzQsIDg2MjQ2LCA4NjI1NiwgCisgICAgODYyNjgsIDg2Mjc3LCA4NjI4NiwgODYyOTcsIDg2MzA3LCA4NjMxOSwgODYzMzAsIDg2MzQzLCA4NjM1MywgODYzNjUsIAorICAgIDg2Mzc0LCA4NjM4NSwgODYzOTYsIDg2NDA5LCA4NjQxOSwgODY0MjksIDg2NDM5LCA4NjQ0OSwgODY0NTksIDg2NDY4LCAKKyAgICA4NjQ3NywgODY0ODYsIDg2NDk1LCA4NjUwNSwgODY1MTUsIDg2NTI1LCA4NjUzNSwgODY1NDUsIDg2NTU1LCA4NjU2NSwgCisgICAgODY1NzUsIDg2NTg1LCA4NjU5NSwgODY2MDUsIDg2NjE1LCA4NjYyNCwgODY2MzMsIDg2NjQyLCA4NjY1MiwgODY2NjIsIAorICAgIDg2NjcyLCA4NjY4MiwgODY2OTIsIDg2NzAzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NzY4MSwgNTc2ODUsIDU3Njg5LCA1NzY5NCwgNTc2OTksIDU3NzA0LCAKLSAgICA1NzcwOCwgNTc3MTIsIDU3NzE2LCA1NzcyMSwgNTc3MjYsIDU3NzMwLCA1NzczNCwgNTc3MzgsIDU3NzQyLCA1Nzc0NywgCi0gICAgNTc3NTIsIDU3NzU3LCA1Nzc2MiwgNTc3NjYsIDU3NzcwLCA1Nzc3NSwgNTc3ODAsIDU3Nzg1LCA1Nzc5MCwgNTc3OTQsIDAsIAotICAgIDU3Nzk4LCA1NzgwMiwgNTc4MDYsIDU3ODEwLCA1NzgxNCwgNTc4MTgsIDU3ODIyLCA1NzgyNywgNTc4MzIsIDU3ODM2LCAKLSAgICA1Nzg0MSwgNTc4NDYsIDU3ODU1LCA1Nzg1OSwgNTc4NjMsIDU3ODY3LCA1Nzg3NCwgNTc4NzgsIDU3ODgzLCA1Nzg4OCwgCi0gICAgNTc4OTIsIDU3ODk2LCA1NzkwMiwgNTc5MDcsIDU3OTEyLCA1NzkxNywgNTc5MjIsIDU3OTI2LCA1NzkzMCwgNTc5MzQsIAotICAgIDU3OTM4LCA1Nzk0MiwgNTc5NDcsIDU3OTUyLCA1Nzk1NiwgNTc5NjAsIDU3OTY1LCA1Nzk3MCwgNTc5NzUsIDU3OTc5LCAKLSAgICA1Nzk4MywgNTc5ODgsIDU3OTkzLCA1Nzk5OSwgNTgwMDUsIDU4MDA5LCA1ODAxNSwgNTgwMjEsIDU4MDI1LCA1ODAzMSwgCi0gICAgNTgwMzcsIDU4MDQyLCA1ODA0NywgNTgwNTEsIDU4MDU3LCA1ODA2MSwgNTgwNjUsIDU4MDcxLCA1ODA3NywgNTgwODIsIAotICAgIDU4MDg3LCA1ODA5MSwgNTgwOTUsIDU4MTAzLCA1ODEwOSwgNTgxMTUsIDU4MTIxLCA1ODEyNiwgNTgxMzEsIDU4MTM2LCAKLSAgICA1ODE0MiwgNTgxNDYsIDU4MTUyLCA1ODE1NiwgNTgxNjAsIDU4MTY2LCA1ODE3MiwgNTgxNzgsIDU4MTg0LCA1ODE5MCwgCi0gICAgNTgxOTYsIDU4MjAyLCA1ODIwOCwgNTgyMTQsIDU4MjIwLCA1ODIyNiwgNTgyMzIsIDU4MjM2LCA1ODI0MiwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTgyNDgsIDU4MjUxLCA1ODI1NSwgNTgyNTksIDU4MjYzLCA1ODI2NywgCi0gICAgNTgyNzAsIDU4MjczLCA1ODI3NywgNTgyODEsIDU4Mjg1LCA1ODI4OSwgNTgyOTIsIDU4Mjk3LCA1ODMwMSwgNTgzMDUsIAotICAgIDU4MzA5LCA1ODMxNCwgNTgzMTgsIDU4MzIyLCA1ODMyNiwgNTgzMzAsIDU4MzM2LCA1ODM0MiwgNTgzNDYsIDU4MzUwLCAKLSAgICA1ODM1NCwgNTgzNTgsIDU4MzYyLCA1ODM2NiwgNTgzNzAsIDU4Mzc0LCA1ODM3OCwgNTgzODIsIDU4Mzg2LCA1ODM5MiwgCi0gICAgNTgzOTYsIDU4NDAwLCA1ODQwNCwgNTg0MDgsIDU4NDEyLCA1ODQxNiwgNTg0MjAsIDU4NDI0LCA1ODQyOCwgNTg0MzIsIAotICAgIDU4NDM2LCA1ODQ0MCwgNTg0NDQsIDU4NDQ4LCA1ODQ1MiwgNTg0NTYsIDU4NDYyLCA1ODQ2OCwgNTg0NzMsIDU4NDc4LCAKLSAgICA1ODQ4MiwgNTg0ODYsIDU4NDkwLCA1ODQ5NCwgNTg0OTgsIDU4NTAyLCA1ODUwNiwgNTg1MTAsIDU4NTE0LCA1ODUxOCwgCi0gICAgNTg1MjIsIDU4NTI2LCA1ODUzMCwgNTg1MzQsIDU4NTM4LCA1ODU0MiwgNTg1NDYsIDU4NTUwLCA1ODU1NCwgNTg1NTgsIAotICAgIDU4NTYyLCA1ODU2NiwgNTg1NzAsIDU4NTc0LCA1ODU4MCwgNTg1ODQsIDU4NTg4LCA1ODU5MiwgNTg1OTYsIDU4NjAwLCAKLSAgICA1ODYwNCwgNTg2MDgsIDU4NjEyLCA1ODYxNywgNTg2MjQsIDU4NjI4LCA1ODYzMiwgNTg2MzYsIDU4NjQwLCA1ODY0NCwgCi0gICAgNTg2NDgsIDU4NjUyLCA1ODY1NiwgNTg2NjAsIDU4NjY0LCA1ODY2OCwgNTg2NzIsIDU4Njc5LCA1ODY4MywgNTg2ODksIAotICAgIDU4NjkzLCA1ODY5NywgNTg3MDEsIDU4NzA1LCA1ODcwOSwgNTg3MTIsIDU4NzE2LCA1ODcyMCwgNTg3MjQsIDU4NzI4LCAKLSAgICA1ODczMiwgNTg3MzYsIDU4NzQwLCA1ODc0NCwgNTg3NDgsIDU4NzUyLCA1ODc1NiwgNTg3NjAsIDU4NzY0LCA1ODc2OCwgCi0gICAgNTg3NzIsIDU4Nzc2LCA1ODc4MCwgNTg3ODQsIDU4Nzg4LCA1ODc5MiwgNTg3OTYsIDU4ODAwLCA1ODgwNCwgNTg4MDgsIAotICAgIDU4ODEyLCA1ODgxNiwgNTg4MjAsIDU4ODI0LCA1ODgyOCwgNTg4MzIsIDU4ODM2LCA1ODg0MCwgNTg4NDYsIDU4ODUwLCAKLSAgICA1ODg1NCwgNTg4NTgsIDU4ODYyLCA1ODg2NiwgNTg4NzAsIDU4ODc0LCA1ODg3OCwgNTg4ODIsIDU4ODg2LCA1ODg5MCwgCi0gICAgNTg4OTQsIDU4ODk4LCA1ODkwMiwgNTg5MDYsIDU4OTEwLCA1ODkxNCwgNTg5MTgsIDU4OTIyLCA1ODkyNiwgNTg5MzAsIAotICAgIDU4OTM0LCA1ODkzOCwgNTg5NDIsIDU4OTQ2LCA1ODk1MCwgNTg5NTQsIDU4OTYyLCA1ODk2NiwgNTg5NzAsIDU4OTc0LCAKLSAgICA1ODk3OCwgNTg5ODIsIDU4OTg4LCA1ODk5MiwgNTg5OTYsIDU5MDAwLCA1OTAwNCwgNTkwMDgsIDU5MDEyLCA1OTAxNiwgCi0gICAgNTkwMjAsIDU5MDI0LCA1OTAyOCwgNTkwMzIsIDU5MDM2LCA1OTA0MCwgNTkwNDYsIDU5MDUwLCA1OTA1NCwgNTkwNTgsIAotICAgIDU5MDYyLCA1OTA2NiwgNTkwNzAsIDU5MDc0LCA1OTA3OCwgNTkwODIsIDU5MDg2LCA1OTA5MCwgNTkwOTQsIDU5MDk4LCAKLSAgICA1OTEwMiwgNTkxMDYsIDU5MTEwLCA1OTExNCwgNTkxMTgsIDU5MTIyLCA1OTEyNiwgNTkxMzAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU5MTM0LCA1OTE0MywgCi0gICAgNTkxNTEsIDU5MTYzLCA1OTE3NCwgNTkxODIsIDU5MTkxLCA1OTIwMCwgNTkyMTAsIDU5MjIyLCA1OTIzNCwgNTkyNDYsIDAsIAotICAgIDAsIDAsIDAsIDU5MjUyLCA1OTI1NSwgNTkyNTgsIDU5MjYzLCA1OTI2NiwgNTkyNzMsIDU5Mjc3LCA1OTI4MSwgNTkyODUsIAotICAgIDU5Mjg5LCA1OTI5MywgNTkyOTgsIDU5MzAzLCA1OTMwNywgNTkzMTEsIDU5MzE2LCA1OTMyMSwgNTkzMjYsIDU5MzMxLCAKLSAgICA1OTMzNCwgNTkzMzcsIDU5MzQzLCA1OTM0OSwgNTkzNTQsIDU5MzU5LCA1OTM2NiwgNTkzNzMsIDU5Mzc3LCA1OTM4MSwgCi0gICAgNTkzODUsIDU5MzkzLCA1OTM5OSwgNTk0MDYsIDU5NDExLCA1OTQxNiwgNTk0MjEsIDU5NDI2LCA1OTQzMSwgNTk0MzYsIAotICAgIDU5NDQxLCA1OTQ0NiwgNTk0NTEsIDU5NDU2LCA1OTQ2MSwgNTk0NjYsIDU5NDcxLCA1OTQ3NiwgNTk0ODIsIDU5NDg3LCAKLSAgICA1OTQ5MSwgNTk0OTcsIDU5NTA4LCA1OTUxOCwgNTk1MzMsIDU5NTQzLCA1OTU0NywgNTk1NTcsIDU5NTYzLCA1OTU2OSwgCi0gICAgNTk1NzUsIDU5NTgwLCA1OTU4MywgNTk1ODgsIDU5NTkyLCAwLCA1OTU5OCwgNTk2MDIsIDU5NjA1LCA1OTYwOSwgNTk2MTIsIAotICAgIDU5NjE2LCA1OTYxOSwgNTk2MjMsIDU5NjI2LCA1OTYzMCwgNTk2MzMsIDU5NjM2LCA1OTY0MCwgNTk2NDQsIDU5NjQ4LCAKLSAgICA1OTY1MiwgNTk2NTYsIDU5NjYwLCA1OTY2NCwgNTk2NjgsIDU5NjcyLCA1OTY3NSwgNTk2NzksIDU5NjgzLCA1OTY4NywgCi0gICAgNTk2OTEsIDU5Njk1LCA1OTY5OSwgNTk3MDMsIDU5NzA3LCA1OTcxMSwgNTk3MTUsIDU5NzE5LCA1OTcyMywgNTk3MjcsIAotICAgIDU5NzMyLCA1OTczNiwgNTk3NDAsIDU5NzQ0LCA1OTc0OCwgNTk3NTEsIDU5NzU1LCA1OTc1OCwgNTk3NjIsIDU5NzY2LCAKLSAgICA1OTc3MCwgNTk3NzQsIDU5Nzc3LCA1OTc4MSwgNTk3ODQsIDU5Nzg4LCA1OTc5MiwgNTk3OTYsIDU5ODAwLCA1OTgwNCwgCi0gICAgNTk4MDgsIDU5ODEyLCA1OTgxNiwgNTk4MjAsIDU5ODI0LCA1OTgyOCwgNTk4MzIsIDU5ODM1LCA1OTgzOSwgNTk4NDMsIAotICAgIDU5ODQ3LCA1OTg1MSwgNTk4NTUsIDU5ODU4LCA1OTg2MywgNTk4NjcsIDU5ODcyLCA1OTg3NiwgNTk4NzksIDU5ODgzLCAKLSAgICA1OTg4NywgNTk4OTEsIDU5ODk1LCA1OTkwMCwgNTk5MDQsIDU5OTA4LCA1OTkxMiwgNTk5MTYsIDU5OTIwLCA1OTkyNCwgCi0gICAgNTk5MjgsIDAsIDAsIDU5OTMzLCA1OTk0MSwgNTk5NDksIDU5OTU2LCA1OTk2MywgNTk5NjcsIDU5OTczLCA1OTk3OCwgCi0gICAgNTk5ODMsIDU5OTg3LCA1OTk5MCwgNTk5OTQsIDU5OTk3LCA2MDAwMSwgNjAwMDQsIDYwMDA4LCA2MDAxMSwgNjAwMTUsIAotICAgIDYwMDE4LCA2MDAyMSwgNjAwMjUsIDYwMDI5LCA2MDAzMywgNjAwMzcsIDYwMDQxLCA2MDA0NSwgNjAwNDksIDYwMDUzLCAKLSAgICA2MDA1NywgNjAwNjAsIDYwMDY0LCA2MDA2OCwgNjAwNzIsIDYwMDc2LCA2MDA4MCwgNjAwODQsIDYwMDg4LCA2MDA5MiwgCi0gICAgNjAwOTYsIDYwMTAwLCA2MDEwNCwgNjAxMDgsIDYwMTEyLCA2MDExNywgNjAxMjEsIDYwMTI1LCA2MDEyOSwgNjAxMzMsIAotICAgIDYwMTM2LCA2MDE0MCwgNjAxNDMsIDYwMTQ3LCA2MDE1MSwgNjAxNTUsIDYwMTU5LCA2MDE2MiwgNjAxNjYsIDYwMTY5LCAKLSAgICA2MDE3MywgNjAxNzcsIDYwMTgxLCA2MDE4NSwgNjAxODksIDYwMTkzLCA2MDE5NywgNjAyMDEsIDYwMjA1LCA2MDIwOSwgCi0gICAgNjAyMTMsIDYwMjE3LCA2MDIyMCwgNjAyMjQsIDYwMjI4LCA2MDIzMiwgNjAyMzYsIDYwMjQwLCA2MDI0MywgNjAyNDgsIAotICAgIDYwMjUyLCA2MDI1NywgNjAyNjEsIDYwMjY0LCA2MDI2OCwgNjAyNzIsIDYwMjc2LCA2MDI4MCwgNjAyODUsIDYwMjg5LCAKLSAgICA2MDI5MywgNjAyOTcsIDYwMzAxLCA2MDMwNSwgNjAzMDksIDYwMzEzLCA2MDMxOCwgNjAzMjIsIDYwMzI2LCA2MDMzMCwgCi0gICAgNjAzMzQsIDYwMzM5LCA2MDM0NiwgNjAzNTAsIDYwMzU2LCAwLCAwLCAwLCAwLCAwLCA2MDM2MSwgNjAzNjYsIDYwMzcxLCAKLSAgICA2MDM3NSwgNjAzODAsIDYwMzg1LCA2MDM5MCwgNjAzOTUsIDYwMzk5LCA2MDQwNCwgNjA0MDksIDYwNDE0LCA2MDQxOSwgCi0gICAgNjA0MjQsIDYwNDI5LCA2MDQzNCwgNjA0MzksIDYwNDQ0LCA2MDQ0OCwgNjA0NTMsIDYwNDU4LCA2MDQ2MywgNjA0NjcsIAotICAgIDYwNDcxLCA2MDQ3NSwgNjA0ODAsIDYwNDg1LCA2MDQ5MCwgNjA0OTUsIDYwNTAwLCA2MDUwNSwgNjA1MTAsIDYwNTE1LCAKLSAgICA2MDUyMCwgNjA1MjUsIDYwNTI5LCA2MDUzMywgNjA1MzgsIDYwNTQzLCA2MDU0OCwgNjA1NTMsIDAsIDAsIDAsIDYwNTU4LCAKLSAgICA2MDU2MiwgNjA1NjYsIDYwNTcwLCA2MDU3NCwgNjA1NzgsIDYwNTgyLCA2MDU4NiwgNjA1OTAsIDYwNTk0LCA2MDU5OCwgCi0gICAgNjA2MDIsIDYwNjA2LCA2MDYxMCwgNjA2MTQsIDYwNjE4LCA2MDYyMiwgNjA2MjYsIDYwNjMwLCA2MDYzNCwgNjA2MzgsIAotICAgIDYwNjQyLCA2MDY0NiwgNjA2NTAsIDYwNjU0LCA2MDY1OCwgNjA2NjIsIDYwNjY2LCA2MDY3MCwgNjA2NzQsIDYwNjc4LCAKLSAgICA2MDY4MSwgNjA2ODUsIDYwNjg4LCA2MDY5MiwgNjA2OTYsIDYwNjk5LCA2MDcwMywgNjA3MDcsIDYwNzEwLCA2MDcxNCwgCi0gICAgNjA3MTgsIDYwNzIyLCA2MDcyNiwgNjA3MjksIDYwNzMzLCA2MDczNywgNjA3NDEsIDYwNzQ1LCA2MDc0OSwgNjA3NTMsIAotICAgIDYwNzU2LCA2MDc1OSwgNjA3NjMsIDYwNzY3LCA2MDc3MSwgNjA3NzUsIDYwNzc5LCA2MDc4MywgNjA3ODcsIDYwNzkxLCAKLSAgICA2MDc5NSwgNjA3OTksIDYwODAzLCA2MDgwNywgNjA4MTEsIDYwODE1LCA2MDgxOSwgNjA4MjMsIDYwODI3LCA2MDgzMSwgCi0gICAgNjA4MzUsIDYwODM5LCA2MDg0MywgNjA4NDcsIDYwODUxLCA2MDg1NSwgNjA4NTksIDYwODYzLCA2MDg2NywgNjA4NzEsIAotICAgIDYwODc1LCA2MDg3OSwgNjA4ODMsIDYwODg3LCA2MDg5MSwgNjA4OTUsIDYwODk5LCA2MDkwMywgNjA5MDcsIDYwOTExLCAKLSAgICA2MDkxNSwgNjA5MTksIDYwOTIzLCAwLCA2MDkyNywgNjA5MzMsIDYwOTM5LCA2MDk0NCwgNjA5NDksIDYwOTU0LCA2MDk2MCwgCi0gICAgNjA5NjYsIDYwOTcyLCA2MDk3OCwgNjA5ODQsIDYwOTkwLCA2MDk5NiwgNjEwMDIsIDYxMDA4LCA2MTAxNCwgNjEwMjAsIAotICAgIDYxMDI1LCA2MTAzMCwgNjEwMzUsIDYxMDQwLCA2MTA0NSwgNjEwNTAsIDYxMDU1LCA2MTA2MCwgNjEwNjUsIDYxMDcwLCAKLSAgICA2MTA3NSwgNjEwODAsIDYxMDg1LCA2MTA5MCwgNjEwOTUsIDYxMTAwLCA2MTEwNSwgNjExMTAsIDYxMTE1LCA2MTEyMCwgCi0gICAgNjExMjYsIDYxMTMyLCA2MTEzOCwgNjExNDQsIDYxMTQ5LCA2MTE1NCwgMCwgMCwgMCwgMCwgMCwgNjExNTksIDYxMTY0LCAKLSAgICA2MTE2OSwgNjExNzQsIDYxMTc5LCA2MTE4NCwgNjExODksIDYxMTk0LCA2MTE5OSwgNjEyMDQsIDYxMjA5LCA2MTIxNCwgCi0gICAgNjEyMTksIDYxMjI0LCA2MTIyOSwgNjEyMzQsIDYxMjM5LCA2MTI0NCwgNjEyNDksIDYxMjU0LCA2MTI1OSwgNjEyNjQsIAotICAgIDYxMjY5LCA2MTI3NCwgNjEyNzksIDYxMjg0LCA2MTI4OSwgNjEyOTQsIDYxMjk5LCA2MTMwNCwgNjEzMDksIDYxMzE0LCAKLSAgICA2MTMxOSwgNjEzMjQsIDYxMzI5LCA2MTMzNCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNjEzMzksIAotICAgIDYxMzQ0LCA2MTM0OSwgNjEzNTQsIDYxMzU4LCA2MTM2MywgNjEzNjcsIDYxMzcyLCA2MTM3NywgNjEzODIsIDYxMzg3LCAKLSAgICA2MTM5MiwgNjEzOTYsIDYxNDAxLCA2MTQwNiwgNjE0MTEsIDYxNDE2LCA2MTQyMCwgNjE0MjQsIDYxNDI4LCA2MTQzMiwgCi0gICAgNjE0MzYsIDYxNDQwLCA2MTQ0NCwgNjE0NDgsIDYxNDUyLCA2MTQ1NiwgNjE0NjAsIDYxNDY0LCA2MTQ2OCwgNjE0NzIsIAotICAgIDYxNDc3LCA2MTQ4MiwgNjE0ODcsIDYxNDkyLCA2MTQ5NywgNjE1MDIsIDYxNTA3LCA2MTUxMiwgNjE1MTcsIDYxNTIyLCAKLSAgICA2MTUyNywgNjE1MzIsIDYxNTM3LCA2MTU0MiwgNjE1NDcsIDYxNTUzLCAwLCA2MTU2MCwgNjE1NjMsIDYxNTY2LCA2MTU2OSwgCi0gICAgNjE1NzIsIDYxNTc1LCA2MTU3OCwgNjE1ODEsIDYxNTg0LCA2MTU4NywgNjE1OTEsIDYxNTk1LCA2MTU5OSwgNjE2MDMsIAotICAgIDYxNjA3LCA2MTYxMSwgNjE2MTUsIDYxNjE5LCA2MTYyMywgNjE2MjcsIDYxNjMxLCA2MTYzNSwgNjE2MzksIDYxNjQzLCAKLSAgICA2MTY0NywgNjE2NTEsIDYxNjU1LCA2MTY1OSwgNjE2NjMsIDYxNjY3LCA2MTY3MSwgNjE2NzUsIDYxNjc5LCA2MTY4MywgCi0gICAgNjE2ODcsIDYxNjkxLCA2MTY5NSwgNjE2OTksIDYxNzAzLCA2MTcwNywgNjE3MTEsIDYxNzIwLCA2MTcyOSwgNjE3MzgsIAotICAgIDYxNzQ3LCA2MTc1NiwgNjE3NjUsIDYxNzc0LCA2MTc4MywgNjE3ODYsIDYxNzkxLCA2MTc5NiwgNjE4MDEsIDYxODA2LCAKLSAgICA2MTgxMSwgNjE4MTYsIDYxODIxLCA2MTgyNiwgNjE4MzEsIDYxODM1LCA2MTg0MCwgNjE4NDUsIDYxODUwLCA2MTg1NSwgCi0gICAgNjE4NjAsIDYxODY0LCA2MTg2OCwgNjE4NzIsIDYxODc2LCA2MTg4MCwgNjE4ODQsIDYxODg4LCA2MTg5MiwgNjE4OTYsIAotICAgIDYxOTAwLCA2MTkwNCwgNjE5MDgsIDYxOTEyLCA2MTkxNiwgNjE5MjEsIDYxOTI2LCA2MTkzMSwgNjE5MzYsIDYxOTQxLCAKLSAgICA2MTk0NiwgNjE5NTEsIDYxOTU2LCA2MTk2MSwgNjE5NjYsIDYxOTcxLCA2MTk3NiwgNjE5ODEsIDYxOTg2LCA2MTk5MiwgCi0gICAgNjE5OTgsIDYyMDAzLCA2MjAwOCwgNjIwMTEsIDYyMDE0LCA2MjAxNywgNjIwMjAsIDYyMDIzLCA2MjAyNiwgNjIwMjksIAotICAgIDYyMDMyLCA2MjAzNSwgNjIwMzksIDYyMDQzLCA2MjA0NywgNjIwNTEsIDYyMDU1LCA2MjA1OSwgNjIwNjMsIDYyMDY3LCAKLSAgICA2MjA3MSwgNjIwNzUsIDYyMDc5LCA2MjA4MywgNjIwODcsIDYyMDkxLCA2MjA5NSwgNjIwOTksIDYyMTAzLCA2MjEwNywgCi0gICAgNjIxMTEsIDYyMTE1LCA2MjExOSwgNjIxMjMsIDYyMTI3LCA2MjEzMSwgNjIxMzUsIDYyMTM5LCA2MjE0MywgNjIxNDcsIAotICAgIDYyMTUxLCA2MjE1NSwgNjIxNTksIDYyMTYzLCA2MjE2NywgNjIxNzEsIDYyMTc1LCA2MjE3OSwgNjIxODMsIDYyMTg3LCAKLSAgICA2MjE5MSwgNjIxOTUsIDYyMjAwLCA2MjIwNSwgNjIyMTAsIDYyMjE1LCA2MjIxOSwgNjIyMjQsIDYyMjI5LCA2MjIzNCwgCi0gICAgNjIyMzksIDYyMjQ0LCA2MjI0OSwgNjIyNTQsIDYyMjU5LCA2MjI2NCwgNjIyNjgsIDYyMjc1LCA2MjI4MiwgNjIyODksIAotICAgIDYyMjk2LCA2MjMwMywgNjIzMTAsIDYyMzE3LCA2MjMyNCwgNjIzMzEsIDYyMzM4LCA2MjM0NSwgNjIzNTIsIDYyMzU1LCAKLSAgICA2MjM1OCwgNjIzNjEsIDYyMzY2LCA2MjM2OSwgNjIzNzIsIDYyMzc1LCA2MjM3OCwgNjIzODEsIDYyMzg0LCA2MjM4OCwgCi0gICAgNjIzOTIsIDYyMzk2LCA2MjQwMCwgNjI0MDMsIDYyNDA3LCA2MjQxMSwgNjI0MTUsIDYyNDE5LCA2MjQyMywgNjI0MjcsIAotICAgIDYyNDMxLCA2MjQzNSwgNjI0MzgsIDYyNDQxLCA2MjQ0NSwgNjI0NDksIDYyNDUzLCA2MjQ1NywgNjI0NjAsIDYyNDY0LCAKLSAgICA2MjQ2OCwgNjI0NzIsIDYyNDc2LCA2MjQ3OSwgNjI0ODMsIDYyNDg3LCA2MjQ5MSwgNjI0OTUsIDYyNDk4LCA2MjUwMiwgCi0gICAgNjI1MDYsIDYyNTA5LCA2MjUxMywgNjI1MTcsIDYyNTIxLCA2MjUyNSwgNjI1MjksIDYyNTMzLCA2MjUzNywgMCwgNjI1NDEsIAotICAgIDYyNTQ0LCA2MjU0NywgNjI1NTAsIDYyNTUzLCA2MjU1NiwgNjI1NTksIDYyNTYyLCA2MjU2NSwgNjI1NjgsIDYyNTcxLCAKLSAgICA2MjU3NCwgNjI1NzcsIDYyNTgwLCA2MjU4MywgNjI1ODYsIDYyNTg5LCA2MjU5MiwgNjI1OTUsIDYyNTk4LCA2MjYwMSwgCi0gICAgNjI2MDQsIDYyNjA3LCA2MjYxMCwgNjI2MTMsIDYyNjE2LCA2MjYxOSwgNjI2MjIsIDYyNjI1LCA2MjYyOCwgNjI2MzEsIAotICAgIDYyNjM0LCA2MjYzNywgNjI2NDAsIDYyNjQzLCA2MjY0NiwgNjI2NDksIDYyNjUyLCA2MjY1NSwgNjI2NTgsIDYyNjYxLCAKLSAgICA2MjY2NCwgNjI2NjcsIDYyNjcwLCA2MjY3MywgNjI2NzYsIDYyNjc5LCA2MjY4MiwgNjI2ODUsIDYyNjg4LCA2MjY5MSwgCi0gICAgNjI2OTQsIDYyNjk3LCA2MjcwMCwgNjI3MDMsIDYyNzA2LCA2MjcwOSwgNjI3MTIsIDYyNzE1LCA2MjcxOCwgNjI3MjEsIAotICAgIDYyNzI0LCA2MjcyNywgNjI3MzAsIDYyNzMzLCA2MjczNiwgNjI3MzksIDYyNzQyLCA2Mjc0NSwgNjI3NDgsIDYyNzUxLCAKLSAgICA2Mjc1NCwgNjI3NTcsIDYyNzYwLCA2Mjc2MywgNjI3NjYsIDYyNzY5LCA2Mjc3MiwgNjI3NzUsIDYyNzc4LCA2Mjc4MSwgCi0gICAgNjI3ODQsIDYyNzg3LCA2Mjc5MCwgNjI3OTMsIDYyNzk2LCA2Mjc5OSwgNjI4MDIsIDYyODA1LCA2MjgxNCwgNjI4MjIsIAotICAgIDYyODMwLCA2MjgzOCwgNjI4NDYsIDYyODU0LCA2Mjg2MiwgNjI4NzAsIDYyODc4LCA2Mjg4NiwgNjI4OTUsIDYyOTA0LCAKLSAgICA2MjkxMywgNjI5MjIsIDYyOTMxLCA2Mjk0MCwgNjI5NDksIDYyOTU4LCA2Mjk2NywgNjI5NzYsIDYyOTg1LCA2Mjk5NCwgCi0gICAgNjMwMDMsIDYzMDEyLCA2MzAyMSwgNjMwMjQsIDYzMDI3LCA2MzAzMCwgNjMwMzIsIDYzMDM1LCA2MzAzOCwgNjMwNDEsIAotICAgIDYzMDQ2LCA2MzA1MSwgNjMwNTQsIDYzMDYxLCA2MzA2OCwgNjMwNzUsIDYzMDgyLCA2MzA4NSwgNjMwOTAsIDYzMDkyLCAKLSAgICA2MzA5NiwgNjMwOTgsIDYzMTAwLCA2MzEwMywgNjMxMDYsIDYzMTA5LCA2MzExMiwgNjMxMTUsIDYzMTE4LCA2MzEyMSwgCi0gICAgNjMxMjYsIDYzMTMxLCA2MzEzNCwgNjMxMzcsIDYzMTQwLCA2MzE0MywgNjMxNDYsIDYzMTQ5LCA2MzE1MiwgNjMxNTYsIAotICAgIDYzMTU5LCA2MzE2MiwgNjMxNjUsIDYzMTY4LCA2MzE3MSwgNjMxNzUsIDYzMTc4LCA2MzE4MSwgNjMxODQsIDYzMTg5LCAKLSAgICA2MzE5NCwgNjMxOTksIDYzMjA0LCA2MzIwOSwgNjMyMTQsIDYzMjE5LCA2MzIyNCwgNjMyMzAsIDYzMjM4LCA2MzI0MCwgCi0gICAgNjMyNDMsIDYzMjQ2LCA2MzI0OSwgNjMyNTIsIDYzMjU4LCA2MzI2NiwgNjMyNjksIDYzMjcyLCA2MzI3NywgNjMyODAsIAotICAgIDYzMjgzLCA2MzI4NiwgNjMyOTEsIDYzMjk0LCA2MzI5NywgNjMzMDIsIDYzMzA1LCA2MzMwOCwgNjMzMTMsIDYzMzE2LCAKLSAgICA2MzMxOSwgNjMzMjQsIDYzMzI5LCA2MzMzNCwgNjMzMzcsIDYzMzQwLCA2MzM0MywgNjMzNDYsIDYzMzUyLCA2MzM1NSwgCi0gICAgNjMzNTgsIDYzMzYxLCA2MzM2MywgNjMzNjYsIDYzMzY5LCA2MzM3MiwgNjMzNzcsIDYzMzgwLCA2MzM4MywgNjMzODYsIAotICAgIDYzMzg5LCA2MzM5MiwgNjMzOTcsIDYzNDAwLCA2MzQwMywgNjM0MDYsIDYzNDA5LCA2MzQxMiwgNjM0MTUsIDYzNDE4LCAKLSAgICA2MzQyMSwgNjM0MjQsIDYzNDI5LCA2MzQzMywgNjM0NDEsIDYzNDQ5LCA2MzQ1NywgNjM0NjUsIDYzNDczLCA2MzQ4MSwgCi0gICAgNjM0ODksIDYzNDk3LCA2MzUwNSwgNjM1MTQsIDYzNTIzLCA2MzUzMiwgNjM1NDEsIDYzNTUwLCA2MzU1OSwgNjM1NjgsIAotICAgIDYzNTc3LCA2MzU4NiwgNjM1OTUsIDYzNjA0LCA2MzYxMywgNjM2MjIsIDYzNjMxLCA2MzY0MCwgNjM2NDksIDYzNjU4LCAKLSAgICA2MzY2NywgNjM2NzYsIDYzNjg1LCA2MzY5NCwgNjM3MDMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDg2NzEzLCA4NjcyOCwgODY3NDMsIDg2NzQ5LCA4Njc1NSwgODY3NjEsIDg2NzY3LCA4Njc3MywgODY3NzksIDg2Nzg1LCAKKyAgICA4Njc5MSwgODY3OTksIDg2ODAzLCA4NjgwNiwgMCwgMCwgODY4MTQsIDg2ODE3LCA4NjgyMCwgODY4MjMsIDg2ODI2LCAKKyAgICA4NjgyOSwgODY4MzIsIDg2ODM1LCA4NjgzOCwgODY4NDEsIDg2ODQ0LCA4Njg0NywgODY4NTAsIDg2ODUzLCA4Njg1NiwgCisgICAgODY4NTksIDg2ODYyLCA4Njg3MCwgODY4NzksIDg2ODkwLCA4Njg5OCwgODY5MDYsIDg2OTE1LCA4NjkyNCwgODY5MzUsIAorICAgIDg2OTQ3LCAwLCAwLCAwLCAwLCAwLCAwLCA4Njk1NiwgODY5NjEsIDg2OTY2LCA4Njk3MywgODY5ODAsIDg2OTg2LCA4Njk5MiwgCisgICAgODY5OTcsIDg3MDAyLCA4NzAwNywgODcwMTMsIDg3MDE5LCA4NzAyNSwgODcwMzEsIDAsIDAsIDg3MDM3LCA4NzA0NywgCisgICAgODcwNTcsIDg3MDY3LCA4NzA3NiwgODcwODcsIDg3MDk2LCA4NzEwNSwgODcxMTUsIDg3MTI1LCA4NzEzNywgODcxNDksIAorICAgIDg3MTYwLCA4NzE3MSwgODcxODIsIDg3MTkzLCA4NzIwMywgODcyMTMsIDg3MjIzLCA4NzIzMywgODcyNDQsIDg3MjU1LCAKKyAgICA4NzI1OSwgODcyNjQsIDg3MjczLCA4NzI4MiwgODcyODYsIDg3MjkwLCA4NzI5NCwgODcyOTksIDg3MzA0LCA4NzMwOSwgCisgICAgODczMTQsIDg3MzE3LCA4NzMyMSwgMCwgODczMjYsIDg3MzI5LCA4NzMzMiwgODczMzYsIDg3MzQwLCA4NzM0NSwgODczNDksIAorICAgIDg3MzUzLCA4NzM1OCwgODczNjMsIDg3MzcwLCA4NzM3NywgODczODAsIDg3MzgzLCA4NzM4NiwgODczODksIDg3MzkyLCAKKyAgICA4NzM5NiwgODc0MDAsIDAsIDg3NDA0LCA4NzQwOSwgODc0MTMsIDg3NDE3LCAwLCAwLCAwLCAwLCA4NzQyMiwgODc0MjcsIAorICAgIDg3NDM0LCA4NzQzOSwgODc0NDQsIDAsIDg3NDQ5LCA4NzQ1NCwgODc0NTksIDg3NDY0LCA4NzQ2OSwgODc0NzQsIDg3NDc5LCAKKyAgICA4NzQ4NCwgODc0ODksIDg3NDk0LCA4NzQ5OSwgODc1MDUsIDg3NTE0LCA4NzUyMywgODc1MzIsIDg3NTQxLCA4NzU1MSwgCisgICAgODc1NjEsIDg3NTcxLCA4NzU4MSwgODc1OTAsIDg3NTk5LCA4NzYwOCwgODc2MTcsIDg3NjIyLCA4NzYyNywgODc2MzMsIAorICAgIDg3NjM5LCA4NzY0NSwgODc2NTEsIDg3NjU5LCA4NzY2NywgODc2NzMsIDg3Njc5LCA4NzY4NSwgODc2OTEsIDg3Njk3LCAKKyAgICA4NzcwMywgODc3MDksIDg3NzE1LCA4NzcyMCwgODc3MjUsIDg3NzMwLCA4NzczNSwgODc3NDAsIDg3NzQ1LCA4Nzc1MCwgCisgICAgODc3NTUsIDg3NzYxLCA4Nzc2NywgODc3NzMsIDg3Nzc5LCA4Nzc4NSwgODc3OTEsIDg3Nzk3LCA4NzgwMywgODc4MDksIAorICAgIDg3ODE1LCA4NzgyMSwgODc4MjcsIDg3ODMzLCA4NzgzOSwgODc4NDUsIDg3ODUxLCA4Nzg1NywgODc4NjMsIDg3ODY5LCAKKyAgICA4Nzg3NSwgODc4ODEsIDg3ODg3LCA4Nzg5MywgODc4OTksIDg3OTA1LCA4NzkxMSwgODc5MTcsIDg3OTIzLCA4NzkyOSwgCisgICAgODc5MzUsIDg3OTQxLCA4Nzk0NywgODc5NTMsIDg3OTU5LCA4Nzk2NSwgODc5NzEsIDg3OTc3LCA4Nzk4MywgODc5ODksIAorICAgIDg3OTk1LCA4ODAwMSwgODgwMDcsIDg4MDEzLCA4ODAxOSwgODgwMjUsIDg4MDMxLCA4ODAzNywgODgwNDMsIDg4MDQ5LCAKKyAgICA4ODA1NSwgODgwNjEsIDg4MDY3LCA4ODA3MywgODgwNzksIDg4MDg1LCA4ODA5MSwgODgwOTcsIDg4MTAzLCA4ODEwOSwgCisgICAgODgxMTUsIDg4MTIwLCA4ODEyNSwgODgxMzAsIDg4MTM1LCA4ODE0MSwgODgxNDcsIDg4MTUzLCA4ODE1OSwgODgxNjUsIAorICAgIDg4MTcxLCA4ODE3NywgODgxODMsIDg4MTg5LCA4ODE5NSwgODgyMDIsIDg4MjA5LCA4ODIxNCwgODgyMTksIDg4MjI0LCAKKyAgICA4ODIyOSwgODgyNDEsIDg4MjUzLCA4ODI2NSwgODgyNzcsIDg4MjkwLCA4ODMwMywgODgzMTEsIDAsIDAsIDg4MzE5LCAwLCAKKyAgICA4ODMyNywgODgzMzEsIDg4MzM1LCA4ODMzOCwgODgzNDIsIDg4MzQ2LCA4ODM0OSwgODgzNTIsIDg4MzU2LCA4ODM2MCwgCisgICAgODgzNjMsIDg4MzY2LCA4ODM2OSwgODgzNzIsIDg4Mzc3LCA4ODM4MCwgODgzODQsIDg4Mzg3LCA4ODM5MCwgODgzOTMsIAorICAgIDg4Mzk2LCA4ODM5OSwgODg0MDIsIDg4NDA1LCA4ODQwOCwgODg0MTEsIDg4NDE0LCA4ODQxNywgODg0MjEsIDg4NDI1LCAKKyAgICA4ODQyOSwgODg0MzMsIDg4NDM4LCA4ODQ0MywgODg0NDksIDg4NDU1LCA4ODQ2MSwgODg0NjYsIDg4NDcyLCA4ODQ3OCwgCisgICAgODg0ODQsIDg4NDg5LCA4ODQ5NSwgODg1MDEsIDg4NTA2LCA4ODUxMiwgODg1MTgsIDg4NTIzLCA4ODUyOSwgODg1MzUsIAorICAgIDg4NTQwLCA4ODU0NSwgODg1NTEsIDg4NTU2LCA4ODU2MiwgODg1NjgsIDg4NTc0LCA4ODU4MCwgODg1ODYsIDg4NTkwLCAKKyAgICA4ODU5NSwgODg1OTksIDg4NjA0LCA4ODYwOCwgODg2MTMsIDg4NjE4LCA4ODYyNCwgODg2MzAsIDg4NjM2LCA4ODY0MSwgCisgICAgODg2NDcsIDg4NjUzLCA4ODY1OSwgODg2NjQsIDg4NjcwLCA4ODY3NiwgODg2ODEsIDg4Njg3LCA4ODY5MywgODg2OTgsIAorICAgIDg4NzA0LCA4ODcxMCwgODg3MTUsIDg4NzIwLCA4ODcyNiwgODg3MzEsIDg4NzM3LCA4ODc0MywgODg3NDksIDg4NzU1LCAKKyAgICA4ODc2MSwgODg3NjYsIDg4NzcwLCA4ODc3NSwgODg3NzgsIDg4NzgzLCA4ODc4OCwgODg3OTQsIDg4Nzk5LCA4ODgwNCwgCisgICAgODg4MDgsIDg4ODE0LCA4ODgxOSwgODg4MjQsIDg4ODI5LCA4ODgzNCwgODg4MzksIDg4ODQ0LCA4ODg0OSwgODg4NTUsIAorICAgIDg4ODYxLCA4ODg2NywgODg4NzUsIDg4ODc5LCA4ODg4MywgODg4ODcsIDg4ODkxLCA4ODg5NSwgODg4OTksIDg4OTA0LCAKKyAgICA4ODkwOSwgODg5MTQsIDg4OTE5LCA4ODkyNCwgODg5MjksIDg4OTM0LCA4ODkzOSwgODg5NDQsIDg4OTQ5LCA4ODk1NCwgCisgICAgODg5NTksIDg4OTY0LCA4ODk2OCwgODg5NzIsIDg4OTc3LCA4ODk4MiwgODg5ODcsIDg4OTkyLCA4ODk5NiwgODkwMDEsIAorICAgIDg5MDA2LCA4OTAxMSwgODkwMTYsIDg5MDIwLCA4OTAyNSwgODkwMzAsIDg5MDM1LCA4OTA0MCwgODkwNDQsIDg5MDQ5LCAKKyAgICA4OTA1NCwgODkwNTksIDg5MDY0LCA4OTA2OSwgODkwNzQsIDg5MDc5LCA4OTA4NCwgODkwODksIDg5MDk2LCA4OTEwMywgCisgICAgODkxMDcsIDg5MTEyLCA4OTExNywgODkxMjIsIDg5MTI3LCA4OTEzMiwgODkxMzcsIDg5MTQyLCA4OTE0NywgODkxNTIsIAorICAgIDg5MTU3LCA4OTE2MiwgODkxNjcsIDg5MTcyLCA4OTE3NywgODkxODIsIDg5MTg3LCA4OTE5MiwgODkxOTcsIDg5MjAyLCAKKyAgICA4OTIwNywgODkyMTIsIDg5MjE3LCA4OTIyMiwgODkyMjcsIDg5MjMyLCA4OTIzNywgODkyNDIsIDg5MjQ3LCA4OTI1MiwgMCwgCisgICAgMCwgMCwgODkyNTcsIDg5MjYxLCA4OTI2NiwgODkyNzAsIDg5Mjc1LCA4OTI4MCwgMCwgMCwgODkyODQsIDg5Mjg5LCAKKyAgICA4OTI5NCwgODkyOTgsIDg5MzAzLCA4OTMwOCwgMCwgMCwgODkzMTMsIDg5MzE4LCA4OTMyMiwgODkzMjcsIDg5MzMyLCAKKyAgICA4OTMzNywgMCwgMCwgODkzNDIsIDg5MzQ3LCA4OTM1MiwgMCwgMCwgMCwgODkzNTYsIDg5MzYwLCA4OTM2NCwgODkzNjgsIAorICAgIDg5MzcxLCA4OTM3NSwgODkzNzksIDAsIDg5MzgzLCA4OTM4OSwgODkzOTIsIDg5Mzk1LCA4OTM5OCwgODk0MDEsIDg5NDA1LCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA4OTQwOSwgODk0MTUsIDg5NDIxLCA4OTQyNywgODk0MzMsIDAsIDAsIAorICAgIDg5NDM3LCA4OTQ0MywgODk0NDksIDg5NDU1LCA4OTQ2MSwgODk0NjcsIDg5NDc0LCA4OTQ4MSwgODk0ODgsIDg5NDk1LCAKKyAgICA4OTUwMiwgODk1MDksIDAsIDg5NTE2LCA4OTUyMywgODk1MzAsIDg5NTM2LCA4OTU0MywgODk1NTAsIDg5NTU3LCA4OTU2NCwgCisgICAgODk1NzAsIDg5NTc3LCA4OTU4NCwgODk1OTEsIDg5NTk4LCA4OTYwNCwgODk2MTEsIDg5NjE4LCA4OTYyNSwgODk2MzIsIAorICAgIDg5NjM4LCA4OTY0NSwgODk2NTIsIDg5NjU5LCA4OTY2NiwgODk2NzMsIDg5NjgwLCA4OTY4NywgMCwgODk2OTQsIDg5NzAxLCAKKyAgICA4OTcwOCwgODk3MTUsIDg5NzIyLCA4OTcyOSwgODk3MzYsIDg5NzQzLCA4OTc1MCwgODk3NTcsIDg5NzY0LCA4OTc3MSwgCisgICAgODk3NzgsIDg5Nzg1LCA4OTc5MSwgODk3OTgsIDg5ODA1LCA4OTgxMiwgODk4MTksIDAsIDg5ODI2LCA4OTgzMywgMCwgCisgICAgODk4NDAsIDg5ODQ3LCA4OTg1NCwgODk4NjEsIDg5ODY4LCA4OTg3NSwgODk4ODIsIDg5ODg5LCA4OTg5NiwgODk5MDMsIAorICAgIDg5OTEwLCA4OTkxNywgODk5MjQsIDg5OTMxLCA4OTkzOCwgMCwgMCwgODk5NDQsIDg5OTQ5LCA4OTk1NCwgODk5NTksIAorICAgIDg5OTY0LCA4OTk2OSwgODk5NzQsIDg5OTc5LCA4OTk4NCwgODk5ODksIDg5OTk0LCA4OTk5OSwgOTAwMDQsIDkwMDA5LCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5MDAxNCwgOTAwMjEsIDkwMDI4LCA5MDAzNSwgOTAwNDIsIDkwMDQ5LCAKKyAgICA5MDA1NiwgOTAwNjMsIDkwMDcwLCA5MDA3NywgOTAwODQsIDkwMDkxLCA5MDA5OCwgOTAxMDUsIDkwMTEyLCA5MDExOSwgCisgICAgOTAxMjYsIDkwMTMzLCA5MDE0MCwgOTAxNDcsIDkwMTU1LCA5MDE2MywgOTAxNzAsIDkwMTc3LCA5MDE4MiwgOTAxOTAsIAorICAgIDkwMTk4LCA5MDIwNSwgOTAyMTIsIDkwMjE3LCA5MDIyNCwgOTAyMjksIDkwMjM0LCA5MDI0MSwgOTAyNDYsIDkwMjUxLCAKKyAgICA5MDI1NiwgOTAyNjQsIDkwMjY5LCA5MDI3NCwgOTAyODEsIDkwMjg2LCA5MDI5MSwgOTAyOTgsIDkwMzA1LCA5MDMxMCwgCisgICAgOTAzMTUsIDkwMzIwLCA5MDMyNSwgOTAzMzAsIDkwMzM1LCA5MDM0MCwgOTAzNDUsIDkwMzUwLCA5MDM1NywgOTAzNjIsIAorICAgIDkwMzY5LCA5MDM3NCwgOTAzNzksIDkwMzg0LCA5MDM4OSwgOTAzOTQsIDkwMzk5LCA5MDQwNCwgOTA0MDksIDkwNDE0LCAKKyAgICA5MDQxOSwgOTA0MjQsIDkwNDMxLCA5MDQzOCwgOTA0NDUsIDkwNDUyLCA5MDQ1OCwgOTA0NjMsIDkwNDcwLCA5MDQ3NSwgCisgICAgOTA0ODAsIDkwNDg5LCA5MDQ5NiwgOTA1MDUsIDkwNTEyLCA5MDUxNywgOTA1MjIsIDkwNTMwLCA5MDUzNSwgOTA1NDAsIAorICAgIDkwNTQ1LCA5MDU1MCwgOTA1NTUsIDkwNTYyLCA5MDU2NywgOTA1NzIsIDkwNTc3LCA5MDU4MiwgOTA1ODcsIDkwNTk0LCAKKyAgICA5MDYwMSwgOTA2MDgsIDkwNjE1LCA5MDYyMiwgOTA2MjksIDkwNjM2LCA5MDY0MywgOTA2NTAsIDkwNjU3LCA5MDY2NCwgCisgICAgOTA2NzEsIDkwNjc4LCA5MDY4NSwgOTA2OTIsIDkwNjk5LCA5MDcwNiwgOTA3MTMsIDkwNzIwLCA5MDcyNywgOTA3MzQsIAorICAgIDkwNzQxLCA5MDc0OCwgOTA3NTUsIDkwNzYyLCA5MDc2OSwgOTA3NzYsIDkwNzgzLCAwLCAwLCAwLCAwLCAwLCA5MDc5MCwgCisgICAgOTA3OTgsIDkwODA2LCAwLCAwLCAwLCAwLCA5MDgxMSwgOTA4MTUsIDkwODE5LCA5MDgyMywgOTA4MjcsIDkwODMxLCAKKyAgICA5MDgzNSwgOTA4MzksIDkwODQzLCA5MDg0NywgOTA4NTIsIDkwODU3LCA5MDg2MiwgOTA4NjcsIDkwODcyLCA5MDg3NywgCisgICAgOTA4ODIsIDkwODg3LCA5MDg5MiwgOTA4OTgsIDkwOTA0LCA5MDkxMCwgOTA5MTcsIDkwOTI0LCA5MDkzMSwgOTA5MzgsIAorICAgIDkwOTQ1LCA5MDk1MiwgOTA5NTgsIDkwOTY0LCA5MDk3MCwgOTA5NzcsIDkwOTg0LCA5MDk5MSwgOTA5OTgsIDkxMDA1LCAKKyAgICA5MTAxMiwgOTEwMTksIDkxMDI2LCA5MTAzMywgOTEwNDAsIDkxMDQ3LCA5MTA1NCwgOTEwNjEsIDkxMDY4LCAwLCAwLCAwLCAKKyAgICA5MTA3NSwgOTEwODMsIDkxMDkxLCA5MTA5OSwgOTExMDcsIDkxMTE1LCA5MTEyNSwgOTExMzUsIDkxMTQzLCA5MTE1MSwgCisgICAgOTExNTksIDkxMTY3LCA5MTE3NSwgOTExODEsIDkxMTg4LCA5MTE5NywgOTEyMDYsIDkxMjE1LCA5MTIyNCwgOTEyMzMsIAorICAgIDkxMjQyLCA5MTI1MiwgOTEyNjMsIDkxMjczLCA5MTI4NCwgOTEyOTMsIDkxMzAyLCA5MTMxMSwgOTEzMjEsIDkxMzMyLCAKKyAgICA5MTM0MiwgOTEzNTMsIDkxMzY0LCA5MTM3MywgOTEzODEsIDkxMzg3LCA5MTM5MywgOTEzOTksIDkxNDA1LCA5MTQxMywgCisgICAgOTE0MjEsIDkxNDI3LCA5MTQzNCwgOTE0NDQsIDkxNDUxLCA5MTQ1OCwgOTE0NjUsIDkxNDcyLCA5MTQ3OSwgOTE0ODksIAorICAgIDkxNDk2LCA5MTUwMywgOTE1MTEsIDkxNTE5LCA5MTUyOCwgOTE1MzcsIDkxNTQ2LCA5MTU1NSwgOTE1NjQsIDkxNTcyLCAKKyAgICA5MTU4MSwgOTE1OTAsIDkxNTk5LCA5MTYwMywgOTE2MTAsIDkxNjE1LCA5MTYyMCwgOTE2MjQsIDkxNjI4LCA5MTYzMiwgCisgICAgOTE2MzYsIDkxNjQxLCA5MTY0NiwgOTE2NTIsIDkxNjU4LCA5MTY2MiwgOTE2NjgsIDkxNjcyLCA5MTY3NiwgOTE2ODAsIAorICAgIDkxNjg0LCA5MTY4OCwgOTE2OTIsIDkxNjk4LCA5MTcwMiwgOTE3MDcsIDAsIDAsIDAsIDkxNzExLCA5MTcxNiwgOTE3MjEsIAorICAgIDkxNzI2LCA5MTczMSwgOTE3MzgsIDkxNzQzLCA5MTc0OCwgOTE3NTMsIDkxNzU4LCA5MTc2MywgOTE3NjgsIDAsIDAsIDAsIAorICAgIDAsIDkxNzczLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCA2MzcwNiwgNjM3MTUsIDYzNzI0LCA2MzczNSwgNjM3NDIsIDYzNzQ3LCA2Mzc1MiwgNjM3NTksIDYzNzY2LCAKLSAgICA2Mzc3MiwgNjM3NzcsIDYzNzgyLCA2Mzc4NywgNjM3OTIsIDYzNzk5LCA2MzgwNCwgNjM4MDksIDYzODE0LCA2MzgyNSwgCi0gICAgNjM4MzAsIDYzODM1LCA2Mzg0MiwgNjM4NDcsIDYzODU0LCA2Mzg1OSwgNjM4NjQsIDYzODcxLCA2Mzg3OCwgNjM4ODUsIAotICAgIDYzODk0LCA2MzkwMywgNjM5MDgsIDYzOTEzLCA2MzkxOCwgNjM5MjUsIDYzOTMwLCA2Mzk0MCwgNjM5NDcsIDYzOTUyLCAKLSAgICA2Mzk1NywgNjM5NjIsIDYzOTY3LCA2Mzk3MiwgNjM5NzcsIDYzOTg2LCA2Mzk5MywgNjQwMDAsIDY0MDA1LCA2NDAxMiwgCi0gICAgNjQwMTcsIDY0MDI0LCA2NDAzMywgNjQwNDQsIDY0MDQ5LCA2NDA1OCwgNjQwNjMsIDY0MDcwLCA2NDA3OSwgNjQwODgsIAotICAgIDY0MDkzLCA2NDA5OCwgNjQxMDUsIDY0MTExLCA2NDExOCwgNjQxMjUsIDY0MTI5LCA2NDEzMywgNjQxMzYsIDY0MTQwLCAKLSAgICA2NDE0NCwgNjQxNDgsIDY0MTUyLCA2NDE1NiwgNjQxNjAsIDY0MTY0LCA2NDE2NywgNjQxNzEsIDY0MTc1LCA2NDE3OSwgCi0gICAgNjQxODMsIDY0MTg3LCA2NDE5MSwgNjQxOTQsIDY0MTk4LCA2NDIwMiwgNjQyMDUsIDY0MjA5LCA2NDIxMywgNjQyMTcsIAotICAgIDY0MjIxLCA2NDIyNSwgNjQyMjksIDY0MjMzLCA2NDIzNywgNjQyNDEsIDY0MjQ1LCA2NDI0OSwgNjQyNTMsIDY0MjU3LCAKLSAgICA2NDI2MSwgNjQyNjUsIDY0MjY5LCA2NDI3MywgNjQyNzcsIDY0MjgxLCA2NDI4NSwgNjQyODksIDY0MjkzLCA2NDI5NywgCi0gICAgNjQzMDEsIDY0MzA1LCA2NDMwOSwgNjQzMTMsIDY0MzE3LCA2NDMyMSwgNjQzMjUsIDY0MzI5LCA2NDMzMywgNjQzMzcsIAotICAgIDY0MzQxLCA2NDM0NSwgNjQzNDksIDY0MzUzLCA2NDM1NywgNjQzNjEsIDY0MzY1LCA2NDM2OSwgNjQzNzMsIDY0Mzc3LCAKLSAgICA2NDM4MSwgNjQzODQsIDY0Mzg4LCA2NDM5MiwgNjQzOTYsIDY0NDAwLCA2NDQwNCwgNjQ0MDgsIDY0NDEyLCA2NDQxNiwgCi0gICAgNjQ0MjAsIDY0NDI0LCA2NDQyOCwgNjQ0MzIsIDY0NDM2LCA2NDQ0MCwgNjQ0NDQsIDY0NDQ4LCA2NDQ1MiwgNjQ0NTYsIAotICAgIDY0NDYwLCA2NDQ2NCwgNjQ0NjgsIDY0NDcyLCA2NDQ3NiwgNjQ0ODAsIDY0NDg0LCA2NDQ4OCwgNjQ0OTIsIDY0NDk2LCAKLSAgICA2NDUwMCwgNjQ1MDQsIDY0NTA4LCA2NDUxMiwgNjQ1MTYsIDY0NTIwLCA2NDUyNCwgNjQ1MjgsIDY0NTMyLCA2NDUzNiwgCi0gICAgNjQ1NDAsIDY0NTQ0LCA2NDU0OCwgNjQ1NTIsIDY0NTU2LCA2NDU2MCwgNjQ1NjQsIDY0NTY4LCA2NDU3MiwgNjQ1NzYsIAotICAgIDY0NTgwLCA2NDU4NCwgNjQ1ODgsIDY0NTkyLCA2NDU5NiwgNjQ2MDAsIDY0NjA0LCA2NDYwOCwgNjQ2MTIsIDY0NjE2LCAKLSAgICA2NDYyMCwgNjQ2MjQsIDY0NjI4LCA2NDYzMiwgNjQ2MzYsIDY0NjQwLCA2NDY0NCwgNjQ2NDgsIDY0NjUyLCA2NDY1NiwgCi0gICAgNjQ2NjAsIDY0NjY0LCA2NDY2OCwgNjQ2NzIsIDY0Njc2LCA2NDY4MCwgNjQ2ODQsIDY0Njg4LCA2NDY5MiwgNjQ2OTYsIAotICAgIDY0NzAwLCA2NDcwNCwgNjQ3MDgsIDY0NzEyLCA2NDcxNiwgNjQ3MjAsIDY0NzI0LCA2NDcyOCwgNjQ3MzIsIDY0NzM2LCAKLSAgICA2NDc0MCwgNjQ3NDQsIDY0NzQ4LCA2NDc1MiwgNjQ3NTYsIDY0NzYwLCA2NDc2NCwgNjQ3NjgsIDY0NzcyLCA2NDc3NiwgCi0gICAgNjQ3ODAsIDY0Nzg0LCA2NDc4OCwgNjQ3OTIsIDY0Nzk2LCA2NDgwMCwgNjQ4MDQsIDY0ODA4LCA2NDgxMiwgNjQ4MTYsIAotICAgIDY0ODIwLCA2NDgyNCwgNjQ4MjgsIDY0ODMyLCA2NDgzNiwgNjQ4NDAsIDY0ODQ0LCA2NDg0OCwgNjQ4NTIsIDY0ODU1LCAKLSAgICA2NDg1OSwgNjQ4NjMsIDY0ODY3LCA2NDg3MSwgNjQ4NzUsIDY0ODc5LCA2NDg4MywgNjQ4ODcsIDY0ODkxLCA2NDg5NSwgCi0gICAgNjQ4OTksIDY0OTAzLCA2NDkwNywgNjQ5MTEsIDY0OTE1LCA2NDkxOSwgNjQ5MjMsIDY0OTI3LCA2NDkzMSwgNjQ5MzUsIAotICAgIDY0OTM5LCA2NDk0MywgNjQ5NDcsIDY0OTUxLCA2NDk1NSwgNjQ5NTksIDY0OTYzLCA2NDk2NywgNjQ5NzEsIDY0OTc1LCAKLSAgICA2NDk3OSwgNjQ5ODMsIDY0OTg3LCA2NDk5MSwgNjQ5OTUsIDY0OTk5LCA2NTAwMywgNjUwMDcsIDY1MDExLCA2NTAxNSwgCi0gICAgNjUwMTksIDY1MDIzLCA2NTAyNywgNjUwMzEsIDY1MDM1LCA2NTAzOSwgNjUwNDMsIDY1MDQ3LCA2NTA1MSwgNjUwNTUsIAotICAgIDY1MDU5LCA2NTA2MywgNjUwNjcsIDY1MDcxLCA2NTA3NSwgNjUwNzksIDY1MDgzLCA2NTA4NywgNjUwOTEsIDY1MDk1LCAKLSAgICA2NTA5OSwgNjUxMDMsIDY1MTA3LCA2NTExMSwgNjUxMTUsIDY1MTE5LCA2NTEyMywgNjUxMjcsIDY1MTMxLCA2NTEzNSwgCi0gICAgNjUxMzksIDY1MTQzLCA2NTE0NywgNjUxNTEsIDY1MTU1LCA2NTE1OSwgNjUxNjMsIDY1MTY3LCA2NTE3MSwgNjUxNzUsIAotICAgIDY1MTc5LCA2NTE4MywgNjUxODcsIDY1MTkxLCA2NTE5NSwgNjUxOTksIDY1MjAzLCA2NTIwNywgNjUyMTEsIDY1MjE1LCAKLSAgICA2NTIxOSwgNjUyMjMsIDY1MjI3LCA2NTIzMSwgNjUyMzUsIDY1MjM5LCA2NTI0MywgNjUyNDcsIDY1MjUxLCA2NTI1NSwgCi0gICAgNjUyNTksIDY1MjYzLCA2NTI2NywgNjUyNzEsIDY1Mjc1LCA2NTI3OSwgNjUyODMsIDY1Mjg3LCA2NTI5MSwgNjUyOTUsIAotICAgIDY1Mjk5LCA2NTMwMywgNjUzMDcsIDY1MzExLCA2NTMxNSwgNjUzMTgsIDY1MzIyLCA2NTMyNiwgNjUzMzAsIDY1MzM0LCAKLSAgICA2NTMzOCwgNjUzNDIsIDY1MzQ2LCA2NTM1MCwgNjUzNTQsIDY1MzU4LCA2NTM2MiwgNjUzNjYsIDY1MzcwLCA2NTM3NCwgCi0gICAgNjUzNzgsIDY1MzgyLCA2NTM4NiwgNjUzOTAsIDY1Mzk0LCA2NTM5OCwgNjU0MDIsIDY1NDA2LCA2NTQxMCwgNjU0MTQsIAotICAgIDY1NDE4LCA2NTQyMiwgNjU0MjYsIDY1NDMwLCA2NTQzNCwgNjU0MzgsIDY1NDQyLCA2NTQ0NiwgNjU0NTAsIDY1NDU0LCAKLSAgICA2NTQ1OCwgNjU0NjIsIDY1NDY2LCA2NTQ3MCwgNjU0NzQsIDY1NDc4LCA2NTQ4MiwgNjU0ODYsIDY1NDkwLCA2NTQ5NCwgCi0gICAgNjU0OTgsIDY1NTAyLCA2NTUwNiwgNjU1MTAsIDY1NTE0LCA2NTUxOCwgNjU1MjIsIDY1NTI2LCA2NTUzMCwgNjU1MzQsIAotICAgIDY1NTM4LCA2NTU0MiwgNjU1NDYsIDY1NTUwLCA2NTU1NCwgNjU1NTgsIDY1NTYyLCA2NTU2NiwgNjU1NzAsIDY1NTc0LCAKLSAgICA2NTU3OCwgNjU1ODIsIDY1NTg2LCA2NTU5MCwgNjU1OTQsIDY1NTk4LCA2NTYwMiwgNjU2MDYsIDY1NjEwLCA2NTYxNCwgCi0gICAgNjU2MTgsIDY1NjIyLCA2NTYyNiwgNjU2MzAsIDY1NjM0LCA2NTYzOCwgNjU2NDIsIDY1NjQ2LCA2NTY1MCwgNjU2NTQsIAotICAgIDY1NjU4LCA2NTY2MiwgNjU2NjYsIDY1NjcwLCA2NTY3NCwgNjU2NzcsIDY1NjgxLCA2NTY4NSwgNjU2ODksIDY1NjkzLCAKLSAgICA2NTY5NywgNjU3MDEsIDY1NzA1LCA2NTcwOSwgNjU3MTMsIDY1NzE3LCA2NTcyMSwgNjU3MjUsIDY1NzI5LCA2NTczMywgCi0gICAgNjU3MzcsIDY1NzQxLCA2NTc0NSwgNjU3NDksIDY1NzUzLCA2NTc1NywgNjU3NjEsIDY1NzY1LCA2NTc2OSwgNjU3NzMsIAotICAgIDY1Nzc3LCA2NTc4MSwgNjU3ODUsIDY1Nzg5LCA2NTc5MywgNjU3OTcsIDY1ODAxLCA2NTgwNSwgNjU4MDksIDY1ODEzLCAKLSAgICA2NTgxNywgNjU4MjEsIDY1ODI1LCA2NTgyOSwgNjU4MzMsIDY1ODM3LCA2NTg0MSwgNjU4NDUsIDY1ODQ5LCA2NTg1MywgCi0gICAgNjU4NTcsIDY1ODYxLCA2NTg2NSwgNjU4NjksIDY1ODczLCA2NTg3NywgNjU4ODEsIDY1ODg1LCA2NTg4OSwgNjU4OTMsIAotICAgIDY1ODk3LCA2NTkwMSwgNjU5MDUsIDY1OTA5LCA2NTkxMywgNjU5MTcsIDY1OTIxLCA2NTkyNSwgNjU5MjksIDY1OTMzLCAKLSAgICA2NTkzNywgNjU5NDEsIDY1OTQ1LCA2NTk0OSwgNjU5NTMsIDY1OTU3LCA2NTk2MSwgNjU5NjUsIDY1OTY5LCA2NTk3MywgCi0gICAgNjU5NzcsIDY1OTgxLCA2NTk4NSwgNjU5ODksIDY1OTkzLCA2NTk5NywgNjYwMDEsIDY2MDA1LCA2NjAwOSwgNjYwMTMsIAotICAgIDY2MDE3LCA2NjAyMSwgNjYwMjUsIDY2MDI5LCA2NjAzMywgNjYwMzcsIDY2MDQxLCA2NjA0NSwgNjYwNDksIDY2MDUzLCAKLSAgICA2NjA1NywgNjYwNjEsIDY2MDY1LCA2NjA2OSwgNjYwNzMsIDY2MDc3LCA2NjA4MSwgNjYwODUsIDY2MDg5LCA2NjA5MywgCi0gICAgNjYwOTcsIDY2MTAxLCA2NjEwNSwgNjYxMDksIDY2MTEzLCA2NjExNywgNjYxMjEsIDY2MTI1LCA2NjEyOSwgNjYxMzMsIAotICAgIDY2MTM3LCA2NjE0MSwgNjYxNDUsIDY2MTQ5LCA2NjE1MywgNjYxNTcsIDY2MTYxLCA2NjE2NSwgNjYxNjksIDY2MTcyLCAKLSAgICA2NjE3NiwgNjYxODAsIDY2MTg0LCA2NjE4OCwgNjYxOTIsIDY2MTk2LCA2NjIwMCwgNjYyMDQsIDY2MjA4LCA2NjIxMiwgCi0gICAgNjYyMTYsIDY2MjIwLCA2NjIyNCwgNjYyMjgsIDY2MjMyLCA2NjIzNiwgNjYyNDAsIDY2MjQ0LCA2NjI0OCwgNjYyNTIsIAotICAgIDY2MjU2LCA2NjI2MCwgNjYyNjQsIDY2MjY4LCA2NjI3MiwgNjYyNzYsIDY2MjgwLCA2NjI4NCwgNjYyODgsIDY2MjkyLCAKLSAgICA2NjI5NiwgNjYzMDAsIDY2MzA0LCA2NjMwOCwgNjYzMTIsIDY2MzE2LCA2NjMyMCwgNjYzMjQsIDY2MzI4LCA2NjMzMiwgCi0gICAgNjYzMzYsIDY2MzQwLCA2NjM0NCwgNjYzNDgsIDY2MzUyLCA2NjM1NiwgNjYzNjAsIDY2MzY0LCA2NjM2OCwgNjYzNzIsIAotICAgIDY2Mzc2LCA2NjM4MCwgNjYzODQsIDY2Mzg4LCA2NjM5MiwgNjYzOTYsIDY2NDAwLCA2NjQwNCwgNjY0MDgsIDY2NDEyLCAKLSAgICA2NjQxNiwgNjY0MjAsIDY2NDI0LCA2NjQyOCwgNjY0MzIsIDY2NDM2LCA2NjQ0MCwgNjY0NDQsIDY2NDQ4LCA2NjQ1MiwgCi0gICAgNjY0NTYsIDY2NDYwLCA2NjQ2NCwgNjY0NjgsIDY2NDcyLCA2NjQ3NiwgNjY0ODAsIDY2NDg0LCA2NjQ4OCwgNjY0OTIsIAotICAgIDY2NDk2LCA2NjUwMCwgNjY1MDQsIDY2NTA4LCA2NjUxMiwgNjY1MTYsIDY2NTIwLCA2NjUyNCwgNjY1MjgsIDY2NTMyLCAKLSAgICA2NjUzNiwgNjY1NDAsIDY2NTQ0LCA2NjU0OCwgNjY1NTIsIDY2NTU2LCA2NjU2MCwgNjY1NjQsIDY2NTY4LCA2NjU3MiwgCi0gICAgNjY1NzYsIDY2NTgwLCA2NjU4NCwgNjY1ODgsIDY2NTkyLCA2NjU5NiwgNjY2MDAsIDY2NjA0LCA2NjYwOCwgNjY2MTIsIAotICAgIDY2NjE2LCA2NjYyMCwgNjY2MjQsIDY2NjI3LCA2NjYzMSwgNjY2MzUsIDY2NjM5LCA2NjY0MywgNjY2NDcsIDY2NjUxLCAKLSAgICA2NjY1NSwgNjY2NTksIDY2NjYzLCA2NjY2NywgNjY2NzEsIDY2Njc1LCA2NjY3OSwgNjY2ODMsIDY2Njg3LCA2NjY5MSwgCi0gICAgNjY2OTUsIDY2Njk5LCA2NjcwMywgNjY3MDcsIDY2NzExLCA2NjcxNSwgNjY3MTksIDY2NzIzLCA2NjcyNywgNjY3MzEsIAotICAgIDY2NzM1LCA2NjczOSwgNjY3NDMsIDY2NzQ3LCA2Njc1MSwgNjY3NTUsIDY2NzU5LCA2Njc2MywgNjY3NjcsIDY2NzcxLCAKLSAgICA2Njc3NSwgNjY3NzksIDY2NzgzLCA2Njc4NywgNjY3OTEsIDY2Nzk1LCA2Njc5OSwgNjY4MDMsIDY2ODA3LCA2NjgxMSwgCi0gICAgNjY4MTUsIDY2ODE5LCA2NjgyMywgNjY4MjcsIDY2ODMxLCA2NjgzNSwgNjY4MzksIDY2ODQzLCA2Njg0NywgNjY4NTEsIAotICAgIDY2ODU1LCA2Njg1OSwgNjY4NjMsIDY2ODY3LCA2Njg3MSwgNjY4NzUsIDY2ODc5LCA2Njg4MywgNjY4ODcsIDY2ODkxLCAKLSAgICA2Njg5NSwgNjY4OTksIDY2OTAzLCA2NjkwNywgNjY5MTEsIDY2OTE1LCA2NjkxOSwgNjY5MjMsIDY2OTI3LCA2NjkzMSwgCi0gICAgNjY5MzUsIDY2OTM5LCA2Njk0MywgNjY5NDcsIDY2OTUxLCA2Njk1NSwgNjY5NTksIDY2OTYzLCA2Njk2NywgNjY5NzEsIAotICAgIDY2OTc1LCA2Njk3OSwgNjY5ODMsIDY2OTg3LCA2Njk5MSwgNjY5OTUsIDY2OTk5LCA2NzAwMywgNjcwMDcsIDY3MDExLCAKLSAgICA2NzAxNSwgNjcwMTksIDY3MDIzLCA2NzAyNywgNjcwMzEsIDY3MDM1LCA2NzAzOSwgNjcwNDMsIDY3MDQ3LCA2NzA1MSwgCi0gICAgNjcwNTUsIDY3MDU5LCA2NzA2MywgNjcwNjcsIDY3MDcxLCA2NzA3NSwgNjcwNzksIDY3MDgzLCA2NzA4NywgNjcwOTEsIAotICAgIDY3MDk1LCA2NzA5OSwgNjcxMDMsIDY3MTA3LCA2NzExMSwgNjcxMTUsIDY3MTE5LCA2NzEyMywgNjcxMjcsIDY3MTMxLCAKLSAgICA2NzEzNSwgNjcxMzksIDY3MTQzLCA2NzE0NywgNjcxNTEsIDY3MTU1LCA2NzE1OSwgNjcxNjMsIDY3MTY3LCA2NzE3MSwgCi0gICAgNjcxNzUsIDY3MTc5LCA2NzE4MywgNjcxODcsIDY3MTkxLCA2NzE5NSwgNjcxOTksIDY3MjAzLCA2NzIwNywgNjcyMTEsIAotICAgIDY3MjE1LCA2NzIxOSwgNjcyMjMsIDY3MjI3LCA2NzIzMCwgNjcyMzQsIDY3MjM4LCA2NzI0MiwgNjcyNDYsIDY3MjUwLCAKLSAgICA2NzI1NCwgNjcyNTgsIDY3MjYxLCA2NzI2NSwgNjcyNjksIDY3MjczLCA2NzI3NywgNjcyODEsIDY3Mjg1LCA2NzI4OSwgCi0gICAgNjcyOTMsIDY3Mjk3LCA2NzMwMSwgNjczMDUsIDY3MzA5LCA2NzMxMywgNjczMTcsIDY3MzIxLCA2NzMyNSwgNjczMjksIAotICAgIDY3MzMzLCA2NzMzNywgNjczNDEsIDY3MzQ1LCA2NzM0OSwgNjczNTMsIDY3MzU3LCA2NzM2MSwgNjczNjUsIDY3MzY5LCAKLSAgICA2NzM3MywgNjczNzcsIDY3MzgxLCA2NzM4NSwgNjczODksIDY3MzkzLCA2NzM5NywgNjc0MDEsIDY3NDA1LCA2NzQwOSwgCi0gICAgNjc0MTMsIDY3NDE3LCA2NzQyMSwgNjc0MjUsIDY3NDI5LCA2NzQzMywgNjc0MzcsIDY3NDQxLCA2NzQ0NSwgNjc0NDksIAotICAgIDY3NDUzLCA2NzQ1NywgNjc0NjEsIDY3NDY1LCA2NzQ2OSwgNjc0NzMsIDY3NDc3LCA2NzQ4MSwgNjc0ODUsIDY3NDg5LCAKLSAgICA2NzQ5MywgNjc0OTcsIDY3NTAxLCA2NzUwNSwgNjc1MDksIDY3NTEzLCA2NzUxNywgNjc1MjEsIDY3NTI1LCA2NzUyOSwgCi0gICAgNjc1MzMsIDY3NTM3LCA2NzU0MSwgNjc1NDUsIDY3NTQ5LCA2NzU1MywgNjc1NTcsIDY3NTYxLCA2NzU2NSwgNjc1NjksIAotICAgIDY3NTczLCA2NzU3NywgNjc1ODEsIDY3NTg1LCA2NzU4OSwgNjc1OTMsIDY3NTk3LCA2NzYwMSwgNjc2MDUsIDY3NjA5LCAKLSAgICA2NzYxMywgNjc2MTcsIDY3NjIxLCA2NzYyNSwgNjc2MjksIDY3NjMzLCA2NzYzNywgNjc2NDEsIDY3NjQ1LCA2NzY0OSwgCi0gICAgNjc2NTMsIDY3NjU3LCA2NzY2MSwgNjc2NjUsIDY3NjY5LCA2NzY3MywgNjc2NzcsIDY3NjgxLCA2NzY4NSwgNjc2ODksIAotICAgIDY3NjkzLCA2NzY5NywgNjc3MDEsIDY3NzA1LCA2NzcwOSwgNjc3MTMsIDY3NzE3LCA2NzcyMSwgNjc3MjUsIDY3NzI5LCAKLSAgICA2NzczMywgNjc3MzcsIDY3NzQxLCA2Nzc0NSwgNjc3NDksIDY3NzUzLCA2Nzc1NywgNjc3NjEsIDY3NzY1LCA2Nzc2OSwgCi0gICAgNjc3NzMsIDY3Nzc3LCA2Nzc4MSwgNjc3ODUsIDY3Nzg5LCA2Nzc5MywgNjc3OTcsIDY3ODAxLCA2NzgwNSwgNjc4MDksIAotICAgIDY3ODEzLCA2NzgxNywgNjc4MjEsIDY3ODI1LCA2NzgyOSwgNjc4MzMsIDY3ODM3LCA2Nzg0MSwgNjc4NDUsIDY3ODQ5LCAKLSAgICA2Nzg1MywgNjc4NTcsIDY3ODYxLCA2Nzg2NSwgNjc4NjksIDY3ODczLCA2Nzg3NywgNjc4ODEsIDY3ODg1LCA2Nzg4OSwgCi0gICAgNjc4OTMsIDY3ODk3LCA2NzkwMSwgNjc5MDUsIDY3OTA5LCA2NzkxMywgNjc5MTcsIDY3OTIxLCA2NzkyNSwgNjc5MjksIAotICAgIDY3OTMzLCA2NzkzNywgNjc5NDEsIDY3OTQ1LCA2Nzk0OSwgNjc5NTMsIDY3OTU3LCA2Nzk2MSwgNjc5NjUsIDY3OTY5LCAKLSAgICA2Nzk3MywgNjc5NzcsIDY3OTgxLCA2Nzk4NSwgNjc5ODgsIDY3OTkyLCA2Nzk5NiwgNjgwMDAsIDY4MDA0LCA2ODAwOCwgCi0gICAgNjgwMTIsIDY4MDE2LCA2ODAyMCwgNjgwMjQsIDY4MDI4LCA2ODAzMiwgNjgwMzYsIDY4MDQwLCA2ODA0NCwgNjgwNDgsIAotICAgIDY4MDUyLCA2ODA1NiwgNjgwNjAsIDY4MDY0LCA2ODA2OCwgNjgwNzIsIDY4MDc2LCA2ODA4MCwgNjgwODQsIDY4MDg4LCAKLSAgICA2ODA5MiwgNjgwOTYsIDY4MTAwLCA2ODEwNCwgNjgxMDgsIDY4MTEyLCA2ODExNiwgNjgxMjAsIDY4MTI0LCA2ODEyOCwgCi0gICAgNjgxMzIsIDY4MTM2LCA2ODE0MCwgNjgxNDQsIDY4MTQ4LCA2ODE1MiwgNjgxNTYsIDY4MTYwLCA2ODE2NCwgNjgxNjgsIAotICAgIDY4MTcyLCA2ODE3NiwgNjgxODAsIDY4MTg0LCA2ODE4OCwgNjgxOTIsIDY4MTk2LCA2ODIwMCwgNjgyMDQsIDY4MjA4LCAKLSAgICA2ODIxMiwgNjgyMTYsIDY4MjIwLCA2ODIyNCwgNjgyMjgsIDY4MjMyLCA2ODIzNiwgNjgyNDAsIDY4MjQ0LCA2ODI0OCwgCi0gICAgNjgyNTIsIDY4MjU2LCA2ODI2MCwgNjgyNjQsIDY4MjY4LCA2ODI3MiwgNjgyNzYsIDY4MjgwLCA2ODI4NCwgNjgyODgsIAotICAgIDY4MjkyLCA2ODI5NiwgNjgzMDAsIDY4MzA0LCA2ODMwOCwgNjgzMTIsIDY4MzE2LCA2ODMyMCwgNjgzMjQsIDY4MzI4LCAKLSAgICA2ODMzMiwgNjgzMzYsIDY4MzQwLCA2ODM0NCwgNjgzNDgsIDY4MzUyLCA2ODM1NiwgNjgzNjAsIDY4MzY0LCA2ODM2OCwgCi0gICAgNjgzNzIsIDY4Mzc2LCA2ODM4MCwgNjgzODQsIDY4Mzg4LCA2ODM5MiwgNjgzOTYsIDY4NDAwLCA2ODQwNCwgNjg0MDgsIAotICAgIDY4NDEyLCA2ODQxNiwgNjg0MjAsIDY4NDI0LCA2ODQyOCwgNjg0MzIsIDY4NDM2LCA2ODQ0MCwgNjg0NDQsIDY4NDQ4LCAKLSAgICA2ODQ1MiwgNjg0NTYsIDY4NDYwLCA2ODQ2NCwgNjg0NjgsIDY4NDcyLCA2ODQ3NiwgNjg0ODAsIDY4NDg0LCA2ODQ4OCwgCi0gICAgNjg0OTIsIDY4NDk2LCA2ODUwMCwgNjg1MDQsIDY4NTA4LCA2ODUxMiwgNjg1MTYsIDY4NTIwLCA2ODUyNCwgNjg1MjgsIAotICAgIDY4NTMyLCA2ODUzNiwgNjg1NDAsIDY4NTQ0LCA2ODU0OCwgNjg1NTIsIDY4NTU2LCA2ODU2MCwgNjg1NjQsIDY4NTY4LCAKLSAgICA2ODU3MiwgNjg1NzYsIDY4NTgwLCA2ODU4NCwgNjg1ODgsIDY4NTkyLCA2ODU5NiwgNjg2MDAsIDY4NjA0LCA2ODYwOCwgCi0gICAgNjg2MTIsIDY4NjE2LCA2ODYyMCwgNjg2MjQsIDY4NjI4LCA2ODYzMiwgNjg2MzYsIDY4NjQwLCA2ODY0NCwgNjg2NDgsIAotICAgIDY4NjUyLCA2ODY1NiwgNjg2NjAsIDY4NjY0LCA2ODY2OCwgNjg2NzIsIDY4Njc2LCA2ODY4MCwgNjg2ODQsIDY4Njg4LCAKLSAgICA2ODY5MiwgNjg2OTYsIDY4NzAwLCA2ODcwNCwgNjg3MDgsIDY4NzEyLCA2ODcxNiwgNjg3MjAsIDY4NzI0LCA2ODcyOCwgCi0gICAgNjg3MzIsIDY4NzM2LCA2ODc0MCwgNjg3NDQsIDY4NzQ4LCA2ODc1MiwgNjg3NTYsIDY4NzYwLCA2ODc2NCwgNjg3NjgsIDAsIAotICAgIDAsIDAsIDY4NzcyLCA2ODc3NiwgNjg3ODAsIDY4Nzg0LCA2ODc4OCwgNjg3OTIsIDY4Nzk2LCA2ODgwMCwgNjg4MDQsIAotICAgIDY4ODA4LCA2ODgxMiwgNjg4MTYsIDY4ODIwLCA2ODgyNCwgNjg4MjgsIDY4ODMyLCA2ODgzNiwgNjg4NDAsIDY4ODQ0LCAKLSAgICA2ODg0OCwgNjg4NTIsIDY4ODU2LCA2ODg2MCwgNjg4NjQsIDY4ODY4LCA2ODg3MiwgNjg4NzYsIDY4ODgwLCA2ODg4NCwgCi0gICAgNjg4ODgsIDY4ODkyLCA2ODg5NiwgNjg5MDAsIDY4OTA0LCA2ODkwOCwgNjg5MTIsIDY4OTE2LCA2ODkyMCwgNjg5MjQsIAotICAgIDY4OTI4LCA2ODkzMiwgNjg5MzYsIDY4OTQwLCA2ODk0NCwgNjg5NDgsIDY4OTUyLCA2ODk1NiwgNjg5NjAsIDY4OTY0LCAKLSAgICA2ODk2OCwgNjg5NzIsIDY4OTc2LCA2ODk4MCwgNjg5ODQsIDY4OTg4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICA2ODk5MiwgNjg5OTcsIDY5MDAxLCA2OTAwNiwgNjkwMTEsIDY5MDE2LCA2OTAyMSwgNjkwMjYsIDY5MDMwLCA2OTAzNSwgCi0gICAgNjkwNDAsIDY5MDQ1LCA2OTA1MCwgNjkwNTUsIDY5MDYwLCA2OTA2NSwgNjkwNjksIDY5MDczLCA2OTA3OCwgNjkwODIsIAotICAgIDY5MDg3LCA2OTA5MiwgNjkwOTcsIDY5MTAxLCA2OTEwNiwgNjkxMTEsIDY5MTE2LCA2OTEyMSwgNjkxMjYsIDY5MTMwLCAKLSAgICA2OTEzNSwgNjkxMzksIDY5MTQ0LCA2OTE0OCwgNjkxNTMsIDY5MTU3LCA2OTE2MSwgNjkxNjUsIDY5MTcwLCA2OTE3NSwgCi0gICAgNjkxODAsIDY5MTg4LCA2OTE5NiwgNjkyMDQsIDY5MjEyLCA2OTIxOSwgNjkyMjcsIDY5MjMzLCA2OTI0MSwgNjkyNDUsIAotICAgIDY5MjQ5LCA2OTI1MywgNjkyNTcsIDY5MjYxLCA2OTI2NSwgNjkyNjksIDY5MjczLCA2OTI3NywgNjkyODEsIDY5Mjg1LCAKLSAgICA2OTI4OSwgNjkyOTMsIDY5Mjk3LCA2OTMwMSwgNjkzMDUsIDY5MzA5LCA2OTMxMywgNjkzMTcsIDY5MzIxLCA2OTMyNSwgCi0gICAgNjkzMjksIDY5MzMzLCA2OTMzNywgNjkzNDEsIDY5MzQ1LCA2OTM0OSwgNjkzNTMsIDY5MzU3LCA2OTM2MSwgNjkzNjUsIAotICAgIDY5MzY5LCA2OTM3MywgNjkzNzcsIDY5MzgxLCA2OTM4NSwgNjkzODgsIDY5MzkyLCA2OTM5NiwgNjk0MDAsIDY5NDA0LCAKLSAgICA2OTQwOCwgNjk0MTIsIDY5NDE2LCA2OTQyMCwgNjk0MjQsIDY5NDI4LCA2OTQzMiwgNjk0MzYsIDY5NDQwLCA2OTQ0NCwgCi0gICAgNjk0NDgsIDY5NDUyLCA2OTQ1NiwgNjk0NjAsIDY5NDY0LCA2OTQ2OCwgNjk0NzIsIDY5NDc2LCA2OTQ4MCwgNjk0ODQsIAotICAgIDY5NDg4LCA2OTQ5MiwgNjk0OTYsIDY5NTAwLCA2OTUwNCwgNjk1MDgsIDY5NTEyLCA2OTUxNiwgNjk1MjAsIDY5NTI0LCAKLSAgICA2OTUyOCwgNjk1MzIsIDY5NTM1LCA2OTUzOSwgNjk1NDMsIDY5NTQ2LCA2OTU1MCwgNjk1NTQsIDY5NTU4LCA2OTU2MSwgCi0gICAgNjk1NjUsIDY5NTY5LCA2OTU3MywgNjk1NzcsIDY5NTgxLCA2OTU4NSwgNjk1ODksIDY5NTkzLCA2OTU5NywgNjk2MDEsIAotICAgIDY5NjA1LCA2OTYwOSwgNjk2MTMsIDY5NjE3LCA2OTYyMCwgNjk2MjQsIDY5NjI4LCA2OTYzMSwgNjk2MzUsIDY5NjM5LCAKLSAgICA2OTY0MywgNjk2NDcsIDY5NjUxLCA2OTY1NSwgNjk2NTgsIDY5NjYxLCA2OTY2NSwgNjk2NjksIDY5NjczLCA2OTY3NiwgCi0gICAgNjk2NzksIDY5NjgzLCA2OTY4NywgNjk2OTEsIDY5Njk1LCA2OTY5OSwgNjk3MDMsIDY5NzA3LCA2OTcxMSwgNjk3MTUsIAotICAgIDY5NzE5LCA2OTcyMywgNjk3MjcsIDY5NzMxLCA2OTczNSwgNjk3MzksIDY5NzQzLCA2OTc0NywgNjk3NTEsIDY5NzU1LCAKLSAgICA2OTc1OSwgNjk3NjMsIDY5NzY3LCA2OTc3MSwgNjk3NzUsIDY5Nzc5LCA2OTc4MywgNjk3ODcsIDY5NzkxLCA2OTc5NSwgCi0gICAgNjk3OTksIDY5ODAzLCA2OTgwNywgNjk4MTEsIDY5ODE1LCA2OTgxOSwgNjk4MjMsIDY5ODI3LCA2OTgzMCwgNjk4MzQsIAotICAgIDY5ODM4LCA2OTg0MiwgNjk4NDYsIDY5ODUwLCA2OTg1NCwgNjk4NTgsIDY5ODYyLCA2OTg2NiwgNjk4NzAsIDY5ODc0LCAKLSAgICA2OTg3OCwgNjk4ODIsIDY5ODg2LCA2OTg5MCwgNjk4OTQsIDY5ODk4LCA2OTkwMiwgNjk5MDYsIDY5OTEwLCA2OTkxNCwgCi0gICAgNjk5MTgsIDY5OTIyLCA2OTkyNiwgNjk5MzAsIDY5OTM0LCA2OTkzOCwgNjk5NDIsIDY5OTQ2LCA2OTk1MCwgNjk5NTQsIAotICAgIDY5OTU4LCA2OTk2MiwgNjk5NjYsIDY5OTcwLCA2OTk3NCwgNjk5NzcsIDY5OTgxLCA2OTk4NSwgNjk5ODksIDY5OTkzLCAKLSAgICA2OTk5NywgNzAwMDEsIDcwMDA1LCA3MDAwOSwgNzAwMTMsIDcwMDE3LCA3MDAyMSwgNzAwMjUsIDcwMDI5LCA3MDAzMywgCi0gICAgNzAwMzcsIDcwMDQxLCA3MDA0NCwgNzAwNDgsIDcwMDUyLCA3MDA1NiwgNzAwNjAsIDcwMDY0LCA3MDA2OCwgNzAwNzIsIAotICAgIDcwMDc2LCA3MDA4MCwgNzAwODQsIDcwMDg4LCA3MDA5MiwgNzAwOTYsIDcwMTAwLCA3MDEwNCwgNzAxMDgsIDcwMTEyLCAKLSAgICA3MDExNiwgNzAxMjAsIDcwMTI0LCA3MDEyOCwgNzAxMzEsIDcwMTM1LCA3MDEzOSwgNzAxNDMsIDcwMTQ3LCA3MDE1MSwgCi0gICAgNzAxNTUsIDcwMTU5LCA3MDE2MywgNzAxNjcsIDcwMTcxLCA3MDE3NSwgNzAxNzksIDcwMTgzLCA3MDE4NywgNzAxOTEsIAotICAgIDcwMTk1LCA3MDE5OSwgNzAyMDMsIDcwMjA3LCA3MDIxMSwgNzAyMTUsIDcwMjE5LCA3MDIyMywgNzAyMjcsIDcwMjMxLCAKLSAgICA3MDIzNSwgNzAyMzksIDcwMjQzLCA3MDI0NywgNzAyNTEsIDcwMjU1LCA3MDI1OSwgNzAyNjMsIDcwMjY3LCA3MDI3MSwgCi0gICAgNzAyNzUsIDcwMjc5LCA3MDI4MywgNzAyODcsIDcwMjkxLCA3MDI5NSwgNzAyOTksIDcwMzAzLCA3MDMwNiwgNzAzMTEsIAotICAgIDcwMzE1LCA3MDMyMSwgNzAzMjYsIDcwMzMyLCA3MDMzNiwgNzAzNDAsIDcwMzQ0LCA3MDM0OCwgNzAzNTIsIDcwMzU2LCAKLSAgICA3MDM2MCwgNzAzNjQsIDcwMzY4LCA3MDM3MiwgNzAzNzYsIDcwMzgwLCA3MDM4NCwgNzAzODgsIDcwMzkxLCA3MDM5NCwgCi0gICAgNzAzOTcsIDcwNDAwLCA3MDQwMywgNzA0MDYsIDcwNDA5LCA3MDQxMiwgNzA0MTUsIDcwNDIwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA3MDQyNiwgNzA0MzEsIDcwNDM2LCA3MDQ0MSwgCi0gICAgNzA0NDYsIDcwNDUzLCA3MDQ2MCwgNzA0NjUsIDcwNDcwLCA3MDQ3NSwgNzA0ODAsIDcwNDg3LCA3MDQ5NCwgNzA1MDEsIAotICAgIDcwNTA4LCA3MDUxNSwgNzA1MjIsIDcwNTMyLCA3MDU0MiwgNzA1NDksIDcwNTU2LCA3MDU2MywgNzA1NzAsIDcwNTc2LCAKLSAgICA3MDU4MiwgNzA1OTEsIDcwNjAwLCA3MDYwNywgNzA2MTQsIDcwNjI1LCA3MDYzNiwgNzA2NDEsIDcwNjQ2LCA3MDY1MywgCi0gICAgNzA2NjAsIDcwNjY3LCA3MDY3NCwgNzA2ODEsIDcwNjg4LCA3MDY5NSwgNzA3MDIsIDcwNzA4LCA3MDcxNCwgNzA3MjAsIAotICAgIDcwNzI2LCA3MDczMywgNzA3NDAsIDcwNzQ1LCA3MDc0OSwgNzA3NTYsIDcwNzYzLCA3MDc3MCwgNzA3NzQsIDcwNzgxLCAKLSAgICA3MDc4NSwgNzA3OTAsIDcwNzk0LCA3MDgwMCwgNzA4MDUsIDcwODExLCA3MDgxNiwgNzA4MjAsIDcwODI0LCA3MDgyNywgCi0gICAgNzA4MzAsIDcwODM1LCA3MDg0MCwgNzA4NDUsIDcwODUwLCA3MDg1NSwgNzA4NjAsIDcwODY1LCA3MDg3MCwgNzA4NzUsIAotICAgIDcwODgwLCA3MDg4OSwgNzA4OTgsIDcwOTAzLCA3MDkwOCwgNzA5MTMsIDcwOTE4LCA3MDkyMywgNzA5MjgsIDcwOTMzLCAKLSAgICA3MDkzOCwgNzA5NDMsIDcwOTQ4LCA3MDk1MywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNzA5NTgsIDcwOTY0LCA3MDk2NywgCi0gICAgNzA5NzAsIDcwOTczLCA3MDk3NywgNzA5ODEsIDcwOTg1LCA3MDk4OSwgNzA5OTIsIDcwOTk2LCA3MDk5OSwgNzEwMDMsIAotICAgIDcxMDA2LCA3MTAxMCwgNzEwMTQsIDcxMDE4LCA3MTAyMiwgNzEwMjYsIDcxMDMwLCA3MTAzNCwgNzEwMzcsIDcxMDQxLCAKLSAgICA3MTA0NSwgNzEwNDksIDcxMDUzLCA3MTA1NywgNzEwNjEsIDcxMDY1LCA3MTA2OSwgNzEwNzMsIDcxMDc3LCA3MTA4MSwgCi0gICAgNzEwODUsIDcxMDg5LCA3MTA5MywgNzEwOTYsIDcxMTAwLCA3MTEwNCwgNzExMDgsIDcxMTEyLCA3MTExNiwgNzExMjAsIAotICAgIDcxMTI0LCA3MTEyOCwgNzExMzIsIDcxMTM2LCA3MTE0MCwgNzExNDQsIDcxMTQ4LCA3MTE1MiwgNzExNTYsIDcxMTYwLCAKLSAgICA3MTE2NCwgNzExNjgsIDcxMTcyLCA3MTE3NiwgNzExODAsIDcxMTg0LCA3MTE4OCwgNzExOTIsIDcxMTk1LCA3MTE5OSwgCi0gICAgNzEyMDMsIDcxMjA3LCA3MTIxMSwgNzEyMTUsIDcxMjE5LCA3MTIyMywgNzEyMjYsIDcxMjMwLCA3MTIzNCwgNzEyMzgsIAotICAgIDcxMjQyLCA3MTI0NiwgNzEyNTAsIDcxMjU0LCA3MTI1OCwgNzEyNjIsIDcxMjY2LCA3MTI3MCwgNzEyNzQsIDcxMjc5LCAKLSAgICA3MTI4NCwgNzEyODcsIDcxMjkyLCA3MTI5NSwgNzEyOTgsIDcxMzAxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA3MTMwNSwgCi0gICAgNzEzMTQsIDcxMzIzLCA3MTMzMiwgNzEzNDEsIDcxMzUwLCA3MTM1OSwgNzEzNjgsIDcxMzc3LCA3MTM4NSwgNzEzOTIsIAotICAgIDcxNDAwLCA3MTQwNywgNzE0MTUsIDcxNDI1LCA3MTQzNCwgNzE0NDQsIDcxNDUzLCA3MTQ2MywgNzE0NzEsIDcxNDc4LCAKLSAgICA3MTQ4NiwgNzE0OTMsIDcxNTAxLCA3MTUwNiwgNzE1MTEsIDcxNTE2LCA3MTUyNSwgNzE1MzEsIDcxNTM3LCA3MTU0NCwgCi0gICAgNzE1NTMsIDcxNTYxLCA3MTU2OSwgNzE1NzcsIDcxNTg0LCA3MTU5MSwgNzE1OTgsIDcxNjA1LCA3MTYxMCwgNzE2MTUsIAotICAgIDcxNjIwLCA3MTYyNSwgNzE2MzAsIDcxNjM1LCA3MTY0MCwgNzE2NDUsIDcxNjUzLCA3MTY2MSwgNzE2NjcsIDcxNjczLCAKLSAgICA3MTY3OCwgNzE2ODMsIDcxNjg4LCA3MTY5MywgNzE2OTgsIDcxNzAzLCA3MTcwOCwgNzE3MTMsIDcxNzIxLCA3MTcyOSwgCi0gICAgNzE3MzQsIDcxNzM5LCA3MTc0OSwgNzE3NTksIDcxNzY2LCA3MTc3MywgNzE3ODIsIDcxNzkxLCA3MTgwMywgNzE4MTUsIAotICAgIDcxODIxLCA3MTgyNywgNzE4MzUsIDcxODQzLCA3MTg1MywgNzE4NjMsIDcxODcwLCA3MTg3NywgNzE4ODIsIDcxODg3LCAKLSAgICA3MTg5OSwgNzE5MTEsIDcxOTE5LCA3MTkyNywgNzE5MzcsIDcxOTQ3LCA3MTk1OSwgNzE5NzEsIDcxOTgwLCA3MTk4OSwgCi0gICAgNzE5OTYsIDcyMDAzLCA3MjAxMCwgNzIwMTcsIDcyMDI2LCA3MjAzNSwgNzIwNDAsIDcyMDQ1LCA3MjA1MiwgNzIwNTksIAotICAgIDcyMDY2LCA3MjA3MywgNzIwODUsIDcyMDk3LCA3MjEwMiwgNzIxMDcsIDcyMTEyLCA3MjExNywgNzIxMjIsIDcyMTI3LCAKLSAgICA3MjEzMiwgNzIxMzcsIDcyMTQxLCA3MjE0NiwgNzIxNTEsIDcyMTU2LCA3MjE2MSwgNzIxNjYsIDcyMTcyLCA3MjE3NywgCi0gICAgNzIxODIsIDcyMTg5LCA3MjE5NiwgNzIyMDMsIDcyMjEwLCA3MjIxNywgNzIyMjYsIDcyMjM1LCA3MjI0MSwgNzIyNDcsIAotICAgIDcyMjUzLCA3MjI1OSwgNzIyNjYsIDcyMjczLCA3MjI4MCwgNzIyODcsIDcyMjk0LCA3MjI5OCwgNzIzMDUsIDcyMzEwLCAKLSAgICA3MjMxNSwgNzIzMjIsIDAsIDcyMzM1LCA3MjM0MywgNzIzNTEsIDcyMzU4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCA3MjM2NSwgNzIzNzQsIDcyMzgzLCA3MjM5MiwgNzI0MDEsIDcyNDEwLCA3MjQxOSwgNzI0MjgsIDcyNDM3LCAKLSAgICA3MjQ0NiwgNzI0NTUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDcyNDYyLCA3MjQ2OSwgNzI0NzUsIDcyNDgyLCA3MjQ5MCwgNzI0OTgsIAotICAgIDcyNTA1LCA3MjUxMywgNzI1MjAsIDcyNTI2LCA3MjUzMiwgNzI1MzksIDcyNTQ1LCA3MjU1MSwgNzI1NTcsIDcyNTY0LCAKLSAgICA3MjU3MSwgNzI1NzgsIDcyNTg1LCA3MjU5MiwgNzI1OTksIDcyNjA2LCA3MjYxMywgNzI2MjAsIDcyNjI3LCA3MjYzNCwgCi0gICAgNzI2NDEsIDcyNjQ4LCA3MjY1NSwgNzI2NjEsIDcyNjY4LCA3MjY3NSwgNzI2ODIsIDcyNjg5LCA3MjY5NiwgNzI3MDMsIAotICAgIDcyNzEwLCA3MjcxNywgNzI3MjQsIDcyNzMxLCA3MjczOCwgNzI3NDUsIDcyNzUyLCA3Mjc1OSwgNzI3NjYsIDcyNzczLCAKLSAgICA3Mjc4MCwgNzI3ODcsIDcyNzk1LCA3MjgwMywgNzI4MTEsIDcyODE5LCAwLCAwLCAwLCAwLCA3MjgyNywgNzI4MzYsIAotICAgIDcyODQ1LCA3Mjg1NCwgNzI4NjMsIDcyODcyLCA3Mjg4MSwgNzI4ODgsIDcyODk1LCA3MjkwMiwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgNzI5MDksIDcyOTEzLCA3MjkxOCwgNzI5MjMsIDcyOTI4LCA3MjkzMywgNzI5MzgsIDcyOTQzLCA3Mjk0OCwgNzI5NTMsIAotICAgIDcyOTU4LCA3Mjk2MywgNzI5NjcsIDcyOTcxLCA3Mjk3NiwgNzI5ODEsIDcyOTg1LCA3Mjk5MCwgNzI5OTUsIDczMDAwLCAKLSAgICA3MzAwNSwgNzMwMTAsIDczMDE1LCA3MzAyMCwgNzMwMjQsIDczMDI4LCA3MzAzMywgNzMwMzgsIDczMDQyLCA3MzA0NiwgCi0gICAgNzMwNTAsIDczMDU0LCA3MzA1OCwgNzMwNjIsIDczMDY2LCA3MzA3MSwgNzMwNzYsIDczMDgxLCA3MzA4NiwgNzMwOTEsIAotICAgIDczMDk4LCA3MzEwNCwgNzMxMDksIDczMTE0LCA3MzExOSwgNzMxMjQsIDczMTMwLCA3MzEzNywgNzMxNDMsIDczMTUwLCAKLSAgICA3MzE1NiwgNzMxNjIsIDczMTY3LCA3MzE3NCwgNzMxODAsIDczMTg1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA3MzE5MSwgCi0gICAgNzMxOTUsIDczMTk5LCA3MzIwMiwgNzMyMDYsIDczMjA5LCA3MzIxMywgNzMyMTYsIDczMjIwLCA3MzIyNCwgNzMyMjksIAotICAgIDczMjMzLCA3MzIzOCwgNzMyNDEsIDczMjQ1LCA3MzI0OSwgNzMyNTIsIDczMjU2LCA3MzI2MCwgNzMyNjMsIDczMjY3LCAKLSAgICA3MzI3MSwgNzMyNzUsIDczMjc5LCA3MzI4MywgNzMyODcsIDczMjkxLCA3MzI5NSwgNzMyOTksIDczMzAzLCA3MzMwNywgCi0gICAgNzMzMTEsIDczMzE1LCA3MzMxOSwgNzMzMjMsIDczMzI3LCA3MzMzMSwgNzMzMzUsIDczMzM4LCA3MzM0MSwgNzMzNDUsIAotICAgIDczMzQ5LCA3MzM1MywgNzMzNTYsIDczMzU5LCA3MzM2MiwgNzMzNjYsIDczMzcwLCA3MzM3NCwgNzMzNzgsIDczMzgxLCAKLSAgICA3MzM4NCwgNzMzODgsIDczMzkzLCA3MzM5OCwgNzM0MDIsIDczNDA3LCA3MzQxMSwgNzM0MTYsIDczNDIxLCA3MzQyNywgCi0gICAgNzM0MzIsIDczNDM4LCA3MzQ0MiwgNzM0NDcsIDczNDUyLCA3MzQ1NiwgNzM0NjEsIDczNDY2LCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCA3MzQ3MCwgNzM0NzMsIDczNDc3LCA3MzQ4MSwgNzM0ODQsIDczNDg3LCA3MzQ5MCwgNzM0OTMsIDczNDk2LCAKLSAgICA3MzQ5OSwgNzM1MDIsIDczNTA1LCAwLCAwLCAwLCAwLCAwLCAwLCA3MzUwOCwgNzM1MTMsIDczNTE3LCA3MzUyMSwgNzM1MjUsIAotICAgIDczNTI5LCA3MzUzMywgNzM1MzcsIDczNTQxLCA3MzU0NSwgNzM1NDksIDczNTUzLCA3MzU1NywgNzM1NjEsIDczNTY1LCAKLSAgICA3MzU2OSwgNzM1NzMsIDczNTc4LCA3MzU4MywgNzM1ODksIDczNTk1LCA3MzYwMiwgNzM2MDcsIDczNjEyLCA3MzYxOCwgCi0gICAgNzM2MjIsIDczNjI3LCA3MzYzMCwgMCwgMCwgMCwgMCwgNzM2MzMsIDczNjQwLCA3MzY0NiwgNzM2NTIsIDczNjU4LCAKLSAgICA3MzY2NCwgNzM2NzAsIDczNjc2LCA3MzY4MiwgNzM2ODgsIDczNjk0LCA3MzcwMCwgNzM3MDcsIDczNzE0LCA3MzcyMSwgCi0gICAgNzM3MjcsIDczNzM0LCA3Mzc0MSwgNzM3NDgsIDczNzU1LCA3Mzc2MiwgNzM3NjgsIDczNzc0LCA3Mzc4MSwgNzM3ODcsIAotICAgIDczNzk0LCA3MzgwMSwgNzM4MDcsIDczODEzLCA3MzgyMCwgNzM4MjcsIDczODM0LCA3Mzg0MCwgNzM4NDcsIDczODU0LCAKLSAgICA3Mzg2MCwgNzM4NjcsIDczODczLCA3Mzg4MCwgNzM4ODcsIDczODkzLCA3Mzg5OSwgNzM5MDYsIDczOTEyLCA3MzkxOSwgCi0gICAgNzM5MjYsIDczOTM1LCA3Mzk0MiwgNzM5NDksIDczOTUzLCA3Mzk1OCwgNzM5NjMsIDczOTY4LCA3Mzk3MywgNzM5NzcsIAotICAgIDczOTgxLCA3Mzk4NiwgNzM5OTAsIDczOTk1LCA3NDAwMCwgNzQwMDUsIDc0MDA5LCA3NDAxMywgNzQwMTgsIDc0MDIyLCAKLSAgICA3NDAyNywgNzQwMzEsIDc0MDM2LCA3NDA0MSwgNzQwNDYsIDc0MDUxLCA3NDA1NSwgNzQwNjAsIDc0MDY1LCA3NDA3MCwgCi0gICAgNzQwNzYsIDc0MDgxLCA3NDA4NywgNzQwOTMsIDc0MDk5LCA3NDEwNSwgNzQxMTEsIDc0MTE2LCA3NDEyMiwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNzQxMjYsIDc0MTMxLCA3NDEzNSwgNzQxMzksIDc0MTQzLCA3NDE0NywgNzQxNTEsIAotICAgIDc0MTU1LCA3NDE1OSwgNzQxNjMsIDc0MTY3LCA3NDE3MSwgNzQxNzUsIDc0MTc5LCA3NDE4MywgNzQxODcsIDc0MTkxLCAKLSAgICA3NDE5NSwgNzQxOTksIDc0MjAzLCA3NDIwNywgNzQyMTEsIDc0MjE1LCA3NDIxOSwgNzQyMjMsIDc0MjI3LCA3NDIzMSwgCi0gICAgNzQyMzUsIDc0MjM5LCA3NDI0MywgMCwgMCwgMCwgNzQyNDcsIDc0MjUxLCA3NDI1NSwgNzQyNTksIDc0MjYzLCA3NDI2NiwgCi0gICAgNzQyNzIsIDc0Mjc1LCA3NDI3OSwgNzQyODIsIDc0Mjg4LCA3NDI5NCwgNzQzMDIsIDc0MzA1LCA3NDMwOSwgNzQzMTIsIAotICAgIDc0MzE1LCA3NDMyMSwgNzQzMjcsIDc0MzMxLCA3NDMzNywgNzQzNDEsIDc0MzQ1LCA3NDM1MSwgNzQzNTUsIDc0MzYxLCAKLSAgICA3NDM2NywgNzQzNzEsIDc0Mzc1LCA3NDM4MSwgNzQzODUsIDc0MzkxLCA3NDM5NywgNzQ0MDEsIDc0NDA3LCA3NDQxMSwgCi0gICAgNzQ0MTcsIDc0NDIwLCA3NDQyMywgNzQ0MjksIDc0NDMzLCA3NDQzOSwgNzQ0NDIsIDc0NDQ1LCA3NDQ0OCwgNzQ0NTQsIAotICAgIDc0NDU4LCA3NDQ2MiwgNzQ0NjgsIDc0NDc0LCA3NDQ3NywgNzQ0ODAsIDc0NDg2LCA3NDQ5MSwgNzQ0OTYsIDc0NTAxLCAKLSAgICA3NDUwOCwgNzQ1MTMsIDc0NTIwLCA3NDUyNSwgNzQ1MzIsIDc0NTM3LCA3NDU0MiwgNzQ1NDcsIDc0NTUyLCA3NDU1NSwgCi0gICAgNzQ1NTksIDc0NTYzLCA3NDU2OCwgNzQ1NzMsIDc0NTc4LCA3NDU4MywgNzQ1ODgsIDc0NTkzLCA3NDU5OCwgNzQ2MDMsIAotICAgIDc0NjEwLCA3NDYxNSwgMCwgNzQ2MjIsIDc0NjI1LCA3NDYyOSwgNzQ2MzIsIDc0NjM1LCA3NDYzOCwgNzQ2NDEsIDc0NjQ0LCAKLSAgICA3NDY0NywgNzQ2NTAsIDc0NjUzLCAwLCAwLCAwLCAwLCA3NDY1NiwgNzQ2NjMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDc0NjY4LCA3NDY3MSwgNzQ2NzQsIDc0Njc3LCA3NDY4MCwgNzQ2ODQsIDc0Njg3LCA3NDY5MCwgNzQ2OTQsIDc0Njk4LCAKLSAgICA3NDcwMiwgNzQ3MDYsIDc0NzEwLCA3NDcxNCwgNzQ3MTgsIDc0NzIyLCA3NDcyNiwgNzQ3MzAsIDc0NzM0LCA3NDczOCwgCi0gICAgNzQ3NDIsIDc0NzQ2LCA3NDc1MCwgNzQ3NTQsIDc0NzU4LCA3NDc2MSwgNzQ3NjUsIDc0NzY4LCA3NDc3MiwgNzQ3NzYsIAotICAgIDc0NzgwLCA3NDc4NCwgNzQ3ODgsIDc0NzkxLCA3NDc5NSwgNzQ3OTgsIDc0ODAxLCA3NDgwNSwgNzQ4MDksIDc0ODEzLCAKLSAgICA3NDgxNiwgNzQ4MTksIDc0ODI0LCA3NDgyOCwgNzQ4MzMsIDc0ODM4LCA3NDg0MiwgNzQ4NDcsIDc0ODUxLCA3NDg1NiwgCi0gICAgNzQ4NjEsIDc0ODY2LCA3NDg3MCwgNzQ4NzQsIDc0ODc5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA3NDg4NCwgCi0gICAgNzQ4ODksIDc0ODk0LCA3NDg5OSwgNzQ5MDUsIDc0OTEwLCA3NDkxNSwgNzQ5MjAsIDc0OTI1LCA3NDkzMCwgNzQ5MzQsIAotICAgIDc0OTM4LCA3NDk0MywgNzQ5NDgsIDAsIDAsIDc0OTU0LCA3NDk1OCwgNzQ5NjEsIDc0OTY0LCA3NDk2NywgNzQ5NzAsIAotICAgIDc0OTczLCA3NDk3NiwgNzQ5NzksIDc0OTgyLCAwLCAwLCA3NDk4NSwgNzQ5OTAsIDc0OTk1LCA3NTAwMSwgNzUwMDgsIAotICAgIDc1MDE0LCA3NTAyMCwgNzUwMjYsIDc1MDMyLCA3NTAzOCwgNzUwNDQsIDc1MDUwLCA3NTA1NiwgNzUwNjIsIDc1MDY4LCAKLSAgICA3NTA3NCwgNzUwNzksIDc1MDg0LCA3NTA4OSwgNzUwOTUsIDc1MTAxLCA3NTEwOCwgNzUxMTQsIDc1MTIwLCA3NTEyNSwgCi0gICAgNzUxMzIsIDc1MTM5LCA3NTE0NiwgNzUxNTIsIDc1MTU3LCA3NTE2MiwgNzUxNjcsIDAsIDAsIDAsIDAsIDc1MTc1LCAKLSAgICA3NTE4MSwgNzUxODcsIDc1MTkzLCA3NTE5OSwgNzUyMDUsIDc1MjExLCA3NTIxNywgNzUyMjMsIDc1MjI5LCA3NTIzNSwgCi0gICAgNzUyNDEsIDc1MjQ3LCA3NTI1MywgNzUyNTksIDc1MjY1LCA3NTI3MSwgNzUyNzcsIDc1MjgzLCA3NTI4OSwgNzUyOTUsIAotICAgIDc1MzAwLCA3NTMwNSwgNzUzMTEsIDc1MzE3LCA3NTMyMywgNzUzMjksIDc1MzM1LCA3NTM0MSwgNzUzNDcsIDc1MzUzLCAKLSAgICA3NTM1OSwgNzUzNjUsIDc1MzcxLCA3NTM3NywgNzUzODMsIDc1Mzg5LCA3NTM5NSwgNzU0MDEsIDc1NDA3LCA3NTQxMywgCi0gICAgNzU0MTksIDc1NDI1LCA3NTQzMSwgNzU0MzcsIDc1NDQzLCA3NTQ0OSwgNzU0NTQsIDc1NDU5LCA3NTQ2NSwgNzU0NzAsIAotICAgIDc1NDc0LCA3NTQ3OSwgNzU0ODMsIDc1NDg3LCA3NTQ5MSwgNzU0OTcsIDc1NTAyLCA3NTUwNywgNzU1MTIsIDc1NTE3LCAKLSAgICA3NTUyMiwgNzU1MjcsIDc1NTMyLCA3NTUzOSwgNzU1NDYsIDc1NTUzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA3NTU2MCwgNzU1NjUsIDc1NTcwLCA3NTU3NSwgCi0gICAgNzU1ODIsIDc1NTg5LCA3NTU5MywgNzU1OTcsIDc1NjAyLCA3NTYwNywgNzU2MTIsIDc1NjE3LCA3NTYyMiwgNzU2MjcsIAotICAgIDc1NjMyLCA3NTYzNywgNzU2NDIsIDc1NjQ4LCA3NTY1NCwgNzU2NjAsIDc1NjY2LCA3NTY3MiwgNzU2NzYsIDc1NjgyLCAKLSAgICA3NTY4NiwgNzU2OTIsIDc1Njk5LCA3NTcwNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNzU3MDksIDc1NzEzLCAKLSAgICA3NTcxNywgNzU3MjEsIDc1NzI1LCA3NTcyOSwgMCwgMCwgNzU3MzMsIDc1NzM3LCA3NTc0MSwgNzU3NDUsIDc1NzQ5LCAKLSAgICA3NTc1MywgMCwgMCwgNzU3NTcsIDc1NzYxLCA3NTc2NSwgNzU3NjksIDc1NzczLCA3NTc3NywgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgNzU3ODEsIDc1Nzg1LCA3NTc4OSwgNzU3OTMsIDc1Nzk3LCA3NTgwMSwgNzU4MDUsIDAsIDc1ODA5LCAKLSAgICA3NTgxMywgNzU4MTcsIDc1ODIxLCA3NTgyNSwgNzU4MjksIDc1ODMzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCA5MTc3OSwgOTE3ODYsIDkxNzk1LCA5MTgwNCwgOTE4MTEsIDkxODE4LCA5MTgyNSwgOTE4MzIsIDkxODM5LCAKKyAgICA5MTg0NiwgOTE4NTIsIDkxODU5LCA5MTg2NiwgOTE4NzMsIDkxODgwLCA5MTg4NywgOTE4OTQsIDkxOTAxLCA5MTkwOCwgCisgICAgOTE5MTcsIDkxOTI0LCA5MTkzMSwgOTE5MzgsIDkxOTQ1LCA5MTk1MiwgOTE5NTksIDkxOTY2LCA5MTk3MywgOTE5ODIsIAorICAgIDkxOTg5LCA5MTk5NiwgOTIwMDMsIDkyMDEwLCA5MjAxNywgOTIwMjQsIDkyMDMzLCA5MjA0MCwgOTIwNDcsIDkyMDU0LCAKKyAgICA5MjA2MSwgOTIwNzAsIDkyMDc3LCA5MjA4NCwgOTIwOTEsIDkyMDk5LCA5MjEwOCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNzU4MzcsIDc1ODQyLCA3NTg0NywgNzU4NTIsIAotICAgIDc1ODU3LCA3NTg2MSwgNzU4NjUsIDc1ODcwLCA3NTg3NSwgNzU4ODAsIDc1ODg1LCA3NTg5MCwgNzU4OTUsIDc1OTAwLCAKLSAgICA3NTkwNSwgNzU5MTAsIDc1OTE0LCA3NTkxOSwgNzU5MjQsIDc1OTI5LCA3NTkzNCwgNzU5MzksIDc1OTQ0LCA3NTk0OSwgCi0gICAgNzU5NTQsIDc1OTU5LCA3NTk2NCwgNzU5NjksIDc1OTc2LCA3NTk4MywgNzU5OTAsIDc1OTk3LCA3NjAwNCwgNzYwMTEsIAotICAgIDc2MDE4LCA3NjAyNSwgNzYwMzEsIDc2MDM3LCA3NjA0MywgNzYwNDksIDc2MDU1LCA3NjA2MSwgNzYwNjcsIDc2MDczLCAKLSAgICA3NjA3NywgNzYwODMsIDAsIDAsIDc2MDg5LCA3NjA5NCwgNzYwOTgsIDc2MTAyLCA3NjEwNiwgNzYxMTAsIDc2MTE0LCAKLSAgICA3NjExOCwgNzYxMjIsIDc2MTI2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA3NjEzMCwgNzYxMzQsIDc2MTM4LCA3NjE0MiwgNzYxNDYsIAotICAgIDc2MTUwLCA3NjE1NCwgNzYxNTgsIDc2MTYyLCA3NjE2NiwgNzYxNzAsIDc2MTc0LCA3NjE3OCwgNzYxODIsIDc2MTg2LCAKLSAgICA3NjE5MCwgNzYxOTQsIDc2MTk4LCA3NjIwMiwgNzYyMDYsIDc2MjEwLCA3NjIxNCwgNzYyMTgsIDAsIDAsIDAsIDAsIAotICAgIDc2MjIyLCA3NjIyNiwgNzYyMzAsIDc2MjM0LCA3NjIzOCwgNzYyNDIsIDc2MjQ2LCA3NjI1MCwgNzYyNTQsIDc2MjU4LCAKLSAgICA3NjI2MiwgNzYyNjYsIDc2MjcwLCA3NjI3NCwgNzYyNzgsIDc2MjgyLCA3NjI4NiwgNzYyOTAsIDc2Mjk0LCA3NjI5OCwgCi0gICAgNzYzMDIsIDc2MzA2LCA3NjMxMCwgNzYzMTQsIDc2MzE4LCA3NjMyMiwgNzYzMjYsIDc2MzMwLCA3NjMzNCwgNzYzMzgsIAotICAgIDc2MzQyLCA3NjM0NiwgNzYzNTAsIDc2MzU0LCA3NjM1OCwgNzYzNjIsIDc2MzY2LCA3NjM3MCwgNzYzNzQsIDc2Mzc4LCAKLSAgICA3NjM4MiwgNzYzODYsIDc2MzkwLCA3NjM5NCwgNzYzOTgsIDc2NDAyLCA3NjQwNiwgNzY0MTAsIDc2NDE0LCAwLCAwLCAwLCAKLSAgICAwLCA3NjQxOCwgNzY0MjIsIDc2NDI2LCA3NjQzMCwgNzY0MzQsIDc2NDM4LCA3NjQ0MiwgNzY0NDYsIDc2NDUwLCA3NjQ1NCwgCi0gICAgNzY0NTgsIDc2NDYyLCA3NjQ2NiwgNzY0NzAsIDc2NDc0LCA3NjQ3OCwgNzY0ODIsIDc2NDg2LCA3NjQ5MCwgNzY0OTQsIAotICAgIDc2NDk4LCA3NjUwMiwgNzY1MDYsIDc2NTEwLCA3NjUxNCwgNzY1MTgsIDc2NTIyLCA3NjUyNiwgNzY1MzAsIDc2NTM0LCAKLSAgICA3NjUzOCwgNzY1NDIsIDc2NTQ2LCA3NjU1MCwgNzY1NTQsIDc2NTU4LCA3NjU2MiwgNzY1NjYsIDc2NTcwLCA3NjU3NCwgCi0gICAgNzY1NzgsIDc2NTgyLCA3NjU4NiwgNzY1OTAsIDc2NTk0LCA3NjU5OCwgNzY2MDIsIDc2NjA2LCA3NjYxMCwgNzY2MTQsIAotICAgIDc2NjE4LCA3NjYyMiwgNzY2MjYsIDc2NjMwLCA3NjYzNCwgNzY2MzgsIDc2NjQyLCA3NjY0NiwgNzY2NTAsIDc2NjU0LCAKLSAgICA3NjY1OCwgNzY2NjIsIDc2NjY2LCA3NjY3MCwgNzY2NzQsIDc2Njc4LCA3NjY4MiwgNzY2ODYsIDc2NjkwLCA3NjY5NCwgCi0gICAgNzY2OTgsIDc2NzAyLCA3NjcwNiwgNzY3MTAsIDc2NzE0LCA3NjcxOCwgNzY3MjIsIDc2NzI2LCA3NjczMCwgNzY3MzQsIAotICAgIDc2NzM4LCA3Njc0MiwgNzY3NDYsIDc2NzUwLCA3Njc1NCwgNzY3NTgsIDc2NzYyLCA3Njc2NiwgNzY3NzAsIDc2Nzc0LCAKLSAgICA3Njc3OCwgNzY3ODIsIDc2Nzg2LCA3Njc5MCwgNzY3OTQsIDc2Nzk4LCA3NjgwMiwgNzY4MDYsIDc2ODEwLCA3NjgxNCwgCi0gICAgNzY4MTgsIDc2ODIyLCA3NjgyNiwgNzY4MzAsIDc2ODM0LCA3NjgzOCwgNzY4NDIsIDc2ODQ2LCA3Njg1MCwgNzY4NTQsIAotICAgIDc2ODU4LCA3Njg2MiwgNzY4NjYsIDc2ODcwLCA3Njg3NCwgNzY4NzgsIDc2ODgyLCA3Njg4NiwgNzY4OTAsIDc2ODk0LCAKLSAgICA3Njg5OCwgNzY5MDIsIDc2OTA2LCA3NjkxMCwgNzY5MTQsIDc2OTE4LCA3NjkyMiwgNzY5MjYsIDc2OTMwLCA3NjkzNCwgCi0gICAgNzY5MzgsIDc2OTQyLCA3Njk0NiwgNzY5NTAsIDc2OTU0LCA3Njk1OCwgNzY5NjIsIDc2OTY2LCA3Njk3MCwgNzY5NzQsIAotICAgIDc2OTc4LCA3Njk4MiwgNzY5ODYsIDc2OTkwLCA3Njk5NCwgNzY5OTgsIDc3MDAyLCA3NzAwNiwgNzcwMTAsIDc3MDE0LCAKLSAgICA3NzAxOCwgNzcwMjIsIDc3MDI2LCA3NzAzMCwgNzcwMzQsIDc3MDM4LCA3NzA0MiwgNzcwNDYsIDc3MDUwLCA3NzA1NCwgCi0gICAgNzcwNTgsIDc3MDYyLCA3NzA2NiwgNzcwNzAsIDc3MDc0LCA3NzA3OCwgNzcwODIsIDc3MDg2LCA3NzA5MCwgNzcwOTQsIAotICAgIDc3MDk4LCA3NzEwMiwgNzcxMDYsIDc3MTEwLCA3NzExNCwgNzcxMTgsIDc3MTIyLCA3NzEyNiwgNzcxMzAsIDc3MTM0LCAKLSAgICA3NzEzOCwgNzcxNDIsIDc3MTQ2LCA3NzE1MCwgNzcxNTQsIDc3MTU4LCA3NzE2MiwgNzcxNjYsIDc3MTcwLCA3NzE3NCwgCi0gICAgNzcxNzgsIDc3MTgyLCA3NzE4NiwgNzcxOTAsIDc3MTk0LCA3NzE5OCwgNzcyMDIsIDc3MjA2LCA3NzIxMCwgNzcyMTQsIAotICAgIDc3MjE4LCA3NzIyMiwgNzcyMjYsIDc3MjMwLCA3NzIzNCwgNzcyMzgsIDc3MjQyLCA3NzI0NiwgNzcyNTAsIDc3MjU0LCAKLSAgICA3NzI1OCwgNzcyNjIsIDc3MjY2LCA3NzI3MCwgNzcyNzQsIDc3Mjc4LCA3NzI4MiwgNzcyODYsIDc3MjkwLCA3NzI5NCwgCi0gICAgNzcyOTgsIDc3MzAyLCA3NzMwNiwgNzczMTAsIDc3MzE0LCA3NzMxOCwgNzczMjIsIDc3MzI2LCA3NzMzMCwgNzczMzQsIAotICAgIDc3MzM4LCA3NzM0MiwgNzczNDYsIDc3MzUwLCA3NzM1NCwgNzczNTgsIDc3MzYyLCA3NzM2NiwgNzczNzAsIDc3Mzc0LCAKLSAgICA3NzM3OCwgNzczODIsIDc3Mzg2LCA3NzM5MCwgNzczOTQsIDc3Mzk4LCA3NzQwMiwgNzc0MDYsIDc3NDEwLCA3NzQxNCwgCi0gICAgNzc0MTgsIDc3NDIyLCA3NzQyNiwgNzc0MzAsIDc3NDM0LCA3NzQzOCwgNzc0NDIsIDc3NDQ2LCA3NzQ1MCwgNzc0NTQsIAotICAgIDc3NDU4LCA3NzQ2MiwgNzc0NjYsIDc3NDcwLCA3NzQ3NCwgNzc0NzgsIDc3NDgyLCA3NzQ4NiwgNzc0OTAsIDc3NDk0LCAKLSAgICA3NzQ5OCwgNzc1MDIsIDc3NTA2LCA3NzUxMCwgNzc1MTQsIDc3NTE4LCA3NzUyMiwgNzc1MjYsIDc3NTMwLCA3NzUzNCwgCi0gICAgNzc1MzgsIDc3NTQyLCA3NzU0NiwgNzc1NTAsIDc3NTU0LCA3NzU1OCwgNzc1NjIsIDc3NTY2LCA3NzU3MCwgNzc1NzQsIAotICAgIDc3NTc4LCA3NzU4MiwgNzc1ODYsIDc3NTkwLCA3NzU5NCwgNzc1OTgsIDc3NjAyLCA3NzYwNiwgNzc2MTAsIDc3NjE0LCAKLSAgICA3NzYxOCwgNzc2MjIsIDc3NjI2LCA3NzYzMCwgNzc2MzQsIDc3NjM4LCA3NzY0MiwgNzc2NDYsIDc3NjUwLCA3NzY1NCwgCi0gICAgNzc2NTgsIDc3NjYyLCA3NzY2NiwgNzc2NzAsIDc3Njc0LCA3NzY3OCwgNzc2ODIsIDc3Njg2LCA3NzY5MCwgNzc2OTQsIAotICAgIDc3Njk4LCA3NzcwMiwgNzc3MDYsIDc3NzEwLCA3NzcxNCwgNzc3MTgsIDc3NzIyLCA3NzcyNiwgNzc3MzAsIDc3NzM0LCAKLSAgICA3NzczOCwgNzc3NDIsIDc3NzQ2LCA3Nzc1MCwgNzc3NTQsIDc3NzU4LCA3Nzc2MiwgNzc3NjYsIDc3NzcwLCA3Nzc3NCwgCi0gICAgNzc3NzgsIDc3NzgyLCA3Nzc4NiwgNzc3OTAsIDc3Nzk0LCA3Nzc5OCwgNzc4MDIsIDc3ODA2LCA3NzgxMCwgNzc4MTQsIAotICAgIDc3ODE4LCA3NzgyMiwgNzc4MjYsIDc3ODMwLCA3NzgzNCwgNzc4MzgsIDc3ODQyLCA3Nzg0NiwgNzc4NTAsIDc3ODU0LCAKLSAgICA3Nzg1OCwgNzc4NjIsIDc3ODY2LCA3Nzg3MCwgNzc4NzQsIDc3ODc4LCAwLCAwLCA3Nzg4MiwgNzc4ODYsIDc3ODkwLCAKLSAgICA3Nzg5NCwgNzc4OTgsIDc3OTAyLCA3NzkwNiwgNzc5MTAsIDc3OTE0LCA3NzkxOCwgNzc5MjIsIDc3OTI2LCA3NzkzMCwgCi0gICAgNzc5MzQsIDc3OTM4LCA3Nzk0MiwgNzc5NDYsIDc3OTUwLCA3Nzk1NCwgNzc5NTgsIDc3OTYyLCA3Nzk2NiwgNzc5NzAsIAotICAgIDc3OTc0LCA3Nzk3OCwgNzc5ODIsIDc3OTg2LCA3Nzk5MCwgNzc5OTQsIDc3OTk4LCA3ODAwMiwgNzgwMDYsIDc4MDEwLCAKLSAgICA3ODAxNCwgNzgwMTgsIDc4MDIyLCA3ODAyNiwgNzgwMzAsIDc4MDM0LCA3ODAzOCwgNzgwNDIsIDc4MDQ2LCA3ODA1MCwgCi0gICAgNzgwNTQsIDc4MDU4LCA3ODA2MiwgNzgwNjYsIDc4MDcwLCA3ODA3NCwgNzgwNzgsIDc4MDgyLCA3ODA4NiwgNzgwOTAsIAotICAgIDc4MDk0LCA3ODA5OCwgNzgxMDIsIDc4MTA2LCA3ODExMCwgNzgxMTQsIDc4MTE4LCA3ODEyMiwgNzgxMjYsIDc4MTMwLCAKLSAgICA3ODEzNCwgNzgxMzgsIDc4MTQyLCA3ODE0NiwgNzgxNTAsIDc4MTU0LCA3ODE1OCwgNzgxNjIsIDc4MTY2LCA3ODE3MCwgCi0gICAgNzgxNzQsIDc4MTc4LCA3ODE4MiwgNzgxODYsIDc4MTkwLCA3ODE5NCwgNzgxOTgsIDc4MjAyLCA3ODIwNiwgNzgyMTAsIAotICAgIDc4MjE0LCA3ODIxOCwgNzgyMjIsIDc4MjI2LCA3ODIzMCwgNzgyMzQsIDc4MjM4LCA3ODI0MiwgNzgyNDYsIDc4MjUwLCAKLSAgICA3ODI1NCwgNzgyNTgsIDc4MjYyLCA3ODI2NiwgNzgyNzAsIDc4Mjc0LCA3ODI3OCwgNzgyODIsIDc4Mjg2LCA3ODI5MCwgCi0gICAgNzgyOTQsIDc4Mjk4LCA3ODMwMiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNzgzMDYsIAotICAgIDc4MzExLCA3ODMxNiwgNzgzMjEsIDc4MzI2LCA3ODMzMSwgNzgzMzksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDc4MzQ0LCA3ODM1MSwgNzgzNTgsIDc4MzY1LCA3ODM3MiwgMCwgMCwgMCwgMCwgMCwgNzgzNzksIDc4Mzg2LCAKLSAgICA3ODM5MywgNzg0MDMsIDc4NDA5LCA3ODQxNSwgNzg0MjEsIDc4NDI3LCA3ODQzMywgNzg0MzksIDc4NDQ2LCA3ODQ1MiwgCi0gICAgNzg0NTgsIDc4NDY0LCA3ODQ3MywgNzg0ODIsIDc4NDk0LCA3ODUwNiwgNzg1MTIsIDc4NTE4LCA3ODUyNCwgNzg1MzEsIAotICAgIDc4NTM4LCA3ODU0NSwgNzg1NTIsIDc4NTU5LCAwLCA3ODU2NiwgNzg1NzMsIDc4NTgwLCA3ODU4OCwgNzg1OTUsIDAsIAotICAgIDc4NjAyLCAwLCA3ODYwOSwgNzg2MTYsIDAsIDc4NjIzLCA3ODYzMSwgMCwgNzg2MzgsIDc4NjQ1LCA3ODY1MiwgNzg2NTksIAotICAgIDc4NjY2LCA3ODY3MywgNzg2ODAsIDc4Njg3LCA3ODY5NCwgNzg3MDEsIDc4NzA2LCA3ODcxMywgNzg3MjAsIDc4NzI2LCAKLSAgICA3ODczMiwgNzg3MzgsIDc4NzQ0LCA3ODc1MCwgNzg3NTYsIDc4NzYyLCA3ODc2OCwgNzg3NzQsIDc4NzgwLCA3ODc4NiwgCi0gICAgNzg3OTIsIDc4Nzk4LCA3ODgwNCwgNzg4MTAsIDc4ODE2LCA3ODgyMiwgNzg4MjgsIDc4ODM0LCA3ODg0MCwgNzg4NDYsIAotICAgIDc4ODUyLCA3ODg1OCwgNzg4NjQsIDc4ODcwLCA3ODg3NiwgNzg4ODIsIDc4ODg4LCA3ODg5NCwgNzg5MDAsIDc4OTA2LCAKLSAgICA3ODkxMiwgNzg5MTgsIDc4OTI0LCA3ODkzMCwgNzg5MzYsIDc4OTQyLCA3ODk0OCwgNzg5NTQsIDc4OTYwLCA3ODk2NiwgCi0gICAgNzg5NzIsIDc4OTc4LCA3ODk4NCwgNzg5OTAsIDc4OTk2LCA3OTAwMiwgNzkwMDgsIDc5MDE0LCA3OTAyMCwgNzkwMjYsIAotICAgIDc5MDMyLCA3OTAzOCwgNzkwNDQsIDc5MDUwLCA3OTA1NiwgNzkwNjIsIDc5MDY4LCA3OTA3NCwgNzkwODAsIDc5MDg2LCAKLSAgICA3OTA5MiwgNzkwOTgsIDc5MTA0LCA3OTExMCwgNzkxMTYsIDc5MTIyLCA3OTEyOCwgNzkxMzQsIDc5MTQwLCA3OTE0NiwgCi0gICAgNzkxNTIsIDc5MTU4LCA3OTE2NCwgNzkxNzAsIDc5MTc2LCA3OTE4NCwgNzkxOTIsIDc5MTk4LCA3OTIwNCwgNzkyMTAsIAotICAgIDc5MjE2LCA3OTIyNSwgNzkyMzQsIDc5MjQyLCA3OTI1MCwgNzkyNTgsIDc5MjY2LCA3OTI3NCwgNzkyODIsIDc5MjkwLCAKLSAgICA3OTI5OCwgNzkzMDUsIDc5MzEyLCA3OTMyMiwgNzkzMzIsIDc5MzM2LCA3OTM0MCwgNzkzNDUsIDc5MzUwLCA3OTM1NSwgCi0gICAgNzkzNjAsIDc5MzY5LCA3OTM3OCwgNzkzODQsIDc5MzkwLCA3OTM5NywgNzk0MDQsIDc5NDExLCA3OTQxNSwgNzk0MjEsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDc5NDI3LCA3OTQzMywgNzk0MzksIAotICAgIDc5NDQ1LCA3OTQ1MSwgNzk0NTYsIDc5NDYxLCA3OTQ2NywgNzk0NzMsIDc5NDc5LCA3OTQ4NSwgNzk0OTMsIDc5NDk5LCAKLSAgICA3OTUwNSwgNzk1MTMsIDc5NTIxLCA3OTUyOSwgNzk1MzcsIDc5NTQyLCA3OTU0NywgNzk1NTIsIDc5NTU3LCA3OTU3MCwgCi0gICAgNzk1ODMsIDc5NTkzLCA3OTYwMywgNzk2MTQsIDc5NjI1LCA3OTYzNiwgNzk2NDcsIDc5NjU3LCA3OTY2NywgNzk2NzgsIAotICAgIDc5Njg5LCA3OTcwMCwgNzk3MTEsIDc5NzIxLCA3OTczMSwgNzk3NDEsIDc5NzU3LCA3OTc3MywgNzk3ODksIDc5Nzk2LCAKLSAgICA3OTgwMywgNzk4MTAsIDc5ODE3LCA3OTgyNywgNzk4MzcsIDc5ODQ3LCA3OTg1OSwgNzk4NjksIDc5ODc3LCA3OTg4NSwgCi0gICAgNzk4OTQsIDc5OTAyLCA3OTkxMiwgNzk5MjAsIDc5OTI4LCA3OTkzNiwgNzk5NDUsIDc5OTUzLCA3OTk2MywgNzk5NzEsIAotICAgIDc5OTc5LCA3OTk4NywgNzk5OTcsIDgwMDA1LCA4MDAxMiwgODAwMTksIDgwMDI2LCA4MDAzMywgODAwNDEsIDgwMDQ5LCAKLSAgICA4MDA1NywgODAwNjUsIDgwMDczLCA4MDA4MiwgODAwOTAsIDgwMDk4LCA4MDEwNiwgODAxMTQsIDgwMTIyLCA4MDEzMSwgCi0gICAgODAxMzksIDgwMTQ3LCA4MDE1NSwgODAxNjMsIDgwMTcxLCA4MDE3OSwgODAxODcsIDgwMTk1LCA4MDIwMywgODAyMTEsIAotICAgIDgwMjIwLCA4MDIyOCwgODAyMzgsIDgwMjQ2LCA4MDI1NCwgODAyNjIsIDgwMjcyLCA4MDI4MCwgODAyODgsIDgwMjk2LCAKLSAgICA4MDMwNCwgODAzMTMsIDgwMzIyLCA4MDMzMCwgODAzNDAsIDgwMzQ4LCA4MDM1NiwgODAzNjQsIDgwMzczLCA4MDM4MSwgCi0gICAgODAzOTEsIDgwMzk5LCA4MDQwNiwgODA0MTMsIDgwNDIxLCA4MDQyOCwgODA0MzcsIDgwNDQ0LCA4MDQ1MiwgODA0NjAsIAotICAgIDgwNDY5LCA4MDQ3NywgODA0ODcsIDgwNDk1LCA4MDUwMywgODA1MTEsIDgwNTIxLCA4MDUyOSwgODA1MzYsIDgwNTQzLCAKLSAgICA4MDU1MSwgODA1NTgsIDgwNTY3LCA4MDU3NCwgODA1ODQsIDgwNTk0LCA4MDYwNSwgODA2MTQsIDgwNjIzLCA4MDYzMiwgCi0gICAgODA2NDEsIDgwNjUwLCA4MDY2MCwgODA2NzEsIDgwNjgyLCA4MDY5MiwgODA3MDMsIDgwNzE1LCA4MDcyNSwgODA3MzQsIAotICAgIDgwNzQzLCA4MDc1MSwgODA3NjAsIDgwNzcwLCA4MDc3OCwgODA3ODcsIDgwNzk2LCA4MDgwNCwgODA4MTMsIDgwODIzLCAKLSAgICA4MDgzMSwgODA4NDAsIDgwODQ5LCA4MDg1NywgODA4NjYsIDgwODc2LCA4MDg4NCwgODA4OTQsIDgwOTAyLCA4MDkxMiwgCi0gICAgODA5MjAsIDgwOTI4LCA4MDkzNywgODA5NDUsIDgwOTU1LCA4MDk2MywgODA5NzEsIDgwOTgxLCA4MDk4OSwgODA5OTYsIAotICAgIDgxMDAzLCA4MTAxMiwgODEwMjEsIDgxMDI5LCA4MTAzOCwgODEwNDgsIDgxMDU2LCA4MTA2NywgODEwNzUsIDgxMDgzLCAKLSAgICA4MTA5MCwgODEwOTgsIDgxMTA3LCA4MTExNCwgODExMjQsIDgxMTM0LCA4MTE0NSwgODExNTUsIDgxMTY2LCA4MTE3NCwgCi0gICAgODExODIsIDgxMTkxLCA4MTE5OSwgODEyMDgsIDgxMjE2LCA4MTIyNCwgODEyMzMsIDgxMjQxLCA4MTI1MCwgODEyNTgsIAotICAgIDgxMjY1LCA4MTI3MiwgODEyNzksIDgxMjg2LCA4MTI5NCwgODEzMDIsIDgxMzEwLCA4MTMxOCwgODEzMjcsIDgxMzM1LCAKLSAgICA4MTM0MywgODEzNTIsIDgxMzYwLCA4MTM2OCwgODEzNzYsIDgxMzg1LCA4MTM5MywgODE0MDEsIDgxNDA5LCA4MTQxNywgCi0gICAgODE0MjUsIDgxNDMzLCA4MTQ0MSwgODE0NDksIDgxNDU3LCA4MTQ2NiwgODE0NzQsIDgxNDgyLCA4MTQ5MCwgODE0OTgsIAotICAgIDgxNTA2LCA4MTUxNSwgODE1MjQsIDgxNTMyLCA4MTU0MCwgODE1NDgsIDgxNTU3LCA4MTU2NSwgODE1NzQsIDgxNTgxLCAKLSAgICA4MTU4OCwgODE1OTYsIDgxNjAzLCA4MTYxMSwgODE2MTksIDgxNjI4LCA4MTYzNiwgODE2NDUsIDgxNjUzLCA4MTY2MSwgCi0gICAgODE2NzEsIDgxNjc4LCA4MTY4NSwgODE2OTMsIDgxNzAwLCA4MTcwOCwgODE3MTgsIDgxNzI5LCA4MTczNywgODE3NDYsIAotICAgIDgxNzU0LCA4MTc2MywgODE3NzEsIDgxNzgwLCA4MTc4OCwgODE3OTcsIDgxODA1LCA4MTgxNCwgODE4MjMsIDgxODMxLCAKLSAgICA4MTgzOSwgODE4NDcsIDgxODU2LCA4MTg2MywgODE4NzEsIDgxODgwLCA4MTg4OSwgODE4OTgsIDgxOTA4LCA4MTkxNiwgCi0gICAgODE5MjYsIDgxOTM0LCA4MTk0NCwgODE5NTIsIDgxOTYyLCA4MTk3MCwgODE5ODAsIDgxOTg4LCA4MTk5NywgODIwMDQsIAotICAgIDgyMDEzLCA4MjAyMCwgODIwMzAsIDgyMDM4LCA4MjA0OCwgODIwNTYsIDgyMDY2LCA4MjA3NCwgODIwODIsIDgyMDkwLCAKLSAgICA4MjA5OSwgODIxMDcsIDgyMTE2LCA4MjEyNSwgODIxMzQsIDgyMTQzLCA4MjE1MywgODIxNjEsIDgyMTcxLCA4MjE3OSwgCi0gICAgODIxODksIDgyMTk3LCA4MjIwNywgODIyMTUsIDgyMjI1LCA4MjIzMywgODIyNDIsIDgyMjQ5LCA4MjI1OCwgODIyNjUsIAotICAgIDgyMjc1LCA4MjI4MywgODIyOTMsIDgyMzAxLCA4MjMxMSwgODIzMTksIDgyMzI3LCA4MjMzNSwgODIzNDQsIDgyMzUyLCAKLSAgICA4MjM2MSwgODIzNzAsIDgyMzc5LCA4MjM4OCwgODIzOTYsIDgyNDA0LCA4MjQxMywgODI0MjEsIDgyNDMwLCA4MjQzOSwgCi0gICAgODI0NDcsIDgyNDU1LCA4MjQ2MywgODI0NzIsIDgyNDgwLCA4MjQ4OCwgODI0OTcsIDgyNTA1LCA4MjUxMywgODI1MjEsIAotICAgIDgyNTI5LCA4MjUzNCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgODI1MzksIAotICAgIDgyNTQ5LCA4MjU1OSwgODI1NjksIDgyNTc5LCA4MjU5MCwgODI2MDAsIDgyNjEwLCA4MjYyMSwgODI2MzAsIDgyNjM5LCAKLSAgICA4MjY0OCwgODI2NTksIDgyNjY5LCA4MjY3OSwgODI2OTEsIDgyNzAxLCA4MjcxMSwgODI3MjEsIDgyNzMxLCA4Mjc0MSwgCi0gICAgODI3NTEsIDgyNzYxLCA4Mjc3MSwgODI3ODEsIDgyNzkxLCA4MjgwMSwgODI4MTIsIDgyODIzLCA4MjgzMywgODI4NDMsIAotICAgIDgyODU1LCA4Mjg2NiwgODI4NzcsIDgyODg3LCA4Mjg5NywgODI5MDcsIDgyOTE3LCA4MjkyNywgODI5MzcsIDgyOTQ3LCAKLSAgICA4Mjk1OSwgODI5NjksIDgyOTc5LCA4Mjk5MSwgODMwMDIsIDgzMDEzLCA4MzAyMywgODMwMzMsIDgzMDQzLCA4MzA1MywgCi0gICAgODMwNjUsIDgzMDc1LCA4MzA4NSwgODMwOTYsIDgzMTA3LCA4MzExNywgODMxMjcsIDgzMTM2LCA4MzE0NSwgODMxNTQsIAotICAgIDgzMTYzLCA4MzE3MiwgODMxODIsIDAsIDAsIDgzMTkyLCA4MzIwMiwgODMyMTIsIDgzMjIyLCA4MzIzMiwgODMyNDQsIAotICAgIDgzMjU0LCA4MzI2NCwgODMyNzYsIDgzMjg2LCA4MzI5OCwgODMzMDcsIDgzMzE2LCA4MzMyNywgODMzMzcsIDgzMzQ5LCAKLSAgICA4MzM2MCwgODMzNzMsIDgzMzgzLCA4MzM5NSwgODM0MDQsIDgzNDE1LCA4MzQyNiwgODM0MzksIDgzNDQ5LCA4MzQ1OSwgCi0gICAgODM0NjksIDgzNDc5LCA4MzQ4OSwgODM0OTgsIDgzNTA3LCA4MzUxNiwgODM1MjUsIDgzNTM1LCA4MzU0NSwgODM1NTUsIAotICAgIDgzNTY1LCA4MzU3NSwgODM1ODUsIDgzNTk1LCA4MzYwNSwgODM2MTUsIDgzNjI1LCA4MzYzNSwgODM2NDUsIDgzNjU0LCAKLSAgICA4MzY2MywgODM2NzIsIDgzNjgyLCA4MzY5MiwgODM3MDIsIDgzNzEyLCA4MzcyMiwgODM3MzMsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDgzNzQzLCA4Mzc1OCwgODM3NzMsIDgzNzc5LCA4Mzc4NSwgODM3OTEsIAotICAgIDgzNzk3LCA4MzgwMywgODM4MDksIDgzODE1LCA4MzgyMSwgODM4MjksIDgzODMzLCA4MzgzNiwgMCwgMCwgODM4NDQsIAotICAgIDgzODQ3LCA4Mzg1MCwgODM4NTMsIDgzODU2LCA4Mzg1OSwgODM4NjIsIDgzODY1LCA4Mzg2OCwgODM4NzEsIDgzODc0LCAKLSAgICA4Mzg3NywgODM4ODAsIDgzODgzLCA4Mzg4NiwgODM4ODksIDgzODkyLCA4MzkwMCwgODM5MDksIDgzOTIwLCA4MzkyOCwgCi0gICAgODM5MzYsIDgzOTQ1LCA4Mzk1NCwgODM5NjUsIDgzOTc3LCAwLCAwLCAwLCAwLCAwLCAwLCA4Mzk4NiwgODM5OTEsIDgzOTk2LCAKLSAgICA4NDAwMywgODQwMTAsIDg0MDE2LCA4NDAyMiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgODQwMjcsIDg0MDM3LCAKLSAgICA4NDA0NywgODQwNTcsIDg0MDY2LCA4NDA3NywgODQwODYsIDg0MDk1LCA4NDEwNSwgODQxMTUsIDg0MTI3LCA4NDEzOSwgCi0gICAgODQxNTAsIDg0MTYxLCA4NDE3MiwgODQxODMsIDg0MTkzLCA4NDIwMywgODQyMTMsIDg0MjIzLCA4NDIzNCwgODQyNDUsIAotICAgIDg0MjQ5LCA4NDI1NCwgODQyNjMsIDg0MjcyLCA4NDI3NiwgODQyODAsIDg0Mjg0LCA4NDI4OSwgODQyOTQsIDg0Mjk5LCAKLSAgICA4NDMwNCwgODQzMDcsIDg0MzExLCAwLCA4NDMxNiwgODQzMTksIDg0MzIyLCA4NDMyNiwgODQzMzAsIDg0MzM1LCA4NDMzOSwgCi0gICAgODQzNDMsIDg0MzQ4LCA4NDM1MywgODQzNjAsIDg0MzY3LCA4NDM3MCwgODQzNzMsIDg0Mzc2LCA4NDM3OSwgODQzODIsIAotICAgIDg0Mzg2LCA4NDM5MCwgMCwgODQzOTQsIDg0Mzk5LCA4NDQwMywgODQ0MDcsIDAsIDAsIDAsIDAsIDg0NDEyLCA4NDQxNywgCi0gICAgODQ0MjQsIDg0NDI5LCA4NDQzNCwgMCwgODQ0MzksIDg0NDQ0LCA4NDQ0OSwgODQ0NTQsIDg0NDU5LCA4NDQ2NCwgODQ0NjksIAotICAgIDg0NDc0LCA4NDQ3OSwgODQ0ODQsIDg0NDg5LCA4NDQ5NCwgODQ1MDMsIDg0NTEyLCA4NDUyMCwgODQ1MjgsIDg0NTM3LCAKLSAgICA4NDU0NiwgODQ1NTUsIDg0NTY0LCA4NDU3MiwgODQ1ODAsIDg0NTg4LCA4NDU5NiwgODQ2MDEsIDg0NjA2LCA4NDYxMiwgCi0gICAgODQ2MTgsIDg0NjI0LCA4NDYzMCwgODQ2MzgsIDg0NjQ2LCA4NDY1MiwgODQ2NTgsIDg0NjY0LCA4NDY3MCwgODQ2NzYsIAotICAgIDg0NjgyLCA4NDY4OCwgODQ2OTQsIDg0Njk5LCA4NDcwNCwgODQ3MDksIDg0NzE0LCA4NDcxOSwgODQ3MjQsIDg0NzI5LCAKLSAgICA4NDczNCwgODQ3NDAsIDg0NzQ2LCA4NDc1MiwgODQ3NTgsIDg0NzY0LCA4NDc3MCwgODQ3NzYsIDg0NzgyLCA4NDc4OCwgCi0gICAgODQ3OTQsIDg0ODAwLCA4NDgwNiwgODQ4MTIsIDg0ODE4LCA4NDgyNCwgODQ4MzAsIDg0ODM2LCA4NDg0MiwgODQ4NDgsIAotICAgIDg0ODU0LCA4NDg2MCwgODQ4NjYsIDg0ODcyLCA4NDg3OCwgODQ4ODQsIDg0ODkwLCA4NDg5NiwgODQ5MDIsIDg0OTA4LCAKLSAgICA4NDkxNCwgODQ5MjAsIDg0OTI2LCA4NDkzMiwgODQ5MzgsIDg0OTQ0LCA4NDk1MCwgODQ5NTYsIDg0OTYyLCA4NDk2OCwgCi0gICAgODQ5NzQsIDg0OTgwLCA4NDk4NiwgODQ5OTIsIDg0OTk4LCA4NTAwNCwgODUwMTAsIDg1MDE2LCA4NTAyMiwgODUwMjgsIAotICAgIDg1MDM0LCA4NTA0MCwgODUwNDYsIDg1MDUyLCA4NTA1OCwgODUwNjQsIDg1MDcwLCA4NTA3NiwgODUwODIsIDg1MDg4LCAKLSAgICA4NTA5NCwgODUwOTksIDg1MTA0LCA4NTEwOSwgODUxMTQsIDg1MTIwLCA4NTEyNiwgODUxMzIsIDg1MTM4LCA4NTE0NCwgCi0gICAgODUxNTAsIDg1MTU2LCA4NTE2MiwgODUxNjgsIDg1MTc0LCA4NTE4MSwgODUxODgsIDg1MTkzLCA4NTE5OCwgODUyMDMsIAotICAgIDg1MjA4LCA4NTIyMCwgODUyMzIsIDg1MjQzLCA4NTI1NCwgODUyNjYsIDg1Mjc4LCA4NTI4NiwgMCwgMCwgODUyOTQsIDAsIAotICAgIDg1MzAyLCA4NTMwNiwgODUzMTAsIDg1MzEzLCA4NTMxNywgODUzMjEsIDg1MzI0LCA4NTMyNywgODUzMzEsIDg1MzM1LCAKLSAgICA4NTMzOCwgODUzNDEsIDg1MzQ0LCA4NTM0NywgODUzNTIsIDg1MzU1LCA4NTM1OSwgODUzNjIsIDg1MzY1LCA4NTM2OCwgCi0gICAgODUzNzEsIDg1Mzc0LCA4NTM3NywgODUzODAsIDg1MzgzLCA4NTM4NiwgODUzODksIDg1MzkyLCA4NTM5NiwgODU0MDAsIAotICAgIDg1NDA0LCA4NTQwOCwgODU0MTMsIDg1NDE4LCA4NTQyNCwgODU0MzAsIDg1NDM2LCA4NTQ0MSwgODU0NDcsIDg1NDUzLCAKLSAgICA4NTQ1OSwgODU0NjQsIDg1NDcwLCA4NTQ3NiwgODU0ODEsIDg1NDg2LCA4NTQ5MiwgODU0OTcsIDg1NTAzLCA4NTUwOSwgCi0gICAgODU1MTQsIDg1NTIwLCA4NTUyNiwgODU1MzEsIDg1NTM3LCA4NTU0MywgODU1NDksIDg1NTU1LCA4NTU2MSwgODU1NjUsIAotICAgIDg1NTcwLCA4NTU3NCwgODU1NzksIDg1NTgzLCA4NTU4OCwgODU1OTMsIDg1NTk5LCA4NTYwNSwgODU2MTEsIDg1NjE2LCAKLSAgICA4NTYyMiwgODU2MjgsIDg1NjM0LCA4NTYzOSwgODU2NDUsIDg1NjUxLCA4NTY1NiwgODU2NjEsIDg1NjY3LCA4NTY3MiwgCi0gICAgODU2NzgsIDg1Njg0LCA4NTY4OSwgODU2OTUsIDg1NzAxLCA4NTcwNiwgODU3MTIsIDg1NzE4LCA4NTcyNCwgODU3MzAsIAotICAgIDg1NzM2LCA4NTc0MSwgODU3NDUsIDg1NzUwLCA4NTc1MiwgODU3NTcsIDg1NzYyLCA4NTc2OCwgODU3NzMsIDg1Nzc4LCAKLSAgICA4NTc4MiwgODU3ODgsIDg1NzkzLCA4NTc5OCwgODU4MDMsIDg1ODA4LCA4NTgxMywgODU4MTgsIDg1ODIzLCA4NTgyOSwgCi0gICAgODU4MzUsIDg1ODQxLCA4NTg0OSwgODU4NTMsIDg1ODU3LCA4NTg2MSwgODU4NjUsIDg1ODY5LCA4NTg3MywgODU4NzgsIAotICAgIDg1ODgzLCA4NTg4OCwgODU4OTMsIDg1ODk3LCA4NTkwMiwgODU5MDcsIDg1OTEyLCA4NTkxNywgODU5MjIsIDg1OTI3LCAKLSAgICA4NTkzMiwgODU5MzcsIDg1OTQxLCA4NTk0NSwgODU5NTAsIDg1OTU1LCA4NTk2MCwgODU5NjUsIDg1OTY5LCA4NTk3NCwgCi0gICAgODU5NzksIDg1OTg0LCA4NTk4OSwgODU5OTMsIDg1OTk4LCA4NjAwMywgODYwMDgsIDg2MDEzLCA4NjAxNywgODYwMjIsIAotICAgIDg2MDI3LCA4NjAzMSwgODYwMzYsIDg2MDQxLCA4NjA0NiwgODYwNTEsIDg2MDU2LCA4NjA2MSwgODYwNjgsIDg2MDc1LCAKLSAgICA4NjA3OSwgODYwODQsIDg2MDg5LCA4NjA5NCwgODYwOTksIDg2MTA0LCA4NjEwOSwgODYxMTQsIDg2MTE5LCA4NjEyNCwgCi0gICAgODYxMjksIDg2MTM0LCA4NjEzOSwgODYxNDQsIDg2MTQ5LCA4NjE1NCwgODYxNTksIDg2MTY0LCA4NjE2OSwgODYxNzQsIAotICAgIDg2MTc5LCA4NjE4NCwgODYxODksIDg2MTk0LCA4NjE5OSwgODYyMDQsIDg2MjA5LCA4NjIxNCwgODYyMTksIDg2MjI0LCAwLCAKLSAgICAwLCAwLCA4NjIyOSwgODYyMzMsIDg2MjM4LCA4NjI0MiwgODYyNDcsIDg2MjUyLCAwLCAwLCA4NjI1NiwgODYyNjEsIAotICAgIDg2MjY2LCA4NjI3MCwgODYyNzUsIDg2MjgwLCAwLCAwLCA4NjI4NSwgODYyOTAsIDg2Mjk0LCA4NjI5OSwgODYzMDQsIAotICAgIDg2MzA5LCAwLCAwLCA4NjMxNCwgODYzMTksIDg2MzI0LCAwLCAwLCAwLCA4NjMyOCwgODYzMzIsIDg2MzM2LCA4NjM0MCwgCi0gICAgODYzNDMsIDg2MzQ3LCA4NjM1MSwgMCwgODYzNTUsIDg2MzYxLCA4NjM2NCwgODYzNjgsIDg2MzcxLCA4NjM3NSwgODYzNzksIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDg2MzgzLCA4NjM4OSwgODYzOTUsIDg2NDAxLCA4NjQwNywgMCwgMCwgCi0gICAgODY0MTEsIDg2NDE3LCA4NjQyMywgODY0MjksIDg2NDM1LCA4NjQ0MSwgODY0NDgsIDg2NDU1LCA4NjQ2MiwgODY0NjksIAotICAgIDg2NDc2LCA4NjQ4MywgMCwgODY0OTAsIDg2NDk3LCA4NjUwNCwgODY1MTAsIDg2NTE3LCA4NjUyNCwgODY1MzEsIDg2NTM4LCAKLSAgICA4NjU0NCwgODY1NTEsIDg2NTU4LCA4NjU2NSwgODY1NzIsIDg2NTc4LCA4NjU4NSwgODY1OTIsIDg2NTk5LCA4NjYwNiwgCi0gICAgODY2MTIsIDg2NjE5LCA4NjYyNiwgODY2MzMsIDg2NjQwLCA4NjY0NywgODY2NTQsIDg2NjYxLCAwLCA4NjY2OCwgODY2NzQsIAotICAgIDg2NjgxLCA4NjY4OCwgODY2OTUsIDg2NzAyLCA4NjcwOCwgODY3MTUsIDg2NzIyLCA4NjcyOSwgODY3MzYsIDg2NzQzLCAKLSAgICA4Njc1MCwgODY3NTcsIDg2NzYzLCA4Njc3MCwgODY3NzcsIDg2Nzg0LCA4Njc5MSwgMCwgODY3OTgsIDg2ODA1LCAwLCAKLSAgICA4NjgxMiwgODY4MTksIDg2ODI2LCA4NjgzMywgODY4NDAsIDg2ODQ3LCA4Njg1NCwgODY4NjEsIDg2ODY4LCA4Njg3NSwgCi0gICAgODY4ODIsIDg2ODg5LCA4Njg5NiwgODY5MDMsIDg2OTEwLCAwLCAwLCA4NjkxNiwgODY5MjEsIDg2OTI2LCA4NjkzMSwgCi0gICAgODY5MzYsIDg2OTQxLCA4Njk0NiwgODY5NTEsIDg2OTU2LCA4Njk2MSwgODY5NjYsIDg2OTcxLCA4Njk3NiwgODY5ODEsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDg2OTg2LCA4Njk5MywgODcwMDAsIDg3MDA3LCA4NzAxNCwgODcwMjEsIAotICAgIDg3MDI4LCA4NzAzNSwgODcwNDIsIDg3MDQ5LCA4NzA1NiwgODcwNjMsIDg3MDcwLCA4NzA3NywgODcwODQsIDg3MDkxLCAKLSAgICA4NzA5OCwgODcxMDUsIDg3MTEyLCA4NzExOSwgODcxMjcsIDg3MTM1LCA4NzE0MiwgODcxNDksIDg3MTU0LCA4NzE2MiwgCi0gICAgODcxNzAsIDg3MTc3LCA4NzE4NCwgODcxODksIDg3MTk2LCA4NzIwMSwgODcyMDYsIDg3MjEzLCA4NzIxOCwgODcyMjMsIAotICAgIDg3MjI4LCA4NzIzNiwgODcyNDEsIDg3MjQ2LCA4NzI1MywgODcyNTgsIDg3MjYzLCA4NzI3MCwgODcyNzcsIDg3MjgyLCAKLSAgICA4NzI4NywgODcyOTIsIDg3Mjk3LCA4NzMwMiwgODczMDcsIDg3MzEyLCA4NzMxNywgODczMjIsIDg3MzI5LCA4NzMzNCwgCi0gICAgODczNDEsIDg3MzQ2LCA4NzM1MSwgODczNTYsIDg3MzYxLCA4NzM2NiwgODczNzEsIDg3Mzc2LCA4NzM4MSwgODczODYsIAotICAgIDg3MzkxLCA4NzM5NiwgODc0MDMsIDg3NDEwLCA4NzQxNywgODc0MjQsIDg3NDMwLCA4NzQzNSwgODc0NDIsIDg3NDQ3LCAKLSAgICA4NzQ1MiwgODc0NjEsIDg3NDY4LCA4NzQ3NywgODc0ODQsIDg3NDg5LCA4NzQ5NCwgODc1MDIsIDg3NTA3LCA4NzUxMiwgCi0gICAgODc1MTcsIDg3NTIyLCA4NzUyNywgODc1MzQsIDg3NTM5LCA4NzU0NCwgODc1NDksIDg3NTU0LCA4NzU1OSwgODc1NjYsIAotICAgIDg3NTczLCA4NzU4MCwgODc1ODcsIDg3NTk0LCA4NzYwMSwgODc2MDgsIDg3NjE1LCA4NzYyMiwgODc2MjksIDg3NjM2LCAKLSAgICA4NzY0MywgODc2NTAsIDg3NjU3LCA4NzY2NCwgODc2NzEsIDg3Njc4LCA4NzY4NSwgODc2OTIsIDg3Njk5LCA4NzcwNiwgCi0gICAgODc3MTMsIDg3NzIwLCA4NzcyNywgODc3MzQsIDg3NzQxLCA4Nzc0OCwgODc3NTUsIDAsIDAsIDAsIDAsIDAsIDg3NzYyLCAKLSAgICA4Nzc3MCwgODc3NzgsIDAsIDAsIDAsIDAsIDg3NzgzLCA4Nzc4NywgODc3OTEsIDg3Nzk1LCA4Nzc5OSwgODc4MDMsIAotICAgIDg3ODA3LCA4NzgxMSwgODc4MTUsIDg3ODE5LCA4NzgyNCwgODc4MjksIDg3ODM0LCA4NzgzOSwgODc4NDQsIDg3ODQ5LCAKLSAgICA4Nzg1NCwgODc4NTksIDg3ODY0LCA4Nzg3MCwgODc4NzYsIDg3ODgyLCA4Nzg4OSwgODc4OTYsIDg3OTAzLCA4NzkxMCwgCi0gICAgODc5MTcsIDg3OTI0LCA4NzkzMCwgODc5MzYsIDg3OTQyLCA4Nzk0OSwgODc5NTYsIDg3OTYzLCA4Nzk3MCwgODc5NzcsIAotICAgIDg3OTg0LCA4Nzk5MSwgODc5OTgsIDg4MDA1LCA4ODAxMiwgODgwMTksIDg4MDI2LCA4ODAzMywgODgwNDAsIDAsIDAsIDAsIAotICAgIDg4MDQ3LCA4ODA1NSwgODgwNjMsIDg4MDcxLCA4ODA3OSwgODgwODcsIDg4MDk3LCA4ODEwNywgODgxMTUsIDg4MTIzLCAKLSAgICA4ODEzMSwgODgxMzksIDg4MTQ3LCA4ODE1MywgODgxNjAsIDg4MTY5LCA4ODE3OCwgODgxODcsIDg4MTk2LCA4ODIwNSwgCi0gICAgODgyMTQsIDg4MjI0LCA4ODIzNSwgODgyNDUsIDg4MjU2LCA4ODI2NSwgODgyNzQsIDg4MjgzLCA4ODI5MywgODgzMDQsIAotICAgIDg4MzE0LCA4ODMyNSwgODgzMzYsIDg4MzQ1LCA4ODM1MywgODgzNTksIDg4MzY1LCA4ODM3MSwgODgzNzcsIDg4Mzg1LCAKLSAgICA4ODM5MywgODgzOTksIDg4NDA2LCA4ODQxNiwgODg0MjMsIDg4NDMwLCA4ODQzNywgODg0NDQsIDg4NDUxLCA4ODQ2MSwgCi0gICAgODg0NjgsIDg4NDc1LCA4ODQ4MywgODg0OTEsIDg4NTAwLCA4ODUwOSwgODg1MTgsIDg4NTI3LCA4ODUzNiwgODg1NDQsIAotICAgIDg4NTUzLCA4ODU2MiwgODg1NzEsIDg4NTc1LCA4ODU4MiwgODg1ODcsIDg4NTkyLCA4ODU5NiwgODg2MDAsIDg4NjA0LCAKLSAgICA4ODYwOCwgODg2MTMsIDg4NjE4LCA4ODYyNCwgODg2MzAsIDg4NjM0LCA4ODY0MCwgODg2NDQsIDg4NjQ4LCA4ODY1MiwgCi0gICAgODg2NTYsIDg4NjYwLCA4ODY2NCwgODg2NzAsIDAsIDAsIDAsIDAsIDAsIDg4Njc0LCA4ODY3OSwgODg2ODQsIDg4Njg5LCAKLSAgICA4ODY5NCwgODg3MDEsIDg4NzA2LCA4ODcxMSwgODg3MTYsIDg4NzIxLCA4ODcyNiwgODg3MzEsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDg4NzM2LCAKLSAgICA4ODc0MywgODg3NTIsIDg4NzYxLCA4ODc2OCwgODg3NzUsIDg4NzgyLCA4ODc4OSwgODg3OTYsIDg4ODAzLCA4ODgwOSwgCi0gICAgODg4MTYsIDg4ODIzLCA4ODgzMCwgODg4MzcsIDg4ODQ0LCA4ODg1MSwgODg4NTgsIDg4ODY1LCA4ODg3NCwgODg4ODEsIAotICAgIDg4ODg4LCA4ODg5NSwgODg5MDIsIDg4OTA5LCA4ODkxNiwgODg5MjMsIDg4OTMwLCA4ODkzOSwgODg5NDYsIDg4OTUzLCAKLSAgICA4ODk2MCwgODg5NjcsIDg4OTc0LCA4ODk4MSwgODg5OTAsIDg4OTk3LCA4OTAwNCwgODkwMTEsIDg5MDE4LCA4OTAyNywgCi0gICAgODkwMzQsIDg5MDQxLCA4OTA0OCwgODkwNTYsIDg5MDY1LCAwLCAwLCA4OTA3NCwgODkwNzgsIDg5MDgyLCA4OTA4NywgCi0gICAgODkwOTIsIDg5MDk3LCA4OTEwMiwgODkxMDYsIDg5MTExLCA4OTExNiwgODkxMjEsIDg5MTI2LCA4OTEzMSwgODkxMzYsIAotICAgIDg5MTQwLCA4OTE0NCwgODkxNDksIDg5MTU0LCA4OTE1OSwgODkxNjMsIDg5MTY4LCA4OTE3MywgODkxNzcsIDg5MTgyLCAKLSAgICA4OTE4NywgODkxOTIsIDg5MTk3LCA4OTIwMiwgODkyMDcsIDAsIDAsIDAsIDg5MjEyLCA4OTIxNiwgODkyMjEsIDg5MjI2LCAKLSAgICA4OTIzMCwgODkyMzUsIDg5MjM5LCA4OTI0NCwgODkyNDksIDg5MjU0LCA4OTI1OSwgODkyNjMsIDg5MjY3LCA4OTI3MiwgCi0gICAgODkyNzcsIDg5MjgyLCA4OTI4NywgODkyOTIsIDg5Mjk3LCA4OTMwMSwgODkzMDYsIDg5MzExLCA4OTMxNiwgODkzMjEsIAotICAgIDg5MzI2LCA4OTMzMSwgODkzMzUsIDg5MzM5LCA4OTM0NCwgODkzNDksIDg5MzU0LCA4OTM1OSwgODkzNjQsIDg5MzY5LCAKLSAgICA4OTM3NCwgODkzNzksIDg5Mzg0LCA4OTM4OSwgODkzOTQsIDg5Mzk5LCA4OTQwNCwgODk0MDksIDg5NDE0LCA4OTQxOSwgCi0gICAgODk0MjQsIDg5NDI5LCA4OTQzNCwgODk0MzksIDg5NDQ0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA4OTQ0OSwgODk0NTMsIDg5NDU4LCA4OTQ2MywgODk0NjgsIDg5NDcyLCAKLSAgICA4OTQ3NywgODk0ODIsIDg5NDg3LCA4OTQ5MiwgODk0OTYsIDg5NTAwLCA4OTUwNSwgODk1MTAsIDg5NTE1LCA4OTUyMCwgCi0gICAgODk1MjQsIDg5NTI5LCA4OTUzNCwgODk1MzksIDg5NTQ0LCA4OTU0OSwgODk1NTQsIDg5NTU4LCA4OTU2MywgODk1NjgsIAotICAgIDg5NTczLCA4OTU3OCwgODk1ODMsIDg5NTg4LCA4OTU5MywgMCwgODk1OTgsIDg5NjAzLCA4OTYwOCwgODk2MTQsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDg5NjIwLCA4OTYyNSwgODk2MzAsIDg5NjM1LCA4OTY0MCwgODk2NDUsIAotICAgIDg5NjUwLCA4OTY1NSwgODk2NjAsIDg5NjY1LCA4OTY3MCwgODk2NzUsIDg5NjgwLCA4OTY4NSwgODk2OTAsIDg5Njk1LCAKLSAgICA4OTcwMCwgODk3MDUsIDg5NzEwLCA4OTcxNSwgODk3MjAsIDg5NzI1LCA4OTczMCwgODk3MzUsIDg5NzQwLCA4OTc0NSwgCi0gICAgODk3NTAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDg5NzU3LCA4OTc2MiwgODk3NjcsIDg5NzcyLCA4OTc3NywgODk3ODIsIDg5Nzg3LCAKLSAgICA4OTc5MiwgODk3OTcsIDg5ODAyLCA4OTgwNywgODk4MTIsIDg5ODE3LCA4OTgyMiwgODk4MjcsIDg5ODMyLCA4OTgzNywgCi0gICAgODk4NDIsIDg5ODQ3LCA4OTg1MiwgODk4NTcsIDg5ODYyLCA4OTg2NywgODk4NzIsIDg5ODc3LCA4OTg4MiwgODk4ODcsIAotICAgIDg5ODkxLCA4OTg5NSwgODk4OTksIDAsIDg5OTA0LCA4OTkxMCwgODk5MTUsIDg5OTIwLCA4OTkyNSwgODk5MzAsIDg5OTM2LCAKLSAgICA4OTk0MiwgODk5NDgsIDg5OTU0LCA4OTk2MCwgODk5NjYsIDg5OTcyLCA4OTk3OCwgODk5ODQsIDg5OTkwLCA4OTk5NiwgCi0gICAgOTAwMDIsIDkwMDA4LCA5MDAxMywgOTAwMTksIDkwMDI1LCA5MDAzMCwgOTAwMzYsIDkwMDQxLCA5MDA0NywgOTAwNTMsIAotICAgIDkwMDU4LCA5MDA2NCwgOTAwNzAsIDkwMDc1LCA5MDA4MSwgOTAwODcsIDkwMDkyLCA5MDA5OCwgOTAxMDQsIDkwMTEwLCAwLCAKLSAgICAwLCAwLCAwLCA5MDExNSwgOTAxMjEsIDkwMTI3LCA5MDEzMywgOTAxMzksIDkwMTQ1LCA5MDE1MSwgOTAxNTcsIDkwMTYzLCAKLSAgICA5MDE3MCwgOTAxNzUsIDkwMTgwLCA5MDE4NiwgOTAxOTIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDkwMTk4LCA5MDIwMywgOTAyMDgsIDkwMjEzLCA5MDIxOSwgOTAyMjQsIDkwMjMwLCA5MDIzNiwgCi0gICAgOTAyNDIsIDkwMjQ4LCA5MDI1NSwgOTAyNjEsIDkwMjY4LCA5MDI3MywgOTAyNzgsIDkwMjgzLCA5MDI4OCwgOTAyOTMsIAotICAgIDkwMjk4LCA5MDMwMywgOTAzMDgsIDkwMzEzLCA5MDMxOCwgOTAzMjMsIDkwMzI4LCA5MDMzMywgOTAzMzgsIDkwMzQzLCAKLSAgICA5MDM0OCwgOTAzNTMsIDkwMzU4LCA5MDM2MywgOTAzNjgsIDkwMzczLCA5MDM3OCwgOTAzODMsIDkwMzg4LCA5MDM5MywgCi0gICAgOTAzOTgsIDkwNDAzLCA5MDQwOCwgOTA0MTMsIDkwNDE4LCA5MDQyMywgOTA0MjksIDkwNDM0LCA5MDQ0MCwgOTA0NDYsIAotICAgIDkwNDUyLCA5MDQ1OCwgOTA0NjUsIDkwNDcxLCA5MDQ3OCwgOTA0ODMsIDkwNDg4LCA5MDQ5MywgOTA0OTgsIDkwNTAzLCAKLSAgICA5MDUwOCwgOTA1MTMsIDkwNTE4LCA5MDUyMywgOTA1MjgsIDkwNTMzLCA5MDUzOCwgOTA1NDMsIDkwNTQ4LCA5MDU1MywgCi0gICAgOTA1NTgsIDkwNTYzLCA5MDU2OCwgOTA1NzMsIDkwNTc4LCA5MDU4MywgOTA1ODgsIDkwNTkzLCA5MDU5OCwgOTA2MDMsIAotICAgIDkwNjA4LCA5MDYxMywgOTA2MTgsIDkwNjIzLCA5MDYyOCwgOTA2MzMsIDkwNjM4LCA5MDY0MywgOTA2NDgsIDkwNjUzLCAKLSAgICA5MDY1OCwgOTA2NjMsIDkwNjY4LCA5MDY3MywgOTA2NzgsIDkwNjgzLCA5MDY4OCwgOTA2OTMsIDkwNjk4LCA5MDcwMywgCi0gICAgOTA3MDgsIDkwNzEzLCA5MDcxOCwgOTA3MjMsIDkwNzI4LCA5MDczMywgOTA3MzgsIDkwNzQzLCA5MDc0OCwgOTA3NTMsIAotICAgIDkwNzU4LCA5MDc2MywgOTA3NjgsIDkwNzczLCA5MDc3OCwgOTA3ODMsIDkwNzg4LCA5MDc5MywgOTA3OTgsIDkwODAzLCAKLSAgICA5MDgwOCwgOTA4MTMsIDkwODE4LCA5MDgyMywgOTA4MjgsIDkwODMzLCA5MDgzOCwgOTA4NDMsIDkwODQ4LCA5MDg1MywgCi0gICAgOTA4NTgsIDkwODYzLCA5MDg2OCwgOTA4NzMsIDkwODc4LCA5MDg4MywgOTA4ODgsIDkwODkzLCA5MDg5NywgOTA5MDEsIAotICAgIDkwOTA2LCA5MDkxMSwgOTA5MTYsIDkwOTIxLCA5MDkyNiwgOTA5MzEsIDkwOTM2LCA5MDk0MSwgOTA5NDYsIDkwOTUxLCAKLSAgICA5MDk1NiwgOTA5NjAsIDkwOTY0LCA5MDk2OCwgOTA5NzIsIDkwOTc2LCA5MDk4MCwgOTA5ODQsIDkwOTg5LCA5MDk5NCwgMCwgCi0gICAgMCwgOTA5OTksIDkxMDA0LCA5MTAwOCwgOTEwMTIsIDkxMDE2LCA5MTAyMCwgOTEwMjQsIDkxMDI4LCA5MTAzMiwgOTEwMzYsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDkxMDQwLCA5MTA0NCwgOTEwNDgsIDkxMDUyLCAKLSAgICA5MTA1NiwgOTEwNjAsIDAsIDAsIDkxMDY1LCAwLCA5MTA3MCwgOTEwNzQsIDkxMDc5LCA5MTA4NCwgOTEwODksIDkxMDk0LCAKLSAgICA5MTA5OSwgOTExMDQsIDkxMTA5LCA5MTExNCwgOTExMTksIDkxMTIzLCA5MTEyOCwgOTExMzMsIDkxMTM4LCA5MTE0MywgCi0gICAgOTExNDcsIDkxMTUyLCA5MTE1NywgOTExNjIsIDkxMTY3LCA5MTE3MSwgOTExNzYsIDkxMTgxLCA5MTE4NiwgOTExOTEsIAotICAgIDkxMTk1LCA5MTIwMCwgOTEyMDUsIDkxMjEwLCA5MTIxNSwgOTEyMTksIDkxMjI0LCA5MTIyOSwgOTEyMzQsIDkxMjM5LCAKLSAgICA5MTI0NCwgOTEyNDksIDkxMjU0LCA5MTI1OCwgOTEyNjMsIDkxMjY4LCA5MTI3MywgOTEyNzgsIDAsIDkxMjgzLCA5MTI4OCwgCi0gICAgMCwgMCwgMCwgOTEyOTMsIDAsIDAsIDkxMjk4LCA5MTMwMywgOTEzMTAsIDkxMzE3LCA5MTMyNCwgOTEzMzEsIDkxMzM4LCAKLSAgICA5MTM0NSwgOTEzNTIsIDkxMzU5LCA5MTM2NiwgOTEzNzMsIDkxMzgwLCA5MTM4NywgOTEzOTQsIDkxNDAxLCA5MTQwOCwgCi0gICAgOTE0MTUsIDkxNDIyLCA5MTQyOSwgOTE0MzYsIDkxNDQzLCA5MTQ1MCwgMCwgOTE0NTcsIDkxNDY0LCA5MTQ3MCwgOTE0NzYsIAotICAgIDkxNDgyLCA5MTQ4OSwgOTE0OTYsIDkxNTA0LCA5MTUxMiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOTE1MjEsIDkxNTI2LCAKLSAgICA5MTUzMSwgOTE1MzYsIDkxNTQxLCA5MTU0NiwgOTE1NTEsIDkxNTU2LCA5MTU2MSwgOTE1NjYsIDkxNTcxLCA5MTU3NiwgCi0gICAgOTE1ODEsIDkxNTg2LCA5MTU5MSwgOTE1OTYsIDkxNjAxLCA5MTYwNiwgOTE2MTEsIDkxNjE2LCA5MTYyMSwgOTE2MjYsIAotICAgIDkxNjMxLCA5MTYzNSwgOTE2NDAsIDkxNjQ1LCA5MTY1MSwgOTE2NTUsIDAsIDAsIDAsIDkxNjU5LCA5MTY2NSwgOTE2NjksIAotICAgIDkxNjc0LCA5MTY3OSwgOTE2ODQsIDkxNjg4LCA5MTY5MywgOTE2OTcsIDkxNzAyLCA5MTcwNywgOTE3MTEsIDkxNzE1LCAKLSAgICA5MTcyMCwgOTE3MjQsIDkxNzI4LCA5MTczMywgOTE3MzgsIDkxNzQyLCA5MTc0NywgOTE3NTIsIDkxNzU3LCA5MTc2MiwgCi0gICAgOTE3NjcsIDkxNzcyLCA5MTc3NywgOTE3ODIsIDAsIDAsIDAsIDAsIDAsIDkxNzg3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5MTc5MiwgOTE3OTgsIDkxODA0LCA5MTgxMCwgOTE4MTYsIDkxODIyLCA5MTgyOSwgCi0gICAgOTE4MzYsIDkxODQzLCA5MTg0OSwgOTE4NTUsIDkxODYxLCA5MTg2OCwgOTE4NzUsIDkxODgyLCA5MTg4OCwgOTE4OTUsIAotICAgIDkxOTAyLCA5MTkwOSwgOTE5MTYsIDkxOTIyLCA5MTkyOSwgOTE5MzYsIDkxOTQyLCA5MTk0OSwgOTE5NTYsIDkxOTYzLCAKLSAgICA5MTk3MCwgOTE5NzcsIDkxOTgzLCA5MTk5MCwgOTE5OTcsIDkyMDA0LCA5MjAxMCwgOTIwMTYsIDkyMDIyLCA5MjAyOCwgCi0gICAgOTIwMzQsIDkyMDQxLCA5MjA0OCwgOTIwNTQsIDkyMDYwLCA5MjA2NiwgOTIwNzMsIDkyMDc5LCA5MjA4NiwgOTIwOTMsIAotICAgIDkyMTAwLCA5MjEwNiwgOTIxMTQsIDkyMTIxLCA5MjEyNywgOTIxMzQsIDkyMTQxLCA5MjE0OCwgOTIxNTQsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDkyMTYxLCA5MjE2OSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgOTIxNzcsIDkyMTgxLCA5MjE4NiwgOTIxOTEsIDAsIDkyMTk3LCA5MjIwMiwgMCwgMCwgMCwgMCwgMCwgOTIyMDcsIDkyMjEzLCAKLSAgICA5MjIyMCwgOTIyMjUsIDkyMjMwLCA5MjIzNCwgOTIyMzksIDkyMjQ0LCAwLCA5MjI0OSwgOTIyNTQsIDkyMjU5LCAwLCAKLSAgICA5MjI2NCwgOTIyNjksIDkyMjc0LCA5MjI3OSwgOTIyODQsIDkyMjg5LCA5MjI5NCwgOTIyOTksIDkyMzA0LCA5MjMwOSwgCi0gICAgOTIzMTQsIDkyMzE4LCA5MjMyMiwgOTIzMjcsIDkyMzMyLCA5MjMzNywgOTIzNDEsIDkyMzQ1LCA5MjM0OSwgOTIzNTQsIAotICAgIDkyMzU5LCA5MjM2NCwgOTIzNjksIDkyMzczLCA5MjM3OCwgOTIzODIsIDkyMzg3LCAwLCAwLCAwLCAwLCA5MjM5MiwgCi0gICAgOTIzOTgsIDkyNDAzLCAwLCAwLCAwLCAwLCA5MjQwOCwgOTI0MTIsIDkyNDE2LCA5MjQyMCwgOTI0MjQsIDkyNDI4LCAKLSAgICA5MjQzMywgOTI0MzgsIDkyNDQ0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5MjQ1MCwgOTI0NTYsIDkyNDYzLCA5MjQ2OSwgCi0gICAgOTI0NzYsIDkyNDgyLCA5MjQ4OCwgOTI0OTQsIDkyNTAxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5MjUwNywgOTI1MTUsIAotICAgIDkyNTIzLCA5MjUzMSwgOTI1MzksIDkyNTQ3LCA5MjU1NSwgOTI1NjMsIDkyNTcxLCA5MjU3OSwgOTI1ODcsIDkyNTk1LCAKLSAgICA5MjYwMywgOTI2MTEsIDkyNjE5LCA5MjYyNywgOTI2MzUsIDkyNjQzLCA5MjY1MSwgOTI2NTksIDkyNjY3LCA5MjY3NSwgCi0gICAgOTI2ODMsIDkyNjkxLCA5MjY5OSwgOTI3MDcsIDkyNzE1LCA5MjcyMywgOTI3MzEsIDkyNzM5LCA5Mjc0NiwgOTI3NTQsIAotICAgIDkyNzYyLCA5Mjc2NiwgOTI3NzEsIDkyNzc2LCA5Mjc4MSwgOTI3ODYsIDkyNzkxLCA5Mjc5NiwgOTI4MDEsIDkyODA1LCAKLSAgICA5MjgxMCwgOTI4MTQsIDkyODE5LCA5MjgyMywgOTI4MjgsIDkyODMyLCA5MjgzNywgOTI4NDIsIDkyODQ3LCA5Mjg1MiwgCisgICAgMCwgMCwgOTIxMTcsIDkyMTIxLCA5MjEyNSwgOTIxMzAsIDkyMTM1LCA5MjE0MCwgOTIxNDUsIDkyMTQ5LCA5MjE1NCwgCisgICAgOTIxNTksIDkyMTY0LCA5MjE2OSwgOTIxNzQsIDkyMTc5LCA5MjE4MywgOTIxODgsIDkyMTkzLCA5MjE5OCwgOTIyMDMsIAorICAgIDkyMjA3LCA5MjIxMiwgOTIyMTcsIDkyMjIxLCA5MjIyNSwgOTIyMzAsIDkyMjM1LCA5MjI0MCwgOTIyNDUsIDkyMjUwLCAwLCAKKyAgICAwLCAwLCA5MjI1NSwgOTIyNTksIDkyMjY0LCA5MjI2OSwgOTIyNzMsIDkyMjc4LCA5MjI4MiwgOTIyODcsIDkyMjkyLCAKKyAgICA5MjI5NywgOTIzMDIsIDkyMzA3LCA5MjMxMSwgOTIzMTYsIDkyMzIxLCA5MjMyNiwgOTIzMzEsIDkyMzM1LCA5MjM0MCwgCisgICAgOTIzNDQsIDkyMzQ5LCA5MjM1NCwgOTIzNTksIDkyMzY0LCA5MjM2OSwgOTIzNzQsIDkyMzc4LCA5MjM4MiwgOTIzODcsIAorICAgIDkyMzkyLCA5MjM5NywgOTI0MDIsIDkyNDA3LCA5MjQxMiwgOTI0MTcsIDkyNDIyLCA5MjQyNywgOTI0MzIsIDkyNDM3LCAKKyAgICA5MjQ0MiwgOTI0NDcsIDkyNDUyLCA5MjQ1NywgOTI0NjIsIDkyNDY3LCA5MjQ3MiwgOTI0NzcsIDkyNDgyLCA5MjQ4NywgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOTI0OTIsIDkyNDk4LCA5MjUwMywgOTI1MDgsIAorICAgIDkyNTEzLCA5MjUxOCwgOTI1MjMsIDkyNTI4LCA5MjUzMywgOTI1MzgsIDkyNTQzLCA5MjU0OSwgOTI1NTUsIDkyNTYxLCAKKyAgICA5MjU2NywgOTI1NzMsIDkyNTc5LCA5MjU4NSwgOTI1OTEsIDkyNTk3LCA5MjYwNCwgOTI2MTEsIDkyNjE4LCA5MjYyNiwgCisgICAgOTI2MzQsIDkyNjQyLCA5MjY1MCwgOTI2NTgsIDAsIDAsIDAsIDAsIDkyNjY2LCA5MjY3MCwgOTI2NzUsIDkyNjgwLCAKKyAgICA5MjY4NSwgOTI2ODksIDkyNjk0LCA5MjY5OSwgOTI3MDQsIDkyNzA5LCA5MjcxMywgOTI3MTcsIDkyNzIyLCA5MjcyNywgCisgICAgOTI3MzIsIDkyNzM3LCA5Mjc0MSwgOTI3NDYsIDkyNzUxLCA5Mjc1NiwgOTI3NjEsIDkyNzY2LCA5Mjc3MSwgOTI3NzUsIAorICAgIDkyNzgwLCA5Mjc4NSwgOTI3OTAsIDkyNzk1LCA5MjgwMCwgOTI4MDUsIDkyODEwLCA5MjgxNSwgOTI4MjAsIDkyODI1LCAKKyAgICA5MjgzMCwgOTI4MzYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDkyODQyLCA5Mjg0NywgOTI4NTIsIAogICAgIDkyODU3LCA5Mjg2MiwgOTI4NjcsIDkyODcyLCA5Mjg3NywgOTI4ODIsIDkyODg3LCA5Mjg5MiwgOTI4OTcsIDkyOTAyLCAKICAgICA5MjkwNywgOTI5MTIsIDkyOTE3LCA5MjkyMiwgOTI5MjcsIDkyOTMyLCA5MjkzNywgOTI5NDIsIDkyOTQ3LCA5Mjk1MiwgCi0gICAgOTI5NTcsIDkyOTYyLCA5Mjk2NywgOTI5NzIsIDkyOTc3LCA5Mjk4MiwgOTI5ODcsIDkyOTkyLCA5Mjk5NywgOTMwMDIsIAotICAgIDkzMDA3LCA5MzAxMiwgOTMwMTcsIDkzMDIyLCAwLCAwLCAwLCA5MzAyNywgOTMwMzIsIDkzMDQxLCA5MzA0OSwgOTMwNTgsIAotICAgIDkzMDY3LCA5MzA3OCwgOTMwODksIDkzMDk2LCA5MzEwMywgOTMxMTAsIDkzMTE3LCA5MzEyNCwgOTMxMzEsIDkzMTM4LCAKLSAgICA5MzE0NSwgOTMxNTIsIDkzMTU5LCA5MzE2NiwgOTMxNzMsIDkzMTgwLCA5MzE4NywgOTMxOTQsIDkzMjAxLCA5MzIwOCwgCi0gICAgOTMyMTUsIDkzMjIyLCA5MzIyOSwgOTMyMzYsIDAsIDAsIDkzMjQzLCA5MzI0OSwgOTMyNTUsIDkzMjYxLCA5MzI2NywgCi0gICAgOTMyNzQsIDkzMjgxLCA5MzI4OSwgOTMyOTcsIDkzMzA0LCA5MzMxMSwgOTMzMTgsIDkzMzI1LCA5MzMzMiwgOTMzMzksIAotICAgIDkzMzQ2LCA5MzM1MywgOTMzNjAsIDkzMzY3LCA5MzM3NCwgOTMzODEsIDkzMzg4LCA5MzM5NSwgOTM0MDIsIDkzNDA5LCAKLSAgICA5MzQxNiwgOTM0MjMsIDAsIDAsIDAsIDAsIDAsIDkzNDMwLCA5MzQzNiwgOTM0NDIsIDkzNDQ4LCA5MzQ1NCwgOTM0NjEsIAotICAgIDkzNDY4LCA5MzQ3NiwgOTM0ODQsIDkzNDkwLCA5MzQ5NiwgOTM1MDMsIDkzNTA5LCA5MzUxNSwgOTM1MjEsIDkzNTI3LCAKLSAgICA5MzUzNCwgOTM1NDEsIDkzNTQ4LCA5MzU1NSwgOTM1NjIsIDkzNTY5LCA5MzU3NiwgOTM1ODMsIDkzNTkwLCA5MzU5NywgCi0gICAgOTM2MDQsIDkzNjExLCA5MzYxOCwgOTM2MjUsIDkzNjMyLCA5MzYzOSwgOTM2NDYsIDkzNjUzLCA5MzY2MCwgOTM2NjcsIAotICAgIDkzNjc0LCA5MzY4MSwgOTM2ODgsIDkzNjk1LCA5MzcwMiwgOTM3MDksIDkzNzE2LCA5MzcyMywgOTM3MzAsIDkzNzM3LCAKLSAgICA5Mzc0NCwgOTM3NTEsIDkzNzU4LCA5Mzc2NSwgOTM3NzIsIDkzNzc5LCA5Mzc4NiwgOTM3OTMsIDkzODAwLCA5MzgwNywgCi0gICAgOTM4MTQsIDkzODIxLCA5MzgyOCwgOTM4MzUsIDkzODQyLCA5Mzg0OSwgOTM4NTYsIDkzODYzLCA5Mzg3MCwgOTM4NzcsIAotICAgIDkzODg0LCA5Mzg5MSwgOTM4OTgsIDkzOTA1LCA5MzkxMiwgOTM5MTksIDkzOTI2LCA5MzkzMywgOTM5NDAsIDkzOTQ3LCAKLSAgICA5Mzk1NCwgOTM5NjEsIDkzOTY4LCA5Mzk3NSwgOTM5ODIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDkyOTU3LCA5Mjk2MiwgOTI5NjcsIDkyOTcyLCAwLCAwLCAwLCAwLCAwLCA5Mjk3OSwgOTI5ODUsIDkyOTkxLCA5Mjk5NywgCisgICAgOTMwMDMsIDkzMDA4LCA5MzAxNCwgOTMwMjAsIDkzMDI2LCA5MzAzMiwgOTMwMzcsIDkzMDQzLCA5MzA0OSwgOTMwNTUsIAorICAgIDkzMDYxLCA5MzA2NywgOTMwNzMsIDkzMDc5LCA5MzA4NSwgOTMwOTEsIDkzMDk2LCA5MzEwMiwgOTMxMDgsIDkzMTE0LCAKKyAgICA5MzEyMCwgOTMxMjYsIDkzMTMxLCA5MzEzNywgOTMxNDMsIDkzMTQ4LCA5MzE1NCwgOTMxNjAsIDkzMTY2LCA5MzE3MiwgCisgICAgOTMxNzgsIDkzMTg0LCA5MzE5MCwgOTMxOTUsIDkzMjAxLCA5MzIwOCwgOTMyMTUsIDkzMjIyLCA5MzIyOSwgMCwgMCwgMCwgCisgICAgMCwgMCwgOTMyMzYsIDkzMjQxLCA5MzI0NiwgOTMyNTEsIDkzMjU2LCA5MzI2MSwgOTMyNjYsIDkzMjcxLCA5MzI3NiwgCisgICAgOTMyODEsIDkzMjg2LCA5MzI5MSwgOTMyOTYsIDkzMzAxLCA5MzMwNiwgOTMzMTEsIDkzMzE2LCA5MzMyMSwgOTMzMjYsIAorICAgIDkzMzMxLCA5MzMzNiwgOTMzNDEsIDkzMzQ2LCA5MzM1MSwgOTMzNTYsIDkzMzYxLCA5MzM2NiwgOTMzNzAsIDkzMzc0LCAKKyAgICA5MzM3OCwgMCwgOTMzODMsIDkzMzg5LCA5MzM5NCwgOTMzOTksIDkzNDA0LCA5MzQwOSwgOTM0MTUsIDkzNDIxLCA5MzQyNywgCisgICAgOTM0MzMsIDkzNDM5LCA5MzQ0NSwgOTM0NTEsIDkzNDU3LCA5MzQ2MywgOTM0NjksIDkzNDc1LCA5MzQ4MSwgOTM0ODcsIAorICAgIDkzNDkyLCA5MzQ5OCwgOTM1MDQsIDkzNTA5LCA5MzUxNSwgOTM1MjAsIDkzNTI2LCA5MzUzMiwgOTM1MzcsIDkzNTQzLCAKKyAgICA5MzU0OSwgOTM1NTUsIDkzNTYxLCA5MzU2NywgOTM1NzMsIDkzNTc5LCA5MzU4NSwgOTM1OTEsIDAsIDAsIDAsIDAsIAorICAgIDkzNTk2LCA5MzYwMiwgOTM2MDgsIDkzNjE0LCA5MzYyMCwgOTM2MjYsIDkzNjMyLCA5MzYzOCwgOTM2NDQsIDkzNjUxLCAKKyAgICA5MzY1NiwgOTM2NjEsIDkzNjY3LCA5MzY3MywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgOTM2NzksIDkzNjg1LCA5MzY5MSwgOTM2OTcsIDkzNzA0LCA5MzcxMCwgOTM3MTcsIDkzNzI0LCA5MzczMSwgCisgICAgOTM3MzgsIDkzNzQ2LCA5Mzc1MywgOTM3NjEsIDkzNzY3LCA5Mzc3MywgOTM3NzksIDkzNzg1LCA5Mzc5MSwgOTM3OTcsIAorICAgIDkzODAzLCA5MzgwOSwgOTM4MTUsIDkzODIxLCA5MzgyNywgOTM4MzMsIDkzODM5LCA5Mzg0NSwgOTM4NTEsIDkzODU3LCAKKyAgICA5Mzg2MywgOTM4NjksIDkzODc1LCA5Mzg4MSwgOTM4ODcsIDkzODkzLCA5Mzg5OSwgOTM5MDUsIDkzOTExLCA5MzkxNywgCisgICAgOTM5MjMsIDkzOTI5LCA5MzkzNSwgOTM5NDEsIDkzOTQ3LCA5Mzk1NCwgOTM5NjAsIDkzOTY3LCA5Mzk3NCwgOTM5ODEsIAorICAgIDkzOTg4LCA5Mzk5NiwgOTQwMDMsIDk0MDExLCA5NDAxNywgOTQwMjMsIDk0MDI5LCA5NDAzNSwgOTQwNDEsIDk0MDQ3LCAKKyAgICA5NDA1MywgOTQwNTksIDk0MDY1LCA5NDA3MSwgOTQwNzcsIDk0MDgzLCA5NDA4OSwgOTQwOTUsIDk0MTAxLCA5NDEwNywgCisgICAgOTQxMTMsIDk0MTE5LCA5NDEyNSwgOTQxMzEsIDk0MTM3LCA5NDE0MywgOTQxNDksIDk0MTU1LCA5NDE2MSwgOTQxNjcsIAorICAgIDk0MTczLCA5NDE3OSwgOTQxODQsIDk0MTg5LCA5NDE5NCwgOTQxOTksIDk0MjA0LCA5NDIwOSwgOTQyMTQsIDk0MjE5LCAKKyAgICA5NDIyNCwgOTQyMjksIDk0MjM0LCA5NDIzOSwgOTQyNDQsIDk0MjQ5LCA5NDI1NCwgOTQyNTksIDk0MjY0LCA5NDI2OSwgCisgICAgOTQyNzQsIDk0Mjc5LCA5NDI4NCwgOTQyODksIDk0Mjk0LCA5NDI5OSwgOTQzMDQsIDk0MzA5LCA5NDMxNCwgOTQzMTksIAorICAgIDk0MzI0LCA5NDMyOSwgOTQzMzQsIDk0MzM5LCA5NDM0NCwgOTQzNDksIDk0MzU0LCA5NDM1OSwgOTQzNjQsIDk0MzY5LCAKKyAgICA5NDM3NCwgOTQzNzksIDk0Mzg0LCA5NDM4OSwgOTQzOTQsIDk0Mzk5LCA5NDQwNCwgOTQ0MDksIDk0NDE0LCA5NDQxOSwgCisgICAgOTQ0MjQsIDk0NDI5LCA5NDQzNCwgOTQ0MzksIDk0NDQ0LCA5NDQ0OSwgOTQ0NTQsIDk0NDU5LCA5NDQ2NCwgOTQ0NjksIAorICAgIDk0NDc0LCA5NDQ3OSwgOTQ0ODQsIDk0NDg5LCA5NDQ5NCwgOTQ0OTksIDk0NTA0LCA5NDUwOSwgOTQ1MTQsIDk0NTE5LCAKKyAgICA5NDUyMywgOTQ1MjcsIDk0NTMxLCA5NDUzNSwgOTQ1MzksIDk0NTQzLCA5NDU0NywgOTQ1NTIsIDk0NTU3LCAwLCAwLCAKKyAgICA5NDU2MiwgOTQ1NjcsIDk0NTcxLCA5NDU3NSwgOTQ1NzksIDk0NTgzLCA5NDU4NywgOTQ1OTEsIDk0NTk1LCA5NDU5OSwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOTQ2MDMsIDk0NjA3LCA5NDYxMiwgOTQ2MTcsIDk0NjIyLCAKKyAgICA5NDYyNywgOTQ2MzIsIDk0NjM3LCA5NDY0MiwgOTQ2NDYsIDk0NjUxLCA5NDY1NiwgOTQ2NjEsIDk0NjY2LCA5NDY3MCwgCisgICAgOTQ2NzUsIDk0NjgwLCA5NDY4NSwgOTQ2OTAsIDk0Njk1LCA5NDcwMCwgOTQ3MDQsIDk0NzA5LCA5NDcxMywgOTQ3MTgsIAorICAgIDk0NzIzLCA5NDcyOCwgOTQ3MzMsIDk0NzM4LCA5NDc0MywgOTQ3NDgsIDk0NzUzLCA5NDc1NywgOTQ3NjIsIDk0NzY3LCAKKyAgICA5NDc3MiwgOTQ3NzcsIDk0NzgyLCA5NDc4NywgOTQ3OTIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDk0Nzk3LCA5NDgwNCwgCisgICAgOTQ4MTEsIDk0ODE4LCA5NDgyNSwgOTQ4MzIsIDk0ODM5LCA5NDg0NiwgOTQ4NTMsIDk0ODYwLCA5NDg2NywgOTQ4NzQsIAorICAgIDk0ODgxLCA5NDg4OCwgOTQ4OTUsIDk0OTAyLCA5NDkwOSwgOTQ5MTYsIDk0OTIzLCA5NDkzMCwgOTQ5MzcsIDk0OTQ0LCAKKyAgICA5NDk1MSwgOTQ5NTgsIDk0OTY1LCA5NDk3MiwgOTQ5NzksIDk0OTg2LCA5NDk5MywgOTUwMDAsIDk1MDA3LCA5NTAxNCwgCisgICAgOTUwMjEsIDk1MDI4LCA5NTAzNSwgOTUwNDIsIDk1MDQ5LCA5NTA1NiwgOTUwNjMsIDk1MDcwLCA5NTA3NywgOTUwODQsIAorICAgIDk1MDkxLCA5NTA5OCwgOTUxMDUsIDk1MTEyLCA5NTExOSwgOTUxMjYsIDk1MTMzLCA5NTE0MCwgOTUxNDcsIDk1MTU0LCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5NTE2MSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOTM5ODksIDkzOTkzLCAKLSAgICA5Mzk5NywgOTQwMDEsIDk0MDA1LCA5NDAwOSwgOTQwMTMsIDk0MDE3LCA5NDAyMSwgOTQwMjUsIDk0MDMwLCA5NDAzNSwgCi0gICAgOTQwNDAsIDk0MDQ1LCA5NDA1MCwgOTQwNTUsIDk0MDYwLCA5NDA2NSwgOTQwNzAsIDk0MDc2LCA5NDA4MiwgOTQwODgsIAotICAgIDk0MDk1LCA5NDEwMiwgOTQxMDksIDk0MTE2LCA5NDEyMywgOTQxMzAsIDk0MTM3LCA5NDE0NCwgOTQxNTEsIDAsIDk0MTU4LCAKLSAgICA5NDE2MiwgOTQxNjYsIDk0MTcwLCA5NDE3NCwgOTQxNzgsIDk0MTgxLCA5NDE4NSwgOTQxODgsIDk0MTkyLCA5NDE5NSwgCi0gICAgOTQxOTksIDk0MjAzLCA5NDIwOCwgOTQyMTIsIDk0MjE3LCA5NDIyMCwgOTQyMjQsIDk0MjI3LCA5NDIzMSwgOTQyMzQsIAotICAgIDk0MjM4LCA5NDI0MiwgOTQyNDYsIDk0MjUwLCA5NDI1NCwgOTQyNTgsIDk0MjYyLCA5NDI2NiwgOTQyNzAsIDk0Mjc0LCAKLSAgICA5NDI3OCwgOTQyODIsIDk0Mjg2LCA5NDI5MCwgOTQyOTQsIDk0Mjk4LCA5NDMwMiwgOTQzMDYsIDk0MzA5LCA5NDMxMiwgCi0gICAgOTQzMTYsIDk0MzIwLCA5NDMyNCwgOTQzMjcsIDk0MzMwLCA5NDMzMywgOTQzMzcsIDk0MzQxLCA5NDM0NSwgOTQzNDksIAotICAgIDk0MzUyLCA5NDM1NSwgOTQzNTksIDk0MzY1LCA5NDM3MSwgOTQzNzcsIDk0MzgyLCA5NDM4OSwgOTQzOTMsIDk0Mzk4LCAKLSAgICA5NDQwMiwgOTQ0MDcsIDk0NDEyLCA5NDQxOCwgOTQ0MjMsIDk0NDI5LCA5NDQzMywgOTQ0MzgsIDk0NDQyLCA5NDQ0NywgCi0gICAgOTQ0NTAsIDk0NDUzLCA5NDQ1NywgOTQ0NjIsIDk0NDY4LCA5NDQ3MywgOTQ0NzksIDAsIDAsIDAsIDAsIDk0NDg0LCAKLSAgICA5NDQ4NywgOTQ0OTAsIDk0NDkzLCA5NDQ5NiwgOTQ0OTksIDk0NTAyLCA5NDUwNSwgOTQ1MDgsIDk0NTExLCA5NDUxNSwgCi0gICAgOTQ1MTksIDk0NTIzLCA5NDUyNywgOTQ1MzEsIDk0NTM1LCA5NDUzOSwgOTQ1NDMsIDk0NTQ3LCA5NDU1MiwgOTQ1NTcsIAotICAgIDk0NTYxLCA5NDU2NCwgOTQ1NjcsIDk0NTcwLCA5NDU3MywgOTQ1NzYsIDk0NTc5LCA5NDU4MiwgOTQ1ODUsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDk0NTg4LCA5NDU5MywgOTQ1OTgsIDk0NjAzLCA5NDYwNywgCi0gICAgOTQ2MTIsIDk0NjE2LCA5NDYyMSwgOTQ2MjUsIDk0NjMwLCA5NDYzNCwgOTQ2MzksIDk0NjQzLCA5NDY0OCwgOTQ2NTIsIAotICAgIDk0NjU3LCA5NDY2MiwgOTQ2NjcsIDk0NjcyLCA5NDY3NywgOTQ2ODIsIDk0Njg3LCA5NDY5MiwgOTQ2OTcsIDk0NzAyLCAKLSAgICA5NDcwNywgOTQ3MTIsIDk0NzE3LCA5NDcyMiwgOTQ3MjcsIDk0NzMyLCA5NDczNywgOTQ3NDIsIDk0NzQ3LCA5NDc1MiwgCi0gICAgOTQ3NTYsIDk0NzYwLCA5NDc2NSwgOTQ3NzAsIDk0Nzc1LCA5NDc3OSwgOTQ3ODMsIDk0Nzg3LCA5NDc5MiwgOTQ3OTcsIAotICAgIDk0ODAyLCA5NDgwNywgOTQ4MTEsIDk0ODE1LCA5NDgyMSwgOTQ4MjYsIDk0ODMyLCA5NDgzNywgOTQ4NDMsIDk0ODQ4LCAKLSAgICA5NDg1NCwgOTQ4NTksIDk0ODY1LCA5NDg3MCwgOTQ4NzUsIDk0ODgwLCA5NDg4NSwgOTQ4ODksIDk0ODk0LCA5NDkwMCwgCi0gICAgOTQ5MDQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDk0OTA5LCA5NDkxNiwgOTQ5MjMsIAotICAgIDk0OTMwLCA5NDkzNywgOTQ5NDQsIDk0OTUxLCA5NDk1OCwgOTQ5NjUsIDk0OTcyLCA5NDk3OSwgOTQ5ODYsIDk0OTkzLCAKLSAgICA5NTAwMCwgOTUwMDcsIDk1MDE0LCA5NTAyMSwgOTUwMjgsIDk1MDM1LCA5NTA0MiwgOTUwNDksIDk1MDU2LCA5NTA2MywgCi0gICAgOTUwNzAsIDk1MDc3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5NTA4NCwgOTUwOTEsIDk1MDk3LCA5NTEwMywgOTUxMDksIAotICAgIDk1MTE1LCA5NTEyMSwgOTUxMjcsIDk1MTMzLCA5NTEzOSwgMCwgMCwgMCwgMCwgMCwgMCwgOTUxNDUsIDk1MTUwLCA5NTE1NSwgCi0gICAgOTUxNjAsIDk1MTY1LCA5NTE2OSwgOTUxNzMsIDk1MTc3LCA5NTE4MiwgOTUxODcsIDk1MTkyLCA5NTE5NywgOTUyMDIsIAotICAgIDk1MjA3LCA5NTIxMiwgOTUyMTcsIDk1MjIyLCA5NTIyNywgOTUyMzIsIDk1MjM3LCA5NTI0MiwgOTUyNDcsIDk1MjUyLCAKLSAgICA5NTI1NywgOTUyNjIsIDk1MjY3LCA5NTI3MiwgOTUyNzcsIDk1MjgyLCA5NTI4NywgOTUyOTIsIDk1Mjk3LCA5NTMwMiwgCi0gICAgOTUzMDcsIDk1MzEyLCA5NTMxNywgOTUzMjIsIDk1MzI3LCA5NTMzMiwgOTUzMzcsIDk1MzQyLCA5NTM0NywgOTUzNTMsIAotICAgIDk1MzU4LCA5NTM2NCwgOTUzNjksIDk1Mzc1LCA5NTM4MCwgOTUzODYsIDk1MzkyLCA5NTM5NiwgOTU0MDEsIDk1NDA1LCAwLCAKLSAgICA5NTQwOSwgOTU0MTQsIDk1NDE4LCA5NTQyMiwgOTU0MjYsIDk1NDMwLCA5NTQzNCwgOTU0MzgsIDk1NDQyLCA5NTQ0NiwgCi0gICAgOTU0NTAsIDk1NDU1LCA5NTQ1OSwgOTU0NjQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDk1NDY5LCAKLSAgICA5NTQ3MywgOTU0NzcsIDk1NDgxLCA5NTQ4NCwgOTU0ODgsIDk1NDkxLCA5NTQ5NSwgOTU0OTgsIDk1NTAyLCA5NTUwNiwgCi0gICAgOTU1MTEsIDk1NTE1LCA5NTUyMCwgOTU1MjMsIDk1NTI3LCA5NTUzMCwgOTU1MzQsIDk1NTM3LCA5NTU0MSwgOTU1NDUsIAotICAgIDk1NTQ5LCA5NTU1MywgOTU1NTcsIDk1NTYxLCA5NTU2NSwgOTU1NjksIDk1NTczLCA5NTU3NywgOTU1ODEsIDk1NTg1LCAKLSAgICA5NTU4OSwgOTU1OTMsIDk1NTk3LCA5NTYwMSwgOTU2MDUsIDk1NjA5LCA5NTYxMiwgOTU2MTUsIDk1NjE5LCA5NTYyMywgCi0gICAgOTU2MjcsIDk1NjMwLCA5NTYzMywgOTU2MzYsIDk1NjQwLCA5NTY0NCwgOTU2NDgsIDk1NjUyLCA5NTY1NiwgOTU2NTksIAotICAgIDk1NjYyLCA5NTY2NywgOTU2NzEsIDk1Njc2LCA5NTY4MCwgOTU2ODUsIDk1NjkwLCA5NTY5NiwgOTU3MDEsIDk1NzA3LCAKLSAgICA5NTcxMSwgOTU3MTYsIDk1NzIwLCA5NTcyNSwgOTU3MjksIDk1NzMzLCA5NTczNywgOTU3NDEsIDk1NzQ0LCA5NTc0NywgCi0gICAgOTU3NTEsIDk1NzU1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5NTc1OCwgOTU3NjIsIDk1NzY1LCA5NTc2OCwgOTU3NzEsIAotICAgIDk1Nzc0LCA5NTc3NywgOTU3ODAsIDk1NzgzLCA5NTc4NiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgOTU3ODksIDk1NzkzLCA5NTc5OCwgOTU4MDIsIDk1ODA3LCA5NTgxMSwgOTU4MTYsIDk1ODIwLCA5NTgyNSwgOTU4MjksIAotICAgIDk1ODM0LCA5NTgzOCwgOTU4NDMsIDk1ODQ4LCA5NTg1MywgOTU4NTgsIDk1ODYzLCA5NTg2OCwgOTU4NzMsIDk1ODc4LCAKLSAgICA5NTg4MywgOTU4ODgsIDk1ODkzLCA5NTg5OCwgOTU5MDMsIDk1OTA4LCA5NTkxMywgOTU5MTgsIDk1OTIzLCA5NTkyOCwgCi0gICAgOTU5MzIsIDk1OTM2LCA5NTk0MSwgOTU5NDYsIDk1OTUxLCA5NTk1NSwgOTU5NTksIDk1OTYzLCA5NTk2OCwgOTU5NzMsIAotICAgIDk1OTc4LCA5NTk4MiwgOTU5ODYsIDk1OTkxLCA5NTk5NiwgOTYwMDEsIDk2MDA3LCA5NjAxMiwgOTYwMTgsIDk2MDIzLCAKLSAgICA5NjAyOSwgOTYwMzQsIDk2MDQwLCA5NjA0NSwgOTYwNTEsIDk2MDU2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5NjA2MSwgCi0gICAgOTYwNjYsIDk2MDcwLCA5NjA3NCwgOTYwNzgsIDk2MDgyLCA5NjA4NiwgOTYwOTAsIDk2MDk0LCA5NjA5OCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgOTYxMDIsIDk2MTA1LCA5NjExMCwgOTYxMTYsIDk2MTI0LCA5NjEyOSwgOTYxMzUsIDk2MTQzLCA5NjE0OSwgCi0gICAgOTYxNTUsIDk2MTU5LCA5NjE2MywgOTYxNzAsIDk2MTc5LCA5NjE4NiwgOTYxOTUsIDk2MjAxLCA5NjIxMCwgOTYyMTcsIAotICAgIDk2MjI0LCA5NjIzMSwgOTYyNDEsIDk2MjQ3LCA5NjI1MSwgOTYyNTgsIDk2MjY3LCA5NjI3NywgOTYyODQsIDk2MjkxLCAKLSAgICA5NjI5NSwgOTYyOTksIDk2MzA2LCA5NjMxNiwgOTYzMjAsIDk2MzI3LCA5NjMzNCwgOTYzNDEsIDk2MzQ3LCA5NjM1NCwgCi0gICAgOTYzNjEsIDk2MzY4LCA5NjM3NSwgOTYzNzksIDk2MzgzLCA5NjM4NywgOTYzOTQsIDk2Mzk4LCA5NjQwNSwgOTY0MTIsIAotICAgIDk2NDI2LCA5NjQzNSwgOTY0MzksIDk2NDQzLCA5NjQ0NywgOTY0NTQsIDk2NDU4LCA5NjQ2MiwgOTY0NjYsIDk2NDc0LCAKLSAgICA5NjQ4MiwgOTY1MDEsIDk2NTExLCA5NjUzMSwgOTY1MzUsIDk2NTM5LCA5NjU0MywgOTY1NDcsIDk2NTUxLCA5NjU1NSwgCi0gICAgOTY1NTksIDk2NTY2LCA5NjU3MCwgOTY1NzMsIDk2NTc3LCA5NjU4MSwgOTY1ODcsIDk2NTk0LCA5NjYwMywgOTY2MDcsIAotICAgIDk2NjE2LCA5NjYyNSwgOTY2MzMsIDk2NjM3LCA5NjY0NCwgOTY2NDgsIDk2NjUyLCA5NjY1NiwgOTY2NjAsIDk2NjcxLCAKLSAgICA5NjY4MCwgOTY2ODksIDk2Njk4LCA5NjcwNywgOTY3MTksIDk2NzI4LCA5NjczNywgOTY3NDYsIDk2NzU0LCA5Njc2MywgCi0gICAgOTY3NzUsIDk2Nzg0LCA5Njc5MywgOTY4MDIsIDk2ODE0LCA5NjgyMywgOTY4MzIsIDk2ODQ0LCA5Njg1MywgOTY4NjIsIAotICAgIDk2ODc0LCA5Njg4MywgOTY4ODcsIDk2ODkxLCA5Njg5NSwgOTY4OTksIDk2OTAzLCA5NjkwNywgOTY5MTEsIDk2OTE4LCAKLSAgICA5NjkyMiwgOTY5MjYsIDk2OTM3LCA5Njk0MSwgOTY5NDUsIDk2OTUyLCA5Njk1OCwgOTY5NjQsIDk2OTY4LCA5Njk3NSwgCi0gICAgOTY5NzksIDk2OTgzLCA5Njk4NywgOTY5OTEsIDk2OTk1LCA5Njk5OSwgOTcwMDUsIDk3MDEzLCA5NzAxNywgOTcwMjEsIAotICAgIDk3MDI0LCA5NzAzMCwgOTcwNDAsIDk3MDQ0LCA5NzA1NiwgOTcwNjMsIDk3MDcwLCA5NzA3NywgOTcwODQsIDk3MDkwLCAKLSAgICA5NzA5NCwgOTcwOTgsIDk3MTAyLCA5NzEwNiwgOTcxMTMsIDk3MTIyLCA5NzEyOSwgOTcxMzcsIDk3MTQ1LCA5NzE1MSwgCi0gICAgOTcxNTUsIDk3MTU5LCA5NzE2MywgOTcxNjcsIDk3MTczLCA5NzE4MiwgOTcxOTQsIDk3MjAxLCA5NzIwOCwgOTcyMTcsIAotICAgIDk3MjI4LCA5NzIzNCwgOTcyNDMsIDk3MjUyLCA5NzI1OSwgOTcyNjgsIDk3Mjc1LCA5NzI4MiwgOTcyOTIsIDk3Mjk5LCAKLSAgICA5NzMwNiwgOTczMTMsIDk3MzIwLCA5NzMyNCwgOTczMzAsIDk3MzM0LCA5NzM0NSwgOTczNTMsIDk3MzYyLCA5NzM3NCwgCi0gICAgOTczODEsIDk3Mzg4LCA5NzM5OCwgOTc0MDUsIDk3NDE0LCA5NzQyMSwgOTc0MzAsIDk3NDM3LCA5NzQ0NCwgOTc0NTQsIAotICAgIDk3NDYxLCA5NzQ2OCwgOTc0NzgsIDk3NDg1LCA5NzQ5NywgOTc1MDYsIDk3NTEzLCA5NzUyMCwgOTc1MjcsIDk3NTM2LCAKLSAgICA5NzU0NiwgOTc1NTksIDk3NTY2LCA5NzU3NiwgOTc1ODYsIDk3NTkzLCA5NzYwMiwgOTc2MTUsIDk3NjIyLCA5NzYyOSwgCi0gICAgOTc2MzYsIDk3NjQ2LCA5NzY1NiwgOTc2NjMsIDk3NjczLCA5NzY4MCwgOTc2ODcsIDk3Njk3LCA5NzcwMywgOTc3MTAsIAotICAgIDk3NzE3LCA5NzcyNCwgOTc3MzQsIDk3NzQxLCA5Nzc0OCwgOTc3NTUsIDk3NzYxLCA5Nzc2OCwgOTc3NzgsIDk3Nzg1LCAKLSAgICA5Nzc4OSwgOTc3OTcsIDk3ODAxLCA5NzgxMywgOTc4MTcsIDk3ODMxLCA5NzgzNSwgOTc4MzksIDk3ODQzLCA5Nzg0NywgCi0gICAgOTc4NTMsIDk3ODYwLCA5Nzg2OCwgOTc4NzIsIDk3ODc2LCA5Nzg4MCwgOTc4ODQsIDk3ODkxLCA5Nzg5NSwgOTc5MDEsIAotICAgIDk3OTA3LCA5NzkxNSwgOTc5MTksIDk3OTI2LCA5NzkzNCwgOTc5MzgsIDk3OTQyLCA5Nzk0OCwgOTc5NTIsIDk3OTYxLCAKLSAgICA5Nzk3MCwgOTc5NzcsIDk3OTg3LCA5Nzk5MywgOTc5OTcsIDk4MDAxLCA5ODAwOSwgOTgwMTYsIDk4MDIzLCA5ODAyOSwgCi0gICAgOTgwMzMsIDk4MDQxLCA5ODA0NSwgOTgwNTIsIDk4MDY0LCA5ODA3MSwgOTgwODEsIDk4MDg3LCA5ODA5MSwgOTgxMDAsIAotICAgIDk4MTA3LCA5ODExNiwgOTgxMjAsIDk4MTI0LCA5ODEzMSwgOTgxMzUsIDk4MTM5LCA5ODE0MywgOTgxNDcsIDk4MTUwLCAKLSAgICA5ODE1NiwgOTgxNjIsIDk4MTY2LCA5ODE3MCwgOTgxNzcsIDk4MTg0LCA5ODE5MSwgOTgxOTgsIDk4MjA1LCA5ODIxMiwgCi0gICAgOTgyMTksIDk4MjI2LCA5ODIzMiwgOTgyMzYsIDk4MjQwLCA5ODI0NywgOTgyNTQsIDk4MjYxLCA5ODI2OCwgOTgyNzUsIAotICAgIDk4Mjc5LCA5ODI4MiwgOTgyODcsIDk4MjkxLCA5ODI5NSwgOTgzMDQsIDk4MzEzLCA5ODMxNywgOTgzMjEsIDk4MzI3LCAKLSAgICA5ODMzMywgOTgzNTAsIDk4MzU2LCA5ODM2MCwgOTgzNjksIDk4MzczLCA5ODM3NywgOTgzODQsIDk4MzkyLCA5ODQwMCwgCi0gICAgOTg0MDYsIDk4NDEwLCA5ODQxNCwgOTg0MTgsIDk4NDIyLCA5ODQyNSwgOTg0MzEsIDk4NDM4LCA5ODQ0OCwgOTg0NTUsIAotICAgIDk4NDYyLCA5ODQ2OSwgOTg0NzUsIDk4NDgyLCA5ODQ4OSwgOTg0OTYsIDk4NTAzLCA5ODUxMCwgOTg1MTksIDk4NTI2LCAKLSAgICA5ODUzOCwgOTg1NDUsIDk4NTUyLCA5ODU2MiwgOTg1NzMsIDk4NTgwLCA5ODU4NywgOTg1OTQsIDk4NjAxLCA5ODYwOCwgCi0gICAgOTg2MTUsIDk4NjIyLCA5ODYyOSwgOTg2MzYsIDk4NjQzLCA5ODY1MywgOTg2NjMsIDk4NjczLCA5ODY4MCwgOTg2OTAsIAotICAgIDk4Njk3LCA5ODcwNCwgOTg3MTEsIDk4NzE4LCA5ODcyNCwgOTg3MzEsIDk4NzM4LCA5ODc0NSwgOTg3NTIsIDk4NzU5LCAKLSAgICA5ODc2NiwgOTg3NzMsIDk4NzgwLCA5ODc4NiwgOTg3OTMsIDk4ODAwLCA5ODgwOSwgOTg4MTYsIDk4ODIzLCA5ODgyNywgCi0gICAgOTg4MzUsIDk4ODM5LCA5ODg0MywgOTg4NDcsIDk4ODUxLCA5ODg1NSwgOTg4NjIsIDk4ODY2LCA5ODg3NSwgOTg4NzksIAotICAgIDk4ODg2LCA5ODg5NCwgOTg4OTgsIDk4OTAyLCA5ODkwNiwgOTg5MTksIDk4OTM1LCA5ODkzOSwgOTg5NDMsIDk4OTUwLCAKLSAgICA5ODk1NiwgOTg5NjMsIDk4OTY3LCA5ODk3MSwgOTg5NzUsIDk4OTc5LCA5ODk4MywgOTg5OTAsIDk4OTk0LCA5OTAxMiwgCi0gICAgOTkwMTYsIDk5MDIwLCA5OTAyNywgOTkwMzEsIDk5MDM1LCA5OTA0MSwgOTkwNDUsIDk5MDQ5LCA5OTA1NywgOTkwNjEsIAotICAgIDk5MDY1LCA5OTA2OSwgOTkwNzMsIDk5MDc5LCA5OTA5MCwgOTkwOTksIDk5MTA4LCA5OTExNSwgOTkxMjIsIDk5MTMzLCAKLSAgICA5OTE0MCwgOTkxNDcsIDk5MTU0LCA5OTE2MSwgOTkxNjgsIDk5MTc1LCA5OTE4MiwgOTkxOTIsIDk5MTk4LCA5OTIwNSwgCi0gICAgOTkyMTUsIDk5MjI0LCA5OTIzMSwgOTkyNDAsIDk5MjUwLCA5OTI1NywgOTkyNjQsIDk5MjcxLCA5OTI3OCwgOTkyOTAsIAotICAgIDk5Mjk3LCA5OTMwNCwgOTkzMTEsIDk5MzE4LCA5OTMyNSwgOTkzMzUsIDk5MzQyLCA5OTM0OSwgOTkzNTksIDk5MzcyLCAKLSAgICA5OTM4NCwgOTkzOTEsIDk5NDAxLCA5OTQwOCwgOTk0MTUsIDk5NDIyLCA5OTQzNiwgOTk0NDIsIDk5NDUwLCA5OTQ2MCwgCi0gICAgOTk0NzAsIDk5NDc3LCA5OTQ4NCwgOTk0OTAsIDk5NDk0LCA5OTUwMSwgOTk1MTEsIDk5NTE3LCA5OTUzMCwgOTk1MzQsIAotICAgIDk5NTM4LCA5OTU0NSwgOTk1NDksIDk5NTU2LCA5OTU2NiwgOTk1NzAsIDk5NTc0LCA5OTU3OCwgOTk1ODIsIDk5NTg2LCAKLSAgICA5OTU5MywgOTk1OTcsIDk5NjA0LCA5OTYxMSwgOTk2MTgsIDk5NjI3LCA5OTYzNiwgOTk2NDYsIDk5NjUzLCA5OTY2MCwgCi0gICAgOTk2NjcsIDk5Njc3LCA5OTY4NCwgOTk2OTQsIDk5NzAxLCA5OTcxMSwgOTk3MTgsIDk5NzI1LCA5OTczNSwgOTk3NDUsIAotICAgIDk5NzUyLCA5OTc1OCwgOTk3NjYsIDk5Nzc0LCA5OTc4MCwgOTk3ODYsIDk5NzkwLCA5OTc5NCwgOTk4MDEsIDk5ODA5LCAKLSAgICA5OTgxNSwgOTk4MTksIDk5ODIzLCA5OTgyNywgOTk4MzQsIDk5ODQ2LCA5OTg0OSwgOTk4NTYsIDk5ODYyLCA5OTg2NiwgCi0gICAgOTk4NzAsIDk5ODc0LCA5OTg3OCwgOTk4ODIsIDk5ODg2LCA5OTg5MCwgOTk4OTQsIDk5ODk4LCA5OTkwMiwgOTk5MDksIAotICAgIDk5OTEzLCA5OTkxOSwgOTk5MjMsIDk5OTI3LCA5OTkzMSwgOTk5MzcsIDk5OTQ0LCA5OTk1MSwgOTk5NTgsIDk5OTY5LCAKLSAgICA5OTk3NywgOTk5ODEsIDk5OTg3LCA5OTk5NiwgMTAwMDAzLCAxMDAwMDksIDEwMDAxMiwgMTAwMDE2LCAxMDAwMjAsIAotICAgIDEwMDAyNiwgMTAwMDM1LCAxMDAwNDMsIDEwMDA0NywgMTAwMDUzLCAxMDAwNTcsIDEwMDA2MSwgMTAwMDY1LCAxMDAwNzEsIAotICAgIDEwMDA3OCwgMTAwMDg0LCAxMDAwODgsIDEwMDA5NCwgMTAwMDk4LCAxMDAxMDIsIDEwMDExMSwgMTAwMTIzLCAxMDAxMjcsIAotICAgIDEwMDEzNCwgMTAwMTQxLCAxMDAxNTEsIDEwMDE1OCwgMTAwMTcwLCAxMDAxNzcsIDEwMDE4NCwgMTAwMTkxLCAxMDAyMDIsIAotICAgIDEwMDIxMiwgMTAwMjI1LCAxMDAyMzUsIDEwMDI0MiwgMTAwMjQ2LCAxMDAyNTAsIDEwMDI1NCwgMTAwMjU4LCAxMDAyNjcsIAotICAgIDEwMDI3NiwgMTAwMjg1LCAxMDAzMDIsIDEwMDMxMSwgMTAwMzE3LCAxMDAzMjQsIDEwMDMzMiwgMTAwMzQ1LCAxMDAzNDksIAotICAgIDEwMDM1OCwgMTAwMzY3LCAxMDAzNzYsIDEwMDM4NSwgMTAwMzk2LCAxMDA0MDUsIDEwMDQxNCwgMTAwNDIzLCAxMDA0MzIsIAotICAgIDEwMDQ0MSwgMTAwNDUwLCAxMDA0NjAsIDEwMDQ2MywgMTAwNDY3LCAxMDA0NzEsIDEwMDQ3NSwgMTAwNDc5LCAxMDA0ODMsIAotICAgIDEwMDQ4OSwgMTAwNDk2LCAxMDA1MDMsIDEwMDUxMCwgMTAwNTE2LCAxMDA1MjIsIDEwMDUyOSwgMTAwNTM1LCAxMDA1NDIsIAotICAgIDEwMDU1MCwgMTAwNTU0LCAxMDA1NjEsIDEwMDU2OCwgMTAwNTc1LCAxMDA1ODMsIDEwMDU4NiwgMTAwNTkwLCAxMDA1OTQsIAotICAgIDEwMDU5OCwgMTAwNjAxLCAxMDA2MDcsIDEwMDYxMSwgMTAwNjE3LCAxMDA2MjQsIDEwMDYzMSwgMTAwNjM3LCAxMDA2NDQsIAotICAgIDEwMDY1MSwgMTAwNjU4LCAxMDA2NjUsIDEwMDY3MiwgMTAwNjc5LCAxMDA2ODYsIDEwMDY5MywgMTAwNzAwLCAxMDA3MDcsIAotICAgIDEwMDcxNCwgMTAwNzIxLCAxMDA3MjgsIDEwMDczNSwgMTAwNzQxLCAxMDA3NDUsIDEwMDc1NCwgMTAwNzU4LCAxMDA3NjIsIAotICAgIDEwMDc2NiwgMTAwNzcwLCAxMDA3NzYsIDEwMDc4MywgMTAwNzkwLCAxMDA3OTcsIDEwMDgwNCwgMTAwODExLCAxMDA4MTcsIAotICAgIDEwMDgyNSwgMTAwODI5LCAxMDA4MzMsIDEwMDgzNywgMTAwODQxLCAxMDA4NDcsIDEwMDg2NCwgMTAwODgxLCAxMDA4ODUsIAotICAgIDEwMDg4OSwgMTAwODkzLCAxMDA4OTcsIDEwMDkwMSwgMTAwOTA1LCAxMDA5MTEsIDEwMDkxOCwgMTAwOTIyLCAxMDA5MjgsIAotICAgIDEwMDkzNSwgMTAwOTQyLCAxMDA5NDksIDEwMDk1NiwgMTAwOTYzLCAxMDA5NzIsIDEwMDk3OSwgMTAwOTg2LCAxMDA5OTMsIAotICAgIDEwMTAwMCwgMTAxMDA0LCAxMDEwMDgsIDEwMTAxNCwgMTAxMDI2LCAxMDEwMzAsIDEwMTAzNCwgMTAxMDQzLCAxMDEwNDcsIAotICAgIDEwMTA1MSwgMTAxMDU1LCAxMDEwNjEsIDEwMTA2NSwgMTAxMDY5LCAxMDEwNzgsIDEwMTA4MiwgMTAxMDg2LCAxMDEwOTAsIAotICAgIDEwMTA5NywgMTAxMTAxLCAxMDExMDUsIDEwMTEwOSwgMTAxMTEzLCAxMDExMTcsIDEwMTEyMSwgMTAxMTI1LCAxMDExMjksIAotICAgIDEwMTEzNSwgMTAxMTQyLCAxMDExNDksIDEwMTE1NSwgMTAxMTU5LCAxMDExNzYsIDEwMTE4MiwgMTAxMTg2LCAxMDExOTIsIAotICAgIDEwMTE5OCwgMTAxMjA0LCAxMDEyMTAsIDEwMTIxNiwgMTAxMjIyLCAxMDEyMjYsIDEwMTIzMCwgMTAxMjM0LCAxMDEyNDAsIAotICAgIDEwMTI0NCwgMTAxMjUwLCAxMDEyNTQsIDEwMTI1OCwgMTAxMjY1LCAxMDEyNzIsIDEwMTI4OSwgMTAxMjkzLCAxMDEyOTcsIAotICAgIDEwMTMwMSwgMTAxMzA1LCAxMDEzMDksIDEwMTMyMSwgMTAxMzI0LCAxMDEzMjksIDEwMTMzNCwgMTAxMzQ5LCAxMDEzNTksIAotICAgIDEwMTM3MSwgMTAxMzc1LCAxMDEzNzksIDEwMTM4MywgMTAxMzg5LCAxMDEzOTYsIDEwMTQwMywgMTAxNDEzLCAxMDE0MjUsIAotICAgIDEwMTQzMSwgMTAxNDM3LCAxMDE0NDYsIDEwMTQ1MCwgMTAxNDU0LCAxMDE0NjEsIDEwMTQ3MSwgMTAxNDc4LCAxMDE0ODQsIAotICAgIDEwMTQ4OCwgMTAxNDkyLCAxMDE0OTksIDEwMTUwNSwgMTAxNTA5LCAxMDE1MTUsIDEwMTUxOSwgMTAxNTI3LCAxMDE1MzMsIAotICAgIDEwMTUzNywgMTAxNTQ1LCAxMDE1NTMsIDEwMTU2MCwgMTAxNTY2LCAxMDE1NzMsIDEwMTU4MCwgMTAxNTkwLCAxMDE2MDAsIAotICAgIDEwMTYwNCwgMTAxNjA4LCAxMDE2MTIsIDEwMTYxNiwgMTAxNjIyLCAxMDE2MjksIDEwMTYzNSwgMTAxNjQyLCAxMDE2NDksIAotICAgIDEwMTY1NiwgMTAxNjY1LCAxMDE2NzIsIDEwMTY3OSwgMTAxNjg1LCAxMDE2OTIsIDEwMTY5OSwgMTAxNzA2LCAxMDE3MTMsIAotICAgIDEwMTcyMCwgMTAxNzI3LCAxMDE3MzMsIDEwMTc0MCwgMTAxNzQ3LCAxMDE3NTQsIDEwMTc2MywgMTAxNzcwLCAxMDE3NzcsIAotICAgIDEwMTc4MSwgMTAxNzg3LCAxMDE3OTEsIDEwMTc5NywgMTAxODA0LCAxMDE4MTEsIDEwMTgxOCwgMTAxODIyLCAxMDE4MjYsIAotICAgIDEwMTgzMCwgMTAxODM0LCAxMDE4MzgsIDEwMTg0NSwgMTAxODQ5LCAxMDE4NTMsIDEwMTg1OSwgMTAxODY3LCAxMDE4NzEsIAotICAgIDEwMTg3NSwgMTAxODc5LCAxMDE4ODMsIDEwMTg5MCwgMTAxODk0LCAxMDE4OTgsIDEwMTkwNiwgMTAxOTEwLCAxMDE5MTQsIAotICAgIDEwMTkxOCwgMTAxOTIyLCAxMDE5MjgsIDEwMTkzMiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMTAxOTM2LCAxMDE5NDIsIDEwMTk0OCwgMTAxOTU1LCAxMDE5NjIsIDEwMTk2OSwgMTAxOTc2LCAxMDE5ODMsIAotICAgIDEwMTk5MCwgMTAxOTk2LCAxMDIwMDMsIDEwMjAxMCwgMTAyMDE3LCAxMDIwMjQsIDEwMjAzMSwgMTAyMDM4LCAxMDIwNDQsIAotICAgIDEwMjA1MCwgMTAyMDU2LCAxMDIwNjIsIDEwMjA2OCwgMTAyMDc0LCAxMDIwODAsIDEwMjA4NiwgMTAyMDkyLCAxMDIwOTksIAotICAgIDEwMjEwNiwgMTAyMTEzLCAxMDIxMjAsIDEwMjEyNywgMTAyMTM0LCAxMDIxNDAsIDEwMjE0NiwgMTAyMTUyLCAxMDIxNTksIAotICAgIDEwMjE2NiwgMTAyMTcyLCAxMDIxNzgsIDEwMjE4NywgMTAyMTk0LCAxMDIyMDEsIDEwMjIwOCwgMTAyMjE1LCAxMDIyMjIsIAotICAgIDEwMjIyOSwgMTAyMjM1LCAxMDIyNDEsIDEwMjI0NywgMTAyMjU2LCAxMDIyNjMsIDEwMjI3MCwgMTAyMjgxLCAxMDIyOTIsIAotICAgIDEwMjI5OCwgMTAyMzA0LCAxMDIzMTAsIDEwMjMxOSwgMTAyMzI2LCAxMDIzMzMsIDEwMjM0MywgMTAyMzUzLCAxMDIzNjQsIAotICAgIDEwMjM3NSwgMTAyMzg3LCAxMDI0MDAsIDEwMjQxMSwgMTAyNDIyLCAxMDI0MzQsIDEwMjQ0NywgMTAyNDU4LCAxMDI0NjksIAotICAgIDEwMjQ4MCwgMTAyNDkxLCAxMDI1MDIsIDEwMjUxNCwgMTAyNTIyLCAxMDI1MzAsIDEwMjUzOSwgMTAyNTQ4LCAxMDI1NTcsIAotICAgIDEwMjU2MywgMTAyNTY5LCAxMDI1NzUsIDEwMjU4MiwgMTAyNTkyLCAxMDI1OTksIDEwMjYwOSwgMTAyNjE0LCAxMDI2MTksIAotICAgIDEwMjYyNSwgMTAyNjMxLCAxMDI2MzksIDEwMjY0NywgMTAyNjU2LCAxMDI2NjcsIDEwMjY3OCwgMTAyNjg2LCAxMDI2OTQsIAotICAgIDEwMjcwMywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTAyNzEyLCAxMDI3MjMsIDEwMjczMCwgCi0gICAgMTAyNzM4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMDI3NDYsIDEwMjc1MCwgMTAyNzU0LCAKLSAgICAxMDI3NTgsIDEwMjc2MiwgMTAyNzY2LCAxMDI3NzAsIDEwMjc3NCwgMTAyNzc4LCAxMDI3ODIsIDEwMjc4NiwgMTAyNzkwLCAKLSAgICAxMDI3OTQsIDEwMjc5OCwgMTAyODAyLCAxMDI4MDYsIDEwMjgxMCwgMTAyODE0LCAxMDI4MTgsIDEwMjgyMiwgMTAyODI2LCAKLSAgICAxMDI4MzAsIDEwMjgzNCwgMTAyODM4LCAxMDI4NDIsIDEwMjg0NiwgMTAyODUwLCAxMDI4NTQsIDEwMjg1OCwgMTAyODYyLCAKLSAgICAxMDI4NjYsIDEwMjg3MCwgMTAyODc0LCAxMDI4NzgsIDEwMjg4MiwgMTAyODg2LCAxMDI4OTAsIDEwMjg5NCwgMTAyODk4LCAKLSAgICAxMDI5MDIsIDEwMjkwNiwgMTAyOTEwLCAxMDI5MTQsIDEwMjkxOCwgMTAyOTIyLCAxMDI5MjYsIDEwMjkzMCwgMTAyOTM0LCAKLSAgICAxMDI5MzgsIDEwMjk0MiwgMTAyOTQ2LCAxMDI5NTAsIDEwMjk1NCwgMTAyOTU4LCAxMDI5NjIsIDEwMjk2NiwgMTAyOTcwLCAKLSAgICAxMDI5NzQsIDEwMjk3OCwgMTAyOTgyLCAxMDI5ODYsIDEwMjk5MCwgMTAyOTk0LCAxMDI5OTgsIDEwMzAwMiwgMTAzMDA2LCAKLSAgICAxMDMwMTAsIDEwMzAxNCwgMTAzMDE4LCAxMDMwMjIsIDEwMzAyNiwgMTAzMDMwLCAxMDMwMzQsIDEwMzAzOCwgMTAzMDQyLCAKLSAgICAxMDMwNDYsIDEwMzA1MCwgMTAzMDU0LCAxMDMwNTgsIDEwMzA2MiwgMTAzMDY2LCAxMDMwNzAsIDEwMzA3NCwgMTAzMDc4LCAKLSAgICAxMDMwODIsIDEwMzA4NiwgMTAzMDkwLCAxMDMwOTQsIDEwMzA5OCwgMTAzMTAyLCAxMDMxMDYsIDEwMzExMCwgMTAzMTE0LCAKLSAgICAxMDMxMTgsIDEwMzEyMiwgMTAzMTI2LCAxMDMxMzAsIDEwMzEzNCwgMTAzMTM4LCAxMDMxNDIsIDEwMzE0NiwgMTAzMTUwLCAKLSAgICAxMDMxNTQsIDEwMzE1OCwgMTAzMTYyLCAxMDMxNjYsIDEwMzE3MCwgMTAzMTc0LCAxMDMxNzgsIDEwMzE4MiwgMTAzMTg2LCAKLSAgICAxMDMxOTAsIDEwMzE5NCwgMTAzMTk4LCAxMDMyMDIsIDEwMzIwNiwgMTAzMjEwLCAxMDMyMTQsIDEwMzIxOCwgMTAzMjIyLCAKLSAgICAxMDMyMjYsIDEwMzIzMCwgMTAzMjM0LCAxMDMyMzgsIDEwMzI0MiwgMTAzMjQ2LCAxMDMyNTAsIDEwMzI1NCwgMTAzMjU4LCAKLSAgICAxMDMyNjIsIDEwMzI2NiwgMTAzMjcwLCAxMDMyNzQsIDEwMzI3OCwgMTAzMjgyLCAxMDMyODYsIDEwMzI5MCwgMTAzMjk0LCAKLSAgICAxMDMyOTgsIDEwMzMwMiwgMTAzMzA2LCAxMDMzMTAsIDEwMzMxNCwgMTAzMzE4LCAxMDMzMjIsIDEwMzMyNiwgMTAzMzMwLCAKLSAgICAxMDMzMzQsIDEwMzMzOCwgMTAzMzQyLCAxMDMzNDYsIDEwMzM1MCwgMTAzMzU0LCAxMDMzNTgsIDEwMzM2MiwgMTAzMzY2LCAKLSAgICAxMDMzNzAsIDEwMzM3NCwgMTAzMzc4LCAxMDMzODIsIDEwMzM4NiwgMTAzMzkwLCAxMDMzOTQsIDEwMzM5OCwgMTAzNDAyLCAKLSAgICAxMDM0MDYsIDEwMzQxMCwgMTAzNDE0LCAxMDM0MTgsIDEwMzQyMiwgMTAzNDI2LCAxMDM0MzAsIDEwMzQzNCwgMTAzNDM4LCAKLSAgICAxMDM0NDIsIDEwMzQ0NiwgMTAzNDUwLCAxMDM0NTQsIDEwMzQ1OCwgMTAzNDYyLCAxMDM0NjYsIDEwMzQ3MCwgMTAzNDc0LCAKLSAgICAxMDM0NzgsIDEwMzQ4MiwgMTAzNDg2LCAxMDM0OTAsIDEwMzQ5NCwgMTAzNDk4LCAxMDM1MDIsIDEwMzUwNiwgMTAzNTEwLCAKLSAgICAxMDM1MTQsIDEwMzUxOCwgMTAzNTIyLCAxMDM1MjYsIDEwMzUzMCwgMTAzNTM0LCAxMDM1MzgsIDEwMzU0MiwgMTAzNTQ2LCAKLSAgICAxMDM1NTAsIDEwMzU1NCwgMTAzNTU4LCAxMDM1NjIsIDEwMzU2NiwgMTAzNTcwLCAxMDM1NzQsIDEwMzU3OCwgMTAzNTgyLCAKLSAgICAxMDM1ODYsIDEwMzU5MCwgMTAzNTk0LCAxMDM1OTgsIDEwMzYwMiwgMTAzNjA2LCAxMDM2MTAsIDEwMzYxNCwgMTAzNjE4LCAKLSAgICAxMDM2MjIsIDEwMzYyNiwgMTAzNjMwLCAxMDM2MzQsIDEwMzYzOCwgMTAzNjQyLCAxMDM2NDYsIDEwMzY1MCwgMTAzNjU0LCAKLSAgICAxMDM2NTgsIDEwMzY2MiwgMTAzNjY2LCAxMDM2NzAsIDEwMzY3NCwgMTAzNjc4LCAxMDM2ODIsIDEwMzY4NiwgMTAzNjkwLCAKLSAgICAxMDM2OTQsIDEwMzY5OCwgMTAzNzAyLCAxMDM3MDYsIDEwMzcxMCwgMTAzNzE0LCAxMDM3MTgsIDEwMzcyMiwgMTAzNzI2LCAKLSAgICAxMDM3MzAsIDEwMzczNCwgMTAzNzM4LCAxMDM3NDIsIDEwMzc0NiwgMTAzNzUwLCAxMDM3NTQsIDEwMzc1OCwgMTAzNzYyLCAKLSAgICAxMDM3NjYsIDEwMzc3MCwgMTAzNzc0LCAxMDM3NzgsIDEwMzc4MiwgMTAzNzg2LCAxMDM3OTAsIDEwMzc5NCwgMTAzNzk4LCAKLSAgICAxMDM4MDIsIDEwMzgwNiwgMTAzODEwLCAxMDM4MTQsIDEwMzgxOCwgMTAzODIyLCAxMDM4MjYsIDEwMzgzMCwgMTAzODM0LCAKLSAgICAxMDM4MzgsIDEwMzg0MiwgMTAzODQ2LCAxMDM4NTAsIDEwMzg1NCwgMTAzODU4LCAxMDM4NjIsIDEwMzg2NiwgMTAzODcwLCAKLSAgICAxMDM4NzQsIDEwMzg3OCwgMTAzODgyLCAxMDM4ODYsIDEwMzg5MCwgMTAzODk0LCAxMDM4OTgsIDEwMzkwMiwgMTAzOTA2LCAKLSAgICAxMDM5MTAsIDEwMzkxNCwgMTAzOTE4LCAxMDM5MjIsIDEwMzkyNiwgMTAzOTMwLCAxMDM5MzQsIDEwMzkzOCwgMTAzOTQyLCAKLSAgICAxMDM5NDYsIDEwMzk1MCwgMTAzOTU0LCAxMDM5NTgsIDEwMzk2MiwgMTAzOTY2LCAxMDM5NzAsIDEwMzk3NCwgMTAzOTc4LCAKLSAgICAxMDM5ODIsIDEwMzk4NiwgMTAzOTkwLCAxMDM5OTQsIDEwMzk5OCwgMTA0MDAyLCAxMDQwMDYsIDEwNDAxMCwgMTA0MDE0LCAKLSAgICAxMDQwMTgsIDEwNDAyMiwgMTA0MDI2LCAxMDQwMzAsIDEwNDAzNCwgMTA0MDM4LCAxMDQwNDIsIDEwNDA0NiwgMTA0MDUwLCAKLSAgICAxMDQwNTQsIDEwNDA1OCwgMTA0MDYyLCAxMDQwNjYsIDEwNDA3MCwgMTA0MDc0LCAxMDQwNzgsIDEwNDA4MiwgMTA0MDg2LCAKLSAgICAxMDQwOTAsIDEwNDA5NCwgMTA0MDk4LCAxMDQxMDIsIDEwNDEwNiwgMTA0MTEwLCAxMDQxMTQsIDEwNDExOCwgMTA0MTIyLCAKLSAgICAxMDQxMjYsIDEwNDEzMCwgMTA0MTM0LCAxMDQxMzgsIDEwNDE0MiwgMTA0MTQ2LCAxMDQxNTAsIDEwNDE1NCwgMTA0MTU4LCAKLSAgICAxMDQxNjIsIDEwNDE2NiwgMTA0MTcwLCAxMDQxNzQsIDEwNDE3OCwgMTA0MTgyLCAxMDQxODYsIDEwNDE5MCwgMTA0MTk0LCAKLSAgICAxMDQxOTgsIDEwNDIwMiwgMTA0MjA2LCAxMDQyMTAsIDEwNDIxNCwgMTA0MjE4LCAxMDQyMjIsIDEwNDIyNiwgMTA0MjMwLCAKLSAgICAxMDQyMzQsIDEwNDIzOCwgMTA0MjQyLCAxMDQyNDYsIDEwNDI1MCwgMTA0MjU0LCAxMDQyNTgsIDEwNDI2MiwgMTA0MjY2LCAKLSAgICAxMDQyNzAsIDEwNDI3NCwgMTA0Mjc4LCAxMDQyODIsIDEwNDI4NiwgMTA0MjkwLCAxMDQyOTQsIDEwNDI5OCwgMTA0MzAyLCAKLSAgICAxMDQzMDYsIDEwNDMxMCwgMTA0MzE0LCAxMDQzMTgsIDEwNDMyMiwgMTA0MzI2LCAxMDQzMzAsIDEwNDMzNCwgMTA0MzM4LCAKLSAgICAxMDQzNDIsIDEwNDM0NiwgMTA0MzUwLCAxMDQzNTQsIDEwNDM1OCwgMTA0MzYyLCAxMDQzNjYsIDEwNDM3MCwgMTA0Mzc0LCAKLSAgICAxMDQzNzgsIDEwNDM4MiwgMTA0Mzg2LCAxMDQzOTAsIDEwNDM5NCwgMTA0Mzk4LCAxMDQ0MDIsIDEwNDQwNiwgMTA0NDEwLCAKLSAgICAxMDQ0MTQsIDEwNDQxOCwgMTA0NDIyLCAxMDQ0MjYsIDEwNDQzMCwgMTA0NDM0LCAxMDQ0MzgsIDEwNDQ0MiwgMTA0NDQ2LCAKLSAgICAxMDQ0NTAsIDEwNDQ1NCwgMTA0NDU4LCAxMDQ0NjIsIDEwNDQ2NiwgMTA0NDcwLCAxMDQ0NzQsIDEwNDQ3OCwgMTA0NDgyLCAKLSAgICAxMDQ0ODYsIDEwNDQ5MCwgMTA0NDk0LCAxMDQ0OTgsIDEwNDUwMiwgMTA0NTA2LCAxMDQ1MTAsIDEwNDUxNCwgMTA0NTE4LCAKLSAgICAxMDQ1MjIsIDEwNDUyNiwgMTA0NTMwLCAxMDQ1MzQsIDEwNDUzOCwgMTA0NTQyLCAxMDQ1NDYsIDEwNDU1MCwgMTA0NTU0LCAKLSAgICAxMDQ1NTgsIDEwNDU2MiwgMTA0NTY2LCAxMDQ1NzAsIDEwNDU3NCwgMTA0NTc4LCAxMDQ1ODIsIDEwNDU4NiwgMTA0NTkwLCAKLSAgICAxMDQ1OTQsIDEwNDU5OCwgMTA0NjAyLCAxMDQ2MDYsIDEwNDYxMCwgMTA0NjE0LCAxMDQ2MTgsIDEwNDYyMiwgMTA0NjI2LCAKLSAgICAxMDQ2MzAsIDEwNDYzNCwgMTA0NjM4LCAxMDQ2NDIsIDEwNDY0NiwgMTA0NjUwLCAxMDQ2NTQsIDEwNDY1OCwgMTA0NjYyLCAKLSAgICAxMDQ2NjYsIDEwNDY3MCwgMTA0Njc0LCAxMDQ2NzgsIDEwNDY4MiwgMTA0Njg2LCAxMDQ2OTAsIDEwNDY5NCwgMTA0Njk4LCAKLSAgICAxMDQ3MDIsIDEwNDcwNiwgMTA0NzEwLCAxMDQ3MTQsIDEwNDcxOCwgMTA0NzIyLCAxMDQ3MjYsIDEwNDczMCwgMTA0NzM0LCAKLSAgICAxMDQ3MzgsIDEwNDc0MiwgMTA0NzQ2LCAxMDQ3NTAsIDEwNDc1NCwgMTA0NzU4LCAxMDQ3NjIsIDEwNDc2NiwgMTA0NzcwLCAKLSAgICAxMDQ3NzQsIDEwNDc3OCwgMTA0NzgyLCAxMDQ3ODYsIDEwNDc5MCwgMTA0Nzk0LCAxMDQ3OTgsIDEwNDgwMiwgMTA0ODA2LCAKLSAgICAxMDQ4MTAsIDEwNDgxNCwgMTA0ODE4LCAxMDQ4MjIsIDEwNDgyNiwgMTA0ODMwLCAxMDQ4MzQsIDEwNDgzOCwgMTA0ODQyLCAKLSAgICAxMDQ4NDYsIDEwNDg1MCwgMTA0ODU0LCAxMDQ4NTgsIDEwNDg2MiwgMTA0ODY2LCAxMDQ4NzAsIDEwNDg3NCwgMTA0ODc4LCAKLSAgICAxMDQ4ODIsIDEwNDg4NiwgMTA0ODkwLCAxMDQ4OTQsIDEwNDg5OCwgMTA0OTAyLCAxMDQ5MDYsIDEwNDkxMCwgMTA0OTE0LCAKLSAgICAxMDQ5MTgsIDEwNDkyMiwgMTA0OTI2LCAxMDQ5MzAsIDEwNDkzNCwgMTA0OTM4LCAxMDQ5NDIsIDEwNDk0NiwgMTA0OTUwLCAKLSAgICAxMDQ5NTQsIDEwNDk1OCwgMTA0OTYyLCAxMDQ5NjYsIDEwNDk3MCwgMTA0OTc0LCAxMDQ5NzgsIDEwNDk4MiwgMTA0OTg2LCAKLSAgICAxMDQ5OTAsIDEwNDk5NCwgMTA0OTk4LCAxMDUwMDIsIDEwNTAwNiwgMTA1MDEwLCAxMDUwMTQsIDEwNTAxOCwgMTA1MDIyLCAKLSAgICAxMDUwMjYsIDEwNTAzMCwgMTA1MDM0LCAxMDUwMzgsIDEwNTA0MiwgMTA1MDQ2LCAxMDUwNTAsIDEwNTA1NCwgMTA1MDU4LCAKLSAgICAxMDUwNjIsIDEwNTA2NiwgMTA1MDcwLCAxMDUwNzQsIDEwNTA3OCwgMTA1MDgyLCAxMDUwODYsIDEwNTA5MCwgMTA1MDk0LCAKLSAgICAxMDUwOTgsIDEwNTEwMiwgMTA1MTA2LCAxMDUxMTAsIDEwNTExNCwgMTA1MTE4LCAxMDUxMjIsIDEwNTEyNiwgMTA1MTMwLCAKLSAgICAxMDUxMzQsIDEwNTEzOCwgMTA1MTQyLCAxMDUxNDYsIDEwNTE1MCwgMTA1MTU0LCAxMDUxNTgsIDEwNTE2MiwgMTA1MTY2LCAKLSAgICAxMDUxNzAsIDEwNTE3NCwgMTA1MTc4LCAxMDUxODIsIDEwNTE4NiwgMTA1MTkwLCAxMDUxOTQsIDEwNTE5OCwgMTA1MjAyLCAKLSAgICAxMDUyMDYsIDEwNTIxMCwgMTA1MjE0LCAxMDUyMTgsIDEwNTIyMiwgMTA1MjI2LCAxMDUyMzAsIDEwNTIzNCwgMTA1MjM4LCAKLSAgICAxMDUyNDIsIDEwNTI0NiwgMTA1MjUwLCAxMDUyNTQsIDEwNTI1OCwgMTA1MjYyLCAxMDUyNjYsIDEwNTI3MCwgMTA1Mjc0LCAKLSAgICAxMDUyNzgsIDEwNTI4MiwgMTA1Mjg2LCAxMDUyOTAsIDEwNTI5NCwgMTA1Mjk4LCAxMDUzMDIsIDEwNTMwNiwgMTA1MzEwLCAKLSAgICAxMDUzMTQsIDEwNTMxOCwgMTA1MzIyLCAxMDUzMjYsIDEwNTMzMCwgMTA1MzM0LCAxMDUzMzgsIDEwNTM0MiwgMTA1MzQ2LCAKLSAgICAxMDUzNTAsIDEwNTM1NCwgMTA1MzU4LCAxMDUzNjIsIDEwNTM2NiwgMTA1MzcwLCAxMDUzNzQsIDEwNTM3OCwgMTA1MzgyLCAKLSAgICAxMDUzODYsIDEwNTM5MCwgMTA1Mzk0LCAxMDUzOTgsIDEwNTQwMiwgMTA1NDA2LCAxMDU0MTAsIDEwNTQxNCwgMTA1NDE4LCAKLSAgICAxMDU0MjIsIDEwNTQyNiwgMTA1NDMwLCAxMDU0MzQsIDEwNTQzOCwgMTA1NDQyLCAxMDU0NDYsIDEwNTQ1MCwgMTA1NDU0LCAKLSAgICAxMDU0NTgsIDEwNTQ2MiwgMTA1NDY2LCAxMDU0NzAsIDEwNTQ3NCwgMTA1NDc4LCAxMDU0ODIsIDEwNTQ4NiwgMTA1NDkwLCAKLSAgICAxMDU0OTQsIDEwNTQ5OCwgMTA1NTAyLCAxMDU1MDYsIDEwNTUxMCwgMTA1NTE0LCAxMDU1MTgsIDEwNTUyMiwgMTA1NTI2LCAKLSAgICAxMDU1MzAsIDEwNTUzNCwgMTA1NTM4LCAxMDU1NDIsIDEwNTU0NiwgMTA1NTUwLCAxMDU1NTQsIDEwNTU1OCwgMTA1NTYyLCAKLSAgICAxMDU1NjYsIDEwNTU3MCwgMTA1NTc0LCAxMDU1NzgsIDEwNTU4MiwgMTA1NTg2LCAxMDU1OTAsIDEwNTU5NCwgMTA1NTk4LCAKLSAgICAxMDU2MDIsIDEwNTYwNiwgMTA1NjEwLCAxMDU2MTQsIDEwNTYxOCwgMTA1NjIyLCAxMDU2MjYsIDEwNTYzMCwgMTA1NjM0LCAKLSAgICAxMDU2MzgsIDEwNTY0MiwgMTA1NjQ2LCAxMDU2NTAsIDEwNTY1NCwgMTA1NjU4LCAxMDU2NjIsIDEwNTY2NiwgMTA1NjcwLCAKLSAgICAxMDU2NzQsIDEwNTY3OCwgMTA1NjgyLCAxMDU2ODYsIDEwNTY5MCwgMTA1Njk0LCAxMDU2OTgsIDEwNTcwMiwgMTA1NzA2LCAKLSAgICAxMDU3MTAsIDEwNTcxNCwgMTA1NzE4LCAxMDU3MjIsIDEwNTcyNiwgMTA1NzMwLCAxMDU3MzQsIDEwNTczOCwgMTA1NzQyLCAKLSAgICAxMDU3NDYsIDEwNTc1MCwgMTA1NzU0LCAxMDU3NTgsIDEwNTc2MiwgMTA1NzY2LCAxMDU3NzAsIDEwNTc3NCwgMTA1Nzc4LCAKLSAgICAxMDU3ODIsIDEwNTc4NiwgMTA1NzkwLCAxMDU3OTQsIDEwNTc5OCwgMTA1ODAyLCAxMDU4MDYsIDEwNTgxMCwgMTA1ODE0LCAKLSAgICAxMDU4MTgsIDEwNTgyMiwgMTA1ODI2LCAxMDU4MzAsIDEwNTgzNCwgMTA1ODM4LCAxMDU4NDIsIDEwNTg0NiwgMTA1ODUwLCAKLSAgICAxMDU4NTQsIDEwNTg1OCwgMTA1ODYyLCAxMDU4NjYsIDEwNTg3MCwgMTA1ODc0LCAxMDU4NzgsIDEwNTg4MiwgMTA1ODg2LCAKLSAgICAxMDU4OTAsIDEwNTg5NCwgMTA1ODk4LCAxMDU5MDIsIDEwNTkwNiwgMTA1OTEwLCAxMDU5MTQsIDEwNTkxOCwgMTA1OTIyLCAKLSAgICAxMDU5MjYsIDEwNTkzMCwgMTA1OTM0LCAxMDU5MzgsIDEwNTk0MiwgMTA1OTQ2LCAxMDU5NTAsIDEwNTk1NCwgMTA1OTU4LCAKLSAgICAxMDU5NjIsIDEwNTk2NiwgMTA1OTcwLCAxMDU5NzQsIDEwNTk3OCwgMTA1OTgyLCAxMDU5ODYsIDEwNTk5MCwgMTA1OTk0LCAKLSAgICAxMDU5OTgsIDEwNjAwMiwgMTA2MDA2LCAxMDYwMTAsIDEwNjAxNCwgMTA2MDE4LCAxMDYwMjIsIDEwNjAyNiwgMTA2MDMwLCAKLSAgICAxMDYwMzQsIDEwNjAzOCwgMTA2MDQyLCAxMDYwNDYsIDEwNjA1MCwgMTA2MDU0LCAxMDYwNTgsIDEwNjA2MiwgMTA2MDY2LCAKLSAgICAxMDYwNzAsIDEwNjA3NCwgMTA2MDc4LCAxMDYwODIsIDEwNjA4NiwgMTA2MDkwLCAxMDYwOTQsIDEwNjA5OCwgMTA2MTAyLCAKLSAgICAxMDYxMDYsIDEwNjExMCwgMTA2MTE0LCAxMDYxMTgsIDEwNjEyMiwgMTA2MTI2LCAxMDYxMzAsIDEwNjEzNCwgMTA2MTM4LCAKLSAgICAxMDYxNDIsIDEwNjE0NiwgMTA2MTUwLCAxMDYxNTQsIDEwNjE1OCwgMTA2MTYyLCAxMDYxNjYsIDEwNjE3MCwgMTA2MTc0LCAKLSAgICAxMDYxNzgsIDEwNjE4MiwgMTA2MTg2LCAxMDYxOTAsIDEwNjE5NCwgMTA2MTk4LCAxMDYyMDIsIDEwNjIwNiwgMTA2MjEwLCAKLSAgICAxMDYyMTQsIDEwNjIxOCwgMTA2MjIyLCAxMDYyMjYsIDEwNjIzMCwgMTA2MjM0LCAxMDYyMzgsIDEwNjI0MiwgMTA2MjQ2LCAKLSAgICAxMDYyNTAsIDEwNjI1NCwgMTA2MjU4LCAxMDYyNjIsIDEwNjI2NiwgMTA2MjcwLCAxMDYyNzQsIDEwNjI3OCwgMTA2MjgyLCAKLSAgICAxMDYyODYsIDEwNjI5MCwgMTA2Mjk0LCAxMDYyOTgsIDEwNjMwMiwgMTA2MzA2LCAxMDYzMTAsIDEwNjMxNCwgMTA2MzE4LCAKLSAgICAxMDYzMjIsIDEwNjMyNiwgMTA2MzMwLCAxMDYzMzQsIDEwNjMzOCwgMTA2MzQyLCAxMDYzNDYsIDEwNjM1MCwgMTA2MzU0LCAKLSAgICAxMDYzNTgsIDEwNjM2MiwgMTA2MzY2LCAxMDYzNzAsIDEwNjM3NCwgMTA2Mzc4LCAxMDYzODIsIDEwNjM4NiwgMTA2MzkwLCAKLSAgICAxMDYzOTQsIDEwNjM5OCwgMTA2NDAyLCAxMDY0MDYsIDEwNjQxMCwgMTA2NDE0LCAxMDY0MTgsIDEwNjQyMiwgMTA2NDI2LCAKLSAgICAxMDY0MzAsIDEwNjQzNCwgMTA2NDM4LCAxMDY0NDIsIDEwNjQ0NiwgMTA2NDUwLCAxMDY0NTQsIDEwNjQ1OCwgMTA2NDYyLCAKLSAgICAxMDY0NjYsIDEwNjQ3MCwgMTA2NDc0LCAxMDY0NzgsIDEwNjQ4MiwgMTA2NDg2LCAxMDY0OTAsIDEwNjQ5NCwgMTA2NDk4LCAKLSAgICAxMDY1MDIsIDEwNjUwNiwgMTA2NTEwLCAxMDY1MTQsIDEwNjUxOCwgMTA2NTIyLCAxMDY1MjYsIDEwNjUzMCwgMTA2NTM0LCAKLSAgICAxMDY1MzgsIDEwNjU0MiwgMTA2NTQ2LCAxMDY1NTAsIDEwNjU1NCwgMTA2NTU4LCAxMDY1NjIsIDEwNjU2NiwgMTA2NTcwLCAKLSAgICAxMDY1NzQsIDEwNjU3OCwgMTA2NTgyLCAxMDY1ODYsIDEwNjU5MCwgMTA2NTk0LCAxMDY1OTgsIDEwNjYwMiwgMTA2NjA2LCAKLSAgICAxMDY2MTAsIDEwNjYxNCwgMTA2NjE4LCAxMDY2MjIsIDEwNjYyNiwgMTA2NjMwLCAxMDY2MzQsIDEwNjYzOCwgMTA2NjQyLCAKLSAgICAxMDY2NDYsIDEwNjY1MCwgMTA2NjU0LCAxMDY2NTgsIDEwNjY2MiwgMTA2NjY2LCAxMDY2NzAsIDEwNjY3NCwgMTA2Njc4LCAKLSAgICAxMDY2ODIsIDEwNjY4NiwgMTA2NjkwLCAxMDY2OTQsIDEwNjY5OCwgMTA2NzAyLCAxMDY3MDYsIDEwNjcxMCwgMTA2NzE0LCAKLSAgICAxMDY3MTgsIDEwNjcyMiwgMTA2NzI2LCAxMDY3MzAsIDEwNjczNCwgMTA2NzM4LCAxMDY3NDIsIDEwNjc0NiwgMTA2NzUwLCAKLSAgICAxMDY3NTQsIDEwNjc1OCwgMTA2NzYyLCAxMDY3NjYsIDEwNjc3MCwgMTA2Nzc0LCAxMDY3NzgsIDEwNjc4MiwgMTA2Nzg2LCAKLSAgICAxMDY3OTAsIDEwNjc5NCwgMTA2Nzk4LCAxMDY4MDIsIDEwNjgwNiwgMTA2ODEwLCAxMDY4MTQsIDEwNjgxOCwgMTA2ODIyLCAKLSAgICAxMDY4MjYsIDEwNjgzMCwgMTA2ODM0LCAxMDY4MzgsIDEwNjg0MiwgMTA2ODQ2LCAxMDY4NTAsIDEwNjg1NCwgMTA2ODU4LCAKLSAgICAxMDY4NjIsIDEwNjg2NiwgMTA2ODcwLCAxMDY4NzQsIDEwNjg3OCwgMTA2ODgyLCAxMDY4ODYsIDEwNjg5MCwgMTA2ODk0LCAKLSAgICAxMDY4OTgsIDEwNjkwMiwgMTA2OTA2LCAxMDY5MTAsIDEwNjkxNCwgMTA2OTE4LCAxMDY5MjIsIDEwNjkyNiwgMTA2OTMwLCAKLSAgICAxMDY5MzQsIDEwNjkzOCwgMTA2OTQyLCAxMDY5NDYsIDEwNjk1MCwgMTA2OTU0LCAxMDY5NTgsIDEwNjk2MiwgMTA2OTY2LCAKLSAgICAxMDY5NzAsIDEwNjk3NCwgMTA2OTc4LCAxMDY5ODIsIDEwNjk4NiwgMTA2OTkwLCAxMDY5OTQsIDEwNjk5OCwgMTA3MDAyLCAKLSAgICAxMDcwMDYsIDEwNzAxMCwgMTA3MDE0LCAxMDcwMTgsIDEwNzAyMiwgMTA3MDI2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAxMDcwMzAsIDEwNzAzNywgMTA3MDQ0LCAxMDcwNTMsIDEwNzA2MiwgMTA3MDY5LCAxMDcwNzQsIDEwNzA4MSwgCi0gICAgMTA3MDg4LCAxMDcwOTcsIDEwNzEwOCwgMTA3MTE5LCAxMDcxMjQsIDEwNzEzMSwgMTA3MTM2LCAxMDcxNDEsIDEwNzE0NiwgCi0gICAgMTA3MTUxLCAxMDcxNTYsIDEwNzE2MSwgMTA3MTY2LCAxMDcxNzEsIDEwNzE3NiwgMTA3MTgxLCAxMDcxODYsIDEwNzE5MywgCi0gICAgMTA3MjAwLCAxMDcyMDUsIDEwNzIxMCwgMTA3MjE1LCAxMDcyMjAsIDEwNzIyNywgMTA3MjM0LCAxMDcyNDIsIDEwNzI0NywgCi0gICAgMTA3MjU0LCAxMDcyNTksIDEwNzI2NCwgMTA3MjY5LCAxMDcyNzQsIDEwNzI3OSwgMTA3Mjg2LCAxMDcyOTMsIDEwNzI5OCwgCi0gICAgMTA3MzAzLCAxMDczMDgsIDEwNzMxMywgMTA3MzE4LCAxMDczMjMsIDEwNzMyOCwgMTA3MzMzLCAxMDczMzgsIDEwNzM0MywgCi0gICAgMTA3MzQ4LCAxMDczNTMsIDEwNzM1OCwgMTA3MzYzLCAxMDczNjgsIDEwNzM3MywgMTA3Mzc4LCAxMDczODMsIDEwNzM4OCwgCi0gICAgMTA3Mzk1LCAxMDc0MDAsIDEwNzQwNSwgMTA3NDE0LCAxMDc0MjEsIDEwNzQyNiwgMTA3NDMxLCAxMDc0MzYsIDEwNzQ0MSwgCi0gICAgMTA3NDQ2LCAxMDc0NTEsIDEwNzQ1NiwgMTA3NDYxLCAxMDc0NjYsIDEwNzQ3MSwgMTA3NDc2LCAxMDc0ODEsIDEwNzQ4NiwgCi0gICAgMTA3NDkxLCAxMDc0OTYsIDEwNzUwMSwgMTA3NTA2LCAxMDc1MTEsIDEwNzUxNiwgMTA3NTIxLCAxMDc1MjYsIDEwNzUzMiwgCi0gICAgMTA3NTQwLCAxMDc1NDYsIDEwNzU1NCwgMTA3NTYyLCAxMDc1NzAsIDEwNzU3NiwgMTA3NTgyLCAxMDc1ODgsIDEwNzU5NCwgCi0gICAgMTA3NjAwLCAxMDc2MDgsIDEwNzYxOCwgMTA3NjI2LCAxMDc2MzQsIDEwNzY0MCwgMTA3NjQ2LCAxMDc2NTQsIDEwNzY2MiwgCi0gICAgMTA3NjY4LCAxMDc2NzYsIDEwNzY4NCwgMTA3NjkyLCAxMDc2OTgsIDEwNzcwNCwgMTA3NzEwLCAxMDc3MTYsIDEwNzcyMiwgCi0gICAgMTA3NzI4LCAxMDc3MzYsIDEwNzc0NCwgMTA3NzUwLCAxMDc3NTYsIDEwNzc2MiwgMTA3NzY4LCAxMDc3NzQsIDEwNzc4MiwgCi0gICAgMTA3Nzg4LCAxMDc3OTQsIDEwNzgwMCwgMTA3ODA2LCAxMDc4MTIsIDEwNzgxOCwgMTA3ODI2LCAxMDc4MzIsIDEwNzgzOCwgCi0gICAgMTA3ODQ0LCAxMDc4NTAsIDEwNzg1OCwgMTA3ODY2LCAxMDc4NzIsIDEwNzg3OCwgMTA3ODg0LCAxMDc4ODksIDEwNzg5NSwgCi0gICAgMTA3OTAxLCAxMDc5MDgsIDEwNzkxMywgMTA3OTE4LCAxMDc5MjMsIDEwNzkyOCwgMTA3OTMzLCAxMDc5MzgsIDEwNzk0MywgCi0gICAgMTA3OTQ4LCAxMDc5NTMsIDEwNzk2MiwgMTA3OTY5LCAxMDc5NzQsIDEwNzk3OSwgMTA3OTg0LCAxMDc5OTEsIDEwNzk5NiwgCi0gICAgMTA4MDAxLCAxMDgwMDYsIDEwODAxMywgMTA4MDE4LCAxMDgwMjMsIDEwODAyOCwgMTA4MDMzLCAxMDgwMzgsIDEwODA0MywgCi0gICAgMTA4MDQ4LCAxMDgwNTMsIDEwODA1OCwgMTA4MDYzLCAxMDgwNjgsIDEwODA3NSwgMTA4MDgwLCAxMDgwODcsIDEwODA5MiwgCi0gICAgMTA4MDk3LCAxMDgxMDQsIDEwODEwOSwgMTA4MTE0LCAxMDgxMTksIDEwODEyNCwgMTA4MTI5LCAxMDgxMzQsIDEwODEzOSwgCi0gICAgMTA4MTQ0LCAxMDgxNDksIDEwODE1NCwgMTA4MTU5LCAxMDgxNjQsIDEwODE2OSwgMTA4MTc0LCAxMDgxNzksIDEwODE4NCwgCi0gICAgMTA4MTg5LCAxMDgxOTQsIDEwODE5OSwgMTA4MjA2LCAxMDgyMTEsIDEwODIxNiwgMTA4MjIxLCAxMDgyMjYsIDEwODIzMSwgCi0gICAgMTA4MjM2LCAxMDgyNDEsIDEwODI0NiwgMTA4MjUxLCAxMDgyNTYsIDEwODI2MSwgMTA4MjY2LCAxMDgyNzEsIDEwODI3OCwgCi0gICAgMTA4MjgzLCAxMDgyODgsIDEwODI5NSwgMTA4MzAwLCAxMDgzMDUsIDEwODMxMCwgMTA4MzE1LCAxMDgzMjAsIDEwODMyNSwgCi0gICAgMTA4MzMwLCAxMDgzMzUsIDEwODM0MCwgMTA4MzQ1LCAxMDgzNTIsIDEwODM1NywgMTA4MzYyLCAxMDgzNjcsIDEwODM3MiwgCi0gICAgMTA4Mzc3LCAxMDgzODQsIDEwODM5MSwgMTA4Mzk2LCAxMDg0MDEsIDEwODQwNiwgMTA4NDExLCAxMDg0MTYsIDEwODQyMSwgCi0gICAgMTA4NDI2LCAxMDg0MzEsIDEwODQzNiwgMTA4NDQxLCAxMDg0NDYsIDEwODQ1MSwgMTA4NDU2LCAxMDg0NjEsIDEwODQ2NiwgCi0gICAgMTA4NDcxLCAxMDg0NzYsIDEwODQ4MSwgMTA4NDg2LCAxMDg0OTEsIDEwODQ5NiwgMTA4NTAxLCAxMDg1MDYsIDEwODUxMSwgCi0gICAgMTA4NTE2LCAxMDg1MjEsIDEwODUyNiwgMTA4NTMxLCAxMDg1MzYsIDEwODU0MSwgMTA4NTQ2LCAxMDg1NTEsIDEwODU1NiwgCi0gICAgMTA4NTYxLCAxMDg1NjYsIDEwODU3MSwgMTA4NTc4LCAxMDg1ODMsIDEwODU4OCwgMTA4NTkzLCAxMDg1OTgsIDEwODYwMywgCi0gICAgMTA4NjA4LCAxMDg2MTMsIDEwODYxOCwgMTA4NjIzLCAxMDg2MjgsIDEwODYzMywgMTA4NjM4LCAxMDg2NDMsIDEwODY0OCwgCi0gICAgMTA4NjUzLCAxMDg2NTgsIDEwODY2MywgMTA4NjY4LCAxMDg2NzMsIDEwODY3OCwgMTA4NjgzLCAxMDg2ODgsIDEwODY5MywgCi0gICAgMTA4Njk4LCAxMDg3MDMsIDEwODcwOCwgMTA4NzEzLCAxMDg3MTgsIDEwODcyMywgMTA4NzI4LCAxMDg3MzMsIDEwODczOCwgCi0gICAgMTA4NzQzLCAxMDg3NDgsIDEwODc1MywgMTA4NzU4LCAxMDg3NjMsIDEwODc2OCwgMTA4NzczLCAxMDg3NzgsIDEwODc4MywgCi0gICAgMTA4Nzg4LCAxMDg3OTMsIDEwODc5OCwgMTA4ODAzLCAxMDg4MDgsIDEwODgxMywgMTA4ODE4LCAxMDg4MjMsIDEwODgyOCwgCi0gICAgMTA4ODMzLCAxMDg4MzgsIDEwODg0MywgMTA4ODQ4LCAxMDg4NTMsIDEwODg1OCwgMTA4ODYzLCAxMDg4NjgsIDEwODg3NSwgCi0gICAgMTA4ODgwLCAxMDg4ODUsIDEwODg5MCwgMTA4ODk1LCAxMDg5MDAsIDEwODkwNSwgMTA4OTA5LCAxMDg5MTQsIDEwODkxOSwgCi0gICAgMTA4OTI0LCAxMDg5MjksIDEwODkzNCwgMTA4OTM5LCAxMDg5NDQsIDEwODk0OSwgMTA4OTU0LCAxMDg5NTksIDEwODk2NCwgCi0gICAgMTA4OTY5LCAxMDg5NzQsIDEwODk3OSwgMTA4OTg2LCAxMDg5OTEsIDEwODk5NiwgMTA5MDAyLCAxMDkwMDcsIDEwOTAxMiwgCi0gICAgMTA5MDE3LCAxMDkwMjIsIDEwOTAyNywgMTA5MDMyLCAxMDkwMzcsIDEwOTA0MiwgMTA5MDQ3LCAxMDkwNTIsIDEwOTA1NywgCi0gICAgMTA5MDYyLCAxMDkwNjcsIDEwOTA3MiwgMTA5MDc3LCAxMDkwODIsIDEwOTA4NywgMTA5MDkyLCAxMDkwOTcsIDEwOTEwMiwgCi0gICAgMTA5MTA3LCAxMDkxMTIsIDEwOTExNywgMTA5MTIyLCAxMDkxMjcsIDEwOTEzMiwgMTA5MTM3LCAxMDkxNDIsIDEwOTE0NywgCi0gICAgMTA5MTUyLCAxMDkxNTcsIDEwOTE2MiwgMTA5MTY3LCAxMDkxNzIsIDEwOTE3NywgMTA5MTgyLCAxMDkxODcsIDEwOTE5MiwgCi0gICAgMTA5MTk3LCAxMDkyMDIsIDEwOTIwNywgMTA5MjEyLCAxMDkyMTcsIDEwOTIyNCwgMTA5MjI5LCAxMDkyMzQsIDEwOTI0MSwgCi0gICAgMTA5MjQ4LCAxMDkyNTMsIDEwOTI1OCwgMTA5MjYzLCAxMDkyNjgsIDEwOTI3MywgMTA5Mjc4LCAxMDkyODMsIDEwOTI4OCwgCi0gICAgMTA5MjkzLCAxMDkyOTgsIDEwOTMwMywgMTA5MzA4LCAxMDkzMTMsIDEwOTMxOCwgMTA5MzIzLCAxMDkzMjgsIDEwOTMzMywgCi0gICAgMTA5MzM4LCAxMDkzNDMsIDEwOTM0OCwgMTA5MzUzLCAxMDkzNTgsIDEwOTM2MywgMTA5MzY4LCAxMDkzNzMsIDEwOTM4MCwgCi0gICAgMTA5Mzg1LCAxMDkzOTAsIDEwOTM5NSwgMTA5NDAwLCAxMDk0MDUsIDEwOTQxMCwgMTA5NDE1LCAxMDk0MjAsIDEwOTQyNSwgCi0gICAgMTA5NDMwLCAxMDk0MzUsIDEwOTQ0MCwgMTA5NDQ1LCAxMDk0NTAsIDEwOTQ1NSwgMTA5NDYwLCAxMDk0NjUsIDEwOTQ3MCwgCi0gICAgMTA5NDc3LCAxMDk0ODIsIDEwOTQ4NywgMTA5NDkyLCAxMDk0OTcsIDEwOTUwMiwgMTA5NTA3LCAxMDk1MTIsIDEwOTUxOCwgCi0gICAgMTA5NTIzLCAxMDk1MjgsIDEwOTUzMywgMTA5NTM4LCAxMDk1NDMsIDEwOTU0OCwgMTA5NTUzLCAxMDk1NTgsIDEwOTU2NSwgCi0gICAgMTA5NTcyLCAxMDk1NzcsIDEwOTU4MiwgMTA5NTg2LCAxMDk1OTEsIDEwOTU5NSwgMTA5NTk5LCAxMDk2MDQsIDEwOTYxMSwgCi0gICAgMTA5NjE2LCAxMDk2MjEsIDEwOTYzMCwgMTA5NjM1LCAxMDk2NDAsIDEwOTY0NSwgMTA5NjUwLCAxMDk2NTcsIDEwOTY2NCwgCi0gICAgMTA5NjY5LCAxMDk2NzQsIDEwOTY3OSwgMTA5Njg0LCAxMDk2OTEsIDEwOTY5NiwgMTA5NzAxLCAxMDk3MDYsIDEwOTcxMSwgCi0gICAgMTA5NzE2LCAxMDk3MjEsIDEwOTcyNiwgMTA5NzMxLCAxMDk3MzYsIDEwOTc0MSwgMTA5NzQ2LCAxMDk3NTEsIDEwOTc1OCwgCi0gICAgMTA5NzYyLCAxMDk3NjcsIDEwOTc3MiwgMTA5Nzc3LCAxMDk3ODIsIDEwOTc4NiwgMTA5NzkxLCAxMDk3OTYsIDEwOTgwMSwgCi0gICAgMTA5ODA2LCAxMDk4MTEsIDEwOTgxNiwgMTA5ODIxLCAxMDk4MjYsIDEwOTgzMSwgMTA5ODM3LCAxMDk4NDMsIDEwOTg0OSwgCi0gICAgMTA5ODU1LCAxMDk4NjEsIDEwOTg2NywgMTA5ODczLCAxMDk4NzksIDEwOTg4NSwgMTA5ODkxLCAxMDk4OTcsIDEwOTkwMywgCi0gICAgMTA5OTA4LCAxMDk5MTQsIDEwOTkyMCwgMTA5OTI2LCAxMDk5MzIsIDEwOTkzOCwgMTA5OTQ0LCAxMDk5NTAsIDEwOTk1NiwgCi0gICAgMTA5OTYyLCAxMDk5NjgsIDEwOTk3NCwgMTA5OTc5LCAxMDk5ODUsIDEwOTk5MSwgMTA5OTk3LCAxMTAwMDMsIDExMDAwOSwgCi0gICAgMTEwMDE1LCAxMTAwMjEsIDExMDAyNywgMTEwMDMzLCAxMTAwMzksIDExMDA0NSwgMTEwMDUxLCAxMTAwNTcsIDExMDA2MywgCi0gICAgMTEwMDY5LCAxMTAwNzUsIDExMDA4MSwgMTEwMDg3LCAxMTAwOTMsIDExMDA5OSwgMTEwMTA0LCAxMTAxMTAsIDExMDExNiwgCi0gICAgMTEwMTIyLCAxMTAxMjgsIDExMDEzNCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTEwMTQwLCAxMTAxNDMsIDExMDE0NywgMTEwMTUxLCAxMTAxNTUsIDExMDE1OCwgCi0gICAgMTEwMTYyLCAxMTAxNjcsIDExMDE3MSwgMTEwMTc1LCAxMTAxNzksIDExMDE4MywgMTEwMTg3LCAxMTAxOTIsIDExMDE5NywgCi0gICAgMTEwMjAxLCAxMTAyMDUsIDExMDIwOCwgMTEwMjEyLCAxMTAyMTcsIDExMDIyMiwgMTEwMjI2LCAxMTAyMzAsIDExMDIzNCwgCi0gICAgMTEwMjM4LCAxMTAyNDIsIDExMDI0NiwgMTEwMjUwLCAxMTAyNTQsIDExMDI1OCwgMTEwMjYyLCAxMTAyNjUsIDExMDI2OSwgCi0gICAgMTEwMjczLCAxMTAyNzcsIDExMDI4MSwgMTEwMjg1LCAxMTAyODksIDExMDI5NSwgMTEwMjk4LCAxMTAzMDIsIDExMDMwNiwgCi0gICAgMTEwMzEwLCAxMTAzMTQsIDExMDMxOCwgMTEwMzIyLCAxMTAzMjYsIDExMDMzMCwgMTEwMzM0LCAxMTAzMzksIDExMDM0NCwgCi0gICAgMTEwMzUwLCAxMTAzNTQsIDExMDM1OCwgMTEwMzYyLCAxMTAzNjYsIDExMDM3MCwgMTEwMzc0LCAxMTAzNzksIDExMDM4MiwgCi0gICAgMTEwMzg2LCAxMTAzOTAsIDExMDM5NCwgMTEwMzk4LCAxMTA0MDQsIDExMDQwOCwgMTEwNDEyLCAxMTA0MTYsIDExMDQyMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTEwNDI0LCAxMTA0MjgsIDExMDQzMiwgMTEwNDM4LCAxMTA0NDQsIAotICAgIDExMDQ0OCwgMTEwNDUzLCAxMTA0NTgsIDExMDQ2MywgMTEwNDY4LCAxMTA0NzIsIDExMDQ3NywgMTEwNDgyLCAxMTA0ODcsIAotICAgIDExMDQ5MSwgMTEwNDk2LCAxMTA1MDEsIDExMDUwNiwgMTEwNTEwLCAxMTA1MTUsIDExMDUyMCwgMTEwNTI1LCAxMTA1MzAsIAotICAgIDExMDUzNSwgMTEwNTQwLCAxMTA1NDUsIDExMDU1MCwgMTEwNTU0LCAxMTA1NTksIDExMDU2NCwgMTEwNTY5LCAxMTA1NzQsIAotICAgIDExMDU3OSwgMTEwNTg0LCAxMTA1ODksIDExMDU5NCwgMTEwNTk5LCAxMTA2MDQsIDExMDYwOSwgMTEwNjE2LCAxMTA2MjEsIAotICAgIDExMDYyOCwgMTEwNjMzLCAxMTA2MzgsIDExMDY0MywgMTEwNjQ4LCAxMTA2NTMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDExMDY1OCwgMTEwNjYyLCAxMTA2NjgsIDExMDY3MSwgMTEwNjc0LCAxMTA2NzgsIAotICAgIDExMDY4MiwgMTEwNjg2LCAxMTA2OTAsIDExMDY5NCwgMTEwNjk4LCAxMTA3MDIsIDExMDcwOCwgMTEwNzE0LCAxMTA3MjAsIAotICAgIDExMDcyNiwgMTEwNzMyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAxMTA3MzgsIDExMDc0MywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTEwNzQ5LCAxMTA3NTQsIDExMDc1OSwgCi0gICAgMTEwNzY0LCAxMTA3NzEsIDExMDc3OCwgMTEwNzg1LCAxMTA3OTIsIDExMDc5NywgMTEwODAyLCAxMTA4MDcsIDExMDgxMiwgCi0gICAgMTEwODE5LCAxMTA4MjQsIDExMDgzMSwgMTEwODM4LCAxMTA4NDMsIDExMDg0OCwgMTEwODUzLCAxMTA4NjAsIDExMDg2NSwgCi0gICAgMTEwODcwLCAxMTA4NzcsIDExMDg4NCwgMTEwODg5LCAxMTA4OTQsIDExMDg5OSwgMTEwOTA2LCAxMTA5MTMsIDExMDkyMCwgCi0gICAgMTEwOTI1LCAxMTA5MzAsIDExMDkzNywgMTEwOTQ0LCAxMTA5NTEsIDExMDk1OCwgMTEwOTYzLCAxMTA5NjgsIDExMDk3MywgCi0gICAgMTEwOTgwLCAxMTA5ODUsIDExMDk5MCwgMTEwOTk1LCAxMTEwMDIsIDExMTAxMSwgMTExMDE4LCAxMTEwMjMsIDExMTAyOCwgCi0gICAgMTExMDMzLCAxMTEwMzgsIDExMTA0MywgMTExMDQ4LCAxMTEwNTcsIDExMTA2NCwgMTExMDY5LCAxMTEwNzYsIDExMTA4MywgCi0gICAgMTExMDg4LCAxMTEwOTMsIDExMTA5OCwgMTExMTA1LCAxMTExMTAsIDExMTExNywgMTExMTI0LCAxMTExMjksIDExMTEzNCwgCi0gICAgMTExMTM5LCAxMTExNDYsIDExMTE1MywgMTExMTU4LCAxMTExNjMsIDExMTE3MCwgMTExMTc3LCAxMTExODQsIDExMTE4OSwgCi0gICAgMTExMTk0LCAxMTExOTksIDExMTIwNCwgMTExMjExLCAxMTEyMjAsIDExMTIyOSwgMTExMjM0LCAxMTEyNDEsIDExMTI1MCwgCi0gICAgMTExMjU1LCAxMTEyNjAsIDExMTI2NSwgMTExMjcwLCAxMTEyNzcsIDExMTI4NCwgMTExMjkxLCAxMTEyOTgsIDExMTMwMywgCi0gICAgMTExMzA4LCAxMTEzMTMsIDExMTMyMCwgMTExMzI3LCAxMTEzMzQsIDExMTMzOSwgMTExMzQ0LCAxMTEzNTEsIDExMTM1NiwgCi0gICAgMTExMzYzLCAxMTEzNjgsIDExMTM3NSwgMTExMzgwLCAxMTEzODcsIDExMTM5NCwgMTExMzk5LCAxMTE0MDQsIDExMTQwOSwgCi0gICAgMTExNDE0LCAxMTE0MTksIDExMTQyNCwgMTExNDI5LCAxMTE0MzQsIDExMTQzOSwgMTExNDQ2LCAxMTE0NTMsIDExMTQ2MCwgCi0gICAgMTExNDY3LCAxMTE0NzQsIDExMTQ4MywgMTExNDg4LCAxMTE0OTMsIDExMTUwMCwgMTExNTA3LCAxMTE1MTIsIDExMTUxOSwgCi0gICAgMTExNTI2LCAxMTE1MzMsIDExMTU0MCwgMTExNTQ3LCAxMTE1NTQsIDExMTU1OSwgMTExNTY0LCAxMTE1NjksIDExMTU3NCwgCi0gICAgMTExNTc5LCAxMTE1ODgsIDExMTU5NywgMTExNjA2LCAxMTE2MTUsIDExMTYyNCwgMTExNjMzLCAxMTE2NDIsIDExMTY1MSwgCi0gICAgMTExNjU2LCAxMTE2NjcsIDExMTY3OCwgMTExNjg3LCAxMTE2OTIsIDExMTY5NywgMTExNzAyLCAxMTE3MDcsIDExMTcxNiwgCi0gICAgMTExNzIzLCAxMTE3MzAsIDExMTczNywgMTExNzQ0LCAxMTE3NTEsIDExMTc1OCwgMTExNzY3LCAxMTE3NzYsIDExMTc4NywgCi0gICAgMTExNzk2LCAxMTE4MDcsIDExMTgxNiwgMTExODIzLCAxMTE4MzIsIDExMTg0MywgMTExODUyLCAxMTE4NjEsIDExMTg3MCwgCi0gICAgMTExODc5LCAxMTE4ODYsIDExMTg5MywgMTExOTAwLCAxMTE5MDksIDExMTkxOCwgMTExOTI5LCAxMTE5MzgsIDExMTk0NywgCi0gICAgMTExOTU4LCAxMTE5NjMsIDExMTk2OCwgMTExOTc5LCAxMTE5ODcsIDExMTk5NiwgMTEyMDA1LCAxMTIwMTQsIDExMjAyNSwgCi0gICAgMTEyMDM0LCAxMTIwNDMsIDExMjA1NCwgMTEyMDY1LCAxMTIwNzYsIDExMjA4NywgMTEyMDk4LCAxMTIxMDksIDExMjExNiwgCi0gICAgMTEyMTIzLCAxMTIxMzAsIDExMjEzNywgMTEyMTQ4LCAxMTIxNTcsIDExMjE2NCwgMTEyMTcxLCAxMTIxNzgsIDExMjE4OSwgCi0gICAgMTEyMjAwLCAxMTIyMTEsIDExMjIyMiwgMTEyMjMzLCAxMTIyNDQsIDExMjI1NSwgMTEyMjY2LCAxMTIyNzMsIDExMjI4MCwgCi0gICAgMTEyMjg5LCAxMTIyOTgsIDExMjMwNSwgMTEyMzEyLCAxMTIzMTksIDExMjMyOCwgMTEyMzM3LCAxMTIzNDYsIDExMjM1MywgCi0gICAgMTEyMzYyLCAxMTIzNzEsIDExMjM4MCwgMTEyMzg3LCAxMTIzOTQsIDExMjM5OSwgMTEyNDA1LCAxMTI0MTIsIDExMjQxOSwgCi0gICAgMTEyNDI2LCAxMTI0MzMsIDExMjQ0MCwgMTEyNDQ3LCAxMTI0NTYsIDExMjQ2NSwgMTEyNDc0LCAxMTI0ODMsIDExMjQ5MCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTEyNDk5LCAxMTI1MDUsIDExMjUxMCwgMTEyNTE1LCAxMTI1MjIsIAotICAgIDExMjUyOCwgMTEyNTM0LCAxMTI1NDAsIDExMjU0NiwgMTEyNTUyLCAxMTI1NTgsIDExMjU2NCwgMTEyNTY4LCAxMTI1NzIsIAotICAgIDExMjU3OCwgMTEyNTg0LCAxMTI1OTAsIDExMjU5NCwgMTEyNTk5LCAxMTI2MDQsIDExMjYwOCwgMTEyNjEyLCAxMTI2MTUsIAotICAgIDExMjYyMSwgMTEyNjI3LCAxMTI2MzMsIDExMjYzOSwgMTEyNjQ1LCAxMTI2NTEsIDExMjY1NywgMTEyNjYzLCAxMTI2NjksIAotICAgIDExMjY3OSwgMTEyNjg5LCAxMTI2OTUsIDExMjcwMSwgMTEyNzExLCAxMTI3MjEsIDExMjcyNywgMCwgMCwgMTEyNzMzLCAKLSAgICAxMTI3NDEsIDExMjc0NiwgMTEyNzUxLCAxMTI3NTcsIDExMjc2MywgMTEyNzY5LCAxMTI3NzUsIDExMjc4MSwgMTEyNzg3LCAKLSAgICAxMTI3OTQsIDExMjgwMSwgMTEyODA3LCAxMTI4MTMsIDExMjgxOSwgMTEyODI1LCAxMTI4MzEsIDExMjgzNywgMTEyODQzLCAKLSAgICAxMTI4NDksIDExMjg1NCwgMTEyODYwLCAxMTI4NjYsIDExMjg3MiwgMTEyODc4LCAxMTI4ODQsIDExMjg5MywgMTEyODk5LCAKLSAgICAxMTI5MDQsIDExMjkxMiwgMTEyOTE5LCAxMTI5MjYsIDExMjkzNSwgMTEyOTQ0LCAxMTI5NTMsIDExMjk2MiwgMTEyOTcxLCAKLSAgICAxMTI5ODAsIDExMjk4OSwgMTEyOTk4LCAxMTMwMDgsIDExMzAxOCwgMTEzMDI2LCAxMTMwMzQsIDExMzA0MywgMTEzMDUyLCAKLSAgICAxMTMwNTgsIDExMzA2NCwgMTEzMDcwLCAxMTMwNzYsIDExMzA4NCwgMTEzMDkyLCAxMTMwOTYsIDExMzEwMiwgMTEzMTA3LCAKLSAgICAxMTMxMTMsIDExMzExOSwgMTEzMTI1LCAxMTMxMzEsIDExMzEzNywgMTEzMTQ2LCAxMTMxNTEsIDExMzE1OCwgMTEzMTYzLCAKLSAgICAxMTMxNjgsIDExMzE3MywgMTEzMTc5LCAxMTMxODUsIDExMzE5MSwgMTEzMTk4LCAxMTMyMDMsIDExMzIwOCwgMTEzMjEzLCAKLSAgICAxMTMyMTgsIDExMzIyMywgMTEzMjI5LCAxMTMyMzUsIDExMzI0MSwgMTEzMjQ3LCAxMTMyNTMsIDExMzI1OSwgMTEzMjY1LCAKLSAgICAxMTMyNzEsIDExMzI3NiwgMTEzMjgxLCAxMTMyODYsIDExMzI5MSwgMTEzMjk2LCAxMTMzMDEsIDExMzMwNiwgMTEzMzExLCAKLSAgICAxMTMzMTcsIDExMzMyMywgMTEzMzI4LCAxMTMzMzMsIDExMzMzOCwgMTEzMzQzLCAxMTMzNDgsIDExMzM1NCwgMTEzMzYxLCAKLSAgICAxMTMzNjUsIDExMzM2OSwgMTEzMzczLCAxMTMzNzcsIDExMzM4MSwgMTEzMzg1LCAxMTMzODksIDExMzM5MywgMTEzNDAxLCAKLSAgICAxMTM0MTEsIDExMzQxNSwgMTEzNDE5LCAxMTM0MjUsIDExMzQzMSwgMTEzNDM3LCAxMTM0NDMsIDExMzQ0OSwgMTEzNDU1LCAKLSAgICAxMTM0NjEsIDExMzQ2NywgMTEzNDczLCAxMTM0NzksIDExMzQ4NSwgMTEzNDkxLCAxMTM0OTcsIDExMzUwMywgMTEzNTA3LCAKLSAgICAxMTM1MTEsIDExMzUxOCwgMTEzNTI0LCAxMTM1MzAsIDExMzUzNiwgMTEzNTQxLCAxMTM1NDgsIDExMzU1MywgMTEzNTU5LCAKLSAgICAxMTM1NjUsIDExMzU3MSwgMTEzNTc3LCAxMTM1ODIsIDExMzU4NiwgMTEzNTkyLCAxMTM1OTYsIDExMzYwMCwgMTEzNjA0LCAKLSAgICAxMTM2MTAsIDExMzYxNiwgMTEzNjIwLCAxMTM2MjYsIDExMzYzMiwgMTEzNjM4LCAxMTM2NDQsIDExMzY1MCwgMTEzNjU4LCAKLSAgICAxMTM2NjYsIDExMzY3MiwgMTEzNjc4LCAxMTM2ODQsIDExMzY5MCwgMTEzNzAyLCAxMTM3MTQsIDExMzcyOCwgMTEzNzQwLCAKLSAgICAxMTM3NTIsIDExMzc2NiwgMTEzNzgwLCAxMTM3OTQsIDExMzc5OCwgMTEzODA2LCAxMTM4MTQsIDExMzgxOSwgMTEzODIzLCAKLSAgICAxMTM4MjcsIDExMzgzMSwgMTEzODM1LCAxMTM4MzksIDExMzg0MywgMTEzODQ3LCAxMTM4NTMsIDExMzg1OSwgMTEzODY1LCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMTM4NzEsIDExMzg3NywgMTEzODgzLCAxMTM4ODksIDExMzg5NSwgCi0gICAgMTEzOTAxLCAxMTM5MDcsIDExMzkxMywgMTEzOTE5LCAxMTM5MjUsIDExMzkzMSwgMTEzOTM3LCAxMTM5NDMsIDExMzk0OSwgCi0gICAgMTEzOTU1LCAxMTM5NjEsIDExMzk2NywgMTEzOTczLCAxMTM5NzksIDExMzk4NSwgMTEzOTkxLCAxMTM5OTcsIDExNDAwMywgCi0gICAgMTE0MDA5LCAxMTQwMTUsIDExNDAyMSwgMTE0MDI3LCAxMTQwMzMsIDExNDAzOSwgMTE0MDQ1LCAxMTQwNTEsIDExNDA1NywgCi0gICAgMTE0MDYzLCAxMTQwNjksIDExNDA3NSwgMTE0MDgxLCAxMTQwODcsIDExNDA5MywgMTE0MDk5LCAxMTQxMDUsIDExNDExMSwgCi0gICAgMTE0MTE3LCAxMTQxMjMsIDExNDEyOSwgMTE0MTM1LCAxMTQxNDEsIDExNDE0NywgMTE0MTUzLCAxMTQxNTksIDExNDE2NSwgCi0gICAgMTE0MTcxLCAxMTQxNzcsIDExNDE4MywgMTE0MTg5LCAxMTQxOTUsIDExNDIwMSwgMTE0MjA3LCAxMTQyMTMsIDExNDIxOSwgCi0gICAgMTE0MjI1LCAxMTQyMzEsIDExNDIzNywgMTE0MjQzLCAxMTQyNDksIDExNDI1NSwgMTE0MjYxLCAxMTQyNjcsIDExNDI3MiwgCi0gICAgMTE0Mjc3LCAxMTQyODIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDExNDI4NiwgMTE0MjkxLCAxMTQyOTgsIAotICAgIDExNDMwNSwgMTE0MzEyLCAxMTQzMTksIDExNDMyNCwgMTE0MzI4LCAxMTQzMzQsIDExNDMzOCwgMTE0MzQyLCAxMTQzNDgsIAotICAgIDExNDM1MiwgMTE0MzU2LCAxMTQzNjAsIDExNDM2NiwgMTE0MzczLCAxMTQzNzcsIDExNDM4MSwgMTE0Mzg1LCAxMTQzODksIAotICAgIDExNDM5MywgMTE0Mzk3LCAxMTQ0MDMsIDExNDQwNywgMTE0NDExLCAxMTQ0MTUsIDExNDQxOSwgMTE0NDIzLCAxMTQ0MjcsIAotICAgIDExNDQzMSwgMTE0NDM1LCAxMTQ0MzksIDExNDQ0MywgMTE0NDQ3LCAxMTQ0NTEsIDExNDQ1NiwgMTE0NDYwLCAxMTQ0NjQsIAotICAgIDExNDQ2OCwgMTE0NDcyLCAxMTQ0NzYsIDExNDQ4MCwgMTE0NDg0LCAxMTQ0ODgsIDExNDQ5MiwgMTE0NDk5LCAxMTQ1MDMsIAotICAgIDExNDUxMSwgMTE0NTE1LCAxMTQ1MTksIDExNDUyMywgMTE0NTI3LCAxMTQ1MzEsIDExNDUzNSwgMTE0NTM5LCAxMTQ1NDYsIAotICAgIDExNDU1MCwgMTE0NTU0LCAxMTQ1NTgsIDExNDU2MiwgMTE0NTY2LCAxMTQ1NzIsIDExNDU3NiwgMTE0NTgyLCAxMTQ1ODYsIAotICAgIDExNDU5MCwgMTE0NTk0LCAxMTQ1OTgsIDExNDYwMiwgMTE0NjA2LCAxMTQ2MTAsIDExNDYxNCwgMTE0NjE4LCAxMTQ2MjIsIAotICAgIDExNDYyNiwgMTE0NjMwLCAxMTQ2MzQsIDExNDYzOCwgMTE0NjQyLCAxMTQ2NDYsIDExNDY1MCwgMTE0NjU0LCAxMTQ2NTgsIAotICAgIDExNDY2NiwgMTE0NjcwLCAxMTQ2NzQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDExNDY3OCwgMTE0Njg2LCAKLSAgICAxMTQ2OTQsIDExNDcwMiwgMTE0NzEwLCAxMTQ3MTgsIDExNDcyNiwgMTE0NzM0LCAxMTQ3NDIsIDExNDc1MCwgMTE0NzU4LCAKLSAgICAxMTQ3NjYsIDExNDc3NCwgMTE0NzgyLCAxMTQ3OTAsIDExNDc5OCwgMTE0ODA2LCAxMTQ4MTQsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDExNDgyMiwgMTE0ODI2LCAxMTQ4MzEsIDExNDgzNiwgMTE0ODQxLCAxMTQ4NDUsIAotICAgIDExNDg1MCwgMTE0ODU1LCAxMTQ4NjAsIDExNDg2NCwgMTE0ODY5LCAxMTQ4NzQsIDExNDg3OCwgMTE0ODgyLCAxMTQ4ODcsIAotICAgIDExNDg5MSwgMTE0ODk2LCAxMTQ5MDEsIDExNDkwNSwgMTE0OTEwLCAxMTQ5MTUsIDExNDkxOSwgMTE0OTI0LCAxMTQ5MjksIAotICAgIDExNDkzNCwgMTE0OTM5LCAxMTQ5NDQsIDExNDk0OCwgMTE0OTUzLCAxMTQ5NTgsIDExNDk2MywgMTE0OTY3LCAxMTQ5NzIsIAotICAgIDExNDk3NywgMTE0OTgyLCAxMTQ5ODYsIDExNDk5MSwgMTE0OTk2LCAxMTUwMDAsIDExNTAwNCwgMTE1MDA5LCAxMTUwMTMsIAotICAgIDExNTAxOCwgMTE1MDIzLCAxMTUwMjcsIDExNTAzMiwgMTE1MDM3LCAxMTUwNDEsIDExNTA0NiwgMTE1MDUxLCAxMTUwNTYsIAotICAgIDExNTA2MSwgMTE1MDY2LCAxMTUwNzAsIDExNTA3NSwgMTE1MDgwLCAxMTUwODUsIDExNTA4OSwgMTE1MDk0LCAxMTUwOTksIAotICAgIDExNTEwNCwgMTE1MTA4LCAxMTUxMTMsIDExNTExOCwgMTE1MTIyLCAxMTUxMjYsIDExNTEzMSwgMTE1MTM1LCAxMTUxNDAsIAotICAgIDExNTE0NSwgMTE1MTQ5LCAxMTUxNTQsIDExNTE1OSwgMTE1MTYzLCAxMTUxNjgsIDExNTE3MywgMTE1MTc4LCAxMTUxODMsIAotICAgIDExNTE4OCwgMTE1MTkyLCAxMTUxOTcsIDExNTIwMiwgMTE1MjA3LCAxMTUyMTEsIDExNTIxNiwgMCwgMTE1MjIxLCAKLSAgICAxMTUyMjUsIDExNTIzMCwgMTE1MjM1LCAxMTUyMzksIDExNTI0MywgMTE1MjQ4LCAxMTUyNTIsIDExNTI1NywgMTE1MjYyLCAKLSAgICAxMTUyNjYsIDExNTI3MSwgMTE1Mjc2LCAxMTUyODAsIDExNTI4NSwgMTE1MjkwLCAxMTUyOTUsIDExNTMwMCwgMTE1MzA1LCAKLSAgICAxMTUzMTAsIDExNTMxNiwgMTE1MzIyLCAxMTUzMjgsIDExNTMzMywgMTE1MzM5LCAxMTUzNDUsIDExNTM1MSwgMTE1MzU2LCAKLSAgICAxMTUzNjIsIDExNTM2OCwgMTE1MzczLCAxMTUzNzgsIDExNTM4NCwgMTE1Mzg5LCAxMTUzOTUsIDExNTQwMSwgMTE1NDA2LCAKLSAgICAxMTU0MTIsIDExNTQxOCwgMTE1NDIzLCAxMTU0MjksIDExNTQzNSwgMTE1NDQxLCAxMTU0NDcsIDExNTQ1MywgMTE1NDU4LCAKLSAgICAxMTU0NjQsIDExNTQ3MCwgMTE1NDc2LCAxMTU0ODEsIDExNTQ4NywgMTE1NDkzLCAxMTU0OTksIDExNTUwNCwgMTE1NTEwLCAKLSAgICAxMTU1MTYsIDExNTUyMSwgMTE1NTI2LCAxMTU1MzIsIDExNTUzNywgMTE1NTQzLCAxMTU1NDksIDExNTU1NCwgMTE1NTYwLCAKLSAgICAxMTU1NjYsIDExNTU3MSwgMTE1NTc3LCAxMTU1ODMsIDExNTU4OSwgMTE1NTk1LCAxMTU2MDEsIDAsIDExNTYwNSwgCi0gICAgMTE1NjEwLCAwLCAwLCAxMTU2MTUsIDAsIDAsIDExNTYyMCwgMTE1NjI1LCAwLCAwLCAxMTU2MzAsIDExNTYzNSwgMTE1NjM5LCAKLSAgICAxMTU2NDQsIDAsIDExNTY0OSwgMTE1NjU0LCAxMTU2NTksIDExNTY2MywgMTE1NjY4LCAxMTU2NzMsIDExNTY3OCwgCi0gICAgMTE1NjgzLCAxMTU2ODgsIDExNTY5MiwgMTE1Njk3LCAxMTU3MDIsIDAsIDExNTcwNywgMCwgMTE1NzEyLCAxMTU3MTcsIAotICAgIDExNTcyMSwgMTE1NzI2LCAxMTU3MzEsIDExNTczNSwgMTE1NzM5LCAwLCAxMTU3NDQsIDExNTc0OSwgMTE1NzU0LCAKLSAgICAxMTU3NTgsIDExNTc2MywgMTE1NzY4LCAxMTU3NzIsIDExNTc3NywgMTE1NzgyLCAxMTU3ODcsIDExNTc5MiwgMTE1Nzk3LCAKLSAgICAxMTU4MDIsIDExNTgwOCwgMTE1ODE0LCAxMTU4MjAsIDExNTgyNSwgMTE1ODMxLCAxMTU4MzcsIDExNTg0MywgMTE1ODQ4LCAKLSAgICAxMTU4NTQsIDExNTg2MCwgMTE1ODY1LCAxMTU4NzAsIDExNTg3NiwgMTE1ODgxLCAxMTU4ODcsIDExNTg5MywgMTE1ODk4LCAKLSAgICAxMTU5MDQsIDExNTkxMCwgMTE1OTE1LCAxMTU5MjEsIDExNTkyNywgMTE1OTMzLCAxMTU5MzksIDExNTk0NSwgMTE1OTUwLCAKLSAgICAxMTU5NTYsIDExNTk2MiwgMTE1OTY4LCAxMTU5NzMsIDExNTk3OSwgMTE1OTg1LCAxMTU5OTEsIDExNTk5NiwgMTE2MDAyLCAKLSAgICAxMTYwMDgsIDExNjAxMywgMTE2MDE4LCAxMTYwMjQsIDExNjAyOSwgMTE2MDM1LCAxMTYwNDEsIDExNjA0NiwgMTE2MDUyLCAKLSAgICAxMTYwNTgsIDExNjA2MywgMTE2MDY5LCAxMTYwNzUsIDExNjA4MSwgMTE2MDg3LCAxMTYwOTMsIDExNjA5NywgMCwgCi0gICAgMTE2MTAyLCAxMTYxMDcsIDExNjExMSwgMTE2MTE2LCAwLCAwLCAxMTYxMjEsIDExNjEyNiwgMTE2MTMxLCAxMTYxMzUsIAotICAgIDExNjEzOSwgMTE2MTQ0LCAxMTYxNDgsIDExNjE1MywgMCwgMTE2MTU4LCAxMTYxNjMsIDExNjE2OCwgMTE2MTcyLCAKLSAgICAxMTYxNzcsIDExNjE4MiwgMTE2MTg3LCAwLCAxMTYxOTIsIDExNjE5NiwgMTE2MjAxLCAxMTYyMDYsIDExNjIxMSwgCi0gICAgMTE2MjE1LCAxMTYyMjAsIDExNjIyNSwgMTE2MjMwLCAxMTYyMzQsIDExNjIzOSwgMTE2MjQ0LCAxMTYyNDgsIDExNjI1MiwgCi0gICAgMTE2MjU3LCAxMTYyNjEsIDExNjI2NiwgMTE2MjcxLCAxMTYyNzUsIDExNjI4MCwgMTE2Mjg1LCAxMTYyODksIDExNjI5NCwgCi0gICAgMTE2Mjk5LCAxMTYzMDQsIDExNjMwOSwgMTE2MzE0LCAxMTYzMTgsIDAsIDExNjMyMywgMTE2MzI4LCAxMTYzMzIsIAotICAgIDExNjMzNywgMCwgMTE2MzQyLCAxMTYzNDYsIDExNjM1MSwgMTE2MzU2LCAxMTYzNjAsIDAsIDExNjM2NCwgMCwgMCwgMCwgCi0gICAgMTE2MzY4LCAxMTYzNzMsIDExNjM3OCwgMTE2MzgyLCAxMTYzODcsIDExNjM5MiwgMTE2Mzk3LCAwLCAxMTY0MDIsIAotICAgIDExNjQwNiwgMTE2NDExLCAxMTY0MTYsIDExNjQyMSwgMTE2NDI1LCAxMTY0MzAsIDExNjQzNSwgMTE2NDQwLCAxMTY0NDQsIAotICAgIDExNjQ0OSwgMTE2NDU0LCAxMTY0NTgsIDExNjQ2MiwgMTE2NDY3LCAxMTY0NzEsIDExNjQ3NiwgMTE2NDgxLCAxMTY0ODUsIAotICAgIDExNjQ5MCwgMTE2NDk1LCAxMTY0OTksIDExNjUwNCwgMTE2NTA5LCAxMTY1MTQsIDExNjUxOSwgMTE2NTI0LCAxMTY1MjksIAotICAgIDExNjUzNSwgMTE2NTQxLCAxMTY1NDcsIDExNjU1MiwgMTE2NTU4LCAxMTY1NjQsIDExNjU3MCwgMTE2NTc1LCAxMTY1ODEsIAotICAgIDExNjU4NywgMTE2NTkyLCAxMTY1OTcsIDExNjYwMywgMTE2NjA4LCAxMTY2MTQsIDExNjYyMCwgMTE2NjI1LCAxMTY2MzEsIAotICAgIDExNjYzNywgMTE2NjQyLCAxMTY2NDgsIDExNjY1NCwgMTE2NjYwLCAxMTY2NjYsIDExNjY3MiwgMTE2Njc3LCAxMTY2ODMsIAotICAgIDExNjY4OSwgMTE2Njk1LCAxMTY3MDAsIDExNjcwNiwgMTE2NzEyLCAxMTY3MTgsIDExNjcyMywgMTE2NzI5LCAxMTY3MzUsIAotICAgIDExNjc0MCwgMTE2NzQ1LCAxMTY3NTEsIDExNjc1NiwgMTE2NzYyLCAxMTY3NjgsIDExNjc3MywgMTE2Nzc5LCAxMTY3ODUsIAotICAgIDExNjc5MCwgMTE2Nzk2LCAxMTY4MDIsIDExNjgwOCwgMTE2ODE0LCAxMTY4MjAsIDExNjgyNCwgMTE2ODI5LCAxMTY4MzQsIAotICAgIDExNjgzOSwgMTE2ODQzLCAxMTY4NDgsIDExNjg1MywgMTE2ODU4LCAxMTY4NjIsIDExNjg2NywgMTE2ODcyLCAxMTY4NzYsIAotICAgIDExNjg4MCwgMTE2ODg1LCAxMTY4ODksIDExNjg5NCwgMTE2ODk5LCAxMTY5MDMsIDExNjkwOCwgMTE2OTEzLCAxMTY5MTcsIAotICAgIDExNjkyMiwgMTE2OTI3LCAxMTY5MzIsIDExNjkzNywgMTE2OTQyLCAxMTY5NDYsIDExNjk1MSwgMTE2OTU2LCAxMTY5NjEsIAotICAgIDExNjk2NSwgMTE2OTcwLCAxMTY5NzUsIDExNjk4MCwgMTE2OTg0LCAxMTY5ODksIDExNjk5NCwgMTE2OTk4LCAxMTcwMDIsIAotICAgIDExNzAwNywgMTE3MDExLCAxMTcwMTYsIDExNzAyMSwgMTE3MDI1LCAxMTcwMzAsIDExNzAzNSwgMTE3MDM5LCAxMTcwNDQsIAotICAgIDExNzA0OSwgMTE3MDU0LCAxMTcwNTksIDExNzA2NCwgMTE3MDY5LCAxMTcwNzUsIDExNzA4MSwgMTE3MDg3LCAxMTcwOTIsIAotICAgIDExNzA5OCwgMTE3MTA0LCAxMTcxMTAsIDExNzExNSwgMTE3MTIxLCAxMTcxMjcsIDExNzEzMiwgMTE3MTM3LCAxMTcxNDMsIAotICAgIDExNzE0OCwgMTE3MTU0LCAxMTcxNjAsIDExNzE2NSwgMTE3MTcxLCAxMTcxNzcsIDExNzE4MiwgMTE3MTg4LCAxMTcxOTQsIAotICAgIDExNzIwMCwgMTE3MjA2LCAxMTcyMTIsIDExNzIxNywgMTE3MjIzLCAxMTcyMjksIDExNzIzNSwgMTE3MjQwLCAxMTcyNDYsIAotICAgIDExNzI1MiwgMTE3MjU4LCAxMTcyNjMsIDExNzI2OSwgMTE3Mjc1LCAxMTcyODAsIDExNzI4NSwgMTE3MjkxLCAxMTcyOTYsIAotICAgIDExNzMwMiwgMTE3MzA4LCAxMTczMTMsIDExNzMxOSwgMTE3MzI1LCAxMTczMzAsIDExNzMzNiwgMTE3MzQyLCAxMTczNDgsIAotICAgIDExNzM1NCwgMTE3MzYwLCAxMTczNjUsIDExNzM3MSwgMTE3Mzc3LCAxMTczODMsIDExNzM4OCwgMTE3Mzk0LCAxMTc0MDAsIAotICAgIDExNzQwNiwgMTE3NDExLCAxMTc0MTcsIDExNzQyMywgMTE3NDI4LCAxMTc0MzMsIDExNzQzOSwgMTE3NDQ0LCAxMTc0NTAsIAotICAgIDExNzQ1NiwgMTE3NDYxLCAxMTc0NjcsIDExNzQ3MywgMTE3NDc4LCAxMTc0ODQsIDExNzQ5MCwgMTE3NDk2LCAxMTc1MDIsIAotICAgIDExNzUwOCwgMTE3NTEzLCAxMTc1MTksIDExNzUyNSwgMTE3NTMxLCAxMTc1MzYsIDExNzU0MiwgMTE3NTQ4LCAxMTc1NTQsIAotICAgIDExNzU1OSwgMTE3NTY1LCAxMTc1NzEsIDExNzU3NiwgMTE3NTgxLCAxMTc1ODcsIDExNzU5MiwgMTE3NTk4LCAxMTc2MDQsIAotICAgIDExNzYwOSwgMTE3NjE1LCAxMTc2MjEsIDExNzYyNiwgMTE3NjMyLCAxMTc2MzgsIDExNzY0NCwgMTE3NjUwLCAxMTc2NTYsIAotICAgIDExNzY2MiwgMTE3NjY5LCAxMTc2NzYsIDExNzY4MywgMTE3Njg5LCAxMTc2OTYsIDExNzcwMywgMTE3NzEwLCAxMTc3MTYsIAotICAgIDExNzcyMywgMTE3NzMwLCAxMTc3MzYsIDExNzc0MiwgMTE3NzQ5LCAxMTc3NTUsIDExNzc2MiwgMTE3NzY5LCAxMTc3NzUsIAotICAgIDExNzc4MiwgMTE3Nzg5LCAxMTc3OTUsIDExNzgwMiwgMTE3ODA5LCAxMTc4MTYsIDExNzgyMywgMTE3ODMwLCAxMTc4MzYsIAotICAgIDExNzg0MywgMTE3ODUwLCAxMTc4NTcsIDExNzg2MywgMTE3ODcwLCAxMTc4NzcsIDExNzg4NCwgMTE3ODkwLCAxMTc4OTcsIAotICAgIDExNzkwNCwgMTE3OTEwLCAxMTc5MTYsIDExNzkyMywgMTE3OTI5LCAxMTc5MzYsIDExNzk0MywgMTE3OTQ5LCAxMTc5NTYsIAotICAgIDExNzk2MywgMTE3OTY5LCAxMTc5NzYsIDExNzk4MywgMTE3OTkwLCAxMTc5OTcsIDExODAwNCwgMTE4MDA5LCAxMTgwMTUsIAotICAgIDExODAyMSwgMTE4MDI3LCAxMTgwMzIsIDExODAzOCwgMTE4MDQ0LCAxMTgwNTAsIDExODA1NSwgMTE4MDYxLCAxMTgwNjcsIAotICAgIDExODA3MiwgMTE4MDc3LCAxMTgwODMsIDExODA4OCwgMTE4MDk0LCAxMTgxMDAsIDExODEwNSwgMTE4MTExLCAxMTgxMTcsIAotICAgIDExODEyMiwgMTE4MTI4LCAxMTgxMzQsIDExODE0MCwgMTE4MTQ2LCAxMTgxNTIsIDExODE1NywgMTE4MTYzLCAxMTgxNjksIAotICAgIDExODE3NSwgMTE4MTgwLCAxMTgxODYsIDExODE5MiwgMTE4MTk4LCAxMTgyMDMsIDExODIwOSwgMTE4MjE1LCAxMTgyMjAsIAotICAgIDExODIyNSwgMTE4MjMxLCAxMTgyMzYsIDExODI0MiwgMTE4MjQ4LCAxMTgyNTMsIDExODI1OSwgMTE4MjY1LCAxMTgyNzAsIAotICAgIDExODI3NiwgMTE4MjgyLCAxMTgyODgsIDExODI5NCwgMTE4MzAwLCAxMTgzMDYsIDAsIDAsIDExODMxMywgMTE4MzE4LCAKLSAgICAxMTgzMjMsIDExODMyOCwgMTE4MzMzLCAxMTgzMzgsIDExODM0MywgMTE4MzQ4LCAxMTgzNTMsIDExODM1OCwgMTE4MzYzLCAKLSAgICAxMTgzNjgsIDExODM3MywgMTE4Mzc4LCAxMTgzODMsIDExODM4OCwgMTE4MzkzLCAxMTgzOTgsIDExODQwNCwgMTE4NDA5LCAKLSAgICAxMTg0MTQsIDExODQxOSwgMTE4NDI0LCAxMTg0MjksIDExODQzNCwgMTE4NDM5LCAxMTg0NDMsIDExODQ0OCwgMTE4NDUzLCAKLSAgICAxMTg0NTgsIDExODQ2MywgMTE4NDY4LCAxMTg0NzMsIDExODQ3OCwgMTE4NDgzLCAxMTg0ODgsIDExODQ5MywgMTE4NDk4LCAKLSAgICAxMTg1MDMsIDExODUwOCwgMTE4NTEzLCAxMTg1MTgsIDExODUyMywgMTE4NTI4LCAxMTg1MzQsIDExODUzOSwgMTE4NTQ0LCAKLSAgICAxMTg1NDksIDExODU1NCwgMTE4NTU5LCAxMTg1NjQsIDExODU2OSwgMTE4NTc1LCAxMTg1ODAsIDExODU4NSwgMTE4NTkwLCAKLSAgICAxMTg1OTUsIDExODYwMCwgMTE4NjA1LCAxMTg2MTAsIDExODYxNSwgMTE4NjIwLCAxMTg2MjUsIDExODYzMCwgMTE4NjM1LCAKLSAgICAxMTg2NDAsIDExODY0NSwgMTE4NjUwLCAxMTg2NTUsIDExODY2MCwgMTE4NjY1LCAxMTg2NzAsIDExODY3NSwgMTE4NjgwLCAKLSAgICAxMTg2ODUsIDExODY5MCwgMTE4Njk2LCAxMTg3MDEsIDExODcwNiwgMTE4NzExLCAxMTg3MTYsIDExODcyMSwgMTE4NzI2LCAKLSAgICAxMTg3MzEsIDExODczNSwgMTE4NzQwLCAxMTg3NDUsIDExODc1MCwgMTE4NzU1LCAxMTg3NjAsIDExODc2NSwgMTE4NzcwLCAKLSAgICAxMTg3NzUsIDExODc4MCwgMTE4Nzg1LCAxMTg3OTAsIDExODc5NSwgMTE4ODAwLCAxMTg4MDUsIDExODgxMCwgMTE4ODE1LCAKLSAgICAxMTg4MjAsIDExODgyNiwgMTE4ODMxLCAxMTg4MzYsIDExODg0MSwgMTE4ODQ2LCAxMTg4NTEsIDExODg1NiwgMTE4ODYxLCAKLSAgICAxMTg4NjcsIDExODg3MiwgMTE4ODc3LCAxMTg4ODIsIDExODg4NywgMTE4ODkyLCAxMTg4OTcsIDExODkwMywgMTE4OTA5LCAKLSAgICAxMTg5MTUsIDExODkyMSwgMTE4OTI3LCAxMTg5MzMsIDExODkzOSwgMTE4OTQ1LCAxMTg5NTEsIDExODk1NywgMTE4OTYzLCAKLSAgICAxMTg5NjksIDExODk3NSwgMTE4OTgxLCAxMTg5ODcsIDExODk5MywgMTE4OTk5LCAxMTkwMDYsIDExOTAxMiwgMTE5MDE4LCAKLSAgICAxMTkwMjQsIDExOTAzMCwgMTE5MDM2LCAxMTkwNDIsIDExOTA0OCwgMTE5MDUzLCAxMTkwNTksIDExOTA2NSwgMTE5MDcxLCAKLSAgICAxMTkwNzcsIDExOTA4MywgMTE5MDg5LCAxMTkwOTUsIDExOTEwMSwgMTE5MTA3LCAxMTkxMTMsIDExOTExOSwgMTE5MTI1LCAKLSAgICAxMTkxMzEsIDExOTEzNywgMTE5MTQzLCAxMTkxNDksIDExOTE1NSwgMTE5MTYyLCAxMTkxNjgsIDExOTE3NCwgMTE5MTgwLCAKLSAgICAxMTkxODYsIDExOTE5MiwgMTE5MTk4LCAxMTkyMDQsIDExOTIxMSwgMTE5MjE3LCAxMTkyMjMsIDExOTIyOSwgMTE5MjM1LCAKLSAgICAxMTkyNDEsIDExOTI0NywgMTE5MjUzLCAxMTkyNTksIDExOTI2NSwgMTE5MjcxLCAxMTkyNzcsIDExOTI4MywgMTE5Mjg5LCAKLSAgICAxMTkyOTUsIDExOTMwMSwgMTE5MzA3LCAxMTkzMTMsIDExOTMxOSwgMTE5MzI1LCAxMTkzMzEsIDExOTMzNywgMTE5MzQzLCAKLSAgICAxMTkzNDksIDExOTM1NiwgMTE5MzYyLCAxMTkzNjgsIDExOTM3NCwgMTE5MzgwLCAxMTkzODYsIDExOTM5MiwgMTE5Mzk4LCAKLSAgICAxMTk0MDMsIDExOTQwOSwgMTE5NDE1LCAxMTk0MjEsIDExOTQyNywgMTE5NDMzLCAxMTk0MzksIDExOTQ0NSwgMTE5NDUxLCAKLSAgICAxMTk0NTcsIDExOTQ2MywgMTE5NDY5LCAxMTk0NzUsIDExOTQ4MSwgMTE5NDg3LCAxMTk0OTMsIDExOTQ5OSwgMTE5NTA1LCAKLSAgICAxMTk1MTIsIDExOTUxOCwgMTE5NTI0LCAxMTk1MzAsIDExOTUzNiwgMTE5NTQyLCAxMTk1NDgsIDExOTU1NCwgMTE5NTYxLCAKLSAgICAxMTk1NjcsIDExOTU3MywgMTE5NTc5LCAxMTk1ODUsIDExOTU5MSwgMTE5NTk3LCAxMTk2MDQsIDExOTYxMSwgMTE5NjE4LCAKLSAgICAxMTk2MjUsIDExOTYzMiwgMTE5NjM5LCAxMTk2NDYsIDExOTY1MywgMTE5NjYwLCAxMTk2NjcsIDExOTY3NCwgMTE5NjgxLCAKLSAgICAxMTk2ODgsIDExOTY5NSwgMTE5NzAyLCAxMTk3MDksIDExOTcxNiwgMTE5NzI0LCAxMTk3MzEsIDExOTczOCwgMTE5NzQ1LCAKLSAgICAxMTk3NTIsIDExOTc1OSwgMTE5NzY2LCAxMTk3NzMsIDExOTc3OSwgMTE5Nzg2LCAxMTk3OTMsIDExOTgwMCwgMTE5ODA3LCAKLSAgICAxMTk4MTQsIDExOTgyMSwgMTE5ODI4LCAxMTk4MzUsIDExOTg0MiwgMTE5ODQ5LCAxMTk4NTYsIDExOTg2MywgMTE5ODcwLCAKLSAgICAxMTk4NzcsIDExOTg4NCwgMTE5ODkxLCAxMTk4OTgsIDExOTkwNiwgMTE5OTEzLCAxMTk5MjAsIDExOTkyNywgMTE5OTM0LCAKLSAgICAxMTk5NDEsIDExOTk0OCwgMTE5OTU1LCAxMTk5NjMsIDExOTk3MCwgMTE5OTc3LCAxMTk5ODQsIDExOTk5MSwgMTE5OTk4LCAKLSAgICAxMjAwMDUsIDEyMDAxMCwgMCwgMCwgMTIwMDE1LCAxMjAwMjAsIDEyMDAyNCwgMTIwMDI4LCAxMjAwMzIsIDEyMDAzNiwgCi0gICAgMTIwMDQwLCAxMjAwNDQsIDEyMDA0OCwgMTIwMDUyLCAxMjAwNTYsIDEyMDA2MSwgMTIwMDY1LCAxMjAwNjksIDEyMDA3MywgCi0gICAgMTIwMDc3LCAxMjAwODEsIDEyMDA4NSwgMTIwMDg5LCAxMjAwOTMsIDEyMDA5NywgMTIwMTAyLCAxMjAxMDYsIDEyMDExMCwgCi0gICAgMTIwMTE0LCAxMjAxMTgsIDEyMDEyMiwgMTIwMTI2LCAxMjAxMzAsIDEyMDEzNCwgMTIwMTM4LCAxMjAxNDQsIDEyMDE0OSwgCi0gICAgMTIwMTU0LCAxMjAxNTksIDEyMDE2NCwgMTIwMTY5LCAxMjAxNzQsIDEyMDE3OSwgMTIwMTg0LCAxMjAxODksIDEyMDE5NSwgCi0gICAgMTIwMjAwLCAxMjAyMDUsIDEyMDIxMCwgMTIwMjE1LCAxMjAyMjAsIDEyMDIyNSwgMTIwMjMwLCAxMjAyMzUsIDEyMDI0MCwgCi0gICAgMTIwMjQ0LCAxMjAyNDgsIDEyMDI1MiwgMCwgMTIwMjU2LCAxMjAyNjAsIDEyMDI2NCwgMTIwMjY4LCAxMjAyNzIsIAotICAgIDEyMDI3NiwgMTIwMjgwLCAxMjAyODQsIDEyMDI4OCwgMTIwMjkyLCAxMjAyOTYsIDEyMDMwMCwgMTIwMzA0LCAxMjAzMDgsIAotICAgIDEyMDMxMiwgMTIwMzE2LCAxMjAzMjAsIDEyMDMyNCwgMTIwMzI4LCAxMjAzMzIsIDEyMDMzNiwgMTIwMzQwLCAxMjAzNDQsIAotICAgIDEyMDM0OCwgMTIwMzU0LCAxMjAzNjAsIDEyMDM2NiwgMCwgMTIwMzcyLCAxMjAzNzcsIDAsIDEyMDM4MiwgMCwgMCwgCi0gICAgMTIwMzg3LCAwLCAxMjAzOTIsIDEyMDM5NywgMTIwNDAyLCAxMjA0MDcsIDEyMDQxMiwgMTIwNDE3LCAxMjA0MjIsIAotICAgIDEyMDQyNywgMTIwNDMyLCAxMjA0MzcsIDAsIDEyMDQ0MiwgMTIwNDQ3LCAxMjA0NTIsIDEyMDQ1NywgMCwgMTIwNDYyLCAwLCAKLSAgICAxMjA0NjcsIDAsIDAsIDAsIDAsIDAsIDAsIDEyMDQ3MiwgMCwgMCwgMCwgMCwgMTIwNDc4LCAwLCAxMjA0ODQsIDAsIAotICAgIDEyMDQ5MCwgMCwgMTIwNDk2LCAxMjA1MDIsIDEyMDUwOCwgMCwgMTIwNTE0LCAxMjA1MjAsIDAsIDEyMDUyNiwgMCwgMCwgCi0gICAgMTIwNTMyLCAwLCAxMjA1MzgsIDAsIDEyMDU0NCwgMCwgMTIwNTUwLCAwLCAxMjA1NTgsIDAsIDEyMDU2NiwgMTIwNTcyLCAwLCAKLSAgICAxMjA1NzgsIDAsIDAsIDEyMDU4NCwgMTIwNTkwLCAxMjA1OTYsIDEyMDYwMiwgMCwgMTIwNjA4LCAxMjA2MTQsIDEyMDYyMCwgCi0gICAgMTIwNjI2LCAxMjA2MzIsIDEyMDYzOCwgMTIwNjQ0LCAwLCAxMjA2NTAsIDEyMDY1NiwgMTIwNjYyLCAxMjA2NjgsIDAsIAotICAgIDEyMDY3NCwgMTIwNjgwLCAxMjA2ODYsIDEyMDY5MiwgMCwgMTIwNzAwLCAwLCAxMjA3MDgsIDEyMDcxNCwgMTIwNzIwLCAKLSAgICAxMjA3MjYsIDEyMDczMiwgMTIwNzM4LCAxMjA3NDQsIDEyMDc1MCwgMTIwNzU2LCAxMjA3NjIsIDAsIDEyMDc2OCwgCi0gICAgMTIwNzc0LCAxMjA3ODAsIDEyMDc4NiwgMTIwNzkyLCAxMjA3OTgsIDEyMDgwNCwgMTIwODEwLCAxMjA4MTYsIDEyMDgyMiwgCi0gICAgMTIwODI4LCAxMjA4MzQsIDEyMDg0MCwgMTIwODQ2LCAxMjA4NTIsIDEyMDg1OCwgMTIwODY0LCAwLCAwLCAwLCAwLCAwLCAKLSAgICAxMjA4NzAsIDEyMDg3NSwgMTIwODgwLCAwLCAxMjA4ODUsIDEyMDg5MCwgMTIwODk1LCAxMjA5MDAsIDEyMDkwNSwgMCwgCi0gICAgMTIwOTEwLCAxMjA5MTUsIDEyMDkyMCwgMTIwOTI1LCAxMjA5MzAsIDEyMDkzNSwgMTIwOTQwLCAxMjA5NDUsIDEyMDk1MCwgCi0gICAgMTIwOTU1LCAxMjA5NjAsIDEyMDk2NSwgMTIwOTcwLCAxMjA5NzUsIDEyMDk4MCwgMTIwOTg1LCAxMjA5OTAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDEyMDk5NSwgMTIxMDA1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMjEwMTMsIAotICAgIDEyMTAyMCwgMTIxMDI3LCAxMjEwMzQsIDEyMTA0MSwgMTIxMDQ4LCAxMjEwNTUsIDEyMTA2MSwgMTIxMDY4LCAxMjEwNzUsIAotICAgIDEyMTA4MiwgMTIxMDkwLCAxMjEwOTgsIDEyMTEwNiwgMTIxMTE0LCAxMjExMjIsIDEyMTEzMCwgMTIxMTM3LCAxMjExNDQsIAotICAgIDEyMTE1MSwgMTIxMTU5LCAxMjExNjcsIDEyMTE3NSwgMTIxMTgzLCAxMjExOTEsIDEyMTE5OSwgMTIxMjA2LCAxMjEyMTMsIAotICAgIDEyMTIyMCwgMTIxMjI4LCAxMjEyMzYsIDEyMTI0NCwgMTIxMjUyLCAxMjEyNjAsIDEyMTI2OCwgMTIxMjczLCAxMjEyNzgsIAotICAgIDEyMTI4MywgMTIxMjg4LCAxMjEyOTMsIDEyMTI5OCwgMTIxMzAzLCAxMjEzMDgsIDEyMTMxMywgMCwgMCwgMCwgMCwgCi0gICAgMTIxMzE4LCAxMjEzMjMsIDEyMTMyNywgMTIxMzMxLCAxMjEzMzUsIDEyMTMzOSwgMTIxMzQzLCAxMjEzNDcsIDEyMTM1MSwgCi0gICAgMTIxMzU1LCAxMjEzNTksIDEyMTM2MywgMTIxMzY3LCAxMjEzNzEsIDEyMTM3NSwgMTIxMzc5LCAxMjEzODMsIDEyMTM4NywgCi0gICAgMTIxMzkxLCAxMjEzOTUsIDEyMTM5OSwgMTIxNDAzLCAxMjE0MDcsIDEyMTQxMSwgMTIxNDE1LCAxMjE0MTksIDEyMTQyMywgCi0gICAgMTIxNDI3LCAxMjE0MzEsIDEyMTQzNSwgMTIxNDM5LCAxMjE0NDMsIDEyMTQ0NywgMTIxNDUxLCAxMjE0NTUsIDEyMTQ1OSwgCi0gICAgMTIxNDYzLCAxMjE0NjcsIDEyMTQ3MSwgMTIxNDc1LCAxMjE0NzksIDEyMTQ4MywgMTIxNDg3LCAxMjE0OTEsIDEyMTQ5NSwgCi0gICAgMTIxNDk5LCAxMjE1MDMsIDEyMTUwNywgMTIxNTExLCAxMjE1MTUsIDEyMTUxOSwgMTIxNTI0LCAxMjE1MjgsIDEyMTUzMiwgCi0gICAgMTIxNTM2LCAxMjE1NDAsIDEyMTU0NCwgMTIxNTQ4LCAxMjE1NTIsIDEyMTU1NiwgMTIxNTYwLCAxMjE1NjQsIDEyMTU2OCwgCi0gICAgMTIxNTcyLCAxMjE1NzYsIDEyMTU4MCwgMTIxNTg0LCAxMjE1ODgsIDEyMTU5MiwgMTIxNTk2LCAxMjE2MDAsIDEyMTYwNCwgCi0gICAgMTIxNjA4LCAxMjE2MTIsIDEyMTYxNiwgMTIxNjIwLCAxMjE2MjQsIDEyMTYyOCwgMTIxNjMyLCAxMjE2MzYsIDEyMTY0MCwgCi0gICAgMTIxNjQ0LCAxMjE2NDgsIDEyMTY1MiwgMTIxNjU2LCAxMjE2NjAsIDEyMTY2NCwgMTIxNjY4LCAxMjE2NzIsIDEyMTY3NiwgCi0gICAgMTIxNjgwLCAxMjE2ODQsIDEyMTY4OCwgMTIxNjkyLCAxMjE2OTYsIDEyMTcwMCwgMTIxNzA0LCAxMjE3MDgsIDEyMTcxMiwgCi0gICAgMTIxNzE2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMjE3MjAsIDEyMTcyNiwgMTIxNzM1LCAKLSAgICAxMjE3NDMsIDEyMTc1MSwgMTIxNzYwLCAxMjE3NjksIDEyMTc3OCwgMTIxNzg3LCAxMjE3OTYsIDEyMTgwNSwgMTIxODE0LCAKLSAgICAxMjE4MjMsIDEyMTgzMiwgMTIxODQxLCAwLCAwLCAxMjE4NTAsIDEyMTg1OSwgMTIxODY3LCAxMjE4NzUsIDEyMTg4NCwgCi0gICAgMTIxODkzLCAxMjE5MDIsIDEyMTkxMSwgMTIxOTIwLCAxMjE5MjksIDEyMTkzOCwgMTIxOTQ3LCAxMjE5NTYsIDEyMTk2NSwgCi0gICAgMCwgMCwgMTIxOTc0LCAxMjE5ODMsIDEyMTk5MSwgMTIxOTk5LCAxMjIwMDgsIDEyMjAxNywgMTIyMDI2LCAxMjIwMzUsIAotICAgIDEyMjA0NCwgMTIyMDUzLCAxMjIwNjIsIDEyMjA3MSwgMTIyMDgwLCAxMjIwODksIDEyMjA5OCwgMCwgMTIyMTA1LCAKLSAgICAxMjIxMTQsIDEyMjEyMiwgMTIyMTMwLCAxMjIxMzksIDEyMjE0OCwgMTIyMTU3LCAxMjIxNjYsIDEyMjE3NSwgMTIyMTg0LCAKLSAgICAxMjIxOTMsIDEyMjIwMiwgMTIyMjExLCAxMjIyMjAsIDEyMjIyOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTIyMjM2LCAKLSAgICAxMjIyNDMsIDEyMjI0OCwgMTIyMjUyLCAxMjIyNTYsIDEyMjI2MCwgMTIyMjY1LCAxMjIyNzAsIDEyMjI3NSwgMTIyMjgwLCAKLSAgICAxMjIyODUsIDAsIDAsIDAsIDAsIDAsIDEyMjI5MCwgMTIyMjk1LCAxMjIzMDEsIDEyMjMwNywgMTIyMzEzLCAxMjIzMTgsIAotICAgIDEyMjMyNCwgMTIyMzMwLCAxMjIzMzYsIDEyMjM0MSwgMTIyMzQ3LCAxMjIzNTMsIDEyMjM1OCwgMTIyMzYzLCAxMjIzNjksIAotICAgIDEyMjM3NCwgMTIyMzgwLCAxMjIzODYsIDEyMjM5MSwgMTIyMzk3LCAxMjI0MDMsIDEyMjQwOCwgMTIyNDE0LCAxMjI0MjAsIAotICAgIDEyMjQyNiwgMTIyNDMyLCAxMjI0MzgsIDEyMjQ0OSwgMTIyNDU2LCAxMjI0NjIsIDEyMjQ2NSwgMCwgMTIyNDY4LCAKLSAgICAxMjI0NzMsIDEyMjQ3OSwgMTIyNDg1LCAxMjI0OTEsIDEyMjQ5NiwgMTIyNTAyLCAxMjI1MDgsIDEyMjUxNCwgMTIyNTE5LCAKLSAgICAxMjI1MjUsIDEyMjUzMSwgMTIyNTM2LCAxMjI1NDEsIDEyMjU0NywgMTIyNTUyLCAxMjI1NTgsIDEyMjU2NCwgMTIyNTY5LCAKLSAgICAxMjI1NzUsIDEyMjU4MSwgMTIyNTg2LCAxMjI1OTIsIDEyMjU5OCwgMTIyNjA0LCAxMjI2MTAsIDEyMjYxNiwgMTIyNjE5LCAKLSAgICAxMjI2MjIsIDEyMjYyNSwgMTIyNjI4LCAxMjI2MzEsIDEyMjYzNCwgMTIyNjQwLCAxMjI2NDcsIDEyMjY1NCwgMTIyNjYxLCAKLSAgICAxMjI2NjcsIDEyMjY3NCwgMTIyNjgxLCAxMjI2ODgsIDEyMjY5NCwgMTIyNzAxLCAxMjI3MDgsIDEyMjcxNCwgMTIyNzIwLCAKLSAgICAxMjI3MjcsIDEyMjczMywgMTIyNzQwLCAxMjI3NDcsIDEyMjc1MywgMTIyNzYwLCAxMjI3NjcsIDEyMjc3MywgMTIyNzgwLCAKLSAgICAxMjI3ODcsIDEyMjc5NCwgMTIyODAxLCAxMjI4MDgsIDEyMjgxMywgMCwgMCwgMCwgMCwgMTIyODE4LCAxMjI4MjQsIAotICAgIDEyMjgzMSwgMTIyODM4LCAxMjI4NDUsIDEyMjg1MSwgMTIyODU4LCAxMjI4NjUsIDEyMjg3MiwgMTIyODc4LCAxMjI4ODUsIAotICAgIDEyMjg5MiwgMTIyODk4LCAxMjI5MDQsIDEyMjkxMSwgMTIyOTE3LCAxMjI5MjQsIDEyMjkzMSwgMTIyOTM3LCAxMjI5NDQsIAotICAgIDEyMjk1MSwgMTIyOTU3LCAxMjI5NjQsIDEyMjk3MSwgMTIyOTc4LCAxMjI5ODUsIDEyMjk5MiwgMTIzMDAxLCAxMjMwMDUsIAotICAgIDEyMzAwOCwgMTIzMDExLCAxMjMwMTUsIDEyMzAxOSwgMTIzMDIyLCAxMjMwMjUsIDEyMzAyOCwgMTIzMDMxLCAxMjMwMzQsIAotICAgIDEyMzAzNywgMTIzMDQwLCAxMjMwNDMsIDEyMzA0NiwgMTIzMDUyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMjMwNTUsIDEyMzA2MiwgMTIzMDcwLCAKLSAgICAxMjMwNzgsIDEyMzA4NiwgMTIzMDkzLCAxMjMxMDEsIDEyMzEwOSwgMTIzMTE3LCAxMjMxMjQsIDEyMzEzMiwgMTIzMTQwLCAKLSAgICAxMjMxNDcsIDEyMzE1NCwgMTIzMTYyLCAxMjMxNjksIDEyMzE3NywgMTIzMTg1LCAxMjMxOTIsIDEyMzIwMCwgMTIzMjA4LCAKLSAgICAxMjMyMTUsIDEyMzIyMywgMTIzMjMxLCAxMjMyMzksIDEyMzI0NywgMTIzMjU1LCAxMjMyNTksIDEyMzI2MywgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTIzMjY2LCAxMjMyNzIsIDEyMzI3OCwgMTIzMjg0LCAxMjMyODgsIAotICAgIDEyMzI5NCwgMTIzMzAwLCAxMjMzMDYsIDEyMzMxMiwgMTIzMzE4LCAxMjMzMjQsIDEyMzMzMCwgMTIzMzM2LCAxMjMzNDIsIAotICAgIDEyMzM0OCwgMTIzMzU0LCAxMjMzNjAsIDEyMzM2NiwgMTIzMzcyLCAxMjMzNzgsIDEyMzM4NCwgMTIzMzkwLCAxMjMzOTYsIAotICAgIDEyMzQwMiwgMTIzNDA4LCAxMjM0MTQsIDEyMzQyMCwgMTIzNDI2LCAxMjM0MzIsIDEyMzQzOCwgMTIzNDQ0LCAxMjM0NTAsIAotICAgIDEyMzQ1NiwgMTIzNDYyLCAxMjM0NjgsIDEyMzQ3NCwgMTIzNDgwLCAxMjM0ODYsIDEyMzQ5MiwgMTIzNDk4LCAxMjM1MDQsIAotICAgIDEyMzUxMCwgMTIzNTE2LCAwLCAwLCAwLCAwLCAwLCAxMjM1MjIsIDEyMzUzMywgMTIzNTQ0LCAxMjM1NTUsIDEyMzU2NiwgCi0gICAgMTIzNTc3LCAxMjM1ODgsIDEyMzU5OSwgMTIzNjEwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMjM2MjEsIDEyMzYyNSwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTIzNjI5LCAKLSAgICAxMjM2MzEsIDEyMzYzMywgMTIzNjM3LCAxMjM2NDIsIDEyMzY0NywgMTIzNjQ5LCAxMjM2NTUsIDEyMzY2MCwgMTIzNjYyLCAKLSAgICAxMjM2NjgsIDEyMzY3MiwgMTIzNjc0LCAxMjM2NzgsIDEyMzY4NCwgMTIzNjkwLCAxMjM2OTYsIDEyMzcwMSwgMTIzNzA1LCAKLSAgICAxMjM3MTIsIDEyMzcxOSwgMTIzNzI2LCAxMjM3MzEsIDEyMzczOCwgMTIzNzQ1LCAxMjM3NTIsIDEyMzc1NiwgMTIzNzYyLCAKLSAgICAxMjM3NzEsIDEyMzc4MCwgMTIzNzg3LCAxMjM3OTIsIDEyMzc5NiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMTIzODAwLCAxMjM4MDIsIDEyMzgwNCwgMTIzODA4LCAxMjM4MTIsIDEyMzgxNiwgMCwgMTIzODE4LCAKLSAgICAxMjM4MjAsIDEyMzgyNCwgMTIzODI2LCAxMjM4MjgsIDEyMzgzMCwgMTIzODMyLCAxMjM4MzcsIDEyMzg0MiwgMTIzODQ0LCAKLSAgICAxMjM4NTAsIDEyMzg1NCwgMTIzODU4LCAxMjM4NjYsIDEyMzg2OCwgMTIzODcwLCAxMjM4NzIsIDEyMzg3NCwgMTIzODc2LCAKLSAgICAxMjM4NzgsIDEyMzg4MCwgMTIzODgyLCAxMjM4ODQsIDEyMzg4NiwgMTIzODkwLCAxMjM4OTQsIDEyMzg5NiwgMTIzODk4LCAKLSAgICAxMjM5MDAsIDEyMzkwMiwgMTIzOTA0LCAxMjM5MDksIDEyMzkxNSwgMTIzOTE5LCAxMjM5MjMsIDEyMzkyNywgMTIzOTMxLCAKLSAgICAxMjM5MzYsIDEyMzk0MCwgMTIzOTQyLCAxMjM5NDQsIDEyMzk0OCwgMTIzOTU0LCAxMjM5NTYsIDEyMzk1OCwgMTIzOTYwLCAKLSAgICAxMjM5NjQsIDEyMzk3MywgMTIzOTc5LCAxMjM5ODMsIDEyMzk4NywgMTIzOTg5LCAxMjM5OTEsIDEyMzk5NCwgMTIzOTk2LCAKLSAgICAxMjM5OTgsIDEyNDAwMCwgMTI0MDA0LCAxMjQwMDYsIDEyNDAxMCwgMTI0MDE1LCAxMjQwMTcsIDEyNDAyMiwgMTI0MDI4LCAKLSAgICAxMjQwMzUsIDEyNDAzOSwgMTI0MDQzLCAxMjQwNDcsIDEyNDA1MSwgMTI0MDU3LCAwLCAwLCAwLCAxMjQwNjEsIDEyNDA2MywgCi0gICAgMTI0MDY3LCAxMjQwNzEsIDEyNDA3MywgMTI0MDc3LCAxMjQwODEsIDEyNDA4MywgMTI0MDg3LCAxMjQwODksIDEyNDA5MywgCi0gICAgMTI0MDk3LCAxMjQxMDEsIDEyNDEwNSwgMTI0MTA5LCAxMjQxMTMsIDEyNDExNywgMTI0MTIxLCAxMjQxMjcsIDEyNDEzMSwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTI0MTM1LCAxMjQxMzksIDEyNDE0MywgMTI0MTQ3LCAKLSAgICAxMjQxNTQsIDEyNDE1NiwgMTI0MTYwLCAxMjQxNjIsIDEyNDE2NCwgMTI0MTY4LCAxMjQxNzIsIDEyNDE3NiwgMTI0MTc4LCAKLSAgICAxMjQxODIsIDEyNDE4NiwgMTI0MTkwLCAxMjQxOTQsIDEyNDE5OCwgMTI0MjAwLCAxMjQyMDQsIDEyNDIwNiwgMTI0MjEyLCAKLSAgICAxMjQyMTUsIDEyNDIyMCwgMTI0MjIyLCAxMjQyMjQsIDEyNDIyNywgMTI0MjI5LCAxMjQyMzEsIDEyNDIzNCwgMTI0MjQxLCAKLSAgICAxMjQyNDgsIDEyNDI1NSwgMTI0MjYwLCAxMjQyNjQsIDEyNDI2NiwgMTI0MjY4LCAwLCAxMjQyNzAsIDEyNDI3MiwgCi0gICAgMTI0Mjc2LCAxMjQyODAsIDEyNDI4NCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMTI0Mjg2LCAxMjQyOTAsIDEyNDI5NSwgMTI0Mjk5LCAxMjQzMDUsIDEyNDMxMSwgMTI0MzEzLCAKLSAgICAxMjQzMTUsIDEyNDMyMSwgMTI0MzIzLCAxMjQzMjcsIDEyNDMzMSwgMTI0MzMzLCAxMjQzMzcsIDEyNDMzOSwgMTI0MzQzLCAKLSAgICAxMjQzNDcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEyNDM1MSwgMTI0MzUzLCAKLSAgICAxMjQzNTUsIDEyNDM1NywgMTI0MzYxLCAxMjQzNjMsIDEyNDM2NSwgMTI0MzY3LCAxMjQzNjksIDEyNDM3MSwgMTI0MzczLCAKLSAgICAxMjQzNzUsIDEyNDM3NywgMTI0Mzc5LCAxMjQzODEsIDEyNDM4MywgMTI0Mzg1LCAxMjQzODcsIDEyNDM4OSwgMTI0MzkxLCAKLSAgICAxMjQzOTMsIDEyNDM5NSwgMTI0Mzk3LCAxMjQzOTksIDEyNDQwMSwgMTI0NDAzLCAxMjQ0MDUsIDEyNDQwOSwgMTI0NDExLCAKLSAgICAxMjQ0MTMsIDEyNDQxNSwgMTI0NDE5LCAxMjQ0MjEsIDEyNDQyNSwgMTI0NDI3LCAxMjQ0MjksIDEyNDQzMywgMTI0NDM3LCAKLSAgICAxMjQ0NDMsIDEyNDQ0NSwgMTI0NDQ3LCAxMjQ0NDksIDEyNDQ1MSwgMTI0NDU1LCAxMjQ0NTksIDEyNDQ2MSwgMTI0NDY1LCAKLSAgICAxMjQ0NjksIDEyNDQ3MywgMTI0NDc3LCAxMjQ0ODEsIDEyNDQ4NSwgMTI0NDg5LCAxMjQ0OTMsIDEyNDQ5NywgMTI0NTAxLCAKLSAgICAxMjQ1MDUsIDEyNDUwOSwgMTI0NTEzLCAxMjQ1MTcsIDEyNDUyMSwgMTI0NTI1LCAxMjQ1MjksIDAsIDEyNDUzMywgMCwgCi0gICAgMTI0NTM1LCAxMjQ1MzcsIDEyNDUzOSwgMTI0NTQxLCAxMjQ1NDMsIDEyNDU1MSwgMTI0NTU5LCAxMjQ1NjcsIDEyNDU3NSwgCi0gICAgMTI0NTgwLCAxMjQ1ODUsIDEyNDU5MCwgMTI0NTk0LCAxMjQ1OTgsIDEyNDYwMywgMTI0NjA3LCAxMjQ2MDksIDEyNDYxMywgCi0gICAgMTI0NjE1LCAxMjQ2MTcsIDEyNDYxOSwgMTI0NjIxLCAxMjQ2MjMsIDEyNDYyNSwgMTI0NjI3LCAxMjQ2MzEsIDEyNDYzMywgCi0gICAgMTI0NjM1LCAxMjQ2MzcsIDEyNDY0MSwgMTI0NjQ1LCAxMjQ2NDksIDEyNDY1MywgMTI0NjU3LCAxMjQ2NTksIDEyNDY2NSwgCi0gICAgMTI0NjcxLCAxMjQ2NzMsIDEyNDY3NSwgMTI0Njc3LCAxMjQ2NzksIDEyNDY4MSwgMTI0NjkwLCAxMjQ2OTcsIDEyNDcwNCwgCi0gICAgMTI0NzA4LCAxMjQ3MTUsIDEyNDcyMCwgMTI0NzI3LCAxMjQ3MzYsIDEyNDc0MSwgMTI0NzQ1LCAxMjQ3NDksIDEyNDc1MSwgCi0gICAgMTI0NzU1LCAxMjQ3NTcsIDEyNDc2MSwgMTI0NzY1LCAxMjQ3NjcsIDEyNDc3MSwgMTI0Nzc1LCAxMjQ3NzksIDEyNDc4MSwgCi0gICAgMTI0NzgzLCAxMjQ3ODksIDEyNDc5MSwgMTI0NzkzLCAxMjQ3OTUsIDEyNDc5OSwgMTI0ODAzLCAxMjQ4MDUsIDEyNDgwOSwgCi0gICAgMTI0ODExLCAxMjQ4MTMsIDEyNDgxNiwgMTI0ODIwLCAxMjQ4MjIsIDEyNDgyNiwgMTI0ODI4LCAxMjQ4MzAsIDEyNDgzNSwgCi0gICAgMTI0ODM3LCAxMjQ4NDEsIDEyNDg0NSwgMTI0ODQ4LCAxMjQ4NTIsIDEyNDg1NiwgMTI0ODYwLCAxMjQ4NjQsIDEyNDg2OCwgCi0gICAgMTI0ODcyLCAxMjQ4NzYsIDEyNDg4MSwgMTI0ODg1LCAxMjQ4ODksIDEyNDg5OCwgMTI0OTAzLCAxMjQ5MDYsIDEyNDkwOCwgCi0gICAgMTI0OTExLCAxMjQ5MTQsIDEyNDkxOSwgMTI0OTIxLCAxMjQ5MjQsIDEyNDkyOSwgMTI0OTMzLCAxMjQ5MzYsIDEyNDk0MCwgCi0gICAgMTI0OTQ0LCAxMjQ5NDcsIDEyNDk1MiwgMTI0OTU2LCAxMjQ5NjAsIDEyNDk2NCwgMTI0OTY4LCAxMjQ5NzQsIDEyNDk4MCwgCi0gICAgMTI0OTg2LCAxMjQ5OTIsIDEyNDk5NywgMTI1MDA4LCAxMjUwMTAsIDEyNTAxNCwgMTI1MDE2LCAxMjUwMTgsIDEyNTAyMiwgCi0gICAgMTI1MDI2LCAxMjUwMjgsIDEyNTAzMiwgMTI1MDM3LCAxMjUwNDIsIDEyNTA0OCwgMTI1MDUwLCAxMjUwNTQsIDEyNTA1OCwgCi0gICAgMTI1MDY1LCAxMjUwNzIsIDEyNTA3NiwgMTI1MDc4LCAxMjUwODAsIDEyNTA4NCwgMTI1MDg2LCAxMjUwOTAsIDEyNTA5NCwgCi0gICAgMTI1MDk4LCAxMjUxMDAsIDEyNTEwMiwgMTI1MTA5LCAxMjUxMTMsIDEyNTExNiwgMTI1MTIwLCAxMjUxMjQsIDEyNTEyOCwgCi0gICAgMTI1MTMwLCAxMjUxMzQsIDEyNTEzNiwgMTI1MTM4LCAxMjUxNDIsIDEyNTE0NCwgMTI1MTQ4LCAxMjUxNTIsIDEyNTE1OCwgCi0gICAgMTI1MTYyLCAxMjUxNjYsIDEyNTE3MCwgMTI1MTcyLCAxMjUxNzUsIDEyNTE3OSwgMTI1MTg2LCAxMjUxOTUsIDEyNTIwNCwgCi0gICAgMTI1MjEyLCAxMjUyMjAsIDEyNTIyMiwgMTI1MjI2LCAxMjUyMjgsIDEyNTIzMiwgMTI1MjQzLCAxMjUyNDcsIDEyNTI1MywgCi0gICAgMTI1MjU5LCAxMjUyNjQsIDAsIDEyNTI2NiwgMTI1MjcwLCAxMjUyNzIsIDEyNTI3NCwgMCwgMCwgMCwgMTI1Mjc2LCAKLSAgICAxMjUyODEsIDEyNTI5MSwgMTI1MzA2LCAxMjUzMTgsIDEyNTMzMCwgMTI1MzM0LCAxMjUzMzgsIDEyNTM0NCwgMTI1MzQ2LCAKLSAgICAxMjUzNTQsIDEyNTM2MiwgMTI1MzY0LCAxMjUzNjgsIDEyNTM3NCwgMTI1MzgwLCAxMjUzODcsIDEyNTM5NCwgMTI1Mzk2LCAKLSAgICAxMjUzOTgsIDEyNTQwMSwgMTI1NDAzLCAxMjU0MDksIDEyNTQxMSwgMTI1NDE0LCAxMjU0MTgsIDEyNTQyNCwgMTI1NDMwLCAKLSAgICAxMjU0NDEsIDEyNTQ0NywgMTI1NDU0LCAxMjU0NjIsIDEyNTQ2NiwgMTI1NDc0LCAxMjU0ODIsIDEyNTQ4OCwgMTI1NDk0LCAKLSAgICAxMjU1MDEsIDEyNTUwMywgMTI1NTA3LCAxMjU1MDksIDEyNTUxMSwgMTI1NTE2LCAxMjU1MTgsIDEyNTUyMCwgMTI1NTIyLCAKLSAgICAxMjU1MjQsIDEyNTUyOCwgMTI1NTM5LCAxMjU1NDUsIDEyNTU0OSwgMTI1NTUzLCAxMjU1NTcsIDEyNTU2MywgMTI1NTY5LCAKLSAgICAxMjU1NzUsIDEyNTU4MSwgMTI1NTg2LCAxMjU1OTEsIDEyNTU5NywgMTI1NjAzLCAxMjU2MTAsIDAsIDAsIDEyNTYxNywgCi0gICAgMTI1NjIyLCAxMjU2MzAsIDEyNTYzNCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTI1NjQzLCAKLSAgICAxMjU2NTAsIDEyNTY1NywgMTI1NjY0LCAxMjU2NzIsIDEyNTY4MCwgMTI1Njg4LCAxMjU2OTYsIDEyNTcwNCwgMTI1NzEyLCAKLSAgICAxMjU3MjAsIDEyNTcyOCwgMTI1NzM2LCAxMjU3NDIsIDEyNTc0OCwgMTI1NzU0LCAxMjU3NjAsIDEyNTc2NiwgMTI1NzcyLCAKLSAgICAxMjU3NzgsIDEyNTc4NCwgMTI1NzkwLCAxMjU3OTYsIDEyNTgwMiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOTUxNjgsIDk1MTczLCA5NTE3OCwgOTUxODMsIDk1MTg4LCAKKyAgICA5NTE5MywgOTUxOTgsIDk1MjAzLCA5NTIwOCwgOTUyMTMsIDk1MjE4LCA5NTIyMywgOTUyMjgsIDk1MjMzLCA5NTIzOCwgCisgICAgOTUyNDMsIDk1MjQ4LCA5NTI1MywgOTUyNTgsIDk1MjYzLCA5NTI2OCwgOTUyNzMsIDk1Mjc4LCA5NTI4MywgOTUyODgsIAorICAgIDk1MjkzLCA5NTI5OCwgOTUzMDMsIDk1MzA4LCA5NTMxMywgOTUzMTgsIDk1MzIzLCA5NTMyOCwgOTUzMzMsIDk1MzM4LCAKKyAgICA5NTM0MywgOTUzNDgsIDk1MzUzLCA5NTM1OCwgOTUzNjMsIDk1MzY4LCA5NTM3MywgOTUzNzgsIDk1MzgzLCA5NTM4OCwgCisgICAgOTUzOTMsIDk1Mzk4LCA5NTQwMywgOTU0MDgsIDk1NDEzLCA5NTQxOCwgOTU0MjMsIDk1NDI4LCA5NTQzMywgOTU0MzgsIAorICAgIDk1NDQzLCA5NTQ0OCwgOTU0NTMsIDk1NDU4LCA5NTQ2MywgOTU0NjgsIDk1NDczLCA5NTQ3OCwgOTU0ODMsIDk1NDg4LCAKKyAgICA5NTQ5MywgOTU0OTgsIDk1NTAzLCA5NTUwOCwgOTU1MTMsIDk1NTE4LCA5NTUyMywgOTU1MjgsIDk1NTMzLCA5NTUzOCwgCisgICAgOTU1NDMsIDk1NTQ4LCA5NTU1MywgOTU1NTgsIDk1NTYzLCA5NTU2OCwgOTU1NzMsIDk1NTc4LCA5NTU4MywgOTU1ODgsIAorICAgIDk1NTkzLCA5NTU5OCwgOTU2MDMsIDk1NjA4LCA5NTYxMywgOTU2MTgsIDk1NjIzLCA5NTYyOCwgOTU2MzMsIDk1NjM4LCAKKyAgICA5NTY0MywgOTU2NDgsIDk1NjUzLCA5NTY1OCwgOTU2NjMsIDk1NjY4LCA5NTY3MywgOTU2NzgsIDk1NjgzLCA5NTY4OCwgCisgICAgOTU2OTMsIDk1Njk4LCA5NTcwMywgOTU3MDgsIDk1NzEzLCA5NTcxOCwgOTU3MjMsIDk1NzI4LCA5NTczMywgOTU3MzgsIAorICAgIDk1NzQzLCA5NTc0OCwgOTU3NTMsIDk1NzU4LCA5NTc2MywgOTU3NjgsIDk1NzczLCA5NTc3OCwgOTU3ODMsIDk1Nzg4LCAKKyAgICA5NTc5MywgOTU3OTgsIDk1ODAzLCA5NTgwOCwgOTU4MTMsIDk1ODE4LCA5NTgyMywgOTU4MjgsIDk1ODMzLCA5NTgzOCwgCisgICAgOTU4NDMsIDk1ODQ4LCA5NTg1MywgOTU4NTgsIDk1ODYzLCA5NTg2OCwgOTU4NzMsIDk1ODc4LCA5NTg4MywgOTU4ODgsIAorICAgIDk1ODkzLCA5NTg5OCwgOTU5MDMsIDk1OTA4LCA5NTkxMywgOTU5MTgsIDk1OTIzLCA5NTkyOCwgOTU5MzMsIDk1OTM4LCAKKyAgICA5NTk0MywgOTU5NDgsIDk1OTUzLCA5NTk1OCwgOTU5NjMsIDk1OTY4LCA5NTk3MywgOTU5NzgsIDk1OTgzLCA5NTk4OCwgCisgICAgOTU5OTMsIDk1OTk4LCA5NjAwMywgOTYwMDgsIDk2MDEzLCA5NjAxOCwgOTYwMjMsIDk2MDI4LCA5NjAzMywgOTYwMzgsIAorICAgIDk2MDQzLCA5NjA0OCwgOTYwNTMsIDk2MDU4LCA5NjA2MywgOTYwNjgsIDk2MDczLCA5NjA3OCwgOTYwODMsIDk2MDg4LCAKKyAgICA5NjA5MywgOTYwOTgsIDk2MTAzLCA5NjEwOCwgOTYxMTMsIDk2MTE4LCA5NjEyMywgOTYxMjgsIDk2MTMzLCA5NjEzOCwgCisgICAgOTYxNDMsIDk2MTQ4LCA5NjE1MywgOTYxNTgsIDk2MTYzLCA5NjE2OCwgOTYxNzMsIDk2MTc4LCA5NjE4MywgOTYxODgsIAorICAgIDk2MTkzLCA5NjE5OCwgOTYyMDMsIDk2MjA4LCA5NjIxMywgOTYyMTgsIDk2MjIzLCA5NjIyOCwgOTYyMzMsIDk2MjM4LCAKKyAgICA5NjI0MywgOTYyNDgsIDk2MjUzLCA5NjI1OCwgOTYyNjMsIDk2MjY4LCA5NjI3MywgOTYyNzgsIDk2MjgzLCA5NjI4OCwgCisgICAgOTYyOTMsIDk2Mjk4LCA5NjMwMywgOTYzMDgsIDk2MzEzLCA5NjMxOCwgOTYzMjMsIDk2MzI4LCA5NjMzMywgOTYzMzgsIAorICAgIDk2MzQzLCA5NjM0OCwgOTYzNTMsIDk2MzU4LCA5NjM2MywgOTYzNjgsIDk2MzczLCA5NjM3OCwgOTYzODMsIDk2Mzg4LCAKKyAgICA5NjM5MywgOTYzOTgsIDk2NDAzLCA5NjQwOCwgOTY0MTMsIDk2NDE4LCA5NjQyMywgOTY0MjgsIDk2NDMzLCA5NjQzOCwgCisgICAgOTY0NDMsIDk2NDQ4LCA5NjQ1MywgOTY0NTgsIDk2NDYzLCA5NjQ2OCwgOTY0NzMsIDk2NDc4LCA5NjQ4MywgOTY0ODgsIAorICAgIDk2NDkzLCA5NjQ5OCwgOTY1MDMsIDk2NTA4LCA5NjUxMywgOTY1MTgsIDk2NTIzLCA5NjUyOCwgOTY1MzMsIDk2NTM4LCAKKyAgICA5NjU0MywgOTY1NDgsIDk2NTUzLCA5NjU1OCwgOTY1NjMsIDk2NTY4LCA5NjU3MywgOTY1NzgsIDk2NTgzLCA5NjU4OCwgCisgICAgOTY1OTMsIDk2NTk4LCA5NjYwMywgOTY2MDgsIDk2NjEzLCA5NjYxOCwgOTY2MjMsIDk2NjI4LCA5NjYzMywgOTY2MzgsIAorICAgIDk2NjQzLCA5NjY0OCwgOTY2NTMsIDk2NjU4LCA5NjY2MywgOTY2NjgsIDk2NjczLCA5NjY3OCwgOTY2ODMsIDk2Njg4LCAKKyAgICA5NjY5MywgOTY2OTgsIDk2NzAzLCA5NjcwOCwgOTY3MTMsIDk2NzE4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICA5NjcyMywgOTY3MjksIDk2NzM2LCA5Njc0MywgOTY3NDksIDk2NzU2LCA5Njc2MywgOTY3NzAsIDk2Nzc3LCA5Njc4MywgCisgICAgOTY3OTAsIDk2Nzk3LCA5NjgwNCwgOTY4MTEsIDk2ODE4LCA5NjgyNSwgOTY4MzIsIDk2ODM5LCA5Njg0NiwgOTY4NTMsIAorICAgIDk2ODYwLCA5Njg2NywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOTY4NzQsIDk2ODc5LCA5Njg4NCwgOTY4ODksIAorICAgIDk2ODk0LCA5Njg5OSwgOTY5MDQsIDk2OTA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMjU4MDgsIDEyNTgxMiwgMTI1ODE2LCAKLSAgICAxMjU4MjEsIDEyNTgyNiwgMTI1ODI4LCAxMjU4MzIsIDEyNTg0MSwgMTI1ODQ5LCAxMjU4NTcsIDEyNTg3MCwgMTI1ODgzLCAKLSAgICAxMjU4OTYsIDEyNTkwMywgMTI1OTEwLCAxMjU5MTQsIDEyNTkyMywgMTI1OTMxLCAxMjU5MzUsIDEyNTk0NCwgMTI1OTUxLCAKLSAgICAxMjU5NTUsIDEyNTk1OSwgMTI1OTYzLCAxMjU5NjcsIDEyNTk3NCwgMTI1OTc4LCAxMjU5ODIsIDEyNTk4NiwgMTI1OTkwLCAKLSAgICAxMjU5OTcsIDEyNjAwNiwgMTI2MDE1LCAxMjYwMjIsIDEyNjAzNCwgMTI2MDQ2LCAxMjYwNTAsIDEyNjA1NCwgMTI2MDU4LCAKLSAgICAxMjYwNjIsIDEyNjA2NiwgMTI2MDcwLCAxMjYwNzgsIDEyNjA4NiwgMTI2MDk0LCAxMjYwOTgsIDEyNjEwMiwgMTI2MTA2LCAKLSAgICAxMjYxMTAsIDEyNjExNCwgMTI2MTE4LCAxMjYxMjQsIDEyNjEzMCwgMTI2MTM0LCAxMjYxNDUsIDEyNjE1MywgMTI2MTU3LCAKLSAgICAxMjYxNjEsIDEyNjE2NSwgMTI2MTY5LCAxMjYxNzUsIDEyNjE4MiwgMTI2MTkzLCAxMjYyMDMsIDEyNjIxMywgMTI2MjI0LCAKLSAgICAxMjYyMzMsIDEyNjI0NCwgMTI2MjUwLCAxMjYyNTYsIDAsIDAsIDAsIDAsIDEyNjI2MiwgMTI2MjcxLCAxMjYyNzgsIAotICAgIDEyNjI4NCwgMTI2Mjg4LCAxMjYyOTIsIDEyNjI5NiwgMTI2MzA1LCAxMjYzMTcsIDEyNjMyMSwgMTI2MzI4LCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMjYzMzUsIAotICAgIDEyNjMzNywgMTI2MzM5LCAxMjYzNDMsIDEyNjM0NywgMTI2MzUxLCAxMjYzNjAsIDEyNjM2MiwgMTI2MzY0LCAxMjYzNjcsIAotICAgIDEyNjM2OSwgMTI2MzcxLCAxMjYzNzUsIDEyNjM3NywgMTI2MzgxLCAxMjYzODMsIDEyNjM4NywgMTI2Mzg5LCAxMjYzOTEsIAotICAgIDEyNjM5NSwgMTI2Mzk5LCAxMjY0MDUsIDEyNjQwNywgMTI2NDExLCAxMjY0MTMsIDEyNjQxNywgMTI2NDIxLCAxMjY0MjUsIAotICAgIDEyNjQyOSwgMTI2NDMxLCAxMjY0MzMsIDEyNjQzNywgMTI2NDQxLCAxMjY0NDUsIDEyNjQ0OSwgMTI2NDUxLCAxMjY0NTMsIAotICAgIDEyNjQ1NSwgMTI2NDYwLCAxMjY0NjUsIDEyNjQ2OCwgMTI2NDc2LCAxMjY0ODQsIDEyNjQ4NiwgMTI2NDkxLCAxMjY0OTQsIAotICAgIDEyNjQ5OSwgMTI2NTEwLCAxMjY1MTcsIDEyNjUyMiwgMTI2NTI3LCAxMjY1MjksIDEyNjUzMywgMTI2NTM1LCAxMjY1MzksIAotICAgIDEyNjU0MSwgMTI2NTQ1LCAxMjY1NDksIDEyNjU1MiwgMTI2NTU1LCAxMjY1NTcsIDEyNjU2MCwgMTI2NTYyLCAxMjY1NjYsIAotICAgIDEyNjU2OCwgMTI2NTcwLCAxMjY1NzIsIDEyNjU3NiwgMTI2NTc4LCAxMjY1ODIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDk2OTE0LCA5NjkxOCwgOTY5MjIsIAorICAgIDk2OTI2LCA5NjkzMCwgOTY5MzQsIDAsIDAsIDk2OTM5LCAwLCA5Njk0NCwgOTY5NDgsIDk2OTUzLCA5Njk1OCwgOTY5NjMsIAorICAgIDk2OTY4LCA5Njk3MywgOTY5NzgsIDk2OTgzLCA5Njk4OCwgOTY5OTMsIDk2OTk3LCA5NzAwMiwgOTcwMDcsIDk3MDEyLCAKKyAgICA5NzAxNywgOTcwMjEsIDk3MDI2LCA5NzAzMSwgOTcwMzYsIDk3MDQxLCA5NzA0NSwgOTcwNTAsIDk3MDU1LCA5NzA2MCwgCisgICAgOTcwNjUsIDk3MDcwLCA5NzA3NSwgOTcwODAsIDk3MDg1LCA5NzA5MCwgOTcwOTUsIDk3MTAwLCA5NzEwNSwgOTcxMTAsIAorICAgIDk3MTE1LCA5NzEyMCwgOTcxMjUsIDk3MTMwLCA5NzEzNCwgOTcxMzksIDk3MTQ0LCA5NzE0OSwgOTcxNTQsIDAsIDk3MTU5LCAKKyAgICA5NzE2NCwgMCwgMCwgMCwgOTcxNjksIDAsIDAsIDk3MTc0LCA5NzE3OSwgOTcxODYsIDk3MTkzLCA5NzIwMCwgOTcyMDcsIAorICAgIDk3MjE0LCA5NzIyMSwgOTcyMjgsIDk3MjM1LCA5NzI0MiwgOTcyNDksIDk3MjU2LCA5NzI2MywgOTcyNzAsIDk3Mjc3LCAKKyAgICA5NzI4NCwgOTcyOTEsIDk3Mjk4LCA5NzMwNSwgOTczMTIsIDk3MzE5LCA5NzMyNiwgMCwgOTczMzMsIDk3MzQwLCA5NzM0NiwgCisgICAgOTczNTIsIDk3MzU4LCA5NzM2NSwgOTczNzIsIDk3MzgwLCA5NzM4OCwgOTczOTcsIDk3NDAyLCA5NzQwNywgOTc0MTIsIAorICAgIDk3NDE3LCA5NzQyMiwgOTc0MjcsIDk3NDMyLCA5NzQzNywgOTc0NDIsIDk3NDQ3LCA5NzQ1MiwgOTc0NTcsIDk3NDYyLCAKKyAgICA5NzQ2OCwgOTc0NzMsIDk3NDc4LCA5NzQ4MywgOTc0ODgsIDk3NDkzLCA5NzQ5OCwgOTc1MDMsIDk3NTA4LCA5NzUxMywgCisgICAgOTc1MTksIDk3NTI1LCA5NzUyOSwgOTc1MzMsIDk3NTM3LCA5NzU0MSwgOTc1NDUsIDk3NTUwLCA5NzU1NSwgOTc1NjEsIAorICAgIDk3NTY2LCA5NzU3MiwgOTc1NzcsIDk3NTgyLCA5NzU4NywgOTc1OTMsIDk3NTk4LCA5NzYwMywgOTc2MDgsIDk3NjEzLCAKKyAgICA5NzYxOCwgOTc2MjQsIDk3NjI5LCA5NzYzNSwgOTc2NDAsIDk3NjQ2LCA5NzY1MSwgOTc2NTcsIDk3NjYyLCA5NzY2OCwgCisgICAgOTc2NzMsIDk3Njc4LCA5NzY4MywgOTc2ODgsIDk3NjkzLCA5NzY5OCwgOTc3MDMsIDk3NzA5LCA5NzcxNCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgOTc3MTksIDk3NzIzLCA5NzcyNywgOTc3MzEsIDk3NzM1LCA5Nzc0MSwgOTc3NDUsIDk3NzUwLCAKKyAgICA5Nzc1NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMTI2NTg1LCAxMjY1OTAsIDEyNjU5NSwgMTI2NjAwLCAxMjY2MDUsIDEyNjYxMCwgMTI2NjE1LCAxMjY2MjIsIAotICAgIDEyNjYyOSwgMTI2NjM2LCAxMjY2NDMsIDEyNjY0OCwgMTI2NjUzLCAxMjY2NTgsIDEyNjY2MywgMTI2NjcwLCAxMjY2NzYsIAotICAgIDEyNjY4MywgMTI2NjkwLCAxMjY2OTcsIDEyNjcwMiwgMTI2NzA3LCAxMjY3MTIsIDEyNjcxNywgMTI2NzIyLCAxMjY3MjksIAotICAgIDEyNjczNiwgMTI2NzQxLCAxMjY3NDYsIDEyNjc1MywgMTI2NzYwLCAxMjY3NjgsIDEyNjc3NiwgMTI2NzgzLCAxMjY3OTAsIAotICAgIDEyNjc5OCwgMTI2ODA2LCAxMjY4MTQsIDEyNjgyMSwgMTI2ODMxLCAxMjY4NDIsIDEyNjg0NywgMTI2ODU0LCAxMjY4NjEsIAotICAgIDEyNjg2OCwgMTI2ODc2LCAxMjY4ODQsIDEyNjg5NSwgMTI2OTAzLCAxMjY5MTEsIDEyNjkxOSwgMTI2OTI0LCAxMjY5MjksIAotICAgIDEyNjkzNCwgMTI2OTM5LCAxMjY5NDQsIDEyNjk0OSwgMTI2OTU0LCAxMjY5NTksIDEyNjk2NCwgMTI2OTY5LCAxMjY5NzQsIAotICAgIDEyNjk3OSwgMTI2OTg2LCAxMjY5OTEsIDEyNjk5NiwgMTI3MDAzLCAxMjcwMDgsIDEyNzAxMywgMTI3MDE4LCAxMjcwMjMsIAotICAgIDEyNzAyOCwgMTI3MDMzLCAxMjcwMzgsIDEyNzA0MywgMTI3MDQ4LCAxMjcwNTMsIDEyNzA1OCwgMTI3MDYzLCAxMjcwNzAsIAotICAgIDEyNzA3OCwgMTI3MDgzLCAxMjcwODgsIDEyNzA5NSwgMTI3MTAwLCAxMjcxMDUsIDEyNzExMCwgMTI3MTE3LCAxMjcxMjIsIAotICAgIDEyNzEyOSwgMTI3MTM0LCAxMjcxNDEsIDEyNzE0NiwgMTI3MTU1LCAxMjcxNjQsIDEyNzE2OSwgMTI3MTc0LCAxMjcxNzksIAotICAgIDEyNzE4NCwgMTI3MTg5LCAxMjcxOTQsIDEyNzE5OSwgMTI3MjA0LCAxMjcyMDksIDEyNzIxNCwgMTI3MjE5LCAxMjcyMjQsIAotICAgIDEyNzIyOSwgMTI3MjM3LCAxMjcyNDUsIDEyNzI1MCwgMTI3MjU1LCAxMjcyNjAsIDEyNzI2NSwgMTI3MjcwLCAxMjcyNzYsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEyNzI4MiwgMTI3Mjg2LCAxMjcyOTAsIDEyNzI5NCwgCi0gICAgMTI3Mjk4LCAxMjczMDIsIDEyNzMwNiwgMTI3MzEwLCAxMjczMTQsIDEyNzMxOCwgMTI3MzIyLCAxMjczMjYsIDEyNzMzMCwgCi0gICAgMTI3MzM0LCAxMjczMzgsIDEyNzM0MiwgMTI3MzQ2LCAxMjczNTAsIDEyNzM1NCwgMTI3MzU4LCAxMjczNjIsIDEyNzM2NiwgCi0gICAgMTI3MzcwLCAxMjczNzQsIDEyNzM3OCwgMTI3MzgyLCAxMjczODYsIDEyNzM5MCwgMTI3Mzk0LCAxMjczOTgsIDEyNzQwMiwgCi0gICAgMTI3NDA2LCAxMjc0MTAsIDEyNzQxNCwgMTI3NDE4LCAxMjc0MjIsIDEyNzQyNiwgMTI3NDMwLCAxMjc0MzQsIDEyNzQzOCwgCi0gICAgMTI3NDQyLCAxMjc0NDYsIDEyNzQ1MCwgMTI3NDU0LCAxMjc0NTgsIDEyNzQ2MiwgMTI3NDY2LCAxMjc0NzAsIDEyNzQ3NCwgCi0gICAgMTI3NDc4LCAxMjc0ODIsIDEyNzQ4NiwgMTI3NDkwLCAxMjc0OTQsIDEyNzQ5OCwgMTI3NTAyLCAxMjc1MDYsIDEyNzUxMCwgCi0gICAgMTI3NTE0LCAxMjc1MTgsIDEyNzUyMiwgMTI3NTI2LCAxMjc1MzAsIDEyNzUzNCwgMTI3NTM4LCAxMjc1NDIsIDEyNzU0NiwgCi0gICAgMTI3NTUwLCAxMjc1NTQsIDEyNzU1OCwgMTI3NTYyLCAxMjc1NjYsIDEyNzU3MCwgMTI3NTc0LCAxMjc1NzgsIDEyNzU4MiwgCi0gICAgMTI3NTg2LCAxMjc1OTAsIDEyNzU5NCwgMTI3NTk4LCAxMjc2MDIsIDEyNzYwNiwgMTI3NjEwLCAxMjc2MTQsIDEyNzYxOCwgCi0gICAgMTI3NjIyLCAxMjc2MjYsIDEyNzYzMCwgMTI3NjM0LCAxMjc2MzgsIDEyNzY0MiwgMTI3NjQ2LCAxMjc2NTAsIDEyNzY1NCwgCi0gICAgMTI3NjU4LCAxMjc2NjIsIDEyNzY2NiwgMTI3NjcwLCAxMjc2NzQsIDEyNzY3OCwgMTI3NjgyLCAxMjc2ODYsIDEyNzY5MCwgCi0gICAgMTI3Njk0LCAxMjc2OTgsIDEyNzcwMiwgMTI3NzA2LCAxMjc3MTAsIDEyNzcxNCwgMTI3NzE4LCAxMjc3MjIsIDEyNzcyNiwgCi0gICAgMTI3NzMwLCAxMjc3MzQsIDEyNzczOCwgMTI3NzQyLCAxMjc3NDYsIDEyNzc1MCwgMTI3NzU0LCAxMjc3NTgsIDEyNzc2MiwgCi0gICAgMTI3NzY2LCAxMjc3NzAsIDEyNzc3NCwgMTI3Nzc4LCAxMjc3ODIsIDEyNzc4NiwgMTI3NzkwLCAxMjc3OTQsIDEyNzc5OCwgCi0gICAgMTI3ODAyLCAxMjc4MDYsIDEyNzgxMCwgMTI3ODE0LCAxMjc4MTgsIDEyNzgyMiwgMTI3ODI2LCAxMjc4MzAsIDEyNzgzNCwgCi0gICAgMTI3ODM4LCAxMjc4NDIsIDEyNzg0NiwgMTI3ODUwLCAxMjc4NTQsIDEyNzg1OCwgMTI3ODYyLCAxMjc4NjYsIDEyNzg3MCwgCi0gICAgMTI3ODc0LCAxMjc4NzgsIDEyNzg4MiwgMTI3ODg2LCAxMjc4OTAsIDEyNzg5NCwgMTI3ODk4LCAxMjc5MDIsIDEyNzkwNiwgCi0gICAgMTI3OTEwLCAxMjc5MTQsIDEyNzkxOCwgMTI3OTIyLCAxMjc5MjYsIDEyNzkzMCwgMTI3OTM0LCAxMjc5MzgsIDEyNzk0MiwgCi0gICAgMTI3OTQ2LCAxMjc5NTAsIDEyNzk1NCwgMTI3OTU4LCAxMjc5NjIsIDEyNzk2NiwgMTI3OTcwLCAxMjc5NzQsIDEyNzk3OCwgCi0gICAgMTI3OTgyLCAxMjc5ODYsIDEyNzk5MCwgMTI3OTk0LCAxMjc5OTgsIDEyODAwMiwgMTI4MDA2LCAxMjgwMTAsIDEyODAxNCwgCi0gICAgMTI4MDE4LCAxMjgwMjIsIDEyODAyNiwgMTI4MDMwLCAxMjgwMzQsIDEyODAzOCwgMTI4MDQyLCAxMjgwNDYsIDEyODA1MCwgCi0gICAgMTI4MDU0LCAxMjgwNTgsIDEyODA2MiwgMTI4MDY2LCAxMjgwNzAsIDEyODA3NCwgMTI4MDc4LCAxMjgwODIsIDEyODA4NiwgCi0gICAgMTI4MDkwLCAxMjgwOTQsIDEyODA5OCwgMTI4MTAyLCAxMjgxMDYsIDEyODExMCwgMTI4MTE0LCAxMjgxMTgsIDEyODEyMiwgCi0gICAgMTI4MTI2LCAxMjgxMzAsIDEyODEzNCwgMTI4MTM4LCAxMjgxNDIsIDEyODE0NiwgMTI4MTUwLCAxMjgxNTQsIDEyODE1OCwgCi0gICAgMTI4MTYyLCAxMjgxNjYsIDEyODE3MCwgMTI4MTc0LCAxMjgxNzgsIDEyODE4MiwgMTI4MTg2LCAxMjgxOTAsIDEyODE5NCwgCi0gICAgMTI4MTk4LCAxMjgyMDIsIDEyODIwNiwgMTI4MjEwLCAxMjgyMTQsIDEyODIxOCwgMTI4MjIyLCAxMjgyMjYsIDEyODIzMCwgCi0gICAgMTI4MjM0LCAxMjgyMzgsIDEyODI0MiwgMTI4MjQ2LCAxMjgyNTAsIDEyODI1NCwgMTI4MjU4LCAxMjgyNjIsIDEyODI2NiwgCi0gICAgMTI4MjcwLCAxMjgyNzQsIDEyODI3OCwgMTI4MjgyLCAxMjgyODYsIDEyODI5MCwgMTI4Mjk0LCAxMjgyOTgsIDEyODMwMiwgCi0gICAgMTI4MzA2LCAxMjgzMTAsIDEyODMxNCwgMTI4MzE4LCAxMjgzMjIsIDEyODMyNiwgMTI4MzMwLCAxMjgzMzQsIDEyODMzOCwgCi0gICAgMTI4MzQyLCAxMjgzNDYsIDEyODM1MCwgMTI4MzU0LCAxMjgzNTgsIDEyODM2MiwgMTI4MzY2LCAxMjgzNzAsIDEyODM3NCwgCi0gICAgMTI4Mzc4LCAxMjgzODIsIDEyODM4NiwgMTI4MzkwLCAxMjgzOTQsIDEyODM5OCwgMTI4NDAyLCAxMjg0MDYsIDEyODQxMCwgCi0gICAgMTI4NDE0LCAxMjg0MTgsIDEyODQyMiwgMTI4NDI2LCAxMjg0MzAsIDEyODQzNCwgMTI4NDM4LCAxMjg0NDIsIDEyODQ0NiwgCi0gICAgMTI4NDUwLCAxMjg0NTQsIDEyODQ1OCwgMTI4NDYyLCAxMjg0NjYsIDEyODQ3MCwgMTI4NDc0LCAxMjg0NzgsIDEyODQ4MiwgCi0gICAgMTI4NDg2LCAxMjg0OTAsIDEyODQ5NCwgMTI4NDk4LCAxMjg1MDIsIDEyODUwNiwgMTI4NTEwLCAxMjg1MTQsIDEyODUxOCwgCi0gICAgMTI4NTIyLCAxMjg1MjYsIDEyODUzMCwgMTI4NTM0LCAxMjg1MzgsIDEyODU0MiwgMTI4NTQ2LCAxMjg1NTAsIDEyODU1NCwgCi0gICAgMTI4NTU4LCAxMjg1NjIsIDEyODU2NiwgMTI4NTcwLCAxMjg1NzQsIDEyODU3OCwgMTI4NTgyLCAxMjg1ODYsIDEyODU5MCwgCi0gICAgMTI4NTk0LCAxMjg1OTgsIDEyODYwMiwgMTI4NjA2LCAxMjg2MTAsIDEyODYxNCwgMTI4NjE4LCAxMjg2MjIsIDEyODYyNiwgCi0gICAgMTI4NjMwLCAxMjg2MzQsIDEyODYzOCwgMTI4NjQyLCAxMjg2NDYsIDEyODY1MCwgMTI4NjU0LCAxMjg2NTgsIDEyODY2MiwgCi0gICAgMTI4NjY2LCAxMjg2NzAsIDEyODY3NCwgMTI4Njc4LCAxMjg2ODIsIDEyODY4NiwgMTI4NjkwLCAxMjg2OTQsIDEyODY5OCwgCi0gICAgMTI4NzAyLCAxMjg3MDYsIDEyODcxMCwgMTI4NzE0LCAxMjg3MTgsIDEyODcyMiwgMTI4NzI2LCAxMjg3MzAsIDEyODczNCwgCi0gICAgMTI4NzM4LCAxMjg3NDIsIDEyODc0NiwgMTI4NzUwLCAxMjg3NTQsIDEyODc1OCwgMTI4NzYyLCAxMjg3NjYsIDEyODc3MCwgCi0gICAgMTI4Nzc0LCAxMjg3NzgsIDEyODc4MiwgMTI4Nzg2LCAxMjg3OTAsIDEyODc5NCwgMTI4Nzk4LCAxMjg4MDIsIDEyODgwNiwgCi0gICAgMTI4ODEwLCAxMjg4MTQsIDEyODgxOCwgMTI4ODIyLCAxMjg4MjYsIDEyODgzMCwgMTI4ODM0LCAxMjg4MzgsIDEyODg0MiwgCi0gICAgMTI4ODQ2LCAxMjg4NTAsIDEyODg1NCwgMTI4ODU4LCAxMjg4NjIsIDEyODg2NiwgMTI4ODcwLCAxMjg4NzQsIDEyODg3OCwgCi0gICAgMTI4ODgyLCAxMjg4ODYsIDEyODg5MCwgMTI4ODk0LCAxMjg4OTgsIDEyODkwMiwgMTI4OTA2LCAxMjg5MTAsIDEyODkxNCwgCi0gICAgMTI4OTE4LCAxMjg5MjIsIDEyODkyNiwgMTI4OTMwLCAxMjg5MzQsIDEyODkzOCwgMTI4OTQyLCAxMjg5NDYsIDEyODk1MCwgCi0gICAgMTI4OTU0LCAxMjg5NTgsIDEyODk2MiwgMTI4OTY2LCAxMjg5NzAsIDEyODk3NCwgMTI4OTc4LCAxMjg5ODIsIDEyODk4NiwgCi0gICAgMTI4OTkwLCAxMjg5OTQsIDEyODk5OCwgMTI5MDAyLCAxMjkwMDYsIDEyOTAxMCwgMTI5MDE0LCAxMjkwMTgsIDEyOTAyMiwgCi0gICAgMTI5MDI2LCAxMjkwMzAsIDEyOTAzNCwgMTI5MDM4LCAxMjkwNDIsIDEyOTA0NiwgMTI5MDUwLCAxMjkwNTQsIDEyOTA1OCwgCi0gICAgMTI5MDYyLCAxMjkwNjYsIDEyOTA3MCwgMTI5MDc0LCAxMjkwNzgsIDEyOTA4MiwgMTI5MDg2LCAxMjkwOTAsIDEyOTA5NCwgCi0gICAgMTI5MDk4LCAxMjkxMDIsIDEyOTEwNiwgMTI5MTEwLCAxMjkxMTQsIDEyOTExOCwgMTI5MTIyLCAxMjkxMjYsIDEyOTEzMCwgCi0gICAgMTI5MTM0LCAxMjkxMzgsIDEyOTE0MiwgMTI5MTQ2LCAxMjkxNTAsIDEyOTE1NCwgMTI5MTU4LCAxMjkxNjIsIDEyOTE2NiwgCi0gICAgMTI5MTcwLCAxMjkxNzQsIDEyOTE3OCwgMTI5MTgyLCAxMjkxODYsIDEyOTE5MCwgMTI5MTk0LCAxMjkxOTgsIDEyOTIwMiwgCi0gICAgMTI5MjA2LCAxMjkyMTAsIDEyOTIxNCwgMTI5MjE4LCAxMjkyMjIsIDEyOTIyNiwgMTI5MjMwLCAxMjkyMzQsIDEyOTIzOCwgCi0gICAgMTI5MjQyLCAxMjkyNDYsIDEyOTI1MCwgMTI5MjU0LCAxMjkyNTgsIDEyOTI2MiwgMTI5MjY2LCAxMjkyNzAsIDEyOTI3NCwgCi0gICAgMTI5Mjc4LCAxMjkyODIsIDEyOTI4NiwgMTI5MjkwLCAxMjkyOTQsIDEyOTI5OCwgMTI5MzAyLCAxMjkzMDYsIDEyOTMxMCwgCi0gICAgMTI5MzE0LCAxMjkzMTgsIDEyOTMyMiwgMTI5MzI2LCAxMjkzMzAsIDEyOTMzNCwgMTI5MzM4LCAxMjkzNDIsIDEyOTM0NiwgCi0gICAgMTI5MzUwLCAxMjkzNTQsIDEyOTM1OCwgMTI5MzYyLCAxMjkzNjYsIDEyOTM3MCwgMTI5Mzc0LCAxMjkzNzgsIDEyOTM4MiwgCi0gICAgMTI5Mzg2LCAxMjkzOTAsIDEyOTM5NCwgMTI5Mzk4LCAxMjk0MDIsIDEyOTQwNiwgMTI5NDEwLCAxMjk0MTQsIDEyOTQxOCwgCi0gICAgMTI5NDIyLCAxMjk0MjYsIDEyOTQzMCwgMTI5NDM0LCAxMjk0MzgsIDEyOTQ0MiwgMTI5NDQ2LCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5Nzc2MSwgOTc3NjYsIDk3NzcxLCA5Nzc3NiwgOTc3ODEsIDk3Nzg2LCAKKyAgICA5Nzc5MSwgOTc3OTYsIDk3ODAxLCA5NzgwNiwgOTc4MTEsIDk3ODE2LCA5NzgyMSwgOTc4MjYsIDk3ODMxLCA5NzgzNiwgCisgICAgOTc4NDEsIDk3ODQ2LCA5Nzg1MSwgOTc4NTYsIDk3ODYxLCA5Nzg2NiwgOTc4NzEsIDk3ODc1LCA5Nzg4MCwgOTc4ODUsIAorICAgIDk3ODkxLCA5Nzg5NSwgMCwgMCwgMCwgOTc4OTksIDk3OTA1LCA5NzkwOSwgOTc5MTQsIDk3OTE5LCA5NzkyNCwgOTc5MjgsIAorICAgIDk3OTMzLCA5NzkzNywgOTc5NDIsIDk3OTQ3LCA5Nzk1MSwgOTc5NTYsIDk3OTYxLCA5Nzk2NSwgOTc5NjksIDk3OTc0LCAKKyAgICA5Nzk3OSwgOTc5ODMsIDk3OTg4LCA5Nzk5MywgOTc5OTcsIDk4MDAyLCA5ODAwNywgOTgwMTIsIDk4MDE3LCA5ODAyMiwgMCwgCisgICAgMCwgMCwgMCwgMCwgOTgwMjcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDk4MDMyLCAKKyAgICA5ODAzOCwgOTgwNDQsIDk4MDUwLCA5ODA1NiwgOTgwNjIsIDk4MDY5LCA5ODA3NiwgOTgwODMsIDk4MDg5LCA5ODA5NSwgCisgICAgOTgxMDEsIDk4MTA4LCA5ODExNSwgOTgxMjIsIDk4MTI5LCA5ODEzNiwgOTgxNDMsIDk4MTUwLCA5ODE1NywgOTgxNjQsIAorICAgIDk4MTcxLCA5ODE3OCwgOTgxODQsIDk4MTkxLCA5ODE5OCwgOTgyMDUsIDk4MjEyLCA5ODIxOSwgOTgyMjUsIDk4MjMyLCAKKyAgICA5ODIzOSwgOTgyNDYsIDk4MjUyLCA5ODI1OCwgOTgyNjQsIDk4MjcwLCA5ODI3NiwgOTgyODMsIDk4MjkwLCA5ODI5NiwgCisgICAgOTgzMDIsIDk4MzA4LCA5ODMxNSwgOTgzMjIsIDk4MzI5LCA5ODMzNiwgOTgzNDMsIDk4MzUwLCA5ODM1OSwgOTgzNjYsIAorICAgIDk4MzcyLCA5ODM3OSwgOTgzODYsIDk4MzkzLCA5ODM5OSwgMCwgMCwgMCwgMCwgMCwgMCwgOTg0MDYsIDk4NDE0LCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5ODQyMiwgOTg0MjYsIDk4NDMxLCA5ODQzNiwgMCwgCisgICAgOTg0NDIsIDk4NDQ3LCAwLCAwLCAwLCAwLCAwLCA5ODQ1MiwgOTg0NTgsIDk4NDY1LCA5ODQ3MCwgOTg0NzUsIDk4NDc5LCAKKyAgICA5ODQ4NCwgOTg0ODksIDAsIDk4NDk0LCA5ODQ5OSwgOTg1MDQsIDAsIDk4NTA5LCA5ODUxNCwgOTg1MTksIDk4NTI0LCAKKyAgICA5ODUyOSwgOTg1MzQsIDk4NTM5LCA5ODU0NCwgOTg1NDksIDk4NTU0LCA5ODU1OSwgOTg1NjMsIDk4NTY3LCA5ODU3MiwgCisgICAgOTg1NzcsIDk4NTgyLCA5ODU4NiwgOTg1OTAsIDk4NTk1LCA5ODYwMCwgOTg2MDUsIDk4NjEwLCA5ODYxNSwgOTg2MjAsIAorICAgIDk4NjI1LCA5ODYyOSwgOTg2MzQsIDAsIDAsIDAsIDAsIDk4NjM5LCA5ODY0NSwgOTg2NTAsIDAsIDAsIDAsIDAsIDk4NjU1LCAKKyAgICA5ODY1OSwgOTg2NjMsIDk4NjY3LCA5ODY3MSwgOTg2NzUsIDk4NjgwLCA5ODY4NSwgOTg2OTEsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDk4Njk3LCA5ODcwMywgOTg3MTAsIDk4NzE2LCA5ODcyMywgOTg3MjksIDk4NzM1LCA5ODc0MSwgOTg3NDgsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDk4NzU0LCA5ODc2MSwgOTg3NjgsIDk4Nzc1LCA5ODc4MiwgOTg3ODksIDk4Nzk2LCA5ODgwMywgCisgICAgOTg4MTAsIDk4ODE3LCA5ODgyNCwgOTg4MzEsIDk4ODM4LCA5ODg0NSwgOTg4NTIsIDk4ODU5LCA5ODg2NiwgOTg4NzMsIAorICAgIDk4ODgwLCA5ODg4NywgOTg4OTQsIDk4OTAxLCA5ODkwOCwgOTg5MTUsIDk4OTIyLCA5ODkyOSwgOTg5MzYsIDk4OTQzLCAKKyAgICA5ODk1MCwgOTg5NTcsIDk4OTYzLCA5ODk3MCwgOTg5NzcsIDk4OTg0LCA5ODk5MSwgOTg5OTgsIDk5MDA1LCA5OTAxMiwgCisgICAgOTkwMTksIDk5MDI2LCA5OTAzMywgOTkwNDAsIDk5MDQ3LCA5OTA1NCwgOTkwNjEsIDk5MDY4LCA5OTA3NSwgOTkwODIsIAorICAgIDk5MDg5LCA5OTA5NiwgOTkxMDMsIDk5MTEwLCA5OTExNywgOTkxMjQsIDk5MTMxLCA5OTEzOCwgOTkxNDUsIDk5MTUyLCAKKyAgICA5OTE1OSwgOTkxNjYsIDk5MTczLCA5OTE4MCwgOTkxODYsIDk5MTkzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5OTIwMCwgCisgICAgOTkyMDUsIDk5MjEwLCA5OTIxNSwgOTkyMjAsIDk5MjI1LCA5OTIzMCwgOTkyMzUsIDk5MjQwLCA5OTI0NSwgOTkyNTAsIAorICAgIDk5MjU1LCA5OTI2MCwgOTkyNjUsIDk5MjcwLCA5OTI3NSwgOTkyODAsIDk5Mjg1LCA5OTI5MCwgOTkyOTUsIDk5MzAwLCAKKyAgICA5OTMwNSwgOTkzMTAsIDk5MzE1LCA5OTMyMCwgOTkzMjUsIDk5MzMwLCA5OTMzNSwgOTkzNDAsIDk5MzQ1LCA5OTM1MCwgCisgICAgOTkzNTUsIDk5MzYwLCA5OTM2NSwgOTkzNzAsIDk5Mzc1LCA5OTM4MCwgOTkzODUsIDk5MzkxLCAwLCAwLCAwLCAwLCAKKyAgICA5OTM5NywgOTk0MDEsIDk5NDA1LCA5OTQxMCwgOTk0MTUsIDk5NDIxLCA5OTQyNywgOTk0MzMsIDk5NDQzLCA5OTQ1MiwgCisgICAgOTk0NTgsIDk5NDY1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5OTQ3MywgOTk0NzcsIDk5NDgyLCA5OTQ4NywgCisgICAgOTk0OTIsIDk5NDk3LCA5OTUwMiwgOTk1MDcsIDk5NTEyLCA5OTUxNiwgOTk1MjEsIDk5NTI1LCA5OTUzMCwgOTk1MzQsIAorICAgIDk5NTM5LCA5OTU0MywgOTk1NDgsIDk5NTUzLCA5OTU1OCwgOTk1NjMsIDk5NTY4LCA5OTU3MywgOTk1NzgsIDk5NTgzLCAKKyAgICA5OTU4OCwgOTk1OTMsIDk5NTk4LCA5OTYwMywgOTk2MDgsIDk5NjEzLCA5OTYxOCwgOTk2MjMsIDk5NjI4LCA5OTYzMywgCisgICAgOTk2MzgsIDk5NjQzLCA5OTY0OCwgOTk2NTMsIDk5NjU4LCA5OTY2MywgOTk2NjgsIDk5NjczLCA5OTY3OCwgOTk2ODMsIAorICAgIDk5Njg4LCA5OTY5MywgOTk2OTgsIDk5NzAzLCA5OTcwOCwgOTk3MTMsIDk5NzE4LCA5OTcyMywgOTk3MjgsIDk5NzMzLCAwLCAKKyAgICAwLCAwLCA5OTczOCwgOTk3NDMsIDk5NzUyLCA5OTc2MCwgOTk3NjksIDk5Nzc4LCA5OTc4OSwgOTk4MDAsIDk5ODA3LCAKKyAgICA5OTgxNCwgOTk4MjEsIDk5ODI4LCA5OTgzNSwgOTk4NDIsIDk5ODQ5LCA5OTg1NiwgOTk4NjMsIDk5ODcwLCA5OTg3NywgCisgICAgOTk4ODQsIDk5ODkxLCA5OTg5OCwgOTk5MDUsIDk5OTEyLCA5OTkxOSwgOTk5MjYsIDk5OTMzLCA5OTk0MCwgOTk5NDcsIDAsIAorICAgIDAsIDk5OTU0LCA5OTk2MCwgOTk5NjYsIDk5OTcyLCA5OTk3OCwgOTk5ODUsIDk5OTkyLCAxMDAwMDAsIDEwMDAwOCwgCisgICAgMTAwMDE1LCAxMDAwMjIsIDEwMDAyOSwgMTAwMDM2LCAxMDAwNDMsIDEwMDA1MCwgMTAwMDU3LCAxMDAwNjQsIDEwMDA3MSwgCisgICAgMTAwMDc4LCAxMDAwODUsIDEwMDA5MiwgMTAwMDk5LCAxMDAxMDYsIDEwMDExMywgMTAwMTIwLCAxMDAxMjcsIDEwMDEzNCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMTAwMTQxLCAxMDAxNDcsIDEwMDE1MywgMTAwMTU5LCAxMDAxNjUsIDEwMDE3MiwgMTAwMTc5LCAKKyAgICAxMDAxODcsIDEwMDE5NSwgMTAwMjAyLCAxMDAyMDksIDEwMDIxNiwgMTAwMjIzLCAxMDAyMzAsIDEwMDIzNywgMTAwMjQ0LCAKKyAgICAxMDAyNTEsIDEwMDI1OCwgMTAwMjY1LCAxMDAyNzIsIDEwMDI3OSwgMTAwMjg2LCAxMDAyOTMsIDEwMDMwMCwgMTAwMzA3LCAKKyAgICAxMDAzMTQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEwMDMyMSwgMTAwMzI4LCAxMDAzMzYsIDEwMDM0NiwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTAwMzU2LCAxMDAzNjIsIDEwMDM2OCwgMTAwMzc0LCAxMDAzODAsIDEwMDM4NywgCisgICAgMTAwMzk0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMDA0MDIsIDEwMDQwOSwgMTAwNDE2LCAxMDA0MjQsIDEwMDQzMSwgCisgICAgMTAwNDM4LCAxMDA0NDUsIDEwMDQ1MiwgMTAwNDYwLCAxMDA0NjgsIDEwMDQ3NiwgMTAwNDg0LCAxMDA0OTIsIDEwMDUwMCwgCisgICAgMTAwNTA4LCAxMDA1MTYsIDEwMDUyNCwgMTAwNTMyLCAxMDA1NDAsIDEwMDU0OCwgMTAwNTU2LCAxMDA1NjQsIDEwMDU3MiwgCisgICAgMTAwNTgwLCAxMDA1ODgsIDEwMDU5NiwgMTAwNjA0LCAxMDA2MTIsIDEwMDYyMCwgMTAwNjI4LCAxMDA2MzYsIDEwMDY0NCwgCisgICAgMTAwNjUyLCAxMDA2NjAsIDEwMDY2OCwgMTAwNjc2LCAxMDA2ODQsIDEwMDY5MiwgMTAwNzAwLCAxMDA3MDgsIDEwMDcxNiwgCisgICAgMTAwNzI0LCAxMDA3MzIsIDEwMDc0MCwgMTAwNzQ4LCAxMDA3NTYsIDEwMDc2NCwgMTAwNzcyLCAxMDA3ODAsIDEwMDc4OCwgCisgICAgMTAwNzk2LCAxMDA4MDQsIDEwMDgxMiwgMTAwODIwLCAxMDA4MjgsIDEwMDgzNiwgMTAwODQ0LCAxMDA4NTIsIDEwMDg2MCwgCisgICAgMTAwODY4LCAxMDA4NzYsIDEwMDg4NCwgMTAwODkyLCAxMDA5MDAsIDEwMDkwOCwgMTAwOTE2LCAxMDA5MjQsIDEwMDkzMiwgCisgICAgMTAwOTQwLCAxMDA5NDgsIDEwMDk1NiwgMTAwOTY0LCAxMDA5NzIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEyOTQ1MCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMTI5NDU0LCAxMjk0NTcsIDEyOTQ2MSwgMTI5NDY1LCAxMjk0NjgsIDEyOTQ3MiwgMTI5NDc2LCAKLSAgICAxMjk0NzksIDEyOTQ4MiwgMTI5NDg2LCAxMjk0OTAsIDEyOTQ5MywgMTI5NDk2LCAxMjk0OTksIDEyOTUwMiwgMTI5NTA3LCAKLSAgICAxMjk1MTAsIDEyOTUxNCwgMTI5NTE3LCAxMjk1MjAsIDEyOTUyMywgMTI5NTI2LCAxMjk1MjksIDEyOTUzMiwgMTI5NTM1LCAKLSAgICAxMjk1MzgsIDEyOTU0MSwgMTI5NTQ0LCAxMjk1NDcsIDEyOTU1MSwgMTI5NTU1LCAxMjk1NTksIDEyOTU2MywgMTI5NTY4LCAKLSAgICAxMjk1NzMsIDEyOTU3OSwgMTI5NTg1LCAxMjk1OTEsIDEyOTU5NiwgMTI5NjAyLCAxMjk2MDgsIDEyOTYxNCwgMTI5NjE5LCAKLSAgICAxMjk2MjUsIDEyOTYzMSwgMTI5NjM2LCAxMjk2NDEsIDEyOTY0NywgMTI5NjUyLCAxMjk2NTgsIDEyOTY2NCwgMTI5NjY5LCAKLSAgICAxMjk2NzUsIDEyOTY4MSwgMTI5Njg2LCAxMjk2OTIsIDEyOTY5OCwgMTI5NzA0LCAxMjk3MTAsIDEyOTcxNiwgMTI5NzIwLCAKLSAgICAxMjk3MjUsIDEyOTcyOSwgMTI5NzM0LCAxMjk3MzgsIDEyOTc0MywgMTI5NzQ4LCAxMjk3NTQsIDEyOTc2MCwgMTI5NzY2LCAKLSAgICAxMjk3NzEsIDEyOTc3NywgMTI5NzgzLCAxMjk3ODksIDEyOTc5NCwgMTI5ODAwLCAxMjk4MDYsIDEyOTgxMSwgMTI5ODE2LCAKLSAgICAxMjk4MjIsIDEyOTgyNywgMTI5ODMzLCAxMjk4MzksIDEyOTg0NCwgMTI5ODUwLCAxMjk4NTYsIDEyOTg2MSwgMTI5ODY3LCAKLSAgICAxMjk4NzMsIDEyOTg3OSwgMTI5ODg1LCAxMjk4OTEsIDEyOTg5NiwgMTI5OTAwLCAxMjk5MDUsIDEyOTkwNywgMTI5OTExLCAKLSAgICAxMjk5MTQsIDEyOTkxNywgMTI5OTIwLCAxMjk5MjMsIDEyOTkyNiwgMTI5OTI5LCAxMjk5MzIsIDEyOTkzNSwgMTI5OTM4LCAKLSAgICAxMjk5NDEsIDEyOTk0NCwgMTI5OTQ3LCAxMjk5NTAsIDEyOTk1MywgMTI5OTU2LCAxMjk5NTksIDEyOTk2MiwgMTI5OTY1LCAKLSAgICAxMjk5NjgsIDEyOTk3MSwgMTI5OTc0LCAxMjk5NzcsIDEyOTk4MCwgMTI5OTgzLCAxMjk5ODYsIDEyOTk4OSwgMTI5OTkyLCAKLSAgICAxMjk5OTUsIDEyOTk5OCwgMTMwMDAxLCAxMzAwMDQsIDEzMDAwNywgMTMwMDEwLCAxMzAwMTMsIDEzMDAxNiwgMTMwMDE5LCAKLSAgICAxMzAwMjIsIDEzMDAyNSwgMTMwMDI4LCAxMzAwMzEsIDEzMDAzNCwgMTMwMDM3LCAxMzAwNDAsIDEzMDA0MywgMTMwMDQ2LCAKLSAgICAxMzAwNDksIDEzMDA1MiwgMTMwMDU1LCAxMzAwNTgsIDEzMDA2MSwgMTMwMDY0LCAxMzAwNjcsIDEzMDA3MCwgMTMwMDczLCAKLSAgICAxMzAwNzYsIDEzMDA3OSwgMTMwMDgyLCAxMzAwODUsIDEzMDA4OCwgMTMwMDkxLCAxMzAwOTQsIDEzMDA5NywgMTMwMTAwLCAKLSAgICAxMzAxMDMsIDEzMDEwNiwgMTMwMTA5LCAxMzAxMTIsIDEzMDExNSwgMTMwMTE4LCAxMzAxMjEsIDEzMDEyNCwgMTMwMTI3LCAKLSAgICAxMzAxMzAsIDEzMDEzMywgMTMwMTM2LCAxMzAxMzksIDEzMDE0MiwgMTMwMTQ1LCAxMzAxNDgsIDEzMDE1MSwgMTMwMTU0LCAKLSAgICAxMzAxNTcsIDEzMDE2MCwgMTMwMTYzLCAxMzAxNjYsIDEzMDE2OSwgMTMwMTcyLCAxMzAxNzUsIDEzMDE3OCwgMTMwMTgxLCAKLSAgICAxMzAxODQsIDEzMDE4NywgMTMwMTkwLCAxMzAxOTMsIDEzMDE5NiwgMTMwMTk5LCAxMzAyMDIsIDEzMDIwNSwgMTMwMjA4LCAKLSAgICAxMzAyMTEsIDEzMDIxNCwgMTMwMjE3LCAxMzAyMjAsIDEzMDIyMywgMTMwMjI2LCAxMzAyMjksIDEzMDIzMiwgMTMwMjM1LCAKLSAgICAxMzAyMzgsIDEzMDI0MSwgMTMwMjQ0LCAxMzAyNDcsIDEzMDI1MCwgMTMwMjUzLCAxMzAyNTYsIDEzMDI1OSwgMTMwMjYyLCAKLSAgICAxMzAyNjUsIDEzMDI2OCwgMTMwMjcxLCAxMzAyNzQsIDEzMDI3NywgMTMwMjgwLCAxMzAyODMsIDEzMDI4NiwgMTMwMjg5LCAKLSAgICAxMzAyOTIsIDEzMDI5NSwgMTMwMjk4LCAxMzAzMDEsIDEzMDMwNCwgMTMwMzA3LCAxMzAzMTAsIDEzMDMxMywgMTMwMzE2LCAKLSAgICAxMzAzMTksIDEzMDMyMiwgMTMwMzI1LCAxMzAzMjgsIDEzMDMzMSwgMTMwMzM0LCAxMzAzMzcsIDEzMDM0MCwgMTMwMzQzLCAKLSAgICAxMzAzNDYsIDEzMDM0OSwgMTMwMzUyLCAxMzAzNTUsIDEzMDM1OCwgMTMwMzYxLCAxMzAzNjQsIDEzMDM2NywgMTMwMzcwLCAKLSAgICAxMzAzNzMsIDEzMDM3NiwgMTMwMzc5LCAxMzAzODIsIDEzMDM4NSwgMTMwMzg4LCAxMzAzOTEsIDEzMDM5NCwgMTMwMzk3LCAKLSAgICAxMzA0MDAsIDEzMDQwMywgMTMwNDA2LCAxMzA0MDksIDEzMDQxMiwgMTMwNDE1LCAxMzA0MTgsIDEzMDQyMSwgMTMwNDI0LCAKLSAgICAxMzA0MjcsIDEzMDQzMCwgMTMwNDMzLCAxMzA0MzYsIDEzMDQzOSwgMTMwNDQyLCAxMzA0NDUsIDEzMDQ0OCwgMTMwNDUxLCAKLSAgICAxMzA0NTQsIDEzMDQ1NywgMTMwNDYwLCAxMzA0NjMsIDEzMDQ2NiwgMTMwNDY5LCAxMzA0NzIsIDEzMDQ3NSwgMTMwNDc4LCAKLSAgICAxMzA0ODEsIDEzMDQ4NCwgMTMwNDg3LCAxMzA0OTAsIDEzMDQ5MywgMTMwNDk2LCAxMzA0OTksIDEzMDUwMiwgMTMwNTA1LCAKLSAgICAxMzA1MDgsIDEzMDUxMSwgMTMwNTE0LCAxMzA1MTcsIDEzMDUyMCwgMTMwNTIzLCAxMzA1MjYsIDEzMDUyOSwgMTMwNTMyLCAKLSAgICAxMzA1MzUsIDEzMDUzOCwgMTMwNTQxLCAxMzA1NDQsIDEzMDU0NywgMTMwNTUwLCAxMzA1NTMsIDEzMDU1NiwgMTMwNTU5LCAKLSAgICAxMzA1NjIsIDEzMDU2NSwgMTMwNTY4LCAxMzA1NzEsIDEzMDU3NCwgMTMwNTc3LCAxMzA1ODAsIDEzMDU4MywgMTMwNTg2LCAKLSAgICAxMzA1ODksIDEzMDU5MiwgMTMwNTk1LCAxMzA1OTgsIDEzMDYwMSwgMTMwNjA0LCAxMzA2MDcsIDEzMDYxMCwgMTMwNjEzLCAKLSAgICAxMzA2MTYsIDEzMDYxOSwgMTMwNjIyLCAxMzA2MjUsIDEzMDYyOCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMTMwNjMxLCAxMzA2MzMsIDEzMDYzNSwgMTMwNjQwLCAxMzA2NDIsIDEzMDY0NywgMTMwNjQ5LCAKLSAgICAxMzA2NTQsIDEzMDY1NiwgMTMwNjYxLCAxMzA2NjMsIDEzMDY2NSwgMTMwNjY3LCAxMzA2NjksIDEzMDY3MSwgMTMwNjczLCAKLSAgICAxMzA2NzUsIDEzMDY3NywgMTMwNjc5LCAxMzA2ODIsIDEzMDY4NSwgMTMwNjg3LCAxMzA2ODksIDEzMDY5MywgMTMwNjk2LCAKLSAgICAxMzA3MDEsIDEzMDcwMywgMTMwNzA1LCAxMzA3MDcsIDEzMDcxMSwgMTMwNzE0LCAxMzA3MTYsIDEzMDcyMCwgMTMwNzIyLCAKLSAgICAxMzA3MjYsIDEzMDcyOCwgMTMwNzMyLCAxMzA3MzUsIDEzMDczNywgMTMwNzQxLCAxMzA3NDUsIDEzMDc0NywgMTMwNzUzLCAKLSAgICAxMzA3NTUsIDEzMDc2MCwgMTMwNzYyLCAxMzA3NjcsIDEzMDc2OSwgMTMwNzc0LCAxMzA3NzYsIDEzMDc4MSwgMTMwNzgzLCAKLSAgICAxMzA3ODYsIDEzMDc4OCwgMTMwNzkyLCAxMzA3OTQsIDEzMDgwMSwgMTMwODAzLCAxMzA4MDUsIDEzMDgwNywgMTMwODEyLCAKLSAgICAxMzA4MTQsIDEzMDgxNiwgMTMwODE4LCAxMzA4MjAsIDEzMDgyMiwgMTMwODI3LCAxMzA4MzEsIDEzMDgzMywgMTMwODM4LCAKLSAgICAxMzA4NDIsIDEzMDg0NCwgMTMwODQ5LCAxMzA4NTMsIDEzMDg1NSwgMTMwODYwLCAxMzA4NjQsIDEzMDg2NiwgMTMwODY4LCAKLSAgICAxMzA4NzAsIDEzMDg3MiwgMTMwODc2LCAxMzA4NzgsIDEzMDg4MywgMTMwODg1LCAxMzA4OTEsIDEzMDg5MywgMTMwODk5LCAKLSAgICAxMzA5MDEsIDEzMDkwMywgMTMwOTA1LCAxMzA5MDksIDEzMDkxMSwgMTMwOTE4LCAxMzA5MjAsIDEzMDkyNywgMTMwOTI5LCAKLSAgICAxMzA5MzQsIDEzMDkzOSwgMTMwOTQxLCAxMzA5NDcsIDEzMDk1MywgMTMwOTU1LCAxMzA5NjEsIDEzMDk2NiwgMTMwOTY4LCAKLSAgICAxMzA5NzQsIDEzMDk4MCwgMTMwOTgyLCAxMzA5ODgsIDEzMDk5NCwgMTMwOTk2LCAxMzEwMDIsIDEzMTAwNiwgMTMxMDA4LCAKLSAgICAxMzEwMTMsIDEzMTAxNSwgMTMxMDE3LCAxMzEwMjIsIDEzMTAyNCwgMTMxMDI2LCAxMzEwMzIsIDEzMTAzNCwgMTMxMDM5LCAKLSAgICAxMzEwNDMsIDEzMTA0NSwgMTMxMDUwLCAxMzEwNTQsIDEzMTA1NiwgMTMxMDYyLCAxMzEwNjQsIDEzMTA2OCwgMTMxMDcwLCAKLSAgICAxMzEwNzQsIDEzMTA3NiwgMTMxMDgzLCAxMzEwOTAsIDEzMTA5MiwgMTMxMDk5LCAxMzExMDYsIDEzMTEwOCwgMTMxMTEzLCAKLSAgICAxMzExMTUsIDEzMTEyMiwgMTMxMTI0LCAxMzExMjksIDEzMTEzMSwgMTMxMTM3LCAxMzExMzksIDEzMTE0MywgMTMxMTQ1LCAKLSAgICAxMzExNTEsIDEzMTE1MywgMTMxMTU3LCAxMzExNTksIDEzMTE2NSwgMTMxMTY3LCAxMzExNjksIDEzMTE3MSwgMTMxMTc2LCAKLSAgICAxMzExODEsIDEzMTE4MywgMTMxMTg1LCAxMzExOTQsIDEzMTE5OCwgMTMxMjA1LCAxMzEyMTIsIDEzMTIxNywgMTMxMjIyLCAKLSAgICAxMzEyMzQsIDEzMTIzNiwgMTMxMjM4LCAxMzEyNDAsIDEzMTI0MiwgMTMxMjQ0LCAxMzEyNDYsIDEzMTI0OCwgMTMxMjUwLCAKLSAgICAxMzEyNTIsIDEzMTI1NCwgMTMxMjU2LCAxMzEyNTgsIDEzMTI2MCwgMTMxMjYyLCAxMzEyNjQsIDEzMTI2NiwgMTMxMjY4LCAKLSAgICAxMzEyNzAsIDEzMTI3MiwgMTMxMjc0LCAxMzEyNzYsIDEzMTI4MiwgMTMxMjg5LCAxMzEyOTQsIDEzMTI5OSwgMTMxMzEwLCAKLSAgICAxMzEzMTIsIDEzMTMxNCwgMTMxMzE2LCAxMzEzMTgsIDEzMTMyMCwgMTMxMzIyLCAxMzEzMjQsIDEzMTMyNiwgMTMxMzI4LCAKLSAgICAxMzEzMzAsIDEzMTMzMiwgMTMxMzM0LCAxMzEzMzYsIDEzMTMzOCwgMTMxMzQwLCAxMzEzNDIsIDEzMTM0NywgMTMxMzQ5LCAKLSAgICAxMzEzNTEsIDEzMTM1NywgMTMxMzY5LCAxMzEzODAsIDEzMTM4MiwgMTMxMzg0LCAxMzEzODYsIDEzMTM4OCwgMTMxMzkwLCAKLSAgICAxMzEzOTIsIDEzMTM5NCwgMTMxMzk2LCAxMzEzOTgsIDEzMTQwMCwgMTMxNDAyLCAxMzE0MDQsIDEzMTQwNiwgMTMxNDA4LCAKLSAgICAxMzE0MTAsIDEzMTQxMiwgMTMxNDE0LCAxMzE0MTYsIDEzMTQxOCwgMTMxNDIwLCAxMzE0MjIsIDEzMTQyNCwgMTMxNDI2LCAKLSAgICAxMzE0MjgsIDEzMTQzMCwgMTMxNDMyLCAxMzE0MzQsIDEzMTQzNiwgMTMxNDM4LCAxMzE0NDAsIDEzMTQ0MiwgMTMxNDQ0LCAKLSAgICAxMzE0NDYsIDEzMTQ0OCwgMTMxNDUwLCAxMzE0NTIsIDEzMTQ1NCwgMTMxNDU2LCAxMzE0NTgsIDEzMTQ2MCwgMTMxNDYyLCAKLSAgICAxMzE0NjQsIDEzMTQ2NiwgMTMxNDY4LCAxMzE0NzAsIDEzMTQ3MiwgMTMxNDc0LCAxMzE0NzYsIDEzMTQ3OCwgMTMxNDgwLCAKLSAgICAxMzE0ODIsIDEzMTQ4NCwgMTMxNDg2LCAxMzE0ODgsIDEzMTQ5MCwgMTMxNDkyLCAxMzE0OTQsIDEzMTQ5NiwgMTMxNDk4LCAKLSAgICAxMzE1MDAsIDEzMTUwMiwgMTMxNTA0LCAxMzE1MDYsIDEzMTUwOCwgMTMxNTEwLCAxMzE1MTIsIDEzMTUxNCwgMTMxNTE2LCAKLSAgICAxMzE1MTgsIDEzMTUyMCwgMTMxNTIyLCAxMzE1MjQsIDEzMTUyNiwgMTMxNTI4LCAxMzE1MzAsIDEzMTUzMiwgMTMxNTM0LCAKLSAgICAxMzE1MzYsIDEzMTUzOCwgMTMxNTQwLCAxMzE1NDIsIDEzMTU0NCwgMTMxNTQ2LCAxMzE1NDgsIDEzMTU1MCwgMTMxNTUyLCAKLSAgICAxMzE1NTQsIDEzMTU1NiwgMTMxNTU4LCAxMzE1NjAsIDEzMTU2MiwgMTMxNTY0LCAxMzE1NjYsIDEzMTU2OCwgMTMxNTcwLCAKLSAgICAxMzE1NzIsIDEzMTU3NCwgMTMxNTc2LCAxMzE1NzgsIDEzMTU4MCwgMTMxNTgyLCAxMzE1ODQsIDEzMTU4NiwgMTMxNTg4LCAKLSAgICAxMzE1OTAsIDEzMTU5MiwgMTMxNTk0LCAxMzE1OTYsIDEzMTU5OCwgMTMxNjAwLCAxMzE2MDIsIDEzMTYwNCwgMTMxNjA2LCAKLSAgICAxMzE2MDgsIDEzMTYxMCwgMTMxNjEyLCAxMzE2MTQsIDEzMTYxNiwgMTMxNjE4LCAxMzE2MjAsIDEzMTYyMiwgMTMxNjI0LCAKLSAgICAxMzE2MjYsIDEzMTYyOCwgMTMxNjMwLCAxMzE2MzIsIDEzMTYzNCwgMTMxNjM2LCAxMzE2MzgsIDEzMTY0MCwgMTMxNjQyLCAKLSAgICAxMzE2NDQsIDEzMTY0NiwgMTMxNjQ4LCAxMzE2NTAsIDEzMTY1MiwgMTMxNjU0LCAxMzE2NTYsIDEzMTY1OCwgMTMxNjYwLCAKLSAgICAxMzE2NjIsIDEzMTY2NCwgMTMxNjY2LCAxMzE2NjgsIDEzMTY3MCwgMTMxNjcyLCAxMzE2NzQsIDEzMTY3NiwgMTMxNjc4LCAKLSAgICAxMzE2ODAsIDEzMTY4MiwgMTMxNjg0LCAxMzE2ODYsIDEzMTY4OCwgMTMxNjkwLCAxMzE2OTIsIDEzMTY5NCwgMTMxNjk2LCAKLSAgICAxMzE2OTgsIDEzMTcwMCwgMTMxNzAyLCAxMzE3MDQsIDEzMTcwNiwgMTMxNzA4LCAxMzE3MTAsIDEzMTcxMiwgMTMxNzE0LCAKLSAgICAxMzE3MTYsIDEzMTcxOCwgMTMxNzIwLCAxMzE3MjIsIDEzMTcyNCwgMTMxNzI2LCAxMzE3MjgsIDEzMTczMCwgMTMxNzMyLCAKLSAgICAxMzE3MzQsIDEzMTczNiwgMTMxNzM4LCAxMzE3NDAsIDEzMTc0MiwgMTMxNzQ0LCAxMzE3NDYsIDEzMTc0OCwgMTMxNzUwLCAKLSAgICAxMzE3NTIsIDEzMTc1NCwgMTMxNzU2LCAxMzE3NTgsIDEzMTc2MCwgMTMxNzYyLCAxMzE3NjQsIDEzMTc2NiwgMTMxNzY4LCAKLSAgICAxMzE3NzAsIDEzMTc3MiwgMTMxNzc0LCAxMzE3NzYsIDEzMTc3OCwgMTMxNzgwLCAxMzE3ODIsIDEzMTc4NCwgMTMxNzg2LCAKLSAgICAxMzE3ODgsIDEzMTc5MCwgMTMxNzkyLCAxMzE3OTQsIDEzMTc5NiwgMTMxNzk4LCAxMzE4MDAsIDEzMTgwMiwgMTMxODA0LCAKLSAgICAxMzE4MDYsIDEzMTgwOCwgMTMxODEwLCAxMzE4MTIsIDEzMTgxNCwgMTMxODE2LCAxMzE4MTgsIDEzMTgyMCwgMTMxODIyLCAKLSAgICAxMzE4MjQsIDEzMTgyNiwgMTMxODI4LCAxMzE4MzAsIDEzMTgzMiwgMTMxODM0LCAxMzE4MzYsIDEzMTgzOCwgMTMxODQwLCAKLSAgICAxMzE4NDIsIDEzMTg0NCwgMTMxODQ2LCAxMzE4NDgsIDEzMTg1MCwgMTMxODUyLCAxMzE4NTQsIDEzMTg1NiwgMTMxODU4LCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMzE4NjAsIDEzMTg3MCwgMTMxODgwLCAxMzE4ODksIDEzMTg5OCwgMTMxOTExLCAKLSAgICAxMzE5MjQsIDEzMTkzNiwgMTMxOTQ4LCAxMzE5NTgsIDEzMTk2OCwgMTMxOTc4LCAxMzE5ODgsIDEzMTk5OSwgMTMyMDEwLCAKLSAgICAxMzIwMjAsIDEzMjAyOSwgMTMyMDM4LCAxMzIwNDcsIDEzMjA2MCwgMTMyMDczLCAxMzIwODUsIDEzMjA5NywgMTMyMTA3LCAKLSAgICAxMzIxMTcsIDEzMjEyNywgMTMyMTM3LCAxMzIxNDYsIDEzMjE1NSwgMTMyMTY0LCAxMzIxNzMsIDEzMjE4MiwgMTMyMTkxLCAKLSAgICAxMzIyMDAsIDEzMjIwOSwgMTMyMjE4LCAxMzIyMjcsIDEzMjIzNiwgMTMyMjQ1LCAxMzIyNTYsIDEzMjI2NiwgMTMyMjc2LCAKLSAgICAxMzIyODksIDEzMjI5OSwgMTMyMzEyLCAxMzIzMTksIDEzMjMyOSwgMTMyMzM2LCAxMzIzNDMsIDEzMjM1MCwgMTMyMzU3LCAKLSAgICAxMzIzNjQsIDEzMjM3MSwgMTMyMzgwLCAxMzIzODksIDEzMjM5OCwgMTMyNDA3LCAxMzI0MTYsIDEzMjQyNSwgMTMyNDM0LCAKLSAgICAxMzI0NDMsIDEzMjQ1MSwgMTMyNDU5LCAxMzI0NjYsIDEzMjQ3NiwgMTMyNDg1LCAxMzI0OTMsIDEzMjUwMCwgMTMyNTEwLCAKLSAgICAxMzI1MTksIDEzMjUyOSwgMTMyNTM5LCAxMzI1NTAsIDEzMjU2MCwgMTMyNTY5LCAxMzI1NzksIDEzMjU4OCwgMTMyNTk4LCAKLSAgICAxMzI2MDYsIDEzMjYxMCwgMTMyNjE0LCAxMzI2MTgsIDEzMjYyMiwgMTMyNjI2LCAxMzI2MzAsIDEzMjYzNCwgMTMyNjM4LCAKLSAgICAxMzI2NDIsIDEzMjY0NiwgMTMyNjQ5LCAxMzI2NTMsIDEzMjY1NiwgMTMyNjU5LCAxMzI2NjMsIDEzMjY2NywgMTMyNjcxLCAKLSAgICAxMzI2NzUsIDEzMjY3OSwgMTMyNjgzLCAxMzI2ODcsIDEzMjY5MSwgMTMyNjk1LCAxMzI2OTksIDEzMjcwMywgMTMyNzA3LCAKLSAgICAxMzI3MTEsIDEzMjcxNSwgMTMyNzE5LCAxMzI3MjMsIDEzMjcyNywgMTMyNzMxLCAxMzI3MzUsIDEzMjczOSwgMTMyNzQzLCAKLSAgICAxMzI3NDcsIDEzMjc1MSwgMTMyNzU1LCAxMzI3NTksIDEzMjc2MywgMTMyNzY3LCAxMzI3NzEsIDEzMjc3NSwgMTMyNzc5LCAKLSAgICAxMzI3ODMsIDEzMjc4NywgMTMyNzkxLCAxMzI3OTUsIDEzMjc5OSwgMTMyODAzLCAxMzI4MDcsIDEzMjgxMSwgMTMyODE1LCAKLSAgICAxMzI4MTksIDEzMjgyMywgMTMyODI3LCAxMzI4MzEsIDEzMjgzNSwgMTMyODM5LCAxMzI4NDMsIDEzMjg0NywgMTMyODUxLCAKLSAgICAxMzI4NTUsIDEzMjg1OSwgMTMyODYzLCAxMzI4NjcsIDEzMjg3MSwgMTMyODc1LCAxMzI4NzksIDEzMjg4MywgMTMyODg3LCAKLSAgICAxMzI4OTEsIDEzMjg5NSwgMTMyODk5LCAxMzI5MDMsIDEzMjkwNywgMTMyOTExLCAxMzI5MTUsIDEzMjkxOSwgMTMyOTIzLCAKLSAgICAxMzI5MjcsIDEzMjkzMSwgMTMyOTM1LCAxMzI5MzksIDEzMjk0MywgMTMyOTQ3LCAxMzI5NTEsIDEzMjk1NSwgMTMyOTU5LCAKLSAgICAxMzI5NjMsIDEzMjk2NywgMTMyOTcxLCAxMzI5NzUsIDEzMjk3OSwgMTMyOTgzLCAxMzI5ODcsIDEzMjk5MSwgMTMyOTk1LCAKLSAgICAxMzI5OTksIDEzMzAwMiwgMTMzMDA2LCAxMzMwMTAsIDEzMzAxNCwgMTMzMDE4LCAxMzMwMjIsIDEzMzAyNiwgMTMzMDMwLCAKLSAgICAxMzMwMzQsIDEzMzAzOCwgMTMzMDQyLCAxMzMwNDYsIDEzMzA1MCwgMTMzMDU0LCAxMzMwNTgsIDEzMzA2MiwgMTMzMDY2LCAKLSAgICAxMzMwNzAsIDEzMzA3NCwgMTMzMDc4LCAxMzMwODIsIDEzMzA4NiwgMTMzMDkwLCAxMzMwOTQsIDEzMzA5OCwgMTMzMTAyLCAKLSAgICAxMzMxMDYsIDEzMzExMCwgMTMzMTE0LCAxMzMxMTgsIDEzMzEyMiwgMTMzMTI2LCAxMzMxMzAsIDEzMzEzNCwgMTMzMTM4LCAKLSAgICAxMzMxNDIsIDEzMzE0NiwgMTMzMTUwLCAxMzMxNTQsIDEzMzE1OCwgMTMzMTYyLCAxMzMxNjYsIDEzMzE3MCwgMTMzMTc0LCAKLSAgICAxMzMxNzgsIDEzMzE4MiwgMTMzMTg2LCAxMzMxOTAsIDEzMzE5NCwgMTMzMTk4LCAxMzMyMDIsIDEzMzIwNiwgMTMzMjEwLCAKLSAgICAxMzMyMTQsIDEzMzIxOCwgMTMzMjIyLCAxMzMyMjYsIDEzMzIzMCwgMTMzMjM0LCAxMzMyMzgsIDEzMzI0MiwgMTMzMjQ2LCAKLSAgICAxMzMyNTAsIDEzMzI1NCwgMTMzMjU4LCAxMzMyNjIsIDEzMzI2NiwgMTMzMjcwLCAxMzMyNzQsIDEzMzI3OCwgMTMzMjgyLCAKLSAgICAxMzMyODYsIDEzMzI5MCwgMTMzMjk0LCAxMzMyOTgsIDEzMzMwMiwgMTMzMzA2LCAxMzMzMTAsIDEzMzMxNCwgMTMzMzE4LCAKLSAgICAxMzMzMjIsIDEzMzMyNiwgMTMzMzMwLCAxMzMzMzQsIDEzMzMzOCwgMTMzMzQyLCAxMzMzNDYsIDEzMzM1MCwgMTMzMzU0LCAKLSAgICAxMzMzNTgsIDEzMzM2MiwgMTMzMzY2LCAxMzMzNzAsIDEzMzM3NCwgMTMzMzc4LCAxMzMzODIsIDEzMzM4NiwgMTMzMzkwLCAKLSAgICAxMzMzOTQsIDEzMzM5OCwgMTMzNDAyLCAxMzM0MDYsIDEzMzQxMCwgMTMzNDE0LCAxMzM0MTgsIDEzMzQyMiwgMTMzNDI2LCAKLSAgICAxMzM0MzAsIDEzMzQzNCwgMTMzNDM4LCAxMzM0NDIsIDEzMzQ0NiwgMTMzNDUwLCAxMzM0NTQsIDEzMzQ1OCwgMTMzNDYyLCAKLSAgICAxMzM0NjYsIDEzMzQ3MCwgMTMzNDc0LCAxMzM0NzgsIDEzMzQ4MiwgMTMzNDg2LCAxMzM0OTAsIDEzMzQ5NCwgMTMzNDk4LCAKLSAgICAxMzM1MDIsIDEzMzUwNiwgMTMzNTEwLCAxMzM1MTQsIDEzMzUxOCwgMTMzNTIyLCAxMzM1MjYsIDEzMzUzMCwgMTMzNTM0LCAKLSAgICAxMzM1MzgsIDEzMzU0MiwgMTMzNTQ2LCAxMzM1NTAsIDEzMzU1NCwgMTMzNTU4LCAxMzM1NjIsIDEzMzU2NiwgMTMzNTcwLCAKLSAgICAxMzM1NzQsIDEzMzU3OCwgMTMzNTgyLCAxMzM1ODYsIDEzMzU5MCwgMTMzNTk0LCAxMzM1OTgsIDEzMzYwMiwgMTMzNjA2LCAKLSAgICAxMzM2MTAsIDEzMzYxNCwgMTMzNjE4LCAxMzM2MjIsIDEzMzYyNiwgMTMzNjMwLCAxMzM2MzQsIDEzMzYzOCwgMTMzNjQyLCAKLSAgICAxMzM2NDYsIDEzMzY1MCwgMTMzNjU0LCAxMzM2NTgsIDEzMzY2MiwgMTMzNjY2LCAxMzM2NzAsIDEzMzY3NCwgMTMzNjc4LCAKLSAgICAxMzM2ODIsIDEzMzY4NiwgMTMzNjkwLCAxMzM2OTQsIDEzMzY5OCwgMTMzNzAyLCAxMzM3MDYsIDEzMzcxMCwgMTMzNzE0LCAKLSAgICAxMzM3MTgsIDEzMzcyMiwgMTMzNzI2LCAxMzM3MzAsIDEzMzczNCwgMTMzNzM4LCAxMzM3NDIsIDEzMzc0NiwgMTMzNzUwLCAKLSAgICAxMzM3NTQsIDEzMzc1OCwgMTMzNzYyLCAxMzM3NjYsIDEzMzc3MSwgMTMzNzc2LCAxMzM3ODEsIDEzMzc4NSwgMTMzNzkxLCAKLSAgICAxMzM3OTgsIDEzMzgwNSwgMTMzODEyLCAxMzM4MTksIDEzMzgyNiwgMTMzODMzLCAxMzM4NDAsIDEzMzg0NywgMTMzODU0LCAKLSAgICAxMzM4NjEsIDEzMzg2OCwgMTMzODc1LCAxMzM4ODIsIDEzMzg4OCwgMTMzODk1LCAxMzM5MDIsIDEzMzkwOCwgMTMzOTE1LCAKLSAgICAxMzM5MjIsIDEzMzkyOSwgMTMzOTM2LCAxMzM5NDMsIDEzMzk1MCwgMTMzOTU3LCAxMzM5NjQsIDEzMzk3MSwgMTMzOTc4LCAKLSAgICAxMzM5ODUsIDEzMzk5MiwgMTMzOTk5LCAxMzQwMDUsIDEzNDAxMSwgMTM0MDE4LCAxMzQwMjUsIDEzNDAzNCwgMTM0MDQzLCAKLSAgICAxMzQwNTIsIDEzNDA2MSwgMTM0MDY2LCAxMzQwNzEsIDEzNDA3NywgMTM0MDgzLCAxMzQwODksIDEzNDA5NSwgMTM0MTAxLCAKLSAgICAxMzQxMDcsIDEzNDExMywgMTM0MTE5LCAxMzQxMjUsIDEzNDEzMSwgMTM0MTM3LCAxMzQxNDMsIDEzNDE0OCwgMTM0MTU0LCAKLSAgICAxMzQxNjQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDEwMDk4MCwgMTAwOTg0LCAxMDA5ODgsIDEwMDk5MiwgMTAwOTk2LCAxMDEwMDAsIDEwMTAwNCwgCisgICAgMTAxMDA4LCAxMDEwMTIsIDEwMTAxNiwgMTAxMDIxLCAxMDEwMjYsIDEwMTAzMSwgMTAxMDM2LCAxMDEwNDEsIDEwMTA0NiwgCisgICAgMTAxMDUxLCAxMDEwNTYsIDEwMTA2MSwgMTAxMDY3LCAxMDEwNzMsIDEwMTA3OSwgMTAxMDg2LCAxMDEwOTMsIDEwMTEwMCwgCisgICAgMTAxMTA3LCAxMDExMTQsIDEwMTEyMSwgMTAxMTI4LCAxMDExMzUsIDEwMTE0MiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMTAxMTQ5LCAxMDExNTMsIDEwMTE1NywgMTAxMTYxLCAxMDExNjUsIDEwMTE2OSwgMTAxMTcyLCAxMDExNzYsIAorICAgIDEwMTE3OSwgMTAxMTgzLCAxMDExODYsIDEwMTE5MCwgMTAxMTk0LCAxMDExOTksIDEwMTIwMywgMTAxMjA4LCAxMDEyMTEsIAorICAgIDEwMTIxNSwgMTAxMjE4LCAxMDEyMjIsIDEwMTIyNSwgMTAxMjI5LCAxMDEyMzMsIDEwMTIzNywgMTAxMjQxLCAxMDEyNDUsIAorICAgIDEwMTI0OSwgMTAxMjUzLCAxMDEyNTcsIDEwMTI2MSwgMTAxMjY1LCAxMDEyNjksIDEwMTI3MywgMTAxMjc3LCAxMDEyODEsIAorICAgIDEwMTI4NSwgMTAxMjg5LCAxMDEyOTMsIDEwMTI5NywgMTAxMzAwLCAxMDEzMDMsIDEwMTMwNywgMTAxMzExLCAxMDEzMTUsIAorICAgIDEwMTMxOCwgMTAxMzIxLCAxMDEzMjUsIDEwMTMyOSwgMTAxMzMzLCAxMDEzMzcsIDEwMTM0MSwgMTAxMzQ1LCAxMDEzNDgsIAorICAgIDEwMTM1MiwgMTAxMzU4LCAxMDEzNjQsIDEwMTM3MCwgMTAxMzc1LCAxMDEzODIsIDEwMTM4NiwgMTAxMzkxLCAxMDEzOTUsIAorICAgIDEwMTQwMCwgMTAxNDA1LCAxMDE0MTEsIDEwMTQxNiwgMTAxNDIyLCAxMDE0MjYsIDEwMTQzMSwgMTAxNDM1LCAxMDE0NDAsIAorICAgIDEwMTQ0MywgMTAxNDQ2LCAxMDE0NTAsIDEwMTQ1NSwgMTAxNDYxLCAxMDE0NjYsIDEwMTQ3MiwgMCwgMCwgMCwgMCwgCisgICAgMTAxNDc3LCAxMDE0ODAsIDEwMTQ4MywgMTAxNDg2LCAxMDE0ODksIDEwMTQ5MiwgMTAxNDk1LCAxMDE0OTgsIDEwMTUwMSwgCisgICAgMTAxNTA0LCAxMDE1MDgsIDEwMTUxMiwgMTAxNTE2LCAxMDE1MjAsIDEwMTUyNCwgMTAxNTI4LCAxMDE1MzIsIDEwMTUzNiwgCisgICAgMTAxNTQwLCAxMDE1NDUsIDEwMTU1MCwgMTAxNTU0LCAxMDE1NTcsIDEwMTU2MCwgMTAxNTYzLCAxMDE1NjYsIDEwMTU2OSwgCisgICAgMTAxNTcyLCAxMDE1NzUsIDEwMTU3OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMTAxNTgxLCAxMDE1ODUsIDEwMTU5MCwgMTAxNTk1LCAxMDE2MDAsIDEwMTYwNCwgMTAxNjA5LCAxMDE2MTMsIDEwMTYxOCwgCisgICAgMTAxNjIyLCAxMDE2MjcsIDEwMTYzMSwgMTAxNjM2LCAxMDE2NDAsIDEwMTY0NSwgMTAxNjQ5LCAxMDE2NTQsIDEwMTY1OSwgCisgICAgMTAxNjY0LCAxMDE2NjksIDEwMTY3NCwgMTAxNjc5LCAxMDE2ODQsIDEwMTY4OSwgMTAxNjk0LCAxMDE2OTksIDEwMTcwNCwgCisgICAgMTAxNzA5LCAxMDE3MTQsIDEwMTcxOSwgMTAxNzI0LCAxMDE3MjksIDEwMTczNCwgMTAxNzM5LCAxMDE3NDQsIDEwMTc0OSwgCisgICAgMTAxNzUzLCAxMDE3NTcsIDEwMTc2MiwgMTAxNzY3LCAxMDE3NzIsIDEwMTc3NiwgMTAxNzgwLCAxMDE3ODUsIDEwMTc5MCwgCisgICAgMTAxNzk1LCAxMDE4MDAsIDEwMTgwNSwgMTAxODEwLCAxMDE4MTQsIDEwMTgyMCwgMTAxODI1LCAxMDE4MzEsIDEwMTgzNiwgCisgICAgMTAxODQyLCAxMDE4NDcsIDEwMTg1MywgMTAxODU4LCAxMDE4NjQsIDEwMTg2OSwgMTAxODc0LCAxMDE4NzksIDEwMTg4NCwgCisgICAgMTAxODg4LCAxMDE4OTMsIDEwMTg5OSwgMTAxOTAzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAxMDE5MDgsIDEwMTkxNSwgMTAxOTIyLCAxMDE5MjksIDEwMTkzNiwgMTAxOTQzLCAxMDE5NTAsIDEwMTk1NywgMTAxOTY0LCAKKyAgICAxMDE5NzEsIDEwMTk3OCwgMTAxOTg1LCAxMDE5OTIsIDEwMTk5OSwgMTAyMDA2LCAxMDIwMTMsIDEwMjAyMCwgMTAyMDI3LCAKKyAgICAxMDIwMzQsIDEwMjA0MSwgMTAyMDQ4LCAxMDIwNTUsIDEwMjA2MiwgMTAyMDY5LCAxMDIwNzYsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDEwMjA4MywgMTAyMDkwLCAxMDIwOTYsIDEwMjEwMiwgMTAyMTA4LCAxMDIxMTQsIDEwMjEyMCwgMTAyMTI2LCAKKyAgICAxMDIxMzIsIDEwMjEzOCwgMCwgMCwgMCwgMCwgMCwgMCwgMTAyMTQ0LCAxMDIxNDksIDEwMjE1NCwgMTAyMTU5LCAxMDIxNjQsIAorICAgIDEwMjE2OCwgMTAyMTcyLCAxMDIxNzYsIDEwMjE4MSwgMTAyMTg2LCAxMDIxOTEsIDEwMjE5NiwgMTAyMjAxLCAxMDIyMDYsIAorICAgIDEwMjIxMSwgMTAyMjE2LCAxMDIyMjEsIDEwMjIyNiwgMTAyMjMxLCAxMDIyMzYsIDEwMjI0MSwgMTAyMjQ2LCAxMDIyNTEsIAorICAgIDEwMjI1NiwgMTAyMjYxLCAxMDIyNjYsIDEwMjI3MSwgMTAyMjc2LCAxMDIyODEsIDEwMjI4NiwgMTAyMjkxLCAxMDIyOTYsIAorICAgIDEwMjMwMSwgMTAyMzA2LCAxMDIzMTEsIDEwMjMxNiwgMTAyMzIxLCAxMDIzMjYsIDEwMjMzMSwgMTAyMzM2LCAxMDIzNDEsIAorICAgIDEwMjM0NiwgMTAyMzUyLCAxMDIzNTcsIDEwMjM2MywgMTAyMzY4LCAxMDIzNzQsIDEwMjM3OSwgMTAyMzg1LCAxMDIzOTEsIAorICAgIDEwMjM5NSwgMTAyNDAwLCAxMDI0MDQsIDAsIDEwMjQwOCwgMTAyNDEzLCAxMDI0MTcsIDEwMjQyMSwgMTAyNDI1LCAKKyAgICAxMDI0MjksIDEwMjQzMywgMTAyNDM3LCAxMDI0NDEsIDEwMjQ0NSwgMTAyNDQ5LCAxMDI0NTQsIDEwMjQ1OCwgMTAyNDYzLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMDI0NjgsIDEwMjQ3MiwgMTAyNDc2LCAxMDI0ODAsIAorICAgIDEwMjQ4NCwgMTAyNDg4LCAxMDI0OTIsIDEwMjQ5NywgMTAyNTAyLCAxMDI1MDcsIDEwMjUxMiwgMTAyNTE3LCAxMDI1MjIsIAorICAgIDEwMjUyNywgMTAyNTMyLCAxMDI1MzcsIDEwMjU0MiwgMTAyNTQ3LCAxMDI1NTIsIDEwMjU1NywgMTAyNTYyLCAxMDI1NjcsIAorICAgIDEwMjU3MiwgMTAyNTc3LCAxMDI1ODEsIDEwMjU4NSwgMTAyNTkwLCAxMDI1OTUsIDEwMjYwMCwgMTAyNjA0LCAxMDI2MDksIAorICAgIDEwMjYxNCwgMTAyNjE5LCAxMDI2MjQsIDEwMjYyOCwgMTAyNjMzLCAxMDI2MzgsIDEwMjY0MywgMTAyNjQ4LCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAxMDI2NTMsIDEwMjY1NywgMTAyNjYxLCAxMDI2NjUsIDEwMjY2OCwgMTAyNjcyLCAxMDI2NzUsIAorICAgIDEwMjY3OSwgMTAyNjgyLCAxMDI2ODYsIDEwMjY5MCwgMTAyNjk1LCAxMDI2OTksIDEwMjcwNCwgMTAyNzA3LCAxMDI3MTEsIAorICAgIDEwMjcxNCwgMTAyNzE4LCAxMDI3MjEsIDEwMjcyNSwgMTAyNzI5LCAxMDI3MzMsIDEwMjczNywgMTAyNzQxLCAxMDI3NDUsIAorICAgIDEwMjc0OSwgMTAyNzUzLCAxMDI3NTcsIDEwMjc2MSwgMTAyNzY1LCAxMDI3NjksIDEwMjc3MywgMTAyNzc3LCAxMDI3ODEsIAorICAgIDEwMjc4NSwgMTAyNzg5LCAxMDI3OTMsIDEwMjc5NiwgMTAyNzk5LCAxMDI4MDMsIDEwMjgwNywgMTAyODExLCAxMDI4MTQsIAorICAgIDEwMjgxNywgMTAyODIxLCAxMDI4MjUsIDEwMjgyOSwgMTAyODMzLCAxMDI4MzcsIDEwMjg0MSwgMTAyODQ1LCAxMDI4NDgsIAorICAgIDEwMjg1MywgMTAyODU3LCAxMDI4NjIsIDEwMjg2NiwgMTAyODcxLCAxMDI4NzYsIDEwMjg4MiwgMTAyODg3LCAxMDI4OTMsIAorICAgIDEwMjg5NywgMTAyOTAyLCAxMDI5MDYsIDEwMjkxMSwgMTAyOTE1LCAxMDI5MTksIDEwMjkyMywgMTAyOTI3LCAxMDI5MzAsIAorICAgIDEwMjkzMywgMTAyOTM3LCAxMDI5NDEsIDAsIDAsIDAsIDAsIDEwMjk0NCwgMCwgMCwgMTAyOTQ4LCAxMDI5NTIsIDEwMjk1NSwgCisgICAgMTAyOTU4LCAxMDI5NjEsIDEwMjk2NCwgMTAyOTY3LCAxMDI5NzAsIDEwMjk3MywgMTAyOTc2LCAxMDI5NzksIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDEwMjk4MiwgMTAyOTg3LCAxMDI5OTIsIDEwMjk5NywgMTAzMDAyLCAxMDMwMDcsIDEwMzAxMiwgMTAzMDE3LCAKKyAgICAxMDMwMjIsIDEwMzAyNywgMTAzMDMzLCAxMDMwMzksIDEwMzA0NSwgMTAzMDUxLCAxMDMwNTcsIDEwMzA2MywgMTAzMDY5LCAKKyAgICAxMDMwNzUsIDEwMzA4MSwgMTAzMDg4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMDMwOTUsIDEwMzA5OSwgCisgICAgMTAzMTA0LCAxMDMxMDgsIDEwMzExMiwgMTAzMTE2LCAxMDMxMjEsIDEwMzEyNSwgMTAzMTMwLCAxMDMxMzQsIDEwMzEzOSwgCisgICAgMTAzMTQ0LCAxMDMxNDksIDEwMzE1NCwgMTAzMTU5LCAxMDMxNjQsIDEwMzE2OSwgMTAzMTc0LCAwLCAxMDMxNzksIAorICAgIDEwMzE4NCwgMTAzMTg5LCAxMDMxOTQsIDEwMzE5OSwgMTAzMjA0LCAxMDMyMDksIDEwMzIxNCwgMTAzMjE5LCAxMDMyMjQsIAorICAgIDEwMzIyOSwgMTAzMjM0LCAxMDMyMzgsIDEwMzI0MiwgMTAzMjQ3LCAxMDMyNTIsIDEwMzI1NywgMTAzMjYyLCAxMDMyNjYsIAorICAgIDEwMzI3MCwgMTAzMjc1LCAxMDMyODAsIDEwMzI4NSwgMTAzMjkwLCAxMDMyOTQsIDEwMzI5OSwgMTAzMzA1LCAxMDMzMTAsIAorICAgIDEwMzMxNiwgMTAzMzIxLCAxMDMzMjYsIDEwMzMzMiwgMTAzMzM3LCAxMDMzNDMsIDEwMzM0OCwgMTAzMzUzLCAxMDMzNTgsIAorICAgIDEwMzM2MywgMTAzMzY3LCAxMDMzNzIsIDEwMzM3OCwgMTAzMzgzLCAxMDMzODksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEwMzM5NCwgMTAzMzk4LCAxMDM0MDMsIDEwMzQwNywgMTAzNDEyLCAKKyAgICAxMDM0MTYsIDEwMzQyMSwgMTAzNDI1LCAxMDM0MzAsIDEwMzQzNCwgMTAzNDM5LCAxMDM0NDMsIDEwMzQ0OCwgMTAzNDUzLCAKKyAgICAxMDM0NTgsIDEwMzQ2MywgMTAzNDY4LCAxMDM0NzMsIDEwMzQ3OCwgMTAzNDgzLCAxMDM0ODgsIDEwMzQ5MywgMTAzNDk4LCAKKyAgICAxMDM1MDMsIDEwMzUwOCwgMTAzNTEzLCAxMDM1MTgsIDEwMzUyMywgMTAzNTI4LCAxMDM1MzMsIDEwMzUzOCwgMTAzNTQzLCAKKyAgICAxMDM1NDgsIDEwMzU1MywgMTAzNTU3LCAxMDM1NjEsIDEwMzU2NiwgMTAzNTcxLCAxMDM1NzYsIDEwMzU4MSwgMTAzNTg1LCAKKyAgICAxMDM1ODksIDEwMzU5NCwgMTAzNTk5LCAxMDM2MDQsIDEwMzYwOSwgMTAzNjE0LCAxMDM2MTgsIDEwMzYyMywgMTAzNjI5LCAKKyAgICAxMDM2MzQsIDEwMzY0MCwgMTAzNjQ1LCAxMDM2NTEsIDEwMzY1NiwgMTAzNjYyLCAxMDM2NjcsIDEwMzY3MywgMTAzNjc4LCAKKyAgICAwLCAwLCAwLCAwLCAwLCAxMDM2ODMsIDEwMzY4OCwgMTAzNjkyLCAxMDM2OTYsIDEwMzcwMCwgMTAzNzA0LCAxMDM3MDgsIAorICAgIDEwMzcxMiwgMTAzNzE2LCAxMDM3MjAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEwMzcyNCwgMTAzNzI5LCAxMDM3MzQsIDAsIAorICAgIDEwMzczOSwgMTAzNzQzLCAxMDM3NDgsIDEwMzc1MiwgMTAzNzU3LCAxMDM3NjEsIDEwMzc2NiwgMTAzNzcxLCAwLCAwLCAKKyAgICAxMDM3NzYsIDEwMzc4MSwgMCwgMCwgMTAzNzg2LCAxMDM3OTEsIDEwMzc5NiwgMTAzODAwLCAxMDM4MDUsIDEwMzgxMCwgCisgICAgMTAzODE1LCAxMDM4MjAsIDEwMzgyNSwgMTAzODMwLCAxMDM4MzUsIDEwMzg0MCwgMTAzODQ1LCAxMDM4NTAsIDEwMzg1NSwgCisgICAgMTAzODYwLCAxMDM4NjUsIDEwMzg3MCwgMTAzODc1LCAxMDM4ODAsIDEwMzg4NSwgMTAzODkwLCAwLCAxMDM4OTQsIAorICAgIDEwMzg5OCwgMTAzOTAzLCAxMDM5MDgsIDEwMzkxMywgMTAzOTE3LCAxMDM5MjEsIDAsIDEwMzkyNiwgMTAzOTMxLCAwLCAKKyAgICAxMDM5MzYsIDEwMzk0MSwgMTAzOTQ2LCAxMDM5NTEsIDEwMzk1NiwgMCwgMCwgMTAzOTYwLCAxMDM5NjUsIDEwMzk3MCwgCisgICAgMTAzOTc2LCAxMDM5ODEsIDEwMzk4NywgMTAzOTkyLCAxMDM5OTgsIDEwNDAwNCwgMCwgMCwgMTA0MDExLCAxMDQwMTcsIDAsIAorICAgIDAsIDEwNDAyMywgMTA0MDI5LCAxMDQwMzUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEwNDA0MCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMTA0MDQ3LCAxMDQwNTIsIDEwNDA1OSwgMTA0MDY3LCAxMDQwNzMsIDEwNDA3OSwgMTA0MDg1LCAwLCAwLCAxMDQwOTIsIAorICAgIDEwNDA5OCwgMTA0MTAzLCAxMDQxMDgsIDEwNDExMywgMTA0MTE4LCAxMDQxMjMsIDAsIDAsIDAsIDEwNDEyOCwgMTA0MTMzLCAKKyAgICAxMDQxMzgsIDEwNDE0MywgMTA0MTQ5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMDQxNTQsIDEwNDE1OCwgMTA0MTYyLCAxMDQxNjcsIDEwNDE3MSwgCisgICAgMTA0MTc2LCAxMDQxODAsIDEwNDE4NSwgMTA0MTkwLCAxMDQxOTYsIDEwNDIwMSwgMTA0MjA3LCAxMDQyMTEsIDEwNDIxNiwgCisgICAgMTA0MjIwLCAxMDQyMjUsIDEwNDIyOSwgMTA0MjM0LCAxMDQyMzksIDEwNDI0NCwgMTA0MjQ5LCAxMDQyNTQsIDEwNDI1OSwgCisgICAgMTA0MjY0LCAxMDQyNjksIDEwNDI3NCwgMTA0Mjc5LCAxMDQyODQsIDEwNDI4OSwgMTA0Mjk0LCAxMDQyOTksIDEwNDMwNCwgCisgICAgMTA0MzA5LCAxMDQzMTQsIDEwNDMxOSwgMTA0MzIzLCAxMDQzMjcsIDEwNDMzMiwgMTA0MzM3LCAxMDQzNDIsIDEwNDM0NiwgCisgICAgMTA0MzUwLCAxMDQzNTUsIDEwNDM2MCwgMTA0MzY1LCAxMDQzNzAsIDEwNDM3NSwgMTA0MzgwLCAxMDQzODQsIDEwNDM5MCwgCisgICAgMTA0Mzk1LCAxMDQ0MDEsIDEwNDQwNiwgMTA0NDEyLCAxMDQ0MTgsIDEwNDQyNSwgMTA0NDMxLCAxMDQ0MzgsIDEwNDQ0MywgCisgICAgMTA0NDUwLCAxMDQ0NTYsIDEwNDQ2MSwgMTA0NDY4LCAxMDQ0NzQsIDEwNDQ3OSwgMTA0NDg0LCAxMDQ0ODksIDEwNDQ5NCwgCisgICAgMTA0NDk5LCAxMDQ1MDQsIDEwNDUwOCwgMTA0NTEzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMDQ1MTcsIDEwNDUyMiwgCisgICAgMTA0NTI2LCAxMDQ1MzAsIDEwNDUzNCwgMTA0NTM4LCAxMDQ1NDIsIDEwNDU0NiwgMTA0NTUwLCAxMDQ1NTQsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEwNDU1OCwgMTA0NTYyLCAKKyAgICAxMDQ1NjcsIDEwNDU3MSwgMTA0NTc2LCAxMDQ1ODAsIDEwNDU4NSwgMTA0NTkwLCAxMDQ1OTYsIDEwNDYwMSwgMTA0NjA3LCAKKyAgICAxMDQ2MTEsIDEwNDYxNiwgMTA0NjIwLCAxMDQ2MjUsIDEwNDYyOSwgMTA0NjM0LCAxMDQ2MzksIDEwNDY0NCwgMTA0NjQ5LCAKKyAgICAxMDQ2NTQsIDEwNDY1OSwgMTA0NjY0LCAxMDQ2NjksIDEwNDY3NCwgMTA0Njc5LCAxMDQ2ODQsIDEwNDY4OSwgMTA0Njk0LCAKKyAgICAxMDQ2OTksIDEwNDcwNCwgMTA0NzA5LCAxMDQ3MTQsIDEwNDcxOSwgMTA0NzIzLCAxMDQ3MjcsIDEwNDczMiwgMTA0NzM3LCAKKyAgICAxMDQ3NDIsIDEwNDc0NiwgMTA0NzUwLCAxMDQ3NTUsIDEwNDc2MCwgMTA0NzY1LCAxMDQ3NzAsIDEwNDc3NSwgMTA0NzgwLCAKKyAgICAxMDQ3ODQsIDEwNDc5MCwgMTA0Nzk1LCAxMDQ4MDEsIDEwNDgwNiwgMTA0ODEyLCAxMDQ4MTgsIDAsIDAsIDEwNDgyNSwgCisgICAgMTA0ODMwLCAxMDQ4MzYsIDEwNDg0MSwgMTA0ODQ3LCAxMDQ4NTIsIDEwNDg1NywgMTA0ODYyLCAxMDQ4NjcsIDEwNDg3MiwgCisgICAgMTA0ODc3LCAxMDQ4ODEsIDEwNDg4NiwgMTA0ODkyLCAxMDQ4OTcsIDEwNDkwMywgMTA0OTA5LCAxMDQ5MTUsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDEwNDkyMywgMTA0OTI3LCAxMDQ5MzIsIDEwNDkzNiwgMTA0OTQxLCAxMDQ5NDUsIDEwNDk1MCwgMTA0OTU1LCAKKyAgICAxMDQ5NjEsIDEwNDk2NiwgMTA0OTcyLCAxMDQ5NzYsIDEwNDk4MSwgMTA0OTg1LCAxMDQ5OTAsIDEwNDk5NCwgMTA0OTk5LCAKKyAgICAxMDUwMDQsIDEwNTAwOSwgMTA1MDE0LCAxMDUwMTksIDEwNTAyNCwgMTA1MDI5LCAxMDUwMzQsIDEwNTAzOSwgMTA1MDQ0LCAKKyAgICAxMDUwNDksIDEwNTA1NCwgMTA1MDU5LCAxMDUwNjQsIDEwNTA2OSwgMTA1MDc0LCAxMDUwNzksIDEwNTA4NCwgMTA1MDg4LCAKKyAgICAxMDUwOTIsIDEwNTA5NywgMTA1MTAyLCAxMDUxMDcsIDEwNTExMSwgMTA1MTE1LCAxMDUxMjAsIDEwNTEyNSwgMTA1MTMwLCAKKyAgICAxMDUxMzUsIDEwNTE0MCwgMTA1MTQ1LCAxMDUxNDksIDEwNTE1NCwgMTA1MTYwLCAxMDUxNjUsIDEwNTE3MSwgMTA1MTc2LCAKKyAgICAxMDUxODIsIDEwNTE4OCwgMTA1MTk1LCAxMDUyMDEsIDEwNTIwOCwgMTA1MjEzLCAxMDUyMTksIDEwNTIyNCwgMTA1MjMwLCAKKyAgICAxMDUyMzUsIDEwNTI0MCwgMTA1MjQ1LCAxMDUyNTAsIDEwNTI1NCwgMTA1MjU5LCAxMDUyNjQsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDEwNTI2OSwgMTA1Mjc0LCAxMDUyNzgsIDEwNTI4MiwgMTA1Mjg2LCAxMDUyOTAsIDEwNTI5NCwgCisgICAgMTA1Mjk4LCAxMDUzMDIsIDEwNTMwNiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTA1MzEwLCAKKyAgICAxMDUzMTQsIDEwNTMxOSwgMTA1MzIzLCAxMDUzMjgsIDEwNTMzMiwgMTA1MzM3LCAxMDUzNDEsIDEwNTM0NiwgMTA1MzUwLCAKKyAgICAxMDUzNTUsIDEwNTM1OSwgMTA1MzY0LCAxMDUzNjksIDEwNTM3NCwgMTA1Mzc5LCAxMDUzODQsIDEwNTM4OSwgMTA1Mzk0LCAKKyAgICAxMDUzOTksIDEwNTQwNCwgMTA1NDA5LCAxMDU0MTQsIDEwNTQxOSwgMTA1NDI0LCAxMDU0MjksIDEwNTQzNCwgMTA1NDM5LCAKKyAgICAxMDU0NDQsIDEwNTQ0OSwgMTA1NDUzLCAxMDU0NTcsIDEwNTQ2MiwgMTA1NDY3LCAxMDU0NzIsIDEwNTQ3NiwgMTA1NDgwLCAKKyAgICAxMDU0ODUsIDEwNTQ5MCwgMTA1NDk1LCAxMDU1MDAsIDEwNTUwNSwgMTA1NTA5LCAxMDU1MTQsIDEwNTUxOSwgMTA1NTI0LCAKKyAgICAxMDU1MzAsIDEwNTUzNSwgMTA1NTQxLCAxMDU1NDYsIDEwNTU1MiwgMTA1NTU3LCAxMDU1NjMsIDEwNTU2OCwgMTA1NTc0LCAKKyAgICAxMDU1NzksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEwNTU4NCwgMTA1NTg5LCAxMDU1OTMsIDEwNTU5NywgMTA1NjAxLCAKKyAgICAxMDU2MDUsIDEwNTYwOSwgMTA1NjEzLCAxMDU2MTcsIDEwNTYyMSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTA1NjI1LCAxMDU2MzEsIDEwNTYzNiwgMTA1NjQyLCAxMDU2NDgsIAorICAgIDEwNTY1MywgMTA1NjU5LCAxMDU2NjUsIDEwNTY3MSwgMTA1Njc2LCAxMDU2ODEsIDEwNTY4NywgMTA1NjkzLCAxMDU2OTksIAorICAgIDEwNTcwNSwgMTA1NzExLCAxMDU3MTcsIDEwNTcyMywgMTA1NzI5LCAxMDU3MzUsIDEwNTc0MSwgMTA1NzQ3LCAxMDU3NTMsIAorICAgIDEwNTc1OSwgMTA1NzY1LCAxMDU3NzEsIDEwNTc3NywgMTA1NzgzLCAxMDU3ODksIDEwNTc5NSwgMTA1ODAxLCAxMDU4MDcsIAorICAgIDEwNTgxMywgMTA1ODE5LCAxMDU4MjQsIDEwNTgzMCwgMTA1ODM2LCAxMDU4NDEsIDEwNTg0NywgMTA1ODUzLCAxMDU4NTksIAorICAgIDEwNTg2NCwgMTA1ODY5LCAxMDU4NzUsIDEwNTg4MSwgMTA1ODg3LCAxMDU4OTMsIDEwNTg5OSwgMTA1OTA1LCAxMDU5MTEsIAorICAgIDEwNTkxNywgMTA1OTIzLCAxMDU5MjksIDEwNTkzNSwgMTA1OTQxLCAxMDU5NDcsIDEwNTk1MywgMTA1OTU5LCAxMDU5NjUsIAorICAgIDEwNTk3MSwgMTA1OTc3LCAxMDU5ODMsIDEwNTk4OSwgMTA1OTk1LCAxMDYwMDEsIDEwNjAwNiwgMTA2MDEwLCAxMDYwMTQsIAorICAgIDEwNjAxOCwgMTA2MDIyLCAxMDYwMjYsIDEwNjAzMCwgMTA2MDM0LCAxMDYwMzgsIDEwNjA0MiwgMTA2MDQ3LCAxMDYwNTIsIAorICAgIDEwNjA1NywgMTA2MDYyLCAxMDYwNjcsIDEwNjA3MiwgMTA2MDc3LCAxMDYwODIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDEwNjA4NywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMTA2MDkxLCAxMDYwOTksIDEwNjEwNywgMTA2MTE2LCAxMDYxMjQsIDEwNjEzMywgMTA2MTQyLCAKKyAgICAxMDYxNTEsIDEwNjE2MCwgMTA2MTY4LCAxMDYxNzcsIDEwNjE4NiwgMTA2MTk1LCAxMDYyMDQsIDEwNjIxMywgMTA2MjIyLCAKKyAgICAxMDYyMzEsIDEwNjIzOSwgMTA2MjQ4LCAxMDYyNTcsIDEwNjI2NiwgMTA2Mjc1LCAxMDYyODMsIDEwNjI5MSwgMTA2Mjk5LCAKKyAgICAxMDYzMDcsIDEwNjMxNSwgMTA2MzI0LCAxMDYzMzMsIDEwNjM0MywgMTA2MzUzLCAxMDYzNjMsIDEwNjM3MywgMTA2MzgzLCAKKyAgICAxMDYzOTIsIDEwNjQwMiwgMTA2NDEyLCAxMDY0MjIsIDEwNjQzMywgMTA2NDQzLCAxMDY0NTUsIDEwNjQ2NywgMTA2NDc4LCAKKyAgICAxMDY0OTIsIDEwNjUwMywgMTA2NTEzLCAxMDY1MjUsIDEwNjUzNiwgMTA2NTQ2LCAxMDY1NTgsIDEwNjU3MCwgMTA2NTgxLCAKKyAgICAxMDY1OTIsIDEwNjYwMiwgMTA2NjEyLCAxMDY2MjQsIDEwNjYzNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTA2NjQ3LCAKKyAgICAxMDY2NTAsIDEwNjY1NSwgMTA2NjYxLCAxMDY2NjksIDEwNjY3NCwgMTA2NjgwLCAxMDY2ODgsIDEwNjY5NCwgMTA2NzAwLCAKKyAgICAxMDY3MDQsIDEwNjcwOCwgMTA2NzE1LCAxMDY3MjQsIDEwNjczMSwgMTA2NzQwLCAxMDY3NDYsIDEwNjc1NSwgMTA2NzYyLCAKKyAgICAxMDY3NjksIDEwNjc3NiwgMTA2Nzg2LCAxMDY3OTIsIDEwNjc5NiwgMTA2ODAzLCAxMDY4MTIsIDEwNjgyMiwgMTA2ODI5LCAKKyAgICAxMDY4MzYsIDEwNjg0MCwgMTA2ODQ0LCAxMDY4NTEsIDEwNjg2MSwgMTA2ODY1LCAxMDY4NzIsIDEwNjg3OSwgMTA2ODg2LCAKKyAgICAxMDY4OTIsIDEwNjg5OSwgMTA2OTA2LCAxMDY5MTMsIDEwNjkyMCwgMTA2OTI0LCAxMDY5MjgsIDEwNjkzMiwgMTA2OTM5LCAKKyAgICAxMDY5NDMsIDEwNjk1MCwgMTA2OTU3LCAxMDY5NzEsIDEwNjk4MCwgMTA2OTg0LCAxMDY5ODgsIDEwNjk5MiwgMTA2OTk5LCAKKyAgICAxMDcwMDMsIDEwNzAwNywgMTA3MDExLCAxMDcwMTksIDEwNzAyNywgMTA3MDQ2LCAxMDcwNTYsIDEwNzA3NiwgMTA3MDgwLCAKKyAgICAxMDcwODQsIDEwNzA4OCwgMTA3MDkyLCAxMDcwOTYsIDEwNzEwMCwgMTA3MTA0LCAxMDcxMTEsIDEwNzExNSwgMTA3MTE4LCAKKyAgICAxMDcxMjIsIDEwNzEyNiwgMTA3MTMyLCAxMDcxMzksIDEwNzE0OCwgMTA3MTUyLCAxMDcxNjEsIDEwNzE3MCwgMTA3MTc4LCAKKyAgICAxMDcxODIsIDEwNzE4OSwgMTA3MTkzLCAxMDcxOTcsIDEwNzIwMSwgMTA3MjA1LCAxMDcyMTYsIDEwNzIyNSwgMTA3MjM0LCAKKyAgICAxMDcyNDMsIDEwNzI1MiwgMTA3MjY0LCAxMDcyNzMsIDEwNzI4MiwgMTA3MjkxLCAxMDcyOTksIDEwNzMwOCwgMTA3MzIwLCAKKyAgICAxMDczMjksIDEwNzMzOCwgMTA3MzQ3LCAxMDczNTksIDEwNzM2OCwgMTA3Mzc3LCAxMDczODksIDEwNzM5OCwgMTA3NDA3LCAKKyAgICAxMDc0MTksIDEwNzQyOCwgMTA3NDMyLCAxMDc0MzYsIDEwNzQ0MCwgMTA3NDQ0LCAxMDc0NDgsIDEwNzQ1MiwgMTA3NDU2LCAKKyAgICAxMDc0NjMsIDEwNzQ2NywgMTA3NDcxLCAxMDc0ODIsIDEwNzQ4NiwgMTA3NDkwLCAxMDc0OTcsIDEwNzUwMywgMTA3NTA5LCAKKyAgICAxMDc1MTMsIDEwNzUyMCwgMTA3NTI0LCAxMDc1MjgsIDEwNzUzMiwgMTA3NTM2LCAxMDc1NDAsIDEwNzU0NCwgMTA3NTUwLCAKKyAgICAxMDc1NTgsIDEwNzU2MiwgMTA3NTY2LCAxMDc1NjksIDEwNzU3NSwgMTA3NTg1LCAxMDc1ODksIDEwNzYwMSwgMTA3NjA4LCAKKyAgICAxMDc2MTUsIDEwNzYyMiwgMTA3NjI5LCAxMDc2MzUsIDEwNzYzOSwgMTA3NjQzLCAxMDc2NDcsIDEwNzY1MSwgMTA3NjU4LCAKKyAgICAxMDc2NjcsIDEwNzY3NCwgMTA3NjgyLCAxMDc2OTAsIDEwNzY5NiwgMTA3NzAwLCAxMDc3MDQsIDEwNzcwOCwgMTA3NzEyLCAKKyAgICAxMDc3MTgsIDEwNzcyNywgMTA3NzM5LCAxMDc3NDYsIDEwNzc1MywgMTA3NzYyLCAxMDc3NzMsIDEwNzc3OSwgMTA3Nzg4LCAKKyAgICAxMDc3OTcsIDEwNzgwNCwgMTA3ODEzLCAxMDc4MjAsIDEwNzgyNywgMTA3ODM3LCAxMDc4NDQsIDEwNzg1MSwgMTA3ODU4LCAKKyAgICAxMDc4NjUsIDEwNzg2OSwgMTA3ODc1LCAxMDc4NzksIDEwNzg5MCwgMTA3ODk4LCAxMDc5MDcsIDEwNzkxOSwgMTA3OTI2LCAKKyAgICAxMDc5MzMsIDEwNzk0MywgMTA3OTUwLCAxMDc5NjAsIDEwNzk2NywgMTA3OTc3LCAxMDc5ODQsIDEwNzk5MSwgMTA4MDAxLCAKKyAgICAxMDgwMDgsIDEwODAxNSwgMTA4MDI1LCAxMDgwMzIsIDEwODA0NCwgMTA4MDUzLCAxMDgwNjAsIDEwODA2NywgMTA4MDc0LCAKKyAgICAxMDgwODMsIDEwODA5MywgMTA4MTA2LCAxMDgxMTMsIDEwODEyMywgMTA4MTMzLCAxMDgxNDAsIDEwODE0OSwgMTA4MTYyLCAKKyAgICAxMDgxNjksIDEwODE3NiwgMTA4MTgzLCAxMDgxOTMsIDEwODIwMywgMTA4MjEwLCAxMDgyMjAsIDEwODIyNywgMTA4MjM0LCAKKyAgICAxMDgyNDQsIDEwODI1MCwgMTA4MjU3LCAxMDgyNjQsIDEwODI3MSwgMTA4MjgxLCAxMDgyODgsIDEwODI5NSwgMTA4MzAyLCAKKyAgICAxMDgzMDgsIDEwODMxNSwgMTA4MzI1LCAxMDgzMzIsIDEwODMzNiwgMTA4MzQ0LCAxMDgzNDgsIDEwODM2MCwgMTA4MzY0LCAKKyAgICAxMDgzNzgsIDEwODM4MiwgMTA4Mzg2LCAxMDgzOTAsIDEwODM5NCwgMTA4NDAwLCAxMDg0MDcsIDEwODQxNSwgMTA4NDE5LCAKKyAgICAxMDg0MjMsIDEwODQyNywgMTA4NDMxLCAxMDg0MzgsIDEwODQ0MiwgMTA4NDQ4LCAxMDg0NTQsIDEwODQ2MiwgMTA4NDY2LCAKKyAgICAxMDg0NzMsIDEwODQ4MSwgMTA4NDg1LCAxMDg0ODksIDEwODQ5NSwgMTA4NDk5LCAxMDg1MDgsIDEwODUxNywgMTA4NTI0LCAKKyAgICAxMDg1MzQsIDEwODU0MCwgMTA4NTQ0LCAxMDg1NDgsIDEwODU1NiwgMTA4NTYzLCAxMDg1NzAsIDEwODU3NiwgMTA4NTgwLCAKKyAgICAxMDg1ODgsIDEwODU5MiwgMTA4NTk5LCAxMDg2MTEsIDEwODYxOCwgMTA4NjI4LCAxMDg2MzQsIDEwODYzOCwgMTA4NjQ3LCAKKyAgICAxMDg2NTQsIDEwODY2MywgMTA4NjY3LCAxMDg2NzEsIDEwODY3OCwgMTA4NjgyLCAxMDg2ODYsIDEwODY5MCwgMTA4Njk0LCAKKyAgICAxMDg2OTcsIDEwODcwMywgMTA4NzA5LCAxMDg3MTMsIDEwODcxNywgMTA4NzI0LCAxMDg3MzEsIDEwODczOCwgMTA4NzQ1LCAKKyAgICAxMDg3NTIsIDEwODc1OSwgMTA4NzY2LCAxMDg3NzMsIDEwODc3OSwgMTA4NzgzLCAxMDg3ODcsIDEwODc5NCwgMTA4ODAxLCAKKyAgICAxMDg4MDgsIDEwODgxNSwgMTA4ODIyLCAxMDg4MjYsIDEwODgyOSwgMTA4ODM0LCAxMDg4MzgsIDEwODg0MiwgMTA4ODUxLCAKKyAgICAxMDg4NjAsIDEwODg2NCwgMTA4ODY4LCAxMDg4NzQsIDEwODg4MCwgMTA4ODk3LCAxMDg5MDMsIDEwODkwNywgMTA4OTE2LCAKKyAgICAxMDg5MjAsIDEwODkyNCwgMTA4OTMxLCAxMDg5MzksIDEwODk0NywgMTA4OTUzLCAxMDg5NTcsIDEwODk2MSwgMTA4OTY1LCAKKyAgICAxMDg5NjksIDEwODk3MiwgMTA4OTc4LCAxMDg5ODUsIDEwODk5NSwgMTA5MDAyLCAxMDkwMDksIDEwOTAxNiwgMTA5MDIyLCAKKyAgICAxMDkwMjksIDEwOTAzNiwgMTA5MDQzLCAxMDkwNTAsIDEwOTA1NywgMTA5MDY2LCAxMDkwNzMsIDEwOTA4NSwgMTA5MDkyLCAKKyAgICAxMDkwOTksIDEwOTEwOSwgMTA5MTIwLCAxMDkxMjcsIDEwOTEzNCwgMTA5MTQxLCAxMDkxNDgsIDEwOTE1NSwgMTA5MTYyLCAKKyAgICAxMDkxNjksIDEwOTE3NiwgMTA5MTgzLCAxMDkxOTAsIDEwOTIwMCwgMTA5MjEwLCAxMDkyMjAsIDEwOTIyNywgMTA5MjM3LCAKKyAgICAxMDkyNDQsIDEwOTI1MSwgMTA5MjU4LCAxMDkyNjUsIDEwOTI3MiwgMTA5Mjc5LCAxMDkyODYsIDEwOTI5MywgMTA5MzAwLCAKKyAgICAxMDkzMDcsIDEwOTMxNCwgMTA5MzIxLCAxMDkzMjgsIDEwOTMzNCwgMTA5MzQxLCAxMDkzNDgsIDEwOTM1NywgMTA5MzY0LCAKKyAgICAxMDkzNzEsIDEwOTM3NSwgMTA5MzgzLCAxMDkzODcsIDEwOTM5MSwgMTA5Mzk1LCAxMDkzOTksIDEwOTQwMywgMTA5NDEwLCAKKyAgICAxMDk0MTQsIDEwOTQyMywgMTA5NDI3LCAxMDk0MzQsIDEwOTQ0MiwgMTA5NDQ2LCAxMDk0NTAsIDEwOTQ1NCwgMTA5NDY3LCAKKyAgICAxMDk0ODMsIDEwOTQ4NywgMTA5NDkxLCAxMDk0OTgsIDEwOTUwNCwgMTA5NTExLCAxMDk1MTUsIDEwOTUxOSwgMTA5NTIzLCAKKyAgICAxMDk1MjcsIDEwOTUzMSwgMTA5NTM4LCAxMDk1NDIsIDEwOTU2MCwgMTA5NTY0LCAxMDk1NjgsIDEwOTU3NSwgMTA5NTc5LCAKKyAgICAxMDk1ODMsIDEwOTU4OSwgMTA5NTkzLCAxMDk1OTcsIDEwOTYwNSwgMTA5NjA5LCAxMDk2MTMsIDEwOTYxNywgMTA5NjIxLCAKKyAgICAxMDk2MjcsIDEwOTYzOCwgMTA5NjQ3LCAxMDk2NTYsIDEwOTY2MywgMTA5NjcwLCAxMDk2ODEsIDEwOTY4OCwgMTA5Njk1LCAKKyAgICAxMDk3MDIsIDEwOTcwOSwgMTA5NzE2LCAxMDk3MjMsIDEwOTczMCwgMTA5NzQwLCAxMDk3NDYsIDEwOTc1MywgMTA5NzYzLCAKKyAgICAxMDk3NzIsIDEwOTc3OSwgMTA5Nzg4LCAxMDk3OTgsIDEwOTgwNSwgMTA5ODEyLCAxMDk4MTksIDEwOTgyNiwgMTA5ODM4LCAKKyAgICAxMDk4NDUsIDEwOTg1MiwgMTA5ODU5LCAxMDk4NjYsIDEwOTg3MywgMTA5ODgzLCAxMDk4OTAsIDEwOTg5NywgMTA5OTA3LCAKKyAgICAxMDk5MjAsIDEwOTkzMiwgMTA5OTM5LCAxMDk5NDksIDEwOTk1NiwgMTA5OTYzLCAxMDk5NzAsIDEwOTk4NCwgMTA5OTkwLCAKKyAgICAxMDk5OTgsIDExMDAwOCwgMTEwMDE4LCAxMTAwMjUsIDExMDAzMiwgMTEwMDM4LCAxMTAwNDIsIDExMDA0OSwgMTEwMDU5LCAKKyAgICAxMTAwNjUsIDExMDA3OCwgMTEwMDgyLCAxMTAwODYsIDExMDA5MywgMTEwMDk3LCAxMTAxMDQsIDExMDExNCwgMTEwMTE4LCAKKyAgICAxMTAxMjIsIDExMDEyNiwgMTEwMTMwLCAxMTAxMzQsIDExMDE0MSwgMTEwMTQ1LCAxMTAxNTIsIDExMDE1OSwgMTEwMTY2LCAKKyAgICAxMTAxNzUsIDExMDE4NCwgMTEwMTk0LCAxMTAyMDEsIDExMDIwOCwgMTEwMjE1LCAxMTAyMjUsIDExMDIzMiwgMTEwMjQyLCAKKyAgICAxMTAyNDksIDExMDI1OSwgMTEwMjY2LCAxMTAyNzMsIDExMDI4MywgMTEwMjkzLCAxMTAzMDAsIDExMDMwNiwgMTEwMzE0LCAKKyAgICAxMTAzMjIsIDExMDMyOCwgMTEwMzM0LCAxMTAzMzgsIDExMDM0MiwgMTEwMzQ5LCAxMTAzNTcsIDExMDM2MywgMTEwMzY3LCAKKyAgICAxMTAzNzEsIDExMDM3NSwgMTEwMzgyLCAxMTAzOTQsIDExMDM5NywgMTEwNDA0LCAxMTA0MTAsIDExMDQxNCwgMTEwNDE4LCAKKyAgICAxMTA0MjIsIDExMDQyNiwgMTEwNDMwLCAxMTA0MzQsIDExMDQzOCwgMTEwNDQyLCAxMTA0NDYsIDExMDQ1MCwgMTEwNDU3LCAKKyAgICAxMTA0NjEsIDExMDQ2NywgMTEwNDcxLCAxMTA0NzUsIDExMDQ3OSwgMTEwNDg1LCAxMTA0OTIsIDExMDQ5OSwgMTEwNTA2LCAKKyAgICAxMTA1MTcsIDExMDUyNSwgMTEwNTI5LCAxMTA1MzUsIDExMDU0NCwgMTEwNTUxLCAxMTA1NTcsIDExMDU2MCwgMTEwNTY0LCAKKyAgICAxMTA1NjgsIDExMDU3NCwgMTEwNTgzLCAxMTA1OTEsIDExMDU5NSwgMTEwNjAxLCAxMTA2MDUsIDExMDYwOSwgMTEwNjEzLCAKKyAgICAxMTA2MTksIDExMDYyNiwgMTEwNjMyLCAxMTA2MzYsIDExMDY0MiwgMTEwNjQ2LCAxMTA2NTAsIDExMDY1OSwgMTEwNjcxLCAKKyAgICAxMTA2NzUsIDExMDY4MiwgMTEwNjg5LCAxMTA2OTksIDExMDcwNiwgMTEwNzE4LCAxMTA3MjUsIDExMDczMiwgMTEwNzM5LCAKKyAgICAxMTA3NTAsIDExMDc2MCwgMTEwNzczLCAxMTA3ODMsIDExMDc5MCwgMTEwNzk0LCAxMTA3OTgsIDExMDgwMiwgMTEwODA2LCAKKyAgICAxMTA4MTUsIDExMDgyNCwgMTEwODMzLCAxMTA4NTAsIDExMDg1OSwgMTEwODY1LCAxMTA4NzIsIDExMDg4MCwgMTEwODkzLCAKKyAgICAxMTA4OTcsIDExMDkwNiwgMTEwOTE1LCAxMTA5MjQsIDExMDkzMywgMTEwOTQ0LCAxMTA5NTMsIDExMDk2MiwgMTEwOTcxLCAKKyAgICAxMTA5ODAsIDExMDk4OSwgMTEwOTk4LCAxMTEwMDgsIDExMTAxMSwgMTExMDE1LCAxMTEwMTksIDExMTAyMywgMTExMDI3LCAKKyAgICAxMTEwMzEsIDExMTAzNywgMTExMDQ0LCAxMTEwNTEsIDExMTA1OCwgMTExMDY0LCAxMTEwNzAsIDExMTA3NywgMTExMDgzLCAKKyAgICAxMTEwOTAsIDExMTA5OCwgMTExMTAyLCAxMTExMDksIDExMTExNiwgMTExMTIzLCAxMTExMzEsIDExMTEzNSwgMTExMTM5LCAKKyAgICAxMTExNDMsIDExMTE0NywgMTExMTUxLCAxMTExNTcsIDExMTE2MSwgMTExMTY3LCAxMTExNzQsIDExMTE4MSwgMTExMTg3LCAKKyAgICAxMTExOTQsIDExMTIwMSwgMTExMjA4LCAxMTEyMTUsIDExMTIyMiwgMTExMjI5LCAxMTEyMzYsIDExMTI0MywgMTExMjUwLCAKKyAgICAxMTEyNTcsIDExMTI2NCwgMTExMjcxLCAxMTEyNzgsIDExMTI4NSwgMTExMjkxLCAxMTEyOTUsIDExMTMwNCwgMTExMzA4LCAKKyAgICAxMTEzMTIsIDExMTMxNiwgMTExMzIwLCAxMTEzMjYsIDExMTMzMywgMTExMzQwLCAxMTEzNDcsIDExMTM1NCwgMTExMzYxLCAKKyAgICAxMTEzNjcsIDExMTM3NSwgMTExMzc5LCAxMTEzODMsIDExMTM4NywgMTExMzkxLCAxMTEzOTcsIDExMTQxNCwgMTExNDMxLCAKKyAgICAxMTE0MzUsIDExMTQzOSwgMTExNDQzLCAxMTE0NDcsIDExMTQ1MSwgMTExNDU1LCAxMTE0NjEsIDExMTQ2OCwgMTExNDcyLCAKKyAgICAxMTE0NzgsIDExMTQ4NSwgMTExNDkyLCAxMTE0OTksIDExMTUwNiwgMTExNTEzLCAxMTE1MjIsIDExMTUyOSwgMTExNTM2LCAKKyAgICAxMTE1NDMsIDExMTU1MCwgMTExNTU0LCAxMTE1NTgsIDExMTU2NCwgMTExNTc2LCAxMTE1ODAsIDExMTU4NCwgMTExNTkzLCAKKyAgICAxMTE1OTcsIDExMTYwMSwgMTExNjA1LCAxMTE2MTEsIDExMTYxNSwgMTExNjE5LCAxMTE2MjgsIDExMTYzMiwgMTExNjM2LCAKKyAgICAxMTE2NDAsIDExMTY0NywgMTExNjUxLCAxMTE2NTUsIDExMTY1OSwgMTExNjYzLCAxMTE2NjcsIDExMTY3MSwgMTExNjc1LCAKKyAgICAxMTE2NzksIDExMTY4NSwgMTExNjkyLCAxMTE2OTksIDExMTcwNSwgMTExNzA5LCAxMTE3MjYsIDExMTczMiwgMTExNzM2LCAKKyAgICAxMTE3NDIsIDExMTc0OCwgMTExNzU0LCAxMTE3NjAsIDExMTc2NiwgMTExNzcyLCAxMTE3NzYsIDExMTc4MCwgMTExNzg0LCAKKyAgICAxMTE3OTAsIDExMTc5NCwgMTExODAwLCAxMTE4MDQsIDExMTgwOCwgMTExODE1LCAxMTE4MjIsIDExMTgzOSwgMTExODQzLCAKKyAgICAxMTE4NDcsIDExMTg1MSwgMTExODU1LCAxMTE4NTksIDExMTg3MSwgMTExODc0LCAxMTE4NzksIDExMTg4NCwgMTExODk5LCAKKyAgICAxMTE5MDksIDExMTkyMSwgMTExOTI1LCAxMTE5MjksIDExMTkzMywgMTExOTM5LCAxMTE5NDYsIDExMTk1MywgMTExOTYzLCAKKyAgICAxMTE5NzUsIDExMTk4MSwgMTExOTg3LCAxMTE5OTYsIDExMjAwMCwgMTEyMDA0LCAxMTIwMTEsIDExMjAyMSwgMTEyMDI4LCAKKyAgICAxMTIwMzQsIDExMjAzOCwgMTEyMDQyLCAxMTIwNDksIDExMjA1NSwgMTEyMDU5LCAxMTIwNjUsIDExMjA2OSwgMTEyMDc3LCAKKyAgICAxMTIwODMsIDExMjA4NywgMTEyMDk1LCAxMTIxMDMsIDExMjExMCwgMTEyMTE2LCAxMTIxMjMsIDExMjEzMCwgMTEyMTQwLCAKKyAgICAxMTIxNTAsIDExMjE1NCwgMTEyMTU4LCAxMTIxNjIsIDExMjE2NiwgMTEyMTcyLCAxMTIxNzksIDExMjE4NSwgMTEyMTkyLCAKKyAgICAxMTIxOTksIDExMjIwNiwgMTEyMjE1LCAxMTIyMjIsIDExMjIyOSwgMTEyMjM1LCAxMTIyNDIsIDExMjI0OSwgMTEyMjU2LCAKKyAgICAxMTIyNjMsIDExMjI3MCwgMTEyMjc3LCAxMTIyODMsIDExMjI5MCwgMTEyMjk3LCAxMTIzMDQsIDExMjMxMywgMTEyMzIwLCAKKyAgICAxMTIzMjcsIDExMjMzMSwgMTEyMzM3LCAxMTIzNDEsIDExMjM0NywgMTEyMzU0LCAxMTIzNjEsIDExMjM2OCwgMTEyMzcyLCAKKyAgICAxMTIzNzYsIDExMjM4MCwgMTEyMzg0LCAxMTIzODgsIDExMjM5NSwgMTEyMzk5LCAxMTI0MDMsIDExMjQwOSwgMTEyNDE3LCAKKyAgICAxMTI0MjEsIDExMjQyNSwgMTEyNDI5LCAxMTI0MzMsIDExMjQ0MCwgMTEyNDQ0LCAxMTI0NDgsIDExMjQ1NiwgMTEyNDYwLCAKKyAgICAxMTI0NjQsIDExMjQ2OCwgMTEyNDcyLCAxMTI0NzgsIDExMjQ4MiwgMTEyNDg2LCAxMTI0OTIsIDExMjQ5OSwgMTEyNTA1LCAKKyAgICAxMTI1MTIsIDExMjUyNCwgMTEyNTI4LCAxMTI1MzUsIDExMjU0MiwgMTEyNTQ5LCAxMTI1NTYsIDExMjU2OCwgMTEyNTc1LCAKKyAgICAxMTI1NzksIDExMjU4MywgMTEyNTg3LCAxMTI1OTQsIDExMjYwMSwgMTEyNjA4LCAxMTI2MTUsIDExMjYyNSwgMTEyNjMyLCAKKyAgICAxMTI2MzgsIDExMjY0NSwgMTEyNjUyLCAxMTI2NTksIDExMjY2NiwgMTEyNjc1LCAxMTI2ODUsIDExMjY5MiwgMTEyNjk2LCAKKyAgICAxMTI3MDMsIDExMjcwNywgMTEyNzExLCAxMTI3MTUsIDExMjcyMiwgMTEyNzI5LCAxMTI3MzksIDExMjc0NSwgMTEyNzQ5LCAKKyAgICAxMTI3NTgsIDExMjc2MiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTEyNzY5LCAxMTI3NzUsIDExMjc4MSwgMTEyNzg4LCAKKyAgICAxMTI3OTUsIDExMjgwMiwgMTEyODA5LCAxMTI4MTYsIDExMjgyMywgMTEyODI5LCAxMTI4MzYsIDExMjg0MywgMTEyODUwLCAKKyAgICAxMTI4NTcsIDExMjg2NCwgMTEyODcxLCAxMTI4NzcsIDExMjg4MywgMTEyODg5LCAxMTI4OTUsIDExMjkwMSwgMTEyOTA3LCAKKyAgICAxMTI5MTMsIDExMjkxOSwgMTEyOTI1LCAxMTI5MzIsIDExMjkzOSwgMTEyOTQ2LCAxMTI5NTMsIDExMjk2MCwgMTEyOTY3LCAKKyAgICAxMTI5NzMsIDExMjk3OSwgMTEyOTg1LCAxMTI5OTIsIDExMjk5OSwgMTEzMDA1LCAxMTMwMTEsIDExMzAyMCwgMTEzMDI3LCAKKyAgICAxMTMwMzQsIDExMzA0MSwgMTEzMDQ4LCAxMTMwNTUsIDExMzA2MiwgMTEzMDY4LCAxMTMwNzQsIDExMzA4MCwgMTEzMDg5LCAKKyAgICAxMTMwOTYsIDExMzEwMywgMTEzMTE0LCAxMTMxMjUsIDExMzEzMSwgMTEzMTM3LCAxMTMxNDMsIDExMzE1MiwgMTEzMTU5LCAKKyAgICAxMTMxNjYsIDExMzE3NiwgMTEzMTg2LCAxMTMxOTcsIDExMzIwOCwgMTEzMjIwLCAxMTMyMzMsIDExMzI0NCwgMTEzMjU1LCAKKyAgICAxMTMyNjcsIDExMzI4MCwgMTEzMjkxLCAxMTMzMDIsIDExMzMxMywgMTEzMzI0LCAxMTMzMzUsIDExMzM0NywgMTEzMzU1LCAKKyAgICAxMTMzNjMsIDExMzM3MiwgMTEzMzgxLCAxMTMzOTAsIDExMzM5NiwgMTEzNDAyLCAxMTM0MDgsIDExMzQxNSwgMTEzNDI1LCAKKyAgICAxMTM0MzIsIDExMzQ0MiwgMTEzNDQ3LCAxMTM0NTIsIDExMzQ1OCwgMTEzNDY0LCAxMTM0NzIsIDExMzQ4MCwgMTEzNDg5LCAKKyAgICAxMTM1MDAsIDExMzUxMSwgMTEzNTE5LCAxMTM1MjcsIDExMzUzNiwgMTEzNTQ1LCAxMTM1NTMsIDExMzU2MCwgMTEzNTY4LCAKKyAgICAxMTM1NzYsIDExMzU4MywgMTEzNTkwLCAxMTM1OTksIDExMzYwOCwgMTEzNjE3LCAxMTM2MjYsIDExMzYzNSwgMCwgCisgICAgMTEzNjQ0LCAxMTM2NTUsIDExMzY2MiwgMTEzNjcwLCAxMTM2NzgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDExMzY4NiwgMTEzNjkwLCAxMTM2OTQsIDExMzY5OCwgMTEzNzAyLCAxMTM3MDYsIAorICAgIDExMzcxMCwgMTEzNzE0LCAxMTM3MTgsIDExMzcyMiwgMTEzNzI2LCAxMTM3MzAsIDExMzczNCwgMTEzNzM4LCAxMTM3NDIsIAorICAgIDExMzc0NiwgMTEzNzUwLCAxMTM3NTQsIDExMzc1OCwgMTEzNzYyLCAxMTM3NjYsIDExMzc3MCwgMTEzNzc0LCAxMTM3NzgsIAorICAgIDExMzc4MiwgMTEzNzg2LCAxMTM3OTAsIDExMzc5NCwgMTEzNzk4LCAxMTM4MDIsIDExMzgwNiwgMTEzODEwLCAxMTM4MTQsIAorICAgIDExMzgxOCwgMTEzODIyLCAxMTM4MjYsIDExMzgzMCwgMTEzODM0LCAxMTM4MzgsIDExMzg0MiwgMTEzODQ2LCAxMTM4NTAsIAorICAgIDExMzg1NCwgMTEzODU4LCAxMTM4NjIsIDExMzg2NiwgMTEzODcwLCAxMTM4NzQsIDExMzg3OCwgMTEzODgyLCAxMTM4ODYsIAorICAgIDExMzg5MCwgMTEzODk0LCAxMTM4OTgsIDExMzkwMiwgMTEzOTA2LCAxMTM5MTAsIDExMzkxNCwgMTEzOTE4LCAxMTM5MjIsIAorICAgIDExMzkyNiwgMTEzOTMwLCAxMTM5MzQsIDExMzkzOCwgMTEzOTQyLCAxMTM5NDYsIDExMzk1MCwgMTEzOTU0LCAxMTM5NTgsIAorICAgIDExMzk2MiwgMTEzOTY2LCAxMTM5NzAsIDExMzk3NCwgMTEzOTc4LCAxMTM5ODIsIDExMzk4NiwgMTEzOTkwLCAxMTM5OTQsIAorICAgIDExMzk5OCwgMTE0MDAyLCAxMTQwMDYsIDExNDAxMCwgMTE0MDE0LCAxMTQwMTgsIDExNDAyMiwgMTE0MDI2LCAxMTQwMzAsIAorICAgIDExNDAzNCwgMTE0MDM4LCAxMTQwNDIsIDExNDA0NiwgMTE0MDUwLCAxMTQwNTQsIDExNDA1OCwgMTE0MDYyLCAxMTQwNjYsIAorICAgIDExNDA3MCwgMTE0MDc0LCAxMTQwNzgsIDExNDA4MiwgMTE0MDg2LCAxMTQwOTAsIDExNDA5NCwgMTE0MDk4LCAxMTQxMDIsIAorICAgIDExNDEwNiwgMTE0MTEwLCAxMTQxMTQsIDExNDExOCwgMTE0MTIyLCAxMTQxMjYsIDExNDEzMCwgMTE0MTM0LCAxMTQxMzgsIAorICAgIDExNDE0MiwgMTE0MTQ2LCAxMTQxNTAsIDExNDE1NCwgMTE0MTU4LCAxMTQxNjIsIDExNDE2NiwgMTE0MTcwLCAxMTQxNzQsIAorICAgIDExNDE3OCwgMTE0MTgyLCAxMTQxODYsIDExNDE5MCwgMTE0MTk0LCAxMTQxOTgsIDExNDIwMiwgMTE0MjA2LCAxMTQyMTAsIAorICAgIDExNDIxNCwgMTE0MjE4LCAxMTQyMjIsIDExNDIyNiwgMTE0MjMwLCAxMTQyMzQsIDExNDIzOCwgMTE0MjQyLCAxMTQyNDYsIAorICAgIDExNDI1MCwgMTE0MjU0LCAxMTQyNTgsIDExNDI2MiwgMTE0MjY2LCAxMTQyNzAsIDExNDI3NCwgMTE0Mjc4LCAxMTQyODIsIAorICAgIDExNDI4NiwgMTE0MjkwLCAxMTQyOTQsIDExNDI5OCwgMTE0MzAyLCAxMTQzMDYsIDExNDMxMCwgMTE0MzE0LCAxMTQzMTgsIAorICAgIDExNDMyMiwgMTE0MzI2LCAxMTQzMzAsIDExNDMzNCwgMTE0MzM4LCAxMTQzNDIsIDExNDM0NiwgMTE0MzUwLCAxMTQzNTQsIAorICAgIDExNDM1OCwgMTE0MzYyLCAxMTQzNjYsIDExNDM3MCwgMTE0Mzc0LCAxMTQzNzgsIDExNDM4MiwgMTE0Mzg2LCAxMTQzOTAsIAorICAgIDExNDM5NCwgMTE0Mzk4LCAxMTQ0MDIsIDExNDQwNiwgMTE0NDEwLCAxMTQ0MTQsIDExNDQxOCwgMTE0NDIyLCAxMTQ0MjYsIAorICAgIDExNDQzMCwgMTE0NDM0LCAxMTQ0MzgsIDExNDQ0MiwgMTE0NDQ2LCAxMTQ0NTAsIDExNDQ1NCwgMTE0NDU4LCAxMTQ0NjIsIAorICAgIDExNDQ2NiwgMTE0NDcwLCAxMTQ0NzQsIDExNDQ3OCwgMTE0NDgyLCAxMTQ0ODYsIDExNDQ5MCwgMTE0NDk0LCAxMTQ0OTgsIAorICAgIDExNDUwMiwgMTE0NTA2LCAxMTQ1MTAsIDExNDUxNCwgMTE0NTE4LCAxMTQ1MjIsIDExNDUyNiwgMTE0NTMwLCAxMTQ1MzQsIAorICAgIDExNDUzOCwgMTE0NTQyLCAxMTQ1NDYsIDExNDU1MCwgMTE0NTU0LCAxMTQ1NTgsIDExNDU2MiwgMTE0NTY2LCAxMTQ1NzAsIAorICAgIDExNDU3NCwgMTE0NTc4LCAxMTQ1ODIsIDExNDU4NiwgMTE0NTkwLCAxMTQ1OTQsIDExNDU5OCwgMTE0NjAyLCAxMTQ2MDYsIAorICAgIDExNDYxMCwgMTE0NjE0LCAxMTQ2MTgsIDExNDYyMiwgMTE0NjI2LCAxMTQ2MzAsIDExNDYzNCwgMTE0NjM4LCAxMTQ2NDIsIAorICAgIDExNDY0NiwgMTE0NjUwLCAxMTQ2NTQsIDExNDY1OCwgMTE0NjYyLCAxMTQ2NjYsIDExNDY3MCwgMTE0Njc0LCAxMTQ2NzgsIAorICAgIDExNDY4MiwgMTE0Njg2LCAxMTQ2OTAsIDExNDY5NCwgMTE0Njk4LCAxMTQ3MDIsIDExNDcwNiwgMTE0NzEwLCAxMTQ3MTQsIAorICAgIDExNDcxOCwgMTE0NzIyLCAxMTQ3MjYsIDExNDczMCwgMTE0NzM0LCAxMTQ3MzgsIDExNDc0MiwgMTE0NzQ2LCAxMTQ3NTAsIAorICAgIDExNDc1NCwgMTE0NzU4LCAxMTQ3NjIsIDExNDc2NiwgMTE0NzcwLCAxMTQ3NzQsIDExNDc3OCwgMTE0NzgyLCAxMTQ3ODYsIAorICAgIDExNDc5MCwgMTE0Nzk0LCAxMTQ3OTgsIDExNDgwMiwgMTE0ODA2LCAxMTQ4MTAsIDExNDgxNCwgMTE0ODE4LCAxMTQ4MjIsIAorICAgIDExNDgyNiwgMTE0ODMwLCAxMTQ4MzQsIDExNDgzOCwgMTE0ODQyLCAxMTQ4NDYsIDExNDg1MCwgMTE0ODU0LCAxMTQ4NTgsIAorICAgIDExNDg2MiwgMTE0ODY2LCAxMTQ4NzAsIDExNDg3NCwgMTE0ODc4LCAxMTQ4ODIsIDExNDg4NiwgMTE0ODkwLCAxMTQ4OTQsIAorICAgIDExNDg5OCwgMTE0OTAyLCAxMTQ5MDYsIDExNDkxMCwgMTE0OTE0LCAxMTQ5MTgsIDExNDkyMiwgMTE0OTI2LCAxMTQ5MzAsIAorICAgIDExNDkzNCwgMTE0OTM4LCAxMTQ5NDIsIDExNDk0NiwgMTE0OTUwLCAxMTQ5NTQsIDExNDk1OCwgMTE0OTYyLCAxMTQ5NjYsIAorICAgIDExNDk3MCwgMTE0OTc0LCAxMTQ5NzgsIDExNDk4MiwgMTE0OTg2LCAxMTQ5OTAsIDExNDk5NCwgMTE0OTk4LCAxMTUwMDIsIAorICAgIDExNTAwNiwgMTE1MDEwLCAxMTUwMTQsIDExNTAxOCwgMTE1MDIyLCAxMTUwMjYsIDExNTAzMCwgMTE1MDM0LCAxMTUwMzgsIAorICAgIDExNTA0MiwgMTE1MDQ2LCAxMTUwNTAsIDExNTA1NCwgMTE1MDU4LCAxMTUwNjIsIDExNTA2NiwgMTE1MDcwLCAxMTUwNzQsIAorICAgIDExNTA3OCwgMTE1MDgyLCAxMTUwODYsIDExNTA5MCwgMTE1MDk0LCAxMTUwOTgsIDExNTEwMiwgMTE1MTA2LCAxMTUxMTAsIAorICAgIDExNTExNCwgMTE1MTE4LCAxMTUxMjIsIDExNTEyNiwgMTE1MTMwLCAxMTUxMzQsIDExNTEzOCwgMTE1MTQyLCAxMTUxNDYsIAorICAgIDExNTE1MCwgMTE1MTU0LCAxMTUxNTgsIDExNTE2MiwgMTE1MTY2LCAxMTUxNzAsIDExNTE3NCwgMTE1MTc4LCAxMTUxODIsIAorICAgIDExNTE4NiwgMTE1MTkwLCAxMTUxOTQsIDExNTE5OCwgMTE1MjAyLCAxMTUyMDYsIDExNTIxMCwgMTE1MjE0LCAxMTUyMTgsIAorICAgIDExNTIyMiwgMTE1MjI2LCAxMTUyMzAsIDExNTIzNCwgMTE1MjM4LCAxMTUyNDIsIDExNTI0NiwgMTE1MjUwLCAxMTUyNTQsIAorICAgIDExNTI1OCwgMTE1MjYyLCAxMTUyNjYsIDExNTI3MCwgMTE1Mjc0LCAxMTUyNzgsIDExNTI4MiwgMTE1Mjg2LCAxMTUyOTAsIAorICAgIDExNTI5NCwgMTE1Mjk4LCAxMTUzMDIsIDExNTMwNiwgMTE1MzEwLCAxMTUzMTQsIDExNTMxOCwgMTE1MzIyLCAxMTUzMjYsIAorICAgIDExNTMzMCwgMTE1MzM0LCAxMTUzMzgsIDExNTM0MiwgMTE1MzQ2LCAxMTUzNTAsIDExNTM1NCwgMTE1MzU4LCAxMTUzNjIsIAorICAgIDExNTM2NiwgMTE1MzcwLCAxMTUzNzQsIDExNTM3OCwgMTE1MzgyLCAxMTUzODYsIDExNTM5MCwgMTE1Mzk0LCAxMTUzOTgsIAorICAgIDExNTQwMiwgMTE1NDA2LCAxMTU0MTAsIDExNTQxNCwgMTE1NDE4LCAxMTU0MjIsIDExNTQyNiwgMTE1NDMwLCAxMTU0MzQsIAorICAgIDExNTQzOCwgMTE1NDQyLCAxMTU0NDYsIDExNTQ1MCwgMTE1NDU0LCAxMTU0NTgsIDExNTQ2MiwgMTE1NDY2LCAxMTU0NzAsIAorICAgIDExNTQ3NCwgMTE1NDc4LCAxMTU0ODIsIDExNTQ4NiwgMTE1NDkwLCAxMTU0OTQsIDExNTQ5OCwgMTE1NTAyLCAxMTU1MDYsIAorICAgIDExNTUxMCwgMTE1NTE0LCAxMTU1MTgsIDExNTUyMiwgMTE1NTI2LCAxMTU1MzAsIDExNTUzNCwgMTE1NTM4LCAxMTU1NDIsIAorICAgIDExNTU0NiwgMTE1NTUwLCAxMTU1NTQsIDExNTU1OCwgMTE1NTYyLCAxMTU1NjYsIDExNTU3MCwgMTE1NTc0LCAxMTU1NzgsIAorICAgIDExNTU4MiwgMTE1NTg2LCAxMTU1OTAsIDExNTU5NCwgMTE1NTk4LCAxMTU2MDIsIDExNTYwNiwgMTE1NjEwLCAxMTU2MTQsIAorICAgIDExNTYxOCwgMTE1NjIyLCAxMTU2MjYsIDExNTYzMCwgMTE1NjM0LCAxMTU2MzgsIDExNTY0MiwgMTE1NjQ2LCAxMTU2NTAsIAorICAgIDExNTY1NCwgMTE1NjU4LCAxMTU2NjIsIDExNTY2NiwgMTE1NjcwLCAxMTU2NzQsIDExNTY3OCwgMTE1NjgyLCAxMTU2ODYsIAorICAgIDExNTY5MCwgMTE1Njk0LCAxMTU2OTgsIDExNTcwMiwgMTE1NzA2LCAxMTU3MTAsIDExNTcxNCwgMTE1NzE4LCAxMTU3MjIsIAorICAgIDExNTcyNiwgMTE1NzMwLCAxMTU3MzQsIDExNTczOCwgMTE1NzQyLCAxMTU3NDYsIDExNTc1MCwgMTE1NzU0LCAxMTU3NTgsIAorICAgIDExNTc2MiwgMTE1NzY2LCAxMTU3NzAsIDExNTc3NCwgMTE1Nzc4LCAxMTU3ODIsIDExNTc4NiwgMTE1NzkwLCAxMTU3OTQsIAorICAgIDExNTc5OCwgMTE1ODAyLCAxMTU4MDYsIDExNTgxMCwgMTE1ODE0LCAxMTU4MTgsIDExNTgyMiwgMTE1ODI2LCAxMTU4MzAsIAorICAgIDExNTgzNCwgMTE1ODM4LCAxMTU4NDIsIDExNTg0NiwgMTE1ODUwLCAxMTU4NTQsIDExNTg1OCwgMTE1ODYyLCAxMTU4NjYsIAorICAgIDExNTg3MCwgMTE1ODc0LCAxMTU4NzgsIDExNTg4MiwgMTE1ODg2LCAxMTU4OTAsIDExNTg5NCwgMTE1ODk4LCAxMTU5MDIsIAorICAgIDExNTkwNiwgMTE1OTEwLCAxMTU5MTQsIDExNTkxOCwgMTE1OTIyLCAxMTU5MjYsIDExNTkzMCwgMTE1OTM0LCAxMTU5MzgsIAorICAgIDExNTk0MiwgMTE1OTQ2LCAxMTU5NTAsIDExNTk1NCwgMTE1OTU4LCAxMTU5NjIsIDExNTk2NiwgMTE1OTcwLCAxMTU5NzQsIAorICAgIDExNTk3OCwgMTE1OTgyLCAxMTU5ODYsIDExNTk5MCwgMTE1OTk0LCAxMTU5OTgsIDExNjAwMiwgMTE2MDA2LCAxMTYwMTAsIAorICAgIDExNjAxNCwgMTE2MDE4LCAxMTYwMjIsIDExNjAyNiwgMTE2MDMwLCAxMTYwMzQsIDExNjAzOCwgMTE2MDQyLCAxMTYwNDYsIAorICAgIDExNjA1MCwgMTE2MDU0LCAxMTYwNTgsIDExNjA2MiwgMTE2MDY2LCAxMTYwNzAsIDExNjA3NCwgMTE2MDc4LCAxMTYwODIsIAorICAgIDExNjA4NiwgMTE2MDkwLCAxMTYwOTQsIDExNjA5OCwgMTE2MTAyLCAxMTYxMDYsIDExNjExMCwgMTE2MTE0LCAxMTYxMTgsIAorICAgIDExNjEyMiwgMTE2MTI2LCAxMTYxMzAsIDExNjEzNCwgMTE2MTM4LCAxMTYxNDIsIDExNjE0NiwgMTE2MTUwLCAxMTYxNTQsIAorICAgIDExNjE1OCwgMTE2MTYyLCAxMTYxNjYsIDExNjE3MCwgMTE2MTc0LCAxMTYxNzgsIDExNjE4MiwgMTE2MTg2LCAxMTYxOTAsIAorICAgIDExNjE5NCwgMTE2MTk4LCAxMTYyMDIsIDExNjIwNiwgMTE2MjEwLCAxMTYyMTQsIDExNjIxOCwgMTE2MjIyLCAxMTYyMjYsIAorICAgIDExNjIzMCwgMTE2MjM0LCAxMTYyMzgsIDExNjI0MiwgMTE2MjQ2LCAxMTYyNTAsIDExNjI1NCwgMTE2MjU4LCAxMTYyNjIsIAorICAgIDExNjI2NiwgMTE2MjcwLCAxMTYyNzQsIDExNjI3OCwgMTE2MjgyLCAxMTYyODYsIDExNjI5MCwgMTE2Mjk0LCAxMTYyOTgsIAorICAgIDExNjMwMiwgMTE2MzA2LCAxMTYzMTAsIDExNjMxNCwgMTE2MzE4LCAxMTYzMjIsIDExNjMyNiwgMTE2MzMwLCAxMTYzMzQsIAorICAgIDExNjMzOCwgMTE2MzQyLCAxMTYzNDYsIDExNjM1MCwgMTE2MzU0LCAxMTYzNTgsIDExNjM2MiwgMTE2MzY2LCAxMTYzNzAsIAorICAgIDExNjM3NCwgMTE2Mzc4LCAxMTYzODIsIDExNjM4NiwgMTE2MzkwLCAxMTYzOTQsIDExNjM5OCwgMTE2NDAyLCAxMTY0MDYsIAorICAgIDExNjQxMCwgMTE2NDE0LCAxMTY0MTgsIDExNjQyMiwgMTE2NDI2LCAxMTY0MzAsIDExNjQzNCwgMTE2NDM4LCAxMTY0NDIsIAorICAgIDExNjQ0NiwgMTE2NDUwLCAxMTY0NTQsIDExNjQ1OCwgMTE2NDYyLCAxMTY0NjYsIDExNjQ3MCwgMTE2NDc0LCAxMTY0NzgsIAorICAgIDExNjQ4MiwgMTE2NDg2LCAxMTY0OTAsIDExNjQ5NCwgMTE2NDk4LCAxMTY1MDIsIDExNjUwNiwgMTE2NTEwLCAxMTY1MTQsIAorICAgIDExNjUxOCwgMTE2NTIyLCAxMTY1MjYsIDExNjUzMCwgMTE2NTM0LCAxMTY1MzgsIDExNjU0MiwgMTE2NTQ2LCAxMTY1NTAsIAorICAgIDExNjU1NCwgMTE2NTU4LCAxMTY1NjIsIDExNjU2NiwgMTE2NTcwLCAxMTY1NzQsIDExNjU3OCwgMTE2NTgyLCAxMTY1ODYsIAorICAgIDExNjU5MCwgMTE2NTk0LCAxMTY1OTgsIDExNjYwMiwgMTE2NjA2LCAxMTY2MTAsIDExNjYxNCwgMTE2NjE4LCAxMTY2MjIsIAorICAgIDExNjYyNiwgMTE2NjMwLCAxMTY2MzQsIDExNjYzOCwgMTE2NjQyLCAxMTY2NDYsIDExNjY1MCwgMTE2NjU0LCAxMTY2NTgsIAorICAgIDExNjY2MiwgMTE2NjY2LCAxMTY2NzAsIDExNjY3NCwgMTE2Njc4LCAxMTY2ODIsIDExNjY4NiwgMTE2NjkwLCAxMTY2OTQsIAorICAgIDExNjY5OCwgMTE2NzAyLCAxMTY3MDYsIDExNjcxMCwgMTE2NzE0LCAxMTY3MTgsIDExNjcyMiwgMTE2NzI2LCAxMTY3MzAsIAorICAgIDExNjczNCwgMTE2NzM4LCAxMTY3NDIsIDExNjc0NiwgMTE2NzUwLCAxMTY3NTQsIDExNjc1OCwgMTE2NzYyLCAxMTY3NjYsIAorICAgIDExNjc3MCwgMTE2Nzc0LCAxMTY3NzgsIDExNjc4MiwgMTE2Nzg2LCAxMTY3OTAsIDExNjc5NCwgMTE2Nzk4LCAxMTY4MDIsIAorICAgIDExNjgwNiwgMTE2ODEwLCAxMTY4MTQsIDExNjgxOCwgMTE2ODIyLCAxMTY4MjYsIDExNjgzMCwgMTE2ODM0LCAxMTY4MzgsIAorICAgIDExNjg0MiwgMTE2ODQ2LCAxMTY4NTAsIDExNjg1NCwgMTE2ODU4LCAxMTY4NjIsIDExNjg2NiwgMTE2ODcwLCAxMTY4NzQsIAorICAgIDExNjg3OCwgMTE2ODgyLCAxMTY4ODYsIDExNjg5MCwgMTE2ODk0LCAxMTY4OTgsIDExNjkwMiwgMTE2OTA2LCAxMTY5MTAsIAorICAgIDExNjkxNCwgMTE2OTE4LCAxMTY5MjIsIDExNjkyNiwgMTE2OTMwLCAxMTY5MzQsIDExNjkzOCwgMTE2OTQyLCAxMTY5NDYsIAorICAgIDExNjk1MCwgMTE2OTU0LCAxMTY5NTgsIDExNjk2MiwgMTE2OTY2LCAxMTY5NzAsIDExNjk3NCwgMTE2OTc4LCAxMTY5ODIsIAorICAgIDExNjk4NiwgMTE2OTkwLCAxMTY5OTQsIDExNjk5OCwgMTE3MDAyLCAxMTcwMDYsIDExNzAxMCwgMTE3MDE0LCAxMTcwMTgsIAorICAgIDExNzAyMiwgMTE3MDI2LCAxMTcwMzAsIDExNzAzNCwgMTE3MDM4LCAxMTcwNDIsIDExNzA0NiwgMTE3MDUwLCAxMTcwNTQsIAorICAgIDExNzA1OCwgMTE3MDYyLCAxMTcwNjYsIDExNzA3MCwgMTE3MDc0LCAxMTcwNzgsIDExNzA4MiwgMTE3MDg2LCAxMTcwOTAsIAorICAgIDExNzA5NCwgMTE3MDk4LCAxMTcxMDIsIDExNzEwNiwgMTE3MTEwLCAxMTcxMTQsIDExNzExOCwgMTE3MTIyLCAxMTcxMjYsIAorICAgIDExNzEzMCwgMTE3MTM0LCAxMTcxMzgsIDExNzE0MiwgMTE3MTQ2LCAxMTcxNTAsIDExNzE1NCwgMTE3MTU4LCAxMTcxNjIsIAorICAgIDExNzE2NiwgMTE3MTcwLCAxMTcxNzQsIDExNzE3OCwgMTE3MTgyLCAxMTcxODYsIDExNzE5MCwgMTE3MTk0LCAxMTcxOTgsIAorICAgIDExNzIwMiwgMTE3MjA2LCAxMTcyMTAsIDExNzIxNCwgMTE3MjE4LCAxMTcyMjIsIDExNzIyNiwgMTE3MjMwLCAxMTcyMzQsIAorICAgIDExNzIzOCwgMTE3MjQyLCAxMTcyNDYsIDExNzI1MCwgMTE3MjU0LCAxMTcyNTgsIDExNzI2MiwgMTE3MjY2LCAxMTcyNzAsIAorICAgIDExNzI3NCwgMTE3Mjc4LCAxMTcyODIsIDExNzI4NiwgMTE3MjkwLCAxMTcyOTQsIDExNzI5OCwgMTE3MzAyLCAxMTczMDYsIAorICAgIDExNzMxMCwgMTE3MzE0LCAxMTczMTgsIDExNzMyMiwgMTE3MzI2LCAxMTczMzAsIDExNzMzNCwgMTE3MzM4LCAxMTczNDIsIAorICAgIDExNzM0NiwgMTE3MzUwLCAxMTczNTQsIDExNzM1OCwgMTE3MzYyLCAxMTczNjYsIDExNzM3MCwgMTE3Mzc0LCAxMTczNzgsIAorICAgIDExNzM4MiwgMTE3Mzg2LCAxMTczOTAsIDExNzM5NCwgMTE3Mzk4LCAxMTc0MDIsIDExNzQwNiwgMTE3NDEwLCAxMTc0MTQsIAorICAgIDExNzQxOCwgMTE3NDIyLCAxMTc0MjYsIDExNzQzMCwgMTE3NDM0LCAxMTc0MzgsIDExNzQ0MiwgMTE3NDQ2LCAxMTc0NTAsIAorICAgIDExNzQ1NCwgMTE3NDU4LCAxMTc0NjIsIDExNzQ2NiwgMTE3NDcwLCAxMTc0NzQsIDExNzQ3OCwgMTE3NDgyLCAxMTc0ODYsIAorICAgIDExNzQ5MCwgMTE3NDk0LCAxMTc0OTgsIDExNzUwMiwgMTE3NTA2LCAxMTc1MTAsIDExNzUxNCwgMTE3NTE4LCAxMTc1MjIsIAorICAgIDExNzUyNiwgMTE3NTMwLCAxMTc1MzQsIDExNzUzOCwgMTE3NTQyLCAxMTc1NDYsIDExNzU1MCwgMTE3NTU0LCAxMTc1NTgsIAorICAgIDExNzU2MiwgMTE3NTY2LCAxMTc1NzAsIDExNzU3NCwgMTE3NTc4LCAxMTc1ODIsIDExNzU4NiwgMTE3NTkwLCAxMTc1OTQsIAorICAgIDExNzU5OCwgMTE3NjAyLCAxMTc2MDYsIDExNzYxMCwgMTE3NjE0LCAxMTc2MTgsIDExNzYyMiwgMTE3NjI2LCAxMTc2MzAsIAorICAgIDExNzYzNCwgMTE3NjM4LCAxMTc2NDIsIDExNzY0NiwgMTE3NjUwLCAxMTc2NTQsIDExNzY1OCwgMTE3NjYyLCAxMTc2NjYsIAorICAgIDExNzY3MCwgMTE3Njc0LCAxMTc2NzgsIDExNzY4MiwgMTE3Njg2LCAxMTc2OTAsIDExNzY5NCwgMTE3Njk4LCAxMTc3MDIsIAorICAgIDExNzcwNiwgMTE3NzEwLCAxMTc3MTQsIDExNzcxOCwgMTE3NzIyLCAxMTc3MjYsIDExNzczMCwgMTE3NzM0LCAxMTc3MzgsIAorICAgIDExNzc0MiwgMTE3NzQ2LCAxMTc3NTAsIDExNzc1NCwgMTE3NzU4LCAxMTc3NjIsIDExNzc2NiwgMTE3NzcwLCAxMTc3NzQsIAorICAgIDExNzc3OCwgMTE3NzgyLCAxMTc3ODYsIDExNzc5MCwgMTE3Nzk0LCAxMTc3OTgsIDExNzgwMiwgMTE3ODA2LCAxMTc4MTAsIAorICAgIDExNzgxNCwgMTE3ODE4LCAxMTc4MjIsIDExNzgyNiwgMTE3ODMwLCAxMTc4MzQsIDExNzgzOCwgMTE3ODQyLCAxMTc4NDYsIAorICAgIDExNzg1MCwgMTE3ODU0LCAxMTc4NTgsIDExNzg2MiwgMTE3ODY2LCAxMTc4NzAsIDExNzg3NCwgMTE3ODc4LCAxMTc4ODIsIAorICAgIDExNzg4NiwgMTE3ODkwLCAxMTc4OTQsIDExNzg5OCwgMTE3OTAyLCAxMTc5MDYsIDExNzkxMCwgMTE3OTE0LCAxMTc5MTgsIAorICAgIDExNzkyMiwgMTE3OTI2LCAxMTc5MzAsIDExNzkzNCwgMTE3OTM4LCAxMTc5NDIsIDExNzk0NiwgMTE3OTUwLCAxMTc5NTQsIAorICAgIDExNzk1OCwgMTE3OTYyLCAxMTc5NjYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDExNzk3MCwgMTE3OTc3LCAxMTc5ODQsIDExNzk5MywgMTE4MDAyLCAxMTgwMDksIDExODAxNCwgMTE4MDIxLCAKKyAgICAxMTgwMjgsIDExODAzNywgMTE4MDQ4LCAxMTgwNTksIDExODA2NCwgMTE4MDcxLCAxMTgwNzYsIDExODA4MSwgMTE4MDg2LCAKKyAgICAxMTgwOTEsIDExODA5NiwgMTE4MTAxLCAxMTgxMDYsIDExODExMSwgMTE4MTE2LCAxMTgxMjEsIDExODEyNiwgMTE4MTMzLCAKKyAgICAxMTgxNDAsIDExODE0NSwgMTE4MTUwLCAxMTgxNTUsIDExODE2MCwgMTE4MTY3LCAxMTgxNzQsIDExODE4MiwgMTE4MTg3LCAKKyAgICAxMTgxOTQsIDExODE5OSwgMTE4MjA0LCAxMTgyMDksIDExODIxNCwgMTE4MjE5LCAxMTgyMjYsIDExODIzMywgMTE4MjM4LCAKKyAgICAxMTgyNDMsIDExODI0OCwgMTE4MjUzLCAxMTgyNTgsIDExODI2MywgMTE4MjY4LCAxMTgyNzMsIDExODI3OCwgMTE4MjgzLCAKKyAgICAxMTgyODgsIDExODI5MywgMTE4Mjk4LCAxMTgzMDMsIDExODMwOCwgMTE4MzEzLCAxMTgzMTgsIDExODMyMywgMTE4MzI4LCAKKyAgICAxMTgzMzUsIDExODM0MCwgMTE4MzQ1LCAxMTgzNTQsIDExODM2MSwgMTE4MzY2LCAxMTgzNzEsIDExODM3NiwgMTE4MzgxLCAKKyAgICAxMTgzODYsIDExODM5MSwgMTE4Mzk2LCAxMTg0MDEsIDExODQwNiwgMTE4NDExLCAxMTg0MTYsIDExODQyMSwgMTE4NDI2LCAKKyAgICAxMTg0MzEsIDExODQzNiwgMTE4NDQxLCAxMTg0NDYsIDExODQ1MSwgMTE4NDU2LCAxMTg0NjEsIDExODQ2NiwgMTE4NDcyLCAKKyAgICAxMTg0ODAsIDExODQ4NiwgMTE4NDk0LCAxMTg1MDIsIDExODUxMCwgMTE4NTE2LCAxMTg1MjIsIDExODUyOCwgMTE4NTM0LCAKKyAgICAxMTg1NDAsIDExODU0OCwgMTE4NTU4LCAxMTg1NjYsIDExODU3NCwgMTE4NTgwLCAxMTg1ODYsIDExODU5NCwgMTE4NjAyLCAKKyAgICAxMTg2MDgsIDExODYxNiwgMTE4NjI0LCAxMTg2MzIsIDExODYzOCwgMTE4NjQ0LCAxMTg2NTAsIDExODY1NiwgMTE4NjYyLCAKKyAgICAxMTg2NjgsIDExODY3NiwgMTE4Njg0LCAxMTg2OTAsIDExODY5NiwgMTE4NzAyLCAxMTg3MDgsIDExODcxNCwgMTE4NzIyLCAKKyAgICAxMTg3MjgsIDExODczNCwgMTE4NzQwLCAxMTg3NDYsIDExODc1MiwgMTE4NzU4LCAxMTg3NjYsIDExODc3MiwgMTE4Nzc4LCAKKyAgICAxMTg3ODQsIDExODc5MCwgMTE4Nzk4LCAxMTg4MDYsIDExODgxMiwgMTE4ODE4LCAxMTg4MjQsIDExODgyOSwgMTE4ODM1LCAKKyAgICAxMTg4NDEsIDExODg0OCwgMTE4ODUzLCAxMTg4NTgsIDExODg2MywgMTE4ODY4LCAxMTg4NzMsIDExODg3OCwgMTE4ODgzLCAKKyAgICAxMTg4ODgsIDExODg5MywgMTE4OTAyLCAxMTg5MDksIDExODkxNCwgMTE4OTE5LCAxMTg5MjQsIDExODkzMSwgMTE4OTM2LCAKKyAgICAxMTg5NDEsIDExODk0NiwgMTE4OTUzLCAxMTg5NTgsIDExODk2MywgMTE4OTY4LCAxMTg5NzMsIDExODk3OCwgMTE4OTgzLCAKKyAgICAxMTg5ODgsIDExODk5MywgMTE4OTk4LCAxMTkwMDMsIDExOTAwOCwgMTE5MDE1LCAxMTkwMjAsIDExOTAyNywgMTE5MDMyLCAKKyAgICAxMTkwMzcsIDExOTA0NCwgMTE5MDQ5LCAxMTkwNTQsIDExOTA1OSwgMTE5MDY0LCAxMTkwNjksIDExOTA3NCwgMTE5MDc5LCAKKyAgICAxMTkwODQsIDExOTA4OSwgMTE5MDk0LCAxMTkwOTksIDExOTEwNCwgMTE5MTA5LCAxMTkxMTQsIDExOTExOSwgMTE5MTI0LCAKKyAgICAxMTkxMjksIDExOTEzNCwgMTE5MTM5LCAxMTkxNDYsIDExOTE1MSwgMTE5MTU2LCAxMTkxNjEsIDExOTE2NiwgMTE5MTcxLCAKKyAgICAxMTkxNzYsIDExOTE4MSwgMTE5MTg2LCAxMTkxOTEsIDExOTE5NiwgMTE5MjAxLCAxMTkyMDYsIDExOTIxMSwgMTE5MjE4LCAKKyAgICAxMTkyMjMsIDExOTIyOCwgMTE5MjM1LCAxMTkyNDAsIDExOTI0NSwgMTE5MjUwLCAxMTkyNTUsIDExOTI2MCwgMTE5MjY1LCAKKyAgICAxMTkyNzAsIDExOTI3NSwgMTE5MjgwLCAxMTkyODUsIDExOTI5MiwgMTE5Mjk3LCAxMTkzMDIsIDExOTMwNywgMTE5MzEyLCAKKyAgICAxMTkzMTcsIDExOTMyNCwgMTE5MzMxLCAxMTkzMzYsIDExOTM0MSwgMTE5MzQ2LCAxMTkzNTEsIDExOTM1NiwgMTE5MzYxLCAKKyAgICAxMTkzNjYsIDExOTM3MSwgMTE5Mzc2LCAxMTkzODEsIDExOTM4NiwgMTE5MzkxLCAxMTkzOTYsIDExOTQwMSwgMTE5NDA2LCAKKyAgICAxMTk0MTEsIDExOTQxNiwgMTE5NDIxLCAxMTk0MjYsIDExOTQzMSwgMTE5NDM2LCAxMTk0NDEsIDExOTQ0NiwgMTE5NDUxLCAKKyAgICAxMTk0NTYsIDExOTQ2MSwgMTE5NDY2LCAxMTk0NzEsIDExOTQ3NiwgMTE5NDgxLCAxMTk0ODYsIDExOTQ5MSwgMTE5NDk2LCAKKyAgICAxMTk1MDEsIDExOTUwNiwgMTE5NTExLCAxMTk1MTgsIDExOTUyMywgMTE5NTI4LCAxMTk1MzMsIDExOTUzOCwgMTE5NTQzLCAKKyAgICAxMTk1NDgsIDExOTU1MywgMTE5NTU4LCAxMTk1NjMsIDExOTU2OCwgMTE5NTczLCAxMTk1NzgsIDExOTU4MywgMTE5NTg4LCAKKyAgICAxMTk1OTMsIDExOTU5OCwgMTE5NjAzLCAxMTk2MDgsIDExOTYxMywgMTE5NjE4LCAxMTk2MjMsIDExOTYyOCwgMTE5NjMzLCAKKyAgICAxMTk2MzgsIDExOTY0MywgMTE5NjQ4LCAxMTk2NTMsIDExOTY1OCwgMTE5NjYzLCAxMTk2NjgsIDExOTY3MywgMTE5Njc4LCAKKyAgICAxMTk2ODMsIDExOTY4OCwgMTE5NjkzLCAxMTk2OTgsIDExOTcwMywgMTE5NzA4LCAxMTk3MTMsIDExOTcxOCwgMTE5NzIzLCAKKyAgICAxMTk3MjgsIDExOTczMywgMTE5NzM4LCAxMTk3NDMsIDExOTc0OCwgMTE5NzUzLCAxMTk3NTgsIDExOTc2MywgMTE5NzY4LCAKKyAgICAxMTk3NzMsIDExOTc3OCwgMTE5NzgzLCAxMTk3ODgsIDExOTc5MywgMTE5Nzk4LCAxMTk4MDMsIDExOTgwOCwgMTE5ODE1LCAKKyAgICAxMTk4MjAsIDExOTgyNSwgMTE5ODMwLCAxMTk4MzUsIDExOTg0MCwgMTE5ODQ1LCAxMTk4NTAsIDExOTg1NSwgMTE5ODYwLCAKKyAgICAxMTk4NjUsIDExOTg3MCwgMTE5ODc1LCAxMTk4ODAsIDExOTg4NSwgMTE5ODkwLCAxMTk4OTUsIDExOTkwMCwgMTE5OTA1LCAKKyAgICAxMTk5MTAsIDExOTkxNSwgMTE5OTIwLCAxMTk5MjcsIDExOTkzMiwgMTE5OTM3LCAxMTk5NDMsIDExOTk0OCwgMTE5OTUzLCAKKyAgICAxMTk5NTgsIDExOTk2MywgMTE5OTY4LCAxMTk5NzMsIDExOTk3OCwgMTE5OTgzLCAxMTk5ODgsIDExOTk5MywgMTE5OTk4LCAKKyAgICAxMjAwMDMsIDEyMDAwOCwgMTIwMDEzLCAxMjAwMTgsIDEyMDAyMywgMTIwMDI4LCAxMjAwMzMsIDEyMDAzOCwgMTIwMDQzLCAKKyAgICAxMjAwNDgsIDEyMDA1MywgMTIwMDU4LCAxMjAwNjMsIDEyMDA2OCwgMTIwMDczLCAxMjAwNzgsIDEyMDA4MywgMTIwMDg4LCAKKyAgICAxMjAwOTMsIDEyMDA5OCwgMTIwMTAzLCAxMjAxMDgsIDEyMDExMywgMTIwMTE4LCAxMjAxMjMsIDEyMDEyOCwgMTIwMTMzLCAKKyAgICAxMjAxMzgsIDEyMDE0MywgMTIwMTQ4LCAxMjAxNTMsIDEyMDE1OCwgMTIwMTY1LCAxMjAxNzAsIDEyMDE3NSwgMTIwMTgyLCAKKyAgICAxMjAxODksIDEyMDE5NCwgMTIwMTk5LCAxMjAyMDQsIDEyMDIwOSwgMTIwMjE0LCAxMjAyMTksIDEyMDIyNCwgMTIwMjI5LCAKKyAgICAxMjAyMzQsIDEyMDIzOSwgMTIwMjQ0LCAxMjAyNDksIDEyMDI1NCwgMTIwMjU5LCAxMjAyNjQsIDEyMDI2OSwgMTIwMjc0LCAKKyAgICAxMjAyNzksIDEyMDI4NCwgMTIwMjg5LCAxMjAyOTQsIDEyMDI5OSwgMTIwMzA0LCAxMjAzMDksIDEyMDMxNCwgMTIwMzIxLCAKKyAgICAxMjAzMjYsIDEyMDMzMSwgMTIwMzM2LCAxMjAzNDEsIDEyMDM0NiwgMTIwMzUxLCAxMjAzNTYsIDEyMDM2MSwgMTIwMzY2LCAKKyAgICAxMjAzNzEsIDEyMDM3NiwgMTIwMzgxLCAxMjAzODYsIDEyMDM5MSwgMTIwMzk2LCAxMjA0MDEsIDEyMDQwNiwgMTIwNDExLCAKKyAgICAxMjA0MTgsIDEyMDQyMywgMTIwNDI4LCAxMjA0MzMsIDEyMDQzOCwgMTIwNDQzLCAxMjA0NDgsIDEyMDQ1MywgMTIwNDU5LCAKKyAgICAxMjA0NjQsIDEyMDQ2OSwgMTIwNDc0LCAxMjA0NzksIDEyMDQ4NCwgMTIwNDg5LCAxMjA0OTQsIDEyMDQ5OSwgMTIwNTA2LCAKKyAgICAxMjA1MTMsIDEyMDUxOCwgMTIwNTIzLCAxMjA1MjcsIDEyMDUzMiwgMTIwNTM2LCAxMjA1NDAsIDEyMDU0NSwgMTIwNTUyLCAKKyAgICAxMjA1NTcsIDEyMDU2MiwgMTIwNTcxLCAxMjA1NzYsIDEyMDU4MSwgMTIwNTg2LCAxMjA1OTEsIDEyMDU5OCwgMTIwNjA1LCAKKyAgICAxMjA2MTAsIDEyMDYxNSwgMTIwNjIwLCAxMjA2MjUsIDEyMDYzMiwgMTIwNjM3LCAxMjA2NDIsIDEyMDY0NywgMTIwNjUyLCAKKyAgICAxMjA2NTcsIDEyMDY2MiwgMTIwNjY3LCAxMjA2NzIsIDEyMDY3NywgMTIwNjgyLCAxMjA2ODcsIDEyMDY5MiwgMTIwNjk5LCAKKyAgICAxMjA3MDMsIDEyMDcwOCwgMTIwNzEzLCAxMjA3MTgsIDEyMDcyMywgMTIwNzI3LCAxMjA3MzIsIDEyMDczNywgMTIwNzQyLCAKKyAgICAxMjA3NDcsIDEyMDc1MiwgMTIwNzU3LCAxMjA3NjIsIDEyMDc2NywgMTIwNzcyLCAxMjA3NzgsIDEyMDc4NCwgMTIwNzkwLCAKKyAgICAxMjA3OTYsIDEyMDgwMiwgMTIwODA4LCAxMjA4MTQsIDEyMDgyMCwgMTIwODI2LCAxMjA4MzIsIDEyMDgzOCwgMTIwODQ0LCAKKyAgICAxMjA4NTAsIDEyMDg1NiwgMTIwODYyLCAxMjA4NjgsIDEyMDg3NCwgMTIwODgwLCAxMjA4ODYsIDEyMDg5MiwgMTIwODk4LCAKKyAgICAxMjA5MDQsIDEyMDkxMCwgMTIwOTE2LCAxMjA5MjEsIDEyMDkyNywgMTIwOTMzLCAxMjA5MzksIDEyMDk0NSwgMTIwOTUxLCAKKyAgICAxMjA5NTcsIDEyMDk2MywgMTIwOTY5LCAxMjA5NzUsIDEyMDk4MSwgMTIwOTg3LCAxMjA5OTMsIDEyMDk5OSwgMTIxMDA1LCAKKyAgICAxMjEwMTEsIDEyMTAxNywgMTIxMDIzLCAxMjEwMjksIDEyMTAzNSwgMTIxMDQxLCAxMjEwNDYsIDEyMTA1MiwgMTIxMDU4LCAKKyAgICAxMjEwNjQsIDEyMTA3MCwgMTIxMDc2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMjEwODIsIDEyMTA4NywgMTIxMDkyLCAKKyAgICAxMjEwOTcsIDEyMTEwMiwgMTIxMTA3LCAxMjExMTIsIDEyMTExNiwgMTIxMTIxLCAxMjExMjYsIDEyMTEzMSwgMTIxMTM2LCAKKyAgICAxMjExNDEsIDEyMTE0NiwgMTIxMTUxLCAxMjExNTYsIDEyMTE2MSwgMTIxMTY1LCAxMjExNzAsIDEyMTE3NCwgMTIxMTc5LCAKKyAgICAxMjExODQsIDEyMTE4OSwgMTIxMTk0LCAxMjExOTksIDEyMTIwMywgMTIxMjA4LCAxMjEyMTMsIDEyMTIxOCwgMTIxMjIzLCAKKyAgICAxMjEyMjgsIDAsIDEyMTIzMywgMTIxMjM4LCAxMjEyNDIsIDEyMTI0NiwgMTIxMjUwLCAxMjEyNTQsIDEyMTI1OCwgCisgICAgMTIxMjYyLCAxMjEyNjYsIDEyMTI3MCwgMCwgMCwgMCwgMCwgMTIxMjc0LCAxMjEyNzgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEyMTI4MywgMTIxMjkwLCAKKyAgICAxMjEyOTYsIDEyMTMwMywgMTIxMzEwLCAxMjEzMTcsIDEyMTMyNCwgMTIxMzMxLCAxMjEzMzgsIDEyMTM0NSwgMTIxMzUyLCAKKyAgICAxMjEzNTksIDEyMTM2NiwgMTIxMzczLCAxMjEzODAsIDEyMTM4NywgMTIxMzk0LCAxMjE0MDEsIDEyMTQwNywgMTIxNDE0LCAKKyAgICAxMjE0MjEsIDEyMTQyOCwgMTIxNDM0LCAxMjE0NDEsIDEyMTQ0NywgMTIxNDUzLCAxMjE0NjAsIDEyMTQ2NiwgMTIxNDczLCAKKyAgICAxMjE0NzksIDAsIDAsIDEyMTQ4NSwgMTIxNDkzLCAxMjE1MDEsIDEyMTUxMCwgMTIxNTE5LCAxMjE1MjgsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDEyMTUzNiwgMTIxNTQxLCAxMjE1NDYsIDEyMTU1MSwgMTIxNTU2LCAxMjE1NjEsIDEyMTU2NiwgCisgICAgMTIxNTcxLCAxMjE1NzYsIDEyMTU4MSwgMTIxNTg2LCAxMjE1OTEsIDEyMTU5NiwgMTIxNjAxLCAxMjE2MDYsIDEyMTYxMSwgCisgICAgMTIxNjE2LCAxMjE2MjEsIDEyMTYyNiwgMTIxNjMxLCAxMjE2MzYsIDEyMTY0MSwgMTIxNjQ2LCAxMjE2NTEsIDEyMTY1NiwgCisgICAgMTIxNjYxLCAxMjE2NjYsIDEyMTY3MSwgMTIxNjc2LCAxMjE2ODEsIDEyMTY4NiwgMTIxNjkxLCAxMjE2OTYsIDEyMTcwMSwgCisgICAgMTIxNzA2LCAxMjE3MTEsIDEyMTcxNiwgMTIxNzIxLCAxMjE3MjYsIDEyMTczMSwgMTIxNzM2LCAxMjE3NDEsIDEyMTc0NiwgCisgICAgMTIxNzUxLCAxMjE3NTYsIDEyMTc2MSwgMTIxNzY2LCAxMjE3NzEsIDEyMTc3NiwgMTIxNzgzLCAxMjE3OTAsIDEyMTc5NywgCisgICAgMTIxODA0LCAxMjE4MTEsIDEyMTgxOCwgMTIxODI1LCAxMjE4MzIsIDEyMTg0MSwgMTIxODQ4LCAxMjE4NTUsIDEyMTg2MiwgCisgICAgMTIxODY5LCAxMjE4NzYsIDEyMTg4MywgMTIxODkwLCAxMjE4OTcsIDEyMTkwNCwgMTIxOTExLCAxMjE5MTgsIDEyMTkyMywgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTIxOTMyLCAxMjE5MzcsIDEyMTk0MSwgMTIxOTQ1LCAxMjE5NDksIAorICAgIDEyMTk1MywgMTIxOTU3LCAxMjE5NjEsIDEyMTk2NSwgMTIxOTY5LCAwLCAxMjE5NzMsIDEyMTk3OCwgMTIxOTgzLCAKKyAgICAxMjE5OTAsIDEyMTk5NSwgMTIyMDAyLCAxMjIwMDksIDAsIDEyMjAxNCwgMTIyMDIxLCAxMjIwMjYsIDEyMjAzMSwgCisgICAgMTIyMDM4LCAxMjIwNDUsIDEyMjA1MCwgMTIyMDU1LCAxMjIwNjAsIDEyMjA2NSwgMTIyMDcwLCAxMjIwNzcsIDEyMjA4NCwgCisgICAgMTIyMDg5LCAxMjIwOTQsIDEyMjA5OSwgMTIyMTEyLCAxMjIxMjEsIDEyMjEyOCwgMTIyMTM3LCAxMjIxNDYsIDAsIDAsIDAsIAorICAgIDAsIDAsIDEyMjE1NSwgMTIyMTYyLCAxMjIxNjksIDEyMjE3NiwgMTIyMTgzLCAxMjIxOTAsIDEyMjE5NywgMTIyMjA0LCAKKyAgICAxMjIyMTEsIDEyMjIxOCwgMTIyMjI1LCAxMjIyMzIsIDEyMjIzOSwgMTIyMjQ2LCAxMjIyNTMsIDEyMjI2MCwgMTIyMjY3LCAKKyAgICAxMjIyNzQsIDEyMjI4MSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTIyMjg4LCAKKyAgICAxMjIyOTEsIDEyMjI5NSwgMTIyMjk5LCAxMjIzMDMsIDEyMjMwNiwgMTIyMzEwLCAxMjIzMTUsIDEyMjMxOSwgMTIyMzIzLCAKKyAgICAxMjIzMjcsIDEyMjMzMSwgMTIyMzM1LCAxMjIzNDAsIDEyMjM0NSwgMTIyMzQ5LCAxMjIzNTMsIDEyMjM1NiwgMTIyMzYwLCAKKyAgICAxMjIzNjUsIDEyMjM3MCwgMTIyMzc0LCAxMjIzNzgsIDEyMjM4MiwgMTIyMzg2LCAxMjIzOTAsIDEyMjM5NCwgMTIyMzk4LCAKKyAgICAxMjI0MDIsIDEyMjQwNiwgMTIyNDEwLCAxMjI0MTMsIDEyMjQxNywgMTIyNDIxLCAxMjI0MjUsIDEyMjQyOSwgMTIyNDMzLCAKKyAgICAxMjI0MzcsIDEyMjQ0MywgMTIyNDQ2LCAxMjI0NTAsIDEyMjQ1NCwgMTIyNDU4LCAxMjI0NjIsIDEyMjQ2NiwgMTIyNDcwLCAKKyAgICAxMjI0NzQsIDEyMjQ3OCwgMTIyNDgyLCAxMjI0ODcsIDEyMjQ5MiwgMTIyNDk4LCAxMjI1MDIsIDEyMjUwNiwgMTIyNTEwLCAKKyAgICAxMjI1MTQsIDEyMjUxOCwgMTIyNTIyLCAxMjI1MjcsIDEyMjUzMSwgMTIyNTM1LCAxMjI1MzksIDEyMjU0MywgMTIyNTQ3LCAKKyAgICAxMjI1NTMsIDEyMjU1NywgMTIyNTYxLCAxMjI1NjUsIDEyMjU2OSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMTIyNTczLCAxMjI1NzcsIDEyMjU4MSwgMTIyNTg3LCAxMjI1OTMsIDEyMjU5NywgMTIyNjAyLCAxMjI2MDcsIDEyMjYxMiwgCisgICAgMTIyNjE3LCAxMjI2MjEsIDEyMjYyNiwgMTIyNjMxLCAxMjI2MzYsIDEyMjY0MCwgMTIyNjQ1LCAxMjI2NTAsIDEyMjY1NSwgCisgICAgMTIyNjU5LCAxMjI2NjQsIDEyMjY2OSwgMTIyNjc0LCAxMjI2NzksIDEyMjY4NCwgMTIyNjg5LCAxMjI2OTQsIDEyMjY5OSwgCisgICAgMTIyNzAzLCAxMjI3MDgsIDEyMjcxMywgMTIyNzE4LCAxMjI3MjMsIDEyMjcyOCwgMTIyNzMzLCAxMjI3MzgsIDEyMjc0MywgCisgICAgMTIyNzQ4LCAxMjI3NTMsIDEyMjc1OCwgMTIyNzY1LCAxMjI3NzAsIDEyMjc3NywgMTIyNzgyLCAxMjI3ODcsIDEyMjc5MiwgCisgICAgMTIyNzk3LCAxMjI4MDIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEyMjgwNywgCisgICAgMTIyODExLCAxMjI4MTcsIDEyMjgyMCwgMTIyODIzLCAxMjI4MjcsIDEyMjgzMSwgMTIyODM1LCAxMjI4MzksIDEyMjg0MywgCisgICAgMTIyODQ3LCAxMjI4NTEsIDEyMjg1NywgMTIyODYzLCAxMjI4NjksIDEyMjg3NSwgMTIyODgxLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMjI4ODcsIDEyMjg5MiwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTIyODk4LCAxMjI5MDIsIDEyMjkwNiwgMTIyOTEwLCAKKyAgICAxMjI5MTQsIDEyMjkxOCwgMTIyOTIyLCAxMjI5MjUsIDEyMjkyOSwgMTIyOTMzLCAxMjI5MzcsIDEyMjk0MSwgMTIyOTQ0LCAKKyAgICAxMjI5NTAsIDEyMjk1NSwgMTIyOTYxLCAxMjI5NjcsIDEyMjk3MiwgMTIyOTc2LCAxMjI5ODIsIDEyMjk4NiwgMTIyOTkwLCAKKyAgICAxMjI5OTYsIDEyMzAwMCwgMTIzMDA0LCAxMjMwMDgsIDEyMzAxMiwgMTIzMDE2LCAxMjMwMjAsIDEyMzAyMywgMTIzMDI5LCAKKyAgICAxMjMwMzUsIDEyMzA0MSwgMTIzMDQ3LCAxMjMwNTQsIDEyMzA2MSwgMTIzMDY4LCAxMjMwNzgsIDEyMzA4NSwgMTIzMDkyLCAKKyAgICAxMjMwOTcsIDEyMzEwMiwgMTIzMTA3LCAxMjMxMTIsIDEyMzExOSwgMTIzMTI2LCAxMjMxMzMsIDEyMzE0MCwgMTIzMTQ5LCAKKyAgICAxMjMxNTUsIDEyMzE2MiwgMTIzMTY4LCAxMjMxNzUsIDEyMzE4MSwgMTIzMTg4LCAxMjMxOTMsIDEyMzIwMCwgMTIzMjA0LCAKKyAgICAxMjMyMDgsIDEyMzIxMywgMTIzMjE5LCAxMjMyMjUsIDEyMzIzMiwgMTIzMjM5LCAxMjMyNDUsIDEyMzI1MiwgMTIzMjU1LCAKKyAgICAxMjMyNjEsIDEyMzI2NSwgMTIzMjY4LCAxMjMyNzIsIDEyMzI3NSwgMTIzMjc4LCAxMjMyODIsIDEyMzI4NywgMTIzMjkxLCAKKyAgICAxMjMyOTUsIDEyMzMwMSwgMTIzMzA2LCAxMjMzMTIsIDEyMzMxNiwgMTIzMzIwLCAxMjMzMjMsIDEyMzMyNywgMTIzMzMxLCAKKyAgICAxMjMzMzYsIDEyMzM0MCwgMTIzMzQ1LCAxMjMzNDksIDEyMzM1NCwgMTIzMzU4LCAxMjMzNjIsIDEyMzM2NiwgMTIzMzcwLCAKKyAgICAxMjMzNzQsIDEyMzM3OCwgMTIzMzgyLCAxMjMzODYsIDEyMzM5MSwgMTIzMzk2LCAxMjM0MDEsIDEyMzQwNiwgMTIzNDEyLCAKKyAgICAxMjM0MTgsIDEyMzQyNCwgMTIzNDMwLCAxMjM0MzYsIDAsIDAsIDAsIDAsIDAsIDEyMzQ0MSwgMTIzNDQ4LCAxMjM0NTYsIAorICAgIDEyMzQ2MywgMTIzNDcwLCAxMjM0NzgsIDEyMzQ4NSwgMTIzNDkyLCAxMjM1MDEsIDEyMzUwOCwgMTIzNTE1LCAxMjM1MjIsIAorICAgIDEyMzUzMCwgMCwgMCwgMCwgMTIzNTM4LCAxMjM1NDMsIDEyMzU1MCwgMTIzNTU2LCAxMjM1NjMsIDEyMzU2OSwgMTIzNTc1LCAKKyAgICAxMjM1ODEsIDEyMzU4NywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTIzNTkzLCAxMjM1OTgsIDEyMzYwNSwgMTIzNjExLCAKKyAgICAxMjM2MTgsIDEyMzYyNCwgMTIzNjMwLCAxMjM2MzYsIDEyMzY0MiwgMTIzNjQ4LCAwLCAwLCAxMjM2NTMsIDEyMzY1OSwgCisgICAgMTIzNjY1LCAxMjM2NjgsIDEyMzY3NywgMTIzNjg0LCAxMjM2OTIsIDEyMzY5OSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTIzNzA2LCAxMjM3MTEsIDEyMzcxNiwgMTIzNzIxLCAKKyAgICAxMjM3MjgsIDEyMzczNSwgMTIzNzQyLCAxMjM3NDksIDEyMzc1NCwgMTIzNzU5LCAxMjM3NjQsIDEyMzc2OSwgMTIzNzc2LCAKKyAgICAxMjM3ODEsIDEyMzc4OCwgMTIzNzk1LCAxMjM4MDAsIDEyMzgwNSwgMTIzODEwLCAxMjM4MTcsIDEyMzgyMiwgMTIzODI3LCAKKyAgICAxMjM4MzQsIDEyMzg0MSwgMTIzODQ2LCAxMjM4NTEsIDEyMzg1NiwgMTIzODYzLCAxMjM4NzAsIDEyMzg3NywgMTIzODgyLCAKKyAgICAxMjM4ODcsIDEyMzg5NCwgMTIzOTAxLCAxMjM5MDgsIDEyMzkxNSwgMTIzOTIwLCAxMjM5MjUsIDEyMzkzMCwgMTIzOTM3LCAKKyAgICAxMjM5NDIsIDEyMzk0NywgMTIzOTUyLCAxMjM5NTksIDEyMzk2OCwgMTIzOTc1LCAxMjM5ODAsIDEyMzk4NSwgMTIzOTkwLCAKKyAgICAxMjM5OTUsIDEyNDAwMCwgMTI0MDA1LCAxMjQwMTQsIDEyNDAyMSwgMTI0MDI2LCAxMjQwMzMsIDEyNDA0MCwgMTI0MDQ1LCAKKyAgICAxMjQwNTAsIDEyNDA1NSwgMTI0MDYyLCAxMjQwNjcsIDEyNDA3NCwgMTI0MDgxLCAxMjQwODYsIDEyNDA5MSwgMTI0MDk2LCAKKyAgICAxMjQxMDMsIDEyNDExMCwgMTI0MTE1LCAxMjQxMjAsIDEyNDEyNywgMTI0MTM0LCAxMjQxNDEsIDEyNDE0NiwgMTI0MTUxLCAKKyAgICAxMjQxNTYsIDEyNDE2MSwgMTI0MTY4LCAxMjQxNzcsIDEyNDE4NiwgMTI0MTkxLCAxMjQxOTgsIDEyNDIwNywgMTI0MjEyLCAKKyAgICAxMjQyMTcsIDEyNDIyMiwgMTI0MjI3LCAxMjQyMzQsIDEyNDI0MSwgMTI0MjQ4LCAxMjQyNTUsIDEyNDI2MCwgMTI0MjY1LCAKKyAgICAxMjQyNzAsIDEyNDI3NywgMTI0Mjg0LCAxMjQyOTEsIDEyNDI5NiwgMTI0MzAxLCAxMjQzMDgsIDEyNDMxMywgMTI0MzIwLCAKKyAgICAxMjQzMjUsIDEyNDMzMiwgMTI0MzM3LCAxMjQzNDQsIDEyNDM1MSwgMTI0MzU2LCAxMjQzNjEsIDEyNDM2NiwgMTI0MzcxLCAKKyAgICAxMjQzNzYsIDEyNDM4MSwgMTI0Mzg2LCAxMjQzOTEsIDEyNDM5NiwgMTI0NDAzLCAxMjQ0MTAsIDEyNDQxNywgMTI0NDI0LCAKKyAgICAxMjQ0MzEsIDEyNDQ0MCwgMTI0NDQ1LCAxMjQ0NTAsIDEyNDQ1NywgMTI0NDY0LCAxMjQ0NjksIDEyNDQ3NiwgMTI0NDgzLCAKKyAgICAxMjQ0OTAsIDEyNDQ5NywgMTI0NTA0LCAxMjQ1MTEsIDEyNDUxNiwgMTI0NTIxLCAxMjQ1MjYsIDEyNDUzMSwgMTI0NTM2LCAKKyAgICAxMjQ1NDUsIDEyNDU1NCwgMTI0NTYzLCAxMjQ1NzIsIDEyNDU4MSwgMTI0NTkwLCAxMjQ1OTksIDEyNDYwOCwgMTI0NjEzLCAKKyAgICAxMjQ2MjQsIDEyNDYzNSwgMTI0NjQ0LCAxMjQ2NDksIDEyNDY1NCwgMTI0NjU5LCAxMjQ2NjQsIDEyNDY3MywgMTI0NjgwLCAKKyAgICAxMjQ2ODcsIDEyNDY5NCwgMTI0NzAxLCAxMjQ3MDgsIDEyNDcxNSwgMTI0NzI0LCAxMjQ3MzMsIDEyNDc0NCwgMTI0NzUzLCAKKyAgICAxMjQ3NjQsIDEyNDc3MywgMTI0NzgwLCAxMjQ3ODksIDEyNDgwMCwgMTI0ODA5LCAxMjQ4MTgsIDEyNDgyNywgMTI0ODM2LCAKKyAgICAxMjQ4NDMsIDEyNDg1MCwgMTI0ODU3LCAxMjQ4NjYsIDEyNDg3NSwgMTI0ODg2LCAxMjQ4OTUsIDEyNDkwNCwgMTI0OTE1LCAKKyAgICAxMjQ5MjAsIDEyNDkyNSwgMTI0OTM2LCAxMjQ5NDQsIDEyNDk1MywgMTI0OTYyLCAxMjQ5NzEsIDEyNDk4MiwgMTI0OTkxLCAKKyAgICAxMjUwMDAsIDEyNTAxMSwgMTI1MDIyLCAxMjUwMzMsIDEyNTA0NCwgMTI1MDU1LCAxMjUwNjYsIDEyNTA3MywgMTI1MDgwLCAKKyAgICAxMjUwODcsIDEyNTA5NCwgMTI1MTA1LCAxMjUxMTQsIDEyNTEyMSwgMTI1MTI4LCAxMjUxMzUsIDEyNTE0NiwgMTI1MTU3LCAKKyAgICAxMjUxNjgsIDEyNTE3OSwgMTI1MTkwLCAxMjUyMDEsIDEyNTIxMiwgMTI1MjIzLCAxMjUyMzAsIDEyNTIzNywgMTI1MjQ2LCAKKyAgICAxMjUyNTUsIDEyNTI2MiwgMTI1MjY5LCAxMjUyNzYsIDEyNTI4NSwgMTI1Mjk0LCAxMjUzMDMsIDEyNTMxMCwgMTI1MzE5LCAKKyAgICAxMjUzMjgsIDEyNTMzNywgMTI1MzQ0LCAxMjUzNTEsIDEyNTM1NiwgMTI1MzYyLCAxMjUzNjksIDEyNTM3NiwgMTI1MzgzLCAKKyAgICAxMjUzOTAsIDEyNTM5NywgMTI1NDA0LCAxMjU0MTMsIDEyNTQyMiwgMTI1NDMxLCAxMjU0NDAsIDEyNTQ0NywgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTI1NDU2LCAxMjU0NjIsIDEyNTQ2NywgMTI1NDcyLCAxMjU0NzksIDEyNTQ4NSwgCisgICAgMTI1NDkxLCAxMjU0OTcsIDEyNTUwMywgMTI1NTA5LCAxMjU1MTUsIDEyNTUyMSwgMTI1NTI1LCAxMjU1MjksIDEyNTUzNSwgCisgICAgMTI1NTQxLCAxMjU1NDcsIDEyNTU1MSwgMTI1NTU2LCAxMjU1NjEsIDEyNTU2NSwgMTI1NTY5LCAxMjU1NzIsIDEyNTU3OCwgCisgICAgMTI1NTg0LCAxMjU1OTAsIDEyNTU5NiwgMTI1NjAyLCAxMjU2MDgsIDEyNTYxNCwgMTI1NjIwLCAxMjU2MjYsIDEyNTYzNiwgCisgICAgMTI1NjQ2LCAxMjU2NTIsIDEyNTY1OCwgMTI1NjY4LCAxMjU2NzgsIDEyNTY4NCwgMCwgMCwgMTI1NjkwLCAxMjU2OTgsIAorICAgIDEyNTcwMywgMTI1NzA4LCAxMjU3MTQsIDEyNTcyMCwgMTI1NzI2LCAxMjU3MzIsIDEyNTczOCwgMTI1NzQ0LCAxMjU3NTEsIAorICAgIDEyNTc1OCwgMTI1NzY0LCAxMjU3NzAsIDEyNTc3NiwgMTI1NzgyLCAxMjU3ODgsIDEyNTc5NCwgMTI1ODAwLCAxMjU4MDYsIAorICAgIDEyNTgxMSwgMTI1ODE3LCAxMjU4MjMsIDEyNTgyOSwgMTI1ODM1LCAxMjU4NDEsIDEyNTg1MCwgMTI1ODU2LCAxMjU4NjEsIAorICAgIDEyNTg2OSwgMTI1ODc2LCAxMjU4ODMsIDEyNTg5MiwgMTI1OTAxLCAxMjU5MTAsIDEyNTkxOSwgMTI1OTI4LCAxMjU5MzcsIAorICAgIDEyNTk0NiwgMTI1OTU1LCAxMjU5NjUsIDEyNTk3NSwgMTI1OTgzLCAxMjU5OTEsIDEyNjAwMCwgMTI2MDA5LCAxMjYwMTUsIAorICAgIDEyNjAyMSwgMTI2MDI3LCAxMjYwMzMsIDEyNjA0MSwgMTI2MDQ5LCAxMjYwNTMsIDEyNjA1OSwgMTI2MDY0LCAxMjYwNzAsIAorICAgIDEyNjA3NiwgMTI2MDgyLCAxMjYwODgsIDEyNjA5NCwgMTI2MTAzLCAxMjYxMDgsIDEyNjExNSwgMTI2MTIwLCAxMjYxMjUsIAorICAgIDEyNjEzMCwgMTI2MTM2LCAxMjYxNDIsIDEyNjE0OCwgMTI2MTU1LCAxMjYxNjAsIDEyNjE2NSwgMTI2MTcwLCAxMjYxNzUsIAorICAgIDEyNjE4MCwgMTI2MTg2LCAxMjYxOTIsIDEyNjE5OCwgMTI2MjA0LCAxMjYyMTAsIDEyNjIxNiwgMTI2MjIyLCAxMjYyMjgsIAorICAgIDEyNjIzMywgMTI2MjM4LCAxMjYyNDMsIDEyNjI0OCwgMTI2MjUzLCAxMjYyNTgsIDEyNjI2MywgMTI2MjY4LCAxMjYyNzQsIAorICAgIDEyNjI4MCwgMTI2Mjg1LCAxMjYyOTAsIDEyNjI5NSwgMTI2MzAwLCAxMjYzMDUsIDEyNjMxMSwgMTI2MzE4LCAxMjYzMjIsIAorICAgIDEyNjMyNiwgMTI2MzMwLCAxMjYzMzQsIDEyNjMzOCwgMTI2MzQyLCAxMjYzNDYsIDEyNjM1MCwgMTI2MzU4LCAxMjYzNjgsIAorICAgIDEyNjM3MiwgMTI2Mzc2LCAxMjYzODIsIDEyNjM4OCwgMTI2Mzk0LCAxMjY0MDAsIDEyNjQwNiwgMTI2NDEyLCAxMjY0MTgsIAorICAgIDEyNjQyNCwgMTI2NDMwLCAxMjY0MzYsIDEyNjQ0MiwgMTI2NDQ4LCAxMjY0NTQsIDEyNjQ2MCwgMTI2NDY0LCAxMjY0NjgsIAorICAgIDEyNjQ3NSwgMTI2NDgxLCAxMjY0ODcsIDEyNjQ5MywgMTI2NDk4LCAxMjY1MDUsIDEyNjUxMCwgMTI2NTE2LCAxMjY1MjIsIAorICAgIDEyNjUyOCwgMTI2NTM0LCAxMjY1MzksIDEyNjU0MywgMTI2NTQ5LCAxMjY1NTMsIDEyNjU1NywgMTI2NTYxLCAxMjY1NjcsIAorICAgIDEyNjU3MywgMTI2NTc3LCAxMjY1ODMsIDEyNjU4OSwgMTI2NTk1LCAxMjY2MDEsIDEyNjYwNywgMTI2NjE1LCAxMjY2MjMsIAorICAgIDEyNjYyOSwgMTI2NjM1LCAxMjY2NDEsIDEyNjY0NywgMTI2NjU5LCAxMjY2NzEsIDEyNjY4NSwgMTI2Njk3LCAxMjY3MDksIAorICAgIDEyNjcyMywgMTI2NzM3LCAxMjY3NTEsIDEyNjc1NSwgMTI2NzYzLCAxMjY3NzEsIDEyNjc3NiwgMTI2NzgwLCAxMjY3ODQsIAorICAgIDEyNjc4OCwgMTI2NzkyLCAxMjY3OTYsIDEyNjgwMCwgMTI2ODA0LCAxMjY4MTAsIDEyNjgxNiwgMTI2ODIyLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMjY4MjgsIDEyNjgzNSwgMTI2ODQyLCAxMjY4NDksIDEyNjg1NiwgMTI2ODYzLCAKKyAgICAxMjY4NzAsIDEyNjg3NywgMTI2ODg0LCAxMjY4OTEsIDEyNjg5OCwgMTI2OTA1LCAxMjY5MTIsIDEyNjkxOSwgMTI2OTI2LCAKKyAgICAxMjY5MzMsIDEyNjk0MCwgMTI2OTQ3LCAxMjY5NTQsIDEyNjk2MSwgMTI2OTY4LCAxMjY5NzUsIDEyNjk4MiwgMTI2OTg5LCAKKyAgICAxMjY5OTYsIDEyNzAwMywgMTI3MDEwLCAxMjcwMTcsIDEyNzAyNCwgMTI3MDMxLCAxMjcwMzgsIDEyNzA0NSwgMTI3MDUyLCAKKyAgICAxMjcwNTksIDEyNzA2NiwgMTI3MDczLCAxMjcwODAsIDEyNzA4NywgMTI3MDk0LCAxMjcxMDEsIDEyNzEwOCwgMTI3MTE1LCAKKyAgICAxMjcxMjIsIDEyNzEyOSwgMTI3MTM2LCAxMjcxNDMsIDEyNzE1MCwgMTI3MTU3LCAxMjcxNjQsIDEyNzE3MSwgMTI3MTc4LCAKKyAgICAxMjcxODUsIDEyNzE5MiwgMTI3MTk5LCAxMjcyMDYsIDEyNzIxMywgMTI3MjIwLCAxMjcyMjcsIDEyNzIzNCwgMTI3MjQxLCAKKyAgICAxMjcyNDgsIDEyNzI1NSwgMTI3MjYyLCAxMjcyNjksIDEyNzI3NiwgMTI3MjgzLCAxMjcyOTAsIDEyNzI5NSwgMTI3MzAwLCAKKyAgICAxMjczMDUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEyNzMwOSwgCisgICAgMTI3MzE0LCAxMjczMjEsIDEyNzMyOCwgMTI3MzM1LCAxMjczNDIsIDEyNzM0NywgMTI3MzUyLCAxMjczNTksIDEyNzM2NCwgCisgICAgMTI3MzY5LCAxMjczNzYsIDEyNzM4MSwgMTI3Mzg2LCAxMjczOTEsIDEyNzM5OCwgMTI3NDA3LCAxMjc0MTIsIDEyNzQxNywgCisgICAgMTI3NDIyLCAxMjc0MjcsIDEyNzQzMiwgMTI3NDM3LCAxMjc0NDQsIDEyNzQ0OSwgMTI3NDU0LCAxMjc0NTksIDEyNzQ2NCwgCisgICAgMTI3NDY5LCAxMjc0NzQsIDEyNzQ3OSwgMTI3NDg0LCAxMjc0ODksIDEyNzQ5NCwgMTI3NDk5LCAxMjc1MDQsIDEyNzUxMCwgCisgICAgMTI3NTE1LCAxMjc1MjAsIDEyNzUyNSwgMTI3NTMwLCAxMjc1MzUsIDEyNzU0MCwgMTI3NTQ1LCAxMjc1NTAsIDEyNzU1NSwgCisgICAgMTI3NTY0LCAxMjc1NjksIDEyNzU3OCwgMTI3NTgzLCAxMjc1ODgsIDEyNzU5MywgMTI3NTk4LCAxMjc2MDMsIDEyNzYwOCwgCisgICAgMTI3NjEzLCAxMjc2MjIsIDEyNzYyNywgMTI3NjMyLCAxMjc2MzcsIDEyNzY0MiwgMTI3NjQ3LCAxMjc2NTQsIDEyNzY1OSwgCisgICAgMTI3NjY2LCAxMjc2NzEsIDEyNzY3NiwgMTI3NjgxLCAxMjc2ODYsIDEyNzY5MSwgMTI3Njk2LCAxMjc3MDEsIDEyNzcwNiwgCisgICAgMTI3NzExLCAxMjc3MTYsIDEyNzcyMSwgMTI3NzI2LCAxMjc3MzEsIDEyNzczNiwgMTI3NzQxLCAxMjc3NDYsIDEyNzc1MSwgCisgICAgMTI3NzU2LCAxMjc3NjEsIDEyNzc3MCwgMTI3Nzc1LCAxMjc3ODAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDEyNzc4NSwgMTI3NzkzLCAxMjc4MDEsIDEyNzgwOSwgMTI3ODE3LCAxMjc4MjUsIDEyNzgzMywgMTI3ODQxLCAxMjc4NDksIAorICAgIDEyNzg1NywgMTI3ODY1LCAxMjc4NzMsIDEyNzg4MSwgMTI3ODg5LCAxMjc4OTcsIDEyNzkwNSwgMTI3OTEzLCAxMjc5MjEsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEyNzkyOSwgCisgICAgMTI3OTMzLCAxMjc5MzgsIDEyNzk0MywgMTI3OTQ4LCAxMjc5NTIsIDEyNzk1NywgMTI3OTYyLCAxMjc5NjcsIDEyNzk3MSwgCisgICAgMTI3OTc2LCAxMjc5ODEsIDEyNzk4NSwgMTI3OTkwLCAxMjc5OTUsIDEyNzk5OSwgMTI4MDA0LCAxMjgwMDksIDEyODAxMywgCisgICAgMTI4MDE3LCAxMjgwMjIsIDEyODAyNiwgMTI4MDMxLCAxMjgwMzYsIDEyODA0MSwgMTI4MDQ2LCAxMjgwNTEsIDEyODA1NSwgCisgICAgMTI4MDYwLCAxMjgwNjUsIDEyODA3MCwgMTI4MDc0LCAxMjgwNzksIDEyODA4NCwgMTI4MDg5LCAxMjgwOTMsIDEyODA5OCwgCisgICAgMTI4MTAzLCAxMjgxMDcsIDEyODExMiwgMTI4MTE3LCAxMjgxMjEsIDEyODEyNiwgMTI4MTMxLCAxMjgxMzUsIDEyODEzOSwgCisgICAgMTI4MTQ0LCAxMjgxNDgsIDEyODE1MywgMTI4MTU4LCAxMjgxNjMsIDEyODE2OCwgMTI4MTczLCAxMjgxNzcsIDEyODE4MiwgCisgICAgMTI4MTg3LCAxMjgxOTIsIDEyODE5NiwgMTI4MjAxLCAxMjgyMDYsIDEyODIxMSwgMTI4MjE1LCAxMjgyMjAsIDEyODIyNSwgCisgICAgMTI4MjI5LCAxMjgyMzQsIDEyODIzOSwgMTI4MjQzLCAxMjgyNDgsIDEyODI1MywgMTI4MjU3LCAxMjgyNjEsIDEyODI2NiwgCisgICAgMTI4MjcwLCAxMjgyNzUsIDEyODI4MCwgMTI4Mjg1LCAxMjgyOTAsIDEyODI5NSwgMTI4Mjk5LCAxMjgzMDQsIDEyODMwOSwgCisgICAgMTI4MzE0LCAxMjgzMTgsIDEyODMyMywgMCwgMTI4MzI4LCAxMjgzMzIsIDEyODMzNywgMTI4MzQyLCAxMjgzNDYsIAorICAgIDEyODM1MSwgMTI4MzU2LCAxMjgzNjAsIDEyODM2NSwgMTI4MzcwLCAxMjgzNzQsIDEyODM3OCwgMTI4MzgzLCAxMjgzODcsIAorICAgIDEyODM5MiwgMTI4Mzk3LCAxMjg0MDIsIDEyODQwNywgMTI4NDEyLCAxMjg0MTcsIDEyODQyMywgMTI4NDI5LCAxMjg0MzUsIAorICAgIDEyODQ0MCwgMTI4NDQ2LCAxMjg0NTIsIDEyODQ1OCwgMTI4NDYzLCAxMjg0NjksIDEyODQ3NSwgMTI4NDgwLCAxMjg0ODYsIAorICAgIDEyODQ5MiwgMTI4NDk3LCAxMjg1MDMsIDEyODUwOSwgMTI4NTE0LCAxMjg1MTksIDEyODUyNSwgMTI4NTMwLCAxMjg1MzYsIAorICAgIDEyODU0MiwgMTI4NTQ4LCAxMjg1NTQsIDEyODU2MCwgMTI4NTY1LCAxMjg1NzEsIDEyODU3NywgMTI4NTgzLCAxMjg1ODgsIAorICAgIDEyODU5NCwgMTI4NjAwLCAxMjg2MDYsIDEyODYxMSwgMTI4NjE3LCAxMjg2MjMsIDEyODYyOCwgMTI4NjM0LCAxMjg2NDAsIAorICAgIDEyODY0NSwgMTI4NjUxLCAxMjg2NTcsIDEyODY2MiwgMTI4NjY3LCAxMjg2NzMsIDEyODY3OCwgMTI4Njg0LCAxMjg2OTAsIAorICAgIDEyODY5NiwgMTI4NzAyLCAxMjg3MDgsIDAsIDEyODcxMiwgMTI4NzE3LCAwLCAwLCAxMjg3MjIsIDAsIDAsIDEyODcyNywgCisgICAgMTI4NzMyLCAwLCAwLCAxMjg3MzcsIDEyODc0MiwgMTI4NzQ2LCAxMjg3NTEsIDAsIDEyODc1NiwgMTI4NzYwLCAxMjg3NjUsIAorICAgIDEyODc2OSwgMTI4Nzc0LCAxMjg3NzksIDEyODc4NCwgMTI4Nzg5LCAxMjg3OTQsIDEyODc5OCwgMTI4ODAzLCAxMjg4MDgsIAorICAgIDAsIDEyODgxMywgMCwgMTI4ODE4LCAxMjg4MjMsIDEyODgyNywgMTI4ODMyLCAxMjg4MzcsIDEyODg0MSwgMTI4ODQ2LCAwLCAKKyAgICAxMjg4NTEsIDEyODg1NiwgMTI4ODYxLCAxMjg4NjUsIDEyODg2OSwgMTI4ODc0LCAxMjg4NzgsIDEyODg4MywgMTI4ODg4LCAKKyAgICAxMjg4OTMsIDEyODg5OCwgMTI4OTAzLCAxMjg5MDgsIDEyODkxNCwgMTI4OTIwLCAxMjg5MjYsIDEyODkzMSwgMTI4OTM3LCAKKyAgICAxMjg5NDMsIDEyODk0OSwgMTI4OTU0LCAxMjg5NjAsIDEyODk2NiwgMTI4OTcxLCAxMjg5NzcsIDEyODk4MywgMTI4OTg4LCAKKyAgICAxMjg5OTQsIDEyOTAwMCwgMTI5MDA1LCAxMjkwMTAsIDEyOTAxNiwgMTI5MDIxLCAxMjkwMjcsIDEyOTAzMywgMTI5MDM5LCAKKyAgICAxMjkwNDUsIDEyOTA1MSwgMTI5MDU2LCAxMjkwNjIsIDEyOTA2OCwgMTI5MDc0LCAxMjkwNzksIDEyOTA4NSwgMTI5MDkxLCAKKyAgICAxMjkwOTcsIDEyOTEwMiwgMTI5MTA4LCAxMjkxMTQsIDEyOTExOSwgMTI5MTI1LCAxMjkxMzEsIDEyOTEzNiwgMTI5MTQyLCAKKyAgICAxMjkxNDgsIDEyOTE1MywgMTI5MTU4LCAxMjkxNjQsIDEyOTE2OSwgMTI5MTc1LCAxMjkxODEsIDEyOTE4NywgMTI5MTkzLCAKKyAgICAxMjkxOTksIDEyOTIwMywgMCwgMTI5MjA4LCAxMjkyMTMsIDEyOTIxNywgMTI5MjIyLCAwLCAwLCAxMjkyMjcsIDEyOTIzMiwgCisgICAgMTI5MjM3LCAxMjkyNDEsIDEyOTI0NiwgMTI5MjUxLCAxMjkyNTUsIDEyOTI2MCwgMCwgMTI5MjY1LCAxMjkyNjksIAorICAgIDEyOTI3NCwgMTI5Mjc4LCAxMjkyODMsIDEyOTI4OCwgMTI5MjkzLCAwLCAxMjkyOTgsIDEyOTMwMiwgMTI5MzA3LCAKKyAgICAxMjkzMTIsIDEyOTMxNywgMTI5MzIxLCAxMjkzMjYsIDEyOTMzMSwgMTI5MzM2LCAxMjkzNDAsIDEyOTM0NSwgMTI5MzUwLCAKKyAgICAxMjkzNTQsIDEyOTM1OSwgMTI5MzY0LCAxMjkzNjgsIDEyOTM3MywgMTI5Mzc4LCAxMjkzODIsIDEyOTM4NiwgMTI5MzkxLCAKKyAgICAxMjkzOTUsIDEyOTQwMCwgMTI5NDA1LCAxMjk0MTAsIDEyOTQxNSwgMTI5NDIwLCAxMjk0MjQsIDAsIDEyOTQyOSwgCisgICAgMTI5NDM0LCAxMjk0MzgsIDEyOTQ0MywgMCwgMTI5NDQ4LCAxMjk0NTIsIDEyOTQ1NywgMTI5NDYyLCAxMjk0NjYsIDAsIAorICAgIDEyOTQ3MSwgMCwgMCwgMCwgMTI5NDc1LCAxMjk0NzksIDEyOTQ4NCwgMTI5NDg4LCAxMjk0OTMsIDEyOTQ5OCwgMTI5NTAzLCAKKyAgICAwLCAxMjk1MDgsIDEyOTUxMiwgMTI5NTE3LCAxMjk1MjIsIDEyOTUyNywgMTI5NTMxLCAxMjk1MzYsIDEyOTU0MSwgCisgICAgMTI5NTQ2LCAxMjk1NTAsIDEyOTU1NSwgMTI5NTYwLCAxMjk1NjQsIDEyOTU2OSwgMTI5NTc0LCAxMjk1NzgsIDEyOTU4MywgCisgICAgMTI5NTg4LCAxMjk1OTIsIDEyOTU5NiwgMTI5NjAxLCAxMjk2MDUsIDEyOTYxMCwgMTI5NjE1LCAxMjk2MjAsIDEyOTYyNSwgCisgICAgMTI5NjMwLCAxMjk2MzUsIDEyOTY0MSwgMTI5NjQ3LCAxMjk2NTMsIDEyOTY1OCwgMTI5NjY0LCAxMjk2NzAsIDEyOTY3NiwgCisgICAgMTI5NjgxLCAxMjk2ODcsIDEyOTY5MywgMTI5Njk4LCAxMjk3MDQsIDEyOTcxMCwgMTI5NzE1LCAxMjk3MjEsIDEyOTcyNywgCisgICAgMTI5NzMyLCAxMjk3MzcsIDEyOTc0MywgMTI5NzQ4LCAxMjk3NTQsIDEyOTc2MCwgMTI5NzY2LCAxMjk3NzIsIDEyOTc3OCwgCisgICAgMTI5NzgzLCAxMjk3ODksIDEyOTc5NSwgMTI5ODAxLCAxMjk4MDYsIDEyOTgxMiwgMTI5ODE4LCAxMjk4MjQsIDEyOTgyOSwgCisgICAgMTI5ODM1LCAxMjk4NDEsIDEyOTg0NiwgMTI5ODUyLCAxMjk4NTgsIDEyOTg2MywgMTI5ODY5LCAxMjk4NzUsIDEyOTg4MCwgCisgICAgMTI5ODg1LCAxMjk4OTEsIDEyOTg5NiwgMTI5OTAyLCAxMjk5MDgsIDEyOTkxNCwgMTI5OTIwLCAxMjk5MjYsIDEyOTkzMCwgCisgICAgMTI5OTM1LCAxMjk5NDAsIDEyOTk0NSwgMTI5OTQ5LCAxMjk5NTQsIDEyOTk1OSwgMTI5OTY0LCAxMjk5NjgsIDEyOTk3MywgCisgICAgMTI5OTc4LCAxMjk5ODIsIDEyOTk4NywgMTI5OTkyLCAxMjk5OTYsIDEzMDAwMSwgMTMwMDA2LCAxMzAwMTAsIDEzMDAxNCwgCisgICAgMTMwMDE5LCAxMzAwMjMsIDEzMDAyOCwgMTMwMDMzLCAxMzAwMzgsIDEzMDA0MywgMTMwMDQ4LCAxMzAwNTIsIDEzMDA1NywgCisgICAgMTMwMDYyLCAxMzAwNjcsIDEzMDA3MSwgMTMwMDc2LCAxMzAwODEsIDEzMDA4NiwgMTMwMDkwLCAxMzAwOTUsIDEzMDEwMCwgCisgICAgMTMwMTA0LCAxMzAxMDksIDEzMDExNCwgMTMwMTE4LCAxMzAxMjMsIDEzMDEyOCwgMTMwMTMyLCAxMzAxMzYsIDEzMDE0MSwgCisgICAgMTMwMTQ1LCAxMzAxNTAsIDEzMDE1NSwgMTMwMTYwLCAxMzAxNjUsIDEzMDE3MCwgMTMwMTc1LCAxMzAxODEsIDEzMDE4NywgCisgICAgMTMwMTkzLCAxMzAxOTgsIDEzMDIwNCwgMTMwMjEwLCAxMzAyMTYsIDEzMDIyMSwgMTMwMjI3LCAxMzAyMzMsIDEzMDIzOCwgCisgICAgMTMwMjQ0LCAxMzAyNTAsIDEzMDI1NSwgMTMwMjYxLCAxMzAyNjcsIDEzMDI3MiwgMTMwMjc3LCAxMzAyODMsIDEzMDI4OCwgCisgICAgMTMwMjk0LCAxMzAzMDAsIDEzMDMwNiwgMTMwMzEyLCAxMzAzMTgsIDEzMDMyMywgMTMwMzI5LCAxMzAzMzUsIDEzMDM0MSwgCisgICAgMTMwMzQ2LCAxMzAzNTIsIDEzMDM1OCwgMTMwMzY0LCAxMzAzNjksIDEzMDM3NSwgMTMwMzgxLCAxMzAzODYsIDEzMDM5MiwgCisgICAgMTMwMzk4LCAxMzA0MDMsIDEzMDQwOSwgMTMwNDE1LCAxMzA0MjAsIDEzMDQyNSwgMTMwNDMxLCAxMzA0MzYsIDEzMDQ0MiwgCisgICAgMTMwNDQ4LCAxMzA0NTQsIDEzMDQ2MCwgMTMwNDY2LCAxMzA0NzEsIDEzMDQ3NywgMTMwNDgzLCAxMzA0ODksIDEzMDQ5NCwgCisgICAgMTMwNTAwLCAxMzA1MDYsIDEzMDUxMiwgMTMwNTE3LCAxMzA1MjMsIDEzMDUyOSwgMTMwNTM0LCAxMzA1NDAsIDEzMDU0NiwgCisgICAgMTMwNTUxLCAxMzA1NTcsIDEzMDU2MywgMTMwNTY4LCAxMzA1NzMsIDEzMDU3OSwgMTMwNTg0LCAxMzA1OTAsIDEzMDU5NiwgCisgICAgMTMwNjAyLCAxMzA2MDgsIDEzMDYxNCwgMTMwNjE5LCAxMzA2MjUsIDEzMDYzMSwgMTMwNjM3LCAxMzA2NDIsIDEzMDY0OCwgCisgICAgMTMwNjU0LCAxMzA2NjAsIDEzMDY2NSwgMTMwNjcxLCAxMzA2NzcsIDEzMDY4MiwgMTMwNjg4LCAxMzA2OTQsIDEzMDY5OSwgCisgICAgMTMwNzA1LCAxMzA3MTEsIDEzMDcxNiwgMTMwNzIxLCAxMzA3MjcsIDEzMDczMiwgMTMwNzM4LCAxMzA3NDQsIDEzMDc1MCwgCisgICAgMTMwNzU2LCAxMzA3NjIsIDEzMDc2OCwgMTMwNzc1LCAxMzA3ODIsIDEzMDc4OSwgMTMwNzk1LCAxMzA4MDIsIDEzMDgwOSwgCisgICAgMTMwODE2LCAxMzA4MjIsIDEzMDgyOSwgMTMwODM2LCAxMzA4NDIsIDEzMDg0OSwgMTMwODU2LCAxMzA4NjIsIDEzMDg2OSwgCisgICAgMTMwODc2LCAxMzA4ODIsIDEzMDg4OCwgMTMwODk1LCAxMzA5MDEsIDEzMDkwOCwgMTMwOTE1LCAxMzA5MjIsIDEzMDkyOSwgCisgICAgMTMwOTM2LCAxMzA5NDIsIDEzMDk0OSwgMTMwOTU2LCAxMzA5NjMsIDEzMDk2OSwgMTMwOTc2LCAxMzA5ODMsIDEzMDk5MCwgCisgICAgMTMwOTk2LCAxMzEwMDMsIDEzMTAxMCwgMTMxMDE2LCAxMzEwMjMsIDEzMTAzMCwgMTMxMDM2LCAxMzEwNDMsIDEzMTA1MCwgCisgICAgMTMxMDU2LCAxMzEwNjIsIDEzMTA2OSwgMTMxMDc1LCAxMzEwODIsIDEzMTA4OSwgMTMxMDk2LCAxMzExMDMsIDEzMTExMCwgCisgICAgMTMxMTE1LCAxMzExMjEsIDEzMTEyNywgMTMxMTMzLCAxMzExMzgsIDEzMTE0NCwgMTMxMTUwLCAxMzExNTYsIDEzMTE2MSwgCisgICAgMTMxMTY3LCAxMzExNzMsIDEzMTE3OCwgMTMxMTg0LCAxMzExOTAsIDEzMTE5NSwgMTMxMjAxLCAxMzEyMDcsIDEzMTIxMiwgCisgICAgMTMxMjE3LCAxMzEyMjMsIDEzMTIyOCwgMTMxMjM0LCAxMzEyNDAsIDEzMTI0NiwgMTMxMjUyLCAxMzEyNTgsIDEzMTI2MywgCisgICAgMTMxMjY5LCAxMzEyNzUsIDEzMTI4MSwgMTMxMjg2LCAxMzEyOTIsIDEzMTI5OCwgMTMxMzA0LCAxMzEzMDksIDEzMTMxNSwgCisgICAgMTMxMzIxLCAxMzEzMjYsIDEzMTMzMiwgMTMxMzM4LCAxMzEzNDMsIDEzMTM0OSwgMTMxMzU1LCAxMzEzNjAsIDEzMTM2NSwgCisgICAgMTMxMzcxLCAxMzEzNzYsIDEzMTM4MiwgMTMxMzg4LCAxMzEzOTQsIDEzMTQwMCwgMTMxNDA2LCAxMzE0MTIsIDAsIDAsIAorICAgIDEzMTQxOSwgMTMxNDI0LCAxMzE0MjksIDEzMTQzNCwgMTMxNDM5LCAxMzE0NDQsIDEzMTQ0OSwgMTMxNDU0LCAxMzE0NTksIAorICAgIDEzMTQ2NCwgMTMxNDY5LCAxMzE0NzQsIDEzMTQ3OSwgMTMxNDg0LCAxMzE0ODksIDEzMTQ5NCwgMTMxNDk5LCAxMzE1MDQsIAorICAgIDEzMTUxMCwgMTMxNTE1LCAxMzE1MjAsIDEzMTUyNSwgMTMxNTMwLCAxMzE1MzUsIDEzMTU0MCwgMTMxNTQ1LCAxMzE1NDksIAorICAgIDEzMTU1NCwgMTMxNTU5LCAxMzE1NjQsIDEzMTU2OSwgMTMxNTc0LCAxMzE1NzksIDEzMTU4NCwgMTMxNTg5LCAxMzE1OTQsIAorICAgIDEzMTU5OSwgMTMxNjA0LCAxMzE2MDksIDEzMTYxNCwgMTMxNjE5LCAxMzE2MjQsIDEzMTYyOSwgMTMxNjM0LCAxMzE2NDAsIAorICAgIDEzMTY0NSwgMTMxNjUwLCAxMzE2NTUsIDEzMTY2MCwgMTMxNjY1LCAxMzE2NzAsIDEzMTY3NSwgMTMxNjgxLCAxMzE2ODYsIAorICAgIDEzMTY5MSwgMTMxNjk2LCAxMzE3MDEsIDEzMTcwNiwgMTMxNzExLCAxMzE3MTYsIDEzMTcyMSwgMTMxNzI2LCAxMzE3MzEsIAorICAgIDEzMTczNiwgMTMxNzQxLCAxMzE3NDYsIDEzMTc1MSwgMTMxNzU2LCAxMzE3NjEsIDEzMTc2NiwgMTMxNzcxLCAxMzE3NzYsIAorICAgIDEzMTc4MSwgMTMxNzg2LCAxMzE3OTEsIDEzMTc5NiwgMTMxODAyLCAxMzE4MDcsIDEzMTgxMiwgMTMxODE3LCAxMzE4MjIsIAorICAgIDEzMTgyNywgMTMxODMyLCAxMzE4MzcsIDEzMTg0MSwgMTMxODQ2LCAxMzE4NTEsIDEzMTg1NiwgMTMxODYxLCAxMzE4NjYsIAorICAgIDEzMTg3MSwgMTMxODc2LCAxMzE4ODEsIDEzMTg4NiwgMTMxODkxLCAxMzE4OTYsIDEzMTkwMSwgMTMxOTA2LCAxMzE5MTEsIAorICAgIDEzMTkxNiwgMTMxOTIxLCAxMzE5MjYsIDEzMTkzMiwgMTMxOTM3LCAxMzE5NDIsIDEzMTk0NywgMTMxOTUyLCAxMzE5NTcsIAorICAgIDEzMTk2MiwgMTMxOTY3LCAxMzE5NzMsIDEzMTk3OCwgMTMxOTgzLCAxMzE5ODgsIDEzMTk5MywgMTMxOTk4LCAxMzIwMDMsIAorICAgIDEzMjAwOSwgMTMyMDE1LCAxMzIwMjEsIDEzMjAyNywgMTMyMDMzLCAxMzIwMzksIDEzMjA0NSwgMTMyMDUxLCAxMzIwNTcsIAorICAgIDEzMjA2MywgMTMyMDY5LCAxMzIwNzUsIDEzMjA4MSwgMTMyMDg3LCAxMzIwOTMsIDEzMjA5OSwgMTMyMTA1LCAxMzIxMTIsIAorICAgIDEzMjExOCwgMTMyMTI0LCAxMzIxMzAsIDEzMjEzNiwgMTMyMTQyLCAxMzIxNDgsIDEzMjE1NCwgMTMyMTU5LCAxMzIxNjUsIAorICAgIDEzMjE3MSwgMTMyMTc3LCAxMzIxODMsIDEzMjE4OSwgMTMyMTk1LCAxMzIyMDEsIDEzMjIwNywgMTMyMjEzLCAxMzIyMTksIAorICAgIDEzMjIyNSwgMTMyMjMxLCAxMzIyMzcsIDEzMjI0MywgMTMyMjQ5LCAxMzIyNTUsIDEzMjI2MSwgMTMyMjY4LCAxMzIyNzQsIAorICAgIDEzMjI4MCwgMTMyMjg2LCAxMzIyOTIsIDEzMjI5OCwgMTMyMzA0LCAxMzIzMTAsIDEzMjMxNywgMTMyMzIzLCAxMzIzMjksIAorICAgIDEzMjMzNSwgMTMyMzQxLCAxMzIzNDcsIDEzMjM1MywgMTMyMzU5LCAxMzIzNjUsIDEzMjM3MSwgMTMyMzc3LCAxMzIzODMsIAorICAgIDEzMjM4OSwgMTMyMzk1LCAxMzI0MDEsIDEzMjQwNywgMTMyNDEzLCAxMzI0MTksIDEzMjQyNSwgMTMyNDMxLCAxMzI0MzcsIAorICAgIDEzMjQ0MywgMTMyNDQ5LCAxMzI0NTUsIDEzMjQ2MiwgMTMyNDY4LCAxMzI0NzQsIDEzMjQ4MCwgMTMyNDg2LCAxMzI0OTIsIAorICAgIDEzMjQ5OCwgMTMyNTA0LCAxMzI1MDksIDEzMjUxNSwgMTMyNTIxLCAxMzI1MjcsIDEzMjUzMywgMTMyNTM5LCAxMzI1NDUsIAorICAgIDEzMjU1MSwgMTMyNTU3LCAxMzI1NjMsIDEzMjU2OSwgMTMyNTc1LCAxMzI1ODEsIDEzMjU4NywgMTMyNTkzLCAxMzI1OTksIAorICAgIDEzMjYwNSwgMTMyNjExLCAxMzI2MTgsIDEzMjYyNCwgMTMyNjMwLCAxMzI2MzYsIDEzMjY0MiwgMTMyNjQ4LCAxMzI2NTQsIAorICAgIDEzMjY2MCwgMTMyNjY3LCAxMzI2NzMsIDEzMjY3OSwgMTMyNjg1LCAxMzI2OTEsIDEzMjY5NywgMTMyNzAzLCAxMzI3MTAsIAorICAgIDEzMjcxNywgMTMyNzI0LCAxMzI3MzEsIDEzMjczOCwgMTMyNzQ1LCAxMzI3NTIsIDEzMjc1OSwgMTMyNzY2LCAxMzI3NzMsIAorICAgIDEzMjc4MCwgMTMyNzg3LCAxMzI3OTQsIDEzMjgwMSwgMTMyODA4LCAxMzI4MTUsIDEzMjgyMiwgMTMyODMwLCAxMzI4MzcsIAorICAgIDEzMjg0NCwgMTMyODUxLCAxMzI4NTgsIDEzMjg2NSwgMTMyODcyLCAxMzI4NzksIDEzMjg4NSwgMTMyODkyLCAxMzI4OTksIAorICAgIDEzMjkwNiwgMTMyOTEzLCAxMzI5MjAsIDEzMjkyNywgMTMyOTM0LCAxMzI5NDEsIDEzMjk0OCwgMTMyOTU1LCAxMzI5NjIsIAorICAgIDEzMjk2OSwgMTMyOTc2LCAxMzI5ODMsIDEzMjk5MCwgMTMyOTk3LCAxMzMwMDQsIDEzMzAxMiwgMTMzMDE5LCAxMzMwMjYsIAorICAgIDEzMzAzMywgMTMzMDQwLCAxMzMwNDcsIDEzMzA1NCwgMTMzMDYxLCAxMzMwNjksIDEzMzA3NiwgMTMzMDgzLCAxMzMwOTAsIAorICAgIDEzMzA5NywgMTMzMTA0LCAxMzMxMTEsIDEzMzExNiwgMCwgMCwgMTMzMTIxLCAxMzMxMjYsIDEzMzEzMCwgMTMzMTM0LCAKKyAgICAxMzMxMzgsIDEzMzE0MiwgMTMzMTQ2LCAxMzMxNTAsIDEzMzE1NCwgMTMzMTU4LCAxMzMxNjIsIDEzMzE2NywgMTMzMTcxLCAKKyAgICAxMzMxNzUsIDEzMzE3OSwgMTMzMTgzLCAxMzMxODcsIDEzMzE5MSwgMTMzMTk1LCAxMzMxOTksIDEzMzIwMywgMTMzMjA4LCAKKyAgICAxMzMyMTIsIDEzMzIxNiwgMTMzMjIwLCAxMzMyMjQsIDEzMzIyOCwgMTMzMjMyLCAxMzMyMzYsIDEzMzI0MCwgMTMzMjQ0LCAKKyAgICAxMzMyNTAsIDEzMzI1NSwgMTMzMjYwLCAxMzMyNjUsIDEzMzI3MCwgMTMzMjc1LCAxMzMyODAsIDEzMzI4NSwgMTMzMjkwLCAKKyAgICAxMzMyOTUsIDEzMzMwMSwgMTMzMzA2LCAxMzMzMTEsIDEzMzMxNiwgMTMzMzIxLCAxMzMzMjYsIDEzMzMzMSwgMTMzMzM2LCAKKyAgICAxMzMzNDEsIDEzMzM0NiwgMTMzMzUzLCAxMzMzNTksIDEzMzM2NiwgMTMzMzczLCAxMzMzODAsIDEzMzM4NywgMTMzMzk0LCAKKyAgICAxMzM0MDEsIDEzMzQwOCwgMTMzNDE1LCAxMzM0MjIsIDEzMzQyOSwgMTMzNDM2LCAxMzM0NDMsIDEzMzQ1MCwgMTMzNDU3LCAKKyAgICAxMzM0NjQsIDEzMzQ3MSwgMTMzNDc4LCAxMzM0ODUsIDEzMzQ5MiwgMTMzNDk5LCAxMzM1MDYsIDEzMzUxMywgMTMzNTIwLCAKKyAgICAxMzM1MjcsIDEzMzUzNCwgMTMzNTQxLCAxMzM1NDgsIDEzMzU1NSwgMTMzNTYyLCAxMzM1NjksIDEzMzU3NiwgMTMzNTgzLCAKKyAgICAxMzM1ODksIDEzMzU5NSwgMTMzNjAxLCAxMzM2MDgsIDEzMzYxNCwgMTMzNjIxLCAxMzM2MjcsIDEzMzYzNCwgMTMzNjQxLCAKKyAgICAxMzM2NDgsIDEzMzY1NSwgMTMzNjYyLCAxMzM2NjksIDEzMzY3NiwgMTMzNjgzLCAxMzM2OTAsIDEzMzY5NywgMTMzNzA0LCAKKyAgICAxMzM3MTEsIDEzMzcxOCwgMTMzNzI1LCAxMzM3MzIsIDEzMzczOSwgMTMzNzQ2LCAxMzM3NTMsIDEzMzc2MCwgMTMzNzY3LCAKKyAgICAxMzM3NzUsIDEzMzc4MiwgMTMzNzg5LCAxMzM3OTYsIDEzMzgwMywgMTMzODEwLCAxMzM4MTcsIDEzMzgyNCwgMTMzODMxLCAKKyAgICAxMzM4MzgsIDEzMzg0NSwgMTMzODUyLCAxMzM4NTksIDEzMzg2NSwgMTMzODcyLCAxMzM4NzksIDEzMzg4NiwgMTMzODkzLCAKKyAgICAxMzM5MDAsIDEzMzkwNywgMTMzOTE0LCAxMzM5MjIsIDEzMzkyOSwgMTMzOTM1LCAxMzM5NDIsIDEzMzk0OSwgMTMzOTU2LCAKKyAgICAxMzM5NjMsIDEzMzk3MCwgMTMzOTc3LCAxMzM5ODQsIDEzMzk5MSwgMTMzOTk4LCAxMzQwMDUsIDEzNDAxMiwgMTM0MDE5LCAKKyAgICAxMzQwMjYsIDEzNDAzMywgMTM0MDQwLCAxMzQwNDcsIDEzNDA1NCwgMTM0MDYxLCAxMzQwNjgsIDEzNDA3NSwgMTM0MDgxLCAKKyAgICAxMzQwODgsIDEzNDA5NSwgMTM0MTAyLCAxMzQxMDksIDEzNDExNiwgMTM0MTIzLCAxMzQxMzAsIDEzNDEzNywgMTM0MTQ0LCAKKyAgICAxMzQxNTEsIDEzNDE1OCwgMTM0MTY1LCAxMzQxNzIsIDEzNDE3OSwgMTM0MTg2LCAxMzQxOTMsIDEzNDIwMCwgMTM0MjA3LCAKKyAgICAxMzQyMTQsIDEzNDIyMSwgMTM0MjI4LCAxMzQyMzUsIDEzNDI0MywgMTM0MjUxLCAxMzQyNTksIDEzNDI2NiwgMTM0MjczLCAKKyAgICAxMzQyODAsIDEzNDI4NywgMTM0Mjk0LCAxMzQzMDEsIDEzNDMwOCwgMTM0MzE1LCAxMzQzMjIsIDEzNDMyOSwgMTM0MzM1LCAKKyAgICAxMzQzNDIsIDEzNDM0OSwgMTM0MzU2LCAxMzQzNjMsIDEzNDM3MCwgMTM0Mzc3LCAxMzQzODQsIDEzNDM5MSwgMTM0Mzk4LCAKKyAgICAxMzQ0MDUsIDEzNDQxMiwgMTM0NDE5LCAxMzQ0MjYsIDEzNDQzMywgMTM0NDQxLCAxMzQ0NDksIDEzNDQ1NywgMTM0NDY0LCAKKyAgICAxMzQ0NzEsIDEzNDQ3OCwgMTM0NDg1LCAxMzQ0OTIsIDEzNDQ5OSwgMTM0NTA2LCAxMzQ1MTMsIDEzNDUyMCwgMTM0NTI3LCAKKyAgICAxMzQ1MzQsIDEzNDU0MSwgMTM0NTQ4LCAxMzQ1NTUsIDEzNDU2MiwgMTM0NTY5LCAxMzQ1NzYsIDEzNDU4MywgMTM0NTkwLCAKKyAgICAxMzQ1OTcsIDEzNDYwNCwgMTM0NjExLCAxMzQ2MTgsIDEzNDYyNSwgMTM0NjMyLCAxMzQ2MzksIDEzNDY0NiwgMTM0NjUzLCAKKyAgICAxMzQ2NjAsIDEzNDY2NywgMTM0Njc0LCAxMzQ2ODEsIDEzNDY4OCwgMTM0Njk1LCAxMzQ3MDIsIDEzNDcwOSwgMTM0NzE2LCAKKyAgICAwLCAwLCAxMzQ3MjMsIDEzNDcyNywgMTM0NzMxLCAxMzQ3MzUsIDEzNDczOSwgMTM0NzQzLCAxMzQ3NDcsIDEzNDc1MSwgCisgICAgMTM0NzU1LCAxMzQ3NTksIDEzNDc2NSwgMTM0NzcxLCAxMzQ3NzcsIDEzNDc4MywgMTM0NzkxLCAxMzQ3OTksIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEzNDgwNSwgMTM0ODA5LCAxMzQ4MTMsIDEzNDgxNywgCisgICAgMCwgMTM0ODIxLCAxMzQ4MjUsIDEzNDgyOSwgMTM0ODMzLCAxMzQ4MzcsIDEzNDg0MSwgMTM0ODQ1LCAxMzQ4NDksIAorICAgIDEzNDg1MywgMTM0ODU3LCAxMzQ4NjEsIDEzNDg2NSwgMTM0ODY5LCAxMzQ4NzMsIDEzNDg3NywgMTM0ODgxLCAxMzQ4ODUsIAorICAgIDEzNDg4OSwgMTM0ODkzLCAxMzQ4OTcsIDEzNDkwMSwgMTM0OTA1LCAxMzQ5MDksIDEzNDkxMywgMTM0OTE5LCAxMzQ5MjUsIAorICAgIDEzNDkzMSwgMCwgMTM0OTM3LCAxMzQ5NDIsIDAsIDEzNDk0NywgMCwgMCwgMTM0OTUyLCAwLCAxMzQ5NTcsIDEzNDk2MiwgCisgICAgMTM0OTY3LCAxMzQ5NzIsIDEzNDk3NywgMTM0OTgyLCAxMzQ5ODcsIDEzNDk5MiwgMTM0OTk3LCAxMzUwMDIsIDAsIAorICAgIDEzNTAwNywgMTM1MDEyLCAxMzUwMTcsIDEzNTAyMiwgMCwgMTM1MDI3LCAwLCAxMzUwMzIsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDEzNTAzNywgMCwgMCwgMCwgMCwgMTM1MDQzLCAwLCAxMzUwNDksIDAsIDEzNTA1NSwgMCwgMTM1MDYxLCAxMzUwNjcsIAorICAgIDEzNTA3MywgMCwgMTM1MDc5LCAxMzUwODUsIDAsIDEzNTA5MSwgMCwgMCwgMTM1MDk3LCAwLCAxMzUxMDMsIDAsIDEzNTEwOSwgCisgICAgMCwgMTM1MTE1LCAwLCAxMzUxMjMsIDAsIDEzNTEzMSwgMTM1MTM3LCAwLCAxMzUxNDMsIDAsIDAsIDEzNTE0OSwgMTM1MTU1LCAKKyAgICAxMzUxNjEsIDEzNTE2NywgMCwgMTM1MTczLCAxMzUxNzksIDEzNTE4NSwgMTM1MTkxLCAxMzUxOTcsIDEzNTIwMywgCisgICAgMTM1MjA5LCAwLCAxMzUyMTUsIDEzNTIyMSwgMTM1MjI3LCAxMzUyMzMsIDAsIDEzNTIzOSwgMTM1MjQ1LCAxMzUyNTEsIAorICAgIDEzNTI1NywgMCwgMTM1MjY1LCAwLCAxMzUyNzMsIDEzNTI3OSwgMTM1Mjg1LCAxMzUyOTEsIDEzNTI5NywgMTM1MzAzLCAKKyAgICAxMzUzMDksIDEzNTMxNSwgMTM1MzIxLCAxMzUzMjcsIDAsIDEzNTMzMywgMTM1MzM5LCAxMzUzNDUsIDEzNTM1MSwgCisgICAgMTM1MzU3LCAxMzUzNjMsIDEzNTM2OSwgMTM1Mzc1LCAxMzUzODEsIDEzNTM4NywgMTM1MzkzLCAxMzUzOTksIDEzNTQwNSwgCisgICAgMTM1NDExLCAxMzU0MTcsIDEzNTQyMywgMTM1NDI5LCAwLCAwLCAwLCAwLCAwLCAxMzU0MzUsIDEzNTQ0MCwgMTM1NDQ1LCAwLCAKKyAgICAxMzU0NTAsIDEzNTQ1NSwgMTM1NDYwLCAxMzU0NjUsIDEzNTQ3MCwgMCwgMTM1NDc1LCAxMzU0ODAsIDEzNTQ4NSwgCisgICAgMTM1NDkwLCAxMzU0OTUsIDEzNTUwMCwgMTM1NTA1LCAxMzU1MTAsIDEzNTUxNSwgMTM1NTIwLCAxMzU1MjUsIDEzNTUzMCwgCisgICAgMTM1NTM1LCAxMzU1NDAsIDEzNTU0NSwgMTM1NTUwLCAxMzU1NTUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEzNTU2MCwgMTM1NTcwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMzU1NzgsIDEzNTU4NSwgMTM1NTkxLCAxMzU1OTgsIAorICAgIDEzNTYwNCwgMTM1NjExLCAxMzU2MTgsIDEzNTYyNCwgMTM1NjMxLCAxMzU2MzgsIDEzNTY0NSwgMTM1NjUzLCAxMzU2NjEsIAorICAgIDEzNTY2OSwgMTM1Njc3LCAxMzU2ODUsIDEzNTY5MywgMTM1NzAwLCAxMzU3MDcsIDEzNTcxNCwgMTM1NzIyLCAxMzU3MzAsIAorICAgIDEzNTczOCwgMTM1NzQ2LCAxMzU3NTQsIDEzNTc2MiwgMTM1NzY5LCAxMzU3NzYsIDEzNTc4MywgMTM1NzkxLCAxMzU3OTksIAorICAgIDEzNTgwNywgMTM1ODE1LCAxMzU4MjMsIDEzNTgzMSwgMTM1ODM2LCAxMzU4NDEsIDEzNTg0NiwgMTM1ODUxLCAxMzU4NTYsIAorICAgIDEzNTg2MSwgMTM1ODY2LCAxMzU4NzEsIDEzNTg3NiwgMCwgMCwgMCwgMCwgMTM1ODgxLCAxMzU4ODYsIDEzNTg5MCwgCisgICAgMTM1ODk0LCAxMzU4OTgsIDEzNTkwMiwgMTM1OTA2LCAxMzU5MTAsIDEzNTkxNCwgMTM1OTE4LCAxMzU5MjIsIDEzNTkyNiwgCisgICAgMTM1OTMwLCAxMzU5MzQsIDEzNTkzOCwgMTM1OTQyLCAxMzU5NDYsIDEzNTk1MCwgMTM1OTU0LCAxMzU5NTgsIDEzNTk2MiwgCisgICAgMTM1OTY2LCAxMzU5NzAsIDEzNTk3NCwgMTM1OTc4LCAxMzU5ODIsIDEzNTk4NiwgMTM1OTkwLCAxMzU5OTQsIDEzNTk5OCwgCisgICAgMTM2MDAyLCAxMzYwMDYsIDEzNjAxMCwgMTM2MDE0LCAxMzYwMTgsIDEzNjAyMiwgMTM2MDI2LCAxMzYwMzAsIDEzNjAzNCwgCisgICAgMTM2MDM4LCAxMzYwNDIsIDEzNjA0NiwgMTM2MDUwLCAxMzYwNTQsIDEzNjA1OCwgMTM2MDYyLCAxMzYwNjYsIDEzNjA3MCwgCisgICAgMTM2MDc0LCAxMzYwNzgsIDEzNjA4MiwgMTM2MDg3LCAxMzYwOTEsIDEzNjA5NSwgMTM2MDk5LCAxMzYxMDMsIDEzNjEwNywgCisgICAgMTM2MTExLCAxMzYxMTUsIDEzNjExOSwgMTM2MTIzLCAxMzYxMjcsIDEzNjEzMSwgMTM2MTM1LCAxMzYxMzksIDEzNjE0MywgCisgICAgMTM2MTQ3LCAxMzYxNTEsIDEzNjE1NSwgMTM2MTU5LCAxMzYxNjMsIDEzNjE2NywgMTM2MTcxLCAxMzYxNzUsIDEzNjE3OSwgCisgICAgMTM2MTgzLCAxMzYxODcsIDEzNjE5MSwgMTM2MTk1LCAxMzYxOTksIDEzNjIwMywgMTM2MjA3LCAxMzYyMTEsIDEzNjIxNSwgCisgICAgMTM2MjE5LCAxMzYyMjMsIDEzNjIyNywgMTM2MjMxLCAxMzYyMzUsIDEzNjIzOSwgMTM2MjQzLCAxMzYyNDcsIDEzNjI1MSwgCisgICAgMTM2MjU1LCAxMzYyNTksIDEzNjI2MywgMTM2MjY3LCAxMzYyNzEsIDEzNjI3NSwgMTM2Mjc5LCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAxMzYyODMsIDEzNjI4OCwgMTM2Mjk2LCAxMzYzMDMsIDEzNjMxMCwgMTM2MzE4LCAxMzYzMjYsIAorICAgIDEzNjMzNCwgMTM2MzQyLCAxMzYzNTAsIDEzNjM1OCwgMTM2MzY2LCAxMzYzNzQsIDEzNjM4MiwgMTM2MzkwLCAwLCAwLCAKKyAgICAxMzYzOTgsIDEzNjQwNiwgMTM2NDEzLCAxMzY0MjAsIDEzNjQyOCwgMTM2NDM2LCAxMzY0NDQsIDEzNjQ1MiwgMTM2NDYwLCAKKyAgICAxMzY0NjgsIDEzNjQ3NiwgMTM2NDg0LCAxMzY0OTIsIDEzNjUwMCwgMTM2NTA4LCAwLCAxMzY1MTUsIDEzNjUyMywgCisgICAgMTM2NTMwLCAxMzY1MzcsIDEzNjU0NSwgMTM2NTUzLCAxMzY1NjEsIDEzNjU2OSwgMTM2NTc3LCAxMzY1ODUsIDEzNjU5MywgCisgICAgMTM2NjAxLCAxMzY2MDksIDEzNjYxNywgMTM2NjI1LCAwLCAxMzY2MzEsIDEzNjYzOSwgMTM2NjQ2LCAxMzY2NTMsIAorICAgIDEzNjY2MSwgMTM2NjY5LCAxMzY2NzcsIDEzNjY4NSwgMTM2NjkzLCAxMzY3MDEsIDEzNjcwOSwgMTM2NzE3LCAxMzY3MjUsIAorICAgIDEzNjczMywgMTM2NzQxLCAxMzY3NDcsIDEzNjc1MiwgMTM2NzU3LCAxMzY3NjIsIDEzNjc2NywgMTM2NzcyLCAxMzY3NzcsIAorICAgIDEzNjc4MiwgMTM2Nzg3LCAxMzY3OTIsIDEzNjc5NywgMTM2ODAyLCAxMzY4MDcsIDEzNjgxMiwgMTM2ODE3LCAxMzY4MjIsIAorICAgIDEzNjgyNywgMTM2ODMyLCAxMzY4MzcsIDEzNjg0MiwgMTM2ODQ3LCAxMzY4NTIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDEzNjg1NywgMTM2ODY0LCAxMzY4NjksIDEzNjg3MywgMTM2ODc3LCAxMzY4ODEsIDEzNjg4NiwgMTM2ODkxLCAKKyAgICAxMzY4OTYsIDEzNjkwMSwgMTM2OTA2LCAxMzY5MTEsIDEzNjkxOCwgMCwgMCwgMCwgMTM2OTI2LCAxMzY5MzEsIDEzNjkzNywgCisgICAgMTM2OTQzLCAxMzY5NDksIDEzNjk1NCwgMTM2OTYwLCAxMzY5NjYsIDEzNjk3MiwgMTM2OTc3LCAxMzY5ODMsIDEzNjk4OSwgCisgICAgMTM2OTk0LCAxMzcwMDAsIDEzNzAwNiwgMTM3MDExLCAxMzcwMTcsIDEzNzAyMywgMTM3MDI4LCAxMzcwMzMsIDEzNzAzOSwgCisgICAgMTM3MDQ0LCAxMzcwNTAsIDEzNzA1NiwgMTM3MDYyLCAxMzcwNjgsIDEzNzA3NCwgMTM3MDg0LCAxMzcwOTEsIDEzNzA5NywgCisgICAgMTM3MTAwLCAwLCAxMzcxMDMsIDEzNzEwOCwgMTM3MTE0LCAxMzcxMjAsIDEzNzEyNiwgMTM3MTMxLCAxMzcxMzcsIAorICAgIDEzNzE0MywgMTM3MTQ5LCAxMzcxNTQsIDEzNzE2MCwgMTM3MTY2LCAxMzcxNzEsIDEzNzE3NywgMTM3MTgzLCAxMzcxODgsIAorICAgIDEzNzE5NCwgMTM3MjAwLCAxMzcyMDUsIDEzNzIxMCwgMTM3MjE2LCAxMzcyMjEsIDEzNzIyNywgMTM3MjMzLCAxMzcyMzksIAorICAgIDEzNzI0NSwgMTM3MjUxLCAxMzcyNTQsIDEzNzI1NywgMTM3MjYwLCAxMzcyNjMsIDEzNzI2NiwgMTM3MjY5LCAxMzcyNzUsIAorICAgIDEzNzI4MiwgMTM3Mjg5LCAxMzcyOTYsIDEzNzMwMiwgMTM3MzA5LCAxMzczMTYsIDEzNzMyMywgMTM3MzI5LCAxMzczMzYsIAorICAgIDEzNzM0MywgMTM3MzQ5LCAxMzczNTYsIDEzNzM2MywgMTM3MzY5LCAxMzczNzYsIDEzNzM4MywgMTM3Mzg5LCAxMzczOTUsIAorICAgIDEzNzQwMiwgMTM3NDA4LCAxMzc0MTUsIDEzNzQyMiwgMTM3NDI5LCAxMzc0MzYsIDEzNzQ0MywgMTM3NDQ4LCAwLCAwLCAwLCAKKyAgICAwLCAxMzc0NTMsIDEzNzQ1OSwgMTM3NDY2LCAxMzc0NzMsIDEzNzQ4MCwgMTM3NDg2LCAxMzc0OTMsIDEzNzUwMCwgCisgICAgMTM3NTA3LCAxMzc1MTMsIDEzNzUyMCwgMTM3NTI3LCAxMzc1MzMsIDEzNzU0MCwgMTM3NTQ3LCAxMzc1NTMsIDEzNzU2MCwgCisgICAgMTM3NTY3LCAxMzc1NzMsIDEzNzU3OSwgMTM3NTg2LCAxMzc1OTIsIDEzNzU5OSwgMTM3NjA2LCAxMzc2MTMsIDEzNzYyMCwgCisgICAgMTM3NjI3LCAxMzc2MzYsIDEzNzY0MCwgMTM3NjQzLCAxMzc2NDcsIDEzNzY1MSwgMTM3NjU1LCAxMzc2NTgsIDEzNzY2MSwgCisgICAgMTM3NjY0LCAxMzc2NjcsIDEzNzY3MCwgMTM3NjczLCAxMzc2NzYsIDEzNzY3OSwgMTM3NjgyLCAxMzc2ODgsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDEzNzY5MSwgMTM3Njk4LCAxMzc3MDYsIDEzNzcxNCwgMTM3NzIyLCAxMzc3MjksIDEzNzczNywgMTM3NzQ1LCAxMzc3NTMsIAorICAgIDEzNzc2MCwgMTM3NzY4LCAxMzc3NzYsIDEzNzc4MywgMTM3NzkxLCAxMzc3OTksIDEzNzgwNiwgMTM3ODE0LCAxMzc4MjIsIAorICAgIDEzNzgyOSwgMTM3ODM2LCAxMzc4NDQsIDEzNzg1MSwgMTM3ODU5LCAxMzc4NjcsIDEzNzg3NSwgMTM3ODgzLCAxMzc4OTEsIAorICAgIDEzNzg5NSwgMTM3ODk5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMzc5MDMsIDEzNzkwOSwgCisgICAgMTM3OTE1LCAxMzc5MjEsIDEzNzkyNSwgMTM3OTMxLCAxMzc5MzcsIDEzNzk0MywgMTM3OTQ5LCAxMzc5NTUsIDEzNzk2MSwgCisgICAgMTM3OTY3LCAxMzc5NzMsIDEzNzk3OSwgMTM3OTg1LCAxMzc5OTEsIDEzNzk5NywgMTM4MDAzLCAxMzgwMDksIDEzODAxNSwgCisgICAgMTM4MDIxLCAxMzgwMjcsIDEzODAzMywgMTM4MDM5LCAxMzgwNDUsIDEzODA1MSwgMTM4MDU3LCAxMzgwNjMsIDEzODA2OSwgCisgICAgMTM4MDc1LCAxMzgwODEsIDEzODA4NywgMTM4MDkzLCAxMzgwOTksIDEzODEwNSwgMTM4MTExLCAxMzgxMTcsIDEzODEyMywgCisgICAgMTM4MTI5LCAxMzgxMzUsIDEzODE0MSwgMTM4MTQ3LCAxMzgxNTMsIDAsIDAsIDAsIDAsIDAsIDEzODE1OSwgMTM4MTcwLCAKKyAgICAxMzgxODEsIDEzODE5MiwgMTM4MjAzLCAxMzgyMTQsIDEzODIyNSwgMTM4MjM2LCAxMzgyNDcsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDEzODI1OCwgMTM4MjYyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMzgyNjYsIDEzODI2OCwgMTM4MjcwLCAxMzgyNzQsIAorICAgIDEzODI3OSwgMTM4Mjg0LCAxMzgyODYsIDEzODI5MiwgMTM4Mjk3LCAxMzgyOTksIDEzODMwNSwgMTM4MzA5LCAxMzgzMTEsIAorICAgIDEzODMxNSwgMTM4MzIxLCAxMzgzMjcsIDEzODMzMywgMTM4MzM4LCAxMzgzNDIsIDEzODM0OSwgMTM4MzU2LCAxMzgzNjMsIAorICAgIDEzODM2OCwgMTM4Mzc1LCAxMzgzODIsIDEzODM4OSwgMTM4MzkzLCAxMzgzOTksIDEzODQwOCwgMTM4NDE3LCAxMzg0MjQsIAorICAgIDEzODQyOSwgMTM4NDMzLCAxMzg0MzcsIDEzODQzOSwgMTM4NDQyLCAxMzg0NDUsIDEzODQ1MiwgMTM4NDU5LCAxMzg0NjksIAorICAgIDEzODQ3NCwgMTM4NDc5LCAxMzg0ODQsIDEzODQ4OSwgMTM4NDkxLCAwLCAwLCAwLCAxMzg0OTcsIDEzODQ5OSwgMTM4NTAxLCAKKyAgICAxMzg1MDUsIDEzODUwOSwgMTM4NTEzLCAxMzg1MTUsIDEzODUxOSwgMTM4NTIxLCAxMzg1MjUsIDEzODUyNywgMTM4NTI5LCAKKyAgICAxMzg1MzEsIDEzODUzMywgMTM4NTM4LCAxMzg1NDMsIDEzODU0NSwgMTM4NTUxLCAxMzg1NTUsIDEzODU1OSwgMTM4NTY3LCAKKyAgICAxMzg1NjksIDEzODU3MSwgMTM4NTczLCAxMzg1NzUsIDEzODU3NywgMTM4NTc5LCAxMzg1ODEsIDEzODU4MywgMTM4NTg1LCAKKyAgICAxMzg1ODcsIDEzODU5MSwgMTM4NTk1LCAxMzg1OTcsIDEzODU5OSwgMTM4NjAxLCAxMzg2MDMsIDEzODYwNSwgMTM4NjEwLCAKKyAgICAxMzg2MTYsIDEzODYyMCwgMTM4NjI0LCAxMzg2MjgsIDEzODYzMiwgMTM4NjM3LCAxMzg2NDEsIDEzODY0MywgMTM4NjQ1LCAKKyAgICAxMzg2NDksIDEzODY1NSwgMTM4NjU3LCAxMzg2NTksIDEzODY2MSwgMTM4NjY1LCAxMzg2NzQsIDEzODY4MCwgMTM4Njg0LCAKKyAgICAxMzg2ODgsIDEzODY5MCwgMTM4NjkyLCAxMzg2OTUsIDEzODY5NywgMTM4Njk5LCAxMzg3MDEsIDEzODcwNSwgMTM4NzA3LCAKKyAgICAxMzg3MTEsIDEzODcxNiwgMTM4NzE4LCAxMzg3MjMsIDEzODcyOSwgMTM4NzM2LCAxMzg3NDAsIDEzODc0NCwgMTM4NzQ4LCAKKyAgICAxMzg3NTIsIDEzODc1OCwgMTM4NzYyLCAwLCAwLCAxMzg3NzAsIDEzODc3MiwgMTM4Nzc2LCAxMzg3ODAsIDEzODc4MiwgCisgICAgMTM4Nzg2LCAxMzg3OTAsIDEzODc5MiwgMTM4Nzk2LCAxMzg3OTgsIDEzODgwMiwgMTM4ODA2LCAxMzg4MTAsIDEzODgxNCwgCisgICAgMTM4ODE4LCAxMzg4MjIsIDEzODgyNiwgMTM4ODMwLCAxMzg4MzYsIDEzODg0MCwgMTM4ODQ0LCAxMzg4NTUsIDEzODg2MCwgCisgICAgMTM4ODY0LCAxMzg4NjgsIDEzODg3NCwgMTM4ODc4LCAxMzg4ODIsIDEzODg4NiwgMTM4ODkzLCAxMzg5MDAsIDEzODkwNCwgCisgICAgMTM4OTA4LCAxMzg5MTIsIDEzODkxNiwgMTM4OTIwLCAxMzg5MjcsIDEzODkyOSwgMTM4OTMzLCAxMzg5MzUsIDEzODkzNywgCisgICAgMTM4OTQxLCAxMzg5NDUsIDEzODk0OSwgMTM4OTUxLCAxMzg5NTUsIDEzODk1OSwgMTM4OTYzLCAxMzg5NjcsIDEzODk3MSwgCisgICAgMTM4OTczLCAxMzg5NzcsIDEzODk3OSwgMTM4OTg1LCAxMzg5ODgsIDEzODk5MywgMTM4OTk1LCAxMzg5OTcsIDEzOTAwMCwgCisgICAgMTM5MDAyLCAxMzkwMDQsIDEzOTAwNywgMTM5MDE0LCAxMzkwMjEsIDEzOTAyOCwgMTM5MDMzLCAxMzkwMzcsIDEzOTAzOSwgCisgICAgMTM5MDQxLCAxMzkwNDMsIDEzOTA0NywgMTM5MDQ5LCAxMzkwNTMsIDEzOTA1NywgMTM5MDYxLCAxMzkwNjMsIDEzOTA2NywgCisgICAgMTM5MDY5LCAxMzkwNzMsIDAsIDAsIDAsIDAsIDAsIDEzOTA3NywgMTM5MDgzLCAxMzkwODUsIDEzOTA5MCwgMTM5MDk0LCAKKyAgICAxMzkwOTgsIDEzOTEwMCwgMTM5MTA2LCAxMzkxMTAsIDEzOTExMiwgMTM5MTE2LCAxMzkxMjAsIDEzOTEyMiwgMTM5MTI2LCAKKyAgICAxMzkxMzEsIDEzOTEzNSwgMTM5MTQxLCAxMzkxNDcsIDEzOTE0OSwgMTM5MTUxLCAxMzkxNTcsIDEzOTE1OSwgMTM5MTYzLCAKKyAgICAxMzkxNjcsIDEzOTE2OSwgMTM5MTczLCAxMzkxNzUsIDEzOTE3OSwgMTM5MTgzLCAxMzkxODcsIDEzOTE5MCwgMTM5MTkzLCAKKyAgICAxMzkxOTgsIDEzOTIwMywgMTM5MjA1LCAxMzkyMDgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEzOTIxMCwgMTM5MjEyLCAKKyAgICAxMzkyMTQsIDEzOTIxNiwgMTM5MjIwLCAxMzkyMjIsIDEzOTIyNCwgMTM5MjI2LCAxMzkyMjgsIDEzOTIzMCwgMTM5MjMyLCAKKyAgICAxMzkyMzQsIDEzOTIzNiwgMTM5MjM4LCAxMzkyNDAsIDEzOTI0MiwgMTM5MjQ0LCAxMzkyNDYsIDEzOTI0OCwgMTM5MjUwLCAKKyAgICAxMzkyNTIsIDEzOTI1NCwgMTM5MjU2LCAxMzkyNTgsIDEzOTI2MCwgMTM5MjYyLCAxMzkyNjQsIDEzOTI2OCwgMTM5MjcwLCAKKyAgICAxMzkyNzIsIDEzOTI3NCwgMTM5Mjc4LCAxMzkyODAsIDEzOTI4NCwgMTM5Mjg2LCAxMzkyODgsIDEzOTI5MiwgMTM5Mjk2LCAKKyAgICAxMzkzMDIsIDEzOTMwNCwgMTM5MzA2LCAxMzkzMDgsIDEzOTMxMCwgMTM5MzE0LCAxMzkzMTgsIDEzOTMyMCwgMTM5MzI0LCAKKyAgICAxMzkzMjgsIDEzOTMzMiwgMTM5MzM2LCAxMzkzNDAsIDEzOTM0NCwgMTM5MzQ4LCAxMzkzNTIsIDEzOTM1NiwgMTM5MzYwLCAKKyAgICAxMzkzNjQsIDEzOTM2OCwgMTM5MzcyLCAxMzkzNzYsIDEzOTM4MCwgMTM5Mzg0LCAxMzkzODgsIDEzOTM5MiwgMTM5Mzk0LCAKKyAgICAxMzkzOTYsIDEzOTM5OCwgMTM5NDAwLCAxMzk0MDIsIDEzOTQwNCwgMTM5NDA2LCAxMzk0MTQsIDEzOTQyMiwgMTM5NDMwLCAKKyAgICAxMzk0MzgsIDEzOTQ0MywgMTM5NDQ4LCAxMzk0NTMsIDEzOTQ1NywgMTM5NDYxLCAxMzk0NjYsIDEzOTQ3MSwgMTM5NDczLCAKKyAgICAxMzk0NzcsIDEzOTQ3OSwgMTM5NDgxLCAxMzk0ODMsIDEzOTQ4NSwgMTM5NDg3LCAxMzk0ODksIDEzOTQ5MSwgMTM5NDk1LCAKKyAgICAxMzk0OTcsIDEzOTQ5OSwgMTM5NTAxLCAxMzk1MDUsIDEzOTUwOSwgMTM5NTEzLCAxMzk1MTcsIDEzOTUyMSwgMTM5NTIzLCAKKyAgICAxMzk1MjksIDEzOTUzNSwgMTM5NTM3LCAxMzk1MzksIDEzOTU0MSwgMTM5NTQzLCAxMzk1NDUsIDEzOTU1NCwgMTM5NTYxLCAKKyAgICAxMzk1NjgsIDEzOTU3MiwgMTM5NTc5LCAxMzk1ODQsIDEzOTU5MSwgMTM5NjAwLCAxMzk2MDUsIDEzOTYwOSwgMTM5NjEzLCAKKyAgICAxMzk2MTUsIDEzOTYxOSwgMTM5NjIxLCAxMzk2MjUsIDEzOTYyOSwgMTM5NjMxLCAxMzk2MzUsIDEzOTYzOSwgMTM5NjQzLCAKKyAgICAxMzk2NDUsIDEzOTY0NywgMTM5NjUzLCAxMzk2NTUsIDEzOTY1NywgMTM5NjU5LCAxMzk2NjMsIDEzOTY2NywgMTM5NjY5LCAKKyAgICAxMzk2NzMsIDEzOTY3NSwgMTM5Njc3LCAxMzk2ODAsIDEzOTY4NCwgMTM5Njg2LCAxMzk2OTAsIDEzOTY5MiwgMTM5Njk0LCAKKyAgICAxMzk2OTksIDEzOTcwMSwgMTM5NzA1LCAxMzk3MDksIDEzOTcxMiwgMTM5NzE2LCAxMzk3MjAsIDEzOTcyNCwgMTM5NzI4LCAKKyAgICAxMzk3MzIsIDEzOTczNiwgMTM5NzQwLCAxMzk3NDUsIDEzOTc0OSwgMTM5NzUzLCAxMzk3NjIsIDEzOTc2NywgMTM5NzcwLCAKKyAgICAxMzk3NzIsIDEzOTc3NSwgMTM5Nzc4LCAxMzk3ODMsIDEzOTc4NSwgMTM5Nzg4LCAxMzk3OTMsIDEzOTc5NywgMTM5ODAwLCAKKyAgICAxMzk4MDQsIDEzOTgwOCwgMTM5ODExLCAxMzk4MTYsIDEzOTgyMCwgMTM5ODI0LCAxMzk4MjgsIDEzOTgzMiwgMTM5ODM4LCAKKyAgICAxMzk4NDQsIDEzOTg1MCwgMTM5ODU2LCAxMzk4NjEsIDEzOTg3MSwgMTM5ODczLCAxMzk4NzcsIDEzOTg3OSwgMTM5ODgxLCAKKyAgICAxMzk4ODUsIDEzOTg4OSwgMTM5ODkxLCAxMzk4OTUsIDEzOTkwMSwgMTM5OTA2LCAxMzk5MTIsIDEzOTkxNCwgMTM5OTE4LCAKKyAgICAxMzk5MjEsIDEzOTkyNywgMTM5OTMzLCAxMzk5MzcsIDEzOTkzOSwgMTM5OTQxLCAxMzk5NDUsIDEzOTk0NywgMTM5OTUxLCAKKyAgICAxMzk5NTUsIDEzOTk1OSwgMTM5OTYxLCAxMzk5NjMsIDEzOTk3MCwgMTM5OTc0LCAxMzk5NzgsIDEzOTk4MiwgMTM5OTg2LCAKKyAgICAxMzk5OTAsIDEzOTk5MiwgMTM5OTk2LCAxMzk5OTgsIDE0MDAwMCwgMTQwMDA0LCAxNDAwMDYsIDE0MDAxMCwgMTQwMDE0LCAKKyAgICAxNDAwMjAsIDE0MDAyNCwgMTQwMDI4LCAxNDAwMzIsIDE0MDAzNCwgMTQwMDM3LCAxNDAwNDEsIDE0MDA0NywgMTQwMDU2LCAKKyAgICAxNDAwNjUsIDE0MDA3NCwgMTQwMDgzLCAxNDAwODUsIDE0MDA4OSwgMTQwMDkxLCAxNDAwOTUsIDE0MDEwNiwgMTQwMTEwLCAKKyAgICAxNDAxMTYsIDE0MDEyMiwgMTQwMTI3LCAxNDAxMjksIDE0MDEzNCwgMTQwMTM4LCAxNDAxNDAsIDE0MDE0MiwgMTQwMTQ0LCAKKyAgICAxNDAxNDgsIDAsIDE0MDE1MiwgMTQwMTU3LCAxNDAxNjgsIDE0MDE4NCwgMTQwMTk1LCAxNDAyMDYsIDE0MDIxMCwgCisgICAgMTQwMjE0LCAxNDAyMjAsIDE0MDIyMiwgMTQwMjMwLCAxNDAyMzgsIDE0MDI0MCwgMTQwMjQ0LCAxNDAyNTAsIDE0MDI1NiwgCisgICAgMTQwMjYzLCAxNDAyNzAsIDE0MDI3MiwgMTQwMjc0LCAxNDAyNzgsIDE0MDI4MCwgMTQwMjg2LCAxNDAyODgsIDE0MDI5MSwgCisgICAgMTQwMjk1LCAxNDAzMDEsIDE0MDMwNywgMTQwMzE4LCAxNDAzMjQsIDE0MDMzMCwgMTQwMzM4LCAxNDAzNDIsIDE0MDM1MCwgCisgICAgMTQwMzU4LCAxNDAzNjQsIDE0MDM3MCwgMTQwMzc3LCAxNDAzNzksIDE0MDM4MywgMTQwMzg1LCAxNDAzODcsIDE0MDM5MiwgCisgICAgMTQwMzk0LCAxNDAzOTYsIDE0MDM5OCwgMTQwNDAwLCAxNDA0MDQsIDE0MDQxNSwgMTQwNDIxLCAxNDA0MjUsIDE0MDQyOSwgCisgICAgMTQwNDMzLCAxNDA0MzksIDE0MDQ0NSwgMTQwNDUxLCAxNDA0NTcsIDE0MDQ2MiwgMTQwNDY3LCAxNDA0NzMsIDE0MDQ3OSwgCisgICAgMTQwNDg2LCAxNDA0OTMsIDE0MDUwMSwgMTQwNTA5LCAxNDA1MTQsIDE0MDUyMiwgMTQwNTI2LCAxNDA1MzUsIDE0MDU0NCwgCisgICAgMTQwNTUwLCAxNDA1NTQsIDE0MDU1OCwgMTQwNTYyLCAxNDA1NjUsIDAsIDAsIDAsIDAsIDAsIDE0MDU3MCwgMTQwNTc3LCAKKyAgICAxNDA1ODQsIDE0MDU5MSwgMTQwNTk5LCAxNDA2MDcsIDE0MDYxNSwgMTQwNjIzLCAxNDA2MzEsIDE0MDYzOSwgMTQwNjQ3LCAKKyAgICAxNDA2NTUsIDE0MDY2MywgMTQwNjY5LCAxNDA2NzUsIDE0MDY4MSwgMTQwNjg3LCAxNDA2OTMsIDE0MDY5OSwgMTQwNzA1LCAKKyAgICAxNDA3MTEsIDE0MDcxNywgMTQwNzIzLCAxNDA3MjksIDE0MDczNSwgMTQwNzM4LCAxNDA3NDcsIDE0MDc1NiwgMTQwNzU4LCAKKyAgICAxNDA3NjUsIDE0MDc2OSwgMTQwNzcxLCAxNDA3NzMsIDE0MDc3NywgMTQwNzgzLCAxNDA3ODcsIDE0MDc4OSwgMTQwNzk5LCAKKyAgICAxNDA4MDUsIDE0MDgwOSwgMTQwODExLCAxNDA4MTUsIDAsIDE0MDgxNywgMTQwODI0LCAxNDA4MzEsIDE0MDgzOCwgCisgICAgMTQwODQzLCAxNDA4NDgsIDE0MDg1NywgMTQwODYzLCAxNDA4NjgsIDE0MDg3MiwgMTQwODc3LCAxNDA4ODEsIDE0MDg4OCwgCisgICAgMTQwODkyLCAxNDA4OTUsIDE0MDkwMCwgMTQwOTA3LCAxNDA5MTQsIDE0MDkxOSwgMTQwOTI0LCAxNDA5MjksIDE0MDkzNSwgCisgICAgMTQwOTQ0LCAxNDA5NTUsIDE0MDk2MSwgMTQwOTY3LCAxNDA5NzMsIDE0MDk4NCwgMTQxMDAwLCAxNDEwMDksIDE0MTAxNywgCisgICAgMTQxMDI1LCAxNDEwMzMsIDE0MTA0MSwgMTQxMDQ5LCAxNDEwNTcsIDE0MTA2NSwgMTQxMDczLCAxNDEwODEsIDE0MTA4OSwgCisgICAgMTQxMDk3LCAwLCAxNDExMDUsIDE0MTEwOSwgMTQxMTE0LCAxNDExMTksIDE0MTEyMSwgMTQxMTI1LCAxNDExMzQsIAorICAgIDE0MTE0MywgMTQxMTUxLCAxNDExNTUsIDE0MTE1OSwgMTQxMTY0LCAxNDExNjksIDE0MTE3NCwgMTQxMTc2LCAxNDExODEsIAorICAgIDE0MTE4NSwgMTQxMTg3LCAxNDExOTEsIDE0MTE5NSwgMTQxMjAxLCAxNDEyMDYsIDE0MTIxNCwgMTQxMjE5LCAxNDEyMjQsIAorICAgIDE0MTIyOSwgMTQxMjM2LCAxNDEyMzksIDE0MTI0MSwgMTQxMjQ1LCAxNDEyNTAsIDE0MTI1NSwgMTQxMjU5LCAxNDEyNjMsIAorICAgIDE0MTI2OSwgMTQxMjc1LCAxNDEyNzcsIDE0MTI4MSwgMTQxMjg1LCAxNDEyODksIDE0MTI5MywgMTQxMjk3LCAxNDEyOTksIAorICAgIDE0MTMwMSwgMTQxMzAzLCAxNDEzMDUsIDE0MTMxMSwgMTQxMzE3LCAxNDEzMjEsIDE0MTMyMywgMTQxMzI1LCAxNDEzMjcsIAorICAgIDE0MTMzNiwgMTQxMzQwLCAxNDEzNDcsIDE0MTM1NCwgMTQxMzU2LCAxNDEzNTksIDE0MTM2MywgMTQxMzY5LCAxNDEzNzMsIAorICAgIDE0MTM3NywgMTQxMzc5LCAxNDEzODcsIDE0MTM5MSwgMTQxMzk1LCAxNDE0MDAsIDE0MTQwNSwgMTQxNDEwLCAxNDE0MTUsIAorICAgIDE0MTQyMCwgMTQxNDI1LCAxNDE0MzAsIDE0MTQzNSwgMTQxNDQwLCAxNDE0NDUsIDE0MTQ0OSwgMTQxNDU1LCAxNDE0NTksIAorICAgIDE0MTQ2NSwgMTQxNDcwLCAxNDE0NzcsIDE0MTQ4MywgMTQxNDkxLCAxNDE0OTUsIDE0MTUwMiwgMTQxNTA2LCAxNDE1MTAsIAorICAgIDE0MTUxNCwgMTQxNTE5LCAxNDE1MjQsIDE0MTUyNiwgMTQxNTMwLCAxNDE1MzksIDE0MTU0NywgMTQxNTU2LCAxNDE1NzAsIAorICAgIDE0MTU4NCwgMTQxNTk4LCAxNDE2MDUsIDE0MTYxMiwgMTQxNjE2LCAxNDE2MjUsIDE0MTYzMywgMTQxNjM3LCAxNDE2NDYsIAorICAgIDE0MTY1MywgMTQxNjU3LCAxNDE2NjEsIDE0MTY2NSwgMTQxNjY5LCAxNDE2NzYsIDE0MTY4MCwgMTQxNjg0LCAxNDE2ODgsIAorICAgIDE0MTY5MiwgMTQxNjk5LCAxNDE3MDgsIDE0MTcxNywgMTQxNzI0LCAxNDE3MzYsIDE0MTc0OCwgMTQxNzUyLCAxNDE3NTYsIAorICAgIDE0MTc2MCwgMTQxNzY0LCAxNDE3NjgsIDE0MTc3MiwgMTQxNzgwLCAxNDE3ODgsIDE0MTc5NywgMTQxODAxLCAxNDE4MDUsIAorICAgIDE0MTgwOSwgMTQxODEzLCAxNDE4MTcsIDE0MTgyMSwgMTQxODI3LCAxNDE4MzQsIDE0MTgzOCwgMTQxODUwLCAxNDE4NTgsIAorICAgIDE0MTg2MiwgMTQxODY2LCAxNDE4NzAsIDE0MTg3NCwgMTQxODgwLCAxNDE4ODcsIDE0MTg5OCwgMTQxOTA4LCAxNDE5MTksIAorICAgIDE0MTkzMCwgMTQxOTM5LCAxNDE5NTAsIDE0MTk1NiwgMTQxOTYyLCAxNDE5NjgsIDE0MTk3NCwgMCwgMCwgMTQxOTgwLCAKKyAgICAxNDE5ODksIDE0MTk5NiwgMTQyMDAyLCAxNDIwMDYsIDE0MjAxMCwgMTQyMDE0LCAxNDIwMjMsIDE0MjAzNSwgMTQyMDM5LCAKKyAgICAxNDIwNDYsIDE0MjA1MywgMTQyMDYwLCAxNDIwNjcsIDE0MjA3NCwgMTQyMDgxLCAxNDIwODksIDE0MjA5NywgMTQyMTA1LCAKKyAgICAxNDIxMTMsIDE0MjEyMiwgMTQyMTMxLCAxNDIxNDAsIDE0MjE0OSwgMTQyMTU5LCAxNDIxNjksIDE0MjE3OSwgMTQyMTg5LCAKKyAgICAxNDIxOTYsIDE0MjIwMywgMTQyMjEwLCAxNDIyMTcsIDE0MjIyNSwgMTQyMjMzLCAxNDIyNDEsIDE0MjI0OSwgMTQyMjU2LCAKKyAgICAxNDIyNjgsIDE0MjI3NSwgMTQyMjg3LCAxNDIyOTAsIDE0MjI5MywgMTQyMjk2LCAxNDIyOTksIDE0MjMwNSwgMTQyMzEyLCAKKyAgICAxNDIzMTksIDE0MjMyNywgMTQyMzMyLCAxNDIzMzgsIDE0MjM0OSwgMTQyMzU5LCAxNDIzNzAsIDE0MjM3NSwgMTQyMzgwLCAKKyAgICAxNDIzODYsIDE0MjM5MSwgMTQyMzk4LCAxNDI0MDIsIDE0MjQwOCwgMTQyNDEwLCAxNDI0MTIsIDE0MjQxNiwgMTQyNDIwLCAKKyAgICAxNDI0MjQsIDE0MjQzMywgMTQyNDM1LCAxNDI0MzcsIDE0MjQ0MCwgMTQyNDQyLCAxNDI0NDQsIDE0MjQ0OCwgMTQyNDUwLCAKKyAgICAxNDI0NTQsIDE0MjQ1NiwgMTQyNDYwLCAxNDI0NjIsIDE0MjQ2NCwgMTQyNDY4LCAxNDI0NzIsIDE0MjQ3OCwgMTQyNDgwLCAKKyAgICAxNDI0ODQsIDE0MjQ4NiwgMTQyNDkwLCAxNDI0OTQsIDE0MjQ5OCwgMTQyNTAyLCAxNDI1MDQsIDE0MjUwNiwgMTQyNTEwLCAKKyAgICAxNDI1MTQsIDE0MjUxOCwgMTQyNTIyLCAxNDI1MjQsIDE0MjUyNiwgMTQyNTI4LCAxNDI1MzMsIDE0MjUzOCwgMTQyNTQxLCAKKyAgICAxNDI1NDksIDE0MjU1NywgMTQyNTU5LCAxNDI1NjQsIDE0MjU2NywgMTQyNTcyLCAxNDI1ODMsIDE0MjU5MCwgMTQyNTk1LCAKKyAgICAxNDI2MDAsIDE0MjYwMiwgMTQyNjA2LCAxNDI2MDgsIDE0MjYxMiwgMTQyNjE0LCAxNDI2MTgsIDE0MjYyMiwgMTQyNjI1LCAKKyAgICAxNDI2MjgsIDE0MjYzMCwgMTQyNjMzLCAxNDI2MzUsIDE0MjYzOSwgMTQyNjQxLCAxNDI2NDMsIDE0MjY0NSwgMTQyNjQ5LCAKKyAgICAxNDI2NTEsIDE0MjY1NSwgMTQyNjU4LCAxNDI2NjUsIDE0MjY2OCwgMTQyNjczLCAxNDI2NzYsIDE0MjY3OSwgMTQyNjg0LCAKKyAgICAxNDI2ODgsIDE0MjY5MiwgMTQyNjk2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAxNDI2OTgsIDE0MjcwMywgMTQyNzA1LCAxNDI3MDksIDE0MjcxMSwgMTQyNzE1LCAxNDI3MTksIDE0MjcyNSwgMTQyNzI5LCAKKyAgICAxNDI3MzQsIDE0MjczNywgMTQyNzQxLCAxNDI3NDUsIDAsIDAsIDAsIDE0Mjc0OSwgMTQyNzUxLCAxNDI3NTcsIDE0Mjc2MSwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTQyNzY1LCAxNDI3NzAsIDE0Mjc3NSwgMTQyNzgwLCAKKyAgICAxNDI3ODUsIDE0Mjc5MCwgMTQyNzk1LCAxNDI4MDIsIDE0MjgwOSwgMTQyODE2LCAxNDI4MjMsIDE0MjgyOCwgMTQyODMzLCAKKyAgICAxNDI4MzgsIDE0Mjg0MywgMTQyODUwLCAxNDI4NTYsIDE0Mjg2MywgMTQyODcwLCAxNDI4NzcsIDE0Mjg4MiwgMTQyODg3LCAKKyAgICAxNDI4OTIsIDE0Mjg5NywgMTQyOTAyLCAxNDI5MDksIDE0MjkxNiwgMTQyOTIxLCAxNDI5MjYsIDE0MjkzMywgMTQyOTQwLCAKKyAgICAxNDI5NDgsIDE0Mjk1NiwgMTQyOTYzLCAxNDI5NzAsIDE0Mjk3OCwgMTQyOTg2LCAxNDI5OTQsIDE0MzAwMSwgMTQzMDExLCAKKyAgICAxNDMwMjIsIDE0MzAyNywgMTQzMDM0LCAxNDMwNDEsIDE0MzA0OCwgMTQzMDU2LCAxNDMwNjQsIDE0MzA3NSwgMTQzMDgzLCAKKyAgICAxNDMwOTEsIDE0MzA5OSwgMTQzMTA0LCAxNDMxMDksIDE0MzExNCwgMTQzMTE5LCAxNDMxMjQsIDE0MzEyOSwgMTQzMTM0LCAKKyAgICAxNDMxMzksIDE0MzE0NCwgMTQzMTQ5LCAxNDMxNTQsIDE0MzE1OSwgMTQzMTY2LCAxNDMxNzEsIDE0MzE3NiwgMTQzMTgzLCAKKyAgICAxNDMxODgsIDE0MzE5MywgMTQzMTk4LCAxNDMyMDMsIDE0MzIwOCwgMTQzMjEzLCAxNDMyMTgsIDE0MzIyMywgMTQzMjI4LCAKKyAgICAxNDMyMzMsIDE0MzIzOCwgMTQzMjQzLCAxNDMyNTAsIDE0MzI1OCwgMTQzMjYzLCAxNDMyNjgsIDE0MzI3NSwgMTQzMjgwLCAKKyAgICAxNDMyODUsIDE0MzI5MCwgMTQzMjk3LCAxNDMzMDIsIDE0MzMwOSwgMTQzMzE0LCAxNDMzMjEsIDE0MzMyNiwgMTQzMzM1LCAKKyAgICAxNDMzNDQsIDE0MzM0OSwgMTQzMzU0LCAxNDMzNTksIDE0MzM2NCwgMTQzMzY5LCAxNDMzNzQsIDE0MzM3OSwgMTQzMzg0LCAKKyAgICAxNDMzODksIDE0MzM5NCwgMTQzMzk5LCAxNDM0MDQsIDE0MzQwOSwgMTQzNDE3LCAxNDM0MjUsIDE0MzQzMCwgMTQzNDM1LCAKKyAgICAxNDM0NDAsIDE0MzQ0NSwgMTQzNDUwLCAxNDM0NTYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDE0MzQ2MiwgMTQzNDcwLCAxNDM0NzgsIDE0MzQ4NiwgMTQzNDk0LCAxNDM1MDAsIDE0MzUwNiwgMTQzNTEwLCAxNDM1MTQsIAorICAgIDE0MzUyMCwgMTQzNTI2LCAxNDM1MzUsIDE0MzUzOSwgMTQzNTQ0LCAxNDM1NTAsIDE0MzU1NCwgMTQzNTU5LCAxNDM1NjMsIAorICAgIDE0MzU2NywgMTQzNTczLCAxNDM1NzksIDE0MzU4OSwgMTQzNTk4LCAxNDM2MDEsIDE0MzYwNiwgMTQzNjEyLCAxNDM2MTgsIAorICAgIDE0MzYyOSwgMTQzNjM5LCAxNDM2NDMsIDE0MzY0OCwgMTQzNjU0LCAxNDM2NjAsIDE0MzY2OSwgMTQzNjc0LCAxNDM2NzgsIAorICAgIDE0MzY4MywgMTQzNjg3LCAxNDM2OTMsIDE0MzY5OSwgMTQzNzA1LCAxNDM3MDksIDE0MzcxMiwgMTQzNzE2LCAxNDM3MTksIAorICAgIDE0MzcyMiwgMTQzNzI3LCAxNDM3MzIsIDE0MzczOSwgMTQzNzQ3LCAxNDM3NTQsIDE0Mzc2MSwgMTQzNzcwLCAxNDM3NzksIAorICAgIDE0Mzc4NiwgMTQzNzk0LCAxNDM4MDEsIDE0MzgwOCwgMTQzODE3LCAxNDM4MjYsIDE0MzgzMywgMTQzODQxLCAxNDM4NDgsIAorICAgIDE0Mzg1NSwgMTQzODY0LCAxNDM4NzEsIDE0Mzg3OSwgMTQzODg1LCAxNDM4OTQsIDE0MzkwMiwgMTQzOTExLCAxNDM5MTgsIAorICAgIDE0MzkyOCwgMTQzOTM5LCAxNDM5NDcsIDE0Mzk1NSwgMTQzOTY0LCAxNDM5NzIsIDE0Mzk4MCwgMTQzOTg5LCAxNDM5OTcsIAorICAgIDE0NDAwNywgMTQ0MDE2LCAxNDQwMjQsIDE0NDAzMiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMTQ0MDQxLCAxNDQwNDksIDE0NDA1NywgMTQ0MDY1LCAxNDQwNzMsIDE0NDA4MiwgMTQ0MDkxLCAKKyAgICAxNDQxMDAsIDE0NDEwOSwgMTQ0MTE4LCAxNDQxMjcsIDE0NDEzNiwgMCwgMCwgMCwgMCwgMTQ0MTQ1LCAxNDQxNTMsIAorICAgIDE0NDE2MSwgMTQ0MTY5LCAxNDQxNzcsIDE0NDE4NCwgMTQ0MTkxLCAxNDQxOTgsIDE0NDIwNSwgMTQ0MjEzLCAxNDQyMjEsIAorICAgIDE0NDIyOSwgMTQ0MjM3LCAxNDQyNDcsIDE0NDI1NywgMTQ0MjY3LCAxNDQyNzcsIDE0NDI4NiwgMTQ0Mjk1LCAxNDQzMDQsIAorICAgIDE0NDMxMywgMTQ0MzIyLCAxNDQzMzEsIDE0NDM0MCwgMTQ0MzQ5LCAxNDQzNTcsIDE0NDM2NSwgMTQ0MzczLCAxNDQzODEsIAorICAgIDE0NDM4OSwgMTQ0Mzk3LCAxNDQ0MDUsIDE0NDQxMywgMTQ0NDIzLCAxNDQ0MzMsIDE0NDQ0MywgMTQ0NDUzLCAxNDQ0NTcsIAorICAgIDE0NDQ2MSwgMTQ0NDY1LCAxNDQ0NjksIDE0NDQ3MiwgMTQ0NDc1LCAxNDQ0NzgsIDE0NDQ4MSwgMTQ0NDg1LCAxNDQ0ODksIAorICAgIDE0NDQ5MywgMTQ0NDk3LCAxNDQ1MDIsIDE0NDUwNywgMTQ0NTEyLCAxNDQ1MTcsIDE0NDUyMCwgMTQ0NTIzLCAxNDQ1MjYsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE0NDUyOSwgMTQ0NTMyLCAxNDQ1MzUsIDE0NDUzOCwgMTQ0NTQxLCAxNDQ1NDYsIAorICAgIDE0NDU1MSwgMTQ0NTU2LCAxNDQ1NjEsIDE0NDU2NSwgMCwgMCwgMCwgMCwgMCwgMCwgMTQ0NTY5LCAxNDQ1NzUsIDE0NDU4MSwgCisgICAgMTQ0NTg3LCAxNDQ1OTMsIDE0NDYwMSwgMTQ0NjA5LCAxNDQ2MTcsIDE0NDYyNSwgMTQ0NjMwLCAxNDQ2MzUsIDE0NDY0MCwgCisgICAgMTQ0NjQ1LCAxNDQ2NTIsIDE0NDY1OSwgMTQ0NjY2LCAxNDQ2NzMsIDE0NDY4MCwgMTQ0Njg3LCAxNDQ2OTQsIDE0NDcwMSwgCisgICAgMTQ0NzEwLCAxNDQ3MTksIDE0NDcyOCwgMTQ0NzM3LCAxNDQ3NDMsIDE0NDc0OSwgMTQ0NzU1LCAxNDQ3NjEsIDE0NDc2OSwgCisgICAgMTQ0Nzc3LCAxNDQ3ODUsIDE0NDc5MywgMTQ0ODAxLCAxNDQ4MDksIDE0NDgxNywgMTQ0ODI1LCAxNDQ4MzUsIDE0NDg0NSwgCisgICAgMTQ0ODU1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNDQ4NjUsIDE0NDg3MCwgMTQ0ODc1LCAxNDQ4ODAsIDE0NDg4NSwgCisgICAgMTQ0ODk0LCAxNDQ5MDMsIDE0NDkxMiwgMTQ0OTIxLCAxNDQ5MjgsIDE0NDkzNSwgMTQ0OTQyLCAxNDQ5NDksIDE0NDk1NiwgCisgICAgMTQ0OTY1LCAxNDQ5NzQsIDE0NDk4MywgMTQ0OTg4LCAxNDQ5OTUsIDE0NTAwMiwgMTQ1MDA5LCAxNDUwMTQsIDE0NTAxOSwgCisgICAgMTQ1MDI0LCAxNDUwMjksIDE0NTAzNiwgMTQ1MDQzLCAxNDUwNTAsIDE0NTA1NywgMTQ1MDY0LCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAxNDUwNzMsIDE0NTA3NywgMTQ1MDgxLCAxNDUwODUsIDE0NTA4OSwgMTQ1MDkzLCAxNDUwOTcsIAorICAgIDE0NTEwMSwgMTQ1MTA1LCAxNDUxMDksIDE0NTExMywgMTQ1MTE3LCAxNDUxMjEsIDE0NTEyNSwgMTQ1MTI5LCAxNDUxMzMsIAorICAgIDE0NTEzNywgMTQ1MTQxLCAxNDUxNDUsIDE0NTE0OSwgMTQ1MTUzLCAxNDUxNTcsIDE0NTE2MSwgMTQ1MTY1LCAxNDUxNjksIAorICAgIDE0NTE3MywgMTQ1MTc3LCAxNDUxODEsIDE0NTE4NSwgMTQ1MTg5LCAxNDUxOTMsIDE0NTE5NywgMTQ1MjAxLCAxNDUyMDUsIAorICAgIDE0NTIwOSwgMTQ1MjEzLCAxNDUyMTcsIDE0NTIyMSwgMTQ1MjI1LCAxNDUyMjksIDE0NTIzMywgMTQ1MjM3LCAxNDUyNDEsIAorICAgIDE0NTI0NSwgMTQ1MjQ5LCAxNDUyNTMsIDE0NTI1NywgMTQ1MjYxLCAxNDUyNjUsIDE0NTI2OSwgMTQ1MjczLCAxNDUyNzcsIAorICAgIDE0NTI4MSwgMTQ1Mjg1LCAxNDUyODksIDE0NTI5MywgMTQ1Mjk3LCAxNDUzMDEsIDE0NTMwNSwgMTQ1MzA5LCAxNDUzMTMsIAorICAgIDE0NTMxNywgMTQ1MzIxLCAxNDUzMjUsIDE0NTMyOSwgMTQ1MzMzLCAxNDUzMzcsIDE0NTM0MSwgMTQ1MzQ1LCAxNDUzNDksIAorICAgIDE0NTM1MywgMTQ1MzU3LCAxNDUzNjEsIDE0NTM2NSwgMTQ1MzY5LCAxNDUzNzMsIDE0NTM3NywgMTQ1MzgxLCAxNDUzODUsIAorICAgIDE0NTM4OSwgMTQ1MzkzLCAxNDUzOTcsIDE0NTQwMSwgMTQ1NDA1LCAxNDU0MDksIDE0NTQxMywgMTQ1NDE3LCAxNDU0MjEsIAorICAgIDE0NTQyNSwgMTQ1NDI5LCAxNDU0MzMsIDE0NTQzNywgMTQ1NDQxLCAxNDU0NDUsIDE0NTQ0OSwgMTQ1NDUzLCAxNDU0NTcsIAorICAgIDE0NTQ2MSwgMTQ1NDY1LCAxNDU0NjksIDE0NTQ3MywgMTQ1NDc3LCAxNDU0ODEsIDE0NTQ4NSwgMTQ1NDg5LCAxNDU0OTMsIAorICAgIDE0NTQ5NywgMTQ1NTAxLCAxNDU1MDUsIDE0NTUwOSwgMTQ1NTEzLCAxNDU1MTcsIDE0NTUyMSwgMTQ1NTI1LCAxNDU1MjksIAorICAgIDE0NTUzMywgMTQ1NTM3LCAxNDU1NDEsIDE0NTU0NSwgMTQ1NTQ5LCAxNDU1NTMsIDE0NTU1NywgMTQ1NTYxLCAxNDU1NjUsIAorICAgIDE0NTU2OSwgMTQ1NTczLCAxNDU1NzcsIDE0NTU4MSwgMTQ1NTg1LCAxNDU1ODksIDE0NTU5MywgMTQ1NTk3LCAxNDU2MDEsIAorICAgIDE0NTYwNSwgMTQ1NjA5LCAxNDU2MTMsIDE0NTYxNywgMTQ1NjIxLCAxNDU2MjUsIDE0NTYyOSwgMTQ1NjMzLCAxNDU2MzcsIAorICAgIDE0NTY0MSwgMTQ1NjQ1LCAxNDU2NDksIDE0NTY1MywgMTQ1NjU3LCAxNDU2NjEsIDE0NTY2NSwgMTQ1NjY5LCAxNDU2NzMsIAorICAgIDE0NTY3NywgMTQ1NjgxLCAxNDU2ODUsIDE0NTY4OSwgMTQ1NjkzLCAxNDU2OTcsIDE0NTcwMSwgMTQ1NzA1LCAxNDU3MDksIAorICAgIDE0NTcxMywgMTQ1NzE3LCAxNDU3MjEsIDE0NTcyNSwgMTQ1NzI5LCAxNDU3MzMsIDE0NTczNywgMTQ1NzQxLCAxNDU3NDUsIAorICAgIDE0NTc0OSwgMTQ1NzUzLCAxNDU3NTcsIDE0NTc2MSwgMTQ1NzY1LCAxNDU3NjksIDE0NTc3MywgMTQ1Nzc3LCAxNDU3ODEsIAorICAgIDE0NTc4NSwgMTQ1Nzg5LCAxNDU3OTMsIDE0NTc5NywgMTQ1ODAxLCAxNDU4MDUsIDE0NTgwOSwgMTQ1ODEzLCAxNDU4MTcsIAorICAgIDE0NTgyMSwgMTQ1ODI1LCAxNDU4MjksIDE0NTgzMywgMTQ1ODM3LCAxNDU4NDEsIDE0NTg0NSwgMTQ1ODQ5LCAxNDU4NTMsIAorICAgIDE0NTg1NywgMTQ1ODYxLCAxNDU4NjUsIDE0NTg2OSwgMTQ1ODczLCAxNDU4NzcsIDE0NTg4MSwgMTQ1ODg1LCAxNDU4ODksIAorICAgIDE0NTg5MywgMTQ1ODk3LCAxNDU5MDEsIDE0NTkwNSwgMTQ1OTA5LCAxNDU5MTMsIDE0NTkxNywgMTQ1OTIxLCAxNDU5MjUsIAorICAgIDE0NTkyOSwgMTQ1OTMzLCAxNDU5MzcsIDE0NTk0MSwgMTQ1OTQ1LCAxNDU5NDksIDE0NTk1MywgMTQ1OTU3LCAxNDU5NjEsIAorICAgIDE0NTk2NSwgMTQ1OTY5LCAxNDU5NzMsIDE0NTk3NywgMTQ1OTgxLCAxNDU5ODUsIDE0NTk4OSwgMTQ1OTkzLCAxNDU5OTcsIAorICAgIDE0NjAwMSwgMTQ2MDA1LCAxNDYwMDksIDE0NjAxMywgMTQ2MDE3LCAxNDYwMjEsIDE0NjAyNSwgMTQ2MDI5LCAxNDYwMzMsIAorICAgIDE0NjAzNywgMTQ2MDQxLCAxNDYwNDUsIDE0NjA0OSwgMTQ2MDUzLCAxNDYwNTcsIDE0NjA2MSwgMTQ2MDY1LCAxNDYwNjksIAorICAgIDE0NjA3MywgMTQ2MDc3LCAxNDYwODEsIDE0NjA4NSwgMTQ2MDg5LCAxNDYwOTMsIDE0NjA5NywgMTQ2MTAxLCAxNDYxMDUsIAorICAgIDE0NjEwOSwgMTQ2MTEzLCAxNDYxMTcsIDE0NjEyMSwgMTQ2MTI1LCAxNDYxMjksIDE0NjEzMywgMTQ2MTM3LCAxNDYxNDEsIAorICAgIDE0NjE0NSwgMTQ2MTQ5LCAxNDYxNTMsIDE0NjE1NywgMTQ2MTYxLCAxNDYxNjUsIDE0NjE2OSwgMTQ2MTczLCAxNDYxNzcsIAorICAgIDE0NjE4MSwgMTQ2MTg1LCAxNDYxODksIDE0NjE5MywgMTQ2MTk3LCAxNDYyMDEsIDE0NjIwNSwgMTQ2MjA5LCAxNDYyMTMsIAorICAgIDE0NjIxNywgMTQ2MjIxLCAxNDYyMjUsIDE0NjIyOSwgMTQ2MjMzLCAxNDYyMzcsIDE0NjI0MSwgMTQ2MjQ1LCAxNDYyNDksIAorICAgIDE0NjI1MywgMTQ2MjU3LCAxNDYyNjEsIDE0NjI2NSwgMTQ2MjY5LCAxNDYyNzMsIDE0NjI3NywgMTQ2MjgxLCAxNDYyODUsIAorICAgIDE0NjI4OSwgMTQ2MjkzLCAxNDYyOTcsIDE0NjMwMSwgMTQ2MzA1LCAxNDYzMDksIDE0NjMxMywgMTQ2MzE3LCAxNDYzMjEsIAorICAgIDE0NjMyNSwgMTQ2MzI5LCAxNDYzMzMsIDE0NjMzNywgMTQ2MzQxLCAxNDYzNDUsIDE0NjM0OSwgMTQ2MzUzLCAxNDYzNTcsIAorICAgIDE0NjM2MSwgMTQ2MzY1LCAxNDYzNjksIDE0NjM3MywgMTQ2Mzc3LCAxNDYzODEsIDE0NjM4NSwgMTQ2Mzg5LCAxNDYzOTMsIAorICAgIDE0NjM5NywgMTQ2NDAxLCAxNDY0MDUsIDE0NjQwOSwgMTQ2NDEzLCAxNDY0MTcsIDE0NjQyMSwgMTQ2NDI1LCAxNDY0MjksIAorICAgIDE0NjQzMywgMTQ2NDM3LCAxNDY0NDEsIDE0NjQ0NSwgMTQ2NDQ5LCAxNDY0NTMsIDE0NjQ1NywgMTQ2NDYxLCAxNDY0NjUsIAorICAgIDE0NjQ2OSwgMTQ2NDczLCAxNDY0NzcsIDE0NjQ4MSwgMTQ2NDg1LCAxNDY0ODksIDE0NjQ5MywgMTQ2NDk3LCAxNDY1MDEsIAorICAgIDE0NjUwNSwgMTQ2NTA5LCAxNDY1MTMsIDE0NjUxNywgMTQ2NTIxLCAxNDY1MjUsIDE0NjUyOSwgMTQ2NTMzLCAxNDY1MzcsIAorICAgIDE0NjU0MSwgMTQ2NTQ1LCAxNDY1NDksIDE0NjU1MywgMTQ2NTU3LCAxNDY1NjEsIDE0NjU2NSwgMTQ2NTY5LCAxNDY1NzMsIAorICAgIDE0NjU3NywgMTQ2NTgxLCAxNDY1ODUsIDE0NjU4OSwgMTQ2NTkzLCAxNDY1OTcsIDE0NjYwMSwgMTQ2NjA1LCAxNDY2MDksIAorICAgIDE0NjYxMywgMTQ2NjE3LCAxNDY2MjEsIDE0NjYyNSwgMTQ2NjI5LCAxNDY2MzMsIDE0NjYzNywgMTQ2NjQxLCAxNDY2NDUsIAorICAgIDE0NjY0OSwgMTQ2NjUzLCAxNDY2NTcsIDE0NjY2MSwgMTQ2NjY1LCAxNDY2NjksIDE0NjY3MywgMTQ2Njc3LCAxNDY2ODEsIAorICAgIDE0NjY4NSwgMTQ2Njg5LCAxNDY2OTMsIDE0NjY5NywgMTQ2NzAxLCAxNDY3MDUsIDE0NjcwOSwgMTQ2NzEzLCAxNDY3MTcsIAorICAgIDE0NjcyMSwgMTQ2NzI1LCAxNDY3MjksIDE0NjczMywgMTQ2NzM3LCAxNDY3NDEsIDE0Njc0NSwgMTQ2NzQ5LCAxNDY3NTMsIAorICAgIDE0Njc1NywgMTQ2NzYxLCAxNDY3NjUsIDE0Njc2OSwgMTQ2NzczLCAxNDY3NzcsIDE0Njc4MSwgMTQ2Nzg1LCAxNDY3ODksIAorICAgIDE0Njc5MywgMTQ2Nzk3LCAxNDY4MDEsIDE0NjgwNSwgMTQ2ODA5LCAxNDY4MTMsIDE0NjgxNywgMTQ2ODIxLCAxNDY4MjUsIAorICAgIDE0NjgyOSwgMTQ2ODMzLCAxNDY4MzcsIDE0Njg0MSwgMTQ2ODQ1LCAxNDY4NDksIDE0Njg1MywgMTQ2ODU3LCAxNDY4NjEsIAorICAgIDE0Njg2NSwgMTQ2ODY5LCAxNDY4NzMsIDE0Njg3NywgMTQ2ODgxLCAxNDY4ODUsIDE0Njg4OSwgMTQ2ODkzLCAxNDY4OTcsIAorICAgIDE0NjkwMSwgMTQ2OTA1LCAxNDY5MDksIDE0NjkxMywgMTQ2OTE3LCAxNDY5MjEsIDE0NjkyNSwgMTQ2OTI5LCAxNDY5MzMsIAorICAgIDE0NjkzNywgMTQ2OTQxLCAxNDY5NDUsIDE0Njk0OSwgMTQ2OTUzLCAxNDY5NTcsIDE0Njk2MSwgMTQ2OTY1LCAxNDY5NjksIAorICAgIDE0Njk3MywgMTQ2OTc3LCAxNDY5ODEsIDE0Njk4NSwgMTQ2OTg5LCAxNDY5OTMsIDE0Njk5NywgMTQ3MDAxLCAxNDcwMDUsIAorICAgIDE0NzAwOSwgMTQ3MDEzLCAxNDcwMTcsIDE0NzAyMSwgMTQ3MDI1LCAxNDcwMjksIDE0NzAzMywgMTQ3MDM3LCAxNDcwNDEsIAorICAgIDE0NzA0NSwgMTQ3MDQ5LCAxNDcwNTMsIDE0NzA1NywgMTQ3MDYxLCAxNDcwNjUsIDE0NzA2OSwgMTQ3MDczLCAxNDcwNzcsIAorICAgIDE0NzA4MSwgMTQ3MDg1LCAxNDcwODksIDE0NzA5MywgMTQ3MDk3LCAxNDcxMDEsIDE0NzEwNSwgMTQ3MTA5LCAxNDcxMTMsIAorICAgIDE0NzExNywgMTQ3MTIxLCAxNDcxMjUsIDE0NzEyOSwgMTQ3MTMzLCAxNDcxMzcsIDE0NzE0MSwgMTQ3MTQ1LCAxNDcxNDksIAorICAgIDE0NzE1MywgMTQ3MTU3LCAxNDcxNjEsIDE0NzE2NSwgMTQ3MTY5LCAxNDcxNzMsIDE0NzE3NywgMTQ3MTgxLCAxNDcxODUsIAorICAgIDE0NzE4OSwgMTQ3MTkzLCAxNDcxOTcsIDE0NzIwMSwgMTQ3MjA1LCAxNDcyMDksIDE0NzIxMywgMTQ3MjE3LCAxNDcyMjEsIAorICAgIDE0NzIyNSwgMTQ3MjI5LCAxNDcyMzMsIDE0NzIzNywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTQ3MjQxLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAxNDcyNDUsIDE0NzI0OCwgMTQ3MjUyLCAxNDcyNTYsIDE0NzI1OSwgMTQ3MjYzLCAxNDcyNjcsIAorICAgIDE0NzI3MCwgMTQ3MjczLCAxNDcyNzcsIDE0NzI4MSwgMTQ3Mjg0LCAxNDcyODcsIDE0NzI5MCwgMTQ3MjkzLCAxNDcyOTgsIAorICAgIDE0NzMwMSwgMTQ3MzA1LCAxNDczMDgsIDE0NzMxMSwgMTQ3MzE0LCAxNDczMTcsIDE0NzMyMCwgMTQ3MzIzLCAxNDczMjYsIAorICAgIDE0NzMyOSwgMTQ3MzMyLCAxNDczMzUsIDE0NzMzOCwgMTQ3MzQyLCAxNDczNDYsIDE0NzM1MCwgMTQ3MzU0LCAxNDczNTksIAorICAgIDE0NzM2NCwgMTQ3MzcwLCAxNDczNzYsIDE0NzM4MiwgMTQ3Mzg3LCAxNDczOTMsIDE0NzM5OSwgMTQ3NDA1LCAxNDc0MTAsIAorICAgIDE0NzQxNiwgMTQ3NDIyLCAxNDc0MjcsIDE0NzQzMywgMTQ3NDM5LCAxNDc0NDQsIDE0NzQ1MCwgMTQ3NDU2LCAxNDc0NjEsIAorICAgIDE0NzQ2NiwgMTQ3NDcyLCAxNDc0NzcsIDE0NzQ4MywgMTQ3NDg5LCAxNDc0OTUsIDE0NzUwMSwgMTQ3NTA3LCAxNDc1MTEsIAorICAgIDE0NzUxNiwgMTQ3NTIwLCAxNDc1MjUsIDE0NzUyOSwgMTQ3NTM0LCAxNDc1MzksIDE0NzU0NSwgMTQ3NTUxLCAxNDc1NTcsIAorICAgIDE0NzU2MiwgMTQ3NTY4LCAxNDc1NzQsIDE0NzU4MCwgMTQ3NTg1LCAxNDc1OTEsIDE0NzU5NywgMTQ3NjAyLCAxNDc2MDgsIAorICAgIDE0NzYxNCwgMTQ3NjE5LCAxNDc2MjUsIDE0NzYzMSwgMTQ3NjM2LCAxNDc2NDEsIDE0NzY0NywgMTQ3NjUyLCAxNDc2NTgsIAorICAgIDE0NzY2NCwgMTQ3NjcwLCAxNDc2NzYsIDE0NzY4MiwgMTQ3Njg3LCAxNDc2OTEsIDE0NzY5NiwgMTQ3Njk5LCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAxNDc3MDMsIDE0NzcwNiwgMTQ3NzA5LCAxNDc3MTIsIDE0NzcxNSwgMTQ3NzE4LCAxNDc3MjEsIAorICAgIDE0NzcyNCwgMTQ3NzI3LCAxNDc3MzAsIDE0NzczMywgMTQ3NzM2LCAxNDc3MzksIDE0Nzc0MiwgMTQ3NzQ1LCAxNDc3NDgsIAorICAgIDE0Nzc1MSwgMTQ3NzU0LCAxNDc3NTcsIDE0Nzc2MCwgMTQ3NzYzLCAxNDc3NjYsIDE0Nzc2OSwgMTQ3NzcyLCAxNDc3NzUsIAorICAgIDE0Nzc3OCwgMTQ3NzgxLCAxNDc3ODQsIDE0Nzc4NywgMTQ3NzkwLCAxNDc3OTMsIDE0Nzc5NiwgMTQ3Nzk5LCAxNDc4MDIsIAorICAgIDE0NzgwNSwgMTQ3ODA4LCAxNDc4MTEsIDE0NzgxNCwgMTQ3ODE3LCAxNDc4MjAsIDE0NzgyMywgMTQ3ODI2LCAxNDc4MjksIAorICAgIDE0NzgzMiwgMTQ3ODM1LCAxNDc4MzgsIDE0Nzg0MSwgMTQ3ODQ0LCAxNDc4NDcsIDE0Nzg1MCwgMTQ3ODUzLCAxNDc4NTYsIAorICAgIDE0Nzg1OSwgMTQ3ODYyLCAxNDc4NjUsIDE0Nzg2OCwgMTQ3ODcxLCAxNDc4NzQsIDE0Nzg3NywgMTQ3ODgwLCAxNDc4ODMsIAorICAgIDE0Nzg4NiwgMTQ3ODg5LCAxNDc4OTIsIDE0Nzg5NSwgMTQ3ODk4LCAxNDc5MDEsIDE0NzkwNCwgMTQ3OTA3LCAxNDc5MTAsIAorICAgIDE0NzkxMywgMTQ3OTE2LCAxNDc5MTksIDE0NzkyMiwgMTQ3OTI1LCAxNDc5MjgsIDE0NzkzMSwgMTQ3OTM0LCAxNDc5MzcsIAorICAgIDE0Nzk0MCwgMTQ3OTQzLCAxNDc5NDYsIDE0Nzk0OSwgMTQ3OTUyLCAxNDc5NTUsIDE0Nzk1OCwgMTQ3OTYxLCAxNDc5NjQsIAorICAgIDE0Nzk2NywgMTQ3OTcwLCAxNDc5NzMsIDE0Nzk3NiwgMTQ3OTc5LCAxNDc5ODIsIDE0Nzk4NSwgMTQ3OTg4LCAxNDc5OTEsIAorICAgIDE0Nzk5NCwgMTQ3OTk3LCAxNDgwMDAsIDE0ODAwMywgMTQ4MDA2LCAxNDgwMDksIDE0ODAxMiwgMTQ4MDE1LCAxNDgwMTgsIAorICAgIDE0ODAyMSwgMTQ4MDI0LCAxNDgwMjcsIDE0ODAzMCwgMTQ4MDMzLCAxNDgwMzYsIDE0ODAzOSwgMTQ4MDQyLCAxNDgwNDUsIAorICAgIDE0ODA0OCwgMTQ4MDUxLCAxNDgwNTQsIDE0ODA1NywgMTQ4MDYwLCAxNDgwNjMsIDE0ODA2NiwgMTQ4MDY5LCAxNDgwNzIsIAorICAgIDE0ODA3NSwgMTQ4MDc4LCAxNDgwODEsIDE0ODA4NCwgMTQ4MDg3LCAxNDgwOTAsIDE0ODA5MywgMTQ4MDk2LCAxNDgwOTksIAorICAgIDE0ODEwMiwgMTQ4MTA1LCAxNDgxMDgsIDE0ODExMSwgMTQ4MTE0LCAxNDgxMTcsIDE0ODEyMCwgMTQ4MTIzLCAxNDgxMjYsIAorICAgIDE0ODEyOSwgMTQ4MTMyLCAxNDgxMzUsIDE0ODEzOCwgMTQ4MTQxLCAxNDgxNDQsIDE0ODE0NywgMTQ4MTUwLCAxNDgxNTMsIAorICAgIDE0ODE1NiwgMTQ4MTU5LCAxNDgxNjIsIDE0ODE2NSwgMTQ4MTY4LCAxNDgxNzEsIDE0ODE3NCwgMTQ4MTc3LCAxNDgxODAsIAorICAgIDE0ODE4MywgMTQ4MTg2LCAxNDgxODksIDE0ODE5MiwgMTQ4MTk1LCAxNDgxOTgsIDE0ODIwMSwgMTQ4MjA0LCAxNDgyMDcsIAorICAgIDE0ODIxMCwgMTQ4MjEzLCAxNDgyMTYsIDE0ODIxOSwgMTQ4MjIyLCAxNDgyMjUsIDE0ODIyOCwgMTQ4MjMxLCAxNDgyMzQsIAorICAgIDE0ODIzNywgMTQ4MjQwLCAxNDgyNDMsIDE0ODI0NiwgMTQ4MjQ5LCAxNDgyNTIsIDE0ODI1NSwgMTQ4MjU4LCAxNDgyNjEsIAorICAgIDE0ODI2NCwgMTQ4MjY3LCAxNDgyNzAsIDE0ODI3MywgMTQ4Mjc2LCAxNDgyNzksIDE0ODI4MiwgMTQ4Mjg1LCAxNDgyODgsIAorICAgIDE0ODI5MSwgMTQ4Mjk0LCAxNDgyOTcsIDE0ODMwMCwgMTQ4MzAzLCAxNDgzMDYsIDE0ODMwOSwgMTQ4MzEyLCAxNDgzMTUsIAorICAgIDE0ODMxOCwgMTQ4MzIxLCAxNDgzMjQsIDE0ODMyNywgMTQ4MzMwLCAxNDgzMzMsIDE0ODMzNiwgMTQ4MzM5LCAxNDgzNDIsIAorICAgIDE0ODM0NSwgMTQ4MzQ4LCAxNDgzNTEsIDE0ODM1NCwgMTQ4MzU3LCAxNDgzNjAsIDE0ODM2MywgMTQ4MzY2LCAxNDgzNjksIAorICAgIDE0ODM3MiwgMTQ4Mzc1LCAxNDgzNzgsIDE0ODM4MSwgMTQ4Mzg0LCAxNDgzODcsIDE0ODM5MCwgMTQ4MzkzLCAxNDgzOTYsIAorICAgIDE0ODM5OSwgMTQ4NDAyLCAxNDg0MDUsIDE0ODQwOCwgMTQ4NDExLCAxNDg0MTQsIDE0ODQxNywgMTQ4NDIwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNDg0MjMsIDE0ODQyNSwgMTQ4NDI3LCAxNDg0MzIsIAorICAgIDE0ODQzNCwgMTQ4NDM5LCAxNDg0NDEsIDE0ODQ0NiwgMTQ4NDQ4LCAxNDg0NTMsIDE0ODQ1NSwgMTQ4NDU3LCAxNDg0NTksIAorICAgIDE0ODQ2MSwgMTQ4NDYzLCAxNDg0NjUsIDE0ODQ2NywgMTQ4NDY5LCAxNDg0NzEsIDE0ODQ3NCwgMTQ4NDc3LCAxNDg0NzksIAorICAgIDE0ODQ4MSwgMTQ4NDg1LCAxNDg0ODgsIDE0ODQ5MywgMTQ4NDk1LCAxNDg0OTcsIDE0ODQ5OSwgMTQ4NTAzLCAxNDg1MDYsIAorICAgIDE0ODUwOCwgMTQ4NTEyLCAxNDg1MTQsIDE0ODUxOCwgMTQ4NTIwLCAxNDg1MjQsIDE0ODUyNywgMTQ4NTI5LCAxNDg1MzMsIAorICAgIDE0ODUzNywgMTQ4NTM5LCAxNDg1NDUsIDE0ODU0NywgMTQ4NTUyLCAxNDg1NTQsIDE0ODU1OSwgMTQ4NTYxLCAxNDg1NjYsIAorICAgIDE0ODU2OCwgMTQ4NTczLCAxNDg1NzUsIDE0ODU3OCwgMTQ4NTgwLCAxNDg1ODQsIDE0ODU4NiwgMTQ4NTkzLCAxNDg1OTUsIAorICAgIDE0ODU5NywgMTQ4NTk5LCAxNDg2MDQsIDE0ODYwNiwgMTQ4NjA4LCAxNDg2MTAsIDE0ODYxMiwgMTQ4NjE0LCAxNDg2MTksIAorICAgIDE0ODYyMywgMTQ4NjI1LCAxNDg2MzAsIDE0ODYzNCwgMTQ4NjM2LCAxNDg2NDEsIDE0ODY0NSwgMTQ4NjQ3LCAxNDg2NTIsIAorICAgIDE0ODY1NiwgMTQ4NjU4LCAxNDg2NjAsIDE0ODY2MiwgMTQ4NjY0LCAxNDg2NjgsIDE0ODY3MCwgMTQ4Njc1LCAxNDg2NzcsIAorICAgIDE0ODY4MywgMTQ4Njg1LCAxNDg2OTEsIDE0ODY5MywgMTQ4Njk1LCAxNDg2OTcsIDE0ODcwMSwgMTQ4NzAzLCAxNDg3MTAsIAorICAgIDE0ODcxMiwgMTQ4NzE5LCAxNDg3MjEsIDE0ODcyNiwgMTQ4NzMxLCAxNDg3MzMsIDE0ODczOSwgMTQ4NzQ1LCAxNDg3NDcsIAorICAgIDE0ODc1MywgMTQ4NzU4LCAxNDg3NjAsIDE0ODc2NiwgMTQ4NzcyLCAxNDg3NzQsIDE0ODc4MCwgMTQ4Nzg2LCAxNDg3ODgsIAorICAgIDE0ODc5NCwgMTQ4Nzk4LCAxNDg4MDAsIDE0ODgwNSwgMTQ4ODA3LCAxNDg4MDksIDE0ODgxNCwgMTQ4ODE2LCAxNDg4MTgsIAorICAgIDE0ODgyNCwgMTQ4ODI2LCAxNDg4MzEsIDE0ODgzNSwgMTQ4ODM3LCAxNDg4NDIsIDE0ODg0NiwgMTQ4ODQ4LCAxNDg4NTQsIAorICAgIDE0ODg1NiwgMTQ4ODYwLCAxNDg4NjIsIDE0ODg2NiwgMTQ4ODY4LCAxNDg4NzUsIDE0ODg4MiwgMTQ4ODg0LCAxNDg4OTEsIAorICAgIDE0ODg5OCwgMTQ4OTAwLCAxNDg5MDUsIDE0ODkwNywgMTQ4OTE0LCAxNDg5MTYsIDE0ODkyMSwgMTQ4OTIzLCAxNDg5MjksIAorICAgIDE0ODkzMSwgMTQ4OTM1LCAxNDg5MzcsIDE0ODk0MywgMTQ4OTQ1LCAxNDg5NDksIDE0ODk1MSwgMTQ4OTU3LCAxNDg5NTksIAorICAgIDE0ODk2MSwgMTQ4OTYzLCAxNDg5NjgsIDE0ODk3MywgMTQ4OTc1LCAxNDg5NzcsIDE0ODk4NywgMTQ4OTkxLCAxNDg5OTgsIAorICAgIDE0OTAwNSwgMTQ5MDEwLCAxNDkwMTUsIDE0OTAyNywgMTQ5MDI5LCAxNDkwMzEsIDE0OTAzMywgMTQ5MDM1LCAxNDkwMzcsIAorICAgIDE0OTAzOSwgMTQ5MDQxLCAxNDkwNDMsIDE0OTA0NSwgMTQ5MDQ3LCAxNDkwNDksIDE0OTA1MSwgMTQ5MDUzLCAxNDkwNTUsIAorICAgIDE0OTA1NywgMTQ5MDU5LCAxNDkwNjEsIDE0OTA2MywgMTQ5MDY1LCAxNDkwNjcsIDE0OTA2OSwgMTQ5MDc1LCAxNDkwODIsIAorICAgIDE0OTA4NywgMTQ5MDkyLCAxNDkxMDMsIDE0OTEwNSwgMTQ5MTA3LCAxNDkxMDksIDE0OTExMSwgMTQ5MTEzLCAxNDkxMTUsIAorICAgIDE0OTExNywgMTQ5MTE5LCAxNDkxMjEsIDE0OTEyMywgMTQ5MTI1LCAxNDkxMjcsIDE0OTEyOSwgMTQ5MTMxLCAxNDkxMzMsIAorICAgIDE0OTEzNSwgMTQ5MTQwLCAxNDkxNDIsIDE0OTE0NCwgMTQ5MTUwLCAxNDkxNjIsIDE0OTE3MywgMTQ5MTc1LCAxNDkxNzcsIAorICAgIDE0OTE3OSwgMTQ5MTgxLCAxNDkxODMsIDE0OTE4NSwgMTQ5MTg3LCAxNDkxODksIDE0OTE5MSwgMTQ5MTkzLCAxNDkxOTUsIAorICAgIDE0OTE5NywgMTQ5MTk5LCAxNDkyMDEsIDE0OTIwMywgMTQ5MjA1LCAxNDkyMDcsIDE0OTIwOSwgMTQ5MjExLCAxNDkyMTMsIAorICAgIDE0OTIxNSwgMTQ5MjE3LCAxNDkyMTksIDE0OTIyMSwgMTQ5MjIzLCAxNDkyMjUsIDE0OTIyNywgMTQ5MjI5LCAxNDkyMzEsIAorICAgIDE0OTIzMywgMTQ5MjM1LCAxNDkyMzcsIDE0OTIzOSwgMTQ5MjQxLCAxNDkyNDMsIDE0OTI0NSwgMTQ5MjQ3LCAxNDkyNDksIAorICAgIDE0OTI1MSwgMTQ5MjUzLCAxNDkyNTUsIDE0OTI1NywgMTQ5MjU5LCAxNDkyNjEsIDE0OTI2MywgMTQ5MjY1LCAxNDkyNjcsIAorICAgIDE0OTI2OSwgMTQ5MjcxLCAxNDkyNzMsIDE0OTI3NSwgMTQ5Mjc3LCAxNDkyNzksIDE0OTI4MSwgMTQ5MjgzLCAxNDkyODUsIAorICAgIDE0OTI4NywgMTQ5Mjg5LCAxNDkyOTEsIDE0OTI5MywgMTQ5Mjk1LCAxNDkyOTcsIDE0OTI5OSwgMTQ5MzAxLCAxNDkzMDMsIAorICAgIDE0OTMwNSwgMTQ5MzA3LCAxNDkzMDksIDE0OTMxMSwgMTQ5MzEzLCAxNDkzMTUsIDE0OTMxNywgMTQ5MzE5LCAxNDkzMjEsIAorICAgIDE0OTMyMywgMTQ5MzI1LCAxNDkzMjcsIDE0OTMyOSwgMTQ5MzMxLCAxNDkzMzMsIDE0OTMzNSwgMTQ5MzM3LCAxNDkzMzksIAorICAgIDE0OTM0MSwgMTQ5MzQzLCAxNDkzNDUsIDE0OTM0NywgMTQ5MzQ5LCAxNDkzNTEsIDE0OTM1MywgMTQ5MzU1LCAxNDkzNTcsIAorICAgIDE0OTM1OSwgMTQ5MzYxLCAxNDkzNjMsIDE0OTM2NSwgMTQ5MzY3LCAxNDkzNjksIDE0OTM3MSwgMTQ5MzczLCAxNDkzNzUsIAorICAgIDE0OTM3NywgMTQ5Mzc5LCAxNDkzODEsIDE0OTM4MywgMTQ5Mzg1LCAxNDkzODcsIDE0OTM4OSwgMTQ5MzkxLCAxNDkzOTMsIAorICAgIDE0OTM5NSwgMTQ5Mzk3LCAxNDkzOTksIDE0OTQwMSwgMTQ5NDAzLCAxNDk0MDUsIDE0OTQwNywgMTQ5NDA5LCAxNDk0MTEsIAorICAgIDE0OTQxMywgMTQ5NDE1LCAxNDk0MTcsIDE0OTQxOSwgMTQ5NDIxLCAxNDk0MjMsIDE0OTQyNSwgMTQ5NDI3LCAxNDk0MjksIAorICAgIDE0OTQzMSwgMTQ5NDMzLCAxNDk0MzUsIDE0OTQzNywgMTQ5NDM5LCAxNDk0NDEsIDE0OTQ0MywgMTQ5NDQ1LCAxNDk0NDcsIAorICAgIDE0OTQ0OSwgMTQ5NDUxLCAxNDk0NTMsIDE0OTQ1NSwgMTQ5NDU3LCAxNDk0NTksIDE0OTQ2MSwgMTQ5NDYzLCAxNDk0NjUsIAorICAgIDE0OTQ2NywgMTQ5NDY5LCAxNDk0NzEsIDE0OTQ3MywgMTQ5NDc1LCAxNDk0NzcsIDE0OTQ3OSwgMTQ5NDgxLCAxNDk0ODMsIAorICAgIDE0OTQ4NSwgMTQ5NDg3LCAxNDk0ODksIDE0OTQ5MSwgMTQ5NDkzLCAxNDk0OTUsIDE0OTQ5NywgMTQ5NDk5LCAxNDk1MDEsIAorICAgIDE0OTUwMywgMTQ5NTA1LCAxNDk1MDcsIDE0OTUwOSwgMTQ5NTExLCAxNDk1MTMsIDE0OTUxNSwgMTQ5NTE3LCAxNDk1MTksIAorICAgIDE0OTUyMSwgMTQ5NTIzLCAxNDk1MjUsIDE0OTUyNywgMTQ5NTI5LCAxNDk1MzEsIDE0OTUzMywgMTQ5NTM1LCAxNDk1MzcsIAorICAgIDE0OTUzOSwgMTQ5NTQxLCAxNDk1NDMsIDE0OTU0NSwgMTQ5NTQ3LCAxNDk1NDksIDE0OTU1MSwgMTQ5NTUzLCAxNDk1NTUsIAorICAgIDE0OTU1NywgMTQ5NTU5LCAxNDk1NjEsIDE0OTU2MywgMTQ5NTY1LCAxNDk1NjcsIDE0OTU2OSwgMTQ5NTcxLCAxNDk1NzMsIAorICAgIDE0OTU3NSwgMTQ5NTc3LCAxNDk1NzksIDE0OTU4MSwgMTQ5NTgzLCAxNDk1ODUsIDE0OTU4NywgMTQ5NTg5LCAxNDk1OTEsIAorICAgIDE0OTU5MywgMTQ5NTk1LCAxNDk1OTcsIDE0OTU5OSwgMTQ5NjAxLCAxNDk2MDMsIDE0OTYwNSwgMTQ5NjA3LCAxNDk2MDksIAorICAgIDE0OTYxMSwgMTQ5NjEzLCAxNDk2MTUsIDE0OTYxNywgMTQ5NjE5LCAxNDk2MjEsIDE0OTYyMywgMTQ5NjI1LCAxNDk2MjcsIAorICAgIDE0OTYyOSwgMTQ5NjMxLCAxNDk2MzMsIDE0OTYzNSwgMTQ5NjM3LCAxNDk2MzksIDE0OTY0MSwgMTQ5NjQzLCAxNDk2NDUsIAorICAgIDE0OTY0NywgMTQ5NjQ5LCAxNDk2NTEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE0OTY1MywgMTQ5NjYzLCAxNDk2NzMsIAorICAgIDE0OTY4MiwgMTQ5NjkxLCAxNDk3MDQsIDE0OTcxNywgMTQ5NzI5LCAxNDk3NDEsIDE0OTc1MSwgMTQ5NzYxLCAxNDk3NzEsIAorICAgIDE0OTc4MSwgMTQ5NzkyLCAxNDk4MDMsIDE0OTgxMywgMTQ5ODIyLCAxNDk4MzEsIDE0OTg0MCwgMTQ5ODUzLCAxNDk4NjYsIAorICAgIDE0OTg3OCwgMTQ5ODkwLCAxNDk5MDAsIDE0OTkxMCwgMTQ5OTIwLCAxNDk5MzAsIDE0OTkzOSwgMTQ5OTQ4LCAxNDk5NTgsIAorICAgIDE0OTk2OCwgMTQ5OTc3LCAxNDk5ODYsIDE0OTk5NiwgMTUwMDA2LCAxNTAwMTUsIDE1MDAyNCwgMTUwMDM0LCAxNTAwNDQsIAorICAgIDE1MDA1NSwgMTUwMDY2LCAxNTAwNzYsIDE1MDA4OSwgMTUwMTAwLCAxNTAxMTQsIDE1MDEyMiwgMTUwMTMzLCAxNTAxNDEsIAorICAgIDE1MDE0OSwgMTUwMTU3LCAxNTAxNjUsIDE1MDE3MywgMTUwMTgxLCAxNTAxOTAsIDE1MDE5OSwgMTUwMjA5LCAxNTAyMTksIAorICAgIDE1MDIyOCwgMTUwMjM3LCAxNTAyNDcsIDE1MDI1NywgMTUwMjY1LCAxNTAyNzQsIDE1MDI4MiwgMTUwMjkxLCAxNTAyOTksIAorICAgIDE1MDMwNywgMTUwMzE0LCAxNTAzMjQsIDE1MDMzMywgMTUwMzQ0LCAxNTAzNTUsIDE1MDM2NywgMTUwMzc4LCAxNTAzODgsIAorICAgIDE1MDM5OSwgMTUwNDA5LCAxNTA0MjAsIDE1MDQyOCwgMTUwNDMyLCAxNTA0MzYsIDE1MDQ0MCwgMTUwNDQ0LCAxNTA0NDgsIAorICAgIDE1MDQ1MiwgMTUwNDU2LCAxNTA0NjAsIDE1MDQ2NCwgMTUwNDY4LCAxNTA0NzIsIDE1MDQ3NiwgMTUwNDc5LCAxNTA0ODIsIAorICAgIDE1MDQ4NiwgMTUwNDkwLCAxNTA0OTQsIDE1MDQ5OCwgMTUwNTAyLCAxNTA1MDYsIDE1MDUxMCwgMTUwNTE0LCAxNTA1MTcsIAorICAgIDE1MDUyMSwgMTUwNTI1LCAxNTA1MjksIDE1MDUzMywgMTUwNTM3LCAxNTA1NDEsIDE1MDU0NSwgMTUwNTQ5LCAxNTA1NTMsIAorICAgIDE1MDU1NywgMTUwNTYxLCAxNTA1NjUsIDE1MDU2OSwgMTUwNTczLCAxNTA1NzcsIDE1MDU4MSwgMTUwNTg1LCAxNTA1ODksIAorICAgIDE1MDU5MywgMTUwNTk3LCAxNTA2MDEsIDE1MDYwNSwgMTUwNjA5LCAxNTA2MTMsIDE1MDYxNywgMTUwNjIxLCAxNTA2MjUsIAorICAgIDE1MDYyOSwgMTUwNjMzLCAxNTA2MzcsIDE1MDY0MSwgMTUwNjQ1LCAxNTA2NDksIDE1MDY1MywgMTUwNjU3LCAxNTA2NjEsIAorICAgIDE1MDY2NSwgMTUwNjY5LCAxNTA2NzMsIDE1MDY3NywgMTUwNjgxLCAxNTA2ODUsIDE1MDY4OSwgMTUwNjkzLCAxNTA2OTcsIAorICAgIDE1MDcwMSwgMTUwNzA1LCAxNTA3MDksIDE1MDcxMywgMTUwNzE3LCAxNTA3MjEsIDE1MDcyNSwgMTUwNzI5LCAxNTA3MzMsIAorICAgIDE1MDczNywgMTUwNzQxLCAxNTA3NDUsIDE1MDc0OSwgMTUwNzUzLCAxNTA3NTcsIDE1MDc2MSwgMTUwNzY1LCAxNTA3NjksIAorICAgIDE1MDc3MywgMTUwNzc3LCAxNTA3ODEsIDE1MDc4NSwgMTUwNzg5LCAxNTA3OTMsIDE1MDc5NywgMTUwODAxLCAxNTA4MDUsIAorICAgIDE1MDgwOSwgMTUwODEzLCAxNTA4MTcsIDE1MDgyMSwgMTUwODI0LCAxNTA4MjgsIDE1MDgzMiwgMTUwODM2LCAxNTA4NDAsIAorICAgIDE1MDg0NCwgMTUwODQ4LCAxNTA4NTIsIDE1MDg1NiwgMTUwODYwLCAxNTA4NjQsIDE1MDg2OCwgMTUwODcyLCAxNTA4NzYsIAorICAgIDE1MDg4MCwgMTUwODg0LCAxNTA4ODgsIDE1MDg5MiwgMTUwODk2LCAxNTA5MDAsIDE1MDkwNCwgMTUwOTA4LCAxNTA5MTIsIAorICAgIDE1MDkxNiwgMTUwOTIwLCAxNTA5MjQsIDE1MDkyOCwgMTUwOTMyLCAxNTA5MzYsIDE1MDk0MCwgMTUwOTQ0LCAxNTA5NDgsIAorICAgIDE1MDk1MiwgMTUwOTU2LCAxNTA5NjAsIDE1MDk2NCwgMTUwOTY4LCAxNTA5NzIsIDE1MDk3NiwgMTUwOTgwLCAxNTA5ODQsIAorICAgIDE1MDk4OCwgMTUwOTkyLCAxNTA5OTYsIDE1MTAwMCwgMTUxMDA0LCAxNTEwMDgsIDE1MTAxMiwgMTUxMDE2LCAxNTEwMjAsIAorICAgIDE1MTAyNCwgMTUxMDI4LCAxNTEwMzIsIDE1MTAzNiwgMTUxMDQwLCAxNTEwNDQsIDE1MTA0OCwgMTUxMDUyLCAxNTEwNTYsIAorICAgIDE1MTA2MCwgMTUxMDY0LCAxNTEwNjgsIDE1MTA3MiwgMTUxMDc2LCAxNTEwODAsIDE1MTA4NCwgMTUxMDg4LCAxNTEwOTIsIAorICAgIDE1MTA5NiwgMTUxMTAwLCAxNTExMDQsIDE1MTEwOCwgMTUxMTEyLCAxNTExMTYsIDE1MTEyMCwgMTUxMTI0LCAxNTExMjgsIAorICAgIDE1MTEzMiwgMTUxMTM2LCAxNTExNDAsIDE1MTE0NCwgMTUxMTQ4LCAxNTExNTIsIDE1MTE1NiwgMTUxMTYwLCAxNTExNjQsIAorICAgIDE1MTE2OCwgMTUxMTcyLCAxNTExNzYsIDE1MTE4MCwgMTUxMTg0LCAxNTExODgsIDE1MTE5MiwgMTUxMTk2LCAxNTEyMDAsIAorICAgIDE1MTIwNCwgMTUxMjA4LCAxNTEyMTIsIDE1MTIxNiwgMTUxMjIwLCAxNTEyMjQsIDE1MTIyOCwgMTUxMjMyLCAxNTEyMzYsIAorICAgIDE1MTI0MCwgMTUxMjQ0LCAxNTEyNDgsIDE1MTI1MiwgMTUxMjU2LCAxNTEyNjAsIDE1MTI2NCwgMTUxMjY4LCAxNTEyNzIsIAorICAgIDE1MTI3NiwgMTUxMjgwLCAxNTEyODQsIDE1MTI4OCwgMTUxMjkyLCAxNTEyOTYsIDE1MTMwMCwgMTUxMzA0LCAxNTEzMDgsIAorICAgIDE1MTMxMiwgMTUxMzE2LCAxNTEzMjAsIDE1MTMyNCwgMTUxMzI4LCAxNTEzMzIsIDE1MTMzNiwgMTUxMzQwLCAxNTEzNDQsIAorICAgIDE1MTM0OCwgMTUxMzUyLCAxNTEzNTYsIDE1MTM2MCwgMTUxMzY0LCAxNTEzNjgsIDE1MTM3MiwgMTUxMzc2LCAxNTEzODAsIAorICAgIDE1MTM4NCwgMTUxMzg4LCAxNTEzOTIsIDE1MTM5NiwgMTUxNDAwLCAxNTE0MDQsIDE1MTQwOCwgMTUxNDEyLCAxNTE0MTYsIAorICAgIDE1MTQyMCwgMTUxNDI0LCAxNTE0MjgsIDE1MTQzMiwgMTUxNDM2LCAxNTE0NDAsIDE1MTQ0NCwgMTUxNDQ4LCAxNTE0NTIsIAorICAgIDE1MTQ1NiwgMTUxNDYwLCAxNTE0NjQsIDE1MTQ2OCwgMTUxNDcyLCAxNTE0NzYsIDE1MTQ4MCwgMTUxNDg0LCAxNTE0ODgsIAorICAgIDE1MTQ5MiwgMTUxNDk2LCAxNTE1MDAsIDE1MTUwNCwgMTUxNTA4LCAxNTE1MTIsIDE1MTUxNiwgMTUxNTIwLCAxNTE1MjQsIAorICAgIDE1MTUyOCwgMTUxNTMyLCAxNTE1MzYsIDE1MTU0MCwgMTUxNTQ0LCAxNTE1NDgsIDE1MTU1MiwgMTUxNTU2LCAxNTE1NjAsIAorICAgIDE1MTU2NCwgMTUxNTY4LCAxNTE1NzIsIDE1MTU3NiwgMTUxNTgwLCAxNTE1ODQsIDE1MTU4OCwgMTUxNTkzLCAxNTE1OTgsIAorICAgIDE1MTYwMywgMTUxNjA3LCAxNTE2MTMsIDE1MTYyMCwgMTUxNjI3LCAxNTE2MzQsIDE1MTY0MSwgMTUxNjQ4LCAxNTE2NTUsIAorICAgIDE1MTY2MiwgMTUxNjY5LCAxNTE2NzYsIDE1MTY4MywgMTUxNjkwLCAxNTE2OTcsIDE1MTcwNCwgMTUxNzEwLCAxNTE3MTcsIAorICAgIDE1MTcyNCwgMTUxNzMwLCAxNTE3MzcsIDE1MTc0NCwgMTUxNzUxLCAxNTE3NTgsIDE1MTc2NSwgMTUxNzcyLCAxNTE3NzksIAorICAgIDE1MTc4NiwgMTUxNzkzLCAxNTE4MDAsIDE1MTgwNywgMTUxODE0LCAxNTE4MjEsIDE1MTgyOCwgMTUxODM0LCAxNTE4NDEsIAorICAgIDE1MTg0OCwgMTUxODU3LCAxNTE4NjYsIDE1MTg3NSwgMTUxODg0LCAxNTE4ODksIDE1MTg5NCwgMTUxOTAwLCAxNTE5MDYsIAorICAgIDE1MTkxMiwgMTUxOTE4LCAxNTE5MjQsIDE1MTkzMCwgMTUxOTM2LCAxNTE5NDIsIDE1MTk0OCwgMTUxOTU0LCAxNTE5NjAsIAorICAgIDE1MTk2NiwgMTUxOTcxLCAxNTE5NzcsIDE1MTk4NywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiB9OwogCiAvKiBuYW1lLT5jb2RlIGRpY3Rpb25hcnkgKi8KIHN0YXRpYyB1bnNpZ25lZCBpbnQgY29kZV9oYXNoW10gPSB7Ci0gICAgNzQyMjQsIDQ4NTEsIDAsIDc4MTU2LCA3ODQ5OSwgMTI4Njg1LCA3OTI5LCAwLCAxOTQ2ODIsIDEyNzc2NiwgNzg1MDAsIAotICAgIDY2NDgwLCAwLCA0MjgzMywgNzQ1MjksIDEyMDY0LCAwLCA1OTYsIDk4MzgyMSwgNjk4NTAsIDEzMTkyLCA4NjUxLCAwLCAwLCAKLSAgICAxMjAyMTgsIDEyOTk1LCA2NDg2NSwgMTM3MywgMCwgMCwgNTgxNiwgMTE5MDY3LCA2NDgxMCwgNDIzMSwgNjgyNSwgNDI4OTcsIAotICAgIDQyMzMsIDQyMzQsIDQyMzIsIDkxNzgzNiwgNzQ0MTUsIDEyMDIxMCwgNjM4NCwgOTE3ODQwLCA3ODEwOCwgODg1MSwgMCwgCi0gICAgMTI4NTUzLCAwLCA0MTYwMSwgODg3NCwgOTgzNzgzLCA3NzQ4LCAwLCAwLCAwLCAxMjc5MzksIDQxNjAzLCA5Nzg0LCAwLCAKLSAgICA5MTg4LCA0MTYwMCwgMCwgMTIwNjE4LCAxMjgzNDMsIDE0NTcsIDM1MzUsIDAsIDAsIDAsIDAsIDY1MjQwLCAxMTk1MSwgMCwgCi0gICAgMzQwNCwgMCwgMCwgMCwgMTc1OSwgMCwgNDEwNzYsIDY4MzgzLCAxMjA1NzIsIDExOTIwNSwgNjY1NzcsIDk0MDE0LCAKLSAgICAxMjc3NjQsIDY1ODU5LCAwLCA3NDA0LCAwLCAwLCAwLCAwLCA2NTkwOCwgOTgzNCwgMzA1NSwgOTg1MiwgOTgzODYwLCAKLSAgICA2NTI4OCwgMCwgMTEzOTgsIDAsIDkyNDE3LCAxMTkyNTUsIDAsIDAsIDYwMywgNzQzOTgsIDQzNTQ4LCAwLCAwLCA5MTc4MjQsIAotICAgIDMzNTAsIDEyMDgxNywgNjQzMTgsIDkxNzgyOCwgMTI3MDg5LCAzMzkwLCA3NDQ4MywgNDMyNjUsIDEyMDU5OSwgOTE3ODMwLCAKLSAgICA3ODU3MywgMCwgMTkxOSwgMzQwMCwgMTIwNjUxLCAxMjc5NDQsIDExNjQ3LCA5MTc1NDAsIDY2NDQ2LCA2NDE0MSwgODU2MiwgCisgICAgNzQyMjQsIDQ4NTEsIDEyNTEzOCwgNzgxNTYsIDc4NDk5LCA3MjM5MSwgNzkyOSwgNjY5MTAsIDE5NDY4MiwgMTI3NzY2LCAKKyAgICA3ODUwMCwgNjY0ODAsIDY0MDM4LCA0MjgzMywgNzQ1MjksIDEyMDY0LCA3MjM4NSwgNTk2LCA5ODM4MjEsIDY5ODUwLCAKKyAgICAxMzE5MiwgODY1MSwgMTIwMjE3LCAxMjY1NDIsIDEyMDIxOCwgMTI5OTUsIDY0ODY1LCAxMzczLCAwLCAxMTM3NTIsIDU4MTYsIAorICAgIDExOTA2NywgNjQ4MTAsIDQyMzEsIDY4MjUsIDQyODk3LCA0MjMzLCA0MjM0LCA0MjMyLCA5MTc4MzYsIDc0NDE1LCAKKyAgICAxMjAyMTAsIDYzODQsIDcwMzUxLCA3ODEwOCwgODg1MSwgNjc2OTgsIDEyODU1MywgMCwgNDE2MDEsIDg4NzQsIDcyMzkyLCAKKyAgICA3NzQ4LCAwLCAwLCAxMjcwMjYsIDEyNzkzOSwgNDE2MDMsIDk3ODQsIDAsIDkxODgsIDQxNjAwLCAwLCAxMjA2MTgsIAorICAgIDEyODM0MywgMTQ1NywgMzUzNSwgMTI4NjM1LCA2MzgxLCAwLCAwLCA2NTI0MCwgMTE5NTEsIDAsIDM0MDQsIDAsIDcwNDg3LCAKKyAgICA3MjQxMSwgMTc1OSwgMCwgNDEwNzYsIDY4MzgzLCA2OTk3MiwgMTE5MjA1LCA2NjU3NywgOTQwMTQsIDEyNzc2NCwgNjU4NTksIAorICAgIDAsIDc0MDQsIDAsIDAsIDY5OTcwLCAxMjgzODcsIDY1OTA4LCA5ODM0LCAzMDU1LCA5ODUyLCA5ODM4NjAsIDY1Mjg4LCAwLCAKKyAgICAxMTM5OCwgMCwgOTI0MTcsIDkzMDE2LCAxMjgzODAsIDAsIDYwMywgNzQzOTgsIDQzNTQ4LCAwLCA3MTg2NSwgOTE3ODI0LCAKKyAgICAzMzUwLCAxMjA4MTcsIDY0MzE4LCA5MTc4MjgsIDc4MTIxLCAzMzkwLCA3NDQ4MywgNDMyNjUsIDEyMDU5OSwgOTE3ODMwLCAKKyAgICA3ODU3MywgMCwgMTkxOSwgMzQwMCwgMTIwNjUxLCAxMTk5NDksIDExNjQ3LCA5MTc1NDAsIDY2NDQ2LCA2NDE0MSwgODU2MiwgCiAgICAgMjEyMSwgNjQxMzgsIDQwNDMsIDg3MTIsIDY0MTM0LCA2NDEzMywgMTEyOTcsIDk4MzY4OCwgOTgzMTUyLCAxMTk2NiwgCi0gICAgNjQxMjgsIDEyODU4NywgMCwgMCwgNjQxMzIsIDEwODY3LCA2NDEzMCwgNjQxMjksIDk4Mzg0NCwgNDMzNzQsIDk3NzksIAotICAgIDI3NjQsIDY2MDAyLCAxMDE2NywgOTQ3MSwgMCwgNjYwMjEsIDAsIDAsIDU0NTcsIDU0NDAsIDg4NTcsIDkzOTgxLCA2NTI4MiwgCi0gICAgMjg0MywgNTM1NSwgMTI3OTI4LCA5ODM5NjUsIDAsIDUxOTQsIDExNjU3LCA0Mzk4NCwgMTI4MjkyLCAwLCA5ODM2MjAsIDAsIAotICAgIDAsIDEyNzAyNywgMTA3MTcsIDY0NTcwLCA1NjMwLCA1Mzk2LCA2NDE0MywgMTA2ODIsIDAsIDEwNjAyLCA4MDAsIDQyNDk5LCAKLSAgICA2NjE4NiwgMCwgMCwgNjQ5MzAsIDExNjMxLCA2NDE0NiwgNjQxNDUsIDY0MTQ0LCA3NjIsIDEzMTcyLCAxMTg4NTksIAotICAgIDE5NDY2MSwgNjQ0NjgsIDEwOTA2LCAxMzUzLCA2OTYwLCAwLCAwLCA1ODI4LCA4NzI0LCA5MTc4MDYsIDg5MzMsIDE2MDEsIAotICAgIDQyMjQ0LCA4NTgsIDcwODAsIDY0MTA5LCA2NDEwOCwgODA5MCwgMCwgNzQ0MDEsIDkxNzgxMSwgNTg3LCAwLCAxMjgxMzEsIAotICAgIDAsIDAsIDAsIDc4MjE0LCAyNzUwLCA3NDIxOCwgNTU2LCA2NDE1OCwgNjQxNTcsIDk4Mzk0OSwgMTIyMTMsIDE5NDY3OCwgCi0gICAgMjc2MCwgMCwgMCwgMCwgMTk0Nzk0LCA2NDE1NiwgNjQxNTUsIDQyNDk2LCAwLCA2NDE1MSwgNjQxNTAsIDEyNjc5LCAKLSAgICAxMDA1MywgMTA0MjEsIDExMDkzLCA2NDE1MywgNjQxNTIsIDAsIDAsIDQ4MzksIDAsIDAsIDE4NzQsIDExOTAxNiwgMCwgCi0gICAgNjU3NywgNjQxMjUsIDY0MTI0LCA2NDEyMywgMCwgMTI3NTMxLCA5MjUzNCwgNzAwNywgNzU5MCwgNjU0NDMsIDkwMzYsIAotICAgIDkyNTUwLCA2NDEyMiwgNzQ0MjIsIDY2NjA5LCAwLCA2NDExNywgNjQxMTYsIDYyODcsIDY0MTE0LCAyNzI1LCA2NDEyMCwgCi0gICAgNjQxMTksIDQzOTgxLCA0MjEyOCwgMTI3ODQyLCAxMTc3LCA2NTYwMSwgMTIzMjIsIDY0MTA2LCA2OTY0MCwgMTI3MzA2LCAKLSAgICA2NDEwMiwgNzg1OSwgMTk0NSwgNjQwOTksIDAsIDEwNDUzLCA2NDEwNCwgNzE4OCwgNzk5NywgMCwgNzM4OSwgOTgzMTYxLCAKLSAgICA4NzA1LCA2NDA5NywgNjQwOTYsIDk1NzEsIDUyOCwgMTI4NjcxLCA0NDAxNywgMTE0MjksIDcxMzQ3LCAwLCA5ODMwNzcsIAotICAgIDkxNzk5MCwgNzM4NDEsIDAsIDAsIDkwNTYsIDY0MzEzLCA2MTg4LCAxMjAwMTksIDYxNTUsIDY0MDY4LCAxODIzLCA2NDA2NiwgCi0gICAgNjQwNjUsIDY0MDcyLCA2NDA3MSwgNjMsIDcyMzMsIDkyMjEyLCAwLCA0MTkwNCwgNjYzOSwgNjQwNjQsIDk4Mzc3NSwgCi0gICAgMTI4MzQ0LCAwLCAxMTc2LCAxMTg5NTksIDEyNzkzMCwgODE2MiwgMTI4NjY3LCA5ODM4MzEsIDAsIDEyMDUxOSwgNjYzNzYsIAotICAgIDY2MjQyLCAxMTQxNSwgNDMzMywgOTg1NSwgNjQxMTIsIDY0NjQyLCAwLCA1Mzg4LCAwLCAwLCAwLCA3NzE0LCA2NjIyMiwgCi0gICAgNjk5MDIsIDc3NjgsIDAsIDQxOTksIDY0NzA4LCA5ODM0MjEsIDAsIDAsIDg3MDgsIDk1NjAsIDY0MDc3LCA2NDA3NiwgCi0gICAgODk5NiwgNDk5MiwgNDQ3MSwgNDI2MjIsIDY0MDc5LCA2NDA3OCwgOTIxNzksIDAsIDEyNjU3MCwgMCwgNjQ2MTUsIDQxOTE1LCAKLSAgICAwLCAxMjA3NSwgNzAwNjIsIDAsIDUxNzQsIDk4MzIxNywgMCwgMTI3NTU3LCAzMTIzLCAwLCAxMjY4NSwgMTI3OTA0LCAKLSAgICA4NDA4LCA2NDcwNCwgMCwgMCwgOTIyMywgMCwgNDE2MTYsIDY3OTk5LCA3Mzc5NywgMCwgMTExNiwgMTI4MjA0LCA0MzA0OSwgCi0gICAgNzEzNiwgNDMwNTAsIDg1NDgsIDEyMDQ4NSwgMCwgMTE5MDYxLCA5MTc5OTksIDAsIDEzMTE1LCA0MzY3NSwgNjQwOTEsIAotICAgIDkzMjIsIDAsIDEyMDU5NSwgNjQwOTUsIDY0MDk0LCA4MTExLCA2NjI0NywgNDIzMzIsIDY0MDg5LCA2NDA4OCwgNjE5OSwgMCwgCi0gICAgMCwgMTE0MzQsIDY0MDgzLCA2NDA4MiwgMTEzMjksIDc3MzcsIDY0MDg3LCA2NDA4NiwgNjQwODUsIDY0MDg0LCAxOTQ4MTcsIAotICAgIDk5MjcsIDQxMzM1LCA0MTE4LCAxNzk3LCAwLCA0MTMzNCwgMCwgNDYsIDQzNDQ4LCAxMjc4ODEsIDI5OCwgMCwgMTI4MTE0LCAKLSAgICAwLCA0MjYyNywgMCwgMzIsIDYxODcsIDExOTA1MiwgMTE0OTUsIDExNDU5LCAzNjY1LCA5ODM2MDAsIDQyODcxLCAwLCAKLSAgICAxOTkyMywgNzQzMzUsIDAsIDEyNzE5MiwgNjYyMzksIDQyMjY0LCA2NDQwMywgNDQxMiwgNzI0MCwgOTI0OTUsIDAsIAotICAgIDk4MzQ2NiwgNjU3NTgsIDEyNzUwLCA0MTgxLCA4NTQ0LCAwLCAxMjAxOTksIDkxNzg5NywgMTIwMTk4LCA2OTgwOSwgNjE4MSwgCi0gICAgNjUwMTQsIDAsIDAsIDk4MzE5NiwgMzYzOSwgMTE5NTg4LCAwLCAwLCAxMTg5MDQsIDEwMDczLCAxMjAyMDYsIDEyODg2MiwgCi0gICAgMTI3MTg2LCA2ODQwOSwgNDI4NDQsIDc0OTgsIDEwOTgsIDkyNTY1LCAxMjAyMDUsIDAsIDk4MzExOCwgMTAyMDcsIDg3ODksIAotICAgIDk4MzIyNSwgMCwgMCwgOTgzNDcyLCA5MjM0LCAwLCA2MTgyLCA5ODM0NzQsIDY1MDU4LCAwLCA5ODM0NzgsIDk4MzQ3NSwgMCwgCi0gICAgNTQ3MSwgOTQ2MSwgNTU3MywgMTE4OTM2LCA1NDczLCA0NCwgMCwgNjYyNDQsIDk0MDcyLCAwLCA2NjIzOCwgMTI4NDQsIDAsIAotICAgIDE2MjIsIDc3NjcsIDE5MDAsIDQxMzM5LCAxMTQ1OCwgMCwgMCwgNjU4MSwgNTU3NiwgMCwgNjQ0MDUsIDQxMzM3LCAwLCAKLSAgICA0MTYzMSwgODk0NywgNjgzOTAsIDEyNzg0NCwgNDE2OTQsIDAsIDAsIDc5MDgsIDAsIDEwNDA4LCA2NTc5LCAwLCA2NDYxOCwgCi0gICAgMCwgMTIwMTQ3LCAyMTM4LCA2NTgzLCA3NzYxLCAxMjcwMTAsIDEyMDUwNCwgMTk0ODI4LCAwLCA1MDU4LCA0MTAxMCwgCi0gICAgOTk5MiwgMTI4Mjk5LCA1MDU3LCAwLCAwLCA3NDUzOCwgNTA1NCwgMTE4OTUxLCAxOTQ5NzEsIDc4NjA2LCAwLCAxNDM3LCAKLSAgICA0MTYxNywgNjU4LCAzNDk3LCAxMjg1MDksIDc0ODYsIDUwNjEsIDUwNjAsIDQyMzUsIDEyNzg3OCwgMCwgMTI4NTI5LCAKLSAgICAxMjExMywgNDIzNiwgNDcyNywgMCwgMCwgNzY5MywgMTA3NDksIDAsIDc0ODgsIDU3NzMsIDk3OCwgMTI4MTM0LCAwLCAKLSAgICA0MTYxOSwgMTAyMzksIDY4NjExLCAwLCA2NjIwOSwgMCwgMTI4NzAwLCA5NzQ4LCA5ODM5NTYsIDEyNzUyNCwgMCwgMCwgMCwgCi0gICAgMCwgMTk1MDgzLCAwLCA5ODM4NDMsIDAsIDAsIDAsIDAsIDAsIDkzNDEsIDExOTU5NiwgMjM3OSwgMTEzMjUsIDAsIDY0NjY4LCAKLSAgICA2Nzg1NCwgODEyNSwgMTIwNTQ1LCA2NzQzLCAxMTkxNzUsIDkxNzk0MCwgMjM2OSwgMCwgOTgzOTcyLCA5ODM5NzMsIAotICAgIDExOTIzNSwgNzQwOTIsIDczOTM2LCA3MDA4LCA0MzY2MCwgMCwgMCwgMCwgMjM2NywgMTI3ODI3LCA5ODM4NTcsIDI2NCwgCi0gICAgMjM3NSwgODA2MCwgNjE5NCwgMTE5ODU4LCAxODQ0LCAxMTkwODQsIDAsIDYwMTksIDAsIDAsIDY5NjEsIDAsIDExODgzOSwgCi0gICAgMCwgODgwMCwgMCwgNDI4NjIsIDQ0NjMsIDY1NTgxLCA2MTkyLCAxOTQ2NzYsIDQyNzcxLCAwLCA5MjMzMywgNzI1LCAKLSAgICA2NTA0MiwgMTE4Nzk3LCAxMjA4MDAsIDk4MzA0MCwgMTI4OTIsIDAsIDAsIDAsIDAsIDAsIDAsIDEyNzI2MSwgMTIwNzA3LCAKLSAgICA5ODMxMjgsIDAsIDUwNzQsIDUwNzMsIDEyODc5MCwgODk4MywgMTE4OTgxLCA3NDQ5MywgOTgzNTYxLCA1MDcyLCA5Mzk3NywgCi0gICAgNjE5OCwgMTE2MTQsIDAsIDE5NiwgMCwgMCwgMCwgNDkyOSwgMTIwMzQyLCAwLCAwLCAwLCAwLCA0Mjg0NywgMCwgMCwgMCwgCi0gICAgNDkzNCwgMCwgNDEzMjMsIDk3NTgsIDAsIDkyMjg5LCAxMjc5MTcsIDQyNTg0LCAwLCA0MzI5LCA0MTMyMSwgNDk3OSwgCi0gICAgMzA0OCwgNzc1MiwgNDEzMjAsIDk4MzA0MiwgNzQ0MTgsIDEyODE5LCAwLCA1MDcxLCAwLCAzNjQyLCAwLCA1MDcwLCAKLSAgICAxMDA0MiwgMTE4ODM1LCAzOTg3LCA1MDY4LCAwLCA4OTA5LCA3ODY1MCwgNzg2NDksIDY5OTE3LCAxMDYzNiwgNzM5ODEsIAotICAgIDExODA2LCA0MzE2NywgNDUzMSwgMTI0NSwgOTEwNSwgNjY0NjMsIDQ5MjEsIDEyMDIxOSwgNDkyNiwgNjU1NDQsIDczODg0LCAKLSAgICAxOTQ2MTksIDAsIDAsIDY0NzA5LCAwLCAxOTQ2MjAsIDc4ODgwLCA0OTIyLCAzMjUsIDk5MiwgMTE5NTY4LCA0OTI1LCAwLCAKLSAgICAwLCA5NTI2LCA0OTIwLCAwLCA5NDgsIDAsIDEyMDIwOCwgNDkzMCwgMCwgOTIxNzUsIDEyMDI3NSwgNDkzMywgMTIwMjExLCAKLSAgICAwLCAxMTg5ODUsIDQ5MjgsIDAsIDAsIDc0NzcwLCAxMjAxOTQsIDEyNjU0OCwgNzIyLCAxOTQ5MzQsIDE5OTA4LCAxMjYzNywgCi0gICAgMTI3NDg1LCAxMTk4NTUsIDg3NTMsIDE1MDksIDAsIDU0NjgsIDk1MTEsIDEyNzQ3NCwgMTI3NDc3LCAxNjcyLCA2MjA1LCAKLSAgICAxMDg2NCwgNzQ1ODYsIDEyNzQ4MCwgNzAxMDMsIDEyNzQ2NiwgNzg1NTUsIDEyNzQ2OCwgNzM4NjMsIDEyNjU3NywgCi0gICAgMTI2NTAzLCA0MTYwNywgMTIwMTE1LCAxNjc5LCAxMjAxMTYsIDEyMDE4MCwgMTIwMTEzLCAxMjc0NjIsIDcwMDUsIDQxNjA5LCAKLSAgICA5NTgwLCAwLCA0MDEsIDY5OTQ5LCA0Mzc3OSwgNjk2OCwgNTc2MSwgMzQyLCA4NTUzLCAwLCA4MTQzLCAxMjcxMTUsIAotICAgIDExOTgzLCA5MjI0OSwgNjI0LCA3NDUwOCwgNDA1NywgNDM3ODgsIDUwNzgsIDc0MjU4LCAxMjQ3OCwgMCwgNTA3NiwgMCwgCi0gICAgMTk0NjA5LCAwLCA4Mjk1LCA2ODUsIDkwMjUsIDE1MjQsIDEyNjE4LCAwLCA1NTM5LCAwLCA5MjUyMywgMTIwMTAyLCA3MTM4LCAKLSAgICAxMjA1NTIsIDAsIDE5NDYxMSwgNzg3NTIsIDAsIDEyNTIwLCA4MDU4LCA5NzMyLCAwLCA1MDgwLCA2NDc3NSwgNTAzNiwgCi0gICAgNTAzNSwgMTIwNTkwLCA0MjYwNCwgOTgzNjU2LCAwLCA4MDc0LCAyNzUsIDEzMjkxLCAxOTA3LCA3ODgzOCwgNDQzMiwgCi0gICAgMTI3MjcxLCA1MDMzLCAxMjcyNzMsIDEyNzI3MiwgNDgzNiwgMzg4OCwgNzM3OTIsIDEwNzI5LCA2NDU0NiwgMTI3MjYyLCAKLSAgICA0MzcwNCwgMTI3MjY0LCAxMjcyNTEsIDY3NTg4LCAxMTkwMDAsIDEyNzI1MiwgMTI3MjU1LCA4ODU4LCA2NDA5LCAxMjcyNTYsIAotICAgIDEyMDI1MiwgMTI4MTAwLCAwLCAwLCA2NjMyMSwgMCwgMTI4MTQsIDEyNzI0OCwgMzQzMiwgMTAyMTgsIDAsIDYwOTQsIAotICAgIDc2NDEsIDQyNDQ1LCAwLCA5MjQ4NywgNDI0MDYsIDE2NzYsIDc0MzIwLCAxOTQ2MDcsIDk4MzE3NywgNTAzMCwgMCwgMCwgMCwgCi0gICAgNzM4NjksIDk2MjIsIDAsIDY5OTQ0LCA2Nzg3LCAwLCAwLCAwLCA5ODM1ODMsIDEwNTQ0LCAxMjkxOSwgMCwgOTIyMTgsIDAsIAotICAgIDAsIDY5OTA2LCAxMjA3ODksIDAsIDk0NywgMTE5ODM1LCAxOTQ1ODYsIDE5NDU4NSwgMTA5NjksIDExOTkzNSwgNzYxMywgCi0gICAgOTI1NjIsIDExOTkzNiwgNDc5NSwgMTE5OTMwLCA3MDE4LCA3Mzc2LCAxMjAxODEsIDEyMDE5MiwgMTIwMjY4LCAwLCAKLSAgICA0MzU2NywgNzQwNTYsIDkxNzkxMCwgMTE4MzMsIDExOTkxOSwgNzIxNiwgNjUyMzIsIDcyMTcsIDI1MSwgNzIxOCwgNzg5NSwgCi0gICAgNDM5NSwgNDM1MzgsIDExOTkyNiwgMTE5OTI5LCAxMTk5MjgsIDcyMTMsIDExOTkyMiwgNzIxNCwgNzIxNSwgOTgzODM2LCAKLSAgICA3NDE0MSwgODg4MCwgNzY4NSwgNjY0NTksIDEyMDE3MywgNjU1NDAsIDExOTYxOCwgNjI1LCA4MTg3LCA0Mjg2MSwgMTExMywgCi0gICAgNzIzNiwgNzkxNSwgMzYzMCwgMTIwMTc2LCA4MTc5LCA3NDI2NCwgNjc4ODYsIDkzMTYsIDEwOTgwLCAyNDg5LCA2NTYyNCwgCi0gICAgODE1MCwgMTM1OSwgNjc2NTIsIDEyNzMyOSwgMTI3MzMwLCA3Mzc1NiwgNTA0MiwgNTA0MSwgNDI3NjksIDEyMDg0LCAKLSAgICAxMjczMjQsIDEyNzMyMSwgOTIyNzksIDEyNzMxOSwgMTI3MzIwLCAxMjczMTcsIDEyNzMxOCwgMTI3MzE1LCAxMjI4MywgCi0gICAgMTYxNiwgMzc5NSwgMCwgODc5NSwgNjYyNDUsIDAsIDAsIDAsIDExMzgsIDczOTA1LCAxMjY3NywgMCwgMCwgMzIzOSwgCi0gICAgMTI3MzExLCAwLCAwLCA4NDMxLCAwLCA0MjE2NCwgMCwgMTE3NzgsIDEyNjIwLCA2ODI2LCA3Mzc3MywgMTE5MDczLCA1MDQwLCAKLSAgICAwLCAwLCA5ODM0NDMsIDc4NDIwLCAwLCA1MDM5LCAwLCA3ODQxOCwgMCwgNTAzOCwgMCwgMCwgMTMxODQsIDc0MjkzLCAwLCAKLSAgICA2NDY0OCwgMCwgOTM1OSwgNzg0MTYsIDAsIDEyODc3MCwgNjUxNTcsIDY2NjIsIDAsIDAsIDM4NjMsIDczOTA5LCA0ODM1LCAKLSAgICA1NTI2NiwgNDM0MzIsIDEyNzgyMiwgNDMwOSwgNzEyNywgMTk0NTY5LCAwLCAxOTQ1NjgsIDEzMDEsIDAsIDQyNTg5LCA1NjksIAotICAgIDAsIDczODEzLCA3MTEsIDQzODksIDcxMzMsIDAsIDczODgwLCAxMTYxMCwgMTEzNjgsIDAsIDE5NDU3MCwgNDEzMzEsIAotICAgIDEwMDYsIDc0MjQwLCAwLCAxNTUwLCA4MjAxLCA3MzczNywgNzYyNywgNTQ5OSwgNTAzMSwgNzc5MDgsIDQyNzM4LCA2NTc4NCwgCi0gICAgNzc5MDcsIDY1MjY3LCAzNzU4LCAwLCA2NTc4MSwgNjQ3MzQsIDcwMDczLCAyNDQwLCA2NTc4MCwgNzc5MTMsIDg0NDksIDAsIAotICAgIDUwMDgsIDk4MzU3MiwgMjExOCwgMCwgMTIxMjEsIDgyNTUsIDU1MTIsIDczODc1LCAyMTI4LCAyMTMwLCAyMTMxLCAyMTI2LCAKLSAgICAyMTMzLCAxMTE5LCAxMjcwNjgsIDIxMTQsIDIxMTYsIDI0NTUsIDAsIDIxMjIsIDIxMjMsIDIxMjQsIDIxMjUsIDEyNzQ4NiwgCi0gICAgODcxNCwgOTgzODIwLCAyMTEzLCAwLCAyMTE1LCAxMjgxNzcsIDEyNzkwNywgNDM3MTMsIDUwNTIsIDY2MjIwLCA1ODIxLCAKLSAgICA2MTg2LCA2NTc3OCwgNjU3NzUsIDUwNTEsIDY1NzczLCAxNDI5LCA0MjY0NywgNTA1MCwgMzAyLCAzODgsIDQxMTE1LCA3MzUsIAotICAgIDY2MzcsIDU5MDcsIDY1MDg4LCAwLCAxMjcyNiwgNzQ1OTQsIDkxMTcsIDk4MzE4MSwgMTIwMDMsIDU1MTMsIDY2NjYsIAotICAgIDUwNTMsIDc0MjMwLCA1NTEwLCA3ODQ1MSwgMCwgNzg0NDcsIDI0NzAsIDc4NDM3LCAwLCAxOTI1LCAwLCA5MjIzNywgCi0gICAgNzQ4MDcsIDAsIDUwNDgsIDUwNDcsIDAsIDAsIDAsIDkyMzEzLCAwLCA3NDQ5NywgOTIzOTUsIDgwODksIDY5MjksIDYzOSwgCi0gICAgOTgzNTYzLCA2ODE3OSwgNjQ0NDIsIDAsIDkyMzQ4LCA0NTk5LCA0MTQwMiwgNjY3NCwgNDMzOTcsIDQzMjk0LCAxNDc2LCAKLSAgICA2NDgsIDAsIDY1ODE5LCAzMjMzLCAwLCA0MTc4MiwgNjk1MSwgOTQwMTcsIDk4Mzk3NiwgMzUzMCwgOTc1MCwgMTI4MzE3LCAKLSAgICAwLCA2NjU2LCA0MjYxOCwgMCwgNTA0NiwgODUxMiwgNjU4NTYsIDc0MjYxLCA4OTY3LCAwLCA1MDQ1LCA0MjAyNiwgMTkxNiwgCi0gICAgNzk4NiwgNTA0NCwgMTIwNTU2LCA5MDA2LCAxMzEyOCwgNTA0MywgMCwgNzg1MywgNzQwNjgsIDc0MDA0LCA5NjY5LCAKLSAgICAxMjM0MSwgMTI3MDMsIDg0MDIsIDAsIDExOTA3MCwgOTE3NjAwLCA0MTc1MCwgMzU4NiwgNjQ1MDgsIDQzMTQ4LCAwLCAwLCAKLSAgICAxMTk2MDYsIDY3OTgzLCAxMzI5NiwgNTE3LCAwLCAxMjg1MzQsIDE5NDk0NiwgNDE1MjgsIDEyMywgNjU0NTQsIDAsIDAsIAotICAgIDc0NDc4LCAxMDUzMSwgNzc4NCwgNDE1MjYsIDEwODI5LCA3Mzk5MSwgODA1NywgMTEyNiwgNzM4OTUsIDAsIDE5NDU5MSwgMCwgCi0gICAgMzkyNSwgNDI1MSwgODA2OSwgMTA1MTcsIDEyMDQzOSwgNDg5LCAwLCA0MjUwLCAxMjA0NDEsIDEyMDQ1MiwgNDMxNTEsIAotICAgIDk4MzE3OCwgMTk0ODUxLCA2NjIwMCwgMCwgMCwgMCwgNzg0MjMsIDAsIDAsIDg3MTEsIDYxODMsIDAsIDAsIDAsIDEyMDQ0OCwgCi0gICAgNzYyMywgMTE4OTI1LCAxMTg4ODksIDkyMzUsIDEyNzYwLCA3NDE3NiwgNjk2NjIsIDY2NDQ1LCA0MzU0MCwgMTAwNjIsIAotICAgIDM3NDMsIDExNTE0LCAxMTA3OCwgMCwgMTIxMzYsIDAsIDEyNjU5NywgMTIwNDM1LCAwLCA3NzI2LCAwLCAxOTkyMiwgMjY3LCAKLSAgICAzMzkzLCA0MjE5OCwgMTM3MSwgMTk0ODQ5LCA2OTIzMywgMjQ1OCwgMCwgNjIwMSwgMCwgNDEwNzQsIDQyNjYsIDEwNjUyLCAKLSAgICA0MTYxMiwgNDEwNzcsIDM0MDIsIDkwNTAsIDMzOTgsIDAsIDk4MzM0OCwgMCwgMzM5MSwgNDEwNzUsIDI0NzYsIDAsIAotICAgIDEyODAxNywgMCwgMTA2MjUsIDAsIDEyNzY3LCAxMzAxNywgNzg3NDMsIDY0MjYxLCA2NDkzNCwgMTI3NTM3LCAxMzAxNCwgCi0gICAgMTMwMTMsIDAsIDY2NzMsIDAsIDAsIDAsIDEyNDM4LCAwLCA5ODMzNDIsIDAsIDk4Mzg4MCwgMTI2NjM4LCA5MDUzLCAKLSAgICAxMzAxNSwgNzQ1MjMsIDAsIDcwNCwgNjYyMTUsIDYxOTUsIDk4MzgyOCwgNjY2MCwgNzg3NTgsIDkxNzc2MCwgOTE3NzkzLCAKLSAgICA0MjIxMiwgMTI2MjksIDExNDM1LCAwLCA1NTI1NiwgNjU1MzgsIDAsIDEyNzk0MCwgOTgzMzQxLCA3NDU0NywgMTI2NTg1LCAKLSAgICA2NTQ0OCwgNzgxMDAsIDEyOTQ4LCAxMTkwMDEsIDE5NTAwMiwgMTE5MjM4LCAxOTUwMDQsIDc4MDk5LCAxMjcwODUsIDAsIAotICAgIDEyODMyMCwgNDI4NywgODI3NiwgNDkwMiwgMTEzMSwgMCwgNzg0NTgsIDY2NzI4LCAxODE2LCAwLCA0MjUzMywgMTY4LCAKLSAgICA0Mjg0NSwgNDg5OCwgNjQyOTgsIDk4MzE0MSwgMCwgNDkwMSwgMTgyMSwgMCwgNTc4LCAzNjUzLCAwLCA3OTEsIDkxNjIsIAotICAgIDY5NzcsIDAsIDc4ODg5LCA3NDU2MSwgMCwgNzM3MzEsIDgzNTQsIDQzNTkwLCAxMTkzMDMsIDk4MzQ0OSwgNzU1NywgCi0gICAgMTE5MzM5LCAxMTkzMDEsIDgyMzQsIDcyNDEsIDAsIDEyMDY3MSwgMTE5MTY3LCAxOTQ5OTYsIDEyODExLCA2NTkyNSwgCi0gICAgMzk0NiwgNzgwNzgsIDEwOTk4LCA3ODA4MCwgNjczLCAxOTQ4NjcsIDY0Mzk3LCAxMjgyNzYsIDc0NTk5LCA3ODQ0OSwgCi0gICAgODg5MCwgMTk0OTc3LCAxOTQ5NzYsIDI0NDgsIDc4MDg1LCAxMDI2NywgODQyNCwgMjQ1MiwgNzgwODMsIDEyODgyNCwgCi0gICAgODcyOSwgNzg0NTYsIDAsIDc4NDUsIDkxNzkxNywgNzEzMDIsIDQ0MDgsIDQxMjIsIDY3NzIsIDExMDM5LCA4NzIzLCAKLSAgICAxOTQ5OTAsIDcxMzEwLCAxMTkzMDIsIDczMSwgMTE5MzA0LCA5MjI4NiwgMjQzOCwgNjQ4NTUsIDExOTMwMCwgMTE5Mjk5LCAKLSAgICAxMTc1LCAwLCA0MjEzNSwgMzczLCAxMTkxNzIsIDIxMTksIDExNDU3LCAxMTUyMSwgNzcyMywgMCwgMCwgMCwgNDE5NTIsIDAsIAotICAgIDUyNzMsIDIxMjcsIDUyNjksIDYzMzcsIDUyMDIsIDI0MDQsIDUyNjcsIDQyODIzLCAxMTI5MSwgMTk5MTUsIDUyNzcsIAotICAgIDEyOTYzLCAxMjc4NjQsIDYxODksIDQxMjUsIDEzMTQsIDEyMTMzLCAxMjAzNDAsIDExODg3MywgMTI3MSwgOTgzNjQwLCAwLCAKLSAgICA2NjAyNCwgNDE0ODIsIDM4NjQsIDc0NTM5LCAwLCAzODc5LCAwLCAxMjk3OCwgNDE2NiwgNDU3NCwgMCwgNzU2NywgNzQ1OSwgCi0gICAgOTgzMTYwLCA0MTM5MCwgNTM4NCwgNDE4ODIsIDY3NjQ3LCA5MjU0OCwgNTc1OSwgOTgzOTEyLCAwLCA0MTM4OCwgNjQ0NDYsIAotICAgIDQxMzkyLCA2NDI4OCwgNDEzODcsIDAsIDg3MDYsIDU1NTIsIDk4MzE4NywgNzAwLCAwLCA1NTUzLCAwLCA3MDg4LCA1MzU2LCAKLSAgICA3NDk5LCA2ODAwNywgNjY1OTYsIDc0MDY2LCAwLCAxMDI2MywgNTU1NCwgMCwgMTIzNDQsIDEwMzExLCA3ODExMywgNjY2NSwgCi0gICAgOTI2MjYsIDAsIDc2MTgsIDg1MTcsIDExNDU1LCA3ODQ0MCwgNjQ2MzIsIDY0NDQ3LCA1NTU1LCA3ODA4OCwgNzgwOTMsIAotICAgIDc4MDkxLCAwLCA0MjgwMywgNjUwMzMsIDkxNDMsIDY2NjgsIDE5NTA2NywgNjc5OTUsIDE5NTA2OSwgNjU2LCAxOTUwNzEsIAotICAgIDY1MDM3LCA0NTc3LCA2NDYyNCwgMCwgMCwgMCwgOTgzNjQ5LCA0MjY5LCA3Mzg4NSwgOTE3Nzc1LCA0Mjg0NiwgNjk2NDQsIAotICAgIDk1MCwgMCwgOTIyNzMsIDY2NTgwLCAxMTg4OTUsIDY2NjgzLCAxMDU1NCwgOTE3Nzc4LCAxMTkxMjEsIDAsIDUwOTgsIAotICAgIDkxNzc3MCwgMCwgMTE5MDk5LCA1MDk3LCA0OTM1LCA5ODQ4LCAxMDM4MSwgMCwgMTI4ODcwLCA5ODM3MDEsIDM2NTEsIDAsIAotICAgIDEyMDczMCwgMTI3NTU2LCA1MTAyLCA1MTAxLCAxMDI2OSwgMTI5ODMsIDgxMzgsIDQ1MTcsIDE5MzIsIDUxMDAsIDE0MzksIAotICAgIDEyMDkzLCAxMjQ3LCAxMDAzNCwgMTk1MDY0LCA1MDk5LCA3ODM3MywgMTQ0MSwgNDIwODcsIDMwNjMsIDY1MCwgMCwgNzgzOCwgCi0gICAgMCwgMTk1MDQxLCAxOTUwNDAsIDExOTE0MiwgOTAzMSwgMTIwNzkwLCAxMjg1ODIsIDkwNzgsIDg1NDUsIDY2MzU2LCAKLSAgICAxMjg3OTksIDAsIDkxNTQsIDkxMTgsIDEyNjU0MywgMCwgMjY3NiwgMjI3NywgMCwgNzM4MTIsIDYxOTAsIDg1OTksIAotICAgIDE5NTA1MywgNjk5MTgsIDEwNzk1LCA5ODU3LCA3MDE0LCA5ODU2LCAxOTUwMzMsIDkyNjIwLCAxMjEyOSwgMCwgODQ4MSwgMCwgCi0gICAgNjIwMiwgMTk1MDM1LCAxMDkyMCwgMTI4MjM3LCA1MjAzLCAxOTUwMzksIDE5NTAzOCwgNTEwOCwgNTEwNywgNjU4MTgsIAotICAgIDY2MDE5LCA5NzYyLCAwLCA1NTQxLCA3NDc3MiwgMCwgMTI2MTMsIDUyODQsIDY2NTcsIDIwNywgMTI4ODA2LCA0Mjc1LCAKLSAgICA3NDgxOSwgODU0LCA2ODE0NywgNzQzODEsIDAsIDc4Nzg2LCA1MTAzLCAxMjc4NjEsIDY0MzQ4LCA0MTM2OCwgNDM5NzQsIAotICAgIDQ4OCwgNjk4MTEsIDAsIDcxMzM5LCAxMDE1NywgMCwgNDMwMzQsIDExNDM4LCA2NDY3NCwgMCwgOTI2OTQsIDY4NDMxLCAKLSAgICA0MTc3MSwgNTEwNiwgNjY2OSwgODUwNCwgNjUxNTQsIDY5ODEzLCA0MTM2NywgNTEwNSwgMTI3NTA5LCA2OTcyMCwgNjQ3NiwgCi0gICAgNTEwNCwgOTgzNzQ5LCAzMDQsIDMxNzYsIDExOTAxMCwgMCwgOTMyLCAxMjA2MzMsIDY1NjcsIDIzOCwgNjk2NTYsIAotICAgIDE5NTAxMSwgMTk0NTk1LCAxOTkwNSwgMTIwNTc3LCAxOTUwMTUsIDc4ODcwLCA0MTA0NCwgNjc2NDAsIDE5NDkwMiwgCi0gICAgNDIwNTUsIDk5MTIsIDY1OTM5LCAxMDY3MCwgNzQwOTMsIDEzMjczLCAwLCAxMjU1MiwgMTk1MDE5LCA4ODAzLCAzMDksIAotICAgIDY2MjIsIDgxNTEsIDEwODU4LCA3ODcwNiwgNjc2MzYsIDAsIDEyNTY4LCAwLCAxMjU1MywgMTA4MTQsIDQzMjc1LCA2OTUwLCAKLSAgICA5NzEyLCA2ODY4MCwgNDM5NzAsIDk4MzE5OCwgNjUxNjUsIDkyNzI1LCAwLCA2NjQ2NiwgMCwgMCwgMCwgNjY3MjUsIDYxOTEsIAotICAgIDExMzUxLCAxMDQzNywgMTEzMTYsIDY3NjM0LCA0Mzc2MywgMCwgNDE3NTQsIDY3NjM1LCA5MzcwLCAyNzIwLCAxOTQ5NzUsIAotICAgIDY4NDYyLCA4MjMyLCAxMTg4MTcsIDAsIDMyMjIsIDAsIDAsIDAsIDY2NjYzLCAwLCAwLCAxMDgzNCwgMCwgMCwgNjU3MzIsIAotICAgIDk0MDk1LCA5MTc1NDcsIDkyNjgyLCA2NzY3OSwgMTk1MDIwLCAwLCA3NzgxLCA0MTM4MywgNjQ1NjgsIDAsIDEyMDczOCwgCi0gICAgMTIwNzcsIDAsIDY0NTg2LCA5MTc2MjAsIDQyMzk2LCA1NTI1NSwgMzQ3NSwgMTI4MDM1LCAyNDc5LCAwLCAzNjMyLCAKLSAgICAxMjA3MjgsIDEwNjk4LCA4Mzc2LCAzNjQ4LCAxOTQ5NjAsIDc0ODQ0LCA2NzYzOSwgMzYzNiwgNjc4OTQsIDM2NTAsIDg4MzcsIAotICAgIDY1MjI5LCAxODQzLCA0MjI4MywgNDMyNTAsIDQxNTYyLCA5MTAwLCA3NDU0OCwgOTE3NjMwLCAzNjQwLCAxMjcxOTAsIAotICAgIDQyMzIxLCA3Mjg0LCAxOTQ5NzQsIDE5NDk3MywgMTk0OTUwLCAxOTQ5NDksIDE5NDk1MiwgMTk0OTUxLCAxMjY2NDksIAotICAgIDE5NDk1MywgNDIwODAsIDI1MjksIDAsIDAsIDAsIDQyMDgzLCAxMjA2NzgsIDY4Mzk4LCAxOTQ5NTcsIDY3NjE5LCA2NjM2NywgCi0gICAgMTk0OTU4LCA5NjM0LCA5MjM4MCwgOTk4OCwgMCwgNDEwNjgsIDAsIDQyOTUsIDY1MjY0LCA2ODAwNiwgMCwgOTI1NDUsIDAsIAotICAgIDc4NSwgODIzNiwgMTI4NjQ3LCA5MDI3LCA2ODE2MCwgNjc2MjMsIDY0MzgzLCAxMjAyNjUsIDkyNSwgMTI3MTU2LCAwLCAKLSAgICA0MTk4NSwgNDEwNzEsIDk1ODYsIDAsIDQxOTg0LCA5MjE3LCAwLCAwLCAwLCA5MTg2LCAyMDY3LCA0MDE2LCA5ODM4MDMsIDAsIAotICAgIDM4MSwgMTI5MzYsIDAsIDQyMDc3LCAwLCA2OTg4MCwgNTE4NCwgNDIwNzgsIDE5NDk0NywgMTA4MTAsIDEyODUzMSwgNDU4NSwgCi0gICAgMTk5NDMsIDU4NjAsIDY3NjMzLCAwLCAwLCA4MTIsIDM2MTUsIDAsIDUxNzgsIDQ0MDAwLCAxMjA1NDgsIDc4ODA3LCA1MTg4LCAKLSAgICA3NDI4NywgNjc2MjksIDM2MDUsIDEwNjkyLCAxMTY2LCA2NDQyOSwgNDI2MzksIDkyNCwgMCwgNjc2MzEsIDQyNjE2LCAKLSAgICAxMjA2NzAsIDI0NDIsIDEwNzAzLCA3ODc4OSwgNjc2MzIsIDkxNzkyNCwgMTI3NzEsIDEyNzM2LCAxMjc1MywgNjY3MDgsIAotICAgIDczOTMzLCA2NzYyNiwgNDI0MDEsIDAsIDY5ODcyLCAxMjczNzMsIDQyMjg4LCAxMjc1MSwgMCwgODU0MiwgMTMxNDUsIAotICAgIDE5NDk2MywgMjQ2OCwgNjY3MDYsIDQxMjk0LCAzNjI2LCAzODgzLCA2NDM4OCwgNDI0NzksIDAsIDQxMTE3LCAwLCA5MjU4MCwgCi0gICAgMCwgMCwgNjc2MjQsIDAsIDEyOTAsIDAsIDY1NTg1LCAyNzE1LCA4MDYsIDY1MjA4LCA0MTg4NCwgOTE3ODgzLCAxMzE4LCAKLSAgICA2NDczMSwgMTI2NTc4LCAwLCAwLCA2NjMyNSwgMzQ2NSwgMjQwNSwgOTI0MCwgMCwgMTI3NTYsIDY1MjU5LCAwLCA5ODM3ODEsIAotICAgIDEyNzUyLCA1ODMzLCAxNDMyLCAwLCA0MTg4MywgNzM5MTIsIDk3OTksIDAsIDQxODg2LCAyNDgwLCAwLCAyMDYyLCAKLSAgICAxMjcyOTMsIDY0OTQsIDU1MzcsIDc4NjU2LCAwLCAxOTQ1ODcsIDAsIDEyMTEsIDAsIDAsIDAsIDExODgzMiwgMTIzMTgsIDAsIAotICAgIDAsIDY4MDA1LCAxMDYyMiwgOTgzNzc5LCAwLCA3ODY1NCwgNjU2NiwgNzg2NTksIDAsIDczNzgwLCAxMTkxOTYsIDY0ODY0LCAKLSAgICAwLCA3ODY2MCwgMCwgODI4NCwgMTMwODEsIDAsIDM1ODksIDQyMDUxLCA0MDM1LCA2NDkyLCA5MjIzNiwgNDI2NSwgNjY0MiwgCi0gICAgMzk3NywgNzQxODYsIDQxNzc4LCA4MzYsIDExOTIxNiwgMjQ4OCwgMCwgNDU4MiwgMCwgMCwgNDE3NzcsIDEyOTI2LCAKLSAgICA5ODMzNzcsIDc1MjgsIDEwNTUwLCAwLCA5MjcwNiwgMCwgMTA5NjEsIDAsIDEzNzQsIDY0ODc4LCAxMTkwMTQsIDAsIAotICAgIDQyMzg5LCA0MTM3NCwgMjI4NiwgMCwgNzg0OTIsIDQxMzc3LCAxMjc5MDksIDAsIDQwMCwgMTI1OTcsIDEyMDU4NiwgMCwgMCwgCi0gICAgNjY2MSwgOTgzMTQ1LCA2NDgyNywgMCwgNzM4MTcsIDM5MCwgMCwgNzEzMDEsIDk4Mzg2MiwgMzQ3MywgNzcxOCwgMCwgMCwgCi0gICAgMCwgNTUyODUsIDAsIDAsIDAsIDExOTY5LCA5ODMzOTAsIDEyNzg0MSwgNjM2NSwgMTg4NywgNjc2MywgOTgzMzcwLCA4MDgwLCAKLSAgICA3MDA2LCAwLCA5ODMzNzEsIDY3NTcsIDY0MzUxLCAxNTQ0LCAwLCA2NzY2LCA2NDY3NywgMTIwNzE2LCA5ODMzNzIsIDYxNDYsIAotICAgIDAsIDc3MSwgOTgzMzczLCAwLCAxMjgxMiwgMTMxNjgsIDQyMjcyLCAxMjIwMCwgOTE3OTI3LCA3OTA0LCAwLCA5NTMsIAotICAgIDEyOTE3LCAxMTk1NjAsIDEyMzAwLCAwLCAxMTQ5MSwgOTcyNCwgMTAzNDEsIDk4Mzc3MywgOTUyNCwgNzQ5MCwgMTEzODksIAotICAgIDc0ODksIDMzNzksIDAsIDc0ODcsIDAsIDQ3MSwgNzQ4NCwgNzQ4MiwgNjc1MywgNzQ4MCwgNTc2NCwgNzQ3OCwgNzQ3NywgCi0gICAgNjUwMSwgNzQ3NSwgNjkxOCwgNzQ3MywgNzQ3MiwgMjQ3NCwgNzQ3MCwgNzQ2OCwgMTAyMzIsIDEwNjE1LCAxMDIxMywgCi0gICAgMTI3Mjg4LCA5MjM1NywgMTAwNDksIDExODM0LCAzNTQ0LCAwLCA2MDE3LCA2NTMxMSwgMTI3NDgxLCAxMjAyMTYsIDEzMzA2LCAKLSAgICAxMDUzMywgNzg3MCwgNzM5NDksIDc2MjUsIDAsIDEyMDU0NCwgMCwgMCwgOTI2NjAsIDAsIDAsIDAsIDE5OTYxLCAyNDcyLCAKLSAgICA0MjY2NSwgOTIzNDEsIDAsIDIxMzksIDQyNTYsIDEyMDc3NiwgNzQzODAsIDAsIDQyNjc1LCA0MjY1OCwgMTI4NDUsIDAsIDAsIAotICAgIDY1MTM4LCAxMTkzNTUsIDY3ODYyLCAwLCA2NTY3MSwgNzA4MywgMTIwMDA4LCA4MDY2LCA3Njc4LCA3NDg2NSwgMCwgMCwgMCwgCi0gICAgMCwgNzE4NiwgMCwgMTIwNTU1LCAwLCA0NDUsIDEyMDU2NiwgMTI4MzA4LCAwLCAwLCA4MzMwLCAwLCAwLCA0Mjc5NywgCi0gICAgOTgzMTUwLCAxMjAyMTUsIDAsIDM5MDIsIDAsIDE3NzAsIDAsIDEyODg2NiwgMTU2MCwgMTIwMjA5LCAxOTQ5NzIsIDQ1ODQsIAotICAgIDczODQzLCAwLCAxMTcxMiwgMTA4NjYsIDExODkyOCwgMTExOCwgNzEzMzQsIDAsIDAsIDEwODEsIDc0MzYsIDY4NDIwLCAKLSAgICA3MjUyLCAwLCA1OTk2LCA2OTkyMSwgNDkwMywgMCwgNDEzODYsIDUxNjIsIDExOTE4OSwgMTMzMCwgMCwgNzEzOSwgMCwgCi0gICAgMTIwNDcsIDQxMzg0LCAwLCAwLCAxODQ4LCA0MzM0LCA2MzI0LCA0MTk3NSwgNjQ3NzcsIDEwNjc0LCAxMjMwOCwgMTIxODYsIAotICAgIDAsIDAsIDk4Mzc0MSwgMTI3MTUsIDY4MDAyLCA5ODM0NzksIDEyNjYzMCwgMjAxOCwgNjY2NzIsIDQxOTc5LCA2NjY4NSwgCi0gICAgMTE5MTU3LCA2ODAwMCwgOTI0NjQsIDAsIDEyNjk4NCwgNjgwMDEsIDkzMzQsIDkyNzA1LCA5MjMxNSwgNzAxMDEsIDc5NzUsIAotICAgIDAsIDc3OTU3LCAwLCA2NjYyMSwgNDg4NCwgNjY1OTcsIDY5NzMyLCAwLCAwLCA2MzEzLCA2NTUxMywgNjk4NTcsIDAsIDAsIAotICAgIDAsIDIzNDUsIDQzNjk3LCA0NjMsIDAsIDAsIDExOTYwNywgMzExNywgNTQ2MCwgMCwgMCwgOTgzMzg3LCAwLCA0MjI3OSwgCi0gICAgMTk0NTc3LCAwLCA3ODQxNSwgMCwgMTk1MDA4LCA5ODMzODQsIDEzMjQ4LCAwLCAwLCAwLCAwLCAwLCAwLCA1NjYzLCAwLCAwLCAKLSAgICAwLCAwLCAyNDgyLCAxNDcxLCAwLCAwLCA0MjI0NywgMTIzNzgsIDczOTI1LCA2OTY2NCwgMCwgMTIzNzQsIDAsIDAsIDAsIAotICAgIDk4MzY5NCwgMjQ2MCwgMCwgMTE5NDQsIDEyMzc2LCAxMjc4NjgsIDY0Njc5LCAwLCAxMjM4MCwgMTA1NTcsIDY0NDczLCAKLSAgICA1ODcwLCAwLCAyMDI0LCAxMjcxODAsIDAsIDAsIDUzOSwgMCwgMTI3NzY1LCA5NDA1MiwgMzg1MywgNjUxODAsIDEyNzkyMywgCi0gICAgMTIwNzk2LCAxMjAyNDUsIDkyMzI0LCAwLCA4NjU5LCAwLCAxMjQ3NCwgOTI1NzksIDk1MDMsIDE5NDk2OSwgMjQ3OCwgMCwgCi0gICAgNDE2MiwgMCwgNDI2MCwgMTI5NTMsIDY5NjMzLCAxMjAwODksIDEyNDcwLCAwLCA3NDE4OSwgMjc0MiwgMTI0NzYsIDExNzk4LCAKLSAgICAxMDk0NiwgMTI3MzEwLCA1MDAwLCAwLCA5ODM1NzksIDAsIDY5NjcyLCA4MjEzLCA3NDAxNywgNzc3MSwgNjE2MSwgNjgwMTgsIAotICAgIDY3MDksIDAsIDc4ODg1LCA5ODM3MDgsIDEyNzk3MSwgMTIwNTgyLCA3ODU0NywgMCwgMTAzMDEsIDEwMzMzLCAxMDM5NywgMCwgCi0gICAgMCwgNzM3OTEsIDAsIDAsIDAsIDAsIDExOTEyMywgNDAxNCwgMTI4NDIsIDczOTUyLCAxMjAxNSwgMTI3MjkwLCA4Mjc1LCAKLSAgICAzODkzLCA5ODMyNjQsIDAsIDEyMjEwLCA3MjIxLCA0MjE0NywgMCwgNzQ1NTAsIDc0NDY1LCA2NDc0NywgMTE4ODQxLCAwLCAKLSAgICAxMjUxNiwgNDQ0NCwgMCwgOTIyNzEsIDc0NTM3LCAxMDg5MiwgODIzMSwgMCwgNjQ3MywgNDE5NjgsIDc4Mzg4LCA0MTk3MywgCi0gICAgMzU5MSwgNDE5NjksIDAsIDI0NTMsIDEyODU0OSwgOTI2NjYsIDY0NzA1LCAwLCAwLCAxMDM0OSwgMTA0MTMsIDQzNTkxLCAKLSAgICA0MTk2MiwgMzIwMiwgNzQzNTMsIDAsIDgzMTYsIDAsIDAsIDk0MDYwLCA2ODcsIDAsIDAsIDAsIDE4NDAsIDAsIDY4NjcxLCAKLSAgICAxMTk4MDksIDQ4ODMsIDI4NSwgNDcyMywgNzAwOTksIDkyNjkyLCA0NDU5LCA3NDU3NywgNDI5MjEsIDQxNzIwLCAxMTA4OSwgCi0gICAgMjQwLCAxOTkwNiwgMCwgNDIzMjMsIDAsIDk3NDMsIDEyMDIzMiwgMTMxMzQsIDEyNjUzNSwgMCwgMCwgMCwgMCwgNDI2MzQsIAotICAgIDk4MzM0MywgNDM0MzcsIDMwODEsIDExNDYzLCAxMjAxNTQsIDAsIDAsIDEwNDQ1LCAwLCAwLCA2NjcxNywgMjYxNCwgOTEyNSwgCi0gICAgMTE5MDIzLCAxNzI5LCAwLCAxMjAyMzYsIDY1MjIxLCA2Mzg4MywgNDMzMzQsIDY0ODUyLCAwLCA2NTE5NCwgNjYyMDEsIDAsIAotICAgIDY2NTc4LCA1MDAxLCA0MTg3OSwgNzQ0MjcsIDQxMjEsIDUwMDMsIDg4NCwgNjY3MDAsIDYzODc5LCA0OTQzLCA1MTUwLCAKLSAgICA3Mzg4OSwgNzQxODIsIDEyNzkxNSwgNjQzLCAzMDg2LCAwLCA0MjQ0OCwgNDIyOTksIDU4LCAwLCA5MTc5NTIsIDEyMDA4MywgCi0gICAgNjM4NzMsIDg0OTEsIDAsIDAsIDk4MzYyMywgNDUzMCwgNDI0MDksIDcxMjYsIDE5NDU3NSwgMjcyMSwgMTIwMDc0LCAKLSAgICAxMTkwOTYsIDE5OTI5LCAwLCAxOTQ1NzQsIDAsIDQyNDIsIDQyNjQsIDEyMDA3NywgMTIwNTMwLCA2NjE3OSwgNDI0MTIsIAotICAgIDY1OTQxLCAxMzExNCwgNjQ1MjIsIDEwNzQwLCAzMDk0LCAwLCA5NzU0LCAxMTkxMDIsIDQ0MzcsIDczOTQ4LCAxMjcwNzQsIAotICAgIDk4MzIzOCwgNTUyODAsIDQyMTc0LCAxOTQ5MjUsIDQyNDMwLCAwLCAwLCA0MjM1NSwgNjYwMjYsIDQzMDYsIDQxMzgwLCAKLSAgICA2ODQzMiwgOTI1ODYsIDAsIDY2NjY3LCAxMjczMDksIDAsIDEyNjUyMSwgNDIyMDAsIDQyNTY2LCAwLCAwLCA1MDg4LCAKLSAgICA2OTQ4LCAwLCA4NTI0LCAwLCAwLCAxMjM4NSwgMCwgMCwgNjk2NDYsIDEzODYsIDY0NTgwLCAxMTQ4MCwgNjExNiwgNjUwMzksIAotICAgIDY1MDM4LCAxMjM5MiwgNjUwMzYsIDgwNjQsIDAsIDEyMTAxLCA1ODIyLCAxMTkwMDQsIDIwODAsIDcxMCwgNzc5OTksIAotICAgIDExNjYzLCAxNjY2LCA0MjA5MSwgMTE5NjU3LCAxMjM4MywgNDM2NzEsIDQyMDkyLCA2ODQxOCwgNDI4OSwgMCwgNjM4OTYsIAotICAgIDEyMDYxLCA0MjA5NiwgNDM2MjEsIDMzNjIsIDEyMzc3LCA5ODM4MzIsIDk4MzgzNCwgNjg0NDksIDc0NjEsIDczOTAxLCAKLSAgICAxMjQ0LCAzMzEsIDczNzg2LCAxMjY4MywgMTA2NjIsIDAsIDgxMTIsIDAsIDY1ODUyLCAwLCAxMjM3OSwgMTk0ODc3LCAKLSAgICAxMjA4MTgsIDQxOTY0LCA0MjIwOCwgNjM4NDMsIDIwODQsIDQxOTY1LCAwLCA2NTg2NiwgNDMyNywgMCwgNjM4NDAsIAotICAgIDc4NTQ5LCA0MTIyMCwgMTMwMzIsIDAsIDU4NCwgMTI5MzMsIDQzMTc3LCAxMjM3MywgNjk4NTUsIDEzMDAwLCAxMzUxLCAKLSAgICAyOTM1LCA4Njk4LCAxMjY2NSwgMCwgMTkzMCwgMCwgNzgyMjksIDEyNDI3LCA2NjUxNCwgNjk4NTksIDEzMDMxLCAwLCAKLSAgICA2MzkwMSwgMCwgMzY1NywgMTI4NTcyLCA2NTIwMiwgNjAwMCwgMTE5MjA2LCAxMjQyNiwgMTI3MTgxLCAwLCA0MTc0MCwgCi0gICAgMTI0MjgsIDQxMjgzLCA0MTkxNiwgMTE5MjEwLCAwLCAwLCAxMjQyOSwgNjcyNywgMCwgNzU2MiwgMCwgNTE3MCwgMCwgCi0gICAgNDE3NTUsIDY3NiwgMCwgNjY3MDQsIDY2NjY0LCA5OTc4LCA2NjQ5MSwgMzUzNiwgMCwgOTc1MiwgOTIzOTcsIDYxNjIsIDAsIAotICAgIDY5MjI4LCAxMDExMywgNDE4MjksIDY1ODg2LCA1MTU5LCAxMjQyMiwgNDE4MzIsIDQzOSwgNDMwNzcsIDAsIDQyMjA3LCAKLSAgICA3NDU0OSwgMTE3OTYsIDQwOTcwLCA0MTgzMCwgMCwgOTE3Nzk5LCA4MzA4LCA5MTc3OTcsIDkxNzc5NiwgMCwgNjc4NjQsIAotICAgIDkxNzgwMSwgOTE3ODAwLCAxMjMzNiwgNDEzNSwgNjk4MDUsIDM0MSwgMjcyNywgNDEyOSwgMzUzOSwgMCwgNjM4NjEsIDAsIAotICAgIDc5MTMsIDAsIDYzODU5LCA0MTMxLCA2Mzg2OCwgMCwgNjM4NjcsIDQxMzMsIDExMzcxLCAyMTAsIDQ2MDAsIDAsIDc0NTYwLCAKLSAgICA0MTM3LCA4MDgyLCA3ODUwNiwgMTE5MDYyLCA3ODUwNCwgNjcwNCwgNDU5MSwgMTI4MDI5LCAwLCAwLCA5NjgwLCAwLCAKLSAgICAxMjA2MjMsIDU2MSwgMTIxNTksIDE5NSwgNzg1MDgsIDQxNTAxLCAwLCA0MjAzMSwgNTcxOSwgNzE3MiwgNDI2ODcsIDgzNjgsIAotICAgIDAsIDQxNDk5LCAwLCAwLCA0MjI0MiwgNDE0OTgsIDkxNzc5NCwgNDIwMjUsIDc4NTY1LCA2NTgwNSwgNDI0NjMsIDAsIAotICAgIDI5MjQsIDAsIDEyMDUxMCwgMCwgMCwgMTE5MjEzLCA3Mzk0MSwgMCwgNDIzMzAsIDkxNzc4NCwgMzk2OSwgMCwgMCwgNzE2OSwgCi0gICAgMTk5MiwgOTY1MiwgNzM5NzcsIDcyNDYsIDQyMDg2LCAxMjY2MTUsIDIyMTksIDAsIDAsIDEyODgwMSwgMTk0ODM3LCAwLCAKLSAgICAzMjcsIDAsIDkwNDIsIDkxNzc3NywgOTE3Nzc2LCA2NTE0OCwgMTI0MzMsIDkxNzc4MSwgMTI3Mjc2LCA5MTc3NzksIAotICAgIDEyNDMxLCA4NjY4LCAxMjQzNCwgOTgzODM1LCA5MTc3ODIsIDU5OTksIDAsIDc3MTIsIDEyNDMyLCAxMjgyNDMsIDQzNjUzLCAKLSAgICAxNzI2LCAxMDE1LCAwLCA4MjEyLCAwLCAxMjgwMTQsIDQyNDIzLCAxMTkwNjYsIDAsIDEyODEwOCwgNjY3MDksIDAsIDg4MTEsIAotICAgIDkyNywgMCwgMCwgMTI0MzYsIDk4MzI0NSwgNDIwMjEsIDAsIDAsIDEyOTksIDEyMjQwLCA0MjM1MCwgNjUxNDMsIDAsIAotICAgIDE5NTAxNiwgMCwgNzgxOTcsIDExMzQ4LCAwLCA3ODAzNywgOTE5NCwgOTgzMTg0LCAwLCAxOTkxNCwgMTIxNzksIDk4MzgxMiwgCi0gICAgMjI5NiwgMTk0OTIzLCA2MzgzNiwgNjM4MzIsIDkxNzc3MywgMTA5NjcsIDYzODE2LCAyNTk0LCAzNDQ0LCA2MzgxNywgCi0gICAgNjQ2NTEsIDAsIDQxNTAzLCAxMjc0NzgsIDExMjY1LCAwLCAxMjA3NTYsIDE5NDkyMiwgMCwgNTY2NCwgMzk3MiwgMCwgMCwgCi0gICAgMCwgMTI4NTA4LCAxMjQxNiwgOTE3NzY0LCAxMTk2MDgsIDEwODE2LCA5MTc3NjksIDkxNzc2OCwgMTI0MTgsIDc0MTExLCAKLSAgICAzODgyLCA4NTMyLCA5MTc3NzEsIDE1NzMsIDEyODY0OCwgMTE5ODQ3LCA0NTk2LCA2NjMzOSwgMTI0MTcsIDY2MDAxLCAKLSAgICA2NTM0MywgMTI2NDkxLCAxMjQxNCwgODI4NywgNjgyMTksIDE5NTAxNywgNjgxMDgsIDExNDMsIDExOTE2OSwgMTE5ODQ2LCAKLSAgICAxMjQxNSwgNjYyNiwgNDI3NjMsIDAsIDExODg4NCwgOTAyMSwgMTIwNzgzLCAwLCAxMTcyNCwgMCwgMCwgMTI3MTA0LCAKLSAgICAxMjY2MTksIDAsIDAsIDgwMjcsIDEwOTk3LCA5MTcxLCAxMjc0MSwgMTE0MDAsIDcxMzA1LCAxOTQ3OTksIDAsIDEyODIzOSwgCi0gICAgMCwgMTI4ODgxLCAxMTk2MDQsIDEyNzUyMywgMTIwMTkwLCAxOTQ3NzMsIDY3NjA4LCAxMjgyMTQsIDQyMzY4LCAwLCA3NzE1LCAKLSAgICAzODgxLCA0MTQ4NywgMTIxMTgsIDQyNTE0LCA2ODY1MSwgMCwgOTgzODk1LCAzMDA5LCA0MTQ3NiwgNDE0ODksIDY5ODI1LCAKLSAgICAzMDA3LCAxNDQ4LCAzMDE4LCAxOTQ4MDksIDM4ODksIDg1MjEsIDUwODMsIDUwODIsIDExOTg1OSwgMTIwMTg0LCA4NTE5LCAKLSAgICA5ODMyNDEsIDMwMTQsIDUwODEsIDY1ODUzLCAxMjA3MTUsIDAsIDY4MDE0LCA2OTk1MSwgNTA3OSwgNjQ4MDIsIDQyMjEwLCAKLSAgICA0NTk3LCA2NTUzMiwgMTE4MjgsIDEyMDE4NSwgMTIzNzEsIDAsIDg0MDcsIDAsIDEwODA1LCA4NTE4LCAxMDc3OSwgCi0gICAgMTIwMTg4LCA3MTMwMywgOTgzOTMzLCAxMjM2NywgNDIxNzAsIDAsIDkyNTU3LCA2MjksIDE5MjQsIDAsIDEyMDM3LCAKLSAgICA3NDM2NiwgNTk4NywgODQ2MiwgODAwNSwgMTIzNjUsIDYzOTMzLCA2OTczNSwgMTIwODE1LCAxMjM2OSwgMTA2NDksIAotICAgIDY3OTgxLCA1MDc3LCAxMjAxNzQsIDEwODgwLCA2MzkyNywgNTA3NSwgOTE3ODgxLCAwLCA2NTA3NSwgMCwgMTEwMDcsIAotICAgIDk4MzcwNSwgNjY2NTksIDkyNjA3LCAwLCA2NjY4NCwgMCwgMzQzNCwgNDk1NCwgMTkwNCwgMCwgNTI2NiwgMTI2OTgwLCAKLSAgICA1MjcyLCAxMDQ5OSwgNDUwNywgOTU3OCwgNjM5MjMsIDEyMDE3NywgNzk3OSwgMCwgOTgzMSwgMCwgMTk0OTI2LCA0NjEsIAotICAgIDk4MDMsIDAsIDQ1MDQsIDE1MDUsIDAsIDYzMjUsIDUyNzYsIDQzMDIxLCAxMjA0ODgsIDAsIDU1MjM2LCAwLCA2NjQ2MSwgCi0gICAgNTE3NywgNDEzMjQsIDEyMDU1LCA4NzIyLCAwLCA0MTMyNywgMCwgNjY2OTUsIDQxMTQsIDQwOSwgNDM4MywgODkwMCwgCi0gICAgODk0OCwgNDEzMjUsIDAsIDcyMSwgMTAxODIsIDkxMDgsIDcxMzExLCAwLCAxMTkxODUsIDQyMjI5LCAxOTQ5MTIsIDAsIAotICAgIDU5OTgsIDAsIDQyMzUzLCA3NDgyNSwgMCwgMTI1ODcsIDk0MTA0LCA3ODU3MSwgMCwgNzEzMjgsIDE5NDU2MiwgNDE1NzYsIAotICAgIDQyMjE1LCA3ODU3MCwgMTE5MjA3LCAwLCA4NTc4LCA1OTk1LCA3NTczLCA0MTU3NSwgNzQ3ODksIDc0NzUyLCA2Mzk0NCwgCi0gICAgNjM5NDksIDY0NzY3LCAyNjcwLCA0MTY3LCAxOTQ3OTYsIDExNzIzLCAwLCA3NDEyMCwgMCwgNjUwNzYsIDkzOCwgNDM0MTQsIAotICAgIDczODU0LCAxMTczNywgOTcyMSwgMCwgMCwgMCwgMTE3NDIsIDI0MTksIDAsIDExNDkzLCAxMjMzNCwgMTk0OTEzLCA0MTUzLCAKLSAgICAxMjMwMiwgMTA3OTMsIDUyNTAsIDEyNDA3LCAxMTk3OCwgNDQwNCwgOTE4OSwgMTI0MDEsIDQyMDA3LCA1Nzc1LCA2NzU5LCAKLSAgICA2NTgwNiwgNDM5OTcsIDAsIDQyMDAyLCAxMjQwNCwgOTgzNTUzLCAwLCA0OTQwLCAxMjQxMCwgNzY4MywgMTE2NywgNzM3MjksIAotICAgIDQ5ODMsIDEyMDUwNywgODYxLCAwLCAwLCAwLCAwLCA0Mzc1NywgNDMzNzAsIDAsIDAsIDExOTU2LCAwLCAwLCAwLCA5NjE2LCAKLSAgICA2NjMxLCAwLCAxMjgxNiwgNDM3NTksIDQyMjE4LCAxMjcxMCwgNjg2NzQsIDEyNzIxLCA0MTAxLCA2NjE4NSwgMCwgNTk5MiwgCi0gICAgNzYxNiwgMTk1MDQ0LCAwLCAxMjU3NywgMCwgOTgzODg0LCA4NTMsIDQyNjkzLCAxOTUwMTQsIDAsIDk4MzY0NywgNTAxNiwgCi0gICAgNDM1MzUsIDYzODkzLCA0MjgzNSwgOTQ5MSwgOTE3OTEzLCAwLCA5MTc5MTQsIDAsIDEyNzEyLCA3MTA1LCAxMjc4MDcsIAotICAgIDY1MDYwLCAxMjA3OTcsIDk5MDAsIDc3NTAsIDAsIDE5NDkxOSwgMCwgMTI3ODMwLCAwLCA2NDc3OCwgMTI1ODUsIDEwNTY1LCAKLSAgICAxMjgxNTEsIDEyMTc3LCAwLCAwLCAwLCA3NzgyNCwgMCwgNDkwMCwgMTI3ODc0LCAxMjg3OCwgOTI2MzAsIDg5ODQsIDQxMTksIAotICAgIDc0NzY4LCA4OTcxLCA3ODU5MywgNDMxMTMsIDk3MDIsIDc4NTk0LCAxMTAyNSwgOTI0NSwgMTMwNDgsIDQ5MjcsIDQxMzgsIAotICAgIDc0MTg1LCA5MjQ4MSwgOTI3MTAsIDEyMzk3LCA3NzgyNywgMCwgMTMwNTQsIDEyMzk0LCAwLCAwLCAwLCAxMzA1MywgMCwgCi0gICAgMzk0OCwgMTA3ODEsIDE1NDYsIDAsIDUwMTAsIDE2ODAsIDEwNTA3LCA3ODU5MCwgNzg1ODMsIDAsIDAsIDAsIDE5NDkxNSwgCi0gICAgNzI2NywgMCwgNzQ4MzMsIDEyODE4MSwgNTk5MywgMjgxOSwgMCwgMTI3MDYsIDc3ODQwLCAxODkzLCA3MjY2LCA2MzkxNSwgCi0gICAgNzI2NCwgNzI2NSwgMCwgMTM2MywgMCwgNjM5OTcsIDYzOTEwLCA2Mzk5NiwgMzA3NywgMCwgMCwgMTUxMiwgNjk5MjksIAotICAgIDEyNTg5LCA0MTQ3OSwgMTI4MzEzLCAwLCA0MzMzOSwgNzM3NzYsIDk4MzYsIDEyMDcyNywgMCwgNDE0ODEsIDQzMzM1LCAKLSAgICA3ODMyLCA0MjM0MywgMzA5MCwgNDMzMzcsIDgxNywgMTY2NCwgMTg1MCwgMTI4ODQxLCAzMDc5LCAxMTM0MCwgNDI0MDgsIAotICAgIDQyNDQ3LCAxMjcxNDAsIDEyMDAyMCwgNDIzMDcsIDEyMzg2LCA0MjMwNCwgOTE3NTU1LCAwLCAxMjM4OSwgMCwgOTIzNjYsIAotICAgIDQxOTk2LCAxMTUyNiwgNjM5ODUsIDU4NjQsIDExNDcsIDYzOTkyLCA0Mjg4NywgMTk4NywgOTI3MTgsIDU0ODAsIDc4NTgsIAotICAgIDExNjUzLCA0MTE2LCAxMjM5MSwgNjYxOTMsIDAsIDQ5MzksIDEyMzg0LCAwLCAwLCA0MTY4NiwgNjM5MDUsIDExOTYwMSwgCi0gICAgMTk0Njg4LCA5ODMxOTAsIDAsIDEyNjQ5LCAwLCAwLCA4MjQ3LCA1MDcsIDkxLCAyMDQyLCAxMjA3NzUsIDQzNjQzLCAKLSAgICAxOTQ2ODksIDY2MDI4LCAxMDAzNiwgNDE4NDQsIDExOTgxMywgNzc0LCAxMTk4MjksIDAsIDExOTgxNSwgNTk5NCwgMTI1MzksIAotICAgIDAsIDc4Mzc1LCAxMjA1OTcsIDExOTgzMywgOTgzMTA1LCAxMTk2MDAsIDAsIDAsIDc3MTksIDYwMjYsIDI0ODYsIDEyODMxMiwgCi0gICAgMTE5ODA4LCAxNjIsIDAsIDY1MjE5LCA0MTA3MywgOTY4NywgNDE2ODEsIDYzMDQsIDExOTgxMiwgNjYxOTYsIDE5NDg4MSwgCi0gICAgNTI2MiwgMCwgNTUyMzMsIDEyNjgxLCA0MjM3OSwgMCwgNzUzNCwgMTIyMTksIDAsIDEyNzUyOCwgNDI4MTAsIDEwNDkyLCAwLCAKLSAgICA5ODM2NjEsIDAsIDQzMTE5LCAwLCAxMjA3NTMsIDEyNDAzLCAyNTAwLCAxOTUwMTMsIDAsIDQ4OTksIDEyNzI5LCAwLCAwLCAKLSAgICA3NDExMywgMjM0MywgNDEwMywgMTk5NDYsIDc0MTEyLCA3Nzg1MSwgMTMxMTIsIDAsIDE5NTAxMiwgMTI4NTksIDcwMDg3LCAKLSAgICAxMjAxNDgsIDY2MzY5LCA1ODYxLCAxMjc3NTgsIDExOTk5LCAxMjQwMCwgMCwgOTgzODM5LCAxMjY0NSwgNTE0NiwgMTEzMjAsIAotICAgIDY4NDEwLCA2NzQ4LCA2NTA0MCwgMCwgNjQxODQsIDEyOTc0LCA2NDE4MywgNjc2MTMsIDEyMDY0NSwgNTE0NywgMCwgMCwgCi0gICAgNzQ1MjQsIDAsIDE5MjgsIDAsIDY3NjQ5LCA1OTkxLCAzNDQ1LCA2NzYwOSwgNDk3NiwgNjQxNzYsIDAsIDY3NjEwLCA4MjQxLCAKLSAgICAwLCA3Nzg2OCwgNDIwNiwgMCwgMCwgMCwgMTI4Mjk4LCAwLCAxMDEzOCwgMCwgMCwgODg5NywgMTIwMjM0LCAwLCA4MzU3LCAKLSAgICA0MTI0LCA3Nzg2MiwgNjU4MzYsIDEyMDY0MSwgMTI3OTI2LCA3Nzg1OSwgMCwgMCwgMTEyMywgOTYzLCA0MTU1MywgMTAxMjAsIAotICAgIDEyNDA1LCAxMjAxNTAsIDkyNjY0LCAzOTgsIDEzMjc4LCA5NzIzLCA2MzY2LCAxMjAzMTEsIDc5NDUsIDAsIDQ0MDIsIAotICAgIDk5NzAsIDEyNDAyLCA5ODMxMzYsIDQyMzkyLCAxMzA1LCAxMjQwOCwgMCwgNDQwMDcsIDAsIDAsIDQxNDY0LCAxMjQxMSwgCi0gICAgMTI5NjksIDEyMDgyNCwgNDE0NjUsIDk4MzU2NSwgODUyOCwgMTU3NSwgMCwgNjM5NTUsIDE2NSwgMzAyNCwgNDE0NjcsIAotICAgIDExOTE2MywgMCwgOTA5MywgMCwgOTE0NywgMTI4Nzg3LCA2Mzk1OCwgMCwgOTE0OCwgOTY5MiwgNDA5NiwgNTMsIDgyOTYsIAotICAgIDY3NTAsIDE5NTAxOCwgMCwgOTU5NCwgMCwgMCwgNDM1MjcsIDAsIDcyNywgMTk0NzAzLCAxOTUwMjMsIDU4MDUsIDAsIAotICAgIDY3MjYsIDAsIDQyMTc2LCAxMjM3MCwgMTE2NTUsIDExOTA5NSwgMTA1OTEsIDIyODAsIDAsIDEyMzcyLCAxMjA2NDIsIAotICAgIDEyMDMwNywgMCwgOTIzNDMsIDAsIDEyMzY2LCAxMDk2MywgNjA2NiwgMTMyOSwgMCwgMzA1MiwgOTIyMCwgMCwgNjQ0NzgsIAotICAgIDE5NDcwMSwgMTA4MDMsIDQxMzIsIDEyMDMwNiwgNjg0NzQsIDkyNDczLCAwLCA5ODMzMTMsIDc0ODM3LCAxMjAxNTUsIAotICAgIDE0OTksIDAsIDgwNTUsIDQyNzQwLCA2Mzk2NSwgMCwgNjM5NjIsIDc0MDQyLCA4OTI0LCA0MzEyMywgNTk4OCwgMzY2MCwgCi0gICAgNjM5NjksIDExNzgxLCA0MjcxOCwgODc4OCwgMTM1NywgNjQ4NTEsIDY1NzQzLCAwLCA4Nzc0LCAwLCAxMjcwODYsIDk5NDEsIAotICAgIDEyMDE3MiwgMCwgMTkzMywgNjk2NTUsIDk1NjQsIDAsIDkyNDM1LCA3Mzg2NiwgMCwgMCwgMjQ4NywgNjc2MTQsIDMxMjEsIAotICAgIDE4MDQsIDMzMTEsIDY3NjE1LCA3MDA4MSwgNzgzMDIsIDEyMjIwLCA2NzYxNiwgMTIwNTk4LCAxMjc0NzUsIDAsIDY4MjAwLCAKLSAgICA2Njc1LCAxMjgxNDQsIDAsIDY3NTkyLCAxMjA2ODUsIDAsIDY0NzcxLCAxMTk4LCA5MTMyLCAwLCA2NDYxOSwgNTEwLCAKLSAgICA2NDY2MywgMCwgMCwgNDU2MSwgMjEwMSwgMTM5OCwgMCwgOTI1NTQsIDc0MDM0LCA0MTU2OSwgOTI2ODQsIDExNDA2LCAKLSAgICA4MTY3LCAxMjEyNywgMCwgODQwLCAwLCAxMjY1MTgsIDcxMDEsIDY5NjcsIDAsIDE5NDg5OCwgOTc5NiwgMCwgMzMzLCAKLSAgICA2OTg5MSwgMCwgODE0NCwgMjExNywgMCwgOTgzNTk1LCAxMjQwNiwgMCwgMTk5MzEsIDExOTA4OSwgNjY3OCwgNzc2OSwgMCwgCi0gICAgMTI2MjEsIDAsIDEyNzM2NiwgMTAyMjcsIDQ3NjQsIDQzMTAxLCA5OTgxLCAwLCA0MDk4NiwgNDEyNywgNjY0ODcsIDAsIAotICAgIDQyMjAyLCAxMjc1NCwgMTk1MDIyLCAwLCAwLCA5NDA5NywgNjc1OTQsIDIwNDgsIDEyOTQ0LCA0MDUwLCA2NzU5NSwgCi0gICAgOTE3OTY3LCA0MzEwMiwgMTA1ODEsIDEyOTg1LCA0NTMzLCAxOTUwMjEsIDc0MDAzLCA2NDkwLCAwLCAxMjAzOCwgMCwgMCwgCi0gICAgMTIwNzA0LCA2NTQ2MSwgOTc5OCwgNjk3MDQsIDAsIDE5NDgsIDY5ODQxLCAwLCA5NTIsIDEyODIzNSwgMCwgMCwgMTIwODAyLCAKLSAgICA2NDQ5LCA5NDk0LCAxMjAzMTMsIDAsIDQzMDk4LCA0ODQzLCA4MTQyLCA2NDE2MCwgNDA5OCwgNjQxNzAsIDAsIDAsIDM0MzYsIAotICAgIDExOTk3MywgMCwgMTI4MTcsIDY3NTk3LCA2Njc2LCAzOTMwLCA0MjYxNSwgMCwgMCwgNjc1OTgsIDAsIDAsIDAsIDY1NTkxLCAKLSAgICA0MTU4MSwgNjU5MTYsIDE0NTMsIDAsIDAsIDAsIDg1MDAsIDQyMjIyLCAxMjAxNDIsIDczNzQzLCAxMjA0MDAsIDQzMTcsIAotICAgIDExNTQzLCA2NzY3NiwgNjQ2NzYsIDAsIDAsIDY3NjA2LCAxMTkwODMsIDAsIDQyMjE3LCAxMzEwMiwgMCwgNjYwMDMsIAotICAgIDY2NzIsIDAsIDAsIDAsIDk4Mzc0NywgNjM4NDEsIDk2MTMsIDkwMDEsIDQ1MjYsIDExMjc0LCA2NzYwMSwgNjQ1MjAsIAotICAgIDY0MjEwLCA2NjY0LCA3ODcwNCwgNDIwNTYsIDEwMjI4LCA2NDk1NywgMTEyODEsIDAsIDM4MDcsIDE0NjksIDY2NjQwLCAKLSAgICA2NTM4MSwgNDIxOTcsIDQ5ODgsIDQyMzcyLCAwLCA5NTk4LCA5MDQsIDM1MiwgNDIyMjUsIDE0NTEsIDgwNjEsIDg0NTMsIAotICAgIDQxMzQsIDAsIDc0ODQ3LCA2NjU3NiwgMTI3OTE2LCAwLCAxMDUyMCwgODU3NSwgOTk2MCwgMTIwMSwgMTI3Mjg5LCAxMjg0NiwgCi0gICAgMTI3MjkxLCAxMjcyOTIsIDExOTE5LCA2NDk2MiwgMTI3Mjg3LCA0MzczOSwgMTI3MjgxLCA4NTExLCA5NDYwLCA4MjMsIAotICAgIDExNTg3LCAxMjMwNSwgMCwgNjQ2OTUsIDEyNzMwNSwgMTIzODcsIDEyNTMsIDEzMTgzLCA2NTc2NiwgNTAwLCA0Mjc4MywgCi0gICAgNjU3NjUsIDY0MjA4LCA2NDM2OSwgNjU3NjAsIDY1NzYxLCAxMTk1ODUsIDExNjA2LCA2NDc4NCwgMTE3MDIsIDY2NDk4LCAKLSAgICA5ODIxLCA2NDMwNCwgMCwgNTE1MiwgMTEwNDgsIDc1MzMsIDY4MzY2LCA2NDQxMCwgOTIzMDUsIDAsIDQzMjMsIDEyMDA2MiwgCi0gICAgOTI2NjksIDcxMzMyLCAxMjcwNTIsIDQyNTg3LCA0MjIxNCwgNDEzOTQsIDAsIDQ3NjMsIDQxMTIsIDExODkzNSwgMCwgCi0gICAgNTI2MCwgNDMxNDMsIDk0MDM4LCAzMjYsIDEyMDEzMSwgNjg0MjMsIDAsIDEwNzcxLCAyODc2LCA3NDA3NCwgOTI1MzAsIAotICAgIDE5NDkyNCwgNDEzOTgsIDczODIsIDk4MDIsIDEyNzA3NywgMTI3MDc2LCA0NTMsIDQxMzk2LCAxMjA1MjQsIDQyNzIwLCAKLSAgICAxMjE0MCwgOTU3MiwgMCwgNzAwMywgMTk0ODgzLCA0MjMzNCwgNzcwNCwgMTI2NDkwLCAxOTQ4ODUsIDQzMTQ0LCA0MTIzLCAKLSAgICA4NDk0LCA0MzE0NiwgOTk3NywgMCwgMCwgNjU3NTksIDEwNzY1LCA2NDA2MSwgNDQ2NSwgOTgwOCwgNjQwNTYsIDY1NTgyLCAKLSAgICA0MTI2LCAwLCA5NTIxLCA5NTg5LCA2NDc1NSwgMCwgNjQwMjAsIDEyNjYwNCwgMTA0NjQsIDAsIDAsIDE5NDg2OSwgNjQ1MTQsIAotICAgIDExNTI4LCA2NDAyNCwgMTI4MDcyLCA2NzksIDY0MDEzLCAwLCA1ODUwLCA3NTgsIDc1MzYsIDAsIDkyMjM0LCA0MTQ0MSwgCi0gICAgMTA2OTMsIDY0MDA2LCA5ODM1NjcsIDY0MDA1LCA0MDU4LCAxMTkwMTksIDEyNjQ4NywgNjQ2NjAsIDAsIDExOTA1MCwgMCwgCi0gICAgOTgzMDY5LCAxMTM5LCA0MzI5OCwgNjQwMjcsIDY0MDI5LCA4OTcwLCAwLCA5OTM0LCA5ODMwOTQsIDEwNzc0LCAxMjgwMjAsIAotICAgIDQyMjAxLCAxMjQyMSwgMTI4MjE2LCAwLCAxODUyLCAzMDU3LCA2NDA0NiwgNzM3NDQsIDY0MDM0LCA2NDAzOSwgMCwgMCwgMCwgCi0gICAgMTk0ODk5LCA5MjMyMiwgNzY0NSwgMTI4NTQsIDc0MzM4LCAzNDk2LCAwLCAwLCAwLCA5MTAyLCA2MjcsIDEyNzc5NSwgCi0gICAgNjE1OCwgODMyNywgNzQ1NTMsIDY2NjMyLCAxMjQxOSwgMTMzMDksIDExNTcwLCAxMjc4MTEsIDE5OTYwLCAxMTY5NiwgMCwgCi0gICAgMTAxOCwgMTE4OTcwLCAxOTQ5MDksIDE5NDg5NywgMTY4MiwgMTk0ODk2LCAxOTQ5MTEsIDQyNzU2LCA2NzY1LCAxOTQ5MDYsIAotICAgIDAsIDAsIDczODE0LCAxMTQxMiwgNjc2OCwgMTA3MjgsIDE5NDgzMCwgNzEzMTYsIDExODg2MywgNDMzMTEsIDY0OTY2LCAKLSAgICAxMTU3NywgMCwgNDMwNDAsIDE4MzMsIDExNTc2LCAwLCA3NDc3OSwgMCwgMTg1LCA2NTA4NSwgNzQ1MzMsIDY0NzU0LCAKLSAgICAxOTQ4NDgsIDc1MzUsIDgwODUsIDQyNTI1LCAxMjAzODcsIDk3NDksIDQxNzAxLCA2MTMxLCAxOTQ5LCA0MTE3LCA3ODQ3LCAKLSAgICAxMjA0ODksIDE5NDcxMSwgNjQ0ODMsIDY1NjkzLCAwLCAwLCAwLCA2OTY5NSwgNDIyNDAsIDAsIDEyNjY1MSwgNDI4NjQsIAotICAgIDEyNjQ5OCwgNjQ2NjcsIDQxODY4LCAxMTg0LCAwLCA4MTUsIDExNDg0LCAxMjc1MzUsIDY3ODQwLCA5ODM2NTEsIDAsIAotICAgIDY2MTk3LCAwLCAxMDk4NiwgNjQ2ODMsIDk4Mzc4NSwgMCwgMzQ1NSwgMCwgMCwgOTg3OSwgMCwgMCwgNDE1OCwgMTI4MDUwLCAKKyAgICA2NDEyOCwgNjYyODYsIDkzMDQyLCAxMjg4MzAsIDY0MTMyLCAxMDg2NywgNjQxMzAsIDY0MTI5LCA5ODM4NDQsIDQzMzc0LCAKKyAgICA5Nzc5LCAyNzY0LCA2NjAwMiwgMTAxNjcsIDk0NzEsIDAsIDY2MDIxLCA3NDUwOSwgMCwgNTQ1NywgNTQ0MCwgODg1NywgCisgICAgOTM5ODEsIDY1MjgyLCAyODQzLCA1MzU1LCAxMjc5MjgsIDk4Mzk2NSwgNjk5NzEsIDUxOTQsIDExNjU3LCA0Mzk4NCwgCisgICAgMTI4MjkyLCAxMTM3MjQsIDEyODg3MiwgMCwgMCwgNzIzOTMsIDEwNzE3LCA2NDU3MCwgNTYzMCwgNTM5NiwgNjQxNDMsIAorICAgIDEwNjgyLCAwLCAxMDYwMiwgODAwLCA0MjQ5OSwgNjYxODYsIDAsIDAsIDY0OTMwLCAxMTYzMSwgNjQxNDYsIDY0MTQ1LCAKKyAgICA2NDE0NCwgNzYyLCAxMzE3MiwgMTE4ODU5LCAxOTQ2NjEsIDY0NDY4LCAxMDkwNiwgMTM1MywgNjk2MCwgMCwgMTI4Nzc5LCAKKyAgICA1ODI4LCA4NzI0LCA5MTc4MDYsIDg5MzMsIDE2MDEsIDQyMjQ0LCA4NTgsIDcwODAsIDY0MTA5LCA2NDEwOCwgODA5MCwgCisgICAgNzA0NTUsIDcyMzg4LCA3NDYwNiwgNTg3LCAwLCAxMjgxMzEsIDAsIDAsIDAsIDc4MjE0LCAyNzUwLCA3NDIxOCwgNTU2LCAKKyAgICA2NDE1OCwgNjQxNTcsIDc4NzA3LCAxMjIxMywgMTk0Njc4LCAyNzYwLCAwLCAwLCA3ODcwOCwgMTk0Nzk0LCA2NDE1NiwgCisgICAgNjQxNTUsIDQyNDk2LCAwLCA2NDE1MSwgNjQxNTAsIDEyNjc5LCAxMDA1MywgMTA0MjEsIDExMDkzLCA2NDE1MywgNjQxNTIsIAorICAgIDEyNTAxNiwgMCwgNDgzOSwgNjg1MjcsIDAsIDE4NzQsIDExOTAxNiwgMTIwMDkxLCA2NTc3LCA2NDEyNSwgNjQxMjQsIAorICAgIDY0MTIzLCAwLCAxMjc1MzEsIDkyNTM0LCA3MDA3LCA3NTkwLCA2NTQ0MywgOTAzNiwgNzg4NDcsIDY0MTIyLCA2NjM4OSwgCisgICAgNjY2MDksIDAsIDY0MTE3LCA2NDExNiwgNjI4NywgNjQxMTQsIDI3MjUsIDY0MTIwLCA2NDExOSwgNDM5ODEsIDQyMTI4LCAKKyAgICAxMjc4NDIsIDExNzcsIDY1NjAxLCAxMjMyMiwgNjQxMDYsIDY5NjQwLCA5Mjg5NSwgNjQxMDIsIDc4NTksIDE5NDUsIAorICAgIDY0MDk5LCAwLCAxMDQ1MywgNjQxMDQsIDcxODgsIDc5OTcsIDAsIDczODksIDk4MzE2MSwgODcwNSwgNjQwOTcsIDY0MDk2LCAKKyAgICA5NTcxLCA1MjgsIDEyODY3MSwgNDQwMTcsIDExNDI5LCA3MTM0NywgMCwgOTgzMDc3LCA5MTc5OTAsIDczODQxLCAwLCAwLCAKKyAgICA5MDU2LCA2NDMxMywgNjE4OCwgMTIwMDE5LCA2MTU1LCA2NDA2OCwgMTgyMywgNjQwNjYsIDY0MDY1LCA2NDA3MiwgNjQwNzEsIAorICAgIDYzLCA3MjMzLCA5MjIxMiwgNzI0MTQsIDQxOTA0LCA2NjM5LCA2NDA2NCwgOTgzNzc1LCAxMjgzNDQsIDAsIDExNzYsIAorICAgIDExODk1OSwgMTI3OTMwLCA4MTYyLCAxMjcwMTksIDk4MzgzMSwgOTI3NDcsIDEyMDUxOSwgNjYzNzYsIDY2MjQyLCAxMTQxNSwgCisgICAgNDMzMywgOTg1NSwgNjQxMTIsIDY0NjQyLCAwLCA1Mzg4LCAwLCAwLCAwLCA3NzE0LCA2NjIyMiwgNjk5MDIsIDc3NjgsIAorICAgIDcyNDAzLCA0MTk5LCA2NDcwOCwgNjUwNjQsIDcwMTE3LCAwLCA4NzA4LCA5NTYwLCA2NDA3NywgNjQwNzYsIDg5OTYsIAorICAgIDQ5OTIsIDQ0NzEsIDQyNjIyLCA2NDA3OSwgNjQwNzgsIDkyMTc5LCA3MTg3OCwgMTI2NTcwLCAxMjkxMjAsIDY0NjE1LCAKKyAgICA0MTkxNSwgMCwgMTIwNzUsIDQyMDQxLCAxOTQ4MjUsIDUxNzQsIDk4MzIxNywgMCwgMTI3NTU3LCAzMTIzLCAwLCAxMjY4NSwgCisgICAgMTE5MjE2LCA4NDA4LCA2NDcwNCwgMCwgMCwgOTIyMywgMCwgNDE2MTYsIDY3OTk5LCA3Mzc5NywgMCwgMTExNiwgMTI4MjA0LCAKKyAgICA0MzA0OSwgNzEzNiwgNDMwNTAsIDg1NDgsIDEyMDQ4NSwgMCwgMTE5MDYxLCA5MTc5OTksIDAsIDEzMTE1LCA0MzY3NSwgCisgICAgNjQwOTEsIDkzMjIsIDAsIDEyMDU5NSwgNjQwOTUsIDY0MDk0LCA4MTExLCA2NjI0NywgNDIzMzIsIDY0MDg5LCA2NDA4OCwgCisgICAgNjE5OSwgNjcyNDksIDY2Mzk4LCAxMTQzNCwgNjQwODMsIDY0MDgyLCAxMTMyOSwgNzczNywgNjQwODcsIDY0MDg2LCAKKyAgICA2NDA4NSwgNjQwODQsIDE5NDcwMywgOTkyNywgNDEzMzUsIDQxMTgsIDE3OTcsIDAsIDQxMzM0LCAwLCA0NiwgNDM0NDgsIAorICAgIDEyNzg4MSwgMjk4LCAwLCAxMjgxMTQsIDAsIDQyNjI3LCAxMjUwMTEsIDMyLCA2MTg3LCAxMTkwNTIsIDExNDk1LCAxMTQ1OSwgCisgICAgMzY2NSwgOTgzNjAwLCA0Mjg3MSwgMCwgMTk5MjMsIDc0MzM1LCAwLCAxMjcxOTIsIDY2MjM5LCA0MjI2NCwgNjQ0MDMsIAorICAgIDQ0MTIsIDcyNDAsIDkyNDk1LCA5MTc5MDAsIDk4MzQ2NiwgNjU3NTgsIDEyNzUwLCA0MTgxLCA4NTQ0LCAxMTk4NDksIAorICAgIDEyMDE5OSwgOTE3ODk3LCAxMjAxOTgsIDY5ODA5LCA2MTgxLCA2NTAxNCwgOTgzNDIwLCAwLCA5ODMxOTYsIDM2MzksIAorICAgIDExOTU4OCwgMTE4ODUxLCAwLCAxMTg5MDQsIDEwMDczLCAxMjAyMDYsIDEyODg2MiwgMTI3MTg2LCA2ODQwOSwgNDI4NDQsIAorICAgIDc0OTgsIDEwOTgsIDkyNTY1LCAxMjAyMDUsIDAsIDEyODkxNSwgMTAyMDcsIDg3ODksIDkzMDcwLCAwLCA5Mjk3MywgCisgICAgMTI4MzI1LCA5MjM0LCAwLCA2MTgyLCA5ODM0NzMsIDY1MDU4LCAwLCA5ODM0NzgsIDE5NDk3MywgMCwgNTQ3MSwgOTQ2MSwgCisgICAgNTU3MywgMTE4OTM2LCA1NDczLCA0NCwgMCwgNjYyNDQsIDk0MDcyLCAwLCA2NjIzOCwgMTI4NDQsIDY2ODk0LCAxNjIyLCAKKyAgICA3NzY3LCAxOTAwLCA0MTMzOSwgMTE0NTgsIDAsIDAsIDY1ODEsIDU1NzYsIDk4MzQ5NSwgNDM4NTUsIDQxMzM3LCAwLCAKKyAgICA0MTYzMSwgODk0NywgNjgzOTAsIDY5NjgzLCA0MTY5NCwgMCwgNzIzOTYsIDc5MDgsIDAsIDEwNDA4LCA2NTc5LCAwLCAKKyAgICA2NDYxOCwgMCwgMTIwMTQ3LCAyMTM4LCA2NTgzLCA3NzYxLCA3MDAwNSwgMTIwNTA0LCAxOTQ4MjgsIDAsIDUwNTgsIAorICAgIDQxMDEwLCA5OTkyLCAxMjgyOTksIDUwNTcsIDkxNzk0MSwgMCwgNzQ1MzgsIDUwNTQsIDExODk1MSwgMTk0OTcxLCA3ODYwNiwgCisgICAgMCwgMTQzNywgNDE2MTcsIDY1OCwgMzQ5NywgMTI4NTA5LCA3NDg2LCA1MDYxLCA1MDYwLCA0MjM1LCAxMjc4NzgsIDAsIAorICAgIDEyODUyOSwgMTIxMTMsIDQyMzYsIDQ3MjcsIDEyODQ4NywgMCwgNzY5MywgMTA3NDksIDEyMDMzMiwgNzQ4OCwgNTc3MywgCisgICAgOTc4LCAxMjgxMzQsIDAsIDQxNjE5LCAxMDIzOSwgNjg2MTEsIDcxODY0LCA2NjIwOSwgOTgzNDIzLCA3NDEzNSwgOTc0OCwgCisgICAgOTgzOTU2LCAxMjc1MjQsIDAsIDAsIDAsIDAsIDE5NTA4MywgMCwgOTgzODQzLCA5ODMzMDAsIDAsIDAsIDAsIDkyNzc2LCAKKyAgICA5MzQxLCA3ODgyMSwgMjM3OSwgMTEzMjUsIDk4Mzk1MSwgNjQ2NjgsIDY3ODU0LCA4MTI1LCAxMjA1NDUsIDY3NDMsIAorICAgIDExOTE3NSwgOTE3OTQwLCAyMzY5LCAwLCA5ODM5NzIsIDEyNzk2NiwgMTE5MjM1LCA3MTg2OCwgNzM5MzYsIDcwMDgsIAorICAgIDQzNjYwLCAwLCAwLCA0Mzg0MSwgMjM2NywgMTI3ODI3LCA5ODM4NTcsIDI2NCwgMjM3NSwgODA2MCwgNjE5NCwgMTE5ODU4LCAKKyAgICAxODQ0LCAxMTkwODQsIDEyOTA0OSwgNjAxOSwgMCwgMCwgNjk2MSwgMCwgNzA0MzUsIDY3MTcxLCA4ODAwLCAwLCA0Mjg2MiwgCisgICAgNDQ2MywgNjU1ODEsIDYxOTIsIDEyNzkwMCwgNDI3NzEsIDAsIDkyMzMzLCA3MjUsIDY1MDQyLCA5MzAxNCwgMTIwODAwLCAKKyAgICA5ODMwNDAsIDEyODkyLCAwLCA2NzE0OSwgMCwgMCwgMCwgMCwgMTI3MjYxLCAxMjIyNCwgOTgzMTI4LCAxMjkwNjEsIDUwNzQsIAorICAgIDUwNzMsIDEyODc5MCwgODk4MywgMTE4OTgxLCA3NDQ5MywgNzEyMzEsIDUwNzIsIDc0NTQ3LCA2MTk4LCAxMTYxNCwgMCwgCisgICAgMTk2LCAwLCAwLCAwLCA0OTI5LCAxMjAzNDIsIDAsIDAsIDEyNzk4NywgMCwgNDI4NDcsIDExOTg1NiwgMCwgNjc3NTQsIAorICAgIDQ5MzQsIDAsIDQxMzIzLCA5NzU4LCAwLCA5MjI4OSwgNzAxODEsIDQyNTg0LCAwLCA0MzI5LCA0MTMyMSwgNDk3OSwgMzA0OCwgCisgICAgNzc1MiwgNDEzMjAsIDk4MzA0MiwgNjQ2NjcsIDEyODE5LCA5ODM4NzAsIDUwNzEsIDEyNzkxNSwgMzY0MiwgNjczMzQsIAorICAgIDUwNzAsIDEwMDQyLCAxMTM4MTMsIDM5ODcsIDUwNjgsIDAsIDg5MDksIDc4NjUwLCA3ODY0OSwgNjk5MTcsIDEwNjM2LCAKKyAgICA3Mzk4MSwgMTE4MDYsIDQzMTY3LCA0NTMxLCAxMjQ1LCA5MTA1LCA2NjQ2MywgNDkyMSwgMTIwMjE5LCA0OTI2LCA2NTU0NCwgCisgICAgNzM4ODQsIDE5NDYxOSwgMCwgMCwgNjQ3MDksIDAsIDE5NDYyMCwgNzg4ODAsIDQ5MjIsIDMyNSwgOTkyLCAxMTk1NjgsIAorICAgIDQ5MjUsIDEyNzIxOCwgMCwgOTUyNiwgNDkyMCwgMTI4NjE3LCA5NDgsIDAsIDEyMDIwOCwgNDkzMCwgOTgzMjI1LCA5MjE3NSwgCisgICAgMTIwMjc1LCA0OTMzLCAxMTM3NzksIDAsIDExODk4NSwgNDkyOCwgMCwgMCwgNzQ3NzAsIDEyMDE5NCwgMTI2NTQ4LCA3MjIsIAorICAgIDE5NDkzNCwgMTk5MDgsIDEyNjM3LCAxMjc0ODUsIDExOTg1NSwgODc1MywgMTUwOSwgMCwgNTQ2OCwgOTUxMSwgNDM0OTMsIAorICAgIDEyNzQ3NywgMTY3MiwgNjIwNSwgMTA4NjQsIDc0NTg2LCAxMjc0ODAsIDcwMTAzLCA5MjY5NCwgNzg1NTUsIDEyNzQ2OCwgCisgICAgNzM4NjMsIDEyNjU3NywgNjgzMzYsIDQxNjA3LCAxMjAxMTUsIDE2NzksIDEyMDExNiwgMTIwMTgwLCA5Mjc2MSwgMTI3NDYyLCAKKyAgICA3MDA1LCA0MTYwOSwgOTU4MCwgNzA0MzEsIDQwMSwgNjk5NDksIDQzNzc5LCA2OTY4LCA1NzYxLCAzNDIsIDg1NTMsIDAsIAorICAgIDgxNDMsIDEyNzExNSwgMTE5ODMsIDkyMjQ5LCA2MjQsIDc0NTA4LCA0MDU3LCA0Mzc4OCwgNTA3OCwgNzQyNTgsIDEyNDc4LCAKKyAgICAwLCA1MDc2LCAwLCAxOTQ2MDksIDAsIDgyOTUsIDY4NSwgOTAyNSwgMTUyNCwgMTI2MTgsIDAsIDU1MzksIDEyOTE4MiwgCisgICAgOTI1MjMsIDEyMDEwMSwgNzEzOCwgMTIwNTUyLCA0MzUwNCwgMTk0NjExLCA2NjkxNCwgNjU3OTQsIDEyNTIwLCA4MDU4LCAKKyAgICA5NzMyLCA5MjQ4MCwgNTA4MCwgNjQ3NzUsIDUwMzYsIDUwMzUsIDEyMDU5MCwgNDI2MDQsIDk4MzY1NiwgMCwgODA3NCwgCisgICAgMjc1LCAxMzI5MSwgMTkwNywgNzg4MzgsIDQ0MzIsIDEyNzI3MSwgNTAzMywgMTI3MjczLCAxMjA4MTgsIDQ4MzYsIDM4ODgsIAorICAgIDczNzkyLCAxMDcyOSwgNjQ1NDYsIDEyNzI2MiwgNDM3MDQsIDEyNzI2NCwgOTI5NTcsIDY3NTg4LCAxMTkwMDAsIDEyNDk4MywgCisgICAgNzAzNjAsIDg4NTgsIDY0MDksIDc2NjMsIDEyMDI1MiwgMTI4MTAwLCAxMTkwMDcsIDAsIDY2MzIxLCA5NDA1MiwgMTI4MTQsIAorICAgIDEyNzI0OCwgMzQzMiwgMTAyMTgsIDAsIDYwOTQsIDc2NDEsIDQyNDQ1LCAxMjg3OTIsIDkyNDg3LCA0MjQwNiwgMTY3NiwgCisgICAgNjczNjIsIDc0ODYyLCA2NzM2NSwgNTAzMCwgNjczNjQsIDExODgxMCwgMTk1MDA4LCA3Mzg2OSwgOTYyMiwgMTEzNzYzLCAKKyAgICA2OTk0NCwgNjc4NywgNjczNjEsIDAsIDAsIDY4MzE5LCAxMDU0NCwgMTI5MTksIDczODEyLCA3MjM5NywgMCwgMCwgNjk5MDYsIAorICAgIDEyMDc4OSwgOTgzMDQxLCA5NDcsIDY3Njk1LCA2NzM2NywgMTk0NTg1LCAxMDk2OSwgNjcyMjgsIDc2MTMsIDkyNTYyLCAKKyAgICAxMTk5MzYsIDQ3OTUsIDExOTkzMCwgNzAxOCwgNzM3NiwgMTIwMTgxLCAxMjAxOTIsIDEyMDI2OCwgMCwgNDM1NjcsIAorICAgIDc0MDU2LCA5MTc5MTAsIDExODMzLCAxMTk5MTksIDcyMTYsIDY1MjMyLCA3MjE3LCAyNTEsIDcyMTgsIDc4OTUsIDQzOTUsIAorICAgIDQzNTM4LCAxMTk5MjYsIDExOTkyOSwgMTE5OTI4LCA3MjEzLCA2ODQ3NiwgNzIxNCwgNzIxNSwgNTg3OSwgNzQxNDEsIAorICAgIDg4ODAsIDc2ODUsIDY2NDU5LCAxMjAxNzMsIDY1NTQwLCA2NzM1OSwgNjI1LCA4MTg3LCA0Mjg2MSwgMTExMywgNzIzNiwgCisgICAgNzkxNSwgMzYzMCwgMTIwMTc2LCA4MTc5LCA3MDE2MywgNjc4ODYsIDkzMTYsIDEwOTgwLCAyNDg5LCA2NTYyNCwgODE1MCwgCisgICAgMTM1OSwgNjc2NTIsIDcwNDY0LCAxMjczMzAsIDczNzU2LCA1MDQyLCA1MDQxLCA0Mjc2OSwgMTIwODQsIDEyNzMyNCwgCisgICAgMTI3MzIxLCA3NDQxMCwgMTI3MzE5LCAxMjczMjAsIDEyNzMxNywgMTI3MzE4LCAxMjczMTUsIDEyMjgzLCAxNjE2LCAzNzk1LCAKKyAgICA2NzczMiwgODc5NSwgNjYyNDUsIDAsIDAsIDAsIDExMzgsIDczOTA1LCAxMjY3NywgMCwgNjc3MjQsIDMyMzksIDY2ODkzLCAKKyAgICAwLCAwLCA4NDMxLCAwLCA0MjE2NCwgNzEyMjksIDExNzc4LCAxMjYyMCwgNjgyNiwgNzM3NzMsIDcwMTY5LCA1MDQwLCAwLCAKKyAgICAwLCA2NzA5NCwgNzg0MjAsIDAsIDUwMzksIDk4MzY3OCwgNzg0MTgsIDAsIDUwMzgsIDAsIDAsIDEzMTg0LCA3NDI5MywgMCwgCisgICAgNjQ2NDgsIDAsIDkzNTksIDc4NDE2LCA5MTc2MjMsIDEyODc3MCwgNjUxNTcsIDY2NjIsIDAsIDcwMTgyLCAzODYzLCAKKyAgICA3MzkwOSwgNDgzNSwgNTUyNjYsIDQzNDMyLCAxMjc4MjIsIDQzMDksIDcxMjcsIDE5NDU2OSwgMCwgMTk0NTY4LCAxMzAxLCAKKyAgICAwLCA0MjU4OSwgNTY5LCAxMjg4MDQsIDczODEzLCA3MTEsIDQzODksIDcxMzMsIDEyMDY0MywgNzM4ODAsIDExNjEwLCAKKyAgICAxMTM2OCwgMCwgMTk0NTcwLCA0MTMzMSwgMTAwNiwgNzQyNDAsIDY3MjI0LCAxNTUwLCA4MjAxLCA3MDQ1MywgNzYyNywgCisgICAgNTQ5OSwgNTAzMSwgNzc5MDgsIDQyNzM4LCA2NTc4NCwgNzc5MDcsIDY1MjY3LCAzNzU4LCAwLCA2NTc4MSwgNjQ3MzQsIAorICAgIDY3MjIyLCAyNDQwLCA2NTc4MCwgNzA3ODcsIDg0NDksIDAsIDUwMDgsIDk4MzU3MiwgMjExOCwgMTI2NTA4LCAxMjEyMSwgCisgICAgODI1NSwgNTUxMiwgNzM4NzUsIDIxMjgsIDIxMzAsIDIxMzEsIDIxMjYsIDIxMzMsIDExMTksIDEyNzA2NywgMjExNCwgCisgICAgMjExNiwgMjQ1NSwgMTEzNzk4LCAyMTIyLCAyMTIzLCAyMTI0LCAyMTI1LCAxMjc0ODYsIDg3MTQsIDk4MzgyMCwgMjExMywgCisgICAgOTE3OTg1LCAyMTE1LCAxMjgxNzcsIDEyNzkwNywgNDM3MTMsIDUwNTIsIDY2MjIwLCA1ODIxLCA2MTg2LCA2NTc3OCwgCisgICAgNjU3NzUsIDUwNTEsIDY1NzczLCAxNDI5LCA0MjY0NywgNTA1MCwgMzAyLCAzODgsIDQxMTE1LCA3MzUsIDY2MzcsIDU5MDcsIAorICAgIDY1MDg4LCAwLCAxMjcyNiwgNzQ1OTQsIDkxMTcsIDk4MzE4MSwgMTIwMDMsIDU1MTMsIDY2NjYsIDUwNTMsIDc0MjMwLCAKKyAgICA1NTEwLCA3ODQ1MSwgMCwgNzg0NDcsIDI0NzAsIDc4NDM3LCAwLCAxOTI1LCA3MTI1MSwgOTIyMzcsIDc0ODA3LCAwLCAKKyAgICA1MDQ4LCA1MDQ3LCAwLCAwLCA3NDIwMSwgOTIzMTMsIDAsIDc0NDk3LCA5MjM5NSwgODA4OSwgNjkyOSwgNjM5LCA5ODM1NjMsIAorICAgIDY4MTc5LCA2NDQ0MiwgNzAxODAsIDkyMzQ4LCA0NTk5LCA0MTQwMiwgNjY3NCwgNDMzOTcsIDQzMjk0LCAxNDc2LCA2NDgsIAorICAgIDAsIDY1ODE5LCAzMjMzLCAwLCA0MTc4MiwgNjk1MSwgOTQwMTcsIDk4Mzk3NiwgMzUzMCwgOTc1MCwgMTI4MzE3LCAKKyAgICAxMjgxMjIsIDY2NTYsIDQyNjE4LCA3MDE3NSwgNTA0NiwgODUxMiwgNjU4NTYsIDc0MjYxLCA4OTY3LCAwLCA1MDQ1LCAKKyAgICA0MjAyNiwgMTkxNiwgNzk4NiwgNTA0NCwgMTIwNTU2LCA5MDA2LCAxMzEyOCwgNTA0MywgMCwgNzg1MywgNzQwNjgsIAorICAgIDc0MDA0LCA5NjY5LCAxMjM0MSwgMTI3MDMsIDg0MDIsIDAsIDExOTA3MCwgNzAxNzQsIDQxNzUwLCAzNTg2LCA2NDUwOCwgCisgICAgNDMxNDgsIDAsIDEyNzk3MSwgMTE5NjA2LCA2Nzk4MywgMTMyOTYsIDUxNywgMCwgMTI4NTM0LCAxOTQ5NDYsIDQxNTI4LCAKKyAgICAxMjMsIDY1NDU0LCAwLCAxOTQ4NTYsIDc0NDc4LCAxMDUzMSwgNzc4NCwgNDE1MjYsIDEwODI5LCA3Mzk5MSwgODA1NywgCisgICAgMTEyNiwgNzM4OTUsIDE5NDg1NywgMTk0NTkxLCAwLCAzOTI1LCA0MjUxLCA4MDY5LCAxMDUxNywgNzExMTIsIDQ4OSwgCisgICAgNzExMTAsIDQyNTAsIDEyMDQ0MSwgMTIwNDUyLCA0MzE1MSwgOTgzMTc4LCA5MjczOCwgNjYyMDAsIDAsIDAsIDEyNTAyNiwgCisgICAgNzQyOTgsIDEyODg3OSwgOTgzNDc0LCA4NzExLCA2MTgzLCAwLCA5ODM5NTIsIDcyNDAyLCAxMjA0NDgsIDc2MjMsIAorICAgIDExODkyNSwgMTE4ODg5LCA5MjM1LCAxMjc2MCwgNzQxNzYsIDY5NjYyLCA2NjQ0NSwgNDM1NDAsIDEwMDYyLCAzNzQzLCAKKyAgICAxMTUxNCwgMTEwNzgsIDAsIDEyMTM2LCAwLCAxMjY1OTcsIDEyMDQzNSwgMTk0ODUwLCA3NzI2LCAxOTUwOTUsIDE5OTIyLCAKKyAgICAyNjcsIDMzOTMsIDQyMTk4LCAxMzcxLCAxOTQ4NDksIDY5MjMzLCAyNDU4LCAwLCA2MjAxLCAwLCA0MTA3NCwgNDI2NiwgCisgICAgMTA2NTIsIDQxNjEyLCA0MTA3NywgMzQwMiwgOTA1MCwgMzM5OCwgOTE3Nzk2LCA5ODMzNDgsIDAsIDMzOTEsIDQxMDc1LCAKKyAgICAyNDc2LCAwLCAxMjgwMTcsIDAsIDEwNjI1LCAxMjkxMDYsIDEyNzY3LCAxMzAxNywgNzg3NDMsIDY0MjYxLCA2NDkzNCwgCisgICAgNzAxNTIsIDEzMDE0LCAxMzAxMywgMCwgNjY3MywgMCwgMCwgMCwgMTI0MzgsIDAsIDk4MzM0MiwgMCwgOTgzODgwLCAKKyAgICAxMjY2MzgsIDkwNTMsIDEzMDE1LCA3NDUyMywgMCwgNzA0LCA2NjIxNSwgNjE5NSwgOTgzODI4LCA2NjYwLCA3ODc1OCwgCisgICAgOTE3NzYwLCA3NDg2MSwgNDIyMTIsIDEyNjI5LCAxMTQzNSwgMCwgNTUyNTYsIDY1NTM4LCA2NzM0MywgMTI3OTQwLCAKKyAgICAxMjkwODYsIDQzODc2LCAxMjY1ODUsIDY1NDQ4LCA3ODEwMCwgMTI5NDgsIDExOTAwMSwgMTk1MDAyLCAxMTkyMzgsIAorICAgIDE5NTAwNCwgNzgwOTksIDEyNzA4NSwgMCwgMTI4MzIwLCA0Mjg3LCA4Mjc2LCA0OTAyLCAxMTMxLCA5ODM2MDYsIDc4NDU4LCAKKyAgICA2NjcyOCwgMTgxNiwgMCwgNDI1MzMsIDE2OCwgNDI4NDUsIDQ4OTgsIDY0Mjk4LCAxOTUwMTIsIDc4MTA1LCA0OTAxLCAKKyAgICAxODIxLCAwLCA1NzgsIDM2NTMsIDEyODk0NiwgNzkxLCA5MTYyLCA2OTc3LCA3NDE5NiwgNzg4ODksIDcwMTYwLCAwLCAKKyAgICA3MzczMSwgODM1NCwgNDM1OTAsIDExOTMwMywgOTgzNDQ5LCA3NTU3LCAxMTkxMDgsIDY3Mzc4LCA4MjM0LCA3MjQxLCAKKyAgICA5ODM0NDgsIDExMzczNSwgMTE5MTY3LCAxOTQ5OTYsIDEyODExLCA2NTkyNSwgMzk0NiwgNzgwNzgsIDEwOTk4LCA3ODA4MCwgCisgICAgNjczLCAxOTQ4NjcsIDY0Mzk3LCAxMjgyNzYsIDc0NTk5LCA3ODQ0OSwgODg5MCwgMTk0OTc3LCAxOTQ5NzYsIDI0NDgsIAorICAgIDc4MDg1LCAxMDI2NywgODQyNCwgMjQ1MiwgNzgwODMsIDY3MjE3LCA4NzI5LCA3ODQ1NiwgMCwgNzg0NSwgMTI2NTY0LCAKKyAgICA3MTMwMiwgNDQwOCwgNDEyMiwgNjc3MiwgMTEwMzksIDg3MjMsIDY1ODk2LCA3MTMxMCwgMTE5MzAyLCA3MzEsIDExOTMwNCwgCisgICAgNzE5MDQsIDI0MzgsIDY0ODU1LCAxMTkzMDAsIDExOTI5OSwgMTE3NSwgMCwgNDIxMzUsIDM3MywgMTE5MTcyLCAyMTE5LCAKKyAgICAxMTQ1NywgMTE1MjEsIDc3MjMsIDEyODYzOSwgMCwgMCwgNDE5NTIsIDkzMDIzLCA1MjczLCAyMTI3LCA1MjY5LCA2MzM3LCAKKyAgICA1MjAyLCAyNDA0LCA1MjY3LCA0MjgyMywgMTEyOTEsIDE5OTE1LCA1Mjc3LCAxMjk2MywgNzAzMjAsIDYxODksIDQxMjUsIAorICAgIDEzMTQsIDEyMTMzLCAxMjAzNDAsIDExODg3MywgMTI3MSwgOTgzNjQwLCAwLCA2NjAyNCwgNDE0ODIsIDM4NjQsIDkyMDQsIAorICAgIDAsIDM4NzksIDAsIDEyOTc4LCA0MTY2LCA0NTc0LCAwLCA3NTY3LCA3NDU5LCA3ODEyOCwgNDEzOTAsIDUzODQsIDQxODgyLCAKKyAgICA2NzY0NywgNzAxNTQsIDU3NTksIDk4MzkxMiwgMCwgNDEzODgsIDY0NDQ2LCA0MTM5MiwgNjQyODgsIDQxMzg3LCA2NzIwMSwgCisgICAgODcwNiwgNTU1MiwgOTgzMTg3LCA3MDAsIDAsIDU1NTMsIDAsIDcwODgsIDUzNTYsIDc0OTksIDY4MDA3LCA2NjU5NiwgCisgICAgNzQwNjYsIDY3MjUxLCAxMDI2MywgNTU1NCwgMCwgMTIzNDQsIDEwMzExLCA3ODExMywgNjY2NSwgMTExMTUsIDAsIDc2MTgsIAorICAgIDg1MTcsIDExNDU1LCA3ODQ0MCwgNjQ2MzIsIDY0NDQ3LCA1NTU1LCA3ODA4OCwgNzgwOTMsIDc4MDkxLCAwLCA0MjgwMywgCisgICAgNjUwMzMsIDkxNDMsIDY2NjgsIDY3Mjg4LCA2Nzk5NSwgMTk1MDY5LCA2NTYsIDE5NTA3MSwgNjUwMzcsIDQ1NzcsIDY0NjI0LCAKKyAgICAwLCAwLCA3MTkxMiwgOTgzNjQ5LCA0MjY5LCA3Mzg4NSwgOTE3Nzc1LCA0Mjg0NiwgNjk2NDQsIDk1MCwgMCwgOTIyNzMsIAorICAgIDY2NTgwLCAxMTg4OTUsIDY2NjgzLCAxMDU1NCwgMTE5MDA4LCAxMTkxMjEsIDY4MzIsIDUwOTgsIDkxNzc2OCwgMTk0NjY4LCAKKyAgICA3MDQwMywgNTA5NywgNDkzNSwgOTg0OCwgMTAzODEsIDAsIDY3Mjk2LCA5Mjg5NiwgMzY1MSwgMCwgNjcyOTQsIDcwODQ4LCAKKyAgICA1MTAyLCA1MTAxLCAxMDI2OSwgMTI5ODMsIDgxMzgsIDQ1MTcsIDE5MzIsIDUxMDAsIDE0MzksIDEyMDkzLCAxMjQ3LCAKKyAgICAxMDAzNCwgMTk1MDY0LCA1MDk5LCA3ODM3MywgMTQ0MSwgNDIwODcsIDMwNjMsIDY1MCwgMTE5OTUzLCA3ODM4LCAwLCAKKyAgICAxMjg2NTUsIDE5NTA0MCwgMTE5MTQyLCA5MDMxLCA3MDgyOSwgNzg0MjcsIDkwNzgsIDg1NDUsIDY2MzU2LCAxMjg3OTksIAorICAgIDE5NDkyMywgOTE1NCwgOTExOCwgMTI2NTQzLCAwLCAyNjc2LCAyMjc3LCAxMjg0MjIsIDY4MjM3LCA2MTkwLCA4NTk5LCAKKyAgICAxMjUxMTgsIDY5OTE4LCAxMDc5NSwgOTg1NywgNzAxNCwgOTg1NiwgMTk1MDMzLCA3MTkwMywgMTIxMjksIDAsIDg0ODEsIDAsIAorICAgIDYyMDIsIDY3NzExLCAxMDkyMCwgMTEzNzI2LCA1MjAzLCAxOTUwMzksIDE5NTAzOCwgNTEwOCwgNTEwNywgNjU4MTgsIAorICAgIDY2MDE5LCA5NzYyLCAxMTIwNSwgNTU0MSwgNzQ3NzIsIDAsIDEyNjEzLCA1Mjg0LCA2NjU3LCAyMDcsIDEyODgwNiwgNDI3NSwgCisgICAgNzQ4MTksIDg1NCwgNjgxNDcsIDc0MzgxLCA2NjgxNiwgNzg3ODYsIDUxMDMsIDEyNzg2MSwgNjQzNDgsIDQxMzY4LCAKKyAgICA0Mzk3NCwgNDg4LCA2OTgxMSwgMCwgNzEzMzksIDEwMTU3LCAxOTQ3MzcsIDQzMDM0LCAxMTQzOCwgNjQ2NzQsIDAsIAorICAgIDcwMTU4LCA2ODQzMSwgNDE3NzEsIDUxMDYsIDY2NjksIDg1MDQsIDY1MTU0LCA2OTgxMywgNDEzNjcsIDUxMDUsIDEyNzUwOSwgCisgICAgNjk3MjAsIDY0NzYsIDUxMDQsIDk4Mzc0OSwgMzA0LCAzMTc2LCA3ODg3MSwgNzAxNDksIDkzMiwgMTEzNjgzLCA2NTY3LCAKKyAgICAyMzgsIDY5NjU2LCA3ODQzMiwgMTk0NTk1LCAxOTkwNSwgNDM4NTAsIDE5NTAxNSwgNzg4NzAsIDQxMDQ0LCA2NzY0MCwgCisgICAgNjczMDIsIDQyMDU1LCA5OTEyLCA2NTkzOSwgMTA2NzAsIDc0MDkzLCAxMzI3MywgMCwgMTI1NTIsIDkzMDM5LCA4ODAzLCAKKyAgICAzMDksIDY2MjIsIDgxNTEsIDEwODU4LCA3ODcwNiwgNjc2MzYsIDcwMTcxLCAxMjU2OCwgMCwgMTI1NTMsIDEwODE0LCAKKyAgICA0MzI3NSwgNjk1MCwgOTcxMiwgNjg2ODAsIDQzOTcwLCAxMjY1MzUsIDY1MTY1LCA5MjcyNSwgMCwgNjY0NjYsIDEyNDk4NiwgCisgICAgMCwgMCwgNjY3MjUsIDYxOTEsIDExMzUxLCAxMDQzNywgMTEzMTYsIDY3NjM0LCA0Mzc2MywgMCwgNDE3NTQsIDY3NjM1LCAKKyAgICA5MzcwLCAyNzIwLCAxOTQ2MDAsIDY4NDYyLCA4MjMyLCAxMTg4MTcsIDAsIDMyMjIsIDAsIDAsIDAsIDY2NjYzLCA5ODMwNDcsIAorICAgIDkzMDY3LCAxMDgzNCwgOTgzMTI3LCAwLCA2NTczMiwgOTQwOTUsIDkxNzU0NywgOTI2ODIsIDY3Njc5LCAxMjkxNTAsIAorICAgIDY3MzA5LCA3NzgxLCA0MTM4MywgNjQ1NjgsIDY3MzExLCAxMjA3MzgsIDEyMDc3LCA3NDQzMywgNjQ1ODYsIDkxNzYyMCwgCisgICAgNDIzOTYsIDU1MjU1LCAzNDc1LCA2NzI2MCwgMjQ3OSwgNjczMDYsIDM2MzIsIDEyMDcyOCwgMTA2OTgsIDgzNzYsIDM2NDgsIAorICAgIDY3MjYzLCA3NDg0NCwgNjc2MzksIDM2MzYsIDY3ODk0LCAzNjUwLCA4ODM3LCA2NTIyOSwgMTg0MywgNDIyODMsIDQzMjUwLCAKKyAgICA0MTU2MiwgOTEwMCwgNzQ1NDgsIDkxNzYzMCwgMzY0MCwgMTI3MTkwLCA0MjMyMSwgNzI4NCwgOTI4ODAsIDExODk4NywgCisgICAgMTk0OTUwLCAxOTQ5NDksIDc0MTE1LCAxOTQ5NTEsIDEyNjY0OSwgMTk0OTUzLCA0MjA4MCwgMjUyOSwgMCwgOTgzNzg0LCAwLCAKKyAgICA0MjA4MywgMTIwNjc4LCA2ODM5OCwgMTk0OTU3LCA2NzYxOSwgNjYzNjcsIDE5NDk1OCwgOTYzNCwgOTIzODAsIDk5ODgsIDAsIAorICAgIDQxMDY4LCAwLCA0Mjk1LCA2NTI2NCwgNjgwMDYsIDAsIDkyNTQ1LCAwLCA3ODUsIDgyMzYsIDEyODY0NywgOTAyNywgCisgICAgNjgxNjAsIDY3NjIzLCA2NDM4MywgMTIwMjY1LCA5MjUsIDEyNzE1NiwgMCwgNDE5ODUsIDQxMDcxLCA5NTg2LCAxOTQ5MDgsIAorICAgIDQxOTg0LCA5MjE3LCAxMjgzNzIsIDkyNTEwLCA5MjIxOCwgOTE4NiwgMjA2NywgNDAxNiwgOTgzODAzLCAwLCAzODEsIAorICAgIDEyOTM2LCAwLCA0MjA3NywgOTI5ODUsIDY5ODgwLCA1MTg0LCA0MjA3OCwgMTk0NjA3LCAxMDgxMCwgMTI4NTMxLCA0NTg1LCAKKyAgICAxOTk0MywgNTg2MCwgNjc2MzMsIDAsIDk4MzI3OSwgODEyLCAzNjE1LCA3MjQwMSwgNTE3OCwgNDQwMDAsIDEyMDU0OCwgCisgICAgNzg4MDcsIDUxODgsIDc0Mjg3LCA2NzYyOSwgMzYwNSwgMTA2OTIsIDExNjYsIDY0NDI5LCA0MjYzOSwgOTI0LCAwLCAKKyAgICA2NzYzMSwgNDI2MTYsIDEyMDY3MCwgMjQ0MiwgMTA3MDMsIDY3MzE3LCA2NzYzMiwgNjczMTYsIDEyNzcxLCAxMjczNiwgCisgICAgMTI3NTMsIDY2NzA4LCA3MzkzMywgNjc2MjYsIDQyNDAxLCAwLCA2OTg3MiwgMTI3MzczLCA0MjI4OCwgMTI3NTEsIAorICAgIDk4MzA2NCwgODU0MiwgMTMxNDUsIDE5NDk2MywgMjQ2OCwgNjY3MDYsIDQxMjk0LCAzNjI2LCAzODgzLCA2NDM4OCwgCisgICAgNDI0NzksIDcxMjIwLCA0MTExNywgMCwgOTI1ODAsIDAsIDAsIDY3NjI0LCAwLCAxMjkwLCAwLCA2NTU4NSwgMjcxNSwgODA2LCAKKyAgICA2NTIwOCwgNDE4ODQsIDkxNzg4MywgMTMxOCwgNjQ3MzEsIDEyNjU3OCwgMCwgMCwgNjYzMjUsIDM0NjUsIDI0MDUsIDkyNDAsIAorICAgIDk4Mzg1OCwgMTI3NTYsIDY1MjU5LCAwLCA5ODM3ODEsIDEyNzUyLCA1ODMzLCAxNDMyLCA2NjM5NiwgNDE4ODMsIDczOTEyLCAKKyAgICA5Nzk5LCAwLCA0MTg4NiwgMjQ4MCwgMCwgMjA2MiwgNjczMjYsIDY0OTQsIDU1MzcsIDc4NjU2LCAwLCAxOTQ1ODcsIAorICAgIDEyNDk2OSwgMTIxMSwgMCwgMCwgNjcyNjksIDExODgzMiwgMTIzMTgsIDEyOTAyNCwgMTEzNzk2LCA2ODAwNSwgMTA2MjIsIAorICAgIDk4Mzc3OSwgMCwgNzg2NTQsIDY1NjYsIDcxMTk1LCAwLCA3Mzc4MCwgMTE5MTk2LCA2NDg2NCwgMCwgNzg2NjAsIDAsIAorICAgIDgyODQsIDEzMDgxLCAxMTkyMDYsIDM1ODksIDQyMDUxLCA0MDM1LCA2NDkyLCA5MjIzNiwgNDI2NSwgNjY0MiwgMzk3NywgCisgICAgNzQxODYsIDQxNzc4LCA4MzYsIDkyOTQ3LCAyNDg4LCAxMjkxNzYsIDQ1ODIsIDAsIDAsIDQxNzc3LCAxMjkyNiwgOTgzMzc3LCAKKyAgICA3NTI4LCAxMDU1MCwgMTEzNzYxLCA5MjcwNiwgMCwgMTA5NjEsIDkzOTc3LCAxMzc0LCA2NDg3OCwgMTE5MDE0LCA2NzcyMCwgCisgICAgNDIzODksIDQxMzc0LCAyMjg2LCA5MTc2MDQsIDc4NDkyLCA0MTM3NywgMTI3OTA5LCAwLCA0MDAsIDEyNTk3LCAxMjA1ODYsIAorICAgIDAsIDAsIDY2NjEsIDk4MzE0NSwgNjQ4MjcsIDAsIDczODE3LCAzOTAsIDAsIDcxMzAxLCA5ODM4NjIsIDM0NzMsIDc3MTgsIAorICAgIDExMzc1NSwgMTI3MDExLCAwLCA1NTI4NSwgNzM3ODQsIDY2Mzk0LCAwLCAxMTk2OSwgMTIwNDYxLCAxMjc4NDEsIDYzNjUsIAorICAgIDE4ODcsIDY3NjMsIDkyNTUxLCA4MDgwLCA3MDA2LCAwLCAxMTg5MDIsIDY3NTcsIDY0MzUxLCAxNTQ0LCA2NzE1NiwgNjc2NiwgCisgICAgNjQ2NzcsIDEyMDcxNiwgNjcwODgsIDYxNDYsIDc0MDMxLCA3NzEsIDEyMDY4MiwgMCwgMTI4MTIsIDEzMTY4LCA0MjI3MiwgCisgICAgMTIyMDAsIDY2NDIzLCA3OTA0LCAwLCA5NTMsIDEyOTE3LCAxMTk1NjAsIDEyMzAwLCA2NzA4OSwgMTE0OTEsIDk3MjQsIAorICAgIDEwMzQxLCA5ODM3NzMsIDk1MjQsIDc0OTAsIDExMzg5LCA3NDg5LCAzMzc5LCAwLCA3NDg3LCAxOTQ2MjQsIDQ3MSwgNzQ4NCwgCisgICAgNzQ4MiwgNjc1MywgNzQ4MCwgNTc2NCwgNzQ3OCwgNzQ3NywgNjUwMSwgNzQ3NSwgNjkxOCwgNzQ3MywgNzQ3MiwgMjQ3NCwgCisgICAgNzQ3MCwgNzQ2OCwgMTAyMzIsIDEwNjE1LCAxMDIxMywgMTI3Mjg4LCA5MjM1NywgMTAwNDksIDExODM0LCAzNTQ0LCAwLCAKKyAgICA2MDE3LCA2NTMxMSwgMTI3NDgxLCAxMjAyMTYsIDEzMzA2LCAxMDUzMywgNzg3MCwgNzM5NDksIDc2MjUsIDE5NDg4MiwgCisgICAgMTIwNTQ0LCAwLCAxMjc5NTAsIDkyNjYwLCAwLCA3Nzg4OSwgMCwgMTk5NjEsIDI0NzIsIDQyNjY1LCA5MjM0MSwgMCwgCisgICAgMjEzOSwgNDI1NiwgMTIwNzc2LCA3NDM4MCwgNDM4MzYsIDQyNjc1LCA0MjY1OCwgMTI4NDUsIDcwMzQ1LCA3MDUwOCwgCisgICAgNjUxMzgsIDExOTM1NSwgNjc4NjIsIDAsIDY1NjcxLCA3MDgzLCAxMjAwMDgsIDgwNjYsIDc2NzgsIDc0ODY1LCAxMjUxMzQsIAorICAgIDEyMDMyMSwgMCwgOTgzMzk0LCA3MTg2LCAwLCAxMjA1NTUsIDAsIDQ0NSwgMTIwNTY2LCA2Njg0OSwgOTgzNDc3LCAwLCAKKyAgICA4MzMwLCAwLCAwLCA0Mjc5NywgMTEzNzM2LCAxMjAyMTUsIDkzMDM2LCAzOTAyLCAwLCAxNzcwLCA2NzA5MSwgMTI1MDY3LCAKKyAgICAxNTYwLCAxMjAyMDksIDE5NDk3MiwgNDU4NCwgNzM4NDMsIDAsIDExNzEyLCAxMDg2NiwgNjcwOTIsIDExMTgsIDcxMzM0LCAKKyAgICAwLCAwLCAxMDgxLCA3NDM2LCAxMTE0NywgNzI1MiwgNzAwOTMsIDU5OTYsIDY5OTIxLCA0OTAzLCA2ODE0MiwgNDEzODYsIAorICAgIDUxNjIsIDExOTE4OSwgMTMzMCwgMTI4NjEzLCA3MTM5LCAwLCAxMjA0NywgNDEzODQsIDAsIDAsIDE4NDgsIDQzMzQsIAorICAgIDYzMjQsIDQxOTc1LCA2NDc3NywgMTA2NzQsIDEyMzA4LCAxMjE4NiwgMCwgMCwgOTgzNzQxLCAxMjcxNSwgNjgwMDIsIAorICAgIDk4MzQ3OSwgMTI2NjMwLCAyMDE4LCA2NjY3MiwgNDE5NzksIDY2Njg1LCAxMTkxNTcsIDY4MDAwLCA3ODQ5MCwgMCwgCisgICAgMTI2OTg0LCA2ODAwMSwgOTMzNCwgOTI3MDUsIDcwODAwLCA3MDEwMSwgNzk3NSwgMCwgNzc5NTcsIDAsIDQzNDk0LCA0ODg0LCAKKyAgICA2NjU5NywgNjk3MzIsIDAsIDAsIDYzMTMsIDY1NTEzLCA2OTg1NywgMCwgMCwgMCwgMjM0NSwgNDM2OTcsIDQ2MywgMCwgMCwgCisgICAgNjgxNzgsIDMxMTcsIDU0NjAsIDAsIDEyODcxNywgOTgzMzg3LCAwLCA0MjI3OSwgMTk0NTc3LCAwLCA3ODQxNSwgOTgzMjI4LCAKKyAgICA2ODUyNCwgOTgzMzg0LCAxMzI0OCwgMTI1MDI3LCAwLCAxMjg0NzEsIDEyODQxNSwgOTgzMTUzLCAwLCA1NjYzLCAxMjc5NDIsIAorICAgIDEyODQ3MiwgMCwgMCwgMjQ4MiwgMTQ3MSwgMTk0NTgzLCAxMTM3NDcsIDQyMjQ3LCAxMjM3OCwgNzM5MjUsIDY5NjY0LCAwLCAKKyAgICAxMjM3NCwgMCwgMTk1MDIzLCAwLCAxMTg4MjgsIDI0NjAsIDcxODgyLCAxMTk0NCwgMTIzNzYsIDEyNzg2OCwgNjQ2NzksIAorICAgIDkyODkzLCAxMjM4MCwgMTA1NTcsIDY0NDczLCA1ODcwLCAxMTEyMiwgMjAyNCwgMTI3MTgwLCAwLCA3MTg3OSwgNTM5LCAwLCAKKyAgICAxMjc3NjUsIDcwMTIwLCAzODUzLCA2NTE4MCwgMTI3OTIzLCAxMjA3OTYsIDEyMDI0NSwgOTIzMjQsIDAsIDg2NTksIDAsIAorICAgIDEyNDc0LCA2NzI0MSwgOTUwMywgMTk0OTY5LCAyNDc4LCAxMjAyNDgsIDQxNjIsIDAsIDQyNjAsIDEyOTUzLCA2OTYzMywgCisgICAgMTIwMDg5LCAxMjQ3MCwgOTI2NDAsIDc0MTg5LCAyNzQyLCAxMjQ3NiwgMTE3OTgsIDEwOTQ2LCAxMjczMTAsIDUwMDAsIAorICAgIDExMzY4NywgOTgzNTc5LCAxMjg3NzcsIDY5NjcyLCA4MjEzLCA0MzgyNCwgNzc3MSwgNjE2MSwgNjgwMTgsIDY3MDksIAorICAgIDE5NDk2NywgNzg4ODUsIDExOTI0MywgNjgyMzUsIDEyMDU4MiwgNzg1NDcsIDExMzcwOSwgMTAzMDEsIDEwMzMzLCAxMDM5NywgCisgICAgMTI0OTM0LCAwLCA3Mzc5MSwgMCwgMCwgMCwgMCwgMTE5MTIzLCA0MDE0LCAxMjg0MiwgNzM5NTIsIDEyMDE1LCAxMjcyOTAsIAorICAgIDgyNzUsIDM4OTMsIDk4MzI2NCwgMCwgMTIyMTAsIDcyMjEsIDQyMTQ3LCA3NDg2OCwgNzQ1NTAsIDcxMjE1LCA2NDc0NywgCisgICAgMTE4ODQxLCAwLCAxMjUxNiwgNDQ0NCwgMCwgOTIyNzEsIDc0NTM3LCAxMDg5MiwgODIzMSwgMCwgNjQ3MywgNDE5NjgsIAorICAgIDc4Mzg4LCA0MTk3MywgMzU5MSwgNDE5NjksIDAsIDI0NTMsIDEyODU0OSwgOTI2NjYsIDY0NzA1LCA3MTA2OCwgMCwgCisgICAgMTAzNDksIDEwNDEzLCA0MzU5MSwgNDE5NjIsIDMyMDIsIDc0MzUzLCAxMjkxNzUsIDgzMTYsIDEyOTE3NCwgMCwgOTQwNjAsIAorICAgIDY4NywgMTI1MDg5LCAxMjkwNzQsIDAsIDE4NDAsIDAsIDY4NjcxLCAxMTEyMSwgNDg4MywgMjg1LCA0NzIzLCAxMTE3NSwgCisgICAgOTI2OTIsIDQ0NTksIDc0NTc3LCA0MjkyMSwgNDE3MjAsIDExMDg5LCAyNDAsIDE5OTA2LCAwLCA0MjMyMywgNzQ2NDAsIAorICAgIDk3NDMsIDEyMDIzMiwgMTMxMzQsIDkzMDY1LCAxMjg5NTYsIDY1OTMxLCA5MjU3OSwgMTI4MzI5LCA0MjYzNCwgOTgzMzQzLCAKKyAgICA0MzQzNywgMzA4MSwgMTE0NjMsIDEyMDE1NCwgMCwgMTk1MDEzLCAxMDQ0NSwgMCwgOTI5NjksIDY2NzE3LCAyNjE0LCAKKyAgICA5MTI1LCAxMTkwMjMsIDE3MjksIDAsIDcyNDIwLCA2NTIyMSwgNjM4ODMsIDQzMzM0LCA2NDg1MiwgMTI0OTI5LCA2NTE5NCwgCisgICAgNjYyMDEsIDAsIDY2NTc4LCA1MDAxLCA0MTg3OSwgNzQ0MjcsIDQxMjEsIDUwMDMsIDg4NCwgNjY3MDAsIDYzODc5LCA0OTQzLCAKKyAgICA1MTUwLCA3Mzg4OSwgNzM3NjQsIDQwMzksIDY0MywgMzA4NiwgOTI5NjEsIDQyNDQ4LCA0MjI5OSwgNTgsIDAsIDkxNzk1MiwgCisgICAgMTIwMDgzLCA2Mzg3MywgODQ5MSwgMCwgMCwgOTgzNjIzLCA0NTMwLCA0MjQwOSwgNzEyNiwgMTk0NTc1LCAyNzIxLCAKKyAgICAxMjAwNzMsIDExOTA5NiwgMTk5MjksIDAsIDE5NDU3NCwgOTI5NzUsIDQyNDIsIDQyNjQsIDEyMDA3NywgMTIwNTMwLCAKKyAgICA2NjE3OSwgNDI0MTIsIDY1OTQxLCAxMzExNCwgNjQ1MjIsIDEwNzQwLCAzMDk0LCA5ODMxOTksIDk3NTQsIDExOTEwMiwgCisgICAgNDQzNywgNzM5NDgsIDEyNzA3NCwgOTgzMjM4LCA1NTI4MCwgNDIxNzQsIDE5NDkyNSwgNDI0MzAsIDAsIDk4MzQ1MCwgCisgICAgNDIzNTUsIDY2MDI2LCA0MzA2LCA0MTM4MCwgNjg0MzIsIDkyNTg2LCA2ODMxNCwgNjY2NjcsIDExOTM1MSwgMCwgMTI2NTIxLCAKKyAgICA0MjIwMCwgNDI1NjYsIDcwMDAwLCAxMjg5MjgsIDUwODgsIDY5NDgsIDAsIDg1MjQsIDEyNTA0MCwgMCwgMTIzODUsIDAsIDAsIAorICAgIDY5NjQ2LCAxMzg2LCA2NDU4MCwgMTE0ODAsIDYxMTYsIDY1MDM5LCA2NTAzOCwgMTIzOTIsIDY1MDM2LCA4MDY0LCAwLCAKKyAgICAxMjEwMSwgNTgyMiwgMTE5MDA0LCAyMDgwLCA3MTAsIDc3OTk5LCAxMTY2MywgMTY2NiwgNDIwOTEsIDExOTY1NywgMTIzODMsIAorICAgIDQzNjcxLCA0MjA5MiwgNjg0MTgsIDQyODksIDEyNzg5NywgNjM4OTYsIDEyMDYxLCA0MjA5NiwgNDM2MjEsIDMzNjIsIAorICAgIDEyMzc3LCAxMTk5MzQsIDk4MzgzNCwgNjg0NDksIDc0NjEsIDczOTAxLCAxMjQ0LCAzMzEsIDczNzg2LCAxMjY4MywgCisgICAgMTA2NjIsIDAsIDgxMTIsIDAsIDY1ODUyLCA3NDYyOSwgMTIzNzksIDE5NDg3NywgOTI5MzAsIDQxOTY0LCA0MjIwOCwgCisgICAgNjM4NDMsIDIwODQsIDQxOTY1LCAxMjUwOTksIDY1ODY2LCA0MzI3LCAwLCA2Mzg0MCwgNjY0MTMsIDQxMjIwLCAxMzAzMiwgCisgICAgOTI5ODAsIDU4NCwgMTI5MzMsIDQzMTc3LCAxMjM3MywgNjk4NTUsIDEzMDAwLCAxMzUxLCAyOTM1LCA4Njk4LCAxMjY2NSwgCisgICAgMCwgMTkzMCwgMCwgNzgyMjksIDEyNDI3LCA2NjUxNCwgNjk4NTksIDEzMDMxLCAwLCA2MzkwMSwgMCwgMzY1NywgMTE5NjExLCAKKyAgICA2NTIwMiwgNjAwMCwgMTEzNzg2LCAxMjQyNiwgMTI3MTgxLCAxMTk5MzUsIDQxNzQwLCAxMjQyOCwgNDEyODMsIDQxOTE2LCAKKyAgICAxMTkyMTAsIDEyODMxOCwgMCwgMTI0MjksIDY3MjcsIDAsIDc1NjIsIDk4MzI0OCwgNTE3MCwgOTgzOTE1LCA0MTc1NSwgCisgICAgNjc2LCAwLCA2NjcwNCwgNjY2NjQsIDk5NzgsIDY2NDkxLCAzNTM2LCAwLCA5NzUyLCA5MjM5NywgNjE2MiwgOTI5MjgsIAorICAgIDY5MjI4LCAxMDExMywgNDE4MjksIDY1ODg2LCA1MTU5LCAxMjQyMiwgNDE4MzIsIDQzOSwgMzA3MiwgOTgzNDY0LCA0MjIwNywgCisgICAgNzQ1NDksIDExNzk2LCA0MDk3MCwgNDE4MzAsIDEyNTAyMSwgNzAxNTEsIDgzMDgsIDkxNzc5NywgNzA4MDcsIDExOTI1OCwgCisgICAgNjc4NjQsIDExMzY5NiwgOTE3ODAwLCAxMjMzNiwgNDEzNSwgNjcyMzEsIDM0MSwgMjcyNywgNDEyOSwgMzUzOSwgMCwgCisgICAgNjM4NjEsIDAsIDc5MTMsIDAsIDYzODU5LCA0MTMxLCA2Mzg2OCwgMTI5MDg1LCA2Mzg2NywgNDEzMywgMTEzNzEsIDIxMCwgCisgICAgNDYwMCwgMCwgNzQ1NjAsIDQxMzcsIDgwODIsIDc4NTA2LCAxMTkwNjIsIDc4NTA0LCA2NzA0LCA0NTkxLCAxMjgwMjksIAorICAgIDEyNTAxOCwgMTIwNzUzLCA5NjgwLCAxMjkzNywgMTIwNjIzLCA1NjEsIDEyMTU5LCAxOTUsIDY4MzIxLCA0MTUwMSwgCisgICAgOTgzMzcxLCA0MjAzMSwgNTcxOSwgNzE3MiwgNDI2ODcsIDgzNjgsIDEyODMwNiwgNDE0OTksIDkzMDY4LCA3MTA0NywgCisgICAgNDIyNDIsIDQxNDk4LCA5MTc3OTQsIDQyMDI1LCA3ODU2NSwgNjU4MDUsIDQyNDYzLCA2NzE4MiwgMjkyNCwgNjcxODMsIAorICAgIDEyMDUxMCwgMCwgMCwgOTI3NjYsIDczOTQxLCA2NzE4NiwgNDIzMzAsIDY3MTg3LCAzOTY5LCAxMjg0ODQsIDAsIDcxNjksIAorICAgIDE5OTIsIDk2NTIsIDczOTc3LCA3MjQ2LCA0MjA4NiwgMTI2NjE1LCAyMjE5LCAxMjcxNzcsIDAsIDEyODgwMSwgNjcxODAsIAorICAgIDAsIDMyNywgMTI4MzAwLCA5MDQyLCA5MTc3NzcsIDkxNzc3NiwgNjUxNDgsIDEyNDMzLCA5MTc3ODEsIDEyMDIyMiwgCisgICAgOTE3Nzc5LCAxMjQzMSwgODY2OCwgMTI0MzQsIDY3MTk0LCA5MTc3ODIsIDU5OTksIDAsIDc3MTIsIDEyNDMyLCAxMjgyNDMsIAorICAgIDQzNjUzLCAxNzI2LCAxMDE1LCAwLCA4MjEyLCAwLCAxMTM3NTQsIDQyNDIzLCAxMTkwNjYsIDE5NDYxMywgNzIzOTgsIAorICAgIDY2NzA5LCAwLCA4ODExLCA5MjcsIDEyODQ2MSwgMCwgMTI0MzYsIDEyMDA4NywgNDIwMjEsIDAsIDY3NjQ0LCAxMjk5LCAKKyAgICAxMjI0MCwgNDIzNTAsIDY1MTQzLCAwLCAxOTUwMTYsIDEyNzk3MiwgNzgxOTcsIDExMzQ4LCAwLCA3ODAzNywgOTE5NCwgCisgICAgOTgzMTg0LCAwLCAxOTkxNCwgMTIxNzksIDEyODc0MCwgMjI5NiwgMTI4OTMyLCA2MzgzNiwgNjM4MzIsIDkxNzc3MywgCisgICAgMTA5NjcsIDYzODE2LCAyNTk0LCAzNDQ0LCA2MzgxNywgMTExNzgsIDAsIDQxNTAzLCAxMjc0NzgsIDExMjY1LCA2ODI5NSwgCisgICAgMTIwNzU2LCAxOTQ5MjIsIDY3Mjg1LCA1NjY0LCAzOTcyLCAwLCAxMjg1ODMsIDAsIDY3Mjg0LCAxMjQxNiwgOTE3NzY0LCAKKyAgICAxMTk2MDgsIDEwODE2LCA5MTc3NjksIDExMjEwLCAxMjQxOCwgNzQxMTEsIDM4ODIsIDg1MzIsIDkxNzc3MSwgMTU3MywgCisgICAgMTI4MDE4LCAxMTk4NDcsIDQ1OTYsIDY2MzM5LCAxMjQxNywgNjYwMDEsIDY1MzQzLCAxMjY0OTEsIDEyNDE0LCA4Mjg3LCAKKyAgICA2ODIxOSwgMTk1MDE3LCA2ODEwOCwgMTE0MywgMTE5MTY5LCAxMTk4NDYsIDEyNDE1LCA2NjI2LCA0Mjc2MywgMCwgCisgICAgMTE4ODg0LCA5MDIxLCAxMjA3ODMsIDExOTkzMSwgMTE3MjQsIDAsIDAsIDEyNzEwNCwgMTI2NjE5LCAwLCAwLCA4MDI3LCAKKyAgICAxMDk5NywgOTE3MSwgMTI3NDEsIDExNDAwLCA3MTMwNSwgMTk0Nzk5LCA2NjgzMywgMTI4MjM5LCAwLCA5MjU1NywgCisgICAgMTE5NjA0LCAxMjc1MjMsIDEyMDE5MCwgMTMyNCwgNjc2MDgsIDEyODIxNCwgNDIzNjgsIDAsIDc3MTUsIDM4ODEsIDQxNDg3LCAKKyAgICAxMjExOCwgNDI1MTQsIDY4NjUxLCAwLCAxMjg1OTQsIDMwMDksIDQxNDc2LCA0MTQ4OSwgNjk4MjUsIDMwMDcsIDE0NDgsIAorICAgIDMwMTgsIDE5NDgwOSwgMzg4OSwgODUyMSwgNTA4MywgNTA4MiwgMTE5ODU5LCA3ODI1NSwgODUxOSwgOTgzMjQxLCAzMDE0LCAKKyAgICA1MDgxLCA2NTg1MywgMTIwNzE1LCAwLCA2ODAxNCwgNjk5NTEsIDUwNzksIDY0ODAyLCA0MjIxMCwgNDU5NywgNjU1MzIsIAorICAgIDExODI4LCAxMjAxODUsIDEyMzcxLCAxMTEwNSwgODQwNywgNjcxNjMsIDEwODA1LCA4NTE4LCAxMDc3OSwgMTIwMTg4LCAKKyAgICA3MTMwMywgOTgzOTMzLCAxMjM2NywgNDIxNzAsIDAsIDY3MjkwLCA2MjksIDE5MjQsIDEyODQzNSwgMTIwMzcsIDY3MTU4LCAKKyAgICA1OTg3LCA4NDYyLCA4MDA1LCAxMjM2NSwgNjM5MzMsIDY5NzM1LCAxMjA4MTUsIDEyMzY5LCAxMDY0OSwgNjc5ODEsIDUwNzcsIAorICAgIDEyMDE3NCwgMTA4ODAsIDYzOTI3LCA1MDc1LCA5MTc4ODEsIDEyNzMwMCwgNjUwNzUsIDAsIDExMDA3LCA3MDg1MSwgCisgICAgNjY2NTksIDkyNjA3LCA5MTc5MzMsIDY2Njg0LCAxMjgwNjMsIDM0MzQsIDQ5NTQsIDE5MDQsIDkyNjc5LCA1MjY2LCAKKyAgICAxMjY5ODAsIDUyNzIsIDEwNDk5LCA0NTA3LCA5NTc4LCA2MzkyMywgMTIwMTc3LCA3OTc5LCAwLCA5ODMxLCAwLCAxOTQ5MjYsIAorICAgIDQ2MSwgOTgwMywgNDIyODIsIDQ1MDQsIDE1MDUsIDAsIDYzMjUsIDUyNzYsIDQzMDIxLCAxMjA0ODgsIDAsIDU1MjM2LCAKKyAgICA5MjY1OSwgNjY0NjEsIDUxNzcsIDQxMzI0LCAxMjA1NSwgODcyMiwgMTIwODA1LCA0MTMyNywgOTgzNzMyLCA2NjY5NSwgCisgICAgNDExNCwgNDA5LCA0MzgzLCA4OTAwLCA4OTQ4LCA0MTMyNSwgMCwgNzIxLCAxMDE4MiwgOTEwOCwgNzEzMTEsIDAsIAorICAgIDExOTE4NSwgNDIyMjksIDE5NDkxMiwgMCwgNTk5OCwgMCwgNDIzNTMsIDc0ODI1LCAwLCAxMjU4NywgOTQxMDQsIDc4NTcxLCAKKyAgICAwLCA3MTMyOCwgMTI4OTU1LCA0MTU3NiwgNDIyMTUsIDc4NTcwLCA3NDAzNywgMCwgODU3OCwgNTk5NSwgNzU3MywgNDE1NzUsIAorICAgIDc0Nzg5LCA3NDc1MiwgNjM5NDQsIDYzOTQ5LCA2NDc2NywgMjY3MCwgNDE2NywgMTk0Nzk2LCAxMTcyMywgMCwgNzQxMjAsIAorICAgIDAsIDY1MDc2LCA5MzgsIDQzNDE0LCA3Mzg1NCwgMTE3MzcsIDk3MjEsIDAsIDY3MTc5LCA2NzE2OCwgMTE3NDIsIDI0MTksIAorICAgIDY3MTc3LCAxMTQ5MywgMTIzMzQsIDE5NDkxMywgNDE1MywgMTIzMDIsIDEwNzkzLCA1MjUwLCAxMjQwNywgMTE5NzgsIAorICAgIDQ0MDQsIDkxODksIDEyNDAxLCA0MjAwNywgNTc3NSwgNjc1OSwgNjU4MDYsIDQzOTk3LCAwLCA0MjAwMiwgMTI0MDQsIAorICAgIDcwMzg4LCAxMjkwOTMsIDQ5NDAsIDEyNDEwLCA3NjgzLCAxMTY3LCA3MzcyOSwgNDk4MywgMTIwNTA3LCA4NjEsIDY3Njk5LCAKKyAgICAwLCA2ODI5NywgMCwgNDM3NTcsIDQzMzcwLCAwLCAwLCAxMTk1NiwgMTI0OTY3LCAwLCA3MDgxNSwgOTYxNiwgNjYzMSwgCisgICAgOTIzMzgsIDEyODE2LCA0Mzc1OSwgNDIyMTgsIDEyNzEwLCA2ODY3NCwgMTI3MjEsIDQxMDEsIDY2MTg1LCAwLCA1OTkyLCAKKyAgICA3NjE2LCAxOTUwNDQsIDAsIDEyNTc3LCA5MzAxNywgOTgzODg0LCA4NTMsIDQyNjkzLCAxOTQ2NDcsIDExOTAyNywgCisgICAgOTgzNjQ3LCA1MDE2LCA0MzUzNSwgNjM4OTMsIDQyODM1LCA5NDkxLCA5MTc5MTMsIDAsIDkxNzkxNCwgMCwgMTI3MTIsIAorICAgIDcxMDUsIDEyNzgwNywgNjUwNjAsIDY2ODc1LCA5OTAwLCA3NzUwLCA5MTc5NDYsIDEyNzg5NiwgNzQ2MTksIDEyNzgzMCwgCisgICAgOTgzNTg3LCA2NDc3OCwgMTI1ODUsIDEwNTY1LCAxMjgxNTEsIDEyMTc3LCAxMTk4NDMsIDk4MzI1OCwgMCwgNzc4MjQsIDAsIAorICAgIDQ5MDAsIDEyNzg3NCwgMTI4NzgsIDkyNjMwLCA4OTg0LCA0MTE5LCA3NDc2OCwgODk3MSwgNzg1OTMsIDQzMTEzLCA5NzAyLCAKKyAgICA2Njg1MiwgMTEwMjUsIDkyNDUsIDEzMDQ4LCA0OTI3LCA0MTM4LCA3NDE4NSwgOTI0ODEsIDkyNzEwLCAxMjM5NywgNzc4MjcsIAorICAgIDExOTA0MCwgMTMwNTQsIDEyMzk0LCAwLCAwLCAxOTQ5NTQsIDEzMDUzLCAxMTg5NzQsIDM5NDgsIDEwNzgxLCAxNTQ2LCAwLCAKKyAgICA1MDEwLCAxNjgwLCAxMDUwNywgNzg1OTAsIDc4NTgzLCA5MjQzMSwgMCwgMCwgMTk0OTE1LCA3MjY3LCAwLCA3NDgzMywgCisgICAgMTI4MTgxLCA1OTkzLCAyODE5LCAxMjg3ODgsIDEyNzA2LCA3MTA2MywgMTg5MywgNzI2NiwgNjM5MTUsIDcyNjQsIDcyNjUsIAorICAgIDAsIDEzNjMsIDAsIDQyOTIzLCA2MzkxMCwgNjM5OTYsIDMwNzcsIDEyMDAxOCwgMCwgMTUxMiwgNjk5MjksIDEyNTg5LCAKKyAgICA0MTQ3OSwgMTI4MzEzLCA3MTA0OCwgNDMzMzksIDczNzc2LCA5ODM2LCAxMjA3MjcsIDAsIDQxNDgxLCA0MzMzNSwgNzgzMiwgCisgICAgNDIzNDMsIDMwOTAsIDQzMzM3LCA4MTcsIDE2NjQsIDE4NTAsIDEyODg0MSwgMzA3OSwgMTEzNDAsIDQyNDA4LCA0MjQ0NywgCisgICAgMTI3MTQwLCAxMjAwMjAsIDQyMzA3LCAxMjM4NiwgNDIzMDQsIDkxNzU1NSwgMCwgMTIzODksIDEyODM5OCwgOTIzNjYsIAorICAgIDQxOTk2LCAxMTUyNiwgNjM5ODUsIDU4NjQsIDExNDcsIDQzODQ5LCA0Mjg4NywgMTk4NywgOTI3MTgsIDU0ODAsIDc4NTgsIAorICAgIDExNjUzLCA0MTE2LCAxMjM5MSwgNjYxOTMsIDEyOTE5NywgNDkzOSwgMTIzODQsIDAsIDAsIDQxNjg2LCA2MzkwNSwgCisgICAgMTE5NjAxLCAxOTQ2ODgsIDY3Mzk4LCAxMjg4MjAsIDEyNjQ5LCAxMjkwNTYsIDAsIDgyNDcsIDUwNywgOTEsIDIwNDIsIAorICAgIDEyMDc3NSwgNDM2NDMsIDE5NDY4OSwgNjYwMjgsIDEwMDM2LCA0MTg0NCwgMTE5ODEzLCA3NzQsIDExOTgyOSwgNzc4NDAsIAorICAgIDExOTgxNSwgNTk5NCwgMTI1MzksIDAsIDc4Mzc1LCAxMjA1OTcsIDExOTgzMywgOTgzMTA1LCA3ODM3NywgMCwgOTE3NjI4LCAKKyAgICA3NzE5LCA2MDI2LCAyNDg2LCAxMjgzMTIsIDExOTgwOCwgMTYyLCAwLCA2NTIxOSwgNDEwNzMsIDk2ODcsIDQxNjgxLCAKKyAgICA2MzA0LCAxMTk4MTIsIDY2MTk2LCAxOTQ4ODEsIDUyNjIsIDAsIDU1MjMzLCAxMjY4MSwgNDIzNzksIDAsIDc1MzQsIAorICAgIDEyMjE5LCAyMjI2LCA3MDQ5OSwgNDI4MTAsIDEwNDkyLCAxMjcwMTUsIDk4MzY2MSwgMTI2NzA0LCA0MzExOSwgMCwgCisgICAgNzg1MzcsIDEyNDAzLCAyNTAwLCA3MDE0NSwgMCwgNDg5OSwgMTI3MjksIDk4MzM5NywgMCwgNzQxMTMsIDIzNDMsIDQxMDMsIAorICAgIDE5OTQ2LCA3NDExMiwgNzc4NTEsIDEzMTEyLCAxMjkwNDYsIDc0ODM0LCAxMjg1OSwgNzAwODcsIDEyMDE0OCwgNjYzNjksIAorICAgIDU4NjEsIDEyNzc1OCwgMTE5OTksIDEyNDAwLCA0MzY0MSwgOTgzODM5LCAxMjY0NSwgNTE0NiwgMTEzMjAsIDY4NDEwLCAKKyAgICA2NzQ4LCA2NTA0MCwgOTgzNDkxLCA2NDE4NCwgMTI5NzQsIDY0MTgzLCA2NzYxMywgMTIwNjQ1LCA1MTQ3LCAxMjUwMTksIDAsIAorICAgIDc0NTI0LCAxMjgzNTYsIDE5MjgsIDAsIDY3NjQ5LCA1OTkxLCAzNDQ1LCA2NzYwOSwgNDk3NiwgNjQxNzYsIDAsIDY3NjEwLCAKKyAgICA4MjQxLCAwLCA3Nzg2OCwgNDIwNiwgMCwgNzg2NjIsIDAsIDEyODI5OCwgNjcyNzcsIDEwMTM4LCA2NzIzOCwgMTI4Nzg1LCAKKyAgICA4ODk3LCAxMjAyMzQsIDE0MjIsIDgzNTcsIDQxMjQsIDc3ODYyLCA2NTgzNiwgMTIwNjQxLCAxMjc5MjYsIDc3ODU5LCAwLCAKKyAgICAxOTQ2OTYsIDExMjMsIDk2MywgNDE1NTMsIDEwMTIwLCAxMjQwNSwgMTIwMTUwLCA5MjY2NCwgMzk4LCAxMzI3OCwgOTcyMywgCisgICAgNjM2NiwgMTIwMzExLCA3OTQ1LCA5ODMxNjMsIDQ0MDIsIDk5NzAsIDEyNDAyLCA5MzA2MiwgNDIzOTIsIDEzMDUsIDEyNDA4LCAKKyAgICA5MjM4NCwgNDQwMDcsIDEyODU2MywgMTI3MjE2LCA0MTQ2NCwgMTI0MTEsIDEyOTY5LCA2NzI2OCwgNDE0NjUsIDk4MzU2NSwgCisgICAgODUyOCwgMTU3NSwgMCwgNjM5NTUsIDE2NSwgMzAyNCwgNDE0NjcsIDExOTE2MywgNzAxMTksIDkwOTMsIDAsIDY4MzMsIAorICAgIDkyNTc0LCA2Mzk1OCwgMCwgOTE0OCwgOTY5MiwgNDA5NiwgNTMsIDgyOTYsIDY3NTAsIDY2ODU1LCAwLCA5NTk0LCAKKyAgICAxMjAzMDgsIDEyOTE4NiwgNDM1MjcsIDE5NDYyMiwgNzI3LCA3NDE5MiwgOTMwNjAsIDU4MDUsIDAsIDY3MjYsIDAsIAorICAgIDQyMTc2LCAxMjM3MCwgMTE2NTUsIDExOTA5NSwgMTA1OTEsIDIyODAsIDAsIDEyMzcyLCAxMjA2NDIsIDEyMDMwNywgCisgICAgNzEyMDksIDkyMzQzLCAwLCAxMjM2NiwgMTA5NjMsIDYwNjYsIDEzMjksIDAsIDMwNTIsIDkyMjAsIDAsIDY0NDc4LCAKKyAgICAxOTQ3MDEsIDEwODAzLCA0MTMyLCAxMjAzMDYsIDY4NDc0LCA5MjQ3MywgMCwgMTIwNzEyLCA3NDgzNywgMTIwMTU1LCAKKyAgICAxNDk5LCAwLCA4MDU1LCA0Mjc0MCwgNjM5NjUsIDEyMDMwNSwgNjM5NjIsIDc0MDQyLCA4OTI0LCA0MzEyMywgNTk4OCwgCisgICAgMzY2MCwgNjM5NjksIDExNzgxLCA0MjcxOCwgODc4OCwgMTM1NywgNjQ4NTEsIDY1NzQzLCA5Mjg5NCwgODc3NCwgNzAzMzcsIAorICAgIDEyNzA4NiwgOTk0MSwgMTIwMTcyLCA5Mjc0OCwgMTkzMywgNjk2NTUsIDk1NjQsIDAsIDkyNDM1LCA3Mzg2NiwgMCwgCisgICAgOTgzNTgzLCAyNDg3LCA2NzYxNCwgMzEyMSwgMTgwNCwgMzMxMSwgNjc2MTUsIDcwMDgxLCA3ODMwMiwgMTIyMjAsIDY3NjE2LCAKKyAgICA5Mjc2OSwgMTI3NDc1LCAwLCA2ODIwMCwgNjY3NSwgMTI4MTQ0LCAwLCA2NzU5MiwgMTIwNjg1LCAwLCA2NDc3MSwgMTE5OCwgCisgICAgOTEzMiwgMCwgNjQ2MTksIDUxMCwgNjQ2NjMsIDAsIDAsIDQ1NjEsIDIxMDEsIDEzOTgsIDkxNzk3MiwgOTI1NTQsIDc0MDM0LCAKKyAgICA0MTU2OSwgOTI2ODQsIDExNDA2LCA4MTY3LCAxMjEyNywgMCwgODQwLCA5ODMyODEsIDY5OTkyLCA3MTAxLCA2OTY3LCAwLCAKKyAgICAxOTQ4OTgsIDk3OTYsIDAsIDMzMywgNjk4OTEsIDAsIDgxNDQsIDIxMTcsIDAsIDk4MzU5NSwgMTI0MDYsIDAsIDE5OTMxLCAKKyAgICA2NjM4OCwgNjY3OCwgNzc2OSwgMCwgMTI2MjEsIDAsIDEyNzM2NiwgMTAyMjcsIDQ3NjQsIDQzMTAxLCA5OTgxLCAwLCAKKyAgICA0MDk4NiwgNDEyNywgNjY0ODcsIDk4MzU3NiwgNDIyMDIsIDEyNzU0LCAxOTUwMjIsIDAsIDAsIDk0MDk3LCA2NzU5NCwgCisgICAgMjA0OCwgMTI5NDQsIDQwNTAsIDY3NTk1LCA5MTc5NjcsIDQzMTAyLCAxMDU4MSwgMTExODQsIDQ1MzMsIDE5NTAyMSwgCisgICAgNzQwMDMsIDY0OTAsIDAsIDEyMDM4LCAwLCAwLCA2ODIyNSwgNjU0NjEsIDk3OTgsIDY5NzA0LCAwLCAxOTQ4LCA2OTg0MSwgCisgICAgMCwgOTUyLCAxMjgyMzUsIDEyNTEwNywgMCwgMTIwODAyLCA2NDQ5LCA5NDk0LCAxMjAzMTMsIDAsIDQzMDk4LCA0ODQzLCAKKyAgICA4MTQyLCA2NDE2MCwgNDA5OCwgNjQxNzAsIDk4MzMzOSwgMCwgMzQzNiwgMTE5OTczLCAwLCAxMjgxNywgNjc1OTcsIDY2NzYsIAorICAgIDM5MzAsIDQyNjE1LCAwLCA2OTk5MSwgNjc1OTgsIDAsIDAsIDAsIDY1NTkxLCA0MTU4MSwgNjU5MTYsIDE0NTMsIDAsIDAsIAorICAgIDEyNzg1OSwgODUwMCwgNDIyMjIsIDEyMDE0MiwgNzM3NDMsIDEyMDQwMCwgNDMxNywgMTE1NDMsIDY3Njc2LCA2NDY3NiwgMCwgCisgICAgMTI3ODMzLCA2NzYwNiwgMTE5MDgzLCAxMjc4OTIsIDQyMjE3LCAxMzEwMiwgMCwgNjYwMDMsIDY2NzIsIDAsIDAsIDY2ODgwLCAKKyAgICA5ODM3NDcsIDYzODQxLCA5NjEzLCA5MDAxLCA0NTI2LCAxMTI3NCwgNjc2MDEsIDY0NTIwLCA2NDIxMCwgNjY2NCwgNzg3MDQsIAorICAgIDQyMDU2LCAxMDIyOCwgNjQ5NTcsIDExMjgxLCAwLCAzODA3LCAxNDY5LCA2NjY0MCwgNjUzODEsIDQyMTk3LCA0OTg4LCAKKyAgICA0MjM3MiwgMCwgOTU5OCwgOTA0LCAzNTIsIDQyMjI1LCAxNDUxLCA4MDYxLCA4NDUzLCA0MTM0LCAxMjcwNTIsIDY3MjIzLCAKKyAgICA2NjU3NiwgMTI3OTE2LCAxMjc4MzEsIDEwNTIwLCA4NTc1LCA5OTYwLCAxMjAxLCAxMjcyODksIDEyODQ2LCAxMjcyOTEsIAorICAgIDEyNzI5MiwgMTE5MTksIDY0OTYyLCAxMjcyODcsIDQzNzM5LCAxMjcyODEsIDg1MTEsIDk0NjAsIDgyMywgMTE1ODcsIAorICAgIDEyMzA1LCAwLCA2NDY5NSwgMTI3MzA1LCAxMjM4NywgMTI1MywgMTMxODMsIDY1NzY2LCA1MDAsIDQyNzgzLCA2NTc2NSwgCisgICAgNjQyMDgsIDY0MzY5LCA2NTc2MCwgNjU3NjEsIDcwMzM0LCAxMTYwNiwgNjQ3ODQsIDExNzAyLCA2NjQ5OCwgOTgyMSwgCisgICAgNjQzMDQsIDAsIDUxNTIsIDExMDQ4LCA3NTMzLCA2ODM2NiwgNjQ0MTAsIDkyMzA1LCAwLCA0MzIzLCAxMjAwNjIsIDkyNjY5LCAKKyAgICA3MTMzMiwgMTIwMTU4LCA0MjU4NywgNDIyMTQsIDQxMzk0LCAxMTE4OCwgNDc2MywgNDExMiwgMTE4OTM1LCAwLCA1MjYwLCAKKyAgICA0MzE0MywgOTQwMzgsIDMyNiwgMTIwMTMxLCA2ODQyMywgMTk0OTA0LCAxMDc3MSwgMjg3NiwgNzQwNzQsIDkyNTMwLCAKKyAgICAxMjg0NjAsIDQxMzk4LCA3MzgyLCA5ODAyLCAxMjcwNzcsIDEyNzA3NiwgNDUzLCA0MTM5NiwgMTIwNTI0LCAxMzE1OSwgCisgICAgMTIxNDAsIDk1NzIsIDAsIDcwMDMsIDE5NDg4MywgNDIzMzQsIDc3MDQsIDEyNTA2OSwgMTI1MDIwLCA0MzE0NCwgNDEyMywgCisgICAgODQ5NCwgNDMxNDYsIDk5NzcsIDAsIDEyNjQ3MywgNjU3NTksIDEwNzY1LCA2NDA2MSwgNDQ2NSwgOTgwOCwgNjQwNTYsIAorICAgIDY1NTgyLCA0MTI2LCAwLCA5NTIxLCA5NTg5LCA2NDc1NSwgMCwgNjQwMjAsIDEyNjYwNCwgMTA0NjQsIDAsIDkyOTY4LCAKKyAgICAxOTQ4NjksIDY0NTE0LCAxMTUyOCwgNjQwMjQsIDEyODA3MiwgNjc5LCA2NDAxMywgOTgzNTU1LCA1ODUwLCA3NTgsIDc1MzYsIAorICAgIDEyODY2MywgOTIyMzQsIDQxNDQxLCAxMDY5MywgNjQwMDYsIDk4MzU2NywgNjQwMDUsIDQwNTgsIDExOTAxOSwgMTI2NDg3LCAKKyAgICA2NDY2MCwgMTI4MTc2LCAxMTkwNTAsIDAsIDk4MzA2OSwgMTEzOSwgNDMyOTgsIDY0MDI3LCA2NDAyOSwgODk3MCwgMCwgCisgICAgOTkzNCwgMTI4Njg1LCAxMDc3NCwgNjcxMDQsIDQyMjAxLCAxMjQyMSwgMTI4MjE2LCAwLCAxODUyLCAzMDU3LCA2NDA0NiwgCisgICAgNzM3NDQsIDY0MDM0LCA2NDAzOSwgMTI5MTI3LCAwLCAwLCAxOTQ4OTksIDkyMzIyLCA3NjQ1LCAxMjg1NCwgNzQzMzgsIAorICAgIDM0OTYsIDAsIDAsIDExMzcxMCwgOTEwMiwgNjI3LCAxMjc3OTUsIDYxNTgsIDgzMjcsIDc0NTUzLCA2NjYzMiwgMTI0MTksIAorICAgIDEzMzA5LCAxMTU3MCwgMTI3ODExLCAxOTk2MCwgMTE2OTYsIDAsIDEwMTgsIDExODk3MCwgMTI5MDc1LCAxOTQ4OTcsIAorICAgIDE2ODIsIDQzODYzLCAxOTQ5MTEsIDQyNzU2LCA2NzY1LCAxOTQ5MDYsIDY3NzE3LCA3NDM1OCwgNzM4MTQsIDExNDEyLCAKKyAgICA2NzY4LCAxMDcyOCwgMTE5OTgyLCA3MTMxNiwgNzEwOTksIDQzMzExLCA2NDk2NiwgMTE1NzcsIDAsIDQzMDQwLCAxODMzLCAKKyAgICAxMTU3NiwgMCwgNzQ3NzksIDAsIDE4NSwgNjUwODUsIDc0NTMzLCA2NDc1NCwgMTE5MzM0LCA3NTM1LCA4MDg1LCA0MjUyNSwgCisgICAgMTIwMzg3LCA5NzQ5LCA0MTcwMSwgNjEzMSwgMTk0OSwgNDExNywgNzg0NywgMTIwNDg5LCAxMjQ5OTIsIDY0NDgzLCAKKyAgICA2NTY5MywgOTgzNzExLCAwLCAwLCA2OTY5NSwgNDIyNDAsIDEyODU4NywgMTI2NjUxLCA0Mjg2NCwgMTI2NDk4LCA0MzE2OCwgCisgICAgNDE4NjgsIDExODQsIDAsIDgxNSwgMTE0ODQsIDEyNzUzNSwgNjc4NDAsIDk4MzY1MSwgMCwgNjYxOTcsIDk4MzQ3MiwgCisgICAgMTA5ODYsIDY0NjgzLCA5ODM3ODUsIDEyODQ1NCwgMzQ1NSwgMCwgMCwgOTg3OSwgMCwgMCwgNDE1OCwgMTI4MDUwLCAKICAgICA2ODE2NiwgMCwgMCwgMCwgMCwgNjk2NDUsIDMzMiwgMTE4ODA4LCAwLCA1MTQyLCAyNDA3LCA2OTY0MywgNDIxOTksIDAsIAotICAgIDkyNDA0LCA3NDM3MywgMCwgNTUyMTcsIDAsIDYzODcwLCA0MzE2MywgMCwgMCwgOTIzOTAsIDQyODY3LCAxODM0LCAwLCAKLSAgICA5MjQ2MSwgNjk4MTcsIDEwOTQwLCA2NTI0OSwgMTE5MDQwLCA4NjYyLCAwLCAwLCAyNjUyLCAxMjA1MjcsIDcxNjQsIAorICAgIDkyNDA0LCA3NDM3MywgMCwgNTUyMTcsIDkyNDM2LCA2Mzg3MCwgNDMxNjMsIDAsIDAsIDEyOTg1LCA0Mjg2NywgMTgzNCwgMCwgCisgICAgOTI0NjEsIDY5ODE3LCAxMDk0MCwgNjUyNDksIDcwMzg1LCA4NjYyLCAxMjAzMjQsIDAsIDI2NTIsIDEyMDUyNywgNzE2NCwgCiAgICAgMTA3ODQsIDE5NTA5MywgNjc2NzQsIDAsIDkyMjMzLCA5MjQ4MiwgMTk0NzQ5LCA3NDU2MiwgOTE3NTA1LCAxODI4LCAKLSAgICA3NDQ3NCwgMTIwMzI3LCA3ODYyMCwgODUzMSwgMTI0OTksIDYyODAsIDEyMzI0LCAxMTg4NTQsIDY1MjM4LCA2ODM3NCwgCi0gICAgNDgzMiwgNjU1NzMsIDAsIDYyNzksIDEyNTA4LCAxMjkwNCwgMTI1MDIsIDkxNjEsIDAsIDE2MjAsIDY0NDM2LCAzNjAxLCAKLSAgICAxOTUwOTQsIDEyODA3MywgOTgzNTYyLCA2MDksIDExNTU1LCA5ODMwOTksIDEyNDk2LCAxMjc4MzksIDc0MTgxLCA0MzQzLCAKLSAgICAxMjUwNSwgMCwgMTI3ODYzLCAwLCAxMTM3NywgMjM5LCAwLCA2MzcsIDAsIDAsIDQyNjcxLCAwLCAwLCAwLCA0MzU2NSwgCi0gICAgNzEzMDYsIDEyNjQ5MywgMTI2OTYsIDEyODI1NiwgMCwgOTQwNjIsIDEyOTI5LCAwLCA3MTIsIDAsIDQxOTcsIDk4MzIwNiwgCi0gICAgNDI4MTgsIDEyNjYzMiwgMCwgMTIwNDkwLCAwLCAxMTkxMzcsIDE1MDYsIDQzNTYyLCAwLCA5MjQ5MSwgMCwgMTI2NTEsIDAsIAotICAgIDY0NjI4LCA3NDUxNywgMTIwNTgsIDc0MDg0LCA5MTc4MzgsIDc0OTQsIDAsIDQ5MjQsIDY1NTkyLCAxMTg4NDQsIDAsIAotICAgIDEyNzA4OCwgMzU1LCA5NzE5LCAxMjcwODcsIDEzMDY2LCA2NDc5NiwgMCwgMCwgMTIwMzMsIDQyMTc4LCAwLCA2OTc2MCwgCi0gICAgNDI1NzEsIDkyNjM1LCAwLCAwLCAwLCAwLCAwLCAxMjcxNzYsIDMxNzgsIDAsIDAsIDkyNzA0LCAwLCA5MDgwLCAxMjcwMDAsIAotICAgIDEyMDM1MiwgMCwgNjgyMDksIDAsIDExMDgyLCAwLCA1Njk5LCAxOTUxMDAsIDY2MDAwLCA5NDg4LCA2NTE2NiwgMTE5MTEyLCAKLSAgICAwLCAwLCAwLCAwLCA3MTMxMywgMCwgNTI2NSwgNjkyMzUsIDAsIDExNDg3LCA2Nzg1OCwgMTI0NjQsIDAsIDQzMDQ1LCAwLCAKLSAgICAwLCA0MzM0NSwgMCwgMTA3NzAsIDExODk5NCwgNjgwNywgNDY1LCA5ODI5LCAwLCA3NDM0OCwgMCwgNDMzNDYsIDgxMTYsIAotICAgIDc5NSwgMCwgMCwgMTI0NjIsIDEwOTMwLCAxMDgzMSwgMCwgMTE4OTUyLCA2NDM2MiwgNzQzMzQsIDk4MzYwMiwgMTIwODExLCAKLSAgICAwLCAxMjQ2OCwgODYwNywgMTAwOCwgMCwgMTAwOTIsIDE5NTA3OCwgOTE3ODQyLCA2Nzg1NSwgNTUyNTcsIDczNzcxLCAKLSAgICAxNzY2LCAxMTI4MiwgMTE5OTYsIDE4MjAsIDQ1NDcsIDAsIDAsIDAsIDAsIDEzMjIzLCAxMjg2NjUsIDY0NTk1LCAxMjcyOTQsIAotICAgIDAsIDkyMzExLCA0MzQ1LCAxMjYxNiwgMCwgMCwgMCwgNzQ0NjcsIDAsIDAsIDAsIDUzODIsIDAsIDAsIDAsIDExOTA2MCwgCi0gICAgNjQ5NTMsIDU0MDYsIDE5OTIwLCA2OTg5NywgNjY1MTAsIDM1OTAsIDE5NDg2NCwgMTEzMCwgMCwgMCwgNDIwMTYsIDExODIzLCAKLSAgICA0MzAyMywgMCwgMTE4ODk2LCA3NzQyLCAwLCAxMzI4MCwgNzEzMjMsIDkzMjYsIDczODI2LCA1MzEwLCA3NDgxMiwgNzg1ODQsIAotICAgIDkyMjI5LCA4OTU5LCA0MzU4OSwgNjc0NywgNjY3MjMsIDAsIDg1NjgsIDAsIDEyMDQ5NiwgNzM4MTYsIDEyMDgwMywgCi0gICAgOTgzODQ4LCA0MjY3MCwgMCwgMTE2MjEsIDEyNDYwLCAwLCAxMjA2MzEsIDAsIDQzMDYzLCA3NDUxOSwgMTI3MTgyLCAwLCAKLSAgICA3MzkxNywgNzg0MywgNjk3ODMsIDExNjg5LCA1NDEwLCA1NzgzLCAxMDQ2OCwgODQwMywgNTQwMCwgMTE1OTQsIDEyODI0NywgCi0gICAgMCwgMTE4OTkwLCAxMDQ5MSwgNjk4NDIsIDY0NDEyLCAwLCAwLCA1NTg3LCA0Mjg2NSwgNjQ0MDQsIDgyNjgsIDQ5MjMsIAotICAgIDY1MDg2LCA4OTgxLCAxMjM4MiwgNDIxMzMsIDEyMDc1NSwgOTcwNiwgNjk3MzgsIDAsIDY2NjEwLCAxMDQ2MSwgMTIxMDMsIAotICAgIDAsIDg2NDIsIDAsIDQyNzY2LCA5ODM4NjYsIDIyMTAsIDk5ODMsIDAsIDk0MDA5LCAwLCAwLCAwLCA3Mzk4LCA0MTUxNSwgMCwgCi0gICAgMTE4MDIsIDgwNDEsIDE0NjEsIDkxMCwgMTE5MTMzLCAwLCA2NzQ5LCAzNjU4LCA5Mzk2NCwgMTIwNTI1LCAwLCA3NjE3LCAKLSAgICAxOTQ4NDEsIDEyODg4LCAxMjc5ODMsIDY3NjY4LCAxMzE0MywgMCwgOTE5MywgMTEwOTcsIDU3MDMsIDAsIDQxNTE3LCAKLSAgICA0MTUwNCwgNDE1MTksIDEwMDE2LCA2NDMwNSwgMCwgNjU4NjQsIDYyMywgNzgxLCA2NzAsIDEwNjYwLCA1NzY5LCA2MTMsIAotICAgIDc1NDMsIDEyMDI3OSwgNDc3LCA0MTA4MywgOTI1MjEsIDAsIDU5MiwgMTU3OCwgMTI0NTksIDQzNDQ5LCAwLCAwLCA4MjI1LCAKLSAgICAwLCA2NTQsIDExMzQ1LCA2NTMsIDY1MiwgMCwgNjQ3LCAwLCA2MzMsIDEyMDc0NCwgMCwgMTI2NDcyLCAxMjQ4MCwgNDMyNDMsIAotICAgIDAsIDM5LCAxMjQ4NywgMCwgMTIwNTI5LCA3NDE5OSwgMTI0ODIsIDAsIDEyNDg5LCAwLCAzMTk1LCA1NTUwLCA5ODM1NTQsIAotICAgIDc4OTcsIDAsIDEyMDMsIDc0Mzk2LCAxODEzLCA2NDU0NCwgNDEzMTEsIDEyMDkwLCAwLCAyODc3LCAwLCAwLCAxNjc1LCAKLSAgICA2OTg0MCwgMCwgMCwgMCwgMTAwNzAsIDEwNTk1LCAwLCAxMTkwNzcsIDE5NDc3NywgOTgzNjExLCAwLCAwLCAwLCA0MzI0NCwgCi0gICAgMCwgMCwgOTgzOTE2LCAxMTk1NjEsIDk4MzA3OCwgMCwgMTk0OTIxLCAxMjgxNjAsIDk5MzksIDAsIDk4MzE1MSwgNzc4NjAsIAotICAgIDAsIDAsIDI3MCwgMCwgMTA3MTQsIDAsIDAsIDAsIDAsIDAsIDY1MzcyLCAwLCA3NDAzOCwgMTE5NTU4LCA2MjczLCA2NjY3OSwgCi0gICAgMzY0LCA5NTk1LCAxOTQ5MDgsIDAsIDAsIDcwNywgMCwgMCwgOTI4MiwgNjY0ODksIDIyNCwgMCwgNjg2NzAsIDkzMzIsIAotICAgIDQ5NjYsIDY4Njc3LCAwLCA2ODY0NCwgMCwgMzg0MSwgNjg2MzQsIDAsIDEwNzMyLCA2ODY0MCwgODUwLCA0OTcyLCAwLCAKLSAgICAxMjg5MCwgMjkwOSwgNjg2MTksIDQ0MDA4LCA2ODYyNywgOTgzNzE4LCAxMTU0NCwgMTAyMDMsIDk2MDgsIDAsIDAsIAotICAgIDExOTYyLCAxOTQ2OTQsIDEyNTA3LCAxMTk2LCAxMjg2ODcsIDEyODMxMSwgNzc3LCAxMjAxODcsIDQzNzUsIDY1MjcxLCAKLSAgICA2NzY3OCwgMCwgMTIxOTgsIDAsIDY0ODI0LCAxMTkzNDMsIDk4MzIzNiwgOTQ1NCwgNjM3NzgsIDg2NTgsIDQyNTI4LCAKLSAgICA3ODAwMCwgMjcwNSwgOTE3OTc1LCA0MTUyMCwgMCwgMCwgMTE5ODYsIDc3NjUsIDQyNTAyLCA4MjgwLCA3NDUyMCwgMjcwMSwgCi0gICAgMCwgMTI3MDAyLCA1NzY3LCAwLCAwLCA5ODA5LCA4MzUzLCA2Mzc0NywgNjY3MDEsIDYzNzcyLCA5ODM4MTQsIDYzNzQ1LCAKLSAgICAxNzQ4LCA2Mzc3MCwgMCwgMCwgMCwgNjU1NDIsIDYzNzY2LCA1NTI0NCwgMzA2MSwgMCwgNjM3NjQsIDYzNzg3LCA5MDY3LCAKLSAgICA2MDk2LCAwLCA3Njk0LCAwLCA3MjU3LCA2Mzc2OCwgMzQ4NSwgMTI5ODcsIDAsIDEyNzUyMiwgMTIwNjI4LCA2MzgwNywgCi0gICAgMTU5MSwgMCwgNjM4NiwgNjM3ODMsIDAsIDAsIDkyNTM1LCAwLCAwLCAwLCA3NDU3NSwgMCwgNjU3MTksIDEzMDgzLCAKLSAgICA2NDU3NCwgNjUwMTIsIDAsIDE2NDAsIDEyNDk1LCA2NjY5MSwgNzYyNCwgMzEzOCwgMTA5OTYsIDkyMjQ3LCAxOTIyLCAwLCAKLSAgICAxMjQ5OCwgMTA5ODcsIDY5OTM2LCA2OTkzOSwgMzg5NCwgNjU1NDMsIDAsIDE5NDg0MiwgOTgzNTg4LCA0OTMsIDAsIAotICAgIDQzMTk3LCAxNzE3LCA0MjI4LCA0NzksIDEwMzAzLCA3NDAyMCwgMCwgOTE3OTM1LCAxMDMzNSwgMzUyMCwgOTE3OTMyLCAKLSAgICAxMjQ5MCwgNjQzMTUsIDAsIDEyNzAzOSwgMTI0OTMsIDYyMzMsIDQyNjgxLCAxMDAyLCAxMjQ5MSwgMCwgNjQ5MTEsIAotICAgIDkyNjE1LCAyMDk2LCA2NTEyMCwgMCwgNzgyMTksIDk4MzA4MSwgODM3OCwgMTE2MzIsIDEyNzA0MSwgNjYyMTMsIDYzODY0LCAKLSAgICA2NjIyMSwgNjYyMjYsIDY2MjI5LCAxMzIxOCwgNjYyMzEsIDY2MjE2LCA4NTA3LCA2NjIzNiwgNjYyMTEsIDY2MjE4LCAKLSAgICA5MjY3MiwgNjYyNDAsIDc4MDQxLCA2NjIzMywgODkyOCwgOTgzNTUyLCA3OTA5LCA2NjIzNCwgMTE2MDUsIDYzNzU5LCAKLSAgICA5ODM2NTQsIDY2MjA4LCA3Mzk5OSwgNjM3OTksIDYzODAzLCAyNDQsIDExNTQyLCAxMjg5OCwgMTI0OTQsIDczNzYxLCAKLSAgICAxMjQ5MiwgMTI2NjksIDAsIDAsIDc0MTUzLCAwLCAxMjgyNzgsIDEyMDY4MCwgNDg4MiwgMTMwNDAsIDAsIDg2MTIsIDQ4ODUsIAotICAgIDc0MDUzLCAwLCAxMzA0MiwgNDg4MCwgNjQ2NjIsIDI0MjksIDEzNjAsIDI0OCwgMCwgNjM3OTcsIDkyMzk0LCA0MjM1OCwgMCwgCisgICAgNzQ0NzQsIDEyMDMyNywgNzg2MjAsIDg1MzEsIDEyNDk5LCA2MjgwLCAxMjMyNCwgNzI0MzQsIDY1MjM4LCA2ODM3NCwgCisgICAgNDgzMiwgNjU1NzMsIDQzODUxLCA2Mjc5LCAxMjUwOCwgMTI5MDQsIDEyNTAyLCA5MTYxLCAwLCAxNjIwLCA2NDQzNiwgCisgICAgMzYwMSwgMTI0OTQ0LCAxMjgwNzMsIDY3MjQ2LCA2MDksIDExNTU1LCA5MjQwOSwgMTI0OTYsIDY3MjUwLCA3NDE4MSwgCisgICAgNDM0MywgMTI1MDUsIDAsIDEyNzg2MywgMCwgMTEzNzcsIDIzOSwgMTI5MTkwLCA2MzcsIDAsIDEyODY3OCwgNDI2NzEsIDAsIAorICAgIDkzMDMyLCAwLCA0MzU2NSwgNzEzMDYsIDEyNjQ5MywgMTI2OTYsIDEyODI1NiwgOTE3NjAwLCA5NDA2MiwgMTI5MjksIDAsIAorICAgIDcxMiwgMCwgNDE5NywgOTgzMjA2LCA0MjgxOCwgMTI2NjMyLCAwLCAxMjA0OTAsIDcwMzMzLCAxMTkxMzcsIDE1MDYsIAorICAgIDQzNTYyLCAwLCA5MjQ5MSwgMCwgMTI2NTEsIDAsIDY0NjI4LCA3NDUxNywgMTIwNTgsIDc0MDg0LCA5MTc4MzgsIDc0OTQsIAorICAgIDAsIDQ5MjQsIDY1NTkyLCAxMTg4NDQsIDE5NDgyMywgMTI3MDg4LCAzNTUsIDk3MTksIDEyNzA4NywgMTMwNjYsIDY0Nzk2LCAKKyAgICAwLCAwLCAxMjAzMywgNDIxNzgsIDAsIDY5NzYwLCA0MjU3MSwgOTI2MzUsIDExNDMwLCAwLCAwLCAwLCAxMjQ5NTEsIAorICAgIDY4MzI0LCAzMTc4LCA5MTc4MzUsIDEyODYzMywgOTI3MDQsIDAsIDkwODAsIDEyNzAwMCwgNjc2OTcsIDE5NTEwMSwgCisgICAgNjgyMDksIDcyNDE4LCAxMTA4MiwgMCwgNTY5OSwgMTk1MTAwLCA2NjAwMCwgOTQ4OCwgNjUxNjYsIDExOTExMiwgNzA0NzcsIAorICAgIDExMTcwLCA2ODY2MiwgMTI4MTIwLCA3MTMxMywgMCwgNTI2NSwgNjkyMzUsIDAsIDExNDg3LCA2Nzg1OCwgMTI0NjQsIDAsIAorICAgIDQzMDQ1LCAwLCAwLCA0MzM0NSwgMCwgMTA3NzAsIDExODk5NCwgNjgwNywgNDY1LCA5ODI5LCA2OTk5NywgNzQzNDgsIDAsIAorICAgIDQzMzQ2LCA4MTE2LCA3OTUsIDEyMDM1MiwgNzI0MTIsIDEyNDYyLCAxMDkzMCwgMTA4MzEsIDAsIDExODk1MiwgNjQzNjIsIAorICAgIDc0MzM0LCA5MzA1NiwgMTIwODExLCAwLCAxMjQ2OCwgODYwNywgMTAwOCwgMCwgMTAwOTIsIDEyNTEyMiwgOTE3ODQyLCAKKyAgICA2Nzg1NSwgNTUyNTcsIDczNzcxLCAxNzY2LCAxMTI4MiwgMTE5OTYsIDE4MjAsIDQ1NDcsIDAsIDExMjAyLCA5ODMyMjIsIAorICAgIDk4Mzg3MiwgMTMyMjMsIDEyODY2NSwgNjQ1OTUsIDEyNzI5NCwgMCwgNjg0ODksIDQzNDUsIDEyNjE2LCA5MTc3ODQsIAorICAgIDEyODk0NywgOTgzMTU1LCA3NDQ2NywgMCwgMCwgMCwgNTM4MiwgMCwgMCwgNjcyMzMsIDExOTA2MCwgNjQ5NTMsIDU0MDYsIAorICAgIDE5OTIwLCA2OTg5NywgNjY1MTAsIDM1OTAsIDE5NDg2NCwgMTEzMCwgOTE3NzY2LCAxOTQ2OTIsIDQyMDE2LCAxMTgyMywgCisgICAgNDMwMjMsIDEyNTEyOSwgMTE4ODk2LCA3NzQyLCAwLCAxMzI4MCwgNzEzMjMsIDkzMjYsIDczODI2LCA1MzEwLCA0MzUwOSwgCisgICAgNzg1ODQsIDkyMjI5LCA4OTU5LCA0MzU4OSwgNjc0NywgNjY3MjMsIDY0NzU3LCA4NTY4LCAxOTQ2ODQsIDEyMDQ5NiwgCisgICAgNzM4MTYsIDEyMDgwMywgOTgzODQ4LCA0MjY3MCwgMCwgMTE2MjEsIDEyNDYwLCAxMzI2LCAxMjA2MzEsIDk4MzMzNCwgCisgICAgNDMwNjMsIDQzMjM5LCAxMjcxODIsIDE5NDg0MCwgNzM5MTcsIDc4NDMsIDY5NzgzLCAxMTY4OSwgNTQxMCwgNTc4MywgCisgICAgMTA0NjgsIDg0MDMsIDU0MDAsIDExNTk0LCAxMjA0MDUsIDY4MzMzLCAxMTg5OTAsIDEwNDkxLCA2OTg0MiwgNjQ0MTIsIDAsIAorICAgIDAsIDU1ODcsIDQyODY1LCA2NDQwNCwgODI2OCwgNDkyMywgNjUwODYsIDg5ODEsIDEyMzgyLCA0MjEzMywgMTIwNzU1LCAKKyAgICA5NzA2LCA2OTczOCwgMCwgNjY2MTAsIDEwNDYxLCAxMjEwMywgMCwgODY0MiwgMTk0NzA3LCA0Mjc2NiwgMTI4MjQ3LCAKKyAgICAyMjEwLCA5OTgzLCAwLCA5NDAwOSwgMCwgMCwgMCwgNzM5OCwgNDE1MTUsIDAsIDExODAyLCA4MDQxLCAxNDYxLCA5MTAsIAorICAgIDExOTEzMywgMCwgNjc0OSwgMzY1OCwgOTM5NjQsIDEyMDUyNSwgMCwgNzYxNywgMTk0ODQxLCAxMjg4OCwgMTI3OTgzLCAKKyAgICA2NzY2OCwgMTMxNDMsIDAsIDkxOTMsIDExMDk3LCA1NzAzLCA5ODM0NzUsIDQxNTE3LCA0MTUwNCwgNDE1MTksIDEwMDE2LCAKKyAgICA2NDMwNSwgMCwgNjU4NjQsIDYyMywgNzgxLCA2NzAsIDEwNjYwLCA1NzY5LCA2MTMsIDc1NDMsIDEyMDI3OSwgNDc3LCAKKyAgICA0MTA4MywgOTI1MjEsIDAsIDU5MiwgMTU3OCwgMTI0NTksIDQzNDQ5LCAwLCAwLCA4MjI1LCAwLCA2NTQsIDExMzQ1LCA2NTMsIAorICAgIDY1MiwgMCwgNjQ3LCAwLCA2MzMsIDEyMDc0NCwgMCwgMTI2NDcyLCAxMjQ4MCwgNDMyNDMsIDAsIDM5LCAxMjQ4NywgMCwgCisgICAgMTIwNTI5LCA3NDE5OSwgMTI0ODIsIDAsIDEyNDg5LCAxMTk2MDcsIDMxOTUsIDU1NTAsIDEyOTEyMSwgNzg5NywgMTI3MDg5LCAKKyAgICAxMjAzLCA3NDM5NiwgMTgxMywgNjQ1NDQsIDQxMzExLCAxMjA5MCwgOTgzNjM0LCAyODc3LCAxMjgzOTQsIDcwNDk2LCAKKyAgICAxNjc1LCA2OTg0MCwgMCwgMCwgMTE5MDc4LCAxMDA3MCwgMTA1OTUsIDAsIDExOTA3NywgMTk0Nzc3LCA5ODM2MTEsIAorICAgIDY3MTcwLCAxMjA3OTAsIDExODc4NywgNDMyNDQsIDAsIDAsIDk4MzkxNiwgMTE5NTYxLCA5ODMwNzgsIDE5NDkxNCwgCisgICAgMTk0OTIxLCAxMjgxNjAsIDk5MzksIDAsIDk4MzE1MSwgNzc4NjAsIDEyODk0OCwgMCwgMjcwLCAwLCAxMDcxNCwgMTE4OTgzLCAKKyAgICA3MjQzNywgMCwgMCwgMTE5MzM4LCA2NTM3MiwgNzM4MDMsIDc0MDM4LCA2ODI1MSwgNjI3MywgNjY2NzksIDM2NCwgOTU5NSwgCisgICAgMTI3MTM3LCAwLCAwLCA3MDcsIDAsIDEyODQwOSwgOTI4MiwgMTExNjMsIDIyNCwgMTI4NTg4LCA2ODY3MCwgOTMzMiwgCisgICAgNDk2NiwgNjg2NzcsIDAsIDY4NjQ0LCA5ODMxMzEsIDM4NDEsIDY3MzU3LCA2NzM0MSwgMTA3MzIsIDY4NjQwLCA4NTAsIAorICAgIDQ5NzIsIDAsIDEyODkwLCAyOTA5LCA2ODYxOSwgNDQwMDgsIDY4NjI3LCAxMjA2OTksIDExNTQ0LCAxMDIwMywgOTYwOCwgMCwgCisgICAgOTE3OTQzLCAxMTk2MiwgMTk0Njk0LCAxMjUwNywgMTE5NiwgNjc2ODQsIDY3MTAwLCA3NzcsIDEyMDE4NywgNDM3NSwgCisgICAgNjUyNzEsIDY3Njc4LCAwLCAxMjE5OCwgOTE3ODg3LCA2NDgyNCwgMTE5MzQzLCAxMjcyNDMsIDk0NTQsIDYzNzc4LCA4NjU4LCAKKyAgICA0MjUyOCwgNzAwNzMsIDI3MDUsIDEyODY4MCwgNDE1MjAsIDE5NTA5OCwgMTI4NDQ3LCAxMTk4NiwgNzc2NSwgNDI1MDIsIAorICAgIDgyODAsIDc0NTIwLCAyNzAxLCAwLCAxMjAyNDAsIDU3NjcsIDAsIDAsIDk4MDksIDgzNTMsIDYzNzQ3LCA2NjcwMSwgCisgICAgNjM3NzIsIDk4MzgxNCwgNjM3NDUsIDE3NDgsIDYzNzcwLCAwLCAxMjkxMzcsIDAsIDY1NTQyLCA2Mzc2NiwgNTUyNDQsIAorICAgIDMwNjEsIDc4NjA5LCA2Mzc2NCwgNjM3ODcsIDkwNjcsIDYwOTYsIDAsIDc2OTQsIDAsIDcyNTcsIDYzNzY4LCAzNDg1LCAKKyAgICAxMjk4NywgMTI3NzgxLCAxMjc1MjIsIDEyMDYyOCwgNjM4MDcsIDE1OTEsIDAsIDYzODYsIDYzNzgzLCAwLCAxMjUwNDEsIAorICAgIDkyNTM1LCAwLCAwLCA2ODI0OSwgNzQ1NzUsIDAsIDY1NzE5LCAxMzA4MywgNjQ1NzQsIDY1MDEyLCA5ODM5NTgsIDE2NDAsIAorICAgIDEyNDk1LCA2NjY5MSwgNzYyNCwgMzEzOCwgMTA5OTYsIDExMTcxLCAxOTIyLCAwLCAxMjQ5OCwgMTA5ODcsIDY5OTM2LCAKKyAgICA2OTkzOSwgMzg5NCwgNjU1NDMsIDEyOTE4MywgMTk0ODQyLCA5ODM1ODgsIDQ5MywgMCwgNDMxOTcsIDE3MTcsIDQyMjgsIAorICAgIDQ3OSwgMTAzMDMsIDc0MDIwLCAwLCA5MTc5MzUsIDEwMzM1LCAzNTIwLCA5MTc5MzIsIDEyNDkwLCA2NDMxNSwgOTIxNzAsIAorICAgIDEyNzAzOSwgMTI0OTMsIDYyMzMsIDQyNjgxLCAxMDAyLCAxMjQ5MSwgMTEzNjk1LCA2NDkxMSwgOTI2MTUsIDIwOTYsIAorICAgIDY1MTIwLCAwLCA3ODIxOSwgMTI4OTEyLCA4Mzc4LCAxMTYzMiwgMTI3MDQxLCA2NjIxMywgNjM4NjQsIDY2MjIxLCA2NjIyNiwgCisgICAgNjYyMjksIDEzMjE4LCA2NjIzMSwgNjYyMTYsIDg1MDcsIDY2MjM2LCA2NjIxMSwgNjYyMTgsIDkyNjcyLCA2NjI0MCwgCisgICAgNzgwNDEsIDY2MjMzLCA4OTI4LCA5ODM1NTIsIDc5MDksIDY2MjM0LCAxMTYwNSwgNjM3NTksIDk4MzY1NCwgNjYyMDgsIAorICAgIDY3MzM5LCAxMzAwMiwgNjM4MDMsIDI0NCwgMTE1NDIsIDEyODk4LCAxMjQ5NCwgNzM3NjEsIDEyNDkyLCAxMjY2OSwgMCwgMCwgCisgICAgNzQxNTMsIDEyMDMxMCwgMTI4Mjc4LCAxMjA2ODAsIDQ4ODIsIDEzMDQwLCAwLCA4NjEyLCA0ODg1LCA3NDA1MywgMCwgCisgICAgMTMwNDIsIDQ4ODAsIDY0NjYyLCAyNDI5LCAxMzYwLCAyNDgsIDEyOTA2NiwgNjM3OTcsIDkyMzk0LCA0MjM1OCwgMCwgCiAgICAgNzI5MiwgMCwgNjM3NTYsIDQyNzg2LCA2NjY5MywgMCwgMTg3MCwgNzgwNDAsIDQ3MCwgNzgwMzgsIDc4MDM1LCA3ODAzNiwgCi0gICAgNzAwMjgsIDc4MDM0LCA0NTc5LCAxMjgwOTAsIDAsIDEyNTExLCA3NDQ1MywgMTI1MTQsIDAsIDc0NTc5LCA3MjM5LCA3MDAxLCAKLSAgICA4NjIzLCA5NDAxMSwgMTI4MDUyLCAxMjgwNDgsIDczNzgsIDEyNTEyLCAxMTYxNSwgNjEwNCwgMCwgMCwgNjU5LCA2MDk4LCAKLSAgICAwLCAxMjIzNCwgMTI3MzA3LCAxMjcwNjcsIDgzMTEsIDEyNTEwLCA0MTgwMywgMTMwMzksIDEyNzA3MiwgMTI1MTMsIAotICAgIDEwMjAyLCAxMjQ3MSwgMCwgODc0NywgOTgzOTIwLCAwLCAwLCAyMzIzLCAwLCAyMzE5LCA3NzkxNywgMTI0NzcsIDc3OTE2LCAKLSAgICAyMzExLCAwLCA0NDE1LCAyMzcsIDYyODEsIDEyNzI4MCwgMCwgMCwgMjMwOSwgMTMxMiwgODE3MywgMTI4ODcxLCAxMjQ2OSwgCi0gICAgMCwgNzg1MDUsIDY0MzM1LCAxMDYwOSwgMCwgMTI4MTExLCA5Mzk3LCAxMTUyNCwgOTM5NSwgOTM5NiwgOTM5MywgOTM5NCwgCi0gICAgOTM5MSwgOTM5MiwgOTM4OSwgNjIwOSwgOTM4NywgOTM4OCwgNDkzMiwgOTM4NiwgOTM4MywgOTM4NCwgNjc0MCwgMCwgCi0gICAgNjU0NTEsIDgxODUsIDAsIDkxNzgzMiwgNDMwMjQsIDQzMzM2LCA2NzY1OSwgMjMxMywgMTI4MTY3LCA3OTQ4LCA5MjM2LCAKLSAgICA5MjU3MSwgMCwgMCwgMTA1NzAsIDQzNDczLCA2Mjg5LCAxMDQ4NCwgMCwgMCwgMTE5OTgsIDEyMDgyLCAxMDkyNCwgMzE0NywgCi0gICAgMCwgMTIwNjg0LCAxMjUyNCwgMTE5MDgxLCAyMzEwLCAxMTgxOCwgOTM4MSwgOTM4MiwgOTM3OSwgOTM4MCwgOTM3NywgCi0gICAgOTM3OCwgOTM3NSwgOTM3NiwgMTY4MywgOTM3NCwgOTgzNzc4LCA5MzcyLCAxMjQ0NCwgMCwgMCwgMTMwMTYsIDgyMTAsIAotICAgIDk4Mzk1OCwgNDIwMjksIDExMDc5LCAxMjMzMSwgNDM0NTEsIDQyMDMyLCA4NzQ0LCA3MjYsIDAsIDk4MzgzNywgNDE1NSwgMCwgCi0gICAgMCwgNDIwMzAsIDUwMDcsIDEyNTIyLCA0MzA4OCwgMCwgNDk1MSwgMTI3ODA1LCAxMjcyNDAsIDAsIDk5MjIsIDQzMzA5LCAKLSAgICA5ODM4NDEsIDEyNTI1LCA5ODM0NzEsIDEyMDE2LCA2NTc3MCwgOTU0OCwgNjc2NjUsIDQwMywgNzgyMzAsIDEyNTAzLCAwLCAKLSAgICAwLCAxMTAzMCwgMCwgOTI1NjcsIDY1NjkxLCA2Mzk5OCwgMTgxOSwgMTA0OTYsIDAsIDAsIDExOTkyMCwgMCwgMTk0NjY4LCAKLSAgICAwLCAxMjUwNiwgMCwgMTIyMzEsIDAsIDEyNTAwLCA0NDAyMywgMTI1MDksIDY0MzkzLCA3ODgzMCwgMzM4OSwgMTA1ODksIAotICAgIDY2MDgsIDQxMDQ3LCAxMjAzMjEsIDc4Mzk1LCA3ODM5NCwgNzQwNjksIDc3OTk1LCA3ODM5MSwgMzYwOCwgODI4MSwgCi0gICAgMTIwMzIwLCAxMTA3LCAwLCA5MDc2LCA4ODYyLCA2OTc0MywgNDEwNTIsIDEzMDg0LCA2NDc2NiwgNDMyMTcsIDc4MDMsIAotICAgIDEzMjIyLCA3NDE2NSwgNzQ3ODIsIDEyNjUxNCwgODU0NiwgMTE1NTMsIDYzOTk1LCAxMzE3NywgOTA0MywgNjMwMywgCi0gICAgOTgzOTQ3LCA0OTgsIDY0NDcxLCAxMjAzMjQsIDEyODU2NywgMTI1MjksIDgwNDIsIDAsIDIzNDQsIDEyNTI4LCA4MDMxLCAKLSAgICAyNDE0LCAwLCA2OTcxOSwgMzIzMSwgMCwgNjQyMiwgNjY1MTIsIDY5NjUzLCAxMjUzMCwgMjUzNywgNzg0MDUsIDQxNDI5LCAKLSAgICAxMjY1OCwgMTMwMzYsIDY1NzcyLCAwLCA3ODczOCwgNDE0MzMsIDQ3MTksIDQ2OSwgMCwgNDM2MywgMzMxMywgNDE0MjgsIAotICAgIDc4NDA3LCAyMDIzLCAxNzcyLCA3ODIyNCwgNzgyMjUsIDY1NzA2LCAxMDA1MSwgNjQ4MTIsIDc4MjIwLCAwLCA5OTIwLCAKLSAgICAxMjIxNSwgMCwgNDkzMSwgMTk1MSwgMTI0OTcsIDExOTM2MywgOTYwNywgMCwgOTY2MywgOTgzMjI4LCAxMTk2MzQsIDY1MDMsIAotICAgIDQxMTEwLCAwLCAxNDkxLCAwLCAwLCAxMjczMDQsIDQxMDYxLCAwLCAxOTQ4MzgsIDEyNzE4NywgNjUwMjYsIDQxOTkzLCAKLSAgICA0MTUwOSwgMTEwNDUsIDY1MDI4LCA3ODYwMiwgNjY0NzYsIDQxMTA4LCA5NzM4LCA0MTk5NSwgMTA3NSwgMTk1OCwgMTI1MzUsIAotICAgIDQxOTkyLCA0MTUwNiwgMCwgNDE2ODcsIDAsIDEyMDcxNywgMTI3Nzc2LCA5OTQwLCAxMjcyOTksIDc2OTIsIDk4MzgzMywgCi0gICAgODAwOCwgNDExMzEsIDMzMCwgODU2NiwgNjUwODMsIDQxMTMzLCA5ODE2LCAxMjY1MTcsIDEyNTMyLCA3ODU1MCwgNzg1NDYsIAotICAgIDM1MDgsIDEyNzA1OCwgNDMyMzUsIDAsIDEyNzI5OCwgNjQxMzksIDc4MjMxLCA2NDExLCAxMjkxMCwgNzg1NTQsIDY2NjQ0LCAKLSAgICAxMzAyOCwgNjczNywgMTI1MzcsIDAsIDAsIDY0MTM2LCAxMjUzNiwgMjM1MCwgMTMwMjksIDc4MjMzLCAwLCA5ODMxMDMsIAotICAgIDEzMDMwLCA2NzAyLCA0NTI3LCAwLCAxMjUzOCwgMTI4ODEwLCA5ODM2NDUsIDY1NTk5LCA2NTcxNywgOTk2NiwgMCwgNDk0OCwgCi0gICAgMTI0ODQsIDQwMzIsIDEyODE0OSwgMTI2MjMsIDAsIDYyMDcsIDAsIDYxMTcsIDY1OTMwLCA4NDEyLCAwLCA3NDM4LCAxMjk2LCAKLSAgICAyMzI1LCA0MTUxMSwgMTI2NjI1LCAxMDE0OSwgNzQxMTgsIDAsIDEyNzI4NiwgMTI0ODEsIDAsIDEyNDg4LCA2NjcxMywgMCwgCi0gICAgNDE1NTYsIDY0NDE0LCAxMTg4MDIsIDIzNTQsIDQyNjE5LCA3Mzc2NiwgMCwgNjI5NSwgOTAxLCA0MTUxMCwgNzk1MywgMCwgCi0gICAgNjUwMzIsIDQxNTEzLCA5ODMxNjYsIDExOTI3LCA2NjU4NCwgNzg1NTksIDc4NTYwLCA3ODU1NywgNzg1NTgsIDAsIDc4NTU2LCAKLSAgICA4NDgsIDk4NjgsIDAsIDY0MjQsIDc4NTY4LCAxMTkzMzgsIDY5OTIyLCA3NDAzMSwgNzg1NjMsIDc4NTY0LCAyMzUyLCAKLSAgICA3ODU3MiwgODkzLCA2NDU3NiwgMTEyODksIDE0MDcsIDY3OTczLCAwLCAxMzAyNiwgNjc2MiwgNzg1NzksIDc4NTgwLCAKLSAgICAxMzAyMywgODkwMywgOTc3NywgNjY3MTUsIDE4NzEsIDgwOTksIDAsIDAsIDEzNDMsIDk4MzgyMywgMCwgOTMyNSwgNjgxOCwgCi0gICAgNjI4MywgMTE3MzgsIDAsIDk4MzkzNCwgMCwgMTE3NDEsIDAsIDAsIDkyMTYsIDgyNjMsIDExMjc5LCAxOTQ3NTIsIAotICAgIDk4MzgyNSwgMTk0NzU0LCAxMzAyMSwgNjQ0OTQsIDMxMzYsIDE5NDc1OCwgMTk0NzU3LCAxOTQ3NjAsIDEzMDIyLCA0MjczNywgCi0gICAgOTk1NiwgMCwgMCwgNzQ1NTIsIDEwMDE0LCAwLCA0MTI2MCwgMTE5MzQwLCAxMzAyMCwgMTAwMjQsIDE5NDc2NCwgNzQ1ODMsIAotICAgIDc0MzQwLCA2OTY4MSwgMCwgNDMwMDEsIDgwMjksIDAsIDAsIDk4Mzc4MCwgMzMzNSwgMCwgMCwgOTc3NiwgMTIwNTI2LCAKLSAgICAxOTQ3NDgsIDUyMTUsIDQyNjQ0LCAzMzMzLCAxNjMyLCAxOTQ3NTEsIDY0ODQ5LCAzMzQyLCA3ODU4MiwgNTM2MywgMTI5NTcsIAotICAgIDc4NTgxLCA0MTU2LCAwLCAwLCA2NDIxLCA3ODU5MSwgMTYxMSwgNzg1ODksIDEzMDE4LCA3NDI1NywgNzg1ODgsIDc0NTQyLCAKKyAgICA3MDAyOCwgNzgwMzQsIDQ1NzksIDY5MjMyLCAwLCAxMjUxMSwgNzQ0NTMsIDEyNTE0LCAwLCA3NDU3OSwgNzIzOSwgNzAwMSwgCisgICAgODYyMywgOTQwMTEsIDEyNTEzNywgMTI4MDQ4LCA3Mzc4LCAxMjUxMiwgMTE2MTUsIDYxMDQsIDAsIDAsIDY1OSwgNjA5OCwgCisgICAgMCwgMTIyMzQsIDEyNzMwNywgNjczNTgsIDgzMTEsIDEyNTEwLCA3NjY5LCAxMzAzOSwgMTI3MDcyLCAxMjUxMywgMTAyMDIsIAorICAgIDEyNDcxLCAwLCA4NzQ3LCAxMjUwNDksIDcwMTkzLCAxMjgzNTQsIDIzMjMsIDAsIDIzMTksIDc3OTE3LCAxMjQ3NywgCisgICAgNzc5MTYsIDIzMTEsIDc2NjYsIDQ0MTUsIDIzNywgNjI4MSwgMTI3MjgwLCAwLCAwLCAyMzA5LCAxMzEyLCA4MTczLCAKKyAgICAxMjg4NzEsIDEyNDY5LCAwLCA3ODUwNSwgNjQzMzUsIDEwNjA5LCAwLCAxMjgxMTEsIDkzOTcsIDExNTI0LCA5Mzk1LCAKKyAgICA5Mzk2LCA5MzkzLCA5Mzk0LCA5MzkxLCA5MzkyLCA5Mzg5LCA2MjA5LCA5Mzg3LCA5Mzg4LCA0OTMyLCA5Mzg2LCA5MzgzLCAKKyAgICA5Mzg0LCA2NzQwLCAwLCA2NTQ1MSwgODE4NSwgMTI4OTMxLCA5MTc4MzIsIDQzMDI0LCA0MzMzNiwgNjc2NTksIDIzMTMsIAorICAgIDEyODE2NywgNzk0OCwgOTIzNiwgNzc5NDIsIDAsIDAsIDEwNTcwLCA0MzQ3MywgNjI4OSwgMTA0ODQsIDAsIDAsIDExOTk4LCAKKyAgICAxMjA4MiwgMTA5MjQsIDMxNDcsIDAsIDY2NDA2LCAxMjUyNCwgMTE5MDgxLCAyMzEwLCAxMTgxOCwgOTM4MSwgOTM4MiwgCisgICAgOTM3OSwgOTM4MCwgOTM3NywgOTM3OCwgOTM3NSwgOTM3NiwgMTY4MywgOTM3NCwgOTgzNzc4LCA5MzcyLCAxMjQ0NCwgMCwgCisgICAgMCwgMTMwMTYsIDgyMTAsIDEyOTE3OCwgNDIwMjksIDExMDc5LCAxMjMzMSwgNDM0NTEsIDQyMDMyLCA4NzQ0LCA3MjYsIDAsIAorICAgIDkxNzkyMiwgNDE1NSwgMCwgMTIwNzA0LCA0MjAzMCwgNTAwNywgMTI1MjIsIDQzMDg4LCAwLCA0OTUxLCAxMTM4MjYsIAorICAgIDEyNzI0MCwgMCwgOTkyMiwgNDMzMDksIDExMjExLCAxMjUyNSwgOTgzNDcxLCAxMjAxNiwgNjU3NzAsIDk1NDgsIDY3NjY1LCAKKyAgICA0MDMsIDc4MjMwLCAxMjUwMywgMCwgMCwgMTEwMzAsIDAsIDkyNTY3LCA2NTY5MSwgNjM5OTgsIDE4MTksIDEwNDk2LCAwLCAKKyAgICAwLCAxMTk5MjAsIDAsIDEyOTE0MywgMCwgMTI1MDYsIDk4MzgzOCwgMTExNDYsIDEyNzc1MSwgMTI1MDAsIDQ0MDIzLCAKKyAgICAxMjUwOSwgNjQzOTMsIDc4ODMwLCAzMzg5LCAxMDU4OSwgNjYwOCwgMTEyMDgsIDEyMDIzNiwgNzgzOTUsIDc4Mzk0LCAKKyAgICA3NDA2OSwgNzc5OTUsIDc4MzkxLCAzNjA4LCA4MjgxLCAxMTM3MzIsIDExMDcsIDExMzc0NSwgOTA3NiwgODg2MiwgNjk3NDMsIAorICAgIDQxMDUyLCAxMzA4NCwgNjQ3NjYsIDQzMjE3LCA3ODAzLCAxMzIyMiwgNzQxNjUsIDc0NzgyLCA0MzQ5OSwgODU0NiwgCisgICAgMTE1NTMsIDYzOTk1LCAxMzE3NywgOTA0MywgNjMwMywgMTEzNjY0LCA0OTgsIDY0NDcxLCA3Nzk4NywgOTI5NzQsIDEyNTI5LCAKKyAgICA4MDQyLCAwLCAyMzQ0LCAxMjUyOCwgODAzMSwgMjQxNCwgNzQ1MDYsIDY5NzE5LCAzMjMxLCAwLCA2NDIyLCA2NjUxMiwgCisgICAgNjk2NTMsIDEyNTMwLCAyNTM3LCA3ODQwNSwgNDE0MjksIDEyNjU4LCAxMzAzNiwgNjU3NzIsIDAsIDc4NzM4LCA0MTQzMywgCisgICAgNDcxOSwgNDY5LCAwLCA0MzYzLCAzMzEzLCA0MTQyOCwgNzg0MDcsIDIwMjMsIDE3NzIsIDc4MjI0LCA3ODIyNSwgNjU3MDYsIAorICAgIDEwMDUxLCA2NDgxMiwgNzgyMjAsIDAsIDk5MjAsIDEyMjE1LCAxMjc4NzYsIDQ5MzEsIDE5NTEsIDEyNDk3LCAxMTkzNjMsIAorICAgIDk2MDcsIDcwMzY4LCA5NjYzLCA2NjgzOCwgMTE5NjM0LCA2NTAzLCA0MTExMCwgOTgzNDY1LCAxNDkxLCA2Njg0NywgCisgICAgMTI5MTY5LCAxMjczMDQsIDQxMDYxLCA3MDQ1NCwgMTk0ODM4LCAxMjcxODcsIDY1MDI2LCA0MTk5MywgNDE1MDksIDExMDQ1LCAKKyAgICA2NTAyOCwgNzExODEsIDY2NDc2LCA0MTEwOCwgOTczOCwgNDE5OTUsIDEwNzUsIDE5NTgsIDEyNTM1LCA0MTk5MiwgNDE1MDYsIAorICAgIDAsIDQxNjg3LCAwLCAxMjA3MTcsIDEyNzc3NiwgOTk0MCwgMTI3Mjk5LCA3NjkyLCA5ODM4MzMsIDgwMDgsIDQxMTMxLCAKKyAgICAzMzAsIDg1NjYsIDY1MDgzLCA2ODM5LCA5ODE2LCAxMjY1MTcsIDEyNTMyLCA3ODU1MCwgNzg1NDYsIDM1MDgsIDEyNzA1OCwgCisgICAgNDMyMzUsIDEyMDM1MSwgMTI3Mjk4LCA2NDEzOSwgNzgyMzEsIDY0MTEsIDEyOTEwLCA2NzcxMCwgNjY2NDQsIDEzMDI4LCAKKyAgICA2NzM3LCAxMjUzNywgMCwgNDM1MDYsIDY0MTM2LCAxMjUzNiwgMjM1MCwgMTMwMjksIDc4MjMzLCAxMjc3NjMsIDk4MzEwMywgCisgICAgMTMwMzAsIDY3MDIsIDQ1MjcsIDcxMjUwLCAxMjUzOCwgMTI4ODEwLCA5ODM2NDUsIDY1NTk5LCA2NTcxNywgOTk2NiwgCisgICAgMTI4NDk5LCA0OTQ4LCAxMjQ4NCwgNDAzMiwgMTI4MTQ5LCAxMjYyMywgMCwgNjIwNywgMCwgNjExNywgNjU5MzAsIDg0MTIsIAorICAgIDEyNzE4MywgNzQzOCwgMTI5NiwgMjMyNSwgNDE1MTEsIDEyNjYyNSwgMTAxNDksIDc0MTE4LCAwLCAxMjAyMzMsIDEyNDgxLCAKKyAgICAwLCAxMjQ4OCwgNjY3MTMsIDAsIDQxNTU2LCA2NDQxNCwgMTE4ODAyLCAyMzU0LCA0MjYxOSwgNzM3NjYsIDAsIDYyOTUsIAorICAgIDkwMSwgNDE1MTAsIDc5NTMsIDAsIDY1MDMyLCA0MTUxMywgOTgzMTY2LCAxMTkyNywgNjY1ODQsIDc4NTU5LCA3ODU2MCwgCisgICAgNzg1NTcsIDc4NTU4LCAwLCA2NzYwMywgODQ4LCA5ODY4LCA2NzIyMCwgNjQyNCwgNzg1NjgsIDY3MjI2LCA2OTkyMiwgCisgICAgNzAxOTAsIDc4NTYzLCA3ODU2NCwgMjM1MiwgNjcyMTksIDg5MywgNjQ1NzYsIDExMjg5LCAxNDA3LCA2Nzk3MywgMCwgCisgICAgMTMwMjYsIDY3NjIsIDc4NTc5LCA3MDE5MiwgMTMwMjMsIDg5MDMsIDk3NzcsIDY2NzE1LCAxODcxLCA4MDk5LCAxMjc5ODQsIAorICAgIDAsIDEzNDMsIDk4MzgyMywgMTIwNzg0LCA5MzI1LCA2ODE4LCA2MjgzLCAxMTczOCwgMCwgNzI0MzYsIDExMzcxMywgCisgICAgMTE3NDEsIDAsIDkzMDM4LCA5MjE2LCA4MjYzLCAxMTI3OSwgMTk0NzUyLCA5ODM0NTMsIDE5NDc1NCwgMTMwMjEsIDY0NDk0LCAKKyAgICAzMTM2LCAxOTQ3NTgsIDE5NDc1NywgMTk0NzYwLCAxMzAyMiwgNDI3MzcsIDk5NTYsIDAsIDEyNzc4NywgNzQ1NTIsIAorICAgIDEwMDE0LCAwLCA0MTI2MCwgMTE5MzQwLCAxMzAyMCwgMTAwMjQsIDE5NDc2NCwgNzQ1ODMsIDc0MzQwLCA2OTY4MSwgMCwgCisgICAgNDMwMDEsIDgwMjksIDAsIDAsIDk4Mzc4MCwgMzMzNSwgMTE5MzQxLCA5MjA5LCA5Nzc2LCAxMjA1MjYsIDE5NDc0OCwgCisgICAgNTIxNSwgNDI2NDQsIDMzMzMsIDE2MzIsIDE5NDc1MSwgNjQ4NDksIDMzNDIsIDc4NTgyLCA1MzYzLCAxMjk1NywgNzg1ODEsIAorICAgIDQxNTYsIDAsIDEyNzMyOSwgNjQyMSwgNzgwMzksIDE2MTEsIDc4NTg5LCAxMzAxOCwgNzQyNTcsIDc4NTg4LCA3NDU0MiwgCiAgICAgMzMzNywgNDUzNywgNjc4OTUsIDExNzM2LCAwLCA2ODYwOCwgNjQ4MiwgNDIxNCwgNzM3OTAsIDExOTQ1LCAwLCAxMzA0NiwgCi0gICAgODgzOCwgNDI1LCA0MDI1LCAxMDcwOSwgNzg1OTUsIDIxMDgsIDIzOTIsIDEzMDQ3LCAwLCAwLCA2ODE5LCAxMzA0OSwgCi0gICAgNjQ5OSwgOTIyNDMsIDEyNDI0LCA2ODYxNCwgNzM5NDQsIDEzMDUwLCA5OTI0LCAxOTQ3NDUsIDY1MDcsIDEyNzkxOSwgCisgICAgODgzOCwgNDI1LCA0MDI1LCAxMDcwOSwgNzg1OTUsIDIxMDgsIDIzOTIsIDEzMDQ3LCA5Mjc0NSwgMCwgNjgxOSwgMTMwNDksIAorICAgIDY0OTksIDkyMjQzLCAxMjQyNCwgNjg2MTQsIDY1ODI3LCAxMzA1MCwgOTkyNCwgMTk0NzQ1LCA2NTA3LCAxMjc5MTksIAogICAgIDk0MDczLCAxMjgwNjksIDMyNzcsIDg5MjksIDQ5NDcsIDQxMDU1LCAwLCAxOTQ3MjIsIDE5NDcyMSwgMTk0NzI0LCAxMzA0NSwgCiAgICAgNjQ2MjYsIDY2MDM0LCA3NzUxLCAxOTQ3MjcsIDgzNzEsIDE5NDcyOSwgMzk5NywgMTI4MDYsIDg3NjgsIDEzMDQ0LCAwLCAKLSAgICAxMjQyMCwgNDAyNCwgMTk0NzMwLCA0MTA1NCwgMTA3OCwgOTc1NywgNjk3MzYsIDQxMDU3LCAwLCAwLCAwLCAwLCA5ODM3OTEsIAotICAgIDkyMjEwLCA5MjQxMSwgMCwgNDE0OTYsIDAsIDkxNjUsIDE1NzIsIDExOTExLCAwLCAxMTg4NDIsIDIzNDYsIDEzMjcwLCAKLSAgICA4OTU4LCAwLCA5NjQ2LCAzNzczLCA0MzE4MywgNjQwMSwgNTgzMSwgMCwgMCwgMTMwNDMsIDgwNTYsIDkyNDk0LCA2NTY4MSwgCi0gICAgMjA4LCAxMjczODIsIDQxNTE0LCAwLCAwLCAwLCAxMDY5OSwgNjQwOCwgOTIyMjcsIDc4MjUsIDU2NjEsIDAsIDEyMDYzMCwgCi0gICAgMzYwMywgNDExMDksIDIzOTgsIDM1NDgsIDEyNjU5NiwgMCwgMTE5OTMzLCAwLCAzMTE1LCA5OTE4LCAwLCA4Mjk0LCAKLSAgICA0MjkxMiwgMCwgMCwgMTk0NzI2LCA0ODc2LCA2NTgwNCwgMCwgMCwgNDM0NjgsIDk4MzI3NCwgNDE1NTgsIDQxNDcxLCAKLSAgICA3Mzk1MCwgODE1OCwgOTk0NCwgNDE0NzIsIDEyMDI5OCwgMTMwNTEsIDc4Njg5LCAzMTQzLCAxOTQ2NzQsIDY3MDEsIAotICAgIDQxNTU5LCAxODk2LCA2NjI1NiwgMTMwNTIsIDE5NDY4MCwgNTY2NSwgMCwgMTE5MDcxLCA3MDI1LCA2Mzk3NCwgMCwgCi0gICAgNzQzNTIsIDc0MTYxLCA0MTU0LCA5ODYzLCA0MzU1MCwgMTIzMTAsIDU2NjIsIDQyMzgyLCAxNTY0LCA3MzkyNCwgMTEyMSwgCi0gICAgNzgzMTksIDYzOTU5LCAwLCA5OTQyLCAxMzIzMSwgMCwgNjQ3NTIsIDQ3MzIsIDE5NDY2NiwgMTE1OTYsIDExOTkzMSwgCi0gICAgNjUxODcsIDE2MjYsIDYzOTgzLCAxMDExMCwgNjQ3NzIsIDQyMDI0LCA2NDIwLCA0MjAyOCwgMCwgMTA1MDksIDI3OTUsIAotICAgIDQ5MTAsIDE5NDcyOCwgNjkyMzEsIDY0NzUzLCA2Mjc1LCA5Mzk1NywgMTE4ODMwLCA2Mzk3OCwgMTEwNDQsIDMyMjksIAotICAgIDY0MjMsIDQyNzc0LCAwLCAwLCAwLCAxMjgyMywgMjMzMSwgOTE3ODEwLCA3MDg1LCA2MTM3LCAwLCA3NTI0LCAwLCAKLSAgICA5MTc4MDksIDgzNDYsIDAsIDgzMzgsIDEyODMxNSwgNjUwNDMsIDAsIDgyMiwgMTI3OTg0LCA5OTAzLCA2NDcyMSwgNDI3MjIsIAotICAgIDY5ODc3LCAxOTQ2NTksIDc4NjU1LCA3ODY2MSwgMTk0NjYwLCA3ODY2MiwgNDEyNjUsIDUzMTEsIDE3OTUsIDk2NSwgCi0gICAgMTE4NzkxLCAxMDU4NywgNzgwNTUsIDExMjc4LCA3ODYzMiwgMTk0NjQwLCAwLCAxMjk0NiwgMTk0NjQxLCAxMTkzNDEsIAotICAgIDEyMDM0OSwgNjI5NCwgMzE0NCwgMTk0NjQ4LCAxOTQ2NDcsIDY1MDE5LCAxOTQ2NDksIDczOTkwLCAwLCA5ODM5NjAsIDc0OCwgCi0gICAgNDEwNjcsIDIzMzAsIDUzNSwgMzE0OCwgMTIzNzUsIDc4Nzk5LCAxOTQ2MjksIDEwNTU2LCAyNDc1LCAxMjM4OCwgNDg4OSwgCi0gICAgODk2OCwgNjc4NjMsIDM1OTMsIDAsIDAsIDIzNDIsIDAsIDE5NDYzNCwgNjUyMDYsIDQ4OTQsIDE5NDYzNSwgNDg5MCwgCi0gICAgMTk0NjM3LCA5MTc4MDQsIDU4MSwgNDg5MywgOTgzNjE2LCA2NTcxLCA2NTU0NSwgNDg4OCwgNDE1NywgNzgwNDgsIDc4MDQ5LCAKLSAgICA3ODA0NiwgNzgwNDcsIDAsIDEwMTE5LCA2NDE1LCA0Mjg5MywgMCwgNjk3MDIsIDAsIDAsIDExMzc1LCA2NDc0NiwgMjMzMiwgCi0gICAgNzgwNjMsIDQxMiwgNzgwNjEsIDY0OTMyLCA0Mjg4MCwgNDM1ODcsIDAsIDAsIDAsIDAsIDY1MTk3LCA3ODA2NiwgMTIyMDMsIAotICAgIDc4MDY0LCA3ODA2NSwgODkxMywgNjU4NTQsIDQ4NzUsIDY1ODExLCAxMjAzODEsIDEyMDM4OSwgMTE4ODg4LCA5MzQ0LCAKLSAgICA4ODI2LCAxMjAzODYsIDEyMDM5NSwgMTMxMDQsIDc0NzgxLCAxMTk5NywgMTIwMzkzLCA3ODA3NSwgMCwgMzEzNCwgMCwgCi0gICAgNjU2OTYsIDkyMzMxLCAwLCA2NjIxNywgMCwgODMzNCwgMTE5MzQ0LCAwLCAzNDQ5LCAwLCAwLCA3ODQxNCwgNzg0MTMsIAotICAgIDExODk1MCwgNzQwMTEsIDAsIDAsIDAsIDAsIDE5MDgsIDEyMDE2NywgNDMyOCwgMTA3MzQsIDEyNzAxNCwgMCwgMTI3OTE0LCAKLSAgICA3ODA0LCA3ODI3MiwgMTA4MTEsIDYyNTAsIDExMzM5LCA0OTE0LCAxMTM2NywgMCwgNzgwNTQsIDQ5MTcsIDc0NTE2LCAKLSAgICA3NDIwOCwgNjQyODUsIDQ5MTIsIDU0NjQsIDEyNzgzNiwgMTE4ODkzLCAyMzYxLCA3OTcxLCA3ODA3MiwgNzgwNzMsIAotICAgIDU1MjQzLCA3ODA3MSwgMCwgODA4NiwgNzQzMTcsIDY3MDcsIDgzMTksIDIzMTIsIDQwOTc3LCAxMDk2MCwgNDA5NjIsIAotICAgIDgzMDUsIDEyNTczLCA5ODM2MDgsIDQwOTgwLCA5ODM5NjQsIDEzMjAyLCAwLCAxMjU4MiwgNzgyODIsIDk4MzA0OCwgCi0gICAgNjk4NTYsIDQyNDM4LCA1NTIyMSwgNjI4OCwgNzgyODAsIDEyNzk0NiwgNTY1MywgNDI0MDAsIDEwODkxLCA3Njk4LCA1NjU4LCAKLSAgICA3NDA0NSwgNzAwMzksIDAsIDAsIDQ5MTMsIDAsIDk4Mzk1OSwgNzEzMzMsIDQyMzI2LCAxMjgxOTQsIDEyNzI4LCA5MjY4NSwgCi0gICAgNDI0NzgsIDIzMjcsIDAsIDEyNTYzLCA0MjI4NywgMTI3MDUsIDAsIDAsIDEyNTg4LCA4ODIxLCA2MTUzLCAyODY3LCAKLSAgICAxOTQ3MDgsIDY2MzEyLCA2OTgsIDEyODAwNywgMTk0NjA2LCAxMDM1NiwgNzAwMTcsIDE5NDcxMywgNjUxLCAxMjY0MSwgMCwgCi0gICAgMCwgMCwgMCwgNDE1NTIsIDY1MTE1LCA3ODQ2NSwgNzg0NjcsIDc4NDYzLCA3ODQ2NCwgMTI4ODUxLCA3ODQ2MSwgMTk0Njk3LCAKLSAgICA3NDM1NiwgNjQ5NDUsIDQ3MTYsIDQzMjc3LCAwLCA3ODQ3NCwgMTIzNDAsIDEyMDU2OCwgMCwgMTk0NzAwLCA1NTI2NCwgCi0gICAgNDEyMTEsIDEyMDY3NiwgODcwMywgNTQ2MiwgOTE3NjI5LCA5ODM0OTUsIDEwMTAxLCAwLCA3MDA0OSwgODQ3OSwgNDE1MSwgCi0gICAgNDE5MzMsIDAsIDAsIDY2MjU0LCAxMjA4MjEsIDAsIDAsIDEyODY1NCwgMCwgMTE5MTk0LCA3NDA1MCwgOTI3MDEsIDAsIDAsIAotICAgIDAsIDAsIDAsIDEyMjc4LCAwLCAwLCAwLCAyNzAwLCAxMjU3NiwgNzg0MiwgMTI4OTksIDAsIDAsIDI2OTksIDAsIDczODQ1LCAKLSAgICAyOTg1LCA5MjU2OCwgMTI2NDc1LCA5MTc4NDUsIDEyMTkyLCAxMTkzMTQsIDAsIDExOTMxMiwgOTgyNywgMTE5MzEwLCAKLSAgICAxMTkzMTEsIDExOTMwOCwgMTE5MzA5LCAxMTkzMDYsIDExNDgxLCA0MTIxMCwgMTE5MzA1LCAwLCAzNSwgNzg0ODEsIAotICAgIDc4NDgyLCA2NjY5NCwgNjg0NzksIDc4NDc3LCA3ODQ3OCwgNDM1OTYsIDYwOTAsIDY0MjU3LCA3ODEyLCAxMDUzNCwgMCwgCi0gICAgNzg0ODUsIDczODQ4LCA2Nzk3NSwgNDI3MiwgMCwgNDA5NjcsIDQwOTY0LCA5MTc4MjUsIDEyNzA0LCA3ODQ4NywgNDMzMDYsIAotICAgIDAsIDY0NDk3LCAxMjEzOCwgNzkzMCwgMCwgMjI5MiwgNjgyMTYsIDAsIDkxNzgyNiwgNTI0NCwgNDE4OSwgOTQxMDgsIAotICAgIDY3NTk2LCAxMjc1MDQsIDQxODgsIDE4NzksIDAsIDk2OCwgMCwgNDM3NDMsIDAsIDg4NzMsIDIyNzksIDAsIDkxNzgyNywgCi0gICAgNjU1NTUsIDEyNTc0LCAwLCAwLCAwLCA3NDQ5MCwgMTI3MDk5LCA0MzY1NywgMCwgMCwgMCwgNDI2ODIsIDEyNTc4LCAKLSAgICAxMjcyMCwgMCwgNDEyMjcsIDAsIDEyMzQ2LCAxMjcxMDEsIDY0ODQ4LCAwLCAwLCA3MjUxLCAwLCAwLCAxMTg4NTAsIAotICAgIDExOTE0MSwgMTI4NTQ2LCA2NjAxNSwgMCwgOTU5LCA4ODg1LCAxMjU2NCwgNjY0NTcsIDc4ODA4LCA5NDY5LCA5NjMyLCAKLSAgICA5MjMyMywgNzQ3NjEsIDY0MzIzLCAxMjczMzUsIDAsIDAsIDAsIDMxMCwgMCwgNDEyODEsIDEwOTc2LCAwLCA3MTMyNSwgMCwgCi0gICAgNzQyNjYsIDEwMDU0LCA2NDk3LCA4NTc0LCAwLCA5MDEyLCAxOTk1OCwgNzQ0MjAsIDY1MDg5LCAxMzIxNSwgMTI3MzAsIAotICAgIDY1MTYzLCA3NDA0NCwgMzc0LCA0MzE5NSwgODE2LCAxMjAxNjEsIDAsIDAsIDQxOTM0LCA3NDY1LCAwLCAxMjgxNjgsIAotICAgIDk4MzI2OCwgNDcxNSwgNjEwMSwgOTQxMDYsIDQxOTM2LCAwLCA0ODc5LCAwLCA2NTQ0NiwgMCwgMzA3LCAxMjcxNDcsIAotICAgIDk1ODUsIDUzNzQsIDk4MzI2NywgMTI4MDU5LCAwLCAwLCAxMjY2MTgsIDEyMDM5MCwgMCwgNjU1NjcsIDEyMDYxNCwgMTkyOSwgCi0gICAgMCwgMTIxNDIsIDAsIDEyMjM2LCA0MTQxOSwgMTk0NjE4LCAxMjA2MTAsIDEyOTgyLCAxOTQ2MjMsIDUzNzgsIDc4NzkxLCAKLSAgICAxMjg2NzksIDQxNDIxLCAwLCA0NDYyLCAwLCAxMjY1OTksIDEyODA5MiwgODIxLCAwLCAyNDk4LCA1ODAwLCAxMjAxNTcsIAotICAgIDk4MzExNSwgMTc2MCwgMjQyMSwgNDQ2OSwgMjMyNCwgODI4LCAzNjExLCA3ODQwMCwgNzU3LCAxMTg1LCAwLCA3ODc3MCwgCi0gICAgNDM1OTcsIDEwNjI4LCA3NDgwOCwgMTk0NTcyLCA3OTk5LCA0Mzk3MSwgMCwgMCwgMTA2MzQsIDEwOTQyLCA3NzEzLCAyMzQ4LCAKLSAgICAwLCA2NDM3NCwgNDM4MCwgMTk0NjA4LCAxMTkwNDQsIDk5ODIsIDY0MzI0LCA0MTI0MCwgODYyLCA2NTYyNiwgNzg0NjIsIAotICAgIDE4MTAsIDM2NzMsIDUxMzcsIDE5NDYxNywgMCwgNzI3NywgNjU2MjIsIDAsIDc1NjYsIDY0Njg4LCAxOTQ1OTMsIDE5NDU5MiwgCi0gICAgNzgwOTIsIDc0MzU3LCAxOTQ1OTcsIDQ3NDgsIDkyMjI4LCAxOTQ1OTgsIDE5NDYwMSwgNDIyNjAsIDU4NzEsIDExOTA3NSwgCi0gICAgMCwgNzQ1NzYsIDQ0MDE5LCAwLCAxMjgxODksIDM5NjcsIDE5NDYwNCwgMTMxMzcsIDg3NzUsIDEyNzk0NSwgMCwgMjk2MywgCi0gICAgMCwgODQxMCwgNDQ1NCwgNzIzLCAxMjc4ODIsIDk2NiwgNDQ0OSwgOTIzMzAsIDkyMjM4LCAwLCA3ODE5LCAyMzIwLCAKLSAgICAxOTQ1ODksIDMzOSwgNDk2OCwgMTk0NTkwLCAxMjAzOTksIDgwNzUsIDU1Mjc2LCAwLCA4MDQ3LCAwLCA3ODgyNywgMTI2MzQsIAotICAgIDQxNTQyLCA3ODc4MCwgNzQ2NiwgNjcwNSwgMTIxNzQsIDQyNjEwLCAwLCA3NDQ1MiwgOTgzNzYzLCAxNTg0LCA2NjY0NSwgCi0gICAgNjA0NSwgNjcyOSwgMTIwNjQwLCA2NTIxOCwgMTE1NTksIDAsIDc4MDYyLCA3NTM3LCAwLCAxMTM3MCwgMCwgMTAzMzAsIDAsIAotICAgIDEwMzk0LCAwLCA3NDE5NCwgMCwgMTI3OTI5LCA5NzgwLCAwLCAxMzA5MiwgMTk0NTc2LCA3Nzk1MCwgMTk0NTc4LCA3MDc0LCAKLSAgICA5MjY0OCwgMTk0NTc5LCAxOTQ1ODIsIDExNDE0LCAxMjg4NjgsIDI1MzEsIDEzMDM0LCAwLCAwLCA0MjExLCAxMjU5LCAKLSAgICA3NTE3LCAwLCAwLCAxOTQ1NjEsIDQwOTk2LCAxMzAzNywgNzA5MiwgNjQxLCA1MjE5LCA5NDAzNCwgMTk0NTY2LCAxMTA2NCwgCi0gICAgNDExMjksIDAsIDQyODUwLCAxMzAzNSwgOTA3NSwgOTIzODcsIDU0NjYsIDEyODE1MywgMCwgNjQwOTgsIDY1NzkzLCA0NTM1LCAKLSAgICAxOTQ1NzMsIDQyNzEsIDc4NDE3LCAxMjgzNTcsIDY3NjksIDQxNDEwLCA5ODM0NTIsIDY0MjYyLCA2NzY3LCA0MTQwNywgMCwgCi0gICAgMCwgNjc1NSwgMTE4ODY0LCA5MDQ2LCAxMjc5MzQsIDEyNjYwOCwgMCwgMCwgMCwgMCwgNjc2NzUsIDAsIDAsIDAsIDY0MzM4LCAKLSAgICAyNTYzLCAxMzAzMywgMjQ3LCAxMTg5MTUsIDAsIDEyMzM4LCA0NjUxLCA2OTg5NSwgMTEyNzAsIDAsIDAsIDExOTMzLCAwLCAKLSAgICAwLCA0MTkwMywgNDM0NDcsIDExMDAxLCAwLCA0MjI1NSwgMCwgOTI2NjEsIDY5ODIxLCA0MTkwNSwgMCwgMCwgMTA3NzUsIAotICAgIDk3OTMsIDUwMDksIDAsIDQyMjY5LCA2NDU4NywgOTgzMDYzLCA0MjUzNSwgNjk4MTIsIDY0NTI5LCA0MTQwOCwgNDI4NTMsIAotICAgIDM4NzcsIDEyMDc5NSwgNDI2NzQsIDgxNDcsIDQzNTY2LCAxMTkwMjEsIDk4Mzc3NiwgMTAyMzYsIDY1OTE4LCA0Mzc4MiwgMCwgCi0gICAgMCwgNjQ1MDYsIDY5NjUyLCAxMTg5MjEsIDQ3NDcsIDEyODA1OCwgNjk4NDQsIDQzMjAwLCA1ODMyLCAwLCAwLCA1MTQxLCAKLSAgICA0MjYwMCwgMCwgNDMyMDMsIDAsIDk4Mzc5OSwgNDMyODYsIDAsIDEyODIxMSwgNDM3NzgsIDAsIDQxMzA1LCA3ODc3NiwgCi0gICAgNDM3ODEsIDExMzAzLCA2NTU0NywgMCwgNzAzMSwgODU5LCAwLCAwLCAwLCA2MDU5LCAxMjY5ODUsIDU1MjM1LCAwLCA4NTM1LCAKLSAgICAwLCA2NTE5NiwgMTk0Nzg3LCA2NjAzMiwgMTE0ODgsIDEyMDQ4MSwgMTIwNzg2LCA0MjIzMywgNjQxNDAsIDk5NDYsIAotICAgIDYzODg1LCAxOTQ3OTIsIDExODIyLCAwLCA0MzE4OSwgOTgzODk4LCAwLCAxNzg4LCAxNTc5LCAxMjA0ODIsIDcxMjk4LCAwLCAKLSAgICAwLCAwLCA5MDI4LCAxMTk1NzEsIDY5MjM0LCA5NDA1NSwgMCwgMTI4NSwgNjQ4ODIsIDQxMjQyLCA3MDA4NiwgMCwgMTI2NDAsIAotICAgIDAsIDc0MDEsIDAsIDEyNjI1LCA2ODE5OCwgMCwgNzAwODIsIDM5NDAsIDQxNTk3LCA0Mzc1NCwgMzM5NiwgMTI2NDIsIAotICAgIDg2NjUsIDAsIDAsIDEyNjMwLCAxNjUzLCA5MTc4MTUsIDEwMTUzLCAwLCA2MTY2LCAxMjA1MTYsIDExODk4OSwgMCwgODgxNSwgCi0gICAgNjY2NzMsIDY1MDQ2LCA5Mjg1LCA5MTMsIDQyMjU5LCAxMTkzMTcsIDExOTMxOCwgMjE0MiwgNjg0NTQsIDQyNDg1LCAKLSAgICA5NDAxMiwgNzg3OCwgODIxMSwgNDIyOTMsIDY0Mzc3LCAwLCA5MjY0MywgMCwgMTk0NjczLCAxMjAzMiwgMCwgOTcyNSwgMCwgCisgICAgMTI0MjAsIDQwMjQsIDE5NDczMCwgNDEwNTQsIDEwNzgsIDk3NTcsIDY5NzM2LCA0MTA1NywgNjgzMDcsIDAsIDAsIDAsIAorICAgIDk4Mzc5MSwgOTIyMTAsIDkyNDExLCAwLCA0MTQ5NiwgMCwgOTE2NSwgMTU3MiwgMTE5MTEsIDEyNDk5MCwgMTE4ODQyLCAKKyAgICAyMzQ2LCAxMzI3MCwgODk1OCwgMCwgOTY0NiwgMzc3MywgNDMxODMsIDY0MDEsIDU4MzEsIDAsIDAsIDEzMDQzLCA4MDU2LCAKKyAgICA5MjQ5NCwgNjU2ODEsIDIwOCwgMTI3MzgyLCA0MTUxNCwgMCwgMCwgMCwgMTA2OTksIDY0MDgsIDkyMjI3LCA3ODI1LCAKKyAgICA1NjYxLCAwLCAxMjA2MzAsIDM2MDMsIDQxMTA5LCAyMzk4LCAzNTQ4LCAxMjY1OTYsIDEyODQzNCwgMTE5OTMzLCAwLCAKKyAgICAzMTE1LCA5OTE4LCAxMjc4MjMsIDgyOTQsIDQyOTEyLCAwLCAwLCAxOTQ3MjYsIDQ4NzYsIDY1ODA0LCAwLCAwLCA0MzQ2OCwgCisgICAgOTgzMjc0LCA0MTU1OCwgNDE0NzEsIDczOTUwLCA4MTU4LCA5OTQ0LCA0MTQ3MiwgMTIwMjk4LCAxMzA1MSwgNzg2ODksIAorICAgIDMxNDMsIDE5NDY3NCwgNjcwMSwgNDE1NTksIDE4OTYsIDY2MjU2LCAxMzA1MiwgMTk0NjgwLCA1NjY1LCA3ODU5NCwgCisgICAgMTE5MDcxLCA3MDI1LCA2Mzk3NCwgMCwgNzQzNTIsIDc0MTYxLCA0MTU0LCA5ODYzLCA0MzU1MCwgMTIzMTAsIDU2NjIsIAorICAgIDQyMzgyLCAxNTY0LCA3MzkyNCwgMTEyMSwgNzgzMTksIDYzOTU5LCAwLCA5OTQyLCAxMzIzMSwgOTgzNTc4LCA2NDc1MiwgCisgICAgNDczMiwgMTk0NjY2LCAxMTU5NiwgNzgxNDIsIDY1MTg3LCAxNjI2LCA2Mzk4MywgMTAxMTAsIDY0NzcyLCA0MjAyNCwgCisgICAgNjQyMCwgNDIwMjgsIDkyMjk0LCAxMDUwOSwgMjc5NSwgNDkxMCwgMTI5MTkzLCA2OTIzMSwgNjQ3NTMsIDYyNzUsIDkzOTU3LCAKKyAgICAxMTg4MzAsIDYzOTc4LCAxMTA0NCwgMzIyOSwgNjQyMywgNDI3NzQsIDAsIDAsIDY4NTI2LCAxMjgyMywgMjMzMSwgCisgICAgMTI3Nzg4LCA3MDg1LCA2MTM3LCAwLCA3NTI0LCAwLCA5MTc4MDksIDgzNDYsIDEyODQzOCwgODMzOCwgMTI4MzE1LCAKKyAgICA2NTA0MywgOTgzMjM3LCA4MjIsIDcwNDEyLCA5OTAzLCA2NDcyMSwgNDI3MjIsIDY5ODc3LCAxOTQ2NTksIDc4NjU1LCAKKyAgICA2Njg4MiwgMTk0NjYwLCA3ODQ4NCwgNDEyNjUsIDUzMTEsIDE3OTUsIDk2NSwgMTE4NzkxLCAxMDU4NywgNzM5MzEsIAorICAgIDExMjc4LCA3ODYzMiwgMTk0NjQwLCAwLCAxMjk0NiwgMTk0NjQxLCA3MTkyMSwgMTIwMzQ5LCA2Mjk0LCAzMTQ0LCAKKyAgICAxOTQ2NDgsIDEyNzk2NywgNjUwMTksIDE5NDY0OSwgNzM5OTAsIDY1MTExLCA5ODM5NjAsIDc0OCwgNDEwNjcsIDIzMzAsIAorICAgIDUzNSwgMzE0OCwgMTIzNzUsIDc4Nzk5LCAxOTQ2MjksIDEwNTU2LCAyNDc1LCAxMjM4OCwgNDg4OSwgODk2OCwgNjc4NjMsIAorICAgIDM1OTMsIDc0MDc2LCAwLCAyMzQyLCAwLCAxMjY1NDEsIDY1MjA2LCA0ODk0LCAxOTQ2MzUsIDQ4OTAsIDE5NDYzNywgCisgICAgMTI5MTQ3LCA1ODEsIDQ4OTMsIDQyOTI5LCA2NTcxLCA2NTU0NSwgNDg4OCwgNDE1NywgNzgwNDgsIDc4MDQ5LCA2NDY1MSwgCisgICAgNzgwNDcsIDAsIDEwMTE5LCA2NDE1LCA0Mjg5MywgMCwgNjk3MDIsIDk4MzkzNywgMCwgMTEzNzUsIDY0NzQ2LCAyMzMyLCAKKyAgICA3ODA2MywgNDEyLCA3ODA2MSwgNDI5MjgsIDQyODgwLCA0MzU4NywgMCwgMCwgMCwgNzA0NjEsIDY1MTk3LCA3ODA2NiwgCisgICAgMTIyMDMsIDc4MDY0LCA3ODA2NSwgODkxMywgNjU4NTQsIDQ4NzUsIDY1ODExLCAxMjAzODEsIDEyMDM4OSwgNzE4NTQsIAorICAgIDkzNDQsIDg4MjYsIDkyOTE2LCAxMjAzOTUsIDEzMTA0LCA3NDc4MSwgMTE5OTcsIDEyMDM5MywgNzgwNzUsIDAsIDMxMzQsIAorICAgIDAsIDY1Njk2LCA3MjQzMiwgMCwgNjYyMTcsIDAsIDgzMzQsIDkyNzU1LCAwLCAzNDQ5LCAwLCAwLCA3ODQxNCwgNzg0MTMsIAorICAgIDExODk1MCwgNjY0MDUsIDcwNDMwLCAwLCAwLCAwLCAxOTA4LCAxMjAxNjcsIDQzMjgsIDEwNzM0LCAxMjcwMTQsIDAsIAorICAgIDEyNzkxNCwgNzgwNCwgNzgyNzIsIDEwODExLCA2MjUwLCAxMTMzOSwgNDkxNCwgMTEzNjcsIDEyNTAwMSwgNzgwNTQsIAorICAgIDQ5MTcsIDc0NTE2LCA3NDIwOCwgNjQyODUsIDQ5MTIsIDU0NjQsIDEyNzgzNiwgMTE4ODkzLCAyMzYxLCA3OTcxLCA3ODA3MiwgCisgICAgNzgwNzMsIDU1MjQzLCA3ODA3MSwgMCwgODA4NiwgNzQzMTcsIDY3MDcsIDgzMTksIDIzMTIsIDQwOTc3LCAxMDk2MCwgCisgICAgNDA5NjIsIDgzMDUsIDEyNTczLCA5ODM2MDgsIDQwOTgwLCA5ODM5NjQsIDEzMjAyLCAxMjc4MTYsIDEyNTgyLCA3ODI4MiwgCisgICAgOTgzMDQ4LCA2OTg1NiwgNDI0MzgsIDU1MjIxLCA2Mjg4LCA3ODI4MCwgMTI3OTQ2LCA1NjUzLCA0MjQwMCwgMTA4OTEsIAorICAgIDc2OTgsIDU2NTgsIDcwNDAxLCA3MDAzOSwgMCwgNzA0NjAsIDQ5MTMsIDcxMDYwLCAxMjg1NjIsIDcxMzMzLCA0MjMyNiwgCisgICAgMTI4MTk0LCAxMjcyOCwgOTI2ODUsIDQyNDc4LCAyMzI3LCAwLCAxMjU2MywgNDIyODcsIDEyNzA1LCAwLCAxMjA4MjQsIAorICAgIDEyNTg4LCA4ODIxLCA2MTUzLCAyODY3LCAxOTQ3MDgsIDY2MzEyLCA2OTgsIDEyNzA1OSwgMTk0NjA2LCAxMDM1NiwgCisgICAgNzAwMTcsIDE5NDcxMywgNjUxLCAxMjY0MSwgMCwgMTI1MDk4LCAxMjA3MTAsIDEyOTA2NCwgNDE1NTIsIDY1MTE1LCAKKyAgICA3ODQ2NSwgNzg0NjcsIDc4NDYzLCA3ODQ2NCwgMTI4ODUxLCA3ODQ2MSwgOTI5NjAsIDY2OTI3LCA2NDk0NSwgNDcxNiwgCisgICAgNDMyNzcsIDAsIDc4NDc0LCAxMjM0MCwgMTIwNTY4LCAwLCAxOTQ3MDAsIDU1MjY0LCA0MTIxMSwgMTIwNjc2LCA4NzAzLCAKKyAgICA1NDYyLCAxMjA3OTMsIDEyODk0NCwgMTAxMDEsIDAsIDcwMDQ5LCA4NDc5LCA0MTUxLCA0MTkzMywgMCwgMCwgNjYyNTQsIAorICAgIDEyMDgyMSwgNjg0OTcsIDAsIDEyODY1NCwgMTEzNzk5LCAxMTkxOTQsIDc0MDUwLCA0MjY1MSwgMCwgMCwgMCwgMTI5MTUxLCAKKyAgICAwLCAxMjI3OCwgMTI3MTY3LCAxMjg0MDUsIDAsIDI3MDAsIDEyNTc2LCA3ODQyLCAxMjg5OSwgMCwgMCwgMjY5OSwgMCwgCisgICAgNzM4NDUsIDI5ODUsIDkyNTY4LCA2ODY0OCwgOTE3ODQ1LCAxMjE5MiwgMTE5MzE0LCAwLCA2NjQ4OSwgOTgyNywgMTE5MzEwLCAKKyAgICA4NjA5LCAxMTkzMDgsIDY3NDI2LCAxMTkzMDYsIDExNDgxLCA0MTIxMCwgMTE5MzA1LCAwLCAzNSwgNzA4MzgsIDY3NDMxLCAKKyAgICA2NjY5NCwgNjg0NzksIDc4NDc3LCA2NzQyOCwgNDM1OTYsIDYwOTAsIDY0MjU3LCA3ODEyLCAxMDUzNCwgMCwgNzg0ODUsIAorICAgIDczODQ4LCA2Nzk3NSwgNDI3MiwgNzgzMjEsIDQwOTY3LCA0MDk2NCwgOTE3ODI1LCAxMjcwNCwgNzg0ODcsIDQzMzA2LCAwLCAKKyAgICA2NDQ5NywgMTIxMzgsIDc5MzAsIDAsIDIyOTIsIDY4MjE2LCAxOTQ4NzEsIDkxNzgyNiwgNTI0NCwgNDE4OSwgOTQxMDgsIAorICAgIDY3NTk2LCAxMjc1MDQsIDQxODgsIDE4NzksIDcwNDYzLCA5NjgsIDAsIDQzNzQzLCAwLCA4ODczLCAyMjc5LCAwLCAKKyAgICA5MTc4MjcsIDY1NTU1LCAxMjU3NCwgMCwgOTI3NDksIDkyNzUzLCA3NDQ5MCwgMTI3MDk5LCAxMTgzOCwgOTgzOTIwLCAwLCAKKyAgICAwLCA0MjY4MiwgMTI1NzgsIDEyNzIwLCAwLCA0MTIyNywgMCwgMTIzNDYsIDEyNzEwMSwgNjQ4NDgsIDY5OTUwLCA5MTc5NTAsIAorICAgIDcyNTEsIDAsIDEyMDM4MiwgMTE4ODUwLCAxMTkxNDEsIDEyODU0NiwgNjYwMTUsIDY3MzMyLCA5NTksIDg4ODUsIDEyNTY0LCAKKyAgICA2NjQ1NywgNzg4MDgsIDk0NjksIDk2MzIsIDkyMzIzLCA3NDc2MSwgNjQzMjMsIDEyNzMzNSwgMCwgMCwgMTExMzIsIDMxMCwgCisgICAgMCwgNDEyODEsIDEwOTc2LCAwLCA3MTMyNSwgMTI4MzY0LCA3NDI2NiwgMTAwNTQsIDY0OTcsIDg1NzQsIDAsIDkwMTIsIAorICAgIDE5OTU4LCA3NDQyMCwgNjUwODksIDEzMjE1LCAxMjczMCwgNjUxNjMsIDc0MDQ0LCAzNzQsIDQzMTk1LCA4MTYsIDEyMDE2MSwgCisgICAgMCwgMCwgNDE5MzQsIDc0NjUsIDc0NjE1LCA5Mjc1MiwgOTgzMjY4LCA0NzE1LCA2MTAxLCA3MTA4OSwgNDE5MzYsIDAsIAorICAgIDQ4NzksIDAsIDY1NDQ2LCAwLCAzMDcsIDEyNzE0NywgOTU4NSwgNTM3NCwgOTgzMjY3LCAxMjgwNTksIDAsIDEyOTE4OSwgCisgICAgMTI2NjE4LCAxMjAzOTAsIDEyOTE0NiwgNjU1NjcsIDEyMDYxNCwgMTkyOSwgMCwgMTIxNDIsIDAsIDEyMjM2LCA0MTQxOSwgCisgICAgMTk0NjE4LCAxMjA2MTAsIDEyOTgyLCAxMjgyMjgsIDUzNzgsIDc4NzkxLCAxMjg2NzksIDQxNDIxLCAxOTUwNzUsIDQ0NjIsIAorICAgIDAsIDEyNjU5OSwgMTI4MDkyLCA4MjEsIDAsIDI0OTgsIDU4MDAsIDEyMDE1NywgNjc3NTgsIDE3NjAsIDI0MjEsIDQ0NjksIAorICAgIDIzMjQsIDgyOCwgMzYxMSwgNzg0MDAsIDc1NywgMTE4NSwgMCwgNzg3NzAsIDQzNTk3LCAxMDYyOCwgNzQ4MDgsIDE5NDU3MiwgCisgICAgNzk5OSwgNDM5NzEsIDExMjE3LCAwLCAxMDYzNCwgMTA5NDIsIDc3MTMsIDIzNDgsIDAsIDY0Mzc0LCA0MzgwLCAxOTQ2MDgsIAorICAgIDExOTA0NCwgOTk4MiwgNjQzMjQsIDQxMjQwLCA4NjIsIDY1NjI2LCA3ODQ2MiwgMTgxMCwgMzY3MywgNTEzNywgMTk0NjE3LCAKKyAgICAwLCA3Mjc3LCA2NTYyMiwgNjUwNjksIDc1NjYsIDY0Njg4LCA2NzE0MywgMTk0NTkyLCA3ODA5MiwgNzA0MjIsIDEyODM4NSwgCisgICAgNDc0OCwgOTIyMjgsIDEyOTE4NSwgMTk0NjAxLCA0MjI2MCwgNTg3MSwgMTE5MDc1LCAwLCA3NDU3NiwgNDQwMTksIDAsIAorICAgIDEyODE4OSwgMzk2NywgNzEwOTgsIDEzMTM3LCA4Nzc1LCAxMjc5NDUsIDAsIDI5NjMsIDAsIDg0MTAsIDQ0NTQsIDcyMywgCisgICAgMTI3ODgyLCA5NjYsIDQ0NDksIDkyMzMwLCA5MjIzOCwgMTI4NDI4LCA3ODE5LCAyMzIwLCAxOTQ1ODksIDMzOSwgNDk2OCwgCisgICAgMTk0NTkwLCAxMjAzOTksIDgwNzUsIDU1Mjc2LCAwLCA4MDQ3LCAwLCA3ODgyNywgMTI2MzQsIDQxNTQyLCA3ODc4MCwgCisgICAgNzQ2NiwgNjcwNSwgMTIxNzQsIDQyNjEwLCAwLCA3NDQ1MiwgOTgzNzYzLCAxNTg0LCA2NjY0NSwgNjA0NSwgNjcyOSwgCisgICAgMTIwNjQwLCA2NTIxOCwgMTE1NTksIDAsIDc4MDYyLCA3NTM3LCAxMjQ5OTEsIDExMzcwLCAwLCAxMDMzMCwgMCwgMTAzOTQsIAorICAgIDAsIDc0MTk0LCAwLCAxMjc5MjksIDk3ODAsIDAsIDExMTE3LCAxOTQ1NzYsIDc3OTUwLCAxOTQ1NzgsIDcwNzQsIDkyNjQ4LCAKKyAgICAxOTQ1NzksIDE5NDU4MiwgMTE0MTQsIDEyNDk2MCwgMjUzMSwgMTMwMzQsIDAsIDAsIDQyMTEsIDEyNTksIDc1MTcsIAorICAgIDcwODY2LCA3MDE5OCwgMTk0NTYxLCA0MDk5NiwgMTMwMzcsIDcwOTIsIDY0MSwgNTIxOSwgOTQwMzQsIDE5NDU2NiwgCisgICAgMTEwNjQsIDQxMTI5LCAwLCA0Mjg1MCwgMTMwMzUsIDkwNzUsIDkyMzg3LCA1NDY2LCAxMjgxNTMsIDAsIDY0MDk4LCAKKyAgICA2NTc5MywgNDUzNSwgMTk0NTczLCA0MjcxLCA3ODQxNywgMTI4MzU3LCA2NzY5LCA0MTQxMCwgMTk0Njc1LCA2NDI2MiwgCisgICAgNjc2NywgNDE0MDcsIDY2MjczLCA5MTc4MTYsIDY3NTUsIDExODg2NCwgOTA0NiwgMTI3OTM0LCAxMjY2MDgsIDcwODMwLCAwLCAKKyAgICAwLCAwLCA2NzY3NSwgOTgzNjk0LCAwLCAwLCA2NDMzOCwgMjU2MywgMTMwMzMsIDI0NywgMTE4OTE1LCAwLCAxMjMzOCwgCisgICAgNDY1MSwgNjczNTUsIDExMjcwLCAwLCA3NDYzMCwgMTE5MzMsIDAsIDAsIDQxOTAzLCA0MzQ0NywgMTEwMDEsIDczODI3LCAKKyAgICA0MjI1NSwgMTEzNzYwLCA5MjY2MSwgNjk4MjEsIDQxOTA1LCA2NzM1MCwgMCwgMTA3NzUsIDk3OTMsIDUwMDksIDEyODc3NCwgCisgICAgNDIyNjksIDY0NTg3LCA5ODMwNjMsIDQyNTM1LCA2OTgxMiwgNjQ1MjksIDQxNDA4LCA0Mjg1MywgMzg3NywgMTIwNzk1LCAKKyAgICA0MjY3NCwgODE0NywgNDM1NjYsIDExOTAyMSwgNjczNDIsIDEwMjM2LCA2NTkxOCwgNDM3ODIsIDAsIDEyNzU1NiwgNjQ1MDYsIAorICAgIDY5NjUyLCAxMTg5MjEsIDQ3NDcsIDEyODA1OCwgNjk4NDQsIDQzMjAwLCA1ODMyLCA3MTI1MywgMCwgNTE0MSwgNDI2MDAsIAorICAgIDcxODY2LCA0MzIwMywgMTI3MjA4LCAxMjAxMjksIDQzMjg2LCAwLCAxMjgyMTEsIDQzNzc4LCA3NjU3LCA0MTMwNSwgCisgICAgNzg3NzYsIDQzNzgxLCAxMTMwMywgNjU1NDcsIDEyODYwOSwgNzAzMSwgODU5LCAxMjg0ODgsIDAsIDAsIDYwNTksIAorICAgIDEyNjk4NSwgNTUyMzUsIDE5NDgxNywgODUzNSwgMTI4NjM4LCA2NTE5NiwgMTI1MDg0LCA2NjAzMiwgMTE0ODgsIDEyMDQ4MSwgCisgICAgMTIwNzg2LCA0MjIzMywgNjQxNDAsIDk5NDYsIDc2NjcsIDE5NDc5MiwgMTE4MjIsIDAsIDExMTM1LCA5ODM4OTgsIDAsIAorICAgIDE3ODgsIDE1NzksIDEyMDQ4MiwgNzEyOTgsIDAsIDk4MzQ1OSwgMCwgOTAyOCwgMTE5NTcxLCA2OTIzNCwgNzEwNjEsIAorICAgIDE5NDczOCwgMTI4NSwgNjQ4ODIsIDQxMjQyLCA3MDA4NiwgMTI5MDQxLCAxMjY0MCwgMCwgNzQwMSwgMCwgMTI2MjUsIAorICAgIDY4MTk4LCAwLCA3MDA4MiwgMzk0MCwgNDE1OTcsIDQzNzU0LCAzMzk2LCAxMjY0MiwgODY2NSwgOTgzNjEwLCA5ODM2MDksIAorICAgIDEyNjMwLCAxNjUzLCA5MTc4MTUsIDEwMTUzLCAwLCA2MTY2LCA3MDgyNSwgMTE4OTg5LCAwLCA4ODE1LCA2NjY3MywgCisgICAgNjUwNDYsIDkyODUsIDkxMywgNDIyNTksIDExMTgwLCAxMTkzMTgsIDIxNDIsIDY4NDU0LCA0MjQ4NSwgOTQwMTIsIDc4NzgsIAorICAgIDgyMTEsIDQyMjkzLCA2NDM3NywgMTIwNDc4LCA5MjY0MywgMCwgMTk0NjczLCAxMjAzMiwgMCwgOTcyNSwgOTgzNDg5LCAKICAgICA3ODQzMSwgNTI2MywgMTI4MTgsIDc4NDMwLCA0MTkzOSwgMTAwMjIsIDY1Mzg3LCA3ODQxOSwgNDI3NzcsIDEwMTM5LCA5ODAsIAotICAgIDQzNjk4LCA2NTM4NiwgMjIwOCwgMCwgNDM3MDEsIDQzMTk4LCA3MTg0LCAxMjA2NzMsIDE5NDc5NywgOTE3ODE5LCAxMDA4NSwgCi0gICAgMTE5OTkyLCAwLCAxMTk5OTMsIDY2MzQsIDkyMzczLCAwLCAxMTkzMjMsIDgwNzIsIDExOTMyMSwgNDM3MDAsIDAsIDg4NzIsIAotICAgIDc3ODMsIDkxNzk5MiwgMTIzOTgsIDgyMzcsIDAsIDAsIDEyMzk1LCAwLCAxMjY5NzcsIDEyMDU2NSwgOTkxNCwgMjIxNywgCi0gICAgOTE3ODU0LCA3Mzk3NSwgNjM2NywgNjM1MSwgNjY2ODgsIDAsIDc4MTA3LCAwLCA2NDczNSwgNDEyNDMsIDkyMTk5LCA3ODA4LCAKLSAgICAxODI5LCAwLCA0MTkzNywgNDM1OCwgNDMyNzIsIDYzNTMsIDAsIDAsIDEyMDQyMiwgMCwgMTcxMCwgMCwgMCwgNjU2MDcsIDAsIAotICAgIDQ5LCA2NjI3LCAwLCA2MjU4LCAxMDY4MywgNzg2NzIsIDk3NDEsIDc4MzI5LCA1NjQ5LCA3ODQ0MSwgNDM0NDMsIDY0NDE4LCAKLSAgICAxNjQzLCA2NTIxMywgODQwNSwgMzQ3MCwgMTI4MjI1LCAxMzIxMywgNDI0NTIsIDc4MzMxLCAxMjA2NjQsIDc4NDQ1LCAwLCAKLSAgICAxMDcyLCA3ODQ1NywgNzg0NTIsIDc4NDU0LCA2NTc2LCA0MTk4OCwgNDExMzIsIDY1Njc1LCAxMDgwLCAxMjAwMDIsIDk4ODYsIAotICAgIDU1MjI1LCAxMTAxLCA2ODQwNCwgMTIzMDksIDU1MjI3LCAwLCAxMjYzMiwgMTA4NiwgMTg2OSwgNzg2ODUsIDc2ODAsIDAsIAotICAgIDY1NDU4LCAxMjA3MTQsIDEyNjM5LCAzMzgwLCA4MTIzLCAxMDkxLCAxMjYzOCwgNzk3NywgNDUwMSwgNDEwOTksIDAsIAotICAgIDY2MzA5LCAwLCAwLCAxNDk0LCA5ODMxNDYsIDEyNjYxMywgMCwgMTE2OTMsIDEyNjUxMywgMTA0OTQsIDkyNjU1LCA2NTg3MiwgCi0gICAgMTIzNjMsIDExMzg2LCAwLCAwLCAwLCAwLCA2NDU4MiwgMCwgNzM3OTQsIDAsIDgwMjIsIDAsIDEyMDQ2MiwgNzQxMDYsIAotICAgIDEyNDEzLCA5NDA2OSwgOTE3OTk0LCA5MTc5OTMsIDkxNzk5NSwgNTU3MCwgMTg4MSwgNzIxMCwgMCwgMTAxMiwgNDM3NTIsIAotICAgIDAsIDEyMDcwOSwgNzIwOCwgNjY0NDIsIDU1NjksIDk4MzI0MiwgNDIzMzksIDAsIDYwNjMsIDAsIDc4MzgzLCAxMTk1OTQsIAotICAgIDYwNTMsIDY1NjAyLCAwLCA5MjIwMSwgNjQ3MjcsIDkxNjAsIDE5NDgyNywgMCwgMCwgOTIxODAsIDEwNTAzLCAxMTg4MTAsIAotICAgIDYwNTUsIDM4NzAsIDQyNzksIDg0OTAsIDEyMDExNCwgNDMxOSwgNjQ3ODYsIDg2MDIsIDEyMDExMCwgMTEzMjYsIDkyMjA0LCAKLSAgICA5ODMxMTYsIDAsIDEyMDExOSwgNzgzMzMsIDEyMDExNywgMTIwMTE4LCAxMjAwOTksIDEyMDEwMCwgNjUwODcsIDU1NzEsIAotICAgIDM2NzQsIDk3NDAsIDkxMjEsIDU1NjgsIDEyMDEwNywgMTIwMTA4LCA0MjA4NSwgMTAxMDcsIDQyMTU5LCA0Mjg3MCwgCi0gICAgMTIwMTAxLCA1ODksIDcwNTAsIDk4MzgwMCwgNDMyODEsIDEwMjMzLCA0MTI2MywgNjYyNTEsIDY1NzI5LCA2NjI1MywgCi0gICAgMTI2NDk3LCA3NDA5OSwgNDI2NDUsIDAsIDE5NDgxNSwgODU4MywgMCwgNTg0NywgNjkyOCwgMTI4MDc0LCAwLCAwLCAwLCAwLCAKLSAgICA2NjU5MiwgMTIyMDQsIDkxNzk2MiwgMTk5NjYsIDc3ODU2LCA0MjU2MSwgMTIwNjI2LCA5ODMyNTEsIDAsIDgxMjAsIAotICAgIDEyMDcwMSwgMCwgMCwgMTI4MDEyLCA0MTA2MywgMCwgMTA2NjQsIDAsIDgzNjksIDAsIDQ1NTEsIDE5NDk2NCwgMzM2OSwgMCwgCi0gICAgMCwgOTY3MywgNjYzMzQsIDY1NTgwLCAxMDQ3OCwgMTE4OTYwLCAxMjUxNywgNTU3LCA5NDU3LCAxMjAzNCwgOTgzNjcxLCAKLSAgICA2MzU1LCAxMjUxOSwgNDEwMDQsIDAsIDE5NTAyNSwgNzQwOTQsIDAsIDAsIDc3OTcwLCA5ODM1NjAsIDAsIDEyODE3NSwgCi0gICAgMTIxMTEsIDM5MjcsIDAsIDEyNTE1LCAxNDc0LCA2Nzg5MywgNTQ5MiwgNjkyMywgOTIyODEsIDEwNDQxLCA3MzgzNiwgMCwgCi0gICAgNDM5OTAsIDU0OTMsIDAsIDc0MzE5LCAwLCA2NjYzNSwgMTIwMTksIDAsIDE2MTgsIDAsIDEyMDQ3NCwgOTY0NSwgMTA0MzAsIAotICAgIDkxNzk1OSwgNTg1MywgMTMwNjMsIDEwMzYzLCAwLCAxMjk1NiwgMTI4MTY5LCAxMjA3MjksIDExMzE0LCA5MTc1ODIsIAotICAgIDEyMDYwLCAwLCA3ODM5MiwgMTI4MjYsIDYzMjksIDAsIDEwNTE0LCA2NTUxNywgNzQzOTUsIDI3MDcsIDgzMDksIDAsIAotICAgIDEyNzA1NCwgNzgzOTgsIDQzNTcwLCAyNjk3LCA0MzQyMCwgNzgzOTYsIDEyNzA1NywgMjY5NSwgNDIxNzEsIDAsIDAsIDAsIAotICAgIDY3NjE3LCAxMTg5NzEsIDAsIDI2OTMsIDEyMTI1LCAxMjc2NiwgMCwgMTE2NCwgMTI4ODE3LCAwLCA0MTkxOCwgOTgzMTY4LCAKLSAgICAxMjc1NDIsIDg2ODcsIDY2MDA5LCAxMjE3OCwgNzA1MywgMTI4MDAxLCA3NDY5LCAwLCA1MjQ4LCAxMjIxOCwgMTIwNTM4LCAKLSAgICA2NDI3LCA0Mjg4NCwgNDExMjMsIDAsIDAsIDQyODczLCA0MTEyNiwgOTk5MSwgNDExMjgsIDc0MzcxLCAxMjcwMzEsIDAsIAotICAgIDk4NzMsIDAsIDQyODc3LCA3OTk0LCA2NDc2MiwgMjA1MywgNDI4NDMsIDY1OTEsIDkzNDAsIDAsIDE1ODksIDAsIDI5NiwgCi0gICAgNzQ0MzgsIDc4ODUyLCAwLCA2Nzg0MSwgNzQzNzAsIDAsIDg5MjIsIDEyODA2OCwgNzQ2MDAsIDEyNzAwLCA3NDgzNiwgMCwgCi0gICAgMTI1NzksIDAsIDEyNTc1LCA2NDE2LCA1NjU2LCAyODkxLCAxMzI2MiwgNjU1OTAsIDUyOTksIDAsIDExNDczLCA1NDQ5LCAKLSAgICAxMjUyLCAwLCA3ODQwNCwgNDE0MzEsIDc0MzY5LCA2NTM3MywgNTI5NSwgOTE3NTY5LCA3NDExNCwgMTIyMywgMTY0MiwgCi0gICAgMTc0LCA3ODM5OSwgODgzLCA0MTYxLCAxMjY5MSwgNDI2MDMsIDQxNDEzLCAzMjEyLCA0MTQ1OSwgMzIxMSwgNzQ4MTAsIAotICAgIDQxNDI1LCAxMjcwMjksIDc4NDEyLCA3NDQ1MCwgOTcyOCwgMzg0NiwgODA3MCwgNjE1MCwgNjYzNiwgNDM3MCwgMCwgMCwgCi0gICAgNzQxNzgsIDc0NTg3LCA3NDExNywgMCwgMCwgMCwgNDk4NiwgMTIxODksIDAsIDY3NjQ4LCAxMjA0OTksIDk0MDAxLCA0MjU3LCAKLSAgICAxMjEwNCwgNzc5NDIsIDYyMjAsIDkwMDQsIDY1NTYxLCAwLCA3Nzk0OSwgMCwgNjgxMzUsIDkxNzU3NiwgNzc5NDYsIDAsIAotICAgIDY5Njc5LCA2OTY4NCwgOTg5MCwgNzg1NjEsIDEyOTcxLCA3ODQ1MywgOTI1NTYsIDczODk4LCAxMTk3OSwgNzAwNTEsIAotICAgIDExODkwMCwgOTE3ODk0LCAwLCA5NjM1LCAxMjYwMCwgODg3MSwgMCwgMCwgMCwgNjQ2OSwgNzQyMjcsIDAsIDY1MzA0LCAKLSAgICA0Njc5LCAxMDIzMCwgNjQzMDAsIDY0ODY3LCAzNDI3LCA0MjQwLCAwLCAwLCAwLCAwLCA0MjkxNiwgMCwgMCwgMCwgNzI4MiwgCi0gICAgNzg3MjgsIDY1NzMzLCA0NDQ1LCAxMjcxMzgsIDEyODA4MiwgMzQ5NCwgNzQ2MDYsIDY1NTUsIDAsIDc3OTc2LCAwLCAwLCAKLSAgICA3ODU2NiwgMCwgOTgzMTg5LCA2NTg5OCwgOTgzMjQ0LCA2NTMxMiwgNTQ0NywgMCwgMTI4OTUsIDY1NTkzLCA0MDEwLCAwLCAKLSAgICA0MTEwNiwgMCwgNjQ0NDgsIDAsIDQxMTA1LCAwLCA2NTgyMCwgNjIzMiwgMCwgMTI4MjgwLCAwLCA0MzYwOCwgMTE5MDkxLCAKLSAgICAwLCA2NTM4LCA0MzM1LCA3ODM2NCwgMzk0MSwgNDExMjIsIDExMDYxLCA3ODM2MywgNjQ4OTIsIDkxMTMsIDE5NTQsIAotICAgIDEyMTU1LCA5ODM2NzQsIDQyODc4LCAxMTUwMCwgMCwgMCwgNzQ1NzgsIDAsIDY1ODMyLCAwLCAwLCAwLCA3Nzk3NSwgCi0gICAgMTE5MjMwLCA0NTg2LCAwLCAzNTAsIDEwOTUxLCAwLCA1MDksIDAsIDAsIDkyMzA3LCAwLCAwLCA1MTMzLCAwLCAwLCA5NTAwLCAKLSAgICAwLCA0OTU3LCA2NDc0MSwgMjQyMiwgMjIxMiwgOTgzMDgwLCAwLCAwLCAyNDk2LCAxMTUxNiwgOTQ0LCAxMTg4NTEsIDM4OTAsIAotICAgIDEyMTY4LCAxNDM4LCAwLCA5ODMxMTcsIDAsIDQxOTQ3LCAxMjIwLCAxMjA4MjgsIDEyODU1NSwgMCwgMCwgMTU3MSwgCi0gICAgNDI2MzAsIDQxOTQ5LCA0MjgwNSwgODI3MCwgOTQzLCA1NjQsIDAsIDMxMiwgNDE5ODAsIDk4Mzk0NCwgMCwgNzgxMjAsIAotICAgIDg4NzcsIDI2OSwgNDQyOSwgNjI3MiwgOTYxNywgMTQ2MCwgNjk1NCwgNzg2NTcsIDQxMTIwLCA2NTEyMSwgMTA4NjIsIAotICAgIDYwNjAsIDQxMTE5LCA0MTQxNiwgNzQzNTUsIDQxNzMsIDAsIDAsIDAsIDE5MDYsIDkxNzk4NiwgMTE1MzIsIDc0MDczLCAKLSAgICAxMjczMzgsIDAsIDE5ODUsIDYyOTYsIDk1ODIsIDkxNzg5NSwgNjQyODcsIDAsIDc4MTE1LCAxMTQyOCwgMTczMCwgMjQ1NywgCi0gICAgOTE3ODA4LCAxOTkxOCwgMTA0NjksIDAsIDAsIDc3MDMsIDg4NDAsIDgwMzUsIDAsIDAsIDkyMjMwLCAwLCA2MTI5LCAwLCAKLSAgICAxMjg1MjgsIDEyODI2OCwgMCwgNzg3NCwgODY4MSwgMTE5MDkyLCAwLCAxMzEzNiwgMCwgMCwgNzAxMDIsIDYzODg2LCAKLSAgICAxMTg4ODEsIDk2MDUsIDcxMzA4LCAxMzIyMCwgMTI4Nzc2LCAxMjAyNzQsIDU1MTQsIDAsIDkyMjgsIDAsIDAsIDAsIDUyNDAsIAotICAgIDk4MTEsIDEwMDEyLCAzMDk2LCAwLCAwLCA5ODMzNTEsIDY2Njc2LCA2NTg3MywgMCwgMCwgMCwgOTUwMSwgMCwgMTI3MiwgCi0gICAgNjQ1MzYsIDY1NDY1LCA2NDY1NCwgNzQ2NywgMCwgMTQ2NywgMTAxNTgsIDEwMDQwLCAwLCA5NTE5LCAwLCA5MTc4MTIsIDAsIAotICAgIDExODg5OSwgMTIxOTMsIDAsIDAsIDAsIDAsIDk4MzM1MywgMTk5MzUsIDAsIDkyMTYyLCA2OTY3NiwgMCwgMCwgMCwgNTI3NSwgCi0gICAgMCwgMCwgODYzNywgMCwgMCwgMzc4OSwgNjM4ODAsIDExNDcxLCA0MzU1NCwgNjU4NjIsIDExNDc0LCA2NjMzMiwgNjY2MDMsIAotICAgIDEyODEzOCwgMjQyNiwgMTIwNDIsIDkyMTk0LCA5ODM5MTEsIDk1MzcsIDM5NjEsIDEyMTE1LCA3Nzk1MywgMjYwNSwgNDUwMCwgCi0gICAgNjQ1NjEsIDU1MjI0LCA0OTgxLCAwLCAwLCA2Mzg3NiwgMTE2NjcsIDQyNjg2LCA3Nzk3MywgNDIzNjIsIDY0Njg2LCA0NDk5LCAKLSAgICA0MTY0OSwgNzU4OSwgMCwgMCwgMzIzNywgMCwgNjgyMTUsIDkxNzkwNCwgODU0MSwgNzgyOTgsIDcwMDM0LCA0MTg2NiwgMCwgCi0gICAgMCwgMCwgMCwgNjk5MjQsIDQzNTU1LCAyODIzLCA5NTU5LCAxMDA2MCwgNDE5NDAsIDgyOTksIDQxOTQ1LCA3MTMyLCAKLSAgICA0MTk0MSwgMzMwOCwgNzE5MCwgNjQ4ODAsIDg2MTQsIDY1MjIwLCA0MTQ5MywgMCwgNDE2OTksIDEwNzYyLCA0Mzc4MCwgCi0gICAgMTI5OTksIDAsIDAsIDgxMDYsIDQxMjgsIDAsIDYyNzQsIDQ0OTQsIDAsIDQwMTIsIDEwMzk1LCA5ODM1OTEsIDQzNjMzLCAKLSAgICA2NTQ0NywgMTI2NTExLCAwLCAxMTAwNCwgNjk1LCA3MzksIDY5NiwgNzYxMSwgMCwgNDI3NTUsIDc0ODAyLCA5MjI3LCAKLSAgICA3NTA2LCA3NTEwLCA2OTkzNywgNjkxLCA3MzgsIDc1MTEsIDc1MTIsIDc1MTUsIDM4NjgsIDY4OCwgNDE4NDcsIDY5MCwgCi0gICAgMjU0OCwgNzM3LCA5NzQsIDgwMDMsIDc0MDYsIDkxNzkxMSwgMCwgMTI4Njg4LCAzOTg1LCA5MTc5MTIsIDY1ODYwLCAKLSAgICA2MzkyMSwgNzA1MSwgNjk3NzcsIDQ2ODIsIDkxNzgwNSwgMTI4MDksIDY0MDYsIDQ2ODUsIDkyNTA1LCAxMDg3OSwgMTAzNDcsIAotICAgIDQ2ODAsIDYzNDEsIDAsIDM4NTEsIDgxMzIsIDc0MzI1LCAwLCA5MTc5MDcsIDAsIDQxOTU4LCAxMTkxNzYsIDkxNzkwOCwgMCwgCi0gICAgMCwgNDI2NTcsIDkyNDY4LCA3NjQzLCA0MjM3MywgMTE3MTQsIDY3NTg3LCA0MzU2OCwgOTgzMTc1LCAxMTcxNywgNzY1MCwgCi0gICAgMTA1OTQsIDY0OTUxLCA3NjQ3LCA3NjQ5LCAxMjgxNTUsIDc2NDYsIDAsIDc4MDgyLCA5NjUxLCAwLCAzODkxLCAwLCAwLCAKLSAgICAyMzM3LCAxNzM1LCA3NDMyNCwgNjc4NjAsIDIzNjMsIDk4MzEzNSwgMCwgNDM1NjEsIDAsIDAsIDc0MTQ2LCAxODYwLCAKLSAgICA3NDk1LCA3NTgwLCA1ODEyLCA3NDk3LCA3NTg0LCAxMTkxNDAsIDEyNzg1MywgMCwgMTIwMzQ3LCA3NzI3LCAwLCA4NDk4LCAKLSAgICA2OTgxOCwgODk0OSwgMzA2NSwgNDI3MTksIDcxMzUsIDE1NjksIDkyMzc1LCAxMjUzNCwgMTIxMjQsIDc2OTAsIDAsIAotICAgIDEyNTMzLCA5ODM4NzksIDY0MTgsIDQ1NDMsIDc4MDg2LCA2OTY5LCAwLCA3NDgwMCwgMCwgNjc5NzQsIDExOTgwLCAKLSAgICAxMjg2NTAsIDk4MzgwMSwgNjM4OTQsIDEyMDc2MCwgMTIyODIsIDY2MTkyLCAwLCA3NDU5MiwgODg1MCwgNzQyNzUsIDkyMzgsIAotICAgIDEwNjE3LCA5MTc1NDUsIDAsIDkyNjI1LCAwLCAxMjc5MSwgMCwgMCwgMTI3ODQzLCA0NDQ3LCA3MzczMiwgMTI3OTMsIAotICAgIDEyOTAwLCA5MjM3NywgMTA5NTAsIDAsIDc4MDg3LCAxMjc5MCwgNDE0MDAsIDExOTEyOCwgNjY2MDcsIDEyNzkyLCA0MjIzMiwgCi0gICAgMTk0OTM4LCAxNzQ0LCAxMjc4OSwgMTAzNjYsIDEyMzE3LCA0MTMxMCwgOTgzODY5LCA0MTM5OSwgMCwgMCwgNTUyNTgsIDAsIAotICAgIDEyNjkwLCAwLCAwLCA0MzY3MiwgMTI3ODQwLCA0MTY1MiwgMjk3NCwgOTAxMCwgMTEzMTUsIDAsIDI3OCwgMCwgNDE0MDUsIAotICAgIDExOTI1NCwgMCwgMTAwNzcsIDYzODUzLCA3NDU1NywgNDI1ODYsIDAsIDAsIDYwMDIsIDAsIDQzNTUzLCAwLCA2NzkwMywgMCwgCi0gICAgMTI3ODcsIDQxMzA4LCA3OTM0LCA2NTMwNiwgMCwgMCwgMCwgODY0NiwgOTgzMTg2LCA3NzgyOSwgNzEzNjAsIDAsIDY0MTMsIAotICAgIDY1NTAsIDAsIDE5NDAsIDAsIDQzNjM3LCAyMjAsIDY1MTkzLCA0MzU1MSwgMTA2NzgsIDEwMDQ0LCAxMjgzMjIsIDAsIDAsIAotICAgIDY4NjU5LCA2NDAzLCA1NzA3LCAxMDM5MywgMTI3NTMyLCAwLCA2NjYxNCwgMCwgMCwgMCwgMTAyOTcsIDAsIDM3NDIsIDAsIAotICAgIDM5NTksIDAsIDAsIDAsIDI0NjcsIDAsIDYwMDMsIDYzODQ0LCA2NjYzLCA4MDQwLCAwLCA0Mzc1OCwgNDE4MiwgNzgxNzEsIAotICAgIDQ2NzYsIDEyMDUwMSwgMCwgMCwgMjUxMCwgMCwgMTAyMDgsIDc4MTY4LCA5MjM2MSwgMTE1NDAsIDQzNTQ2LCA2NjkyLCAwLCAKLSAgICA0MTA2MCwgMCwgNDY2OCwgOTA4MywgMCwgMCwgNzgxNDQsIDE1NTksIDYzODMxLCA5Njc3LCAxMjAyNjAsIDAsIDY1MjU2LCAKLSAgICAwLCA3NDA3MCwgMCwgMCwgMzY1LCAxMjA1NiwgNDMwMjcsIDEyMDQyMywgNDE3MTYsIDEyODIzNiwgMCwgMTIwNDcyLCAKLSAgICA1NTE2LCAyODQ1LCA3NzE3LCA4MDM2LCA0MTcxNywgNzM4MjcsIDU0NCwgMTIwNDUsIDYyNzgsIDAsIDU1MTUsIDAsIDAsIAotICAgIDk4MzA1MSwgNjUzMzksIDQzMjIxLCAyMjExLCAwLCA1NTE3LCAwLCAwLCA3NDg0MSwgNjc4ODQsIDAsIDY3ODkwLCA2Nzg4NSwgCi0gICAgNjc4ODAsIDY3ODgxLCA2Nzg4MiwgNjc4ODMsIDAsIDAsIDY3ODc5LCAxMjcxODgsIDE5MDIsIDY3ODg3LCA5NjM4LCAKLSAgICAxMjk3NiwgMTI2NTQ2LCAxMjQ4MywgMTIzNjgsIDQxNzY5LCA0MjcyNiwgNDE3NjUsIDczNjEsIDY2NjcsIDY3ODc0LCAKLSAgICA3NTU2LCA2Nzg3OCwgNzQzNTEsIDExMjY0LCA5ODksIDQyNjc3LCA2Nzg4OSwgMCwgMTMxMSwgOTE3OTY2LCA0MzI2LCAKLSAgICAxMTAwMCwgNjM4MjQsIDEzMDY4LCAxMDkzMiwgMTI4ODgwLCA2OTE3LCA3ODE1NSwgMCwgOTQ5LCA3ODE2MiwgMCwgNjE0OCwgCi0gICAgODYwNSwgNDIyNTMsIDc4MTc3LCAwLCAwLCA0MjcxNSwgMCwgMCwgMCwgNjM4NzEsIDAsIDQxNzk2LCAxMjY5LCA2NTMwLCAwLCAKLSAgICA2NTA1NywgMCwgNTE0NCwgMTIyMjEsIDQyNzE2LCAwLCA0NDMxLCA0MzMxLCA5ODM3MjksIDEyODY3NSwgNDE4MzQsIDUyNzksIAotICAgIDAsIDEwMzM2LCA4MzEyLCAwLCA0MjcwMSwgMTI4ODI1LCAwLCA3ODE2NSwgNjYwMzYsIDAsIDAsIDY0MjgsIDQyMjcwLCAwLCAKLSAgICA5ODM1OTYsIDQzMDU5LCA0MjY2NiwgNTI1NiwgMTA2NywgMjU1LCAxMjEzMSwgOTgzNzIyLCA5NDkzLCA5ODM5NjgsIAotICAgIDQxMDE0LCAxMTc5MywgMTk0OTIwLCAwLCA3NDM5NCwgNDM0NjAsIDEwNjUzLCA0MjcyMywgOTgzODU0LCAxMTk2MzIsIDAsIAotICAgIDY1NjAsIDcwMTYsIDc0Mjc0LCA5ODM2MTUsIDQzNTU2LCAzOTI5LCA2Nzk3NywgNjYxNCwgMjc2OCwgOTI1MDQsIDk3NDYsIAotICAgIDUxMzUsIDExODExLCAxMjc5NiwgMTE5NTMsIDAsIDY5NzYxLCA1MTM5LCAzNDYsIDc0MzAzLCA2MzA1LCAxMjc5NSwgNDY3NSwgCi0gICAgNTE2OCwgNzg1NTIsIDEyNzc1MywgNzQzMTUsIDc0MzYxLCA4MjUzLCA4ODE3LCAxMTM2LCAwLCA0MzU2MywgOTIyMzIsIDAsIAotICAgIDE5NDc1MCwgNzM5MiwgODIzMCwgOTM2NSwgMCwgMCwgOTgzNjA3LCAwLCAwLCA0MDQxLCAwLCAyMzU3LCA0MzI0MCwgCi0gICAgMTI3ODYsIDIyOSwgMTE5ODg1LCAxMTk4ODQsIDQ0MDA0LCA3MTQyLCAxMTk4ODEsIDEyMzUwLCA2NTU1NCwgMTE5ODgyLCAKLSAgICAxMTk4NzcsIDExOTg3NiwgMTI3ODUsIDYzODYzLCA0Mzc5NSwgNzc3MCwgMTA3MTIsIDY0ODUzLCAxMjY4NiwgMTE4OTE2LCAKLSAgICA0MjM3NSwgMCwgMTI3MjM4LCA2NjM1MiwgMTA0NzAsIDAsIDExMDU5LCAxMDc5MSwgOTE3OTQ0LCA0NTAsIDExOTMyOCwgMCwgCi0gICAgMTA0MzIsIDEyMDk3LCA1NDUwLCA2NDY5MSwgMTIzMywgMCwgNDQwMDksIDc4Mjg0LCA2NjMzOCwgMCwgMCwgMTgzOSwgCi0gICAgMTE4Nzk5LCA5ODMyMTksIDEwOTI3LCAxNzAxLCA5ODM2NjQsIDIzODgsIDQxNzQ5LCA0MTc2MSwgNTQ1MywgODM2MSwgCi0gICAgMTE5ODY1LCA0MTc1OCwgNTQ0NCwgNDE3NjMsIDY0ODg5LCA3MTQzLCA5MjQ5MywgNzg2NzcsIDAsIDkyNDI5LCA3ODE3NCwgCi0gICAgNjY0MzIsIDg4MDEsIDMwNTMsIDQzNDAsIDk4MzA0NCwgMCwgNjU4MTIsIDkxNzgzMSwgMCwgNDE4MjQsIDY3OTg1LCAKLSAgICAxMjAyMDMsIDE5NDgwMCwgMTk0ODAzLCA0MjcwMCwgMTk0ODA1LCAxMjc5ODAsIDE5NDgwNywgNzg2NzYsIDkyMzU2LCAKLSAgICAxOTQ4MDgsIDAsIDAsIDQ0OTMsIDQzMzYsIDAsIDIzMTQsIDQzNjAyLCA3ODgyNiwgMTE5MzI1LCAxOTQ4MTEsIDQyNDM5LCAKLSAgICA2NDYzOCwgNDIzMjcsIDQzNTI4LCA0NDg5LCA3MTMzMSwgMCwgMTk0NzkzLCAxOTEyLCA0MjM4NSwgMTAzMDYsIDEwMzcwLCAKLSAgICAwLCAwLCA4ODY3LCAxMDI1MCwgMTAyNTgsIDI3MTIsIDE2MzUsIDc4ODIxLCAxNDEwLCA5MjY3MSwgOTgzMjUwLCAxMTg4NzgsIAotICAgIDAsIDAsIDk5MTksIDEyMDUyOCwgNTU5LCAxMjgxNTcsIDQxODI1LCAxMjc5NzUsIDc4MTg4LCA0ODkyLCA3NDAxNiwgCi0gICAgMTk0NzgxLCA2NTQyLCA0MTk1NywgMTI4ODY1LCA1Nzc3LCAwLCA3NTksIDY1NzQ5LCAyMDc5LCA2NTI0OCwgMTI3ODgsIAotICAgIDY0NDg3LCA2NDU1MiwgMCwgMTAyMjMsIDQyMDYyLCAwLCAwLCAxMjY1NzMsIDM2NjgsIDY1NzU0LCA0MzU2MCwgMTIyMjYsIAotICAgIDY3OTkxLCA2NTE0OSwgMjM0MCwgNDE5NTksIDE5NDc4NiwgMTk0Nzg1LCAxOTQ3ODgsIDQzNjE4LCA2NTc0NywgMTA5MzcsIAotICAgIDI5NjIsIDAsIDIzMjEsIDM1ODcsIDY1NzQ1LCA5MjQzNiwgODkyMSwgOTk1MiwgMCwgMCwgNDI3MTQsIDk5NTEsIDQzNDA5LCAKKyAgICA0MzY5OCwgNjUzODYsIDIyMDgsIDk4MzQ1NCwgNDM3MDEsIDQzMTk4LCA3MTg0LCA5MjU0MiwgMTI4NDIzLCAxMjg4NzUsIAorICAgIDEwMDg1LCAxMTM4MTIsIDAsIDY3Mzk0LCA2NjM0LCA5MjM3MywgMTI1MDg1LCAxMTkzMjMsIDgwNzIsIDExOTMyMSwgCisgICAgNDM3MDAsIDAsIDg4NzIsIDc3ODMsIDkxNzk5MSwgMTIzOTgsIDgyMzcsIDAsIDAsIDEyMzk1LCAwLCAxMjY5NzcsIAorICAgIDEyMDU2NSwgOTkxNCwgMjIxNywgMTk0NTg2LCA3Mzk3NSwgNjM2NywgNjM1MSwgNjY2ODgsIDkyNzQwLCA3ODEwNywgMCwgCisgICAgNjQ3MzUsIDQxMjQzLCA5MjE5OSwgNzgwOCwgMTgyOSwgMCwgNDE5MzcsIDQzNTgsIDQzMjcyLCA2MzUzLCAwLCAwLCAKKyAgICAxMjA0MjIsIDkzMDQ1LCAxNzEwLCAxMjAxNDAsIDAsIDY1NjA3LCA2NzIzNCwgNDksIDY2MjcsIDAsIDYyNTgsIDEwNjgzLCAKKyAgICA3ODY3MiwgOTc0MSwgNzgzMjksIDU2NDksIDc4NDQxLCA0MzQ0MywgNjQ0MTgsIDE2NDMsIDY1MjEzLCA4NDA1LCAzNDcwLCAKKyAgICA2NzI0NCwgMTMyMTMsIDQyNDUyLCA3ODMzMSwgMTIwNjY0LCA3ODQ0NSwgMTI1MTI0LCAxMDcyLCA3ODQ1NywgNzg0NTIsIAorICAgIDc4NDU0LCA2NTc2LCA0MTk4OCwgNDExMzIsIDY1Njc1LCAxMDgwLCA3MDgyNCwgOTg4NiwgNTUyMjUsIDExMDEsIDY4NDA0LCAKKyAgICAxMjMwOSwgNTUyMjcsIDcxMDgyLCAxMjYzMiwgMTA4NiwgMTg2OSwgNzg2ODUsIDc2ODAsIDAsIDY1NDU4LCAxMjA3MTQsIAorICAgIDEyNjM5LCAzMzgwLCA4MTIzLCAxMDkxLCAxMjYzOCwgNzk3NywgNDUwMSwgNDEwOTksIDAsIDY2MzA5LCAxMjAxNDEsIAorICAgIDkyNzU4LCAxNDk0LCAxMTM3MTYsIDEyNjYxMywgMCwgMTE2OTMsIDcxMjU1LCAxMDQ5NCwgOTI2NTUsIDY1ODcyLCAxMjM2MywgCisgICAgMTEzODYsIDExMzcyNywgMCwgMCwgMCwgNjQ1ODIsIDAsIDczNzk0LCA2NzM5NSwgODAyMiwgMCwgMTIwNDYyLCA3NDEwNiwgCisgICAgMTI0MTMsIDY2ODgzLCA5MTc5OTQsIDkzMDM1LCA5MTc5OTUsIDU1NzAsIDE4ODEsIDcyMTAsIDEyMDQyNSwgMTAxMiwgCisgICAgNDM3NTIsIDAsIDEyMDcwOSwgNzIwOCwgNjY0NDIsIDU1NjksIDk4MzI0MiwgNDIzMzksIDkyOTk3LCA2MDYzLCA2Nzg4OCwgCisgICAgNjk5ODEsIDExOTU5NCwgNjA1MywgNjU2MDIsIDAsIDkyMjAxLCA2NDcyNywgOTE2MCwgMTI4Mzk3LCAwLCA5MjkwNSwgCisgICAgOTIxODAsIDEwNTAzLCA3MDM4NywgNjA1NSwgMzg3MCwgNDI3OSwgODQ5MCwgMTIwMTE0LCA0MzE5LCA2NDc4NiwgODYwMiwgCisgICAgMTIwMTEwLCAxMTMyNiwgOTIyMDQsIDk4MzExNiwgMCwgMTIwMTE5LCA3ODMzMywgMTIwMTE3LCAxMjAxMTgsIDEyMDA5OSwgCisgICAgOTIzODUsIDY1MDg3LCA1NTcxLCAzNjc0LCA5NzQwLCA5MTIxLCA1NTY4LCAxMjAxMDcsIDEyMDEwOCwgNDIwODUsIDEwMTA3LCAKKyAgICA0MjE1OSwgNDI4NzAsIDExMzcwMCwgNTg5LCA3MDUwLCA5ODM4MDAsIDQzMjgxLCAxMDIzMywgNDEyNjMsIDY2MjUxLCAKKyAgICA2NTcyOSwgNjYyNTMsIDEyNjQ5NywgNzQwOTksIDQyNjQ1LCAwLCAxMjg0MjQsIDg1ODMsIDAsIDU4NDcsIDY5MjgsIAorICAgIDEyODA3NCwgMCwgMCwgMCwgMCwgNjY1OTIsIDEyMjA0LCA5MTc5NjIsIDE5OTY2LCA3Nzg1NiwgNDI1NjEsIDEyMDYyNiwgCisgICAgMTI5MTcwLCA2Njg1NCwgODEyMCwgMTIwNzAxLCAwLCAwLCAxMjgwMTIsIDQxMDYzLCAwLCAxMDY2NCwgMCwgODM2OSwgMCwgCisgICAgNDU1MSwgMTk0OTY0LCAzMzY5LCA5ODM3MzksIDEyOTAyNiwgOTY3MywgNjYzMzQsIDY1NTgwLCAxMDQ3OCwgMTE4OTYwLCAKKyAgICAxMjUxNywgNTU3LCA5NDU3LCAxMjAzNCwgNjg0OTYsIDYzNTUsIDEyNTE5LCA0MTAwNCwgMCwgMTk1MDI1LCA3NDA5NCwgMCwgCisgICAgMCwgNzc5NzAsIDkyMTcxLCAxMjcyMTksIDEyODE3NSwgMTIxMTEsIDM5MjcsIDAsIDEyNTE1LCAxNDc0LCA2Nzg5MywgCisgICAgNTQ5MiwgNjkyMywgOTIyODEsIDEwNDQxLCA3MzgzNiwgMCwgNDM5OTAsIDU0OTMsIDAsIDc0MzE5LCAwLCA2NjYzNSwgCisgICAgMTIwMTksIDAsIDE2MTgsIDAsIDEyMDQ3NCwgOTY0NSwgMTA0MzAsIDEyNjYzNiwgNTg1MywgMTMwNjMsIDEwMzYzLCAwLCAKKyAgICAxMjk1NiwgMTEzNjY2LCAxMjA3MjksIDExMzE0LCA5MTc1ODIsIDEyMDYwLCAwLCA3ODM5MiwgMTI4MjYsIDYzMjksIDAsIAorICAgIDEwNTE0LCA2NTUxNywgNzQzOTUsIDI3MDcsIDgzMDksIDAsIDEyNzA1NCwgNzgzOTgsIDQzNTcwLCAyNjk3LCA0MzQyMCwgCisgICAgNzgzOTYsIDEyNzA1NywgMjY5NSwgNDIxNzEsIDcwODA5LCA2ODMzNCwgMCwgNjc2MTcsIDExODk3MSwgMCwgMjY5MywgCisgICAgMTIxMjUsIDEyNzY2LCAwLCAxMTY0LCAxMTM3MjksIDAsIDQxOTE4LCA3Nzg0OSwgNjcxNTAsIDg2ODcsIDY2MDA5LCAKKyAgICAxMjE3OCwgNzA1MywgMTI4MDAxLCA3NDY5LCAwLCA1MjQ4LCAxMjIxOCwgNjk5ODgsIDY0MjcsIDQyODg0LCA0MTEyMywgCisgICAgMTExNzYsIDAsIDQyODczLCA0MTEyNiwgOTk5MSwgNDExMjgsIDc0MzcxLCAxMjcwMzEsIDAsIDk4NzMsIDAsIDQyODc3LCAKKyAgICA3OTk0LCA2NDc2MiwgMjA1MywgNDI4NDMsIDY1OTEsIDkzNDAsIDAsIDE1ODksIDEyODY5MSwgMjk2LCA2NzcxMiwgNzg4NTIsIAorICAgIDAsIDY3ODQxLCA3NDM3MCwgMTI4NTA0LCA4OTIyLCAxMjgwNjgsIDQzODI5LCAxMjcwMCwgNzQ4MzYsIDAsIDEyNTc5LCAwLCAKKyAgICAxMjU3NSwgNjQxNiwgNTY1NiwgMjg5MSwgMTMyNjIsIDY1NTkwLCA1Mjk5LCAwLCAxMTQ3MywgNTQ0OSwgMTI1MiwgMCwgCisgICAgNzg0MDQsIDQxNDMxLCA3NDM2OSwgNjUzNzMsIDUyOTUsIDkxNzU2OSwgNjgzMjAsIDEyMjMsIDE2NDIsIDE3NCwgNzgzOTksIAorICAgIDg4MywgNDE2MSwgMTI2OTEsIDQyNjAzLCA0MTQxMywgMzIxMiwgNDE0NTksIDMyMTEsIDc0ODEwLCA0MTQyNSwgNzQ1OTgsIAorICAgIDc4NDEyLCA3NDQ1MCwgOTcyOCwgMzg0NiwgODA3MCwgNjE1MCwgNjYzNiwgNDM3MCwgMCwgMCwgNzQxNzgsIDc0NTg3LCAKKyAgICA3NDExNywgMTk1MDk0LCAwLCAwLCA0OTg2LCAxMjE4OSwgMTI3NTEyLCA2NzY0OCwgMTIwNDk5LCA5NDAwMSwgNDI1NywgCisgICAgMTIxMDQsIDcxMTc2LCA2MjIwLCA5MDA0LCA2NTU2MSwgOTgzODgxLCA3Nzk0OSwgMCwgNjgxMzUsIDkxNzU3NiwgNzc5NDYsIAorICAgIDAsIDY5Njc5LCA2OTY4NCwgOTg5MCwgNzg1NjEsIDEyOTcxLCA3ODQ1MywgOTI1NTYsIDczODk4LCAxMTk3OSwgNzAwNTEsIAorICAgIDcxODk3LCAxMTk1NTIsIDAsIDk2MzUsIDEyNjAwLCA4ODcxLCA2NzM2NiwgNjg0OTEsIDAsIDY0NjksIDc0MjI3LCAKKyAgICAxMTg5MDAsIDY1MzA0LCA0Njc5LCAxMDIzMCwgNjQzMDAsIDY0ODY3LCAzNDI3LCA0MjQwLCA2NzM3NiwgNjczNzUsIAorICAgIDY3Mzc0LCA2NzM3MywgNDI5MTYsIDEyOTE1NSwgMTI4Mjc5LCA2NzM3NywgNzI4MiwgNzg3MjgsIDY1NzMzLCA0NDQ1LCAKKyAgICA2NzM3MiwgNjczNzEsIDM0OTQsIDY3MzY5LCA2NTU1LCAxMjkxNDgsIDc3OTc2LCAwLCAwLCA3ODU2NiwgMCwgOTgzMTg5LCAKKyAgICA2NTg5OCwgOTgzMjQ0LCA2NTMxMiwgNTQ0NywgMCwgMTI4OTUsIDY1NTkzLCA0MDEwLCAwLCA0MTEwNiwgNzQzNTcsIAorICAgIDY0NDQ4LCA5Mzk5NCwgNDExMDUsIDc0MTE0LCA2NTgyMCwgNjIzMiwgNjgyMzMsIDEyODI4MCwgMCwgNDM2MDgsIDExOTA5MSwgCisgICAgMTI0OTYyLCA2NTM4LCA0MzM1LCA3ODM2NCwgMzk0MSwgNDExMjIsIDExMDYxLCA3ODM2MywgNjQ4OTIsIDkxMTMsIDE5NTQsIAorICAgIDEyMTU1LCA5ODM2NzQsIDQyODc4LCAxMTUwMCwgNjc0MDUsIDAsIDc0NTc4LCAwLCA2NTgzMiwgMTI4NjY3LCAwLCA3MDc4OSwgCisgICAgNjczMzMsIDExOTIzMCwgNDU4NiwgMCwgMzUwLCAxMDk1MSwgMCwgNTA5LCA2NzMzNiwgMCwgOTIzMDcsIDAsIDAsIDUxMzMsIAorICAgIDY3MzgyLCAwLCA5NTAwLCAwLCA0OTU3LCA2NDc0MSwgMjQyMiwgMjIxMiwgOTgzMDgwLCA2NzM4MSwgNjczODAsIDI0OTYsIAorICAgIDExNTE2LCA5NDQsIDc4ODkxLCAzODkwLCAxMjE2OCwgMTQzOCwgMCwgNjgzMzUsIDcwMDAzLCA0MTk0NywgMTIyMCwgCisgICAgMTIwODI4LCAxMjg1NTUsIDcwODU0LCA3NDA1OCwgMTU3MSwgNDI2MzAsIDQxOTQ5LCA0MjgwNSwgODI3MCwgOTQzLCA1NjQsIAorICAgIDAsIDMxMiwgNDE5ODAsIDk4Mzk0NCwgMCwgNzA3OTcsIDg4NzcsIDI2OSwgNDQyOSwgNjI3MiwgOTYxNywgMTQ2MCwgNjk1NCwgCisgICAgNzg2NTcsIDQxMTIwLCA2NTEyMSwgMTA4NjIsIDYwNjAsIDQxMTE5LCA0MTQxNiwgNzQzNTUsIDQxNzMsIDAsIDAsIDAsIAorICAgIDE5MDYsIDkxNzg5OCwgMTE1MzIsIDc0MDczLCAxMjczMzgsIDAsIDE5ODUsIDYyOTYsIDk1ODIsIDkxNzg5NSwgNjQyODcsIAorICAgIDEyODQwNiwgNzgxMTUsIDExNDI4LCAxNzMwLCAyNDU3LCA5MTc4MDgsIDE5OTE4LCAxMDQ2OSwgMCwgOTgzMDc5LCA3NzAzLCAKKyAgICA4ODQwLCA4MDM1LCAwLCAwLCA5MjIzMCwgMCwgNjEyOSwgMTI4NDM3LCA3ODU4NiwgMTI4MjY4LCAwLCA3ODc0LCA4NjgxLCAKKyAgICAxMTkwOTIsIDExMjA2LCAxMzEzNiwgMCwgMCwgNzAxMDIsIDYzODg2LCA3MDQ1MCwgOTYwNSwgNzEzMDgsIDEzMjIwLCAKKyAgICA2NzM0OCwgNjczNTQsIDU1MTQsIDAsIDkyMjgsIDY3MzQ5LCA2NzM1NiwgNjczNDYsIDUyNDAsIDk4MTEsIDEwMDEyLCAKKyAgICAzMDk2LCAwLCAwLCA3NDUyNiwgNjY2NzYsIDY1ODczLCAwLCAwLCAwLCA5NTAxLCA5MTc5NTksIDEyNzIsIDY0NTM2LCAKKyAgICA2NTQ2NSwgNjQ2NTQsIDc0NjcsIDAsIDE0NjcsIDEwMTU4LCAxMDA0MCwgMCwgOTUxOSwgMTIwMjcwLCA5MTc4MTIsIDAsIAorICAgIDExODg5OSwgMTIxOTMsIDAsIDAsIDAsIDAsIDk4MzM1MywgMTk5MzUsIDEyMDczMywgOTIxNjIsIDY5Njc2LCAwLCAKKyAgICA5MTc4MTEsIDkzMDU3LCA1Mjc1LCAxOTQ1OTYsIDEyODYzMiwgODYzNywgMTI5MDgyLCAwLCAzNzg5LCA2Mzg4MCwgMTE0NzEsIAorICAgIDQzNTU0LCA2NTg2MiwgMTE0NzQsIDY2MzMyLCA2NjYwMywgMTI4MTM4LCAyNDI2LCAxMjA0MiwgOTIxOTQsIDk4MzkxMSwgCisgICAgOTUzNywgMzk2MSwgMTIxMTUsIDc3OTUzLCAyNjA1LCA0NTAwLCA2NDU2MSwgNTUyMjQsIDQ5ODEsIDc0NjQ0LCAwLCAKKyAgICA0MTY0NiwgMTE2NjcsIDQyNjg2LCA3Nzk3MywgNDIzNjIsIDY0Njg2LCA0NDk5LCA0MTY0OSwgNzU4OSwgMTI4Nzc2LCAwLCAKKyAgICAzMjM3LCAwLCA2Njg5NSwgNjgyOTYsIDg1NDEsIDc4Mjk4LCA3MDAzNCwgNDE4NjYsIDAsIDAsIDk0MDU2LCAxMTE3NCwgCisgICAgNjk5MjQsIDQzNTU1LCAyODIzLCA5NTU5LCAxMDA2MCwgNDE5NDAsIDgyOTksIDQxOTQ1LCA3MTMyLCA0MTk0MSwgMzMwOCwgCisgICAgNzE5MCwgNjQ4ODAsIDg2MTQsIDY1MjIwLCA0MTQ5MywgMCwgNDE2OTksIDEwNzYyLCA0Mzc4MCwgMTI5OTksIDAsIAorICAgIDEyODQ5NCwgODEwNiwgNDEyOCwgMCwgNjI3NCwgNDQ5NCwgMCwgNDAxMiwgMTAzOTUsIDk4MzU5MSwgNDM2MzMsIDY1NDQ3LCAKKyAgICAxMjY1MTEsIDAsIDExMDA0LCA2OTUsIDczOSwgNjk2LCA3NjExLCAwLCA0Mjc1NSwgNzQ4MDIsIDkyMjcsIDc1MDYsIDc1MTAsIAorICAgIDY5OTM3LCA2OTEsIDczOCwgNzUxMSwgNzUxMiwgNzUxNSwgMzg2OCwgNjg4LCA0MTg0NywgNjkwLCAyNTQ4LCA3MzcsIDk3NCwgCisgICAgODAwMywgNzQwNiwgMTI3MzUzLCAwLCAxMjg2ODgsIDM5ODUsIDY2NDI1LCA2NTg2MCwgNDE4NTEsIDcwNTEsIDY5Nzc3LCAKKyAgICA0NjgyLCA3MTg3MywgMTI4MDksIDY0MDYsIDQ2ODUsIDkyNTA1LCAxMDg3OSwgMTAzNDcsIDQ2ODAsIDYzNDEsIDAsIDM4NTEsIAorICAgIDgxMzIsIDc0MzI1LCAwLCA5MTc5MDcsIDEyNzk0OCwgNDE5NTgsIDExOTE3NiwgOTE3OTA4LCAxOTQ4NTUsIDAsIDQyNjU3LCAKKyAgICA3MTA3NSwgNzY0MywgNDIzNzMsIDExNzE0LCA2NzU4NywgNDM1NjgsIDk4MzE3NSwgMTE3MTcsIDc2NTAsIDEwNTk0LCAKKyAgICA2NDk1MSwgNzY0NywgNzY0OSwgMTI4MTU1LCA3NjQ2LCAwLCA3ODA4MiwgOTY1MSwgMTI2NDc1LCAzODkxLCAxMjcyMDUsIDAsIAorICAgIDIzMzcsIDE3MzUsIDc0MzI0LCAxMTEzNCwgMjM2MywgMTI1MDYxLCA5MjQ0MywgNDM1NjEsIDY3NzA2LCAxMjgwMzIsIAorICAgIDc0MTQ2LCAxODYwLCA3NDk1LCA3NTgwLCA1ODEyLCA3NDk3LCA3NTg0LCAxMTkxNDAsIDEyNzg1MywgNzg3NTMsIDEyMDM0NywgCisgICAgNzcyNywgMCwgODQ5OCwgNjk4MTgsIDg5NDksIDMwNjUsIDQyNzE5LCA3MTM1LCAxNTY5LCA5MjM3NSwgMTI1MzQsIDEyMTI0LCAKKyAgICA3NjkwLCAwLCAxMjUzMywgOTgzODc5LCA2NDE4LCA0NTQzLCA3ODA4NiwgNjk2OSwgMCwgNzQ4MDAsIDcxMDUxLCA2Nzk3NCwgCisgICAgMTE5ODAsIDEyODY1MCwgOTgzODAxLCA2Mzg5NCwgMTIwNzYwLCAxMjI4MiwgNjYxOTIsIDAsIDc0NTkyLCA4ODUwLCAKKyAgICA3NDI3NSwgOTIzOCwgMTA2MTcsIDkxNzU0NSwgOTE3OTA5LCA5MjYyNSwgOTE3ODAxLCAxMjc5MSwgMCwgOTQwNjksIAorICAgIDEyNzg0MywgNDQ0NywgNzEwNjUsIDEyNzkzLCAxMjkwMCwgOTIzNzcsIDEwOTUwLCA5ODM0NDcsIDc0NjM5LCAxMjc5MCwgCisgICAgNDE0MDAsIDExOTEyOCwgNjY2MDcsIDEyNzkyLCA0MjIzMiwgMTk0OTM4LCAxNzQ0LCAxMjc4OSwgMTAzNjYsIDEyMzE3LCAKKyAgICA0MTMxMCwgMTIwNzMwLCA0MTM5OSwgMCwgMCwgNTUyNTgsIDAsIDEyNjkwLCAwLCAwLCA0MzY3MiwgMTI3ODQwLCA0MTY1MiwgCisgICAgMjk3NCwgOTAxMCwgMTEzMTUsIDAsIDI3OCwgMCwgNDE0MDUsIDQzODcxLCAwLCAxMDA3NywgNjM4NTMsIDc0NTU3LCAKKyAgICA0MjU4NiwgMCwgMCwgNjAwMiwgNjczMzUsIDQzNTUzLCAxMTE4OSwgNjczMzgsIDY3MzM3LCAxMjc4NywgNDEzMDgsIDc5MzQsIAorICAgIDY1MzA2LCAwLCAxMjg0MjEsIDAsIDg2NDYsIDk4MzE4NiwgNzc4MjksIDcxMzYwLCAwLCA2NDEzLCA2NTUwLCAxMTM3NTksIAorICAgIDE5NDAsIDAsIDQzNjM3LCAyMjAsIDY1MTkzLCA0MzU1MSwgMTA2NzgsIDEwMDQ0LCAxMjgzMjIsIDEyODEyMSwgOTgzODE2LCAKKyAgICA2ODI5MCwgNjQwMywgNTcwNywgMTAzOTMsIDEyNzUzMiwgMCwgNjY2MTQsIDAsIDAsIDAsIDEwMjk3LCAwLCAzNzQyLCAKKyAgICA2NzMzMSwgMzk1OSwgMCwgMTIwNDY2LCAwLCAyNDY3LCA2OTczOSwgNjAwMywgNjM4NDQsIDY2NjMsIDgwNDAsIDAsIAorICAgIDQzNzU4LCA0MTgyLCA3ODE3MSwgNDY3NiwgMTIwNTAxLCA5MjEwLCAwLCAyNTEwLCAwLCAxMDIwOCwgNzgxNjgsIDkyMzYxLCAKKyAgICAxMTU0MCwgNDM1NDYsIDY2OTIsIDY4MzcsIDQxMDYwLCAwLCA0NjY4LCA5MDgzLCAwLCAwLCA3ODE0NCwgMTU1OSwgNjM4MzEsIAorICAgIDk2NzcsIDY3MzQwLCA2NzM0NywgNjUyNTYsIDY3MzQ1LCA2NzM0NCwgMCwgMCwgMzY1LCAxMjA1NiwgNDMwMjcsIDEyMDQyMywgCisgICAgNDE3MTYsIDEyODIzNiwgNjczNTIsIDY3MzUxLCA1NTE2LCAyODQ1LCA3NzE3LCA4MDM2LCA0MTcxNywgNjczNTMsIDU0NCwgCisgICAgMTIwNDUsIDYyNzgsIDc0NjMyLCA1NTE1LCAwLCAwLCA5ODMwNTEsIDY1MzM5LCA0MzIyMSwgMjIxMSwgMCwgNTUxNywgCisgICAgNzAxMTYsIDc0MjI1LCA3NDg0MSwgNjc4ODQsIDEyODQxNCwgNjc4OTAsIDY3ODg1LCA2Nzg4MCwgNjc4ODEsIDY3ODgyLCAKKyAgICA2Nzg4MywgMCwgMTE4ODgzLCA2Nzg3OSwgMTI3MTg4LCAxOTAyLCA2Nzg4NywgOTYzOCwgMTI5NzYsIDEyNjU0NiwgMTI0ODMsIAorICAgIDEyMzY4LCA0MTc2OSwgNDI3MjYsIDQxNzY1LCA3MzYxLCA2NjY3LCA2Nzg3NCwgNzU1NiwgNjc4NzgsIDc0MzUxLCAxMTI2NCwgCisgICAgOTg5LCA0MjY3NywgNjc4ODksIDkzMDQwLCAxMzExLCAxMjg5NDksIDQzMjYsIDExMDAwLCA2MzgyNCwgMTMwNjgsIDEwOTMyLCAKKyAgICAxMjg4ODAsIDY5MTcsIDc4MTU1LCA5ODM2MTUsIDk0OSwgNzc4ODIsIDAsIDYxNDgsIDg2MDUsIDQyMjUzLCA3ODE3NywgCisgICAgNjY5MDYsIDAsIDQyNzE1LCAwLCAwLCAwLCA2Mzg3MSwgMCwgNDE3OTYsIDEyNjksIDY1MzAsIDAsIDY1MDU3LCA3MDQ5MywgCisgICAgNTE0NCwgMTIyMjEsIDQyNzE2LCA2ODI5OSwgNDQzMSwgNDMzMSwgOTgzNzI5LCAxMjg2NzUsIDQxODM0LCA1Mjc5LCAwLCAKKyAgICAxMDMzNiwgODMxMiwgMCwgNDI3MDEsIDkyOTU5LCAwLCA3ODE2NSwgNjYwMzYsIDcwMTY2LCAxMjQ5MzUsIDY0MjgsIAorICAgIDQyMjcwLCAwLCA5ODM1OTYsIDQzMDU5LCA0MjY2NiwgNTI1NiwgMTA2NywgMjU1LCAxMjEzMSwgMTI4NzQyLCA5NDkzLCAKKyAgICA5ODM5NjgsIDQxMDE0LCAxMTc5MywgMTk0OTIwLCAwLCA3NDM5NCwgNDM0NjAsIDEwNjUzLCA0MjcyMywgOTgzODU0LCAKKyAgICAxMTk2MzIsIDcwNDI3LCA2NTYwLCA3MDE2LCA3NDI3NCwgNjk5ODYsIDQzNTU2LCAzOTI5LCA2Nzk3NywgNjYxNCwgMjc2OCwgCisgICAgOTI1MDQsIDk3NDYsIDUxMzUsIDExODExLCAxMjc5NiwgMTE5NTMsIDAsIDY5NzYxLCA1MTM5LCAzNDYsIDc0MzAzLCA2MzA1LCAKKyAgICAxMjc5NSwgNDY3NSwgNTE2OCwgNzg1NTIsIDQzODQ1LCA3NDMxNSwgNzQzNjEsIDgyNTMsIDg4MTcsIDExMzYsIDAsIAorICAgIDQzNTYzLCA5MjIzMiwgMTI4OTE0LCA2NjQxMCwgNzM5MiwgODIzMCwgOTM2NSwgNzExOTQsIDAsIDk4MzYwNywgNjY5MTUsIAorICAgIDEyODQwMiwgNDA0MSwgMCwgMjM1NywgNDMyNDAsIDEyNzg2LCAyMjksIDQzODM0LCAxMTk4ODQsIDQ0MDA0LCA3MTQyLCAKKyAgICAxMTk4ODEsIDEyMzUwLCA2NTU1NCwgMTE5ODgyLCAxMTk4NzcsIDExOTg3NiwgMTI3ODUsIDYzODYzLCA0Mzc5NSwgNzc3MCwgCisgICAgMTA3MTIsIDY0ODUzLCAxMjY4NiwgNDM4MzEsIDQyMzc1LCAwLCAxMjcyMzgsIDY2MzUyLCAxMDQ3MCwgMCwgMTEwNTksIAorICAgIDEwNzkxLCA5MTc5NDQsIDQ1MCwgMTE5MzI4LCAwLCAxMDQzMiwgMTIwOTcsIDU0NTAsIDY0NjkxLCAxMjMzLCAwLCA0NDAwOSwgCisgICAgNzgyODQsIDY2MzM4LCA2NjM5NSwgMCwgMTgzOSwgMTE4Nzk5LCA5ODMyMTksIDEwOTI3LCAxNzAxLCA5ODM2NjQsIDIzODgsIAorICAgIDQxNzQ5LCA0MTc2MSwgNTQ1MywgODM2MSwgMTE5ODY1LCA4OTUsIDU0NDQsIDQxNzYzLCA2NDg4OSwgNzE0MywgOTI0OTMsIAorICAgIDc4Njc3LCA5ODMxMzcsIDkyNDI5LCA2OTk4MywgNjY0MzIsIDg4MDEsIDMwNTMsIDQzNDAsIDk4MzA0NCwgMCwgNjU4MTIsIAorICAgIDEyMDY3NSwgNzAwMDEsIDQxODI0LCA2Nzk4NSwgMTIwMjAzLCA5MjYwMCwgMTI3MDUzLCA0MjcwMCwgMTk0ODA1LCAKKyAgICAxMjc5ODAsIDE5NDgwNywgNzg2NzYsIDkyMzU2LCAxOTQ4MDgsIDEyNzg0NCwgMCwgNDQ5MywgNDMzNiwgMTI5MTcxLCAKKyAgICAyMzE0LCA0MzYwMiwgNzg4MjYsIDExOTMyNSwgMTk0ODExLCA0MjQzOSwgNjQ2MzgsIDQyMzI3LCA0MzUyOCwgNDQ4OSwgCisgICAgNzEzMzEsIDEyODAwNiwgMTk0NzkzLCAxOTEyLCA0MjM4NSwgMTAzMDYsIDEwMzcwLCAwLCAwLCA4ODY3LCAxMDI1MCwgCisgICAgMTAyNTgsIDI3MTIsIDE2MzUsIDcxMDY0LCAxNDEwLCA3ODc2MywgOTgzMjUwLCAxMTg4NzgsIDAsIDEyODcxNSwgOTkxOSwgCisgICAgMTIwNTI4LCA1NTksIDEyODE1NywgNDE4MjUsIDEyNzk3NSwgNzQ2NDEsIDQ4OTIsIDc0MDE2LCAxOTQ3ODEsIDY1NDIsIAorICAgIDQxOTU3LCAxMjg4NjUsIDU3NzcsIDAsIDc1OSwgNjU3NDksIDIwNzksIDY1MjQ4LCAxMjc4OCwgNjQ0ODcsIDY0NTUyLCAKKyAgICA5MzA2MywgMTAyMjMsIDQyMDYyLCAwLCAwLCA3NDI0NiwgMzY2OCwgNjU3NTQsIDQzNTYwLCAxMjIyNiwgNjc5OTEsIAorICAgIDY1MTQ5LCAyMzQwLCA0MTk1OSwgMTk0Nzg2LCAxOTQ3ODUsIDE5NDc4OCwgNDM2MTgsIDY1NzQ3LCAxMDkzNywgMjk2MiwgMCwgCisgICAgMjMyMSwgMzU4NywgNjU3NDUsIDY3MjM2LCA4OTIxLCA5OTUyLCAxMjg5NDEsIDAsIDQyNzE0LCA5OTUxLCA0MzQwOSwgCiAgICAgMTk0NzcwLCAyOTQ5LCA2NjAxMiwgMTk0Nzc1LCAxOTQ3NzQsIDI5NTgsIDY4MzU5LCA0MTgyMCwgMjMwMCwgMjM5NSwgCi0gICAgMTI4NTYzLCA5OTc2LCAxMjAwNDMsIDEyMDA1MCwgMTIwMDU4LCA2ODIyMCwgMTI4MTQzLCA0MjgwOSwgNDI4MDcsIDAsIAotICAgIDEyMDA0NiwgMTAxOTgsIDQxNTAsIDY0MzcxLCA4MzE4LCA0MTc5MCwgNjc5NzYsIDQxODk4LCAyMzYwLCA0MTc5NCwgCi0gICAgOTE3OTQyLCA3MTMxNCwgMTI3ODE4LCAwLCAwLCAyNDE4LCA5ODMwOTgsIDI0MTEsIDExMzM2LCA3OTksIDYzODIzLCAKKyAgICAxMjAwNjEsIDk5NzYsIDEyMDA0MywgMTIwMDUwLCA3MTg5NiwgNjgyMjAsIDEyODE0MywgNDI4MDksIDQyODA3LCA3MDc5OCwgCisgICAgNjYyOTAsIDEwMTk4LCA0MTUwLCA2NDM3MSwgODMxOCwgNDE3OTAsIDY3OTc2LCA0MTg5OCwgMjM2MCwgNDE3OTQsIAorICAgIDkxNzk0MiwgNzA3OTYsIDkyMTYzLCA5MzAzMywgMCwgMjQxOCwgOTgzMDk4LCAyNDExLCAxMTMzNiwgNzk5LCA2MzgyMywgCiAgICAgMTAyNzYsIDEwMzA4LCAxMDM3MiwgOTE3NTQxLCA0MTc3MiwgNDI4MTMsIDIzMTcsIDEwMjYwLCAxMTg5ODAsIDU1Mjg0LCAKLSAgICA5MjIwMywgMCwgMTAzODQsIDk4MzIyMCwgMCwgMCwgNzc1MywgMjM1MSwgNjY1NSwgNjQ0ODksIDY5OTMxLCAwLCA3Nzg3MiwgCi0gICAgNDQ0MywgNDI3NzksIDIzMCwgMCwgMCwgNDM1NDksIDQ4NTUsIDQyMTUwLCA2NTczOSwgNTQ0MSwgNDE4OTYsIDEwMjg4LCAKLSAgICAxMDMyMCwgMCwgODU1LCA3MDQ2LCA2MTA5LCA2NTA0NSwgNjM4MzksIDc4MTk4LCAyMDQ5LCAxMDA5OCwgMCwgNzQxNDUsIAotICAgIDEyNzk0MywgMTAyNjQsIDEwMjgwLCA5MTg0LCAxMDM3NiwgNzAxMywgNDQ2NywgMCwgMCwgMCwgNDE4ODcsIDAsIDQ4NjIsIAotICAgIDk3MzUsIDY1MzcsIDEyMDU5MSwgNzQyODYsIDM5MTQsIDkyMTc4LCA5Mzk3NiwgOTA2NSwgMTI5NjEsIDAsIDAsIDkyMjUzLCAKLSAgICAwLCAyODksIDAsIDQ2OTQsIDExNDIwLCA0NjkwLCAwLCAxMjA1MTQsIDkxNzk3OCwgNDY5MywgNzM4OTMsIDQyNzI0LCAwLCAKLSAgICA0Njg4LCAxMjA0NTQsIDAsIDAsIDY3OTk0LCA4MjM4LCAzMTEwLCAxMjAxNjIsIDk4MzkwOCwgMTIwMTYzLCA2NTI4LCAKLSAgICAxMjc1NTMsIDQzMDM1LCA2OTg5OCwgMjE4LCAwLCAxNTIwLCAwLCA0Nzg2LCAwLCA0MzIyNSwgNDYwMiwgMCwgNzgxNjcsIAotICAgIDEwMDg4LCA2NTQ4LCAwLCAxMjAxNTYsIDQzOTc4LCA4OTg4LCA4ODg4LCAwLCAwLCAwLCAwLCAxMDY2NiwgMCwgNzM5MDIsIAotICAgIDY5NzQwLCAwLCAwLCA5OTc1LCAxMjgwMzksIDExOTkwMiwgNDY4OSwgODkzMiwgMCwgNjU1NjAsIDExOTIwOSwgNzQ0NDEsIAotICAgIDc4ODEwLCAwLCAwLCA2Nzk4NywgMCwgMCwgMCwgNjc5ODksIDAsIDEwMDY1LCA4MjA3LCAwLCA5MjYxMywgMTI4MDExLCAwLCAKLSAgICA2NjIsIDAsIDkyNDQsIDE5NDg2MywgMCwgMTE5MjYxLCA5ODM0MjgsIDAsIDAsIDAsIDQxOTI5LCAwLCAwLCA2NjY3NCwgCi0gICAgNDE5MjYsIDEyMDQwOCwgMTIwNDQzLCAxMDUxMywgNjQ2MzcsIDE5NDg2MiwgNjgwMTMsIDUyLCAxMzExOCwgNjQ3NSwgMCwgCi0gICAgMTIwMzQxLCAxMjA5NSwgMTAyMjUsIDQ4MTIsIDkyNTc4LCAwLCA2Nzk5MiwgNzQwODUsIDAsIDM5NzgsIDAsIDkxNzk0NSwgCi0gICAgMTI3ODIzLCAxMTU4MiwgMTIwNzYxLCAxMjI4MSwgMCwgNjU0NCwgMTMyNDEsIDkzOTYxLCA2OTc4MiwgMTI4NTU3LCAKKyAgICA3ODY4NiwgMCwgMTAzODQsIDk4MzIyMCwgMCwgMTI5MTExLCA3NzUzLCAyMzUxLCA2NjU1LCA2NDQ4OSwgNjk5MzEsIAorICAgIDcwMTk5LCA3Nzg3MiwgNDQ0MywgNDI3NzksIDIzMCwgMCwgMTI4OTY5LCA0MzU0OSwgNDg1NSwgNDIxNTAsIDY1NzM5LCAKKyAgICA1NDQxLCA0MTg5NiwgMTAyODgsIDEwMzIwLCAwLCA4NTUsIDcwNDYsIDYxMDksIDY1MDQ1LCA2MzgzOSwgNzgxOTgsIDIwNDksIAorICAgIDEwMDk4LCAwLCA3NDE0NSwgMTI3OTQzLCAxMDI2NCwgMTAyODAsIDkxODQsIDEwMzc2LCA3MDEzLCA0NDY3LCA3ODY4NCwgMCwgCisgICAgMCwgNDE4ODcsIDAsIDQ4NjIsIDk3MzUsIDY1MzcsIDEyMDU5MSwgNzQyODYsIDM5MTQsIDkyMTc4LCA5Mzk3NiwgOTA2NSwgCisgICAgMTI5NjEsIDAsIDAsIDkyMjUzLCAwLCAyODksIDEyODcxNCwgNDY5NCwgMTE0MjAsIDQ2OTAsIDAsIDEyMDUxNCwgOTE3OTc4LCAKKyAgICA0NjkzLCA3Mzg5MywgNDI3MjQsIDY5OTc3LCA0Njg4LCAxMjA0NTQsIDAsIDAsIDY3OTk0LCA4MjM4LCAzMTEwLCAxMjAxNjIsIAorICAgIDM1NjUsIDEyMDE2MywgNjUyOCwgMTI3NTUzLCA0MzAzNSwgNjk4OTgsIDIxOCwgOTgzODUwLCAxNTIwLCAwLCA0Nzg2LCAKKyAgICA5ODMxNjgsIDQzMjI1LCA0NjAyLCA5MTc5ODIsIDc4MTY3LCAxMDA4OCwgNjU0OCwgMCwgMTIwMTU2LCA0Mzk3OCwgODk4OCwgCisgICAgODg4OCwgOTI3MjQsIDc0ODEyLCA2OTcwOSwgMCwgMTA2NjYsIDAsIDczOTAyLCA2OTc0MCwgMTI3NzkzLCAwLCA5OTc1LCAKKyAgICAxMTM3MDQsIDExOTkwMiwgNDY4OSwgODkzMiwgMCwgNjU1NjAsIDExOTIwOSwgNzQ0NDEsIDc4ODEwLCAwLCAwLCA2Nzk4NywgCisgICAgMCwgMTI4ODI4LCAwLCA2Nzk4OSwgMTE5MDI5LCAxMDA2NSwgODIwNywgNzE5MDAsIDkyNjEzLCAxMjgwMTEsIDAsIDY2MiwgCisgICAgMCwgOTI0NCwgMTk0ODYzLCAwLCAxMTkyNjEsIDk4MzQyOCwgMCwgMCwgMCwgNDE5MjksIDAsIDcxMDg0LCA2NjY3NCwgCisgICAgNDE5MjYsIDY5OTk0LCAxMjA0NDMsIDEwNTEzLCA2NDYzNywgMTk0ODYyLCA2ODAxMywgNTIsIDEzMTE4LCA2NDc1LCAwLCAKKyAgICAxMjAzNDEsIDEyMDk1LCAxMDIyNSwgNDgxMiwgOTI1NzgsIDEyODQ4NiwgNjc5OTIsIDc0MDg1LCAwLCAzOTc4LCAxMjg0MjUsIAorICAgIDkxNzk0NSwgNzQwMTUsIDExNTgyLCA5Mjc2OCwgMTIyODEsIDAsIDY1NDQsIDEzMjQxLCA5Mzk2MSwgNjk3ODIsIDEyODU1NywgCiAgICAgMTk0ODYwLCAxMTc2NSwgNjUyNTgsIDEwMzY5LCAwLCAxNTg1LCA3MTkyLCAxMDI0OSwgNDIyLCAxNTAwLCAyMDM2LCA5ODYsIAogICAgIDE5NDg1OSwgNjQzOTQsIDU3ODEsIDU1OTksIDY0Mjk0LCAyNDk0LCAxMjA0NTAsIDQ4NjEsIDc0MDIxLCA2NDMzNCwgCi0gICAgNzgyMDMsIDEyNzgwOCwgMCwgOTIyNjYsIDY1MTAyLCA4OTYxLCA2NTg0MiwgMTAyNDMsIDEwMjQ1LCA3NDE5MSwgMTIwNDEwLCAKKyAgICA3ODIwMywgMTI3ODA4LCAwLCA5MjI2NiwgNjUxMDIsIDg5NjEsIDY1ODQyLCAxMDI0MywgMTAyNDUsIDcxOTA3LCAxMjA0MTAsIAogICAgIDAsIDEyMDQ1MywgNjQ4MjEsIDk0NzgsIDI1MDgsIDkyNjgzLCAwLCAyMDIsIDEyODI0NiwgNzQxMzEsIDEyNDIsIDY1NTE0LCAKLSAgICAwLCA2Mzk0MCwgMTI4NzA2LCA2NDUzMywgMTIwMTI5LCAwLCA2Nzg0MiwgMTE5OTAsIDkyNDMwLCA2MzkzOSwgNDMzNzUsIAotICAgIDY1NDQwLCAyNTA0LCAwLCA3ODY3MSwgNjQ4MjksIDk4MzkxMCwgNjk0MywgOTE3OTM0LCA1ODU5LCAwLCAyODU4LCAKLSAgICA5ODMzNjEsIDc0Mjk0LCA5ODM5MTQsIDY5MjM5LCAwLCAxMTkwMjcsIDEyOTkyLCAyNzUzLCAxOTM2LCA3MDA3OCwgOTI1NzQsIAotICAgIDI3NTEsIDEyNjYyLCAyNzYzLCA4OTUzLCA2NDcwMSwgMTA3MzEsIDEyOTIyLCA3MDUyLCA5MTc4MzksIDAsIDAsIDAsIAotICAgIDYzOTIwLCA3NDEyOCwgMjg1NiwgMTE5OTEwLCA0NywgNjk5MDgsIDEyNjk4NiwgNjU4NTgsIDAsIDAsIDAsIDc4OTksIDAsIAorICAgIDEyODkxMywgNjM5NDAsIDEyNzExOCwgNjQ1MzMsIDcxODgzLCAxMjA0NDYsIDY3ODQyLCAxMTk5MCwgOTI0MDUsIDYzOTM5LCAKKyAgICA0MzM3NSwgNjU0NDAsIDI1MDQsIDAsIDc4NjcxLCA2NDgyOSwgOTMwMjAsIDY5NDMsIDkxNzkzNCwgNTg1OSwgMCwgMjg1OCwgCisgICAgOTgzMzYxLCA3NDI5NCwgOTgzOTE0LCA2OTIzOSwgMCwgNjc4NzEsIDEyOTkyLCAyNzUzLCAxOTM2LCA3MDA3OCwgNjc3MDEsIAorICAgIDI3NTEsIDEyNjYyLCAyNzYzLCA4OTUzLCA2NDcwMSwgMTA3MzEsIDEyOTIyLCA3MDUyLCA5MTc4MzksIDY2NDI0LCA2Mzk5MiwgCisgICAgMCwgNjM5MjAsIDc0MTI4LCAyODU2LCAxMTk5MTAsIDQ3LCA2OTkwOCwgNzEwNTMsIDY1ODU4LCAwLCAwLCAwLCA3ODk5LCAwLCAKICAgICA4NDE3LCA0Mzc5OCwgNzA3MiwgMCwgMCwgNDAzMywgMTI4MTY0LCA0Mzk5MiwgMCwgMCwgMjEyLCA2NDYwMCwgMTkwMywgCi0gICAgMTIzMjAsIDAsIDAsIDE5NDU2MywgMCwgODkxNSwgMjc1OSwgOTQ1LCA2Njg5LCAwLCAwLCAwLCAwLCAxMjkxLCA3NDgyOCwgCi0gICAgMCwgMCwgOTUzMSwgMTMxNTUsIDg1MDUsIDY4Mzc5LCAxMjA2MiwgMCwgMCwgNjU0ODcsIDkyMTg5LCA0MTgzNywgMTIwNjExLCAKLSAgICAxMjA0MzIsIDAsIDAsIDAsIDEyMDQzMywgMCwgNjM5MzUsIDczOTYyLCAxMjA4MDYsIDY0Nzg3LCA0MzUyNCwgMCwgNjQ0MjYsIAotICAgIDAsIDE5NDk0OCwgMCwgMCwgNjU2NjQsIDY2OTMsIDk4NDMsIDAsIDg2NzQsIDExOTg4NywgMTI4ODEyLCA5MjcxNSwgMCwgCi0gICAgMTI2MjQsIDAsIDE2NzMsIDQ4MTEsIDkyMzgzLCA1OTg2LCA5MzM4LCAzMDQ2LCA3NDQ4MCwgNTk4NSwgOTE3OTI4LCAKLSAgICAxMTk1OTgsIDk4MjAsIDAsIDEyMTg3LCAwLCAwLCA1OTg0LCAwLCA0MzMwOCwgNDM5MywgNjc2NTAsIDAsIDAsIDAsIDAsIAotICAgIDc0ODI2LCA2NDczMywgMCwgMCwgMzQ5MSwgMCwgMCwgMTI4MjE5LCAzNTE0LCA2NTQ4NSwgMCwgNzQ5MiwgMCwgNzQ2MDUsIAotICAgIDkyNDgzLCA3NTE0LCA5ODMzNjcsIDAsIDE5NDczMSwgNzUwMiwgNzU4NywgNjgzNTMsIDAsIDAsIDYzOTI1LCAwLCA3NjEwLCAKLSAgICAyMTksIDAsIDAsIDY5MiwgNDM1ODgsIDc0NDMzLCA0MTYzNSwgNDMyNDEsIDk2ODgsIDcxNDcsIDk1MzUsIDAsIDkzOTkxLCAKLSAgICAwLCA2NDUzMCwgMCwgNjQ2MTAsIDExODA0LCAwLCA3MTQ5LCA3NDUzLCAwLCA4MDEzLCAwLCA5MjMwMSwgMCwgODg5NSwgCi0gICAgNTI1MywgNzAwMjUsIDU0NTgsIDAsIDI4NjYsIDAsIDEyNzg2MCwgNjUxMTEsIDY4NDMzLCA2NzAwLCAxMjA0ODQsIDAsIAotICAgIDEyMDU4MywgMCwgODk2MiwgNzc5NjAsIDk2NDEsIDQzNjk0LCA3MDU5LCA5ODM2NzcsIDAsIDk2MDQsIDc4NzAwLCA3NDQxLCAKLSAgICA2MzgyNiwgNjc5NzAsIDExODk0MSwgNjQzOTIsIDE5NDczNSwgOTgzNjg3LCAyODQ0LCA5ODM5NDEsIDQxOTc0LCAwLCAKLSAgICAxMjEzOSwgNjc5NzEsIDAsIDAsIDMzNTgsIDY1Mjk1LCAwLCAzMTA0LCAxOTQ3MzQsIDAsIDE5NDc2NSwgOTgzMjMzLCAKLSAgICA1MzA4LCAwLCAyOTAsIDAsIDAsIDI4NjIsIDI3OTIsIDE5NTA4OCwgOTgzMDcwLCAwLCAzMjY4LCA2NjU5MSwgMCwgNjU1MiwgCi0gICAgNDIzNjcsIDcwMzUsIDEyMDU1OCwgMCwgMCwgMTgxNCwgMCwgMTAyNDAsIDkyMzM4LCA3NDMwNSwgMCwgNzQ1MjgsIDY1OTAzLCAKLSAgICAwLCA0MjY0NiwgNzYwNiwgMjU5MSwgMjgzNywgNDM0MSwgNzc5NTYsIDY0NDgyLCAxMjczMzcsIDgxNjMsIDY1MjcwLCAwLCAKLSAgICA3NzkzMiwgMCwgOTExMiwgNzQ0MzEsIDg2MywgOTQ5MCwgMTE5ODk4LCAxMjgzNDksIDQzMzIzLCAxMjA1MTMsIDExOTg5NywgCi0gICAgOTA3MSwgMTI3MzMzLCAwLCAzNjU0LCA3Nzg5LCA5NjM3LCAwLCAyNTM1LCA2NTUwNCwgNzY1MywgNDA5OTMsIDExOTg5OSwgCi0gICAgNjY1ODcsIDE5NTA5OCwgMCwgOTI0MDEsIDk4Mzg5NCwgMTEwMDYsIDEyOTI3LCA3ODA3LCA4MDczLCAwLCAxMDYyOSwgMCwgCi0gICAgNzQwODgsIDMwNTYsIDEwODIzLCAxMjg3OTcsIDEyNzMyNywgODc2MiwgMTA1MDgsIDY5Njg5LCA3Mzc3MCwgNDM5NjksIAotICAgIDQzMTkzLCAxMDczNywgMzQ2MywgOTgzMDY1LCAwLCA2NjYzMywgODY5NSwgNDgxNSwgMTEzMjIsIDU4MTEsIDEyMzQ1LCAKLSAgICA3MDQ5LCAxMTk5MTEsIDUxOTUsIDE5NTA4MSwgMCwgNjY2MzksIDAsIDAsIDAsIDEyODA0MSwgMCwgOTIzODUsIDEyNjIsIDAsIAotICAgIDY1NjEsIDE5OTM5LCAwLCAwLCAxMjg1MzUsIDExOTkwNiwgMCwgMCwgOTgzMDk3LCAwLCA5ODM2NjcsIDExOTkwNywgCi0gICAgNjQ2MTIsIDExOTkxLCAwLCAwLCAwLCAxNTAyLCA5MTc1NjgsIDAsIDkxMDcsIDEyNzMxNiwgNTcwMiwgMzY1NSwgNjc2NjEsIAotICAgIDg0MzAsIDAsIDc0MTMyLCAxMjA3NTgsIDAsIDc0MDU3LCA5NjAzLCAwLCA1MjU0LCAxMjA3NDIsIDc3MjQsIDc0Mzg4LCAKLSAgICA2ODM3NSwgMTA3OTYsIDUxMjksIDAsIDAsIDU5MCwgNzU3OSwgNTYxNCwgNTg5MywgOTIyODAsIDExNzIwLCA5MjQ5NiwgCi0gICAgMTE3MjEsIDAsIDQ3OTgsIDAsIDExOTMxNiwgNjYwMzgsIDQ3OTMsIDY3ODUxLCAxMTcyNiwgMTI3NTQxLCA3NDIwNCwgCi0gICAgNjg2MTAsIDAsIDY4NjI2LCA4OTQsIDMwMCwgOTE3ODEzLCAxMjMwNiwgNjYyMzUsIDgwMDQsIDAsIDAsIDI1NjIsIAotICAgIDEyNjU1NSwgMCwgNDI1MDMsIDAsIDExNjUyLCAwLCAwLCAxMTkyNDEsIDY0Njk5LCAxMjY1NjksIDUwOTYsIDUwOTUsIAotICAgIDI4NjMsIDM0MjQsIDkyMjQ0LCAxMDQ1NCwgNDI1MzAsIDUwOTQsIDExOTYzOCwgMCwgMTMxNTYsIDAsIDEwODMyLCA1MDkzLCAKLSAgICAwLCA2OTg1MiwgMCwgNTA5MiwgMTA3MDgsIDExMzI3LCAwLCA1MDkxLCAxNzYsIDAsIDkxNTMsIDQxMDQsIDc4NTk5LCAKKyAgICAxMjMyMCwgMCwgMTI1MDAyLCAxOTQ1NjMsIDAsIDg5MTUsIDI3NTksIDk0NSwgNjY4OSwgOTMwNjQsIDAsIDAsIDExODc5OCwgCisgICAgMTI5MSwgNzQ4MjgsIDAsIDAsIDk1MzEsIDEzMTU1LCA4NTA1LCA2ODM3OSwgMTIwNjIsIDEyODE5OCwgMCwgNjU0ODcsIAorICAgIDkyMTg5LCA0MTgzNywgMTIwNjExLCA4MjQ2LCAwLCA5MzA2NiwgMCwgMTIwNDMzLCAwLCA2MzkzNSwgNzM5NjIsIDEyMDgwNiwgCisgICAgNjQ3ODcsIDQzNTI0LCAwLCA2NDQyNiwgMCwgMTk0OTQ4LCAwLCAwLCA2NTY2NCwgNjY5MywgOTg0MywgMCwgODY3NCwgCisgICAgMTE5ODg3LCAxMjg4MTIsIDkyNzE1LCA3MDc4OCwgMTMyMCwgMCwgMTY3MywgNDgxMSwgOTIzODMsIDU5ODYsIDkzMzgsIAorICAgIDMwNDYsIDc0NDgwLCA1OTg1LCA5MTc5MjgsIDExOTU5OCwgOTgyMCwgMTE5ODkyLCAxMjE4NywgOTgzODQxLCA3MTA0MSwgCisgICAgNTk4NCwgMCwgNDMzMDgsIDQzOTMsIDY3NjUwLCA5ODMyMjcsIDAsIDEyNTExMiwgMCwgNzQ4MjYsIDY0NzMzLCAwLCAKKyAgICAxMjc4OTgsIDM0OTEsIDY3MTQ2LCA5ODM3MTAsIDEyODIxOSwgMzUxNCwgNjU0ODUsIDcyNDI4LCA3NDkyLCAwLCA3NDYwNSwgCisgICAgOTI0ODMsIDc1MTQsIDk4MzM2NywgMCwgMTk0NzMxLCA3NTAyLCA3NTg3LCA2ODM1MywgNjM5MjEsIDAsIDYzOTI1LCAwLCAKKyAgICA3NjEwLCAyMTksIDAsIDc4NzIyLCA2OTIsIDQzNTg4LCA2ODQ4NSwgNDE2MzUsIDQzMjQxLCA5Njg4LCA3MTQ3LCA5NTM1LCAKKyAgICAwLCA5Mzk5MSwgMCwgNjQ1MzAsIDAsIDY0NjEwLCAxMTgwNCwgMCwgNzE0OSwgNzQ1MywgMCwgODAxMywgMCwgOTIzMDEsIDAsIAorICAgIDg4OTUsIDUyNTMsIDcwMDI1LCA1NDU4LCAwLCAyODY2LCAxMjkwNDUsIDEyNzg2MCwgMTEwOTgsIDY4NDMzLCA2NzAwLCAKKyAgICAxMjA0ODQsIDAsIDEyMDU4MywgMCwgODk2MiwgNzc5NjAsIDk2NDEsIDQzNjk0LCA3MDU5LCA5ODM2NzcsIDYzOTk3LCAKKyAgICA5NjA0LCA3ODcwMCwgNzQ0MSwgNjM4MjYsIDY3OTcwLCAxMTg5NDEsIDY0MzkyLCA5MjYyNiwgOTgzNjg3LCAyODQ0LCAKKyAgICA3NDYxMCwgNDE5NzQsIDY3Mzk3LCAxMjEzOSwgNjc5NzEsIDAsIDAsIDMzNTgsIDY1Mjk1LCAwLCAzMTA0LCAxOTQ3MzQsIDAsIAorICAgIDE5NDc2NSwgOTgzMjMzLCA1MzA4LCAwLCAyOTAsIDAsIDAsIDI4NjIsIDI3OTIsIDE5NTA4OCwgOTI5NjMsIDAsIDMyNjgsIAorICAgIDY2NTkxLCAwLCA2NTUyLCA0MjM2NywgNzAzNSwgMTIwNTU4LCAwLCAwLCAxODE0LCAxMjg1NzIsIDEwMjQwLCA2NjI4NSwgCisgICAgNzQzMDUsIDEyODM4MiwgNzQ1MjgsIDY1OTAzLCAwLCA0MjY0NiwgNzYwNiwgMjU5MSwgMjgzNywgNDM0MSwgNDM1MTMsIAorICAgIDY0NDgyLCAxMjczMzcsIDgxNjMsIDY1MjcwLCAwLCA3NzkzMiwgMCwgOTExMiwgNzQ0MzEsIDg2MywgOTQ5MCwgMTE5ODk4LCAKKyAgICAxMjgzNDksIDQzMzIzLCAxMjA1MTMsIDExOTg5NywgOTA3MSwgMTI3MzMzLCAwLCAzNjU0LCA3Nzg5LCA5NjM3LCAwLCAKKyAgICAyNTM1LCA2NTUwNCwgNzY1MywgNDA5OTMsIDExOTg5OSwgNjY1ODcsIDEyNDk4NywgMCwgOTI0MDEsIDk4Mzg5NCwgMTEwMDYsIAorICAgIDEyOTI3LCA3ODA3LCA4MDczLCAwLCAxMDYyOSwgMTI3ODY5LCA3NDA4OCwgMzA1NiwgMTA4MjMsIDEyODc5NywgMTEzNzYyLCAKKyAgICA4NzYyLCAxMDUwOCwgNjk2ODksIDczNzcwLCA0Mzk2OSwgNDMxOTMsIDEwNzM3LCAzNDYzLCA5ODMwNjUsIDAsIDY2NjMzLCAKKyAgICA4Njk1LCA0ODE1LCAxMTMyMiwgNTgxMSwgMTIzNDUsIDcwNDksIDExODgxMSwgNTE5NSwgMTk1MDgxLCAwLCA2NjYzOSwgCisgICAgOTI5MzksIDAsIDAsIDEyODA0MSwgNjc5MDMsIDY3NzM5LCAxMjYyLCAxMjAxNjUsIDY1NjEsIDE5OTM5LCAwLCAwLCAKKyAgICAxMjg1MzUsIDExOTkwNiwgMCwgMCwgOTgzMDk3LCAwLCA5ODM2NjcsIDExOTkwNywgNjQ2MTIsIDExOTkxLCAwLCAwLCAKKyAgICA5Mjk0MywgMTUwMiwgOTE3NTY4LCAxMjc5ODgsIDkxMDcsIDEyNzMxNiwgNTcwMiwgMzY1NSwgNjc2NjEsIDg0MzAsIDAsIAorICAgIDcxMjIzLCAxMjA3NTgsIDAsIDc0MDU3LCA5NjAzLCAxMjgwNzksIDUyNTQsIDEyMDc0MiwgNzcyNCwgNzQzODgsIDY4Mzc1LCAKKyAgICAxMDc5NiwgNTEyOSwgMCwgNzA4MTYsIDU5MCwgNzU3OSwgNTYxNCwgNTg5MywgOTIyODAsIDExNzIwLCA5MjQ5NiwgMTE3MjEsIAorICAgIDcwODA0LCA0Nzk4LCAwLCAxMTkzMTYsIDY2MDM4LCA0NzkzLCA2Nzg1MSwgMTE3MjYsIDEyNzU0MSwgNzQyMDQsIDY4NjEwLCAKKyAgICAwLCA2ODYyNiwgODk0LCAzMDAsIDkxNzgxMywgMTIzMDYsIDY2MjM1LCA4MDA0LCAwLCAxOTUwNTYsIDI1NjIsIDcwMTU2LCAKKyAgICAwLCA0MjUwMywgMTI4ODY0LCAxMTY1MiwgMCwgMCwgMTE5MjQxLCA2NDY5OSwgMTI2NTY5LCA1MDk2LCA1MDk1LCAyODYzLCAKKyAgICAzNDI0LCA5MjI0NCwgMTA0NTQsIDQyNTMwLCA1MDk0LCA3MDg3MywgMCwgMTMxNTYsIDEyOTA1NywgMTA4MzIsIDUwOTMsIDAsIAorICAgIDY5ODUyLCA3MjQzMCwgNTA5MiwgMTA3MDgsIDExMzI3LCAwLCA1MDkxLCAxNzYsIDAsIDkxNTMsIDQxMDQsIDc4NTk5LCAKICAgICA3ODYwMSwgMTIxNSwgNDI3MTIsIDU3NDQsIDEyMjcyLCA5ODMyLCAxMTc3NywgNzEyOTksIDEyNzM3MSwgNDI4ODEsIDAsIAotICAgIDg5ODAsIDExODk4OCwgNjc4NjEsIDg4NDQsIDcyMDksIDAsIDAsIDQyNzgsIDAsIDAsIDE5NDc4OSwgMCwgOTA3NCwgNDM0OCwgCi0gICAgMCwgNjU1NTgsIDY1OTQ2LCA4MTEzLCA3MDg3LCA1MjU1LCAxNzg2LCA2NjEsIDAsIDAsIDAsIDc0NDIzLCA3MTM0NSwgNTg2LCAKLSAgICA3NDQxNCwgNjQzNTksIDEyNjcsIDEyODI2OSwgNjU0NjgsIDAsIDY1NzMxLCAwLCAxMjcxNzksIDM2MjEsIDEyMDQ3MywgCi0gICAgNjY2NjYsIDY0MjExLCAwLCA2NTYyLCAxMjkyOCwgMCwgMTIyOCwgNjU0OTAsIDExMzgzLCAwLCAwLCAwLCAxNzE0LCAKLSAgICA3NDQwNiwgMTI3ODMxLCAwLCA5ODM5MjEsIDAsIDY2MjI1LCAwLCAwLCA0MjY2MCwgMTE0MzYsIDIwNzAsIDY0LCAxMjA2OTQsIAotICAgIDAsIDEwMjkxLCAxMDMyMywgMjgyNiwgMCwgMCwgMCwgNDIwMDgsIDk3MDgsIDQyNzEwLCAwLCA0MjAxMSwgNDE5OTksIAotICAgIDkyMTY0LCAxMjIwNiwgNTgzOSwgMTcwMiwgMTI0MCwgNzQwNjUsIDYyODYsIDAsIDk4Mzk2OSwgNjU4MzMsIDc3ODQ4LCAwLCAKLSAgICAxNzY1LCAwLCAwLCA2NTU4OCwgMCwgMCwgMCwgODQwMSwgMCwgNDIwMTQsIDAsIDcwMzAsIDE5NDcwNCwgMTA0NzksIAotICAgIDY0OTU5LCAyODUyLCAwLCAwLCAwLCAwLCAxMjg1ODYsIDkxNzk1MSwgNjk2MywgMCwgMTI2NjcsIDY0NTQwLCA3NDc4NiwgCi0gICAgMTAxNDcsIDEyOTM1LCAxMjc1NjgsIDEyNjQ4MywgMCwgMCwgMCwgNzg3NTcsIDAsIDAsIDAsIDAsIDk5OTQsIDEyNDY3LCAKLSAgICAyODY0LCA2NDcxOSwgMTE0OCwgMTA0MzUsIDExNDYyLCA0MTY3NSwgNzA4NCwgMjc2NSwgMCwgNDMzODIsIDAsIDEyMDcxOSwgCi0gICAgMTI4MTg4LCA5MjUxNiwgNjY2NjIsIDAsIDc4MTMzLCA5MzY0LCAxOTQ2ODUsIDc0NDE2LCAwLCAwLCA3Nzk4OCwgMjYzLCAKLSAgICAxMDQ0OSwgNDEyODgsIDAsIDQxODM5LCA3ODM4NywgOTgzNzQyLCA3Nzk4NiwgMCwgNjkzMSwgNjk3MjIsIDY0MzU1LCAKLSAgICA3MTc3LCA3MDEwNSwgMCwgMCwgMCwgNDI2MiwgMTAyODUsIDEwNzIyLCA0MjAyMCwgMTI2NTc1LCA2ODA2LCA2OTkyLCAKLSAgICA0MjAxOSwgMCwgNDEyOTAsIDk4MzcxNiwgNzUwLCAwLCA3MTMwNCwgMTAxNjMsIDYzOTEzLCA3MTMwMCwgNzAzMiwgNTk1NCwgCi0gICAgNjQ5MzEsIDQzMTQsIDAsIDE5OCwgNjg0NTMsIDczMCwgMTIwMDk0LCA2MzkwNywgNzc5OTMsIDc4ODkxLCAxMzE2NSwgCi0gICAgNzEwNywgNzQxNzEsIDQyODA0LCA2NzgsIDgyNDAsIDc4MDE1LCAxMjg3ODQsIDQxMzc4LCAxMTAwOCwgNjkzOCwgNzAwMjYsIAotICAgIDkyNjM3LCAyMDk3LCA2NjI0NiwgMTIwNTYwLCAwLCAwLCAwLCAzODkyLCA2ODYzMiwgNjk2NDIsIDY3MTIsIDY2MDQ1LCAKLSAgICA0MTQ3MCwgNjQ4MDUsIDAsIDAsIDEyODIxNSwgNjQ4MDEsIDAsIDQ5NywgMTIxMDAsIDU5NTMsIDkyNjY3LCA3Nzk2LCAKLSAgICA2OTY2OSwgNDMyNTQsIDczODMxLCAwLCAxMDI5MywgNTk1MiwgMTI4MSwgNDM3NDcsIDAsIDAsIDEwNjc3LCA2MDQsIAotICAgIDQxMDk3LCA5MTgyLCAxODU5LCAwLCA5MjYwMywgMzQyNSwgMTI3NDg4LCAwLCAyODM2LCAwLCAwLCA5NzA3LCAwLCA0MzIwMiwgCi0gICAgMCwgMCwgNjUxOTksIDE3MzgsIDkxNzgxOCwgMTI4MTU4LCAyODMyLCA5MjcwMiwgOTY3MCwgMTI5MzcsIDAsIDY2Mzc0LCAKLSAgICA5MTc5NTYsIDAsIDI4MjIsIDY4MTIyLCA0NDM2LCA5MjUxOSwgOTgzNzIzLCA3Mzc1MiwgMCwgNjQ4NzIsIDkyMzQwLCAKLSAgICAxMzMxLCAwLCAwLCAwLCAxMjcwOCwgMCwgNTA5MCwgNTA4OSwgMTI3OTc3LCAwLCAxMTkxMDksIDAsIDEyODY4MSwgMzE5LCAKLSAgICAxMTg4NDcsIDQzNDc5LCA5NDc3LCAwLCAwLCA1MDg3LCA5MjMyNSwgNzY0MCwgOTYsIDUwODYsIDAsIDkyMzc5LCAwLCAKLSAgICA1MDg1LCA2NDI4NiwgOTI2NjUsIDAsIDQxNDIyLCAwLCAxMTk5MDEsIDQyMzU2LCAzNzcyLCAwLCAwLCA1MDExLCAwLCAwLCAKLSAgICAxMjY1ODcsIDAsIDEyNzE2NSwgMTI3MjQxLCA2Njc3LCA3NjAxLCAwLCA1OTEsIDY0NDE5LCAxMTg5NTMsIDkyMjYyLCAwLCAKLSAgICAxMTg5MjMsIDcwMDg0LCAwLCAxMDkzOSwgNjEwNiwgNjkzMywgNDEyNzEsIDY3NjAsIDcxMzQzLCA0NTM0LCA0MTI3MCwgCi0gICAgMTI4ODc2LCAwLCA2NTU3NCwgMCwgOTIyNCwgNjk4NTMsIDM2NzEsIDg5NzYsIDEyNjQ3NCwgMCwgNDEyNzUsIDYzNzIsIAotICAgIDEyODA4NCwgNTUyNjEsIDc5NjMsIDYzNzEsIDAsIDU2OCwgMCwgNDEyNzMsIDk4MzczMCwgMCwgNjcyOCwgMCwgOTcxNSwgMCwgCi0gICAgODI1OCwgMTE3NTMsIDc0ODIwLCAwLCA5NjAyLCAxMTg5MTksIDQyLCAwLCA0MzY4OCwgMCwgMCwgNzQ1OCwgMCwgMCwgCi0gICAgNjUzODUsIDExOTkwMCwgMCwgMTE5NTgsIDAsIDkxNzgyMiwgMCwgNjI1NCwgNDI3MjEsIDY2MzM2LCA4MDQ1LCAxMTU1MCwgCi0gICAgMCwgMCwgOTgzNTk3LCA0Mjg1OCwgMTE3ODksIDY1ODY4LCA1NTU3LCAxMDEzMywgOTczNywgMTMxMDksIDAsIDk0NjcsIAotICAgIDU1NTgsIDg4NzgsIDEyODEzNiwgMTk1MDM2LCA3NDUxLCA2NzA2LCAxMDE0NiwgMCwgOTA4NiwgNjQ1NjYsIDAsIDY0NTg0LCAKLSAgICA3NDM3LCA3NDU0LCAxMjU5NCwgMTI4NjkwLCA2ODM2MiwgNDU0NiwgNzczMSwgMCwgNzAwNDgsIDc0MjQzLCAwLCAzODA1LCAKLSAgICAwLCAxOTQ1NjUsIDQ0MDAxLCA0MTAwOCwgMCwgNjMwNywgMTk5NDksIDk4Mzc5MCwgNzU0NCwgOTgzMDQ1LCA0MzQ2OSwgMCwgCi0gICAgMCwgMTAxNTIsIDY0NDIyLCA2NTA5MSwgMTE5MTEzLCA3NjAyLCA2NDcyOSwgMCwgNDM1MjEsIDAsIDQyMzAyLCA0MzcxMSwgCi0gICAgNDM1MjMsIDQxNDQ3LCA1NTU5LCAwLCA4NzA0LCAyMzk3LCA1NTU2LCAwLCAwLCAwLCA5MDExLCA5NjMwLCA5MjYzMywgMCwgCi0gICAgOTM5OTgsIDU1MDYsIDAsIDE5MTEsIDY2NjUyLCAwLCA5OTYxLCA4ODQ1LCA2NjY5OCwgMCwgMTA3OTIsIDg4ODksIDAsIAotICAgIDIwOTgsIDAsIDY0NzUxLCAwLCA2NjYyMiwgMCwgMCwgNzQzNjQsIDAsIDAsIDk4MzgwNSwgNzQzNjUsIDc1NTIsIDAsIDAsIAotICAgIDY1Mzg0LCA3MjIzLCA0NTU5LCAwLCAxOTU2LCA0MzEzOCwgNzAyNCwgNjU3MjgsIDY0NTAxLCAxMjEwLCAxOTUwNzcsIAotICAgIDY1MTc1LCAxMDE4NCwgNDMxNDAsIDQzNjU0LCAwLCAwLCAwLCAzOCwgODUzMywgNjY2NjksIDExOTEyNCwgOTgzMjkzLCAKKyAgICA4OTgwLCAxMTg5ODgsIDY3ODYxLCA4ODQ0LCA3MjA5LCAwLCAwLCA0Mjc4LCAxMjg4MDksIDAsIDEyNzk0NywgNzA4MjEsIAorICAgIDkwNzQsIDQzNDgsIDAsIDY1NTU4LCA2NTk0NiwgODExMywgNzA4NywgNTI1NSwgMTc4NiwgNjYxLCAwLCAwLCAwLCA3NDQyMywgCisgICAgNzEzNDUsIDU4NiwgNzQ0MTQsIDY0MzU5LCAxMjY3LCAxMjgyNjksIDY1NDY4LCAwLCA2NTczMSwgMCwgNzI0MDUsIDM2MjEsIAorICAgIDkyOTMyLCA2NjY2NiwgNjQyMTEsIDAsIDY1NjIsIDEyOTI4LCA5ODM4OTEsIDEyMjgsIDY1NDkwLCAxMTM4MywgMCwgMCwgCisgICAgNzAzNDMsIDE3MTQsIDc0NDA2LCAxMjA3NTEsIDAsIDk4MzkyMSwgMCwgNjYyMjUsIDEyODYwOCwgNzA4NjcsIDQyNjYwLCAKKyAgICAxMTQzNiwgMjA3MCwgNjQsIDEyMDY5NCwgMCwgMTAyOTEsIDEwMzIzLCAyODI2LCAxMTM4MDksIDkxNzYyOSwgMCwgNDIwMDgsIAorICAgIDk3MDgsIDQyNzEwLCAwLCA0MjAxMSwgNDE5OTksIDkyMTY0LCAxMjIwNiwgNTgzOSwgMTcwMiwgMTI0MCwgNzQwNjUsIAorICAgIDYyODYsIDk2ODksIDk4Mzk2OSwgNjU4MzMsIDc3ODQ4LCAwLCAxNzY1LCAwLCAwLCA2NTU4OCwgMCwgMCwgMCwgODQwMSwgCisgICAgOTgzOTI0LCA0MjAxNCwgMCwgNzAzMCwgMTk0NzA0LCAxMDQ3OSwgNjQ5NTksIDI4NTIsIDAsIDAsIDAsIDcwODE5LCAKKyAgICAxMjg1ODYsIDkxNzk1MSwgNjk2MywgMCwgMTI2NjcsIDY0NTQwLCA3NDc4NiwgMTAxNDcsIDEyOTM1LCAxMjc1NjgsIAorICAgIDEyNjQ4MywgMTI3NzgyLCAwLCAwLCA3ODc1NywgMCwgMTEzODE1LCAxMjg5NjgsIDAsIDk5OTQsIDEyNDY3LCAyODY0LCAKKyAgICA2NDcxOSwgMTE0OCwgMTA0MzUsIDExNDYyLCA0MTY3NSwgNzA4NCwgMjc2NSwgNzg0NjYsIDQzMzgyLCAwLCAxMjA3MTksIAorICAgIDEyODE4OCwgOTI1MTYsIDY2NjYyLCAwLCA3ODEzMywgOTM2NCwgMTk0Njg1LCA3NDQxNiwgMTI3Nzk3LCAwLCA3Nzk4OCwgCisgICAgMjYzLCAxMDQ0OSwgNDEyODgsIDAsIDQxODM5LCA3ODM4NywgOTgzNzQyLCA3Nzk4NiwgMTI5MTQwLCA2OTMxLCA2OTcyMiwgCisgICAgNjQzNTUsIDcxNzcsIDcwMTA1LCAwLCAwLCAwLCA0MjYyLCAxMDI4NSwgMTA3MjIsIDQyMDIwLCAxMjY1NzUsIDY4MDYsIAorICAgIDY5OTIsIDQyMDE5LCAwLCA0MTI5MCwgOTgzNzE2LCA3NTAsIDAsIDcxMzA0LCAxMDE2MywgNjM5MTMsIDcxMzAwLCA3MDMyLCAKKyAgICA1OTU0LCA2NDkzMSwgNDMxNCwgMTI4NjAwLCAxOTgsIDY4NDUzLCA3MzAsIDEyMDA5NCwgNjM5MDcsIDc3OTkzLCA3MDgxOCwgCisgICAgMTMxNjUsIDcxMDcsIDc0MTcxLCA0MjgwNCwgNjc4LCA4MjQwLCA3ODAxNSwgMTI4Nzg0LCA0MTM3OCwgMTEwMDgsIDY5MzgsIAorICAgIDcwMDI2LCA5MjYzNywgMjA5NywgNjYyNDYsIDEyMDU2MCwgNzA4MjMsIDE5NDk5MCwgOTgzNjA0LCAzODkyLCA2ODYzMiwgCisgICAgNjk2NDIsIDY3MTIsIDY2MDQ1LCA0MTQ3MCwgNjQ4MDUsIDAsIDk4MzIxMywgMTI4MjE1LCA2NDgwMSwgMCwgNDk3LCAKKyAgICAxMjEwMCwgNTk1MywgOTI2NjcsIDc3OTYsIDY5NjY5LCA0MzI1NCwgNzM4MzEsIDAsIDEwMjkzLCA1OTUyLCAxMjgxLCAKKyAgICA0Mzc0NywgMCwgMCwgMTA2NzcsIDYwNCwgNDEwOTcsIDkxODIsIDE4NTksIDAsIDkyNjAzLCAzNDI1LCAxMjc0ODgsIDAsIAorICAgIDI4MzYsIDAsIDAsIDk3MDcsIDExMzcxOCwgNDMyMDIsIDAsIDAsIDY1MTk5LCAxNzM4LCAxMjgzMTEsIDY3NzA3LCAyODMyLCAKKyAgICA5MjcwMiwgOTY3MCwgMTExMDEsIDAsIDY2Mzc0LCA5MTc5NTYsIDAsIDI4MjIsIDY4MTIyLCA0NDM2LCA5MjUxOSwgCisgICAgOTgzMDgxLCA3Mzc1MiwgMCwgNjQ4NzIsIDkyMzQwLCAxMzMxLCAwLCAwLCAwLCAxMjcwOCwgOTE3OTU0LCA1MDkwLCA1MDg5LCAKKyAgICAxMjc5NzcsIDk4MzU2MSwgMTE5MTA5LCAwLCA3MDgyNiwgMzE5LCAxMTg4NDcsIDQzNDc5LCA5NDc3LCAwLCAwLCA1MDg3LCAKKyAgICA5MjMyNSwgNzY0MCwgOTYsIDUwODYsIDAsIDkyMzc5LCAwLCA1MDg1LCA2NDI4NiwgOTI2NjUsIDExMzcxNywgNDE0MjIsIAorICAgIDExOTYxNywgMTE5OTAxLCA0MjM1NiwgMzc3MiwgMTE5MDQyLCAwLCA1MDExLCAwLCAwLCAxMjY1ODcsIDAsIDEyNzE2NSwgCisgICAgMTI3MjQxLCA2Njc3LCA3NjAxLCAwLCA1OTEsIDY0NDE5LCAxMTg5NTMsIDkyMjYyLCAwLCA3MDc5OSwgNzAwODQsIDAsIAorICAgIDEwOTM5LCA2MTA2LCA2OTMzLCA0MTI3MSwgNjc2MCwgNzEzNDMsIDQ1MzQsIDQxMjcwLCAxMjg4NzYsIDY3MTM4LCA2NTU3NCwgCisgICAgMTk0OTQ3LCA5MjI0LCA2NzE0MCwgMzY3MSwgODk3NiwgNjcxMzksIDAsIDQxMjc1LCA2MzcyLCAxMjgwODQsIDU1MjYxLCAKKyAgICA3OTYzLCA2MzcxLCAwLCA1NjgsIDkyMzY4LCA0MTI3MywgOTgzNzMwLCA3NDUzMSwgNjcyOCwgMCwgOTcxNSwgMCwgODI1OCwgCisgICAgMTE3NTMsIDc0ODIwLCAwLCA5NjAyLCAxMTg5MTksIDQyLCAxMTE5MSwgNDM2ODgsIDY4MjQzLCAwLCA3NDU4LCAwLCAwLCAKKyAgICA2NTM4NSwgNjcxMzUsIDY3MTM0LCAxMTk1OCwgMTExNjUsIDkxNzgyMiwgMTI1MDg3LCA2MjU0LCA0MjcyMSwgNjYzMzYsIAorICAgIDgwNDUsIDExNTUwLCAwLCA2NzEzMiwgNjcxMzEsIDQyODU4LCAxMTc4OSwgNjU4NjgsIDU1NTcsIDEwMTMzLCA5NzM3LCAKKyAgICAxMzEwOSwgMCwgOTQ2NywgNTU1OCwgODg3OCwgNDM4NDQsIDE5NTAzNiwgNzQ1MSwgNjcwNiwgMTAxNDYsIDAsIDkwODYsIAorICAgIDY0NTY2LCAwLCA2NDU4NCwgNzQzNywgNzQ1NCwgMTI1OTQsIDczNzQ5LCA2ODM2MiwgNDU0NiwgNzczMSwgMCwgNzAwNDgsIAorICAgIDc0MjQzLCAxMjUwOTIsIDM4MDUsIDAsIDY3MTI4LCA0NDAwMSwgNDEwMDgsIDEyODA1MiwgNjMwNywgMTk5NDksIDY3MTI5LCAKKyAgICA3NTQ0LCA5ODMwNDUsIDQzNDY5LCAwLCAwLCAxMDE1MiwgNjQ0MjIsIDY1MDkxLCA2NzEyNCwgNzYwMiwgNjQ3MjksIDAsIAorICAgIDQzNTIxLCAwLCA0MjMwMiwgNDM3MTEsIDQzNTIzLCA0MTQ0NywgNTU1OSwgNjg0ODMsIDg3MDQsIDIzOTcsIDU1NTYsIDAsIAorICAgIDAsIDAsIDkwMTEsIDk2MzAsIDExMTY2LCAwLCA5Mzk5OCwgNTUwNiwgOTI0OTgsIDE5MTEsIDY2NjUyLCA2NzY4NiwgOTk2MSwgCisgICAgODg0NSwgNjY2OTgsIDY4MzI1LCAxMDc5MiwgODg4OSwgMCwgMjA5OCwgMCwgNjQ3NTEsIDEyODM2MCwgNjY2MjIsIAorICAgIDk4MzEyMiwgMCwgNzQzNjQsIDExMzcwOCwgMTI5MTUyLCA5ODM4MDUsIDQyOTA5LCA3NTUyLCAxMjg2MjIsIDAsIDY1Mzg0LCAKKyAgICA3MjIzLCA0NTU5LCA5MzAxNSwgMTk1NiwgNDMxMzgsIDcwMjQsIDY1NzI4LCA0MzQ5MCwgMTIxMCwgMTk1MDc3LCA2NTE3NSwgCisgICAgMTAxODQsIDQzMTQwLCA0MzY1NCwgMCwgMCwgMTI1MDQ1LCAzOCwgODUzMywgNjY2NjksIDExOTEyNCwgOTgzMjkzLCAKICAgICA5ODM3OTIsIDAsIDQzNTcsIDAsIDExOTgzNywgOTE3ODYzLCA3NDIzMywgOTk2NywgNzg4ODQsIDQyODYwLCAxMTk4MzgsIAotICAgIDEwOTQxLCA2NTcyMSwgNjk2MiwgMCwgMCwgMTE5MzI0LCAwLCAxMTAxNCwgMTI3OTcyLCA4OTQyLCAxMjAwMCwgNjkyMjQsIAotICAgIDkyMjY3LCAxMjg1MzYsIDExOTc0LCA5MjIxMywgNDI3NzIsIDEyNzUxOCwgMTE2NTAsIDUwMTMsIDkyNjYzLCAxMjY1ODMsIAotICAgIDY2MjEwLCAxMTg5MTQsIDY2MTMsIDkyNDc2LCAwLCA0MzgxOSwgOTgzNzcwLCAwLCA2NDcxNCwgMCwgMCwgMTIxNjIsIAotICAgIDEyMTIwLCA0MzQ3NiwgOTgzNzY2LCAxMTAyNCwgNzQ4MTEsIDY2MjI4LCAxMDU2MywgMCwgMTI3MTk2LCA0MzUyMiwgMjQ2MiwgCi0gICAgMCwgMTgzNywgMCwgNjM5NzIsIDY5NTcsIDAsIDEyMDU1OSwgNDk1MiwgNjU3MTgsIDY1ODI3LCA1NTA0LCA2NTcyMCwgCi0gICAgNjU3MTQsIDY1NzE1LCA2NTcxNiwgMCwgMTI3MDA1LCAxMjcxMTksIDMxMDksIDYzOTc1LCA3NDAyOCwgMCwgODEwNywgCi0gICAgMTE5MjM0LCAxMTI3LCA0NTUsIDAsIDYzOTY4LCAxMjc5MjQsIDM0ODMsIDExOTU5MywgMTk4OSwgMCwgNjk2NzgsIDkxMDQsIAotICAgIDM1MDMsIDY1Mzc1LCA5MjUwOSwgNjY5NCwgNDI2MzMsIDE4NjQsIDAsIDc0MzA2LCA0MTQ0NiwgMjU0MCwgNzczNiwgMCwgCi0gICAgNzQwNjQsIDAsIDEwNTIxLCAwLCA0MjE3MywgOTcwNSwgNzQxMjQsIDg2MDQsIDY5NTUsIDEwOTE2LCA0MzY4NCwgNjE0OSwgCi0gICAgMzg4NywgMTk5NTYsIDE0MTEsIDI4MjQsIDAsIDEwMTA2LCAxMjc4NjIsIDE0MDMsIDEyODgzOSwgMTM0NywgOTYzMSwgCi0gICAgNzQ0NDQsIDAsIDAsIDAsIDAsIDg2NDAsIDAsIDI1OCwgMTY1NCwgMCwgMCwgMCwgNDMzMTQsIDAsIDAsIDQwNDIsIDExNDc4LCAKLSAgICAyODczLCA2Mzk3NywgMTE1MjIsIDQxNjY4LCA4NTQ5LCAxMDg2MSwgMCwgNjM5NzYsIDAsIDY4NjIzLCAwLCA3NDU4NSwgCi0gICAgNDEzOTEsIDAsIDkxNzkwMywgMzc2LCA2OTg3LCA5MjIxLCAwLCAwLCA4ODIzLCAxMjg2OTcsIDEyOTQzLCA2NTE4NSwgCi0gICAgNDE4NjksIDEyNjE5LCAwLCAxMDE1NCwgOTgzMDQzLCA3NDQzOSwgMjAzOSwgMCwgNzQ0NiwgMTY4NCwgNjM5NzksIDEwOTc0LCAKLSAgICA0NTgsIDEyMDYyMCwgMCwgNjk3OTEsIDEyNzE2MSwgMTE5MTYsIDY1MDE2LCAwLCA2OTY3MSwgNDIxMTUsIDk4MzEzMywgCi0gICAgMTIyODgsIDc4MDU3LCAwLCAxNDkzLCA0MjExMSwgNzU1MywgNDA5NywgMTI4MTk5LCAxMzA4MCwgMCwgNjU4MDgsIDY2MTAsIAotICAgIDYwMzAsIDgwNTksIDc1MDgsIDEzMTMxLCAwLCA5ODM0MzEsIDAsIDg3OTQsIDQxMjc4LCA0MTYyOSwgMTIxNTQsIDEyODE5MiwgCi0gICAgNDEyNzcsIDY0NjU4LCAwLCA2NDM4MCwgNjYyNSwgNzQzNTQsIDE5OTA0LCAwLCAwLCAwLCA2NTM3MSwgNzA3OCwgMCwgODMzLCAKLSAgICAwLCA2MzY5LCAwLCAxMDk3OSwgNDE5NTMsIDAsIDQxNDM0LCA2MDYyLCAwLCAwLCAxOTkxNiwgNjkxMywgOTMzLCAxMzQxLCAKLSAgICA5ODQyLCA2NzIwLCA2NTc0NCwgMCwgOTgzNTkyLCAxMjgyOTUsIDAsIDc0MDUsIDEwMTA1LCA2NTgxMCwgMCwgNDE2MzIsIAotICAgIDc0OTMsIDU1MjkwLCAwLCA0MTYyMiwgMCwgMCwgMTE5NTU2LCA3NDU4NCwgNzYzMiwgOTcxNiwgMTk5NTQsIDk4MDUsIAotICAgIDU5OTAsIDkwMCwgMCwgNjM5NTcsIDAsIDAsIDM2MTIsIDAsIDY0Mzc2LCA5Mzk4NywgNTM4OSwgOTI1OTcsIDAsIDY1OTM4LCAKLSAgICAyODM5LCA5NjIxLCA1ODIsIDAsIDc0MzY4LCAzNzQ5LCA2OTQ5LCA3NTY5LCA3NDA2MSwgMCwgMCwgNjk1NiwgNDQwMywgCi0gICAgMTk5NjIsIDY1NTU5LCAzMjk5LCAwLCA5MTc1NjYsIDExOTEyNywgOTAwMiwgMCwgNzQzNzIsIDc0MjM2LCA4NDc4LCA3NTk4LCAKLSAgICA1NDYsIDQyNDY5LCA2NTU2OSwgMTkxOCwgOTU0MiwgNDcyLCA3NzE2LCAxMDMxOSwgMTAzODMsIDY5OTYsIDAsIDYzOTUyLCAKLSAgICA4NDI1LCAzNjAyLCA4MzI4LCAxMTc2NCwgMTE4ODk0LCAwLCA2OTc5NiwgNDExODMsIDEyOTA3LCAxMDI3MSwgMTAyODcsIAotICAgIDY4NCwgNDM1MjUsIDAsIDI4NTQsIDExOTU4NiwgNDU5MiwgNjU3NTUsIDAsIDkyMjU2LCAxMTk2MywgNDM2MjAsIDAsIAotICAgIDc4MjQ5LCAwLCAxMjg1NTEsIDEyODgwOSwgOTg4MSwgNDMxMTUsIDY1NzU3LCAzNDE1LCAxMTkxMzEsIDAsIDg2NDgsIDAsIAotICAgIDY3NDEsIDQzMDQ3LCAwLCAxMzE4MCwgMTI4NTE3LCA0MTgsIDkxNzk3MiwgNjQ0OTUsIDEwMjk1LCAxMDMyNywgMTAzOTEsIAotICAgIDQxNzUyLCA3NDMzOSwgODY0MSwgNDE0NDksIDAsIDc0MTAwLCAwLCAxMDkxMSwgNjk0MiwgMCwgMTAyNCwgNDI4NDksIAotICAgIDQxNzUxLCA2OTc3NiwgODk0MSwgOTgzNTU2LCA0NTU0LCAwLCA5MDIzLCAxMTY4NSwgMCwgOTkyOCwgNzg2MTcsIDAsIAotICAgIDExNDM3LCA0Mzc0MSwgOTIxNjMsIDEyMDcwMCwgNjM5NjcsIDk4MzQ4MywgNDEyMDYsIDEyMDcyNCwgOTA0OSwgNDExODUsIAotICAgIDQzMTY2LCAwLCAxMTY4MCwgOTI2MTksIDExNjg2LCA3ODU0NCwgNjUyMjQsIDQ1NjUsIDQ2NTUsIDExOTU1MywgMCwgCi0gICAgOTIxODMsIDY0NTIzLCAxMDM0MywgMTA0MDcsIDAsIDY2NjcxLCAxMTQ2NiwgMCwgMTI4MDAzLCA0Mjg5MCwgNzQwMTMsIAotICAgIDEyMDUwLCA2ODIwMSwgMjg2MCwgMCwgMCwgMCwgNDI3OTIsIDU3NDMsIDEwNDI0LCAxMjA2NSwgNDI4NzIsIDAsIDkyMzQyLCAKLSAgICAwLCA4ODc1LCAwLCAwLCA5MTc5OTEsIDc1MzEsIDEyODQ3LCAyNDEzLCAwLCA3ODYzNSwgOTYyLCAwLCAxMjg1NSwgNDExOTYsIAotICAgIDQyNTY0LCAwLCAxNTgyLCA5ODM3MTUsIDU1MDgsIDAsIDAsIDAsIDEwODAxLCA2OTg3NiwgOTIzNTQsIDAsIDcxNzMsIDQ5NiwgCi0gICAgMTA0MzksIDQzMTMsIDY0NjA3LCA2OTYzOCwgNzg2MCwgMCwgOTA2LCA0Mjc5MywgMjg0MiwgNjQwNSwgNjQ3MjIsIDEzMTMyLCAKLSAgICA3OTgsIDY0Njk0LCAxMjgwMSwgODQwNiwgMTE1MywgOTIxNzMsIDY0Nzg4LCAwLCA4MDU0LCA5MTc0LCAxMjg2NTIsIAotICAgIDkxNzk3NiwgOTk2NCwgNzQ0MDksIDQxNjExLCA0NjQyLCA2NjU3NCwgMTE1NTYsIDkxNzk4MiwgMCwgNzg4NTcsIDQyMDg5LCAKLSAgICA3ODg1NSwgOTAwOCwgMCwgMTI2NTkyLCAxOTUwOTYsIDQyMDc5LCA5MTc5ODEsIDc3OTI0LCA0MjUxMywgNzc5MjcsIAotICAgIDQyODQyLCA3Mzk4NSwgNjUyODUsIDExODk3NCwgMTI3MDAzLCA5ODM3MDIsIDAsIDAsIDAsIDExMzM1LCA2NDA2OSwgCi0gICAgNDIwOTMsIDM5MjAsIDAsIDAsIDAsIDAsIDQ1ODAsIDQxOTY3LCA5ODM3MzIsIDY0Mzg0LCA5MjE2NywgOTM5ODQsIDMwMjEsIAotICAgIDQyMDA0LCAwLCAwLCA0MjMxNywgNDE5OTgsIDAsIDY5NDYsIDAsIDAsIDAsIDEyODE5MywgNjUyMDQsIDAsIDY4MTEzLCAKLSAgICA0MjY5MCwgOTg4MCwgNDIwMTAsIDc0ODI0LCA2NDU4OSwgMTAxMTEsIDY0ODc1LCAxMjc4ODAsIDY4Mzk5LCA0Mzk5OCwgCi0gICAgMTEzNjAsIDAsIDAsIDAsIDExODgyNiwgNDIxNDksIDAsIDAsIDAsIDY0OTQxLCA3NzkxOSwgMTIwNDIxLCAxMjgwNzcsIDAsIAotICAgIDU1MjQ3LCA0MTEwLCA2NjAwNSwgNjk1OSwgMTA5MjksIDExOTExMCwgMCwgNjY3MDMsIDc3OTIxLCA4NjE3LCA0MTk4MiwgCi0gICAgNjAyNSwgNjkyNDIsIDk4MzE3NiwgMCwgMCwgMCwgOTU5NywgNDIwOTksIDQzMTcyLCA5ODMzNzYsIDEwMTE3LCA5ODMxNjksIAotICAgIDkyMjk3LCA0MTYzNiwgMCwgMCwgMTIwNjgxLCA4MzAxLCAwLCAwLCAxODcsIDAsIDY1NjY5LCAxMjgzMzksIDQ5NjMsIDAsIAotICAgIDEyNzUxNywgMCwgODk2NCwgNjU2NzYsIDc3NzUsIDAsIDQxOTQ4LCAwLCAwLCAwLCA0MTk0MiwgNjU0NDksIDMxNjAsIAotICAgIDEwMDgxLCAxMzIyNiwgNDIxMjEsIDQyNDc1LCA0MjY2MywgMTI4MjEwLCA0MTc2NiwgMTE5MTE0LCA2NTg4MiwgNzg4NDksIAotICAgIDQxNzYwLCAxMTg5LCA5MDUsIDQ4MCwgMTA5ODUsIDQxNzMzLCA2Nzg1OSwgOTYyOSwgNjc0MiwgMTc0NSwgNDM2MjUsIAotICAgIDczODM1LCA3ODg4LCAwLCAzOTgwLCAwLCA0MjY1NiwgNDE1MDcsIDg4MDYsIDcwMjMsIDAsIDc0Mjc5LCA5NDQ3LCA3ODY1MSwgCi0gICAgNzg2NywgNjkyMTgsIDYyMzYsIDk4MzEzNCwgMCwgMTA1MDUsIDAsIDEyODUxLCAxMTg5NDgsIDM0OCwgNTQ3NCwgMTI4ODQzLCAKLSAgICAzMTAzLCAwLCA0MTc1MywgMTI4NTQwLCAwLCAwLCA3ODg0NCwgNzg4NDUsIDQxNzM5LCA3ODg0MywgNDI1MTUsIDEwOTMxLCAKLSAgICA0MTc1NiwgNDMzNDcsIDQyNTYwLCA1MzkxLCA0MTc0NiwgMTE5MTQ3LCA5MjU5MSwgNDEyNTksIDU1NjEsIDY5OTMwLCAKLSAgICAyNjkxLCAwLCA2NTU1MywgNzkzMywgNTU2MiwgNjk4MDAsIDEyODI2NSwgNDEyNjIsIDEyODE0NiwgNjQ0MjEsIDc0ODQ2LCAKLSAgICA0MTI1MSwgMCwgMCwgMzk3OSwgMCwgMCwgNzQ4MTMsIDk4MzczOSwgMCwgMCwgMCwgOTI1MjQsIDQxMjY2LCAwLCA2NjU2NiwgCi0gICAgMTI4ODM2LCAxMDU4NSwgNjU3NDEsIDQxNzM3LCA5NTc0LCAyNjY2LCAwLCA0MTczOCwgODMxLCA0MTksIDEzMTI2LCAKLSAgICAxMDcxNiwgMCwgNDI4MjIsIDAsIDY0MzQsIDAsIDY5MzksIDc3NjYsIDY0MzIsIDEyODEwNiwgNjk5MzIsIDkxNiwgNzY5LCAKLSAgICA0MTc0MiwgMTE5NjgsIDc0ODA1LCA2NDMzLCA1NTYzLCA1NDcsIDE5NDMsIDY0MzksIDU1NjAsIDQ5OTQsIDQ4NywgCi0gICAgMTI2NTM3LCA0NDk3LCAzNzU0LCAxMjcwNTYsIDEyMDQyNCwgOTAzOSwgMCwgNDE3NzYsIDAsIDg3MTYsIDE1OTUsIDQxNjE1LCAKLSAgICAwLCAwLCA3NDI2MCwgMCwgNDI4NTQsIDQzMjE5LCAxMjg3MDksIDk4MzQ2MCwgMTIxODUsIDEyODg3OSwgNzAwNzIsIAotICAgIDY4MzU1LCA2ODM1NywgMCwgNDI4NTYsIDg2MzQsIDAsIDk4MzM5NywgNDIwOSwgMTIwNzAyLCAwLCA2NTg3OSwgNDE1MzgsIAotICAgIDY1NjEyLCAxMjc1NDMsIDY2OSwgNTY3OSwgMCwgNjk3ODYsIDkyNTQwLCAwLCA5ODM0NjQsIDU2NzgsIDExODIxLCAwLCAKLSAgICA2NzExLCA0NjAsIDAsIDAsIDk4MzQ2MSwgMCwgMTIwNzQ3LCAwLCAwLCA3ODA1MCwgMTE5MDIyLCAwLCA5ODM0NjIsIDAsIAotICAgIDc3ODIsIDkwNDQsIDQ5NzQsIDExNzYwLCA3ODQ5NCwgNzU3NywgNjU3MTEsIDQxOTEyLCAxMjE2LCAwLCAxMjgwNzksIAotICAgIDU3OTIsIDAsIDAsIDc4NTAxLCAwLCAyOTMzLCAxMjI0NCwgMCwgNTY4MywgOTgzMzkyLCAwLCA3ODExOSwgMTU0OSwgMCwgMCwgCi0gICAgMTIwMzk4LCA1NjgyLCA2MjA2LCA4NjcwLCAxMDI1NiwgNTY4MCwgNjk5MzUsIDEwMDAxLCAxMjg1MTIsIDY5NzY4LCAxNDQ5LCAKLSAgICAxMDI0MSwgNzgyOTAsIDEyODIyOCwgMCwgMTA1NTIsIDY0MzQyLCA0MTkyMiwgMTI4NTQ4LCA4NTg0LCA2ODAzMCwgNTU2NywgCisgICAgMTA5NDEsIDY1NzIxLCA2OTYyLCAwLCAwLCAxMTM4MDgsIDAsIDExMDE0LCAxMjAxMjYsIDg5NDIsIDEyMDAwLCA2OTIyNCwgCisgICAgOTIyNjcsIDEyODUzNiwgMTE5NzQsIDY3MzYzLCA0Mjc3MiwgNDI2NTAsIDExNjUwLCA1MDEzLCA5MjY2MywgMTI2NTgzLCAKKyAgICA2NjIxMCwgMTE4OTE0LCA2NjEzLCA5MjQ3NiwgMCwgMTExOTMsIDk4Mzc3MCwgMCwgNjQ3MTQsIDAsIDcwODAyLCAxMjE2MiwgCisgICAgMTIxMjAsIDQzNDc2LCA5ODM3NjYsIDExMDI0LCA3NDgxMSwgNjYyMjgsIDEwNTYzLCA5Mjk1NCwgMTI3MTk2LCA0MzUyMiwgCisgICAgMjQ2MiwgOTI5NTUsIDE4MzcsIDEyNTA4NiwgNjM5NzIsIDY5NTcsIDAsIDExMzgyMCwgNDk1MiwgNjU3MTgsIDY0NDA1LCAKKyAgICA1NTA0LCA2NTcyMCwgNjU3MTQsIDY1NzE1LCA2NTcxNiwgMCwgMTI3MDA1LCAxMjcxMTksIDMxMDksIDYzOTc1LCA3NDAyOCwgCisgICAgMTI3MjEzLCA4MTA3LCA2NzE1NCwgMTEyNywgNDU1LCAwLCA2Mzk2OCwgMTI3ODM1LCAzNDgzLCAxMTk1OTMsIDE5ODksIDAsIAorICAgIDY5Njc4LCA5MTA0LCAzNTAzLCA2NTM3NSwgNjgzMDAsIDY2OTQsIDQyNjMzLCAxODY0LCAwLCA3NDMwNiwgNDE0NDYsIAorICAgIDI1NDAsIDc3MzYsIDkxNzkxNiwgNzQwNjQsIDEyODYwMSwgMTA1MjEsIDcwNzg2LCA0MjE3MywgOTcwNSwgNzQxMjQsIAorICAgIDg2MDQsIDY5NTUsIDEwOTE2LCA0MzY4NCwgNjE0OSwgMzg4NywgMTk5NTYsIDE0MTEsIDI4MjQsIDAsIDEwMTA2LCAKKyAgICAxMjc4NjIsIDE0MDMsIDEyNTA1MywgMTM0NywgOTYzMSwgNzQ0NDQsIDk4Mzc1MywgMCwgOTI5NTEsIDAsIDg2NDAsIDAsIAorICAgIDI1OCwgMTY1NCwgMCwgMCwgMCwgNDMzMTQsIDAsIDAsIDQwNDIsIDExNDc4LCAyODczLCA2Mzk3NywgMTE1MjIsIDQxNjY4LCAKKyAgICA4NTQ5LCAxMDg2MSwgMTI4NDMwLCA2Mzk3NiwgNzAzNzcsIDY4NjIzLCA2NzA4MiwgNjcwODEsIDQxMzkxLCA2NzA4NCwgCisgICAgOTE3OTAzLCAzNzYsIDY5ODcsIDkyMjEsIDAsIDAsIDg4MjMsIDEyODY5NywgMTI5NDMsIDY1MTg1LCA0MTg2OSwgMTI2MTksIAorICAgIDAsIDEwMTU0LCA5ODMwNDMsIDc0NDM5LCAyMDM5LCAwLCA3NDQ2LCAxNjg0LCA2Mzk3OSwgMTA5NzQsIDQ1OCwgMTIwNjIwLCAKKyAgICAwLCA2OTc5MSwgMTI3MTYxLCAxMTkxNiwgNjUwMTYsIDAsIDY5NjcxLCA0MjExNSwgOTgzMTMzLCAxMjI4OCwgNzgwNTcsIAorICAgIDY3MDgwLCAxNDkzLCA0MjExMSwgNzU1MywgNDA5NywgMTI4MTk5LCAxMzA4MCwgMCwgNjU4MDgsIDY2MTAsIDYwMzAsIAorICAgIDgwNTksIDc1MDgsIDEzMTMxLCA2NzA3NCwgNjcwNzMsIDAsIDg3OTQsIDQxMjc4LCA0MTYyOSwgMTIxNTQsIDEyODE5MiwgCisgICAgNDEyNzcsIDY0NjU4LCAwLCA2NDM4MCwgNjYyNSwgNDI5MTEsIDE5OTA0LCAwLCAwLCA3MTE5MywgNjUzNzEsIDcwNzgsIDAsIAorICAgIDgzMywgMCwgNjM2OSwgMCwgMTA5NzksIDQxOTUzLCAwLCA0MTQzNCwgNjA2MiwgMCwgMCwgMTk5MTYsIDY5MTMsIDkzMywgCisgICAgMTM0MSwgOTg0MiwgNjcyMCwgNjU3NDQsIDcxMjAwLCA5ODM1OTIsIDEyODI5NSwgMCwgNzQwNSwgMTAxMDUsIDY1ODEwLCAwLCAKKyAgICA0MTYzMiwgNzQ5MywgNTUyOTAsIDkyODkwLCA0MTYyMiwgMCwgMCwgMTE5NTU2LCA3NDU4NCwgNzYzMiwgOTcxNiwgMTk5NTQsIAorICAgIDk4MDUsIDU5OTAsIDkwMCwgMCwgNjM5NTcsIDExOTYzOCwgMCwgMzYxMiwgMCwgNjQzNzYsIDkzOTg3LCA1Mzg5LCA5MjU5NywgCisgICAgMCwgNjU5MzgsIDI4MzksIDk2MjEsIDU4MiwgMCwgNzQzNjgsIDM3NDksIDY5NDksIDc1NjksIDc0MDYxLCAwLCAwLCA2OTU2LCAKKyAgICA0NDAzLCAxOTk2MiwgNjU1NTksIDMyOTksIDAsIDkxNzU2NiwgMTE5MTI3LCA5MDAyLCAwLCA3NDM3MiwgNzQyMzYsIDg0NzgsIAorICAgIDc1OTgsIDU0NiwgNDI0NjksIDY1NTY5LCAxOTE4LCA5NTQyLCA0NzIsIDc3MTYsIDEwMzE5LCAxMDM4MywgNjk5NiwgCisgICAgNDMwNzcsIDYzOTUyLCA4NDI1LCAzNjAyLCA4MzI4LCAxMTc2NCwgMTE4ODk0LCA5ODM3NTAsIDY1MDY1LCA0MTE4MywgCisgICAgMTI5MDcsIDEwMjcxLCAxMDI4NywgNjg0LCA0MzUyNSwgMCwgMjg1NCwgMTE5NTg2LCA0NTkyLCA2NTc1NSwgOTgzMjc2LCAKKyAgICA2NzEyMCwgMTE5NjMsIDQzNjIwLCA2NzExNywgNzgyNDksIDY3MTIzLCA2NzEyMiwgNjcxMjEsIDk4ODEsIDQzMTE1LCAKKyAgICA2NTc1NywgMzQxNSwgNjk2NzcsIDY3MTE2LCA4NjQ4LCAxMjgzNzcsIDY3NDEsIDQzMDQ3LCA5MTc5NzAsIDEzMTgwLCAKKyAgICA3ODA3NywgNDE4LCAxMjA2NTMsIDY0NDk1LCAxMDI5NSwgMTAzMjcsIDEwMzkxLCA0MTc1MiwgNjY4NDYsIDg2NDEsIAorICAgIDQxNDQ5LCAwLCA3NDEwMCwgMCwgMTA5MTEsIDY5NDIsIDAsIDEwMjQsIDQyODQ5LCA0MTc1MSwgNjk3NzYsIDg5NDEsIAorICAgIDk4MzU1NiwgNDU1NCwgNjY4OTIsIDkwMjMsIDExNjg1LCAwLCA5OTI4LCA2NzEwOSwgNjY4NjUsIDExNDM3LCA0Mzc0MSwgCisgICAgNjcxMTMsIDY3MTEyLCA2Mzk2NywgOTgzNDgzLCA0MTIwNiwgMTI2MjQsIDkwNDksIDQxMTg1LCA0MzE2NiwgMCwgODE1OSwgCisgICAgOTI2MTksIDExNjg2LCA3ODU0NCwgNjUyMjQsIDQ1NjUsIDQ2NTUsIDExOTU1MywgMTI5MDkwLCA5MjE4MywgNjQ1MjMsIAorICAgIDEwMzQzLCAxMDQwNywgOTI3NjQsIDY2NjcxLCAxMTQ2NiwgMCwgMTI4MDAzLCA0Mjg5MCwgNzQwMTMsIDEyMDUwLCA2ODIwMSwgCisgICAgMjg2MCwgMCwgMCwgNzA4MjgsIDQyNzkyLCA1NzQzLCAxMDQyNCwgMTIwNjUsIDQyODcyLCAwLCA5MjM0MiwgNjcxMDMsIAorICAgIDg4NzUsIDAsIDY3MTAyLCA2NzEwNSwgNzUzMSwgMTI4NDcsIDI0MTMsIDExODkxNywgNjc0MDQsIDk2MiwgMCwgMTI4NTUsIAorICAgIDQxMTk2LCA0MjU2NCwgMCwgMTU4MiwgOTgzNzE1LCA1NTA4LCAwLCAwLCAwLCAxMDgwMSwgNjk4NzYsIDkyMzU0LCAKKyAgICAxMTkyMDcsIDcxNzMsIDQ5NiwgMTA0MzksIDQzMTMsIDY0NjA3LCA2OTYzOCwgNzg2MCwgMCwgOTA2LCA0Mjc5MywgMjg0MiwgCisgICAgNjQwNSwgNjQ3MjIsIDEzMTMyLCA3OTgsIDY0Njk0LCAxMjgwMSwgODQwNiwgMTE1MywgOTIxNzMsIDY0Nzg4LCAxMjcwMDcsIAorICAgIDgwNTQsIDkxNzQsIDY3MDg3LCA2NzA4NiwgOTk2NCwgNjcwOTYsIDQxNjExLCA0NjQyLCA2NjU3NCwgMTE1NTYsIDQyNTEyLCAKKyAgICAwLCA3ODg1NywgNDIwODksIDc0NjEzLCA5MDA4LCAwLCAxMjY1OTIsIDE5NTA5NiwgNDIwNzksIDkxNzk4MSwgNzc5MjQsIAorICAgIDQyNTEzLCA3NzkyNywgNDI4NDIsIDczOTg1LCA2NTI4NSwgNjgzMzgsIDEyNzAwMywgOTgzNzAyLCAwLCAxOTQ3NjEsIAorICAgIDk4MzU5MCwgMTEzMzUsIDY0MDY5LCA0MjA5MywgMzkyMCwgMCwgMCwgMTExMTAsIDAsIDQ1ODAsIDQxOTY3LCAxMjkwNDMsIAorICAgIDY0Mzg0LCA5MjE2NywgOTM5ODQsIDMwMjEsIDQyMDA0LCAwLCA5ODMzNzIsIDQyMzE3LCA0MTk5OCwgMCwgNjk0NiwgCisgICAgMTk0NzU1LCA5Mjk2NywgMCwgMTI4MTkzLCA2NTIwNCwgMCwgNjgxMTMsIDQyNjkwLCA5ODgwLCA0MjAxMCwgNzQ4MjQsIAorICAgIDY0NTg5LCAxMDExMSwgNjQ4NzUsIDEyNzg4MCwgNjgzOTksIDQzOTk4LCAxMTM2MCwgMCwgNzQxODIsIDEyODY0OCwgCisgICAgOTI2MzMsIDQyMTQ5LCAwLCA2ODUwOCwgOTE3OTkzLCA2NDk0MSwgNzc5MTksIDEyMDQyMSwgMTI4MDc3LCAwLCA1NTI0NywgCisgICAgNDExMCwgNjYwMDUsIDY5NTksIDEwOTI5LCA0MjkwNywgMCwgNjY3MDMsIDc3OTIxLCA4NjE3LCA0MTk4MiwgNjAyNSwgCisgICAgNjkyNDIsIDk4MzE3NiwgMTk0ODU0LCAxMjUxMzksIDAsIDk1OTcsIDQyMDk5LCA0MzE3MiwgOTgzMzc2LCAxMDExNywgCisgICAgOTgzMTY5LCA5MjI5NywgNDE2MzYsIDE5NDg4OSwgNzM3MzgsIDEyMDY4MSwgODMwMSwgMCwgMCwgMTg3LCAxMjgyMzcsIAorICAgIDY1NjY5LCAxMjgzMzksIDQ5NjMsIDAsIDEyNzUxNywgMCwgODk2NCwgNjU2NzYsIDc3NzUsIDAsIDQxOTQ4LCAxMjUwMDMsIAorICAgIDAsIDAsIDQxOTQyLCA2NTQ0OSwgMzE2MCwgMTAwODEsIDEzMjI2LCA0MjEyMSwgNDI0NzUsIDQyNjYzLCAxMjgyMTAsIAorICAgIDQxNzY2LCAxMTkxMTQsIDY1ODgyLCA3ODg0OSwgNDE3NjAsIDExODksIDkwNSwgNDgwLCAxMDk4NSwgNDE3MzMsIDY3ODU5LCAKKyAgICA5NjI5LCA2NzQyLCAxNzQ1LCA0MzYyNSwgNzM4MzUsIDc4ODgsIDAsIDM5ODAsIDcwMzczLCA0MjY1NiwgNDE1MDcsIDg4MDYsIAorICAgIDcwMjMsIDAsIDc0Mjc5LCA5NDQ3LCA3ODY1MSwgNzg2NywgNjkyMTgsIDYyMzYsIDk4MzEzNCwgMCwgMTA1MDUsIDEyOTEzNSwgCisgICAgMTI4NTEsIDExODk0OCwgMzQ4LCA1NDc0LCAxMjg4NDMsIDMxMDMsIDAsIDQxNzUzLCA3MTEwOSwgMTI4NjA0LCAwLCAKKyAgICA3ODg0NCwgNzg4NDUsIDQxNzM5LCA3ODg0MywgNDI1MTUsIDEwOTMxLCA0MTc1NiwgNDMzNDcsIDQyNTYwLCA1MzkxLCAKKyAgICA0MTc0NiwgMTE5MTQ3LCA5MjU5MSwgNDEyNTksIDU1NjEsIDY5OTMwLCAyNjkxLCA5Mjk0MSwgNjU1NTMsIDc5MzMsIDU1NjIsIAorICAgIDY5ODAwLCAxMjgyNjUsIDQxMjYyLCAxMjgxNDYsIDY0NDIxLCA3NDg0NiwgNDEyNTEsIDAsIDAsIDM5NzksIDcxMjQ4LCAwLCAKKyAgICA2ODMzMSwgOTE3OTEyLCAwLCAwLCAwLCA3NDYzMywgNDEyNjYsIDAsIDY2NTY2LCAxMjg4MzYsIDEwNTg1LCA2NTc0MSwgCisgICAgNDE3MzcsIDk1NzQsIDI2NjYsIDAsIDQxNzM4LCA4MzEsIDQxOSwgMTMxMjYsIDEwNzE2LCAwLCA0MjgyMiwgMCwgNjQzNCwgCisgICAgNzQ4NTcsIDY5MzksIDc3NjYsIDY0MzIsIDEyODEwNiwgNjk5MzIsIDkxNiwgNzY5LCA0MTc0MiwgMTE5NjgsIDc0ODA1LCAKKyAgICA2NDMzLCA1NTYzLCA1NDcsIDE5NDMsIDY0MzksIDU1NjAsIDQ5OTQsIDQ4NywgMTI2NTM3LCA0NDk3LCAzNzU0LCAxMjcwNTYsIAorICAgIDEyMDQyNCwgOTAzOSwgMCwgNDE3NzYsIDAsIDg3MTYsIDE1OTUsIDQxNjE1LCAwLCAwLCA3NDI2MCwgNzQ4NjAsIDQyODU0LCAKKyAgICA0MzIxOSwgMTI4NzA5LCAxMjkwODMsIDEyMTg1LCAxMTM4MTAsIDcwMDcyLCA2ODM1NSwgNjgzNTcsIDY4NDIxLCA0Mjg1NiwgCisgICAgODYzNCwgMCwgMTE5OTg4LCA0MjA5LCAxMjA3MDIsIDc4MDQ2LCA2NTg3OSwgNDE1MzgsIDY1NjEyLCAxMjc1NDMsIDY2OSwgCisgICAgNTY3OSwgMCwgNjk3ODYsIDkyNTQwLCAwLCA3MDQ0NSwgNTY3OCwgMTE4MjEsIDAsIDY3MTEsIDQ2MCwgMCwgMCwgOTgzNDYxLCAKKyAgICA3MDExNCwgMTIwNzQ3LCAwLCAxMjg0MTIsIDc4MDUwLCAxMTkwMjIsIDAsIDk4MzQ2MiwgOTgzMTc0LCA3NzgyLCA5MDQ0LCAKKyAgICA0OTc0LCAxMTc2MCwgNzg0OTQsIDc1NzcsIDY1NzExLCA0MTkxMiwgMTIxNiwgMCwgMTI3MDE3LCA1NzkyLCAwLCAxMjgzMTksIAorICAgIDc4NTAxLCAwLCAyOTMzLCAxMjI0NCwgMCwgNTY4MywgOTE3ODk2LCAwLCA3ODExOSwgMTU0OSwgMCwgMCwgMTIwMzk4LCAKKyAgICA1NjgyLCA2MjA2LCA4NjcwLCAxMDI1NiwgNTY4MCwgNjk5MzUsIDEwMDAxLCA2NzIzNywgNjk3NjgsIDE0NDksIDEwMjQxLCAKKyAgICA3ODI5MCwgMTE5NTg3LCAxOTQ4OTEsIDEwNTUyLCA2NDM0MiwgNDE5MjIsIDcwMzMwLCA4NTg0LCA2ODAzMCwgNTU2NywgCiAgICAgMjcxNywgMCwgMCwgNTU2NCwgNDI4ODYsIDQxOTA4LCA0Mjg4MiwgNTU2NSwgOTgzMjU2LCAxMjgwMjYsIDAsIDY1NzA4LCAKICAgICA2NTcwOSwgNTU2NiwgNjk4MDMsIDY1NzA0LCA2NTcwNSwgMTE5MDQsIDQyODc1LCA0MzM3MywgNDI1MzksIDU5NDIsIDg0NjgsIAotICAgIDEyMDU2MSwgMTAzNjEsIDEwNDI1LCA2NTY5NywgNjU2OTgsIDY1Njk5LCAwLCA2NjU5OCwgMCwgNjQ2NjQsIDEwNjQ3LCAKLSAgICA3ODcwMiwgNzg3MDMsIDc4NjkwLCA0NTcsIDc4NTAyLCA2NTcwMSwgMTkzNCwgNDMwMDYsIDExOTkwMywgODgwMiwgNzg3MTAsIAotICAgIDY1MTMwLCAxMTc0NywgNzg3MDksIDYwODcsIDc4NzA1LCA3ODcxNiwgNDE3NTcsIDc4NzExLCA4MDQzLCA4OTUwLCA2NTY5NCwgCi0gICAgNjQ0ODUsIDQzNTM0LCAxMDQ1NywgMCwgMTE5NjEsIDc4NzI1LCA3ODcyMiwgNzg3MjMsIDc4NzIwLCA3ODcyMSwgMCwgCi0gICAgNjU1MTUsIDk0OTksIDEwMDM1LCAxMzA2OSwgNzEzMDksIDAsIDk4ODksIDY4MTg0LCA0MjgwNiwgMCwgNzI1NiwgMCwgMCwgCi0gICAgMTY2NywgNDIxNjEsIDAsIDQyNDI4LCAwLCA2OTM0LCAwLCAxMDgwMiwgNjQ4NjEsIDY1NTYsIDc4MzkwLCAwLCA4MTAxLCAKLSAgICAzNjEwLCA5ODMxOTksIDQxNzQ4LCA0OTk1LCA5NTUsIDY1OTA3LCAxMTkyMDgsIDUzNTAsIDY0MzM5LCA3ODMwNiwgNjQ1NDksIAotICAgIDEwODc1LCAxMjg2NjIsIDU0NzcsIDY1NjkyLCAwLCAxMjg1MzIsIDEyMDM5NywgMTI4OTYsIDEwNDU2LCA5MTc5NTQsIDAsIAotICAgIDM4NzQsIDAsIDAsIDk4MzYxOSwgMTIwMzMxLCAwLCAwLCA2NTYwMywgMCwgNjU2ODcsIDAsIDQxMDM4LCA3NDAwOSwgCi0gICAgMTE5NTcwLCA0MjIzOSwgODUzNiwgNzg3NDAsIDc4MzI0LCA3ODcyNiwgNzQ0MzIsIDcyNCwgMCwgMTQ1NSwgNzg3NDksIAotICAgIDcxODMsIDY0NTgzLCA3ODc0NywgNjg0NDMsIDQxNzUsIDc4NzQxLCA0MzYxNCwgNjk4MDEsIDkzOSwgMCwgNDM1MjAsIAotICAgIDY4NjEzLCA3NDU2OSwgOTE3OTU4LCAwLCA3ODc2MywgNzg3NjQsIDc4NzYwLCAxMDc4OCwgNjA4OCwgNzg3NTksIDc4NzU1LCAKLSAgICAxOTAsIDAsIDEyNTkzLCAwLCA4MTg4LCA2NDQwOCwgMCwgNDQxNywgOTgzMjEzLCA5MjI2MSwgNjM3MCwgMCwgNzgyNywgCi0gICAgNjg0NDEsIDY5NjUsIDAsIDAsIDEzMjAxLCAxMjgyMDUsIDY5ODk2LCAwLCA3NDM4MiwgNzM3ODEsIDc5MTgsIDczOTg4LCAwLCAKLSAgICAwLCA5MTc4ODQsIDE3MjgsIDAsIDQzNzY0LCAxNzgsIDEyOTcyLCA5MjY3OSwgMCwgOTE3ODg3LCA5MjU2MywgOTgzMzgxLCAKLSAgICAwLCA3ODMyNywgMTIwNDA1LCA2NTY5MCwgMCwgMCwgMTE5MDU0LCAwLCA5MjUyLCA5MTc4ODksIDQ2NTIsIDY4MzcxLCAwLCAKLSAgICAwLCAwLCAxMzA2NSwgOTkyMywgMTA4MDYsIDAsIDExNzYzLCA3MDAxNiwgMTIwNjg4LCA2NzIzLCA3ODE4NywgMCwgNjk5MywgCi0gICAgMCwgMCwgODMzMywgMCwgMCwgMTEzOTAsIDAsIDc0NDY0LCAwLCA5MjMyMCwgNzQwODAsIDk4MzMxNSwgNjk5MTEsIDExOTEwLCAKKyAgICAxMjA1NjEsIDEwMzYxLCAxMDQyNSwgNjU2OTcsIDY1Njk4LCA2NTY5OSwgMCwgNjY1OTgsIDExMDU5MiwgNjQ2NjQsIAorICAgIDEwNjQ3LCA3ODcwMiwgNzg3MDMsIDc4NjkwLCA0NTcsIDc4NTAyLCA2NTcwMSwgMTkzNCwgNDMwMDYsIDExOTkwMywgODgwMiwgCisgICAgNzg3MTAsIDY1MTMwLCAxMTc0NywgNzg3MDksIDYwODcsIDc4NzA1LCA3ODcxNiwgNDE3NTcsIDc4NzExLCA4MDQzLCA4OTUwLCAKKyAgICA2NTY5NCwgNjQ0ODUsIDQzNTM0LCAxMDQ1NywgMCwgMTE5NjEsIDc4NzI1LCA2Njg1MCwgNzg3MjMsIDc4NzIwLCA3ODcyMSwgCisgICAgMCwgNjU1MTUsIDk0OTksIDEwMDM1LCAxMzA2OSwgNzEzMDksIDAsIDk4ODksIDY4MTg0LCA0MjgwNiwgMCwgNzI1NiwgMCwgCisgICAgOTgzMTc5LCAxNjY3LCA0MjE2MSwgMCwgNDI0MjgsIDAsIDY5MzQsIDAsIDEwODAyLCA2NDg2MSwgNjU1NiwgNzgzOTAsIDAsIAorICAgIDgxMDEsIDM2MTAsIDY4NDIwLCA0MTc0OCwgNDk5NSwgOTU1LCA2NTkwNywgMTE5MjA4LCA1MzUwLCA2NDMzOSwgNzgzMDYsIAorICAgIDY0NTQ5LCAxMDg3NSwgMTI1MDUyLCA1NDc3LCA2NTY5MiwgMCwgMTI4NTMyLCAxMjAzOTcsIDEyODk2LCAxMDQ1NiwgCisgICAgNjgyOTgsIDAsIDM4NzQsIDAsIDAsIDk4MzYxOSwgMTIwMzMxLCAwLCAxMTM2NjUsIDY1NjAzLCAwLCA2NTY4NywgMCwgCisgICAgNDEwMzgsIDc0MDA5LCA5MjA3LCA0MjIzOSwgODUzNiwgNzg3NDAsIDc4MzI0LCA3ODcyNiwgNzQ0MzIsIDcyNCwgMCwgCisgICAgMTQ1NSwgNzg3NDksIDcxODMsIDY0NTgzLCA3ODc0NywgNjg0NDMsIDQxNzUsIDc4NzQxLCA0MzYxNCwgNjk4MDEsIDkzOSwgCisgICAgMCwgNDM1MjAsIDY4NjEzLCA3NDU2OSwgOTE3OTU4LCAwLCA3MDE2OCwgNzg3NjQsIDc4NzYwLCAxMDc4OCwgNjA4OCwgCisgICAgNzg3NTksIDc4NzU1LCAxOTAsIDAsIDEyNTkzLCAwLCA4MTg4LCA2NDQwOCwgMCwgNDQxNywgMTI4NjE1LCA5MjI2MSwgCisgICAgNjM3MCwgMTI1MTI4LCA3ODI3LCA2ODQ0MSwgNjk2NSwgMTI4NTgxLCAxMjg4NjgsIDEzMjAxLCAxMjgyMDUsIDY5ODk2LCAKKyAgICA3ODg2OCwgNzQzODIsIDExODQxLCA3OTE4LCA3Mzk4OCwgMCwgMTEzNjY4LCA5MTc4ODQsIDE3MjgsIDAsIDQzNzY0LCAxNzgsIAorICAgIDEyOTcyLCA3NDYyMCwgMTEzNjcxLCA3MTEwMywgMTExNjgsIDk4MzM4MSwgMTEzNjcyLCA3ODMyNywgMTE5OTA0LCA2NTY5MCwgCisgICAgMCwgNzExMDcsIDExOTA1NCwgMCwgOTI1MiwgOTE3ODg5LCA0NjUyLCA2ODM3MSwgMCwgOTE3ODkxLCA3NDA3MCwgMTMwNjUsIAorICAgIDk5MjMsIDEwODA2LCAwLCAxMTc2MywgNzAwMTYsIDEyMDY4OCwgNjcyMywgNzgxODcsIDAsIDY5OTMsIDcxMDQ0LCAwLCAKKyAgICA4MzMzLCAwLCAwLCAxMTM5MCwgMCwgNzQ0NjQsIDAsIDkyMzIwLCA3NDA4MCwgOTgzMzE1LCA2OTkxMSwgMTE5MTAsIAogICAgIDkyNTU5LCA4Mjc4LCA4OTYzLCA0MDM0LCAxMjg1NjAsIDAsIDY1MzQ0LCAxMjA1MTcsIDQxNzQ3LCAwLCAwLCA4Njc3LCAwLCAKLSAgICAxMjcwNywgOTM1MCwgNjYwMzcsIDEyODE4MCwgODgzNiwgMTIzMTUsIDEyNzQ3LCA4MzAwLCA5ODM3NTAsIDAsIDc0OTEsIAorICAgIDEyNzA3LCA5MzUwLCA2NjAzNywgMTI4MTgwLCA4ODM2LCAxMjMxNSwgMTI3NDcsIDgzMDAsIDE5NDU2MiwgMCwgNzQ5MSwgCiAgICAgODg1NiwgNzEzNjEsIDAsIDQzMTUwLCAxMjc3NjgsIDEyMDQwNCwgNjUzODksIDEyMDQwMiwgMTIwNDAzLCAxMDgxMywgCi0gICAgMjU5MiwgMTI4NTMsIDQzMjY5LCA3MjYzLCAxMjAyNDQsIDY1MzYsIDEyMDIzOCwgMTIwMjM5LCA2NTUxNiwgMTIzMjEsIAotICAgIDEyMDM5MSwgMTIwMzg4LCA1NTI4NywgMTAwMDcsIDEyMDI0NiwgOTU4OCwgMTIwMjQ4LCAxNTk2LCAxMjAzODMsIDQxOTk0LCAKLSAgICA2NTgwMSwgMTI4ODA4LCAwLCA2NjU3MiwgMCwgMCwgMTA2MTMsIDY2OTcsIDEyODA1LCA0MTkyOCwgNDA5ODEsIDc4NDAzLCAKLSAgICA3ODQwOSwgNTAwNiwgNjQzMjgsIDAsIDk5MzEsIDAsIDg4MjUsIDc0NTU1LCA2NTk0MCwgNDMyNTksIDAsIDYxMDcsIDAsIAotICAgIDExOTE3NywgMCwgNzg0MDEsIDEyODY0MSwgMTE3ODMsIDMzNSwgMTIwMjI3LCA2NDY4OSwgNDM4LCA0NTEwLCA1NzY1LCAKLSAgICA4NzIxLCAxMjAyMzMsIDExOTIyNywgNjA5MiwgMTI4NDAsIDQzMTEyLCA4ODc2LCAxMjAyMzEsIDgwOTYsIDEwMjg0LCAKLSAgICAxMjg1MTUsIDAsIDAsIDEwMzgwLCA4NzMzLCA5ODMwNzIsIDEyODI0MCwgNDE2MDIsIDAsIDkyMzA4LCA3NDgzMSwgCi0gICAgOTE3OTAxLCAwLCA3Mzc0NywgNjUzOTksIDAsIDY0NTkxLCA0MjQwNSwgMCwgMTIwODIwLCA4NDMsIDExNTQxLCAwLCAKLSAgICA5MTc4OTgsIDIwNjUsIDQxOTM1LCA3NDQ5NiwgNDE5MDIsIDAsIDAsIDIxNSwgNDEyNTgsIDc3ODc1LCA0MzE1OSwgMTk1MywgCi0gICAgOTU3OSwgNDE5MzgsIDEyNTYsIDM5MTAsIDk0MDcsIDYyNDIsIDAsIDk4MzEwMCwgNDEyNTcsIDQxOTAwLCA4Njc1LCAKLSAgICAxMDcwMCwgODgwNSwgMTc0MiwgMCwgOTMzMywgODIwMiwgMTI3NzUwLCAwLCA5ODMxOTcsIDAsIDAsIDczODgyLCA0OTksIAotICAgIDk4MzA0OSwgNDM0NjcsIDAsIDQzODE4LCAwLCAxNzEyLCA1OTMyLCA3Nzg0NSwgNDE3NjIsIDk4MzEwNCwgMCwgMTE5NjcsIAotICAgIDE3NzUsIDAsIDAsIDAsIDAsIDEyODAwOSwgOTQ1OCwgMCwgNjQ3MCwgOTE4MCwgMTIwMzgwLCA0MzE3NiwgMCwgMCwgCi0gICAgNDI3ODIsIDAsIDAsIDAsIDEyODMwOSwgNzQ3NzcsIDEyMDY2OSwgOTQxNCwgMTIwMzgyLCA3Mzc4MiwgNzM5NjksIDU2NSwgCi0gICAgNDI0ODQsIDU3OTQsIDIwMSwgMjY2MiwgNDIyOTIsIDAsIDgyNTQsIDAsIDEwOTc1LCAwLCAxMjA2MjUsIDc0NzYzLCAxMDIyLCAKLSAgICA0MTA4LCAzODgwLCA3NDI0NywgMCwgMCwgOTIyNjMsIDkxNzk4MCwgNzUwNywgMCwgNDMxNDksIDAsIDY1MDMxLCA3OTYxLCAKLSAgICAxNjM2LCAwLCA2NTAyOSwgNjUwMjQsIDAsIDEyNDczLCA2NTM0LCAwLCA5OSwgOTgsIDk3LCAxMjA1NzEsIDY3NTg0LCAKLSAgICA0MDQ5LCA3NDE2MywgMTI3MDY1LCA3MDkwLCAwLCA3ODkyLCA5MTc5NjksIDEwNzc3LCA5MTc4MDMsIDY1MzEwLCA2NTU2MiwgCi0gICAgNjY1OTksIDY2NzIyLCAwLCA4MDM5LCAzMzYzLCA2NjU5NCwgNDM0MzQsIDAsIDAsIDEyNTk2LCA2NjU5NSwgNDIyNTgsIAotICAgIDQyNTcwLCA1NTkzLCAxMTkxNDgsIDEyMDcxMSwgOTI0MjUsIDEwMTAwLCA2MDYxLCA2NDg1NCwgMTE5LCAxMTgsIDExNywgCi0gICAgMTE2LCAxMjk5OCwgMTIyLCAxMjEsIDEyMCwgMTExLCAxMTAsIDEwOSwgMTA4LCAxMTUsIDExNCwgMTEzLCAxMTIsIDEwMywgCi0gICAgMTAyLCAxMDEsIDEwMCwgMTA3LCAxMDYsIDEwNSwgMTA0LCA2NDM2LCA3Mzk3NCwgNTM0LCA0MTIxMiwgNzc5MzEsIDE1MzYsIAorICAgIDI1OTIsIDEyODUzLCA0MzI2OSwgNzI2MywgMTIwMjQ0LCA2NTM2LCAxMjAyMzgsIDcxODkxLCA2NTUxNiwgMTIzMjEsIAorICAgIDEyMDM5MSwgMTIwMzg4LCA1NTI4NywgMTAwMDcsIDEyMDI0NiwgOTU4OCwgNjg0OTQsIDE1OTYsIDEyMDM4MywgNDE5OTQsIAorICAgIDY1ODAxLCAxMjg4MDgsIDY4MzgsIDM1NjEsIDAsIDAsIDEwNjEzLCA2Njk3LCAxMjgwNSwgNDE5MjgsIDQwOTgxLCAxMDgwNCwgCisgICAgNzg0MDksIDUwMDYsIDY0MzI4LCAwLCA5OTMxLCAwLCA4ODI1LCA3NDU1NSwgNjU5NDAsIDQzMjU5LCAxMjY1ODYsIDYxMDcsIAorICAgIDAsIDExOTE3NywgNzc5NDEsIDc4NDAxLCAxMjg2NDEsIDExNzgzLCAzMzUsIDEyMDIyNywgNjQ2ODksIDQzOCwgNDUxMCwgCisgICAgNTc2NSwgODcyMSwgMTE5NTcwLCAxMTkyMjcsIDYwOTIsIDEyODQwLCA0MzExMiwgODg3NiwgMTIwMjMxLCA4MDk2LCAKKyAgICAxMDI4NCwgMTI4NTE1LCAwLCAwLCAxMDM4MCwgODczMywgMTAzMTYsIDcwMTIxLCA0MTYwMiwgMCwgOTIzMDgsIDc0ODMxLCAKKyAgICA5MTc5MDEsIDAsIDY4NDgyLCA2NTM5OSwgMCwgNjQ1OTEsIDQyNDA1LCAwLCAxMjA4MjAsIDg0MywgMTE1NDEsIDEyODMyNiwgCisgICAgNzAzMjEsIDIwNjUsIDQxOTM1LCA3NDQ5NiwgNDE5MDIsIDAsIDk4MzMwNCwgMjE1LCA0MTI1OCwgNzc4NzUsIDQzMTU5LCAKKyAgICAxOTUzLCA5NTc5LCA0MTkzOCwgMTI1NiwgMzkxMCwgOTQwNywgNjI0MiwgMCwgOTgzMTAwLCA0MTI1NywgNDE5MDAsIDg2NzUsIAorICAgIDEwNzAwLCA4ODA1LCAxNzQyLCAxMTM3MjIsIDkzMzMsIDgyMDIsIDcyMzk5LCAwLCA5ODMxOTcsIDEyNzI1MiwgMCwgCisgICAgNzM4ODIsIDQ5OSwgOTgzMDQ5LCA0MzQ2NywgMCwgNDM4MTgsIDAsIDE3MTIsIDU5MzIsIDc3ODQ1LCA0MTc2MiwgOTgzMTA0LCAKKyAgICAwLCAxMTk2NywgMTc3NSwgMTI1MDA2LCAwLCAxMTExOCwgMCwgMTI4MDA5LCA5NDU4LCAwLCA2NDcwLCA5MTgwLCAxMjAzODAsIAorICAgIDQzMTc2LCAwLCAwLCA0Mjc4MiwgMCwgMTI0OTk5LCA5ODMxMzUsIDEyODMwOSwgNzM4NDksIDEyMDY2OSwgOTQxNCwgCisgICAgNzQ2NDcsIDczNzgyLCA3Mzk2OSwgNTY1LCA0MjQ4NCwgNTc5NCwgMjAxLCAyNjYyLCA0MjI5MiwgMCwgODI1NCwgMCwgCisgICAgMTA5NzUsIDQzNTE4LCAxMjA2MjUsIDc0NzYzLCAxMDIyLCA0MTA4LCAzODgwLCA3NDI0NywgMCwgMCwgOTIyNjMsIAorICAgIDkxNzk4MCwgNzUwNywgOTgzMTE4LCA0MzE0OSwgNzEwNTksIDY1MDMxLCA3OTYxLCAxNjM2LCAwLCA2NTAyOSwgNjUwMjQsIAorICAgIDExOTA5OSwgMTI0NzMsIDY1MzQsIDEyMDYzMywgOTksIDk4LCA5NywgNjgyMjYsIDY3NTg0LCA0MDQ5LCA3NDE2MywgCisgICAgMTI3MDY1LCA3MDkwLCAwLCA3ODkyLCA5MTc5NjksIDEwNzc3LCA5MTc4MDMsIDY1MzEwLCA2NTU2MiwgNjY1OTksIDY2NzIyLCAKKyAgICAxOTQ5NTUsIDgwMzksIDMzNjMsIDY2NTk0LCA0MzQzNCwgMCwgNzExOTEsIDEyNTk2LCA2NjU5NSwgNDIyNTgsIDQyNTcwLCAKKyAgICA1NTkzLCAxMTkxNDgsIDEyMDcxMSwgOTI0MjUsIDEwMTAwLCA2MDYxLCA2NDg1NCwgMTE5LCAxMTgsIDExNywgMTE2LCAKKyAgICAxMjk5OCwgMTIyLCAxMjEsIDEyMCwgMTExLCAxMTAsIDEwOSwgMTA4LCAxMTUsIDExNCwgMTEzLCAxMTIsIDEwMywgMTAyLCAKKyAgICAxMDEsIDEwMCwgMTA3LCAxMDYsIDEwNSwgMTA0LCA2NDM2LCA3Mzk3NCwgNTM0LCA0MTIxMiwgNjc3MTMsIDE1MzYsIAogICAgIDY0MDkzLCA3Mzk3MCwgNzc5MzAsIDEyNzE1NywgMCwgNjAyMCwgMTI3MTYsIDEyNzExMiwgMTI3NDQsIDQ3NSwgMTIwMzk0LCAKLSAgICAxMzI2NiwgMTI3ODEzLCAxMjcxMTEsIDAsIDczOTI2LCAwLCAxMDY0NSwgMTIxMiwgNjU0MywgOTgzMzA3LCA4MTM0LCAKLSAgICAxMjgwMjgsIDI5MTMsIDczODcwLCAxMjcxMTMsIDE4NjYsIDk4MzIyOSwgMTk1MDk1LCAwLCA4OTIzLCAxNjQ1LCAxMjA1OSwgCi0gICAgNjY1ODUsIDcxMjk3LCAzMTk2LCAwLCAwLCA1OTM1LCAxMjUwLCAxMjcwNjYsIDgxNzQsIDk3ODcsIDY3MzMsIDk4NTksIAotICAgIDc5MTYsIDk4NjEsIDk4NjAsIDUyNTgsIDE4ODIsIDE4OTIsIDY3MzEsIDEwODgyLCA0MDUsIDExNDU0LCA3MzkxMSwgMCwgCi0gICAgMTI4NzgxLCA0MTE2OSwgODkzOSwgNDEyNDUsIDAsIDQxMTcwLCAxNDU0LCAxMTM2OSwgNjQ3NywgMTIxNTcsIDAsIDAsIDAsIAotICAgIDQxMTcyLCA3ODU1LCAwLCAwLCAxMDQ4MCwgMCwgMCwgNzc5MzYsIDgyNjQsIDEyNjEwLCA5ODMzMDgsIDY0NSwgMTI2NjE2LCAKLSAgICA3NjA5LCA0MDk3MywgNjk5NDMsIDczODMzLCA2OTk0OCwgNTgyNCwgOTg0LCA3NzkxOCwgMTA2ODgsIDU4NTEsIDAsIDc3MjksIAotICAgIDczOTgyLCAxMjA1MTgsIDAsIDE5NTA4NiwgNDMzNjksIDAsIDEyODE0MCwgNjg0MTUsIDk4MzA5MywgNDUzOCwgMTIwNDA2LCAKLSAgICA0MzE0MSwgMCwgOTgzMjEwLCA3NDIxNCwgNzM4ODYsIDAsIDAsIDExODkwMiwgNDMwMDUsIDc4NDQ4LCA5NTUyLCAwLCAwLCAKLSAgICA5ODMxNTksIDEyOTk3LCAwLCAwLCAwLCAwLCAyMzgxLCAxMjg4MywgMTA5OTQsIDEwNTI5LCA0MTkwNiwgMCwgMCwgMCwgCi0gICAgMTI0MjUsIDEwNjYxLCAxMDg1NiwgOTYxNCwgMjQyOCwgNDE0NzgsIDg1ODIsIDEwMDY0LCA3MzkzMCwgMCwgMCwgMCwgCi0gICAgNjQ4OTYsIDExOTE2MiwgMTk1MiwgOTIxODEsIDg0NTUsIDEwMDgyLCAxMTU3NSwgOTgzNDkwLCAxMTk1NjYsIDAsIDEyODA4LCAKLSAgICAxMjE4MywgNjE0NSwgMTE4OTU1LCA2NDkyOSwgOTI0MzMsIDAsIDk4MzE5MywgNDMxODYsIDQyNTA5LCAwLCAzOTIyLCAKLSAgICA5MTg3LCA5ODM2MTQsIDAsIDEwMTkxLCAxMTkwNTcsIDExNzUyLCAzMzUzLCA5MzU4LCAwLCA3MTM2NiwgNjY2ODAsIAotICAgIDEyMDA5MCwgODI0OCwgNzkzMSwgODU1OCwgOTc5NSwgNjgzODAsIDk4MzI5NywgMCwgMTIwMDgyLCAxMjAwODEsIDEyMDA4NCwgCi0gICAgNDEwMjcsIDEyMDA4NiwgMCwgMTIwMDg4LCA3MzY2LCA3MDE5LCAxMjAwNzMsIDAsIDExNzUxLCAxMjAwNzgsIDc4Mjk0LCAKLSAgICA2NDY1NywgODY1NywgMTIwMDQ4LCA4NTk0LCAxMjAwNjgsIDAsIDAsIDEyMDA2OSwgMTIwMDcyLCAxMjAwNzEsIDAsIDAsIAotICAgIDQzMTU0LCA0MTAyOSwgMCwgMTEzMzIsIDY1MzgwLCA3NzI4LCA5NDA3NywgMTEyOTQsIDAsIDY2NjY1LCA3ODUxLCAwLCAKLSAgICA4Mzc1LCA4Njk5LCAwLCA0MjUyNCwgMCwgOTA4NSwgOTQwNDEsIDc1MDQsIDkzMjcsIDYxNjAsIDEyODA5NSwgOTgzODY0LCAKLSAgICAwLCA4MDg4LCAwLCA3NDAxMiwgOTI1MDAsIDAsIDQ0MzksIDY5MjYsIDk4MzA0NywgMTI5MjQsIDEyODIyNywgNDIzNjksIAorICAgIDEzMjY2LCAxMjc4MTMsIDEyNzExMSwgNzg4NDIsIDczOTI2LCA2NjI5MSwgMTA2NDUsIDEyMTIsIDY1NDMsIDk4MzMwNywgCisgICAgODEzNCwgMTI4MDI4LCAyOTEzLCA3Mzg3MCwgMTI3MTEzLCAxODY2LCA5ODMyMjksIDcxODkyLCAwLCA4OTIzLCAxNjQ1LCAKKyAgICAxMjA1OSwgNjY1ODUsIDcxMjk3LCAzMTk2LCA3MjQwNCwgMTk0ODI3LCA1OTM1LCAxMjUwLCAxMjcwNjYsIDgxNzQsIDk3ODcsIAorICAgIDY3MzMsIDk4NTksIDc5MTYsIDk4NjEsIDk4NjAsIDUyNTgsIDE4ODIsIDE4OTIsIDY3MzEsIDEwODgyLCA0MDUsIDExNDU0LCAKKyAgICA3MzkxMSwgMTEzNzg3LCA5MjUyOSwgNDExNjksIDg5MzksIDQxMjQ1LCAwLCA0MTE3MCwgMTQ1NCwgMTEzNjksIDY0NzcsIAorICAgIDEyMTU3LCAwLCAwLCAwLCA0MTE3MiwgNzg1NSwgMCwgMCwgMTA0ODAsIDQzMjU4LCA5MTc4MTksIDc3OTM2LCA4MjY0LCAKKyAgICAxMjYxMCwgOTgzMzA4LCA2NDUsIDEyNjYxNiwgNzYwOSwgNDA5NzMsIDY5OTQzLCA3MzgzMywgNjk5NDgsIDU4MjQsIDk4NCwgCisgICAgNzc5MTgsIDEwNjg4LCA1ODUxLCAwLCA3NzI5LCA3Mzk4MiwgMTIwNTE4LCAwLCAxOTUwODYsIDQzMzY5LCAwLCAxMjgxNDAsIAorICAgIDY4NDE1LCA5MjY0NCwgNDUzOCwgOTM5NzgsIDQzMTQxLCAwLCA5ODMyMTAsIDc0MjE0LCA3Mzg4NiwgNjc3MDksIDkxNzU5OSwgCisgICAgNzE5MTgsIDQzMDA1LCA3ODQ0OCwgOTU1MiwgMCwgNzAxMjksIDEyOTE3MywgMTI5OTcsIDAsIDAsIDAsIDAsIDIzODEsIAorICAgIDEyODgzLCAxMDk5NCwgMTA1MjksIDQxOTA2LCAwLCA3NDYxOCwgMCwgMTI0MjUsIDEwNjYxLCAxMDg1NiwgOTYxNCwgMjQyOCwgCisgICAgNDE0NzgsIDg1ODIsIDEwMDY0LCA3MzkzMCwgMCwgNzA0MzcsIDAsIDY0ODk2LCAxMTkxNjIsIDE5NTIsIDkyMTgxLCA4NDU1LCAKKyAgICAxMDA4MiwgMTE1NzUsIDEyOTA2MiwgMTE5NTY2LCAxMjgwOTMsIDEyODA4LCAxMjE4MywgNjE0NSwgMTE4OTU1LCA2NDkyOSwgCisgICAgOTI0MzMsIDcxOTE2LCA5ODMxOTMsIDQzMTg2LCA0MjUwOSwgMCwgMzkyMiwgOTE4NywgMTI2NTEzLCAwLCAxMDE5MSwgCisgICAgMTE5MDU3LCAxMTc1MiwgMzM1MywgOTM1OCwgOTgzNDYwLCA3MTM2NiwgNjY2ODAsIDEyMDA5MCwgODI0OCwgNzkzMSwgCisgICAgODU1OCwgOTc5NSwgNjgzODAsIDk4MzI5NywgMCwgMTIwMDgyLCAxMjAwODEsIDEyMDA4NCwgNDEwMjcsIDEyMDA4NiwgMCwgCisgICAgMTIwMDg4LCA3MzY2LCA3MDE5LCA3MDM3OCwgMCwgMTE3NTEsIDEyMDA3OCwgNzgyOTQsIDY0NjU3LCA4NjU3LCAxMjAwNDgsIAorICAgIDg1OTQsIDEyMDA2OCwgMCwgMCwgMTIwMDY5LCAxMjAwNzIsIDEyMDA3MSwgMCwgMTEzNzExLCA0MzE1NCwgNDEwMjksIDAsIAorICAgIDExMzMyLCA2NTM4MCwgNzcyOCwgOTQwNzcsIDExMjk0LCAwLCA2NjY2NSwgNzg1MSwgMCwgODM3NSwgODY5OSwgMTI3OTQ5LCAKKyAgICA0MjUyNCwgNjg0MTksIDkwODUsIDk0MDQxLCA3NTA0LCA5MzI3LCA2MTYwLCAxMjgwOTUsIDk4Mzg2NCwgMTk0OTI5LCAKKyAgICA4MDg4LCAxMjg5MzcsIDc0MDEyLCA2NjU2MiwgMCwgNDQzOSwgNjkyNiwgNzI0MjMsIDEyOTI0LCAxMjgyMjcsIDQyMzY5LCAKICAgICA0MzUwLCA2NTQ5MSwgNjUxNDUsIDkwNDEsIDQzNTU5LCA2NDU3NywgMTA4MjYsIDAsIDExMjk2LCA5ODMyODMsIDAsIDAsIAotICAgIDY1ODI1LCA5NTc3LCA2ODE5OSwgMCwgNjQ2NzAsIDk4MzEyMSwgNzgwNTYsIDY3OTMsIDExMjk1LCAwLCA3ODA1MywgCi0gICAgNzM4NzIsIDAsIDAsIDEwOTAyLCAwLCAwLCA3ODA3MCwgNzgwNjgsIDEwNDcyLCAyOTk1LCAwLCAwLCA2NDY4MiwgMjM3MSwgCi0gICAgNzgwNjksIDEyMDgwOCwgMjU5LCAxMDA5LCA5MjE3MSwgMjQwMiwgMjMzMywgNjQ0MCwgMTk0NzQxLCAwLCA2NTEyNSwgCi0gICAgNDEyNDQsIDAsIDEzMjcxLCA5MTAzLCAyMjc4LCAwLCAwLCAwLCAwLCAxMDIxOSwgMCwgMCwgMCwgMCwgNDMxNzgsIAotICAgIDEyNzA3MCwgNDEyNjEsIDExOTM2MiwgNDM2NDAsIDg2MTMsIDAsIDk0MDQ5LCA2NzM2LCAxOTUwOTIsIDQxNDkyLCAxMjAwNSwgCi0gICAgNjk5MjcsIDAsIDE4OTAsIDEyMDA1NiwgMCwgMCwgMCwgNzI5MywgNzk5MSwgMCwgMTA1NzgsIDAsIDc4MDc2LCAxOTQ3MzgsIAotICAgIDc4MDc3LCA2OTkyOCwgMCwgNzg4MDAsIDkyNjUzLCA2NDQ0NSwgNDI2NjgsIDY2MzUsIDAsIDYxNjQsIDY1MTcwLCAwLCAwLCAKLSAgICA3Njc2LCAxMTY2NCwgMCwgOTgzNjU4LCA2OTcwNywgMCwgMTE4ODEyLCAwLCAwLCAxMjgwNDUsIDkxNzUsIDExOTI1LCAKLSAgICA3ODA0NSwgOTA4OCwgMCwgNjQ1NDUsIDEzOTYsIDAsIDc1NDYsIDM4NDcsIDEyNzE3NywgMTI3ODM1LCA0OTg1LCAxMzI4OCwgCi0gICAgNjcyLCA4MDk4LCA0MzE5NiwgMTk0NzQ2LCA5ODMwOTYsIDEyODEyNiwgNDI2NTUsIDc0MDQzLCA2NTA3MiwgMTU3NywgCi0gICAgMTE3NzIsIDEzMDQxLCA1OTI4LCA0NTI1LCAxMDY1OCwgNjU5MTEsIDEyNjYsIDEwMTgwLCAwLCAxMjg1ODQsIDEyNjIyLCAwLCAKLSAgICAwLCAwLCAxOTQ3MTQsIDEyNzEzOSwgMTMzMTAsIDc3MywgMTk5MzMsIDE1MzksIDAsIDEyNjk4MywgNDI3MzEsIDY3OTcyLCAKLSAgICAwLCAwLCAwLCAzMDUxLCA1ODYyLCA3ODIzLCA5MjQ3OCwgMCwgMTIwNDExLCAzMjUwLCA0Mzk5MSwgNjk2ODcsIDY2NjQ5LCAKLSAgICA5NTEwLCA2NjIzNywgOTgzMzAyLCAwLCA0MTA2NiwgNjQ2NzMsIDkxNzk2MywgOTE3OTY0LCAwLCAzNTA1LCA4NzA3LCAKLSAgICA5MTc5NjgsIDY3MjUsIDEyODAxMywgOTE3OTcxLCA5MjMxNCwgMzQ3MSwgOTE3OTcwLCA1NDc5LCA4ODIsIDY2ODYsIAotICAgIDExOTU4NCwgMTE2MTMsIDEyMDc3MiwgNDI3NTQsIDAsIDk4MzMwNiwgOTI2OTYsIDAsIDAsIDAsIDEyODUyMywgMzIyNSwgCi0gICAgOTE3OTk2LCA0NDMzLCA0MTE1NiwgNDM5NzMsIDQzMTczLCAxNDQzLCA0MzgxLCAwLCAwLCAxMDkyNiwgMTE3NTYsIDExNzU3LCAKLSAgICA2NDg3OSwgOTE3OTQ5LCA5MTc5NTAsIDEyNzg0OCwgMTMyMjcsIDAsIDEwMDIxLCA1MTYwLCAxMzg3LCAwLCA5MTc5NTMsIAotICAgIDQxNDE4LCAwLCA2NTkxNCwgNjcyMSwgMjE3LCA5MTc5NTUsIDkxNzk2MCwgOTE3OTYxLCAxMDQ0MywgMTA3ODksIDQxMTU4LCAKLSAgICAxMTkyNTcsIDQyNzQsIDk4MzMwMCwgNDE0ODMsIDAsIDQxMjUwLCAwLCA0MjE3OSwgMCwgNTkzMSwgMTE3NDQsIDY5MjMyLCAKLSAgICAwLCA0MTI1MiwgNjY2ODIsIDAsIDExOTYzNywgNDEyNDksIDEzNjYsIDY0NjM1LCA2NTA0NywgMTI0NjYsIDAsIDAsIDQzOTcsIAotICAgIDEyODAzNywgMTI4MzM2LCA0MTI5NiwgOTU0NSwgNDEyOTEsIDEyODA0OSwgMCwgNDE0ODUsIDM1MTEsIDQxMjgyLCA1OTIzLCAKLSAgICAxMDQwMCwgMCwgMTI4ODE4LCA3NjAsIDAsIDEyMDg4LCA1Nzg2LCAwLCA0MjI1NiwgMTE5ODY5LCAxMTk4NjAsIDQxNywgCi0gICAgNDE0NzQsIDExOTU2MiwgNDE1NjUsIDAsIDU5MzQsIDExOTg2NywgNjY1ODMsIDExOTIzMSwgNjQ4NzcsIDIyODQsIDY0NDgxLCAKLSAgICA3ODYxNCwgNjYwMTMsIDQxOTU2LCA0MzQ1NSwgMTI2OTk1LCAwLCAwLCAwLCA0MjI3MywgNTgxOSwgMCwgOTE3NTU2LCAwLCAKKyAgICA2NTgyNSwgOTU3NywgNjgxOTksIDk4MzM5MSwgNjQ2NzAsIDk4MzEyMSwgNzgwNTYsIDY3OTMsIDExMjk1LCA3MDQwOSwgCisgICAgNzgwNTMsIDczODcyLCA3ODA1NSwgMTE5OTkzLCAxMDkwMiwgMCwgMCwgNzgwNzAsIDExMjAwLCAxMDQ3MiwgMjk5NSwgMCwgCisgICAgMTIwMTM4LCA2NDY4MiwgMjM3MSwgNzgwNjksIDEyMDgwOCwgMjU5LCAxMDA5LCA3MDQwNSwgMjQwMiwgMjMzMywgNjQ0MCwgCisgICAgMTk0NzQxLCAxMTM3NTcsIDY1MTI1LCA0MTI0NCwgNzA0MDcsIDEzMjcxLCA5MTAzLCAyMjc4LCAwLCAxOTQ3MjgsIDAsIDAsIAorICAgIDEwMjE5LCAwLCAxOTQ3NDAsIDAsIDY3NzE4LCA0MzE3OCwgMTI3MDcwLCA0MTI2MSwgMTE5MzYyLCA0MzY0MCwgODYxMywgMCwgCisgICAgOTQwNDksIDY3MzYsIDE5NTA5MiwgNDE0OTIsIDEyMDA1LCA2OTkyNywgMTI3MDY4LCAxODkwLCAxMjAwNTYsIDAsIAorICAgIDEyODQ1MCwgMCwgNzI5MywgNzk5MSwgNzQwNTIsIDEwNTc4LCA5MTc5OTgsIDc4MDc2LCAxMjg2MjAsIDY3MzY4LCA2OTkyOCwgCisgICAgNzE4NTAsIDc4ODAwLCA5MjY1MywgNjQ0NDUsIDQyNjY4LCA2NjM1LCAxMjgzMDgsIDYxNjQsIDY1MTcwLCAwLCAwLCA3Njc2LCAKKyAgICAxMTY2NCwgMCwgOTMwMjUsIDY5NzA3LCA5MzAyMiwgMTE4ODEyLCAwLCA3MTA5NiwgMTI4MDQ1LCA5MTc1LCAxMTkyNSwgCisgICAgNzgwNDUsIDkwODgsIDExOTE0NSwgNjQ1NDUsIDEzOTYsIDAsIDc1NDYsIDM4NDcsIDcxMDg4LCA5MzAzNywgNDk4NSwgCisgICAgMTMyODgsIDY3MiwgODA5OCwgNDMxOTYsIDE5NDc0NiwgMTIwNzIzLCAxMjgxMjYsIDQyNjU1LCA3NDA0MywgNjUwNzIsIAorICAgIDE1NzcsIDExNzcyLCAxMzA0MSwgNTkyOCwgNDUyNSwgMTA2NTgsIDY1OTExLCAxMjY2LCAxMDE4MCwgMCwgMTI4MzcxLCAKKyAgICAxMjYyMiwgMCwgMTI0OTQ4LCAwLCAxMjg4NTgsIDEyNzEzOSwgMTMzMTAsIDc3MywgMTk5MzMsIDE1MzksIDAsIDEyNjk4MywgCisgICAgNDI3MzEsIDY3OTcyLCAwLCA3MTA2NiwgOTgzMjAwLCAzMDUxLCA1ODYyLCA3ODIzLCA5MjQ3OCwgOTI3NDYsIDEyMDQxMSwgCisgICAgMzI1MCwgNDM5OTEsIDY5Njg3LCA2NjY0OSwgOTUxMCwgNjYyMzcsIDk4MzMwMiwgMCwgNDEwNjYsIDY0NjczLCA5MTc5NjMsIAorICAgIDkxNzk2NCwgMTI4NjM2LCAzNTA1LCA4NzA3LCA5MTc5NjgsIDY3MjUsIDEyODAxMywgOTE3OTcxLCA5MjMxNCwgMzQ3MSwgCisgICAgNjYzOTEsIDU0NzksIDg4MiwgNjY4NiwgMTE5NTg0LCAxMTYxMywgMTIwNzcyLCA0Mjc1NCwgNzQ2MDgsIDk4MzMwNiwgCisgICAgOTI2OTYsIDAsIDAsIDAsIDEyODUyMywgMzIyNSwgOTE3OTk2LCA0NDMzLCA0MTE1NiwgNDM5NzMsIDQzMTczLCAxNDQzLCAKKyAgICA0MzgxLCAwLCAwLCAxMDkyNiwgMTE3NTYsIDExNzU3LCA2NDg3OSwgOTE3OTQ5LCAxOTUwNTMsIDEyNzg0OCwgMTMyMjcsIAorICAgIDEyMDMyMCwgMTAwMjEsIDUxNjAsIDEzODcsIDAsIDkxNzk1MywgNDE0MTgsIDEyODkzMywgNjU5MTQsIDY3MjEsIDIxNywgCisgICAgOTE3OTU1LCA5MTc5NjAsIDkxNzk2MSwgMTA0NDMsIDEwNzg5LCA0MTE1OCwgMTE5MjU3LCA0Mjc0LCAxMTE0MywgNDE0ODMsIAorICAgIDAsIDQxMjUwLCAxMjg5MDQsIDQyMTc5LCAxMjgzNzUsIDU5MzEsIDExNzQ0LCAxMTIxNSwgNzQ0NDYsIDQxMjUyLCA2NjY4MiwgCisgICAgMCwgMTE5NjM3LCA0MTI0OSwgMTM2NiwgNjQ2MzUsIDY1MDQ3LCAxMjQ2NiwgOTgzNDU2LCAwLCA0Mzk3LCAxMjgwMzcsIAorICAgIDEyODMzNiwgNDEyOTYsIDk1NDUsIDQxMjkxLCAxMjgwNDksIDAsIDQxNDg1LCAzNTExLCA0MTI4MiwgNTkyMywgMTA0MDAsIAorICAgIDAsIDEyODgxOCwgNzYwLCAwLCAxMjA4OCwgNTc4NiwgNjgyNTIsIDQyMjU2LCAxMTk4NjksIDY3MTQ1LCA0MTcsIDQxNDc0LCAKKyAgICAxMTk1NjIsIDQxNTY1LCAwLCA1OTM0LCA3NDU3MiwgNjY1ODMsIDExOTIzMSwgNjQ4NzcsIDIyODQsIDY0NDgxLCA3ODYxNCwgCisgICAgNjYwMTMsIDQxOTU2LCA0MzQ1NSwgNjcyNDAsIDE5NDY1NiwgMCwgMCwgNDIyNzMsIDU4MTksIDAsIDkxNzU1NiwgMCwgCiAgICAgMTI2NjQzLCAwLCA2NTkxMCwgMTI3NzQ3LCAxMDI0NiwgMTIwODE2LCA2NTc4NSwgMTIzNywgMTAyNzQsIDQ1NTIsIAotICAgIDExOTU3NiwgMCwgMCwgMTM3NSwgNjY3MDUsIDQzNTczLCA2NTI2MCwgNDIwNjMsIDAsIDQyODExLCAxMDMxMiwgNjk4NDUsIAotICAgIDEyMDc5NCwgNzg0MCwgMCwgNDM2MzAsIDEwMjUyLCAwLCAxMjgxMDQsIDQzMTg1LCAwLCA0Mzk2LCAwLCAxMTk4ODAsIAotICAgIDEwNzY5LCA5Njc2LCAxMTkwNDEsIDAsIDk3NTMsIDAsIDg5NDQsIDAsIDAsIDEwNDczLCAwLCAwLCA2MDcyLCA0MzAyNSwgCi0gICAgMTAyOTksIDAsIDAsIDEyMDYwOCwgNjYzMjYsIDk4MzQ0NywgMTI3Nzk0LCAwLCA0MzgxMSwgOTMzMCwgMTIwNTk2LCA3MjIyLCAKLSAgICAxMDI4MywgMTAzMTUsIDEwMzc5LCA0OTk2LCA5ODM3ODIsIDEzMjgxLCA2NjUxNywgNzg2NSwgMTAwODcsIDc4MzQzLCAwLCAKLSAgICA3ODM0NywgMCwgMCwgNzU2NSwgNjYzNjMsIDEyOTUyLCA2NDgwNiwgNDMxODAsIDc3OTI4LCA3NDE0LCA3NzkyOSwgNDM5ODIsIAotICAgIDc0Mjg4LCA2MjIsIDc0MDIzLCA4ODUsIDQzNDA1LCAxNjAyLCAwLCAwLCA4NTIsIDAsIDEyMTYwLCAwLCAxMDIxMiwgCi0gICAgNjU0MzUsIDAsIDEyMDcxLCA5NjA5LCAxMjE1NiwgOTE3OTgzLCA5MTc5ODQsIDQzNTg2LCAxMTAzNSwgMTA0MTEsIAotICAgIDkxNzk4OCwgMTAyNTUsIDY3MTAsIDEwMjc5LCA0MTk0LCAxMDM3NSwgNzM5MDAsIDAsIDQzMTUsIDEyNjQ0LCAxMjc1MTYsIAotICAgIDc3OTM3LCA0MzYzOSwgNDMzNDMsIDc4Nzc3LCA5MTc5OTgsIDExNTAxLCA0MTE3NywgMTI4Njg5LCAwLCA5MTc3OTIsIDAsIAotICAgIDkyNDEzLCA4NzE1LCAwLCA0MTE3OSwgMCwgNDMzMTMsIDAsIDQxMTc2LCAwLCA5OTQsIDAsIDg0NTIsIDEyNzEwMywgCi0gICAgNzM5NjYsIDAsIDAsIDU5MjEsIDAsIDI1OTcsIDAsIDU5MjIsIDExODkwMywgNzc5NDMsIDQxODYsIDkyNTMxLCAxMTk5NjcsIAorICAgIDExOTU3NiwgOTgzODYzLCAwLCAxMzc1LCA2NjcwNSwgNDM1NzMsIDY1MjYwLCAzMzI5LCAwLCA0MjgxMSwgMTAzMTIsIAorICAgIDY5ODQ1LCAxMjA3OTQsIDc4NDAsIDAsIDQzNjMwLCAxMDI1MiwgMTE5MjQyLCAxMjgxMDQsIDQzMTg1LCAwLCA0Mzk2LCAKKyAgICAxOTUwNTEsIDExOTg4MCwgMTA3NjksIDk2NzYsIDExOTA0MSwgMCwgOTc1MywgMCwgODk0NCwgMCwgMCwgMTA0NzMsIDAsIAorICAgIDEyMDQ3MiwgNjA3MiwgNDMwMjUsIDEwMjk5LCAxMjg0MzYsIDAsIDEyMDYwOCwgNjYzMjYsIDY3NDEyLCA5Mjk1MiwgMCwgCisgICAgNDM4MTEsIDkzMzAsIDEyMDU5NiwgNzIyMiwgMTAyODMsIDEwMzE1LCAxMDM3OSwgNDk5NiwgMTI3OTAyLCAxMzI4MSwgCisgICAgNjY1MTcsIDc4NjUsIDEwMDg3LCA3ODM0MywgMCwgNDMzMjQsIDAsIDAsIDc1NjUsIDY2MzYzLCAxMjk1MiwgNjQ4MDYsIAorICAgIDQzMTgwLCA3NzkyOCwgNzQxNCwgNzc5MjksIDQzOTgyLCA3NDI4OCwgNjIyLCA3NDAyMywgODg1LCA0MzQwNSwgMTYwMiwgMCwgCisgICAgOTgzNzMxLCA4NTIsIDAsIDEyMTYwLCAxMjAyMTIsIDEwMjEyLCA2NTQzNSwgMTI5MDkyLCAxMjA3MSwgOTYwOSwgMTIxNTYsIAorICAgIDkxNzk4MywgOTE3OTg0LCA0MzU4NiwgMTEwMzUsIDEwNDExLCA5MTc5ODgsIDEwMjU1LCA2NzEwLCAxMDI3OSwgNDE5NCwgCisgICAgMTAzNzUsIDQzODUzLCAxMjg1OTksIDQzMTUsIDEyNjQ0LCAxMjc1MTYsIDc3OTM3LCA0MzYzOSwgNDMzNDMsIDY3NDA4LCAKKyAgICAxMjg5NDUsIDExNTAxLCA0MTE3NywgMTI4Njg5LCAxMjg4NjYsIDQzNDMxLCAxMjcwOTcsIDkyNDEzLCA4NzE1LCAwLCAKKyAgICA0MTE3OSwgOTgzMzU2LCA0MzMxMywgMTIwMjMwLCA0MTE3NiwgMCwgOTk0LCAwLCA4NDUyLCAxMjA1MDUsIDczOTY2LCAKKyAgICA2Njg5MCwgNzA4MTIsIDU5MjEsIDAsIDI1OTcsIDAsIDU5MjIsIDExODkwMywgNjY4NzMsIDQxODYsIDkyNTMxLCAxMTk5NjcsIAogICAgIDEyNzEwNSwgNjcxOCwgMCwgNDQwNiwgNzQ2MDEsIDg0ODAsIDkxOTIsIDk3NDcsIDEyNjUzMCwgNDQxMywgOTIxOTYsIAogICAgIDQyMjY4LCAzMTk4LCA1OTI0LCA1OTIwLCA5MjQ2OSwgNjkyMSwgNzgwODEsIDc0MDA3LCA0Mjg2OSwgODQxOCwgMTE2ODEsIAogICAgIDQzMTY5LCAxMDE3NiwgMCwgNzQyLCAwLCAyODkzLCAxMDc3MiwgNjUyNzYsIDU5MzcsIDE5MTQsIDI1NTMsIDExNjgyLCAKLSAgICA2NzU2LCAxMjg1OTAsIDEyODY0NiwgODM2MywgMCwgMjk5MywgNzc3MiwgMzkxNiwgNDMwMSwgMTIwNDk0LCAxMTQxLCAKLSAgICA0MjQwNywgODE1OSwgNzE4LCA3NTcyLCA5NzMsIDAsIDEyMDcxOCwgMzIzNSwgMjQxNSwgNDMxNjQsIDAsIDgwMTgsIAotICAgIDQyMzMzLCA3NDc1NiwgMTA2NzUsIDY5MzcsIDQyNDg2LCA0MzM4MSwgNjUzOTAsIDEwMDY3LCAwLCAxMjAyLCAwLCAwLCAKLSAgICA2NTg2MywgMCwgMCwgOTQwMTMsIDc4MTgyLCA2NDU0MiwgMzI2MCwgNzM4MjksIDY1Mzg4LCA5OTQ1LCA4NDE5LCA3ODA0MiwgCi0gICAgNjczOCwgMCwgNDM2ODEsIDY5NzI4LCAyMDU5LCAwLCAwLCA1NTIzNywgMTQzMSwgMCwgNjY1NjUsIDEwODIxLCAwLCAKLSAgICAxMjgwNCwgMTI4MDc2LCA4MjI5LCAxMjM1LCAzMzA3LCAxMTQ3MiwgNzgwODksIDc4MTg0LCA0NTQ0LCAwLCAwLCAwLCAKLSAgICAxNzQwLCA3ODA5NywgODc1OCwgOTg1LCAxMjg3MiwgNjQ1MTEsIDc4MDk0LCAxMjA2OCwgNzgxMDIsIDAsIDEwMTQxLCAwLCAKLSAgICA2Mzc2MSwgODc4NSwgNDQ3NiwgNzgxMDksIDYzNzYzLCAxMjY1NSwgODkwNywgNzgxMDUsIDc4MTA2LCA3ODEwMywgNzgxMDQsIAotICAgIDAsIDExOTU3MiwgMTA2NjUsIDY0NjE2LCA0MTU3MiwgMCwgMTI3MTYwLCAwLCA0MTU3MywgMCwgMzkzMSwgMTIwMjk1LCAKLSAgICA3NDE0MywgMCwgMCwgMCwgNzg0NjAsIDExOTgyLCAwLCAwLCAwLCAxMjgwMTYsIDY0NDg0LCAwLCA0MTE2NywgMCwgNDE3MzUsIAotICAgIDk0MDE5LCA3MTcsIDEwNzU0LCAwLCAwLCAxMjc5NzksIDAsIDYzNzY3LCAwLCAxNzgwLCA2OTM2LCAwLCA5MjI1NCwgODE5LCAKLSAgICAxMDYxMSwgOTY5NCwgMTI2OTc4LCAwLCAwLCAwLCAwLCA4MzQzLCA4MzQyLCA4MzQ1LCA4MzQ0LCA2NTc4LCA3MDA5LCAKLSAgICA3NTIzLCA2OTIyLCA4MzQ4LCA4MzQ3LCA3NTI1LCAzMzQ2LCA4MzM5LCAxMjgxNjUsIDEyODMzOCwgNTc1LCAyNjgsIAotICAgIDc4MTExLCA4NTYzLCA1NzU0LCAxMjAzNDMsIDQxNTQxLCA2NTU2NSwgODMzNiwgNTkzNiwgNzI5MCwgNzgxMTcsIDgzMzcsIAotICAgIDgzNDEsIDMwOCwgMTEzODgsIDc1MjIsIDEyMDcyMSwgNzgxMjMsIDY1NDY2LCAxMTA5MCwgNjk1MywgMCwgMTIwMzQ2LCAwLCAKLSAgICA3ODEzMiwgNTkyNiwgNzgxMjgsIDc4MTMwLCA3ODEyNiwgNzgxMjcsIDc4MTI0LCA3ODEyNSwgOTAzOCwgNzg4NywgNDM0NTYsIAotICAgIDc4MzAsIDExNjUxLCAxMzA5MywgNjQwMDIsIDAsIDY1NzQyLCAxMjg3NCwgMTE5NTk3LCAxMTU5MCwgMCwgNzQwNDgsIAotICAgIDEyODM1MCwgODU5NSwgMCwgOTE3OTQ3LCA0MzcwMywgMTMwOTcsIDAsIDY0NjQzLCAxMzI4MywgMTI2OTcsIDAsIDEyMzgxLCAKLSAgICAzNDg4LCA1OTMzLCAxMDAzMywgNzM3MzgsIDY2MjQxLCA2NTU3MCwgMCwgMTIyOTcsIDExOTE1MywgMTk1NSwgMCwgNTM0OSwgCi0gICAgNDI1MzgsIDAsIDAsIDc0MTEsIDk0NjIsIDkxNzU1NCwgMCwgMCwgMCwgNDI3MzYsIDAsIDU3NTYsIDk4MzIyMSwgNzYzOCwgCi0gICAgNDE2NDIsIDQyNzY0LCAwLCA0MzEwOSwgNzYzNywgNTc1MiwgNzQwMzcsIDAsIDczODMyLCAxMjg4MjcsIDEyMDYzNSwgCi0gICAgMTI4MjMxLCA3ODMzNCwgMCwgNzYzNiwgNjUxNzEsIDkxMjQsIDAsIDc4ODkyLCAxMjA3OTgsIDI5MSwgMCwgMCwgMjAyNywgCi0gICAgNjYyMzAsIDEwMDgwLCA3ODEzNiwgMTA0MDMsIDAsIDQ2NDAsIDY0NzEzLCAxMDIyNCwgMTIwNDI5LCA0MjUxMiwgMTIwNDMxLCAKLSAgICAxMjA0MzAsIDAsIDEyODM1MSwgMTI3NDg5LCAxMjcxNDgsIDAsIDkyNDk5LCAwLCAxMTkwOTQsIDc0MjEzLCA3ODI0LCAwLCAKLSAgICAwLCA0MTI3NCwgNTc3OCwgNjMwMiwgMCwgMCwgMTI2ODAsIDExOTEzMCwgMTQxNywgNzc4ODksIDE5NDkxNCwgOTQ1MiwgMCwgCi0gICAgNzQzOTMsIDExNTUyLCAwLCAxMjc4NTUsIDEyODIxNywgNjUzOTEsIDAsIDEwMTcyLCA2NTQ1MywgNjM3ODksIDQxMjY0LCAKLSAgICA3ODY1OCwgNjQyNiwgNDY0MSwgOTE3OSwgNjQ4MTksIDU1Mjc4LCA0MTI1NSwgNDIwMzYsIDQxNDY5LCA0MTI2OSwgCi0gICAgMTIwNDEyLCA0MTI2NywgNDY0NiwgMTIwNDI1LCA4NjUsIDQyMDM0LCA3ODI3NCwgNzgyNzMsIDQ2NDUsIDQyMDMzLCAKLSAgICA3ODI3MCwgMTI3OTgyLCA5ODMxNzIsIDY0NzI4LCAwLCA3ODY3MywgNzg2NzQsIDE2NTksIDkxOSwgNDI3ODQsIDE2NzEsIAotICAgIDE5NTA4OSwgNjA2OSwgOTIxOSwgMTI4NTU4LCAxNjYxLCAxMzEyMCwgNjM3ODQsIDY5ODE5LCAxMDE0MCwgOTcxMywgCisgICAgNjc1NiwgMTI1MTA0LCAxMjg2NDYsIDgzNjMsIDAsIDI5OTMsIDc3NzIsIDM5MTYsIDQzMDEsIDEyMDQ5NCwgMTE0MSwgCisgICAgNDI0MDcsIDc0MTcsIDcxOCwgNzU3MiwgOTczLCAxMTk1OTksIDEyMDcxOCwgMzIzNSwgMjQxNSwgNDMxNjQsIDAsIDgwMTgsIAorICAgIDQyMzMzLCA3NDc1NiwgMTA2NzUsIDY5MzcsIDQyNDg2LCA0MzM4MSwgNjUzOTAsIDEwMDY3LCAwLCAxMjAyLCAwLCAKKyAgICA5ODM5MTAsIDY1ODYzLCAwLCA2ODQ4NCwgOTQwMTMsIDc4MTgyLCA2NDU0MiwgMzI2MCwgNzM4MjksIDY1Mzg4LCA5OTQ1LCAKKyAgICA4NDE5LCA3ODA0MiwgNjczOCwgMCwgNDM2ODEsIDY5NzI4LCAyMDU5LCA5MjQyMiwgMCwgNTUyMzcsIDE0MzEsIDk4MzIyNiwgCisgICAgNjY1NjUsIDEwODIxLCAwLCAxMjgwNCwgMTI4MDc2LCA4MjI5LCAxMjM1LCAzMzA3LCAxMTQ3MiwgNzgwODksIDc4MTg0LCAKKyAgICA0NTQ0LCA3MTIyOCwgMCwgOTE3OTc1LCAxNzQwLCA3ODA5NywgODc1OCwgOTg1LCAxMjg3MiwgNjQ1MTEsIDc4MDk0LCAKKyAgICAxMjA2OCwgNzgxMDIsIDcxMjI2LCAxMDE0MSwgMCwgNjM3NjEsIDg3ODUsIDQ0NzYsIDc4MTA5LCA2Mzc2MywgMTI2NTUsIAorICAgIDg5MDcsIDkxNDcsIDc4MTA2LCA3ODEwMywgNzgxMDQsIDAsIDExOTU3MiwgMTA2NjUsIDY0NjE2LCA0MTU3MiwgMTI3OTc5LCAKKyAgICAxMjcxNjAsIDAsIDQxNTczLCAwLCAzOTMxLCAxMjAyOTUsIDc0MTQzLCAwLCAwLCA5ODM3NDMsIDc4NDYwLCAxMTk4MiwgMCwgCisgICAgMCwgMTI4MzgxLCA5MjcxMiwgNjQ0ODQsIDAsIDQxMTY3LCAwLCA0MTczNSwgOTQwMTksIDcxNywgMTA3NTQsIDAsIDAsIAorICAgIDcyNDEzLCA5MjkzNSwgNjM3NjcsIDAsIDE3ODAsIDY5MzYsIDAsIDkyMjU0LCA4MTksIDEwNjExLCA5Njk0LCAxMjY5NzgsIAorICAgIDAsIDAsIDAsIDEyOTA2OSwgODM0MywgODM0MiwgODM0NSwgODM0NCwgNjU3OCwgNzAwOSwgNzUyMywgNjkyMiwgODM0OCwgCisgICAgODM0NywgNzUyNSwgMzM0NiwgODMzOSwgMTI4MTY1LCAxMjgyMDgsIDU3NSwgMjY4LCA3ODExMSwgODU2MywgNTc1NCwgCisgICAgMTIwMzQzLCA0MTU0MSwgNjU1NjUsIDgzMzYsIDU5MzYsIDcyOTAsIDc4MTE3LCA4MzM3LCA4MzQxLCAzMDgsIDExMzg4LCAKKyAgICA3NTIyLCAxMjA3MjEsIDc4MTIzLCA2NTQ2NiwgMTEwOTAsIDY5NTMsIDAsIDEyMDM0NiwgMTI4OTM5LCA3ODEzMiwgNTkyNiwgCisgICAgNjgyNTAsIDc4MTMwLCA3ODEyNiwgNzgxMjcsIDc4MTI0LCA3ODEyNSwgOTAzOCwgNzg4NywgNDM0NTYsIDc4MzAsIDExNjUxLCAKKyAgICAxMzA5MywgNjQwMDIsIDk4MzU1OSwgNjU3NDIsIDEyODc0LCAxMTk1OTcsIDExNTkwLCAwLCA3NDA0OCwgNjczNzksIDg1OTUsIAorICAgIDk4MzUsIDkxNzk0NywgNDM3MDMsIDEzMDk3LCAwLCA2NDY0MywgMTMyODMsIDEyNjk3LCAwLCAxMjM4MSwgMzQ4OCwgNTkzMywgCisgICAgMTAwMzMsIDcxMTAxLCA2NjI0MSwgNjU1NzAsIDAsIDEyMjk3LCA3MTIxMiwgMTk1NSwgMTI3OTcwLCA1MzQ5LCA0MjUzOCwgCisgICAgMCwgMCwgNzQxMSwgOTQ2MiwgOTE3NTU0LCAwLCAxMjg0NjUsIDAsIDQyNzM2LCAwLCA1NzU2LCAxMjgzMjQsIDc2MzgsIAorICAgIDQxNjQyLCA0Mjc2NCwgMCwgNDMxMDksIDc2MzcsIDU3NTIsIDExMjEzLCAwLCA3MzgzMiwgMTI4ODI3LCAxMjA2MzUsIAorICAgIDEyODIzMSwgNzgzMzQsIDAsIDc2MzYsIDY1MTcxLCA5MTI0LCAwLCA3ODg5MiwgMTIwNzk4LCAyOTEsIDAsIDk4MzIyMSwgCisgICAgMjAyNywgNjYyMzAsIDEwMDgwLCA3ODEzNiwgMTA0MDMsIDcwODY5LCA0NjQwLCA2NDcxMywgMTAyMjQsIDEyMDQyOSwgCisgICAgMTExODMsIDEyMDQzMSwgMTIwNDMwLCAwLCAxMjgzNTEsIDEyNzQ4OSwgMTI3MTM4LCAwLCA5MjQ5OSwgMCwgMTE5MDk0LCAKKyAgICA3NDIxMywgNzgyNCwgMCwgMCwgNDEyNzQsIDU3NzgsIDYzMDIsIDAsIDAsIDEyNjgwLCAxMTkxMzAsIDE0MTcsIDY3MjQyLCAKKyAgICA5MzA0MSwgOTQ1MiwgMCwgNzQzOTMsIDExNTUyLCAwLCAxMjc4NTUsIDEyODIxNywgNjUzOTEsIDEyODYxNCwgMTAxNzIsIAorICAgIDY1NDUzLCA2Mzc4OSwgNDEyNjQsIDc4NjU4LCA2NDI2LCA0NjQxLCA5MTc5LCA2NDgxOSwgNTUyNzgsIDQxMjU1LCA0MjAzNiwgCisgICAgNDE0NjksIDQxMjY5LCAxMjA0MTIsIDQxMjY3LCA0NjQ2LCA2Nzc1OSwgODY1LCA0MjAzNCwgNzgyNzQsIDc4MjczLCA0NjQ1LCAKKyAgICA0MjAzMywgNzgyNzAsIDEyNzk4MiwgOTgzMTcyLCA2NDcyOCwgMCwgNzg2NzMsIDc4Njc0LCAxNjU5LCA5MTksIDQyNzg0LCAKKyAgICAxNjcxLCAxOTUwODksIDYwNjksIDkyMTksIDEyODU1OCwgMTY2MSwgMTMxMjAsIDYzNzg0LCA2OTgxOSwgMTAxNDAsIDk3MTMsIAogICAgIDExOTE0MywgMCwgMCwgOTQwNTAsIDIzMDYsIDEwNDg1LCAxMTg5NDMsIDYwNjgsIDEwNjEyLCAxOTUwOTksIDExOTU2NywgCi0gICAgMTk1MTAxLCA5MjU2MSwgNDE0NjIsIDEyMDQ3MCwgMTk1MDc5LCA1NDIyLCAxMjgyMzQsIDk4MzYyOSwgMCwgMCwgMTAyMjksIAotICAgIDEwNjM1LCA4MjYsIDEyODA4MSwgMTk1MDgyLCAxOTUwODUsIDE5NTA4NCwgMTk1MDg3LCA2NDgzLCA5MjIxMSwgMTgwOCwgCi0gICAgNzg0OCwgMCwgODEwMCwgNzgyMjcsIDc4NjY5LCA3ODY3MCwgMTMzMDEsIDc4NjY3LCA5NjY3LCA3ODY2NSwgNzg4NzIsIDAsIAotICAgIDExMDAzLCA5OTA0LCAwLCAwLCAxMjA2OTAsIDkxNDQsIDEwOTIxLCAwLCA3ODY4MCwgOTg0MCwgNjUxMzEsIDc4Njc4LCAKLSAgICA3Nzg0MSwgMTAzMTMsIDAsIDAsIDY0MzIwLCAxMDI2NSwgNzg2ODYsIDEwOTYyLCA3ODY4NCwgNDMwMDgsIDg5NDUsIAotICAgIDc4NjgzLCAwLCA0MSwgMTk1MDcyLCAxNzkyLCAxMjA1MTUsIDE5NTA3MywgODY1NSwgMTk1MDc1LCA5MjU0NCwgNzc5NTEsIAotICAgIDEyMDY2LCAwLCAzODUsIDQxNTIsIDI1ODUsIDEyNzgwNCwgMTE5MDY4LCAzMTI2LCAwLCA3NDEzNiwgMTA5NTcsIDk4MzcwMywgCi0gICAgNDMyNTgsIDExOTExNiwgMTI3ODczLCAxMzE1NywgMCwgOTE3NTQ0LCAzNTcwLCAwLCA3NDQzLCAwLCA0NDAwNiwgNjk5NywgCi0gICAgNjgwMDQsIDEyNjYzMSwgNzg3OSwgODczOSwgMTEwNzUsIDAsIDY1MjE2LCAwLCA2OTc5NSwgMjU5MywgODQ2MywgNzgxMCwgCi0gICAgOTE3ODYyLCA3ODM5LCAxMTk5MTMsIDc4ODA2LCAxMTk5MTIsIDk2OTEsIDQ0MTEsIDc4ODAyLCAwLCAwLCA0MzQ0MiwgCi0gICAgNjk4NTEsIDY1MjU0LCAxMDA2NiwgOTgzODg5LCAwLCAwLCAwLCAxMzA2MSwgODAxNiwgNzg2ODcsIDE5OTMyLCA2NDgzMSwgCi0gICAgMCwgMTE5OTIzLCAxMjM5MCwgMTE5MTcxLCAxNjM0LCA2ODExNSwgMCwgMTEwNTYsIDk4MzU3NCwgMTE5OTI1LCAwLCAKLSAgICA0MTE2NSwgMTEzMjgsIDEyNDUwLCAwLCA0MTE2NiwgMCwgMTI0NTYsIDExOTkxNCwgMTcxLCA1OTQxLCAxMjQ1MiwgCi0gICAgMTk0NzA5LCAxMjQ1OCwgMTI1MzEsIDc4Nzc5LCA0MzAxMywgNjM4MDAsIDc0MTYyLCAxMjc1NjksIDEyMDQ4MywgOTk2OSwgCi0gICAgMTIwNzY3LCAxMjQ1NCwgNjM4MDYsIDQyMTMyLCAxMjA2MywgNzg0MjUsIDc4NDI0LCAzMjMwLCAwLCAwLCAwLCA1MjA5LCAKLSAgICAyOTcsIDU4MTAsIDg1MjIsIDg0MTUsIDExOTkzNywgNzg0MjksIDc4NDI4LCA3MDc3LCAyNDk3LCAxMjg2NTEsIDk2MCwgCi0gICAgNzQxNTYsIDY5ODEsIDkyMzc0LCAxMjkzOCwgNDI5MiwgMCwgNzQ4MTUsIDEwNTEyLCAwLCA3NDgxNCwgNzg4NzUsIAotICAgIDEyNzUwNSwgNzg4NzYsIDI1MDMsIDczNzc4LCAxNzYyLCA2OTc5NCwgMjQ5NSwgNzg4NzMsIDU4NDQsIDY4MDMxLCAKLSAgICAxMTg4MzgsIDAsIDEyNjU0LCA0NjYzLCAxODk5LCA3ODg3NywgMjUwNywgNjQxMjEsIDg3MjYsIDY1NTk0LCAwLCAwLCAwLCAKLSAgICA4ODkyLCAwLCA5MjMzOSwgMCwgOTgzMDczLCA1NzgyLCA0MjAsIDAsIDAsIDQzNzk2LCAxMDc5NywgNjM3OTQsIDAsIDAsIAotICAgIDY0ODE0LCA2Mzc5NiwgNzc5NjUsIDAsIDY2NTgxLCAxMTkyMDQsIDQxNjA4LCAwLCAwLCA2Mzc5MiwgNDY1OSwgMTIwNzg4LCAKLSAgICAwLCA0MzY3NiwgMCwgNjk2NzMsIDAsIDAsIDAsIDMyOSwgNzc5NjgsIDkyNzA3LCA5MTc1NDgsIDczOTksIDAsIDQxMTg4LCAKLSAgICAxMzI0NCwgMTIwNDY2LCA0MjE2NywgNzQzNSwgNzgxOTMsIDUzODAsIDExOTA4NiwgNjkyMjUsIDExNTUsIDExMzY1LCAKLSAgICA0MzEyNiwgNzc5NzIsIDAsIDY1Njg0LCAwLCA1NjAxLCA2NTE5MiwgNDI3NjUsIDYzNzUyLCAwLCA3OTg3LCAxMjg1NDMsIAotICAgIDExNzIsIDY5Nzk5LCA2Nzg2LCA0MzYwMSwgMTIwNDc2LCA3NDEyNiwgNTYwMywgMCwgNDQ3MywgMCwgMTk0ODIzLCAwLCAKLSAgICA2NTM0NywgNjUzNDYsIDY1MzQ1LCAwLCAxMjczODQsIDUzNDcsIDY5ODAyLCA5ODM2MzIsIDczODY4LCAxMTg5NDQsIAotICAgIDEwNTg4LCAwLCAwLCA2Mzc1NSwgMCwgNTM0MywgNzg0MjIsIDEyMDY2MSwgNDU1NSwgNTM0MSwgMCwgNzAwNzEsIDEyODY3MCwgCi0gICAgNTM1MSwgNzg2NzUsIDQzMTA0LCA2NTI0NCwgOTE3ODkyLCA2NDU0MSwgNDI1MTksIDc0NDcyLCAwLCAwLCA3NDc2NSwgCi0gICAgOTE3ODg4LCAxMjc1MTAsIDY2MzgsIDAsIDY1MTEzLCAyNzEsIDc0MTgwLCA2NTM3MCwgODgzNSwgNjUzNjgsIDEyNjUzLCAKLSAgICA2NTM2NiwgNDIxNzIsIDQxMDg2LCA2NTM2MywgNjUzNjIsIDY1MzYxLCAxMTkxMiwgNDM0MTAsIDExMzIzLCA2NTM1NywgCi0gICAgMTE4MDAsIDY1MzU1LCA1MzQ1LCA2NTM1MywgNjUzNTIsIDY1MzUxLCA3NjEsIDY1MzQ5LCAxOTk1OSwgNjk3MTgsIDYzODU2LCAKLSAgICAxMjY2MzUsIDI0MjMsIDc3OTU4LCA2NDY0NywgNzc5NTksIDExOTU3LCA0Njk5LCAwLCAwLCAwLCAwLCA2NDYwNSwgMCwgMCwgCi0gICAgMCwgNDkxNiwgMCwgMzgwLCAxMDk1OCwgNjY1NjMsIDc3OTU1LCA2OTc3MywgOTc3MywgMTMxNjcsIDEyOTE4LCA0MTA5NiwgCi0gICAgNzM5ODAsIDY5MjQ1LCA3ODI1NCwgOTE3ODkzLCAxMDY4NCwgMCwgOTE3ODk2LCAwLCA3OTQ2LCAxMjU0MSwgODE4MiwgCi0gICAgNjc1ODYsIDY5NzgwLCAwLCAwLCAwLCAwLCA5MDA1LCAxMjI1LCA2NjMwLCAwLCAwLCAwLCA2ODAxMSwgODg0NywgMCwgCi0gICAgNjU4NzYsIDU1MzUsIDgzMjksIDc0NTkwLCA5ODMyMDgsIDkyNjA5LCAwLCAwLCAzMTI3LCAyNTk1LCA2NTcxMywgNDIwMTMsIAotICAgIDk4Mzg1OCwgNTYwNywgNDEwODksIDAsIDAsIDc0MjU2LCAyNjY1LCAxMTMwNCwgNDM3NTEsIDc0MjAwLCA0OTcwLCA4NzY0LCAKLSAgICAxMjA0NTksIDg5MzQsIDkyNzI2LCA0MTU2NiwgNDQ5MiwgMCwgNjUwMTEsIDQxMDkwLCAwLCAwLCAxMTg4LCA3MjU0LCAKLSAgICAxMTAwLCAwLCAxMjgzMDEsIDQxMDgxLCAyOTEyLCAxMTc0OSwgNjk3OTIsIDAsIDY4MDE5LCAzNTcyLCAxMDAyMywgNDk1OSwgCi0gICAgMTMwNzksIDAsIDk4MzI3NiwgOTcyOSwgMCwgMCwgMCwgNDMzNjEsIDAsIDAsIDExODAzLCA3OTk2LCA5OTA3LCA0MTQ1MCwgCi0gICAgMTMzMDQsIDEyODI5MCwgMTI3MjYwLCA0MTQ1MSwgMCwgMTEwOTUsIDgyNzMsIDEyNzUzMywgMzQ1MSwgOTgzMzA5LCA5NzIsIAotICAgIDQxNDUzLCA5ODM0NDIsIDAsIDczODgzLCA2ODAyMiwgNzM5NDUsIDk4MzczNSwgMjI4OCwgMTk5NTUsIDk1MzgsIDAsIAotICAgIDY5ODA3LCAwLCAwLCAwLCAwLCAxMTM5NiwgOTgzNDQwLCAxMTAxOSwgMCwgMCwgMCwgNjgwMjAsIDQxMDc4LCA3MTM2NSwgCi0gICAgMjYxLCA1OTI3LCA3NzkxLCAwLCA3MzYyLCAwLCAxMDY5NiwgMCwgNjA3MywgOTgzOCwgMTE4OTIwLCAwLCA2MDc1LCAKLSAgICA5Mzk5NSwgMjgyLCAxMjY1MTAsIDY0MzcsIDc0MDc4LCAxMjgwMDAsIDk4MDEsIDAsIDc0MTc3LCAwLCAwLCAzNDc0LCAKLSAgICAxMTg3ODcsIDAsIDEyMDY1NSwgNjA4MSwgMCwgNzg4NzQsIDc0MDc2LCA3ODg3OSwgMCwgMCwgMCwgMCwgMCwgODc1MSwgCi0gICAgMTE0OTksIDEyMDI3MywgNzgxNiwgMTI2MzYsIDQ2NjUsIDEyNjI4LCA0NjcwLCA5MjYwOCwgMTIwMjcyLCA2ODAxNywgCi0gICAgOTY0MiwgMTA5MTIsIDk1OCwgMCwgMTEzODcsIDc4ODc4LCA0NjY2LCAwLCA0OTE1LCAwLCA0NjY5LCAwLCA2ODA5OSwgCi0gICAgMTMyODcsIDQ2NjQsIDEwODM2LCAxMjA1NTAsIDAsIDY5Nzc1LCAwLCA0MzU5NSwgNzQ1MCwgMCwgOTE3ODc1LCA4NjY0LCAKLSAgICA5Njk3LCAzNjA2LCA5MTc4NzMsIDAsIDAsIDY0ODE1LCAxMDYzLCAxMjAyNTAsIDEyMDI1MSwgOTc3MiwgNzI1NSwgODg4NiwgCi0gICAgMTM4OSwgMTI3OTMyLCAxMjAyNTcsIDEyMDI1OCwgMTIwMjU5LCAxMjk0MSwgNDI2NjEsIDkyMzgxLCAxMjAyNTUsIAotICAgIDEyMDI1NiwgMTIzMDEsIDEyMDI2NiwgNjk4MjAsIDQxMTAyLCA2NDQyOCwgMTIwMjYyLCAxMjAyNjMsIDEyMDI2NCwgMTAxNywgCi0gICAgNjY2MDAsIDUyMywgNTA1LCAxNDQ3LCA3NDQzNiwgMCwgMCwgMCwgODYwOCwgNDI3ODksIDEyMDYxMywgMTI4NzA0LCAwLCAKLSAgICA3Mzg1NSwgMTEzMDcsIDY2NzA3LCA5MTc4NzEsIDEyNzc1MSwgMTE3NDUsIDc5MTksIDAsIDE2NDEsIDAsIDAsIDg5NjYsIDAsIAotICAgIDAsIDU5MDgsIDAsIDAsIDY3NDQsIDEyODM1NSwgMTY5OSwgNjk4NjEsIDc0ODQzLCA5MTc5MzMsIDAsIDYzMDYsIDEwMTY5LCAKLSAgICA3MTMyNCwgMTE5MjUxLCAxMDA2OCwgMzc2NiwgMjM4OSwgMTIwNDU2LCAxMjA0NTUsIDY2MTEsIDI1NywgNDMxNzAsIAotICAgIDEzMTUzLCAwLCA0MjM4NiwgMCwgOTQzNiwgMjU5OSwgMCwgNjQ5NiwgOTQ0OSwgNTkzMCwgMTE0NzYsIDExMDMzLCAxMTQ0NywgCi0gICAgMTA1NDEsIDU2MjIsIDEyMDQzNiwgODQ3NywgMzc2MCwgMTcxOCwgOTQ0MiwgNjY0MzMsIDM3NzYsIDAsIDQxNDM1LCA0MzUyLCAKLSAgICA5ODM2MTAsIDI0MzUsIDEyMDgwOSwgNTYyMSwgMTIwMzg1LCA0MjAxLCAzNzc4LCA0MjAzLCA0MjAyLCA0MjA1LCA0MjA0LCAKLSAgICAxMjA0NDcsIDM3NjgsIDY4MTQyLCA3NjUsIDQxNDQwLCAzNzY0LCA4NDczLCA2MzczLCA4NDY5LCAxMjA0MzgsIDEyOTQ3LCAKLSAgICA0NTY0LCAwLCAwLCA3NDI3MSwgNzM3NTMsIDgzNzQsIDk4MzE1NiwgMCwgNjgyOSwgNTIyNSwgMTI4ODA3LCAxMjczODUsIDAsIAotICAgIDAsIDExOTYxNSwgMCwgNzQ3OTMsIDU2MjYsIDczODA3LCAxMTc3MSwgNzQwNzUsIDEyNzIzNiwgMTI4MDE5LCA0MjYxNCwgCi0gICAgNTM1MywgNTYyNSwgNzQxNzksIDAsIDAsIDEwMTAsIDY0NTcyLCA0MTc4MCwgNDI2MjMsIDY0Mjc3LCA2OTk0MiwgNjk1MiwgCi0gICAgOTgzMjcyLCAxMjA3NTIsIDc4NzYyLCAyNTkwLCA1NjI5LCA2NTU1MiwgNzU1MSwgMTAzMjUsIDU2MzIsIDEwNDcxLCAKLSAgICAxMjAwMzgsIDEyMDAyNywgMTIwMDI4LCAxMjAwMjUsIDU2MjgsIDEyMDAzMSwgOTcwLCAxMjAwMjksIDQ3NzIsIDI0MDAsIAotICAgIDU2MjcsIDEyMDAxNywgMTIwMDE4LCAxMjAwMjMsIDY0Mjc1LCAxMjAwMjEsIDg3ODYsIDAsIDIwMywgMCwgMCwgMCwgMCwgCi0gICAgNzgzNTAsIDAsIDY0Mzc4LCA0MjA1NCwgMCwgMCwgNTU0LCAxMTk2NDksIDExMzU4LCAwLCAxMjE4MiwgNDIwNDgsIDExMDY1LCAKLSAgICAxMjY0NjQsIDczODkxLCAwLCAwLCA1Njk0LCA3Njg5LCA2OTc5OCwgOTMyMywgNDMyNSwgMzA0NywgMTAzMTcsIDE3NSwgMCwgCi0gICAgMCwgNjk3NjQsIDAsIDAsIDEyNDMsIDQyMTU0LCA1NDMxLCA2NjUyLCAwLCA2OTc3MCwgNDM2NTEsIDAsIDY4MTE4LCAKLSAgICAxMjgwMjQsIDExMjksIDEyNjU3NCwgMCwgNjU5MDAsIDE5ODYsIDc4NDYsIDc4ODA0LCA4NjYxLCA5MTc3NzIsIDY1MjU1LCAKLSAgICAwLCAzODQ1LCA0NDkwLCAxMTg5NjksIDY2NDksIDc0NDAwLCAxNDU2LCA3NTMwLCAxMTk3NywgNzI0OSwgODM2NiwgMCwgCi0gICAgNzc1NiwgMTIzNDIsIDEyODU2OCwgNTEsIDQxNTE2LCAwLCA4NTcwLCA5NTY4LCA3MTMxOCwgNDU2LCA3MDI2LCA4MTQ1LCAKLSAgICAxMTY4LCA5MjUxLCA5MDgyLCAxMTk5NjQsIDY0MDU1LCA0Mjc4MSwgMzg2NiwgMTIzMjMsIDQxNTEyLCA3MzgwNSwgNjgxMjEsIAotICAgIDAsIDQxNDk0LCA5MjMxNiwgNDY2MCwgMCwgMTA0MDUsIDAsIDc4ODAzLCAwLCAwLCA0MjA0MCwgNzM5MTgsIDExOTYyNywgCi0gICAgNzk0NCwgNDE0NTQsIDEyNjA1LCAwLCA0MjIwNSwgNDE0NTUsIDIzNiwgNjQwNTEsIDc4ODY3LCA4MjE0LCAwLCAwLCAwLCAKLSAgICA0MTQ1NywgOTgzOTcwLCAxMTk1ODksIDE5NjksIDIzODQsIDgwOTcsIDkxNzg2NCwgNzQxMywgNjgwMTIsIDc4MDI5LCAKLSAgICA4NzY2LCAwLCA3ODA3OSwgNTg1NCwgMTI3OTc0LCAxMDU4MywgMCwgMTE5OTg5LCAwLCAxMDQxNiwgOTE3ODY5LCAzODcyLCAKLSAgICA5MTc4NjgsIDAsIDg0MjksIDAsIDExODgwNiwgMjgzOCwgMTI4ODAyLCAwLCA5MTc4NjYsIDAsIDAsIDAsIDk4Mzk2NywgCi0gICAgOTQwMDUsIDExMDk2LCAxMjA4MTMsIDEwNTUzLCAxNjYyLCA4NDgzLCAxMjAzOTYsIDQzNjA1LCA1ODkyLCA0MzQxOCwgMCwgCi0gICAgNzM3NDIsIDY2LCA2NSwgNjgsIDY3LCA3MCwgNjksIDcyLCA3MSwgNzQsIDczLCA3NiwgNzUsIDc4LCA3NywgODAsIDc5LCAKLSAgICA4MiwgODEsIDg0LCA4MywgODYsIDg1LCA4OCwgODcsIDkwLCA4OSwgMTE5ODYyLCAxMDM1NywgNzM4NSwgODE3MCwgMTcwNCwgCi0gICAgODU1NiwgMCwgOTY1OSwgMCwgMCwgMCwgOTU1NiwgMCwgNDUwMywgMTEzNTMsIDk2NDcsIDAsIDc4MTg1LCAwLCAwLCAKLSAgICA5MjcxMywgNzg4ODYsIDAsIDAsIDc0MjI5LCA2NjU5MywgNjQzOCwgOTE3OTc5LCA5MTA5LCA3ODg4MiwgMTI4OSwgNjQ1OTksIAotICAgIDAsIDY4MDA5LCAwLCA2NTUwNywgMjQ0NywgMCwgMCwgMTI4MDQyLCAxMjY1NDUsIDk4MzEzNywgMCwgNjMzNCwgMCwgMCwgCi0gICAgMTk5MzcsIDAsIDkyMzY4LCAwLCA1Njc1LCAyNTQsIDAsIDAsIDY5Njg2LCA0MjQyNSwgODkxOCwgNjQwMDMsIDU3MTYsIAotICAgIDQyMzEyLCAwLCAwLCA2OTcyLCA0MjgyNiwgMCwgNDI0NjQsIDEyMDU2NywgMCwgOTI2NDUsIDc0Nzk2LCA2NDQwMCwgCi0gICAgNjQ2OTMsIDAsIDc3ODYxLCA2NTQyOSwgOTUxNSwgNDQzNSwgMCwgNDI1MjIsIDAsIDY4MDA4LCAxMTc4NSwgNzQxMiwgCi0gICAgNjQ2NzEsIDQxOTc4LCAxNDEyLCA0NTk0LCAxMzkxLCAxMDUzNiwgODA2NywgOTkwMSwgNzEwMywgMTI4MjkzLCA3MTAyLCAKLSAgICA3NDU4OCwgMTIwNzQ4LCAzMTQwLCAxMjg4NTQsIDc5NjAsIDQzMjcxLCAwLCAxMjUxOCwgMTA5MDksIDEyNzUwOCwgMTQyOCwgCi0gICAgMTI0NzIsIDAsIDY5ODY0LCA3Njk5LCAxMjM5MywgMCwgMCwgMCwgNzQ1MTgsIDgyMjMsIDAsIDQyNjEsIDAsIDAsIDAsIDAsIAotICAgIDAsIDEyODMwMiwgMCwgMTI4MDQ2LCA0MzQxOSwgMCwgNjQ1NTQsIDEwNTc0LCAzODc4LCAwLCA0MjM1MiwgMTc1MiwgCi0gICAgNzM3ODUsIDAsIDQyNTA2LCAxMjg1NDEsIDEwMTk5LCAwLCAwLCA2ODAyMSwgNjU5MTksIDAsIDY2OTUsIDcyMCwgMzI0LCAwLCAKLSAgICAwLCA0MzQwNiwgOTgzNzM2LCAxNDY0LCA0MDk4NSwgMCwgNzk3NCwgMCwgNDM0NzQsIDAsIDY0NDg4LCAwLCAwLCA2NDA0MSwgCi0gICAgNzQ3ODcsIDAsIDc4ODY1LCA5MjI1OCwgNjU1OTcsIDAsIDc4ODYzLCAwLCAxMzAyLCAwLCA3ODg2MSwgMTE5MTM0LCAwLCAwLCAKLSAgICA1MjA0LCA3NDc3NCwgNDM0MDQsIDExODM1LCAwLCAzOTk1LCA2ODM2MCwgNjU2MDgsIDM3MTQsIDkyMTkwLCAwLCAwLCAKLSAgICAxMDk5OSwgMTE3NTAsIDAsIDQzMjUxLCA2ODY2MCwgNDMzMDEsIDAsIDEyMDU1NywgODEzMCwgODY3MiwgMTA4NDUsIAotICAgIDExOTY0LCAwLCA5ODMxODUsIDAsIDAsIDY4NDU1LCA0Mjg2MywgNzM4MzksIDAsIDAsIDAsIDAsIDEyNjYyOSwgMCwgNDY4LCAKLSAgICA2MTIsIDAsIDY0NDAxLCA2NjQ0OCwgNjgzNzYsIDAsIDE2NzQsIDAsIDU4MjMsIDk4MzE2MywgMTIyODAsIDAsIDU0MCwgCi0gICAgNzQ1NjQsIDExOTAxNywgMCwgODQzMiwgMCwgMTEwNzMsIDAsIDY0MzE2LCAwLCAwLCA4MjAsIDQxNzQxLCAwLCAxMjA2NjcsIAotICAgIDAsIDY0Njg0LCAxMjY5OTIsIDMzNTksIDc4MDAsIDY5OTM0LCA2NTE3NywgNjIyNiwgMzUzLCAxMjM5NiwgMCwgMTE5NjEyLCAKLSAgICA2NDc0MiwgMTI4NjgyLCAxMjAyODIsIDAsIDk4MzQ1MCwgMTI0MTIsIDE5OTQxLCAwLCAxMjAyNzcsIDc4ODQ3LCAxODg0LCAKLSAgICA5NDgxLCA0MjQxOCwgNzAwNTksIDQxMTU3LCAwLCAxMTk1LCA2NDg5OCwgNzkyNCwgMCwgNDExNTEsIDIwMTAsIDAsIAotICAgIDQxMzI4LCA0MjM0NCwgMCwgMTI0MDksIDAsIDQzNjAsIDEyNzAwOSwgOTczOSwgMTI4NTUwLCA2OTkzMywgNzM5MjEsIDAsIAotICAgIDQyNTIxLCA4NTM5LCA5ODM3MjUsIDAsIDExODk4NiwgMCwgNDc4OCwgMCwgNjgwMjMsIDY1NzM0LCA5ODM0NTUsIDQzNzkwLCAKLSAgICAwLCAxMzA3NSwgNzQ0MjksIDk0MDYzLCA2NDU2OSwgNDM1MzIsIDEwODM3LCAyNDkyLCAxMjcxOTcsIDExODkwMSwgNjg2MzcsIAotICAgIDQxMTM2LCA0Mzc4NSwgMTE4MTMsIDk2NDksIDQxMTU0LCAxMTk2MTcsIDUxMjgsIDQwMzgsIDQxMTQzLCA2NTYwNCwgCi0gICAgNjQ4NTksIDQxNTkyLCA2NzcxLCAxNjQ4LCA1NDM1LCA5MTc4MzcsIDY3MzQsIDQxMzQzLCAxMTk4NDgsIDY1NDM5LCAKLSAgICAxMjcwOSwgNjk4NiwgOTIzNjQsIDY4MDE1LCAwLCA0MTM0OSwgNzAwMjEsIDEyNTgxLCAxMDM3NCwgNTE3NSwgMCwgNzM4MDYsIAotICAgIDEwMjU0LCAwLCAxMDI3OCwgMTAyNjIsIDY5ODU4LCA0MTM0NiwgMCwgNjA3LCAwLCAxMTk4NTIsIDEyODg0NiwgMTI5MjMsIAotICAgIDEwMzE0LCAxMDI4MiwgNjU0NzcsIDEwMzc4LCAxMjAyOTcsIDQwOTc2LCA4MjY1LCAwLCAxMTk4MzQsIDQwOTc1LCA1ODQwLCAKLSAgICA0MjgzOCwgMCwgNDA5NzgsIDk4Mzg5NywgMTE5ODQwLCAwLCA5ODMwNzEsIDAsIDY2NDQ0LCAxMDUzOCwgMCwgMjU1MCwgCi0gICAgMTE5ODM2LCA2Nzc5LCAwLCAwLCAzNTI1LCA2ODI0LCAxMTg4ODYsIDAsIDAsIDU2MTksIDY1ODIyLCAxMjY1NjcsIAotICAgIDE5NDg4MiwgNzQ1NSwgMCwgNTYxNiwgMTE0ODYsIDk2NTYsIDAsIDAsIDEwNzI3LCA1NjE1LCAwLCAxMjA1NTEsIDQyMzgwLCAKLSAgICA2NDg5NSwgNDM2OTMsIDY2NDUxLCA4MDgsIDU0NTUsIDExMzQ3LCAwLCAxMDI2LCA1NjIwLCAxOTQ4ODcsIDAsIDExMzUwLCAKLSAgICA1NjE3LCAwLCA5MjI1LCA2NDYzOSwgMTI3MDczLCA5MTQ1LCAxMjgwNjAsIDEzMzgsIDEyMDU4MSwgOTgzMTU4LCAxMjczOSwgCi0gICAgNDYwMywgMzA4NCwgOTgzMTU1LCA5MjQ4NCwgOTg1OCwgNjAzNywgMCwgMzk3NCwgNzgyMTMsIDEwMjkwLCA5ODM3MDQsIAotICAgIDMwODMsIDEwMzIyLCAwLCAwLCAwLCA0MTAzNiwgMCwgMCwgNDMzMjEsIDY1NjA2LCAwLCA0MTAzMiwgNDIzODgsIDAsIAotICAgIDY0NzAwLCAxMDAxMSwgMTQ0NSwgNDA5NjEsIDAsIDExOTEwNSwgMCwgNDA5NjAsIDAsIDE5NDg5MSwgMCwgNDA5NjMsIAotICAgIDY0OTUyLCAxMDQwMiwgMCwgMCwgOTIzMDQsIDEwNjAzLCAwLCAwLCA5ODMxMTMsIDAsIDY3MTQsIDEwMDgzLCAxMjcwNjksIAotICAgIDE5NDg5NSwgNzgzNjcsIDEyNzM3NywgMCwgOTM5NjMsIDkwNzMsIDQyNTg1LCA2NDMwMiwgMTA3MDQsIDY1MDMwLCA0Nzg3LCAKLSAgICAwLCA3NDgyOSwgMCwgNjU0MjMsIDAsIDEyODExOCwgOTU3MCwgNTUyNjAsIDk1MjUsIDI2ODksIDkxNzYyNiwgNjU0MjYsIDAsIAotICAgIDkxNzYyNCwgNDM3NDAsIDAsIDQwOTY2LCA5MTc2MjIsIDEzMjg2LCAzOTk4LCA0MjU5OCwgNDI1OTYsIDUwMywgNzQyMzcsIAotICAgIDg3MzUsIDI2OTAsIDY2NDg4LCA0MjgzNiwgMTI3MTUwLCA0MTk1NCwgOTE3NjE3LCAxNjUyLCA3NzIsIDY2ODgsIDgzMTAsIAotICAgIDY1NDI4LCAzNDg3LCA0MzQxNiwgMzU4NSwgMTAxOTQsIDQzMzIwLCAxMTkxNTksIDEyODE4MywgMTk0ODc0LCA2NDY4LCAKLSAgICA0MTk3NiwgOTcyMCwgOTE3NjA2LCAxMTc2NywgNDE5NzAsIDE5NDU5NiwgNTgzNiwgMTIzNTgsIDAsIDQzNTUsIDkwNDgsIAorICAgIDY3NzA1LCA5MjU2MSwgNDE0NjIsIDEyMDQ3MCwgMTk1MDc5LCA1NDIyLCAxMjgyMzQsIDk4MzYyOSwgMTI4NjExLCAKKyAgICAxMjY1MTYsIDEwMjI5LCAxMDYzNSwgODI2LCAxMjgwODEsIDE5NTA4MiwgMTk1MDg1LCAxOTUwODQsIDE5NTA4NywgNjQ4MywgCisgICAgOTIyMTEsIDE4MDgsIDc4NDgsIDExMzc4OCwgODEwMCwgNzgyMjcsIDcxMTk4LCA3ODY3MCwgMTMzMDEsIDc4NjY3LCA5NjY3LCAKKyAgICA3ODY2NSwgNjc3MDQsIDAsIDExMDAzLCA5OTA0LCAwLCA5ODM5MTksIDEyMDY5MCwgOTE0NCwgMTA5MjEsIDkyOTkyLCAKKyAgICA3ODY4MCwgOTg0MCwgNjUxMzEsIDc4Njc4LCA3MTA5MiwgMTAzMTMsIDAsIDAsIDY0MzIwLCAxMDI2NSwgNjcyNTIsIAorICAgIDEwOTYyLCA2NjkwNCwgNDMwMDgsIDg5NDUsIDc4NjgzLCAwLCA0MSwgMTk1MDcyLCAxNzkyLCAxMjA1MTUsIDE5NTA3MywgCisgICAgODY1NSwgNjgyNTQsIDkyNTQ0LCA3Nzk1MSwgMTIwNjYsIDY3MjU4LCAzODUsIDQxNTIsIDI1ODUsIDEyNzgwNCwgMTE5MDY4LCAKKyAgICAzMTI2LCAwLCA3Mzk4MywgMTA5NTcsIDEyNzAzNywgMTExNjAsIDExOTExNiwgMTI3ODczLCAxMzE1NywgMCwgOTE3NTQ0LCAKKyAgICAzNTcwLCAxMjkxODcsIDc0NDMsIDExODgwNCwgNDQwMDYsIDY5OTcsIDY4MDA0LCAxMjY2MzEsIDc4NzksIDg3MzksIAorICAgIDExMDc1LCAwLCA2NTIxNiwgNzAxOTYsIDY5Nzk1LCAyNTkzLCA4NDYzLCA3ODEwLCAxMjg1NDMsIDc4MzksIDExOTkxMywgCisgICAgNzg4MDYsIDExOTkxMiwgOTY5MSwgNDQxMSwgNzg4MDIsIDEyOTAzMiwgMTI0OTcwLCA0MzQ0MiwgNjk4NTEsIDY1MjU0LCAKKyAgICAxMDA2NiwgOTgzODg5LCA3MjQxOSwgMCwgMCwgMTMwNjEsIDgwMTYsIDc4Njg3LCAxOTkzMiwgNjQ4MzEsIDAsIDExMzY4NCwgCisgICAgMTIzOTAsIDExOTE3MSwgMTYzNCwgNjgxMTUsIDk4Mzk2MiwgMTEwNTYsIDk4MzU3NCwgMTE5OTI1LCA5ODMwOTksIDQxMTY1LCAKKyAgICAxMTMyOCwgMTI0NTAsIDk4MzgxMSwgNDExNjYsIDAsIDEyNDU2LCAxMTk5MTQsIDE3MSwgNTk0MSwgMTI0NTIsIDE5NDcwOSwgCisgICAgMTI0NTgsIDEyNTMxLCA3ODc3OSwgNDMwMTMsIDYzODAwLCA3NDE2MiwgMTI3NTY5LCAxMjA0ODMsIDk5NjksIDEyMDc2NywgCisgICAgMTI0NTQsIDYzODA2LCA0MjEzMiwgMTIwNjMsIDc4NDI1LCA3ODQyNCwgMzIzMCwgMCwgMCwgMTI1MDI5LCA1MjA5LCAyOTcsIAorICAgIDU4MTAsIDg1MjIsIDg0MTUsIDExOTkzNywgNzg0MjksIDc4NDI4LCA3MDc3LCAyNDk3LCAxMjg2NTEsIDk2MCwgNzQxNTYsIAorICAgIDY5ODEsIDkyMzc0LCAxMjkzOCwgNDI5MiwgNzg4OTMsIDc0ODE1LCAxMDUxMiwgMCwgNzQ4MTQsIDc4ODc1LCAxMjc1MDUsIAorICAgIDc4ODc2LCAyNTAzLCA3Mzc3OCwgMTc2MiwgNjk3OTQsIDI0OTUsIDc4ODczLCA1ODQ0LCA2ODAzMSwgMTE4ODM4LCAKKyAgICAxOTQ2NTgsIDEyNjU0LCA0NjYzLCAxODk5LCA3ODg3NywgMjUwNywgNjQxMjEsIDg3MjYsIDY1NTk0LCAwLCAwLCAwLCAKKyAgICA4ODkyLCA3ODg3MiwgOTIzMzksIDcxMjMyLCA5ODMwNzMsIDU3ODIsIDQyMCwgMTI5MDM0LCA5MTc4NzEsIDQzNzk2LCAKKyAgICAxMDc5NywgNjM3OTQsIDAsIDAsIDY0ODE0LCA2Mzc5NiwgNDM4NjEsIDAsIDY2NTgxLCAxMTkyMDQsIDQxNjA4LCAxMjg0NzksIAorICAgIDAsIDYzNzkyLCA0NjU5LCAxMjA3ODgsIDc3OTcxLCA0MzY3NiwgOTI5NTYsIDY5NjczLCAwLCAxMTEyOSwgOTI5MjksIDMyOSwgCisgICAgNzc5NjgsIDkyNzA3LCA5MTc1NDgsIDczOTksIDAsIDQxMTg4LCAxMzI0NCwgNjc2OTIsIDQyMTY3LCA3NDM1LCA3ODE5MywgCisgICAgNTM4MCwgMTE5MDg2LCA2OTIyNSwgMTE1NSwgMTEzNjUsIDQzMTI2LCA3Nzk3MiwgMCwgNjU2ODQsIDAsIDU2MDEsIDY1MTkyLCAKKyAgICA0Mjc2NSwgNjM3NTIsIDAsIDc5ODcsIDkzMDU1LCAxMTcyLCA2OTc5OSwgNjc4NiwgNDM2MDEsIDEyMDQ3NiwgNzQxMjYsIAorICAgIDU2MDMsIDAsIDQ0NzMsIDAsIDcyNDI2LCAxMjQ5NDcsIDY1MzQ3LCA2NTM0NiwgNjUzNDUsIDEyODU0OCwgMTE5MjEzLCAKKyAgICA1MzQ3LCA2OTgwMiwgOTgzNjMyLCA3Mzg2OCwgNzA4NTIsIDEwNTg4LCAwLCAwLCA2Mzc1NSwgMCwgNTM0MywgNzg0MjIsIAorICAgIDEyMDY2MSwgNDU1NSwgNTM0MSwgMCwgNzAwNzEsIDEyODY3MCwgNTM1MSwgNzg2NzUsIDQzMTA0LCA2NTI0NCwgOTE3ODkyLCAKKyAgICA2NDU0MSwgNDI1MTksIDY4MTM0LCAxMjg5MTYsIDEyNjk4NiwgNzQ3NjUsIDkxNzg4OCwgMTI3NTEwLCA2NjM4LCAwLCAKKyAgICA2NTExMywgMjcxLCA3NDE4MCwgNjUzNzAsIDg4MzUsIDY1MzY4LCAxMjY1MywgNjUzNjYsIDQyMTcyLCA0MTA4NiwgNjUzNjMsIAorICAgIDY1MzYyLCA2NTM2MSwgMTE5MTIsIDQzNDEwLCAxMTMyMywgNjUzNTcsIDExODAwLCA2NTM1NSwgNTM0NSwgMTExMDMsIAorICAgIDY1MzUyLCA2NTM1MSwgNzYxLCA2NTM0OSwgMTk5NTksIDY5NzE4LCA2Mzg1NiwgMTI2NjM1LCAyNDIzLCA3NDUxOCwgCisgICAgNjQ2NDcsIDc3OTU5LCAxMTk1NywgNDY5OSwgMTI2NTczLCAwLCAwLCAwLCA2NDYwNSwgMCwgMCwgMCwgNDkxNiwgMCwgMzgwLCAKKyAgICAxMDk1OCwgNjY1NjMsIDc3OTU1LCA2OTc3MywgOTc3MywgMTMxNjcsIDEyOTE4LCA0MTA5NiwgNzM5ODAsIDY5MjQ1LCAKKyAgICA3ODI1NCwgOTE3ODkzLCAxMDY4NCwgMCwgMTI1MDYzLCA5MjkwNiwgNzk0NiwgMTI1NDEsIDgxODIsIDY3NTg2LCA2OTc4MCwgCisgICAgMCwgMCwgMCwgMCwgOTAwNSwgMTIyNSwgNjYzMCwgMCwgMCwgMTE4ODU0LCA2ODAxMSwgODg0NywgOTIzNzEsIDY1ODc2LCAKKyAgICA1NTM1LCA4MzI5LCA3NDU5MCwgMTI1MDM2LCA5MjYwOSwgMCwgNjY4NzQsIDMxMjcsIDI1OTUsIDY1NzEzLCA0MjAxMywgCisgICAgMTI5MTg4LCA1NjA3LCA0MTA4OSwgMTI4NjI2LCAwLCA3NDI1NiwgMjY2NSwgMTEzMDQsIDQzNzUxLCA3NDIwMCwgNDk3MCwgCisgICAgODc2NCwgMTIwNDU5LCA4OTM0LCA5MjcyNiwgNDE1NjYsIDQ0OTIsIDY3MjcxLCA2NTAxMSwgNDEwOTAsIDAsIDkyOTA5LCAKKyAgICAxMTg4LCA3MjU0LCAxMTAwLCAwLCA2NzI3MCwgNDEwODEsIDI5MTIsIDExNzQ5LCA2NzI4MiwgNjcyODEsIDY3MjgwLCAKKyAgICAzNTcyLCAxMDAyMywgNDk1OSwgMTMwNzksIDAsIDY3Mjc1LCA5NzI5LCAxMjUxMTAsIDAsIDY3Mjc4LCA0MzM2MSwgCisgICAgOTgzNzMzLCA2NzI3NiwgMTE4MDMsIDc5OTYsIDk5MDcsIDQxNDUwLCAxMzMwNCwgMTI4MjkwLCAxMjcyNjAsIDQxNDUxLCAwLCAKKyAgICAxMTA5NSwgODI3MywgNzQzMjIsIDM0NTEsIDk4MzMwOSwgOTcyLCA0MTQ1MywgNjgxNjQsIDExOTMyNywgNzM4ODMsIAorICAgIDY4MDIyLCA3Mzk0NSwgOTgzNzM1LCAyMjg4LCAxOTk1NSwgOTUzOCwgOTI5NTMsIDY5ODA3LCAwLCAxMjkwOTUsIDAsIAorICAgIDEyODg5NywgMTEzOTYsIDk4MzQ0MCwgMTEwMTksIDAsIDEyODQxNiwgMCwgNjgwMjAsIDQxMDc4LCA3MTM2NSwgMjYxLCAKKyAgICA1OTI3LCA3NzkxLCA5ODMwODcsIDczNjIsIDAsIDEwNjk2LCA3MDEyNCwgNjA3MywgOTgzOCwgMTE4OTIwLCAwLCA2MDc1LCAKKyAgICA5Mzk5NSwgMjgyLCAxMjY1MTAsIDY0MzcsIDc0MDc4LCAxMjgwMDAsIDk4MDEsIDY2Mzk5LCA3NDE3NywgMCwgMCwgMzQ3NCwgCisgICAgNjcyODcsIDAsIDY3Mjg2LCA2MDgxLCAxMjcyMTcsIDc4ODc0LCA2NzI4OSwgNjcyODMsIDAsIDcwMDAyLCAxMjg5MDgsIDAsIAorICAgIDkzMDEzLCA4NzUxLCAxMTQ5OSwgNjcyOTcsIDc4MTYsIDEyNjM2LCA0NjY1LCAxMjYyOCwgNDY3MCwgNjcyOTgsIDEyMDI3MiwgCisgICAgNjgwMTcsIDk2NDIsIDEwOTEyLCA5NTgsIDY3MjkzLCAxMTM4NywgNjcyOTEsIDQ2NjYsIDcwNzkyLCA0OTE1LCA2NzcxNSwgCisgICAgNDY2OSwgMCwgNjgwOTksIDEzMjg3LCA0NjY0LCAxMDgzNiwgMTIwNTUwLCAwLCA2OTc3NSwgMCwgNDM1OTUsIDc0NTAsIDAsIAorICAgIDkxNzg3NSwgODY2NCwgOTY5NywgMzYwNiwgOTE3ODczLCA5ODM5NzgsIDAsIDY0ODE1LCAxMDYzLCAxMjAyNTAsIDY3MzEyLCAKKyAgICA5NzcyLCA3MjU1LCA4ODg2LCAxMzg5LCAxMjc5MzIsIDEyMDI1NywgMTIwMjU4LCAxMjAyNTksIDEyOTQxLCA0MjY2MSwgCisgICAgOTIzODEsIDEyMDI1NSwgMTIwMjU2LCAxMjMwMSwgMTIwMjY2LCA2OTgyMCwgNDExMDIsIDY0NDI4LCAxMjAyNjIsIAorICAgIDEyMDI2MywgMTIwMjY0LCAxMDE3LCA2NjYwMCwgNTIzLCA1MDUsIDE0NDcsIDc0NDM2LCAwLCA3MDM0MCwgMCwgODYwOCwgCisgICAgNDI3ODksIDEyMDYxMywgMTI4NzA0LCAwLCA3Mzg1NSwgMTEzMDcsIDY2NzA3LCA2NzMwMSwgNjczMDAsIDExNzQ1LCA3OTE5LCAKKyAgICA2NzMwNCwgMTY0MSwgMCwgMCwgODk2NiwgMCwgMTI3MjEyLCA1OTA4LCA3MTg3MCwgNjc4NTMsIDY3NDQsIDY3MzEwLCAKKyAgICAxNjk5LCA2NzMwOCwgNjczMDcsIDY3MzE0LCA2NzMxMywgNjMwNiwgMTAxNjksIDcxMzI0LCAxMTkyNTEsIDEwMDY4LCAKKyAgICAzNzY2LCAyMzg5LCA2NzMwNSwgMTIwNDU1LCA2NjExLCAyNTcsIDQzMTcwLCAxMzE1MywgMCwgNDIzODYsIDAsIDk0MzYsIAorICAgIDI1OTksIDAsIDY0OTYsIDk0NDksIDU5MzAsIDExNDc2LCAxMTAzMywgMTE0NDcsIDEwNTQxLCA1NjIyLCAxMjA0MzYsIAorICAgIDg0NzcsIDM3NjAsIDE3MTgsIDk0NDIsIDY2NDMzLCAzNzc2LCA5MTc4MzcsIDQxNDM1LCA0MzUyLCA2NzMyNCwgMjQzNSwgCisgICAgNzEyMTEsIDU2MjEsIDEyMDM4NSwgNDIwMSwgMzc3OCwgNDIwMywgNDIwMiwgNDIwNSwgNDIwNCwgMTIwNDQ3LCAzNzY4LCAKKyAgICA0MTc3NCwgNzY1LCA0MTQ0MCwgMzc2NCwgODQ3MywgNjM3MywgODQ2OSwgMTIwNDM4LCAxMjk0NywgNDU2NCwgMCwgNzQ2MjMsIAorICAgIDc0MjcxLCA3Mzc1MywgODM3NCwgMTI3MjAxLCAwLCA2ODI5LCA1MjI1LCA2NjkwMSwgMTI3Mzg1LCAwLCAwLCAxMTk2MTUsIAorICAgIDY3MzE5LCA2NzMxOCwgNTYyNiwgNDM1MDcsIDExNzcxLCA2NzMyMiwgNjczMjEsIDY3MzIwLCA0MjYxNCwgNTM1MywgNTYyNSwgCisgICAgNzQxNzksIDY3MzE1LCAwLCAxMDEwLCA2NDU3MiwgNDE3ODAsIDQyNjIzLCA2NDI3NywgNjk5NDIsIDY5NTIsIDY3MzI5LCAKKyAgICA2NzMyOCwgNjczMjcsIDI1OTAsIDU2MjksIDY1NTUyLCA3NTUxLCAxMDMyNSwgNTYzMiwgMTA0NzEsIDEyMDAzOCwgCisgICAgMTIwMDI3LCAxMjAwMjgsIDEyMDAyNSwgNTYyOCwgMTIwMDMxLCA5NzAsIDEyMDAyOSwgNDc3MiwgMjQwMCwgNTYyNywgCisgICAgMTIwMDE3LCA2NzMzMCwgMTIwMDIzLCA2NDI3NSwgMTIwMDIxLCA4Nzg2LCAxMTM2OTMsIDIwMywgNzQzNjUsIDAsIDAsIAorICAgIDY5OTg1LCA3ODM1MCwgMTEzNzAzLCA2NDM3OCwgNDIwNTQsIDk4MzE1MCwgMCwgNTU0LCAxMTk2NDksIDExMzU4LCA3MTE3MiwgCisgICAgMTIxODIsIDQyMDQ4LCAxMTA2NSwgMTI2NDY0LCA3Mzg5MSwgMCwgMCwgNTY5NCwgNzY4OSwgNjk3OTgsIDkzMjMsIDQzMjUsIAorICAgIDMwNDcsIDEwMzE3LCAxNzUsIDAsIDkzMDI5LCA2OTc2NCwgMCwgMCwgMTI0MywgNDIxNTQsIDU0MzEsIDY2NTIsIDkxNzU2MSwgCisgICAgNjc3NTMsIDQzNjUxLCAxMjkxMjksIDY4MTE4LCAxMjgwMjQsIDExMjksIDEyNjU3NCwgMCwgNjU5MDAsIDE5ODYsIDc4NDYsIAorICAgIDc4ODA0LCA4NjYxLCA5MTc3NzIsIDY1MjU1LCAwLCAzODQ1LCA0NDkwLCAxMTg5NjksIDY2NDksIDc0MTM2LCAxNDU2LCAKKyAgICA3NTMwLCAxMTk3NywgNzI0OSwgODM2NiwgMCwgNzc1NiwgMTIzNDIsIDEyODU2OCwgNTEsIDQxNTE2LCAwLCA4NTcwLCAKKyAgICA5NTY4LCA3MTMxOCwgNDU2LCA3MDI2LCA4MTQ1LCAxMTY4LCA5MjUxLCA5MDgyLCAxMTk5NjQsIDY0MDU1LCA0Mjc4MSwgCisgICAgMzg2NiwgMTIzMjMsIDQxNTEyLCA3MzgwNSwgNjgxMjEsIDAsIDQxNDk0LCA5MjMxNiwgNDY2MCwgNjcxMTQsIDEwNDA1LCAKKyAgICAxMjcxOTUsIDc4ODAzLCAwLCAwLCA0MjA0MCwgNzM5MTgsIDExOTYyNywgNzk0NCwgNDE0NTQsIDEyNjA1LCAwLCA0MjIwNSwgCisgICAgNDE0NTUsIDIzNiwgNjQwNTEsIDc4ODY3LCA4MjE0LCAwLCAxMTM3ODQsIDEyMDAzNywgNDE0NTcsIDk4Mzk3MCwgMTE5NTg5LCAKKyAgICAxOTY5LCAyMzg0LCA4MDk3LCA5MTc4NjQsIDc0MTMsIDY4MDEyLCA3ODAyOSwgODc2NiwgNDM4NjQsIDc4MDc5LCA1ODU0LCAKKyAgICAxMjUwMDAsIDEwNTgzLCAwLCAxMTk5ODksIDAsIDEwNDE2LCA5MTc4NjksIDM4NzIsIDkxNzg2OCwgMCwgODQyOSwgMCwgCisgICAgMTE4ODA2LCAyODM4LCA2NDI5LCAwLCA5MTc4NjYsIDAsIDEyODQ3OCwgMCwgOTgzOTY3LCA5NDAwNSwgMTEwOTYsIAorICAgIDEyMDgxMywgMTA1NTMsIDE2NjIsIDg0ODMsIDEyMDM5NiwgNDM2MDUsIDU4OTIsIDQzNDE4LCAwLCA3Mzc0MiwgNjYsIDY1LCAKKyAgICA2OCwgNjcsIDcwLCA2OSwgNzIsIDcxLCA3NCwgNzMsIDc2LCA3NSwgNzgsIDc3LCA4MCwgNzksIDgyLCA4MSwgODQsIDgzLCAKKyAgICA4NiwgODUsIDg4LCA4NywgOTAsIDg5LCAxMTk4NjIsIDEwMzU3LCA3Mzg1LCA4MTcwLCAxNzA0LCA4NTU2LCAwLCA5NjU5LCAKKyAgICAwLCAwLCAwLCA5NTU2LCAwLCA0NTAzLCAxMTM1MywgOTY0NywgMTI1MDE1LCA3ODE4NSwgMTI4OTU5LCAwLCA5MjcxMywgCisgICAgNzg4ODYsIDAsIDAsIDc0MjI5LCA2NjU5MywgNjQzOCwgOTE3OTc5LCA5MTA5LCA3ODg4MiwgMTI4OSwgNjQ1OTksIDAsIAorICAgIDY4MDA5LCAxMjgzMDIsIDY1NTA3LCAyNDQ3LCAxMTk5MTEsIDAsIDEyODA0MiwgMTI2NTQ1LCA2NjU4OSwgMCwgNjMzNCwgMCwgCisgICAgMCwgMTk5MzcsIDkxNzc5MywgMTMyMiwgOTIzNTksIDU2NzUsIDI1NCwgMCwgMCwgNjk2ODYsIDQyNDI1LCA4OTE4LCAKKyAgICA2NDAwMywgNTcxNiwgNDIzMTIsIDAsIDAsIDY5NzIsIDQyODI2LCA3NDQwOSwgNDI0NjQsIDEyMDU2NywgNjY4OTksIAorICAgIDY3MTU1LCA3NDc5NiwgNjQ0MDAsIDY0NjkzLCAwLCA2NzY4NywgNjU0MjksIDk1MTUsIDQ0MzUsIDAsIDQyNTIyLCAwLCAKKyAgICA2ODAwOCwgMTE3ODUsIDc0MTIsIDQzODY3LCA0MTk3OCwgMTQxMiwgNDU5NCwgMTM5MSwgMTA1MzYsIDgwNjcsIDk5MDEsIAorICAgIDcxMDMsIDEyODI5MywgNzEwMiwgNzQ1ODgsIDEyMDc0OCwgMzE0MCwgMTI3Mjc2LCA3OTYwLCA0MzI3MSwgMCwgMTI1MTgsIAorICAgIDEwOTA5LCAxMjc1MDgsIDE0MjgsIDEyNDcyLCA2NzI1NCwgNjcyNTMsIDc2OTksIDEyMzkzLCA2NzI1NywgMCwgNjcyNTYsIAorICAgIDY3MjU1LCA4MjIzLCAwLCA0MjYxLCAwLCAwLCA3NDMwOCwgMCwgMTEzNzEyLCA2NzE1MywgMCwgMTI4MDQ2LCA0MzQxOSwgMCwgCisgICAgNjQ1NTQsIDEwNTc0LCAzODc4LCA2NzY5MSwgNDIzNTIsIDE3NTIsIDczNzg1LCAwLCA0MjUwNiwgMTI4NTQxLCAxMDE5OSwgCisgICAgOTE3ODY1LCAxMjUxNDIsIDY4MDIxLCA2NTkxOSwgMCwgNjY5NSwgNzIwLCAzMjQsIDAsIDEyOTAzNSwgNDM0MDYsIAorICAgIDk4MzczNiwgMTQ2NCwgNDA5ODUsIDAsIDc5NzQsIDAsIDQzNDc0LCAwLCA2NDQ4OCwgMTI4OTc3LCAwLCA2NDA0MSwgCisgICAgNzQ3ODcsIDAsIDc4ODY1LCA5MjI1OCwgNjU1OTcsIDAsIDc4ODYzLCAwLCAxMzAyLCA2NjI4OCwgNzg4NjEsIDExOTEzNCwgCisgICAgMCwgNjcxNTIsIDUyMDQsIDc0Nzc0LCA0MzQwNCwgMTE4MzUsIDAsIDM5OTUsIDY4MzYwLCA2NTYwOCwgMzcxNCwgOTIxOTAsIAorICAgIDEyMDAyNiwgNjcyNjIsIDEwOTk5LCAxMTc1MCwgNjcyNTksIDQzMjUxLCA2NzI2NCwgNDMzMDEsIDAsIDEyMDU1NywgODEzMCwgCisgICAgODY3MiwgMTA4NDUsIDExOTY0LCAwLCAxMjgwMTQsIDAsIDAsIDY4NDU1LCA0Mjg2MywgNzM4MzksIDAsIDAsIDY3NzAwLCAwLCAKKyAgICAxMTM3MDEsIDQzNjQ1LCA0NjgsIDYxMiwgMCwgNjQ0MDEsIDY2NDQ4LCA2ODM3NiwgMCwgMTY3NCwgMCwgNTgyMywgCisgICAgMTI5MTI2LCAxMjI4MCwgNzAzNjcsIDU0MCwgNzQ1NjQsIDExOTAxNywgNjY0MjIsIDg0MzIsIDAsIDExMDczLCAwLCAKKyAgICA2NDMxNiwgMCwgMCwgODIwLCA0MTc0MSwgMCwgMTIwNjY3LCAxMjQ5ODEsIDY0Njg0LCAxMjY5OTIsIDMzNTksIDc4MDAsIAorICAgIDY5OTM0LCA2NTE3NywgNjIyNiwgMzUzLCAxMjM5NiwgMCwgMTE5NjEyLCA2NDc0MiwgMTI4NjgyLCA3ODg3OSwgMCwgCisgICAgMTI3OTM4LCAxMjQxMiwgMTk5NDEsIDAsIDEyMDI3NywgNzAzNTIsIDE4ODQsIDk0ODEsIDQyNDE4LCA3MDA1OSwgNDExNTcsIAorICAgIDAsIDExOTUsIDY0ODk4LCA3OTI0LCAwLCA0MTE1MSwgMjAxMCwgMTI4ODgzLCA0MTMyOCwgNDIzNDQsIDAsIDEyNDA5LCAwLCAKKyAgICA0MzYwLCAxMjcwMDksIDk3MzksIDEyODU1MCwgNjk5MzMsIDczOTIxLCA5MTc2MzEsIDQyNTIxLCA4NTM5LCAxMjg2MDYsIDAsIAorICAgIDExODk4NiwgMTI3MTQ4LCA0Nzg4LCAwLCA2ODAyMywgNjU3MzQsIDk4MzQ1NSwgNDM3OTAsIDEyMDI3NCwgMTMwNzUsIAorICAgIDc0NDI5LCA5NDA2MywgNjQ1NjksIDQzNTMyLCAxMDgzNywgMjQ5MiwgMTI3MTk3LCAxMTg5MDEsIDY4NjM3LCA0MTEzNiwgCisgICAgNDM3ODUsIDExODEzLCA5NjQ5LCA0MTE1NCwgMTEzNzMxLCA1MTI4LCA0MDM4LCA0MTE0MywgNjU2MDQsIDY0ODU5LCAKKyAgICA0MTU5MiwgNjc3MSwgMTY0OCwgNTQzNSwgNjcyOTUsIDY3MzQsIDQxMzQzLCAxMTk4NDgsIDY1NDM5LCAxMjcwOSwgNjk4NiwgCisgICAgOTIzNjQsIDY4MDE1LCAxMjA1MzMsIDQxMzQ5LCA3MDAyMSwgMTI1ODEsIDEwMzc0LCA1MTc1LCAwLCA3MzgwNiwgMTAyNTQsIAorICAgIDExMzY4MSwgMTAyNzgsIDEwMjYyLCA2OTg1OCwgNDEzNDYsIDAsIDYwNywgMCwgMTE5ODUyLCAxMjg4NDYsIDEyOTIzLCAKKyAgICAxMDMxNCwgMTAyODIsIDY1NDc3LCAxMDM3OCwgMTIwMjk3LCA0MDk3NiwgODI2NSwgMTI5MTQ5LCA3ODYzOSwgNDA5NzUsIAorICAgIDU4NDAsIDQyODM4LCAwLCA0MDk3OCwgOTgzODk3LCA5Mjk0NSwgMTI4MDIwLCAxMTk4MDksIDAsIDY2NDQ0LCAxMDUzOCwgCisgICAgMTIwODEwLCAyNTUwLCAxMTk4MzYsIDY3NzksIDEyOTEzMCwgMCwgMzUyNSwgNjgyNCwgMTE4ODg2LCA5ODM1ODIsIDAsIAorICAgIDU2MTksIDY1ODIyLCAxMTM3NTEsIDExMzczOCwgNzQ1NSwgOTE3OTY2LCA1NjE2LCAxMTQ4NiwgOTY1NiwgMCwgMCwgCisgICAgMTA3MjcsIDU2MTUsIDEyOTA3MSwgMTIwNTUxLCA0MjM4MCwgNjQ4OTUsIDQzNjkzLCA2NjQ1MSwgODA4LCA1NDU1LCAKKyAgICAxMTM0NywgMCwgMTAyNiwgNTYyMCwgMTk0ODg3LCAwLCAxMTM1MCwgNTYxNywgMCwgOTIyNSwgNjQ2MzksIDEyNzA3MywgCisgICAgOTE0NSwgMTI4MDYwLCAxMzM4LCAxMjA1ODEsIDk4MzE1OCwgMTI3MzksIDQ2MDMsIDMwODQsIDcwNDA4LCA5MjQ4NCwgCisgICAgOTg1OCwgNjAzNywgMCwgMzk3NCwgNzgyMTMsIDEwMjkwLCA5ODM3MDQsIDMwODMsIDEwMzIyLCAxMjkwNDgsIDEyOTAzMCwgCisgICAgMCwgNDEwMzYsIDY2ODk3LCAwLCA0MzMyMSwgNjU2MDYsIDEyNzA3MSwgNDEwMzIsIDQyMzg4LCAwLCA2NDcwMCwgMTAwMTEsIAorICAgIDE0NDUsIDQwOTYxLCAwLCAxMTkxMDUsIDAsIDQwOTYwLCAwLCA2NzcyNywgMTI1MTA2LCAyMjIzLCA2NDk1MiwgMTA0MDIsIAorICAgIDAsIDEyNzE3OSwgOTIzMDQsIDEwNjAzLCAwLCAwLCA5ODMxMTMsIDAsIDY3MTQsIDEwMDgzLCAxMjcwNjksIDE5NDg5NSwgCisgICAgNzgzNjcsIDY5OTc2LCAwLCA5Mzk2MywgOTA3MywgNDI1ODUsIDY0MzAyLCAxMDcwNCwgNjUwMzAsIDQ3ODcsIDAsIDc0ODI5LCAKKyAgICAwLCA2NTQyMywgMCwgMTI4MTE4LCA5NTcwLCA1NTI2MCwgOTUyNSwgMjY4OSwgOTE3NjI2LCA2NTQyNiwgMTk0ODcyLCAKKyAgICA5MTc2MjQsIDQzNzQwLCA5ODMxNzcsIDQwOTY2LCA5MTc2MjIsIDEzMjg2LCAzOTk4LCA0MjU5OCwgNDI1OTYsIDUwMywgCisgICAgNzQyMzcsIDg3MzUsIDI2OTAsIDY2NDg4LCA0MjgzNiwgMTI3MTUwLCA0MTk1NCwgOTE3NjE3LCAxNjUyLCA3NzIsIDY2ODgsIAorICAgIDgzMTAsIDY1NDI4LCAzNDg3LCA0MzQxNiwgMzU4NSwgMTAxOTQsIDQzMzIwLCAxMTkxNTksIDczOTU1LCA5MjMxNSwgNjQ2OCwgCisgICAgNDE5NzYsIDk3MjAsIDkxNzYwNiwgMTExNzksIDQxOTcwLCA2NjI1NSwgNTgzNiwgMTIzNTgsIDAsIDQzNTUsIDkwNDgsIAogICAgIDEyMTgwLCA2NTAyNywgNjQ2ODAsIDEzMDM4LCA0MzY5OSwgMCwgNDE0ODgsIDEyODA4NywgODUyNywgMTk0OTE3LCAxMjM2MiwgCi0gICAgMTI0MzUsIDEyMzYwLCA0MTA1MywgMzI2NiwgMCwgMTIzNTYsIDg2MTYsIDQxNDY2LCAwLCA5MjU4OCwgMTE0NTAsIDAsIAotICAgIDM2MzgsIDEyMzU0LCAwLCAzMjE2LCAwLCAyMzU4LCA5MjYwNiwgODYzMywgMCwgOTgzNzQ1LCAxMTkxODIsIDY5MjQ0LCAwLCAKLSAgICAwLCAxMTc1OSwgMTk0OTAzLCA2MzY4LCA3NDgyMywgMCwgNDE0MjMsIDgwNzgsIDEwNTA0LCAxMjc1NTgsIDQxNjk4LCAKLSAgICA0MjIzNywgMCwgNzAwMiwgOTgzNjc4LCA0MTQzMCwgNDIyNjcsIDQxMDUxLCA0MTQ4NCwgMCwgMCwgNDEwNTAsIDQxNDczLCAKLSAgICAxMDQ2NiwgMTMwOTksIDAsIDAsIDAsIDY0MzUsIDAsIDExMzYyLCAwLCAwLCA2NTM4MiwgMCwgNDE0MjAsIDAsIDM2MjUsIAotICAgIDc4MTU3LCA0MTQwOSwgMCwgNjk2MzksIDIwNDEsIDkxNzgsIDk2NzIsIDQxNDI3LCA0MzU0MSwgNDMzMTcsIDAsIDAsIDAsIAotICAgIDQxNDI0LCA5MTc1OTgsIDEyMDU0NiwgMCwgMTI4MjEyLCAwLCA0MTQxNywgMTI2MSwgMCwgMCwgMTIxMDIsIDExOTY2MiwgCi0gICAgNDE0MDEsIDAsIDEyNzUzOCwgMCwgNzgyNTEsIDAsIDQyMjkwLCAzMjc1LCA5MjQ3MiwgNDIzMjksIDc0NzU5LCAwLCAwLCAwLCAKLSAgICA5MjM4OCwgNjk2NDksIDEwOTg5LCA3NDIzNCwgOTgzMTQwLCAxMDU5OCwgNzQxMCwgMjY2OSwgOTAzLCAwLCAyOTIwLCAwLCAKLSAgICAxMjcyMzIsIDc0NjAzLCA2NDUwNCwgMTk5MjgsIDAsIDAsIDM5MTcsIDAsIDExNzMyLCAwLCA5ODMxODAsIDQxNDQ4LCAKLSAgICA0MTQ2MSwgMTI4ODIzLCAwLCAxMjc5MTIsIDAsIDg4MTksIDEyNjYzLCAwLCA0MTE4NCwgNzQwMTQsIDIzMiwgNzQ4MzUsIAotICAgIDEyMDY0NiwgOTE2OCwgNjU3ODYsIDAsIDAsIDAsIDkwOTQsIDAsIDExNzU4LCA2ODQyNSwgMCwgMTA2NCwgNDI0NjcsIAotICAgIDEyODA0NCwgMTAxMTUsIDE5OTI0LCA5MjcxMSwgMCwgNzg2MiwgNjQ1NTEsIDEzMjI0LCA4NTE2LCA0MTg2MiwgNjY2NTAsIAotICAgIDc1NjEsIDc4NjE4LCA2OTc5MywgMTg3OCwgMCwgOTgzMjY5LCAyOTExLCAwLCA0MTE3OCwgNTQyNywgNjQ4MjMsIDAsIDAsIAotICAgIDM3ODcsIDQxMTc0LCAwLCA0MTQ1OCwgMCwgNDE0NjMsIDQyNDEzLCAxMTI5MiwgMjQwNiwgNzc1LCAwLCA2NTU4NCwgCi0gICAgNjk5MjMsIDYwNzQsIDk2MTgsIDEyODY2OCwgOTgzOTUyLCA0MzQ0MCwgMCwgMTk0OTAxLCA0MTQzNiwgMzY1NiwgMCwgCi0gICAgMTIwNjAwLCA0MTQ1NiwgMCwgMTU5OSwgMTEzMzMsIDAsIDY3MDMsIDg1MTMsIDAsIDE2MTMsIDAsIDY4NDU2LCAxMjU5OCwgCi0gICAgOTgzMTkxLCAxMjA3MzQsIDc4NzQ1LCA3NDUwMCwgNDE0NjAsIDEwMTQ1LCAxMDU0MiwgOTkzNywgNzg3NDYsIDcwMDI5LCAKLSAgICA5OTA1LCAwLCA2NTczMCwgMCwgMTIwMzc0LCA4NDI3LCAxMjAzNzUsIDU1MjQ2LCAxMjAzNzYsIDAsIDExNDk3LCA2NDY4NywgCi0gICAgNzQwMDgsIDQyNTkyLCAzODcxLCAwLCAxMjgzMDUsIDkxMTEsIDU3NDEsIDAsIDE5NDg0NiwgMTIwMzY2LCAxMTkxMTEsIAotICAgIDEyMDc0NSwgMCwgMTIwMzY4LCAwLCAxMTY0OCwgMCwgMTk0ODczLCAxMjAzNjQsIDQxNTg3LCAxMjAzNjUsIDAsIDc0MzIyLCAKLSAgICA0MjExMywgMCwgMTI3MTU1LCAxMjE3MiwgMCwgNzQ1MzAsIDY1Mjk4LCA2NTcyMywgMTk0ODQwLCA3Mzg3MSwgNjU3MjQsIAotICAgIDc5MjgsIDEyMDM1NCwgOTgzMDk1LCA0MTU5NSwgNzM3MzAsIDAsIDQyMTE4LCA3MzgzMCwgNjYwNDIsIDEwMzU1LCAKLSAgICA5ODMxMTAsIDc4NzUsIDAsIDQxNTk4LCAzOTkzLCAwLCAxNTQ1LCA0MDk3MSwgNTM2LCAxMjg1MjEsIDQzMDI5LCAwLCAwLCAKLSAgICA2NTE3MywgNjUyODYsIDAsIDAsIDAsIDAsIDAsIDAsIDQxMzc1LCA1NDAyLCAwLCAwLCAxNjg3LCAxMjA1MDMsIDkxNzgxNywgCi0gICAgMCwgNzgxOTQsIDY0MzI2LCA0MDk2OSwgMTA1MjYsIDc4NzUzLCA4MzIzLCA0MDk2OCwgMTMzOSwgMTE3MzEsIDc4NzU2LCAwLCAKLSAgICA2NTQ2MCwgMTIyNDIsIDEyODUxMywgODAyMCwgMTA4NDMsIDExNTU0LCAwLCAwLCA4MjY2LCA0MTAwNiwgNjU3MjIsIDAsIAotICAgIDEwNzEwLCAwLCAxMTg5NDIsIDY3NjY3LCA2NDU2NywgMTE5MTU1LCAxOTUwOTEsIDAsIDExOTYzNiwgNjc4NTcsIDEyMDY4NywgCi0gICAgMCwgOTgzMDY2LCAxMTc1NSwgNjYzMDUsIDAsIDAsIDEwOTE3LCA5Mzk3OSwgMCwgMTEyNzIsIDIwNDAsIDQxMjQ3LCAKLSAgICA0MTMyNiwgMTk1MDYwLCAxNzQxLCA0MjM3MCwgMTIyNywgMCwgMCwgMTE0MTMsIDAsIDAsIDUyODMsIDE1ODYsIDQ5NzgsIDAsIAotICAgIDE5ODQsIDExODMwLCAwLCA5MjI5MywgNDA5ODQsIDEyODMwNiwgOTM3MywgMCwgMTI5MTYsIDYyODQsIDAsIDQxNjYzLCAwLCAKLSAgICAwLCAwLCA5MjM3LCA5Mzg1LCA0MTY0OCwgMCwgMTk0NTgwLCAyMjk5LCA0MTY2NiwgMTgzMCwgNzM3ODMsIDIwNTYsIAotICAgIDQxMjg3LCA5MjYxMCwgMCwgMCwgNDIyMTksIDEyODI1NywgMCwgNDE5ODcsIDQxNjc2LCA5ODMwNTksIDEyMDgyMywgCi0gICAgOTgzMTQ0LCA0MTY3MCwgMCwgOTI1OTAsIDI3OTYsIDU1MjkxLCAxMTY4MywgOTkwMiwgNzQ1MjEsIDY3OTg4LCAxMTQ1MSwgCi0gICAgOTgzMTExLCAxMjg4MjIsIDQyNjMxLCAyMzU5LCAwLCA2Nzg0NCwgNzQxNjQsIDQxMjM4LCA1NDgsIDExNDA1LCAxMzEzMywgCi0gICAgNjQzNjgsIDk4MzIzOSwgMTI4Nzk1LCAwLCAzOTcsIDQzNjIyLCA0MjEzOSwgOTU0NywgOTU5MCwgMTI4MjM4LCAxNjE0LCAKLSAgICA0MzY2MSwgNjQzNTYsIDY2MzA3LCA2NjUxLCAxMzU4LCAwLCA0MjgsIDk2MjAsIDE0NjYsIDc4MTEyLCAxMDk4MiwgCi0gICAgMTE4ODMxLCAxMzMzLCA3MTA0LCA0MDcsIDY0MjUsIDEyODgzNCwgNzQyNTMsIDAsIDAsIDAsIDU4MDQsIDExOTc2LCA4NTU0LCAKLSAgICA5MjcyMSwgMCwgMCwgOTA1NywgNDIyOTQsIDQxMjE4LCAwLCAwLCA3ODEzNywgMTg4MywgMTA5NTIsIDgwNDgsIDc4MTQyLCAKLSAgICA0MTIyNSwgOTI2MjEsIDQyOTE1LCA5ODM2NzYsIDEyODY4NCwgMCwgNDQwNywgMCwgNjU4MDksIDExOTA3NCwgMTk0ODIxLCAKLSAgICA4NDQ4LCA3MTQxLCA3NDE4MywgMCwgMTI2NzUsIDEyNjU5LCAwLCA0MjM2MywgMTIwNjI0LCAxOTQ4MjQsIDU1MjczLCAKLSAgICAxMDc2NiwgMTIwMTIsIDIzODYsIDY0NzMyLCA5MTcwLCA5MTc4MjEsIDkxMjMsIDY0NTg1LCAxMjA1MDAsIDExOTE1OCwgCi0gICAgNzE0MCwgMTA5NzcsIDEyNzM3OCwgNDE2NCwgOTA4MSwgMCwgMTIwNTY5LCA0MjA0OSwgNDIwNDIsIDg3MDksIDEyODI4MywgCi0gICAgMTI2NDc3LCAxMjA2MzcsIDQyNDE5LCA2NDc5OSwgNDIwNDcsIDAsIDAsIDg0NzAsIDExODA3LCA2NTg5NywgNTc3LCAwLCAKLSAgICA5ODM3NjAsIDc0MzAwLCAwLCAxMjczMDgsIDc0ODQwLCAwLCAwLCAxMjg3OTEsIDkyMjI0LCA4NzM2LCAxNDE0LCA0MjY0MywgCi0gICAgOTY4MywgNDM0ODYsIDc0MzQ0LCAwLCAyNTM2LCAwLCA2NjMzMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNjYzMTcsIDY5OTQ1LCAKLSAgICA2NjMxNSwgMjEwNiwgMTIwMjIyLCAxMTI3MywgMCwgNDMwMDQsIDc1NDEsIDAsIDAsIDk2MSwgNjQzMDcsIDY2MzI0LCAKLSAgICA2NDkwNiwgMTI4NTkxLCAzMTA2LCA2NTkxNywgNDEyODQsIDE2OTYsIDAsIDg5MSwgMTIxMDUsIDAsIDQyNjI0LCAxMjgwMiwgCi0gICAgMzI2NCwgODgyNCwgMTMyNjgsIDQzMDAzLCAxMDkzNiwgMCwgMCwgMCwgMTk0ODI2LCA5MjY4OCwgMCwgMjMyMiwgMTIwMzcxLCAKLSAgICA5ODM1ODQsIDExNDQ5LCAxMjgxODcsIDQyODY4LCA0MTI4NSwgMzU0NywgMCwgMCwgMTI4NzkzLCA5ODMzOTgsIDQzMjE2LCAKLSAgICA2MDg5LCA3ODY4MiwgMCwgMTIwNTc4LCA0MTcwLCAxMDI5LCAxMjc3NjEsIDEyNzAzNiwgMTE5MjI0LCA0MjM3NCwgMCwgCi0gICAgNzQ0LCAwLCAwLCAwLCA2NTgyMywgMTI3ODI2LCAwLCAzNTUxLCAwLCAwLCA0NjIzLCA1NTI2OCwgMCwgNDU5OCwgOTgzMTYyLCAKLSAgICA2NTEzNiwgMTI3MTM2LCAwLCAwLCAxMDg1MSwgMCwgNjE3OSwgOTI2MDIsIDYxODAsIDAsIDExOTUyLCAxMjA3NzgsIAotICAgIDc4NjQ4LCAxMTk3MiwgNzg2NDYsIDc4NjQ3LCA3ODY0NCwgNzg2NDUsIDE3NywgNzg2NDMsIDYxNzYsIDEyMDU4MCwgMCwgMCwgCisgICAgMTI0MzUsIDEyMzYwLCA0MTA1MywgMzI2NiwgMCwgMTIzNTYsIDg2MTYsIDQxNDY2LCA0MjkyNCwgOTI1ODgsIDExNDUwLCAwLCAKKyAgICAzNjM4LCAxMjM1NCwgNjcyOTksIDMyMTYsIDAsIDIzNTgsIDkyNjA2LCA4NjMzLCA3MTIwMSwgOTgzNzQ1LCAxMTkxODIsIAorICAgIDY5MjQ0LCAxMjg0MTgsIDcwMzc1LCAxMTc1OSwgMTk0OTAzLCA2MzY4LCA3NDgyMywgNjczMDMsIDQxNDIzLCA4MDc4LCAKKyAgICAxMDUwNCwgMTI3NTU4LCA0MTY5OCwgNDIyMzcsIDk4MzQ1MiwgNzAwMiwgMTI1MTM1LCA0MTQzMCwgNDIyNjcsIDQxMDUxLCAKKyAgICA0MTQ4NCwgMCwgMTI4MDU2LCA0MTA1MCwgNDE0NzMsIDEwNDY2LCAxMzA5OSwgOTgzMzI3LCA3MDM3MSwgOTgzNzc3LCAKKyAgICA2NDM1LCAwLCAxMTM2MiwgMTI4OTczLCAwLCA2NTM4MiwgOTI3NzAsIDQxNDIwLCA5ODM2NTUsIDM2MjUsIDc4MTU3LCAKKyAgICA0MTQwOSwgMCwgNjk2MzksIDIwNDEsIDkxNzgsIDk2NzIsIDQxNDI3LCA0MzU0MSwgNDMzMTcsIDAsIDAsIDAsIDQxNDI0LCAKKyAgICA5MTc1OTgsIDEyMDU0NiwgMCwgMTI4MjEyLCAwLCA0MTQxNywgMTI2MSwgMCwgMCwgMTIxMDIsIDExOTY2MiwgNDE0MDEsIDAsIAorICAgIDEyNzUzOCwgMCwgNzgyNTEsIDEyNDk0MywgNDIyOTAsIDMyNzUsIDkyNDcyLCA0MjMyOSwgNzQ3NTksIDEyNTE0MSwgMCwgCisgICAgMTI4MjU3LCA5MjM4OCwgNjk2NDksIDEwOTg5LCA3NDIzNCwgMTEzNzgxLCAxMDU5OCwgNzQxMCwgMjY2OSwgOTAzLCAwLCAKKyAgICAyOTIwLCAwLCAxMjcyMzIsIDc0NjAzLCA2NDUwNCwgMTk5MjgsIDAsIDEyODQxMSwgMzkxNywgMCwgMTE3MzIsIDAsIAorICAgIDk4MzE4MCwgNDE0NDgsIDQxNDYxLCAxMjg4MjMsIDAsIDExMzcyMSwgMTEzNzU4LCA4ODE5LCAxMjY2MywgMCwgNDExODQsIAorICAgIDc0MDE0LCAyMzIsIDc0ODM1LCAxMjA2NDYsIDkxNjgsIDY1Nzg2LCAwLCAwLCAwLCA5MDk0LCAwLCAxMTc1OCwgNjg0MjUsIAorICAgIDcxODg2LCAxMDY0LCA0MjQ2NywgMTI4MDQ0LCAxMDExNSwgMTk5MjQsIDkyNzExLCAwLCA3ODYyLCA2NDU1MSwgMTMyMjQsIAorICAgIDg1MTYsIDQxODYyLCA2NjY1MCwgNzU2MSwgNzg2MTgsIDY5NzkzLCAxODc4LCAwLCA5ODMyNjksIDI5MTEsIDEyODIxOCwgCisgICAgNDExNzgsIDU0MjcsIDY0ODIzLCAwLCAwLCAzNzg3LCA0MTE3NCwgMCwgNDE0NTgsIDY3MTQ3LCA0MTQ2MywgNDI0MTMsIAorICAgIDExMjkyLCAyNDA2LCA3NzUsIDAsIDY1NTg0LCA2OTkyMywgNjA3NCwgOTYxOCwgMTI4NjY4LCA5ODM3MjcsIDQzNDQwLCAKKyAgICA3NDUzOSwgMTk0OTAxLCA0MTQzNiwgMzY1NiwgOTE3ODA1LCAxMjA2MDAsIDQxNDU2LCA2NzY5NCwgMTU5OSwgMTEzMzMsIAorICAgIDE5NDg5NiwgNjcwMywgODUxMywgMCwgMTYxMywgMCwgNjg0NTYsIDEyNTk4LCA5ODMxOTEsIDEyMDczNCwgNzg3NDUsIAorICAgIDc0NTAwLCA0MTQ2MCwgMTAxNDUsIDEwNTQyLCA5OTM3LCA3ODc0NiwgNjcxNDQsIDk5MDUsIDAsIDY1NzMwLCAwLCAKKyAgICAxMjAzNzQsIDg0MjcsIDEyMDM3NSwgNTUyNDYsIDEyMDM3NiwgMTk0OTQwLCAxMTQ5NywgNjQ2ODcsIDc0MDA4LCA0MjU5MiwgCisgICAgMzg3MSwgOTgzNTg0LCAxMjgzMDUsIDkxMTEsIDU3NDEsIDAsIDE5NDg0NiwgMTIwMzY2LCAxMTkxMTEsIDExMTUwLCAwLCAKKyAgICAxMjAzNjgsIDk4MzU3MCwgMTE2NDgsIDAsIDE5NDg3MywgMTIwMzY0LCA0MTU4NywgNzAzOTEsIDEyNzA2MSwgNzExMDgsIAorICAgIDQyMTEzLCAwLCAxMjcxNTUsIDEyMTcyLCA5Mjk4OCwgNzQ1MzAsIDY1Mjk4LCA2NTcyMywgNjgyODksIDczODcxLCA2NTcyNCwgCisgICAgNzkyOCwgMTIwMzU0LCA5ODMwOTUsIDQxNTk1LCA3MzczMCwgNjQ2NzEsIDQyMTE4LCA3MzgzMCwgNjYwNDIsIDEwMzU1LCAKKyAgICA5ODMxMTAsIDc4NzUsIDAsIDQxNTk4LCAzOTkzLCAxOTQ5MDksIDE1NDUsIDQwOTcxLCA1MzYsIDEyODUyMSwgNDMwMjksIDAsIAorICAgIDAsIDY1MTczLCA2NTI4NiwgMCwgNzAzMzEsIDkxNzc5OSwgMCwgOTQwNjUsIDAsIDQxMzc1LCA1NDAyLCAxMjg3NDgsIDAsIAorICAgIDE2ODcsIDEyMDUwMywgOTE3ODE3LCAwLCA3ODE5NCwgNjQzMjYsIDQwOTY5LCAxMDUyNiwgNzM3NDcsIDgzMjMsIDQwOTY4LCAKKyAgICAxMzM5LCAxMTczMSwgNzg3NTYsIDEyNzEwOCwgNjU0NjAsIDEyMjQyLCAxMjg1MTMsIDgwMjAsIDEwODQzLCAxMTU1NCwgMCwgCisgICAgMCwgODI2NiwgNDEwMDYsIDY1NzIyLCAwLCAxMDcxMCwgNzQwNDUsIDExODk0MiwgNjc2NjcsIDY0NTY3LCAxMTkxNTUsIAorICAgIDkyOTAwLCAwLCA3MTg4OSwgNjc4NTcsIDEyMDY4NywgMCwgOTI5NTgsIDExNzU1LCA2NjMwNSwgNjgzMzIsIDAsIDEwOTE3LCAKKyAgICA5Mzk3OSwgMCwgMTEyNzIsIDIwNDAsIDQxMjQ3LCA0MTMyNiwgMTk1MDYwLCAxNzQxLCA0MjM3MCwgMTIyNywgMCwgCisgICAgMTI4OTU4LCAxMTQxMywgMTI3MjUwLCAwLCA1MjgzLCAxNTg2LCA0OTc4LCAwLCAxOTg0LCAxMTgzMCwgNDM4MTksIDkyMjkzLCAKKyAgICA0MDk4NCwgNDI5MDQsIDkzNzMsIDAsIDEyOTE2LCA2Mjg0LCAxOTQ4ODgsIDQxNjYzLCA5ODMwOTMsIDAsIDY4MzEzLCAKKyAgICA5MjM3LCA5Mzg1LCA0MTY0OCwgMCwgMTI4OTUzLCAyMjk5LCA0MTY2NiwgMTgzMCwgNzM3ODMsIDIwNTYsIDQxMjg3LCAKKyAgICA5MjYxMCwgMCwgNzE5MTcsIDQyMjE5LCA3MDExOCwgMCwgNDE5ODcsIDQxNjc2LCA5ODMwNTksIDEyMDgyMywgOTgzMTQ0LCAKKyAgICA0MTY3MCwgMCwgOTI1OTAsIDI3OTYsIDU1MjkxLCAxMTY4MywgOTkwMiwgNzQ1MjEsIDY3OTg4LCAxMTQ1MSwgOTgzMTExLCAKKyAgICA3ODg1NSwgNDI2MzEsIDIzNTksIDcxODkwLCA2Nzg0NCwgNzQxNjQsIDQxMjM4LCA1NDgsIDExNDA1LCAxMzEzMywgNjQzNjgsIAorICAgIDEyNzI3MCwgMTI4Nzk1LCA2NjI3MiwgMzk3LCA0MzYyMiwgNDIxMzksIDk1NDcsIDk1OTAsIDEyODIzOCwgMTYxNCwgCisgICAgNDM2NjEsIDY0MzU2LCA2NjMwNywgNjY1MSwgMTM1OCwgMTI3OTYyLCA0MjgsIDk2MjAsIDE0NjYsIDc4MTEyLCAxMDk4MiwgCisgICAgMTEzNzg1LCAxMzMzLCA3MTA0LCA0MDcsIDY0MjUsIDEyODgzNCwgNzQyNTMsIDAsIDAsIDAsIDU4MDQsIDExOTc2LCA4NTU0LCAKKyAgICA5MjcyMSwgMCwgNzAxNjcsIDkwNTcsIDQyMjk0LCA0MTIxOCwgMTI1MDk3LCAwLCA3ODEzNywgMTg4MywgMTA5NTIsIDgwNDgsIAorICAgIDcwNDQzLCA0MTIyNSwgOTI2MjEsIDQyOTE1LCAxMjg2MTYsIDEyODUxMiwgMCwgNDQwNywgNzQ2NDgsIDY1ODA5LCAxMTgzNywgCisgICAgMTk0ODIxLCA4NDQ4LCA3MTQxLCA3NDE4MywgMTIwMzM0LCAxMjY3NSwgMTI2NTksIDc0NjM0LCA0MjM2MywgMTIwNjI0LCAKKyAgICAxOTQ4MjQsIDU1MjczLCAxMDc2NiwgMTIwMTIsIDIzODYsIDY0NzMyLCA5MTcwLCA5MTc4MjEsIDkxMjMsIDY0NTg1LCAKKyAgICAxMDI5NiwgMTE5MTU4LCA3MTQwLCAxMDk3NywgMTI3Mzc4LCA0MTY0LCA5MDgxLCAwLCAxMjA1NjksIDQyMDQ5LCA0MjA0MiwgCisgICAgODcwOSwgMTI4MjgzLCAxMjY0NzcsIDEyMDYzNywgNDI0MTksIDY0Nzk5LCA0MjA0NywgMCwgMTk0ODIwLCA4NDcwLCAKKyAgICAxMTgwNywgNjU4OTcsIDU3NywgMCwgOTgzNzYwLCA3NDMwMCwgMCwgMTI3MzA4LCA3NDg0MCwgMTI2NDc0LCAwLCAxMjg3OTEsIAorICAgIDkyMjI0LCA4NzM2LCAxNDE0LCA0MjY0MywgOTY4MywgNDM0ODYsIDc0MzQ0LCAwLCAyNTM2LCAwLCA2NjMzMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMTk0ODMwLCA2NjMxNywgNjk5NDUsIDY2MzE1LCAyMTA2LCA5Mjc2MiwgMTEyNzMsIDEyNTA2OCwgNDMwMDQsIAorICAgIDc1NDEsIDAsIDAsIDk2MSwgNjQzMDcsIDY2MzI0LCA2NDkwNiwgMTI4NTkxLCAzMTA2LCA2NTkxNywgNDEyODQsIDE2OTYsIAorICAgIDAsIDg5MSwgMTIxMDUsIDAsIDQyNjI0LCAxMjgwMiwgMzI2NCwgODgyNCwgMTMyNjgsIDQzMDAzLCAxMDkzNiwgMCwgMCwgMCwgCisgICAgMTk0ODI2LCA5MjY4OCwgMzU2NiwgMjMyMiwgMTIwMzcxLCA3MDgzMSwgMTE0NDksIDEyODE4NywgNDI4NjgsIDQxMjg1LCAKKyAgICAzNTQ3LCAwLCAwLCAxMTM3NDYsIDk4MzM5OCwgNDMyMTYsIDYwODksIDc4NjgyLCA2ODQ5MCwgMTIwNTc4LCA0MTcwLCAKKyAgICAxMDI5LCAxMjc3NjEsIDEyNzAzNiwgMTE5MjI0LCA0MjM3NCwgMCwgNzQ0LCA5Mjg4MywgMTEzNzM5LCAwLCA2NTgyMywgCisgICAgMTI3ODI2LCAxMTE4MiwgMzU1MSwgOTI5MzgsIDAsIDQ2MjMsIDU1MjY4LCAxMjg3MzgsIDQ1OTgsIDk4MzE2MiwgNjUxMzYsIAorICAgIDEyNzEzNiwgMCwgMTI4MTY5LCAxMDg1MSwgMCwgNjE3OSwgOTI2MDIsIDYxODAsIDAsIDExOTUyLCAxMjA3NzgsIDc4NjQ4LCAKKyAgICAxMTk3MiwgNzg2NDYsIDc4NjQ3LCA3ODY0NCwgNzg2NDUsIDE3NywgNzg2NDMsIDYxNzYsIDEyMDU4MCwgOTgzNjk2LCAwLCAKICAgICA2MTc3LCA5MDIwLCA3ODY1MiwgNzg2NTMsIDYxNzgsIDEyMDI0OSwgMTIwMjQyLCAxMjgwMjcsIDY3NjczLCAyMjE0LCAKLSAgICA4NzU0LCAwLCAxMjAyMzcsIDIxMzcsIDQzMDgxLCAwLCAwLCA5MTM2LCAxMjAyNDAsIDQ0MDEsIDQxMjgwLCAwLCA4OTc0LCAKLSAgICAyMzA4LCAwLCA3NDE0OSwgMCwgMjMxOCwgOTgzMTgzLCA2NjM2MSwgODE5OCwgMCwgNjQzNjAsIDEyNjAxLCA0MjUzNiwgCi0gICAgNjUyNjYsIDEyMDgyNywgNzQzMDcsIDkyNDYyLCA2OTcwLCA1NDA0LCA0MzMzMiwgMzY2NywgNzkzNiwgMTI5MjUsIAotICAgIDEyNjk4OSwgNjM4NSwgMCwgMCwgMTE4OTQ5LCAxMDg3NCwgNjU1MDUsIDEyODA4MywgMCwgNDIwNTMsIDIwNzUsIDQyMDU3LCAKLSAgICAxMTA4MywgNDIwNTIsIDAsIDAsIDY3NjUxLCAwLCA5NjY1LCA5MjMwMCwgOTgzNjY2LCAxMzE4MSwgMCwgMCwgMCwgNzAwODgsIAotICAgIDc0MTQ4LCAwLCAwLCAxMjAyMjUsIDEyMDIyOSwgMTIwMjI0LCA3NDE3MiwgNDExNDUsIDAsIDk0MDk2LCA5ODM5NDYsIAotICAgIDQxMTQ4LCA4NjgzLCA3NTk0LCAxMjc1MTksIDAsIDExOTA5MCwgMTA4NjksIDQzNDU4LCA0MTE0NiwgOTI0MDcsIDExNDQxLCAKLSAgICAwLCAzNTEyLCAxMTk2MzMsIDk4MzcwOSwgODEwMywgMCwgMCwgNjUxODQsIDExNzgwLCA0MTU2MywgNDI3OTYsIDAsIAotICAgIDY5NzQyLCA0MTU0NCwgNjUxNDYsIDAsIDAsIDAsIDAsIDE5OTQyLCAwLCAxMTg5MDgsIDc5ODgsIDEwNDM2LCA3NDI3MywgCi0gICAgMzI3MSwgNzM4MDQsIDY0NzExLCAwLCA5NDA2NCwgMCwgMCwgMzgwNCwgMTMwNzAsIDExNTU3LCA0MjA0NCwgMCwgMTA5NSwgCi0gICAgMCwgMzU5OSwgMTI3Nzc0LCAwLCAxMjg4NjEsIDg1MTQsIDAsIDAsIDAsIDc0MzQ2LCA2NjY5NywgMCwgMTE2ODQsIDAsIAotICAgIDkyNDg2LCA5MTc2MDMsIDAsIDQyMDQzLCA0MzIzMiwgNjY2NzcsIDAsIDQyMDQ2LCA3ODI0MSwgNDAzNiwgMTI2NDgxLCAwLCAKLSAgICAxMjgyMTMsIDE5NDg2MSwgMCwgMTE5NTQsIDkzOTc4LCAxNDUwLCAxMjk4NiwgMTM0MCwgMCwgNjU0NDEsIDkyNzIyLCAwLCAKLSAgICAwLCAxMjc3NzIsIDAsIDkxNzU0MiwgMCwgMCwgNjUzOSwgMCwgMCwgMCwgMTk0ODU2LCAwLCAxMjA0OTIsIDQxMTkwLCAKLSAgICAzOTczLCAxMTkzNjUsIDQ1NzUsIDQxMTkzLCA3OTgyLCA0MjksIDAsIDEyNzE5NCwgMCwgMTk0ODU0LCA2NTc5MiwgMCwgCi0gICAgMTE4OTY4LCA2NDE3LCAxMTg5MTgsIDc4MTc4LCAwLCAxOTQ4NTAsIDAsIDAsIDQ5MTksIDEwNTkwLCAxMjg1NTYsIDc3NTUsIAotICAgIDAsIDAsIDY0NTQ4LCAxMjA1MDYsIDE2MjEsIDEwMjE0LCA2NTEyNiwgMCwgMTI3MDA0LCAwLCAxMjE4OCwgOTgzNjY4LCAKLSAgICAxNjE3LCA4MDUwLCAwLCA1MDE1LCAwLCAxMTkxNzQsIDQyNTkwLCAxOTQ4NzEsIDE3NTYsIDc4MTgxLCAwLCA2NTc2OCwgCi0gICAgNjM1MiwgNDE4OTIsIDAsIDc1NTUsIDEzMTAzLCA1NDA4LCAyODE3LCAxMjE0LCA2OTkxOSwgOTIzMzUsIDk4MzEyNSwgMCwgCi0gICAgMCwgMCwgMTI3MTk1LCA3OTU3LCA4Njg5LCA2NDcyMywgMTA1NiwgNDI4OTYsIDc0MTQ3LCAxOTQ4MTMsIDAsIDU1Mjg2LCAKLSAgICA3MDczLCA2NTg1MCwgMTIzMjcsIDk4Mzk0OCwgMTE5MDI4LCAwLCAwLCAwLCAyMzQxLCA4NDUwLCA4NDg0LCA4NDc0LCAKLSAgICA5ODMyNjAsIDAsIDcwMDc5LCA4NDYxLCAxMjgxMDIsIDEyMTUzLCAxMjc5OSwgMCwgNDM3MDksIDQzNzA4LCA5NDUxLCAKLSAgICA3NTcxLCAxMzA3MywgMCwgMCwgNjgxLCA5ODMyNTIsIDcwMywgMCwgMzI3MiwgODc4MSwgMTI4OTQsIDcwMDc3LCAxMTcwOSwgCi0gICAgOTIyODgsIDc0NDQ2LCAwLCA5MjUzMiwgMCwgMTEzMzgsIDEyMDc2OCwgMzI3NiwgMCwgMCwgNjU5MjgsIDAsIDAsIDY1MDIxLCAKLSAgICA2NDc5NSwgNzQ1NzQsIDAsIDEwMDQ3LCA3ODgxNCwgMzI2MiwgNzg4MTEsIDQyNzExLCAwLCAwLCA2ODQ3OCwgMTYzLCA1NzYsIAotICAgIDk4OTUsIDE2NTUsIDc4ODE3LCA3NDU5MSwgNzg4MTUsIDc4ODE2LCA5ODMxMjIsIDAsIDAsIDAsIDEwMDM5LCAwLCAKLSAgICA5ODM5NDUsIDU2MjMsIDU3MTcsIDU3NzYsIDAsIDAsIDAsIDQxNTkxLCAxMTAzNiwgNjUyNTIsIDkyMzgyLCAwLCAwLCAwLCAKLSAgICA2Nzg0OCwgMCwgMCwgMCwgODg4NywgMTI3NTIxLCA3Mjk1LCAxMTAzMSwgMCwgNDMxNTcsIDAsIDg5NDYsIDEwMzQ4LCAKLSAgICAxMDQxMiwgODc1NSwgMCwgMCwgNTcxOCwgMTMyMjEsIDAsIDAsIDc4MTM1LCAwLCA5ODM3MTEsIDg4MTAsIDc0NDk5LCA2ODYsIAotICAgIDAsIDcxMzYyLCA0NjE5LCAxMTg5NTQsIDY2NTQsIDczNzY5LCA3NDQyNiwgMCwgMTIwNDAsIDY1Njg5LCAxMDEyOCwgCi0gICAgNjUxMTgsIDAsIDExOTE1MSwgNzQyMDUsIDkyNjUxLCAwLCAyNDAxLCA2ODE0NCwgODc5MiwgOTgzNjQ4LCAwLCA2NTQ1NSwgCi0gICAgMCwgOTIyNDYsIDAsIDExOTEyOSwgMCwgMTI4ODYsIDEyNzkyMCwgNjY2MjQsIDAsIDQzNTU3LCAxMDMwMCwgMTAxNjEsIAotICAgIDEwMzk2LCA3NDEzNSwgOTgzNDUzLCAxMTg5NDUsIDc4MTE4LCA3Mzg1MSwgMzAxMCwgNjQ0MSwgNzgxMjIsIDE0NTgsIAotICAgIDQxNDc1LCAxMjg2NzIsIDkzOTc1LCAwLCAxMTQ3OSwgMCwgMTIwMzU2LCA2MzUwLCAxMjg2NCwgNjk2NzQsIDc4MTE0LCAKLSAgICAxMDYxLCA2NDc4MCwgMjAwMSwgNDMxMTEsIDU1MjMwLCAxMjg2ODYsIDQwNTIsIDAsIDc2MjYsIDAsIDAsIDEwNDUsIDAsIAotICAgIDU2MzEsIDQxMTEzLCAwLCAwLCA0MzcwNywgNzQxMjcsIDAsIDAsIDg0ODYsIDAsIDczNzU4LCAyMzM1LCA0MzYyLCAKLSAgICA5ODMxOTUsIDEyNjU2MSwgNjkyMjEsIDEwMjUsIDAsIDQyNjI1LCA5MTc2MjcsIDc4MDg0LCA0MTQ0MywgMCwgMTI4MjA2LCAKLSAgICAwLCAxNzc0LCAxNTIzLCAwLCAwLCA0MTQ0NSwgNzgyMzYsIDAsIDg1NjcsIDQxNDQyLCAzOTg4LCAwLCA3ODIzNywgCi0gICAgMTE4OTEwLCAwLCA2NTI3NCwgODU2NCwgNzgxOTksIDc4MjM4LCAxMjc1MTUsIDAsIDAsIDQzNDQ2LCAwLCA2NjUxMywgCi0gICAgNjI1NiwgMCwgNTc5LCA1NTIxOCwgMTAyMDYsIDk4MzA3NSwgNjM3NSwgMjY3MywgMCwgMTE4MTQsIDAsIDQ0ODgsIDAsIAotICAgIDEyNzMzNiwgNjg0NTEsIDEwNDQ0LCAxMTg4NDYsIDEyNzMzNCwgMTE3OTksIDc0NDA3LCA2ODQ2NiwgNDQ4NywgMTI3ODQ5LCAKLSAgICA0MjgzMiwgMTAzMiwgMTIwMjY3LCA0MzQ1MCwgNzgyNTcsIDcyMDMsIDAsIDYxNCwgNzgxOTEsIDEyNzMyNSwgMTIwNjE1LCAKLSAgICAwLCA3ODI2MiwgMTI4NjY5LCAxMjczMjMsIDAsIDQzMTIxLCAwLCAwLCA5MjUxMywgMTA1MCwgNzU0OSwgMCwgMCwgOTMxNCwgCi0gICAgMCwgMCwgMTIwNjE2LCAwLCAxMDA1NywgMCwgMTI3MzEzLCAwLCA2NjUwNCwgOTgzMTcxLCAwLCAyMzA3LCAwLCA2NDMzMywgCi0gICAgMTI3MzEyLCAxMjg1NDcsIDczODczLCAwLCA5NDAzNSwgMCwgMTI3OTczLCAxMjg3MDgsIDAsIDEwMzYwLCA2NzQ2LCAwLCAKLSAgICA5MjI0NSwgNDQwLCAwLCAxMzA4NSwgOTIzMywgNzQyMTYsIDAsIDAsIDk5NTcsIDEyODI4NSwgNjY0NDcsIDgwNDYsIAotICAgIDY0OTYzLCA2NTc3NywgMTAxMjUsIDc0MjEyLCA0MjgxOSwgMTA5MTAsIDAsIDE1MjEsIDk4OTYsIDkzOTY1LCAxMDQ4NywgCi0gICAgNjk4NzgsIDEyNTI3LCAwLCA3OTcwLCAwLCAxMjg2NjAsIDAsIDY1NzY5LCA1MjQzLCA5ODQ5LCA1MjM5LCA2NTc3MSwgCi0gICAgOTgzMjM1LCAwLCA1MjM3LCA2OTcxNCwgMCwgMTAxMDMsIDUyNDcsIDQ3NjksIDAsIDExODk3NywgMTI4NzMsIDIyODMsIAotICAgIDk4MzIzNywgMCwgMzAwOCwgNDg5NiwgMCwgMTIwODcsIDAsIDU1MjMxLCA0MTEwMywgMCwgNjQ1NjUsIDQ3NzMsIDAsIAotICAgIDkyNzE3LCA3MDA3NCwgNDc3MCwgMCwgOTE3NTY3LCA4NzMxLCA2NTM3OCwgMTI3MzYyLCAxMjA2MTksIDkxMjIsIDEyODAzMywgCi0gICAgMTI2NjAwLCA0Nzc0LCAzMDE5LCA5OTk3LCAxMjgzNCwgMCwgOTQ1NiwgMTAyMTUsIDEyMDU0NywgMCwgMCwgMCwgMCwgCi0gICAgNzQ3NzYsIDQyODEsIDQ3NjgsIDAsIDQxNTM1LCA0MDk5LCA5MDE3LCAwLCAwLCA3ODA5NSwgMCwgNzgwOTYsIDAsIDAsIDAsIAotICAgIDc4MDk4LCAwLCA0MjgxNCwgODgwLCAwLCAwLCAxMjgwMjEsIDIxMzQsIDAsIDEwMTE2LCA5ODc3LCA5MjMyOSwgMCwgMCwgCi0gICAgNzA5NSwgMCwgNzQxMTYsIDY3NzgsIDAsIDc4MDkwLCA4MjQzLCAyNDI3LCAxMjgxNDEsIDcwOTMsIDAsIDExNTg1LCAKLSAgICAxOTUwMDMsIDk5NjIsIDAsIDEyMjIzLCAwLCAwLCAxNDM0LCAxMjAyNTQsIDU2MzcsIDExNTczLCAwLCAwLCAwLCAxOTk1MSwgCi0gICAgMCwgNzgxMjEsIDAsIDAsIDU1MjgzLCAwLCAwLCA3NDQzNywgMTE1NiwgODc0MCwgOTI0MTUsIDM3ODIsIDY0MzMxLCAwLCAKLSAgICA0MTM3MCwgMTAxNCwgODI2MSwgMCwgMCwgMTA4MzUsIDAsIDY1NTM2LCAwLCAxMjA0NjMsIDAsIDc3MDIsIDExODgyNCwgMCwgCi0gICAgNDMwMTAsIDY1Nzc5LCA2NTc4MywgMTE1MCwgMTA1NDcsIDU3MDAsIDAsIDEyMDYwMywgNjUzODMsIDIzMzksIDQyNTk0LCAKLSAgICA1Njk3LCAxMTg3ODgsIDAsIDEyODU3NiwgMCwgNDIyNTcsIDU2OTYsIDkyNjc3LCAxMjA0NjUsIDM4NjIsIDk2NDMsIDAsIDAsIAotICAgIDc2MzQsIDY1MTY3LCA5ODQ1LCAwLCAwLCA1NzAxLCA5NzIyLCA0MTQ5MCwgOTgzMTUzLCAxNDI2LCA2ODIxNywgMCwgCi0gICAgNjg0NDcsIDQyMjA0LCA1NTI3MCwgODU3MSwgMTk0OTkxLCA3ODA2NywgMCwgNzg4MTgsIDkyNzE5LCA0MzE4MiwgMTIxODQsIAotICAgIDAsIDQyMDIyLCAwLCAxMDI4MSwgMCwgNTY1MCwgNDMxOTQsIDY0NzEyLCAxMDc0NCwgMCwgOTkwLCA1NjQ3LCAwLCA3Mzg3LCAKLSAgICA3ODczNCwgNDExMTQsIDExNDc3LCA1NjQ2LCAxMjg3OSwgMTEwMTgsIDk4MzkzMCwgMzk0NSwgOTI1ODksIDAsIDAsIDAsIDAsIAotICAgIDc4MjEyLCAxMjc3NDYsIDEwMjAsIDczNzYzLCAwLCA3ODczMSwgNTY0OCwgNjQ3NDgsIDE5NDkxMCwgNzg3MzMsIDEwMjA1LCAKLSAgICAzNTQ1LCA5ODM1ODUsIDY5ODQsIDAsIDc0MDUxLCA5ODM2NTUsIDQzMjQyLCAxMjA0NTgsIDI2NjcsIDAsIDAsIDAsIDk5MTEsIAotICAgIDAsIDY1MDIwLCAxMDA5NywgMTE5MTY2LCAxMjcxNDUsIDk4MzY2MiwgMTE4ODM2LCA5ODM3NDgsIDc4NDI3LCAxMTQwLCAKLSAgICA3ODQyNiwgMCwgMTAxNTksIDAsIDAsIDgxMjgsIDAsIDAsIDkxNzk2NSwgMTgxNSwgMTk5MTAsIDg5MCwgMCwgMzI2NywgCisgICAgODc1NCwgMTI4NjUyLCAxMjAyMzcsIDIxMzcsIDQzMDgxLCAxOTQ2NjMsIDEyMDIzOSwgOTEzNiwgNjY4ODksIDQ0MDEsIAorICAgIDQxMjgwLCA3MDgwMSwgODk3NCwgMjMwOCwgMTk0NzUwLCA3NDE0OSwgMTI4MzI3LCAyMzE4LCA5ODMxODMsIDY2MzYxLCAKKyAgICA4MTk4LCAwLCA2NDM2MCwgMTI2MDEsIDQyNTM2LCA2NTI2NiwgMTIwODI3LCA2NzI3OSwgOTI0NjIsIDY5NzAsIDU0MDQsIAorICAgIDQzMzMyLCAzNjY3LCA3OTM2LCAxMjkyNSwgMTI2OTg5LCA2Mzg1LCAxMjg0ODIsIDEyODQwMywgMTE4OTQ5LCAxMDg3NCwgCisgICAgNjU1MDUsIDEyMDAwMiwgMCwgNDIwNTMsIDIwNzUsIDQyMDU3LCAxMTA4MywgNDIwNTIsIDAsIDY3MjY2LCA2NzY1MSwgMCwgCisgICAgOTY2NSwgOTIzMDAsIDk4MzY2NiwgMTMxODEsIDAsIDAsIDAsIDcwMDg4LCA3NDE0OCwgMCwgNzA0MTksIDEyMDIyNSwgCisgICAgMTIwMjI5LCAxMjAyMjQsIDc0MTcyLCA0MTE0NSwgNjY0MDQsIDk0MDk2LCA3NDQyMiwgNDExNDgsIDg2ODMsIDc1OTQsIAorICAgIDExMzY4NiwgMCwgMTE5MDkwLCAxMDg2OSwgNDM0NTgsIDQxMTQ2LCA5MjQwNywgMTE0NDEsIDAsIDM1MTIsIDExOTYzMywgCisgICAgOTI5NjUsIDgxMDMsIDAsIDAsIDY1MTg0LCAxMTc4MCwgNDE1NjMsIDQyNzk2LCAxMjkwNTUsIDY5NzQyLCA0MTU0NCwgCisgICAgNjUxNDYsIDcxMzE0LCAwLCAwLCAxMjkxNzcsIDE5OTQyLCAwLCAxMTg5MDgsIDc5ODgsIDEwNDM2LCA3NDI3MywgMzI3MSwgCisgICAgNzM4MDQsIDY0NzExLCAwLCA5NDA2NCwgOTgzMDcxLCAwLCAzODA0LCAxMzA3MCwgMTE1NTcsIDQyMDQ0LCAwLCAxMDk1LCAwLCAKKyAgICAzNTk5LCAxMjc3NzQsIDAsIDEyODg2MSwgODUxNCwgMCwgMCwgMCwgNzQzNDYsIDY2Njk3LCAwLCAxMTY4NCwgMCwgOTI0ODYsIAorICAgIDkxNzYwMywgMCwgNDIwNDMsIDQzMjMyLCA2NjY3NywgMCwgNDIwNDYsIDc0MTU3LCA0MDM2LCAxMjY0ODEsIDAsIDEyODIxMywgCisgICAgMTk0ODYxLCAwLCAxMTk1NCwgNzAzNDgsIDE0NTAsIDEyOTg2LCAxMzQwLCAwLCA2NTQ0MSwgOTI3MjIsIDAsIDAsIAorICAgIDEyNTExNywgMCwgOTE3NTQyLCAwLCAwLCA2NTM5LCA5Mjk0OCwgMTI2NjA3LCAxMjQ5NjEsIDEyNTA2MCwgMCwgMTIwNDkyLCAKKyAgICA0MTE5MCwgMzk3MywgMTE5MzY1LCA0NTc1LCA0MTE5MywgNzk4MiwgNDI5LCAwLCAxMTkxMjksIDAsIDE5NDg0OCwgNjU3OTIsIAorICAgIDEyODQwOCwgMTE4OTY4LCA2NDE3LCAxMTg5MTgsIDc4MTc4LCAwLCAxMjg5NzAsIDAsIDAsIDQ5MTksIDEwNTkwLCAKKyAgICAxMjg1NTYsIDc3NTUsIDAsIDkyOTQyLCA2NDU0OCwgMTIwNTA2LCAxNjIxLCAxMDIxNCwgNjUxMjYsIDY4MjUzLCAxMjcwMDQsIAorICAgIDk4MzYxNiwgMTIxODgsIDk4MzY2OCwgMTYxNywgODA1MCwgMCwgNTAxNSwgMCwgMTE5MTc0LCA0MjU5MCwgNzAzNTQsIAorICAgIDE3NTYsIDc4MTgxLCAwLCA2NTc2OCwgNjM1MiwgNDE4OTIsIDAsIDc1NTUsIDEzMTAzLCA1NDA4LCAyODE3LCAxMjE0LCAKKyAgICA2OTkxOSwgOTIzMzUsIDk4MzEyNSwgMCwgNjgyMjQsIDEyNTA1NSwgNDE3NjQsIDc5NTcsIDg2ODksIDY0NzIzLCAxMDU2LCAKKyAgICA0Mjg5NiwgNzQxNDcsIDM1NTksIDk4MzkxOCwgNTUyODYsIDcwNzMsIDY1ODUwLCAxMjMyNywgNzA4NTMsIDExOTAyOCwgMCwgCisgICAgMCwgMTI4NDQyLCAyMzQxLCA4NDUwLCA4NDg0LCA4NDc0LCAxOTQ4ODQsIDY4MzIyLCA3MDA3OSwgODQ2MSwgNjc3MjEsIAorICAgIDEyMTUzLCAxMjc5OSwgMCwgNDM3MDksIDQzNzA4LCA5NDUxLCA3NTcxLCAxMzA3MywgNDM4NDcsIDAsIDY4MSwgOTgzMjUyLCAKKyAgICA3MDMsIDAsIDMyNzIsIDg3ODEsIDEyODk0LCA3MDA3NywgMTE3MDksIDkyMjg4LCA3MDUxNCwgMCwgOTI1MzIsIDAsIAorICAgIDExMzM4LCAxMjA3NjgsIDMyNzYsIDAsIDAsIDY1OTI4LCAwLCAwLCA2NTAyMSwgNjQ3OTUsIDc0NTc0LCAwLCAxMDA0NywgCisgICAgNzg4MTQsIDMyNjIsIDc4ODExLCA0MjcxMSwgMCwgMCwgNjg0NzgsIDE2MywgNTc2LCA5ODk1LCAxNjU1LCA3MDEzMSwgCisgICAgNzQ1OTEsIDc4ODE1LCA3ODgxNiwgNjY4ODgsIDAsIDAsIDcwNTEzLCAxMDAzOSwgMCwgOTgzOTQ1LCA1NjIzLCA1NzE3LCAKKyAgICA1Nzc2LCA0MzQ4OCwgMCwgNjY4ODUsIDQxNTkxLCAxMTAzNiwgNjUyNTIsIDkyMzgyLCAwLCAwLCAwLCA2Nzg0OCwgCisgICAgMTI4MTI4LCAwLCAwLCA4ODg3LCAxMjc1MjEsIDcyOTUsIDExMDMxLCAwLCA0MzE1NywgMCwgODk0NiwgMTAzNDgsIDEwNDEyLCAKKyAgICA4NzU1LCAwLCAwLCA1NzE4LCAxMzIyMSwgMCwgMCwgNzgxMzUsIDcwNTE1LCA5MTc2MTYsIDg4MTAsIDc0NDk5LCA2ODYsIDAsIAorICAgIDcxMzYyLCA0NjE5LCAxMTg5NTQsIDY2NTQsIDczNzY5LCA3NDQyNiwgMCwgMTIwNDAsIDY1Njg5LCAxMDEyOCwgNjUxMTgsIAorICAgIDAsIDExOTE1MSwgNzQyMDUsIDkyNjUxLCAxMjg5MDIsIDI0MDEsIDY4MTQ0LCA4NzkyLCA5ODM2NDgsIDAsIDY1NDU1LCAwLCAKKyAgICA3NDMyOCwgMCwgNzQ1NjEsIDk4MzcxOCwgMTI4ODYsIDEyNzkyMCwgNjY2MjQsIDEyODM1MCwgNDM1NTcsIDEwMzAwLCAKKyAgICAxMDE2MSwgMTAzOTYsIDcxMjEwLCA3ODYwMiwgMTE4OTQ1LCA5OTg0LCA3Mzg1MSwgMzAxMCwgNjQ0MSwgNzAzNDksIDE0NTgsIAorICAgIDQxNDc1LCA3MjQyOSwgOTM5NzUsIDEyNzkxMCwgMTE0NzksIDAsIDEyMDM1NiwgNjM1MCwgMTI4NjQsIDY5Njc0LCA3ODExNCwgCisgICAgMTA2MSwgNjQ3ODAsIDIwMDEsIDQzMTExLCA1NTIzMCwgMTI0OTQ2LCA0MDUyLCAxMTM2NzMsIDc2MjYsIDAsIDAsIDEwNDUsIAorICAgIDAsIDU2MzEsIDQxMTEzLCAxMjc1NDQsIDAsIDQzNzA3LCA3NDEyNywgMCwgMCwgODQ4NiwgMCwgNzM3NTgsIDIzMzUsIAorICAgIDQzNjIsIDk4MzE5NSwgMTI2NTYxLCA2OTIyMSwgMTAyNSwgMTI3Mjc3LCA0MjYyNSwgNzAzMjUsIDc4MDg0LCA0MTQ0MywgMCwgCisgICAgMTI4MjA2LCAwLCAxNzc0LCAxNTIzLCAwLCAwLCA0MTQ0NSwgNzgyMzYsIDExMjA3LCA4NTY3LCA0MTQ0MiwgMzk4OCwgCisgICAgNzQ4NDMsIDc4MjM3LCAxMTg5MTAsIDAsIDY1Mjc0LCA4NTY0LCA3ODE5OSwgNzgyMzgsIDEyNzUxNSwgMCwgMCwgNDM0NDYsIAorICAgIDAsIDY2NTEzLCA2MjU2LCA5MTc4MDcsIDU3OSwgNTUyMTgsIDEwMjA2LCA3ODg3OCwgNjM3NSwgMjY3MywgMCwgMTE4MTQsIAorICAgIDAsIDQ0ODgsIDEyODcxNiwgMTIwNTU0LCA2ODQ1MSwgMTA0NDQsIDExODg0NiwgMTI3MzM0LCAxMTc5OSwgNzQ0MDcsIAorICAgIDY4NDY2LCA0NDg3LCAxMjc4NDksIDQyODMyLCAxMDMyLCAxMjAyNjcsIDQzNDUwLCA3ODI1NywgNzIwMywgMTI0OTk4LCAKKyAgICA2MTQsIDcwMzYxLCAxMjcyMTUsIDEyMDYxNSwgMTE5NjIyLCA3ODI2MiwgMTI4NjY5LCAxMjczMjMsIDAsIDQzMTIxLCAKKyAgICAxMjcyMTEsIDEyODM2NiwgOTI1MTMsIDEwNTAsIDc1NDksIDAsIDAsIDkzMTQsIDcwMzY1LCA5Mjg5OCwgMTIwNjE2LCAwLCAKKyAgICAxMDA1NywgNzA0MzQsIDEyNzMxMywgMTI4NTc3LCA2NjUwNCwgOTgzMTcxLCAwLCAyMzA3LCAxMjg0NTYsIDY0MzMzLCAKKyAgICAxMjczMTIsIDEyODU0NywgNzM4NzMsIDAsIDk0MDM1LCAwLCAxMjc5NzMsIDEyODcwOCwgNzA0NDYsIDEwMzYwLCA2NzQ2LCAKKyAgICAxMjA0NzMsIDkyMjQ1LCA0NDAsIDAsIDEzMDg1LCA5MjMzLCA3NDIxNiwgMCwgMTI3Nzg1LCA5OTU3LCAxMjgyODUsIAorICAgIDY2NDQ3LCA4MDQ2LCA2NDk2MywgNjU3NzcsIDEwMTI1LCA3NDIxMiwgNDI4MTksIDEwOTEwLCAwLCAxNTIxLCA5ODk2LCAKKyAgICA5Mzk2NSwgMTA0ODcsIDY5ODc4LCAxMjUyNywgMCwgNzk3MCwgMTI1MDczLCAxMjg2NjAsIDAsIDY1NzY5LCA1MjQzLCAKKyAgICA5ODQ5LCA1MjM5LCA2NTc3MSwgOTgzMjM1LCAwLCA1MjM3LCA2OTcxNCwgMCwgMTAxMDMsIDUyNDcsIDQ3NjksIDk4MzEzOSwgCisgICAgMTE4OTc3LCAxMjg3MywgMjI4MywgOTI5MzEsIDAsIDMwMDgsIDQ4OTYsIDEyODEwMiwgMTIwODcsIDAsIDU1MjMxLCAKKyAgICA0MTEwMywgOTIyNTYsIDY0NTY1LCA0NzczLCAwLCA3ODU0OSwgNzAwNzQsIDQ3NzAsIDY2ODkxLCA5MTc1NjcsIDg3MzEsIAorICAgIDY1Mzc4LCA2NjkxMSwgMTIwNjE5LCA5MTIyLCAxMjgwMzMsIDEyNjYwMCwgNDc3NCwgMzAxOSwgOTk5NywgMTI4MzQsIDAsIAorICAgIDk0NTYsIDEwMjE1LCAxMjA1NDcsIDAsIDc4NTU2LCAwLCAwLCA3NDc3NiwgNDI4MSwgNDc2OCwgMTIwNTcyLCA0MTUzNSwgCisgICAgNDA5OSwgOTAxNywgNjk5OTMsIDAsIDc4MDk1LCAyMjI1LCA3ODA5NiwgMTE4OTQ2LCAwLCAwLCA3ODA5OCwgMCwgNDI4MTQsIAorICAgIDg4MCwgMCwgMTEzNzY0LCA2Njg3MCwgMjEzNCwgMCwgMTAxMTYsIDk4NzcsIDkyMzI5LCAwLCAwLCA3MDk1LCA4Mzc5LCAKKyAgICA3NDExNiwgNjc3OCwgMCwgNzgwOTAsIDgyNDMsIDI0MjcsIDEyODE0MSwgNzA5MywgMCwgMTE1ODUsIDE5NTAwMywgOTk2MiwgCisgICAgMCwgMTIyMjMsIDEyODQ4NSwgOTI0MzAsIDE0MzQsIDEyMDI1NCwgNTYzNywgMTE1NzMsIDAsIDAsIDAsIDE5OTUxLCAKKyAgICAxMTM3MzAsIDc0NDE5LCAwLCAwLCA1NTI4MywgMCwgNzAzNjMsIDc0NDM3LCAxMTU2LCA4NzQwLCA5MjQxNSwgMzc4MiwgCisgICAgNjQzMzEsIDAsIDQxMzcwLCAxMDE0LCA4MjYxLCAxMjg1OTUsIDAsIDEwODM1LCAwLCA2NTUzNiwgMCwgMTIwNDYzLCAKKyAgICAxMjUwNTEsIDc3MDIsIDExODgyNCwgMTI4OTc2LCA0MzAxMCwgNjU3NzksIDY1NzgzLCAxMTUwLCAxMDU0NywgNTcwMCwgMCwgCisgICAgMTIwNjAzLCA2NTM4MywgMjMzOSwgNDI1OTQsIDU2OTcsIDExODc4OCwgMTIwNDc5LCAxMjg1NzYsIDAsIDQyMjU3LCA1Njk2LCAKKyAgICA5MjY3NywgMTIwNDY1LCAzODYyLCA5NjQzLCAwLCA3MDE4MywgNzYzNCwgNjUxNjcsIDk4NDUsIDAsIDAsIDU3MDEsIDk3MjIsIAorICAgIDQxNDkwLCAxMjg3MTksIDE0MjYsIDY4MjE3LCA5ODM2MTQsIDY4NDQ3LCA0MjIwNCwgNTUyNzAsIDg1NzEsIDY3NDAzLCAKKyAgICA3ODA2NywgNDM4NTksIDc4ODE4LCA5MjcxOSwgNDMxODIsIDEyMTg0LCAwLCA0MjAyMiwgMCwgMTAyODEsIDAsIDU2NTAsIAorICAgIDQzMTk0LCA2NDcxMiwgMTA3NDQsIDAsIDk5MCwgNTY0NywgMCwgNzM4NywgNzg3MzQsIDQxMTE0LCAxMTQ3NywgNTY0NiwgCisgICAgMTI4NzksIDExMDE4LCAxMjgzNjIsIDM5NDUsIDkyNTg5LCAwLCAxOTQ5ODksIDE5NDcxOCwgMCwgNzgyMTIsIDEyNzc0NiwgCisgICAgMTAyMCwgNzM3NjMsIDk4MzgzNSwgNzg3MzEsIDU2NDgsIDY0NzQ4LCAxOTQ5MTAsIDc4NzMzLCAxMDIwNSwgMzU0NSwgCisgICAgOTgzNTg1LCA2OTg0LCAwLCA3NDA1MSwgMTI4OTAxLCA0MzI0MiwgMTIwNDU4LCAyNjY3LCAwLCAxMjUwMzcsIDAsIDk5MTEsIAorICAgIDAsIDY1MDIwLCAxMDA5NywgMTE5MTY2LCAxMjcxNDUsIDk4MzY2MiwgMTE4ODM2LCA5ODM3NDgsIDc4MjA4LCAxMTQwLCAKKyAgICA3ODQyNiwgMCwgMTAxNTksIDAsIDAsIDgxMjgsIDAsIDY4MzI2LCA5MTc5NjUsIDE4MTUsIDE5OTEwLCA4OTAsIDAsIDMyNjcsIAogICAgIDkyMjkxLCAwLCAxMDEyMywgMCwgNDQxMCwgMTA0MSwgMTA1NzYsIDYzNTQsIDkyNTgxLCA1ODAsIDc0MjMyLCAwLCAKICAgICAxMjgzNDcsIDAsIDAsIDAsIDE5OTM4LCA2NTkwNiwgMTI3ODE5LCAwLCAwLCAzMjk4LCA1Mzc1LCAxMDE0MiwgMCwgODIxNSwgCi0gICAgMCwgNjEzNCwgNDEyNDYsIDY0NDAyLCAwLCA2OTg5OSwgMCwgMCwgMCwgNDEzODIsIDAsIDEyODY1MywgNTE3MywgNjUzNDgsIAotICAgIDUyNywgMCwgMCwgOTI2MTIsIDEyODI1MCwgNzg3OTcsIDExOTE1LCAwLCAwLCAxMDA3MiwgMCwgNDI2OTUsIDIzMjksIAotICAgIDQyMjUwLCAwLCAxMjg4NjQsIDY5NjY3LCAxMjI0NSwgMTU2OCwgOTQwMzMsIDAsIDAsIDEyODEyMCwgMCwgNzQzMjgsIAotICAgIDkyNzA4LCA3NDc2OSwgMCwgMTE5MDg3LCA5MDY5LCA2MTQ0LCAwLCAwLCA3MzgyMiwgMCwgMTI4MDEwLCA2NDkxNywgCi0gICAgNDE1MjEsIDExODkzNCwgNDk0LCAxMzI1MCwgMCwgNjUwOTgsIDYzNjQsIDk1NiwgMCwgMTI4MzAsIDEwNDYyLCA3Mzc0MCwgCi0gICAgNzM3MzQsIDAsIDAsIDAsIDY2NDQ5LCAxMzI2MywgNzQyODEsIDY5MjE3LCAxMzE3MSwgMTI3Nzk2LCAwLCAwLCA5MjI5NCwgCi0gICAgMCwgMTA0NCwgNDEyNzYsIDAsIDAsIDAsIDQyMDY4LCAxMTc5NSwgMCwgMCwgMCwgMCwgNDI0NTAsIDM5MDcsIDAsIDY0NTI2LCAKLSAgICAxMTgyOSwgNjgxOTcsIDEyMjk1LCAwLCAxMTQ3NSwgMCwgMzAyMCwgMTE1MzcsIDAsIDY2NDQxLCA5ODM0NTQsIDcwOTgsIDAsIAotICAgIDAsIDEwNTcsIDU2NiwgNDI2OTYsIDAsIDMwMTYsIDQyMjc0LCA0MzQ2NCwgNjY0OTAsIDEyOTIxLCA2NjU3MSwgNzg0NzIsIAotICAgIDkyNTEwLCAzMDA2LCA0NjIwLCAxMjcyMzcsIDk4MzU3OCwgMCwgMCwgNjQ2NTksIDAsIDEyNzc0OSwgNTUyNTMsIDYzNTcsIAotICAgIDYzNjIsIDg2MjYsIDcxMzM3LCAyMjE2LCA5MDkwLCA2NTM3NywgNDE1OTYsIDAsIDQyOTIwLCAxNjk4LCAwLCA2NDQ3NywgMCwgCi0gICAgNDM4MTMsIDEwNTMsIDAsIDc4MjY5LCAwLCAxMjY1ODYsIDEwNTIsIDEwNTEsIDQ1OSwgMTA2MCwgNzQzNDksIDY2NDc5LCAwLCAKLSAgICAwLCAwLCAwLCA0MjQ5MCwgNjg5LCA2NTA4LCA0MTYzLCA0MjI5OCwgODYzOSwgNjY2NDEsIDQyNDYsIDAsIDAsIDEyMTMwLCAKLSAgICAwLCA0MjMzNywgNjQ1OTYsIDY0Mzc1LCA2NjQ4MSwgMTI3ODUwLCAwLCAwLCA2MzU5LCAwLCA0MzQ3MSwgOTgzNzY4LCAwLCAKLSAgICAwLCAxMjcyNzQsIDAsIDYzNTgsIDYzNjEsIDE5MjYsIDYzNTYsIDkyNjI3LCA3ODk4LCA4MTEwLCAxMDkzNSwgMCwgMTAwNjksIAotICAgIDU4MzAsIDAsIDQzNjg1LCAwLCAwLCAwLCAwLCA4NjkzLCA3ODYxMSwgMTE5NTY1LCA5ODM4MDgsIDEyMDQxMywgMCwgCi0gICAgMTI3MjU3LCA2NTg5NCwgMCwgMCwgMCwgOTgzOTIzLCAwLCAwLCAxMTkxODcsIDIxMzUsIDc4ODY4LCAwLCAwLCA3ODg2OSwgCi0gICAgNDIzMTMsIDU1NzksIDkyNDEyLCAwLCA5ODMwODIsIDk0MDAyLCAwLCA1NTc4LCA0MTc3NCwgMTI4MTE1LCA0MjAyMywgCi0gICAgNjIzNCwgNTY2OSwgOTIyNzUsIDAsIDAsIDAsIDEyNzUwNiwgNjgyMDIsIDU1ODMsIDAsIDAsIDQyNDI2LCA1NTgwLCAKLSAgICA0MjI3NiwgMjkyMywgODkyLCAyMjIwLCA0MjQ2NSwgNDEzMzAsIDE5NDk4NywgNTc5NSwgNjU1MTIsIDExOTAwNiwgNjU3MDIsIAotICAgIDAsIDEyMDgwMSwgNjUyNTEsIDAsIDY1NzEwLCAwLCAwLCA2NzY3MiwgMCwgNTM3MCwgMCwgMjkzMSwgMTYzOCwgMTA5NjYsIAotICAgIDEwMTg4LCA2NTg3OCwgMTE4ODQ4LCAwLCA2OTY5NCwgNjk4NzksIDEyODgzMCwgODE3MiwgNDIwMTcsIDAsIDEwODQ0LCAwLCAKLSAgICAxMjgxOTUsIDkyNDI0LCA2Mzc0LCAwLCAwLCAyODYsIDc4MDIzLCAxMDYyLCAwLCAxMTk5OTksIDAsIDczOTUsIDAsIDEwNzAsIAotICAgIDY0OTAwLCA3MTUzLCA2MDk1LCA0MTg2NSwgMCwgMzAxNSwgMTI4MDIzLCAxMjY0NjUsIDUyMTEsIDk4MzA4MywgNjQwMCwgMCwgCi0gICAgMTk0OTgzLCA3MDA1NCwgODE4OSwgMTEyNzYsIDAsIDAsIDM3MiwgMTI4ODI5LCAwLCAxMTg4NzQsIDQyMTAyLCA0MTU4NSwgCi0gICAgMTI4MjAyLCAwLCA0MjEwMSwgMjc2LCA3ODQwMiwgMCwgMzMsIDc0MjI2LCAxMjczMDMsIDkwMDcsIDExODc5NiwgNDE1ODgsIAotICAgIDY2MDMzLCA0MjcsIDEwNzYzLCAxMTg4MTksIDAsIDEyNzg4NCwgMCwgMTAzMSwgNjI1NywgMCwgNDIxMDQsIDAsIDk4Mzk4MCwgCi0gICAgMjMyOCwgOTI0MDksIDEwNzEsIDQyODk5LCAwLCA3NDg0OCwgMCwgOTgzNTgwLCAwLCAxMDQ3LCAwLCAwLCA2NDc5MCwgMCwgCi0gICAgNjk3MjMsIDEwNjUxLCAwLCAwLCAwLCAwLCA5MjIwNiwgMTE5MTgxLCA1NzExLCA0MTYzMywgMTIwOTgsIDY1NTcxLCA5MTY2LCAKLSAgICAwLCA1NzEwLCAwLCA2NzkwLCA2NTE2OCwgMTMyMTYsIDAsIDY5NzE2LCA2OTcyNiwgMCwgNjQ2MTEsIDQxNjIzLCAxOTUwMDEsIAotICAgIDU3MTUsIDY5NjU0LCAwLCAwLCA1NzEyLCAyNzYxLCA0MTYyMCwgNjgxMjQsIDMwNzQsIDU3MjIsIDAsIDg2NDMsIDczNzY4LCAKLSAgICAwLCAxMTg5MDYsIDI3NTcsIDExMDY3LCA5NzE4LCA3NDQ5OCwgODkxMCwgMTA2ODksIDY0NzksIDAsIDAsIDAsIDc4NjA3LCAKLSAgICA5MTk2LCA2OTY3MCwgMCwgMCwgMCwgMCwgMTE4OTExLCAwLCAwLCAwLCAwLCAwLCAxMjAwMTAsIDAsIDg3MDEsIDY4MTMwLCAKLSAgICAxMTk2MTYsIDEyMDUyMiwgMCwgNDI0NzcsIDE5NDk5NCwgMTIxMjMsIDQ0OTUsIDQzNTY5LCAwLCAwLCAwLCA2NDk0NiwgCi0gICAgMTA5OTIsIDAsIDEyMDAwOSwgMCwgMCwgOTMxOCwgOTM5ODYsIDEzMjQ5LCA2NTY3OSwgNzM4MDgsIDAsIDY1NDU3LCAKLSAgICA0MjI0OSwgNzYzOSwgNDM5OTUsIDY3ODQ1LCA0MjY0MSwgNTQ1NCwgMCwgMCwgMTk0OTk3LCAxMjAwMDUsIDAsIDk4Mzk2NiwgCi0gICAgNTA4NCwgMCwgMCwgMTE4ODYxLCAwLCA3MzMsIDkxNzg3NiwgNzgwMTQsIDc4NDM2LCA3ODQzNSwgNDE2NzcsIDAsIDkyMTgsIAotICAgIDE3MzEsIDAsIDk4Mzc0NiwgMCwgNjc5OTAsIDAsIDAsIDAsIDEyMDAwMSwgMTI3MDE4LCA5MjQ5MiwgNTE1NSwgMTIwMDAwLCAKLSAgICA1MzU4LCA5ODM3NDQsIDAsIDkxNzc2NywgNjQ0MjQsIDk4MzIzMSwgMzg0MCwgNjQzMTQsIDQxNDMyLCAwLCA3ODMxNSwgCi0gICAgNjg0MzAsIDY3OTgwLCA0MzI1MywgNjU5NDMsIDAsIDMzNzEsIDEwOTg4LCAwLCA4NzcxLCAxNDc5LCAwLCAwLCAxMTA5LCAKLSAgICAxMTU4MCwgMCwgNjQ2MDEsIDEyMjA1LCAwLCAwLCA2NDUwNywgODg2OCwgMzk5LCA2Nzk3OCwgNzQ4NDIsIDk4MzI4NCwgCi0gICAgOTgzNzIxLCAxMjE0OSwgMTMwODgsIDU1MSwgMCwgMTAxNTYsIDEyMTE5LCA5MjU3MiwgMCwgMjU0NCwgNjUwNzQsIAotICAgIDExOTIxMSwgMCwgMCwgNzgwMTEsIDM1MSwgMTE5MTQ5LCAwLCAwLCA1NTIyOSwgMCwgNzQyNjgsIDAsIDAsIDAsIDQyMzc3LCAKLSAgICAwLCAwLCAwLCA5ODM5MjQsIDAsIDkwMTMsIDQwNTQsIDAsIDk4MzU3MCwgOTgzNjI4LCAwLCA3Mzk2MCwgNTU4NSwgNjU4ODEsIAotICAgIDI1NDksIDc0NDY5LCAwLCAwLCA1NTg0LCA4MzU4LCAwLCA2NDIxNSwgOTIyMTksIDEwOTE5LCAwLCA3OTgwLCAxMjY2MDEsIAotICAgIDk4Mzc4NCwgMjIxOCwgNDE4MDAsIDU1ODksIDAsIDI2NjQsIDQxNjEzLCA1NTg2LCAxMTg4OTAsIDAsIDExMzU2LCAwLCAwLCAKLSAgICA0MzQ1MiwgNzg2MDksIDAsIDQyNTczLCA2Nzg1NiwgMCwgNzgxMjksIDAsIDAsIDc0MzkyLCA4MTM1LCA2NDUwLCAxMDA1NSwgCi0gICAgNzc5OTYsIDAsIDAsIDExOTIyNSwgNTY1NywgMCwgOTYyNiwgMCwgNzc5OTQsIDEwMTc5LCA1NjU0LCAxMjkzOSwgOTI1NzMsIAotICAgIDEyMDc5OSwgMCwgMCwgNTY1MiwgMTA5NDUsIDAsIDY2NDg2LCAwLCAzNjYxLCA3ODYzLCAwLCAwLCAwLCA3NDUwOSwgCi0gICAgOTgzODUyLCA1NjU5LCAwLCA3ODY5MiwgNjY3MjksIDU2NTUsIDk4MzYyNiwgNDIxNjgsIDAsIDEwNTUsIDkxNzYyOCwgCi0gICAgMTI3NzkyLCA2NjMxMCwgNzQwMzAsIDAsIDEyMTQ2LCA3Mzk1NSwgNzM5NTYsIDExNjE4LCAwLCAxMjY5OTAsIDAsIDEwMjcyLCAKLSAgICAxMDMwNCwgMTAzNjgsIDQyNTE4LCA1OTQsIDEwMjQ0LCAxMDI0OCwgNzQwNywgOTgzODg3LCA2NDg3MCwgMCwgMzQ2NywgCi0gICAgOTgzODkxLCAwLCAzMzMxLCA5NDYsIDEwMjMxLCAxNDk1LCA4MTMxLCA3NDMzMCwgMCwgOTU2MiwgNjkyMjIsIDY1OTI3LCAwLCAKLSAgICA3MDAzNiwgNjk2OTYsIDY5NzY5LCA2NDY1NiwgOTgzNzI2LCAwLCA5NDAyMCwgNzAwNTYsIDU2NjYsIDY1MjI3LCA1MzE4LCAKLSAgICA2Mzk5NCwgMCwgOTA5MSwgMTA3OTgsIDAsIDEyODE2NiwgMTAxODYsIDAsIDc3MzIsIDk4MzcyNCwgNjQ1NTYsIDAsIDAsIAotICAgIDU2NjgsIDc0NDQ1LCAwLCAxMjg2NjMsIDU2NzAsIDEyNjYxMCwgMTI3Mjk3LCAxMTgyMCwgMjk5MiwgNzgyNiwgNTY2NywgCi0gICAgMTk5NTIsIDEyMDgwNywgMCwgMTI3NDksIDc0NTUxLCAwLCAwLCA2NjQ5NiwgNDM2MSwgMTE5MjYwLCAxMzA2LCA5Mjg2LCAKLSAgICAxNDk3LCAxMjgyODYsIDk0MDA0LCAwLCAwLCAzNTcxLCAxMzI0NywgMCwgNzk3MywgNjYzNTMsIDY4NDM1LCA3ODI3OCwgCi0gICAgNjc4OTYsIDQzMTkyLCAwLCA3ODI2NSwgNTUzLCAxMjA2NTMsIDAsIDEyODU1NCwgNTgyOSwgMCwgNDU4NywgNzgyODUsIAotICAgIDY1OTEyLCAwLCAxMjc0NiwgMCwgMCwgMTE5OTI0LCA1NjMzLCAxMTk5MjcsIDk0MTAxLCA5NDEwMiwgOTQwOTksIDY0OTA1LCAKLSAgICA5NDEwNSwgOTUxMiwgOTQxMDMsIDEyNzQyLCA2NDQzLCA5ODM4MDYsIDAsIDkxMzUsIDAsIDQxNTY0LCAwLCA1NTIxOSwgCi0gICAgMTI4ODMyLCA5ODM4NTEsIDAsIDEyMTQ4LCAwLCA3ODI5NywgMCwgNjQyNTYsIDAsIDExNjY5LCAwLCA1NjM0LCA0NTI0LCAwLCAKLSAgICAxMjcyNzAsIDAsIDExODg4MCwgMjQyNSwgNjUxODIsIDEyODc2OSwgNDM2MzYsIDUyMjEsIDc4NDEwLCAzMjgsIDAsIAotICAgIDk4MzgwOSwgNjk4MTUsIDU2MzYsIDAsIDUzMjksIDAsIDU2MzgsIDExOTkxOCwgNzk0MCwgNjQ5MzgsIDQzMjIzLCA0Mzc2MCwgCi0gICAgNTYzNSwgMzM3MywgMjk4NiwgNzgyOTIsIDc0MjIzLCAzNDM3LCA3ODI5MSwgNjIwMywgNDI0NywgMCwgMTE5MjAsIDgyNzQsIAotICAgIDAsIDAsIDE2NTcsIDQxNTYxLCA3ODI5OSwgNzgyOTUsIDU2MzksIDI5NTQsIDU2NjAsIDU2NDAsIDc4MzAzLCA5ODM2ODUsIAotICAgIDc4MzAwLCA0MjIyNywgMCwgMCwgNDE2MzcsIDY3ODcyLCAwLCA3ODMxMCwgNDE2MjUsIDQzMzYyLCA3ODMwOSwgMTIwNzEzLCAKLSAgICAxMTcwNSwgNTY0MiwgMCwgNTQ4NiwgMCwgNDM1NiwgMTE3MTAsIDAsIDEyMDUxLCA2OTkzOCwgMCwgNTY0MSwgODI1OSwgMCwgCi0gICAgMTA1OCwgMCwgNjc2MzAsIDAsIDAsIDExNDQsIDc4NzUwLCAwLCA0MjIyOCwgMCwgNzM4OTAsIDExODk3MiwgMCwgMjgwMCwgCi0gICAgMCwgNTY0NSwgNjQ5NjQsIDg2NTIsIDI1NDcsIDY2NDg0LCA0MzYzNCwgMCwgNTYwOCwgNjU4OTAsIDQzODA4LCAwLCAKLSAgICA2NzYyMSwgMTE5OTM0LCA5MDAwLCAwLCAwLCA5MjY3MywgMTg2NSwgMCwgNTYxMywgNjk5NTAsIDAsIDAsIDU2MTAsIDAsIDAsIAotICAgIDY1ODI2LCAyMDY5LCAwLCAxMDc4NywgNDM5OTksIDI5OTcsIDAsIDU2MDksIDc4MzE2LCA2NTMxOSwgNzgzMTMsIDEyMzE2LCAKLSAgICA2NTM3NiwgMjQxMiwgMCwgODE4NiwgOTgwNywgNzQyNjksIDkyNTQ3LCAxMzEzMCwgNjU4NzQsIDAsIDU4MDcsIDAsIAotICAgIDEwMDMwLCA1MzA2LCAxMjM2NCwgMTI4MDY0LCAwLCAxMTcwNCwgMCwgOTI1ODMsIDEwMjExLCAwLCAwLCAwLCAwLCAxMTcwNiwgCi0gICAgOTcxMCwgMCwgMCwgMCwgNDEzLCA2NTYyMywgNzExOCwgMCwgOTEzMywgNzQyNjIsIDAsIDEwNDIsIDAsIDY0Nzc5LCAKLSAgICAxMjE3MSwgMTE5MjQwLCA2MTg1LCA2NDc3NiwgNDk4NCwgMCwgNzA4LCAxMTM5MSwgMCwgMTIyNDEsIDkyNzIwLCA5ODM4OTksIAotICAgIDEzMDgsIDAsIDI1MzQsIDgxMCwgMCwgMCwgMCwgMCwgMCwgMTkxNywgMzAwMCwgMCwgMCwgMTIwNzM5LCAyMzY0LCA5MjQ0MywgCi0gICAgNzQ0NzAsIDY2NjE4LCA2NTY4MCwgMTIwNzc5LCAxMDAyNywgMCwgMTI4MTU0LCAxMjMzNywgMTIwNzIyLCAxMjczNjgsIAotICAgIDk4MzE2NywgMjk4MCwgNzU1LCA2OTc3NCwgOTMxLCAxMzEyNCwgNjgxODIsIDYzNjMsIDI3NDgsIDAsIDAsIDY1MDQxLCAKLSAgICA5MjI3NiwgNDQwMTEsIDg3MzAsIDk4MzA2NywgMTI3ODU0LCA3ODMxMiwgNzI3NCwgMTE5MjUwLCAwLCA3Mjc1LCA3ODMwNCwgCi0gICAgOTM1LCAwLCA2NTg0MCwgMzc3LCA0MjMyNSwgMTE2NDksIDEyNzM2MywgNjUyNTMsIDY0MzAxLCAxMjg4MzUsIDc4MzA4LCAKLSAgICA0MjM0MSwgNjUyODQsIDI0MTcsIDAsIDEyODg0LCAxOTkxMiwgNzkwNywgMTA3NjgsIDAsIDE5NDk5OCwgMCwgMTA2NzMsIAotICAgIDExOTIxNywgNzI0OCwgMCwgMTI4MzQ2LCAxNzgxLCA1NDk2LCAzNjI3LCA2MiwgMTY0OSwgMCwgOTY0LCAwLCAxMjc4NzYsIAotICAgIDc4MjI2LCAxMjg3NzUsIDEyNzUxMiwgMCwgMCwgMCwgMCwgNDM2ODksIDEyNzkxMSwgMTMxNDIsIDc4ODEyLCA0MjQxNSwgCi0gICAgNjY1NzUsIDQ1NDIsIDY5OTA5LCA0MzU0NywgMCwgMCwgNzY3NywgMjk5MSwgNDk0NiwgNDI0NTQsIDExNTY1LCA3OTQ5LCAwLCAKLSAgICA5ODM5MTgsIDExMzQxLCA0MjQ5NCwgMzA3MywgNjU2MjUsIDk3MTQsIDExNjkyLCA0NjU3LCAwLCA5MjcyNCwgNjQ3OCwgCi0gICAgOTg5OCwgNDM2NzMsIDY1MjM3LCA2MjQxLCA3MTA2LCA0ODc3LCA5ODM3OTUsIDYyMzgsIDAsIDEwNTQ4LCAxMjcwNDksIAotICAgIDQ0MDksIDAsIDAsIDY0Nzk4LCAwLCA1MzQ2LCAwLCA5NDA0NywgNjIzNywgNDg3NCwgMCwgOTE3NiwgMCwgMTI2NTUzLCAKLSAgICA2NTIzMSwgNjU4ODQsIDEyNjc4LCA3ODc0OCwgMTE4OTEyLCAxMTM3OCwgNDQwMTgsIDQyNzg1LCAyNDA4LCAzMjUxLCAwLCAKLSAgICAwLCA1Njg1LCAwLCAyNDYxLCAxMTA1MiwgNzA5MSwgNTM0MiwgODMxNywgMCwgNjgxNjMsIDUzNDAsIDAsIDEyNzgyMCwgCi0gICAgNDM2MzUsIDczOTI4LCAxMjc1MjksIDAsIDAsIDAsIDEyODUxMCwgNjU0ODIsIDAsIDkxNDIsIDAsIDEyNjQ3MCwgMCwgCi0gICAgMTA5MzgsIDAsIDExODc5MCwgMTE4MiwgMjU0MiwgNDgyNiwgMCwgMCwgMTI4MTc2LCA1MjksIDg1ODAsIDAsIDAsIDEwNTg2LCAKLSAgICAxMDc5MCwgMTA4MzksIDY2MDIzLCA0MTU5MywgNDEyMDcsIDAsIDAsIDQxNTk0LCAyMjUsIDQyODI4LCAwLCAwLCA5ODM5MzgsIAotICAgIDExMzc2LCA3NDM3OSwgMTA3MjEsIDY3NjY0LCAzNDM4LCA0MjA5NywgMTI3MjY3LCAxMTA4NCwgMzE5NCwgNDE4NzAsIDI2NiwgCi0gICAgNzgzMDUsIDEyMDE4MywgNDE4NzMsIDEyMDU3NSwgMTEzMjQsIDEyMDUzMSwgMCwgODQyMCwgNjQ5MTgsIDEyODg0NCwgCi0gICAgNDE4NzEsIDQxMzM4LCAzNzM0LCA3NzM0LCA0MzY4MywgODc1MCwgNjY2MDUsIDY2MDExLCA5MjUxNCwgNDA5NjUsIAotICAgIDEyNzkzNywgMCwgNTE2MSwgMTA1NzIsIDAsIDAsIDAsIDY0MzQ5LCA3Mjg3LCA0MjE2MiwgMTI3NTUyLCAwLCAxMjY2MDUsIAotICAgIDExOTQ4LCA2OTIyMCwgMTIzNTksIDQzNDI5LCA0MTM2OSwgMTY5NywgMTIxOTEsIDAsIDY4NjMzLCA3Mjg2LCAwLCA2ODYzNSwgCi0gICAgMTAwMzEsIDAsIDk4NzAsIDY4NjQ1LCA4NjIwLCA2NTgyNCwgMCwgMTE5MzgsIDAsIDcyODUsIDAsIDExOTU3NywgNDI2NzgsIAotICAgIDAsIDQzNjc3LCA0MTU4MywgMCwgNjU3OTksIDkyNjIzLCAwLCAwLCA5ODM5MzYsIDc4MTY5LCA2NjE5OSwgMCwgMzYwOSwgCi0gICAgNjg2MjQsIDAsIDgzMiwgMTIwNjkzLCAxMjA3NzAsIDc4NDczLCA2NjAwNywgNzg0NzEsIDY1NzAzLCAwLCAwLCA0MjczMiwgCi0gICAgNTE4MCwgOTI2OTksIDQxMzk1LCA0MTUzMCwgMTE2OTEsIDY0NzczLCA5MjIxNCwgNzQwMDIsIDAsIDAsIDEyODY0NSwgCi0gICAgNjM0OCwgMjQzLCAxMzIwMCwgOTgzODEzLCA2MDI0LCA5MjMwOSwgOTk3OSwgMTAwMzcsIDQxNTI5LCAxMDY0OCwgODUzOCwgCi0gICAgNDM2ODcsIDAsIDAsIDQyODUsIDY2MTk1LCAwLCA0MjMwLCAwLCA3MzY3LCA0MzI1NiwgOTIzNTMsIDc1NjMsIDQyMzc2LCAwLCAKLSAgICA2ODQ0MiwgMTIwNTEyLCAwLCAwLCAyMTQsIDAsIDAsIDc4NDY2LCA2NTg5MywgMTIyMDgsIDk5NzMsIDAsIDY2MzExLCAKLSAgICA2NTU4OSwgMTI4Mjc3LCAyNjAzLCAwLCAwLCAwLCA3MDA0NywgMCwgNjAyMiwgMCwgMjg4NCwgMCwgMTE2MjAsIDAsIDQzLCAKLSAgICAwLCA2NjQ1MywgMTAxNiwgNDExMDcsIDAsIDQxMTIxLCAzODg1LCA5MiwgNjU0NTYsIDY0NjA4LCAwLCA3NDgwMSwgMCwgCi0gICAgMjA3NCwgMCwgNzgyODMsIDAsIDEyNDUzLCAxMjgxMjgsIDk4MzgyNiwgNzQyNDEsIDEyNjU2OCwgNjc5MSwgMTI0NTcsIAotICAgIDc4MjY4LCAwLCAwLCAwLCA3ODI3OSwgMCwgMCwgOTIzNTgsIDY2NjM3LCA3OTk1LCA4NzU5LCA0MzQyMSwgNzgyNzcsIAotICAgIDEyNDQ5LCAxMjg1NTIsIDAsIDAsIDg3NTIsIDMxOTcsIDQ3MjAsIDEwMTY1LCAwLCAxMTkyNDksIDAsIDExNTk1LCA2NDg5MywgCi0gICAgMCwgNDM0MzUsIDAsIDAsIDQ5OTMsIDAsIDYxNjgsIDEwOTM0LCAxOTQ2LCA3NDEsIDAsIDU0OTQsIDQ2MzksIDk4MzE0NywgCi0gICAgMTk5MCwgNjY1ODksIDQ0OTgsIDc4NjY0LCAxMTkxODMsIDAsIDAsIDY5NzM0LCAyOTYwLCA3Mzc3OSwgMCwgODk2OSwgCi0gICAgMTI4MTE3LCA0MzQyNCwgMTI3MDU5LCAwLCAyOTUwLCAxMTk1NzksIDYyMTAsIDY1NzUzLCAzNzAsIDAsIDAsIDAsIDQ5NTMsIAotICAgIDk4MzY4MiwgMCwgMCwgMCwgNjkyMzAsIDAsIDAsIDY1Njg4LCA5ODMyNDYsIDUwNjMsIDM1MTcsIDI5NjQsIDQzNjYzLCAKLSAgICA5MTc3NjIsIDYzNDQsIDc0NzkxLCAxMDU2NiwgMTAxNDQsIDY2MzMzLCA4MjUyLCA3MjksIDY2MDE2LCA3ODI1MywgMCwgCi0gICAgNzEzMTcsIDY0OTIzLCAxMjgwNDAsIDQzNjY5LCA5MDMyLCA3ODI2MywgNzgyNjQsIDAsIDQxMjE1LCAwLCA2NTg4MywgMCwgCi0gICAgOTE3Nzc0LCAxMjA2MDIsIDM3NjEsIDAsIDAsIDcwMDY4LCAwLCAxMjkxMiwgMTE5MDEyLCAzODUwLCAxMjgxOTEsIDAsIDAsIAotICAgIDAsIDAsIDkwOCwgMCwgODYxMSwgMCwgMCwgMTI3NTU1LCA0MzY5MSwgNDExOTcsIDAsIDg5NzgsIDEyMDU0MCwgMTE5MTM1LCAKLSAgICA0MTU4NiwgMTA1MjcsIDAsIDkxNzg0OCwgMzg0OCwgNzg3MzksIDE5NDkzNywgMTI3NTM2LCA2NTI0MSwgNTMzNiwgCi0gICAgOTgzMjU5LCAxMjg3ODYsIDY2MywgMCwgMTA3ODAsIDAsIDAsIDc4NzY3LCA5ODMyNTcsIDEyNzE2MywgNjgxOTMsIDM0NywgCi0gICAgMCwgMCwgNzg3NzUsIDY0Njc1LCA0MTU4MiwgNzg3NzQsIDc4NzQ0LCA2NTU3OSwgMTI5ODAsIDc4NzY5LCAxMjE0MywgCi0gICAgNjk2NTcsIDc4NTEyLCAwLCA0MzQ0MSwgNDE4MDQsIDc4NTIzLCAwLCA3ODUyNSwgMCwgMTI4ODU5LCA0MTU4NCwgMTA2ODEsIAotICAgIDAsIDk4MzY5NSwgNzM5MzgsIDAsIDEyODAyMiwgNDgwMCwgNjY2NjEsIDAsIDY2MzA2LCA2NDcxNSwgNzg1MzQsIDk1MTgsIAotICAgIDY2MDksIDEwNDM0LCAwLCAxMTMxOSwgMTA5NywgMCwgOTE3ODUwLCA0MTczMCwgOTgzMjE0LCAwLCA3Mzg0NywgNzg3NjEsIAotICAgIDY1MTcyLCA0MTcyOCwgNDE3MjEsIDAsIDAsIDAsIDQxMjAzLCA5MTc2MTIsIDEzMTEwLCA0MTcyNiwgOTgzODU1LCAwLCAKLSAgICAxMDAwLCA2OTY1MSwgMCwgNDExNDAsIDEyMDksIDczOTc4LCAwLCA3Mzc1MCwgMTA3MywgNjMyMSwgNzc4NzgsIDQxMTM4LCAKLSAgICAwLCA2ODIxMywgMCwgMTIxNjcsIDExMTUsIDQxNjA1LCA5Nzk0LCAxMjcwNjIsIDY3NjcxLCA1NTI0OCwgMTIyMzcsIAotICAgIDc4Nzg3LCA2NjMxNCwgNjU4NywgOTI5MCwgNzg3ODIsIDc4NzgzLCA5MjMxLCA3ODc4MSwgMjk1OSwgNzkyNiwgMCwgMCwgMCwgCi0gICAgNjQzOTgsIDAsIDExOTk3MCwgMTIzMTEsIDk4MzcyNywgNzg3OTYsIDc4Nzk4LCA3ODc5NCwgNzg3OTUsIDY4NDM0LCAKLSAgICA3ODc5MywgNjY2NzAsIDAsIDAsIDEyMjkwLCAxMjAxNjksIDAsIDExOTg3MywgNDIxNDIsIDk5NjgsIDgyMDUsIDAsIDUxMzEsIAotICAgIDAsIDk2MjcsIDc4NTM2LCA3ODU0MiwgNzg1MzUsIDk4MzIxMiwgMTk0NCwgMTI0OCwgMTAxNDgsIDEyNzc1NSwgMTE5OTkwLCAKLSAgICAxMTk5OTEsIDEyNzAxLCA3ODM3NiwgMTEzMDgsIDExOTk5NSwgMCwgMTE5OTk3LCAxMTk5OTgsIDY1MzA1LCA2NTEwMCwgCi0gICAgNDAzMSwgNDI3OTQsIDEyMDAwMywgNzA3NSwgODE1NCwgMTE5OTg1LCAxMjAwMDcsIDQxODE3LCA3MzkzNCwgNDIyNzUsIAotICAgIDEyMDAxMSwgMTIwMDEyLCA3ODUyNiwgMTIwMDE0LCAxMjAwMTUsIDYwNDEsIDAsIDQxODk5LCAwLCA4MDAyLCAwLCA0MzY0LCAKLSAgICAwLCAwLCA2NDMzMiwgMCwgNzgxMywgOTA2NCwgMTE5OTg2LCAxMDEyNCwgNzUyNiwgODYwMSwgNzI4MSwgNzg0NTUsIDcyNzksIAotICAgIDEyMDQxLCAxNDE4LCAxMDg4NSwgMTI2NzMsIDAsIDAsIDk2NjAsIDk4MzI4MCwgMTMwMTIsIDQ1NzEsIDAsIDAsIDEyMDE2NCwgCi0gICAgMTIwNzgsIDI5NzAsIDAsIDEwOTMzLCAwLCA3Nzg3MCwgMCwgMTI3MDE1LCAwLCA0MTU5OSwgMCwgMTI4ODMxLCAwLCAKLSAgICAxMjk1MCwgOTIxNjAsIDM0ODYsIDAsIDc4MzExLCA0MjM5LCAwLCAxMjc3OTksIDY2NTExLCAwLCAyNjM3LCA2NDYyOSwgCi0gICAgODQ2MCwgMTI3MDUzLCA4NDc2LCA5ODM5NzUsIDAsIDAsIDAsIDY1NjczLCAxMDE5LCA3ODQ5NSwgNDE0OCwgMCwgMTIyODksIAotICAgIDAsIDQzMTYsIDAsIDEzMTE5LCA4NDg4LCA1NDEyLCA2NjI0MywgOTkzNSwgMCwgNzM4NjQsIDk4MzIwMywgNDE3MzQsIAotICAgIDgyMDYsIDc0MDgxLCA5MTYzLCAzMjg2LCA5MDcyLCA1ODY3LCAxMzMwMiwgNzYyMiwgNzEyMCwgNDE3MzYsIDkyNTQ2LCAKLSAgICA0MTczMSwgMCwgNzQwMCwgNTQxNiwgNjg2NjMsIDExODkyNCwgMTA4MTcsIDAsIDQxNTM5LCAxMjcyODQsIDAsIDczOTYzLCAKLSAgICA0MTg1NSwgNDE4NjcsIDY1NTY0LCAxMTI3NywgNjU4OTIsIDExNTM2LCAxMDYyMCwgOTIyNzIsIDcxMTUsIDY2MDMwLCAKLSAgICA3MzkzMiwgNTQ5OCwgNzM5NDIsIDQxNTM2LCAwLCA2ODIwNCwgOTI1ODcsIDM0NTksIDg5OTcsIDAsIDAsIDAsIDAsIAotICAgIDkyNTEyLCAwLCA2NjM3NywgNjk3ODEsIDAsIDk4MzY5OSwgNzg1MTEsIDMxNjEsIDI5NSwgMTIwMjA3LCAwLCA5MjIyMywgCi0gICAgMTI3ODU2LCA3ODc0MiwgOTAxNiwgNDM0NTQsIDYzOTAzLCA2MzkwMiwgNDM2NDEsIDAsIDM5NzEsIDAsIDcwMDYzLCAyOTUyLCAKLSAgICA3ODc2NSwgMTEwMzgsIDEwOTAxLCA2MzkwMCwgNjM4OTksIDYzODk4LCA5NDA0MywgNjY3LCAxMjMzMiwgNjM4ODcsIDYwODYsIAotICAgIDQxNzIyLCAwLCA1MTcyLCAwLCA5ODMyNzgsIDQxNTksIDAsIDAsIDk4MTUsIDYzODg0LCAxOTkzNCwgNjM4ODIsIDQxMTk4LCAKLSAgICA4NTU1LCA2Mzg3OCwgNjM4NzcsIDQyNDYwLCA2MDUwLCA0MjcwOCwgNjM4ODEsIDYzODcyLCAwLCA0MjQyMSwgMCwgNDE3MjMsIAotICAgIDYzODc1LCA2Mzg3NCwgMTE0NjAsIDc0MzIsIDE5MTMsIDQxOTEzLCA2Mzg1MiwgMTI2NjM2LCAwLCA0MjM0OCwgNzM4OTIsIAotICAgIDY3NTIsIDQ0NiwgNDE5MTEsIDEyNzkwNiwgNjM4NTEsIDYzODUwLCA0MTkxMCwgMCwgNjM4NDYsIDI5NzIsIDEyOTMyLCAKLSAgICA3MjYyLCAwLCA2Mzg0OSwgNjM4NDgsIDYzODQ3LCAxMjgwNzAsIDY1NzAsIDgzMDIsIDcyNTksIDYzODQyLCA0MTc4LCAKLSAgICAxMDc0NiwgNzI1MCwgMTMyMTQsIDEwMDQxLCA4MTA1LCA2Mzg5MiwgMCwgMTE4OTgzLCAxMTA1LCA0MTgwLCAwLCAxMjA5NCwgCi0gICAgOTQ5NywgMCwgNjM4OTEsIDYzODkwLCA2Mzg4OSwgNjM4ODgsIDU1MzgsIDk5ODcsIDAsIDExODkzMiwgMTY3OCwgMTMyNzQsIAotICAgIDU1MiwgMTIwNjU0LCA0NDAxMCwgMTA3ODUsIDAsIDExOTE3MCwgNDU1NywgNzQ0NTksIDkxNTksIDEwMTcxLCAxMzEyNSwgCi0gICAgNjM4NjAsIDU1NDAsIDYzODU4LCA2Mzg2NSwgMjgxLCAxMzI0MiwgNjM4NjIsIDc0MTU0LCAwLCA1NTM2LCA2NTU2OCwgCi0gICAgNjM4NTcsIDEzODgsIDc0MTY5LCAwLCAxMDc3LCA5ODM1NzcsIDY1MDk5LCAxMTUzMSwgNTgzNCwgMCwgMCwgMCwgMCwgCi0gICAgNDI3NzMsIDAsIDAsIDAsIDExOTIyMCwgMCwgMzY2MywgMCwgMTExMiwgMTE5MTIyLCA4Njg2LCAwLCA1MzM0LCA2NTA4MSwgCi0gICAgNDMyNDksIDc0Nzc4LCAxMjc5NjgsIDExMDc3LCAwLCA2NTA5LCAwLCA1MzI3LCAwLCAxOTkwNywgNjM4NjksIDM0NzgsIAotICAgIDc1ODMsIDc2NzksIDI5MDMsIDAsIDMwMDEsIDExNTgsIDg3NDUsIDQzNzQ2LCA3Mzc0OCwgNjM4NjYsIDc4NjI2LCAxOTE1LCAKLSAgICA0ODQ2LCAwLCA2NjM3MSwgMTE4OTg0LCA0MjEwNSwgMjk5MCwgMTIwMTI4LCA4MDUsIDY5MjM4LCA2NDQzOCwgMTIwNzAsIAotICAgIDg3NjAsIDExMTcsIDExODk4NywgMTIyMTIsIDEyMDEyMywgNjUxNzQsIDQyMzU3LCA2MzgzNSwgNjM4MzQsIDAsIDc4MjQwLCAKLSAgICAxMjIyNSwgNjM4MzgsIDYzODM3LCA5ODM4NTMsIDk4MzgwNCwgNjM4MzMsIDYwNDIsIDY2MzYwLCA4MDgzLCAwLCAwLCAKLSAgICA2MzgyMSwgNjM4MjAsIDYzODE5LCA2MzgxOCwgOTgzOTA0LCA1MjI3LCA5MDQ3LCA2MzgyMiwgMTI3MTYyLCA2MDkxLCAwLCAKLSAgICAxMDY5MSwgNTYwLCA1NjQzLCA4MjI2LCAxMTk1NzgsIDYzODEyLCA2MzgxMSwgNjM4MTAsIDYzODA5LCAyMjg5LCA2MzgxNSwgCi0gICAgNjM4MTQsIDYzODEzLCA2MDQ3LCAxNTk3LCAxMjAxNDMsIDc4MCwgMjA2LCA3NzkyNSwgNDkzNiwgNjUxNDcsIDgxNjgsIAotICAgIDYzOTMwLCAyMDc2LCAxMDkzLCA5ODgyLCA2MzkzNCwgMjA4MiwgNjM5MzIsIDEyODE1MCwgNjM5MjksIDM1NDYsIDE2MDUsIAotICAgIDc3OTM0LCA5ODA2LCA0MzQ3MiwgNzc5MzMsIDg0MDAsIDExMzQzLCAyMDg2LCAwLCA2MzkyNiwgMjk4NCwgNTk2OCwgOTI4NywgCi0gICAgMCwgNDYxOCwgNDIyMDksIDQzNDMxLCAxMzE2OSwgNTI5MCwgMjA4OSwgMTY5NSwgMTA3NDMsIDEwODgsIDYzODI1LCA3MjY4LCAKLSAgICAxMDg0LCAxMDg1LCA2MzgyOSwgMTA4MywgMTAxMzEsIDcyODMsIDAsIDYzOTcwLCAxMjgzNTgsIDEwOTIsIDQ3NTQsIDcyNzMsIAotICAgIDUyNTIsIDQ0MDE2LCA0MzYyNywgMTI3OTIxLCAwLCA3NDA4LCAxMTgwOSwgOTE3NjE4LCAwLCAwLCAyOTY1LCA3MjU4LCAKLSAgICA4ODA4LCAwLCAxMDg5LCA0MTg3LCA2MzkzNywgNDIxMTksIDQyMTIwLCAwLCA5NDAsIDU3ODcsIDEwMDk5LCA2MzkzOCwgMCwgCi0gICAgNzQ0OTQsIDEyNDYzLCAyOTk0LCAwLCAxMTg4MjcsIDAsIDk2NjQsIDc3OTM5LCA3Nzk0MCwgNjc4OTIsIDc3OTM4LCAKLSAgICA3NDM0MywgMCwgMCwgNjYwLCAxMDEyNywgNjY2LCA5MDIyLCA1NTMyLCA0MzY2NywgNTUzMywgNzc5NDEsIDc4NTA3LCAKLSAgICA2MTE4LCAyMjIsIDk3OSwgMzg4NCwgMCwgNzQxNTEsIDkyNjUyLCA2NTAyLCAwLCAxMjcxMTgsIDEyODY5NSwgNjM5NTEsIAotICAgIDEyNDY1LCAwLCAwLCAxMjg3ODIsIDYzOTQ2LCAxNzA3LCA2MzkyNCwgMTI0NjEsIDYzOTUwLCA2Mzg5NywgNjM5NDgsIAotICAgIDYzOTQ3LCA2Mzk0NSwgNjAzOCwgNjM5NDMsIDYzOTQyLCA2NDY4NSwgNjM4OTUsIDY1ODM4LCAyMjc2LCA3Nzc2LCA5NDA3NiwgCi0gICAgMCwgMTI3NzczLCAxMjA0NDQsIDY5NzMwLCA4MDEsIDQzMTY1LCAxNjkwLCA2MzkxOSwgNjM5MTgsIDYzOTE3LCAxMzI3NywgCi0gICAgNDM2NTksIDEyOTUxLCAxMjA2MzgsIDk5MDYsIDIwNTQsIDIzMzQsIDc4NTE1LCA2MzkxNiwgNTQ4MywgNjM5MTQsIDY5NzM3LCAKLSAgICA2MzkxMSwgNTQ4NCwgNjM5MDksIDYzOTA4LCAyNTM5LCAwLCA0Mzk4MCwgNTQ4NSwgMCwgNDI2OTcsIDkwNjEsIDU1MzQsIAotICAgIDEwNjcyLCA0NTAyLCAwLCAyNTMsIDAsIDY4MjA4LCAwLCA5MjAzLCA3NDIzMSwgMCwgMTE1MzAsIDkyNTQyLCA2ODY2OCwgMCwgCi0gICAgMTE4OTA3LCAwLCAxMDQ3NCwgNDM0MjYsIDEzMjU3LCA0MjM1NCwgMTI4MDk5LCA5ODM2OTgsIDcwMDQ0LCAxOTUwNjUsIDAsIAotICAgIDg0MTMsIDk4MzgxNiwgMCwgNTY5MywgNzI3MiwgMCwgMTMyMDksIDY0NDcwLCA2NTgzMSwgNzQzNTAsIDE5NTA2MywgMCwgMCwgCi0gICAgMCwgMTI2NjM5LCAxMjAwOTcsIDAsIDk0MDc4LCAxMjgxMzMsIDEyNzc2NywgNjY2MDgsIDMxMTEsIDQxODYzLCA4ODA0LCAKLSAgICA0MjkxMywgOTIxODcsIDcyNzAsIDAsIDY2NjA2LCA2NjI4LCAxMDc2LCA3NDMzLCAxNDM2LCA3Mzg0NCwgNTUyMjYsIAotICAgIDEyODM1MywgNjM5ODIsIDczOTMsIDEyODA3LCA0MzQxMywgNjM5MDYsIDE1OTgsIDYzOTA0LCAwLCAwLCA0MTcyOSwgNDQyMywgCi0gICAgMTMwNywgMCwgMTA1MTUsIDQxNTg5LCAxMjg2OTgsIDAsIDYyMTgsIDAsIDE0MzAsIDAsIDAsIDEyMDYwNiwgNzg3NTQsIAotICAgIDU0MTMsIDc2MTksIDMyNTUsIDM0OTMsIDc0MDMyLCAxMTU0OSwgMTA3MzUsIDQxNzQzLCA3MzkzNywgNjgwMSwgOTgzNjMzLCAKLSAgICA0NTE4LCAxMDk5MCwgNjUwNzMsIDUxNjcsIDQ0ODEsIDM3NzEsIDEyMDE1OCwgMjcxMCwgMCwgNjkyNDMsIDQxNzI0LCAwLCAKLSAgICA0MzA3MywgNDE2OTAsIDEyNDc5LCA5ODM2MzUsIDAsIDAsIDk4MzgxOCwgNzAwNDYsIDE2MjgsIDEyNzE0OSwgOTgzNDg3LCAKLSAgICA5ODM3MzEsIDY1MjYyLCA2MzMzLCAxMDc4MywgNDIzMTUsIDAsIDYzODU1LCA5NDA1NiwgMCwgMCwgNTMzOSwgNzQzMjMsIDAsIAotICAgIDEzMDA0LCAwLCA0NDU3LCAwLCAwLCAxOTQ4MTgsIDAsIDU2ODQsIDg2NzgsIDEwOTE0LCAwLCA1Njg5LCA2NTgwNywgMCwgCisgICAgMCwgNjEzNCwgNDEyNDYsIDY0NDAyLCA5ODMxNDcsIDY5ODk5LCAwLCAwLCAwLCA0MTM4MiwgMCwgMTI4NjUzLCA1MTczLCAKKyAgICA2NTM0OCwgNTI3LCAwLCAxMTM3ODIsIDkyNjEyLCAxMjgyNTAsIDc4Nzk3LCAxMTkxNSwgMCwgMCwgMTAwNzIsIDAsIAorICAgIDQyNjk1LCAyMzI5LCA0MjI1MCwgMCwgMTExODcsIDY5NjY3LCAxMjI0NSwgMTU2OCwgOTQwMzMsIDAsIDAsIDExMzcwNSwgMCwgCisgICAgMTEyMDEsIDkyNzA4LCA3NDc2OSwgMTI2NDcwLCA2NzY4MCwgOTA2OSwgNjE0NCwgMCwgMCwgNzM4MjIsIDAsIDEyODAxMCwgCisgICAgNjQ5MTcsIDQxNTIxLCAxMTg5MzQsIDQ5NCwgMTMyNTAsIDkyMjUwLCA2NTA5OCwgNjM2NCwgOTU2LCAxMTM3OTIsIDEyODMwLCAKKyAgICAxMDQ2MiwgNzM3NDAsIDczNzM0LCAwLCAwLCAwLCA2NjQ0OSwgMTMyNjMsIDc0MjgxLCA2OTIxNywgMTMxNzEsIDEyNzc5NiwgCisgICAgMCwgMCwgNjM4ODUsIDEyODUyOCwgMTA0NCwgNDEyNzYsIDEyODM2MywgMCwgMCwgNDIwNjgsIDExNzk1LCAxMjQ5ODUsIDAsIAorICAgIDAsIDAsIDQyNDUwLCAzOTA3LCAwLCA2NDUyNiwgMTE4MjksIDY4MTk3LCAxMjI5NSwgMCwgMTE0NzUsIDcwMzI5LCAzMDIwLCAKKyAgICAxMTUzNywgMCwgNjY0NDEsIDEyMDc2MSwgNzA5OCwgMTI1MDcxLCAwLCAxMDU3LCA1NjYsIDQyNjk2LCAwLCAzMDE2LCAKKyAgICA0MjI3NCwgNDM0NjQsIDY2NDkwLCAxMjkyMSwgNjY1NzEsIDc4NDcyLCA3MTIwNywgMzAwNiwgNDYyMCwgMTI3MjM3LCAKKyAgICA5ODMzMjgsIDAsIDAsIDY0NjU5LCAwLCAxMjc3NDksIDU1MjUzLCA2MzU3LCA2MzYyLCA4NjI2LCA3MTMzNywgMjIxNiwgCisgICAgOTA5MCwgNjUzNzcsIDQxNTk2LCAwLCA0MjkyMCwgMTY5OCwgMCwgNjQ0NzcsIDAsIDQzODEzLCAxMDUzLCAwLCA3ODI2OSwgCisgICAgMCwgOTI5NzcsIDEwNTIsIDEwNTEsIDQ1OSwgMTA2MCwgNzQzNDksIDY2NDc5LCA2NzY4OSwgNjY4NzEsIDAsIDcwMzI3LCAKKyAgICA0MjQ5MCwgNjg5LCA2NTA4LCA0MTYzLCA0MjI5OCwgODYzOSwgNjY2NDEsIDQyNDYsIDAsIDQzNTE0LCAxMjEzMCwgCisgICAgOTgzNjIwLCA0MjMzNywgNjQ1OTYsIDY0Mzc1LCA2NjQ4MSwgMTI3ODUwLCAwLCAwLCA2MzU5LCAwLCA0MzQ3MSwgOTgzNzY4LCAKKyAgICAwLCAxMjAzNzksIDEyNzI3NCwgMCwgNjM1OCwgNjM2MSwgMTkyNiwgNjM1NiwgOTI2MjcsIDc4OTgsIDgxMTAsIDEwOTM1LCAKKyAgICAwLCAxMDA2OSwgNTgzMCwgMTI3NzczLCA0MzY4NSwgNzQzMDcsIDAsIDQyOTEwLCAwLCA4NjkzLCA3ODYxMSwgMTE5NTY1LCAKKyAgICAxMjg2MjEsIDEyMDQxMywgOTIxOTIsIDEyNzI1NywgNjU4OTQsIDk4MzU2NiwgMCwgNjQyOTYsIDk4MzkyMywgMCwgMCwgCisgICAgMTE5MTg3LCAyMTM1LCAxMTgzNiwgMCwgMCwgNzg4NjksIDQyMzEzLCA1NTc5LCA5MjQxMiwgNzAzODQsIDEyOTExMywgCisgICAgNDM4NTQsIDcxOTEzLCA1NTc4LCAxMTg0MCwgMTI4MTE1LCA0MjAyMywgNjIzNCwgNTY2OSwgOTIyNzUsIDAsIDEyODQzOSwgCisgICAgMCwgMTI3NTA2LCA2ODIwMiwgNTU4MywgMCwgMCwgNDI0MjYsIDU1ODAsIDQyMjc2LCAyOTIzLCA4OTIsIDIyMjAsIDQyNDY1LCAKKyAgICA0MTMzMCwgMTk0OTg3LCA1Nzk1LCA2NTUxMiwgMTE5MDA2LCA2NTcwMiwgMCwgMTIwODAxLCA2NTI1MSwgNjgyMjgsIAorICAgIDY1NzEwLCAxMjgzOTksIDEyODQyOSwgNjc2NzIsIDAsIDUzNzAsIDcwNDY1LCAyOTMxLCAxNjM4LCAxMDk2NiwgMTAxODgsIAorICAgIDY1ODc4LCAxMTg4NDgsIDAsIDY5Njk0LCA2OTg3OSwgNzQ1ODUsIDgxNzIsIDQyMDE3LCA5Mjc1NiwgMTA4NDQsIDAsIAorICAgIDEyODE5NSwgOTI0MjQsIDYzNzQsIDExOTk5OCwgMTI4NjkwLCAyODYsIDc4MDIzLCAxMDYyLCAwLCAxMTk5OTksIDAsIAorICAgIDczOTUsIDEyNzc4MywgMTA3MCwgNjQ5MDAsIDcxNTMsIDYwOTUsIDQxODY1LCAwLCAzMDE1LCAxMjgwMjMsIDEyNjQ2NSwgCisgICAgNTIxMSwgOTgzMDgzLCA2NDAwLCAwLCAxOTQ5ODMsIDcwMDU0LCA4MTg5LCAxMTI3NiwgMCwgMCwgMzcyLCAxMjg4MjksIDAsIAorICAgIDExMzc4MywgNDIxMDIsIDQxNTg1LCAxMjgyMDIsIDAsIDQyMTAxLCAyNzYsIDc4NDAyLCA2NzQyNywgMzMsIDY3NDI1LCAKKyAgICA2NzQyNCwgOTAwNywgNjc0MzAsIDQxNTg4LCA2NjAzMywgNDI3LCAxMDc2MywgMTE4ODE5LCA3MDg3MiwgMTI3ODg0LCAKKyAgICA5ODM5NDMsIDEwMzEsIDYyNTcsIDAsIDQyMTA0LCAwLCA5ODM5ODAsIDIzMjgsIDY2ODM3LCAxMDcxLCA0Mjg5OSwgCisgICAgMTI1MDg4LCA3NDg0OCwgMCwgMTEzNzkzLCAxOTQ5ODEsIDEwNDcsIDAsIDE5NDk0MywgNDI5MDgsIDEyODQ4MCwgNjk3MjMsIAorICAgIDEwNjUxLCA3MDM1NiwgMCwgMTI1MTEzLCA3MjQzMywgNjY4MjksIDcwODE3LCA1NzExLCA0MTYzMywgMTIwOTgsIDY1NTcxLCAKKyAgICA5MTY2LCAwLCA1NzEwLCAxMjg1NTEsIDY3OTAsIDY1MTY4LCAxMzIxNiwgMCwgNjk3MTYsIDY5NzI2LCAwLCA2NDYxMSwgCisgICAgNDE2MjMsIDE5NTAwMSwgNTcxNSwgNjk2NTQsIDcxOTE1LCAwLCA1NzEyLCAyNzYxLCA0MTYyMCwgNjgxMjQsIDMwNzQsIAorICAgIDU3MjIsIDAsIDg2NDMsIDY4NTI1LCAwLCAxMTg5MDYsIDI3NTcsIDExMDY3LCA5NzE4LCA2NjQxOSwgODkxMCwgMTA2ODksIAorICAgIDY0NzksIDAsIDAsIDcxMTczLCA3ODYwNywgOTE5NiwgNjk2NzAsIDEyNTA3MCwgMCwgMTI4MzM4LCAwLCAxMTg5MTEsIDAsIAorICAgIDExMzY4MiwgMTI5MTk0LCAwLCAwLCAxMjAwMTAsIDczNzk1LCA4NzAxLCA2ODEzMCwgMTE5NjE2LCAxMjA1MjIsIDAsIAorICAgIDQyNDc3LCAxOTQ5OTQsIDEyMTIzLCA0NDk1LCA0MzU2OSwgMCwgMCwgMCwgNjQ5NDYsIDEwOTkyLCAwLCAxMjAwMDksIAorICAgIDcwMzM2LCAxMTM2ODgsIDkzMTgsIDkzOTg2LCAxMzI0OSwgNDI5MDIsIDczODA4LCAwLCA2NTQ1NywgNDIyNDksIDc2MzksIAorICAgIDQzOTk1LCA2Nzg0NSwgNDI2NDEsIDU0NTQsIDAsIDAsIDcwMzY2LCAxMjAwMDUsIDExOTU4NSwgOTgzOTY2LCA1MDg0LCAwLCAKKyAgICAwLCAxMTg4NjEsIDAsIDczMywgNzQ2NDYsIDc4MDE0LCA3ODQzNiwgNzg0MzUsIDExMjA0LCAwLCA5MjE4LCAxNzMxLCAwLCAKKyAgICA5MjkzNywgNzEwNzAsIDY3OTkwLCAwLCAwLCAwLCA3MDMyMywgMTI3MDE4LCA5MjQ5MiwgNTE1NSwgMTIwMDAwLCA1MzU4LCAKKyAgICA5ODM3NDQsIDAsIDkxNzc2NywgNjQ0MjQsIDcxMjM2LCAzODQwLCA2NDMxNCwgNDE0MzIsIDAsIDc4MzE1LCA2ODQzMCwgCisgICAgNjc5ODAsIDQzMjUzLCA2NTk0MywgMCwgMzM3MSwgMTA5ODgsIDEyNzk2MCwgODc3MSwgMTQ3OSwgMCwgMCwgMTEwOSwgCisgICAgMTE1ODAsIDQzNjU3LCA2NDYwMSwgMTIyMDUsIDkyNzgyLCAwLCA2NDUwNywgODg2OCwgMzk5LCA2Nzk3OCwgNzQ4NDIsIAorICAgIDk4MzI4NCwgOTgzNzIxLCAxMjE0OSwgMTMwODgsIDU1MSwgMCwgMTAxNTYsIDEyMTE5LCA5MjU3MiwgMTE4OTE2LCAyNTQ0LCAKKyAgICA2NTA3NCwgMTE5MjExLCA5ODMyOTYsIDAsIDc4MDExLCAzNTEsIDc4MDEzLCAwLCAxMjg3MTMsIDU1MjI5LCAwLCA3NDI2OCwgCisgICAgNzgwMDgsIDEyODA5NCwgMCwgNDIzNzcsIDAsIDAsIDAsIDExMzc2NywgNzQzMjAsIDkwMTMsIDQwNTQsIDAsIDE5NDU4MCwgCisgICAgMTEzNzQwLCAwLCA3Mzk2MCwgNTU4NSwgNjU4ODEsIDI1NDksIDc0NDY5LCA3NDQ1NywgMTExMDQsIDU1ODQsIDgzNTgsIAorICAgIDEyODk3NSwgNjQyMTUsIDY2ODY0LCAxMDkxOSwgNzEyMDgsIDc5ODAsIDEyNjYwMSwgMTEzNjk4LCAyMjE4LCA0MTgwMCwgCisgICAgNTU4OSwgMCwgMjY2NCwgNDE2MTMsIDU1ODYsIDExODg5MCwgMCwgMTEzNTYsIDAsIDAsIDQzNDUyLCA2NzI0NSwgOTI5OTMsIAorICAgIDQyNTczLCA2Njg3OSwgMCwgNzgxMjksIDY5NzY3LCA3ODc1MiwgNzQzOTIsIDgxMzUsIDY0NTAsIDEwMDU1LCA3Nzk5NiwgMCwgCisgICAgMCwgMTE5MjI1LCA1NjU3LCAwLCA5NjI2LCAwLCA3Nzk5NCwgMTAxNzksIDU2NTQsIDEyOTM5LCA5MjU3MywgMTIwNzk5LCAKKyAgICA3MTg2MCwgMCwgNTY1MiwgMTA5NDUsIDkxNzkyNywgNjY0ODYsIDAsIDM2NjEsIDc4NjMsIDAsIDAsIDAsIDcwMzMyLCAKKyAgICAxMjcxOTQsIDU2NTksIDAsIDc4NjkyLCA2NjcyOSwgNTY1NSwgOTgzNjI2LCA0MjE2OCwgMTk0NTgxLCAxMDU1LCA3MTE3MSwgCisgICAgNzE4ODgsIDY2MzEwLCA3NDAzMCwgNzA1MTYsIDEyMTQ2LCA3MDM2MiwgNzM5NTYsIDExNjE4LCAwLCA0MjcyMCwgOTI5NDksIAorICAgIDEwMjcyLCAxMDMwNCwgMTAzNjgsIDQyNTE4LCA1OTQsIDEwMjQ0LCAxMDI0OCwgNzQwNywgOTgzODg3LCA2NDg3MCwgCisgICAgNzQxOTEsIDM0NjcsIDcxMDczLCA3ODgxLCAzMzMxLCA5NDYsIDEwMjMxLCAxNDk1LCA4MTMxLCA3NDMzMCwgMCwgOTU2MiwgCisgICAgNjkyMjIsIDY1OTI3LCAwLCA3MDAzNiwgNjk2OTYsIDY5NzY5LCA2NDY1NiwgOTgzNzI2LCAwLCA5NDAyMCwgNzAwNTYsIAorICAgIDU2NjYsIDY1MjI3LCA1MzE4LCA2Mzk5NCwgMTE5NTk2LCA5MDkxLCAxMDc5OCwgNzg2NjQsIDc4NTA4LCAxMDE4NiwgMCwgCisgICAgNzczMiwgOTgzNzI0LCA2NDU1NiwgMCwgOTgzOTc5LCA1NjY4LCA3NDQ0NSwgMCwgNzQ2NDUsIDU2NzAsIDExMzc5NSwgCisgICAgMTI3Mjk3LCAxMTgyMCwgMjk5MiwgNzgyNiwgNTY2NywgMTk5NTIsIDEyMDgwNywgMTEzNzY2LCAxMjc0OSwgNzQ1NTEsIAorICAgIDY3NzU3LCAwLCA2NjQ5NiwgNDM2MSwgMTE5MjYwLCAxMzA2LCA5Mjg2LCAxNDk3LCAxMjgyODYsIDk0MDA0LCA3MDM1OSwgMCwgCisgICAgMzU3MSwgMTMyNDcsIDU4NzQsIDc5NzMsIDY2MzUzLCA2ODQzNSwgNzgyNzgsIDY3ODk2LCA0MzE5MiwgNzQ2MjEsIDc4MjY1LCAKKyAgICA1NTMsIDExMzc2OCwgMTI3MDEyLCA5MzA1MywgNTgyOSwgMCwgNDU4NywgNzgyODUsIDY1OTEyLCAxOTQ5MTksIDEyNzQ2LCAKKyAgICAwLCA3MDMzOCwgMTE5OTI0LCA1NjMzLCAxMTk5MjcsIDc0MjU5LCA5NDEwMiwgOTQwOTksIDY0OTA1LCA5NDEwNSwgOTUxMiwgCisgICAgOTQxMDMsIDEyNzQyLCA2NDQzLCA5ODM4MDYsIDAsIDkxMzUsIDEyODg2MywgNDE1NjQsIDAsIDU1MjE5LCAxMjg4MzIsIAorICAgIDk4Mzg1MSwgMCwgMTIxNDgsIDAsIDc4Mjk3LCAwLCA2NDI1NiwgMCwgMTE2NjksIDAsIDU2MzQsIDQ1MjQsIDAsIDEyNDkzNiwgCisgICAgMTI4MzkwLCAxMTg4ODAsIDI0MjUsIDY1MTgyLCAxMjg3NjksIDQzNjM2LCA1MjIxLCA3ODQxMCwgMzI4LCAwLCA5ODM4MDksIAorICAgIDY5ODE1LCA1NjM2LCAxMTk5MTcsIDUzMjksIDAsIDU2MzgsIDExOTkxOCwgNzk0MCwgNjQ5MzgsIDQzMjIzLCA0Mzc2MCwgCisgICAgNTYzNSwgMzM3MywgMjk4NiwgNzgyOTIsIDc0MjIzLCAzNDM3LCA3ODI5MSwgNjIwMywgNDI0NywgNzExNjksIDExOTIwLCAKKyAgICA4Mjc0LCA2ODI0MCwgOTgzNjU4LCAxNjU3LCA0MTU2MSwgNzgyOTksIDc4Mjk1LCA1NjM5LCAyOTU0LCA1NjYwLCA1NjQwLCAKKyAgICA3ODMwMywgOTgzNjg1LCA3MTE3OSwgNDIyMjcsIDY4MzAxLCAwLCA0MTYzNywgNjc4NzIsIDE5NDgxMywgNzgzMTAsIAorICAgIDQxNjI1LCA0MzM2MiwgNzgzMDksIDEyMDcxMywgMTE3MDUsIDU2NDIsIDAsIDU0ODYsIDAsIDQzNTYsIDExNzEwLCAwLCAKKyAgICAxMjA1MSwgNjk5MzgsIDAsIDU2NDEsIDgyNTksIDAsIDEwNTgsIDAsIDY3NjMwLCAwLCAwLCAxMTQ0LCA3ODc1MCwgCisgICAgMTI3MjkzLCA0MjIyOCwgOTgzNzE0LCA3Mzg5MCwgMTE4OTcyLCAxMjczNTIsIDI4MDAsIDAsIDU2NDUsIDY0OTY0LCA4NjUyLCAKKyAgICAyNTQ3LCA2NjQ4NCwgNDM2MzQsIDAsIDU2MDgsIDY1ODkwLCA0MzgwOCwgMCwgNjc2MjEsIDY0OTMyLCA5MDAwLCA3MTIwNCwgCisgICAgNjcyMzUsIDkyNjczLCAxODY1LCAxMjg3MDYsIDU2MTMsIDY2NDAxLCAwLCAwLCA1NjEwLCAwLCA3MTE5OSwgNjU4MjYsIAorICAgIDIwNjksIDAsIDEwNzg3LCA0Mzk5OSwgMjk5NywgMCwgNTYwOSwgNzgzMTYsIDY1MzE5LCA3ODMxMywgMTIzMTYsIDU4NzUsIAorICAgIDI0MTIsIDAsIDgxODYsIDk4MDcsIDc0MjY5LCA2NjI5NCwgMTMxMzAsIDY1ODc0LCAwLCA1ODA3LCAxMTM2NzgsIDEwMDMwLCAKKyAgICA1MzA2LCAxMjM2NCwgMTE4ODYzLCA5Mjk3MCwgMTE3MDQsIDAsIDkyNTgzLCAxMDIxMSwgMCwgMTIwNTc5LCAwLCA5ODMyMDIsIAorICAgIDExNzA2LCA5NzEwLCAxMjUwMjIsIDAsIDEyMDY1NSwgNDEzLCA2NTYyMywgNzExOCwgOTgzOTQ5LCA5MTMzLCA3NDI2MiwgMCwgCisgICAgMTA0MiwgMCwgNjQ3NzksIDEyMTcxLCAxMTkyNDAsIDYxODUsIDY0Nzc2LCA0OTg0LCAwLCA3MDgsIDExMzkxLCAwLCAKKyAgICAxMjI0MSwgOTI3MjAsIDk4Mzg5OSwgMTMwOCwgMTk0OTkyLCAyNTM0LCA4MTAsIDAsIDAsIDEyODAxNiwgNzE4NDksIAorICAgIDcxODY5LCAxOTE3LCAzMDAwLCAxMjUxNDAsIDEyMDE4NCwgMTIwNzM5LCAyMzY0LCA2NjM4NywgNzQ0NzAsIDY2NjE4LCAKKyAgICA2NTY4MCwgNjY0MTEsIDEwMDI3LCA3MTg0MSwgMTI4MTU0LCAxMjMzNywgNzQyODMsIDEyNzM2OCwgOTgzMTY3LCAyOTgwLCAKKyAgICA3NTUsIDY5Nzc0LCA5MzEsIDEzMTI0LCA2ODE4MiwgNjM2MywgMjc0OCwgMCwgMCwgNjUwNDEsIDkyMjc2LCA0NDAxMSwgCisgICAgODczMCwgMTk0OTk3LCAxMjc4NTQsIDc4MzEyLCA3Mjc0LCAxMTkyNTAsIDAsIDcyNzUsIDc4MzA0LCA5MzUsIDAsIDY1ODQwLCAKKyAgICAzNzcsIDQyMzI1LCAxMTY0OSwgMTI3MzYzLCA2NTI1MywgNjQzMDEsIDEyODgzNSwgNzgzMDgsIDQyMzQxLCA2NTI4NCwgCisgICAgMjQxNywgMCwgMTI4ODQsIDE5OTEyLCA3OTA3LCAxMDc2OCwgNzgzMDAsIDE5NDk5OCwgMCwgMTA2NzMsIDExOTIxNywgCisgICAgNzI0OCwgMCwgNDM1MTUsIDE3ODEsIDU0OTYsIDM2MjcsIDYyLCAxNjQ5LCA2Nzg3NiwgOTY0LCAwLCA2NjQwMywgNzgyMjYsIAorICAgIDY2MzkzLCA5Mjg5NywgNzAzNTUsIDY2NDA5LCAwLCAxMjc1MzQsIDQzNjg5LCAxMjc5MTEsIDEzMTQyLCA3ODgxMiwgCisgICAgNDI0MTUsIDY2NTc1LCA0NTQyLCA2OTkwOSwgNDM1NDcsIDAsIDAsIDc2NzcsIDI5OTEsIDQ5NDYsIDQyNDU0LCAxMTU2NSwgCisgICAgNzk0OSwgMCwgNjk3NTksIDExMzQxLCA0MjQ5NCwgMzA3MywgNjU2MjUsIDk3MTQsIDExNjkyLCA0NjU3LCAwLCA3MDgxMCwgCisgICAgNjQ3OCwgOTg5OCwgNDM2NzMsIDY1MjM3LCA2MjQxLCA3MTA2LCA0ODc3LCAxMjkxMDgsIDYyMzgsIDAsIDEwNTQ4LCAKKyAgICAxMjcwNDksIDQ0MDksIDAsIDAsIDY0Nzk4LCA3MDgwNSwgNTM0NiwgMTI4MjQwLCA5NDA0NywgNjIzNywgNDg3NCwgNjY4NTEsIAorICAgIDkxNzYsIDkyODgyLCAxMjY1NTMsIDY1MjMxLCA2NTg4NCwgMTI2NzgsIDc4NzQ4LCAxMTg5MTIsIDExMzc4LCA0NDAxOCwgCisgICAgNDI3ODUsIDI0MDgsIDMyNTEsIDExMjAzLCA5ODMxNTksIDU2ODUsIDAsIDI0NjEsIDExMDUyLCA3MDkxLCA1MzQyLCA4MzE3LCAKKyAgICAwLCA2ODE2MywgNTM0MCwgMTIwNTU5LCAxMjc4MjAsIDQzNjM1LCA3MzkyOCwgMTI3NTI5LCA3MTA2OSwgMTI4Mzk1LCAwLCAKKyAgICAxMjg1MTAsIDY1NDgyLCA5ODM1ODAsIDkxNDIsIDAsIDY4NTA2LCAwLCAxMDkzOCwgMCwgMTE4NzkwLCAxMTgyLCAyNTQyLCAKKyAgICA0ODI2LCAwLCAwLCA3MjQzOCwgNTI5LCA4NTgwLCAwLCAwLCAxMDU4NiwgMTA3OTAsIDEwODM5LCA2NjAyMywgNDE1OTMsIAorICAgIDQxMjA3LCAwLCA5ODM4MjUsIDQxNTk0LCAyMjUsIDQyODI4LCAwLCAwLCA5ODM5MzgsIDExMzc2LCA3NDM3OSwgMTA3MjEsIAorICAgIDY3NjY0LCAzNDM4LCA0MjA5NywgMTI3MjY3LCAxMTA4NCwgMzE5NCwgNDE4NzAsIDI2NiwgNzgzMDUsIDEyMDE4MywgCisgICAgNDE4NzMsIDEyMDU3NSwgMTEzMjQsIDEyMDUzMSwgMCwgODQyMCwgNjQ5MTgsIDEyODgzOSwgNDE4NzEsIDQxMzM4LCAzNzM0LCAKKyAgICA3NzM0LCA0MzY4MywgODc1MCwgNjY2MDUsIDY2MDExLCA5MjUxNCwgNDA5NjUsIDEyNzkzNywgMCwgNTE2MSwgMTA1NzIsIDAsIAorICAgIDQyOTA2LCAwLCA2NDM0OSwgNzI4NywgNDIxNjIsIDEyMDQwNiwgOTgzNjQzLCAxMjY2MDUsIDExMTY3LCA2OTIyMCwgCisgICAgMTIzNTksIDQzNDI5LCA0MTM2OSwgMTY5NywgMTIxOTEsIDAsIDY4NjMzLCA3Mjg2LCAwLCA2ODYzNSwgMTAwMzEsIAorICAgIDEyNTA1OCwgOTg3MCwgNjc3MjYsIDg2MjAsIDY1ODI0LCAwLCAxMTkzOCwgMCwgNzI4NSwgOTgzNTU3LCAxMTk1NzcsIAorICAgIDQyNjc4LCA2Njg0MiwgNDM2NzcsIDQxNTgzLCAwLCA2NTc5OSwgOTI2MjMsIDAsIDEyOTE2OCwgOTgzOTM2LCA3ODE2OSwgCisgICAgNjYxOTksIDAsIDM2MDksIDY4NjI0LCAwLCA4MzIsIDEyMDY5MywgMTIwNzcwLCA3ODQ3MywgNjYwMDcsIDc4NDcxLCAKKyAgICA2NTcwMywgNzEyNTYsIDEyODUxNywgNDI3MzIsIDUxODAsIDkyNjk5LCA0MTM5NSwgNDE1MzAsIDExNjkxLCA2NDc3MywgCisgICAgOTIyMTQsIDc0MDAyLCAwLCAwLCAxMjg2NDUsIDYzNDgsIDI0MywgMTMyMDAsIDk4MzgxMywgNjAyNCwgOTIzMDksIDk5NzksIAorICAgIDEwMDM3LCA0MTUyOSwgMTA2NDgsIDg1MzgsIDQzNjg3LCAwLCAwLCA0Mjg1LCA2NjE5NSwgMCwgNDIzMCwgOTI4ODYsIAorICAgIDczNjcsIDQzMjU2LCA5MjM1MywgNzU2MywgNDIzNzYsIDAsIDY4NDQyLCAxMjA1MTIsIDAsIDAsIDIxNCwgMTI4NTc4LCAwLCAKKyAgICA3NDg1NiwgNjU4OTMsIDEyMjA4LCA5OTczLCAxMjgzODYsIDY2MzExLCA2NTU4OSwgMTI4Mjc3LCAyNjAzLCAwLCA3MDE1NSwgCisgICAgMCwgNzAwNDcsIDAsIDYwMjIsIDAsIDI4ODQsIDAsIDExNjIwLCAwLCA0MywgMTk1MDIwLCAxMjY4MiwgMTAxNiwgNDExMDcsIAorICAgIDAsIDQxMTIxLCAzODg1LCA5MiwgNjU0NTYsIDY0NjA4LCAwLCA3NDgwMSwgNzA4NTUsIDIwNzQsIDExMzc0MiwgNzgyODMsIAorICAgIDAsIDEyNDUzLCA3MDg0NywgOTgzODI2LCA3NDI0MSwgMTI2NTY4LCA2NzkxLCAxMjQ1NywgNzgyNjgsIDAsIDY2Mjc4LCAwLCAKKyAgICA3ODI3OSwgMCwgMCwgOTIzNTgsIDY2NjM3LCA3OTk1LCA4NzU5LCA0MzQyMSwgNzgyNzcsIDEyNDQ5LCAxMjg1NTIsIAorICAgIDcxMjI0LCA0Mzg2OCwgODc1MiwgMzE5NywgNDcyMCwgMTAxNjUsIDAsIDExOTI0OSwgMTEzNzE1LCAxMTU5NSwgNjQ4OTMsIAorICAgIDExODkwNSwgNDM0MzUsIDEyNDk2NCwgMTI1MDMwLCA0OTkzLCAwLCA2MTY4LCAxMDkzNCwgMTk0NiwgNzQxLCAwLCA1NDk0LCAKKyAgICA0NjM5LCAxMjc1NTksIDE5OTAsIDExMTA3LCA0NDk4LCA3NDE2OSwgNjc3MzYsIDAsIDEyNzI3MiwgNjk3MzQsIDI5NjAsIAorICAgIDczNzc5LCAwLCA4OTY5LCAxMjgxMTcsIDQzNDI0LCA3Mzk1OSwgMCwgMjk1MCwgMTE5NTc5LCA2MjEwLCA2NTc1MywgMzcwLCAKKyAgICAwLCAwLCAwLCA0OTUzLCA5ODM2ODIsIDk4MzcwMSwgMCwgMCwgNjkyMzAsIDAsIDAsIDY1Njg4LCA5ODMyNDYsIDUwNjMsIAorICAgIDM1MTcsIDI5NjQsIDQzNjYzLCA5MTc3NjIsIDYzNDQsIDc0NzkxLCAxMDU2NiwgMTAxNDQsIDY2MzMzLCA4MjUyLCA3MjksIAorICAgIDY2MDE2LCA3ODI1MywgMCwgNzEzMTcsIDY0OTIzLCAxMjA1NzEsIDQzNjY5LCA5MDMyLCA3ODI2MywgNzgyNjQsIDAsIAorICAgIDQxMjE1LCAwLCA2NTg4MywgMCwgOTE3Nzc0LCAxMjA2MDIsIDM3NjEsIDAsIDAsIDcwMDY4LCAxMjA0MDgsIDEyOTEyLCAKKyAgICAxMTkwMTIsIDM4NTAsIDEyODE5MSwgMCwgMTI4Mzg5LCAwLCAwLCA5MDgsIDAsIDg2MTEsIDAsIDAsIDc0NjQyLCA0MzY5MSwgCisgICAgNDExOTcsIDAsIDg5NzgsIDEyMDU0MCwgMTE5MTM1LCA0MTU4NiwgMTA1MjcsIDcxMDc5LCA5MTc4NDgsIDM4NDgsIDc4NzM5LCAKKyAgICAxMTM4MDAsIDEyNzUzNiwgNjUyNDEsIDUzMzYsIDk4MzI1OSwgMTI4Nzg2LCA2NjMsIDAsIDEwNzgwLCAwLCAwLCA3ODc2NywgCisgICAgOTgzMjU3LCAxMjcxNjMsIDY4MTkzLCAzNDcsIDAsIDk4MzA4NiwgNzg3NzUsIDY0Njc1LCA0MTU4MiwgNzg3NzQsIDc4NzQ0LCAKKyAgICA2NTU3OSwgMTI5ODAsIDc4NzY5LCAxMjE0MywgNjk2NTcsIDc4NTEyLCAxMjg0OTMsIDExMTUzLCA0MTgwNCwgNzg1MjMsIDAsIAorICAgIDc4NTI1LCAwLCAxMjg4NTksIDQxNTg0LCAxMDY4MSwgMCwgOTgzNjk1LCA3MzkzOCwgNzM3ODEsIDEyODAyMiwgNDgwMCwgCisgICAgNjY2NjEsIDAsIDY2MzA2LCA2NDcxNSwgNjYzODQsIDk1MTgsIDY2MDksIDEwNDM0LCA3MDg0NSwgMTEzMTksIDEwOTcsIAorICAgIDEyODk2NCwgOTE3ODUwLCA0MTczMCwgMTI5MTgxLCAwLCA3Mzg0NywgNzg3NjEsIDY1MTcyLCA0MTcyOCwgNDE3MjEsIAorICAgIDkxNzkxMSwgMTk0NzY5LCA5ODM3OTUsIDQxMjAzLCA5MTc2MTIsIDEzMTEwLCA0MTcyNiwgOTgzODU1LCA2NzA3NywgMTAwMCwgCisgICAgNjk2NTEsIDAsIDQxMTQwLCAxMjA5LCA3Mzk3OCwgMTI1MDU5LCA3Mzc1MCwgMTA3MywgNjMyMSwgNzc4NzgsIDQxMTM4LCAwLCAKKyAgICA2ODIxMywgNzgwMDAsIDEyMTY3LCAxMTE1LCA0MTYwNSwgOTc5NCwgMTI3MDYyLCA2NzY3MSwgNTUyNDgsIDEyMjM3LCAKKyAgICA3ODc4NywgNjYzMTQsIDY1ODcsIDkyOTAsIDc4NzgyLCA3ODc4MywgOTIzMSwgNzg3ODEsIDI5NTksIDc5MjYsIDAsIAorICAgIDk4Mzk0OCwgMTI4ODMzLCA2NDM5OCwgMCwgMTE5OTcwLCAxMjMxMSwgMTE5MTgxLCA3ODc5NiwgNzg3OTgsIDc4Nzk0LCAKKyAgICA3ODc5NSwgNjg0MzQsIDc4NzkzLCA2NjY3MCwgMTEzNzk3LCAwLCAxMjI5MCwgMTIwMTY5LCAwLCAxMTk4NzMsIDQyMTQyLCAKKyAgICA5OTY4LCA4MjA1LCAwLCA1MTMxLCAxMTM2OTQsIDk2MjcsIDQzNjQ2LCA3ODU0MiwgNzg1MzUsIDk4MzIxMiwgMTk0NCwgCisgICAgMTI0OCwgMTAxNDgsIDEyNzc1NSwgMTE5OTkwLCAxMTk5OTEsIDEyNzAxLCA3ODM3NiwgMTEzMDgsIDExOTk5NSwgMCwgCisgICAgMTEzNzAyLCA2NjgzNiwgNjUzMDUsIDY1MTAwLCA0MDMxLCA0Mjc5NCwgMTIwMDAzLCA3MDc1LCA4MTU0LCAxMTk5ODUsIAorICAgIDEyMDAwNywgNDE4MTcsIDczOTM0LCA0MjI3NSwgMTIwMDExLCAxMjAwMTIsIDc4NTI2LCAxMjAwMTQsIDEyMDAxNSwgNjA0MSwgCisgICAgMCwgNDE4OTksIDk4MzI4NiwgODAwMiwgMTI4MzY3LCA0MzY0LCA3MzczMiwgMCwgNjQzMzIsIDAsIDc4MTMsIDkwNjQsIAorICAgIDExOTk4NiwgMTAxMjQsIDc1MjYsIDg2MDEsIDcyODEsIDY4MjQ2LCA3Mjc5LCAxMjA0MSwgMTQxOCwgMTA4ODUsIDEyNjczLCAKKyAgICAwLCAxMjkxMjMsIDk2NjAsIDk4MzI4MCwgMTMwMTIsIDQ1NzEsIDkxNzU4OCwgMCwgMTIwMTY0LCAxMjA3OCwgMjk3MCwgCisgICAgMTI5MTIyLCAxMDkzMywgMCwgNzc4NzAsIDAsIDc3ODQxLCAwLCA0MTU5OSwgNzAxNTksIDEyODgzMSwgMCwgMTI5NTAsIAorICAgIDkyMTYwLCAzNDg2LCA5ODM5NzMsIDc4MzExLCA0MjM5LCAwLCAxMjc3OTksIDY2NTExLCA5MjczOSwgMjYzNywgNjQ2MjksIAorICAgIDg0NjAsIDY2ODM0LCA4NDc2LCA5ODM5NzUsIDAsIDY4MzEyLCA3ODQ4OSwgNjU2NzMsIDEwMTksIDc4NDk1LCA0MTQ4LCAwLCAKKyAgICAxMjI4OSwgMCwgNDMxNiwgMCwgMTMxMTksIDg0ODgsIDU0MTIsIDY2MjQzLCA5OTM1LCA5Mjc3NywgNzM4NjQsIDk4MzIwMywgCisgICAgNDE3MzQsIDgyMDYsIDc0MDgxLCA5MTYzLCAzMjg2LCA5MDcyLCA1ODY3LCAxMzMwMiwgNzYyMiwgNzEyMCwgNDE3MzYsIAorICAgIDkyNTQ2LCA0MTczMSwgMCwgNzQwMCwgNTQxNiwgNjg2NjMsIDExODkyNCwgMTA4MTcsIDAsIDQxNTM5LCAxMjcyODQsIAorICAgIDY2ODUzLCA3Mzk2MywgNDE4NTUsIDQxODY3LCA2NTU2NCwgMTEyNzcsIDY1ODkyLCAxMTUzNiwgMTA2MjAsIDkyMjcyLCAKKyAgICA3MTE1LCA2NjAzMCwgNzM5MzIsIDU0OTgsIDYzODc2LCA0MTUzNiwgMCwgNjgyMDQsIDkyNTg3LCAzNDU5LCA4OTk3LCAwLCAKKyAgICA5MjcxNCwgMCwgMTI5MDI3LCA5MjUxMiwgMCwgNjYzNzcsIDY5NzgxLCAwLCAxMjQ5NzIsIDc4NTExLCAzMTYxLCAyOTUsIAorICAgIDcxMjU3LCAwLCA5MjIyMywgMTI3ODU2LCA3ODc0MiwgOTAxNiwgNDM0NTQsIDYzOTAzLCA2MzkwMiwgNDM1MDEsIDAsIAorICAgIDM5NzEsIDk4Mzk1OSwgNzAwNjMsIDI5NTIsIDc4NzY1LCAxMTAzOCwgMTA5MDEsIDYzOTAwLCA2Mzg5OSwgNjM4OTgsIAorICAgIDk0MDQzLCA2NjcsIDEyMzMyLCA2Mzg4NywgNjA4NiwgNDE3MjIsIDAsIDUxNzIsIDAsIDk4MzI3OCwgNDE1OSwgOTgzNTYyLCAKKyAgICAwLCA5ODE1LCA2Mzg4NCwgMTk5MzQsIDYzODgyLCA0MTE5OCwgODU1NSwgNjM4NzgsIDYzODc3LCA0MjQ2MCwgNjA1MCwgCisgICAgNDI3MDgsIDYzODgxLCA2Mzg3MiwgMCwgNDI0MjEsIDAsIDQxNzIzLCA2Mzg3NSwgNjM4NzQsIDExNDYwLCA3NDMyLCAxOTEzLCAKKyAgICA0MTkxMywgNjM4NTIsIDY2ODY5LCAxMjg5NzEsIDQyMzQ4LCA3Mzg5MiwgNjc1MiwgNDQ2LCA0MTkxMSwgMTI3OTA2LCAKKyAgICA2Mzg1MSwgNjM4NTAsIDQxOTEwLCAxMjg2MzcsIDYzODQ2LCAyOTcyLCAxMjkzMiwgNzI2MiwgNjk5NjgsIDYzODQ5LCAKKyAgICA2Mzg0OCwgNjM4NDcsIDExMzc0OSwgNjU3MCwgODMwMiwgNzI1OSwgNjM4NDIsIDQxNzgsIDEwNzQ2LCA3MjUwLCAxMzIxNCwgCisgICAgMTAwNDEsIDgxMDUsIDYzODkyLCAxMjc3ODAsIDY5OTY5LCAxMTA1LCA0MTgwLCAxMjc3ODYsIDEyMDk0LCA5NDk3LCAwLCAKKyAgICA2Mzg5MSwgNjM4OTAsIDYzODg5LCA2Mzg4OCwgNTUzOCwgOTk4NywgMCwgMTE4OTMyLCAxNjc4LCAxMzI3NCwgNTUyLCAKKyAgICAxMjA2NTQsIDQ0MDEwLCAxMDc4NSwgMCwgMTExOTIsIDQ1NTcsIDc0NDU5LCA5MTU5LCAxMDE3MSwgMTMxMjUsIDYzODYwLCAKKyAgICA1NTQwLCA2Mzg1OCwgNjM4NjUsIDI4MSwgMTMyNDIsIDYzODYyLCA3NDE1NCwgMCwgNTUzNiwgNjU1NjgsIDYzODU3LCAKKyAgICAxMzg4LCA3MTkwMiwgMCwgMTA3NywgMTk1MDAwLCA2NTA5OSwgMTE1MzEsIDU4MzQsIDAsIDAsIDAsIDAsIDQyNzczLCAKKyAgICAxMjc4OTksIDAsIDAsIDExOTIyMCwgMCwgMzY2MywgMTI3MDI3LCAxMTEyLCA3MDMzNSwgODY4NiwgMTI2NjExLCA1MzM0LCAKKyAgICA2NTA4MSwgNDMyNDksIDc0Nzc4LCAxMjc5NjgsIDExMDc3LCAxMjUwMTcsIDY1MDksIDAsIDUzMjcsIDEyNzk2NSwgMTk5MDcsIAorICAgIDYzODY5LCAzNDc4LCA3NTgzLCA3Njc5LCAyOTAzLCAwLCAzMDAxLCAxMTU4LCA4NzQ1LCA0Mzc0NiwgNzM3NDgsIDYzODY2LCAKKyAgICA3ODYyNiwgMTkxNSwgNDg0NiwgNjc3NTUsIDY2MzcxLCAxMTg5ODQsIDQyMTA1LCAyOTkwLCAxMjAxMjgsIDgwNSwgNjkyMzgsIAorICAgIDY0NDM4LCAxMjA3MCwgODc2MCwgMTExNywgMTEzNzUwLCAxMjIxMiwgMTIwMTIzLCA2NTE3NCwgNDIzNTcsIDYzODM1LCAKKyAgICA2MzgzNCwgMCwgNzgyNDAsIDEyMjI1LCA2MzgzOCwgNjM4MzcsIDk4Mzg1MywgNzAxNzMsIDYzODMzLCA2MDQyLCA2NjM2MCwgCisgICAgODA4MywgMTI4MTY2LCAwLCA2MzgyMSwgNjM4MjAsIDYzODE5LCA2MzgxOCwgOTgzOTA0LCA1MjI3LCA5MDQ3LCA2MzgyMiwgCisgICAgMTI3MTYyLCA2MDkxLCAwLCAxMDY5MSwgNTYwLCA1NjQzLCA4MjI2LCAxMTk1NzgsIDYzODEyLCA2MzgxMSwgNjM4MTAsIAorICAgIDYzODA5LCAyMjg5LCA2MzgxNSwgNjM4MTQsIDYzODEzLCA2MDQ3LCAxNTk3LCAxMjAxNDMsIDc4MCwgMjA2LCA3MDEyNiwgCisgICAgNDkzNiwgNjUxNDcsIDgxNjgsIDYzOTMwLCAyMDc2LCAxMDkzLCA5ODgyLCA2MzkzNCwgMjA4MiwgNjM5MzIsIDEyODE1MCwgCisgICAgNjM5MjksIDM1NDYsIDE2MDUsIDc3OTM0LCA5ODA2LCA0MzQ3MiwgNzc5MzMsIDg0MDAsIDExMzQzLCAyMDg2LCAwLCAKKyAgICA2MzkyNiwgMjk4NCwgNTk2OCwgOTI4NywgMCwgNDYxOCwgNDIyMDksIDExMTM3LCAxMzE2OSwgNTI5MCwgMjA4OSwgMTY5NSwgCisgICAgMTA3NDMsIDEwODgsIDYzODI1LCA3MjY4LCAxMDg0LCAxMDg1LCA2MzgyOSwgMTA4MywgMTAxMzEsIDcyODMsIDAsIDYzOTcwLCAKKyAgICAxMjgzNTgsIDEwOTIsIDQ3NTQsIDcyNzMsIDUyNTIsIDQ0MDE2LCA0MzYyNywgMTI3OTIxLCAxMjg5MjAsIDc0MDgsIAorICAgIDExODA5LCA5MTc2MTgsIDEyNzkxNywgMCwgMjk2NSwgNzI1OCwgODgwOCwgNjY1NzIsIDEwODksIDQxODcsIDYzOTM3LCAKKyAgICA0MjExOSwgNDIxMjAsIDExMTA2LCA5NDAsIDU3ODcsIDEwMDk5LCA2MzkzOCwgMCwgNzQ0OTQsIDEyNDYzLCAyOTk0LCAwLCAKKyAgICAxMTg4MjcsIDY4NTIyLCA5NjY0LCA3MDgzNCwgNzc5NDAsIDY3ODkyLCA3NzkzOCwgNzQzNDMsIDY3MzcwLCAwLCA2NjAsIAorICAgIDEwMTI3LCA2NjYsIDkwMjIsIDU1MzIsIDQzNjY3LCA1NTMzLCAxMjU4MCwgNzg1MDcsIDYxMTgsIDIyMiwgOTc5LCAzODg0LCAKKyAgICA5ODMzOTIsIDc0MTUxLCA5MjY1MiwgNjUwMiwgMCwgMTEwODUsIDEyODY5NSwgNjM5NTEsIDEyNDY1LCA5MTc4NjIsIDAsIAorICAgIDEyODc4MiwgNjM5NDYsIDE3MDcsIDYzOTI0LCAxMjQ2MSwgNjM5NTAsIDYzODk3LCA2Mzk0OCwgNjM5NDcsIDYzOTQ1LCAKKyAgICA2MDM4LCA2Mzk0MywgNjM5NDIsIDY0Njg1LCA2Mzg5NSwgNjU4MzgsIDIyNzYsIDc3NzYsIDk0MDc2LCAwLCA5MjQ2NCwgCisgICAgMTIwNDQ0LCA2OTczMCwgODAxLCA0MzE2NSwgMTY5MCwgNjM5MTksIDYzOTE4LCA2MzkxNywgMTMyNzcsIDQzNjU5LCAKKyAgICAxMjk1MSwgMTIwNjM4LCA5OTA2LCAyMDU0LCAyMzM0LCA3ODUxNSwgNjM5MTYsIDU0ODMsIDYzOTE0LCA2OTczNywgNjM5MTEsIAorICAgIDU0ODQsIDYzOTA5LCA2MzkwOCwgMjUzOSwgMTIwMTAyLCA0Mzk4MCwgNTQ4NSwgMCwgNDI2OTcsIDkwNjEsIDU1MzQsIAorICAgIDEwNjcyLCA0NTAyLCAxMjQ5MzIsIDI1MywgMCwgNjgyMDgsIDEyMDQzOSwgOTIwMywgNzQyMzEsIDAsIDExNTMwLCA2ODYzNCwgCisgICAgNjg2NjgsIDAsIDExMTI3LCAwLCAxMDQ3NCwgNDM0MjYsIDEzMjU3LCA0MjM1NCwgMTI4MDk5LCA5ODM2OTgsIDcwMDQ0LCAKKyAgICAxOTUwNjUsIDAsIDg0MTMsIDY2ODQxLCAwLCA1NjkzLCA3MjcyLCAwLCAxMzIwOSwgNjQ0NzAsIDY1ODMxLCA3NDM1MCwgCisgICAgMTk1MDYzLCAwLCAwLCAwLCAxMjY2MzksIDEyMDA5NywgMCwgOTQwNzgsIDY2ODQwLCAxMjc3NjcsIDY2NjA4LCAzMTExLCAKKyAgICA0MTg2MywgODgwNCwgNDI5MTMsIDc4MzQ3LCA3MjcwLCAwLCA2NjYwNiwgNjYyOCwgMTA3NiwgNzQzMywgMTQzNiwgNzM4NDQsIAorICAgIDU1MjI2LCAxMjgzNTMsIDYzOTgyLCA3MzkzLCAxMjgwNywgNDM0MTMsIDYzOTA2LCAxNTk4LCA2MzkwNCwgNzExODcsIAorICAgIDcwMzkzLCA0MTcyOSwgNDQyMywgMTMwNywgMTEzNjkyLCAxMDUxNSwgNDE1ODksIDEyODY5OCwgMTI4OTE4LCA2MjE4LCAKKyAgICAxMTM2NzUsIDE0MzAsIDAsIDEyNzc3OCwgMTIwNjA2LCA3ODc1NCwgNTQxMywgNzYxOSwgMzI1NSwgMzQ5MywgNzQwMzIsIAorICAgIDExNTQ5LCAxMDczNSwgNDE3NDMsIDczOTM3LCA2ODAxLCA5ODM2MzMsIDQ1MTgsIDEwOTkwLCA2NTA3MywgNTE2NywgNDQ4MSwgCisgICAgMzc3MSwgNjcwOTMsIDI3MTAsIDAsIDY2Mjc3LCA0MTcyNCwgNjc3MTYsIDQzMDczLCA0MTY5MCwgMTI0NzksIDk4MzYzNSwgCisgICAgODM4MCwgMCwgNzE4NTIsIDcwMDQ2LCAxNjI4LCAxMjcxNDksIDEyODgxNywgMTI5MDY3LCA2NTI2MiwgNjMzMywgMTA3ODMsIAorICAgIDExMTcyLCAwLCA2Mzg1NSwgNzA4NDAsIDExMzY3OSwgMCwgNTMzOSwgNzQzMjMsIDAsIDEzMDA0LCA2Njg0MywgNDQ1NywgMCwgCisgICAgMTI3NzU2LCAxOTQ4MTgsIDEyNzExNiwgNTY4NCwgODY3OCwgMTA5MTQsIDQzNjMyLCA1Njg5LCA2NTgwNywgNzA4MTQsIAogICAgIDY4NDY0LCAxMjYzMywgMTI4NzAsIDY5NzA1LCA2NTE4MywgNTY4OCwgMTE5MjYsIDYwMzMsIDYzMTAsIDU2ODYsIDAsIAotICAgIDc0MjUxLCAwLCAxMjA2NDcsIDAsIDUwLCAxMDU1OCwgOTg3MSwgNDI2MTIsIDQzNjU1LCAwLCAwLCAwLCA2NjQ2OCwgMCwgCi0gICAgMTMyNTksIDQ0NDgsIDAsIDk4Mzg0NSwgMCwgNzAwNDMsIDY3ODUzLCAwLCAxMDY0MCwgMTE1MzksIDExNTEsIDAsIAotICAgIDkxNzYwNywgMTI3NTQ0LCAxMjcwNzksIDE5NTA1MCwgMTI3ODUyLCAwLCAwLCAwLCAxMjUwMSwgNjQ2MDQsIDAsIDExNTI3LCAKLSAgICAxMTg4NzAsIDg4MTIsIDAsIDExNTM4LCA4NjczLCAxMjY1MCwgMTEwMjAsIDAsIDY2NDY3LCAyMTA1LCA4MDg3LCA3ODE2MywgCi0gICAgNjk2MzIsIDk4OTQsIDAsIDAsIDAsIDQ2MzYsIDU1MjYyLCA3ODUxMywgNDUxNSwgMjM4MiwgMCwgMTI3MDU1LCAwLCAKLSAgICAxMjA0OTUsIDAsIDEyODI4NCwgMTIyNzcsIDE5NDYyNywgMTE5OTUsIDkyNTUzLCAwLCAxMjE1OCwgMCwgODc0MSwgMTAxOTcsIAotICAgIDAsIDkyNDI2LCAwLCA2NTMxLCAwLCAxMjc4NDYsIDQ3MywgNDM0MTUsIDAsIDk4MzY1MCwgMTg3MywgMTA4NywgMCwgMCwgMCwgCi0gICAgNzg1MjcsIDY2NDM5LCA0MzIxOCwgOTgzMTIzLCAxOTQ3MTYsIDcyMzcsIDEyNTA0LCA3NDI4MiwgMCwgOTgzNTcxLCAwLCAKLSAgICA5NDg5LCAwLCAwLCA0Mzg0LCA3NDIyMCwgNjM4NDUsIDIwNTgsIDEyODg2MywgMTMyOTUsIDQzMTkxLCAxMjgwMzAsIDAsIAotICAgIDExNTQsIDM4NTcsIDEyMDUsIDAsIDAsIDEzMTAwLCAxMjk1OCwgMTIwNzA2LCA3NDE2OCwgMCwgMCwgNDQyMSwgMTA1OTIsIAotICAgIDAsIDQ5NSwgMTE5MDA3LCA0MTcxMiwgNzk4MywgMCwgOTM5OTcsIDAsIDYzNDcsIDEyMDE2NSwgNzY1NCwgNDE3MTAsIAotICAgIDQxOTYsIDAsIDQzNywgNDE3MDksIDczNzcyLCAwLCAwLCA5NDY1LCAxMzI5MCwgMTE5MTgwLCA0OTk3LCA2NDMwNiwgMCwgMCwgCi0gICAgNDk5OSwgMTk0NjQyLCAwLCAxMjY1ODIsIDQ3MTEsIDEyMDc2OSwgMCwgMjczOSwgMCwgODA0NCwgNzQ4MzQsIDE5NDY0MywgCi0gICAgNDE3ODksIDEyODE0MiwgMTA4MDksIDAsIDAsIDAsIDE3NzksIDY2MDAsIDY2MDEsIDQxNTQzLCA1MzI1LCA2NDIsIDY0MTg3LCAKLSAgICAxMzA1OCwgMTIwNDQ5LCAxMjg3NSwgMCwgOTIxODYsIDEzMjI5LCAwLCAxMDU3NSwgNDMzOTksIDAsIDAsIDQxNzkxLCAKLSAgICAxMTA0LCAwLCAwLCAxMDY1NSwgMCwgMCwgMCwgMCwgMTA4MiwgMTk1MDQ5LCA4NDI4LCA2NTY5LCAwLCAwLCAwLCA2OTg0OSwgCi0gICAgNjc4MywgMCwgMTI5OTMsIDgwNDksIDQxNTQ4LCA0NDAyMSwgNjQ1OCwgOTgzODA3LCAxMjg4ODIsIDQ3NjEsIDYzODI4LCAKLSAgICA0NzY2LCA2NDYyMywgMTI3MywgNDM0MDcsIDAsIDExODg3NiwgMTk1MDQ1LCA2OTEyLCAxMzEzLCA2MzIyLCAxMDQ4MywgCi0gICAgOTgzNjAzLCA0MTU0NSwgMCwgOTI0NDksIDAsIDAsIDAsIDAsIDc4NjI0LCAzNDg0LCA3NDMzNywgMCwgMCwgODUwMywgCi0gICAgNTEyMiwgNDE1MjcsIDAsIDY2MzIwLCA5ODM4MTEsIDAsIDAsIDAsIDQxNTM3LCA2OTY4MywgODMwMywgODI4MiwgMTE4MTcsIAotICAgIDczODU3LCAxMDAwMywgNzM4NTksIDY1OTA0LCA3MzYzLCAxNjg2LCAwLCA3ODQwNiwgMTE0NjcsIDM2NjQsIDY1OTIxLCAKLSAgICA2NDI5OSwgMTk0NjY0LCAwLCAwLCA0MzI0LCAxMjYsIDQyMjQ2LCAxMTkxNTIsIDAsIDc0Mzc4LCA2NTkyNiwgNzc0NCwgCi0gICAgMTk0NjM2LCA3NDI3NywgNzQzMDIsIDc4MDUyLCA0MzgxNywgNjk2NiwgNDM4MjIsIDgxMzYsIDAsIDY1NjAwLCAxNjMzLCAwLCAKLSAgICAwLCA0NzYyLCAxMTAzLCAwLCAwLCA0NzY1LCA5ODM0OTIsIDEzMDc4LCAwLCA0NzYwLCA2MzgyNywgMjA1MCwgMTA4NzEsIAotICAgIDQzMTk5LCAxMTAyLCAwLCA0MjIzNiwgMTI4ODY3LCAxOTQ2NjcsIDExNTQ2LCA3NDc5NCwgMzM3LCAwLCA0MjU5MSwgODYyNywgCi0gICAgMTIyNzksIDExMTEsIDAsIDkyMTYxLCA0NzA3LCA2ODIwNiwgMTAxNDMsIDc4ODMsIDEyNzA4MSwgNzg4MCwgNDUyMiwgCi0gICAgODY0NSwgNTcwNCwgMTMwMTAsIDAsIDgzMDQsIDkxNzU2MSwgMCwgMTE5NTc1LCAyMjkzLCAwLCA2NjY1NCwgMCwgOTI2NzYsIAotICAgIDAsIDEzMDA4LCAwLCA0Mzg1LCAwLCAxMzAxMSwgMCwgOTI1NjksIDExOTE2MSwgMTMwMDksIDE2MCwgMjY3NywgMCwgMCwgCi0gICAgNDE3OTMsIDY1NzYzLCA3NDIyMSwgMTIwMTQxLCA0MTc5MiwgNDI3NzAsIDk0MDU0LCA2NTc2MiwgMTE4ODI5LCA0MzgyMSwgCi0gICAgNTcwOSwgMCwgOTQwNTMsIDQzODE2LCAwLCAwLCAxMDc5LCAzODY3LCA1NzA4LCAwLCAwLCA0Mzc5NywgNTcwNiwgNjQ3NjgsIAotICAgIDU3MDUsIDg3OTEsIDQwMDUsIDAsIDEwMjM3LCAxMDk5MSwgMTI4ODE2LCA0MzQ1OSwgOTE3MywgOTE3NTgxLCA5MTc1ODAsIAotICAgIDEzMTcwLCAxMjU0MCwgOTE3NTc3LCA0MjYwNSwgMTIwNzY1LCAxMjY2MTcsIDY4NjQ3LCA5MTc1NzIsIDEwMDU4LCAwLCAKLSAgICA3NDg2NywgMTk0NjU0LCAxMjcwNzgsIDMzMzksIDExNDQ4LCAxMTA2LCA5MTc1OTEsIDkxNzU5MCwgOTE3NTkzLCAzMzQwLCAKLSAgICA5MTc1ODcsIDkxNzU4NiwgOTE3NTg5LCA5MTc1ODgsIDEyMDU0MSwgMTA2MDUsIDEzMDksIDYzOTY2LCAxMjA3NDMsIDE3NTQsIAotICAgIDkyMjI2LCAxMzI0NiwgODY0LCAwLCAxMTg5MjYsIDg5NzIsIDAsIDc4NDksIDEyMDA5MiwgOTI1MzMsIDEzMjQwLCAKLSAgICAxOTUwNjgsIDUxOTIsIDQzMzgsIDY3OTgyLCAxMDk0OCwgOTE3NjAxLCAxMzE5OSwgOTI1NzUsIDEyMzYsIDEzMjA4LCAKLSAgICAxMzI2MSwgMTMxODksIDEzMTg4LCA5Mzk5MywgMCwgNzQ0MCwgMCwgMTIwMTUzLCA5NTUzLCAxNTkwLCA2Mzc3NywgNjM3NzYsIAotICAgIDEzMTc4LCA2Mzc4MiwgNjM3ODEsIDYzNzgwLCA2Mzc3OSwgMTU4MywgMCwgMTMyNjAsIDQ1NTAsIDAsIDY0MjA1LCAwLCAwLCAKLSAgICA0MTUyMiwgOTgzOTE1LCA5MjE2OCwgOTgzNzcyLCA5MTc4NTgsIDExMzU0LCA5NDA3MSwgMCwgNDI3OTUsIDAsIDExOTE5NSwgCi0gICAgMTEzOTQsIDE5NDY0NiwgMTMyMzYsIDEzMjcyLCAxMzE5NCwgMTMzNCwgNjk5MjYsIDQ0NzksIDExNzgsIDY1NTg2LCAKLSAgICAxMjA2NjMsIDY2NjgxLCAxMTkxOTMsIDQ2MDEsIDAsIDAsIDk4Mzc2NSwgMCwgMCwgMTk0NjU4LCAwLCA2ODA5LCA2Mzc4NiwgCi0gICAgNjAzMSwgMCwgNjM3OTEsIDYzNzkwLCAxMTQ1LCA2Mzc4OCwgNzkxMCwgNjM3ODUsIDQzMTUzLCA3NTQsIDEwMTkyLCAKLSAgICAxMzEwNSwgODE4MywgMTIwNzQxLCAyMDM3LCAwLCAwLCAxMDc0NywgMTI1LCAwLCA2NDg5MCwgMCwgOTgzMTMxLCAwLCAKLSAgICA0MTcxOSwgNjM3NTgsIDM1MjMsIDEwNzQsIDEzMjU4LCA5NTM2LCA3NDA3NywgMCwgNDQyNywgNzQyNDIsIDYzNzU3LCAKLSAgICA0MzE0NSwgMTIyMTcsIDYzNzU0LCA0MTUzMiwgMTM0OSwgNjM3NTAsIDYzNzQ5LCAwLCAwLCAwLCA2Mzc1MywgNjM4MDIsIAotICAgIDQxMDg0LCAxMjA2MjIsIDY4MTMzLCA0MTkzMCwgNjM4MDUsIDYzODA0LCA0MzYzMiwgNjM4MDEsIDQxMDgyLCA4MTQwLCAKLSAgICA2Mzc5OCwgNjI2MCwgMCwgMCwgOTQwNzQsIDYzNzkzLCAxMTk4OCwgMzg5OCwgMTI4MjQxLCAxMDIwMSwgMTIyMzgsIAotICAgIDYzNzk1LCA0MjE5NCwgMTAzNjcsIDEyNTIxLCAxMDQzMSwgNDIxMTQsIDQxOTMyLCAxMDY4LCAwLCAxMjUyMywgMTI5NDUsIAotICAgIDk4MzMyOSwgNDIyMDMsIDc5NTAsIDEwODA0LCA2Mzc3MSwgNDI3ODcsIDQzODYsIDEyMjI0LCA2OTczLCAyNzkzLCAxMjQ3NSwgCi0gICAgMCwgMCwgNjM3NjksIDk1MzAsIDk4MzExOSwgMTIyMzIsIDEzMTM1LCA4NTk2LCA1NjgxLCA2Mzc2MiwgNDU5NSwgNjM3NjAsIAotICAgIDc5MiwgMCwgNjQ4MDMsIDAsIDg3NDIsIDAsIDExMDUzLCAxMjg3OTYsIDYzNzQ0LCAxMjgxMDcsIDAsIDc1ODgsIDYzNzQ4LCAKLSAgICAxNjkzLCA2Mzc0NiwgNDMyMDQsIDUwNTUsIDY4NDI2LCA5MTc4NTMsIDEwOTAsIDEyMDY3OSwgMTI4MzU2LCAxMTY2NSwgCi0gICAgNzQxMzMsIDQ1NTgsIDY1Njg1LCA5NTIzLCAwLCAwLCA3ODY4MSwgMTE1MTMsIDAsIDYxNTcsIDYzNzc1LCA2Mzc3NCwgCi0gICAgNjM3NzMsIDEzMTkxLCAxMjE3MCwgMzUwMCwgMzEzOSwgMCwgMzE3MCwgMTI0ODUsIDAsIDEwODcyLCA3ODI3MSwgMTMwMDYsIAotICAgIDY0NDMzLCAwLCAwLCA5NDEsIDAsIDAsIDAsIDY1NTQxLCAxMTA2MywgMCwgODIyOCwgMCwgNDIwNjUsIDAsIDAsIDk0MDM5LCAKLSAgICAwLCA5MjQ1NSwgNzM4NiwgMCwgNjQ0NDQsIDAsIDExOTg2MywgNDM2MDMsIDk0MDc1LCA2NTM5NywgMjg4LCAwLCAwLCAwLCAKLSAgICAxMDAyNSwgNjk5MTUsIDI5MTgsIDAsIDY1MzAwLCAxMTk4NzEsIDk4ODMsIDY0NzI2LCAyNzkwLCA2NTM5NSwgMzc5MywgMCwgCi0gICAgMTI3ODI5LCA2NTM5MywgMCwgNzQxMzgsIDAsIDAsIDAsIDc0MTM5LCA5MjcxMiwgNjUzOTQsIDExNTQ4LCA1MjcwLCAwLCAKLSAgICA2NTM5NiwgMCwgNjU4MTMsIDEzMjU2LCAxMjgyLCAxMjA3NzEsIDAsIDAsIDEwODg4LCA5ODM2MDQsIDY1MjQyLCAwLCAKLSAgICAzMzMwLCAwLCAwLCA5ODM5NzQsIDAsIDAsIDc0MjU5LCAzMzA0LCA0Mjc1MywgMCwgMCwgMCwgMTYyNywgMCwgMCwgMCwgCi0gICAgNTM3MSwgMTMxMTYsIDAsIDE4MjYsIDExODc5NCwgMCwgNDMwOTQsIDcwMDIzLCA0MzY1MCwgOTQwMzcsIDAsIDkwMzUsIDAsIAotICAgIDAsIDEyODAwNSwgMCwgOTIyMDcsIDY4MTI1LCAwLCAxNjQsIDAsIDk0MDY3LCA5NDAwMCwgNjk1OCwgMCwgNDMxMTYsIDAsIAotICAgIDcwMDE5LCAxMzI0NSwgMCwgMCwgMTI3Mzc2LCAwLCA3MDAzMSwgMTI3NzU2LCAxMjY2NiwgMTMxNzUsIDEzMjA3LCAKLSAgICAxMjA0MTQsIDY2MDE0LCAxMjA0MjgsIDc0NDcsIDU5MjksIDAsIDY1NTA5LCAwLCA3NDQ5LCAxMTMwNiwgMCwgNzM5MjAsIAotICAgIDMxODAsIDAsIDYzODA4LCA5MDU0LCA5NzEsIDEzMDYyLCAwLCAwLCA2NTE5NSwgMTAxNjQsIDkyMjUyLCA3NDQyOCwgMCwgCi0gICAgNzgxNDYsIDkyNjExLCAwLCAwLCAwLCAxMDA0NSwgMTI4ODIsIDEzMjc1LCAxMjgxNjEsIDExMDU3LCAwLCAxMzI3NiwgMCwgCi0gICAgNDE1MjUsIDc4MTUwLCA3MjcxLCAxMTQ0NCwgMCwgMCwgMCwgMTIyMjksIDQxNTIzLCAwLCA0MzQxMSwgNzM3NTEsIDAsIAotICAgIDY0ODEzLCAwLCAwLCAxMDQ3NiwgMzg1OCwgMCwgMzkzMiwgNjQ5NTgsIDAsIDAsIDczOTg5LCA2ODE5MiwgMCwgNjk4NDcsIAotICAgIDM2OSwgMCwgNDE3ODQsIDAsIDY0MTYzLCAwLCAwLCAwLCA2NTQ3NCwgNDc5NiwgMTIyOTIsIDEyNjU5NSwgNjU0NzksIDAsIAotICAgIDQxNzgxLCAxMDQ4NiwgNDE0ODAsIDQzMDAyLCA5ODk5LCAwLCAwLCA0MDQsIDEyODIxLCAzNzQxLCAwLCA1Nzg4LCA4MDkyLCAKLSAgICA2ODIxMiwgNDEyMjIsIDE4MzEsIDY2MDIwLCAzOTgyLCAwLCA0Mzg4LCAwLCA3NDYsIDEyMDc4NCwgMCwgMCwgMTIwMTgsIAotICAgIDY1Mjk0LCAwLCAwLCAwLCAwLCA0NDIyLCA0NzA4LCAzNzk5LCA3NDI5MiwgMTE5MzU3LCAwLCA3NDQzMCwgMCwgMTE3MDAsIAotICAgIDQzNzQsIDAsIDEyODE3OSwgMTM2NCwgMCwgODAzOCwgMCwgOTE3NTk3LCAxMjg2OCwgNjk4MTQsIDAsIDY3MzUsIDczOTc5LCAKLSAgICAxMzE3NCwgNzM5NjgsIDEzMjI1LCAwLCA2OTgwOCwgNjU4MzUsIDAsIDIzNjUsIDc4NDEsIDAsIDQyODU1LCAxMTg4NTYsIAotICAgIDQyODY2LCAwLCAwLCAwLCA2NjQzOCwgNDE3ODUsIDEyNjE3LCA2NDE3MiwgMTMxNzMsIDQzNzIsIDExOTM1NCwgMCwgCi0gICAgOTgzNTY4LCAwLCAwLCA5MjQwMiwgMTI4MDYyLCAxMjk2NSwgMzg0LCA2NDUxMiwgMTA0MDQsIDEwMzQwLCAxMTkzNTIsIAotICAgIDE1NTYsIDUyNzQsIDEzMjEwLCAxMjAxMjUsIDEwMDE3LCA5NzMzLCA0MTc4NywgOTgzMjQzLCAxMjY5OTQsIDQxMzczLCAKLSAgICA3ODAzOSwgMTIzMDMsIDAsIDEzMjMyLCAxMzIzMywgMzQ5LCA0ODYzLCA0MTM3MSwgMTE2NTYsIDAsIDEyMDcwMywgCi0gICAgMTE5ODgzLCAxMjg2MSwgNDM5OCwgODU0MywgNjU2MTgsIDEyODAxOCwgMTA5NiwgMCwgMCwgNDI2ODgsIDEyNDQxLCAKLSAgICAxMjM1NSwgMTE5MzQ4LCAxMTkzNDcsIDQzMTgsIDEwNDUyLCAwLCA4MDMyLCAxMzI0MywgMTMyMzcsIDEyNzE5LCAxMjY2NDYsIAotICAgIDExOTEwMSwgMCwgNjQ4ODQsIDExOTg3MiwgMTE5MzQ1LCA4NTk3LCAwLCAwLCA5ODY0LCAwLCAxMjA3ODUsIDExOTg3NCwgCi0gICAgOTQxMDcsIDEzMTk1LCA0MTQ1MiwgNjQ5NjEsIDc3MjIsIDAsIDEwNDU5LCAxMTk4NzgsIDAsIDExOTg3OSwgNjY1OTAsIAotICAgIDEyODEyMywgNDE1MzMsIDY2MzM3LCAwLCA5MjE4NCwgMCwgNDk2NSwgNDM0NDUsIDkxNzUzNiwgNzM4NDksIDAsIDQzNjM4LCAKLSAgICA3ODUzNywgMTI4Mjg3LCA2MjYxLCAxMTkzNDIsIDQzMTQ3LCA2NjU3MCwgMTk1NywgMTA0MjAsIDk4MiwgMjc1NiwgMTMyOTIsIAotICAgIDEzMjA2LCAxMjg4MjgsIDAsIDI5MjUsIDczODA5LCAxMzA1NiwgMTI3NTU5LCAxMzIxMiwgNDMyMzgsIDAsIDEzMTkwLCAKLSAgICAxMzE4NywgOTI1NDEsIDEzMTk4LCAxMTg3OTMsIDAsIDUyNDIsIDExOTE3OSwgNjQ0NzYsIDE2OTQsIDgyMTYsIDcxMzY5LCAKLSAgICA2NzcwLCA0MzMzMSwgMCwgNjU2MjAsIDk4MzcyOCwgNDM1NDQsIDEyNjQ2NiwgMCwgNDE0NDQsIDY1NjIxLCA2OTk1NSwgCi0gICAgOTE5NywgNTI0NiwgMTE5MTA2LCAxMzE4NSwgOTcwOSwgMTIwMzIzLCAxMjAzMjIsIDEyMzE0LCA2NTYxNiwgNTIzOCwgCi0gICAgMTE5MzMzLCAwLCAxMTkzMzcsIDUyMzYsIDQwOTc5LCAwLCA3NDIwMSwgODI4NiwgMTI4NTM3LCAzOTM2LCAxMTkzMzEsIAotICAgIDExNjk5LCA0MTM0NywgMTI3MjQ5LCAxMzIzNSwgODg0MiwgNDEyNDgsIDAsIDQzNzksIDEzMjM5LCAxMjY5MiwgNzk2OSwgCi0gICAgMTI3MjY2LCA3MjE5LCAxMjcyNTAsIDEyODI1MSwgMTIwNTA5LCAwLCA2NjIyNCwgNzM0LCAyOTc5LCAxMjAzMDMsIDY1NjE5LCAKLSAgICA5ODcyLCA5NTcsIDY0OTIxLCAxODQ2LCA2NjYzMSwgNDE0NzcsIDExOTI1NiwgMTIwMzEwLCA3NDUxMSwgNDE3NzAsIDE2NzAsIAotICAgIDY0NDIsIDEyMDMxNywgNDI0NDYsIDUzNzksIDEyMDMxOCwgNDExNjMsIDc0ODMyLCAxMjAzMTUsIDEyMDMxNCwgMTE1MDYsIAotICAgIDAsIDQyODQxLCAxMzI2NywgMCwgMCwgNDE3NzUsIDAsIDcxMzAsIDQxNzczLCAwLCAxMDY2MywgMCwgMCwgMCwgNjE1MSwgCi0gICAgMTIxMTAsIDQyNjczLCA2NTU3MiwgNjUyOTMsIDY1MjUwLCAxMzI2NSwgMTMyNjQsIDY0NTE4LCAwLCA2MTAwLCAwLCAKLSAgICA5MjY0NywgNTgwOCwgNjU5MjIsIDAsIDEyOTY3LCA2NjA0MSwgNTYxMiwgNDU4MywgMCwgMCwgNjgwOTcsIDY0NTc1LCAKLSAgICAxMjY2MzcsIDExOTY1LCAwLCA2ODM1OCwgMCwgNjk3ODksIDAsIDkyMjYwLCA2ODEwMiwgOTY5OCwgNzgxNCwgNzQ0NzYsIAotICAgIDExOTY1MSwgMTI4NTE0LCAwLCA0MTkyMSwgMTE4ODU4LCA5NzU2LCA2OTg1LCAxMTkyNTgsIDc4NDkwLCA3NDIxOSwgMCwgMCwgCi0gICAgMTE4OTk3LCA4MDEyLCA1Njc0LCAxMjM1MywgMCwgMTIzNjEsIDU2NzcsIDU1ODgsIDAsIDQxOTI1LCAxMjgxMjQsIDQxOTIwLCAKLSAgICA1NjczLCAxMjA1MzQsIDU2NzYsIDQxOTIzLCAxMjY5NCwgMTE4OTc4LCA1NjcyLCAxMjk0LCAwLCA3ODA1OSwgMCwgNDI1MTEsIAotICAgIDE3MjcsIDEyMDcyNSwgNDI0MzYsIDAsIDAsIDAsIDc0MjIyLCA4NzE4LCAzNTUwLCA3MzYsIDEwMjY4LCA0NTA1LCAxMDMxNiwgCi0gICAgNzQwOTAsIDU4MjYsIDU1MjMyLCA1ODEzLCAwLCAxMjA3MTIsIDU4NDEsIDU4MzcsIDU1MjM0LCAwLCAzMTA1LCAxMjgyOSwgCi0gICAgNTgzOCwgNTc5NiwgMCwgMTE5NTkyLCA1NzkzLCAwLCA1ODY2LCA1Nzk3LCA0MTAxMSwgNTg2NSwgMTIwMDkxLCA3OTU2LCAKLSAgICA1OTgsIDAsIDY0NjQ5LCA1ODA2LCA0MjM5OCwgMCwgOTAzNywgNTY3MSwgMTIwMDQxLCA5ODMyNTUsIDAsIDAsIDEyODg1NSwgCi0gICAgMCwgODQ3LCAxMjgyNDIsIDk1MjksIDAsIDY2NjU3LCA2OTgwLCA3ODQ4MywgMTIwMDM1LCA3ODQ4NCwgOTgzNDkxLCAwLCAKLSAgICAxMjAwMzMsIDc4NDg2LCAwLCAwLCAxMjAwMzksIDQyNjgzLCAwLCA5ODMwNTUsIDcxMTQsIDAsIDAsIDQzMTkwLCA2NTQ2MywgCi0gICAgMTU1NCwgMCwgNDI2MTEsIDQyNTYzLCAwLCA1NjUxLCAyOTI5LCA2NzkyLCA0MzIwMSwgMCwgMTk5NjMsIDU2OTgsIDAsIDAsIAotICAgIDAsIDAsIDU2NDQsIDEwMjkyLCA2NTU0NiwgNjk3MjcsIDY4MTQxLCA4MzcyLCAwLCA2NTExNiwgMCwgMTIwMDIyLCAxMDE3NSwgCi0gICAgMTAzODgsIDQyNzk5LCA5NDEwMCwgNDEwMTMsIDEwNTY4LCAwLCA5ODM2MTgsIDI4NjksIDAsIDQxMDE1LCAxOTQ2OTIsIAotICAgIDI3ODUsIDQzNjYsIDAsIDEwOTU0LCA0MTgwMiwgMCwgNDI2MDgsIDc4NDY5LCA5ODg0LCA0NzU5LCAwLCAwLCAxMDI2NiwgCi0gICAgNDEzNTksIDExNzAsIDQzMzY1LCA2OTgxMCwgNzM5MDgsIDE2MDksIDkwMiwgMCwgNjM5MzYsIDEyODg3NSwgMTE2NjEsIAotICAgIDgxMjIsIDU4MTgsIDAsIDAsIDM4NjEsIDk1NDAsIDExMDI4LCAyNTU0LCA1MTU4LCA1NzE0LCAyMjEzLCAwLCAwLCA4MDcsIAotICAgIDQzMDc5LCAwLCA3ODQ3NSwgOTc2LCA1NTExLCA2NDU1MywgMCwgNDIxNTUsIDAsIDQxMzU2LCA3NDExMCwgMTE4ODAxLCAKLSAgICAxMjY2MTQsIDAsIDg2NzYsIDk4MzI5MSwgMCwgNTU4MiwgNDUxLCA2Mzk0MSwgNTc5OCwgOTM0OSwgNDIwMTgsIDEyNzg1OCwgCi0gICAgMCwgMCwgNDM2MDksIDU5MDYsIDEyMDU1MywgMTQ0MCwgMCwgMTI4ODUzLCAxMjAwMTYsIDc0MjgzLCAxMTAwNSwgMCwgCi0gICAgNjY2NTYsIDY2MDQ0LCAwLCAxOTQ2OTgsIDAsIDAsIDQzMzkzLCAxMDA5NCwgMCwgMTE1MjksIDEwODU3LCAxMjA2NDMsIAotICAgIDY2NDM2LCA2NTQ2LCA5MywgODEwMiwgMCwgNjg0MDUsIDAsIDAsIDgxNzEsIDAsIDExOTA5NywgMTI3MDY0LCA5MTc1NDMsIAotICAgIDM4MywgNzE1NCwgNDE2NTYsIDkyNjM0LCA5NDA0MCwgMCwgNTE4NywgNzEyOTYsIDEyNzI3NywgMTEyODYsIDY4NjIwLCAKLSAgICA2NDIxNywgMCwgNTIzMiwgMCwgNDEwMDksIDAsIDQxMDA1LCAwLCAwLCA5ODM4MjcsIDgyOTIsIDE5NTA3NCwgNDk4MCwgCi0gICAgODg2MCwgNzM5NDcsIDEwMDI4LCA2NTI5MSwgNzA3NiwgMTMxODIsIDE5NDcwNSwgMCwgMCwgMTA2MzEsIDY2MDMxLCA3OTcyLCAKLSAgICAwLCA3ODc4NSwgMCwgNzkwMCwgMCwgMTEzMDksIDM4MDYsIDQxOTgsIDQyNzI1LCAwLCA2NzY1NiwgOTk5NSwgMCwgOTI1NTIsIAotICAgIDAsIDEyOTMxLCAwLCA0MjY4NCwgNzQyODUsIDIwODgsIDY0MjEzLCA2NDM2NiwgNjUxNTYsIDg4MTQsIDQyMjM4LCA3NDc3MSwgCi0gICAgMCwgMCwgMTI4MzYsIDAsIDAsIDc0MzQyLCA4NTkzLCAwLCAwLCA2ODQ0NSwgMTMyNTUsIDAsIDAsIDc0NjQsIDAsIDY1ODY1LCAKLSAgICAwLCAxOTQ2NTAsIDEyNzE0NCwgMCwgOTM0MiwgMTIwNDY0LCAwLCA2NDUxNiwgMCwgNzg3OTIsIDEwMTI5LCA0MTAwNywgCi0gICAgNzQzNzUsIDAsIDQwOTk1LCAxMjIwOSwgNDEwMTIsIDExOTEzNiwgMCwgMCwgNjk3MjQsIDQwOTkyLCA5MjI2NCwgMTI3MTUzLCAKLSAgICA2ODY1MywgNDM1NTgsIDU1MjIsIDAsIDYxLCAwLCA3NDEwNSwgMzYzMywgOTgzOTAwLCA2NTE2MiwgNDEyMzQsIDEyMDg5LCAKLSAgICA3ODI4MSwgOTc3MSwgOTgzOTA1LCAxMzI1MSwgMTI4NzAxLCAwLCA2MjYyLCAyNzg0LCA0Mjc0MywgMCwgODEyNiwgNjY0ODMsIAotICAgIDAsIDAsIDQ0MSwgNDI2MjEsIDAsIDAsIDQxMDAyLCA0MDk5OSwgMTE5NjIzLCA0MzI2NiwgNzEwOCwgMTk0Nzc5LCAxMDg5MCwgCi0gICAgNzQ0ODEsIDY1ODM0LCA4MzI0LCAxMTkxMDMsIDY0NDE3LCA3NDgxNywgMTI3NDY1LCA2NDczNywgMCwgOTgzNjU5LCA4OTMwLCAKLSAgICA2NjY3OCwgNzQyNDksIDExOTMsIDEwMDU2LCAxODAwLCAxMzI1MywgMTMyNTIsIDc4MjksIDAsIDAsIDc3NDMsIDAsIDAsIAotICAgIDc3OTA0LCA5MjY0MCwgNzc5MDUsIDkwMzQsIDYwMzksIDAsIDEwMDc1LCAwLCA0MTAxOCwgNjU2ODMsIDEwMzM4LCA2NjQ2OSwgCi0gICAgMCwgMCwgMCwgNDI4MTUsIDAsIDQxOTY2LCAwLCAxMjc0NzEsIDAsIDExNzkyLCA0MzA2NCwgNDEwMjUsIDkxMSwgNzUzOSwgCi0gICAgMCwgMCwgMTIwMzM5LCA2NTE1OSwgNjQzOTAsIDAsIDAsIDU1MjAsIDExNjYyLCAwLCA2NTMzMCwgNDI4MTIsIDAsIDAsIAotICAgIDEyMzI2LCA5ODM4NTYsIDAsIDQyODA4LCAxMjgzMzcsIDkzNDgsIDY0OTAxLCA5ODM4NjEsIDAsIDAsIDAsIDAsIDAsIAotICAgIDkxNzU4NCwgNDM3MDIsIDk4MzU3NiwgNTg1NywgNjUzNDIsIDkyNzI3LCAxMTkxMjAsIDEyMDA3OSwgODY0NCwgMCwgMCwgMCwgCi0gICAgNzQyOTYsIDQxOTA5LCAwLCAxMjAzMzIsIDI3OTEsIDY5NjYzLCAxODkxLCA2OTgyNCwgMCwgNDE5MDcsIDY2NjQ3LCAKLSAgICAxMTg5MzksIDg3NjEsIDEyOTQyLCA1NzQ4LCAwLCAxMDc3MywgMCwgMCwgODc5NiwgNzgxNDksIDY0MTIsIDIwNjEsIDg1MjAsIAotICAgIDEzMTQ2LCAxMjcxODUsIDYzOTMxLCAwLCA2NTkwMiwgMjg4MiwgMCwgMCwgMTI4NDMsIDQ1MjAsIDEyMDM0NSwgOTI0NTksIAotICAgIDAsIDk4MzY2MCwgMCwgNzM4NjAsIDAsIDAsIDY0MzQ1LCAwLCA5MjAxLCAxMjgzMTQsIDE5NDk0MCwgMCwgMCwgNDM2NzksIAotICAgIDkxNzU4NSwgNjUxMTcsIDkyMjcwLCAwLCAxMDQyNywgMCwgMzg0NCwgMTIwNjc1LCA5NzU1LCAxMTEwLCA2NjEyLCAxMjIyMiwgCi0gICAgMCwgMTI4Nzg5LCAwLCAwLCA3ODMsIDE5NDkzNSwgMCwgMCwgOTgzMDY0LCAxOTQ3MjAsIDY1MDU2LCAzNjIwLCA0MTE4MCwgCi0gICAgNjgzNzgsIDQ1NTYsIDAsIDAsIDE5NDkzMywgNzQyNTAsIDAsIDY3NjU3LCAxMDUxMCwgNDM4MiwgNjY0ODIsIDAsIDAsIAotICAgIDEyNzUyNywgOTE3NywgODkwMiwgOTM5NTgsIDk4MzksIDAsIDEyODkxLCA5ODM3NTUsIDk4MzYzNiwgNjM5OTksIDIwMTYsIAotICAgIDQxOTE3LCA5Nzg4LCA2MzkyOCwgMCwgMTg2MiwgNjU4MDAsIDkxNTUsIDY2NjIzLCA5Nzg2LCA2NTA4MiwgNDE5MTksIAotICAgIDg1NzksIDQxOTE0LCA3OTgxLCAwLCA2NjAxNywgNDUwOCwgNjQ4ODMsIDkyNDU2LCA5MjUyMiwgMTI3ODE0LCAwLCA2NDU5MiwgCi0gICAgNzQyNzYsIDEyMDA4MCwgNjc4NCwgNzg3ODgsIDY4MTgxLCAwLCAwLCAwLCAxMjc1MzQsIDEyMTQ3LCA5MDI0LCA2NjM3OCwgCi0gICAgNjY0NzIsIDk4MzkyOSwgNjQyODksIDY1Mjg5LCA3ODE1MSwgNjY2NTgsIDE5NDkyOSwgNjQ1MDksIDc4MTUyLCAwLCAKLSAgICAxMjY1MDUsIDExMDUxLCA5ODMyOTYsIDAsIDExMzU1LCA2NTg4NSwgMCwgMTI4MzEwLCA0MTIxNCwgMCwgMTIyOTksIDAsIAotICAgIDc1MDAsIDQ1MDYsIDc3NzMsIDAsIDAsIDk5NjMsIDY4NjQ5LCAxMjY2MDksIDQwNDAsIDEyMDU3MCwgNjE2NywgMCwgCi0gICAgNjM5MjIsIDY1OTQsIDk4Mzc0MCwgMCwgMCwgMzYyNCwgNDMwMzYsIDAsIDYzODcsIDYzOTkwLCAxOTk0NywgNjM5ODgsIAotICAgIDQxOTU1LCAwLCA2Mzk5MywgMTA0NDAsIDk2MTEsIDY1NjA1LCA2ODAzLCAwLCA3NzM4LCA2Mzk4NiwgMTE0NDYsIDYzOTg0LCAKLSAgICA5MjY0MSwgMzQzNSwgNzgxNjQsIDQzODE0LCA0MzgxMCwgNzAyOSwgNjQyNTgsIDQxMjkyLCAxMTg4OTgsIDEyNzQ4LCAKLSAgICA0Mjc0MiwgOTUxNywgMTE1MTgsIDAsIDc4NzkwLCAwLCA2Nzk5MywgNjM5NTYsIDQyNDU4LCA2Mzk1NCwgNjM5NTMsIAotICAgIDYzOTYwLCA5NTkxLCA0NTE2LCAxMDIxNywgNjgzNzAsIDExNDY5LCA2OTY5NywgNDIzMDYsIDI3MjMsIDExODk0NywgMCwgMCwgCi0gICAgMCwgMCwgMCwgMTEzOTcsIDI4ODAsIDAsIDAsIDI4NzIsIDAsIDAsIDM0OTgsIDQzNzgsIDkxNzUzOSwgNDI3MCwgMCwgCi0gICAgNjU1NTEsIDY4MjA1LCA2NjMzLCA0MzM4NywgMCwgNTIzMCwgMCwgMCwgMCwgMCwgMCwgODE2MSwgMzkzLCAxMjAxMywgMCwgCi0gICAgMCwgMTI2NDc5LCA0MTUsIDYzOTY0LCA2Mzk2MywgNDIzNDUsIDkyMzEwLCA1MTgzLCAxODc3LCA0MjQ5OCwgMCwgMjkyNywgCi0gICAgMCwgNjM5NjEsIDQ0NzIsIDAsIDAsIDc4MTU5LCA2OTY5OSwgOTE3OTM2LCA0MjM0MCwgNDc1NiwgMTI4MDc4LCA3MDgxLCAKLSAgICAxMDczMCwgNzY5MSwgMTAzMzEsIDYzODMwLCAxMTk2MjUsIDQyOTIyLCA0MjEwMywgODYyOCwgOTgxMywgMCwgNDI0NTMsIAotICAgIDE2MDQsIDk1NjUsIDEwNTM5LCA2OTcwMSwgNjU3NjQsIDQxNDE1LCA2NTc2NywgMCwgODQ1NywgNDIzMDEsIDExMzcyLCAKLSAgICA2NDg3MywgMTE5OTIsIDAsIDAsIDYzOTgwLCAxMTgwMSwgMzYyMiwgOTgzMTI0LCA2NDMzNiwgMTIwMTcsIDEwNDYzLCAKLSAgICA2Mzk4MSwgNDk2NywgNjQxODksIDE5NjYsIDQzNjI4LCAwLCA5ODMyOTIsIDAsIDAsIDYzOTcxLCA0MzQ3LCA0NDE2LCAKLSAgICA0MjA5OCwgMTEwMDksIDEwNjk0LCA2Mzk3MywgNDAyLCAwLCAxMzE0NywgMTI4NjkyLCA0MjEwMCwgNjQ2NDYsIDEzMjI4LCAKLSAgICAwLCA0MTg3NSwgMzUxNSwgNzQyNTIsIDExODA1LCAwLCAxMTMwMiwgNjI1OSwgNDMzOTUsIDAsIDAsIDE5NDY3MCwgMCwgCi0gICAgOTIzNTEsIDAsIDc0NDI1LCAxMTI5OSwgMTU2MSwgMCwgOTIzNTksIDY0OTQyLCA5ODM1NTksIDE5NDczMywgOTgzNjg2LCAKLSAgICAxOTQ3MzIsIDAsIDc0MzAxLCAwLCAxMTI4MCwgMCwgNjk3ODQsIDc0MDYwLCAwLCAwLCAxMTk2NjQsIDUxNDUsIDEyNDg2LCAKLSAgICA2NTAxOCwgNjY1MTYsIDU0MDksIDEyNzM3OSwgMTk0NjY5LCA3NDAyLCA1Mzk5LCA5Njg1LCA3NDA4OSwgNzk1MiwgNTQwMSwgCi0gICAgMCwgNjY2MTYsIDY4NDIxLCA5ODM5MTksIDAsIDU0MDUsIDEyNzg3NSwgNjQ4NjYsIDAsIDExOTU4MywgMTI4MzQ1LCAKLSAgICA3ODc4NCwgNzQyNDgsIDExMzMwLCAxOTQ3MjMsIDY0NjkwLCAzMjU0LCAwLCAwLCAxMjgyMDcsIDQyMzkwLCA0MzY3OCwgCi0gICAgMTk0NzI1LCA5ODM5MDksIDY1MDc3LCAwLCA2Mzg4LCAzMzU1LCA5NTA4LCA5ODY3LCA1NzIzLCAxMTUyMCwgNTYxMSwgMCwgCi0gICAgMzM3NywgMCwgMCwgMCwgMCwgNzgyMjgsIDAsIDk4Mzc2MiwgNDI2OTEsIDkxNzg4NiwgMTI3MTk4LCA3NDc2NywgMCwgCi0gICAgMTI3MDc1LCAxMzc5LCAyNDYsIDAsIDk4Mzc2MSwgMzc4OCwgOTgzMTA2LCAxMTA0MSwgOTI1NDksIDY2MzA0LCAwLCAwLCAKLSAgICA4OTE3LCA0MjQwMywgMzAxLCAwLCAwLCAwLCAwLCAwLCA5ODM2OTcsIDEwNjU2LCAwLCA2NTIxNCwgMTE5MjQyLCA0MjU2NywgCi0gICAgOTIyMTcsIDEzMTYzLCA5ODMyMDQsIDEyMDgzMSwgNzQ1OTcsIDMxODIsIDAsIDAsIDAsIDY1MDM0LCA2NTg4OSwgNDIxNjksIAotICAgIDQ3NTUsIDc0MjQ0LCAxOTQ2MjEsIDExNDQzLCAwLCA2NjMxOSwgNzQ1OTgsIDYwOCwgNjAwLCAwLCAxMjE5LCAzOTM0LCAKLSAgICA2NDIwNiwgMTE0ODMsIDc0NTEwLCAwLCA3NDQ4NSwgNDI0NDIsIDY1NDcwLCA5ODM5MDcsIDY0MjAyLCAxMzE2MCwgNzc1OSwgCi0gICAgNDI0ODIsIDQ4NSwgMTI4MDA2LCAwLCA5ODI4LCAwLCAwLCA0MjI4MCwgMCwgOTM1MSwgNzc3OCwgNjQzNzksIDc0OTYsIAotICAgIDQyNDMxLCA2OTE2LCAxMjA4LCAwLCAxMTk2MzEsIDExMDAyLCA0MjQ3MCwgMCwgMTE4OTQ2LCAwLCAwLCA3NDA0MSwgMCwgCi0gICAgNzAwNDUsIDQzNTM5LCA1NDExLCA0MjE5NiwgMCwgMCwgMCwgOTE1MCwgMCwgNDIzOTMsIDEzMDg2LCAxMzEwLCAxOTQ2ODcsIAotICAgIDkzMzcsIDEyMDUyLCAxMDY0MywgNTUyNzEsIDk4MzE3OSwgMTIxNjYsIDI1NDYsIDE5NDY4MywgMjEzLCAxMTg4NTIsIAotICAgIDY1NjExLCAwLCAwLCAxOTQ3NTYsIDc0MzEwLCA2NTU0LCAwLCAxMTkxNCwgNTQ1MiwgMCwgMCwgMCwgMCwgMCwgMTk0NjgxLCAKLSAgICA5MjU2MCwgMjcxMywgMCwgOTY1MCwgNDMzMzAsIDAsIDE5NDY3NSwgMTQwNiwgMCwgMCwgOTI2NTksIDAsIDY4MjIzLCAKLSAgICA0MTQzLCAxOTQ2NzcsIDAsIDY1NzQ4LCA0MTQxLCA5NjgyLCA2NTI4NywgMTUwOCwgMTI3MDEzLCA4Nzc5LCAxMDU2OSwgCi0gICAgODcyNSwgMTMyOTksIDY2NjM4LCA2NTc1MCwgNDIyNjMsIDQxNDUsIDYzODAsIDY1NzUxLCA2NjYxMywgNDM5OTQsIDY1NzM4LCAKLSAgICA1NTI1MCwgOTE4NSwgOTU1MCwgMCwgNDM0MDMsIDAsIDAsIDAsIDY1NzM2LCA0MTk1MSwgNjQ4MTYsIDY1NzU2LCA5ODMyMDUsIAotICAgIDEyOTU1LCAxMDU5NiwgMjg4OCwgMTk0NjQ1LCAwLCAwLCA5NjU3LCA5MDE5LCAxOTQ3NjYsIDAsIDI4NzgsIDUzOTAsIDAsIAotICAgIDE5NDk2MSwgMCwgNjg2NzksIDQzNTUyLCA3NTAxLCA2MzI4LCAwLCAxMDQyOSwgMTAzNjUsIDAsIDAsIDQxOTQ2LCA3NTAzLCAKLSAgICA1MjM1LCA4MDMsIDY4MzgxLCAwLCAwLCA4OTg2LCAxMjY1NDIsIDEwNjMyLCAxMTkzNCwgMTE0NTIsIDEzMzIsIDAsIDAsIAotICAgIDEyNjY0NywgMCwgMTE4ODg3LCAxNzkxLCA1MTkxLCA5Mjg4LCA2NDgyMiwgMjg5MiwgMCwgNDMzOTQsIDU1NSwgMCwgMCwgCi0gICAgNjY2NDYsIDAsIDExOTAwMiwgMTMxNTEsIDc0NTEyLCA3Mjg5LCA3NDA1NSwgNjQxNjEsIDg4NTQsIDY0MTYyLCA1ODU4LCAKLSAgICA0MTkyNywgMTA1ODIsIDAsIDE3ODQsIDEzNjEsIDE5NTA0NywgMCwgNzkwNSwgMCwgNjQ4NjgsIDEyODgxMywgMTMxNTgsIAotICAgIDkyMTY2LCA3MjExLCAwLCA5MzcxLCA3Mzk3MywgOTE3NTUzLCA2ODI4LCAxNjI1LCA5MjMwMiwgMCwgMTM0MiwgNjg0NDAsIAotICAgIDY0MTcxLCAxMjY3MDQsIDEwOTAzLCA5ODM0OTQsIDAsIDAsIDAsIDAsIDQ0ODIsIDQxNjA2LCAwLCAxMjg1NjksIDk4MzExMiwgCi0gICAgMCwgNjQzODEsIDAsIDAsIDE5NTA5MCwgNDIyNDUsIDEyNjQ2NywgNDE5NzIsIDAsIDQ0NCwgMCwgOTEyNywgNjY2ODcsIAotICAgIDY2NjE5LCAxMjY0ODksIDc4MDI1LCAwLCAxMTM0OSwgNDA5OTEsIDkxNzU3MCwgMCwgMTE5NTk5LCAxMjA4MzAsIDAsIAotICAgIDExOTcsIDEyODI4MiwgMTE0OSwgMTk0OTcwLCAwLCAwLCA0MDk5MCwgNDM3NjUsIDAsIDM0OTIsIDAsIDEyNzk0MiwgMCwgMCwgCi0gICAgMCwgMTI4MzgsIDk4Mzk3OCwgMTk5NDgsIDAsIDMwOTksIDAsIDAsIDQxMDg3LCAwLCAwLCAwLCAxMTkwNTksIDEyMDM2LCAKLSAgICA0MTMwOSwgMCwgMCwgODE1MiwgMCwgNDE1NTAsIDEyMjI3LCA5ODM2MTMsIDAsIDEyODI4LCAxMjc1MTEsIDAsIDAsIAotICAgIDEyMDcwOCwgMCwgMCwgMTAzODYsIDExOTU3NCwgMCwgMCwgOTI2ODAsIDk4Mzc4OSwgNjgxNTQsIDAsIDE3NDMsIDAsIDAsIAotICAgIDkyMjM5LCA2NTE4NiwgOTE3NTcxLCAwLCA5NjA2LCAwLCAwLCA2NDQzOSwgMCwgMCwgOTI2ODYsIDAsIDAsIDE5NDk2NywgMCwgCi0gICAgMCwgMzM5NSwgOTM2MiwgMTA4NzgsIDAsIDAsIDc4MzYyLCA2NDgzMCwgMCwgMTI2NTU3LCA0MTA5MSwgMzQyNiwgMTM0NCwgCi0gICAgODg3MCwgMCwgMCwgNDczNSwgMTI3MDE3LCA2MTE5LCAxMjgyMiwgNDI2OTksIDAsIDk4MzgyNCwgNzQ4MTgsIDE0MjMsIDAsIAotICAgIDQyNjM3LCA0MTA4MCwgMCwgMTIwMzksIDEwNTU5LCAwLCAxMTg4OTIsIDAsIDk0NzIsIDAsIDExOTI5LCAwLCA3MTcwLCAKLSAgICA5NTk2LCA2MTMwLCAxMjg4MjYsIDQzNjI5LCAxMTU3OSwgNzg3MTMsIDAsIDE5NDc0MCwgMTI4NjkxLCA5MjE4NSwgNjY2OTksIAotICAgIDY0NDQwLCAxMDA0LCA5MjU4NCwgMTk0NzM3LCA0MzIzNCwgNjYwMDgsIDEyNjI3LCAwLCA2ODQxNCwgMCwgNDM2MTksIAotICAgIDQzMzAzLCAxMTMwMCwgNDMzMDQsIDk2ODYsIDU4OTAsIDExNzc2LCA3NTU4LCAxMjcxNTgsIDY1NjI3LCAwLCAxMDcxOCwgCi0gICAgMTMxNTQsIDM0NjEsIDkxMzksIDAsIDAsIDAsIDAsIDY1MzY1LCA3Mzg3NywgNjU2MjgsIDc4MDE5LCAxMjAzMTksIDAsIAotICAgIDQxNzA4LCAxMjg2MCwgMjY0MSwgMTIwNjksIDEwODM4LCA1NDAzLCAxMDM1MiwgNzAwODUsIDEwMDYxLCA0MzIzNywgMCwgCi0gICAgNTE0MCwgMjA5LCAxMjg4NDcsIDQxNzA0LCA0MTA1NiwgNDMwNzgsIDEyODEyNSwgMTE4ODA5LCAwLCAxMDg5OSwgNjU0NjksIAotICAgIDkyMzYyLCAwLCAwLCAyNDEwLCA5OTMsIDAsIDEyMDU4OSwgMTIwNjg5LCA3ODY5MywgMCwgMCwgNzIzMiwgMCwgMTE5MjUzLCAKLSAgICAwLCA3MTEwLCA3NDQ2MiwgMjA2NiwgMTA0ODksIDQyMTY2LCA0MzQ2MywgMTA2NTksIDM2MDAsIDAsIDQyMjQsIDEzMzYsIAotICAgIDQxNTE4LCAwLCAwLCAwLCAwLCA0MTEzOSwgNjQ4MjAsIDkyNTM4LCAxMjk2NiwgNDExMzQsIDAsIDAsIDAsIDAsIDI3MiwgCi0gICAgNDI2MywgODc5MywgMCwgMCwgNDE1MDIsIDAsIDk4MywgMTI1NDksIDAsIDAsIDExOTAsIDQxMDksIDEzMzUsIDg0MSwgCi0gICAgNTg4OCwgNDEzNTgsIDY0ODYzLCA5NTQ0LCA0MzQ4MSwgMCwgMTk0ODA2LCA3MDAyNywgMjA5OSwgNTEyMCwgMjQwOSwgCi0gICAgNzc5OSwgMCwgNzQ0MjQsIDAsIDAsIDQ3MzEsIDAsIDY2NjI5LCAwLCAwLCAxMjU1LCA0MTQ5LCA5MjQ3LCAwLCA5OTEzLCAwLCAKLSAgICAwLCA2NDkxNCwgOTE3Nzg3LCA2NTEwMSwgMCwgMTE2OTQsIDkyNDc1LCAxMTY5MCwgNTgzNSwgMTI3MTY0LCA2NjYyNSwgCi0gICAgMTA4NDIsIDQxMzU0LCA0MjEyMywgNDMwOTcsIDExNjg4LCA2NjYzNCwgMTA5NCwgMTk0LCA2NDY5MiwgMCwgODE4MCwgMCwgCi0gICAgMCwgOTk3MiwgNzM4NjUsIDQ1MTksIDYxMTQsIDEwODk4LCA0MzA3MiwgMCwgMCwgOTM5NjAsIDk4MzMyMiwgMTI2NTgxLCAKLSAgICAxMDY5NSwgMCwgNzU0MCwgMCwgODgxLCA3ODU3LCA2MDY3LCA2NTE2NCwgMCwgMCwgMCwgMTMzMTEsIDY4NDAzLCA0MTg1NywgCi0gICAgNjQzMjEsIDgzNTksIDAsIDEyNjg5LCAwLCAxOTQ1OTQsIDAsIDk4MzMxMiwgOTgzODgxLCA2ODE4MywgMCwgOTgzMzE0LCAKLSAgICAxMjg3LCA1NDM2LCAwLCA5ODMzMTcsIDc0MTQyLCA5MjMyOCwgNzQxNTIsIDExOTA3OCwgNjA1MSwgMTA0OTcsIDY5NjY4LCAKLSAgICA4OTg1LCAxMjEwOSwgOTgzMzIzLCAwLCAxMjcyNDIsIDAsIDAsIDM2NTIsIDEwNTM3LCAwLCAxMjc2LCAxMjA0NDAsIDY1NDksIAotICAgIDI3OSwgNzM3NDUsIDAsIDAsIDAsIDE0ODksIDAsIDAsIDAsIDM4OTksIDEwMDcsIDQyMTI0LCA5ODM1NTcsIDQyMTIyLCAKLSAgICA5MjMzNywgOTIzNjcsIDAsIDExOTg1LCAxMzQ1LCA3ODYwMCwgMCwgMCwgODk1NiwgNDMwODMsIDk0MDU3LCA0MjEzOCwgCi0gICAgNzg2MTAsIDAsIDEyMTUxLCA3ODYwOCwgNzg2MDQsIDc4NjA1LCA2Mjg1LCA3ODYwMywgNzg2MTIsIDc4NjEzLCA2NTk0MiwgCi0gICAgNDkyLCA4Njg1LCAwLCA5ODM3NTksIDAsIDc4NjIyLCA0MzcxMiwgMjU4MiwgMTE0NzAsIDY0NTM4LCA3NDQ0LCA3ODYxNSwgCisgICAgNzQyNTEsIDAsIDEyMDY0NywgMTI4OTMwLCA1MCwgMTA1NTgsIDk4NzEsIDQyNjEyLCA0MzY1NSwgMCwgOTgzODE4LCAKKyAgICA3NDI4NCwgNjY0NjgsIDY2OTA1LCAxMzI1OSwgNDQ0OCwgOTE3ODA0LCA5ODM4NDUsIDExMzczNCwgNzAwNDMsIDEzMjEsIDAsIAorICAgIDEwNjQwLCAxMTUzOSwgMTE1MSwgMCwgOTE3NjA3LCAxMjQ5NTgsIDEyNzA3OSwgNzExMDYsIDEyNzg1MiwgMCwgMCwgCisgICAgOTgzMDc1LCAxMjUwMSwgNjQ2MDQsIDEyODY1NywgMTE1MjcsIDExODg3MCwgODgxMiwgMCwgMTE1MzgsIDg2NzMsIDEyNjUwLCAKKyAgICAxMTAyMCwgMCwgNjY0NjcsIDIxMDUsIDgwODcsIDc4MTYzLCA2OTYzMiwgOTg5NCwgMCwgMTI4OTQzLCA2OTk5NSwgNDYzNiwgCisgICAgNTUyNjIsIDc4NTEzLCA0NTE1LCAyMzgyLCAwLCAxMjcwNTUsIDAsIDEyMDQ5NSwgMCwgMTI4Mjg0LCAxMjI3NywgMTk0NjI3LCAKKyAgICAxMTk5NSwgOTI1NTMsIDAsIDEyMTU4LCA3MDE3MCwgODc0MSwgMTAxOTcsIDAsIDkyNDI2LCAwLCA2NTMxLCAwLCAxMjc4NDYsIAorICAgIDQ3MywgNDM0MTUsIDkyOTM2LCA5ODM2NTAsIDE4NzMsIDEwODcsIDEyNDk2NiwgMCwgNzQyODAsIDc4NTI3LCA2NjQzOSwgCisgICAgNDMyMTgsIDk4MzEyMywgMTk0NzE2LCA3MjM3LCAxMjUwNCwgNzExMTMsIDAsIDk4MzU3MSwgOTgzODg2LCA5NDg5LCAwLCAKKyAgICA3MDg0MywgNDM4NCwgNzQyMjAsIDYzODQ1LCAyMDU4LCA2OTc0MSwgMTMyOTUsIDQzMTkxLCAxMjgwMzAsIDE5NTA1NCwgCisgICAgMTE1NCwgMzg1NywgMTIwNSwgMCwgMCwgMTMxMDAsIDEyOTU4LCAxMjA3MDYsIDc0MTY4LCAwLCA3MDg0NiwgNDQyMSwgCisgICAgMTA1OTIsIDAsIDQ5NSwgNjY0MDAsIDQxNzEyLCA3OTgzLCA3MDgzMywgOTM5OTcsIDk4MzMzMCwgNjM0NywgNzg3MTUsIAorICAgIDc2NTQsIDQxNzEwLCA0MTk2LCAwLCA0MzcsIDQxNzA5LCA3Mzc3MiwgNzA4MzIsIDAsIDk0NjUsIDEzMjkwLCAxMTkxODAsIAorICAgIDQ5OTcsIDY0MzA2LCAwLCAwLCA0OTk5LCAxOTQ2NDIsIDY3NDAxLCAxMjY1ODIsIDQ3MTEsIDEyMDc2OSwgMCwgMjczOSwgMCwgCisgICAgODA0NCwgNzQzMTMsIDE5NDY0MywgNDE3ODksIDEyODE0MiwgMTA4MDksIDY2Mjc5LCAwLCAwLCAxNzc5LCA2NjAwLCA2NjAxLCAKKyAgICA0MTU0MywgNTMyNSwgNjQyLCA2NDE4NywgMTMwNTgsIDEyMDQ0OSwgMTI4NzUsIDk4MzgwNCwgOTIxODYsIDEzMjI5LCAKKyAgICA3MTg0NSwgMTA1NzUsIDQzMzk5LCAwLCAwLCA0MTc5MSwgMTEwNCwgMCwgOTgzNzI1LCAxMDY1NSwgMCwgMCwgMCwgMCwgCisgICAgMTA4MiwgMTk1MDQ5LCA4NDI4LCA2NTY5LCAwLCAwLCA3ODUzNCwgNjk4NDksIDY3ODMsIDAsIDEyOTkzLCA4MDQ5LCAKKyAgICA0MTU0OCwgNDQwMjEsIDY0NTgsIDk4MzgwNywgMTI4ODgyLCA0NzYxLCA2MzgyOCwgNDc2NiwgNjQ2MjMsIDEyNzMsIAorICAgIDQzNDA3LCAxMjA2NzcsIDExODg3NiwgMTk1MDQ1LCA2OTEyLCAxMzEzLCA2MzIyLCAxMDQ4MywgMTI4NjI3LCA0MTU0NSwgMCwgCisgICAgOTI0NDksIDAsIDExMjE2LCAwLCAwLCA3ODYyNCwgMzQ4NCwgNzQzMzcsIDAsIDAsIDg1MDMsIDUxMjIsIDQxNTI3LCAKKyAgICA3MTkxMCwgNjYzMjAsIDcwMTYxLCA5Mjk3MiwgMCwgMCwgNDE1MzcsIDY2NDUzLCA4MzAzLCA4MjgyLCAxMTgxNywgNzM4NTcsIAorICAgIDEwMDAzLCA3Mzg1OSwgNjU5MDQsIDczNjMsIDE2ODYsIDAsIDcwMTE1LCAxMTQ2NywgMzY2NCwgNjU5MjEsIDY0Mjk5LCAKKyAgICAxMjQ5MzksIDEyODQ2MiwgMCwgNDMyNCwgMTI2LCA0MjI0NiwgMTE5MTUyLCA2OTk4NCwgNjc3MjUsIDY1OTI2LCA3NzQ0LCAKKyAgICAxOTQ2MzYsIDc0Mjc3LCA2NjI4MywgNzgwNTIsIDQzODE3LCA2OTY2LCA0MzgyMiwgODEzNiwgMCwgNjU2MDAsIDE2MzMsIDAsIAorICAgIDEyNjYxNCwgNDc2MiwgMTEwMywgNzA4MjcsIDcwMTU3LCA0NzY1LCA5ODM0OTIsIDEzMDc4LCAwLCA0NzYwLCA2MzgyNywgCisgICAgMjA1MCwgMTA4NzEsIDQzMTk5LCAxMTAyLCAwLCA0MjIzNiwgMTI4ODY3LCAxOTQ2NjcsIDExNTQ2LCA3NDc5NCwgMzM3LCAwLCAKKyAgICA0MjU5MSwgODYyNywgMTIyNzksIDExMTEsIDAsIDkyMTYxLCA0NzA3LCA2ODIwNiwgMTAxNDMsIDc4ODMsIDEyNzA4MSwgCisgICAgNzg4MCwgNDUyMiwgODY0NSwgNTcwNCwgMTMwMTAsIDY5Nzk2LCA4MzA0LCA5Mjk4MiwgMCwgMTE5NTc1LCAyMjkzLCAKKyAgICA3MDE5NSwgNjY2NTQsIDEyOTA3NywgOTI2NzYsIDAsIDEzMDA4LCAxMjcxMjEsIDQzODUsIDEyODczNiwgMTMwMTEsIDAsIAorICAgIDkyNTY5LCAxMTkxNjEsIDEzMDA5LCAxNjAsIDI2NzcsIDAsIDAsIDQxNzkzLCA2NTc2MywgNzQyMjEsIDcwNzkwLCA0MTc5MiwgCisgICAgNDI3NzAsIDk0MDU0LCA2NTc2MiwgMTE4ODI5LCA0MzgyMSwgNTcwOSwgMTI4Mjk2LCA3MTA3NiwgNDM4MTYsIDAsIAorICAgIDk4Mzg5NiwgMTA3OSwgMzg2NywgNTcwOCwgMCwgMCwgNDM3OTcsIDU3MDYsIDY0NzY4LCA1NzA1LCA4NzkxLCA0MDA1LCAwLCAKKyAgICAxMDIzNywgMTA5OTEsIDEyODgxNiwgNDM0NTksIDkxNzMsIDkxNzU4MSwgOTE3NTgwLCAxMzE3MCwgMTI1NDAsIDkxNzU3NywgCisgICAgNDI2MDUsIDEyMDc2NSwgMTI2NjE3LCA2ODY0NywgOTE3NTcyLCAxMDA1OCwgMCwgNzQ4NjcsIDY3NzMwLCAxMjcwNzgsIAorICAgIDMzMzksIDExNDQ4LCAxMTA2LCA5MTc1OTEsIDkxNzU5MCwgOTE3NTkzLCAzMzQwLCA3NDAxNywgOTE3NTg2LCA5MTc1ODksIAorICAgIDEyOTE0MSwgMTIwNTQxLCAxMDYwNSwgMTMwOSwgNjM5NjYsIDEyMDc0MywgMTc1NCwgOTIyMjYsIDEzMjQ2LCA4NjQsIDAsIAorICAgIDExODkyNiwgODk3MiwgMTI4NDEwLCA3ODQ5LCAxMjAwOTIsIDkyNTMzLCAxMzI0MCwgMTk1MDY4LCA1MTkyLCA0MzM4LCAKKyAgICA2Nzk4MiwgMTA5NDgsIDY2ODI1LCAxMzE5OSwgOTI1NzUsIDEyMzYsIDEzMjA4LCAxMzI2MSwgMTMxODksIDEzMTg4LCAKKyAgICA5Mzk5MywgNzE4NDcsIDc0NDAsIDAsIDEyMDE1MywgOTU1MywgMTU5MCwgNjM3NzcsIDYzNzc2LCAxMzE3OCwgNjM3ODIsIAorICAgIDYzNzgxLCA2Mzc4MCwgNjM3NzksIDE1ODMsIDExOTkyMywgMTMyNjAsIDQ1NTAsIDEyMDU5OCwgNjQyMDUsIDk4MzI0NSwgCisgICAgNzEwNzEsIDQxNTIyLCA0MTUyMywgNjg1MjMsIDk4Mzc3MiwgMTE4OTIzLCAxMTM1NCwgOTQwNzEsIDAsIDQyNzk1LCAwLCAKKyAgICAxMTkxOTUsIDExMzk0LCAxOTQ2NDYsIDEzMjM2LCAxMzI3MiwgMTMxOTQsIDEzMzQsIDY5OTI2LCA0NDc5LCAxMTc4LCAKKyAgICA2NTU4NiwgNjgzMTEsIDY2NjgxLCAxMTkxOTMsIDQ2MDEsIDAsIDAsIDk4Mzc2NSwgNjY4MjgsIDAsIDEyNzgzOSwgMCwgCisgICAgNjgwOSwgNjM3ODYsIDYwMzEsIDY3NDAyLCA2Mzc5MSwgNjM3OTAsIDExNDUsIDYzNzg4LCA3OTEwLCA2Mzc4NSwgNDMxNTMsIAorICAgIDc1NCwgMTAxOTIsIDEzMTA1LCA4MTgzLCAxMjA3NDEsIDIwMzcsIDAsIDY0NzEwLCAxMDc0NywgMTI1LCAwLCA2NDg5MCwgMCwgCisgICAgMTI3Mzc2LCAwLCA0MTcxOSwgNjM3NTgsIDM1MjMsIDEwNzQsIDEzMjU4LCA5NTM2LCA3MTA1NiwgMCwgNDQyNywgNzQyNDIsIAorICAgIDYzNzU3LCA0MzE0NSwgMTIyMTcsIDYzNzU0LCA0MTUzMiwgMTM0OSwgNjM3NTAsIDYzNzQ5LCAxMjkwMjUsIDAsIDAsIAorICAgIDYzNzUzLCA2MzgwMiwgNDEwODQsIDEyMDYyMiwgNjgxMzMsIDQxOTMwLCA2MzgwNSwgNjM4MDQsIDExMTQwLCA2MzgwMSwgCisgICAgNDEwODIsIDgxNDAsIDYzNzk4LCA2MjYwLCAwLCAxMjgzOTEsIDk0MDc0LCA2Mzc5MywgMTE5ODgsIDM4OTgsIDkyMjQ2LCAKKyAgICAxMDIwMSwgMTIyMzgsIDYzNzk1LCA0MjE5NCwgMTAzNjcsIDEyNTIxLCAxMDQzMSwgNDIxMTQsIDQxOTMyLCAxMDY4LCAwLCAKKyAgICAxMjUyMywgMTI5NDUsIDk4MzMyOSwgNDIyMDMsIDc5NTAsIDMxMjQsIDYzNzcxLCA0Mjc4NywgNDM4NiwgMTExNDgsIDY5NzMsIAorICAgIDI3OTMsIDEyNDc1LCAxMjkxODAsIDEyODUwMSwgNjM3NjksIDk1MzAsIDk4MzExOSwgMTIyMzIsIDEzMTM1LCA4NTk2LCAKKyAgICA1NjgxLCA2Mzc2MiwgNDU5NSwgNjM3NjAsIDc5MiwgMTEzNjc0LCA2NDgwMywgMCwgODc0MiwgMTk1MDI5LCAxMTA1MywgCisgICAgMTI4Nzk2LCA2Mzc0NCwgMTI4MTA3LCAxMjg5NDIsIDc1ODgsIDYzNzQ4LCAxNjkzLCA2Mzc0NiwgNDMyMDQsIDUwNTUsIAorICAgIDY4NDI2LCA0MjA2MywgMTA5MCwgMTIwNjc5LCAxMjUwMDgsIDExNjY1LCA3NDEzMywgNDU1OCwgNjU2ODUsIDk1MjMsIAorICAgIDk4MzQ1MSwgMCwgNzEyMTYsIDExNTEzLCAwLCA2MTU3LCA2Mzc3NSwgNjM3NzQsIDYzNzczLCAxMzE5MSwgMTIxNzAsIAorICAgIDM1MDAsIDMxMzksIDEyMDUzOCwgMzE3MCwgMTI0ODUsIDAsIDEwODcyLCA3ODI3MSwgMTMwMDYsIDY0NDMzLCAxMjAwNzQsIAorICAgIDAsIDk0MSwgMCwgMTI5MDc5LCA5MTc4NTMsIDY1NTQxLCAxMTA2MywgMCwgODIyOCwgMCwgNDIwNjUsIDEyODM2OCwgMCwgCisgICAgOTQwMzksIDAsIDkyNDU1LCA3Mzg2LCAwLCA2NDQ0NCwgMCwgMTE5ODYzLCA0MzYwMywgOTQwNzUsIDY1Mzk3LCAyODgsIDAsIAorICAgIDAsIDAsIDEwMDI1LCA2OTkxNSwgMjkxOCwgNjY4MjAsIDY1MzAwLCAxMTk4NzEsIDk4ODMsIDY0NzI2LCAyNzkwLCA2NTM5NSwgCisgICAgMzc5MywgMCwgMTI3ODI5LCA2NTM5MywgMTIwNTkyLCA3NDEzOCwgMCwgOTI3NTEsIDc3OTU4LCA3NDEzOSwgNzg3NzcsIAorICAgIDY1Mzk0LCAxMTU0OCwgNTI3MCwgOTgzMjM2LCA2NTM5NiwgMCwgNjU4MTMsIDEzMjU2LCAxMjgyLCAxMjA3NzEsIDAsIDAsIAorICAgIDEwODg4LCAxMjc0OTAsIDY1MjQyLCAwLCAzMzMwLCAwLCAwLCA2ODM0MCwgMCwgMCwgNzEyMDIsIDMzMDQsIDQyNzUzLCAKKyAgICA5MzA0NiwgMCwgNzQ2NDMsIDE2MjcsIDAsIDAsIDAsIDUzNzEsIDEzMTE2LCAwLCAxODI2LCAxMTg3OTQsIDAsIDQzMDk0LCAKKyAgICA3MDAyMywgNDM2NTAsIDk0MDM3LCA2ODMxNywgOTAzNSwgMTExNDEsIDAsIDEyODAwNSwgMCwgOTIyMDcsIDY4MTI1LCAKKyAgICAxMjg0NjcsIDE2NCwgNjgzMDksIDk0MDY3LCA5NDAwMCwgNjk1OCwgMCwgNDMxMTYsIDY3NzE5LCA3MDAxOSwgMTMyNDUsIDAsIAorICAgIDAsIDY2ODE4LCAwLCA3MDAzMSwgMTEwOTksIDEyNjY2LCAxMzE3NSwgMTMyMDcsIDEyMDQxNCwgNjYwMTQsIDEyMDQyOCwgCisgICAgNzQ0NywgNTkyOSwgMCwgNjU1MDksIDEyOTE5MiwgNzQ0OSwgMTEzMDYsIDAsIDczOTIwLCAzMTgwLCAxMjUxMDIsIDYzODA4LCAKKyAgICA5MDU0LCA5NzEsIDEzMDYyLCA3MTA5MCwgMCwgNjUxOTUsIDEwMTY0LCA5MjI1MiwgNzQ0MjgsIDAsIDc4MTQ2LCA5MjYxMSwgCisgICAgMCwgNzAyMDQsIDAsIDEwMDQ1LCAxMjg4MiwgMTMyNzUsIDIzMDMsIDExMDU3LCAwLCAxMzI3NiwgMTI1MTMzLCA0MTUyNSwgCisgICAgNzgxNTAsIDcyNzEsIDExNDQ0LCAxMjY0NzksIDEyOTE1OCwgMTI4MTEyLCAxMjIyOSwgMTE2ODAsIDAsIDQzNDExLCAKKyAgICA3Mzc1MSwgMCwgNjQ4MTMsIDAsIDAsIDEwNDc2LCAzODU4LCA2NDE3NSwgMzkzMiwgNjQ5NTgsIDEyMDQzMiwgMCwgNzM5ODksIAorICAgIDY4MTkyLCAwLCA2OTg0NywgMzY5LCAwLCA0MTc4NCwgMCwgNjQxNjMsIDc3OTk3LCAwLCA5MjY0NSwgNjU0NzQsIDQ3OTYsIAorICAgIDEyMjkyLCAxMjY1OTUsIDY1NDc5LCAxMjg2MzEsIDQxNzgxLCAxMDQ4NiwgNDE0ODAsIDQzMDAyLCA5ODk5LCA5MjYwOCwgMCwgCisgICAgNDA0LCAxMjgyMSwgMzc0MSwgMCwgNTc4OCwgODA5MiwgNjgyMTIsIDQxMjIyLCAxODMxLCA2NjAyMCwgMzk4MiwgMCwgCisgICAgNDM4OCwgMCwgNzQ2LCAxMTg4MjYsIDc0NzgzLCAwLCAxMjAxOCwgNjUyOTQsIDEyNzU0NSwgMCwgMCwgMCwgNDQyMiwgCisgICAgNDcwOCwgMzc5OSwgNzQyOTIsIDExOTM1NywgMCwgNzQ0MzAsIDAsIDExNzAwLCA0Mzc0LCAwLCAxMjgxNzksIDEzNjQsIDAsIAorICAgIDgwMzgsIDAsIDkxNzU5NywgMTI4NjgsIDY5ODE0LCA3MDQyNSwgNjczNSwgNzM5NzksIDEzMTc0LCA3Mzk2OCwgMTMyMjUsIAorICAgIDE5NDkwMiwgNjk4MDgsIDY1ODM1LCAwLCAyMzY1LCA3ODQxLCAwLCA0Mjg1NSwgMTE4ODU2LCA0Mjg2NiwgMCwgMCwgCisgICAgMTI3OTg2LCA2NjQzOCwgNDE3ODUsIDEyNjE3LCA2NDE3MiwgMTMxNzMsIDQzNzIsIDExOTM1NCwgMCwgOTgzNTY4LCAwLCAKKyAgICAxMjc4MjEsIDY3Njg1LCAxMjgwNjIsIDEyOTY1LCAzODQsIDY0NTEyLCAxMDQwNCwgMTAzNDAsIDExOTM1MiwgMTU1NiwgCisgICAgNTI3NCwgMTMyMTAsIDEyMDEyNSwgMTAwMTcsIDk3MzMsIDQxNzg3LCA5ODMyNDMsIDEyNjk5NCwgNDEzNzMsIDY4NDg2LCAKKyAgICAxMjMwMywgMTI4NDc2LCAxMzIzMiwgMTMyMzMsIDM0OSwgNDg2MywgNDEzNzEsIDExNjU2LCAwLCAxMjA3MDMsIDExOTg4MywgCisgICAgMTI4NjEsIDQzOTgsIDg1NDMsIDY1NjE4LCA5MjczNywgMTA5NiwgNDM4NTIsIDAsIDQyNjg4LCAxMjQ0MSwgMTIzNTUsIAorICAgIDExOTM0OCwgMTE5MzQ3LCA0MzE4LCAxMDQ1MiwgOTI5MDIsIDgwMzIsIDEzMjQzLCAxMzIzNywgMTI3MTksIDEyNjY0NiwgCisgICAgMTE5MTAxLCAwLCA2NDg4NCwgMTE5ODcyLCAxMTkzNDUsIDg1OTcsIDcxMTAwLCAwLCA5ODY0LCAwLCAxMjA3ODUsIAorICAgIDExOTg3NCwgOTQxMDcsIDEzMTk1LCA0MTQ1MiwgNjQ5NjEsIDc3MjIsIDAsIDEwNDU5LCAxMTk4NzgsIDEyNDk0OSwgCisgICAgMTE5ODc5LCA2NjU5MCwgMTI4MTIzLCA0MTUzMywgNjYzMzcsIDAsIDkyMTg0LCAwLCA0OTY1LCA0MzQ0NSwgOTE3NTM2LCAKKyAgICA2Nzg1NiwgMCwgNDM2MzgsIDc4NTM2LCAxMjgyODcsIDYyNjEsIDExOTM0MiwgNDMxNDcsIDY2NTcwLCAxOTU3LCAxMDQyMCwgCisgICAgOTgyLCAyNzU2LCAxMzI5MiwgMTMyMDYsIDEyNTA2NCwgMCwgMjkyNSwgNzM4MDksIDEzMDU2LCA5MjkxNCwgMTMyMTIsIAorICAgIDQzMjM4LCA5ODMxNDIsIDEzMTkwLCAxMzE4NywgOTI1NDEsIDEzMTk4LCAxMTg3OTMsIDAsIDUyNDIsIDExOTE3OSwgCisgICAgNjQ0NzYsIDE2OTQsIDgyMTYsIDcxMzY5LCA2NzcwLCA0MzMzMSwgMCwgNjU2MjAsIDk4MzcyOCwgNDM1NDQsIDEyNjQ2NiwgCisgICAgMCwgNDE0NDQsIDY1NjIxLCA2OTk1NSwgOTE5NywgNTI0NiwgMTE5MTA2LCAxMzE4NSwgOTcwOSwgMTIwMzIzLCAxMjAzMjIsIAorICAgIDEyMzE0LCA2NTYxNiwgNTIzOCwgNDM4MjUsIDcxMDg1LCAxMTkzMzcsIDUyMzYsIDQwOTc5LCA5ODMxNDAsIDcxODc0LCAKKyAgICA4Mjg2LCAxMjg1MzcsIDM5MzYsIDExOTMzMSwgMTE2OTksIDQxMzQ3LCAxMjcyNDksIDEzMjM1LCA4ODQyLCA0MTI0OCwgMCwgCisgICAgNDM3OSwgMTMyMzksIDEyNjkyLCA3OTY5LCAxMjcyNjYsIDcyMTksIDcxODc1LCAxMjgyNTEsIDEyMDUwOSwgOTI5MDcsIAorICAgIDY2MjI0LCA3MzQsIDI5NzksIDEyMDMwMywgNjU2MTksIDk4NzIsIDk1NywgNjQ5MjEsIDE4NDYsIDY2NjMxLCA0MTQ3NywgCisgICAgMTE5MjU2LCA3MTE5MiwgNzQ1MTEsIDQxNzcwLCAxNjcwLCA2NDQyLCAxMjAzMTcsIDQyNDQ2LCA1Mzc5LCAxMjAzMTgsIAorICAgIDQxMTYzLCA3NDgzMiwgMTExMzYsIDcxODc2LCAxMTUwNiwgMCwgNDI4NDEsIDEzMjY3LCAwLCAwLCA0MTc3NSwgMCwgNzEzMCwgCisgICAgNDE3NzMsIDAsIDEwNjYzLCA3MDEzMCwgMCwgOTgzOTc0LCA2MTUxLCAxMjExMCwgNDI2NzMsIDY1NTcyLCA2NTI5MywgCisgICAgNjUyNTAsIDEzMjY1LCAxMzI2NCwgNjQ1MTgsIDAsIDYxMDAsIDEyNzk2NCwgOTI2NDcsIDU4MDgsIDY1OTIyLCAwLCAKKyAgICAxMjk2NywgNjYwNDEsIDU2MTIsIDQ1ODMsIDcwMDA0LCA0MzM4NiwgNjgwOTcsIDY0NTc1LCAxMjY2MzcsIDExOTY1LCAwLCAKKyAgICA2ODM1OCwgMCwgNjk3ODksIDQyNjUzLCA5MjI2MCwgNjgxMDIsIDk2OTgsIDc4MTQsIDcxMDQ1LCAxMTk2NTEsIDEyODUxNCwgCisgICAgMCwgNDE5MjEsIDExODg1OCwgOTc1NiwgNjk4NSwgNjY0MTgsIDY2NjIxLCA3NDIxOSwgNjY0MTIsIDEyODgyMiwgMTE4OTk3LCAKKyAgICA4MDEyLCA1Njc0LCAxMjM1MywgNjY0MjEsIDEyMzYxLCA1Njc3LCA1NTg4LCAxMjUwMDUsIDQxOTI1LCAxMjgxMjQsIAorICAgIDQxOTIwLCA1NjczLCAxMjA1MzQsIDU2NzYsIDQxOTIzLCAxMjY5NCwgMTE4OTc4LCA1NjcyLCAxMjk0LCAwLCA3ODA1OSwgMCwgCisgICAgNDI1MTEsIDE3MjcsIDEyMDcyNSwgNDI0MzYsIDEyNDkyOCwgMCwgMCwgNzQyMjIsIDg3MTgsIDM1NTAsIDczNiwgMTAyNjgsIAorICAgIDQ1MDUsIDU4NzMsIDc0MDkwLCA1ODI2LCA1NTIzMiwgNTgxMywgMCwgOTI4ODksIDU4NDEsIDU4MzcsIDU1MjM0LCAwLCAKKyAgICAzMTA1LCAxMjgyOSwgNTgzOCwgNTc5NiwgMCwgMTE5NTkyLCA1NzkzLCAwLCA1ODY2LCA1Nzk3LCA0MTAxMSwgNTg2NSwgCisgICAgOTMwMDksIDc5NTYsIDU5OCwgMCwgNjQ2NDksIDU4MDYsIDQyMzk4LCAwLCA5MDM3LCA1NjcxLCAxMjAwNDEsIDk4MzI1NSwgCisgICAgMCwgMCwgMTI4ODU1LCAwLCA4NDcsIDEyODI0MiwgOTUyOSwgMTI4MDE5LCA2NjY1NywgNjk4MCwgNzg0ODMsIDQzNTEwLCAKKyAgICA3ODEyMiwgOTIyMTksIDAsIDY3NDExLCA3ODQ4NiwgMCwgMCwgMTIwMDM5LCA0MjY4MywgNzE4NDgsIDk4MzA1NSwgNzExNCwgCisgICAgMCwgMCwgNDMxOTAsIDY1NDYzLCAxNTU0LCAwLCA0MjYxMSwgNDI1NjMsIDAsIDU2NTEsIDI5MjksIDY3OTIsIDQzMjAxLCAwLCAKKyAgICAxOTk2MywgNTY5OCwgMTk0NzY4LCA5ODM5NDEsIDkyOTMzLCA3MTg4NywgNTY0NCwgMTAyOTIsIDY1NTQ2LCA2OTcyNywgCisgICAgNjgxNDEsIDgzNzIsIDAsIDY1MTE2LCAwLCAxMjAwMjIsIDEwMTc1LCAxMDM4OCwgNDI3OTksIDk0MTAwLCA0MTAxMywgCisgICAgMTA1NjgsIDAsIDk4MzYxOCwgMjg2OSwgOTE3ODQzLCA0MTAxNSwgNzQ0NzMsIDI3ODUsIDQzNjYsIDAsIDEwOTU0LCAKKyAgICA0MTgwMiwgMCwgNDI2MDgsIDc4NDY5LCA5ODg0LCA0NzU5LCA3Mzc2OCwgMTIwMjk2LCAxMDI2NiwgNDEzNTksIDExNzAsIAorICAgIDQzMzY1LCA2OTgxMCwgNzM5MDgsIDE2MDksIDkwMiwgOTI3NzMsIDYzOTM2LCAxMjcyMzksIDExNjYxLCA4MTIyLCA1ODE4LCAKKyAgICAwLCAwLCAzODYxLCA5NTQwLCAxMTAyOCwgMjU1NCwgNTE1OCwgNTcxNCwgMjIxMywgMCwgMCwgODA3LCA0MzA3OSwgMCwgCisgICAgNzg0NzUsIDk3NiwgNTUxMSwgNjQ1NTMsIDAsIDQyMTU1LCA5ODMzMTcsIDQxMzU2LCA3NDExMCwgMTE4ODAxLCA3MTA0MywgCisgICAgMTIwMDgwLCA4Njc2LCA5ODMyOTEsIDk0MDAyLCA1NTgyLCA0NTEsIDYzOTQxLCA1Nzk4LCA5MzQ5LCA0MjAxOCwgMTI3ODU4LCAKKyAgICAwLCA3ODY4MSwgNDM2MDksIDU5MDYsIDEyMDU1MywgMTQ0MCwgMCwgMTI4ODUzLCAxMjAwMTYsIDcwMzQyLCAxMTAwNSwgCisgICAgOTgzNjk3LCA2NjY1NiwgNjYwNDQsIDAsIDEyODU5MiwgMTI4NzkzLCAwLCA0MzM5MywgMTAwOTQsIDcwMTY0LCAxMTUyOSwgCisgICAgMTA4NTcsIDkyOTQ0LCA2NjQzNiwgNjU0NiwgOTMsIDgxMDIsIDY3MzIzLCA2ODQwNSwgMCwgMTk0NzE0LCA4MTcxLCAKKyAgICAxMTg4ODgsIDExOTA5NywgMTI3MDY0LCA5MTc1NDMsIDM4MywgNzE1NCwgNDE2NTYsIDQzNDk1LCA5NDA0MCwgNjcxNjIsIAorICAgIDUxODcsIDcxMjk2LCA3MTA4NiwgMTEyODYsIDY4NjIwLCA2NDIxNywgMCwgNTIzMiwgMCwgNDEwMDksIDEyNzM3NywgCisgICAgNDEwMDUsIDAsIDAsIDk4MzgyNywgODI5MiwgMTI1MTA4LCA0OTgwLCA4ODYwLCA3MTA1NCwgMTAwMjgsIDY1MjkxLCA3MDc2LCAKKyAgICAxMzE4MiwgMTk0NzA1LCAxMjgyMjQsIDEyNzk3NCwgMTA2MzEsIDY2MDMxLCA3OTcyLCAwLCA3ODc4NSwgMCwgNzkwMCwgCisgICAgMTI4NTkwLCAxMTMwOSwgMzgwNiwgNDE5OCwgNDI3MjUsIDAsIDY3NjU2LCA5OTk1LCAwLCA5MjU1MiwgMCwgMTI5MzEsIAorICAgIDk4MzY5MCwgNDI2ODQsIDc0Mjg1LCAyMDg4LCA2NDIxMywgNjQzNjYsIDY1MTU2LCA4ODE0LCA0MjIzOCwgNzQ3NzEsIDAsIAorICAgIDkxNzgzMSwgMTI4MzYsIDAsIDAsIDc0MzQyLCA4NTkzLCAwLCAwLCA2ODQ0NSwgMTMyNTUsIDAsIDAsIDc0NjQsIDAsIAorICAgIDY1ODY1LCAwLCAxOTQ2NTAsIDEyNzE0NCwgMCwgOTM0MiwgMTIwNDY0LCA3MDM3NiwgNjQ1MTYsIDAsIDc4NzkyLCAxMDEyOSwgCisgICAgNDEwMDcsIDc0Mzc1LCAwLCA0MDk5NSwgMTIyMDksIDQxMDEyLCAxMTkxMzYsIDAsIDAsIDY5NzI0LCA0MDk5MiwgOTIyNjQsIAorICAgIDEyNzE1MywgNjg2NTMsIDQzNTU4LCA1NTIyLCAwLCA2MSwgMTk0NzgwLCA3NDEwNSwgMzYzMywgOTgzOTAwLCA2NTE2MiwgCisgICAgNDEyMzQsIDEyMDg5LCA3ODI4MSwgOTc3MSwgOTgzOTA1LCAxMzI1MSwgMTI4NzAxLCAwLCA2MjYyLCAyNzg0LCA0Mjc0MywgCisgICAgNzEwNzgsIDgxMjYsIDY2NDgzLCAwLCAwLCA0NDEsIDQyNjIxLCAwLCAwLCA0MTAwMiwgNDA5OTksIDExOTYyMywgNDMyNjYsIAorICAgIDcxMDgsIDE5NDc3OSwgMTA4OTAsIDc0NDgxLCA2NTgzNCwgODMyNCwgMTE4OTQ0LCA2NDQxNywgNzQ4MTcsIDEyNzQ2NSwgCisgICAgNjQ3MzcsIDc0ODUzLCA5ODM2NTksIDg5MzAsIDY2Njc4LCA2NzIxNiwgMTE5MywgMTAwNTYsIDE4MDAsIDEzMjUzLCAKKyAgICAxMzI1MiwgNzgyOSwgMCwgMCwgNzc0MywgMCwgMTI0OTk2LCA3NzkwNCwgNzc5MTMsIDc3OTA1LCA5MDM0LCA2MDM5LCAKKyAgICAxMjkxMzksIDEwMDc1LCAwLCA0MTAxOCwgNjU2ODMsIDEwMzM4LCA2NjQ2OSwgMCwgMCwgMCwgNDI4MTUsIDkyOTg0LCAKKyAgICA0MTk2NiwgMCwgMTI3NDcxLCAwLCAxMTc5MiwgNDMwNjQsIDQxMDI1LCA5MTEsIDc1MzksIDAsIDQwOTYzLCAxMjAzMzksIAorICAgIDY1MTU5LCA2NDM5MCwgMCwgOTgzMTYwLCA1NTIwLCAxMTY2MiwgMTI4NDY4LCA2NTMzMCwgNDI4MTIsIDAsIDAsIDEyMzI2LCAKKyAgICA3MTA4MSwgMTk0NjM4LCA0MjgwOCwgMTI4MzM3LCA5MzQ4LCA2NDkwMSwgOTgzODYxLCAwLCAxMjgzMjgsIDY2ODM5LCAwLCAKKyAgICAwLCA5MTc1ODQsIDQzNzAyLCA5ODMxNDgsIDU4NTcsIDY1MzQyLCA5MjcyNywgMTE5MTIwLCAxMjAwNzksIDg2NDQsIDAsIDAsIAorICAgIDExMTg2LCA3NDI5NiwgNDE5MDksIDAsIDY2OTAwLCAyNzkxLCA2OTY2MywgMTg5MSwgNjk4MjQsIDY2Mzk3LCA0MTkwNywgCisgICAgNjY2NDcsIDExODkzOSwgODc2MSwgMTI5NDIsIDU3NDgsIDAsIDEwNzczLCA3MDg2OCwgOTgzMjk1LCA4Nzk2LCA3ODE0OSwgCisgICAgNjQxMiwgMjA2MSwgODUyMCwgMTMxNDYsIDEyNzE4NSwgNjM5MzEsIDAsIDY1OTAyLCAyODgyLCAwLCAwLCAxMjg0MywgCisgICAgNDUyMCwgMTIwMzQ1LCA5MjQ1OSwgMCwgOTgzNjYwLCAwLCA3Mzg2MCwgMCwgMCwgNjQzNDUsIDAsIDkyMDEsIDEyODMxNCwgCisgICAgNzA4NzEsIDAsIDAsIDQzNjc5LCA5MTc1ODUsIDY1MTE3LCA5MjI3MCwgMCwgMTA0MjcsIDAsIDM4NDQsIDY4NDIsIDk3NTUsIAorICAgIDExMTAsIDY2MTIsIDEyMjIyLCA5MzAzMCwgMTI4Nzg5LCAwLCA5ODMwOTYsIDc4MywgMTk0OTM1LCAwLCAxMjcyMjEsIAorICAgIDkyNTQ5LCAxOTQ3MjAsIDY1MDU2LCAzNjIwLCA0MTE4MCwgNjgzNzgsIDQ1NTYsIDAsIDY4NDgwLCAxOTQ5MzMsIDc0MjUwLCAKKyAgICAwLCA2NzY1NywgMTA1MTAsIDQzODIsIDY2NDgyLCAwLCAwLCAxMjc1MjcsIDkxNzcsIDg5MDIsIDkzOTU4LCA5ODM5LCAKKyAgICAxMjA3MDAsIDEyODkxLCA5ODM3NTUsIDk4MzYzNiwgNjM5OTksIDIwMTYsIDQxOTE3LCA5Nzg4LCA2MzkyOCwgNjc2OTYsIAorICAgIDE4NjIsIDY1ODAwLCA5MTU1LCA2NjYyMywgOTc4NiwgNjUwODIsIDQxOTE5LCA4NTc5LCA0MTkxNCwgNzk4MSwgMCwgCisgICAgNjYwMTcsIDQ1MDgsIDY0ODgzLCA5MjQ1NiwgOTI1MjIsIDEyNzgxNCwgMCwgNjQ1OTIsIDc0Mjc2LCA2NzY4OCwgNjc4NCwgCisgICAgNzg3ODgsIDY4MTgxLCAwLCA3MTIxOCwgMTEzODIxLCA2NjM2NiwgMTIxNDcsIDkwMjQsIDY2Mzc4LCA2NjQ3MiwgOTgzOTI5LCAKKyAgICA2NDI4OSwgNjUyODksIDc4MTUxLCA2NjY1OCwgNzE5MzUsIDY0NTA5LCA3ODE1MiwgMTEzNjk3LCAxMjY1MDUsIDExMDUxLCAKKyAgICAxOTQ5MjgsIDAsIDExMzU1LCA2NTg4NSwgMTI4NzczLCAxMjc5NDEsIDQxMjE0LCAwLCAxMjI5OSwgMCwgNzUwMCwgNDUwNiwgCisgICAgNzc3MywgMCwgMCwgOTk2MywgNjg2NDksIDEyNjYwOSwgNDA0MCwgMTIwNTcwLCA2MTY3LCA3NDUxOSwgNjM5MjIsIDY1OTQsIAorICAgIDk4Mzc0MCwgMCwgMCwgMzYyNCwgNDMwMzYsIDAsIDYzODcsIDYzOTkwLCAxOTk0NywgNjM5ODgsIDQxOTU1LCAxMjY5OTAsIAorICAgIDYzOTkzLCAxMDQ0MCwgOTYxMSwgNjU2MDUsIDY4MDMsIDAsIDc3MzgsIDYzOTg2LCAxMTQ0NiwgNjM5ODQsIDkyNjQxLCAKKyAgICAzNDM1LCA3ODE2NCwgNDM4MTQsIDQzODEwLCA3MDI5LCA2NDI1OCwgNDEyOTIsIDExODg5OCwgMTI3NDgsIDQyNzQyLCAKKyAgICA5NTE3LCAxMTUxOCwgMTI4MTY4LCA3ODc5MCwgMCwgNjc5OTMsIDYzOTU2LCA0MjQ1OCwgNjM5NTQsIDYzOTUzLCA2Mzk2MCwgCisgICAgOTU5MSwgNDUxNiwgMTAyMTcsIDY4MzcwLCAxMTQ2OSwgNjk2OTcsIDQyMzA2LCAyNzIzLCAxMTg5NDcsIDAsIDAsIDAsIDAsIAorICAgIDAsIDExMzk3LCAyODgwLCA3MDgwNiwgMCwgMjg3MiwgMCwgMTI4NTA2LCAzNDk4LCA0Mzc4LCA5MTc1MzksIDQyNzAsIDAsIAorICAgIDY1NTUxLCA2ODIwNSwgNjYzMywgNDMzODcsIDAsIDUyMzAsIDE5NDk5MSwgMCwgMCwgMCwgMCwgODE2MSwgMzkzLCAxMjAxMywgCisgICAgMCwgOTgzMTk4LCAxMTkxMDMsIDQxNSwgNjM5NjQsIDYzOTYzLCA0MjM0NSwgOTIzMTAsIDUxODMsIDE4NzcsIDQyNDk4LCAwLCAKKyAgICAyOTI3LCA3MTA1OCwgNjM5NjEsIDQ0NzIsIDAsIDAsIDc4MTU5LCA2OTY5OSwgOTE3OTM2LCA0MjM0MCwgNDc1NiwgCisgICAgMTI4MDc4LCA3MDgxLCAxMDczMCwgNzY5MSwgMTAzMzEsIDYzODMwLCAxMTk2MjUsIDQyOTIyLCA0MjEwMywgODYyOCwgCisgICAgOTgxMywgMCwgNDI0NTMsIDE2MDQsIDk1NjUsIDEwNTM5LCA2OTcwMSwgNjU3NjQsIDQxNDE1LCA2NTc2NywgMTI5MTk2LCAKKyAgICA4NDU3LCA0MjMwMSwgMTEzNzIsIDY0ODczLCAxMTk5MiwgMCwgMCwgNjM5ODAsIDExODAxLCAzNjIyLCA5ODMxMjQsIAorICAgIDY0MzM2LCAxMjAxNywgMTA0NjMsIDYzOTgxLCA0OTY3LCA2NDE4OSwgMTk2NiwgNDM2MjgsIDk4MzkwOCwgOTgzMjkyLCAKKyAgICAxOTQ3NjYsIDAsIDYzOTcxLCA0MzQ3LCA0NDE2LCA0MjA5OCwgMTEwMDksIDEwNjk0LCA2Mzk3MywgNDAyLCA5MjIxMywgCisgICAgMTMxNDcsIDEyODY5MiwgNDIxMDAsIDY0NjQ2LCAxMzIyOCwgMCwgNDE4NzUsIDM1MTUsIDc0MjUyLCAxMTgwNSwgMCwgCisgICAgMTEzMDIsIDYyNTksIDQzMzk1LCAwLCAwLCAxOTQ2NzAsIDAsIDkyMzUxLCA3NDgxMywgNzQ0MjUsIDExMjk5LCAxNTYxLCAKKyAgICAxMTg4ODEsIDkyMzE4LCA2NDk0MiwgOTMwMjEsIDE5NDczMywgNzA0MTEsIDE5NDczMiwgMCwgNzQzMDEsIDEyNzg5MywgCisgICAgMTEyODAsIDEyODQ4OSwgNjk3ODQsIDc0MDYwLCAwLCAwLCAxMTk2NjQsIDUxNDUsIDEyNDg2LCA2NTAxOCwgNjY1MTYsIAorICAgIDU0MDksIDEyNzM3OSwgMTk0NjY5LCA3NDAyLCA1Mzk5LCA5Njg1LCA3NDA4OSwgNzk1MiwgNTQwMSwgMCwgNjY2MTYsIAorICAgIDY2ODMyLCA5Mjk2NiwgMTI5MTA1LCA1NDA1LCAxMjc4NzUsIDY0ODY2LCAxMjc4NjQsIDExOTU4MywgMTE5MTIyLCA3ODc4NCwgCisgICAgNzQyNDgsIDExMzMwLCAxOTQ3MjMsIDY0NjkwLCAzMjU0LCAwLCAwLCAxMjgyMDcsIDQyMzkwLCA0MzY3OCwgMTk0NzI1LCAKKyAgICA5ODM5MDksIDY1MDc3LCAxMjkwNTksIDYzODgsIDMzNTUsIDk1MDgsIDk4NjcsIDU3MjMsIDExNTIwLCA1NjExLCAwLCAKKyAgICAzMzc3LCAwLCAwLCA3NDM1NCwgMCwgNzgyMjgsIDk4MzcyMiwgOTgzNzYyLCA0MjY5MSwgMTI3ODg2LCAxMjcxOTgsIAorICAgIDc0NzY3LCAwLCAxMjcwNzUsIDEzNzksIDI0NiwgMCwgOTgzNzYxLCAzNzg4LCA5ODMxMDYsIDExMDQxLCA2NzIwMiwgCisgICAgNjYzMDQsIDAsIDAsIDg5MTcsIDQyNDAzLCAzMDEsIDAsIDEyODUwMCwgMTI3MDQ2LCAwLCAwLCAxMTM4MjIsIDEwNjU2LCAKKyAgICAxMjUwNDIsIDY1MjE0LCA5Mjk4NywgNDI1NjcsIDkyMjE3LCAxMzE2MywgOTgzMjA0LCAxMjA4MzEsIDc0NTk3LCAzMTgyLCAKKyAgICAwLCAwLCAwLCA2NTAzNCwgNjU4ODksIDQyMTY5LCA0NzU1LCA3NDI0NCwgMTk0NjIxLCAxMTQ0MywgOTgzNjAzLCA2NjMxOSwgCisgICAgNjg0MSwgNjA4LCA2MDAsIDAsIDEyMTksIDM5MzQsIDY0MjA2LCAxMTQ4MywgNzQ1MTAsIDExOTExNywgNzQ0ODUsIDQyNDQyLCAKKyAgICA2NTQ3MCwgOTgzOTA3LCA2NDIwMiwgMTMxNjAsIDc3NTksIDQyNDgyLCA0ODUsIDY5OTgyLCA3MDUwNSwgOTgyOCwgMCwgCisgICAgNDM1MDUsIDQyMjgwLCAwLCA5MzUxLCA3Nzc4LCA2NDM3OSwgNzQ5NiwgNDI0MzEsIDY5MTYsIDEyMDgsIDAsIDExOTYzMSwgCisgICAgMTEwMDIsIDQyNDcwLCAwLCA2ODMxNSwgMCwgMCwgNzQwNDEsIDAsIDcwMDQ1LCA0MzUzOSwgNTQxMSwgNDIxOTYsIDAsIDAsIAorICAgIDAsIDkxNTAsIDY2ODMxLCA0MjM5MywgMTMwODYsIDEzMTAsIDY2ODQ4LCA5MzM3LCAxMjA1MiwgMTA2NDMsIDU1MjcxLCAKKyAgICAxMjg5NTEsIDEyMTY2LCAyNTQ2LCAxOTQ2ODMsIDIxMywgMTE4ODUyLCA2NTYxMSwgMCwgMTk0ODIyLCAxOTQ3NTYsIAorICAgIDc0MzEwLCA2NTU0LCAwLCAxMTkxNCwgNTQ1MiwgMCwgMCwgOTI3NzIsIDAsIDAsIDE5NDY4MSwgOTI1NjAsIDI3MTMsIAorICAgIDEyOTAyOSwgOTY1MCwgNDMzMzAsIDAsIDEyODUwNSwgMTQwNiwgMTI1MDA3LCA0MjkyNSwgNzQ2MzgsIDE5NDU5MywgCisgICAgNjgyMjMsIDQxNDMsIDEyODEzNiwgMCwgNjU3NDgsIDQxNDEsIDk2ODIsIDY1Mjg3LCAxNTA4LCAxMjcwMTMsIDg3NzksIAorICAgIDEwNTY5LCA4NzI1LCAxMzI5OSwgNjY2MzgsIDY1NzUwLCA0MjI2MywgNDE0NSwgNjM4MCwgNjU3NTEsIDY2NjEzLCA0Mzk5NCwgCisgICAgNjU3MzgsIDU1MjUwLCA5MTg1LCA5NTUwLCAwLCA0MzQwMywgMCwgMCwgMTk0NzgzLCA2NTczNiwgNDE5NTEsIDY0ODE2LCAKKyAgICA2NTc1NiwgOTgzMjA1LCAxMjk1NSwgMTA1OTYsIDI4ODgsIDE5NDY0NSwgMCwgMCwgOTY1NywgOTAxOSwgMTI1MDc3LCAwLCAKKyAgICAyODc4LCA1MzkwLCAwLCAxOTQ5NjEsIDY3MzI1LCA2ODY3OSwgNDM1NTIsIDc1MDEsIDYzMjgsIDE5NDk2MCwgMTA0MjksIAorICAgIDEwMzY1LCAwLCAwLCA0MTk0NiwgNzUwMywgNTIzNSwgODAzLCA2ODM4MSwgMCwgMCwgODk4NiwgNDM4MzgsIDEwNjMyLCAKKyAgICAxMTkzNCwgMTE0NTIsIDEzMzIsIDAsIDE5NDk3MCwgMTI2NjQ3LCAwLCAxMTg4ODcsIDE3OTEsIDUxOTEsIDkyODgsIAorICAgIDY0ODIyLCAyODkyLCAxMjcyNDIsIDQzMzk0LCA1NTUsIDAsIDAsIDY2NjQ2LCAxMjg5ODAsIDExOTAwMiwgMTMxNTEsIAorICAgIDc0NTEyLCA3Mjg5LCA3NDA1NSwgNjQxNjEsIDg4NTQsIDY0MTYyLCA1ODU4LCA0MTkyNywgMTA1ODIsIDEyMDQ1NywgMTc4NCwgCisgICAgMTM2MSwgMTk1MDQ3LCAwLCA3OTA1LCAwLCA2NDg2OCwgMTI4ODEzLCAxMzE1OCwgOTIxNjYsIDcyMTEsIDcxODg0LCA5MzcxLCAKKyAgICA3Mzk3MywgMTI4NDQxLCA2ODI4LCAxNjI1LCA3NjY0LCAwLCAxMzQyLCA2ODQ0MCwgNjQxNzEsIDkyNjQyLCAxMDkwMywgCisgICAgOTgzNDk0LCAwLCA5MjUyNywgMCwgNzA0MzgsIDQ0ODIsIDQxNjA2LCAwLCAxMjg1NjksIDk4MzExMiwgMCwgNjQzODEsIDAsIAorICAgIDE5NDk3NCwgMTk1MDkwLCA0MjI0NSwgMTI2NDY3LCA0MTk3MiwgMCwgNDQ0LCAwLCA5MTI3LCA2NjY4NywgNjY2MTksIAorICAgIDEyNjQ4OSwgNzgwMjUsIDAsIDExMzQ5LCA0MDk5MSwgOTE3NTcwLCAwLCA3MDE3NywgMTIwODMwLCAwLCAxMTk3LCAKKyAgICAxMjgyODIsIDExNDksIDY4MzE2LCAwLCAwLCA0MDk5MCwgNDM3NjUsIDAsIDM0OTIsIDkxNzkwNiwgMTE4Nzg0LCAwLCAwLCAKKyAgICAwLCAxMjgzOCwgNjcyMDgsIDE5OTQ4LCA0MTY3NywgMzA5OSwgMCwgMCwgNDEwODcsIDAsIDAsIDAsIDExOTA1OSwgMTIwMzYsIAorICAgIDQxMzA5LCAxMjgxNjEsIDAsIDgxNTIsIDAsIDQxNTUwLCAxMjIyNywgOTgzNjEzLCAwLCAxMjgyOCwgMTI3NTExLCAwLCAKKyAgICA5ODM5NzEsIDEyMDcwOCwgMCwgMCwgMTAzODYsIDExOTU3NCwgMTI5MTU5LCAwLCA5MjY4MCwgOTgzNzg5LCA2ODE1NCwgMCwgCisgICAgMTc0MywgMCwgMCwgOTIyMzksIDY1MTg2LCA5MTc1NzEsIDAsIDk2MDYsIDAsIDAsIDY0NDM5LCAwLCAwLCA5MjY4NiwgCisgICAgOTgzODc1LCAwLCA0Mzg2NiwgMTI4ODgxLCAwLCAzMzk1LCA5MzYyLCAxMDg3OCwgMTI4Mzc2LCAwLCA3ODM2MiwgNjQ4MzAsIAorICAgIDAsIDEyNTA0NiwgNDEwOTEsIDM0MjYsIDEzNDQsIDg4NzAsIDAsIDcxMzQ0LCA0NzM1LCAxMTExMSwgNjExOSwgMTI4MjIsIAorICAgIDQyNjk5LCAwLCA5ODM4MjQsIDc0ODE4LCAxNDIzLCAxMjg5MjMsIDQyNjM3LCA0MTA4MCwgMCwgMTIwMzksIDEwNTU5LCAKKyAgICAxMjg2MzQsIDExODg5MiwgMCwgOTQ3MiwgNjc3MzQsIDExOTI5LCAxMjg5MDUsIDcxNzAsIDk1OTYsIDYxMzAsIDEyODgyNiwgCisgICAgNDM2MjksIDExNTc5LCA3ODcxMywgMCwgOTI1MDEsIDEyNTA4MSwgOTIxODUsIDY2Njk5LCA2NDQ0MCwgMTAwNCwgOTI1ODQsIAorICAgIDE5NDczNiwgNDMyMzQsIDY2MDA4LCAxMjYyNywgMCwgNjg0MTQsIDc0NjE0LCA0MzYxOSwgNDMzMDMsIDExMzAwLCA0MzMwNCwgCisgICAgOTY4NiwgNTg5MCwgMTE3NzYsIDc1NTgsIDEyNzE1OCwgNjU2MjcsIDAsIDEwNzE4LCAxMzE1NCwgMzQ2MSwgOTEzOSwgMCwgCisgICAgOTgzMDk0LCAwLCAwLCA2NTM2NSwgNzM4NzcsIDY1NjI4LCA3ODAxOSwgMTIwMzE5LCAwLCA0MTcwOCwgMTI4NjAsIDI2NDEsIAorICAgIDEyMDY5LCAxMDgzOCwgNTQwMywgMTAzNTIsIDcwMDg1LCAxMDA2MSwgNDMyMzcsIDEyNTA1NywgNTE0MCwgMjA5LCAKKyAgICAxMjg4NDcsIDQxNzA0LCA0MTA1NiwgNDMwNzgsIDEyODEyNSwgMTE4ODA5LCA2NzIzMiwgMTA4OTksIDY1NDY5LCA3MDEyNSwgCisgICAgMCwgMCwgMjQxMCwgOTkzLCAwLCAxMjA1ODksIDEyMDY4OSwgNzg2OTMsIDAsIDAsIDcyMzIsIDAsIDExOTI1MywgMTI0OTYzLCAKKyAgICA3MTEwLCA3NDQ2MiwgMjA2NiwgMTA0ODksIDQyMTY2LCA0MzQ2MywgMTA2NTksIDM2MDAsIDc4MTE4LCA0MjI0LCAxMzM2LCAKKyAgICA0MTUxOCwgOTgzOTMyLCAwLCAwLCAwLCA0MTEzOSwgNjQ4MjAsIDkyNTM4LCAxMjk2NiwgNDExMzQsIDAsIDAsIDExOTE1MywgCisgICAgMCwgMjcyLCA0MjYzLCA4NzkzLCA5ODM4NTYsIDAsIDQxNTAyLCAxMjgxMzMsIDk4MywgMTI1NDksIDEyNDk0MCwgMCwgCisgICAgMTE5MCwgNDEwOSwgMTMzNSwgODQxLCA1ODg4LCA0MTM1OCwgNjQ4NjMsIDk1NDQsIDQzNDgxLCAwLCAxOTQ4MDYsIDcwMDI3LCAKKyAgICAyMDk5LCA1MTIwLCAyNDA5LCA3Nzk5LCAwLCA3NDQyNCwgMCwgMCwgNDczMSwgOTIyNzksIDY2NjI5LCAwLCAwLCAxMjU1LCAKKyAgICA0MTQ5LCA5MjQ3LCAwLCA5OTEzLCAwLCAwLCA2NDkxNCwgOTE3Nzg3LCA2NTEwMSwgMTEzNzE0LCAxMTY5NCwgOTI0NzUsIAorICAgIDExNjkwLCA1ODM1LCAxMjcxNjQsIDY2NjI1LCAxMDg0MiwgNDEzNTQsIDQyMTIzLCA0MzA5NywgMTE2ODgsIDY2NjM0LCAKKyAgICAxMDk0LCAxOTQsIDY0NjkyLCAwLCA4MTgwLCAwLCAwLCA5OTcyLCA3Mzg2NSwgNDUxOSwgNjExNCwgMTA4OTgsIDQzMDcyLCAKKyAgICA5MjQ2NSwgMCwgOTM5NjAsIDk4MzMyMiwgMTI2NTgxLCAxMDY5NSwgMCwgNzU0MCwgMCwgODgxLCA3ODU3LCA2MDY3LCAKKyAgICA2NTE2NCwgMCwgMCwgMTI5MTM0LCAxMzMxMSwgNjg0MDMsIDQxODU3LCA2NDMyMSwgODM1OSwgOTgzMzExLCAxMjY4OSwgCisgICAgOTgzMzEwLCAxOTQ1OTQsIDAsIDk4MzMxMiwgNzE4NTksIDY4MTgzLCAwLCA5ODMzMTQsIDEyODcsIDU0MzYsIDAsIDcxMDk3LCAKKyAgICA3NDE0MiwgOTIzMjgsIDc0MTUyLCA3MDIwNSwgNjA1MSwgMTA0OTcsIDY5NjY4LCA4OTg1LCAxMjEwOSwgOTgzMzIzLCAwLCAKKyAgICA5MzA0MywgMCwgMCwgMzY1MiwgMTA1MzcsIDEyMDI4MiwgMTI3NiwgMTIwNDQwLCA2NTQ5LCAyNzksIDczNzQ1LCAwLCAKKyAgICAxMjg2NjQsIDAsIDE0ODksIDAsIDAsIDAsIDM4OTksIDEwMDcsIDQyMTI0LCA0MzgyOCwgNDIxMjIsIDkyMzM3LCA5MjM2NywgCisgICAgMCwgMTE5ODUsIDEzNDUsIDc4NjAwLCAxMTk4MzIsIDkxNzYwMSwgODk1NiwgNDMwODMsIDk0MDU3LCA0MjEzOCwgNzg2MTAsIAorICAgIDEyOTEzMSwgNjQzMCwgNzg2MDgsIDc4NjA0LCA3ODYwNSwgNjI4NSwgNzg2MDMsIDc4NjEyLCA3ODYxMywgNjU5NDIsIDQ5MiwgCisgICAgODY4NSwgMTI4NDgxLCA5ODM3NTksIDAsIDc4NjIyLCA0MzcxMiwgMjU4MiwgMTE0NzAsIDY0NTM4LCA3NDQ0LCA3ODYxNSwgCiAgICAgNzg2MTYsIDIyOTcsIDAsIDczODM3LCAxMTk4MjMsIDI1MjcsIDExOTgyNCwgMTk3LCAyNzk5LCA5MjU5NCwgNDE5NDQsIAotICAgIDEyMDI3NiwgOTkzMywgMCwgNjY1MTUsIDc2NywgNTUyNCwgNzAyOCwgMCwgMCwgMTE5ODI3LCAxMTk4MTcsIDExOTgyOCwgCisgICAgMTIwMjc2LCA5OTMzLCA3NDAxMSwgNjY1MTUsIDc2NywgNTUyNCwgNzAyOCwgMCwgMCwgMTE5ODI3LCAxMTk4MTcsIDkyOTUwLCAKICAgICA3ODYzMywgMTA4OTYsIDAsIDE3OTksIDEyMDQ5NywgNjk3MSwgNzQzMzYsIDEyODM0MiwgMCwgNjUzNDAsIDExODk3OSwgCi0gICAgNDE1NTEsIDI0MzQsIDk0MDE4LCAwLCAxMjA1NzksIDAsIDQ2MzEsIDAsIDAsIDY0MDcsIDAsIDYzMzgsIDQzMjE0LCAwLCAKLSAgICA3NTcwLCAwLCAzMTkyLCAwLCA4NDE0LCAwLCA5Mzk4MywgMCwgMCwgMCwgOTE2NCwgNjY2MTIsIDkzOTU5LCAzMTcxLCAKLSAgICA2NjIzLCA0OTYxLCA2ODM5NiwgODg2LCA1NTIxNiwgODY1NCwgNzg4MzIsIDk5OTMsIDc0MzkwLCA2NDYwMywgNzAwNjYsIAotICAgIDY5MjQxLCA5NTk5LCA3ODYyOSwgNDMwODQsIDc4NjI3LCA3ODYyOCwgNzg2MjUsIDIzOTksIDY5NjkzLCA4OTk0LCAxMDk0NCwgCi0gICAgNDEyMDgsIDk4MzcxMywgNDExNjgsIDgxNzgsIDAsIDMzNjcsIDkyMzM0LCA0MjUxMCwgNzg2NDEsIDc4NjM2LCA2ODA0LCAKLSAgICA3ODYzNCwgMTk0NywgMCwgMCwgOTI2ODEsIDQyNzU5LCAxMTA2OCwgMTcwNSwgOTMzMSwgMCwgNzQ3OTgsIDkxODEsIAotICAgIDY1MzU5LCAwLCA4MDE3LCAxMTk4MzEsIDY1MDk2LCA2NjcyMCwgMCwgNDM0NzUsIDAsIDQ5MDksIDEyMTI2LCAxMjg2NzMsIAotICAgIDEyMDY5NiwgNDkwNCwgOTgzMzMzLCA2OTY1MCwgMTM2NSwgOTI1MywgNDI3NTcsIDQzNDM2LCA3NDYyLCAwLCAwLCAwLCAwLCAKLSAgICAxMTk1ODcsIDY0NDE1LCAwLCAwLCA1Mzk4LCAwLCAxMjczODYsIDkzOTUzLCAwLCAwLCAxMTkwMTUsIDAsIDAsIDk0NzYsIDAsIAotICAgIDk4Mzc3NywgMTI3NjMsIDEyNjYwMywgMzYyOSwgMCwgMTMwMDUsIDAsIDM2MjgsIDAsIDAsIDkyNTAyLCAzNDY5LCA0MjEwNywgCi0gICAgNDIxMTYsIDkxNzU3OCwgNjQ4MDksIDI5MjgsIDQ5MDUsIDk4NTMsIDg1MSwgOTA0MCwgMCwgNjQ2NjUsIDQzMDg2LCA5MTE0LCAKLSAgICAwLCA0MjU4MywgOTMxNSwgNDgyMiwgNDkwNiwgMzg1MiwgMjg0NywgMTE5ODIxLCAzMjM2LCAxMTMxNywgMTI1MSwgNzc3NywgCi0gICAgNDE4NTIsIDExNDEwLCAxMDk2NCwgMCwgNDMyMjIsIDEyNjQ2LCAxMjAyNjksIDEwMjU5LCA5ODY1LCA2NTgyMSwgMCwgCi0gICAgNjAxOCwgOTIyOTAsIDAsIDEyMjc2LCAwLCA2ODM3MiwgMCwgOTIyNTksIDExOTI0NCwgMCwgOTgzMjMwLCAxMDQ2NywgMCwgCi0gICAgMjQ0MywgMTA5MTgsIDc4MjE3LCAxMTk4MjUsIDEwMDEsIDkyNDEsIDE5MjcsIDAsIDAsIDczOTg3LCAxMjc4ODUsIDAsIDAsIAotICAgIDExODgyOCwgMTIwMjcxLCA2NTY3OCwgMTI4NjcsIDAsIDgyNjAsIDc3OTQ1LCA3NTE5LCAxMTUwNSwgMTIyNzQsIDg5MDQsIAotICAgIDUxOCwgNjU4NTcsIDAsIDEyODY3NCwgMTMyMDQsIDQzODcsIDg1NywgMCwgNjUzNjksIDAsIDkyMzM2LCA0MzEyNSwgCi0gICAgMTIwNTkyLCAwLCAwLCAwLCAwLCA1MTM2LCAxOTY4LCA5ODMwNDEsIDEyNjYyNywgMTMzNywgNjQ5NjcsIDE2MjksIDAsIAotICAgIDc5NiwgNjY1MDYsIDAsIDc0MTIzLCAxMjg3NywgMTIwNjQ5LCA0MjMxNCwgNDMzODgsIDAsIDc0NDAzLCA2MTIwLCA0NzgsIAotICAgIDY1MTUxLCA2ODEyOCwgMTI4MTQ3LCA0MzA4MiwgNjAxNiwgMCwgNDIyODQsIDEyODUwNywgNDI3NiwgMTIwNiwgMzYxOSwgCi0gICAgNDE2MzgsIDY5NjkxLCAzODQzLCAxMjAxMSwgODg1MywgMzM2MSwgMCwgNDkwLCAxMDcxNSwgNzU3OCwgNjgzODQsIDAsIAotICAgIDY1MzUwLCAxMDUzMCwgMTIzNDgsIDg2NTMsIDc0MzE0LCA0MjQzNSwgNjE1NCwgOTU1MSwgNjUzNTQsIDc4NTIyLCA3ODQsIAotICAgIDQyMzk3LCAzMzQsIDAsIDQyNDE2LCA2NTM1NiwgNjUyNzMsIDc3OTg3LCA2OTY2NiwgNDQ0MiwgMTAzNjQsIDAsIDc3OCwgCi0gICAgNDE2MjYsIDQyNDU1LCA3OTg5LCA3NDA2MywgMzIyNywgNjk5MDcsIDEyNzI3NSwgNzM5ODMsIDI5MTUsIDExNTAyLCAKLSAgICA0MTAyMiwgNDE3MDIsIDEwMzA5LCAxMjcwMzUsIDc4MzIwLCAwLCA2OTc1LCAwLCA1NDE1LCAxMjE3NiwgMCwgNzQxOTMsIAotICAgIDM0NjIsIDY1MjE1LCA0MjYyOSwgNzg2OTEsIDczNzg0LCAwLCAwLCA5NzU5LCAwLCA3MDA1NywgMTI3MjU0LCA4MTE0LCAKLSAgICA3ODY5OCwgNzg2OTcsIDc4Njk2LCA3ODY5NSwgODcxMCwgNDI0OTUsIDExODk1NiwgMCwgNDA1MSwgMTA0NjAsIDQzMzY0LCAKLSAgICAxMTg5MTcsIDEzNTYsIDEyMTYxLCA0MjcxMywgMTI4ODU3LCAxMjcyNjgsIDE2MTksIDk3MDMsIDQzMTUyLCA0MjQ4OSwgCi0gICAgNDIxMTIsIDEyNzk3OCwgMTg3NSwgMTA4MDgsIDQyMTA5LCAxMjAyODQsIDQxODYwLCA2NDg2MiwgMTMzMDUsIDY0OTA3LCAKLSAgICA1Mjg5LCAxMzE0NCwgMTI4NjU4LCAwLCA1NTc1LCA5Njc1LCAwLCA1OTQwLCAyMjYsIDI2NDksIDYzMzYsIDk4MzI3NywgCi0gICAgMTE5ODMwLCA0MzIzNiwgMzM4MiwgNDI0NDksIDY0OTgsIDE2NTgsIDExOTM2LCA3ODIzMiwgMCwgMTEyNjksIDEwMTUxLCAKLSAgICA3Mzc1OSwgNDMxMDAsIDY5ODg4LCA2NTUwOCwgMCwgMCwgMCwgODkzNSwgOTE3OTg1LCAwLCAwLCAwLCA2MTYsIDc0NzUzLCAKLSAgICA2NTE3OCwgNDY4NCwgNzg3MDEsIDExOTY1MywgMCwgMTI2NTUxLCAwLCA2MDQ4LCA3NDQ2MCwgNDIxMTAsIDczOTY1LCAKLSAgICAxMDg3MCwgODU1NywgMTEwNTQsIDY4NjY0LCAxMTkwNDksIDk2ODEsIDQ0NzUsIDAsIDQxMTQyLCAyMTAwLCAwLCAxMjA3MzEsIAotICAgIDYwMzUsIDAsIDc2NTEsIDEwMjk2LCA2NDQ0MywgMCwgOTgzMjk1LCA5MTc5ODcsIDAsIDExODk2NiwgNzQxNDQsIDQwOTk3LCAKLSAgICAwLCAxMDM5MiwgMTAzMjgsIDQwOTk4LCA0MzQ2MiwgNzQ0ODgsIDAsIDk4MDAsIDg5NzksIDAsIDEzMzA3LCA0MTAwMCwgMCwgCi0gICAgMTE5MjM5LCA2NDg3LCAzMzg2LCAwLCAxMDM0NCwgMCwgNjUyOTksIDUzOTQsIDQzMjQ2LCA3ODI0MywgMTAyMjAsIDY2NTA1LCAKLSAgICA0MTIwMCwgMTI4NTgzLCA0NDI1LCAwLCAwLCAwLCA0MzA3NCwgNzM3OTksIDk4MzIwMCwgNzgxNDcsIDAsIDEyMTczLCAKLSAgICA3ODU0NSwgMCwgMTI3MDExLCA2NTMzOCwgMCwgMCwgMTE5NTgyLCA0NDc0LCAwLCA0MzA5MywgMTI4NjQ0LCAxNTg3LCAwLCAKLSAgICAxMjczNzIsIDY0NDc1LCAxMjgwOTgsIDEzNjksIDk4MzY3MiwgOTk1OSwgNzkyNywgMCwgNDU2MCwgMCwgMCwgOTIyNzcsIAotICAgIDk4MzYyMSwgNjQ5NDgsIDQ0MzAsIDc0MzQ3LCA0MjYwMSwgNDUxNCwgNjY0MzQsIDkzOTU1LCA4MTk0LCA2NTQ2MiwgCi0gICAgMTA2MjYsIDEwOTY1LCAwLCA4ODkzLCA5ODMzMDEsIDEyNTQyLCAwLCA2NTM0MSwgMCwgNjU4MjksIDc5MjUsIDExOTgyMiwgCi0gICAgMTA0NzUsIDAsIDAsIDEzNTIsIDExMDY5LCA3NzA3LCAxMjc1NjAsIDEyNjQ4NiwgNjUyNzksIDEyNzEwMiwgNjgyMDcsIAotICAgIDEyNzEwMCwgNzA5OSwgNjA0MCwgMTI3MDk3LCAxMDA3MSwgMCwgOTMzNiwgNDM3NTAsIDAsIDg4OTksIDc3OTgsIDY0NDc0LCAKLSAgICA2NDI1OSwgNjk4NzMsIDY1MTg4LCA3ODIwLCA0MzAxOCwgMTI3MDgyLCAwLCA3NzQ2LCAxNDkyLCA3ODU1MSwgMTA4ODQsIAotICAgIDc3OTgyLCAwLCA1MTI3LCAxMTI4NSwgNDI1MDEsIDU0OTUsIDQyNzMsIDQzMDk1LCA0MTQyNiwgMTA4NDksIDU3MzAsIAotICAgIDI5OTksIDYzNDIsIDY4NjM2LCA3NDMwNCwgMzcxLCA2NDM3MywgNjAyMywgMTY5LCA1NDk3LCAxMTcwOCwgMCwgMCwgNjMyMywgCi0gICAgMTk0Njg0LCA4MjI0LCAwLCA4OTM4LCA2MDQzLCAxMjczOCwgMCwgOTgzMDc2LCA1MzIxLCAwLCAxOTQ3OTgsIDAsIDI1ODksIAotICAgIDc0MzMyLCAxNjg5LCA3ODAyLCA0NjgzLCA3NDMxOCwgNDI3MDQsIDEyMDI5NiwgMTE5MDUsIDAsIDAsIDEyODUxNiwgCi0gICAgMTI4MTYzLCA3NDUxMywgNjA0OSwgMCwgNDAyNywgODM0LCAxMTg5NjIsIDE4MDMsIDAsIDE1MDMsIDAsIDAsIDcxMzEyLCAKLSAgICA1NzMxLCAxMzgxLCAyMzg3LCAwLCAwLCA4Mjg5LCA2NDUyNSwgNjU4MTcsIDI4ODEsIDQzMTQyLCAwLCA5NjAxLCAyODc5LCAKLSAgICA5NjY4LCA5NzY2LCAwLCA1NzI5LCA5MTc4MzMsIDc0NDEwLCA2MDM2LCA2NDg4MSwgNDAyNiwgOTM2MSwgMTI3MDkxLCAKLSAgICAyODg3LCAwLCAzNTI2LCA2Mjk4LCAwLCA3Nzg5NywgMTIwMDk1LCA3ODUxOSwgMCwgODU3MiwgNjAyMSwgNzc4OTYsIAotICAgIDEyODI4OCwgNzc4OTUsIDQzMTU1LCAwLCAxMTk4NDksIDMxNDYsIDEwOTU5LCA5NDgzLCAwLCA3Nzg5MywgMTA5ODEsIDE2NiwgCi0gICAgOTE3ODQxLCA4NjM1LCA5ODM2MDYsIDEwNjIzLCA0MDgsIDExOTA1OCwgMTI3NTA3LCAxMzI5OCwgMCwgNzQyNiwgNDE2NDEsIAotICAgIDEyNzE3LCAwLCA3NjA3LCAxMDYzOSwgNDMzOTYsIDAsIDAsIDQxNjQzLCA3NDEzNCwgOTgzMDU0LCA4NzEzLCA0MTY0MCwgCi0gICAgMTAyMjEsIDQxNjQ1LCA2NjcxMiwgNjY0NSwgNjQ2LCA2NjcyNiwgNjY3MTEsIDQyMTI5LCA5Mzk5NCwgNzc5MDEsIDM0NzIsIAotICAgIDg2OTcsIDAsIDAsIDk4MzgxNSwgMCwgMCwgMCwgNTgwOSwgMTk1MCwgMTE5MzU2LCA5MjQzMiwgNzQ1NzIsIDAsIDQyMTM2LCAKLSAgICAwLCAwLCAwLCAwLCAzMjQ3LCAxMTk4NTQsIDY1MDE3LCA5ODM5NTMsIDY4NDI4LCA2NjY2OCwgMCwgMCwgMTA5ODMsIDAsIDAsIAotICAgIDAsIDQxNTY3LCAwLCAwLCAwLCAxOTQ2MjQsIDExOTg1MywgMCwgMCwgODI4NSwgMCwgNDUwOSwgMCwgNjY0NzEsIDEyMjE2LCAKLSAgICAwLCA0MDk4OCwgOTI1OTIsIDc0ODA5LCA0MTcyNywgMCwgNDI4NDgsIDIzOTYsIDkxNzc2NiwgMCwgNzQwMTgsIDkxNzUzOCwgCi0gICAgNjQ5NDAsIDcwMjcsIDM4ODYsIDAsIDQyNDU3LCAxMTkwMDgsIDAsIDk5NiwgNjgxMjMsIDk0MDU4LCA0MjQ5LCAwLCAKLSAgICA5MTc1OTQsIDExNzA3LCA4MjIyLCAwLCA3OTM5LCA5MjQ1NCwgOTI0NjAsIDEyNzgwMSwgOTE3NTkyLCAxMjgzNTksIDg1MzQsIAotICAgIDEyNzE1NCwgNDA5ODMsIDAsIDk4MzI0MCwgMCwgNzIwMSwgMTI1NjEsIDAsIDQyMzcxLCAxMjU1OCwgMTU0MCwgOTE3NTQ5LCAKLSAgICAxMDA1MiwgNDA5ODIsIDAsIDAsIDE0ODgsIDAsIDAsIDAsIDkxNzU1OSwgMCwgMCwgMTU2MywgMTI4MDM0LCA5NjE5LCAKLSAgICA5ODM5NDAsIDAsIDAsIDEyNzg3MiwgNzEzNjMsIDU4MDMsIDc3OTcsIDYwNzAsIDEwMDA2LCAwLCAyOTIyLCA2MDgyLCAwLCAKLSAgICA2NTAwOSwgOTgzOTQyLCAxMjU2NywgMTI4NzAzLCAwLCA0MTQxMiwgMCwgMCwgMzYwNywgOTIwMCwgMTAwNDYsIDk2MTIsIAotICAgIDQyMTUzLCA4MjE4LCA5NDg1LCAwLCAyMDMyLCA3ODM1NCwgMCwgMCwgMCwgMCwgMCwgNDMwODUsIDYwNTcsIDUwOCwgCi0gICAgOTM5NjgsIDEyODAxNSwgNjc5NjgsIDAsIDkyNDA1LCAwLCAwLCA2MzgsIDYwODMsIDExOTA3MiwgMCwgMCwgMjMwNSwgCi0gICAgNzgzNDgsIDY4MDk2LCAwLCA2MDU2LCA2NjU5LCA2Nzk2OSwgMCwgNjA4NSwgMCwgMCwgMzkxNSwgNDE2MzQsIDAsIDQxNjM5LCAKLSAgICA2MzkxMiwgMTE5NDEsIDAsIDQwMjgsIDE3ODcsIDQyMTgwLCA0MzA5NiwgNDM3NTMsIDMyNDksIDE3NjgsIDkzOTgyLCAKLSAgICAxMjMyOCwgNTAxLCA5Mzk4NSwgMTA2MDEsIDAsIDU4MywgMCwgNDE5NzcsIDAsIDY2MDA0LCAxMTkzNTAsIDY1MDUsIAotICAgIDc0MDEwLCAwLCAxMzA2NCwgNTUyNjcsIDEyMDgxMCwgNjUwMCwgNTUyNiwgNjUwNDksIDAsIDczNzY0LCAwLCA5MjM3NiwgCi0gICAgMTI3NDUsIDk2NzgsIDAsIDEyMDU4NywgOTg2OSwgMTI4ODE1LCAxNzcxLCAwLCA4OTM2LCAwLCAwLCA0MjA4LCA3ODM0MSwgCi0gICAgNzg1NjcsIDc4MzQyLCAwLCA5ODM0NTYsIDc0MTAxLCAwLCAxMTc2MiwgMCwgOTI0MjIsIDc3OTk3LCA2ODAxMCwgNjY0NzUsIAotICAgIDAsIDUwMjcsIDc4MTcyLCAxMjg4NzgsIDAsIDUwNjksIDczODYyLCA1MDI4LCA5ODk3LCAwLCA3MzczOSwgNTAyNiwgCisgICAgNDE1NTEsIDI0MzQsIDk0MDE4LCAxMjY2NDIsIDY1MzUzLCAwLCA0NjMxLCAxMTg5OTYsIDAsIDY0MDcsIDExMzczNywgCisgICAgNjMzOCwgNDMyMTQsIDAsIDc1NzAsIDAsIDMxOTIsIDAsIDg0MTQsIDk4MzM5MCwgOTM5ODMsIDAsIDAsIDAsIDkxNjQsIAorICAgIDY2NjEyLCA5Mzk1OSwgMzE3MSwgNjYyMywgNDk2MSwgNjgzOTYsIDg4NiwgNTUyMTYsIDg2NTQsIDc4ODMyLCA5OTkzLCAKKyAgICA3NDM5MCwgNjQ2MDMsIDcwMDY2LCA2OTI0MSwgOTU5OSwgNzg2MjksIDQzMDg0LCA3ODYyNywgNzg2MjgsIDc4NjI1LCAKKyAgICAyMzk5LCA2OTY5MywgODk5NCwgMTA5NDQsIDQxMjA4LCA5ODM3MTMsIDQxMTY4LCA4MTc4LCA3NDg1OSwgMzM2NywgOTIzMzQsIAorICAgIDQyNTEwLCA3ODY0MSwgNzg2MzYsIDY4MDQsIDcwNDc1LCAxOTQ3LCA5MTc1NzksIDAsIDkyNjgxLCA0Mjc1OSwgMTEwNjgsIAorICAgIDE3MDUsIDkzMzEsIDAsIDc0Nzk4LCA5MTgxLCA2NTM1OSwgMTI1MDY1LCA4MDE3LCAxMTk4MzEsIDY1MDk2LCA2NjcyMCwgCisgICAgNzE5MDYsIDQzNDc1LCAwLCA0OTA5LCAxMjEyNiwgMTI4NjczLCAxMjA2OTYsIDQ5MDQsIDk4MzMzMywgNDM1MDMsIDEzNjUsIAorICAgIDkyNTMsIDQyNzU3LCA0MzQzNiwgNzQ2MiwgMTI3NzcyLCAwLCAwLCAwLCA2Njg0NSwgNjQ0MTUsIDEyMDUwMCwgMTI4ODY5LCAKKyAgICA1Mzk4LCAxMjUwMzUsIDEyNzM4NiwgOTM5NTMsIDEyNzM2MiwgOTgzNzgyLCAxMTkwMTUsIDAsIDEyODA4MywgOTQ3NiwgMCwgCisgICAgMTIwNjk1LCAxMjc2MywgMTI2NjAzLCAzNjI5LCAxMjY2MjYsIDEzMDA1LCAxMTE4MSwgMzYyOCwgMCwgMCwgOTI1MDIsIAorICAgIDM0NjksIDQyMTA3LCA0MjExNiwgOTE3NTc4LCA2NDgwOSwgMjkyOCwgNDkwNSwgOTg1MywgODUxLCA5MDQwLCAwLCA2NDY2NSwgCisgICAgNDMwODYsIDkxMTQsIDQzODcwLCA0MjU4MywgOTMxNSwgNDgyMiwgNDkwNiwgMzg1MiwgMjg0NywgMTE5ODIxLCAzMjM2LCAKKyAgICAxMTMxNywgMTI1MSwgNzc3NywgNDE4NTIsIDExNDEwLCAxMDk2NCwgMCwgNDMyMjIsIDEyNjQ2LCAxMjAyNjksIDEwMjU5LCAKKyAgICA5ODY1LCA2NTgyMSwgMCwgNjAxOCwgNjgyOTMsIDkxNzkxNywgMTIyNzYsIDExOTExMCwgNjgzNzIsIDAsIDkyMjU5LCAKKyAgICA3MTg5MywgMCwgMTE5ODI4LCAxMDQ2NywgMCwgMjQ0MywgMTA5MTgsIDc4MjE3LCA3Nzk0NywgMTAwMSwgOTI0MSwgMTkyNywgCisgICAgMCwgMTI0OTQyLCA3Mzk4NywgMTI3ODg1LCA3MTg5NSwgOTMwMTIsIDc5OTIsIDc3OTQzLCA2NTY3OCwgMTI4NjcsIAorICAgIDEyODc4NywgODI2MCwgNzc5NDUsIDc1MTksIDExNTA1LCAxMjI3NCwgODkwNCwgNTE4LCA2NTg1NywgMTI4MzYxLCAKKyAgICAxMjg2NzQsIDEzMjA0LCA0Mzg3LCA4NTcsIDk4Mzg2NiwgNjUzNjksIDAsIDkyMzM2LCA0MzEyNSwgMTE4NDIsIDAsIAorICAgIDcxMDcyLCAwLCAwLCA1MTM2LCAxOTY4LCAxMjg5MDYsIDEyNjYyNywgMTMzNywgNjQ5NjcsIDE2MjksIDAsIDc5NiwgCisgICAgNjY1MDYsIDAsIDc0MTIzLCAxMjg3NywgMTIwNjQ5LCA0MjMxNCwgNDMzODgsIDQzODI2LCA3NDQwMywgNjEyMCwgNDc4LCAKKyAgICA2NTE1MSwgNjgxMjgsIDEyODE0NywgNDMwODIsIDYwMTYsIDAsIDQyMjg0LCA3MTg5NCwgNDI3NiwgMTIwNiwgMzYxOSwgCisgICAgNDE2MzgsIDY5NjkxLCAzODQzLCAxMjAxMSwgODg1MywgMzM2MSwgMCwgNDkwLCAxMDcxNSwgNzU3OCwgNjgzODQsIDkyNzU0LCAKKyAgICA2NTM1MCwgMTA1MzAsIDEyMzQ4LCA4NjUzLCA2ODI0NSwgNDI0MzUsIDYxNTQsIDk1NTEsIDY1MzU0LCA3ODUyMiwgNzg0LCAKKyAgICA0MjM5NywgMzM0LCAxOTQ2NzYsIDQyNDE2LCA2NTM1NiwgNjUyNzMsIDY3MjQzLCA2OTY2NiwgNDQ0MiwgMTAzNjQsIDAsIAorICAgIDc3OCwgNDE2MjYsIDQyNDU1LCA3OTg5LCA3NDA2MywgMzIyNywgNjk5MDcsIDEyNTExNiwgMTExMDIsIDI5MTUsIDExNTAyLCAKKyAgICA0MTAyMiwgNDE3MDIsIDEwMzA5LCAxMjcwMzUsIDc4MzIwLCAxMjAyNzMsIDY5NzUsIDAsIDU0MTUsIDEyMTc2LCAwLCAKKyAgICA3NDE5MywgMzQ2MiwgNjUyMTUsIDQyNjI5LCA3ODY5MSwgNzExNzUsIDAsIDEyNzI1NiwgOTc1OSwgMTI3MjU1LCA3MDA1NywgCisgICAgMTI3MjU0LCA4MTE0LCA3ODY5OCwgNzg2OTcsIDc4Njk2LCA3ODY5NSwgODcxMCwgNDI0OTUsIDExODk1NiwgNzAxODksIAorICAgIDQwNTEsIDEwNDYwLCA0MzM2NCwgNzEyMDYsIDEzNTYsIDEyMTYxLCA0MjcxMywgMTI4ODU3LCAxMjcyNjgsIDE2MTksIAorICAgIDk3MDMsIDQzMTUyLCA0MjQ4OSwgNDIxMTIsIDY2ODk2LCAxODc1LCAxMDgwOCwgNDIxMDksIDEyMDI4NCwgNDE4NjAsIAorICAgIDY0ODYyLCAxMzMwNSwgNjQ5MDcsIDUyODksIDEzMTQ0LCAxMjg2NTgsIDk4MzIyNCwgNTU3NSwgOTY3NSwgMTk1MDE4LCAKKyAgICA1OTQwLCAyMjYsIDI2NDksIDYzMzYsIDk4MzI3NywgOTI5NzksIDQzMjM2LCAzMzgyLCA0MjQ0OSwgNjQ5OCwgMTY1OCwgCisgICAgMTE5MzYsIDc4MjMyLCAxMTM4MTQsIDExMjY5LCAxMDE1MSwgNzM3NTksIDQzMTAwLCA2OTg4OCwgNjU1MDgsIDAsIDAsIDAsIAorICAgIDg5MzUsIDc4MjM0LCAwLCA5ODM3NTcsIDAsIDYxNiwgNzQ3NTMsIDY1MTc4LCA0Njg0LCA3ODcwMSwgMTE5NjUzLCA3NDYzMSwgCisgICAgMTI2NTUxLCAwLCA2MDQ4LCA3NDQ2MCwgNDIxMTAsIDczOTY1LCAxMDg3MCwgODU1NywgMTEwNTQsIDY4NjY0LCAxMTkwNDksIAorICAgIDk2ODEsIDQ0NzUsIDY3NDI5LCA0MTE0MiwgMjEwMCwgMTI1MDI0LCAxMjA3MzEsIDYwMzUsIDczNzk2LCA3NjUxLCA2ODQ2LCAKKyAgICA2NDQ0MywgOTgzOTU3LCA5ODMyOTQsIDkxNzk4NywgMCwgMTE4OTY2LCA3NDE0NCwgNDA5OTcsIDY4NDg4LCAxMDM5MiwgCisgICAgMTAzMjgsIDQwOTk4LCA0MzQ2MiwgNzQ0ODgsIDcxMTgyLCA5ODAwLCA4OTc5LCAwLCAxMzMwNywgNDEwMDAsIDAsIAorICAgIDExOTIzOSwgNjQ4NywgMzM4NiwgMTI5MDk0LCAxMDM0NCwgMCwgNjUyOTksIDUzOTQsIDQzMjQ2LCA3ODI0MywgMTAyMjAsIAorICAgIDY2NTA1LCA0MTIwMCwgMTI4NTgyLCA0NDI1LCAwLCAwLCAwLCA0MzA3NCwgNzM3OTksIDEyOTA3NiwgNzgxNDcsIDAsIAorICAgIDEyMTczLCA3ODU0NSwgMCwgNjY4MjQsIDY1MzM4LCA5ODM2NzYsIDAsIDExOTU4MiwgNDQ3NCwgMTI4OTM2LCA0MzA5MywgCisgICAgMTI4NjQ0LCAxNTg3LCAwLCAxMjczNzIsIDY0NDc1LCAxMjgwOTgsIDEzNjksIDk4MzY3MiwgOTk1OSwgNzkyNywgMCwgCisgICAgNDU2MCwgMCwgMCwgOTIyNzcsIDk4MzYyMSwgNjQ5NDgsIDQ0MzAsIDc0MzQ3LCA0MjYwMSwgNDUxNCwgNjY0MzQsIDkzOTU1LCAKKyAgICA4MTk0LCA2NTQ2MiwgMTA2MjYsIDEwOTY1LCAwLCA4ODkzLCA5ODMzMDEsIDEyNTQyLCAwLCA2NTM0MSwgNjc3MDMsIAorICAgIDY1ODI5LCA3OTI1LCAxMTk4MjIsIDEwNDc1LCAxMTM4MjUsIDAsIDEzNTIsIDExMDY5LCA3NzA3LCAxMjc1NjAsIDEyNjQ4NiwgCisgICAgNjUyNzksIDEyNzEwMiwgNjgyMDcsIDEyNzEwMCwgNzA5OSwgNjA0MCwgNjc2ODEsIDEwMDcxLCA3ODU1NCwgOTMzNiwgCisgICAgNDM3NTAsIDEyODUwNywgODg5OSwgNzc5OCwgNjQ0NzQsIDY0MjU5LCA2OTg3MywgNjUxODgsIDc4MjAsIDQzMDE4LCAKKyAgICAxMjcwODIsIDEyODg5OCwgNzc0NiwgMTQ5MiwgNzg1NTEsIDEwODg0LCA3Nzk4MiwgNjY4NjYsIDUxMjcsIDExMjg1LCAKKyAgICA0MjUwMSwgNTQ5NSwgNDI3MywgNDMwOTUsIDQxNDI2LCAxMDg0OSwgNTczMCwgMjk5OSwgNjM0MiwgNjg2MzYsIDc0MzA0LCAKKyAgICAzNzEsIDY0MzczLCA2MDIzLCAxNjksIDU0OTcsIDExNzA4LCAwLCAxMjg2MDMsIDYzMjMsIDEyOTA2NSwgODIyNCwgCisgICAgMTI4NDE3LCA4OTM4LCA2MDQzLCAxMjczOCwgMTIwNjcxLCA5ODMwNzYsIDUzMjEsIDY4NjQ1LCAxOTQ3OTgsIDEyMDI1MSwgCisgICAgMjU4OSwgNzQzMzIsIDE2ODksIDc4MDIsIDQ2ODMsIDc0MzE4LCA0MjcwNCwgOTI5NDAsIDExOTA1LCAwLCAwLCAxMjg1MTYsIAorICAgIDEyODE2MywgNzQ1MTMsIDYwNDksIDAsIDQwMjcsIDgzNCwgMTE4OTYyLCAxODAzLCA5ODM4MjIsIDE1MDMsIDAsIDAsIAorICAgIDcxMzEyLCA1NzMxLCAxMzgxLCAyMzg3LCAxMjY2MTAsIDcwODA4LCA4Mjg5LCA2NDUyNSwgNjU4MTcsIDI4ODEsIDQzMTQyLCAKKyAgICAwLCA5NjAxLCAyODc5LCA5NjY4LCA5NzY2LCAwLCA1NzI5LCAxMjkxMTAsIDcxMjMwLCA2MDM2LCA2NDg4MSwgNDAyNiwgCisgICAgOTM2MSwgMTI3MDkxLCAyODg3LCA3MDM4OSwgMzUyNiwgNjI5OCwgMTE5ODUxLCA3Nzg5NywgMTIwMDk1LCA3ODUxOSwgCisgICAgMTE4OTY0LCA4NTcyLCA2MDIxLCA3Nzg5NiwgMTI4Mjg4LCA3MTE3NCwgNDMxNTUsIDAsIDcxMTk3LCAzMTQ2LCAxMDk1OSwgCisgICAgOTQ4MywgMCwgNzc4OTMsIDEwOTgxLCAxNjYsIDkxNzg0MSwgODYzNSwgOTE3ODQwLCAxMDYyMywgNDA4LCAxMTkwNTgsIAorICAgIDEyNzUwNywgMTMyOTgsIDAsIDc0MjYsIDQxNjQxLCAxMjcxNywgMCwgNzYwNywgMTA2MzksIDQzMzk2LCAwLCAxMTkwODksIAorICAgIDQxNjQzLCA3NDEzNCwgOTgzMDU0LCA4NzEzLCA0MTY0MCwgMTAyMjEsIDQxNjQ1LCA2NjI5MywgNjY0NSwgNjQ2LCA2NjcyNiwgCisgICAgNjY3MTEsIDQyMTI5LCA2ODI1NSwgNzc5MDEsIDM0NzIsIDg2OTcsIDAsIDAsIDk4MzgxNSwgMCwgMTk0NTk5LCAwLCA1ODA5LCAKKyAgICAxOTUwLCAxMTkzNTYsIDkyNDMyLCA2ODMzOSwgMCwgNDIxMzYsIDAsIDAsIDAsIDAsIDMyNDcsIDkyNDAyLCA2NTAxNywgCisgICAgMTI4Nzk0LCA2ODQyOCwgNjY2NjgsIDAsIDAsIDEwOTgzLCAwLCAwLCAwLCA0MTU2NywgMCwgMCwgMCwgNzg0NDYsIAorICAgIDExOTg1MywgMTI3OTIyLCAwLCA4Mjg1LCAwLCA0NTA5LCA5MTc4MDIsIDY2NDcxLCAxMjIxNiwgMCwgNDA5ODgsIDkyNTkyLCAKKyAgICA3NDgwOSwgNDE3MjcsIDAsIDQyODQ4LCAyMzk2LCAxMjkwNzgsIDAsIDc0MDE4LCA5MTc1MzgsIDY0OTQwLCA3MDI3LCAKKyAgICAzODg2LCAwLCA0MjQ1NywgOTI4ODgsIDExOTgzNCwgOTk2LCA2ODEyMywgOTQwNTgsIDQyNDksIDkyNDEwLCA2OTY1MCwgCisgICAgMTE3MDcsIDgyMjIsIDczODI1LCA3OTM5LCA3MTIxMywgOTI0NjAsIDEyNzgwMSwgOTE3NTkyLCAxMjgzNTksIDg1MzQsIAorICAgIDY5ODUzLCA0MDk4MywgMCwgOTgzMjQwLCAwLCA3MjAxLCAxMjU2MSwgMCwgNDIzNzEsIDEyNTU4LCAxNTQwLCA5MTc1NDksIAorICAgIDEwMDUyLCA0MDk4MiwgMCwgMCwgMTQ4OCwgNzExNzcsIDAsIDE5NDgzMSwgOTE3NTU5LCAxMjg0MDEsIDAsIDE1NjMsIAorICAgIDEyODAzNCwgOTYxOSwgOTgzOTQwLCAwLCA5ODMwODIsIDEyNzg3MiwgNzEzNjMsIDM1NjAsIDc3OTcsIDYwNzAsIDEwMDA2LCAKKyAgICAxMjg5MjIsIDI5MjIsIDYwODIsIDcwMTQ3LCA2NTAwOSwgOTgzOTQyLCAxMjU2NywgNjY3MTIsIDAsIDQxNDEyLCAwLCAwLCAKKyAgICAzNjA3LCA5MjAwLCAxMDA0NiwgOTYxMiwgNDIxNTMsIDgyMTgsIDk0ODUsIDAsIDIwMzIsIDc4MzU0LCA5MTc5MDQsIAorICAgIDExOTEzMSwgMCwgMCwgMCwgNDMwODUsIDYwNTcsIDUwOCwgOTM5NjgsIDkyOTg5LCA2Nzk2OCwgMCwgOTIxOTgsIDAsIDAsIAorICAgIDYzOCwgNjA4MywgMTE5MDcyLCAxMjQ5NTAsIDAsIDIzMDUsIDc4MzQ4LCA2ODA5NiwgMCwgNjA1NiwgNjY1OSwgNjc5NjksIAorICAgIDk4MzI4OCwgNjA4NSwgMCwgMCwgMzkxNSwgNDE2MzQsIDAsIDQxNjM5LCA2MzkxMiwgMTE5NDEsIDk4Mzc4MywgNDAyOCwgCisgICAgMTc4NywgNDIxODAsIDQzMDk2LCA0Mzc1MywgMzI0OSwgMTc2OCwgOTM5ODIsIDEyMzI4LCA1MDEsIDkzOTg1LCAxMDYwMSwgCisgICAgMCwgNTgzLCAwLCA0MTk3NywgMCwgNjYwMDQsIDY2NDE2LCA2NTA1LCA3NDAxMCwgMCwgMTMwNjQsIDU1MjY3LCAxMTkxMTMsIAorICAgIDY1MDAsIDU1MjYsIDY1MDQ5LCAwLCAxMjk5MCwgMCwgOTIzNzYsIDEyNzQ1LCA5Njc4LCA5ODMxNDMsIDEyMDU4NywgOTg2OSwgCisgICAgMTI4ODE1LCAxNzcxLCAxMjg5NjUsIDg5MzYsIDkyOTY0LCAwLCA0MjA4LCA3ODM0MSwgNzg1NjcsIDc4MzQyLCA2Nzc0MiwgCisgICAgOTgzMjA4LCA3NDEwMSwgMTI4NjA1LCAxMTc2MiwgMCwgNzAwOTYsIDY4MzUsIDY4MDEwLCA2NjQ3NSwgMTIwMjYwLCA1MDI3LCAKKyAgICA3ODE3MiwgMTI4ODc4LCAxMTk4MzAsIDUwNjksIDczNzM2LCA1MDI4LCA5ODk3LCA5Mjc3NCwgNzM3MzksIDUwMjYsIAogICAgIDk4MzI1MywgNjg2MzksIDYzMzEsIDEwMDc5LCA4OTMxLCAwLCAxNDE1LCA4ODY2LCA0MTkwMSwgNzQ3OTAsIDc4MTM4LCAKLSAgICAxMTkzNjEsIDk4MzU2NCwgNDMxMDYsIDUwMjksIDY1MzA5LCAxNTgwLCAzNTk4LCA2ODQyNCwgNDEwNzAsIDc3OTAzLCAwLCAKLSAgICAzNDQwLCA3ODIxNSwgMTU2MiwgMTI4NjU2LCAxMjcxNzUsIDExOTM1OCwgMTcxNiwgOTgzNjc5LCAxMDYwMCwgOTE3ODY3LCAKLSAgICA2MjAsIDQxMDAxLCA2MDI4LCAwLCA0Mjg5MiwgMCwgNzQ4MjIsIDUwMjQsIDEyMDgyOSwgNDEwMDMsIDAsIDUwMjUsIAotICAgIDY5ODkyLCA5ODMyMDksIDAsIDExODg4NSwgMCwgNjU1NTcsIDAsIDc0NTQxLCA5ODM1ODcsIDExNTk5LCAxMjgyMDksIAotICAgIDExNjAyLCA2MjQzLCAxMTU3NCwgMTE1ODEsIDExNTk3LCAxMTU5OCwgNjI1MywgNjEwNSwgMTE1ODQsIDc0MTk1LCAxMTU2OSwgCi0gICAgNjUyNzUsIDg5MDYsIDEyNzA5NiwgNTc1NSwgMjYzNiwgOTgzMjI3LCAxMDgxNSwgMTE2MTksIDIzMDEsIDQxNTQwLCA3ODE1LCAKLSAgICAxMTYxNiwgNjk3OSwgMTIwODAsIDc3MjEsIDExNjA0LCA3ODY5LCAxNTkyLCAwLCA0MjE1MiwgNzg0OTgsIDQxMDQ4LCAKLSAgICA5MTc3NjMsIDgyOSwgMCwgOTI0MDYsIDE5OTUwLCAwLCAxMjY0ODIsIDY2MTYsIDAsIDExODg3NSwgMTA5NTMsIDM5MSwgMCwgCi0gICAgNjk3ODUsIDQ4MiwgNDIyOTYsIDExNTg4LCAwLCA0MzYwNiwgMCwgNjgzOTcsIDY2MzcwLCA3NDUwNiwgNDIzMzUsIAotICAgIDk4MzE4OCwgMCwgMCwgNzUzOCwgNTMxNSwgMTIwNjQ0LCA0MjQ5MSwgMCwgNDIwNjEsIDEyODA4OCwgNDU3NiwgMCwgCi0gICAgNjg0MTcsIDQzODA5LCA0Mjc3LCAwLCA0MDM5LCA2NDQ3MiwgNDIzMzgsIDM2OCwgNDIwNTgsIDM5NjAsIDExMDQzLCAKLSAgICAxMTMzNywgNzgyMDksIDkxNzgyMCwgNjM5ODksIDM5NTgsIDEyMTMyLCAxODQ5LCAwLCA5OTIxLCA0MjQ1MSwgNDI1MywgCi0gICAgNDExNDcsIDQyMDY0LCAxMTk1OSwgNDI0MDQsIDQxMTYwLCAwLCAzNjE4LCA3ODMzOCwgMCwgNDMzMDAsIDUxNTYsIDkyNjI5LCAKLSAgICAwLCA5MjksIDY4MjcsIDQyMDM1LCA0MjQzNywgMTU1NSwgMCwgODY5MSwgNjY0MzUsIDIyMTUsIDQxNjYyLCA5NDAxMCwgMCwgCi0gICAgMCwgMCwgOTM5NTIsIDQ1NzgsIDY0NTEzLCA0MTY2NCwgOTgzNzM0LCA0MjU3OCwgMTI4Nzk0LCA0MTY2MSwgNzg3MTUsIAotICAgIDQzMjY3LCA5MzU2LCAwLCAwLCAwLCAxMjg2LCAxMDE2NiwgMCwgMCwgNjQ3MDcsIDk4MzEyNywgNDI0NzYsIDc3MzAsIAotICAgIDk4Mzg1OSwgMTI4NTIyLCA0MjQ4MywgMCwgMCwgNDIzMjQsIDQyMjkxLCAxMDAyMCwgNDMzNTksIDAsIDY2NDEsIDUyNSwgCi0gICAgNDE2MjcsIDkxNzkyMywgODc2MywgMTI4MzA0LCA0MTYyOCwgNTMzLCAxMTkzMSwgNjUyMjUsIDgzMjEsIDQyNTA0LCAKLSAgICA0MjU4MSwgMCwgNjkxNSwgNDIzMTAsIDQzNzcsIDg1NTksIDAsIDc0MzYwLCAwLCAxMzE5MywgNjQzNTAsIDExNjY2LCAKLSAgICA4Njc5LCA0MTkyNCwgMTU3NiwgNzczNSwgOTIzOTgsIDAsIDczODQwLCA5ODMwOTIsIDExMzc0LCA3ODA0MywgMTA4ODksIAotICAgIDQzNDYxLCA3NzU3LCA0MjQ2MiwgMTIwMjI2LCAxMDAyOSwgNjY0OTMsIDI3MTgsIDQxNjgsIDczODQyLCAxMzMwOCwgCi0gICAgMTIwMTEyLCAwLCAxMTc5LCA0NDQwLCAwLCA3Nzk0OCwgMzYzLCAxMTAxNSwgNzc5NDcsIDc3OTQ0LCA2NDI5NiwgMTI3MDkwLCAKLSAgICA2NjY5MiwgMTIwODI2LCAwLCA2NjQ5MiwgNjU5MywgNjQ2MjUsIDQxOTYzLCA5MjE3NywgMTE5MzI5LCAwLCAxMDAxMywgCi0gICAgNjQ0MzQsIDkyNTIwLCAxMjcwOTUsIDk0OTIsIDExNzgyLCA2NDM4MiwgMTI4MzMsIDc3ODMwLCAwLCAxMjk3LCA0MTYzMCwgCi0gICAgNjMwLCAxMjcwOTQsIDAsIDEyMDc3NCwgOTI0NjUsIDEwNDMsIDQzNjUyLCA2NjIyMywgMTAwOTAsIDAsIDEyODY2NCwgMzEzLCAKLSAgICA5MTc1NjMsIDQxODgxLCAwLCA0MjMxMSwgNzQ0NSwgMCwgNTc1MCwgMTA3NTksIDk0MTksIDU1MjIyLCA5NDA1LCAxMTI2OCwgCi0gICAgNDI5MTksIDkzOTgsIDg1MjYsIDkzOTksIDk0MjIsIDAsIDY2NDk1LCAwLCAwLCAxMjcyMzksIDQxNzE4LCAxMDcwNywgCi0gICAgMTYwMywgMCwgMTE5MDAzLCAwLCA2MzEsIDc3OTUyLCA2OTcwMywgMTMxNjEsIDY1MjcyLCAwLCAxMDU0NiwgNzQyMTAsIAotICAgIDc4MTAxLCAxMTYwMCwgNzc5NjEsIDI3OTcsIDczODIxLCA0MjQyNywgMzA2LCA3MTQsIDMwNTgsIDQyMzgxLCA3Nzk2MiwgCi0gICAgMTI3MDgwLCAxMjM1MSwgNDIzOTUsIDAsIDExNjA3LCAwLCA0MjI4MiwgNzc5NzEsIDc3OTY3LCA5MTU3LCA3Mzc2NSwgCi0gICAgNjYzNjQsIDQyNDMzLCA3Nzk2NCwgNzYwMywgMTI4MDMsIDE4MCwgNDIxNDEsIDAsIDEyMDYxMiwgNjY0OTQsIDEyNjc0LCAKLSAgICA4MjQ0LCAzNjIsIDkyNDM5LCAwLCA4MDM3LCA0Mzc3NywgMTE1MzUsIDAsIDc0ODQ1LCA1MTg1LCA3MTY1LCA1NTIxLCAKLSAgICAxMDMzNCwgMjA5MywgNzEzMjksIDEwMzAyLCAxMjgxMTIsIDEwMTA0LCAxMDI3LCA1MTgxLCAwLCAwLCAxMDUyMywgMTQ0NiwgCi0gICAgNDIzMjAsIDQxNjQ2LCA5OTEsIDUxODksIDQyNDcyLCA0MTY0NywgMTIwMTA1LCAxNzIyLCA1NTgxLCA0Mjg5OCwgMzQwNSwgCi0gICAgMCwgMTk0NjQ0LCA1NTIzLCAwLCA0MjYyMCwgOTI0NDcsIDk4MzgxOSwgOTU0OSwgMCwgMTA1NDksIDU1MjgyLCA5NjYxLCAKLSAgICA0MzY4MiwgMCwgNzc5MTAsIDEyMDAyNiwgNzg3MDgsIDAsIDc3OTExLCAwLCA0MTk5MSwgOTgzODkzLCAwLCA3NjMwLCAKLSAgICA5ODQ2LCA3Njg0LCAxMDM1MCwgMCwgMTE3NCwgNzc5ODEsIDQyNzMzLCA3Nzk3OCwgNzc5ODAsIDY2NDg1LCA3Nzk3NywgCi0gICAgNDIyNzcsIDc3OTc0LCA0MjQ1NiwgNjU2NjcsIDEyNzAzNywgMTIzMzAsIDEyODI3MiwgMCwgNDI0MTcsIDQyMzgzLCAKLSAgICA2NjYzMCwgNDEzNDQsIDYyOTMsIDAsIDY2MjUyLCA3Nzk4NCwgNzQ0NDMsIDAsIDEwMjA5LCA4MzEzLCA0MTk1LCA3NDQzNSwgCi0gICAgMTMxNiwgNjY2OTAsIDEyMDAzMiwgNjMzMiwgNjQ4OTQsIDAsIDY1ODcxLCA3ODA2MCwgMTczNiwgOTgzNjg0LCAzOTAxLCAKLSAgICAxMjIyOCwgMTIwMTUxLCA2NTIwMCwgMzM4MywgMTA0NDYsIDc4ODQxLCA2OTMsIDkxMzAsIDMxNCwgNjQxNDksIDQyNDIwLCAKLSAgICAxMTk0OSwgOTgzNjY5LCAxMjAxNTIsIDExMDI2LCAxMjg3ODgsIDUzMzIsIDY5NDAsIDY0MTU0LCAxMjYzNSwgMTI3MDA3LCAKLSAgICA0MjcwNiwgMTc1MSwgMjczLCA4MTY1LCAxMzE2NiwgMTIwNzYzLCA3ODg0MCwgNzEzNjgsIDEyODI0LCAwLCA0NTI4LCAKLSAgICA1MzIwLCA2MzAxLCA0MzY2MiwgNjEzMywgOTMzOSwgOTQ2MywgNDIzNDYsIDEwOTIyLCA2NDU2MCwgMzc1NywgMCwgMCwgMCwgCi0gICAgNjU4NjksIDczNzYwLCAyNTY5LCAwLCAyMzI2LCA2NTc0MCwgMjU2NSwgNDI0NTksIDc1OTYsIDc5MjEsIDk4Mzg2OCwgCi0gICAgNzQwOTUsIDEyNzk4MSwgNDE4NDgsIDI1NjcsIDY2MDA2LCAwLCA0MDQ0LCA5MjY0NiwgMCwgMTIyMzMsIDk4Mzg3MSwgCi0gICAgMTAyMywgNDc0LCAwLCAxMTk4MTgsIDAsIDAsIDQyNDg3LCA2NTU1NiwgMCwgMTI3ODY2LCA0MjI5NSwgMCwgMCwgNzEzMjIsIAotICAgIDkyNTE4LCA5ODM1LCA2NjQ5OSwgMCwgNTQxNywgMTIyNzUsIDEwODk1LCAwLCAyNzQsIDAsIDE4NTgsIDAsIDAsIDU1MjUxLCAKLSAgICAxMDExOCwgMzEzMywgMTI4MDA4LCA3Mzc5NSwgMCwgOTYxMCwgODA2OCwgODE5NywgMCwgNjk5LCAwLCA0MTY2NSwgNTg2OCwgCi0gICAgMCwgOTI2OTUsIDQyMTgyLCA3NTgxLCAxOTk0MCwgNDM2NjgsIDQxNjY3LCAxMjgwNTcsIDAsIDE5MjMsIDY1NTgzLCAKLSAgICA2NTgwMiwgOTM5NzAsIDY0NTk3LCA0MzQ0NCwgMTE5MTg0LCA5MjE5NywgMCwgNjQ2NCwgNzAzNiwgMjk5NiwgMTkzNywgCi0gICAgOTgzNzUxLCAwLCA0MTgzNSwgNDA0NywgNDE4NDIsIDAsIDY0MTA3LCAwLCAwLCAxMTAxNywgMTIwNjAxLCAwLCAyOTMsIAotICAgIDc3OTY2LCA5MjE2OSwgNjQ3OTEsIDQxODI3LCA0MjQ2NiwgNDM0MjIsIDEwNTc5LCA4NTYwLCA3MTM1MCwgNjU0MTMsIAotICAgIDc3OTYzLCA0ODAzLCAxMjk2NCwgMTczOSwgMTk0MSwgMzkwMCwgMCwgMTcxMywgNzc5NjksIDAsIDczOTU3LCAxMTQwNywgCi0gICAgNDI0NDEsIDQxOTcxLCA2Mjk3LCAxMjAwOTgsIDY0MTA1LCAxMjgwODAsIDQyNDgxLCAxMTcxNiwgNjY0NzMsIDcxNzksIAotICAgIDQyMjg5LCAwLCA2NDEwMywgOTY5LCAwLCA5MzUyLCAwLCA2MTY1LCA2NDEwMCwgMCwgNjYzMiwgNzM4NjEsIDQyNDAyLCAKLSAgICA3NDMyNywgNzgwNiwgMCwgODkxNCwgMCwgMCwgMzE4MywgMTQzNSwgNjQ4NzYsIDI5NjksIDYwNDYsIDY0NDQxLCA2MjA4LCAKLSAgICA2Nzg0OSwgNTc0NiwgNzM3NDksIDAsIDY0NDE2LCA0MjQyMiwgMCwgOTgzMDQ2LCA3MDgyLCA3Mzc3NSwgMzM4LCA1MDU5LCAKLSAgICAxOTQ3MTksIDAsIDQyMzI4LCAxMDc2NywgMCwgODExNSwgMCwgNzQ3NTgsIDAsIDgyMjcsIDIwNzMsIDEyMTgsIDkxNzc5MCwgCi0gICAgMCwgNjU4NDgsIDAsIDAsIDY5ODYzLCAwLCAxMjY5ODcsIDQ0ODYsIDAsIDAsIDAsIDEwOTI1LCAwLCAwLCAwLCA5ODM1ODYsIAotICAgIDQyMzA5LCAxMDI1NywgNjUxOTEsIDEwMjczLCAwLCAxMDMwNSwgNDI0NjEsIDAsIDQyMzQ5LCA4ODMyLCA3ODA1MSwgCi0gICAgNjQxMjcsIDEwNjQ0LCA0MjY2MiwgNzg4MjgsIDQyMjc4LCA3NDQ1MSwgMTI2OTg4LCA2OTg3NCwgNzc5NCwgMCwgNDI0MjksIAotICAgIDYzNzcsIDQyMzE2LCAxMTkwMjYsIDM2NjksIDM5NjgsIDQyNDY4LCA3MTMxOSwgNjk2NTgsIDAsIDY1NDAyLCAxMTk1ODEsIAotICAgIDAsIDAsIDY0OTMzLCAwLCA0MTk2MCwgNjY5OSwgMCwgMCwgMTI4MzU0LCA2ODIzLCA0MjM5MSwgMTU4OCwgNjU0MDAsIAotICAgIDg0MDksIDc4MjIzLCAxOTk2NywgNjUzOTgsIDc4NywgNzEzMTUsIDkxNzkzOSwgMTI3NzQ0LCA2MTE1LCAyMDc4LCA0MTY1NCwgCi0gICAgNDI0ODAsIDAsIDkyNjUwLCA0MTY1NSwgNjU0MDEsIDQzOTc1LCAwLCAwLCAwLCA2NDQsIDY1NTAwLCA0MTY1NywgMTA3NzgsIAotICAgIDM2NTksIDk1MzMsIDE4NCwgMTU1MywgMTMxMDcsIDY1NDg0LCA2OTY0OCwgMTA1MDIsIDc0NDU3LCAwLCAwLCA0MTU1NCwgMCwgCi0gICAgODIyMCwgOTE3OTQzLCA0MTU1NywgMCwgMCwgMTEwNzAsIDExOTIyMSwgNTE1NywgNDAyMCwgNzM4NTgsIDQxNTU1LCA5NTE0LCAKLSAgICA2NDgxOCwgNjUxMDMsIDY0NjQxLCA2NDMwMywgNzgxMzEsIDc1MjAsIDAsIDc0Mzc3LCAxMTAyOSwgNjY2NTEsIDk4MzA2OCwgCi0gICAgMCwgMTE4OTMwLCA2NDUyNywgMCwgNzg3NywgNzM4MDMsIDk4Mzc5OCwgMTI3MzQ4LCAxMjAwOTYsIDc0NjAyLCA5OTU1LCAKKyAgICAxMTkzNjEsIDk4MzU2NCwgNDMxMDYsIDUwMjksIDY1MzA5LCAxNTgwLCAzNTk4LCA2ODQyNCwgNDEwNzAsIDc3OTAzLCAKKyAgICA3NjU4LCAzNDQwLCA3ODIxNSwgMTU2MiwgMTI4NjU2LCAxMjcxNzUsIDExOTM1OCwgMTcxNiwgOTgzNjc5LCAxMDYwMCwgCisgICAgOTE3ODY3LCA2MjAsIDQxMDAxLCA2MDI4LCAwLCA0Mjg5MiwgMCwgNzQ4MjIsIDUwMjQsIDEyMDgyOSwgNDEwMDMsIDY4MTM3LCAKKyAgICA1MDI1LCA2OTg5MiwgOTgzMjA5LCAwLCAxMTg4ODUsIDEyNzk1NiwgNjU1NTcsIDAsIDc0NTQxLCAxMjg5MjQsIDExNTk5LCAKKyAgICAxMjgyMDksIDExNjAyLCA2MjQzLCAxMTU3NCwgMTE1ODEsIDExNTk3LCAxMTU5OCwgNjI1MywgNjEwNSwgMTE1ODQsIAorICAgIDc0MTk1LCAxMTU2OSwgNjUyNzUsIDg5MDYsIDEyNzA5NiwgNTc1NSwgMjYzNiwgNzEyMDMsIDEwODE1LCAxMTYxOSwgMjMwMSwgCisgICAgNDE1NDAsIDc4MTUsIDExNjE2LCA2OTc5LCAxMjA4MCwgNzcyMSwgMTE2MDQsIDc4NjksIDE1OTIsIDAsIDQyMTUyLCAKKyAgICA3ODQ5OCwgNDEwNDgsIDkxNzc2MywgODI5LCAwLCA5MjQwNiwgMTk5NTAsIDY2ODg2LCAxMjY0ODIsIDY2MTYsIDAsIAorICAgIDExODg3NSwgMTA5NTMsIDM5MSwgMCwgNjk3ODUsIDQ4MiwgNDIyOTYsIDExNTg4LCAwLCA0MzYwNiwgNzExODUsIDY4Mzk3LCAKKyAgICA2NjM3MCwgNzQyODIsIDQyMzM1LCA5ODMxODgsIDcyNDIxLCA5ODM3OTksIDc1MzgsIDUzMTUsIDEyMDY0NCwgNDI0OTEsIAorICAgIDkyOTAxLCA0MjA2MSwgMTI4MDAyLCA0NTc2LCAwLCA2ODQxNywgNDM4MDksIDQyNzcsIDAsIDM1NjMsIDY0NDcyLCA0MjMzOCwgCisgICAgMzY4LCA0MjA1OCwgMzk2MCwgMTEwNDMsIDExMzM3LCA3ODIwOSwgOTE3ODIwLCA2Mzk4OSwgMzk1OCwgMTIxMzIsIDE4NDksIAorICAgIDAsIDk5MjEsIDQyNDUxLCA0MjUzLCA0MTE0NywgNDIwNjQsIDExOTU5LCA0MjQwNCwgNDExNjAsIDAsIDM2MTgsIDc4MzM4LCAKKyAgICAxOTQ5MjQsIDQzMzAwLCA1MTU2LCA5MjYyOSwgNzAzNTAsIDkyOSwgNjgyNywgNDIwMzUsIDQyNDM3LCAxNTU1LCAwLCAKKyAgICA4NjkxLCA2NjQzNSwgMjIxNSwgNDE2NjIsIDk0MDEwLCAwLCAwLCAxMjg4MjQsIDkzOTUyLCA0NTc4LCA2NDUxMywgNDE2NjQsIAorICAgIDk4MzczNCwgNDI1NzgsIDcxMDQ5LCA0MTY2MSwgNzgzNTEsIDQzMjY3LCA5MzU2LCAwLCAwLCAwLCAxMjg2LCAxMDE2NiwgCisgICAgOTgzMTE3LCAwLCA2NDcwNywgMTI4OTI1LCA0MjQ3NiwgNzczMCwgMTExNTYsIDEyODUyMiwgNDI0ODMsIDAsIDEyODQwNCwgCisgICAgNDIzMjQsIDQyMjkxLCAxMDAyMCwgNDMzNTksIDAsIDY2NDEsIDUyNSwgNDE2MjcsIDkxNzkyMywgODc2MywgMTI4MzA0LCAKKyAgICA0MTYyOCwgNTMzLCAxMTkzMSwgNjUyMjUsIDgzMjEsIDQyNTA0LCA0MjU4MSwgMCwgNjkxNSwgNDIzMTAsIDQzNzcsIDg1NTksIAorICAgIDEyODMyMSwgNzQzNjAsIDEyNTEwMCwgMTMxOTMsIDY0MzUwLCAxMTY2NiwgODY3OSwgNDE5MjQsIDE1NzYsIDc3MzUsIAorICAgIDkyMzk4LCAwLCA3Mzg0MCwgOTgzMDkyLCAxMTM3NCwgNzgwNDMsIDEwODg5LCA0MzQ2MSwgNzc1NywgNDI0NjIsIDEyMDIyNiwgCisgICAgMTAwMjksIDY2NDkzLCAyNzE4LCA0MTY4LCA3Mzg0MiwgMTMzMDgsIDEyMDExMiwgMCwgMTE3OSwgNDQ0MCwgMCwgNzc5NDgsIAorICAgIDM2MywgMTEwMTUsIDY2ODE3LCA3Nzk0NCwgNDM4NTcsIDEyNzA5MCwgNjY2OTIsIDEyMDgyNiwgMCwgNjY0OTIsIDY1OTMsIAorICAgIDY0NjI1LCA0MTk2MywgOTIxNzcsIDExOTMyOSwgMCwgMTAwMTMsIDY0NDM0LCA5MjUyMCwgMTI3MDk1LCA5NDkyLCAxMTc4MiwgCisgICAgNjQzODIsIDEyODMzLCA3NzgzMCwgMCwgMTI5NywgNDE2MzAsIDYzMCwgMTI3MDk0LCAwLCAxMjA3NzQsIDcwMTY1LCAxMDQzLCAKKyAgICA0MzY1MiwgNjYyMjMsIDEwMDkwLCAwLCAxMjQ5NDUsIDMxMywgMTI5MDMzLCA0MTg4MSwgMCwgNDIzMTEsIDc0NDUsIAorICAgIDExOTI0NCwgNTc1MCwgMTA3NTksIDk0MTksIDU1MjIyLCA5NDA1LCAxMTI2OCwgNDI5MTksIDkzOTgsIDg1MjYsIDkzOTksIAorICAgIDk0MjIsIDAsIDY2NDk1LCA2OTk5MCwgMCwgOTI5OTAsIDQxNzE4LCAxMDcwNywgMTYwMywgOTgzNzAzLCAxMTkwMDMsIDAsIAorICAgIDYzMSwgNzc5NTIsIDY5NzAzLCAxMzE2MSwgNjUyNzIsIDcxMDY3LCAxMDU0NiwgNzQyMTAsIDc4MTAxLCAxMTYwMCwgCisgICAgNzc5NjEsIDI3OTcsIDczODIxLCA0MjQyNywgMzA2LCA3MTQsIDMwNTgsIDQyMzgxLCA3Nzk2MiwgMTI3MDgwLCAxMjM1MSwgCisgICAgNDIzOTUsIDAsIDExNjA3LCAxMjc1MjgsIDExMTk4LCA2NjgyMSwgNzc5NjcsIDkxNTcsIDczNzY1LCA2NjM2NCwgNDI0MzMsIAorICAgIDc3OTY0LCA3NjAzLCAxMjgwMywgMTgwLCA0MjE0MSwgMCwgMTIwNjEyLCA2NjQ5NCwgMTI2NzQsIDgyNDQsIDM2MiwgCisgICAgOTI0MzksIDEyNTA5NiwgODAzNywgNDM3NzcsIDExNTM1LCAwLCA3NDg0NSwgNTE4NSwgNzE2NSwgNTUyMSwgMTAzMzQsIAorICAgIDIwOTMsIDcxMzI5LCAxMDMwMiwgMTI1MTMxLCAxMDEwNCwgMTAyNywgNTE4MSwgOTgzMTQ2LCAwLCAxMDUyMywgMTQ0NiwgCisgICAgNDIzMjAsIDY4NDUsIDk5MSwgNTE4OSwgNDI0NzIsIDQxNjQ3LCAxMjAxMDUsIDE3MjIsIDU1ODEsIDQyODk4LCAzNDA1LCAwLCAKKyAgICAxOTQ2NDQsIDU1MjMsIDAsIDQyNjIwLCA5MjQ0NywgMTI0OTg4LCA5NTQ5LCAwLCAxMDU0OSwgNTUyODIsIDk2NjEsIAorICAgIDQzNjgyLCAwLCA3NzkxMCwgNzgwNjgsIDY4MjQ3LCAwLCA3MTE4NCwgOTgzMDcwLCA0MTk5MSwgOTgzODkzLCAwLCA3NjMwLCAKKyAgICA5ODQ2LCA3Njg0LCAxMDM1MCwgMTI4NDUzLCAxMTc0LCA3Nzk4MSwgNDI3MzMsIDc3OTc4LCA3Nzk4MCwgNjY0ODUsIAorICAgIDc3OTc3LCA0MjI3NywgNzc5NzQsIDQyNDU2LCA2NTY2NywgNzQ0MzgsIDEyMzMwLCAxMjgyNzIsIDAsIDQyNDE3LCA0MjM4MywgCisgICAgNjY2MzAsIDQxMzQ0LCA2MjkzLCAwLCA2NjI1MiwgNzc5ODQsIDc0NDQzLCAxMjc4OTQsIDEwMjA5LCA4MzEzLCA0MTk1LCAKKyAgICA3NDQzNSwgMTMxNiwgNjY2OTAsIDEyMDAzMiwgNjMzMiwgNjQ4OTQsIDk4MzE1NiwgNjU4NzEsIDc4MDYwLCAxNzM2LCAKKyAgICA5ODM2ODQsIDM5MDEsIDEyMjI4LCAxMjAxNTEsIDY1MjAwLCAzMzgzLCAxMDQ0NiwgNzgyNDEsIDY5MywgOTEzMCwgMzE0LCAKKyAgICA2NDE0OSwgNDI0MjAsIDExOTQ5LCA5ODM2NjksIDEyMDE1MiwgMTEwMjYsIDEyMDUxNiwgNTMzMiwgNjk0MCwgNjQxNTQsIAorICAgIDEyNjM1LCAxMjQ5ODAsIDQyNzA2LCAxNzUxLCAyNzMsIDgxNjUsIDEzMTY2LCAxMjA3NjMsIDc4ODQwLCA3MTM2OCwgCisgICAgMTI4MjQsIDAsIDQ1MjgsIDUzMjAsIDYzMDEsIDQzNjYyLCA2MTMzLCA5MzM5LCA5NDYzLCA0MjM0NiwgMTA5MjIsIDY0NTYwLCAKKyAgICAzNzU3LCAwLCAwLCA3NDMwMiwgNjU4NjksIDczNzYwLCAyNTY5LCAwLCAyMzI2LCA2NTc0MCwgMjU2NSwgNDI0NTksIDc1OTYsIAorICAgIDc5MjEsIDk4Mzg2OCwgNzM4NjIsIDEyNzk4MSwgNDE4NDgsIDI1NjcsIDY2MDA2LCA5MjYyMiwgNDA0NCwgOTI2NDYsIDAsIAorICAgIDEyMjMzLCA5ODM4NzEsIDEwMjMsIDQ3NCwgMCwgMTE5ODE4LCAwLCAwLCA0MjQ4NywgNjU1NTYsIDAsIDEyNzg2NiwgCisgICAgNDIyOTUsIDAsIDEyNTExNCwgNzEzMjIsIDkyNTE4LCAyMjIyLCA2NjQ5OSwgMCwgNTQxNywgMTIyNzUsIDEwODk1LCAwLCAKKyAgICAyNzQsIDAsIDE4NTgsIDAsIDAsIDU1MjUxLCAxMDExOCwgMzEzMywgMTI4MDA4LCA3MTg1NywgMCwgOTYxMCwgODA2OCwgCisgICAgODE5NywgMCwgNjk5LCAwLCA0MTY2NSwgNTg2OCwgMTI4NzEwLCA5MjY5NSwgNDIxODIsIDc1ODEsIDE5OTQwLCA0MzY2OCwgCisgICAgNDE2NjcsIDEyODA1NywgMCwgMTkyMywgNjU1ODMsIDY1ODAyLCA5Mzk3MCwgNjQ1OTcsIDQzNDQ0LCAxMTkxODQsIDcxODU1LCAKKyAgICAwLCA2NDY0LCA3MDM2LCAyOTk2LCAxOTM3LCA5ODM3NTEsIDY4NDgxLCA0MTgzNSwgNDA0NywgNDE4NDIsIDAsIDY0MTA3LCAKKyAgICA3Nzk2NSwgOTgzNzQ2LCAxMTAxNywgMTIwNjAxLCAwLCAyOTMsIDc3OTY2LCA5MjE2OSwgNjQ3OTEsIDQxODI3LCA0MjQ2NiwgCisgICAgNDM0MjIsIDEwNTc5LCA4NTYwLCA3MTM1MCwgNjU0MTMsIDc3OTYzLCA0ODAzLCAxMjk2NCwgMTczOSwgMTk0MSwgMzkwMCwgCisgICAgMTI4OTY3LCAxNzEzLCA3Nzk2OSwgMCwgNzM5NTcsIDExNDA3LCA0MjQ0MSwgNDE5NzEsIDYyOTcsIDEyMDA5OCwgNjQxMDUsIAorICAgIDEyODA4MCwgNDI0ODEsIDExNzE2LCA2NjQ3MywgNzE3OSwgNDIyODksIDEyNTA5NSwgNjQxMDMsIDk2OSwgMCwgOTM1MiwgCisgICAgOTgzMTQ5LCA2MTY1LCA2NDEwMCwgMCwgNjYzMiwgNzM4NjEsIDQyNDAyLCA3NDMyNywgNzgwNiwgMCwgODkxNCwgNjY5MDgsIAorICAgIDEyNDk1NCwgMzE4MywgMTQzNSwgNjQ4NzYsIDI5NjksIDYwNDYsIDY0NDQxLCA2MjA4LCA2Nzg0OSwgNTc0NiwgNjY0MDgsIAorICAgIDAsIDY0NDE2LCA0MjQyMiwgMCwgOTgzMDQ2LCA3MDgyLCA3Mzc3NSwgMzM4LCA1MDU5LCAxOTQ3MTksIDEyOTE0NSwgCisgICAgNDIzMjgsIDEwNzY3LCAwLCA4MTE1LCAwLCA3NDc1OCwgMCwgODIyNywgMjA3MywgMTIxOCwgOTE3NzkwLCA5ODMyMzAsIAorICAgIDY1ODQ4LCA5Mjg4NCwgMCwgNjk4NjMsIDAsIDEyNjk4NywgNDQ4NiwgMTI4MDgyLCAwLCAwLCAxMDkyNSwgMCwgMTE5ODY4LCAKKyAgICAwLCAxMjQ5NTIsIDQyMzA5LCAxMDI1NywgNjUxOTEsIDEwMjczLCA3NjY4LCAxMDMwNSwgNDI0NjEsIDAsIDQyMzQ5LCAKKyAgICA4ODMyLCA3ODA1MSwgNjQxMjcsIDEwNjQ0LCA0MjY2MiwgNzg4MjgsIDQyMjc4LCA3NDQ1MSwgMTI2OTg4LCA2OTg3NCwgCisgICAgNzc5NCwgMTE5ODY3LCA0MjQyOSwgNjM3NywgNDIzMTYsIDExOTAyNiwgMzY2OSwgMzk2OCwgNDI0NjgsIDcxMzE5LCAKKyAgICA2OTY1OCwgMCwgNjU0MDIsIDExOTU4MSwgMCwgMTI4NzQ3LCA2NDkzMywgMTk0ODE1LCA0MTk2MCwgNjY5OSwgNDI5MDMsIAorICAgIDEyODc1NSwgMTI1MDEzLCA2ODIzLCA0MjM5MSwgMTU4OCwgNDM1MDIsIDg0MDksIDc4MjIzLCAxOTk2NywgNjUzOTgsIDc4NywgCisgICAgNzEzMTUsIDkxNzkzOSwgMTI3NzQ0LCA2MTE1LCAyMDc4LCA0MTY1NCwgNDI0ODAsIDAsIDkyNjUwLCA0MTY1NSwgNjU0MDEsIAorICAgIDQzOTc1LCA3MjQyNywgMCwgMTEzODE2LCA2NDQsIDY1NTAwLCA0MTY1NywgMTA3NzgsIDM2NTksIDk1MzMsIDE4NCwgMTU1MywgCisgICAgMTMxMDcsIDY1NDg0LCA2OTY0OCwgMTA1MDIsIDY2Mjk2LCAwLCAwLCA0MTU1NCwgMCwgODIyMCwgMTI5MDMxLCA0MTU1NywgCisgICAgMCwgMTI4OTM4LCAxMTA3MCwgMTE5MjIxLCA1MTU3LCA0MDIwLCA3Mzg1OCwgNDE1NTUsIDk1MTQsIDY0ODE4LCA2NTEwMywgCisgICAgNjQ2NDEsIDY0MzAzLCA3ODEzMSwgNzUyMCwgNzM4ODgsIDc0Mzc3LCAxMTAyOSwgNjY2NTEsIDk4MzA2OCwgMTI4NDkyLCAKKyAgICAxMTg5MzAsIDY0NTI3LCAwLCA3ODc3LCAxMjcyMywgOTgzNzk4LCAxMjczNDgsIDEyMDA5NiwgNzQ2MDIsIDk5NTUsIAogICAgIDExOTU1NywgNDA1NSwgNDI4MTcsIDAsIDY1MjEyLCAxMTcxNSwgMTIxOTAsIDEyMzE5LCA3ODYzMCwgMCwgNzg2MzEsIAotICAgIDk1MDIsIDY1NDI3LCAwLCA2NTQyNCwgMTI2MDcsIDAsIDk3MzQsIDY1NDI1LCAwLCAwLCAxMjczNTcsIDc4ODM1LCA5MjQxMCwgCi0gICAgMTAxMTIsIDEwODI3LCAwLCA5ODY2LCA3NDUyNywgNjY2NzUsIDAsIDg2MjUsIDY0MzQ2LCAxMTI5MCwgMTA0NzcsIDAsIAotICAgIDg2MzYsIDk4MzkyNywgODMxNSwgNjU0NDQsIDk4Mzc5MywgMCwgNzQ1OTUsIDYxNTIsIDAsIDAsIDY2MjksIDEyNzEwOCwgCi0gICAgMTIwMTcxLCAwLCA3NDU4OSwgNDM5OTMsIDAsIDY5NzkwLCA2NDQzNSwgMCwgNDM2OTAsIDExMDQ2LCAxMTQ5MCwgNDI3MzAsIAotICAgIDQ0ODUsIDEyNzEwNywgMCwgNjQ5MjYsIDAsIDAsIDAsIDU4NjksIDEyNDM3LCA0MjcyOCwgMCwgNzA0MCwgMzU4OCwgMCwgCi0gICAgMTI4MjUsIDAsIDAsIDEyNzI1LCAwLCAxMjcxMDYsIDc4NjQyLCAyMjMsIDAsIDY5Njc1LCAxMjAxNjYsIDQyNDQ0LCAwLCAKLSAgICA2NDQ5OSwgNjUyNDUsIDAsIDExNzEsIDAsIDY5NzE3LCAwLCAxODA1LCA4NzcyLCA0MzgyMCwgMCwgOTkzMCwgNjUyNDcsIAotICAgIDc4NjE5LCAxMjAxMTEsIDIzMzgsIDAsIDExODg1MywgMCwgNDI2NzYsIDAsIDY0ODAwLCA2NTIzNiwgNjc2NDQsIDY4MTI2LCAKLSAgICAxMjEzLCAwLCA2NDA3NSwgNzk3LCA2NDA3NCwgODczNCwgNDIxMiwgMTI3MzY5LCA2NDM4NywgNDExNSwgMCwgNTAwNSwgCi0gICAgNjQwNzAsIDY0MDczLCAxMDY3OSwgMCwgNzc5NTQsIDk0MDIsIDY0Mjc2LCA0MjYsIDAsIDAsIDgyNTEsIDEwMTM2LCAKLSAgICA2NTQzNiwgMCwgMjEyMCwgNDMzMDIsIDEyMjQsIDAsIDY1NTc2LCA3NDE5MiwgMTA3MDEsIDE3NjQsIDMxMDEsIDEyNzgxNSwgCi0gICAgMTI4NTgsIDEyMDE1OSwgMCwgMTEzNzMsIDYzNzgsIDEyNzg1OSwgMTIwMTAzLCA4NjYzLCA5MzEyLCA0MTY0NCwgNDUzOSwgCi0gICAgMjEyOSwgMCwgOTIyMiwgOTgzNzM4LCAwLCA0MjU5LCA5MDkyLCA3NDU2NywgNDE5NjEsIDAsIDEyNzI0LCA2NjM1NywgCi0gICAgNDIzMzEsIDY0OTM1LCAwLCAwLCAxMjkzLCA3OTQ3LCAyMTMyLCA5ODM3NjcsIDc0NTkzLCAxMjAzMDgsIDI0NTQsIDQyNzE3LCAKLSAgICAzNjEzLCAxMjg4MzcsIDAsIDAsIDY1ODg4LCA4ODE2LCAxMDk3OCwgMTA4NDAsIDAsIDEwNjY4LCAwLCA0MzA4NywgMTI1OTUsIAotICAgIDEyMDMwNCwgOTgzMTE0LCA4ODIyLCAwLCAxMTU3LCA2NDkwMywgODYzOCwgMCwgMCwgMCwgMCwgNjk4NDgsIDgyMzUsIAotICAgIDEyMDMxNiwgNDQwNSwgMTAwODYsIDEyMDI0NywgMCwgNjkyMTYsIDAsIDY1NDMwLCA3MTMyMSwgNjA3OSwgNjgxNywgCi0gICAgMTA3NjQsIDEyNzkxMCwgNjQyOTEsIDEyODA1MSwgOTk4LCAxMjAzMTIsIDExMDYyLCAxMzE3LCA2NDMyNywgMTU1OCwgMCwgCi0gICAgMTk5MSwgNzg4MiwgNDIyNTQsIDAsIDQxNzAwLCA1MzAsIDAsIDEwNDI4LCAxMTkzMzUsIDEyMDAyLCAxMTkzMzYsIDU3NDIsIAotICAgIDQzMDc2LCA0NjkyLCA2NDYzMCwgNDE4MjMsIDQwMDcsIDUwMDQsIDExOTMzNCwgNzg5NiwgNzUxLCA2NTk1LCA2NTk2LCAKLSAgICAxMjAzMjUsIDY2MzczLCAwLCAwLCA2NDkwOCwgOTI2OTEsIDYzMTEsIDAsIDEyMDA0LCAxMTkxOTIsIDEyMDQ5LCA0MzEwOCwgCi0gICAgMTIwMzI2LCAwLCA0MTcwNSwgOTIxODgsIDY1OTgsIDAsIDY1OTksIDEyMDMzNCwgMCwgNDIxNDgsIDExODgyNSwgNjYwMjcsIAotICAgIDAsIDY1OTcsIDk0MTIsIDgzNDAsIDExODI0LCA2NDc0NSwgMjI4MSwgNjk5MDQsIDAsIDE5ODgsIDU0MDcsIDY3ODY1LCAKLSAgICAyNDMwLCA0MTY3OCwgMCwgMTIwMjQzLCAyMzM2LCA5ODM5MDMsIDAsIDc4ODcxLCAxMjA0NDIsIDk4Mzc2OSwgMTkyMSwgCi0gICAgMTA5NDcsIDE5OTI3LCAwLCA2NTQwNiwgMCwgMTk5MTMsIDQyODQsIDEzMjE3LCAwLCA0Mzc4OSwgMTI4NDEsIDkyMjksIAotICAgIDEwOTU2LCA0MjI4NSwgNDE2NzQsIDE5OTY0LCA0MTY3OSwgNjUwODQsIDM1MjEsIDAsIDU3NzQsIDgzMjUsIDAsIDY1NDAzLCAKLSAgICA5ODMwODksIDE4NTQsIDEwNzk0LCAwLCA2NzY2MCwgNjk4NDYsIDAsIDc4MzU5LCA1MjgwLCAwLCA0MzQ0LCAxMjkwNSwgCi0gICAgNjU0MzMsIDYwNzYsIDY0NzkzLCA0MTYxMCwgNzY4LCAxMjA3NCwgNDQyLCAwLCA2ODE2MiwgNjQwODEsIDEyOTM0LCAKLSAgICA0MTY4MiwgNjU0MzIsIDQxNjkzLCAwLCA2MDcxLCA2NTQzNCwgMTI3NDY3LCA0ODA0LCA0MDUzLCAwLCAxMjc0NjksIAotICAgIDE5NDY1MywgNDE2OTYsIDQ2NywgNjk4MjMsIDEyNzQ2MywgNjk3OTcsIDE5NDY1MiwgMTI3NDczLCA4NDIxLCAxMjc0NzIsIAotICAgIDY5NjgyLCA0MzcwNSwgNTAyLCAwLCA2NTQzMSwgMTE5MDU2LCA2OTk1NCwgMTIwNDMsIDEzMDMsIDMxNiwgNzM2NCwgMjAyOSwgCi0gICAgMjEzNiwgMTE5MjQ2LCAxMTUzMywgNjQzNjUsIDQzNDgwLCA5MjYzOSwgNDg2MCwgMTI2NjQ4LCAxMjc4NzcsIDQyNDg4LCAwLCAKLSAgICA5NTgzLCAxMjg4NDksIDU1NDYsIDgwMTksIDczODU2LCAwLCAwLCAwLCA1NTQ0LCAyMzU1LCAxMjE1MCwgNjU3MjUsIDU1NDMsIAotICAgIDc3OTg5LCA2Mzc1MSwgMTIxMzcsIDU1NDgsIDc3OTg1LCAwLCA2NTcyNywgNjgzODgsIDY1NzI2LCA2MDc3LCAxMjgzNTIsIAotICAgIDY1NDUyLCAwLCAxMTMwMSwgNzgwMTMsIDc4MDA4LCA3ODAxMCwgOTg3NCwgNzgwMDcsIDAsIDEzMTksIDMwNTAsIDY1NDEwLCAKLSAgICAwLCAwLCA3ODAxNiwgNzgwMTcsIDQyODMwLCA0Mzk5NiwgNjY3MTYsIDEyODEzNywgNDY5MSwgOTIyNDIsIDkzNDUsIDYyMSwgCi0gICAgOTI3MDksIDEyODIyMiwgMCwgNjU0MTEsIDAsIDQxMTgyLCA3Mzg4MSwgNjU0MDgsIDczODk5LCA3ODAyNCwgOTQ3NCwgCi0gICAgMTA1NDUsIDExOTExOCwgMTA4ODcsIDM3ODYsIDY1NDA5LCA4ODk0LCA0MzE3OSwgMTE5NjExLCA3OTIzLCAzNzE2LCAKLSAgICA5MjM2MywgOTk5NiwgODUwOCwgMCwgNzAxMiwgODE5NSwgMTI3ODM0LCA5NTY2LCAwLCAzNzIyLCAwLCA0MTcwNywgODQ5MywgCi0gICAgNTQ1LCA5NTc1LCA0MTM3OSwgMTAwNTAsIDEyNzE4LCA2OTg1NCwgODg1OSwgNjgyMCwgNzQzNDUsIDY1MTEwLCAxMjA3NDAsIAotICAgIDAsIDAsIDkxMTksIDI3ODcsIDc5MjAsIDExODgyMywgNDAyMSwgMjAxMiwgNzk4NSwgMCwgMTE5NjYzLCAwLCAwLCA3ODAyMSwgCi0gICAgNzgwMjIsIDQxMCwgNzgwMjAsIDE4MDIsIDc4MDE4LCA3NDEwNywgMCwgNDE2NTksIDQxNjcxLCAxODI3LCAwLCA2NDM5NiwgCi0gICAgMTAxMjYsIDEyMTE2LCA0MTY3MywgMTIwMzcwLCAxMTQyMiwgNzgxNDEsIDEyMDM3MywgMzg2MCwgMTIwMzY3LCA2ODQxMiwgCi0gICAgNDEzNDUsIDEyMDM2MiwgMTIwMzYzLCAxMTc0OCwgNDIxNTgsIDc5NDEsIDExMDc2LCA4NzQ5LCAxMjAzNjEsIDIxMDQsIAotICAgIDY0ODU4LCAzNjEsIDEyMDM1NywgODQ1LCAwLCA0MTU2MCwgMTE5NzAsIDQ1NjIsIDkxNzkyMCwgMjkyNiwgOTE3OTE5LCAKLSAgICA0NTY5LCA3NDEzMCwgMCwgNDM0ODcsIDE5NDYzMCwgNjExLCA3NDEyOSwgNjQ4NzEsIDExODg5MSwgNjU2MjksIDAsIAotICAgIDE5NDg1OCwgMCwgMCwgMTI3NTQ1LCAxMjA1NDMsIDAsIDAsIDYyOTEsIDAsIDc4NjM5LCA0MTY2OSwgNzA5NCwgOTE3OTIxLCAKLSAgICAwLCA5ODM1ODEsIDc0MDU0LCAxMjc3NTQsIDE5NTAyOSwgMCwgODM5LCA5ODMzMTksIDc2OTUsIDg3NjksIDY1MjQ2LCAKLSAgICA0ODI5LCAxOTQ2NjMsIDQ4NTksIDY0NDY3LCAwLCA5ODM5NjMsIDExODk5OCwgNzIwNiwgMCwgNjY0NywgNDM5ODYsIDAsIAotICAgIDY5NzY2LCAwLCA2NDc2NCwgNDIxMCwgOTgzODYzLCAxMjc5MzYsIDgwNCwgMCwgMCwgMTIyOTgsIDAsIDY2NjUzLCAwLCAKLSAgICA2NDkyNCwgMTAwOTEsIDczOTMxLCA5NDY4LCA3NDI0NSwgMCwgMCwgNzQyNDYsIDkyNTAzLCAxMjgzOSwgNjQ2NjksIAotICAgIDkyMjAyLCAwLCAxMjc5LCAxNDI1LCA2MjI0LCAxMTkyMjksIDExMDQ5LCAwLCA5MjY5NywgNDMyMzksIDg0ODIsIDkyNDQwLCAKLSAgICAwLCA1MDMyLCA2OTY3NywgMTE5NDAsIDY3ODg4LCA2NjQsIDEyMDQzNywgNTAzNCwgMCwgMCwgMTI3NTI1LCA0MjcwMiwgCi0gICAgNzM4ODgsIDk4MzE0OSwgMTMyOTQsIDY3ODczLCA2NDg2OSwgNjAzMiwgMCwgOTExNSwgNzQzMCwgMTIwMzc3LCAwLCAKLSAgICAxMjA4MTksIDY4Mzg3LCAxMjAxNjgsIDczOTEzLCAxMjAxNzAsIDQxMTYxLCA1NTE4LCA0MTc0LCAxMDk5MywgNDExNjIsIAotICAgIDEyMDE2MCwgNjQ1MjgsIDExNjksIDQzNCwgNDE0MzcsIDE5MDUsIDYwMzQsIDQxMTY0LCA2NDc0NCwgOTUyOCwgMTE4ODY3LCAKLSAgICAxMjg4MDAsIDUyNCwgMCwgNzQwMjksIDc4OCwgNzQwMjcsIDAsIDE5NDYzOCwgMCwgMTY2MywgMTA0MTksIDc0MDI1LCAKLSAgICA0MjYzNiwgMCwgNjk3MjUsIDAsIDEyMDY1NiwgMCwgNjc4NzYsIDAsIDAsIDAsIDY3ODk3LCA3NDAzOSwgMCwgMCwgMTEzOTUsIAotICAgIDAsIDExOTEwNywgNDM2MTIsIDY0MzQ0LCAwLCAwLCAxMDg1NSwgNTQ0NSwgOTM1NSwgMCwgNjUxOTgsIDczOTEsIDg5ODksIAotICAgIDIyMSwgNjU2ODYsIDAsIDAsIDgwMTAsIDcxOTEsIDQ5NjIsIDY5NzcyLCA4ODU1LCAwLCAwLCA2NDQ2OSwgMTIwNDI2LCAKLSAgICAxMDU1NSwgMCwgNDMzMzMsIDkyMjk5LCAwLCAxMjA0MjcsIDEwNDUxLCAwLCA2NzY1MywgNzI0NSwgMTI0NDMsIDc0NDA1LCAKLSAgICA5OTQ3LCAxMjAxNDksIDc4MzE3LCAzODczLCA4MzY3LCAwLCAxMjAxNDYsIDQzNDMzLCA0MzY0OSwgMTE5ODcsIDAsIDAsIAotICAgIDExMDEwLCAxMjcyMywgNzQwNTksIDc0MDYyLCA2MjE3LCA1ODk2LCAwLCA3NjgyLCA3NDA0OSwgMTQ2MiwgMTAyMzUsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDQyNTk1LCAwLCA3NDQwMiwgMTE4ODYwLCAwLCAxMjA0MTksIDkyNDk3LCA3NDA1MiwgMCwgCi0gICAgOTIzNzgsIDEyMDU0OSwgMTE5MDgyLCA2NDI5NSwgMTIwNDE4LCAwLCA2NDc2NSwgNzM5MjMsIDEyMDQxNywgMTIwNjYyLCAKLSAgICA2OTkyMCwgMTk0NzAyLCA2MjE2LCAwLCAxMDc1NSwgOTQ1NSwgMCwgODEyNCwgMTI3MDQyLCA5NDcwLCA2OTQ0LCAxMjc1NDAsIAotICAgIDAsIDY5NjgwLCAyODI4LCAwLCA1MzEsIDQyNjM4LCAwLCAwLCAwLCA0MzQyOCwgODIwNCwgMzYxNCwgMjgyNywgOTY5NiwgMCwgCi0gICAgMCwgODcyOCwgNDM1NCwgMTA5MDQsIDc4NTYyLCAxOTkzNiwgNzgzMywgMTIwNjkxLCAwLCA0MjU5OSwgNDI1OTcsIDQyNzA5LCAKLSAgICAxMjA0MDksIDEyNzA0NCwgMCwgODUzNywgMCwgMCwgOTM1NCwgOTgzMTY0LCAxMjg4MzMsIDQxMTk5LCAxMDEyMSwgMjAyOCwgCi0gICAgMCwgOTgzMTk0LCA2OTcxNSwgMCwgMzA2MiwgMCwgNzQ0NDcsIDEyNjA4LCAwLCA2NjQ0MCwgNzU0NSwgOTcwMCwgMTI1ODAsIAotICAgIDkyMjA1LCAxMjA3NzcsIDEyMDUwMiwgNDExNTUsIDAsIDc0MDcxLCAwLCA5ODM0NTcsIDEyNzEzLCAwLCAwLCAwLCA3ODc3MiwgCi0gICAgMCwgMTczNCwgMCwgMCwgMTI3MDQwLCA2NDU5NCwgMjQ1NiwgMjMxLCAwLCA3NDE2NywgNTQyLCAwLCAxMTg3ODYsIDAsIAotICAgIDk4Mzk3OSwgMTIzMCwgMCwgMCwgMzU5NywgNDQ0NiwgMTA1ODQsIDc0MjM1LCA5MjIxNSwgNDAzNywgMTI3OTM4LCA4MzUyLCAKLSAgICAwLCA1Njg3LCAwLCA2NDUxNSwgMCwgMTk0ODAxLCA1NTI2NSwgNjc4NDYsIDc4NDM0LCA5NzA0LCAwLCAwLCA3MDA4MCwgCi0gICAgNzEzMzgsIDAsIDg2NjAsIDEyNjQ5NSwgMCwgMCwgNzg3NzMsIDc0NDgyLCA0NDgzLCAxNzA5LCA2OTcyMSwgOTkwOSwgCi0gICAgNjA4MCwgMCwgMTIwMzU4LCAxNzQ2LCAxMzE1LCA4NjY3LCAwLCAwLCAxMzE0MCwgNjU4OTksIDEwNjA0LCAwLCA0NDgwLCAKLSAgICAxMTI2NiwgMTI4MTUyLCAxMjI2LCA2OTMwLCA2Nzk3OSwgOTgzNjkwLCA2MzYwLCAxMDg5NywgNDEyMzAsIDYwNSwgMCwgCi0gICAgNzQ3ODUsIDY5ODc1LCAwLCAwLCA0MTUwMCwgMCwgMzExLCAxMTQ1MywgNjIyMSwgMTA2MDgsIDY0OTQzLCA3NDI4MCwgCi0gICAgMTA4NzcsIDExODg2OCwgNjQ4ODUsIDc0MjcyLCAwLCAwLCAxMjg1NTksIDEyMDczNiwgNzQzMTIsIDM0NSwgMCwgNzQ0NTYsIAotICAgIDY0NjA2LCA5OTE3LCAwLCA5MjIzMSwgNTAzNywgMCwgMTc3NiwgODQyMiwgMCwgMTE4ODE0LCA0MTUwOCwgNDEyMDEsIDMyMywgCi0gICAgNDMzMjgsIDAsIDQyNjk4LCAxMjk1LCAxOTQ4NTMsIDQ2MjUsIDAsIDQ2MzAsIDEzMTE3LCAwLCAxMjg3NzIsIDY1MTIzLCAKKyAgICA5NTAyLCA2NTQyNywgMTI1MDQ4LCA2NTQyNCwgMTI2MDcsIDAsIDk3MzQsIDY1NDI1LCAwLCA5ODM4MDgsIDEyNzM1NywgCisgICAgNzg4MzUsIDc4ODM2LCAxMDExMiwgMTA4MjcsIDAsIDk4NjYsIDc0NTI3LCA2NjY3NSwgMTE4ODY3LCA4NjI1LCA2NDM0NiwgCisgICAgMTEyOTAsIDEwNDc3LCA2NzczOCwgODYzNiwgOTgzOTI3LCA4MzE1LCA2NTQ0NCwgOTgzNzkzLCAxOTUwMTEsIDc0NTk1LCAKKyAgICA2MTUyLCAwLCA3Mzk0NywgNjYyOSwgMTI1MDU2LCAxMjAxNzEsIDAsIDc0NTg5LCA0Mzk5MywgMTI4MzQ2LCA2OTc5MCwgCisgICAgNjQ0MzUsIDY0OTU1LCA0MzY5MCwgMTEwNDYsIDExNDkwLCA0MjczMCwgNDQ4NSwgMTI3MTA3LCAwLCA2NDkyNiwgMCwgMCwgCisgICAgNDM4MzAsIDU4NjksIDEyNDM3LCA0MjcyOCwgMCwgNzA0MCwgMzU4OCwgMCwgMTI4MjUsIDAsIDAsIDEyNzI1LCA3NDA5MiwgCisgICAgMTI3MTA2LCA3ODYzNCwgMjIzLCA3ODYzNSwgNjk2NzUsIDEyMDE2NiwgNDI0NDQsIDEyODQ0OSwgNjQ0OTksIDY1MjQ1LCAKKyAgICAxMjkxMDQsIDExNzEsIDEyODgwMiwgNjk3MTcsIDEyMDExMywgMTgwNSwgODc3MiwgNDM4MjAsIDAsIDk5MzAsIDY1MjQ3LCAKKyAgICA3ODYxOSwgMTIwMTExLCAyMzM4LCAwLCAxMTg4NTMsIDAsIDQyNjc2LCAwLCA2NDgwMCwgMTMwOTIsIDExMTg1LCA2ODEyNiwgCisgICAgMTIxMywgMTI4NDE5LCA2NDA3NSwgNzk3LCA2NDA3NCwgODczNCwgNDIxMiwgMTI3MzY5LCA2NDM4NywgNDExNSwgMCwgCisgICAgNTAwNSwgNjQwNzAsIDY0MDczLCAxMDY3OSwgMCwgNzc5NTQsIDk0MDIsIDY0Mjc2LCA0MjYsIDAsIDAsIDgyNTEsIDEwMTM2LCAKKyAgICA2NTQzNiwgMCwgMjEyMCwgNDMzMDIsIDEyMjQsIDAsIDY1NTc2LCA3MDc5NSwgMTA3MDEsIDE3NjQsIDMxMDEsIDEyNzgxNSwgCisgICAgMTI4NTgsIDEyMDE1OSwgMCwgMTEzNzMsIDYzNzgsIDcxMDkzLCAxMjAxMDMsIDg2NjMsIDkzMTIsIDQxNjQ0LCA0NTM5LCAKKyAgICAyMTI5LCA3MDc4NSwgOTIyMiwgOTgzNzM4LCAxMTg5MDcsIDQyNTksIDkwOTIsIDc0NTY3LCA0MTk2MSwgMCwgMTI3MjQsIAorICAgIDY2MzU3LCA0MjMzMSwgNjQ5MzUsIDAsIDAsIDEyOTMsIDc5NDcsIDIxMzIsIDk4Mzc2NywgNzE4NTgsIDcyNDQwLCAyNDU0LCAKKyAgICA0MjcxNywgMzYxMywgMTI4ODM3LCAwLCAwLCA2NTg4OCwgODgxNiwgMTA5NzgsIDEwODQwLCAwLCAxMDY2OCwgMTEzNzIzLCAKKyAgICA0MzA4NywgMTI1OTUsIDEyMDMwNCwgOTgzMTE0LCA4ODIyLCAwLCAxMTU3LCA2NDkwMywgODYzOCwgMTI3MjY1LCA5MTc4ODYsIAorICAgIDAsIDAsIDY5ODQ4LCA4MjM1LCAxMjAzMTYsIDQ0MDUsIDEwMDg2LCAxMjAyNDcsIDExMTI4LCA2OTIxNiwgMCwgNjU0MzAsIAorICAgIDcxMzIxLCA2MDc5LCA2ODE3LCAxMDc2NCwgMTIwMzE0LCA2NDI5MSwgMTIwMzE1LCA5OTgsIDEyMDMxMiwgMTEwNjIsIAorICAgIDEzMTcsIDY0MzI3LCAxNTU4LCA5ODM5MzQsIDE5OTEsIDc4ODIsIDQyMjU0LCAxMjg5NTQsIDQxNzAwLCA1MzAsIDAsIAorICAgIDEwNDI4LCAxMTkzMzUsIDEyMDAyLCAxMTkzMzYsIDU3NDIsIDQzMDc2LCA0NjkyLCA2NDYzMCwgNDE4MjMsIDQwMDcsIAorICAgIDUwMDQsIDc0MDMzLCA3ODk2LCA3NTEsIDY1OTUsIDY1OTYsIDEyMDMyNSwgNjYzNzMsIDk4MzI0NywgMCwgNjQ5MDgsIAorICAgIDkyNjkxLCA2MzExLCA5MzAxOSwgMTIwMDQsIDExOTE5MiwgMTIwNDksIDQzMTA4LCAxMjAzMjYsIDcxMDgzLCA0MTcwNSwgCisgICAgOTIxODgsIDY1OTgsIDAsIDY1OTksIDY2ODIyLCA5MzAzMSwgNDIxNDgsIDExODgyNSwgNjYwMjcsIDAsIDY1OTcsIDk0MTIsIAorICAgIDgzNDAsIDExODI0LCA2NDc0NSwgMjI4MSwgNjk5MDQsIDEyODQ5NSwgMTk4OCwgNTQwNywgNjc4NjUsIDI0MzAsIDQxNjc4LCAKKyAgICA5MzA1OSwgMTIwMjQzLCAyMzM2LCA5ODM5MDMsIDAsIDY3MTY5LCAxMjA0NDIsIDEyNzA5MiwgMTkyMSwgMTA5NDcsIAorICAgIDE5OTI3LCA3MDM5MCwgNjU0MDYsIDAsIDE5OTEzLCA0Mjg0LCAxMzIxNywgMCwgNDM3ODksIDEyODQxLCA5MjI5LCAxMDk1NiwgCisgICAgNDIyODUsIDQxNjc0LCAxOTk2NCwgNDE2NzksIDY1MDg0LCAzNTIxLCAxMjQ5NTcsIDU3NzQsIDgzMjUsIDY5ODY0LCAKKyAgICA2NTQwMywgOTgzMDg5LCAxODU0LCAxMDc5NCwgOTMwNTQsIDY3NjYwLCA2OTg0NiwgMCwgNzgzNTksIDUyODAsIDAsIDQzNDQsIAorICAgIDEyOTA1LCA2NTQzMywgNjA3NiwgNjQ3OTMsIDQxNjEwLCA3NjgsIDEyMDc0LCA0NDIsIDAsIDY4MTYyLCA2NDA4MSwgCisgICAgMTI5MzQsIDQxNjgyLCA2NTQzMiwgNDE2OTMsIDAsIDYwNzEsIDY1NDM0LCAxMjc0NjcsIDQ4MDQsIDQwNTMsIDAsIAorICAgIDEyNzQ2OSwgMTk0NjUzLCA0MTY5NiwgNDY3LCA2OTgyMywgMTI3NDYzLCA2OTc5NywgMTk0NjUyLCAxMjc0NzMsIDg0MjEsIAorICAgIDEyNzQ3MiwgNjk2ODIsIDQzNzA1LCA1MDIsIDAsIDY1NDMxLCAxMTkwNTYsIDY5OTU0LCAxMjA0MywgMTMwMywgMzE2LCAKKyAgICA3MzY0LCAyMDI5LCAyMTM2LCAxMTkyNDYsIDExNTMzLCA2NDM2NSwgNDM0ODAsIDkyNjM5LCA0ODYwLCAxMjY2NDgsIAorICAgIDEyNzg3NywgNDI0ODgsIDcwMzM5LCA5NTgzLCAxMjg4NDksIDU1NDYsIDgwMTksIDczODU2LCAwLCAwLCAwLCA1NTQ0LCAKKyAgICAyMzU1LCAxMjE1MCwgNjU3MjUsIDU1NDMsIDc3OTg5LCA2Mzc1MSwgMTIxMzcsIDU1NDgsIDc3OTg1LCAwLCA2NTcyNywgCisgICAgNjgzODgsIDY1NzI2LCA2MDc3LCAxMjgzNTIsIDY1NDUyLCAwLCAxMTMwMSwgMTEyMTQsIDY1OTUyLCA3ODAxMCwgOTg3NCwgCisgICAgNzgwMDcsIDk4MzExNSwgMTMxOSwgMzA1MCwgNjU0MTAsIDY3Mzk5LCAwLCA3ODAxNiwgNzgwMTcsIDQyODMwLCA0Mzk5NiwgCisgICAgNjY3MTYsIDEyODEzNywgNDY5MSwgOTIyNDIsIDkzNDUsIDYyMSwgOTI3MDksIDEyODIyMiwgMCwgNjU0MTEsIDAsIDQxMTgyLCAKKyAgICA3Mzg4MSwgNjU0MDgsIDczODk5LCA3ODAyNCwgOTQ3NCwgMTA1NDUsIDExOTExOCwgMTA4ODcsIDM3ODYsIDY1NDA5LCAKKyAgICA4ODk0LCA0MzE3OSwgNzEwNDIsIDc5MjMsIDM3MTYsIDkyMzYzLCA5OTk2LCA4NTA4LCAxMjc3OTQsIDcwMTIsIDgxOTUsIAorICAgIDEyNzgzNCwgOTU2NiwgMCwgMzcyMiwgMCwgNDE3MDcsIDg0OTMsIDU0NSwgOTU3NSwgNDEzNzksIDEwMDUwLCAxMjcxOCwgCisgICAgNjk4NTQsIDg4NTksIDY4MjAsIDc0MzQ1LCA2NTExMCwgMTIwNzQwLCAxMjg5NzgsIDAsIDkxMTksIDI3ODcsIDc5MjAsIAorICAgIDExODgyMywgNDAyMSwgMjAxMiwgNzk4NSwgMCwgMTE5NjYzLCA5MTc3OTIsIDAsIDc4MDIxLCA3ODAyMiwgNDEwLCA3ODAyMCwgCisgICAgMTgwMiwgNzgwMTgsIDc0MTA3LCAwLCA0MTY1OSwgNDE2NzEsIDE4MjcsIDAsIDY0Mzk2LCAxMDEyNiwgMTIxMTYsIDQxNjczLCAKKyAgICAxMjAzNzAsIDExNDIyLCA3MTg0NiwgMTIwMzczLCAzODYwLCAxMjAzNjcsIDY4NDEyLCA0MTM0NSwgMTIwMzYyLCAxMjAzNjMsIAorICAgIDExNzQ4LCA0MjE1OCwgNzk0MSwgMTEwNzYsIDg3NDksIDEyMDM2MSwgMjEwNCwgNjQ4NTgsIDM2MSwgMTIwMzU3LCA4NDUsIAorICAgIDAsIDQxNTYwLCAxMTk3MCwgNDU2MiwgOTE3OTIwLCAyOTI2LCA2ODQ5NSwgNDU2OSwgNzQxMzAsIDEyODY1OSwgNDM0ODcsIAorICAgIDE5NDYzMCwgNjExLCA3NDEyOSwgNjQ4NzEsIDExODg5MSwgNjU2MjksIDAsIDE5NDg1OCwgNzQ4NTQsIDAsIDcwNDY2LCAKKyAgICA2NzM5MiwgNjYzODUsIDAsIDYyOTEsIDAsIDY4NDg3LCA0MTY2OSwgNzA5NCwgOTE3OTIxLCAwLCA5ODM1ODEsIDc0MDU0LCAKKyAgICAxMjc3NTQsIDEyODkxNywgMCwgODM5LCA5ODMzMTksIDc2OTUsIDg3NjksIDY1MjQ2LCA0ODI5LCA2Nzc1NiwgNDg1OSwgCisgICAgNjQ0NjcsIDAsIDk4Mzk2MywgMTE4OTk4LCA3MjA2LCAxMTk2MzYsIDY2NDcsIDQzOTg2LCA5ODM3OTYsIDY5NzY2LCAKKyAgICAxOTQ2NjQsIDY0NzY0LCA0MjEwLCA5ODMyNTQsIDEyNzkzNiwgODA0LCAxOTQ2NTEsIDAsIDEyMjk4LCA3MDM0NCwgNjY2NTMsIAorICAgIDAsIDY0OTI0LCAxMDA5MSwgNjcyMDAsIDk0NjgsIDY3MjA2LCA2NzIwNSwgNjcyMDQsIDY3MjAzLCA5MjUwMywgMTI4MzksIAorICAgIDY0NjY5LCA5MjIwMiwgNzE4NTEsIDEyNzksIDE0MjUsIDYyMjQsIDExOTIyOSwgMTEwNDksIDEyNzEyMywgOTI2OTcsIAorICAgIDQyNjQ5LCA4NDgyLCA5MjQ0MCwgMCwgNTAzMiwgNjcyMDksIDExOTQwLCA2NzIwNywgNjY0LCAxMjA0MzcsIDUwMzQsIDAsIAorICAgIDcwMjAwLCAxMjc1MjUsIDQyNzAyLCA3MDE5NCwgOTMwNjEsIDEzMjk0LCA2Nzg3MywgNjQ4NjksIDYwMzIsIDY3MjE4LCAKKyAgICA5MTE1LCA3NDMwLCAxMjAzNzcsIDcwMTkxLCAxMjA4MTksIDY4Mzg3LCAxMjAxNjgsIDczOTEzLCAxMjAxNzAsIDQxMTYxLCAKKyAgICA1NTE4LCA0MTc0LCAxMDk5MywgNDExNjIsIDEyMDE2MCwgNjQ1MjgsIDExNjksIDQzNCwgNDE0MzcsIDE5MDUsIDYwMzQsIAorICAgIDQxMTY0LCA2NDc0NCwgOTUyOCwgNjc3NDEsIDEyODgwMCwgNTI0LCAwLCA3NDAyOSwgNzg4LCA3NDAyNywgMCwgNzE4ODEsIAorICAgIDAsIDE2NjMsIDEwNDE5LCA0MjkwMSwgNDI2MzYsIDY3MjExLCA2NzIxMCwgMCwgMTIwNjU2LCA2NzIxNSwgNjcyMTQsIAorICAgIDY3MjEzLCA2NzIxMiwgMCwgNjc4OTcsIDc0MDM5LCAwLCAwLCAxMTM5NSwgMCwgMTE5MTA3LCA0MzYxMiwgNjQzNDQsIDAsIAorICAgIDAsIDEwODU1LCA1NDQ1LCA5MzU1LCA2NzIyMSwgNjUxOTgsIDczOTEsIDg5ODksIDIyMSwgNjU2ODYsIDAsIDAsIDgwMTAsIAorICAgIDcxOTEsIDQ5NjIsIDY5NzcyLCA4ODU1LCA3NDYxMiwgNzA4MjAsIDY0NDY5LCAxMjA0MjYsIDEwNTU1LCA2NzIyNywgCisgICAgNDMzMzMsIDY3MjI1LCAxMjg0ODMsIDEyMDQyNywgMTA0NTEsIDY3MjI5LCA2NzY1MywgNzI0NSwgMTI0NDMsIDc0NDA1LCAKKyAgICA5OTQ3LCAxMjAxNDksIDc4MzE3LCAzODczLCA4MzY3LCA3Nzg0MiwgMTIwMTQ2LCA0MzQzMywgNDM2NDksIDExOTg3LCAwLCAKKyAgICAwLCAxMTAxMCwgMTExNjQsIDc0MDU5LCA3NDA2MiwgNjIxNywgNTg5NiwgNDM4NDYsIDc2ODIsIDc0MDQ5LCAxNDYyLCAKKyAgICAxMDIzNSwgMCwgMCwgMCwgNDM0NDEsIDEyNzkyNCwgMTI3Nzc3LCA0MjU5NSwgMCwgNzQ0MDIsIDExODg2MCwgNzg2NjEsIAorICAgIDEyMDQxOSwgOTI0OTcsIDY2Mjg3LCAxMjA0MjAsIDkyMzc4LCAxMjA1NDksIDExOTA4MiwgNjQyOTUsIDEyMDQxOCwgMCwgCisgICAgNjQ3NjUsIDczOTIzLCAxMjA0MTcsIDEyMDY2MiwgNjk5MjAsIDE5NDcwMiwgNjIxNiwgNjcyMzAsIDEwNzU1LCA5NDU1LCAKKyAgICAxMTE1NSwgODEyNCwgMTI3MDQyLCA5NDcwLCA2OTQ0LCAxMjc1NDAsIDAsIDY5NjgwLCAyODI4LCAwLCA1MzEsIDQyNjM4LCAKKyAgICAwLCAwLCAwLCA0MzQyOCwgODIwNCwgMzYxNCwgMjgyNywgOTY5NiwgMTIwMzY1LCAwLCA4NzI4LCA0MzU0LCAxMDkwNCwgCisgICAgNzg1NjIsIDE5OTM2LCA3ODMzLCAxMjA2OTEsIDAsIDQyNTk5LCA0MjU5NywgNDI3MDksIDEyMDQwOSwgMTI1MDEyLCAwLCAKKyAgICA4NTM3LCAxMjczMDYsIDAsIDkzNTQsIDk4MzE2NCwgMTI3OTU5LCA0MTE5OSwgMTAxMjEsIDIwMjgsIDAsIDEyMDI1MywgCisgICAgNjk3MTUsIDAsIDMwNjIsIDAsIDc0NDQ3LCAxMjYwOCwgMCwgNjY0NDAsIDc1NDUsIDk3MDAsIDExOTQ4LCA5MjIwNSwgCisgICAgMTIwNzc3LCAxMjA1MDIsIDQxMTU1LCA2ODMwNiwgNzQwNzEsIDAsIDk4MzQ1NywgMTI3MTMsIDEyNzUxOSwgNzA0MDIsIDAsIAorICAgIDc4NzcyLCAxMTM3NzAsIDE3MzQsIDAsIDc4MTQxLCAxMjcwNDAsIDY0NTk0LCAyNDU2LCAyMzEsIDY4MjI3LCA3NDE2NywgCisgICAgNTQyLCAwLCAxMTg3ODYsIDk4Mzg1OSwgMTk0Nzk3LCAxMjMwLCA5ODM5NTMsIDEyNjU1NSwgMzU5NywgNDQ0NiwgMTA1ODQsIAorICAgIDc0MjM1LCA5MjIxNSwgNDAzNywgNjc3MzcsIDgzNTIsIDAsIDU2ODcsIDAsIDY0NTE1LCAwLCAxOTQ4MDEsIDU1MjY1LCAKKyAgICA2Nzg0NiwgNzg0MzQsIDk3MDQsIDAsIDAsIDcwMDgwLCA3MTMzOCwgMCwgODY2MCwgMTI2NDc4LCAwLCAwLCA3ODc3MywgCisgICAgNzQ0ODIsIDQ0ODMsIDE3MDksIDY5NzIxLCA5OTA5LCA2MDgwLCAxOTQ4NTEsIDEyMDM1OCwgMTc0NiwgMTMxNSwgODY2NywgCisgICAgOTgzMTAxLCAwLCAxMzE0MCwgNjU4OTksIDEwNjA0LCAwLCA0NDgwLCAxMTI2NiwgMTI4MTUyLCAxMjI2LCA2OTMwLCAKKyAgICA2Nzk3OSwgMTk1MDE5LCA2MzYwLCAxMDg5NywgNDEyMzAsIDYwNSwgNjgzMDIsIDc0Nzg1LCA2OTg3NSwgMCwgOTE3OTg2LCAKKyAgICA0MTUwMCwgMCwgMzExLCAxMTQ1MywgNjIyMSwgMTA2MDgsIDY0OTQzLCA2NzY4MiwgMTA4NzcsIDExODg2OCwgNjQ4ODUsIAorICAgIDc0MjcyLCAwLCAxOTQ2NzIsIDEyODU1OSwgMTIwNzM2LCA3NDMxMiwgMzQ1LCAxMjQ5MzMsIDc0NDU2LCA2NDYwNiwgOTkxNywgCisgICAgMCwgNzQ4NTUsIDUwMzcsIDAsIDE3NzYsIDg0MjIsIDEyODkzNSwgMTE4ODE0LCA0MTUwOCwgNDEyMDEsIDMyMywgNDMzMjgsIAorICAgIDAsIDQyNjk4LCAxMjk1LCAxOTQ4NTMsIDQ2MjUsIDc3ODU1LCA0NjMwLCAxMzExNywgMCwgMTI4NzcyLCA2NTEyMywgCiAgICAgMTEyOTMsIDI2NjgsIDExMjg4LCAwLCA0MjY0MCwgNjU2NjYsIDI1MTksIDkyMzY5LCA2NTQyMCwgOTI0NzksIDAsIDQyNTIsIAotICAgIDUwNDksIDQyNjU5LCAxMTkwMTEsIDcwNiwgNzc1NCwgMTA4NTQsIDg3MzgsIDAsIDY1NDE5LCAwLCAwLCA2NDksIDY1NDIxLCAKLSAgICAwLCA2NjcwMiwgMCwgMTI2NzAsIDEwMTMsIDAsIDY0OTE5LCA3MDUsIDAsIDY1NDIyLCAxMjc4MDMsIDExODMsIDEyNjUxOSwgCi0gICAgNzAxNywgNDI4NTIsIDAsIDgxNTcsIDk3MzYsIDY0NTAzLCA2NTQxOCwgMCwgOTgzODc4LCA3NDAzNSwgMCwgMTE5MTMsIAotICAgIDczODc0LCA2Njk2LCAwLCA4OTIwLCAxMTkyOTgsIDAsIDc5NjIsIDEyMjExLCA5ODM3LCAyMDUxLCA2NjIyNywgMCwgNDE4NCwgCi0gICAgMCwgMCwgMTAxNzcsIDczNzc3LCAxODU3LCAxOTQ2NTcsIDQ2MjYsIDg0NjQsIDg0NzIsIDAsIDQ2MjksIDg0OTksIDc4MzIxLCAKLSAgICA3ODMyMiwgNDYyNCwgNzgxOCwgMTE5MTczLCAwLCAwLCA3ODA1LCAwLCA5NDAwNywgNjkzNSwgOTIyOTIsIDc4MzI1LCAKLSAgICA3ODMyNiwgNzgzMjMsIDQzMzI3LCA0Mzk4OSwgMTE5MDQ2LCA4NDkyLCA4MjUwLCA4NDU5LCAwLCA4NDk3LCA4NDk2LCAwLCAKLSAgICAwLCA3ODMzNiwgNzgzMzksIDk1NDMsIDc4MzM1LCA3ODMzMiwgNzc4MzIsIDY1ODQ5LCA3NzgzMSwgOTgzOTYxLCAwLCAKLSAgICAxMjQ1MSwgMCwgODY4NCwgMCwgNjEwMiwgMCwgNTI5OCwgMCwgNTI5NCwgMCwgMCwgOTgzNDU5LCAxOTUwNjIsIDk5NDksIAotICAgIDExOTgyNiwgNDM2MTcsIDExOTIxNSwgMCwgMTIwNzMsIDAsIDAsIDc3ODYzLCAxMzEwOCwgMTIwNjE3LCAxMTQzOSwgCi0gICAgNDE0NjgsIDk4Mzc1NywgMCwgNTI5MiwgNTUyNzIsIDk4Mzg4MywgMTkzOSwgNTMwMiwgMzk3MCwgOTE3ODc5LCAxMjQ1NSwgCi0gICAgMTc5MywgMCwgMCwgMCwgNjY0MywgOTI0NzcsIDY1MjYzLCAwLCA3ODMzMCwgNDEyOTMsIDc4MzI4LCA2NTkyMywgMCwgCi0gICAgMTMyMTksIDk1NjksIDAsIDc0MzgzLCAwLCA3NDE5NywgMCwgNTUwMCwgODgxMywgMCwgMCwgNzQ1NjYsIDUzMjIsIDAsIAotICAgIDc4MzQwLCA0MzYzMSwgNTMyNCwgNjY0NDMsIDM3ODQsIDQxNjE0LCA2NTI2OSwgNjIzMCwgNzgzNDksIDc4MzQ1LCA0MzMyNCwgCi0gICAgMzM2MCwgNzgzNDQsIDExNTIzLCAwLCA5MjQ4OCwgOTkyNiwgNzE5NywgMCwgNjg0MjksIDQyODk0LCA0MTgyMSwgMTI0OSwgCisgICAgNTA0OSwgNDI2NTksIDExOTAxMSwgNzA2LCA3NzU0LCAxMDg1NCwgODczOCwgMCwgNjU0MTksIDAsIDEyODQ5NiwgNjQ5LCAKKyAgICA2NTQyMSwgMCwgNjY3MDIsIDAsIDEyNjcwLCAxMDEzLCAwLCA2NDkxOSwgNzA1LCAwLCA2NTQyMiwgMTI3ODAzLCAxMTgzLCAKKyAgICAxMjY1MTksIDcwMTcsIDQyODUyLCAwLCA4MTU3LCA5NzM2LCA2NDUwMywgNjU0MTgsIDAsIDk4Mzg3OCwgNzQwMzUsIDAsIAorICAgIDExOTEzLCA3Mzg3NCwgNjY5NiwgMTI4Nzc1LCA4OTIwLCAxMTkyOTgsIDEyODQyNiwgNzk2MiwgMTIyMTEsIDk4MzcsIAorICAgIDIwNTEsIDY2MjI3LCAwLCA0MTg0LCAxMTk4MjUsIDEyODU5OCwgMTAxNzcsIDczNzc3LCAxODU3LCAxOTQ2NTcsIDQ2MjYsIAorICAgIDg0NjQsIDg0NzIsIDAsIDQ2MjksIDg0OTksIDc0NjI3LCA3ODMyMiwgNDYyNCwgNzgxOCwgMTE5MTczLCAxMjgxMDgsIDAsIAorICAgIDc4MDUsIDEyODc1NCwgOTQwMDcsIDY5MzUsIDkyMjkyLCA3ODMyNSwgNzgzMjYsIDc4MzIzLCA0MzMyNywgNDM5ODksIAorICAgIDExOTA0NiwgODQ5MiwgODI1MCwgODQ1OSwgMCwgODQ5NywgODQ5NiwgMCwgNzQ1ODIsIDc4MzM2LCA3ODMzOSwgOTU0MywgCisgICAgNjc4NjAsIDc4MzMyLCA3NzgzMiwgNjU4NDksIDc3ODMxLCA5ODM5NjEsIDAsIDEyNDUxLCAwLCA4Njg0LCAxMjgzMDEsIAorICAgIDYxMDIsIDAsIDUyOTgsIDAsIDUyOTQsIDAsIDAsIDEyODc0NiwgMTk1MDYyLCA5OTQ5LCAxMTk4MjYsIDQzNjE3LCAKKyAgICAxMTkyMTUsIDAsIDEyMDczLCAwLCAwLCA3Nzg2MywgMTMxMDgsIDEyMDYxNywgMTE0MzksIDQxNDY4LCAxMTkwNzYsIDAsIAorICAgIDUyOTIsIDU1MjcyLCA5ODM4ODMsIDE5MzksIDUzMDIsIDM5NzAsIDkxNzg3OSwgMTI0NTUsIDE3OTMsIDEyNDk4MiwgMCwgMCwgCisgICAgNjY0MywgOTI0NzcsIDY1MjYzLCAwLCA3ODMzMCwgNDEyOTMsIDc4MzI4LCA2NTkyMywgMCwgMTMyMTksIDk1NjksIDAsIAorICAgIDc0MzgzLCAwLCA3NDE5NywgMTI5MDg5LCA1NTAwLCA4ODEzLCAwLCAxMjg2MTIsIDc0NTY2LCA1MzIyLCAwLCA3ODM0MCwgCisgICAgNDM2MzEsIDUzMjQsIDY2NDQzLCAzNzg0LCA0MTYxNCwgNjUyNjksIDYyMzAsIDc4MzQ5LCA3ODM0NSwgMTMyODIsIDMzNjAsIAorICAgIDc4MzQ0LCAxMTUyMywgMCwgOTI0ODgsIDk5MjYsIDcxOTcsIDEyODI0OCwgNjg0MjksIDQyODk0LCA0MTgyMSwgMTI0OSwgCiAgICAgNzgzNjAsIDc4MzYxLCA3ODM1NiwgNzgzNTgsIDc4MzUzLCA2NDg5OSwgNjQ3NjMsIDQxMTQ5LCA0MTgwNywgNDMxNjIsIAotICAgIDQxODE1LCA0MTE1MCwgMCwgMTA1NzEsIDEwMDk2LCAwLCAwLCA3ODA3NCwgNjk0NywgNDExNTIsIDg4NywgOTI0OSwgNjU2NSwgCi0gICAgNzg1MTAsIDQxOTkwLCA3ODUwOSwgNDE4MTEsIDc0NDY2LCA5Mzk2NiwgNjY3MCwgNzc4ODIsIDAsIDAsIDQzMDkyLCAKLSAgICA0MzMyNSwgMCwgMTAxNjgsIDAsIDk3ODEsIDEyODY1NSwgOTE5MCwgMCwgOTY2NiwgODI2OSwgNjU5NDQsIDc0MDA1LCAKLSAgICAxMzAxOSwgMTE2NzAsIDY5ODYwLCAzMTUsIDEyODEzLCA5ODM0NTgsIDc4NDMyLCA3ODI1NiwgNzgzNTEsIDc4MzUyLCAwLCAKLSAgICA5ODM2NTcsIDAsIDAsIDEzNzgsIDk1MDksIDAsIDAsIDc0NDc1LCAzMDY2LCA5MjIyMCwgNjc4NDcsIDAsIDkyMzU1LCAwLCAKLSAgICA3ODM2NSwgODc4NywgMTIwMzc5LCAxOTQ2MTYsIDQxNjE4LCAxOTQ2MTUsIDc4MjYxLCAxOTQ2MTQsIDAsIDY0NjUyLCAwLCAKLSAgICAxOTQ2MTIsIDAsIDc4MzY2LCA0MjA4OCwgMCwgMTk1MDYxLCA3MTc2LCA0Mzc1NiwgMTAxMzcsIDYxMjEsIDEwOTk1LCAKLSAgICA3ODI1OSwgNzQ1MzQsIDgxMTksIDY0ODc0LCA5MTc4MTYsIDEyNzE5OSwgMTk0OTM5LCAwLCA3NDUyNSwgMCwgMCwgMTI5MzAsIAotICAgIDEzOTQsIDc0NTE0LCAwLCA3NDUxNSwgMCwgMTE4ODA0LCAyOTk4LCA5NTI3LCAxMjA2NTksIDY1MTkwLCAxMjk3NywgCi0gICAgNDIwOTAsIDExOTE2NSwgMCwgMTE5MTAwLCA0MTIzNiwgOTIyMzUsIDQyMDA1LCA0MjAwMywgNDEyMzcsIDU4NDgsIDAsIDAsIAotICAgIDM2NzAsIDEyODY1NywgMTk0NjAwLCAwLCAwLCA3ODkwLCAwLCAxMTI5OCwgNDMzMTUsIDAsIDYyMjksIDE1OTMsIDAsIDAsIAotICAgIDYxOSwgNDYzNSwgNjUwODAsIDAsIDEyODAwMiwgNDEyMCwgNjUzMzcsIDY1MzM2LCAwLCAxMTgwOCwgMTE5MjE0LCA3NDExNSwgCisgICAgNDE4MTUsIDQxMTUwLCAxMjg5MTEsIDEwNTcxLCAxMDA5NiwgNjcxNjEsIDY3MTYwLCA2NzE1OSwgNjk0NywgNDExNTIsIAorICAgIDg4NywgOTI0OSwgNjU2NSwgNzg1MTAsIDQxOTkwLCA3ODUwOSwgNDE4MTEsIDY3MTU3LCA5Mzk2NiwgNjY3MCwgNjcxNzUsIAorICAgIDY3MTc0LCAwLCA0MzA5MiwgNDMzMjUsIDY3MTc4LCAxMDE2OCwgNjcxNzYsIDk3ODEsIDY4MjQ4LCA5MTkwLCAxMjg0OTcsIAorICAgIDk2NjYsIDgyNjksIDY1OTQ0LCA3NDAwNSwgMTMwMTksIDExNjcwLCA2OTg2MCwgMzE1LCAxMjgxMywgOTgzNDU4LCA3MjQwOSwgCisgICAgNzgyNTYsIDcyNDA4LCA3ODM1MiwgMCwgOTgzNjU3LCAwLCAwLCAxMzc4LCA5NTA5LCAwLCA5Mjk5NiwgNzI0MDcsIDMwNjYsIAorICAgIDkyMjIwLCA2Nzg0NywgNzI0MDYsIDkyMzU1LCAwLCA3ODM2NSwgODc4NywgNjcxODksIDE5NDYxNiwgNDE2MTgsIDE5NDYxNSwgCisgICAgNzgyNjEsIDEyNzM4NCwgMCwgNjQ2NTIsIDAsIDE5NDYxMiwgMCwgNzgzNjYsIDQyMDg4LCA3MTA0MCwgMTk1MDYxLCA3MTc2LCAKKyAgICA0Mzc1NiwgMTAxMzcsIDYxMjEsIDEwOTk1LCA3ODI1OSwgNzEwNTAsIDgxMTksIDY0ODc0LCA3MTA1MiwgNzgxNzQsIAorICAgIDE5NDkzOSwgMTI4NjMwLCA3NDUyNSwgMCwgMCwgMTI5MzAsIDEzOTQsIDc0NTE0LCAxMjg0MTMsIDc0NTE1LCAwLCA2NzE4NCwgCisgICAgMjk5OCwgOTUyNywgNjcxODEsIDY1MTkwLCAxMjk3NywgNDIwOTAsIDY3MTg1LCAwLCAxMTkxMDAsIDQxMjM2LCA5MjIzNSwgCisgICAgNDIwMDUsIDQyMDAzLCA0MTIzNywgNTg0OCwgNjcxOTMsIDY3MTkyLCAzNjcwLCA2NzE5MCwgNjcxOTcsIDY3MTk2LCAKKyAgICA2NzE5NSwgNzg5MCwgMTI4MDcwLCAxMTI5OCwgNDMzMTUsIDk4MzMxMywgNjIyOSwgMTU5MywgMCwgMTI1MTIwLCA2MTksIAorICAgIDQ2MzUsIDY1MDgwLCAxMjc3NzksIDEyMTk0LCA0MTIwLCA2NTMzNywgNjUzMzYsIDAsIDExODA4LCA2NzE5OSwgNjcxOTgsIAogICAgIDkzNjYsIDQyNzkwLCA0MjAwNiwgMTE5MTE1LCA2NTMyNywgNjUzMjYsIDY1MzI1LCAxMDc1NywgMTUwNywgNDIyMTYsIAogICAgIDY1MzIxLCA2NTMyMCwgNjUzMzUsIDY1MzM0LCA2NTMzMywgNjUzMzIsIDY1MzMxLCA0MjA1OSwgNjUzMjksIDQyNjg5LCAKICAgICA5MjQyNywgOTEyOCwgOTQwNDUsIDQyMDczLCA2Nzg1LCA2NDU5MCwgOTgzODMwLCA0MzcxLCA3MTk2LCA2NTMxOCwgMjAzNSwgCi0gICAgNjUzMTYsIDQxMDYsIDY1MzE0LCA2NTMxMywgNDIwNzQsIDEyNzg0NywgNDEyMjgsIDAsIDY1NjA5LCA0MTI0MSwgNzkwMywgCi0gICAgNDEyMzksIDQzNTMzLCA3ODQ1OSwgNzE4OSwgMCwgMCwgMCwgMTIzNTcsIDQyODAyLCA3ODQ1MCwgODQ4NywgOTEzMSwgMCwgCi0gICAgNDYxNSwgMTI2OTUsIDEyNzc1MiwgMCwgMTIxNzUsIDAsIDY0NTM1LCAwLCA3ODA5LCAwLCAwLCA1NjIsIDEyMTY5LCA2NTkwLCAKLSAgICA2OTc2MiwgNjY0NTUsIDY0NzM4LCAzMjE5LCA2ODY1NCwgOTgzNzg3LCAwLCAxMDM3LCAwLCAyMDI1LCAxMjgyNjMsIAotICAgIDEzMDk4LCA3ODQ0MiwgMTA2MzcsIDQ1NjgsIDU0OSwgMTU3MCwgMCwgMjgzNSwgMCwgMTA2MjQsIDQzNjIzLCAxMTA3MiwgCi0gICAgMTI3MTkxLCAwLCAwLCAxMjYwNiwgNzg0MzMsIDI4MjUsIDAsIDEwODI1LCA4MDc5LCAyODIxLCA0MTA0NiwgOTIzMjcsIAotICAgIDczNjUsIDk4Mzc1MywgMTIwNTkzLCAxMzA3MSwgMCwgNDUyLCA0MTA0OSwgNDI4NDAsIDYzNDYsIDI4MzEsIDU0NjEsIAotICAgIDc0NTk2LCAxMTQ2NSwgNTIxMiwgMCwgNjQ3MDMsIDExOTE5MSwgNDIzMDgsIDcxODEsIDAsIDQxMzMyLCAwLCAxMjMzMywgMCwgCi0gICAgMTY2OCwgMCwgMCwgMCwgMTE4NywgOTgzMzg1LCA0MjYyOCwgNzg1NzUsIDAsIDEyODc3NywgMCwgMzI0MCwgMTI4NTE4LCAKLSAgICAxMjE5NCwgMCwgMTE1OTEsIDQxMDY1LCA1MzIzLCA4MTY2LCAwLCAwLCAwLCA3NDUzNSwgMTYyMywgNjUyOTcsIDEyODg1NiwgCi0gICAgNTcxLCAwLCA0OTE4LCAwLCA1Mjg4LCAxMjcyOTUsIDg5MTYsIDY1MDQ4LCAxOTA5LCA4ODY0LCAwLCAwLCAxMDczNiwgCi0gICAgOTI1MDgsIDExNTcxLCA3NjE1LCAxMjczMDAsIDkyMjk2LCA0MjM3LCA5MjU3NiwgMTAzNSwgNjU4MTUsIDAsIDc4ODEsIAotICAgIDcwMSwgNjU5MzYsIDM0ODksIDAsIDAsIDEyMDc1MSwgMTE0MDMsIDAsIDAsIDEyNzE0NiwgMzc5NiwgNjgwMCwgMCwgMzk5NCwgCi0gICAgMTE0MjEsIDAsIDE5NTA3NiwgMCwgOTgzOTIyLCAwLCAwLCA2NDg1NywgMTI4MTA1LCAyODU1LCAxMjc4MjgsIDY2MzA4LCAKLSAgICA0MTYyMSwgNjgyMTQsIDEyNzI4MywgMTI3ODE3LCAxMDY1NCwgMCwgMTE5MjI2LCAxMjE2NCwgMzI0NiwgNzkwNiwgNDM5NzIsIAotICAgIDY1ODQ3LCA3MTgyLCAwLCAxMzAyNCwgMTk0ODIyLCA3NDI3MCwgMTI4Mjg5LCAwLCAwLCAwLCAxNDk2LCA3NDcsIDAsIDk0MiwgCi0gICAgMjM3OCwgNDMxMzYsIDEyNzkwNSwgODQ2NiwgOTgzNTc1LCA5MzIwLCA4MDAxLCAxMjMyLCA4MTM5LCAxMTYxNywgMCwgMCwgCi0gICAgMTE0MDksIDY4MzczLCA2MzgyLCAwLCA2NDYzNCwgMTI4Mjc5LCAwLCAxMTYxMiwgMCwgNjc2MDAsIDIzNzQsIDk0MDY2LCAKLSAgICA4NDc1LCAxMTYwOSwgNjYzMTMsIDAsIDAsIDUyODYsIDExOTI5NywgMCwgMCwgNjQ5MjUsIDEyMDI4MywgMTk0NTg0LCAKLSAgICAxMTg5ODIsIDE5NDU4MywgNzcwNSwgMTE5NDIsIDExMzA1LCAxOTQ1ODEsIDMzMDksIDAsIDAsIDAsIDAsIDY4MDIsIDAsIAotICAgIDQxNjUzLCAxMjgwLCAxMjQxLCA3MTY4LCAxMjA5NiwgMCwgNjY2MTUsIDQyNTY1LCA0MTY1MSwgMCwgMCwgMCwgNDE2NTAsIAotICAgIDY2NTA3LCA2NjQ3MCwgMCwgMTI5MTQsIDQxNDkxLCA2NjAxMCwgMTE5NTUyLCA2MDc4LCA5OTU0LCAwLCAxNDc1LCAKLSAgICAxMTkyNDcsIDk5MzgsIDYwODQsIDkxNzU0NiwgNDEwNjQsIDQxMDYyLCAwLCAwLCAzMjU2LCAxMDE4OSwgNDIwNzYsIAotICAgIDQzMjUyLCA3ODgyMywgOTE3OTA2LCA4NzI3LCAwLCA2NTg3NSwgMCwgMCwgMTI3NzYyLCAxMDU2MiwgNzQyMTUsIDQzMDY1LCAKLSAgICAwLCAwLCAzMjQ4LCA3NDI5NywgMzI2MSwgOTAxNSwgNzEzNTEsIDAsIDM2MzUsIDY0MzM3LCA5ODMyODEsIDAsIDAsIDcxOTUsIAotICAgIDAsIDIwMDcsIDY0NDMxLCAwLCAwLCAwLCAwLCA2MzUsIDAsIDAsIDY1NjEzLCA3NzkwOSwgOTI0MjAsIDczOTk3LCAwLCAwLCAKLSAgICAxMTkyMTgsIDc5ODQsIDg2MDAsIDc0NDM0LCAxMjc3NzAsIDQxNzYsIDcwMDUwLCAyMDM0LCA5MjU1MSwgMTIwODA1LCAKLSAgICA2NTg5MSwgMTI3MDM4LCAwLCAzMTgsIDIwMzgsIDEyODg2MCwgNzg1OTYsIDAsIDM2NDksIDEzMTQ5LCA0MjE0NSwgNDI3OTgsIAotICAgIDM2MzQsIDEyMDI5MSwgMTE4OTI3LCA2NzY3NywgMTIwMTI0LCA3ODY2LCAwLCAxMTQwMiwgNDIxNDYsIDk0MDMyLCA3NDIzOCwgCi0gICAgNDI2NjQsIDI4NDksIDEyNzAzNCwgMCwgNzkzOCwgMTI5NjAsIDE3NjEsIDExODEyLCA2NTM3OSwgNjgzODYsIDEyODE4NSwgCi0gICAgMTE1OSwgMCwgNjk3MjksIDAsIDAsIDcxNzgsIDE5NDYzMiwgMCwgNDE2ODAsIDAsIDEyODIwMywgMTE1MzQsIDE1MTQsIAotICAgIDExNjY4LCA2Nzg5MSwgOTMxMywgNzAxNSwgMCwgNjc4NzcsIDE5NDU2NywgMTI5ODksIDY2NDc0LCA5MzY4LCAxMjg0OCwgCi0gICAgMTYyNCwgNDMyNzAsIDAsIDc0Mjc4LCAxMDgxOCwgMTI2NjQ0LCA5OTUzLCAwLCA3ODQyMSwgMTE5NCwgMzI0MiwgOTc2MSwgCi0gICAgOTU1NSwgODU5OCwgMTIwMjk5LCA2MTY5LCAxMjg3MSwgMTU1MSwgMjc5OCwgNjUxNzYsIDQ5NTgsIDQyNzUyLCAxMTkwMjUsIAotICAgIDAsIDY3ODc1LCAxMjAzMDEsIDM0OTUsIDY2NjQ4LCAxOTQ3NjgsIDAsIDY4MzY0LCA5ODMyMjQsIDQ4OTEsIDAsIDEwNjQxLCAKLSAgICAwLCA3Mzc0NiwgMCwgNjgzNTIsIDAsIDczNzg3LCAxOTQ4MjksIDE5NDYzMywgNzE5OSwgNjQ5NTUsIDAsIDAsIDAsIDAsIDAsIAotICAgIDQyNjg1LCA0MjY3OSwgMTkzLCAwLCAwLCAwLCA0MjY2NywgMCwgNTI3MSwgOTIzMTgsIDkyNTE3LCAxMTg4ODIsIDEzNjIsIAotICAgIDEzMjk3LCAwLCAxMjgwOTQsIDAsIDk4MzMzMSwgNzM3ODksIDAsIDY2NTgsIDQ0MjYsIDAsIDkyNjI4LCA5ODM4NDIsIAotICAgIDkyMzE5LCA3Mjc2LCA0MjE2MywgNTIyMCwgMCwgMCwgOTgzMzMwLCAyNDE2LCAzMzEwLCA0MjcwMywgMCwgMzc5LCAwLCAKLSAgICA0Mzc1NSwgMCwgMCwgMzIyMywgNjU0OTIsIDEyODQsIDE5NDc3MSwgNDU0OSwgMCwgMCwgOTgzMTU0LCAxMjc3NjMsIAotICAgIDEwODA3LCA5NTU4LCAxOTQ2MTMsIDAsIDg1MTUsIDg2ODgsIDEyODY2LCA2NTMwOCwgMzI5NCwgOTgzMzMyLCA4NTI5LCAKLSAgICAxMjgxMDEsIDQzMzg1LCA3NTY0LCAwLCA0MzMyOSwgMCwgOTI0NTgsIDczNzU3LCA2NjQ1NiwgNDIzNTksIDAsIDIwMzEsIDAsIAotICAgIDcyMDIsIDAsIDEyNjc2LCA0MjcyOSwgOTIxOTgsIDMyMTUsIDAsIDc3MTAsIDE2MTAsIDczODAxLCAwLCAwLCA2NTY4MiwgMCwgCi0gICAgMTIwNTM3LCA2NTkyNCwgOTk3NCwgMjI4LCA2NjM1NCwgMTUwMSwgMCwgNjQzOTUsIDUxNzksIDcyMDAsIDYyMjUsIDAsIAotICAgIDY1Nzk0LCAxNzI1LCA2NTUzMywgODE5NiwgNzQ3NiwgNzQzOTksIDAsIDAsIDcxNTIsIDg1MDIsIDU3NjIsIDE5NjcsIAotICAgIDc0ODMsIDAsIDAsIDgxMDQsIDAsIDc0NzQsIDc3OTc5LCAwLCAxMjY1MDcsIDEwNDE0LCAxMzAwMSwgODE0MSwgMCwgCi0gICAgNDI1MzcsIDE1NTcsIDQzNTk0LCAxMjg2NDIsIDYzMzAsIDY4MDUsIDg2MzEsIDI1NDUsIDcwMDUyLCAxMjcxNjYsIDAsIAotICAgIDc0MTkwLCAwLCAwLCA5ODM3ODYsIDQyNzYyLCAwLCA0MjkxNCwgMTY1MCwgMjYyLCAxNjM3LCAwLCA3OTAxLCAzMjM4LCAKLSAgICAxMjgxNzMsIDQxODYxLCAwLCAxMjg1ODUsIDY1MTU4LCAxMDg2MCwgOTQwNTksIDQzNjU4LCA3NTI3LCAwLCA0MzMxOSwgCi0gICAgNjQxOSwgMCwgNDUsIDAsIDY0NTg4LCA5Mzk4OSwgMCwgMTE5ODEwLCA3MTk0LCA1MjkxLCAwLCA0MzY2NiwgMTMxMjksIDAsIAotICAgIDkwODQsIDAsIDg3MzcsIDAsIDEyODgxLCAwLCAxMjkwNiwgOTYzOSwgNzkxMiwgMjYyMCwgMCwgMCwgMCwgOTgzODc1LCAKLSAgICAxNzksIDY1ODk2LCAwLCA2NDc1NiwgMjg1MywgNzg0NDMsIDExODgxMywgOTgzODkwLCAxMTg5OTYsIDExOTAwOSwgMjg1MCwgCi0gICAgODA4NCwgOTgzMDg1LCA3Mzg1MCwgMjgwMSwgOTIyODQsIDQyMDY5LCAxMTk4MzksIDc0NzU0LCAxMTk4NDEsIDQyMDcyLCAKLSAgICAxMTk4NDMsIDExOTg0MiwgMTAzOTgsIDk4MzA1NiwgMCwgODM3NywgMTI3MTE2LCA4MjQ1LCA2ODQwMSwgMzE1OCwgOTIzOTYsIAotICAgIDM5ODMsIDQzNjU2LCA5MjMsIDExOTg1NywgMTE5ODU2LCAyOTIsIDEzMDAyLCAxMTk4NDUsIDExOTg0NCwgMzIyMSwgMTc2MywgCi0gICAgOTI0NjMsIDQ2MTIsIDExOTg1MSwgMTE5ODUwLCA3MjUzLCAxMjcxMTAsIDY4MzkxLCAwLCAxMDc4MiwgMzYzNywgMTI5OTYsIAotICAgIDQzNTQyLCAwLCA2NDU3OCwgOTgzNjc1LCAzMjI4LCA2OTYzNiwgODc4MywgMCwgMTE5NjE0LCAyNzMxLCAwLCAwLCA3ODU4NSwgCi0gICAgNDEwMiwgNzY5NiwgNzM4NzgsIDAsIDAsIDc4NTg2LCA0MzMxNiwgNDE3NywgMTEyODMsIDkwODksIDAsIDczOTk2LCAKLSAgICA5ODMxNzMsIDY0NTAwLCA0MzY3NCwgMCwgNjQ5NDcsIDE4NTYsIDAsIDAsIDYzNzksIDAsIDAsIDAsIDMyMDgsIDEyOTc1LCAKLSAgICA3NDc3NSwgMTI3MzgwLCA5ODM5MzEsIDkyMzg5LCA3NDA3MiwgNTUyNjksIDAsIDAsIDk4MzY4MywgMjAzMywgNzg1NzcsIAotICAgIDc4NTc2LCAxOTUwMjYsIDU1MjU0LCA3NzQwLCAwLCAwLCAwLCA3Mzk2NCwgMCwgOTM5ODgsIDY3NjEyLCA2NTY3NCwgCi0gICAgMTI4MjQ0LCA5NDExMCwgNDE2ODksIDAsIDc0MDA2LCA2NDkwOSwgNjY0NiwgMTE3OTAsIDc0MDE5LCAwLCAxMjgwNjYsIAotICAgIDEyODAzMSwgODU2MSwgNDU3MywgMCwgNTMyNiwgMCwgMTIwNjA1LCA3MjMwLCA4MjU3LCAwLCA4Nzc4LCA0MTY4OCwgMCwgCi0gICAgNjU3NzYsIDIwNzEsIDgzMTQsIDY0NTksIDAsIDc2MjgsIDY1MDkyLCA3MzkwMywgNjY3MjEsIDExMzQyLCAxMjg1NjEsIDAsIAotICAgIDAsIDEyODIyNiwgMTI3MDAxLCAwLCAxMTgxMCwgMTMxNjQsIDEwNzIzLCA5NjcsIDk4Mzk1MSwgMTI2NDY5LCAxMTk0NiwgMCwgCi0gICAgMzI1NywgMCwgMTIzMDcsIDE4NDUsIDk4MzE1NywgNDM1MjYsIDAsIDAsIDE4ODYsIDQyMzQyLCAxMDA4OSwgODcwLCA3NjQ4LCAKLSAgICAzNDk5LCA4NjA5LCA3NjUyLCA4NzYsIDg3MSwgODc3LCAwLCA4NzgsIDQyMDE1LCA4NzksIDQzNjkyLCA0NTYzLCAwLCAwLCAKLSAgICA3NTkxLCA2NTg4NywgODY3LCA5NTIwLCA4NzIsIDEyNjYwNywgODY4LCA4NzMsIDc2NDIsIDAsIDg2OSwgODc0LCA3NjQ0LCAKLSAgICAxMjA2NzQsIDg3NSwgNzkwLCAxMjgzMDMsIDAsIDAsIDAsIDY2MTgyLCA5ODMyNTgsIDU0MjksIDE5NTA1NSwgNjYxODAsIAotICAgIDEyNjQ4MCwgNjYxODEsIDY4NDUyLCA5ODMyODksIDk4MzI0OCwgNDIwNjcsIDAsIDU0MzMsIDEwNjU3LCA3OTExLCAKLSAgICAxOTQ2MjIsIDE1NDcsIDY2MTc2LCA0MjAxMiwgMTIwNTc2LCA1NDI1LCA0OTc3LCA5OTk5LCA1MzE3LCA1NDIzLCA0NjExLCAKLSAgICAwLCA2NzYzNywgMCwgOTY3OSwgNzQxMjIsIDAsIDAsIDAsIDY2MTk0LCA0NDE4LCA2NjE4NCwgNDYyOCwgNDI0NSwgCi0gICAgMTE5NjQ4LCAwLCAwLCAxODUxLCAwLCAxMjcxODksIDExOTA4LCAwLCA5MzYwLCAxMTg4OTcsIDk4MzIwMiwgNDI3NzYsIAotICAgIDY2MTg3LCAxMjgzNywgODgyOSwgNzcxMSwgOTI3MTQsIDAsIDkyMzIxLCA0MzMxOCwgMCwgODgwOSwgNjk4ODEsIDAsIAotICAgIDk4MzE0MiwgMTIwNjA0LCA5ODMwNTIsIDk4Mzg4MiwgMCwgOTgzMjcwLCAwLCAwLCA3NDI3LCA5OTU4LCA0NTg4LCA0MzY4MCwgCi0gICAgMCwgNzQ0ODQsIDE5NDk2OCwgMjQzMywgMCwgMTE5NjIyLCAzMzUyLCA3NDM2MywgOTgzODg1LCAwLCA3OTMsIDc0NDA0LCAwLCAKLSAgICAzMDUsIDU2NywgNjc2NjIsIDg0MiwgMTI4NTE5LCA4MjA4LCAwLCA0MTY5NSwgMTY0NywgMTE4ODc3LCAwLCA3ODM3LCAKLSAgICA5MTc2MjUsIDgxOCwgNTMzNywgMTk0NjI4LCA5MTc2MjEsIDQxMzc2LCAxMTk5NzgsIDEyNjU3NiwgMTIwNTk0LCA3NDA4NiwgCi0gICAgOTE3NjE1LCA5MTc2MTQsIDkxNzYxMywgMTA5NzMsIDY2MzU5LCAxMzcyLCAxMjcxNzIsIDkxNzYwOCwgNDk2OSwgMTI1NCwgCi0gICAgOTE3NjA1LCA5MTc2MDQsIDkzOTY3LCA5MTc2MDIsIDY1MjI4LCA3ODIyMSwgMTI2NjEyLCAwLCAyODQwLCAwLCAxMTk5ODIsIAotICAgIDk4MzkzOSwgMCwgMzI0NSwgOTA2OCwgNjgxOTQsIDY0NzI1LCAwLCAwLCAxMjk5MSwgMCwgMjY1MSwgNjgwMTYsIDk4MzI2NSwgCi0gICAgOTE3NjExLCAxMjcwMjYsIDEyODg4MywgMCwgMCwgNDM2NDgsIDEyMDgxMiwgMCwgNDMzMjIsIDkyNjYyLCAwLCAwLCAKLSAgICA2NDM3MiwgOTI2OTgsIDMyMjYsIDY1NSwgNzUyLCA3NDU3LCA3NDU2LCA3NDUyLCAzMjg1LCAxMjg3NzksIDEyNzgyMSwgCi0gICAgMTE5OTg4LCA2NTYxMCwgMjM5MSwgMCwgOTIyNDgsIDY3MSwgMjUwLCA3NDM0LCA2MTgsIDY2OCwgNjEwLCA0MjgwMCwgCi0gICAgNzQzMSwgMTE1MiwgNDI4MDEsIDY0MCwgMTIwNjY2LCA3NDQ4LCA3NDM5LCA2MjgsIDM5MDUsIDczODEwLCAwLCAxMjgyNjYsIAotICAgIDY0NzQ5LCA2Nzg1MCwgMjEwNywgMCwgMCwgNDYwNSwgMTI4MTc0LCA5ODMxOTIsIDQzMzcyLCA2NTk0NSwgMTI4ODM4LCAwLCAKLSAgICAxMTk1OTAsIDAsIDAsIDAsIDk4NywgNjkyNywgMTE1NzIsIDQyMjYxLCAxMTQ2NCwgMzM2NSwgOTk3MSwgMCwgMCwgCi0gICAgMTI4Mjk3LCAwLCAwLCAwLCAwLCAxMTMzNCwgNDMzMjYsIDEyNjA5LCAxMTUxOSwgMTE1MDMsIDU1MzAsIDUyMTAsIDAsIAotICAgIDQ2MjcsIDk4Mzg5MiwgNTIwOCwgMCwgMTI4ODQyLCAxMDMzMiwgNTIxOCwgNzk3NiwgOTE1NiwgMCwgMzI0NCwgNTUyOSwgCi0gICAgNjk2NDcsIDczODk0LCAxMjg4NTIsIDU0MzIsIDY0OTY1LCA1NTI3LCA3NDAzMywgMTA1MTYsIDc3OTAsIDU1MjgsIDAsIAotICAgIDQyMTQwLCAxMjAyODEsIDAsIDAsIDQzNTQ1LCA5ODg3LCAwLCA0MDAwLCA3NDI5LCA3NDI4LCA2NjUsIDc0MjQsIDMyMDYsIAotICAgIDEyMDI3OCwgNzg4NCwgMCwgMTI4NTY2LCA5MTc5ODksIDEyODY2NiwgMjExLCAyNTA5LCAxMjg4NTgsIDEyMDU3MywgCi0gICAgNjg2NzIsIDMyMjAsIDQyMjM1LCAwLCAxMDY5MCwgODk1MSwgNTIxNCwgNDI0NzQsIDgxMTgsIDAsIDcwNDgsIDQ1OTAsIAotICAgIDEyNzI1OCwgNTg1MiwgMCwgMCwgMTI3MjU5LCAxNzA4LCAwLCA5ODMxNjUsIDI2MjMsIDExOTQzLCAwLCA2OTIyNiwgMCwgCi0gICAgNDY5OCwgNjY1MDksIDEwNjYsIDExOTkyMSwgNDcwMSwgOTgzODc2LCAxMjAyODUsIDc0MjI1LCA5NDExMSwgODI2NywgMCwgCi0gICAgMTI3MjY1LCAwLCA3NTE2LCAwLCAyNjI1LCA5ODM5NzcsIDgwMzQsIDc0MzA5LCAwLCAzNjMxLCAxMDk1NSwgNzg1MCwgCi0gICAgMTIwMjkzLCA4NDE2LCAwLCAwLCAwLCA0MzM4NCwgMTI2NjAsIDAsIDAsIDAsIDc0ODUwLCA0MTA2OSwgMCwgMTI4MTU2LCAKLSAgICAxMjA5OSwgNDMxMCwgMTAwMzIsIDYyNTIsIDcxMywgNzk5MCwgMCwgMzk5MCwgMCwgOTgzMjYyLCA2NjM2OCwgNTAxNywgCi0gICAgNjQ5NTYsIDcwNzEsIDAsIDExOTE0NCwgMTAzMCwgMTE4ODAwLCA5ODMxMjAsIDk1MTMsIDQxMDU5LCA5MzU3LCAwLCAxNzczLCAKLSAgICAwLCAxMjAzNTAsIDAsIDYzMzksIDc3NDUsIDk4NDQsIDAsIDY0NjUwLCA5NCwgMTg4MCwgNzQ3NjYsIDk4MzgzOCwgODkwOCwgCi0gICAgMCwgMTI4NzA3LCA2NTkxMywgNzg0NzAsIDEwNzUyLCAxMzAwMywgMCwgMTI2NTcyLCA0MTMwNywgODczMiwgMTIwMzM4LCAwLCAKLSAgICAxNzU3LCA2OTY0LCA0Njk2LCAwLCAxMjAzMzUsIDY0Nzg1LCA3Mzk0LCAzNjQxLCA1NDE5LCAxMjgwNTUsIDAsIDEyNzg4MywgCi0gICAgMCwgMTIwMzQ0LCA0Mzk4OCwgMCwgODYxMCwgNDMwNjIsIDc1OTIsIDg1NiwgNzQyOTksIDkzNiwgMTMyODksIDY5ODk0LCAKLSAgICA0MzE3MSwgMTQ1OSwgMCwgNjUyNDMsIDc4NjM4LCAxOTk1MywgMCwgMTUwNCwgNzAwNjQsIDAsIDEyOTEzLCA3NDIwNiwgCi0gICAgNzUyOSwgMCwgMTI4Njk5LCA5ODM5NTcsIDEyMDc4MiwgNDExMywgMCwgMjM3MiwgMzM2LCAwLCA3NTA5LCAxMjE1MiwgMCwgCi0gICAgNjgyLCA2NjQ1OCwgNDE1MDUsIDAsIDY0NzQzLCAxMDU5MywgMTcwMywgMCwgOTgzOTU1LCA4MDMzLCA2OTk1MywgMCwgCi0gICAgOTgxMCwgMTI3MjY5LCAwLCAxMjk3MCwgMCwgNDIzNTEsIDEwMTA5LCA5MTc2MjMsIDAsIDE5NDY5MywgMCwgOTI2OTAsIDAsIAotICAgIDAsIDc0MjkxLCAxOTY1LCA3MDY5LCA0MzMxMiwgMCwgNzM4ODcsIDAsIDIwODcsIDY0MzcwLCA2MzE0LCA0MTcxNCwgODUwMSwgCi0gICAgMCwgMCwgNzQyMzksIDQxMzE3LCA5MjYxNCwgMjA5MSwgNzQ1NDUsIDIwOTAsIDAsIDkzNTMsIDcxMTcsIDIwNzcsIDc3ODg2LCAKLSAgICAwLCAxMDQ5OCwgMjA4MywgNzc4ODgsIDAsIDAsIDExOTIzNiwgNjM0LCAwLCAwLCAwLCA2OTc3OSwgNDE2NSwgODc0NiwgMCwgCi0gICAgOTY1NCwgMTI4NTYsIDY5MjQsIDAsIDcwNjYsIDk4MzcxOSwgMCwgMTI4MTM1LCA0MTAzNywgNDI2OTIsIDc3ODYsIDEyOTU5LCAKLSAgICA0MTAzOSwgMTI3NDgzLCAwLCA2ODAsIDIzMDIsIDEyODIwMCwgMTE4MSwgNzA1NiwgMzE3NCwgMTI2NTE2LCAwLCA5MjY2OCwgCi0gICAgNjU2NjUsIDEyNzM3NSwgMTI2NTA2LCA2OTIwLCAwLCA5MjI5NSwgMCwgMTE4OTY1LCAwLCA2NDY0NCwgMTI2OTgxLCAKLSAgICA3NDExOSwgMCwgNDEwMjgsIDAsIDYyMzEsIDI2MTMsIDY1MzAyLCA0MDk4OSwgMCwgMTk0Njk2LCAwLCA0Mjc2MCwgMCwgCi0gICAgOTgzNTY2LCAwLCA0MDk4NywgNDY2NywgMCwgOTgzOTMyLCA4ODI4LCAwLCAwLCAxMjQ2LCA0NzQ2LCAwLCAwLCAxMTAyMSwgCi0gICAgNDc0OSwgOTI2NzUsIDAsIDkyMSwgNDc0NCwgMCwgMTI3MDIsIDI0MiwgMCwgMTU2NiwgODIxNywgMCwgNjQ2NTMsIDc4Mzg2LCAKLSAgICAxMjgxMjEsIDc0MDM2LCA3NDUwNSwgNDMyNzQsIDUzMTMsIDk1MSwgMCwgMCwgOTgzODY3LCA3NjA0LCA5ODMyOTAsIDQwMDksIAotICAgIDEyNzgxNiwgOTgzNzEwLCAxMjA1NjIsIDAsIDk4MzcyMCwgNjQ4NjAsIDExOTEzOCwgMTE5MDY5LCAwLCAxMjczNzAsIAotICAgIDQwNDgsIDk4MzU5OCwgMCwgNzAwMjQsIDE2NDYsIDc3ODkwLCA2NDUzNCwgNzM5OTUsIDEyMDcwNSwgMCwgMTE5ODkwLCAKKyAgICA2NTMxNiwgNDEwNiwgNjUzMTQsIDY1MzEzLCA0MjA3NCwgMTI3ODQ3LCA0MTIyOCwgMTI4OTYwLCA2NTYwOSwgNDEyNDEsIAorICAgIDc5MDMsIDQxMjM5LCA0MzUzMywgNzg0NTksIDcxODksIDAsIDAsIDEyODc1MywgMTIzNTcsIDQyODAyLCA3ODQ1MCwgODQ4NywgCisgICAgOTEzMSwgNjYyOTIsIDQ2MTUsIDEyNjk1LCAxMjc3NTIsIDAsIDEyMTc1LCAwLCA2NDUzNSwgMCwgNzgwOSwgMCwgMCwgNTYyLCAKKyAgICAxMjE2OSwgNjU5MCwgNjk3NjIsIDY2NDU1LCA2NDczOCwgMzIxOSwgNjg2NTQsIDk4Mzc4NywgMTI4MjgxLCAxMDM3LCAKKyAgICAxMjg2NzcsIDIwMjUsIDEyODI2MywgMTMwOTgsIDc4NDQyLCAxMDYzNywgNDU2OCwgNTQ5LCAxNTcwLCA0MzgzOSwgMjgzNSwgCisgICAgMCwgMTA2MjQsIDQzNjIzLCAxMTA3MiwgMTI3MTkxLCAwLCAwLCAxMjYwNiwgNzg0MzMsIDI4MjUsIDAsIDEwODI1LCA4MDc5LCAKKyAgICAyODIxLCA0MTA0NiwgOTIzMjcsIDczNjUsIDkyNjM0LCAxMjA1OTMsIDEzMDcxLCAxMjkwNTIsIDQ1MiwgNDEwNDksIAorICAgIDQyODQwLCA2MzQ2LCAyODMxLCA1NDYxLCA3NDU5NiwgMTE0NjUsIDUyMTIsIDAsIDY0NzAzLCAxMTkxOTEsIDQyMzA4LCAKKyAgICA3MTgxLCAwLCA0MTMzMiwgMCwgMTIzMzMsIDQxMDQ3LCAxNjY4LCAwLCAwLCAwLCAxMTg3LCA5ODMzODUsIDQyNjI4LCAKKyAgICA3ODU3NSwgMCwgNzE4NjMsIDAsIDMyNDAsIDEyODUxOCwgMTIxNTEsIDAsIDExNTkxLCA0MTA2NSwgNTMyMywgODE2NiwgMCwgCisgICAgMCwgMCwgNjY4MjcsIDE2MjMsIDY1Mjk3LCAxMjg4NTYsIDU3MSwgMCwgNDkxOCwgMCwgNTI4OCwgMTI3Mjk1LCAxNTQxLCAKKyAgICA2NTA0OCwgMTkwOSwgODg2NCwgMCwgNjY0MDIsIDEwNzM2LCA5MjUwOCwgMTE1NzEsIDc2MTUsIDcwNDc2LCA5MjI5NiwgCisgICAgNDIzNywgOTI1NzYsIDEwMzUsIDY1ODE1LCAxMTkzMDEsIDM1NjcsIDcwMSwgNjU5MzYsIDM0ODksIDAsIDcwNDYyLCAKKyAgICA3MDE3MiwgMTE0MDMsIDAsIDAsIDEyNzE0NiwgMzc5NiwgNjgwMCwgNzA0NzIsIDM5OTQsIDExNDIxLCA3NDYxMSwgCisgICAgMTk1MDc2LCAxOTUwNzgsIDk4MzkyMiwgMCwgMCwgNjQ4NTcsIDEyODEwNSwgMjg1NSwgNzQ0MTgsIDY2MzA4LCA0MTYyMSwgCisgICAgNjgyMTQsIDEyNzI4MywgMTI3ODE3LCAxMDY1NCwgMTI3ODE4LCAxMTkyMjYsIDEyMTY0LCAzMjQ2LCA3OTA2LCA0Mzk3MiwgCisgICAgNjU4NDcsIDcxODIsIDAsIDEzMDI0LCA2NjI3NiwgNzQyNzAsIDEyODI4OSwgMTI1MDkwLCAwLCAwLCAxNDk2LCA3NDcsIDAsIAorICAgIDk0MiwgMjM3OCwgNDMxMzYsIDEyNzkwNSwgODQ2NiwgOTgzNTc1LCA5MzIwLCA4MDAxLCAxMjMyLCA4MTM5LCAxMTYxNywgCisgICAgNzQ2MzcsIDAsIDExNDA5LCA2ODM3MywgNjM4MiwgMTI2NTAwLCA2NDYzNCwgOTIzNjIsIDcwMjAyLCAxMTYxMiwgOTMwMDgsIAorICAgIDY3NjAwLCAyMzc0LCA5NDA2NiwgODQ3NSwgMTE2MDksIDY2MzEzLCA5ODM3NjksIDAsIDUyODYsIDExOTI5NywgMCwgCisgICAgOTgzMjUxLCA2NDkyNSwgMTIwMjgzLCAxMjcyMDQsIDExODk4MiwgNzE5MDUsIDc3MDUsIDExOTQyLCAxMTMwNSwgMTI3MjAzLCAKKyAgICAzMzA5LCAxMjg2MTksIDkyMDYsIDExOTE2NSwgMTEzODI0LCA2ODAyLCA3MDM1MywgNDE2NTMsIDEyODAsIDEyNDEsIDcxNjgsIAorICAgIDEyMDk2LCAwLCA2NjYxNSwgNDI1NjUsIDQxNjUxLCAwLCA5MTc2MjcsIDAsIDQxNjUwLCA2NjUwNywgNjY0NzAsIDc0NDcyLCAKKyAgICAxMjkxNCwgNDE0OTEsIDY2MDEwLCA5NDEwNiwgNjA3OCwgOTk1NCwgNzg4MjIsIDE0NzUsIDExOTI0NywgOTkzOCwgNjA4NCwgCisgICAgOTE3NTQ2LCA0MTA2NCwgNDEwNjIsIDAsIDAsIDMyNTYsIDEwMTg5LCA0MjA3NiwgNDMyNTIsIDc4ODIzLCA3MTg2MSwgCisgICAgODcyNywgMCwgNjU4NzUsIDAsIDAsIDEyNzc2MiwgMTA1NjIsIDc0MjE1LCA0MzA2NSwgMCwgMCwgMzI0OCwgNzQyOTcsIAorICAgIDMyNjEsIDkwMTUsIDcxMzUxLCAwLCAzNjM1LCA2NDMzNywgOTI3NTksIDEyNTA1NCwgMCwgNzE5NSwgMCwgMjAwNywgCisgICAgNjQ0MzEsIDAsIDAsIDkyMTk3LCAwLCA2MzUsIDAsIDAsIDY1NjEzLCA3NzkwOSwgOTI0MjAsIDczOTk3LCAwLCAwLCAKKyAgICAxMTkyMTgsIDc5ODQsIDg2MDAsIDc0NDM0LCAxMjc3NzAsIDQxNzYsIDcwMDUwLCAyMDM0LCA3ODQyMywgMTExNTQsIAorICAgIDY1ODkxLCAxMjcwMzgsIDAsIDMxOCwgMjAzOCwgMTI4ODYwLCA3ODU5NiwgMTk0NjAyLCAzNjQ5LCAxMzE0OSwgNDIxNDUsIAorICAgIDQyNzk4LCAzNjM0LCAxMjAyOTEsIDcxODg1LCA2NzY3NywgMTIwMTI0LCA3ODY2LCAwLCAxMTQwMiwgNDIxNDYsIDk0MDMyLCAKKyAgICA3NDIzOCwgNDI2NjQsIDI4NDksIDEyNzAzNCwgMCwgNzkzOCwgMTI5NjAsIDE3NjEsIDExODEyLCA2NTM3OSwgNjgzODYsIAorICAgIDEyODE4NSwgMTE1OSwgNzExODMsIDY5NzI5LCAwLCAxMjA3OTcsIDcxNzgsIDE5NDYzMiwgOTgzODM2LCA0MTY4MCwgMCwgCisgICAgMTI4MjAzLCAxMTUzNCwgMTUxNCwgMTE2NjgsIDY3ODkxLCA5MzEzLCA3MDE1LCAxMjg0OTAsIDY3ODc3LCAxOTQ1NjcsIAorICAgIDEyOTg5LCA2NjQ3NCwgOTM2OCwgMTI4NDgsIDE2MjQsIDQzMjcwLCAwLCA3NDI3OCwgMTA4MTgsIDEyNjY0NCwgOTk1MywgMCwgCisgICAgNzg0MjEsIDExOTQsIDMyNDIsIDk3NjEsIDk1NTUsIDg1OTgsIDEyMDI5OSwgNjE2OSwgMTI4NzEsIDE1NTEsIDI3OTgsIAorICAgIDY1MTc2LCA0OTU4LCA0Mjc1MiwgMTE5MDI1LCAwLCA2Nzg3NSwgMTIwMzAxLCAzNDk1LCA2NjY0OCwgMTI1MDc5LCAKKyAgICAxMTM3ODAsIDY4MzY0LCAxMjA3NzksIDQ4OTEsIDAsIDEwNjQxLCAwLCA3Mzc0NiwgOTgzODM3LCA2ODM1MiwgMCwgNzM3ODcsIAorICAgIDE5NDgyOSwgMTk0NjMzLCA3MTk5LCAxMTEzMSwgMCwgMCwgMCwgOTgzODUyLCAwLCA0MjY4NSwgNDI2NzksIDE5MywgCisgICAgNzg3ODksIDAsIDAsIDQyNjY3LCAwLCA1MjcxLCA2ODMyMywgOTI1MTcsIDExODg4MiwgMTM2MiwgMTMyOTcsIDAsIDcxODgwLCAKKyAgICAwLCA5ODMzMzEsIDczNzg5LCAwLCA2NjU4LCA0NDI2LCAwLCA2NjgzMCwgOTgzODQyLCA5MjMxOSwgNzI3NiwgNDIxNjMsIAorICAgIDUyMjAsIDAsIDAsIDEyNTA4MCwgMjQxNiwgMzMxMCwgNDI3MDMsIDEyNzgyOCwgMzc5LCAwLCA0Mzc1NSwgNzA1MDQsIAorICAgIDQzNjQ3LCAzMjIzLCA2NTQ5MiwgMTI4NCwgMTk0NzcxLCA0NTQ5LCAwLCAwLCA5ODMxNTQsIDcwNzg0LCAxMDgwNywgOTU1OCwgCisgICAgOTMwMjcsIDAsIDg1MTUsIDg2ODgsIDEyODY2LCA2NTMwOCwgMzI5NCwgOTgzMzMyLCA4NTI5LCAxMjgxMDEsIDQzMzg1LCAKKyAgICA3NTY0LCAwLCA0MzMyOSwgMCwgOTI0NTgsIDczNzU3LCA2NjQ1NiwgNDIzNTksIDAsIDIwMzEsIDk4Mzg5MCwgNzIwMiwgCisgICAgMTI4NjE4LCAxMjY3NiwgNDI3MjksIDc0Nzc3LCAzMjE1LCAwLCA3NzEwLCAxNjEwLCA3MzgwMSwgMCwgMCwgNjU2ODIsIDAsIAorICAgIDEyMDUzNywgNjU5MjQsIDk5NzQsIDIyOCwgNjYzNTQsIDE1MDEsIDAsIDY0Mzk1LCA1MTc5LCA3MjAwLCA2MjI1LCAKKyAgICAxMTg5MjcsIDQyOTk5LCAxNzI1LCA2NTUzMywgODE5NiwgNzQ3NiwgNzQzOTksIDAsIDY2ODY4LCA3MTUyLCA4NTAyLCAKKyAgICA1NzYyLCAxOTY3LCA3NDgzLCAxMjUwODMsIDAsIDgxMDQsIDcwMTI4LCA3NDc0LCA3Nzk3OSwgMTI3MjAwLCAxMjY1MDcsIAorICAgIDEwNDE0LCAxMzAwMSwgODE0MSwgMCwgNDI1MzcsIDE1NTcsIDQzNTk0LCAxMjg2NDIsIDYzMzAsIDY4MDUsIDg2MzEsIAorICAgIDI1NDUsIDcwMDUyLCAxMjcxNjYsIDAsIDc0MTkwLCAwLCA3MDQxMCwgOTgzNzg2LCA0Mjc2MiwgMCwgNDI5MTQsIDE2NTAsIAorICAgIDI2MiwgMTYzNywgMTI4NTAyLCA3OTAxLCAzMjM4LCAxMjgxNzMsIDQxODYxLCAwLCAxMjAyMTEsIDY1MTU4LCAxMDg2MCwgCisgICAgOTQwNTksIDQzNjU4LCA3NTI3LCAwLCA0MzMxOSwgNjQxOSwgMCwgNDUsIDAsIDY0NTg4LCA5Mzk4OSwgMTI3NzUzLCAKKyAgICAxMTk4MTAsIDcxOTQsIDUyOTEsIDAsIDQzNjY2LCAxMzEyOSwgMTI4Njg0LCA5MDg0LCAwLCA4NzM3LCA5ODMxNjUsIAorICAgIDEyODgxLCAwLCAxMjkwNiwgOTYzOSwgNzkxMiwgMjYyMCwgOTgzODgyLCAzNTY0LCAwLCA2OTk3OCwgMTc5LCA0MzY0NCwgCisgICAgMTI2NTAzLCA2NDc1NiwgMjg1MywgNzg0NDMsIDExODgxMywgMTI5MDQyLCA3MDM0NywgMTE5MDA5LCAyODUwLCA4MDg0LCAKKyAgICA5ODMwODUsIDczODUwLCAyODAxLCA5MjI4NCwgNDIwNjksIDExOTgzOSwgNzQ3NTQsIDExOTg0MSwgNDIwNzIsIDkyNzM2LCAKKyAgICAxMTk4NDIsIDEwMzk4LCA5ODMwNTYsIDAsIDgzNzcsIDExOTMxMiwgODI0NSwgNjg0MDEsIDMxNTgsIDkyMzk2LCAzOTgzLCAKKyAgICA0MzY1NiwgOTIzLCAxMTk4NTcsIDkyNDcwLCAyOTIsIDExMTE5LCAxMTk4NDUsIDExOTg0NCwgMzIyMSwgMTc2MywgOTI0NjMsIAorICAgIDQ2MTIsIDY3NzI5LCAxMTk4NTAsIDcyNTMsIDcwNDU2LCA2ODM5MSwgMCwgMTA3ODIsIDM2MzcsIDEyOTk2LCA0MzU0MiwgCisgICAgMTEzNjc2LCA2NDU3OCwgOTgzNjc1LCAzMjI4LCA2OTYzNiwgODc4MywgMCwgMTE5NjE0LCAyNzMxLCAwLCAwLCA3ODU4NSwgCisgICAgNDEwMiwgNzY5NiwgNzM4NzgsIDAsIDEyOTEyOCwgNzA4MTMsIDQzMzE2LCA0MTc3LCAxMTI4MywgOTA4OSwgMCwgNzM5OTYsIAorICAgIDk4MzE3MywgNjQ1MDAsIDQzNjc0LCAwLCA2NDk0NywgMTg1NiwgMCwgMCwgNjM3OSwgMCwgMTExNDIsIDEyNzE3NiwgMzIwOCwgCisgICAgMTI5NzUsIDc0Nzc1LCAxMjczODAsIDk4MzkzMSwgOTIzODksIDc0MDcyLCA1NTI2OSwgMCwgMCwgOTgzNjgzLCAyMDMzLCAKKyAgICA3ODU3NywgNzg1NzYsIDE5NTAyNiwgNTUyNTQsIDc3NDAsIDAsIDcwNDQ4LCAxMjc4OTUsIDczOTY0LCA2ODUwNSwgOTM5ODgsIAorICAgIDY3NjEyLCA2NTY3NCwgMTI4MjQ0LCA5NDExMCwgNDE2ODksIDAsIDc0MDA2LCA2NDkwOSwgNjY0NiwgMTE3OTAsIDc0MDE5LCAKKyAgICAwLCAxMjgwNjYsIDEyODAzMSwgODU2MSwgNDU3MywgMCwgNTMyNiwgOTI1NzEsIDEyMDYwNSwgNzIzMCwgODI1NywgCisgICAgMTk0OTM3LCA4Nzc4LCA0MTY4OCwgMCwgNjU3NzYsIDIwNzEsIDgzMTQsIDY0NTksIDQzNTExLCA3NjI4LCA2NTA5MiwgCisgICAgNzM5MDMsIDY2NzIxLCAxMTM0MiwgMTI4NTYxLCAwLCA5ODM0MzIsIDEyODIyNiwgMTI3MDAxLCAwLCAxMTgxMCwgMTMxNjQsIAorICAgIDEwNzIzLCA5NjcsIDk4MzcxNywgMTI2NDY5LCAxMTk0NiwgOTgzNjAyLCAzMjU3LCAxMjcyMDksIDEyMzA3LCAxODQ1LCAKKyAgICA5ODMxNTcsIDQzNTI2LCAwLCAwLCAxODg2LCA0MjM0MiwgMTAwODksIDg3MCwgNzY0OCwgMzQ5OSwgNzY2MiwgNzY1MiwgCisgICAgODc2LCA4NzEsIDg3NywgNzY2NSwgODc4LCA0MjAxNSwgODc5LCA0MzY5MiwgNDU2MywgMCwgMCwgNzU5MSwgNjU4ODcsIAorICAgIDg2NywgOTUyMCwgODcyLCA3NjU2LCA4NjgsIDg3MywgNzY0MiwgNzY1OSwgODY5LCA4NzQsIDc2NDQsIDEyMDY3NCwgODc1LCAKKyAgICA3OTAsIDEyODMwMywgMTE4OTM4LCAwLCA5ODM2NDEsIDY2MTgyLCAxOTQ2MjMsIDU0MjksIDE5NTA1NSwgNjYxODAsIAorICAgIDEyNjQ4MCwgNjYxODEsIDY4NDUyLCA5ODMyODksIDkxNzkyOSwgNDIwNjcsIDAsIDU0MzMsIDEwNjU3LCA3OTExLCAKKyAgICAxMjUxMTksIDE1NDcsIDY2MTc2LCA0MjAxMiwgMTIwNTc2LCA1NDI1LCA0OTc3LCA5OTk5LCA1MzE3LCA1NDIzLCA0NjExLCAKKyAgICAxMjUwOTQsIDY3NjM3LCAxMjcyODYsIDk2NzksIDc0MTIyLCA5Mjk3OCwgMCwgMCwgNjYxOTQsIDQ0MTgsIDY2MTg0LCAKKyAgICA0NjI4LCA0MjQ1LCAxMTk2NDgsIDAsIDAsIDE4NTEsIDEyNDk5NSwgMTI3MTg5LCAxMTkwOCwgMCwgOTM2MCwgMTE4ODk3LCAKKyAgICAxOTQ4ODAsIDQyNzc2LCA2NjE4NywgMTI4MzcsIDg4MjksIDc3MTEsIDExMTEyLCAwLCA5MjMyMSwgNDMzMTgsIDkyMzAyLCAKKyAgICA4ODA5LCA2OTg4MSwgMCwgMTI2NTE4LCAxMjA2MDQsIDk4MzA1MiwgOTgzMjc1LCA5ODM0MzEsIDk4MzI3MCwgMCwgCisgICAgMTIwNTc3LCA3NDI3LCA5OTU4LCA0NTg4LCA0MzY4MCwgMCwgNzQ0ODQsIDE5NDk2OCwgMjQzMywgMTI4NjAyLCA2OTk3MywgCisgICAgMzM1MiwgNzQzNjMsIDk4Mzg4NSwgMCwgNzkzLCA3NDQwNCwgMTExOTcsIDMwNSwgNTY3LCA2NzY2MiwgODQyLCA2OTk3OSwgCisgICAgODIwOCwgNjgzMDgsIDQxNjk1LCAxNjQ3LCAxMTg4NzcsIDcwODQxLCA3ODM3LCA5MTc2MjUsIDgxOCwgNTMzNywgMTk0NjI4LCAKKyAgICA5MTc2MjEsIDQxMzc2LCAxMTk5NzgsIDEyNjU3NiwgMTIwNTk0LCA3NDA4NiwgOTE3NjE1LCA3MDE3OSwgOTE3NjEzLCAKKyAgICAxMDk3MywgNjYzNTksIDEzNzIsIDEyNzE3MiwgOTE3NjA4LCA0OTY5LCAxMjU0LCA5MTc2MDUsIDE5NDY1NCwgOTM5NjcsIAorICAgIDkxNzYwMiwgNjUyMjgsIDc4MjIxLCAxMjY2MTIsIDY3NzIzLCAyODQwLCAwLCA3ODgyOSwgOTgzOTM5LCA2Njg4NywgMzI0NSwgCisgICAgOTA2OCwgNjgxOTQsIDY0NzI1LCAwLCAxMjgwNTEsIDEyOTkxLCAxMjQ5NzEsIDI2NTEsIDY4MDE2LCA5ODMyNjUsIAorICAgIDkxNzYxMSwgMTI1MDM4LCA3MDgzNSwgMCwgNzA4NDQsIDQzNjQ4LCAxMjA4MTIsIDkxNzgzMywgNDMzMjIsIDkyNjYyLCAwLCAKKyAgICAwLCA2NDM3MiwgOTI2OTgsIDMyMjYsIDY1NSwgNzUyLCA3NDU3LCA3NDU2LCA3NDUyLCAzMjg1LCAxMjg0NzUsIDExMTUyLCAKKyAgICA5MjkwMywgNjU2MTAsIDIzOTEsIDkyOTA4LCA5MjI0OCwgNjcxLCAyNTAsIDc0MzQsIDYxOCwgNjY4LCA2MTAsIDQyODAwLCAKKyAgICA3NDMxLCAxMTUyLCA0MjgwMSwgNjQwLCAxMjA2NjYsIDc0NDgsIDc0MzksIDYyOCwgMzkwNSwgNzM4MTAsIDEyODM0MCwgCisgICAgMTI4MjY2LCA2NDc0OSwgNjc4NTAsIDIxMDcsIDEyODM0NSwgNzQyNDksIDQ2MDUsIDEyODE3NCwgOTgzMTkyLCA0MzM3MiwgCisgICAgNjU5NDUsIDEyODgzOCwgMTExMTMsIDExOTU5MCwgMCwgMCwgNzA0OTUsIDk4NywgNjkyNywgMTE1NzIsIDQyMjYxLCAKKyAgICAxMTQ2NCwgMzM2NSwgOTk3MSwgMCwgMCwgMTI4Mjk3LCAwLCA3ODc2MiwgMCwgMCwgMTEzMzQsIDQzMzI2LCAxMjYwOSwgCisgICAgMTE1MTksIDExNTAzLCA1NTMwLCA1MjEwLCAwLCA0NjI3LCAxMjc3ODQsIDUyMDgsIDAsIDEyODg0MiwgMTAzMzIsIDI0MjQsIAorICAgIDc5NzYsIDkxNTYsIDAsIDMyNDQsIDU1MjksIDY5NjQ3LCA3Mzg5NCwgMTI4ODUyLCA1NDMyLCA2NDk2NSwgNTUyNywgCisgICAgNDIzMTUsIDEwNTE2LCA3NzkwLCA1NTI4LCA5ODM2OTksIDQyMTQwLCAxMjAyODEsIDAsIDAsIDQzNTQ1LCA5ODg3LCAKKyAgICAxMjkwNDQsIDQwMDAsIDc0MjksIDc0MjgsIDY2NSwgNzQyNCwgMzIwNiwgMTIwMjc4LCA3ODg0LCAwLCAxMjg1NjYsIAorICAgIDkxNzk4OSwgMTI4NjY2LCAyMTEsIDI1MDksIDkyOTA0LCA3MDgyMiwgNjg2NzIsIDMyMjAsIDQyMjM1LCA3ODQ4MCwgCisgICAgMTA2OTAsIDg5NTEsIDUyMTQsIDQyNDc0LCA4MTE4LCAwLCA3MDQ4LCA0NTkwLCAxMjcyNTgsIDU4NTIsIDAsIDc4NDgyLCAKKyAgICAxMjcyNTksIDE3MDgsIDAsIDc4NDgxLCAyNjIzLCAxMTk0MywgMTI4NzAwLCA2OTIyNiwgNjk5NzQsIDQ2OTgsIDY2NTA5LCAKKyAgICAxMDY2LCAxMTk5MjEsIDQ3MDEsIDk4Mzg3NiwgMTIwMjg1LCA3MDQ0NywgOTQxMTEsIDgyNjcsIDAsIDE0MjEsIDY2NDI2LCAKKyAgICA3NTE2LCAxMjc1NTIsIDI2MjUsIDk4Mzk3NywgODAzNCwgNzQzMDksIDAsIDM2MzEsIDEwOTU1LCA3ODUwLCAxMjAyOTMsIAorICAgIDg0MTYsIDAsIDAsIDAsIDQzMzg0LCAxMjY2MCwgMTI4NjkzLCAwLCAwLCA3NDg1MCwgNDEwNjksIDcwMTg1LCAxMjgxNTYsIAorICAgIDEyMDk5LCA0MzEwLCAxMDAzMiwgNjI1MiwgNzEzLCA3OTkwLCA5ODM0ODcsIDM5OTAsIDEyNTA1MCwgOTgzMjYyLCA2NjM2OCwgCisgICAgNTAxNywgNjQ5NTYsIDcwNzEsIDAsIDcwNDU3LCAxMDMwLCAxMTg4MDAsIDkyNTYzLCA5NTEzLCA0MTA1OSwgOTM1NywgMCwgCisgICAgMTc3MywgNzc5MzksIDEyMDM1MCwgMCwgNjMzOSwgNzc0NSwgOTg0NCwgMTI3MjIwLCA2NDY1MCwgOTQsIDE4ODAsIDc0NzY2LCAKKyAgICAxMTM3MTksIDg5MDgsIDAsIDEyODcwNywgNjU5MTMsIDc4NDcwLCAxMDc1MiwgMTMwMDMsIDAsIDEyNjU3MiwgNDEzMDcsIAorICAgIDg3MzIsIDEyMDMzOCwgMCwgMTc1NywgNjk2NCwgNDY5NiwgMCwgMTIwMzM1LCA2NDc4NSwgNzM5NCwgMzY0MSwgNTQxOSwgCisgICAgMTI4MDU1LCAwLCAxMjc4ODMsIDAsIDEyMDM0NCwgNDM5ODgsIDcwNDIzLCA4NjEwLCA0MzA2MiwgNzU5MiwgODU2LCAKKyAgICA3NDI5OSwgOTM2LCAxMzI4OSwgNjk4OTQsIDQzMTcxLCAxNDU5LCAwLCA2NTI0MywgNzg2MzgsIDE5OTUzLCAwLCAxNTA0LCAKKyAgICA3MDA2NCwgMCwgMTI5MTMsIDc0MjA2LCA3NTI5LCAxMjg3NDUsIDEyODY5OSwgNzAyMDMsIDEyMDc4MiwgNDExMywgMCwgCisgICAgMjM3MiwgMzM2LCAwLCA3NTA5LCAxMjE1MiwgMTk0ODg1LCA2ODIsIDc2NTUsIDQxNTA1LCAwLCA2NDc0MywgMTA1OTMsIAorICAgIDE3MDMsIDkyNDY3LCA3NzkxMSwgODAzMywgNjk5NTMsIDAsIDk4MTAsIDEyNzI2OSwgMTIwMDEzLCAxMjk3MCwgMCwgCisgICAgNDIzNTEsIDEwMTA5LCA3NDUzNSwgMCwgMTk0NjkzLCAwLCA5MjY5MCwgMCwgNjUwNjgsIDc0MjkxLCAxOTY1LCA3MDY5LCAKKyAgICA0MzMxMiwgMCwgNzM4ODcsIDExMTMwLCAyMDg3LCA2NDM3MCwgNjMxNCwgNDE3MTQsIDg1MDEsIDExMTQ1LCAwLCA3NDIzOSwgCisgICAgNDEzMTcsIDkyNjE0LCAyMDkxLCA3NDU0NSwgMjA5MCwgNjk5MTIsIDkzNTMsIDcxMTcsIDIwNzcsIDc3ODg2LCAxMTE2MSwgCisgICAgMTA0OTgsIDIwODMsIDc3ODg4LCA3MTE5NiwgMCwgMTE5MjM2LCA2MzQsIDAsIDkyMjkwLCAwLCA2OTc3OSwgNDE2NSwgCisgICAgODc0NiwgMTk1MDQ4LCA5NjU0LCAxMjg1NiwgNjkyNCwgNzY2MCwgNzA2NiwgOTgzNzE5LCA3MDQxNSwgMTI4MTM1LCAKKyAgICA0MTAzNywgNDI2OTIsIDc3ODYsIDEyOTU5LCA0MTAzOSwgMTI3NDgzLCAxMjQ5NjUsIDY4MCwgMjMwMiwgMTI4MjAwLCAKKyAgICAxMTgxLCA3MDU2LCAzMTc0LCA2NzI0OCwgMCwgOTI2NjgsIDY1NjY1LCAxMjczNzUsIDExMzc3NiwgNjkyMCwgMCwgOTIyOTUsIAorICAgIDAsIDExODk2NSwgNjgzMTgsIDY0NjQ0LCAxMjY5ODEsIDc0MTE5LCA2ODIzOCwgNDEwMjgsIDc0MDI1LCA2MjMxLCAyNjEzLCAKKyAgICA2NTMwMiwgNDA5ODksIDY4MjM5LCA2ODIzMCwgNjgyMzQsIDQyNzYwLCAwLCAxMjQ5ODksIDAsIDQwOTg3LCA0NjY3LCAwLCAKKyAgICA3MTg0MywgODgyOCwgMCwgNzA1MDYsIDEyNDYsIDQ3NDYsIDAsIDEyODUwOCwgMTEwMjEsIDQ3NDksIDkyNjc1LCA5MTc4ODIsIAorICAgIDkyMSwgNDc0NCwgMCwgMTI3MDIsIDI0MiwgMCwgMTU2NiwgODIxNywgMTI3MjEwLCA2NDY1MywgNzgzODYsIDc0NjE3LCAKKyAgICA3NDAzNiwgNzQ1MDUsIDQzMjc0LCA1MzEzLCA5NTEsIDc0NTY4LCA5Mjk4MywgOTgzODY3LCA3NjA0LCA5ODMyOTAsIDQwMDksIAorICAgIDcwNDI2LCA3MTg0NCwgMTIwNTYyLCAwLCA5ODM3MjAsIDY0ODYwLCAxMTkxMzgsIDExOTA2OSwgMCwgMTI3MzcwLCA0MDQ4LCAKKyAgICA5ODM1OTgsIDAsIDcwMDI0LCAxNjQ2LCA3Nzg5MCwgNjQ1MzQsIDczOTk1LCAxMjA3MDUsIDEyOTA0NywgMTE5ODkwLCAKICAgICAyNTc5LCAxMTk5MDUsIDMxNzcsIDExMzU3LCA5MDk5LCA0MTA3LCAzNDQxLCAxMTk4OTQsIDI5NzUsIDc0NDQyLCA5ODIyLCAKICAgICA5ODM5MzUsIDU1MjIwLCAxMDA4NCwgNzM5NDMsIDExODg0MCwgMCwgOTE3NTYyLCAxOTQ2MTAsIDMzOTksIDk4NTEsIAotICAgIDk4MzcxNywgMTE5MDksIDkwNTksIDAsIDc2ODcsIDAsIDY3ODksIDAsIDAsIDAsIDcxMzY3LCAwLCAwLCAxNzc3LCA5MTUxLCAKLSAgICAxMTM3LCA2OTc2NywgNzQ5LCA0MjM2NiwgMCwgNTM4NSwgMTI4NTc0LCAxMjgyMTgsIDAsIDAsIDU5ODksIDAsIDAsIAotICAgIDEyODA5MSwgMCwgNDE2ODUsIDY5MjIzLCAwLCA5NzY5LCA0MTY4NCwgOTgzMjE2LCA1MTksIDAsIDExNzQwLCA1NzY2LCAwLCAKLSAgICAwLCAyNjAwLCA4ODQ4LCAxMjAxMzgsIDQxMjk3LCAwLCAzNjY2LCA3NDQ3MywgNDEzMDAsIDc0NDY4LCA2NTE2MCwgMCwgCi0gICAgNjk2ODgsIDY5NzcxLCA3NDQ3OSwgMCwgNjU1OCwgMCwgMCwgNjk3NjUsIDEyMDc1MCwgMjUyLCAwLCA0MTMwMiwgMCwgMCwgCi0gICAgMCwgNjk3NjMsIDAsIDExNzI5LCA4NzE5LCA5MDYwLCAwLCAxMjAxMzksIDEwNzYxLCAwLCAwLCAwLCAxMTg3OTIsIDExNzM0LCAKLSAgICA5ODMyMjMsIDExNzMwLCAwLCA5NTkzLCA1NzU3LCAyNDAzLCA2NDgwOCwgNTUyNzUsIDAsIDExNzI4LCA0MzU3MiwgMCwgMCwgCi0gICAgNzc2NCwgOTgzNzE0LCAxMTA5NCwgMTIwODI1LCAwLCA5ODMyMjYsIDQyODIsIDgyOTgsIDAsIDAsIDAsIDAsIDAsIDY0NDQ5LCAKLSAgICAwLCAxMjY2NTAsIDYzODU0LCA4NDU2LCAwLCA3NDc4MywgNjU2NzAsIDAsIDc4MjUwLCAwLCA3Nzc0LCAxMDYwNywgOTc5MiwgCi0gICAgMCwgMCwgMCwgMCwgMTIwNzY0LCAwLCAxMDAxOSwgNzQ3NjIsIDAsIDM0NTgsIDQzNjUsIDcwMDUzLCA5ODM3MTIsIDM2NDcsIAotICAgIDAsIDI2MDIsIDEyODM0MSwgMCwgMTk0NzA3LCA0MTEzNSwgMCwgMCwgMCwgNjQ2MzEsIDE3MiwgNDk3MSwgNDEyMTksIAotICAgIDQxMTM3LCAxODg5LCA3MjM4LCA2NTQ1LCAxMjY0NzYsIDkyMTkzLCA3NTk3LCAxMDUyOCwgMCwgMCwgMzczMiwgNzM5MTAsIAotICAgIDE5NDU4OCwgNTM0NCwgMCwgNDMzNjYsIDQzMzYzLCA5MDYyLCAxMTkyNTIsIDAsIDAsIDAsIDY0NDc5LCA5MjMyLCA5MjU5NiwgCi0gICAgMCwgMCwgMTk0NzEyLCAxMDkwMCwgNDE1MzEsIDEyNjMsIDM3MjAsIDEyMDQ4LCAwLCA2NDI5MiwgNDE1MjQsIDcyMjcsIAotICAgIDExOTYzNSwgNjA5OSwgNDE1MzQsIDAsIDEyNzM1NCwgMTI3MzQ1LCAyOTksIDkxNzk1NywgODUyNSwgMTI3MzQ3LCAzNTI0LCAKLSAgICA5MTc1NjUsIDg4MzEsIDEyNzM0OSwgOTI1NjQsIDMwNzUsIDY3ODY3LCAxMjczNTIsIDAsIDY2MzYyLCAwLCA2NDM1MywgMCwgCi0gICAgMCwgNTg0NSwgMCwgMCwgMCwgMjU4MSwgODIwMCwgNjUxMTQsIDY4NDYwLCAwLCA0MzI4MywgNTU1MSwgMCwgMTIwNzM1LCAKLSAgICA5ODMyMDEsIDYzNDAsIDExODg1NSwgMCwgNzgxMzQsIDg2ODAsIDcyMDQsIDcwMDY1LCAyNTg4LCAyOTE0LCA3MDExLCAKLSAgICA1NTI4MSwgMCwgMjQ3MSwgMTk0NjMxLCAyODgzLCAyNzQ5LCAxMTk1NjMsIDczNzc0LCAxMDkxMywgMCwgMCwgODY2NiwgCi0gICAgNjc1LCA0MjQ5MywgMCwgNDM1NzEsIDAsIDYyMTksIDAsIDk5ODAsIDQxMjMyLCAxMDkyOCwgMCwgNDExNTMsIDQxMjI5LCAKLSAgICAxMTg5NjcsIDAsIDM3MzgsIDk0MDE2LCAwLCAxMjcxMSwgMzE4MSwgNjYyMTIsIDc0Mjg5LCA2ODQ3MiwgNDI4NTcsIDgyNjIsIAotICAgIDk4MzM3OSwgMCwgOTgzMjIyLCAwLCA0MjM0NywgMTIwOTIsIDk2MTUsIDcyMzQsIDc0MDQ3LCA5ODMwODgsIDAsIDQzNzQ0LCAKLSAgICAwLCAwLCA3Mzg0NiwgMjkzNCwgMTI3MjIsIDEyMDc2MiwgOTIyLCA0Mzk4MywgNzQ1MDcsIDk4MzEyNiwgNzQ0NjEsIDMyMTgsIAorICAgIDkxNzYwOSwgMTE5MDksIDkwNTksIDAsIDc2ODcsIDAsIDY3ODksIDEyODM5MiwgMCwgNzE4NDIsIDcwMTc4LCAwLCAwLCAKKyAgICAxNzc3LCA5MTUxLCAxMTM3LCA2Njg2NywgNzQ5LCA0MjM2NiwgNzA0NDQsIDUzODUsIDcwNzkxLCA3MjQzNSwgNzAxMjcsIAorICAgIDEyODk3MiwgNTk4OSwgMCwgNzQ2MzYsIDEyODA5MSwgMCwgNDE2ODUsIDY5MjIzLCAwLCA5NzY5LCA0MTY4NCwgOTgzMjE2LCAKKyAgICA1MTksIDAsIDExNzQwLCA1NzY2LCAwLCAwLCAyNjAwLCA4ODQ4LCA3MDQxNiwgNDEyOTcsIDAsIDM2NjYsIDcwNDIwLCAKKyAgICA0MTMwMCwgNzQ0NjgsIDY1MTYwLCAwLCA2OTY4OCwgNjk3NzEsIDc0NDc5LCAwLCA2NTU4LCAwLCAxMjgwNjQsIDY5NzY1LCAKKyAgICA5Mjc3NSwgMjUyLCAwLCA0MTMwMiwgMTE5MzUwLCAxMjcwMDIsIDExODgzOSwgNjk3NjMsIDAsIDExNzI5LCA4NzE5LCAKKyAgICA5MDYwLCAxMjkwOTEsIDEyMDEzOSwgMTA3NjEsIDAsIDAsIDAsIDExODc5MiwgMTE3MzQsIDkzMDExLCAxMTczMCwgCisgICAgMTEzNzQxLCA5NTkzLCA1NzU3LCAyNDAzLCA2NDgwOCwgNTUyNzUsIDAsIDExNzI4LCA0MzU3MiwgMCwgMCwgNzc2NCwgCisgICAgMTI5MTMyLCAxMTA5NCwgMTIwODI1LCAwLCA0MzQ4OSwgNDI4MiwgODI5OCwgMCwgMCwgNzAzMjgsIDAsIDcwMzI0LCAKKyAgICA2NDQ0OSwgMCwgMTI2NjUwLCA2Mzg1NCwgODQ1NiwgNjU1ODcsIDcwNDQyLCA2NTY3MCwgMCwgNzgyNTAsIDAsIDc3NzQsIAorICAgIDEwNjA3LCA5NzkyLCAwLCA3MDMyNiwgMCwgMCwgMTIwNzY0LCA3MDMyMiwgMTAwMTksIDc0NzYyLCAwLCAzNDU4LCA0MzY1LCAKKyAgICA3MDA1MywgOTgzNzEyLCAzNjQ3LCAxMjAyMDcsIDI2MDIsIDEyODM0MSwgMCwgMTI1MDQzLCA0MTEzNSwgMCwgMCwgCisgICAgMTI4NDU1LCA2NDYzMSwgMTcyLCA0OTcxLCA0MTIxOSwgNDExMzcsIDE4ODksIDcyMzgsIDY1NDUsIDEyNjQ3NiwgNzc5MjYsIAorICAgIDc1OTcsIDEwNTI4LCAwLCAwLCAzNzMyLCA3MzkxMCwgMTk0NTg4LCA1MzQ0LCAwLCA0MzM2NiwgNDMzNjMsIDkwNjIsIAorICAgIDExOTI1MiwgMCwgOTI1MjgsIDAsIDY0NDc5LCA5MjMyLCA5MjU5NiwgMCwgMTEzNzA3LCAxOTQ3MTIsIDEwOTAwLCA0MTUzMSwgCisgICAgMTI2MywgMzcyMCwgMTIwNDgsIDc0MDc1LCA2NDI5MiwgNDE1MjQsIDcyMjcsIDExOTYzNSwgNjA5OSwgNDE1MzQsIDAsIAorICAgIDEyNzM1NCwgMTI3MzQ1LCAyOTksIDkxNzk1NywgODUyNSwgMTI3MzQ3LCAzNTI0LCA5MTc1NjUsIDg4MzEsIDEyNzM0OSwgCisgICAgOTI1NjQsIDMwNzUsIDY3ODY3LCA5NDA1MywgMCwgNjYzNjIsIDAsIDY0MzUzLCA3MDQ0MCwgMCwgNTg0NSwgMCwgMCwgMCwgCisgICAgMjU4MSwgODIwMCwgNjUxMTQsIDY4NDYwLCA5ODM2OTMsIDQzMjgzLCA1NTUxLCAwLCAxMjA3MzUsIDk4MzIwMSwgNjM0MCwgCisgICAgMTE4ODU1LCAxMjg5MzQsIDc4MTM0LCA4NjgwLCA3MjA0LCA3MDA2NSwgMjU4OCwgMjkxNCwgNzAxMSwgNTUyODEsIDAsIAorICAgIDI0NzEsIDE5NDYzMSwgMjg4MywgMjc0OSwgMTE5NTYzLCA3Mzc3NCwgMTA5MTMsIDAsIDAsIDg2NjYsIDY3NSwgNDI0OTMsIAorICAgIDAsIDQzNTcxLCAwLCA2MjE5LCAxMjg1ODQsIDk5ODAsIDQxMjMyLCAxMDkyOCwgMCwgNDExNTMsIDQxMjI5LCAxMTg5NjcsIAorICAgIDAsIDM3MzgsIDk0MDE2LCAwLCAxMjcxMSwgMzE4MSwgNjYyMTIsIDc0Mjg5LCA2ODQ3MiwgNDI4NTcsIDgyNjIsIDk4MzM3OSwgCisgICAgMCwgNzQ0NzYsIDAsIDQyMzQ3LCAxMjA5MiwgOTYxNSwgNzIzNCwgNzQwNDcsIDk4MzA4OCwgOTgzODE5LCA0Mzc0NCwgMCwgCisgICAgMCwgNzM4NDYsIDI5MzQsIDEyNzIyLCAxMjA3NjIsIDkyMiwgNDM5ODMsIDc0NTA3LCA5ODMxMjYsIDc0NDYxLCAzMjE4LCAKICAgICAxMjA0NzEsIDc0MjkwLCAxMjA0NjksIDY0NTYyLCAxMjA0NzUsIDg1NjksIDExNDA0LCAxMTkzMiwgNzM3MjgsIDMyMTQsIAotICAgIDEyMDQ2MSwgMTIwNDY4LCAxMjEyOCwgMzIwNywgNjU0ODYsIDc4NzI5LCAxOTAxLCA3ODcyNywgMTI3MzI2LCAxMjA0NjAsIAorICAgIDExMjEyLCAxMjA0NjgsIDEyMTI4LCAzMjA3LCA2NTQ4NiwgNzg3MjksIDE5MDEsIDc4NzI3LCAxMjczMjYsIDEyMDQ2MCwgCiAgICAgNzQyNSwgMzIwNSwgNjgwMDMsIDc4NzM3LCA3ODczNiwgNzg3MzUsIDQzMzgzLCA2OTk0MCwgNjU0NTksIDI2MDYsIDc4NzMwLCAKLSAgICA3Mzg5NywgMCwgMTE0OTYsIDExNzMsIDAsIDQxMjcyLCAxMTk2NjEsIDAsIDAsIDk4MzMyMSwgMTIwNzM3LCAwLCA5ODM5NzEsIAotICAgIDk4MzMyMCwgMzc4LCAyNjEwLCAwLCA2NTA3OSwgOTgzMzI1LCA2NTY5NSwgMTI2NTU5LCAzNywgNzA2OCwgMCwgMTIwNDgwLCAKLSAgICAxMjA0NzksIDMyMDksIDEyMDQ3NywgMCwgMTA2MzgsIDk3NjgsIDY5OTUyLCAxMTk5MDksIDk4MzM5OSwgMCwgMCwgMCwgMCwgCi0gICAgNjU1MTAsIDAsIDAsIDUyMzMsIDk4MzMzNSwgNjQ3OTIsIDk4MzMzNCwgMCwgMTI2NjMzLCAwLCA3MDYwLCA5ODQ3LCAKLSAgICAxMjAxNDQsIDE2ODUsIDU5NSwgMCwgNzM5NzEsIDEyOTIsIDg5NDAsIDczODAsIDExMDg4LCAwLCAxMDAwNCwgMTI2OTk3LCAKLSAgICAwLCA2NTQxLCAwLCAwLCAwLCAzMjQzLCA5MDE0LCA1NjA2LCAwLCA1MzgsIDY0NjIwLCA1NjAyLCA4NDY3LCA3NDM5MSwgCi0gICAgNjU0NywgMTI4MTMyLCA4MjAzLCA3ODQ4OCwgOTgzMDkwLCA4NDU4LCA2NTIxMSwgODQ5NSwgMTE5OTA0LCAwLCA5MTc1NTIsIAotICAgIDc3OSwgNzgzMTQsIDY0MzY3LCAyNDY1LCA2OTkwMSwgODE5MywgNTUyNzksIDk3MzAsIDkyODAsIDAsIDcwNjUsIDc0MTU1LCAKLSAgICA0MzQ2LCAwLCA3Mzc5OCwgNTA0LCAwLCA5MjQxNCwgODk4MiwgMCwgMCwgMCwgNzgyLCAwLCAxMDg4MywgMCwgMTk0ODUyLCAKLSAgICA3MzIsIDM3MzcsIDEyNzI1MywgMTU0OCwgNjg2NTAsIDkyNTA3LCAxODMyLCA1NjA0LCA1NzM1LCA0MTE0MSwgMTE5MDIwLCAKLSAgICA0Mzc2LCAwLCAxMTc4NywgMzc0NSwgMCwgMCwgNDI4ODgsIDY1NzEyLCA5ODMzMDQsIDM4NjksIDExOTM3LCA1NzI1LCAKLSAgICAxMjc1MzksIDE3ODMsIDY4NjQ4LCA1NzI4LCAwLCAwLCAwLCAxMTkxOCwgNjY1NjcsIDU3MjQsIDAsIDU3MjcsIDc4NTIxLCAKLSAgICAwLCAwLCA3NjQsIDAsIDEyODExNiwgNDM1MzEsIDAsIDkwMzMsIDAsIDQyNTMyLCA2MjIzLCAxMTA0MiwgMTIwNzQ5LCAKLSAgICAxMTQyMywgMCwgMTE5ODYxLCA3MTM0NCwgNDM0NjUsIDAsIDEyODI2NywgNjU1OSwgNjQ1NTcsIDcxMzQ4LCA5MjY0OSwgCi0gICAgMTIwNjQ4LCA0MzAxOSwgNDM0NzcsIDEwMjM4LCA3NDQ5MSwgMCwgNDMzNzcsIDkyMjgyLCA3MTM0NiwgMTQ3OCwgOTc4MywgCi0gICAgMTE4MjUsIDI2MDcsIDY0NzQwLCAwLCA3NzM5LCA3NDU0MywgMCwgMCwgMCwgNjEzMiwgMCwgNjM3NjUsIDAsIDcwMDU4LCAKLSAgICA0MTE0NCwgMCwgOTI0MzgsIDQzNTM3LCA2NzYxLCAxMDA5MywgNDM2OSwgOTE3NzkxLCAwLCA5ODMxNDgsIDg4MjAsIDM5NDcsIAotICAgIDAsIDAsIDExNTE1LCA1MjYsIDEyODEwMywgNDEyOTUsIDE5NDYwMywgOTE3Nzg1LCAxOTQ5MzIsIDAsIDc2ODgsIDkxNzc4NiwgCi0gICAgNzY4NiwgODI4OCwgMTE4MTUsIDAsIDAsIDk4MzM4MiwgMTU0MywgMzcxMywgNDEyMjEsIDEyNDIzLCA0MjI4MSwgOTE3Nzg4LCAKLSAgICA3NDAyNCwgMTIyOTMsIDAsIDY0MzU3LCAxMTc5NCwgNDIwODIsIDAsIDE3MzcsIDg5ODcsIDQyMDgxLCAwLCA3MjA1LCAwLCAKLSAgICA5MzM1LCAxMjg1MCwgMTE5ODcwLCA2NTUzLCA3MDU1LCAwLCA4Mjc3LCAwLCAwLCA1NDc1LCA3NDc5NSwgNjc4MCwgMCwgMCwgCi0gICAgMTI5OTAsIDExNjAsIDQyMDg0LCAxMTk2NTAsIDQxMjE3LCAxMTk2NjAsIDEwMDE4LCAzNjAsIDAsIDAsIDY4MTc2LCA1ODYzLCAKLSAgICAzMTM3LCAwLCA0MTQ3LCA5ODMxNzAsIDQxMjE2LCA3ODQ0LCAyNjE2LCAxMTkxOTAsIDY4NDYxLCA2NTIzNCwgOTgzMjk0LCAKKyAgICA3Mzg5NywgMCwgMTE0OTYsIDExNzMsIDAsIDQxMjcyLCAxMTk2NjEsIDAsIDAsIDk4MzMyMSwgMTIwNzM3LCAxMjY1NTcsIAorICAgIDE5NDc3MywgOTgzMzIwLCAzNzgsIDI2MTAsIDk4MzMyNiwgNjUwNzksIDk4MzMyNSwgNjU2OTUsIDEyNjU1OSwgMzcsIAorICAgIDcwNjgsIDAsIDEyMDQ4MCwgNjgyMzYsIDMyMDksIDEyMDQ3NywgMCwgMTA2MzgsIDk3NjgsIDY5OTUyLCAxMTk5MDksIAorICAgIDk4MzM5OSwgOTIyMjUsIDAsIDk4MzMzOCwgMCwgNDM4NDAsIDAsIDAsIDUyMzMsIDk4MzMzNSwgNjQ3OTIsIDcxMjMzLCAwLCAKKyAgICAxMjY2MzMsIDEyODkxOSwgNzA2MCwgOTg0NywgMTIwMTQ0LCAxNjg1LCA1OTUsIDAsIDcwNDI4LCAxMjkyLCA4OTQwLCAKKyAgICA3MzgwLCAxMTA4OCwgMCwgMTAwMDQsIDEyNjk5NywgMCwgNjU0MSwgNDM4MzcsIDAsIDAsIDMyNDMsIDkwMTQsIDU2MDYsIDAsIAorICAgIDUzOCwgNjQ2MjAsIDU2MDIsIDg0NjcsIDc0MzkxLCA2NTQ3LCAxMjgxMzIsIDgyMDMsIDY2NDIwLCA2ODI0MSwgODQ1OCwgCisgICAgNjUyMTEsIDg0OTUsIDkyMzExLCAwLCA5MTc1NTIsIDc3OSwgNzgzMTQsIDY0MzY3LCAyNDY1LCA2OTkwMSwgODE5MywgCisgICAgNTUyNzksIDk3MzAsIDkyODAsIDAsIDcwNjUsIDc0MTU1LCA0MzQ2LCAwLCA3Mzc5OCwgNTA0LCAxMjUxMTUsIDkyNDE0LCAKKyAgICA4OTgyLCAwLCAxMjg3MTEsIDExOTE3MCwgNzgyLCAxMjkwMjgsIDEwODgzLCAxMjg0NDYsIDE5NDg1MiwgNzMyLCAzNzM3LCAKKyAgICAxMjcyNTMsIDE1NDgsIDY4NjUwLCA5MjUwNywgMTgzMiwgNTYwNCwgNTczNSwgNDExNDEsIDExOTAyMCwgNDM3NiwgCisgICAgOTgzMzcwLCAxMTc4NywgMzc0NSwgMCwgMTE5ODg1LCA0Mjg4OCwgNjU3MTIsIDEyNzkxMywgMzg2OSwgMTE5MzcsIDU3MjUsIAorICAgIDEyNzUzOSwgMTc4MywgNzQxNiwgNTcyOCwgMCwgMTI4NDU3LCAxMTk1NTQsIDExOTE4LCA2NjU2NywgNTcyNCwgMCwgNTcyNywgCisgICAgNzg1MjEsIDAsIDAsIDc2NCwgMCwgMTI4MTE2LCA0MzUzMSwgMTEzNjcwLCA5MDMzLCAwLCA0MjUzMiwgNjIyMywgMTEwNDIsIAorICAgIDEyMDc0OSwgMTE0MjMsIDc0ODUyLCAxMTk4NjEsIDY4MzAzLCA0MzQ2NSwgMCwgMTI4MjY3LCA2NTU5LCA2NDU1NywgCisgICAgNzEzNDgsIDkyNjQ5LCAxMjA2NDgsIDQzMDE5LCA0MzQ3NywgMTAyMzgsIDc0NDkxLCAwLCA0MzM3NywgOTIyODIsIDcxMzQ2LCAKKyAgICAxNDc4LCA5NzgzLCAxMTgyNSwgMjYwNywgNjQ3NDAsIDExMzY4OSwgNzczOSwgNzQ1NDMsIDkxNzc2NSwgNjczOTMsIDAsIAorICAgIDYxMzIsIDAsIDYzNzY1LCAxMjgzOTYsIDcwMDU4LCA0MTE0NCwgNzE4OTksIDkyNDM4LCA0MzUzNywgNjc2MSwgMTAwOTMsIAorICAgIDQzNjksIDkxNzc5MSwgMCwgMTk0Nzc2LCA4ODIwLCAzOTQ3LCAwLCAwLCAxMTUxNSwgNTI2LCAxMjgxMDMsIDQxMjk1LCAKKyAgICAxOTQ2MDMsIDkxNzc4NSwgMTk0OTMyLCAxMTM2OTEsIDc2ODgsIDkxNzc4NiwgNzY4NiwgODI4OCwgMTE4MTUsIDAsIDAsIAorICAgIDk4MzM4MiwgMTU0MywgMzcxMywgNDEyMjEsIDEyNDIzLCA0MjI4MSwgOTE3Nzg4LCA3NDAyNCwgMTIyOTMsIDAsIDY0MzU3LCAKKyAgICAxMTc5NCwgNDIwODIsIDAsIDE3MzcsIDg5ODcsIDQyMDgxLCAwLCA3MjA1LCAwLCA5MzM1LCAxMjg1MCwgMTE5ODcwLCAKKyAgICA2NTUzLCA3MDU1LCAwLCA4Mjc3LCAwLCA2Nzc1MSwgNTQ3NSwgNzQ3OTUsIDY3ODAsIDY1MDY3LCAwLCAxMzI3LCAxMTYwLCAKKyAgICA0MjA4NCwgMTE5NjUwLCA0MTIxNywgMTE5NjYwLCAxMDAxOCwgMzYwLCAxMjkwNzAsIDk4Mzg2NSwgNjgxNzYsIDU4NjMsIAorICAgIDMxMzcsIDAsIDQxNDcsIDk4MzE3MCwgNDEyMTYsIDc4NDQsIDI2MTYsIDcwMTk3LCA2ODQ2MSwgNjUyMzQsIDY4MzQxLCAKICAgICAxMzA3NiwgMzEzNSwgOTgzMjg3LCA3ODE0MywgMTE5MTM5LCAzMTQyLCA5MjQ1MSwgOTQwNjgsIDEwODE5LCAxMTk1ODAsIAotICAgIDEwMTgzLCAwLCAyNjA4LCAxNDcwLCA3Mzk2NywgOTQwMDgsIDYyMjcsIDAsIDEyNzE3MywgNjk3NDEsIDk4MzU4MiwgNjE2MywgCi0gICAgOTgzNTU4LCAwLCAxMjczMTQsIDAsIDAsIDg2MDMsIDAsIDExOTg2NiwgMzMwNiwgMTA4NzYsIDQzMzkyLCAxMTk1NzMsIAotICAgIDEyNzkzMSwgNTc1MSwgMCwgNjIyMiwgMCwgMCwgMTIwODYsIDc0MDMsIDE2MDAsIDY0MzA5LCA2NDkzOSwgMCwgNjQ3ODMsIAotICAgIDkyNjU4LCAxMTMxMCwgMCwgODg4MiwgMCwgMCwgMjU3MCwgNzAyMSwgMCwgMCwgNDMxMTAsIDAsIDEyMzQsIDY1NDAsIAotICAgIDY5NzQsIDAsIDAsIDk4MzIxMSwgNTAwMiwgMCwgNDEyODYsIDY5OTQ2LCAxMjcwMTksIDAsIDQzNTg1LCAwLCA2NTUxLCAKLSAgICA5ODM5NjIsIDEyODIyOSwgMCwgNDEyODksIDAsIDE5NDYwMiwgMCwgODk3NywgNjAyLCAxMjA4MTQsIDAsIDEyODc3OCwgCi0gICAgMTI4NjYxLCAwLCA5ODMzNzUsIDQxMjc5LCAwLCAwLCAwLCAxMTA4MSwgNDM2MTUsIDAsIDAsIDAsIDk4MzYxMiwgMTI3MjcsIAotICAgIDAsIDAsIDc4Mzk3LCA5NDc1LCA3MTEyLCA2NTEwNSwgMCwgOTYzMywgMTA4ODYsIDQzNTkyLCA3ODMxLCA5ODM4MjksIAotICAgIDE5NDU3MSwgMCwgNzM5MTUsIDgwNzYsIDQzMDQ4LCA4MjkwLCA4MjkxLCA0MzA1MSwgOTI1NzAsIDAsIDI1OTYsIDQzNTg0LCAKLSAgICAwLCAxMzExMywgMCwgMTI3NzU3LCAyMzkzLCA3MDU4LCA5MDg3LCA3NDA2NywgNjg2NzMsIDQxNTc0LCA3ODMzNywgMCwgCi0gICAgNzQwNTgsIDYzNzYsIDAsIDAsIDAsIDAsIDk4NTQsIDEyNzc0OCwgNjQ2OTYsIDAsIDEyODIyMCwgMCwgNjk5NCwgMCwgCi0gICAgMTcyMCwgMCwgMCwgMCwgNjUyOSwgNzA2MywgOTgzMTgyLCAzNzUxLCA5MTIwLCA5ODM0ODUsIDAsIDE3OTgsIDcwOSwgMCwgCi0gICAgMTM1NCwgMTg3NiwgMTMxNTIsIDY1NTcsIDEyNDMwLCA4MTM3LCA5NDA5OCwgOTI2NDIsIDAsIDAsIDI0NSwgMTI4MDk3LCAKLSAgICAxMTQ1NiwgNDEyMzMsIDcwNzAsIDAsIDk0MDQ2LCA2MTM2LCA5MTc2MDksIDY1Njc3LCA4NjgyLCA0MTIzNSwgOTI1OTUsIAotICAgIDQyMDQ1LCA5ODA0LCAxMTg5NjMsIDQzMiwgMzU5NSwgMTk0OTQ1LCA2NTQzNywgMCwgNzQ0NTUsIDQyMzk5LCAwLCAwLCAKLSAgICAxMjgyNzQsIDAsIDExOTY1OCwgMCwgMCwgMCwgNzc4OTQsIDg3OTcsIDAsIDkwNTIsIDY0ODg4LCA3MTY3LCAyMzU2LCA5NSwgCi0gICAgNzQ3ODQsIDEwNTgwLCAwLCA0MjI4NiwgMCwgNjQ2NDAsIDAsIDk0MTA5LCAwLCA3NDEzNywgNzAwMzUsIDEwMDYzLCAKLSAgICAxMjY1MiwgMTIxOTksIDkyNDgwLCAwLCAyNTY2LCAxMTk3MSwgOTgzNzM3LCAwLCAxMDY1LCAwLCAwLCA0MzQwMCwgMjU3NiwgCi0gICAgNjY2OTYsIDkzOTk5LCAwLCA0MzYwNCwgMCwgMCwgNzQwODIsIDUxNCwgNzQ1MDIsIDcwMDMyLCAyOTIxLCA0MzIxNSwgCi0gICAgNjQ0OTMsIDU3NzIsIDEyOTY4LCA3MDA1NSwgMTk0OTQ0LCA3NDU4MCwgNDMzOTgsIDI1ODAsIDk4MzgxMCwgNDEzNDEsIAotICAgIDQxMjIzLCA2NTY0LCAxNDYzLCA0MTM0MiwgMCwgNTI5MywgNzAwMjAsIDAsIDM3MzMsIDExMzQ2LCAwLCAxMjA1NCwgMCwgCi0gICAgNzQwOTgsIDQyODI3LCAwLCAxMzA5MSwgMCwgMCwgMCwgOTE3OTE1LCAwLCAxMjcwMjUsIDAsIDc0ODIxLCAwLCA5ODM3MzMsIAotICAgIDExOTA0MiwgMCwgMTI3ODY1LCAxMzA5MCwgNjY2NDMsIDAsIDEyNzAsIDExMzIsIDQyMzYwLCAwLCA3NDA5NiwgNjY2NTUsIAotICAgIDQyNTY5LCAxMjc4MjQsIDAsIDY0NzYxLCAwLCA0MTAyMSwgODUxMCwgNDI0MzIsIDAsIDAsIDE5NDc4MiwgMCwgNjQ0OTYsIAotICAgIDc0MTA5LCA3MDAzMCwgOTkxNSwgMCwgOTgzMjE4LCA3MDYxLCA0MTMzNiwgMzg1NCwgNjk3MDAsIDEzMTQxLCA2ODQxMywgCi0gICAgNDM0MDEsIDQyMzE5LCAxMzA4MiwgMCwgNzA2NywgNjgyMjEsIDAsIDEyNzM4MywgMTI3MTcxLCAwLCAwLCAxMjc3OTcsIAotICAgIDkwMjksIDQzNTQzLCAxMTkzMTUsIDIzNTMsIDYzMDgsIDAsIDc0NzkyLCAyNjExLCAxMTkxODYsIDAsIDAsIDAsIDQzNjY0LCAKLSAgICA5MjM5OSwgNjY2MjcsIDAsIDQ0ODQsIDg1MDksIDExODk3NiwgMTEwNjYsIDY1MjMzLCAwLCA0MTIyNCwgNDEwMTcsIDAsIAotICAgIDM3NDcsIDEwNTIyLCAwLCAwLCAxNjkxLCA0MTIyNiwgMCwgMTIxMDcsIDcxMDAsIDEwOTA1LCA2NTAxMCwgMTk0OTg2LCAKLSAgICA2OTcsIDY2MDE4LCA5Mjg0LCA0MjQ0LCAwLCAwLCA5MjY0NCwgMTMxMjEsIDEyMDAzNiwgMCwgMTIwMTAsIDEyODU3MywgCi0gICAgMTI4MjIxLCAwLCAwLCAwLCAxMjcxOTMsIDY1ODE2LCA2ODExMSwgMCwgMTI3OTMzLCA2NTY2OCwgOTIyNTcsIDY2MTgsIAotICAgIDExODc4NCwgNjYzNjUsIDAsIDQyMjM0LCAxMjY0OCwgNzgxMTAsIDcxMjMsIDcwMDM4LCA1Nzg1LCA5MTk4LCA5NzY0LCAKLSAgICA0MTMxNiwgNjU4NzcsIDczODMsIDEzMjMwLCA0MTI5OSwgMCwgMCwgNjgzNjUsIDEyODI1OCwgMCwgMCwgMCwgMTMxMjIsIDAsIAotICAgIDE5MSwgNzAwNjAsIDg1ODUsIDgwMDAsIDY0NDExLCAxMjA2NTIsIDQyODg5LCA2NDg1MCwgNDEwNzIsIDQxNTc4LCAwLCAKLSAgICA0MTU3NywgMCwgMTAwMDIsIDAsIDY1MzMsIDczODAyLCA0MTU3MCwgMCwgNjgzLCAzOTYsIDQxNTgwLCA2ODE0NiwgMCwgCi0gICAgMTI5MDEsIDQzMDU4LCAwLCAzNDMsIDcxMjksIDQyNjgwLCA0MTM2MCwgNzgxNTQsIDAsIDQ3NDMsIDAsIDAsIDc0MDQwLCAKLSAgICA3NDEwOCwgODc0MywgMTcyNCwgMTQzMywgMTE5MzIyLCAwLCAzNzM5LCA2MjYzLCA3MTM0OSwgMCwgMzk2NCwgNjU5MiwgMCwgCi0gICAgMTI4NjkzLCA2NjA0MCwgMCwgNDI1NjgsIDY5ODA2LCAxMjgxMTMsIDE3NzgsIDM5NTYsIDAsIDQyMDcwLCA2NTYzLCAKLSAgICA0MzA3NSwgOTAxOCwgOTQwMDYsIDk4MzM5NiwgMTIwNjcsIDQxMzEyLCAwLCA1NTQ3LCA3NDUzMSwgMTI3OTY5LCAwLCAKLSAgICA4MTc1LCAwLCAyODQsIDgxMDgsIDkzNCwgMCwgNzQwMDEsIDE3MywgNjY0NjAsIDcxNzQsIDkyNzAzLCAxMTg4MjIsIDE3NTAsIAotICAgIDAsIDQzOTQsIDY4MzY4LCAxODA3LCA5ODM4ODgsIDkyMjk4LCAwLCA1ODg5LCAwLCA3MTgwLCAwLCAxMTkxNDUsIDAsIAotICAgIDkxNzU1OCwgNDI0NzEsIDY5ODIsIDE3MjEsIDQ0MDIyLCA3ODkxLCA0MjI0MywgNDIxNjAsIDI1ODMsIDQ1MTIsIDExOTM2MCwgCi0gICAgNjUyMzAsIDEyODEwOSwgMCwgMCwgMzg1NSwgMCwgMCwgMCwgMCwgNzQyOTUsIDAsIDAsIDkyNDE2LCAzOTc1LCAwLCAKLSAgICA3NDA4NywgMCwgMTI2NzIsIDM3OTgsIDI3MDMsIDk4MzU5OSwgMCwgMjEwOSwgOTc3NCwgMTI3NSwgMCwgMCwgNDEwOTUsIAotICAgIDM5NjIsIDAsIDI5MzIsIDQxMTAxLCAzOTU0LCA2NDU3LCA0NTEzLCAwLCAwLCA3Mzk5NCwgNzM5OTIsIDE0NjgsIDAsIDAsIAotICAgIDQxODUxLCAxMjgyMzAsIDQxODQ2LCAwLCA1NTIzOCwgNzYzMywgNDE4NDksIDY4Mzg1LCA0MzIwLCAzMjI0LCAwLCAKLSAgICAxMjgwMzIsIDAsIDQyNTMxLCAxMTkxMDgsIDE1MTAsIDAsIDgyNTYsIDAsIDExMzkzLCAwLCA4ODc5LCAxMjgwNzUsIAotICAgIDkyNDc0LCA4NzcwLCAwLCAwLCA3ODM3NywgMTkxMCwgODY3MSwgNzgzNzQsIDQyODMsIDAsIDEyNzExNywgNjgzNjEsIAotICAgIDc4MzE4LCAyNjU0LCA3ODkzLCAxOTUwMDcsIDAsIDAsIDAsIDY1MTA2LCA0Mjc2MSwgMTI4NTcsIDQ1ODEsIDg0MTEsIAotICAgIDc4MzcyLCA3ODM3MSwgNzgzNzAsIDc4MzY5LCA3ODM2OCwgMCwgMCwgMCwgMTczMywgNDM5MiwgMjU2OCwgMTA3ODYsIAotICAgIDY5NjYxLCAwLCA4MTg0LCA0MTQ4NiwgMCwgNzM5NiwgNzExNiwgMCwgNjk3ODgsIDAsIDcxODUsIDc5NjUsIDAsIDAsIAotICAgIDkyMzQ3LCA5ODMwODcsIDQxMzUwLCA5MTI5LCAwLCAwLCAyMjk0LCAwLCA5MjQ4OSwgMCwgMTA0ODEsIDAsIDcwMDIyLCAKLSAgICA3MTcxLCAwLCAzNDAsIDkyNDk4LCA5Mzk3MiwgMCwgMCwgOTIyMDAsIDAsIDAsIDY3NjQsIDEyNzQ4NywgMCwgMCwgMCwgMCwgCi0gICAgNjUyMDMsIDExMzkyLCAxMTkwOTgsIDExOTM1OSwgMCwgMzIxMCwgMCwgMCwgMTE4Nzk1LCAwLCAwLCAxMjc5NzAsIAotICAgIDkxNzYxOSwgMCwgMCwgMTAwNDMsIDAsIDExODYsIDQxNTcxLCA2OTk5LCA2MTcsIDk0NjQsIDEyNjY0MiwgMzY3NSwgNTIwNywgCi0gICAgNjUwNjIsIDUyMTMsIDE5NDc2OSwgMjYxNywgNDEzNDgsIDQxNTY4LCAxMjg4MDMsIDMyNTMsIDEyMDUzNSwgMCwgODYzMCwgCi0gICAgMTI4NTQ0LCAwLCA1NTk2LCA1NTQ1LCA3Mjg4LCAyNTg2LCA2NDg4NywgMCwgNTIxNywgNzEzMzYsIDAsIDAsIDAsIDY0MjkzLCAKLSAgICA2ODA5OCwgMjYzNSwgMCwgMCwgOTgzODQ2LCAwLCA5ODM2NDEsIDc4MzUsIDcwMDQwLCAwLCAxOTQ5ODgsIDkyMjg1LCAKLSAgICA2NDU1OCwgMTI3MTIyLCAwLCAxMjcxMjEsIDAsIDEyNzkxMywgMCwgNTc4NCwgOTgzMTAyLCAwLCAwLCA3MDAzMywgNDAxMSwgCi0gICAgOTE3NjE2LCA2ODEwMSwgMCwgNzg2NCwgNDI1NCwgNjUwOTUsIDk4MzQ5NiwgNTYwMCwgMzkwMywgMTI3MDgzLCAxMDQ0NywgCi0gICAgNTU5OCwgMTIwNywgMTIwNTIxLCA2NjY4OSwgMzUwMSwgNDI1ODIsIDQzNjAwLCAxOTQ3ODAsIDAsIDExMjQsIDU1OTcsIAotICAgIDE5NDc3OCwgMTk0NzcyLCA5MzIxLCA5ODM0ODQsIDk4MzQ4MSwgOTgzNDgyLCAwLCAxNzE5LCA2ODM1NiwgNjgzNTQsIAotICAgIDk2NzEsIDExMjUsIDQzOTksIDEyNzQ3OSwgOTE3NjEwLCA5ODM0ODgsIDc2MzEsIDU0ODgsIDcxMjgsIDEyMDUzMiwgMCwgCi0gICAgNTQ5MSwgMCwgODkzNywgNDMwNDQsIDI2MDQsIDc0MTg3LCA1NDkwLCA0MzA0NiwgNTQ4OSwgNzIxMiwgMTE3NjgsIDQzMDQzLCAKLSAgICA2MzAwLCAwLCA3MTIyLCAwLCA0MzkwLCA0NTQsIDQxMzk3LCAwLCA5ODc1LCA3NTkzLCAxOTQ3OTEsIDkyMjc0LCAxMTg5MTMsIAotICAgIDcyMDcsIDAsIDY1OTAxLCAyMzk0LCAyNTc1LCAwLCAzNzQ2LCAxMTAxNiwgNjU3NTIsIDEyMDAzNywgMCwgNDM0MjMsIAotICAgIDEyODY4MywgMTE5ODksIDAsIDAsIDAsIDAsIDAsIDgyNDksIDEyODE3MiwgMCwgNzg1MzEsIDY2NDAsIDc0ODA2LCAyNTk4LCAKLSAgICA1MTMsIDAsIDY1ODYsIDg2NTYsIDAsIDEyMDcxMCwgNjUwMDgsIDAsIDE5NDc4NCwgMTk0OTg5LCAxOTQ3OTUsIDk4MzQ3MywgCi0gICAgOTI1MTUsIDY4NDc1LCA5Mzk3MywgMCwgMCwgNzg2MzcsIDEyNjQ3LCAwLCAxMjgwNDMsIDY5ODkzLCAxMDM2LCA5ODM0NzcsIAotICAgIDkyNDE5LCAxNzIzLCAxMjgwNTYsIDc0MjE3LCAwLCA0MTU3OSwgMjQ0NCwgMCwgMTA3MDUsIDczODc2LCA5ODM0NjksIAotICAgIDc0NDg2LCA5ODM0NjcsIDc0MCwgMTE5MjIyLCAxOTQ5NzgsIDE5NDk4NCwgMCwgNDIzOCwgMTEwNzEsIDk0NTksIDY4NDM3LCAKLSAgICA3ODE0MCwgNzgxMzksIDE5NDk4NSwgODEyMSwgMTA0MzgsIDc0NDg3LCA0MjU3NCwgMTMyODUsIDU1MjYzLCAxMTkwNywgCi0gICAgMTk1MDAwLCA1NjkwLCA5MjI1NSwgOTM5OTIsIDAsIDQzMTgxLCAxMzA5NSwgMCwgMTI3ODU3LCA2NDQ5OCwgMCwgOTUwNiwgCi0gICAgNjk3OCwgMTk0OTkzLCA3Nzk5MiwgMCwgMCwgMTk0OTkyLCAwLCAxMjc4NDUsIDExMjIsIDMxNywgMCwgMCwgMCwgMCwgCi0gICAgMTkyMCwgMCwgMTAxNzMsIDgyNywgMCwgMCwgNzgzNzgsIDEyMDEyNiwgNTIyMywgMTMwNCwgMCwgMTE5NTY0LCA1MjI2LCAKLSAgICAxMjYwMiwgOTQwNDQsIDAsIDkzMjksIDc3NTgsIDkyMzksIDQxMTczLCA1MjI0LCA1NDg3LCAxMjIyLCA1NjkyLCA0MTcyNSwgCi0gICAgNjkyMjksIDk2NzQsIDU2OTUsIDQxNzExLCA2NDYyNywgMTk5MDksIDAsIDc0NjA0LCA1NjkxLCAyODcsIDg2NiwgMjMzLCAKLSAgICAxMjc0OTAsIDk4MzQ0MSwgNDI4MTYsIDk0MDM2LCA2NTE0MCwgNzQ3OTcsIDAsIDg4MzAsIDY1NjgsIDQyMzAwLCAxMDUyNCwgCi0gICAgNDExNzUsIDk4MzQ0OCwgOTgzNDQ1LCA5ODM0NDYsIDUyOTYsIDk4MzQ0NCwgNDI0OTIsIDQzNDAyLCA5MjQ2NiwgMzMwMiwgCi0gICAgMCwgMCwgNjUxNiwgNjUxNSwgNjUxNCwgNjUxMywgNjUxMiwgMCwgNzg1NiwgODY5MCwgMCwgMCwgMTIxMjIsIDExOTYwMiwgCi0gICAgNDM5NzYsIDAsIDE3ODUsIDY5OTI1LCA2ODYyMiwgNjUxNTMsIDE5NDgxMCwgNTEzOCwgMCwgMCwgMTE4ODY5LCAwLCA0NTQwLCAKLSAgICA0MTE4MSwgMCwgNjIwMCwgMCwgNTEzNCwgMCwgMzIyLCA0NjQzLCA1MTMyLCAwLCA2Mzg5LCAxMjg1MzMsIDUxNDMsIDAsIAotICAgIDg3OTAsIDEyODY5NCwgMCwgMTk0ODAyLCAwLCA4ODY5LCA2OTkxNiwgMCwgNDIwNjAsIDcxMzI2LCA5NjQ4LCAxOTQ4MDQsIAotICAgIDEyNzAxMiwgMTAyNzAsIDEwMjg2LCAxMDMxOCwgMTAzODIsIDQzNTI5LCA2NjQ3NywgMCwgMCwgNzQxNzAsIDAsIDMyMzQsIAotICAgIDAsIDAsIDc0Mzc2LCA0MzEzOSwgMTE4ODE1LCAxMjcwODQsIDEyMDYyNywgODc2NywgMCwgNzQ0ODksIDk2OTUsIDEyMDc0NiwgCi0gICAgNTIwMSwgMCwgNjIxNSwgMTI3MTQsIDYyMTQsIDEzMTAxLCAwLCAxOTQ5OTksIDY1MjY4LCAwLCAwLCAwLCAxMTAyNywgMCwgCi0gICAgMTAwNTksIDEwNTExLCA0MjA3NSwgOTc2NywgNzg5LCAxNzQ5LCA3ODg5MCwgMTI3MDcxLCA5ODM2NzAsIDMyMCwgMCwgCi0gICAgODY0NywgMCwgMzA0OSwgMCwgNjQ3MSwgNDIwNzEsIDQzMTU2LCA5OTI1LCAxMjczNTYsIDEyNzM1NSwgNjY0NzgsIDQ5NjAsIAorICAgIDEwMTgzLCA3NDYzNSwgMjYwOCwgMTQ3MCwgNzM5NjcsIDk0MDA4LCA2MjI3LCAwLCAxMjcxNzMsIDY1MjM2LCA5MTc4NzgsIAorICAgIDYxNjMsIDk4MzU1OCwgMTEzNzI4LCAxMjczMTQsIDAsIDAsIDg2MDMsIDAsIDExOTg2NiwgMzMwNiwgMTA4NzYsIDQzMzkyLCAKKyAgICAxMTk1NzMsIDEyNzkzMSwgNTc1MSwgMCwgNjIyMiwgMCwgMTI3NDY2LCAxMjA4NiwgNzQwMywgMTYwMCwgNjQzMDksIAorICAgIDY0OTM5LCAwLCA2NDc4MywgOTI2NTgsIDExMzEwLCAwLCA4ODgyLCAwLCAwLCAyNTcwLCA3MDIxLCAwLCAwLCA0MzExMCwgMCwgCisgICAgMTIzNCwgNjU0MCwgNjk3NCwgOTI3NTAsIDAsIDk4MzIxMSwgNTAwMiwgMCwgNDEyODYsIDY5OTQ2LCA3NDQ2NSwgNzEwNzQsIAorICAgIDQzNTg1LCAxMTM3MjAsIDY1NTEsIDk4MzM3MywgMTI4MjI5LCA5ODMyNzIsIDQxMjg5LCAxMjUxMzAsIDcxMDgwLCAKKyAgICAxMjc5NTgsIDg5NzcsIDYwMiwgMTIwODE0LCAwLCAxMjg3NzgsIDEyODY2MSwgMTk0ODkwLCA5ODMzNzUsIDQxMjc5LCAwLCAKKyAgICAwLCA5MTc3OTUsIDExMDgxLCA0MzYxNSwgMCwgMCwgMCwgOTgzNjEyLCAxMjcyNywgMCwgMCwgNzgzOTcsIDk0NzUsIDcxMTIsIAorICAgIDY1MTA1LCAwLCA5NjMzLCAxMDg4NiwgNDM1OTIsIDc4MzEsIDk4MzgyOSwgMTk0NTcxLCAwLCA3MzkxNSwgODA3NiwgCisgICAgNDMwNDgsIDgyOTAsIDgyOTEsIDQzMDUxLCA5MjU3MCwgMCwgMjU5NiwgNDM1ODQsIDAsIDEzMTEzLCAwLCAxMjc3NTcsIAorICAgIDIzOTMsIDcwNTgsIDkwODcsIDc0MDY3LCA2ODY3MywgNDE1NzQsIDc4MzM3LCA3MDQ5OCwgNDI5MDAsIDYzNzYsIDAsIDAsIAorICAgIDAsIDAsIDk4NTQsIDEyNzc0OCwgNjQ2OTYsIDczODc5LCAxMjgyMjAsIDEyMDc1MiwgNjk5NCwgMCwgMTcyMCwgMCwgMCwgMCwgCisgICAgNjUyOSwgNzA2MywgOTgzMTgyLCAzNzUxLCA5MTIwLCA5ODM0ODUsIDAsIDE3OTgsIDcwOSwgMCwgMTM1NCwgMTg3NiwgCisgICAgMTMxNTIsIDY1NTcsIDEyNDMwLCA4MTM3LCA5NDA5OCwgNjc3NTIsIDcwODUwLCAwLCAyNDUsIDEyODA5NywgMTE0NTYsIAorICAgIDQxMjMzLCA3MDcwLCAwLCA5NDA0NiwgNjEzNiwgNjgzMDQsIDY1Njc3LCA4NjgyLCA0MTIzNSwgOTI1OTUsIDQyMDQ1LCAKKyAgICA5ODA0LCAxMTg5NjMsIDQzMiwgMzU5NSwgMTI3OTAxLCA2NTQzNywgMCwgNzQ0NTUsIDQyMzk5LCA5ODMxMzYsIDAsIAorICAgIDEyODI3NCwgMCwgMTE5NjU4LCAxMjgxODQsIDAsIDAsIDc3ODk0LCA4Nzk3LCAwLCA5MDUyLCA2NDg4OCwgNzE2NywgMjM1NiwgCisgICAgOTUsIDc0Nzg0LCAxMDU4MCwgMCwgNDIyODYsIDkyMjMxLCA2NDY0MCwgNjk5OTksIDk0MTA5LCAxMjg2MjUsIDc0MTM3LCAKKyAgICA3MDAzNSwgMTAwNjMsIDEyNjUyLCAxMjE5OSwgNzQ2MjIsIDQzNDkyLCAyNTY2LCAxMTk3MSwgOTgzNzM3LCAwLCAxMDY1LCAKKyAgICAwLCAwLCA0MzQwMCwgMjU3NiwgNjY2OTYsIDY2ODE5LCAxMjg2MjQsIDQzNjA0LCAxMjc4OTEsIDAsIDMyMDEsIDUxNCwgCisgICAgNzQ1MDIsIDcwMDMyLCAyOTIxLCA0MzIxNSwgNjQ0OTMsIDU3NzIsIDEyOTY4LCA3MDA1NSwgMTk0OTQ0LCA3NDU4MCwgCisgICAgNDMzOTgsIDI1ODAsIDk4MzgxMCwgNDEzNDEsIDQxMjIzLCA2NTY0LCAxNDYzLCA0MTM0MiwgMCwgNTI5MywgNzAwMjAsIAorICAgIDk4MzE4NSwgMzczMywgMTEzNDYsIDAsIDEyMDU0LCAwLCA3NDA5OCwgNDI4MjcsIDE5NTA3NCwgMTMwOTEsIDAsIDAsIDAsIAorICAgIDkxNzkxNSwgMTI3OTYxLCAxMjcwMjUsIDAsIDc0ODIxLCA3MTEwNCwgNjYyOTUsIDkyNzY1LCAwLCAxMjc4NjUsIDEzMDkwLCAKKyAgICA2NjY0MywgMCwgMTI3MCwgMTEzMiwgNDIzNjAsIDAsIDc0MDk2LCA2NjY1NSwgNDI1NjksIDEyNzgyNCwgNjY4OTgsIAorICAgIDY0NzYxLCAwLCA0MTAyMSwgODUxMCwgNDI0MzIsIDAsIDExOTMxNywgMTk0NzgyLCAwLCA2NDQ5NiwgNzQxMDksIDcwMDMwLCAKKyAgICA5OTE1LCAwLCA5ODMyMTgsIDcwNjEsIDQxMzM2LCAzODU0LCA2OTcwMCwgMTMxNDEsIDY4NDEzLCA0MzQwMSwgNDIzMTksIAorICAgIDEzMDgyLCAxMjQ5NzYsIDcwNjcsIDY4MjIxLCAwLCAxMjczODMsIDEyNzE3MSwgMCwgMTIwNzQ1LCA3NDIwOSwgOTAyOSwgCisgICAgNDM1NDMsIDcwODM2LCAyMzUzLCA2MzA4LCAxMjkxNTQsIDc0NzkyLCAyNjExLCAxMTkxODYsIDY2ODgxLCAwLCA2NTA2MywgCisgICAgNDM2NjQsIDkyMzk5LCA2NjYyNywgMTI1MDkzLCA0NDg0LCA4NTA5LCAxMTg5NzYsIDExMDY2LCA2NTIzMywgMCwgNDEyMjQsIAorICAgIDQxMDE3LCAwLCAzNzQ3LCAxMDUyMiwgMCwgMCwgMTY5MSwgNDEyMjYsIDEyNzIxNCwgMTIxMDcsIDcxMDAsIDEwOTA1LCAKKyAgICA2NTAxMCwgMTI3Mjc1LCA2OTcsIDY2MDE4LCA5Mjg0LCA0MjQ0LCAwLCA5MzA1OCwgNzc4NjEsIDEzMTIxLCAxMjAwMzYsIDAsIAorICAgIDEyMDEwLCAxMjg1NzMsIDEyODIyMSwgMTI1MDE0LCAwLCAwLCAxMjcxOTMsIDY1ODE2LCA2ODExMSwgMCwgMTI3OTMzLCAKKyAgICA2NTY2OCwgOTIyNTcsIDY2MTgsIDM1NjIsIDY2MzY1LCAwLCA0MjIzNCwgMTI2NDgsIDc4MTEwLCA3MTIzLCA3MDAzOCwgCisgICAgNTc4NSwgOTE5OCwgOTc2NCwgNDEzMTYsIDY1ODc3LCA3MzgzLCAxMzIzMCwgNDEyOTksIDAsIDAsIDY4MzY1LCAxMjgyNTgsIAorICAgIDAsIDAsIDAsIDEzMTIyLCAwLCAxOTEsIDcwMDYwLCA4NTg1LCA4MDAwLCA2NDQxMSwgMTIwNjUyLCA0Mjg4OSwgNjQ4NTAsIAorICAgIDQxMDcyLCA0MTU3OCwgMCwgNDE1NzcsIDAsIDEwMDAyLCAxOTUwMjgsIDY1MzMsIDczODAyLCA0MTU3MCwgOTE3OTE5LCAKKyAgICA2ODMsIDM5NiwgNDE1ODAsIDY4MTQ2LCA5ODMwNjcsIDEyOTAxLCA0MzA1OCwgMCwgMzQzLCA3MTI5LCA0MjY4MCwgNDEzNjAsIAorICAgIDc4MTU0LCAwLCA0NzQzLCA2OTk4NywgMCwgNzQwNDAsIDc0MTA4LCA4NzQzLCAxNzI0LCAxNDMzLCAxMTkzMjIsIDAsIAorICAgIDM3MzksIDYyNjMsIDcxMzQ5LCAwLCAzOTY0LCA2NTkyLCAwLCA2ODI4OCwgNjYwNDAsIDAsIDQyNTY4LCA2OTgwNiwgCisgICAgMTI4MTEzLCAxNzc4LCAzOTU2LCAxMjg0NDMsIDQyMDcwLCA2NTYzLCA0MzA3NSwgOTAxOCwgOTQwMDYsIDk4MzM5NiwgCisgICAgMTIwNjcsIDQxMzEyLCA5Mjc2MywgNTU0NywgODkxNiwgMTI3OTY5LCAxMjg5NTAsIDgxNzUsIDAsIDI4NCwgODEwOCwgOTM0LCAKKyAgICAxMjgwMzksIDc0MDAxLCAxNzMsIDY2NDYwLCA3MTc0LCA5MjcwMywgMTE4ODIyLCAxNzUwLCAxMjg2ODYsIDQzOTQsIAorICAgIDY4MzY4LCAxODA3LCA5ODM4ODgsIDkyMjk4LCAwLCA1ODg5LCAwLCA3MTgwLCAwLCA2NzEyNywgMCwgNjcxMjYsIDQyNDcxLCAKKyAgICA2OTgyLCAxNzIxLCA0NDAyMiwgNzg5MSwgNDIyNDMsIDQyMTYwLCAyNTgzLCA0NTEyLCAxMTkzNjAsIDY1MjMwLCAxMjgxMDksIAorICAgIDAsIDAsIDM4NTUsIDE5NDk4NiwgMTE3NjcsIDAsIDAsIDc0Mjk1LCAwLCAwLCA5MjQxNiwgMzk3NSwgNjcxMjUsIDc0MDg3LCAKKyAgICAwLCAxMjY3MiwgMzc5OCwgMjcwMywgOTgzNTk5LCAwLCAyMTA5LCA5Nzc0LCAxMjc1LCAwLCAwLCA0MTA5NSwgMzk2MiwgCisgICAgNjgyNDIsIDI5MzIsIDQxMTAxLCAzOTU0LCA2NDU3LCA0NTEzLCA3NDUzNiwgMCwgNzM5OTQsIDczOTkyLCAxNDY4LCAKKyAgICAxMjAwMzMsIDk4MzA1NywgNDE4MDMsIDEyODIzMCwgNDE4NDYsIDEyNzI0NCwgNTUyMzgsIDc2MzMsIDQxODQ5LCA2ODM4NSwgCisgICAgNDMyMCwgMzIyNCwgMCwgOTI3NDEsIDY2MjgxLCA0MjUzMSwgNzQ1OTMsIDE1MTAsIDEyODM4NCwgODI1NiwgMCwgMTEzOTMsIAorICAgIDAsIDg4NzksIDEyODA3NSwgOTI0NzQsIDg3NzAsIDcyNDE2LCAwLCA3MjQxNSwgMTkxMCwgODY3MSwgNzgzNzQsIDQyODMsIAorICAgIDAsIDEyNzExNywgNjgzNjEsIDc4MzE4LCAyNjU0LCA3ODkzLCAxOTUwMDcsIDEyODI0MSwgMCwgNzIzOTQsIDY1MTA2LCAKKyAgICA0Mjc2MSwgMTI4NTcsIDQ1ODEsIDg0MTEsIDc4MzcyLCA3ODM3MSwgNzgzNzAsIDc4MzY5LCA3ODM2OCwgNzQ0NzUsIAorICAgIDk4MzQ0MiwgMCwgMTczMywgNDM5MiwgMjU2OCwgMTA3ODYsIDY5NjYxLCAwLCA4MTg0LCA0MTQ4NiwgMCwgNzM5NiwgNzExNiwgCisgICAgMCwgNjk3ODgsIDAsIDcxODUsIDc5NjUsIDExOTE0NCwgMCwgOTIzNDcsIDE5NTA2NiwgNDEzNTAsIDkxMjksIDAsIDAsIAorICAgIDIyOTQsIDY0NTAxLCA5MjQ4OSwgMCwgMTA0ODEsIDAsIDcwMDIyLCA3MTcxLCAwLCAzNDAsIDcxMTA1LCA5Mzk3MiwgCisgICAgNjczNjAsIDAsIDkyMjAwLCAxMjgyNDksIDEyNDk3OSwgNjc2NCwgMTI3NDg3LCAxMjgzOTMsIDAsIDkyNTA5LCAxMjg5NjIsIAorICAgIDY1MjAzLCAxMTM5MiwgMTE5MDk4LCAxMTkzNTksIDExOTA3MywgMzIxMCwgMCwgMCwgMTE4Nzk1LCAxMjc5NzYsIDk0MTAxLCAKKyAgICAxMjc0ODQsIDkxNzYxOSwgMTE5MTQ5LCAwLCAxMDA0MywgMCwgMTE4NiwgNDE1NzEsIDY5OTksIDYxNywgOTQ2NCwgCisgICAgMTI1MTIzLCAzNjc1LCA1MjA3LCA2NTA2MiwgNTIxMywgNzQ2MTYsIDI2MTcsIDQxMzQ4LCA0MTU2OCwgMTI4ODAzLCAzMjUzLCAKKyAgICAxMjA1MzUsIDAsIDg2MzAsIDEyODU0NCwgMCwgNTU5NiwgNTU0NSwgNzI4OCwgMjU4NiwgNjQ4ODcsIDk4MzY0NCwgNTIxNywgCisgICAgNzEzMzYsIDEyODY4NywgOTE3NjE0LCAwLCA2NDI5MywgNjgwOTgsIDI2MzUsIDkyNzYwLCAwLCA5ODM4NDYsIDAsIDkyNzQyLCAKKyAgICA3ODM1LCA3MDA0MCwgMTIwNzA3LCAxOTQ5ODgsIDkyMjg1LCA2NDU1OCwgMTI3MTIyLCAwLCA2NzA4MywgNjcwODUsIAorICAgIDcwMDk5LCAwLCA1Nzg0LCA5ODMxMDIsIDE5NTA1MCwgOTgzODEyLCA3MDAzMywgNDAxMSwgMTk0NTY1LCA2ODEwMSwgCisgICAgMTI0OTc4LCA3ODY0LCA0MjU0LCA2NTA5NSwgOTgzNDk2LCA1NjAwLCAzOTAzLCAxMjcwODMsIDEwNDQ3LCA1NTk4LCAxMjA3LCAKKyAgICAxMjA1MjEsIDY2Njg5LCAzNTAxLCA0MjU4MiwgNDM2MDAsIDEyOTA1NCwgMTI3MTAzLCAxMTI0LCA1NTk3LCAxOTQ3NzgsIAorICAgIDE5NDc3MiwgOTMyMSwgOTgzNDg0LCAxMTM3MDYsIDk4MzQ4MiwgNjc0MDAsIDE3MTksIDY4MzU2LCA2ODM1NCwgOTY3MSwgCisgICAgMTEyNSwgNDM5OSwgMTI3NDc5LCA2NjI3NCwgOTgzNDg4LCA3NjMxLCA1NDg4LCA3MTI4LCAxMjA1MzIsIDAsIDU0OTEsIAorICAgIDExODc5NywgODkzNywgNDMwNDQsIDI2MDQsIDc0MTg3LCA1NDkwLCA0MzA0NiwgNTQ4OSwgNzIxMiwgMTE3NjgsIDQzMDQzLCAKKyAgICA2MzAwLCAxOTQ4MzcsIDcxMjIsIDk4MzA5MCwgNDM5MCwgNDU0LCA0MTM5NywgMCwgOTg3NSwgNzU5MywgMTk0NzkxLCAKKyAgICA5MjI3NCwgMTE4OTEzLCA3MjA3LCAwLCA2NTkwMSwgMjM5NCwgMjU3NSwgMCwgMzc0NiwgMTEwMTYsIDY1NzUyLCA5Mjc1NywgCisgICAgMCwgNDM0MjMsIDEyODY4MywgMTE5ODksIDAsIDAsIDAsIDc4Mjk2LCAwLCA4MjQ5LCAxMjgxNzIsIDExMTA5LCA3ODUzMSwgCisgICAgNjY0MCwgNzQ4MDYsIDI1OTgsIDUxMywgMCwgNjU4NiwgODY1NiwgMCwgNjk3OTIsIDY1MDA4LCAxOTQ1OTcsIDcxMTExLCAKKyAgICA3ODM4MywgMTk0Nzk1LCAxMjc0NzQsIDkyNTE1LCA2ODQ3NSwgOTM5NzMsIDE5NDU4NCwgNjM3OTksIDc4NjM3LCAxMjY0NywgCisgICAgMCwgMTI4MDQzLCA2OTg5MywgMTAzNiwgMTk0OTgyLCA5MjQxOSwgMTcyMywgNjgyMTUsIDc0MjE3LCAwLCA0MTU3OSwgCisgICAgMjQ0NCwgMTIwNzIyLCAxMDcwNSwgNzM4NzYsIDk4MzQ2OSwgNzQ0ODYsIDk4MzQ2NywgNzQwLCAxMTkyMjIsIDE5NDk3OCwgCisgICAgMTk0OTg0LCAwLCA0MjM4LCAxMTA3MSwgOTQ1OSwgNjg0MzcsIDc4MTQwLCA3ODEzOSwgMTk0OTg1LCA4MTIxLCAxMDQzOCwgCisgICAgNzQ0ODcsIDQyNTc0LCAxMzI4NSwgNTUyNjMsIDExOTA3LCAxMjkxMDcsIDU2OTAsIDkyMjU1LCA5Mzk5MiwgMCwgNDMxODEsIAorICAgIDEzMDk1LCA3NzkyNSwgMTI3ODU3LCA2NDQ5OCwgMCwgOTUwNiwgNjk3OCwgNzAxNzYsIDc3OTkyLCAwLCAxMTM3NDMsIAorICAgIDc4Mzc5LCAwLCAxMjc4NDUsIDExMjIsIDMxNywgMCwgNzEwNTUsIDAsIDAsIDE5MjAsIDAsIDEwMTczLCA4MjcsIDAsIDAsIAorICAgIDc4Mzc4LCAxMTk2MDAsIDUyMjMsIDEzMDQsIDAsIDExOTU2NCwgNTIyNiwgMTI2MDIsIDk0MDQ0LCA1ODgwLCA5MzI5LCAKKyAgICA3NzU4LCA5MjM5LCA0MTE3MywgNTIyNCwgNTQ4NywgMTIyMiwgNTY5MiwgNDE3MjUsIDY5MjI5LCA5Njc0LCA1Njk1LCAKKyAgICA0MTcxMSwgNjQ2MjcsIDE5OTA5LCA3MTA3NywgNzQ2MDQsIDU2OTEsIDI4NywgODY2LCAyMzMsIDY4MTM4LCA5ODM0NDEsIAorICAgIDQyODE2LCA5NDAzNiwgNjUxNDAsIDc0Nzk3LCAxMjgxNTgsIDg4MzAsIDY1NjgsIDQyMzAwLCAxMDUyNCwgNDExNzUsIAorICAgIDEyNTAzMywgOTgzNDQ1LCA5ODM0NDYsIDUyOTYsIDk4MzQ0NCwgNDI0OTIsIDQzNDAyLCA5MjQ2NiwgMzMwMiwgMCwgCisgICAgNzQ4NTgsIDY1MTYsIDY1MTUsIDY1MTQsIDY1MTMsIDY1MTIsIDAsIDc4NTYsIDg2OTAsIDk4MzY4NiwgNzA4NzAsIDEyMTIyLCAKKyAgICAxMTk2MDIsIDQzOTc2LCAwLCAxNzg1LCA2OTkyNSwgNjg2MjIsIDY1MTUzLCAxOTQ4MTAsIDUxMzgsIDAsIDcxOTIyLCAKKyAgICAxMTg4NjksIDAsIDQ1NDAsIDQxMTgxLCAwLCA2MjAwLCAwLCA1MTM0LCA2OTk4MCwgMzIyLCA0NjQzLCA1MTMyLCAwLCAKKyAgICA2Mzg5LCAxMjg1MzMsIDUxNDMsIDAsIDg3OTAsIDEyODY5NCwgMTIwMTIxLCAxOTQ4MDIsIDcxMTY4LCA4ODY5LCA2OTkxNiwgCisgICAgOTMwNjksIDQyMDYwLCA3MTMyNiwgOTY0OCwgMTk0ODA0LCA3MTE3MCwgMTAyNzAsIDEwMjg2LCAxMDMxOCwgMTAzODIsIAorICAgIDQzNTI5LCA2NjQ3NywgMTk0ODAwLCAwLCA3NDE3MCwgMCwgMzIzNCwgNDM4MzUsIDAsIDc0Mzc2LCA0MzEzOSwgMTE4ODE1LCAKKyAgICAxMjcwODQsIDEyMDYyNywgODc2NywgNjgyMzEsIDc0NDg5LCA5Njk1LCA3MjQzOSwgNTIwMSwgMCwgNjIxNSwgMTI3MTQsIAorICAgIDYyMTQsIDEzMTAxLCAwLCAxOTQ5OTksIDY1MjY4LCA3NjYxLCAwLCAxMjg0NDQsIDExMDI3LCAxMjg1OTYsIDEwMDU5LCAKKyAgICAxMDUxMSwgNDIwNzUsIDk3NjcsIDc4OSwgMTc0OSwgNzg4OTAsIDY3MTE1LCA5ODM2NzAsIDMyMCwgMCwgODY0NywgCisgICAgOTgzNzA1LCAzMDQ5LCAwLCA2NDcxLCA0MjA3MSwgNDMxNTYsIDk5MjUsIDEyNzM1NiwgMTI3MzU1LCA2NjQ3OCwgNDk2MCwgCiAgICAgNTU0OSwgMTI3MzU5LCAxMjczNDYsIDg0ODUsIDQ2NzEsIDU0MTgsIDEyNzM1MCwgMzM1MSwgMTI3MDA2LCAxMjczNTEsIAogICAgIDEwNjEwLCA1NDE0LCAzMDY0LCA2MjEyLCA0Mjg2LCA1NDIxLCAxMjczNDQsIDk1NTQsIDAsIDk0MDQ4LCAxMjcxMDksIAogICAgIDY2NTMsIDEyODgxMSwgMCwgNjQ1MTAsIDYyMTMsIDEyODg1LCAwLCAxMTkwNDUsIDY0NzIwLCAwLCAxMjA3NTksIDczNzQxLCAKLSAgICAxMjYwMywgNzEzMSwgMTE0MzAsIDQ1NjYsIDc1MTgsIDkzMTcsIDM4MDEsIDEwMzQyLCAxMDQwNiwgMCwgMTE5MjU5LCAKLSAgICA0MjU3NiwgMCwgNTIwMCwgMTI2NjExLCA5MTc5NDgsIDAsIDkxODMsIDEyNzM2MSwgNzQ0NTgsIDczODI1LCAzOTUsIDU0ODIsIAotICAgIDUxOTgsIDQzNDksIDEwMzkwLCA3NDIwMiwgNTE5NiwgNDMyMjQsIDYxMTMsIDQyMDA5LCA1MjA1LCAwLCA0MzMwNywgMCwgCi0gICAgMTE4OTczLCAwLCAxMjEzNCwgMCwgMCwgMTE4ODQzLCA5MTI2LCA0MzUsIDk4MzYyNCwgMTIwMTQsIDEwMzc3LCA4MDkzLCAKLSAgICA5MDc5LCAzMjAzLCAxOTIsIDY1MTA5LCAzMzg1LCAwLCA2NDQzMCwgNTM4MywgMTAyOTQsIDEwMzI2LCAxMjgxNzgsIDU3MzgsIAotICAgIDk4MzIxNSwgMzMzNiwgNzgzNTUsIDUzNjEsIDM2MjMsIDQxMTU5LCAwLCA2ODExMiwgNzg3MiwgODU4MSwgMCwgMTI2MCwgCi0gICAgMzE0OSwgNTM1OSwgMTIwMTM0LCAwLCA3OTE0LCA1MzU3LCA5MjE3MCwgMTI4NjU5LCAyNjI0LCA1MzY0LCAwLCAxMTQzMSwgCi0gICAgMTIwMDMwLCA5MTAxLCAxMTA1OCwgNzgyODgsIDAsIDc4MjkzLCA0MjI3MSwgNzgyODksIDQyOTE3LCAxMjA3OTMsIDAsIAotICAgIDY1NTY2LCA2NzE3LCAxMDYxOSwgNDMzNjAsIDc4Mzg1LCA3ODM4NCwgMTE4MzIsIDc4MzgyLCA3ODM4MSwgNzgzODAsIAotICAgIDc4Mzc5LCA5MzE5LCA3MDk3LCAxMTkwNTUsIDc3OTA2LCAzMjMyLCA3MzgyNCwgNzQ1ODEsIDEyMDYzMiwgMCwgMCwgCi0gICAgNDE4ODksIDkyNDUzLCAwLCAxMTYxLCA0MTg5NSwgNzQxMDMsIDk3MDEsIDg2MjIsIDAsIDAsIDczODE5LCAxMjA1ODgsIAotICAgIDUwMTIsIDc3OTEyLCA0MTM2MiwgNjk4NjIsIDc4Mjk2LCAxMTkyMSwgMCwgMTE3NjksIDAsIDY4NjA5LCA0MTM2NCwgMCwgCi0gICAgNzQyMjgsIDQxMzUyLCA0MTM2MSwgMCwgNDEzNjYsIDAsIDMzNTYsIDExNjExLCA5MTcsIDY4NDIyLCAxMTk5MTUsIDcxMzQsIAotICAgIDgxOTksIDc4Mzg5LCAxMTk5MTcsIDY3NywgMTE5OTE2LCAwLCAxMTk5MzIsIDEyNzE2OSwgMCwgMCwgMCwgMzM0OSwgCi0gICAgNzQxMjUsIDcwMjIsIDg5MjcsIDQ3MzksIDAsIDU4MDIsIDAsIDg2MTUsIDAsIDAsIDQ5MSwgMTI4ODE5LCAxMDE5MCwgCi0gICAgMTIwNjk4LCA2NTgzNywgMTI4ODIwLCA4NDI2LCAxMTA5MiwgOTg5MSwgMCwgNDI0OTcsIDcxMTMsIDc1ODYsIDQyMzA1LCAKLSAgICAxMDg1MiwgMCwgMCwgNDYwNiwgNjg0NDgsIDkwOTUsIDc3NDEsIDEyNjg0LCA0MTg4NSwgMTA0NiwgNzEyNCwgMCwgMCwgCi0gICAgNTgxNSwgNTE3MSwgNjU1MzksIDY4NjEyLCA2OTMyLCA3NDI2NywgNDIzOTQsIDQxODc4LCA3NDg0OSwgMTIwNjIxLCAwLCAKLSAgICA1MTY5LCAxMTkzNSwgMCwgMCwgMzE3NSwgMTIwODIyLCAxNTM3LCAxMjA4MDQsIDUxNzYsIDg5MDUsIDQxMzYsIDQ4NzEsIAotICAgIDc4Mjg3LCAwLCA5ODMzLCAwLCAwLCAxMTI4LCA2NTkyMCwgMCwgOTcxMSwgNzA1NywgOTQwOCwgOTQwOSwgOTQxMCwgOTQxMSwgCi0gICAgMzY2MiwgOTQxMywgMzM3OCwgOTQxNSwgOTQxNiwgOTQxNywgOTQxOCwgNjMyMCwgOTQyMCwgOTQyMSwgNTg5NywgOTQyMywgCi0gICAgNTE2NSwgNTEyNiwgNDEzODUsIDAsIDQxMzg5LCA5MTc5MzgsIDg5NTUsIDMzNzQsIDk0MDAsIDk0MDEsIDcxMTksIDk0MDMsIAotICAgIDk0MDQsIDM1MDcsIDk0MDYsIDc2MjksIDk4MzYxNywgMTk5MjUsIDQyNjY5LCA2ODQ2MywgMTgzLCA0Mzk4NSwgMjYzMSwgMCwgCi0gICAgMTA2MjcsIDQxMTMwLCA3ODI2MCwgMzk5NiwgMCwgNzg3NzEsIDAsIDExOTMxMywgMTE5MzA3LCA3ODc2OCwgNjU4MCwgCi0gICAgNDMzMiwgNjQ4MjUsIDY2MzI5LCAxMDcyNiwgNjY2ODYsIDQxMTI1LCA1ODk5LCA0MTM2NSwgOTE3OTE4LCAxMjA4NSwgMCwgCi0gICAgNTc0LCA5MTc5MjIsIDc3ODI1LCA3MzgyOCwgNTQ0OCwgNDEwNTgsIDU0NDYsIDY5NzA5LCA0MTMyMiwgNDIyMTEsIDU0NDIsIAotICAgIDQxOTAsIDc3ODM0LCA3NzgzNSwgNTQ1MSwgNzc4MzMsIDM2MTYsIDc3ODI4LCA3NzgzNywgNzc4MzgsIDc3MDgsIDc3ODM2LCAKLSAgICAxMDg1OSwgNjU4NjcsIDEwMzQ1LCAxMDQwOSwgNDE5MSwgMCwgNzc4NDQsIDczODAwLCA0MjE4MSwgNzc4NDMsIDc3ODM5LCAKLSAgICAyMDYwLCAwLCA3MTExLCAxMTc4OCwgNjU1ODcsIDY4MTI5LCAxMDQxNSwgNzQxMDIsIDAsIDIwNSwgMCwgMTAzNTEsIAotICAgIDExOTA3NiwgMCwgOTg2MiwgNjU4OCwgNDMyNTcsIDY0Njk3LCA3Mzk5OCwgNDEzNTUsIDU1MDUsIDExOTE1NCwgNTUwMywgCi0gICAgODAyMSwgMCwgNzEyNSwgOTgxOSwgNDEzNTcsIDgwMTEsIDQyODg1LCA1NTA3LCAxMjA0NCwgOTI2MzYsIDAsIDEwMDI2LCAKLSAgICA1NDcyLCA3MTA5LCAxMTkxLCAxMzEwNiwgNTQ3MCwgMTAzMjksIDU0NzYsIDg5OTEsIDY2MzIyLCA2OTc3OCwgNzgyNjcsIAotICAgIDQyODc0LCA4NTUwLCA0Mjg3NiwgNTU5MiwgMjkxOSwgMCwgMjY3NSwgNTU5NSwgNzg0MTEsIDQzNzYyLCA0MzY3LCAwLCAwLCAKLSAgICA1NDc4LCA1OTA0LCA1NTk0LCAwLCA3NDE1MCwgNzI5MSwgNTU5MCwgNDM3NjEsIDEzMDY3LCAxMTg5MDksIDEyMDM3MiwgCi0gICAgOTgzMTA4LCA5NzMxLCA2OTczMSwgNjQ2MzMsIDc3ODU3LCA3Nzg1NCwgNzc4NTUsIDc3ODUyLCA3Nzg1MywgNzc4NTAsIAotICAgIDEwNzUwLCA0MzcxNCwgNzc4NTgsIDcxMzcsIDAsIDEyODI5NiwgMTI4ODcsIDEwNTUxLCAxOTQ1NjQsIDc3ODY2LCA3Nzg2NywgCi0gICAgNzc4NjQsIDc3ODY1LCA5OTI5LCA1MTk5LCA5OTM2LCAxMTIwLCA0MjM4NywgMCwgMTQ0NCwgOTQ4NiwgNzU1NCwgNjU4MzksIAotICAgIDU1MjUyLCA3Mzk3MiwgMTQ0MiwgMCwgNTg5NCwgNzAwNjksIDAsIDQxMTcxLCA5MjUxMSwgNzQzMTMsIDAsIDEzMTYyLCAwLCAKLSAgICAzMzM0LCAxOTUwMTAsIDExODgwMywgNzc4ODEsIDY2MDIyLCAwLCAwLCAxNjUxLCAxMjg3NzEsIDg4NjEsIDAsIDAsIDExNDIsIAotICAgIDAsIDgyNzEsIDAsIDk4MzA1OCwgMTI2NjQ1LCAxMjkwMywgMCwgNDAwMiwgNDM2MjYsIDEwNDQyLCAxMDY3NiwgMzM0NCwgMCwgCi0gICAgMCwgMTI5MjAsIDE5NDU2MCwgMCwgMCwgNjY2NDIsIDEyNzcsIDAsIDc4NzEsIDAsIDE5NDY4NiwgNzg4NTMsIDAsIDc4ODU0LCAKLSAgICAxMjAzNjAsIDAsIDExNzg0LCAwLCA3ODAxMiwgNDcwMCwgNjYzNjYsIDc4ODU4LCAxMjAzNTksIDExMDEyLCAwLCA3ODg1NiwgCi0gICAgOTI0MDAsIDc3ODc5LCA0OTczLCA4Nzg0LCA3Nzg3NywgNzQ4MDQsIDc3ODc0LCA3Nzg2OSwgNzc4NzEsIDQyNDQwLCAwLCAKLSAgICA0MzExOCwgMCwgNDIzNjQsIDY3NzQsIDY3NzMsIDkxNzU2MCwgMTIwMzY5LCAxMDM0NiwgMTA0MTAsIDc4ODU5LCA5MjQzLCAKLSAgICAyNDY0LCA3NDI2MywgNjEwOCwgMzM3MiwgMCwgNjI0NywgNDMxMTcsIDc0NTI2LCA3MTIxLCA3NDE2NiwgMCwgMTIwMzU1LCAKLSAgICA5MjUzNywgMCwgMCwgMTk1MDM0LCAwLCAwLCAwLCA3MDA4MywgMzM1NCwgMTk1MDM3LCA0MTkyLCA5Mjg5LCAxMTg5OTksIAotICAgIDQxMTkxLCAzODc2LCAwLCA3MDA2NywgMTIwNjYwLCA0MzY5NiwgNDMzODAsIDAsIDk4MzA5MSwgMCwgMCwgMTE2MDMsIAotICAgIDk4Mzk1NCwgMCwgNjU4OSwgMTI4NTg4LCAxOTQ2NzksIDAsIDAsIDk4MzcwMCwgMCwgMCwgNDI1NzIsIDEyODI2NCwgCi0gICAgMTA2MzAsIDc0ODI3LCAxOTYzLCAxMTYyMiwgMTI3MDk4LCAxMTY1NCwgMCwgNzU1MCwgMTA2ODYsIDU5MDMsIDAsIDc4MDA5LCAKLSAgICA0MTMyOSwgOTY2MiwgOTE3OTM3LCA2NDY5OCwgMzM2NiwgMTAzOTksIDAsIDU1NDIsIDExMDEzLCAxMjc5MjcsIDEyODMwMCwgCi0gICAgMCwgNzg2MjEsIDE5NDY3MiwgNjkyNSwgMCwgMCwgOTE3OTI5LCAwLCAxMTU2OCwgOTgzNjczLCA0MzM2NywgNjQ1NzksIAotICAgIDkxNzkzMCwgNzg1MiwgMCwgMCwgNjc1NCwgNjMxMiwgMCwgNjQ2NzIsIDY1Mjk2LCAwLCAxMTg5NTcsIDAsIDQxNiwgCi0gICAgMTIyOTYsIDY4NDU3LCA3MzgzNCwgNjgxNzcsIDExMDUwLCAxMDk4NCwgOTIyMDgsIDAsIDAsIDkyMTgyLCAwLCA5ODM2MDUsIAotICAgIDk1MzIsIDY2MzU1LCAwLCA5ODMyMzQsIDkxNzkyNSwgNjQzNDMsIDE5NTAzMiwgMTI4MjgxLCAxOTUwMzEsIDAsIDE5NTAzMCwgCi0gICAgMTk1MDU3LCAxMTQ0NSwgMCwgMjExMiwgMTk1MDU2LCAxMjg4MTQsIDEwMTg1LCAxMDIxLCAxMjgxMzAsIDk1MDcsIDEwMjEwLCAKLSAgICA3NDU0NCwgODAyMywgMTIwMCwgMTIyNDMsIDc4MDAxLCA1MjgyLCA3ODAwMywgOTYyNCwgMTE1NDUsIDAsIDEyMDQ5MywgCi0gICAgMzM0MywgNDQyNCwgMTEwNDcsIDE4ODUsIDQzMjY4LCAzODk2LCA3ODQ0NCwgNjY0OTcsIDI5NDcsIDM5MiwgNzg5NCwgCi0gICAgNDM5MSwgNjgxMzksIDk4MzA2MiwgMTMwNTksIDc0ODE2LCA3Nzk5OCwgMzM4MSwgNzk0MiwgMCwgNjkyMTksIDAsIDY0NzU3LCAKLSAgICAwLCAzOTEzLCAwLCAwLCA3ODIzNSwgNzA0NCwgMTI2NSwgMCwgNjMwOSwgNzA0NSwgNzE3NSwgNzA0NywgNzgyMzksIAotICAgIDExNzkxLCAwLCAwLCA4MjIxLCA3ODMwNywgNDE4NjQsIDAsIDAsIDAsIDAsIDE2NywgOTgzOTA2LCA3ODMwMSwgOTgzNjUzLCAKLSAgICA3NDIxMSwgNDE4OTcsIDY4NDc3LCAwLCA5MTc1ODMsIDk4MzYzNCwgOTQwNjUsIDI0OTMsIDAsIDExODgxMSwgMCwgMCwgCi0gICAgNjQzNTQsIDAsIDg3NzcsIDAsIDQwNiwgODg4NCwgMjM4NSwgMCwgOTI0NTAsIDAsIDkxNzU3MywgNDMwMzAsIDQyMDI3LCAKLSAgICAxMjExNCwgMCwgOTE3NTc5LCA2NDkzNiwgMTk0Njk1LCAwLCAxMjA2MjksIDEwNTYxLCAwLCA4MzY1LCAxMjA1MzksIAotICAgIDk4Mzc3NCwgNjU4NDEsIDEyMDc4NywgMTE2MDEsIDAsIDc0MTIxLCAwLCA5MTc1NzUsIDc4MzQsIDc0MTU5LCAwLCAKLSAgICA5MTc1NzQsIDEwMjk4LCA2NjI0LCA0OTA4LCA5MTc1OTYsIDE2MzksIDAsIDAsIDc0MTU3LCA2MzI3LCA2NzI0LCAwLCAKLSAgICAxMjgwODYsIDkyNTY2LCA2OTkxMCwgNDgxNywgNzg0NDYsIDE5NDc1OSwgOTI1MzYsIDcwNDMsIDk2MDAsIDExMDIyLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCA3NTQ4LCA2NDc5NCwgNDIwNTAsIDEyMjkxLCA1NTI4OSwgMTk0NzYxLCAxMjM0MywgNjU3LCAKLSAgICAxOTUwNTQsIDQyNzA1LCA0NDYxLCAxMTM0LCAxODM4LCA3ODQzOCwgMjA1NywgMCwgNDQ2OCwgMCwgMCwgMCwgNDQ1NiwgCi0gICAgNTIwNiwgMTA3MjAsIDAsIDQyNTIzLCAxMjc1MjAsIDAsIDAsIDkxNzU5NSwgNjU1NTAsIDI2MCwgNDgxNiwgNjc2NTgsIAotICAgIDEwNjg3LCAwLCA0ODIxLCA0NDY2LCAwLCAxOTUwNDMsIDQ4MTgsIDE5NTA0OCwgNDE0MDMsIDExOTk3NywgMCwgMCwgCi0gICAgNDE0MDYsIDQzMjczLCA3NDE2MCwgMTE5OTgzLCA3MzkzOSwgOTI2MzgsIDExOTk4NCwgMTE5OTc5LCA0MTQwNCwgMTE2NSwgCi0gICAgMTE5OTgwLCA0NDUxLCAxMzA4NywgMCwgMTEyODQsIDExOTk4NywgNzAwOTcsIDY1MTU1LCA0MzAxNCwgNTQzOSwgOTM2MywgCi0gICAgNzAwNzAsIDMzNzUsIDEyODg2OSwgNTkwMCwgOTM5OTAsIDc4ODksIDI3MjIsIDQyMjYyLCAwLCAwLCAxMjg3NzQsIDAsIAotICAgIDIyODIsIDAsIDEyNzgxMCwgMTE0MDEsIDk4MzgyMiwgMCwgNjg0NTksIDAsIDAsIDAsIDAsIDY1NDM4LCAwLCA3MjgwLCAKLSAgICAxMjc4ODcsIDAsIDEyNzM4MSwgNDg2OCwgODI5NywgMTE5OTY2LCAxMTg3OTgsIDAsIDAsIDQzMTYxLCAwLCA5MjM2MCwgMCwgCi0gICAgNTE4MiwgMCwgMTIwNTQyLCAwLCAwLCA0MjI2LCAxMTkyNDMsIDEyMTM1LCA1NzMyLCA0NDY0LCAwLCA3MTMzMCwgOTc3LCAKLSAgICA0NDU4LCAwLCAwLCA2NDc3MCwgNzQ4MzgsIDAsIDM0NCwgMCwgMTk0NzkwLCAxMzk1LCA2NDI3OSwgMCwgOTIyNDAsIDAsIAotICAgIDc4NiwgMCwgNDMxNzQsIDY0MzQwLCAwLCAxOTQ3NjcsIDEyMDcyMywgNDMwMjYsIDc2MTIsIDEwMTMyLCA2NDQxMywgCi0gICAgNjUwMjUsIDAsIDAsIDAsIDkzOTU2LCAwLCA2ODQ0NCwgMCwgOTI0MzcsIDAsIDExOTE2MCwgMTAyMDQsIDkyNjU2LCAwLCAKLSAgICAxMjc4MDksIDk4MzY0NCwgMTM5OSwgOTgzNjUyLCA2NTIxNywgMCwgODg1MiwgMTI4NTcxLCAyNDEsIDEyODc4MCwgNDkwNywgCi0gICAgMCwgOTgzNjM5LCA3OTMyLCA5NzI3LCAxMjg4NzMsIDc0MjU1LCA4NzQ4LCAwLCAwLCA5ODM2NDMsIDAsIDQyNzgwLCAwLCAwLCAKLSAgICAwLCA0MjE3LCAwLCA4NjUwLCAwLCAwLCAwLCA2OTkwMCwgMTE4ODcyLCA0MzA5OSwgMzk2NSwgMTE5MTE5LCA2NzE5LCAwLCAKLSAgICAxMzMwMCwgNzg0MzksIDkzOTcxLCA0MzA1NywgNjY1ODgsIDExODk5MSwgMCwgMCwgNzM4MTUsIDQ0MjAsIDAsIDY0MTAsIAotICAgIDc3NjAsIDAsIDAsIDAsIDAsIDAsIDcyOTQsIDAsIDAsIDAsIDkwNjYsIDAsIDExOTkzLCA0MzE4OCwgMjYyNiwgNzc2MiwgMCwgCi0gICAgMCwgMCwgOTI2MDEsIDQyODI1LCA0MTg1NCwgNTMwNCwgMCwgNzg1MTYsIDY5MTksIDg2MTksIDExOTY1NSwgMTAwMzgsIAotICAgIDY2NDU0LCA5NTkyLCA0Mjg1MSwgMTI2OTkzLCAxNTQyLCA5MjMwMywgMCwgMCwgMCwgMCwgNzQzMTEsIDc4NDk3LCAwLCAKLSAgICAxMDE4MSwgMCwgNDM2MjQsIDAsIDc3NzksIDAsIDEwMTk1LCA5NDc5LCA2MDI5LCAwLCA5MjI2OCwgOTY4OSwgMCwgNjU1NzcsIAotICAgIDg5OTMsIDY2MzU4LCAwLCA0MjM3OCwgMzM2OCwgNjA2LCAxMjcwMzAsIDc2OTcsIDY5MjM3LCA2OTc4NywgMjAzMCwgMCwgCi0gICAgNjAyNywgODM3MCwgNDMyMiwgMCwgNjUyMDcsIDAsIDk4MzMzOSwgOTgzMzM4LCA5ODMzMzcsIDk4MzMzNiwgMjczNSwgCi0gICAgNDI4MzEsIDc3OTM1LCAxMjcxMjAsIDc0ODY2LCA4ODgxLCAxMTkwNDcsIDAsIDAsIDczOTQ2LCAwLCAwLCAwLCA2ODE0MCwgCi0gICAgOTgzOTI4LCA5NTc2LCAxMjg4NzIsIDMzNDcsIDQxNjAsIDUxNTQsIDU1Mjg4LCAzNzk0LCA2NjU2NCwgODUzMCwgMTI3MDYzLCAKLSAgICA3NzA5LCA0MTExMiwgOTgzMTMyLCA2NjU2MCwgNDIwNDEsIDQ1NzIsIDEyODc2LCA2NjU2MSwgOTgzNzU4LCA2NzU4LCAKLSAgICA5ODM5MjYsIDE2MTUsIDU4NTUsIDgwOSwgMCwgOTIyODMsIDEyODMxNiwgMTI4MDA0LCA1Nzk5LCA5ODMzMjgsIDcwMTAwLCAKLSAgICA5ODMzMjYsIDcyNjAsIDk4MzMyNCwgNDMwMzEsIDY0NDI1LCA2NTEyOCwgNzg4MTksIDY0Mzg2LCA2NTI1NywgMCwgNjg2MTYsIAotICAgIDEyMDYwNywgOTM0NywgMTI4MDY3LCA2NTMyLCAwLCAwLCAwLCAxMjcwNjAsIDY1ODI4LCAwLCAyODMsIDY4NjY1LCA3ODgxMywgCi0gICAgNTMyLCA3ODY2MywgMCwgOTgzNzk2LCAxMjA2MDksIDAsIDMzNzAsIDAsIDExMzYxLCA1NDQzLCA3ODc3OCwgODE1MywgCi0gICAgNzM3NjcsIDAsIDEwNzQxLCAwLCAyMjk4LCAwLCA5ODM5MTcsIDY1NDk1LCA2NDcwNiwgOTgzMzE4LCA0MzM0NCwgOTgzMzE2LCAKLSAgICA3MTQ0LCA5NDY2LCA3ODg2NiwgOTgyNCwgOTgzMzExLCA5ODMzMTAsIDAsIDAsIDkxNSwgNDM0MjUsIDAsIDAsIDAsIDAsIAotICAgIDEyNzE3OCwgNDMyNjQsIDcwMDk2LCAwLCAwLCA0MzAzOCwgNzg4NjQsIDY3MzAsIDc4ODYyLCA2ODE2MSwgNjQ1NTAsIAotICAgIDUxODYsIDczNjAsIDEyNzgzNywgMCwgMTIxMDgsIDAsIDY1MTI0LCA0MzEyNywgNjYwNDMsIDAsIDYzMjYsIDQzMTA3LCAKLSAgICA3NzgyNiwgMCwgNDI1NjIsIDAsIDEyODgyMSwgMCwgMTI4NTIwLCAxMTQ4NSwgNjEwMywgMTI3MTIzLCA5ODMzMDUsIAotICAgIDExNzE4LCA5ODMzMDMsIDEyODg5LCA5MjY1NywgMTI3MTM3LCAwLCAwLCAwLCA1NTI0NSwgMCwgMTYzMCwgMTI4MjMyLCAKLSAgICA2NTQ4MywgMCwgMTI1NjUsIDAsIDY1NDc2LCAxMjAwMTMsIDAsIDExOTU1NCwgOTI4MywgNzcwMCwgOTE3NTM3LCA5NjkwLCAKLSAgICA2NTQ5OSwgMCwgNjQ1OTMsIDUxMiwgMzM3NiwgNjgyMTAsIDAsIDEyODY3NywgNzc4OTIsIDYzMiwgMTI5NDAsIDc3ODkxLCAKLSAgICA0MjUyOSwgNzg1ODcsIDAsIDU5NTcsIDExMDU5MywgODkyNiwgOTgzMjk5LCA5ODMyOTgsIDEyODI3MywgMTA3NDUsIAotICAgIDEwMTc0LCA3Mzc5LCA2NDU4MSwgNTM4NiwgMTIwNjg2LCAxMTcxMywgMTA2MzMsIDY5NzA4LCA1MDU2LCAwLCAwLCAwLCAKLSAgICAxMjA3NzMsIDAsIDk4MTIsIDAsIDQ0NjAsIDAsIDAsIDcxMzA3LCAxMjgwMzgsIDAsIDAsIDEyNzE3NCwgNjQyNzgsIAotICAgIDkyMzcwLCA0MzQ2NiwgMCwgMCwgNjQzODksIDI5NTMsIDczODc5LCAxODAxLCAxMjgzNSwgMTE5MDI5LCAwLCA3MzgyMywgMCwgCi0gICAgNjYzNzUsIDIwODUsIDcwMiwgNDI1NzksIDc3ODg0LCA3Nzg4NSwgMTMwNzQsIDc3ODgzLCA5ODMyODYsIDk4MzI4NSwgCi0gICAgMTI4NTcwLCAxMjEwNiwgOTgzMjgyLCA3NDIwNywgMTc1NSwgMTA0ODIsIDEyODYzLCA3Nzg5OCwgMTE2MywgMjk1MSwgCi0gICAgOTUyMiwgNzQwNzksIDc4MjY2LCA2NjYwNCwgMCwgMzM4NCwgNjkyMjcsIDEwNzAyLCA4MzAsIDc3OTAyLCA3Nzg5OSwgCi0gICAgNzc5MDAsIDg0NTEsIDAsIDAsIDAsIDY5NzM5LCAwLCAwLCAwLCAwLCAyOTA4LCAwLCA0MzM4NiwgNjQ5MDIsIDQyNDMsIDAsIAotICAgIDEyMjM5LCAwLCAwLCA0NDQxLCAwLCA5ODMyNzksIDczOTQwLCA2NDM1MiwgMTI3NTEzLCA5ODMyNzUsIDQxMSwgOTgzMjczLCAKLSAgICA5MTk5LCA5ODMyNzEsIDQwNTYsIDExODk5MiwgNDE4OTAsIDAsIDI3MzAsIDQxNjA0LCA5ODM5MzcsIDU0MjgsIDE5NDc0MywgCi0gICAgMzM2NCwgNDIyNjUsIDY0NDM3LCAxMjc5MzUsIDExODgxNiwgMTk0NzQyLCA5Njg0LCAyMTYsIDAsIDE0MDEsIDEyODA1MywgCi0gICAgNDQwMTIsIDAsIDAsIDkyNTg1LCA5MTU4LCA3Nzg0MiwgNjk5MDUsIDU3NjgsIDAsIDAsIDAsIDQ4NCwgMTk0NzM5LCAwLCAwLCAKLSAgICA2NTg5NSwgMCwgMCwgMzMzOCwgNzM5MzUsIDU3MiwgNzA0MSwgMjczNiwgNjc2MDUsIDk4MzI2MywgOTM5NjIsIDI3OTQsIAotICAgIDg4MDcsIDY0NDkxLCA3Nzg0NywgNTQzOCwgNTIyMiwgNTM4MSwgNDMxMTQsIDAsIDUxOTMsIDUxMjUsIDU0NTYsIDU1MDksIAotICAgIDc3ODQ2LCAxOTQ3NDcsIDk1MzQsIDAsIDAsIDAsIDM0MzAsIDAsIDAsIDc4NzE3LCAwLCA5ODEsIDAsIDQzMzAsIDczOTI5LCAKLSAgICAxMjA1MzYsIDE4MjQsIDEwOTA4LCAwLCA3MDM0LCA0MTY4MywgNjQ2MTcsIDAsIDczNzU0LCAzOTU3LCA2NDM1OCwgNjQ1NDcsIAotICAgIDEyODI1OSwgNjc0LCA2Mzk5MSwgOTgzMjQ5LCAyOTQ2LCA1MzU0LCA1MjUxLCA1MzI4LCA1MzA3LCAzNzU5LCAxMTQxMSwgCi0gICAgODM2NCwgNTEyMywgMTE5NjI4LCA1MjgxLCA1NDY5LCA1MTIxLCAxMTkyNDUsIDExODk5MywgMCwgNTEzMCwgMCwgMCwgCi0gICAgNzc5OTAsIDAsIDEyMDcyNiwgMTIyMSwgMjczMywgMTE3NDYsIDc3OTkxLCA1MjE2LCAwLCAwLCAwLCAwLCAzNDY4LCA3MDMzLCAKLSAgICA5MjMwLCA1OTM5LCAxOTUwNTIsIDAsIDAsIDEyMDY3NywgNjg0MDAsIDcyNzgsIDEwMzIxLCAxMDI4OSwgNjQ2MTMsIAotICAgIDEwMzg1LCA0MTcwNiwgMCwgMCwgOTgzNDEzLCAwLCAxMTczOSwgOTgzNDI2LCA0MTk4MSwgMCwgNTkzOCwgMCwgNDM3NjYsIAotICAgIDEyNDQ4LCA3NTc2LCAxMDQwMSwgMTAzMzcsIDczODUyLCAwLCAxMzA1NywgMCwgMTI2OTc2LCAwLCAxMDAwOSwgMCwgCi0gICAgNDE3MDMsIDk4MzYzOCwgMTIxNjUsIDAsIDAsIDk4ODUsIDAsIDgwNzcsIDAsIDEyNzkwOCwgMCwgMCwgMCwgOTI0NTcsIDAsIAotICAgIDQyMjAsIDEwNzI1LCAxMDQzMywgMCwgNjgzOTUsIDQ5ODcsIDY0NTE5LCAwLCAxMjgzNDAsIDAsIDAsIDAsIDEwOTcwLCAKLSAgICAxMTczMywgMCwgMTIwNzkyLCAwLCAxOTk0NCwgMCwgOTAwOSwgODU1MSwgOTIzNDUsIDExNDY4LCA2NDYzNiwgNzU3NSwgMCwgCi0gICAgMjcyNCwgMCwgMCwgMTIzMTMsIDExMDU5MiwgNTE1LCAxMTk5NDcsIDQyNzkxLCA2Mzk4NywgNzgyODYsIDExOTk0MywgCi0gICAgMTE5OTQwLCAxMTk5NDEsIDExOTkzOCwgOTc3NSwgNDA0NiwgNDU4OSwgNDUyMSwgNjg2MjksIDkxNDEsIDAsIDc4ODUwLCAKLSAgICAyNzQxLCA2NDM5OSwgNjE5NywgMTM3MCwgMCwgMCwgMCwgMCwgMCwgMCwgNjE4NCwgODYwNiwgMzMwMywgNDEzNzIsIAotICAgIDExNzg2LCA5NDczLCA2NjIwMywgNjYxNzcsIDkyNDQ2LCAxMTU5MywgNDMwMDcsIDQ0NzgsIDY2MTc4LCAwLCAwLCAyNzQ0LCAKLSAgICAwLCA0NDc3LCAxMTg5NjQsIDgxNCwgNDIwNjYsIDY2MTgzLCA2NjIwNCwgNDM3ODYsIDExOTk2MSwgNjYxOTgsIDQxODgwLCAKLSAgICA2NjE4OCwgMTE2MjMsIDc4MTQ4LCAxMTk1NSwgNjYxOTAsIDY2MTkxLCA0MTExMSwgNjYxODksIDczNzg4LCA3Nzg4LCAKLSAgICA0ODQ3LCAwLCAxMjc3NTksIDAsIDAsIDAsIDE1ODEsIDY1MzUsIDc4MTYxLCAxMjk1NCwgNDMwLCA3ODE2MCwgNTUyNTksIAotICAgIDc4MTU4LCAxMjgwMzYsIDUyNzgsIDQ5NDUsIDQyODgzLCA0OTUwLCA5ODM0MzgsIDY4NjI1LCA5ODM0MzYsIDcyNjksIDAsIAotICAgIDU5NjQsIDEyOTA4LCA5ODM1NTUsIDAsIDc0NzY0LCA3NDQ3NywgMTE5MTQ2LCAxOTQ5MzYsIDQ5NDksIDk4MzQyOSwgNDQzLCAKLSAgICA5ODM0MjcsIDQ5NDQsIDU0NjcsIDExOTYwMywgOTgzMjU0LCA2NTEzNywgNjA0NCwgNjUzOTIsIDAsIDQyMTMsIDAsIAotICAgIDQxMzAzLCAwLCAxOTQ5MzEsIDExOTk2MiwgNDEzMDYsIDczOTg0LCAyNjk4LCAxMjcxNTksIDAsIDEyMDcyLCAzMTkzLCAwLCAKLSAgICA0MTMwNCwgODI0LCAxMjg2NzYsIDEyMDkxLCA3ODg5MywgNzg4OTQsIDExOTgxNiwgNDY3MywgNjQ4MDQsIDQ2NzgsIAotICAgIDExOTgyMCwgMTE5ODE5LCA2NTA1OSwgMCwgNjczOSwgMCwgNTQ4MSwgMzQ5MCwgMTE5OSwgMTE5ODExLCA4MzU2LCA2OTk0NywgCi0gICAgMTE5ODMyLCA0Njc3LCAxMjY4OCwgMzEwMiwgMCwgNDY3MiwgNzgxNzMsIDc4MTc1LCA1NTMxLCA2ODM2NywgNDI1NzUsIAotICAgIDc4MTcwLCA3ODE2NiwgNDY3NCwgNDU0OCwgNDQwMDUsIDExOTk0OSwgNjg2NTgsIDExOTk0NiwgODAyNSwgNjg2MzAsIAotICAgIDEyNzAyNCwgMTg1NSwgOTgzNDEyLCA2ODY2OSwgOTgzNDEwLCA5MjQ0NSwgMTI3NTU0LCAwLCAxMjczMzksIDExOTY1MiwgCi0gICAgMjc0NSwgMTE3OTcsIDk4MzQxOCwgMTI4MTU5LCA5MjAyLCA0NjU0LCA5ODM0MTQsIDk4MzQxNiwgNjg2MzgsIDczOTkzLCAKLSAgICAxMDUyNSwgNDY0OSwgNjUyMDksIDk4MzQxNywgMCwgNDY0OCwgNDMwODAsIDk4MzQwNiwgOTgzNDA3LCA5ODM0MDQsIDYyNDYsIAotICAgIDY0OTUwLCA3ODI4LCA0NjUwLCA2Nzc3LCA2Nzc2LCA2Nzc1LCA0NjUzLCA3ODIyLCA3ODAwNSwgOTIzODQsIDQzMTg3LCAKLSAgICA4NjY5LCA5ODM0MTUsIDY4MjEsIDY1MDkzLCAwLCA3ODg4MSwgMjcxNiwgMCwgOTgzMDYwLCA5ODM0MTksIDAsIDY4MzY5LCAKLSAgICAxMjAwNTQsIDExMDYwLCA4NTQ3LCAyNzExLCA0MjE2NSwgNzgwMjcsIDc4MDI2LCA3OTkyLCAwLCAwLCA0NjYyLCA3ODAzMywgCi0gICAgNzgwMzIsIDkxNDksIDkxNDYsIDU5OSwgMjA4MSwgNzgwMzEsIDc4MDMwLCAxOTQ5NjIsIDQ2NTYsIDEwMTMwLCA2ODQ1MCwgCi0gICAgNzgxMSwgNDA5OTQsIDE5NDk2NSwgNjQxNCwgNTk2NywgNDY1OCwgMzcyNSwgNTcxMywgNTgxNCwgNDY2MSwgNDI0MzQsIAotICAgIDk4MzQxMSwgMCwgMCwgNjQ5MDQsIDkwMjYsIDEwODMzLCA3NDg2NCwgNzU0NywgNDg2NywgMCwgMTAwMDgsIDEwMjIyLCAKLSAgICAzMDU0LCAxOTQ5NTYsIDk3NDQsIDc4ODYwLCA3NjA1LCA0NjIyLCAxMTk2NTYsIDk4MzM5NSwgOTQwNzAsIDk4MzM5MywgCi0gICAgOTgzMzk0LCA5ODMzOTEsIDkwNDUsIDc4ODg4LCA0MjI1LCAxOTkyNiwgNzg4ODcsIDEyODgwLCA2NTMwNywgNDYxNywgCi0gICAgNzg4ODMsIDk4MzM4NiwgNDE3MzIsIDQ2MTYsIDEwNTE4LCAxMDQyMywgMTAzNTksIDk4MzM4MCwgNTk1OCwgMCwgOTgzNDMzLCAKLSAgICA0MjE1LCA5Nzg5LCA5MTc5NDEsIDQzMjEsIDQ2MjEsIDk4MzM4OSwgNDEzMTMsIDUyMiwgNTM2OCwgMCwgNjU4MDMsIDAsIAotICAgIDUzNjYsIDEyMjAxLCA1MzcyLCAwLCA5ODM0MDksIDAsIDc3MjAsIDczOTAsIDI2OTYsIDk4MzQwMCwgMCwgNDYzOCwgCi0gICAgOTgzNDA1LCAxNzkwLCA3ODI0MiwgNTk2NSwgNjQzNjMsIDY2NTY5LCA2ODY0NiwgMTI3ODMzLCA1Mzc2LCAxODM1LCA1MzM1LCAKLSAgICAxOTQ5NjYsIDEyODA4OSwgNDYzMywgMCwgNjgxMTksIDExODAsIDQ2MzIsIDEyODA5MywgNTM4NywgNTMzMywgMCwgMCwgCi0gICAgNDIwOTQsIDUzMzEsIDQ2MzQsIDExOTI4LCA5ODM1OTQsIDUzMzgsIDQ2MzcsIDEyODE3MCwgNTk3MSwgNDI0MTQsIDAsIAotICAgIDEyNjgsIDY1MDk3LCA0MjM2MSwgMCwgMCwgNzM4NTMsIDE0MjcsIDAsIDAsIDU5NzAsIDM0MzEsIDAsIDEwMzU4LCAxMDQyMiwgCi0gICAgNDc1OCwgOTgzMzc0LCAxNjA4LCAyNzM4LCAwLCAxMDQ1NSwgNDc1MywgNzQwMjYsIDExMzQ0LCA0MjIyLCA2MjQwLCA1MjMxLCAKLSAgICA3NDM4NCwgOTgzMzc4LCA2ODM3NywgNjI0OCwgOTgzMzYyLCA5ODMzNjMsIDk4MzM2MCwgNDIzMTgsIDkyNTgyLCA1MjI5LCAKLSAgICA0NzU3LCAwLCAwLCAyNzI4LCA0NzUyLCA2NDU2MywgNjUyMzUsIDUyMzQsIDAsIDEyODE0NSwgMCwgMTA3MTMsIDcxNjYsIDAsIAotICAgIDI2MjIsIDc0NjAsIDEyNzMwMiwgMCwgMCwgODk1NCwgNzQ3NjAsIDY1MTg5LCAyNjMyLCA0MjYxNywgMTAxMDgsIDEwMTEsIAotICAgIDU1NzQsIDE4NTMsIDI3MDksIDY1MTM5LCA1NTc3LCAwLCAwLCAxMTg4NzEsIDY4NjQxLCA4OTY1LCA3NjM1LCA0MjE3NywgCi0gICAgNTMxNiwgMCwgNTMxNCwgNjQ1MSwgNTU3MiwgNjY0NjQsIDUzMTIsIDAsIDU1MjUsIDUzMzAsIDUzMTksIDk4MzQyMCwgCi0gICAgOTgzODcyLCAxOTQ5MDcsIDQ0MDAzLCAwLCA5ODM0ODAsIDk4MzQyMywgMTIwNDk4LCAxMjc4NTEsIDE5NTAwOSwgOTgzODY1LCAKLSAgICA3NDAyMiwgOTgzNDIyLCA2NDYwOSwgNjg2NDMsIDEyMDYzNCwgOTgzNDg5LCA1NzIxLCA5ODM0MDEsIDU1MTksIDg2MzIsIAotICAgIDY2NDY1LCAxMTI2NywgNzM5NjEsIDkyMjc4LCA1NzIwLCA5ODMzNTIsIDE2OTIsIDQyMTksIDQ2MTAsIDg2OTYsIDQzMDUsIAotICAgIDAsIDQ2MDksIDQzNDc4LCA0NjE0LCA1NDEsIDk4MzM1NSwgNTI4NywgNTMwOSwgNTI4NSwgNjgzODksIDU5NjEsIDQ2NDcsIAotICAgIDU2LCA0MjE2LCAxMDU3NywgNDEzODEsIDYwMSwgNDYxMywgOTgzMzQ5LCA5ODMzNDYsIDc3ODQ5LCA0NjA4LCA2NDI2MCwgCi0gICAgNDExMjQsIDUxOTAsIDY3NjI4LCAwLCA2ODE0NSwgNzA4NiwgMCwgNjc5OTgsIDY3NjIwLCAwLCAyNzM0LCAxMTA3NCwgMCwgCi0gICAgNjc2MjcsIDQzNTkzLCAwLCA2NzYyNSwgNTk2MCwgMCwgODk5MiwgNDI1OTMsIDEyODI2MCwgMTc4MiwgNjc2MjIsIDY4MTE0LCAKKyAgICAxMjYwMywgNzEzMSwgMTExMDgsIDQ1NjYsIDc1MTgsIDkzMTcsIDM4MDEsIDEwMzQyLCAxMDQwNiwgMTI0OTM4LCAxMTkyNTksIAorICAgIDQyNTc2LCAwLCA1MjAwLCA5Mjk0NiwgMTI5MTQyLCA5ODM4OTUsIDkxODMsIDEyNzM2MSwgNzQ0NTgsIDY2MjgyLCAzOTUsIAorICAgIDU0ODIsIDUxOTgsIDQzNDksIDEwMzkwLCA3NDIwMiwgNTE5NiwgNDMyMjQsIDYxMTMsIDQyMDA5LCA1MjA1LCAxMjgzODMsIAorICAgIDQzMzA3LCAxMjgzNjksIDExODk3MywgNzA0NjcsIDEyMTM0LCAwLCAwLCAxMTg4NDMsIDkxMjYsIDQzNSwgOTgzNjI0LCAKKyAgICAxMjAxNCwgMTAzNzcsIDgwOTMsIDkwNzksIDMyMDMsIDE5MiwgNjUxMDksIDMzODUsIDEyNTA3NSwgNjQ0MzAsIDUzODMsIAorICAgIDEwMjk0LCAxMDMyNiwgMTI3MzA5LCA1NzM4LCA5ODMyMTUsIDMzMzYsIDc4MzU1LCA1MzYxLCAzNjIzLCA0MTE1OSwgMCwgCisgICAgNjgxMTIsIDc4NzIsIDg1ODEsIDAsIDEyNjAsIDMxNDksIDUzNTksIDEyMDEzNCwgMCwgNzkxNCwgNTM1NywgNzExOTAsIAorICAgIDc0MzM5LCAyNjI0LCA1MzY0LCAwLCAxMTQzMSwgMTIwMDMwLCA5MTAxLCAxMTA1OCwgNzgyODgsIDY3MTA3LCA3ODI5MywgCisgICAgNDIyNzEsIDc4Mjg5LCA0MjkxNywgNjcxMTEsIDEyOTE3OSwgNjU1NjYsIDY3MTcsIDEwNjE5LCA0MzM2MCwgNzgzODUsIAorICAgIDc4Mzg0LCAxMTgzMiwgNzgzODIsIDc4MzgxLCA3ODM4MCwgNjk4NjEsIDkzMTksIDcwOTcsIDExOTA1NSwgNzc5MDYsIAorICAgIDMyMzIsIDczODI0LCA3NDU4MSwgNzgwODcsIDAsIDcxMjA1LCA0MTg4OSwgOTI0NTMsIDAsIDExNjEsIDQxODk1LCA3NDEwMywgCisgICAgOTcwMSwgODYyMiwgMTI1MDI1LCAwLCA3MzgxOSwgMTIwNTg4LCA1MDEyLCA3NzkxMiwgNDEzNjIsIDY5ODYyLCA2ODUwNywgCisgICAgMTE5MjEsIDAsIDExNzY5LCAxMjg0NzcsIDY4NjA5LCA0MTM2NCwgMCwgNzQyMjgsIDQxMzUyLCA0MTM2MSwgMCwgNDEzNjYsIAorICAgIDAsIDMzNTYsIDExNjExLCA5MTcsIDY4NDIyLCAxMTk5MTUsIDcxMzQsIDgxOTksIDc4Mzg5LCAxMTk2MTgsIDY3NywgCisgICAgMTE5OTE2LCA5MTc4NzYsIDExOTkzMiwgMTI3MTY5LCAwLCAwLCAxMjUxMzYsIDMzNDksIDc0MTI1LCA3MDIyLCA4OTI3LCAKKyAgICA0NzM5LCA5MjU5OSwgNTgwMiwgMTk0ODc0LCA4NjE1LCAwLCAwLCA0OTEsIDc0NDAxLCAxMDE5MCwgMTIwNjk4LCA2NTgzNywgCisgICAgMTE5OTAwLCA4NDI2LCAxMTA5MiwgOTg5MSwgMCwgNDI0OTcsIDcxMTMsIDc1ODYsIDQyMzA1LCAxMDg1MiwgMCwgNDI2NDgsIAorICAgIDQ2MDYsIDY4NDQ4LCA5MDk1LCA3NzQxLCAxMjY4NCwgNDE4ODUsIDEwNDYsIDcxMjQsIDEyODYxMCwgMCwgNTgxNSwgNTE3MSwgCisgICAgNjU1MzksIDY4NjEyLCA2OTMyLCA3NDI2NywgNDIzOTQsIDQxODc4LCA3NDg0OSwgMTIwNjIxLCA3MjQyNCwgNTE2OSwgCisgICAgMTE5MzUsIDAsIDAsIDMxNzUsIDEyMDgyMiwgMTUzNywgMTIwODA0LCA1MTc2LCA4OTA1LCA0MTM2LCA0ODcxLCA3ODI4NywgCisgICAgMTIwNjYzLCA5ODMzLCAwLCA5ODMzNDEsIDExMjgsIDY1OTIwLCAwLCA5NzExLCA3MDU3LCA5NDA4LCA5NDA5LCA5NDEwLCAKKyAgICA5NDExLCAzNjYyLCA5NDEzLCAzMzc4LCA5NDE1LCA5NDE2LCA5NDE3LCA5NDE4LCA2MzIwLCA5NDIwLCA5NDIxLCA1ODk3LCAKKyAgICA5NDIzLCA1MTY1LCA1MTI2LCA0MTM4NSwgMCwgNDEzODksIDEyNzk2MywgODk1NSwgMzM3NCwgOTQwMCwgOTQwMSwgNzExOSwgCisgICAgOTQwMywgOTQwNCwgMzUwNywgOTQwNiwgNzYyOSwgOTgzNjE3LCAxOTkyNSwgNDI2NjksIDY4NDYzLCAxODMsIDQzOTg1LCAKKyAgICAyNjMxLCA3MDgxMSwgMTA2MjcsIDQxMTMwLCA3ODI2MCwgMzk5NiwgMCwgNzg3NzEsIDAsIDExOTMxMywgMTE5MzA3LCAKKyAgICA3ODc2OCwgNjU4MCwgNDMzMiwgNjQ4MjUsIDY2MzI5LCAxMDcyNiwgNjY2ODYsIDQxMTI1LCA1ODk5LCA0MTM2NSwgCisgICAgMTI3MjA2LCAxMjA4NSwgNjY5MDIsIDU3NCwgMTI2NzA1LCA3NzgyNSwgNzM4MjgsIDU0NDgsIDQxMDU4LCA1NDQ2LCAKKyAgICA2NTkzMiwgNDEzMjIsIDQyMjExLCA1NDQyLCA0MTkwLCA3NzgzNCwgNzc4MzUsIDU0NTEsIDc3ODMzLCAzNjE2LCA3NzgyOCwgCisgICAgNzc4MzcsIDc3ODM4LCA3NzA4LCA3NzgzNiwgMTA4NTksIDY1ODY3LCAxMDM0NSwgMTA0MDksIDQxOTEsIDEyMDM3OCwgCisgICAgNzc4NDQsIDczODAwLCA0MjE4MSwgNzc4NDMsIDc3ODM5LCAyMDYwLCAwLCA3MTExLCAxMTc4OCwgNjUzNzYsIDY4MTI5LCAKKyAgICAxMDQxNSwgNzQxMDIsIDAsIDIwNSwgMCwgMTAzNTEsIDY3MTUxLCAwLCA5ODYyLCA2NTg4LCA0MzI1NywgNjQ2OTcsIAorICAgIDczOTk4LCA0MTM1NSwgNTUwNSwgMTE5MTU0LCA1NTAzLCA4MDIxLCAxMjgwMzUsIDcxMjUsIDk4MTksIDQxMzU3LCA4MDExLCAKKyAgICA0Mjg4NSwgNTUwNywgMTIwNDQsIDkyNjM2LCAwLCAxMDAyNiwgNTQ3MiwgNzEwOSwgMTE5MSwgMTMxMDYsIDU0NzAsIAorICAgIDEwMzI5LCA1NDc2LCA4OTkxLCA2NjMyMiwgNjk3NzgsIDExMTMzLCA0Mjg3NCwgODU1MCwgNDI4NzYsIDU1OTIsIDI5MTksIAorICAgIDAsIDI2NzUsIDU1OTUsIDc4NDExLCA0Mzc2MiwgNDM2NywgMTI3OTEyLCAwLCA1NDc4LCA1OTA0LCA1NTk0LCAwLCA3NDE1MCwgCisgICAgNzI5MSwgNTU5MCwgNDM3NjEsIDEzMDY3LCAxMTg5MDksIDEyMDM3MiwgOTgzMTA4LCA5NzMxLCA2OTczMSwgNjQ2MzMsIAorICAgIDc3ODU3LCA3Nzg1NCwgNzEyMTcsIDc3ODUyLCA3MTIyNywgNzc4NTAsIDEwNzUwLCA0MzcxNCwgNzc4NTgsIDcxMzcsIDAsIAorICAgIDY2OTA5LCAxMjg4NywgMTA1NTEsIDE5NDU2NCwgNzc4NjYsIDc3ODY3LCA3Nzg2NCwgNzc4NjUsIDk5MjksIDUxOTksIAorICAgIDk5MzYsIDExMjAsIDQyMzg3LCAwLCAxNDQ0LCA5NDg2LCA3NTU0LCA2NTgzOSwgNTUyNTIsIDczOTcyLCAxNDQyLCAKKyAgICAxMjkwODAsIDU4OTQsIDcwMDY5LCAxMjg2NzIsIDQxMTcxLCA5MjUxMSwgNzAzNTgsIDEzMjMsIDEzMTYyLCAwLCAzMzM0LCAKKyAgICAxOTUwMTAsIDExODgwMywgNzc4ODEsIDY2MDIyLCAwLCA2OTc3MCwgMTY1MSwgMTI4NzcxLCA4ODYxLCAwLCAwLCAxMTQyLCAKKyAgICA5ODM4NjksIDgyNzEsIDAsIDk4MzA1OCwgMTI2NjQ1LCAxMjkwMywgMCwgNDAwMiwgNDM2MjYsIDEwNDQyLCAxMDY3NiwgCisgICAgMzM0NCwgMTI4OTEwLCAxOTQ3ODcsIDEyOTIwLCAxOTQ1NjAsIDcwNDk3LCAxOTQ2ODcsIDY2NjQyLCAxMjc3LCA2Njg3NiwgCisgICAgNzg3MSwgNjcxMDYsIDE5NDY4NiwgNzg4NTMsIDEyOTA2OCwgNzg4NTQsIDEyMDM2MCwgOTgzNDkwLCAxMTc4NCwgMCwgCisgICAgNzgwMTIsIDQ3MDAsIDQzODU2LCA3ODg1OCwgMTIwMzU5LCAxMTAxMiwgMCwgNzg4NTYsIDkyNDAwLCA3Nzg3OSwgNDk3MywgCisgICAgODc4NCwgNzc4NzcsIDc0ODA0LCA3Nzg3NCwgNzc4NjksIDc3ODcxLCA0MjQ0MCwgNzEyMjUsIDQzMTE4LCAwLCA0MjM2NCwgCisgICAgNjc3NCwgNjc3MywgOTE3NTYwLCAxMjAzNjksIDEwMzQ2LCAxMDQxMCwgNzg4NTksIDkyNDMsIDI0NjQsIDc0MjYzLCA2MTA4LCAKKyAgICAzMzcyLCAwLCA2MjQ3LCA0MzExNywgNzAzNjQsIDcxMjEsIDc0MTY2LCAxMjQ5NzMsIDEyMDM1NSwgOTI1MzcsIDE5NTAzNSwgCisgICAgMCwgMTk1MDM0LCA3MDM1NywgMTE5OTIyLCAwLCA2NzExOSwgMzM1NCwgMTk1MDM3LCA0MTkyLCA5Mjg5LCAxMTg5OTksIAorICAgIDQxMTkxLCAzODc2LCAwLCA3MDA2NywgMTIwNjYwLCA0MzY5NiwgNDMzODAsIDAsIDk4MzA5MSwgMCwgOTgzNzU4LCAxMTYwMywgCisgICAgOTgzOTU0LCAwLCA2NTg5LCAxMjg1NjQsIDE5NDY3OSwgMTI4OTYxLCAwLCA5ODM3MDAsIDAsIDEyOTA4NywgNDI1NzIsIAorICAgIDEyODI2NCwgMTA2MzAsIDc0ODI3LCAxOTYzLCAxMTYyMiwgMTI3MDk4LCAxMTY1NCwgMCwgNzU1MCwgMTA2ODYsIDU5MDMsIAorICAgIDY3MDk4LCA3ODAwOSwgNDEzMjksIDk2NjIsIDkxNzkzNywgNjQ2OTgsIDMzNjYsIDEwMzk5LCA5MTc5MzgsIDU1NDIsIAorICAgIDExMDEzLCAxMjc5MjcsIDcxMDYyLCAxOTQ2NzcsIDc4NjIxLCA2NzA5MCwgNjkyNSwgMCwgMCwgOTI4OTIsIDcxODU2LCAKKyAgICAxMTU2OCwgOTgzNjczLCA0MzM2NywgNjQ1NzksIDkxNzkzMCwgNzg1MiwgMTExMzgsIDAsIDY3NTQsIDYzMTIsIDc3OTU2LCAKKyAgICA2NDY3MiwgNjUyOTYsIDAsIDExODk1NywgMCwgNDE2LCAxMjI5NiwgNjg0NTcsIDczODM0LCA2ODE3NywgMTEwNTAsIAorICAgIDEwOTg0LCA5MjIwOCwgMCwgMCwgOTIxODIsIDAsIDk4MzYwNSwgOTUzMiwgNjYzNTUsIDAsIDk4MzIzNCwgOTE3OTI1LCAKKyAgICA2NDM0MywgMTk1MDMyLCA5Mjc0NCwgMTk1MDMxLCAwLCAxOTUwMzAsIDE5NTA1NywgMTE0NDUsIDY4Mjk0LCAyMTEyLCAKKyAgICAxMjg3NDEsIDEyODgxNCwgMTAxODUsIDEwMjEsIDEyODEzMCwgOTUwNywgMTAyMTAsIDc0NTQ0LCA4MDIzLCAxMjAwLCAKKyAgICAxMjI0MywgNzgwMDEsIDUyODIsIDc4MDAzLCA5NjI0LCAxMTU0NSwgMCwgMTIwNDkzLCAzMzQzLCA0NDI0LCAxMTA0NywgCisgICAgMTg4NSwgNDMyNjgsIDM4OTYsIDc4NDQ0LCA2NjQ5NywgMjk0NywgMzkyLCA3ODk0LCA0MzkxLCA2ODEzOSwgOTgzMDYyLCAKKyAgICAxMzA1OSwgNzQ4MTYsIDc3OTk4LCAzMzgxLCA3OTQyLCAwLCA2OTIxOSwgMCwgMzU1OCwgMCwgMzkxMywgNzA0MjksIDAsIAorICAgIDc4MjM1LCA3MDQ0LCAxMjY1LCAwLCA2MzA5LCA3MDQ1LCA3MTc1LCA3MDQ3LCA3ODIzOSwgMTE3OTEsIDAsIDkxNzU4NywgCisgICAgODIyMSwgNzgzMDcsIDQxODY0LCAwLCAwLCA2NzA3NSwgNzEyMTksIDE2NywgOTgzOTA2LCA3ODMwMSwgOTgzNjUzLCAKKyAgICA3NDIxMSwgNDE4OTcsIDY3MDcyLCAwLCA5MTc1ODMsIDkxNzU5NCwgNjcwNzYsIDI0OTMsIDAsIDExMzc3OCwgMCwgOTIzMzEsIAorICAgIDY0MzU0LCAwLCA4Nzc3LCAwLCA0MDYsIDg4ODQsIDIzODUsIDc4MjEwLCA5MjQ1MCwgMCwgOTE3NTczLCA0MzAzMCwgCisgICAgNDIwMjcsIDEyMTE0LCAwLCAxMjg1OTcsIDY0OTM2LCAxOTQ2OTUsIDAsIDEyMDYyOSwgMTA1NjEsIDEyODk0MCwgODM2NSwgCisgICAgMTIwNTM5LCA5ODM3NzQsIDY1ODQxLCAxMjA3ODcsIDExNjAxLCAwLCA3NDEyMSwgMTI4ODk2LCA5MTc1NzUsIDc4MzQsIAorICAgIDc0MTU5LCAwLCA5MTc1NzQsIDEwMjk4LCA2NjI0LCA0OTA4LCA5MTc1OTYsIDE2MzksIDAsIDAsIDcwODAzLCA2MzI3LCAKKyAgICA2NzI0LCAxMjQ5NTMsIDEyODA4NiwgOTI1NjYsIDY5OTEwLCA0ODE3LCAxMTA4NywgMTk0NzU5LCA5MjUzNiwgNzA0MywgCisgICAgOTYwMCwgMTEwMjIsIDAsIDAsIDAsIDAsIDAsIDczOTU0LCA3NTQ4LCA2NDc5NCwgNDIwNTAsIDEyMjkxLCA1NTI4OSwgCisgICAgMTI4NzgxLCAxMjM0MywgNjU3LCA2NzExMCwgNDI3MDUsIDQ0NjEsIDExMzQsIDE4MzgsIDc4NDM4LCAyMDU3LCAwLCA0NDY4LCAKKyAgICA5Mjg5MSwgMTk0OTQ1LCAwLCA0NDU2LCA1MjA2LCAxMDcyMCwgMCwgNDI1MjMsIDEyNzUyMCwgMCwgOTMwNDQsIDkxNzU5NSwgCisgICAgNjU1NTAsIDI2MCwgNDgxNiwgNjc2NTgsIDEwNjg3LCAwLCA0ODIxLCA0NDY2LCAwLCAxOTUwNDMsIDQ4MTgsIDEyOTA1OCwgCisgICAgNDE0MDMsIDExOTk3NywgNzI0MjIsIDEyODQ1OCwgNDE0MDYsIDQzMjczLCA3NDE2MCwgNjk4MDUsIDczOTM5LCA5MjYzOCwgCisgICAgMTE5OTg0LCAxMTk5NzksIDQxNDA0LCAxMTY1LCAxMTk5ODAsIDQ0NTEsIDEzMDg3LCAwLCAxMTI4NCwgMTE5OTg3LCAKKyAgICA3MDA5NywgNjUxNTUsIDQzMDE0LCA1NDM5LCA5MzYzLCA3MDA3MCwgMzM3NSwgMTI4NDQ4LCA1OTAwLCA5Mzk5MCwgNzg4OSwgCisgICAgMjcyMiwgNDIyNjIsIDAsIDAsIDY3MDc4LCAxMjg0NTEsIDIyODIsIDAsIDEyNzgxMCwgMTE0MDEsIDY3MDc5LCAwLCAKKyAgICA2ODQ1OSwgMTI1MDI4LCA5ODMxNDEsIDAsIDcwMTUwLCA2NTQzOCwgMCwgNzI4MCwgMTI3ODg3LCAwLCA3MDE0NiwgNDg2OCwgCisgICAgODI5NywgMTE5OTY2LCA3MDE0OCwgMCwgMTI4NzQ0LCA0MzE2MSwgNzAxNDQsIDkyMzYwLCAwLCA1MTgyLCAwLCAxMjA1NDIsIAorICAgIDAsIDAsIDQyMjYsIDcwMTg2LCAxMjEzNSwgNTczMiwgNDQ2NCwgMCwgNzEzMzAsIDk3NywgNDQ1OCwgNDM4MjcsIDkyOTcxLCAKKyAgICA2NDc3MCwgNzQ4MzgsIDAsIDM0NCwgMCwgMTk0NzkwLCAxMzk1LCA2NDI3OSwgMCwgOTIyNDAsIDAsIDc4NiwgMTI2OTk1LCAKKyAgICA0MzE3NCwgNjQzNDAsIDAsIDE5NDc2NywgNzM5NzEsIDQzMDI2LCA3NjEyLCAxMDEzMiwgNjQ0MTMsIDY1MDI1LCAwLCAwLCAKKyAgICAwLCA5Mzk1NiwgMCwgNjg0NDQsIDAsIDkyNDM3LCAwLCAxMTkxNjAsIDEwMjA0LCA5MjY1NiwgMCwgMTI3ODA5LCAxMjg0MzEsIAorICAgIDEzOTksIDk4MzY1MiwgNjUyMTcsIDk4MzYzNywgODg1MiwgMTI4NTcxLCAyNDEsIDEyODc4MCwgNDkwNywgMTI4NDI3LCAKKyAgICA5ODM2MzksIDc5MzIsIDk3MjcsIDEyODQ2MywgNzQyNTUsIDg3NDgsIDAsIDAsIDk4MzYzMSwgMCwgNDI3ODAsIDAsIAorICAgIDExMzY3NywgMCwgNDIxNywgOTMwMzQsIDg2NTAsIDAsIDEyMDY3MywgMCwgNjk5MDAsIDExODg3MiwgNDMwOTksIDM5NjUsIAorICAgIDExOTExOSwgNjcxOSwgMTI4MDA3LCAxMzMwMCwgNzg0MzksIDkzOTcxLCA0MzA1NywgNjY1ODgsIDExODk5MSwgNjYyODksIAorICAgIDAsIDczODE1LCA0NDIwLCA5ODMxMjAsIDY0MTAsIDc3NjAsIDAsIDcwNDY4LCAxMjg3NTIsIDEyMDY4NCwgMCwgNzI5NCwgMCwgCisgICAgNDM4NjksIDEyNTAzMiwgOTA2NiwgMCwgMTE5OTMsIDQzMTg4LCAyNjI2LCA3NzYyLCAwLCAxMTg4MzEsIDkyODk5LCAKKyAgICA5MjYwMSwgNDI4MjUsIDQxODU0LCA1MzA0LCAwLCA3ODUxNiwgNjkxOSwgODYxOSwgMTE5NjU1LCAxMDAzOCwgNjY0NTQsIAorICAgIDk1OTIsIDQyODUxLCAxMjY5OTMsIDE1NDIsIDkyMzAzLCAxMjg4MTksIDAsIDEyNzMyNywgOTgzNTk3LCA3NDMxMSwgCisgICAgNzg0OTcsIDAsIDEwMTgxLCAxMjQ5MzcsIDQzNjI0LCAxMjkwNjAsIDc3NzksIDkxNzU1MSwgMTAxOTUsIDk0NzksIDYwMjksIAorICAgIDEyODM3NCwgOTIyNjgsIDIyMjQsIDAsIDY1NTc3LCA4OTkzLCA2NjM1OCwgMCwgNDIzNzgsIDMzNjgsIDYwNiwgMTI3MDMwLCAKKyAgICA3Njk3LCA2OTIzNywgNjk3ODcsIDIwMzAsIDcwMTA2LCA2MDI3LCA4MzcwLCA0MzIyLCAwLCA2NTIwNywgMCwgNzAzODYsIAorICAgIDEyNzkwMywgOTgzMzM3LCA5ODMzMzYsIDI3MzUsIDQyODMxLCA3NzkzNSwgNzA0MzksIDc0ODY2LCA4ODgxLCAxMTkwNDcsIAorICAgIDAsIDcwNDMzLCA3Mzk0NiwgMCwgMCwgMCwgNjgxNDAsIDk4MzkyOCwgOTU3NiwgOTI3ODMsIDMzNDcsIDQxNjAsIDUxNTQsIAorICAgIDU1Mjg4LCAzNzk0LCA2NjU2NCwgODUzMCwgMTI3MDYzLCA3NzA5LCA0MTExMiwgOTgzMTMyLCA2NjU2MCwgODM4MSwgNDU3MiwgCisgICAgMTI4NzYsIDY2NTYxLCAxMjg5MjEsIDY3NTgsIDk4MzkyNiwgMTYxNSwgNTg1NSwgODA5LCAwLCA5MjI4MywgMTI4MzE2LCAKKyAgICAxMjgwMDQsIDU3OTksIDEyODkyOSwgNzAxMDAsIDEyODYwNywgNzI2MCwgOTgzMzI0LCA0MzAzMSwgNjQ0MjUsIDY1MTI4LCAKKyAgICA3ODgxOSwgNjQzODYsIDY1MjU3LCAwLCA2ODYxNiwgMTIwNjA3LCA5MzQ3LCAxMjgwNjcsIDY1MzIsIDAsIDkxNzkxOCwgMCwgCisgICAgMTI3MDYwLCA2NTgyOCwgMTIwMDA2LCAyODMsIDY4NjY1LCA3ODgxMywgNTMyLCA3ODY2MywgNzg4MTcsIDEyODAyMSwgCisgICAgMTIwNjA5LCAwLCAzMzcwLCAwLCAxMTM2MSwgNTQ0MywgNzg3NzgsIDgxNTMsIDczNzY3LCAwLCAxMDc0MSwgMCwgMjI5OCwgCisgICAgMCwgMTI1MDM5LCA2NTQ5NSwgNjQ3MDYsIDk4MzMxOCwgNDMzNDQsIDk4MzMxNiwgNzE0NCwgOTQ2NiwgNzg4NjYsIDk4MjQsIAorICAgIDY3MTQyLCAxMjg5NjMsIDY3MTMzLCA2NzEzMCwgOTE1LCA0MzQyNSwgNjcyOTIsIDQzODY1LCA2ODIzMiwgMCwgMTI3MTc4LCAKKyAgICA0MzI2NCwgNjcxMzYsIDY3MTM3LCAwLCA0MzAzOCwgNzg4NjQsIDY3MzAsIDc4ODYyLCA2ODE2MSwgNjQ1NTAsIDUxODYsIAorICAgIDczNjAsIDEyNzgzNywgNzA0NTEsIDEyMTA4LCAwLCA2NTEyNCwgNDMxMjcsIDY2MDQzLCAwLCA2MzI2LCA0MzEwNywgCisgICAgNzc4MjYsIDAsIDQyNTYyLCAwLCAxMjg4MjEsIDEyODE3OCwgMTI4NTIwLCAxMTQ4NSwgNjEwMywgOTI0NjgsIDk4MzMwNSwgCisgICAgMTE3MTgsIDk4MzMwMywgMTI4ODksIDkyNjU3LCAxMjUwMzQsIDAsIDAsIDEyNzQ3NiwgNTUyNDUsIDEyODkyNywgMTYzMCwgCisgICAgMTI4MjMyLCA2NTQ4MywgMTIwNjM0LCAxMjU2NSwgMCwgNjU0NzYsIDcwMzY5LCA5ODMwNzIsIDExOTIxNCwgOTI4MywgCisgICAgNzcwMCwgOTE3NTM3LCA5NjkwLCA2NTQ5OSwgMCwgNjQ1OTMsIDUxMiwgMzM3NiwgNjgyMTAsIDAsIDEyODI1MywgNzc4OTIsIAorICAgIDYzMiwgMTI5NDAsIDc3ODkxLCA0MjUyOSwgNzg1ODcsIDE5NDYwNCwgNTk1NywgMTEwNTkzLCA4OTI2LCA5ODMyOTksIAorICAgIDk4MzI5OCwgMTI4MjczLCAxMDc0NSwgMTAxNzQsIDczNzksIDY0NTgxLCA1Mzg2LCAxMjA2ODYsIDExNzEzLCAxMDYzMywgCisgICAgNjk3MDgsIDUwNTYsIDAsIDAsIDAsIDEyMDc3MywgOTQwNTUsIDk4MTIsIDAsIDQ0NjAsIDAsIDEyNDk1NiwgNzEzMDcsIAorICAgIDEyODAzOCwgMCwgMCwgMTI3MTc0LCA2NDI3OCwgOTIzNzAsIDQzNDY2LCAwLCAwLCA2NDM4OSwgMjk1MywgNzAxMjIsIAorICAgIDE4MDEsIDEyODM1LCA3NDg0NywgMCwgNzM4MjMsIDEyODY4MSwgNjYzNzUsIDIwODUsIDcwMiwgNDI1NzksIDc3ODg0LCAKKyAgICA3Nzg4NSwgMTMwNzQsIDc3ODgzLCA2NjI5OSwgOTgzMjg1LCAxMjg1NzAsIDEyMTA2LCA5ODMyODIsIDc0MjA3LCAxNzU1LCAKKyAgICAxMDQ4MiwgMTI4NjMsIDc3ODk4LCAxMTYzLCAyOTUxLCA5NTIyLCA3NDA3OSwgNzgyNjYsIDY2NjA0LCAwLCAzMzg0LCAKKyAgICA2OTIyNywgMTA3MDIsIDgzMCwgNzc5MDIsIDc3ODk5LCA3NzkwMCwgODQ1MSwgMCwgMCwgMCwgNjY0NTgsIDEyODk1NywgCisgICAgMTI4ODcwLCAwLCAwLCAyOTA4LCAwLCAxMTE3NywgNjQ5MDIsIDQyNDMsIDkyNDU0LCAxMjIzOSwgOTE3ODcyLCAxMjQ5NTksIAorICAgIDQ0NDEsIDAsIDExMzc2NSwgNzM5NDAsIDY0MzUyLCAxMjc1MTMsIDEyNTAzMSwgNDExLCA5ODMyNzMsIDkxOTksIDk4MzI3MSwgCisgICAgNDA1NiwgMTE4OTkyLCA0MTg5MCwgMTk0Njk4LCAyNzMwLCA0MTYwNCwgMTI4MzU1LCA1NDI4LCAxOTQ3NDMsIDMzNjQsIAorICAgIDQyMjY1LCA2NDQzNywgMTI3OTM1LCAxMTg4MTYsIDE5NDc0MiwgOTY4NCwgMjE2LCA3MTM2NywgMTQwMSwgMTI4MDUzLCAKKyAgICA0NDAxMiwgOTI2MjgsIDAsIDkyNTg1LCA5MTU4LCA2Njg3OCwgMTExMjYsIDU3NjgsIDAsIDAsIDAsIDQ4NCwgMTk0NzM5LCAKKyAgICAwLCAwLCA2NTg5NSwgMTI1MDc2LCAwLCAzMzM4LCA3MzkzNSwgNTcyLCA3MDQxLCAyNzM2LCA2NzYwNSwgOTgzMjYzLCAKKyAgICA5Mzk2MiwgMjc5NCwgODgwNywgNjQ0OTEsIDc3ODQ3LCA1NDM4LCA1MjIyLCA1MzgxLCA0MzExNCwgMCwgNTE5MywgNTEyNSwgCisgICAgNTQ1NiwgNTUwOSwgNzc4NDYsIDE5NDc0NywgOTUzNCwgMTI5MTA5LCAxMjkwNDAsIDAsIDM0MzAsIDAsIDQyOTA1LCAKKyAgICA3ODcxNywgMTI4OTAzLCA5ODEsIDEyOTE4NCwgNDMzMCwgNzM5MjksIDEyMDUzNiwgMTgyNCwgMTA5MDgsIDEyNjUwNiwgCisgICAgNzAzNCwgNDE2ODMsIDY0NjE3LCAwLCA3Mzc1NCwgMzk1NywgNjQzNTgsIDY0NTQ3LCAxMjgyNTksIDY3NCwgNjM5OTEsIAorICAgIDk4MzI0OSwgMjk0NiwgNTM1NCwgNTI1MSwgNTMyOCwgNTMwNywgMzc1OSwgMTE0MTEsIDgzNjQsIDUxMjMsIDExOTYyOCwgCisgICAgNTI4MSwgNTQ2OSwgNTEyMSwgMTE5MjQ1LCAxMTg5OTMsIDAsIDUxMzAsIDAsIDAsIDc3OTkwLCAwLCAxMjA3MjYsIDEyMjEsIAorICAgIDI3MzMsIDExNzQ2LCA3Nzk5MSwgNTIxNiwgMCwgMCwgMCwgOTIxODcsIDM0NjgsIDcwMzMsIDkyMzAsIDU5MzksIDE5NTA1MiwgCisgICAgMCwgNTgwMywgNzE4NjcsIDY4NDAwLCA3Mjc4LCAxMDMyMSwgMTAyODksIDY0NjEzLCAxMDM4NSwgNDE3MDYsIDAsIDAsIAorICAgIDk4MzQxMywgMCwgMTE3MzksIDkyNTI0LCA0MTk4MSwgOTI3NDMsIDU5MzgsIDAsIDQzNzY2LCAxMjQ0OCwgNzU3NiwgCisgICAgMTA0MDEsIDEwMzM3LCA3Mzg1MiwgMTI0OTk0LCAxMzA1NywgMCwgMTI2OTc2LCAwLCAxMDAwOSwgMCwgNDE3MDMsIAorICAgIDk4MzYzOCwgMTIxNjUsIDEyOTE5MSwgMCwgOTg4NSwgMCwgODA3NywgOTI2MjAsIDEyNzkwOCwgMCwgOTgzNDM5LCAwLCAKKyAgICA5MjQ1NywgMTI5MTM4LCA0MjIwLCAxMDcyNSwgMTA0MzMsIDAsIDY4Mzk1LCA0OTg3LCA2NDUxOSwgMCwgMTI1MDc4LCAwLCAKKyAgICA5ODM0MjYsIDEyODU3NCwgMTA5NzAsIDExNzMzLCAwLCAxMjA3OTIsIDEyNjQ5MCwgMTk5NDQsIDc0MzU2LCA5MDA5LCAKKyAgICA4NTUxLCA5MjM0NSwgMTE0NjgsIDY0NjM2LCA3NTc1LCAwLCAyNzI0LCAxMjg4OTksIDAsIDEyMzEzLCAxMTE1MSwgNTE1LCAKKyAgICAxMTk5NDcsIDQyNzkxLCA2Mzk4NywgNzgyODYsIDExOTk0MywgMTE5OTQwLCAxMTk5NDEsIDExOTkzOCwgOTc3NSwgNDA0NiwgCisgICAgNDU4OSwgNDUyMSwgNjg2MjksIDkxNDEsIDAsIDc4ODUwLCAyNzQxLCA2NDM5OSwgNjE5NywgMTM3MCwgMCwgMCwgMCwgMCwgCisgICAgMCwgOTgzNTYwLCA2MTg0LCA4NjA2LCAzMzAzLCA0MTM3MiwgMTE3ODYsIDk0NzMsIDY2MjAzLCA2NjE3NywgOTI0NDYsIAorICAgIDExNTkzLCA0MzAwNywgNDQ3OCwgNjYxNzgsIDAsIDAsIDI3NDQsIDAsIDQ0NzcsIDc4MjY3LCA4MTQsIDQyMDY2LCA2NjE4MywgCisgICAgNjYyMDQsIDQzNzg2LCAxMTk5NjEsIDY2MTk4LCA0MTg4MCwgNjYxODgsIDExNjIzLCA3ODE0OCwgMTE5NTUsIDY2MTkwLCAKKyAgICA2NjE5MSwgNDExMTEsIDY2MTg5LCA3Mzc4OCwgNzc4OCwgNDg0NywgMCwgMTI3NzU5LCAwLCAxMjg0MzMsIDIyMjEsIDE1ODEsIAorICAgIDY1MzUsIDc4MTYxLCAxMjk1NCwgNDMwLCA3ODE2MCwgNTUyNTksIDczOTQ0LCAxMjgwMzYsIDUyNzgsIDQ5NDUsIDQyODgzLCAKKyAgICA0OTUwLCA5ODM0MzgsIDY4NjI1LCA5ODM0MzYsIDcyNjksIDAsIDU5NjQsIDEyOTA4LCAxMjQ5OTcsIDAsIDc0NzY0LCAKKyAgICA0MzUxMiwgMTE5MTQ2LCAxOTQ5MzYsIDQ5NDksIDk4MzQyOSwgNDQzLCA5ODM0MjcsIDQ5NDQsIDU0NjcsIDExOTYwMywgCisgICAgNzA4NjUsIDY1MTM3LCA2MDQ0LCA2NTM5MiwgMCwgNDIxMywgMCwgNDEzMDMsIDAsIDE5NDkzMSwgMTE5OTYyLCA0MTMwNiwgCisgICAgNzM5ODQsIDI2OTgsIDEyNzE1OSwgMCwgMTIwNzIsIDMxOTMsIDAsIDQxMzA0LCA4MjQsIDEyODY3NiwgMTIwOTEsIDY3MTE4LCAKKyAgICA3ODg5NCwgMTE5ODE2LCA0NjczLCA2NDgwNCwgNDY3OCwgMTE5ODIwLCAxMTk4MTksIDY1MDU5LCA0Mzg2MCwgNjczOSwgCisgICAgNjY4NDQsIDU0ODEsIDM0OTAsIDExOTksIDExOTgxMSwgODM1NiwgNjk5NDcsIDY3NzAyLCA0Njc3LCAxMjY4OCwgMzEwMiwgCisgICAgMCwgNDY3MiwgNzgxNzMsIDc4MTc1LCA1NTMxLCA2ODM2NywgNDI1NzUsIDc4MTcwLCA3ODE2NiwgNDY3NCwgNDU0OCwgCisgICAgNDQwMDUsIDcxMDg3LCA2ODY1OCwgMTE5OTQ2LCA4MDI1LCA2ODYzMCwgMTI3MDI0LCAxODU1LCA5ODM0MTIsIDY4NjY5LCAKKyAgICA5ODM0MTAsIDkyNDQ1LCAxMjc1NTQsIDk4MzQxNywgMTI3MzM5LCAxMTk2NTIsIDI3NDUsIDExNzk3LCA5ODM0MTgsIAorICAgIDEyODE1OSwgOTIwMiwgNDY1NCwgNjg0MCwgOTgzNDE0LCA2ODYzOCwgNzM5OTMsIDEwNTI1LCA0NjQ5LCA2NTIwOSwgCisgICAgOTgzNDE2LCAwLCA0NjQ4LCA0MzA4MCwgOTgzNDA2LCA5ODM0MDcsIDk4MzQwNCwgNjI0NiwgNjQ5NTAsIDc4MjgsIDQ2NTAsIAorICAgIDY3NzcsIDY3NzYsIDY3NzUsIDQ2NTMsIDc4MjIsIDc4MDA1LCA3NDYyNCwgNDMxODcsIDg2NjksIDEyMDY1OSwgNjgyMSwgCisgICAgNjUwOTMsIDAsIDc4ODgxLCAyNzE2LCAwLCA5ODMwNjAsIDcwNTAzLCAxOTQ5NTIsIDY4MzY5LCAxMjAwNTQsIDExMDYwLCAKKyAgICA4NTQ3LCAyNzExLCA0MjE2NSwgNzgwMjcsIDc4MDI2LCA2ODM2LCA5ODM0MjEsIDAsIDQ2NjIsIDc4MDMzLCA3ODAzMiwgCisgICAgOTE0OSwgOTE0NiwgNTk5LCAyMDgxLCA3ODAzMSwgNzgwMzAsIDE5NDk2MiwgNDY1NiwgMTAxMzAsIDY4NDUwLCA3ODExLCAKKyAgICA0MDk5NCwgMTk0OTY1LCA2NDE0LCA1OTY3LCA0NjU4LCAzNzI1LCA1NzEzLCA1ODE0LCA0NjYxLCA0MjQzNCwgOTgzNDExLCAKKyAgICAxMjg3MzcsIDExMTkwLCA2NDkwNCwgOTAyNiwgMTA4MzMsIDc0ODY0LCA3NTQ3LCA0ODY3LCAxMTEwMCwgMTAwMDgsIAorICAgIDEwMjIyLCAzMDU0LCAxOTQ5NTYsIDk3NDQsIDc4ODYwLCA3NjA1LCA0NjIyLCAxMTk2NTYsIDk4MzM5NSwgOTQwNzAsIAorICAgIDk4MzM5MywgNjk5MDUsIDY3MTg4LCA5MDQ1LCA3ODg4OCwgNDIyNSwgMTk5MjYsIDc4ODg3LCAxMjg4MCwgNjUzMDcsIAorICAgIDQ2MTcsIDc4ODgzLCA5ODMzODYsIDQxNzMyLCA0NjE2LCAxMDUxOCwgMTA0MjMsIDEwMzU5LCA5ODMzODAsIDU5NTgsIDAsIAorICAgIDk4MzQzMywgNDIxNSwgOTc4OSwgMTE5NjE5LCA0MzIxLCA0NjIxLCA5ODMzODksIDQxMzEzLCA1MjIsIDUzNjgsIDExMTM5LCAKKyAgICA2NTgwMywgMCwgNTM2NiwgMTIyMDEsIDUzNzIsIDAsIDk4MzQwOSwgMTk0OTc1LCA3NzIwLCA3MzkwLCAyNjk2LCA5ODM0MDAsIAorICAgIDAsIDQ2MzgsIDk4MzQwNSwgMTc5MCwgNzgyNDIsIDU5NjUsIDY0MzYzLCA2NjU2OSwgNjg2NDYsIDY4NDc3LCA1Mzc2LCAKKyAgICAxODM1LCA1MzM1LCAxOTQ5NjYsIDEyODA4OSwgNDYzMywgMCwgNjgxMTksIDExODAsIDQ2MzIsIDY3MTkxLCA1Mzg3LCAKKyAgICA1MzMzLCAwLCAxMjUxMzIsIDQyMDk0LCA1MzMxLCA0NjM0LCAxMTkyOCwgOTgzNTk0LCA1MzM4LCA0NjM3LCAxMjgxNzAsIAorICAgIDU5NzEsIDQyNDE0LCA0MzUwMCwgMTI2OCwgNjUwOTcsIDQyMzYxLCAwLCAwLCA3Mzg1MywgMTQyNywgMTI4NDQwLCAwLCAKKyAgICA1OTcwLCAzNDMxLCAwLCAxMDM1OCwgMTA0MjIsIDQ3NTgsIDk4MzM3NCwgMTYwOCwgMjczOCwgMTI1MDY2LCAxMDQ1NSwgCisgICAgNDc1MywgNzQwMjYsIDExMzQ0LCA0MjIyLCA2MjQwLCA1MjMxLCA3NDM4NCwgOTgzMzc4LCA2ODM3NywgNjI0OCwgOTgzMzYyLCAKKyAgICAxMjg0MzIsIDk4MzM2MCwgNDIzMTgsIDkyNTgyLCA1MjI5LCA0NzU3LCAwLCAwLCAyNzI4LCA0NzUyLCA2NDU2MywgNjUyMzUsIAorICAgIDUyMzQsIDAsIDEyODE0NSwgMTI4OTI2LCAxMDcxMywgNzE2NiwgMCwgMjYyMiwgNzQ2MCwgMTI3MzAyLCA2NzEwMSwgCisgICAgMTI2NDk1LCA4OTU0LCA3NDc2MCwgNjUxODksIDI2MzIsIDQyNjE3LCAxMDEwOCwgMTAxMSwgNTU3NCwgMTg1MywgMjcwOSwgCisgICAgNjUxMzksIDU1NzcsIDEyODk2NiwgMCwgMTE4ODcxLCA2ODY0MSwgODk2NSwgNzYzNSwgNDIxNzcsIDUzMTYsIDAsIDUzMTQsIAorICAgIDY0NTEsIDU1NzIsIDY2NDY0LCA1MzEyLCAwLCA1NTI1LCA1MzMwLCA1MzE5LCA2ODI5MiwgMTI3MzExLCA2NTA2NiwgCisgICAgNDQwMDMsIDEyMDY1MCwgOTgzNDgwLCA0Mzg0MywgMTIwNDk4LCAxMjc4NTEsIDE5NTAwOSwgNzQ4NTEsIDc0MDIyLCAKKyAgICA5ODM0MjIsIDY0NjA5LCA2ODY0MywgNjc0MTAsIDEyODU5MywgNTcyMSwgOTgzNDAxLCA1NTE5LCA4NjMyLCA2NjQ2NSwgCisgICAgMTEyNjcsIDczOTYxLCA5MjI3OCwgNTcyMCwgOTgzMzUyLCAxNjkyLCA0MjE5LCA0NjEwLCA4Njk2LCA0MzA1LCAwLCA0NjA5LCAKKyAgICA0MzQ3OCwgNDYxNCwgNTQxLCA5ODMzNTUsIDUyODcsIDUzMDksIDUyODUsIDY4Mzg5LCA1OTYxLCA0NjQ3LCA1NiwgNDIxNiwgCisgICAgMTA1NzcsIDQxMzgxLCA2MDEsIDQ2MTMsIDk4MzM0OSwgOTgzMzQ2LCA5MjA4LCA0NjA4LCA2NDI2MCwgNDExMjQsIDUxOTAsIAorICAgIDY3NjI4LCA2NjgyNiwgNjgxNDUsIDcwODYsIDAsIDY3OTk4LCA2NzYyMCwgOTMwNDcsIDI3MzQsIDExMDc0LCAwLCA2NzYyNywgCisgICAgNDM1OTMsIDAsIDY3NjI1LCA1OTYwLCA2NzcyMiwgODk5MiwgNDI1OTMsIDEyODI2MCwgMTc4MiwgNjc2MjIsIDY4MTE0LCAKICAgICAxMTk5MzksIDAsIDY4MTgwLCA1NTAxLCAxMTk5NTIsIDQyNTA4LCA3NDQyLCA0MzY2NSwgMzU5LCA0MTI1MywgNjgzOTIsIAotICAgIDYyMzksIDExOTk1NiwgNDEyNTYsIDAsIDY4MTM0LCAwLCA3NDIwOSwgOTE3NTUwLCA5MzQ2LCA2OTY2MCwgNDEyNTQsIAorICAgIDYyMzksIDExOTk1NiwgNDEyNTYsIDc0MTMyLCA2Nzc0MCwgMCwgNzExNzgsIDkxNzU1MCwgOTM0NiwgNjk2NjAsIDQxMjU0LCAKICAgICAxMjgwNDcsIDQzMjkxLCAzNzY3LCA1NzM3LCAwLCA0ODY1LCAwLCA1NzQwLCA5MTc5OTcsIDU3MzYsIDQzNjgsIDY0NzI0LCAKLSAgICA3MTkzLCA2ODEzNywgMCwgNTczOSwgNDEwMjQsIDQ4NjYsIDAsIDczOTA0LCA5ODM4NDAsIDQ4NjksIDEyMDU2MywgMCwgCi0gICAgNDIyMywgMTI4MjAxLCA2NjUwLCAxMjY1MDksIDAsIDk4MzQ2MywgMTI3ODkwLCA0ODcwLCAxMjA0NDUsIDY4NjYxLCA2NzE2LCAKLSAgICA3ODE3NiwgNjg2NjcsIDY4MzgyLCA2ODY3NiwgMTI3OTI1LCAxMDEyMiwgNDg2NCwgNjY1NjgsIDQxNDQsIDc5MzcsIDAsIAotICAgIDYyNDUsIDY4NjUyLCAyNzMyLCA0MjczNCwgNzQ1LCAwLCAxOTUwOTcsIDkyMTk1LCA0Nzc3LCA3ODIxLCAwLCA2ODYzMSwgCi0gICAgNDI3NzUsIDAsIDE5NDk1NCwgMCwgMzA5NywgMCwgNTk2NiwgOTgzNDg2LCA0Nzc4LCAwLCAxMDg2MywgMCwgNDc4MSwgMCwgCi0gICAgNjQ0MDcsIDAsIDEyODMyMywgODU3NywgMTI4NTYyLCA2ODE5NiwgNDMyODUsIDEwMjE2LCA0NzgyLCAwLCAwLCAxMjA3NTcsIAotICAgIDY4NjE4LCAxMjMyNSwgNDMwNTYsIDg3MTcsIDAsIDAsIDQ3NzYsIDczODE4LCAxMTQ5MiwgODcwMCwgMCwgMTMxNzYsIAotICAgIDY4MzYzLCAxMDQyNiwgMCwgOTE3NTk5LCAxMDM2MiwgMTk0NzA2LCAxNzE1LCA0ODQ5LCA4MjQyLCA5NTYxLCA3MzkyMiwgCi0gICAgNDMyNzgsIDQyNjM1LCAwLCAwLCA1OTYzLCA5MTc5MjYsIDAsIDAsIDQ4NTAsIDAsIDE2MDcsIDQ2NiwgNDg1MywgMTE4OTk1LCAKLSAgICA0ODU0LCAxMjc5MTgsIDUxNjQsIDk4Mzg3MCwgMTM1MCwgNTEyNCwgNjQ0MjAsIDE5OTMsIDUzNjIsIDg0NzEsIDI3MDgsIAotICAgIDkyNDcxLCAxMjQ0NSwgMzc4NSwgMjM0LCAzMTk5LCAwLCA0MTI2OCwgNDg0OCwgMjUzMCwgOTE3OTA5LCAyMDY4LCAxOTY0LCAKLSAgICAwLCA3Mzc2MiwgMTA0NTgsIDAsIDg1NzYsIDc4NTQzLCAwLCAyNzA0LCA0Nzk0LCAwLCA2ODIxMSwgODMyMiwgNDc5NywgCi0gICAgNTc1MywgMCwgMjY5NCwgNDc5MiwgMCwgMjQzOSwgNjUxMDQsIDY5ODA0LCA5ODM0MjQsIDMwMywgOTgzMTAxLCA5MjYyMiwgCi0gICAgOTgzNDI1LCAyNDM3LCAwLCA0MjIxLCA0ODQ0LCA5MjIxNiwgMCwgMCwgMCwgNzAwNDIsIDAsIDQzMjkyLCAwLCAyNDQxLCAKLSAgICAxMDczOSwgNjUwOTAsIDAsIDExOTMyNywgMTI2NTQxLCAyNDUxLCAyNzE0LCAxMTkzMjYsIDAsIDQzMzc5LCA0OTM3LCAKLSAgICA0MzM3NiwgNzUzLCA1ODQ5LCAxMDU5NywgNDMwODksIDExNzIyLCA5MjQ4LCA5MjU1NSwgNDI4NzksIDExNzI1LCAwLCAwLCAKLSAgICAyNzI2LCAzMTA3LCA3Mzk1OCwgNDk0MSwgNjQ5MzcsIDExOTIzMywgOTE0MCwgMTQwOCwgNTI2MSwgNDYwNywgMCwgMTgxLCAKLSAgICA5ODM0MzAsIDQ5NDIsIDk1MzksIDQ5MzgsIDAsIDY1MjAxLCA1MjU5LCA5MzY5LCA2NDE4NSwgNDE0MiwgNTI1NywgCi0gICAgOTgzNjAxLCAwLCA0OTY0LCA1MjY0LCA2NDE3OCwgNjQxNzcsIDEyOTc5LCA0MTQxMSwgNjQxODIsIDY0MTgxLCA2NDE4MCwgCi0gICAgNjQxNzksIDk0ODIsIDQ4NzMsIDQxMjMxLCAxODIyLCA0MjUyNiwgMTI4NTgxLCAxMjc1OCwgMzg2NSwgMCwgMCwgMTA1MDAsIAotICAgIDAsIDExOTAyNCwgNzgwMjgsIDkyNDA4LCA5ODMwLCA0MzY0MiwgMzg5LCAxMDg5MywgNzUyMSwgMTI3ODc5LCA0ODcyLCAKLSAgICA1NDYzLCAwLCAzMTI1LCA5NTY3LCAwLCA0ODc4LCA1NDU5LCA0NjA0LCA5MTc5MzEsIDk1NTcsIDU0NjUsIDY4NjE3LCAwLCAKLSAgICAxMTQ5NCwgMTI2NDkyLCA5NTYzLCAxMDg2NSwgNzQ1NzAsIDQzMjc5LCA2NDE4NiwgOTgzNDM5LCA3ODcxNCwgNjQxOTEsIAotICAgIDY0MTkwLCA4ODk4LCA2NDE4OCwgMCwgNDEwMzAsIDc4ODM2LCAwLCA5MTc4MzUsIDc4ODIwLCA5MTc4MzQsIDAsIDc4ODA1LCAKKyAgICA3MTkzLCA2NzA5NywgMTI4ODQ0LCA1NzM5LCA0MTAyNCwgNDg2NiwgMCwgNzM5MDQsIDk4Mzg0MCwgNDg2OSwgMTIwNTYzLCAKKyAgICAwLCA0MjIzLCAxMjgyMDEsIDY2NTAsIDEyNjUwOSwgMCwgOTgzNDYzLCAxMjc4OTAsIDQ4NzAsIDEyMDQ0NSwgNjg2NjEsIAorICAgIDY3MTYsIDc4MTc2LCA2ODY2NywgNjgzODIsIDY4Njc2LCAxMjc5MjUsIDEwMTIyLCA0ODY0LCA2NjU2OCwgNDE0NCwgNzkzNywgCisgICAgMCwgNjI0NSwgNjg2NTIsIDI3MzIsIDQyNzM0LCA3NDUsIDAsIDE5NTA5NywgOTIxOTUsIDQ3NzcsIDc4MjEsIDEyOTEzNiwgCisgICAgNjg2MzEsIDQyNzc1LCAwLCAxMjg0NDUsIDAsIDMwOTcsIDAsIDU5NjYsIDk4MzQ4NiwgNDc3OCwgMCwgMTA4NjMsIDAsIAorICAgIDQ3ODEsIDkyOTg2LCA2NDQwNywgMTI4NTAzLCAxMjgzMjMsIDg1NzcsIDcxMjIxLCA2ODE5NiwgNDMyODUsIDEwMjE2LCAKKyAgICA0NzgyLCAwLCAwLCAxMjA3NTcsIDY4NjE4LCAxMjMyNSwgNDMwNTYsIDg3MTcsIDAsIDAsIDQ3NzYsIDczODE4LCAxMTQ5MiwgCisgICAgODcwMCwgOTgzOTU1LCAxMzE3NiwgNjgzNjMsIDEwNDI2LCA2NzI0NywgNzEwOTEsIDEwMzYyLCAxOTQ3MDYsIDE3MTUsIAorICAgIDQ4NDksIDgyNDIsIDk1NjEsIDczOTIyLCA0MzI3OCwgNDI2MzUsIDAsIDEyNzIwNywgNTk2MywgOTE3OTI2LCA5ODM0ODEsIAorICAgIDAsIDQ4NTAsIDczOTAwLCAxNjA3LCA0NjYsIDQ4NTMsIDExODk5NSwgNDg1NCwgMTI3OTE4LCA1MTY0LCA3MzgwNywgMTM1MCwgCisgICAgNTEyNCwgNjQ0MjAsIDE5OTMsIDUzNjIsIDg0NzEsIDI3MDgsIDkyNDcxLCAxMjQ0NSwgMzc4NSwgMjM0LCAzMTk5LCAKKyAgICAxMjg3NjgsIDQxMjY4LCA0ODQ4LCAyNTMwLCAxOTQ3MTEsIDIwNjgsIDE5NjQsIDAsIDczNzYyLCAxMDQ1OCwgOTgzNDE1LCAKKyAgICA4NTc2LCA3ODU0MywgMCwgMjcwNCwgNDc5NCwgMCwgNjgyMTEsIDgzMjIsIDQ3OTcsIDU3NTMsIDAsIDI2OTQsIDQ3OTIsIDAsIAorICAgIDI0MzksIDY1MTA0LCA2OTgwNCwgOTgzNDI0LCAzMDMsIDc0NjI1LCA2ODIyOSwgOTgzNDI1LCAyNDM3LCA3ODY1OSwgNDIyMSwgCisgICAgNDg0NCwgOTIyMTYsIDAsIDAsIDAsIDcwMDQyLCA3NDA5NSwgNDMyOTIsIDAsIDI0NDEsIDEwNzM5LCA2NTA5MCwgMCwgCisgICAgNzA0MzYsIDExODkyOSwgMjQ1MSwgMjcxNCwgMTE5MzI2LCAwLCA0MzM3OSwgNDkzNywgNDMzNzYsIDc1MywgNTg0OSwgCisgICAgMTA1OTcsIDQzMDg5LCAxMTcyMiwgOTI0OCwgOTI1NTUsIDQyODc5LCAxMTcyNSwgMCwgMCwgMjcyNiwgMzEwNywgNzM5NTgsIAorICAgIDQ5NDEsIDY0OTM3LCAxMTkyMzMsIDkxNDAsIDE0MDgsIDUyNjEsIDQ2MDcsIDAsIDE4MSwgOTgzNDMwLCA0OTQyLCA5NTM5LCAKKyAgICA0OTM4LCAwLCA2NTIwMSwgNTI1OSwgOTM2OSwgNjQxODUsIDQxNDIsIDUyNTcsIDk4MzYwMSwgNjg0NCwgNDk2NCwgNTI2NCwgCisgICAgNjQxNzgsIDY0MTc3LCAxMjk3OSwgNDE0MTEsIDY0MTgyLCA2NDE4MSwgNjQxODAsIDY0MTc5LCA5NDgyLCA0ODczLCAKKyAgICA0MTIzMSwgMTgyMiwgNDI1MjYsIDEyNzk4OSwgMTI3NTgsIDM4NjUsIDAsIDEyODQ3MywgMTA1MDAsIDAsIDExOTAyNCwgCisgICAgNzgwMjgsIDkyNDA4LCA5ODMwLCA0MzY0MiwgMzg5LCAxMDg5MywgNzUyMSwgMTI3ODc5LCA0ODcyLCA1NDYzLCAxMjgxMTksIAorICAgIDMxMjUsIDk1NjcsIDAsIDQ4NzgsIDU0NTksIDQ2MDQsIDkxNzkzMSwgOTU1NywgNTQ2NSwgNjg2MTcsIDAsIDExNDk0LCAKKyAgICAxMjY0OTIsIDk1NjMsIDEwODY1LCA3NDU3MCwgNDMyNzksIDY0MTg2LCA2ODUyMSwgNzg3MTQsIDY0MTkxLCA2NDE5MCwgCisgICAgODg5OCwgNjQxODgsIDEyOTE1MywgNDEwMzAsIDc0MjI2LCAwLCA3NDYwMCwgNzg4MjAsIDkxNzgzNCwgMCwgNzg4MDUsIAogICAgIDQxMDMxLCA3ODgwMSwgMTE5NjAsIDY3NDUsIDMwODIsIDk4MzQzNywgNzg1MzksIDczOTE5LCAxMDU3MywgNDE3NDQsIAotICAgIDcwNzksIDU4NTYsIDEyNzA0MywgNTE2MywgNzg4MDksIDEyODE2MiwgMTgxNywgNjY3MjQsIDc4NTM4LCAwLCAxMDU2NCwgCi0gICAgNzc2MywgMTMwNzcsIDQxODEzLCA0NDAwLCA0MTc0NSwgNjQyMDcsIDEwMjc1LCA4OTI1LCAxMDM3MSwgMTAzMDcsIDQxODE0LCAKLSAgICA0MjQ4LCAwLCAwLCA0NTQxLCA2Mjk5LCA2NDIwNCwgNjQyMDMsIDY0MjAxLCA2NDIwMCwgNjQxOTksIDY0MTk4LCAxMjY0NzEsIAotICAgIDQyMTU2LCA3ODY4OCwgMCwgNjQxOTMsIDY0MTkyLCA2NTIyMywgOTk0MywgNjQxOTcsIDY0MTk2LCA2NDE5NSwgNjQxOTQsIAotICAgIDEzMjgyLCA2NDE3NSwgNjQxNzQsIDY0MTczLCA3ODE4OSwgODQ2LCA3ODE4NiwgOTk2NSwgMCwgMCwgMCwgMCwgMjU0MywgCi0gICAgMTIxNjMsIDMxMDgsIDk3NDUsIDY0MTY3LCA2NDE2NiwgNjQxNjUsIDY0MTY0LCAyMTEwLCA5MjE3NiwgNjQxNjksIDY0MTY4LCAKLSAgICA2NDk0OSwgMTA5NzIsIDEwMjUxLCAxMDI0NywgNDI3NjgsIDcxNSwgMjI5NSwgNDMyOTksIDk0NTMsIDUzNDgsIDEwOTQzLCAKLSAgICAxMjAzNzgsIDAsIDExMzUyLCA1NTAsIDk5MTAsIDEyNjcwNSwgMCwgNjY1NzksIDExNTUxLCAwLCAxOTUwODAsIDk1MDQsIAotICAgIDcxODcsIDAsIDEwMzczLCAwLCAxMjA3OTEsIDEwMjYxLCAxMDI1MywgNjQwNCwgMTAyNzcsIDc4MTgzLCAxMTk4NCwgMTU1MiwgCi0gICAgNjUyMjIsIDY5OTgsIDc4MTgwLCAwLCAzMTI4LCA0Nzg5LCA1MDY3LCA1MDY2LCAxMTg4NDksIDQ3ODQsIDAsIDg4MjcsIAotICAgIDExNDYsIDUwNjUsIDY5ODkwLCA3ODE5MiwgNjgxMzYsIDc4MTkwLCA0MzQxMiwgNTA2NCwgMjQzMSwgMCwgOTQ1MCwgMTgwOSwgCi0gICAgMCwgNzgyMDAsIDc4MjAxLCA1MDYyLCAxMjY0LCA2NDgxNywgMTMyNTQsIDExNjk3LCAxMjY1OTgsIDk3ODUsIDY0NzE2LCAwLCAKLSAgICAzOTMzLCA3NDU1OSwgNDc0MCwgNzk1NCwgMCwgMCwgNDI2MDksIDAsIDc0MTc1LCAwLCAxMjcwMTYsIDAsIDk4Mzg3MywgCi0gICAgNDIxMzAsIDAsIDUxNTEsIDkxNzgyOSwgOTE3ODIzLCAwLCA5Mzk4MCwgMCwgNzYyMCwgMzgwMCwgNjUxMjIsIDAsIDAsIAotICAgIDgzNTUsIDc4NTQsIDAsIDk1NCwgNjQ5MjcsIDQxODUsIDQxMDQ1LCAxMjcxNDEsIDQxNDM4LCA0MTQzOSwgNjg2NjYsIAotICAgIDEwNzExLCA0NTkzLCAxMjc3NDUsIDEyMDU4NCwgOTgzNDA4LCA2NDc3NCwgODA1MywgMTA1MzIsIDY2NzI3LCAwLCAwLCAwLCAKLSAgICA2NDc1OSwgNjM4MSwgNTE2NiwgOTg4OCwgMTI3ODAwLCA1MTQ4LCA0MjgzNCwgMCwgNzgyMDUsIDc4MjA2LCA0Mzc4NywgCi0gICAgNzgyMDQsIDY0MTMxLCAzMTE5LCA5MTc4MTQsIDAsIDMwNjAsIDY0MTM1LCA5OTg2LCAwLCA3Nzg3NiwgNjM2LCAxMTY5OCwgCi0gICAgMCwgOTgzNDUxLCA5OTE2LCAxMTcwMSwgNzgzNiwgNDI3NDEsIDY0MTM3LCA4MzIwLCA3ODY0MCwgODg2MywgOTI0MzEsIAotICAgIDExOTk2MCwgMTQ3NywgNDMyODksIDAsIDc0MzU4LCA4NjE4LCA5ODM0MDIsIDk5MDgsIDk4Mzk4MSwgMCwgMCwgMzkzNywgCi0gICAgMTIzMTIsIDAsIDk4MzQwMywgMCwgNjQ3ODEsIDkxMiwgNjM0OSwgNDUzNiwgOTM5NTQsIDc0NTMyLCAxMjY1OTQsIDYyNDQsIAotICAgIDkyMjA5LCA3MTM0MSwgMzkzNSwgMTIwNjY1LCA5ODM0NzYsIDAsIDExOTUwLCA1MzkyLCA0MjI0OCwgNjUxMjksIDY4NjU2LCAKLSAgICA1Mzk3LCAwLCAxMjA0NiwgMTI1OTksIDAsIDEyODI2MSwgNTM5NSwgMCwgNTM5MywgMzU0LCA2ODYxNSwgMTE5OTQ4LCAKLSAgICA3ODUwMywgMCwgMCwgNDIwMzksIDAsIDAsIDY0MTQyLCA2MjYsIDAsIDU4OTUsIDAsIDAsIDU3ODAsIDAsIDAsIDEyODg3NCwgCi0gICAgMCwgMCwgNDMyOTcsIDk4MzA3OSwgNDMxMSwgNDY0NCwgODgxOCwgMCwgMTI4MTg2LCAwLCA3MTQ1LCAzOTE4LCA2NjQ1MiwgCi0gICAgMzc5NywgMTY0NCwgOTIzNDYsIDk2NTgsIDQxNDAsIDExMzg1LCA2NTk0NywgNjQ1NSwgOTAzMCwgODEzLCAxMTk5NDUsIAotICAgIDY4MTMxLCA0MTQ2LCAxMTk5NTcsIDUzNjAsIDI0NjYsIDAsIDY3NjY5LCAxMTk5NDIsIDYyNDksIDQyMTE3LCA5MjI4NywgCi0gICAgMTI4MjI0LCAwLCAwLCA3NDA0NiwgNDM3NDUsIDQ5MTEsIDk4OCwgOTE3ODA3LCAwLCA5ODM0NjgsIDQzMDYxLCA3MDU0LCAKLSAgICA2NDE0NywgMCwgNjQ5MjAsIDY4MTk1LCA2Njk4LCAxMTg5MzMsIDkyNTA2LCAwLCAxMjAwMDYsIDExOTgxLCAxMjIwMiwgMCwgCi0gICAgMTEwMzIsIDY3NjU0LCA2MDkzLCAxMTYwOCwgOTc1LCA2ODY2MiwgNjU4NDMsIDE3MCwgMCwgMCwgNDE2OSwgMCwgNDE4NTksIAotICAgIDYwNTgsIDEyMDQwMSwgMTMyMDMsIDEyMDY1NywgMCwgMCwgNjg2NTcsIDk4MTgsIDEwMTc4LCAxMDMyNCwgNDIxMDYsIAotICAgIDU4OTgsIDc0NTQwLCA0NzM4LCA0MTg1NiwgNzA2MiwgOTE3ODY1LCA0NzM3LCAxMTc3OSwgNDc0MiwgMTIwNTY0LCA5MjM5MSwgCi0gICAgNzM3MzYsIDk4MzM2NCwgOTgyNSwgNjQ0OCwgNjcxNSwgMTI3MDA4LCA0ODMxLCAwLCA5MjUyNSwgMCwgNTMwMCwgNDc0MSwgCi0gICAgNDIxMDgsIDk4MzM1NCwgNjQxNTksIDQ3MzYsIDY0MTQ4LCAwLCA4NDksIDkyMTkxLCA3ODQ5MSwgNDMyODgsIDAsIDY2NjIwLCAKLSAgICA5MTc5MTYsIDEyNzMzMSwgNjU1NDksIDk0OTYsIDY0NTk4LCAxMTg4NjYsIDk4MzM2NiwgNzg3NiwgNjgxMzIsIDkxNzg3MiwgCi0gICAgMzkyOCwgOTE3ODcwLCA0MzM3OCwgMTA3MDYsIDcxOTgsIDAsIDQ4NDIsIDEyMDUzLCAxMjgxMjksIDAsIDQ4NDEsIDAsIAotICAgIDQxNzEsIDEyMDA4LCA2MjUxLCAzOTIzLCAxNDkwLCAwLCAxMTk1OTEsIDEyNjUxMiwgNDA5NzIsIDUyNDUsIDAsIDEwMTE0LCAKLSAgICA0MjAwMSwgNDE4ODgsIDQ4NDUsIDgzMzIsIDQwOTc0LCA2NDM0NywgNDg0MCwgOTA3NywgNzgzNDYsIDE3NDcsIDkxNzg0OSwgCi0gICAgNDgyNSwgNjkyNDAsIDkxNzg1MiwgNjg2NTUsIDAsIDk4MzM4OCwgMCwgMCwgNjg2MjgsIDk4MzM0NywgOTg1MCwgMTE4OTM3LCAKLSAgICAzNjcsIDE0NzIsIDkxNzg1OSwgNjY4NywgMTI3NCwgMCwgNTkwNSwgMTIzMzksIDg5MTksIDczOTUzLCAxMDkwNywgNjUyNjEsIAotICAgIDExMDIzLCAxMTk1NTksIDQ4MzAsIDkxMzQsIDc4NjY2LCA2NDEyNiwgNDMwMTEsIDAsIDEyNjYyNiwgNjQxMDEsIDAsIDAsIAotICAgIDQ4MjQsIDEwNjE0LCAxMTk2NTksIDAsIDE4ODgsIDE5NjAsIDc4NjEsIDkxNzg1NiwgNzg1MjQsIDQxODM2LCA0MzAxMiwgCi0gICAgNjA1MiwgNjA2NCwgNTQsIDQzMDA5LCAxMjIxNCwgMCwgNjIxMSwgMCwgMzU4LCA0MTk5NywgNDE4MzMsIDExNDQyLCAKLSAgICAxMDc1OCwgNjU3NzQsIDAsIDEyMDM4NCwgNjQxMTUsIDkyMjIxLCA3MDAxOCwgMCwgMCwgMTE5MDUzLCAwLCAxMjc2NSwgCi0gICAgNjQxMTgsIDEyNjk5OCwgMTI5NjIsIDAsIDEyNjU4MCwgNDAxNywgMTI4MjcsIDUyNDEsIDEyMDM5MiwgMCwgNDExMTgsIAotICAgIDM5MjQsIDAsIDExMzY2LCA5MTc4NDMsIDAsIDAsIDkxNzg0NiwgNDExMTYsIDkxNzg0NCwgOTE3NTY0LCAwLCAxMTM2MywgCi0gICAgMTIwNTcsIDExOTE3LCAxNTY3LCA3NDAwMCwgNDcyMSwgMTI2NjQxLCA2NjIwMiwgODk1NywgNDEzOSwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMTI3NDAsIDEyODcwMiwgNDcyMiwgNjgxNiwgMTI3NzkzLCAxMjc1OSwgNDcyNSwgOTgzMzgzLCA0NzI2LCAwLCAKLSAgICAxOTQ4OTIsIDk4MzYyMiwgMTI4MzIxLCA5MTc5MDUsIDAsIDEyNzU1LCAxMjc2MiwgNDAxNSwgMCwgODA1MiwgNDc2LCAwLCAKLSAgICAwLCAxMjgyOTQsIDY0MjEyLCA0MTAyMCwgMTM4MiwgNjQyMDksIDY0MjE2LCA0NDAwMiwgNjQyMTQsIDE2NTYsIDQxODMxLCAKLSAgICAwLCAwLCA0MTg0MywgODcyMCwgMzkwOCwgMTQ1MiwgMTMxMTEsIDAsIDY0MDY3LCAxMjczMjgsIDg1NTIsIDY0MTEzLCAKLSAgICA0MTg0NSwgMzg0OSwgNzg3MzIsIDY2MjMyLCA5Nzc4LCAxMjAwNjYsIDU4OTEsIDcwNjQsIDU1LCA5OTQ4LCAxMTkwODUsIDAsIAotICAgIDAsIDc5MzUsIDI0MjAsIDAsIDExMTQsIDkyNTk5LCA2NzU4NSwgNzAxMDQsIDEyMDA1MywgOTIzNTAsIDEyMDA1MSwgMzkzOCwgCi0gICAgMTIwMDU3LCA2NTQxNywgNjQ3MTcsIDEyMDA2MCwgMTIwMDYxLCA2NTQxNSwgMTIwMDU5LCA2MjkyLCA2NTMwMywgNzk1NSwgCi0gICAgNjQ1MiwgNDcxMywgMTI4MTk2LCA2NjI0OSwgOTE3ODg1LCA5MTc4OTAsIDkxNzg5MSwgNjUxNTIsIDcxOSwgMTIwMDQ0LCAKKyAgICA3MDc5LCA1ODU2LCAxMjcwNDMsIDUxNjMsIDc4ODA5LCAxMjgxNjIsIDE4MTcsIDY2NzI0LCA3ODUzOCwgMTE5MDEwLCAKKyAgICAxMDU2NCwgNzc2MywgMTMwNzcsIDQxODEzLCA0NDAwLCA0MTc0NSwgNjQyMDcsIDEwMjc1LCA4OTI1LCAxMDM3MSwgMTAzMDcsIAorICAgIDQxODE0LCA0MjQ4LCAwLCAwLCA0NTQxLCA2Mjk5LCA2NDIwNCwgNjQyMDMsIDY0MjAxLCA2NDIwMCwgNjQxOTksIDY0MTk4LCAKKyAgICAxMjY0NzEsIDQyMTU2LCA3ODY4OCwgMCwgNjQxOTMsIDY0MTkyLCA2NTIyMywgOTk0MywgNjQxOTcsIDY0MTk2LCA2NDE5NSwgCisgICAgNjQxOTQsIDEyMjMxLCA0MjY1MiwgNjQxNzQsIDY0MTczLCA3ODE4OSwgODQ2LCA3ODE4NiwgOTk2NSwgNzQ0OTUsIDAsIAorICAgIDkxNzkyNCwgMCwgMjU0MywgMTIxNjMsIDMxMDgsIDk3NDUsIDY0MTY3LCA2NDE2NiwgNjQxNjUsIDY0MTY0LCAyMTEwLCAKKyAgICA5MjE3NiwgNjQxNjksIDY0MTY4LCA2NDk0OSwgMTA5NzIsIDEwMjUxLCAxMDI0NywgNDI3NjgsIDcxNSwgMjI5NSwgNDMyOTksIAorICAgIDk0NTMsIDUzNDgsIDEwOTQzLCA2NjM5MCwgMCwgMTEzNTIsIDU1MCwgOTkxMCwgMTI1MTI3LCAwLCA2NjU3OSwgMTE1NTEsIAorICAgIDEyODQ2NCwgMTk1MDgwLCA5NTA0LCA3MTg3LCAwLCAxMDM3MywgMCwgMTIwNzkxLCAxMDI2MSwgMTAyNTMsIDY0MDQsIAorICAgIDEwMjc3LCA3ODE4MywgMTE5ODQsIDE1NTIsIDY1MjIyLCA2OTk4LCA3ODE4MCwgMCwgMzEyOCwgNDc4OSwgNTA2NywgNTA2NiwgCisgICAgMTE4ODQ5LCA0Nzg0LCAwLCA4ODI3LCAxMTQ2LCA1MDY1LCA2OTg5MCwgNzgxOTIsIDY4MTM2LCA3ODE5MCwgNDM0MTIsIAorICAgIDUwNjQsIDI0MzEsIDAsIDk0NTAsIDE4MDksIDAsIDc4MjAwLCA3ODIwMSwgNTA2MiwgMTI2NCwgNjQ4MTcsIDEzMjU0LCAKKyAgICAxMTY5NywgMTI2NTk4LCA5Nzg1LCA2NDcxNiwgMCwgMzkzMywgNzQ1NTksIDQ3NDAsIDc5NTQsIDAsIDEyNTAyMywgNDI2MDksIAorICAgIDEyODM4OCwgNzQxNzUsIDY2OTEyLCAxMjcwMTYsIDAsIDk4Mzg3MywgNDIxMzAsIDk4MzIyMywgNTE1MSwgOTE3ODI5LCAKKyAgICA5MTc4MjMsIDAsIDkzOTgwLCAwLCA3NjIwLCAzODAwLCA2NTEyMiwgMCwgMTI3NzkyLCA4MzU1LCA3ODU0LCAwLCA5NTQsIAorICAgIDY0OTI3LCA0MTg1LCA0MTA0NSwgMTI3MTQxLCA0MTQzOCwgNDE0MzksIDY4NjY2LCAxMDcxMSwgNDU5MywgMTI3NzQ1LCAKKyAgICAxMjA1ODQsIDk4MzQwOCwgNjQ3NzQsIDgwNTMsIDEwNTMyLCA2NjcyNywgMCwgMCwgNzg2NDIsIDY0NzU5LCAxMzI1LCAKKyAgICA1MTY2LCA5ODg4LCAxMjc4MDAsIDUxNDgsIDQyODM0LCAwLCA3ODIwNSwgNzgyMDYsIDQzNzg3LCA3ODIwNCwgNjQxMzEsIAorICAgIDMxMTksIDkxNzgxNCwgMCwgMzA2MCwgNjQxMzUsIDk5ODYsIDAsIDc3ODc2LCA2MzYsIDExNjk4LCAwLCA5MTc4MTAsIAorICAgIDk5MTYsIDExNzAxLCA3ODM2LCA0Mjc0MSwgNjQxMzcsIDgzMjAsIDc4NjQwLCA4ODYzLCA3MDIwMSwgMTE5OTYwLCAxNDc3LCAKKyAgICA0MzI4OSwgNjg0OTIsIDY3MTY0LCA4NjE4LCA5ODM0MDIsIDk5MDgsIDk4Mzk4MSwgMCwgMCwgMzkzNywgMTIzMTIsIDAsIAorICAgIDk4MzQwMywgMCwgNjQ3ODEsIDkxMiwgNjM0OSwgNDUzNiwgOTM5NTQsIDc0NTMyLCAxMjY1OTQsIDYyNDQsIDkyMjA5LCAKKyAgICA3MTM0MSwgMzkzNSwgMTIwNjY1LCA5ODM0NzYsIDAsIDExOTUwLCA1MzkyLCA0MjI0OCwgNjUxMjksIDY4NjU2LCA1Mzk3LCAKKyAgICAxMjgzMTAsIDEyMDQ2LCAxMjU5OSwgNjc0MDcsIDEyODI2MSwgNTM5NSwgMCwgNTM5MywgMzU0LCA2ODYxNSwgNzc4NTMsIAorICAgIDc0MzY2LCAwLCAwLCA0MjAzOSwgMTEzODE3LCAwLCA2NDE0MiwgNjI2LCAwLCA1ODk1LCAwLCAwLCA1NzgwLCAwLCA2NjQwNywgCisgICAgMTI4ODc0LCAwLCAwLCA0MzI5NywgNzAxODgsIDQzMTEsIDQ2NDQsIDg4MTgsIDc4MTU4LCAxMjgxODYsIDAsIDcxNDUsIAorICAgIDM5MTgsIDY2NDUyLCAzNzk3LCAxNjQ0LCA5MjM0NiwgOTY1OCwgNDE0MCwgMTEzODUsIDY1OTQ3LCA2NDU1LCA5MDMwLCAKKyAgICA4MTMsIDExOTk0NSwgNjgxMzEsIDQxNDYsIDExOTk1NywgNTM2MCwgMjQ2NiwgMCwgNjc2NjksIDExOTk0MiwgNjI0OSwgCisgICAgNDIxMTcsIDkyMjg3LCA5MjIwNiwgMCwgMTE5MjU1LCA3NDA0NiwgNDM3NDUsIDQ5MTEsIDk4OCwgNzExODAsIDAsIAorICAgIDk4MzQ2OCwgNDMwNjEsIDcwNTQsIDY0MTQ3LCAwLCA2NDkyMCwgNjgxOTUsIDY2OTgsIDExODkzMywgOTI1MDYsIDAsIAorICAgIDcwODQ5LCAxMTk4MSwgMTIyMDIsIDAsIDExMDMyLCA2NzY1NCwgNjA5MywgMTE2MDgsIDk3NSwgNjY0MTUsIDY1ODQzLCAKKyAgICAxNzAsIDAsIDY3MjM5LCA0MTY5LCAwLCA0MTg1OSwgNjA1OCwgMTIwNDAxLCAxMzIwMywgMTIwNjU3LCA3MDUwNywgCisgICAgMTI1MDkxLCA2ODY1NywgOTgxOCwgMTAxNzgsIDEwMzI0LCA0MjEwNiwgNTg5OCwgNzQ1NDAsIDQ3MzgsIDQxODU2LCA3MDYyLCAKKyAgICAxMjcxMjAsIDQ3MzcsIDExNzc5LCA0NzQyLCAxMjA1NjQsIDkyMzkxLCA2ODM0MiwgOTgzMzY0LCA5ODI1LCA2NDQ4LCAKKyAgICA2NzE1LCAxMjcwMDgsIDQ4MzEsIDk4MzM2MywgOTI1MjUsIDY3NzMxLCA1MzAwLCA0NzQxLCA0MjEwOCwgOTgzMzU0LCAKKyAgICA2NDE1OSwgNDczNiwgNjQxNDgsIDAsIDg0OSwgOTIxOTEsIDc4NDkxLCA0MzI4OCwgMCwgNjY2MjAsIDEyNzUzMywgCisgICAgMTI3MzMxLCA2NTU0OSwgOTQ5NiwgNjQ1OTgsIDExODg2NiwgOTgzMzY2LCA3ODc2LCA2ODEzMiwgNjYyODAsIDM5MjgsIAorICAgIDkxNzg3MCwgNDMzNzgsIDEwNzA2LCA3MTk4LCAwLCA0ODQyLCAxMjA1MywgMTI4MTI5LCAxMjczMDMsIDQ4NDEsIDAsIAorICAgIDQxNzEsIDEyMDA4LCA2MjUxLCAzOTIzLCAxNDkwLCAwLCAxMTk1OTEsIDEyNjUxMiwgNDA5NzIsIDUyNDUsIDcwNzk0LCAKKyAgICAxMDExNCwgNDIwMDEsIDQxODg4LCA0ODQ1LCA4MzMyLCA0MDk3NCwgNjQzNDcsIDQ4NDAsIDkwNzcsIDc4MzQ2LCAxNzQ3LCAKKyAgICA5MTc4NDksIDQ4MjUsIDY5MjQwLCA5MTc4NTIsIDY4NjU1LCAwLCA5ODMzODgsIDAsIDAsIDY4NjI4LCA5ODMzNDcsIDk4NTAsIAorICAgIDExODkzNywgMzY3LCAxNDcyLCA5MTc4NTksIDY2ODcsIDEyNzQsIDAsIDU5MDUsIDEyMzM5LCA4OTE5LCA3Mzk1MywgCisgICAgMTA5MDcsIDY1MjYxLCAxMTAyMywgMTE5NTU5LCA0ODMwLCA5MTM0LCA3ODY2NiwgNjQxMjYsIDQzMDExLCAwLCA3ODY2OSwgCisgICAgNjQxMDEsIDAsIDAsIDQ4MjQsIDEwNjE0LCAxMTk2NTksIDAsIDE4ODgsIDE5NjAsIDc4NjEsIDkxNzg1NiwgNzg1MjQsIAorICAgIDQxODM2LCA0MzAxMiwgNjA1MiwgNjA2NCwgNTQsIDQzMDA5LCAxMjIxNCwgMCwgNjIxMSwgMTIwMzg2LCAzNTgsIDQxOTk3LCAKKyAgICA0MTgzMywgMTE0NDIsIDEwNzU4LCA2NTc3NCwgMTEzODIzLCAxMjAzODQsIDY0MTE1LCA5MjIyMSwgNzAwMTgsIDAsIAorICAgIDk4MzcwOCwgMTE5MDUzLCAwLCAxMjc2NSwgNjQxMTgsIDEyNjk5OCwgMTI5NjIsIDAsIDEyNjU4MCwgNDAxNywgMTI4MjcsIAorICAgIDUyNDEsIDEyMDM5MiwgMCwgNDExMTgsIDM5MjQsIDAsIDExMzY2LCAxMjkwODQsIDAsIDAsIDkxNzg0NiwgNDExMTYsIAorICAgIDkxNzg0NCwgOTE3NTY0LCAxMjkwODEsIDExMzYzLCAxMjA1NywgMTE5MTcsIDE1NjcsIDc0MDAwLCA0NzIxLCAxMjY2NDEsIAorICAgIDY2MjAyLCA4OTU3LCA0MTM5LCA3MDUxMiwgMCwgOTgzMDc0LCAwLCAwLCAxMjc0MCwgMTI4NzAyLCA0NzIyLCA2ODE2LCAKKyAgICAxMjQ5NzQsIDEyNzU5LCA0NzI1LCA2NzA5OSwgNDcyNiwgMCwgMTk0ODkyLCA5ODM2MjIsIDcwMDI5LCA5MTc5MDUsIAorICAgIDkyOTEyLCAxMjc1NSwgMTI3NjIsIDQwMTUsIDY3NjkwLCA4MDUyLCA0NzYsIDAsIDAsIDEyODI5NCwgNjQyMTIsIDQxMDIwLCAKKyAgICAxMzgyLCA2NDIwOSwgNjQyMTYsIDQ0MDAyLCA2NDIxNCwgMTY1NiwgNDE4MzEsIDAsIDEyNTEyMSwgNDE4NDMsIDg3MjAsIAorICAgIDM5MDgsIDE0NTIsIDEzMTExLCA5ODM0MTksIDY0MDY3LCAxMjczMjgsIDg1NTIsIDY0MTEzLCA0MTg0NSwgMzg0OSwgCisgICAgNzg3MzIsIDY2MjMyLCA5Nzc4LCAxMjAwNjYsIDU4OTEsIDcwNjQsIDU1LCA5OTQ4LCAxMTkwODUsIDAsIDkxNzYxMCwgCisgICAgNzkzNSwgMjQyMCwgMCwgMTExNCwgNzgxMjAsIDY3NTg1LCA3MDEwNCwgNzA0MzIsIDkyMTY4LCAxMjAwNTEsIDM5MzgsIAorICAgIDEyMDA1NywgNjU0MTcsIDY0NzE3LCAxMjAwNjAsIDcxOTIwLCA2NTQxNSwgNjY4ODQsIDYyOTIsIDY1MzAzLCA3OTU1LCAKKyAgICA2NDUyLCA0NzEzLCAxMjgxOTYsIDY2MjQ5LCA5MTc4ODUsIDkxNzg5MCwgMTI5MDczLCA2NTE1MiwgNzE5LCAxMjAwNDQsIAogICAgIDc4NjIzLCAxMjAwNDIsIDY3MTMsIDQ1MzIsIDY1NDEyLCA2OTgyMiwgMTA4NjgsIDQ3MTcsIDIzNDksIDU5MDIsIDY2NDUwLCAKLSAgICA0NzEyLCA5MTc5MDIsIDkxNzg5OSwgOTE3OTAwLCA2NTQxNiwgODE1NSwgNDcxOCwgMzk0MiwgNDcxNCwgOTYyNSwgMCwgCi0gICAgNjM4MywgMTk0NzQ0LCAxMjAwNiwgMTI4NTY1LCAwLCAwLCAwLCAwLCA2NTQxNCwgNjQ1NCwgMTIyOSwgMTI2NjA2LCAKLSAgICA2NjQzNywgNjYwMjUsIDc4Njk5LCAwLCA0MjUwMCwgMTIwNTA4LCA0ODA5LCA5NjIzLCA5MTc4NzQsIDc4Njk0LCA5MTc4ODAsIAotICAgIDkxNzg3NywgOTE3ODc4LCA2NTQwNSwgNjgxNTksIDEyODkzLCA5MTc4ODIsIDUzNjUsIDQ1NDUsIDg5MDEsIDkyNDIxLCAKLSAgICAxMTk1NTUsIDQ4MTMsIDEyODI2MiwgMCwgNTkyNSwgNDgwOCwgNjQzMzAsIDAsIDY1NDc1LCAxMTg5NDAsIDE5NTAyOCwgCi0gICAgNDgxNCwgMCwgNDgxMCwgMCwgMCwgNjQ5MjgsIDEwNTQzLCAwLCAzNTIyLCA3MTMzNSwgNDE0LCA2NTQwNCwgMCwgMTk1MDI3LCAKLSAgICA2NDU2LCA3MzgyMCwgMCwgNjY5MSwgNDIxOTMsIDkyMjI1LCAxMjgxNzEsIDAsIDc0NDk1LCAwLCAwLCAwLCAxMTg4MjAsIAotICAgIDk3NTEsIDY1NDA3LCAxMjgwODUsIDExNzcwLCAzOTE5LCAwLCAwLCA2NTA2MSwgMCwgMCwgMCwgMTIyMzUsIDAsIDAsIAotICAgIDEyNzIzMywgNjQwOTIsIDk4MzQ3MCwgNjQwODAsIDAsIDY0MDkwLCAwLCA2OTkxMywgMTAxNjIsIDEwMzEwLCAwLCA4NDU0LCAKLSAgICAxMjc4ODgsIDQyMDM4LCAzODcsIDQxMzYzLCAxMjczNywgMCwgNDc4MCwgNDMzNjgsIDAsIDY0MzEwLCA2NDYyMSwgNjczMiwgCi0gICAgNzgxMTYsIDAsIDk4MzEzOSwgMCwgOTgzMDc0LCA4ODk2LCAwLCAzNzUsIDY5NzYsIDY2NTgyLCAxMTkwMDUsIDk4Mzg3NCwgCi0gICAgMCwgOTgzNDM0LCAxMTkyMDIsIDExOTIwMywgMTI1MjYsIDQzMTIwLCAyMzE1LCAwLCAxOTM4LCAxMTkxOTcsIDAsIDQ1MjksIAotICAgIDExOTIwMCwgMTE5MjAxLCAxMTkxOTgsIDExOTE5OSwgNjk2OTIsIDk4MzQzMiwgNjk2OTgsIDEzMTUwLCA2NDQ5MiwgMCwgMCwgCi0gICAgMjI5MSwgMTI5MDIsIDAsIDQyODkxLCA2NjMyNywgNzQyOTgsIDkxNzg1NywgMTA3OTksIDY5NjkwLCAyNTg3LCA2NjM3MiwgCi0gICAgMCwgNDE5MywgOTIyNTAsIDQyNDEsIDk4MzA1NywgNzk5OCwgMCwgMCwgMCwgMTI2NjQwLCAyMzE2LCAxMTg4MjEsIDAsIDAsIAotICAgIDAsIDY0Mjk3LCA3NDc5OSwgOTI0NDIsIDc0MTQwLCAwLCA1MzczLCAwLCA5ODM4ODYsIDM3NjIsIDEwMDE1LCAxMjA2NzIsIAotICAgIDExOTIzMiwgMCwgNDE1OTAsIDAsIDcwMDk4LCAzNzgwLCA3NDg1LCA1Nzc5LCAwLCA0MjAzNywgMCwgMzkwNiwgMTIzNDksIAotICAgIDAsIDgzMjYsIDAsIDY1NDk4LCAzNzYzLCA2OTgzLCA1NjE4LCAwLCAzNzc5LCAwLCA0MzYxMywgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMjgwLCA3NDU1OCwgMTI3MzMyLCA2ODEzOCwgMTMwNzIsIDE4OTQsIDAsIDAsIDY1NDc4LCA0MzMxMCwgNzIzMSwgMCwgCi0gICAgMTE3NzMsIDAsIDAsIDAsIDAsIDI1NTEsIDAsIDY0NTMsIDEwMjAwLCA2MjM1LCA5ODM3NTIsIDExOTIzNywgMCwgMTI4ODA1LCAKLSAgICA0NDcwLCAxMTgyNiwgOTE3NTU3LCA3NzgwLCA1MzY5LCAxMTg5NTgsIDUyNDksIDAsIDUzNjcsIDg3NTYsIDEyNzE0MywgMCwgCi0gICAgNTM3NywgMTIwNTg1LCA2ODE0MywgMTY4OCwgNzgyNDUsIDk4MzM1NiwgNjk2ODUsIDk4Mzc1NiwgMCwgMCwgNDQwMjAsIAotICAgIDY4MDgsIDQxMzE5LCAxMzAwLCAxMDY1MCwgNDE2OTIsIDY0NTA1LCAyMjkwLCAwLCAxMTk2MjQsIDE0NjUsIDEwODUwLCAKLSAgICAzOTQzLCAwLCA0MTIwNSwgNDEzMTUsIDExODk2MSwgMCwgMCwgNTM1MiwgMCwgMCwgODgzOSwgNDEzMTQsIDczODQsIDc3ODUsIAotICAgIDQxMjA0LCAxMjczMjIsIDQxMjA5LCA2OTYzNywgOTIyNDEsIDQzNjA3LCAwLCAwLCA1NDIwLCAzODk3LCAxMDEzNCwgMCwgCi0gICAgNzQ0MTcsIDQwMTgsIDcxNTAsIDY4MTI3LCAwLCAwLCAwLCAwLCAxMjc1MjYsIDI1NjEsIDY4NjIxLCAzNTQyLCA3MTQ4LCAKLSAgICAxMjA3NiwgNzk1MSwgNjgxNTIsIDExODg1NywgNTMwMywgNjI3NiwgMTcwNiwgMCwgNzg3NTEsIDcxNDYsIDAsIDY1MTUwLCAKLSAgICA0MTgxOSwgMCwgNzM5NTEsIDEwODQ3LCA0MTgyMiwgOTk4NSwgODYwLCAwLCAxMDUwNiwgOTgzNDM1LCA2OTY0MSwgMTA3NTMsIAotICAgIDEwODMwLCAwLCA2MTUsIDY0NDkwLCA3NTc0LCA5MjYxNywgNzc5MjIsIDAsIDEyOTA5LCA0MzAxNiwgNjQ1NTksIDEyNzAyOCwgCi0gICAgMCwgMCwgNjc5OTYsIDIwMjAsIDAsIDQwMjIsIDEyODc4MywgMCwgNzc5MjMsIDEyNjU5MywgNDE2OTEsIDAsIDAsIDc0MzI5LCAKLSAgICAwLCA2NDYyMiwgOTA3MCwgMCwgNjg0MTEsIDM5MTEsIDQyODI5LCA0MzEyMiwgMTAzMywgNzQ0NDAsIDAsIDcwMDAsIDM5MDQsIAotICAgIDAsIDEyODE5OCwgMCwgMTE4OTMxLCAxMTk2MzAsIDEzMTIzLCAxMDg0NiwgMzQ1MCwgMTI3MzYwLCA3Mzk3LCAxMTg4MDcsIAotICAgIDAsIDQyNzc4LCAxMDAwMCwgNDEwODgsIDQ0OSwgMCwgMzc3NywgNjg0NTgsIDAsIDk2MzYsIDAsIDEwNzM4LCA2OTYzNCwgCi0gICAgOTM2NywgNTkzLCA0MTA4NSwgMzk5OSwgNjUyMjYsIDQxNzEzLCAxMjc2NCwgMCwgNjQ0MDksIDM1OTYsIDAsIDAsIDk3NjMsIAotICAgIDEyMDI4MCwgOTIxOTIsIDEyMzQ3LCAxMjQsIDEyOTgxLCA0MTEyNywgMjA5MiwgOTI2ODcsIDAsIDAsIDAsIDEwODIwLCAKLSAgICA0Mzk4NywgMCwgMCwgMTc2OSwgNDE3MTUsIDI0NjMsIDc4NDg5LCAwLCAxMjc3MCwgMTI2NTAwLCAxNTM4LCAwLCA0MzEyNCwgCi0gICAgMCwgMTk1MDU4LCA3Nzk1LCAxMjAzMDAsIDAsIDQ4MjgsIDEyNTgsIDEyNzgwMiwgMjAwNiwgMCwgMCwgOTQ5OCwgMTI3MDMyLCAKLSAgICAxMjcwMzMsIDEyMDI4OSwgMTIwMjg4LCAzOTM5LCAxMjAyOTAsIDg4NDYsIDg5NDMsIDEyMDI4NywgMTIwMjg2LCAyNjUwLCAKLSAgICA0NDkxLCAxOTYxLCA0MjYwMiwgMTE1MjUsIDEyMDI5MiwgMTk1OSwgMTIwMjk0LCA1NTIyOCwgMTE3NzQsIDQxMDE2LCAwLCAKLSAgICA2ODY3NSwgMTI4MDU0LCAxNTExLCA5MzI0LCA3ODIxMSwgMTA1MTksIDY2MzMxLCAzNDU0LCAxOTkzMCwgMCwgNDEwMTksIDAsIAotICAgIDAsIDY1MjkyLCA2ODIyLCAxMjg2MiwgMCwgMCwgNDIxNDMsIDQxODI4LCA3ODIwNywgNjU1MzEsIDc4MjA4LCAxMTg4NzksIAotICAgIDU1MjIzLCAwLCAxMjgwNzEsIDQxODI2LCA4ODY1LCA2NDAyLCAwLCAxMzI3OSwgNzkxNywgNzQ3NTUsIDAsIDc3MzMsIDAsIAotICAgIDQ5OTgsIDk4Mzg5NiwgOTIzMzIsIDQxOTUwLCAwLCA0MjY4LCAwLCAwLCA3MDA2MSwgNDAxMywgMCwgMTA4ODEsIDAsIDAsIAotICAgIDAsIDc0Nzg4LCAyMDE0LCAwLCAwLCA5NzY1LCAwLCAwLCAwLCAxOTUwNTksIDc4MzU3LCA2NTI4MSwgMTI3ODI1LCAxMDk0OSwgCi0gICAgMCwgMCwgMCwgMjAxNSwgMCwgMCwgMCwgNjYzMTgsIDQzMjMzLCAwLCA0MjUxNywgMCwgMCwgMCwgMTI2OTgsIDgwOTQsIAotICAgIDEwMTM1LCA2NTkwOSwgNjQ3NCwgNzk0LCAwLCAxMjY1NiwgMTI4MTIyLCAxMTkzNTMsIDEyODI3MCwgMTY2NSwgMCwgNDgzMywgCi0gICAgOTgzMDUzLCAxMTkzNTEsIDEyNzM2NywgMCwgMTg5LCAxMjYxMSwgMCwgMCwgMjg1OSwgNDgzOCwgMCwgNDgzNCwgNjUwNzgsIAotICAgIDAsIDAsIDQ4MzcsIDEyNzA2MSwgNzcwLCAwLCA4MTEsIDAsIDQxMDQyLCA5MTc1NTEsIDQxMzE4LCA2NDQyNywgMCwgCi0gICAgMTI4MjA4LCA3ODg0OCwgMzg5NSwgMCwgNzQzNDEsIDM5NzYsIDAsIDQyODU5LCAxMDE5MywgMzExNiwgNzc0NywgMCwgMCwgCi0gICAgMCwgMCwgMCwgNDM2ODYsIDc4ODQ2LCA0MTg3NywgMCwgMjg3MSwgNjQ2MTQsIDEyODc4NSwgOTk5LCAwLCA2MzQ1LCAKKyAgICA0NzEyLCA5MTc5MDIsIDkxNzg5OSwgNjU0MDAsIDY1NDE2LCA4MTU1LCA0NzE4LCAzOTQyLCA0NzE0LCA5NjI1LCAwLCAKKyAgICA2MzgzLCAxOTQ3NDQsIDEyMDA2LCAxMjg1NjUsIDE5NDc4OSwgMCwgMTEzNzU2LCAwLCA2NTQxNCwgNjQ1NCwgMTIyOSwgCisgICAgMTI2NjA2LCA2NjQzNywgNjYwMjUsIDc4Njk5LCAwLCA0MjUwMCwgMTIwNTA4LCA0ODA5LCA5NjIzLCA5MTc4NzQsIDc4Njk0LCAKKyAgICA5MTc4ODAsIDkxNzg3NywgOTE3ODU4LCA2NTQwNSwgNjgxNTksIDEyODkzLCA3ODYxNywgNTM2NSwgNDU0NSwgODkwMSwgCisgICAgOTI0MjEsIDExOTU1NSwgNDgxMywgMTI4MjYyLCAwLCA1OTI1LCA0ODA4LCA2NDMzMCwgMTI4NDAwLCA2NTQ3NSwgMTE4OTQwLCAKKyAgICA2ODI0NCwgNDgxNCwgMCwgNDgxMCwgMCwgMCwgNjQ5MjgsIDEwNTQzLCA3MTI0OSwgMzUyMiwgNzEzMzUsIDQxNCwgNjU0MDQsIAorICAgIDAsIDE5NTAyNywgNjQ1NiwgNzM4MjAsIDAsIDY2OTEsIDQyMTkzLCA2NjI4NCwgMTI4MTcxLCAwLCA2ODMzNywgMCwgCisgICAgNDM4NTgsIDQzODMyLCAxMTg4MjAsIDk3NTEsIDY1NDA3LCAxMjgwODUsIDExNzcwLCAzOTE5LCAxMjA3MjQsIDAsIDY1MDYxLCAKKyAgICAwLCA5MTc4OTQsIDAsIDEyMjM1LCAwLCA5MjcwMSwgMTI3MjMzLCA2NDA5MiwgOTgzNDcwLCA2NDA4MCwgMCwgNjQwOTAsIAorICAgIDk4MzU4NiwgNjk5MTMsIDEwMTYyLCAxMDMxMCwgMCwgODQ1NCwgMTI3ODg4LCA0MjAzOCwgMzg3LCA0MTM2MywgMTI3MzcsIAorICAgIDAsIDQ3ODAsIDQzMzY4LCAwLCA2NDMxMCwgNjQ2MjEsIDY3MzIsIDc4MTE2LCAwLCAxOTQ5NTksIDE5NTAyNCwgOTIxOTMsIAorICAgIDg4OTYsIDAsIDM3NSwgNjk3NiwgNjY1ODIsIDExOTAwNSwgOTgzODc0LCAxMjczMjUsIDk4MzQzNCwgMTE5MjAyLCAKKyAgICAxMTkyMDMsIDEyNTI2LCA0MzEyMCwgMjMxNSwgMCwgMTkzOCwgMTE5MTk3LCAxMjg0NTIsIDQ1MjksIDExOTIwMCwgCisgICAgMTE5MjAxLCAxMTkxOTgsIDExOTE5OSwgNjk2OTIsIDEyOTEyNCwgNjk2OTgsIDEzMTUwLCA2NDQ5MiwgMTI4OTc0LCAwLCAKKyAgICAyMjkxLCAxMjkwMiwgMCwgNDI4OTEsIDY2MzI3LCA3MDUwMiwgOTE3ODU3LCAxMDc5OSwgNjk2OTAsIDI1ODcsIDY2MzcyLCAKKyAgICAxMjg2MjgsIDQxOTMsIDY2ODIzLCA0MjQxLCAxMjkxOTUsIDc5OTgsIDExOTg0MCwgMCwgOTgzNTU0LCAxMjY2NDAsIDIzMTYsIAorICAgIDExODgyMSwgMCwgMCwgMCwgNjQyOTcsIDc0Nzk5LCA5MjQ0MiwgNzQxNDAsIDEyODE0OCwgNTM3MywgMTI4Nzk4LCA3MDM3MCwgCisgICAgMzc2MiwgMTAwMTUsIDEyMDY3MiwgMTE5MjMyLCAxMjUxMDksIDQxNTkwLCAwLCA3MDA5OCwgMzc4MCwgNzQ4NSwgNTc3OSwgCisgICAgMCwgNDIwMzcsIDAsIDM5MDYsIDEyMzQ5LCA3NDc5MywgODMyNiwgMCwgNjU0OTgsIDM3NjMsIDY5ODMsIDU2MTgsIDAsIAorICAgIDM3NzksIDk4MzE5NCwgNDM2MTMsIDcwMTMyLCAwLCAwLCA3ODMzNSwgOTgzODkyLCAwLCAyODAsIDc0NTU4LCAxMjczMzIsIAorICAgIDY3Mzk2LCAxMzA3MiwgMTg5NCwgMCwgNjc3MzUsIDY1NDc4LCA0MzMxMCwgNzIzMSwgMCwgMTE3NzMsIDAsIDAsIDExMTQ0LCAKKyAgICA5MTc3NzgsIDI1NTEsIDAsIDY0NTMsIDEwMjAwLCA2MjM1LCA5ODM3NTIsIDExOTIzNywgNzE4NzcsIDEyODgwNSwgNDQ3MCwgCisgICAgMTE4MjYsIDkxNzU1NywgNzc4MCwgNTM2OSwgMTE4OTU4LCA1MjQ5LCA5ODMwNjYsIDUzNjcsIDg3NTYsIDEyNzE0MywgCisgICAgMTE5MTgzLCA1Mzc3LCAxMjA1ODUsIDY4MTQzLCAxNjg4LCA3ODI0NSwgNTIxOCwgNjk2ODUsIDk4Mzc1NiwgMCwgMTEzNzk0LCAKKyAgICA0NDAyMCwgNjgwOCwgNDEzMTksIDEzMDAsIDEwNjUwLCA0MTY5MiwgNjQ1MDUsIDIyOTAsIDcxMDU3LCAxMTk2MjQsIDE0NjUsIAorICAgIDEwODUwLCAzOTQzLCAwLCA0MTIwNSwgNDEzMTUsIDExODk2MSwgMTE5MzMzLCA2NzE0OCwgNTM1MiwgMTEzNzUzLCAwLCAKKyAgICA4ODM5LCA0MTMxNCwgNzM4NCwgNzc4NSwgNDEyMDQsIDEyNzMyMiwgNDEyMDksIDY5NjM3LCA5MjI0MSwgNDM2MDcsIAorICAgIDcxMjU0LCAwLCA1NDIwLCAzODk3LCAxMDEzNCwgMCwgNzQ0MTcsIDQwMTgsIDcxNTAsIDY4MTI3LCAwLCAwLCAwLCAwLCAKKyAgICAxMjc1MjYsIDI1NjEsIDY4NjIxLCAzNTQyLCA3MTQ4LCAxMjA3NiwgNzk1MSwgNjgxNTIsIDExODg1NywgNTMwMywgNjI3NiwgCisgICAgMTcwNiwgMTIwNzUwLCA3ODc1MSwgNzE0NiwgMCwgNjUxNTAsIDQxODE5LCAwLCA3Mzk1MSwgMTA4NDcsIDQxODIyLCA5OTg1LCAKKyAgICA4NjAsIDAsIDEwNTA2LCA5ODM0MzUsIDY5NjQxLCAxMDc1MywgMTA4MzAsIDExOTMzOSwgNjE1LCA2NDQ5MCwgNzU3NCwgCisgICAgNzQwODIsIDc3OTIyLCAwLCAxMjkwOSwgNDMwMTYsIDY0NTU5LCAxMjcwMjgsIDAsIDEyNzAyOSwgNjc5OTYsIDIwMjAsIAorICAgIDk4MzM1MCwgNDAyMiwgMTI4NzgzLCAwLCA3NzkyMywgMTI2NTkzLCA0MTY5MSwgMCwgOTE3ODE4LCA3NDMyOSwgMCwgCisgICAgNjQ2MjIsIDkwNzAsIDAsIDY4NDExLCAzOTExLCA0MjgyOSwgNDMxMjIsIDEwMzMsIDc0NDQwLCAwLCA3MDAwLCAzOTA0LCAKKyAgICA5ODM2MjgsIDczNzM3LCAxMjUxMDUsIDExODkzMSwgMTE5NjMwLCAxMzEyMywgMTA4NDYsIDM0NTAsIDEyNzM2MCwgNzM5NywgCisgICAgMTE4ODA3LCAwLCA0Mjc3OCwgMTAwMDAsIDQxMDg4LCA0NDksIDAsIDM3NzcsIDY4NDU4LCAxMTM3MjUsIDk2MzYsIDAsIAorICAgIDEwNzM4LCA2OTYzNCwgOTM2NywgNTkzLCA0MTA4NSwgMzk5OSwgNjUyMjYsIDQxNzEzLCAxMjc2NCwgOTgzNzIzLCA2NDQwOSwgCisgICAgMzU5NiwgMCwgMTI4MDkwLCA5NzYzLCAxMjAyODAsIDc0NjA5LCAxMjM0NywgMTI0LCAxMjk4MSwgNDExMjcsIDIwOTIsIAorICAgIDkyNjg3LCAwLCAxMjc1NTUsIDAsIDEwODIwLCA0Mzk4NywgMCwgMTI4OTA3LCAxNzY5LCA0MTcxNSwgMjQ2MywgNzEyMTQsIAorICAgIDk4Mzk0NywgMTI3NzAsIDcxMjIyLCAxNTM4LCA5MjYxNywgNDMxMjQsIDE5NDYxNCwgMTk1MDU4LCA3Nzk1LCAxMjAzMDAsIAorICAgIDEyOTA1MywgNDgyOCwgMTI1OCwgMTI3ODAyLCAyMDA2LCAwLCAwLCA5NDk4LCAxMjcwMzIsIDEyNzAzMywgMTIwMjg5LCAKKyAgICAxMjAyODgsIDM5MzksIDEyMDI5MCwgODg0NiwgODk0MywgMTIwMjg3LCAxMjAyODYsIDI2NTAsIDQ0OTEsIDE5NjEsIAorICAgIDQyNjAyLCAxMTUyNSwgMTIwMjkyLCAxOTU5LCAxMjAyOTQsIDU1MjI4LCAxMTc3NCwgNDEwMTYsIDk4MzI2MCwgNjg2NzUsIAorICAgIDEyODA1NCwgMTUxMSwgOTMyNCwgNzgyMTEsIDEwNTE5LCA2NjMzMSwgMzQ1NCwgMTk5MzAsIDAsIDQxMDE5LCAxMjc5NDQsIAorICAgIDAsIDY1MjkyLCA2ODIyLCAxMjg2MiwgMCwgMCwgNDIxNDMsIDQxODI4LCA3ODIwNywgNjU1MzEsIDcwODY0LCAxMTg4NzksIAorICAgIDU1MjIzLCAwLCAxMjgwNzEsIDQxODI2LCA4ODY1LCA2NDAyLCAxMTM4MjcsIDEzMjc5LCA3OTE3LCA3NDc1NSwgOTE3OTQ4LCAKKyAgICA3NzMzLCAwLCA0OTk4LCA2ODQ5MywgOTIzMzIsIDQxOTUwLCAwLCA0MjY4LCAwLCAwLCA3MDA2MSwgNDAxMywgMTI4NzE4LCAKKyAgICAxMDg4MSwgMCwgMCwgMCwgNzQ3ODgsIDIwMTQsIDI0MzIsIDcxOTAxLCA5NzY1LCAwLCAwLCA5MTc4NTQsIDE5NTA1OSwgCisgICAgNzgzNTcsIDY1MjgxLCAxMjc4MjUsIDEwOTQ5LCAwLCAwLCAxMTkzMTUsIDIwMTUsIDAsIDAsIDcxODQwLCA2NjMxOCwgCisgICAgNDMyMzMsIDkxNzk5MiwgNDI1MTcsIDAsIDAsIDAsIDEyNjk4LCA4MDk0LCAxMDEzNSwgNjU5MDksIDY0NzQsIDc5NCwgCisgICAgNDM0OTcsIDEyNjU2LCA2NjMzNSwgMTE5MzUzLCAxMjgyNzAsIDE2NjUsIDcxODUzLCA0ODMzLCA5ODMwNTMsIDcxMTg4LCAKKyAgICAxMjczNjcsIDAsIDE4OSwgMTI2MTEsIDAsIDAsIDI4NTksIDQ4MzgsIDAsIDQ4MzQsIDY1MDc4LCAwLCA5Mjk5MSwgNDgzNywgCisgICAgNjc0MTMsIDc3MCwgOTI2NzEsIDgxMSwgNzAwNjIsIDQxMDQyLCA5MjkxNSwgNDEzMTgsIDY0NDI3LCA3Mzk5OSwgNjc2OTMsIAorICAgIDc4ODQ4LCAzODk1LCAwLCA3NDM0MSwgMzk3NiwgMTI4NDY2LCA0Mjg1OSwgMTAxOTMsIDMxMTYsIDc3NDcsIDc4NDg4LCAwLCAKKyAgICA0MzQ5NiwgMCwgMCwgNDM2ODYsIDc4ODQ2LCA0MTg3NywgMCwgMjg3MSwgNjQ2MTQsIDEyNzAxMCwgOTk5LCAwLCA2MzQ1LCAKICAgICA0MTg3NiwgMjY2MywgMjAxNywgMCwgMCwgMTEwNDAsIDEwMTUwLCAwLCA2NDMwOCwgMTUyMiwgNTk3LCA0Nzc1LCAxMjU1NSwgCiAgICAgMTI1NzEsIDEyNTUwLCAxMjU4MywgMTI1NjAsIDIwMTksIDEyNTU2LCAxMjU4NCwgMzA5MiwgMCwgMTI1NjIsIDQ3ODMsIAotICAgIDEyNTY2LCAxMjU2OSwgMTI1NTQsIDAsIDEwODEyLCA3ODg1MSwgMCwgMCwgMzA3OCwgMTQwMiwgMCwgMTI4Mjc1LCAwLCAwLCAKLSAgICAxMTkyNDgsIDM5NCwgMzA4OCwgMCwgOTIxNzIsIDAsIDM5OTEsIDY0MzkxLCAwLCAxMjg1MjQsIDQyNCwgNjYzMjgsIDE5OTksIAotICAgIDY5NjU5LCA3MzkxNCwgMCwgMCwgMCwgMCwgNDIyMzEsIDgyNDYsIDAsIDAsIDAsIDQxODQwLCA5ODM2MDksIDIzNzcsIAotICAgIDEyOTgsIDY0MDExLCAxMjU3MiwgMTEzMTgsIDEyNTU3LCAxMjU1OSwgMTI1NzAsIDc0NzksIDEwMDMsIDIzNzMsIDk0NDYsIAotICAgIDc0ODEsIDk0NDgsIDQ4LCAwLCA5NDgwLCA0ODEsIDAsIDk0MzgsIDk0MzksIDk0NDAsIDk0NDEsIDg0NjUsIDk0NDMsIAotICAgIDk0NDQsIDk0NDUsIDk0MzAsIDk0MzEsIDk0MzIsIDk0MzMsIDk0MzQsIDk0MzUsIDM5ODQsIDk0MzcsIDAsIDAsIDk0MjQsIAotICAgIDk0MjUsIDk0MjYsIDk0MjcsIDk0MjgsIDk0MjksIDY0NzU4LCAyMzYyLCA5NjU1LCAwLCAyMDA0LCA5MDk2LCA5NzgyLCAKLSAgICAxMjg4NDgsIDkxNzIsIDEyODU0NSwgMTk5NjUsIDAsIDU5NTUsIDY3NjY2LCAxMTA4LCAwLCA3NDc3MywgMCwgMCwgNjQ3ODIsIAotICAgIDM5MjYsIDkyNDQ4LCA2NTIxMCwgODc5OCwgMCwgOTIxNjUsIDEzOTIsIDAsIDAsIDEyNzM2NCwgMTA2MDYsIDgwNjUsIAotICAgIDExODgwNSwgMTAzNTMsIDEwNDE3LCAwLCAwLCA2NDUyNCwgOTI0MTgsIDQwMTksIDAsIDk4MzI4OCwgNDMyODAsIDgyMTksIAotICAgIDY4NDAyLCAxODEyLCAxMTk5NjMsIDk4MzY5MiwgMCwgMTI2NDg4LCA0MjQxMCwgNzQ0NDgsIDExOTEzMiwgNjA1NCwgCi0gICAgMTA2OTcsIDMxNjksIDQyMjk3LCA0MjMyMiwgMTA2NDIsIDM5MDksIDk5NTAsIDAsIDEyODEzOSwgOTgzMjYxLCA2ODY3OCwgCi0gICAgMCwgMCwgMTA0OSwgMCwgNjU3MDcsIDIzMDQsIDQxODA2LCA5MjMyNiwgNDIzMzYsIDM5MjEsIDAsIDExNzc1LCA2NDc2MCwgCisgICAgMTI1NjYsIDEyNTY5LCAxMjU1NCwgMCwgMTA4MTIsIDc4ODUxLCAwLCA5MTc1NjMsIDMwNzgsIDE0MDIsIDAsIDEyODI3NSwgCisgICAgMCwgMTI1MDcyLCAxMTkyNDgsIDM5NCwgMzA4OCwgMCwgOTIxNzIsIDAsIDM5OTEsIDY0MzkxLCAxMjkwNzIsIDEyODUyNCwgCisgICAgNDI0LCA2NjMyOCwgMTk5OSwgNjk2NTksIDczOTE0LCAwLCAwLCA2NjkwMywgMCwgNDIyMzEsIDIyMDksIDEyNTEwMywgMCwgCisgICAgMCwgNDE4NDAsIDY2OTEzLCAyMzc3LCAxMjk4LCA2NDAxMSwgMTI1NzIsIDExMzE4LCAxMjU1NywgMTI1NTksIDEyNTcwLCAKKyAgICA3NDc5LCAxMDAzLCAyMzczLCA5NDQ2LCA3NDgxLCA5NDQ4LCA0OCwgMCwgOTQ4MCwgNDgxLCAwLCA5NDM4LCA5NDM5LCAKKyAgICA5NDQwLCA5NDQxLCA4NDY1LCA5NDQzLCA5NDQ0LCA5NDQ1LCA5NDMwLCA5NDMxLCA5NDMyLCA5NDMzLCA5NDM0LCA5NDM1LCAKKyAgICAzOTg0LCA5NDM3LCAwLCA5MjkzNCwgOTQyNCwgOTQyNSwgOTQyNiwgOTQyNywgOTQyOCwgOTQyOSwgNjQ3NTgsIDIzNjIsIAorICAgIDk2NTUsIDk4MzcwOSwgMjAwNCwgOTA5NiwgOTc4MiwgNzA4NDIsIDkxNzIsIDEyODU0NSwgMTk5NjUsIDAsIDU5NTUsIAorICAgIDY3NjY2LCAxMTA4LCAwLCA3NDc3MywgMCwgMTI4OTA5LCA2NDc4MiwgMzkyNiwgOTI0NDgsIDY1MjEwLCA4Nzk4LCAwLCAKKyAgICA5MjE2NSwgMTM5MiwgMCwgOTgzMjE0LCAxMjczNjQsIDEwNjA2LCA4MDY1LCAxMTg4MDUsIDEwMzUzLCAxMDQxNywgMCwgCisgICAgMTI4NzM5LCA2NDUyNCwgOTI0MTgsIDQwMTksIDAsIDEyNTA4MiwgNDMyODAsIDgyMTksIDY4NDAyLCAxODEyLCAxMTk5NjMsIAorICAgIDk4MzY5MiwgMTI5MTQ0LCAxMjY0ODgsIDQyNDEwLCA3NDQ0OCwgMTE5MTMyLCA2MDU0LCAxMDY5NywgMzE2OSwgNDIyOTcsIAorICAgIDQyMzIyLCAxMDY0MiwgMzkwOSwgOTk1MCwgMTI4ODQ4LCAxMjgxMzksIDk4MzI2MSwgNjg2NzgsIDkyOTE3LCA5ODM3OTAsIAorICAgIDEwNDksIDQzNTE3LCA2NTcwNywgMjMwNCwgNDE4MDYsIDkyMzI2LCA0MjMzNiwgMzkyMSwgMCwgMTE3NzUsIDY0NzYwLCAKICAgICAxMTc2NiwgMTAzOCwgNDIzMDMsIDk4MjMsIDEyNzI3OCwgNjkyMzYsIDQwMDgsIDY0MDA0LCA4NzczLCAxMDczMywgMzYsIDAsIAotICAgIDUxNTMsIDQxODA1LCAwLCA3MzczNSwgNzYzLCA0MTgwOCwgNjQ5MTAsIDk4MzEzMCwgMjAwOSwgMCwgMCwgMTI3MTQyLCAKLSAgICA5NjQwLCAxMTk5NTEsIDAsIDEyMDY5NSwgODYyMSwgMTIwNTIzLCAxMjg1MiwgMzAzMSwgOTgzMDUwLCA2NDM2MSwgMCwgCi0gICAgMTgyLCAxOTQ3MTgsIDkyNzE2LCA5MjU5OCwgMTE5OTUwLCA0MjYxMywgOTA1OCwgMzY2LCAwLCA5ODkyLCA1OTY5LCAKLSAgICAxMTc1NCwgMTA4NDgsIDQ1NzAsIDY1MzAxLCA0NDAxMywgNDI1NSwgMTI3ODg5LCAxMDEwMiwgNDExODksIDQwMDMsIAotICAgIDQxMDI2LCA2ODEwOSwgMTMyOTMsIDQxMTkyLCA2OTYzNSwgMCwgNDIyNTEsIDAsIDQyNTM0LCA2NTE3OSwgMTEyODcsIAotICAgIDYxMjgsIDAsIDExMDM0LCAxMDkyMywgNjQ0MjMsIDAsIDY1NTA2LCAwLCA2NTg2MSwgNzQwODMsIDkyNjAwLCA5OTMyLCAwLCAKLSAgICA5MjQyMywgMTE5OTU1LCAwLCA5ODE3LCAwLCAxMjAxNDAsIDAsIDEyMTE3LCA2NjU4NiwgNDE4MywgMTA1NDAsIDY2MjUwLCAKLSAgICA5MDYzLCAxMjcwNDUsIDAsIDExOTk1NCwgMCwgMTI4OTcsIDM3OTIsIDIwMTEsIDAsIDYwNjUsIDQzMTYwLCAwLCAxOTQ3MTUsIAotICAgIDg2OTIsIDQxMTg2LCA0MTgxNiwgNDEwMjMsIDQxODE4LCA0MTE4NywgMTE2NTksIDc5MjIsIDEyNjE0LCAyMDA1LCA4NTIzLCAKLSAgICA3ODAwMiwgMCwgNzUxMywgMTg2MywgNDcxMCwgMCwgNTk1NiwgNzYyMSwgNzgwMDYsIDkyNjI0LCA0NzA1LCA3MTYsIAotICAgIDc4MDA0LCAwLCA0NzA0LCAxMjAwNDAsIDEyMDI3MCwgNDIyNDEsIDE2MSwgNDM5NzcsIDc0NTQ2LCA2NjIxNCwgNDcwNiwgMCwgCi0gICAgNjk5MTQsIDQyNjcyLCA0NzA5LCAxMDY4MCwgMTE5MDY1LCA0MzI5MywgMTE5OTQ0LCAwLCAxMTkxNjQsIDEyMDMyOCwgCi0gICAgOTI0NjcsIDEwMTg3LCAxNzAwLCAxMTkyMjMsIDAsIDAsIDEyODExOSwgNDAwNCwgMCwgMTA5NjgsIDQzMjk2LCA5ODM2NDIsIAotICAgIDg1MDYsIDAsIDAsIDEyNjk5NiwgMTAwNSwgOTM3LCA3ODIxNiwgNDczNCwgMjg3MCwgMCwgNzgyMTgsIDk4MzEwOSwgNzQ2MywgCi0gICAgNDcyOSwgMCwgMjM1LCAxMzg0LCA0NzI4LCAwLCAxMjA0MjAsIDkyNDkwLCA3NDQ0OSwgODEwOSwgNDMxMDUsIDk4MzE3NCwgCi0gICAgNDczMCwgNDQ3LCAxMzE4NiwgMTUxMywgNDczMywgMTIwNDE1LCAwLCAwLCA0MjUyNywgMTI5MTEsIDQzNDI3LCAxMzgzLCAKLSAgICA4NTY1LCAyNDY5LCAxMjAwMjQsIDY2OTAsIDYxNTYsIDY4MTE3LCA0MzQzOSwgNzk5MywgNDI4OCwgMTIwNDE2LCAyNjc0LCAKLSAgICAxMzIzOCwgMTE5MjIsIDAsIDEyMDMzMCwgMzUxMCwgMTMyMzQsIDAsIDEyMDQwNywgNTYwNSwgNDIwOTUsIDExMzY0LCAwLCAKLSAgICAxMzgwLCA2NTYxNywgMTIwMjUzLCAxMjAyNjEsIDEzMTk2LCAxMzE5NywgMTIwMzA5LCAxMjA2ODIsIDk0OTUsIDExOTM0NiwgCi0gICAgMCwgNTk1OSwgNjc5ODQsIDczOTc2LCAxMjAzMDUsIDQzMzcxLCA2OTQxLCAxMTkzNDksIDEzMjA1LCAxMzIxMSwgNTgwMSwgCisgICAgNTE1MywgNDE4MDUsIDAsIDczNzM1LCA3NjMsIDQxODA4LCA2NDkxMCwgOTgzMTMwLCAyMDA5LCAwLCAxMjc5ODUsIDc0MjQ1LCAKKyAgICA5NjQwLCAxMTk5NTEsIDAsIDY5ODk1LCA4NjIxLCAxMjA1MjMsIDEyODUyLCAzMDMxLCA5ODMwNTAsIDY0MzYxLCAxMjkwODgsIAorICAgIDE4MiwgNjY0MTQsIDkyNzE2LCA5MjU5OCwgMTE5OTUwLCA0MjYxMywgOTA1OCwgMzY2LCAwLCA5ODkyLCA1OTY5LCAxMTc1NCwgCisgICAgMTA4NDgsIDQ1NzAsIDY1MzAxLCA0NDAxMywgNDI1NSwgMTI3ODg5LCAxMDEwMiwgNDExODksIDQwMDMsIDQxMDI2LCAKKyAgICA2ODEwOSwgMTMyOTMsIDQxMTkyLCA2OTYzNSwgMTI0OTc3LCA0MjI1MSwgMCwgNDI1MzQsIDY1MTc5LCAxMTI4NywgNjEyOCwgCisgICAgMTEzODExLCAxMTAzNCwgMTA5MjMsIDY0NDIzLCAwLCA2NTUwNiwgMCwgNjU4NjEsIDc0MDgzLCA2Njg3MiwgOTkzMiwgCisgICAgNDM1MTYsIDkyNDIzLCAxMTk5NTUsIDExOTk0OCwgOTgxNywgMCwgNzEyMzQsIDAsIDEyMTE3LCA2NjU4NiwgNDE4MywgCisgICAgMTA1NDAsIDY2MjUwLCA5MDYzLCAxMjcwNDUsIDAsIDExOTk1NCwgMTEzNjg1LCAxMjg5NywgMzc5MiwgMjAxMSwgMCwgCisgICAgNjA2NSwgNDMxNjAsIDEyODM3OSwgMTk0NzE1LCA4NjkyLCA0MTE4NiwgNDE4MTYsIDQxMDIzLCA0MTgxOCwgNDExODcsIAorICAgIDExNjU5LCA3OTIyLCAxMjYxNCwgMjAwNSwgODUyMywgNzgwMDIsIDEyMDAzNSwgNzUxMywgMTg2MywgNDcxMCwgMCwgNTk1NiwgCisgICAgNzYyMSwgNzgwMDYsIDkyNjI0LCA0NzA1LCA3MTYsIDc4MDA0LCAwLCA0NzA0LCAxMjAwNDAsIDkzMDI0LCA0MjI0MSwgMTYxLCAKKyAgICA0Mzk3NywgNzQ1NDYsIDY2MjE0LCA0NzA2LCA3NDA3NywgNjk5MTQsIDQyNjcyLCA0NzA5LCAxMDY4MCwgMTE5MDY1LCAKKyAgICA0MzI5MywgMTE5OTQ0LCA5ODMxOTAsIDExOTE2NCwgMTIwMzI4LCA5MjM1MCwgMTAxODcsIDE3MDAsIDExOTIyMywgMCwgMCwgCisgICAgMTI3MjAyLCA0MDA0LCAwLCAxMDk2OCwgNDMyOTYsIDk4MzY0MiwgODUwNiwgMTEzNzQ0LCAxOTQ4MTIsIDEyNjk5NiwgCisgICAgMTAwNSwgOTM3LCA3ODIxNiwgNDczNCwgMjg3MCwgMCwgNzgyMTgsIDk4MzEwOSwgNzQ2MywgNDcyOSwgMCwgMjM1LCAxMzg0LCAKKyAgICA0NzI4LCAwLCA3MDQ5NCwgOTI0OTAsIDc0NDQ5LCA4MTA5LCA0MzEwNSwgMTI4NjIzLCA0NzMwLCA0NDcsIDEzMTg2LCAKKyAgICAxNTEzLCA0NzMzLCAxMjA0MTUsIDkyNTQ4LCAwLCA0MjUyNywgMTI5MTEsIDQzNDI3LCAxMzgzLCA4NTY1LCAyNDY5LCAKKyAgICAxMjAwMjQsIDY2OTAsIDYxNTYsIDY4MTE3LCA0MzQzOSwgNzk5MywgNDI4OCwgMTIwNDE2LCAyNjc0LCAxMzIzOCwgMTE5MjIsIAorICAgIDAsIDEyMDMzMCwgMzUxMCwgMTMyMzQsIDk4MzgzMiwgMTIwNDA3LCA1NjA1LCA0MjA5NSwgMTEzNjQsIDkyMjg2LCAxMzgwLCAKKyAgICA2NTYxNywgMTExNjIsIDEyMDI2MSwgMTMxOTYsIDEzMTk3LCAxMjAzMDksIDY3NzA4LCA5NDk1LCAxMTkzNDYsIDEyNzE1NCwgCisgICAgNTk1OSwgNjc5ODQsIDczOTc2LCA2NjI3NSwgNDMzNzEsIDY5NDEsIDExOTM0OSwgMTMyMDUsIDEzMjExLCA1ODAxLCAKICAgICAxMjc2OSwgNjU5MDUsIDQxNjk3LCAxMjgzLCAxMjAzMDIsIDQ3NzksIDAsIDM3MTksIDQwMDYsIDk4MzU2OSwgMTk5NTcsIAotICAgIDEyODc3MywgMjAyMSwgMTE5MzMyLCAxMjA2OTksIDExOTE1MCwgNDMwMjgsIDY1NDkzLCA0MTgzOCwgMzg3NSwgNTk2MiwgCi0gICAgNjQzNDEsIDkyNjE2LCA5ODE0LCA0MzQ1NywgNTgyNywgMzMxNCwgNzc4NywgNzgyMzQsIDY1NDk0LCA2ODE1MywgMCwgMCwgCi0gICAgMTIwNjM2LCA2NDUzMSwgMTIwNjkyLCAxOTQ2MjYsIDAsIDAsIDY2MzE2LCA2NTQ2NywgNTc3MSwgNDEyOTgsIDk4Mzc5NCwgCi0gICAgOTc0MiwgNTIxLCAwLCAxMDgwMCwgOTIyMjIsIDg0MDQsIDE5NDYyNSwgNDgzLCA3MDk2LCA3MDg5LCA2NjMyMywgOTI4LCAwLCAKLSAgICAwLCAxMTkwMTgsIDEwNTk5LCAxMTU4NiwgMzk4OSwgMTA5NzEsIDQzNzQ4LCA2NTc4MiwgOTg0MSwgODg0MywgMTIxNDUsIAotICAgIDkyNDcwLCAxMDA3NCwgNzg1NDgsIDAsIDM3NjksIDAsIDAsIDAsIDk4MzEwNywgOTU3MywgMCwgNjUyOTAsIDg4NDksIDAsIAotICAgIDY1ODU1LCA2NTExMiwgMTc5NiwgMTIwNTA1LCAwLCA2OTY2NSwgODE2NCwgNDEzMDEsIDM1MDIsIDAsIDczODgsIDEwNjIxLCAKLSAgICA3MzgzOCwgNzg1NTMsIDU4MjUsIDEzMDA3LCA2ODE2NSwgMCwgMTIwNDU3LCAxMjY2MSwgNzYwOCwgMTAzNTQsIDEwNDE4LCAKLSAgICA0MjQxMSwgMjAyMiwgMCwgMTQwOSwgMTIxOTUsIDQwMDEsIDMxMTIsIDEwODI0LCAxMjA2MzksIDEzOTAsIDAsIDAsIDQyMSwgCi0gICAgNDM1MzYsIDU4NDYsIDEyMDEyMCwgNDEzMCwgMTI3Nzc1LCA3NTk1LCA0MjU4OCwgNzYwMCwgMTIwMTIxLCA2NjAzNSwgCi0gICAgOTgzOTEzLCAwLCA2NTg1MSwgNDI2MDcsIDEyODE5MCwgOTI0MDMsIDMxNjgsIDAsIDQyMTM0LCAxMTgzMSwgMjM3MCwgCi0gICAgMjg0NiwgOTI2MDUsIDAsIDAsIDEyMDEzMiwgMCwgMTgzNiwgMCwgMCwgOTI1NTgsIDM3NDAsIDY5ODQzLCA2MjkwLCAKLSAgICA2NTM3NCwgMTIwNDUxLCAyMzkwLCAzOTQ0LCA2NjYyOCwgMTIwNDM0LCAwLCA2MTM1LCAzMTE4LCA3NDI2NSwgMTE5MDkzLCAKLSAgICAxMjA0NDYsIDAsIDAsIDgxMjcsIDg5NzUsIDY0NzM5LCA3OTQzLCA5ODM3NDMsIDAsIDEwNjE4LCAyNTg0LCAwLCAwLCAwLCAKLSAgICA5OTk4LCAxMjg1NjQsIDAsIDAsIDAsIDAsIDYyMDQsIDAsIDAsIDgyNzksIDg3NzYsIDY0OTU0LCA0OTc1LCA3MDA3NSwgCi0gICAgMTIwMTMwLCA0MjY3LCAxNjMxLCA0MjIwNiwgNzc5ODMsIDAsIDE5NTA0NiwgNjU3MDAsIDY2NTYyLCAwLCA2NDY0NSwgMCwgCi0gICAgMCwgMTI2NTg4LCAxMjU4NiwgMCwgOTI0MiwgMTI3OTIyLCAwLCA0NTIzLCA1ODQyLCAxMDQ5NSwgMzEyMiwgOTgzNzk3LCAKLSAgICA3NzkzLCA3ODI3NSwgOTMyOCwgMTE5MTA0LCA3ODM5MywgMTI2MDQsIDAsIDY2MTUsIDIyODUsIDkyMzQ0LCAzOTg2LCAKLSAgICA0NDAyNSwgMCwgODkxMiwgNjQ1NTUsIDc0MDksIDAsIDk4MzM1OCwgOTU0MSwgNzgyNzYsIDAsIDExMjc1LCA4NTQwLCAKLSAgICAxMTQ5OCwgMCwgOTgzMzU3LCA0MTA0MCwgMjQ1OSwgMCwgMTMwNjAsIDQxMDQxLCA3NDQxMywgOTgzMTM4LCAwLCAwLCAKLSAgICA2ODQyNywgMTA0NTAsIDEyNTUxLCA0MTA0MywgNzAyMCwgMTIwMzUzLCAzNzY1LCA5ODMzNTAsIDAsIDE2MDYsIDEyMDM0OCwgCi0gICAgMTIwMzUxLCAzMDkzLCA2ODQzNiwgMCwgOTgzMDYxLCAxMTk2MTMsIDAsIDAsIDQzMTIsIDc0MDkxLCAxMjAzMzcsIAotICAgIDEyMDMzNiwgMTE5MjMsIDQwMjMsIDEyMDMzMywgNTc2MywgOTQwMTUsIDQ4MjcsIDEwODk0LCAxMjgxMCwgNjQ0MDYsIAotICAgIDExODc4NSwgNDQ1NSwgNzQzMjEsIDQzMywgMTE5NjIwLCA2NjY2MCwgMjQ5OSwgMCwgMCwgMTE4ODM3LCAxMTk3MywgCi0gICAgMTMwODksIDQyOTMsIDEyMDMyOSwgNDIyMjQsIDQyNzU4LCAxMjE5NiwgNDI4MzcsIDQyMjI2LCAxMTkzMTksIDAsIAotICAgIDExOTEyNiwgNTgxNywgMTI3ODA2LCA1NTI3NywgMzEyMCwgOTc5NywgMCwgMCwgMCwgMTAzODksIDEyNjQ4NSwgMCwgNDg5NSwgCi0gICAgNjUzNTgsIDAsIDQzNTksIDU4NSwgMjM4MywgMzUwOSwgNzAwMzcsIDQ4NiwgNDI5MCwgNTc1OCwgMTI3NTQ2LCAwLCAwLCAKLSAgICA3MDA0LCAwLCA2NTg4MCwgMTI3ODg2LCAxMTkwNDgsIDIzODAsIDExMzgwLCAwLCA5Mzk5NiwgMjM3NiwgMCwgMTE5MzIwLCAKLSAgICAwLCA1MTk3LCAxMjcwNDYsIDEyNzA0NywgMTI3MDQ4LCAyMzY2LCAxMjcwNTAsIDEyNzA1MSwgMTIwNTU0LCAxMjAwNDUsIDAsIAotICAgIDAsIDAsIDk4MzA4NCwgMCwgMCwgMCwgNzQxODgsIDcxMzQyLCA5ODMwODYsIDk4MzU3MywgMTIwMDQ3LCAxMjg1NzUsIDAsIAotICAgIDAsIDEyMDA0OSwgMCwgMTg0NywgMCwgMTAzMzksIDk4MzM2NSwgNDIzODQsIDAsIDQyMjcsIDc0MTU4LCAwLCA5MjUwMSwgCi0gICAgNDMwMzIsIDAsIDQyMzY1LCAwLCAxMjY3MSwgMTEzODQsIDAsIDk4MzQ2NSwgMCwgNjQ3OTcsIDk4MzM0NSwgNTgyMCwgCi0gICAgOTgzMzQ0LCAxMjAwNTIsIDEyMDA2NSwgMCwgMTIwMDY0LCAxMjA2NTAsIDQyMTM3LCA5ODkzLCAyNzU0LCAxMjY2NCwgCi0gICAgMTIwMDYzLCAwLCA3Mzc3LCAxMjc4NjcsIDQxNzk5LCA2NTUzMCwgMTcxMSwgMTI5ODQsIDQzMDM5LCAzMTE0LCA2MjU1LCAKLSAgICA5ODMzNDAsIDExODkzOCwgMCwgMTA4NTMsIDkyNiwgOTgzMzY5LCA3NDE4NCwgOTgzMzY4LCAxMjAwNTUsIDAsIDQzMTc1LCAKLSAgICAwLCA0MzAzNywgNDE3OTgsIDQxMDM1LCAxMTU4MywgMTI3NzY5LCA0MTgwMSwgMTE5MDg4LCAxMTk2MDUsIDUyMCwgNDIwMCwgCi0gICAgMTI2OTksIDgzMzEsIDAsIDMwOTEsIDQxMDM0LCAxMjczNTMsIDk4MzY4MSwgODM2MCwgMCwgNzgwNDQsIDMyMSwgNDIyOSwgCi0gICAgNjQ1NDMsIDkxNzk0NiwgNjU1NjMsIDAsIDkxNzk3NCwgMjg2MSwgNDM3OTMsIDEwMDk1LCAwLCA5MTk1LCA5MjM4NiwgCi0gICAgMTg2MSwgMCwgNzM3MzMsIDAsIDAsIDQzMDQxLCAwLCA0Mzc5NCwgMTI4NTMwLCAzODU5LCAxMjE4MSwgNDE2NjAsIDgyMDksIAotICAgIDAsIDczODY3LCAxMjk3MywgMCwgNzQ3NTcsIDEyNzUxNCwgNDE2NTgsIDAsIDAsIDU3NjAsIDAsIDc0MywgNDQxNCwgCi0gICAgMTIwNzY2LCAwLCA0MjYzMiwgOTE3OTczLCA2NTE2MSwgNzM4OTYsIDEyODU4OSwgMCwgMTQwNSwgMTE5MDYzLCA0MzIyMCwgCi0gICAgNDMzNDEsIDAsIDE5OTE5LCAwLCA2NDUzMiwgNjUzNjcsIDQzNzEwLCAwLCAwLCAzNTEzLCAwLCAxMTg4ODMsIDQzMzQyLCAKLSAgICAxMTkwNjQsIDY1NTI5LCA2NTM2NCwgMTI4MTk3LCAwLCA2NDg1LCAxMzk3LCAwLCA0MTk4NiwgOTI2NzgsIDAsIDAsIAotICAgIDc0MDk3LCAwLCA3NDcxLCAxMjA3OSwgNjc5OTcsIDEyNjgyLCA0MzI4NywgOTIzMTcsIDAsIDk4MzE0MywgOTgzNzA3LCAwLCAKLSAgICAwLCAxMDk5LCAxMDQ5MCwgMCwgMTA1MDEsIDY1MTgxLCA3NDQ2MywgMCwgNDY0LCA0MTYyNCwgNjUyODMsIDY3NjYzLCAKLSAgICA3ODIyMiwgMTM0NiwgMCwgOTE3NjMxLCA2NDU3MywgNjQ4OTcsIDQyMywgMTgxOCwgNjUxNDQsIDAsIDgyNzIsIDEyNzgxMiwgCi0gICAgMTk5MTEsIDQyMTgsIDMwODcsIDY0OTYwLCAxMjcyMzQsIDQzNTY0LCAwLCAwLCA5NTg0LCAxMDQ2NSwgOTgzOTAyLCAKLSAgICA3NDM1OSwgMTI2MjYsIDkxMDYsIDAsIDQyNjQyLCAxMjAyMzAsIDY0NzUwLCA5MzkwLCAwLCA0MTc5NywgMCwgMCwgMjY1LCAKLSAgICA0MTc5NSwgNjQ2NjYsIDEyNjUwOCwgNDM1MzAsIDI3NTIsIDAsIDAsIDk4MzQ5MywgNTksIDAsIDk4MzU5MywgMCwgOTIzNzEsIAotICAgIDc3ODczLCA0MTgxMCwgMCwgNzAxMCwgMCwgNDE4MDksIDQxNDk1LCAxMTkzNjQsIDAsIDQyMjUyLCA0MjIxMywgODAwOSwgCi0gICAgMzMwNSwgNDMwMzMsIDUxMSwgOTI3MDAsIDY2MjU1LCAxMzEyNywgMTIwMDY3LCAwLCA3NDM5NywgMTIwMjM1LCA5MTc5NzcsIAotICAgIDY1OTE1LCAxNDAwLCA0MTgxMiwgMTA2ODUsIDE5NDg3MCwgMjEwMywgMTAzODcsIDQ0NTMsIDQzMjc2LCA5MTc3ODMsIAotICAgIDEzMTU5LCAwLCA2NDgxLCA0MTIxMywgMCwgMCwgMCwgMCwgNDE5ODMsIDc0MTk4LCA2NjE3LCA5MTE2LCAxMTk2NTQsIDAsIAotICAgIDQ2MiwgNjgxMTAsIDEwNDkzLCAwLCA4MTI5LCAwLCAwLCA3NDQ3MSwgNjY0NCwgMTE2NTgsIDAsIDEyODI0NSwgMzQ1MiwgCi0gICAgMTE5MDYsIDk1ODEsIDEzODUsIDMwOTgsIDAsIDExOTAxMywgNDMzNDAsIDAsIDQxMDMzLCA2NDkzLCA0MjYyNiwgMCwgMCwgCi0gICAgMTE0MjYsIDc3ODg3LCAxNjgxLCAxMTg3ODksIDEyMDQsIDM3NTUsIDY0NjYxLCA3MjM1LCAxMDE3MCwgMzk2NiwgODkxMSwgCi0gICAgMCwgNDE4NDEsIDQzMzM4LCAwLCAwLCA1NzI2LCA2NDkxNSwgNDIxNzUsIDAsIDAsIDQxNDk3LCA2NTA0NCwgMTIwMTA5LCAKLSAgICAyODUxLCA0MzAxNywgOTgzNTg5LCAwLCA0MzczLCA3ODA1OCwgMCwgOTU4NywgMTc4OSwgNjY3MSwgMTI4ODQwLCAzMTAwLCAKLSAgICAwLCA2NTM2MCwgMCwgOTIzNjUsIDkxNzc4OSwgNjQ5MjIsIDAsIDgxOTAsIDEyMDgzLCAwLCAwLCA2NTA2LCA2NDMxMiwgCi0gICAgNzQzNzQsIDIzNjgsIDAsIDQ0MTksIDk4Mzg0NywgMTE5MTI1LCAzNDM5LCAxODI1LCAxMTkyLCAxMjAxMDYsIDg4OTEsIAotICAgIDMwODAsIDEyMDIyOCwgMjM0NywgNTQzMCwgMCwgODk5MCwgMjg0OCwgMCwgMTI4MjIzLCA5MjUyOCwgMjQ5LCAwLCAwLCAwLCAKLSAgICAxMjA2NTgsIDAsIDAsIDg4ODMsIDkxNzgwMiwgNzI4LCA2ODE3OCwgOTk1LCAwLCAwLCA2NDgyNiwgMCwgOTE3Nzk4LCAKLSAgICAxMjgzNDgsIDAsIDE5OTQ1LCA4MDkxLCA1NTgsIDAsIDEyMjczLCAxOTQ4MTQsIDk4Mzg1MCwgMTIxMTIsIDY5OTEyLCAwLCAKLSAgICAwLCA3NDQxOSwgMTIzMzUsIDEyMDEwNCwgOTE3Nzk1LCAzNDQzLCAzMTI5LCAwLCAyMTAyLCA2NTQ0NSwgNzgyNTgsIAotICAgIDY0ODkxLCAwLCA3NzI1LCA2NTEwOCwgNzgyNTUsIDAsIDg2MjQsIDY5MjQ2LCAxMjQ0NiwgNDMyOTUsIDAsIDQxODk0LCAwLCAKLSAgICA2Mjc3LCA0MTY3MiwgNDE4OTMsIDEwMDEwLCAxMjg2NzgsIDM1NDAsIDEyODY0OSwgODM1LCA3MTM0MCwgNjk4MTYsIAotICAgIDExOTg2OCwgNzQ0MDgsIDAsIDczOTU5LCA1NDI2LCA0MjU4LCAwLCAwLCA1NDI0LCAxMjgxMjcsIDgyODMsIDAsIDU0MzQsIAotICAgIDk4MzU5MCwgMCwgMTk5MTcsIDExNDA4LCAwLCAxMTk0NywgMCwgMTQwNCwgMzA5NSwgMTE0MzIsIDEyODMwNywgMzQ2NCwgCi0gICAgNjQ4NiwgNDgxOSwgMTI4MjMzLCAwLCA1NzAsIDgwOTUsIDM2NzIsIDExOTg2NCwgMTQ5OCwgNjc4NjYsIDAsIDEyODUzOSwgCi0gICAgNDMxLCAwLCAwLCAxMjgxODIsIDEyODA5NiwgNjgxNjcsIDk4MzY2MywgMTMwOTYsIDEyODY0MywgMCwgNDM0MDgsIDk1MTYsIAotICAgIDEyODUzOCwgNTI2OCwgNDIyMzAsIDQyMjIwLCAwLCA0NDUwLCAxMjA1MTEsIDExNTQ3LCA0MzQxNywgMTI4NTQyLCAzNTYsIAotICAgIDM0NzcsIDIyNywgMTA0ODgsIDY4MjAzLCAzODIsIDExNDE4LCAwLCAxOTUwNjYsIDAsIDAsIDAsIDAsIDY0ODQsIDI1NDEsIAotICAgIDY2MDM5LCAwLCA3ODcxOCwgOTI3MjMsIDM1NDksIDAsIDkxMTAsIDExOTY2NSwgMjc0MywgMCwgNDMyOTAsIDE5NDgxMiwgCi0gICAgOTA5NywgMCwgNDMwMTUsIDg3ODIsIDAsIDc3NiwgMjUyNCwgNDI3MDcsIDg1NzMsIDAsIDEyNjQ5NCwgMCwgMCwgNDI2OTQsIAotICAgIDY0OTQ0LCA4OTUyLCAzODU2LCAxMTg4MTgsIDAsIDU4NzIsIDY0OTUsIDAsIDAsIDAsIDkyNTQzLCAwLCAxMjA3MzMsIAotICAgIDEyODQ5LCAzOTUzLCAxODk3LCAwLCA2NTA5NCwgMTE5OTQsIDQzMzksIDc0NTU2LCA5MjY1NCwgNjc4NDMsIDAsIDAsIDAsIAotICAgIDY4NDczLCA3NDEwNCwgNTIyOCwgMTI4ODA0LCA3ODY4LCA0MzE4NCwgMCwgMCwgNzM5ODYsIDQzNDM4LCAwLCA0MzAyMiwgMCwgCi0gICAgMTE2MiwgOTE3ODQ3LCAyNjcxLCAwLCAwLCA5MjYzMiwgOTI2MzEsIDExODg2NSwgNDU1MywgNzM4MTEsIDAsIDE5NTAwNSwgCi0gICAgMCwgMCwgMTk5MjEsIDc0MzMxLCAxMTQyNCwgMTk1MDA2LCA0NTY3LCA0MTg5MSwgMCwgOTgzNzg4LCA1NTI0OSwgNDgyMCwgCi0gICAgNjUyMzksIDE5NDY2MiwgMCwgMTk0NjY1LCA0MzA0MiwgMTE5MjEyLCAxMzc3LCAxMjg2OSwgNDg5NywgNDI4MjEsIDkyNTAsIAotICAgIDAsIDQ0MzgsIDY0Mzg1LCAwLCAxNzUzLCAxMTMzMSwgNjE0NywgMTk0OTQxLCA0MzI4MiwgODgzMywgMCwgMCwgNjUwNCwgCi0gICAgNzg0MDgsIDEyNjk3OSwgMTA3MTksIDAsIDE4OTgsIDE0MTMsIDQyNDQzLCAwLCA4MDIsIDEyMTQxLCAwLCAxOTQ2NzEsIAotICAgIDY2NDgsIDEwNjcxLCAyNTI4LCAwLCA2NDc4OSwgOTE2OSwgODM4LCAxMjAwODcsIDEyMDY5NywgODQ0LCA1MDE0LCAwLCAKLSAgICAyNTYsIDAsIDk5OTAsIDAsIDQyNzM5LCA5MTc4NTEsIDc1NDIsIDY1NDY0LCA5NzI2LCAwLCA2NDg5LCAxMDA0OCwgNzQzMjYsIAotICAgIDc4NzE5LCA2NjU3MywgMCwgNzg3MjQsIDc4NzEyLCAxMTc2MSwgMTk0NjU1LCAwLCA0MTA5NCwgMCwgMCwgMTk0ODkzLCAwLCAKLSAgICA5MjY4OSwgNjE5NiwgNjk0NSwgOTM5NjksIDE5NDg5MCwgMTI4MTg0LCAxMjA0OTEsIDExODE2LCAxOTQ5NDMsIDU3MzMsIAotICAgIDI5MzAsIDAsIDAsIDQxMDk4LCAwLCA0MTA5MywgMCwgNjY2MjYsIDU4OCwgOTc2MCwgMCwgMTk0NzE3LCAxMjM4LCAyMDAsIAotICAgIDk4MzIwNywgMTY2MCwgNzM5MTYsIDAsIDExODkwNSwgNzQzNjIsIDAsIDkyNDg1LCAxOTQ2NTEsIDAsIDk4MzcwNiwgMzM5NCwgCi0gICAgMTk0ODk0LCAxMjA2NjgsIDAsIDAsIDEyNzM1OCwgNjYyMTksIDEyNzE4MywgNDMyODQsIDE5NDY1NiwgNzgxNywgMTg0MSwgCi0gICAgMTEwNTUsIDEyMDUzMywgMTk0OTc5LCAxOTQ5ODIsIDE2NjksIDEwNzc2LCAxOTQ5ODEsIDc3MDEsIDE5NDk4MCwgMCwgCi0gICAgMTk0OTk1LCAxNzMyLCA0MDMwLCAwLCAzOTYzLCA2NjYxMSwgMTI3NTMwLCA0MTc2OCwgNjQ5MSwgMCwgNjUzMjQsIDkxNCwgCi0gICAgNjUzMjMsIDgwNzEsIDM1MzgsIDAsIDIyODcsIDY1MzI4LCA5MjQ0MSwgNzQzNjcsIDc2MTQsIDAsIDExODE5LCAwLCAKLSAgICAxMjAwOSwgMTIzOTksIDAsIDY3ODUyLCA2NTUzNywgMCwgMTA4NDEsIDQzNDMwLCA1MzAxLCAwLCA5MjYxOCwgNTczNCwgCi0gICAgODk2MCwgMCwgOTI1MjcsIDY1MzE3LCA3Nzg4MCwgMCwgMCwgMCwgMTIzMDQsIDAsIDAsIDY1MzE1LCA5MjY3MCwgMTI4NTExLCAKLSAgICAwLCAwLCAwLCAxMTk2MjEsIDkyNTI5LCA3NDUzNiwgMTI0NDcsIDY0NDg2LCAxMjczNzQsIDEyNjU2MiwgOTgzMTI5LCAwLCAKLSAgICAwLCA5ODM4MDIsIDQyNzY3LCAxMDkxNSwgMCwgMTIwMDcsIDQzNjk1LCAxMjA1MjAsIDExOTc1LCAxOTQ4NzgsIDAsIAotICAgIDkyNjA0LCAyNTU1LCA4NjI5LCAxMjg2NDAsIDQzMTY4LCA0MTg3MiwgNDM3MDYsIDQ0OTYsIDE5NDg3OSwgMTI4MTQ4LCAKLSAgICAxMjAyNDEsIDAsIDAsIDAsIDAsIDY0NzMwLCA3MDA0MSwgNjY3MTQsIDY4MjIyLCAwLCA3MDA3NiwgNjU1OTYsIDkyMzA2LCAKLSAgICAxMTQxNiwgNDI4MCwgNjc2NTUsIDg3NjUsIDEyNzg0LCA3NzkyLCAxMzkzLCAxMjY0NzMsIDY3ODcxLCA3NDM4NiwgMCwgCi0gICAgODIzMywgMTI4MjAsIDAsIDY2ODMsIDE5NDg3NiwgMzQ0MiwgMTIxNDQsIDI4NDEsIDEyNTQzLCAwLCAxNDczLCA0MjgyMCwgCi0gICAgNjQzMjksIDEyNzgzMiwgMCwgNjg2NDIsIDY0ODgsIDM1NywgMTA0OCwgNDExMDAsIDAsIDQxMTA0LCA5NDAwMywgMzQwNiwgCi0gICAgMTA1NCwgNzEzMjAsIDEwNDAsIDY1NDUwLCAwLCA0NDM0LCAxMDY5LCAwLCAxMTg4NjIsIDY1NzM3LCA5MTc3NjUsIAotICAgIDEyODcwNSwgMCwgOTgzNjkzLCA5NjkzLCA0MTk0MywgMTI2NTY0LCA0MTkzMSwgNDE3NTksIDEyNzU3LCA0MzUzLCAwLCAKLSAgICAxMDU5LCA5NzkwLCA4OTk1LCAxMTk5NzQsIDk4MzY5NiwgNjU5MzcsIDAsIDQxNzY0LCAxMDY0NiwgMCwgMTE4ODMzLCAKLSAgICA5MjM3MiwgMCwgNzQ4MzAsIDc4NTY5LCAxMjc0MywgOTgzNjg5LCA2NDgwLCA5MTc3NjEsIDQxNzc5LCA0MjU4MCwgNjY2MDEsIAotICAgIDEyMjA3LCAxMTk2MTksIDYzMzUsIDY2NjAyLCAxMTMxMiwgNjQ4MDcsIDAsIDAsIDQxNzY3LCAxMTk2MjksIDk4Mzc2NCwgCi0gICAgNDMwMjAsIDEyODI3MSwgMzk1NSwgNzQyNTQsIDAsIDk4Mzc1NCwgOTE3ODYxLCAwLCA3NzkyNiwgOTc3MCwgOTI0NiwgCi0gICAgMTIyMzAsIDAsIDAsIDAsIDEwNDQ4LCA0MTc4MywgNDE3ODYsIDEyNzA5MywgMTI3OTcsIDI3NTUsIDY0NTcxLCA3ODU3OCwgCi0gICAgMTk0OTI3LCA0ODU3LCAwLCA0NDI4LCAxMjc5NCwgNzM3NTUsIDEyODA2MSwgNzg1NzQsIDAsIDc0Mjg0LCAwLCA1NzQ3LCAKLSAgICA3ODgyNSwgMCwgNzk3OCwgNDEwOTIsIDc0NTcxLCAwLCAxMTkyNCwgNDM4MTIsIDQyMTQ0LCA2NTAxNSwgMCwgNTYzLCAwLCAKLSAgICA5ODM2OTEsIDEyNzk4LCAxMTI3MSwgNTcsIDAsIDAsIDkxNzg2MCwgMTE5MDQzLCAwLCA5NDA1MSwgNDMxMzcsIDY5NCwgMCwgCi0gICAgOTg3NiwgMCwgMTE5MTY4LCAwLCA3ODgyMiwgNjQ1MzcsIDAsIDI3NywgNzQzODUsIDcyMjksIDEyNzYxLCAwLCAwLCAKLSAgICAxMzAyNSwgNjQ4MTEsIDg3NTcsIDc4ODI0LCAxMjY0NzgsIDE1NzQsIDczODEsIDAsIDI1MjUsIDQ4NTIsIDU3NDksIAotICAgIDY4NDY1LCAxMzAyNywgNDI4MjQsIDEyMDU3NCwgMTAzOSwgNzE1MSwgMTAxNTUsIDU3NDUsIDE4OCwgNDE4NTgsIDExNTkyLCAKLSAgICAwLCA3NDAxNSwgOTA1NSwgNDE4NTMsIDQ4NTgsIDkxNzc4MCwgMCwgNDM2LCA0NzcxLCAwLCAyNzg2LCAwLCA0ODU2LCAKLSAgICA4MDUxLCAwLCAxMTk2MDksIDcxMzI3LCA5NjQ0LCAwLCAwLCAwLCAxOTQ5MTYsIDEyMDczMiwgNjY3MTAsIDExODgzNCwgCi0gICAgOTgzMzU5LCA3MzkwNiwgMTI4NjgwLCAxMjcxMTQsIDAsIDEwMjM0LCA1ODQzLCAxMTkzOSwgMCwgNDIxNTcsIDAsIDMxNTcsIAotICAgIDE5NDkxOCwgNjgzOTMsIDAsIDM1MDQsIDExOTE3OCwgMCwgMTA4MjIsIDUxNDksIDY2MDI5LCAxMDIyNiwgNjUxNDIsIAotICAgIDEyODAyNSwgMzU5NCwgNDI0MjQsIDE5NDk1OSwgNDAsIDEyNjU3LCA5ODM2NjUsIDAsIDM4NiwgMCwgODgzNCwgMCwgCi0gICAgMTI4MTUsIDQzNTc0LCAwLCA3MzkwNywgMCwgNzQxOTYsIDcyMjAsIDc0NTA0LCAwLCA3NDMxNiwgMCwgNjUzMjIsIDQzMDQsIAotICAgIDc0NTAzLCA4MTYwLCA3ODcwNywgMTk0NzUzLCAwLCAwLCAxMjg1MjYsIDEzNDgsIDkyMzQ5LCA3ODU5NywgMTI2NTM5LCAKLSAgICAxMzMwMywgMCwgOTIzOTIsIDE5NDc1NSwgNzU5OSwgMTI3OCwgNDM2MTYsIDEzMjY5LCAwLCAwLCA3NDM4NywgNzgxNzksIAotICAgIDc4NTk4LCA3NDQ5MiwgNjA5NywgNzU2OCwgODc4MCwgNDk4MiwgMTI3NDY0LCA3NDUwMSwgMTk0NzYzLCA3ODU5MiwgCi0gICAgMTk0NzYyLCAyNjcyLCAzNzM1LCAxMjc0NzAsIDEzMTM4LCA0MjI2NiwgOTQ4NCwgMTA3MjQsIDQxMjAyLCA3MTM2NCwgMCwgCi0gICAgNDM3NDIsIDAsIDk0ODcsIDExOTk1OSwgMTE5MTE3LCAzODQyLCAxMjg3NjgsIDc4NjY4LCAxMjQ0MiwgNjE5MywgOTc5MSwgCi0gICAgMTI3OTc2LCAwLCA0MjUxNiwgNzIyOCwgNzU1OSwgNzQ4MDMsIDc4NDY4LCA3ODczLCAxMTM5OSwgMTE5MjE5LCAxOTQ2OTEsIAotICAgIDE5NDg1NSwgMTk0NjkwLCAxOTQ4NTcsIDM2MDQsIDEyMDY4MywgMTE5MTg4LCAxMjg4NzcsIDc4NTQwLCA3ODU0MSwgCi0gICAgNDI1MDcsIDE5NjIsIDQzMzA1LCA3ODQ3NiwgNDI1MDUsIDExNjYwLCAwLCAyMDcyLCA5MjMxMiwgNjk5NSwgNzQxNzMsIAotICAgIDU0MzcsIDc0MTc0LCAxMDY2OSwgODcwMiwgNzk2NCwgOTIzNTIsIDAsIDE5OSwgMTk0ODQzLCA0MTA1LCAxOTQ4NDUsIAotICAgIDE5NDY5OSwgMTk0ODQ3LCAxOTQ3MTAsIDExOTg3NSwgMTMxNDgsIDc1NjAsIDc4NDc5LCA5MjI2LCA3ODQ4MCwgMTk1MDcwLCAKLSAgICA2NDcyLCA2NTgxNCwgNzM5NTQsIDAsIDQ3MjQsIDAsIDAsIDkxOTEsIDAsIDY0NDMyLCA5ODM4MTcsIDk4MzI0NywgCi0gICAgMTk1MDI0LCAxMDE5NiwgNzg4NiwgMCwgNjU4NSwgMCwgNjY4MCwgMTk1MDQyLCAwLCAxOTUwNTEsIDY2NzksIDc0NDEyLCAKLSAgICA5MjI1MSwgMTk0ODY2LCA3NDQyMSwgMTEzODIsIDk4MzYzMSwgOTgzNjM3LCAxMjc4OTEsIDEyNzQ4NCwgMTk0ODMzLCAKKyAgICA3MTE4NiwgMjAyMSwgMTE5MzMyLCA0Mzg3NywgMTE5MTUwLCA0MzAyOCwgNjU0OTMsIDQxODM4LCAzODc1LCA1OTYyLCAKKyAgICA2NDM0MSwgOTI2MTYsIDk4MTQsIDQzNDU3LCA1ODI3LCAzMzE0LCA3Nzg3LCA3MTE4OSwgNjU0OTQsIDY4MTUzLCAxMjY5OTEsIAorICAgIDE5NDY5NywgMTIwNjM2LCA2NDUzMSwgMTIwNjkyLCAxOTQ2MjYsIDAsIDAsIDY2MzE2LCA2NTQ2NywgNTc3MSwgNDEyOTgsIAorICAgIDk4Mzc5NCwgOTc0MiwgNTIxLCAwLCAxMDgwMCwgOTIyMjIsIDg0MDQsIDE5NDYyNSwgNDgzLCA3MDk2LCA3MDg5LCA2NjMyMywgCisgICAgOTI4LCAwLCAwLCAxMTkwMTgsIDEwNTk5LCAxMTU4NiwgMzk4OSwgMTA5NzEsIDQzNzQ4LCA2NTc4MiwgOTg0MSwgODg0MywgCisgICAgMTIxNDUsIDY3MjYxLCAxMDA3NCwgNzg1NDgsIDkzOTk5LCAzNzY5LCAwLCAwLCAxMjg3MDMsIDk4MzEwNywgOTU3MywgMCwgCisgICAgNjUyOTAsIDg4NDksIDExOTI1NCwgNjU4NTUsIDY1MTEyLCAxNzk2LCA3MTA0NiwgMCwgNjk2NjUsIDgxNjQsIDQxMzAxLCAKKyAgICAzNTAyLCAwLCA3Mzg4LCAxMDYyMSwgNzM4MzgsIDc4NTUzLCA1ODI1LCAxMzAwNywgNjgxNjUsIDkyMjAzLCAxMjA0NTYsIAorICAgIDEyNjYxLCA3NjA4LCAxMDM1NCwgMTA0MTgsIDQyNDExLCAyMDIyLCAwLCAxNDA5LCAxMjE5NSwgNDAwMSwgMzExMiwgCisgICAgMTA4MjQsIDEyMDYzOSwgMTM5MCwgNzAxODQsIDAsIDQyMSwgNDM1MzYsIDU4NDYsIDEyMDEyMCwgNDEzMCwgMTI3Nzc1LCAKKyAgICA3NTk1LCA0MjU4OCwgNzYwMCwgNzQ0MDAsIDY2MDM1LCAxOTUwOTEsIDAsIDY1ODUxLCA0MjYwNywgMTI4MTkwLCA5MjQwMywgCisgICAgMzE2OCwgNjc3MzMsIDQyMTM0LCAxMTgzMSwgMjM3MCwgMjg0NiwgOTI2MDUsIDEyODE4MywgMCwgMTIwMTMyLCAwLCAxODM2LCAKKyAgICAwLCAwLCA5MjU1OCwgMzc0MCwgNjk4NDMsIDYyOTAsIDY1Mzc0LCAxMjA0NTEsIDIzOTAsIDM5NDQsIDY2NjI4LCAxMjA0MzQsIAorICAgIDAsIDYxMzUsIDMxMTgsIDc0MjY1LCAxMTkwOTMsIDExMzY5MCwgNzc5NzUsIDAsIDgxMjcsIDg5NzUsIDY0NzM5LCA3OTQzLCAKKyAgICAxMjQ5NjgsIDExOTIzNCwgMTA2MTgsIDI1ODQsIDAsIDAsIDEyODIyNSwgOTk5OCwgMTIwNTczLCAwLCAwLCAxMjc3NTAsIAorICAgIDQzNTA4LCA2MjA0LCAxMjcwNDQsIDAsIDgyNzksIDg3NzYsIDY0OTU0LCA0OTc1LCA3MDA3NSwgMTIwMTMwLCA0MjY3LCAKKyAgICAxNjMxLCA0MjIwNiwgNzc5ODMsIDEyODAxNSwgMTk1MDQ2LCA2NTcwMCwgNjYzODYsIDAsIDY0NjQ1LCAwLCA5Mjg4NywgCisgICAgMTI2NTg4LCAxMjU4NiwgMCwgOTI0MiwgMTIwMTAwLCAwLCA0NTIzLCA1ODQyLCAxMDQ5NSwgMzEyMiwgOTgzNzk3LCA3NzkzLCAKKyAgICA3ODI3NSwgOTMyOCwgMTE5MTA0LCA3ODM5MywgMTI2MDQsIDkyODg1LCA2NjE1LCAyMjg1LCA5MjM0NCwgMzk4NiwgNDQwMjUsIAorICAgIDAsIDg5MTIsIDY0NTU1LCA3NDA5LCA5MjI0NywgOTgzMzU4LCA5NTQxLCA3ODI3NiwgMTEzNjY5LCAxMTI3NSwgODU0MCwgCisgICAgMTE0OTgsIDAsIDk4MzM1NywgNDEwNDAsIDI0NTksIDEyODYyOSwgMTMwNjAsIDQxMDQxLCA3NDQxMywgOTgzMTM4LCAwLCAKKyAgICA3NzkzMSwgNjg0MjcsIDEwNDUwLCAxMjU1MSwgNDEwNDMsIDcwMjAsIDEyMDM1MywgMzc2NSwgOTI4ODEsIDAsIDE2MDYsIAorICAgIDEyMDM0OCwgOTIyOTksIDMwOTMsIDY4NDM2LCAxMjgwNDAsIDk4MzA2MSwgMTE5NjEzLCAwLCAwLCA0MzEyLCA3NDA5MSwgCisgICAgMTIwMzM3LCAxMjAzMzYsIDExOTIzLCA0MDIzLCAxMjAzMzMsIDU3NjMsIDk0MDE1LCA0ODI3LCAxMDg5NCwgMTI4MTAsIAorICAgIDY0NDA2LCAxMTg3ODUsIDQ0NTUsIDc0MzIxLCA0MzMsIDExOTYyMCwgNjY2NjAsIDI0OTksIDY3MTY3LCA2NzE2NiwgCisgICAgMTE4ODM3LCAxMTk3MywgMTMwODksIDQyOTMsIDEyMDMyOSwgNDIyMjQsIDQyNzU4LCAxMjE5NiwgNDI4MzcsIDQyMjI2LCAKKyAgICAxMTkzMTksIDAsIDExOTEyNiwgNTgxNywgMTI3ODA2LCA1NTI3NywgMzEyMCwgOTc5NywgMCwgMCwgMTEwODYsIDEwMzg5LCAKKyAgICAxMjY0ODUsIDAsIDQ4OTUsIDY1MzU4LCAxMjQ5NDEsIDQzNTksIDU4NSwgMjM4MywgMzUwOSwgNzAwMzcsIDQ4NiwgNDI5MCwgCisgICAgNTc1OCwgMTI3NTQ2LCAwLCAwLCA3MDA0LCAxMTM2NjcsIDY1ODgwLCAxMjY1MTQsIDExOTA0OCwgMjM4MCwgMTEzODAsIDAsIAorICAgIDkzOTk2LCAyMzc2LCA3ODg0MSwgMTE5MzIwLCAwLCA1MTk3LCA3MDgzOSwgMTI3MDQ3LCAxMjcwNDgsIDIzNjYsIDEyNzA1MCwgCisgICAgMTI3MDUxLCA3MDgzNywgMTIwMDQ1LCAwLCAxMjg1NTQsIDAsIDk4MzA4NCwgMCwgMCwgMCwgNzQxODgsIDcxMzQyLCAKKyAgICA3ODQ1NSwgOTgzNTczLCAxMjAwNDcsIDEyODU3NSwgMTIwMDQ2LCAxMjc1NDIsIDEyMDA0OSwgMCwgMTg0NywgMCwgMTAzMzksIAorICAgIDk4MzM2NSwgNDIzODQsIDAsIDQyMjcsIDc0MTU4LCAwLCA3NDQ5OCwgNDMwMzIsIDEyNTAxMCwgNDIzNjUsIDAsIDEyNjcxLCAKKyAgICAxMTM4NCwgMTIwMDU5LCA3NDI2NCwgMTIwMDU4LCA2NDc5NywgOTgzMzQ1LCA1ODIwLCA5ODMzNDQsIDEyMDA1MiwgCisgICAgMTIwMDY1LCAxMjg4MjUsIDEyMDA2NCwgMTIwMDUzLCA0MjEzNywgOTg5MywgMjc1NCwgMTI2NjQsIDEyMDA2MywgMTI4OTAwLCAKKyAgICA3Mzc3LCAxMjc4NjcsIDQxNzk5LCA2NTUzMCwgMTcxMSwgMTI5ODQsIDQzMDM5LCAzMTE0LCA2MjU1LCA5ODMzNDAsIAorICAgIDY4NjYwLCAwLCAxMDg1MywgOTI2LCA5ODMzNjksIDc0MTg0LCA5ODMzNjgsIDEyMDA1NSwgMTk0OTkzLCA0MzE3NSwgMCwgCisgICAgNDMwMzcsIDQxNzk4LCA0MTAzNSwgMTE1ODMsIDEyNzc2OSwgNDE4MDEsIDExOTA4OCwgMTE5NjA1LCA1MjAsIDQyMDAsIAorICAgIDEyNjk5LCA4MzMxLCAwLCAzMDkxLCA0MTAzNCwgNjYyOTgsIDk4MzY4MSwgODM2MCwgOTgzNDQzLCA3ODA0NCwgMzIxLCAKKyAgICA0MjI5LCA2NDU0MywgMTI4NDcwLCA2NTU2MywgMCwgOTE3OTc0LCAyODYxLCA0Mzc5MywgMTAwOTUsIDE5NDczNSwgOTE5NSwgCisgICAgOTIzODYsIDE4NjEsIDAsIDczNzMzLCAwLCAwLCA0MzA0MSwgMCwgNDM3OTQsIDEyODUzMCwgMzg1OSwgMTIxODEsIDQxNjYwLCAKKyAgICA4MjA5LCA3MDc5MywgNzM4NjcsIDEyOTczLCAwLCA3NDc1NywgMTI3NTE0LCA0MTY1OCwgMCwgMCwgNTc2MCwgMTEzNjk5LCAKKyAgICA3NDMsIDQ0MTQsIDEyMDc2NiwgMCwgNDI2MzIsIDkxNzk3MywgNjUxNjEsIDczODk2LCAxMjg1ODksIDAsIDE0MDUsIAorICAgIDExOTA2MywgNDMyMjAsIDQzMzQxLCAwLCAxOTkxOSwgMCwgNjQ1MzIsIDY1MzY3LCA0MzcxMCwgMTExOTksIDE5NDkwNywgCisgICAgMzUxMywgMTI4ODU0LCA3MDM0MSwgNDMzNDIsIDExOTA2NCwgNjU1MjksIDY1MzY0LCAxMjgxOTcsIDAsIDY0ODUsIDEzOTcsIAorICAgIDAsIDQxOTg2LCA5MjY3OCwgMCwgMTk0Nzg0LCA3NDA5NywgMCwgNzQ3MSwgMTIwNzksIDY3OTk3LCA2ODQzLCA0MzI4NywgCisgICAgOTIzMTcsIDAsIDY3NDA2LCA5ODM3MDcsIDAsIDcxOTE0LCAxMDk5LCAxMDQ5MCwgMCwgMTA1MDEsIDY1MTgxLCA3NDQ2MywgCisgICAgMTI4OTUyLCA0NjQsIDQxNjI0LCA2NTI4MywgNjc2NjMsIDc4MjIyLCAxMzQ2LCAwLCA2NTY3OSwgNjQ1NzMsIDY0ODk3LCAKKyAgICA0MjMsIDE4MTgsIDY1MTQ0LCAxMTM3NDgsIDgyNzIsIDEyNzgxMiwgMTk5MTEsIDQyMTgsIDMwODcsIDY0OTYwLCAxMjcyMzQsIAorICAgIDQzNTY0LCAwLCAwLCA5NTg0LCAxMDQ2NSwgOTgzOTAyLCA3NDM1OSwgMTI2MjYsIDkxMDYsIDAsIDQyNjQyLCA3MTIzNSwgCisgICAgNjQ3NTAsIDkzOTAsIDAsIDQxNzk3LCAwLCAwLCAyNjUsIDQxNzk1LCA2NDY2NiwgNzQ2MjgsIDQzNTMwLCAyNzUyLCAKKyAgICAxMjczNjUsIDEyODQ1OSwgOTgzNDkzLCA1OSwgOTgzNjcxLCA5ODM1OTMsIDExMTQ5LCA3ODA3NCwgNzc4NzMsIDQxODEwLCAKKyAgICAwLCA3MDEwLCAwLCA0MTgwOSwgNDE0OTUsIDExOTM2NCwgNTg3NywgNDIyNTIsIDQyMjEzLCA4MDA5LCAzMzA1LCA0MzAzMywgCisgICAgNTExLCA5MjcwMCwgNDM4NDgsIDEzMTI3LCAxMjAwNjcsIDk4Mzk0NiwgNzQzOTcsIDEyMDIzNSwgOTE3OTc3LCA2NTkxNSwgCisgICAgMTQwMCwgNDE4MTIsIDEwNjg1LCAxOTQ4NzAsIDIxMDMsIDEwMzg3LCA0NDUzLCA0MzI3NiwgOTE3NzgzLCAxMTE2OSwgMCwgCisgICAgNjQ4MSwgNDEyMTMsIDAsIDAsIDEyOTEzMywgMTI5MDUwLCA0MTk4MywgNzQxOTgsIDY2MTcsIDkxMTYsIDExOTY1NCwgCisgICAgOTI5OTUsIDQ2MiwgNjgxMTAsIDEwNDkzLCA5MTc5NzYsIDgxMjksIDkyOTk0LCAxMjgzNjUsIDc0NDcxLCA2NjQ0LCAKKyAgICAxMTY1OCwgMCwgMTI4MjQ1LCAzNDUyLCAxMTkwNiwgOTU4MSwgMTM4NSwgMzA5OCwgMCwgMTE5MDEzLCA0MzM0MCwgMTExMjMsIAorICAgIDQxMDMzLCA2NDkzLCA0MjYyNiwgMCwgMTI5MDUxLCAxMTQyNiwgNzc4ODcsIDE2ODEsIDExODc4OSwgMTIwNCwgMzc1NSwgCisgICAgNjQ2NjEsIDcyMzUsIDEwMTcwLCAzOTY2LCA4OTExLCAwLCA0MTg0MSwgNDMzMzgsIDAsIDAsIDU3MjYsIDY0OTE1LCAKKyAgICA0MjE3NSwgOTgzOTEzLCAwLCA0MTQ5NywgNjUwNDQsIDEyMDEwOSwgMjg1MSwgNDMwMTcsIDk4MzU4OSwgMCwgNDM3MywgCisgICAgNzgwNTgsIDAsIDk1ODcsIDE3ODksIDY2NzEsIDEyODg0MCwgMzEwMCwgMCwgNjUzNjAsIDAsIDkyMzY1LCA5MTc3ODksIAorICAgIDY0OTIyLCAwLCA4MTkwLCAxMjA4MywgMCwgOTgzOTMwLCA2NTA2LCA2NDMxMiwgNzQzNzQsIDIzNjgsIDAsIDQ0MTksIAorICAgIDk4Mzg0NywgMTE5MTI1LCAzNDM5LCAxODI1LCAxMTkyLCAxMjAxMDYsIDg4OTEsIDMwODAsIDEyMDIyOCwgMjM0NywgNTQzMCwgCisgICAgMCwgODk5MCwgMjg0OCwgOTI5ODEsIDEyODIyMywgNzM5NDIsIDI0OSwgMCwgMCwgMCwgMTIwNjU4LCAxMTkzMjQsIAorICAgIDEyODcxMiwgODg4MywgMTE5ODYwLCA3MjgsIDExMTczLCA5OTUsIDAsIDAsIDY0ODI2LCAxMjQ5MzEsIDkxNzc5OCwgCisgICAgMTI4MzQ4LCAwLCAxOTk0NSwgODA5MSwgNTU4LCAwLCAxMjI3MywgMTk0ODE0LCA2NzcxNCwgMTIxMTIsIDY3MjcyLCAKKyAgICA2NzI2NSwgNjcyNzMsIDY3Mjc0LCAxMjMzNSwgMTIwMTA0LCA2ODAxOSwgMzQ0MywgMzEyOSwgNjcyNjcsIDIxMDIsIAorICAgIDY1NDQ1LCA3ODI1OCwgNjQ4OTEsIDAsIDc3MjUsIDY1MTA4LCAxMTEyMCwgOTIwNSwgODYyNCwgNjkyNDYsIDEyNDQ2LCAKKyAgICA0MzI5NSwgMTI4NTE5LCA0MTg5NCwgMCwgNjI3NywgNDE2NzIsIDQxODkzLCAxMDAxMCwgMTI3MzgxLCAzNTQwLCAxMjg2NDksIAorICAgIDgzNSwgNzEzNDAsIDY5ODE2LCAxMTk4NTQsIDc0NDA4LCAwLCA2NzEwOCwgNTQyNiwgNDI1OCwgOTgzMjMxLCAwLCA1NDI0LCAKKyAgICAxMjgxMjcsIDgyODMsIDEyNzk3OCwgNTQzNCwgMTI1MDA0LCAwLCAxOTkxNywgMTE0MDgsIDAsIDExOTQ3LCAxMjgzMzAsIAorICAgIDE0MDQsIDMwOTUsIDExNDMyLCAxMjgzMDcsIDM0NjQsIDY0ODYsIDQ4MTksIDEyODIzMywgMCwgNTcwLCA4MDk1LCAzNjcyLCAKKyAgICAxMTk4NjQsIDE0OTgsIDY3ODY2LCAwLCAxMjg1MzksIDQzMSwgMTI1MDYyLCAwLCAxMjgxODIsIDEyODA5NiwgNjgxNjcsIAorICAgIDk4MzY2MywgMTMwOTYsIDEyODY0MywgMCwgNDM0MDgsIDk1MTYsIDEyODUzOCwgNTI2OCwgNDIyMzAsIDQyMjIwLCAwLCAKKyAgICA0NDUwLCAxMjA1MTEsIDExNTQ3LCA0MzQxNywgMTI4NTQyLCAzNTYsIDM0NzcsIDIyNywgMTA0ODgsIDY4MjAzLCAzODIsIAorICAgIDExNDE4LCAwLCA1ODc4LCAwLCAwLCAwLCAwLCA2NDg0LCAyNTQxLCA2NjAzOSwgMTEzNzc3LCA3ODcxOCwgOTI3MjMsIAorICAgIDM1NDksIDE5NTA2NywgOTExMCwgMTE5NjY1LCAyNzQzLCAwLCA0MzI5MCwgMTI4NTg1LCA5MDk3LCAwLCA0MzAxNSwgODc4MiwgCisgICAgMCwgNzc2LCAyNTI0LCA0MjcwNywgODU3MywgMCwgMTI2NDk0LCAwLCA3MTEwMiwgNDI2OTQsIDY0OTQ0LCA4OTUyLCAzODU2LCAKKyAgICAxMTg4MTgsIDEyNTExMSwgNTg3MiwgNjQ5NSwgMTI5MTI1LCAwLCAwLCA5MjU0MywgNjcxNzMsIDY3MTcyLCAxMjg0OSwgCisgICAgMzk1MywgMTg5NywgOTMwNzEsIDY1MDk0LCAxMTk5NCwgNDMzOSwgNzQ1NTYsIDkyNjU0LCA2Nzg0MywgMCwgMCwgMTE5MDg3LCAKKyAgICA2ODQ3MywgNzQxMDQsIDUyMjgsIDExOTgzNSwgNzg2OCwgNDMxODQsIDAsIDAsIDczOTg2LCA0MzQzOCwgMCwgNDMwMjIsIAorICAgIDkxNzU1MywgMTE2MiwgOTE3ODQ3LCAyNjcxLCAxMjg1NjcsIDAsIDkyNjMyLCA5MjYzMSwgMTE4ODY1LCA0NTUzLCA3MzgxMSwgCisgICAgMCwgMTk1MDA1LCAxMTg5MjgsIDAsIDE5OTIxLCA3NDMzMSwgMTE0MjQsIDE5NTAwNiwgNDU2NywgNDE4OTEsIDAsIAorICAgIDk4Mzc4OCwgNTUyNDksIDQ4MjAsIDY1MjM5LCAxOTQ2NjIsIDAsIDE5NDY2NSwgNDMwNDIsIDExOTIxMiwgMTM3NywgCisgICAgMTI4NjksIDQ4OTcsIDQyODIxLCA5MjUwLCA5MTc1NTgsIDQ0MzgsIDY0Mzg1LCAwLCAxNzUzLCAxMTMzMSwgNjE0NywgCisgICAgMTk0OTQxLCA0MzI4MiwgODgzMywgNjk5OTgsIDAsIDY1MDQsIDc4NDA4LCAxMjY5NzksIDEwNzE5LCAxMjg0NjksIDE4OTgsIAorICAgIDE0MTMsIDQyNDQzLCAwLCA4MDIsIDEyMTQxLCAwLCAxOTQ2NzEsIDY2NDgsIDEwNjcxLCAyNTI4LCAwLCA2NDc4OSwgOTE2OSwgCisgICAgODM4LCA3MDM3MiwgMTIwNjk3LCA4NDQsIDUwMTQsIDY2Mjk3LCAyNTYsIDAsIDk5OTAsIDAsIDQyNzM5LCA5MTc4NTEsIAorICAgIDc1NDIsIDY1NDY0LCA5NzI2LCAwLCA2NDg5LCAxMDA0OCwgNzQzMjYsIDc4NzE5LCA2NjU3MywgMCwgNzg3MjQsIDc4NzEyLCAKKyAgICAxMTc2MSwgMTk0NjU1LCAxMTg4NzQsIDQxMDk0LCAwLCAxMjkxNzIsIDE5NDg5MywgNzg0MDMsIDkyNjg5LCA2MTk2LCAKKyAgICA2OTQ1LCA5Mzk2OSwgMTI3OTkwLCA2NzA5NSwgMTIwNDkxLCAxMTgxNiwgMTI2NTY3LCA1NzMzLCAyOTMwLCA3ODQwNiwgMCwgCisgICAgNDEwOTgsIDkyNzcxLCA0MTA5MywgMCwgNjY2MjYsIDU4OCwgOTc2MCwgMTI5MTEyLCAxOTQ3MTcsIDEyMzgsIDIwMCwgCisgICAgOTgzMjA3LCAxNjYwLCA3MzkxNiwgMCwgNjcxNDEsIDc0MzYyLCAwLCA5MjQ4NSwgMTI0OTMwLCAwLCA5ODM3MDYsIDMzOTQsIAorICAgIDE5NDg5NCwgMTIwNjY4LCAwLCA2OTk5NiwgMTI3MzU4LCA2NjIxOSwgNzI0MjUsIDQzMjg0LCAxMjcyMzYsIDc4MTcsIAorICAgIDE4NDEsIDExMDU1LCA2NjgzNSwgMTk0OTc5LCA3NDYwNywgMTY2OSwgMTA3NzYsIDc0NTM0LCA3NzAxLCAxOTQ5ODAsIDAsIAorICAgIDE5NDk5NSwgMTczMiwgNDAzMCwgMCwgMzk2MywgNjY2MTEsIDEyNzUzMCwgNDE3NjgsIDY0OTEsIDEyNzUxOCwgNjUzMjQsIAorICAgIDkxNCwgNjUzMjMsIDgwNzEsIDM1MzgsIDAsIDIyODcsIDY1MzI4LCA5MjQ0MSwgNzQzNjcsIDc2MTQsIDAsIDExODE5LCAKKyAgICA3MTkwOCwgMTIwMDksIDEyMzk5LCAwLCA2Nzg1MiwgNjU1MzcsIDAsIDEwODQxLCA0MzQzMCwgNTMwMSwgMCwgOTI2MTgsIAorICAgIDU3MzQsIDg5NjAsIDAsIDcwMTIzLCA2NTMxNywgNzc4ODAsIDAsIDU4NzYsIDcwMzc0LCAxMjMwNCwgMCwgMCwgNjUzMTUsIAorICAgIDkyNjcwLCAxMjg1MTEsIDcxODYyLCAwLCAwLCAxMTk2MjEsIDExMTE0LCA3MTkwOSwgMTI0NDcsIDY0NDg2LCAxMjczNzQsIAorICAgIDEyNjU2MiwgOTgzMTI5LCAwLCAwLCA5ODM4MDIsIDQyNzY3LCAxMDkxNSwgMCwgMTIwMDcsIDQzNjk1LCAxMjA1MjAsIAorICAgIDExOTc1LCAxOTQ4NzgsIDAsIDkyNjA0LCAyNTU1LCA4NjI5LCAxMjg2NDAsIDQxMTMzLCA0MTg3MiwgNDM3MDYsIDQ0OTYsIAorICAgIDE5NDg3OSwgMTI4MDY1LCAxMjAyNDEsIDAsIDAsIDAsIDk4MzU1MywgNjQ3MzAsIDcwMDQxLCA2NjcxNCwgNjgyMjIsIDAsIAorICAgIDcwMDc2LCA2NTU5NiwgOTIzMDYsIDExNDE2LCA0MjgwLCA2NzY1NSwgODc2NSwgMTI3ODQsIDc3OTIsIDEzOTMsIDc4MTkxLCAKKyAgICAxMTE1NywgNzQzODYsIDAsIDgyMzMsIDEyODIwLCAwLCA2NjgzLCAxOTQ4NzYsIDM0NDIsIDEyMTQ0LCAyODQxLCAxMjU0MywgCisgICAgMCwgMTQ3MywgNDI4MjAsIDY0MzI5LCAxMjc4MzIsIDAsIDY4NjQyLCA2NDg4LCAzNTcsIDEwNDgsIDQxMTAwLCA3MjQxNywgCisgICAgNDExMDQsIDk0MDAzLCAzNDA2LCAxMDU0LCA3MTMyMCwgMTA0MCwgNjU0NTAsIDk4MzM4MywgNDQzNCwgMTA2OSwgMCwgCisgICAgMTE4ODYyLCA2NTczNywgMTk0NjM0LCAxMjg3MDUsIDAsIDEyNDk1NSwgOTY5MywgNDE5NDMsIDY4MzA1LCA0MTkzMSwgCisgICAgNDE3NTksIDEyNzU3LCA0MzUzLCA5ODMzNTEsIDEwNTksIDk3OTAsIDg5OTUsIDExOTk3NCwgOTE3NzcwLCA2NTkzNywgCisgICAgNzg1NzIsIDQxNzU4LCAxMDY0NiwgMCwgMTE4ODMzLCA5MjM3MiwgNzA0MjQsIDc0ODMwLCA3ODU2OSwgMTI3NDMsIAorICAgIDk4MzY4OSwgNjQ4MCwgOTE3NzYxLCA0MTc3OSwgNDI1ODAsIDY2NjAxLCAxMjIwNywgNzc4OTUsIDYzMzUsIDY2NjAyLCAKKyAgICAxMTMxMiwgNjQ4MDcsIDkyOTYyLCA2OTk4OSwgNDE3NjcsIDExOTYyOSwgOTgzNzY0LCA0MzAyMCwgMTI4MjcxLCAzOTU1LCAKKyAgICA3NDI1NCwgMTIwNjMyLCA5ODM3NTQsIDkxNzg2MSwgNzAxODcsIDY5OTc1LCA5NzcwLCA5MjQ2LCAxMjIzMCwgMTI1MDQ3LCAKKyAgICAwLCA3ODU4MCwgMTA0NDgsIDQxNzgzLCA0MTc4NiwgMTI3MDkzLCAxMjc5NywgMjc1NSwgNjQ1NzEsIDc4NTc4LCAxOTQ5MjcsIAorICAgIDQ4NTcsIDk4MzU3NywgNDQyOCwgMTI3OTQsIDczNzU1LCAxMjgwNjEsIDc4NTc0LCAwLCAxMTExNiwgNDM4NDIsIDU3NDcsIAorICAgIDc4ODI1LCA3MDQ3MSwgNzk3OCwgNDEwOTIsIDc0NTcxLCAwLCAxMTkyNCwgNDM4MTIsIDQyMTQ0LCA2NTAxNSwgMCwgNTYzLCAKKyAgICAwLCA5ODM2OTEsIDEyNzk4LCAxMTI3MSwgNTcsIDkyNzE3LCA5ODMyMzksIDkxNzg2MCwgMTE5MDQzLCAwLCA5NDA1MSwgCisgICAgNDMxMzcsIDY5NCwgMCwgOTg3NiwgMCwgMTE5MTY4LCAwLCA3MDM5MiwgNjQ1MzcsIDAsIDI3NywgNzQzODUsIDcyMjksIAorICAgIDEyNzYxLCAwLCA3NDQ2NiwgMTMwMjUsIDY0ODExLCA4NzU3LCA3ODgyNCwgNzgxODgsIDE1NzQsIDczODEsIDAsIDI1MjUsIAorICAgIDQ4NTIsIDU3NDksIDY4NDY1LCAxMzAyNywgNDI4MjQsIDEyMDU3NCwgMTAzOSwgNzE1MSwgMTAxNTUsIDU3NDUsIDE4OCwgCisgICAgNDE4NTgsIDExNTkyLCAxMjkxNTYsIDY5NzI1LCA5MDU1LCA0MTg1MywgNDg1OCwgOTE3NzgwLCAwLCA0MzYsIDQ3NzEsIDAsIAorICAgIDI3ODYsIDkzMDI4LCA0ODU2LCA4MDUxLCA5MjUwMCwgMTE5NjA5LCA3MTMyNywgOTY0NCwgMCwgMTI1MDA5LCAxMjg4NzMsIAorICAgIDE5NDkxNiwgMTIwNzMyLCA2NjcxMCwgMTE4ODM0LCA5ODMzNTksIDczOTA2LCA2NzQwOSwgMTI3MTE0LCAwLCAxMDIzNCwgCisgICAgNTg0MywgMTE5MzksIDcwMzQ2LCA0MjE1NywgMCwgMzE1NywgMTk0OTE4LCA2ODM5MywgMCwgMzUwNCwgMTE5MTc4LCAwLCAKKyAgICAxMDgyMiwgNTE0OSwgNjYwMjksIDEwMjI2LCA2NTE0MiwgMTI4MDI1LCAzNTk0LCA0MjQyNCwgMTI0OTkzLCA0MCwgMTI2NTcsIAorICAgIDk4MzY2NSwgMCwgMzg2LCAwLCA4ODM0LCAwLCAxMjgxNSwgNDM1NzQsIDEyODQwNywgNzM5MDcsIDAsIDcwMTEzLCA3MjIwLCAKKyAgICAxMTgzOSwgMTI0OTg0LCA3NDMxNiwgMCwgNjUzMjIsIDQzMDQsIDc0NTAzLCA4MTYwLCA3NDMxNCwgMTk0NzUzLCAwLCAwLCAKKyAgICAxMjg1MjYsIDEzNDgsIDkyMzQ5LCA3ODU5NywgMTI2NTM5LCAxMzMwMywgNzA0MDYsIDkyMzkyLCAxMjg0NzQsIDc1OTksIAorICAgIDEyNzgsIDQzNjE2LCAxMzI2OSwgMTI3ODA1LCAxMjcxMTAsIDc0Mzg3LCA3ODE3OSwgNzg1OTgsIDc0NDkyLCA2MDk3LCAKKyAgICA3NTY4LCA4NzgwLCA0OTgyLCAxMjc0NjQsIDc0NTAxLCAxOTQ3NjMsIDc4NTkyLCAxOTQ3NjIsIDI2NzIsIDM3MzUsIAorICAgIDEyNzQ3MCwgMTMxMzgsIDQyMjY2LCA5NDg0LCAxMDcyNCwgNDEyMDIsIDcxMzY0LCAxMjgzNzAsIDQzNzQyLCAxMjgzNzMsIAorICAgIDk0ODcsIDExOTk1OSwgOTI5MTMsIDM4NDIsIDcxOTExLCA3ODY2OCwgMTI0NDIsIDYxOTMsIDk3OTEsIDExOTM0NCwgMCwgCisgICAgNDI1MTYsIDcyMjgsIDc1NTksIDc0ODAzLCA3ODQ2OCwgNzg3MywgMTEzOTksIDExOTIxOSwgMTk0NjkxLCA3MDAwNiwgCisgICAgMTk0NjkwLCAxMjc1MzcsIDM2MDQsIDEyMDY4MywgMTE5MTg4LCAxMjg4NzcsIDc4NTQwLCA3ODU0MSwgNDI1MDcsIDE5NjIsIAorICAgIDQzMzA1LCA3ODQ3NiwgNDI1MDUsIDExNjYwLCAwLCAyMDcyLCA5MjMxMiwgNjk5NSwgNzQxNzMsIDU0MzcsIDc0MTc0LCAKKyAgICAxMDY2OSwgODcwMiwgNzk2NCwgOTIzNTIsIDk4Mzc3NiwgMTk5LCAxOTQ4NDMsIDQxMDUsIDE5NDg0NSwgMTk0Njk5LCAKKyAgICAxOTQ4NDcsIDE5NDcxMCwgMTE5ODc1LCAxMzE0OCwgNzU2MCwgNzg0NzksIDkyMjYsIDc4NDc4LCAxOTUwNzAsIDY0NzIsIAorICAgIDY1ODE0LCA3MTkxOSwgMCwgNDcyNCwgMTI4NDkxLCAxOTUwNDEsIDkxOTEsIDAsIDY0NDMyLCA5ODM4MTcsIDExMzY4MCwgCisgICAgMTE5MTkwLCAxMDE5NiwgNzg4NiwgMCwgNjU4NSwgMCwgNjY4MCwgMTk1MDQyLCAwLCA3MTg3MiwgNjY3OSwgNzQ0MTIsIAorICAgIDkyMjUxLCAxOTQ4NjYsIDc0NDIxLCAxMTM4MiwgMTI4MjU0LCA0Mzg2MiwgNzg1OTEsIDExMzczMywgMTk0ODMzLCAKICAgICAxOTQ4MzIsIDY2ODEsIDEyNzQ4MiwgMTI2OTMsIDE5NDgzNiwgNDI3MjcsIDc4MTk2LCAxMjgyNTIsIDc4MTk1LCA2NTQ0MiwgCi0gICAgMTE5NjEwLCA2OTczMywgOTk4OSwgNDMyNDgsIDY2MjQ4LCAxOTQ4MTYsIDAsIDExMzIxLCAxMjg4NDUsIDE5NDgyMCwgCi0gICAgMTk0ODE5LCA1Mjk3LCA3MDQyLCAxMzI4NCwgNjExMiwgNzk2OCwgMTk0ODI1LCA3MzkyNywgOTI0NDQsIDE5NDczNiwgCi0gICAgNjU3NDYsIDEyNzQ3NiwgNjk4ODksIDc0Mzg5LCAxMjg2OTYsIDQzNDIsIDQyODM5LCAxOTQ4MzEsIDE2NzcsIDAsIDAsIAorICAgIDExOTYxMCwgNjk3MzMsIDk5ODksIDQzMjQ4LCA2NjI0OCwgMTk0ODE2LCAwLCAxMTMyMSwgMTI4ODQ1LCAxMjA4MDksIAorICAgIDE5NDgxOSwgNTI5NywgNzA0MiwgMTMyODQsIDYxMTIsIDc5NjgsIDkzMDEwLCA3MzkyNywgOTI0NDQsIDEyNzMzNiwgCisgICAgNjU3NDYsIDExODc5NiwgNjk4ODksIDc0Mzg5LCAxMjg2OTYsIDQzNDIsIDQyODM5LCAxMjg5NzksIDE2NzcsIDAsIDAsIAogICAgIDEyNjU5MCwgOTE3ODU1LCAxMTA5MSwgMTEwMTEsIDI3MTksIDAsIDAsIDExOTU5NSwgMTAxNjAsIDAsIDAsIDc1ODUsIAotICAgIDY1MTY5LCAyMDUyLCA0MzA4LCA5MjE3NCwgNDMwMDAsIDc1MDUsIDU0MywgNjQ5MTYsIDY0NzM2LCAwLCAwLCA2NDY1NSwgMCwgCi0gICAgMTE4OTIyLCAyMDY0LCAwLCA0MzE1OCwgNzkwMiwgMCwgNjUyNjUsIDE5NDYzOSwgMCwgMTI3MTcwLCAwLCA5ODM2MjUsIDAsIAotICAgIDAsIDEyOTk0LCA5MjcyOCwgMTA4MjgsIDk4Mzk0MywgNjIyOCwgNDMwNywgMzQ4MiwgMTI4NTI3LCAwLCAwLCAwLCA1MDYsIAotICAgIDc0NTczLCA0MTE5NCwgNjU3MzUsIDIwNTUsIDQzMjU1LCA0MTE5NSwgMCwgODE2OSwgOTgzNjgwLCA4ODQxLCAwLCA1MTYsIAotICAgIDkzOTc0LCAyMDYzLCAxMTkwNTEsIDM0LCAxMjg4NTAsIDEyMDE4NiwgMTE1MDQsIDE2MTIsIDc0MzMzLCAxMjAxODIsIAotICAgIDExODI3LCA3NDMwOCwgMTIwMDEsIDEyMDE3OCwgMTAyNDIsIDY0NTY0LCAxMjAxNzksIDY3OTg2LCA2NTg0LCA3NzQ5LCAKLSAgICAxMTAzNywgMCwgMTc1OCwgMTI3MDkyLCAxMDY2NywgMTA1NjAsIDEyMDE5NywgOTI1OTMsIDE5MzUsIDExNTE3LCAxMjAxOTMsIAotICAgIDEyMDE5NiwgMTIwMTk1LCAxOTMxLCAxMjAxODksIDc0ODM5LCAxMjAxOTEsIDEyMTcsIDY0NzAyLCAxMjY0MywgODI1LCAKLSAgICAxMjc4MzgsIDE5NDkwNSwgMTIyOTQsIDkyNDI4LCA3ODgzNCwgOTEzOCwgNzg4MzEsIDc4ODMzLCAxMjYzMSwgNzg4MjksIAotICAgIDExMDgwLCA3NDU1NCwgNjQwMDAsIDU1OTEsIDEyMzksIDAsIDExMzEzLCAwLCAzNDAzLCAwLCAwLCA2NDM2NCwgOTIyNjksIAotICAgIDAsIDc0NTgyLCA4OTk4LCAxMjk4OCwgMCwgOTE1MiwgOTgzODQ5LCAwLCAxMjY0ODQsIDY3NTg5LCA0MTg1MCwgNjQyOTAsIAotICAgIDM0MzMsIDkyMzkzLCAxMjYxNSwgMTU5NCwgNDIxOTIsIDY5MTQsIDY3NjAzLCAwLCAxMTk1NjksIDc0NTY1LCA0MTM1MywgCi0gICAgNjc2MDIsIDY3NjExLCA0MzM3LCAwLCAxMjcyOTYsIDkxOCwgNjUwMzUsIDQxMzUxLCA3NjgxLCAxOTQ5MDAsIDQyNTc3LCAKLSAgICA0MTM5MywgMTI2NjgsIDE5NDkwNCwgMjQ3NywgMTI3Mjg1LCAwLCAxMjczMDEsIDAsIDY3NjA0LCAxOTQ4ODAsIDEyNzIzNSwgCi0gICAgNTczLCAxMjcyODIsIDE5NDg4NCwgMTE0MTcsIDE5NDg4NiwgMTE5ODE0LCAxOTQ4ODgsIDY3NTk5LCAwLCAxOTQ4ODksIAotICAgIDY3NjA3LCAxMTQ4MiwgMCwgMzk4MSwgMzM1NywgMCwgNDIyMjMsIDQyMDcsIDEyODgsIDc4ODQyLCA3ODgzOSwgNjg0MTksIAotICAgIDc4ODM3LCAxMTU4OSwgNDIxOTUsIDE5NDg3MiwgMTk0NTk5LCAxMjcyNjMsIDY0NjAyLCA2NzYxOCwgOTI1MzksIDAsIAotICAgIDQyNzg4LCA2ODQxNiwgNjQ0ODAsIDE5NDg3NSwgODQyMywgMzM0OCwgNDQ4LCA2ODQ3NiwgOTcxNywgMCwgMCwgOTk3LCAwLCAKLSAgICAwLCA5MjU3NywgMCwgMTE0NDAsIDExMzc5LCA0MjAwMCwgMTMxMzksIDQyMjIxLCA2NTAxMywgMTI2OTk5LCAxMjc3NjAsIAotICAgIDczNzk2LCAwLCAxMTkyMjgsIDEyMDM1LCAwLCAyODE4LCAwLCA3NDQxMSwgNzM3OTMsIDAsIDQxNzIsIDAsIDAsIDgzNzMsIAotICAgIDEwODczLCAxMjE5NywgMCwgMCwgOTIyNjUsIDY5NzA2LCAwLCA3ODIxMCwgMCwgMTI4MTEwLCAxOTQ4NjUsIDEyNjk4MiwgCi0gICAgNzQ1NjMsIDY0ODI4LCAxMTQxOSwgMTk0ODY4LCA3NjYsIDEyNTcsIDAsIDExODg0NSwgMTEzODEsIDMyNjUsIDY2NjE3LCAKLSAgICAzMjc0LCAxMjczNjUsIDEyNjUyMywgOTQwNDIsIDk4Mzk1MCwgNzQ1MjIsIDQxOTg5LCAwLCAwLCAxMjg3OTgsIDMyNjMsIDAsIAotICAgIDY1NjcyLCAwLCAzMjcwLCA2NDUzOSwgMTE0ODksIDAsIDAsIDAsIDAsIDk1MDUsIDY1NTE4LCAxOTQ3NzYsIDc1NiwgCi0gICAgMTk0NjA1LCAwLCAwLCAwLCA3MjYxLCAwLCAxODYsIDAsIDExOTE1NiwgNTc3MCwgMTMxNzksIDY1ODMwLCAxMjYxMiwgCi0gICAgMTI5NDksIDY0ODU2LCAxMjgwMCwgOTgzOTAxLCA3NDIwMywgNjQ3MTgsIDExNTA3LCAwLCA5MjQzNCwgMTE4OTI5LCAwLCAKLSAgICAxMTU3OCwgMCwgMTE5Mjk2LCAwLCAwLCAwLCAwLCA3NDU2OCwgOTI1NCwgMCwgMTc5NCwgMTIwMjE3LCA2NDUyMSwgNTYyNCwgCi0gICAgMTIwMjIwLCAxMjAyMjEsIDExOTk1OCwgMTIwMjIzLCAzNjE3LCA2NjYzNiwgNjQ4ODYsIDk0MDYxLCAxMjAyMTIsIAotICAgIDEyMDIxMywgMTIwMjE0LCAxODcyLCA2NjUwOCwgMTIwNDY3LCA0MTA3OSwgMTA3NDgsIDU1MDIsIDExOTMzMCwgNDQ1MiwgMCwgCi0gICAgOTgzNzcxLCA5MjUyNiwgNDUxMSwgMCwgOTgzODc3LCA2NDY3OCwgMTE0MjUsIDAsIDQzMjQ1LCAxMjMxLCAxOTQ3ODMsIAotICAgIDY5OTAzLCAwLCA5MDAzLCA4MTkyLCAwLCA1MzA1LCA5NjUzLCAxMDYxNiwgODY5NCwgOTU0NiwgMCwgMCwgMTIwNDc4LCAKLSAgICAxMjAyMDAsIDY1MjA1LCAxMjAyMDIsIDY0MDYzLCA5ODc4LCA3NDc4MCwgMTE5NjI2LCA3ODIwMiwgNjQwNTgsIDg3OTksIAotICAgIDQyMTMxLCAwLCA2NDA2MiwgMTAyOCwgNjQwNjAsIDY0MDU5LCA4MzcsIDEwNTY3LCAwLCA0MzEwMywgMCwgMTIwNzU0LCAKLSAgICAxMTQyNywgMjkwMiwgNjQwNDMsIDY0MDQyLCA0Mzc0OSwgMTA3NTYsIDY0MDQ3LCA0MjYwNiwgNjQwNDUsIDY0MDQ0LCAKLSAgICA0Mzk3OSwgMTAwNzYsIDY0MDQwLCA0MzA2MCwgMTk0OTQyLCAxMDM0LCAzMzkyLCAxMjc3NzEsIDQzMDkxLCA2NDAzMywgCi0gICAgNjQwMzIsIDQyNzM1LCA2NDAzOCwgNjQwMzcsIDY0MDM2LCA2NDAzNSwgNDI5MSwgMTk0OTI4LCA2NDAxNSwgNjQwMTQsIAotICAgIDY0NjgxLCAxOTQ5MzAsIDAsIDc4MTQ1LCAwLCA0MzA5MCwgMCwgMzQ3NiwgODk3MywgNjQwMTIsIDQyNDczLCA2NDAxMCwgCi0gICAgNjQwMDgsIDY0MDA3LCAyMDAzLCA3NzA2LCA2NDUxNywgNzgxNTMsIDI1MzgsIDY0MDA5LCAyMDQsIDAsIDQ4MDIsIDQxMTEsIAotICAgIDgyMzksIDkwOTgsIDQ4MDUsIDY0MDAxLCA2NDA1NywgNzg4NSwgNzI0NywgNjQwNTQsIDk4MzI2NiwgMCwgNDc2NywgOTM0MywgCi0gICAgNjQwNDksIDY0MDQ4LCAxMjAwMzQsIDExMzMsIDY0MDUzLCA2NDA1MiwgNDM0NTMsIDY0MDUwLCA0MTM0MCwgMTE4OTc1LCAKLSAgICAxOTQ4MzUsIDEwMDA1LCAxMjMyOSwgNDEzMzMsIDAsIDg0ODksIDE5NDIsIDAsIDE5NDgzNCwgNDI1MjAsIDEyODI0OSwgMCwgCi0gICAgMCwgMTA3NjAsIDY0MDIzLCA2NDAyMiwgNjQwMjEsIDY1ODIsIDQzNjcwLCAwLCA2NDAyNSwgOTE2NywgNDIxNTEsIDc4MjQ0LCAKLSAgICA5ODMyMzIsIDIwMjYsIDY0MDE5LCA2NDAxOCwgNjQwMTcsIDY0MDE2LCAxMjc2OCwgMCwgNzU4MiwgNzgyNTIsIDc4MjQ4LCAKLSAgICA3NzkxNCwgNzgyNDYsIDc4MjQ3LCAwLCA3NzkxNSwgNzg3NjYsIDY3ODgsIDEzMDk0LCA3NzkyMCwgNzUzMiwgNDE0MTQsIAotICAgIDc4NTIwLCAzMTc5LCA3ODUxOCwgNjQ3NjksIDc4NTE0LCA3ODUxNywgMTE0NjEsIDc0NDU0LCAxMDc1MSwgOTA1MSwgCi0gICAgMTIwNzIwLCA2NzA4LCAxMDUzNSwgOTgzNjI3LCA2ODIxOCwgNTUyNzQsIDIwMDgsIDY0MDMxLCA2NDAzMCwgMjk0LCAKLSAgICA0MTg3NCwgMCwgMTI2OTkxLCA2NTkyOSwgMCwgMCwgMCwgMCwgNjQwMjgsIDgxNDYsIDY0MDI2LCA0MTc4OCwgMTk0ODQ0LCAKLSAgICAwLCA0MzUxLCA2MzQzLCA0MzI0NywgMTE5ODg4LCAwLCAxMTk4ODYsIDExOTg5MSwgMTE5ODkyLCAxMTk4ODksIDExNDMzLCAKLSAgICAxMTk4OTUsIDExOTg5NiwgMCwgNzgwMSwgNjU1NzgsIDE5NDgzOSwgMTI5MTUsIDQzOTY4LCAzMjk3LCA5Njk5LCAxOTQ5NTUsIAotICAgIDExMzUsIDAsIDAsIDEyODUyNSwgMTk5NSwgNjcyMiwgOTgzOTI1LCAwLCAyNTUyLCA0MTU0NiwgNjAsIDY4Mzk0LCA4NjQ5LCAKLSAgICA0MTU0OSwgNzg0OTYsIDk4MzMyNywgMCwgNjY4MiwgMCwgNzg2NzksIDY0NzEwLCA0MTU0NywgOTgzNjMwLCAyMDEzLCAKLSAgICAxMjgyOTEsIDc4NTMwLCA3ODUzMiwgNzg1MjgsIDc4NTI5LCAxMjgzMiwgNzg0OTMsIDgwODEsIDgzNjIsIDM1MzcsIAotICAgIDExOTkwOCwgOTEzNywgNzE1NSwgODk5OSwgMCwgNzg1MzMsIDM0NjYsIDAsIDAsIDE5OTYsIDAsIDM0NTMsIDYyODIsIDAsIAotICAgIDIwMDIsIDIwMDAsIDEyMDE3NSwgNTM3LCAwLCA0MTc5LCA2NTExOSwgMTk5OCwgMCwgMTg0MiwgMCwgOTI2NzQsIDk2MjgsIAotICAgIDY4NDQ2LCAxMjA4MSwgOTgyNiwgNjQ1MDIsIDE3NjcsIDAsIDAsIDAsIDEyMDIwMSwgOTgzNjQ2LCAwLCAwLCAzMDU5LCAKLSAgICA0NDAyNCwgMTIwMjA0LCAxMTk5NTMsIDkyNjkzLCAwLCAwLCA5MjQ1MiwgNDEwMCwgOTIwLCAxODExLCAxMzU1LCAwLCAwLCAKLSAgICAzNTkyLCAxMDA3OCwgMCwgMCwgMCwgODU5MiwgNjU4NzAsIDY4MTY0LCAxMjg3OTIsIDEwNzQyLCAwLCA0MjkxOCwgMTk5NCwgCi0gICAgOTI4MSwgMzI5NiwgMTI4NjUsIDE5OTcsIDE4OTUsIAorICAgIDY1MTY5LCAyMDUyLCA0MzA4LCA5MjE3NCwgNDMwMDAsIDc1MDUsIDU0MywgNjQ5MTYsIDY0NzM2LCAxMTg4MzUsIDAsIAorICAgIDY0NjU1LCAwLCAxMTg5MjIsIDIwNjQsIDAsIDQzMTU4LCA3OTAyLCAwLCA2NTI2NSwgMTk0NjM5LCAwLCAxMjcxNzAsIDAsIAorICAgIDk4MzYyNSwgOTI1NTAsIDAsIDEyOTk0LCA5MjcyOCwgMTA4MjgsIDc0Mzc4LCA2MjI4LCA0MzA3LCAzNDgyLCAxMjg1MjcsIAorICAgIDAsIDcyMzg5LCAwLCA1MDYsIDc0NTczLCA0MTE5NCwgNjU3MzUsIDIwNTUsIDQzMjU1LCA0MTE5NSwgMCwgODE2OSwgCisgICAgOTgzNjgwLCA4ODQxLCAwLCA1MTYsIDkzOTc0LCAyMDYzLCAxMTkwNTEsIDM0LCAxMjg4NTAsIDEyMDE4NiwgMTE1MDQsIAorICAgIDE2MTIsIDc0MzMzLCAxMjAxODIsIDExODI3LCA2NzE2NSwgMTIwMDEsIDEyMDE3OCwgMTAyNDIsIDY0NTY0LCAxMjAxNzksIAorICAgIDY3OTg2LCA2NTg0LCA3NzQ5LCAxMTAzNywgMTI4NzQzLCAxNzU4LCAxMTkwNzQsIDEwNjY3LCAxMDU2MCwgMTIwMTk3LCAKKyAgICA5MjU5MywgMTkzNSwgMTE1MTcsIDEyMDE5MywgMTIwMTk2LCAxMjAxOTUsIDE5MzEsIDEyMDE4OSwgNzQ4MzksIDEyMDE5MSwgCisgICAgMTIxNywgNjQ3MDIsIDEyNjQzLCA4MjUsIDEyNzgzOCwgMTk0OTA1LCAxMjI5NCwgOTI0MjgsIDc4ODM0LCA5MTM4LCAKKyAgICA3ODgzMSwgNzg4MzMsIDEyNjMxLCA3MTg3MSwgMTEwODAsIDc0NTU0LCA2NDAwMCwgNTU5MSwgMTIzOSwgMTI3MTk5LCAKKyAgICAxMTMxMywgMTk0ODAzLCAzNDAzLCAwLCAxMjAyNzEsIDY0MzY0LCA5MjI2OSwgMTI3OTA0LCA3MjQzMSwgODk5OCwgMTI5ODgsIAorICAgIDExOTk4MywgOTE1MiwgOTgzODQ5LCAwLCAxMjY0ODQsIDY3NTg5LCA0MTg1MCwgNjQyOTAsIDM0MzMsIDkyMzkzLCAxMjYxNSwgCisgICAgMTU5NCwgNDIxOTIsIDY5MTQsIDY2MzkyLCAwLCAxMTk1NjksIDc0NTY1LCA0MTM1MywgNjc2MDIsIDY3NjExLCA0MzM3LCAwLCAKKyAgICAxMjcyOTYsIDkxOCwgNjUwMzUsIDQxMzUxLCA3NjgxLCAxOTQ5MDAsIDQyNTc3LCA0MTM5MywgMTI2NjgsIDcyMzk1LCAKKyAgICAyNDc3LCAxMjcyODUsIDAsIDEyNzMwMSwgMCwgNjc2MDQsIDY3NjgzLCAxMjcyMzUsIDU3MywgMTI3MjgyLCAxMjA1NDMsIAorICAgIDExNDE3LCAxOTQ4ODYsIDExOTgxNCwgMTE5MzA5LCA2NzU5OSwgMCwgNzI0MTAsIDY3NjA3LCAxMTQ4MiwgMCwgMzk4MSwgCisgICAgMzM1NywgMCwgNDIyMjMsIDQyMDcsIDEyODgsIDc4NTAzLCA3ODgzOSwgNjc3MjgsIDc4ODM3LCAxMTU4OSwgNDIxOTUsIAorICAgIDc0NDc3LCAxMTk5OTcsIDEyNzI2MywgNjQ2MDIsIDY3NjE4LCA5MjUzOSwgMCwgNDI3ODgsIDY4NDE2LCA2NDQ4MCwgCisgICAgMTk0ODc1LCA4NDIzLCAzMzQ4LCA0NDgsIDY2OTA3LCA5NzE3LCAxMTkzMTEsIDAsIDk5NywgMCwgMCwgOTI1NzcsIDAsIAorICAgIDExNDQwLCAxMTM3OSwgNDIwMDAsIDEzMTM5LCA0MjIyMSwgNjUwMTMsIDEyNjk5OSwgMTI3NzYwLCA3MjM5MCwgMCwgCisgICAgMTE5MjI4LCAxMjAzNSwgMCwgMjgxOCwgMCwgNzQ0MTEsIDczNzkzLCAwLCA0MTcyLCA3MTI1MiwgMTE5OTkyLCA4MzczLCAKKyAgICAxMDg3MywgMTIxOTcsIDEyNTA3NCwgMTk1MDE0LCA5MjI2NSwgNjk3MDYsIDEyODU0MCwgNjgzNCwgMTI3MjUxLCAxMjgxMTAsIAorICAgIDE5NDg2NSwgMTI2OTgyLCA3NDU2MywgNjQ4MjgsIDExNDE5LCAxOTQ4NjgsIDc2NiwgMTI1NywgMTk0NTk4LCAxMTg4NDUsIAorICAgIDExMzgxLCAzMjY1LCA2NjYxNywgMzI3NCwgMTI2NjI5LCAxMjY1MjMsIDk0MDQyLCA5ODM5NTAsIDc0NTIyLCA0MTk4OSwgMCwgCisgICAgMCwgMTEzNzY5LCAzMjYzLCAwLCA2NTY3MiwgNjkyNDMsIDMyNzAsIDY0NTM5LCAxMTQ4OSwgMCwgMCwgMCwgMCwgOTUwNSwgCisgICAgNjU1MTgsIDEyODQ5OCwgNzU2LCAxOTQ2MDUsIDAsIDAsIDAsIDcyNjEsIDkyNTQ3LCAxODYsIDAsIDExOTE1NiwgNTc3MCwgCisgICAgMTMxNzksIDY1ODMwLCAxMjYxMiwgMTI5NDksIDY0ODU2LCAxMjgwMCwgOTgzOTAxLCA3NDIwMywgNjQ3MTgsIDExNTA3LCAwLCAKKyAgICA5MjQzNCwgNzQ2MjYsIDAsIDExNTc4LCAwLCAxMTkyOTYsIDAsIDAsIDEyNTEwMSwgMCwgNzAwODMsIDkyNTQsIDY2ODc3LCAKKyAgICAxNzk0LCA2ODMxMCwgNjQ1MjEsIDU2MjQsIDEyMDIyMCwgMTIwMjIxLCAxMTk5NTgsIDEyMDIyMywgMzYxNywgNjY2MzYsIAorICAgIDY0ODg2LCA5NDA2MSwgNjg2NTksIDEyMDIxMywgMTIwMjE0LCAxODcyLCA2NjUwOCwgMTIwNDY3LCA0MTA3OSwgMTA3NDgsIAorICAgIDU1MDIsIDExOTMzMCwgNDQ1MiwgMTI4MDg4LCA5ODM3NzEsIDkyNTI2LCA0NTExLCAwLCA5ODM4NzcsIDY0Njc4LCAxMTQyNSwgCisgICAgMCwgNDMyNDUsIDEyMzEsIDkyMzkwLCA2OTkwMywgMCwgOTAwMywgODE5MiwgMCwgNTMwNSwgOTY1MywgMTA2MTYsIDg2OTQsIAorICAgIDk1NDYsIDAsIDAsIDcwNDIxLCAxMjAyMDAsIDY1MjA1LCAxMjAyMDIsIDY0MDYzLCA5ODc4LCA3NDc4MCwgMTE5NjI2LCAKKyAgICA3ODIwMiwgNjQwNTgsIDg3OTksIDQyMTMxLCAxMjg2NjIsIDY0MDYyLCAxMDI4LCA2NDA2MCwgNjQwNTksIDgzNywgMTA1NjcsIAorICAgIDcyMzg0LCA0MzEwMywgMCwgMTIwNzU0LCAxMTQyNywgMjkwMiwgNjQwNDMsIDY0MDQyLCA0Mzc0OSwgMTA3NTYsIDY0MDQ3LCAKKyAgICA0MjYwNiwgNjQwNDUsIDY0MDQ0LCA0Mzk3OSwgMTAwNzYsIDY0MDQwLCA0MzA2MCwgMTk0OTQyLCAxMDM0LCAzMzkyLCAKKyAgICAxMjc3NzEsIDQzMDkxLCA2NDAzMywgNjQwMzIsIDQyNzM1LCA0MzQ5OCwgNjQwMzcsIDY0MDM2LCA2NDAzNSwgNDI5MSwgCisgICAgMTI5MTU3LCA2NDAxNSwgNjQwMTQsIDY0NjgxLCAxOTQ5MzAsIDEyNzE0MiwgNzgxNDUsIDcxODk4LCA0MzA5MCwgMCwgCisgICAgMzQ3NiwgODk3MywgNjQwMTIsIDQyNDczLCA2NDAxMCwgNjQwMDgsIDY0MDA3LCAyMDAzLCA3NzA2LCA2NDUxNywgNzgxNTMsIAorICAgIDI1MzgsIDY0MDA5LCAyMDQsIDAsIDQ4MDIsIDQxMTEsIDgyMzksIDkwOTgsIDQ4MDUsIDY0MDAxLCA2NDA1NywgNzg4NSwgCisgICAgNzI0NywgNjQwNTQsIDk4MzI2NiwgMCwgNDc2NywgOTM0MywgNjQwNDksIDY0MDQ4LCAxMjAwMzQsIDExMzMsIDY0MDUzLCAKKyAgICA2NDA1MiwgNDM0NTMsIDY0MDUwLCA0MTM0MCwgMTE4OTc1LCAxOTQ4MzUsIDEwMDA1LCAxMjMyOSwgNDEzMzMsIDAsIDg0ODksIAorICAgIDE5NDIsIDAsIDE5NDgzNCwgNDI1MjAsIDY1NTEwLCAxMjUwNDQsIDY4MjkxLCAxMDc2MCwgNjQwMjMsIDY0MDIyLCA2NDAyMSwgCisgICAgNjU4MiwgNDM2NzAsIDEyNzc5OCwgNjQwMjUsIDkxNjcsIDQyMTUxLCA3ODI0NCwgOTgzMjMyLCAyMDI2LCA2NDAxOSwgCisgICAgNjQwMTgsIDY0MDE3LCA2NDAxNiwgMTI3NjgsIDAsIDc1ODIsIDc4MjUyLCA3ODI0OCwgNzc5MTQsIDc4MjQ2LCA3ODI0NywgCisgICAgMCwgNzc5MTUsIDc4NzY2LCA2Nzg4LCAxMzA5NCwgNzc5MjAsIDc1MzIsIDQxNDE0LCA3ODUyMCwgMzE3OSwgNzg1MTgsIAorICAgIDY0NzY5LCA3ODUxNCwgNzg1MTcsIDExNDYxLCA3NDQ1NCwgMTA3NTEsIDkwNTEsIDEyMDcyMCwgNjcwOCwgMTA1MzUsIAorICAgIDk4MzYyNywgNjgyMTgsIDU1Mjc0LCAyMDA4LCA2NDAzMSwgNjQwMzAsIDI5NCwgNDE4NzQsIDAsIDY0NzkwLCA2NTkyOSwgMCwgCisgICAgMTI5MDYzLCAwLCAwLCA2NDAyOCwgODE0NiwgNjQwMjYsIDQxNzg4LCAxOTQ4NDQsIDAsIDQzNTEsIDYzNDMsIDQzMjQ3LCAKKyAgICAxMTk4ODgsIDcwMTUzLCAxMTk4ODYsIDExOTg5MSwgNzIzODcsIDExOTg4OSwgMTE0MzMsIDExOTg5NSwgMTE5ODk2LCAwLCAKKyAgICA3ODAxLCA2NTU3OCwgMTk0ODM5LCAxMjkxNSwgNDM5NjgsIDMyOTcsIDk2OTksIDEyNzk1NywgMTEzNSwgMCwgMTI4ODA3LCAKKyAgICAxMjg1MjUsIDE5OTUsIDY3MjIsIDk4MzkyNSwgMCwgMjU1MiwgNDE1NDYsIDYwLCA2ODM5NCwgODY0OSwgNDE1NDksIAorICAgIDc4NDk2LCA3MjM4NiwgMCwgNjY4MiwgOTgzOTE3LCA3ODY3OSwgNDM4MzMsIDQxNTQ3LCA5ODM2MzAsIDIwMTMsIDEyODI5MSwgCisgICAgNzg1MzAsIDc4NTMyLCA3ODUyOCwgNzg1MjksIDEyODMyLCA3ODQ5MywgODA4MSwgODM2MiwgMzUzNywgMTE5OTA4LCA5MTM3LCAKKyAgICA3MTU1LCA4OTk5LCAwLCA3ODUzMywgMzQ2NiwgMCwgMCwgMTk5NiwgMCwgMzQ1MywgNjI4MiwgMCwgMjAwMiwgMjAwMCwgCisgICAgMTIwMTc1LCA1MzcsIDkyOTc2LCA0MTc5LCA2NTExOSwgMTk5OCwgMTIwNzQ2LCAxODQyLCAwLCA5MjY3NCwgOTYyOCwgCisgICAgNjg0NDYsIDEyMDgxLCA5ODI2LCA2NDUwMiwgMTc2NywgMCwgMCwgMTIwMDAxLCAxMjAyMDEsIDk4MzY0NiwgMTI0OTc1LCAKKyAgICAxMjc5OTEsIDMwNTksIDQ0MDI0LCAxMjAyMDQsIDQzNDkxLCA5MjY5MywgMCwgMCwgOTI0NTIsIDQxMDAsIDkyMCwgMTgxMSwgCisgICAgMTM1NSwgNDMxODksIDAsIDM1OTIsIDEwMDc4LCAwLCA3ODE2MiwgMTE5NTU4LCA4NTkyLCA2NTg3MCwgNjY0MTcsIDc0NTA0LCAKKyAgICAxMDc0MiwgNzI0MDAsIDQyOTE4LCAxOTk0LCA5MjgxLCAzMjk2LCAxMjg2NSwgMTk5NywgMTg5NSwgCiB9OwogCiAjZGVmaW5lIGNvZGVfbWFnaWMgNDcKZGlmZiAtLWdpdCBhL01vZHVsZXMvd2lucmVwYXJzZS5oIGIvTW9kdWxlcy93aW5yZXBhcnNlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjZmNzc3NQotLS0gL2Rldi9udWxsCisrKyBiL01vZHVsZXMvd2lucmVwYXJzZS5oCkBAIC0wLDAgKzEsNTMgQEAKKyNpZm5kZWYgUHlfV0lOUkVQQVJTRV9ICisjZGVmaW5lIFB5X1dJTlJFUEFSU0VfSAorCisjaWZkZWYgTVNfV0lORE9XUworI2luY2x1ZGUgPFdpbmRvd3MuaD4KKworI2lmZGVmIF9fY3BsdXNwbHVzCitleHRlcm4gIkMiIHsKKyNlbmRpZgorCisvKiBUaGUgZm9sbG93aW5nIHN0cnVjdHVyZSB3YXMgY29waWVkIGZyb20KKyAgIGh0dHA6Ly9tc2RuLm1pY3Jvc29mdC5jb20vZW4tdXMvbGlicmFyeS9mZjU1MjAxMi5hc3B4IGFzIHRoZSByZXF1aXJlZAorICAgaW5jbHVkZSBkb2Vzbid0IHNlZW0gdG8gYmUgcHJlc2VudCBpbiB0aGUgV2luZG93cyBTREsgKGF0IGxlYXN0IGFzIGluY2x1ZGVkCisgICB3aXRoIFZpc3VhbCBTdHVkaW8gRXhwcmVzcykuICovCit0eXBlZGVmIHN0cnVjdCBfUkVQQVJTRV9EQVRBX0JVRkZFUiB7CisgICAgVUxPTkcgUmVwYXJzZVRhZzsKKyAgICBVU0hPUlQgUmVwYXJzZURhdGFMZW5ndGg7CisgICAgVVNIT1JUIFJlc2VydmVkOworICAgIHVuaW9uIHsKKyAgICAgICAgc3RydWN0IHsKKyAgICAgICAgICAgIFVTSE9SVCBTdWJzdGl0dXRlTmFtZU9mZnNldDsKKyAgICAgICAgICAgIFVTSE9SVCBTdWJzdGl0dXRlTmFtZUxlbmd0aDsKKyAgICAgICAgICAgIFVTSE9SVCBQcmludE5hbWVPZmZzZXQ7CisgICAgICAgICAgICBVU0hPUlQgUHJpbnROYW1lTGVuZ3RoOworICAgICAgICAgICAgVUxPTkcgRmxhZ3M7CisgICAgICAgICAgICBXQ0hBUiBQYXRoQnVmZmVyWzFdOworICAgICAgICB9IFN5bWJvbGljTGlua1JlcGFyc2VCdWZmZXI7CisKKyAgICAgICAgc3RydWN0IHsKKyAgICAgICAgICAgIFVTSE9SVCBTdWJzdGl0dXRlTmFtZU9mZnNldDsKKyAgICAgICAgICAgIFVTSE9SVCAgU3Vic3RpdHV0ZU5hbWVMZW5ndGg7CisgICAgICAgICAgICBVU0hPUlQgIFByaW50TmFtZU9mZnNldDsKKyAgICAgICAgICAgIFVTSE9SVCAgUHJpbnROYW1lTGVuZ3RoOworICAgICAgICAgICAgV0NIQVIgIFBhdGhCdWZmZXJbMV07CisgICAgICAgIH0gTW91bnRQb2ludFJlcGFyc2VCdWZmZXI7CisKKyAgICAgICAgc3RydWN0IHsKKyAgICAgICAgICAgIFVDSEFSICBEYXRhQnVmZmVyWzFdOworICAgICAgICB9IEdlbmVyaWNSZXBhcnNlQnVmZmVyOworICAgIH07Cit9IFJFUEFSU0VfREFUQV9CVUZGRVIsICpQUkVQQVJTRV9EQVRBX0JVRkZFUjsKKworI2RlZmluZSBSRVBBUlNFX0RBVEFfQlVGRkVSX0hFQURFUl9TSVpFICBGSUVMRF9PRkZTRVQoUkVQQVJTRV9EQVRBX0JVRkZFUixcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHZW5lcmljUmVwYXJzZUJ1ZmZlcikKKyNkZWZpbmUgTUFYSU1VTV9SRVBBUlNFX0RBVEFfQlVGRkVSX1NJWkUgICggMTYgKiAxMDI0ICkKKworI2lmZGVmIF9fY3BsdXNwbHVzCit9CisjZW5kaWYKKworI2VuZGlmIC8qIE1TX1dJTkRPV1MgKi8KKworI2VuZGlmIC8qICFQeV9XSU5SRVBBUlNFX0ggKi8KZGlmZiAtLWdpdCBhL09iamVjdHMvUkVBRE1FIGIvT2JqZWN0cy9SRUFETUUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODU0YjEwMwotLS0gL2Rldi9udWxsCisrKyBiL09iamVjdHMvUkVBRE1FCkBAIC0wLDAgKzEgQEAKK1NvdXJjZSBmaWxlcyBmb3IgdmFyaW91cyBidWlsdGluIG9iamVjdHMKZGlmZiAtLWdpdCBhL09iamVjdHMvYWJzdHJhY3QuYyBiL09iamVjdHMvYWJzdHJhY3QuYwppbmRleCA3ZTMxMjFhLi4wNmUzMzgyIDEwMDY0NAotLS0gYS9PYmplY3RzL2Fic3RyYWN0LmMKKysrIGIvT2JqZWN0cy9hYnN0cmFjdC5jCkBAIC0zMDUsNyArMzA1LDcgQEAKICAgICAgICAgcGItPmJmX2dldGJ1ZmZlciA9PSBOVUxMIHx8CiAgICAgICAgICgoKnBiLT5iZl9nZXRidWZmZXIpKG9iaiwgJnZpZXcsIFB5QlVGX1dSSVRBQkxFKSAhPSAwKSkgewogICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLAotICAgICAgICAgICAgICAgICAgICAgICAgImV4cGVjdGVkIGFuIG9iamVjdCB3aXRoIGEgd3JpdGFibGUgYnVmZmVyIGludGVyZmFjZSIpOworICAgICAgICAgICAgICAgICAgICAgICAgImV4cGVjdGVkIGEgd3JpdGFibGUgYnl0ZXMtbGlrZSBvYmplY3QiKTsKICAgICAgICAgcmV0dXJuIC0xOwogICAgIH0KIApAQCAtMzI0LDcgKzMyNCw3IEBACiAKICAgICBpZiAocGIgPT0gTlVMTCB8fCBwYi0+YmZfZ2V0YnVmZmVyID09IE5VTEwpIHsKICAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX1R5cGVFcnJvciwKLSAgICAgICAgICAgICAgICAgICAgICInJS4xMDBzJyBkb2VzIG5vdCBzdXBwb3J0IHRoZSBidWZmZXIgaW50ZXJmYWNlIiwKKyAgICAgICAgICAgICAgICAgICAgICJhIGJ5dGVzLWxpa2Ugb2JqZWN0IGlzIHJlcXVpcmVkLCBub3QgJyUuMTAwcyciLAogICAgICAgICAgICAgICAgICAgICAgUHlfVFlQRShvYmopLT50cF9uYW1lKTsKICAgICAgICAgcmV0dXJuIC0xOwogICAgIH0KQEAgLTMzNywxNiArMzM3LDM1IEBACiAgICAgUHlfc3NpemVfdCBzZCwgZGltOwogICAgIGludCBpOwogCi0gICAgaWYgKHZpZXctPm5kaW0gPT0gMCkgcmV0dXJuIDE7Ci0gICAgaWYgKHZpZXctPnN0cmlkZXMgPT0gTlVMTCkgcmV0dXJuICh2aWV3LT5uZGltID09IDEpOworICAgIC8qIDEpIGxlbiA9IHByb2R1Y3Qoc2hhcGUpICogaXRlbXNpemUKKyAgICAgICAyKSBpdGVtc2l6ZSA+IDAKKyAgICAgICAzKSBsZW4gPSAwIDw9PT4gZXhpc3RzIGk6IHNoYXBlW2ldID0gMCAqLworICAgIGlmICh2aWV3LT5sZW4gPT0gMCkgcmV0dXJuIDE7CisgICAgaWYgKHZpZXctPnN0cmlkZXMgPT0gTlVMTCkgeyAgLyogQy1jb250aWd1b3VzIGJ5IGRlZmluaXRpb24gKi8KKyAgICAgICAgLyogVHJpdmlhbGx5IEYtY29udGlndW91cyAqLworICAgICAgICBpZiAodmlldy0+bmRpbSA8PSAxKSByZXR1cm4gMTsKKworICAgICAgICAvKiBuZGltID4gMSBpbXBsaWVzIHNoYXBlICE9IE5VTEwgKi8KKyAgICAgICAgYXNzZXJ0KHZpZXctPnNoYXBlICE9IE5VTEwpOworCisgICAgICAgIC8qIEVmZmVjdGl2ZWx5IDEtZCAqLworICAgICAgICBzZCA9IDA7CisgICAgICAgIGZvciAoaT0wOyBpPHZpZXctPm5kaW07IGkrKykgeworICAgICAgICAgICAgaWYgKHZpZXctPnNoYXBlW2ldID4gMSkgc2QgKz0gMTsKKyAgICAgICAgfQorICAgICAgICByZXR1cm4gc2QgPD0gMTsKKyAgICB9CisKKyAgICAvKiBzdHJpZGVzICE9IE5VTEwgaW1wbGllcyBib3RoIG9mIHRoZXNlICovCisgICAgYXNzZXJ0KHZpZXctPm5kaW0gPiAwKTsKKyAgICBhc3NlcnQodmlldy0+c2hhcGUgIT0gTlVMTCk7CiAKICAgICBzZCA9IHZpZXctPml0ZW1zaXplOwotICAgIGlmICh2aWV3LT5uZGltID09IDEpIHJldHVybiAodmlldy0+c2hhcGVbMF0gPT0gMSB8fAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNkID09IHZpZXctPnN0cmlkZXNbMF0pOwogICAgIGZvciAoaT0wOyBpPHZpZXctPm5kaW07IGkrKykgewogICAgICAgICBkaW0gPSB2aWV3LT5zaGFwZVtpXTsKLSAgICAgICAgaWYgKGRpbSA9PSAwKSByZXR1cm4gMTsKLSAgICAgICAgaWYgKHZpZXctPnN0cmlkZXNbaV0gIT0gc2QpIHJldHVybiAwOworICAgICAgICBpZiAoZGltID4gMSAmJiB2aWV3LT5zdHJpZGVzW2ldICE9IHNkKSB7CisgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgfQogICAgICAgICBzZCAqPSBkaW07CiAgICAgfQogICAgIHJldHVybiAxOwpAQCAtMzU4LDE2ICszNzcsMjIgQEAKICAgICBQeV9zc2l6ZV90IHNkLCBkaW07CiAgICAgaW50IGk7CiAKLSAgICBpZiAodmlldy0+bmRpbSA9PSAwKSByZXR1cm4gMTsKLSAgICBpZiAodmlldy0+c3RyaWRlcyA9PSBOVUxMKSByZXR1cm4gMTsKKyAgICAvKiAxKSBsZW4gPSBwcm9kdWN0KHNoYXBlKSAqIGl0ZW1zaXplCisgICAgICAgMikgaXRlbXNpemUgPiAwCisgICAgICAgMykgbGVuID0gMCA8PT0+IGV4aXN0cyBpOiBzaGFwZVtpXSA9IDAgKi8KKyAgICBpZiAodmlldy0+bGVuID09IDApIHJldHVybiAxOworICAgIGlmICh2aWV3LT5zdHJpZGVzID09IE5VTEwpIHJldHVybiAxOyAvKiBDLWNvbnRpZ3VvdXMgYnkgZGVmaW5pdGlvbiAqLworCisgICAgLyogc3RyaWRlcyAhPSBOVUxMIGltcGxpZXMgYm90aCBvZiB0aGVzZSAqLworICAgIGFzc2VydCh2aWV3LT5uZGltID4gMCk7CisgICAgYXNzZXJ0KHZpZXctPnNoYXBlICE9IE5VTEwpOwogCiAgICAgc2QgPSB2aWV3LT5pdGVtc2l6ZTsKLSAgICBpZiAodmlldy0+bmRpbSA9PSAxKSByZXR1cm4gKHZpZXctPnNoYXBlWzBdID09IDEgfHwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZCA9PSB2aWV3LT5zdHJpZGVzWzBdKTsKICAgICBmb3IgKGk9dmlldy0+bmRpbS0xOyBpPj0wOyBpLS0pIHsKICAgICAgICAgZGltID0gdmlldy0+c2hhcGVbaV07Ci0gICAgICAgIGlmIChkaW0gPT0gMCkgcmV0dXJuIDE7Ci0gICAgICAgIGlmICh2aWV3LT5zdHJpZGVzW2ldICE9IHNkKSByZXR1cm4gMDsKKyAgICAgICAgaWYgKGRpbSA+IDEgJiYgdmlldy0+c3RyaWRlc1tpXSAhPSBzZCkgeworICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIH0KICAgICAgICAgc2QgKj0gZGltOwogICAgIH0KICAgICByZXR1cm4gMTsKQEAgLTQ5OSw4ICs1MjQsOCBAQAogICAgIGlmICghUHlPYmplY3RfQ2hlY2tCdWZmZXIoZGVzdCkgfHwKICAgICAgICAgIVB5T2JqZWN0X0NoZWNrQnVmZmVyKHNyYykpIHsKICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwKLSAgICAgICAgICAgICAgICAgICAgICAgICJib3RoIGRlc3RpbmF0aW9uIGFuZCBzb3VyY2UgbXVzdCBoYXZlIHRoZSAiXAotICAgICAgICAgICAgICAgICAgICAgICAgImJ1ZmZlciBpbnRlcmZhY2UiKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICJib3RoIGRlc3RpbmF0aW9uIGFuZCBzb3VyY2UgbXVzdCBiZSAiXAorICAgICAgICAgICAgICAgICAgICAgICAgImJ5dGVzLWxpa2Ugb2JqZWN0cyIpOwogICAgICAgICByZXR1cm4gLTE7CiAgICAgfQogCkBAIC01ODcsNyArNjEyLDEyIEBACiBQeUJ1ZmZlcl9GaWxsSW5mbyhQeV9idWZmZXIgKnZpZXcsIFB5T2JqZWN0ICpvYmosIHZvaWQgKmJ1ZiwgUHlfc3NpemVfdCBsZW4sCiAgICAgICAgICAgICAgICAgICBpbnQgcmVhZG9ubHksIGludCBmbGFncykKIHsKLSAgICBpZiAodmlldyA9PSBOVUxMKSByZXR1cm4gMDsgLyogWFhYIHdoeSBub3QgLTE/ICovCisgICAgaWYgKHZpZXcgPT0gTlVMTCkgeworICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfQnVmZmVyRXJyb3IsCisgICAgICAgICAgICAiUHlCdWZmZXJfRmlsbEluZm86IHZpZXc9PU5VTEwgYXJndW1lbnQgaXMgb2Jzb2xldGUiKTsKKyAgICAgICAgcmV0dXJuIC0xOworICAgIH0KKwogICAgIGlmICgoKGZsYWdzICYgUHlCVUZfV1JJVEFCTEUpID09IFB5QlVGX1dSSVRBQkxFKSAmJgogICAgICAgICAocmVhZG9ubHkgPT0gMSkpIHsKICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX0J1ZmZlckVycm9yLApAQCAtNjYwLDggKzY5MCw5IEBACiAgICAgUHlfREVDUkVGKG1ldGgpOwogCiAgICAgaWYgKHJlc3VsdCAmJiAhUHlVbmljb2RlX0NoZWNrKHJlc3VsdCkpIHsKLSAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwKLSAgICAgICAgICAgICAgICAgICAgICAgICJfX2Zvcm1hdF9fIG1ldGhvZCBkaWQgbm90IHJldHVybiBzdHJpbmciKTsKKyAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX1R5cGVFcnJvciwKKyAgICAgICAgICAgICAiX19mb3JtYXRfXyBtdXN0IHJldHVybiBhIHN0ciwgbm90ICUuMjAwcyIsCisgICAgICAgICAgICAgUHlfVFlQRShyZXN1bHQpLT50cF9uYW1lKTsKICAgICAgICAgUHlfREVDUkVGKHJlc3VsdCk7CiAgICAgICAgIHJlc3VsdCA9IE5VTEw7CiAgICAgICAgIGdvdG8gZG9uZTsKQEAgLTkwNSw2ICs5MzYsMTIgQEAKIH0KIAogUHlPYmplY3QgKgorUHlOdW1iZXJfTWF0cml4TXVsdGlwbHkoUHlPYmplY3QgKnYsIFB5T2JqZWN0ICp3KQoreworICAgIHJldHVybiBiaW5hcnlfb3AodiwgdywgTkJfU0xPVChuYl9tYXRyaXhfbXVsdGlwbHkpLCAiQCIpOworfQorCitQeU9iamVjdCAqCiBQeU51bWJlcl9GbG9vckRpdmlkZShQeU9iamVjdCAqdiwgUHlPYmplY3QgKncpCiB7CiAgICAgcmV0dXJuIGJpbmFyeV9vcCh2LCB3LCBOQl9TTE9UKG5iX2Zsb29yX2RpdmlkZSksICIvLyIpOwpAQCAtOTg1LDYgKzEwMjIsNyBAQAogSU5QTEFDRV9CSU5PUChQeU51bWJlcl9JblBsYWNlTHNoaWZ0LCBuYl9pbnBsYWNlX2xzaGlmdCwgbmJfbHNoaWZ0LCAiPDw9IikKIElOUExBQ0VfQklOT1AoUHlOdW1iZXJfSW5QbGFjZVJzaGlmdCwgbmJfaW5wbGFjZV9yc2hpZnQsIG5iX3JzaGlmdCwgIj4+PSIpCiBJTlBMQUNFX0JJTk9QKFB5TnVtYmVyX0luUGxhY2VTdWJ0cmFjdCwgbmJfaW5wbGFjZV9zdWJ0cmFjdCwgbmJfc3VidHJhY3QsICItPSIpCitJTlBMQUNFX0JJTk9QKFB5TnVtYmVyX0luTWF0cml4TXVsdGlwbHksIG5iX2lucGxhY2VfbWF0cml4X211bHRpcGx5LCBuYl9tYXRyaXhfbXVsdGlwbHksICJAPSIpCiAKIFB5T2JqZWN0ICoKIFB5TnVtYmVyX0luUGxhY2VGbG9vckRpdmlkZShQeU9iamVjdCAqdiwgUHlPYmplY3QgKncpCkBAIC0xMDUxLDYgKzEwODksMTMgQEAKIH0KIAogUHlPYmplY3QgKgorUHlOdW1iZXJfSW5QbGFjZU1hdHJpeE11bHRpcGx5KFB5T2JqZWN0ICp2LCBQeU9iamVjdCAqdykKK3sKKyAgICByZXR1cm4gYmluYXJ5X2lvcCh2LCB3LCBOQl9TTE9UKG5iX2lucGxhY2VfbWF0cml4X211bHRpcGx5KSwKKyAgICAgICAgICAgICAgICAgICAgICBOQl9TTE9UKG5iX21hdHJpeF9tdWx0aXBseSksICJAPSIpOworfQorCitQeU9iamVjdCAqCiBQeU51bWJlcl9JblBsYWNlUmVtYWluZGVyKFB5T2JqZWN0ICp2LCBQeU9iamVjdCAqdykKIHsKICAgICByZXR1cm4gYmluYXJ5X2lvcCh2LCB3LCBOQl9TTE9UKG5iX2lucGxhY2VfcmVtYWluZGVyKSwKQEAgLTIwMzMsNiArMjA3OCwxMSBAQAogewogICAgIHRlcm5hcnlmdW5jIGNhbGw7CiAKKyAgICAvKiBQeU9iamVjdF9DYWxsKCkgbXVzdCBub3QgYmUgY2FsbGVkIHdpdGggYW4gZXhjZXB0aW9uIHNldCwKKyAgICAgICBiZWNhdXNlIGl0IG1heSBjbGVhciBpdCAoZGlyZWN0bHkgb3IgaW5kaXJlY3RseSkgYW5kIHNvIHRoZQorICAgICAgIGNhbGxlciBsb29zZXMgaXRzIGV4Y2VwdGlvbiAqLworICAgIGFzc2VydCghUHlFcnJfT2NjdXJyZWQoKSk7CisKICAgICBpZiAoKGNhbGwgPSBmdW5jLT5vYl90eXBlLT50cF9jYWxsKSAhPSBOVUxMKSB7CiAgICAgICAgIFB5T2JqZWN0ICpyZXN1bHQ7CiAgICAgICAgIGlmIChQeV9FbnRlclJlY3Vyc2l2ZUNhbGwoIiB3aGlsZSBjYWxsaW5nIGEgUHl0aG9uIG9iamVjdCIpKQpAQCAtMjQ5Miw2ICsyNTQyLDExIEBACiAgICAgaWYgKFB5X1RZUEUoaW5zdCkgPT0gKFB5VHlwZU9iamVjdCAqKWNscykKICAgICAgICAgcmV0dXJuIDE7CiAKKyAgICAvKiBXZSBrbm93IHdoYXQgdHlwZSdzIF9faW5zdGFuY2VjaGVja19fIGRvZXMuICovCisgICAgaWYgKFB5VHlwZV9DaGVja0V4YWN0KGNscykpIHsKKyAgICAgICAgcmV0dXJuIHJlY3Vyc2l2ZV9pc2luc3RhbmNlKGluc3QsIGNscyk7CisgICAgfQorCiAgICAgaWYgKFB5VHVwbGVfQ2hlY2soY2xzKSkgewogICAgICAgICBQeV9zc2l6ZV90IGk7CiAgICAgICAgIFB5X3NzaXplX3QgbjsKQEAgLTI1MzAsNiArMjU4NSw3IEBACiAgICAgfQogICAgIGVsc2UgaWYgKFB5RXJyX09jY3VycmVkKCkpCiAgICAgICAgIHJldHVybiAtMTsKKyAgICAvKiBQcm9iYWJseSBuZXZlciByZWFjaGVkIGFueW1vcmUuICovCiAgICAgcmV0dXJuIHJlY3Vyc2l2ZV9pc2luc3RhbmNlKGluc3QsIGNscyk7CiB9CiAKQEAgLTI1NTcsNiArMjYxMywxNCBAQAogICAgIF9QeV9JREVOVElGSUVSKF9fc3ViY2xhc3NjaGVja19fKTsKICAgICBQeU9iamVjdCAqY2hlY2tlcjsKIAorICAgIC8qIFdlIGtub3cgd2hhdCB0eXBlJ3MgX19zdWJjbGFzc2NoZWNrX18gZG9lcy4gKi8KKyAgICBpZiAoUHlUeXBlX0NoZWNrRXhhY3QoY2xzKSkgeworICAgICAgICAvKiBRdWljayB0ZXN0IGZvciBhbiBleGFjdCBtYXRjaCAqLworICAgICAgICBpZiAoZGVyaXZlZCA9PSBjbHMpCisgICAgICAgICAgICByZXR1cm4gMTsKKyAgICAgICAgcmV0dXJuIHJlY3Vyc2l2ZV9pc3N1YmNsYXNzKGRlcml2ZWQsIGNscyk7CisgICAgfQorCiAgICAgaWYgKFB5VHVwbGVfQ2hlY2soY2xzKSkgewogICAgICAgICBQeV9zc2l6ZV90IGk7CiAgICAgICAgIFB5X3NzaXplX3QgbjsKQEAgLTI1OTUsNiArMjY1OSw3IEBACiAgICAgfQogICAgIGVsc2UgaWYgKFB5RXJyX09jY3VycmVkKCkpCiAgICAgICAgIHJldHVybiAtMTsKKyAgICAvKiBQcm9iYWJseSBuZXZlciByZWFjaGVkIGFueW1vcmUuICovCiAgICAgcmV0dXJuIHJlY3Vyc2l2ZV9pc3N1YmNsYXNzKGRlcml2ZWQsIGNscyk7CiB9CiAKZGlmZiAtLWdpdCBhL09iamVjdHMvYnl0ZWFycmF5b2JqZWN0LmMgYi9PYmplY3RzL2J5dGVhcnJheW9iamVjdC5jCmluZGV4IGY1ZWIzMjEuLjhiMzI2N2UgMTAwNjQ0Ci0tLSBhL09iamVjdHMvYnl0ZWFycmF5b2JqZWN0LmMKKysrIGIvT2JqZWN0cy9ieXRlYXJyYXlvYmplY3QuYwpAQCAtNCw2ICs0LDEyIEBACiAjaW5jbHVkZSAiUHl0aG9uLmgiCiAjaW5jbHVkZSAic3RydWN0bWVtYmVyLmgiCiAjaW5jbHVkZSAiYnl0ZXNfbWV0aG9kcy5oIgorI2luY2x1ZGUgImJ5dGVzb2JqZWN0LmgiCisKKy8qW2NsaW5pYyBpbnB1dF0KK2NsYXNzIGJ5dGVhcnJheSAiUHlCeXRlQXJyYXlPYmplY3QgKiIgIiZQeUJ5dGVBcnJheV9UeXBlIgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWRhMzlhM2VlNWU2YjRiMGQgaW5wdXQ9NTUzNWI3N2MzN2ExMTllMF0qLwogCiBjaGFyIF9QeUJ5dGVBcnJheV9lbXB0eV9zdHJpbmdbXSA9ICIiOwogCkBAIC01NCwxOCArNjAsMTcgQEAKIHN0YXRpYyBpbnQKIGJ5dGVhcnJheV9nZXRidWZmZXIoUHlCeXRlQXJyYXlPYmplY3QgKm9iaiwgUHlfYnVmZmVyICp2aWV3LCBpbnQgZmxhZ3MpCiB7Ci0gICAgaW50IHJldDsKICAgICB2b2lkICpwdHI7CiAgICAgaWYgKHZpZXcgPT0gTlVMTCkgewotICAgICAgICBvYmotPm9iX2V4cG9ydHMrKzsKLSAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19CdWZmZXJFcnJvciwKKyAgICAgICAgICAgICJieXRlYXJyYXlfZ2V0YnVmZmVyOiB2aWV3PT1OVUxMIGFyZ3VtZW50IGlzIG9ic29sZXRlIik7CisgICAgICAgIHJldHVybiAtMTsKICAgICB9CiAgICAgcHRyID0gKHZvaWQgKikgUHlCeXRlQXJyYXlfQVNfU1RSSU5HKG9iaik7Ci0gICAgcmV0ID0gUHlCdWZmZXJfRmlsbEluZm8odmlldywgKFB5T2JqZWN0KilvYmosIHB0ciwgUHlfU0laRShvYmopLCAwLCBmbGFncyk7Ci0gICAgaWYgKHJldCA+PSAwKSB7Ci0gICAgICAgIG9iai0+b2JfZXhwb3J0cysrOwotICAgIH0KLSAgICByZXR1cm4gcmV0OworICAgIC8qIGNhbm5vdCBmYWlsIGlmIHZpZXcgIT0gTlVMTCBhbmQgcmVhZG9ubHkgPT0gMCAqLworICAgICh2b2lkKVB5QnVmZmVyX0ZpbGxJbmZvKHZpZXcsIChQeU9iamVjdCopb2JqLCBwdHIsIFB5X1NJWkUob2JqKSwgMCwgZmxhZ3MpOworICAgIG9iai0+b2JfZXhwb3J0cysrOworICAgIHJldHVybiAwOwogfQogCiBzdGF0aWMgdm9pZApAQCAtMjcxLDYgKzI3NiwzMSBAQAogICAgIHJldHVybiAoUHlPYmplY3QgKilyZXN1bHQ7CiB9CiAKK3N0YXRpYyBQeU9iamVjdCAqCitieXRlYXJyYXlfZm9ybWF0KFB5Qnl0ZUFycmF5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK3sKKyAgICBQeU9iamVjdCAqYnl0ZXNfaW4sICpieXRlc19vdXQsICpyZXM7CisgICAgY2hhciAqYnl0ZXN0cmluZzsKKworICAgIGlmIChzZWxmID09IE5VTEwgfHwgIVB5Qnl0ZUFycmF5X0NoZWNrKHNlbGYpIHx8IGFyZ3MgPT0gTlVMTCkgeworICAgICAgICBQeUVycl9CYWRJbnRlcm5hbENhbGwoKTsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorICAgIGJ5dGVzdHJpbmcgPSBQeUJ5dGVBcnJheV9BU19TVFJJTkcoc2VsZik7CisgICAgYnl0ZXNfaW4gPSBQeUJ5dGVzX0Zyb21TdHJpbmcoYnl0ZXN0cmluZyk7CisgICAgaWYgKGJ5dGVzX2luID09IE5VTEwpCisgICAgICAgIHJldHVybiBOVUxMOworICAgIGJ5dGVzX291dCA9IF9QeUJ5dGVzX0Zvcm1hdChieXRlc19pbiwgYXJncyk7CisgICAgUHlfREVDUkVGKGJ5dGVzX2luKTsKKyAgICBpZiAoYnl0ZXNfb3V0ID09IE5VTEwpCisgICAgICAgIHJldHVybiBOVUxMOworICAgIHJlcyA9IFB5Qnl0ZUFycmF5X0Zyb21PYmplY3QoYnl0ZXNfb3V0KTsKKyAgICBQeV9ERUNSRUYoYnl0ZXNfb3V0KTsKKyAgICBpZiAocmVzID09IE5VTEwpCisgICAgICAgIHJldHVybiBOVUxMOworICAgIHJldHVybiByZXM7Cit9CisKIC8qIEZ1bmN0aW9ucyBzdHVmZmVkIGludG8gdGhlIHR5cGUgb2JqZWN0ICovCiAKIHN0YXRpYyBQeV9zc2l6ZV90CkBAIC00MjksNyArNDU5LDkgQEAKICAgICAgICAgfQogICAgIH0KICAgICBlbHNlIHsKLSAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwgImJ5dGVhcnJheSBpbmRpY2VzIG11c3QgYmUgaW50ZWdlcnMiKTsKKyAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX1R5cGVFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICJieXRlYXJyYXkgaW5kaWNlcyBtdXN0IGJlIGludGVnZXJzIG9yIHNsaWNlcywgbm90ICUuMjAwcyIsCisgICAgICAgICAgICAgICAgICAgICBQeV9UWVBFKGluZGV4KS0+dHBfbmFtZSk7CiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KIH0KQEAgLTYzNCw3ICs2NjYsOSBAQAogICAgICAgICB9CiAgICAgfQogICAgIGVsc2UgewotICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCAiYnl0ZWFycmF5IGluZGljZXMgbXVzdCBiZSBpbnRlZ2VyIik7CisgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19UeXBlRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAiYnl0ZWFycmF5IGluZGljZXMgbXVzdCBiZSBpbnRlZ2VycyBvciBzbGljZXMsIG5vdCAlLjIwMHMiLAorICAgICAgICAgICAgICAgICAgICAgIFB5X1RZUEUoaW5kZXgpLT50cF9uYW1lKTsKICAgICAgICAgcmV0dXJuIC0xOwogICAgIH0KIApAQCAtMTIwOCwyNiArMTI0Miw3MCBAQAogICAgIHJldHVybiBjb3VudF9vYmo7CiB9CiAKLVB5RG9jX1NUUlZBUihjbGVhcl9fZG9jX18sCi0iQi5jbGVhcigpIC0+IE5vbmVcblwKLVxuXAotUmVtb3ZlIGFsbCBpdGVtcyBmcm9tIEIuIik7CisvKltjbGluaWMgaW5wdXRdCitieXRlYXJyYXkuY2xlYXIKKworICAgIHNlbGY6IHNlbGYodHlwZT0iUHlCeXRlQXJyYXlPYmplY3QgKiIpCisKK1JlbW92ZSBhbGwgaXRlbXMgZnJvbSB0aGUgYnl0ZWFycmF5LgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIoYnl0ZWFycmF5X2NsZWFyX19kb2NfXywKKyJjbGVhcigkc2VsZiwgLylcbiIKKyItLVxuIgorIlxuIgorIlJlbW92ZSBhbGwgaXRlbXMgZnJvbSB0aGUgYnl0ZWFycmF5LiIpOworCisjZGVmaW5lIEJZVEVBUlJBWV9DTEVBUl9NRVRIT0RERUYgICAgXAorICAgIHsiY2xlYXIiLCAoUHlDRnVuY3Rpb24pYnl0ZWFycmF5X2NsZWFyLCBNRVRIX05PQVJHUywgYnl0ZWFycmF5X2NsZWFyX19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1ieXRlYXJyYXlfY2xlYXIoUHlCeXRlQXJyYXlPYmplY3QgKnNlbGYpCitieXRlYXJyYXlfY2xlYXJfaW1wbChQeUJ5dGVBcnJheU9iamVjdCAqc2VsZik7CisKK3N0YXRpYyBQeU9iamVjdCAqCitieXRlYXJyYXlfY2xlYXIoUHlCeXRlQXJyYXlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpQeV9VTlVTRUQoaWdub3JlZCkpCit7CisgICAgcmV0dXJuIGJ5dGVhcnJheV9jbGVhcl9pbXBsKHNlbGYpOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorYnl0ZWFycmF5X2NsZWFyX2ltcGwoUHlCeXRlQXJyYXlPYmplY3QgKnNlbGYpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9NTM0NDA5MzAzMWUyZjM2YyBpbnB1dD1lNTI0ZmQzMzBhYmNkYzE4XSovCiB7CiAgICAgaWYgKFB5Qnl0ZUFycmF5X1Jlc2l6ZSgoUHlPYmplY3QgKilzZWxmLCAwKSA8IDApCiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIFB5X1JFVFVSTl9OT05FOwogfQogCi1QeURvY19TVFJWQVIoY29weV9fZG9jX18sCi0iQi5jb3B5KCkgLT4gYnl0ZWFycmF5XG5cCi1cblwKLVJldHVybiBhIGNvcHkgb2YgQi4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK2J5dGVhcnJheS5jb3B5CisKKyAgICBzZWxmOiBzZWxmKHR5cGU9IlB5Qnl0ZUFycmF5T2JqZWN0ICoiKQorCitSZXR1cm4gYSBjb3B5IG9mIEIuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihieXRlYXJyYXlfY29weV9fZG9jX18sCisiY29weSgkc2VsZiwgLylcbiIKKyItLVxuIgorIlxuIgorIlJldHVybiBhIGNvcHkgb2YgQi4iKTsKKworI2RlZmluZSBCWVRFQVJSQVlfQ09QWV9NRVRIT0RERUYgICAgXAorICAgIHsiY29weSIsIChQeUNGdW5jdGlvbilieXRlYXJyYXlfY29weSwgTUVUSF9OT0FSR1MsIGJ5dGVhcnJheV9jb3B5X19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1ieXRlYXJyYXlfY29weShQeUJ5dGVBcnJheU9iamVjdCAqc2VsZikKK2J5dGVhcnJheV9jb3B5X2ltcGwoUHlCeXRlQXJyYXlPYmplY3QgKnNlbGYpOworCitzdGF0aWMgUHlPYmplY3QgKgorYnl0ZWFycmF5X2NvcHkoUHlCeXRlQXJyYXlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpQeV9VTlVTRUQoaWdub3JlZCkpCit7CisgICAgcmV0dXJuIGJ5dGVhcnJheV9jb3B5X2ltcGwoc2VsZik7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitieXRlYXJyYXlfY29weV9pbXBsKFB5Qnl0ZUFycmF5T2JqZWN0ICpzZWxmKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTg3ODhlZDI5OWY3ZjIyMTQgaW5wdXQ9NmQ1ZDI5NzVhYTBmMzNmM10qLwogewogICAgIHJldHVybiBQeUJ5dGVBcnJheV9Gcm9tU3RyaW5nQW5kU2l6ZShQeUJ5dGVBcnJheV9BU19TVFJJTkcoKFB5T2JqZWN0ICopc2VsZiksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5Qnl0ZUFycmF5X0dFVF9TSVpFKHNlbGYpKTsKQEAgLTE0NDYsMzYgKzE1MjQsODUgQEAKIH0KIAogCi1QeURvY19TVFJWQVIodHJhbnNsYXRlX19kb2NfXywKLSJCLnRyYW5zbGF0ZSh0YWJsZVssIGRlbGV0ZWNoYXJzXSkgLT4gYnl0ZWFycmF5XG5cCi1cblwKLVJldHVybiBhIGNvcHkgb2YgQiwgd2hlcmUgYWxsIGNoYXJhY3RlcnMgb2NjdXJyaW5nIGluIHRoZVxuXAotb3B0aW9uYWwgYXJndW1lbnQgZGVsZXRlY2hhcnMgYXJlIHJlbW92ZWQsIGFuZCB0aGUgcmVtYWluaW5nXG5cCi1jaGFyYWN0ZXJzIGhhdmUgYmVlbiBtYXBwZWQgdGhyb3VnaCB0aGUgZ2l2ZW4gdHJhbnNsYXRpb25cblwKLXRhYmxlLCB3aGljaCBtdXN0IGJlIGEgYnl0ZXMgb2JqZWN0IG9mIGxlbmd0aCAyNTYuIik7CisvKltjbGluaWMgaW5wdXRdCitieXRlYXJyYXkudHJhbnNsYXRlCisKKyAgICBzZWxmOiBzZWxmKHR5cGU9IlB5Qnl0ZUFycmF5T2JqZWN0ICoiKQorICAgIHRhYmxlOiBvYmplY3QKKyAgICAgICAgVHJhbnNsYXRpb24gdGFibGUsIHdoaWNoIG11c3QgYmUgYSBieXRlcyBvYmplY3Qgb2YgbGVuZ3RoIDI1Ni4KKyAgICBbCisgICAgZGVsZXRlY2hhcnM6IG9iamVjdAorICAgIF0KKyAgICAvCisKK1JldHVybiBhIGNvcHkgd2l0aCBlYWNoIGNoYXJhY3RlciBtYXBwZWQgYnkgdGhlIGdpdmVuIHRyYW5zbGF0aW9uIHRhYmxlLgorCitBbGwgY2hhcmFjdGVycyBvY2N1cnJpbmcgaW4gdGhlIG9wdGlvbmFsIGFyZ3VtZW50IGRlbGV0ZWNoYXJzIGFyZSByZW1vdmVkLgorVGhlIHJlbWFpbmluZyBjaGFyYWN0ZXJzIGFyZSBtYXBwZWQgdGhyb3VnaCB0aGUgZ2l2ZW4gdHJhbnNsYXRpb24gdGFibGUuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihieXRlYXJyYXlfdHJhbnNsYXRlX19kb2NfXywKKyJ0cmFuc2xhdGUodGFibGUsIFtkZWxldGVjaGFyc10pXG4iCisiUmV0dXJuIGEgY29weSB3aXRoIGVhY2ggY2hhcmFjdGVyIG1hcHBlZCBieSB0aGUgZ2l2ZW4gdHJhbnNsYXRpb24gdGFibGUuXG4iCisiXG4iCisiICB0YWJsZVxuIgorIiAgICBUcmFuc2xhdGlvbiB0YWJsZSwgd2hpY2ggbXVzdCBiZSBhIGJ5dGVzIG9iamVjdCBvZiBsZW5ndGggMjU2LlxuIgorIlxuIgorIkFsbCBjaGFyYWN0ZXJzIG9jY3VycmluZyBpbiB0aGUgb3B0aW9uYWwgYXJndW1lbnQgZGVsZXRlY2hhcnMgYXJlIHJlbW92ZWQuXG4iCisiVGhlIHJlbWFpbmluZyBjaGFyYWN0ZXJzIGFyZSBtYXBwZWQgdGhyb3VnaCB0aGUgZ2l2ZW4gdHJhbnNsYXRpb24gdGFibGUuIik7CisKKyNkZWZpbmUgQllURUFSUkFZX1RSQU5TTEFURV9NRVRIT0RERUYgICAgXAorICAgIHsidHJhbnNsYXRlIiwgKFB5Q0Z1bmN0aW9uKWJ5dGVhcnJheV90cmFuc2xhdGUsIE1FVEhfVkFSQVJHUywgYnl0ZWFycmF5X3RyYW5zbGF0ZV9fZG9jX199LAorCitzdGF0aWMgUHlPYmplY3QgKgorYnl0ZWFycmF5X3RyYW5zbGF0ZV9pbXBsKFB5Qnl0ZUFycmF5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqdGFibGUsIGludCBncm91cF9yaWdodF8xLCBQeU9iamVjdCAqZGVsZXRlY2hhcnMpOwogCiBzdGF0aWMgUHlPYmplY3QgKgogYnl0ZWFycmF5X3RyYW5zbGF0ZShQeUJ5dGVBcnJheU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCiB7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgUHlPYmplY3QgKnRhYmxlOworICAgIGludCBncm91cF9yaWdodF8xID0gMDsKKyAgICBQeU9iamVjdCAqZGVsZXRlY2hhcnMgPSBOVUxMOworCisgICAgc3dpdGNoIChQeVR1cGxlX0dFVF9TSVpFKGFyZ3MpKSB7CisgICAgICAgIGNhc2UgMToKKyAgICAgICAgICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiTzp0cmFuc2xhdGUiLCAmdGFibGUpKQorICAgICAgICAgICAgICAgIGdvdG8gZXhpdDsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIDI6CisgICAgICAgICAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgIk9POnRyYW5zbGF0ZSIsICZ0YWJsZSwgJmRlbGV0ZWNoYXJzKSkKKyAgICAgICAgICAgICAgICBnb3RvIGV4aXQ7CisgICAgICAgICAgICBncm91cF9yaWdodF8xID0gMTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwgImJ5dGVhcnJheS50cmFuc2xhdGUgcmVxdWlyZXMgMSB0byAyIGFyZ3VtZW50cyIpOworICAgICAgICAgICAgZ290byBleGl0OworICAgIH0KKyAgICByZXR1cm5fdmFsdWUgPSBieXRlYXJyYXlfdHJhbnNsYXRlX2ltcGwoc2VsZiwgdGFibGUsIGdyb3VwX3JpZ2h0XzEsIGRlbGV0ZWNoYXJzKTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorYnl0ZWFycmF5X3RyYW5zbGF0ZV9pbXBsKFB5Qnl0ZUFycmF5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqdGFibGUsIGludCBncm91cF9yaWdodF8xLCBQeU9iamVjdCAqZGVsZXRlY2hhcnMpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9YTcwOWRmODFkNDFkYjRiNyBpbnB1dD1iNzQ5YWQ4NWY0ODYwODI0XSovCit7CiAgICAgY2hhciAqaW5wdXQsICpvdXRwdXQ7Ci0gICAgY29uc3QgY2hhciAqdGFibGU7CisgICAgY29uc3QgY2hhciAqdGFibGVfY2hhcnM7CiAgICAgUHlfc3NpemVfdCBpLCBjOwogICAgIFB5T2JqZWN0ICppbnB1dF9vYmogPSAoUHlPYmplY3QqKXNlbGY7CiAgICAgY29uc3QgY2hhciAqb3V0cHV0X3N0YXJ0OwogICAgIFB5X3NzaXplX3QgaW5sZW47CiAgICAgUHlPYmplY3QgKnJlc3VsdCA9IE5VTEw7CiAgICAgaW50IHRyYW5zX3RhYmxlWzI1Nl07Ci0gICAgUHlPYmplY3QgKnRhYmxlb2JqID0gTlVMTCwgKmRlbG9iaiA9IE5VTEw7CiAgICAgUHlfYnVmZmVyIHZ0YWJsZSwgdmRlbDsKIAotICAgIGlmICghUHlBcmdfVW5wYWNrVHVwbGUoYXJncywgInRyYW5zbGF0ZSIsIDEsIDIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAmdGFibGVvYmosICZkZWxvYmopKQotICAgICAgICAgIHJldHVybiBOVUxMOwotCi0gICAgaWYgKHRhYmxlb2JqID09IFB5X05vbmUpIHsKKyAgICBpZiAodGFibGUgPT0gUHlfTm9uZSkgeworICAgICAgICB0YWJsZV9jaGFycyA9IE5VTEw7CiAgICAgICAgIHRhYmxlID0gTlVMTDsKLSAgICAgICAgdGFibGVvYmogPSBOVUxMOwotICAgIH0gZWxzZSBpZiAoUHlPYmplY3RfR2V0QnVmZmVyKHRhYmxlb2JqLCAmdnRhYmxlLCBQeUJVRl9TSU1QTEUpICE9IDApIHsKKyAgICB9IGVsc2UgaWYgKFB5T2JqZWN0X0dldEJ1ZmZlcih0YWJsZSwgJnZ0YWJsZSwgUHlCVUZfU0lNUExFKSAhPSAwKSB7CiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0gZWxzZSB7CiAgICAgICAgIGlmICh2dGFibGUubGVuICE9IDI1NikgewpAQCAtMTQ4NCwxMiArMTYxMSwxMiBAQAogICAgICAgICAgICAgUHlCdWZmZXJfUmVsZWFzZSgmdnRhYmxlKTsKICAgICAgICAgICAgIHJldHVybiBOVUxMOwogICAgICAgICB9Ci0gICAgICAgIHRhYmxlID0gKGNvbnN0IGNoYXIqKXZ0YWJsZS5idWY7CisgICAgICAgIHRhYmxlX2NoYXJzID0gKGNvbnN0IGNoYXIqKXZ0YWJsZS5idWY7CiAgICAgfQogCi0gICAgaWYgKGRlbG9iaiAhPSBOVUxMKSB7Ci0gICAgICAgIGlmIChQeU9iamVjdF9HZXRCdWZmZXIoZGVsb2JqLCAmdmRlbCwgUHlCVUZfU0lNUExFKSAhPSAwKSB7Ci0gICAgICAgICAgICBpZiAodGFibGVvYmogIT0gTlVMTCkKKyAgICBpZiAoZGVsZXRlY2hhcnMgIT0gTlVMTCkgeworICAgICAgICBpZiAoUHlPYmplY3RfR2V0QnVmZmVyKGRlbGV0ZWNoYXJzLCAmdmRlbCwgUHlCVUZfU0lNUExFKSAhPSAwKSB7CisgICAgICAgICAgICBpZiAodGFibGUgIT0gTlVMTCkKICAgICAgICAgICAgICAgICBQeUJ1ZmZlcl9SZWxlYXNlKCZ2dGFibGUpOwogICAgICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgICAgIH0KQEAgLTE1MDYsMjEgKzE2MzMsMjEgQEAKICAgICBvdXRwdXRfc3RhcnQgPSBvdXRwdXQgPSBQeUJ5dGVBcnJheV9Bc1N0cmluZyhyZXN1bHQpOwogICAgIGlucHV0ID0gUHlCeXRlQXJyYXlfQVNfU1RSSU5HKGlucHV0X29iaik7CiAKLSAgICBpZiAodmRlbC5sZW4gPT0gMCAmJiB0YWJsZSAhPSBOVUxMKSB7CisgICAgaWYgKHZkZWwubGVuID09IDAgJiYgdGFibGVfY2hhcnMgIT0gTlVMTCkgewogICAgICAgICAvKiBJZiBubyBkZWxldGlvbnMgYXJlIHJlcXVpcmVkLCB1c2UgZmFzdGVyIGNvZGUgKi8KICAgICAgICAgZm9yIChpID0gaW5sZW47IC0taSA+PSAwOyApIHsKICAgICAgICAgICAgIGMgPSBQeV9DSEFSTUFTSygqaW5wdXQrKyk7Ci0gICAgICAgICAgICAqb3V0cHV0KysgPSB0YWJsZVtjXTsKKyAgICAgICAgICAgICpvdXRwdXQrKyA9IHRhYmxlX2NoYXJzW2NdOwogICAgICAgICB9CiAgICAgICAgIGdvdG8gZG9uZTsKICAgICB9CiAKLSAgICBpZiAodGFibGUgPT0gTlVMTCkgeworICAgIGlmICh0YWJsZV9jaGFycyA9PSBOVUxMKSB7CiAgICAgICAgIGZvciAoaSA9IDA7IGkgPCAyNTY7IGkrKykKICAgICAgICAgICAgIHRyYW5zX3RhYmxlW2ldID0gUHlfQ0hBUk1BU0soaSk7CiAgICAgfSBlbHNlIHsKICAgICAgICAgZm9yIChpID0gMDsgaSA8IDI1NjsgaSsrKQotICAgICAgICAgICAgdHJhbnNfdGFibGVbaV0gPSBQeV9DSEFSTUFTSyh0YWJsZVtpXSk7CisgICAgICAgICAgICB0cmFuc190YWJsZVtpXSA9IFB5X0NIQVJNQVNLKHRhYmxlX2NoYXJzW2ldKTsKICAgICB9CiAKICAgICBmb3IgKGkgPSAwOyBpIDwgdmRlbC5sZW47IGkrKykKQEAgLTE1NDAsMTggKzE2NjcsNzcgQEAKICAgICAgICAgfQogCiBkb25lOgotICAgIGlmICh0YWJsZW9iaiAhPSBOVUxMKQorICAgIGlmICh0YWJsZSAhPSBOVUxMKQogICAgICAgICBQeUJ1ZmZlcl9SZWxlYXNlKCZ2dGFibGUpOwotICAgIGlmIChkZWxvYmogIT0gTlVMTCkKKyAgICBpZiAoZGVsZXRlY2hhcnMgIT0gTlVMTCkKICAgICAgICAgUHlCdWZmZXJfUmVsZWFzZSgmdmRlbCk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAogCisvKltjbGluaWMgaW5wdXRdCisKK0BzdGF0aWNtZXRob2QKK2J5dGVhcnJheS5tYWtldHJhbnMKKworICAgIGZybTogUHlfYnVmZmVyCisgICAgdG86IFB5X2J1ZmZlcgorICAgIC8KKworUmV0dXJuIGEgdHJhbnNsYXRpb24gdGFibGUgdXNlYWJsZSBmb3IgdGhlIGJ5dGVzIG9yIGJ5dGVhcnJheSB0cmFuc2xhdGUgbWV0aG9kLgorCitUaGUgcmV0dXJuZWQgdGFibGUgd2lsbCBiZSBvbmUgd2hlcmUgZWFjaCBieXRlIGluIGZybSBpcyBtYXBwZWQgdG8gdGhlIGJ5dGUgYXQKK3RoZSBzYW1lIHBvc2l0aW9uIGluIHRvLgorCitUaGUgYnl0ZXMgb2JqZWN0cyBmcm0gYW5kIHRvIG11c3QgYmUgb2YgdGhlIHNhbWUgbGVuZ3RoLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIoYnl0ZWFycmF5X21ha2V0cmFuc19fZG9jX18sCisibWFrZXRyYW5zKGZybSwgdG8sIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJSZXR1cm4gYSB0cmFuc2xhdGlvbiB0YWJsZSB1c2VhYmxlIGZvciB0aGUgYnl0ZXMgb3IgYnl0ZWFycmF5IHRyYW5zbGF0ZSBtZXRob2QuXG4iCisiXG4iCisiVGhlIHJldHVybmVkIHRhYmxlIHdpbGwgYmUgb25lIHdoZXJlIGVhY2ggYnl0ZSBpbiBmcm0gaXMgbWFwcGVkIHRvIHRoZSBieXRlIGF0XG4iCisidGhlIHNhbWUgcG9zaXRpb24gaW4gdG8uXG4iCisiXG4iCisiVGhlIGJ5dGVzIG9iamVjdHMgZnJtIGFuZCB0byBtdXN0IGJlIG9mIHRoZSBzYW1lIGxlbmd0aC4iKTsKKworI2RlZmluZSBCWVRFQVJSQVlfTUFLRVRSQU5TX01FVEhPRERFRiAgICBcCisgICAgeyJtYWtldHJhbnMiLCAoUHlDRnVuY3Rpb24pYnl0ZWFycmF5X21ha2V0cmFucywgTUVUSF9WQVJBUkdTfE1FVEhfU1RBVElDLCBieXRlYXJyYXlfbWFrZXRyYW5zX19kb2NfX30sCisKIHN0YXRpYyBQeU9iamVjdCAqCi1ieXRlYXJyYXlfbWFrZXRyYW5zKFB5T2JqZWN0ICpudWxsLCBQeU9iamVjdCAqYXJncykKK2J5dGVhcnJheV9tYWtldHJhbnNfaW1wbChQeV9idWZmZXIgKmZybSwgUHlfYnVmZmVyICp0byk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitieXRlYXJyYXlfbWFrZXRyYW5zKHZvaWQgKm51bGwsIFB5T2JqZWN0ICphcmdzKQogewotICAgICAgICByZXR1cm4gX1B5X2J5dGVzX21ha2V0cmFucyhhcmdzKTsKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBQeV9idWZmZXIgZnJtID0ge05VTEwsIE5VTEx9OworICAgIFB5X2J1ZmZlciB0byA9IHtOVUxMLCBOVUxMfTsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAieSp5KjptYWtldHJhbnMiLAorICAgICAgICAmZnJtLCAmdG8pKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gYnl0ZWFycmF5X21ha2V0cmFuc19pbXBsKCZmcm0sICZ0byk7CisKK2V4aXQ6CisgICAgLyogQ2xlYW51cCBmb3IgZnJtICovCisgICAgaWYgKGZybS5vYmopCisgICAgICAgUHlCdWZmZXJfUmVsZWFzZSgmZnJtKTsKKyAgICAvKiBDbGVhbnVwIGZvciB0byAqLworICAgIGlmICh0by5vYmopCisgICAgICAgUHlCdWZmZXJfUmVsZWFzZSgmdG8pOworCisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK2J5dGVhcnJheV9tYWtldHJhbnNfaW1wbChQeV9idWZmZXIgKmZybSwgUHlfYnVmZmVyICp0bykKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1kMzMyNjIyODE0YzI2ZjRiIGlucHV0PTU5MjVhODFkMmZiYmYxNTFdKi8KK3sKKyAgICByZXR1cm4gX1B5X2J5dGVzX21ha2V0cmFucyhmcm0sIHRvKTsKIH0KIAogCkBAIC0yMDQyLDYxICsyMjI4LDE0MyBAQAogfQogCiAKLVB5RG9jX1NUUlZBUihyZXBsYWNlX19kb2NfXywKLSJCLnJlcGxhY2Uob2xkLCBuZXdbLCBjb3VudF0pIC0+IGJ5dGVhcnJheVxuXAotXG5cCi1SZXR1cm4gYSBjb3B5IG9mIEIgd2l0aCBhbGwgb2NjdXJyZW5jZXMgb2Ygc3Vic2VjdGlvblxuXAotb2xkIHJlcGxhY2VkIGJ5IG5ldy4gIElmIHRoZSBvcHRpb25hbCBhcmd1bWVudCBjb3VudCBpc1xuXAotZ2l2ZW4sIG9ubHkgdGhlIGZpcnN0IGNvdW50IG9jY3VycmVuY2VzIGFyZSByZXBsYWNlZC4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK2J5dGVhcnJheS5yZXBsYWNlCisKKyAgICBvbGQ6IFB5X2J1ZmZlcgorICAgIG5ldzogUHlfYnVmZmVyCisgICAgY291bnQ6IFB5X3NzaXplX3QgPSAtMQorICAgICAgICBNYXhpbXVtIG51bWJlciBvZiBvY2N1cnJlbmNlcyB0byByZXBsYWNlLgorICAgICAgICAtMSAodGhlIGRlZmF1bHQgdmFsdWUpIG1lYW5zIHJlcGxhY2UgYWxsIG9jY3VycmVuY2VzLgorICAgIC8KKworUmV0dXJuIGEgY29weSB3aXRoIGFsbCBvY2N1cnJlbmNlcyBvZiBzdWJzdHJpbmcgb2xkIHJlcGxhY2VkIGJ5IG5ldy4KKworSWYgdGhlIG9wdGlvbmFsIGFyZ3VtZW50IGNvdW50IGlzIGdpdmVuLCBvbmx5IHRoZSBmaXJzdCBjb3VudCBvY2N1cnJlbmNlcyBhcmUKK3JlcGxhY2VkLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIoYnl0ZWFycmF5X3JlcGxhY2VfX2RvY19fLAorInJlcGxhY2UoJHNlbGYsIG9sZCwgbmV3LCBjb3VudD0tMSwgLylcbiIKKyItLVxuIgorIlxuIgorIlJldHVybiBhIGNvcHkgd2l0aCBhbGwgb2NjdXJyZW5jZXMgb2Ygc3Vic3RyaW5nIG9sZCByZXBsYWNlZCBieSBuZXcuXG4iCisiXG4iCisiICBjb3VudFxuIgorIiAgICBNYXhpbXVtIG51bWJlciBvZiBvY2N1cnJlbmNlcyB0byByZXBsYWNlLlxuIgorIiAgICAtMSAodGhlIGRlZmF1bHQgdmFsdWUpIG1lYW5zIHJlcGxhY2UgYWxsIG9jY3VycmVuY2VzLlxuIgorIlxuIgorIklmIHRoZSBvcHRpb25hbCBhcmd1bWVudCBjb3VudCBpcyBnaXZlbiwgb25seSB0aGUgZmlyc3QgY291bnQgb2NjdXJyZW5jZXMgYXJlXG4iCisicmVwbGFjZWQuIik7CisKKyNkZWZpbmUgQllURUFSUkFZX1JFUExBQ0VfTUVUSE9EREVGICAgIFwKKyAgICB7InJlcGxhY2UiLCAoUHlDRnVuY3Rpb24pYnl0ZWFycmF5X3JlcGxhY2UsIE1FVEhfVkFSQVJHUywgYnl0ZWFycmF5X3JlcGxhY2VfX2RvY19ffSwKKworc3RhdGljIFB5T2JqZWN0ICoKK2J5dGVhcnJheV9yZXBsYWNlX2ltcGwoUHlCeXRlQXJyYXlPYmplY3QgKnNlbGYsIFB5X2J1ZmZlciAqb2xkLCBQeV9idWZmZXIgKm5ldywgUHlfc3NpemVfdCBjb3VudCk7CiAKIHN0YXRpYyBQeU9iamVjdCAqCiBieXRlYXJyYXlfcmVwbGFjZShQeUJ5dGVBcnJheU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCiB7Ci0gICAgUHlPYmplY3QgKnJlczsKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKICAgICBQeV9idWZmZXIgb2xkID0ge05VTEwsIE5VTEx9OwogICAgIFB5X2J1ZmZlciBuZXcgPSB7TlVMTCwgTlVMTH07CiAgICAgUHlfc3NpemVfdCBjb3VudCA9IC0xOwogCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJ5KnkqfG46cmVwbGFjZSIsICZvbGQsICZuZXcsICZjb3VudCkpCi0gICAgICAgIHJldHVybiBOVUxMOworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAieSp5KnxuOnJlcGxhY2UiLAorICAgICAgICAmb2xkLCAmbmV3LCAmY291bnQpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gYnl0ZWFycmF5X3JlcGxhY2VfaW1wbChzZWxmLCAmb2xkLCAmbmV3LCBjb3VudCk7CiAKLSAgICByZXMgPSAoUHlPYmplY3QgKilyZXBsYWNlKChQeUJ5dGVBcnJheU9iamVjdCAqKSBzZWxmLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNvbnN0IGNoYXIgKilvbGQuYnVmLCBvbGQubGVuLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNvbnN0IGNoYXIgKiluZXcuYnVmLCBuZXcubGVuLCBjb3VudCk7CitleGl0OgorICAgIC8qIENsZWFudXAgZm9yIG9sZCAqLworICAgIGlmIChvbGQub2JqKQorICAgICAgIFB5QnVmZmVyX1JlbGVhc2UoJm9sZCk7CisgICAgLyogQ2xlYW51cCBmb3IgbmV3ICovCisgICAgaWYgKG5ldy5vYmopCisgICAgICAgUHlCdWZmZXJfUmVsZWFzZSgmbmV3KTsKIAotICAgIFB5QnVmZmVyX1JlbGVhc2UoJm9sZCk7Ci0gICAgUHlCdWZmZXJfUmVsZWFzZSgmbmV3KTsKLSAgICByZXR1cm4gcmVzOworICAgIHJldHVybiByZXR1cm5fdmFsdWU7CiB9CiAKLVB5RG9jX1NUUlZBUihzcGxpdF9fZG9jX18sCi0iQi5zcGxpdChzZXA9Tm9uZSwgbWF4c3BsaXQ9LTEpIC0+IGxpc3Qgb2YgYnl0ZWFycmF5c1xuXAotXG5cCi1SZXR1cm4gYSBsaXN0IG9mIHRoZSBzZWN0aW9ucyBpbiBCLCB1c2luZyBzZXAgYXMgdGhlIGRlbGltaXRlci5cblwKLUlmIHNlcCBpcyBub3QgZ2l2ZW4sIEIgaXMgc3BsaXQgb24gQVNDSUkgd2hpdGVzcGFjZSBjaGFyYWN0ZXJzXG5cCi0oc3BhY2UsIHRhYiwgcmV0dXJuLCBuZXdsaW5lLCBmb3JtZmVlZCwgdmVydGljYWwgdGFiKS5cblwKLUlmIG1heHNwbGl0IGlzIGdpdmVuLCBhdCBtb3N0IG1heHNwbGl0IHNwbGl0cyBhcmUgZG9uZS4iKTsKK3N0YXRpYyBQeU9iamVjdCAqCitieXRlYXJyYXlfcmVwbGFjZV9pbXBsKFB5Qnl0ZUFycmF5T2JqZWN0ICpzZWxmLCBQeV9idWZmZXIgKm9sZCwgUHlfYnVmZmVyICpuZXcsIFB5X3NzaXplX3QgY291bnQpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9OTk5N2ZiYmQ1YmFjNDg4MyBpbnB1dD1hYTM3OWQ5ODg2MzdjN2ZiXSovCit7CisgICAgcmV0dXJuIChQeU9iamVjdCAqKXJlcGxhY2UoKFB5Qnl0ZUFycmF5T2JqZWN0ICopIHNlbGYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2xkLT5idWYsIG9sZC0+bGVuLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ldy0+YnVmLCBuZXctPmxlbiwgY291bnQpOworfQorCisvKltjbGluaWMgaW5wdXRdCitieXRlYXJyYXkuc3BsaXQKKworICAgIHNlcDogb2JqZWN0ID0gTm9uZQorICAgICAgICBUaGUgZGVsaW1pdGVyIGFjY29yZGluZyB3aGljaCB0byBzcGxpdCB0aGUgYnl0ZWFycmF5LgorICAgICAgICBOb25lICh0aGUgZGVmYXVsdCB2YWx1ZSkgbWVhbnMgc3BsaXQgb24gQVNDSUkgd2hpdGVzcGFjZSBjaGFyYWN0ZXJzCisgICAgICAgIChzcGFjZSwgdGFiLCByZXR1cm4sIG5ld2xpbmUsIGZvcm1mZWVkLCB2ZXJ0aWNhbCB0YWIpLgorICAgIG1heHNwbGl0OiBQeV9zc2l6ZV90ID0gLTEKKyAgICAgICAgTWF4aW11bSBudW1iZXIgb2Ygc3BsaXRzIHRvIGRvLgorICAgICAgICAtMSAodGhlIGRlZmF1bHQgdmFsdWUpIG1lYW5zIG5vIGxpbWl0LgorCitSZXR1cm4gYSBsaXN0IG9mIHRoZSBzZWN0aW9ucyBpbiB0aGUgYnl0ZWFycmF5LCB1c2luZyBzZXAgYXMgdGhlIGRlbGltaXRlci4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKGJ5dGVhcnJheV9zcGxpdF9fZG9jX18sCisic3BsaXQoJHNlbGYsIC8sIHNlcD1Ob25lLCBtYXhzcGxpdD0tMSlcbiIKKyItLVxuIgorIlxuIgorIlJldHVybiBhIGxpc3Qgb2YgdGhlIHNlY3Rpb25zIGluIHRoZSBieXRlYXJyYXksIHVzaW5nIHNlcCBhcyB0aGUgZGVsaW1pdGVyLlxuIgorIlxuIgorIiAgc2VwXG4iCisiICAgIFRoZSBkZWxpbWl0ZXIgYWNjb3JkaW5nIHdoaWNoIHRvIHNwbGl0IHRoZSBieXRlYXJyYXkuXG4iCisiICAgIE5vbmUgKHRoZSBkZWZhdWx0IHZhbHVlKSBtZWFucyBzcGxpdCBvbiBBU0NJSSB3aGl0ZXNwYWNlIGNoYXJhY3RlcnNcbiIKKyIgICAgKHNwYWNlLCB0YWIsIHJldHVybiwgbmV3bGluZSwgZm9ybWZlZWQsIHZlcnRpY2FsIHRhYikuXG4iCisiICBtYXhzcGxpdFxuIgorIiAgICBNYXhpbXVtIG51bWJlciBvZiBzcGxpdHMgdG8gZG8uXG4iCisiICAgIC0xICh0aGUgZGVmYXVsdCB2YWx1ZSkgbWVhbnMgbm8gbGltaXQuIik7CisKKyNkZWZpbmUgQllURUFSUkFZX1NQTElUX01FVEhPRERFRiAgICBcCisgICAgeyJzcGxpdCIsIChQeUNGdW5jdGlvbilieXRlYXJyYXlfc3BsaXQsIE1FVEhfVkFSQVJHU3xNRVRIX0tFWVdPUkRTLCBieXRlYXJyYXlfc3BsaXRfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLWJ5dGVhcnJheV9zcGxpdChQeUJ5dGVBcnJheU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2RzKQorYnl0ZWFycmF5X3NwbGl0X2ltcGwoUHlCeXRlQXJyYXlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpzZXAsIFB5X3NzaXplX3QgbWF4c3BsaXQpOworCitzdGF0aWMgUHlPYmplY3QgKgorYnl0ZWFycmF5X3NwbGl0KFB5Qnl0ZUFycmF5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3YXJncykKIHsKLSAgICBzdGF0aWMgY2hhciAqa3dsaXN0W10gPSB7InNlcCIsICJtYXhzcGxpdCIsIDB9OwotICAgIFB5X3NzaXplX3QgbGVuID0gUHlCeXRlQXJyYXlfR0VUX1NJWkUoc2VsZiksIG47CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgc3RhdGljIGNoYXIgKl9rZXl3b3Jkc1tdID0geyJzZXAiLCAibWF4c3BsaXQiLCBOVUxMfTsKKyAgICBQeU9iamVjdCAqc2VwID0gUHlfTm9uZTsKICAgICBQeV9zc2l6ZV90IG1heHNwbGl0ID0gLTE7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsCisgICAgICAgICJ8T246c3BsaXQiLCBfa2V5d29yZHMsCisgICAgICAgICZzZXAsICZtYXhzcGxpdCkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBieXRlYXJyYXlfc3BsaXRfaW1wbChzZWxmLCBzZXAsIG1heHNwbGl0KTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorYnl0ZWFycmF5X3NwbGl0X2ltcGwoUHlCeXRlQXJyYXlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpzZXAsIFB5X3NzaXplX3QgbWF4c3BsaXQpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9MDYyYTNkODdkNmY5MThmYSBpbnB1dD0yNGY4MjY2OWY0MWJmNTIzXSovCit7CisgICAgUHlfc3NpemVfdCBsZW4gPSBQeUJ5dGVBcnJheV9HRVRfU0laRShzZWxmKSwgbjsKICAgICBjb25zdCBjaGFyICpzID0gUHlCeXRlQXJyYXlfQVNfU1RSSU5HKHNlbGYpLCAqc3ViOwotICAgIFB5T2JqZWN0ICpsaXN0LCAqc3Vib2JqID0gUHlfTm9uZTsKKyAgICBQeU9iamVjdCAqbGlzdDsKICAgICBQeV9idWZmZXIgdnN1YjsKIAotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3ZHMsICJ8T246c3BsaXQiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGt3bGlzdCwgJnN1Ym9iaiwgJm1heHNwbGl0KSkKLSAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgaWYgKG1heHNwbGl0IDwgMCkKICAgICAgICAgbWF4c3BsaXQgPSBQWV9TU0laRV9UX01BWDsKIAotICAgIGlmIChzdWJvYmogPT0gUHlfTm9uZSkKKyAgICBpZiAoc2VwID09IFB5X05vbmUpCiAgICAgICAgIHJldHVybiBzdHJpbmdsaWJfc3BsaXRfd2hpdGVzcGFjZSgoUHlPYmplY3QqKSBzZWxmLCBzLCBsZW4sIG1heHNwbGl0KTsKIAotICAgIGlmIChQeU9iamVjdF9HZXRCdWZmZXIoc3Vib2JqLCAmdnN1YiwgUHlCVUZfU0lNUExFKSAhPSAwKQorICAgIGlmIChQeU9iamVjdF9HZXRCdWZmZXIoc2VwLCAmdnN1YiwgUHlCVUZfU0lNUExFKSAhPSAwKQogICAgICAgICByZXR1cm4gTlVMTDsKICAgICBzdWIgPSB2c3ViLmJ1ZjsKICAgICBuID0gdnN1Yi5sZW47CkBAIC0yMTA4LDE5ICsyMzc2LDQ2IEBACiAgICAgcmV0dXJuIGxpc3Q7CiB9CiAKLVB5RG9jX1NUUlZBUihwYXJ0aXRpb25fX2RvY19fLAotIkIucGFydGl0aW9uKHNlcCkgLT4gKGhlYWQsIHNlcCwgdGFpbClcblwKLVxuXAotU2VhcmNoIGZvciB0aGUgc2VwYXJhdG9yIHNlcCBpbiBCLCBhbmQgcmV0dXJuIHRoZSBwYXJ0IGJlZm9yZSBpdCxcblwKLXRoZSBzZXBhcmF0b3IgaXRzZWxmLCBhbmQgdGhlIHBhcnQgYWZ0ZXIgaXQuICBJZiB0aGUgc2VwYXJhdG9yIGlzIG5vdFxuXAotZm91bmQsIHJldHVybnMgQiBhbmQgdHdvIGVtcHR5IGJ5dGVhcnJheSBvYmplY3RzLiIpOworLypbY2xpbmljIGlucHV0XQorYnl0ZWFycmF5LnBhcnRpdGlvbgorCisgICAgc2VsZjogc2VsZih0eXBlPSJQeUJ5dGVBcnJheU9iamVjdCAqIikKKyAgICBzZXA6IG9iamVjdAorICAgIC8KKworUGFydGl0aW9uIHRoZSBieXRlYXJyYXkgaW50byB0aHJlZSBwYXJ0cyB1c2luZyB0aGUgZ2l2ZW4gc2VwYXJhdG9yLgorCitUaGlzIHdpbGwgc2VhcmNoIGZvciB0aGUgc2VwYXJhdG9yIHNlcCBpbiB0aGUgYnl0ZWFycmF5LiBJZiB0aGUgc2VwYXJhdG9yIGlzCitmb3VuZCwgcmV0dXJucyBhIDMtdHVwbGUgY29udGFpbmluZyB0aGUgcGFydCBiZWZvcmUgdGhlIHNlcGFyYXRvciwgdGhlCitzZXBhcmF0b3IgaXRzZWxmLCBhbmQgdGhlIHBhcnQgYWZ0ZXIgaXQuCisKK0lmIHRoZSBzZXBhcmF0b3IgaXMgbm90IGZvdW5kLCByZXR1cm5zIGEgMy10dXBsZSBjb250YWluaW5nIHRoZSBvcmlnaW5hbAorYnl0ZWFycmF5IG9iamVjdCBhbmQgdHdvIGVtcHR5IGJ5dGVhcnJheSBvYmplY3RzLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIoYnl0ZWFycmF5X3BhcnRpdGlvbl9fZG9jX18sCisicGFydGl0aW9uKCRzZWxmLCBzZXAsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJQYXJ0aXRpb24gdGhlIGJ5dGVhcnJheSBpbnRvIHRocmVlIHBhcnRzIHVzaW5nIHRoZSBnaXZlbiBzZXBhcmF0b3IuXG4iCisiXG4iCisiVGhpcyB3aWxsIHNlYXJjaCBmb3IgdGhlIHNlcGFyYXRvciBzZXAgaW4gdGhlIGJ5dGVhcnJheS4gSWYgdGhlIHNlcGFyYXRvciBpc1xuIgorImZvdW5kLCByZXR1cm5zIGEgMy10dXBsZSBjb250YWluaW5nIHRoZSBwYXJ0IGJlZm9yZSB0aGUgc2VwYXJhdG9yLCB0aGVcbiIKKyJzZXBhcmF0b3IgaXRzZWxmLCBhbmQgdGhlIHBhcnQgYWZ0ZXIgaXQuXG4iCisiXG4iCisiSWYgdGhlIHNlcGFyYXRvciBpcyBub3QgZm91bmQsIHJldHVybnMgYSAzLXR1cGxlIGNvbnRhaW5pbmcgdGhlIG9yaWdpbmFsXG4iCisiYnl0ZWFycmF5IG9iamVjdCBhbmQgdHdvIGVtcHR5IGJ5dGVhcnJheSBvYmplY3RzLiIpOworCisjZGVmaW5lIEJZVEVBUlJBWV9QQVJUSVRJT05fTUVUSE9EREVGICAgIFwKKyAgICB7InBhcnRpdGlvbiIsIChQeUNGdW5jdGlvbilieXRlYXJyYXlfcGFydGl0aW9uLCBNRVRIX08sIGJ5dGVhcnJheV9wYXJ0aXRpb25fX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLWJ5dGVhcnJheV9wYXJ0aXRpb24oUHlCeXRlQXJyYXlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpzZXBfb2JqKQorYnl0ZWFycmF5X3BhcnRpdGlvbihQeUJ5dGVBcnJheU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKnNlcCkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD0yNjQ1MTM4MjIxZmU2ZjRkIGlucHV0PTdkN2ZlMzdiMTY5NmQ1MDZdKi8KIHsKICAgICBQeU9iamVjdCAqYnl0ZXNlcCwgKnJlc3VsdDsKIAotICAgIGJ5dGVzZXAgPSBQeUJ5dGVBcnJheV9Gcm9tT2JqZWN0KHNlcF9vYmopOworICAgIGJ5dGVzZXAgPSBQeUJ5dGVBcnJheV9Gcm9tT2JqZWN0KHNlcCk7CiAgICAgaWYgKCEgYnl0ZXNlcCkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAKQEAgLTIxMzUsMjAgKzI0MzAsNDYgQEAKICAgICByZXR1cm4gcmVzdWx0OwogfQogCi1QeURvY19TVFJWQVIocnBhcnRpdGlvbl9fZG9jX18sCi0iQi5ycGFydGl0aW9uKHNlcCkgLT4gKGhlYWQsIHNlcCwgdGFpbClcblwKLVxuXAotU2VhcmNoIGZvciB0aGUgc2VwYXJhdG9yIHNlcCBpbiBCLCBzdGFydGluZyBhdCB0aGUgZW5kIG9mIEIsXG5cCi1hbmQgcmV0dXJuIHRoZSBwYXJ0IGJlZm9yZSBpdCwgdGhlIHNlcGFyYXRvciBpdHNlbGYsIGFuZCB0aGVcblwKLXBhcnQgYWZ0ZXIgaXQuICBJZiB0aGUgc2VwYXJhdG9yIGlzIG5vdCBmb3VuZCwgcmV0dXJucyB0d28gZW1wdHlcblwKLWJ5dGVhcnJheSBvYmplY3RzIGFuZCBCLiIpOworLypbY2xpbmljIGlucHV0XQorYnl0ZWFycmF5LnJwYXJ0aXRpb24KKworICAgIHNlbGY6IHNlbGYodHlwZT0iUHlCeXRlQXJyYXlPYmplY3QgKiIpCisgICAgc2VwOiBvYmplY3QKKyAgICAvCisKK1BhcnRpdGlvbiB0aGUgYnl0ZXMgaW50byB0aHJlZSBwYXJ0cyB1c2luZyB0aGUgZ2l2ZW4gc2VwYXJhdG9yLgorCitUaGlzIHdpbGwgc2VhcmNoIGZvciB0aGUgc2VwYXJhdG9yIHNlcCBpbiB0aGUgYnl0ZWFycmF5LCBzdGFydGluZyBhbmQgdGhlIGVuZC4KK0lmIHRoZSBzZXBhcmF0b3IgaXMgZm91bmQsIHJldHVybnMgYSAzLXR1cGxlIGNvbnRhaW5pbmcgdGhlIHBhcnQgYmVmb3JlIHRoZQorc2VwYXJhdG9yLCB0aGUgc2VwYXJhdG9yIGl0c2VsZiwgYW5kIHRoZSBwYXJ0IGFmdGVyIGl0LgorCitJZiB0aGUgc2VwYXJhdG9yIGlzIG5vdCBmb3VuZCwgcmV0dXJucyBhIDMtdHVwbGUgY29udGFpbmluZyB0d28gZW1wdHkgYnl0ZWFycmF5CitvYmplY3RzIGFuZCB0aGUgb3JpZ2luYWwgYnl0ZWFycmF5IG9iamVjdC4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKGJ5dGVhcnJheV9ycGFydGl0aW9uX19kb2NfXywKKyJycGFydGl0aW9uKCRzZWxmLCBzZXAsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJQYXJ0aXRpb24gdGhlIGJ5dGVzIGludG8gdGhyZWUgcGFydHMgdXNpbmcgdGhlIGdpdmVuIHNlcGFyYXRvci5cbiIKKyJcbiIKKyJUaGlzIHdpbGwgc2VhcmNoIGZvciB0aGUgc2VwYXJhdG9yIHNlcCBpbiB0aGUgYnl0ZWFycmF5LCBzdGFydGluZyBhbmQgdGhlIGVuZC5cbiIKKyJJZiB0aGUgc2VwYXJhdG9yIGlzIGZvdW5kLCByZXR1cm5zIGEgMy10dXBsZSBjb250YWluaW5nIHRoZSBwYXJ0IGJlZm9yZSB0aGVcbiIKKyJzZXBhcmF0b3IsIHRoZSBzZXBhcmF0b3IgaXRzZWxmLCBhbmQgdGhlIHBhcnQgYWZ0ZXIgaXQuXG4iCisiXG4iCisiSWYgdGhlIHNlcGFyYXRvciBpcyBub3QgZm91bmQsIHJldHVybnMgYSAzLXR1cGxlIGNvbnRhaW5pbmcgdHdvIGVtcHR5IGJ5dGVhcnJheVxuIgorIm9iamVjdHMgYW5kIHRoZSBvcmlnaW5hbCBieXRlYXJyYXkgb2JqZWN0LiIpOworCisjZGVmaW5lIEJZVEVBUlJBWV9SUEFSVElUSU9OX01FVEhPRERFRiAgICBcCisgICAgeyJycGFydGl0aW9uIiwgKFB5Q0Z1bmN0aW9uKWJ5dGVhcnJheV9ycGFydGl0aW9uLCBNRVRIX08sIGJ5dGVhcnJheV9ycGFydGl0aW9uX19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1ieXRlYXJyYXlfcnBhcnRpdGlvbihQeUJ5dGVBcnJheU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKnNlcF9vYmopCitieXRlYXJyYXlfcnBhcnRpdGlvbihQeUJ5dGVBcnJheU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKnNlcCkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1lZDEzZTU0NjA1ZDAwN2RlIGlucHV0PTliOGNkNTQwYzFiNzU4NTNdKi8KIHsKICAgICBQeU9iamVjdCAqYnl0ZXNlcCwgKnJlc3VsdDsKIAotICAgIGJ5dGVzZXAgPSBQeUJ5dGVBcnJheV9Gcm9tT2JqZWN0KHNlcF9vYmopOworICAgIGJ5dGVzZXAgPSBQeUJ5dGVBcnJheV9Gcm9tT2JqZWN0KHNlcCk7CiAgICAgaWYgKCEgYnl0ZXNlcCkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAKQEAgLTIxNjMsMzUgKzI0ODQsNzAgQEAKICAgICByZXR1cm4gcmVzdWx0OwogfQogCi1QeURvY19TVFJWQVIocnNwbGl0X19kb2NfXywKLSJCLnJzcGxpdChzZXA9Tm9uZSwgbWF4c3BsaXQ9LTEpIC0+IGxpc3Qgb2YgYnl0ZWFycmF5c1xuXAotXG5cCi1SZXR1cm4gYSBsaXN0IG9mIHRoZSBzZWN0aW9ucyBpbiBCLCB1c2luZyBzZXAgYXMgdGhlIGRlbGltaXRlcixcblwKLXN0YXJ0aW5nIGF0IHRoZSBlbmQgb2YgQiBhbmQgd29ya2luZyB0byB0aGUgZnJvbnQuXG5cCi1JZiBzZXAgaXMgbm90IGdpdmVuLCBCIGlzIHNwbGl0IG9uIEFTQ0lJIHdoaXRlc3BhY2UgY2hhcmFjdGVyc1xuXAotKHNwYWNlLCB0YWIsIHJldHVybiwgbmV3bGluZSwgZm9ybWZlZWQsIHZlcnRpY2FsIHRhYikuXG5cCi1JZiBtYXhzcGxpdCBpcyBnaXZlbiwgYXQgbW9zdCBtYXhzcGxpdCBzcGxpdHMgYXJlIGRvbmUuIik7CisvKltjbGluaWMgaW5wdXRdCitieXRlYXJyYXkucnNwbGl0ID0gYnl0ZWFycmF5LnNwbGl0CisKK1JldHVybiBhIGxpc3Qgb2YgdGhlIHNlY3Rpb25zIGluIHRoZSBieXRlYXJyYXksIHVzaW5nIHNlcCBhcyB0aGUgZGVsaW1pdGVyLgorCitTcGxpdHRpbmcgaXMgZG9uZSBzdGFydGluZyBhdCB0aGUgZW5kIG9mIHRoZSBieXRlYXJyYXkgYW5kIHdvcmtpbmcgdG8gdGhlIGZyb250LgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIoYnl0ZWFycmF5X3JzcGxpdF9fZG9jX18sCisicnNwbGl0KCRzZWxmLCAvLCBzZXA9Tm9uZSwgbWF4c3BsaXQ9LTEpXG4iCisiLS1cbiIKKyJcbiIKKyJSZXR1cm4gYSBsaXN0IG9mIHRoZSBzZWN0aW9ucyBpbiB0aGUgYnl0ZWFycmF5LCB1c2luZyBzZXAgYXMgdGhlIGRlbGltaXRlci5cbiIKKyJcbiIKKyIgIHNlcFxuIgorIiAgICBUaGUgZGVsaW1pdGVyIGFjY29yZGluZyB3aGljaCB0byBzcGxpdCB0aGUgYnl0ZWFycmF5LlxuIgorIiAgICBOb25lICh0aGUgZGVmYXVsdCB2YWx1ZSkgbWVhbnMgc3BsaXQgb24gQVNDSUkgd2hpdGVzcGFjZSBjaGFyYWN0ZXJzXG4iCisiICAgIChzcGFjZSwgdGFiLCByZXR1cm4sIG5ld2xpbmUsIGZvcm1mZWVkLCB2ZXJ0aWNhbCB0YWIpLlxuIgorIiAgbWF4c3BsaXRcbiIKKyIgICAgTWF4aW11bSBudW1iZXIgb2Ygc3BsaXRzIHRvIGRvLlxuIgorIiAgICAtMSAodGhlIGRlZmF1bHQgdmFsdWUpIG1lYW5zIG5vIGxpbWl0LlxuIgorIlxuIgorIlNwbGl0dGluZyBpcyBkb25lIHN0YXJ0aW5nIGF0IHRoZSBlbmQgb2YgdGhlIGJ5dGVhcnJheSBhbmQgd29ya2luZyB0byB0aGUgZnJvbnQuIik7CisKKyNkZWZpbmUgQllURUFSUkFZX1JTUExJVF9NRVRIT0RERUYgICAgXAorICAgIHsicnNwbGl0IiwgKFB5Q0Z1bmN0aW9uKWJ5dGVhcnJheV9yc3BsaXQsIE1FVEhfVkFSQVJHU3xNRVRIX0tFWVdPUkRTLCBieXRlYXJyYXlfcnNwbGl0X19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1ieXRlYXJyYXlfcnNwbGl0KFB5Qnl0ZUFycmF5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3ZHMpCitieXRlYXJyYXlfcnNwbGl0X2ltcGwoUHlCeXRlQXJyYXlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpzZXAsIFB5X3NzaXplX3QgbWF4c3BsaXQpOworCitzdGF0aWMgUHlPYmplY3QgKgorYnl0ZWFycmF5X3JzcGxpdChQeUJ5dGVBcnJheU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCiB7Ci0gICAgc3RhdGljIGNoYXIgKmt3bGlzdFtdID0geyJzZXAiLCAibWF4c3BsaXQiLCAwfTsKLSAgICBQeV9zc2l6ZV90IGxlbiA9IFB5Qnl0ZUFycmF5X0dFVF9TSVpFKHNlbGYpLCBuOworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIHN0YXRpYyBjaGFyICpfa2V5d29yZHNbXSA9IHsic2VwIiwgIm1heHNwbGl0IiwgTlVMTH07CisgICAgUHlPYmplY3QgKnNlcCA9IFB5X05vbmU7CiAgICAgUHlfc3NpemVfdCBtYXhzcGxpdCA9IC0xOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLAorICAgICAgICAifE9uOnJzcGxpdCIsIF9rZXl3b3JkcywKKyAgICAgICAgJnNlcCwgJm1heHNwbGl0KSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IGJ5dGVhcnJheV9yc3BsaXRfaW1wbChzZWxmLCBzZXAsIG1heHNwbGl0KTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorYnl0ZWFycmF5X3JzcGxpdF9pbXBsKFB5Qnl0ZUFycmF5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqc2VwLCBQeV9zc2l6ZV90IG1heHNwbGl0KQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWFmZmFmOWZjMmFhZThkNDEgaW5wdXQ9YTY4Mjg2ZTRkZDY5MmZmZV0qLworeworICAgIFB5X3NzaXplX3QgbGVuID0gUHlCeXRlQXJyYXlfR0VUX1NJWkUoc2VsZiksIG47CiAgICAgY29uc3QgY2hhciAqcyA9IFB5Qnl0ZUFycmF5X0FTX1NUUklORyhzZWxmKSwgKnN1YjsKLSAgICBQeU9iamVjdCAqbGlzdCwgKnN1Ym9iaiA9IFB5X05vbmU7CisgICAgUHlPYmplY3QgKmxpc3Q7CiAgICAgUHlfYnVmZmVyIHZzdWI7CiAKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2RzLCAifE9uOnJzcGxpdCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga3dsaXN0LCAmc3Vib2JqLCAmbWF4c3BsaXQpKQotICAgICAgICByZXR1cm4gTlVMTDsKICAgICBpZiAobWF4c3BsaXQgPCAwKQogICAgICAgICBtYXhzcGxpdCA9IFBZX1NTSVpFX1RfTUFYOwogCi0gICAgaWYgKHN1Ym9iaiA9PSBQeV9Ob25lKQorICAgIGlmIChzZXAgPT0gUHlfTm9uZSkKICAgICAgICAgcmV0dXJuIHN0cmluZ2xpYl9yc3BsaXRfd2hpdGVzcGFjZSgoUHlPYmplY3QqKSBzZWxmLCBzLCBsZW4sIG1heHNwbGl0KTsKIAotICAgIGlmIChQeU9iamVjdF9HZXRCdWZmZXIoc3Vib2JqLCAmdnN1YiwgUHlCVUZfU0lNUExFKSAhPSAwKQorICAgIGlmIChQeU9iamVjdF9HZXRCdWZmZXIoc2VwLCAmdnN1YiwgUHlCVUZfU0lNUExFKSAhPSAwKQogICAgICAgICByZXR1cm4gTlVMTDsKICAgICBzdWIgPSB2c3ViLmJ1ZjsKICAgICBuID0gdnN1Yi5sZW47CkBAIC0yMjAzLDEyICsyNTU5LDM1IEBACiAgICAgcmV0dXJuIGxpc3Q7CiB9CiAKLVB5RG9jX1NUUlZBUihyZXZlcnNlX19kb2NfXywKLSJCLnJldmVyc2UoKSAtPiBOb25lXG5cCi1cblwKLVJldmVyc2UgdGhlIG9yZGVyIG9mIHRoZSB2YWx1ZXMgaW4gQiBpbiBwbGFjZS4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK2J5dGVhcnJheS5yZXZlcnNlCisKKyAgICBzZWxmOiBzZWxmKHR5cGU9IlB5Qnl0ZUFycmF5T2JqZWN0ICoiKQorCitSZXZlcnNlIHRoZSBvcmRlciBvZiB0aGUgdmFsdWVzIGluIEIgaW4gcGxhY2UuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihieXRlYXJyYXlfcmV2ZXJzZV9fZG9jX18sCisicmV2ZXJzZSgkc2VsZiwgLylcbiIKKyItLVxuIgorIlxuIgorIlJldmVyc2UgdGhlIG9yZGVyIG9mIHRoZSB2YWx1ZXMgaW4gQiBpbiBwbGFjZS4iKTsKKworI2RlZmluZSBCWVRFQVJSQVlfUkVWRVJTRV9NRVRIT0RERUYgICAgXAorICAgIHsicmV2ZXJzZSIsIChQeUNGdW5jdGlvbilieXRlYXJyYXlfcmV2ZXJzZSwgTUVUSF9OT0FSR1MsIGJ5dGVhcnJheV9yZXZlcnNlX19kb2NfX30sCisKIHN0YXRpYyBQeU9iamVjdCAqCi1ieXRlYXJyYXlfcmV2ZXJzZShQeUJ5dGVBcnJheU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKnVudXNlZCkKK2J5dGVhcnJheV9yZXZlcnNlX2ltcGwoUHlCeXRlQXJyYXlPYmplY3QgKnNlbGYpOworCitzdGF0aWMgUHlPYmplY3QgKgorYnl0ZWFycmF5X3JldmVyc2UoUHlCeXRlQXJyYXlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpQeV9VTlVTRUQoaWdub3JlZCkpCit7CisgICAgcmV0dXJuIGJ5dGVhcnJheV9yZXZlcnNlX2ltcGwoc2VsZik7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitieXRlYXJyYXlfcmV2ZXJzZV9pbXBsKFB5Qnl0ZUFycmF5T2JqZWN0ICpzZWxmKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTVkNWU1ZjBiZmM2N2Y0NzYgaW5wdXQ9NzkzM2E0OTliODU5N2JkMV0qLwogewogICAgIGNoYXIgc3dhcCwgKmhlYWQsICp0YWlsOwogICAgIFB5X3NzaXplX3QgaSwgaiwgbiA9IFB5X1NJWkUoc2VsZik7CkBAIC0yMjI1LDU3ICsyNjA0LDEzOSBAQAogICAgIFB5X1JFVFVSTl9OT05FOwogfQogCi1QeURvY19TVFJWQVIoaW5zZXJ0X19kb2NfXywKLSJCLmluc2VydChpbmRleCwgaW50KSAtPiBOb25lXG5cCi1cblwKLUluc2VydCBhIHNpbmdsZSBpdGVtIGludG8gdGhlIGJ5dGVhcnJheSBiZWZvcmUgdGhlIGdpdmVuIGluZGV4LiIpOworCisvKltweXRob24gaW5wdXRdCitjbGFzcyBieXRlc3ZhbHVlX2NvbnZlcnRlcihDQ29udmVydGVyKToKKyAgICB0eXBlID0gJ2ludCcKKyAgICBjb252ZXJ0ZXIgPSAnX2dldGJ5dGV2YWx1ZScKK1tweXRob24gc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKy8qW3B5dGhvbiBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1kYTM5YTNlZTVlNmI0YjBkIGlucHV0PTI5YzJlN2MyNmMyMTI4MTJdKi8KKworCisvKltjbGluaWMgaW5wdXRdCitieXRlYXJyYXkuaW5zZXJ0CisKKyAgICBzZWxmOiBzZWxmKHR5cGU9IlB5Qnl0ZUFycmF5T2JqZWN0ICoiKQorICAgIGluZGV4OiBQeV9zc2l6ZV90CisgICAgICAgIFRoZSBpbmRleCB3aGVyZSB0aGUgdmFsdWUgaXMgdG8gYmUgaW5zZXJ0ZWQuCisgICAgaXRlbTogYnl0ZXN2YWx1ZQorICAgICAgICBUaGUgaXRlbSB0byBiZSBpbnNlcnRlZC4KKyAgICAvCisKK0luc2VydCBhIHNpbmdsZSBpdGVtIGludG8gdGhlIGJ5dGVhcnJheSBiZWZvcmUgdGhlIGdpdmVuIGluZGV4LgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIoYnl0ZWFycmF5X2luc2VydF9fZG9jX18sCisiaW5zZXJ0KCRzZWxmLCBpbmRleCwgaXRlbSwgLylcbiIKKyItLVxuIgorIlxuIgorIkluc2VydCBhIHNpbmdsZSBpdGVtIGludG8gdGhlIGJ5dGVhcnJheSBiZWZvcmUgdGhlIGdpdmVuIGluZGV4LlxuIgorIlxuIgorIiAgaW5kZXhcbiIKKyIgICAgVGhlIGluZGV4IHdoZXJlIHRoZSB2YWx1ZSBpcyB0byBiZSBpbnNlcnRlZC5cbiIKKyIgIGl0ZW1cbiIKKyIgICAgVGhlIGl0ZW0gdG8gYmUgaW5zZXJ0ZWQuIik7CisKKyNkZWZpbmUgQllURUFSUkFZX0lOU0VSVF9NRVRIT0RERUYgICAgXAorICAgIHsiaW5zZXJ0IiwgKFB5Q0Z1bmN0aW9uKWJ5dGVhcnJheV9pbnNlcnQsIE1FVEhfVkFSQVJHUywgYnl0ZWFycmF5X2luc2VydF9fZG9jX199LAorCitzdGF0aWMgUHlPYmplY3QgKgorYnl0ZWFycmF5X2luc2VydF9pbXBsKFB5Qnl0ZUFycmF5T2JqZWN0ICpzZWxmLCBQeV9zc2l6ZV90IGluZGV4LCBpbnQgaXRlbSk7CisKIHN0YXRpYyBQeU9iamVjdCAqCiBieXRlYXJyYXlfaW5zZXJ0KFB5Qnl0ZUFycmF5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKIHsKLSAgICBQeU9iamVjdCAqdmFsdWU7Ci0gICAgaW50IGl2YWw7Ci0gICAgUHlfc3NpemVfdCB3aGVyZSwgbiA9IFB5X1NJWkUoc2VsZik7Ci0gICAgY2hhciAqYnVmOworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIFB5X3NzaXplX3QgaW5kZXg7CisgICAgaW50IGl0ZW07CiAKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgIm5POmluc2VydCIsICZ3aGVyZSwgJnZhbHVlKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCisgICAgICAgICJuTyY6aW5zZXJ0IiwKKyAgICAgICAgJmluZGV4LCBfZ2V0Ynl0ZXZhbHVlLCAmaXRlbSkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBieXRlYXJyYXlfaW5zZXJ0X2ltcGwoc2VsZiwgaW5kZXgsIGl0ZW0pOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitieXRlYXJyYXlfaW5zZXJ0X2ltcGwoUHlCeXRlQXJyYXlPYmplY3QgKnNlbGYsIFB5X3NzaXplX3QgaW5kZXgsIGludCBpdGVtKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTVlYzkzNDBkNGFkMTkwODAgaW5wdXQ9ODMzNzY2ODM2YmEzMGUxZV0qLworeworICAgIFB5X3NzaXplX3QgbiA9IFB5X1NJWkUoc2VsZik7CisgICAgY2hhciAqYnVmOwogCiAgICAgaWYgKG4gPT0gUFlfU1NJWkVfVF9NQVgpIHsKICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX092ZXJmbG93RXJyb3IsCiAgICAgICAgICAgICAgICAgICAgICAgICAiY2Fubm90IGFkZCBtb3JlIG9iamVjdHMgdG8gYnl0ZWFycmF5Iik7CiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KLSAgICBpZiAoIV9nZXRieXRldmFsdWUodmFsdWUsICZpdmFsKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgaWYgKFB5Qnl0ZUFycmF5X1Jlc2l6ZSgoUHlPYmplY3QgKilzZWxmLCBuICsgMSkgPCAwKQogICAgICAgICByZXR1cm4gTlVMTDsKICAgICBidWYgPSBQeUJ5dGVBcnJheV9BU19TVFJJTkcoc2VsZik7CiAKLSAgICBpZiAod2hlcmUgPCAwKSB7Ci0gICAgICAgIHdoZXJlICs9IG47Ci0gICAgICAgIGlmICh3aGVyZSA8IDApCi0gICAgICAgICAgICB3aGVyZSA9IDA7CisgICAgaWYgKGluZGV4IDwgMCkgeworICAgICAgICBpbmRleCArPSBuOworICAgICAgICBpZiAoaW5kZXggPCAwKQorICAgICAgICAgICAgaW5kZXggPSAwOwogICAgIH0KLSAgICBpZiAod2hlcmUgPiBuKQotICAgICAgICB3aGVyZSA9IG47Ci0gICAgbWVtbW92ZShidWYgKyB3aGVyZSArIDEsIGJ1ZiArIHdoZXJlLCBuIC0gd2hlcmUpOwotICAgIGJ1Zlt3aGVyZV0gPSBpdmFsOworICAgIGlmIChpbmRleCA+IG4pCisgICAgICAgIGluZGV4ID0gbjsKKyAgICBtZW1tb3ZlKGJ1ZiArIGluZGV4ICsgMSwgYnVmICsgaW5kZXgsIG4gLSBpbmRleCk7CisgICAgYnVmW2luZGV4XSA9IGl0ZW07CiAKICAgICBQeV9SRVRVUk5fTk9ORTsKIH0KIAotUHlEb2NfU1RSVkFSKGFwcGVuZF9fZG9jX18sCi0iQi5hcHBlbmQoaW50KSAtPiBOb25lXG5cCi1cblwKLUFwcGVuZCBhIHNpbmdsZSBpdGVtIHRvIHRoZSBlbmQgb2YgQi4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK2J5dGVhcnJheS5hcHBlbmQKKworICAgIHNlbGY6IHNlbGYodHlwZT0iUHlCeXRlQXJyYXlPYmplY3QgKiIpCisgICAgaXRlbTogYnl0ZXN2YWx1ZQorICAgICAgICBUaGUgaXRlbSB0byBiZSBhcHBlbmRlZC4KKyAgICAvCisKK0FwcGVuZCBhIHNpbmdsZSBpdGVtIHRvIHRoZSBlbmQgb2YgdGhlIGJ5dGVhcnJheS4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKGJ5dGVhcnJheV9hcHBlbmRfX2RvY19fLAorImFwcGVuZCgkc2VsZiwgaXRlbSwgLylcbiIKKyItLVxuIgorIlxuIgorIkFwcGVuZCBhIHNpbmdsZSBpdGVtIHRvIHRoZSBlbmQgb2YgdGhlIGJ5dGVhcnJheS5cbiIKKyJcbiIKKyIgIGl0ZW1cbiIKKyIgICAgVGhlIGl0ZW0gdG8gYmUgYXBwZW5kZWQuIik7CisKKyNkZWZpbmUgQllURUFSUkFZX0FQUEVORF9NRVRIT0RERUYgICAgXAorICAgIHsiYXBwZW5kIiwgKFB5Q0Z1bmN0aW9uKWJ5dGVhcnJheV9hcHBlbmQsIE1FVEhfVkFSQVJHUywgYnl0ZWFycmF5X2FwcGVuZF9fZG9jX199LAorCiBzdGF0aWMgUHlPYmplY3QgKgotYnl0ZWFycmF5X2FwcGVuZChQeUJ5dGVBcnJheU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZykKK2J5dGVhcnJheV9hcHBlbmRfaW1wbChQeUJ5dGVBcnJheU9iamVjdCAqc2VsZiwgaW50IGl0ZW0pOworCitzdGF0aWMgUHlPYmplY3QgKgorYnl0ZWFycmF5X2FwcGVuZChQeUJ5dGVBcnJheU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCiB7Ci0gICAgaW50IHZhbHVlOworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIGludCBpdGVtOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCisgICAgICAgICJPJjphcHBlbmQiLAorICAgICAgICBfZ2V0Ynl0ZXZhbHVlLCAmaXRlbSkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBieXRlYXJyYXlfYXBwZW5kX2ltcGwoc2VsZiwgaXRlbSk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK2J5dGVhcnJheV9hcHBlbmRfaW1wbChQeUJ5dGVBcnJheU9iamVjdCAqc2VsZiwgaW50IGl0ZW0pCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9YjViMzMyNWJiM2JiYWY4NSBpbnB1dD1hZTU2ZWE4NzM4MDQwN2NjXSovCit7CiAgICAgUHlfc3NpemVfdCBuID0gUHlfU0laRShzZWxmKTsKIAotICAgIGlmICghIF9nZXRieXRldmFsdWUoYXJnLCAmdmFsdWUpKQotICAgICAgICByZXR1cm4gTlVMTDsKICAgICBpZiAobiA9PSBQWV9TU0laRV9UX01BWCkgewogICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfT3ZlcmZsb3dFcnJvciwKICAgICAgICAgICAgICAgICAgICAgICAgICJjYW5ub3QgYWRkIG1vcmUgb2JqZWN0cyB0byBieXRlYXJyYXkiKTsKQEAgLTIyODQsMTggKzI3NDUsMzcgQEAKICAgICBpZiAoUHlCeXRlQXJyYXlfUmVzaXplKChQeU9iamVjdCAqKXNlbGYsIG4gKyAxKSA8IDApCiAgICAgICAgIHJldHVybiBOVUxMOwogCi0gICAgUHlCeXRlQXJyYXlfQVNfU1RSSU5HKHNlbGYpW25dID0gdmFsdWU7CisgICAgUHlCeXRlQXJyYXlfQVNfU1RSSU5HKHNlbGYpW25dID0gaXRlbTsKIAogICAgIFB5X1JFVFVSTl9OT05FOwogfQogCi1QeURvY19TVFJWQVIoZXh0ZW5kX19kb2NfXywKLSJCLmV4dGVuZChpdGVyYWJsZV9vZl9pbnRzKSAtPiBOb25lXG5cCi1cblwKLUFwcGVuZCBhbGwgdGhlIGVsZW1lbnRzIGZyb20gdGhlIGl0ZXJhdG9yIG9yIHNlcXVlbmNlIHRvIHRoZVxuXAotZW5kIG9mIEIuIik7CisvKltjbGluaWMgaW5wdXRdCitieXRlYXJyYXkuZXh0ZW5kCisKKyAgICBzZWxmOiBzZWxmKHR5cGU9IlB5Qnl0ZUFycmF5T2JqZWN0ICoiKQorICAgIGl0ZXJhYmxlX29mX2ludHM6IG9iamVjdAorICAgICAgICBUaGUgaXRlcmFibGUgb2YgaXRlbXMgdG8gYXBwZW5kLgorICAgIC8KKworQXBwZW5kIGFsbCB0aGUgaXRlbXMgZnJvbSB0aGUgaXRlcmF0b3Igb3Igc2VxdWVuY2UgdG8gdGhlIGVuZCBvZiB0aGUgYnl0ZWFycmF5LgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIoYnl0ZWFycmF5X2V4dGVuZF9fZG9jX18sCisiZXh0ZW5kKCRzZWxmLCBpdGVyYWJsZV9vZl9pbnRzLCAvKVxuIgorIi0tXG4iCisiXG4iCisiQXBwZW5kIGFsbCB0aGUgaXRlbXMgZnJvbSB0aGUgaXRlcmF0b3Igb3Igc2VxdWVuY2UgdG8gdGhlIGVuZCBvZiB0aGUgYnl0ZWFycmF5LlxuIgorIlxuIgorIiAgaXRlcmFibGVfb2ZfaW50c1xuIgorIiAgICBUaGUgaXRlcmFibGUgb2YgaXRlbXMgdG8gYXBwZW5kLiIpOworCisjZGVmaW5lIEJZVEVBUlJBWV9FWFRFTkRfTUVUSE9EREVGICAgIFwKKyAgICB7ImV4dGVuZCIsIChQeUNGdW5jdGlvbilieXRlYXJyYXlfZXh0ZW5kLCBNRVRIX08sIGJ5dGVhcnJheV9leHRlbmRfX2RvY19ffSwKKwogc3RhdGljIFB5T2JqZWN0ICoKLWJ5dGVhcnJheV9leHRlbmQoUHlCeXRlQXJyYXlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmcpCitieXRlYXJyYXlfZXh0ZW5kKFB5Qnl0ZUFycmF5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqaXRlcmFibGVfb2ZfaW50cykKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD0xM2IwYzEzYWQ1MTEwZGZiIGlucHV0PWNlODNhNWQ3NWI3MGQ4NTBdKi8KIHsKICAgICBQeU9iamVjdCAqaXQsICppdGVtLCAqYnl0ZWFycmF5X29iajsKICAgICBQeV9zc2l6ZV90IGJ1Zl9zaXplID0gMCwgbGVuID0gMDsKQEAgLTIzMDMsMTkgKzI3ODMsMTkgQEAKICAgICBjaGFyICpidWY7CiAKICAgICAvKiBieXRlYXJyYXlfc2V0c2xpY2UgY29kZSBvbmx5IGFjY2VwdHMgc29tZXRoaW5nIHN1cHBvcnRpbmcgUEVQIDMxMTguICovCi0gICAgaWYgKFB5T2JqZWN0X0NoZWNrQnVmZmVyKGFyZykpIHsKLSAgICAgICAgaWYgKGJ5dGVhcnJheV9zZXRzbGljZShzZWxmLCBQeV9TSVpFKHNlbGYpLCBQeV9TSVpFKHNlbGYpLCBhcmcpID09IC0xKQorICAgIGlmIChQeU9iamVjdF9DaGVja0J1ZmZlcihpdGVyYWJsZV9vZl9pbnRzKSkgeworICAgICAgICBpZiAoYnl0ZWFycmF5X3NldHNsaWNlKHNlbGYsIFB5X1NJWkUoc2VsZiksIFB5X1NJWkUoc2VsZiksIGl0ZXJhYmxlX29mX2ludHMpID09IC0xKQogICAgICAgICAgICAgcmV0dXJuIE5VTEw7CiAKICAgICAgICAgUHlfUkVUVVJOX05PTkU7CiAgICAgfQogCi0gICAgaXQgPSBQeU9iamVjdF9HZXRJdGVyKGFyZyk7CisgICAgaXQgPSBQeU9iamVjdF9HZXRJdGVyKGl0ZXJhYmxlX29mX2ludHMpOwogICAgIGlmIChpdCA9PSBOVUxMKQogICAgICAgICByZXR1cm4gTlVMTDsKIAogICAgIC8qIFRyeSB0byBkZXRlcm1pbmUgdGhlIGxlbmd0aCBvZiB0aGUgYXJndW1lbnQuIDMyIGlzIGFyYml0cmFyeS4gKi8KLSAgICBidWZfc2l6ZSA9IFB5T2JqZWN0X0xlbmd0aEhpbnQoYXJnLCAzMik7CisgICAgYnVmX3NpemUgPSBQeU9iamVjdF9MZW5ndGhIaW50KGl0ZXJhYmxlX29mX2ludHMsIDMyKTsKICAgICBpZiAoYnVmX3NpemUgPT0gLTEpIHsKICAgICAgICAgUHlfREVDUkVGKGl0KTsKICAgICAgICAgcmV0dXJuIE5VTEw7CkBAIC0yMzY3LDI5ICsyODQ3LDcwIEBACiAgICAgUHlfUkVUVVJOX05PTkU7CiB9CiAKLVB5RG9jX1NUUlZBUihwb3BfX2RvY19fLAotIkIucG9wKFtpbmRleF0pIC0+IGludFxuXAotXG5cCi1SZW1vdmUgYW5kIHJldHVybiBhIHNpbmdsZSBpdGVtIGZyb20gQi4gSWYgbm8gaW5kZXhcblwKLWFyZ3VtZW50IGlzIGdpdmVuLCB3aWxsIHBvcCB0aGUgbGFzdCB2YWx1ZS4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK2J5dGVhcnJheS5wb3AKKworICAgIHNlbGY6IHNlbGYodHlwZT0iUHlCeXRlQXJyYXlPYmplY3QgKiIpCisgICAgaW5kZXg6IFB5X3NzaXplX3QgPSAtMQorICAgICAgICBUaGUgaW5kZXggZnJvbSB3aGVyZSB0byByZW1vdmUgdGhlIGl0ZW0uCisgICAgICAgIC0xICh0aGUgZGVmYXVsdCB2YWx1ZSkgbWVhbnMgcmVtb3ZlIHRoZSBsYXN0IGl0ZW0uCisgICAgLworCitSZW1vdmUgYW5kIHJldHVybiBhIHNpbmdsZSBpdGVtIGZyb20gQi4KKworSWYgbm8gaW5kZXggYXJndW1lbnQgaXMgZ2l2ZW4sIHdpbGwgcG9wIHRoZSBsYXN0IGl0ZW0uCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihieXRlYXJyYXlfcG9wX19kb2NfXywKKyJwb3AoJHNlbGYsIGluZGV4PS0xLCAvKVxuIgorIi0tXG4iCisiXG4iCisiUmVtb3ZlIGFuZCByZXR1cm4gYSBzaW5nbGUgaXRlbSBmcm9tIEIuXG4iCisiXG4iCisiICBpbmRleFxuIgorIiAgICBUaGUgaW5kZXggZnJvbSB3aGVyZSB0byByZW1vdmUgdGhlIGl0ZW0uXG4iCisiICAgIC0xICh0aGUgZGVmYXVsdCB2YWx1ZSkgbWVhbnMgcmVtb3ZlIHRoZSBsYXN0IGl0ZW0uXG4iCisiXG4iCisiSWYgbm8gaW5kZXggYXJndW1lbnQgaXMgZ2l2ZW4sIHdpbGwgcG9wIHRoZSBsYXN0IGl0ZW0uIik7CisKKyNkZWZpbmUgQllURUFSUkFZX1BPUF9NRVRIT0RERUYgICAgXAorICAgIHsicG9wIiwgKFB5Q0Z1bmN0aW9uKWJ5dGVhcnJheV9wb3AsIE1FVEhfVkFSQVJHUywgYnl0ZWFycmF5X3BvcF9fZG9jX199LAorCitzdGF0aWMgUHlPYmplY3QgKgorYnl0ZWFycmF5X3BvcF9pbXBsKFB5Qnl0ZUFycmF5T2JqZWN0ICpzZWxmLCBQeV9zc2l6ZV90IGluZGV4KTsKKwogc3RhdGljIFB5T2JqZWN0ICoKIGJ5dGVhcnJheV9wb3AoUHlCeXRlQXJyYXlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQogewotICAgIGludCB2YWx1ZTsKLSAgICBQeV9zc2l6ZV90IHdoZXJlID0gLTEsIG4gPSBQeV9TSVpFKHNlbGYpOwotICAgIGNoYXIgKmJ1ZjsKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBQeV9zc2l6ZV90IGluZGV4ID0gLTE7CiAKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgInxuOnBvcCIsICZ3aGVyZSkpCi0gICAgICAgIHJldHVybiBOVUxMOworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAifG46cG9wIiwKKyAgICAgICAgJmluZGV4KSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IGJ5dGVhcnJheV9wb3BfaW1wbChzZWxmLCBpbmRleCk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK2J5dGVhcnJheV9wb3BfaW1wbChQeUJ5dGVBcnJheU9iamVjdCAqc2VsZiwgUHlfc3NpemVfdCBpbmRleCkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD0zYjc2M2U1NDhlNzlhZjk2IGlucHV0PTA3OTdlNmMwY2E5ZDVhODVdKi8KK3sKKyAgICBpbnQgdmFsdWU7CisgICAgUHlfc3NpemVfdCBuID0gUHlfU0laRShzZWxmKTsKKyAgICBjaGFyICpidWY7CiAKICAgICBpZiAobiA9PSAwKSB7CiAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19JbmRleEVycm9yLAogICAgICAgICAgICAgICAgICAgICAgICAgInBvcCBmcm9tIGVtcHR5IGJ5dGVhcnJheSIpOwogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9Ci0gICAgaWYgKHdoZXJlIDwgMCkKLSAgICAgICAgd2hlcmUgKz0gUHlfU0laRShzZWxmKTsKLSAgICBpZiAod2hlcmUgPCAwIHx8IHdoZXJlID49IFB5X1NJWkUoc2VsZikpIHsKKyAgICBpZiAoaW5kZXggPCAwKQorICAgICAgICBpbmRleCArPSBQeV9TSVpFKHNlbGYpOworICAgIGlmIChpbmRleCA8IDAgfHwgaW5kZXggPj0gUHlfU0laRShzZWxmKSkgewogICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfSW5kZXhFcnJvciwgInBvcCBpbmRleCBvdXQgb2YgcmFuZ2UiKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQpAQCAtMjM5NywyOCArMjkxOCw2MyBAQAogICAgICAgICByZXR1cm4gTlVMTDsKIAogICAgIGJ1ZiA9IFB5Qnl0ZUFycmF5X0FTX1NUUklORyhzZWxmKTsKLSAgICB2YWx1ZSA9IGJ1Zlt3aGVyZV07Ci0gICAgbWVtbW92ZShidWYgKyB3aGVyZSwgYnVmICsgd2hlcmUgKyAxLCBuIC0gd2hlcmUpOworICAgIHZhbHVlID0gYnVmW2luZGV4XTsKKyAgICBtZW1tb3ZlKGJ1ZiArIGluZGV4LCBidWYgKyBpbmRleCArIDEsIG4gLSBpbmRleCk7CiAgICAgaWYgKFB5Qnl0ZUFycmF5X1Jlc2l6ZSgoUHlPYmplY3QgKilzZWxmLCBuIC0gMSkgPCAwKQogICAgICAgICByZXR1cm4gTlVMTDsKIAogICAgIHJldHVybiBQeUxvbmdfRnJvbUxvbmcoKHVuc2lnbmVkIGNoYXIpdmFsdWUpOwogfQogCi1QeURvY19TVFJWQVIocmVtb3ZlX19kb2NfXywKLSJCLnJlbW92ZShpbnQpIC0+IE5vbmVcblwKLVxuXAotUmVtb3ZlIHRoZSBmaXJzdCBvY2N1cnJlbmNlIG9mIGEgdmFsdWUgaW4gQi4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK2J5dGVhcnJheS5yZW1vdmUKKworICAgIHNlbGY6IHNlbGYodHlwZT0iUHlCeXRlQXJyYXlPYmplY3QgKiIpCisgICAgdmFsdWU6IGJ5dGVzdmFsdWUKKyAgICAgICAgVGhlIHZhbHVlIHRvIHJlbW92ZS4KKyAgICAvCisKK1JlbW92ZSB0aGUgZmlyc3Qgb2NjdXJyZW5jZSBvZiBhIHZhbHVlIGluIHRoZSBieXRlYXJyYXkuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihieXRlYXJyYXlfcmVtb3ZlX19kb2NfXywKKyJyZW1vdmUoJHNlbGYsIHZhbHVlLCAvKVxuIgorIi0tXG4iCisiXG4iCisiUmVtb3ZlIHRoZSBmaXJzdCBvY2N1cnJlbmNlIG9mIGEgdmFsdWUgaW4gdGhlIGJ5dGVhcnJheS5cbiIKKyJcbiIKKyIgIHZhbHVlXG4iCisiICAgIFRoZSB2YWx1ZSB0byByZW1vdmUuIik7CisKKyNkZWZpbmUgQllURUFSUkFZX1JFTU9WRV9NRVRIT0RERUYgICAgXAorICAgIHsicmVtb3ZlIiwgKFB5Q0Z1bmN0aW9uKWJ5dGVhcnJheV9yZW1vdmUsIE1FVEhfVkFSQVJHUywgYnl0ZWFycmF5X3JlbW92ZV9fZG9jX199LAorCiBzdGF0aWMgUHlPYmplY3QgKgotYnl0ZWFycmF5X3JlbW92ZShQeUJ5dGVBcnJheU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZykKK2J5dGVhcnJheV9yZW1vdmVfaW1wbChQeUJ5dGVBcnJheU9iamVjdCAqc2VsZiwgaW50IHZhbHVlKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK2J5dGVhcnJheV9yZW1vdmUoUHlCeXRlQXJyYXlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQogeworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOwogICAgIGludCB2YWx1ZTsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAiTyY6cmVtb3ZlIiwKKyAgICAgICAgX2dldGJ5dGV2YWx1ZSwgJnZhbHVlKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IGJ5dGVhcnJheV9yZW1vdmVfaW1wbChzZWxmLCB2YWx1ZSk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK2J5dGVhcnJheV9yZW1vdmVfaW1wbChQeUJ5dGVBcnJheU9iamVjdCAqc2VsZiwgaW50IHZhbHVlKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWM3MWM4YmNmNDcwM2FiZmMgaW5wdXQ9NDc1NjBiMTFmZDg1NmMyNF0qLworewogICAgIFB5X3NzaXplX3Qgd2hlcmUsIG4gPSBQeV9TSVpFKHNlbGYpOwogICAgIGNoYXIgKmJ1ZiA9IFB5Qnl0ZUFycmF5X0FTX1NUUklORyhzZWxmKTsKIAotICAgIGlmICghIF9nZXRieXRldmFsdWUoYXJnLCAmdmFsdWUpKQotICAgICAgICByZXR1cm4gTlVMTDsKLQogICAgIGZvciAod2hlcmUgPSAwOyB3aGVyZSA8IG47IHdoZXJlKyspIHsKICAgICAgICAgaWYgKGJ1Zlt3aGVyZV0gPT0gdmFsdWUpCiAgICAgICAgICAgICBicmVhazsKQEAgLTI0NTksMTMyICszMDE1LDI3MyBAQAogICAgIHJldHVybiBpICsgMTsKIH0KIAotUHlEb2NfU1RSVkFSKHN0cmlwX19kb2NfXywKLSJCLnN0cmlwKFtieXRlc10pIC0+IGJ5dGVhcnJheVxuXAotXG5cCi1TdHJpcCBsZWFkaW5nIGFuZCB0cmFpbGluZyBieXRlcyBjb250YWluZWQgaW4gdGhlIGFyZ3VtZW50XG5cCi1hbmQgcmV0dXJuIHRoZSByZXN1bHQgYXMgYSBuZXcgYnl0ZWFycmF5LlxuXAotSWYgdGhlIGFyZ3VtZW50IGlzIG9taXR0ZWQsIHN0cmlwIEFTQ0lJIHdoaXRlc3BhY2UuIik7CisvKltjbGluaWMgaW5wdXRdCitieXRlYXJyYXkuc3RyaXAKKworICAgIGJ5dGVzOiBvYmplY3QgPSBOb25lCisgICAgLworCitTdHJpcCBsZWFkaW5nIGFuZCB0cmFpbGluZyBieXRlcyBjb250YWluZWQgaW4gdGhlIGFyZ3VtZW50LgorCitJZiB0aGUgYXJndW1lbnQgaXMgb21pdHRlZCBvciBOb25lLCBzdHJpcCBsZWFkaW5nIGFuZCB0cmFpbGluZyBBU0NJSSB3aGl0ZXNwYWNlLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIoYnl0ZWFycmF5X3N0cmlwX19kb2NfXywKKyJzdHJpcCgkc2VsZiwgYnl0ZXM9Tm9uZSwgLylcbiIKKyItLVxuIgorIlxuIgorIlN0cmlwIGxlYWRpbmcgYW5kIHRyYWlsaW5nIGJ5dGVzIGNvbnRhaW5lZCBpbiB0aGUgYXJndW1lbnQuXG4iCisiXG4iCisiSWYgdGhlIGFyZ3VtZW50IGlzIG9taXR0ZWQgb3IgTm9uZSwgc3RyaXAgbGVhZGluZyBhbmQgdHJhaWxpbmcgQVNDSUkgd2hpdGVzcGFjZS4iKTsKKworI2RlZmluZSBCWVRFQVJSQVlfU1RSSVBfTUVUSE9EREVGICAgIFwKKyAgICB7InN0cmlwIiwgKFB5Q0Z1bmN0aW9uKWJ5dGVhcnJheV9zdHJpcCwgTUVUSF9WQVJBUkdTLCBieXRlYXJyYXlfc3RyaXBfX2RvY19ffSwKKworc3RhdGljIFB5T2JqZWN0ICoKK2J5dGVhcnJheV9zdHJpcF9pbXBsKFB5Qnl0ZUFycmF5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYnl0ZXMpOworCiBzdGF0aWMgUHlPYmplY3QgKgogYnl0ZWFycmF5X3N0cmlwKFB5Qnl0ZUFycmF5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKIHsKLSAgICBQeV9zc2l6ZV90IGxlZnQsIHJpZ2h0LCBteXNpemUsIGFyZ3NpemU7Ci0gICAgY2hhciAqbXlwdHIsICphcmdwdHI7Ci0gICAgUHlPYmplY3QgKmFyZyA9IFB5X05vbmU7Ci0gICAgUHlfYnVmZmVyIHZhcmc7Ci0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJ8TzpzdHJpcCIsICZhcmcpKQotICAgICAgICByZXR1cm4gTlVMTDsKLSAgICBpZiAoYXJnID09IFB5X05vbmUpIHsKLSAgICAgICAgYXJncHRyID0gIlx0XG5cclxmXHYgIjsKLSAgICAgICAgYXJnc2l6ZSA9IDY7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgUHlPYmplY3QgKmJ5dGVzID0gUHlfTm9uZTsKKworICAgIGlmICghUHlBcmdfVW5wYWNrVHVwbGUoYXJncywgInN0cmlwIiwKKyAgICAgICAgMCwgMSwKKyAgICAgICAgJmJ5dGVzKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IGJ5dGVhcnJheV9zdHJpcF9pbXBsKHNlbGYsIGJ5dGVzKTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorYnl0ZWFycmF5X3N0cmlwX2ltcGwoUHlCeXRlQXJyYXlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpieXRlcykKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD0yZTNkMzM1OGFjYzRjMjM1IGlucHV0PWVmN2JiNTliMDljMjFkNjJdKi8KK3sKKyAgICBQeV9zc2l6ZV90IGxlZnQsIHJpZ2h0LCBteXNpemUsIGJ5dGVzbGVuOworICAgIGNoYXIgKm15cHRyLCAqYnl0ZXNwdHI7CisgICAgUHlfYnVmZmVyIHZieXRlczsKKworICAgIGlmIChieXRlcyA9PSBQeV9Ob25lKSB7CisgICAgICAgIGJ5dGVzcHRyID0gIlx0XG5cclxmXHYgIjsKKyAgICAgICAgYnl0ZXNsZW4gPSA2OwogICAgIH0KICAgICBlbHNlIHsKLSAgICAgICAgaWYgKFB5T2JqZWN0X0dldEJ1ZmZlcihhcmcsICZ2YXJnLCBQeUJVRl9TSU1QTEUpICE9IDApCisgICAgICAgIGlmIChQeU9iamVjdF9HZXRCdWZmZXIoYnl0ZXMsICZ2Ynl0ZXMsIFB5QlVGX1NJTVBMRSkgIT0gMCkKICAgICAgICAgICAgIHJldHVybiBOVUxMOwotICAgICAgICBhcmdwdHIgPSAoY2hhciAqKSB2YXJnLmJ1ZjsKLSAgICAgICAgYXJnc2l6ZSA9IHZhcmcubGVuOworICAgICAgICBieXRlc3B0ciA9IChjaGFyICopIHZieXRlcy5idWY7CisgICAgICAgIGJ5dGVzbGVuID0gdmJ5dGVzLmxlbjsKICAgICB9CiAgICAgbXlwdHIgPSBQeUJ5dGVBcnJheV9BU19TVFJJTkcoc2VsZik7CiAgICAgbXlzaXplID0gUHlfU0laRShzZWxmKTsKLSAgICBsZWZ0ID0gbHN0cmlwX2hlbHBlcihteXB0ciwgbXlzaXplLCBhcmdwdHIsIGFyZ3NpemUpOworICAgIGxlZnQgPSBsc3RyaXBfaGVscGVyKG15cHRyLCBteXNpemUsIGJ5dGVzcHRyLCBieXRlc2xlbik7CiAgICAgaWYgKGxlZnQgPT0gbXlzaXplKQogICAgICAgICByaWdodCA9IGxlZnQ7CiAgICAgZWxzZQotICAgICAgICByaWdodCA9IHJzdHJpcF9oZWxwZXIobXlwdHIsIG15c2l6ZSwgYXJncHRyLCBhcmdzaXplKTsKLSAgICBpZiAoYXJnICE9IFB5X05vbmUpCi0gICAgICAgIFB5QnVmZmVyX1JlbGVhc2UoJnZhcmcpOworICAgICAgICByaWdodCA9IHJzdHJpcF9oZWxwZXIobXlwdHIsIG15c2l6ZSwgYnl0ZXNwdHIsIGJ5dGVzbGVuKTsKKyAgICBpZiAoYnl0ZXMgIT0gUHlfTm9uZSkKKyAgICAgICAgUHlCdWZmZXJfUmVsZWFzZSgmdmJ5dGVzKTsKICAgICByZXR1cm4gUHlCeXRlQXJyYXlfRnJvbVN0cmluZ0FuZFNpemUobXlwdHIgKyBsZWZ0LCByaWdodCAtIGxlZnQpOwogfQogCi1QeURvY19TVFJWQVIobHN0cmlwX19kb2NfXywKLSJCLmxzdHJpcChbYnl0ZXNdKSAtPiBieXRlYXJyYXlcblwKLVxuXAotU3RyaXAgbGVhZGluZyBieXRlcyBjb250YWluZWQgaW4gdGhlIGFyZ3VtZW50XG5cCi1hbmQgcmV0dXJuIHRoZSByZXN1bHQgYXMgYSBuZXcgYnl0ZWFycmF5LlxuXAotSWYgdGhlIGFyZ3VtZW50IGlzIG9taXR0ZWQsIHN0cmlwIGxlYWRpbmcgQVNDSUkgd2hpdGVzcGFjZS4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK2J5dGVhcnJheS5sc3RyaXAKKworICAgIGJ5dGVzOiBvYmplY3QgPSBOb25lCisgICAgLworCitTdHJpcCBsZWFkaW5nIGJ5dGVzIGNvbnRhaW5lZCBpbiB0aGUgYXJndW1lbnQuCisKK0lmIHRoZSBhcmd1bWVudCBpcyBvbWl0dGVkIG9yIE5vbmUsIHN0cmlwIGxlYWRpbmcgQVNDSUkgd2hpdGVzcGFjZS4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKGJ5dGVhcnJheV9sc3RyaXBfX2RvY19fLAorImxzdHJpcCgkc2VsZiwgYnl0ZXM9Tm9uZSwgLylcbiIKKyItLVxuIgorIlxuIgorIlN0cmlwIGxlYWRpbmcgYnl0ZXMgY29udGFpbmVkIGluIHRoZSBhcmd1bWVudC5cbiIKKyJcbiIKKyJJZiB0aGUgYXJndW1lbnQgaXMgb21pdHRlZCBvciBOb25lLCBzdHJpcCBsZWFkaW5nIEFTQ0lJIHdoaXRlc3BhY2UuIik7CisKKyNkZWZpbmUgQllURUFSUkFZX0xTVFJJUF9NRVRIT0RERUYgICAgXAorICAgIHsibHN0cmlwIiwgKFB5Q0Z1bmN0aW9uKWJ5dGVhcnJheV9sc3RyaXAsIE1FVEhfVkFSQVJHUywgYnl0ZWFycmF5X2xzdHJpcF9fZG9jX199LAorCitzdGF0aWMgUHlPYmplY3QgKgorYnl0ZWFycmF5X2xzdHJpcF9pbXBsKFB5Qnl0ZUFycmF5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYnl0ZXMpOworCiBzdGF0aWMgUHlPYmplY3QgKgogYnl0ZWFycmF5X2xzdHJpcChQeUJ5dGVBcnJheU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCiB7Ci0gICAgUHlfc3NpemVfdCBsZWZ0LCByaWdodCwgbXlzaXplLCBhcmdzaXplOwotICAgIGNoYXIgKm15cHRyLCAqYXJncHRyOwotICAgIFB5T2JqZWN0ICphcmcgPSBQeV9Ob25lOwotICAgIFB5X2J1ZmZlciB2YXJnOwotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAifE86bHN0cmlwIiwgJmFyZykpCi0gICAgICAgIHJldHVybiBOVUxMOwotICAgIGlmIChhcmcgPT0gUHlfTm9uZSkgewotICAgICAgICBhcmdwdHIgPSAiXHRcblxyXGZcdiAiOwotICAgICAgICBhcmdzaXplID0gNjsKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBQeU9iamVjdCAqYnl0ZXMgPSBQeV9Ob25lOworCisgICAgaWYgKCFQeUFyZ19VbnBhY2tUdXBsZShhcmdzLCAibHN0cmlwIiwKKyAgICAgICAgMCwgMSwKKyAgICAgICAgJmJ5dGVzKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IGJ5dGVhcnJheV9sc3RyaXBfaW1wbChzZWxmLCBieXRlcyk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK2J5dGVhcnJheV9sc3RyaXBfaW1wbChQeUJ5dGVBcnJheU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmJ5dGVzKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTI1OTkzMDk4MDhhOWVjMDIgaW5wdXQ9ODA4NDNmOTc1ZGQ3YzQ4MF0qLworeworICAgIFB5X3NzaXplX3QgbGVmdCwgcmlnaHQsIG15c2l6ZSwgYnl0ZXNsZW47CisgICAgY2hhciAqbXlwdHIsICpieXRlc3B0cjsKKyAgICBQeV9idWZmZXIgdmJ5dGVzOworCisgICAgaWYgKGJ5dGVzID09IFB5X05vbmUpIHsKKyAgICAgICAgYnl0ZXNwdHIgPSAiXHRcblxyXGZcdiAiOworICAgICAgICBieXRlc2xlbiA9IDY7CiAgICAgfQogICAgIGVsc2UgewotICAgICAgICBpZiAoUHlPYmplY3RfR2V0QnVmZmVyKGFyZywgJnZhcmcsIFB5QlVGX1NJTVBMRSkgIT0gMCkKKyAgICAgICAgaWYgKFB5T2JqZWN0X0dldEJ1ZmZlcihieXRlcywgJnZieXRlcywgUHlCVUZfU0lNUExFKSAhPSAwKQogICAgICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgICAgIGFyZ3B0ciA9IChjaGFyICopIHZhcmcuYnVmOwotICAgICAgICBhcmdzaXplID0gdmFyZy5sZW47CisgICAgICAgIGJ5dGVzcHRyID0gKGNoYXIgKikgdmJ5dGVzLmJ1ZjsKKyAgICAgICAgYnl0ZXNsZW4gPSB2Ynl0ZXMubGVuOwogICAgIH0KICAgICBteXB0ciA9IFB5Qnl0ZUFycmF5X0FTX1NUUklORyhzZWxmKTsKICAgICBteXNpemUgPSBQeV9TSVpFKHNlbGYpOwotICAgIGxlZnQgPSBsc3RyaXBfaGVscGVyKG15cHRyLCBteXNpemUsIGFyZ3B0ciwgYXJnc2l6ZSk7CisgICAgbGVmdCA9IGxzdHJpcF9oZWxwZXIobXlwdHIsIG15c2l6ZSwgYnl0ZXNwdHIsIGJ5dGVzbGVuKTsKICAgICByaWdodCA9IG15c2l6ZTsKLSAgICBpZiAoYXJnICE9IFB5X05vbmUpCi0gICAgICAgIFB5QnVmZmVyX1JlbGVhc2UoJnZhcmcpOworICAgIGlmIChieXRlcyAhPSBQeV9Ob25lKQorICAgICAgICBQeUJ1ZmZlcl9SZWxlYXNlKCZ2Ynl0ZXMpOwogICAgIHJldHVybiBQeUJ5dGVBcnJheV9Gcm9tU3RyaW5nQW5kU2l6ZShteXB0ciArIGxlZnQsIHJpZ2h0IC0gbGVmdCk7CiB9CiAKLVB5RG9jX1NUUlZBUihyc3RyaXBfX2RvY19fLAotIkIucnN0cmlwKFtieXRlc10pIC0+IGJ5dGVhcnJheVxuXAotXG5cCi1TdHJpcCB0cmFpbGluZyBieXRlcyBjb250YWluZWQgaW4gdGhlIGFyZ3VtZW50XG5cCi1hbmQgcmV0dXJuIHRoZSByZXN1bHQgYXMgYSBuZXcgYnl0ZWFycmF5LlxuXAotSWYgdGhlIGFyZ3VtZW50IGlzIG9taXR0ZWQsIHN0cmlwIHRyYWlsaW5nIEFTQ0lJIHdoaXRlc3BhY2UuIik7CisvKltjbGluaWMgaW5wdXRdCitieXRlYXJyYXkucnN0cmlwCisKKyAgICBieXRlczogb2JqZWN0ID0gTm9uZQorICAgIC8KKworU3RyaXAgdHJhaWxpbmcgYnl0ZXMgY29udGFpbmVkIGluIHRoZSBhcmd1bWVudC4KKworSWYgdGhlIGFyZ3VtZW50IGlzIG9taXR0ZWQgb3IgTm9uZSwgc3RyaXAgdHJhaWxpbmcgQVNDSUkgd2hpdGVzcGFjZS4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKGJ5dGVhcnJheV9yc3RyaXBfX2RvY19fLAorInJzdHJpcCgkc2VsZiwgYnl0ZXM9Tm9uZSwgLylcbiIKKyItLVxuIgorIlxuIgorIlN0cmlwIHRyYWlsaW5nIGJ5dGVzIGNvbnRhaW5lZCBpbiB0aGUgYXJndW1lbnQuXG4iCisiXG4iCisiSWYgdGhlIGFyZ3VtZW50IGlzIG9taXR0ZWQgb3IgTm9uZSwgc3RyaXAgdHJhaWxpbmcgQVNDSUkgd2hpdGVzcGFjZS4iKTsKKworI2RlZmluZSBCWVRFQVJSQVlfUlNUUklQX01FVEhPRERFRiAgICBcCisgICAgeyJyc3RyaXAiLCAoUHlDRnVuY3Rpb24pYnl0ZWFycmF5X3JzdHJpcCwgTUVUSF9WQVJBUkdTLCBieXRlYXJyYXlfcnN0cmlwX19kb2NfX30sCisKK3N0YXRpYyBQeU9iamVjdCAqCitieXRlYXJyYXlfcnN0cmlwX2ltcGwoUHlCeXRlQXJyYXlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpieXRlcyk7CisKIHN0YXRpYyBQeU9iamVjdCAqCiBieXRlYXJyYXlfcnN0cmlwKFB5Qnl0ZUFycmF5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKIHsKLSAgICBQeV9zc2l6ZV90IHJpZ2h0LCBteXNpemUsIGFyZ3NpemU7Ci0gICAgY2hhciAqbXlwdHIsICphcmdwdHI7Ci0gICAgUHlPYmplY3QgKmFyZyA9IFB5X05vbmU7Ci0gICAgUHlfYnVmZmVyIHZhcmc7Ci0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJ8Tzpyc3RyaXAiLCAmYXJnKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgaWYgKGFyZyA9PSBQeV9Ob25lKSB7Ci0gICAgICAgIGFyZ3B0ciA9ICJcdFxuXHJcZlx2ICI7Ci0gICAgICAgIGFyZ3NpemUgPSA2OworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIFB5T2JqZWN0ICpieXRlcyA9IFB5X05vbmU7CisKKyAgICBpZiAoIVB5QXJnX1VucGFja1R1cGxlKGFyZ3MsICJyc3RyaXAiLAorICAgICAgICAwLCAxLAorICAgICAgICAmYnl0ZXMpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gYnl0ZWFycmF5X3JzdHJpcF9pbXBsKHNlbGYsIGJ5dGVzKTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorYnl0ZWFycmF5X3JzdHJpcF9pbXBsKFB5Qnl0ZUFycmF5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYnl0ZXMpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9YjVjYTYyNTlmNGY0ZjJhMyBpbnB1dD1lNzI4Yjk5NDk1NGNmZDkxXSovCit7CisgICAgUHlfc3NpemVfdCByaWdodCwgbXlzaXplLCBieXRlc2xlbjsKKyAgICBjaGFyICpteXB0ciwgKmJ5dGVzcHRyOworICAgIFB5X2J1ZmZlciB2Ynl0ZXM7CisKKyAgICBpZiAoYnl0ZXMgPT0gUHlfTm9uZSkgeworICAgICAgICBieXRlc3B0ciA9ICJcdFxuXHJcZlx2ICI7CisgICAgICAgIGJ5dGVzbGVuID0gNjsKICAgICB9CiAgICAgZWxzZSB7Ci0gICAgICAgIGlmIChQeU9iamVjdF9HZXRCdWZmZXIoYXJnLCAmdmFyZywgUHlCVUZfU0lNUExFKSAhPSAwKQorICAgICAgICBpZiAoUHlPYmplY3RfR2V0QnVmZmVyKGJ5dGVzLCAmdmJ5dGVzLCBQeUJVRl9TSU1QTEUpICE9IDApCiAgICAgICAgICAgICByZXR1cm4gTlVMTDsKLSAgICAgICAgYXJncHRyID0gKGNoYXIgKikgdmFyZy5idWY7Ci0gICAgICAgIGFyZ3NpemUgPSB2YXJnLmxlbjsKKyAgICAgICAgYnl0ZXNwdHIgPSAoY2hhciAqKSB2Ynl0ZXMuYnVmOworICAgICAgICBieXRlc2xlbiA9IHZieXRlcy5sZW47CiAgICAgfQogICAgIG15cHRyID0gUHlCeXRlQXJyYXlfQVNfU1RSSU5HKHNlbGYpOwogICAgIG15c2l6ZSA9IFB5X1NJWkUoc2VsZik7Ci0gICAgcmlnaHQgPSByc3RyaXBfaGVscGVyKG15cHRyLCBteXNpemUsIGFyZ3B0ciwgYXJnc2l6ZSk7Ci0gICAgaWYgKGFyZyAhPSBQeV9Ob25lKQotICAgICAgICBQeUJ1ZmZlcl9SZWxlYXNlKCZ2YXJnKTsKKyAgICByaWdodCA9IHJzdHJpcF9oZWxwZXIobXlwdHIsIG15c2l6ZSwgYnl0ZXNwdHIsIGJ5dGVzbGVuKTsKKyAgICBpZiAoYnl0ZXMgIT0gUHlfTm9uZSkKKyAgICAgICAgUHlCdWZmZXJfUmVsZWFzZSgmdmJ5dGVzKTsKICAgICByZXR1cm4gUHlCeXRlQXJyYXlfRnJvbVN0cmluZ0FuZFNpemUobXlwdHIsIHJpZ2h0KTsKIH0KIAotUHlEb2NfU1RSVkFSKGRlY29kZV9kb2MsCi0iQi5kZWNvZGUoZW5jb2Rpbmc9J3V0Zi04JywgZXJyb3JzPSdzdHJpY3QnKSAtPiBzdHJcblwKLVxuXAotRGVjb2RlIEIgdXNpbmcgdGhlIGNvZGVjIHJlZ2lzdGVyZWQgZm9yIGVuY29kaW5nLiBEZWZhdWx0IGVuY29kaW5nXG5cCi1pcyAndXRmLTgnLiBlcnJvcnMgbWF5IGJlIGdpdmVuIHRvIHNldCBhIGRpZmZlcmVudCBlcnJvclxuXAotaGFuZGxpbmcgc2NoZW1lLiAgRGVmYXVsdCBpcyAnc3RyaWN0JyBtZWFuaW5nIHRoYXQgZW5jb2RpbmcgZXJyb3JzIHJhaXNlXG5cCi1hIFVuaWNvZGVEZWNvZGVFcnJvci4gIE90aGVyIHBvc3NpYmxlIHZhbHVlcyBhcmUgJ2lnbm9yZScgYW5kICdyZXBsYWNlJ1xuXAotYXMgd2VsbCBhcyBhbnkgb3RoZXIgbmFtZSByZWdpc3RlcmVkIHdpdGggY29kZWNzLnJlZ2lzdGVyX2Vycm9yIHRoYXQgaXNcblwKLWFibGUgdG8gaGFuZGxlIFVuaWNvZGVEZWNvZGVFcnJvcnMuIik7CisvKltjbGluaWMgaW5wdXRdCitieXRlYXJyYXkuZGVjb2RlCisKKyAgICBlbmNvZGluZzogc3RyKGNfZGVmYXVsdD0iTlVMTCIpID0gJ3V0Zi04JworICAgICAgICBUaGUgZW5jb2Rpbmcgd2l0aCB3aGljaCB0byBkZWNvZGUgdGhlIGJ5dGVhcnJheS4KKyAgICBlcnJvcnM6IHN0cihjX2RlZmF1bHQ9Ik5VTEwiKSA9ICdzdHJpY3QnCisgICAgICAgIFRoZSBlcnJvciBoYW5kbGluZyBzY2hlbWUgdG8gdXNlIGZvciB0aGUgaGFuZGxpbmcgb2YgZGVjb2RpbmcgZXJyb3JzLgorICAgICAgICBUaGUgZGVmYXVsdCBpcyAnc3RyaWN0JyBtZWFuaW5nIHRoYXQgZGVjb2RpbmcgZXJyb3JzIHJhaXNlIGEKKyAgICAgICAgVW5pY29kZURlY29kZUVycm9yLiBPdGhlciBwb3NzaWJsZSB2YWx1ZXMgYXJlICdpZ25vcmUnIGFuZCAncmVwbGFjZScKKyAgICAgICAgYXMgd2VsbCBhcyBhbnkgb3RoZXIgbmFtZSByZWdpc3RlcmVkIHdpdGggY29kZWNzLnJlZ2lzdGVyX2Vycm9yIHRoYXQKKyAgICAgICAgY2FuIGhhbmRsZSBVbmljb2RlRGVjb2RlRXJyb3JzLgorCitEZWNvZGUgdGhlIGJ5dGVhcnJheSB1c2luZyB0aGUgY29kZWMgcmVnaXN0ZXJlZCBmb3IgZW5jb2RpbmcuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihieXRlYXJyYXlfZGVjb2RlX19kb2NfXywKKyJkZWNvZGUoJHNlbGYsIC8sIGVuY29kaW5nPVwndXRmLThcJywgZXJyb3JzPVwnc3RyaWN0XCcpXG4iCisiLS1cbiIKKyJcbiIKKyJEZWNvZGUgdGhlIGJ5dGVhcnJheSB1c2luZyB0aGUgY29kZWMgcmVnaXN0ZXJlZCBmb3IgZW5jb2RpbmcuXG4iCisiXG4iCisiICBlbmNvZGluZ1xuIgorIiAgICBUaGUgZW5jb2Rpbmcgd2l0aCB3aGljaCB0byBkZWNvZGUgdGhlIGJ5dGVhcnJheS5cbiIKKyIgIGVycm9yc1xuIgorIiAgICBUaGUgZXJyb3IgaGFuZGxpbmcgc2NoZW1lIHRvIHVzZSBmb3IgdGhlIGhhbmRsaW5nIG9mIGRlY29kaW5nIGVycm9ycy5cbiIKKyIgICAgVGhlIGRlZmF1bHQgaXMgXCdzdHJpY3RcJyBtZWFuaW5nIHRoYXQgZGVjb2RpbmcgZXJyb3JzIHJhaXNlIGFcbiIKKyIgICAgVW5pY29kZURlY29kZUVycm9yLiBPdGhlciBwb3NzaWJsZSB2YWx1ZXMgYXJlIFwnaWdub3JlXCcgYW5kIFwncmVwbGFjZVwnXG4iCisiICAgIGFzIHdlbGwgYXMgYW55IG90aGVyIG5hbWUgcmVnaXN0ZXJlZCB3aXRoIGNvZGVjcy5yZWdpc3Rlcl9lcnJvciB0aGF0XG4iCisiICAgIGNhbiBoYW5kbGUgVW5pY29kZURlY29kZUVycm9ycy4iKTsKKworI2RlZmluZSBCWVRFQVJSQVlfREVDT0RFX01FVEhPRERFRiAgICBcCisgICAgeyJkZWNvZGUiLCAoUHlDRnVuY3Rpb24pYnl0ZWFycmF5X2RlY29kZSwgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsIGJ5dGVhcnJheV9kZWNvZGVfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLWJ5dGVhcnJheV9kZWNvZGUoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQorYnl0ZWFycmF5X2RlY29kZV9pbXBsKFB5Qnl0ZUFycmF5T2JqZWN0ICpzZWxmLCBjb25zdCBjaGFyICplbmNvZGluZywgY29uc3QgY2hhciAqZXJyb3JzKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK2J5dGVhcnJheV9kZWNvZGUoUHlCeXRlQXJyYXlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQogeworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIHN0YXRpYyBjaGFyICpfa2V5d29yZHNbXSA9IHsiZW5jb2RpbmciLCAiZXJyb3JzIiwgTlVMTH07CiAgICAgY29uc3QgY2hhciAqZW5jb2RpbmcgPSBOVUxMOwogICAgIGNvbnN0IGNoYXIgKmVycm9ycyA9IE5VTEw7Ci0gICAgc3RhdGljIGNoYXIgKmt3bGlzdFtdID0geyJlbmNvZGluZyIsICJlcnJvcnMiLCAwfTsKIAotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywgInxzczpkZWNvZGUiLCBrd2xpc3QsICZlbmNvZGluZywgJmVycm9ycykpCi0gICAgICAgIHJldHVybiBOVUxMOworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywKKyAgICAgICAgInxzczpkZWNvZGUiLCBfa2V5d29yZHMsCisgICAgICAgICZlbmNvZGluZywgJmVycm9ycykpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBieXRlYXJyYXlfZGVjb2RlX2ltcGwoc2VsZiwgZW5jb2RpbmcsIGVycm9ycyk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK2J5dGVhcnJheV9kZWNvZGVfaW1wbChQeUJ5dGVBcnJheU9iamVjdCAqc2VsZiwgY29uc3QgY2hhciAqZW5jb2RpbmcsIGNvbnN0IGNoYXIgKmVycm9ycykKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD0zOGI4MzY4MWYxZTM4YTZjIGlucHV0PWYyOGQ4ZjkwMzAyMDI1N2JdKi8KK3sKICAgICBpZiAoZW5jb2RpbmcgPT0gTlVMTCkKICAgICAgICAgZW5jb2RpbmcgPSBQeVVuaWNvZGVfR2V0RGVmYXVsdEVuY29kaW5nKCk7Ci0gICAgcmV0dXJuIFB5VW5pY29kZV9Gcm9tRW5jb2RlZE9iamVjdChzZWxmLCBlbmNvZGluZywgZXJyb3JzKTsKKyAgICByZXR1cm4gUHlVbmljb2RlX0Zyb21FbmNvZGVkT2JqZWN0KChQeU9iamVjdCopc2VsZiwgZW5jb2RpbmcsIGVycm9ycyk7CiB9CiAKIFB5RG9jX1NUUlZBUihhbGxvY19kb2MsCkBAIC0yNTk4LDQ4ICszMjk1LDkyIEBACiAgICAgcmV0dXJuIFB5TG9uZ19Gcm9tU3NpemVfdChzZWxmLT5vYl9hbGxvYyk7CiB9CiAKLVB5RG9jX1NUUlZBUihqb2luX2RvYywKLSJCLmpvaW4oaXRlcmFibGVfb2ZfYnl0ZXMpIC0+IGJ5dGVhcnJheVxuXAotXG5cCi1Db25jYXRlbmF0ZSBhbnkgbnVtYmVyIG9mIGJ5dGVzL2J5dGVhcnJheSBvYmplY3RzLCB3aXRoIEJcblwKLWluIGJldHdlZW4gZWFjaCBwYWlyLCBhbmQgcmV0dXJuIHRoZSByZXN1bHQgYXMgYSBuZXcgYnl0ZWFycmF5LiIpOworLypbY2xpbmljIGlucHV0XQorYnl0ZWFycmF5LmpvaW4KKworICAgIGl0ZXJhYmxlX29mX2J5dGVzOiBvYmplY3QKKyAgICAvCisKK0NvbmNhdGVuYXRlIGFueSBudW1iZXIgb2YgYnl0ZXMvYnl0ZWFycmF5IG9iamVjdHMuCisKK1RoZSBieXRlYXJyYXkgd2hvc2UgbWV0aG9kIGlzIGNhbGxlZCBpcyBpbnNlcnRlZCBpbiBiZXR3ZWVuIGVhY2ggcGFpci4KKworVGhlIHJlc3VsdCBpcyByZXR1cm5lZCBhcyBhIG5ldyBieXRlYXJyYXkgb2JqZWN0LgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIoYnl0ZWFycmF5X2pvaW5fX2RvY19fLAorImpvaW4oJHNlbGYsIGl0ZXJhYmxlX29mX2J5dGVzLCAvKVxuIgorIi0tXG4iCisiXG4iCisiQ29uY2F0ZW5hdGUgYW55IG51bWJlciBvZiBieXRlcy9ieXRlYXJyYXkgb2JqZWN0cy5cbiIKKyJcbiIKKyJUaGUgYnl0ZWFycmF5IHdob3NlIG1ldGhvZCBpcyBjYWxsZWQgaXMgaW5zZXJ0ZWQgaW4gYmV0d2VlbiBlYWNoIHBhaXIuXG4iCisiXG4iCisiVGhlIHJlc3VsdCBpcyByZXR1cm5lZCBhcyBhIG5ldyBieXRlYXJyYXkgb2JqZWN0LiIpOworCisjZGVmaW5lIEJZVEVBUlJBWV9KT0lOX01FVEhPRERFRiAgICBcCisgICAgeyJqb2luIiwgKFB5Q0Z1bmN0aW9uKWJ5dGVhcnJheV9qb2luLCBNRVRIX08sIGJ5dGVhcnJheV9qb2luX19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1ieXRlYXJyYXlfam9pbihQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKml0ZXJhYmxlKQorYnl0ZWFycmF5X2pvaW4oUHlCeXRlQXJyYXlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICppdGVyYWJsZV9vZl9ieXRlcykKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD01NDRlNzQzMDAzMmRmZGY0IGlucHV0PWFiYTZiMWY5YjMwZmNiOGVdKi8KIHsKLSAgICByZXR1cm4gc3RyaW5nbGliX2J5dGVzX2pvaW4oc2VsZiwgaXRlcmFibGUpOworICAgIHJldHVybiBzdHJpbmdsaWJfYnl0ZXNfam9pbigoUHlPYmplY3QqKXNlbGYsIGl0ZXJhYmxlX29mX2J5dGVzKTsKIH0KIAotUHlEb2NfU1RSVkFSKHNwbGl0bGluZXNfX2RvY19fLAotIkIuc3BsaXRsaW5lcyhba2VlcGVuZHNdKSAtPiBsaXN0IG9mIGxpbmVzXG5cCi1cblwKLVJldHVybiBhIGxpc3Qgb2YgdGhlIGxpbmVzIGluIEIsIGJyZWFraW5nIGF0IGxpbmUgYm91bmRhcmllcy5cblwKLUxpbmUgYnJlYWtzIGFyZSBub3QgaW5jbHVkZWQgaW4gdGhlIHJlc3VsdGluZyBsaXN0IHVubGVzcyBrZWVwZW5kc1xuXAotaXMgZ2l2ZW4gYW5kIHRydWUuIik7CisvKltjbGluaWMgaW5wdXRdCitieXRlYXJyYXkuc3BsaXRsaW5lcwogCi1zdGF0aWMgUHlPYmplY3QqCi1ieXRlYXJyYXlfc3BsaXRsaW5lcyhQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2RzKQorICAgIGtlZXBlbmRzOiBpbnQocHlfZGVmYXVsdD0iRmFsc2UiKSA9IDAKKworUmV0dXJuIGEgbGlzdCBvZiB0aGUgbGluZXMgaW4gdGhlIGJ5dGVhcnJheSwgYnJlYWtpbmcgYXQgbGluZSBib3VuZGFyaWVzLgorCitMaW5lIGJyZWFrcyBhcmUgbm90IGluY2x1ZGVkIGluIHRoZSByZXN1bHRpbmcgbGlzdCB1bmxlc3Mga2VlcGVuZHMgaXMgZ2l2ZW4gYW5kCit0cnVlLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIoYnl0ZWFycmF5X3NwbGl0bGluZXNfX2RvY19fLAorInNwbGl0bGluZXMoJHNlbGYsIC8sIGtlZXBlbmRzPUZhbHNlKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJuIGEgbGlzdCBvZiB0aGUgbGluZXMgaW4gdGhlIGJ5dGVhcnJheSwgYnJlYWtpbmcgYXQgbGluZSBib3VuZGFyaWVzLlxuIgorIlxuIgorIkxpbmUgYnJlYWtzIGFyZSBub3QgaW5jbHVkZWQgaW4gdGhlIHJlc3VsdGluZyBsaXN0IHVubGVzcyBrZWVwZW5kcyBpcyBnaXZlbiBhbmRcbiIKKyJ0cnVlLiIpOworCisjZGVmaW5lIEJZVEVBUlJBWV9TUExJVExJTkVTX01FVEhPRERFRiAgICBcCisgICAgeyJzcGxpdGxpbmVzIiwgKFB5Q0Z1bmN0aW9uKWJ5dGVhcnJheV9zcGxpdGxpbmVzLCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywgYnl0ZWFycmF5X3NwbGl0bGluZXNfX2RvY19ffSwKKworc3RhdGljIFB5T2JqZWN0ICoKK2J5dGVhcnJheV9zcGxpdGxpbmVzX2ltcGwoUHlCeXRlQXJyYXlPYmplY3QgKnNlbGYsIGludCBrZWVwZW5kcyk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitieXRlYXJyYXlfc3BsaXRsaW5lcyhQeUJ5dGVBcnJheU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCiB7Ci0gICAgc3RhdGljIGNoYXIgKmt3bGlzdFtdID0geyJrZWVwZW5kcyIsIDB9OworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIHN0YXRpYyBjaGFyICpfa2V5d29yZHNbXSA9IHsia2VlcGVuZHMiLCBOVUxMfTsKICAgICBpbnQga2VlcGVuZHMgPSAwOwogCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dkcywgInxpOnNwbGl0bGluZXMiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGt3bGlzdCwgJmtlZXBlbmRzKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLAorICAgICAgICAifGk6c3BsaXRsaW5lcyIsIF9rZXl3b3JkcywKKyAgICAgICAgJmtlZXBlbmRzKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IGJ5dGVhcnJheV9zcGxpdGxpbmVzX2ltcGwoc2VsZiwga2VlcGVuZHMpOwogCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitieXRlYXJyYXlfc3BsaXRsaW5lc19pbXBsKFB5Qnl0ZUFycmF5T2JqZWN0ICpzZWxmLCBpbnQga2VlcGVuZHMpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9YTgzN2ZkMDUxMmFkNDZmZiBpbnB1dD0zNmYwYjI1YmM3OTJmNmMwXSovCit7CiAgICAgcmV0dXJuIHN0cmluZ2xpYl9zcGxpdGxpbmVzKAogICAgICAgICAoUHlPYmplY3QqKSBzZWxmLCBQeUJ5dGVBcnJheV9BU19TVFJJTkcoc2VsZiksCiAgICAgICAgIFB5Qnl0ZUFycmF5X0dFVF9TSVpFKHNlbGYpLCBrZWVwZW5kcwogICAgICAgICApOwogfQogCi1QeURvY19TVFJWQVIoZnJvbWhleF9kb2MsCi0iYnl0ZWFycmF5LmZyb21oZXgoc3RyaW5nKSAtPiBieXRlYXJyYXkgKHN0YXRpYyBtZXRob2QpXG5cCi1cblwKLUNyZWF0ZSBhIGJ5dGVhcnJheSBvYmplY3QgZnJvbSBhIHN0cmluZyBvZiBoZXhhZGVjaW1hbCBudW1iZXJzLlxuXAotU3BhY2VzIGJldHdlZW4gdHdvIG51bWJlcnMgYXJlIGFjY2VwdGVkLlxuXAotRXhhbXBsZTogYnl0ZWFycmF5LmZyb21oZXgoJ0I5IDAxRUYnKSAtPiBieXRlYXJyYXkoYidcXHhiOVxceDAxXFx4ZWYnKS4iKTsKLQogc3RhdGljIGludAogaGV4X2RpZ2l0X3RvX2ludChQeV9VQ1M0IGMpCiB7CkBAIC0yNjU2LDI0ICszMzk3LDY4IEBACiAgICAgcmV0dXJuIC0xOwogfQogCisvKltjbGluaWMgaW5wdXRdCitAY2xhc3NtZXRob2QKK2J5dGVhcnJheS5mcm9taGV4CisKKyAgICBjbHM6IHNlbGYodHlwZT0iUHlPYmplY3QqIikKKyAgICBzdHJpbmc6IHVuaWNvZGUKKyAgICAvCisKK0NyZWF0ZSBhIGJ5dGVhcnJheSBvYmplY3QgZnJvbSBhIHN0cmluZyBvZiBoZXhhZGVjaW1hbCBudW1iZXJzLgorCitTcGFjZXMgYmV0d2VlbiB0d28gbnVtYmVycyBhcmUgYWNjZXB0ZWQuCitFeGFtcGxlOiBieXRlYXJyYXkuZnJvbWhleCgnQjkgMDFFRicpIC0+IGJ5dGVhcnJheShiJ1xceGI5XFx4MDFcXHhlZicpCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihieXRlYXJyYXlfZnJvbWhleF9fZG9jX18sCisiZnJvbWhleCgkdHlwZSwgc3RyaW5nLCAvKVxuIgorIi0tXG4iCisiXG4iCisiQ3JlYXRlIGEgYnl0ZWFycmF5IG9iamVjdCBmcm9tIGEgc3RyaW5nIG9mIGhleGFkZWNpbWFsIG51bWJlcnMuXG4iCisiXG4iCisiU3BhY2VzIGJldHdlZW4gdHdvIG51bWJlcnMgYXJlIGFjY2VwdGVkLlxuIgorIkV4YW1wbGU6IGJ5dGVhcnJheS5mcm9taGV4KFwnQjkgMDFFRlwnKSAtPiBieXRlYXJyYXkoYlwnXFxcXHhiOVxcXFx4MDFcXFxceGVmXCcpIik7CisKKyNkZWZpbmUgQllURUFSUkFZX0ZST01IRVhfTUVUSE9EREVGICAgIFwKKyAgICB7ImZyb21oZXgiLCAoUHlDRnVuY3Rpb24pYnl0ZWFycmF5X2Zyb21oZXgsIE1FVEhfVkFSQVJHU3xNRVRIX0NMQVNTLCBieXRlYXJyYXlfZnJvbWhleF9fZG9jX199LAorCiBzdGF0aWMgUHlPYmplY3QgKgotYnl0ZWFycmF5X2Zyb21oZXgoUHlPYmplY3QgKmNscywgUHlPYmplY3QgKmFyZ3MpCitieXRlYXJyYXlfZnJvbWhleF9pbXBsKFB5T2JqZWN0KmNscywgUHlPYmplY3QgKnN0cmluZyk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitieXRlYXJyYXlfZnJvbWhleChQeVR5cGVPYmplY3QgKmNscywgUHlPYmplY3QgKmFyZ3MpCiB7Ci0gICAgUHlPYmplY3QgKm5ld2J5dGVzLCAqaGV4b2JqOworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIFB5T2JqZWN0ICpzdHJpbmc7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgIlU6ZnJvbWhleCIsCisgICAgICAgICZzdHJpbmcpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gYnl0ZWFycmF5X2Zyb21oZXhfaW1wbCgoUHlPYmplY3QqKWNscywgc3RyaW5nKTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorYnl0ZWFycmF5X2Zyb21oZXhfaW1wbChQeU9iamVjdCpjbHMsIFB5T2JqZWN0ICpzdHJpbmcpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9YWRjM2M4MDRhNzRlNTZkNCBpbnB1dD05MDdiYmQyZDM0ZDkzNjdhXSovCit7CisgICAgUHlPYmplY3QgKm5ld2J5dGVzOwogICAgIGNoYXIgKmJ1ZjsKICAgICBQeV9zc2l6ZV90IGhleGxlbiwgYnl0ZXNsZW4sIGksIGo7CiAgICAgaW50IHRvcCwgYm90OwogICAgIHZvaWQgKmRhdGE7CiAgICAgdW5zaWduZWQgaW50IGtpbmQ7CiAKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgIlU6ZnJvbWhleCIsICZoZXhvYmopKQorICAgIGFzc2VydChQeVVuaWNvZGVfQ2hlY2soc3RyaW5nKSk7CisgICAgaWYgKFB5VW5pY29kZV9SRUFEWShzdHJpbmcpKQogICAgICAgICByZXR1cm4gTlVMTDsKLSAgICBhc3NlcnQoUHlVbmljb2RlX0NoZWNrKGhleG9iaikpOwotICAgIGlmIChQeVVuaWNvZGVfUkVBRFkoaGV4b2JqKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAga2luZCA9IFB5VW5pY29kZV9LSU5EKGhleG9iaik7Ci0gICAgZGF0YSA9IFB5VW5pY29kZV9EQVRBKGhleG9iaik7Ci0gICAgaGV4bGVuID0gUHlVbmljb2RlX0dFVF9MRU5HVEgoaGV4b2JqKTsKKyAgICBraW5kID0gUHlVbmljb2RlX0tJTkQoc3RyaW5nKTsKKyAgICBkYXRhID0gUHlVbmljb2RlX0RBVEEoc3RyaW5nKTsKKyAgICBoZXhsZW4gPSBQeVVuaWNvZGVfR0VUX0xFTkdUSChzdHJpbmcpOwogCiAgICAgYnl0ZXNsZW4gPSBoZXhsZW4vMjsgLyogVGhpcyBvdmVyZXN0aW1hdGVzIGlmIHRoZXJlIGFyZSBzcGFjZXMgKi8KICAgICBuZXdieXRlcyA9IFB5Qnl0ZUFycmF5X0Zyb21TdHJpbmdBbmRTaXplKE5VTEwsIGJ5dGVzbGVuKTsKQEAgLTI3NDEsMzMgKzM1MjYsMTEzIEBACiAgICAgfQogfQogCi1QeURvY19TVFJWQVIocmVkdWNlX2RvYywgIlJldHVybiBzdGF0ZSBpbmZvcm1hdGlvbiBmb3IgcGlja2xpbmcuIik7CisvKltjbGluaWMgaW5wdXRdCitieXRlYXJyYXkuX19yZWR1Y2VfXyBhcyBieXRlYXJyYXlfcmVkdWNlCisKKyAgICBzZWxmOiBzZWxmKHR5cGU9IlB5Qnl0ZUFycmF5T2JqZWN0ICoiKQorCitSZXR1cm4gc3RhdGUgaW5mb3JtYXRpb24gZm9yIHBpY2tsaW5nLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIoYnl0ZWFycmF5X3JlZHVjZV9fZG9jX18sCisiX19yZWR1Y2VfXygkc2VsZiwgLylcbiIKKyItLVxuIgorIlxuIgorIlJldHVybiBzdGF0ZSBpbmZvcm1hdGlvbiBmb3IgcGlja2xpbmcuIik7CisKKyNkZWZpbmUgQllURUFSUkFZX1JFRFVDRV9NRVRIT0RERUYgICAgXAorICAgIHsiX19yZWR1Y2VfXyIsIChQeUNGdW5jdGlvbilieXRlYXJyYXlfcmVkdWNlLCBNRVRIX05PQVJHUywgYnl0ZWFycmF5X3JlZHVjZV9fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotYnl0ZWFycmF5X3JlZHVjZShQeUJ5dGVBcnJheU9iamVjdCAqc2VsZikKK2J5dGVhcnJheV9yZWR1Y2VfaW1wbChQeUJ5dGVBcnJheU9iamVjdCAqc2VsZik7CisKK3N0YXRpYyBQeU9iamVjdCAqCitieXRlYXJyYXlfcmVkdWNlKFB5Qnl0ZUFycmF5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqUHlfVU5VU0VEKGlnbm9yZWQpKQoreworICAgIHJldHVybiBieXRlYXJyYXlfcmVkdWNlX2ltcGwoc2VsZik7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitieXRlYXJyYXlfcmVkdWNlX2ltcGwoUHlCeXRlQXJyYXlPYmplY3QgKnNlbGYpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9YjFiNTZmZTg3YmYzMGZiMCBpbnB1dD1mYmIwN2RlNGQxMDJhMDNhXSovCiB7CiAgICAgcmV0dXJuIF9jb21tb25fcmVkdWNlKHNlbGYsIDIpOwogfQogCi1QeURvY19TVFJWQVIocmVkdWNlX2V4X2RvYywgIlJldHVybiBzdGF0ZSBpbmZvcm1hdGlvbiBmb3IgcGlja2xpbmcuIik7CisvKltjbGluaWMgaW5wdXRdCitieXRlYXJyYXkuX19yZWR1Y2VfZXhfXyBhcyBieXRlYXJyYXlfcmVkdWNlX2V4CisKKyAgICBzZWxmOiBzZWxmKHR5cGU9IlB5Qnl0ZUFycmF5T2JqZWN0ICoiKQorICAgIHByb3RvOiBpbnQgPSAwCisgICAgLworCitSZXR1cm4gc3RhdGUgaW5mb3JtYXRpb24gZm9yIHBpY2tsaW5nLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIoYnl0ZWFycmF5X3JlZHVjZV9leF9fZG9jX18sCisiX19yZWR1Y2VfZXhfXygkc2VsZiwgcHJvdG89MCwgLylcbiIKKyItLVxuIgorIlxuIgorIlJldHVybiBzdGF0ZSBpbmZvcm1hdGlvbiBmb3IgcGlja2xpbmcuIik7CisKKyNkZWZpbmUgQllURUFSUkFZX1JFRFVDRV9FWF9NRVRIT0RERUYgICAgXAorICAgIHsiX19yZWR1Y2VfZXhfXyIsIChQeUNGdW5jdGlvbilieXRlYXJyYXlfcmVkdWNlX2V4LCBNRVRIX1ZBUkFSR1MsIGJ5dGVhcnJheV9yZWR1Y2VfZXhfX2RvY19ffSwKKworc3RhdGljIFB5T2JqZWN0ICoKK2J5dGVhcnJheV9yZWR1Y2VfZXhfaW1wbChQeUJ5dGVBcnJheU9iamVjdCAqc2VsZiwgaW50IHByb3RvKTsKIAogc3RhdGljIFB5T2JqZWN0ICoKIGJ5dGVhcnJheV9yZWR1Y2VfZXgoUHlCeXRlQXJyYXlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQogeworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOwogICAgIGludCBwcm90byA9IDA7CiAKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgInxpOl9fcmVkdWNlX2V4X18iLCAmcHJvdG8pKQotICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgInxpOl9fcmVkdWNlX2V4X18iLAorICAgICAgICAmcHJvdG8pKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gYnl0ZWFycmF5X3JlZHVjZV9leF9pbXBsKHNlbGYsIHByb3RvKTsKIAorZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorYnl0ZWFycmF5X3JlZHVjZV9leF9pbXBsKFB5Qnl0ZUFycmF5T2JqZWN0ICpzZWxmLCBpbnQgcHJvdG8pCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9YmJkOWFmYjJmNTk1M2RjMSBpbnB1dD0wZTA5MWE0MmNhNmRiZDkxXSovCit7CiAgICAgcmV0dXJuIF9jb21tb25fcmVkdWNlKHNlbGYsIHByb3RvKTsKIH0KIAotUHlEb2NfU1RSVkFSKHNpemVvZl9kb2MsCi0iQi5fX3NpemVvZl9fKCkgLT4gaW50XG5cCi0gXG5cCi1SZXR1cm5zIHRoZSBzaXplIG9mIEIgaW4gbWVtb3J5LCBpbiBieXRlcyIpOworLypbY2xpbmljIGlucHV0XQorYnl0ZWFycmF5Ll9fc2l6ZW9mX18gYXMgYnl0ZWFycmF5X3NpemVvZgorCisgICAgc2VsZjogc2VsZih0eXBlPSJQeUJ5dGVBcnJheU9iamVjdCAqIikKKworUmV0dXJucyB0aGUgc2l6ZSBvZiB0aGUgYnl0ZWFycmF5IG9iamVjdCBpbiBtZW1vcnksIGluIGJ5dGVzLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIoYnl0ZWFycmF5X3NpemVvZl9fZG9jX18sCisiX19zaXplb2ZfXygkc2VsZiwgLylcbiIKKyItLVxuIgorIlxuIgorIlJldHVybnMgdGhlIHNpemUgb2YgdGhlIGJ5dGVhcnJheSBvYmplY3QgaW4gbWVtb3J5LCBpbiBieXRlcy4iKTsKKworI2RlZmluZSBCWVRFQVJSQVlfU0laRU9GX01FVEhPRERFRiAgICBcCisgICAgeyJfX3NpemVvZl9fIiwgKFB5Q0Z1bmN0aW9uKWJ5dGVhcnJheV9zaXplb2YsIE1FVEhfTk9BUkdTLCBieXRlYXJyYXlfc2l6ZW9mX19kb2NfX30sCisKIHN0YXRpYyBQeU9iamVjdCAqCi1ieXRlYXJyYXlfc2l6ZW9mKFB5Qnl0ZUFycmF5T2JqZWN0ICpzZWxmKQorYnl0ZWFycmF5X3NpemVvZl9pbXBsKFB5Qnl0ZUFycmF5T2JqZWN0ICpzZWxmKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK2J5dGVhcnJheV9zaXplb2YoUHlCeXRlQXJyYXlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpQeV9VTlVTRUQoaWdub3JlZCkpCit7CisgICAgcmV0dXJuIGJ5dGVhcnJheV9zaXplb2ZfaW1wbChzZWxmKTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK2J5dGVhcnJheV9zaXplb2ZfaW1wbChQeUJ5dGVBcnJheU9iamVjdCAqc2VsZikKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD00YTIyNTRiMGE4NTYzMGM2IGlucHV0PTZiMjNkMzA1MzYyYjQ2MmJdKi8KIHsKICAgICBQeV9zc2l6ZV90IHJlczsKIApAQCAtMjgwMiwyNiArMzY2NywyNSBAQAogc3RhdGljIFB5TWV0aG9kRGVmCiBieXRlYXJyYXlfbWV0aG9kc1tdID0gewogICAgIHsiX19hbGxvY19fIiwgKFB5Q0Z1bmN0aW9uKWJ5dGVhcnJheV9hbGxvYywgTUVUSF9OT0FSR1MsIGFsbG9jX2RvY30sCi0gICAgeyJfX3JlZHVjZV9fIiwgKFB5Q0Z1bmN0aW9uKWJ5dGVhcnJheV9yZWR1Y2UsIE1FVEhfTk9BUkdTLCByZWR1Y2VfZG9jfSwKLSAgICB7Il9fcmVkdWNlX2V4X18iLCAoUHlDRnVuY3Rpb24pYnl0ZWFycmF5X3JlZHVjZV9leCwgTUVUSF9WQVJBUkdTLCByZWR1Y2VfZXhfZG9jfSwKLSAgICB7Il9fc2l6ZW9mX18iLCAoUHlDRnVuY3Rpb24pYnl0ZWFycmF5X3NpemVvZiwgTUVUSF9OT0FSR1MsIHNpemVvZl9kb2N9LAotICAgIHsiYXBwZW5kIiwgKFB5Q0Z1bmN0aW9uKWJ5dGVhcnJheV9hcHBlbmQsIE1FVEhfTywgYXBwZW5kX19kb2NfX30sCisgICAgQllURUFSUkFZX1JFRFVDRV9NRVRIT0RERUYKKyAgICBCWVRFQVJSQVlfUkVEVUNFX0VYX01FVEhPRERFRgorICAgIEJZVEVBUlJBWV9TSVpFT0ZfTUVUSE9EREVGCisgICAgQllURUFSUkFZX0FQUEVORF9NRVRIT0RERUYKICAgICB7ImNhcGl0YWxpemUiLCAoUHlDRnVuY3Rpb24pc3RyaW5nbGliX2NhcGl0YWxpemUsIE1FVEhfTk9BUkdTLAogICAgICBfUHlfY2FwaXRhbGl6ZV9fZG9jX199LAogICAgIHsiY2VudGVyIiwgKFB5Q0Z1bmN0aW9uKXN0cmluZ2xpYl9jZW50ZXIsIE1FVEhfVkFSQVJHUywgY2VudGVyX19kb2NfX30sCi0gICAgeyJjbGVhciIsIChQeUNGdW5jdGlvbilieXRlYXJyYXlfY2xlYXIsIE1FVEhfTk9BUkdTLCBjbGVhcl9fZG9jX199LAotICAgIHsiY29weSIsIChQeUNGdW5jdGlvbilieXRlYXJyYXlfY29weSwgTUVUSF9OT0FSR1MsIGNvcHlfX2RvY19ffSwKKyAgICBCWVRFQVJSQVlfQ0xFQVJfTUVUSE9EREVGCisgICAgQllURUFSUkFZX0NPUFlfTUVUSE9EREVGCiAgICAgeyJjb3VudCIsIChQeUNGdW5jdGlvbilieXRlYXJyYXlfY291bnQsIE1FVEhfVkFSQVJHUywgY291bnRfX2RvY19ffSwKLSAgICB7ImRlY29kZSIsIChQeUNGdW5jdGlvbilieXRlYXJyYXlfZGVjb2RlLCBNRVRIX1ZBUkFSR1MgfCBNRVRIX0tFWVdPUkRTLCBkZWNvZGVfZG9jfSwKKyAgICBCWVRFQVJSQVlfREVDT0RFX01FVEhPRERFRgogICAgIHsiZW5kc3dpdGgiLCAoUHlDRnVuY3Rpb24pYnl0ZWFycmF5X2VuZHN3aXRoLCBNRVRIX1ZBUkFSR1MsIGVuZHN3aXRoX19kb2NfX30sCiAgICAgeyJleHBhbmR0YWJzIiwgKFB5Q0Z1bmN0aW9uKXN0cmluZ2xpYl9leHBhbmR0YWJzLCBNRVRIX1ZBUkFSR1MgfCBNRVRIX0tFWVdPUkRTLAogICAgICBleHBhbmR0YWJzX19kb2NfX30sCi0gICAgeyJleHRlbmQiLCAoUHlDRnVuY3Rpb24pYnl0ZWFycmF5X2V4dGVuZCwgTUVUSF9PLCBleHRlbmRfX2RvY19ffSwKKyAgICBCWVRFQVJSQVlfRVhURU5EX01FVEhPRERFRgogICAgIHsiZmluZCIsIChQeUNGdW5jdGlvbilieXRlYXJyYXlfZmluZCwgTUVUSF9WQVJBUkdTLCBmaW5kX19kb2NfX30sCi0gICAgeyJmcm9taGV4IiwgKFB5Q0Z1bmN0aW9uKWJ5dGVhcnJheV9mcm9taGV4LCBNRVRIX1ZBUkFSR1N8TUVUSF9DTEFTUywKLSAgICAgZnJvbWhleF9kb2N9LAorICAgIEJZVEVBUlJBWV9GUk9NSEVYX01FVEhPRERFRgogICAgIHsiaW5kZXgiLCAoUHlDRnVuY3Rpb24pYnl0ZWFycmF5X2luZGV4LCBNRVRIX1ZBUkFSR1MsIGluZGV4X19kb2NfX30sCi0gICAgeyJpbnNlcnQiLCAoUHlDRnVuY3Rpb24pYnl0ZWFycmF5X2luc2VydCwgTUVUSF9WQVJBUkdTLCBpbnNlcnRfX2RvY19ffSwKKyAgICBCWVRFQVJSQVlfSU5TRVJUX01FVEhPRERFRgogICAgIHsiaXNhbG51bSIsIChQeUNGdW5jdGlvbilzdHJpbmdsaWJfaXNhbG51bSwgTUVUSF9OT0FSR1MsCiAgICAgIF9QeV9pc2FsbnVtX19kb2NfX30sCiAgICAgeyJpc2FscGhhIiwgKFB5Q0Z1bmN0aW9uKXN0cmluZ2xpYl9pc2FscGhhLCBNRVRIX05PQVJHUywKQEAgLTI4MzYsMzkgKzM3MDAsNTEgQEAKICAgICAgX1B5X2lzdGl0bGVfX2RvY19ffSwKICAgICB7ImlzdXBwZXIiLCAoUHlDRnVuY3Rpb24pc3RyaW5nbGliX2lzdXBwZXIsIE1FVEhfTk9BUkdTLAogICAgICBfUHlfaXN1cHBlcl9fZG9jX199LAotICAgIHsiam9pbiIsIChQeUNGdW5jdGlvbilieXRlYXJyYXlfam9pbiwgTUVUSF9PLCBqb2luX2RvY30sCisgICAgQllURUFSUkFZX0pPSU5fTUVUSE9EREVGCiAgICAgeyJsanVzdCIsIChQeUNGdW5jdGlvbilzdHJpbmdsaWJfbGp1c3QsIE1FVEhfVkFSQVJHUywgbGp1c3RfX2RvY19ffSwKICAgICB7Imxvd2VyIiwgKFB5Q0Z1bmN0aW9uKXN0cmluZ2xpYl9sb3dlciwgTUVUSF9OT0FSR1MsIF9QeV9sb3dlcl9fZG9jX199LAotICAgIHsibHN0cmlwIiwgKFB5Q0Z1bmN0aW9uKWJ5dGVhcnJheV9sc3RyaXAsIE1FVEhfVkFSQVJHUywgbHN0cmlwX19kb2NfX30sCi0gICAgeyJtYWtldHJhbnMiLCAoUHlDRnVuY3Rpb24pYnl0ZWFycmF5X21ha2V0cmFucywgTUVUSF9WQVJBUkdTfE1FVEhfU1RBVElDLAotICAgICBfUHlfbWFrZXRyYW5zX19kb2NfX30sCi0gICAgeyJwYXJ0aXRpb24iLCAoUHlDRnVuY3Rpb24pYnl0ZWFycmF5X3BhcnRpdGlvbiwgTUVUSF9PLCBwYXJ0aXRpb25fX2RvY19ffSwKLSAgICB7InBvcCIsIChQeUNGdW5jdGlvbilieXRlYXJyYXlfcG9wLCBNRVRIX1ZBUkFSR1MsIHBvcF9fZG9jX199LAotICAgIHsicmVtb3ZlIiwgKFB5Q0Z1bmN0aW9uKWJ5dGVhcnJheV9yZW1vdmUsIE1FVEhfTywgcmVtb3ZlX19kb2NfX30sCi0gICAgeyJyZXBsYWNlIiwgKFB5Q0Z1bmN0aW9uKWJ5dGVhcnJheV9yZXBsYWNlLCBNRVRIX1ZBUkFSR1MsIHJlcGxhY2VfX2RvY19ffSwKLSAgICB7InJldmVyc2UiLCAoUHlDRnVuY3Rpb24pYnl0ZWFycmF5X3JldmVyc2UsIE1FVEhfTk9BUkdTLCByZXZlcnNlX19kb2NfX30sCisgICAgQllURUFSUkFZX0xTVFJJUF9NRVRIT0RERUYKKyAgICBCWVRFQVJSQVlfTUFLRVRSQU5TX01FVEhPRERFRgorICAgIEJZVEVBUlJBWV9QQVJUSVRJT05fTUVUSE9EREVGCisgICAgQllURUFSUkFZX1BPUF9NRVRIT0RERUYKKyAgICBCWVRFQVJSQVlfUkVNT1ZFX01FVEhPRERFRgorICAgIEJZVEVBUlJBWV9SRVBMQUNFX01FVEhPRERFRgorICAgIEJZVEVBUlJBWV9SRVZFUlNFX01FVEhPRERFRgogICAgIHsicmZpbmQiLCAoUHlDRnVuY3Rpb24pYnl0ZWFycmF5X3JmaW5kLCBNRVRIX1ZBUkFSR1MsIHJmaW5kX19kb2NfX30sCiAgICAgeyJyaW5kZXgiLCAoUHlDRnVuY3Rpb24pYnl0ZWFycmF5X3JpbmRleCwgTUVUSF9WQVJBUkdTLCByaW5kZXhfX2RvY19ffSwKICAgICB7InJqdXN0IiwgKFB5Q0Z1bmN0aW9uKXN0cmluZ2xpYl9yanVzdCwgTUVUSF9WQVJBUkdTLCByanVzdF9fZG9jX199LAotICAgIHsicnBhcnRpdGlvbiIsIChQeUNGdW5jdGlvbilieXRlYXJyYXlfcnBhcnRpdGlvbiwgTUVUSF9PLCBycGFydGl0aW9uX19kb2NfX30sCi0gICAgeyJyc3BsaXQiLCAoUHlDRnVuY3Rpb24pYnl0ZWFycmF5X3JzcGxpdCwgTUVUSF9WQVJBUkdTIHwgTUVUSF9LRVlXT1JEUywgcnNwbGl0X19kb2NfX30sCi0gICAgeyJyc3RyaXAiLCAoUHlDRnVuY3Rpb24pYnl0ZWFycmF5X3JzdHJpcCwgTUVUSF9WQVJBUkdTLCByc3RyaXBfX2RvY19ffSwKLSAgICB7InNwbGl0IiwgKFB5Q0Z1bmN0aW9uKWJ5dGVhcnJheV9zcGxpdCwgTUVUSF9WQVJBUkdTIHwgTUVUSF9LRVlXT1JEUywgc3BsaXRfX2RvY19ffSwKLSAgICB7InNwbGl0bGluZXMiLCAoUHlDRnVuY3Rpb24pYnl0ZWFycmF5X3NwbGl0bGluZXMsCi0gICAgIE1FVEhfVkFSQVJHUyB8IE1FVEhfS0VZV09SRFMsIHNwbGl0bGluZXNfX2RvY19ffSwKKyAgICBCWVRFQVJSQVlfUlBBUlRJVElPTl9NRVRIT0RERUYKKyAgICBCWVRFQVJSQVlfUlNQTElUX01FVEhPRERFRgorICAgIEJZVEVBUlJBWV9SU1RSSVBfTUVUSE9EREVGCisgICAgQllURUFSUkFZX1NQTElUX01FVEhPRERFRgorICAgIEJZVEVBUlJBWV9TUExJVExJTkVTX01FVEhPRERFRgogICAgIHsic3RhcnRzd2l0aCIsIChQeUNGdW5jdGlvbilieXRlYXJyYXlfc3RhcnRzd2l0aCwgTUVUSF9WQVJBUkdTICwKICAgICAgc3RhcnRzd2l0aF9fZG9jX199LAotICAgIHsic3RyaXAiLCAoUHlDRnVuY3Rpb24pYnl0ZWFycmF5X3N0cmlwLCBNRVRIX1ZBUkFSR1MsIHN0cmlwX19kb2NfX30sCisgICAgQllURUFSUkFZX1NUUklQX01FVEhPRERFRgogICAgIHsic3dhcGNhc2UiLCAoUHlDRnVuY3Rpb24pc3RyaW5nbGliX3N3YXBjYXNlLCBNRVRIX05PQVJHUywKICAgICAgX1B5X3N3YXBjYXNlX19kb2NfX30sCiAgICAgeyJ0aXRsZSIsIChQeUNGdW5jdGlvbilzdHJpbmdsaWJfdGl0bGUsIE1FVEhfTk9BUkdTLCBfUHlfdGl0bGVfX2RvY19ffSwKLSAgICB7InRyYW5zbGF0ZSIsIChQeUNGdW5jdGlvbilieXRlYXJyYXlfdHJhbnNsYXRlLCBNRVRIX1ZBUkFSR1MsCi0gICAgIHRyYW5zbGF0ZV9fZG9jX199LAorICAgIEJZVEVBUlJBWV9UUkFOU0xBVEVfTUVUSE9EREVGCiAgICAgeyJ1cHBlciIsIChQeUNGdW5jdGlvbilzdHJpbmdsaWJfdXBwZXIsIE1FVEhfTk9BUkdTLCBfUHlfdXBwZXJfX2RvY19ffSwKICAgICB7InpmaWxsIiwgKFB5Q0Z1bmN0aW9uKXN0cmluZ2xpYl96ZmlsbCwgTUVUSF9WQVJBUkdTLCB6ZmlsbF9fZG9jX199LAogICAgIHtOVUxMfQogfTsKIAorc3RhdGljIFB5T2JqZWN0ICoKK2J5dGVhcnJheV9tb2QoUHlPYmplY3QgKnYsIFB5T2JqZWN0ICp3KQoreworICAgIGlmICghUHlCeXRlQXJyYXlfQ2hlY2sodikpCisgICAgICAgIFB5X1JFVFVSTl9OT1RJTVBMRU1FTlRFRDsKKyAgICByZXR1cm4gYnl0ZWFycmF5X2Zvcm1hdCgoUHlCeXRlQXJyYXlPYmplY3QgKil2LCB3KTsKK30KKworc3RhdGljIFB5TnVtYmVyTWV0aG9kcyBieXRlYXJyYXlfYXNfbnVtYmVyID0geworICAgIDAsICAgICAgICAgICAgICAvKm5iX2FkZCovCisgICAgMCwgICAgICAgICAgICAgIC8qbmJfc3VidHJhY3QqLworICAgIDAsICAgICAgICAgICAgICAvKm5iX211bHRpcGx5Ki8KKyAgICBieXRlYXJyYXlfbW9kLCAgLypuYl9yZW1haW5kZXIqLworfTsKKwogUHlEb2NfU1RSVkFSKGJ5dGVhcnJheV9kb2MsCiAiYnl0ZWFycmF5KGl0ZXJhYmxlX29mX2ludHMpIC0+IGJ5dGVhcnJheVxuXAogYnl0ZWFycmF5KHN0cmluZywgZW5jb2RpbmdbLCBlcnJvcnNdKSAtPiBieXRlYXJyYXlcblwKQEAgLTI4OTcsNyArMzc3Myw3IEBACiAgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfc2V0YXR0ciAqLwogICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX3Jlc2VydmVkICovCiAgICAgKHJlcHJmdW5jKWJ5dGVhcnJheV9yZXByLCAgICAgICAgICAgLyogdHBfcmVwciAqLwotICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2FzX251bWJlciAqLworICAgICZieXRlYXJyYXlfYXNfbnVtYmVyLCAgICAgICAgICAgICAgIC8qIHRwX2FzX251bWJlciAqLwogICAgICZieXRlYXJyYXlfYXNfc2VxdWVuY2UsICAgICAgICAgICAgIC8qIHRwX2FzX3NlcXVlbmNlICovCiAgICAgJmJ5dGVhcnJheV9hc19tYXBwaW5nLCAgICAgICAgICAgICAgLyogdHBfYXNfbWFwcGluZyAqLwogICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2hhc2ggKi8KQEAgLTMwMjQsNyArMzkwMCw3IEBACiAgICAgeyJfX2xlbmd0aF9oaW50X18iLCAoUHlDRnVuY3Rpb24pYnl0ZWFycmF5aXRlcl9sZW5ndGhfaGludCwgTUVUSF9OT0FSR1MsCiAgICAgIGxlbmd0aF9oaW50X2RvY30sCiAgICAgIHsiX19yZWR1Y2VfXyIsICAgICAgKFB5Q0Z1bmN0aW9uKWJ5dGVhcnJheWl0ZXJfcmVkdWNlLCBNRVRIX05PQVJHUywKLSAgICAgcmVkdWNlX2RvY30sCisgICAgIGJ5dGVhcnJheV9yZWR1Y2VfX2RvY19ffSwKICAgICB7Il9fc2V0c3RhdGVfXyIsICAgIChQeUNGdW5jdGlvbilieXRlYXJyYXlpdGVyX3NldHN0YXRlLCBNRVRIX08sCiAgICAgIHNldHN0YXRlX2RvY30sCiAgICAge05VTEwsIE5VTEx9IC8qIHNlbnRpbmVsICovCmRpZmYgLS1naXQgYS9PYmplY3RzL2J5dGVzX21ldGhvZHMuYyBiL09iamVjdHMvYnl0ZXNfbWV0aG9kcy5jCmluZGV4IDlmZjdhY2UuLmEyOTk5MTUgMTAwNjQ0Ci0tLSBhL09iamVjdHMvYnl0ZXNfbWV0aG9kcy5jCisrKyBiL09iamVjdHMvYnl0ZXNfbWV0aG9kcy5jCkBAIC0zNjQsMzkgKzM2NCwyNiBAQAogVGhlIGJ5dGVzIG9iamVjdHMgZnJtIGFuZCB0byBtdXN0IGJlIG9mIHRoZSBzYW1lIGxlbmd0aC4iKTsKIAogUHlPYmplY3QgKgotX1B5X2J5dGVzX21ha2V0cmFucyhQeU9iamVjdCAqYXJncykKK19QeV9ieXRlc19tYWtldHJhbnMoUHlfYnVmZmVyICpmcm0sIFB5X2J1ZmZlciAqdG8pCiB7CiAgICAgUHlPYmplY3QgKnJlcyA9IE5VTEw7Ci0gICAgUHlfYnVmZmVyIGJmcm0gPSB7TlVMTCwgTlVMTH07Ci0gICAgUHlfYnVmZmVyIGJ0byA9IHtOVUxMLCBOVUxMfTsKICAgICBQeV9zc2l6ZV90IGk7CiAgICAgY2hhciAqcDsKIAotICAgIGJmcm0ubGVuID0gLTE7Ci0gICAgYnRvLmxlbiA9IC0xOwotCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJ5KnkqOm1ha2V0cmFucyIsICZiZnJtLCAmYnRvKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgaWYgKGJmcm0ubGVuICE9IGJ0by5sZW4pIHsKKyAgICBpZiAoZnJtLT5sZW4gIT0gdG8tPmxlbikgewogICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVmFsdWVFcnJvciwKICAgICAgICAgICAgICAgICAgICAgICJtYWtldHJhbnMgYXJndW1lbnRzIG11c3QgaGF2ZSBzYW1lIGxlbmd0aCIpOwotICAgICAgICBnb3RvIGRvbmU7CisgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KICAgICByZXMgPSBQeUJ5dGVzX0Zyb21TdHJpbmdBbmRTaXplKE5VTEwsIDI1Nik7Ci0gICAgaWYgKCFyZXMpIHsKLSAgICAgICAgZ290byBkb25lOwotICAgIH0KKyAgICBpZiAoIXJlcykKKyAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgcCA9IFB5Qnl0ZXNfQVNfU1RSSU5HKHJlcyk7CiAgICAgZm9yIChpID0gMDsgaSA8IDI1NjsgaSsrKQogICAgICAgICBwW2ldID0gKGNoYXIpIGk7Ci0gICAgZm9yIChpID0gMDsgaSA8IGJmcm0ubGVuOyBpKyspIHsKLSAgICAgICAgcFsoKHVuc2lnbmVkIGNoYXIgKiliZnJtLmJ1ZilbaV1dID0gKChjaGFyICopYnRvLmJ1ZilbaV07CisgICAgZm9yIChpID0gMDsgaSA8IGZybS0+bGVuOyBpKyspIHsKKyAgICAgICAgcFsoKHVuc2lnbmVkIGNoYXIgKilmcm0tPmJ1ZilbaV1dID0gKChjaGFyICopdG8tPmJ1ZilbaV07CiAgICAgfQogCi1kb25lOgotICAgIGlmIChiZnJtLm9iaiAhPSBOVUxMKQotICAgICAgICBQeUJ1ZmZlcl9SZWxlYXNlKCZiZnJtKTsKLSAgICBpZiAoYmZybS5vYmogIT0gTlVMTCkKLSAgICAgICAgUHlCdWZmZXJfUmVsZWFzZSgmYnRvKTsKICAgICByZXR1cm4gcmVzOwogfQpkaWZmIC0tZ2l0IGEvT2JqZWN0cy9ieXRlc29iamVjdC5jIGIvT2JqZWN0cy9ieXRlc29iamVjdC5jCmluZGV4IGU1NmRiZWQuLmIwMTU5NzQgMTAwNjQ0Ci0tLSBhL09iamVjdHMvYnl0ZXNvYmplY3QuYworKysgYi9PYmplY3RzL2J5dGVzb2JqZWN0LmMKQEAgLTcsNiArNywxMSBAQAogI2luY2x1ZGUgImJ5dGVzX21ldGhvZHMuaCIKICNpbmNsdWRlIDxzdGRkZWYuaD4KIAorLypbY2xpbmljIGlucHV0XQorY2xhc3MgYnl0ZXMgIlB5Qnl0ZXNPYmplY3QqIiAiJlB5Qnl0ZXNfVHlwZSIKK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1kYTM5YTNlZTVlNmI0YjBkIGlucHV0PTFhMWQ5MTAyYWZjMWIwMGNdKi8KKwogI2lmZGVmIENPVU5UX0FMTE9DUwogUHlfc3NpemVfdCBudWxsX3N0cmluZ3MsIG9uZV9zdHJpbmdzOwogI2VuZGlmCkBAIC00NCw2ICs0OSw0NSBAQAogICAgUHlCeXRlc19Gcm9tU3RyaW5nQW5kU2l6ZSgpKSBvciB0aGUgbGVuZ3RoIG9mIHRoZSBzdHJpbmcgaW4gdGhlIGBzdHInCiAgICBwYXJhbWV0ZXIgKGZvciBQeUJ5dGVzX0Zyb21TdHJpbmcoKSkuCiAqLworc3RhdGljIFB5T2JqZWN0ICoKK19QeUJ5dGVzX0Zyb21TaXplKFB5X3NzaXplX3Qgc2l6ZSwgaW50IHVzZV9jYWxsb2MpCit7CisgICAgUHlCeXRlc09iamVjdCAqb3A7CisgICAgYXNzZXJ0KHNpemUgPj0gMCk7CisKKyAgICBpZiAoc2l6ZSA9PSAwICYmIChvcCA9IG51bGxzdHJpbmcpICE9IE5VTEwpIHsKKyNpZmRlZiBDT1VOVF9BTExPQ1MKKyAgICAgICAgbnVsbF9zdHJpbmdzKys7CisjZW5kaWYKKyAgICAgICAgUHlfSU5DUkVGKG9wKTsKKyAgICAgICAgcmV0dXJuIChQeU9iamVjdCAqKW9wOworICAgIH0KKworICAgIGlmICgoc2l6ZV90KXNpemUgPiAoc2l6ZV90KVBZX1NTSVpFX1RfTUFYIC0gUHlCeXRlc09iamVjdF9TSVpFKSB7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19PdmVyZmxvd0Vycm9yLAorICAgICAgICAgICAgICAgICAgICAgICAgImJ5dGUgc3RyaW5nIGlzIHRvbyBsYXJnZSIpOworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisKKyAgICAvKiBJbmxpbmUgUHlPYmplY3RfTmV3VmFyICovCisgICAgaWYgKHVzZV9jYWxsb2MpCisgICAgICAgIG9wID0gKFB5Qnl0ZXNPYmplY3QgKilQeU9iamVjdF9DYWxsb2MoMSwgUHlCeXRlc09iamVjdF9TSVpFICsgc2l6ZSk7CisgICAgZWxzZQorICAgICAgICBvcCA9IChQeUJ5dGVzT2JqZWN0ICopUHlPYmplY3RfTWFsbG9jKFB5Qnl0ZXNPYmplY3RfU0laRSArIHNpemUpOworICAgIGlmIChvcCA9PSBOVUxMKQorICAgICAgICByZXR1cm4gUHlFcnJfTm9NZW1vcnkoKTsKKyAgICAodm9pZClQeU9iamVjdF9JTklUX1ZBUihvcCwgJlB5Qnl0ZXNfVHlwZSwgc2l6ZSk7CisgICAgb3AtPm9iX3NoYXNoID0gLTE7CisgICAgaWYgKCF1c2VfY2FsbG9jKQorICAgICAgICBvcC0+b2Jfc3ZhbFtzaXplXSA9ICdcMCc7CisgICAgLyogZW1wdHkgYnl0ZSBzdHJpbmcgc2luZ2xldG9uICovCisgICAgaWYgKHNpemUgPT0gMCkgeworICAgICAgICBudWxsc3RyaW5nID0gb3A7CisgICAgICAgIFB5X0lOQ1JFRihvcCk7CisgICAgfQorICAgIHJldHVybiAoUHlPYmplY3QgKikgb3A7Cit9CisKIFB5T2JqZWN0ICoKIFB5Qnl0ZXNfRnJvbVN0cmluZ0FuZFNpemUoY29uc3QgY2hhciAqc3RyLCBQeV9zc2l6ZV90IHNpemUpCiB7CkBAIC01MywxMyArOTcsNiBAQAogICAgICAgICAgICAgIk5lZ2F0aXZlIHNpemUgcGFzc2VkIHRvIFB5Qnl0ZXNfRnJvbVN0cmluZ0FuZFNpemUiKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQotICAgIGlmIChzaXplID09IDAgJiYgKG9wID0gbnVsbHN0cmluZykgIT0gTlVMTCkgewotI2lmZGVmIENPVU5UX0FMTE9DUwotICAgICAgICBudWxsX3N0cmluZ3MrKzsKLSNlbmRpZgotICAgICAgICBQeV9JTkNSRUYob3ApOwotICAgICAgICByZXR1cm4gKFB5T2JqZWN0ICopb3A7Ci0gICAgfQogICAgIGlmIChzaXplID09IDEgJiYgc3RyICE9IE5VTEwgJiYKICAgICAgICAgKG9wID0gY2hhcmFjdGVyc1sqc3RyICYgVUNIQVJfTUFYXSkgIT0gTlVMTCkKICAgICB7CkBAIC03MCwyNiArMTA3LDE1IEBACiAgICAgICAgIHJldHVybiAoUHlPYmplY3QgKilvcDsKICAgICB9CiAKLSAgICBpZiAoc2l6ZSA+IFBZX1NTSVpFX1RfTUFYIC0gUHlCeXRlc09iamVjdF9TSVpFKSB7Ci0gICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19PdmVyZmxvd0Vycm9yLAotICAgICAgICAgICAgICAgICAgICAgICAgImJ5dGUgc3RyaW5nIGlzIHRvbyBsYXJnZSIpOwotICAgICAgICByZXR1cm4gTlVMTDsKLSAgICB9Ci0KLSAgICAvKiBJbmxpbmUgUHlPYmplY3RfTmV3VmFyICovCi0gICAgb3AgPSAoUHlCeXRlc09iamVjdCAqKVB5T2JqZWN0X01BTExPQyhQeUJ5dGVzT2JqZWN0X1NJWkUgKyBzaXplKTsKKyAgICBvcCA9IChQeUJ5dGVzT2JqZWN0ICopX1B5Qnl0ZXNfRnJvbVNpemUoc2l6ZSwgMCk7CiAgICAgaWYgKG9wID09IE5VTEwpCi0gICAgICAgIHJldHVybiBQeUVycl9Ob01lbW9yeSgpOwotICAgICh2b2lkKVB5T2JqZWN0X0lOSVRfVkFSKG9wLCAmUHlCeXRlc19UeXBlLCBzaXplKTsKLSAgICBvcC0+b2Jfc2hhc2ggPSAtMTsKLSAgICBpZiAoc3RyICE9IE5VTEwpCi0gICAgICAgIFB5X01FTUNQWShvcC0+b2Jfc3ZhbCwgc3RyLCBzaXplKTsKLSAgICBvcC0+b2Jfc3ZhbFtzaXplXSA9ICdcMCc7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIGlmIChzdHIgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIChQeU9iamVjdCAqKSBvcDsKKworICAgIFB5X01FTUNQWShvcC0+b2Jfc3ZhbCwgc3RyLCBzaXplKTsKICAgICAvKiBzaGFyZSBzaG9ydCBzdHJpbmdzICovCi0gICAgaWYgKHNpemUgPT0gMCkgewotICAgICAgICBudWxsc3RyaW5nID0gb3A7Ci0gICAgICAgIFB5X0lOQ1JFRihvcCk7Ci0gICAgfSBlbHNlIGlmIChzaXplID09IDEgJiYgc3RyICE9IE5VTEwpIHsKKyAgICBpZiAoc2l6ZSA9PSAxKSB7CiAgICAgICAgIGNoYXJhY3RlcnNbKnN0ciAmIFVDSEFSX01BWF0gPSBvcDsKICAgICAgICAgUHlfSU5DUkVGKG9wKTsKICAgICB9CkBAIC0zNDcsNiArMzczLDU0NCBAQAogICAgIHJldHVybiByZXQ7CiB9CiAKKy8qIEhlbHBlcnMgZm9yIGZvcm1hdHN0cmluZyAqLworCitQeV9MT0NBTF9JTkxJTkUoUHlPYmplY3QgKikKK2dldG5leHRhcmcoUHlPYmplY3QgKmFyZ3MsIFB5X3NzaXplX3QgYXJnbGVuLCBQeV9zc2l6ZV90ICpwX2FyZ2lkeCkKK3sKKyAgICBQeV9zc2l6ZV90IGFyZ2lkeCA9ICpwX2FyZ2lkeDsKKyAgICBpZiAoYXJnaWR4IDwgYXJnbGVuKSB7CisgICAgICAgICgqcF9hcmdpZHgpKys7CisgICAgICAgIGlmIChhcmdsZW4gPCAwKQorICAgICAgICAgICAgcmV0dXJuIGFyZ3M7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHJldHVybiBQeVR1cGxlX0dldEl0ZW0oYXJncywgYXJnaWR4KTsKKyAgICB9CisgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgIm5vdCBlbm91Z2ggYXJndW1lbnRzIGZvciBmb3JtYXQgc3RyaW5nIik7CisgICAgcmV0dXJuIE5VTEw7Cit9CisKKy8qIEZvcm1hdCBjb2RlcworICogRl9MSlVTVCAgICAgICctJworICogRl9TSUdOICAgICAgICcrJworICogRl9CTEFOSyAgICAgICcgJworICogRl9BTFQgICAgICAgICcjJworICogRl9aRVJPICAgICAgICcwJworICovCisjZGVmaW5lIEZfTEpVU1QgKDE8PDApCisjZGVmaW5lIEZfU0lHTiAgKDE8PDEpCisjZGVmaW5lIEZfQkxBTksgKDE8PDIpCisjZGVmaW5lIEZfQUxUICAgKDE8PDMpCisjZGVmaW5lIEZfWkVSTyAgKDE8PDQpCisKKy8qIFJldHVybnMgYSBuZXcgcmVmZXJlbmNlIHRvIGEgUHlCeXRlcyBvYmplY3QsIG9yIE5VTEwgb24gZmFpbHVyZS4gKi8KKworc3RhdGljIFB5T2JqZWN0ICoKK2Zvcm1hdGZsb2F0KFB5T2JqZWN0ICp2LCBpbnQgZmxhZ3MsIGludCBwcmVjLCBpbnQgdHlwZSkKK3sKKyAgICBjaGFyICpwOworICAgIFB5T2JqZWN0ICpyZXN1bHQ7CisgICAgZG91YmxlIHg7CisKKyAgICB4ID0gUHlGbG9hdF9Bc0RvdWJsZSh2KTsKKyAgICBpZiAoeCA9PSAtMS4wICYmIFB5RXJyX09jY3VycmVkKCkpIHsKKyAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX1R5cGVFcnJvciwgImZsb2F0IGFyZ3VtZW50IHJlcXVpcmVkLCAiCisgICAgICAgICAgICAgICAgICAgICAibm90ICUuMjAwcyIsIFB5X1RZUEUodiktPnRwX25hbWUpOworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisKKyAgICBpZiAocHJlYyA8IDApCisgICAgICAgIHByZWMgPSA2OworCisgICAgcCA9IFB5T1NfZG91YmxlX3RvX3N0cmluZyh4LCB0eXBlLCBwcmVjLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGZsYWdzICYgRl9BTFQpID8gUHlfRFRTRl9BTFQgOiAwLCBOVUxMKTsKKworICAgIGlmIChwID09IE5VTEwpCisgICAgICAgIHJldHVybiBOVUxMOworICAgIHJlc3VsdCA9IFB5Qnl0ZXNfRnJvbVN0cmluZ0FuZFNpemUocCwgc3RybGVuKHApKTsKKyAgICBQeU1lbV9GcmVlKHApOworICAgIHJldHVybiByZXN1bHQ7Cit9CisKK1B5X0xPQ0FMX0lOTElORShpbnQpCitieXRlX2NvbnZlcnRlcihQeU9iamVjdCAqYXJnLCBjaGFyICpwKQoreworICAgIGlmIChQeUJ5dGVzX0NoZWNrKGFyZykgJiYgUHlCeXRlc19TaXplKGFyZykgPT0gMSkgeworICAgICAgICAqcCA9IFB5Qnl0ZXNfQVNfU1RSSU5HKGFyZylbMF07CisgICAgICAgIHJldHVybiAxOworICAgIH0KKyAgICBlbHNlIGlmIChQeUJ5dGVBcnJheV9DaGVjayhhcmcpICYmIFB5Qnl0ZUFycmF5X1NpemUoYXJnKSA9PSAxKSB7CisgICAgICAgICpwID0gUHlCeXRlQXJyYXlfQVNfU1RSSU5HKGFyZylbMF07CisgICAgICAgIHJldHVybiAxOworICAgIH0KKyAgICBlbHNlIHsKKyAgICAgICAgbG9uZyBpdmFsID0gUHlMb25nX0FzTG9uZyhhcmcpOworICAgICAgICBpZiAoMCA8PSBpdmFsICYmIGl2YWwgPD0gMjU1KSB7CisgICAgICAgICAgICAqcCA9IChjaGFyKWl2YWw7CisgICAgICAgICAgICByZXR1cm4gMTsKKyAgICAgICAgfQorICAgIH0KKyAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLAorICAgICAgICAiJWMgcmVxdWlyZXMgYW4gaW50ZWdlciBpbiByYW5nZSgyNTYpIG9yIGEgc2luZ2xlIGJ5dGUiKTsKKyAgICByZXR1cm4gMDsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK2Zvcm1hdF9vYmooUHlPYmplY3QgKnYsIGNvbnN0IGNoYXIgKipwYnVmLCBQeV9zc2l6ZV90ICpwbGVuKQoreworICAgIFB5T2JqZWN0ICpmdW5jLCAqcmVzdWx0OworICAgIF9QeV9JREVOVElGSUVSKF9fYnl0ZXNfXyk7CisgICAgLyogaXMgaXQgYSBieXRlcyBvYmplY3Q/ICovCisgICAgaWYgKFB5Qnl0ZXNfQ2hlY2sodikpIHsKKyAgICAgICAgKnBidWYgPSBQeUJ5dGVzX0FTX1NUUklORyh2KTsKKyAgICAgICAgKnBsZW4gPSBQeUJ5dGVzX0dFVF9TSVpFKHYpOworICAgICAgICBQeV9JTkNSRUYodik7CisgICAgICAgIHJldHVybiB2OworICAgIH0KKyAgICBpZiAoUHlCeXRlQXJyYXlfQ2hlY2sodikpIHsKKyAgICAgICAgKnBidWYgPSBQeUJ5dGVBcnJheV9BU19TVFJJTkcodik7CisgICAgICAgICpwbGVuID0gUHlCeXRlQXJyYXlfR0VUX1NJWkUodik7CisgICAgICAgIFB5X0lOQ1JFRih2KTsKKyAgICAgICAgcmV0dXJuIHY7CisgICAgfQorICAgIC8qIGRvZXMgaXQgc3VwcG9ydCBfX2J5dGVzX18/ICovCisgICAgZnVuYyA9IF9QeU9iamVjdF9Mb29rdXBTcGVjaWFsKHYsICZQeUlkX19fYnl0ZXNfXyk7CisgICAgaWYgKGZ1bmMgIT0gTlVMTCkgeworICAgICAgICByZXN1bHQgPSBQeU9iamVjdF9DYWxsRnVuY3Rpb25PYmpBcmdzKGZ1bmMsIE5VTEwpOworICAgICAgICBQeV9ERUNSRUYoZnVuYyk7CisgICAgICAgIGlmIChyZXN1bHQgPT0gTlVMTCkKKyAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICBpZiAoIVB5Qnl0ZXNfQ2hlY2socmVzdWx0KSkgeworICAgICAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX1R5cGVFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAiX19ieXRlc19fIHJldHVybmVkIG5vbi1ieXRlcyAodHlwZSAlLjIwMHMpIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICBQeV9UWVBFKHJlc3VsdCktPnRwX25hbWUpOworICAgICAgICAgICAgUHlfREVDUkVGKHJlc3VsdCk7CisgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgfQorICAgICAgICAqcGJ1ZiA9IFB5Qnl0ZXNfQVNfU1RSSU5HKHJlc3VsdCk7CisgICAgICAgICpwbGVuID0gUHlCeXRlc19HRVRfU0laRShyZXN1bHQpOworICAgICAgICByZXR1cm4gcmVzdWx0OworICAgIH0KKyAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVHlwZUVycm9yLAorICAgICAgICAgICAgICAgICAiJSViIHJlcXVpcmVzIGJ5dGVzLCBvciBhbiBvYmplY3QgdGhhdCBpbXBsZW1lbnRzIF9fYnl0ZXNfXywgbm90ICclLjEwMHMnIiwKKyAgICAgICAgICAgICAgICAgUHlfVFlQRSh2KS0+dHBfbmFtZSk7CisgICAgcmV0dXJuIE5VTEw7Cit9CisKKy8qIGZtdCUodjEsdjIsLi4uKSBpcyByb3VnaGx5IGVxdWl2YWxlbnQgdG8gc3ByaW50ZihmbXQsIHYxLCB2MiwgLi4uKQorCisgICBGT1JNQVRCVUZMRU4gaXMgdGhlIGxlbmd0aCBvZiB0aGUgYnVmZmVyIGluIHdoaWNoIHRoZSBpbnRzICYKKyAgIGNoYXJzIGFyZSBmb3JtYXR0ZWQuIFhYWCBUaGlzIGlzIGEgbWFnaWMgbnVtYmVyLiBFYWNoIGZvcm1hdHRpbmcKKyAgIHJvdXRpbmUgZG9lcyBib3VuZHMgY2hlY2tpbmcgdG8gZW5zdXJlIG5vIG92ZXJmbG93LCBidXQgYSBiZXR0ZXIKKyAgIHNvbHV0aW9uIG1heSBiZSB0byBtYWxsb2MgYSBidWZmZXIgb2YgYXBwcm9wcmlhdGUgc2l6ZSBmb3IgZWFjaAorICAgZm9ybWF0LiBGb3Igbm93LCB0aGUgY3VycmVudCBzb2x1dGlvbiBpcyBzdWZmaWNpZW50LgorKi8KKyNkZWZpbmUgRk9STUFUQlVGTEVOIChzaXplX3QpMTIwCisKK1B5T2JqZWN0ICoKK19QeUJ5dGVzX0Zvcm1hdChQeU9iamVjdCAqZm9ybWF0LCBQeU9iamVjdCAqYXJncykKK3sKKyAgICBjaGFyICpmbXQsICpyZXM7CisgICAgUHlfc3NpemVfdCBhcmdsZW4sIGFyZ2lkeDsKKyAgICBQeV9zc2l6ZV90IHJlc2xlbiwgcmVzY250LCBmbXRjbnQ7CisgICAgaW50IGFyZ3Nfb3duZWQgPSAwOworICAgIFB5T2JqZWN0ICpyZXN1bHQ7CisgICAgUHlPYmplY3QgKmRpY3QgPSBOVUxMOworICAgIGlmIChmb3JtYXQgPT0gTlVMTCB8fCAhUHlCeXRlc19DaGVjayhmb3JtYXQpIHx8IGFyZ3MgPT0gTlVMTCkgeworICAgICAgICBQeUVycl9CYWRJbnRlcm5hbENhbGwoKTsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorICAgIGZtdCA9IFB5Qnl0ZXNfQVNfU1RSSU5HKGZvcm1hdCk7CisgICAgZm10Y250ID0gUHlCeXRlc19HRVRfU0laRShmb3JtYXQpOworICAgIHJlc2xlbiA9IHJlc2NudCA9IGZtdGNudCArIDEwMDsKKyAgICByZXN1bHQgPSBQeUJ5dGVzX0Zyb21TdHJpbmdBbmRTaXplKChjaGFyICopTlVMTCwgcmVzbGVuKTsKKyAgICBpZiAocmVzdWx0ID09IE5VTEwpCisgICAgICAgIHJldHVybiBOVUxMOworICAgIHJlcyA9IFB5Qnl0ZXNfQXNTdHJpbmcocmVzdWx0KTsKKyAgICBpZiAoUHlUdXBsZV9DaGVjayhhcmdzKSkgeworICAgICAgICBhcmdsZW4gPSBQeVR1cGxlX0dFVF9TSVpFKGFyZ3MpOworICAgICAgICBhcmdpZHggPSAwOworICAgIH0KKyAgICBlbHNlIHsKKyAgICAgICAgYXJnbGVuID0gLTE7CisgICAgICAgIGFyZ2lkeCA9IC0yOworICAgIH0KKyAgICBpZiAoUHlfVFlQRShhcmdzKS0+dHBfYXNfbWFwcGluZyAmJiBQeV9UWVBFKGFyZ3MpLT50cF9hc19tYXBwaW5nLT5tcF9zdWJzY3JpcHQgJiYKKyAgICAgICAgIVB5VHVwbGVfQ2hlY2soYXJncykgJiYgIVB5Qnl0ZXNfQ2hlY2soYXJncykgJiYgIVB5VW5pY29kZV9DaGVjayhhcmdzKSAmJgorICAgICAgICAhUHlCeXRlQXJyYXlfQ2hlY2soYXJncykpIHsKKyAgICAgICAgICAgIGRpY3QgPSBhcmdzOworICAgIH0KKyAgICB3aGlsZSAoLS1mbXRjbnQgPj0gMCkgeworICAgICAgICBpZiAoKmZtdCAhPSAnJScpIHsKKyAgICAgICAgICAgIGlmICgtLXJlc2NudCA8IDApIHsKKyAgICAgICAgICAgICAgICByZXNjbnQgPSBmbXRjbnQgKyAxMDA7CisgICAgICAgICAgICAgICAgcmVzbGVuICs9IHJlc2NudDsKKyAgICAgICAgICAgICAgICBpZiAoX1B5Qnl0ZXNfUmVzaXplKCZyZXN1bHQsIHJlc2xlbikpCisgICAgICAgICAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICAgICAgICAgIHJlcyA9IFB5Qnl0ZXNfQVNfU1RSSU5HKHJlc3VsdCkKKyAgICAgICAgICAgICAgICAgICAgKyByZXNsZW4gLSByZXNjbnQ7CisgICAgICAgICAgICAgICAgLS1yZXNjbnQ7CisgICAgICAgICAgICB9CisgICAgICAgICAgICAqcmVzKysgPSAqZm10Kys7CisgICAgICAgIH0KKyAgICAgICAgZWxzZSB7CisgICAgICAgICAgICAvKiBHb3QgYSBmb3JtYXQgc3BlY2lmaWVyICovCisgICAgICAgICAgICBpbnQgZmxhZ3MgPSAwOworICAgICAgICAgICAgUHlfc3NpemVfdCB3aWR0aCA9IC0xOworICAgICAgICAgICAgaW50IHByZWMgPSAtMTsKKyAgICAgICAgICAgIGludCBjID0gJ1wwJzsKKyAgICAgICAgICAgIGludCBmaWxsOworICAgICAgICAgICAgUHlPYmplY3QgKmlvYmo7CisgICAgICAgICAgICBQeU9iamVjdCAqdiA9IE5VTEw7CisgICAgICAgICAgICBQeU9iamVjdCAqdGVtcCA9IE5VTEw7CisgICAgICAgICAgICBjb25zdCBjaGFyICpwYnVmID0gTlVMTDsKKyAgICAgICAgICAgIGludCBzaWduOworICAgICAgICAgICAgUHlfc3NpemVfdCBsZW4gPSAwOworICAgICAgICAgICAgY2hhciBvbmVjaGFyOyAvKiBGb3IgYnl0ZV9jb252ZXJ0ZXIoKSAqLworCisgICAgICAgICAgICBmbXQrKzsKKyAgICAgICAgICAgIGlmICgqZm10ID09ICcoJykgeworICAgICAgICAgICAgICAgIGNoYXIgKmtleXN0YXJ0OworICAgICAgICAgICAgICAgIFB5X3NzaXplX3Qga2V5bGVuOworICAgICAgICAgICAgICAgIFB5T2JqZWN0ICprZXk7CisgICAgICAgICAgICAgICAgaW50IHBjb3VudCA9IDE7CisKKyAgICAgICAgICAgICAgICBpZiAoZGljdCA9PSBOVUxMKSB7CisgICAgICAgICAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJmb3JtYXQgcmVxdWlyZXMgYSBtYXBwaW5nIik7CisgICAgICAgICAgICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICsrZm10OworICAgICAgICAgICAgICAgIC0tZm10Y250OworICAgICAgICAgICAgICAgIGtleXN0YXJ0ID0gZm10OworICAgICAgICAgICAgICAgIC8qIFNraXAgb3ZlciBiYWxhbmNlZCBwYXJlbnRoZXNlcyAqLworICAgICAgICAgICAgICAgIHdoaWxlIChwY291bnQgPiAwICYmIC0tZm10Y250ID49IDApIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKCpmbXQgPT0gJyknKQorICAgICAgICAgICAgICAgICAgICAgICAgLS1wY291bnQ7CisgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKCpmbXQgPT0gJygnKQorICAgICAgICAgICAgICAgICAgICAgICAgKytwY291bnQ7CisgICAgICAgICAgICAgICAgICAgIGZtdCsrOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBrZXlsZW4gPSBmbXQgLSBrZXlzdGFydCAtIDE7CisgICAgICAgICAgICAgICAgaWYgKGZtdGNudCA8IDAgfHwgcGNvdW50ID4gMCkgeworICAgICAgICAgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVmFsdWVFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaW5jb21wbGV0ZSBmb3JtYXQga2V5Iik7CisgICAgICAgICAgICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGtleSA9IFB5Qnl0ZXNfRnJvbVN0cmluZ0FuZFNpemUoa2V5c3RhcnQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5bGVuKTsKKyAgICAgICAgICAgICAgICBpZiAoa2V5ID09IE5VTEwpCisgICAgICAgICAgICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAgICAgICAgICAgICAgaWYgKGFyZ3Nfb3duZWQpIHsKKyAgICAgICAgICAgICAgICAgICAgUHlfREVDUkVGKGFyZ3MpOworICAgICAgICAgICAgICAgICAgICBhcmdzX293bmVkID0gMDsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgYXJncyA9IFB5T2JqZWN0X0dldEl0ZW0oZGljdCwga2V5KTsKKyAgICAgICAgICAgICAgICBQeV9ERUNSRUYoa2V5KTsKKyAgICAgICAgICAgICAgICBpZiAoYXJncyA9PSBOVUxMKSB7CisgICAgICAgICAgICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGFyZ3Nfb3duZWQgPSAxOworICAgICAgICAgICAgICAgIGFyZ2xlbiA9IC0xOworICAgICAgICAgICAgICAgIGFyZ2lkeCA9IC0yOworICAgICAgICAgICAgfQorICAgICAgICAgICAgd2hpbGUgKC0tZm10Y250ID49IDApIHsKKyAgICAgICAgICAgICAgICBzd2l0Y2ggKGMgPSAqZm10KyspIHsKKyAgICAgICAgICAgICAgICBjYXNlICctJzogZmxhZ3MgfD0gRl9MSlVTVDsgY29udGludWU7CisgICAgICAgICAgICAgICAgY2FzZSAnKyc6IGZsYWdzIHw9IEZfU0lHTjsgY29udGludWU7CisgICAgICAgICAgICAgICAgY2FzZSAnICc6IGZsYWdzIHw9IEZfQkxBTks7IGNvbnRpbnVlOworICAgICAgICAgICAgICAgIGNhc2UgJyMnOiBmbGFncyB8PSBGX0FMVDsgY29udGludWU7CisgICAgICAgICAgICAgICAgY2FzZSAnMCc6IGZsYWdzIHw9IEZfWkVSTzsgY29udGludWU7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgfQorICAgICAgICAgICAgaWYgKGMgPT0gJyonKSB7CisgICAgICAgICAgICAgICAgdiA9IGdldG5leHRhcmcoYXJncywgYXJnbGVuLCAmYXJnaWR4KTsKKyAgICAgICAgICAgICAgICBpZiAodiA9PSBOVUxMKQorICAgICAgICAgICAgICAgICAgICBnb3RvIGVycm9yOworICAgICAgICAgICAgICAgIGlmICghUHlMb25nX0NoZWNrKHYpKSB7CisgICAgICAgICAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiKiB3YW50cyBpbnQiKTsKKyAgICAgICAgICAgICAgICAgICAgZ290byBlcnJvcjsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgd2lkdGggPSBQeUxvbmdfQXNTc2l6ZV90KHYpOworICAgICAgICAgICAgICAgIGlmICh3aWR0aCA9PSAtMSAmJiBQeUVycl9PY2N1cnJlZCgpKQorICAgICAgICAgICAgICAgICAgICBnb3RvIGVycm9yOworICAgICAgICAgICAgICAgIGlmICh3aWR0aCA8IDApIHsKKyAgICAgICAgICAgICAgICAgICAgZmxhZ3MgfD0gRl9MSlVTVDsKKyAgICAgICAgICAgICAgICAgICAgd2lkdGggPSAtd2lkdGg7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGlmICgtLWZtdGNudCA+PSAwKQorICAgICAgICAgICAgICAgICAgICBjID0gKmZtdCsrOworICAgICAgICAgICAgfQorICAgICAgICAgICAgZWxzZSBpZiAoYyA+PSAwICYmIGlzZGlnaXQoYykpIHsKKyAgICAgICAgICAgICAgICB3aWR0aCA9IGMgLSAnMCc7CisgICAgICAgICAgICAgICAgd2hpbGUgKC0tZm10Y250ID49IDApIHsKKyAgICAgICAgICAgICAgICAgICAgYyA9IFB5X0NIQVJNQVNLKCpmbXQrKyk7CisgICAgICAgICAgICAgICAgICAgIGlmICghaXNkaWdpdChjKSkKKyAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgICAgICBpZiAod2lkdGggPiAoUFlfU1NJWkVfVF9NQVggLSAoKGludCljIC0gJzAnKSkgLyAxMCkgeworICAgICAgICAgICAgICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5RXhjX1ZhbHVlRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIndpZHRoIHRvbyBiaWciKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgd2lkdGggPSB3aWR0aCoxMCArIChjIC0gJzAnKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgICAgICBpZiAoYyA9PSAnLicpIHsKKyAgICAgICAgICAgICAgICBwcmVjID0gMDsKKyAgICAgICAgICAgICAgICBpZiAoLS1mbXRjbnQgPj0gMCkKKyAgICAgICAgICAgICAgICAgICAgYyA9ICpmbXQrKzsKKyAgICAgICAgICAgICAgICBpZiAoYyA9PSAnKicpIHsKKyAgICAgICAgICAgICAgICAgICAgdiA9IGdldG5leHRhcmcoYXJncywgYXJnbGVuLCAmYXJnaWR4KTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHYgPT0gTlVMTCkKKyAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAgICAgICAgICAgICAgICAgIGlmICghUHlMb25nX0NoZWNrKHYpKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlFeGNfVHlwZUVycm9yLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICIqIHdhbnRzIGludCIpOworICAgICAgICAgICAgICAgICAgICAgICAgZ290byBlcnJvcjsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICBwcmVjID0gX1B5TG9uZ19Bc0ludCh2KTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHByZWMgPT0gLTEgJiYgUHlFcnJfT2NjdXJyZWQoKSkKKyAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAgICAgICAgICAgICAgICAgIGlmIChwcmVjIDwgMCkKKyAgICAgICAgICAgICAgICAgICAgICAgIHByZWMgPSAwOworICAgICAgICAgICAgICAgICAgICBpZiAoLS1mbXRjbnQgPj0gMCkKKyAgICAgICAgICAgICAgICAgICAgICAgIGMgPSAqZm10Kys7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGVsc2UgaWYgKGMgPj0gMCAmJiBpc2RpZ2l0KGMpKSB7CisgICAgICAgICAgICAgICAgICAgIHByZWMgPSBjIC0gJzAnOworICAgICAgICAgICAgICAgICAgICB3aGlsZSAoLS1mbXRjbnQgPj0gMCkgeworICAgICAgICAgICAgICAgICAgICAgICAgYyA9IFB5X0NIQVJNQVNLKCpmbXQrKyk7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWlzZGlnaXQoYykpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAocHJlYyA+IChJTlRfTUFYIC0gKChpbnQpYyAtICcwJykpIC8gMTApIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5RXhjX1ZhbHVlRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwcmVjIHRvbyBiaWciKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIGVycm9yOworICAgICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICAgICAgcHJlYyA9IHByZWMqMTAgKyAoYyAtICcwJyk7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9IC8qIHByZWMgKi8KKyAgICAgICAgICAgIGlmIChmbXRjbnQgPj0gMCkgeworICAgICAgICAgICAgICAgIGlmIChjID09ICdoJyB8fCBjID09ICdsJyB8fCBjID09ICdMJykgeworICAgICAgICAgICAgICAgICAgICBpZiAoLS1mbXRjbnQgPj0gMCkKKyAgICAgICAgICAgICAgICAgICAgICAgIGMgPSAqZm10Kys7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICAgICAgaWYgKGZtdGNudCA8IDApIHsKKyAgICAgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVmFsdWVFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImluY29tcGxldGUgZm9ybWF0Iik7CisgICAgICAgICAgICAgICAgZ290byBlcnJvcjsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGlmIChjICE9ICclJykgeworICAgICAgICAgICAgICAgIHYgPSBnZXRuZXh0YXJnKGFyZ3MsIGFyZ2xlbiwgJmFyZ2lkeCk7CisgICAgICAgICAgICAgICAgaWYgKHYgPT0gTlVMTCkKKyAgICAgICAgICAgICAgICAgICAgZ290byBlcnJvcjsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIHNpZ24gPSAwOworICAgICAgICAgICAgZmlsbCA9ICcgJzsKKyAgICAgICAgICAgIHN3aXRjaCAoYykgeworICAgICAgICAgICAgY2FzZSAnJSc6CisgICAgICAgICAgICAgICAgcGJ1ZiA9ICIlIjsKKyAgICAgICAgICAgICAgICBsZW4gPSAxOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgY2FzZSAnYSc6CisgICAgICAgICAgICAgICAgdGVtcCA9IFB5T2JqZWN0X0FTQ0lJKHYpOworICAgICAgICAgICAgICAgIGlmICh0ZW1wID09IE5VTEwpCisgICAgICAgICAgICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAgICAgICAgICAgICAgYXNzZXJ0KFB5VW5pY29kZV9JU19BU0NJSSh0ZW1wKSk7CisgICAgICAgICAgICAgICAgcGJ1ZiA9IChjb25zdCBjaGFyICopUHlVbmljb2RlXzFCWVRFX0RBVEEodGVtcCk7CisgICAgICAgICAgICAgICAgbGVuID0gUHlVbmljb2RlX0dFVF9MRU5HVEgodGVtcCk7CisgICAgICAgICAgICAgICAgaWYgKHByZWMgPj0gMCAmJiBsZW4gPiBwcmVjKQorICAgICAgICAgICAgICAgICAgICBsZW4gPSBwcmVjOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgY2FzZSAncyc6CisgICAgICAgICAgICAgICAgLy8gJXMgaXMgb25seSBmb3IgMi8zIGNvZGU7IDMgb25seSBjb2RlIHNob3VsZCB1c2UgJWIKKyAgICAgICAgICAgIGNhc2UgJ2InOgorICAgICAgICAgICAgICAgIHRlbXAgPSBmb3JtYXRfb2JqKHYsICZwYnVmLCAmbGVuKTsKKyAgICAgICAgICAgICAgICBpZiAodGVtcCA9PSBOVUxMKQorICAgICAgICAgICAgICAgICAgICBnb3RvIGVycm9yOworICAgICAgICAgICAgICAgIGlmIChwcmVjID49IDAgJiYgbGVuID4gcHJlYykKKyAgICAgICAgICAgICAgICAgICAgbGVuID0gcHJlYzsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGNhc2UgJ2knOgorICAgICAgICAgICAgY2FzZSAnZCc6CisgICAgICAgICAgICBjYXNlICd1JzoKKyAgICAgICAgICAgIGNhc2UgJ28nOgorICAgICAgICAgICAgY2FzZSAneCc6CisgICAgICAgICAgICBjYXNlICdYJzoKKyAgICAgICAgICAgICAgICBpZiAoYyA9PSAnaScpCisgICAgICAgICAgICAgICAgICAgIGMgPSAnZCc7CisgICAgICAgICAgICAgICAgaW9iaiA9IE5VTEw7CisgICAgICAgICAgICAgICAgaWYgKFB5TnVtYmVyX0NoZWNrKHYpKSB7CisgICAgICAgICAgICAgICAgICAgIGlmICgoUHlMb25nX0NoZWNrKHYpKSkgeworICAgICAgICAgICAgICAgICAgICAgICAgaW9iaiA9IHY7CisgICAgICAgICAgICAgICAgICAgICAgICBQeV9JTkNSRUYoaW9iaik7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgZWxzZSB7CisgICAgICAgICAgICAgICAgICAgICAgICBpb2JqID0gUHlOdW1iZXJfTG9uZyh2KTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpb2JqICE9IE5VTEwgJiYgIVB5TG9uZ19DaGVjayhpb2JqKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeV9DTEVBUihpb2JqKTsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBpZiAoaW9iaiA9PSBOVUxMKSB7CisgICAgICAgICAgICAgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19UeXBlRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAiJSUlYyBmb3JtYXQ6IGEgbnVtYmVyIGlzIHJlcXVpcmVkLCAiCisgICAgICAgICAgICAgICAgICAgICAgICAibm90ICUuMjAwcyIsIGMsIFB5X1RZUEUodiktPnRwX25hbWUpOworICAgICAgICAgICAgICAgICAgICBnb3RvIGVycm9yOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB0ZW1wID0gX1B5VW5pY29kZV9Gb3JtYXRMb25nKGlvYmosIGZsYWdzICYgRl9BTFQsIHByZWMsIGMpOworICAgICAgICAgICAgICAgIFB5X0RFQ1JFRihpb2JqKTsKKyAgICAgICAgICAgICAgICBpZiAoIXRlbXApCisgICAgICAgICAgICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAgICAgICAgICAgICAgYXNzZXJ0KFB5VW5pY29kZV9JU19BU0NJSSh0ZW1wKSk7CisgICAgICAgICAgICAgICAgcGJ1ZiA9IChjb25zdCBjaGFyICopUHlVbmljb2RlXzFCWVRFX0RBVEEodGVtcCk7CisgICAgICAgICAgICAgICAgbGVuID0gUHlVbmljb2RlX0dFVF9MRU5HVEgodGVtcCk7CisgICAgICAgICAgICAgICAgc2lnbiA9IDE7CisgICAgICAgICAgICAgICAgaWYgKGZsYWdzICYgRl9aRVJPKQorICAgICAgICAgICAgICAgICAgICBmaWxsID0gJzAnOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgY2FzZSAnZSc6CisgICAgICAgICAgICBjYXNlICdFJzoKKyAgICAgICAgICAgIGNhc2UgJ2YnOgorICAgICAgICAgICAgY2FzZSAnRic6CisgICAgICAgICAgICBjYXNlICdnJzoKKyAgICAgICAgICAgIGNhc2UgJ0cnOgorICAgICAgICAgICAgICAgIHRlbXAgPSBmb3JtYXRmbG9hdCh2LCBmbGFncywgcHJlYywgYyk7CisgICAgICAgICAgICAgICAgaWYgKHRlbXAgPT0gTlVMTCkKKyAgICAgICAgICAgICAgICAgICAgZ290byBlcnJvcjsKKyAgICAgICAgICAgICAgICBwYnVmID0gUHlCeXRlc19BU19TVFJJTkcodGVtcCk7CisgICAgICAgICAgICAgICAgbGVuID0gUHlCeXRlc19HRVRfU0laRSh0ZW1wKTsKKyAgICAgICAgICAgICAgICBzaWduID0gMTsKKyAgICAgICAgICAgICAgICBpZiAoZmxhZ3MgJiBGX1pFUk8pCisgICAgICAgICAgICAgICAgICAgIGZpbGwgPSAnMCc7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBjYXNlICdjJzoKKyAgICAgICAgICAgICAgICBwYnVmID0gJm9uZWNoYXI7CisgICAgICAgICAgICAgICAgbGVuID0gYnl0ZV9jb252ZXJ0ZXIodiwgJm9uZWNoYXIpOworICAgICAgICAgICAgICAgIGlmICghbGVuKQorICAgICAgICAgICAgICAgICAgICBnb3RvIGVycm9yOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVmFsdWVFcnJvciwKKyAgICAgICAgICAgICAgICAgICJ1bnN1cHBvcnRlZCBmb3JtYXQgY2hhcmFjdGVyICclYycgKDB4JXgpICIKKyAgICAgICAgICAgICAgICAgICJhdCBpbmRleCAlemQiLAorICAgICAgICAgICAgICAgICAgYywgYywKKyAgICAgICAgICAgICAgICAgIChQeV9zc2l6ZV90KShmbXQgLSAxIC0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeUJ5dGVzX0FzU3RyaW5nKGZvcm1hdCkpKTsKKyAgICAgICAgICAgICAgICBnb3RvIGVycm9yOworICAgICAgICAgICAgfQorICAgICAgICAgICAgaWYgKHNpZ24pIHsKKyAgICAgICAgICAgICAgICBpZiAoKnBidWYgPT0gJy0nIHx8ICpwYnVmID09ICcrJykgeworICAgICAgICAgICAgICAgICAgICBzaWduID0gKnBidWYrKzsKKyAgICAgICAgICAgICAgICAgICAgbGVuLS07CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGVsc2UgaWYgKGZsYWdzICYgRl9TSUdOKQorICAgICAgICAgICAgICAgICAgICBzaWduID0gJysnOworICAgICAgICAgICAgICAgIGVsc2UgaWYgKGZsYWdzICYgRl9CTEFOSykKKyAgICAgICAgICAgICAgICAgICAgc2lnbiA9ICcgJzsKKyAgICAgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgICAgIHNpZ24gPSAwOworICAgICAgICAgICAgfQorICAgICAgICAgICAgaWYgKHdpZHRoIDwgbGVuKQorICAgICAgICAgICAgICAgIHdpZHRoID0gbGVuOworICAgICAgICAgICAgaWYgKHJlc2NudCAtIChzaWduICE9IDApIDwgd2lkdGgpIHsKKyAgICAgICAgICAgICAgICByZXNsZW4gLT0gcmVzY250OworICAgICAgICAgICAgICAgIHJlc2NudCA9IHdpZHRoICsgZm10Y250ICsgMTAwOworICAgICAgICAgICAgICAgIHJlc2xlbiArPSByZXNjbnQ7CisgICAgICAgICAgICAgICAgaWYgKHJlc2xlbiA8IDApIHsKKyAgICAgICAgICAgICAgICAgICAgUHlfREVDUkVGKHJlc3VsdCk7CisgICAgICAgICAgICAgICAgICAgIFB5X1hERUNSRUYodGVtcCk7CisgICAgICAgICAgICAgICAgICAgIHJldHVybiBQeUVycl9Ob01lbW9yeSgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBpZiAoX1B5Qnl0ZXNfUmVzaXplKCZyZXN1bHQsIHJlc2xlbikpIHsKKyAgICAgICAgICAgICAgICAgICAgUHlfWERFQ1JFRih0ZW1wKTsKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIHJlcyA9IFB5Qnl0ZXNfQVNfU1RSSU5HKHJlc3VsdCkKKyAgICAgICAgICAgICAgICAgICAgKyByZXNsZW4gLSByZXNjbnQ7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBpZiAoc2lnbikgeworICAgICAgICAgICAgICAgIGlmIChmaWxsICE9ICcgJykKKyAgICAgICAgICAgICAgICAgICAgKnJlcysrID0gc2lnbjsKKyAgICAgICAgICAgICAgICByZXNjbnQtLTsKKyAgICAgICAgICAgICAgICBpZiAod2lkdGggPiBsZW4pCisgICAgICAgICAgICAgICAgICAgIHdpZHRoLS07CisgICAgICAgICAgICB9CisgICAgICAgICAgICBpZiAoKGZsYWdzICYgRl9BTFQpICYmIChjID09ICd4JyB8fCBjID09ICdYJykpIHsKKyAgICAgICAgICAgICAgICBhc3NlcnQocGJ1ZlswXSA9PSAnMCcpOworICAgICAgICAgICAgICAgIGFzc2VydChwYnVmWzFdID09IGMpOworICAgICAgICAgICAgICAgIGlmIChmaWxsICE9ICcgJykgeworICAgICAgICAgICAgICAgICAgICAqcmVzKysgPSAqcGJ1ZisrOworICAgICAgICAgICAgICAgICAgICAqcmVzKysgPSAqcGJ1ZisrOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICByZXNjbnQgLT0gMjsKKyAgICAgICAgICAgICAgICB3aWR0aCAtPSAyOworICAgICAgICAgICAgICAgIGlmICh3aWR0aCA8IDApCisgICAgICAgICAgICAgICAgICAgIHdpZHRoID0gMDsKKyAgICAgICAgICAgICAgICBsZW4gLT0gMjsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGlmICh3aWR0aCA+IGxlbiAmJiAhKGZsYWdzICYgRl9MSlVTVCkpIHsKKyAgICAgICAgICAgICAgICBkbyB7CisgICAgICAgICAgICAgICAgICAgIC0tcmVzY250OworICAgICAgICAgICAgICAgICAgICAqcmVzKysgPSBmaWxsOworICAgICAgICAgICAgICAgIH0gd2hpbGUgKC0td2lkdGggPiBsZW4pOworICAgICAgICAgICAgfQorICAgICAgICAgICAgaWYgKGZpbGwgPT0gJyAnKSB7CisgICAgICAgICAgICAgICAgaWYgKHNpZ24pCisgICAgICAgICAgICAgICAgICAgICpyZXMrKyA9IHNpZ247CisgICAgICAgICAgICAgICAgaWYgKChmbGFncyAmIEZfQUxUKSAmJgorICAgICAgICAgICAgICAgICAgICAoYyA9PSAneCcgfHwgYyA9PSAnWCcpKSB7CisgICAgICAgICAgICAgICAgICAgIGFzc2VydChwYnVmWzBdID09ICcwJyk7CisgICAgICAgICAgICAgICAgICAgIGFzc2VydChwYnVmWzFdID09IGMpOworICAgICAgICAgICAgICAgICAgICAqcmVzKysgPSAqcGJ1ZisrOworICAgICAgICAgICAgICAgICAgICAqcmVzKysgPSAqcGJ1ZisrOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIFB5X01FTUNQWShyZXMsIHBidWYsIGxlbik7CisgICAgICAgICAgICByZXMgKz0gbGVuOworICAgICAgICAgICAgcmVzY250IC09IGxlbjsKKyAgICAgICAgICAgIHdoaWxlICgtLXdpZHRoID49IGxlbikgeworICAgICAgICAgICAgICAgIC0tcmVzY250OworICAgICAgICAgICAgICAgICpyZXMrKyA9ICcgJzsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGlmIChkaWN0ICYmIChhcmdpZHggPCBhcmdsZW4pICYmIGMgIT0gJyUnKSB7CisgICAgICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJub3QgYWxsIGFyZ3VtZW50cyBjb252ZXJ0ZWQgZHVyaW5nIGJ5dGVzIGZvcm1hdHRpbmciKTsKKyAgICAgICAgICAgICAgICBQeV9YREVDUkVGKHRlbXApOworICAgICAgICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBQeV9YREVDUkVGKHRlbXApOworICAgICAgICB9IC8qICclJyAqLworICAgIH0gLyogdW50aWwgZW5kICovCisgICAgaWYgKGFyZ2lkeCA8IGFyZ2xlbiAmJiAhZGljdCkgeworICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLAorICAgICAgICAgICAgICAgICAgICAgICAgIm5vdCBhbGwgYXJndW1lbnRzIGNvbnZlcnRlZCBkdXJpbmcgYnl0ZXMgZm9ybWF0dGluZyIpOworICAgICAgICBnb3RvIGVycm9yOworICAgIH0KKyAgICBpZiAoYXJnc19vd25lZCkgeworICAgICAgICBQeV9ERUNSRUYoYXJncyk7CisgICAgfQorICAgIGlmIChfUHlCeXRlc19SZXNpemUoJnJlc3VsdCwgcmVzbGVuIC0gcmVzY250KSkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgcmV0dXJuIHJlc3VsdDsKKworIGVycm9yOgorICAgIFB5X0RFQ1JFRihyZXN1bHQpOworICAgIGlmIChhcmdzX293bmVkKSB7CisgICAgICAgIFB5X0RFQ1JFRihhcmdzKTsKKyAgICB9CisgICAgcmV0dXJuIE5VTEw7Cit9CisKKy8qID0tPSAqLworCiBzdGF0aWMgdm9pZAogYnl0ZXNfZGVhbGxvYyhQeU9iamVjdCAqb3ApCiB7CkBAIC01NDAsOCArMTEwNCw4IEBACiAgICAgaWYgKGxlbiAhPSBOVUxMKQogICAgICAgICAqbGVuID0gUHlCeXRlc19HRVRfU0laRShvYmopOwogICAgIGVsc2UgaWYgKHN0cmxlbigqcykgIT0gKHNpemVfdClQeUJ5dGVzX0dFVF9TSVpFKG9iaikpIHsKLSAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwKLSAgICAgICAgICAgICAgICAgICAgICAgICJleHBlY3RlZCBieXRlcyB3aXRoIG5vIG51bGwiKTsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAiZW1iZWRkZWQgbnVsbCBieXRlIik7CiAgICAgICAgIHJldHVybiAtMTsKICAgICB9CiAgICAgcmV0dXJuIDA7CkBAIC05NTEsNyArMTUxNSw3IEBACiAgICAgfQogICAgIGVsc2UgewogICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVHlwZUVycm9yLAotICAgICAgICAgICAgICAgICAgICAgImJ5dGUgaW5kaWNlcyBtdXN0IGJlIGludGVnZXJzLCBub3QgJS4yMDBzIiwKKyAgICAgICAgICAgICAgICAgICAgICJieXRlIGluZGljZXMgbXVzdCBiZSBpbnRlZ2VycyBvciBzbGljZXMsIG5vdCAlLjIwMHMiLAogICAgICAgICAgICAgICAgICAgICAgUHlfVFlQRShpdGVtKS0+dHBfbmFtZSk7CiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KQEAgLTk5MSwzNyArMTU1NSw3MiBAQAogI2RlZmluZSBSSUdIVFNUUklQIDEKICNkZWZpbmUgQk9USFNUUklQIDIKIAotLyogQXJyYXlzIGluZGV4ZWQgYnkgYWJvdmUgKi8KLXN0YXRpYyBjb25zdCBjaGFyICpzdHJpcGZvcm1hdFtdID0geyJ8Tzpsc3RyaXAiLCAifE86cnN0cmlwIiwgInxPOnN0cmlwIn07CisvKltjbGluaWMgaW5wdXRdCitieXRlcy5zcGxpdAogCi0jZGVmaW5lIFNUUklQTkFNRShpKSAoc3RyaXBmb3JtYXRbaV0rMykKKyAgICBzZXA6IG9iamVjdCA9IE5vbmUKKyAgICAgICAgVGhlIGRlbGltaXRlciBhY2NvcmRpbmcgd2hpY2ggdG8gc3BsaXQgdGhlIGJ5dGVzLgorICAgICAgICBOb25lICh0aGUgZGVmYXVsdCB2YWx1ZSkgbWVhbnMgc3BsaXQgb24gQVNDSUkgd2hpdGVzcGFjZSBjaGFyYWN0ZXJzCisgICAgICAgIChzcGFjZSwgdGFiLCByZXR1cm4sIG5ld2xpbmUsIGZvcm1mZWVkLCB2ZXJ0aWNhbCB0YWIpLgorICAgIG1heHNwbGl0OiBQeV9zc2l6ZV90ID0gLTEKKyAgICAgICAgTWF4aW11bSBudW1iZXIgb2Ygc3BsaXRzIHRvIGRvLgorICAgICAgICAtMSAodGhlIGRlZmF1bHQgdmFsdWUpIG1lYW5zIG5vIGxpbWl0LgogCi1QeURvY19TVFJWQVIoc3BsaXRfX2RvY19fLAotIkIuc3BsaXQoc2VwPU5vbmUsIG1heHNwbGl0PS0xKSAtPiBsaXN0IG9mIGJ5dGVzXG5cCi1cblwKLVJldHVybiBhIGxpc3Qgb2YgdGhlIHNlY3Rpb25zIGluIEIsIHVzaW5nIHNlcCBhcyB0aGUgZGVsaW1pdGVyLlxuXAotSWYgc2VwIGlzIG5vdCBzcGVjaWZpZWQgb3IgaXMgTm9uZSwgQiBpcyBzcGxpdCBvbiBBU0NJSSB3aGl0ZXNwYWNlXG5cCi1jaGFyYWN0ZXJzIChzcGFjZSwgdGFiLCByZXR1cm4sIG5ld2xpbmUsIGZvcm1mZWVkLCB2ZXJ0aWNhbCB0YWIpLlxuXAotSWYgbWF4c3BsaXQgaXMgZ2l2ZW4sIGF0IG1vc3QgbWF4c3BsaXQgc3BsaXRzIGFyZSBkb25lLiIpOworUmV0dXJuIGEgbGlzdCBvZiB0aGUgc2VjdGlvbnMgaW4gdGhlIGJ5dGVzLCB1c2luZyBzZXAgYXMgdGhlIGRlbGltaXRlci4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKGJ5dGVzX3NwbGl0X19kb2NfXywKKyJzcGxpdCgkc2VsZiwgLywgc2VwPU5vbmUsIG1heHNwbGl0PS0xKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJuIGEgbGlzdCBvZiB0aGUgc2VjdGlvbnMgaW4gdGhlIGJ5dGVzLCB1c2luZyBzZXAgYXMgdGhlIGRlbGltaXRlci5cbiIKKyJcbiIKKyIgIHNlcFxuIgorIiAgICBUaGUgZGVsaW1pdGVyIGFjY29yZGluZyB3aGljaCB0byBzcGxpdCB0aGUgYnl0ZXMuXG4iCisiICAgIE5vbmUgKHRoZSBkZWZhdWx0IHZhbHVlKSBtZWFucyBzcGxpdCBvbiBBU0NJSSB3aGl0ZXNwYWNlIGNoYXJhY3RlcnNcbiIKKyIgICAgKHNwYWNlLCB0YWIsIHJldHVybiwgbmV3bGluZSwgZm9ybWZlZWQsIHZlcnRpY2FsIHRhYikuXG4iCisiICBtYXhzcGxpdFxuIgorIiAgICBNYXhpbXVtIG51bWJlciBvZiBzcGxpdHMgdG8gZG8uXG4iCisiICAgIC0xICh0aGUgZGVmYXVsdCB2YWx1ZSkgbWVhbnMgbm8gbGltaXQuIik7CisKKyNkZWZpbmUgQllURVNfU1BMSVRfTUVUSE9EREVGICAgIFwKKyAgICB7InNwbGl0IiwgKFB5Q0Z1bmN0aW9uKWJ5dGVzX3NwbGl0LCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywgYnl0ZXNfc3BsaXRfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLWJ5dGVzX3NwbGl0KFB5Qnl0ZXNPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dkcykKK2J5dGVzX3NwbGl0X2ltcGwoUHlCeXRlc09iamVjdCpzZWxmLCBQeU9iamVjdCAqc2VwLCBQeV9zc2l6ZV90IG1heHNwbGl0KTsKKworc3RhdGljIFB5T2JqZWN0ICoKK2J5dGVzX3NwbGl0KFB5Qnl0ZXNPYmplY3Qqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCiB7Ci0gICAgc3RhdGljIGNoYXIgKmt3bGlzdFtdID0geyJzZXAiLCAibWF4c3BsaXQiLCAwfTsKLSAgICBQeV9zc2l6ZV90IGxlbiA9IFB5Qnl0ZXNfR0VUX1NJWkUoc2VsZiksIG47CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgc3RhdGljIGNoYXIgKl9rZXl3b3Jkc1tdID0geyJzZXAiLCAibWF4c3BsaXQiLCBOVUxMfTsKKyAgICBQeU9iamVjdCAqc2VwID0gUHlfTm9uZTsKICAgICBQeV9zc2l6ZV90IG1heHNwbGl0ID0gLTE7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsCisgICAgICAgICJ8T246c3BsaXQiLCBfa2V5d29yZHMsCisgICAgICAgICZzZXAsICZtYXhzcGxpdCkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBieXRlc19zcGxpdF9pbXBsKHNlbGYsIHNlcCwgbWF4c3BsaXQpOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitieXRlc19zcGxpdF9pbXBsKFB5Qnl0ZXNPYmplY3Qqc2VsZiwgUHlPYmplY3QgKnNlcCwgUHlfc3NpemVfdCBtYXhzcGxpdCkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1jODBhNDdhZmRkNTA1OTc1IGlucHV0PThiODA5YjM5MDc0YWJiZmFdKi8KK3sKKyAgICBQeV9zc2l6ZV90IGxlbiA9IFB5Qnl0ZXNfR0VUX1NJWkUoc2VsZiksIG47CiAgICAgY29uc3QgY2hhciAqcyA9IFB5Qnl0ZXNfQVNfU1RSSU5HKHNlbGYpLCAqc3ViOwogICAgIFB5X2J1ZmZlciB2c3ViOwotICAgIFB5T2JqZWN0ICpsaXN0LCAqc3Vib2JqID0gUHlfTm9uZTsKKyAgICBQeU9iamVjdCAqbGlzdDsKIAotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3ZHMsICJ8T246c3BsaXQiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGt3bGlzdCwgJnN1Ym9iaiwgJm1heHNwbGl0KSkKLSAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgaWYgKG1heHNwbGl0IDwgMCkKICAgICAgICAgbWF4c3BsaXQgPSBQWV9TU0laRV9UX01BWDsKLSAgICBpZiAoc3Vib2JqID09IFB5X05vbmUpCisgICAgaWYgKHNlcCA9PSBQeV9Ob25lKQogICAgICAgICByZXR1cm4gc3RyaW5nbGliX3NwbGl0X3doaXRlc3BhY2UoKFB5T2JqZWN0Kikgc2VsZiwgcywgbGVuLCBtYXhzcGxpdCk7Ci0gICAgaWYgKFB5T2JqZWN0X0dldEJ1ZmZlcihzdWJvYmosICZ2c3ViLCBQeUJVRl9TSU1QTEUpICE9IDApCisgICAgaWYgKFB5T2JqZWN0X0dldEJ1ZmZlcihzZXAsICZ2c3ViLCBQeUJVRl9TSU1QTEUpICE9IDApCiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIHN1YiA9IHZzdWIuYnVmOwogICAgIG4gPSB2c3ViLmxlbjsKQEAgLTEwMzEsODUgKzE2MzAsMjAyIEBACiAgICAgcmV0dXJuIGxpc3Q7CiB9CiAKLVB5RG9jX1NUUlZBUihwYXJ0aXRpb25fX2RvY19fLAotIkIucGFydGl0aW9uKHNlcCkgLT4gKGhlYWQsIHNlcCwgdGFpbClcblwKLVxuXAotU2VhcmNoIGZvciB0aGUgc2VwYXJhdG9yIHNlcCBpbiBCLCBhbmQgcmV0dXJuIHRoZSBwYXJ0IGJlZm9yZSBpdCxcblwKLXRoZSBzZXBhcmF0b3IgaXRzZWxmLCBhbmQgdGhlIHBhcnQgYWZ0ZXIgaXQuICBJZiB0aGUgc2VwYXJhdG9yIGlzIG5vdFxuXAotZm91bmQsIHJldHVybnMgQiBhbmQgdHdvIGVtcHR5IGJ5dGVzIG9iamVjdHMuIik7CisvKltjbGluaWMgaW5wdXRdCitieXRlcy5wYXJ0aXRpb24KKworICAgIHNlbGY6IHNlbGYodHlwZT0iUHlCeXRlc09iamVjdCAqIikKKyAgICBzZXA6IFB5X2J1ZmZlcgorICAgIC8KKworUGFydGl0aW9uIHRoZSBieXRlcyBpbnRvIHRocmVlIHBhcnRzIHVzaW5nIHRoZSBnaXZlbiBzZXBhcmF0b3IuCisKK1RoaXMgd2lsbCBzZWFyY2ggZm9yIHRoZSBzZXBhcmF0b3Igc2VwIGluIHRoZSBieXRlcy4gSWYgdGhlIHNlcGFyYXRvciBpcyBmb3VuZCwKK3JldHVybnMgYSAzLXR1cGxlIGNvbnRhaW5pbmcgdGhlIHBhcnQgYmVmb3JlIHRoZSBzZXBhcmF0b3IsIHRoZSBzZXBhcmF0b3IKK2l0c2VsZiwgYW5kIHRoZSBwYXJ0IGFmdGVyIGl0LgorCitJZiB0aGUgc2VwYXJhdG9yIGlzIG5vdCBmb3VuZCwgcmV0dXJucyBhIDMtdHVwbGUgY29udGFpbmluZyB0aGUgb3JpZ2luYWwgYnl0ZXMKK29iamVjdCBhbmQgdHdvIGVtcHR5IGJ5dGVzIG9iamVjdHMuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihieXRlc19wYXJ0aXRpb25fX2RvY19fLAorInBhcnRpdGlvbigkc2VsZiwgc2VwLCAvKVxuIgorIi0tXG4iCisiXG4iCisiUGFydGl0aW9uIHRoZSBieXRlcyBpbnRvIHRocmVlIHBhcnRzIHVzaW5nIHRoZSBnaXZlbiBzZXBhcmF0b3IuXG4iCisiXG4iCisiVGhpcyB3aWxsIHNlYXJjaCBmb3IgdGhlIHNlcGFyYXRvciBzZXAgaW4gdGhlIGJ5dGVzLiBJZiB0aGUgc2VwYXJhdG9yIGlzIGZvdW5kLFxuIgorInJldHVybnMgYSAzLXR1cGxlIGNvbnRhaW5pbmcgdGhlIHBhcnQgYmVmb3JlIHRoZSBzZXBhcmF0b3IsIHRoZSBzZXBhcmF0b3JcbiIKKyJpdHNlbGYsIGFuZCB0aGUgcGFydCBhZnRlciBpdC5cbiIKKyJcbiIKKyJJZiB0aGUgc2VwYXJhdG9yIGlzIG5vdCBmb3VuZCwgcmV0dXJucyBhIDMtdHVwbGUgY29udGFpbmluZyB0aGUgb3JpZ2luYWwgYnl0ZXNcbiIKKyJvYmplY3QgYW5kIHR3byBlbXB0eSBieXRlcyBvYmplY3RzLiIpOworCisjZGVmaW5lIEJZVEVTX1BBUlRJVElPTl9NRVRIT0RERUYgICAgXAorICAgIHsicGFydGl0aW9uIiwgKFB5Q0Z1bmN0aW9uKWJ5dGVzX3BhcnRpdGlvbiwgTUVUSF9WQVJBUkdTLCBieXRlc19wYXJ0aXRpb25fX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLWJ5dGVzX3BhcnRpdGlvbihQeUJ5dGVzT2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqc2VwX29iaikKK2J5dGVzX3BhcnRpdGlvbl9pbXBsKFB5Qnl0ZXNPYmplY3QgKnNlbGYsIFB5X2J1ZmZlciAqc2VwKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK2J5dGVzX3BhcnRpdGlvbihQeUJ5dGVzT2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKIHsKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKICAgICBQeV9idWZmZXIgc2VwID0ge05VTEwsIE5VTEx9OwotICAgIFB5T2JqZWN0ICpyZXM7CiAKLSAgICBpZiAoUHlPYmplY3RfR2V0QnVmZmVyKHNlcF9vYmosICZzZXAsIFB5QlVGX1NJTVBMRSkgIT0gMCkKLSAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCisgICAgICAgICJ5KjpwYXJ0aXRpb24iLAorICAgICAgICAmc2VwKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IGJ5dGVzX3BhcnRpdGlvbl9pbXBsKHNlbGYsICZzZXApOwogCi0gICAgcmVzID0gc3RyaW5nbGliX3BhcnRpdGlvbigKLSAgICAgICAgKFB5T2JqZWN0Kikgc2VsZiwKLSAgICAgICAgUHlCeXRlc19BU19TVFJJTkcoc2VsZiksIFB5Qnl0ZXNfR0VUX1NJWkUoc2VsZiksCi0gICAgICAgIHNlcF9vYmosIHNlcC5idWYsIHNlcC5sZW4KLSAgICAgICAgKTsKLSAgICBQeUJ1ZmZlcl9SZWxlYXNlKCZzZXApOwotICAgIHJldHVybiByZXM7CitleGl0OgorICAgIC8qIENsZWFudXAgZm9yIHNlcCAqLworICAgIGlmIChzZXAub2JqKQorICAgICAgIFB5QnVmZmVyX1JlbGVhc2UoJnNlcCk7CisKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOwogfQogCi1QeURvY19TVFJWQVIocnBhcnRpdGlvbl9fZG9jX18sCi0iQi5ycGFydGl0aW9uKHNlcCkgLT4gKGhlYWQsIHNlcCwgdGFpbClcblwKLVxuXAotU2VhcmNoIGZvciB0aGUgc2VwYXJhdG9yIHNlcCBpbiBCLCBzdGFydGluZyBhdCB0aGUgZW5kIG9mIEIsXG5cCi1hbmQgcmV0dXJuIHRoZSBwYXJ0IGJlZm9yZSBpdCwgdGhlIHNlcGFyYXRvciBpdHNlbGYsIGFuZCB0aGVcblwKLXBhcnQgYWZ0ZXIgaXQuICBJZiB0aGUgc2VwYXJhdG9yIGlzIG5vdCBmb3VuZCwgcmV0dXJucyB0d28gZW1wdHlcblwKLWJ5dGVzIG9iamVjdHMgYW5kIEIuIik7Ci0KIHN0YXRpYyBQeU9iamVjdCAqCi1ieXRlc19ycGFydGl0aW9uKFB5Qnl0ZXNPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpzZXBfb2JqKQorYnl0ZXNfcGFydGl0aW9uX2ltcGwoUHlCeXRlc09iamVjdCAqc2VsZiwgUHlfYnVmZmVyICpzZXApCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9MzAwNjcyN2NmYmY4M2FhNCBpbnB1dD1iYzg1NWRjNjNjYTk0OWRlXSovCiB7Ci0gICAgUHlfYnVmZmVyIHNlcCA9IHtOVUxMLCBOVUxMfTsKLSAgICBQeU9iamVjdCAqcmVzOwotCi0gICAgaWYgKFB5T2JqZWN0X0dldEJ1ZmZlcihzZXBfb2JqLCAmc2VwLCBQeUJVRl9TSU1QTEUpICE9IDApCi0gICAgICAgIHJldHVybiBOVUxMOwotCi0gICAgcmVzID0gc3RyaW5nbGliX3JwYXJ0aXRpb24oCisgICAgcmV0dXJuIHN0cmluZ2xpYl9wYXJ0aXRpb24oCiAgICAgICAgIChQeU9iamVjdCopIHNlbGYsCiAgICAgICAgIFB5Qnl0ZXNfQVNfU1RSSU5HKHNlbGYpLCBQeUJ5dGVzX0dFVF9TSVpFKHNlbGYpLAotICAgICAgICBzZXBfb2JqLCBzZXAuYnVmLCBzZXAubGVuCisgICAgICAgIHNlcC0+b2JqLCAoY29uc3QgY2hhciAqKXNlcC0+YnVmLCBzZXAtPmxlbgogICAgICAgICApOwotICAgIFB5QnVmZmVyX1JlbGVhc2UoJnNlcCk7Ci0gICAgcmV0dXJuIHJlczsKIH0KIAotUHlEb2NfU1RSVkFSKHJzcGxpdF9fZG9jX18sCi0iQi5yc3BsaXQoc2VwPU5vbmUsIG1heHNwbGl0PS0xKSAtPiBsaXN0IG9mIGJ5dGVzXG5cCi1cblwKLVJldHVybiBhIGxpc3Qgb2YgdGhlIHNlY3Rpb25zIGluIEIsIHVzaW5nIHNlcCBhcyB0aGUgZGVsaW1pdGVyLFxuXAotc3RhcnRpbmcgYXQgdGhlIGVuZCBvZiBCIGFuZCB3b3JraW5nIHRvIHRoZSBmcm9udC5cblwKLUlmIHNlcCBpcyBub3QgZ2l2ZW4sIEIgaXMgc3BsaXQgb24gQVNDSUkgd2hpdGVzcGFjZSBjaGFyYWN0ZXJzXG5cCi0oc3BhY2UsIHRhYiwgcmV0dXJuLCBuZXdsaW5lLCBmb3JtZmVlZCwgdmVydGljYWwgdGFiKS5cblwKLUlmIG1heHNwbGl0IGlzIGdpdmVuLCBhdCBtb3N0IG1heHNwbGl0IHNwbGl0cyBhcmUgZG9uZS4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK2J5dGVzLnJwYXJ0aXRpb24KIAorICAgIHNlbGY6IHNlbGYodHlwZT0iUHlCeXRlc09iamVjdCAqIikKKyAgICBzZXA6IFB5X2J1ZmZlcgorICAgIC8KKworUGFydGl0aW9uIHRoZSBieXRlcyBpbnRvIHRocmVlIHBhcnRzIHVzaW5nIHRoZSBnaXZlbiBzZXBhcmF0b3IuCisKK1RoaXMgd2lsbCBzZWFyY2ggZm9yIHRoZSBzZXBhcmF0b3Igc2VwIGluIHRoZSBieXRlcywgc3RhcnRpbmcgYW5kIHRoZSBlbmQuIElmCit0aGUgc2VwYXJhdG9yIGlzIGZvdW5kLCByZXR1cm5zIGEgMy10dXBsZSBjb250YWluaW5nIHRoZSBwYXJ0IGJlZm9yZSB0aGUKK3NlcGFyYXRvciwgdGhlIHNlcGFyYXRvciBpdHNlbGYsIGFuZCB0aGUgcGFydCBhZnRlciBpdC4KKworSWYgdGhlIHNlcGFyYXRvciBpcyBub3QgZm91bmQsIHJldHVybnMgYSAzLXR1cGxlIGNvbnRhaW5pbmcgdHdvIGVtcHR5IGJ5dGVzCitvYmplY3RzIGFuZCB0aGUgb3JpZ2luYWwgYnl0ZXMgb2JqZWN0LgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIoYnl0ZXNfcnBhcnRpdGlvbl9fZG9jX18sCisicnBhcnRpdGlvbigkc2VsZiwgc2VwLCAvKVxuIgorIi0tXG4iCisiXG4iCisiUGFydGl0aW9uIHRoZSBieXRlcyBpbnRvIHRocmVlIHBhcnRzIHVzaW5nIHRoZSBnaXZlbiBzZXBhcmF0b3IuXG4iCisiXG4iCisiVGhpcyB3aWxsIHNlYXJjaCBmb3IgdGhlIHNlcGFyYXRvciBzZXAgaW4gdGhlIGJ5dGVzLCBzdGFydGluZyBhbmQgdGhlIGVuZC4gSWZcbiIKKyJ0aGUgc2VwYXJhdG9yIGlzIGZvdW5kLCByZXR1cm5zIGEgMy10dXBsZSBjb250YWluaW5nIHRoZSBwYXJ0IGJlZm9yZSB0aGVcbiIKKyJzZXBhcmF0b3IsIHRoZSBzZXBhcmF0b3IgaXRzZWxmLCBhbmQgdGhlIHBhcnQgYWZ0ZXIgaXQuXG4iCisiXG4iCisiSWYgdGhlIHNlcGFyYXRvciBpcyBub3QgZm91bmQsIHJldHVybnMgYSAzLXR1cGxlIGNvbnRhaW5pbmcgdHdvIGVtcHR5IGJ5dGVzXG4iCisib2JqZWN0cyBhbmQgdGhlIG9yaWdpbmFsIGJ5dGVzIG9iamVjdC4iKTsKKworI2RlZmluZSBCWVRFU19SUEFSVElUSU9OX01FVEhPRERFRiAgICBcCisgICAgeyJycGFydGl0aW9uIiwgKFB5Q0Z1bmN0aW9uKWJ5dGVzX3JwYXJ0aXRpb24sIE1FVEhfVkFSQVJHUywgYnl0ZXNfcnBhcnRpdGlvbl9fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotYnl0ZXNfcnNwbGl0KFB5Qnl0ZXNPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dkcykKK2J5dGVzX3JwYXJ0aXRpb25faW1wbChQeUJ5dGVzT2JqZWN0ICpzZWxmLCBQeV9idWZmZXIgKnNlcCk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitieXRlc19ycGFydGl0aW9uKFB5Qnl0ZXNPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQogewotICAgIHN0YXRpYyBjaGFyICprd2xpc3RbXSA9IHsic2VwIiwgIm1heHNwbGl0IiwgMH07Ci0gICAgUHlfc3NpemVfdCBsZW4gPSBQeUJ5dGVzX0dFVF9TSVpFKHNlbGYpLCBuOworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIFB5X2J1ZmZlciBzZXAgPSB7TlVMTCwgTlVMTH07CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgInkqOnJwYXJ0aXRpb24iLAorICAgICAgICAmc2VwKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IGJ5dGVzX3JwYXJ0aXRpb25faW1wbChzZWxmLCAmc2VwKTsKKworZXhpdDoKKyAgICAvKiBDbGVhbnVwIGZvciBzZXAgKi8KKyAgICBpZiAoc2VwLm9iaikKKyAgICAgICBQeUJ1ZmZlcl9SZWxlYXNlKCZzZXApOworCisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK2J5dGVzX3JwYXJ0aXRpb25faW1wbChQeUJ5dGVzT2JqZWN0ICpzZWxmLCBQeV9idWZmZXIgKnNlcCkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD01N2IxNjlkYzQ3ZmE5MGU4IGlucHV0PTY1ODhmZmYyNjJhOTE3MGVdKi8KK3sKKyAgICByZXR1cm4gc3RyaW5nbGliX3JwYXJ0aXRpb24oCisgICAgICAgIChQeU9iamVjdCopIHNlbGYsCisgICAgICAgIFB5Qnl0ZXNfQVNfU1RSSU5HKHNlbGYpLCBQeUJ5dGVzX0dFVF9TSVpFKHNlbGYpLAorICAgICAgICBzZXAtPm9iaiwgKGNvbnN0IGNoYXIgKilzZXAtPmJ1Ziwgc2VwLT5sZW4KKyAgICAgICAgKTsKK30KKworLypbY2xpbmljIGlucHV0XQorYnl0ZXMucnNwbGl0ID0gYnl0ZXMuc3BsaXQKKworUmV0dXJuIGEgbGlzdCBvZiB0aGUgc2VjdGlvbnMgaW4gdGhlIGJ5dGVzLCB1c2luZyBzZXAgYXMgdGhlIGRlbGltaXRlci4KKworU3BsaXR0aW5nIGlzIGRvbmUgc3RhcnRpbmcgYXQgdGhlIGVuZCBvZiB0aGUgYnl0ZXMgYW5kIHdvcmtpbmcgdG8gdGhlIGZyb250LgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIoYnl0ZXNfcnNwbGl0X19kb2NfXywKKyJyc3BsaXQoJHNlbGYsIC8sIHNlcD1Ob25lLCBtYXhzcGxpdD0tMSlcbiIKKyItLVxuIgorIlxuIgorIlJldHVybiBhIGxpc3Qgb2YgdGhlIHNlY3Rpb25zIGluIHRoZSBieXRlcywgdXNpbmcgc2VwIGFzIHRoZSBkZWxpbWl0ZXIuXG4iCisiXG4iCisiICBzZXBcbiIKKyIgICAgVGhlIGRlbGltaXRlciBhY2NvcmRpbmcgd2hpY2ggdG8gc3BsaXQgdGhlIGJ5dGVzLlxuIgorIiAgICBOb25lICh0aGUgZGVmYXVsdCB2YWx1ZSkgbWVhbnMgc3BsaXQgb24gQVNDSUkgd2hpdGVzcGFjZSBjaGFyYWN0ZXJzXG4iCisiICAgIChzcGFjZSwgdGFiLCByZXR1cm4sIG5ld2xpbmUsIGZvcm1mZWVkLCB2ZXJ0aWNhbCB0YWIpLlxuIgorIiAgbWF4c3BsaXRcbiIKKyIgICAgTWF4aW11bSBudW1iZXIgb2Ygc3BsaXRzIHRvIGRvLlxuIgorIiAgICAtMSAodGhlIGRlZmF1bHQgdmFsdWUpIG1lYW5zIG5vIGxpbWl0LlxuIgorIlxuIgorIlNwbGl0dGluZyBpcyBkb25lIHN0YXJ0aW5nIGF0IHRoZSBlbmQgb2YgdGhlIGJ5dGVzIGFuZCB3b3JraW5nIHRvIHRoZSBmcm9udC4iKTsKKworI2RlZmluZSBCWVRFU19SU1BMSVRfTUVUSE9EREVGICAgIFwKKyAgICB7InJzcGxpdCIsIChQeUNGdW5jdGlvbilieXRlc19yc3BsaXQsIE1FVEhfVkFSQVJHU3xNRVRIX0tFWVdPUkRTLCBieXRlc19yc3BsaXRfX2RvY19ffSwKKworc3RhdGljIFB5T2JqZWN0ICoKK2J5dGVzX3JzcGxpdF9pbXBsKFB5Qnl0ZXNPYmplY3Qqc2VsZiwgUHlPYmplY3QgKnNlcCwgUHlfc3NpemVfdCBtYXhzcGxpdCk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitieXRlc19yc3BsaXQoUHlCeXRlc09iamVjdCpzZWxmLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3YXJncykKK3sKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBzdGF0aWMgY2hhciAqX2tleXdvcmRzW10gPSB7InNlcCIsICJtYXhzcGxpdCIsIE5VTEx9OworICAgIFB5T2JqZWN0ICpzZXAgPSBQeV9Ob25lOwogICAgIFB5X3NzaXplX3QgbWF4c3BsaXQgPSAtMTsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywKKyAgICAgICAgInxPbjpyc3BsaXQiLCBfa2V5d29yZHMsCisgICAgICAgICZzZXAsICZtYXhzcGxpdCkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBieXRlc19yc3BsaXRfaW1wbChzZWxmLCBzZXAsIG1heHNwbGl0KTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorYnl0ZXNfcnNwbGl0X2ltcGwoUHlCeXRlc09iamVjdCpzZWxmLCBQeU9iamVjdCAqc2VwLCBQeV9zc2l6ZV90IG1heHNwbGl0KQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWY4NmZlZGRlZGJkN2IyNmQgaW5wdXQ9MGY4NmM5ZjI4ZjdkN2I3Yl0qLworeworICAgIFB5X3NzaXplX3QgbGVuID0gUHlCeXRlc19HRVRfU0laRShzZWxmKSwgbjsKICAgICBjb25zdCBjaGFyICpzID0gUHlCeXRlc19BU19TVFJJTkcoc2VsZiksICpzdWI7CiAgICAgUHlfYnVmZmVyIHZzdWI7Ci0gICAgUHlPYmplY3QgKmxpc3QsICpzdWJvYmogPSBQeV9Ob25lOworICAgIFB5T2JqZWN0ICpsaXN0OwogCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dkcywgInxPbjpyc3BsaXQiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGt3bGlzdCwgJnN1Ym9iaiwgJm1heHNwbGl0KSkKLSAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgaWYgKG1heHNwbGl0IDwgMCkKICAgICAgICAgbWF4c3BsaXQgPSBQWV9TU0laRV9UX01BWDsKLSAgICBpZiAoc3Vib2JqID09IFB5X05vbmUpCisgICAgaWYgKHNlcCA9PSBQeV9Ob25lKQogICAgICAgICByZXR1cm4gc3RyaW5nbGliX3JzcGxpdF93aGl0ZXNwYWNlKChQeU9iamVjdCopIHNlbGYsIHMsIGxlbiwgbWF4c3BsaXQpOwotICAgIGlmIChQeU9iamVjdF9HZXRCdWZmZXIoc3Vib2JqLCAmdnN1YiwgUHlCVUZfU0lNUExFKSAhPSAwKQorICAgIGlmIChQeU9iamVjdF9HZXRCdWZmZXIoc2VwLCAmdnN1YiwgUHlCVUZfU0lNUExFKSAhPSAwKQogICAgICAgICByZXR1cm4gTlVMTDsKICAgICBzdWIgPSB2c3ViLmJ1ZjsKICAgICBuID0gdnN1Yi5sZW47CkBAIC0xMTIwLDE2ICsxODM2LDQxIEBACiB9CiAKIAotUHlEb2NfU1RSVkFSKGpvaW5fX2RvY19fLAotIkIuam9pbihpdGVyYWJsZV9vZl9ieXRlcykgLT4gYnl0ZXNcblwKLVxuXAotQ29uY2F0ZW5hdGUgYW55IG51bWJlciBvZiBieXRlcyBvYmplY3RzLCB3aXRoIEIgaW4gYmV0d2VlbiBlYWNoIHBhaXIuXG5cCi1FeGFtcGxlOiBiJy4nLmpvaW4oW2InYWInLCBiJ3BxJywgYidycyddKSAtPiBiJ2FiLnBxLnJzJy4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK2J5dGVzLmpvaW4KKworICAgIGl0ZXJhYmxlX29mX2J5dGVzOiBvYmplY3QKKyAgICAvCisKK0NvbmNhdGVuYXRlIGFueSBudW1iZXIgb2YgYnl0ZXMgb2JqZWN0cy4KKworVGhlIGJ5dGVzIHdob3NlIG1ldGhvZCBpcyBjYWxsZWQgaXMgaW5zZXJ0ZWQgaW4gYmV0d2VlbiBlYWNoIHBhaXIuCisKK1RoZSByZXN1bHQgaXMgcmV0dXJuZWQgYXMgYSBuZXcgYnl0ZXMgb2JqZWN0LgorCitFeGFtcGxlOiBiJy4nLmpvaW4oW2InYWInLCBiJ3BxJywgYidycyddKSAtPiBiJ2FiLnBxLnJzJy4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKGJ5dGVzX2pvaW5fX2RvY19fLAorImpvaW4oJHNlbGYsIGl0ZXJhYmxlX29mX2J5dGVzLCAvKVxuIgorIi0tXG4iCisiXG4iCisiQ29uY2F0ZW5hdGUgYW55IG51bWJlciBvZiBieXRlcyBvYmplY3RzLlxuIgorIlxuIgorIlRoZSBieXRlcyB3aG9zZSBtZXRob2QgaXMgY2FsbGVkIGlzIGluc2VydGVkIGluIGJldHdlZW4gZWFjaCBwYWlyLlxuIgorIlxuIgorIlRoZSByZXN1bHQgaXMgcmV0dXJuZWQgYXMgYSBuZXcgYnl0ZXMgb2JqZWN0LlxuIgorIlxuIgorIkV4YW1wbGU6IGJcJy5cJy5qb2luKFtiXCdhYlwnLCBiXCdwcVwnLCBiXCdyc1wnXSkgLT4gYlwnYWIucHEucnNcJy4iKTsKKworI2RlZmluZSBCWVRFU19KT0lOX01FVEhPRERFRiAgICBcCisgICAgeyJqb2luIiwgKFB5Q0Z1bmN0aW9uKWJ5dGVzX2pvaW4sIE1FVEhfTywgYnl0ZXNfam9pbl9fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotYnl0ZXNfam9pbihQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKml0ZXJhYmxlKQorYnl0ZXNfam9pbihQeUJ5dGVzT2JqZWN0KnNlbGYsIFB5T2JqZWN0ICppdGVyYWJsZV9vZl9ieXRlcykKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1lNTQxYTE0YThkYTk3OTA4IGlucHV0PTdmZTM3N2I5NWJkNTQ5ZDJdKi8KIHsKLSAgICByZXR1cm4gc3RyaW5nbGliX2J5dGVzX2pvaW4oc2VsZiwgaXRlcmFibGUpOworICAgIHJldHVybiBzdHJpbmdsaWJfYnl0ZXNfam9pbigoUHlPYmplY3QqKXNlbGYsIGl0ZXJhYmxlX29mX2J5dGVzKTsKIH0KIAogUHlPYmplY3QgKgpAQCAtMTEzNyw3ICsxODc4LDcgQEAKIHsKICAgICBhc3NlcnQoc2VwICE9IE5VTEwgJiYgUHlCeXRlc19DaGVjayhzZXApKTsKICAgICBhc3NlcnQoeCAhPSBOVUxMKTsKLSAgICByZXR1cm4gYnl0ZXNfam9pbihzZXAsIHgpOworICAgIHJldHVybiBieXRlc19qb2luKChQeUJ5dGVzT2JqZWN0KilzZXAsIHgpOwogfQogCiAvKiBoZWxwZXIgbWFjcm8gdG8gZml4dXAgc3RhcnQvZW5kIHNsaWNlIHZhbHVlcyAqLwpAQCAtMTM0OCw2MiArMjA4OSwxNTkgQEAKIAogCiBQeV9MT0NBTF9JTkxJTkUoUHlPYmplY3QgKikKLWRvX2FyZ3N0cmlwKFB5Qnl0ZXNPYmplY3QgKnNlbGYsIGludCBzdHJpcHR5cGUsIFB5T2JqZWN0ICphcmdzKQorZG9fYXJnc3RyaXAoUHlCeXRlc09iamVjdCAqc2VsZiwgaW50IHN0cmlwdHlwZSwgUHlPYmplY3QgKmJ5dGVzKQogewotICAgIFB5T2JqZWN0ICpzZXAgPSBOVUxMOwotCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsIHN0cmlwZm9ybWF0W3N0cmlwdHlwZV0sICZzZXApKQotICAgICAgICByZXR1cm4gTlVMTDsKLQotICAgIGlmIChzZXAgIT0gTlVMTCAmJiBzZXAgIT0gUHlfTm9uZSkgewotICAgICAgICByZXR1cm4gZG9feHN0cmlwKHNlbGYsIHN0cmlwdHlwZSwgc2VwKTsKKyAgICBpZiAoYnl0ZXMgIT0gTlVMTCAmJiBieXRlcyAhPSBQeV9Ob25lKSB7CisgICAgICAgIHJldHVybiBkb194c3RyaXAoc2VsZiwgc3RyaXB0eXBlLCBieXRlcyk7CiAgICAgfQogICAgIHJldHVybiBkb19zdHJpcChzZWxmLCBzdHJpcHR5cGUpOwogfQogCisvKltjbGluaWMgaW5wdXRdCitieXRlcy5zdHJpcAogCi1QeURvY19TVFJWQVIoc3RyaXBfX2RvY19fLAotIkIuc3RyaXAoW2J5dGVzXSkgLT4gYnl0ZXNcblwKLVxuXAotU3RyaXAgbGVhZGluZyBhbmQgdHJhaWxpbmcgYnl0ZXMgY29udGFpbmVkIGluIHRoZSBhcmd1bWVudC5cblwKLUlmIHRoZSBhcmd1bWVudCBpcyBvbWl0dGVkLCBzdHJpcCBsZWFkaW5nIGFuZCB0cmFpbGluZyBBU0NJSSB3aGl0ZXNwYWNlLiIpOworICAgIHNlbGY6IHNlbGYodHlwZT0iUHlCeXRlc09iamVjdCAqIikKKyAgICBieXRlczogb2JqZWN0ID0gTm9uZQorICAgIC8KKworU3RyaXAgbGVhZGluZyBhbmQgdHJhaWxpbmcgYnl0ZXMgY29udGFpbmVkIGluIHRoZSBhcmd1bWVudC4KKworSWYgdGhlIGFyZ3VtZW50IGlzIG9taXR0ZWQgb3IgTm9uZSwgc3RyaXAgbGVhZGluZyBhbmQgdHJhaWxpbmcgQVNDSUkgd2hpdGVzcGFjZS4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKGJ5dGVzX3N0cmlwX19kb2NfXywKKyJzdHJpcCgkc2VsZiwgYnl0ZXM9Tm9uZSwgLylcbiIKKyItLVxuIgorIlxuIgorIlN0cmlwIGxlYWRpbmcgYW5kIHRyYWlsaW5nIGJ5dGVzIGNvbnRhaW5lZCBpbiB0aGUgYXJndW1lbnQuXG4iCisiXG4iCisiSWYgdGhlIGFyZ3VtZW50IGlzIG9taXR0ZWQgb3IgTm9uZSwgc3RyaXAgbGVhZGluZyBhbmQgdHJhaWxpbmcgQVNDSUkgd2hpdGVzcGFjZS4iKTsKKworI2RlZmluZSBCWVRFU19TVFJJUF9NRVRIT0RERUYgICAgXAorICAgIHsic3RyaXAiLCAoUHlDRnVuY3Rpb24pYnl0ZXNfc3RyaXAsIE1FVEhfVkFSQVJHUywgYnl0ZXNfc3RyaXBfX2RvY19ffSwKKworc3RhdGljIFB5T2JqZWN0ICoKK2J5dGVzX3N0cmlwX2ltcGwoUHlCeXRlc09iamVjdCAqc2VsZiwgUHlPYmplY3QgKmJ5dGVzKTsKKwogc3RhdGljIFB5T2JqZWN0ICoKIGJ5dGVzX3N0cmlwKFB5Qnl0ZXNPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQogewotICAgIGlmIChQeVR1cGxlX0dFVF9TSVpFKGFyZ3MpID09IDApCi0gICAgICAgIHJldHVybiBkb19zdHJpcChzZWxmLCBCT1RIU1RSSVApOyAvKiBDb21tb24gY2FzZSAqLwotICAgIGVsc2UKLSAgICAgICAgcmV0dXJuIGRvX2FyZ3N0cmlwKHNlbGYsIEJPVEhTVFJJUCwgYXJncyk7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgUHlPYmplY3QgKmJ5dGVzID0gUHlfTm9uZTsKKworICAgIGlmICghUHlBcmdfVW5wYWNrVHVwbGUoYXJncywgInN0cmlwIiwKKyAgICAgICAgMCwgMSwKKyAgICAgICAgJmJ5dGVzKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IGJ5dGVzX3N0cmlwX2ltcGwoc2VsZiwgYnl0ZXMpOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7CiB9CiAKK3N0YXRpYyBQeU9iamVjdCAqCitieXRlc19zdHJpcF9pbXBsKFB5Qnl0ZXNPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpieXRlcykKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1jODIzNGE1OTliYTVlYzM1IGlucHV0PTM3ZGFhNWZhZDEzOTVkOTVdKi8KK3sKKyAgICByZXR1cm4gZG9fYXJnc3RyaXAoc2VsZiwgQk9USFNUUklQLCBieXRlcyk7Cit9CiAKLVB5RG9jX1NUUlZBUihsc3RyaXBfX2RvY19fLAotIkIubHN0cmlwKFtieXRlc10pIC0+IGJ5dGVzXG5cCi1cblwKLVN0cmlwIGxlYWRpbmcgYnl0ZXMgY29udGFpbmVkIGluIHRoZSBhcmd1bWVudC5cblwKLUlmIHRoZSBhcmd1bWVudCBpcyBvbWl0dGVkLCBzdHJpcCBsZWFkaW5nIEFTQ0lJIHdoaXRlc3BhY2UuIik7CisvKltjbGluaWMgaW5wdXRdCitieXRlcy5sc3RyaXAKKworICAgIHNlbGY6IHNlbGYodHlwZT0iUHlCeXRlc09iamVjdCAqIikKKyAgICBieXRlczogb2JqZWN0ID0gTm9uZQorICAgIC8KKworU3RyaXAgbGVhZGluZyBieXRlcyBjb250YWluZWQgaW4gdGhlIGFyZ3VtZW50LgorCitJZiB0aGUgYXJndW1lbnQgaXMgb21pdHRlZCBvciBOb25lLCBzdHJpcCBsZWFkaW5nICBBU0NJSSB3aGl0ZXNwYWNlLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIoYnl0ZXNfbHN0cmlwX19kb2NfXywKKyJsc3RyaXAoJHNlbGYsIGJ5dGVzPU5vbmUsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJTdHJpcCBsZWFkaW5nIGJ5dGVzIGNvbnRhaW5lZCBpbiB0aGUgYXJndW1lbnQuXG4iCisiXG4iCisiSWYgdGhlIGFyZ3VtZW50IGlzIG9taXR0ZWQgb3IgTm9uZSwgc3RyaXAgbGVhZGluZyAgQVNDSUkgd2hpdGVzcGFjZS4iKTsKKworI2RlZmluZSBCWVRFU19MU1RSSVBfTUVUSE9EREVGICAgIFwKKyAgICB7ImxzdHJpcCIsIChQeUNGdW5jdGlvbilieXRlc19sc3RyaXAsIE1FVEhfVkFSQVJHUywgYnl0ZXNfbHN0cmlwX19kb2NfX30sCisKK3N0YXRpYyBQeU9iamVjdCAqCitieXRlc19sc3RyaXBfaW1wbChQeUJ5dGVzT2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYnl0ZXMpOworCiBzdGF0aWMgUHlPYmplY3QgKgogYnl0ZXNfbHN0cmlwKFB5Qnl0ZXNPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQogewotICAgIGlmIChQeVR1cGxlX0dFVF9TSVpFKGFyZ3MpID09IDApCi0gICAgICAgIHJldHVybiBkb19zdHJpcChzZWxmLCBMRUZUU1RSSVApOyAvKiBDb21tb24gY2FzZSAqLwotICAgIGVsc2UKLSAgICAgICAgcmV0dXJuIGRvX2FyZ3N0cmlwKHNlbGYsIExFRlRTVFJJUCwgYXJncyk7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgUHlPYmplY3QgKmJ5dGVzID0gUHlfTm9uZTsKKworICAgIGlmICghUHlBcmdfVW5wYWNrVHVwbGUoYXJncywgImxzdHJpcCIsCisgICAgICAgIDAsIDEsCisgICAgICAgICZieXRlcykpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBieXRlc19sc3RyaXBfaW1wbChzZWxmLCBieXRlcyk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKIH0KIAorc3RhdGljIFB5T2JqZWN0ICoKK2J5dGVzX2xzdHJpcF9pbXBsKFB5Qnl0ZXNPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpieXRlcykKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD01MjllODUxMWFiNmYxMTE1IGlucHV0PTg4ODExYjA5ZGZiYzI5ODhdKi8KK3sKKyAgICByZXR1cm4gZG9fYXJnc3RyaXAoc2VsZiwgTEVGVFNUUklQLCBieXRlcyk7Cit9CiAKLVB5RG9jX1NUUlZBUihyc3RyaXBfX2RvY19fLAotIkIucnN0cmlwKFtieXRlc10pIC0+IGJ5dGVzXG5cCi1cblwKLVN0cmlwIHRyYWlsaW5nIGJ5dGVzIGNvbnRhaW5lZCBpbiB0aGUgYXJndW1lbnQuXG5cCi1JZiB0aGUgYXJndW1lbnQgaXMgb21pdHRlZCwgc3RyaXAgdHJhaWxpbmcgQVNDSUkgd2hpdGVzcGFjZS4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK2J5dGVzLnJzdHJpcAorCisgICAgc2VsZjogc2VsZih0eXBlPSJQeUJ5dGVzT2JqZWN0ICoiKQorICAgIGJ5dGVzOiBvYmplY3QgPSBOb25lCisgICAgLworCitTdHJpcCB0cmFpbGluZyBieXRlcyBjb250YWluZWQgaW4gdGhlIGFyZ3VtZW50LgorCitJZiB0aGUgYXJndW1lbnQgaXMgb21pdHRlZCBvciBOb25lLCBzdHJpcCB0cmFpbGluZyBBU0NJSSB3aGl0ZXNwYWNlLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIoYnl0ZXNfcnN0cmlwX19kb2NfXywKKyJyc3RyaXAoJHNlbGYsIGJ5dGVzPU5vbmUsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJTdHJpcCB0cmFpbGluZyBieXRlcyBjb250YWluZWQgaW4gdGhlIGFyZ3VtZW50LlxuIgorIlxuIgorIklmIHRoZSBhcmd1bWVudCBpcyBvbWl0dGVkIG9yIE5vbmUsIHN0cmlwIHRyYWlsaW5nIEFTQ0lJIHdoaXRlc3BhY2UuIik7CisKKyNkZWZpbmUgQllURVNfUlNUUklQX01FVEhPRERFRiAgICBcCisgICAgeyJyc3RyaXAiLCAoUHlDRnVuY3Rpb24pYnl0ZXNfcnN0cmlwLCBNRVRIX1ZBUkFSR1MsIGJ5dGVzX3JzdHJpcF9fZG9jX199LAorCitzdGF0aWMgUHlPYmplY3QgKgorYnl0ZXNfcnN0cmlwX2ltcGwoUHlCeXRlc09iamVjdCAqc2VsZiwgUHlPYmplY3QgKmJ5dGVzKTsKKwogc3RhdGljIFB5T2JqZWN0ICoKIGJ5dGVzX3JzdHJpcChQeUJ5dGVzT2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKIHsKLSAgICBpZiAoUHlUdXBsZV9HRVRfU0laRShhcmdzKSA9PSAwKQotICAgICAgICByZXR1cm4gZG9fc3RyaXAoc2VsZiwgUklHSFRTVFJJUCk7IC8qIENvbW1vbiBjYXNlICovCi0gICAgZWxzZQotICAgICAgICByZXR1cm4gZG9fYXJnc3RyaXAoc2VsZiwgUklHSFRTVFJJUCwgYXJncyk7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgUHlPYmplY3QgKmJ5dGVzID0gUHlfTm9uZTsKKworICAgIGlmICghUHlBcmdfVW5wYWNrVHVwbGUoYXJncywgInJzdHJpcCIsCisgICAgICAgIDAsIDEsCisgICAgICAgICZieXRlcykpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBieXRlc19yc3RyaXBfaW1wbChzZWxmLCBieXRlcyk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK2J5dGVzX3JzdHJpcF9pbXBsKFB5Qnl0ZXNPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpieXRlcykKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1lOTg3MzBiZDEzM2U2NTkzIGlucHV0PThmOTNjOWNkMzYxZjAxNDBdKi8KK3sKKyAgICByZXR1cm4gZG9fYXJnc3RyaXAoc2VsZiwgUklHSFRTVFJJUCwgYnl0ZXMpOwogfQogCiAKQEAgLTE0NTUsNDUgKzIyOTMsOTQgQEAKIH0KIAogCi1QeURvY19TVFJWQVIodHJhbnNsYXRlX19kb2NfXywKLSJCLnRyYW5zbGF0ZSh0YWJsZVssIGRlbGV0ZWNoYXJzXSkgLT4gYnl0ZXNcblwKLVxuXAotUmV0dXJuIGEgY29weSBvZiBCLCB3aGVyZSBhbGwgY2hhcmFjdGVycyBvY2N1cnJpbmcgaW4gdGhlXG5cCi1vcHRpb25hbCBhcmd1bWVudCBkZWxldGVjaGFycyBhcmUgcmVtb3ZlZCwgYW5kIHRoZSByZW1haW5pbmdcblwKLWNoYXJhY3RlcnMgaGF2ZSBiZWVuIG1hcHBlZCB0aHJvdWdoIHRoZSBnaXZlbiB0cmFuc2xhdGlvblxuXAotdGFibGUsIHdoaWNoIG11c3QgYmUgYSBieXRlcyBvYmplY3Qgb2YgbGVuZ3RoIDI1Ni4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK2J5dGVzLnRyYW5zbGF0ZQorCisgICAgc2VsZjogc2VsZih0eXBlPSJQeUJ5dGVzT2JqZWN0ICoiKQorICAgIHRhYmxlOiBvYmplY3QKKyAgICAgICAgVHJhbnNsYXRpb24gdGFibGUsIHdoaWNoIG11c3QgYmUgYSBieXRlcyBvYmplY3Qgb2YgbGVuZ3RoIDI1Ni4KKyAgICBbCisgICAgZGVsZXRlY2hhcnM6IG9iamVjdAorICAgIF0KKyAgICAvCisKK1JldHVybiBhIGNvcHkgd2l0aCBlYWNoIGNoYXJhY3RlciBtYXBwZWQgYnkgdGhlIGdpdmVuIHRyYW5zbGF0aW9uIHRhYmxlLgorCitBbGwgY2hhcmFjdGVycyBvY2N1cnJpbmcgaW4gdGhlIG9wdGlvbmFsIGFyZ3VtZW50IGRlbGV0ZWNoYXJzIGFyZSByZW1vdmVkLgorVGhlIHJlbWFpbmluZyBjaGFyYWN0ZXJzIGFyZSBtYXBwZWQgdGhyb3VnaCB0aGUgZ2l2ZW4gdHJhbnNsYXRpb24gdGFibGUuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihieXRlc190cmFuc2xhdGVfX2RvY19fLAorInRyYW5zbGF0ZSh0YWJsZSwgW2RlbGV0ZWNoYXJzXSlcbiIKKyJSZXR1cm4gYSBjb3B5IHdpdGggZWFjaCBjaGFyYWN0ZXIgbWFwcGVkIGJ5IHRoZSBnaXZlbiB0cmFuc2xhdGlvbiB0YWJsZS5cbiIKKyJcbiIKKyIgIHRhYmxlXG4iCisiICAgIFRyYW5zbGF0aW9uIHRhYmxlLCB3aGljaCBtdXN0IGJlIGEgYnl0ZXMgb2JqZWN0IG9mIGxlbmd0aCAyNTYuXG4iCisiXG4iCisiQWxsIGNoYXJhY3RlcnMgb2NjdXJyaW5nIGluIHRoZSBvcHRpb25hbCBhcmd1bWVudCBkZWxldGVjaGFycyBhcmUgcmVtb3ZlZC5cbiIKKyJUaGUgcmVtYWluaW5nIGNoYXJhY3RlcnMgYXJlIG1hcHBlZCB0aHJvdWdoIHRoZSBnaXZlbiB0cmFuc2xhdGlvbiB0YWJsZS4iKTsKKworI2RlZmluZSBCWVRFU19UUkFOU0xBVEVfTUVUSE9EREVGICAgIFwKKyAgICB7InRyYW5zbGF0ZSIsIChQeUNGdW5jdGlvbilieXRlc190cmFuc2xhdGUsIE1FVEhfVkFSQVJHUywgYnl0ZXNfdHJhbnNsYXRlX19kb2NfX30sCisKK3N0YXRpYyBQeU9iamVjdCAqCitieXRlc190cmFuc2xhdGVfaW1wbChQeUJ5dGVzT2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqdGFibGUsIGludCBncm91cF9yaWdodF8xLCBQeU9iamVjdCAqZGVsZXRlY2hhcnMpOwogCiBzdGF0aWMgUHlPYmplY3QgKgogYnl0ZXNfdHJhbnNsYXRlKFB5Qnl0ZXNPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQogeworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIFB5T2JqZWN0ICp0YWJsZTsKKyAgICBpbnQgZ3JvdXBfcmlnaHRfMSA9IDA7CisgICAgUHlPYmplY3QgKmRlbGV0ZWNoYXJzID0gTlVMTDsKKworICAgIHN3aXRjaCAoUHlUdXBsZV9HRVRfU0laRShhcmdzKSkgeworICAgICAgICBjYXNlIDE6CisgICAgICAgICAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgIk86dHJhbnNsYXRlIiwgJnRhYmxlKSkKKyAgICAgICAgICAgICAgICBnb3RvIGV4aXQ7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSAyOgorICAgICAgICAgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJPTzp0cmFuc2xhdGUiLCAmdGFibGUsICZkZWxldGVjaGFycykpCisgICAgICAgICAgICAgICAgZ290byBleGl0OworICAgICAgICAgICAgZ3JvdXBfcmlnaHRfMSA9IDE7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsICJieXRlcy50cmFuc2xhdGUgcmVxdWlyZXMgMSB0byAyIGFyZ3VtZW50cyIpOworICAgICAgICAgICAgZ290byBleGl0OworICAgIH0KKyAgICByZXR1cm5fdmFsdWUgPSBieXRlc190cmFuc2xhdGVfaW1wbChzZWxmLCB0YWJsZSwgZ3JvdXBfcmlnaHRfMSwgZGVsZXRlY2hhcnMpOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitieXRlc190cmFuc2xhdGVfaW1wbChQeUJ5dGVzT2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqdGFibGUsIGludCBncm91cF9yaWdodF8xLCBQeU9iamVjdCAqZGVsZXRlY2hhcnMpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9ZjBmMjlhNTdmNDFkZjVkOCBpbnB1dD1kOGZhNTUxOWQ3Y2M0YmU3XSovCit7CiAgICAgY2hhciAqaW5wdXQsICpvdXRwdXQ7CiAgICAgUHlfYnVmZmVyIHRhYmxlX3ZpZXcgPSB7TlVMTCwgTlVMTH07CiAgICAgUHlfYnVmZmVyIGRlbF90YWJsZV92aWV3ID0ge05VTEwsIE5VTEx9OwotICAgIGNvbnN0IGNoYXIgKnRhYmxlOworICAgIGNvbnN0IGNoYXIgKnRhYmxlX2NoYXJzOwogICAgIFB5X3NzaXplX3QgaSwgYywgY2hhbmdlZCA9IDA7CiAgICAgUHlPYmplY3QgKmlucHV0X29iaiA9IChQeU9iamVjdCopc2VsZjsKLSAgICBjb25zdCBjaGFyICpvdXRwdXRfc3RhcnQsICpkZWxfdGFibGU9TlVMTDsKKyAgICBjb25zdCBjaGFyICpvdXRwdXRfc3RhcnQsICpkZWxfdGFibGVfY2hhcnM9TlVMTDsKICAgICBQeV9zc2l6ZV90IGlubGVuLCB0YWJsZW4sIGRlbGxlbiA9IDA7CiAgICAgUHlPYmplY3QgKnJlc3VsdDsKICAgICBpbnQgdHJhbnNfdGFibGVbMjU2XTsKLSAgICBQeU9iamVjdCAqdGFibGVvYmosICpkZWxvYmogPSBOVUxMOwogCi0gICAgaWYgKCFQeUFyZ19VbnBhY2tUdXBsZShhcmdzLCAidHJhbnNsYXRlIiwgMSwgMiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgJnRhYmxlb2JqLCAmZGVsb2JqKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0KLSAgICBpZiAoUHlCeXRlc19DaGVjayh0YWJsZW9iaikpIHsKLSAgICAgICAgdGFibGUgPSBQeUJ5dGVzX0FTX1NUUklORyh0YWJsZW9iaik7Ci0gICAgICAgIHRhYmxlbiA9IFB5Qnl0ZXNfR0VUX1NJWkUodGFibGVvYmopOworICAgIGlmIChQeUJ5dGVzX0NoZWNrKHRhYmxlKSkgeworICAgICAgICB0YWJsZV9jaGFycyA9IFB5Qnl0ZXNfQVNfU1RSSU5HKHRhYmxlKTsKKyAgICAgICAgdGFibGVuID0gUHlCeXRlc19HRVRfU0laRSh0YWJsZSk7CiAgICAgfQotICAgIGVsc2UgaWYgKHRhYmxlb2JqID09IFB5X05vbmUpIHsKLSAgICAgICAgdGFibGUgPSBOVUxMOworICAgIGVsc2UgaWYgKHRhYmxlID09IFB5X05vbmUpIHsKKyAgICAgICAgdGFibGVfY2hhcnMgPSBOVUxMOwogICAgICAgICB0YWJsZW4gPSAyNTY7CiAgICAgfQogICAgIGVsc2UgewotICAgICAgICBpZiAoUHlPYmplY3RfR2V0QnVmZmVyKHRhYmxlb2JqLCAmdGFibGVfdmlldywgUHlCVUZfU0lNUExFKSAhPSAwKQorICAgICAgICBpZiAoUHlPYmplY3RfR2V0QnVmZmVyKHRhYmxlLCAmdGFibGVfdmlldywgUHlCVUZfU0lNUExFKSAhPSAwKQogICAgICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgICAgIHRhYmxlID0gdGFibGVfdmlldy5idWY7CisgICAgICAgIHRhYmxlX2NoYXJzID0gdGFibGVfdmlldy5idWY7CiAgICAgICAgIHRhYmxlbiA9IHRhYmxlX3ZpZXcubGVuOwogICAgIH0KIApAQCAtMTUwNCwyMiArMjM5MSwyMiBAQAogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CiAKLSAgICBpZiAoZGVsb2JqICE9IE5VTEwpIHsKLSAgICAgICAgaWYgKFB5Qnl0ZXNfQ2hlY2soZGVsb2JqKSkgewotICAgICAgICAgICAgZGVsX3RhYmxlID0gUHlCeXRlc19BU19TVFJJTkcoZGVsb2JqKTsKLSAgICAgICAgICAgIGRlbGxlbiA9IFB5Qnl0ZXNfR0VUX1NJWkUoZGVsb2JqKTsKKyAgICBpZiAoZGVsZXRlY2hhcnMgIT0gTlVMTCkgeworICAgICAgICBpZiAoUHlCeXRlc19DaGVjayhkZWxldGVjaGFycykpIHsKKyAgICAgICAgICAgIGRlbF90YWJsZV9jaGFycyA9IFB5Qnl0ZXNfQVNfU1RSSU5HKGRlbGV0ZWNoYXJzKTsKKyAgICAgICAgICAgIGRlbGxlbiA9IFB5Qnl0ZXNfR0VUX1NJWkUoZGVsZXRlY2hhcnMpOwogICAgICAgICB9CiAgICAgICAgIGVsc2UgewotICAgICAgICAgICAgaWYgKFB5T2JqZWN0X0dldEJ1ZmZlcihkZWxvYmosICZkZWxfdGFibGVfdmlldywgUHlCVUZfU0lNUExFKSAhPSAwKSB7CisgICAgICAgICAgICBpZiAoUHlPYmplY3RfR2V0QnVmZmVyKGRlbGV0ZWNoYXJzLCAmZGVsX3RhYmxlX3ZpZXcsIFB5QlVGX1NJTVBMRSkgIT0gMCkgewogICAgICAgICAgICAgICAgIFB5QnVmZmVyX1JlbGVhc2UoJnRhYmxlX3ZpZXcpOwogICAgICAgICAgICAgICAgIHJldHVybiBOVUxMOwogICAgICAgICAgICAgfQotICAgICAgICAgICAgZGVsX3RhYmxlID0gZGVsX3RhYmxlX3ZpZXcuYnVmOworICAgICAgICAgICAgZGVsX3RhYmxlX2NoYXJzID0gZGVsX3RhYmxlX3ZpZXcuYnVmOwogICAgICAgICAgICAgZGVsbGVuID0gZGVsX3RhYmxlX3ZpZXcubGVuOwogICAgICAgICB9CiAgICAgfQogICAgIGVsc2UgewotICAgICAgICBkZWxfdGFibGUgPSBOVUxMOworICAgICAgICBkZWxfdGFibGVfY2hhcnMgPSBOVUxMOwogICAgICAgICBkZWxsZW4gPSAwOwogICAgIH0KIApAQCAtMTUzMywxMSArMjQyMCwxMSBAQAogICAgIG91dHB1dF9zdGFydCA9IG91dHB1dCA9IFB5Qnl0ZXNfQXNTdHJpbmcocmVzdWx0KTsKICAgICBpbnB1dCA9IFB5Qnl0ZXNfQVNfU1RSSU5HKGlucHV0X29iaik7CiAKLSAgICBpZiAoZGVsbGVuID09IDAgJiYgdGFibGUgIT0gTlVMTCkgeworICAgIGlmIChkZWxsZW4gPT0gMCAmJiB0YWJsZV9jaGFycyAhPSBOVUxMKSB7CiAgICAgICAgIC8qIElmIG5vIGRlbGV0aW9ucyBhcmUgcmVxdWlyZWQsIHVzZSBmYXN0ZXIgY29kZSAqLwogICAgICAgICBmb3IgKGkgPSBpbmxlbjsgLS1pID49IDA7ICkgewogICAgICAgICAgICAgYyA9IFB5X0NIQVJNQVNLKCppbnB1dCsrKTsKLSAgICAgICAgICAgIGlmIChQeV9DSEFSTUFTSygoKm91dHB1dCsrID0gdGFibGVbY10pKSAhPSBjKQorICAgICAgICAgICAgaWYgKFB5X0NIQVJNQVNLKCgqb3V0cHV0KysgPSB0YWJsZV9jaGFyc1tjXSkpICE9IGMpCiAgICAgICAgICAgICAgICAgY2hhbmdlZCA9IDE7CiAgICAgICAgIH0KICAgICAgICAgaWYgKCFjaGFuZ2VkICYmIFB5Qnl0ZXNfQ2hlY2tFeGFjdChpbnB1dF9vYmopKSB7CkBAIC0xNTUwLDE3ICsyNDM3LDE3IEBACiAgICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAgfQogCi0gICAgaWYgKHRhYmxlID09IE5VTEwpIHsKKyAgICBpZiAodGFibGVfY2hhcnMgPT0gTlVMTCkgewogICAgICAgICBmb3IgKGkgPSAwOyBpIDwgMjU2OyBpKyspCiAgICAgICAgICAgICB0cmFuc190YWJsZVtpXSA9IFB5X0NIQVJNQVNLKGkpOwogICAgIH0gZWxzZSB7CiAgICAgICAgIGZvciAoaSA9IDA7IGkgPCAyNTY7IGkrKykKLSAgICAgICAgICAgIHRyYW5zX3RhYmxlW2ldID0gUHlfQ0hBUk1BU0sodGFibGVbaV0pOworICAgICAgICAgICAgdHJhbnNfdGFibGVbaV0gPSBQeV9DSEFSTUFTSyh0YWJsZV9jaGFyc1tpXSk7CiAgICAgfQogICAgIFB5QnVmZmVyX1JlbGVhc2UoJnRhYmxlX3ZpZXcpOwogCiAgICAgZm9yIChpID0gMDsgaSA8IGRlbGxlbjsgaSsrKQotICAgICAgICB0cmFuc190YWJsZVsoaW50KSBQeV9DSEFSTUFTSyhkZWxfdGFibGVbaV0pXSA9IC0xOworICAgICAgICB0cmFuc190YWJsZVsoaW50KSBQeV9DSEFSTUFTSyhkZWxfdGFibGVfY2hhcnNbaV0pXSA9IC0xOwogICAgIFB5QnVmZmVyX1JlbGVhc2UoJmRlbF90YWJsZV92aWV3KTsKIAogICAgIGZvciAoaSA9IGlubGVuOyAtLWkgPj0gMDsgKSB7CkBAIC0xNTgyLDEwICsyNDY5LDY5IEBACiB9CiAKIAorLypbY2xpbmljIGlucHV0XQorCitAc3RhdGljbWV0aG9kCitieXRlcy5tYWtldHJhbnMKKworICAgIGZybTogUHlfYnVmZmVyCisgICAgdG86IFB5X2J1ZmZlcgorICAgIC8KKworUmV0dXJuIGEgdHJhbnNsYXRpb24gdGFibGUgdXNlYWJsZSBmb3IgdGhlIGJ5dGVzIG9yIGJ5dGVhcnJheSB0cmFuc2xhdGUgbWV0aG9kLgorCitUaGUgcmV0dXJuZWQgdGFibGUgd2lsbCBiZSBvbmUgd2hlcmUgZWFjaCBieXRlIGluIGZybSBpcyBtYXBwZWQgdG8gdGhlIGJ5dGUgYXQKK3RoZSBzYW1lIHBvc2l0aW9uIGluIHRvLgorCitUaGUgYnl0ZXMgb2JqZWN0cyBmcm0gYW5kIHRvIG11c3QgYmUgb2YgdGhlIHNhbWUgbGVuZ3RoLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIoYnl0ZXNfbWFrZXRyYW5zX19kb2NfXywKKyJtYWtldHJhbnMoZnJtLCB0bywgLylcbiIKKyItLVxuIgorIlxuIgorIlJldHVybiBhIHRyYW5zbGF0aW9uIHRhYmxlIHVzZWFibGUgZm9yIHRoZSBieXRlcyBvciBieXRlYXJyYXkgdHJhbnNsYXRlIG1ldGhvZC5cbiIKKyJcbiIKKyJUaGUgcmV0dXJuZWQgdGFibGUgd2lsbCBiZSBvbmUgd2hlcmUgZWFjaCBieXRlIGluIGZybSBpcyBtYXBwZWQgdG8gdGhlIGJ5dGUgYXRcbiIKKyJ0aGUgc2FtZSBwb3NpdGlvbiBpbiB0by5cbiIKKyJcbiIKKyJUaGUgYnl0ZXMgb2JqZWN0cyBmcm0gYW5kIHRvIG11c3QgYmUgb2YgdGhlIHNhbWUgbGVuZ3RoLiIpOworCisjZGVmaW5lIEJZVEVTX01BS0VUUkFOU19NRVRIT0RERUYgICAgXAorICAgIHsibWFrZXRyYW5zIiwgKFB5Q0Z1bmN0aW9uKWJ5dGVzX21ha2V0cmFucywgTUVUSF9WQVJBUkdTfE1FVEhfU1RBVElDLCBieXRlc19tYWtldHJhbnNfX2RvY19ffSwKKwogc3RhdGljIFB5T2JqZWN0ICoKLWJ5dGVzX21ha2V0cmFucyhQeU9iamVjdCAqbnVsbCwgUHlPYmplY3QgKmFyZ3MpCitieXRlc19tYWtldHJhbnNfaW1wbChQeV9idWZmZXIgKmZybSwgUHlfYnVmZmVyICp0byk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitieXRlc19tYWtldHJhbnModm9pZCAqbnVsbCwgUHlPYmplY3QgKmFyZ3MpCiB7Ci0gICAgcmV0dXJuIF9QeV9ieXRlc19tYWtldHJhbnMoYXJncyk7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgUHlfYnVmZmVyIGZybSA9IHtOVUxMLCBOVUxMfTsKKyAgICBQeV9idWZmZXIgdG8gPSB7TlVMTCwgTlVMTH07CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgInkqeSo6bWFrZXRyYW5zIiwKKyAgICAgICAgJmZybSwgJnRvKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IGJ5dGVzX21ha2V0cmFuc19pbXBsKCZmcm0sICZ0byk7CisKK2V4aXQ6CisgICAgLyogQ2xlYW51cCBmb3IgZnJtICovCisgICAgaWYgKGZybS5vYmopCisgICAgICAgUHlCdWZmZXJfUmVsZWFzZSgmZnJtKTsKKyAgICAvKiBDbGVhbnVwIGZvciB0byAqLworICAgIGlmICh0by5vYmopCisgICAgICAgUHlCdWZmZXJfUmVsZWFzZSgmdG8pOworCisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK2J5dGVzX21ha2V0cmFuc19pbXBsKFB5X2J1ZmZlciAqZnJtLCBQeV9idWZmZXIgKnRvKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTdkZjQ3MzkwYzQ3NmFjNjAgaW5wdXQ9ZGU3YThmYzU2MzJiYjhmMV0qLworeworICAgIHJldHVybiBfUHlfYnl0ZXNfbWFrZXRyYW5zKGZybSwgdG8pOwogfQogCiAvKiBmaW5kIGFuZCBjb3VudCBjaGFyYWN0ZXJzIGFuZCBzdWJzdHJpbmdzICovCkBAIC0yMDgwLDMxICszMDI2LDc0IEBACiAgICAgfQogfQogCi1QeURvY19TVFJWQVIocmVwbGFjZV9fZG9jX18sCi0iQi5yZXBsYWNlKG9sZCwgbmV3WywgY291bnRdKSAtPiBieXRlc1xuXAotXG5cCi1SZXR1cm4gYSBjb3B5IG9mIEIgd2l0aCBhbGwgb2NjdXJyZW5jZXMgb2Ygc3Vic2VjdGlvblxuXAotb2xkIHJlcGxhY2VkIGJ5IG5ldy4gIElmIHRoZSBvcHRpb25hbCBhcmd1bWVudCBjb3VudCBpc1xuXAotZ2l2ZW4sIG9ubHkgZmlyc3QgY291bnQgb2NjdXJhbmNlcyBhcmUgcmVwbGFjZWQuIik7CisKKy8qW2NsaW5pYyBpbnB1dF0KK2J5dGVzLnJlcGxhY2UKKworICAgIG9sZDogUHlfYnVmZmVyCisgICAgbmV3OiBQeV9idWZmZXIKKyAgICBjb3VudDogUHlfc3NpemVfdCA9IC0xCisgICAgICAgIE1heGltdW0gbnVtYmVyIG9mIG9jY3VycmVuY2VzIHRvIHJlcGxhY2UuCisgICAgICAgIC0xICh0aGUgZGVmYXVsdCB2YWx1ZSkgbWVhbnMgcmVwbGFjZSBhbGwgb2NjdXJyZW5jZXMuCisgICAgLworCitSZXR1cm4gYSBjb3B5IHdpdGggYWxsIG9jY3VycmVuY2VzIG9mIHN1YnN0cmluZyBvbGQgcmVwbGFjZWQgYnkgbmV3LgorCitJZiB0aGUgb3B0aW9uYWwgYXJndW1lbnQgY291bnQgaXMgZ2l2ZW4sIG9ubHkgdGhlIGZpcnN0IGNvdW50IG9jY3VycmVuY2VzIGFyZQorcmVwbGFjZWQuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihieXRlc19yZXBsYWNlX19kb2NfXywKKyJyZXBsYWNlKCRzZWxmLCBvbGQsIG5ldywgY291bnQ9LTEsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJSZXR1cm4gYSBjb3B5IHdpdGggYWxsIG9jY3VycmVuY2VzIG9mIHN1YnN0cmluZyBvbGQgcmVwbGFjZWQgYnkgbmV3LlxuIgorIlxuIgorIiAgY291bnRcbiIKKyIgICAgTWF4aW11bSBudW1iZXIgb2Ygb2NjdXJyZW5jZXMgdG8gcmVwbGFjZS5cbiIKKyIgICAgLTEgKHRoZSBkZWZhdWx0IHZhbHVlKSBtZWFucyByZXBsYWNlIGFsbCBvY2N1cnJlbmNlcy5cbiIKKyJcbiIKKyJJZiB0aGUgb3B0aW9uYWwgYXJndW1lbnQgY291bnQgaXMgZ2l2ZW4sIG9ubHkgdGhlIGZpcnN0IGNvdW50IG9jY3VycmVuY2VzIGFyZVxuIgorInJlcGxhY2VkLiIpOworCisjZGVmaW5lIEJZVEVTX1JFUExBQ0VfTUVUSE9EREVGICAgIFwKKyAgICB7InJlcGxhY2UiLCAoUHlDRnVuY3Rpb24pYnl0ZXNfcmVwbGFjZSwgTUVUSF9WQVJBUkdTLCBieXRlc19yZXBsYWNlX19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1ieXRlc19yZXBsYWNlKFB5Qnl0ZXNPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQorYnl0ZXNfcmVwbGFjZV9pbXBsKFB5Qnl0ZXNPYmplY3Qqc2VsZiwgUHlfYnVmZmVyICpvbGQsIFB5X2J1ZmZlciAqbmV3LCBQeV9zc2l6ZV90IGNvdW50KTsKKworc3RhdGljIFB5T2JqZWN0ICoKK2J5dGVzX3JlcGxhY2UoUHlCeXRlc09iamVjdCpzZWxmLCBQeU9iamVjdCAqYXJncykKIHsKLSAgICBQeU9iamVjdCAqcmVzOworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOwogICAgIFB5X2J1ZmZlciBvbGQgPSB7TlVMTCwgTlVMTH07CiAgICAgUHlfYnVmZmVyIG5ldyA9IHtOVUxMLCBOVUxMfTsKICAgICBQeV9zc2l6ZV90IGNvdW50ID0gLTE7CiAKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgInkqeSp8bjpyZXBsYWNlIiwgJm9sZCwgJm5ldywgJmNvdW50KSkKLSAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCisgICAgICAgICJ5KnkqfG46cmVwbGFjZSIsCisgICAgICAgICZvbGQsICZuZXcsICZjb3VudCkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBieXRlc19yZXBsYWNlX2ltcGwoc2VsZiwgJm9sZCwgJm5ldywgY291bnQpOwogCi0gICAgcmVzID0gKFB5T2JqZWN0ICopcmVwbGFjZSgoUHlCeXRlc09iamVjdCAqKSBzZWxmLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNvbnN0IGNoYXIgKilvbGQuYnVmLCBvbGQubGVuLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNvbnN0IGNoYXIgKiluZXcuYnVmLCBuZXcubGVuLCBjb3VudCk7CitleGl0OgorICAgIC8qIENsZWFudXAgZm9yIG9sZCAqLworICAgIGlmIChvbGQub2JqKQorICAgICAgIFB5QnVmZmVyX1JlbGVhc2UoJm9sZCk7CisgICAgLyogQ2xlYW51cCBmb3IgbmV3ICovCisgICAgaWYgKG5ldy5vYmopCisgICAgICAgUHlCdWZmZXJfUmVsZWFzZSgmbmV3KTsKIAotICAgIFB5QnVmZmVyX1JlbGVhc2UoJm9sZCk7Ci0gICAgUHlCdWZmZXJfUmVsZWFzZSgmbmV3KTsKLSAgICByZXR1cm4gcmVzOworICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitieXRlc19yZXBsYWNlX2ltcGwoUHlCeXRlc09iamVjdCpzZWxmLCBQeV9idWZmZXIgKm9sZCwgUHlfYnVmZmVyICpuZXcsIFB5X3NzaXplX3QgY291bnQpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9ZjA3YmQ5ZWNmMjllZThkOCBpbnB1dD1iMmZiYmYwYmYwNGRlOGU1XSovCit7CisgICAgcmV0dXJuIChQeU9iamVjdCAqKXJlcGxhY2UoKFB5Qnl0ZXNPYmplY3QgKikgc2VsZiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY29uc3QgY2hhciAqKW9sZC0+YnVmLCBvbGQtPmxlbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY29uc3QgY2hhciAqKW5ldy0+YnVmLCBuZXctPmxlbiwgY291bnQpOwogfQogCiAvKiogRW5kIERBTEtFICoqLwpAQCAtMjI1MSw2MCArMzI0MCwxMjEgQEAKIH0KIAogCi1QeURvY19TVFJWQVIoZGVjb2RlX19kb2NfXywKLSJCLmRlY29kZShlbmNvZGluZz0ndXRmLTgnLCBlcnJvcnM9J3N0cmljdCcpIC0+IHN0clxuXAotXG5cCi1EZWNvZGUgQiB1c2luZyB0aGUgY29kZWMgcmVnaXN0ZXJlZCBmb3IgZW5jb2RpbmcuIERlZmF1bHQgZW5jb2RpbmdcblwKLWlzICd1dGYtOCcuIGVycm9ycyBtYXkgYmUgZ2l2ZW4gdG8gc2V0IGEgZGlmZmVyZW50IGVycm9yXG5cCi1oYW5kbGluZyBzY2hlbWUuICBEZWZhdWx0IGlzICdzdHJpY3QnIG1lYW5pbmcgdGhhdCBlbmNvZGluZyBlcnJvcnMgcmFpc2VcblwKLWEgVW5pY29kZURlY29kZUVycm9yLiAgT3RoZXIgcG9zc2libGUgdmFsdWVzIGFyZSAnaWdub3JlJyBhbmQgJ3JlcGxhY2UnXG5cCi1hcyB3ZWxsIGFzIGFueSBvdGhlciBuYW1lIHJlZ2lzdGVyZCB3aXRoIGNvZGVjcy5yZWdpc3Rlcl9lcnJvciB0aGF0IGlzXG5cCi1hYmxlIHRvIGhhbmRsZSBVbmljb2RlRGVjb2RlRXJyb3JzLiIpOworLypbY2xpbmljIGlucHV0XQorYnl0ZXMuZGVjb2RlCisKKyAgICBlbmNvZGluZzogc3RyKGNfZGVmYXVsdD0iTlVMTCIpID0gJ3V0Zi04JworICAgICAgICBUaGUgZW5jb2Rpbmcgd2l0aCB3aGljaCB0byBkZWNvZGUgdGhlIGJ5dGVzLgorICAgIGVycm9yczogc3RyKGNfZGVmYXVsdD0iTlVMTCIpID0gJ3N0cmljdCcKKyAgICAgICAgVGhlIGVycm9yIGhhbmRsaW5nIHNjaGVtZSB0byB1c2UgZm9yIHRoZSBoYW5kbGluZyBvZiBkZWNvZGluZyBlcnJvcnMuCisgICAgICAgIFRoZSBkZWZhdWx0IGlzICdzdHJpY3QnIG1lYW5pbmcgdGhhdCBkZWNvZGluZyBlcnJvcnMgcmFpc2UgYQorICAgICAgICBVbmljb2RlRGVjb2RlRXJyb3IuIE90aGVyIHBvc3NpYmxlIHZhbHVlcyBhcmUgJ2lnbm9yZScgYW5kICdyZXBsYWNlJworICAgICAgICBhcyB3ZWxsIGFzIGFueSBvdGhlciBuYW1lIHJlZ2lzdGVyZWQgd2l0aCBjb2RlY3MucmVnaXN0ZXJfZXJyb3IgdGhhdAorICAgICAgICBjYW4gaGFuZGxlIFVuaWNvZGVEZWNvZGVFcnJvcnMuCisKK0RlY29kZSB0aGUgYnl0ZXMgdXNpbmcgdGhlIGNvZGVjIHJlZ2lzdGVyZWQgZm9yIGVuY29kaW5nLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIoYnl0ZXNfZGVjb2RlX19kb2NfXywKKyJkZWNvZGUoJHNlbGYsIC8sIGVuY29kaW5nPVwndXRmLThcJywgZXJyb3JzPVwnc3RyaWN0XCcpXG4iCisiLS1cbiIKKyJcbiIKKyJEZWNvZGUgdGhlIGJ5dGVzIHVzaW5nIHRoZSBjb2RlYyByZWdpc3RlcmVkIGZvciBlbmNvZGluZy5cbiIKKyJcbiIKKyIgIGVuY29kaW5nXG4iCisiICAgIFRoZSBlbmNvZGluZyB3aXRoIHdoaWNoIHRvIGRlY29kZSB0aGUgYnl0ZXMuXG4iCisiICBlcnJvcnNcbiIKKyIgICAgVGhlIGVycm9yIGhhbmRsaW5nIHNjaGVtZSB0byB1c2UgZm9yIHRoZSBoYW5kbGluZyBvZiBkZWNvZGluZyBlcnJvcnMuXG4iCisiICAgIFRoZSBkZWZhdWx0IGlzIFwnc3RyaWN0XCcgbWVhbmluZyB0aGF0IGRlY29kaW5nIGVycm9ycyByYWlzZSBhXG4iCisiICAgIFVuaWNvZGVEZWNvZGVFcnJvci4gT3RoZXIgcG9zc2libGUgdmFsdWVzIGFyZSBcJ2lnbm9yZVwnIGFuZCBcJ3JlcGxhY2VcJ1xuIgorIiAgICBhcyB3ZWxsIGFzIGFueSBvdGhlciBuYW1lIHJlZ2lzdGVyZWQgd2l0aCBjb2RlY3MucmVnaXN0ZXJfZXJyb3IgdGhhdFxuIgorIiAgICBjYW4gaGFuZGxlIFVuaWNvZGVEZWNvZGVFcnJvcnMuIik7CisKKyNkZWZpbmUgQllURVNfREVDT0RFX01FVEhPRERFRiAgICBcCisgICAgeyJkZWNvZGUiLCAoUHlDRnVuY3Rpb24pYnl0ZXNfZGVjb2RlLCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywgYnl0ZXNfZGVjb2RlX19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1ieXRlc19kZWNvZGUoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQorYnl0ZXNfZGVjb2RlX2ltcGwoUHlCeXRlc09iamVjdCpzZWxmLCBjb25zdCBjaGFyICplbmNvZGluZywgY29uc3QgY2hhciAqZXJyb3JzKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK2J5dGVzX2RlY29kZShQeUJ5dGVzT2JqZWN0KnNlbGYsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQogeworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIHN0YXRpYyBjaGFyICpfa2V5d29yZHNbXSA9IHsiZW5jb2RpbmciLCAiZXJyb3JzIiwgTlVMTH07CiAgICAgY29uc3QgY2hhciAqZW5jb2RpbmcgPSBOVUxMOwogICAgIGNvbnN0IGNoYXIgKmVycm9ycyA9IE5VTEw7Ci0gICAgc3RhdGljIGNoYXIgKmt3bGlzdFtdID0geyJlbmNvZGluZyIsICJlcnJvcnMiLCAwfTsKIAotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywgInxzczpkZWNvZGUiLCBrd2xpc3QsICZlbmNvZGluZywgJmVycm9ycykpCi0gICAgICAgIHJldHVybiBOVUxMOwotICAgIHJldHVybiBQeVVuaWNvZGVfRnJvbUVuY29kZWRPYmplY3Qoc2VsZiwgZW5jb2RpbmcsIGVycm9ycyk7CisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLAorICAgICAgICAifHNzOmRlY29kZSIsIF9rZXl3b3JkcywKKyAgICAgICAgJmVuY29kaW5nLCAmZXJyb3JzKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IGJ5dGVzX2RlY29kZV9pbXBsKHNlbGYsIGVuY29kaW5nLCBlcnJvcnMpOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitieXRlc19kZWNvZGVfaW1wbChQeUJ5dGVzT2JqZWN0KnNlbGYsIGNvbnN0IGNoYXIgKmVuY29kaW5nLCBjb25zdCBjaGFyICplcnJvcnMpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9NjFhODAyOTBiYmZjZTY5NiBpbnB1dD05NTgxNzQ3NjlkMmE0MGNhXSovCit7CisgICAgcmV0dXJuIFB5VW5pY29kZV9Gcm9tRW5jb2RlZE9iamVjdCgoUHlPYmplY3QqKXNlbGYsIGVuY29kaW5nLCBlcnJvcnMpOwogfQogCiAKLVB5RG9jX1NUUlZBUihzcGxpdGxpbmVzX19kb2NfXywKLSJCLnNwbGl0bGluZXMoW2tlZXBlbmRzXSkgLT4gbGlzdCBvZiBsaW5lc1xuXAotXG5cCi1SZXR1cm4gYSBsaXN0IG9mIHRoZSBsaW5lcyBpbiBCLCBicmVha2luZyBhdCBsaW5lIGJvdW5kYXJpZXMuXG5cCi1MaW5lIGJyZWFrcyBhcmUgbm90IGluY2x1ZGVkIGluIHRoZSByZXN1bHRpbmcgbGlzdCB1bmxlc3Mga2VlcGVuZHNcblwKLWlzIGdpdmVuIGFuZCB0cnVlLiIpOworLypbY2xpbmljIGlucHV0XQorYnl0ZXMuc3BsaXRsaW5lcwogCi1zdGF0aWMgUHlPYmplY3QqCi1ieXRlc19zcGxpdGxpbmVzKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3ZHMpCisgICAga2VlcGVuZHM6IGludChweV9kZWZhdWx0PSJGYWxzZSIpID0gMAorCitSZXR1cm4gYSBsaXN0IG9mIHRoZSBsaW5lcyBpbiB0aGUgYnl0ZXMsIGJyZWFraW5nIGF0IGxpbmUgYm91bmRhcmllcy4KKworTGluZSBicmVha3MgYXJlIG5vdCBpbmNsdWRlZCBpbiB0aGUgcmVzdWx0aW5nIGxpc3QgdW5sZXNzIGtlZXBlbmRzIGlzIGdpdmVuIGFuZAordHJ1ZS4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKGJ5dGVzX3NwbGl0bGluZXNfX2RvY19fLAorInNwbGl0bGluZXMoJHNlbGYsIC8sIGtlZXBlbmRzPUZhbHNlKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJuIGEgbGlzdCBvZiB0aGUgbGluZXMgaW4gdGhlIGJ5dGVzLCBicmVha2luZyBhdCBsaW5lIGJvdW5kYXJpZXMuXG4iCisiXG4iCisiTGluZSBicmVha3MgYXJlIG5vdCBpbmNsdWRlZCBpbiB0aGUgcmVzdWx0aW5nIGxpc3QgdW5sZXNzIGtlZXBlbmRzIGlzIGdpdmVuIGFuZFxuIgorInRydWUuIik7CisKKyNkZWZpbmUgQllURVNfU1BMSVRMSU5FU19NRVRIT0RERUYgICAgXAorICAgIHsic3BsaXRsaW5lcyIsIChQeUNGdW5jdGlvbilieXRlc19zcGxpdGxpbmVzLCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywgYnl0ZXNfc3BsaXRsaW5lc19fZG9jX199LAorCitzdGF0aWMgUHlPYmplY3QgKgorYnl0ZXNfc3BsaXRsaW5lc19pbXBsKFB5Qnl0ZXNPYmplY3Qqc2VsZiwgaW50IGtlZXBlbmRzKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK2J5dGVzX3NwbGl0bGluZXMoUHlCeXRlc09iamVjdCpzZWxmLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3YXJncykKIHsKLSAgICBzdGF0aWMgY2hhciAqa3dsaXN0W10gPSB7ImtlZXBlbmRzIiwgMH07CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgc3RhdGljIGNoYXIgKl9rZXl3b3Jkc1tdID0geyJrZWVwZW5kcyIsIE5VTEx9OwogICAgIGludCBrZWVwZW5kcyA9IDA7CiAKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2RzLCAifGk6c3BsaXRsaW5lcyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga3dsaXN0LCAma2VlcGVuZHMpKQotICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsCisgICAgICAgICJ8aTpzcGxpdGxpbmVzIiwgX2tleXdvcmRzLAorICAgICAgICAma2VlcGVuZHMpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gYnl0ZXNfc3BsaXRsaW5lc19pbXBsKHNlbGYsIGtlZXBlbmRzKTsKIAorZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorYnl0ZXNfc3BsaXRsaW5lc19pbXBsKFB5Qnl0ZXNPYmplY3Qqc2VsZiwgaW50IGtlZXBlbmRzKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTc5ZGEwNTdkMDVkMTI2ZGUgaW5wdXQ9ZGRiOTNlMzM1MTA4MGM4Y10qLworewogICAgIHJldHVybiBzdHJpbmdsaWJfc3BsaXRsaW5lcygKICAgICAgICAgKFB5T2JqZWN0Kikgc2VsZiwgUHlCeXRlc19BU19TVFJJTkcoc2VsZiksCiAgICAgICAgIFB5Qnl0ZXNfR0VUX1NJWkUoc2VsZiksIGtlZXBlbmRzCiAgICAgICAgICk7CiB9CiAKLQotUHlEb2NfU1RSVkFSKGZyb21oZXhfZG9jLAotImJ5dGVzLmZyb21oZXgoc3RyaW5nKSAtPiBieXRlc1xuXAotXG5cCi1DcmVhdGUgYSBieXRlcyBvYmplY3QgZnJvbSBhIHN0cmluZyBvZiBoZXhhZGVjaW1hbCBudW1iZXJzLlxuXAotU3BhY2VzIGJldHdlZW4gdHdvIG51bWJlcnMgYXJlIGFjY2VwdGVkLlxuXAotRXhhbXBsZTogYnl0ZXMuZnJvbWhleCgnQjkgMDFFRicpIC0+IGInXFx4YjlcXHgwMVxceGVmJy4iKTsKLQogc3RhdGljIGludAogaGV4X2RpZ2l0X3RvX2ludChQeV9VQ1M0IGMpCiB7CkBAIC0yMzIxLDI0ICszMzcxLDY3IEBACiAgICAgcmV0dXJuIC0xOwogfQogCisvKltjbGluaWMgaW5wdXRdCitAY2xhc3NtZXRob2QKK2J5dGVzLmZyb21oZXgKKworICAgIHN0cmluZzogdW5pY29kZQorICAgIC8KKworQ3JlYXRlIGEgYnl0ZXMgb2JqZWN0IGZyb20gYSBzdHJpbmcgb2YgaGV4YWRlY2ltYWwgbnVtYmVycy4KKworU3BhY2VzIGJldHdlZW4gdHdvIG51bWJlcnMgYXJlIGFjY2VwdGVkLgorRXhhbXBsZTogYnl0ZXMuZnJvbWhleCgnQjkgMDFFRicpIC0+IGInXFx4YjlcXHgwMVxceGVmJy4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKGJ5dGVzX2Zyb21oZXhfX2RvY19fLAorImZyb21oZXgoJHR5cGUsIHN0cmluZywgLylcbiIKKyItLVxuIgorIlxuIgorIkNyZWF0ZSBhIGJ5dGVzIG9iamVjdCBmcm9tIGEgc3RyaW5nIG9mIGhleGFkZWNpbWFsIG51bWJlcnMuXG4iCisiXG4iCisiU3BhY2VzIGJldHdlZW4gdHdvIG51bWJlcnMgYXJlIGFjY2VwdGVkLlxuIgorIkV4YW1wbGU6IGJ5dGVzLmZyb21oZXgoXCdCOSAwMUVGXCcpIC0+IGJcJ1xcXFx4YjlcXFxceDAxXFxcXHhlZlwnLiIpOworCisjZGVmaW5lIEJZVEVTX0ZST01IRVhfTUVUSE9EREVGICAgIFwKKyAgICB7ImZyb21oZXgiLCAoUHlDRnVuY3Rpb24pYnl0ZXNfZnJvbWhleCwgTUVUSF9WQVJBUkdTfE1FVEhfQ0xBU1MsIGJ5dGVzX2Zyb21oZXhfX2RvY19ffSwKKwogc3RhdGljIFB5T2JqZWN0ICoKLWJ5dGVzX2Zyb21oZXgoUHlPYmplY3QgKmNscywgUHlPYmplY3QgKmFyZ3MpCitieXRlc19mcm9taGV4X2ltcGwoUHlUeXBlT2JqZWN0ICp0eXBlLCBQeU9iamVjdCAqc3RyaW5nKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK2J5dGVzX2Zyb21oZXgoUHlUeXBlT2JqZWN0ICp0eXBlLCBQeU9iamVjdCAqYXJncykKIHsKLSAgICBQeU9iamVjdCAqbmV3c3RyaW5nLCAqaGV4b2JqOworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIFB5T2JqZWN0ICpzdHJpbmc7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgIlU6ZnJvbWhleCIsCisgICAgICAgICZzdHJpbmcpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gYnl0ZXNfZnJvbWhleF9pbXBsKHR5cGUsIHN0cmluZyk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK2J5dGVzX2Zyb21oZXhfaW1wbChQeVR5cGVPYmplY3QgKnR5cGUsIFB5T2JqZWN0ICpzdHJpbmcpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9MDllNmNiZWY1NmNiYmI2NSBpbnB1dD1iZjRkMWMzNjE2NzBhY2QzXSovCit7CisgICAgUHlPYmplY3QgKm5ld3N0cmluZzsKICAgICBjaGFyICpidWY7CiAgICAgUHlfc3NpemVfdCBoZXhsZW4sIGJ5dGVzbGVuLCBpLCBqOwogICAgIGludCB0b3AsIGJvdDsKICAgICB2b2lkICpkYXRhOwogICAgIHVuc2lnbmVkIGludCBraW5kOwogCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJVOmZyb21oZXgiLCAmaGV4b2JqKSkKKyAgICBhc3NlcnQoUHlVbmljb2RlX0NoZWNrKHN0cmluZykpOworICAgIGlmIChQeVVuaWNvZGVfUkVBRFkoc3RyaW5nKSkKICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgYXNzZXJ0KFB5VW5pY29kZV9DaGVjayhoZXhvYmopKTsKLSAgICBpZiAoUHlVbmljb2RlX1JFQURZKGhleG9iaikpCi0gICAgICAgIHJldHVybiBOVUxMOwotICAgIGtpbmQgPSBQeVVuaWNvZGVfS0lORChoZXhvYmopOwotICAgIGRhdGEgPSBQeVVuaWNvZGVfREFUQShoZXhvYmopOwotICAgIGhleGxlbiA9IFB5VW5pY29kZV9HRVRfTEVOR1RIKGhleG9iaik7CisgICAga2luZCA9IFB5VW5pY29kZV9LSU5EKHN0cmluZyk7CisgICAgZGF0YSA9IFB5VW5pY29kZV9EQVRBKHN0cmluZyk7CisgICAgaGV4bGVuID0gUHlVbmljb2RlX0dFVF9MRU5HVEgoc3RyaW5nKTsKIAogICAgIGJ5dGVzbGVuID0gaGV4bGVuLzI7IC8qIFRoaXMgb3ZlcmVzdGltYXRlcyBpZiB0aGVyZSBhcmUgc3BhY2VzICovCiAgICAgbmV3c3RyaW5nID0gUHlCeXRlc19Gcm9tU3RyaW5nQW5kU2l6ZShOVUxMLCBieXRlc2xlbik7CkBAIC0yMzcwLDE0ICszNDYzLDM4IEBACiAgICAgcmV0dXJuIE5VTEw7CiB9CiAKLVB5RG9jX1NUUlZBUihzaXplb2ZfX2RvY19fLAotIkIuX19zaXplb2ZfXygpIC0+IHNpemUgb2YgQiBpbiBtZW1vcnksIGluIGJ5dGVzIik7CisvKltjbGluaWMgaW5wdXRdCitieXRlcy5fX3NpemVvZl9fIGFzIGJ5dGVzX3NpemVvZgorCisgICAgc2VsZjogc2VsZih0eXBlPSJQeUJ5dGVzT2JqZWN0ICoiKQorCitSZXR1cm5zIHRoZSBzaXplIG9mIHRoZSBieXRlcyBvYmplY3QgaW4gbWVtb3J5LCBpbiBieXRlcy4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKGJ5dGVzX3NpemVvZl9fZG9jX18sCisiX19zaXplb2ZfXygkc2VsZiwgLylcbiIKKyItLVxuIgorIlxuIgorIlJldHVybnMgdGhlIHNpemUgb2YgdGhlIGJ5dGVzIG9iamVjdCBpbiBtZW1vcnksIGluIGJ5dGVzLiIpOworCisjZGVmaW5lIEJZVEVTX1NJWkVPRl9NRVRIT0RERUYgICAgXAorICAgIHsiX19zaXplb2ZfXyIsIChQeUNGdW5jdGlvbilieXRlc19zaXplb2YsIE1FVEhfTk9BUkdTLCBieXRlc19zaXplb2ZfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLWJ5dGVzX3NpemVvZihQeUJ5dGVzT2JqZWN0ICp2KQorYnl0ZXNfc2l6ZW9mX2ltcGwoUHlCeXRlc09iamVjdCAqc2VsZik7CisKK3N0YXRpYyBQeU9iamVjdCAqCitieXRlc19zaXplb2YoUHlCeXRlc09iamVjdCAqc2VsZiwgUHlPYmplY3QgKlB5X1VOVVNFRChpZ25vcmVkKSkKK3sKKyAgICByZXR1cm4gYnl0ZXNfc2l6ZW9mX2ltcGwoc2VsZik7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitieXRlc19zaXplb2ZfaW1wbChQeUJ5dGVzT2JqZWN0ICpzZWxmKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTQ0OTMzMjc5MzQzZjI0YWUgaW5wdXQ9YmVlNGM2NGJiNDIwNzhlZF0qLwogewogICAgIFB5X3NzaXplX3QgcmVzOwotICAgIHJlcyA9IFB5Qnl0ZXNPYmplY3RfU0laRSArIFB5X1NJWkUodikgKiBQeV9UWVBFKHYpLT50cF9pdGVtc2l6ZTsKKyAgICByZXMgPSBQeUJ5dGVzT2JqZWN0X1NJWkUgKyBQeV9TSVpFKHNlbGYpICogUHlfVFlQRShzZWxmKS0+dHBfaXRlbXNpemU7CiAgICAgcmV0dXJuIFB5TG9uZ19Gcm9tU3NpemVfdChyZXMpOwogfQogCkBAIC0yMzk2LDE0ICszNTEzLDEzIEBACiAgICAgIF9QeV9jYXBpdGFsaXplX19kb2NfX30sCiAgICAgeyJjZW50ZXIiLCAoUHlDRnVuY3Rpb24pc3RyaW5nbGliX2NlbnRlciwgTUVUSF9WQVJBUkdTLCBjZW50ZXJfX2RvY19ffSwKICAgICB7ImNvdW50IiwgKFB5Q0Z1bmN0aW9uKWJ5dGVzX2NvdW50LCBNRVRIX1ZBUkFSR1MsIGNvdW50X19kb2NfX30sCi0gICAgeyJkZWNvZGUiLCAoUHlDRnVuY3Rpb24pYnl0ZXNfZGVjb2RlLCBNRVRIX1ZBUkFSR1MgfCBNRVRIX0tFWVdPUkRTLCBkZWNvZGVfX2RvY19ffSwKKyAgICBCWVRFU19ERUNPREVfTUVUSE9EREVGCiAgICAgeyJlbmRzd2l0aCIsIChQeUNGdW5jdGlvbilieXRlc19lbmRzd2l0aCwgTUVUSF9WQVJBUkdTLAogICAgICBlbmRzd2l0aF9fZG9jX199LAogICAgIHsiZXhwYW5kdGFicyIsIChQeUNGdW5jdGlvbilzdHJpbmdsaWJfZXhwYW5kdGFicywgTUVUSF9WQVJBUkdTIHwgTUVUSF9LRVlXT1JEUywKICAgICAgZXhwYW5kdGFic19fZG9jX199LAogICAgIHsiZmluZCIsIChQeUNGdW5jdGlvbilieXRlc19maW5kLCBNRVRIX1ZBUkFSR1MsIGZpbmRfX2RvY19ffSwKLSAgICB7ImZyb21oZXgiLCAoUHlDRnVuY3Rpb24pYnl0ZXNfZnJvbWhleCwgTUVUSF9WQVJBUkdTfE1FVEhfQ0xBU1MsCi0gICAgIGZyb21oZXhfZG9jfSwKKyAgICBCWVRFU19GUk9NSEVYX01FVEhPRERFRgogICAgIHsiaW5kZXgiLCAoUHlDRnVuY3Rpb24pYnl0ZXNfaW5kZXgsIE1FVEhfVkFSQVJHUywgaW5kZXhfX2RvY19ffSwKICAgICB7ImlzYWxudW0iLCAoUHlDRnVuY3Rpb24pc3RyaW5nbGliX2lzYWxudW0sIE1FVEhfTk9BUkdTLAogICAgICBfUHlfaXNhbG51bV9fZG9jX199LApAQCAtMjQxOSw0MCArMzUzNSw1MCBAQAogICAgICBfUHlfaXN0aXRsZV9fZG9jX199LAogICAgIHsiaXN1cHBlciIsIChQeUNGdW5jdGlvbilzdHJpbmdsaWJfaXN1cHBlciwgTUVUSF9OT0FSR1MsCiAgICAgIF9QeV9pc3VwcGVyX19kb2NfX30sCi0gICAgeyJqb2luIiwgKFB5Q0Z1bmN0aW9uKWJ5dGVzX2pvaW4sIE1FVEhfTywgam9pbl9fZG9jX199LAorICAgIEJZVEVTX0pPSU5fTUVUSE9EREVGCiAgICAgeyJsanVzdCIsIChQeUNGdW5jdGlvbilzdHJpbmdsaWJfbGp1c3QsIE1FVEhfVkFSQVJHUywgbGp1c3RfX2RvY19ffSwKICAgICB7Imxvd2VyIiwgKFB5Q0Z1bmN0aW9uKXN0cmluZ2xpYl9sb3dlciwgTUVUSF9OT0FSR1MsIF9QeV9sb3dlcl9fZG9jX199LAotICAgIHsibHN0cmlwIiwgKFB5Q0Z1bmN0aW9uKWJ5dGVzX2xzdHJpcCwgTUVUSF9WQVJBUkdTLCBsc3RyaXBfX2RvY19ffSwKLSAgICB7Im1ha2V0cmFucyIsIChQeUNGdW5jdGlvbilieXRlc19tYWtldHJhbnMsIE1FVEhfVkFSQVJHU3xNRVRIX1NUQVRJQywKLSAgICAgX1B5X21ha2V0cmFuc19fZG9jX199LAotICAgIHsicGFydGl0aW9uIiwgKFB5Q0Z1bmN0aW9uKWJ5dGVzX3BhcnRpdGlvbiwgTUVUSF9PLCBwYXJ0aXRpb25fX2RvY19ffSwKLSAgICB7InJlcGxhY2UiLCAoUHlDRnVuY3Rpb24pYnl0ZXNfcmVwbGFjZSwgTUVUSF9WQVJBUkdTLCByZXBsYWNlX19kb2NfX30sCisgICAgQllURVNfTFNUUklQX01FVEhPRERFRgorICAgIEJZVEVTX01BS0VUUkFOU19NRVRIT0RERUYKKyAgICBCWVRFU19QQVJUSVRJT05fTUVUSE9EREVGCisgICAgQllURVNfUkVQTEFDRV9NRVRIT0RERUYKICAgICB7InJmaW5kIiwgKFB5Q0Z1bmN0aW9uKWJ5dGVzX3JmaW5kLCBNRVRIX1ZBUkFSR1MsIHJmaW5kX19kb2NfX30sCiAgICAgeyJyaW5kZXgiLCAoUHlDRnVuY3Rpb24pYnl0ZXNfcmluZGV4LCBNRVRIX1ZBUkFSR1MsIHJpbmRleF9fZG9jX199LAogICAgIHsicmp1c3QiLCAoUHlDRnVuY3Rpb24pc3RyaW5nbGliX3JqdXN0LCBNRVRIX1ZBUkFSR1MsIHJqdXN0X19kb2NfX30sCi0gICAgeyJycGFydGl0aW9uIiwgKFB5Q0Z1bmN0aW9uKWJ5dGVzX3JwYXJ0aXRpb24sIE1FVEhfTywKLSAgICAgcnBhcnRpdGlvbl9fZG9jX199LAotICAgIHsicnNwbGl0IiwgKFB5Q0Z1bmN0aW9uKWJ5dGVzX3JzcGxpdCwgTUVUSF9WQVJBUkdTIHwgTUVUSF9LRVlXT1JEUywgcnNwbGl0X19kb2NfX30sCi0gICAgeyJyc3RyaXAiLCAoUHlDRnVuY3Rpb24pYnl0ZXNfcnN0cmlwLCBNRVRIX1ZBUkFSR1MsIHJzdHJpcF9fZG9jX199LAotICAgIHsic3BsaXQiLCAoUHlDRnVuY3Rpb24pYnl0ZXNfc3BsaXQsIE1FVEhfVkFSQVJHUyB8IE1FVEhfS0VZV09SRFMsIHNwbGl0X19kb2NfX30sCi0gICAgeyJzcGxpdGxpbmVzIiwgKFB5Q0Z1bmN0aW9uKWJ5dGVzX3NwbGl0bGluZXMsIE1FVEhfVkFSQVJHUyB8IE1FVEhfS0VZV09SRFMsCi0gICAgIHNwbGl0bGluZXNfX2RvY19ffSwKKyAgICBCWVRFU19SUEFSVElUSU9OX01FVEhPRERFRgorICAgIEJZVEVTX1JTUExJVF9NRVRIT0RERUYKKyAgICBCWVRFU19SU1RSSVBfTUVUSE9EREVGCisgICAgQllURVNfU1BMSVRfTUVUSE9EREVGCisgICAgQllURVNfU1BMSVRMSU5FU19NRVRIT0RERUYKICAgICB7InN0YXJ0c3dpdGgiLCAoUHlDRnVuY3Rpb24pYnl0ZXNfc3RhcnRzd2l0aCwgTUVUSF9WQVJBUkdTLAogICAgICBzdGFydHN3aXRoX19kb2NfX30sCi0gICAgeyJzdHJpcCIsIChQeUNGdW5jdGlvbilieXRlc19zdHJpcCwgTUVUSF9WQVJBUkdTLCBzdHJpcF9fZG9jX199LAorICAgIEJZVEVTX1NUUklQX01FVEhPRERFRgogICAgIHsic3dhcGNhc2UiLCAoUHlDRnVuY3Rpb24pc3RyaW5nbGliX3N3YXBjYXNlLCBNRVRIX05PQVJHUywKICAgICAgX1B5X3N3YXBjYXNlX19kb2NfX30sCiAgICAgeyJ0aXRsZSIsIChQeUNGdW5jdGlvbilzdHJpbmdsaWJfdGl0bGUsIE1FVEhfTk9BUkdTLCBfUHlfdGl0bGVfX2RvY19ffSwKLSAgICB7InRyYW5zbGF0ZSIsIChQeUNGdW5jdGlvbilieXRlc190cmFuc2xhdGUsIE1FVEhfVkFSQVJHUywKLSAgICAgdHJhbnNsYXRlX19kb2NfX30sCisgICAgQllURVNfVFJBTlNMQVRFX01FVEhPRERFRgogICAgIHsidXBwZXIiLCAoUHlDRnVuY3Rpb24pc3RyaW5nbGliX3VwcGVyLCBNRVRIX05PQVJHUywgX1B5X3VwcGVyX19kb2NfX30sCiAgICAgeyJ6ZmlsbCIsIChQeUNGdW5jdGlvbilzdHJpbmdsaWJfemZpbGwsIE1FVEhfVkFSQVJHUywgemZpbGxfX2RvY19ffSwKLSAgICB7Il9fc2l6ZW9mX18iLCAoUHlDRnVuY3Rpb24pYnl0ZXNfc2l6ZW9mLCBNRVRIX05PQVJHUywKLSAgICAgc2l6ZW9mX19kb2NfX30sCisgICAgQllURVNfU0laRU9GX01FVEhPRERFRgogICAgIHtOVUxMLCAgICAgTlVMTH0gICAgICAgICAgICAgICAgICAgICAgICAgLyogc2VudGluZWwgKi8KIH07CiAKIHN0YXRpYyBQeU9iamVjdCAqCitieXRlc19tb2QoUHlPYmplY3QgKnYsIFB5T2JqZWN0ICp3KQoreworICAgIGlmICghUHlCeXRlc19DaGVjayh2KSkKKyAgICAgICAgUHlfUkVUVVJOX05PVElNUExFTUVOVEVEOworICAgIHJldHVybiBfUHlCeXRlc19Gb3JtYXQodiwgdyk7Cit9CisKK3N0YXRpYyBQeU51bWJlck1ldGhvZHMgYnl0ZXNfYXNfbnVtYmVyID0geworICAgIDAsICAgICAgICAgICAgICAvKm5iX2FkZCovCisgICAgMCwgICAgICAgICAgICAgIC8qbmJfc3VidHJhY3QqLworICAgIDAsICAgICAgICAgICAgICAvKm5iX211bHRpcGx5Ki8KKyAgICBieXRlc19tb2QsICAgICAgLypuYl9yZW1haW5kZXIqLworfTsKKworc3RhdGljIFB5T2JqZWN0ICoKIHN0cl9zdWJ0eXBlX25ldyhQeVR5cGVPYmplY3QgKnR5cGUsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dkcyk7CiAKIHN0YXRpYyBQeU9iamVjdCAqCkBAIC0yNDc5LDcgKzM2MDUsNyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICJhcmd1bWVudCIpOwogICAgICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgICAgIH0KLSAgICAgICAgcmV0dXJuIFB5Qnl0ZXNfRnJvbVN0cmluZygiIik7CisgICAgICAgIHJldHVybiBQeUJ5dGVzX0Zyb21TdHJpbmdBbmRTaXplKE5VTEwsIDApOwogICAgIH0KIAogICAgIGlmIChQeVVuaWNvZGVfQ2hlY2soeCkpIHsKQEAgLTI1MzYsMTEgKzM2NjIsOSBAQAogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CiAgICAgZWxzZSB7Ci0gICAgICAgIG5ldyA9IFB5Qnl0ZXNfRnJvbVN0cmluZ0FuZFNpemUoTlVMTCwgc2l6ZSk7CisgICAgICAgIG5ldyA9IF9QeUJ5dGVzX0Zyb21TaXplKHNpemUsIDEpOwogICAgICAgICBpZiAobmV3ID09IE5VTEwpCiAgICAgICAgICAgICByZXR1cm4gTlVMTDsKLSAgICAgICAgaWYgKHNpemUgPiAwKQotICAgICAgICAgICAgbWVtc2V0KCgoUHlCeXRlc09iamVjdCopbmV3KS0+b2Jfc3ZhbCwgMCwgc2l6ZSk7CiAgICAgICAgIHJldHVybiBuZXc7CiAgICAgfQogCkBAIC0yNjM4LDEwICszNzYyLDEyIEBACiAgICAgICAgcmV0dXJuaW5nIGEgc2hhcmVkIGVtcHR5IGJ5dGVzIHN0cmluZy4gVGhpcyByZXF1aXJlZCBiZWNhdXNlIHdlCiAgICAgICAgd2FudCB0byBjYWxsIF9QeUJ5dGVzX1Jlc2l6ZSgpIHRoZSByZXR1cm5lZCBvYmplY3QsIHdoaWNoIHdlIGNhbgogICAgICAgIG9ubHkgZG8gb24gYnl0ZXMgb2JqZWN0cyB3aXRoIHJlZmNvdW50ID09IDEuICovCi0gICAgc2l6ZSArPSAxOworICAgIGlmIChzaXplID09IDApCisgICAgICAgIHNpemUgPSAxOwogICAgIG5ldyA9IFB5Qnl0ZXNfRnJvbVN0cmluZ0FuZFNpemUoTlVMTCwgc2l6ZSk7CiAgICAgaWYgKG5ldyA9PSBOVUxMKQogICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBhc3NlcnQoUHlfUkVGQ05UKG5ldykgPT0gMSk7CiAKICAgICAvKiBHZXQgdGhlIGl0ZXJhdG9yICovCiAgICAgaXQgPSBQeU9iamVjdF9HZXRJdGVyKHgpOwpAQCAtMjc0Myw3ICszODY5LDcgQEAKICAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX3NldGF0dHIgKi8KICAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX3Jlc2VydmVkICovCiAgICAgKHJlcHJmdW5jKWJ5dGVzX3JlcHIsICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9yZXByICovCi0gICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9hc19udW1iZXIgKi8KKyAgICAmYnl0ZXNfYXNfbnVtYmVyLCAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2FzX251bWJlciAqLwogICAgICZieXRlc19hc19zZXF1ZW5jZSwgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfYXNfc2VxdWVuY2UgKi8KICAgICAmYnl0ZXNfYXNfbWFwcGluZywgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2FzX21hcHBpbmcgKi8KICAgICAoaGFzaGZ1bmMpYnl0ZXNfaGFzaCwgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2hhc2ggKi8KQEAgLTI3NzgsNyArMzkwNCw2IEBACiB2b2lkCiBQeUJ5dGVzX0NvbmNhdChQeU9iamVjdCAqKnB2LCBQeU9iamVjdCAqdykKIHsKLSAgICBQeU9iamVjdCAqdjsKICAgICBhc3NlcnQocHYgIT0gTlVMTCk7CiAgICAgaWYgKCpwdiA9PSBOVUxMKQogICAgICAgICByZXR1cm47CkBAIC0yNzg2LDkgKzM5MTEsNDUgQEAKICAgICAgICAgUHlfQ0xFQVIoKnB2KTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KLSAgICB2ID0gYnl0ZXNfY29uY2F0KCpwdiwgdyk7Ci0gICAgUHlfREVDUkVGKCpwdik7Ci0gICAgKnB2ID0gdjsKKworICAgIGlmIChQeV9SRUZDTlQoKnB2KSA9PSAxICYmIFB5Qnl0ZXNfQ2hlY2tFeGFjdCgqcHYpKSB7CisgICAgICAgIC8qIE9ubHkgb25lIHJlZmVyZW5jZSwgc28gd2UgY2FuIHJlc2l6ZSBpbiBwbGFjZSAqLworICAgICAgICBQeV9zc2l6ZV90IG9sZHNpemU7CisgICAgICAgIFB5X2J1ZmZlciB3YjsKKworICAgICAgICB3Yi5sZW4gPSAtMTsKKyAgICAgICAgaWYgKFB5T2JqZWN0X0dldEJ1ZmZlcih3LCAmd2IsIFB5QlVGX1NJTVBMRSkgIT0gMCkgeworICAgICAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX1R5cGVFcnJvciwgImNhbid0IGNvbmNhdCAlLjEwMHMgdG8gJS4xMDBzIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICBQeV9UWVBFKHcpLT50cF9uYW1lLCBQeV9UWVBFKCpwdiktPnRwX25hbWUpOworICAgICAgICAgICAgUHlfQ0xFQVIoKnB2KTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorCisgICAgICAgIG9sZHNpemUgPSBQeUJ5dGVzX0dFVF9TSVpFKCpwdik7CisgICAgICAgIGlmIChvbGRzaXplID4gUFlfU1NJWkVfVF9NQVggLSB3Yi5sZW4pIHsKKyAgICAgICAgICAgIFB5RXJyX05vTWVtb3J5KCk7CisgICAgICAgICAgICBnb3RvIGVycm9yOworICAgICAgICB9CisgICAgICAgIGlmIChfUHlCeXRlc19SZXNpemUocHYsIG9sZHNpemUgKyB3Yi5sZW4pIDwgMCkKKyAgICAgICAgICAgIGdvdG8gZXJyb3I7CisKKyAgICAgICAgbWVtY3B5KFB5Qnl0ZXNfQVNfU1RSSU5HKCpwdikgKyBvbGRzaXplLCB3Yi5idWYsIHdiLmxlbik7CisgICAgICAgIFB5QnVmZmVyX1JlbGVhc2UoJndiKTsKKyAgICAgICAgcmV0dXJuOworCisgICAgICBlcnJvcjoKKyAgICAgICAgUHlCdWZmZXJfUmVsZWFzZSgmd2IpOworICAgICAgICBQeV9DTEVBUigqcHYpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgZWxzZSB7CisgICAgICAgIC8qIE11bHRpcGxlIHJlZmVyZW5jZXMsIG5lZWQgdG8gY3JlYXRlIG5ldyBvYmplY3QgKi8KKyAgICAgICAgUHlPYmplY3QgKnY7CisgICAgICAgIHYgPSBieXRlc19jb25jYXQoKnB2LCB3KTsKKyAgICAgICAgUHlfREVDUkVGKCpwdik7CisgICAgICAgICpwdiA9IHY7CisgICAgfQogfQogCiB2b2lkCkBAIC0yNzk5LDE0ICszOTYwLDE0IEBACiB9CiAKIAotLyogVGhlIGZvbGxvd2luZyBmdW5jdGlvbiBicmVha3MgdGhlIG5vdGlvbiB0aGF0IHN0cmluZ3MgYXJlIGltbXV0YWJsZToKLSAgIGl0IGNoYW5nZXMgdGhlIHNpemUgb2YgYSBzdHJpbmcuICBXZSBnZXQgYXdheSB3aXRoIHRoaXMgb25seSBpZiB0aGVyZQorLyogVGhlIGZvbGxvd2luZyBmdW5jdGlvbiBicmVha3MgdGhlIG5vdGlvbiB0aGF0IGJ5dGVzIGFyZSBpbW11dGFibGU6CisgICBpdCBjaGFuZ2VzIHRoZSBzaXplIG9mIGEgYnl0ZXMgb2JqZWN0LiAgV2UgZ2V0IGF3YXkgd2l0aCB0aGlzIG9ubHkgaWYgdGhlcmUKICAgIGlzIG9ubHkgb25lIG1vZHVsZSByZWZlcmVuY2luZyB0aGUgb2JqZWN0LiAgWW91IGNhbiBhbHNvIHRoaW5rIG9mIGl0Ci0gICBhcyBjcmVhdGluZyBhIG5ldyBzdHJpbmcgb2JqZWN0IGFuZCBkZXN0cm95aW5nIHRoZSBvbGQgb25lLCBvbmx5Ci0gICBtb3JlIGVmZmljaWVudGx5LiAgSW4gYW55IGNhc2UsIGRvbid0IHVzZSB0aGlzIGlmIHRoZSBzdHJpbmcgbWF5CisgICBhcyBjcmVhdGluZyBhIG5ldyBieXRlcyBvYmplY3QgYW5kIGRlc3Ryb3lpbmcgdGhlIG9sZCBvbmUsIG9ubHkKKyAgIG1vcmUgZWZmaWNpZW50bHkuICBJbiBhbnkgY2FzZSwgZG9uJ3QgdXNlIHRoaXMgaWYgdGhlIGJ5dGVzIG9iamVjdCBtYXkKICAgIGFscmVhZHkgYmUga25vd24gdG8gc29tZSBvdGhlciBwYXJ0IG9mIHRoZSBjb2RlLi4uCi0gICBOb3RlIHRoYXQgaWYgdGhlcmUncyBub3QgZW5vdWdoIG1lbW9yeSB0byByZXNpemUgdGhlIHN0cmluZywgdGhlIG9yaWdpbmFsCi0gICBzdHJpbmcgb2JqZWN0IGF0ICpwdiBpcyBkZWFsbG9jYXRlZCwgKnB2IGlzIHNldCB0byBOVUxMLCBhbiAib3V0IG9mCisgICBOb3RlIHRoYXQgaWYgdGhlcmUncyBub3QgZW5vdWdoIG1lbW9yeSB0byByZXNpemUgdGhlIGJ5dGVzIG9iamVjdCwgdGhlCisgICBvcmlnaW5hbCBieXRlcyBvYmplY3QgYXQgKnB2IGlzIGRlYWxsb2NhdGVkLCAqcHYgaXMgc2V0IHRvIE5VTEwsIGFuICJvdXQgb2YKICAgIG1lbW9yeSIgZXhjZXB0aW9uIGlzIHNldCwgYW5kIC0xIGlzIHJldHVybmVkLiAgRWxzZSAob24gc3VjY2VzcykgMCBpcwogICAgcmV0dXJuZWQsIGFuZCB0aGUgdmFsdWUgaW4gKnB2IG1heSBvciBtYXkgbm90IGJlIHRoZSBzYW1lIGFzIG9uIGlucHV0LgogICAgQXMgYWx3YXlzLCBhbiBleHRyYSBieXRlIGlzIGFsbG9jYXRlZCBmb3IgYSB0cmFpbGluZyBcMCBieXRlIChuZXdzaXplCkBAIC0yODI5LDcgKzM5OTAsNyBAQAogICAgIF9QeV9ERUNfUkVGVE9UQUw7CiAgICAgX1B5X0ZvcmdldFJlZmVyZW5jZSh2KTsKICAgICAqcHYgPSAoUHlPYmplY3QgKikKLSAgICAgICAgUHlPYmplY3RfUkVBTExPQygoY2hhciAqKXYsIFB5Qnl0ZXNPYmplY3RfU0laRSArIG5ld3NpemUpOworICAgICAgICBQeU9iamVjdF9SRUFMTE9DKHYsIFB5Qnl0ZXNPYmplY3RfU0laRSArIG5ld3NpemUpOwogICAgIGlmICgqcHYgPT0gTlVMTCkgewogICAgICAgICBQeU9iamVjdF9EZWwodik7CiAgICAgICAgIFB5RXJyX05vTWVtb3J5KCk7CmRpZmYgLS1naXQgYS9PYmplY3RzL2NsYXNzb2JqZWN0LmMgYi9PYmplY3RzL2NsYXNzb2JqZWN0LmMKaW5kZXggMGMwYmQ0Ny4uMDdjYjYzOSAxMDA2NDQKLS0tIGEvT2JqZWN0cy9jbGFzc29iamVjdC5jCisrKyBiL09iamVjdHMvY2xhc3NvYmplY3QuYwpAQCAtMTUsNiArMTUsNyBAQAogI2VuZGlmCiAKIF9QeV9JREVOVElGSUVSKF9fbmFtZV9fKTsKK19QeV9JREVOVElGSUVSKF9fcXVhbG5hbWVfXyk7CiAKIFB5T2JqZWN0ICoKIFB5TWV0aG9kX0Z1bmN0aW9uKFB5T2JqZWN0ICppbSkKQEAgLTI0Myw1MSArMjQ0LDMzIEBACiB7CiAgICAgUHlPYmplY3QgKnNlbGYgPSBhLT5pbV9zZWxmOwogICAgIFB5T2JqZWN0ICpmdW5jID0gYS0+aW1fZnVuYzsKLSAgICBQeU9iamVjdCAqa2xhc3M7Ci0gICAgUHlPYmplY3QgKmZ1bmNuYW1lID0gTlVMTCAsKmtsYXNzbmFtZSA9IE5VTEwsICpyZXN1bHQgPSBOVUxMOwotICAgIGNoYXIgKmRlZm5hbWUgPSAiPyI7CisgICAgUHlPYmplY3QgKmZ1bmNuYW1lID0gTlVMTCwgKnJlc3VsdCA9IE5VTEw7CisgICAgY29uc3QgY2hhciAqZGVmbmFtZSA9ICI/IjsKIAotICAgIGlmIChzZWxmID09IE5VTEwpIHsKLSAgICAgICAgUHlFcnJfQmFkSW50ZXJuYWxDYWxsKCk7Ci0gICAgICAgIHJldHVybiBOVUxMOwotICAgIH0KLSAgICBrbGFzcyA9IChQeU9iamVjdCopUHlfVFlQRShzZWxmKTsKLQotICAgIGZ1bmNuYW1lID0gX1B5T2JqZWN0X0dldEF0dHJJZChmdW5jLCAmUHlJZF9fX25hbWVfXyk7CisgICAgZnVuY25hbWUgPSBfUHlPYmplY3RfR2V0QXR0cklkKGZ1bmMsICZQeUlkX19fcXVhbG5hbWVfXyk7CiAgICAgaWYgKGZ1bmNuYW1lID09IE5VTEwpIHsKICAgICAgICAgaWYgKCFQeUVycl9FeGNlcHRpb25NYXRjaGVzKFB5RXhjX0F0dHJpYnV0ZUVycm9yKSkKICAgICAgICAgICAgIHJldHVybiBOVUxMOwogICAgICAgICBQeUVycl9DbGVhcigpOworCisgICAgICAgIGZ1bmNuYW1lID0gX1B5T2JqZWN0X0dldEF0dHJJZChmdW5jLCAmUHlJZF9fX25hbWVfXyk7CisgICAgICAgIGlmIChmdW5jbmFtZSA9PSBOVUxMKSB7CisgICAgICAgICAgICBpZiAoIVB5RXJyX0V4Y2VwdGlvbk1hdGNoZXMoUHlFeGNfQXR0cmlidXRlRXJyb3IpKQorICAgICAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICAgICAgUHlFcnJfQ2xlYXIoKTsKKyAgICAgICAgfQogICAgIH0KLSAgICBlbHNlIGlmICghUHlVbmljb2RlX0NoZWNrKGZ1bmNuYW1lKSkgeworICAgIAorICAgIGlmIChmdW5jbmFtZSAhPSBOVUxMICYmICFQeVVuaWNvZGVfQ2hlY2soZnVuY25hbWUpKSB7CiAgICAgICAgIFB5X0RFQ1JFRihmdW5jbmFtZSk7CiAgICAgICAgIGZ1bmNuYW1lID0gTlVMTDsKICAgICB9CiAKLSAgICBpZiAoa2xhc3MgPT0gTlVMTCkKLSAgICAgICAga2xhc3NuYW1lID0gTlVMTDsKLSAgICBlbHNlIHsKLSAgICAgICAga2xhc3NuYW1lID0gX1B5T2JqZWN0X0dldEF0dHJJZChrbGFzcywgJlB5SWRfX19uYW1lX18pOwotICAgICAgICBpZiAoa2xhc3NuYW1lID09IE5VTEwpIHsKLSAgICAgICAgICAgIGlmICghUHlFcnJfRXhjZXB0aW9uTWF0Y2hlcyhQeUV4Y19BdHRyaWJ1dGVFcnJvcikpIHsKLSAgICAgICAgICAgICAgICBQeV9YREVDUkVGKGZ1bmNuYW1lKTsKLSAgICAgICAgICAgICAgICByZXR1cm4gTlVMTDsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIFB5RXJyX0NsZWFyKCk7Ci0gICAgICAgIH0KLSAgICAgICAgZWxzZSBpZiAoIVB5VW5pY29kZV9DaGVjayhrbGFzc25hbWUpKSB7Ci0gICAgICAgICAgICBQeV9ERUNSRUYoa2xhc3NuYW1lKTsKLSAgICAgICAgICAgIGtsYXNzbmFtZSA9IE5VTEw7Ci0gICAgICAgIH0KLSAgICB9Ci0KICAgICAvKiBYWFggU2hvdWxkbid0IHVzZSByZXByKCkvJVIgaGVyZSEgKi8KLSAgICByZXN1bHQgPSBQeVVuaWNvZGVfRnJvbUZvcm1hdCgiPGJvdW5kIG1ldGhvZCAlVi4lViBvZiAlUj4iLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtsYXNzbmFtZSwgZGVmbmFtZSwKKyAgICByZXN1bHQgPSBQeVVuaWNvZGVfRnJvbUZvcm1hdCgiPGJvdW5kIG1ldGhvZCAlViBvZiAlUj4iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmNuYW1lLCBkZWZuYW1lLCBzZWxmKTsKIAogICAgIFB5X1hERUNSRUYoZnVuY25hbWUpOwotICAgIFB5X1hERUNSRUYoa2xhc3NuYW1lKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogCmRpZmYgLS1naXQgYS9PYmplY3RzL2NvbXBsZXhvYmplY3QuYyBiL09iamVjdHMvY29tcGxleG9iamVjdC5jCmluZGV4IDdmNGNkZDkuLmRjMTIxMmUgMTAwNjQ0Ci0tLSBhL09iamVjdHMvY29tcGxleG9iamVjdC5jCisrKyBiL09iamVjdHMvY29tcGxleG9iamVjdC5jCkBAIC0xMyw3ICsxMyw3IEBACiBzdGF0aWMgUHlfY29tcGxleCBjXzEgPSB7MS4sIDAufTsKIAogUHlfY29tcGxleAotY19zdW0oUHlfY29tcGxleCBhLCBQeV9jb21wbGV4IGIpCitfUHlfY19zdW0oUHlfY29tcGxleCBhLCBQeV9jb21wbGV4IGIpCiB7CiAgICAgUHlfY29tcGxleCByOwogICAgIHIucmVhbCA9IGEucmVhbCArIGIucmVhbDsKQEAgLTIyLDcgKzIyLDcgQEAKIH0KIAogUHlfY29tcGxleAotY19kaWZmKFB5X2NvbXBsZXggYSwgUHlfY29tcGxleCBiKQorX1B5X2NfZGlmZihQeV9jb21wbGV4IGEsIFB5X2NvbXBsZXggYikKIHsKICAgICBQeV9jb21wbGV4IHI7CiAgICAgci5yZWFsID0gYS5yZWFsIC0gYi5yZWFsOwpAQCAtMzEsNyArMzEsNyBAQAogfQogCiBQeV9jb21wbGV4Ci1jX25lZyhQeV9jb21wbGV4IGEpCitfUHlfY19uZWcoUHlfY29tcGxleCBhKQogewogICAgIFB5X2NvbXBsZXggcjsKICAgICByLnJlYWwgPSAtYS5yZWFsOwpAQCAtNDAsNyArNDAsNyBAQAogfQogCiBQeV9jb21wbGV4Ci1jX3Byb2QoUHlfY29tcGxleCBhLCBQeV9jb21wbGV4IGIpCitfUHlfY19wcm9kKFB5X2NvbXBsZXggYSwgUHlfY29tcGxleCBiKQogewogICAgIFB5X2NvbXBsZXggcjsKICAgICByLnJlYWwgPSBhLnJlYWwqYi5yZWFsIC0gYS5pbWFnKmIuaW1hZzsKQEAgLTQ5LDcgKzQ5LDcgQEAKIH0KIAogUHlfY29tcGxleAotY19xdW90KFB5X2NvbXBsZXggYSwgUHlfY29tcGxleCBiKQorX1B5X2NfcXVvdChQeV9jb21wbGV4IGEsIFB5X2NvbXBsZXggYikKIHsKICAgICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICAgVGhpcyB3YXMgdGhlIG9yaWdpbmFsIGFsZ29yaXRobS4gIEl0J3MgZ3Jvc3NseSBwcm9uZSB0byBzcHVyaW91cwpAQCAtMTA3LDcgKzEwNyw3IEBACiB9CiAKIFB5X2NvbXBsZXgKLWNfcG93KFB5X2NvbXBsZXggYSwgUHlfY29tcGxleCBiKQorX1B5X2NfcG93KFB5X2NvbXBsZXggYSwgUHlfY29tcGxleCBiKQogewogICAgIFB5X2NvbXBsZXggcjsKICAgICBkb3VibGUgdmFicyxsZW4sYXQscGhhc2U7CkBAIC0xNDUsOSArMTQ1LDkgQEAKICAgICBwID0geDsKICAgICB3aGlsZSAobWFzayA+IDAgJiYgbiA+PSBtYXNrKSB7CiAgICAgICAgIGlmIChuICYgbWFzaykKLSAgICAgICAgICAgIHIgPSBjX3Byb2QocixwKTsKKyAgICAgICAgICAgIHIgPSBfUHlfY19wcm9kKHIscCk7CiAgICAgICAgIG1hc2sgPDw9IDE7Ci0gICAgICAgIHAgPSBjX3Byb2QocCxwKTsKKyAgICAgICAgcCA9IF9QeV9jX3Byb2QocCxwKTsKICAgICB9CiAgICAgcmV0dXJuIHI7CiB9CkBAIC0xNjAsMTcgKzE2MCwxNyBAQAogICAgIGlmIChuID4gMTAwIHx8IG4gPCAtMTAwKSB7CiAgICAgICAgIGNuLnJlYWwgPSAoZG91YmxlKSBuOwogICAgICAgICBjbi5pbWFnID0gMC47Ci0gICAgICAgIHJldHVybiBjX3Bvdyh4LGNuKTsKKyAgICAgICAgcmV0dXJuIF9QeV9jX3Bvdyh4LGNuKTsKICAgICB9CiAgICAgZWxzZSBpZiAobiA+IDApCiAgICAgICAgIHJldHVybiBjX3Bvd3UoeCxuKTsKICAgICBlbHNlCi0gICAgICAgIHJldHVybiBjX3F1b3QoY18xLGNfcG93dSh4LC1uKSk7CisgICAgICAgIHJldHVybiBfUHlfY19xdW90KGNfMSwgY19wb3d1KHgsLW4pKTsKIAogfQogCiBkb3VibGUKLWNfYWJzKFB5X2NvbXBsZXggeikKK19QeV9jX2FicyhQeV9jb21wbGV4IHopCiB7CiAgICAgLyogc2V0cyBlcnJubyA9IEVSQU5HRSBvbiBvdmVyZmxvdzsgIG90aGVyd2lzZSBlcnJubyA9IDAgKi8KICAgICBkb3VibGUgcmVzdWx0OwpAQCAtNDQ1LDcgKzQ0NSw3IEBACiAgICAgVE9fQ09NUExFWCh2LCBhKTsKICAgICBUT19DT01QTEVYKHcsIGIpOwogICAgIFB5RlBFX1NUQVJUX1BST1RFQ1QoImNvbXBsZXhfYWRkIiwgcmV0dXJuIDApCi0gICAgcmVzdWx0ID0gY19zdW0oYSwgYik7CisgICAgcmVzdWx0ID0gX1B5X2Nfc3VtKGEsIGIpOwogICAgIFB5RlBFX0VORF9QUk9URUNUKHJlc3VsdCkKICAgICByZXR1cm4gUHlDb21wbGV4X0Zyb21DQ29tcGxleChyZXN1bHQpOwogfQpAQCAtNDU4LDcgKzQ1OCw3IEBACiAgICAgVE9fQ09NUExFWCh2LCBhKTsKICAgICBUT19DT01QTEVYKHcsIGIpOwogICAgIFB5RlBFX1NUQVJUX1BST1RFQ1QoImNvbXBsZXhfc3ViIiwgcmV0dXJuIDApCi0gICAgcmVzdWx0ID0gY19kaWZmKGEsIGIpOworICAgIHJlc3VsdCA9IF9QeV9jX2RpZmYoYSwgYik7CiAgICAgUHlGUEVfRU5EX1BST1RFQ1QocmVzdWx0KQogICAgIHJldHVybiBQeUNvbXBsZXhfRnJvbUNDb21wbGV4KHJlc3VsdCk7CiB9CkBAIC00NzEsNyArNDcxLDcgQEAKICAgICBUT19DT01QTEVYKHYsIGEpOwogICAgIFRPX0NPTVBMRVgodywgYik7CiAgICAgUHlGUEVfU1RBUlRfUFJPVEVDVCgiY29tcGxleF9tdWwiLCByZXR1cm4gMCkKLSAgICByZXN1bHQgPSBjX3Byb2QoYSwgYik7CisgICAgcmVzdWx0ID0gX1B5X2NfcHJvZChhLCBiKTsKICAgICBQeUZQRV9FTkRfUFJPVEVDVChyZXN1bHQpCiAgICAgcmV0dXJuIFB5Q29tcGxleF9Gcm9tQ0NvbXBsZXgocmVzdWx0KTsKIH0KQEAgLTQ4NSw3ICs0ODUsNyBAQAogICAgIFRPX0NPTVBMRVgodywgYik7CiAgICAgUHlGUEVfU1RBUlRfUFJPVEVDVCgiY29tcGxleF9kaXYiLCByZXR1cm4gMCkKICAgICBlcnJubyA9IDA7Ci0gICAgcXVvdCA9IGNfcXVvdChhLCBiKTsKKyAgICBxdW90ID0gX1B5X2NfcXVvdChhLCBiKTsKICAgICBQeUZQRV9FTkRfUFJPVEVDVChxdW90KQogICAgIGlmIChlcnJubyA9PSBFRE9NKSB7CiAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19aZXJvRGl2aXNpb25FcnJvciwgImNvbXBsZXggZGl2aXNpb24gYnkgemVybyIpOwpAQCAtNTMyLDcgKzUzMiw3IEBACiAgICAgaWYgKGV4cG9uZW50LmltYWcgPT0gMC4gJiYgZXhwb25lbnQucmVhbCA9PSBpbnRfZXhwb25lbnQpCiAgICAgICAgIHAgPSBjX3Bvd2koYSwgaW50X2V4cG9uZW50KTsKICAgICBlbHNlCi0gICAgICAgIHAgPSBjX3BvdyhhLCBleHBvbmVudCk7CisgICAgICAgIHAgPSBfUHlfY19wb3coYSwgZXhwb25lbnQpOwogCiAgICAgUHlGUEVfRU5EX1BST1RFQ1QocCkKICAgICBQeV9BREpVU1RfRVJBTkdFMihwLnJlYWwsIHAuaW1hZyk7CkBAIC01ODMsNyArNTgzLDcgQEAKICAgICBkb3VibGUgcmVzdWx0OwogCiAgICAgUHlGUEVfU1RBUlRfUFJPVEVDVCgiY29tcGxleF9hYnMiLCByZXR1cm4gMCkKLSAgICByZXN1bHQgPSBjX2Ficyh2LT5jdmFsKTsKKyAgICByZXN1bHQgPSBfUHlfY19hYnModi0+Y3ZhbCk7CiAgICAgUHlGUEVfRU5EX1BST1RFQ1QocmVzdWx0KQogCiAgICAgaWYgKGVycm5vID09IEVSQU5HRSkgewpkaWZmIC0tZ2l0IGEvT2JqZWN0cy9kaWN0b2JqZWN0LmMgYi9PYmplY3RzL2RpY3RvYmplY3QuYwppbmRleCBiYWI2MjQyLi5hMzIxOWY3IDEwMDY0NAotLS0gYS9PYmplY3RzL2RpY3RvYmplY3QuYworKysgYi9PYmplY3RzL2RpY3RvYmplY3QuYwpAQCAtMTEwMSw2ICsxMTAxLDQ0IEBACiAgICAgcmV0dXJuICp2YWx1ZV9hZGRyOwogfQogCitQeU9iamVjdCAqCitfUHlEaWN0X0dldEl0ZW1fS25vd25IYXNoKFB5T2JqZWN0ICpvcCwgUHlPYmplY3QgKmtleSwgUHlfaGFzaF90IGhhc2gpCit7CisgICAgUHlEaWN0T2JqZWN0ICptcCA9IChQeURpY3RPYmplY3QgKilvcDsKKyAgICBQeURpY3RLZXlFbnRyeSAqZXA7CisgICAgUHlUaHJlYWRTdGF0ZSAqdHN0YXRlOworICAgIFB5T2JqZWN0ICoqdmFsdWVfYWRkcjsKKworICAgIGlmICghUHlEaWN0X0NoZWNrKG9wKSkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisKKyAgICAvKiBXZSBjYW4gYXJyaXZlIGhlcmUgd2l0aCBhIE5VTEwgdHN0YXRlIGR1cmluZyBpbml0aWFsaXphdGlvbjogdHJ5CisgICAgICAgcnVubmluZyAicHl0aG9uIC1XaSIgZm9yIGFuIGV4YW1wbGUgcmVsYXRlZCB0byBzdHJpbmcgaW50ZXJuaW5nLgorICAgICAgIExldCdzIGp1c3QgaG9wZSB0aGF0IG5vIGV4Y2VwdGlvbiBvY2N1cnMgdGhlbi4uLiAgVGhpcyBtdXN0IGJlCisgICAgICAgX1B5VGhyZWFkU3RhdGVfQ3VycmVudCBhbmQgbm90IFB5VGhyZWFkU3RhdGVfR0VUKCkgYmVjYXVzZSBpbiBkZWJ1ZworICAgICAgIG1vZGUsIHRoZSBsYXR0ZXIgY29tcGxhaW5zIGlmIHRzdGF0ZSBpcyBOVUxMLiAqLworICAgIHRzdGF0ZSA9IChQeVRocmVhZFN0YXRlKilfUHlfYXRvbWljX2xvYWRfcmVsYXhlZCgKKyAgICAgICAgJl9QeVRocmVhZFN0YXRlX0N1cnJlbnQpOworICAgIGlmICh0c3RhdGUgIT0gTlVMTCAmJiB0c3RhdGUtPmN1cmV4Y190eXBlICE9IE5VTEwpIHsKKyAgICAgICAgLyogcHJlc2VydmUgdGhlIGV4aXN0aW5nIGV4Y2VwdGlvbiAqLworICAgICAgICBQeU9iamVjdCAqZXJyX3R5cGUsICplcnJfdmFsdWUsICplcnJfdGI7CisgICAgICAgIFB5RXJyX0ZldGNoKCZlcnJfdHlwZSwgJmVycl92YWx1ZSwgJmVycl90Yik7CisgICAgICAgIGVwID0gKG1wLT5tYV9rZXlzLT5ka19sb29rdXApKG1wLCBrZXksIGhhc2gsICZ2YWx1ZV9hZGRyKTsKKyAgICAgICAgLyogaWdub3JlIGVycm9ycyAqLworICAgICAgICBQeUVycl9SZXN0b3JlKGVycl90eXBlLCBlcnJfdmFsdWUsIGVycl90Yik7CisgICAgICAgIGlmIChlcCA9PSBOVUxMKQorICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorICAgIGVsc2UgeworICAgICAgICBlcCA9IChtcC0+bWFfa2V5cy0+ZGtfbG9va3VwKShtcCwga2V5LCBoYXNoLCAmdmFsdWVfYWRkcik7CisgICAgICAgIGlmIChlcCA9PSBOVUxMKSB7CisgICAgICAgICAgICBQeUVycl9DbGVhcigpOworICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgIH0KKyAgICB9CisgICAgcmV0dXJuICp2YWx1ZV9hZGRyOworfQorCiAvKiBWYXJpYW50IG9mIFB5RGljdF9HZXRJdGVtKCkgdGhhdCBkb2Vzbid0IHN1cHByZXNzIGV4Y2VwdGlvbnMuCiAgICBUaGlzIHJldHVybnMgTlVMTCAqd2l0aCogYW4gZXhjZXB0aW9uIHNldCBpZiBhbiBleGNlcHRpb24gb2NjdXJyZWQuCiAgICBJdCByZXR1cm5zIE5VTEwgKndpdGhvdXQqIGFuIGV4Y2VwdGlvbiBzZXQgaWYgdGhlIGtleSB3YXNuJ3QgcHJlc2VudC4KQEAgLTEyMDgsNiArMTI0NiwyNCBAQAogfQogCiBpbnQKK19QeURpY3RfU2V0SXRlbV9Lbm93bkhhc2goUHlPYmplY3QgKm9wLCBQeU9iamVjdCAqa2V5LCBQeU9iamVjdCAqdmFsdWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgUHlfaGFzaF90IGhhc2gpCit7CisgICAgUHlEaWN0T2JqZWN0ICptcDsKKworICAgIGlmICghUHlEaWN0X0NoZWNrKG9wKSkgeworICAgICAgICBQeUVycl9CYWRJbnRlcm5hbENhbGwoKTsKKyAgICAgICAgcmV0dXJuIC0xOworICAgIH0KKyAgICBhc3NlcnQoa2V5KTsKKyAgICBhc3NlcnQodmFsdWUpOworICAgIG1wID0gKFB5RGljdE9iamVjdCAqKW9wOworCisgICAgLyogaW5zZXJ0ZGljdCgpIGhhbmRsZXMgYW55IHJlc2l6aW5nIHRoYXQgbWlnaHQgYmUgbmVjZXNzYXJ5ICovCisgICAgcmV0dXJuIGluc2VydGRpY3QobXAsIGtleSwgaGFzaCwgdmFsdWUpOworfQorCitpbnQKIFB5RGljdF9EZWxJdGVtKFB5T2JqZWN0ICpvcCwgUHlPYmplY3QgKmtleSkKIHsKICAgICBQeURpY3RPYmplY3QgKm1wOwpkaWZmIC0tZ2l0IGEvT2JqZWN0cy9leGNlcHRpb25zLmMgYi9PYmplY3RzL2V4Y2VwdGlvbnMuYwppbmRleCBjNzZlY2E4Li5lMDlkMzg0IDEwMDY0NAotLS0gYS9PYmplY3RzL2V4Y2VwdGlvbnMuYworKysgYi9PYmplY3RzL2V4Y2VwdGlvbnMuYwpAQCAtMjcxOCw3ICsyNzE4LDcgQEAKICAgICBzYW1lX2Jhc2ljX3NpemUgPSAoCiAgICAgICAgIGNhdWdodF90eXBlX3NpemUgPT0gYmFzZV9leGNfc2l6ZSB8fAogICAgICAgICAoUHlUeXBlX1NVUFBPUlRTX1dFQUtSRUZTKGNhdWdodF90eXBlKSAmJgotICAgICAgICAgICAgKGNhdWdodF90eXBlX3NpemUgPT0gYmFzZV9leGNfc2l6ZSArIHNpemVvZihQeU9iamVjdCAqKSkKKyAgICAgICAgICAgIChjYXVnaHRfdHlwZV9zaXplID09IGJhc2VfZXhjX3NpemUgKyAoUHlfc3NpemVfdClzaXplb2YoUHlPYmplY3QgKikpCiAgICAgICAgICkKICAgICApOwogICAgIGlmIChjYXVnaHRfdHlwZS0+dHBfaW5pdCAhPSAoaW5pdHByb2MpQmFzZUV4Y2VwdGlvbl9pbml0IHx8CmRpZmYgLS1naXQgYS9PYmplY3RzL2Zsb2F0b2JqZWN0LmMgYi9PYmplY3RzL2Zsb2F0b2JqZWN0LmMKaW5kZXggMzNlMzBjYS4uOGQ4NTEyMSAxMDA2NDQKLS0tIGEvT2JqZWN0cy9mbG9hdG9iamVjdC5jCisrKyBiL09iamVjdHMvZmxvYXRvYmplY3QuYwpAQCAtMjAzMiw3ICsyMDMyLDcgQEAKICAgICB9CiAgICAgZWxzZSB7CiAgICAgICAgIGZsb2F0IHkgPSAoZmxvYXQpeDsKLSAgICAgICAgY29uc3QgY2hhciAqcyA9IChjaGFyKikmeTsKKyAgICAgICAgY29uc3QgdW5zaWduZWQgY2hhciAqcyA9ICh1bnNpZ25lZCBjaGFyKikmeTsKICAgICAgICAgaW50IGksIGluY3IgPSAxOwogCiAgICAgICAgIGlmIChQeV9JU19JTkZJTklUWSh5KSAmJiAhUHlfSVNfSU5GSU5JVFkoeCkpCkBAIC0yMTY4LDcgKzIxNjgsNyBAQAogICAgICAgICByZXR1cm4gLTE7CiAgICAgfQogICAgIGVsc2UgewotICAgICAgICBjb25zdCBjaGFyICpzID0gKGNoYXIqKSZ4OworICAgICAgICBjb25zdCB1bnNpZ25lZCBjaGFyICpzID0gKHVuc2lnbmVkIGNoYXIqKSZ4OwogICAgICAgICBpbnQgaSwgaW5jciA9IDE7CiAKICAgICAgICAgaWYgKChkb3VibGVfZm9ybWF0ID09IGllZWVfbGl0dGxlX2VuZGlhbl9mb3JtYXQgJiYgIWxlKQpkaWZmIC0tZ2l0IGEvT2JqZWN0cy9nZW5vYmplY3QuYyBiL09iamVjdHMvZ2Vub2JqZWN0LmMKaW5kZXggMDhkMzBiZi4uNGJlNzM5YSAxMDA2NDQKLS0tIGEvT2JqZWN0cy9nZW5vYmplY3QuYworKysgYi9PYmplY3RzL2dlbm9iamVjdC5jCkBAIC0xMiw2ICsxMiw4IEBACiB7CiAgICAgUHlfVklTSVQoKFB5T2JqZWN0ICopZ2VuLT5naV9mcmFtZSk7CiAgICAgUHlfVklTSVQoZ2VuLT5naV9jb2RlKTsKKyAgICBQeV9WSVNJVChnZW4tPmdpX25hbWUpOworICAgIFB5X1ZJU0lUKGdlbi0+Z2lfcXVhbG5hbWUpOwogICAgIHJldHVybiAwOwogfQogCkBAIC01OCw2ICs2MCw4IEBACiAgICAgX1B5T2JqZWN0X0dDX1VOVFJBQ0soc2VsZik7CiAgICAgUHlfQ0xFQVIoZ2VuLT5naV9mcmFtZSk7CiAgICAgUHlfQ0xFQVIoZ2VuLT5naV9jb2RlKTsKKyAgICBQeV9DTEVBUihnZW4tPmdpX25hbWUpOworICAgIFB5X0NMRUFSKGdlbi0+Z2lfcXVhbG5hbWUpOwogICAgIFB5T2JqZWN0X0dDX0RlbChnZW4pOwogfQogCkBAIC0zNzMsMTEgKzM3Nyw3IEBACiBzdGF0aWMgUHlPYmplY3QgKgogZ2VuX2l0ZXJuZXh0KFB5R2VuT2JqZWN0ICpnZW4pCiB7Ci0gICAgUHlPYmplY3QgKnZhbCA9IE5VTEw7Ci0gICAgUHlPYmplY3QgKnJldDsKLSAgICByZXQgPSBnZW5fc2VuZF9leChnZW4sIHZhbCwgMCk7Ci0gICAgUHlfWERFQ1JFRih2YWwpOwotICAgIHJldHVybiByZXQ7CisgICAgcmV0dXJuIGdlbl9zZW5kX2V4KGdlbiwgTlVMTCwgMCk7CiB9CiAKIC8qCkBAIC00MTgsMzMgKzQxOCw3MyBAQAogZ2VuX3JlcHIoUHlHZW5PYmplY3QgKmdlbikKIHsKICAgICByZXR1cm4gUHlVbmljb2RlX0Zyb21Gb3JtYXQoIjxnZW5lcmF0b3Igb2JqZWN0ICVTIGF0ICVwPiIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoUHlDb2RlT2JqZWN0ICopZ2VuLT5naV9jb2RlKS0+Y29fbmFtZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2VuKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2VuLT5naV9xdWFsbmFtZSwgZ2VuKTsKIH0KIAotCiBzdGF0aWMgUHlPYmplY3QgKgotZ2VuX2dldF9uYW1lKFB5R2VuT2JqZWN0ICpnZW4pCitnZW5fZ2V0X25hbWUoUHlHZW5PYmplY3QgKm9wKQogewotICAgIFB5T2JqZWN0ICpuYW1lID0gKChQeUNvZGVPYmplY3QgKilnZW4tPmdpX2NvZGUpLT5jb19uYW1lOwotICAgIFB5X0lOQ1JFRihuYW1lKTsKLSAgICByZXR1cm4gbmFtZTsKKyAgICBQeV9JTkNSRUYob3AtPmdpX25hbWUpOworICAgIHJldHVybiBvcC0+Z2lfbmFtZTsKIH0KIAorc3RhdGljIGludAorZ2VuX3NldF9uYW1lKFB5R2VuT2JqZWN0ICpvcCwgUHlPYmplY3QgKnZhbHVlKQoreworICAgIFB5T2JqZWN0ICp0bXA7CiAKLVB5RG9jX1NUUlZBUihnZW5fX25hbWVfX2RvY19fLAotIlJldHVybiB0aGUgbmFtZSBvZiB0aGUgZ2VuZXJhdG9yJ3MgYXNzb2NpYXRlZCBjb2RlIG9iamVjdC4iKTsKKyAgICAvKiBOb3QgbGVnYWwgdG8gZGVsIGdlbi5naV9uYW1lIG9yIHRvIHNldCBpdCB0byBhbnl0aGluZworICAgICAqIG90aGVyIHRoYW4gYSBzdHJpbmcgb2JqZWN0LiAqLworICAgIGlmICh2YWx1ZSA9PSBOVUxMIHx8ICFQeVVuaWNvZGVfQ2hlY2sodmFsdWUpKSB7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAiX19uYW1lX18gbXVzdCBiZSBzZXQgdG8gYSBzdHJpbmcgb2JqZWN0Iik7CisgICAgICAgIHJldHVybiAtMTsKKyAgICB9CisgICAgdG1wID0gb3AtPmdpX25hbWU7CisgICAgUHlfSU5DUkVGKHZhbHVlKTsKKyAgICBvcC0+Z2lfbmFtZSA9IHZhbHVlOworICAgIFB5X0RFQ1JFRih0bXApOworICAgIHJldHVybiAwOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorZ2VuX2dldF9xdWFsbmFtZShQeUdlbk9iamVjdCAqb3ApCit7CisgICAgUHlfSU5DUkVGKG9wLT5naV9xdWFsbmFtZSk7CisgICAgcmV0dXJuIG9wLT5naV9xdWFsbmFtZTsKK30KKworc3RhdGljIGludAorZ2VuX3NldF9xdWFsbmFtZShQeUdlbk9iamVjdCAqb3AsIFB5T2JqZWN0ICp2YWx1ZSkKK3sKKyAgICBQeU9iamVjdCAqdG1wOworCisgICAgLyogTm90IGxlZ2FsIHRvIGRlbCBnZW4uX19xdWFsbmFtZV9fIG9yIHRvIHNldCBpdCB0byBhbnl0aGluZworICAgICAqIG90aGVyIHRoYW4gYSBzdHJpbmcgb2JqZWN0LiAqLworICAgIGlmICh2YWx1ZSA9PSBOVUxMIHx8ICFQeVVuaWNvZGVfQ2hlY2sodmFsdWUpKSB7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAiX19xdWFsbmFtZV9fIG11c3QgYmUgc2V0IHRvIGEgc3RyaW5nIG9iamVjdCIpOworICAgICAgICByZXR1cm4gLTE7CisgICAgfQorICAgIHRtcCA9IG9wLT5naV9xdWFsbmFtZTsKKyAgICBQeV9JTkNSRUYodmFsdWUpOworICAgIG9wLT5naV9xdWFsbmFtZSA9IHZhbHVlOworICAgIFB5X0RFQ1JFRih0bXApOworICAgIHJldHVybiAwOworfQogCiBzdGF0aWMgUHlHZXRTZXREZWYgZ2VuX2dldHNldGxpc3RbXSA9IHsKLSAgICB7Il9fbmFtZV9fIiwgKGdldHRlcilnZW5fZ2V0X25hbWUsIE5VTEwsIGdlbl9fbmFtZV9fZG9jX199LAotICAgIHtOVUxMfQorICAgIHsiX19uYW1lX18iLCAoZ2V0dGVyKWdlbl9nZXRfbmFtZSwgKHNldHRlcilnZW5fc2V0X25hbWUsCisgICAgIFB5RG9jX1NUUigibmFtZSBvZiB0aGUgZ2VuZXJhdG9yIil9LAorICAgIHsiX19xdWFsbmFtZV9fIiwgKGdldHRlcilnZW5fZ2V0X3F1YWxuYW1lLCAoc2V0dGVyKWdlbl9zZXRfcXVhbG5hbWUsCisgICAgIFB5RG9jX1NUUigicXVhbGlmaWVkIG5hbWUgb2YgdGhlIGdlbmVyYXRvciIpfSwKKyAgICB7TlVMTH0gLyogU2VudGluZWwgKi8KIH07CiAKLQogc3RhdGljIFB5TWVtYmVyRGVmIGdlbl9tZW1iZXJsaXN0W10gPSB7Ci0gICAgeyJnaV9mcmFtZSIsICAgICAgICBUX09CSkVDVCwgb2Zmc2V0b2YoUHlHZW5PYmplY3QsIGdpX2ZyYW1lKSwgICAgICBSRUFET05MWX0sCi0gICAgeyJnaV9ydW5uaW5nIiwgICAgICBUX0JPT0wsICAgIG9mZnNldG9mKFB5R2VuT2JqZWN0LCBnaV9ydW5uaW5nKSwgICAgUkVBRE9OTFl9LAotICAgIHsiZ2lfY29kZSIsICAgICBUX09CSkVDVCwgb2Zmc2V0b2YoUHlHZW5PYmplY3QsIGdpX2NvZGUpLCAgUkVBRE9OTFl9LAorICAgIHsiZ2lfZnJhbWUiLCAgICAgVF9PQkpFQ1QsIG9mZnNldG9mKFB5R2VuT2JqZWN0LCBnaV9mcmFtZSksICAgIFJFQURPTkxZfSwKKyAgICB7ImdpX3J1bm5pbmciLCAgIFRfQk9PTCwgICBvZmZzZXRvZihQeUdlbk9iamVjdCwgZ2lfcnVubmluZyksICBSRUFET05MWX0sCisgICAgeyJnaV9jb2RlIiwgICAgICBUX09CSkVDVCwgb2Zmc2V0b2YoUHlHZW5PYmplY3QsIGdpX2NvZGUpLCAgICAgUkVBRE9OTFl9LAogICAgIHtOVUxMfSAgICAgIC8qIFNlbnRpbmVsICovCiB9OwogCkBAIC01MTAsNyArNTUwLDcgQEAKIH07CiAKIFB5T2JqZWN0ICoKLVB5R2VuX05ldyhQeUZyYW1lT2JqZWN0ICpmKQorUHlHZW5fTmV3V2l0aFF1YWxOYW1lKFB5RnJhbWVPYmplY3QgKmYsIFB5T2JqZWN0ICpuYW1lLCBQeU9iamVjdCAqcXVhbG5hbWUpCiB7CiAgICAgUHlHZW5PYmplY3QgKmdlbiA9IFB5T2JqZWN0X0dDX05ldyhQeUdlbk9iamVjdCwgJlB5R2VuX1R5cGUpOwogICAgIGlmIChnZW4gPT0gTlVMTCkgewpAQCAtNTIzLDEwICs1NjMsMjYgQEAKICAgICBnZW4tPmdpX2NvZGUgPSAoUHlPYmplY3QgKikoZi0+Zl9jb2RlKTsKICAgICBnZW4tPmdpX3J1bm5pbmcgPSAwOwogICAgIGdlbi0+Z2lfd2Vha3JlZmxpc3QgPSBOVUxMOworICAgIGlmIChuYW1lICE9IE5VTEwpCisgICAgICAgIGdlbi0+Z2lfbmFtZSA9IG5hbWU7CisgICAgZWxzZQorICAgICAgICBnZW4tPmdpX25hbWUgPSAoKFB5Q29kZU9iamVjdCAqKWdlbi0+Z2lfY29kZSktPmNvX25hbWU7CisgICAgUHlfSU5DUkVGKGdlbi0+Z2lfbmFtZSk7CisgICAgaWYgKHF1YWxuYW1lICE9IE5VTEwpCisgICAgICAgIGdlbi0+Z2lfcXVhbG5hbWUgPSBxdWFsbmFtZTsKKyAgICBlbHNlCisgICAgICAgIGdlbi0+Z2lfcXVhbG5hbWUgPSBnZW4tPmdpX25hbWU7CisgICAgUHlfSU5DUkVGKGdlbi0+Z2lfcXVhbG5hbWUpOwogICAgIF9QeU9iamVjdF9HQ19UUkFDSyhnZW4pOwogICAgIHJldHVybiAoUHlPYmplY3QgKilnZW47CiB9CiAKK1B5T2JqZWN0ICoKK1B5R2VuX05ldyhQeUZyYW1lT2JqZWN0ICpmKQoreworICAgIHJldHVybiBQeUdlbl9OZXdXaXRoUXVhbE5hbWUoZiwgTlVMTCwgTlVMTCk7Cit9CisKIGludAogUHlHZW5fTmVlZHNGaW5hbGl6aW5nKFB5R2VuT2JqZWN0ICpnZW4pCiB7CmRpZmYgLS1naXQgYS9PYmplY3RzL2xpc3RvYmplY3QuYyBiL09iamVjdHMvbGlzdG9iamVjdC5jCmluZGV4IGZkNWE3MmEuLmU3YzRjODIgMTAwNjQ0Ci0tLSBhL09iamVjdHMvbGlzdG9iamVjdC5jCisrKyBiL09iamVjdHMvbGlzdG9iamVjdC5jCkBAIC0yNDQ0LDcgKzI0NDQsNyBAQAogICAgIH0KICAgICBlbHNlIHsKICAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX1R5cGVFcnJvciwKLSAgICAgICAgICAgICAgICAgICAgICJsaXN0IGluZGljZXMgbXVzdCBiZSBpbnRlZ2Vycywgbm90ICUuMjAwcyIsCisgICAgICAgICAgICAgICAgICAgICAibGlzdCBpbmRpY2VzIG11c3QgYmUgaW50ZWdlcnMgb3Igc2xpY2VzLCBub3QgJS4yMDBzIiwKICAgICAgICAgICAgICAgICAgICAgIGl0ZW0tPm9iX3R5cGUtPnRwX25hbWUpOwogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CkBAIC0yNjA4LDcgKzI2MDgsNyBAQAogICAgIH0KICAgICBlbHNlIHsKICAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX1R5cGVFcnJvciwKLSAgICAgICAgICAgICAgICAgICAgICJsaXN0IGluZGljZXMgbXVzdCBiZSBpbnRlZ2Vycywgbm90ICUuMjAwcyIsCisgICAgICAgICAgICAgICAgICAgICAibGlzdCBpbmRpY2VzIG11c3QgYmUgaW50ZWdlcnMgb3Igc2xpY2VzLCBub3QgJS4yMDBzIiwKICAgICAgICAgICAgICAgICAgICAgIGl0ZW0tPm9iX3R5cGUtPnRwX25hbWUpOwogICAgICAgICByZXR1cm4gLTE7CiAgICAgfQpkaWZmIC0tZ2l0IGEvT2JqZWN0cy9sb25nb2JqZWN0LmMgYi9PYmplY3RzL2xvbmdvYmplY3QuYwppbmRleCA3MDM2YzBlLi4yN2JlZTUwIDEwMDY0NAotLS0gYS9PYmplY3RzL2xvbmdvYmplY3QuYworKysgYi9PYmplY3RzL2xvbmdvYmplY3QuYwpAQCAtMjEsNyArMjEsNiBAQAogICAgICAgICAgUHlfU0laRSh4KSA8IDAgPyAtKHNkaWdpdCkoeCktPm9iX2RpZ2l0WzBdIDogICBcCiAgICAgICAgICAgICAgKFB5X1NJWkUoeCkgPT0gMCA/IChzZGlnaXQpMCA6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgICAgICAgICAgIChzZGlnaXQpKHgpLT5vYl9kaWdpdFswXSkpCi0jZGVmaW5lIEFCUyh4KSAoKHgpIDwgMCA/IC0oeCkgOiAoeCkpCiAKICNpZiBOU01BTExORUdJTlRTICsgTlNNQUxMUE9TSU5UUyA+IDAKIC8qIFNtYWxsIGludGVnZXJzIGFyZSBwcmVhbGxvY2F0ZWQgaW4gdGhpcyBhcnJheSBzbyB0aGF0IHRoZXkKQEAgLTU3LDcgKzU2LDcgQEAKIHN0YXRpYyBQeUxvbmdPYmplY3QgKgogbWF5YmVfc21hbGxfbG9uZyhQeUxvbmdPYmplY3QgKnYpCiB7Ci0gICAgaWYgKHYgJiYgQUJTKFB5X1NJWkUodikpIDw9IDEpIHsKKyAgICBpZiAodiAmJiBQeV9BQlMoUHlfU0laRSh2KSkgPD0gMSkgewogICAgICAgICBzZGlnaXQgaXZhbCA9IE1FRElVTV9WQUxVRSh2KTsKICAgICAgICAgaWYgKC1OU01BTExORUdJTlRTIDw9IGl2YWwgJiYgaXZhbCA8IE5TTUFMTFBPU0lOVFMpIHsKICAgICAgICAgICAgIFB5X0RFQ1JFRih2KTsKQEAgLTExNCw3ICsxMTMsNyBAQAogc3RhdGljIFB5TG9uZ09iamVjdCAqCiBsb25nX25vcm1hbGl6ZShQeUxvbmdPYmplY3QgKnYpCiB7Ci0gICAgUHlfc3NpemVfdCBqID0gQUJTKFB5X1NJWkUodikpOworICAgIFB5X3NzaXplX3QgaiA9IFB5X0FCUyhQeV9TSVpFKHYpKTsKICAgICBQeV9zc2l6ZV90IGkgPSBqOwogCiAgICAgd2hpbGUgKGkgPiAwICYmIHYtPm9iX2RpZ2l0W2ktMV0gPT0gMCkKQEAgLTcxOCw3ICs3MTcsNyBAQAogCiAgICAgYXNzZXJ0KHYgIT0gTlVMTCk7CiAgICAgYXNzZXJ0KFB5TG9uZ19DaGVjayh2KSk7Ci0gICAgbmRpZ2l0cyA9IEFCUyhQeV9TSVpFKHYpKTsKKyAgICBuZGlnaXRzID0gUHlfQUJTKFB5X1NJWkUodikpOwogICAgIGFzc2VydChuZGlnaXRzID09IDAgfHwgdi0+b2JfZGlnaXRbbmRpZ2l0cyAtIDFdICE9IDApOwogICAgIGlmIChuZGlnaXRzID4gMCkgewogICAgICAgICBkaWdpdCBtc2QgPSB2LT5vYl9kaWdpdFtuZGlnaXRzIC0gMV07CkBAIC0xNTY1LDcgKzE1NjQsNyBAQAogc3RhdGljIFB5TG9uZ09iamVjdCAqCiBkaXZyZW0xKFB5TG9uZ09iamVjdCAqYSwgZGlnaXQgbiwgZGlnaXQgKnByZW0pCiB7Ci0gICAgY29uc3QgUHlfc3NpemVfdCBzaXplID0gQUJTKFB5X1NJWkUoYSkpOworICAgIGNvbnN0IFB5X3NzaXplX3Qgc2l6ZSA9IFB5X0FCUyhQeV9TSVpFKGEpKTsKICAgICBQeUxvbmdPYmplY3QgKno7CiAKICAgICBhc3NlcnQobiA+IDAgJiYgbiA8PSBQeUxvbmdfTUFTSyk7CkBAIC0xNTk3LDcgKzE1OTYsNyBAQAogICAgICAgICBQeUVycl9CYWRJbnRlcm5hbENhbGwoKTsKICAgICAgICAgcmV0dXJuIC0xOwogICAgIH0KLSAgICBzaXplX2EgPSBBQlMoUHlfU0laRShhKSk7CisgICAgc2l6ZV9hID0gUHlfQUJTKFB5X1NJWkUoYSkpOwogICAgIG5lZ2F0aXZlID0gUHlfU0laRShhKSA8IDA7CiAKICAgICAvKiBxdWljayBhbmQgZGlydHkgdXBwZXIgYm91bmQgZm9yIHRoZSBudW1iZXIgb2YgZGlnaXRzCkBAIC0xNzY2LDcgKzE3NjUsNyBAQAogICAgICAgICBQeUVycl9CYWRJbnRlcm5hbENhbGwoKTsKICAgICAgICAgcmV0dXJuIC0xOwogICAgIH0KLSAgICBzaXplX2EgPSBBQlMoUHlfU0laRShhKSk7CisgICAgc2l6ZV9hID0gUHlfQUJTKFB5X1NJWkUoYSkpOwogICAgIG5lZ2F0aXZlID0gUHlfU0laRShhKSA8IDA7CiAKICAgICAvKiBDb21wdXRlIGEgcm91Z2ggdXBwZXIgYm91bmQgZm9yIHRoZSBsZW5ndGggb2YgdGhlIHN0cmluZyAqLwpAQCAtMjMxMyw3ICsyMzEyLDcgQEAKICAgICBQeU9iamVjdCAqcmVzdWx0LCAqc3Ryb2JqOwogICAgIGNoYXIgKmVuZCA9IE5VTEw7CiAKLSAgICByZXN1bHQgPSBQeUxvbmdfRnJvbVN0cmluZygoY2hhciopcywgJmVuZCwgYmFzZSk7CisgICAgcmVzdWx0ID0gUHlMb25nX0Zyb21TdHJpbmcocywgJmVuZCwgYmFzZSk7CiAgICAgaWYgKGVuZCA9PSBOVUxMIHx8IChyZXN1bHQgIT0gTlVMTCAmJiBlbmQgPT0gcyArIGxlbikpCiAgICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAgUHlfWERFQ1JFRihyZXN1bHQpOwpAQCAtMjM4MCw3ICsyMzc5LDcgQEAKIGxvbmdfZGl2cmVtKFB5TG9uZ09iamVjdCAqYSwgUHlMb25nT2JqZWN0ICpiLAogICAgICAgICAgICAgUHlMb25nT2JqZWN0ICoqcGRpdiwgUHlMb25nT2JqZWN0ICoqcHJlbSkKIHsKLSAgICBQeV9zc2l6ZV90IHNpemVfYSA9IEFCUyhQeV9TSVpFKGEpKSwgc2l6ZV9iID0gQUJTKFB5X1NJWkUoYikpOworICAgIFB5X3NzaXplX3Qgc2l6ZV9hID0gUHlfQUJTKFB5X1NJWkUoYSkpLCBzaXplX2IgPSBQeV9BQlMoUHlfU0laRShiKSk7CiAgICAgUHlMb25nT2JqZWN0ICp6OwogCiAgICAgaWYgKHNpemVfYiA9PSAwKSB7CkBAIC0yNDM5LDcgKzI0MzgsNyBAQAogfQogCiAvKiBVbnNpZ25lZCBpbnQgZGl2aXNpb24gd2l0aCByZW1haW5kZXIgLS0gdGhlIGFsZ29yaXRobS4gIFRoZSBhcmd1bWVudHMgdjEKLSAgIGFuZCB3MSBzaG91bGQgc2F0aXNmeSAyIDw9IEFCUyhQeV9TSVpFKHcxKSkgPD0gQUJTKFB5X1NJWkUodjEpKS4gKi8KKyAgIGFuZCB3MSBzaG91bGQgc2F0aXNmeSAyIDw9IFB5X0FCUyhQeV9TSVpFKHcxKSkgPD0gUHlfQUJTKFB5X1NJWkUodjEpKS4gKi8KIAogc3RhdGljIFB5TG9uZ09iamVjdCAqCiB4X2RpdnJlbShQeUxvbmdPYmplY3QgKnYxLCBQeUxvbmdPYmplY3QgKncxLCBQeUxvbmdPYmplY3QgKipwcmVtKQpAQCAtMjQ1OSw4ICsyNDU4LDggQEAKICAgICAgICB0aGF0IHdvbid0IG92ZXJmbG93IGEgZGlnaXQuICovCiAKICAgICAvKiBhbGxvY2F0ZSBzcGFjZTsgdyB3aWxsIGFsc28gYmUgdXNlZCB0byBob2xkIHRoZSBmaW5hbCByZW1haW5kZXIgKi8KLSAgICBzaXplX3YgPSBBQlMoUHlfU0laRSh2MSkpOwotICAgIHNpemVfdyA9IEFCUyhQeV9TSVpFKHcxKSk7CisgICAgc2l6ZV92ID0gUHlfQUJTKFB5X1NJWkUodjEpKTsKKyAgICBzaXplX3cgPSBQeV9BQlMoUHlfU0laRSh3MSkpOwogICAgIGFzc2VydChzaXplX3YgPj0gc2l6ZV93ICYmIHNpemVfdyA+PSAyKTsgLyogQXNzZXJ0IGNoZWNrcyBieSBkaXYoKSAqLwogICAgIHYgPSBfUHlMb25nX05ldyhzaXplX3YrMSk7CiAgICAgaWYgKHYgPT0gTlVMTCkgewpAQCAtMjU5MSw3ICsyNTkwLDcgQEAKICAgICAgICBtdWx0aXBsZSBvZiA0LCByb3VuZGluZyB0aWVzIHRvIGEgbXVsdGlwbGUgb2YgOC4gKi8KICAgICBzdGF0aWMgY29uc3QgaW50IGhhbGZfZXZlbl9jb3JyZWN0aW9uWzhdID0gezAsIC0xLCAtMiwgMSwgMCwgLTEsIDIsIDF9OwogCi0gICAgYV9zaXplID0gQUJTKFB5X1NJWkUoYSkpOworICAgIGFfc2l6ZSA9IFB5X0FCUyhQeV9TSVpFKGEpKTsKICAgICBpZiAoYV9zaXplID09IDApIHsKICAgICAgICAgLyogU3BlY2lhbCBjYXNlIGZvciAwOiBzaWduaWZpY2FuZCAwLjAsIGV4cG9uZW50IDAuICovCiAgICAgICAgICplID0gMDsKQEAgLTI3MzIsNyArMjczMSw3IEBACiAgICAgICAgIHNpZ24gPSBQeV9TSVpFKGEpIC0gUHlfU0laRShiKTsKICAgICB9CiAgICAgZWxzZSB7Ci0gICAgICAgIFB5X3NzaXplX3QgaSA9IEFCUyhQeV9TSVpFKGEpKTsKKyAgICAgICAgUHlfc3NpemVfdCBpID0gUHlfQUJTKFB5X1NJWkUoYSkpOwogICAgICAgICB3aGlsZSAoLS1pID49IDAgJiYgYS0+b2JfZGlnaXRbaV0gPT0gYi0+b2JfZGlnaXRbaV0pCiAgICAgICAgICAgICA7CiAgICAgICAgIGlmIChpIDwgMCkKQEAgLTI4NTAsNyArMjg0OSw3IEBACiBzdGF0aWMgUHlMb25nT2JqZWN0ICoKIHhfYWRkKFB5TG9uZ09iamVjdCAqYSwgUHlMb25nT2JqZWN0ICpiKQogewotICAgIFB5X3NzaXplX3Qgc2l6ZV9hID0gQUJTKFB5X1NJWkUoYSkpLCBzaXplX2IgPSBBQlMoUHlfU0laRShiKSk7CisgICAgUHlfc3NpemVfdCBzaXplX2EgPSBQeV9BQlMoUHlfU0laRShhKSksIHNpemVfYiA9IFB5X0FCUyhQeV9TSVpFKGIpKTsKICAgICBQeUxvbmdPYmplY3QgKno7CiAgICAgUHlfc3NpemVfdCBpOwogICAgIGRpZ2l0IGNhcnJ5ID0gMDsKQEAgLTI4ODQsNyArMjg4Myw3IEBACiBzdGF0aWMgUHlMb25nT2JqZWN0ICoKIHhfc3ViKFB5TG9uZ09iamVjdCAqYSwgUHlMb25nT2JqZWN0ICpiKQogewotICAgIFB5X3NzaXplX3Qgc2l6ZV9hID0gQUJTKFB5X1NJWkUoYSkpLCBzaXplX2IgPSBBQlMoUHlfU0laRShiKSk7CisgICAgUHlfc3NpemVfdCBzaXplX2EgPSBQeV9BQlMoUHlfU0laRShhKSksIHNpemVfYiA9IFB5X0FCUyhQeV9TSVpFKGIpKTsKICAgICBQeUxvbmdPYmplY3QgKno7CiAgICAgUHlfc3NpemVfdCBpOwogICAgIGludCBzaWduID0gMTsKQEAgLTI5NDQsNyArMjk0Myw3IEBACiAKICAgICBDSEVDS19CSU5PUChhLCBiKTsKIAotICAgIGlmIChBQlMoUHlfU0laRShhKSkgPD0gMSAmJiBBQlMoUHlfU0laRShiKSkgPD0gMSkgeworICAgIGlmIChQeV9BQlMoUHlfU0laRShhKSkgPD0gMSAmJiBQeV9BQlMoUHlfU0laRShiKSkgPD0gMSkgewogICAgICAgICBQeU9iamVjdCAqcmVzdWx0ID0gUHlMb25nX0Zyb21Mb25nKE1FRElVTV9WQUxVRShhKSArCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNRURJVU1fVkFMVUUoYikpOwogICAgICAgICByZXR1cm4gcmVzdWx0OwpAQCAtMjk3NCw3ICsyOTczLDcgQEAKIAogICAgIENIRUNLX0JJTk9QKGEsIGIpOwogCi0gICAgaWYgKEFCUyhQeV9TSVpFKGEpKSA8PSAxICYmIEFCUyhQeV9TSVpFKGIpKSA8PSAxKSB7CisgICAgaWYgKFB5X0FCUyhQeV9TSVpFKGEpKSA8PSAxICYmIFB5X0FCUyhQeV9TSVpFKGIpKSA8PSAxKSB7CiAgICAgICAgIFB5T2JqZWN0KiByOwogICAgICAgICByID0gUHlMb25nX0Zyb21Mb25nKE1FRElVTV9WQUxVRShhKS1NRURJVU1fVkFMVUUoYikpOwogICAgICAgICByZXR1cm4gcjsKQEAgLTMwMDMsOCArMzAwMiw4IEBACiB4X211bChQeUxvbmdPYmplY3QgKmEsIFB5TG9uZ09iamVjdCAqYikKIHsKICAgICBQeUxvbmdPYmplY3QgKno7Ci0gICAgUHlfc3NpemVfdCBzaXplX2EgPSBBQlMoUHlfU0laRShhKSk7Ci0gICAgUHlfc3NpemVfdCBzaXplX2IgPSBBQlMoUHlfU0laRShiKSk7CisgICAgUHlfc3NpemVfdCBzaXplX2EgPSBQeV9BQlMoUHlfU0laRShhKSk7CisgICAgUHlfc3NpemVfdCBzaXplX2IgPSBQeV9BQlMoUHlfU0laRShiKSk7CiAgICAgUHlfc3NpemVfdCBpOwogCiAgICAgeiA9IF9QeUxvbmdfTmV3KHNpemVfYSArIHNpemVfYik7CkBAIC0zMDk4LDcgKzMwOTcsNyBAQAogewogICAgIFB5TG9uZ09iamVjdCAqaGksICpsbzsKICAgICBQeV9zc2l6ZV90IHNpemVfbG8sIHNpemVfaGk7Ci0gICAgY29uc3QgUHlfc3NpemVfdCBzaXplX24gPSBBQlMoUHlfU0laRShuKSk7CisgICAgY29uc3QgUHlfc3NpemVfdCBzaXplX24gPSBQeV9BQlMoUHlfU0laRShuKSk7CiAKICAgICBzaXplX2xvID0gUHlfTUlOKHNpemVfbiwgc2l6ZSk7CiAgICAgc2l6ZV9oaSA9IHNpemVfbiAtIHNpemVfbG87CkBAIC0zMTI3LDggKzMxMjYsOCBAQAogc3RhdGljIFB5TG9uZ09iamVjdCAqCiBrX211bChQeUxvbmdPYmplY3QgKmEsIFB5TG9uZ09iamVjdCAqYikKIHsKLSAgICBQeV9zc2l6ZV90IGFzaXplID0gQUJTKFB5X1NJWkUoYSkpOwotICAgIFB5X3NzaXplX3QgYnNpemUgPSBBQlMoUHlfU0laRShiKSk7CisgICAgUHlfc3NpemVfdCBhc2l6ZSA9IFB5X0FCUyhQeV9TSVpFKGEpKTsKKyAgICBQeV9zc2l6ZV90IGJzaXplID0gUHlfQUJTKFB5X1NJWkUoYikpOwogICAgIFB5TG9uZ09iamVjdCAqYWggPSBOVUxMOwogICAgIFB5TG9uZ09iamVjdCAqYWwgPSBOVUxMOwogICAgIFB5TG9uZ09iamVjdCAqYmggPSBOVUxMOwpAQCAtMzM0OCw4ICszMzQ3LDggQEAKIHN0YXRpYyBQeUxvbmdPYmplY3QgKgoga19sb3BzaWRlZF9tdWwoUHlMb25nT2JqZWN0ICphLCBQeUxvbmdPYmplY3QgKmIpCiB7Ci0gICAgY29uc3QgUHlfc3NpemVfdCBhc2l6ZSA9IEFCUyhQeV9TSVpFKGEpKTsKLSAgICBQeV9zc2l6ZV90IGJzaXplID0gQUJTKFB5X1NJWkUoYikpOworICAgIGNvbnN0IFB5X3NzaXplX3QgYXNpemUgPSBQeV9BQlMoUHlfU0laRShhKSk7CisgICAgUHlfc3NpemVfdCBic2l6ZSA9IFB5X0FCUyhQeV9TSVpFKGIpKTsKICAgICBQeV9zc2l6ZV90IG5iZG9uZTsgICAgICAgICAgLyogIyBvZiBiIGRpZ2l0cyBhbHJlYWR5IG11bHRpcGxpZWQgKi8KICAgICBQeUxvbmdPYmplY3QgKnJldDsKICAgICBQeUxvbmdPYmplY3QgKmJzbGljZSA9IE5VTEw7CkBAIC0zNDA3LDcgKzM0MDYsNyBAQAogICAgIENIRUNLX0JJTk9QKGEsIGIpOwogCiAgICAgLyogZmFzdCBwYXRoIGZvciBzaW5nbGUtZGlnaXQgbXVsdGlwbGljYXRpb24gKi8KLSAgICBpZiAoQUJTKFB5X1NJWkUoYSkpIDw9IDEgJiYgQUJTKFB5X1NJWkUoYikpIDw9IDEpIHsKKyAgICBpZiAoUHlfQUJTKFB5X1NJWkUoYSkpIDw9IDEgJiYgUHlfQUJTKFB5X1NJWkUoYikpIDw9IDEpIHsKICAgICAgICAgc3R3b2RpZ2l0cyB2ID0gKHN0d29kaWdpdHMpKE1FRElVTV9WQUxVRShhKSkgKiBNRURJVU1fVkFMVUUoYik7CiAjaWZkZWYgSEFWRV9MT05HX0xPTkcKICAgICAgICAgcmV0dXJuIFB5TG9uZ19Gcm9tTG9uZ0xvbmcoKFBZX0xPTkdfTE9ORyl2KTsKQEAgLTM2MTQsOCArMzYxMyw4IEBACiAgICAgKi8KIAogICAgIC8qIFJlZHVjZSB0byBjYXNlIHdoZXJlIGEgYW5kIGIgYXJlIGJvdGggcG9zaXRpdmUuICovCi0gICAgYV9zaXplID0gQUJTKFB5X1NJWkUoYSkpOwotICAgIGJfc2l6ZSA9IEFCUyhQeV9TSVpFKGIpKTsKKyAgICBhX3NpemUgPSBQeV9BQlMoUHlfU0laRShhKSk7CisgICAgYl9zaXplID0gUHlfQUJTKFB5X1NJWkUoYikpOwogICAgIG5lZ2F0ZSA9IChQeV9TSVpFKGEpIDwgMCkgXiAoUHlfU0laRShiKSA8IDApOwogICAgIGlmIChiX3NpemUgPT0gMCkgewogICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfWmVyb0RpdmlzaW9uRXJyb3IsCkBAIC0zNzMxLDcgKzM3MzAsNyBAQAogICAgICAgICAgICAgaW5leGFjdCA9IDE7CiAgICAgICAgIFB5X0RFQ1JFRihyZW0pOwogICAgIH0KLSAgICB4X3NpemUgPSBBQlMoUHlfU0laRSh4KSk7CisgICAgeF9zaXplID0gUHlfQUJTKFB5X1NJWkUoeCkpOwogICAgIGFzc2VydCh4X3NpemUgPiAwKTsgLyogcmVzdWx0IG9mIGRpdmlzaW9uIGlzIG5ldmVyIHplcm8gKi8KICAgICB4X2JpdHMgPSAoeF9zaXplLTEpKlB5TG9uZ19TSElGVCtiaXRzX2luX2RpZ2l0KHgtPm9iX2RpZ2l0W3hfc2l6ZS0xXSk7CiAKQEAgLTM4NDEsNyArMzg0MCw3IEBACiAKICAgICBpZiAoUHlfU0laRShiKSA8IDApIHsgIC8qIGlmIGV4cG9uZW50IGlzIG5lZ2F0aXZlICovCiAgICAgICAgIGlmIChjKSB7Ci0gICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCAicG93KCkgMm5kIGFyZ3VtZW50ICIKKyAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLCAicG93KCkgMm5kIGFyZ3VtZW50ICIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY2Fubm90IGJlIG5lZ2F0aXZlIHdoZW4gM3JkIGFyZ3VtZW50IHNwZWNpZmllZCIpOwogICAgICAgICAgICAgZ290byBFcnJvcjsKICAgICAgICAgfQpAQCAtNDAwMyw3ICs0MDAyLDcgQEAKICAgICAvKiBJbXBsZW1lbnQgfnggYXMgLSh4KzEpICovCiAgICAgUHlMb25nT2JqZWN0ICp4OwogICAgIFB5TG9uZ09iamVjdCAqdzsKLSAgICBpZiAoQUJTKFB5X1NJWkUodikpIDw9MSkKKyAgICBpZiAoUHlfQUJTKFB5X1NJWkUodikpIDw9MSkKICAgICAgICAgcmV0dXJuIFB5TG9uZ19Gcm9tTG9uZygtKE1FRElVTV9WQUxVRSh2KSsxKSk7CiAgICAgdyA9IChQeUxvbmdPYmplY3QgKilQeUxvbmdfRnJvbUxvbmcoMUwpOwogICAgIGlmICh3ID09IE5VTEwpCkBAIC00MDIwLDcgKzQwMTksNyBAQAogbG9uZ19uZWcoUHlMb25nT2JqZWN0ICp2KQogewogICAgIFB5TG9uZ09iamVjdCAqejsKLSAgICBpZiAoQUJTKFB5X1NJWkUodikpIDw9IDEpCisgICAgaWYgKFB5X0FCUyhQeV9TSVpFKHYpKSA8PSAxKQogICAgICAgICByZXR1cm4gUHlMb25nX0Zyb21Mb25nKC1NRURJVU1fVkFMVUUodikpOwogICAgIHogPSAoUHlMb25nT2JqZWN0ICopX1B5TG9uZ19Db3B5KHYpOwogICAgIGlmICh6ICE9IE5VTEwpCkBAIC00MDc1LDcgKzQwNzQsNyBAQAogICAgICAgICAgICAgZ290byByc2hpZnRfZXJyb3I7CiAgICAgICAgIH0KICAgICAgICAgd29yZHNoaWZ0ID0gc2hpZnRieSAvIFB5TG9uZ19TSElGVDsKLSAgICAgICAgbmV3c2l6ZSA9IEFCUyhQeV9TSVpFKGEpKSAtIHdvcmRzaGlmdDsKKyAgICAgICAgbmV3c2l6ZSA9IFB5X0FCUyhQeV9TSVpFKGEpKSAtIHdvcmRzaGlmdDsKICAgICAgICAgaWYgKG5ld3NpemUgPD0gMCkKICAgICAgICAgICAgIHJldHVybiBQeUxvbmdfRnJvbUxvbmcoMCk7CiAgICAgICAgIGxvc2hpZnQgPSBzaGlmdGJ5ICUgUHlMb25nX1NISUZUOwpAQCAtNDEyMiw3ICs0MTIxLDcgQEAKICAgICB3b3Jkc2hpZnQgPSBzaGlmdGJ5IC8gUHlMb25nX1NISUZUOwogICAgIHJlbXNoaWZ0ICA9IHNoaWZ0YnkgLSB3b3Jkc2hpZnQgKiBQeUxvbmdfU0hJRlQ7CiAKLSAgICBvbGRzaXplID0gQUJTKFB5X1NJWkUoYSkpOworICAgIG9sZHNpemUgPSBQeV9BQlMoUHlfU0laRShhKSk7CiAgICAgbmV3c2l6ZSA9IG9sZHNpemUgKyB3b3Jkc2hpZnQ7CiAgICAgaWYgKHJlbXNoaWZ0KQogICAgICAgICArK25ld3NpemU7CkBAIC00MTgzLDcgKzQxODIsNyBAQAogICAgICAgIHJlc3VsdCBiYWNrIHRvIHNpZ24tbWFnbml0dWRlIGF0IHRoZSBlbmQuICovCiAKICAgICAvKiBJZiBhIGlzIG5lZ2F0aXZlLCByZXBsYWNlIGl0IGJ5IGl0cyB0d28ncyBjb21wbGVtZW50LiAqLwotICAgIHNpemVfYSA9IEFCUyhQeV9TSVpFKGEpKTsKKyAgICBzaXplX2EgPSBQeV9BQlMoUHlfU0laRShhKSk7CiAgICAgbmVnYSA9IFB5X1NJWkUoYSkgPCAwOwogICAgIGlmIChuZWdhKSB7CiAgICAgICAgIHogPSBfUHlMb25nX05ldyhzaXplX2EpOwpAQCAtNDE5Nyw3ICs0MTk2LDcgQEAKICAgICAgICAgUHlfSU5DUkVGKGEpOwogCiAgICAgLyogU2FtZSBmb3IgYi4gKi8KLSAgICBzaXplX2IgPSBBQlMoUHlfU0laRShiKSk7CisgICAgc2l6ZV9iID0gUHlfQUJTKFB5X1NJWkUoYikpOwogICAgIG5lZ2IgPSBQeV9TSVpFKGIpIDwgMDsKICAgICBpZiAobmVnYikgewogICAgICAgICB6ID0gX1B5TG9uZ19OZXcoc2l6ZV9iKTsKQEAgLTQ2MzAsNyArNDYyOSw3IEBACiB7CiAgICAgUHlfc3NpemVfdCByZXM7CiAKLSAgICByZXMgPSBvZmZzZXRvZihQeUxvbmdPYmplY3QsIG9iX2RpZ2l0KSArIEFCUyhQeV9TSVpFKHYpKSpzaXplb2YoZGlnaXQpOworICAgIHJlcyA9IG9mZnNldG9mKFB5TG9uZ09iamVjdCwgb2JfZGlnaXQpICsgUHlfQUJTKFB5X1NJWkUodikpKnNpemVvZihkaWdpdCk7CiAgICAgcmV0dXJuIFB5TG9uZ19Gcm9tU3NpemVfdChyZXMpOwogfQogCkBAIC00NjQ0LDcgKzQ2NDMsNyBAQAogICAgIGFzc2VydCh2ICE9IE5VTEwpOwogICAgIGFzc2VydChQeUxvbmdfQ2hlY2sodikpOwogCi0gICAgbmRpZ2l0cyA9IEFCUyhQeV9TSVpFKHYpKTsKKyAgICBuZGlnaXRzID0gUHlfQUJTKFB5X1NJWkUodikpOwogICAgIGlmIChuZGlnaXRzID09IDApCiAgICAgICAgIHJldHVybiBQeUxvbmdfRnJvbUxvbmcoMCk7CiAKQEAgLTQ4NDksNyArNDg0OCw3IEBACiAgICAgaWYgKHR5cGUgIT0gJlB5TG9uZ19UeXBlICYmIFB5VHlwZV9Jc1N1YnR5cGUodHlwZSwgJlB5TG9uZ19UeXBlKSkgewogICAgICAgICBQeUxvbmdPYmplY3QgKm5ld29iajsKICAgICAgICAgaW50IGk7Ci0gICAgICAgIFB5X3NzaXplX3QgbiA9IEFCUyhQeV9TSVpFKGxvbmdfb2JqKSk7CisgICAgICAgIFB5X3NzaXplX3QgbiA9IFB5X0FCUyhQeV9TSVpFKGxvbmdfb2JqKSk7CiAKICAgICAgICAgbmV3b2JqID0gKFB5TG9uZ09iamVjdCAqKXR5cGUtPnRwX2FsbG9jKHR5cGUsIG4pOwogICAgICAgICBpZiAobmV3b2JqID09IE5VTEwpIHsKQEAgLTQ4NzQsOSArNDg3Myw3IEBACiBcblwKIFJldHVybiB0aGUgaW50ZWdlciByZXByZXNlbnRlZCBieSB0aGUgZ2l2ZW4gYXJyYXkgb2YgYnl0ZXMuXG5cCiBcblwKLVRoZSBieXRlcyBhcmd1bWVudCBtdXN0IGVpdGhlciBzdXBwb3J0IHRoZSBidWZmZXIgcHJvdG9jb2wgb3IgYmUgYW5cblwKLWl0ZXJhYmxlIG9iamVjdCBwcm9kdWNpbmcgYnl0ZXMuICBCeXRlcyBhbmQgYnl0ZWFycmF5IGFyZSBleGFtcGxlcyBvZlxuXAotYnVpbHQtaW4gb2JqZWN0cyB0aGF0IHN1cHBvcnQgdGhlIGJ1ZmZlciBwcm90b2NvbC5cblwKK1RoZSBieXRlcyBhcmd1bWVudCBtdXN0IGJlIGEgYnl0ZXMtbGlrZSBvYmplY3QgKGUuZy4gYnl0ZXMgb3IgYnl0ZWFycmF5KS5cblwKIFxuXAogVGhlIGJ5dGVvcmRlciBhcmd1bWVudCBkZXRlcm1pbmVzIHRoZSBieXRlIG9yZGVyIHVzZWQgdG8gcmVwcmVzZW50IHRoZVxuXAogaW50ZWdlci4gIElmIGJ5dGVvcmRlciBpcyAnYmlnJywgdGhlIG1vc3Qgc2lnbmlmaWNhbnQgYnl0ZSBpcyBhdCB0aGVcblwKQEAgLTUwOTUsMTMgKzUwOTIsMTMgQEAKICAgICAgICAgICAgICAqIHRvIHRoZSBvcmlnaW5hbCByZWZjbnQgKyAxICovCiAgICAgICAgICAgICBQeV9SRUZDTlQob3ApID0gcmVmY250ICsgMTsKICAgICAgICAgICAgIGFzc2VydChQeV9TSVpFKG9wKSA9PSBzaXplKTsKLSAgICAgICAgICAgIGFzc2VydCh2LT5vYl9kaWdpdFswXSA9PSBhYnMoaXZhbCkpOworICAgICAgICAgICAgYXNzZXJ0KHYtPm9iX2RpZ2l0WzBdID09IChkaWdpdClhYnMoaXZhbCkpOwogICAgICAgICB9CiAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgKHZvaWQpUHlPYmplY3RfSU5JVCh2LCAmUHlMb25nX1R5cGUpOwogICAgICAgICB9CiAgICAgICAgIFB5X1NJWkUodikgPSBzaXplOwotICAgICAgICB2LT5vYl9kaWdpdFswXSA9IGFicyhpdmFsKTsKKyAgICAgICAgdi0+b2JfZGlnaXRbMF0gPSAoZGlnaXQpYWJzKGl2YWwpOwogICAgIH0KICNlbmRpZgogICAgIC8qIGluaXRpYWxpemUgaW50X2luZm8gKi8KZGlmZiAtLWdpdCBhL09iamVjdHMvbWVtb3J5b2JqZWN0LmMgYi9PYmplY3RzL21lbW9yeW9iamVjdC5jCmluZGV4IDBiZTg0OTMuLmI2MTFkYzggMTAwNjQ0Ci0tLSBhL09iamVjdHMvbWVtb3J5b2JqZWN0LmMKKysrIGIvT2JqZWN0cy9tZW1vcnlvYmplY3QuYwpAQCAtNDgsOSArNDgsNiBAQAogKi8KIAogCi0jZGVmaW5lIFhTVFJJTkdJWkUodikgI3YKLSNkZWZpbmUgU1RSSU5HSVpFKHYpIFhTVFJJTkdJWkUodikKLQogI2RlZmluZSBDSEVDS19NQlVGX1JFTEVBU0VEKG1idWYpIFwKICAgICBpZiAoKChfUHlNYW5hZ2VkQnVmZmVyT2JqZWN0ICopbWJ1ZiktPmZsYWdzJl9QeV9NQU5BR0VEX0JVRkZFUl9SRUxFQVNFRCkgeyBcCiAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXApAQCAtMjIzLDcgKzIyMCw3IEBACiAKIAogUHlEb2NfU1RSVkFSKG1lbW9yeV9kb2MsCi0ibWVtb3J5dmlldyhvYmplY3QpXG5cCisibWVtb3J5dmlldygkbW9kdWxlLCBvYmplY3QpXG4tLVxuXAogXG5cCiBDcmVhdGUgYSBuZXcgbWVtb3J5dmlldyBvYmplY3Qgd2hpY2ggcmVmZXJlbmNlcyB0aGUgZ2l2ZW4gb2JqZWN0LiIpOwogCkBAIC02NjAsNyArNjU3LDcgQEAKICAgICBpZiAoc3JjLT5uZGltID4gUHlCVUZfTUFYX05ESU0pIHsKICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsCiAgICAgICAgICAgICAibWVtb3J5dmlldzogbnVtYmVyIG9mIGRpbWVuc2lvbnMgbXVzdCBub3QgZXhjZWVkICIKLSAgICAgICAgICAgIFNUUklOR0laRShQeUJVRl9NQVhfTkRJTSkpOworICAgICAgICAgICAgUHlfU1RSSU5HSUZZKFB5QlVGX01BWF9ORElNKSk7CiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KIApAQCAtNzk1LDcgKzc5Miw3IEBACiAgICAgfQogCiAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX1R5cGVFcnJvciwKLSAgICAgICAgIm1lbW9yeXZpZXc6ICUuMjAwcyBvYmplY3QgZG9lcyBub3QgaGF2ZSB0aGUgYnVmZmVyIGludGVyZmFjZSIsCisgICAgICAgICJtZW1vcnl2aWV3OiBhIGJ5dGVzLWxpa2Ugb2JqZWN0IGlzIHJlcXVpcmVkLCBub3QgJyUuMjAwcyciLAogICAgICAgICBQeV9UWVBFKHYpLT50cF9uYW1lKTsKICAgICByZXR1cm4gTlVMTDsKIH0KQEAgLTEzODksNyArMTM4Niw3IEBACiAgICAgICAgIGlmIChuZGltID4gUHlCVUZfTUFYX05ESU0pIHsKICAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLAogICAgICAgICAgICAgICAgICJtZW1vcnl2aWV3OiBudW1iZXIgb2YgZGltZW5zaW9ucyBtdXN0IG5vdCBleGNlZWQgIgotICAgICAgICAgICAgICAgIFNUUklOR0laRShQeUJVRl9NQVhfTkRJTSkpOworICAgICAgICAgICAgICAgIFB5X1NUUklOR0lGWShQeUJVRl9NQVhfTkRJTSkpOwogICAgICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgICAgIH0KICAgICAgICAgaWYgKHNlbGYtPnZpZXcubmRpbSAhPSAxICYmIG5kaW0gIT0gMSkgewpAQCAtMjk0OCw2ICsyOTQ1LDcgQEAKIFB5RG9jX1NUUlZBUihtZW1vcnlfY29udGlndW91c19kb2MsCiAgICAgICAgICAgICAgIkEgYm9vbCBpbmRpY2F0aW5nIHdoZXRoZXIgdGhlIG1lbW9yeSBpcyBjb250aWd1b3VzLiIpOwogCisKIHN0YXRpYyBQeUdldFNldERlZiBtZW1vcnlfZ2V0c2V0bGlzdFtdID0gewogICAgIHsib2JqIiwgICAgICAgICAgICAgKGdldHRlciltZW1vcnlfb2JqX2dldCwgICAgICAgIE5VTEwsIG1lbW9yeV9vYmpfZG9jfSwKICAgICB7Im5ieXRlcyIsICAgICAgICAgIChnZXR0ZXIpbWVtb3J5X25ieXRlc19nZXQsICAgICBOVUxMLCBtZW1vcnlfbmJ5dGVzX2RvY30sCkBAIC0yOTY1LDE5ICsyOTYzLDE5IEBACiB9OwogCiBQeURvY19TVFJWQVIobWVtb3J5X3JlbGVhc2VfZG9jLAotIk0ucmVsZWFzZSgpIC0+IE5vbmVcblwKKyJyZWxlYXNlKCRzZWxmLCAvKVxuLS1cblwKIFxuXAogUmVsZWFzZSB0aGUgdW5kZXJseWluZyBidWZmZXIgZXhwb3NlZCBieSB0aGUgbWVtb3J5dmlldyBvYmplY3QuIik7CiBQeURvY19TVFJWQVIobWVtb3J5X3RvYnl0ZXNfZG9jLAotIk0udG9ieXRlcygpIC0+IGJ5dGVzXG5cCisidG9ieXRlcygkc2VsZiwgLylcbi0tXG5cCiBcblwKIFJldHVybiB0aGUgZGF0YSBpbiB0aGUgYnVmZmVyIGFzIGEgYnl0ZSBzdHJpbmcuIik7CiBQeURvY19TVFJWQVIobWVtb3J5X3RvbGlzdF9kb2MsCi0iTS50b2xpc3QoKSAtPiBsaXN0XG5cCisidG9saXN0KCRzZWxmLCAvKVxuLS1cblwKIFxuXAogUmV0dXJuIHRoZSBkYXRhIGluIHRoZSBidWZmZXIgYXMgYSBsaXN0IG9mIGVsZW1lbnRzLiIpOwogUHlEb2NfU1RSVkFSKG1lbW9yeV9jYXN0X2RvYywKLSJNLmNhc3QoZm9ybWF0Wywgc2hhcGVdKSAtPiBtZW1vcnl2aWV3XG5cCisiY2FzdCgkc2VsZiwgLywgZm9ybWF0LCAqLCBzaGFwZSlcbi0tXG5cCiBcblwKIENhc3QgYSBtZW1vcnl2aWV3IHRvIGEgbmV3IGZvcm1hdCBvciBzaGFwZS4iKTsKIApkaWZmIC0tZ2l0IGEvT2JqZWN0cy9tZXRob2RvYmplY3QuYyBiL09iamVjdHMvbWV0aG9kb2JqZWN0LmMKaW5kZXggZjI2MTZkNC4uNjg2YmFmOSAxMDA2NDQKLS0tIGEvT2JqZWN0cy9tZXRob2RvYmplY3QuYworKysgYi9PYmplY3RzL21ldGhvZG9iamVjdC5jCkBAIC0zNyw2ICszNyw3IEBACiAgICAgICAgIGlmIChvcCA9PSBOVUxMKQogICAgICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQorICAgIG9wLT5tX3dlYWtyZWZsaXN0ID0gTlVMTDsKICAgICBvcC0+bV9tbCA9IG1sOwogICAgIFB5X1hJTkNSRUYoc2VsZik7CiAgICAgb3AtPm1fc2VsZiA9IHNlbGY7CkBAIC0xNDcsNiArMTQ4LDkgQEAKIG1ldGhfZGVhbGxvYyhQeUNGdW5jdGlvbk9iamVjdCAqbSkKIHsKICAgICBfUHlPYmplY3RfR0NfVU5UUkFDSyhtKTsKKyAgICBpZiAobS0+bV93ZWFrcmVmbGlzdCAhPSBOVUxMKSB7CisgICAgICAgIFB5T2JqZWN0X0NsZWFyV2Vha1JlZnMoKFB5T2JqZWN0KikgbSk7CisgICAgfQogICAgIFB5X1hERUNSRUYobS0+bV9zZWxmKTsKICAgICBQeV9YREVDUkVGKG0tPm1fbW9kdWxlKTsKICAgICBpZiAobnVtZnJlZSA8IFB5Q0Z1bmN0aW9uX01BWEZSRUVMSVNUKSB7CkBAIC0zNTIsNyArMzU2LDcgQEAKICAgICAodHJhdmVyc2Vwcm9jKW1ldGhfdHJhdmVyc2UsICAgICAgICAgICAgICAgIC8qIHRwX3RyYXZlcnNlICovCiAgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9jbGVhciAqLwogICAgIG1ldGhfcmljaGNvbXBhcmUsICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfcmljaGNvbXBhcmUgKi8KLSAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX3dlYWtsaXN0b2Zmc2V0ICovCisgICAgb2Zmc2V0b2YoUHlDRnVuY3Rpb25PYmplY3QsIG1fd2Vha3JlZmxpc3QpLCAvKiB0cF93ZWFrbGlzdG9mZnNldCAqLwogICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfaXRlciAqLwogICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfaXRlcm5leHQgKi8KICAgICBtZXRoX21ldGhvZHMsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX21ldGhvZHMgKi8KZGlmZiAtLWdpdCBhL09iamVjdHMvbW9kdWxlb2JqZWN0LmMgYi9PYmplY3RzL21vZHVsZW9iamVjdC5jCmluZGV4IGY1MDk5MzIuLjQ0MWU3MzEgMTAwNjQ0Ci0tLSBhL09iamVjdHMvbW9kdWxlb2JqZWN0LmMKKysrIGIvT2JqZWN0cy9tb2R1bGVvYmplY3QuYwpAQCAtMzIsMjAgKzMyLDI2IEBACiBtb2R1bGVfaW5pdF9kaWN0KFB5TW9kdWxlT2JqZWN0ICptb2QsIFB5T2JqZWN0ICptZF9kaWN0LAogICAgICAgICAgICAgICAgICBQeU9iamVjdCAqbmFtZSwgUHlPYmplY3QgKmRvYykKIHsKKyAgICBfUHlfSURFTlRJRklFUihfX25hbWVfXyk7CisgICAgX1B5X0lERU5USUZJRVIoX19kb2NfXyk7CisgICAgX1B5X0lERU5USUZJRVIoX19wYWNrYWdlX18pOworICAgIF9QeV9JREVOVElGSUVSKF9fbG9hZGVyX18pOworICAgIF9QeV9JREVOVElGSUVSKF9fc3BlY19fKTsKKyAgICAKICAgICBpZiAobWRfZGljdCA9PSBOVUxMKQogICAgICAgICByZXR1cm4gLTE7CiAgICAgaWYgKGRvYyA9PSBOVUxMKQogICAgICAgICBkb2MgPSBQeV9Ob25lOwogCi0gICAgaWYgKFB5RGljdF9TZXRJdGVtU3RyaW5nKG1kX2RpY3QsICJfX25hbWVfXyIsIG5hbWUpICE9IDApCisgICAgaWYgKF9QeURpY3RfU2V0SXRlbUlkKG1kX2RpY3QsICZQeUlkX19fbmFtZV9fLCBuYW1lKSAhPSAwKQogICAgICAgICByZXR1cm4gLTE7Ci0gICAgaWYgKFB5RGljdF9TZXRJdGVtU3RyaW5nKG1kX2RpY3QsICJfX2RvY19fIiwgZG9jKSAhPSAwKQorICAgIGlmIChfUHlEaWN0X1NldEl0ZW1JZChtZF9kaWN0LCAmUHlJZF9fX2RvY19fLCBkb2MpICE9IDApCiAgICAgICAgIHJldHVybiAtMTsKLSAgICBpZiAoUHlEaWN0X1NldEl0ZW1TdHJpbmcobWRfZGljdCwgIl9fcGFja2FnZV9fIiwgUHlfTm9uZSkgIT0gMCkKKyAgICBpZiAoX1B5RGljdF9TZXRJdGVtSWQobWRfZGljdCwgJlB5SWRfX19wYWNrYWdlX18sIFB5X05vbmUpICE9IDApCiAgICAgICAgIHJldHVybiAtMTsKLSAgICBpZiAoUHlEaWN0X1NldEl0ZW1TdHJpbmcobWRfZGljdCwgIl9fbG9hZGVyX18iLCBQeV9Ob25lKSAhPSAwKQorICAgIGlmIChfUHlEaWN0X1NldEl0ZW1JZChtZF9kaWN0LCAmUHlJZF9fX2xvYWRlcl9fLCBQeV9Ob25lKSAhPSAwKQogICAgICAgICByZXR1cm4gLTE7Ci0gICAgaWYgKFB5RGljdF9TZXRJdGVtU3RyaW5nKG1kX2RpY3QsICJfX3NwZWNfXyIsIFB5X05vbmUpICE9IDApCisgICAgaWYgKF9QeURpY3RfU2V0SXRlbUlkKG1kX2RpY3QsICZQeUlkX19fc3BlY19fLCBQeV9Ob25lKSAhPSAwKQogICAgICAgICByZXR1cm4gLTE7CiAgICAgaWYgKFB5VW5pY29kZV9DaGVja0V4YWN0KG5hbWUpKSB7CiAgICAgICAgIFB5X0lOQ1JFRihuYW1lKTsKQEAgLTE4NCw4ICsxOTAsOSBAQAogICAgICAgICBQeV9ERUNSRUYobik7CiAgICAgfQogICAgIGlmIChtb2R1bGUtPm1fZG9jICE9IE5VTEwpIHsKKyAgICAgICAgX1B5X0lERU5USUZJRVIoX19kb2NfXyk7CiAgICAgICAgIHYgPSBQeVVuaWNvZGVfRnJvbVN0cmluZyhtb2R1bGUtPm1fZG9jKTsKLSAgICAgICAgaWYgKHYgPT0gTlVMTCB8fCBQeURpY3RfU2V0SXRlbVN0cmluZyhkLCAiX19kb2NfXyIsIHYpICE9IDApIHsKKyAgICAgICAgaWYgKHYgPT0gTlVMTCB8fCBfUHlEaWN0X1NldEl0ZW1JZChkLCAmUHlJZF9fX2RvY19fLCB2KSAhPSAwKSB7CiAgICAgICAgICAgICBQeV9YREVDUkVGKHYpOwogICAgICAgICAgICAgUHlfREVDUkVGKG0pOwogICAgICAgICAgICAgcmV0dXJuIE5VTEw7CkBAIC0yMTQsNiArMjIxLDcgQEAKIFB5T2JqZWN0KgogUHlNb2R1bGVfR2V0TmFtZU9iamVjdChQeU9iamVjdCAqbSkKIHsKKyAgICBfUHlfSURFTlRJRklFUihfX25hbWVfXyk7CiAgICAgUHlPYmplY3QgKmQ7CiAgICAgUHlPYmplY3QgKm5hbWU7CiAgICAgaWYgKCFQeU1vZHVsZV9DaGVjayhtKSkgewpAQCAtMjIyLDcgKzIzMCw3IEBACiAgICAgfQogICAgIGQgPSAoKFB5TW9kdWxlT2JqZWN0ICopbSktPm1kX2RpY3Q7CiAgICAgaWYgKGQgPT0gTlVMTCB8fAotICAgICAgICAobmFtZSA9IFB5RGljdF9HZXRJdGVtU3RyaW5nKGQsICJfX25hbWVfXyIpKSA9PSBOVUxMIHx8CisgICAgICAgIChuYW1lID0gX1B5RGljdF9HZXRJdGVtSWQoZCwgJlB5SWRfX19uYW1lX18pKSA9PSBOVUxMIHx8CiAgICAgICAgICFQeVVuaWNvZGVfQ2hlY2sobmFtZSkpCiAgICAgewogICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfU3lzdGVtRXJyb3IsICJuYW1lbGVzcyBtb2R1bGUiKTsKQEAgLTI0NSw2ICsyNTMsNyBAQAogUHlPYmplY3QqCiBQeU1vZHVsZV9HZXRGaWxlbmFtZU9iamVjdChQeU9iamVjdCAqbSkKIHsKKyAgICBfUHlfSURFTlRJRklFUihfX2ZpbGVfXyk7CiAgICAgUHlPYmplY3QgKmQ7CiAgICAgUHlPYmplY3QgKmZpbGVvYmo7CiAgICAgaWYgKCFQeU1vZHVsZV9DaGVjayhtKSkgewpAQCAtMjUzLDcgKzI2Miw3IEBACiAgICAgfQogICAgIGQgPSAoKFB5TW9kdWxlT2JqZWN0ICopbSktPm1kX2RpY3Q7CiAgICAgaWYgKGQgPT0gTlVMTCB8fAotICAgICAgICAoZmlsZW9iaiA9IFB5RGljdF9HZXRJdGVtU3RyaW5nKGQsICJfX2ZpbGVfXyIpKSA9PSBOVUxMIHx8CisgICAgICAgIChmaWxlb2JqID0gX1B5RGljdF9HZXRJdGVtSWQoZCwgJlB5SWRfX19maWxlX18pKSA9PSBOVUxMIHx8CiAgICAgICAgICFQeVVuaWNvZGVfQ2hlY2soZmlsZW9iaikpCiAgICAgewogICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfU3lzdGVtRXJyb3IsICJtb2R1bGUgZmlsZW5hbWUgbWlzc2luZyIpOwpAQCAtNDExLDYgKzQyMCwzMSBAQAogICAgIHJldHVybiBQeU9iamVjdF9DYWxsTWV0aG9kKGludGVycC0+aW1wb3J0bGliLCAiX21vZHVsZV9yZXByIiwgIk8iLCBtKTsKIH0KIAorc3RhdGljIFB5T2JqZWN0KgorbW9kdWxlX2dldGF0dHJvKFB5TW9kdWxlT2JqZWN0ICptLCBQeU9iamVjdCAqbmFtZSkKK3sKKyAgICBQeU9iamVjdCAqYXR0ciwgKm1vZF9uYW1lOworICAgIGF0dHIgPSBQeU9iamVjdF9HZW5lcmljR2V0QXR0cigoUHlPYmplY3QgKiltLCBuYW1lKTsKKyAgICBpZiAoYXR0ciB8fCAhUHlFcnJfRXhjZXB0aW9uTWF0Y2hlcyhQeUV4Y19BdHRyaWJ1dGVFcnJvcikpCisgICAgICAgIHJldHVybiBhdHRyOworICAgIFB5RXJyX0NsZWFyKCk7CisgICAgaWYgKG0tPm1kX2RpY3QpIHsKKyAgICAgICAgX1B5X0lERU5USUZJRVIoX19uYW1lX18pOworICAgICAgICBtb2RfbmFtZSA9IF9QeURpY3RfR2V0SXRlbUlkKG0tPm1kX2RpY3QsICZQeUlkX19fbmFtZV9fKTsKKyAgICAgICAgaWYgKG1vZF9uYW1lKSB7CisgICAgICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfQXR0cmlidXRlRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAibW9kdWxlICclVScgaGFzIG5vIGF0dHJpYnV0ZSAnJVUnIiwgbW9kX25hbWUsIG5hbWUpOworICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgIH0KKyAgICAgICAgZWxzZSBpZiAoUHlFcnJfT2NjdXJyZWQoKSkgeworICAgICAgICAgICAgUHlFcnJfQ2xlYXIoKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBQeUVycl9Gb3JtYXQoUHlFeGNfQXR0cmlidXRlRXJyb3IsCisgICAgICAgICAgICAgICAgIm1vZHVsZSBoYXMgbm8gYXR0cmlidXRlICclVSciLCBuYW1lKTsKKyAgICByZXR1cm4gTlVMTDsKK30KKwogc3RhdGljIGludAogbW9kdWxlX3RyYXZlcnNlKFB5TW9kdWxlT2JqZWN0ICptLCB2aXNpdHByb2MgdmlzaXQsIHZvaWQgKmFyZykKIHsKQEAgLTQ2NCw3ICs0OTgsNiBAQAogICAgIHswfQogfTsKIAotCiBQeURvY19TVFJWQVIobW9kdWxlX2RvYywKICJtb2R1bGUobmFtZVssIGRvY10pXG5cCiBcblwKQEAgLTQ4OCw3ICs1MjEsNyBAQAogICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfaGFzaCAqLwogICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfY2FsbCAqLwogICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfc3RyICovCi0gICAgUHlPYmplY3RfR2VuZXJpY0dldEF0dHIsICAgICAgICAgICAgICAgICAgICAvKiB0cF9nZXRhdHRybyAqLworICAgIChnZXRhdHRyb2Z1bmMpbW9kdWxlX2dldGF0dHJvLCAgICAgICAgICAgICAgLyogdHBfZ2V0YXR0cm8gKi8KICAgICBQeU9iamVjdF9HZW5lcmljU2V0QXR0ciwgICAgICAgICAgICAgICAgICAgIC8qIHRwX3NldGF0dHJvICovCiAgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9hc19idWZmZXIgKi8KICAgICBQeV9UUEZMQUdTX0RFRkFVTFQgfCBQeV9UUEZMQUdTX0hBVkVfR0MgfApkaWZmIC0tZ2l0IGEvT2JqZWN0cy9vYmplY3QuYyBiL09iamVjdHMvb2JqZWN0LmMKaW5kZXggYTFhNjlmYS4uNDJjYmJjZCAxMDA2NDQKLS0tIGEvT2JqZWN0cy9vYmplY3QuYworKysgYi9PYmplY3RzL29iamVjdC5jCkBAIC0zMyw2ICszMywyMiBAQAogICAgICAgICB0b3RhbCAtPSBvLT5vYl9yZWZjbnQ7CiAgICAgcmV0dXJuIHRvdGFsOwogfQorCit2b2lkCitfUHlEZWJ1Z19QcmludFRvdGFsUmVmcyh2b2lkKSB7CisgICAgUHlPYmplY3QgKnhvcHRpb25zLCAqdmFsdWU7CisgICAgX1B5X0lERU5USUZJRVIoc2hvd3JlZmNvdW50KTsKKworICAgIHhvcHRpb25zID0gUHlTeXNfR2V0WE9wdGlvbnMoKTsKKyAgICBpZiAoeG9wdGlvbnMgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuOworICAgIHZhbHVlID0gX1B5RGljdF9HZXRJdGVtSWQoeG9wdGlvbnMsICZQeUlkX3Nob3dyZWZjb3VudCk7CisgICAgaWYgKHZhbHVlID09IFB5X1RydWUpCisgICAgICAgIGZwcmludGYoc3RkZXJyLAorICAgICAgICAgICAgICAgICJbJSIgUFlfRk9STUFUX1NJWkVfVCAiZCByZWZzLCAiCisgICAgICAgICAgICAgICAgIiUiIFBZX0ZPUk1BVF9TSVpFX1QgImQgYmxvY2tzXVxuIiwKKyAgICAgICAgICAgICAgICBfUHlfR2V0UmVmVG90YWwoKSwgX1B5X0dldEFsbG9jYXRlZEJsb2NrcygpKTsKK30KICNlbmRpZiAvKiBQeV9SRUZfREVCVUcgKi8KIAogLyogT2JqZWN0IGFsbG9jYXRpb24gcm91dGluZXMgdXNlZCBieSBORVdPQkogYW5kIE5FV1ZBUk9CSiBtYWNyb3MuCkBAIC0xNTQzLDYgKzE1NTksOSBAQAogdm9pZAogX1B5X1JlYWR5VHlwZXModm9pZCkKIHsKKyAgICBpZiAoUHlUeXBlX1JlYWR5KCZQeUJhc2VPYmplY3RfVHlwZSkgPCAwKQorICAgICAgICBQeV9GYXRhbEVycm9yKCJDYW4ndCBpbml0aWFsaXplIG9iamVjdCB0eXBlIik7CisKICAgICBpZiAoUHlUeXBlX1JlYWR5KCZQeVR5cGVfVHlwZSkgPCAwKQogICAgICAgICBQeV9GYXRhbEVycm9yKCJDYW4ndCBpbml0aWFsaXplIHR5cGUgdHlwZSIpOwogCkBAIC0xNTU1LDYgKzE1NzQsOSBAQAogICAgIGlmIChQeVR5cGVfUmVhZHkoJl9QeVdlYWtyZWZfUHJveHlUeXBlKSA8IDApCiAgICAgICAgIFB5X0ZhdGFsRXJyb3IoIkNhbid0IGluaXRpYWxpemUgd2Vha3JlZiBwcm94eSB0eXBlIik7CiAKKyAgICBpZiAoUHlUeXBlX1JlYWR5KCZQeUxvbmdfVHlwZSkgPCAwKQorICAgICAgICBQeV9GYXRhbEVycm9yKCJDYW4ndCBpbml0aWFsaXplIGludCB0eXBlIik7CisKICAgICBpZiAoUHlUeXBlX1JlYWR5KCZQeUJvb2xfVHlwZSkgPCAwKQogICAgICAgICBQeV9GYXRhbEVycm9yKCJDYW4ndCBpbml0aWFsaXplIGJvb2wgdHlwZSIpOwogCkBAIC0xNTc5LDkgKzE2MDEsNiBAQAogICAgIGlmIChQeVR5cGVfUmVhZHkoJlB5U3VwZXJfVHlwZSkgPCAwKQogICAgICAgICBQeV9GYXRhbEVycm9yKCJDYW4ndCBpbml0aWFsaXplIHN1cGVyIHR5cGUiKTsKIAotICAgIGlmIChQeVR5cGVfUmVhZHkoJlB5QmFzZU9iamVjdF9UeXBlKSA8IDApCi0gICAgICAgIFB5X0ZhdGFsRXJyb3IoIkNhbid0IGluaXRpYWxpemUgb2JqZWN0IHR5cGUiKTsKLQogICAgIGlmIChQeVR5cGVfUmVhZHkoJlB5UmFuZ2VfVHlwZSkgPCAwKQogICAgICAgICBQeV9GYXRhbEVycm9yKCJDYW4ndCBpbml0aWFsaXplIHJhbmdlIHR5cGUiKTsKIApAQCAtMTYwNiw5ICsxNjI1LDYgQEAKICAgICBpZiAoUHlUeXBlX1JlYWR5KCZQeUZsb2F0X1R5cGUpIDwgMCkKICAgICAgICAgUHlfRmF0YWxFcnJvcigiQ2FuJ3QgaW5pdGlhbGl6ZSBmbG9hdCB0eXBlIik7CiAKLSAgICBpZiAoUHlUeXBlX1JlYWR5KCZQeUxvbmdfVHlwZSkgPCAwKQotICAgICAgICBQeV9GYXRhbEVycm9yKCJDYW4ndCBpbml0aWFsaXplIGludCB0eXBlIik7Ci0KICAgICBpZiAoUHlUeXBlX1JlYWR5KCZQeUZyb3plblNldF9UeXBlKSA8IDApCiAgICAgICAgIFB5X0ZhdGFsRXJyb3IoIkNhbid0IGluaXRpYWxpemUgZnJvemVuc2V0IHR5cGUiKTsKIApkaWZmIC0tZ2l0IGEvT2JqZWN0cy9vYm1hbGxvYy5jIGIvT2JqZWN0cy9vYm1hbGxvYy5jCmluZGV4IDNjMzMyNTUuLjdjYzg4OWYgMTAwNjQ0Ci0tLSBhL09iamVjdHMvb2JtYWxsb2MuYworKysgYi9PYmplY3RzL29ibWFsbG9jLmMKQEAgLTUsNiArNSw3IEBACiAjaWZkZWYgUFlNQUxMT0NfREVCVUcgICAvKiBXSVRIX1BZTUFMTE9DICYmIFBZTUFMTE9DX0RFQlVHICovCiAvKiBGb3J3YXJkIGRlY2xhcmF0aW9uICovCiBzdGF0aWMgdm9pZCogX1B5TWVtX0RlYnVnTWFsbG9jKHZvaWQgKmN0eCwgc2l6ZV90IHNpemUpOworc3RhdGljIHZvaWQqIF9QeU1lbV9EZWJ1Z0NhbGxvYyh2b2lkICpjdHgsIHNpemVfdCBuZWxlbSwgc2l6ZV90IGVsc2l6ZSk7CiBzdGF0aWMgdm9pZCBfUHlNZW1fRGVidWdGcmVlKHZvaWQgKmN0eCwgdm9pZCAqcCk7CiBzdGF0aWMgdm9pZCogX1B5TWVtX0RlYnVnUmVhbGxvYyh2b2lkICpjdHgsIHZvaWQgKnB0ciwgc2l6ZV90IHNpemUpOwogCkBAIC00Myw2ICs0NCw3IEBACiAKIC8qIEZvcndhcmQgZGVjbGFyYXRpb24gKi8KIHN0YXRpYyB2b2lkKiBfUHlPYmplY3RfTWFsbG9jKHZvaWQgKmN0eCwgc2l6ZV90IHNpemUpOworc3RhdGljIHZvaWQqIF9QeU9iamVjdF9DYWxsb2Modm9pZCAqY3R4LCBzaXplX3QgbmVsZW0sIHNpemVfdCBlbHNpemUpOwogc3RhdGljIHZvaWQgX1B5T2JqZWN0X0ZyZWUodm9pZCAqY3R4LCB2b2lkICpwKTsKIHN0YXRpYyB2b2lkKiBfUHlPYmplY3RfUmVhbGxvYyh2b2lkICpjdHgsIHZvaWQgKnB0ciwgc2l6ZV90IHNpemUpOwogI2VuZGlmCkBAIC01MSw3ICs1Myw3IEBACiBzdGF0aWMgdm9pZCAqCiBfUHlNZW1fUmF3TWFsbG9jKHZvaWQgKmN0eCwgc2l6ZV90IHNpemUpCiB7Ci0gICAgLyogUHlNZW1fTWFsbG9jKDApIG1lYW5zIG1hbGxvYygxKS4gU29tZSBzeXN0ZW1zIHdvdWxkIHJldHVybiBOVUxMCisgICAgLyogUHlNZW1fUmF3TWFsbG9jKDApIG1lYW5zIG1hbGxvYygxKS4gU29tZSBzeXN0ZW1zIHdvdWxkIHJldHVybiBOVUxMCiAgICAgICAgZm9yIG1hbGxvYygwKSwgd2hpY2ggd291bGQgYmUgdHJlYXRlZCBhcyBhbiBlcnJvci4gU29tZSBwbGF0Zm9ybXMgd291bGQKICAgICAgICByZXR1cm4gYSBwb2ludGVyIHdpdGggbm8gbWVtb3J5IGJlaGluZCBpdCwgd2hpY2ggd291bGQgYnJlYWsgcHltYWxsb2MuCiAgICAgICAgVG8gc29sdmUgdGhlc2UgcHJvYmxlbXMsIGFsbG9jYXRlIGFuIGV4dHJhIGJ5dGUuICovCkBAIC02MSw2ICs2MywyMCBAQAogfQogCiBzdGF0aWMgdm9pZCAqCitfUHlNZW1fUmF3Q2FsbG9jKHZvaWQgKmN0eCwgc2l6ZV90IG5lbGVtLCBzaXplX3QgZWxzaXplKQoreworICAgIC8qIFB5TWVtX1Jhd0NhbGxvYygwLCAwKSBtZWFucyBjYWxsb2MoMSwgMSkuIFNvbWUgc3lzdGVtcyB3b3VsZCByZXR1cm4gTlVMTAorICAgICAgIGZvciBjYWxsb2MoMCwgMCksIHdoaWNoIHdvdWxkIGJlIHRyZWF0ZWQgYXMgYW4gZXJyb3IuIFNvbWUgcGxhdGZvcm1zCisgICAgICAgd291bGQgcmV0dXJuIGEgcG9pbnRlciB3aXRoIG5vIG1lbW9yeSBiZWhpbmQgaXQsIHdoaWNoIHdvdWxkIGJyZWFrCisgICAgICAgcHltYWxsb2MuICBUbyBzb2x2ZSB0aGVzZSBwcm9ibGVtcywgYWxsb2NhdGUgYW4gZXh0cmEgYnl0ZS4gKi8KKyAgICBpZiAobmVsZW0gPT0gMCB8fCBlbHNpemUgPT0gMCkgeworICAgICAgICBuZWxlbSA9IDE7CisgICAgICAgIGVsc2l6ZSA9IDE7CisgICAgfQorICAgIHJldHVybiBjYWxsb2MobmVsZW0sIGVsc2l6ZSk7Cit9CisKK3N0YXRpYyB2b2lkICoKIF9QeU1lbV9SYXdSZWFsbG9jKHZvaWQgKmN0eCwgdm9pZCAqcHRyLCBzaXplX3Qgc2l6ZSkKIHsKICAgICBpZiAoc2l6ZSA9PSAwKQpAQCAtMTIzLDkgKzEzOSw5IEBACiAjZW5kaWYKIAogCi0jZGVmaW5lIFBZUkFXX0ZVTkNTIF9QeU1lbV9SYXdNYWxsb2MsIF9QeU1lbV9SYXdSZWFsbG9jLCBfUHlNZW1fUmF3RnJlZQorI2RlZmluZSBQWVJBV19GVU5DUyBfUHlNZW1fUmF3TWFsbG9jLCBfUHlNZW1fUmF3Q2FsbG9jLCBfUHlNZW1fUmF3UmVhbGxvYywgX1B5TWVtX1Jhd0ZyZWUKICNpZmRlZiBXSVRIX1BZTUFMTE9DCi0jICBkZWZpbmUgUFlPQkpfRlVOQ1MgX1B5T2JqZWN0X01hbGxvYywgX1B5T2JqZWN0X1JlYWxsb2MsIF9QeU9iamVjdF9GcmVlCisjICBkZWZpbmUgUFlPQkpfRlVOQ1MgX1B5T2JqZWN0X01hbGxvYywgX1B5T2JqZWN0X0NhbGxvYywgX1B5T2JqZWN0X1JlYWxsb2MsIF9QeU9iamVjdF9GcmVlCiAjZWxzZQogIyAgZGVmaW5lIFBZT0JKX0ZVTkNTIFBZUkFXX0ZVTkNTCiAjZW5kaWYKQEAgLTEzNSw3ICsxNTEsNyBAQAogdHlwZWRlZiBzdHJ1Y3QgewogICAgIC8qIFdlIHRhZyBlYWNoIGJsb2NrIHdpdGggYW4gQVBJIElEIGluIG9yZGVyIHRvIHRhZyBBUEkgdmlvbGF0aW9ucyAqLwogICAgIGNoYXIgYXBpX2lkOwotICAgIFB5TWVtQWxsb2NhdG9yIGFsbG9jOworICAgIFB5TWVtQWxsb2NhdG9yRXggYWxsb2M7CiB9IGRlYnVnX2FsbG9jX2FwaV90Owogc3RhdGljIHN0cnVjdCB7CiAgICAgZGVidWdfYWxsb2NfYXBpX3QgcmF3OwpAQCAtMTQ3LDEwICsxNjMsMTAgQEAKICAgICB7J28nLCB7TlVMTCwgUFlPQkpfRlVOQ1N9fQogICAgIH07CiAKLSNkZWZpbmUgUFlEQkdfRlVOQ1MgX1B5TWVtX0RlYnVnTWFsbG9jLCBfUHlNZW1fRGVidWdSZWFsbG9jLCBfUHlNZW1fRGVidWdGcmVlCisjZGVmaW5lIFBZREJHX0ZVTkNTIF9QeU1lbV9EZWJ1Z01hbGxvYywgX1B5TWVtX0RlYnVnQ2FsbG9jLCBfUHlNZW1fRGVidWdSZWFsbG9jLCBfUHlNZW1fRGVidWdGcmVlCiAjZW5kaWYKIAotc3RhdGljIFB5TWVtQWxsb2NhdG9yIF9QeU1lbV9SYXcgPSB7CitzdGF0aWMgUHlNZW1BbGxvY2F0b3JFeCBfUHlNZW1fUmF3ID0gewogI2lmZGVmIFBZTUFMTE9DX0RFQlVHCiAgICAgJl9QeU1lbV9EZWJ1Zy5yYXcsIFBZREJHX0ZVTkNTCiAjZWxzZQpAQCAtMTU4LDcgKzE3NCw3IEBACiAjZW5kaWYKICAgICB9OwogCi1zdGF0aWMgUHlNZW1BbGxvY2F0b3IgX1B5TWVtID0geworc3RhdGljIFB5TWVtQWxsb2NhdG9yRXggX1B5TWVtID0gewogI2lmZGVmIFBZTUFMTE9DX0RFQlVHCiAgICAgJl9QeU1lbV9EZWJ1Zy5tZW0sIFBZREJHX0ZVTkNTCiAjZWxzZQpAQCAtMTY2LDcgKzE4Miw3IEBACiAjZW5kaWYKICAgICB9OwogCi1zdGF0aWMgUHlNZW1BbGxvY2F0b3IgX1B5T2JqZWN0ID0geworc3RhdGljIFB5TWVtQWxsb2NhdG9yRXggX1B5T2JqZWN0ID0gewogI2lmZGVmIFBZTUFMTE9DX0RFQlVHCiAgICAgJl9QeU1lbV9EZWJ1Zy5vYmosIFBZREJHX0ZVTkNTCiAjZWxzZQpAQCAtMTkzLDkgKzIwOSwxMCBAQAogUHlNZW1fU2V0dXBEZWJ1Z0hvb2tzKHZvaWQpCiB7CiAjaWZkZWYgUFlNQUxMT0NfREVCVUcKLSAgICBQeU1lbUFsbG9jYXRvciBhbGxvYzsKKyAgICBQeU1lbUFsbG9jYXRvckV4IGFsbG9jOwogCiAgICAgYWxsb2MubWFsbG9jID0gX1B5TWVtX0RlYnVnTWFsbG9jOworICAgIGFsbG9jLmNhbGxvYyA9IF9QeU1lbV9EZWJ1Z0NhbGxvYzsKICAgICBhbGxvYy5yZWFsbG9jID0gX1B5TWVtX0RlYnVnUmVhbGxvYzsKICAgICBhbGxvYy5mcmVlID0gX1B5TWVtX0RlYnVnRnJlZTsKIApAQCAtMjIwLDcgKzIzNyw3IEBACiB9CiAKIHZvaWQKLVB5TWVtX0dldEFsbG9jYXRvcihQeU1lbUFsbG9jYXRvckRvbWFpbiBkb21haW4sIFB5TWVtQWxsb2NhdG9yICphbGxvY2F0b3IpCitQeU1lbV9HZXRBbGxvY2F0b3IoUHlNZW1BbGxvY2F0b3JEb21haW4gZG9tYWluLCBQeU1lbUFsbG9jYXRvckV4ICphbGxvY2F0b3IpCiB7CiAgICAgc3dpdGNoKGRvbWFpbikKICAgICB7CkBAIC0yMjgsMTYgKzI0NSwxNyBAQAogICAgIGNhc2UgUFlNRU1fRE9NQUlOX01FTTogKmFsbG9jYXRvciA9IF9QeU1lbTsgYnJlYWs7CiAgICAgY2FzZSBQWU1FTV9ET01BSU5fT0JKOiAqYWxsb2NhdG9yID0gX1B5T2JqZWN0OyBicmVhazsKICAgICBkZWZhdWx0OgotICAgICAgICAvKiB1bmtub3duIGRvbWFpbiAqLworICAgICAgICAvKiB1bmtub3duIGRvbWFpbjogc2V0IGFsbCBhdHRyaWJ1dGVzIHRvIE5VTEwgKi8KICAgICAgICAgYWxsb2NhdG9yLT5jdHggPSBOVUxMOwogICAgICAgICBhbGxvY2F0b3ItPm1hbGxvYyA9IE5VTEw7CisgICAgICAgIGFsbG9jYXRvci0+Y2FsbG9jID0gTlVMTDsKICAgICAgICAgYWxsb2NhdG9yLT5yZWFsbG9jID0gTlVMTDsKICAgICAgICAgYWxsb2NhdG9yLT5mcmVlID0gTlVMTDsKICAgICB9CiB9CiAKIHZvaWQKLVB5TWVtX1NldEFsbG9jYXRvcihQeU1lbUFsbG9jYXRvckRvbWFpbiBkb21haW4sIFB5TWVtQWxsb2NhdG9yICphbGxvY2F0b3IpCitQeU1lbV9TZXRBbGxvY2F0b3IoUHlNZW1BbGxvY2F0b3JEb21haW4gZG9tYWluLCBQeU1lbUFsbG9jYXRvckV4ICphbGxvY2F0b3IpCiB7CiAgICAgc3dpdGNoKGRvbWFpbikKICAgICB7CkBAIC0yNzIsMTAgKzI5MCwxOCBAQAogICAgICAqLwogICAgIGlmIChzaXplID4gKHNpemVfdClQWV9TU0laRV9UX01BWCkKICAgICAgICAgcmV0dXJuIE5VTEw7Ci0KICAgICByZXR1cm4gX1B5TWVtX1Jhdy5tYWxsb2MoX1B5TWVtX1Jhdy5jdHgsIHNpemUpOwogfQogCit2b2lkICoKK1B5TWVtX1Jhd0NhbGxvYyhzaXplX3QgbmVsZW0sIHNpemVfdCBlbHNpemUpCit7CisgICAgLyogc2VlIFB5TWVtX1Jhd01hbGxvYygpICovCisgICAgaWYgKGVsc2l6ZSAhPSAwICYmIG5lbGVtID4gKHNpemVfdClQWV9TU0laRV9UX01BWCAvIGVsc2l6ZSkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgcmV0dXJuIF9QeU1lbV9SYXcuY2FsbG9jKF9QeU1lbV9SYXcuY3R4LCBuZWxlbSwgZWxzaXplKTsKK30KKwogdm9pZCoKIFB5TWVtX1Jhd1JlYWxsb2Modm9pZCAqcHRyLCBzaXplX3QgbmV3X3NpemUpCiB7CkBAIC0zMDAsNiArMzI2LDE1IEBACiB9CiAKIHZvaWQgKgorUHlNZW1fQ2FsbG9jKHNpemVfdCBuZWxlbSwgc2l6ZV90IGVsc2l6ZSkKK3sKKyAgICAvKiBzZWUgUHlNZW1fUmF3TWFsbG9jKCkgKi8KKyAgICBpZiAoZWxzaXplICE9IDAgJiYgbmVsZW0gPiAoc2l6ZV90KVBZX1NTSVpFX1RfTUFYIC8gZWxzaXplKQorICAgICAgICByZXR1cm4gTlVMTDsKKyAgICByZXR1cm4gX1B5TWVtLmNhbGxvYyhfUHlNZW0uY3R4LCBuZWxlbSwgZWxzaXplKTsKK30KKwordm9pZCAqCiBQeU1lbV9SZWFsbG9jKHZvaWQgKnB0ciwgc2l6ZV90IG5ld19zaXplKQogewogICAgIC8qIHNlZSBQeU1lbV9SYXdNYWxsb2MoKSAqLwpAQCAtMzUyLDYgKzM4NywxNSBAQAogfQogCiB2b2lkICoKK1B5T2JqZWN0X0NhbGxvYyhzaXplX3QgbmVsZW0sIHNpemVfdCBlbHNpemUpCit7CisgICAgLyogc2VlIFB5TWVtX1Jhd01hbGxvYygpICovCisgICAgaWYgKGVsc2l6ZSAhPSAwICYmIG5lbGVtID4gKHNpemVfdClQWV9TU0laRV9UX01BWCAvIGVsc2l6ZSkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgcmV0dXJuIF9QeU9iamVjdC5jYWxsb2MoX1B5T2JqZWN0LmN0eCwgbmVsZW0sIGVsc2l6ZSk7Cit9CisKK3ZvaWQgKgogUHlPYmplY3RfUmVhbGxvYyh2b2lkICpwdHIsIHNpemVfdCBuZXdfc2l6ZSkKIHsKICAgICAvKiBzZWUgUHlNZW1fUmF3TWFsbG9jKCkgKi8KQEAgLTExMjIsOCArMTE2Niw5IEBACiAgKi8KIAogc3RhdGljIHZvaWQgKgotX1B5T2JqZWN0X01hbGxvYyh2b2lkICpjdHgsIHNpemVfdCBuYnl0ZXMpCitfUHlPYmplY3RfQWxsb2MoaW50IHVzZV9jYWxsb2MsIHZvaWQgKmN0eCwgc2l6ZV90IG5lbGVtLCBzaXplX3QgZWxzaXplKQogeworICAgIHNpemVfdCBuYnl0ZXM7CiAgICAgYmxvY2sgKmJwOwogICAgIHBvb2xwIHBvb2w7CiAgICAgcG9vbHAgbmV4dDsKQEAgLTExMzEsNiArMTE3Niw5IEBACiAKICAgICBfUHlfQWxsb2NhdGVkQmxvY2tzKys7CiAKKyAgICBhc3NlcnQobmVsZW0gPD0gUFlfU1NJWkVfVF9NQVggLyBlbHNpemUpOworICAgIG5ieXRlcyA9IG5lbGVtICogZWxzaXplOworCiAjaWZkZWYgV0lUSF9WQUxHUklORAogICAgIGlmIChVTkxJS0VMWShydW5uaW5nX29uX3ZhbGdyaW5kID09IC0xKSkKICAgICAgICAgcnVubmluZ19vbl92YWxncmluZCA9IFJVTk5JTkdfT05fVkFMR1JJTkQ7CkBAIC0xMTM4LDkgKzExODYsOSBAQAogICAgICAgICBnb3RvIHJlZGlyZWN0OwogI2VuZGlmCiAKLSAgICAvKgotICAgICAqIFRoaXMgaW1wbGljaXRseSByZWRpcmVjdHMgbWFsbG9jKDApLgotICAgICAqLworICAgIGlmIChuZWxlbSA9PSAwIHx8IGVsc2l6ZSA9PSAwKQorICAgICAgICBnb3RvIHJlZGlyZWN0OworCiAgICAgaWYgKChuYnl0ZXMgLSAxKSA8IFNNQUxMX1JFUVVFU1RfVEhSRVNIT0xEKSB7CiAgICAgICAgIExPQ0soKTsKICAgICAgICAgLyoKQEAgLTExNTgsNiArMTIwNiw4IEBACiAgICAgICAgICAgICBhc3NlcnQoYnAgIT0gTlVMTCk7CiAgICAgICAgICAgICBpZiAoKHBvb2wtPmZyZWVibG9jayA9ICooYmxvY2sgKiopYnApICE9IE5VTEwpIHsKICAgICAgICAgICAgICAgICBVTkxPQ0soKTsKKyAgICAgICAgICAgICAgICBpZiAodXNlX2NhbGxvYykKKyAgICAgICAgICAgICAgICAgICAgbWVtc2V0KGJwLCAwLCBuYnl0ZXMpOwogICAgICAgICAgICAgICAgIHJldHVybiAodm9pZCAqKWJwOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgLyoKQEAgLTExNzAsNiArMTIyMCw4IEBACiAgICAgICAgICAgICAgICAgcG9vbC0+bmV4dG9mZnNldCArPSBJTkRFWDJTSVpFKHNpemUpOwogICAgICAgICAgICAgICAgICooYmxvY2sgKiopKHBvb2wtPmZyZWVibG9jaykgPSBOVUxMOwogICAgICAgICAgICAgICAgIFVOTE9DSygpOworICAgICAgICAgICAgICAgIGlmICh1c2VfY2FsbG9jKQorICAgICAgICAgICAgICAgICAgICBtZW1zZXQoYnAsIDAsIG5ieXRlcyk7CiAgICAgICAgICAgICAgICAgcmV0dXJuICh2b2lkICopYnA7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICAvKiBQb29sIGlzIGZ1bGwsIHVubGluayBmcm9tIHVzZWQgcG9vbHMuICovCkBAIC0xMTc4LDYgKzEyMzAsOCBAQAogICAgICAgICAgICAgbmV4dC0+cHJldnBvb2wgPSBwb29sOwogICAgICAgICAgICAgcG9vbC0+bmV4dHBvb2wgPSBuZXh0OwogICAgICAgICAgICAgVU5MT0NLKCk7CisgICAgICAgICAgICBpZiAodXNlX2NhbGxvYykKKyAgICAgICAgICAgICAgICBtZW1zZXQoYnAsIDAsIG5ieXRlcyk7CiAgICAgICAgICAgICByZXR1cm4gKHZvaWQgKilicDsKICAgICAgICAgfQogCkBAIC0xMjU3LDYgKzEzMTEsOCBAQAogICAgICAgICAgICAgICAgIGFzc2VydChicCAhPSBOVUxMKTsKICAgICAgICAgICAgICAgICBwb29sLT5mcmVlYmxvY2sgPSAqKGJsb2NrICoqKWJwOwogICAgICAgICAgICAgICAgIFVOTE9DSygpOworICAgICAgICAgICAgICAgIGlmICh1c2VfY2FsbG9jKQorICAgICAgICAgICAgICAgICAgICBtZW1zZXQoYnAsIDAsIG5ieXRlcyk7CiAgICAgICAgICAgICAgICAgcmV0dXJuICh2b2lkICopYnA7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICAvKgpAQCAtMTI3Miw2ICsxMzI4LDggQEAKICAgICAgICAgICAgIHBvb2wtPmZyZWVibG9jayA9IGJwICsgc2l6ZTsKICAgICAgICAgICAgICooYmxvY2sgKiopKHBvb2wtPmZyZWVibG9jaykgPSBOVUxMOwogICAgICAgICAgICAgVU5MT0NLKCk7CisgICAgICAgICAgICBpZiAodXNlX2NhbGxvYykKKyAgICAgICAgICAgICAgICBtZW1zZXQoYnAsIDAsIG5ieXRlcyk7CiAgICAgICAgICAgICByZXR1cm4gKHZvaWQgKilicDsKICAgICAgICAgfQogCkBAIC0xMjgxLDcgKzEzMzksNyBAQAogICAgICAgICBwb29sID0gKHBvb2xwKXVzYWJsZV9hcmVuYXMtPnBvb2xfYWRkcmVzczsKICAgICAgICAgYXNzZXJ0KChibG9jayopcG9vbCA8PSAoYmxvY2sqKXVzYWJsZV9hcmVuYXMtPmFkZHJlc3MgKwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFSRU5BX1NJWkUgLSBQT09MX1NJWkUpOwotICAgICAgICBwb29sLT5hcmVuYWluZGV4ID0gdXNhYmxlX2FyZW5hcyAtIGFyZW5hczsKKyAgICAgICAgcG9vbC0+YXJlbmFpbmRleCA9ICh1aW50KSh1c2FibGVfYXJlbmFzIC0gYXJlbmFzKTsKICAgICAgICAgYXNzZXJ0KCZhcmVuYXNbcG9vbC0+YXJlbmFpbmRleF0gPT0gdXNhYmxlX2FyZW5hcyk7CiAgICAgICAgIHBvb2wtPnN6aWR4ID0gRFVNTVlfU0laRV9JRFg7CiAgICAgICAgIHVzYWJsZV9hcmVuYXMtPnBvb2xfYWRkcmVzcyArPSBQT09MX1NJWkU7CkBAIC0xMzExLDEzICsxMzY5LDI5IEBACiAgICAgICogaGFzIGJlZW4gcmVhY2hlZC4KICAgICAgKi8KICAgICB7Ci0gICAgICAgIHZvaWQgKnJlc3VsdCA9IFB5TWVtX1Jhd01hbGxvYyhuYnl0ZXMpOworICAgICAgICB2b2lkICpyZXN1bHQ7CisgICAgICAgIGlmICh1c2VfY2FsbG9jKQorICAgICAgICAgICAgcmVzdWx0ID0gUHlNZW1fUmF3Q2FsbG9jKG5lbGVtLCBlbHNpemUpOworICAgICAgICBlbHNlCisgICAgICAgICAgICByZXN1bHQgPSBQeU1lbV9SYXdNYWxsb2MobmJ5dGVzKTsKICAgICAgICAgaWYgKCFyZXN1bHQpCiAgICAgICAgICAgICBfUHlfQWxsb2NhdGVkQmxvY2tzLS07CiAgICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAgfQogfQogCitzdGF0aWMgdm9pZCAqCitfUHlPYmplY3RfTWFsbG9jKHZvaWQgKmN0eCwgc2l6ZV90IG5ieXRlcykKK3sKKyAgICByZXR1cm4gX1B5T2JqZWN0X0FsbG9jKDAsIGN0eCwgMSwgbmJ5dGVzKTsKK30KKworc3RhdGljIHZvaWQgKgorX1B5T2JqZWN0X0NhbGxvYyh2b2lkICpjdHgsIHNpemVfdCBuZWxlbSwgc2l6ZV90IGVsc2l6ZSkKK3sKKyAgICByZXR1cm4gX1B5T2JqZWN0X0FsbG9jKDEsIGN0eCwgbmVsZW0sIGVsc2l6ZSk7Cit9CisKIC8qIGZyZWUgKi8KIAogQVRUUklCVVRFX05PX0FERFJFU1NfU0FGRVRZX0FOQUxZU0lTCkBAIC0xNTYxLDcgKzE2MzUsNyBAQAogI2VuZGlmCiAKICAgICBpZiAocCA9PSBOVUxMKQotICAgICAgICByZXR1cm4gX1B5T2JqZWN0X01hbGxvYyhjdHgsIG5ieXRlcyk7CisgICAgICAgIHJldHVybiBfUHlPYmplY3RfQWxsb2MoMCwgY3R4LCAxLCBuYnl0ZXMpOwogCiAjaWZkZWYgV0lUSF9WQUxHUklORAogICAgIC8qIFRyZWF0IHJ1bm5pbmdfb25fdmFsZ3JpbmQgPT0gLTEgdGhlIHNhbWUgYXMgMCAqLwpAQCAtMTU4OSw3ICsxNjYzLDcgQEAKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIHNpemUgPSBuYnl0ZXM7CiAgICAgICAgIH0KLSAgICAgICAgYnAgPSBfUHlPYmplY3RfTWFsbG9jKGN0eCwgbmJ5dGVzKTsKKyAgICAgICAgYnAgPSBfUHlPYmplY3RfQWxsb2MoMCwgY3R4LCAxLCBuYnl0ZXMpOwogICAgICAgICBpZiAoYnAgIT0gTlVMTCkgewogICAgICAgICAgICAgbWVtY3B5KGJwLCBwLCBzaXplKTsKICAgICAgICAgICAgIF9QeU9iamVjdF9GcmVlKGN0eCwgcCk7CkBAIC0xNzQ1LDcgKzE4MTksNyBAQAogKi8KIAogc3RhdGljIHZvaWQgKgotX1B5TWVtX0RlYnVnTWFsbG9jKHZvaWQgKmN0eCwgc2l6ZV90IG5ieXRlcykKK19QeU1lbV9EZWJ1Z0FsbG9jKGludCB1c2VfY2FsbG9jLCB2b2lkICpjdHgsIHNpemVfdCBuYnl0ZXMpCiB7CiAgICAgZGVidWdfYWxsb2NfYXBpX3QgKmFwaSA9IChkZWJ1Z19hbGxvY19hcGlfdCAqKWN0eDsKICAgICB1Y2hhciAqcDsgICAgICAgICAgIC8qIGJhc2UgYWRkcmVzcyBvZiBtYWxsb2MnZWQgYmxvY2sgKi8KQEAgLTE3NTgsNyArMTgzMiwxMCBAQAogICAgICAgICAvKiBvdmVyZmxvdzogIGNhbid0IHJlcHJlc2VudCB0b3RhbCBhcyBhIFB5X3NzaXplX3QgKi8KICAgICAgICAgcmV0dXJuIE5VTEw7CiAKLSAgICBwID0gKHVjaGFyICopYXBpLT5hbGxvYy5tYWxsb2MoYXBpLT5hbGxvYy5jdHgsIHRvdGFsKTsKKyAgICBpZiAodXNlX2NhbGxvYykKKyAgICAgICAgcCA9ICh1Y2hhciAqKWFwaS0+YWxsb2MuY2FsbG9jKGFwaS0+YWxsb2MuY3R4LCAxLCB0b3RhbCk7CisgICAgZWxzZQorICAgICAgICBwID0gKHVjaGFyICopYXBpLT5hbGxvYy5tYWxsb2MoYXBpLT5hbGxvYy5jdHgsIHRvdGFsKTsKICAgICBpZiAocCA9PSBOVUxMKQogICAgICAgICByZXR1cm4gTlVMTDsKIApAQCAtMTc2Nyw3ICsxODQ0LDcgQEAKICAgICBwW1NTVF0gPSAodWNoYXIpYXBpLT5hcGlfaWQ7CiAgICAgbWVtc2V0KHAgKyBTU1QgKyAxLCBGT1JCSURERU5CWVRFLCBTU1QtMSk7CiAKLSAgICBpZiAobmJ5dGVzID4gMCkKKyAgICBpZiAobmJ5dGVzID4gMCAmJiAhdXNlX2NhbGxvYykKICAgICAgICAgbWVtc2V0KHAgKyAyKlNTVCwgQ0xFQU5CWVRFLCBuYnl0ZXMpOwogCiAgICAgLyogYXQgdGFpbCwgd3JpdGUgcGFkIChTU1QgYnl0ZXMpIGFuZCBzZXJpYWxubyAoU1NUIGJ5dGVzKSAqLwpAQCAtMTc3OCw2ICsxODU1LDIxIEBACiAgICAgcmV0dXJuIHAgKyAyKlNTVDsKIH0KIAorc3RhdGljIHZvaWQgKgorX1B5TWVtX0RlYnVnTWFsbG9jKHZvaWQgKmN0eCwgc2l6ZV90IG5ieXRlcykKK3sKKyAgICByZXR1cm4gX1B5TWVtX0RlYnVnQWxsb2MoMCwgY3R4LCBuYnl0ZXMpOworfQorCitzdGF0aWMgdm9pZCAqCitfUHlNZW1fRGVidWdDYWxsb2Modm9pZCAqY3R4LCBzaXplX3QgbmVsZW0sIHNpemVfdCBlbHNpemUpCit7CisgICAgc2l6ZV90IG5ieXRlczsKKyAgICBhc3NlcnQoZWxzaXplID09IDAgfHwgbmVsZW0gPD0gUFlfU1NJWkVfVF9NQVggLyBlbHNpemUpOworICAgIG5ieXRlcyA9IG5lbGVtICogZWxzaXplOworICAgIHJldHVybiBfUHlNZW1fRGVidWdBbGxvYygxLCBjdHgsIG5ieXRlcyk7Cit9CisKIC8qIFRoZSBkZWJ1ZyBmcmVlIGZpcnN0IGNoZWNrcyB0aGUgMipTU1QgYnl0ZXMgb24gZWFjaCBlbmQgZm9yIHNhbml0eSAoaW4KICAgIHBhcnRpY3VsYXIsIHRoYXQgdGhlIEZPUkJJRERFTkJZVEVzIHdpdGggdGhlIGFwaSBJRCBhcmUgc3RpbGwgaW50YWN0KS4KICAgIFRoZW4gZmlsbHMgdGhlIG9yaWdpbmFsIGJ5dGVzIHdpdGggREVBREJZVEUuCkBAIC0xODExLDcgKzE5MDMsNyBAQAogICAgIGludCBpOwogCiAgICAgaWYgKHAgPT0gTlVMTCkKLSAgICAgICAgcmV0dXJuIF9QeU1lbV9EZWJ1Z01hbGxvYyhjdHgsIG5ieXRlcyk7CisgICAgICAgIHJldHVybiBfUHlNZW1fRGVidWdBbGxvYygwLCBjdHgsIG5ieXRlcyk7CiAKICAgICBfUHlNZW1fRGVidWdDaGVja0FkZHJlc3MoYXBpLT5hcGlfaWQsIHApOwogICAgIGJ1bXBzZXJpYWxubygpOwpkaWZmIC0tZ2l0IGEvT2JqZWN0cy9zZXRvYmplY3QuYyBiL09iamVjdHMvc2V0b2JqZWN0LmMKaW5kZXggMzRlNDNiOS4uODE5N2NkOSAxMDA2NDQKLS0tIGEvT2JqZWN0cy9zZXRvYmplY3QuYworKysgYi9PYmplY3RzL3NldG9iamVjdC5jCkBAIC00LDcgKzQsNyBAQAogICAgV3JpdHRlbiBhbmQgbWFpbnRhaW5lZCBieSBSYXltb25kIEQuIEhldHRpbmdlciA8cHl0aG9uQHJjbi5jb20+CiAgICBEZXJpdmVkIGZyb20gTGliL3NldHMucHkgYW5kIE9iamVjdHMvZGljdG9iamVjdC5jLgogCi0gICBDb3B5cmlnaHQgKGMpIDIwMDMtMjAxMyBQeXRob24gU29mdHdhcmUgRm91bmRhdGlvbi4KKyAgIENvcHlyaWdodCAoYykgMjAwMy0yMDE1IFB5dGhvbiBTb2Z0d2FyZSBGb3VuZGF0aW9uLgogICAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KIAogICAgVGhlIGJhc2ljIGxvb2t1cCBmdW5jdGlvbiB1c2VkIGJ5IGFsbCBvcGVyYXRpb25zLgpAQCAtMjMsNyArMjMsNyBAQAogCiAgICBBbGwgYXJpdGhtZXRpYyBvbiBoYXNoIHNob3VsZCBpZ25vcmUgb3ZlcmZsb3cuCiAKLSAgIFVubGlrZSB0aGUgZGljdGlvbmFyeSBpbXBsZW1lbnRhdGlvbiwgdGhlIGxvb2trZXkgZnVuY3Rpb25zIGNhbiByZXR1cm4KKyAgIFVubGlrZSB0aGUgZGljdGlvbmFyeSBpbXBsZW1lbnRhdGlvbiwgdGhlIGxvb2trZXkgZnVuY3Rpb24gY2FuIHJldHVybgogICAgTlVMTCBpZiB0aGUgcmljaCBjb21wYXJpc29uIHJldHVybnMgYW4gZXJyb3IuCiAqLwogCkBAIC01NiwxMjAgKzU2LDczIEBACiAgICAgc2V0ZW50cnkgKmVudHJ5OwogICAgIHNpemVfdCBwZXJ0dXJiID0gaGFzaDsKICAgICBzaXplX3QgbWFzayA9IHNvLT5tYXNrOwotICAgIHNpemVfdCBpID0gKHNpemVfdCloYXNoOyAvKiBVbnNpZ25lZCBmb3IgZGVmaW5lZCBvdmVyZmxvdyBiZWhhdmlvci4gKi8KKyAgICBzaXplX3QgaSA9IChzaXplX3QpaGFzaCAmIG1hc2s7IC8qIFVuc2lnbmVkIGZvciBkZWZpbmVkIG92ZXJmbG93IGJlaGF2aW9yICovCiAgICAgc2l6ZV90IGo7CiAgICAgaW50IGNtcDsKIAotICAgIGVudHJ5ID0gJnRhYmxlW2kgJiBtYXNrXTsKKyAgICBlbnRyeSA9ICZ0YWJsZVtpXTsKICAgICBpZiAoZW50cnktPmtleSA9PSBOVUxMKQogICAgICAgICByZXR1cm4gZW50cnk7CiAKICAgICB3aGlsZSAoMSkgewotICAgICAgICBpZiAoZW50cnktPmtleSA9PSBrZXkpCi0gICAgICAgICAgICByZXR1cm4gZW50cnk7Ci0gICAgICAgIGlmIChlbnRyeS0+aGFzaCA9PSBoYXNoICYmIGVudHJ5LT5rZXkgIT0gZHVtbXkpIHsKKyAgICAgICAgaWYgKGVudHJ5LT5oYXNoID09IGhhc2gpIHsKICAgICAgICAgICAgIFB5T2JqZWN0ICpzdGFydGtleSA9IGVudHJ5LT5rZXk7CisgICAgICAgICAgICAvKiBzdGFydGtleSBjYW5ub3QgYmUgYSBkdW1teSBiZWNhdXNlIHRoZSBkdW1teSBoYXNoIGZpZWxkIGlzIC0xICovCisgICAgICAgICAgICBhc3NlcnQoc3RhcnRrZXkgIT0gZHVtbXkpOworICAgICAgICAgICAgaWYgKHN0YXJ0a2V5ID09IGtleSkKKyAgICAgICAgICAgICAgICByZXR1cm4gZW50cnk7CisgICAgICAgICAgICBpZiAoUHlVbmljb2RlX0NoZWNrRXhhY3Qoc3RhcnRrZXkpCisgICAgICAgICAgICAgICAgJiYgUHlVbmljb2RlX0NoZWNrRXhhY3Qoa2V5KQorICAgICAgICAgICAgICAgICYmIHVuaWNvZGVfZXEoc3RhcnRrZXksIGtleSkpCisgICAgICAgICAgICAgICAgcmV0dXJuIGVudHJ5OwogICAgICAgICAgICAgUHlfSU5DUkVGKHN0YXJ0a2V5KTsKICAgICAgICAgICAgIGNtcCA9IFB5T2JqZWN0X1JpY2hDb21wYXJlQm9vbChzdGFydGtleSwga2V5LCBQeV9FUSk7CiAgICAgICAgICAgICBQeV9ERUNSRUYoc3RhcnRrZXkpOwotICAgICAgICAgICAgaWYgKGNtcCA8IDApCisgICAgICAgICAgICBpZiAoY21wIDwgMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB1bmxpa2VseSAqLwogICAgICAgICAgICAgICAgIHJldHVybiBOVUxMOwotICAgICAgICAgICAgaWYgKHRhYmxlICE9IHNvLT50YWJsZSB8fCBlbnRyeS0+a2V5ICE9IHN0YXJ0a2V5KQorICAgICAgICAgICAgaWYgKHRhYmxlICE9IHNvLT50YWJsZSB8fCBlbnRyeS0+a2V5ICE9IHN0YXJ0a2V5KSAgICAgLyogdW5saWtlbHkgKi8KICAgICAgICAgICAgICAgICByZXR1cm4gc2V0X2xvb2trZXkoc28sIGtleSwgaGFzaCk7Ci0gICAgICAgICAgICBpZiAoY21wID4gMCkKKyAgICAgICAgICAgIGlmIChjbXAgPiAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIGxpa2VseSAqLwogICAgICAgICAgICAgICAgIHJldHVybiBlbnRyeTsKKyAgICAgICAgICAgIG1hc2sgPSBzby0+bWFzazsgICAgICAgICAgICAgICAgIC8qIGhlbHAgYXZvaWQgYSByZWdpc3RlciBzcGlsbCAqLwogICAgICAgICB9Ci0gICAgICAgIGlmIChlbnRyeS0+a2V5ID09IGR1bW15ICYmIGZyZWVzbG90ID09IE5VTEwpCisgICAgICAgIGlmIChlbnRyeS0+aGFzaCA9PSAtMSAmJiBmcmVlc2xvdCA9PSBOVUxMKQogICAgICAgICAgICAgZnJlZXNsb3QgPSBlbnRyeTsKIAotICAgICAgICBmb3IgKGogPSAxIDsgaiA8PSBMSU5FQVJfUFJPQkVTIDsgaisrKSB7Ci0gICAgICAgICAgICBlbnRyeSA9ICZ0YWJsZVsoaSArIGopICYgbWFza107Ci0gICAgICAgICAgICBpZiAoZW50cnktPmtleSA9PSBOVUxMKQotICAgICAgICAgICAgICAgIGdvdG8gZm91bmRfbnVsbDsKLSAgICAgICAgICAgIGlmIChlbnRyeS0+a2V5ID09IGtleSkKLSAgICAgICAgICAgICAgICByZXR1cm4gZW50cnk7Ci0gICAgICAgICAgICBpZiAoZW50cnktPmhhc2ggPT0gaGFzaCAmJiBlbnRyeS0+a2V5ICE9IGR1bW15KSB7Ci0gICAgICAgICAgICAgICAgUHlPYmplY3QgKnN0YXJ0a2V5ID0gZW50cnktPmtleTsKLSAgICAgICAgICAgICAgICBQeV9JTkNSRUYoc3RhcnRrZXkpOwotICAgICAgICAgICAgICAgIGNtcCA9IFB5T2JqZWN0X1JpY2hDb21wYXJlQm9vbChzdGFydGtleSwga2V5LCBQeV9FUSk7Ci0gICAgICAgICAgICAgICAgUHlfREVDUkVGKHN0YXJ0a2V5KTsKLSAgICAgICAgICAgICAgICBpZiAoY21wIDwgMCkKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgICAgICAgICAgICAgaWYgKHRhYmxlICE9IHNvLT50YWJsZSB8fCBlbnRyeS0+a2V5ICE9IHN0YXJ0a2V5KQotICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2V0X2xvb2trZXkoc28sIGtleSwgaGFzaCk7Ci0gICAgICAgICAgICAgICAgaWYgKGNtcCA+IDApCi0gICAgICAgICAgICAgICAgICAgIHJldHVybiBlbnRyeTsKKyAgICAgICAgaWYgKGkgKyBMSU5FQVJfUFJPQkVTIDw9IG1hc2spIHsKKyAgICAgICAgICAgIGZvciAoaiA9IDAgOyBqIDwgTElORUFSX1BST0JFUyA7IGorKykgeworICAgICAgICAgICAgICAgIGVudHJ5Kys7CisgICAgICAgICAgICAgICAgaWYgKGVudHJ5LT5rZXkgPT0gTlVMTCkKKyAgICAgICAgICAgICAgICAgICAgZ290byBmb3VuZF9udWxsOworICAgICAgICAgICAgICAgIGlmIChlbnRyeS0+aGFzaCA9PSBoYXNoKSB7CisgICAgICAgICAgICAgICAgICAgIFB5T2JqZWN0ICpzdGFydGtleSA9IGVudHJ5LT5rZXk7CisgICAgICAgICAgICAgICAgICAgIGFzc2VydChzdGFydGtleSAhPSBkdW1teSk7CisgICAgICAgICAgICAgICAgICAgIGlmIChzdGFydGtleSA9PSBrZXkpCisgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZW50cnk7CisgICAgICAgICAgICAgICAgICAgIGlmIChQeVVuaWNvZGVfQ2hlY2tFeGFjdChzdGFydGtleSkKKyAgICAgICAgICAgICAgICAgICAgICAgICYmIFB5VW5pY29kZV9DaGVja0V4YWN0KGtleSkKKyAgICAgICAgICAgICAgICAgICAgICAgICYmIHVuaWNvZGVfZXEoc3RhcnRrZXksIGtleSkpCisgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZW50cnk7CisgICAgICAgICAgICAgICAgICAgIFB5X0lOQ1JFRihzdGFydGtleSk7CisgICAgICAgICAgICAgICAgICAgIGNtcCA9IFB5T2JqZWN0X1JpY2hDb21wYXJlQm9vbChzdGFydGtleSwga2V5LCBQeV9FUSk7CisgICAgICAgICAgICAgICAgICAgIFB5X0RFQ1JFRihzdGFydGtleSk7CisgICAgICAgICAgICAgICAgICAgIGlmIChjbXAgPCAwKQorICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgICAgICAgICAgICAgIGlmICh0YWJsZSAhPSBzby0+dGFibGUgfHwgZW50cnktPmtleSAhPSBzdGFydGtleSkKKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBzZXRfbG9va2tleShzbywga2V5LCBoYXNoKTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKGNtcCA+IDApCisgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZW50cnk7CisgICAgICAgICAgICAgICAgICAgIG1hc2sgPSBzby0+bWFzazsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgaWYgKGVudHJ5LT5oYXNoID09IC0xICYmIGZyZWVzbG90ID09IE5VTEwpCisgICAgICAgICAgICAgICAgICAgIGZyZWVzbG90ID0gZW50cnk7CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICBpZiAoZW50cnktPmtleSA9PSBkdW1teSAmJiBmcmVlc2xvdCA9PSBOVUxMKQotICAgICAgICAgICAgICAgIGZyZWVzbG90ID0gZW50cnk7CiAgICAgICAgIH0KIAogICAgICAgICBwZXJ0dXJiID4+PSBQRVJUVVJCX1NISUZUOwotICAgICAgICBpID0gaSAqIDUgKyAxICsgcGVydHVyYjsKKyAgICAgICAgaSA9IChpICogNSArIDEgKyBwZXJ0dXJiKSAmIG1hc2s7CiAKLSAgICAgICAgZW50cnkgPSAmdGFibGVbaSAmIG1hc2tdOwotICAgICAgICBpZiAoZW50cnktPmtleSA9PSBOVUxMKQotICAgICAgICAgICAgZ290byBmb3VuZF9udWxsOwotICAgIH0KLSAgZm91bmRfbnVsbDoKLSAgICByZXR1cm4gZnJlZXNsb3QgPT0gTlVMTCA/IGVudHJ5IDogZnJlZXNsb3Q7Ci19Ci0KLS8qCi0gKiBIYWNrZWQgdXAgdmVyc2lvbiBvZiBzZXRfbG9va2tleSB3aGljaCBjYW4gYXNzdW1lIGtleXMgYXJlIGFsd2F5cyB1bmljb2RlOwotICogVGhpcyBtZWFucyB3ZSBjYW4gYWx3YXlzIHVzZSB1bmljb2RlX2VxIGRpcmVjdGx5IGFuZCBub3QgaGF2ZSB0byBjaGVjayB0bwotICogc2VlIGlmIHRoZSBjb21wYXJpc29uIGFsdGVyZWQgdGhlIHRhYmxlLgotICovCi1zdGF0aWMgc2V0ZW50cnkgKgotc2V0X2xvb2trZXlfdW5pY29kZShQeVNldE9iamVjdCAqc28sIFB5T2JqZWN0ICprZXksIFB5X2hhc2hfdCBoYXNoKQotewotICAgIHNldGVudHJ5ICp0YWJsZSA9IHNvLT50YWJsZTsKLSAgICBzZXRlbnRyeSAqZnJlZXNsb3QgPSBOVUxMOwotICAgIHNldGVudHJ5ICplbnRyeTsKLSAgICBzaXplX3QgcGVydHVyYiA9IGhhc2g7Ci0gICAgc2l6ZV90IG1hc2sgPSBzby0+bWFzazsKLSAgICBzaXplX3QgaSA9IChzaXplX3QpaGFzaDsKLSAgICBzaXplX3QgajsKLQotICAgIC8qIE1ha2Ugc3VyZSB0aGlzIGZ1bmN0aW9uIGRvZXNuJ3QgaGF2ZSB0byBoYW5kbGUgbm9uLXVuaWNvZGUga2V5cywKLSAgICAgICBpbmNsdWRpbmcgc3ViY2xhc3NlcyBvZiBzdHI7IGUuZy4sIG9uZSByZWFzb24gdG8gc3ViY2xhc3MKLSAgICAgICBzdHJpbmdzIGlzIHRvIG92ZXJyaWRlIF9fZXFfXywgYW5kIGZvciBzcGVlZCB3ZSBkb24ndCBjYXRlciB0bwotICAgICAgIHRoYXQgaGVyZS4gKi8KLSAgICBpZiAoIVB5VW5pY29kZV9DaGVja0V4YWN0KGtleSkpIHsKLSAgICAgICAgc28tPmxvb2t1cCA9IHNldF9sb29ra2V5OwotICAgICAgICByZXR1cm4gc2V0X2xvb2trZXkoc28sIGtleSwgaGFzaCk7Ci0gICAgfQotCi0gICAgZW50cnkgPSAmdGFibGVbaSAmIG1hc2tdOwotICAgIGlmIChlbnRyeS0+a2V5ID09IE5VTEwpCi0gICAgICAgIHJldHVybiBlbnRyeTsKLQotICAgIHdoaWxlICgxKSB7Ci0gICAgICAgIGlmIChlbnRyeS0+a2V5ID09IGtleQotICAgICAgICAgICAgfHwgKGVudHJ5LT5oYXNoID09IGhhc2gKLSAgICAgICAgICAgICAgICAmJiBlbnRyeS0+a2V5ICE9IGR1bW15Ci0gICAgICAgICAgICAgICAgJiYgdW5pY29kZV9lcShlbnRyeS0+a2V5LCBrZXkpKSkKLSAgICAgICAgICAgIHJldHVybiBlbnRyeTsKLSAgICAgICAgaWYgKGVudHJ5LT5rZXkgPT0gZHVtbXkgJiYgZnJlZXNsb3QgPT0gTlVMTCkKLSAgICAgICAgICAgIGZyZWVzbG90ID0gZW50cnk7Ci0KLSAgICAgICAgZm9yIChqID0gMSA7IGogPD0gTElORUFSX1BST0JFUyA7IGorKykgewotICAgICAgICAgICAgZW50cnkgPSAmdGFibGVbKGkgKyBqKSAmIG1hc2tdOwotICAgICAgICAgICAgaWYgKGVudHJ5LT5rZXkgPT0gTlVMTCkKLSAgICAgICAgICAgICAgICBnb3RvIGZvdW5kX251bGw7Ci0gICAgICAgICAgICBpZiAoZW50cnktPmtleSA9PSBrZXkKLSAgICAgICAgICAgICAgICB8fCAoZW50cnktPmhhc2ggPT0gaGFzaAotICAgICAgICAgICAgICAgICAgICAmJiBlbnRyeS0+a2V5ICE9IGR1bW15Ci0gICAgICAgICAgICAgICAgICAgICYmIHVuaWNvZGVfZXEoZW50cnktPmtleSwga2V5KSkpCi0gICAgICAgICAgICAgICAgcmV0dXJuIGVudHJ5OwotICAgICAgICAgICAgaWYgKGVudHJ5LT5rZXkgPT0gZHVtbXkgJiYgZnJlZXNsb3QgPT0gTlVMTCkKLSAgICAgICAgICAgICAgICBmcmVlc2xvdCA9IGVudHJ5OwotICAgICAgICB9Ci0KLSAgICAgICAgcGVydHVyYiA+Pj0gUEVSVFVSQl9TSElGVDsKLSAgICAgICAgaSA9IGkgKiA1ICsgMSArIHBlcnR1cmI7Ci0KLSAgICAgICAgZW50cnkgPSAmdGFibGVbaSAmIG1hc2tdOworICAgICAgICBlbnRyeSA9ICZ0YWJsZVtpXTsKICAgICAgICAgaWYgKGVudHJ5LT5rZXkgPT0gTlVMTCkKICAgICAgICAgICAgIGdvdG8gZm91bmRfbnVsbDsKICAgICB9CkBAIC0xOTIsMjAgKzE0NSwyMiBAQAogICAgIHNldGVudHJ5ICplbnRyeTsKICAgICBzaXplX3QgcGVydHVyYiA9IGhhc2g7CiAgICAgc2l6ZV90IG1hc2sgPSAoc2l6ZV90KXNvLT5tYXNrOwotICAgIHNpemVfdCBpID0gKHNpemVfdCloYXNoOworICAgIHNpemVfdCBpID0gKHNpemVfdCloYXNoICYgbWFzazsKICAgICBzaXplX3QgajsKIAogICAgIHdoaWxlICgxKSB7Ci0gICAgICAgIGVudHJ5ID0gJnRhYmxlW2kgJiBtYXNrXTsKKyAgICAgICAgZW50cnkgPSAmdGFibGVbaV07CiAgICAgICAgIGlmIChlbnRyeS0+a2V5ID09IE5VTEwpCiAgICAgICAgICAgICBnb3RvIGZvdW5kX251bGw7Ci0gICAgICAgIGZvciAoaiA9IDEgOyBqIDw9IExJTkVBUl9QUk9CRVMgOyBqKyspIHsKLSAgICAgICAgICAgIGVudHJ5ID0gJnRhYmxlWyhpICsgaikgJiBtYXNrXTsKLSAgICAgICAgICAgIGlmIChlbnRyeS0+a2V5ID09IE5VTEwpCi0gICAgICAgICAgICAgICAgZ290byBmb3VuZF9udWxsOworICAgICAgICBpZiAoaSArIExJTkVBUl9QUk9CRVMgPD0gbWFzaykgeworICAgICAgICAgICAgZm9yIChqID0gMDsgaiA8IExJTkVBUl9QUk9CRVM7IGorKykgeworICAgICAgICAgICAgICAgIGVudHJ5Kys7CisgICAgICAgICAgICAgICAgaWYgKGVudHJ5LT5rZXkgPT0gTlVMTCkKKyAgICAgICAgICAgICAgICAgICAgZ290byBmb3VuZF9udWxsOworICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgICAgIHBlcnR1cmIgPj49IFBFUlRVUkJfU0hJRlQ7Ci0gICAgICAgIGkgPSBpICogNSArIDEgKyBwZXJ0dXJiOworICAgICAgICBpID0gKGkgKiA1ICsgMSArIHBlcnR1cmIpICYgbWFzazsKICAgICB9CiAgIGZvdW5kX251bGw6CiAgICAgZW50cnktPmtleSA9IGtleTsKQEAgLTIyOCwxNSArMTgzLDE0IEBACiB7CiAgICAgc2V0ZW50cnkgKmVudHJ5OwogCi0gICAgYXNzZXJ0KHNvLT5sb29rdXAgIT0gTlVMTCk7Ci0gICAgZW50cnkgPSBzby0+bG9va3VwKHNvLCBrZXksIGhhc2gpOworICAgIGVudHJ5ID0gc2V0X2xvb2trZXkoc28sIGtleSwgaGFzaCk7CiAgICAgaWYgKGVudHJ5ID09IE5VTEwpCiAgICAgICAgIHJldHVybiAtMTsKICAgICBpZiAoZW50cnktPmtleSA9PSBOVUxMKSB7CiAgICAgICAgIC8qIFVOVVNFRCAqLwotICAgICAgICBzby0+ZmlsbCsrOwogICAgICAgICBlbnRyeS0+a2V5ID0ga2V5OwogICAgICAgICBlbnRyeS0+aGFzaCA9IGhhc2g7CisgICAgICAgIHNvLT5maWxsKys7CiAgICAgICAgIHNvLT51c2VkKys7CiAgICAgfSBlbHNlIGlmIChlbnRyeS0+a2V5ID09IGR1bW15KSB7CiAgICAgICAgIC8qIERVTU1ZICovCkBAIC0yNjAsMTMgKzIxNCwxNSBAQAogewogICAgIFB5X3NzaXplX3QgbmV3c2l6ZTsKICAgICBzZXRlbnRyeSAqb2xkdGFibGUsICpuZXd0YWJsZSwgKmVudHJ5OwotICAgIFB5X3NzaXplX3QgaTsKKyAgICBQeV9zc2l6ZV90IG9sZGZpbGwgPSBzby0+ZmlsbDsKKyAgICBQeV9zc2l6ZV90IG9sZHVzZWQgPSBzby0+dXNlZDsKICAgICBpbnQgaXNfb2xkdGFibGVfbWFsbG9jZWQ7CiAgICAgc2V0ZW50cnkgc21hbGxfY29weVtQeVNldF9NSU5TSVpFXTsKIAogICAgIGFzc2VydChtaW51c2VkID49IDApOwogCiAgICAgLyogRmluZCB0aGUgc21hbGxlc3QgdGFibGUgc2l6ZSA+IG1pbnVzZWQuICovCisgICAgLyogWFhYIHNwZWVkLXVwIHdpdGggaW50cmluc2ljcyAqLwogICAgIGZvciAobmV3c2l6ZSA9IFB5U2V0X01JTlNJWkU7CiAgICAgICAgICBuZXdzaXplIDw9IG1pbnVzZWQgJiYgbmV3c2l6ZSA+IDA7CiAgICAgICAgICBuZXdzaXplIDw8PSAxKQpAQCAtMzEwLDE5ICsyNjYsMjcgQEAKIAogICAgIC8qIE1ha2UgdGhlIHNldCBlbXB0eSwgdXNpbmcgdGhlIG5ldyB0YWJsZS4gKi8KICAgICBhc3NlcnQobmV3dGFibGUgIT0gb2xkdGFibGUpOwotICAgIHNvLT50YWJsZSA9IG5ld3RhYmxlOwotICAgIHNvLT5tYXNrID0gbmV3c2l6ZSAtIDE7CiAgICAgbWVtc2V0KG5ld3RhYmxlLCAwLCBzaXplb2Yoc2V0ZW50cnkpICogbmV3c2l6ZSk7Ci0gICAgaSA9IHNvLT51c2VkOwotICAgIHNvLT51c2VkID0gMDsKICAgICBzby0+ZmlsbCA9IDA7CisgICAgc28tPnVzZWQgPSAwOworICAgIHNvLT5tYXNrID0gbmV3c2l6ZSAtIDE7CisgICAgc28tPnRhYmxlID0gbmV3dGFibGU7CiAKICAgICAvKiBDb3B5IHRoZSBkYXRhIG92ZXI7IHRoaXMgaXMgcmVmY291bnQtbmV1dHJhbCBmb3IgYWN0aXZlIGVudHJpZXM7CiAgICAgICAgZHVtbXkgZW50cmllcyBhcmVuJ3QgY29waWVkIG92ZXIsIG9mIGNvdXJzZSAqLwotICAgIGZvciAoZW50cnkgPSBvbGR0YWJsZTsgaSA+IDA7IGVudHJ5KyspIHsKLSAgICAgICAgaWYgKGVudHJ5LT5rZXkgIT0gTlVMTCAmJiBlbnRyeS0+a2V5ICE9IGR1bW15KSB7Ci0gICAgICAgICAgICAtLWk7Ci0gICAgICAgICAgICBzZXRfaW5zZXJ0X2NsZWFuKHNvLCBlbnRyeS0+a2V5LCBlbnRyeS0+aGFzaCk7CisgICAgaWYgKG9sZGZpbGwgPT0gb2xkdXNlZCkgeworICAgICAgICBmb3IgKGVudHJ5ID0gb2xkdGFibGU7IG9sZHVzZWQgPiAwOyBlbnRyeSsrKSB7CisgICAgICAgICAgICBpZiAoZW50cnktPmtleSAhPSBOVUxMKSB7CisgICAgICAgICAgICAgICAgb2xkdXNlZC0tOworICAgICAgICAgICAgICAgIHNldF9pbnNlcnRfY2xlYW4oc28sIGVudHJ5LT5rZXksIGVudHJ5LT5oYXNoKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0gZWxzZSB7CisgICAgICAgIGZvciAoZW50cnkgPSBvbGR0YWJsZTsgb2xkdXNlZCA+IDA7IGVudHJ5KyspIHsKKyAgICAgICAgICAgIGlmIChlbnRyeS0+a2V5ICE9IE5VTEwgJiYgZW50cnktPmtleSAhPSBkdW1teSkgeworICAgICAgICAgICAgICAgIG9sZHVzZWQtLTsKKyAgICAgICAgICAgICAgICBzZXRfaW5zZXJ0X2NsZWFuKHNvLCBlbnRyeS0+a2V5LCBlbnRyeS0+aGFzaCk7CisgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICB9CiAKQEAgLTM1NSw4ICszMTksOCBAQAogc3RhdGljIGludAogc2V0X2FkZF9rZXkoUHlTZXRPYmplY3QgKnNvLCBQeU9iamVjdCAqa2V5KQogeworICAgIHNldGVudHJ5IGVudHJ5OwogICAgIFB5X2hhc2hfdCBoYXNoOwotICAgIFB5X3NzaXplX3Qgbl91c2VkOwogCiAgICAgaWYgKCFQeVVuaWNvZGVfQ2hlY2tFeGFjdChrZXkpIHx8CiAgICAgICAgIChoYXNoID0gKChQeUFTQ0lJT2JqZWN0ICopIGtleSktPmhhc2gpID09IC0xKSB7CkBAIC0zNjQsMTYgKzMyOCw5IEBACiAgICAgICAgIGlmIChoYXNoID09IC0xKQogICAgICAgICAgICAgcmV0dXJuIC0xOwogICAgIH0KLSAgICBhc3NlcnQoc28tPmZpbGwgPD0gc28tPm1hc2spOyAgLyogYXQgbGVhc3Qgb25lIGVtcHR5IHNsb3QgKi8KLSAgICBuX3VzZWQgPSBzby0+dXNlZDsKLSAgICBQeV9JTkNSRUYoa2V5KTsKLSAgICBpZiAoc2V0X2luc2VydF9rZXkoc28sIGtleSwgaGFzaCkgPT0gLTEpIHsKLSAgICAgICAgUHlfREVDUkVGKGtleSk7Ci0gICAgICAgIHJldHVybiAtMTsKLSAgICB9Ci0gICAgaWYgKCEoc28tPnVzZWQgPiBuX3VzZWQgJiYgc28tPmZpbGwqMyA+PSAoc28tPm1hc2srMSkqMikpCi0gICAgICAgIHJldHVybiAwOwotICAgIHJldHVybiBzZXRfdGFibGVfcmVzaXplKHNvLCBzby0+dXNlZD41MDAwMCA/IHNvLT51c2VkKjIgOiBzby0+dXNlZCo0KTsKKyAgICBlbnRyeS5rZXkgPSBrZXk7CisgICAgZW50cnkuaGFzaCA9IGhhc2g7CisgICAgcmV0dXJuIHNldF9hZGRfZW50cnkoc28sICZlbnRyeSk7CiB9CiAKICNkZWZpbmUgRElTQ0FSRF9OT1RGT1VORCAwCkBAIC0zODEsMTYgKzMzOCwxOCBAQAogCiBzdGF0aWMgaW50CiBzZXRfZGlzY2FyZF9lbnRyeShQeVNldE9iamVjdCAqc28sIHNldGVudHJ5ICpvbGRlbnRyeSkKLXsgICAgICAgc2V0ZW50cnkgKmVudHJ5OworeworICAgIHNldGVudHJ5ICplbnRyeTsKICAgICBQeU9iamVjdCAqb2xkX2tleTsKIAotICAgIGVudHJ5ID0gKHNvLT5sb29rdXApKHNvLCBvbGRlbnRyeS0+a2V5LCBvbGRlbnRyeS0+aGFzaCk7CisgICAgZW50cnkgPSBzZXRfbG9va2tleShzbywgb2xkZW50cnktPmtleSwgb2xkZW50cnktPmhhc2gpOwogICAgIGlmIChlbnRyeSA9PSBOVUxMKQogICAgICAgICByZXR1cm4gLTE7CiAgICAgaWYgKGVudHJ5LT5rZXkgPT0gTlVMTCAgfHwgIGVudHJ5LT5rZXkgPT0gZHVtbXkpCiAgICAgICAgIHJldHVybiBESVNDQVJEX05PVEZPVU5EOwogICAgIG9sZF9rZXkgPSBlbnRyeS0+a2V5OwogICAgIGVudHJ5LT5rZXkgPSBkdW1teTsKKyAgICBlbnRyeS0+aGFzaCA9IC0xOwogICAgIHNvLT51c2VkLS07CiAgICAgUHlfREVDUkVGKG9sZF9rZXkpOwogICAgIHJldHVybiBESVNDQVJEX0ZPVU5EOwpAQCAtMzk5LDkgKzM1OCw4IEBACiBzdGF0aWMgaW50CiBzZXRfZGlzY2FyZF9rZXkoUHlTZXRPYmplY3QgKnNvLCBQeU9iamVjdCAqa2V5KQogeworICAgIHNldGVudHJ5IGVudHJ5OwogICAgIFB5X2hhc2hfdCBoYXNoOwotICAgIHNldGVudHJ5ICplbnRyeTsKLSAgICBQeU9iamVjdCAqb2xkX2tleTsKIAogICAgIGFzc2VydCAoUHlBbnlTZXRfQ2hlY2soc28pKTsKIApAQCAtNDExLDE2ICszNjksOSBAQAogICAgICAgICBpZiAoaGFzaCA9PSAtMSkKICAgICAgICAgICAgIHJldHVybiAtMTsKICAgICB9Ci0gICAgZW50cnkgPSAoc28tPmxvb2t1cCkoc28sIGtleSwgaGFzaCk7Ci0gICAgaWYgKGVudHJ5ID09IE5VTEwpCi0gICAgICAgIHJldHVybiAtMTsKLSAgICBpZiAoZW50cnktPmtleSA9PSBOVUxMICB8fCAgZW50cnktPmtleSA9PSBkdW1teSkKLSAgICAgICAgcmV0dXJuIERJU0NBUkRfTk9URk9VTkQ7Ci0gICAgb2xkX2tleSA9IGVudHJ5LT5rZXk7Ci0gICAgZW50cnktPmtleSA9IGR1bW15OwotICAgIHNvLT51c2VkLS07Ci0gICAgUHlfREVDUkVGKG9sZF9rZXkpOwotICAgIHJldHVybiBESVNDQVJEX0ZPVU5EOworICAgIGVudHJ5LmtleSA9IGtleTsKKyAgICBlbnRyeS5oYXNoID0gaGFzaDsKKyAgICByZXR1cm4gc2V0X2Rpc2NhcmRfZW50cnkoc28sICZlbnRyeSk7CiB9CiAKIHN0YXRpYyB2b2lkCkBAIC00MzcsMjAgKzM4OCwxNSBAQAogc3RhdGljIGludAogc2V0X2NsZWFyX2ludGVybmFsKFB5U2V0T2JqZWN0ICpzbykKIHsKLSAgICBzZXRlbnRyeSAqZW50cnksICp0YWJsZTsKLSAgICBpbnQgdGFibGVfaXNfbWFsbG9jZWQ7Ci0gICAgUHlfc3NpemVfdCBmaWxsOworICAgIHNldGVudHJ5ICplbnRyeTsKKyAgICBzZXRlbnRyeSAqdGFibGUgPSBzby0+dGFibGU7CisgICAgUHlfc3NpemVfdCBmaWxsID0gc28tPmZpbGw7CisgICAgUHlfc3NpemVfdCB1c2VkID0gc28tPnVzZWQ7CisgICAgaW50IHRhYmxlX2lzX21hbGxvY2VkID0gdGFibGUgIT0gc28tPnNtYWxsdGFibGU7CiAgICAgc2V0ZW50cnkgc21hbGxfY29weVtQeVNldF9NSU5TSVpFXTsKIAotI2lmZGVmIFB5X0RFQlVHCi0gICAgUHlfc3NpemVfdCBpID0gMDsKLSAgICBQeV9zc2l6ZV90IG4gPSBzby0+bWFzayArIDE7Ci0jZW5kaWYKLQogICAgIGFzc2VydCAoUHlBbnlTZXRfQ2hlY2soc28pKTsKLSAgICB0YWJsZSA9IHNvLT50YWJsZTsKICAgICBhc3NlcnQodGFibGUgIT0gTlVMTCk7Ci0gICAgdGFibGVfaXNfbWFsbG9jZWQgPSB0YWJsZSAhPSBzby0+c21hbGx0YWJsZTsKIAogICAgIC8qIFRoaXMgaXMgZGVsaWNhdGUuICBEdXJpbmcgdGhlIHByb2Nlc3Mgb2YgY2xlYXJpbmcgdGhlIHNldCwKICAgICAgKiBkZWNyZWZzIGNhbiBjYXVzZSB0aGUgc2V0IHRvIG11dGF0ZS4gIFRvIGF2b2lkIGZhdGFsIGNvbmZ1c2lvbgpAQCAtNDU4LDcgKzQwNCw2IEBACiAgICAgICogY2xlYXJpbmcgdGhlIHNsb3RzLCBhbmQgbmV2ZXIgcmVmZXIgdG8gYW55dGhpbmcgdmlhIHNvLT5yZWYgd2hpbGUKICAgICAgKiBjbGVhcmluZy4KICAgICAgKi8KLSAgICBmaWxsID0gc28tPmZpbGw7CiAgICAgaWYgKHRhYmxlX2lzX21hbGxvY2VkKQogICAgICAgICBzZXRfZW1wdHlfdG9fbWluc2l6ZShzbyk7CiAKQEAgLTQ3NywyMCArNDIyLDExIEBACiAgICAgICogYXNzZXJ0IHRoYXQgdGhlIHJlZmNvdW50IG9uIHRhYmxlIGlzIDEgbm93LCBpLmUuIHRoYXQgdGhpcyBmdW5jdGlvbgogICAgICAqIGhhcyB1bmlxdWUgYWNjZXNzIHRvIGl0LCBzbyBkZWNyZWYgc2lkZS1lZmZlY3RzIGNhbid0IGFsdGVyIGl0LgogICAgICAqLwotICAgIGZvciAoZW50cnkgPSB0YWJsZTsgZmlsbCA+IDA7ICsrZW50cnkpIHsKLSNpZmRlZiBQeV9ERUJVRwotICAgICAgICBhc3NlcnQoaSA8IG4pOwotICAgICAgICArK2k7Ci0jZW5kaWYKLSAgICAgICAgaWYgKGVudHJ5LT5rZXkpIHsKLSAgICAgICAgICAgIC0tZmlsbDsKLSAgICAgICAgICAgIGlmIChlbnRyeS0+a2V5ICE9IGR1bW15KQotICAgICAgICAgICAgICAgIFB5X0RFQ1JFRihlbnRyeS0+a2V5KTsKKyAgICBmb3IgKGVudHJ5ID0gdGFibGU7IHVzZWQgPiAwOyBlbnRyeSsrKSB7CisgICAgICAgIGlmIChlbnRyeS0+a2V5ICYmIGVudHJ5LT5rZXkgIT0gZHVtbXkpIHsKKyAgICAgICAgICAgIHVzZWQtLTsKKyAgICAgICAgICAgIFB5X0RFQ1JFRihlbnRyeS0+a2V5KTsKICAgICAgICAgfQotI2lmZGVmIFB5X0RFQlVHCi0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIGFzc2VydChlbnRyeS0+a2V5ID09IE5VTEwpOwotI2VuZGlmCiAgICAgfQogCiAgICAgaWYgKHRhYmxlX2lzX21hbGxvY2VkKQpAQCAtNTM3LDE2ICs0NzMsMTYgQEAKIHNldF9kZWFsbG9jKFB5U2V0T2JqZWN0ICpzbykKIHsKICAgICBzZXRlbnRyeSAqZW50cnk7Ci0gICAgUHlfc3NpemVfdCBmaWxsID0gc28tPmZpbGw7CisgICAgUHlfc3NpemVfdCB1c2VkID0gc28tPnVzZWQ7CisKICAgICBQeU9iamVjdF9HQ19VblRyYWNrKHNvKTsKICAgICBQeV9UUkFTSENBTl9TQUZFX0JFR0lOKHNvKQogICAgIGlmIChzby0+d2Vha3JlZmxpc3QgIT0gTlVMTCkKICAgICAgICAgUHlPYmplY3RfQ2xlYXJXZWFrUmVmcygoUHlPYmplY3QgKikgc28pOwogCi0gICAgZm9yIChlbnRyeSA9IHNvLT50YWJsZTsgZmlsbCA+IDA7IGVudHJ5KyspIHsKLSAgICAgICAgaWYgKGVudHJ5LT5rZXkpIHsKLSAgICAgICAgICAgIC0tZmlsbDsKLSAgICAgICAgICAgIGlmIChlbnRyeS0+a2V5ICE9IGR1bW15KQorICAgIGZvciAoZW50cnkgPSBzby0+dGFibGU7IHVzZWQgPiAwOyBlbnRyeSsrKSB7CisgICAgICAgIGlmIChlbnRyeS0+a2V5ICYmIGVudHJ5LT5rZXkgIT0gZHVtbXkpIHsKKyAgICAgICAgICAgICAgICB1c2VkLS07CiAgICAgICAgICAgICAgICAgUHlfREVDUkVGKGVudHJ5LT5rZXkpOwogICAgICAgICB9CiAgICAgfQpAQCAtNjQ4LDEwICs1ODQsMjMgQEAKIH0KIAogc3RhdGljIGludAorc2V0X2NvbnRhaW5zX2VudHJ5KFB5U2V0T2JqZWN0ICpzbywgc2V0ZW50cnkgKmVudHJ5KQoreworICAgIFB5T2JqZWN0ICprZXk7CisgICAgc2V0ZW50cnkgKmx1X2VudHJ5OworCisgICAgbHVfZW50cnkgPSBzZXRfbG9va2tleShzbywgZW50cnktPmtleSwgZW50cnktPmhhc2gpOworICAgIGlmIChsdV9lbnRyeSA9PSBOVUxMKQorICAgICAgICByZXR1cm4gLTE7CisgICAga2V5ID0gbHVfZW50cnktPmtleTsKKyAgICByZXR1cm4ga2V5ICE9IE5VTEwgJiYga2V5ICE9IGR1bW15OworfQorCitzdGF0aWMgaW50CiBzZXRfY29udGFpbnNfa2V5KFB5U2V0T2JqZWN0ICpzbywgUHlPYmplY3QgKmtleSkKIHsKKyAgICBzZXRlbnRyeSBlbnRyeTsKICAgICBQeV9oYXNoX3QgaGFzaDsKLSAgICBzZXRlbnRyeSAqZW50cnk7CiAKICAgICBpZiAoIVB5VW5pY29kZV9DaGVja0V4YWN0KGtleSkgfHwKICAgICAgICAgKGhhc2ggPSAoKFB5QVNDSUlPYmplY3QgKikga2V5KS0+aGFzaCkgPT0gLTEpIHsKQEAgLTY1OSwzMCArNjA4LDE2IEBACiAgICAgICAgIGlmIChoYXNoID09IC0xKQogICAgICAgICAgICAgcmV0dXJuIC0xOwogICAgIH0KLSAgICBlbnRyeSA9IChzby0+bG9va3VwKShzbywga2V5LCBoYXNoKTsKLSAgICBpZiAoZW50cnkgPT0gTlVMTCkKLSAgICAgICAgcmV0dXJuIC0xOwotICAgIGtleSA9IGVudHJ5LT5rZXk7Ci0gICAgcmV0dXJuIGtleSAhPSBOVUxMICYmIGtleSAhPSBkdW1teTsKLX0KLQotc3RhdGljIGludAotc2V0X2NvbnRhaW5zX2VudHJ5KFB5U2V0T2JqZWN0ICpzbywgc2V0ZW50cnkgKmVudHJ5KQotewotICAgIFB5T2JqZWN0ICprZXk7Ci0gICAgc2V0ZW50cnkgKmx1X2VudHJ5OwotCi0gICAgbHVfZW50cnkgPSAoc28tPmxvb2t1cCkoc28sIGVudHJ5LT5rZXksIGVudHJ5LT5oYXNoKTsKLSAgICBpZiAobHVfZW50cnkgPT0gTlVMTCkKLSAgICAgICAgcmV0dXJuIC0xOwotICAgIGtleSA9IGx1X2VudHJ5LT5rZXk7Ci0gICAgcmV0dXJuIGtleSAhPSBOVUxMICYmIGtleSAhPSBkdW1teTsKKyAgICBlbnRyeS5rZXkgPSBrZXk7CisgICAgZW50cnkuaGFzaCA9IGhhc2g7CisgICAgcmV0dXJuIHNldF9jb250YWluc19lbnRyeShzbywgJmVudHJ5KTsKIH0KIAogc3RhdGljIFB5T2JqZWN0ICoKIHNldF9wb3AoUHlTZXRPYmplY3QgKnNvKQogewotICAgIFB5X3NzaXplX3QgaSA9IDA7CisgICAgLyogTWFrZSBzdXJlIHRoZSBzZWFyY2ggZmluZ2VyIGlzIGluIGJvdW5kcyAqLworICAgIFB5X3NzaXplX3QgaSA9IHNvLT5maW5nZXIgJiBzby0+bWFzazsKICAgICBzZXRlbnRyeSAqZW50cnk7CiAgICAgUHlPYmplY3QgKmtleTsKIApAQCAtNjkyLDMyICs2MjcsMTYgQEAKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQogCi0gICAgLyogU2V0IGVudHJ5IHRvICJ0aGUgZmlyc3QiIHVudXNlZCBvciBkdW1teSBzZXQgZW50cnkuICBXZSBhYnVzZQotICAgICAqIHRoZSBoYXNoIGZpZWxkIG9mIHNsb3QgMCB0byBob2xkIGEgc2VhcmNoIGZpbmdlcjoKLSAgICAgKiBJZiBzbG90IDAgaGFzIGEgdmFsdWUsIHVzZSBzbG90IDAuCi0gICAgICogRWxzZSBzbG90IDAgaXMgYmVpbmcgdXNlZCB0byBob2xkIGEgc2VhcmNoIGZpbmdlciwKLSAgICAgKiBhbmQgd2UgdXNlIGl0cyBoYXNoIHZhbHVlIGFzIHRoZSBmaXJzdCBpbmRleCB0byBsb29rLgotICAgICAqLwotICAgIGVudHJ5ID0gJnNvLT50YWJsZVswXTsKLSAgICBpZiAoZW50cnktPmtleSA9PSBOVUxMIHx8IGVudHJ5LT5rZXkgPT0gZHVtbXkpIHsKLSAgICAgICAgaSA9IGVudHJ5LT5oYXNoOwotICAgICAgICAvKiBUaGUgaGFzaCBmaWVsZCBtYXkgYmUgYSByZWFsIGhhc2ggdmFsdWUsIG9yIGl0IG1heSBiZSBhCi0gICAgICAgICAqIGxlZ2l0IHNlYXJjaCBmaW5nZXIsIG9yIGl0IG1heSBiZSBhIG9uY2UtbGVnaXQgc2VhcmNoCi0gICAgICAgICAqIGZpbmdlciB0aGF0J3Mgb3V0IG9mIGJvdW5kcyBub3cgYmVjYXVzZSBpdCB3cmFwcGVkIGFyb3VuZAotICAgICAgICAgKiBvciB0aGUgdGFibGUgc2hydW5rIC0tIHNpbXBseSBtYWtlIHN1cmUgaXQncyBpbiBib3VuZHMgbm93LgotICAgICAgICAgKi8KLSAgICAgICAgaWYgKGkgPiBzby0+bWFzayB8fCBpIDwgMSkKLSAgICAgICAgICAgIGkgPSAxOyAgICAgICAgICAgICAgLyogc2tpcCBzbG90IDAgKi8KLSAgICAgICAgd2hpbGUgKChlbnRyeSA9ICZzby0+dGFibGVbaV0pLT5rZXkgPT0gTlVMTCB8fCBlbnRyeS0+a2V5PT1kdW1teSkgewotICAgICAgICAgICAgaSsrOwotICAgICAgICAgICAgaWYgKGkgPiBzby0+bWFzaykKLSAgICAgICAgICAgICAgICBpID0gMTsKLSAgICAgICAgfQorICAgIHdoaWxlICgoZW50cnkgPSAmc28tPnRhYmxlW2ldKS0+a2V5ID09IE5VTEwgfHwgZW50cnktPmtleT09ZHVtbXkpIHsKKyAgICAgICAgaSsrOworICAgICAgICBpZiAoaSA+IHNvLT5tYXNrKQorICAgICAgICAgICAgaSA9IDA7CiAgICAgfQogICAgIGtleSA9IGVudHJ5LT5rZXk7CiAgICAgZW50cnktPmtleSA9IGR1bW15OworICAgIGVudHJ5LT5oYXNoID0gLTE7CiAgICAgc28tPnVzZWQtLTsKLSAgICBzby0+dGFibGVbMF0uaGFzaCA9IGkgKyAxOyAgLyogbmV4dCBwbGFjZSB0byBzdGFydCAqLworICAgIHNvLT5maW5nZXIgPSBpICsgMTsgICAgICAgICAvKiBuZXh0IHBsYWNlIHRvIHN0YXJ0ICovCiAgICAgcmV0dXJuIGtleTsKIH0KIApAQCAtNzYwLDcgKzY3OSw3IEBACiAgICAgaGFzaCAqPSAoUHlfdWhhc2hfdClQeVNldF9HRVRfU0laRShzZWxmKSArIDE7CiAgICAgd2hpbGUgKHNldF9uZXh0KHNvLCAmcG9zLCAmZW50cnkpKSB7CiAgICAgICAgIC8qIFdvcmsgdG8gaW5jcmVhc2UgdGhlIGJpdCBkaXNwZXJzaW9uIGZvciBjbG9zZWx5IHNwYWNlZCBoYXNoCi0gICAgICAgICAgIHZhbHVlcy4gIFRoZSBpcyBpbXBvcnRhbnQgYmVjYXVzZSBzb21lIHVzZSBjYXNlcyBoYXZlIG1hbnkKKyAgICAgICAgICAgdmFsdWVzLiAgVGhpcyBpcyBpbXBvcnRhbnQgYmVjYXVzZSBzb21lIHVzZSBjYXNlcyBoYXZlIG1hbnkKICAgICAgICAgICAgY29tYmluYXRpb25zIG9mIGEgc21hbGwgbnVtYmVyIG9mIGVsZW1lbnRzIHdpdGggbmVhcmJ5CiAgICAgICAgICAgIGhhc2hlcyBzbyB0aGF0IG1hbnkgZGlzdGluY3QgY29tYmluYXRpb25zIGNvbGxhcHNlIHRvIG9ubHkKICAgICAgICAgICAgYSBoYW5kZnVsIG9mIGRpc3RpbmN0IGhhc2ggdmFsdWVzLiAqLwpAQCAtNzcwLDcgKzY4OSw3IEBACiAgICAgLyogTWFrZSB0aGUgZmluYWwgcmVzdWx0IHNwcmVhZC1vdXQgaW4gYSBkaWZmZXJlbnQgcGF0dGVybgogICAgICAgIHRoYW4gdGhlIGFsZ29yaXRobSBmb3IgdHVwbGVzIG9yIG90aGVyIHB5dGhvbiBvYmplY3RzLiAqLwogICAgIGhhc2ggPSBoYXNoICogNjkwNjlVICsgOTA3MTMzOTIzVUw7Ci0gICAgaWYgKGhhc2ggPT0gLTEpCisgICAgaWYgKGhhc2ggPT0gKFB5X3VoYXNoX3QpLTEpCiAgICAgICAgIGhhc2ggPSA1OTA5MjM3MTNVTDsKICAgICBzby0+aGFzaCA9IGhhc2g7CiAgICAgcmV0dXJuIGhhc2g7CkBAIC0xMDE0LDYgKzkzMywxMiBAQAogUHlEb2NfU1RSVkFSKHVwZGF0ZV9kb2MsCiAiVXBkYXRlIGEgc2V0IHdpdGggdGhlIHVuaW9uIG9mIGl0c2VsZiBhbmQgb3RoZXJzLiIpOwogCisvKiBYWFggVG9kbzoKKyAgIElmIGFsaWduZWQgbWVtb3J5IGFsbG9jYXRpb25zIGJlY29tZSBhdmFpbGFibGUsIG1ha2UgdGhlCisgICBzZXQgb2JqZWN0IDY0IGJ5dGUgYWxpZ25lZCBzbyB0aGF0IG1vc3Qgb2YgdGhlIGZpZWxkcworICAgY2FuIGJlIHJldHJpZXZlZCBvciB1cGRhdGVkIGluIGEgc2luZ2xlIGNhY2hlIGxpbmUuCisqLworCiBzdGF0aWMgUHlPYmplY3QgKgogbWFrZV9uZXdfc2V0KFB5VHlwZU9iamVjdCAqdHlwZSwgUHlPYmplY3QgKml0ZXJhYmxlKQogewpAQCAtMTAyOCw4ICs5NTMsOCBAQAogICAgIHNvLT51c2VkID0gMDsKICAgICBzby0+bWFzayA9IFB5U2V0X01JTlNJWkUgLSAxOwogICAgIHNvLT50YWJsZSA9IHNvLT5zbWFsbHRhYmxlOwotICAgIHNvLT5sb29rdXAgPSBzZXRfbG9va2tleV91bmljb2RlOwogICAgIHNvLT5oYXNoID0gLTE7CisgICAgc28tPmZpbmdlciA9IDA7CiAgICAgc28tPndlYWtyZWZsaXN0ID0gTlVMTDsKIAogICAgIGlmIChpdGVyYWJsZSAhPSBOVUxMKSB7CkBAIC0xMTE3LDEwICsxMDQyLDggQEAKICAgICAgdD1zZXQoYSk7IGEuY2xlYXIoKTsgYS51cGRhdGUoYik7IGIuY2xlYXIoKTsgYi51cGRhdGUodCk7IGRlbCB0CiAKICAgIFRoZSBmdW5jdGlvbiBhbHdheXMgc3VjY2VlZHMgYW5kIGl0IGxlYXZlcyBib3RoIG9iamVjdHMgaW4gYSBzdGFibGUgc3RhdGUuCi0gICBVc2VmdWwgZm9yIGNyZWF0aW5nIHRlbXBvcmFyeSBmcm96ZW5zZXRzIGZyb20gc2V0cyBmb3IgbWVtYmVyc2hpcCB0ZXN0aW5nCi0gICBpbiBfX2NvbnRhaW5zX18oKSwgZGlzY2FyZCgpLCBhbmQgcmVtb3ZlKCkuICBBbHNvIHVzZWZ1bCBmb3Igb3BlcmF0aW9ucwotICAgdGhhdCB1cGRhdGUgaW4tcGxhY2UgKGJ5IGFsbG93aW5nIGFuIGludGVybWVkaWF0ZSByZXN1bHQgdG8gYmUgc3dhcHBlZAotICAgaW50byBvbmUgb2YgdGhlIG9yaWdpbmFsIGlucHV0cykuCisgICBVc2VmdWwgZm9yIG9wZXJhdGlvbnMgdGhhdCB1cGRhdGUgaW4tcGxhY2UgKGJ5IGFsbG93aW5nIGFuIGludGVybWVkaWF0ZQorICAgcmVzdWx0IHRvIGJlIHN3YXBwZWQgaW50byBvbmUgb2YgdGhlIG9yaWdpbmFsIGlucHV0cykuCiAqLwogCiBzdGF0aWMgdm9pZApAQCAtMTEyOCw3ICsxMDUxLDYgQEAKIHsKICAgICBQeV9zc2l6ZV90IHQ7CiAgICAgc2V0ZW50cnkgKnU7Ci0gICAgc2V0ZW50cnkgKigqZikoUHlTZXRPYmplY3QgKnNvLCBQeU9iamVjdCAqa2V5LCBQeV9zc2l6ZV90IGhhc2gpOwogICAgIHNldGVudHJ5IHRhYltQeVNldF9NSU5TSVpFXTsKICAgICBQeV9oYXNoX3QgaDsKIApAQCAtMTE0NCw4ICsxMDY2LDYgQEAKICAgICAgICAgYS0+dGFibGUgPSBhLT5zbWFsbHRhYmxlOwogICAgIGItPnRhYmxlID0gdTsKIAotICAgIGYgPSBhLT5sb29rdXA7ICAgYS0+bG9va3VwID0gYi0+bG9va3VwOyAgICAgIGItPmxvb2t1cCA9IGY7Ci0KICAgICBpZiAoYS0+dGFibGUgPT0gYS0+c21hbGx0YWJsZSB8fCBiLT50YWJsZSA9PSBiLT5zbWFsbHRhYmxlKSB7CiAgICAgICAgIG1lbWNweSh0YWIsIGEtPnNtYWxsdGFibGUsIHNpemVvZih0YWIpKTsKICAgICAgICAgbWVtY3B5KGEtPnNtYWxsdGFibGUsIGItPnNtYWxsdGFibGUsIHNpemVvZih0YWIpKTsKZGlmZiAtLWdpdCBhL09iamVjdHMvdHVwbGVvYmplY3QuYyBiL09iamVjdHMvdHVwbGVvYmplY3QuYwppbmRleCA2ZmQ0ZGIzLi5lNDU0NjJiIDEwMDY0NAotLS0gYS9PYmplY3RzL3R1cGxlb2JqZWN0LmMKKysrIGIvT2JqZWN0cy90dXBsZW9iamVjdC5jCkBAIC05Nyw3ICs5Nyw3IEBACiAjZW5kaWYKICAgICB7CiAgICAgICAgIC8qIENoZWNrIGZvciBvdmVyZmxvdyAqLwotICAgICAgICBpZiAoc2l6ZSA+IChQWV9TU0laRV9UX01BWCAtIHNpemVvZihQeVR1cGxlT2JqZWN0KSAtCisgICAgICAgIGlmICgoc2l6ZV90KXNpemUgPiAoKHNpemVfdClQWV9TU0laRV9UX01BWCAtIHNpemVvZihQeVR1cGxlT2JqZWN0KSAtCiAgICAgICAgICAgICAgICAgICAgIHNpemVvZihQeU9iamVjdCAqKSkgLyBzaXplb2YoUHlPYmplY3QgKikpIHsKICAgICAgICAgICAgIHJldHVybiBQeUVycl9Ob01lbW9yeSgpOwogICAgICAgICB9CkBAIC03NDYsNyArNzQ2LDcgQEAKICAgICB9CiAgICAgZWxzZSB7CiAgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19UeXBlRXJyb3IsCi0gICAgICAgICAgICAgICAgICAgICAidHVwbGUgaW5kaWNlcyBtdXN0IGJlIGludGVnZXJzLCBub3QgJS4yMDBzIiwKKyAgICAgICAgICAgICAgICAgICAgICJ0dXBsZSBpbmRpY2VzIG11c3QgYmUgaW50ZWdlcnMgb3Igc2xpY2VzLCBub3QgJS4yMDBzIiwKICAgICAgICAgICAgICAgICAgICAgIFB5X1RZUEUoaXRlbSktPnRwX25hbWUpOwogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CmRpZmYgLS1naXQgYS9PYmplY3RzL3R5cGVvYmplY3QuYyBiL09iamVjdHMvdHlwZW9iamVjdC5jCmluZGV4IDQ4MmE3YTUuLmYwYWQ3ZmQgMTAwNjQ0Ci0tLSBhL09iamVjdHMvdHlwZW9iamVjdC5jCisrKyBiL09iamVjdHMvdHlwZW9iamVjdC5jCkBAIC0xNCwxMCArMTQsMTEgQEAKICAgIE1DQUNIRV9NQVhfQVRUUl9TSVpFLCBzaW5jZSBpdCBtaWdodCBiZSBhIHByb2JsZW0gaWYgdmVyeSBsYXJnZQogICAgc3RyaW5ncyBhcmUgdXNlZCBhcyBhdHRyaWJ1dGUgbmFtZXMuICovCiAjZGVmaW5lIE1DQUNIRV9NQVhfQVRUUl9TSVpFICAgIDEwMAotI2RlZmluZSBNQ0FDSEVfU0laRV9FWFAgICAgICAgICA5CisjZGVmaW5lIE1DQUNIRV9TSVpFX0VYUCAgICAgICAgIDEyCiAjZGVmaW5lIE1DQUNIRV9IQVNIKHZlcnNpb24sIG5hbWVfaGFzaCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICgoKHVuc2lnbmVkIGludCkodmVyc2lvbikgKiAodW5zaWduZWQgaW50KShuYW1lX2hhc2gpKSAgICAgICAgICBcCi0gICAgICAgICA+PiAoOCpzaXplb2YodW5zaWduZWQgaW50KSAtIE1DQUNIRV9TSVpFX0VYUCkpCisgICAgICAgICgoKHVuc2lnbmVkIGludCkodmVyc2lvbikgXiAodW5zaWduZWQgaW50KShuYW1lX2hhc2gpKSAgICAgICAgICBcCisgICAgICAgICAmICgoMSA8PCBNQ0FDSEVfU0laRV9FWFApIC0gMSkpCisKICNkZWZpbmUgTUNBQ0hFX0hBU0hfTUVUSE9EKHR5cGUsIG5hbWUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICAgICAgTUNBQ0hFX0hBU0goKHR5cGUpLT50cF92ZXJzaW9uX3RhZywgICAgICAgICAgICAgICAgICAgICBcCiAgICAgICAgICAgICAgICAgICAgICgoUHlBU0NJSU9iamVjdCAqKShuYW1lKSktPmhhc2gpCkBAIC0zNSw2ICszNiwxNCBAQAogc3RhdGljIHN0cnVjdCBtZXRob2RfY2FjaGVfZW50cnkgbWV0aG9kX2NhY2hlWzEgPDwgTUNBQ0hFX1NJWkVfRVhQXTsKIHN0YXRpYyB1bnNpZ25lZCBpbnQgbmV4dF92ZXJzaW9uX3RhZyA9IDA7CiAKKyNkZWZpbmUgTUNBQ0hFX1NUQVRTIDAKKworI2lmIE1DQUNIRV9TVEFUUworc3RhdGljIHNpemVfdCBtZXRob2RfY2FjaGVfaGl0cyA9IDA7CitzdGF0aWMgc2l6ZV90IG1ldGhvZF9jYWNoZV9taXNzZXMgPSAwOworc3RhdGljIHNpemVfdCBtZXRob2RfY2FjaGVfY29sbGlzaW9ucyA9IDA7CisjZW5kaWYKKwogLyogYWxwaGFiZXRpY2FsIG9yZGVyICovCiBfUHlfSURFTlRJRklFUihfX2Fic3RyYWN0bWV0aG9kc19fKTsKIF9QeV9JREVOVElGSUVSKF9fY2xhc3NfXyk7CkBAIC01NCw2ICs2Myw5IEBACiBzdGF0aWMgUHlPYmplY3QgKgogc2xvdF90cF9uZXcoUHlUeXBlT2JqZWN0ICp0eXBlLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3ZHMpOwogCitzdGF0aWMgdm9pZAorY2xlYXJfc2xvdGRlZnModm9pZCk7CisKIC8qCiAgKiBmaW5kcyB0aGUgYmVnaW5uaW5nIG9mIHRoZSBkb2NzdHJpbmcncyBpbnRyb3NwZWN0aW9uIHNpZ25hdHVyZS4KICAqIGlmIHByZXNlbnQsIHJldHVybnMgYSBwb2ludGVyIHBvaW50aW5nIHRvIHRoZSBmaXJzdCAnKCcuCkBAIC0xNjIsNiArMTc0LDE4IEBACiAgICAgUHlfc3NpemVfdCBpOwogICAgIHVuc2lnbmVkIGludCBjdXJfdmVyc2lvbl90YWcgPSBuZXh0X3ZlcnNpb25fdGFnIC0gMTsKIAorI2lmIE1DQUNIRV9TVEFUUworICAgIHNpemVfdCB0b3RhbCA9IG1ldGhvZF9jYWNoZV9oaXRzICsgbWV0aG9kX2NhY2hlX2NvbGxpc2lvbnMgKyBtZXRob2RfY2FjaGVfbWlzc2VzOworICAgIGZwcmludGYoc3RkZXJyLCAiLS0gTWV0aG9kIGNhY2hlIGhpdHMgICAgICAgID0gJXpkICglZCUlKVxuIiwKKyAgICAgICAgICAgIG1ldGhvZF9jYWNoZV9oaXRzLCAoaW50KSAoMTAwLjAgKiBtZXRob2RfY2FjaGVfaGl0cyAvIHRvdGFsKSk7CisgICAgZnByaW50ZihzdGRlcnIsICItLSBNZXRob2QgY2FjaGUgdHJ1ZSBtaXNzZXMgPSAlemQgKCVkJSUpXG4iLAorICAgICAgICAgICAgbWV0aG9kX2NhY2hlX21pc3NlcywgKGludCkgKDEwMC4wICogbWV0aG9kX2NhY2hlX21pc3NlcyAvIHRvdGFsKSk7CisgICAgZnByaW50ZihzdGRlcnIsICItLSBNZXRob2QgY2FjaGUgY29sbGlzaW9ucyAgPSAlemQgKCVkJSUpXG4iLAorICAgICAgICAgICAgbWV0aG9kX2NhY2hlX2NvbGxpc2lvbnMsIChpbnQpICgxMDAuMCAqIG1ldGhvZF9jYWNoZV9jb2xsaXNpb25zIC8gdG90YWwpKTsKKyAgICBmcHJpbnRmKHN0ZGVyciwgIi0tIE1ldGhvZCBjYWNoZSBzaXplICAgICAgICA9ICV6ZCBLQlxuIiwKKyAgICAgICAgICAgIHNpemVvZihtZXRob2RfY2FjaGUpIC8gMTAyNCk7CisjZW5kaWYKKwogICAgIGZvciAoaSA9IDA7IGkgPCAoMSA8PCBNQ0FDSEVfU0laRV9FWFApOyBpKyspIHsKICAgICAgICAgbWV0aG9kX2NhY2hlW2ldLnZlcnNpb24gPSAwOwogICAgICAgICBQeV9DTEVBUihtZXRob2RfY2FjaGVbaV0ubmFtZSk7CkBAIC0xNzcsNiArMjAxLDcgQEAKIF9QeVR5cGVfRmluaSh2b2lkKQogewogICAgIFB5VHlwZV9DbGVhckNhY2hlKCk7CisgICAgY2xlYXJfc2xvdGRlZnMoKTsKIH0KIAogdm9pZApAQCAtMTIwMCw4ICsxMjI1LDExIEBACiAgICAgYXNzZXJ0KGJhc2VkZWFsbG9jKTsKICAgICBiYXNlZGVhbGxvYyhzZWxmKTsKIAotICAgIC8qIENhbid0IHJlZmVyZW5jZSBzZWxmIGJleW9uZCB0aGlzIHBvaW50ICovCi0gICAgUHlfREVDUkVGKHR5cGUpOworICAgIC8qIENhbid0IHJlZmVyZW5jZSBzZWxmIGJleW9uZCB0aGlzIHBvaW50LiBJdCdzIHBvc3NpYmxlIHRwX2RlbCBzd2l0Y2hlZAorICAgICAgIG91ciB0eXBlIGZyb20gYSBIRUFQVFlQRSB0byBhIG5vbi1IRUFQVFlQRSwgc28gYmUgY2FyZWZ1bCBhYm91dAorICAgICAgIHJlZmVyZW5jZSBjb3VudGluZy4gKi8KKyAgICBpZiAodHlwZS0+dHBfZmxhZ3MgJiBQeV9UUEZMQUdTX0hFQVBUWVBFKQorICAgICAgUHlfREVDUkVGKHR5cGUpOwogCiAgIGVuZGxhYmVsOgogICAgICsrX1B5VHJhc2hfZGVsZXRlX25lc3Rpbmc7CkBAIC0yNzM2LDcgKzI3NjQsOCBAQAogICAgIHR5cGUtPnRwX2l0ZW1zaXplID0gc3BlYy0+aXRlbXNpemU7CiAKICAgICBmb3IgKHNsb3QgPSBzcGVjLT5zbG90czsgc2xvdC0+c2xvdDsgc2xvdCsrKSB7Ci0gICAgICAgIGlmIChzbG90LT5zbG90ID49IFB5X0FSUkFZX0xFTkdUSChzbG90b2Zmc2V0cykpIHsKKyAgICAgICAgaWYgKHNsb3QtPnNsb3QgPCAwCisgICAgICAgICAgICB8fCAoc2l6ZV90KXNsb3QtPnNsb3QgPj0gUHlfQVJSQVlfTEVOR1RIKHNsb3RvZmZzZXRzKSkgewogICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1J1bnRpbWVFcnJvciwgImludmFsaWQgc2xvdCBvZmZzZXQiKTsKICAgICAgICAgICAgIGdvdG8gZmFpbDsKICAgICAgICAgfQpAQCAtMjc5NiwxMSArMjgyNSwxMSBAQAogdm9pZCAqCiBQeVR5cGVfR2V0U2xvdChQeVR5cGVPYmplY3QgKnR5cGUsIGludCBzbG90KQogewotICAgIGlmICghUHlUeXBlX0hhc0ZlYXR1cmUodHlwZSwgUHlfVFBGTEFHU19IRUFQVFlQRSkpIHsKKyAgICBpZiAoIVB5VHlwZV9IYXNGZWF0dXJlKHR5cGUsIFB5X1RQRkxBR1NfSEVBUFRZUEUpIHx8IHNsb3QgPCAwKSB7CiAgICAgICAgIFB5RXJyX0JhZEludGVybmFsQ2FsbCgpOwogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9Ci0gICAgaWYgKHNsb3QgPj0gUHlfQVJSQVlfTEVOR1RIKHNsb3RvZmZzZXRzKSkgeworICAgIGlmICgoc2l6ZV90KXNsb3QgPj0gUHlfQVJSQVlfTEVOR1RIKHNsb3RvZmZzZXRzKSkgewogICAgICAgICAvKiBFeHRlbnNpb24gbW9kdWxlIHJlcXVlc3Rpbmcgc2xvdCBmcm9tIGEgZnV0dXJlIHZlcnNpb24gKi8KICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQpAQCAtMjgyMSw4ICsyODUwLDEyIEBACiAgICAgICAgIC8qIGZhc3QgcGF0aCAqLwogICAgICAgICBoID0gTUNBQ0hFX0hBU0hfTUVUSE9EKHR5cGUsIG5hbWUpOwogICAgICAgICBpZiAobWV0aG9kX2NhY2hlW2hdLnZlcnNpb24gPT0gdHlwZS0+dHBfdmVyc2lvbl90YWcgJiYKLSAgICAgICAgICAgIG1ldGhvZF9jYWNoZVtoXS5uYW1lID09IG5hbWUpCisgICAgICAgICAgICBtZXRob2RfY2FjaGVbaF0ubmFtZSA9PSBuYW1lKSB7CisjaWYgTUNBQ0hFX1NUQVRTCisgICAgICAgICAgICBtZXRob2RfY2FjaGVfaGl0cysrOworI2VuZGlmCiAgICAgICAgICAgICByZXR1cm4gbWV0aG9kX2NhY2hlW2hdLnZhbHVlOworICAgICAgICB9CiAgICAgfQogCiAgICAgLyogTG9vayBpbiB0cF9kaWN0IG9mIHR5cGVzIGluIE1STyAqLwpAQCAtMjg1Niw2ICsyODg5LDEzIEBACiAgICAgICAgIG1ldGhvZF9jYWNoZVtoXS52ZXJzaW9uID0gdHlwZS0+dHBfdmVyc2lvbl90YWc7CiAgICAgICAgIG1ldGhvZF9jYWNoZVtoXS52YWx1ZSA9IHJlczsgIC8qIGJvcnJvd2VkICovCiAgICAgICAgIFB5X0lOQ1JFRihuYW1lKTsKKyAgICAgICAgYXNzZXJ0KCgoUHlBU0NJSU9iamVjdCAqKShuYW1lKSktPmhhc2ggIT0gLTEpOworI2lmIE1DQUNIRV9TVEFUUworICAgICAgICBpZiAobWV0aG9kX2NhY2hlW2hdLm5hbWUgIT0gUHlfTm9uZSAmJiBtZXRob2RfY2FjaGVbaF0ubmFtZSAhPSBuYW1lKQorICAgICAgICAgICAgbWV0aG9kX2NhY2hlX2NvbGxpc2lvbnMrKzsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgbWV0aG9kX2NhY2hlX21pc3NlcysrOworI2VuZGlmCiAgICAgICAgIFB5X0RFQ1JFRihtZXRob2RfY2FjaGVbaF0ubmFtZSk7CiAgICAgICAgIG1ldGhvZF9jYWNoZVtoXS5uYW1lID0gbmFtZTsKICAgICB9CkBAIC0zNTA2LDE3ICszNTQ2LDE4IEBACiB9CiAKIHN0YXRpYyBpbnQKLWVxdWl2X3N0cnVjdHMoUHlUeXBlT2JqZWN0ICphLCBQeVR5cGVPYmplY3QgKmIpCitjb21wYXRpYmxlX3dpdGhfdHBfYmFzZShQeVR5cGVPYmplY3QgKmNoaWxkKQogewotICAgIHJldHVybiBhID09IGIgfHwKLSAgICAgICAgICAgKGEgIT0gTlVMTCAmJgotICAgICAgICBiICE9IE5VTEwgJiYKLSAgICAgICAgYS0+dHBfYmFzaWNzaXplID09IGItPnRwX2Jhc2ljc2l6ZSAmJgotICAgICAgICBhLT50cF9pdGVtc2l6ZSA9PSBiLT50cF9pdGVtc2l6ZSAmJgotICAgICAgICBhLT50cF9kaWN0b2Zmc2V0ID09IGItPnRwX2RpY3RvZmZzZXQgJiYKLSAgICAgICAgYS0+dHBfd2Vha2xpc3RvZmZzZXQgPT0gYi0+dHBfd2Vha2xpc3RvZmZzZXQgJiYKLSAgICAgICAgKChhLT50cF9mbGFncyAmIFB5X1RQRkxBR1NfSEFWRV9HQykgPT0KLSAgICAgICAgIChiLT50cF9mbGFncyAmIFB5X1RQRkxBR1NfSEFWRV9HQykpKTsKKyAgICBQeVR5cGVPYmplY3QgKnBhcmVudCA9IGNoaWxkLT50cF9iYXNlOworICAgIHJldHVybiAocGFyZW50ICE9IE5VTEwgJiYKKyAgICAgICAgICAgIGNoaWxkLT50cF9iYXNpY3NpemUgPT0gcGFyZW50LT50cF9iYXNpY3NpemUgJiYKKyAgICAgICAgICAgIGNoaWxkLT50cF9pdGVtc2l6ZSA9PSBwYXJlbnQtPnRwX2l0ZW1zaXplICYmCisgICAgICAgICAgICBjaGlsZC0+dHBfZGljdG9mZnNldCA9PSBwYXJlbnQtPnRwX2RpY3RvZmZzZXQgJiYKKyAgICAgICAgICAgIGNoaWxkLT50cF93ZWFrbGlzdG9mZnNldCA9PSBwYXJlbnQtPnRwX3dlYWtsaXN0b2Zmc2V0ICYmCisgICAgICAgICAgICAoKGNoaWxkLT50cF9mbGFncyAmIFB5X1RQRkxBR1NfSEFWRV9HQykgPT0KKyAgICAgICAgICAgICAocGFyZW50LT50cF9mbGFncyAmIFB5X1RQRkxBR1NfSEFWRV9HQykpICYmCisgICAgICAgICAgICAoY2hpbGQtPnRwX2RlYWxsb2MgPT0gc3VidHlwZV9kZWFsbG9jIHx8CisgICAgICAgICAgICAgY2hpbGQtPnRwX2RlYWxsb2MgPT0gcGFyZW50LT50cF9kZWFsbG9jKSk7CiB9CiAKIHN0YXRpYyBpbnQKQEAgLTM1MzQsNiArMzU3NSwxMCBAQAogICAgICAgICBzaXplICs9IHNpemVvZihQeU9iamVjdCAqKTsKIAogICAgIC8qIENoZWNrIHNsb3RzIGNvbXBsaWFuY2UgKi8KKyAgICBpZiAoIShhLT50cF9mbGFncyAmIFB5X1RQRkxBR1NfSEVBUFRZUEUpIHx8CisgICAgICAgICEoYi0+dHBfZmxhZ3MgJiBQeV9UUEZMQUdTX0hFQVBUWVBFKSkgeworICAgICAgICByZXR1cm4gMDsKKyAgICB9CiAgICAgc2xvdHNfYSA9ICgoUHlIZWFwVHlwZU9iamVjdCAqKWEpLT5odF9zbG90czsKICAgICBzbG90c19iID0gKChQeUhlYXBUeXBlT2JqZWN0ICopYiktPmh0X3Nsb3RzOwogICAgIGlmIChzbG90c19hICYmIHNsb3RzX2IpIHsKQEAgLTM1NDksOSArMzU5NCw3IEBACiB7CiAgICAgUHlUeXBlT2JqZWN0ICpuZXdiYXNlLCAqb2xkYmFzZTsKIAotICAgIGlmIChuZXd0by0+dHBfZGVhbGxvYyAhPSBvbGR0by0+dHBfZGVhbGxvYyB8fAotICAgICAgICBuZXd0by0+dHBfZnJlZSAhPSBvbGR0by0+dHBfZnJlZSkKLSAgICB7CisgICAgaWYgKG5ld3RvLT50cF9mcmVlICE9IG9sZHRvLT50cF9mcmVlKSB7CiAgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19UeXBlRXJyb3IsCiAgICAgICAgICAgICAgICAgICAgICAiJXMgYXNzaWdubWVudDogIgogICAgICAgICAgICAgICAgICAgICAgIiclcycgZGVhbGxvY2F0b3IgZGlmZmVycyBmcm9tICclcyciLApAQCAtMzU2MCwxMSArMzYwMywyMSBAQAogICAgICAgICAgICAgICAgICAgICAgb2xkdG8tPnRwX25hbWUpOwogICAgICAgICByZXR1cm4gMDsKICAgICB9CisgICAgLyoKKyAgICAgSXQncyB0cmlja3kgdG8gdGVsbCBpZiB0d28gYXJiaXRyYXJ5IHR5cGVzIGFyZSBzdWZmaWNpZW50bHkgY29tcGF0aWJsZSBhcworICAgICB0byBiZSBpbnRlcmNoYW5nZWFibGU7IGUuZy4sIGV2ZW4gaWYgdGhleSBoYXZlIHRoZSBzYW1lIHRwX2Jhc2ljc2l6ZSwgdGhleQorICAgICBtaWdodCBoYXZlIHRvdGFsbHkgZGlmZmVyZW50IHN0cnVjdCBmaWVsZHMuIEl0J3MgbXVjaCBlYXNpZXIgdG8gdGVsbCBpZiBhCisgICAgIHR5cGUgYW5kIGl0cyBzdXBlcnR5cGUgYXJlIGNvbXBhdGlibGU7IGUuZy4sIGlmIHRoZXkgaGF2ZSB0aGUgc2FtZQorICAgICB0cF9iYXNpY3NpemUsIHRoZW4gdGhhdCBtZWFucyB0aGV5IGhhdmUgaWRlbnRpY2FsIGZpZWxkcy4gU28gdG8gY2hlY2sKKyAgICAgd2hldGhlciB0d28gYXJiaXRyYXJ5IHR5cGVzIGFyZSBjb21wYXRpYmxlLCB3ZSBmaXJzdCBmaW5kIHRoZSBoaWdoZXN0CisgICAgIHN1cGVydHlwZSB0aGF0IGVhY2ggaXMgY29tcGF0aWJsZSB3aXRoLCBhbmQgdGhlbiBpZiB0aG9zZSBzdXBlcnR5cGVzIGFyZQorICAgICBjb21wYXRpYmxlIHRoZW4gdGhlIG9yaWdpbmFsIHR5cGVzIG11c3QgYWxzbyBiZSBjb21wYXRpYmxlLgorICAgICovCiAgICAgbmV3YmFzZSA9IG5ld3RvOwogICAgIG9sZGJhc2UgPSBvbGR0bzsKLSAgICB3aGlsZSAoZXF1aXZfc3RydWN0cyhuZXdiYXNlLCBuZXdiYXNlLT50cF9iYXNlKSkKKyAgICB3aGlsZSAoY29tcGF0aWJsZV93aXRoX3RwX2Jhc2UobmV3YmFzZSkpCiAgICAgICAgIG5ld2Jhc2UgPSBuZXdiYXNlLT50cF9iYXNlOwotICAgIHdoaWxlIChlcXVpdl9zdHJ1Y3RzKG9sZGJhc2UsIG9sZGJhc2UtPnRwX2Jhc2UpKQorICAgIHdoaWxlIChjb21wYXRpYmxlX3dpdGhfdHBfYmFzZShvbGRiYXNlKSkKICAgICAgICAgb2xkYmFzZSA9IG9sZGJhc2UtPnRwX2Jhc2U7CiAgICAgaWYgKG5ld2Jhc2UgIT0gb2xkYmFzZSAmJgogICAgICAgICAobmV3YmFzZS0+dHBfYmFzZSAhPSBvbGRiYXNlLT50cF9iYXNlIHx8CkBAIC0zNTk5LDE3ICszNjUyLDEyIEBACiAgICAgICAgIHJldHVybiAtMTsKICAgICB9CiAgICAgbmV3dG8gPSAoUHlUeXBlT2JqZWN0ICopdmFsdWU7Ci0gICAgaWYgKCEobmV3dG8tPnRwX2ZsYWdzICYgUHlfVFBGTEFHU19IRUFQVFlQRSkgfHwKLSAgICAgICAgIShvbGR0by0+dHBfZmxhZ3MgJiBQeV9UUEZMQUdTX0hFQVBUWVBFKSkKLSAgICB7Ci0gICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19UeXBlRXJyb3IsCi0gICAgICAgICAgICAgICAgICAgICAiX19jbGFzc19fIGFzc2lnbm1lbnQ6IG9ubHkgZm9yIGhlYXAgdHlwZXMiKTsKLSAgICAgICAgcmV0dXJuIC0xOwotICAgIH0KICAgICBpZiAoY29tcGF0aWJsZV9mb3JfYXNzaWdubWVudChvbGR0bywgbmV3dG8sICJfX2NsYXNzX18iKSkgewotICAgICAgICBQeV9JTkNSRUYobmV3dG8pOworICAgICAgICBpZiAobmV3dG8tPnRwX2ZsYWdzICYgUHlfVFBGTEFHU19IRUFQVFlQRSkKKyAgICAgICAgICAgIFB5X0lOQ1JFRihuZXd0byk7CiAgICAgICAgIFB5X1RZUEUoc2VsZikgPSBuZXd0bzsKLSAgICAgICAgUHlfREVDUkVGKG9sZHRvKTsKKyAgICAgICAgaWYgKG9sZHRvLT50cF9mbGFncyAmIFB5X1RQRkxBR1NfSEVBUFRZUEUpCisgICAgICAgICAgICBQeV9ERUNSRUYob2xkdG8pOwogICAgICAgICByZXR1cm4gMDsKICAgICB9CiAgICAgZWxzZSB7CkBAIC0zOTcyLDQ4ICs0MDIwLDg3IEBACiB9CiAKIHN0YXRpYyBQeU9iamVjdCAqCi1yZWR1Y2VfNChQeU9iamVjdCAqb2JqKQorcmVkdWNlX25ld29iaihQeU9iamVjdCAqb2JqLCBpbnQgcHJvdG8pCiB7CiAgICAgUHlPYmplY3QgKmFyZ3MgPSBOVUxMLCAqa3dhcmdzID0gTlVMTDsKICAgICBQeU9iamVjdCAqY29weXJlZzsKICAgICBQeU9iamVjdCAqbmV3b2JqLCAqbmV3YXJncywgKnN0YXRlLCAqbGlzdGl0ZW1zLCAqZGljdGl0ZW1zOwogICAgIFB5T2JqZWN0ICpyZXN1bHQ7Ci0gICAgX1B5X0lERU5USUZJRVIoX19uZXdvYmpfZXhfXyk7CiAKLSAgICBpZiAoX1B5T2JqZWN0X0dldE5ld0FyZ3VtZW50cyhvYmosICZhcmdzLCAma3dhcmdzKSA8IDApIHsKKyAgICBpZiAoX1B5T2JqZWN0X0dldE5ld0FyZ3VtZW50cyhvYmosICZhcmdzLCAma3dhcmdzKSA8IDApCiAgICAgICAgIHJldHVybiBOVUxMOwotICAgIH0KKwogICAgIGlmIChhcmdzID09IE5VTEwpIHsKICAgICAgICAgYXJncyA9IFB5VHVwbGVfTmV3KDApOwotICAgICAgICBpZiAoYXJncyA9PSBOVUxMKQorICAgICAgICBpZiAoYXJncyA9PSBOVUxMKSB7CisgICAgICAgICAgICBQeV9YREVDUkVGKGt3YXJncyk7CiAgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgfQogICAgIH0KLSAgICBpZiAoa3dhcmdzID09IE5VTEwpIHsKLSAgICAgICAga3dhcmdzID0gUHlEaWN0X05ldygpOwotICAgICAgICBpZiAoa3dhcmdzID09IE5VTEwpCi0gICAgICAgICAgICByZXR1cm4gTlVMTDsKLSAgICB9Ci0KICAgICBjb3B5cmVnID0gaW1wb3J0X2NvcHlyZWcoKTsKICAgICBpZiAoY29weXJlZyA9PSBOVUxMKSB7CiAgICAgICAgIFB5X0RFQ1JFRihhcmdzKTsKLSAgICAgICAgUHlfREVDUkVGKGt3YXJncyk7CisgICAgICAgIFB5X1hERUNSRUYoa3dhcmdzKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQotICAgIG5ld29iaiA9IF9QeU9iamVjdF9HZXRBdHRySWQoY29weXJlZywgJlB5SWRfX19uZXdvYmpfZXhfXyk7Ci0gICAgUHlfREVDUkVGKGNvcHlyZWcpOwotICAgIGlmIChuZXdvYmogPT0gTlVMTCkgeworICAgIGlmIChrd2FyZ3MgPT0gTlVMTCB8fCBQeURpY3RfU2l6ZShrd2FyZ3MpID09IDApIHsKKyAgICAgICAgX1B5X0lERU5USUZJRVIoX19uZXdvYmpfXyk7CisgICAgICAgIFB5T2JqZWN0ICpjbHM7CisgICAgICAgIFB5X3NzaXplX3QgaSwgbjsKKworICAgICAgICBQeV9YREVDUkVGKGt3YXJncyk7CisgICAgICAgIG5ld29iaiA9IF9QeU9iamVjdF9HZXRBdHRySWQoY29weXJlZywgJlB5SWRfX19uZXdvYmpfXyk7CisgICAgICAgIFB5X0RFQ1JFRihjb3B5cmVnKTsKKyAgICAgICAgaWYgKG5ld29iaiA9PSBOVUxMKSB7CisgICAgICAgICAgICBQeV9ERUNSRUYoYXJncyk7CisgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgfQorICAgICAgICBuID0gUHlUdXBsZV9HRVRfU0laRShhcmdzKTsKKyAgICAgICAgbmV3YXJncyA9IFB5VHVwbGVfTmV3KG4rMSk7CisgICAgICAgIGlmIChuZXdhcmdzID09IE5VTEwpIHsKKyAgICAgICAgICAgIFB5X0RFQ1JFRihhcmdzKTsKKyAgICAgICAgICAgIFB5X0RFQ1JFRihuZXdvYmopOworICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgIH0KKyAgICAgICAgY2xzID0gKFB5T2JqZWN0ICopIFB5X1RZUEUob2JqKTsKKyAgICAgICAgUHlfSU5DUkVGKGNscyk7CisgICAgICAgIFB5VHVwbGVfU0VUX0lURU0obmV3YXJncywgMCwgY2xzKTsKKyAgICAgICAgZm9yIChpID0gMDsgaSA8IG47IGkrKykgeworICAgICAgICAgICAgUHlPYmplY3QgKnYgPSBQeVR1cGxlX0dFVF9JVEVNKGFyZ3MsIGkpOworICAgICAgICAgICAgUHlfSU5DUkVGKHYpOworICAgICAgICAgICAgUHlUdXBsZV9TRVRfSVRFTShuZXdhcmdzLCBpKzEsIHYpOworICAgICAgICB9CisgICAgICAgIFB5X0RFQ1JFRihhcmdzKTsKKyAgICB9CisgICAgZWxzZSBpZiAocHJvdG8gPj0gNCkgeworICAgICAgICBfUHlfSURFTlRJRklFUihfX25ld29ial9leF9fKTsKKworICAgICAgICBuZXdvYmogPSBfUHlPYmplY3RfR2V0QXR0cklkKGNvcHlyZWcsICZQeUlkX19fbmV3b2JqX2V4X18pOworICAgICAgICBQeV9ERUNSRUYoY29weXJlZyk7CisgICAgICAgIGlmIChuZXdvYmogPT0gTlVMTCkgeworICAgICAgICAgICAgUHlfREVDUkVGKGFyZ3MpOworICAgICAgICAgICAgUHlfREVDUkVGKGt3YXJncyk7CisgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgfQorICAgICAgICBuZXdhcmdzID0gUHlUdXBsZV9QYWNrKDMsIFB5X1RZUEUob2JqKSwgYXJncywga3dhcmdzKTsKICAgICAgICAgUHlfREVDUkVGKGFyZ3MpOwogICAgICAgICBQeV9ERUNSRUYoa3dhcmdzKTsKKyAgICAgICAgaWYgKG5ld2FyZ3MgPT0gTlVMTCkgeworICAgICAgICAgICAgUHlfREVDUkVGKG5ld29iaik7CisgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgfQorICAgIH0KKyAgICBlbHNlIHsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAibXVzdCB1c2UgcHJvdG9jb2wgNCBvciBncmVhdGVyIHRvIGNvcHkgdGhpcyAiCisgICAgICAgICAgICAgICAgICAgICAgICAib2JqZWN0OyBzaW5jZSBfX2dldG5ld2FyZ3NfZXhfXyByZXR1cm5lZCAiCisgICAgICAgICAgICAgICAgICAgICAgICAia2V5d29yZCBhcmd1bWVudHMuIik7CisgICAgICAgIFB5X0RFQ1JFRihhcmdzKTsKKyAgICAgICAgUHlfREVDUkVGKGt3YXJncyk7CisgICAgICAgIFB5X0RFQ1JFRihjb3B5cmVnKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQotICAgIG5ld2FyZ3MgPSBQeVR1cGxlX1BhY2soMywgUHlfVFlQRShvYmopLCBhcmdzLCBrd2FyZ3MpOwotICAgIFB5X0RFQ1JFRihhcmdzKTsKLSAgICBQeV9ERUNSRUYoa3dhcmdzKTsKLSAgICBpZiAobmV3YXJncyA9PSBOVUxMKSB7Ci0gICAgICAgIFB5X0RFQ1JFRihuZXdvYmopOwotICAgICAgICByZXR1cm4gTlVMTDsKLSAgICB9CisKICAgICBzdGF0ZSA9IF9QeU9iamVjdF9HZXRTdGF0ZShvYmopOwogICAgIGlmIChzdGF0ZSA9PSBOVUxMKSB7CiAgICAgICAgIFB5X0RFQ1JFRihuZXdvYmopOwpAQCAtNDAzNiw3OSArNDEyMyw2IEBACiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAotc3RhdGljIFB5T2JqZWN0ICoKLXJlZHVjZV8yKFB5T2JqZWN0ICpvYmopCi17Ci0gICAgUHlPYmplY3QgKmNsczsKLSAgICBQeU9iamVjdCAqYXJncyA9IE5VTEwsICphcmdzMiA9IE5VTEwsICprd2FyZ3MgPSBOVUxMOwotICAgIFB5T2JqZWN0ICpzdGF0ZSA9IE5VTEwsICpsaXN0aXRlbXMgPSBOVUxMLCAqZGljdGl0ZW1zID0gTlVMTDsKLSAgICBQeU9iamVjdCAqY29weXJlZyA9IE5VTEwsICpuZXdvYmogPSBOVUxMLCAqcmVzID0gTlVMTDsKLSAgICBQeV9zc2l6ZV90IGksIG47Ci0gICAgX1B5X0lERU5USUZJRVIoX19uZXdvYmpfXyk7Ci0KLSAgICBpZiAoX1B5T2JqZWN0X0dldE5ld0FyZ3VtZW50cyhvYmosICZhcmdzLCAma3dhcmdzKSA8IDApIHsKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgfQotICAgIGlmIChhcmdzID09IE5VTEwpIHsKLSAgICAgICAgYXNzZXJ0KGt3YXJncyA9PSBOVUxMKTsKLSAgICAgICAgYXJncyA9IFB5VHVwbGVfTmV3KDApOwotICAgICAgICBpZiAoYXJncyA9PSBOVUxMKSB7Ci0gICAgICAgICAgICByZXR1cm4gTlVMTDsKLSAgICAgICAgfQotICAgIH0KLSAgICBlbHNlIGlmIChrd2FyZ3MgIT0gTlVMTCkgewotICAgICAgICBpZiAoUHlEaWN0X1NpemUoa3dhcmdzKSA+IDApIHsKLSAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtdXN0IHVzZSBwcm90b2NvbCA0IG9yIGdyZWF0ZXIgdG8gY29weSB0aGlzICIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAib2JqZWN0OyBzaW5jZSBfX2dldG5ld2FyZ3NfZXhfXyByZXR1cm5lZCAiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImtleXdvcmQgYXJndW1lbnRzLiIpOwotICAgICAgICAgICAgUHlfREVDUkVGKGFyZ3MpOwotICAgICAgICAgICAgUHlfREVDUkVGKGt3YXJncyk7Ci0gICAgICAgICAgICByZXR1cm4gTlVMTDsKLSAgICAgICAgfQotICAgICAgICBQeV9DTEVBUihrd2FyZ3MpOwotICAgIH0KLQotICAgIHN0YXRlID0gX1B5T2JqZWN0X0dldFN0YXRlKG9iaik7Ci0gICAgaWYgKHN0YXRlID09IE5VTEwpCi0gICAgICAgIGdvdG8gZW5kOwotCi0gICAgaWYgKF9QeU9iamVjdF9HZXRJdGVtc0l0ZXIob2JqLCAmbGlzdGl0ZW1zLCAmZGljdGl0ZW1zKSA8IDApCi0gICAgICAgIGdvdG8gZW5kOwotCi0gICAgY29weXJlZyA9IGltcG9ydF9jb3B5cmVnKCk7Ci0gICAgaWYgKGNvcHlyZWcgPT0gTlVMTCkKLSAgICAgICAgZ290byBlbmQ7Ci0gICAgbmV3b2JqID0gX1B5T2JqZWN0X0dldEF0dHJJZChjb3B5cmVnLCAmUHlJZF9fX25ld29ial9fKTsKLSAgICBpZiAobmV3b2JqID09IE5VTEwpCi0gICAgICAgIGdvdG8gZW5kOwotCi0gICAgbiA9IFB5VHVwbGVfR0VUX1NJWkUoYXJncyk7Ci0gICAgYXJnczIgPSBQeVR1cGxlX05ldyhuKzEpOwotICAgIGlmIChhcmdzMiA9PSBOVUxMKQotICAgICAgICBnb3RvIGVuZDsKLSAgICBjbHMgPSAoUHlPYmplY3QgKikgUHlfVFlQRShvYmopOwotICAgIFB5X0lOQ1JFRihjbHMpOwotICAgIFB5VHVwbGVfU0VUX0lURU0oYXJnczIsIDAsIGNscyk7Ci0gICAgZm9yIChpID0gMDsgaSA8IG47IGkrKykgewotICAgICAgICBQeU9iamVjdCAqdiA9IFB5VHVwbGVfR0VUX0lURU0oYXJncywgaSk7Ci0gICAgICAgIFB5X0lOQ1JFRih2KTsKLSAgICAgICAgUHlUdXBsZV9TRVRfSVRFTShhcmdzMiwgaSsxLCB2KTsKLSAgICB9Ci0KLSAgICByZXMgPSBQeVR1cGxlX1BhY2soNSwgbmV3b2JqLCBhcmdzMiwgc3RhdGUsIGxpc3RpdGVtcywgZGljdGl0ZW1zKTsKLQotICBlbmQ6Ci0gICAgUHlfWERFQ1JFRihhcmdzKTsKLSAgICBQeV9YREVDUkVGKGFyZ3MyKTsKLSAgICBQeV9YREVDUkVGKHN0YXRlKTsKLSAgICBQeV9YREVDUkVGKGxpc3RpdGVtcyk7Ci0gICAgUHlfWERFQ1JFRihkaWN0aXRlbXMpOwotICAgIFB5X1hERUNSRUYoY29weXJlZyk7Ci0gICAgUHlfWERFQ1JFRihuZXdvYmopOwotICAgIHJldHVybiByZXM7Ci19Ci0KIC8qCiAgKiBUaGVyZSB3ZXJlIHR3byBwcm9ibGVtcyB3aGVuIG9iamVjdC5fX3JlZHVjZV9fIGFuZCBvYmplY3QuX19yZWR1Y2VfZXhfXwogICogd2VyZSBpbXBsZW1lbnRlZCBpbiB0aGUgc2FtZSBmdW5jdGlvbjoKQEAgLTQxMjksMTAgKzQxNDMsOCBAQAogewogICAgIFB5T2JqZWN0ICpjb3B5cmVnLCAqcmVzOwogCi0gICAgaWYgKHByb3RvID49IDQpCi0gICAgICAgIHJldHVybiByZWR1Y2VfNChzZWxmKTsKLSAgICBlbHNlIGlmIChwcm90byA+PSAyKQotICAgICAgICByZXR1cm4gcmVkdWNlXzIoc2VsZik7CisgICAgaWYgKHByb3RvID49IDIpCisgICAgICAgIHJldHVybiByZWR1Y2VfbmV3b2JqKHNlbGYsIHByb3RvKTsKIAogICAgIGNvcHlyZWcgPSBpbXBvcnRfY29weXJlZygpOwogICAgIGlmICghY29weXJlZykKQEAgLTQ1OTIsNiArNDYwNCw4IEBACiAgICAgICAgIENPUFlOVU0obmJfaW5wbGFjZV90cnVlX2RpdmlkZSk7CiAgICAgICAgIENPUFlOVU0obmJfaW5wbGFjZV9mbG9vcl9kaXZpZGUpOwogICAgICAgICBDT1BZTlVNKG5iX2luZGV4KTsKKyAgICAgICAgQ09QWU5VTShuYl9tYXRyaXhfbXVsdGlwbHkpOworICAgICAgICBDT1BZTlVNKG5iX2lucGxhY2VfbWF0cml4X211bHRpcGx5KTsKICAgICB9CiAKICAgICBpZiAodHlwZS0+dHBfYXNfc2VxdWVuY2UgIT0gTlVMTCAmJiBiYXNlLT50cF9hc19zZXF1ZW5jZSAhPSBOVUxMKSB7CkBAIC01NzU5LDYgKzU3NzMsNyBAQAogU0xPVDFCSU4oc2xvdF9uYl9hZGQsIG5iX2FkZCwgIl9fYWRkX18iLCAiX19yYWRkX18iKQogU0xPVDFCSU4oc2xvdF9uYl9zdWJ0cmFjdCwgbmJfc3VidHJhY3QsICJfX3N1Yl9fIiwgIl9fcnN1Yl9fIikKIFNMT1QxQklOKHNsb3RfbmJfbXVsdGlwbHksIG5iX211bHRpcGx5LCAiX19tdWxfXyIsICJfX3JtdWxfXyIpCitTTE9UMUJJTihzbG90X25iX21hdHJpeF9tdWx0aXBseSwgbmJfbWF0cml4X211bHRpcGx5LCAiX19tYXRtdWxfXyIsICJfX3JtYXRtdWxfXyIpCiBTTE9UMUJJTihzbG90X25iX3JlbWFpbmRlciwgbmJfcmVtYWluZGVyLCAiX19tb2RfXyIsICJfX3Jtb2RfXyIpCiBTTE9UMUJJTihzbG90X25iX2Rpdm1vZCwgbmJfZGl2bW9kLCAiX19kaXZtb2RfXyIsICJfX3JkaXZtb2RfXyIpCiAKQEAgLTU4NTIsNiArNTg2Nyw3IEBACiBTTE9UMShzbG90X25iX2lucGxhY2VfYWRkLCAiX19pYWRkX18iLCBQeU9iamVjdCAqLCAiTyIpCiBTTE9UMShzbG90X25iX2lucGxhY2Vfc3VidHJhY3QsICJfX2lzdWJfXyIsIFB5T2JqZWN0ICosICJPIikKIFNMT1QxKHNsb3RfbmJfaW5wbGFjZV9tdWx0aXBseSwgIl9faW11bF9fIiwgUHlPYmplY3QgKiwgIk8iKQorU0xPVDEoc2xvdF9uYl9pbnBsYWNlX21hdHJpeF9tdWx0aXBseSwgIl9faW1hdG11bF9fIiwgUHlPYmplY3QgKiwgIk8iKQogU0xPVDEoc2xvdF9uYl9pbnBsYWNlX3JlbWFpbmRlciwgIl9faW1vZF9fIiwgUHlPYmplY3QgKiwgIk8iKQogLyogQ2FuJ3QgdXNlIFNMT1QxIGhlcmUsIGJlY2F1c2UgbmJfaW5wbGFjZV9wb3dlciBpcyB0ZXJuYXJ5ICovCiBzdGF0aWMgUHlPYmplY3QgKgpAQCAtNjQzMiw2ICs2NDQ4LDEyIEBACiAgICAgICAgICAgICJfX2luZGV4X18oJHNlbGYsIC8pXG4tLVxuXG4iCiAgICAgICAgICAgICJSZXR1cm4gc2VsZiBjb252ZXJ0ZWQgdG8gYW4gaW50ZWdlciwgaWYgc2VsZiBpcyBzdWl0YWJsZSAiCiAgICAgICAgICAgICJmb3IgdXNlIGFzIGFuIGluZGV4IGludG8gYSBsaXN0LiIpLAorICAgIEJJTlNMT1QoIl9fbWF0bXVsX18iLCBuYl9tYXRyaXhfbXVsdGlwbHksIHNsb3RfbmJfbWF0cml4X211bHRpcGx5LAorICAgICAgICAgICAgIkAiKSwKKyAgICBSQklOU0xPVCgiX19ybWF0bXVsX18iLCBuYl9tYXRyaXhfbXVsdGlwbHksIHNsb3RfbmJfbWF0cml4X211bHRpcGx5LAorICAgICAgICAgICAgICJAIiksCisgICAgSUJTTE9UKCJfX2ltYXRtdWxfXyIsIG5iX2lucGxhY2VfbWF0cml4X211bHRpcGx5LCBzbG90X25iX2lucGxhY2VfbWF0cml4X211bHRpcGx5LAorICAgICAgICAgICB3cmFwX2JpbmFyeWZ1bmMsICJAPSIpLAogICAgIE1QU0xPVCgiX19sZW5fXyIsIG1wX2xlbmd0aCwgc2xvdF9tcF9sZW5ndGgsIHdyYXBfbGVuZnVuYywKICAgICAgICAgICAgIl9fbGVuX18oJHNlbGYsIC8pXG4tLVxuXG5SZXR1cm4gbGVuKHNlbGYpLiIpLAogICAgIE1QU0xPVCgiX19nZXRpdGVtX18iLCBtcF9zdWJzY3JpcHQsIHNsb3RfbXBfc3Vic2NyaXB0LApAQCAtNjY1MiwxNSArNjY3NCwxNSBAQAogICAgIHJldHVybiAwOwogfQogCitzdGF0aWMgaW50IHNsb3RkZWZzX2luaXRpYWxpemVkID0gMDsKIC8qIEluaXRpYWxpemUgdGhlIHNsb3RkZWZzIHRhYmxlIGJ5IGFkZGluZyBpbnRlcm5lZCBzdHJpbmcgb2JqZWN0cyBmb3IgdGhlCi0gICBuYW1lcyBhbmQgc29ydGluZyB0aGUgZW50cmllcy4gKi8KKyAgIG5hbWVzLiAqLwogc3RhdGljIHZvaWQKIGluaXRfc2xvdGRlZnModm9pZCkKIHsKICAgICBzbG90ZGVmICpwOwotICAgIHN0YXRpYyBpbnQgaW5pdGlhbGl6ZWQgPSAwOwogCi0gICAgaWYgKGluaXRpYWxpemVkKQorICAgIGlmIChzbG90ZGVmc19pbml0aWFsaXplZCkKICAgICAgICAgcmV0dXJuOwogICAgIGZvciAocCA9IHNsb3RkZWZzOyBwLT5uYW1lOyBwKyspIHsKICAgICAgICAgLyogU2xvdHMgbXVzdCBiZSBvcmRlcmVkIGJ5IHRoZWlyIG9mZnNldCBpbiB0aGUgUHlIZWFwVHlwZU9iamVjdC4gKi8KQEAgLTY2NjksNyArNjY5MSwxNyBAQAogICAgICAgICBpZiAoIXAtPm5hbWVfc3Ryb2JqKQogICAgICAgICAgICAgUHlfRmF0YWxFcnJvcigiT3V0IG9mIG1lbW9yeSBpbnRlcm5pbmcgc2xvdGRlZiBuYW1lcyIpOwogICAgIH0KLSAgICBpbml0aWFsaXplZCA9IDE7CisgICAgc2xvdGRlZnNfaW5pdGlhbGl6ZWQgPSAxOworfQorCisvKiBVbmRvIGluaXRfc2xvdGRlZnMsIHJlbGVhc2luZyB0aGUgaW50ZXJuZWQgc3RyaW5ncy4gKi8KK3N0YXRpYyB2b2lkIGNsZWFyX3Nsb3RkZWZzKHZvaWQpCit7CisgICAgc2xvdGRlZiAqcDsKKyAgICBmb3IgKHAgPSBzbG90ZGVmczsgcC0+bmFtZTsgcCsrKSB7CisgICAgICAgIFB5X0NMRUFSKHAtPm5hbWVfc3Ryb2JqKTsKKyAgICB9CisgICAgc2xvdGRlZnNfaW5pdGlhbGl6ZWQgPSAwOwogfQogCiAvKiBVcGRhdGUgdGhlIHNsb3RzIGFmdGVyIGFzc2lnbm1lbnQgdG8gYSBjbGFzcyAodHlwZSkgYXR0cmlidXRlLiAqLwpkaWZmIC0tZ2l0IGEvT2JqZWN0cy90eXBlc2xvdHMuaW5jIGIvT2JqZWN0cy90eXBlc2xvdHMuaW5jCmluZGV4IGNhYTFlMDMuLjJlZDk5ZDggMTAwNjQ0Ci0tLSBhL09iamVjdHMvdHlwZXNsb3RzLmluYworKysgYi9PYmplY3RzL3R5cGVzbG90cy5pbmMKQEAgLTczLDMgKzczLDUgQEAKIG9mZnNldG9mKFB5SGVhcFR5cGVPYmplY3QsIGh0X3R5cGUudHBfbWVtYmVycyksCiBvZmZzZXRvZihQeUhlYXBUeXBlT2JqZWN0LCBodF90eXBlLnRwX2dldHNldCksCiBvZmZzZXRvZihQeUhlYXBUeXBlT2JqZWN0LCBodF90eXBlLnRwX2ZyZWUpLAorb2Zmc2V0b2YoUHlIZWFwVHlwZU9iamVjdCwgYXNfbnVtYmVyLm5iX21hdHJpeF9tdWx0aXBseSksCitvZmZzZXRvZihQeUhlYXBUeXBlT2JqZWN0LCBhc19udW1iZXIubmJfaW5wbGFjZV9tYXRyaXhfbXVsdGlwbHkpLApkaWZmIC0tZ2l0IGEvT2JqZWN0cy91bmljb2Rlb2JqZWN0LmMgYi9PYmplY3RzL3VuaWNvZGVvYmplY3QuYwppbmRleCBkOGYxY2UxLi44NjA1YzkyIDEwMDY0NAotLS0gYS9PYmplY3RzL3VuaWNvZGVvYmplY3QuYworKysgYi9PYmplY3RzL3VuaWNvZGVvYmplY3QuYwpAQCAtNzI3LDcgKzcyNyw3IEBACiAgICAgX1B5X0RFQ19SRUZUT1RBTDsKICAgICBfUHlfRm9yZ2V0UmVmZXJlbmNlKHVuaWNvZGUpOwogCi0gICAgbmV3X3VuaWNvZGUgPSAoUHlPYmplY3QgKilQeU9iamVjdF9SRUFMTE9DKChjaGFyICopdW5pY29kZSwgbmV3X3NpemUpOworICAgIG5ld191bmljb2RlID0gKFB5T2JqZWN0ICopUHlPYmplY3RfUkVBTExPQyh1bmljb2RlLCBuZXdfc2l6ZSk7CiAgICAgaWYgKG5ld191bmljb2RlID09IE5VTEwpIHsKICAgICAgICAgX1B5X05ld1JlZmVyZW5jZSh1bmljb2RlKTsKICAgICAgICAgUHlFcnJfTm9NZW1vcnkoKTsKQEAgLTgxNiw3ICs4MTYsNyBAQAogICAgIGFzc2VydChfUHlVbmljb2RlX1dTVFIodW5pY29kZSkgIT0gTlVMTCk7CiAKICAgICAvKiBjaGVjayBmb3IgaW50ZWdlciBvdmVyZmxvdyAqLwotICAgIGlmIChsZW5ndGggPiBQWV9TU0laRV9UX01BWCAvIHNpemVvZih3Y2hhcl90KSAtIDEpIHsKKyAgICBpZiAobGVuZ3RoID4gUFlfU1NJWkVfVF9NQVggLyAoUHlfc3NpemVfdClzaXplb2Yod2NoYXJfdCkgLSAxKSB7CiAgICAgICAgIFB5RXJyX05vTWVtb3J5KCk7CiAgICAgICAgIHJldHVybiAtMTsKICAgICB9CkBAIC04ODgsNyArODg4LDcgQEAKICAgICB9CiAKICAgICAvKiBFbnN1cmUgd2Ugd29uJ3Qgb3ZlcmZsb3cgdGhlIHNpemUuICovCi0gICAgaWYgKGxlbmd0aCA+ICgoUFlfU1NJWkVfVF9NQVggLyBzaXplb2YoUHlfVU5JQ09ERSkpIC0gMSkpIHsKKyAgICBpZiAobGVuZ3RoID4gKChQWV9TU0laRV9UX01BWCAvIChQeV9zc2l6ZV90KXNpemVvZihQeV9VTklDT0RFKSkgLSAxKSkgewogICAgICAgICByZXR1cm4gKFB5VW5pY29kZU9iamVjdCAqKVB5RXJyX05vTWVtb3J5KCk7CiAgICAgfQogICAgIGlmIChsZW5ndGggPCAwKSB7CkBAIC0yMzEzLDM1ICsyMzEzLDYgQEAKIAogI2VuZGlmIC8qIEhBVkVfV0NIQVJfSCAqLwogCi1zdGF0aWMgdm9pZAotbWFrZWZtdChjaGFyICpmbXQsIGludCBsb25nZmxhZywgaW50IGxvbmdsb25nZmxhZywgaW50IHNpemVfdGZsYWcsCi0gICAgICAgIGNoYXIgYykKLXsKLSAgICAqZm10KysgPSAnJSc7Ci0gICAgaWYgKGxvbmdmbGFnKQotICAgICAgICAqZm10KysgPSAnbCc7Ci0gICAgZWxzZSBpZiAobG9uZ2xvbmdmbGFnKSB7Ci0gICAgICAgIC8qIGxvbmdsb25nZmxhZyBzaG91bGQgb25seSBldmVyIGJlIG5vbnplcm8gb24gbWFjaGluZXMgd2l0aAotICAgICAgICAgICBIQVZFX0xPTkdfTE9ORyBkZWZpbmVkICovCi0jaWZkZWYgSEFWRV9MT05HX0xPTkcKLSAgICAgICAgY2hhciAqZiA9IFBZX0ZPUk1BVF9MT05HX0xPTkc7Ci0gICAgICAgIHdoaWxlICgqZikKLSAgICAgICAgICAgICpmbXQrKyA9ICpmKys7Ci0jZWxzZQotICAgICAgICAvKiB3ZSBzaG91bGRuJ3QgZXZlciBnZXQgaGVyZSAqLwotICAgICAgICBhc3NlcnQoMCk7Ci0gICAgICAgICpmbXQrKyA9ICdsJzsKLSNlbmRpZgotICAgIH0KLSAgICBlbHNlIGlmIChzaXplX3RmbGFnKSB7Ci0gICAgICAgIGNoYXIgKmYgPSBQWV9GT1JNQVRfU0laRV9UOwotICAgICAgICB3aGlsZSAoKmYpCi0gICAgICAgICAgICAqZm10KysgPSAqZisrOwotICAgIH0KLSAgICAqZm10KysgPSBjOwotICAgICpmbXQgPSAnXDAnOwotfQotCiAvKiBtYXhpbXVtIG51bWJlciBvZiBjaGFyYWN0ZXJzIHJlcXVpcmVkIGZvciBvdXRwdXQgb2YgJWxsZCBvciAlcC4KICAgIFdlIG5lZWQgYXQgbW9zdCBjZWlsKGxvZzEwKDI1NikqU0laRU9GX0xPTkdfTE9ORykgZGlnaXRzLAogICAgcGx1cyAxIGZvciB0aGUgc2lnbi4gIDUzLzIyIGlzIGFuIHVwcGVyIGJvdW5kIGZvciBsb2cxMCgyNTYpLiAqLwpAQCAtMjUxNyw0OCArMjQ4OCw0MiBAQAogICAgIGNhc2UgJ3gnOgogICAgIHsKICAgICAgICAgLyogdXNlZCBieSBzcHJpbnRmICovCi0gICAgICAgIGNoYXIgZm10WzEwXTsgLyogc2hvdWxkIGJlIGVub3VnaCBmb3IgIiUwbGxkXDAiICovCiAgICAgICAgIGNoYXIgYnVmZmVyW01BWF9MT05HX0xPTkdfQ0hBUlNdOwogICAgICAgICBQeV9zc2l6ZV90IGFyZ2xlbjsKIAogICAgICAgICBpZiAoKmYgPT0gJ3UnKSB7Ci0gICAgICAgICAgICBtYWtlZm10KGZtdCwgbG9uZ2ZsYWcsIGxvbmdsb25nZmxhZywgc2l6ZV90ZmxhZywgKmYpOwotCiAgICAgICAgICAgICBpZiAobG9uZ2ZsYWcpCi0gICAgICAgICAgICAgICAgbGVuID0gc3ByaW50ZihidWZmZXIsIGZtdCwKKyAgICAgICAgICAgICAgICBsZW4gPSBzcHJpbnRmKGJ1ZmZlciwgIiVsdSIsCiAgICAgICAgICAgICAgICAgICAgICAgICB2YV9hcmcoKnZhcmdzLCB1bnNpZ25lZCBsb25nKSk7CiAjaWZkZWYgSEFWRV9MT05HX0xPTkcKICAgICAgICAgICAgIGVsc2UgaWYgKGxvbmdsb25nZmxhZykKLSAgICAgICAgICAgICAgICBsZW4gPSBzcHJpbnRmKGJ1ZmZlciwgZm10LAorICAgICAgICAgICAgICAgIGxlbiA9IHNwcmludGYoYnVmZmVyLCAiJSIgUFlfRk9STUFUX0xPTkdfTE9ORyAidSIsCiAgICAgICAgICAgICAgICAgICAgICAgICB2YV9hcmcoKnZhcmdzLCB1bnNpZ25lZCBQWV9MT05HX0xPTkcpKTsKICNlbmRpZgogICAgICAgICAgICAgZWxzZSBpZiAoc2l6ZV90ZmxhZykKLSAgICAgICAgICAgICAgICBsZW4gPSBzcHJpbnRmKGJ1ZmZlciwgZm10LAorICAgICAgICAgICAgICAgIGxlbiA9IHNwcmludGYoYnVmZmVyLCAiJSIgUFlfRk9STUFUX1NJWkVfVCAidSIsCiAgICAgICAgICAgICAgICAgICAgICAgICB2YV9hcmcoKnZhcmdzLCBzaXplX3QpKTsKICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICBsZW4gPSBzcHJpbnRmKGJ1ZmZlciwgZm10LAorICAgICAgICAgICAgICAgIGxlbiA9IHNwcmludGYoYnVmZmVyLCAiJXUiLAogICAgICAgICAgICAgICAgICAgICAgICAgdmFfYXJnKCp2YXJncywgdW5zaWduZWQgaW50KSk7CiAgICAgICAgIH0KICAgICAgICAgZWxzZSBpZiAoKmYgPT0gJ3gnKSB7Ci0gICAgICAgICAgICBtYWtlZm10KGZtdCwgMCwgMCwgMCwgJ3gnKTsKLSAgICAgICAgICAgIGxlbiA9IHNwcmludGYoYnVmZmVyLCBmbXQsIHZhX2FyZygqdmFyZ3MsIGludCkpOworICAgICAgICAgICAgbGVuID0gc3ByaW50ZihidWZmZXIsICIleCIsIHZhX2FyZygqdmFyZ3MsIGludCkpOwogICAgICAgICB9CiAgICAgICAgIGVsc2UgewotICAgICAgICAgICAgbWFrZWZtdChmbXQsIGxvbmdmbGFnLCBsb25nbG9uZ2ZsYWcsIHNpemVfdGZsYWcsICpmKTsKLQogICAgICAgICAgICAgaWYgKGxvbmdmbGFnKQotICAgICAgICAgICAgICAgIGxlbiA9IHNwcmludGYoYnVmZmVyLCBmbXQsCisgICAgICAgICAgICAgICAgbGVuID0gc3ByaW50ZihidWZmZXIsICIlbGkiLAogICAgICAgICAgICAgICAgICAgICAgICAgdmFfYXJnKCp2YXJncywgbG9uZykpOwogI2lmZGVmIEhBVkVfTE9OR19MT05HCiAgICAgICAgICAgICBlbHNlIGlmIChsb25nbG9uZ2ZsYWcpCi0gICAgICAgICAgICAgICAgbGVuID0gc3ByaW50ZihidWZmZXIsIGZtdCwKKyAgICAgICAgICAgICAgICBsZW4gPSBzcHJpbnRmKGJ1ZmZlciwgIiUiIFBZX0ZPUk1BVF9MT05HX0xPTkcgImkiLAogICAgICAgICAgICAgICAgICAgICAgICAgdmFfYXJnKCp2YXJncywgUFlfTE9OR19MT05HKSk7CiAjZW5kaWYKICAgICAgICAgICAgIGVsc2UgaWYgKHNpemVfdGZsYWcpCi0gICAgICAgICAgICAgICAgbGVuID0gc3ByaW50ZihidWZmZXIsIGZtdCwKKyAgICAgICAgICAgICAgICBsZW4gPSBzcHJpbnRmKGJ1ZmZlciwgIiUiIFBZX0ZPUk1BVF9TSVpFX1QgImkiLAogICAgICAgICAgICAgICAgICAgICAgICAgdmFfYXJnKCp2YXJncywgUHlfc3NpemVfdCkpOwogICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgIGxlbiA9IHNwcmludGYoYnVmZmVyLCBmbXQsCisgICAgICAgICAgICAgICAgbGVuID0gc3ByaW50ZihidWZmZXIsICIlaSIsCiAgICAgICAgICAgICAgICAgICAgICAgICB2YV9hcmcoKnZhcmdzLCBpbnQpKTsKICAgICAgICAgfQogICAgICAgICBhc3NlcnQobGVuID49IDApOwpAQCAtMzI0MSw3ICszMjA2LDcgQEAKICAgICB3bGVuMiA9IHdjc2xlbih3c3RyKTsKICAgICBpZiAod2xlbjIgIT0gd2xlbikgewogICAgICAgICBQeU1lbV9GcmVlKHdzdHIpOwotICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCAiZW1iZWRkZWQgbnVsbCBjaGFyYWN0ZXIiKTsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsICJlbWJlZGRlZCBudWxsIGNoYXJhY3RlciIpOwogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CiAKQEAgLTMyNDksNyArMzIxNCw3IEBACiAgICAgICAgIC8qICJzdXJyb2dhdGVlc2NhcGUiIGVycm9yIGhhbmRsZXIgKi8KICAgICAgICAgY2hhciAqc3RyOwogCi0gICAgICAgIHN0ciA9IF9QeV93Y2hhcjJjaGFyKHdzdHIsICZlcnJvcl9wb3MpOworICAgICAgICBzdHIgPSBQeV9FbmNvZGVMb2NhbGUod3N0ciwgJmVycm9yX3Bvcyk7CiAgICAgICAgIGlmIChzdHIgPT0gTlVMTCkgewogICAgICAgICAgICAgaWYgKGVycm9yX3BvcyA9PSAoc2l6ZV90KS0xKSB7CiAgICAgICAgICAgICAgICAgUHlFcnJfTm9NZW1vcnkoKTsKQEAgLTMzMDIsNyArMzI2Nyw3IEBACiAKICAgICBpZiAoZXJybXNnICE9IE5VTEwpIHsKICAgICAgICAgc2l6ZV90IGVycmxlbjsKLSAgICAgICAgd3N0ciA9IF9QeV9jaGFyMndjaGFyKGVycm1zZywgJmVycmxlbik7CisgICAgICAgIHdzdHIgPSBQeV9EZWNvZGVMb2NhbGUoZXJybXNnLCAmZXJybGVuKTsKICAgICAgICAgaWYgKHdzdHIgIT0gTlVMTCkgewogICAgICAgICAgICAgcmVhc29uID0gUHlVbmljb2RlX0Zyb21XaWRlQ2hhcih3c3RyLCBlcnJsZW4pOwogICAgICAgICAgICAgUHlNZW1fUmF3RnJlZSh3c3RyKTsKQEAgLTM0NzcsNyArMzQ0Miw3IEBACiAgICAgbWVtc2V0KCZtYnMsIDAsIHNpemVvZiBtYnMpOwogICAgIHdoaWxlIChsZW4pCiAgICAgewotICAgICAgICBjb252ZXJ0ZWQgPSBtYnJ0b3djKCZjaCwgKGNoYXIqKXN0ciwgbGVuLCAmbWJzKTsKKyAgICAgICAgY29udmVydGVkID0gbWJydG93YygmY2gsIHN0ciwgbGVuLCAmbWJzKTsKICAgICAgICAgaWYgKGNvbnZlcnRlZCA9PSAwKQogICAgICAgICAgICAgLyogUmVhY2hlZCBlbmQgb2Ygc3RyaW5nICovCiAgICAgICAgICAgICBicmVhazsKQEAgLTM1MTMsMTQgKzM0NzgsMTQgQEAKICAgICBpZiAobG9jYWxlX2Vycm9yX2hhbmRsZXIoZXJyb3JzLCAmc3Vycm9nYXRlZXNjYXBlKSA8IDApCiAgICAgICAgIHJldHVybiBOVUxMOwogCi0gICAgaWYgKHN0cltsZW5dICE9ICdcMCcgfHwgbGVuICE9IHN0cmxlbihzdHIpKSB7Ci0gICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsICJlbWJlZGRlZCBudWxsIGNoYXJhY3RlciIpOworICAgIGlmIChzdHJbbGVuXSAhPSAnXDAnIHx8IChzaXplX3QpbGVuICE9IHN0cmxlbihzdHIpKSAgeworICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVmFsdWVFcnJvciwgImVtYmVkZGVkIG51bGwgYnl0ZSIpOwogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CiAKICAgICBpZiAoc3Vycm9nYXRlZXNjYXBlKSB7CiAgICAgICAgIC8qICJzdXJyb2dhdGVlc2NhcGUiIGVycm9yIGhhbmRsZXIgKi8KLSAgICAgICAgd3N0ciA9IF9QeV9jaGFyMndjaGFyKHN0ciwgJndsZW4pOworICAgICAgICB3c3RyID0gUHlfRGVjb2RlTG9jYWxlKHN0ciwgJndsZW4pOwogICAgICAgICBpZiAod3N0ciA9PSBOVUxMKSB7CiAgICAgICAgICAgICBpZiAod2xlbiA9PSAoc2l6ZV90KS0xKQogICAgICAgICAgICAgICAgIFB5RXJyX05vTWVtb3J5KCk7CkBAIC0zNTcyLDcgKzM1MzcsNyBAQAogICAgIGVycm9yX3BvcyA9IG1ic3Rvd2NzX2Vycm9ycG9zKHN0ciwgbGVuKTsKICAgICBpZiAoZXJybXNnICE9IE5VTEwpIHsKICAgICAgICAgc2l6ZV90IGVycmxlbjsKLSAgICAgICAgd3N0ciA9IF9QeV9jaGFyMndjaGFyKGVycm1zZywgJmVycmxlbik7CisgICAgICAgIHdzdHIgPSBQeV9EZWNvZGVMb2NhbGUoZXJybXNnLCAmZXJybGVuKTsKICAgICAgICAgaWYgKHdzdHIgIT0gTlVMTCkgewogICAgICAgICAgICAgcmVhc29uID0gUHlVbmljb2RlX0Zyb21XaWRlQ2hhcih3c3RyLCBlcnJsZW4pOwogICAgICAgICAgICAgUHlNZW1fUmF3RnJlZSh3c3RyKTsKQEAgLTM2ODcsOCArMzY1Miw4IEBACiAgICAgfQogICAgIHNpemUgPSBQeUJ5dGVzX0dFVF9TSVpFKG91dHB1dCk7CiAgICAgZGF0YSA9IFB5Qnl0ZXNfQVNfU1RSSU5HKG91dHB1dCk7Ci0gICAgaWYgKHNpemUgIT0gc3RybGVuKGRhdGEpKSB7Ci0gICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsICJlbWJlZGRlZCBOVUwgY2hhcmFjdGVyIik7CisgICAgaWYgKChzaXplX3Qpc2l6ZSAhPSBzdHJsZW4oZGF0YSkpIHsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsICJlbWJlZGRlZCBudWxsIGJ5dGUiKTsKICAgICAgICAgUHlfREVDUkVGKG91dHB1dCk7CiAgICAgICAgIHJldHVybiAwOwogICAgIH0KQEAgLTM3MzIsNyArMzY5Nyw3IEBACiAgICAgfQogICAgIGlmIChmaW5kY2hhcihQeVVuaWNvZGVfREFUQShvdXRwdXQpLCBQeVVuaWNvZGVfS0lORChvdXRwdXQpLAogICAgICAgICAgICAgICAgICBQeVVuaWNvZGVfR0VUX0xFTkdUSChvdXRwdXQpLCAwLCAxKSA+PSAwKSB7Ci0gICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsICJlbWJlZGRlZCBOVUwgY2hhcmFjdGVyIik7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLCAiZW1iZWRkZWQgbnVsbCBjaGFyYWN0ZXIiKTsKICAgICAgICAgUHlfREVDUkVGKG91dHB1dCk7CiAgICAgICAgIHJldHVybiAwOwogICAgIH0KQEAgLTY4NDksMjggKzY4MTQsNiBAQAogICAgIHJldHVybiBQeUJ5dGVzX0FTX1NUUklORygqb2JqKTsKIH0KIAotc3RhdGljIGludAotaXNfZGJjc19sZWFkX2J5dGUoVUlOVCBjb2RlX3BhZ2UsIGNvbnN0IGNoYXIgKnMsIGludCBvZmZzZXQpCi17Ci0gICAgY29uc3QgY2hhciAqY3VyciA9IHMgKyBvZmZzZXQ7Ci0gICAgY29uc3QgY2hhciAqcHJldjsKLQotICAgIGlmICghSXNEQkNTTGVhZEJ5dGVFeChjb2RlX3BhZ2UsICpjdXJyKSkKLSAgICAgICAgcmV0dXJuIDA7Ci0KLSAgICBwcmV2ID0gQ2hhclByZXZFeEEoY29kZV9wYWdlLCBzLCBjdXJyLCAwKTsKLSAgICBpZiAocHJldiA9PSBjdXJyKQotICAgICAgICByZXR1cm4gMTsKLSAgICAvKiBGSVhNRTogVGhpcyBjb2RlIGlzIGxpbWl0ZWQgdG8gInRydWUiIGRvdWJsZS1ieXRlIGVuY29kaW5ncywKLSAgICAgICBhcyBpdCBhc3N1bWVzIGFuIGluY29tcGxldGUgY2hhcmFjdGVyIGNvbnNpc3RzIG9mIGEgc2luZ2xlCi0gICAgICAgYnl0ZS4gKi8KLSAgICBpZiAoY3VyciAtIHByZXYgPT0gMikKLSAgICAgICAgcmV0dXJuIDE7Ci0gICAgaWYgKCFJc0RCQ1NMZWFkQnl0ZUV4KGNvZGVfcGFnZSwgKnByZXYpKQotICAgICAgICByZXR1cm4gMTsKLSAgICByZXR1cm4gMDsKLX0KLQogc3RhdGljIERXT1JECiBkZWNvZGVfY29kZV9wYWdlX2ZsYWdzKFVJTlQgY29kZV9wYWdlKQogewpAQCAtNjk0NSw3ICs2ODg4LDcgQEAKIGRlY29kZV9jb2RlX3BhZ2VfZXJyb3JzKFVJTlQgY29kZV9wYWdlLAogICAgICAgICAgICAgICAgICAgICAgICAgUHlPYmplY3QgKip2LAogICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqaW4sIGNvbnN0IGludCBzaXplLAotICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqZXJyb3JzKQorICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqZXJyb3JzLCBpbnQgZmluYWwpCiB7CiAgICAgY29uc3QgY2hhciAqc3RhcnRpbiA9IGluOwogICAgIGNvbnN0IGNoYXIgKmVuZGluID0gaW4gKyBzaXplOwpAQCAtNjk3Miw3ICs2OTE1LDcgQEAKICAgICBpZiAoZW5jb2RpbmcgPT0gTlVMTCkKICAgICAgICAgcmV0dXJuIC0xOwogCi0gICAgaWYgKGVycm9ycyA9PSBOVUxMIHx8IHN0cmNtcChlcnJvcnMsICJzdHJpY3QiKSA9PSAwKSB7CisgICAgaWYgKChlcnJvcnMgPT0gTlVMTCB8fCBzdHJjbXAoZXJyb3JzLCAic3RyaWN0IikgPT0gMCkgJiYgZmluYWwpIHsKICAgICAgICAgLyogVGhlIGxhc3QgZXJyb3Igd2FzIEVSUk9SX05PX1VOSUNPREVfVFJBTlNMQVRJT04sIHRoZW4gd2UgcmFpc2UgYQogICAgICAgICAgICBVbmljb2RlRGVjb2RlRXJyb3IuICovCiAgICAgICAgIG1ha2VfZGVjb2RlX2V4Y2VwdGlvbigmZXhjLCBlbmNvZGluZywgaW4sIHNpemUsIDAsIDAsIHJlYXNvbik7CkBAIC03MDM1LDYgKzY5NzgsMTAgQEAKICAgICAgICAgaWYgKG91dHNpemUgPD0gMCkgewogICAgICAgICAgICAgUHlfc3NpemVfdCBzdGFydGlucG9zLCBlbmRpbnBvcywgb3V0cG9zOwogCisgICAgICAgICAgICAvKiBsYXN0IGNoYXJhY3RlciBpbiBwYXJ0aWFsIGRlY29kZT8gKi8KKyAgICAgICAgICAgIGlmIChpbiArIGluc2l6ZSA+PSBlbmRpbiAmJiAhZmluYWwpCisgICAgICAgICAgICAgICAgYnJlYWs7CisKICAgICAgICAgICAgIHN0YXJ0aW5wb3MgPSBpbiAtIHN0YXJ0aW47CiAgICAgICAgICAgICBlbmRpbnBvcyA9IHN0YXJ0aW5wb3MgKyAxOwogICAgICAgICAgICAgb3V0cG9zID0gb3V0IC0gUHlVbmljb2RlX0FTX1VOSUNPREUoKnYpOwpAQCAtNzA2Myw3ICs3MDEwLDggQEAKICAgICBhc3NlcnQob3V0c2l6ZSA8PSBQeVVuaWNvZGVfV1NUUl9MRU5HVEgoKnYpKTsKICAgICBpZiAodW5pY29kZV9yZXNpemUodiwgb3V0c2l6ZSkgPCAwKQogICAgICAgICBnb3RvIGVycm9yOwotICAgIHJldCA9IHNpemU7CisgICAgLyogKGluIC0gc3RhcnRpbikgPD0gc2l6ZSBhbmQgc2l6ZSBpcyBhbiBpbnQgKi8KKyAgICByZXQgPSBQeV9TQUZFX0RPV05DQVNUKGluIC0gc3RhcnRpbiwgUHlfc3NpemVfdCwgaW50KTsKIAogZXJyb3I6CiAgICAgUHlfWERFQ1JFRihlbmNvZGluZ19vYmopOwpAQCAtNzEwNCwyNCArNzA1MiwxOSBAQAogICAgICAgICAgICAgZG9uZSA9IDE7CiAgICAgICAgIH0KIAotICAgICAgICAvKiBTa2lwIHRyYWlsaW5nIGxlYWQtYnl0ZSB1bmxlc3MgJ2ZpbmFsJyBpcyBzZXQgKi8KLSAgICAgICAgaWYgKCFmaW5hbCAmJiBpc19kYmNzX2xlYWRfYnl0ZShjb2RlX3BhZ2UsIHMsIGNodW5rX3NpemUgLSAxKSkKLSAgICAgICAgICAgIC0tY2h1bmtfc2l6ZTsKLQogICAgICAgICBpZiAoY2h1bmtfc2l6ZSA9PSAwICYmIGRvbmUpIHsKICAgICAgICAgICAgIGlmICh2ICE9IE5VTEwpCiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICBfUHlfUkVUVVJOX1VOSUNPREVfRU1QVFkoKTsKICAgICAgICAgfQogCi0KICAgICAgICAgY29udmVydGVkID0gZGVjb2RlX2NvZGVfcGFnZV9zdHJpY3QoY29kZV9wYWdlLCAmdiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcywgY2h1bmtfc2l6ZSk7CiAgICAgICAgIGlmIChjb252ZXJ0ZWQgPT0gLTIpCiAgICAgICAgICAgICBjb252ZXJ0ZWQgPSBkZWNvZGVfY29kZV9wYWdlX2Vycm9ycyhjb2RlX3BhZ2UsICZ2LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcywgY2h1bmtfc2l6ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVycm9ycyk7Ci0gICAgICAgIGFzc2VydChjb252ZXJ0ZWQgIT0gMCk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJvcnMsIGZpbmFsKTsKKyAgICAgICAgYXNzZXJ0KGNvbnZlcnRlZCAhPSAwIHx8IGRvbmUpOwogCiAgICAgICAgIGlmIChjb252ZXJ0ZWQgPCAwKSB7CiAgICAgICAgICAgICBQeV9YREVDUkVGKHYpOwpAQCAtNzQ4NSw2ICs3NDI4LDExIEBACiAgICAgUHlfc3NpemVfdCBvZmZzZXQ7CiAgICAgaW50IGNodW5rX2xlbiwgcmV0LCBkb25lOwogCisgICAgaWYgKCFQeVVuaWNvZGVfQ2hlY2sodW5pY29kZSkpIHsKKyAgICAgICAgUHlFcnJfQmFkQXJndW1lbnQoKTsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorCiAgICAgaWYgKFB5VW5pY29kZV9SRUFEWSh1bmljb2RlKSA9PSAtMSkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgbGVuID0gUHlVbmljb2RlX0dFVF9MRU5HVEgodW5pY29kZSk7CkBAIC03NTU4LDEwICs3NTA2LDYgQEAKIFB5T2JqZWN0ICoKIFB5VW5pY29kZV9Bc01CQ1NTdHJpbmcoUHlPYmplY3QgKnVuaWNvZGUpCiB7Ci0gICAgaWYgKCFQeVVuaWNvZGVfQ2hlY2sodW5pY29kZSkpIHsKLSAgICAgICAgUHlFcnJfQmFkQXJndW1lbnQoKTsKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgfQogICAgIHJldHVybiBQeVVuaWNvZGVfRW5jb2RlQ29kZVBhZ2UoQ1BfQUNQLCB1bmljb2RlLCBOVUxMKTsKIH0KIApAQCAtODUyOCwxMCArODQ3MiwxMCBAQAogICAgIH0KICAgICBlbHNlIGlmIChQeUxvbmdfQ2hlY2soeCkpIHsKICAgICAgICAgbG9uZyB2YWx1ZSA9IFB5TG9uZ19BU19MT05HKHgpOwotICAgICAgICBsb25nIG1heCA9IFB5VW5pY29kZV9HZXRNYXgoKTsKLSAgICAgICAgaWYgKHZhbHVlIDwgMCB8fCB2YWx1ZSA+IG1heCkgewotICAgICAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX1R5cGVFcnJvciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAiY2hhcmFjdGVyIG1hcHBpbmcgbXVzdCBiZSBpbiByYW5nZSgweCV4KSIsIG1heCsxKTsKKyAgICAgICAgaWYgKHZhbHVlIDwgMCB8fCB2YWx1ZSA+IE1BWF9VTklDT0RFKSB7CisgICAgICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVmFsdWVFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAiY2hhcmFjdGVyIG1hcHBpbmcgbXVzdCBiZSBpbiByYW5nZSgweCV4KSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgTUFYX1VOSUNPREUrMSk7CiAgICAgICAgICAgICBQeV9ERUNSRUYoeCk7CiAgICAgICAgICAgICByZXR1cm4gLTE7CiAgICAgICAgIH0KQEAgLTg1NTAsNzYgKzg0OTQsMTY4IEBACiAgICAgICAgIHJldHVybiAtMTsKICAgICB9CiB9Ci0vKiBlbnN1cmUgdGhhdCAqb3V0b2JqIGlzIGF0IGxlYXN0IHJlcXVpcmVkc2l6ZSBjaGFyYWN0ZXJzIGxvbmcsCi0gICBpZiBub3QgcmVhbGxvY2F0ZSBhbmQgYWRqdXN0IHZhcmlvdXMgc3RhdGUgdmFyaWFibGVzLgotICAgUmV0dXJuIDAgb24gc3VjY2VzcywgLTEgb24gZXJyb3IgKi8KKworLyogbG9va3VwIHRoZSBjaGFyYWN0ZXIsIHdyaXRlIHRoZSByZXN1bHQgaW50byB0aGUgd3JpdGVyLgorICAgUmV0dXJuIDEgaWYgdGhlIHJlc3VsdCB3YXMgd3JpdHRlbiBpbnRvIHRoZSB3cml0ZXIsIHJldHVybiAwIGlmIHRoZSBtYXBwaW5nCisgICB3YXMgdW5kZWZpbmVkLCByYWlzZSBhbiBleGNlcHRpb24gcmV0dXJuIC0xIG9uIGVycm9yLiAqLwogc3RhdGljIGludAotY2hhcm1hcHRyYW5zbGF0ZV9tYWtlc3BhY2UoUHlfVUNTNCAqKm91dG9iaiwgUHlfc3NpemVfdCAqcHNpemUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlfc3NpemVfdCByZXF1aXJlZHNpemUpCitjaGFybWFwdHJhbnNsYXRlX291dHB1dChQeV9VQ1M0IGNoLCBQeU9iamVjdCAqbWFwcGluZywKKyAgICAgICAgICAgICAgICAgICAgICAgIF9QeVVuaWNvZGVXcml0ZXIgKndyaXRlcikKIHsKLSAgICBQeV9zc2l6ZV90IG9sZHNpemUgPSAqcHNpemU7Ci0gICAgUHlfVUNTNCAqbmV3X291dG9iajsKLSAgICBpZiAocmVxdWlyZWRzaXplID4gb2xkc2l6ZSkgewotICAgICAgICAvKiBleHBvbmVudGlhbGx5IG92ZXJhbGxvY2F0ZSB0byBtaW5pbWl6ZSByZWFsbG9jYXRpb25zICovCi0gICAgICAgIGlmIChyZXF1aXJlZHNpemUgPCAyICogb2xkc2l6ZSkKLSAgICAgICAgICAgIHJlcXVpcmVkc2l6ZSA9IDIgKiBvbGRzaXplOwotICAgICAgICBuZXdfb3V0b2JqID0gUHlNZW1fUmVhbGxvYygqb3V0b2JqLCByZXF1aXJlZHNpemUgKiBzaXplb2YoUHlfVUNTNCkpOwotICAgICAgICBpZiAobmV3X291dG9iaiA9PSAwKQotICAgICAgICAgICAgcmV0dXJuIC0xOwotICAgICAgICAqb3V0b2JqID0gbmV3X291dG9iajsKLSAgICAgICAgKnBzaXplID0gcmVxdWlyZWRzaXplOwotICAgIH0KLSAgICByZXR1cm4gMDsKLX0KLS8qIGxvb2t1cCB0aGUgY2hhcmFjdGVyLCBwdXQgdGhlIHJlc3VsdCBpbiB0aGUgb3V0cHV0IHN0cmluZyBhbmQgYWRqdXN0Ci0gICB2YXJpb3VzIHN0YXRlIHZhcmlhYmxlcy4gUmV0dXJuIGEgbmV3IHJlZmVyZW5jZSB0byB0aGUgb2JqZWN0IHRoYXQKLSAgIHdhcyBwdXQgaW4gdGhlIG91dHB1dCBidWZmZXIgaW4gKnJlc3VsdCwgb3IgUHlfTm9uZSwgaWYgdGhlIG1hcHBpbmcgd2FzCi0gICB1bmRlZmluZWQgKGluIHdoaWNoIGNhc2Ugbm8gY2hhcmFjdGVyIHdhcyB3cml0dGVuKS4KLSAgIFRoZSBjYWxsZWQgbXVzdCBkZWNyZWYgcmVzdWx0LgotICAgUmV0dXJuIDAgb24gc3VjY2VzcywgLTEgb24gZXJyb3IuICovCi1zdGF0aWMgaW50Ci1jaGFybWFwdHJhbnNsYXRlX291dHB1dChQeU9iamVjdCAqaW5wdXQsIFB5X3NzaXplX3QgaXBvcywKLSAgICAgICAgICAgICAgICAgICAgICAgIFB5T2JqZWN0ICptYXBwaW5nLCBQeV9VQ1M0ICoqb3V0cHV0LAotICAgICAgICAgICAgICAgICAgICAgICAgUHlfc3NpemVfdCAqb3NpemUsIFB5X3NzaXplX3QgKm9wb3MsCi0gICAgICAgICAgICAgICAgICAgICAgICBQeU9iamVjdCAqKnJlcykKLXsKLSAgICBQeV9VQ1M0IGN1cmlucCA9IFB5VW5pY29kZV9SRUFEX0NIQVIoaW5wdXQsIGlwb3MpOwotICAgIGlmIChjaGFybWFwdHJhbnNsYXRlX2xvb2t1cChjdXJpbnAsIG1hcHBpbmcsIHJlcykpCisgICAgUHlPYmplY3QgKml0ZW07CisKKyAgICBpZiAoY2hhcm1hcHRyYW5zbGF0ZV9sb29rdXAoY2gsIG1hcHBpbmcsICZpdGVtKSkKICAgICAgICAgcmV0dXJuIC0xOwotICAgIGlmICgqcmVzPT1OVUxMKSB7CisKKyAgICBpZiAoaXRlbSA9PSBOVUxMKSB7CiAgICAgICAgIC8qIG5vdCBmb3VuZCA9PiBkZWZhdWx0IHRvIDE6MSBtYXBwaW5nICovCi0gICAgICAgICgqb3V0cHV0KVsoKm9wb3MpKytdID0gY3VyaW5wOwotICAgIH0KLSAgICBlbHNlIGlmICgqcmVzPT1QeV9Ob25lKQotICAgICAgICA7Ci0gICAgZWxzZSBpZiAoUHlMb25nX0NoZWNrKCpyZXMpKSB7Ci0gICAgICAgIC8qIG5vIG92ZXJmbG93IGNoZWNrLCBiZWNhdXNlIHdlIGtub3cgdGhhdCB0aGUgc3BhY2UgaXMgZW5vdWdoICovCi0gICAgICAgICgqb3V0cHV0KVsoKm9wb3MpKytdID0gKFB5X1VDUzQpUHlMb25nX0FTX0xPTkcoKnJlcyk7Ci0gICAgfQotICAgIGVsc2UgaWYgKFB5VW5pY29kZV9DaGVjaygqcmVzKSkgewotICAgICAgICBQeV9zc2l6ZV90IHJlcHNpemU7Ci0gICAgICAgIGlmIChQeVVuaWNvZGVfUkVBRFkoKnJlcykgPT0gLTEpCisgICAgICAgIGlmIChfUHlVbmljb2RlV3JpdGVyX1dyaXRlQ2hhcklubGluZSh3cml0ZXIsIGNoKSA8IDApIHsKICAgICAgICAgICAgIHJldHVybiAtMTsKLSAgICAgICAgcmVwc2l6ZSA9IFB5VW5pY29kZV9HRVRfTEVOR1RIKCpyZXMpOwotICAgICAgICBpZiAocmVwc2l6ZT09MSkgewotICAgICAgICAgICAgLyogbm8gb3ZlcmZsb3cgY2hlY2ssIGJlY2F1c2Ugd2Uga25vdyB0aGF0IHRoZSBzcGFjZSBpcyBlbm91Z2ggKi8KLSAgICAgICAgICAgICgqb3V0cHV0KVsoKm9wb3MpKytdID0gUHlVbmljb2RlX1JFQURfQ0hBUigqcmVzLCAwKTsKICAgICAgICAgfQotICAgICAgICBlbHNlIGlmIChyZXBzaXplIT0wKSB7Ci0gICAgICAgICAgICAvKiBtb3JlIHRoYW4gb25lIGNoYXJhY3RlciAqLwotICAgICAgICAgICAgUHlfc3NpemVfdCByZXF1aXJlZHNpemUgPSAqb3BvcyArCi0gICAgICAgICAgICAgICAgKFB5VW5pY29kZV9HRVRfTEVOR1RIKGlucHV0KSAtIGlwb3MpICsKLSAgICAgICAgICAgICAgICByZXBzaXplIC0gMTsKLSAgICAgICAgICAgIFB5X3NzaXplX3QgaTsKLSAgICAgICAgICAgIGlmIChjaGFybWFwdHJhbnNsYXRlX21ha2VzcGFjZShvdXRwdXQsIG9zaXplLCByZXF1aXJlZHNpemUpKQotICAgICAgICAgICAgICAgIHJldHVybiAtMTsKLSAgICAgICAgICAgIGZvcihpID0gMDsgaSA8IHJlcHNpemU7IGkrKykKLSAgICAgICAgICAgICAgICAoKm91dHB1dClbKCpvcG9zKSsrXSA9IFB5VW5pY29kZV9SRUFEX0NIQVIoKnJlcywgaSk7Ci0gICAgICAgIH0KKyAgICAgICAgcmV0dXJuIDE7CiAgICAgfQotICAgIGVsc2UKKworICAgIGlmIChpdGVtID09IFB5X05vbmUpIHsKKyAgICAgICAgUHlfREVDUkVGKGl0ZW0pOworICAgICAgICByZXR1cm4gMDsKKyAgICB9CisKKyAgICBpZiAoUHlMb25nX0NoZWNrKGl0ZW0pKSB7CisgICAgICAgIGxvbmcgY2ggPSAoUHlfVUNTNClQeUxvbmdfQVNfTE9ORyhpdGVtKTsKKyAgICAgICAgLyogUHlMb25nX0FTX0xPTkcoKSBjYW5ub3QgZmFpbCwgY2hhcm1hcHRyYW5zbGF0ZV9sb29rdXAoKSBhbHJlYWR5CisgICAgICAgICAgIHVzZWQgaXQgKi8KKyAgICAgICAgaWYgKF9QeVVuaWNvZGVXcml0ZXJfV3JpdGVDaGFySW5saW5lKHdyaXRlciwgY2gpIDwgMCkgeworICAgICAgICAgICAgUHlfREVDUkVGKGl0ZW0pOworICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICB9CisgICAgICAgIFB5X0RFQ1JFRihpdGVtKTsKKyAgICAgICAgcmV0dXJuIDE7CisgICAgfQorCisgICAgaWYgKCFQeVVuaWNvZGVfQ2hlY2soaXRlbSkpIHsKKyAgICAgICAgUHlfREVDUkVGKGl0ZW0pOwogICAgICAgICByZXR1cm4gLTE7Ci0gICAgcmV0dXJuIDA7CisgICAgfQorCisgICAgaWYgKF9QeVVuaWNvZGVXcml0ZXJfV3JpdGVTdHIod3JpdGVyLCBpdGVtKSA8IDApIHsKKyAgICAgICAgUHlfREVDUkVGKGl0ZW0pOworICAgICAgICByZXR1cm4gLTE7CisgICAgfQorCisgICAgUHlfREVDUkVGKGl0ZW0pOworICAgIHJldHVybiAxOworfQorCitzdGF0aWMgaW50Cit1bmljb2RlX2Zhc3RfdHJhbnNsYXRlX2xvb2t1cChQeU9iamVjdCAqbWFwcGluZywgUHlfVUNTMSBjaCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5X1VDUzEgKnRyYW5zbGF0ZSkKK3sKKyAgICBQeU9iamVjdCAqaXRlbSA9IE5VTEw7CisgICAgaW50IHJldCA9IDA7CisKKyAgICBpZiAoY2hhcm1hcHRyYW5zbGF0ZV9sb29rdXAoY2gsIG1hcHBpbmcsICZpdGVtKSkgeworICAgICAgICByZXR1cm4gLTE7CisgICAgfQorCisgICAgaWYgKGl0ZW0gPT0gUHlfTm9uZSkgeworICAgICAgICAvKiBkZWxldGlvbiAqLworICAgICAgICB0cmFuc2xhdGVbY2hdID0gMHhmZTsKKyAgICB9CisgICAgZWxzZSBpZiAoaXRlbSA9PSBOVUxMKSB7CisgICAgICAgIC8qIG5vdCBmb3VuZCA9PiBkZWZhdWx0IHRvIDE6MSBtYXBwaW5nICovCisgICAgICAgIHRyYW5zbGF0ZVtjaF0gPSBjaDsKKyAgICAgICAgcmV0dXJuIDE7CisgICAgfQorICAgIGVsc2UgaWYgKFB5TG9uZ19DaGVjayhpdGVtKSkgeworICAgICAgICBsb25nIHJlcGxhY2UgPSBQeUxvbmdfQVNfTE9ORyhpdGVtKTsKKyAgICAgICAgLyogUHlMb25nX0FTX0xPTkcoKSBjYW5ub3QgZmFpbCwgY2hhcm1hcHRyYW5zbGF0ZV9sb29rdXAoKSBhbHJlYWR5CisgICAgICAgICAgIHVzZWQgaXQgKi8KKyAgICAgICAgaWYgKDEyNyA8IHJlcGxhY2UpIHsKKyAgICAgICAgICAgIC8qIGludmFsaWQgY2hhcmFjdGVyIG9yIGNoYXJhY3RlciBvdXRzaWRlIEFTQ0lJOgorICAgICAgICAgICAgICAgc2tpcCB0aGUgZmFzdCB0cmFuc2xhdGUgKi8KKyAgICAgICAgICAgIGdvdG8gZXhpdDsKKyAgICAgICAgfQorICAgICAgICB0cmFuc2xhdGVbY2hdID0gKFB5X1VDUzEpcmVwbGFjZTsKKyAgICB9CisgICAgZWxzZSBpZiAoUHlVbmljb2RlX0NoZWNrKGl0ZW0pKSB7CisgICAgICAgIFB5X1VDUzQgcmVwbGFjZTsKKworICAgICAgICBpZiAoUHlVbmljb2RlX1JFQURZKGl0ZW0pID09IC0xKSB7CisgICAgICAgICAgICBQeV9ERUNSRUYoaXRlbSk7CisgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgIH0KKyAgICAgICAgaWYgKFB5VW5pY29kZV9HRVRfTEVOR1RIKGl0ZW0pICE9IDEpCisgICAgICAgICAgICBnb3RvIGV4aXQ7CisKKyAgICAgICAgcmVwbGFjZSA9IFB5VW5pY29kZV9SRUFEX0NIQVIoaXRlbSwgMCk7CisgICAgICAgIGlmIChyZXBsYWNlID4gMTI3KQorICAgICAgICAgICAgZ290byBleGl0OworICAgICAgICB0cmFuc2xhdGVbY2hdID0gKFB5X1VDUzEpcmVwbGFjZTsKKyAgICB9CisgICAgZWxzZSB7CisgICAgICAgIC8qIG5vdCBOb25lLCBOVUxMLCBsb25nIG9yIHVuaWNvZGUgKi8KKyAgICAgICAgZ290byBleGl0OworICAgIH0KKyAgICByZXQgPSAxOworCisgIGV4aXQ6CisgICAgUHlfREVDUkVGKGl0ZW0pOworICAgIHJldHVybiByZXQ7Cit9CisKKy8qIEZhc3QgcGF0aCBmb3IgYXNjaWkgPT4gYXNjaWkgdHJhbnNsYXRpb24uIFJldHVybiAxIGlmIHRoZSB3aG9sZSBzdHJpbmcKKyAgIHdhcyB0cmFuc2xhdGVkIGludG8gd3JpdGVyLCByZXR1cm4gMCBpZiB0aGUgaW5wdXQgc3RyaW5nIHdhcyBwYXJ0aWFsbHkKKyAgIHRyYW5zbGF0ZWQgaW50byB3cml0ZXIsIHJhaXNlIGFuIGV4Y2VwdGlvbiBhbmQgcmV0dXJuIC0xIG9uIGVycm9yLiAqLworc3RhdGljIGludAordW5pY29kZV9mYXN0X3RyYW5zbGF0ZShQeU9iamVjdCAqaW5wdXQsIFB5T2JqZWN0ICptYXBwaW5nLAorICAgICAgICAgICAgICAgICAgICAgICBfUHlVbmljb2RlV3JpdGVyICp3cml0ZXIsIGludCBpZ25vcmUpCit7CisgICAgUHlfVUNTMSBhc2NpaV90YWJsZVsxMjhdLCBjaCwgY2gyOworICAgIFB5X3NzaXplX3QgbGVuOworICAgIFB5X1VDUzEgKmluLCAqZW5kLCAqb3V0OworICAgIGludCByZXMgPSAwOworCisgICAgaWYgKFB5VW5pY29kZV9SRUFEWShpbnB1dCkgPT0gLTEpCisgICAgICAgIHJldHVybiAtMTsKKyAgICBpZiAoIVB5VW5pY29kZV9JU19BU0NJSShpbnB1dCkpCisgICAgICAgIHJldHVybiAwOworICAgIGxlbiA9IFB5VW5pY29kZV9HRVRfTEVOR1RIKGlucHV0KTsKKworICAgIG1lbXNldChhc2NpaV90YWJsZSwgMHhmZiwgMTI4KTsKKworICAgIGluID0gUHlVbmljb2RlXzFCWVRFX0RBVEEoaW5wdXQpOworICAgIGVuZCA9IGluICsgbGVuOworCisgICAgYXNzZXJ0KFB5VW5pY29kZV9JU19BU0NJSSh3cml0ZXItPmJ1ZmZlcikpOworICAgIGFzc2VydChQeVVuaWNvZGVfR0VUX0xFTkdUSCh3cml0ZXItPmJ1ZmZlcikgPT0gbGVuKTsKKyAgICBvdXQgPSBQeVVuaWNvZGVfMUJZVEVfREFUQSh3cml0ZXItPmJ1ZmZlcik7CisKKyAgICBmb3IgKDsgaW4gPCBlbmQ7IGluKyspIHsKKyAgICAgICAgY2ggPSAqaW47CisgICAgICAgIGNoMiA9IGFzY2lpX3RhYmxlW2NoXTsKKyAgICAgICAgaWYgKGNoMiA9PSAweGZmKSB7CisgICAgICAgICAgICBpbnQgdHJhbnNsYXRlID0gdW5pY29kZV9mYXN0X3RyYW5zbGF0ZV9sb29rdXAobWFwcGluZywgY2gsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXNjaWlfdGFibGUpOworICAgICAgICAgICAgaWYgKHRyYW5zbGF0ZSA8IDApCisgICAgICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICAgICAgaWYgKHRyYW5zbGF0ZSA9PSAwKQorICAgICAgICAgICAgICAgIGdvdG8gZXhpdDsKKyAgICAgICAgICAgIGNoMiA9IGFzY2lpX3RhYmxlW2NoXTsKKyAgICAgICAgfQorICAgICAgICBpZiAoY2gyID09IDB4ZmUpIHsKKyAgICAgICAgICAgIGlmIChpZ25vcmUpCisgICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAgICAgICBnb3RvIGV4aXQ7CisgICAgICAgIH0KKyAgICAgICAgYXNzZXJ0KGNoMiA8IDEyOCk7CisgICAgICAgICpvdXQgPSBjaDI7CisgICAgICAgIG91dCsrOworICAgIH0KKyAgICByZXMgPSAxOworCitleGl0OgorICAgIHdyaXRlci0+cG9zID0gb3V0IC0gUHlVbmljb2RlXzFCWVRFX0RBVEEod3JpdGVyLT5idWZmZXIpOworICAgIHJldHVybiByZXM7CiB9CiAKIFB5T2JqZWN0ICoKQEAgLTg2MjgsMjIgKzg2NjQsMTcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICplcnJvcnMpCiB7CiAgICAgLyogaW5wdXQgb2JqZWN0ICovCi0gICAgY2hhciAqaWRhdGE7CisgICAgY2hhciAqZGF0YTsKICAgICBQeV9zc2l6ZV90IHNpemUsIGk7CiAgICAgaW50IGtpbmQ7CiAgICAgLyogb3V0cHV0IGJ1ZmZlciAqLwotICAgIFB5X1VDUzQgKm91dHB1dCA9IE5VTEw7Ci0gICAgUHlfc3NpemVfdCBvc2l6ZTsKLSAgICBQeU9iamVjdCAqcmVzOwotICAgIC8qIGN1cnJlbnQgb3V0cHV0IHBvc2l0aW9uICovCi0gICAgUHlfc3NpemVfdCBvcG9zOworICAgIF9QeVVuaWNvZGVXcml0ZXIgd3JpdGVyOworICAgIC8qIGVycm9yIGhhbmRsZXIgKi8KICAgICBjaGFyICpyZWFzb24gPSAiY2hhcmFjdGVyIG1hcHMgdG8gPHVuZGVmaW5lZD4iOwogICAgIFB5T2JqZWN0ICplcnJvckhhbmRsZXIgPSBOVUxMOwogICAgIFB5T2JqZWN0ICpleGMgPSBOVUxMOwotICAgIC8qIHRoZSBmb2xsb3dpbmcgdmFyaWFibGUgaXMgdXNlZCBmb3IgY2FjaGluZyBzdHJpbmcgY29tcGFyaXNvbnMKLSAgICAgKiAtMT1ub3QgaW5pdGlhbGl6ZWQsIDA9dW5rbm93biwgMT1zdHJpY3QsIDI9cmVwbGFjZSwKLSAgICAgKiAzPWlnbm9yZSwgND14bWxjaGFycmVmcmVwbGFjZSAqLwotICAgIGludCBrbm93bl9lcnJvckhhbmRsZXIgPSAtMTsKKyAgICBpbnQgaWdub3JlOworICAgIGludCByZXM7CiAKICAgICBpZiAobWFwcGluZyA9PSBOVUxMKSB7CiAgICAgICAgIFB5RXJyX0JhZEFyZ3VtZW50KCk7CkBAIC04NjUyLDEwICs4NjgzLDkgQEAKIAogICAgIGlmIChQeVVuaWNvZGVfUkVBRFkoaW5wdXQpID09IC0xKQogICAgICAgICByZXR1cm4gTlVMTDsKLSAgICBpZGF0YSA9IChjaGFyKilQeVVuaWNvZGVfREFUQShpbnB1dCk7CisgICAgZGF0YSA9IChjaGFyKilQeVVuaWNvZGVfREFUQShpbnB1dCk7CiAgICAga2luZCA9IFB5VW5pY29kZV9LSU5EKGlucHV0KTsKICAgICBzaXplID0gUHlVbmljb2RlX0dFVF9MRU5HVEgoaW5wdXQpOwotICAgIGkgPSAwOwogCiAgICAgaWYgKHNpemUgPT0gMCkgewogICAgICAgICBQeV9JTkNSRUYoaW5wdXQpOwpAQCAtODY2NCwxMjEgKzg2OTQsODEgQEAKIAogICAgIC8qIGFsbG9jYXRlIGVub3VnaCBmb3IgYSBzaW1wbGUgMToxIHRyYW5zbGF0aW9uIHdpdGhvdXQKICAgICAgICByZXBsYWNlbWVudHMsIGlmIHdlIG5lZWQgbW9yZSwgd2UnbGwgcmVzaXplICovCi0gICAgb3NpemUgPSBzaXplOwotICAgIG91dHB1dCA9IFB5TWVtX01hbGxvYyhvc2l6ZSAqIHNpemVvZihQeV9VQ1M0KSk7Ci0gICAgb3BvcyA9IDA7Ci0gICAgaWYgKG91dHB1dCA9PSBOVUxMKSB7Ci0gICAgICAgIFB5RXJyX05vTWVtb3J5KCk7CisgICAgX1B5VW5pY29kZVdyaXRlcl9Jbml0KCZ3cml0ZXIpOworICAgIGlmIChfUHlVbmljb2RlV3JpdGVyX1ByZXBhcmUoJndyaXRlciwgc2l6ZSwgMTI3KSA9PSAtMSkKICAgICAgICAgZ290byBvbkVycm9yOwotICAgIH0KIAorICAgIGlnbm9yZSA9IChlcnJvcnMgIT0gTlVMTCAmJiBzdHJjbXAoZXJyb3JzLCAiaWdub3JlIikgPT0gMCk7CisKKyAgICByZXMgPSB1bmljb2RlX2Zhc3RfdHJhbnNsYXRlKGlucHV0LCBtYXBwaW5nLCAmd3JpdGVyLCBpZ25vcmUpOworICAgIGlmIChyZXMgPCAwKSB7CisgICAgICAgIF9QeVVuaWNvZGVXcml0ZXJfRGVhbGxvYygmd3JpdGVyKTsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorICAgIGlmIChyZXMgPT0gMSkKKyAgICAgICAgcmV0dXJuIF9QeVVuaWNvZGVXcml0ZXJfRmluaXNoKCZ3cml0ZXIpOworCisgICAgaSA9IHdyaXRlci5wb3M7CiAgICAgd2hpbGUgKGk8c2l6ZSkgewogICAgICAgICAvKiB0cnkgdG8gZW5jb2RlIGl0ICovCi0gICAgICAgIFB5T2JqZWN0ICp4ID0gTlVMTDsKLSAgICAgICAgaWYgKGNoYXJtYXB0cmFuc2xhdGVfb3V0cHV0KGlucHV0LCBpLCBtYXBwaW5nLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJm91dHB1dCwgJm9zaXplLCAmb3BvcywgJngpKSB7Ci0gICAgICAgICAgICBQeV9YREVDUkVGKHgpOwotICAgICAgICAgICAgZ290byBvbkVycm9yOwotICAgICAgICB9Ci0gICAgICAgIFB5X1hERUNSRUYoeCk7Ci0gICAgICAgIGlmICh4IT1QeV9Ob25lKSAvKiBpdCB3b3JrZWQgPT4gYWRqdXN0IGlucHV0IHBvaW50ZXIgKi8KLSAgICAgICAgICAgICsraTsKLSAgICAgICAgZWxzZSB7IC8qIHVudHJhbnNsYXRhYmxlIGNoYXJhY3RlciAqLwotICAgICAgICAgICAgUHlPYmplY3QgKnJlcHVuaWNvZGUgPSBOVUxMOyAvKiBpbml0aWFsaXplIHRvIHByZXZlbnQgZ2NjIHdhcm5pbmcgKi8KLSAgICAgICAgICAgIFB5X3NzaXplX3QgcmVwc2l6ZTsKLSAgICAgICAgICAgIFB5X3NzaXplX3QgbmV3cG9zOwotICAgICAgICAgICAgUHlfc3NpemVfdCB1bmkyOwotICAgICAgICAgICAgLyogc3RhcnRwb3MgZm9yIGNvbGxlY3RpbmcgdW50cmFuc2xhdGFibGUgY2hhcnMgKi8KLSAgICAgICAgICAgIFB5X3NzaXplX3QgY29sbHN0YXJ0ID0gaTsKLSAgICAgICAgICAgIFB5X3NzaXplX3QgY29sbGVuZCA9IGkrMTsKLSAgICAgICAgICAgIFB5X3NzaXplX3QgY29sbDsKKyAgICAgICAgaW50IHRyYW5zbGF0ZTsKKyAgICAgICAgUHlPYmplY3QgKnJlcHVuaWNvZGUgPSBOVUxMOyAvKiBpbml0aWFsaXplIHRvIHByZXZlbnQgZ2NjIHdhcm5pbmcgKi8KKyAgICAgICAgUHlfc3NpemVfdCBuZXdwb3M7CisgICAgICAgIC8qIHN0YXJ0cG9zIGZvciBjb2xsZWN0aW5nIHVudHJhbnNsYXRhYmxlIGNoYXJzICovCisgICAgICAgIFB5X3NzaXplX3QgY29sbHN0YXJ0OworICAgICAgICBQeV9zc2l6ZV90IGNvbGxlbmQ7CisgICAgICAgIFB5X1VDUzQgY2g7CiAKLSAgICAgICAgICAgIC8qIGZpbmQgYWxsIHVudHJhbnNsYXRhYmxlIGNoYXJhY3RlcnMgKi8KLSAgICAgICAgICAgIHdoaWxlIChjb2xsZW5kIDwgc2l6ZSkgewotICAgICAgICAgICAgICAgIGlmIChjaGFybWFwdHJhbnNsYXRlX2xvb2t1cChQeVVuaWNvZGVfUkVBRChraW5kLGlkYXRhLCBjb2xsZW5kKSwgbWFwcGluZywgJngpKQotICAgICAgICAgICAgICAgICAgICBnb3RvIG9uRXJyb3I7Ci0gICAgICAgICAgICAgICAgUHlfWERFQ1JFRih4KTsKLSAgICAgICAgICAgICAgICBpZiAoeCE9UHlfTm9uZSkKLSAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgKytjb2xsZW5kOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgLyogY2FjaGUgY2FsbGJhY2sgbmFtZSBsb29rdXAKLSAgICAgICAgICAgICAqIChpZiBub3QgZG9uZSB5ZXQsIGkuZS4gaXQncyB0aGUgZmlyc3QgZXJyb3IpICovCi0gICAgICAgICAgICBpZiAoa25vd25fZXJyb3JIYW5kbGVyPT0tMSkgewotICAgICAgICAgICAgICAgIGlmICgoZXJyb3JzPT1OVUxMKSB8fCAoIXN0cmNtcChlcnJvcnMsICJzdHJpY3QiKSkpCi0gICAgICAgICAgICAgICAgICAgIGtub3duX2Vycm9ySGFuZGxlciA9IDE7Ci0gICAgICAgICAgICAgICAgZWxzZSBpZiAoIXN0cmNtcChlcnJvcnMsICJyZXBsYWNlIikpCi0gICAgICAgICAgICAgICAgICAgIGtub3duX2Vycm9ySGFuZGxlciA9IDI7Ci0gICAgICAgICAgICAgICAgZWxzZSBpZiAoIXN0cmNtcChlcnJvcnMsICJpZ25vcmUiKSkKLSAgICAgICAgICAgICAgICAgICAga25vd25fZXJyb3JIYW5kbGVyID0gMzsKLSAgICAgICAgICAgICAgICBlbHNlIGlmICghc3RyY21wKGVycm9ycywgInhtbGNoYXJyZWZyZXBsYWNlIikpCi0gICAgICAgICAgICAgICAgICAgIGtub3duX2Vycm9ySGFuZGxlciA9IDQ7Ci0gICAgICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgICAgICBrbm93bl9lcnJvckhhbmRsZXIgPSAwOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgc3dpdGNoIChrbm93bl9lcnJvckhhbmRsZXIpIHsKLSAgICAgICAgICAgIGNhc2UgMTogLyogc3RyaWN0ICovCi0gICAgICAgICAgICAgICAgbWFrZV90cmFuc2xhdGVfZXhjZXB0aW9uKCZleGMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlucHV0LCBjb2xsc3RhcnQsIGNvbGxlbmQsIHJlYXNvbik7Ci0gICAgICAgICAgICAgICAgaWYgKGV4YyAhPSBOVUxMKQotICAgICAgICAgICAgICAgICAgICBQeUNvZGVjX1N0cmljdEVycm9ycyhleGMpOworICAgICAgICBjaCA9IFB5VW5pY29kZV9SRUFEKGtpbmQsIGRhdGEsIGkpOworICAgICAgICB0cmFuc2xhdGUgPSBjaGFybWFwdHJhbnNsYXRlX291dHB1dChjaCwgbWFwcGluZywgJndyaXRlcik7CisgICAgICAgIGlmICh0cmFuc2xhdGUgPCAwKQorICAgICAgICAgICAgZ290byBvbkVycm9yOworCisgICAgICAgIGlmICh0cmFuc2xhdGUgIT0gMCkgeworICAgICAgICAgICAgLyogaXQgd29ya2VkID0+IGFkanVzdCBpbnB1dCBwb2ludGVyICovCisgICAgICAgICAgICArK2k7CisgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgfQorCisgICAgICAgIC8qIHVudHJhbnNsYXRhYmxlIGNoYXJhY3RlciAqLworICAgICAgICBjb2xsc3RhcnQgPSBpOworICAgICAgICBjb2xsZW5kID0gaSsxOworCisgICAgICAgIC8qIGZpbmQgYWxsIHVudHJhbnNsYXRhYmxlIGNoYXJhY3RlcnMgKi8KKyAgICAgICAgd2hpbGUgKGNvbGxlbmQgPCBzaXplKSB7CisgICAgICAgICAgICBQeU9iamVjdCAqeDsKKyAgICAgICAgICAgIGNoID0gUHlVbmljb2RlX1JFQUQoa2luZCwgZGF0YSwgY29sbGVuZCk7CisgICAgICAgICAgICBpZiAoY2hhcm1hcHRyYW5zbGF0ZV9sb29rdXAoY2gsIG1hcHBpbmcsICZ4KSkKICAgICAgICAgICAgICAgICBnb3RvIG9uRXJyb3I7Ci0gICAgICAgICAgICBjYXNlIDI6IC8qIHJlcGxhY2UgKi8KLSAgICAgICAgICAgICAgICAvKiBObyBuZWVkIHRvIGNoZWNrIGZvciBzcGFjZSwgdGhpcyBpcyBhIDE6MSByZXBsYWNlbWVudCAqLwotICAgICAgICAgICAgICAgIGZvciAoY29sbCA9IGNvbGxzdGFydDsgY29sbDxjb2xsZW5kOyBjb2xsKyspCi0gICAgICAgICAgICAgICAgICAgIG91dHB1dFtvcG9zKytdID0gJz8nOwotICAgICAgICAgICAgICAgIC8qIGZhbGwgdGhyb3VnaCAqLwotICAgICAgICAgICAgY2FzZSAzOiAvKiBpZ25vcmUgKi8KLSAgICAgICAgICAgICAgICBpID0gY29sbGVuZDsKKyAgICAgICAgICAgIFB5X1hERUNSRUYoeCk7CisgICAgICAgICAgICBpZiAoeCAhPSBQeV9Ob25lKQogICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgY2FzZSA0OiAvKiB4bWxjaGFycmVmcmVwbGFjZSAqLwotICAgICAgICAgICAgICAgIC8qIGdlbmVyYXRlIHJlcGxhY2VtZW50ICh0ZW1wb3JhcmlseSAobWlzKXVzZXMgaSkgKi8KLSAgICAgICAgICAgICAgICBmb3IgKGkgPSBjb2xsc3RhcnQ7IGkgPCBjb2xsZW5kOyArK2kpIHsKLSAgICAgICAgICAgICAgICAgICAgY2hhciBidWZmZXJbMisyOSsxKzFdOwotICAgICAgICAgICAgICAgICAgICBjaGFyICpjcDsKLSAgICAgICAgICAgICAgICAgICAgc3ByaW50ZihidWZmZXIsICImIyVkOyIsIFB5VW5pY29kZV9SRUFEKGtpbmQsIGlkYXRhLCBpKSk7Ci0gICAgICAgICAgICAgICAgICAgIGlmIChjaGFybWFwdHJhbnNsYXRlX21ha2VzcGFjZSgmb3V0cHV0LCAmb3NpemUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcG9zK3N0cmxlbihidWZmZXIpKyhzaXplLWNvbGxlbmQpKSkKLSAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gb25FcnJvcjsKLSAgICAgICAgICAgICAgICAgICAgZm9yIChjcCA9IGJ1ZmZlcjsgKmNwOyArK2NwKQotICAgICAgICAgICAgICAgICAgICAgICAgb3V0cHV0W29wb3MrK10gPSAqY3A7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGkgPSBjb2xsZW5kOwotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgICAgICByZXB1bmljb2RlID0gdW5pY29kZV90cmFuc2xhdGVfY2FsbF9lcnJvcmhhbmRsZXIoZXJyb3JzLCAmZXJyb3JIYW5kbGVyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWFzb24sIGlucHV0LCAmZXhjLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xsc3RhcnQsIGNvbGxlbmQsICZuZXdwb3MpOwotICAgICAgICAgICAgICAgIGlmIChyZXB1bmljb2RlID09IE5VTEwpCi0gICAgICAgICAgICAgICAgICAgIGdvdG8gb25FcnJvcjsKLSAgICAgICAgICAgICAgICBpZiAoUHlVbmljb2RlX1JFQURZKHJlcHVuaWNvZGUpID09IC0xKSB7Ci0gICAgICAgICAgICAgICAgICAgIFB5X0RFQ1JFRihyZXB1bmljb2RlKTsKLSAgICAgICAgICAgICAgICAgICAgZ290byBvbkVycm9yOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAvKiBnZW5lcmF0ZSByZXBsYWNlbWVudCAgKi8KLSAgICAgICAgICAgICAgICByZXBzaXplID0gUHlVbmljb2RlX0dFVF9MRU5HVEgocmVwdW5pY29kZSk7Ci0gICAgICAgICAgICAgICAgaWYgKGNoYXJtYXB0cmFuc2xhdGVfbWFrZXNwYWNlKCZvdXRwdXQsICZvc2l6ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BvcytyZXBzaXplKyhzaXplLWNvbGxlbmQpKSkgewotICAgICAgICAgICAgICAgICAgICBQeV9ERUNSRUYocmVwdW5pY29kZSk7Ci0gICAgICAgICAgICAgICAgICAgIGdvdG8gb25FcnJvcjsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgZm9yICh1bmkyID0gMDsgcmVwc2l6ZS0tPjA7ICsrdW5pMikKLSAgICAgICAgICAgICAgICAgICAgb3V0cHV0W29wb3MrK10gPSBQeVVuaWNvZGVfUkVBRF9DSEFSKHJlcHVuaWNvZGUsIHVuaTIpOwotICAgICAgICAgICAgICAgIGkgPSBuZXdwb3M7CisgICAgICAgICAgICArK2NvbGxlbmQ7CisgICAgICAgIH0KKworICAgICAgICBpZiAoaWdub3JlKSB7CisgICAgICAgICAgICBpID0gY29sbGVuZDsKKyAgICAgICAgfQorICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgIHJlcHVuaWNvZGUgPSB1bmljb2RlX3RyYW5zbGF0ZV9jYWxsX2Vycm9yaGFuZGxlcihlcnJvcnMsICZlcnJvckhhbmRsZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVhc29uLCBpbnB1dCwgJmV4YywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xsc3RhcnQsIGNvbGxlbmQsICZuZXdwb3MpOworICAgICAgICAgICAgaWYgKHJlcHVuaWNvZGUgPT0gTlVMTCkKKyAgICAgICAgICAgICAgICBnb3RvIG9uRXJyb3I7CisgICAgICAgICAgICBpZiAoX1B5VW5pY29kZVdyaXRlcl9Xcml0ZVN0cigmd3JpdGVyLCByZXB1bmljb2RlKSA8IDApIHsKICAgICAgICAgICAgICAgICBQeV9ERUNSRUYocmVwdW5pY29kZSk7CisgICAgICAgICAgICAgICAgZ290byBvbkVycm9yOwogICAgICAgICAgICAgfQorICAgICAgICAgICAgUHlfREVDUkVGKHJlcHVuaWNvZGUpOworICAgICAgICAgICAgaSA9IG5ld3BvczsKICAgICAgICAgfQogICAgIH0KLSAgICByZXMgPSBQeVVuaWNvZGVfRnJvbUtpbmRBbmREYXRhKFB5VW5pY29kZV80QllURV9LSU5ELCBvdXRwdXQsIG9wb3MpOwotICAgIGlmICghcmVzKQotICAgICAgICBnb3RvIG9uRXJyb3I7Ci0gICAgUHlNZW1fRnJlZShvdXRwdXQpOwogICAgIFB5X1hERUNSRUYoZXhjKTsKICAgICBQeV9YREVDUkVGKGVycm9ySGFuZGxlcik7Ci0gICAgcmV0dXJuIHJlczsKKyAgICByZXR1cm4gX1B5VW5pY29kZVdyaXRlcl9GaW5pc2goJndyaXRlcik7CiAKICAgb25FcnJvcjoKLSAgICBQeU1lbV9GcmVlKG91dHB1dCk7CisgICAgX1B5VW5pY29kZVdyaXRlcl9EZWFsbG9jKCZ3cml0ZXIpOwogICAgIFB5X1hERUNSRUYoZXhjKTsKICAgICBQeV9YREVDUkVGKGVycm9ySGFuZGxlcik7CiAgICAgcmV0dXJuIE5VTEw7CkBAIC04ODgwLDcgKzg4NzAsNyBAQAogCiAgICAgbWF4Y2hhciA9IDEyNzsKICAgICBmb3IgKGkgPSAwOyBpIDwgbGVuZ3RoOyBpKyspIHsKLSAgICAgICAgUHlfVU5JQ09ERSBjaCA9IHNbaV07CisgICAgICAgIFB5X1VDUzQgY2ggPSBzW2ldOwogICAgICAgICBpZiAoY2ggPiAxMjcpIHsKICAgICAgICAgICAgIGludCBkZWNpbWFsID0gUHlfVU5JQ09ERV9UT0RFQ0lNQUwoY2gpOwogICAgICAgICAgICAgaWYgKGRlY2ltYWwgPj0gMCkKQEAgLTg4OTcsNyArODg4Nyw3IEBACiAgICAgZGF0YSA9IFB5VW5pY29kZV9EQVRBKGRlY2ltYWwpOwogICAgIC8qIEl0ZXJhdGUgb3ZlciBjb2RlIHBvaW50cyAqLwogICAgIGZvciAoaSA9IDA7IGkgPCBsZW5ndGg7IGkrKykgewotICAgICAgICBQeV9VTklDT0RFIGNoID0gc1tpXTsKKyAgICAgICAgUHlfVUNTNCBjaCA9IHNbaV07CiAgICAgICAgIGlmIChjaCA+IDEyNykgewogICAgICAgICAgICAgaW50IGRlY2ltYWwgPSBQeV9VTklDT0RFX1RPREVDSU1BTChjaCk7CiAgICAgICAgICAgICBpZiAoZGVjaW1hbCA+PSAwKQpAQCAtMTA4NDMsNyArMTA4MzMsNyBAQAogICAgICAgICB2b2lkICpkYXRhID0gUHlVbmljb2RlX0RBVEEodW5pKTsKICAgICAgICAgLyogQ29tcGFyZSBVbmljb2RlIHN0cmluZyBhbmQgc291cmNlIGNoYXJhY3RlciBzZXQgc3RyaW5nICovCiAgICAgICAgIGZvciAoaSA9IDA7IChjaHIgPSBQeVVuaWNvZGVfUkVBRChraW5kLCBkYXRhLCBpKSkgJiYgc3RyW2ldOyBpKyspCi0gICAgICAgICAgICBpZiAoY2hyICE9IHN0cltpXSkKKyAgICAgICAgICAgIGlmIChjaHIgIT0gKHVuc2lnbmVkIGNoYXIpc3RyW2ldKQogICAgICAgICAgICAgICAgIHJldHVybiAoY2hyIDwgKHVuc2lnbmVkIGNoYXIpKHN0cltpXSkpID8gLTEgOiAxOwogICAgICAgICAvKiBUaGlzIGNoZWNrIGtlZXBzIFB5dGhvbiBzdHJpbmdzIHRoYXQgZW5kIGluICdcMCcgZnJvbSBjb21wYXJpbmcgZXF1YWwKICAgICAgICAgIHRvIEMgc3RyaW5ncyBpZGVudGljYWwgdXAgdG8gdGhhdCBwb2ludC4gKi8KQEAgLTEzOTA1LDggKzEzODk1LDggQEAKICAqIENBVVRJT046ICBvLCB4IGFuZCBYIGNvbnZlcnNpb25zIG9uIHJlZ3VsYXIgaW50cyBjYW4gbmV2ZXIKICAqIHByb2R1Y2UgYSAnLScgc2lnbiwgYnV0IGNhbiBmb3IgUHl0aG9uJ3MgdW5ib3VuZGVkIGludHMuCiAgKi8KLXN0YXRpYyBQeU9iamVjdCoKLWZvcm1hdGxvbmcoUHlPYmplY3QgKnZhbCwgc3RydWN0IHVuaWNvZGVfZm9ybWF0X2FyZ190ICphcmcpCitQeU9iamVjdCAqCitfUHlVbmljb2RlX0Zvcm1hdExvbmcoUHlPYmplY3QgKnZhbCwgaW50IGFsdCwgaW50IHByZWMsIGludCB0eXBlKQogewogICAgIFB5T2JqZWN0ICpyZXN1bHQgPSBOVUxMOwogICAgIGNoYXIgKmJ1ZjsKQEAgLTEzOTE2LDggKzEzOTA2LDYgQEAKICAgICBQeV9zc2l6ZV90IGxsZW47CiAgICAgaW50IG51bWRpZ2l0czsgICAgICAvKiBsZW4gPT0gbnVtbm9uZGlnaXRzICsgbnVtZGlnaXRzICovCiAgICAgaW50IG51bW5vbmRpZ2l0cyA9IDA7Ci0gICAgaW50IHByZWMgPSBhcmctPnByZWM7Ci0gICAgaW50IHR5cGUgPSBhcmctPmNoOwogCiAgICAgLyogQXZvaWQgZXhjZWVkaW5nIFNTSVpFX1RfTUFYICovCiAgICAgaWYgKHByZWMgPiBJTlRfTUFYLTMpIHsKQEAgLTEzOTY2LDcgKzEzOTU0LDcgQEAKICAgICBpZiAobGxlbiA+IElOVF9NQVgpIHsKICAgICAgICAgUHlfREVDUkVGKHJlc3VsdCk7CiAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLAotICAgICAgICAgICAgICAgICAgICAgICAgInN0cmluZyB0b28gbGFyZ2UgaW4gX1B5Qnl0ZXNfRm9ybWF0TG9uZyIpOworICAgICAgICAgICAgICAgICAgICAgICAgInN0cmluZyB0b28gbGFyZ2UgaW4gX1B5VW5pY29kZV9Gb3JtYXRMb25nIik7CiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KICAgICBsZW4gPSAoaW50KWxsZW47CkBAIC0xMzk3Niw3ICsxMzk2NCw3IEBACiAgICAgYXNzZXJ0KG51bWRpZ2l0cyA+IDApOwogCiAgICAgLyogR2V0IHJpZCBvZiBiYXNlIG1hcmtlciB1bmxlc3MgRl9BTFQgKi8KLSAgICBpZiAoKChhcmctPmZsYWdzICYgRl9BTFQpID09IDAgJiYKKyAgICBpZiAoKChhbHQpID09IDAgJiYKICAgICAgICAgKHR5cGUgPT0gJ28nIHx8IHR5cGUgPT0gJ3gnIHx8IHR5cGUgPT0gJ1gnKSkpIHsKICAgICAgICAgYXNzZXJ0KGJ1ZltzaWduXSA9PSAnMCcpOwogICAgICAgICBhc3NlcnQoYnVmW3NpZ24rMV0gPT0gJ3gnIHx8IGJ1ZltzaWduKzFdID09ICdYJyB8fApAQCAtMTQwNTEsMjQgKzE0MDM5LDE0IEBACiAgICAgaWYgKCFQeU51bWJlcl9DaGVjayh2KSkKICAgICAgICAgZ290byB3cm9uZ3R5cGU7CiAKLSAgICAvKiBtYWtlIHN1cmUgbnVtYmVyIGlzIGEgdHlwZSBvZiBpbnRlZ2VyICovCi0gICAgLyogaWYgbm90LCBpc3N1ZSBkZXByZWNhdGlvbiB3YXJuaW5nIGZvciBub3cgKi8KKyAgICAvKiBtYWtlIHN1cmUgbnVtYmVyIGlzIGEgdHlwZSBvZiBpbnRlZ2VyIGZvciBvLCB4LCBhbmQgWCAqLwogICAgIGlmICghUHlMb25nX0NoZWNrKHYpKSB7CiAgICAgICAgIGlmICh0eXBlID09ICdvJyB8fCB0eXBlID09ICd4JyB8fCB0eXBlID09ICdYJykgewogICAgICAgICAgICAgaW9iaiA9IFB5TnVtYmVyX0luZGV4KHYpOwogICAgICAgICAgICAgaWYgKGlvYmogPT0gTlVMTCkgewotICAgICAgICAgICAgICAgIFB5RXJyX0NsZWFyKCk7Ci0gICAgICAgICAgICAgICAgaWYgKFB5RXJyX1dhcm5FeChQeUV4Y19EZXByZWNhdGlvbldhcm5pbmcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYXV0b21hdGljIGludCBjb252ZXJzaW9ucyBoYXZlIGJlZW4gZGVwcmVjYXRlZCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxKSkgewotICAgICAgICAgICAgICAgICAgICByZXR1cm4gLTE7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGlvYmogPSBQeU51bWJlcl9Mb25nKHYpOwotICAgICAgICAgICAgICAgIGlmIChpb2JqID09IE5VTEwgKSB7Ci0gICAgICAgICAgICAgICAgICAgIGlmIChQeUVycl9FeGNlcHRpb25NYXRjaGVzKFB5RXhjX1R5cGVFcnJvcikpCi0gICAgICAgICAgICAgICAgICAgICAgICBnb3RvIHdyb25ndHlwZTsKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIC0xOwotICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBpZiAoUHlFcnJfRXhjZXB0aW9uTWF0Y2hlcyhQeUV4Y19UeXBlRXJyb3IpKQorICAgICAgICAgICAgICAgICAgICBnb3RvIHdyb25ndHlwZTsKKyAgICAgICAgICAgICAgICByZXR1cm4gLTE7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICAgICAgZWxzZSB7CkBAIC0xNDEyMSw3ICsxNDA5OSw3IEBACiAgICAgICAgIHJldHVybiAxOwogICAgIH0KIAotICAgIHJlcyA9IGZvcm1hdGxvbmcoaW9iaiwgYXJnKTsKKyAgICByZXMgPSBfUHlVbmljb2RlX0Zvcm1hdExvbmcoaW9iaiwgYXJnLT5mbGFncyAmIEZfQUxULCBhcmctPnByZWMsIHR5cGUpOwogICAgIFB5X0RFQ1JFRihpb2JqKTsKICAgICBpZiAocmVzID09IE5VTEwpCiAgICAgICAgIHJldHVybiAtMTsKQEAgLTE0MTI5LDEwICsxNDEwNywyMyBAQAogICAgIHJldHVybiAwOwogCiB3cm9uZ3R5cGU6Ci0gICAgUHlFcnJfRm9ybWF0KFB5RXhjX1R5cGVFcnJvciwKLSAgICAgICAgICAgICIlJSVjIGZvcm1hdDogYSBudW1iZXIgaXMgcmVxdWlyZWQsICIKLSAgICAgICAgICAgICJub3QgJS4yMDBzIiwKLSAgICAgICAgICAgIHR5cGUsIFB5X1RZUEUodiktPnRwX25hbWUpOworICAgIHN3aXRjaCh0eXBlKQorICAgIHsKKyAgICAgICAgY2FzZSAnbyc6CisgICAgICAgIGNhc2UgJ3gnOgorICAgICAgICBjYXNlICdYJzoKKyAgICAgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19UeXBlRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICIlJSVjIGZvcm1hdDogYW4gaW50ZWdlciBpcyByZXF1aXJlZCwgIgorICAgICAgICAgICAgICAgICAgICAibm90ICUuMjAwcyIsCisgICAgICAgICAgICAgICAgICAgIHR5cGUsIFB5X1RZUEUodiktPnRwX25hbWUpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVHlwZUVycm9yLAorICAgICAgICAgICAgICAgICAgICAiJSUlYyBmb3JtYXQ6IGEgbnVtYmVyIGlzIHJlcXVpcmVkLCAiCisgICAgICAgICAgICAgICAgICAgICJub3QgJS4yMDBzIiwKKyAgICAgICAgICAgICAgICAgICAgdHlwZSwgUHlfVFlQRSh2KS0+dHBfbmFtZSk7CisgICAgICAgICAgICBicmVhazsKKyAgICB9CiAgICAgcmV0dXJuIC0xOwogfQogCkBAIC0xNDE1MCwyMiArMTQxNDEsMTAgQEAKICAgICAgICAgUHlPYmplY3QgKmlvYmo7CiAgICAgICAgIGxvbmcgeDsKICAgICAgICAgLyogbWFrZSBzdXJlIG51bWJlciBpcyBhIHR5cGUgb2YgaW50ZWdlciAqLwotICAgICAgICAvKiBpZiBub3QsIGlzc3VlIGRlcHJlY2F0aW9uIHdhcm5pbmcgZm9yIG5vdyAqLwogICAgICAgICBpZiAoIVB5TG9uZ19DaGVjayh2KSkgewogICAgICAgICAgICAgaW9iaiA9IFB5TnVtYmVyX0luZGV4KHYpOwogICAgICAgICAgICAgaWYgKGlvYmogPT0gTlVMTCkgewotICAgICAgICAgICAgICAgIFB5RXJyX0NsZWFyKCk7Ci0gICAgICAgICAgICAgICAgaWYgKFB5RXJyX1dhcm5FeChQeUV4Y19EZXByZWNhdGlvbldhcm5pbmcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYXV0b21hdGljIGludCBjb252ZXJzaW9ucyBoYXZlIGJlZW4gZGVwcmVjYXRlZCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxKSkgewotICAgICAgICAgICAgICAgICAgICByZXR1cm4gLTE7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGlvYmogPSBQeU51bWJlcl9Mb25nKHYpOwotICAgICAgICAgICAgICAgIGlmIChpb2JqID09IE5VTEwgKSB7Ci0gICAgICAgICAgICAgICAgICAgIGlmIChQeUVycl9FeGNlcHRpb25NYXRjaGVzKFB5RXhjX1R5cGVFcnJvcikpCi0gICAgICAgICAgICAgICAgICAgICAgICBnb3RvIG9uRXJyb3I7Ci0gICAgICAgICAgICAgICAgICAgIHJldHVybiAtMTsKLSAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgZ290byBvbkVycm9yOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgdiA9IGlvYmo7CiAgICAgICAgICAgICBQeV9ERUNSRUYoaW9iaik7CkBAIC0xNTQxOSw3ICsxNTM5OCw3IEBACiAgICAgaWYgKHUgPT0gTlVMTCkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgLyogRW5zdXJlIHdlIHdvbid0IG92ZXJmbG93IHRoZSBzaXplLiAqLwotICAgIGlmIChsZW4gPiAoKFBZX1NTSVpFX1RfTUFYIC8gc2l6ZW9mKFB5X1VOSUNPREUpKSAtIDEpKSB7CisgICAgaWYgKGxlbiA+ICgoUFlfU1NJWkVfVF9NQVggLyAoUHlfc3NpemVfdClzaXplb2YoUHlfVU5JQ09ERSkpIC0gMSkpIHsKICAgICAgICAgUHlFcnJfTm9NZW1vcnkoKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQpkaWZmIC0tZ2l0IGEvT2JqZWN0cy91bmljb2RldHlwZV9kYi5oIGIvT2JqZWN0cy91bmljb2RldHlwZV9kYi5oCmluZGV4IDFmZGMwOTIuLjBjMWUwYjYgMTAwNjQ0Ci0tLSBhL09iamVjdHMvdW5pY29kZXR5cGVfZGIuaAorKysgYi9PYmplY3RzL3VuaWNvZGV0eXBlX2RiLmgKQEAgLTgyLDI1ICs4MiwzMSBAQAogICAgIHstMjA1LCAwLCAtMjA1LCAwLCAwLCA5OTkzfSwKICAgICB7LTIwMiwgMCwgLTIwMiwgMCwgMCwgOTk5M30sCiAgICAgey0yMDMsIDAsIC0yMDMsIDAsIDAsIDk5OTN9LAorICAgIHs0MjMxOSwgMCwgNDIzMTksIDAsIDAsIDk5OTN9LAorICAgIHs0MjMxNSwgMCwgNDIzMTUsIDAsIDAsIDk5OTN9LAogICAgIHstMjA3LCAwLCAtMjA3LCAwLCAwLCA5OTkzfSwKICAgICB7NDIyODAsIDAsIDQyMjgwLCAwLCAwLCA5OTkzfSwKICAgICB7NDIzMDgsIDAsIDQyMzA4LCAwLCAwLCA5OTkzfSwKICAgICB7LTIwOSwgMCwgLTIwOSwgMCwgMCwgOTk5M30sCiAgICAgey0yMTEsIDAsIC0yMTEsIDAsIDAsIDk5OTN9LAogICAgIHsxMDc0MywgMCwgMTA3NDMsIDAsIDAsIDk5OTN9LAorICAgIHs0MjMwNSwgMCwgNDIzMDUsIDAsIDAsIDk5OTN9LAogICAgIHsxMDc0OSwgMCwgMTA3NDksIDAsIDAsIDk5OTN9LAogICAgIHstMjEzLCAwLCAtMjEzLCAwLCAwLCA5OTkzfSwKICAgICB7LTIxNCwgMCwgLTIxNCwgMCwgMCwgOTk5M30sCiAgICAgezEwNzI3LCAwLCAxMDcyNywgMCwgMCwgOTk5M30sCiAgICAgey0yMTgsIDAsIC0yMTgsIDAsIDAsIDk5OTN9LAorICAgIHs0MjI4MiwgMCwgNDIyODIsIDAsIDAsIDk5OTN9LAogICAgIHstNjksIDAsIC02OSwgMCwgMCwgOTk5M30sCiAgICAgey0yMTcsIDAsIC0yMTcsIDAsIDAsIDk5OTN9LAogICAgIHstNzEsIDAsIC03MSwgMCwgMCwgOTk5M30sCiAgICAgey0yMTksIDAsIC0yMTksIDAsIDAsIDk5OTN9LAorICAgIHs0MjI1OCwgMCwgNDIyNTgsIDAsIDAsIDk5OTN9LAogICAgIHswLCAwLCAwLCAwLCAwLCAxNDA4OX0sCiAgICAgezAsIDAsIDAsIDAsIDAsIDU4ODl9LAogICAgIHsxNjc3NzI0NCwgMTc4MjU4MTgsIDE2Nzc3MjQ0LCAwLCAwLCAzMDIxNn0sCiAgICAgezAsIDAsIDAsIDAsIDAsIDEzMzIxfSwKKyAgICB7MCwgMTE2LCAwLCAwLCAwLCAxMDExM30sCiAgICAgezAsIDM4LCAwLCAwLCAwLCAxMDExM30sCiAgICAgezAsIDM3LCAwLCAwLCAwLCAxMDExM30sCiAgICAgezAsIDY0LCAwLCAwLCAwLCAxMDExM30sCkBAIC0xMjIsNiArMTI4LDcgQEAKICAgICB7MTY3NzcyNzYsIDE3ODI1ODUwLCAxNjc3NzI3NiwgMCwgMCwgMjYzNzd9LAogICAgIHsxNjc3NzI3OSwgMTc4MjU4NTMsIDE2Nzc3Mjc5LCAwLCAwLCAyNjM3N30sCiAgICAgezcsIDAsIDcsIDAsIDAsIDk5OTN9LAorICAgIHstMTE2LCAwLCAtMTE2LCAwLCAwLCA5OTkzfSwKICAgICB7MCwgLTYwLCAwLCAwLCAwLCAxMDExM30sCiAgICAgezE2Nzc3MjgyLCAxNzgyNTg1NiwgMTY3NzcyODIsIDAsIDAsIDI2Mzc3fSwKICAgICB7MCwgLTcsIDAsIDAsIDAsIDEwMTEzfSwKQEAgLTI4MCw2ICsyODcsMTEgQEAKICAgICB7MCwgLTM1MzMyLCAwLCAwLCAwLCAxMDExM30sCiAgICAgezAsIC00MjI4MCwgMCwgMCwgMCwgMTAxMTN9LAogICAgIHswLCAtNDIzMDgsIDAsIDAsIDAsIDEwMTEzfSwKKyAgICB7MCwgLTQyMzE5LCAwLCAwLCAwLCAxMDExM30sCisgICAgezAsIC00MjMxNSwgMCwgMCwgMCwgMTAxMTN9LAorICAgIHswLCAtNDIzMDUsIDAsIDAsIDAsIDEwMTEzfSwKKyAgICB7MCwgLTQyMjU4LCAwLCAwLCAwLCAxMDExM30sCisgICAgezAsIC00MjI4MiwgMCwgMCwgMCwgMTAxMTN9LAogICAgIHszMzU1NTAzOCwgMTg4NzQ5NzEsIDMzNTU1MDQwLCAwLCAwLCAyNjM3N30sCiAgICAgezMzNTU1MDQ1LCAxODg3NDk3OCwgMzM1NTUwNDcsIDAsIDAsIDI2Mzc3fSwKICAgICB7MzM1NTUwNTIsIDE4ODc0OTg1LCAzMzU1NTA1NCwgMCwgMCwgMjYzNzd9LApAQCAtMjk2LDYgKzMwOCw3IEBACiAgICAgezAsIDAsIDAsIDAsIDAsIDU2MzN9LAogICAgIHswLCA0MCwgMCwgMCwgMCwgMTAxMTN9LAogICAgIHstNDAsIDAsIC00MCwgMCwgMCwgOTk5M30sCisgICAgezAsIDAsIDAsIDAsIDAsIDkzNDR9LAogfTsKIAogLyogZXh0ZW5kZWQgY2FzZSBtYXBwaW5ncyAqLwpAQCAtMTAyOSw0NiArMTA0Miw1MyBAQAogICAgIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAKICAgICAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI4LCAxMjksIDEzMCwgCiAgICAgMTMxLCAxMzIsIDEzMywgMTM0LCAzNCwgMTM1LCAxMzYsIDEzNywgMTM4LCAxMzksIDE0MCwgMTQxLCAxNDIsIDE0MywgMTQ0LCAKLSAgICA3MSwgMTQ1LCAxNDYsIDE0NywgMTQ4LCAxNDksIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDE1MCwgNzEsIDE1MSwgMTUyLCAKLSAgICAxNTMsIDcxLCAxNTQsIDcxLCAxNTUsIDcxLCA3MSwgNzEsIDE1NiwgNzEsIDcxLCA3MSwgMTU3LCAxNTgsIDE1OSwgMTYwLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAxNjEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDE2MiwgNzEsIAotICAgIDE2MywgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDE2NCwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDM0LCAzNCwgMzQsIDM0LCAxNjUsIDcxLCA3MSwgNzEsIAotICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDE2NiwgMTY3LCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDE2OCwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAotICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAotICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAotICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAotICAgIDcxLCA3MSwgNjQsIDE2OSwgMTcwLCAxNzEsIDE3MiwgNzEsIDE3MywgNzEsIDE3NCwgMTc1LCAxNzYsIDE3NywgMTc4LCAKLSAgICAxNzksIDE4MCwgMTgxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAotICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAotICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDE4MiwgMTgzLCA3MSwgNzEsIDE4NCwgCi0gICAgMTg1LCAxODYsIDE4NywgMTg4LCA3MSwgMTg5LCAxOTAsIDE5MSwgMTkyLCAxOTMsIDE5NCwgMTk1LCAxOTYsIDY1LCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDE5NywgMTk4LCAKLSAgICAxOTksIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDg3LCAyMDAsIAotICAgIDM0LCAyMDEsIDIwMiwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgCisgICAgMTQ1LCAxNDYsIDE0NywgMTQ4LCAxNDksIDE1MCwgMTUxLCAxNDUsIDM0LCAzNCwgMTUyLCAxNDUsIDE1MywgMTU0LCAxNTUsIAorICAgIDE1NiwgMTU3LCAxNTgsIDE1OSwgMTYwLCAxNjEsIDE0NSwgMTQ1LCAxNDUsIDE2MiwgMTQ1LCAxNDUsIDE0NSwgMTYzLCAKKyAgICAxNjQsIDE2NSwgMTY2LCAxNjcsIDE2OCwgMTY5LCAxNDUsIDE0NSwgMTcwLCAxNDUsIDE3MSwgMTcyLCAxNzMsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE3NCwgMTQ1LCAxNDUsIDE0NSwgMTc1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAxNzYsIDE3NywgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMTc4LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDM0LCAzNCwgMzQsIDM0LCAxNzksIDE4MCwgMTgxLCAxODIsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE4MywgMTg0LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTg1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTg2LCAxODcsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCA2NCwgCisgICAgMTg4LCAxODksIDE5MCwgMTkxLCAxNDUsIDE5MiwgMTQ1LCAxOTMsIDE5NCwgMTk1LCAxOTYsIDE5NywgMTk4LCAxOTksIAorICAgIDIwMCwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDM0LCAyMDEsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMjAyLCAyMDMsIDE0NSwgMTQ1LCAyMDQsIDIwNSwgMjA2LCAyMDcsIDIwOCwgMTQ1LCAyMDksIDIxMCwgNjQsIAorICAgIDIxMSwgMjEyLCAyMTMsIDIxNCwgMjE1LCAyMTYsIDIxNywgMjE4LCAyMTksIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAyMjAsIDIyMSwgMjIyLCAzNCwgMzQsIDM0LCAKKyAgICAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCA4NywgMjIzLCAzNCwgMjI0LCAyMjUsIAogICAgIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIAotICAgIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDIwMywgMzQsIDM0LCAKLSAgICAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAyMDQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgCiAgICAgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgCi0gICAgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAyMDUsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIAorICAgIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDIyNiwgMzQsIDM0LCAzNCwgMzQsIDM0LCAKKyAgICAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAyMjcsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgCisgICAgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgCisgICAgMzQsIDM0LCAzNCwgMzQsIDM0LCAyMjgsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIAogICAgIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIAogICAgIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIAogICAgIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIAotICAgIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMjA2LCAzNCwgMzQsIDM0LCAKKyAgICAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDIyOSwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgCiAgICAgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgCiAgICAgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgCiAgICAgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgCkBAIC0xMDc2LDM1OCArMTA5Niw0NTggQEAKICAgICAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAKICAgICAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAKICAgICAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAKLSAgICAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMjA3LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgCisgICAgMzQsIDM0LCAzNCwgMzQsIDIzMCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIAogICAgIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIAotICAgIDM0LCAzNCwgMzQsIDM0LCAyMDgsIDM0LCAyMDksIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAzNCwgMjAzLCAzNCwgMzQsIDIwOSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgMjEwLCA3MSwgMjExLCAyMTIsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAotICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAotICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAotICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAotICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAotICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAotICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAotICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAotICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAotICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAotICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAotICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAotICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAotICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAotICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAotICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAotICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAotICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAotICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAotICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAotICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAotICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAotICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAotICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAotICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAotICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAotICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAotICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAotICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAxMjcsIDEyNywgMTI3LCAxMjcsIAorICAgIDM0LCAyMzEsIDM0LCAyMzIsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMzQsIDIyNiwgMzQsIDM0LCAyMzIsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDIzMywgMTQ1LCAyMzQsIDIzNSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgCisgICAgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIAorICAgIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKKyAgICAxNDUsIDE0NSwgMTQ1LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgCiAgICAgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIAogICAgIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAKICAgICAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgCkBAIC0xNDYzLDggKzE1ODMsOCBAQAogICAgIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAKICAgICAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgCiAgICAgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIAorICAgIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMjM2LCAxMjcsIDEyNywgMTI3LCAKICAgICAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgCi0gICAgMTI3LCAxMjcsIDEyNywgMjEzLCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIAogICAgIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAKICAgICAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgCiAgICAgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIApAQCAtMTUwMCw3ICsxNjIwLDcgQEAKICAgICAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgCiAgICAgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIAogICAgIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAKLSAgICAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMjEzLCAKKyAgICAxMjcsIDEyNywgMTI3LCAxMjcsIDIzNiwgCiB9OwogCiBzdGF0aWMgdW5zaWduZWQgc2hvcnQgaW5kZXgyW10gPSB7CkBAIC0xNTM1LDEwNiArMTY1NSwxMDcgQEAKICAgICAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCA2NCwgMjAsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAKICAgICAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDY1LCAKICAgICAzMCwgMzEsIDY2LCA2NywgNjgsIDY4LCAzMCwgMzEsIDY5LCA3MCwgNzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAKLSAgICAzMSwgMzAsIDMxLCA3MiwgNzMsIDc0LCA3NSwgNzYsIDIwLCA3NywgNzcsIDIwLCA3OCwgMjAsIDc5LCAyMCwgMjAsIDIwLCAKLSAgICAyMCwgNzcsIDIwLCAyMCwgODAsIDIwLCA4MSwgODIsIDIwLCA4MywgODQsIDIwLCA4NSwgMjAsIDIwLCAyMCwgODQsIDIwLCAKLSAgICA4NiwgODcsIDIwLCAyMCwgODgsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCA4OSwgMjAsIDIwLCA5MCwgMjAsIDIwLCAKLSAgICA5MCwgMjAsIDIwLCAyMCwgMjAsIDkwLCA5MSwgOTIsIDkyLCA5MywgMjAsIDIwLCAyMCwgMjAsIDIwLCA5NCwgMjAsIDU1LCAKLSAgICAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAKLSAgICAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCA5NSwgOTUsIDk1LCA5NSwgOTUsIDk1LCA5NSwgOTUsIDk1LCAKLSAgICA5NiwgOTYsIDk2LCA5NiwgOTYsIDk2LCA5NiwgOTUsIDk1LCA2LCA2LCA2LCA2LCA5NiwgOTYsIDk2LCA5NiwgOTYsIDk2LCAKLSAgICA5NiwgOTYsIDk2LCA5NiwgOTYsIDk2LCA2LCA2LCA2LCA2LCA2LCA2LCA2LCA2LCA2LCA2LCA2LCA2LCA2LCA2LCA5NSwgOTUsIAotICAgIDk1LCA5NSwgOTUsIDYsIDYsIDYsIDYsIDYsIDYsIDYsIDk2LCA2LCA5NiwgNiwgNiwgNiwgNiwgNiwgNiwgNiwgNiwgNiwgNiwgCi0gICAgNiwgNiwgNiwgNiwgNiwgNiwgNiwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIAorICAgIDMxLCAzMCwgMzEsIDcyLCA3MywgNzQsIDc1LCA3NiwgMjAsIDc3LCA3NywgMjAsIDc4LCAyMCwgNzksIDgwLCAyMCwgMjAsIAorICAgIDIwLCA3NywgODEsIDIwLCA4MiwgMjAsIDgzLCA4NCwgMjAsIDg1LCA4NiwgMjAsIDg3LCA4OCwgMjAsIDIwLCA4NiwgMjAsIAorICAgIDg5LCA5MCwgMjAsIDIwLCA5MSwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDkyLCAyMCwgMjAsIDkzLCAyMCwgMjAsIAorICAgIDkzLCAyMCwgMjAsIDIwLCA5NCwgOTMsIDk1LCA5NiwgOTYsIDk3LCAyMCwgMjAsIDIwLCAyMCwgMjAsIDk4LCAyMCwgNTUsIAorICAgIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDk5LCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIAorICAgIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgCisgICAgMTAwLCAxMDAsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAwLCAxMDAsIDYsIDYsIDYsIDYsIDEwMSwgCisgICAgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDYsIDYsIDYsIDYsIDYsIDYsIAorICAgIDYsIDYsIDYsIDYsIDYsIDYsIDYsIDYsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCA2LCA2LCA2LCA2LCA2LCA2LCA2LCAKKyAgICAxMDEsIDYsIDEwMSwgNiwgNiwgNiwgNiwgNiwgNiwgNiwgNiwgNiwgNiwgNiwgNiwgNiwgNiwgNiwgNiwgNiwgMjUsIDI1LCAKICAgICAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAKICAgICAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAKICAgICAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAKLSAgICAyNSwgMjUsIDk3LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAKKyAgICAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMTAyLCAyNSwgMjUsIDI1LCAyNSwgCiAgICAgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgCi0gICAgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMzAsIDMxLCAzMCwgMzEsIDk2LCA2LCAzMCwgMzEsIDAsIDAsIAotICAgIDk4LCA1MCwgNTAsIDUwLCA1LCAwLCAwLCAwLCAwLCAwLCA2LCA2LCA5OSwgMjUsIDEwMCwgMTAwLCAxMDAsIDAsIDEwMSwgMCwgCi0gICAgMTAyLCAxMDIsIDEwMywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAKLSAgICAxNywgMTcsIDE3LCAwLCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxMDQsIDEwNSwgMTA1LCAxMDUsIAotICAgIDEwNiwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAKLSAgICAxMDcsIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDEwOCwgMTA5LCAxMDksIDExMCwgMTExLCAxMTIsIAotICAgIDExMywgMTEzLCAxMTMsIDExNCwgMTE1LCAxMTYsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgCi0gICAgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDExNywgMTE4LCAxMTksIDIwLCAKLSAgICAxMjAsIDEyMSwgNSwgMzAsIDMxLCAxMjIsIDMwLCAzMSwgMjAsIDY0LCA2NCwgNjQsIDEyMywgMTIzLCAxMjMsIDEyMywgCi0gICAgMTIzLCAxMjMsIDEyMywgMTIzLCAxMjMsIDEyMywgMTIzLCAxMjMsIDEyMywgMTIzLCAxMjMsIDEyMywgMTcsIDE3LCAxNywgCisgICAgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgCisgICAgMjUsIDI1LCAzMCwgMzEsIDMwLCAzMSwgMTAxLCA2LCAzMCwgMzEsIDAsIDAsIDEwMywgNTAsIDUwLCA1MCwgNSwgMTA0LCAwLCAKKyAgICAwLCAwLCAwLCA2LCA2LCAxMDUsIDI1LCAxMDYsIDEwNiwgMTA2LCAwLCAxMDcsIDAsIDEwOCwgMTA4LCAxMDksIDE3LCAxNywgCisgICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMCwgMTcsIDE3LCAKKyAgICAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTEwLCAxMTEsIDExMSwgMTExLCAxMTIsIDE5LCAxOSwgMTksIDE5LCAxOSwgCisgICAgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTEzLCAxOSwgMTksIDE5LCAxOSwgMTksIAorICAgIDE5LCAxOSwgMTksIDE5LCAxMTQsIDExNSwgMTE1LCAxMTYsIDExNywgMTE4LCAxMTksIDExOSwgMTE5LCAxMjAsIDEyMSwgCisgICAgMTIyLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIAorICAgIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAxMjMsIDEyNCwgMTI1LCAxMjYsIDEyNywgMTI4LCA1LCAzMCwgMzEsIDEyOSwgCisgICAgMzAsIDMxLCAyMCwgNjQsIDY0LCA2NCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAKKyAgICAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAogICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIAotICAgIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIAotICAgIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxMjQsIDEyNCwgMTI0LCAxMjQsIDEyNCwgMTI0LCAxMjQsIDEyNCwgMTI0LCAKLSAgICAxMjQsIDEyNCwgMTI0LCAxMjQsIDEyNCwgMTI0LCAxMjQsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIAotICAgIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIAotICAgIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCA1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDYsIDYsIDMwLCAzMSwgMzAsIDMxLCAKKyAgICAxNywgMTcsIDE3LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAKKyAgICAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDEzMSwgCisgICAgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIAorICAgIDEzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAKKyAgICAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDUsIAorICAgIDI1LCAyNSwgMjUsIDI1LCAyNSwgNiwgNiwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgCiAgICAgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgCiAgICAgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgCi0gICAgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAxMjUsIDMwLCAzMSwgMzAsIAotICAgIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMTI2LCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAKKyAgICAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAxMzIsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgCisgICAgMzEsIDMwLCAzMSwgMTMzLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIAogICAgIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIAogICAgIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIAogICAgIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIAogICAgIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIAotICAgIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMjcsIAotICAgIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAKLSAgICAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgCi0gICAgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMCwgMCwgOTYsIDUsIDUsIDUsIDUsIDUsIDUsIAotICAgIDAsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAKLSAgICAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgCi0gICAgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjksIDAsIDUsIDUsIDAsIDAsIDAsIAotICAgIDAsIDUsIDAsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAKKyAgICAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMCwgMTM0LCAxMzQsIDEzNCwgMTM0LCAxMzQsIDEzNCwgCisgICAgMTM0LCAxMzQsIDEzNCwgMTM0LCAxMzQsIDEzNCwgMTM0LCAxMzQsIDEzNCwgMTM0LCAxMzQsIDEzNCwgMTM0LCAxMzQsIAorICAgIDEzNCwgMTM0LCAxMzQsIDEzNCwgMTM0LCAxMzQsIDEzNCwgMTM0LCAxMzQsIDEzNCwgMTM0LCAxMzQsIDEzNCwgMTM0LCAKKyAgICAxMzQsIDEzNCwgMTM0LCAxMzQsIDAsIDAsIDEwMSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgMTM1LCAxMzUsIDEzNSwgMTM1LCAKKyAgICAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgCisgICAgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIAorICAgIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNiwgMCwgNSwgNSwgMCwgMCwgNSwgNSwgNSwgMCwgMjUsIDI1LCAyNSwgCiAgICAgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgCi0gICAgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCA1LCAyNSwgNSwgMjUsIDI1LCA1LCAyNSwgMjUsIAotICAgIDUsIDI1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCAKLSAgICAwLCAwLCAwLCA1NSwgNTUsIDU1LCA1LCA2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyMSwgMjEsIDIxLCAKLSAgICAyMSwgMjEsIDAsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgCi0gICAgMjUsIDI1LCAyNSwgNSwgMjEsIDAsIDUsIDUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgOTYsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNSwgMjUsIDI1LCAyNSwgCi0gICAgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCA3LCA4LCAKLSAgICA5LCAxMCwgMTEsIDEyLCAxMywgMTQsIDE1LCAxNiwgNSwgNSwgNSwgNSwgNTUsIDU1LCAyNSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNSwgNTUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyMSwgNSwgMjUsIDI1LCAyNSwgCi0gICAgMjUsIDI1LCAyNSwgOTYsIDk2LCAyNSwgMjUsIDUsIDI1LCAyNSwgMjUsIDI1LCA1NSwgNTUsIDcsIDgsIDksIDEwLCAxMSwgCi0gICAgMTIsIDEzLCAxNCwgMTUsIDE2LCA1NSwgNTUsIDU1LCA1LCA1LCA1NSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgMCwgMjEsIDU1LCAyNSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAKLSAgICAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIAorICAgIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDUsIDI1LCA1LCAyNSwgMjUsIDUsIDI1LCAyNSwgNSwgMjUsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDAsIDAsIDAsIDU1LCA1NSwgCisgICAgNTUsIDUsIDYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDUsIDUsIAorICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgNSwgCisgICAgMjEsIDAsIDUsIDUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMTAxLCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAKLSAgICAyNSwgMjUsIDI1LCA1NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNywgOCwgOSwgMTAsIAotICAgIDExLCAxMiwgMTMsIDE0LCAxNSwgMTYsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCA3LCA4LCA5LCAxMCwgMTEsIDEyLCAKKyAgICAxMywgMTQsIDE1LCAxNiwgNSwgNSwgNSwgNSwgNTUsIDU1LCAyNSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCA5NiwgOTYsIDUsIDUsIDUsIDUsIDk2LCAKLSAgICAwLCAwLCAwLCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjUsIDI1LCAyNSwgMjUsIDk2LCAyNSwgMjUsIDI1LCAyNSwgMjUsIAotICAgIDI1LCAyNSwgMjUsIDI1LCA5NiwgMjUsIDI1LCAyNSwgOTYsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMCwgMCwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDUsIDU1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjEsIDUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIAorICAgIDEwMSwgMTAxLCAyNSwgMjUsIDUsIDI1LCAyNSwgMjUsIDI1LCA1NSwgNTUsIDcsIDgsIDksIDEwLCAxMSwgMTIsIDEzLCAxNCwgCisgICAgMTUsIDE2LCA1NSwgNTUsIDU1LCA1LCA1LCA1NSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgMCwgMjEsIDU1LCAyNSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjUsIDI1LCAKLSAgICAyNSwgMCwgMCwgNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTUsIDAsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjUsIDI1LCAyNSwgCiAgICAgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgCi0gICAgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMCwgMjUsIDI1LCAyNSwgMTgsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjUsIDE4LCAyNSwgNTUsIDE4LCAxOCwgMTgsIAotICAgIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMTgsIDE4LCAxOCwgMTgsIDI1LCAxOCwgMTgsIDU1LCAyNSwgMjUsIAotICAgIDI1LCAyNSwgMjUsIDI1LCAyNSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDI1LCAyNSwgNSwgNSwgCi0gICAgNywgOCwgOSwgMTAsIDExLCAxMiwgMTMsIDE0LCAxNSwgMTYsIDUsIDk2LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgMjUsIDE4LCAxOCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIAorICAgIDU1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA3LCA4LCA5LCAxMCwgMTEsIDEyLCAxMywgCisgICAgMTQsIDE1LCAxNiwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMTAxLCAxMDEsIDUsIDUsIDUsIDUsIDEwMSwgMCwgMCwgMCwgCisgICAgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDI1LCAyNSwgMjUsIDI1LCAxMDEsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgCisgICAgMjUsIDEwMSwgMjUsIDI1LCAyNSwgMTAxLCAyNSwgMjUsIDI1LCAyNSwgMjUsIDAsIDAsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAorICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNSwgMjUsIDI1LCAwLCAwLCAKKyAgICA1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjUsIDI1LCAyNSwgMjUsIAorICAgIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIAorICAgIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDE4LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNSwgMTgsIDI1LCA1NSwgMTgsIDE4LCAxOCwgMjUsIAorICAgIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAxOCwgMTgsIDE4LCAxOCwgMjUsIDE4LCAxOCwgNTUsIDI1LCAyNSwgMjUsIAorICAgIDI1LCAyNSwgMjUsIDI1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjUsIDI1LCA1LCA1LCA3LCAKKyAgICA4LCA5LCAxMCwgMTEsIDEyLCAxMywgMTQsIDE1LCAxNiwgNSwgMTAxLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNSwgMTgsIDE4LCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDAsIDAsIDU1LCA1NSwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAKICAgICA1NSwgMCwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDI1LCA1NSwgMTgsIDE4LCAxOCwgMjUsIDI1LCAyNSwgMjUsIDAsIApAQCAtMTY2NiwyMCArMTc4NywyMCBAQAogICAgIDE4LCAxOCwgMjUsIDE4LCAxOCwgMCwgMCwgMCwgMTgsIDE4LCAxOCwgMCwgMTgsIDE4LCAxOCwgMjUsIDAsIDAsIDU1LCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAxOCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNywgOCwgOSwgMTAsIAogICAgIDExLCAxMiwgMTMsIDE0LCAxNSwgMTYsIDI3LCAyNywgMjcsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDE4LCAxOCwgMTgsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgNTUsIDU1LCA1NSwgMCwgCisgICAgMCwgMjUsIDE4LCAxOCwgMTgsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgNTUsIDU1LCA1NSwgMCwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCAwLCAwLCAwLCA1NSwgMjUsIDI1LCAyNSwgMTgsIDE4LCAxOCwgMTgsIDAsIDI1LCAyNSwgMjUsIDAsIAotICAgIDI1LCAyNSwgMjUsIDI1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNSwgMjUsIDAsIDU1LCA1NSwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgNTUsIDU1LCAyNSwgMjUsIDAsIDAsIDcsIDgsIDksIDEwLCAxMSwgMTIsIDEzLCAxNCwgMTUsIDE2LCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgNSwgMCwgMCwgMTgsIDE4LCAwLCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDAsIDU1LCA1NSwgNTUsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgMjUsIDU1LCAxOCwgMjUsIDE4LCAKLSAgICAxOCwgMTgsIDE4LCAxOCwgMCwgMjUsIDE4LCAxOCwgMCwgMTgsIDE4LCAyNSwgMjUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDE4LCAxOCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTUsIDAsIDU1LCA1NSwgMjUsIDI1LCAwLCAwLCA3LCA4LCA5LCAxMCwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgMCwgNTUsIDI1LCAyNSwgMjUsIDE4LCAxOCwgMTgsIDE4LCAwLCAyNSwgMjUsIDI1LCAKKyAgICAwLCAyNSwgMjUsIDI1LCAyNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjUsIDI1LCAwLCA1NSwgNTUsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDU1LCA1NSwgMjUsIDI1LCAwLCAwLCA3LCA4LCA5LCAxMCwgMTEsIDEyLCAxMywgMTQsIDE1LCAxNiwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDUsIDAsIDI1LCAxOCwgMTgsIDAsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgNTUsIDU1LCA1NSwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCAyNSwgNTUsIDE4LCAyNSwgCisgICAgMTgsIDE4LCAxOCwgMTgsIDE4LCAwLCAyNSwgMTgsIDE4LCAwLCAxOCwgMTgsIDI1LCAyNSwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMTgsIDE4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NSwgMCwgNTUsIDU1LCAyNSwgMjUsIDAsIDAsIDcsIDgsIDksIDEwLCAKICAgICAxMSwgMTIsIDEzLCAxNCwgMTUsIDE2LCAwLCA1NSwgNTUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDE4LCAxOCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCA1NSwgNTUsIDU1LCAwLCA1NSwgCisgICAgMCwgMjUsIDE4LCAxOCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCA1NSwgNTUsIDU1LCAwLCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDU1LCAxOCwgMTgsIDE4LCAyNSwgMjUsIDI1LCAyNSwgMCwgMTgsIDE4LCAxOCwgMCwgCkBAIC0xNjkwLDc5ICsxODExLDc5IEBACiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgNTUsIDAsIAogICAgIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCAwLCAyNSwgMCwgMCwgMCwgMCwgMTgsIDE4LCAxOCwgMjUsIAotICAgIDI1LCAyNSwgMCwgMjUsIDAsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTgsIDE4LCA1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDI1LCAyNSwgMCwgMjUsIDAsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMCwgMCwgMCwgMCwgMCwgMCwgNywgOCwgCisgICAgOSwgMTAsIDExLCAxMiwgMTMsIDE0LCAxNSwgMTYsIDAsIDAsIDE4LCAxOCwgNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDI1LCA1NSwgMTMwLCAyNSwgMjUsIAotICAgIDI1LCAyNSwgMjUsIDI1LCAyNSwgMCwgMCwgMCwgMCwgNSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgOTYsIDI1LCAyNSwgCi0gICAgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgNSwgNywgOCwgOSwgMTAsIDExLCAxMiwgMTMsIDE0LCAxNSwgMTYsIDUsIDUsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU1LCA1NSwgMCwgNTUsIDAsIDAsIDU1LCA1NSwgMCwgNTUsIAotICAgIDAsIDAsIDU1LCAwLCAwLCAwLCAwLCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDAsIDU1LCA1NSwgNTUsIDAsIDU1LCAwLCA1NSwgMCwgMCwgNTUsIDU1LCAwLCA1NSwgNTUsIDU1LCA1NSwgMjUsIDU1LCAKLSAgICAxMzAsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDAsIDI1LCAyNSwgNTUsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgCi0gICAgOTYsIDAsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDAsIDAsIDcsIDgsIDksIDEwLCAxMSwgMTIsIDEzLCAxNCwgMTUsIDE2LCAKLSAgICAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAotICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDI1LCAyNSwgNSwgNSwgNSwgNSwgNSwgNSwgNywgCi0gICAgOCwgOSwgMTAsIDExLCAxMiwgMTMsIDE0LCAxNSwgMTYsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAKLSAgICA1LCAyNSwgNSwgMjUsIDUsIDI1LCA1LCA1LCA1LCA1LCAxOCwgMTgsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNSwgNTUsIDEzNywgCisgICAgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDAsIDAsIDAsIDAsIDUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDEwMSwgCisgICAgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCA1LCA3LCA4LCA5LCAxMCwgMTEsIDEyLCAxMywgMTQsIDE1LCAxNiwgCisgICAgNSwgNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTUsIDU1LCAwLCA1NSwgMCwgMCwgNTUsIDU1LCAKKyAgICAwLCA1NSwgMCwgMCwgNTUsIDAsIDAsIDAsIDAsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgMCwgNTUsIDU1LCA1NSwgMCwgNTUsIDAsIDU1LCAwLCAwLCA1NSwgNTUsIDAsIDU1LCA1NSwgNTUsIDU1LCAyNSwgCisgICAgNTUsIDEzNywgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMCwgMjUsIDI1LCA1NSwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICAwLCAxMDEsIDAsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDAsIDAsIDcsIDgsIDksIDEwLCAxMSwgMTIsIDEzLCAxNCwgMTUsIAorICAgIDE2LCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAorICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDI1LCAyNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNywgOCwgOSwgMTAsIDExLCAxMiwgMTMsIDE0LCAxNSwgMTYsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIAorICAgIDI3LCA1LCAyNSwgNSwgMjUsIDUsIDI1LCA1LCA1LCA1LCA1LCAxOCwgMTgsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCAwLCAwLCAwLCAwLCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIAotICAgIDE4LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDUsIDI1LCAyNSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNSwgMjUsIDI1LCAyNSwgCi0gICAgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDAsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAKKyAgICA1NSwgNTUsIDAsIDAsIDAsIDAsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAKKyAgICAyNSwgMTgsIDI1LCAyNSwgMjUsIDI1LCAyNSwgNSwgMjUsIDI1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDI1LCAyNSwgMjUsIAorICAgIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMCwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgCiAgICAgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgCi0gICAgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAwLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAyNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMjUsIDUsIDUsIAorICAgIDUsIDUsIDUsIDUsIDAsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAxOCwgMTgsIDI1LCAyNSwgMjUsIDI1LCAKKyAgICAxOCwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMTgsIDI1LCAyNSwgMTgsIDE4LCAyNSwgMjUsIDU1LCA3LCA4LCA5LCAxMCwgCisgICAgMTEsIDEyLCAxMywgMTQsIDE1LCAxNiwgNSwgNSwgNSwgNSwgNSwgNSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMTgsIDE4LCAKKyAgICAyNSwgMjUsIDU1LCA1NSwgNTUsIDU1LCAyNSwgMjUsIDI1LCA1NSwgMTgsIDE4LCAxOCwgNTUsIDU1LCAxOCwgMTgsIDE4LCAKKyAgICAxOCwgMTgsIDE4LCAxOCwgNTUsIDU1LCA1NSwgMjUsIDI1LCAyNSwgMjUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNSwgMTgsIDE4LCAyNSwgMjUsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDI1LCAKKyAgICA1NSwgMTgsIDcsIDgsIDksIDEwLCAxMSwgMTIsIDEzLCAxNCwgMTUsIDE2LCAxOCwgMTgsIDE4LCAyNSwgNSwgNSwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDAsIDEzOCwgMCwgMCwgMCwgMCwgMCwgMTM4LCAKKyAgICAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNSwgMTAxLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCA1NSwgCisgICAgNTUsIDU1LCA1NSwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDU1LCAwLCA1NSwgNTUsIDU1LCA1NSwgCisgICAgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCAwLCA1NSwgMCwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDU1LCA1NSwgNTUsIDU1LCAwLCAKKyAgICAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgMjUsIDI1LCAyNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMTM5LCAxNDAsIDE0MSwgMTQyLCAxNDMsIDE0NCwgMTQ1LCAxNDYsIDE0NywgCisgICAgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAwLCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDE4LCAxOCwgMjUsIDI1LCAyNSwgMjUsIDE4LCAKLSAgICAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAxOCwgMjUsIDI1LCAxOCwgMTgsIDI1LCAyNSwgNTUsIDcsIDgsIDksIDEwLCAxMSwgCi0gICAgMTIsIDEzLCAxNCwgMTUsIDE2LCA1LCA1LCA1LCA1LCA1LCA1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAxOCwgMTgsIDI1LCAKLSAgICAyNSwgNTUsIDU1LCA1NSwgNTUsIDI1LCAyNSwgMjUsIDU1LCAxOCwgMTgsIDE4LCA1NSwgNTUsIDE4LCAxOCwgMTgsIDE4LCAKLSAgICAxOCwgMTgsIDE4LCA1NSwgNTUsIDU1LCAyNSwgMjUsIDI1LCAyNSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDI1LCAxOCwgMTgsIDI1LCAyNSwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMjUsIDU1LCAKLSAgICAxOCwgNywgOCwgOSwgMTAsIDExLCAxMiwgMTMsIDE0LCAxNSwgMTYsIDE4LCAxOCwgMTgsIDI1LCA1LCA1LCAxMzEsIDEzMSwgCi0gICAgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIAotICAgIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAKLSAgICAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMCwgMTMxLCAwLCAwLCAwLCAwLCAwLCAxMzEsIDAsIDAsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1LCA5NiwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCA1NSwgMCwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgMCwgNTUsIDAsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDI1LCAyNSwgMjUsIDUsIAotICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDEzMiwgMTMzLCAxMzQsIDEzNSwgMTM2LCAxMzcsIDEzOCwgMTM5LCAxNDAsIDI3LCAKLSAgICAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMCwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCAKQEAgLTE3ODYsMjggKzE5MDcsMjggQEAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNSwgNSwgNSwgMTQxLCAxNDEsIDE0MSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDAsIDU1LCA1NSwgNTUsIDU1LCAyNSwgMjUsIDI1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNSwgCi0gICAgMjUsIDI1LCA1LCA1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNSwgMjUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCA1NSwgCi0gICAgNTUsIDU1LCAwLCAyNSwgMjUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNSwgNSwgNSwgMTQ4LCAxNDgsIDE0OCwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgMCwgNTUsIDU1LCA1NSwgNTUsIDI1LCAyNSwgMjUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDI1LCAyNSwgMjUsIDUsIDUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDI1LCAyNSwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIAorICAgIDU1LCA1NSwgNTUsIDAsIDI1LCAyNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjUsIDI1LCAxOCwgMjUsIDI1LCAyNSwgCi0gICAgMjUsIDI1LCAyNSwgMjUsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMjUsIDE4LCAxOCwgMjUsIDI1LCAyNSwgCi0gICAgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCA1LCA1LCA1LCA5NiwgNSwgNSwgNSwgNSwgNTUsIDI1LCAwLCAwLCA3LCAKLSAgICA4LCA5LCAxMCwgMTEsIDEyLCAxMywgMTQsIDE1LCAxNiwgMCwgMCwgMCwgMCwgMCwgMCwgMjcsIDI3LCAyNywgMjcsIDI3LCAKLSAgICAyNywgMjcsIDI3LCAyNywgMjcsIDAsIDAsIDAsIDAsIDAsIDAsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAotICAgIDI1LCAyNSwgMjUsIDIxLCAwLCA3LCA4LCA5LCAxMCwgMTEsIDEyLCAxMywgMTQsIDE1LCAxNiwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDI1LCAyNSwgMTgsIDI1LCAyNSwgCisgICAgMjUsIDI1LCAyNSwgMjUsIDI1LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDI1LCAxOCwgMTgsIDI1LCAyNSwgCisgICAgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgNSwgNSwgNSwgMTAxLCA1LCA1LCA1LCA1LCA1NSwgMjUsIDAsIAorICAgIDAsIDcsIDgsIDksIDEwLCAxMSwgMTIsIDEzLCAxNCwgMTUsIDE2LCAwLCAwLCAwLCAwLCAwLCAwLCAyNywgMjcsIDI3LCAyNywgCisgICAgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMCwgMCwgMCwgMCwgMCwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgMjUsIDI1LCAyNSwgMjEsIDAsIDcsIDgsIDksIDEwLCAxMSwgMTIsIDEzLCAxNCwgMTUsIDE2LCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgOTYsIAorICAgIDEwMSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjUsIDU1LCAwLCAwLCAwLCAwLCAwLCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKQEAgLTE4MTUsNTkwICsxOTM2LDI2NyBAQAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDAsIDI1LCAyNSwgMjUsIAotICAgIDE4LCAxOCwgMTgsIDE4LCAyNSwgMjUsIDE4LCAxOCwgMTgsIDAsIDAsIDAsIDAsIDE4LCAxOCwgMjUsIDE4LCAxOCwgMTgsIAotICAgIDE4LCAxOCwgMTgsIDI1LCAyNSwgMjUsIDAsIDAsIDAsIDAsIDUsIDAsIDAsIDAsIDUsIDUsIDcsIDgsIDksIDEwLCAxMSwgCi0gICAgMTIsIDEzLCAxNCwgMTUsIDE2LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgMjUsIDI1LCAKKyAgICAyNSwgMTgsIDE4LCAxOCwgMTgsIDI1LCAyNSwgMTgsIDE4LCAxOCwgMCwgMCwgMCwgMCwgMTgsIDE4LCAyNSwgMTgsIDE4LCAKKyAgICAxOCwgMTgsIDE4LCAxOCwgMjUsIDI1LCAyNSwgMCwgMCwgMCwgMCwgNSwgMCwgMCwgMCwgNSwgNSwgNywgOCwgOSwgMTAsIAorICAgIDExLCAxMiwgMTMsIDE0LCAxNSwgMTYsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgMCwgMCwgMCwgMCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgCi0gICAgMTgsIDE4LCAxOCwgMTgsIDE4LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMTgsIDE4LCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICA3LCA4LCA5LCAxMCwgMTEsIDEyLCAxMywgMTQsIDE1LCAxNiwgMTMyLCAwLCAwLCAwLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDAsIDAsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAKKyAgICAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDE4LCAxOCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgNywgOCwgOSwgMTAsIDExLCAxMiwgMTMsIDE0LCAxNSwgMTYsIDEzOSwgMCwgMCwgMCwgNSwgNSwgNSwgNSwgCiAgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNSwgMjUsIDE4LCAxOCwgMjUsIDAsIDAsIDUsIDUsIDU1LCA1NSwgNTUsIAorICAgIDUsIDUsIDUsIDUsIDUsIDUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjUsIDI1LCAxOCwgMTgsIDI1LCAwLCAwLCA1LCA1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAxOCwgMjUsIDE4LCAyNSwgCi0gICAgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMCwgMjUsIDE4LCAyNSwgMTgsIDE4LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAKLSAgICAyNSwgMjUsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAKLSAgICAwLCAwLCAyNSwgNywgOCwgOSwgMTAsIDExLCAxMiwgMTMsIDE0LCAxNSwgMTYsIDAsIDAsIDAsIDAsIDAsIDAsIDcsIDgsIDksIAotICAgIDEwLCAxMSwgMTIsIDEzLCAxNCwgMTUsIDE2LCAwLCAwLCAwLCAwLCAwLCAwLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA5NiwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDE4LCAyNSwgCisgICAgMTgsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAwLCAyNSwgMTgsIDI1LCAxOCwgMTgsIDI1LCAyNSwgMjUsIDI1LCAKKyAgICAyNSwgMjUsIDI1LCAyNSwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAKKyAgICAyNSwgMjUsIDAsIDAsIDI1LCA3LCA4LCA5LCAxMCwgMTEsIDEyLCAxMywgMTQsIDE1LCAxNiwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgNywgOCwgOSwgMTAsIDExLCAxMiwgMTMsIDE0LCAxNSwgMTYsIDAsIDAsIDAsIDAsIDAsIDAsIDUsIDUsIDUsIDUsIDUsIDUsIAorICAgIDUsIDEwMSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgMCwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIAorICAgIDI1LCAyNSwgMjUsIDI1LCA2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNSwgMjUsIDI1LCAyNSwgMTgsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjUsIDE4LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDE4LCAyNSwgCi0gICAgMTgsIDE4LCAxOCwgMTgsIDE4LCAyNSwgMTgsIDE4LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgMCwgMCwgCi0gICAgNywgOCwgOSwgMTAsIDExLCAxMiwgMTMsIDE0LCAxNSwgMTYsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAotICAgIDUsIDUsIDUsIDUsIDUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAotICAgIDUsIDUsIDAsIDAsIDAsIDI1LCAyNSwgMTgsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDE4LCAyNSwgMjUsIDI1LCAyNSwgMTgsIDE4LCAyNSwgMjUsIDE4LCAyNSwgMTgsIDE4LCA1NSwgNTUsIDcsIDgsIDksIAotICAgIDEwLCAxMSwgMTIsIDEzLCAxNCwgMTUsIDE2LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI1LCAKKyAgICAyNSwgMjUsIDI1LCAxOCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNSwgMTgsIDI1LCAKLSAgICAyNSwgMTgsIDE4LCAxOCwgMjUsIDE4LCAyNSwgMjUsIDI1LCAxOCwgMTgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDUsIDUsIAotICAgIDUsIDUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgMjUsIDI1LCAyNSwgMjUsIDE4LCAyNSwgMTgsIDE4LCAxOCwgMTgsIDE4LCAyNSwgMTgsIDE4LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgMCwgMCwgMCwgMCwgNywgOCwgOSwgMTAsIDExLCAxMiwgMTMsIDE0LCAxNSwgMTYsIDUsIDUsIDUsIDUsIAorICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgCisgICAgMjUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDAsIDAsIDAsIDI1LCAyNSwgMTgsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAxOCwgCi0gICAgMTgsIDI1LCAyNSwgMCwgMCwgMCwgNSwgNSwgNSwgNSwgNSwgNywgOCwgOSwgMTAsIDExLCAxMiwgMTMsIDE0LCAxNSwgMTYsIAotICAgIDAsIDAsIDAsIDU1LCA1NSwgNTUsIDcsIDgsIDksIDEwLCAxMSwgMTIsIDEzLCAxNCwgMTUsIDE2LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDE4LCAyNSwgMjUsIDI1LCAyNSwgMTgsIDE4LCAyNSwgMjUsIDE4LCAyNSwgCisgICAgMjUsIDI1LCA1NSwgNTUsIDcsIDgsIDksIDEwLCAxMSwgMTIsIDEzLCAxNCwgMTUsIDE2LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgOTYsIDk2LCA5NiwgOTYsIDk2LCA5NiwgNSwgNSwgMCwgMCwgMCwgMCwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgMjUsIDE4LCAyNSwgMjUsIDE4LCAxOCwgMTgsIDI1LCAxOCwgMjUsIDI1LCAyNSwgMTgsIDE4LCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCA1LCA1LCA1LCA1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDI1LCAyNSwgMjUsIAorICAgIDI1LCAyNSwgMjUsIDI1LCAyNSwgMTgsIDE4LCAyNSwgMjUsIDAsIDAsIDAsIDUsIDUsIDUsIDUsIDUsIDcsIDgsIDksIDEwLCAKKyAgICAxMSwgMTIsIDEzLCAxNCwgMTUsIDE2LCAwLCAwLCAwLCA1NSwgNTUsIDU1LCA3LCA4LCA5LCAxMCwgMTEsIDEyLCAxMywgMTQsIAorICAgIDE1LCAxNiwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMTAxLCAxMDEsIDEwMSwgCisgICAgMTAxLCAxMDEsIDEwMSwgNSwgNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMjUsIDI1LCAyNSwgNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAKLSAgICAyNSwgMjUsIDE4LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgNTUsIDU1LCA1NSwgNTUsIDI1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgMTgsIDE4LCAyNSwgNTUsIDU1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDUsIAorICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI1LCAyNSwgMjUsIDUsIDI1LCAyNSwgMjUsIAorICAgIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAxOCwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCAyNSwgNTUsIDU1LCA1NSwgNTUsIDE4LCAxOCwgMjUsIDU1LCA1NSwgMCwgMjUsIDI1LCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAKICAgICAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAKLSAgICAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAKLSAgICAyMCwgMjAsIDIwLCA5NSwgOTUsIDk1LCA5NSwgOTUsIDk1LCA5NSwgOTUsIDk1LCA5NSwgOTUsIDk1LCA5NSwgOTUsIDk1LCAKLSAgICA5NSwgOTUsIDk1LCA5NSwgOTUsIDk1LCA5NSwgOTUsIDk1LCA5NSwgOTUsIDk1LCA5NSwgOTUsIDk1LCA5NSwgOTUsIDk1LCAKLSAgICA5NSwgOTUsIDk1LCA5NSwgOTUsIDk1LCA5NSwgOTUsIDk1LCA5NSwgOTUsIDk1LCA5NSwgOTUsIDk1LCA5NSwgOTUsIDk1LCAKLSAgICA5NSwgOTUsIDk1LCA5NSwgOTUsIDk1LCA5NSwgOTUsIDk1LCA5NSwgOTUsIDk1LCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAKLSAgICAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgOTUsIDE0MiwgMjAsIDIwLCAyMCwgMTQzLCAyMCwgMjAsIDIwLCAyMCwgMjAsIAotICAgIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIAotICAgIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDk1LCA5NSwgOTUsIDk1LCA5NSwgOTUsIDk1LCA5NSwgOTUsIDk1LCA5NSwgOTUsIAotICAgIDk1LCA5NSwgOTUsIDk1LCA5NSwgOTUsIDk1LCA5NSwgOTUsIDk1LCA5NSwgOTUsIDk1LCA5NSwgOTUsIDk1LCA5NSwgOTUsIAotICAgIDk1LCA5NSwgOTUsIDk1LCA5NSwgOTUsIDk1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIAorICAgIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgCisgICAgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIAorICAgIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAKKyAgICAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgCisgICAgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIAorICAgIDEwMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDEwMCwgMTQ5LCAyMCwgCisgICAgMjAsIDIwLCAxNTAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIAorICAgIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMTAwLCAxMDAsIDEwMCwgCisgICAgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIAorICAgIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAKKyAgICAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIAogICAgIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIAotICAgIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNSwgMjUsIDI1LCAyNSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIAotICAgIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIAotICAgIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIAotICAgIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIAotICAgIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIAotICAgIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIAotICAgIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIAotICAgIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIAotICAgIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMTQ0LCAKLSAgICAxNDUsIDE0NiwgMTQ3LCAxNDgsIDE0OSwgMjAsIDIwLCAxNTAsIDIwLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIAotICAgIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIAotICAgIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIAotICAgIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIAotICAgIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIAotICAgIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAxNTEsIDE1MSwgCi0gICAgMTUxLCAxNTEsIDE1MSwgMTUxLCAxNTEsIDE1MSwgMTUyLCAxNTIsIDE1MiwgMTUyLCAxNTIsIDE1MiwgMTUyLCAxNTIsIAotICAgIDE1MSwgMTUxLCAxNTEsIDE1MSwgMTUxLCAxNTEsIDAsIDAsIDE1MiwgMTUyLCAxNTIsIDE1MiwgMTUyLCAxNTIsIDAsIDAsIAotICAgIDE1MSwgMTUxLCAxNTEsIDE1MSwgMTUxLCAxNTEsIDE1MSwgMTUxLCAxNTIsIDE1MiwgMTUyLCAxNTIsIDE1MiwgMTUyLCAKLSAgICAxNTIsIDE1MiwgMTUxLCAxNTEsIDE1MSwgMTUxLCAxNTEsIDE1MSwgMTUxLCAxNTEsIDE1MiwgMTUyLCAxNTIsIDE1MiwgCi0gICAgMTUyLCAxNTIsIDE1MiwgMTUyLCAxNTEsIDE1MSwgMTUxLCAxNTEsIDE1MSwgMTUxLCAwLCAwLCAxNTIsIDE1MiwgMTUyLCAKLSAgICAxNTIsIDE1MiwgMTUyLCAwLCAwLCAxNTMsIDE1MSwgMTU0LCAxNTEsIDE1NSwgMTUxLCAxNTYsIDE1MSwgMCwgMTUyLCAwLCAKLSAgICAxNTIsIDAsIDE1MiwgMCwgMTUyLCAxNTEsIDE1MSwgMTUxLCAxNTEsIDE1MSwgMTUxLCAxNTEsIDE1MSwgMTUyLCAxNTIsIAotICAgIDE1MiwgMTUyLCAxNTIsIDE1MiwgMTUyLCAxNTIsIDE1NywgMTU3LCAxNTgsIDE1OCwgMTU4LCAxNTgsIDE1OSwgMTU5LCAKLSAgICAxNjAsIDE2MCwgMTYxLCAxNjEsIDE2MiwgMTYyLCAwLCAwLCAxNjMsIDE2NCwgMTY1LCAxNjYsIDE2NywgMTY4LCAxNjksIAotICAgIDE3MCwgMTcxLCAxNzIsIDE3MywgMTc0LCAxNzUsIDE3NiwgMTc3LCAxNzgsIDE3OSwgMTgwLCAxODEsIDE4MiwgMTgzLCAKLSAgICAxODQsIDE4NSwgMTg2LCAxODcsIDE4OCwgMTg5LCAxOTAsIDE5MSwgMTkyLCAxOTMsIDE5NCwgMTk1LCAxOTYsIDE5NywgCi0gICAgMTk4LCAxOTksIDIwMCwgMjAxLCAyMDIsIDIwMywgMjA0LCAyMDUsIDIwNiwgMjA3LCAyMDgsIDIwOSwgMjEwLCAxNTEsIAotICAgIDE1MSwgMjExLCAyMTIsIDIxMywgMCwgMjE0LCAyMTUsIDE1MiwgMTUyLCAyMTYsIDIxNiwgMjE3LCA2LCAyMTgsIDYsIDYsIAotICAgIDYsIDIxOSwgMjIwLCAyMjEsIDAsIDIyMiwgMjIzLCAyMjQsIDIyNCwgMjI0LCAyMjQsIDIyNSwgNiwgNiwgNiwgMTUxLCAKLSAgICAxNTEsIDIyNiwgMjI3LCAwLCAwLCAyMjgsIDIyOSwgMTUyLCAxNTIsIDIzMCwgMjMwLCAwLCA2LCA2LCA2LCAxNTEsIDE1MSwgCi0gICAgMjMxLCAyMzIsIDIzMywgMTE5LCAyMzQsIDIzNSwgMTUyLCAxNTIsIDIzNiwgMjM2LCAxMjIsIDYsIDYsIDYsIDAsIDAsIAotICAgIDIzNywgMjM4LCAyMzksIDAsIDI0MCwgMjQxLCAyNDIsIDI0MiwgMjQzLCAyNDMsIDI0NCwgNiwgNiwgMCwgMiwgMiwgMiwgMiwgCi0gICAgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMjEsIDIxLCAyMSwgMjEsIDIxLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA2LCA2LCA1LCAKLSAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA2LCA1LCA1LCA2LCAzLCAzLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDIsIDUsIDUsIAotICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDE4LCAxOCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMTgsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDIsIDIxLCAKLSAgICAyMSwgMjEsIDIxLCAyMSwgMCwgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDI0NSwgOTUsIDAsIDAsIAotICAgIDI0NiwgMjQ3LCAyNDgsIDI0OSwgMjUwLCAyNTEsIDUsIDUsIDUsIDUsIDUsIDk1LCAyNDUsIDI2LCAyMiwgMjMsIDI0NiwgCi0gICAgMjQ3LCAyNDgsIDI0OSwgMjUwLCAyNTEsIDUsIDUsIDUsIDUsIDUsIDAsIDk1LCA5NSwgOTUsIDk1LCA5NSwgOTUsIDk1LCAKLSAgICA5NSwgOTUsIDk1LCA5NSwgOTUsIDk1LCAwLCAwLCAwLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKLSAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgCi0gICAgMjUsIDI1LCAyNSwgNiwgNiwgNiwgNiwgMjUsIDYsIDYsIDYsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIAotICAgIDI1LCAyNSwgMjUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDUsIDUsIDExMywgNSwgNSwgCi0gICAgNSwgNSwgMTEzLCA1LCA1LCAyMCwgMTEzLCAxMTMsIDExMywgMjAsIDIwLCAxMTMsIDExMywgMTEzLCAyMCwgNSwgMTEzLCA1LCAKLSAgICA1LCAyNTIsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCA1LCA1LCA1LCA1LCA1LCA1LCAxMTMsIDUsIDI1MywgNSwgMTEzLCAKLSAgICA1LCAyNTQsIDI1NSwgMTEzLCAxMTMsIDI1MiwgMjAsIDExMywgMTEzLCAyNTYsIDExMywgMjAsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICAyMCwgNSwgNSwgMjAsIDIwLCAxMTMsIDExMywgNSwgNSwgNSwgNSwgNSwgMTEzLCAyMCwgMjAsIDIwLCAyMCwgNSwgNSwgNSwgCi0gICAgNSwgMjU3LCA1LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAKLSAgICAyNywgMjU4LCAyNTgsIDI1OCwgMjU4LCAyNTgsIDI1OCwgMjU4LCAyNTgsIDI1OCwgMjU4LCAyNTgsIDI1OCwgMjU4LCAyNTgsIAotICAgIDI1OCwgMjU4LCAyNTksIDI1OSwgMjU5LCAyNTksIDI1OSwgMjU5LCAyNTksIDI1OSwgMjU5LCAyNTksIDI1OSwgMjU5LCAKLSAgICAyNTksIDI1OSwgMjU5LCAyNTksIDE0MSwgMTQxLCAxNDEsIDMwLCAzMSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAyNywgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjYsIDIyLCAyMywgMjQ2LCAyNDcsIDI0OCwgMjQ5LCAyNTAsIAotICAgIDI1MSwgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNiwgMjIsIDIzLCAyNDYsIDI0NywgCi0gICAgMjQ4LCAyNDksIDI1MCwgMjUxLCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI2LCAyMiwgCi0gICAgMjMsIDI0NiwgMjQ3LCAyNDgsIDI0OSwgMjUwLCAyNTEsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAKLSAgICAyNywgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgMjYwLCAyNjAsIDI2MCwgMjYwLCAyNjAsIDI2MCwgMjYwLCAyNjAsIDI2MCwgMjYwLCAyNjAsIDI2MCwgMjYwLCAKLSAgICAyNjAsIDI2MCwgMjYwLCAyNjAsIDI2MCwgMjYwLCAyNjAsIDI2MCwgMjYwLCAyNjAsIDI2MCwgMjYwLCAyNjAsIDI2MSwgCi0gICAgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIAotICAgIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNDUsIDI3LCAyNywgMjcsIAotICAgIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNiwgMjIsIDIzLCAyNDYsIDI0NywgMjQ4LCAyNDksIDI1MCwgMjUxLCAyNywgCi0gICAgMjQ1LCAwLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKLSAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKLSAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKLSAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKLSAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAyNiwgCi0gICAgMjIsIDIzLCAyNDYsIDI0NywgMjQ4LCAyNDksIDI1MCwgMjUxLCAyNywgMjYsIDIyLCAyMywgMjQ2LCAyNDcsIDI0OCwgMjQ5LCAKLSAgICAyNTAsIDI1MSwgMjcsIDI2LCAyMiwgMjMsIDI0NiwgMjQ3LCAyNDgsIDI0OSwgMjUwLCAyNTEsIDI3LCA1LCA1LCA1LCA1LCAKLSAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKLSAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKLSAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKLSAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKLSAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKLSAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKLSAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKLSAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAwLCAwLCAwLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKLSAgICA1LCA1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgCi0gICAgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIAotICAgIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAKLSAgICAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgCi0gICAgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIAotICAgIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAKLSAgICAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDAsIDMwLCAzMSwgMjYyLCAyNjMsIAotICAgIDI2NCwgMjY1LCAyNjYsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDI2NywgMjY4LCAyNjksIDI3MCwgMjAsIDMwLCAzMSwgCi0gICAgMjAsIDMwLCAzMSwgMjAsIDIwLCAyMCwgMjAsIDIwLCA5NSwgOTUsIDI3MSwgMjcxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAKLSAgICAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAKLSAgICAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAKLSAgICAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAKLSAgICAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAKLSAgICAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAKLSAgICAzMCwgMzEsIDMwLCAzMSwgMjAsIDUsIDUsIDUsIDUsIDUsIDUsIDMwLCAzMSwgMzAsIDMxLCAyNSwgMjUsIDI1LCAzMCwgMzEsIAotICAgIDAsIDAsIDAsIDAsIDAsIDUsIDUsIDUsIDUsIDI3LCA1LCA1LCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIAotICAgIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAKLSAgICAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgCi0gICAgMjcyLCAyNzIsIDI3MiwgMCwgMjcyLCAwLCAwLCAwLCAwLCAwLCAyNzIsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgOTYsIDUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgMjUsIDI1LCAyNSwgMjUsIAogICAgIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIAotICAgIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKLSAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKLSAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAyNzMsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAotICAgIDUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDUsIDUsIDUsIAotICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDAsIAorICAgIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAwLCAwLCAwLCAwLCAwLCAwLCAyNSwgMjUsIDI1LCAyNSwgMzAsIDMxLCAzMCwgCisgICAgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgCisgICAgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgCisgICAgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgCisgICAgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgCisgICAgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgCisgICAgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgCisgICAgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgCisgICAgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgCisgICAgMzEsIDMwLCAzMSwgMTUxLCAxNTIsIDE1MywgMTU0LCAxNTUsIDE1NiwgMjAsIDIwLCAxNTcsIDIwLCAzMCwgMzEsIDMwLCAKKyAgICAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAKKyAgICAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAKKyAgICAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAKKyAgICAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAKKyAgICAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAKKyAgICAzMSwgMzAsIDMxLCAxNTgsIDE1OCwgMTU4LCAxNTgsIDE1OCwgMTU4LCAxNTgsIDE1OCwgMTU5LCAxNTksIDE1OSwgMTU5LCAKKyAgICAxNTksIDE1OSwgMTU5LCAxNTksIDE1OCwgMTU4LCAxNTgsIDE1OCwgMTU4LCAxNTgsIDAsIDAsIDE1OSwgMTU5LCAxNTksIAorICAgIDE1OSwgMTU5LCAxNTksIDAsIDAsIDE1OCwgMTU4LCAxNTgsIDE1OCwgMTU4LCAxNTgsIDE1OCwgMTU4LCAxNTksIDE1OSwgCisgICAgMTU5LCAxNTksIDE1OSwgMTU5LCAxNTksIDE1OSwgMTU4LCAxNTgsIDE1OCwgMTU4LCAxNTgsIDE1OCwgMTU4LCAxNTgsIAorICAgIDE1OSwgMTU5LCAxNTksIDE1OSwgMTU5LCAxNTksIDE1OSwgMTU5LCAxNTgsIDE1OCwgMTU4LCAxNTgsIDE1OCwgMTU4LCAwLCAKKyAgICAwLCAxNTksIDE1OSwgMTU5LCAxNTksIDE1OSwgMTU5LCAwLCAwLCAxNjAsIDE1OCwgMTYxLCAxNTgsIDE2MiwgMTU4LCAxNjMsIAorICAgIDE1OCwgMCwgMTU5LCAwLCAxNTksIDAsIDE1OSwgMCwgMTU5LCAxNTgsIDE1OCwgMTU4LCAxNTgsIDE1OCwgMTU4LCAxNTgsIAorICAgIDE1OCwgMTU5LCAxNTksIDE1OSwgMTU5LCAxNTksIDE1OSwgMTU5LCAxNTksIDE2NCwgMTY0LCAxNjUsIDE2NSwgMTY1LCAKKyAgICAxNjUsIDE2NiwgMTY2LCAxNjcsIDE2NywgMTY4LCAxNjgsIDE2OSwgMTY5LCAwLCAwLCAxNzAsIDE3MSwgMTcyLCAxNzMsIAorICAgIDE3NCwgMTc1LCAxNzYsIDE3NywgMTc4LCAxNzksIDE4MCwgMTgxLCAxODIsIDE4MywgMTg0LCAxODUsIDE4NiwgMTg3LCAKKyAgICAxODgsIDE4OSwgMTkwLCAxOTEsIDE5MiwgMTkzLCAxOTQsIDE5NSwgMTk2LCAxOTcsIDE5OCwgMTk5LCAyMDAsIDIwMSwgCisgICAgMjAyLCAyMDMsIDIwNCwgMjA1LCAyMDYsIDIwNywgMjA4LCAyMDksIDIxMCwgMjExLCAyMTIsIDIxMywgMjE0LCAyMTUsIAorICAgIDIxNiwgMjE3LCAxNTgsIDE1OCwgMjE4LCAyMTksIDIyMCwgMCwgMjIxLCAyMjIsIDE1OSwgMTU5LCAyMjMsIDIyMywgMjI0LCAKKyAgICA2LCAyMjUsIDYsIDYsIDYsIDIyNiwgMjI3LCAyMjgsIDAsIDIyOSwgMjMwLCAyMzEsIDIzMSwgMjMxLCAyMzEsIDIzMiwgNiwgCisgICAgNiwgNiwgMTU4LCAxNTgsIDIzMywgMjM0LCAwLCAwLCAyMzUsIDIzNiwgMTU5LCAxNTksIDIzNywgMjM3LCAwLCA2LCA2LCA2LCAKKyAgICAxNTgsIDE1OCwgMjM4LCAyMzksIDI0MCwgMTI1LCAyNDEsIDI0MiwgMTU5LCAxNTksIDI0MywgMjQzLCAxMjksIDYsIDYsIDYsIAorICAgIDAsIDAsIDI0NCwgMjQ1LCAyNDYsIDAsIDI0NywgMjQ4LCAyNDksIDI0OSwgMjUwLCAyNTAsIDI1MSwgNiwgNiwgMCwgMiwgMiwgCisgICAgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMjEsIDIxLCAyMSwgMjEsIDIxLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA2LCAKKyAgICA2LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA2LCA1LCA1LCA2LCAzLCAzLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDIsIAorICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDE4LCAxOCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMTgsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDIsIAorICAgIDIxLCAyMSwgMjEsIDIxLCAyMSwgMCwgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDI1MiwgMTAwLCAKKyAgICAwLCAwLCAyNTMsIDI1NCwgMjU1LCAyNTYsIDI1NywgMjU4LCA1LCA1LCA1LCA1LCA1LCAxMDAsIDI1MiwgMjYsIDIyLCAyMywgCisgICAgMjUzLCAyNTQsIDI1NSwgMjU2LCAyNTcsIDI1OCwgNSwgNSwgNSwgNSwgNSwgMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIAorICAgIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAwLCAwLCAwLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAKKyAgICAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgNiwgNiwgNiwgNiwgMjUsIDYsIDYsIDYsIDI1LCAyNSwgMjUsIDI1LCAyNSwgCisgICAgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDUsIDUsIDExOSwgNSwgNSwgNSwgNSwgMTE5LCA1LCA1LCAyMCwgMTE5LCAxMTksIDExOSwgMjAsIDIwLCAxMTksIDExOSwgCisgICAgMTE5LCAyMCwgNSwgMTE5LCA1LCA1LCAyNTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICAxMTksIDUsIDI2MCwgNSwgMTE5LCA1LCAyNjEsIDI2MiwgMTE5LCAxMTksIDI1OSwgMjAsIDExOSwgMTE5LCAyNjMsIDExOSwgCisgICAgMjAsIDU1LCA1NSwgNTUsIDU1LCAyMCwgNSwgNSwgMjAsIDIwLCAxMTksIDExOSwgNSwgNSwgNSwgNSwgNSwgMTE5LCAyMCwgCisgICAgMjAsIDIwLCAyMCwgNSwgNSwgNSwgNSwgMjY0LCA1LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgCisgICAgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAKKyAgICAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjYsIDI2NiwgMjY2LCAyNjYsIDI2NiwgMjY2LCAyNjYsIDI2NiwgCisgICAgMjY2LCAyNjYsIDI2NiwgMjY2LCAyNjYsIDI2NiwgMjY2LCAyNjYsIDE0OCwgMTQ4LCAxNDgsIDMwLCAzMSwgMTQ4LCAxNDgsIAorICAgIDE0OCwgMTQ4LCAyNywgMCwgMCwgMCwgMCwgMCwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCiAgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCiAgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCiAgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCiAgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCiAgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgMCwgMCwgMCwgMiwgNSwgNSwgNSwgNSwgOTYsIDU1LCAxNDEsIDUsIDUsIAotICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDE0MSwgCi0gICAgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDI1LCAyNSwgMjUsIDI1LCAxOCwgMTgsIDUsIDk2LCAKLSAgICA5NiwgOTYsIDk2LCA5NiwgNSwgNSwgMTQxLCAxNDEsIDE0MSwgOTYsIDU1LCA1LCA1LCA1LCAwLCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDI1LCAyNSwgNiwgNiwgOTYsIDk2LCA1NSwgCi0gICAgNSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNSwgOTYsIDk2LCA5NiwgNTUsIDAsIDAsIDAsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgMCwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDAsIDUsIDUsIDI3LCAyNywgMjcsIDI3LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCAwLCAwLCAwLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKICAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKLSAgICA1LCA1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgMjcsIDI3LCAyNywgMjcsIDI3LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAwLCAwLCAwLCAwLCAwLCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNiwgMjIsIDIzLCAyNTMsIAorICAgIDI1NCwgMjU1LCAyNTYsIDI1NywgMjU4LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI2LCAKKyAgICAyMiwgMjMsIDI1MywgMjU0LCAyNTUsIDI1NiwgMjU3LCAyNTgsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIAorICAgIDI3LCAyNywgMjYsIDIyLCAyMywgMjUzLCAyNTQsIDI1NSwgMjU2LCAyNTcsIDI1OCwgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgCiAgICAgMjcsIDI3LCAyNywgMjcsIDI3LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKLSAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDUsIAotICAgIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDUsIDUsIDUsIDUsIAotICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAotICAgIDUsIDUsIDUsIDUsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKLSAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKLSAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAKLSAgICAyNywgMjcsIDI3LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKLSAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKLSAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAwLCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDI3NCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCAyNzQsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNzQsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDI3NCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAyNjcsIDI2NywgMjY3LCAyNjcsIDI2NywgMjY3LCAyNjcsIDI2NywgMjY3LCAyNjcsIAorICAgIDI2NywgMjY3LCAyNjcsIDI2NywgMjY3LCAyNjcsIDI2NywgMjY3LCAyNjcsIDI2NywgMjY3LCAyNjcsIDI2NywgMjY3LCAKKyAgICAyNjcsIDI2NywgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgCisgICAgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIAorICAgIDI1MiwgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI2LCAyMiwgMjMsIDI1MywgMjU0LCAyNTUsIAorICAgIDI1NiwgMjU3LCAyNTgsIDI3LCAyNTIsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAogICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAogICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAotICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDI3NCwgNTUsIDU1LCAyNzQsIDU1LCA1NSwgNTUsIDI3NCwgNTUsIDI3NCwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNzQsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCAyNzQsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNzQsIDU1LCAyNzQsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCAyNzQsIDI3NCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjc0LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDI3NCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjc0LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDI3NCwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDI3NCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNzQsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNzQsIDU1LCAyNzQsIDU1LCAyNzQsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjc0LCA1NSwgMjc0LCAyNzQsIDI3NCwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgMjc0LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDI3NCwgMjc0LCAyNzQsIDI3NCwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjc0LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDI3NCwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDI3NCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNzQsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjc0LCAyNzQsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDI3NCwgMjc0LCAyNzQsIDU1LCAyNzQsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDI3NCwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCAyNzQsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNzQsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDI3NCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNzQsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjc0LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCAyNzQsIDU1LCA1NSwgNTUsIDU1LCAyNzQsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNzQsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNzQsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDI3NCwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICAyNzQsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNzQsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjc0LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDk2LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDAsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAogICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAotICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA5NiwgOTYsIDk2LCA5NiwgOTYsIDk2LCA1LCA1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA5NiwgNSwgNSwgNSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDcsIDgsIDksIDEwLCAxMSwgMTIsIDEzLCAxNCwgMTUsIDE2LCA1NSwgNTUsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDMwLCAzMSwgMzAsIDMxLCAKLSAgICAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAKLSAgICAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAKLSAgICAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCA1NSwgMjUsIDYsIDYsIDYsIDUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAKLSAgICAyNSwgMjUsIDI1LCA1LCA5NiwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIAotICAgIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjUsIDU1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCAyNiwgMjIsIDIzLCAyNTMsIDI1NCwgMjU1LCAyNTYsIDI1NywgMjU4LCAyNywgMjYsIDIyLCAKKyAgICAyMywgMjUzLCAyNTQsIDI1NSwgMjU2LCAyNTcsIDI1OCwgMjcsIDI2LCAyMiwgMjMsIDI1MywgMjU0LCAyNTUsIDI1NiwgCisgICAgMjU3LCAyNTgsIDI3LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAwLCAwLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAwLCAwLCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAwLCAwLCAwLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCAwLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMzQsIDEzNCwgMTM0LCAxMzQsIDEzNCwgMTM0LCAxMzQsIDEzNCwgMTM0LCAxMzQsIAorICAgIDEzNCwgMTM0LCAxMzQsIDEzNCwgMTM0LCAxMzQsIDEzNCwgMTM0LCAxMzQsIDEzNCwgMTM0LCAxMzQsIDEzNCwgMTM0LCAKKyAgICAxMzQsIDEzNCwgMTM0LCAxMzQsIDEzNCwgMTM0LCAxMzQsIDEzNCwgMTM0LCAxMzQsIDEzNCwgMTM0LCAxMzQsIDEzNCwgCisgICAgMTM0LCAxMzQsIDEzNCwgMTM0LCAxMzQsIDEzNCwgMTM0LCAxMzQsIDEzNCwgMCwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIAorICAgIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAKKyAgICAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgCisgICAgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDAsIAorICAgIDMwLCAzMSwgMjY5LCAyNzAsIDI3MSwgMjcyLCAyNzMsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDI3NCwgMjc1LCAyNzYsIAorICAgIDI3NywgMjAsIDMwLCAzMSwgMjAsIDMwLCAzMSwgMjAsIDIwLCAyMCwgMjAsIDIwLCAxMDAsIDEwMCwgMjc4LCAyNzgsIDMwLCAKKyAgICAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAKKyAgICAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAKKyAgICAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAKKyAgICAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAKKyAgICAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAKKyAgICAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAyMCwgNSwgNSwgNSwgNSwgNSwgNSwgMzAsIDMxLCAzMCwgMzEsIAorICAgIDI1LCAyNSwgMjUsIDMwLCAzMSwgMCwgMCwgMCwgMCwgMCwgNSwgNSwgNSwgNSwgMjcsIDUsIDUsIDI3OSwgMjc5LCAyNzksIAorICAgIDI3OSwgMjc5LCAyNzksIDI3OSwgMjc5LCAyNzksIDI3OSwgMjc5LCAyNzksIDI3OSwgMjc5LCAyNzksIDI3OSwgMjc5LCAKKyAgICAyNzksIDI3OSwgMjc5LCAyNzksIDI3OSwgMjc5LCAyNzksIDI3OSwgMjc5LCAyNzksIDI3OSwgMjc5LCAyNzksIDI3OSwgCisgICAgMjc5LCAyNzksIDI3OSwgMjc5LCAyNzksIDI3OSwgMjc5LCAwLCAyNzksIDAsIDAsIDAsIDAsIDAsIDI3OSwgMCwgMCwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDE0MSwgMTQxLCAKLSAgICAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMjUsIDI1LCA1LCA1LCA1LCA1LCA1LCA1LCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCA2LCA2LCA2LCA2LCA2LCA2LCA2LCA2LCA2LCA2LCA2LCA2LCA2LCA2LCA2LCA2LCA2LCA2LCAKLSAgICA2LCA2LCA2LCA2LCA2LCA5NiwgOTYsIDk2LCA5NiwgOTYsIDk2LCA5NiwgOTYsIDk2LCA2LCA2LCAzMCwgMzEsIDMwLCAzMSwgCi0gICAgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDIwLCAyMCwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgCi0gICAgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgCi0gICAgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgCi0gICAgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgCi0gICAgMzAsIDMxLCA5NSwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAzMCwgMzEsIDMwLCAzMSwgMjc1LCAzMCwgMzEsIAotICAgIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgOTYsIDYsIDYsIDMwLCAzMSwgMjc2LCAyMCwgMCwgMzAsIDMxLCAzMCwgCi0gICAgMzEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgCi0gICAgMzAsIDMxLCAyNzcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDU1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMDEsIDUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDI1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgMCwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgCisgICAgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAyODAsIDUsIDUsIAorICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDk1LCA5NSwgMjAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNSwgCi0gICAgNTUsIDU1LCA1NSwgMjUsIDU1LCA1NSwgNTUsIDU1LCAyNSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAxOCwgMTgsIDI1LCAyNSwgCi0gICAgMTgsIDUsIDUsIDUsIDUsIDAsIDAsIDAsIDAsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDUsIDUsIDUsIDUsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAwLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAwLCAwLCAwLCAwLCAyLCA1LCAKKyAgICA1LCA1LCA1LCAxMDEsIDU1LCAxNDgsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAorICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDI1LCAKKyAgICAyNSwgMjUsIDI1LCAxOCwgMTgsIDUsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCA1LCA1LCAxNDgsIDE0OCwgMTQ4LCAxMDEsIAorICAgIDU1LCA1LCA1LCA1LCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDUsIDUsIDUsIDUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE4LCAxOCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIAotICAgIDE4LCAxOCwgMTgsIDE4LCAxOCwgMjUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDUsIDUsIDcsIDgsIDksIDEwLCAxMSwgCi0gICAgMTIsIDEzLCAxNCwgMTUsIDE2LCAwLCAwLCAwLCAwLCAwLCAwLCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAKLSAgICAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1LCA1LCA1LCA1NSwgCi0gICAgMCwgMCwgMCwgMCwgNywgOCwgOSwgMTAsIDExLCAxMiwgMTMsIDE0LCAxNSwgMTYsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDUsIDUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAxOCwgMTgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgMCwgMjUsIAotICAgIDI1LCAyNSwgMTgsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjUsIDE4LCAxOCwgMjUsIAotICAgIDI1LCAyNSwgMjUsIDE4LCAxOCwgMjUsIDE4LCAxOCwgMTgsIDE4LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKLSAgICA1LCA1LCAwLCA5NiwgNywgOCwgOSwgMTAsIDExLCAxMiwgMTMsIDE0LCAxNSwgMTYsIDAsIDAsIDAsIDAsIDUsIDUsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMTgsIDE4LCAyNSwgCi0gICAgMjUsIDE4LCAxOCwgMjUsIDI1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NSwgNTUsIDU1LCAyNSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNSwgMTgsIDAsIDAsIDcsIDgsIDksIDEwLCAxMSwgMTIsIDEzLCAxNCwgMTUsIAotICAgIDE2LCAwLCAwLCA1LCA1LCA1LCA1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgOTYsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDUsIDUsIDUsIDU1LCAxOCwgMCwgMCwgMCwgMCwgNTUsIAorICAgIDAsIDAsIDI1LCAyNSwgNiwgNiwgMTAxLCAxMDEsIDU1LCA1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDI1LCA1NSwgMjUsIDI1LCAyNSwgNTUsIDU1LCAKLSAgICAyNSwgMjUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjUsIDI1LCA1NSwgMjUsIDU1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NSwgNTUsIDk2LCA1LCA1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDE4LCAyNSwgMjUsIDE4LCAxOCwgNSwgNSwgNTUsIDk2LCA5NiwgCi0gICAgMTgsIDI1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMTgsIDE4LCAyNSwgCi0gICAgMTgsIDE4LCAyNSwgMTgsIDE4LCA1LCAxOCwgMjUsIDAsIDAsIDcsIDgsIDksIDEwLCAxMSwgMTIsIDEzLCAxNCwgMTUsIDE2LCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDUsIDEwMSwgMTAxLCAxMDEsIDU1LCAwLCAwLCAwLCAwLCAwLCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICAwLCAwLCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCA1LCA1LCAyNywgMjcsIDI3LCAyNywgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgMCwgCi0gICAgMCwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgCi0gICAgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgCi0gICAgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgCi0gICAgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgCi0gICAgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgCi0gICAgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNzQsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNzQsIDU1LCA1NSwgNTUsIAotICAgIDU1LCAyNzQsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDI3NCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgMjc0LCA1NSwgMjc0LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDI3NCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAyNzgsIDI3OSwgMjgwLCAyODEsIDI4MiwgMjgzLCAyODQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDI4NSwgMjg2LCAyODcsIDI4OCwgMjg5LCAwLCAwLCAwLCAwLCAwLCA1NSwgMjUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCA1NSwgMCwgNTUsIDU1LCAwLCA1NSwgNTUsIDAsIAorICAgIDAsIDAsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAorICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCAwLCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCA1LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIAorICAgIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAyNywgMjcsIDI3LCAyNywgMjcsIAorICAgIDI3LCAyNywgMjcsIDI3LCAyNywgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMjcsIDI3LCAKKyAgICAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyODEsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNiwgNiwgNiwgNiwgNiwgNiwgNiwgNiwgNiwgNiwgNiwgNiwgNiwgNiwgNiwgNiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyODEsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCkBAIC0yNDA2LDQyNSArMjIwNCw4OTUgQEAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDI5MCwgMjkwLCAyOTAsIDI5MCwgMjkwLCAyOTAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjgxLCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1LCA1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgMjgxLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCAyOTAsIDI5MCwgNSwgNSwgMCwgMCwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgCi0gICAgMjUsIDI1LCAyNSwgMjUsIDUsIDUsIDUsIDYsIDUsIDUsIDUsIDUsIDUsIDUsIDAsIDAsIDAsIDAsIDAsIDAsIDI1LCAyNSwgCi0gICAgMjUsIDI1LCAyNSwgMjUsIDI1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1LCA1LCA1LCAxOCwgMTgsIDUsIDUsIDUsIAotICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDE4LCAxOCwgCi0gICAgMTgsIDUsIDUsIDYsIDAsIDUsIDYsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAotICAgIDAsIDUsIDUsIDUsIDUsIDAsIDAsIDAsIDAsIDI5MCwgNTUsIDI5MCwgNTUsIDI5MCwgMCwgMjkwLCA1NSwgMjkwLCA1NSwgCi0gICAgMjkwLCA1NSwgMjkwLCA1NSwgMjkwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAyODEsIAorICAgIDU1LCA1NSwgMjgxLCA1NSwgNTUsIDU1LCAyODEsIDU1LCAyODEsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgMjgxLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjgxLCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgMjgxLCA1NSwgMjgxLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjgxLCAyODEsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDI4MSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyODEsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDI4MSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyODEsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyODEsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgMjgxLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgMjgxLCA1NSwgMjgxLCA1NSwgMjgxLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDI4MSwgNTUsIDI4MSwgMjgxLCAyODEsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDI4MSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgMjEsIDAsIDUsIDUsIDUsIDUsIDUsIDUsIDYsIDUsIDUsIDUsIDUsIDUsIAotICAgIDUsIDYsIDUsIDcsIDgsIDksIDEwLCAxMSwgMTIsIDEzLCAxNCwgMTUsIDE2LCA2LCA1LCA1LCA1LCA1LCA1LCA1LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDUsIDUsIDUsIDYsIDE4LCA2LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAKLSAgICAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAKLSAgICAxOSwgMTksIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA5NiwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjkxLCAyOTEsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAKLSAgICAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCA1NSwgNTUsIAotICAgIDU1LCAwLCAwLCAwLCA1LCA1LCA1LCA2LCA1LCA1LCA1LCAwLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAyMSwgMjEsIDIxLCA1LCA1LCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCA1NSwgNTUsIDAsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDI4MSwgMjgxLCAyODEsIDI4MSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjgxLCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDI4MSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDI4MSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyODEsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgMjgxLCAyODEsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDI4MSwgMjgxLCAyODEsIDU1LCAyODEsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDI4MSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyODEsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCAyODEsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDI4MSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCAyODEsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjgxLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyODEsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICAyODEsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyODEsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCAyODEsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDI4MSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyODEsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCAyODEsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgMjgxLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDAsIAotICAgIDAsIDAsIDUsIDUsIDUsIDAsIDAsIDAsIDAsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgCi0gICAgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgCi0gICAgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDAsIDAsIDAsIAotICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIAotICAgIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAKLSAgICAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgCi0gICAgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIAotICAgIDE0MSwgMTQxLCAyNywgMjcsIDI3LCAyNywgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgMjcsIDAsIDAsIDAsIDAsIDAsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDUsIAotICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAotICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDI1LCAwLCAwLCA1NSwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDEwMSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCAwLCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMTAxLCAxMDEsIAorICAgIDEwMSwgMTAxLCAxMDEsIDEwMSwgNSwgNSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgMTAxLCA1LCA1LCA1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNywgOCwgOSwgMTAsIDExLCAxMiwgMTMsIDE0LCAxNSwgMTYsIDU1LCA1NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgCisgICAgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgCisgICAgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgCisgICAgMzEsIDU1LCAyNSwgNiwgNiwgNiwgNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDUsIDEwMSwgCisgICAgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgCisgICAgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDEwMCwgMTAwLCAwLCAyNSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAKKyAgICAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMjUsIDI1LCA1LCA1LCA1LCA1LCA1LCA1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCA2LCA2LCA2LCA2LCA2LCA2LCA2LCA2LCA2LCA2LCA2LCA2LCA2LCA2LCA2LCA2LCA2LCA2LCA2LCA2LCA2LCA2LCA2LCAKKyAgICAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCA2LCA2LCAzMCwgMzEsIDMwLCAzMSwgMzAsIAorICAgIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDIwLCAyMCwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIAorICAgIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIAorICAgIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIAorICAgIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIAorICAgIDMxLCAxMDAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMzAsIDMxLCAzMCwgMzEsIDI4MiwgMzAsIDMxLCAzMCwgCisgICAgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDEwMSwgNiwgNiwgMzAsIDMxLCAyODMsIDIwLCAwLCAzMCwgMzEsIDMwLCAKKyAgICAzMSwgMjAsIDIwLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAKKyAgICAzMSwgMzAsIDMxLCAzMCwgMzEsIDI4NCwgMjg1LCAyODYsIDI4NywgMCwgMCwgMjg4LCAyODksIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU1LCAxMDAsIDEwMCwgMjAsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNSwgNTUsIDU1LCA1NSwgMjUsIDU1LCA1NSwgNTUsIDU1LCAyNSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCAxOCwgMTgsIDI1LCAyNSwgMTgsIDUsIDUsIDUsIDUsIDAsIDAsIDAsIDAsIDI3LCAyNywgMjcsIDI3LCAyNywgCisgICAgMjcsIDUsIDUsIDUsIDUsIDAsIDAsIDAsIDAsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1LCA1LCA1LCA1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxOCwgMTgsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMTgsIDE4LCAxOCwgMTgsIDE4LCAKKyAgICAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDI1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCA1LCA1LCA3LCA4LCA5LCAxMCwgMTEsIDEyLCAxMywgMTQsIDE1LCAxNiwgMCwgMCwgMCwgMCwgMCwgMCwgMjUsIDI1LCAKKyAgICAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNSwgNSwgNSwgNTUsIDAsIDAsIDAsIDAsIDcsIDgsIDksIDEwLCAxMSwgMTIsIDEzLCAxNCwgMTUsIAorICAgIDE2LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIAorICAgIDI1LCA1LCA1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgCisgICAgMTgsIDE4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDAsIDI1LCAyNSwgMjUsIDE4LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDI1LCAxOCwgMTgsIDI1LCAyNSwgMjUsIDI1LCAxOCwgMTgsIDI1LCAxOCwgMTgsIDE4LCAxOCwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgMTAxLCA3LCA4LCA5LCAxMCwgMTEsIDEyLCAxMywgMTQsIDE1LCAKKyAgICAxNiwgMCwgMCwgMCwgMCwgNSwgNSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNSwgMTAxLCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA3LCA4LCA5LCAxMCwgMTEsIDEyLCAxMywgMTQsIDE1LCAxNiwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDE4LCAxOCwgMjUsIDI1LCAxOCwgMTgsIAorICAgIDI1LCAyNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTUsIDU1LCA1NSwgMjUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgMjUsIDE4LCAwLCAwLCA3LCA4LCA5LCAxMCwgMTEsIDEyLCAxMywgMTQsIDE1LCAxNiwgMCwgMCwgNSwgCisgICAgNSwgNSwgNSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDEwMSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNSwgNSwgNSwgNTUsIDE4LCAyNSwgMTgsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjUsIDU1LCAyNSwgMjUsIDI1LCA1NSwgNTUsIDI1LCAyNSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNSwgMjUsIDU1LCAyNSwgNTUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU1LCA1NSwgMTAxLCA1LCA1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDE4LCAyNSwgMjUsIDE4LCAxOCwgNSwgNSwgNTUsIDEwMSwgMTAxLCAxOCwgCisgICAgMjUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgMjAsIDIwLCAyMCwgCisgICAgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgCisgICAgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgCisgICAgMjAsIDIwLCAyMCwgMjAsIDYsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMCwgMCwgMCwgMCwgMjAsIDIwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDE4LCAxOCwgMjUsIDE4LCAxOCwgMjUsIDE4LCAxOCwgNSwgCisgICAgMTgsIDI1LCAwLCAwLCA3LCA4LCA5LCAxMCwgMTEsIDEyLCAxMywgMTQsIDE1LCAxNiwgMCwgMCwgMCwgMCwgMCwgMCwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCAwLCAwLCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgMCwgMCwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgCisgICAgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgCisgICAgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgCisgICAgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgCisgICAgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgCisgICAgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgCisgICAgMSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICAyODEsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyODEsIDU1LCA1NSwgNTUsIDU1LCAyODEsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDI4MSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjgxLCA1NSwgMjgxLCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDI4MSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyOTAsIAorICAgIDI5MSwgMjkyLCAyOTMsIDI5NCwgMjk1LCAyOTYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI5NywgCisgICAgMjk4LCAyOTksIDMwMCwgMzAxLCAwLCAwLCAwLCAwLCAwLCA1NSwgMjUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCAwLCA1NSwgMCwgNTUsIDU1LCAwLCA1NSwgNTUsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDYsIDYsIDYsIDYsIDYsIDYsIDYsIDYsIAorICAgIDYsIDYsIDYsIDYsIDYsIDYsIDYsIDYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAzMDIsIDMwMiwgMzAyLCAKKyAgICAzMDIsIDMwMiwgMzAyLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1LCA1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDMwMiwgMzAyLCA1LCA1LCAwLCAKKyAgICAwLCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgNSwgNSwgCisgICAgNSwgNiwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgMCwgMCwgMCwgMCwgMCwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAKKyAgICAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAwLCAwLCA1LCA1LCA1LCAxOCwgMTgsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAorICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDE4LCAxOCwgMTgsIDUsIDUsIDYsIDAsIDUsIAorICAgIDYsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDAsIDUsIDUsIDUsIDUsIDAsIAorICAgIDAsIDAsIDAsIDMwMiwgNTUsIDMwMiwgNTUsIDMwMiwgMCwgMzAyLCA1NSwgMzAyLCA1NSwgMzAyLCA1NSwgMzAyLCA1NSwgCisgICAgMzAyLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCAwLCAwLCAyMSwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNiwgNSwgNSwgNSwgNSwgNSwgNSwgNiwgNSwgNywgOCwgOSwgCisgICAgMTAsIDExLCAxMiwgMTMsIDE0LCAxNSwgMTYsIDYsIDUsIDUsIDUsIDUsIDUsIDUsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAorICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAorICAgIDE3LCAxNywgNSwgNSwgNSwgNiwgMTgsIDYsIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgCisgICAgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDEwMSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMzAzLCAzMDMsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCA1NSwgNTUsIDU1LCAwLCAwLCAwLCA1LCA1LCA1LCAKKyAgICA2LCA1LCA1LCA1LCAwLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyMSwgMjEsIAorICAgIDIxLCA1LCA1LCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCA1NSwgNTUsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgMCwgMCwgMCwgNSwgNSwgNSwgMCwgMCwgMCwgCisgICAgMCwgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAKKyAgICAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAKKyAgICAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMCwgMCwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIAorICAgIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAKKyAgICAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgCisgICAgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDI3LCAyNywgMjcsIDI3LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAyNywgMjcsIDUsIDAsIDAsIDAsIDUsIDUsIAorICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDAsIDAsIDAsIDAsIDUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAorICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAorICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDI1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNSwgCisgICAgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgCisgICAgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMCwgMCwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNywgMjcsIDI3LCAyNywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCAxNDgsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMTQ4LCAwLCAwLCAwLCAwLCAwLCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDI1LCAyNSwgMjUsIDI1LCAyNSwgMCwgMCwgMCwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgMCwgNSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1LCAxNDgsIDE0OCwgCisgICAgMTQ4LCAxNDgsIDE0OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzA0LCAKKyAgICAzMDQsIDMwNCwgMzA0LCAzMDQsIDMwNCwgMzA0LCAzMDQsIDMwNCwgMzA0LCAzMDQsIDMwNCwgMzA0LCAzMDQsIDMwNCwgCisgICAgMzA0LCAzMDQsIDMwNCwgMzA0LCAzMDQsIDMwNCwgMzA0LCAzMDQsIDMwNCwgMzA0LCAzMDQsIDMwNCwgMzA0LCAzMDQsIAorICAgIDMwNCwgMzA0LCAzMDQsIDMwNCwgMzA0LCAzMDQsIDMwNCwgMzA0LCAzMDQsIDMwNCwgMzA0LCAzMDUsIDMwNSwgMzA1LCAKKyAgICAzMDUsIDMwNSwgMzA1LCAzMDUsIDMwNSwgMzA1LCAzMDUsIDMwNSwgMzA1LCAzMDUsIDMwNSwgMzA1LCAzMDUsIDMwNSwgCisgICAgMzA1LCAzMDUsIDMwNSwgMzA1LCAzMDUsIDMwNSwgMzA1LCAzMDUsIDMwNSwgMzA1LCAzMDUsIDMwNSwgMzA1LCAzMDUsIAorICAgIDMwNSwgMzA1LCAzMDUsIDMwNSwgMzA1LCAzMDUsIDMwNSwgMzA1LCAzMDUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIAorICAgIDcsIDgsIDksIDEwLCAxMSwgMTIsIDEzLCAxNCwgMTUsIDE2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDUsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCA1NSwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCAwLCA1NSwgNTUsIDAsIDAsIDAsIDU1LCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDUsIDI3LCAyNywgMjcsIDI3LCAKKyAgICAyNywgMjcsIDI3LCAyNywgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1LCA1LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAwLCAwLCAwLCA1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDAsIDAsIDAsIDAsIDAsIDUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgNTUsIDU1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICA1NSwgMjUsIDI1LCAyNSwgMCwgMjUsIDI1LCAwLCAwLCAwLCAwLCAwLCAyNSwgMjUsIDI1LCAyNSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDAsIDU1LCA1NSwgNTUsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDAsIDAsIDI1LCAyNSwgCisgICAgMjUsIDAsIDAsIDAsIDAsIDI1LCAyNiwgMjIsIDIzLCAyNTMsIDI3LCAyNywgMjcsIDI3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDI3LCAyNywgNSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCAyNywgMjcsIDI3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNSwgMjUsIDAsIDAsIDAsIDAsIDI3LCAyNywgCisgICAgMjcsIDI3LCAyNywgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgMCwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDAsIDAsIDAsIDAsIDAsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNSwgCisgICAgNSwgNSwgNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNiwgMjIsIDIzLCAyNTMsIDI1NCwgCisgICAgMjU1LCAyNTYsIDI1NywgMjU4LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgCisgICAgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMCwgMTgsIDI1LCAxOCwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgMCwgMjcsIDI3LCAyNywgMjcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMTQxLCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDE0MSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgCisgICAgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgMCwgMCwgMCwgMjYsIAorICAgIDIyLCAyMywgMjUzLCAyNTQsIDI1NSwgMjU2LCAyNTcsIDI1OCwgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgCisgICAgMjcsIDI3LCA3LCA4LCA5LCAxMCwgMTEsIDEyLCAxMywgMTQsIDE1LCAxNiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMjUsIDI1LCAyNSwgMTgsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDE4LCAKKyAgICAxOCwgMTgsIDI1LCAyNSwgMjUsIDI1LCAxOCwgMTgsIDI1LCAyNSwgNSwgNSwgMjEsIDUsIDUsIDUsIDUsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCA3LCA4LCA5LCAxMCwgMTEsIDEyLCAxMywgMTQsIDE1LCAxNiwgMCwgMCwgMCwgMCwgMCwgMCwgMjUsIDI1LCAyNSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjUsIAorICAgIDI1LCAyNSwgMjUsIDI1LCAxOCwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAwLCA3LCA4LCA5LCAxMCwgMTEsIAorICAgIDEyLCAxMywgMTQsIDE1LCAxNiwgNSwgNSwgNSwgNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNSwgNSwgNSwgCisgICAgNTUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI1LCAyNSwgMTgsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDE4LCAxOCwgMTgsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDE4LCAKKyAgICAxOCwgNTUsIDU1LCA1NSwgNTUsIDUsIDUsIDUsIDUsIDAsIDAsIDAsIDAsIDUsIDAsIDAsIDcsIDgsIDksIDEwLCAxMSwgMTIsIAorICAgIDEzLCAxNCwgMTUsIDE2LCA1NSwgMCwgMCwgMCwgMCwgMCwgMCwgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgCisgICAgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMTgsIDE4LCAxOCwgMjUsIDI1LCAyNSwgMTgsIDE4LCAyNSwgCisgICAgMTgsIDI1LCAyNSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNSwgMTgsIDE4LCAxOCwgCisgICAgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAwLCAwLCAwLCAwLCAwLCA3LCA4LCA5LCAxMCwgMTEsIDEyLCAxMywgCisgICAgMTQsIDE1LCAxNiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjUsIDE4LCAxOCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCAwLCAwLCA1NSwgNTUsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgMCwgNTUsIDU1LCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDI1LCA1NSwgMTgsIDE4LCAyNSwgMTgsIDE4LCAKKyAgICAxOCwgMTgsIDAsIDAsIDE4LCAxOCwgMCwgMCwgMTgsIDE4LCAxOCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTgsIDAsIAorICAgIDAsIDAsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMTgsIDE4LCAwLCAwLCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgCisgICAgMCwgMCwgMCwgMjUsIDI1LCAyNSwgMjUsIDI1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAxOCwgMTgsIDE4LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAKKyAgICAxOCwgMjUsIDE4LCAxOCwgMTgsIDE4LCAyNSwgMjUsIDE4LCAyNSwgMjUsIDU1LCA1NSwgNSwgNTUsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDcsIDgsIDksIDEwLCAxMSwgMTIsIDEzLCAxNCwgMTUsIDE2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDE4LCAxOCwgMTgsIAorICAgIDI1LCAyNSwgMjUsIDI1LCAwLCAwLCAxOCwgMTgsIDE4LCAxOCwgMjUsIDI1LCAxOCwgMjUsIDI1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCAxOCwgMTgsIDE4LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDE4LCAxOCwgMjUsIDE4LCAyNSwgMjUsIAorICAgIDUsIDUsIDUsIDU1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA3LCA4LCA5LCAxMCwgMTEsIDEyLCAxMywgCisgICAgMTQsIDE1LCAxNiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDI1LCAxOCwgMjUsIDE4LCAxOCwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMTgsIDI1LCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCA3LCA4LCA5LCAxMCwgMTEsIDEyLCAxMywgMTQsIDE1LCAxNiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAKKyAgICAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAKKyAgICAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAKKyAgICAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDcsIDgsIDksIDEwLCAxMSwgCisgICAgMTIsIDEzLCAxNCwgMTUsIDE2LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCA1NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAKKyAgICAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgCisgICAgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIAorICAgIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAKKyAgICAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgCisgICAgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIAorICAgIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAKKyAgICAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDAsIDUsIDUsIAorICAgIDUsIDUsIDUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgMCwgNSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1LCAxNDEsIAotICAgIDE0MSwgMTQxLCAxNDEsIDE0MSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMjkyLCAyOTIsIDI5MiwgMjkyLCAyOTIsIDI5MiwgMjkyLCAyOTIsIDI5MiwgMjkyLCAyOTIsIDI5MiwgMjkyLCAyOTIsIAotICAgIDI5MiwgMjkyLCAyOTIsIDI5MiwgMjkyLCAyOTIsIDI5MiwgMjkyLCAyOTIsIDI5MiwgMjkyLCAyOTIsIDI5MiwgMjkyLCAKLSAgICAyOTIsIDI5MiwgMjkyLCAyOTIsIDI5MiwgMjkyLCAyOTIsIDI5MiwgMjkyLCAyOTIsIDI5MiwgMjkyLCAyOTMsIDI5MywgCi0gICAgMjkzLCAyOTMsIDI5MywgMjkzLCAyOTMsIDI5MywgMjkzLCAyOTMsIDI5MywgMjkzLCAyOTMsIDI5MywgMjkzLCAyOTMsIAotICAgIDI5MywgMjkzLCAyOTMsIDI5MywgMjkzLCAyOTMsIDI5MywgMjkzLCAyOTMsIDI5MywgMjkzLCAyOTMsIDI5MywgMjkzLCAKLSAgICAyOTMsIDI5MywgMjkzLCAyOTMsIDI5MywgMjkzLCAyOTMsIDI5MywgMjkzLCAyOTMsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICAwLCAwLCA3LCA4LCA5LCAxMCwgMTEsIDEyLCAxMywgMTQsIDE1LCAxNiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDcsIDgsIDksIDEwLCAxMSwgCisgICAgMTIsIDEzLCAxNCwgMTUsIDE2LCAwLCAwLCAwLCAwLCA1LCA1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCA1NSwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgMCwgMCwgMjUsIDI1LCAyNSwgMjUsIDI1LCA1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDAsIDU1LCA1NSwgMCwgMCwgMCwgNTUsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgNSwgMjcsIDI3LCAyNywgCi0gICAgMjcsIDI3LCAyNywgMjcsIDI3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjcsIDI3LCAyNywgMjcsIAotICAgIDI3LCAyNywgMCwgMCwgMCwgNSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCAwLCAwLCAwLCA1LCAwLCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAKKyAgICAyNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMTAxLCAxMDEsIDEwMSwgMTAxLCA1LCA1LCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCA3LCA4LCA5LCAxMCwgMTEsIDEyLCAxMywgMTQsIDE1LCAxNiwgMCwgMjcsIDI3LCAyNywgMjcsIAorICAgIDI3LCAyNywgMjcsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDAsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDAsIDAsIDAsIDAsIDU1LCAKLSAgICA1NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTUsIDI1LCAyNSwgMjUsIDAsIDI1LCAKLSAgICAyNSwgMCwgMCwgMCwgMCwgMCwgMjUsIDI1LCAyNSwgMjUsIDU1LCA1NSwgNTUsIDU1LCAwLCA1NSwgNTUsIDU1LCAwLCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCAwLCAwLCAyNSwgMjUsIDI1LCAwLCAwLCAwLCAwLCAyNSwgCi0gICAgMjYsIDIyLCAyMywgMjQ2LCAyNywgMjcsIDI3LCAyNywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCAyNywgMjcsIDUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDAsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCAyNywgMjcsIAotICAgIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCAwLCAwLCAwLCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgCi0gICAgMjcsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTUsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIAorICAgIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIAorICAgIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIAorICAgIDE4LCAxOCwgMTgsIDE4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNSwgMjUsIAorICAgIDI1LCAyNSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICA1NSwgNTUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI2LCAyMiwgMjMsIDI0NiwgMjQ3LCAyNDgsIDI0OSwgMjUwLCAyNTEsIDI3LCAKLSAgICAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAKLSAgICAyNywgMjcsIDI3LCAwLCAxOCwgMjUsIDE4LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIAotICAgIDI1LCAyNSwgMjUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDAsIDAsIDAsIDAsIDI2LCAyMiwgMjMsIDI0NiwgMjQ3LCAyNDgsIAotICAgIDI0OSwgMjUwLCAyNTEsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgNywgOCwgOSwgMTAsIAotICAgIDExLCAxMiwgMTMsIDE0LCAxNSwgMTYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDI1LCAyNSwgMTgsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDE4LCAxOCwgMTgsIDI1LCAyNSwgMjUsIAotICAgIDI1LCAxOCwgMTgsIDI1LCAyNSwgNSwgNSwgMjEsIDUsIDUsIDUsIDUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA3LCA4LCA5LCAxMCwgCi0gICAgMTEsIDEyLCAxMywgMTQsIDE1LCAxNiwgMCwgMCwgMCwgMCwgMCwgMCwgMjUsIDI1LCAyNSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAKLSAgICAxOCwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAwLCA3LCA4LCA5LCAxMCwgMTEsIDEyLCAxMywgMTQsIDE1LCAKLSAgICAxNiwgNSwgNSwgNSwgNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjUsIDI1LCAxOCwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMTgsIDE4LCAxOCwgMjUsIDI1LCAyNSwgMjUsIDI1LCAKLSAgICAyNSwgMjUsIDI1LCAyNSwgMTgsIDE4LCA1NSwgNTUsIDU1LCA1NSwgNSwgNSwgNSwgNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgNywgOCwgOSwgMTAsIDExLCAxMiwgMTMsIDE0LCAxNSwgMTYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNSwgMTgsIDI1LCAxOCwgMTgsIDI1LCAyNSwgMjUsIDI1LCAyNSwgCi0gICAgMjUsIDE4LCAyNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNywgOCwgOSwgMTAsIDExLCAxMiwgMTMsIDE0LCAxNSwgMTYsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgCi0gICAgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIAotICAgIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAKLSAgICAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgCi0gICAgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIAotICAgIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAKLSAgICAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgCi0gICAgMTQxLCAxNDEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDUsIDUsIDUsIDUsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTUsIDE4LCAxOCwgMTgsIDE4LCAxOCwgCi0gICAgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgCi0gICAgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgCi0gICAgMTgsIDE4LCAxOCwgMTgsIDE4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNSwgCi0gICAgMjUsIDI1LCAyNSwgOTYsIDk2LCA5NiwgOTYsIDk2LCA5NiwgOTYsIDk2LCA5NiwgOTYsIDk2LCA5NiwgOTYsIDAsIDAsIDAsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgMCwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCA1LCAyNSwgMjUsIDUsIDIxLCAKKyAgICAyMSwgMjEsIDIxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NSwgNTUsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAogICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAogICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAogICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAogICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAotICAgIDUsIDUsIDUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAotICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAotICAgIDUsIDUsIDUsIDUsIDAsIDAsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAotICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAotICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDE4LCAxOCwgMjUsIDI1LCAyNSwgCi0gICAgNSwgNSwgNSwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDIxLCAyNSwgMjUsIAotICAgIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDUsIDUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCA1LCA1LCA1LCA1LCA1LCAKLSAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKLSAgICA1LCAyNSwgMjUsIDI1LCAyNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMjUsIDI1LCAyNSwgNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAKLSAgICAyNywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIAotICAgIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAKLSAgICAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIAotICAgIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMTEzLCAKLSAgICAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgCi0gICAgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDIwLCAyMCwgMjAsIDIwLCAKLSAgICAyMCwgMjAsIDIwLCAwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIAotICAgIDIwLCAyMCwgMjAsIDIwLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgCi0gICAgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIAotICAgIDExMywgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAKLSAgICAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAxMTMsIDAsIDExMywgMTEzLCAwLCAwLCAxMTMsIDAsIDAsIAotICAgIDExMywgMTEzLCAwLCAwLCAxMTMsIDExMywgMTEzLCAxMTMsIDAsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgCi0gICAgMTEzLCAyMCwgMjAsIDIwLCAyMCwgMCwgMjAsIDAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAwLCAyMCwgMjAsIDIwLCAKLSAgICAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAKLSAgICAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgCi0gICAgMTEzLCAxMTMsIDExMywgMTEzLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgCi0gICAgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDExMywgMTEzLCAwLCAxMTMsIAotICAgIDExMywgMTEzLCAxMTMsIDAsIDAsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAwLCAxMTMsIDExMywgCi0gICAgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgCi0gICAgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMTEzLCAxMTMsIDAsIAotICAgIDExMywgMTEzLCAxMTMsIDExMywgMCwgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDAsIDExMywgMCwgMCwgMCwgMTEzLCAKLSAgICAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgCi0gICAgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDExMywgMTEzLCAKLSAgICAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgCi0gICAgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAKLSAgICAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAKLSAgICAyMCwgMjAsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgCi0gICAgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAyMCwgMjAsIAotICAgIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIAotICAgIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgCi0gICAgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIAotICAgIDExMywgMTEzLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgCi0gICAgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIAotICAgIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAKLSAgICAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIAotICAgIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDExMywgMTEzLCAKLSAgICAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgCi0gICAgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAKLSAgICAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAKLSAgICAyMCwgMjAsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgCi0gICAgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAyMCwgMjAsIAotICAgIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIAotICAgIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMCwgMCwgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAKLSAgICAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgCi0gICAgMTEzLCAxMTMsIDExMywgMTEzLCA1LCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAKLSAgICAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgNSwgMjAsIDIwLCAyMCwgMjAsIAotICAgIDIwLCAyMCwgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAKLSAgICAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCA1LCAyMCwgMjAsIAotICAgIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIAotICAgIDIwLCAyMCwgMjAsIDIwLCAyMCwgNSwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIAotICAgIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAKLSAgICAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCA1LCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgCi0gICAgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgNSwgMjAsIDIwLCAKLSAgICAyMCwgMjAsIDIwLCAyMCwgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIAotICAgIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCA1LCAKLSAgICAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAKLSAgICAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgNSwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMTEzLCAxMTMsIDExMywgCi0gICAgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIAotICAgIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCA1LCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgCi0gICAgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgCi0gICAgNSwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMTEzLCAyMCwgMCwgMCwgNywgOCwgOSwgMTAsIDExLCAxMiwgMTMsIDE0LCAKLSAgICAxNSwgMTYsIDcsIDgsIDksIDEwLCAxMSwgMTIsIDEzLCAxNCwgMTUsIDE2LCA3LCA4LCA5LCAxMCwgMTEsIDEyLCAxMywgMTQsIAotICAgIDE1LCAxNiwgNywgOCwgOSwgMTAsIDExLCAxMiwgMTMsIDE0LCAxNSwgMTYsIDcsIDgsIDksIDEwLCAxMSwgMTIsIDEzLCAxNCwgCi0gICAgMTUsIDE2LCA1NSwgNTUsIDU1LCA1NSwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgNTUsIAotICAgIDU1LCAwLCA1NSwgMCwgMCwgNTUsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgMCwgNTUsIDAsIDU1LCAwLCAwLCAwLCAwLCAwLCAwLCA1NSwgMCwgMCwgMCwgMCwgNTUsIDAsIDU1LCAwLCAKLSAgICA1NSwgMCwgNTUsIDU1LCA1NSwgMCwgNTUsIDU1LCAwLCA1NSwgMCwgMCwgNTUsIDAsIDU1LCAwLCA1NSwgMCwgNTUsIDAsIAotICAgIDU1LCAwLCA1NSwgNTUsIDAsIDU1LCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDAsIDU1LCA1NSwgNTUsIDU1LCAwLCA1NSwgNTUsIDU1LCA1NSwgMCwgNTUsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDAsIDAsIDAsIDU1LCA1NSwgNTUsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCA1LCA1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1LCA1LCA1LCA1LCA1LCA1LCAKLSAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKLSAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAwLCAwLCAwLCAwLCA1LCA1LCA1LCA1LCA1LCA1LCAKLSAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKLSAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKLSAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKICAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKLSAgICA1LCAwLCAwLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAwLCAwLCA1LCA1LCA1LCA1LCA1LCAKLSAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAwLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKLSAgICA1LCA1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNDUsIDI0NSwgMjYsIDIyLCAyMywgMjQ2LCAyNDcsIDI0OCwgMjQ5LCAKLSAgICAyNTAsIDI1MSwgMCwgMCwgMCwgMCwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgMCwgMCwgMCwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgMCwgMCwgMCwgMCwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNSwgNSwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgMCwgMCwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgNSwgNSwgCi0gICAgNSwgNSwgNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCiAgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgCi0gICAgNSwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMTgsIDE4LCAyNSwgMjUsIDI1LCA1LCA1LCA1LCAxOCwgCisgICAgMTgsIDE4LCAxOCwgMTgsIDE4LCAyMSwgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDI1LCAyNSwgMjUsIDI1LCAyNSwgCisgICAgMjUsIDI1LCAyNSwgNSwgNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAorICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDI1LCAyNSwgCisgICAgMjUsIDI1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCAyNSwgMjUsIDI1LCA1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNywgMjcsIAorICAgIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgCisgICAgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIAorICAgIDExOSwgMTE5LCAxMTksIDExOSwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIAorICAgIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAxMTksIDExOSwgMTE5LCAxMTksIAorICAgIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAKKyAgICAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDAsIAorICAgIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIAorICAgIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAKKyAgICAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAyMCwgMjAsIDIwLCAKKyAgICAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAKKyAgICAyMCwgMjAsIDIwLCAyMCwgMjAsIDExOSwgMCwgMTE5LCAxMTksIDAsIDAsIDExOSwgMCwgMCwgMTE5LCAxMTksIDAsIDAsIAorICAgIDExOSwgMTE5LCAxMTksIDExOSwgMCwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDIwLCAyMCwgCisgICAgMjAsIDIwLCAwLCAyMCwgMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIAorICAgIDIwLCAyMCwgMjAsIDIwLCAyMCwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAKKyAgICAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgCisgICAgMTE5LCAxMTksIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAKKyAgICAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMTE5LCAxMTksIDAsIDExOSwgMTE5LCAxMTksIDExOSwgCisgICAgMCwgMCwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDAsIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAKKyAgICAxMTksIDExOSwgMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgCisgICAgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAxMTksIDExOSwgMCwgMTE5LCAxMTksIDExOSwgCisgICAgMTE5LCAwLCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMCwgMTE5LCAwLCAwLCAwLCAxMTksIDExOSwgMTE5LCAxMTksIAorICAgIDExOSwgMTE5LCAxMTksIDAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgCisgICAgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIAorICAgIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAKKyAgICAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIAorICAgIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMTE5LCAKKyAgICAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgCisgICAgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDIwLCAyMCwgMjAsIDIwLCAKKyAgICAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAKKyAgICAyMCwgMjAsIDIwLCAyMCwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIAorICAgIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAKKyAgICAxMTksIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgCisgICAgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAKKyAgICAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgCisgICAgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIAorICAgIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMTE5LCAxMTksIDExOSwgCisgICAgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIAorICAgIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAKKyAgICAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAKKyAgICAyMCwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIAorICAgIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDIwLCAyMCwgMjAsIAorICAgIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIAorICAgIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAwLCAwLCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgCisgICAgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIAorICAgIDExOSwgMTE5LCAxMTksIDUsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgCisgICAgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCA1LCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAKKyAgICAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgCisgICAgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDUsIDIwLCAyMCwgMjAsIDIwLCAKKyAgICAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAKKyAgICAyMCwgMjAsIDIwLCA1LCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIAorICAgIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAKKyAgICAxMTksIDExOSwgMTE5LCAxMTksIDUsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIAorICAgIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCA1LCAyMCwgMjAsIDIwLCAyMCwgCisgICAgMjAsIDIwLCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIAorICAgIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDUsIDIwLCAyMCwgCisgICAgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgCisgICAgMjAsIDIwLCAyMCwgMjAsIDIwLCA1LCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgCisgICAgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIAorICAgIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDUsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAKKyAgICAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCA1LCAyMCwgMjAsIAorICAgIDIwLCAyMCwgMjAsIDIwLCAxMTksIDIwLCAwLCAwLCA3LCA4LCA5LCAxMCwgMTEsIDEyLCAxMywgMTQsIDE1LCAxNiwgNywgOCwgCisgICAgOSwgMTAsIDExLCAxMiwgMTMsIDE0LCAxNSwgMTYsIDcsIDgsIDksIDEwLCAxMSwgMTIsIDEzLCAxNCwgMTUsIDE2LCA3LCA4LCAKKyAgICA5LCAxMCwgMTEsIDEyLCAxMywgMTQsIDE1LCAxNiwgNywgOCwgOSwgMTAsIDExLCAxMiwgMTMsIDE0LCAxNSwgMTYsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDI3LCAyNywgMjcsIAorICAgIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgMCwgNTUsIDU1LCAwLCA1NSwgMCwgMCwgNTUsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCAwLCA1NSwgNTUsIDU1LCA1NSwgMCwgNTUsIDAsIDU1LCAwLCAwLCAwLCAwLCAwLCAwLCA1NSwgMCwgMCwgCisgICAgMCwgMCwgNTUsIDAsIDU1LCAwLCA1NSwgMCwgNTUsIDU1LCA1NSwgMCwgNTUsIDU1LCAwLCA1NSwgMCwgMCwgNTUsIDAsIDU1LCAKKyAgICAwLCA1NSwgMCwgNTUsIDAsIDU1LCAwLCA1NSwgNTUsIDAsIDU1LCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgMCwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDU1LCA1NSwgNTUsIDU1LCAwLCA1NSwgNTUsIDU1LCA1NSwgMCwgNTUsIDAsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDAsIDAsIDAsIDU1LCA1NSwgNTUsIDAsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1LCA1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAwLCAwLCAwLCAwLCAKICAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKICAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKICAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKICAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCAwLCAwLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICAwLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAwLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKICAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKLSAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKLSAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAwLCA1LCA1LCA1LCA1LCAwLCAwLCAwLCAKLSAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKLSAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKLSAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAwLCAwLCA1LCA1LCA1LCA1LCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKLSAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNTIsIDI1MiwgMjYsIDIyLCAyMywgCisgICAgMjUzLCAyNTQsIDI1NSwgMjU2LCAyNTcsIDI1OCwgMjcsIDI3LCAwLCAwLCAwLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAwLCAzMDYsIAorICAgIDMwNiwgMzA2LCAzMDYsIDMwNiwgMzA2LCAzMDYsIDMwNiwgMzA2LCAzMDYsIDMwNiwgMzA2LCAzMDYsIDMwNiwgMzA2LCAKKyAgICAzMDYsIDMwNiwgMzA2LCAzMDYsIDMwNiwgMzA2LCAzMDYsIDMwNiwgMzA2LCAzMDYsIDMwNiwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgMzA2LCAzMDYsIDMwNiwgMzA2LCAzMDYsIDMwNiwgMzA2LCAzMDYsIDMwNiwgMzA2LCAzMDYsIDMwNiwgMzA2LCAzMDYsIAorICAgIDMwNiwgMzA2LCAzMDYsIDMwNiwgMzA2LCAzMDYsIDMwNiwgMzA2LCAzMDYsIDMwNiwgMzA2LCAzMDYsIDUsIDUsIDAsIDAsIAorICAgIDAsIDAsIDMwNiwgMzA2LCAzMDYsIDMwNiwgMzA2LCAzMDYsIDMwNiwgMzA2LCAzMDYsIDMwNiwgMzA2LCAzMDYsIDMwNiwgCisgICAgMzA2LCAzMDYsIDMwNiwgMzA2LCAzMDYsIDMwNiwgMzA2LCAzMDYsIDMwNiwgMzA2LCAzMDYsIDMwNiwgMzA2LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCAwLCAwLCAwLCAwLCAwLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCA1LCA1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICAwLCAwLCAwLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAwLCAwLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAwLCAwLCAwLCAwLCAwLCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCAwLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCAwLCAwLCAwLCAwLCAwLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCAwLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAwLCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAwLCAwLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAwLCAwLCAwLCA1LCA1LCA1LCA1LCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKICAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKICAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKLSAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAwLCAwLCAwLCAwLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKICAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKLSAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAwLCAwLCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAwLCAwLCAwLCAwLCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NSwgMjc0LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTUsIDI4MSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjc0LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjgxLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNzQsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyODEsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDI3NCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDI4MSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNzQsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjc0LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCAyNzQsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDI4MSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyODEsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDI4MSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKQEAgLTI4MzQsMzEgKzMxMDIsMzMgQEAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNzQsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDI3NCwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgMjgxLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCAyODEsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDI4MSwgNTUsIDU1LCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjc0LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjc0LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjgxLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyODEsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDI3NCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDI3NCwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDI4MSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKQEAgLTI4NjksMzUgKzMxMzksMzQgQEAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyODEsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDI3NCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAotICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTUsIAogICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCAKICAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKLSAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCi0gICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDIxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyMSwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMjEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgCiAgICAgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgCiAgICAgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgCiAgICAgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgCiAgICAgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgCi0gICAgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgCi0gICAgMjEsIDIxLCAyMSwgMjEsIDIxLCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgCisgICAgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDI1LCAyNSwgMjUsIDI1LCAyNSwgCiAgICAgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgCiAgICAgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgCiAgICAgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgCkBAIC0yOTEwLDEzICszMTc5LDE0IEBACiAgICAgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgCiAgICAgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgCiAgICAgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgCi0gICAgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAKKyAgICAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAKKyAgICAyNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgCiAgICAgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgCiAgICAgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgCiAgICAgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgCiAgICAgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgCi0gICAgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMCwgMCwgCisgICAgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMCwgCisgICAgMCwgCiB9OwogCiAvKiBSZXR1cm5zIHRoZSBudW1lcmljIHZhbHVlIGFzIGRvdWJsZSBmb3IgVW5pY29kZSBjaGFyYWN0ZXJzCkBAIC0yOTQxLDYgKzMyMTEsNyBAQAogICAgIGNhc2UgMHgwQzc4OgogICAgIGNhc2UgMHgwQ0U2OgogICAgIGNhc2UgMHgwRDY2OgorICAgIGNhc2UgMHgwREU2OgogICAgIGNhc2UgMHgwRTUwOgogICAgIGNhc2UgMHgwRUQwOgogICAgIGNhc2UgMHgwRjIwOgpAQCAtMjk2OSw2ICszMjQwLDcgQEAKICAgICBjYXNlIDB4QThEMDoKICAgICBjYXNlIDB4QTkwMDoKICAgICBjYXNlIDB4QTlEMDoKKyAgICBjYXNlIDB4QTlGMDoKICAgICBjYXNlIDB4QUE1MDoKICAgICBjYXNlIDB4QUJGMDoKICAgICBjYXNlIDB4RjlCMjoKQEAgLTI5NzksNyArMzI1MSwxMyBAQAogICAgIGNhc2UgMHgxMTBGMDoKICAgICBjYXNlIDB4MTExMzY6CiAgICAgY2FzZSAweDExMUQwOgorICAgIGNhc2UgMHgxMTJGMDoKKyAgICBjYXNlIDB4MTE0RDA6CisgICAgY2FzZSAweDExNjUwOgogICAgIGNhc2UgMHgxMTZDMDoKKyAgICBjYXNlIDB4MTE4RTA6CisgICAgY2FzZSAweDE2QTYwOgorICAgIGNhc2UgMHgxNkI1MDoKICAgICBjYXNlIDB4MUQ3Q0U6CiAgICAgY2FzZSAweDFEN0Q4OgogICAgIGNhc2UgMHgxRDdFMjoKQEAgLTI5ODcsNiArMzI2NSw4IEBACiAgICAgY2FzZSAweDFEN0Y2OgogICAgIGNhc2UgMHgxRjEwMDoKICAgICBjYXNlIDB4MUYxMDE6CisgICAgY2FzZSAweDFGMTBCOgorICAgIGNhc2UgMHgxRjEwQzoKICAgICAgICAgcmV0dXJuIChkb3VibGUpIDAuMDsKICAgICBjYXNlIDB4MDAzMToKICAgICBjYXNlIDB4MDBCOToKQEAgLTMwMDQsNiArMzI4NCw3IEBACiAgICAgY2FzZSAweDBDN0M6CiAgICAgY2FzZSAweDBDRTc6CiAgICAgY2FzZSAweDBENjc6CisgICAgY2FzZSAweDBERTc6CiAgICAgY2FzZSAweDBFNTE6CiAgICAgY2FzZSAweDBFRDE6CiAgICAgY2FzZSAweDBGMjE6CkBAIC0zMDQ3LDYgKzMzMjgsNyBAQAogICAgIGNhc2UgMHhBOEQxOgogICAgIGNhc2UgMHhBOTAxOgogICAgIGNhc2UgMHhBOUQxOgorICAgIGNhc2UgMHhBOUYxOgogICAgIGNhc2UgMHhBQTUxOgogICAgIGNhc2UgMHhBQkYxOgogICAgIGNhc2UgMHhGRjExOgpAQCAtMzA1NSwzNCArMzMzNyw0OCBAQAogICAgIGNhc2UgMHgxMDE1ODoKICAgICBjYXNlIDB4MTAxNTk6CiAgICAgY2FzZSAweDEwMTVBOgorICAgIGNhc2UgMHgxMDJFMToKICAgICBjYXNlIDB4MTAzMjA6CiAgICAgY2FzZSAweDEwM0QxOgogICAgIGNhc2UgMHgxMDRBMToKICAgICBjYXNlIDB4MTA4NTg6CisgICAgY2FzZSAweDEwODc5OgorICAgIGNhc2UgMHgxMDhBNzoKICAgICBjYXNlIDB4MTA5MTY6CiAgICAgY2FzZSAweDEwQTQwOgogICAgIGNhc2UgMHgxMEE3RDoKKyAgICBjYXNlIDB4MTBBOUQ6CisgICAgY2FzZSAweDEwQUVCOgogICAgIGNhc2UgMHgxMEI1ODoKICAgICBjYXNlIDB4MTBCNzg6CisgICAgY2FzZSAweDEwQkE5OgogICAgIGNhc2UgMHgxMEU2MDoKICAgICBjYXNlIDB4MTEwNTI6CiAgICAgY2FzZSAweDExMDY3OgogICAgIGNhc2UgMHgxMTBGMToKICAgICBjYXNlIDB4MTExMzc6CiAgICAgY2FzZSAweDExMUQxOgorICAgIGNhc2UgMHgxMTFFMToKKyAgICBjYXNlIDB4MTEyRjE6CisgICAgY2FzZSAweDExNEQxOgorICAgIGNhc2UgMHgxMTY1MToKICAgICBjYXNlIDB4MTE2QzE6CisgICAgY2FzZSAweDExOEUxOgogICAgIGNhc2UgMHgxMjQxNToKICAgICBjYXNlIDB4MTI0MUU6CiAgICAgY2FzZSAweDEyNDJDOgogICAgIGNhc2UgMHgxMjQzNDoKICAgICBjYXNlIDB4MTI0NEY6CiAgICAgY2FzZSAweDEyNDU4OgorICAgIGNhc2UgMHgxNkE2MToKKyAgICBjYXNlIDB4MTZCNTE6CiAgICAgY2FzZSAweDFEMzYwOgogICAgIGNhc2UgMHgxRDdDRjoKICAgICBjYXNlIDB4MUQ3RDk6CiAgICAgY2FzZSAweDFEN0UzOgogICAgIGNhc2UgMHgxRDdFRDoKICAgICBjYXNlIDB4MUQ3Rjc6CisgICAgY2FzZSAweDFFOEM3OgogICAgIGNhc2UgMHgxRjEwMjoKICAgICBjYXNlIDB4MjA5MkE6CiAgICAgICAgIHJldHVybiAoZG91YmxlKSAxLjA7CkBAIC0zMTAyLDExICszMzk4LDEzIEBACiAgICAgY2FzZSAweDEwMTc1OgogICAgIGNhc2UgMHgxMDE3NjoKICAgICBjYXNlIDB4MTBFN0I6CisgICAgY2FzZSAweDEyNDY0OgogICAgICAgICByZXR1cm4gKGRvdWJsZSkgMS4wLzIuMDsKICAgICBjYXNlIDB4MjE1MzoKICAgICBjYXNlIDB4MTBFN0Q6CiAgICAgY2FzZSAweDEyNDVBOgogICAgIGNhc2UgMHgxMjQ1RDoKKyAgICBjYXNlIDB4MTI0NjU6CiAgICAgICAgIHJldHVybiAoZG91YmxlKSAxLjAvMy4wOwogICAgIGNhc2UgMHgwMEJDOgogICAgIGNhc2UgMHgwOUY3OgpAQCAtMzExNCw5ICszNDEyLDExIEBACiAgICAgY2FzZSAweDBENzM6CiAgICAgY2FzZSAweEE4MzA6CiAgICAgY2FzZSAweDEwMTQwOgorICAgIGNhc2UgMHgxMDE4QjoKICAgICBjYXNlIDB4MTBFN0M6CiAgICAgY2FzZSAweDEyNDYwOgogICAgIGNhc2UgMHgxMjQ2MjoKKyAgICBjYXNlIDB4MTI0NjM6CiAgICAgICAgIHJldHVybiAoZG91YmxlKSAxLjAvNC4wOwogICAgIGNhc2UgMHgyMTU1OgogICAgICAgICByZXR1cm4gKGRvdWJsZSkgMS4wLzUuMDsKQEAgLTMxNjMsMTUgKzM0NjMsMjQgQEAKICAgICBjYXNlIDB4MTAxNjI6CiAgICAgY2FzZSAweDEwMTYzOgogICAgIGNhc2UgMHgxMDE2NDoKKyAgICBjYXNlIDB4MTAyRUE6CiAgICAgY2FzZSAweDEwMzIyOgogICAgIGNhc2UgMHgxMDNEMzoKICAgICBjYXNlIDB4MTA4NUI6CisgICAgY2FzZSAweDEwODdFOgorICAgIGNhc2UgMHgxMDhBRDoKICAgICBjYXNlIDB4MTA5MTc6CiAgICAgY2FzZSAweDEwQTQ0OgorICAgIGNhc2UgMHgxMEE5RToKKyAgICBjYXNlIDB4MTBBRUQ6CiAgICAgY2FzZSAweDEwQjVDOgogICAgIGNhc2UgMHgxMEI3QzoKKyAgICBjYXNlIDB4MTBCQUQ6CiAgICAgY2FzZSAweDEwRTY5OgogICAgIGNhc2UgMHgxMTA1QjoKKyAgICBjYXNlIDB4MTExRUE6CisgICAgY2FzZSAweDExOEVBOgorICAgIGNhc2UgMHgxNkI1QjoKICAgICBjYXNlIDB4MUQzNjk6CiAgICAgICAgIHJldHVybiAoZG91YmxlKSAxMC4wOwogICAgIGNhc2UgMHgwQkYxOgpAQCAtMzE4NiwxNCArMzQ5NSwyMCBAQAogICAgIGNhc2UgMHgxMDE0QjoKICAgICBjYXNlIDB4MTAxNTI6CiAgICAgY2FzZSAweDEwMTZBOgorICAgIGNhc2UgMHgxMDJGMzoKICAgICBjYXNlIDB4MTAzRDU6CiAgICAgY2FzZSAweDEwODVEOgorICAgIGNhc2UgMHgxMDhBRjoKICAgICBjYXNlIDB4MTA5MTk6CiAgICAgY2FzZSAweDEwQTQ2OgorICAgIGNhc2UgMHgxMEFFRjoKICAgICBjYXNlIDB4MTBCNUU6CiAgICAgY2FzZSAweDEwQjdFOgorICAgIGNhc2UgMHgxMEJBRjoKICAgICBjYXNlIDB4MTBFNzI6CiAgICAgY2FzZSAweDExMDY0OgorICAgIGNhc2UgMHgxMTFGMzoKKyAgICBjYXNlIDB4MTZCNUM6CiAgICAgICAgIHJldHVybiAoZG91YmxlKSAxMDAuMDsKICAgICBjYXNlIDB4MEJGMjoKICAgICBjYXNlIDB4MEQ3MjoKQEAgLTMyMTIsNiArMzUyNyw3IEBACiAgICAgY2FzZSAweDEwQjVGOgogICAgIGNhc2UgMHgxMEI3RjoKICAgICBjYXNlIDB4MTEwNjU6CisgICAgY2FzZSAweDExMUY0OgogICAgICAgICByZXR1cm4gKGRvdWJsZSkgMTAwMC4wOwogICAgIGNhc2UgMHgxMzdDOgogICAgIGNhc2UgMHgyMTgyOgpAQCAtMzIyMCwxMyArMzUzNiwyMCBAQAogICAgIGNhc2UgMHgxMDEyQjoKICAgICBjYXNlIDB4MTAxNTU6CiAgICAgY2FzZSAweDEwODVGOgorICAgIGNhc2UgMHgxNkI1RDoKICAgICAgICAgcmV0dXJuIChkb3VibGUpIDEwMDAwLjA7CiAgICAgY2FzZSAweDIxODg6CiAgICAgICAgIHJldHVybiAoZG91YmxlKSAxMDAwMDAuMDsKKyAgICBjYXNlIDB4MTZCNUU6CisgICAgICAgIHJldHVybiAoZG91YmxlKSAxMDAwMDAwLjA7CiAgICAgY2FzZSAweDRFQkY6CiAgICAgY2FzZSAweDUxMDQ6CisgICAgY2FzZSAweDE2QjVGOgogICAgICAgICByZXR1cm4gKGRvdWJsZSkgMTAwMDAwMDAwLjA7CisgICAgY2FzZSAweDE2QjYwOgorICAgICAgICByZXR1cm4gKGRvdWJsZSkgMTAwMDAwMDAwMDAuMDsKICAgICBjYXNlIDB4NTE0NjoKKyAgICBjYXNlIDB4MTZCNjE6CiAgICAgICAgIHJldHVybiAoZG91YmxlKSAxMDAwMDAwMDAwMDAwLjA7CiAgICAgY2FzZSAweDIxNkE6CiAgICAgY2FzZSAweDIxN0E6CkBAIC0zMzA1LDYgKzM2MjgsNyBAQAogICAgIGNhc2UgMHgwQzdEOgogICAgIGNhc2UgMHgwQ0U4OgogICAgIGNhc2UgMHgwRDY4OgorICAgIGNhc2UgMHgwREU4OgogICAgIGNhc2UgMHgwRTUyOgogICAgIGNhc2UgMHgwRUQyOgogICAgIGNhc2UgMHgwRjIyOgpAQCAtMzM0OSw2ICszNjczLDcgQEAKICAgICBjYXNlIDB4QThEMjoKICAgICBjYXNlIDB4QTkwMjoKICAgICBjYXNlIDB4QTlEMjoKKyAgICBjYXNlIDB4QTlGMjoKICAgICBjYXNlIDB4QUE1MjoKICAgICBjYXNlIDB4QUJGMjoKICAgICBjYXNlIDB4Rjk3ODoKQEAgLTMzNTgsMjAgKzM2ODMsMjkgQEAKICAgICBjYXNlIDB4MTAxNUM6CiAgICAgY2FzZSAweDEwMTVEOgogICAgIGNhc2UgMHgxMDE1RToKKyAgICBjYXNlIDB4MTAyRTI6CiAgICAgY2FzZSAweDEwM0QyOgogICAgIGNhc2UgMHgxMDRBMjoKICAgICBjYXNlIDB4MTA4NTk6CisgICAgY2FzZSAweDEwODdBOgorICAgIGNhc2UgMHgxMDhBODoKICAgICBjYXNlIDB4MTA5MUE6CiAgICAgY2FzZSAweDEwQTQxOgogICAgIGNhc2UgMHgxMEI1OToKICAgICBjYXNlIDB4MTBCNzk6CisgICAgY2FzZSAweDEwQkFBOgogICAgIGNhc2UgMHgxMEU2MToKICAgICBjYXNlIDB4MTEwNTM6CiAgICAgY2FzZSAweDExMDY4OgogICAgIGNhc2UgMHgxMTBGMjoKICAgICBjYXNlIDB4MTExMzg6CiAgICAgY2FzZSAweDExMUQyOgorICAgIGNhc2UgMHgxMTFFMjoKKyAgICBjYXNlIDB4MTEyRjI6CisgICAgY2FzZSAweDExNEQyOgorICAgIGNhc2UgMHgxMTY1MjoKICAgICBjYXNlIDB4MTE2QzI6CisgICAgY2FzZSAweDExOEUyOgogICAgIGNhc2UgMHgxMjQwMDoKICAgICBjYXNlIDB4MTI0MTY6CiAgICAgY2FzZSAweDEyNDFGOgpAQCAtMzM4MiwxMiArMzcxNiwxNSBAQAogICAgIGNhc2UgMHgxMjQ1MDoKICAgICBjYXNlIDB4MTI0NTY6CiAgICAgY2FzZSAweDEyNDU5OgorICAgIGNhc2UgMHgxNkE2MjoKKyAgICBjYXNlIDB4MTZCNTI6CiAgICAgY2FzZSAweDFEMzYxOgogICAgIGNhc2UgMHgxRDdEMDoKICAgICBjYXNlIDB4MUQ3REE6CiAgICAgY2FzZSAweDFEN0U0OgogICAgIGNhc2UgMHgxRDdFRToKICAgICBjYXNlIDB4MUQ3Rjg6CisgICAgY2FzZSAweDFFOEM4OgogICAgIGNhc2UgMHgxRjEwMzoKICAgICBjYXNlIDB4MjIzOTA6CiAgICAgICAgIHJldHVybiAoZG91YmxlKSAyLjA7CkBAIC0zMzk2LDYgKzM3MzMsNyBAQAogICAgIGNhc2UgMHgxMEU3RToKICAgICBjYXNlIDB4MTI0NUI6CiAgICAgY2FzZSAweDEyNDVFOgorICAgIGNhc2UgMHgxMjQ2NjoKICAgICAgICAgcmV0dXJuIChkb3VibGUpIDIuMC8zLjA7CiAgICAgY2FzZSAweDIxNTY6CiAgICAgICAgIHJldHVybiAoZG91YmxlKSAyLjAvNS4wOwpAQCAtMzQwOSwxNyArMzc0NywyNiBAQAogICAgIGNhc2UgMHg1MzQ0OgogICAgIGNhc2UgMHg1RUZGOgogICAgIGNhc2UgMHgxMDExMToKKyAgICBjYXNlIDB4MTAyRUI6CiAgICAgY2FzZSAweDEwM0Q0OgogICAgIGNhc2UgMHgxMDg1QzoKKyAgICBjYXNlIDB4MTA4N0Y6CisgICAgY2FzZSAweDEwOEFFOgogICAgIGNhc2UgMHgxMDkxODoKICAgICBjYXNlIDB4MTBBNDU6CisgICAgY2FzZSAweDEwQTlGOgorICAgIGNhc2UgMHgxMEFFRToKICAgICBjYXNlIDB4MTBCNUQ6CiAgICAgY2FzZSAweDEwQjdEOgorICAgIGNhc2UgMHgxMEJBRToKICAgICBjYXNlIDB4MTBFNkE6CiAgICAgY2FzZSAweDExMDVDOgorICAgIGNhc2UgMHgxMTFFQjoKKyAgICBjYXNlIDB4MTE4RUI6CiAgICAgY2FzZSAweDFEMzZBOgogICAgICAgICByZXR1cm4gKGRvdWJsZSkgMjAuMDsKICAgICBjYXNlIDB4MTAxMUE6CisgICAgY2FzZSAweDEwMkY0OgogICAgIGNhc2UgMHgxMEU3MzoKICAgICAgICAgcmV0dXJuIChkb3VibGUpIDIwMC4wOwogICAgIGNhc2UgMHgxMDEyMzoKQEAgLTM0NjIsNiArMzgwOSw3IEBACiAgICAgY2FzZSAweDBDN0U6CiAgICAgY2FzZSAweDBDRTk6CiAgICAgY2FzZSAweDBENjk6CisgICAgY2FzZSAweDBERTk6CiAgICAgY2FzZSAweDBFNTM6CiAgICAgY2FzZSAweDBFRDM6CiAgICAgY2FzZSAweDBGMjM6CkBAIC0zNTA1LDI0ICszODUzLDM0IEBACiAgICAgY2FzZSAweEE4RDM6CiAgICAgY2FzZSAweEE5MDM6CiAgICAgY2FzZSAweEE5RDM6CisgICAgY2FzZSAweEE5RjM6CiAgICAgY2FzZSAweEFBNTM6CiAgICAgY2FzZSAweEFCRjM6CiAgICAgY2FzZSAweEY5NkI6CiAgICAgY2FzZSAweEZGMTM6CiAgICAgY2FzZSAweDEwMTA5OgorICAgIGNhc2UgMHgxMDJFMzoKICAgICBjYXNlIDB4MTA0QTM6CiAgICAgY2FzZSAweDEwODVBOgorICAgIGNhc2UgMHgxMDg3QjoKKyAgICBjYXNlIDB4MTA4QTk6CiAgICAgY2FzZSAweDEwOTFCOgogICAgIGNhc2UgMHgxMEE0MjoKICAgICBjYXNlIDB4MTBCNUE6CiAgICAgY2FzZSAweDEwQjdBOgorICAgIGNhc2UgMHgxMEJBQjoKICAgICBjYXNlIDB4MTBFNjI6CiAgICAgY2FzZSAweDExMDU0OgogICAgIGNhc2UgMHgxMTA2OToKICAgICBjYXNlIDB4MTEwRjM6CiAgICAgY2FzZSAweDExMTM5OgogICAgIGNhc2UgMHgxMTFEMzoKKyAgICBjYXNlIDB4MTExRTM6CisgICAgY2FzZSAweDExMkYzOgorICAgIGNhc2UgMHgxMTREMzoKKyAgICBjYXNlIDB4MTE2NTM6CiAgICAgY2FzZSAweDExNkMzOgorICAgIGNhc2UgMHgxMThFMzoKICAgICBjYXNlIDB4MTI0MDE6CiAgICAgY2FzZSAweDEyNDA4OgogICAgIGNhc2UgMHgxMjQxNzoKQEAgLTM1MzgsMTIgKzM4OTYsMTUgQEAKICAgICBjYXNlIDB4MTI0NEI6CiAgICAgY2FzZSAweDEyNDUxOgogICAgIGNhc2UgMHgxMjQ1NzoKKyAgICBjYXNlIDB4MTZBNjM6CisgICAgY2FzZSAweDE2QjUzOgogICAgIGNhc2UgMHgxRDM2MjoKICAgICBjYXNlIDB4MUQ3RDE6CiAgICAgY2FzZSAweDFEN0RCOgogICAgIGNhc2UgMHgxRDdFNToKICAgICBjYXNlIDB4MUQ3RUY6CiAgICAgY2FzZSAweDFEN0Y5OgorICAgIGNhc2UgMHgxRThDOToKICAgICBjYXNlIDB4MUYxMDQ6CiAgICAgY2FzZSAweDIwQUZEOgogICAgIGNhc2UgMHgyMEIxOToKQEAgLTM1NzQsMTMgKzM5MzUsMTcgQEAKICAgICBjYXNlIDB4NTM0NToKICAgICBjYXNlIDB4MTAxMTI6CiAgICAgY2FzZSAweDEwMTY1OgorICAgIGNhc2UgMHgxMDJFQzoKICAgICBjYXNlIDB4MTBFNkI6CiAgICAgY2FzZSAweDExMDVEOgorICAgIGNhc2UgMHgxMTFFQzoKKyAgICBjYXNlIDB4MTE4RUM6CiAgICAgY2FzZSAweDFEMzZCOgogICAgIGNhc2UgMHgyMDk4MzoKICAgICAgICAgcmV0dXJuIChkb3VibGUpIDMwLjA7CiAgICAgY2FzZSAweDEwMTFCOgogICAgIGNhc2UgMHgxMDE2QjoKKyAgICBjYXNlIDB4MTAyRjU6CiAgICAgY2FzZSAweDEwRTc0OgogICAgICAgICByZXR1cm4gKGRvdWJsZSkgMzAwLjA7CiAgICAgY2FzZSAweDEwMTI0OgpAQCAtMzYxOCw2ICszOTgzLDcgQEAKICAgICBjYXNlIDB4MEM2QToKICAgICBjYXNlIDB4MENFQToKICAgICBjYXNlIDB4MEQ2QToKKyAgICBjYXNlIDB4MERFQToKICAgICBjYXNlIDB4MEU1NDoKICAgICBjYXNlIDB4MEVENDoKICAgICBjYXNlIDB4MEYyNDoKQEAgLTM2NTgsMjEgKzQwMjQsMzIgQEAKICAgICBjYXNlIDB4QThENDoKICAgICBjYXNlIDB4QTkwNDoKICAgICBjYXNlIDB4QTlENDoKKyAgICBjYXNlIDB4QTlGNDoKICAgICBjYXNlIDB4QUE1NDoKICAgICBjYXNlIDB4QUJGNDoKICAgICBjYXNlIDB4RkYxNDoKICAgICBjYXNlIDB4MTAxMEE6CisgICAgY2FzZSAweDEwMkU0OgogICAgIGNhc2UgMHgxMDRBNDoKKyAgICBjYXNlIDB4MTA4N0M6CisgICAgY2FzZSAweDEwOEFBOgorICAgIGNhc2UgMHgxMDhBQjoKICAgICBjYXNlIDB4MTBBNDM6CiAgICAgY2FzZSAweDEwQjVCOgogICAgIGNhc2UgMHgxMEI3QjoKKyAgICBjYXNlIDB4MTBCQUM6CiAgICAgY2FzZSAweDEwRTYzOgogICAgIGNhc2UgMHgxMTA1NToKICAgICBjYXNlIDB4MTEwNkE6CiAgICAgY2FzZSAweDExMEY0OgogICAgIGNhc2UgMHgxMTEzQToKICAgICBjYXNlIDB4MTExRDQ6CisgICAgY2FzZSAweDExMUU0OgorICAgIGNhc2UgMHgxMTJGNDoKKyAgICBjYXNlIDB4MTE0RDQ6CisgICAgY2FzZSAweDExNjU0OgogICAgIGNhc2UgMHgxMTZDNDoKKyAgICBjYXNlIDB4MTE4RTQ6CiAgICAgY2FzZSAweDEyNDAyOgogICAgIGNhc2UgMHgxMjQwOToKICAgICBjYXNlIDB4MTI0MEY6CkBAIC0zNjg4LDEyICs0MDY1LDE2IEBACiAgICAgY2FzZSAweDEyNDRDOgogICAgIGNhc2UgMHgxMjQ1MjoKICAgICBjYXNlIDB4MTI0NTM6CisgICAgY2FzZSAweDEyNDY5OgorICAgIGNhc2UgMHgxNkE2NDoKKyAgICBjYXNlIDB4MTZCNTQ6CiAgICAgY2FzZSAweDFEMzYzOgogICAgIGNhc2UgMHgxRDdEMjoKICAgICBjYXNlIDB4MUQ3REM6CiAgICAgY2FzZSAweDFEN0U2OgogICAgIGNhc2UgMHgxRDdGMDoKICAgICBjYXNlIDB4MUQ3RkE6CisgICAgY2FzZSAweDFFOENBOgogICAgIGNhc2UgMHgxRjEwNToKICAgICBjYXNlIDB4MjAwNjQ6CiAgICAgY2FzZSAweDIwMEUyOgpAQCAtMzcwNiwxMyArNDA4NywxOCBAQAogICAgIGNhc2UgMHgzMkI1OgogICAgIGNhc2UgMHg1MzRDOgogICAgIGNhc2UgMHgxMDExMzoKKyAgICBjYXNlIDB4MTAyRUQ6CiAgICAgY2FzZSAweDEwRTZDOgogICAgIGNhc2UgMHgxMTA1RToKKyAgICBjYXNlIDB4MTExRUQ6CisgICAgY2FzZSAweDExOEVEOgorICAgIGNhc2UgMHgxMjQ2NzoKICAgICBjYXNlIDB4MUQzNkM6CiAgICAgY2FzZSAweDIwOThDOgogICAgIGNhc2UgMHgyMDk5QzoKICAgICAgICAgcmV0dXJuIChkb3VibGUpIDQwLjA7CiAgICAgY2FzZSAweDEwMTFDOgorICAgIGNhc2UgMHgxMDJGNjoKICAgICBjYXNlIDB4MTBFNzU6CiAgICAgICAgIHJldHVybiAoZG91YmxlKSA0MDAuMDsKICAgICBjYXNlIDB4MTAxMjU6CkBAIC0zNzUyLDYgKzQxMzgsNyBAQAogICAgIGNhc2UgMHgwQzZCOgogICAgIGNhc2UgMHgwQ0VCOgogICAgIGNhc2UgMHgwRDZCOgorICAgIGNhc2UgMHgwREVCOgogICAgIGNhc2UgMHgwRTU1OgogICAgIGNhc2UgMHgwRUQ1OgogICAgIGNhc2UgMHgwRjI1OgpAQCAtMzc5Miw2ICs0MTc5LDcgQEAKICAgICBjYXNlIDB4QThENToKICAgICBjYXNlIDB4QTkwNToKICAgICBjYXNlIDB4QTlENToKKyAgICBjYXNlIDB4QTlGNToKICAgICBjYXNlIDB4QUE1NToKICAgICBjYXNlIDB4QUJGNToKICAgICBjYXNlIDB4RkYxNToKQEAgLTM4MDEsMTUgKzQxODksMjQgQEAKICAgICBjYXNlIDB4MTAxNEY6CiAgICAgY2FzZSAweDEwMTVGOgogICAgIGNhc2UgMHgxMDE3MzoKKyAgICBjYXNlIDB4MTAyRTU6CiAgICAgY2FzZSAweDEwMzIxOgogICAgIGNhc2UgMHgxMDRBNToKKyAgICBjYXNlIDB4MTA4N0Q6CisgICAgY2FzZSAweDEwOEFDOgorICAgIGNhc2UgMHgxMEFFQzoKICAgICBjYXNlIDB4MTBFNjQ6CiAgICAgY2FzZSAweDExMDU2OgogICAgIGNhc2UgMHgxMTA2QjoKICAgICBjYXNlIDB4MTEwRjU6CiAgICAgY2FzZSAweDExMTNCOgogICAgIGNhc2UgMHgxMTFENToKKyAgICBjYXNlIDB4MTExRTU6CisgICAgY2FzZSAweDExMkY1OgorICAgIGNhc2UgMHgxMTRENToKKyAgICBjYXNlIDB4MTE2NTU6CiAgICAgY2FzZSAweDExNkM1OgorICAgIGNhc2UgMHgxMThFNToKICAgICBjYXNlIDB4MTI0MDM6CiAgICAgY2FzZSAweDEyNDBBOgogICAgIGNhc2UgMHgxMjQxMDoKQEAgLTM4MjEsMTIgKzQyMTgsMTYgQEAKICAgICBjYXNlIDB4MTI0NEQ6CiAgICAgY2FzZSAweDEyNDU0OgogICAgIGNhc2UgMHgxMjQ1NToKKyAgICBjYXNlIDB4MTI0NkE6CisgICAgY2FzZSAweDE2QTY1OgorICAgIGNhc2UgMHgxNkI1NToKICAgICBjYXNlIDB4MUQzNjQ6CiAgICAgY2FzZSAweDFEN0QzOgogICAgIGNhc2UgMHgxRDdERDoKICAgICBjYXNlIDB4MUQ3RTc6CiAgICAgY2FzZSAweDFEN0YxOgogICAgIGNhc2UgMHgxRDdGQjoKKyAgICBjYXNlIDB4MUU4Q0I6CiAgICAgY2FzZSAweDFGMTA2OgogICAgIGNhc2UgMHgyMDEyMToKICAgICAgICAgcmV0dXJuIChkb3VibGUpIDUuMDsKQEAgLTM4NTIsMTAgKzQyNTMsMTQgQEAKICAgICBjYXNlIDB4MTAxNjg6CiAgICAgY2FzZSAweDEwMTY5OgogICAgIGNhc2UgMHgxMDE3NDoKKyAgICBjYXNlIDB4MTAyRUU6CiAgICAgY2FzZSAweDEwMzIzOgogICAgIGNhc2UgMHgxMEE3RToKICAgICBjYXNlIDB4MTBFNkQ6CiAgICAgY2FzZSAweDExMDVGOgorICAgIGNhc2UgMHgxMTFFRToKKyAgICBjYXNlIDB4MTE4RUU6CisgICAgY2FzZSAweDEyNDY4OgogICAgIGNhc2UgMHgxRDM2RDoKICAgICAgICAgcmV0dXJuIChkb3VibGUpIDUwLjA7CiAgICAgY2FzZSAweDIxNkU6CkBAIC0zODY5LDYgKzQyNzQsNyBAQAogICAgIGNhc2UgMHgxMDE2RToKICAgICBjYXNlIDB4MTAxNkY6CiAgICAgY2FzZSAweDEwMTcwOgorICAgIGNhc2UgMHgxMDJGNzoKICAgICBjYXNlIDB4MTBFNzY6CiAgICAgICAgIHJldHVybiAoZG91YmxlKSA1MDAuMDsKICAgICBjYXNlIDB4MjE4MToKQEAgLTM4OTUsNiArNDMwMSw3IEBACiAgICAgY2FzZSAweDBDNkM6CiAgICAgY2FzZSAweDBDRUM6CiAgICAgY2FzZSAweDBENkM6CisgICAgY2FzZSAweDBERUM6CiAgICAgY2FzZSAweDBFNTY6CiAgICAgY2FzZSAweDBFRDY6CiAgICAgY2FzZSAweDBGMjY6CkBAIC0zOTM1LDEyICs0MzQyLDE0IEBACiAgICAgY2FzZSAweEE4RDY6CiAgICAgY2FzZSAweEE5MDY6CiAgICAgY2FzZSAweEE5RDY6CisgICAgY2FzZSAweEE5RjY6CiAgICAgY2FzZSAweEFBNTY6CiAgICAgY2FzZSAweEFCRjY6CiAgICAgY2FzZSAweEY5RDE6CiAgICAgY2FzZSAweEY5RDM6CiAgICAgY2FzZSAweEZGMTY6CiAgICAgY2FzZSAweDEwMTBDOgorICAgIGNhc2UgMHgxMDJFNjoKICAgICBjYXNlIDB4MTA0QTY6CiAgICAgY2FzZSAweDEwRTY1OgogICAgIGNhc2UgMHgxMTA1NzoKQEAgLTM5NDgsNyArNDM1NywxMiBAQAogICAgIGNhc2UgMHgxMTBGNjoKICAgICBjYXNlIDB4MTExM0M6CiAgICAgY2FzZSAweDExMUQ2OgorICAgIGNhc2UgMHgxMTFFNjoKKyAgICBjYXNlIDB4MTEyRjY6CisgICAgY2FzZSAweDExNEQ2OgorICAgIGNhc2UgMHgxMTY1NjoKICAgICBjYXNlIDB4MTE2QzY6CisgICAgY2FzZSAweDExOEU2OgogICAgIGNhc2UgMHgxMjQwNDoKICAgICBjYXNlIDB4MTI0MEI6CiAgICAgY2FzZSAweDEyNDExOgpAQCAtMzk1NiwyMyArNDM3MCwzMSBAQAogICAgIGNhc2UgMHgxMjQyODoKICAgICBjYXNlIDB4MTI0NDA6CiAgICAgY2FzZSAweDEyNDRFOgorICAgIGNhc2UgMHgxMjQ2QjoKKyAgICBjYXNlIDB4MTZBNjY6CisgICAgY2FzZSAweDE2QjU2OgogICAgIGNhc2UgMHgxRDM2NToKICAgICBjYXNlIDB4MUQ3RDQ6CiAgICAgY2FzZSAweDFEN0RFOgogICAgIGNhc2UgMHgxRDdFODoKICAgICBjYXNlIDB4MUQ3RjI6CiAgICAgY2FzZSAweDFEN0ZDOgorICAgIGNhc2UgMHgxRThDQzoKICAgICBjYXNlIDB4MUYxMDc6CiAgICAgY2FzZSAweDIwQUVBOgogICAgICAgICByZXR1cm4gKGRvdWJsZSkgNi4wOwogICAgIGNhc2UgMHgxMzc3OgogICAgIGNhc2UgMHgzMjREOgogICAgIGNhc2UgMHgxMDExNToKKyAgICBjYXNlIDB4MTAyRUY6CiAgICAgY2FzZSAweDEwRTZFOgogICAgIGNhc2UgMHgxMTA2MDoKKyAgICBjYXNlIDB4MTExRUY6CisgICAgY2FzZSAweDExOEVGOgogICAgIGNhc2UgMHgxRDM2RToKICAgICAgICAgcmV0dXJuIChkb3VibGUpIDYwLjA7CiAgICAgY2FzZSAweDEwMTFFOgorICAgIGNhc2UgMHgxMDJGODoKICAgICBjYXNlIDB4MTBFNzc6CiAgICAgICAgIHJldHVybiAoZG91YmxlKSA2MDAuMDsKICAgICBjYXNlIDB4MTAxMjc6CkBAIC0zOTkyLDYgKzQ0MTQsNyBAQAogICAgIGNhc2UgMHgwQzZEOgogICAgIGNhc2UgMHgwQ0VEOgogICAgIGNhc2UgMHgwRDZEOgorICAgIGNhc2UgMHgwREVEOgogICAgIGNhc2UgMHgwRTU3OgogICAgIGNhc2UgMHgwRUQ3OgogICAgIGNhc2UgMHgwRjI3OgpAQCAtNDAzMiwxMCArNDQ1NSwxMiBAQAogICAgIGNhc2UgMHhBOEQ3OgogICAgIGNhc2UgMHhBOTA3OgogICAgIGNhc2UgMHhBOUQ3OgorICAgIGNhc2UgMHhBOUY3OgogICAgIGNhc2UgMHhBQTU3OgogICAgIGNhc2UgMHhBQkY3OgogICAgIGNhc2UgMHhGRjE3OgogICAgIGNhc2UgMHgxMDEwRDoKKyAgICBjYXNlIDB4MTAyRTc6CiAgICAgY2FzZSAweDEwNEE3OgogICAgIGNhc2UgMHgxMEU2NjoKICAgICBjYXNlIDB4MTEwNTg6CkBAIC00MDQzLDcgKzQ0NjgsMTIgQEAKICAgICBjYXNlIDB4MTEwRjc6CiAgICAgY2FzZSAweDExMTNEOgogICAgIGNhc2UgMHgxMTFENzoKKyAgICBjYXNlIDB4MTExRTc6CisgICAgY2FzZSAweDExMkY3OgorICAgIGNhc2UgMHgxMTRENzoKKyAgICBjYXNlIDB4MTE2NTc6CiAgICAgY2FzZSAweDExNkM3OgorICAgIGNhc2UgMHgxMThFNzoKICAgICBjYXNlIDB4MTI0MDU6CiAgICAgY2FzZSAweDEyNDBDOgogICAgIGNhc2UgMHgxMjQxMjoKQEAgLTQwNTIsMTIgKzQ0ODIsMTYgQEAKICAgICBjYXNlIDB4MTI0NDE6CiAgICAgY2FzZSAweDEyNDQyOgogICAgIGNhc2UgMHgxMjQ0MzoKKyAgICBjYXNlIDB4MTI0NkM6CisgICAgY2FzZSAweDE2QTY3OgorICAgIGNhc2UgMHgxNkI1NzoKICAgICBjYXNlIDB4MUQzNjY6CiAgICAgY2FzZSAweDFEN0Q1OgogICAgIGNhc2UgMHgxRDdERjoKICAgICBjYXNlIDB4MUQ3RTk6CiAgICAgY2FzZSAweDFEN0YzOgogICAgIGNhc2UgMHgxRDdGRDoKKyAgICBjYXNlIDB4MUU4Q0Q6CiAgICAgY2FzZSAweDFGMTA4OgogICAgIGNhc2UgMHgyMDAwMToKICAgICAgICAgcmV0dXJuIChkb3VibGUpIDcuMDsKQEAgLTQwNjgsMTEgKzQ1MDIsMTUgQEAKICAgICBjYXNlIDB4MTM3ODoKICAgICBjYXNlIDB4MzI0RToKICAgICBjYXNlIDB4MTAxMTY6CisgICAgY2FzZSAweDEwMkYwOgogICAgIGNhc2UgMHgxMEU2RjoKICAgICBjYXNlIDB4MTEwNjE6CisgICAgY2FzZSAweDExMUYwOgorICAgIGNhc2UgMHgxMThGMDoKICAgICBjYXNlIDB4MUQzNkY6CiAgICAgICAgIHJldHVybiAoZG91YmxlKSA3MC4wOwogICAgIGNhc2UgMHgxMDExRjoKKyAgICBjYXNlIDB4MTAyRjk6CiAgICAgY2FzZSAweDEwRTc4OgogICAgICAgICByZXR1cm4gKGRvdWJsZSkgNzAwLjA7CiAgICAgY2FzZSAweDEwMTI4OgpAQCAtNDA5Miw2ICs0NTMwLDcgQEAKICAgICBjYXNlIDB4MEM2RToKICAgICBjYXNlIDB4MENFRToKICAgICBjYXNlIDB4MEQ2RToKKyAgICBjYXNlIDB4MERFRToKICAgICBjYXNlIDB4MEU1ODoKICAgICBjYXNlIDB4MEVEODoKICAgICBjYXNlIDB4MEYyODoKQEAgLTQxMzAsMTAgKzQ1NjksMTIgQEAKICAgICBjYXNlIDB4QThEODoKICAgICBjYXNlIDB4QTkwODoKICAgICBjYXNlIDB4QTlEODoKKyAgICBjYXNlIDB4QTlGODoKICAgICBjYXNlIDB4QUE1ODoKICAgICBjYXNlIDB4QUJGODoKICAgICBjYXNlIDB4RkYxODoKICAgICBjYXNlIDB4MTAxMEU6CisgICAgY2FzZSAweDEwMkU4OgogICAgIGNhc2UgMHgxMDRBODoKICAgICBjYXNlIDB4MTBFNjc6CiAgICAgY2FzZSAweDExMDU5OgpAQCAtNDE0MSw3ICs0NTgyLDEyIEBACiAgICAgY2FzZSAweDExMEY4OgogICAgIGNhc2UgMHgxMTEzRToKICAgICBjYXNlIDB4MTExRDg6CisgICAgY2FzZSAweDExMUU4OgorICAgIGNhc2UgMHgxMTJGODoKKyAgICBjYXNlIDB4MTE0RDg6CisgICAgY2FzZSAweDExNjU4OgogICAgIGNhc2UgMHgxMTZDODoKKyAgICBjYXNlIDB4MTE4RTg6CiAgICAgY2FzZSAweDEyNDA2OgogICAgIGNhc2UgMHgxMjQwRDoKICAgICBjYXNlIDB4MTI0MTM6CkBAIC00MTQ5LDIyICs0NTk1LDMwIEBACiAgICAgY2FzZSAweDEyNDJBOgogICAgIGNhc2UgMHgxMjQ0NDoKICAgICBjYXNlIDB4MTI0NDU6CisgICAgY2FzZSAweDEyNDZEOgorICAgIGNhc2UgMHgxNkE2ODoKKyAgICBjYXNlIDB4MTZCNTg6CiAgICAgY2FzZSAweDFEMzY3OgogICAgIGNhc2UgMHgxRDdENjoKICAgICBjYXNlIDB4MUQ3RTA6CiAgICAgY2FzZSAweDFEN0VBOgogICAgIGNhc2UgMHgxRDdGNDoKICAgICBjYXNlIDB4MUQ3RkU6CisgICAgY2FzZSAweDFFOENFOgogICAgIGNhc2UgMHgxRjEwOToKICAgICAgICAgcmV0dXJuIChkb3VibGUpIDguMDsKICAgICBjYXNlIDB4MTM3OToKICAgICBjYXNlIDB4MzI0RjoKICAgICBjYXNlIDB4MTAxMTc6CisgICAgY2FzZSAweDEwMkYxOgogICAgIGNhc2UgMHgxMEU3MDoKICAgICBjYXNlIDB4MTEwNjI6CisgICAgY2FzZSAweDExMUYxOgorICAgIGNhc2UgMHgxMThGMToKICAgICBjYXNlIDB4MUQzNzA6CiAgICAgICAgIHJldHVybiAoZG91YmxlKSA4MC4wOwogICAgIGNhc2UgMHgxMDEyMDoKKyAgICBjYXNlIDB4MTAyRkE6CiAgICAgY2FzZSAweDEwRTc5OgogICAgICAgICByZXR1cm4gKGRvdWJsZSkgODAwLjA7CiAgICAgY2FzZSAweDEwMTI5OgpAQCAtNDE4NCw2ICs0NjM4LDcgQEAKICAgICBjYXNlIDB4MEM2RjoKICAgICBjYXNlIDB4MENFRjoKICAgICBjYXNlIDB4MEQ2RjoKKyAgICBjYXNlIDB4MERFRjoKICAgICBjYXNlIDB4MEU1OToKICAgICBjYXNlIDB4MEVEOToKICAgICBjYXNlIDB4MEYyOToKQEAgLTQyMjMsMTAgKzQ2NzgsMTIgQEAKICAgICBjYXNlIDB4QThEOToKICAgICBjYXNlIDB4QTkwOToKICAgICBjYXNlIDB4QTlEOToKKyAgICBjYXNlIDB4QTlGOToKICAgICBjYXNlIDB4QUE1OToKICAgICBjYXNlIDB4QUJGOToKICAgICBjYXNlIDB4RkYxOToKICAgICBjYXNlIDB4MTAxMEY6CisgICAgY2FzZSAweDEwMkU5OgogICAgIGNhc2UgMHgxMDRBOToKICAgICBjYXNlIDB4MTBFNjg6CiAgICAgY2FzZSAweDExMDVBOgpAQCAtNDIzNCw3ICs0NjkxLDEyIEBACiAgICAgY2FzZSAweDExMEY5OgogICAgIGNhc2UgMHgxMTEzRjoKICAgICBjYXNlIDB4MTExRDk6CisgICAgY2FzZSAweDExMUU5OgorICAgIGNhc2UgMHgxMTJGOToKKyAgICBjYXNlIDB4MTE0RDk6CisgICAgY2FzZSAweDExNjU5OgogICAgIGNhc2UgMHgxMTZDOToKKyAgICBjYXNlIDB4MTE4RTk6CiAgICAgY2FzZSAweDEyNDA3OgogICAgIGNhc2UgMHgxMjQwRToKICAgICBjYXNlIDB4MTI0MTQ6CkBAIC00MjQ0LDEyICs0NzA2LDE2IEBACiAgICAgY2FzZSAweDEyNDQ3OgogICAgIGNhc2UgMHgxMjQ0ODoKICAgICBjYXNlIDB4MTI0NDk6CisgICAgY2FzZSAweDEyNDZFOgorICAgIGNhc2UgMHgxNkE2OToKKyAgICBjYXNlIDB4MTZCNTk6CiAgICAgY2FzZSAweDFEMzY4OgogICAgIGNhc2UgMHgxRDdENzoKICAgICBjYXNlIDB4MUQ3RTE6CiAgICAgY2FzZSAweDFEN0VCOgogICAgIGNhc2UgMHgxRDdGNToKICAgICBjYXNlIDB4MUQ3RkY6CisgICAgY2FzZSAweDFFOENGOgogICAgIGNhc2UgMHgxRjEwQToKICAgICBjYXNlIDB4MkY4OTA6CiAgICAgICAgIHJldHVybiAoZG91YmxlKSA5LjA7CkBAIC00MjU3LDEyICs0NzIzLDE2IEBACiAgICAgICAgIHJldHVybiAoZG91YmxlKSA5LjAvMi4wOwogICAgIGNhc2UgMHgxMzdBOgogICAgIGNhc2UgMHgxMDExODoKKyAgICBjYXNlIDB4MTAyRjI6CiAgICAgY2FzZSAweDEwMzQxOgogICAgIGNhc2UgMHgxMEU3MToKICAgICBjYXNlIDB4MTEwNjM6CisgICAgY2FzZSAweDExMUYyOgorICAgIGNhc2UgMHgxMThGMjoKICAgICBjYXNlIDB4MUQzNzE6CiAgICAgICAgIHJldHVybiAoZG91YmxlKSA5MC4wOwogICAgIGNhc2UgMHgxMDEyMToKKyAgICBjYXNlIDB4MTAyRkI6CiAgICAgY2FzZSAweDEwMzRBOgogICAgIGNhc2UgMHgxMEU3QToKICAgICAgICAgcmV0dXJuIChkb3VibGUpIDkwMC4wOwpkaWZmIC0tZ2l0IGEvUEMvVlM5LjAvX2J6Mi52Y3Byb2ogYi9QQy9WUzkuMC9fYnoyLnZjcHJvagpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggN2NlYjhjNy4uMDAwMDAwMAotLS0gYS9QQy9WUzkuMC9fYnoyLnZjcHJvagorKysgL2Rldi9udWxsCkBAIC0xLDU4MSArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJXaW5kb3dzLTEyNTIiPz4NCi08VmlzdWFsU3R1ZGlvUHJvamVjdA0KLQlQcm9qZWN0VHlwZT0iVmlzdWFsIEMrKyINCi0JVmVyc2lvbj0iOS4wMCINCi0JTmFtZT0iX2J6MiINCi0JUHJvamVjdEdVSUQ9Ins3M0ZDRDJCRC1GMTMzLTQ2QjctOEVDMS0xNDRDRDgyQTU5RDV9Ig0KLQlSb290TmFtZXNwYWNlPSJiejIiDQotCUtleXdvcmQ9IldpbjMyUHJvaiINCi0JVGFyZ2V0RnJhbWV3b3JrVmVyc2lvbj0iMTk2NjEzIg0KLQk+DQotCTxQbGF0Zm9ybXM+DQotCQk8UGxhdGZvcm0NCi0JCQlOYW1lPSJXaW4zMiINCi0JCS8+DQotCQk8UGxhdGZvcm0NCi0JCQlOYW1lPSJ4NjQiDQotCQkvPg0KLQk8L1BsYXRmb3Jtcz4NCi0JPFRvb2xGaWxlcz4NCi0JPC9Ub29sRmlsZXM+DQotCTxDb25maWd1cmF0aW9ucz4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iRGVidWd8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkX2QudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iJChiejJEaXIpIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iV0lOMzI7X0ZJTEVfT0ZGU0VUX0JJVFM9NjQ7X0NSVF9TRUNVUkVfTk9fREVQUkVDQVRFO19DUlRfTk9OU1REQ19OT19ERVBSRUNBVEUiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFEMTcwMDAwIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IkRlYnVnfHg2NCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWRfZC52c3Byb3BzOy5ceDY0LnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIkKGJ6MkRpcikiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJXSU4zMjtfRklMRV9PRkZTRVRfQklUUz02NDtfQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEU7X0NSVF9OT05TVERDX05PX0RFUFJFQ0FURSINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MUQxNzAwMDAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiQoYnoyRGlyKSINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IldJTjMyO19GSUxFX09GRlNFVF9CSVRTPTY0O19DUlRfU0VDVVJFX05PX0RFUFJFQ0FURTtfQ1JUX05PTlNURENfTk9fREVQUkVDQVRFIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxRDE3MDAwMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJSZWxlYXNlfHg2NCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wczsuXHg2NC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiQoYnoyRGlyKSINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IldJTjMyO19GSUxFX09GRlNFVF9CSVRTPTY0O19DUlRfU0VDVVJFX05PX0RFUFJFQ0FURTtfQ1JUX05PTlNURENfTk9fREVQUkVDQVRFIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxRDE3MDAwMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR0luc3RydW1lbnR8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7LlxwZ2luc3RydW1lbnQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiQoYnoyRGlyKSINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IldJTjMyO19GSUxFX09GRlNFVF9CSVRTPTY0O19DUlRfU0VDVVJFX05PX0RFUFJFQ0FURTtfQ1JUX05PTlNURENfTk9fREVQUkVDQVRFIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxRDE3MDAwMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR0luc3RydW1lbnR8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ceDY0LnZzcHJvcHM7LlxwZ2luc3RydW1lbnQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIkKGJ6MkRpcikiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJXSU4zMjtfRklMRV9PRkZTRVRfQklUUz02NDtfQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEU7X0NSVF9OT05TVERDX05PX0RFUFJFQ0FURSINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MUQxNzAwMDAiDQotCQkJCVRhcmdldE1hY2hpbmU9IjE3Ig0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlBHVXBkYXRlfFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ccGd1cGRhdGUudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiQoYnoyRGlyKSINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IldJTjMyO19GSUxFX09GRlNFVF9CSVRTPTY0O19DUlRfU0VDVVJFX05PX0RFUFJFQ0FURTtfQ1JUX05PTlNURENfTk9fREVQUkVDQVRFIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxRDE3MDAwMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR1VwZGF0ZXx4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7Llx4NjQudnNwcm9wczsuXHBndXBkYXRlLnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJCVRhcmdldEVudmlyb25tZW50PSIzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iJChiejJEaXIpIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iV0lOMzI7X0ZJTEVfT0ZGU0VUX0JJVFM9NjQ7X0NSVF9TRUNVUkVfTk9fREVQUkVDQVRFO19DUlRfTk9OU1REQ19OT19ERVBSRUNBVEUiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFEMTcwMDAwIg0KLQkJCQlUYXJnZXRNYWNoaW5lPSIxNyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQk8L0NvbmZpZ3VyYXRpb25zPg0KLQk8UmVmZXJlbmNlcz4NCi0JPC9SZWZlcmVuY2VzPg0KLQk8RmlsZXM+DQotCQk8RmlsdGVyDQotCQkJTmFtZT0iU291cmNlIEZpbGVzIg0KLQkJCT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX2J6Mm1vZHVsZS5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJPC9GaWx0ZXI+DQotCQk8RmlsdGVyDQotCQkJTmFtZT0iYnppcDIgMS4wLjYgSGVhZGVyIEZpbGVzIg0KLQkJCT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9IiQoYnoyRGlyKVxiemxpYi5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iJChiejJEaXIpXGJ6bGliX3ByaXZhdGUuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCTwvRmlsdGVyPg0KLQkJPEZpbHRlcg0KLQkJCU5hbWU9ImJ6aXAyIDEuMC42IFNvdXJjZSBGaWxlcyINCi0JCQk+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIkKGJ6MkRpcilcYmxvY2tzb3J0LmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIkKGJ6MkRpcilcYnpsaWIuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9IiQoYnoyRGlyKVxjb21wcmVzcy5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iJChiejJEaXIpXGNyY3RhYmxlLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIkKGJ6MkRpcilcZGVjb21wcmVzcy5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iJChiejJEaXIpXGh1ZmZtYW4uYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9IiQoYnoyRGlyKVxyYW5kdGFibGUuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCTwvRmlsdGVyPg0KLQk8L0ZpbGVzPg0KLQk8R2xvYmFscz4NCi0JPC9HbG9iYWxzPg0KLTwvVmlzdWFsU3R1ZGlvUHJvamVjdD4NCmRpZmYgLS1naXQgYS9QQy9WUzkuMC9fY3R5cGVzLnZjcHJvaiBiL1BDL1ZTOS4wL19jdHlwZXMudmNwcm9qCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4ZTVjYmExLi4wMDAwMDAwCi0tLSBhL1BDL1ZTOS4wL19jdHlwZXMudmNwcm9qCisrKyAvZGV2L251bGwKQEAgLTEsNzA1ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IldpbmRvd3MtMTI1MiI/Pg0KLTxWaXN1YWxTdHVkaW9Qcm9qZWN0DQotCVByb2plY3RUeXBlPSJWaXN1YWwgQysrIg0KLQlWZXJzaW9uPSI5LjAwIg0KLQlOYW1lPSJfY3R5cGVzIg0KLQlQcm9qZWN0R1VJRD0iezBFOTc5MURCLTU5M0EtNDY1Ri05OEJDLTY4MTAxMTMxMTYxOH0iDQotCVJvb3ROYW1lc3BhY2U9Il9jdHlwZXMiDQotCUtleXdvcmQ9IldpbjMyUHJvaiINCi0JVGFyZ2V0RnJhbWV3b3JrVmVyc2lvbj0iMTk2NjEzIg0KLQk+DQotCTxQbGF0Zm9ybXM+DQotCQk8UGxhdGZvcm0NCi0JCQlOYW1lPSJXaW4zMiINCi0JCS8+DQotCQk8UGxhdGZvcm0NCi0JCQlOYW1lPSJ4NjQiDQotCQkvPg0KLQk8L1BsYXRmb3Jtcz4NCi0JPFRvb2xGaWxlcz4NCi0JPC9Ub29sRmlsZXM+DQotCTxDb25maWd1cmF0aW9ucz4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iRGVidWd8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkX2QudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLi5cLi5cTW9kdWxlc1xfY3R5cGVzXGxpYmZmaV9tc3ZjIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxRDFBMDAwMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJEZWJ1Z3x4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkX2QudnNwcm9wczsuXHg2NC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJCVRhcmdldEVudmlyb25tZW50PSIzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLi5cLi5cTW9kdWxlc1xfY3R5cGVzXGxpYmZmaV9tc3ZjIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxRDFBMDAwMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJSZWxlYXNlfFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLi5cLi5cTW9kdWxlc1xfY3R5cGVzXGxpYmZmaV9tc3ZjIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsT3B0aW9ucz0iL0VYUE9SVDpEbGxHZXRDbGFzc09iamVjdCxQUklWQVRFIC9FWFBPUlQ6RGxsQ2FuVW5sb2FkTm93LFBSSVZBVEUiDQotCQkJCVN1YlN5c3RlbT0iMCINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MUQxQTAwMDAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUmVsZWFzZXx4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7Llx4NjQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIuLlwuLlxNb2R1bGVzXF9jdHlwZXNcbGliZmZpX21zdmMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxPcHRpb25zPSIvRVhQT1JUOkRsbEdldENsYXNzT2JqZWN0LFBSSVZBVEUgL0VYUE9SVDpEbGxDYW5VbmxvYWROb3csUFJJVkFURSINCi0JCQkJU3ViU3lzdGVtPSIwIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxRDFBMDAwMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR0luc3RydW1lbnR8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7LlxwZ2luc3RydW1lbnQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9Ii4uXC4uXE1vZHVsZXNcX2N0eXBlc1xsaWJmZmlfbXN2YyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbE9wdGlvbnM9Ii9FWFBPUlQ6RGxsR2V0Q2xhc3NPYmplY3QsUFJJVkFURSAvRVhQT1JUOkRsbENhblVubG9hZE5vdyxQUklWQVRFIg0KLQkJCQlTdWJTeXN0ZW09IjAiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFEMUEwMDAwIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlBHSW5zdHJ1bWVudHx4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7Llx4NjQudnNwcm9wczsuXHBnaW5zdHJ1bWVudC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9Ii4uXC4uXE1vZHVsZXNcX2N0eXBlc1xsaWJmZmlfbXN2YyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbE9wdGlvbnM9Ii9FWFBPUlQ6RGxsR2V0Q2xhc3NPYmplY3QsUFJJVkFURSAvRVhQT1JUOkRsbENhblVubG9hZE5vdyxQUklWQVRFIg0KLQkJCQlTdWJTeXN0ZW09IjAiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFEMUEwMDAwIg0KLQkJCQlUYXJnZXRNYWNoaW5lPSIxNyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR1VwZGF0ZXxXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wczsuXHBndXBkYXRlLnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIuLlwuLlxNb2R1bGVzXF9jdHlwZXNcbGliZmZpX21zdmMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxPcHRpb25zPSIvRVhQT1JUOkRsbEdldENsYXNzT2JqZWN0LFBSSVZBVEUgL0VYUE9SVDpEbGxDYW5VbmxvYWROb3csUFJJVkFURSINCi0JCQkJU3ViU3lzdGVtPSIwIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxRDFBMDAwMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR1VwZGF0ZXx4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7Llx4NjQudnNwcm9wczsuXHBndXBkYXRlLnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJCVRhcmdldEVudmlyb25tZW50PSIzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLi5cLi5cTW9kdWxlc1xfY3R5cGVzXGxpYmZmaV9tc3ZjIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsT3B0aW9ucz0iL0VYUE9SVDpEbGxHZXRDbGFzc09iamVjdCxQUklWQVRFIC9FWFBPUlQ6RGxsQ2FuVW5sb2FkTm93LFBSSVZBVEUiDQotCQkJCVN1YlN5c3RlbT0iMCINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MUQxQTAwMDAiDQotCQkJCVRhcmdldE1hY2hpbmU9IjE3Ig0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCTwvQ29uZmlndXJhdGlvbnM+DQotCTxSZWZlcmVuY2VzPg0KLQk8L1JlZmVyZW5jZXM+DQotCTxGaWxlcz4NCi0JCTxGaWx0ZXINCi0JCQlOYW1lPSJIZWFkZXIgRmlsZXMiDQotCQkJPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfY3R5cGVzXGN0eXBlcy5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfY3R5cGVzXGN0eXBlc19kbGZjbi5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfY3R5cGVzXGxpYmZmaV9tc3ZjXGZmaS5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfY3R5cGVzXGxpYmZmaV9tc3ZjXGZmaV9jb21tb24uaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX2N0eXBlc1xsaWJmZmlfbXN2Y1xmZmljb25maWcuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX2N0eXBlc1xsaWJmZmlfbXN2Y1xmZml0YXJnZXQuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCTwvRmlsdGVyPg0KLQkJPEZpbHRlcg0KLQkJCU5hbWU9IlNvdXJjZSBGaWxlcyINCi0JCQk+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF9jdHlwZXNcX2N0eXBlcy5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfY3R5cGVzXGNhbGxiYWNrcy5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfY3R5cGVzXGNhbGxwcm9jLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF9jdHlwZXNcY2ZpZWxkLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF9jdHlwZXNcbGliZmZpX21zdmNcZmZpLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF9jdHlwZXNcbWFsbG9jX2Nsb3N1cmUuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX2N0eXBlc1xsaWJmZmlfbXN2Y1xwcmVwX2NpZi5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfY3R5cGVzXHN0Z2RpY3QuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX2N0eXBlc1xsaWJmZmlfbXN2Y1x3aW4zMi5jIg0KLQkJCQk+DQotCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KLQkJCQkJTmFtZT0iRGVidWd8eDY0Ig0KLQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQotCQkJCQk+DQotCQkJCQk8VG9vbA0KLQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCQkvPg0KLQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KLQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCi0JCQkJCU5hbWU9IlJlbGVhc2V8eDY0Ig0KLQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQotCQkJCQk+DQotCQkJCQk8VG9vbA0KLQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCQkvPg0KLQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KLQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCi0JCQkJCU5hbWU9IlBHSW5zdHJ1bWVudHx4NjQiDQotCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCi0JCQkJCT4NCi0JCQkJCTxUb29sDQotCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJCS8+DQotCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQotCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KLQkJCQkJTmFtZT0iUEdVcGRhdGV8eDY0Ig0KLQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQotCQkJCQk+DQotCQkJCQk8VG9vbA0KLQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCQkvPg0KLQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX2N0eXBlc1xsaWJmZmlfbXN2Y1x3aW42NC5hc20iDQotCQkJCT4NCi0JCQkJPEZpbGVDb25maWd1cmF0aW9uDQotCQkJCQlOYW1lPSJEZWJ1Z3xXaW4zMiINCi0JCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KLQkJCQkJPg0KLQkJCQkJPFRvb2wNCi0JCQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkJCS8+DQotCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQotCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KLQkJCQkJTmFtZT0iRGVidWd8eDY0Ig0KLQkJCQkJPg0KLQkJCQkJPFRvb2wNCi0JCQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkJCQlDb21tYW5kTGluZT0ibWw2NCAvbm9sb2dvIC9jIC9aaSAvRm8gJnF1b3Q7JChJbnREaXIpXHdpbjY0Lm9iaiZxdW90OyAmcXVvdDskKElucHV0UGF0aCkmcXVvdDsmI3gwRDsmI3gwQTsiDQotCQkJCQkJT3V0cHV0cz0iJChJbnREaXIpXHdpbjY0Lm9iaiINCi0JCQkJCS8+DQotCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQotCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KLQkJCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiINCi0JCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KLQkJCQkJPg0KLQkJCQkJPFRvb2wNCi0JCQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkJCS8+DQotCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQotCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KLQkJCQkJTmFtZT0iUmVsZWFzZXx4NjQiDQotCQkJCQk+DQotCQkJCQk8VG9vbA0KLQkJCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCQkJCUNvbW1hbmRMaW5lPSJtbDY0IC9ub2xvZ28gL2MgL0ZvICZxdW90OyQoSW50RGlyKVx3aW42NC5vYmomcXVvdDsgJnF1b3Q7JChJbnB1dFBhdGgpJnF1b3Q7JiN4MEQ7JiN4MEE7Ig0KLQkJCQkJCU91dHB1dHM9IiQoSW50RGlyKVx3aW42NC5vYmoiDQotCQkJCQkvPg0KLQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KLQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCi0JCQkJCU5hbWU9IlBHSW5zdHJ1bWVudHxXaW4zMiINCi0JCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KLQkJCQkJPg0KLQkJCQkJPFRvb2wNCi0JCQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkJCS8+DQotCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQotCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KLQkJCQkJTmFtZT0iUEdJbnN0cnVtZW50fHg2NCINCi0JCQkJCT4NCi0JCQkJCTxUb29sDQotCQkJCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJCQkJQ29tbWFuZExpbmU9Im1sNjQgL25vbG9nbyAvYyAvRm8gJnF1b3Q7JChJbnREaXIpXHdpbjY0Lm9iaiZxdW90OyAmcXVvdDskKElucHV0UGF0aCkmcXVvdDsmI3gwRDsmI3gwQTsiDQotCQkJCQkJT3V0cHV0cz0iJChJbnREaXIpXHdpbjY0Lm9iaiINCi0JCQkJCS8+DQotCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQotCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KLQkJCQkJTmFtZT0iUEdVcGRhdGV8V2luMzIiDQotCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCi0JCQkJCT4NCi0JCQkJCTxUb29sDQotCQkJCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJCQkvPg0KLQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KLQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCi0JCQkJCU5hbWU9IlBHVXBkYXRlfHg2NCINCi0JCQkJCT4NCi0JCQkJCTxUb29sDQotCQkJCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJCQkJQ29tbWFuZExpbmU9Im1sNjQgL25vbG9nbyAvYyAvRm8gJnF1b3Q7JChJbnREaXIpXHdpbjY0Lm9iaiZxdW90OyAmcXVvdDskKElucHV0UGF0aCkmcXVvdDsmI3gwRDsmI3gwQTsiDQotCQkJCQkJT3V0cHV0cz0iJChJbnREaXIpXHdpbjY0Lm9iaiINCi0JCQkJCS8+DQotCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQotCQkJPC9GaWxlPg0KLQkJPC9GaWx0ZXI+DQotCTwvRmlsZXM+DQotCTxHbG9iYWxzPg0KLQk8L0dsb2JhbHM+DQotPC9WaXN1YWxTdHVkaW9Qcm9qZWN0Pg0KZGlmZiAtLWdpdCBhL1BDL1ZTOS4wL19jdHlwZXNfdGVzdC52Y3Byb2ogYi9QQy9WUzkuMC9fY3R5cGVzX3Rlc3QudmNwcm9qCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3MDMzNTQ2Li4wMDAwMDAwCi0tLSBhL1BDL1ZTOS4wL19jdHlwZXNfdGVzdC52Y3Byb2oKKysrIC9kZXYvbnVsbApAQCAtMSw1MjEgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iV2luZG93cy0xMjUyIj8+DQotPFZpc3VhbFN0dWRpb1Byb2plY3QNCi0JUHJvamVjdFR5cGU9IlZpc3VhbCBDKysiDQotCVZlcnNpb249IjkuMDAiDQotCU5hbWU9Il9jdHlwZXNfdGVzdCINCi0JUHJvamVjdEdVSUQ9Ins5RUM3MTkwQS0yNDlGLTQxODAtQTkwMC01NDhGRENGMzA1NUZ9Ig0KLQlSb290TmFtZXNwYWNlPSJfY3R5cGVzX3Rlc3QiDQotCUtleXdvcmQ9IldpbjMyUHJvaiINCi0JVGFyZ2V0RnJhbWV3b3JrVmVyc2lvbj0iMTk2NjEzIg0KLQk+DQotCTxQbGF0Zm9ybXM+DQotCQk8UGxhdGZvcm0NCi0JCQlOYW1lPSJXaW4zMiINCi0JCS8+DQotCQk8UGxhdGZvcm0NCi0JCQlOYW1lPSJ4NjQiDQotCQkvPg0KLQk8L1BsYXRmb3Jtcz4NCi0JPFRvb2xGaWxlcz4NCi0JPC9Ub29sRmlsZXM+DQotCTxDb25maWd1cmF0aW9ucz4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iRGVidWd8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkX2QudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJEZWJ1Z3x4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkX2QudnNwcm9wczsuXHg2NC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJCVRhcmdldEVudmlyb25tZW50PSIzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJSZWxlYXNlfFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJSZWxlYXNlfHg2NCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wczsuXHg2NC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUEdJbnN0cnVtZW50fFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ccGdpbnN0cnVtZW50LnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlBHSW5zdHJ1bWVudHx4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7Llx4NjQudnNwcm9wczsuXHBnaW5zdHJ1bWVudC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCVRhcmdldE1hY2hpbmU9IjE3Ig0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlBHVXBkYXRlfFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ccGd1cGRhdGUudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUEdVcGRhdGV8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ceDY0LnZzcHJvcHM7LlxwZ3VwZGF0ZS52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCVRhcmdldE1hY2hpbmU9IjE3Ig0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCTwvQ29uZmlndXJhdGlvbnM+DQotCTxSZWZlcmVuY2VzPg0KLQk8L1JlZmVyZW5jZXM+DQotCTxGaWxlcz4NCi0JCTxGaWx0ZXINCi0JCQlOYW1lPSJIZWFkZXIgRmlsZXMiDQotCQkJPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfY3R5cGVzXF9jdHlwZXNfdGVzdC5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJPC9GaWx0ZXI+DQotCQk8RmlsdGVyDQotCQkJTmFtZT0iU291cmNlIEZpbGVzIg0KLQkJCT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX2N0eXBlc1xfY3R5cGVzX3Rlc3QuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCTwvRmlsdGVyPg0KLQk8L0ZpbGVzPg0KLQk8R2xvYmFscz4NCi0JPC9HbG9iYWxzPg0KLTwvVmlzdWFsU3R1ZGlvUHJvamVjdD4NCmRpZmYgLS1naXQgYS9QQy9WUzkuMC9fZGVjaW1hbC52Y3Byb2ogYi9QQy9WUzkuMC9fZGVjaW1hbC52Y3Byb2oKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGI5ZmFiYjAuLjAwMDAwMDAKLS0tIGEvUEMvVlM5LjAvX2RlY2ltYWwudmNwcm9qCisrKyAvZGV2L251bGwKQEAgLTEsNzQzICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IldpbmRvd3MtMTI1MiI/Pg0KLTxWaXN1YWxTdHVkaW9Qcm9qZWN0DQotCVByb2plY3RUeXBlPSJWaXN1YWwgQysrIg0KLQlWZXJzaW9uPSI5LjAwIg0KLQlOYW1lPSJfZGVjaW1hbCINCi0JUHJvamVjdEdVSUQ9InswRTk3OTFEQi01OTNBLTQ2NUYtOThCQy02ODEwMTEzMTE2MTd9Ig0KLQlSb290TmFtZXNwYWNlPSJfZGVjaW1hbCINCi0JS2V5d29yZD0iV2luMzJQcm9qIg0KLQlUYXJnZXRGcmFtZXdvcmtWZXJzaW9uPSIxOTY2MTMiDQotCT4NCi0JPFBsYXRmb3Jtcz4NCi0JCTxQbGF0Zm9ybQ0KLQkJCU5hbWU9IldpbjMyIg0KLQkJLz4NCi0JCTxQbGF0Zm9ybQ0KLQkJCU5hbWU9Ing2NCINCi0JCS8+DQotCTwvUGxhdGZvcm1zPg0KLQk8VG9vbEZpbGVzPg0KLQk8L1Rvb2xGaWxlcz4NCi0JPENvbmZpZ3VyYXRpb25zPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJEZWJ1Z3xXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWRfZC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsT3B0aW9ucz0iL0RfQ1JUX1NFQ1VSRV9OT19XQVJOSU5HUyAvRENPTkZJR18zMiAvRFBQUk8gL0RNQVNNIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIuLlwuLlxNb2R1bGVzXF9kZWNpbWFsOy4uXC4uXE1vZHVsZXNcX2RlY2ltYWxcbGlibXBkZWMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFEMUEwMDAwIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IkRlYnVnfHg2NCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWRfZC52c3Byb3BzOy5ceDY0LnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsT3B0aW9ucz0iL0RfQ1JUX1NFQ1VSRV9OT19XQVJOSU5HUyAvRENPTkZJR182NCAvRE1BU00iDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9Ii4uXC4uXE1vZHVsZXNcX2RlY2ltYWw7Li5cLi5cTW9kdWxlc1xfZGVjaW1hbFxsaWJtcGRlYyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MUQxQTAwMDAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxPcHRpb25zPSIvRF9DUlRfU0VDVVJFX05PX1dBUk5JTkdTIC9EQ09ORklHXzMyIC9EUFBSTyAvRE1BU00iDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9Ii4uXC4uXE1vZHVsZXNcX2RlY2ltYWw7Li5cLi5cTW9kdWxlc1xfZGVjaW1hbFxsaWJtcGRlYyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJU3ViU3lzdGVtPSIwIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxRDFBMDAwMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJSZWxlYXNlfHg2NCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wczsuXHg2NC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxPcHRpb25zPSIvRF9DUlRfU0VDVVJFX05PX1dBUk5JTkdTIC9EQ09ORklHXzY0IC9ETUFTTSINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLi5cLi5cTW9kdWxlc1xfZGVjaW1hbDsuLlwuLlxNb2R1bGVzXF9kZWNpbWFsXGxpYm1wZGVjIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlTdWJTeXN0ZW09IjAiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFEMUEwMDAwIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlBHSW5zdHJ1bWVudHxXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wczsuXHBnaW5zdHJ1bWVudC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbE9wdGlvbnM9Ii9EX0NSVF9TRUNVUkVfTk9fV0FSTklOR1MgL0RDT05GSUdfMzIgL0RQUFJPIC9ETUFTTSINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLi5cLi5cTW9kdWxlc1xfZGVjaW1hbDsuLlwuLlxNb2R1bGVzXF9kZWNpbWFsXGxpYm1wZGVjIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlTdWJTeXN0ZW09IjAiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFEMUEwMDAwIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlBHSW5zdHJ1bWVudHx4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7Llx4NjQudnNwcm9wczsuXHBnaW5zdHJ1bWVudC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxPcHRpb25zPSIvRF9DUlRfU0VDVVJFX05PX1dBUk5JTkdTIC9EQ09ORklHXzY0IC9ETUFTTSINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLi5cLi5cTW9kdWxlc1xfZGVjaW1hbDsuLlwuLlxNb2R1bGVzXF9kZWNpbWFsXGxpYm1wZGVjIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlTdWJTeXN0ZW09IjAiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFEMUEwMDAwIg0KLQkJCQlUYXJnZXRNYWNoaW5lPSIxNyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR1VwZGF0ZXxXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wczsuXHBndXBkYXRlLnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsT3B0aW9ucz0iL0RfQ1JUX1NFQ1VSRV9OT19XQVJOSU5HUyAvRENPTkZJR18zMiAvRFBQUk8gL0RNQVNNIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIuLlwuLlxNb2R1bGVzXF9kZWNpbWFsOy4uXC4uXE1vZHVsZXNcX2RlY2ltYWxcbGlibXBkZWMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCVN1YlN5c3RlbT0iMCINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MUQxQTAwMDAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUEdVcGRhdGV8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ceDY0LnZzcHJvcHM7LlxwZ3VwZGF0ZS52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxPcHRpb25zPSIvRF9DUlRfU0VDVVJFX05PX1dBUk5JTkdTIC9EQ09ORklHXzY0IC9ETUFTTSINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLi5cLi5cTW9kdWxlc1xfZGVjaW1hbDsuLlwuLlxNb2R1bGVzXF9kZWNpbWFsXGxpYm1wZGVjIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlTdWJTeXN0ZW09IjAiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFEMUEwMDAwIg0KLQkJCQlUYXJnZXRNYWNoaW5lPSIxNyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQk8L0NvbmZpZ3VyYXRpb25zPg0KLQk8UmVmZXJlbmNlcz4NCi0JPC9SZWZlcmVuY2VzPg0KLQk8RmlsZXM+DQotCQk8RmlsdGVyDQotCQkJTmFtZT0iSGVhZGVyIEZpbGVzIg0KLQkJCT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX2RlY2ltYWxcbGlibXBkZWNcYmFzZWFyaXRoLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF9kZWNpbWFsXGxpYm1wZGVjXGJpdHMuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX2RlY2ltYWxcbGlibXBkZWNcY29uc3RhbnRzLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF9kZWNpbWFsXGxpYm1wZGVjXGNvbnZvbHV0ZS5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfZGVjaW1hbFxsaWJtcGRlY1xjcnQuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX2RlY2ltYWxcbGlibXBkZWNcZGlmcmFkaXgyLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF9kZWNpbWFsXGRvY3N0cmluZ3MuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX2RlY2ltYWxcbGlibXBkZWNcZm50LmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF9kZWNpbWFsXGxpYm1wZGVjXGZvdXJzdGVwLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF9kZWNpbWFsXGxpYm1wZGVjXG1wZGVjaW1hbC5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfZGVjaW1hbFxsaWJtcGRlY1xudW1iZXJ0aGVvcnkuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX2RlY2ltYWxcbGlibXBkZWNcc2l4c3RlcC5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfZGVjaW1hbFxsaWJtcGRlY1x0cmFuc3Bvc2UuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX2RlY2ltYWxcbGlibXBkZWNcdHlwZWFyaXRoLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF9kZWNpbWFsXGxpYm1wZGVjXHVtb2Rhcml0aC5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfZGVjaW1hbFxsaWJtcGRlY1x2Y2NvbXBhdC5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfZGVjaW1hbFxsaWJtcGRlY1x2Y3N0ZGludC5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJPC9GaWx0ZXI+DQotCQk8RmlsdGVyDQotCQkJTmFtZT0iU291cmNlIEZpbGVzIg0KLQkJCT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX2RlY2ltYWxcX2RlY2ltYWwuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX2RlY2ltYWxcbGlibXBkZWNcYmFzZWFyaXRoLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF9kZWNpbWFsXGxpYm1wZGVjXGNvbnN0YW50cy5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfZGVjaW1hbFxsaWJtcGRlY1xjb250ZXh0LmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF9kZWNpbWFsXGxpYm1wZGVjXGNvbnZvbHV0ZS5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfZGVjaW1hbFxsaWJtcGRlY1xjcnQuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX2RlY2ltYWxcbGlibXBkZWNcZGlmcmFkaXgyLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF9kZWNpbWFsXGxpYm1wZGVjXGZudC5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfZGVjaW1hbFxsaWJtcGRlY1xmb3Vyc3RlcC5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfZGVjaW1hbFxsaWJtcGRlY1xpby5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfZGVjaW1hbFxsaWJtcGRlY1xtZW1vcnkuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX2RlY2ltYWxcbGlibXBkZWNcbXBkZWNpbWFsLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF9kZWNpbWFsXGxpYm1wZGVjXG51bWJlcnRoZW9yeS5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfZGVjaW1hbFxsaWJtcGRlY1xzaXhzdGVwLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF9kZWNpbWFsXGxpYm1wZGVjXHRyYW5zcG9zZS5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfZGVjaW1hbFxsaWJtcGRlY1x2Y2RpdjY0LmFzbSINCi0JCQkJPg0KLQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCi0JCQkJCU5hbWU9IkRlYnVnfFdpbjMyIg0KLQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQotCQkJCQk+DQotCQkJCQk8VG9vbA0KLQkJCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCQkJLz4NCi0JCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCi0JCQkJPEZpbGVDb25maWd1cmF0aW9uDQotCQkJCQlOYW1lPSJEZWJ1Z3x4NjQiDQotCQkJCQk+DQotCQkJCQk8VG9vbA0KLQkJCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCQkJCUNvbW1hbmRMaW5lPSJtbDY0IC9ub2xvZ28gL2MgL1ppIC9GbyAmcXVvdDskKEludERpcilcdmNkaXY2NC5vYmomcXVvdDsgJnF1b3Q7JChJbnB1dFBhdGgpJnF1b3Q7JiN4MEQ7JiN4MEE7Ig0KLQkJCQkJCU91dHB1dHM9IiQoSW50RGlyKVx2Y2RpdjY0Lm9iaiINCi0JCQkJCS8+DQotCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQotCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KLQkJCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiINCi0JCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KLQkJCQkJPg0KLQkJCQkJPFRvb2wNCi0JCQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkJCS8+DQotCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQotCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KLQkJCQkJTmFtZT0iUmVsZWFzZXx4NjQiDQotCQkJCQk+DQotCQkJCQk8VG9vbA0KLQkJCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCQkJCUNvbW1hbmRMaW5lPSJtbDY0IC9ub2xvZ28gL2MgL1ppIC9GbyAmcXVvdDskKEludERpcilcdmNkaXY2NC5vYmomcXVvdDsgJnF1b3Q7JChJbnB1dFBhdGgpJnF1b3Q7JiN4MEQ7JiN4MEE7Ig0KLQkJCQkJCU91dHB1dHM9IiQoSW50RGlyKVx2Y2RpdjY0Lm9iaiINCi0JCQkJCS8+DQotCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQotCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KLQkJCQkJTmFtZT0iUEdJbnN0cnVtZW50fFdpbjMyIg0KLQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQotCQkJCQk+DQotCQkJCQk8VG9vbA0KLQkJCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCQkJLz4NCi0JCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCi0JCQkJPEZpbGVDb25maWd1cmF0aW9uDQotCQkJCQlOYW1lPSJQR0luc3RydW1lbnR8eDY0Ig0KLQkJCQkJPg0KLQkJCQkJPFRvb2wNCi0JCQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkJCQlDb21tYW5kTGluZT0ibWw2NCAvbm9sb2dvIC9jIC9GbyAmcXVvdDskKEludERpcilcdmNkaXY2NC5vYmomcXVvdDsgJnF1b3Q7JChJbnB1dFBhdGgpJnF1b3Q7JiN4MEQ7JiN4MEE7Ig0KLQkJCQkJCU91dHB1dHM9IiQoSW50RGlyKVx2Y2RpdjY0Lm9iaiINCi0JCQkJCS8+DQotCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQotCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KLQkJCQkJTmFtZT0iUEdVcGRhdGV8V2luMzIiDQotCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCi0JCQkJCT4NCi0JCQkJCTxUb29sDQotCQkJCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJCQkvPg0KLQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KLQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCi0JCQkJCU5hbWU9IlBHVXBkYXRlfHg2NCINCi0JCQkJCT4NCi0JCQkJCTxUb29sDQotCQkJCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJCQkJQ29tbWFuZExpbmU9Im1sNjQgL25vbG9nbyAvYyAvRm8gJnF1b3Q7JChJbnREaXIpXHZjZGl2NjQub2JqJnF1b3Q7ICZxdW90OyQoSW5wdXRQYXRoKSZxdW90OyYjeDBEOyYjeDBBOyINCi0JCQkJCQlPdXRwdXRzPSIkKEludERpcilcdmNkaXY2NC5vYmoiDQotCQkJCQkvPg0KLQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KLQkJCTwvRmlsZT4NCi0JCTwvRmlsdGVyPg0KLQk8L0ZpbGVzPg0KLQk8R2xvYmFscz4NCi0JPC9HbG9iYWxzPg0KLTwvVmlzdWFsU3R1ZGlvUHJvamVjdD4NCmRpZmYgLS1naXQgYS9QQy9WUzkuMC9fZWxlbWVudHRyZWUudmNwcm9qIGIvUEMvVlM5LjAvX2VsZW1lbnR0cmVlLnZjcHJvagpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjlkNzM3NS4uMDAwMDAwMAotLS0gYS9QQy9WUzkuMC9fZWxlbWVudHRyZWUudmNwcm9qCisrKyAvZGV2L251bGwKQEAgLTEsNjEzICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IldpbmRvd3MtMTI1MiI/Pg0KLTxWaXN1YWxTdHVkaW9Qcm9qZWN0DQotCVByb2plY3RUeXBlPSJWaXN1YWwgQysrIg0KLQlWZXJzaW9uPSI5LjAwIg0KLQlOYW1lPSJfZWxlbWVudHRyZWUiDQotCVByb2plY3RHVUlEPSJ7MTdFMUUwNDktQzMwOS00RDc5LTg0M0YtQUU0ODNDMjY0QUVBfSINCi0JUm9vdE5hbWVzcGFjZT0iX2VsZW1lbnR0cmVlIg0KLQlLZXl3b3JkPSJXaW4zMlByb2oiDQotCVRhcmdldEZyYW1ld29ya1ZlcnNpb249IjE5NjYxMyINCi0JPg0KLQk8UGxhdGZvcm1zPg0KLQkJPFBsYXRmb3JtDQotCQkJTmFtZT0iV2luMzIiDQotCQkvPg0KLQkJPFBsYXRmb3JtDQotCQkJTmFtZT0ieDY0Ig0KLQkJLz4NCi0JPC9QbGF0Zm9ybXM+DQotCTxUb29sRmlsZXM+DQotCTwvVG9vbEZpbGVzPg0KLQk8Q29uZmlndXJhdGlvbnM+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IkRlYnVnfFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZF9kLnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9Ii4uXC4uXE1vZHVsZXNcZXhwYXQiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJYTUxfTlM7WE1MX0RURDtCWVRFT1JERVI9MTIzNDtYTUxfQ09OVEVYVF9CWVRFUz0xMDI0O1VTRV9QWUVYUEFUX0NBUEk7WE1MX1NUQVRJQztIQVZFX01FTU1PVkUiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFEMTAwMDAwIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IkRlYnVnfHg2NCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWRfZC52c3Byb3BzOy5ceDY0LnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIuLlwuLlxNb2R1bGVzXGV4cGF0Ig0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iWE1MX05TO1hNTF9EVEQ7QllURU9SREVSPTEyMzQ7WE1MX0NPTlRFWFRfQllURVM9MTAyNDtVU0VfUFlFWFBBVF9DQVBJO1hNTF9TVEFUSUM7SEFWRV9NRU1NT1ZFIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxRDEwMDAwMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJSZWxlYXNlfFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLi5cLi5cTW9kdWxlc1xleHBhdCINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IlhNTF9OUztYTUxfRFREO0JZVEVPUkRFUj0xMjM0O1hNTF9DT05URVhUX0JZVEVTPTEwMjQ7VVNFX1BZRVhQQVRfQ0FQSTtYTUxfU1RBVElDO0hBVkVfTUVNTU9WRSINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MUQxMDAwMDAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUmVsZWFzZXx4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7Llx4NjQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIuLlwuLlxNb2R1bGVzXGV4cGF0Ig0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iWE1MX05TO1hNTF9EVEQ7QllURU9SREVSPTEyMzQ7WE1MX0NPTlRFWFRfQllURVM9MTAyNDtVU0VfUFlFWFBBVF9DQVBJO1hNTF9TVEFUSUM7SEFWRV9NRU1NT1ZFIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxRDEwMDAwMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR0luc3RydW1lbnR8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7LlxwZ2luc3RydW1lbnQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9Ii4uXC4uXE1vZHVsZXNcZXhwYXQiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJYTUxfTlM7WE1MX0RURDtCWVRFT1JERVI9MTIzNDtYTUxfQ09OVEVYVF9CWVRFUz0xMDI0O1VTRV9QWUVYUEFUX0NBUEk7WE1MX1NUQVRJQztIQVZFX01FTU1PVkUiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFEMTAwMDAwIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlBHSW5zdHJ1bWVudHx4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7Llx4NjQudnNwcm9wczsuXHBnaW5zdHJ1bWVudC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9Ii4uXC4uXE1vZHVsZXNcZXhwYXQiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJYTUxfTlM7WE1MX0RURDtCWVRFT1JERVI9MTIzNDtYTUxfQ09OVEVYVF9CWVRFUz0xMDI0O1VTRV9QWUVYUEFUX0NBUEk7WE1MX1NUQVRJQztIQVZFX01FTU1PVkUiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFEMTAwMDAwIg0KLQkJCQlUYXJnZXRNYWNoaW5lPSIxNyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR1VwZGF0ZXxXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wczsuXHBndXBkYXRlLnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIuLlwuLlxNb2R1bGVzXGV4cGF0Ig0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iWE1MX05TO1hNTF9EVEQ7QllURU9SREVSPTEyMzQ7WE1MX0NPTlRFWFRfQllURVM9MTAyNDtVU0VfUFlFWFBBVF9DQVBJO1hNTF9TVEFUSUM7SEFWRV9NRU1NT1ZFIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxRDEwMDAwMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR1VwZGF0ZXx4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7Llx4NjQudnNwcm9wczsuXHBndXBkYXRlLnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJCVRhcmdldEVudmlyb25tZW50PSIzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLi5cLi5cTW9kdWxlc1xleHBhdCINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IlhNTF9OUztYTUxfRFREO0JZVEVPUkRFUj0xMjM0O1hNTF9DT05URVhUX0JZVEVTPTEwMjQ7VVNFX1BZRVhQQVRfQ0FQSTtYTUxfU1RBVElDO0hBVkVfTUVNTU9WRSINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MUQxMDAwMDAiDQotCQkJCVRhcmdldE1hY2hpbmU9IjE3Ig0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCTwvQ29uZmlndXJhdGlvbnM+DQotCTxSZWZlcmVuY2VzPg0KLQk8L1JlZmVyZW5jZXM+DQotCTxGaWxlcz4NCi0JCTxGaWx0ZXINCi0JCQlOYW1lPSJIZWFkZXIgRmlsZXMiDQotCQkJPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xleHBhdFxhc2NpaS5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xleHBhdFxhc2NpaXRhYi5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xleHBhdFxleHBhdC5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xleHBhdFxleHBhdF9jb25maWcuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcZXhwYXRcZXhwYXRfZXh0ZXJuYWwuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcZXhwYXRcaWFzY2lpdGFiLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXGV4cGF0XGludGVybmFsLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXGV4cGF0XGxhdGluMXRhYi5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xleHBhdFxtYWNjb25maWcuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcZXhwYXRcbmFtZXRhYi5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xleHBhdFxweWV4cGF0bnMuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcZXhwYXRcdXRmOHRhYi5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xleHBhdFx3aW5jb25maWcuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcZXhwYXRceG1scm9sZS5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xleHBhdFx4bWx0b2suaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCTwvRmlsdGVyPg0KLQkJPEZpbHRlcg0KLQkJCU5hbWU9IlNvdXJjZSBGaWxlcyINCi0JCQk+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF9lbGVtZW50dHJlZS5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xleHBhdFx4bWxwYXJzZS5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xleHBhdFx4bWxyb2xlLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXGV4cGF0XHhtbHRvay5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJPC9GaWx0ZXI+DQotCTwvRmlsZXM+DQotCTxHbG9iYWxzPg0KLQk8L0dsb2JhbHM+DQotPC9WaXN1YWxTdHVkaW9Qcm9qZWN0Pg0KZGlmZiAtLWdpdCBhL1BDL1ZTOS4wL19oYXNobGliLnZjcHJvaiBiL1BDL1ZTOS4wL19oYXNobGliLnZjcHJvagpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzc0MTdlYy4uMDAwMDAwMAotLS0gYS9QQy9WUzkuMC9faGFzaGxpYi52Y3Byb2oKKysrIC9kZXYvbnVsbApAQCAtMSw1MzcgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iV2luZG93cy0xMjUyIj8+DQotPFZpc3VhbFN0dWRpb1Byb2plY3QNCi0JUHJvamVjdFR5cGU9IlZpc3VhbCBDKysiDQotCVZlcnNpb249IjkuMDAiDQotCU5hbWU9Il9oYXNobGliIg0KLQlQcm9qZWN0R1VJRD0iezQ0N0YwNUE4LUY1ODEtNENBQy1BNDY2LTVBQzc5MzZFMjA3RX0iDQotCVJvb3ROYW1lc3BhY2U9Il9oYXNobGliIg0KLQlLZXl3b3JkPSJXaW4zMlByb2oiDQotCVRhcmdldEZyYW1ld29ya1ZlcnNpb249IjE5NjYxMyINCi0JPg0KLQk8UGxhdGZvcm1zPg0KLQkJPFBsYXRmb3JtDQotCQkJTmFtZT0iV2luMzIiDQotCQkvPg0KLQkJPFBsYXRmb3JtDQotCQkJTmFtZT0ieDY0Ig0KLQkJLz4NCi0JPC9QbGF0Zm9ybXM+DQotCTxUb29sRmlsZXM+DQotCTwvVG9vbEZpbGVzPg0KLQk8Q29uZmlndXJhdGlvbnM+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IkRlYnVnfFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZF9kLnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiQob3BlbnNzbERpcilcaW5jMzIiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJCUNvbW1hbmRMaW5lPSIiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9IndzMl8zMi5saWIgJChvcGVuc3NsRGlyKVxvdXQzMlxsaWJlYXkzMi5saWIgJChvcGVuc3NsRGlyKVxvdXQzMlxzc2xlYXkzMi5saWIiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iRGVidWd8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZF9kLnZzcHJvcHM7Llx4NjQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiQob3BlbnNzbERpcilcaW5jNjQiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJCUNvbW1hbmRMaW5lPSIiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9IndzMl8zMi5saWIgJChvcGVuc3NsRGlyKVxvdXQ2NFxsaWJlYXkzMi5saWIgJChvcGVuc3NsRGlyKVxvdXQ2NFxzc2xlYXkzMi5saWIiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiQob3BlbnNzbERpcilcaW5jMzIiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJCUNvbW1hbmRMaW5lPSIiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9IndzMl8zMi5saWIgJChvcGVuc3NsRGlyKVxvdXQzMlxsaWJlYXkzMi5saWIgJChvcGVuc3NsRGlyKVxvdXQzMlxzc2xlYXkzMi5saWIiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUmVsZWFzZXx4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7Llx4NjQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIkKG9wZW5zc2xEaXIpXGluYzY0Ig0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCQlDb21tYW5kTGluZT0iIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJ3czJfMzIubGliICQob3BlbnNzbERpcilcb3V0NjRcbGliZWF5MzIubGliICQob3BlbnNzbERpcilcb3V0NjRcc3NsZWF5MzIubGliIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlBHSW5zdHJ1bWVudHxXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wczsuXHBnaW5zdHJ1bWVudC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iJChvcGVuc3NsRGlyKVxpbmMzMiINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkJQ29tbWFuZExpbmU9IiINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0id3MyXzMyLmxpYiAkKG9wZW5zc2xEaXIpXG91dDMyXGxpYmVheTMyLmxpYiAkKG9wZW5zc2xEaXIpXG91dDMyXHNzbGVheTMyLmxpYiINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR0luc3RydW1lbnR8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ceDY0LnZzcHJvcHM7LlxwZ2luc3RydW1lbnQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIkKG9wZW5zc2xEaXIpXGluYzY0Ig0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCQlDb21tYW5kTGluZT0iIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJ3czJfMzIubGliICQob3BlbnNzbERpcilcb3V0NjRcbGliZWF5MzIubGliICQob3BlbnNzbERpcilcb3V0NjRcc3NsZWF5MzIubGliIg0KLQkJCQlUYXJnZXRNYWNoaW5lPSIxNyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR1VwZGF0ZXxXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wczsuXHBndXBkYXRlLnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIkKG9wZW5zc2xEaXIpXGluYzMyIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCQlDb21tYW5kTGluZT0iIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJ3czJfMzIubGliICQob3BlbnNzbERpcilcb3V0MzJcbGliZWF5MzIubGliICQob3BlbnNzbERpcilcb3V0MzJcc3NsZWF5MzIubGliIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlBHVXBkYXRlfHg2NCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wczsuXHg2NC52c3Byb3BzOy5ccGd1cGRhdGUudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIkKG9wZW5zc2xEaXIpXGluYzY0Ig0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCQlDb21tYW5kTGluZT0iIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJ3czJfMzIubGliICQob3BlbnNzbERpcilcb3V0NjRcbGliZWF5MzIubGliICQob3BlbnNzbERpcilcb3V0NjRcc3NsZWF5MzIubGliIg0KLQkJCQlUYXJnZXRNYWNoaW5lPSIxNyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQk8L0NvbmZpZ3VyYXRpb25zPg0KLQk8UmVmZXJlbmNlcz4NCi0JPC9SZWZlcmVuY2VzPg0KLQk8RmlsZXM+DQotCQk8RmlsdGVyDQotCQkJTmFtZT0iU291cmNlIEZpbGVzIg0KLQkJCT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX2hhc2hvcGVuc3NsLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQk8L0ZpbHRlcj4NCi0JPC9GaWxlcz4NCi0JPEdsb2JhbHM+DQotCTwvR2xvYmFscz4NCi08L1Zpc3VhbFN0dWRpb1Byb2plY3Q+DQpkaWZmIC0tZ2l0IGEvUEMvVlM5LjAvX2x6bWEudmNwcm9qIGIvUEMvVlM5LjAvX2x6bWEudmNwcm9qCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3YzYwMDNmLi4wMDAwMDAwCi0tLSBhL1BDL1ZTOS4wL19sem1hLnZjcHJvagorKysgL2Rldi9udWxsCkBAIC0xLDUzNyArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJXaW5kb3dzLTEyNTIiPz4NCi08VmlzdWFsU3R1ZGlvUHJvamVjdA0KLQlQcm9qZWN0VHlwZT0iVmlzdWFsIEMrKyINCi0JVmVyc2lvbj0iOS4wMCINCi0JTmFtZT0iX2x6bWEiDQotCVByb2plY3RHVUlEPSJ7RjlENzE3ODAtRjM5My0xMUUwLUJFNTAtMDgwMDIwMEM5QTY2fSINCi0JUm9vdE5hbWVzcGFjZT0ibHptYSINCi0JS2V5d29yZD0iV2luMzJQcm9qIg0KLQlUYXJnZXRGcmFtZXdvcmtWZXJzaW9uPSIxOTY2MTMiDQotCT4NCi0JPFBsYXRmb3Jtcz4NCi0JCTxQbGF0Zm9ybQ0KLQkJCU5hbWU9IldpbjMyIg0KLQkJLz4NCi0JCTxQbGF0Zm9ybQ0KLQkJCU5hbWU9Ing2NCINCi0JCS8+DQotCTwvUGxhdGZvcm1zPg0KLQk8VG9vbEZpbGVzPg0KLQk8L1Rvb2xGaWxlcz4NCi0JPENvbmZpZ3VyYXRpb25zPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJEZWJ1Z3xXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWRfZC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIkKGx6bWFEaXIpXGluY2x1ZGUiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJXSU4zMjtfRklMRV9PRkZTRVRfQklUUz02NDtfQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEU7X0NSVF9OT05TVERDX05PX0RFUFJFQ0FURTtMWk1BX0FQSV9TVEFUSUMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9IiQobHptYURpcilcYmluX2k0ODZcbGlibHptYS5hIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IkRlYnVnfHg2NCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWRfZC52c3Byb3BzOy5ceDY0LnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIkKGx6bWFEaXIpXGluY2x1ZGUiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJXSU4zMjtfRklMRV9PRkZTRVRfQklUUz02NDtfQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEU7X0NSVF9OT05TVERDX05PX0RFUFJFQ0FURTtMWk1BX0FQSV9TVEFUSUMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9IiQobHptYURpcilcYmluX3g4Ni02NFxsaWJsem1hLmEiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiQobHptYURpcilcaW5jbHVkZSINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IldJTjMyO19GSUxFX09GRlNFVF9CSVRTPTY0O19DUlRfU0VDVVJFX05PX0RFUFJFQ0FURTtfQ1JUX05PTlNURENfTk9fREVQUkVDQVRFO0xaTUFfQVBJX1NUQVRJQyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0iJChsem1hRGlyKVxiaW5faTQ4NlxsaWJsem1hLmEiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUmVsZWFzZXx4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7Llx4NjQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIkKGx6bWFEaXIpXGluY2x1ZGUiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJXSU4zMjtfRklMRV9PRkZTRVRfQklUUz02NDtfQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEU7X0NSVF9OT05TVERDX05PX0RFUFJFQ0FURTtMWk1BX0FQSV9TVEFUSUMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9IiQobHptYURpcilcYmluX3g4Ni02NFxsaWJsem1hLmEiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUEdJbnN0cnVtZW50fFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ccGdpbnN0cnVtZW50LnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIkKGx6bWFEaXIpXGluY2x1ZGUiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJXSU4zMjtfRklMRV9PRkZTRVRfQklUUz02NDtfQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEU7X0NSVF9OT05TVERDX05PX0RFUFJFQ0FURTtMWk1BX0FQSV9TVEFUSUMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9IiQobHptYURpcilcYmluX2k0ODZcbGlibHptYS5hIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlBHSW5zdHJ1bWVudHx4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7Llx4NjQudnNwcm9wczsuXHBnaW5zdHJ1bWVudC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiQobHptYURpcilcaW5jbHVkZSINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IldJTjMyO19GSUxFX09GRlNFVF9CSVRTPTY0O19DUlRfU0VDVVJFX05PX0RFUFJFQ0FURTtfQ1JUX05PTlNURENfTk9fREVQUkVDQVRFO0xaTUFfQVBJX1NUQVRJQyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0iJChsem1hRGlyKVxiaW5feDg2LTY0XGxpYmx6bWEuYSINCi0JCQkJVGFyZ2V0TWFjaGluZT0iMTciDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUEdVcGRhdGV8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7LlxwZ3VwZGF0ZS52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iJChsem1hRGlyKVxpbmNsdWRlIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iV0lOMzI7X0ZJTEVfT0ZGU0VUX0JJVFM9NjQ7X0NSVF9TRUNVUkVfTk9fREVQUkVDQVRFO19DUlRfTk9OU1REQ19OT19ERVBSRUNBVEU7TFpNQV9BUElfU1RBVElDIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSIkKGx6bWFEaXIpXGJpbl9pNDg2XGxpYmx6bWEuYSINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR1VwZGF0ZXx4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7Llx4NjQudnNwcm9wczsuXHBndXBkYXRlLnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJCVRhcmdldEVudmlyb25tZW50PSIzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iJChsem1hRGlyKVxpbmNsdWRlIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iV0lOMzI7X0ZJTEVfT0ZGU0VUX0JJVFM9NjQ7X0NSVF9TRUNVUkVfTk9fREVQUkVDQVRFO19DUlRfTk9OU1REQ19OT19ERVBSRUNBVEU7TFpNQV9BUElfU1RBVElDIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSIkKGx6bWFEaXIpXGJpbl94ODYtNjRcbGlibHptYS5hIg0KLQkJCQlUYXJnZXRNYWNoaW5lPSIxNyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQk8L0NvbmZpZ3VyYXRpb25zPg0KLQk8UmVmZXJlbmNlcz4NCi0JPC9SZWZlcmVuY2VzPg0KLQk8RmlsZXM+DQotCQk8RmlsdGVyDQotCQkJTmFtZT0iU291cmNlIEZpbGVzIg0KLQkJCT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX2x6bWFtb2R1bGUuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCTwvRmlsdGVyPg0KLQk8L0ZpbGVzPg0KLQk8R2xvYmFscz4NCi0JPC9HbG9iYWxzPg0KLTwvVmlzdWFsU3R1ZGlvUHJvamVjdD4NCmRpZmYgLS1naXQgYS9QQy9WUzkuMC9fbXNpLnZjcHJvaiBiL1BDL1ZTOS4wL19tc2kudmNwcm9qCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjYjIzMGUxLi4wMDAwMDAwCi0tLSBhL1BDL1ZTOS4wL19tc2kudmNwcm9qCisrKyAvZGV2L251bGwKQEAgLTEsNTI5ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IldpbmRvd3MtMTI1MiI/Pg0KLTxWaXN1YWxTdHVkaW9Qcm9qZWN0DQotCVByb2plY3RUeXBlPSJWaXN1YWwgQysrIg0KLQlWZXJzaW9uPSI5LjAwIg0KLQlOYW1lPSJfbXNpIg0KLQlQcm9qZWN0R1VJRD0iezMxRkZDNDc4LTdCNEEtNDNFOC05OTU0LThEMDNFMjE4N0U5Q30iDQotCVJvb3ROYW1lc3BhY2U9Il9tc2kiDQotCUtleXdvcmQ9IldpbjMyUHJvaiINCi0JVGFyZ2V0RnJhbWV3b3JrVmVyc2lvbj0iMTk2NjEzIg0KLQk+DQotCTxQbGF0Zm9ybXM+DQotCQk8UGxhdGZvcm0NCi0JCQlOYW1lPSJXaW4zMiINCi0JCS8+DQotCQk8UGxhdGZvcm0NCi0JCQlOYW1lPSJ4NjQiDQotCQkvPg0KLQk8L1BsYXRmb3Jtcz4NCi0JPFRvb2xGaWxlcz4NCi0JPC9Ub29sRmlsZXM+DQotCTxDb25maWd1cmF0aW9ucz4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iRGVidWd8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkX2QudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0iZmNpLmxpYiBtc2kubGliIHJwY3J0NC5saWIiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFEMTYwMDAwIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IkRlYnVnfHg2NCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWRfZC52c3Byb3BzOy5ceDY0LnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJmY2kubGliIG1zaS5saWIgcnBjcnQ0LmxpYiINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MUQxNjAwMDAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9ImZjaS5saWIgbXNpLmxpYiBycGNydDQubGliIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxRDE2MDAwMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJSZWxlYXNlfHg2NCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wczsuXHg2NC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9ImZjaS5saWIgbXNpLmxpYiBycGNydDQubGliIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxRDE2MDAwMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR0luc3RydW1lbnR8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7LlxwZ2luc3RydW1lbnQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9ImZjaS5saWIgbXNpLmxpYiBycGNydDQubGliIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxRDE2MDAwMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR0luc3RydW1lbnR8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ceDY0LnZzcHJvcHM7LlxwZ2luc3RydW1lbnQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJmY2kubGliIG1zaS5saWIgcnBjcnQ0LmxpYiINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MUQxNjAwMDAiDQotCQkJCVRhcmdldE1hY2hpbmU9IjE3Ig0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlBHVXBkYXRlfFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ccGd1cGRhdGUudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9ImZjaS5saWIgbXNpLmxpYiBycGNydDQubGliIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxRDE2MDAwMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR1VwZGF0ZXx4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7Llx4NjQudnNwcm9wczsuXHBndXBkYXRlLnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJCVRhcmdldEVudmlyb25tZW50PSIzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0iZmNpLmxpYiBtc2kubGliIHJwY3J0NC5saWIiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFEMTYwMDAwIg0KLQkJCQlUYXJnZXRNYWNoaW5lPSIxNyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQk8L0NvbmZpZ3VyYXRpb25zPg0KLQk8UmVmZXJlbmNlcz4NCi0JPC9SZWZlcmVuY2VzPg0KLQk8RmlsZXM+DQotCQk8RmlsdGVyDQotCQkJTmFtZT0iU291cmNlIEZpbGVzIg0KLQkJCT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFBDXF9tc2kuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCTwvRmlsdGVyPg0KLQk8L0ZpbGVzPg0KLQk8R2xvYmFscz4NCi0JPC9HbG9iYWxzPg0KLTwvVmlzdWFsU3R1ZGlvUHJvamVjdD4NCmRpZmYgLS1naXQgYS9QQy9WUzkuMC9fbXVsdGlwcm9jZXNzaW5nLnZjcHJvaiBiL1BDL1ZTOS4wL19tdWx0aXByb2Nlc3NpbmcudmNwcm9qCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmYjNkMWU3Li4wMDAwMDAwCi0tLSBhL1BDL1ZTOS4wL19tdWx0aXByb2Nlc3NpbmcudmNwcm9qCisrKyAvZGV2L251bGwKQEAgLTEsNTQxICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IldpbmRvd3MtMTI1MiI/Pg0KLTxWaXN1YWxTdHVkaW9Qcm9qZWN0DQotCVByb2plY3RUeXBlPSJWaXN1YWwgQysrIg0KLQlWZXJzaW9uPSI5LjAwIg0KLQlOYW1lPSJfbXVsdGlwcm9jZXNzaW5nIg0KLQlQcm9qZWN0R1VJRD0iezlFNDhCMzAwLTM3RDEtMTFERC04QzQxLTAwNTA1NkMwMDAwOH0iDQotCVJvb3ROYW1lc3BhY2U9Il9tdWx0aXByb2Nlc3NpbmciDQotCUtleXdvcmQ9IldpbjMyUHJvaiINCi0JVGFyZ2V0RnJhbWV3b3JrVmVyc2lvbj0iMTk2NjEzIg0KLQk+DQotCTxQbGF0Zm9ybXM+DQotCQk8UGxhdGZvcm0NCi0JCQlOYW1lPSJXaW4zMiINCi0JCS8+DQotCQk8UGxhdGZvcm0NCi0JCQlOYW1lPSJ4NjQiDQotCQkvPg0KLQk8L1BsYXRmb3Jtcz4NCi0JPFRvb2xGaWxlcz4NCi0JPC9Ub29sRmlsZXM+DQotCTxDb25maWd1cmF0aW9ucz4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iRGVidWd8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkX2QudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0id3MyXzMyLmxpYiINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MWUxRDAwMDAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iRGVidWd8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZF9kLnZzcHJvcHM7Llx4NjQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9IndzMl8zMi5saWIiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFlMUQwMDAwIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJ3czJfMzIubGliIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxZTFEMDAwMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJSZWxlYXNlfHg2NCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wczsuXHg2NC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9IndzMl8zMi5saWIiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFlMUQwMDAwIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlBHSW5zdHJ1bWVudHxXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wczsuXHBnaW5zdHJ1bWVudC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0id3MyXzMyLmxpYiINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MWUxRDAwMDAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUEdJbnN0cnVtZW50fHg2NCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wczsuXHg2NC52c3Byb3BzOy5ccGdpbnN0cnVtZW50LnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJCVRhcmdldEVudmlyb25tZW50PSIzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0id3MyXzMyLmxpYiINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MWUxRDAwMDAiDQotCQkJCVRhcmdldE1hY2hpbmU9IjE3Ig0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlBHVXBkYXRlfFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ccGd1cGRhdGUudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9IndzMl8zMi5saWIiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFlMUQwMDAwIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlBHVXBkYXRlfHg2NCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wczsuXHg2NC52c3Byb3BzOy5ccGd1cGRhdGUudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJ3czJfMzIubGliIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxZTFEMDAwMCINCi0JCQkJVGFyZ2V0TWFjaGluZT0iMTciDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JPC9Db25maWd1cmF0aW9ucz4NCi0JPFJlZmVyZW5jZXM+DQotCTwvUmVmZXJlbmNlcz4NCi0JPEZpbGVzPg0KLQkJPEZpbHRlcg0KLQkJCU5hbWU9IkhlYWRlciBGaWxlcyINCi0JCQk+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF9tdWx0aXByb2Nlc3NpbmdcbXVsdGlwcm9jZXNzaW5nLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQk8L0ZpbHRlcj4NCi0JCTxGaWx0ZXINCi0JCQlOYW1lPSJTb3VyY2UgRmlsZXMiDQotCQkJPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfbXVsdGlwcm9jZXNzaW5nXG11bHRpcHJvY2Vzc2luZy5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfbXVsdGlwcm9jZXNzaW5nXHNlbWFwaG9yZS5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJPC9GaWx0ZXI+DQotCTwvRmlsZXM+DQotCTxHbG9iYWxzPg0KLQk8L0dsb2JhbHM+DQotPC9WaXN1YWxTdHVkaW9Qcm9qZWN0Pg0KZGlmZiAtLWdpdCBhL1BDL1ZTOS4wL19zb2NrZXQudmNwcm9qIGIvUEMvVlM5LjAvX3NvY2tldC52Y3Byb2oKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGZmMWY2ZDQuLjAwMDAwMDAKLS0tIGEvUEMvVlM5LjAvX3NvY2tldC52Y3Byb2oKKysrIC9kZXYvbnVsbApAQCAtMSw1MzcgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iV2luZG93cy0xMjUyIj8+DQotPFZpc3VhbFN0dWRpb1Byb2plY3QNCi0JUHJvamVjdFR5cGU9IlZpc3VhbCBDKysiDQotCVZlcnNpb249IjkuMDAiDQotCU5hbWU9Il9zb2NrZXQiDQotCVByb2plY3RHVUlEPSJ7ODY5MzdGNTMtQzE4OS00MEVGLThDRTgtODc1OUQ4RTdENDgwfSINCi0JUm9vdE5hbWVzcGFjZT0iX3NvY2tldCINCi0JS2V5d29yZD0iV2luMzJQcm9qIg0KLQlUYXJnZXRGcmFtZXdvcmtWZXJzaW9uPSIxOTY2MTMiDQotCT4NCi0JPFBsYXRmb3Jtcz4NCi0JCTxQbGF0Zm9ybQ0KLQkJCU5hbWU9IldpbjMyIg0KLQkJLz4NCi0JCTxQbGF0Zm9ybQ0KLQkJCU5hbWU9Ing2NCINCi0JCS8+DQotCTwvUGxhdGZvcm1zPg0KLQk8VG9vbEZpbGVzPg0KLQk8L1Rvb2xGaWxlcz4NCi0JPENvbmZpZ3VyYXRpb25zPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJEZWJ1Z3xXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWRfZC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJ3czJfMzIubGliIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxZTFEMDAwMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJEZWJ1Z3x4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkX2QudnNwcm9wczsuXHg2NC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJCVRhcmdldEVudmlyb25tZW50PSIzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0id3MyXzMyLmxpYiINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MWUxRDAwMDAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9IndzMl8zMi5saWIiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFlMUQwMDAwIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlJlbGVhc2V8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ceDY0LnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJCVRhcmdldEVudmlyb25tZW50PSIzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0id3MyXzMyLmxpYiINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MWUxRDAwMDAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUEdJbnN0cnVtZW50fFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ccGdpbnN0cnVtZW50LnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJ3czJfMzIubGliIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxZTFEMDAwMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR0luc3RydW1lbnR8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ceDY0LnZzcHJvcHM7LlxwZ2luc3RydW1lbnQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJ3czJfMzIubGliIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxZTFEMDAwMCINCi0JCQkJVGFyZ2V0TWFjaGluZT0iMTciDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUEdVcGRhdGV8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7LlxwZ3VwZGF0ZS52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0id3MyXzMyLmxpYiINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MWUxRDAwMDAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUEdVcGRhdGV8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ceDY0LnZzcHJvcHM7LlxwZ3VwZGF0ZS52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9IndzMl8zMi5saWIiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFlMUQwMDAwIg0KLQkJCQlUYXJnZXRNYWNoaW5lPSIxNyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQk8L0NvbmZpZ3VyYXRpb25zPg0KLQk8UmVmZXJlbmNlcz4NCi0JPC9SZWZlcmVuY2VzPg0KLQk8RmlsZXM+DQotCQk8RmlsdGVyDQotCQkJTmFtZT0iSGVhZGVyIEZpbGVzIg0KLQkJCT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcc29ja2V0bW9kdWxlLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQk8L0ZpbHRlcj4NCi0JCTxGaWx0ZXINCi0JCQlOYW1lPSJTb3VyY2UgRmlsZXMiDQotCQkJPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xzb2NrZXRtb2R1bGUuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCTwvRmlsdGVyPg0KLQk8L0ZpbGVzPg0KLQk8R2xvYmFscz4NCi0JPC9HbG9iYWxzPg0KLTwvVmlzdWFsU3R1ZGlvUHJvamVjdD4NCmRpZmYgLS1naXQgYS9QQy9WUzkuMC9fc3FsaXRlMy52Y3Byb2ogYi9QQy9WUzkuMC9fc3FsaXRlMy52Y3Byb2oKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDgyYzU3YWUuLjAwMDAwMDAKLS0tIGEvUEMvVlM5LjAvX3NxbGl0ZTMudmNwcm9qCisrKyAvZGV2L251bGwKQEAgLTEsNjA5ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IldpbmRvd3MtMTI1MiI/Pg0KLTxWaXN1YWxTdHVkaW9Qcm9qZWN0DQotCVByb2plY3RUeXBlPSJWaXN1YWwgQysrIg0KLQlWZXJzaW9uPSI5LjAwIg0KLQlOYW1lPSJfc3FsaXRlMyINCi0JUHJvamVjdEdVSUQ9InsxM0NFQ0I5Ny00MTE5LTQzMTYtOUQ0Mi04NTM0MDE5QTVBNDR9Ig0KLQlSb290TmFtZXNwYWNlPSJfc3FsaXRlMyINCi0JS2V5d29yZD0iV2luMzJQcm9qIg0KLQlUYXJnZXRGcmFtZXdvcmtWZXJzaW9uPSIxOTY2MTMiDQotCT4NCi0JPFBsYXRmb3Jtcz4NCi0JCTxQbGF0Zm9ybQ0KLQkJCU5hbWU9IldpbjMyIg0KLQkJLz4NCi0JCTxQbGF0Zm9ybQ0KLQkJCU5hbWU9Ing2NCINCi0JCS8+DQotCTwvUGxhdGZvcm1zPg0KLQk8VG9vbEZpbGVzPg0KLQk8L1Rvb2xGaWxlcz4NCi0JPENvbmZpZ3VyYXRpb25zPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJEZWJ1Z3xXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWRfZC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIkKHNxbGl0ZTNEaXIpIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iTU9EVUxFX05BTUU9XCZxdW90O3NxbGl0ZTNcJnF1b3Q7Ig0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxZTE4MDAwMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJEZWJ1Z3x4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkX2QudnNwcm9wczsuXHg2NC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJCVRhcmdldEVudmlyb25tZW50PSIzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iJChzcWxpdGUzRGlyKSINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9Ik1PRFVMRV9OQU1FPVwmcXVvdDtzcWxpdGUzXCZxdW90OyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MWUxODAwMDAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiQoc3FsaXRlM0RpcikiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJNT0RVTEVfTkFNRT1cJnF1b3Q7c3FsaXRlM1wmcXVvdDsiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFlMTgwMDAwIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlJlbGVhc2V8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ceDY0LnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJCVRhcmdldEVudmlyb25tZW50PSIzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iJChzcWxpdGUzRGlyKSINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9Ik1PRFVMRV9OQU1FPVwmcXVvdDtzcWxpdGUzXCZxdW90OyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MWUxODAwMDAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUEdJbnN0cnVtZW50fFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ccGdpbnN0cnVtZW50LnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIkKHNxbGl0ZTNEaXIpIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iTU9EVUxFX05BTUU9XCZxdW90O3NxbGl0ZTNcJnF1b3Q7Ig0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxZTE4MDAwMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR0luc3RydW1lbnR8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ceDY0LnZzcHJvcHM7LlxwZ2luc3RydW1lbnQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIkKHNxbGl0ZTNEaXIpIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iTU9EVUxFX05BTUU9XCZxdW90O3NxbGl0ZTNcJnF1b3Q7Ig0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxZTE4MDAwMCINCi0JCQkJVGFyZ2V0TWFjaGluZT0iMTciDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUEdVcGRhdGV8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7LlxwZ3VwZGF0ZS52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iJChzcWxpdGUzRGlyKSINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9Ik1PRFVMRV9OQU1FPVwmcXVvdDtzcWxpdGUzXCZxdW90OyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MWUxODAwMDAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUEdVcGRhdGV8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ceDY0LnZzcHJvcHM7LlxwZ3VwZGF0ZS52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiQoc3FsaXRlM0RpcikiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJNT0RVTEVfTkFNRT1cJnF1b3Q7c3FsaXRlM1wmcXVvdDsiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFlMTgwMDAwIg0KLQkJCQlUYXJnZXRNYWNoaW5lPSIxNyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQk8L0NvbmZpZ3VyYXRpb25zPg0KLQk8UmVmZXJlbmNlcz4NCi0JPC9SZWZlcmVuY2VzPg0KLQk8RmlsZXM+DQotCQk8RmlsdGVyDQotCQkJTmFtZT0iSGVhZGVyIEZpbGVzIg0KLQkJCT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX3NxbGl0ZVxjYWNoZS5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfc3FsaXRlXGNvbm5lY3Rpb24uaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX3NxbGl0ZVxjdXJzb3IuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX3NxbGl0ZVxtaWNyb3Byb3RvY29scy5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfc3FsaXRlXG1vZHVsZS5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfc3FsaXRlXHByZXBhcmVfcHJvdG9jb2wuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX3NxbGl0ZVxyb3cuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX3NxbGl0ZVxzdGF0ZW1lbnQuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX3NxbGl0ZVx1dGlsLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQk8L0ZpbHRlcj4NCi0JCTxGaWx0ZXINCi0JCQlOYW1lPSJTb3VyY2UgRmlsZXMiDQotCQkJPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfc3FsaXRlXGNhY2hlLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF9zcWxpdGVcY29ubmVjdGlvbi5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfc3FsaXRlXGN1cnNvci5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfc3FsaXRlXG1pY3JvcHJvdG9jb2xzLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF9zcWxpdGVcbW9kdWxlLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF9zcWxpdGVccHJlcGFyZV9wcm90b2NvbC5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfc3FsaXRlXHJvdy5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfc3FsaXRlXHN0YXRlbWVudC5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfc3FsaXRlXHV0aWwuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCTwvRmlsdGVyPg0KLQk8L0ZpbGVzPg0KLQk8R2xvYmFscz4NCi0JPC9HbG9iYWxzPg0KLTwvVmlzdWFsU3R1ZGlvUHJvamVjdD4NCmRpZmYgLS1naXQgYS9QQy9WUzkuMC9fc3NsLnZjcHJvaiBiL1BDL1ZTOS4wL19zc2wudmNwcm9qCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiNDdkYzI3Li4wMDAwMDAwCi0tLSBhL1BDL1ZTOS4wL19zc2wudmNwcm9qCisrKyAvZGV2L251bGwKQEAgLTEsNTM3ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IldpbmRvd3MtMTI1MiI/Pg0KLTxWaXN1YWxTdHVkaW9Qcm9qZWN0DQotCVByb2plY3RUeXBlPSJWaXN1YWwgQysrIg0KLQlWZXJzaW9uPSI5LDAwIg0KLQlOYW1lPSJfc3NsIg0KLQlQcm9qZWN0R1VJRD0ie0M2RTIwRjg0LTMyNDctNEFENi1CMDUxLUIwNzMyNjhGNzNCQX0iDQotCVJvb3ROYW1lc3BhY2U9Il9zc2wiDQotCUtleXdvcmQ9IldpbjMyUHJvaiINCi0JVGFyZ2V0RnJhbWV3b3JrVmVyc2lvbj0iMTk2NjEzIg0KLQk+DQotCTxQbGF0Zm9ybXM+DQotCQk8UGxhdGZvcm0NCi0JCQlOYW1lPSJXaW4zMiINCi0JCS8+DQotCQk8UGxhdGZvcm0NCi0JCQlOYW1lPSJ4NjQiDQotCQkvPg0KLQk8L1BsYXRmb3Jtcz4NCi0JPFRvb2xGaWxlcz4NCi0JPC9Ub29sRmlsZXM+DQotCTxDb25maWd1cmF0aW9ucz4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iRGVidWd8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkX2QudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iJChvcGVuc3NsRGlyKVxpbmMzMiINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkJQ29tbWFuZExpbmU9IiINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0id3MyXzMyLmxpYiBjcnlwdDMyLmxpYiAkKG9wZW5zc2xEaXIpXG91dDMyXGxpYmVheTMyLmxpYiAkKG9wZW5zc2xEaXIpXG91dDMyXHNzbGVheTMyLmxpYiINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJEZWJ1Z3x4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkX2QudnNwcm9wczsuXHg2NC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJCVRhcmdldEVudmlyb25tZW50PSIzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iJChvcGVuc3NsRGlyKVxpbmM2NCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkJQ29tbWFuZExpbmU9IiINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0id3MyXzMyLmxpYiBjcnlwdDMyLmxpYiAkKG9wZW5zc2xEaXIpXG91dDY0XGxpYmVheTMyLmxpYiAkKG9wZW5zc2xEaXIpXG91dDY0XHNzbGVheTMyLmxpYiINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJSZWxlYXNlfFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iJChvcGVuc3NsRGlyKVxpbmMzMiINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkJQ29tbWFuZExpbmU9IiINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0id3MyXzMyLmxpYiBjcnlwdDMyLmxpYiAkKG9wZW5zc2xEaXIpXG91dDMyXGxpYmVheTMyLmxpYiAkKG9wZW5zc2xEaXIpXG91dDMyXHNzbGVheTMyLmxpYiINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJSZWxlYXNlfHg2NCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wczsuXHg2NC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiQob3BlbnNzbERpcilcaW5jNjQiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJCUNvbW1hbmRMaW5lPSIiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9IndzMl8zMi5saWIgY3J5cHQzMi5saWIgJChvcGVuc3NsRGlyKVxvdXQ2NFxsaWJlYXkzMi5saWIgJChvcGVuc3NsRGlyKVxvdXQ2NFxzc2xlYXkzMi5saWIiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUEdJbnN0cnVtZW50fFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ccGdpbnN0cnVtZW50LnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIkKG9wZW5zc2xEaXIpXGluYzMyIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCQlDb21tYW5kTGluZT0iIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJ3czJfMzIubGliIGNyeXB0MzIubGliICQob3BlbnNzbERpcilcb3V0MzJcbGliZWF5MzIubGliICQob3BlbnNzbERpcilcb3V0MzJcc3NsZWF5MzIubGliIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlBHSW5zdHJ1bWVudHx4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7Llx4NjQudnNwcm9wczsuXHBnaW5zdHJ1bWVudC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiQob3BlbnNzbERpcilcaW5jNjQiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJCUNvbW1hbmRMaW5lPSIiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9IndzMl8zMi5saWIgY3J5cHQzMi5saWIgJChvcGVuc3NsRGlyKVxvdXQ2NFxsaWJlYXkzMi5saWIgJChvcGVuc3NsRGlyKVxvdXQ2NFxzc2xlYXkzMi5saWIiDQotCQkJCVRhcmdldE1hY2hpbmU9IjE3Ig0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlBHVXBkYXRlfFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ccGd1cGRhdGUudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiQob3BlbnNzbERpcilcaW5jMzIiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJCUNvbW1hbmRMaW5lPSIiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9IndzMl8zMi5saWIgY3J5cHQzMi5saWIgJChvcGVuc3NsRGlyKVxvdXQzMlxsaWJlYXkzMi5saWIgJChvcGVuc3NsRGlyKVxvdXQzMlxzc2xlYXkzMi5saWIiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUEdVcGRhdGV8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ceDY0LnZzcHJvcHM7LlxwZ3VwZGF0ZS52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiQob3BlbnNzbERpcilcaW5jNjQiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJCUNvbW1hbmRMaW5lPSIiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9IndzMl8zMi5saWIgY3J5cHQzMi5saWIgJChvcGVuc3NsRGlyKVxvdXQ2NFxsaWJlYXkzMi5saWIgJChvcGVuc3NsRGlyKVxvdXQ2NFxzc2xlYXkzMi5saWIiDQotCQkJCVRhcmdldE1hY2hpbmU9IjE3Ig0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCTwvQ29uZmlndXJhdGlvbnM+DQotCTxSZWZlcmVuY2VzPg0KLQk8L1JlZmVyZW5jZXM+DQotCTxGaWxlcz4NCi0JCTxGaWx0ZXINCi0JCQlOYW1lPSJTb3VyY2UgRmlsZXMiDQotCQkJPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfc3NsLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQk8L0ZpbHRlcj4NCi0JPC9GaWxlcz4NCi0JPEdsb2JhbHM+DQotCTwvR2xvYmFscz4NCi08L1Zpc3VhbFN0dWRpb1Byb2plY3Q+DQpkaWZmIC0tZ2l0IGEvUEMvVlM5LjAvX3Rlc3RidWZmZXIudmNwcm9qIGIvUEMvVlM5LjAvX3Rlc3RidWZmZXIudmNwcm9qCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMzM3N2UxLi4wMDAwMDAwCi0tLSBhL1BDL1ZTOS4wL190ZXN0YnVmZmVyLnZjcHJvagorKysgL2Rldi9udWxsCkBAIC0xLDUyMSArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJXaW5kb3dzLTEyNTIiPz4NCi08VmlzdWFsU3R1ZGlvUHJvamVjdA0KLQlQcm9qZWN0VHlwZT0iVmlzdWFsIEMrKyINCi0JVmVyc2lvbj0iOS4wMCINCi0JTmFtZT0iX3Rlc3RidWZmZXIiDQotCVByb2plY3RHVUlEPSJ7QTI2OTdCRDMtMjhDMS00QUVDLTkxMDYtOEI3NDg2MzlGRDE2fSINCi0JUm9vdE5hbWVzcGFjZT0iX3Rlc3RidWZmZXIiDQotCUtleXdvcmQ9IldpbjMyUHJvaiINCi0JVGFyZ2V0RnJhbWV3b3JrVmVyc2lvbj0iMTk2NjEzIg0KLQk+DQotCTxQbGF0Zm9ybXM+DQotCQk8UGxhdGZvcm0NCi0JCQlOYW1lPSJXaW4zMiINCi0JCS8+DQotCQk8UGxhdGZvcm0NCi0JCQlOYW1lPSJ4NjQiDQotCQkvPg0KLQk8L1BsYXRmb3Jtcz4NCi0JPFRvb2xGaWxlcz4NCi0JPC9Ub29sRmlsZXM+DQotCTxDb25maWd1cmF0aW9ucz4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iRGVidWd8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkX2QudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MWUxRjAwMDAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iRGVidWd8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZF9kLnZzcHJvcHM7Llx4NjQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFlMUYwMDAwIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxZTFGMDAwMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJSZWxlYXNlfHg2NCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wczsuXHg2NC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFlMUYwMDAwIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlBHSW5zdHJ1bWVudHxXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wczsuXHBnaW5zdHJ1bWVudC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MWUxRjAwMDAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUEdJbnN0cnVtZW50fHg2NCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wczsuXHg2NC52c3Byb3BzOy5ccGdpbnN0cnVtZW50LnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJCVRhcmdldEVudmlyb25tZW50PSIzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MWUxRjAwMDAiDQotCQkJCVRhcmdldE1hY2hpbmU9IjE3Ig0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlBHVXBkYXRlfFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ccGd1cGRhdGUudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFlMUYwMDAwIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlBHVXBkYXRlfHg2NCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wczsuXHg2NC52c3Byb3BzOy5ccGd1cGRhdGUudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxZTFGMDAwMCINCi0JCQkJVGFyZ2V0TWFjaGluZT0iMTciDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JPC9Db25maWd1cmF0aW9ucz4NCi0JPFJlZmVyZW5jZXM+DQotCTwvUmVmZXJlbmNlcz4NCi0JPEZpbGVzPg0KLQkJPEZpbHRlcg0KLQkJCU5hbWU9IlNvdXJjZSBGaWxlcyINCi0JCQk+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF90ZXN0YnVmZmVyLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQk8L0ZpbHRlcj4NCi0JPC9GaWxlcz4NCi0JPEdsb2JhbHM+DQotCTwvR2xvYmFscz4NCi08L1Zpc3VhbFN0dWRpb1Byb2plY3Q+DQpkaWZmIC0tZ2l0IGEvUEMvVlM5LjAvX3Rlc3RjYXBpLnZjcHJvaiBiL1BDL1ZTOS4wL190ZXN0Y2FwaS52Y3Byb2oKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ1MzMwMGEuLjAwMDAwMDAKLS0tIGEvUEMvVlM5LjAvX3Rlc3RjYXBpLnZjcHJvagorKysgL2Rldi9udWxsCkBAIC0xLDUyMSArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJXaW5kb3dzLTEyNTIiPz4NCi08VmlzdWFsU3R1ZGlvUHJvamVjdA0KLQlQcm9qZWN0VHlwZT0iVmlzdWFsIEMrKyINCi0JVmVyc2lvbj0iOS4wMCINCi0JTmFtZT0iX3Rlc3RjYXBpIg0KLQlQcm9qZWN0R1VJRD0iezY5MDFEOTFDLTZFNDgtNEJCNy05RkVDLTcwMEM4MTMxREYxRH0iDQotCVJvb3ROYW1lc3BhY2U9Il90ZXN0Y2FwaSINCi0JS2V5d29yZD0iV2luMzJQcm9qIg0KLQlUYXJnZXRGcmFtZXdvcmtWZXJzaW9uPSIxOTY2MTMiDQotCT4NCi0JPFBsYXRmb3Jtcz4NCi0JCTxQbGF0Zm9ybQ0KLQkJCU5hbWU9IldpbjMyIg0KLQkJLz4NCi0JCTxQbGF0Zm9ybQ0KLQkJCU5hbWU9Ing2NCINCi0JCS8+DQotCTwvUGxhdGZvcm1zPg0KLQk8VG9vbEZpbGVzPg0KLQk8L1Rvb2xGaWxlcz4NCi0JPENvbmZpZ3VyYXRpb25zPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJEZWJ1Z3xXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWRfZC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxZTFGMDAwMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJEZWJ1Z3x4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkX2QudnNwcm9wczsuXHg2NC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJCVRhcmdldEVudmlyb25tZW50PSIzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MWUxRjAwMDAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFlMUYwMDAwIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlJlbGVhc2V8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ceDY0LnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJCVRhcmdldEVudmlyb25tZW50PSIzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MWUxRjAwMDAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUEdJbnN0cnVtZW50fFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ccGdpbnN0cnVtZW50LnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxZTFGMDAwMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR0luc3RydW1lbnR8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ceDY0LnZzcHJvcHM7LlxwZ2luc3RydW1lbnQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxZTFGMDAwMCINCi0JCQkJVGFyZ2V0TWFjaGluZT0iMTciDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUEdVcGRhdGV8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7LlxwZ3VwZGF0ZS52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MWUxRjAwMDAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUEdVcGRhdGV8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ceDY0LnZzcHJvcHM7LlxwZ3VwZGF0ZS52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFlMUYwMDAwIg0KLQkJCQlUYXJnZXRNYWNoaW5lPSIxNyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQk8L0NvbmZpZ3VyYXRpb25zPg0KLQk8UmVmZXJlbmNlcz4NCi0JPC9SZWZlcmVuY2VzPg0KLQk8RmlsZXM+DQotCQk8RmlsdGVyDQotCQkJTmFtZT0iU291cmNlIEZpbGVzIg0KLQkJCT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX3Rlc3RjYXBpbW9kdWxlLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQk8L0ZpbHRlcj4NCi0JPC9GaWxlcz4NCi0JPEdsb2JhbHM+DQotCTwvR2xvYmFscz4NCi08L1Zpc3VhbFN0dWRpb1Byb2plY3Q+DQpkaWZmIC0tZ2l0IGEvUEMvVlM5LjAvX3Rlc3RpbXBvcnRtdWx0aXBsZS52Y3Byb2ogYi9QQy9WUzkuMC9fdGVzdGltcG9ydG11bHRpcGxlLnZjcHJvagpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTRkOTEwZC4uMDAwMDAwMAotLS0gYS9QQy9WUzkuMC9fdGVzdGltcG9ydG11bHRpcGxlLnZjcHJvagorKysgL2Rldi9udWxsCkBAIC0xLDUyMSArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJXaW5kb3dzLTEyNTIiPz4NCi08VmlzdWFsU3R1ZGlvUHJvamVjdA0KLQlQcm9qZWN0VHlwZT0iVmlzdWFsIEMrKyINCi0JVmVyc2lvbj0iOS4wMCINCi0JTmFtZT0iX3Rlc3RpbXBvcnRtdWx0aXBsZSINCi0JUHJvamVjdEdVSUQ9InszNkQwQzUyQy1ERjRFLTQ1RDAtOEJDNy1FMjk0QzNBQkM3ODF9Ig0KLQlSb290TmFtZXNwYWNlPSJfdGVzdGltcG9ydG11bHRpcGxlIg0KLQlLZXl3b3JkPSJXaW4zMlByb2oiDQotCVRhcmdldEZyYW1ld29ya1ZlcnNpb249IjE5NjYxMyINCi0JPg0KLQk8UGxhdGZvcm1zPg0KLQkJPFBsYXRmb3JtDQotCQkJTmFtZT0iV2luMzIiDQotCQkvPg0KLQkJPFBsYXRmb3JtDQotCQkJTmFtZT0ieDY0Ig0KLQkJLz4NCi0JPC9QbGF0Zm9ybXM+DQotCTxUb29sRmlsZXM+DQotCTwvVG9vbEZpbGVzPg0KLQk8Q29uZmlndXJhdGlvbnM+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IkRlYnVnfFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZF9kLnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFlMUYwMDAwIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IkRlYnVnfHg2NCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWRfZC52c3Byb3BzOy5ceDY0LnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxZTFGMDAwMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJSZWxlYXNlfFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MWUxRjAwMDAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUmVsZWFzZXx4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7Llx4NjQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxZTFGMDAwMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR0luc3RydW1lbnR8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7LlxwZ2luc3RydW1lbnQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFlMUYwMDAwIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlBHSW5zdHJ1bWVudHx4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7Llx4NjQudnNwcm9wczsuXHBnaW5zdHJ1bWVudC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFlMUYwMDAwIg0KLQkJCQlUYXJnZXRNYWNoaW5lPSIxNyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR1VwZGF0ZXxXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wczsuXHBndXBkYXRlLnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxZTFGMDAwMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR1VwZGF0ZXx4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7Llx4NjQudnNwcm9wczsuXHBndXBkYXRlLnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJCVRhcmdldEVudmlyb25tZW50PSIzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MWUxRjAwMDAiDQotCQkJCVRhcmdldE1hY2hpbmU9IjE3Ig0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCTwvQ29uZmlndXJhdGlvbnM+DQotCTxSZWZlcmVuY2VzPg0KLQk8L1JlZmVyZW5jZXM+DQotCTxGaWxlcz4NCi0JCTxGaWx0ZXINCi0JCQlOYW1lPSJTb3VyY2UgRmlsZXMiDQotCQkJPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfdGVzdGltcG9ydG11bHRpcGxlLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQk8L0ZpbHRlcj4NCi0JPC9GaWxlcz4NCi0JPEdsb2JhbHM+DQotCTwvR2xvYmFscz4NCi08L1Zpc3VhbFN0dWRpb1Byb2plY3Q+DQpkaWZmIC0tZ2l0IGEvUEMvVlM5LjAvX3RraW50ZXIudmNwcm9qIGIvUEMvVlM5LjAvX3RraW50ZXIudmNwcm9qCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1MTYzMzE3Li4wMDAwMDAwCi0tLSBhL1BDL1ZTOS4wL190a2ludGVyLnZjcHJvagorKysgL2Rldi9udWxsCkBAIC0xLDU0MSArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJXaW5kb3dzLTEyNTIiPz4NCi08VmlzdWFsU3R1ZGlvUHJvamVjdA0KLQlQcm9qZWN0VHlwZT0iVmlzdWFsIEMrKyINCi0JVmVyc2lvbj0iOS4wMCINCi0JTmFtZT0iX3RraW50ZXIiDQotCVByb2plY3RHVUlEPSJ7NDk0NkVDQUMtMkU2OS00QkY4LUE5MEEtRjUxMzZGNTA5NERGfSINCi0JUm9vdE5hbWVzcGFjZT0iX3RraW50ZXIiDQotCUtleXdvcmQ9IldpbjMyUHJvaiINCi0JVGFyZ2V0RnJhbWV3b3JrVmVyc2lvbj0iMTk2NjEzIg0KLQk+DQotCTxQbGF0Zm9ybXM+DQotCQk8UGxhdGZvcm0NCi0JCQlOYW1lPSJXaW4zMiINCi0JCS8+DQotCQk8UGxhdGZvcm0NCi0JCQlOYW1lPSJ4NjQiDQotCQkvPg0KLQk8L1BsYXRmb3Jtcz4NCi0JPFRvb2xGaWxlcz4NCi0JPC9Ub29sRmlsZXM+DQotCTxDb25maWd1cmF0aW9ucz4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iRGVidWd8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkX2QudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iJCh0Y2x0a0RpcilcaW5jbHVkZSINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IldJVEhfQVBQSU5JVCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0iJCh0Y2x0a0xpYkRlYnVnKSINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJEZWJ1Z3x4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkX2QudnNwcm9wczsuXHg2NC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJCVRhcmdldEVudmlyb25tZW50PSIzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iJCh0Y2x0azY0RGlyKVxpbmNsdWRlIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iV0lUSF9BUFBJTklUIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSIkKHRjbHRrNjRMaWJEZWJ1ZykiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiQodGNsdGtEaXIpXGluY2x1ZGUiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJXSVRIX0FQUElOSVQiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9IiQodGNsdGtMaWIpIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlJlbGVhc2V8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ceDY0LnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJCVRhcmdldEVudmlyb25tZW50PSIzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iJCh0Y2x0azY0RGlyKVxpbmNsdWRlIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iV0lUSF9BUFBJTklUIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSIkKHRjbHRrNjRMaWIpIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlBHSW5zdHJ1bWVudHxXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wczsuXHBnaW5zdHJ1bWVudC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iJCh0Y2x0a0RpcilcaW5jbHVkZSINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IldJVEhfQVBQSU5JVCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0iJCh0Y2x0a0xpYikiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUEdJbnN0cnVtZW50fHg2NCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wczsuXHg2NC52c3Byb3BzOy5ccGdpbnN0cnVtZW50LnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJCVRhcmdldEVudmlyb25tZW50PSIzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iJCh0Y2x0azY0RGlyKVxpbmNsdWRlIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iV0lUSF9BUFBJTklUIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSIkKHRjbHRrNjRMaWIpIg0KLQkJCQlUYXJnZXRNYWNoaW5lPSIxNyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR1VwZGF0ZXxXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wczsuXHBndXBkYXRlLnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIkKHRjbHRrRGlyKVxpbmNsdWRlIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iV0lUSF9BUFBJTklUIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSIkKHRjbHRrTGliKSINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR1VwZGF0ZXx4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7Llx4NjQudnNwcm9wczsuXHBndXBkYXRlLnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJCVRhcmdldEVudmlyb25tZW50PSIzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iJCh0Y2x0azY0RGlyKVxpbmNsdWRlIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iV0lUSF9BUFBJTklUIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSIkKHRjbHRrNjRMaWIpIg0KLQkJCQlUYXJnZXRNYWNoaW5lPSIxNyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQk8L0NvbmZpZ3VyYXRpb25zPg0KLQk8UmVmZXJlbmNlcz4NCi0JPC9SZWZlcmVuY2VzPg0KLQk8RmlsZXM+DQotCQk8RmlsdGVyDQotCQkJTmFtZT0iU291cmNlIEZpbGVzIg0KLQkJCT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX3RraW50ZXIuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcdGthcHBpbml0LmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQk8L0ZpbHRlcj4NCi0JPC9GaWxlcz4NCi0JPEdsb2JhbHM+DQotCTwvR2xvYmFscz4NCi08L1Zpc3VhbFN0dWRpb1Byb2plY3Q+DQpkaWZmIC0tZ2l0IGEvUEMvVlM5LjAvYmRpc3Rfd2luaW5zdC52Y3Byb2ogYi9QQy9WUzkuMC9iZGlzdF93aW5pbnN0LnZjcHJvagpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjhjYzdhZC4uMDAwMDAwMAotLS0gYS9QQy9WUzkuMC9iZGlzdF93aW5pbnN0LnZjcHJvagorKysgL2Rldi9udWxsCkBAIC0xLDI3MCArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJXaW5kb3dzLTEyNTIiPz4NCi08VmlzdWFsU3R1ZGlvUHJvamVjdA0KLQlQcm9qZWN0VHlwZT0iVmlzdWFsIEMrKyINCi0JVmVyc2lvbj0iOS4wMCINCi0JTmFtZT0iYmRpc3Rfd2luaW5zdCINCi0JUHJvamVjdEdVSUQ9IntFQjFDMTlDMS0xRjE4LTQyMUUtOTczNS1DQUVFNjlEQzZBM0N9Ig0KLQlSb290TmFtZXNwYWNlPSJ3aW5pbnN0Ig0KLQlUYXJnZXRGcmFtZXdvcmtWZXJzaW9uPSIxMzEwNzIiDQotCT4NCi0JPFBsYXRmb3Jtcz4NCi0JCTxQbGF0Zm9ybQ0KLQkJCU5hbWU9IldpbjMyIg0KLQkJLz4NCi0JCTxQbGF0Zm9ybQ0KLQkJCU5hbWU9Ing2NCINCi0JCS8+DQotCTwvUGxhdGZvcm1zPg0KLQk8VG9vbEZpbGVzPg0KLQk8L1Rvb2xGaWxlcz4NCi0JPENvbmZpZ3VyYXRpb25zPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJSZWxlYXNlfFdpbjMyIg0KLQkJCU91dHB1dERpcmVjdG9yeT0iLi5cLi5cbGliXGRpc3R1dGlsc1xjb21tYW5kIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIxIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5cHJvamVjdC52c3Byb3BzOy5ccmVsZWFzZS52c3Byb3BzIg0KLQkJCVVzZU9mTUZDPSIwIg0KLQkJCUFUTE1pbmltaXplc0NSdW5UaW1lTGlicmFyeVVzYWdlPSJmYWxzZSINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iTkRFQlVHIg0KLQkJCQlNa1R5cExpYkNvbXBhdGlibGU9InRydWUiDQotCQkJCVN1cHByZXNzU3RhcnR1cEJhbm5lcj0idHJ1ZSINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjEiDQotCQkJCVR5cGVMaWJyYXJ5TmFtZT0iLlwuLlwuLlxsaWJcZGlzdHV0aWxzXGNvbW1hbmRcd2luaW5zdC50bGIiDQotCQkJCUhlYWRlckZpbGVOYW1lPSIiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlPcHRpbWl6YXRpb249IjEiDQotCQkJCUlubGluZUZ1bmN0aW9uRXhwYW5zaW9uPSIxIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIuLlwuLlxQQ1xiZGlzdF93aW5pbnN0Oy4uXC4uXEluY2x1ZGU7Li5cLi5cTW9kdWxlc1x6bGliIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iX0NSVF9TRUNVUkVfTk9fREVQUkVDQVRFO19DUlRfTk9OU1REQ19OT19ERVBSRUNBVEUiDQotCQkJCVN0cmluZ1Bvb2xpbmc9InRydWUiDQotCQkJCVJ1bnRpbWVMaWJyYXJ5PSIwIg0KLQkJCQlFbmFibGVGdW5jdGlvbkxldmVsTGlua2luZz0idHJ1ZSINCi0JCQkJV2FybmluZ0xldmVsPSIzIg0KLQkJCQlTdXBwcmVzc1N0YXJ0dXBCYW5uZXI9InRydWUiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJOREVCVUciDQotCQkJCUN1bHR1cmU9IjAiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9Ii4uXC4uXFBDOy4uXC4uXFBDXGJkaXN0X3dpbmluc3Q7Li5cLi5cSW5jbHVkZSINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0iY29tY3RsMzIubGliIGltYWdlaGxwLmxpYiINCi0JCQkJT3V0cHV0RmlsZT0iLi5cLi5cbGliXGRpc3R1dGlsc1xjb21tYW5kXHdpbmluc3QtOS4wLmV4ZSINCi0JCQkJTGlua0luY3JlbWVudGFsPSIxIg0KLQkJCQlTdXBwcmVzc1N0YXJ0dXBCYW5uZXI9InRydWUiDQotCQkJCUlnbm9yZURlZmF1bHRMaWJyYXJ5TmFtZXM9IkxJQkMiDQotCQkJCVByb2dyYW1EYXRhYmFzZUZpbGU9Ii4uXC4uXGxpYlxkaXN0dXRpbHNcY29tbWFuZFx3aW5pbnN0LTkuMC5wZGIiDQotCQkJCVN1YlN5c3RlbT0iMiINCi0JCQkJUmFuZG9taXplZEJhc2VBZGRyZXNzPSIxIg0KLQkJCQlEYXRhRXhlY3V0aW9uUHJldmVudGlvbj0iMCINCi0JCQkJVGFyZ2V0TWFjaGluZT0iMSINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJSZWxlYXNlfHg2NCINCi0JCQlPdXRwdXREaXJlY3Rvcnk9IiQoUGxhdGZvcm1OYW1lKVwkKENvbmZpZ3VyYXRpb25OYW1lKSINCi0JCQlJbnRlcm1lZGlhdGVEaXJlY3Rvcnk9IiQoUGxhdGZvcm1OYW1lKVwkKENvbmZpZ3VyYXRpb25OYW1lKSINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMSINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweXByb2plY3QudnNwcm9wczsuXHJlbGVhc2UudnNwcm9wcyINCi0JCQlVc2VPZk1GQz0iMCINCi0JCQlBVExNaW5pbWl6ZXNDUnVuVGltZUxpYnJhcnlVc2FnZT0iZmFsc2UiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9Ik5ERUJVRyINCi0JCQkJTWtUeXBMaWJDb21wYXRpYmxlPSJ0cnVlIg0KLQkJCQlTdXBwcmVzc1N0YXJ0dXBCYW5uZXI9InRydWUiDQotCQkJCVRhcmdldEVudmlyb25tZW50PSIzIg0KLQkJCQlUeXBlTGlicmFyeU5hbWU9Ii5cLi5cLi5cbGliXGRpc3R1dGlsc1xjb21tYW5kXHdpbmluc3QudGxiIg0KLQkJCQlIZWFkZXJGaWxlTmFtZT0iIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJT3B0aW1pemF0aW9uPSIxIg0KLQkJCQlJbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj0iMSINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLi5cLi5cUENcYmRpc3Rfd2luaW5zdDsuLlwuLlxJbmNsdWRlOy4uXC4uXE1vZHVsZXNcemxpYiINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9Il9DUlRfU0VDVVJFX05PX0RFUFJFQ0FURTtfQ1JUX05PTlNURENfTk9fREVQUkVDQVRFIg0KLQkJCQlTdHJpbmdQb29saW5nPSJ0cnVlIg0KLQkJCQlSdW50aW1lTGlicmFyeT0iMCINCi0JCQkJRW5hYmxlRnVuY3Rpb25MZXZlbExpbmtpbmc9InRydWUiDQotCQkJCVdhcm5pbmdMZXZlbD0iMyINCi0JCQkJU3VwcHJlc3NTdGFydHVwQmFubmVyPSJ0cnVlIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iTkRFQlVHIg0KLQkJCQlDdWx0dXJlPSIwIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIuLlwuLlxQQzsuLlwuLlxQQ1xiZGlzdF93aW5pbnN0Oy4uXC4uXEluY2x1ZGUiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9ImNvbWN0bDMyLmxpYiBpbWFnZWhscC5saWIiDQotCQkJCU91dHB1dEZpbGU9Ii4uXC4uXGxpYlxkaXN0dXRpbHNcY29tbWFuZFx3aW5pbnN0LTkuMC1hbWQ2NC5leGUiDQotCQkJCUxpbmtJbmNyZW1lbnRhbD0iMSINCi0JCQkJU3VwcHJlc3NTdGFydHVwQmFubmVyPSJ0cnVlIg0KLQkJCQlJZ25vcmVEZWZhdWx0TGlicmFyeU5hbWVzPSJMSUJDIg0KLQkJCQlQcm9ncmFtRGF0YWJhc2VGaWxlPSIuLlwuLlxsaWJcZGlzdHV0aWxzXGNvbW1hbmRcd2luaW5zdC05LjAtYW1kNjQucGRiIg0KLQkJCQlTdWJTeXN0ZW09IjIiDQotCQkJCVJhbmRvbWl6ZWRCYXNlQWRkcmVzcz0iMSINCi0JCQkJRGF0YUV4ZWN1dGlvblByZXZlbnRpb249IjAiDQotCQkJCVRhcmdldE1hY2hpbmU9IjE3Ig0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCTwvQ29uZmlndXJhdGlvbnM+DQotCTxSZWZlcmVuY2VzPg0KLQk8L1JlZmVyZW5jZXM+DQotCTxGaWxlcz4NCi0JCTxGaWx0ZXINCi0JCQlOYW1lPSJTb3VyY2UgRmlsZXMiDQotCQkJRmlsdGVyPSJjcHA7YztjeHg7cmM7ZGVmO3I7b2RsO2lkbDtocGo7YmF0Ig0KLQkJCT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFBDXGJkaXN0X3dpbmluc3RcZXh0cmFjdC5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUENcYmRpc3Rfd2luaW5zdFxpbnN0YWxsLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbHRlcg0KLQkJCQlOYW1lPSJ6bGliIg0KLQkJCQk+DQotCQkJCTxGaWxlDQotCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcemxpYlxhZGxlcjMyLmMiDQotCQkJCQk+DQotCQkJCTwvRmlsZT4NCi0JCQkJPEZpbGUNCi0JCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1x6bGliXGNyYzMyLmMiDQotCQkJCQk+DQotCQkJCTwvRmlsZT4NCi0JCQkJPEZpbGUNCi0JCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1x6bGliXGluZmZhc3QuYyINCi0JCQkJCT4NCi0JCQkJPC9GaWxlPg0KLQkJCQk8RmlsZQ0KLQkJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXHpsaWJcaW5mbGF0ZS5jIg0KLQkJCQkJPg0KLQkJCQk8L0ZpbGU+DQotCQkJCTxGaWxlDQotCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcemxpYlxpbmZ0cmVlcy5jIg0KLQkJCQkJPg0KLQkJCQk8L0ZpbGU+DQotCQkJCTxGaWxlDQotCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcemxpYlx6dXRpbC5jIg0KLQkJCQkJPg0KLQkJCQk8L0ZpbGU+DQotCQkJPC9GaWx0ZXI+DQotCQk8L0ZpbHRlcj4NCi0JCTxGaWx0ZXINCi0JCQlOYW1lPSJIZWFkZXIgRmlsZXMiDQotCQkJRmlsdGVyPSJoO2hwcDtoeHg7aG07aW5sIg0KLQkJCT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFBDXGJkaXN0X3dpbmluc3RcYXJjaGl2ZS5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJPC9GaWx0ZXI+DQotCQk8RmlsdGVyDQotCQkJTmFtZT0iUmVzb3VyY2UgRmlsZXMiDQotCQkJRmlsdGVyPSJpY287Y3VyO2JtcDtkbGc7cmMyO3JjdDtiaW47cmdzO2dpZjtqcGc7anBlZztqcGUiDQotCQkJPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUENcYmRpc3Rfd2luaW5zdFxpbnN0YWxsLnJjIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUENcYmRpc3Rfd2luaW5zdFxQeXRob25Qb3dlcmVkLmJtcCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCTwvRmlsdGVyPg0KLQk8L0ZpbGVzPg0KLQk8R2xvYmFscz4NCi0JPC9HbG9iYWxzPg0KLTwvVmlzdWFsU3R1ZGlvUHJvamVjdD4NCmRpZmYgLS1naXQgYS9QQy9WUzkuMC9kZWJ1Zy52c3Byb3BzIGIvUEMvVlM5LjAvZGVidWcudnNwcm9wcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYmM2NDNjYi4uMDAwMDAwMAotLS0gYS9QQy9WUzkuMC9kZWJ1Zy52c3Byb3BzCisrKyAvZGV2L251bGwKQEAgLTEsMTUgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iV2luZG93cy0xMjUyIj8+DQotPFZpc3VhbFN0dWRpb1Byb3BlcnR5U2hlZXQNCi0JUHJvamVjdFR5cGU9IlZpc3VhbCBDKysiDQotCVZlcnNpb249IjguMDAiDQotCU5hbWU9ImRlYnVnIg0KLQk+DQotCTxUb29sDQotCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9Il9ERUJVRyINCi0JLz4NCi0JPFVzZXJNYWNybw0KLQkJTmFtZT0iS2lsbFB5dGhvbkV4ZSINCi0JCVZhbHVlPSIkKE91dERpcilca2lsbF9weXRob25fZC5leGUiDQotCS8+DQotPC9WaXN1YWxTdHVkaW9Qcm9wZXJ0eVNoZWV0Pg0KZGlmZiAtLWdpdCBhL1BDL1ZTOS4wL2tpbGxfcHl0aG9uLmMgYi9QQy9WUzkuMC9raWxsX3B5dGhvbi5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2MDQ3MzFmLi4wMDAwMDAwCi0tLSBhL1BDL1ZTOS4wL2tpbGxfcHl0aG9uLmMKKysrIC9kZXYvbnVsbApAQCAtMSwxNzggKzAsMCBAQAotLyoKLSAqIEhlbHBlciBwcm9ncmFtIGZvciBraWxsaW5nIGxpbmdlcmluZyBweXRob25bX2RdLmV4ZSBwcm9jZXNzZXMgYmVmb3JlCi0gKiBidWlsZGluZywgdGh1cyBhdHRlbXB0aW5nIHRvIGF2b2lkIGJ1aWxkIGZhaWx1cmVzIGR1ZSB0byBmaWxlcyBiZWluZwotICogbG9ja2VkLgotICovCi0KLSNpbmNsdWRlIDx3aW5kb3dzLmg+Ci0jaW5jbHVkZSA8d2NoYXIuaD4KLSNpbmNsdWRlIDx0bGhlbHAzMi5oPgotI2luY2x1ZGUgPHN0ZGlvLmg+Ci0KLSNwcmFnbWEgY29tbWVudChsaWIsICJwc2FwaSIpCi0KLSNpZmRlZiBfREVCVUcKLSNkZWZpbmUgUFlUSE9OX0VYRSAgICAgICAgICAoTCJweXRob25fZC5leGUiKQotI2RlZmluZSBQWVRIT05fRVhFX0xFTiAgICAgICgxMikKLSNkZWZpbmUgS0lMTF9QWVRIT05fRVhFICAgICAoTCJraWxsX3B5dGhvbl9kLmV4ZSIpCi0jZGVmaW5lIEtJTExfUFlUSE9OX0VYRV9MRU4gKDE3KQotI2Vsc2UKLSNkZWZpbmUgUFlUSE9OX0VYRSAgICAgICAgICAoTCJweXRob24uZXhlIikKLSNkZWZpbmUgUFlUSE9OX0VYRV9MRU4gICAgICAoMTApCi0jZGVmaW5lIEtJTExfUFlUSE9OX0VYRSAgICAgKEwia2lsbF9weXRob24uZXhlIikKLSNkZWZpbmUgS0lMTF9QWVRIT05fRVhFX0xFTiAoMTUpCi0jZW5kaWYKLQotaW50Ci1tYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKLXsKLSAgICBIQU5ETEUgICBocCwgaHNwLCBoc207IC8qIHByb2Nlc3MsIHNuYXBzaG90IHByb2Nlc3Nlcywgc25hcHNob3QgbW9kdWxlcyAqLwotICAgIERXT1JEICAgIGRhYywgb3VyX3BpZDsKLSAgICBzaXplX3QgICBsZW47Ci0gICAgd2NoYXJfdCAgcGF0aFtNQVhfUEFUSCsxXTsKLQotICAgIE1PRFVMRUVOVFJZMzJXICBtZTsKLSAgICBQUk9DRVNTRU5UUlkzMlcgcGU7Ci0KLSAgICBtZS5kd1NpemUgPSBzaXplb2YoTU9EVUxFRU5UUlkzMlcpOwotICAgIHBlLmR3U2l6ZSA9IHNpemVvZihQUk9DRVNTRU5UUlkzMlcpOwotCi0gICAgbWVtc2V0KHBhdGgsIDAsIE1BWF9QQVRIKzEpOwotCi0gICAgb3VyX3BpZCA9IEdldEN1cnJlbnRQcm9jZXNzSWQoKTsKLQotICAgIGhzbSA9IENyZWF0ZVRvb2xoZWxwMzJTbmFwc2hvdChUSDMyQ1NfU05BUE1PRFVMRSwgb3VyX3BpZCk7Ci0gICAgaWYgKGhzbSA9PSBJTlZBTElEX0hBTkRMRV9WQUxVRSkgewotICAgICAgICBwcmludGYoIkNyZWF0ZVRvb2xoZWxwMzJTbmFwc2hvdFsxXSBmYWlsZWQ6ICVkXG4iLCBHZXRMYXN0RXJyb3IoKSk7Ci0gICAgICAgIHJldHVybiAxOwotICAgIH0KLQotICAgIGlmICghTW9kdWxlMzJGaXJzdFcoaHNtLCAmbWUpKSB7Ci0gICAgICAgIHByaW50ZigiTW9kdWxlMzJGaXJzdFdbMV0gZmFpbGVkOiAlZFxuIiwgR2V0TGFzdEVycm9yKCkpOwotICAgICAgICBDbG9zZUhhbmRsZShoc20pOwotICAgICAgICByZXR1cm4gMTsKLSAgICB9Ci0KLSAgICAvKgotICAgICAqIEVudW1lcmF0ZSBvdmVyIHRoZSBtb2R1bGVzIGZvciB0aGUgY3VycmVudCBwcm9jZXNzIGluIG9yZGVyIHRvIGZpbmQKLSAgICAgKiBraWxsX3Byb2Nlc3NbX2RdLmV4ZSwgdGhlbiB0YWtlIGEgbm90ZSBvZiB0aGUgZGlyZWN0b3J5IGl0IGxpdmVzIGluLgotICAgICAqLwotICAgIGRvIHsKLSAgICAgICAgaWYgKF93Y3NuaWNtcChtZS5zek1vZHVsZSwgS0lMTF9QWVRIT05fRVhFLCBLSUxMX1BZVEhPTl9FWEVfTEVOKSkKLSAgICAgICAgICAgIGNvbnRpbnVlOwotCi0gICAgICAgIGxlbiA9IHdjc25sZW5fcyhtZS5zekV4ZVBhdGgsIE1BWF9QQVRIKSAtIEtJTExfUFlUSE9OX0VYRV9MRU47Ci0gICAgICAgIHdjc25jcHlfcyhwYXRoLCBNQVhfUEFUSCsxLCBtZS5zekV4ZVBhdGgsIGxlbik7IAotCi0gICAgICAgIGJyZWFrOwotCi0gICAgfSB3aGlsZSAoTW9kdWxlMzJOZXh0Vyhoc20sICZtZSkpOwotCi0gICAgQ2xvc2VIYW5kbGUoaHNtKTsKLQotICAgIGlmIChwYXRoID09IE5VTEwpIHsKLSAgICAgICAgcHJpbnRmKCJmYWlsZWQgdG8gZGlzY2VybiBkaXJlY3Rvcnkgb2YgcnVubmluZyBwcm9jZXNzXG4iKTsKLSAgICAgICAgcmV0dXJuIDE7Ci0gICAgfQotCi0gICAgLyoKLSAgICAgKiBUYWtlIGEgc25hcHNob3Qgb2Ygc3lzdGVtIHByb2Nlc3Nlcy4gIEVudW1lcmF0ZSBvdmVyIHRoZSBzbmFwc2hvdCwKLSAgICAgKiBsb29raW5nIGZvciBweXRob24gcHJvY2Vzc2VzLiAgV2hlbiB3ZSBmaW5kIG9uZSwgdmVyaWZ5IGl0IGxpdmVzCi0gICAgICogaW4gdGhlIHNhbWUgZGlyZWN0b3J5IHdlIGxpdmUgaW4uICBJZiBpdCBkb2VzLCBraWxsIGl0LiAgSWYgd2UncmUKLSAgICAgKiB1bmFibGUgdG8ga2lsbCBpdCwgdHJlYXQgdGhpcyBhcyBhIGZhdGFsIGVycm9yIGFuZCByZXR1cm4gMS4KLSAgICAgKiAKLSAgICAgKiBUaGUgcmF0aW9uYWxlIGJlaGluZCB0aGlzIGlzIHRoYXQgd2UncmUgY2FsbGVkIGF0IHRoZSBzdGFydCBvZiB0aGUgCi0gICAgICogYnVpbGQgcHJvY2VzcyBvbiB0aGUgYmFzaXMgdGhhdCB3ZSdsbCB0YWtlIGNhcmUgb2Yga2lsbGluZyBhbnkKLSAgICAgKiBydW5uaW5nIGluc3RhbmNlcywgc3VjaCB0aGF0IHRoZSBidWlsZCB3b24ndCBlbmNvdW50ZXIgcGVybWlzc2lvbgotICAgICAqIGRlbmllZCBlcnJvcnMgZHVyaW5nIGxpbmtpbmcuIElmIHdlIGNhbid0IGtpbGwgb25lIG9mIHRoZSBwcm9jZXNzZXMsCi0gICAgICogd2UgY2FuJ3QgcHJvdmlkZSB0aGlzIGFzc3VyYW5jZSwgYW5kIHRoZSBidWlsZCBzaG91bGRuJ3Qgc3RhcnQuCi0gICAgICovCi0KLSAgICBoc3AgPSBDcmVhdGVUb29saGVscDMyU25hcHNob3QoVEgzMkNTX1NOQVBQUk9DRVNTLCAwKTsKLSAgICBpZiAoaHNwID09IElOVkFMSURfSEFORExFX1ZBTFVFKSB7Ci0gICAgICAgIHByaW50ZigiQ3JlYXRlVG9vbGhlbHAzMlNuYXBzaG90WzJdIGZhaWxlZDogJWRcbiIsIEdldExhc3RFcnJvcigpKTsKLSAgICAgICAgcmV0dXJuIDE7Ci0gICAgfQotCi0gICAgaWYgKCFQcm9jZXNzMzJGaXJzdFcoaHNwLCAmcGUpKSB7Ci0gICAgICAgIHByaW50ZigiUHJvY2VzczMyRmlyc3RXIGZhaWxlZDogJWRcbiIsIEdldExhc3RFcnJvcigpKTsKLSAgICAgICAgQ2xvc2VIYW5kbGUoaHNwKTsKLSAgICAgICAgcmV0dXJuIDE7Ci0gICAgfQotCi0gICAgZGFjID0gUFJPQ0VTU19RVUVSWV9JTkZPUk1BVElPTiB8IFBST0NFU1NfVk1fUkVBRCB8IFBST0NFU1NfVEVSTUlOQVRFOwotICAgIGRvIHsKLQotICAgICAgICAvKgotICAgICAgICAgKiBYWFggVE9ETzogaWYgd2UgcmVhbGx5IHdhbnRlZCB0byBiZSBmYW5jeSwgd2UgY291bGQgY2hlY2sgdGhlIAotICAgICAgICAgKiBtb2R1bGVzIGZvciBhbGwgcHJvY2Vzc2VzIChub3QganVzdCB0aGUgcHl0aG9uW19kXS5leGUgb25lcykKLSAgICAgICAgICogYW5kIHNlZSBpZiBhbnkgb2Ygb3VyIERMTHMgYXJlIGxvYWRlZCAoaS5lLiBweXRob24zNFtfZF0uZGxsKSwKLSAgICAgICAgICogYXMgdGhhdCB3b3VsZCBhbHNvIGluaGliaXQgb3VyIGFiaWxpdHkgdG8gcmVidWlsZCB0aGUgc29sdXRpb24uCi0gICAgICAgICAqIE5vdCB3b3J0aCBsb29zaW5nIHNsZWVwIG92ZXIgdGhvdWdoOyBmb3Igbm93LCBhIHNpbXBsZSBjaGVjayAKLSAgICAgICAgICogZm9yIGp1c3QgdGhlIHB5dGhvbiBleGVjdXRhYmxlIHNob3VsZCBiZSBzdWZmaWNpZW50LgotICAgICAgICAgKi8KLQotICAgICAgICBpZiAoX3djc25pY21wKHBlLnN6RXhlRmlsZSwgUFlUSE9OX0VYRSwgUFlUSE9OX0VYRV9MRU4pKQotICAgICAgICAgICAgLyogVGhpcyBpc24ndCBhIHB5dGhvbiBwcm9jZXNzLiAqLwotICAgICAgICAgICAgY29udGludWU7Ci0KLSAgICAgICAgLyogSXQncyBhIHB5dGhvbiBwcm9jZXNzLCBzbyBmaWd1cmUgb3V0IHdoaWNoIGRpcmVjdG9yeSBpdCdzIGluLi4uICovCi0gICAgICAgIGhzbSA9IENyZWF0ZVRvb2xoZWxwMzJTbmFwc2hvdChUSDMyQ1NfU05BUE1PRFVMRSwgcGUudGgzMlByb2Nlc3NJRCk7Ci0gICAgICAgIGlmIChoc20gPT0gSU5WQUxJRF9IQU5ETEVfVkFMVUUpCi0gICAgICAgICAgICAvKiAKLSAgICAgICAgICAgICAqIElmIG91ciBtb2R1bGUgc25hcHNob3QgZmFpbHMgKHdoaWNoIHdpbGwgaGFwcGVuIGlmIHdlIGRvbid0IG93bgotICAgICAgICAgICAgICogdGhlIHByb2Nlc3MpLCBqdXN0IGlnbm9yZSBpdCBhbmQgY29udGludWUuICAoSXQgc2VlbXMgZGlmZmVyZW50Ci0gICAgICAgICAgICAgKiB2ZXJzaW9ucyBvZiBXaW5kb3dzIHJldHVybiBkaWZmZXJlbnQgdmFsdWVzIGZvciBHZXRMYXN0RXJyb3IoKQotICAgICAgICAgICAgICogaW4gdGhpcyBzaXR1YXRpb247IGl0J3MgZWFzaWVyIHRvIGp1c3QgaWdub3JlIGl0IGFuZCBtb3ZlIG9uIHZzLgotICAgICAgICAgICAgICogc3RvcHBpbmcgdGhlIGJ1aWxkIGZvciB3aGF0IGNvdWxkIGJlIGEgZmFsc2UgcG9zaXRpdmUuKQotICAgICAgICAgICAgICovCi0gICAgICAgICAgICAgY29udGludWU7Ci0KLSAgICAgICAgaWYgKCFNb2R1bGUzMkZpcnN0Vyhoc20sICZtZSkpIHsKLSAgICAgICAgICAgIHByaW50ZigiTW9kdWxlMzJGaXJzdFdbMl0gZmFpbGVkOiAlZFxuIiwgR2V0TGFzdEVycm9yKCkpOwotICAgICAgICAgICAgQ2xvc2VIYW5kbGUoaHNwKTsKLSAgICAgICAgICAgIENsb3NlSGFuZGxlKGhzbSk7Ci0gICAgICAgICAgICByZXR1cm4gMTsKLSAgICAgICAgfQotCi0gICAgICAgIGRvIHsKLSAgICAgICAgICAgIGlmIChfd2NzbmljbXAobWUuc3pNb2R1bGUsIFBZVEhPTl9FWEUsIFBZVEhPTl9FWEVfTEVOKSkKLSAgICAgICAgICAgICAgICAvKiBXcm9uZyBtb2R1bGUsIHdlJ3JlIGxvb2tpbmcgZm9yIHB5dGhvbltfZF0uZXhlLi4uICovCi0gICAgICAgICAgICAgICAgY29udGludWU7Ci0KLSAgICAgICAgICAgIGlmIChfd2NzbmljbXAocGF0aCwgbWUuc3pFeGVQYXRoLCBsZW4pKQotICAgICAgICAgICAgICAgIC8qIFByb2Nlc3MgZG9lc24ndCBsaXZlIGluIG91ciBkaXJlY3RvcnkuICovCi0gICAgICAgICAgICAgICAgYnJlYWs7Ci0KLSAgICAgICAgICAgIC8qIFB5dGhvbiBwcm9jZXNzIHJlc2lkaW5nIGluIHRoZSByaWdodCBkaXJlY3RvcnksIGtpbGwgaXQhICAqLwotICAgICAgICAgICAgaHAgPSBPcGVuUHJvY2VzcyhkYWMsIEZBTFNFLCBwZS50aDMyUHJvY2Vzc0lEKTsKLSAgICAgICAgICAgIGlmICghaHApIHsKLSAgICAgICAgICAgICAgICBwcmludGYoIk9wZW5Qcm9jZXNzIGZhaWxlZDogJWRcbiIsIEdldExhc3RFcnJvcigpKTsKLSAgICAgICAgICAgICAgICBDbG9zZUhhbmRsZShoc3ApOwotICAgICAgICAgICAgICAgIENsb3NlSGFuZGxlKGhzbSk7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIDE7Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIGlmICghVGVybWluYXRlUHJvY2VzcyhocCwgMSkpIHsKLSAgICAgICAgICAgICAgICBwcmludGYoIlRlcm1pbmF0ZVByb2Nlc3MgZmFpbGVkOiAlZFxuIiwgR2V0TGFzdEVycm9yKCkpOwotICAgICAgICAgICAgICAgIENsb3NlSGFuZGxlKGhzcCk7Ci0gICAgICAgICAgICAgICAgQ2xvc2VIYW5kbGUoaHNtKTsKLSAgICAgICAgICAgICAgICBDbG9zZUhhbmRsZShocCk7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIDE7Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIENsb3NlSGFuZGxlKGhwKTsKLSAgICAgICAgICAgIGJyZWFrOwotCi0gICAgICAgIH0gd2hpbGUgKE1vZHVsZTMyTmV4dFcoaHNtLCAmbWUpKTsKLQotICAgICAgICBDbG9zZUhhbmRsZShoc20pOwotCi0gICAgfSB3aGlsZSAoUHJvY2VzczMyTmV4dFcoaHNwLCAmcGUpKTsKLQotICAgIENsb3NlSGFuZGxlKGhzcCk7Ci0KLSAgICByZXR1cm4gMDsKLX0KLQotLyogdmk6IHNldCB0cz04IHN3PTQgc3RzPTQgZXhwYW5kdGFiICovCmRpZmYgLS1naXQgYS9QQy9WUzkuMC9raWxsX3B5dGhvbi52Y3Byb2ogYi9QQy9WUzkuMC9raWxsX3B5dGhvbi52Y3Byb2oKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGEzNDEwN2EuLjAwMDAwMDAKLS0tIGEvUEMvVlM5LjAva2lsbF9weXRob24udmNwcm9qCisrKyAvZGV2L251bGwKQEAgLTEsMjc5ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IldpbmRvd3MtMTI1MiI/Pg0KLTxWaXN1YWxTdHVkaW9Qcm9qZWN0DQotCVByb2plY3RUeXBlPSJWaXN1YWwgQysrIg0KLQlWZXJzaW9uPSI5LjAwIg0KLQlOYW1lPSJraWxsX3B5dGhvbiINCi0JUHJvamVjdEdVSUQ9Ins2REUxMDc0NC1FMzk2LTQwQTUtQjRFMi0xQjY5QUE3QzhEMzF9Ig0KLQlSb290TmFtZXNwYWNlPSJraWxsX3B5dGhvbiINCi0JS2V5d29yZD0iV2luMzJQcm9qIg0KLQlUYXJnZXRGcmFtZXdvcmtWZXJzaW9uPSIxOTY2MTMiDQotCT4NCi0JPFBsYXRmb3Jtcz4NCi0JCTxQbGF0Zm9ybQ0KLQkJCU5hbWU9IldpbjMyIg0KLQkJLz4NCi0JCTxQbGF0Zm9ybQ0KLQkJCU5hbWU9Ing2NCINCi0JCS8+DQotCTwvUGxhdGZvcm1zPg0KLQk8VG9vbEZpbGVzPg0KLQk8L1Rvb2xGaWxlcz4NCi0JPENvbmZpZ3VyYXRpb25zPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJEZWJ1Z3xXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMSINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweXByb2plY3QudnNwcm9wczsuXGRlYnVnLnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCU91dHB1dEZpbGU9IiQoT3V0RGlyKVwkKFByb2plY3ROYW1lKV9kLmV4ZSINCi0JCQkJU3ViU3lzdGVtPSIxIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IkRlYnVnfHg2NCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMSINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweXByb2plY3QudnNwcm9wczsuXGRlYnVnLnZzcHJvcHM7Llx4NjQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCU91dHB1dEZpbGU9IiQoT3V0RGlyKVwkKFByb2plY3ROYW1lKV9kLmV4ZSINCi0JCQkJU3ViU3lzdGVtPSIxIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjEiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlwcm9qZWN0LnZzcHJvcHM7LlxyZWxlYXNlLnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlTdWJTeXN0ZW09IjEiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUmVsZWFzZXx4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjEiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlwcm9qZWN0LnZzcHJvcHM7LlxyZWxlYXNlLnZzcHJvcHM7Llx4NjQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlTdWJTeXN0ZW09IjEiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JPC9Db25maWd1cmF0aW9ucz4NCi0JPFJlZmVyZW5jZXM+DQotCTwvUmVmZXJlbmNlcz4NCi0JPEZpbGVzPg0KLQkJPEZpbHRlcg0KLQkJCU5hbWU9IlNvdXJjZSBGaWxlcyINCi0JCQk+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuXGtpbGxfcHl0aG9uLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQk8L0ZpbHRlcj4NCi0JPC9GaWxlcz4NCi0JPEdsb2JhbHM+DQotCTwvR2xvYmFscz4NCi08L1Zpc3VhbFN0dWRpb1Byb2plY3Q+DQpkaWZmIC0tZ2l0IGEvUEMvVlM5LjAvbWFrZV9idWlsZGluZm8uYyBiL1BDL1ZTOS4wL21ha2VfYnVpbGRpbmZvLmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGZiNGE2NGEuLjAwMDAwMDAKLS0tIGEvUEMvVlM5LjAvbWFrZV9idWlsZGluZm8uYworKysgL2Rldi9udWxsCkBAIC0xLDE5NSArMCwwIEBACi0jaW5jbHVkZSA8d2luZG93cy5oPgotI2luY2x1ZGUgPHN5cy90eXBlcy5oPgotI2luY2x1ZGUgPHN5cy9zdGF0Lmg+Ci0jaW5jbHVkZSA8c3RkaW8uaD4KLSNpbmNsdWRlIDxpby5oPgotCi0jZGVmaW5lIENNRF9TSVpFIDUwMAotCi0vKiBUaGlzIGZpbGUgY3JlYXRlcyB0aGUgZ2V0YnVpbGRpbmZvLm8gb2JqZWN0LCBieSBmaXJzdAotICAgaW52b2tpbmcgc3Vid2NyZXYuZXhlIChpZiBmb3VuZCksIGFuZCB0aGVuIGludm9raW5nIGNsLmV4ZS4KLSAgIEFzIGEgc2lkZSBlZmZlY3QsIGl0IG1pZ2h0IGdlbmVyYXRlIFBDQnVpbGRcZ2V0YnVpbGRpbmZvMi5jCi0gICBhbHNvLiBJZiB0aGlzIGlzbid0IGEgc3VidmVyc2lvbiBjaGVja291dCwgb3Igc3Vid2NyZXYgaXNuJ3QKLSAgIGZvdW5kLCBpdCBjb21waWxlcyAuLlxcLi5cXE1vZHVsZXNcXGdldGJ1aWxkaW5mby5jIGluc3RlYWQuCi0KLSAgIEN1cnJlbnRseSwgc3Vid2NyZXYuZXhlIGlzIGZvdW5kIGZyb20gdGhlIHJlZ2lzdHJ5IGVudHJpZXMKLSAgIG9mIFRvcnRvaXNlU1ZOLgotCi0gICBObyBhdHRlbXB0IGlzIG1hZGUgdG8gcGxhY2UgZ2V0YnVpbGRpbmZvLm8gaW50byB0aGUgcHJvcGVyCi0gICBiaW5hcnkgZGlyZWN0b3J5LiBUaGlzIGlzbid0IG5lY2Vzc2FyeSwgYXMgdGhpcyB0b29sIGlzCi0gICBpbnZva2VkIGFzIGEgcHJlLWxpbmsgc3RlcCBmb3IgcHl0aG9uY29yZSwgc28gdGhhdCBvdmVyd3JpdGVzCi0gICBhbnkgcHJldmlvdXMgZ2V0YnVpbGRpbmZvLm8uCi0KLSAgIEhvd2V2ZXIsIGlmIGEgc2Vjb25kIGFyZ3VtZW50IGlzIHByb3ZpZGVkLCB0aGlzIHdpbGwgYmUgdXNlZAotICAgYXMgYSB0ZW1wb3JhcnkgZGlyZWN0b3J5IHdoZXJlIGFueSBnZXRidWlsZGluZm8yLmMgYW5kCi0gICBnZXRidWlsZGluZm8ubyBmaWxlcyBhcmUgcHV0LiAgVGhpcyBpcyB1c2VmdWwgaWYgbXVsdGlwbGUKLSAgIGNvbmZpZ3VyYXRpb25zIGFyZSBiZWluZyBidWlsdCBpbiBwYXJhbGxlbCwgdG8gYXZvaWQgdGhlbQotICAgdHJhbXBsaW5nIGVhY2ggb3RoZXIncyBmaWxlcy4KLQotKi8KLQotaW50IG1ha2VfYnVpbGRpbmZvMihjb25zdCBjaGFyICp0bXBwYXRoKQotewotICAgIHN0cnVjdCBfc3RhdCBzdDsKLSAgICBIS0VZIGhUb3J0b2lzZTsKLSAgICBjaGFyIGNvbW1hbmRbQ01EX1NJWkUrMV07Ci0gICAgRFdPUkQgdHlwZSwgc2l6ZTsKLSAgICBpZiAoX3N0YXQoIi5zdm4iLCAmc3QpIDwgMCkKLSAgICAgICAgcmV0dXJuIDA7Ci0gICAgLyogQWxsb3cgc3VwcHJlc3Npb24gb2Ygc3Vid2NyZXYuZXhlIGludm9jYXRpb24gaWYgYSBub19zdWJ3Y3JldiBmaWxlIGlzIHByZXNlbnQuICovCi0gICAgaWYgKF9zdGF0KCJub19zdWJ3Y3JldiIsICZzdCkgPT0gMCkKLSAgICAgICAgcmV0dXJuIDA7Ci0gICAgaWYgKFJlZ09wZW5LZXkoSEtFWV9MT0NBTF9NQUNISU5FLCAiU29mdHdhcmVcXFRvcnRvaXNlU1ZOIiwgJmhUb3J0b2lzZSkgIT0gRVJST1JfU1VDQ0VTUyAmJgotICAgICAgICBSZWdPcGVuS2V5KEhLRVlfQ1VSUkVOVF9VU0VSLCAiU29mdHdhcmVcXFRvcnRvaXNlU1ZOIiwgJmhUb3J0b2lzZSkgIT0gRVJST1JfU1VDQ0VTUykKLSAgICAgICAgLyogVG9ydG9pc2Ugbm90IGluc3RhbGxlZCAqLwotICAgICAgICByZXR1cm4gMDsKLSAgICBjb21tYW5kWzBdID0gJyInOyAgLyogcXVvdGUgdGhlIHBhdGggdG8gdGhlIGV4ZWN1dGFibGUgKi8KLSAgICBzaXplID0gc2l6ZW9mKGNvbW1hbmQpIC0gMTsKLSAgICBpZiAoUmVnUXVlcnlWYWx1ZUV4KGhUb3J0b2lzZSwgIkRpcmVjdG9yeSIsIDAsICZ0eXBlLCBjb21tYW5kKzEsICZzaXplKSAhPSBFUlJPUl9TVUNDRVNTIHx8Ci0gICAgICAgIHR5cGUgIT0gUkVHX1NaKQotICAgICAgICAvKiBSZWdpc3RyeSBjb3JydXB0ZWQgKi8KLSAgICAgICAgcmV0dXJuIDA7Ci0gICAgc3RyY2F0X3MoY29tbWFuZCwgQ01EX1NJWkUsICJiaW5cXHN1YndjcmV2LmV4ZSIpOwotICAgIGlmIChfc3RhdChjb21tYW5kKzEsICZzdCkgPCAwKQotICAgICAgICAvKiBzdWJ3Y3Jldi5leGUgbm90IHBhcnQgb2YgdGhlIHJlbGVhc2UgKi8KLSAgICAgICAgcmV0dXJuIDA7Ci0gICAgc3RyY2F0X3MoY29tbWFuZCwgQ01EX1NJWkUsICJcIiAuLlxcLi4gLi5cXC4uXFxNb2R1bGVzXFxnZXRidWlsZGluZm8uYyBcIiIpOwotICAgIHN0cmNhdF9zKGNvbW1hbmQsIENNRF9TSVpFLCB0bXBwYXRoKTsgLyogcXVvdGVkIHRtcHBhdGggKi8KLSAgICBzdHJjYXRfcyhjb21tYW5kLCBDTURfU0laRSwgImdldGJ1aWxkaW5mbzIuY1wiIik7Ci0KLSAgICBwdXRzKGNvbW1hbmQpOyBmZmx1c2goc3Rkb3V0KTsKLSAgICBpZiAoc3lzdGVtKGNvbW1hbmQpIDwgMCkKLSAgICAgICAgcmV0dXJuIDA7Ci0gICAgcmV0dXJuIDE7Ci19Ci0KLWNvbnN0IGNoYXIgREVMSU1TW10gPSB7ICIgXG4iIH07Ci0KLWludCBnZXRfbWVyY3VyaWFsX2luZm8oY2hhciAqIGhnYnJhbmNoLCBjaGFyICogaGd0YWcsIGNoYXIgKiBoZ3JldiwgaW50IHNpemUpCi17Ci0gICAgaW50IHJlc3VsdCA9IDA7Ci0gICAgY2hhciBmaWxlbmFtZVtDTURfU0laRV07Ci0gICAgY2hhciBjbWRsaW5lW0NNRF9TSVpFXTsKLQotICAgIHN0cmNweV9zKGZpbGVuYW1lLCBDTURfU0laRSwgInRtcFhYWFhYWCIpOwotICAgIGlmIChfbWt0ZW1wX3MoZmlsZW5hbWUsIENNRF9TSVpFKSA9PSAwKSB7Ci0gICAgICAgIGludCByYzsKLQotICAgICAgICBzdHJjcHlfcyhjbWRsaW5lLCBDTURfU0laRSwgImhnIGlkIC1iaXQgPiAiKTsKLSAgICAgICAgc3RyY2F0X3MoY21kbGluZSwgQ01EX1NJWkUsIGZpbGVuYW1lKTsKLSAgICAgICAgcmMgPSBzeXN0ZW0oY21kbGluZSk7Ci0gICAgICAgIGlmIChyYyA9PSAwKSB7Ci0gICAgICAgICAgICBGSUxFICogZnA7Ci0gICAgICAgICAgICAKLSAgICAgICAgICAgIGlmIChmb3Blbl9zKCZmcCwgZmlsZW5hbWUsICJyIikgPT0gMCkgewotICAgICAgICAgICAgICAgIGNoYXIgKiBjcCA9IGZnZXRzKGNtZGxpbmUsIENNRF9TSVpFLCBmcCk7Ci0KLSAgICAgICAgICAgICAgICBpZiAoY3ApIHsKLSAgICAgICAgICAgICAgICAgICAgY2hhciAqIGNvbnRleHQgPSBOVUxMOwotICAgICAgICAgICAgICAgICAgICBjaGFyICogdHAgPSBzdHJ0b2tfcyhjcCwgREVMSU1TLCAmY29udGV4dCk7Ci0gICAgICAgICAgICAgICAgICAgIGlmICh0cCkgewotICAgICAgICAgICAgICAgICAgICAgICAgc3RyY3B5X3MoaGdyZXYsIHNpemUsIHRwKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIHRwID0gc3RydG9rX3MoTlVMTCwgREVMSU1TLCAmY29udGV4dCk7Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAodHApIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJjcHlfcyhoZ2JyYW5jaCwgc2l6ZSwgdHApOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRwID0gc3RydG9rX3MoTlVMTCwgREVMSU1TLCAmY29udGV4dCk7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRwKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cmNweV9zKGhndGFnLCBzaXplLCB0cCk7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdCA9IDE7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGZjbG9zZShmcCk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICAgICAgX3VubGluayhmaWxlbmFtZSk7Ci0gICAgfQotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLWludCBtYWluKGludCBhcmdjLCBjaGFyKmFyZ3ZbXSkKLXsKLSAgICBjaGFyIGNvbW1hbmRbQ01EX1NJWkVdID0gImNsLmV4ZSAtYyAtRF9XSU4zMiAtRFVTRV9ETF9FWFBPUlQgLURfV0lORE9XUyAtRFdJTjMyIC1EX1dJTkRMTCAiOwotICAgIGNoYXIgdG1wcGF0aFtDTURfU0laRV0gPSAiIjsKLSAgICBpbnQgZG9fdW5saW5rLCByZXN1bHQ7Ci0gICAgY2hhciAqdG1wZGlyID0gTlVMTDsKLSAgICBpZiAoYXJnYyA8PSAyIHx8IGFyZ2MgPiAzKSB7Ci0gICAgICAgIGZwcmludGYoc3RkZXJyLCAibWFrZV9idWlsZGluZm8gJChDb25maWd1cmF0aW9uTmFtZSkgW3RtcGRpcl1cbiIpOwotICAgICAgICByZXR1cm4gRVhJVF9GQUlMVVJFOwotICAgIH0KLSAgICBpZiAoc3RyY21wKGFyZ3ZbMV0sICJSZWxlYXNlIikgPT0gMCkgewotICAgICAgICBzdHJjYXRfcyhjb21tYW5kLCBDTURfU0laRSwgIi1NRCAiKTsKLSAgICB9Ci0gICAgZWxzZSBpZiAoc3RyY21wKGFyZ3ZbMV0sICJEZWJ1ZyIpID09IDApIHsKLSAgICAgICAgc3RyY2F0X3MoY29tbWFuZCwgQ01EX1NJWkUsICItRF9ERUJVRyAtTURkICIpOwotICAgIH0KLSAgICBlbHNlIGlmIChzdHJjbXAoYXJndlsxXSwgIlJlbGVhc2VJdGFuaXVtIikgPT0gMCkgewotICAgICAgICBzdHJjYXRfcyhjb21tYW5kLCBDTURfU0laRSwgIi1NRCAvVVNFQ0w6TVNfSVRBTklVTSAiKTsKLSAgICB9Ci0gICAgZWxzZSBpZiAoc3RyY21wKGFyZ3ZbMV0sICJSZWxlYXNlQU1ENjQiKSA9PSAwKSB7Ci0gICAgICAgIHN0cmNhdF9zKGNvbW1hbmQsIENNRF9TSVpFLCAiLU1EICIpOwotICAgICAgICBzdHJjYXRfcyhjb21tYW5kLCBDTURfU0laRSwgIi1NRCAvVVNFQ0w6TVNfT1BURVJPTiAiKTsKLSAgICB9Ci0gICAgZWxzZSB7Ci0gICAgICAgIGZwcmludGYoc3RkZXJyLCAidW5zdXBwb3J0ZWQgY29uZmlndXJhdGlvbiAlc1xuIiwgYXJndlsxXSk7Ci0gICAgICAgIHJldHVybiBFWElUX0ZBSUxVUkU7Ci0gICAgfQotICAgIGlmIChhcmdjID4gMikgewotICAgICAgICB0bXBkaXIgPSBhcmd2WzJdOwotICAgICAgICBzdHJjYXRfcyh0bXBwYXRoLCBfY291bnRvZih0bXBwYXRoKSwgdG1wZGlyKTsKLSAgICAgICAgLyogSGFjayBmaXggZm9yIGJhZCBjb21tYW5kIGxpbmU6ICBJZiB0aGUgY29tbWFuZCBpcyBpc3N1ZWQgbGlrZSB0aGlzOgotICAgICAgICAgKiAkKFNvbHV0aW9uRGlyKW1ha2VfYnVpbGRpbmZvLmV4ZSIgRGVidWcgIiQoSW50RGlyKSIKLSAgICAgICAgICogd2Ugd2lsbCBnZXQgYSB0cmFpbGluZyBxdW90ZSBiZWNhdXNlIEludERpciBlbmRzIHdpdGggYSBiYWNrc2xhc2ggdGhhdCB0aGVuCi0gICAgICAgICAqIGVzY2FwZXMgdGhlIGZpbmFsICIuICBUbyBzaW1wbGlmeSB0aGUgbGlmZSBmb3IgZGV2ZWxvcGVycywgY2F0Y2ggdGhhdCBwcm9ibGVtCi0gICAgICAgICAqIGhlcmUgYnkgY3V0dGluZyBpdCBvZmYuCi0gICAgICAgICAqIFRoZSBwcm9wZXIgY29tbWFuZCBsaW5lLCBidHcgaXM6Ci0gICAgICAgICAqICQoU29sdXRpb25EaXIpbWFrZV9idWlsZGluZm8uZXhlIiBEZWJ1ZyAiJChJbnREaXIpXCIKLSAgICAgICAgICogSG9vcmF5IGZvciBjb21tYW5kIGxpbmUgcGFyc2luZyBvbiB3aW5kb3dzLgotICAgICAgICAgKi8KLSAgICAgICAgaWYgKHN0cmxlbih0bXBwYXRoKSA+IDAgJiYgdG1wcGF0aFtzdHJsZW4odG1wcGF0aCktMV0gPT0gJyInKQotICAgICAgICAgICAgdG1wcGF0aFtzdHJsZW4odG1wcGF0aCktMV0gPSAnXDAnOwotICAgICAgICBzdHJjYXRfcyh0bXBwYXRoLCBfY291bnRvZih0bXBwYXRoKSwgIlxcIik7Ci0gICAgfQotCi0gICAgaWYgKChkb191bmxpbmsgPSBtYWtlX2J1aWxkaW5mbzIodG1wcGF0aCkpKSB7Ci0gICAgICAgIHN0cmNhdF9zKGNvbW1hbmQsIENNRF9TSVpFLCAiXCIiKTsKLSAgICAgICAgc3RyY2F0X3MoY29tbWFuZCwgQ01EX1NJWkUsIHRtcHBhdGgpOwotICAgICAgICBzdHJjYXRfcyhjb21tYW5kLCBDTURfU0laRSwgImdldGJ1aWxkaW5mbzIuY1wiIC1EU1VCV0NSRVYgIik7Ci0gICAgfQotICAgIGVsc2UgewotICAgICAgICBjaGFyIGhndGFnW0NNRF9TSVpFXTsKLSAgICAgICAgY2hhciBoZ2JyYW5jaFtDTURfU0laRV07Ci0gICAgICAgIGNoYXIgaGdyZXZbQ01EX1NJWkVdOwotCi0gICAgICAgIGlmIChnZXRfbWVyY3VyaWFsX2luZm8oaGdicmFuY2gsIGhndGFnLCBoZ3JldiwgQ01EX1NJWkUpKSB7Ci0gICAgICAgICAgICBzdHJjYXRfcyhjb21tYW5kLCBDTURfU0laRSwgIi1ESEdCUkFOQ0g9XFxcIiIpOwotICAgICAgICAgICAgc3RyY2F0X3MoY29tbWFuZCwgQ01EX1NJWkUsIGhnYnJhbmNoKTsKLSAgICAgICAgICAgIHN0cmNhdF9zKGNvbW1hbmQsIENNRF9TSVpFLCAiXFxcIiIpOwotCi0gICAgICAgICAgICBzdHJjYXRfcyhjb21tYW5kLCBDTURfU0laRSwgIiAtREhHVEFHPVxcXCIiKTsKLSAgICAgICAgICAgIHN0cmNhdF9zKGNvbW1hbmQsIENNRF9TSVpFLCBoZ3RhZyk7Ci0gICAgICAgICAgICBzdHJjYXRfcyhjb21tYW5kLCBDTURfU0laRSwgIlxcXCIiKTsKLQotICAgICAgICAgICAgc3RyY2F0X3MoY29tbWFuZCwgQ01EX1NJWkUsICIgLURIR1ZFUlNJT049XFxcIiIpOwotICAgICAgICAgICAgc3RyY2F0X3MoY29tbWFuZCwgQ01EX1NJWkUsIGhncmV2KTsKLSAgICAgICAgICAgIHN0cmNhdF9zKGNvbW1hbmQsIENNRF9TSVpFLCAiXFxcIiAiKTsKLSAgICAgICAgfQotICAgICAgICBzdHJjYXRfcyhjb21tYW5kLCBDTURfU0laRSwgIi4uXFwuLlxcTW9kdWxlc1xcZ2V0YnVpbGRpbmZvLmMiKTsKLSAgICB9Ci0gICAgc3RyY2F0X3MoY29tbWFuZCwgQ01EX1NJWkUsICIgLUZvXCIiKTsKLSAgICBzdHJjYXRfcyhjb21tYW5kLCBDTURfU0laRSwgdG1wcGF0aCk7Ci0gICAgc3RyY2F0X3MoY29tbWFuZCwgQ01EX1NJWkUsICJnZXRidWlsZGluZm8ub1wiIC1JLi5cXC4uXFxJbmNsdWRlIC1JLi5cXC4uXFxQQyIpOwotICAgIHB1dHMoY29tbWFuZCk7IGZmbHVzaChzdGRvdXQpOwotICAgIHJlc3VsdCA9IHN5c3RlbShjb21tYW5kKTsKLSAgICBpZiAoZG9fdW5saW5rKSB7Ci0gICAgICAgIGNvbW1hbmRbMF0gPSAnXDAnOwotICAgICAgICBzdHJjYXRfcyhjb21tYW5kLCBDTURfU0laRSwgIlwiIik7Ci0gICAgICAgIHN0cmNhdF9zKGNvbW1hbmQsIENNRF9TSVpFLCB0bXBwYXRoKTsKLSAgICAgICAgc3RyY2F0X3MoY29tbWFuZCwgQ01EX1NJWkUsICJnZXRidWlsZGluZm8yLmNcIiIpOwotICAgICAgICBfdW5saW5rKGNvbW1hbmQpOwotICAgIH0KLSAgICBpZiAocmVzdWx0IDwgMCkKLSAgICAgICAgcmV0dXJuIEVYSVRfRkFJTFVSRTsKLSAgICByZXR1cm4gMDsKLX0KZGlmZiAtLWdpdCBhL1BDL1ZTOS4wL21ha2VfYnVpbGRpbmZvLnZjcHJvaiBiL1BDL1ZTOS4wL21ha2VfYnVpbGRpbmZvLnZjcHJvagpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTI0MDY1ZC4uMDAwMDAwMAotLS0gYS9QQy9WUzkuMC9tYWtlX2J1aWxkaW5mby52Y3Byb2oKKysrIC9kZXYvbnVsbApAQCAtMSwxMDEgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0id2luZG93cy0xMjUwIj8+DQotPFZpc3VhbFN0dWRpb1Byb2plY3QNCi0JUHJvamVjdFR5cGU9IlZpc3VhbCBDKysiDQotCVZlcnNpb249IjkuMDAiDQotCU5hbWU9Im1ha2VfYnVpbGRpbmZvIg0KLQlQcm9qZWN0R1VJRD0ie0M3M0YwRUMxLTM1OEItNDE3Ny05NDBGLTA4NDZBQzhCMDRDRH0iDQotCVJvb3ROYW1lc3BhY2U9Im1ha2VfYnVpbGRpbmZvIg0KLQlLZXl3b3JkPSJXaW4zMlByb2oiDQotCVRhcmdldEZyYW1ld29ya1ZlcnNpb249IjEzMTA3MiINCi0JPg0KLQk8UGxhdGZvcm1zPg0KLQkJPFBsYXRmb3JtDQotCQkJTmFtZT0iV2luMzIiDQotCQkvPg0KLQk8L1BsYXRmb3Jtcz4NCi0JPFRvb2xGaWxlcz4NCi0JPC9Ub29sRmlsZXM+DQotCTxDb25maWd1cmF0aW9ucz4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMSINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweXByb2plY3QudnNwcm9wczsuXHJlbGVhc2UudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJT3B0aW1pemF0aW9uPSIwIg0KLQkJCQlJbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj0iMSINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9Il9DT05TT0xFIg0KLQkJCQlSdW50aW1lTGlicmFyeT0iMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJT3V0cHV0RmlsZT0iJChPdXREaXIpL21ha2VfYnVpbGRpbmZvLmV4ZSINCi0JCQkJUHJvZ3JhbURhdGFiYXNlRmlsZT0iJChUYXJnZXREaXIpJChUYXJnZXROYW1lKS5wZGIiDQotCQkJCVN1YlN5c3RlbT0iMSINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQk8L0NvbmZpZ3VyYXRpb25zPg0KLQk8UmVmZXJlbmNlcz4NCi0JPC9SZWZlcmVuY2VzPg0KLQk8RmlsZXM+DQotCQk8RmlsdGVyDQotCQkJTmFtZT0iU291cmNlIEZpbGVzIg0KLQkJCUZpbHRlcj0iY3BwO2M7Y3h4O2RlZjtvZGw7aWRsO2hwajtiYXQ7YXNtO2FzbXgiDQotCQkJVW5pcXVlSWRlbnRpZmllcj0iezRGQzczN0YxLUM3QTUtNDM3Ni1BMDY2LTJBMzJENzUyQTJGRn0iDQotCQkJPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLlxtYWtlX2J1aWxkaW5mby5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJPC9GaWx0ZXI+DQotCTwvRmlsZXM+DQotCTxHbG9iYWxzPg0KLQk8L0dsb2JhbHM+DQotPC9WaXN1YWxTdHVkaW9Qcm9qZWN0Pg0KZGlmZiAtLWdpdCBhL1BDL1ZTOS4wL21ha2VfdmVyc2lvbmluZm8udmNwcm9qIGIvUEMvVlM5LjAvbWFrZV92ZXJzaW9uaW5mby52Y3Byb2oKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDBhMWZkMjguLjAwMDAwMDAKLS0tIGEvUEMvVlM5LjAvbWFrZV92ZXJzaW9uaW5mby52Y3Byb2oKKysrIC9kZXYvbnVsbApAQCAtMSwzMjQgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iV2luZG93cy0xMjUyIj8+DQotPFZpc3VhbFN0dWRpb1Byb2plY3QNCi0JUHJvamVjdFR5cGU9IlZpc3VhbCBDKysiDQotCVZlcnNpb249IjkuMDAiDQotCU5hbWU9Im1ha2VfdmVyc2lvbmluZm8iDQotCVByb2plY3RHVUlEPSJ7RjBFMDU0MUUtRjE3RC00MzBCLTk3QzQtOTNBREYwREQyODRFfSINCi0JUm9vdE5hbWVzcGFjZT0ibWFrZV92ZXJzaW9uaW5mbyINCi0JVGFyZ2V0RnJhbWV3b3JrVmVyc2lvbj0iMTMxMDcyIg0KLQk+DQotCTxQbGF0Zm9ybXM+DQotCQk8UGxhdGZvcm0NCi0JCQlOYW1lPSJXaW4zMiINCi0JCS8+DQotCQk8UGxhdGZvcm0NCi0JCQlOYW1lPSJ4NjQiDQotCQkvPg0KLQk8L1BsYXRmb3Jtcz4NCi0JPFRvb2xGaWxlcz4NCi0JPC9Ub29sRmlsZXM+DQotCTxDb25maWd1cmF0aW9ucz4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMSINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweXByb2plY3QudnNwcm9wczsuXHJlbGVhc2UudnNwcm9wcyINCi0JCQlVc2VPZk1GQz0iMCINCi0JCQlBVExNaW5pbWl6ZXNDUnVuVGltZUxpYnJhcnlVc2FnZT0iZmFsc2UiDQotCQkJQ2hhcmFjdGVyU2V0PSIyIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJCURlc2NyaXB0aW9uPSJCdWlsZCBQQy9weXRob25udF9yYyhfZCkuaCINCi0JCQkJQ29tbWFuZExpbmU9ImNkICQoU29sdXRpb25EaXIpJiN4MEQ7JiN4MEE7bWFrZV92ZXJzaW9uaW5mby5leGUgJmd0OyAuLlwuLlxQQ1xweXRob25udF9yYy5oJiN4MEQ7JiN4MEE7Ig0KLQkJCQlPdXRwdXRzPSIkKFNvbHV0aW9uRGlyKS4uXC4uXFBDXHB5dGhvbm50X3JjLmgiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCU9wdGltaXphdGlvbj0iMiINCi0JCQkJSW5saW5lRnVuY3Rpb25FeHBhbnNpb249IjEiDQotCQkJCUVuYWJsZUludHJpbnNpY0Z1bmN0aW9ucz0idHJ1ZSINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iX0NPTlNPTEUiDQotCQkJCVN0cmluZ1Bvb2xpbmc9InRydWUiDQotCQkJCVJ1bnRpbWVMaWJyYXJ5PSIyIg0KLQkJCQlFbmFibGVGdW5jdGlvbkxldmVsTGlua2luZz0idHJ1ZSINCi0JCQkJQ29tcGlsZUFzPSIwIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlPdXRwdXRGaWxlPSIkKFNvbHV0aW9uRGlyKW1ha2VfdmVyc2lvbmluZm8uZXhlIg0KLQkJCQlQcm9ncmFtRGF0YWJhc2VGaWxlPSIkKFRhcmdldERpcikkKFRhcmdldE5hbWUpLnBkYiINCi0JCQkJU3ViU3lzdGVtPSIxIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxZDAwMDAwMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkJQ29tbWFuZExpbmU9ImNkICQoU29sdXRpb25EaXIpJiN4MEQ7JiN4MEE7bWFrZV92ZXJzaW9uaW5mby5leGUgJmd0OyAuLlwuLlxQQ1xweXRob25fbnQuaCYjeDBEOyYjeDBBOyINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJSZWxlYXNlfHg2NCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMSINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweXByb2plY3QudnNwcm9wczsuXHg2NC52c3Byb3BzOy5ccmVsZWFzZS52c3Byb3BzIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJCURlc2NyaXB0aW9uPSJCdWlsZCBQQy9weXRob25udF9yYyhfZCkuaCINCi0JCQkJQ29tbWFuZExpbmU9ImNkICQoU29sdXRpb25EaXIpJiN4MEQ7JiN4MEE7bWFrZV92ZXJzaW9uaW5mby5leGUgJmd0OyAuLlwuLlxQQ1xweXRob25udF9yYy5oJiN4MEQ7JiN4MEE7Ig0KLQkJCQlPdXRwdXRzPSIkKFNvbHV0aW9uRGlyKS4uXC4uXFBDXHB5dGhvbm50X3JjLmgiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCU9wdGltaXphdGlvbj0iMiINCi0JCQkJSW5saW5lRnVuY3Rpb25FeHBhbnNpb249IjEiDQotCQkJCUVuYWJsZUludHJpbnNpY0Z1bmN0aW9ucz0idHJ1ZSINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9Il9DT05TT0xFIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlPdXRwdXRGaWxlPSIkKFNvbHV0aW9uRGlyKW1ha2VfdmVyc2lvbmluZm8uZXhlIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCQlDb21tYW5kTGluZT0iY2QgJChTb2x1dGlvbkRpcikmI3gwRDsmI3gwQTttYWtlX3ZlcnNpb25pbmZvLmV4ZSAmZ3Q7IC4uXC4uXFBDXHB5dGhvbl9udC5oJiN4MEQ7JiN4MEE7Ig0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IkRlYnVnfFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIxIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5cHJvamVjdC52c3Byb3BzOy5cZGVidWcudnNwcm9wcyINCi0JCQlVc2VPZk1GQz0iMCINCi0JCQlBVExNaW5pbWl6ZXNDUnVuVGltZUxpYnJhcnlVc2FnZT0iZmFsc2UiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJCURlc2NyaXB0aW9uPSJCdWlsZCBQQy9weXRob25udF9yYyhfZCkuaCINCi0JCQkJQ29tbWFuZExpbmU9ImNkICQoU29sdXRpb25EaXIpJiN4MEQ7JiN4MEE7bWFrZV92ZXJzaW9uaW5mb19kLmV4ZSAmZ3Q7IC4uXC4uXFBDXHB5dGhvbm50X3JjX2QuaCYjeDBEOyYjeDBBOyINCi0JCQkJT3V0cHV0cz0iJChTb2x1dGlvbkRpcikuLlwuLlxQQ1xweXRob25udF9yY19kLmgiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCU9wdGltaXphdGlvbj0iMCINCi0JCQkJSW5saW5lRnVuY3Rpb25FeHBhbnNpb249IjEiDQotCQkJCUVuYWJsZUludHJpbnNpY0Z1bmN0aW9ucz0iZmFsc2UiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9Il9DT05TT0xFIg0KLQkJCQlTdHJpbmdQb29saW5nPSJ0cnVlIg0KLQkJCQlSdW50aW1lTGlicmFyeT0iMiINCi0JCQkJRW5hYmxlRnVuY3Rpb25MZXZlbExpbmtpbmc9InRydWUiDQotCQkJCUNvbXBpbGVBcz0iMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJT3V0cHV0RmlsZT0iJChTb2x1dGlvbkRpciltYWtlX3ZlcnNpb25pbmZvX2QuZXhlIg0KLQkJCQlQcm9ncmFtRGF0YWJhc2VGaWxlPSIkKFRhcmdldERpcikkKFRhcmdldE5hbWUpLnBkYiINCi0JCQkJU3ViU3lzdGVtPSIxIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxZDAwMDAwMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkJQ29tbWFuZExpbmU9ImNkICQoU29sdXRpb25EaXIpJiN4MEQ7JiN4MEE7bWFrZV92ZXJzaW9uaW5mb19kLmV4ZSAmZ3Q7IC4uXC4uXFBDXHB5dGhvbl9udF9kLmgmI3gwRDsmI3gwQTsiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iRGVidWd8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIxIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5cHJvamVjdC52c3Byb3BzOy5ceDY0LnZzcHJvcHM7LlxkZWJ1Zy52c3Byb3BzIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJCURlc2NyaXB0aW9uPSJCdWlsZCBQQy9weXRob25udF9yYyhfZCkuaCINCi0JCQkJQ29tbWFuZExpbmU9ImNkICQoU29sdXRpb25EaXIpJiN4MEQ7JiN4MEE7bWFrZV92ZXJzaW9uaW5mb19kLmV4ZSAmZ3Q7IC4uXC4uXFBDXHB5dGhvbm50X3JjX2QuaCYjeDBEOyYjeDBBOyINCi0JCQkJT3V0cHV0cz0iJChTb2x1dGlvbkRpcikuLlwuLlxQQ1xweXRob25udF9yY19kLmgiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlPcHRpbWl6YXRpb249IjAiDQotCQkJCUlubGluZUZ1bmN0aW9uRXhwYW5zaW9uPSIxIg0KLQkJCQlFbmFibGVJbnRyaW5zaWNGdW5jdGlvbnM9ImZhbHNlIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iX0NPTlNPTEUiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCU91dHB1dEZpbGU9IiQoU29sdXRpb25EaXIpbWFrZV92ZXJzaW9uaW5mb19kLmV4ZSINCi0JCQkJVGFyZ2V0TWFjaGluZT0iMTciDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJCUNvbW1hbmRMaW5lPSJjZCAkKFNvbHV0aW9uRGlyKSYjeDBEOyYjeDBBO21ha2VfdmVyc2lvbmluZm9fZC5leGUgJmd0OyAuLlwuLlxQQ1xweXRob25fbnRfZC5oJiN4MEQ7JiN4MEE7Ig0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCTwvQ29uZmlndXJhdGlvbnM+DQotCTxSZWZlcmVuY2VzPg0KLQk8L1JlZmVyZW5jZXM+DQotCTxGaWxlcz4NCi0JCTxGaWx0ZXINCi0JCQlOYW1lPSJTb3VyY2UgRmlsZXMiDQotCQkJPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUENcbWFrZV92ZXJzaW9uaW5mby5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJPC9GaWx0ZXI+DQotCTwvRmlsZXM+DQotCTxHbG9iYWxzPg0KLQk8L0dsb2JhbHM+DQotPC9WaXN1YWxTdHVkaW9Qcm9qZWN0Pg0KZGlmZiAtLWdpdCBhL1BDL1ZTOS4wL3BjYnVpbGQuc2xuIGIvUEMvVlM5LjAvcGNidWlsZC5zbG4KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGJhN2Y2OWMuLjAwMDAwMDAKLS0tIGEvUEMvVlM5LjAvcGNidWlsZC5zbG4KKysrIC9kZXYvbnVsbApAQCAtMSw2OTAgKzAsMCBAQAotTWljcm9zb2Z0IFZpc3VhbCBTdHVkaW8gU29sdXRpb24gRmlsZSwgRm9ybWF0IFZlcnNpb24gMTAuMDANCi0jIFZpc3VhbCBTdHVkaW8gMjAwOA0KLVByb2plY3QoIns4QkM5Q0VCOC04QjRBLTExRDAtOEQxMS0wMEEwQzkxQkM5NDJ9IikgPSAicHl0aG9uIiwgInB5dGhvbi52Y3Byb2oiLCAie0IxMUQ3NTBGLUNEMUYtNEE5Ni04NUNFLUU2OUE1QzUyNTlGOX0iDQotCVByb2plY3RTZWN0aW9uKFByb2plY3REZXBlbmRlbmNpZXMpID0gcG9zdFByb2plY3QNCi0JCXtDRjdBQzNEMS1FMkRGLTQxRDItQkVBNi0xRTI1NTZDREVBMjZ9ID0ge0NGN0FDM0QxLUUyREYtNDFEMi1CRUE2LTFFMjU1NkNERUEyNn0NCi0JCXtFOUUwQTFGNi0wMDA5LTRFOEMtQjhGOC0xQjhGNUQ0OUEwNTh9ID0ge0U5RTBBMUY2LTAwMDktNEU4Qy1COEY4LTFCOEY1RDQ5QTA1OH0NCi0JRW5kUHJvamVjdFNlY3Rpb24NCi1FbmRQcm9qZWN0DQotUHJvamVjdCgiezhCQzlDRUI4LThCNEEtMTFEMC04RDExLTAwQTBDOTFCQzk0Mn0iKSA9ICJtYWtlX3ZlcnNpb25pbmZvIiwgIm1ha2VfdmVyc2lvbmluZm8udmNwcm9qIiwgIntGMEUwNTQxRS1GMTdELTQzMEItOTdDNC05M0FERjBERDI4NEV9Ig0KLUVuZFByb2plY3QNCi1Qcm9qZWN0KCJ7OEJDOUNFQjgtOEI0QS0xMUQwLThEMTEtMDBBMEM5MUJDOTQyfSIpID0gInB5dGhvbmNvcmUiLCAicHl0aG9uY29yZS52Y3Byb2oiLCAie0NGN0FDM0QxLUUyREYtNDFEMi1CRUE2LTFFMjU1NkNERUEyNn0iDQotCVByb2plY3RTZWN0aW9uKFByb2plY3REZXBlbmRlbmNpZXMpID0gcG9zdFByb2plY3QNCi0JCXtGMEUwNTQxRS1GMTdELTQzMEItOTdDNC05M0FERjBERDI4NEV9ID0ge0YwRTA1NDFFLUYxN0QtNDMwQi05N0M0LTkzQURGMEREMjg0RX0NCi0JCXs2REUxMDc0NC1FMzk2LTQwQTUtQjRFMi0xQjY5QUE3QzhEMzF9ID0gezZERTEwNzQ0LUUzOTYtNDBBNS1CNEUyLTFCNjlBQTdDOEQzMX0NCi0JCXtDNzNGMEVDMS0zNThCLTQxNzctOTQwRi0wODQ2QUM4QjA0Q0R9ID0ge0M3M0YwRUMxLTM1OEItNDE3Ny05NDBGLTA4NDZBQzhCMDRDRH0NCi0JRW5kUHJvamVjdFNlY3Rpb24NCi1FbmRQcm9qZWN0DQotUHJvamVjdCgiezhCQzlDRUI4LThCNEEtMTFEMC04RDExLTAwQTBDOTFCQzk0Mn0iKSA9ICJweXRob253IiwgInB5dGhvbncudmNwcm9qIiwgIntGNDIyOUNDMy04NzNDLTQ5QUUtOTcyOS1ERDMwOEVENENENEF9Ig0KLQlQcm9qZWN0U2VjdGlvbihQcm9qZWN0RGVwZW5kZW5jaWVzKSA9IHBvc3RQcm9qZWN0DQotCQl7Q0Y3QUMzRDEtRTJERi00MUQyLUJFQTYtMUUyNTU2Q0RFQTI2fSA9IHtDRjdBQzNEMS1FMkRGLTQxRDItQkVBNi0xRTI1NTZDREVBMjZ9DQotCUVuZFByb2plY3RTZWN0aW9uDQotRW5kUHJvamVjdA0KLVByb2plY3QoIns4QkM5Q0VCOC04QjRBLTExRDAtOEQxMS0wMEEwQzkxQkM5NDJ9IikgPSAibWFrZV9idWlsZGluZm8iLCAibWFrZV9idWlsZGluZm8udmNwcm9qIiwgIntDNzNGMEVDMS0zNThCLTQxNzctOTQwRi0wODQ2QUM4QjA0Q0R9Ig0KLUVuZFByb2plY3QNCi1Qcm9qZWN0KCJ7MjE1MEUzMzMtOEZEQy00MkEzLTk0NzQtMUEzOTU2RDQ2REU4fSIpID0gIlNvbHV0aW9uIEl0ZW1zIiwgIlNvbHV0aW9uIEl0ZW1zIiwgIns1NTNFQzMzRS05ODE2LTQ5OTYtQTY2MC01RDYxODZBMEIwQjN9Ig0KLQlQcm9qZWN0U2VjdGlvbihTb2x1dGlvbkl0ZW1zKSA9IHByZVByb2plY3QNCi0JCS4uXC4uXE1vZHVsZXNcZ2V0YnVpbGRpbmZvLmMgPSAuLlwuLlxNb2R1bGVzXGdldGJ1aWxkaW5mby5jDQotCQlyZWFkbWUudHh0ID0gcmVhZG1lLnR4dA0KLQlFbmRQcm9qZWN0U2VjdGlvbg0KLUVuZFByb2plY3QNCi1Qcm9qZWN0KCJ7OEJDOUNFQjgtOEI0QS0xMUQwLThEMTEtMDBBMEM5MUJDOTQyfSIpID0gIndpbnNvdW5kIiwgIndpbnNvdW5kLnZjcHJvaiIsICJ7MjhCNUQ3NzctRERGMi00QjZCLUIzNEYtMzFEOTM4ODEzODU2fSINCi0JUHJvamVjdFNlY3Rpb24oUHJvamVjdERlcGVuZGVuY2llcykgPSBwb3N0UHJvamVjdA0KLQkJe0NGN0FDM0QxLUUyREYtNDFEMi1CRUE2LTFFMjU1NkNERUEyNn0gPSB7Q0Y3QUMzRDEtRTJERi00MUQyLUJFQTYtMUUyNTU2Q0RFQTI2fQ0KLQlFbmRQcm9qZWN0U2VjdGlvbg0KLUVuZFByb2plY3QNCi1Qcm9qZWN0KCJ7OEJDOUNFQjgtOEI0QS0xMUQwLThEMTEtMDBBMEM5MUJDOTQyfSIpID0gIl9kZWNpbWFsIiwgIl9kZWNpbWFsLnZjcHJvaiIsICJ7MEU5NzkxREItNTkzQS00NjVGLTk4QkMtNjgxMDExMzExNjE3fSINCi0JUHJvamVjdFNlY3Rpb24oUHJvamVjdERlcGVuZGVuY2llcykgPSBwb3N0UHJvamVjdA0KLQkJe0NGN0FDM0QxLUUyREYtNDFEMi1CRUE2LTFFMjU1NkNERUEyNn0gPSB7Q0Y3QUMzRDEtRTJERi00MUQyLUJFQTYtMUUyNTU2Q0RFQTI2fQ0KLQlFbmRQcm9qZWN0U2VjdGlvbg0KLUVuZFByb2plY3QNCi1Qcm9qZWN0KCJ7OEJDOUNFQjgtOEI0QS0xMUQwLThEMTEtMDBBMEM5MUJDOTQyfSIpID0gIl9jdHlwZXMiLCAiX2N0eXBlcy52Y3Byb2oiLCAiezBFOTc5MURCLTU5M0EtNDY1Ri05OEJDLTY4MTAxMTMxMTYxOH0iDQotCVByb2plY3RTZWN0aW9uKFByb2plY3REZXBlbmRlbmNpZXMpID0gcG9zdFByb2plY3QNCi0JCXtDRjdBQzNEMS1FMkRGLTQxRDItQkVBNi0xRTI1NTZDREVBMjZ9ID0ge0NGN0FDM0QxLUUyREYtNDFEMi1CRUE2LTFFMjU1NkNERUEyNn0NCi0JRW5kUHJvamVjdFNlY3Rpb24NCi1FbmRQcm9qZWN0DQotUHJvamVjdCgiezhCQzlDRUI4LThCNEEtMTFEMC04RDExLTAwQTBDOTFCQzk0Mn0iKSA9ICJfY3R5cGVzX3Rlc3QiLCAiX2N0eXBlc190ZXN0LnZjcHJvaiIsICJ7OUVDNzE5MEEtMjQ5Ri00MTgwLUE5MDAtNTQ4RkRDRjMwNTVGfSINCi0JUHJvamVjdFNlY3Rpb24oUHJvamVjdERlcGVuZGVuY2llcykgPSBwb3N0UHJvamVjdA0KLQkJe0NGN0FDM0QxLUUyREYtNDFEMi1CRUE2LTFFMjU1NkNERUEyNn0gPSB7Q0Y3QUMzRDEtRTJERi00MUQyLUJFQTYtMUUyNTU2Q0RFQTI2fQ0KLQlFbmRQcm9qZWN0U2VjdGlvbg0KLUVuZFByb2plY3QNCi1Qcm9qZWN0KCJ7OEJDOUNFQjgtOEI0QS0xMUQwLThEMTEtMDBBMEM5MUJDOTQyfSIpID0gIl9lbGVtZW50dHJlZSIsICJfZWxlbWVudHRyZWUudmNwcm9qIiwgInsxN0UxRTA0OS1DMzA5LTRENzktODQzRi1BRTQ4M0MyNjRBRUF9Ig0KLQlQcm9qZWN0U2VjdGlvbihQcm9qZWN0RGVwZW5kZW5jaWVzKSA9IHBvc3RQcm9qZWN0DQotCQl7Q0Y3QUMzRDEtRTJERi00MUQyLUJFQTYtMUUyNTU2Q0RFQTI2fSA9IHtDRjdBQzNEMS1FMkRGLTQxRDItQkVBNi0xRTI1NTZDREVBMjZ9DQotCUVuZFByb2plY3RTZWN0aW9uDQotRW5kUHJvamVjdA0KLVByb2plY3QoIns4QkM5Q0VCOC04QjRBLTExRDAtOEQxMS0wMEEwQzkxQkM5NDJ9IikgPSAiX21zaSIsICJfbXNpLnZjcHJvaiIsICJ7MzFGRkM0NzgtN0I0QS00M0U4LTk5NTQtOEQwM0UyMTg3RTlDfSINCi0JUHJvamVjdFNlY3Rpb24oUHJvamVjdERlcGVuZGVuY2llcykgPSBwb3N0UHJvamVjdA0KLQkJe0NGN0FDM0QxLUUyREYtNDFEMi1CRUE2LTFFMjU1NkNERUEyNn0gPSB7Q0Y3QUMzRDEtRTJERi00MUQyLUJFQTYtMUUyNTU2Q0RFQTI2fQ0KLQlFbmRQcm9qZWN0U2VjdGlvbg0KLUVuZFByb2plY3QNCi1Qcm9qZWN0KCJ7OEJDOUNFQjgtOEI0QS0xMUQwLThEMTEtMDBBMEM5MUJDOTQyfSIpID0gIl9zb2NrZXQiLCAiX3NvY2tldC52Y3Byb2oiLCAiezg2OTM3RjUzLUMxODktNDBFRi04Q0U4LTg3NTlEOEU3RDQ4MH0iDQotCVByb2plY3RTZWN0aW9uKFByb2plY3REZXBlbmRlbmNpZXMpID0gcG9zdFByb2plY3QNCi0JCXtDRjdBQzNEMS1FMkRGLTQxRDItQkVBNi0xRTI1NTZDREVBMjZ9ID0ge0NGN0FDM0QxLUUyREYtNDFEMi1CRUE2LTFFMjU1NkNERUEyNn0NCi0JRW5kUHJvamVjdFNlY3Rpb24NCi1FbmRQcm9qZWN0DQotUHJvamVjdCgiezhCQzlDRUI4LThCNEEtMTFEMC04RDExLTAwQTBDOTFCQzk0Mn0iKSA9ICJfc3FsaXRlMyIsICJfc3FsaXRlMy52Y3Byb2oiLCAiezEzQ0VDQjk3LTQxMTktNDMxNi05RDQyLTg1MzQwMTlBNUE0NH0iDQotCVByb2plY3RTZWN0aW9uKFByb2plY3REZXBlbmRlbmNpZXMpID0gcG9zdFByb2plY3QNCi0JCXtDRjdBQzNEMS1FMkRGLTQxRDItQkVBNi0xRTI1NTZDREVBMjZ9ID0ge0NGN0FDM0QxLUUyREYtNDFEMi1CRUE2LTFFMjU1NkNERUEyNn0NCi0JCXtBMUEyOTVFNS00NjNDLTQzN0YtODFDQS0xRjMyMzY3Njg1REF9ID0ge0ExQTI5NUU1LTQ2M0MtNDM3Ri04MUNBLTFGMzIzNjc2ODVEQX0NCi0JRW5kUHJvamVjdFNlY3Rpb24NCi1FbmRQcm9qZWN0DQotUHJvamVjdCgiezhCQzlDRUI4LThCNEEtMTFEMC04RDExLTAwQTBDOTFCQzk0Mn0iKSA9ICJfc3NsIiwgIl9zc2wudmNwcm9qIiwgIntDNkUyMEY4NC0zMjQ3LTRBRDYtQjA1MS1CMDczMjY4RjczQkF9Ig0KLQlQcm9qZWN0U2VjdGlvbihQcm9qZWN0RGVwZW5kZW5jaWVzKSA9IHBvc3RQcm9qZWN0DQotCQl7QjExRDc1MEYtQ0QxRi00QTk2LTg1Q0UtRTY5QTVDNTI1OUY5fSA9IHtCMTFENzUwRi1DRDFGLTRBOTYtODVDRS1FNjlBNUM1MjU5Rjl9DQotCQl7ODY5MzdGNTMtQzE4OS00MEVGLThDRTgtODc1OUQ4RTdENDgwfSA9IHs4NjkzN0Y1My1DMTg5LTQwRUYtOENFOC04NzU5RDhFN0Q0ODB9DQotCQl7RTVCMDRDQzAtRUI0Qy00MkFCLUI0REMtMThFRjk1Rjg2NEIwfSA9IHtFNUIwNENDMC1FQjRDLTQyQUItQjREQy0xOEVGOTVGODY0QjB9DQotCQl7Q0Y3QUMzRDEtRTJERi00MUQyLUJFQTYtMUUyNTU2Q0RFQTI2fSA9IHtDRjdBQzNEMS1FMkRGLTQxRDItQkVBNi0xRTI1NTZDREVBMjZ9DQotCUVuZFByb2plY3RTZWN0aW9uDQotRW5kUHJvamVjdA0KLVByb2plY3QoIns4QkM5Q0VCOC04QjRBLTExRDAtOEQxMS0wMEEwQzkxQkM5NDJ9IikgPSAiX3Rlc3RjYXBpIiwgIl90ZXN0Y2FwaS52Y3Byb2oiLCAiezY5MDFEOTFDLTZFNDgtNEJCNy05RkVDLTcwMEM4MTMxREYxRH0iDQotCVByb2plY3RTZWN0aW9uKFByb2plY3REZXBlbmRlbmNpZXMpID0gcG9zdFByb2plY3QNCi0JCXtDRjdBQzNEMS1FMkRGLTQxRDItQkVBNi0xRTI1NTZDREVBMjZ9ID0ge0NGN0FDM0QxLUUyREYtNDFEMi1CRUE2LTFFMjU1NkNERUEyNn0NCi0JRW5kUHJvamVjdFNlY3Rpb24NCi1FbmRQcm9qZWN0DQotUHJvamVjdCgiezhCQzlDRUI4LThCNEEtMTFEMC04RDExLTAwQTBDOTFCQzk0Mn0iKSA9ICJfdGVzdGltcG9ydG11bHRpcGxlIiwgIl90ZXN0aW1wb3J0bXVsdGlwbGUudmNwcm9qIiwgInszNkQwQzUyQy1ERjRFLTQ1RDAtOEJDNy1FMjk0QzNBQkM3ODF9Ig0KLQlQcm9qZWN0U2VjdGlvbihQcm9qZWN0RGVwZW5kZW5jaWVzKSA9IHBvc3RQcm9qZWN0DQotCQl7Q0Y3QUMzRDEtRTJERi00MUQyLUJFQTYtMUUyNTU2Q0RFQTI2fSA9IHtDRjdBQzNEMS1FMkRGLTQxRDItQkVBNi0xRTI1NTZDREVBMjZ9DQotCUVuZFByb2plY3RTZWN0aW9uDQotRW5kUHJvamVjdA0KLVByb2plY3QoIns4QkM5Q0VCOC04QjRBLTExRDAtOEQxMS0wMEEwQzkxQkM5NDJ9IikgPSAiX3RraW50ZXIiLCAiX3RraW50ZXIudmNwcm9qIiwgIns0OTQ2RUNBQy0yRTY5LTRCRjgtQTkwQS1GNTEzNkY1MDk0REZ9Ig0KLQlQcm9qZWN0U2VjdGlvbihQcm9qZWN0RGVwZW5kZW5jaWVzKSA9IHBvc3RQcm9qZWN0DQotCQl7Q0Y3QUMzRDEtRTJERi00MUQyLUJFQTYtMUUyNTU2Q0RFQTI2fSA9IHtDRjdBQzNEMS1FMkRGLTQxRDItQkVBNi0xRTI1NTZDREVBMjZ9DQotCUVuZFByb2plY3RTZWN0aW9uDQotRW5kUHJvamVjdA0KLVByb2plY3QoIns4QkM5Q0VCOC04QjRBLTExRDAtOEQxMS0wMEEwQzkxQkM5NDJ9IikgPSAiX2J6MiIsICJfYnoyLnZjcHJvaiIsICJ7NzNGQ0QyQkQtRjEzMy00NkI3LThFQzEtMTQ0Q0Q4MkE1OUQ1fSINCi0JUHJvamVjdFNlY3Rpb24oUHJvamVjdERlcGVuZGVuY2llcykgPSBwb3N0UHJvamVjdA0KLQkJe0NGN0FDM0QxLUUyREYtNDFEMi1CRUE2LTFFMjU1NkNERUEyNn0gPSB7Q0Y3QUMzRDEtRTJERi00MUQyLUJFQTYtMUUyNTU2Q0RFQTI2fQ0KLQlFbmRQcm9qZWN0U2VjdGlvbg0KLUVuZFByb2plY3QNCi1Qcm9qZWN0KCJ7OEJDOUNFQjgtOEI0QS0xMUQwLThEMTEtMDBBMEM5MUJDOTQyfSIpID0gIl9sem1hIiwgIl9sem1hLnZjcHJvaiIsICJ7RjlENzE3ODAtRjM5My0xMUUwLUJFNTAtMDgwMDIwMEM5QTY2fSINCi0JUHJvamVjdFNlY3Rpb24oUHJvamVjdERlcGVuZGVuY2llcykgPSBwb3N0UHJvamVjdA0KLQkJe0NGN0FDM0QxLUUyREYtNDFEMi1CRUE2LTFFMjU1NkNERUEyNn0gPSB7Q0Y3QUMzRDEtRTJERi00MUQyLUJFQTYtMUUyNTU2Q0RFQTI2fQ0KLQlFbmRQcm9qZWN0U2VjdGlvbg0KLUVuZFByb2plY3QNCi1Qcm9qZWN0KCJ7OEJDOUNFQjgtOEI0QS0xMUQwLThEMTEtMDBBMEM5MUJDOTQyfSIpID0gInNlbGVjdCIsICJzZWxlY3QudmNwcm9qIiwgInsxOENBRTI4Qy1CNDU0LTQ2QzEtODdBMC00OTNEOTFEOTdGMDN9Ig0KLQlQcm9qZWN0U2VjdGlvbihQcm9qZWN0RGVwZW5kZW5jaWVzKSA9IHBvc3RQcm9qZWN0DQotCQl7Q0Y3QUMzRDEtRTJERi00MUQyLUJFQTYtMUUyNTU2Q0RFQTI2fSA9IHtDRjdBQzNEMS1FMkRGLTQxRDItQkVBNi0xRTI1NTZDREVBMjZ9DQotCUVuZFByb2plY3RTZWN0aW9uDQotRW5kUHJvamVjdA0KLVByb2plY3QoIns4QkM5Q0VCOC04QjRBLTExRDAtOEQxMS0wMEEwQzkxQkM5NDJ9IikgPSAidW5pY29kZWRhdGEiLCAidW5pY29kZWRhdGEudmNwcm9qIiwgIntFQ0M3Q0VBQy1BNUU1LTQ1OEUtQkI5RS0yNDEzQ0M4NDc4ODF9Ig0KLQlQcm9qZWN0U2VjdGlvbihQcm9qZWN0RGVwZW5kZW5jaWVzKSA9IHBvc3RQcm9qZWN0DQotCQl7Q0Y3QUMzRDEtRTJERi00MUQyLUJFQTYtMUUyNTU2Q0RFQTI2fSA9IHtDRjdBQzNEMS1FMkRGLTQxRDItQkVBNi0xRTI1NTZDREVBMjZ9DQotCUVuZFByb2plY3RTZWN0aW9uDQotRW5kUHJvamVjdA0KLVByb2plY3QoIns4QkM5Q0VCOC04QjRBLTExRDAtOEQxMS0wMEEwQzkxQkM5NDJ9IikgPSAicHlleHBhdCIsICJweWV4cGF0LnZjcHJvaiIsICJ7RDA2QjY0MjYtNDc2Mi00NENDLThCQUQtRDc5MDUyNTA3RjJGfSINCi0JUHJvamVjdFNlY3Rpb24oUHJvamVjdERlcGVuZGVuY2llcykgPSBwb3N0UHJvamVjdA0KLQkJe0NGN0FDM0QxLUUyREYtNDFEMi1CRUE2LTFFMjU1NkNERUEyNn0gPSB7Q0Y3QUMzRDEtRTJERi00MUQyLUJFQTYtMUUyNTU2Q0RFQTI2fQ0KLQlFbmRQcm9qZWN0U2VjdGlvbg0KLUVuZFByb2plY3QNCi1Qcm9qZWN0KCJ7OEJDOUNFQjgtOEI0QS0xMUQwLThEMTEtMDBBMEM5MUJDOTQyfSIpID0gImJkaXN0X3dpbmluc3QiLCAiYmRpc3Rfd2luaW5zdC52Y3Byb2oiLCAie0VCMUMxOUMxLTFGMTgtNDIxRS05NzM1LUNBRUU2OURDNkEzQ30iDQotRW5kUHJvamVjdA0KLVByb2plY3QoIns4QkM5Q0VCOC04QjRBLTExRDAtOEQxMS0wMEEwQzkxQkM5NDJ9IikgPSAiX2hhc2hsaWIiLCAiX2hhc2hsaWIudmNwcm9qIiwgIns0NDdGMDVBOC1GNTgxLTRDQUMtQTQ2Ni01QUM3OTM2RTIwN0V9Ig0KLQlQcm9qZWN0U2VjdGlvbihQcm9qZWN0RGVwZW5kZW5jaWVzKSA9IHBvc3RQcm9qZWN0DQotCQl7QjExRDc1MEYtQ0QxRi00QTk2LTg1Q0UtRTY5QTVDNTI1OUY5fSA9IHtCMTFENzUwRi1DRDFGLTRBOTYtODVDRS1FNjlBNUM1MjU5Rjl9DQotCQl7RTVCMDRDQzAtRUI0Qy00MkFCLUI0REMtMThFRjk1Rjg2NEIwfSA9IHtFNUIwNENDMC1FQjRDLTQyQUItQjREQy0xOEVGOTVGODY0QjB9DQotCQl7Q0Y3QUMzRDEtRTJERi00MUQyLUJFQTYtMUUyNTU2Q0RFQTI2fSA9IHtDRjdBQzNEMS1FMkRGLTQxRDItQkVBNi0xRTI1NTZDREVBMjZ9DQotCUVuZFByb2plY3RTZWN0aW9uDQotRW5kUHJvamVjdA0KLVByb2plY3QoIns4QkM5Q0VCOC04QjRBLTExRDAtOEQxMS0wMEEwQzkxQkM5NDJ9IikgPSAic3FsaXRlMyIsICJzcWxpdGUzLnZjcHJvaiIsICJ7QTFBMjk1RTUtNDYzQy00MzdGLTgxQ0EtMUYzMjM2NzY4NURBfSINCi0JUHJvamVjdFNlY3Rpb24oUHJvamVjdERlcGVuZGVuY2llcykgPSBwb3N0UHJvamVjdA0KLQkJezZERTEwNzQ0LUUzOTYtNDBBNS1CNEUyLTFCNjlBQTdDOEQzMX0gPSB7NkRFMTA3NDQtRTM5Ni00MEE1LUI0RTItMUI2OUFBN0M4RDMxfQ0KLQlFbmRQcm9qZWN0U2VjdGlvbg0KLUVuZFByb2plY3QNCi1Qcm9qZWN0KCJ7OEJDOUNFQjgtOEI0QS0xMUQwLThEMTEtMDBBMEM5MUJDOTQyfSIpID0gIl9tdWx0aXByb2Nlc3NpbmciLCAiX211bHRpcHJvY2Vzc2luZy52Y3Byb2oiLCAiezlFNDhCMzAwLTM3RDEtMTFERC04QzQxLTAwNTA1NkMwMDAwOH0iDQotCVByb2plY3RTZWN0aW9uKFByb2plY3REZXBlbmRlbmNpZXMpID0gcG9zdFByb2plY3QNCi0JCXtDRjdBQzNEMS1FMkRGLTQxRDItQkVBNi0xRTI1NTZDREVBMjZ9ID0ge0NGN0FDM0QxLUUyREYtNDFEMi1CRUE2LTFFMjU1NkNERUEyNn0NCi0JRW5kUHJvamVjdFNlY3Rpb24NCi1FbmRQcm9qZWN0DQotUHJvamVjdCgiezhCQzlDRUI4LThCNEEtMTFEMC04RDExLTAwQTBDOTFCQzk0Mn0iKSA9ICJzc2wiLCAic3NsLnZjcHJvaiIsICJ7RTVCMDRDQzAtRUI0Qy00MkFCLUI0REMtMThFRjk1Rjg2NEIwfSINCi0JUHJvamVjdFNlY3Rpb24oUHJvamVjdERlcGVuZGVuY2llcykgPSBwb3N0UHJvamVjdA0KLQkJe0IxMUQ3NTBGLUNEMUYtNEE5Ni04NUNFLUU2OUE1QzUyNTlGOX0gPSB7QjExRDc1MEYtQ0QxRi00QTk2LTg1Q0UtRTY5QTVDNTI1OUY5fQ0KLQlFbmRQcm9qZWN0U2VjdGlvbg0KLUVuZFByb2plY3QNCi1Qcm9qZWN0KCJ7OEJDOUNFQjgtOEI0QS0xMUQwLThEMTEtMDBBMEM5MUJDOTQyfSIpID0gImtpbGxfcHl0aG9uIiwgImtpbGxfcHl0aG9uLnZjcHJvaiIsICJ7NkRFMTA3NDQtRTM5Ni00MEE1LUI0RTItMUI2OUFBN0M4RDMxfSINCi1FbmRQcm9qZWN0DQotUHJvamVjdCgiezhCQzlDRUI4LThCNEEtMTFEMC04RDExLTAwQTBDOTFCQzk0Mn0iKSA9ICJweXRob24zZGxsIiwgInB5dGhvbjNkbGwudmNwcm9qIiwgIns4ODVENDg5OC1EMDhELTQwOTEtOUM0MC1DNzAwQ0ZFM0ZDNUF9Ig0KLUVuZFByb2plY3QNCi1Qcm9qZWN0KCJ7OEJDOUNFQjgtOEI0QS0xMUQwLThEMTEtMDBBMEM5MUJDOTQyfSIpID0gInh4bGltaXRlZCIsICJ4eGxpbWl0ZWQudmNwcm9qIiwgIntGNzQ5QjgyMi1CNDg5LTRDQTUtQTNBRC1DRTA3OEY1RjMzOEF9Ig0KLUVuZFByb2plY3QNCi1Qcm9qZWN0KCJ7OEJDOUNFQjgtOEI0QS0xMUQwLThEMTEtMDBBMEM5MUJDOTQyfSIpID0gIl90ZXN0YnVmZmVyIiwgIl90ZXN0YnVmZmVyLnZjcHJvaiIsICJ7QTI2OTdCRDMtMjhDMS00QUVDLTkxMDYtOEI3NDg2MzlGRDE2fSINCi0JUHJvamVjdFNlY3Rpb24oUHJvamVjdERlcGVuZGVuY2llcykgPSBwb3N0UHJvamVjdA0KLQkJe0NGN0FDM0QxLUUyREYtNDFEMi1CRUE2LTFFMjU1NkNERUEyNn0gPSB7Q0Y3QUMzRDEtRTJERi00MUQyLUJFQTYtMUUyNTU2Q0RFQTI2fQ0KLQlFbmRQcm9qZWN0U2VjdGlvbg0KLUVuZFByb2plY3QNCi1HbG9iYWwNCi0JR2xvYmFsU2VjdGlvbihTb2x1dGlvbkNvbmZpZ3VyYXRpb25QbGF0Zm9ybXMpID0gcHJlU29sdXRpb24NCi0JCURlYnVnfFdpbjMyID0gRGVidWd8V2luMzINCi0JCURlYnVnfHg2NCA9IERlYnVnfHg2NA0KLQkJUEdJbnN0cnVtZW50fFdpbjMyID0gUEdJbnN0cnVtZW50fFdpbjMyDQotCQlQR0luc3RydW1lbnR8eDY0ID0gUEdJbnN0cnVtZW50fHg2NA0KLQkJUEdVcGRhdGV8V2luMzIgPSBQR1VwZGF0ZXxXaW4zMg0KLQkJUEdVcGRhdGV8eDY0ID0gUEdVcGRhdGV8eDY0DQotCQlSZWxlYXNlfFdpbjMyID0gUmVsZWFzZXxXaW4zMg0KLQkJUmVsZWFzZXx4NjQgPSBSZWxlYXNlfHg2NA0KLQlFbmRHbG9iYWxTZWN0aW9uDQotCUdsb2JhbFNlY3Rpb24oUHJvamVjdENvbmZpZ3VyYXRpb25QbGF0Zm9ybXMpID0gcG9zdFNvbHV0aW9uDQotCQl7QjExRDc1MEYtQ0QxRi00QTk2LTg1Q0UtRTY5QTVDNTI1OUY5fS5EZWJ1Z3xXaW4zMi5BY3RpdmVDZmcgPSBEZWJ1Z3xXaW4zMg0KLQkJe0IxMUQ3NTBGLUNEMUYtNEE5Ni04NUNFLUU2OUE1QzUyNTlGOX0uRGVidWd8V2luMzIuQnVpbGQuMCA9IERlYnVnfFdpbjMyDQotCQl7QjExRDc1MEYtQ0QxRi00QTk2LTg1Q0UtRTY5QTVDNTI1OUY5fS5EZWJ1Z3x4NjQuQWN0aXZlQ2ZnID0gRGVidWd8eDY0DQotCQl7QjExRDc1MEYtQ0QxRi00QTk2LTg1Q0UtRTY5QTVDNTI1OUY5fS5EZWJ1Z3x4NjQuQnVpbGQuMCA9IERlYnVnfHg2NA0KLQkJe0IxMUQ3NTBGLUNEMUYtNEE5Ni04NUNFLUU2OUE1QzUyNTlGOX0uUEdJbnN0cnVtZW50fFdpbjMyLkFjdGl2ZUNmZyA9IFBHSW5zdHJ1bWVudHxXaW4zMg0KLQkJe0IxMUQ3NTBGLUNEMUYtNEE5Ni04NUNFLUU2OUE1QzUyNTlGOX0uUEdJbnN0cnVtZW50fFdpbjMyLkJ1aWxkLjAgPSBQR0luc3RydW1lbnR8V2luMzINCi0JCXtCMTFENzUwRi1DRDFGLTRBOTYtODVDRS1FNjlBNUM1MjU5Rjl9LlBHSW5zdHJ1bWVudHx4NjQuQWN0aXZlQ2ZnID0gUEdJbnN0cnVtZW50fHg2NA0KLQkJe0IxMUQ3NTBGLUNEMUYtNEE5Ni04NUNFLUU2OUE1QzUyNTlGOX0uUEdJbnN0cnVtZW50fHg2NC5CdWlsZC4wID0gUEdJbnN0cnVtZW50fHg2NA0KLQkJe0IxMUQ3NTBGLUNEMUYtNEE5Ni04NUNFLUU2OUE1QzUyNTlGOX0uUEdVcGRhdGV8V2luMzIuQWN0aXZlQ2ZnID0gUEdVcGRhdGV8V2luMzINCi0JCXtCMTFENzUwRi1DRDFGLTRBOTYtODVDRS1FNjlBNUM1MjU5Rjl9LlBHVXBkYXRlfFdpbjMyLkJ1aWxkLjAgPSBQR1VwZGF0ZXxXaW4zMg0KLQkJe0IxMUQ3NTBGLUNEMUYtNEE5Ni04NUNFLUU2OUE1QzUyNTlGOX0uUEdVcGRhdGV8eDY0LkFjdGl2ZUNmZyA9IFBHVXBkYXRlfHg2NA0KLQkJe0IxMUQ3NTBGLUNEMUYtNEE5Ni04NUNFLUU2OUE1QzUyNTlGOX0uUEdVcGRhdGV8eDY0LkJ1aWxkLjAgPSBQR1VwZGF0ZXx4NjQNCi0JCXtCMTFENzUwRi1DRDFGLTRBOTYtODVDRS1FNjlBNUM1MjU5Rjl9LlJlbGVhc2V8V2luMzIuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KLQkJe0IxMUQ3NTBGLUNEMUYtNEE5Ni04NUNFLUU2OUE1QzUyNTlGOX0uUmVsZWFzZXxXaW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KLQkJe0IxMUQ3NTBGLUNEMUYtNEE5Ni04NUNFLUU2OUE1QzUyNTlGOX0uUmVsZWFzZXx4NjQuQWN0aXZlQ2ZnID0gUmVsZWFzZXx4NjQNCi0JCXtCMTFENzUwRi1DRDFGLTRBOTYtODVDRS1FNjlBNUM1MjU5Rjl9LlJlbGVhc2V8eDY0LkJ1aWxkLjAgPSBSZWxlYXNlfHg2NA0KLQkJe0YwRTA1NDFFLUYxN0QtNDMwQi05N0M0LTkzQURGMEREMjg0RX0uRGVidWd8V2luMzIuQWN0aXZlQ2ZnID0gRGVidWd8V2luMzINCi0JCXtGMEUwNTQxRS1GMTdELTQzMEItOTdDNC05M0FERjBERDI4NEV9LkRlYnVnfFdpbjMyLkJ1aWxkLjAgPSBEZWJ1Z3xXaW4zMg0KLQkJe0YwRTA1NDFFLUYxN0QtNDMwQi05N0M0LTkzQURGMEREMjg0RX0uRGVidWd8eDY0LkFjdGl2ZUNmZyA9IERlYnVnfFdpbjMyDQotCQl7RjBFMDU0MUUtRjE3RC00MzBCLTk3QzQtOTNBREYwREQyODRFfS5EZWJ1Z3x4NjQuQnVpbGQuMCA9IERlYnVnfFdpbjMyDQotCQl7RjBFMDU0MUUtRjE3RC00MzBCLTk3QzQtOTNBREYwREQyODRFfS5QR0luc3RydW1lbnR8V2luMzIuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KLQkJe0YwRTA1NDFFLUYxN0QtNDMwQi05N0M0LTkzQURGMEREMjg0RX0uUEdJbnN0cnVtZW50fFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQotCQl7RjBFMDU0MUUtRjE3RC00MzBCLTk3QzQtOTNBREYwREQyODRFfS5QR0luc3RydW1lbnR8eDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCi0JCXtGMEUwNTQxRS1GMTdELTQzMEItOTdDNC05M0FERjBERDI4NEV9LlBHSW5zdHJ1bWVudHx4NjQuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCi0JCXtGMEUwNTQxRS1GMTdELTQzMEItOTdDNC05M0FERjBERDI4NEV9LlBHVXBkYXRlfFdpbjMyLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCi0JCXtGMEUwNTQxRS1GMTdELTQzMEItOTdDNC05M0FERjBERDI4NEV9LlBHVXBkYXRlfFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQotCQl7RjBFMDU0MUUtRjE3RC00MzBCLTk3QzQtOTNBREYwREQyODRFfS5QR1VwZGF0ZXx4NjQuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KLQkJe0YwRTA1NDFFLUYxN0QtNDMwQi05N0M0LTkzQURGMEREMjg0RX0uUEdVcGRhdGV8eDY0LkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQotCQl7RjBFMDU0MUUtRjE3RC00MzBCLTk3QzQtOTNBREYwREQyODRFfS5SZWxlYXNlfFdpbjMyLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCi0JCXtGMEUwNTQxRS1GMTdELTQzMEItOTdDNC05M0FERjBERDI4NEV9LlJlbGVhc2V8V2luMzIuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCi0JCXtGMEUwNTQxRS1GMTdELTQzMEItOTdDNC05M0FERjBERDI4NEV9LlJlbGVhc2V8eDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCi0JCXtGMEUwNTQxRS1GMTdELTQzMEItOTdDNC05M0FERjBERDI4NEV9LlJlbGVhc2V8eDY0LkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQotCQl7Q0Y3QUMzRDEtRTJERi00MUQyLUJFQTYtMUUyNTU2Q0RFQTI2fS5EZWJ1Z3xXaW4zMi5BY3RpdmVDZmcgPSBEZWJ1Z3xXaW4zMg0KLQkJe0NGN0FDM0QxLUUyREYtNDFEMi1CRUE2LTFFMjU1NkNERUEyNn0uRGVidWd8V2luMzIuQnVpbGQuMCA9IERlYnVnfFdpbjMyDQotCQl7Q0Y3QUMzRDEtRTJERi00MUQyLUJFQTYtMUUyNTU2Q0RFQTI2fS5EZWJ1Z3x4NjQuQWN0aXZlQ2ZnID0gRGVidWd8eDY0DQotCQl7Q0Y3QUMzRDEtRTJERi00MUQyLUJFQTYtMUUyNTU2Q0RFQTI2fS5EZWJ1Z3x4NjQuQnVpbGQuMCA9IERlYnVnfHg2NA0KLQkJe0NGN0FDM0QxLUUyREYtNDFEMi1CRUE2LTFFMjU1NkNERUEyNn0uUEdJbnN0cnVtZW50fFdpbjMyLkFjdGl2ZUNmZyA9IFBHSW5zdHJ1bWVudHxXaW4zMg0KLQkJe0NGN0FDM0QxLUUyREYtNDFEMi1CRUE2LTFFMjU1NkNERUEyNn0uUEdJbnN0cnVtZW50fFdpbjMyLkJ1aWxkLjAgPSBQR0luc3RydW1lbnR8V2luMzINCi0JCXtDRjdBQzNEMS1FMkRGLTQxRDItQkVBNi0xRTI1NTZDREVBMjZ9LlBHSW5zdHJ1bWVudHx4NjQuQWN0aXZlQ2ZnID0gUEdJbnN0cnVtZW50fHg2NA0KLQkJe0NGN0FDM0QxLUUyREYtNDFEMi1CRUE2LTFFMjU1NkNERUEyNn0uUEdJbnN0cnVtZW50fHg2NC5CdWlsZC4wID0gUEdJbnN0cnVtZW50fHg2NA0KLQkJe0NGN0FDM0QxLUUyREYtNDFEMi1CRUE2LTFFMjU1NkNERUEyNn0uUEdVcGRhdGV8V2luMzIuQWN0aXZlQ2ZnID0gUEdVcGRhdGV8V2luMzINCi0JCXtDRjdBQzNEMS1FMkRGLTQxRDItQkVBNi0xRTI1NTZDREVBMjZ9LlBHVXBkYXRlfFdpbjMyLkJ1aWxkLjAgPSBQR1VwZGF0ZXxXaW4zMg0KLQkJe0NGN0FDM0QxLUUyREYtNDFEMi1CRUE2LTFFMjU1NkNERUEyNn0uUEdVcGRhdGV8eDY0LkFjdGl2ZUNmZyA9IFBHVXBkYXRlfHg2NA0KLQkJe0NGN0FDM0QxLUUyREYtNDFEMi1CRUE2LTFFMjU1NkNERUEyNn0uUEdVcGRhdGV8eDY0LkJ1aWxkLjAgPSBQR1VwZGF0ZXx4NjQNCi0JCXtDRjdBQzNEMS1FMkRGLTQxRDItQkVBNi0xRTI1NTZDREVBMjZ9LlJlbGVhc2V8V2luMzIuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KLQkJe0NGN0FDM0QxLUUyREYtNDFEMi1CRUE2LTFFMjU1NkNERUEyNn0uUmVsZWFzZXxXaW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KLQkJe0NGN0FDM0QxLUUyREYtNDFEMi1CRUE2LTFFMjU1NkNERUEyNn0uUmVsZWFzZXx4NjQuQWN0aXZlQ2ZnID0gUmVsZWFzZXx4NjQNCi0JCXtDRjdBQzNEMS1FMkRGLTQxRDItQkVBNi0xRTI1NTZDREVBMjZ9LlJlbGVhc2V8eDY0LkJ1aWxkLjAgPSBSZWxlYXNlfHg2NA0KLQkJe0Y0MjI5Q0MzLTg3M0MtNDlBRS05NzI5LUREMzA4RUQ0Q0Q0QX0uRGVidWd8V2luMzIuQWN0aXZlQ2ZnID0gRGVidWd8V2luMzINCi0JCXtGNDIyOUNDMy04NzNDLTQ5QUUtOTcyOS1ERDMwOEVENENENEF9LkRlYnVnfFdpbjMyLkJ1aWxkLjAgPSBEZWJ1Z3xXaW4zMg0KLQkJe0Y0MjI5Q0MzLTg3M0MtNDlBRS05NzI5LUREMzA4RUQ0Q0Q0QX0uRGVidWd8eDY0LkFjdGl2ZUNmZyA9IERlYnVnfHg2NA0KLQkJe0Y0MjI5Q0MzLTg3M0MtNDlBRS05NzI5LUREMzA4RUQ0Q0Q0QX0uRGVidWd8eDY0LkJ1aWxkLjAgPSBEZWJ1Z3x4NjQNCi0JCXtGNDIyOUNDMy04NzNDLTQ5QUUtOTcyOS1ERDMwOEVENENENEF9LlBHSW5zdHJ1bWVudHxXaW4zMi5BY3RpdmVDZmcgPSBQR0luc3RydW1lbnR8V2luMzINCi0JCXtGNDIyOUNDMy04NzNDLTQ5QUUtOTcyOS1ERDMwOEVENENENEF9LlBHSW5zdHJ1bWVudHxXaW4zMi5CdWlsZC4wID0gUEdJbnN0cnVtZW50fFdpbjMyDQotCQl7RjQyMjlDQzMtODczQy00OUFFLTk3MjktREQzMDhFRDRDRDRBfS5QR0luc3RydW1lbnR8eDY0LkFjdGl2ZUNmZyA9IFBHSW5zdHJ1bWVudHx4NjQNCi0JCXtGNDIyOUNDMy04NzNDLTQ5QUUtOTcyOS1ERDMwOEVENENENEF9LlBHSW5zdHJ1bWVudHx4NjQuQnVpbGQuMCA9IFBHSW5zdHJ1bWVudHx4NjQNCi0JCXtGNDIyOUNDMy04NzNDLTQ5QUUtOTcyOS1ERDMwOEVENENENEF9LlBHVXBkYXRlfFdpbjMyLkFjdGl2ZUNmZyA9IFBHVXBkYXRlfFdpbjMyDQotCQl7RjQyMjlDQzMtODczQy00OUFFLTk3MjktREQzMDhFRDRDRDRBfS5QR1VwZGF0ZXxXaW4zMi5CdWlsZC4wID0gUEdVcGRhdGV8V2luMzINCi0JCXtGNDIyOUNDMy04NzNDLTQ5QUUtOTcyOS1ERDMwOEVENENENEF9LlBHVXBkYXRlfHg2NC5BY3RpdmVDZmcgPSBQR1VwZGF0ZXx4NjQNCi0JCXtGNDIyOUNDMy04NzNDLTQ5QUUtOTcyOS1ERDMwOEVENENENEF9LlBHVXBkYXRlfHg2NC5CdWlsZC4wID0gUEdVcGRhdGV8eDY0DQotCQl7RjQyMjlDQzMtODczQy00OUFFLTk3MjktREQzMDhFRDRDRDRBfS5SZWxlYXNlfFdpbjMyLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCi0JCXtGNDIyOUNDMy04NzNDLTQ5QUUtOTcyOS1ERDMwOEVENENENEF9LlJlbGVhc2V8V2luMzIuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCi0JCXtGNDIyOUNDMy04NzNDLTQ5QUUtOTcyOS1ERDMwOEVENENENEF9LlJlbGVhc2V8eDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2V8eDY0DQotCQl7RjQyMjlDQzMtODczQy00OUFFLTk3MjktREQzMDhFRDRDRDRBfS5SZWxlYXNlfHg2NC5CdWlsZC4wID0gUmVsZWFzZXx4NjQNCi0JCXtFOUUwQTFGNi0wMDA5LTRFOEMtQjhGOC0xQjhGNUQ0OUEwNTh9LkRlYnVnfFdpbjMyLkFjdGl2ZUNmZyA9IERlYnVnfFdpbjMyDQotCQl7RTlFMEExRjYtMDAwOS00RThDLUI4RjgtMUI4RjVENDlBMDU4fS5EZWJ1Z3xXaW4zMi5CdWlsZC4wID0gRGVidWd8V2luMzINCi0JCXtFOUUwQTFGNi0wMDA5LTRFOEMtQjhGOC0xQjhGNUQ0OUEwNTh9LkRlYnVnfHg2NC5BY3RpdmVDZmcgPSBEZWJ1Z3x4NjQNCi0JCXtFOUUwQTFGNi0wMDA5LTRFOEMtQjhGOC0xQjhGNUQ0OUEwNTh9LkRlYnVnfHg2NC5CdWlsZC4wID0gRGVidWd8eDY0DQotCQl7RTlFMEExRjYtMDAwOS00RThDLUI4RjgtMUI4RjVENDlBMDU4fS5QR0luc3RydW1lbnR8V2luMzIuQWN0aXZlQ2ZnID0gUEdJbnN0cnVtZW50fFdpbjMyDQotCQl7RTlFMEExRjYtMDAwOS00RThDLUI4RjgtMUI4RjVENDlBMDU4fS5QR0luc3RydW1lbnR8V2luMzIuQnVpbGQuMCA9IFBHSW5zdHJ1bWVudHxXaW4zMg0KLQkJe0U5RTBBMUY2LTAwMDktNEU4Qy1COEY4LTFCOEY1RDQ5QTA1OH0uUEdJbnN0cnVtZW50fHg2NC5BY3RpdmVDZmcgPSBQR0luc3RydW1lbnR8eDY0DQotCQl7RTlFMEExRjYtMDAwOS00RThDLUI4RjgtMUI4RjVENDlBMDU4fS5QR0luc3RydW1lbnR8eDY0LkJ1aWxkLjAgPSBQR0luc3RydW1lbnR8eDY0DQotCQl7RTlFMEExRjYtMDAwOS00RThDLUI4RjgtMUI4RjVENDlBMDU4fS5QR1VwZGF0ZXxXaW4zMi5BY3RpdmVDZmcgPSBQR1VwZGF0ZXxXaW4zMg0KLQkJe0U5RTBBMUY2LTAwMDktNEU4Qy1COEY4LTFCOEY1RDQ5QTA1OH0uUEdVcGRhdGV8V2luMzIuQnVpbGQuMCA9IFBHVXBkYXRlfFdpbjMyDQotCQl7RTlFMEExRjYtMDAwOS00RThDLUI4RjgtMUI4RjVENDlBMDU4fS5QR1VwZGF0ZXx4NjQuQWN0aXZlQ2ZnID0gUEdVcGRhdGV8eDY0DQotCQl7RTlFMEExRjYtMDAwOS00RThDLUI4RjgtMUI4RjVENDlBMDU4fS5QR1VwZGF0ZXx4NjQuQnVpbGQuMCA9IFBHVXBkYXRlfHg2NA0KLQkJe0U5RTBBMUY2LTAwMDktNEU4Qy1COEY4LTFCOEY1RDQ5QTA1OH0uUmVsZWFzZXxXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQotCQl7RTlFMEExRjYtMDAwOS00RThDLUI4RjgtMUI4RjVENDlBMDU4fS5SZWxlYXNlfFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQotCQl7RTlFMEExRjYtMDAwOS00RThDLUI4RjgtMUI4RjVENDlBMDU4fS5SZWxlYXNlfHg2NC5BY3RpdmVDZmcgPSBSZWxlYXNlfHg2NA0KLQkJe0U5RTBBMUY2LTAwMDktNEU4Qy1COEY4LTFCOEY1RDQ5QTA1OH0uUmVsZWFzZXx4NjQuQnVpbGQuMCA9IFJlbGVhc2V8eDY0DQotCQl7QzczRjBFQzEtMzU4Qi00MTc3LTk0MEYtMDg0NkFDOEIwNENEfS5EZWJ1Z3xXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQotCQl7QzczRjBFQzEtMzU4Qi00MTc3LTk0MEYtMDg0NkFDOEIwNENEfS5EZWJ1Z3xXaW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KLQkJe0M3M0YwRUMxLTM1OEItNDE3Ny05NDBGLTA4NDZBQzhCMDRDRH0uRGVidWd8eDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCi0JCXtDNzNGMEVDMS0zNThCLTQxNzctOTQwRi0wODQ2QUM4QjA0Q0R9LkRlYnVnfHg2NC5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KLQkJe0M3M0YwRUMxLTM1OEItNDE3Ny05NDBGLTA4NDZBQzhCMDRDRH0uUEdJbnN0cnVtZW50fFdpbjMyLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCi0JCXtDNzNGMEVDMS0zNThCLTQxNzctOTQwRi0wODQ2QUM4QjA0Q0R9LlBHSW5zdHJ1bWVudHxXaW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KLQkJe0M3M0YwRUMxLTM1OEItNDE3Ny05NDBGLTA4NDZBQzhCMDRDRH0uUEdJbnN0cnVtZW50fHg2NC5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQotCQl7QzczRjBFQzEtMzU4Qi00MTc3LTk0MEYtMDg0NkFDOEIwNENEfS5QR0luc3RydW1lbnR8eDY0LkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQotCQl7QzczRjBFQzEtMzU4Qi00MTc3LTk0MEYtMDg0NkFDOEIwNENEfS5QR1VwZGF0ZXxXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQotCQl7QzczRjBFQzEtMzU4Qi00MTc3LTk0MEYtMDg0NkFDOEIwNENEfS5QR1VwZGF0ZXxXaW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KLQkJe0M3M0YwRUMxLTM1OEItNDE3Ny05NDBGLTA4NDZBQzhCMDRDRH0uUEdVcGRhdGV8eDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCi0JCXtDNzNGMEVDMS0zNThCLTQxNzctOTQwRi0wODQ2QUM4QjA0Q0R9LlBHVXBkYXRlfHg2NC5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KLQkJe0M3M0YwRUMxLTM1OEItNDE3Ny05NDBGLTA4NDZBQzhCMDRDRH0uUmVsZWFzZXxXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQotCQl7QzczRjBFQzEtMzU4Qi00MTc3LTk0MEYtMDg0NkFDOEIwNENEfS5SZWxlYXNlfFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQotCQl7QzczRjBFQzEtMzU4Qi00MTc3LTk0MEYtMDg0NkFDOEIwNENEfS5SZWxlYXNlfHg2NC5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQotCQl7QzczRjBFQzEtMzU4Qi00MTc3LTk0MEYtMDg0NkFDOEIwNENEfS5SZWxlYXNlfHg2NC5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KLQkJezI4QjVENzc3LURERjItNEI2Qi1CMzRGLTMxRDkzODgxMzg1Nn0uRGVidWd8V2luMzIuQWN0aXZlQ2ZnID0gRGVidWd8V2luMzINCi0JCXsyOEI1RDc3Ny1EREYyLTRCNkItQjM0Ri0zMUQ5Mzg4MTM4NTZ9LkRlYnVnfFdpbjMyLkJ1aWxkLjAgPSBEZWJ1Z3xXaW4zMg0KLQkJezI4QjVENzc3LURERjItNEI2Qi1CMzRGLTMxRDkzODgxMzg1Nn0uRGVidWd8eDY0LkFjdGl2ZUNmZyA9IERlYnVnfHg2NA0KLQkJezI4QjVENzc3LURERjItNEI2Qi1CMzRGLTMxRDkzODgxMzg1Nn0uRGVidWd8eDY0LkJ1aWxkLjAgPSBEZWJ1Z3x4NjQNCi0JCXsyOEI1RDc3Ny1EREYyLTRCNkItQjM0Ri0zMUQ5Mzg4MTM4NTZ9LlBHSW5zdHJ1bWVudHxXaW4zMi5BY3RpdmVDZmcgPSBQR0luc3RydW1lbnR8V2luMzINCi0JCXsyOEI1RDc3Ny1EREYyLTRCNkItQjM0Ri0zMUQ5Mzg4MTM4NTZ9LlBHSW5zdHJ1bWVudHxXaW4zMi5CdWlsZC4wID0gUEdJbnN0cnVtZW50fFdpbjMyDQotCQl7MjhCNUQ3NzctRERGMi00QjZCLUIzNEYtMzFEOTM4ODEzODU2fS5QR0luc3RydW1lbnR8eDY0LkFjdGl2ZUNmZyA9IFBHSW5zdHJ1bWVudHx4NjQNCi0JCXsyOEI1RDc3Ny1EREYyLTRCNkItQjM0Ri0zMUQ5Mzg4MTM4NTZ9LlBHSW5zdHJ1bWVudHx4NjQuQnVpbGQuMCA9IFBHSW5zdHJ1bWVudHx4NjQNCi0JCXsyOEI1RDc3Ny1EREYyLTRCNkItQjM0Ri0zMUQ5Mzg4MTM4NTZ9LlBHVXBkYXRlfFdpbjMyLkFjdGl2ZUNmZyA9IFBHVXBkYXRlfFdpbjMyDQotCQl7MjhCNUQ3NzctRERGMi00QjZCLUIzNEYtMzFEOTM4ODEzODU2fS5QR1VwZGF0ZXxXaW4zMi5CdWlsZC4wID0gUEdVcGRhdGV8V2luMzINCi0JCXsyOEI1RDc3Ny1EREYyLTRCNkItQjM0Ri0zMUQ5Mzg4MTM4NTZ9LlBHVXBkYXRlfHg2NC5BY3RpdmVDZmcgPSBQR1VwZGF0ZXx4NjQNCi0JCXsyOEI1RDc3Ny1EREYyLTRCNkItQjM0Ri0zMUQ5Mzg4MTM4NTZ9LlBHVXBkYXRlfHg2NC5CdWlsZC4wID0gUEdVcGRhdGV8eDY0DQotCQl7MjhCNUQ3NzctRERGMi00QjZCLUIzNEYtMzFEOTM4ODEzODU2fS5SZWxlYXNlfFdpbjMyLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCi0JCXsyOEI1RDc3Ny1EREYyLTRCNkItQjM0Ri0zMUQ5Mzg4MTM4NTZ9LlJlbGVhc2V8V2luMzIuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCi0JCXsyOEI1RDc3Ny1EREYyLTRCNkItQjM0Ri0zMUQ5Mzg4MTM4NTZ9LlJlbGVhc2V8eDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2V8eDY0DQotCQl7MjhCNUQ3NzctRERGMi00QjZCLUIzNEYtMzFEOTM4ODEzODU2fS5SZWxlYXNlfHg2NC5CdWlsZC4wID0gUmVsZWFzZXx4NjQNCi0JCXswRTk3OTFEQi01OTNBLTQ2NUYtOThCQy02ODEwMTEzMTE2MTd9LkRlYnVnfFdpbjMyLkFjdGl2ZUNmZyA9IERlYnVnfFdpbjMyDQotCQl7MEU5NzkxREItNTkzQS00NjVGLTk4QkMtNjgxMDExMzExNjE3fS5EZWJ1Z3xXaW4zMi5CdWlsZC4wID0gRGVidWd8V2luMzINCi0JCXswRTk3OTFEQi01OTNBLTQ2NUYtOThCQy02ODEwMTEzMTE2MTd9LkRlYnVnfHg2NC5BY3RpdmVDZmcgPSBEZWJ1Z3x4NjQNCi0JCXswRTk3OTFEQi01OTNBLTQ2NUYtOThCQy02ODEwMTEzMTE2MTd9LkRlYnVnfHg2NC5CdWlsZC4wID0gRGVidWd8eDY0DQotCQl7MEU5NzkxREItNTkzQS00NjVGLTk4QkMtNjgxMDExMzExNjE3fS5QR0luc3RydW1lbnR8V2luMzIuQWN0aXZlQ2ZnID0gUEdJbnN0cnVtZW50fFdpbjMyDQotCQl7MEU5NzkxREItNTkzQS00NjVGLTk4QkMtNjgxMDExMzExNjE3fS5QR0luc3RydW1lbnR8V2luMzIuQnVpbGQuMCA9IFBHSW5zdHJ1bWVudHxXaW4zMg0KLQkJezBFOTc5MURCLTU5M0EtNDY1Ri05OEJDLTY4MTAxMTMxMTYxN30uUEdJbnN0cnVtZW50fHg2NC5BY3RpdmVDZmcgPSBQR0luc3RydW1lbnR8eDY0DQotCQl7MEU5NzkxREItNTkzQS00NjVGLTk4QkMtNjgxMDExMzExNjE3fS5QR0luc3RydW1lbnR8eDY0LkJ1aWxkLjAgPSBQR0luc3RydW1lbnR8eDY0DQotCQl7MEU5NzkxREItNTkzQS00NjVGLTk4QkMtNjgxMDExMzExNjE3fS5QR1VwZGF0ZXxXaW4zMi5BY3RpdmVDZmcgPSBQR1VwZGF0ZXxXaW4zMg0KLQkJezBFOTc5MURCLTU5M0EtNDY1Ri05OEJDLTY4MTAxMTMxMTYxN30uUEdVcGRhdGV8V2luMzIuQnVpbGQuMCA9IFBHVXBkYXRlfFdpbjMyDQotCQl7MEU5NzkxREItNTkzQS00NjVGLTk4QkMtNjgxMDExMzExNjE3fS5QR1VwZGF0ZXx4NjQuQWN0aXZlQ2ZnID0gUEdVcGRhdGV8eDY0DQotCQl7MEU5NzkxREItNTkzQS00NjVGLTk4QkMtNjgxMDExMzExNjE3fS5QR1VwZGF0ZXx4NjQuQnVpbGQuMCA9IFBHVXBkYXRlfHg2NA0KLQkJezBFOTc5MURCLTU5M0EtNDY1Ri05OEJDLTY4MTAxMTMxMTYxN30uUmVsZWFzZXxXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQotCQl7MEU5NzkxREItNTkzQS00NjVGLTk4QkMtNjgxMDExMzExNjE3fS5SZWxlYXNlfFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQotCQl7MEU5NzkxREItNTkzQS00NjVGLTk4QkMtNjgxMDExMzExNjE3fS5SZWxlYXNlfHg2NC5BY3RpdmVDZmcgPSBSZWxlYXNlfHg2NA0KLQkJezBFOTc5MURCLTU5M0EtNDY1Ri05OEJDLTY4MTAxMTMxMTYxN30uUmVsZWFzZXx4NjQuQnVpbGQuMCA9IFJlbGVhc2V8eDY0DQotCQl7MEU5NzkxREItNTkzQS00NjVGLTk4QkMtNjgxMDExMzExNjE4fS5EZWJ1Z3xXaW4zMi5BY3RpdmVDZmcgPSBEZWJ1Z3xXaW4zMg0KLQkJezBFOTc5MURCLTU5M0EtNDY1Ri05OEJDLTY4MTAxMTMxMTYxOH0uRGVidWd8V2luMzIuQnVpbGQuMCA9IERlYnVnfFdpbjMyDQotCQl7MEU5NzkxREItNTkzQS00NjVGLTk4QkMtNjgxMDExMzExNjE4fS5EZWJ1Z3x4NjQuQWN0aXZlQ2ZnID0gRGVidWd8eDY0DQotCQl7MEU5NzkxREItNTkzQS00NjVGLTk4QkMtNjgxMDExMzExNjE4fS5EZWJ1Z3x4NjQuQnVpbGQuMCA9IERlYnVnfHg2NA0KLQkJezBFOTc5MURCLTU5M0EtNDY1Ri05OEJDLTY4MTAxMTMxMTYxOH0uUEdJbnN0cnVtZW50fFdpbjMyLkFjdGl2ZUNmZyA9IFBHSW5zdHJ1bWVudHxXaW4zMg0KLQkJezBFOTc5MURCLTU5M0EtNDY1Ri05OEJDLTY4MTAxMTMxMTYxOH0uUEdJbnN0cnVtZW50fFdpbjMyLkJ1aWxkLjAgPSBQR0luc3RydW1lbnR8V2luMzINCi0JCXswRTk3OTFEQi01OTNBLTQ2NUYtOThCQy02ODEwMTEzMTE2MTh9LlBHSW5zdHJ1bWVudHx4NjQuQWN0aXZlQ2ZnID0gUEdJbnN0cnVtZW50fHg2NA0KLQkJezBFOTc5MURCLTU5M0EtNDY1Ri05OEJDLTY4MTAxMTMxMTYxOH0uUEdJbnN0cnVtZW50fHg2NC5CdWlsZC4wID0gUEdJbnN0cnVtZW50fHg2NA0KLQkJezBFOTc5MURCLTU5M0EtNDY1Ri05OEJDLTY4MTAxMTMxMTYxOH0uUEdVcGRhdGV8V2luMzIuQWN0aXZlQ2ZnID0gUEdVcGRhdGV8V2luMzINCi0JCXswRTk3OTFEQi01OTNBLTQ2NUYtOThCQy02ODEwMTEzMTE2MTh9LlBHVXBkYXRlfFdpbjMyLkJ1aWxkLjAgPSBQR1VwZGF0ZXxXaW4zMg0KLQkJezBFOTc5MURCLTU5M0EtNDY1Ri05OEJDLTY4MTAxMTMxMTYxOH0uUEdVcGRhdGV8eDY0LkFjdGl2ZUNmZyA9IFBHVXBkYXRlfHg2NA0KLQkJezBFOTc5MURCLTU5M0EtNDY1Ri05OEJDLTY4MTAxMTMxMTYxOH0uUEdVcGRhdGV8eDY0LkJ1aWxkLjAgPSBQR1VwZGF0ZXx4NjQNCi0JCXswRTk3OTFEQi01OTNBLTQ2NUYtOThCQy02ODEwMTEzMTE2MTh9LlJlbGVhc2V8V2luMzIuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KLQkJezBFOTc5MURCLTU5M0EtNDY1Ri05OEJDLTY4MTAxMTMxMTYxOH0uUmVsZWFzZXxXaW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KLQkJezBFOTc5MURCLTU5M0EtNDY1Ri05OEJDLTY4MTAxMTMxMTYxOH0uUmVsZWFzZXx4NjQuQWN0aXZlQ2ZnID0gUmVsZWFzZXx4NjQNCi0JCXswRTk3OTFEQi01OTNBLTQ2NUYtOThCQy02ODEwMTEzMTE2MTh9LlJlbGVhc2V8eDY0LkJ1aWxkLjAgPSBSZWxlYXNlfHg2NA0KLQkJezlFQzcxOTBBLTI0OUYtNDE4MC1BOTAwLTU0OEZEQ0YzMDU1Rn0uRGVidWd8V2luMzIuQWN0aXZlQ2ZnID0gRGVidWd8V2luMzINCi0JCXs5RUM3MTkwQS0yNDlGLTQxODAtQTkwMC01NDhGRENGMzA1NUZ9LkRlYnVnfFdpbjMyLkJ1aWxkLjAgPSBEZWJ1Z3xXaW4zMg0KLQkJezlFQzcxOTBBLTI0OUYtNDE4MC1BOTAwLTU0OEZEQ0YzMDU1Rn0uRGVidWd8eDY0LkFjdGl2ZUNmZyA9IERlYnVnfHg2NA0KLQkJezlFQzcxOTBBLTI0OUYtNDE4MC1BOTAwLTU0OEZEQ0YzMDU1Rn0uRGVidWd8eDY0LkJ1aWxkLjAgPSBEZWJ1Z3x4NjQNCi0JCXs5RUM3MTkwQS0yNDlGLTQxODAtQTkwMC01NDhGRENGMzA1NUZ9LlBHSW5zdHJ1bWVudHxXaW4zMi5BY3RpdmVDZmcgPSBQR0luc3RydW1lbnR8V2luMzINCi0JCXs5RUM3MTkwQS0yNDlGLTQxODAtQTkwMC01NDhGRENGMzA1NUZ9LlBHSW5zdHJ1bWVudHxXaW4zMi5CdWlsZC4wID0gUEdJbnN0cnVtZW50fFdpbjMyDQotCQl7OUVDNzE5MEEtMjQ5Ri00MTgwLUE5MDAtNTQ4RkRDRjMwNTVGfS5QR0luc3RydW1lbnR8eDY0LkFjdGl2ZUNmZyA9IFBHSW5zdHJ1bWVudHx4NjQNCi0JCXs5RUM3MTkwQS0yNDlGLTQxODAtQTkwMC01NDhGRENGMzA1NUZ9LlBHSW5zdHJ1bWVudHx4NjQuQnVpbGQuMCA9IFBHSW5zdHJ1bWVudHx4NjQNCi0JCXs5RUM3MTkwQS0yNDlGLTQxODAtQTkwMC01NDhGRENGMzA1NUZ9LlBHVXBkYXRlfFdpbjMyLkFjdGl2ZUNmZyA9IFBHVXBkYXRlfFdpbjMyDQotCQl7OUVDNzE5MEEtMjQ5Ri00MTgwLUE5MDAtNTQ4RkRDRjMwNTVGfS5QR1VwZGF0ZXxXaW4zMi5CdWlsZC4wID0gUEdVcGRhdGV8V2luMzINCi0JCXs5RUM3MTkwQS0yNDlGLTQxODAtQTkwMC01NDhGRENGMzA1NUZ9LlBHVXBkYXRlfHg2NC5BY3RpdmVDZmcgPSBQR1VwZGF0ZXx4NjQNCi0JCXs5RUM3MTkwQS0yNDlGLTQxODAtQTkwMC01NDhGRENGMzA1NUZ9LlBHVXBkYXRlfHg2NC5CdWlsZC4wID0gUEdVcGRhdGV8eDY0DQotCQl7OUVDNzE5MEEtMjQ5Ri00MTgwLUE5MDAtNTQ4RkRDRjMwNTVGfS5SZWxlYXNlfFdpbjMyLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCi0JCXs5RUM3MTkwQS0yNDlGLTQxODAtQTkwMC01NDhGRENGMzA1NUZ9LlJlbGVhc2V8V2luMzIuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCi0JCXs5RUM3MTkwQS0yNDlGLTQxODAtQTkwMC01NDhGRENGMzA1NUZ9LlJlbGVhc2V8eDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2V8eDY0DQotCQl7OUVDNzE5MEEtMjQ5Ri00MTgwLUE5MDAtNTQ4RkRDRjMwNTVGfS5SZWxlYXNlfHg2NC5CdWlsZC4wID0gUmVsZWFzZXx4NjQNCi0JCXsxN0UxRTA0OS1DMzA5LTRENzktODQzRi1BRTQ4M0MyNjRBRUF9LkRlYnVnfFdpbjMyLkFjdGl2ZUNmZyA9IERlYnVnfFdpbjMyDQotCQl7MTdFMUUwNDktQzMwOS00RDc5LTg0M0YtQUU0ODNDMjY0QUVBfS5EZWJ1Z3xXaW4zMi5CdWlsZC4wID0gRGVidWd8V2luMzINCi0JCXsxN0UxRTA0OS1DMzA5LTRENzktODQzRi1BRTQ4M0MyNjRBRUF9LkRlYnVnfHg2NC5BY3RpdmVDZmcgPSBEZWJ1Z3x4NjQNCi0JCXsxN0UxRTA0OS1DMzA5LTRENzktODQzRi1BRTQ4M0MyNjRBRUF9LkRlYnVnfHg2NC5CdWlsZC4wID0gRGVidWd8eDY0DQotCQl7MTdFMUUwNDktQzMwOS00RDc5LTg0M0YtQUU0ODNDMjY0QUVBfS5QR0luc3RydW1lbnR8V2luMzIuQWN0aXZlQ2ZnID0gUEdJbnN0cnVtZW50fFdpbjMyDQotCQl7MTdFMUUwNDktQzMwOS00RDc5LTg0M0YtQUU0ODNDMjY0QUVBfS5QR0luc3RydW1lbnR8V2luMzIuQnVpbGQuMCA9IFBHSW5zdHJ1bWVudHxXaW4zMg0KLQkJezE3RTFFMDQ5LUMzMDktNEQ3OS04NDNGLUFFNDgzQzI2NEFFQX0uUEdJbnN0cnVtZW50fHg2NC5BY3RpdmVDZmcgPSBQR0luc3RydW1lbnR8eDY0DQotCQl7MTdFMUUwNDktQzMwOS00RDc5LTg0M0YtQUU0ODNDMjY0QUVBfS5QR0luc3RydW1lbnR8eDY0LkJ1aWxkLjAgPSBQR0luc3RydW1lbnR8eDY0DQotCQl7MTdFMUUwNDktQzMwOS00RDc5LTg0M0YtQUU0ODNDMjY0QUVBfS5QR1VwZGF0ZXxXaW4zMi5BY3RpdmVDZmcgPSBQR1VwZGF0ZXxXaW4zMg0KLQkJezE3RTFFMDQ5LUMzMDktNEQ3OS04NDNGLUFFNDgzQzI2NEFFQX0uUEdVcGRhdGV8V2luMzIuQnVpbGQuMCA9IFBHVXBkYXRlfFdpbjMyDQotCQl7MTdFMUUwNDktQzMwOS00RDc5LTg0M0YtQUU0ODNDMjY0QUVBfS5QR1VwZGF0ZXx4NjQuQWN0aXZlQ2ZnID0gUEdVcGRhdGV8eDY0DQotCQl7MTdFMUUwNDktQzMwOS00RDc5LTg0M0YtQUU0ODNDMjY0QUVBfS5QR1VwZGF0ZXx4NjQuQnVpbGQuMCA9IFBHVXBkYXRlfHg2NA0KLQkJezE3RTFFMDQ5LUMzMDktNEQ3OS04NDNGLUFFNDgzQzI2NEFFQX0uUmVsZWFzZXxXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQotCQl7MTdFMUUwNDktQzMwOS00RDc5LTg0M0YtQUU0ODNDMjY0QUVBfS5SZWxlYXNlfFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQotCQl7MTdFMUUwNDktQzMwOS00RDc5LTg0M0YtQUU0ODNDMjY0QUVBfS5SZWxlYXNlfHg2NC5BY3RpdmVDZmcgPSBSZWxlYXNlfHg2NA0KLQkJezE3RTFFMDQ5LUMzMDktNEQ3OS04NDNGLUFFNDgzQzI2NEFFQX0uUmVsZWFzZXx4NjQuQnVpbGQuMCA9IFJlbGVhc2V8eDY0DQotCQl7MzFGRkM0NzgtN0I0QS00M0U4LTk5NTQtOEQwM0UyMTg3RTlDfS5EZWJ1Z3xXaW4zMi5BY3RpdmVDZmcgPSBEZWJ1Z3xXaW4zMg0KLQkJezMxRkZDNDc4LTdCNEEtNDNFOC05OTU0LThEMDNFMjE4N0U5Q30uRGVidWd8V2luMzIuQnVpbGQuMCA9IERlYnVnfFdpbjMyDQotCQl7MzFGRkM0NzgtN0I0QS00M0U4LTk5NTQtOEQwM0UyMTg3RTlDfS5EZWJ1Z3x4NjQuQWN0aXZlQ2ZnID0gRGVidWd8eDY0DQotCQl7MzFGRkM0NzgtN0I0QS00M0U4LTk5NTQtOEQwM0UyMTg3RTlDfS5EZWJ1Z3x4NjQuQnVpbGQuMCA9IERlYnVnfHg2NA0KLQkJezMxRkZDNDc4LTdCNEEtNDNFOC05OTU0LThEMDNFMjE4N0U5Q30uUEdJbnN0cnVtZW50fFdpbjMyLkFjdGl2ZUNmZyA9IFBHSW5zdHJ1bWVudHxXaW4zMg0KLQkJezMxRkZDNDc4LTdCNEEtNDNFOC05OTU0LThEMDNFMjE4N0U5Q30uUEdJbnN0cnVtZW50fFdpbjMyLkJ1aWxkLjAgPSBQR0luc3RydW1lbnR8V2luMzINCi0JCXszMUZGQzQ3OC03QjRBLTQzRTgtOTk1NC04RDAzRTIxODdFOUN9LlBHSW5zdHJ1bWVudHx4NjQuQWN0aXZlQ2ZnID0gUEdJbnN0cnVtZW50fHg2NA0KLQkJezMxRkZDNDc4LTdCNEEtNDNFOC05OTU0LThEMDNFMjE4N0U5Q30uUEdJbnN0cnVtZW50fHg2NC5CdWlsZC4wID0gUEdJbnN0cnVtZW50fHg2NA0KLQkJezMxRkZDNDc4LTdCNEEtNDNFOC05OTU0LThEMDNFMjE4N0U5Q30uUEdVcGRhdGV8V2luMzIuQWN0aXZlQ2ZnID0gUEdVcGRhdGV8V2luMzINCi0JCXszMUZGQzQ3OC03QjRBLTQzRTgtOTk1NC04RDAzRTIxODdFOUN9LlBHVXBkYXRlfFdpbjMyLkJ1aWxkLjAgPSBQR1VwZGF0ZXxXaW4zMg0KLQkJezMxRkZDNDc4LTdCNEEtNDNFOC05OTU0LThEMDNFMjE4N0U5Q30uUEdVcGRhdGV8eDY0LkFjdGl2ZUNmZyA9IFBHVXBkYXRlfHg2NA0KLQkJezMxRkZDNDc4LTdCNEEtNDNFOC05OTU0LThEMDNFMjE4N0U5Q30uUEdVcGRhdGV8eDY0LkJ1aWxkLjAgPSBQR1VwZGF0ZXx4NjQNCi0JCXszMUZGQzQ3OC03QjRBLTQzRTgtOTk1NC04RDAzRTIxODdFOUN9LlJlbGVhc2V8V2luMzIuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KLQkJezMxRkZDNDc4LTdCNEEtNDNFOC05OTU0LThEMDNFMjE4N0U5Q30uUmVsZWFzZXxXaW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KLQkJezMxRkZDNDc4LTdCNEEtNDNFOC05OTU0LThEMDNFMjE4N0U5Q30uUmVsZWFzZXx4NjQuQWN0aXZlQ2ZnID0gUmVsZWFzZXx4NjQNCi0JCXszMUZGQzQ3OC03QjRBLTQzRTgtOTk1NC04RDAzRTIxODdFOUN9LlJlbGVhc2V8eDY0LkJ1aWxkLjAgPSBSZWxlYXNlfHg2NA0KLQkJezg2OTM3RjUzLUMxODktNDBFRi04Q0U4LTg3NTlEOEU3RDQ4MH0uRGVidWd8V2luMzIuQWN0aXZlQ2ZnID0gRGVidWd8V2luMzINCi0JCXs4NjkzN0Y1My1DMTg5LTQwRUYtOENFOC04NzU5RDhFN0Q0ODB9LkRlYnVnfFdpbjMyLkJ1aWxkLjAgPSBEZWJ1Z3xXaW4zMg0KLQkJezg2OTM3RjUzLUMxODktNDBFRi04Q0U4LTg3NTlEOEU3RDQ4MH0uRGVidWd8eDY0LkFjdGl2ZUNmZyA9IERlYnVnfHg2NA0KLQkJezg2OTM3RjUzLUMxODktNDBFRi04Q0U4LTg3NTlEOEU3RDQ4MH0uRGVidWd8eDY0LkJ1aWxkLjAgPSBEZWJ1Z3x4NjQNCi0JCXs4NjkzN0Y1My1DMTg5LTQwRUYtOENFOC04NzU5RDhFN0Q0ODB9LlBHSW5zdHJ1bWVudHxXaW4zMi5BY3RpdmVDZmcgPSBQR0luc3RydW1lbnR8V2luMzINCi0JCXs4NjkzN0Y1My1DMTg5LTQwRUYtOENFOC04NzU5RDhFN0Q0ODB9LlBHSW5zdHJ1bWVudHxXaW4zMi5CdWlsZC4wID0gUEdJbnN0cnVtZW50fFdpbjMyDQotCQl7ODY5MzdGNTMtQzE4OS00MEVGLThDRTgtODc1OUQ4RTdENDgwfS5QR0luc3RydW1lbnR8eDY0LkFjdGl2ZUNmZyA9IFBHSW5zdHJ1bWVudHx4NjQNCi0JCXs4NjkzN0Y1My1DMTg5LTQwRUYtOENFOC04NzU5RDhFN0Q0ODB9LlBHSW5zdHJ1bWVudHx4NjQuQnVpbGQuMCA9IFBHSW5zdHJ1bWVudHx4NjQNCi0JCXs4NjkzN0Y1My1DMTg5LTQwRUYtOENFOC04NzU5RDhFN0Q0ODB9LlBHVXBkYXRlfFdpbjMyLkFjdGl2ZUNmZyA9IFBHVXBkYXRlfFdpbjMyDQotCQl7ODY5MzdGNTMtQzE4OS00MEVGLThDRTgtODc1OUQ4RTdENDgwfS5QR1VwZGF0ZXxXaW4zMi5CdWlsZC4wID0gUEdVcGRhdGV8V2luMzINCi0JCXs4NjkzN0Y1My1DMTg5LTQwRUYtOENFOC04NzU5RDhFN0Q0ODB9LlBHVXBkYXRlfHg2NC5BY3RpdmVDZmcgPSBQR1VwZGF0ZXx4NjQNCi0JCXs4NjkzN0Y1My1DMTg5LTQwRUYtOENFOC04NzU5RDhFN0Q0ODB9LlBHVXBkYXRlfHg2NC5CdWlsZC4wID0gUEdVcGRhdGV8eDY0DQotCQl7ODY5MzdGNTMtQzE4OS00MEVGLThDRTgtODc1OUQ4RTdENDgwfS5SZWxlYXNlfFdpbjMyLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCi0JCXs4NjkzN0Y1My1DMTg5LTQwRUYtOENFOC04NzU5RDhFN0Q0ODB9LlJlbGVhc2V8V2luMzIuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCi0JCXs4NjkzN0Y1My1DMTg5LTQwRUYtOENFOC04NzU5RDhFN0Q0ODB9LlJlbGVhc2V8eDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2V8eDY0DQotCQl7ODY5MzdGNTMtQzE4OS00MEVGLThDRTgtODc1OUQ4RTdENDgwfS5SZWxlYXNlfHg2NC5CdWlsZC4wID0gUmVsZWFzZXx4NjQNCi0JCXsxM0NFQ0I5Ny00MTE5LTQzMTYtOUQ0Mi04NTM0MDE5QTVBNDR9LkRlYnVnfFdpbjMyLkFjdGl2ZUNmZyA9IERlYnVnfFdpbjMyDQotCQl7MTNDRUNCOTctNDExOS00MzE2LTlENDItODUzNDAxOUE1QTQ0fS5EZWJ1Z3xXaW4zMi5CdWlsZC4wID0gRGVidWd8V2luMzINCi0JCXsxM0NFQ0I5Ny00MTE5LTQzMTYtOUQ0Mi04NTM0MDE5QTVBNDR9LkRlYnVnfHg2NC5BY3RpdmVDZmcgPSBEZWJ1Z3x4NjQNCi0JCXsxM0NFQ0I5Ny00MTE5LTQzMTYtOUQ0Mi04NTM0MDE5QTVBNDR9LkRlYnVnfHg2NC5CdWlsZC4wID0gRGVidWd8eDY0DQotCQl7MTNDRUNCOTctNDExOS00MzE2LTlENDItODUzNDAxOUE1QTQ0fS5QR0luc3RydW1lbnR8V2luMzIuQWN0aXZlQ2ZnID0gUEdJbnN0cnVtZW50fFdpbjMyDQotCQl7MTNDRUNCOTctNDExOS00MzE2LTlENDItODUzNDAxOUE1QTQ0fS5QR0luc3RydW1lbnR8V2luMzIuQnVpbGQuMCA9IFBHSW5zdHJ1bWVudHxXaW4zMg0KLQkJezEzQ0VDQjk3LTQxMTktNDMxNi05RDQyLTg1MzQwMTlBNUE0NH0uUEdJbnN0cnVtZW50fHg2NC5BY3RpdmVDZmcgPSBQR0luc3RydW1lbnR8eDY0DQotCQl7MTNDRUNCOTctNDExOS00MzE2LTlENDItODUzNDAxOUE1QTQ0fS5QR0luc3RydW1lbnR8eDY0LkJ1aWxkLjAgPSBQR0luc3RydW1lbnR8eDY0DQotCQl7MTNDRUNCOTctNDExOS00MzE2LTlENDItODUzNDAxOUE1QTQ0fS5QR1VwZGF0ZXxXaW4zMi5BY3RpdmVDZmcgPSBQR1VwZGF0ZXxXaW4zMg0KLQkJezEzQ0VDQjk3LTQxMTktNDMxNi05RDQyLTg1MzQwMTlBNUE0NH0uUEdVcGRhdGV8V2luMzIuQnVpbGQuMCA9IFBHVXBkYXRlfFdpbjMyDQotCQl7MTNDRUNCOTctNDExOS00MzE2LTlENDItODUzNDAxOUE1QTQ0fS5QR1VwZGF0ZXx4NjQuQWN0aXZlQ2ZnID0gUEdVcGRhdGV8eDY0DQotCQl7MTNDRUNCOTctNDExOS00MzE2LTlENDItODUzNDAxOUE1QTQ0fS5QR1VwZGF0ZXx4NjQuQnVpbGQuMCA9IFBHVXBkYXRlfHg2NA0KLQkJezEzQ0VDQjk3LTQxMTktNDMxNi05RDQyLTg1MzQwMTlBNUE0NH0uUmVsZWFzZXxXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQotCQl7MTNDRUNCOTctNDExOS00MzE2LTlENDItODUzNDAxOUE1QTQ0fS5SZWxlYXNlfFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQotCQl7MTNDRUNCOTctNDExOS00MzE2LTlENDItODUzNDAxOUE1QTQ0fS5SZWxlYXNlfHg2NC5BY3RpdmVDZmcgPSBSZWxlYXNlfHg2NA0KLQkJezEzQ0VDQjk3LTQxMTktNDMxNi05RDQyLTg1MzQwMTlBNUE0NH0uUmVsZWFzZXx4NjQuQnVpbGQuMCA9IFJlbGVhc2V8eDY0DQotCQl7QzZFMjBGODQtMzI0Ny00QUQ2LUIwNTEtQjA3MzI2OEY3M0JBfS5EZWJ1Z3xXaW4zMi5BY3RpdmVDZmcgPSBEZWJ1Z3xXaW4zMg0KLQkJe0M2RTIwRjg0LTMyNDctNEFENi1CMDUxLUIwNzMyNjhGNzNCQX0uRGVidWd8V2luMzIuQnVpbGQuMCA9IERlYnVnfFdpbjMyDQotCQl7QzZFMjBGODQtMzI0Ny00QUQ2LUIwNTEtQjA3MzI2OEY3M0JBfS5EZWJ1Z3x4NjQuQWN0aXZlQ2ZnID0gRGVidWd8eDY0DQotCQl7QzZFMjBGODQtMzI0Ny00QUQ2LUIwNTEtQjA3MzI2OEY3M0JBfS5EZWJ1Z3x4NjQuQnVpbGQuMCA9IERlYnVnfHg2NA0KLQkJe0M2RTIwRjg0LTMyNDctNEFENi1CMDUxLUIwNzMyNjhGNzNCQX0uUEdJbnN0cnVtZW50fFdpbjMyLkFjdGl2ZUNmZyA9IFBHSW5zdHJ1bWVudHxXaW4zMg0KLQkJe0M2RTIwRjg0LTMyNDctNEFENi1CMDUxLUIwNzMyNjhGNzNCQX0uUEdJbnN0cnVtZW50fFdpbjMyLkJ1aWxkLjAgPSBQR0luc3RydW1lbnR8V2luMzINCi0JCXtDNkUyMEY4NC0zMjQ3LTRBRDYtQjA1MS1CMDczMjY4RjczQkF9LlBHSW5zdHJ1bWVudHx4NjQuQWN0aXZlQ2ZnID0gUEdJbnN0cnVtZW50fHg2NA0KLQkJe0M2RTIwRjg0LTMyNDctNEFENi1CMDUxLUIwNzMyNjhGNzNCQX0uUEdJbnN0cnVtZW50fHg2NC5CdWlsZC4wID0gUEdJbnN0cnVtZW50fHg2NA0KLQkJe0M2RTIwRjg0LTMyNDctNEFENi1CMDUxLUIwNzMyNjhGNzNCQX0uUEdVcGRhdGV8V2luMzIuQWN0aXZlQ2ZnID0gUEdVcGRhdGV8V2luMzINCi0JCXtDNkUyMEY4NC0zMjQ3LTRBRDYtQjA1MS1CMDczMjY4RjczQkF9LlBHVXBkYXRlfFdpbjMyLkJ1aWxkLjAgPSBQR1VwZGF0ZXxXaW4zMg0KLQkJe0M2RTIwRjg0LTMyNDctNEFENi1CMDUxLUIwNzMyNjhGNzNCQX0uUEdVcGRhdGV8eDY0LkFjdGl2ZUNmZyA9IFBHVXBkYXRlfHg2NA0KLQkJe0M2RTIwRjg0LTMyNDctNEFENi1CMDUxLUIwNzMyNjhGNzNCQX0uUEdVcGRhdGV8eDY0LkJ1aWxkLjAgPSBQR1VwZGF0ZXx4NjQNCi0JCXtDNkUyMEY4NC0zMjQ3LTRBRDYtQjA1MS1CMDczMjY4RjczQkF9LlJlbGVhc2V8V2luMzIuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KLQkJe0M2RTIwRjg0LTMyNDctNEFENi1CMDUxLUIwNzMyNjhGNzNCQX0uUmVsZWFzZXxXaW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KLQkJe0M2RTIwRjg0LTMyNDctNEFENi1CMDUxLUIwNzMyNjhGNzNCQX0uUmVsZWFzZXx4NjQuQWN0aXZlQ2ZnID0gUmVsZWFzZXx4NjQNCi0JCXtDNkUyMEY4NC0zMjQ3LTRBRDYtQjA1MS1CMDczMjY4RjczQkF9LlJlbGVhc2V8eDY0LkJ1aWxkLjAgPSBSZWxlYXNlfHg2NA0KLQkJezY5MDFEOTFDLTZFNDgtNEJCNy05RkVDLTcwMEM4MTMxREYxRH0uRGVidWd8V2luMzIuQWN0aXZlQ2ZnID0gRGVidWd8V2luMzINCi0JCXs2OTAxRDkxQy02RTQ4LTRCQjctOUZFQy03MDBDODEzMURGMUR9LkRlYnVnfFdpbjMyLkJ1aWxkLjAgPSBEZWJ1Z3xXaW4zMg0KLQkJezY5MDFEOTFDLTZFNDgtNEJCNy05RkVDLTcwMEM4MTMxREYxRH0uRGVidWd8eDY0LkFjdGl2ZUNmZyA9IERlYnVnfHg2NA0KLQkJezY5MDFEOTFDLTZFNDgtNEJCNy05RkVDLTcwMEM4MTMxREYxRH0uRGVidWd8eDY0LkJ1aWxkLjAgPSBEZWJ1Z3x4NjQNCi0JCXs2OTAxRDkxQy02RTQ4LTRCQjctOUZFQy03MDBDODEzMURGMUR9LlBHSW5zdHJ1bWVudHxXaW4zMi5BY3RpdmVDZmcgPSBQR0luc3RydW1lbnR8V2luMzINCi0JCXs2OTAxRDkxQy02RTQ4LTRCQjctOUZFQy03MDBDODEzMURGMUR9LlBHSW5zdHJ1bWVudHxXaW4zMi5CdWlsZC4wID0gUEdJbnN0cnVtZW50fFdpbjMyDQotCQl7NjkwMUQ5MUMtNkU0OC00QkI3LTlGRUMtNzAwQzgxMzFERjFEfS5QR0luc3RydW1lbnR8eDY0LkFjdGl2ZUNmZyA9IFBHSW5zdHJ1bWVudHx4NjQNCi0JCXs2OTAxRDkxQy02RTQ4LTRCQjctOUZFQy03MDBDODEzMURGMUR9LlBHSW5zdHJ1bWVudHx4NjQuQnVpbGQuMCA9IFBHSW5zdHJ1bWVudHx4NjQNCi0JCXs2OTAxRDkxQy02RTQ4LTRCQjctOUZFQy03MDBDODEzMURGMUR9LlBHVXBkYXRlfFdpbjMyLkFjdGl2ZUNmZyA9IFBHVXBkYXRlfFdpbjMyDQotCQl7NjkwMUQ5MUMtNkU0OC00QkI3LTlGRUMtNzAwQzgxMzFERjFEfS5QR1VwZGF0ZXxXaW4zMi5CdWlsZC4wID0gUEdVcGRhdGV8V2luMzINCi0JCXs2OTAxRDkxQy02RTQ4LTRCQjctOUZFQy03MDBDODEzMURGMUR9LlBHVXBkYXRlfHg2NC5BY3RpdmVDZmcgPSBQR1VwZGF0ZXx4NjQNCi0JCXs2OTAxRDkxQy02RTQ4LTRCQjctOUZFQy03MDBDODEzMURGMUR9LlBHVXBkYXRlfHg2NC5CdWlsZC4wID0gUEdVcGRhdGV8eDY0DQotCQl7NjkwMUQ5MUMtNkU0OC00QkI3LTlGRUMtNzAwQzgxMzFERjFEfS5SZWxlYXNlfFdpbjMyLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCi0JCXs2OTAxRDkxQy02RTQ4LTRCQjctOUZFQy03MDBDODEzMURGMUR9LlJlbGVhc2V8V2luMzIuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCi0JCXs2OTAxRDkxQy02RTQ4LTRCQjctOUZFQy03MDBDODEzMURGMUR9LlJlbGVhc2V8eDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2V8eDY0DQotCQl7NjkwMUQ5MUMtNkU0OC00QkI3LTlGRUMtNzAwQzgxMzFERjFEfS5SZWxlYXNlfHg2NC5CdWlsZC4wID0gUmVsZWFzZXx4NjQNCi0JCXszNkQwQzUyQy1ERjRFLTQ1RDAtOEJDNy1FMjk0QzNBQkM3ODF9LkRlYnVnfFdpbjMyLkFjdGl2ZUNmZyA9IERlYnVnfFdpbjMyDQotCQl7MzZEMEM1MkMtREY0RS00NUQwLThCQzctRTI5NEMzQUJDNzgxfS5EZWJ1Z3xXaW4zMi5CdWlsZC4wID0gRGVidWd8V2luMzINCi0JCXszNkQwQzUyQy1ERjRFLTQ1RDAtOEJDNy1FMjk0QzNBQkM3ODF9LkRlYnVnfHg2NC5BY3RpdmVDZmcgPSBEZWJ1Z3x4NjQNCi0JCXszNkQwQzUyQy1ERjRFLTQ1RDAtOEJDNy1FMjk0QzNBQkM3ODF9LkRlYnVnfHg2NC5CdWlsZC4wID0gRGVidWd8eDY0DQotCQl7MzZEMEM1MkMtREY0RS00NUQwLThCQzctRTI5NEMzQUJDNzgxfS5QR0luc3RydW1lbnR8V2luMzIuQWN0aXZlQ2ZnID0gUEdJbnN0cnVtZW50fFdpbjMyDQotCQl7MzZEMEM1MkMtREY0RS00NUQwLThCQzctRTI5NEMzQUJDNzgxfS5QR0luc3RydW1lbnR8V2luMzIuQnVpbGQuMCA9IFBHSW5zdHJ1bWVudHxXaW4zMg0KLQkJezM2RDBDNTJDLURGNEUtNDVEMC04QkM3LUUyOTRDM0FCQzc4MX0uUEdJbnN0cnVtZW50fHg2NC5BY3RpdmVDZmcgPSBQR0luc3RydW1lbnR8eDY0DQotCQl7MzZEMEM1MkMtREY0RS00NUQwLThCQzctRTI5NEMzQUJDNzgxfS5QR0luc3RydW1lbnR8eDY0LkJ1aWxkLjAgPSBQR0luc3RydW1lbnR8eDY0DQotCQl7MzZEMEM1MkMtREY0RS00NUQwLThCQzctRTI5NEMzQUJDNzgxfS5QR1VwZGF0ZXxXaW4zMi5BY3RpdmVDZmcgPSBQR1VwZGF0ZXxXaW4zMg0KLQkJezM2RDBDNTJDLURGNEUtNDVEMC04QkM3LUUyOTRDM0FCQzc4MX0uUEdVcGRhdGV8V2luMzIuQnVpbGQuMCA9IFBHVXBkYXRlfFdpbjMyDQotCQl7MzZEMEM1MkMtREY0RS00NUQwLThCQzctRTI5NEMzQUJDNzgxfS5QR1VwZGF0ZXx4NjQuQWN0aXZlQ2ZnID0gUEdVcGRhdGV8eDY0DQotCQl7MzZEMEM1MkMtREY0RS00NUQwLThCQzctRTI5NEMzQUJDNzgxfS5QR1VwZGF0ZXx4NjQuQnVpbGQuMCA9IFBHVXBkYXRlfHg2NA0KLQkJezM2RDBDNTJDLURGNEUtNDVEMC04QkM3LUUyOTRDM0FCQzc4MX0uUmVsZWFzZXxXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQotCQl7MzZEMEM1MkMtREY0RS00NUQwLThCQzctRTI5NEMzQUJDNzgxfS5SZWxlYXNlfFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQotCQl7MzZEMEM1MkMtREY0RS00NUQwLThCQzctRTI5NEMzQUJDNzgxfS5SZWxlYXNlfHg2NC5BY3RpdmVDZmcgPSBSZWxlYXNlfHg2NA0KLQkJezM2RDBDNTJDLURGNEUtNDVEMC04QkM3LUUyOTRDM0FCQzc4MX0uUmVsZWFzZXx4NjQuQnVpbGQuMCA9IFJlbGVhc2V8eDY0DQotCQl7NDk0NkVDQUMtMkU2OS00QkY4LUE5MEEtRjUxMzZGNTA5NERGfS5EZWJ1Z3xXaW4zMi5BY3RpdmVDZmcgPSBEZWJ1Z3xXaW4zMg0KLQkJezQ5NDZFQ0FDLTJFNjktNEJGOC1BOTBBLUY1MTM2RjUwOTRERn0uRGVidWd8V2luMzIuQnVpbGQuMCA9IERlYnVnfFdpbjMyDQotCQl7NDk0NkVDQUMtMkU2OS00QkY4LUE5MEEtRjUxMzZGNTA5NERGfS5EZWJ1Z3x4NjQuQWN0aXZlQ2ZnID0gRGVidWd8eDY0DQotCQl7NDk0NkVDQUMtMkU2OS00QkY4LUE5MEEtRjUxMzZGNTA5NERGfS5EZWJ1Z3x4NjQuQnVpbGQuMCA9IERlYnVnfHg2NA0KLQkJezQ5NDZFQ0FDLTJFNjktNEJGOC1BOTBBLUY1MTM2RjUwOTRERn0uUEdJbnN0cnVtZW50fFdpbjMyLkFjdGl2ZUNmZyA9IFBHSW5zdHJ1bWVudHxXaW4zMg0KLQkJezQ5NDZFQ0FDLTJFNjktNEJGOC1BOTBBLUY1MTM2RjUwOTRERn0uUEdJbnN0cnVtZW50fFdpbjMyLkJ1aWxkLjAgPSBQR0luc3RydW1lbnR8V2luMzINCi0JCXs0OTQ2RUNBQy0yRTY5LTRCRjgtQTkwQS1GNTEzNkY1MDk0REZ9LlBHSW5zdHJ1bWVudHx4NjQuQWN0aXZlQ2ZnID0gUEdJbnN0cnVtZW50fHg2NA0KLQkJezQ5NDZFQ0FDLTJFNjktNEJGOC1BOTBBLUY1MTM2RjUwOTRERn0uUEdJbnN0cnVtZW50fHg2NC5CdWlsZC4wID0gUEdJbnN0cnVtZW50fHg2NA0KLQkJezQ5NDZFQ0FDLTJFNjktNEJGOC1BOTBBLUY1MTM2RjUwOTRERn0uUEdVcGRhdGV8V2luMzIuQWN0aXZlQ2ZnID0gUEdVcGRhdGV8V2luMzINCi0JCXs0OTQ2RUNBQy0yRTY5LTRCRjgtQTkwQS1GNTEzNkY1MDk0REZ9LlBHVXBkYXRlfFdpbjMyLkJ1aWxkLjAgPSBQR1VwZGF0ZXxXaW4zMg0KLQkJezQ5NDZFQ0FDLTJFNjktNEJGOC1BOTBBLUY1MTM2RjUwOTRERn0uUEdVcGRhdGV8eDY0LkFjdGl2ZUNmZyA9IFBHVXBkYXRlfHg2NA0KLQkJezQ5NDZFQ0FDLTJFNjktNEJGOC1BOTBBLUY1MTM2RjUwOTRERn0uUEdVcGRhdGV8eDY0LkJ1aWxkLjAgPSBQR1VwZGF0ZXx4NjQNCi0JCXs0OTQ2RUNBQy0yRTY5LTRCRjgtQTkwQS1GNTEzNkY1MDk0REZ9LlJlbGVhc2V8V2luMzIuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KLQkJezQ5NDZFQ0FDLTJFNjktNEJGOC1BOTBBLUY1MTM2RjUwOTRERn0uUmVsZWFzZXxXaW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KLQkJezQ5NDZFQ0FDLTJFNjktNEJGOC1BOTBBLUY1MTM2RjUwOTRERn0uUmVsZWFzZXx4NjQuQWN0aXZlQ2ZnID0gUmVsZWFzZXx4NjQNCi0JCXs0OTQ2RUNBQy0yRTY5LTRCRjgtQTkwQS1GNTEzNkY1MDk0REZ9LlJlbGVhc2V8eDY0LkJ1aWxkLjAgPSBSZWxlYXNlfHg2NA0KLQkJezczRkNEMkJELUYxMzMtNDZCNy04RUMxLTE0NENEODJBNTlENX0uRGVidWd8V2luMzIuQWN0aXZlQ2ZnID0gRGVidWd8V2luMzINCi0JCXs3M0ZDRDJCRC1GMTMzLTQ2QjctOEVDMS0xNDRDRDgyQTU5RDV9LkRlYnVnfFdpbjMyLkJ1aWxkLjAgPSBEZWJ1Z3xXaW4zMg0KLQkJezczRkNEMkJELUYxMzMtNDZCNy04RUMxLTE0NENEODJBNTlENX0uRGVidWd8eDY0LkFjdGl2ZUNmZyA9IERlYnVnfHg2NA0KLQkJezczRkNEMkJELUYxMzMtNDZCNy04RUMxLTE0NENEODJBNTlENX0uRGVidWd8eDY0LkJ1aWxkLjAgPSBEZWJ1Z3x4NjQNCi0JCXs3M0ZDRDJCRC1GMTMzLTQ2QjctOEVDMS0xNDRDRDgyQTU5RDV9LlBHSW5zdHJ1bWVudHxXaW4zMi5BY3RpdmVDZmcgPSBQR0luc3RydW1lbnR8V2luMzINCi0JCXs3M0ZDRDJCRC1GMTMzLTQ2QjctOEVDMS0xNDRDRDgyQTU5RDV9LlBHSW5zdHJ1bWVudHxXaW4zMi5CdWlsZC4wID0gUEdJbnN0cnVtZW50fFdpbjMyDQotCQl7NzNGQ0QyQkQtRjEzMy00NkI3LThFQzEtMTQ0Q0Q4MkE1OUQ1fS5QR0luc3RydW1lbnR8eDY0LkFjdGl2ZUNmZyA9IFBHSW5zdHJ1bWVudHx4NjQNCi0JCXs3M0ZDRDJCRC1GMTMzLTQ2QjctOEVDMS0xNDRDRDgyQTU5RDV9LlBHSW5zdHJ1bWVudHx4NjQuQnVpbGQuMCA9IFBHSW5zdHJ1bWVudHx4NjQNCi0JCXs3M0ZDRDJCRC1GMTMzLTQ2QjctOEVDMS0xNDRDRDgyQTU5RDV9LlBHVXBkYXRlfFdpbjMyLkFjdGl2ZUNmZyA9IFBHVXBkYXRlfFdpbjMyDQotCQl7NzNGQ0QyQkQtRjEzMy00NkI3LThFQzEtMTQ0Q0Q4MkE1OUQ1fS5QR1VwZGF0ZXxXaW4zMi5CdWlsZC4wID0gUEdVcGRhdGV8V2luMzINCi0JCXs3M0ZDRDJCRC1GMTMzLTQ2QjctOEVDMS0xNDRDRDgyQTU5RDV9LlBHVXBkYXRlfHg2NC5BY3RpdmVDZmcgPSBQR1VwZGF0ZXx4NjQNCi0JCXs3M0ZDRDJCRC1GMTMzLTQ2QjctOEVDMS0xNDRDRDgyQTU5RDV9LlBHVXBkYXRlfHg2NC5CdWlsZC4wID0gUEdVcGRhdGV8eDY0DQotCQl7NzNGQ0QyQkQtRjEzMy00NkI3LThFQzEtMTQ0Q0Q4MkE1OUQ1fS5SZWxlYXNlfFdpbjMyLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCi0JCXs3M0ZDRDJCRC1GMTMzLTQ2QjctOEVDMS0xNDRDRDgyQTU5RDV9LlJlbGVhc2V8V2luMzIuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCi0JCXs3M0ZDRDJCRC1GMTMzLTQ2QjctOEVDMS0xNDRDRDgyQTU5RDV9LlJlbGVhc2V8eDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2V8eDY0DQotCQl7NzNGQ0QyQkQtRjEzMy00NkI3LThFQzEtMTQ0Q0Q4MkE1OUQ1fS5SZWxlYXNlfHg2NC5CdWlsZC4wID0gUmVsZWFzZXx4NjQNCi0JCXtGOUQ3MTc4MC1GMzkzLTExRTAtQkU1MC0wODAwMjAwQzlBNjZ9LkRlYnVnfFdpbjMyLkFjdGl2ZUNmZyA9IERlYnVnfFdpbjMyDQotCQl7RjlENzE3ODAtRjM5My0xMUUwLUJFNTAtMDgwMDIwMEM5QTY2fS5EZWJ1Z3xXaW4zMi5CdWlsZC4wID0gRGVidWd8V2luMzINCi0JCXtGOUQ3MTc4MC1GMzkzLTExRTAtQkU1MC0wODAwMjAwQzlBNjZ9LkRlYnVnfHg2NC5BY3RpdmVDZmcgPSBEZWJ1Z3x4NjQNCi0JCXtGOUQ3MTc4MC1GMzkzLTExRTAtQkU1MC0wODAwMjAwQzlBNjZ9LkRlYnVnfHg2NC5CdWlsZC4wID0gRGVidWd8eDY0DQotCQl7RjlENzE3ODAtRjM5My0xMUUwLUJFNTAtMDgwMDIwMEM5QTY2fS5QR0luc3RydW1lbnR8V2luMzIuQWN0aXZlQ2ZnID0gUEdJbnN0cnVtZW50fFdpbjMyDQotCQl7RjlENzE3ODAtRjM5My0xMUUwLUJFNTAtMDgwMDIwMEM5QTY2fS5QR0luc3RydW1lbnR8V2luMzIuQnVpbGQuMCA9IFBHSW5zdHJ1bWVudHxXaW4zMg0KLQkJe0Y5RDcxNzgwLUYzOTMtMTFFMC1CRTUwLTA4MDAyMDBDOUE2Nn0uUEdJbnN0cnVtZW50fHg2NC5BY3RpdmVDZmcgPSBQR0luc3RydW1lbnR8eDY0DQotCQl7RjlENzE3ODAtRjM5My0xMUUwLUJFNTAtMDgwMDIwMEM5QTY2fS5QR0luc3RydW1lbnR8eDY0LkJ1aWxkLjAgPSBQR0luc3RydW1lbnR8eDY0DQotCQl7RjlENzE3ODAtRjM5My0xMUUwLUJFNTAtMDgwMDIwMEM5QTY2fS5QR1VwZGF0ZXxXaW4zMi5BY3RpdmVDZmcgPSBQR1VwZGF0ZXxXaW4zMg0KLQkJe0Y5RDcxNzgwLUYzOTMtMTFFMC1CRTUwLTA4MDAyMDBDOUE2Nn0uUEdVcGRhdGV8V2luMzIuQnVpbGQuMCA9IFBHVXBkYXRlfFdpbjMyDQotCQl7RjlENzE3ODAtRjM5My0xMUUwLUJFNTAtMDgwMDIwMEM5QTY2fS5QR1VwZGF0ZXx4NjQuQWN0aXZlQ2ZnID0gUEdVcGRhdGV8eDY0DQotCQl7RjlENzE3ODAtRjM5My0xMUUwLUJFNTAtMDgwMDIwMEM5QTY2fS5QR1VwZGF0ZXx4NjQuQnVpbGQuMCA9IFBHVXBkYXRlfHg2NA0KLQkJe0Y5RDcxNzgwLUYzOTMtMTFFMC1CRTUwLTA4MDAyMDBDOUE2Nn0uUmVsZWFzZXxXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQotCQl7RjlENzE3ODAtRjM5My0xMUUwLUJFNTAtMDgwMDIwMEM5QTY2fS5SZWxlYXNlfFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQotCQl7RjlENzE3ODAtRjM5My0xMUUwLUJFNTAtMDgwMDIwMEM5QTY2fS5SZWxlYXNlfHg2NC5BY3RpdmVDZmcgPSBSZWxlYXNlfHg2NA0KLQkJe0Y5RDcxNzgwLUYzOTMtMTFFMC1CRTUwLTA4MDAyMDBDOUE2Nn0uUmVsZWFzZXx4NjQuQnVpbGQuMCA9IFJlbGVhc2V8eDY0DQotCQl7MThDQUUyOEMtQjQ1NC00NkMxLTg3QTAtNDkzRDkxRDk3RjAzfS5EZWJ1Z3xXaW4zMi5BY3RpdmVDZmcgPSBEZWJ1Z3xXaW4zMg0KLQkJezE4Q0FFMjhDLUI0NTQtNDZDMS04N0EwLTQ5M0Q5MUQ5N0YwM30uRGVidWd8V2luMzIuQnVpbGQuMCA9IERlYnVnfFdpbjMyDQotCQl7MThDQUUyOEMtQjQ1NC00NkMxLTg3QTAtNDkzRDkxRDk3RjAzfS5EZWJ1Z3x4NjQuQWN0aXZlQ2ZnID0gRGVidWd8eDY0DQotCQl7MThDQUUyOEMtQjQ1NC00NkMxLTg3QTAtNDkzRDkxRDk3RjAzfS5EZWJ1Z3x4NjQuQnVpbGQuMCA9IERlYnVnfHg2NA0KLQkJezE4Q0FFMjhDLUI0NTQtNDZDMS04N0EwLTQ5M0Q5MUQ5N0YwM30uUEdJbnN0cnVtZW50fFdpbjMyLkFjdGl2ZUNmZyA9IFBHSW5zdHJ1bWVudHxXaW4zMg0KLQkJezE4Q0FFMjhDLUI0NTQtNDZDMS04N0EwLTQ5M0Q5MUQ5N0YwM30uUEdJbnN0cnVtZW50fFdpbjMyLkJ1aWxkLjAgPSBQR0luc3RydW1lbnR8V2luMzINCi0JCXsxOENBRTI4Qy1CNDU0LTQ2QzEtODdBMC00OTNEOTFEOTdGMDN9LlBHSW5zdHJ1bWVudHx4NjQuQWN0aXZlQ2ZnID0gUEdJbnN0cnVtZW50fHg2NA0KLQkJezE4Q0FFMjhDLUI0NTQtNDZDMS04N0EwLTQ5M0Q5MUQ5N0YwM30uUEdJbnN0cnVtZW50fHg2NC5CdWlsZC4wID0gUEdJbnN0cnVtZW50fHg2NA0KLQkJezE4Q0FFMjhDLUI0NTQtNDZDMS04N0EwLTQ5M0Q5MUQ5N0YwM30uUEdVcGRhdGV8V2luMzIuQWN0aXZlQ2ZnID0gUEdVcGRhdGV8V2luMzINCi0JCXsxOENBRTI4Qy1CNDU0LTQ2QzEtODdBMC00OTNEOTFEOTdGMDN9LlBHVXBkYXRlfFdpbjMyLkJ1aWxkLjAgPSBQR1VwZGF0ZXxXaW4zMg0KLQkJezE4Q0FFMjhDLUI0NTQtNDZDMS04N0EwLTQ5M0Q5MUQ5N0YwM30uUEdVcGRhdGV8eDY0LkFjdGl2ZUNmZyA9IFBHVXBkYXRlfHg2NA0KLQkJezE4Q0FFMjhDLUI0NTQtNDZDMS04N0EwLTQ5M0Q5MUQ5N0YwM30uUEdVcGRhdGV8eDY0LkJ1aWxkLjAgPSBQR1VwZGF0ZXx4NjQNCi0JCXsxOENBRTI4Qy1CNDU0LTQ2QzEtODdBMC00OTNEOTFEOTdGMDN9LlJlbGVhc2V8V2luMzIuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KLQkJezE4Q0FFMjhDLUI0NTQtNDZDMS04N0EwLTQ5M0Q5MUQ5N0YwM30uUmVsZWFzZXxXaW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KLQkJezE4Q0FFMjhDLUI0NTQtNDZDMS04N0EwLTQ5M0Q5MUQ5N0YwM30uUmVsZWFzZXx4NjQuQWN0aXZlQ2ZnID0gUmVsZWFzZXx4NjQNCi0JCXsxOENBRTI4Qy1CNDU0LTQ2QzEtODdBMC00OTNEOTFEOTdGMDN9LlJlbGVhc2V8eDY0LkJ1aWxkLjAgPSBSZWxlYXNlfHg2NA0KLQkJe0VDQzdDRUFDLUE1RTUtNDU4RS1CQjlFLTI0MTNDQzg0Nzg4MX0uRGVidWd8V2luMzIuQWN0aXZlQ2ZnID0gRGVidWd8V2luMzINCi0JCXtFQ0M3Q0VBQy1BNUU1LTQ1OEUtQkI5RS0yNDEzQ0M4NDc4ODF9LkRlYnVnfFdpbjMyLkJ1aWxkLjAgPSBEZWJ1Z3xXaW4zMg0KLQkJe0VDQzdDRUFDLUE1RTUtNDU4RS1CQjlFLTI0MTNDQzg0Nzg4MX0uRGVidWd8eDY0LkFjdGl2ZUNmZyA9IERlYnVnfHg2NA0KLQkJe0VDQzdDRUFDLUE1RTUtNDU4RS1CQjlFLTI0MTNDQzg0Nzg4MX0uRGVidWd8eDY0LkJ1aWxkLjAgPSBEZWJ1Z3x4NjQNCi0JCXtFQ0M3Q0VBQy1BNUU1LTQ1OEUtQkI5RS0yNDEzQ0M4NDc4ODF9LlBHSW5zdHJ1bWVudHxXaW4zMi5BY3RpdmVDZmcgPSBQR0luc3RydW1lbnR8V2luMzINCi0JCXtFQ0M3Q0VBQy1BNUU1LTQ1OEUtQkI5RS0yNDEzQ0M4NDc4ODF9LlBHSW5zdHJ1bWVudHxXaW4zMi5CdWlsZC4wID0gUEdJbnN0cnVtZW50fFdpbjMyDQotCQl7RUNDN0NFQUMtQTVFNS00NThFLUJCOUUtMjQxM0NDODQ3ODgxfS5QR0luc3RydW1lbnR8eDY0LkFjdGl2ZUNmZyA9IFBHSW5zdHJ1bWVudHx4NjQNCi0JCXtFQ0M3Q0VBQy1BNUU1LTQ1OEUtQkI5RS0yNDEzQ0M4NDc4ODF9LlBHSW5zdHJ1bWVudHx4NjQuQnVpbGQuMCA9IFBHSW5zdHJ1bWVudHx4NjQNCi0JCXtFQ0M3Q0VBQy1BNUU1LTQ1OEUtQkI5RS0yNDEzQ0M4NDc4ODF9LlBHVXBkYXRlfFdpbjMyLkFjdGl2ZUNmZyA9IFBHVXBkYXRlfFdpbjMyDQotCQl7RUNDN0NFQUMtQTVFNS00NThFLUJCOUUtMjQxM0NDODQ3ODgxfS5QR1VwZGF0ZXxXaW4zMi5CdWlsZC4wID0gUEdVcGRhdGV8V2luMzINCi0JCXtFQ0M3Q0VBQy1BNUU1LTQ1OEUtQkI5RS0yNDEzQ0M4NDc4ODF9LlBHVXBkYXRlfHg2NC5BY3RpdmVDZmcgPSBQR1VwZGF0ZXx4NjQNCi0JCXtFQ0M3Q0VBQy1BNUU1LTQ1OEUtQkI5RS0yNDEzQ0M4NDc4ODF9LlBHVXBkYXRlfHg2NC5CdWlsZC4wID0gUEdVcGRhdGV8eDY0DQotCQl7RUNDN0NFQUMtQTVFNS00NThFLUJCOUUtMjQxM0NDODQ3ODgxfS5SZWxlYXNlfFdpbjMyLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCi0JCXtFQ0M3Q0VBQy1BNUU1LTQ1OEUtQkI5RS0yNDEzQ0M4NDc4ODF9LlJlbGVhc2V8V2luMzIuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCi0JCXtFQ0M3Q0VBQy1BNUU1LTQ1OEUtQkI5RS0yNDEzQ0M4NDc4ODF9LlJlbGVhc2V8eDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2V8eDY0DQotCQl7RUNDN0NFQUMtQTVFNS00NThFLUJCOUUtMjQxM0NDODQ3ODgxfS5SZWxlYXNlfHg2NC5CdWlsZC4wID0gUmVsZWFzZXx4NjQNCi0JCXtEMDZCNjQyNi00NzYyLTQ0Q0MtOEJBRC1ENzkwNTI1MDdGMkZ9LkRlYnVnfFdpbjMyLkFjdGl2ZUNmZyA9IERlYnVnfFdpbjMyDQotCQl7RDA2QjY0MjYtNDc2Mi00NENDLThCQUQtRDc5MDUyNTA3RjJGfS5EZWJ1Z3xXaW4zMi5CdWlsZC4wID0gRGVidWd8V2luMzINCi0JCXtEMDZCNjQyNi00NzYyLTQ0Q0MtOEJBRC1ENzkwNTI1MDdGMkZ9LkRlYnVnfHg2NC5BY3RpdmVDZmcgPSBEZWJ1Z3x4NjQNCi0JCXtEMDZCNjQyNi00NzYyLTQ0Q0MtOEJBRC1ENzkwNTI1MDdGMkZ9LkRlYnVnfHg2NC5CdWlsZC4wID0gRGVidWd8eDY0DQotCQl7RDA2QjY0MjYtNDc2Mi00NENDLThCQUQtRDc5MDUyNTA3RjJGfS5QR0luc3RydW1lbnR8V2luMzIuQWN0aXZlQ2ZnID0gUEdJbnN0cnVtZW50fFdpbjMyDQotCQl7RDA2QjY0MjYtNDc2Mi00NENDLThCQUQtRDc5MDUyNTA3RjJGfS5QR0luc3RydW1lbnR8V2luMzIuQnVpbGQuMCA9IFBHSW5zdHJ1bWVudHxXaW4zMg0KLQkJe0QwNkI2NDI2LTQ3NjItNDRDQy04QkFELUQ3OTA1MjUwN0YyRn0uUEdJbnN0cnVtZW50fHg2NC5BY3RpdmVDZmcgPSBQR0luc3RydW1lbnR8eDY0DQotCQl7RDA2QjY0MjYtNDc2Mi00NENDLThCQUQtRDc5MDUyNTA3RjJGfS5QR0luc3RydW1lbnR8eDY0LkJ1aWxkLjAgPSBQR0luc3RydW1lbnR8eDY0DQotCQl7RDA2QjY0MjYtNDc2Mi00NENDLThCQUQtRDc5MDUyNTA3RjJGfS5QR1VwZGF0ZXxXaW4zMi5BY3RpdmVDZmcgPSBQR1VwZGF0ZXxXaW4zMg0KLQkJe0QwNkI2NDI2LTQ3NjItNDRDQy04QkFELUQ3OTA1MjUwN0YyRn0uUEdVcGRhdGV8V2luMzIuQnVpbGQuMCA9IFBHVXBkYXRlfFdpbjMyDQotCQl7RDA2QjY0MjYtNDc2Mi00NENDLThCQUQtRDc5MDUyNTA3RjJGfS5QR1VwZGF0ZXx4NjQuQWN0aXZlQ2ZnID0gUEdVcGRhdGV8eDY0DQotCQl7RDA2QjY0MjYtNDc2Mi00NENDLThCQUQtRDc5MDUyNTA3RjJGfS5QR1VwZGF0ZXx4NjQuQnVpbGQuMCA9IFBHVXBkYXRlfHg2NA0KLQkJe0QwNkI2NDI2LTQ3NjItNDRDQy04QkFELUQ3OTA1MjUwN0YyRn0uUmVsZWFzZXxXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQotCQl7RDA2QjY0MjYtNDc2Mi00NENDLThCQUQtRDc5MDUyNTA3RjJGfS5SZWxlYXNlfFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQotCQl7RDA2QjY0MjYtNDc2Mi00NENDLThCQUQtRDc5MDUyNTA3RjJGfS5SZWxlYXNlfHg2NC5BY3RpdmVDZmcgPSBSZWxlYXNlfHg2NA0KLQkJe0QwNkI2NDI2LTQ3NjItNDRDQy04QkFELUQ3OTA1MjUwN0YyRn0uUmVsZWFzZXx4NjQuQnVpbGQuMCA9IFJlbGVhc2V8eDY0DQotCQl7RUIxQzE5QzEtMUYxOC00MjFFLTk3MzUtQ0FFRTY5REM2QTNDfS5EZWJ1Z3xXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQotCQl7RUIxQzE5QzEtMUYxOC00MjFFLTk3MzUtQ0FFRTY5REM2QTNDfS5EZWJ1Z3x4NjQuQWN0aXZlQ2ZnID0gUmVsZWFzZXx4NjQNCi0JCXtFQjFDMTlDMS0xRjE4LTQyMUUtOTczNS1DQUVFNjlEQzZBM0N9LlBHSW5zdHJ1bWVudHxXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQotCQl7RUIxQzE5QzEtMUYxOC00MjFFLTk3MzUtQ0FFRTY5REM2QTNDfS5QR0luc3RydW1lbnR8eDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2V8eDY0DQotCQl7RUIxQzE5QzEtMUYxOC00MjFFLTk3MzUtQ0FFRTY5REM2QTNDfS5QR1VwZGF0ZXxXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQotCQl7RUIxQzE5QzEtMUYxOC00MjFFLTk3MzUtQ0FFRTY5REM2QTNDfS5QR1VwZGF0ZXx4NjQuQWN0aXZlQ2ZnID0gUmVsZWFzZXx4NjQNCi0JCXtFQjFDMTlDMS0xRjE4LTQyMUUtOTczNS1DQUVFNjlEQzZBM0N9LlJlbGVhc2V8V2luMzIuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KLQkJe0VCMUMxOUMxLTFGMTgtNDIxRS05NzM1LUNBRUU2OURDNkEzQ30uUmVsZWFzZXx4NjQuQWN0aXZlQ2ZnID0gUmVsZWFzZXx4NjQNCi0JCXs0NDdGMDVBOC1GNTgxLTRDQUMtQTQ2Ni01QUM3OTM2RTIwN0V9LkRlYnVnfFdpbjMyLkFjdGl2ZUNmZyA9IERlYnVnfFdpbjMyDQotCQl7NDQ3RjA1QTgtRjU4MS00Q0FDLUE0NjYtNUFDNzkzNkUyMDdFfS5EZWJ1Z3xXaW4zMi5CdWlsZC4wID0gRGVidWd8V2luMzINCi0JCXs0NDdGMDVBOC1GNTgxLTRDQUMtQTQ2Ni01QUM3OTM2RTIwN0V9LkRlYnVnfHg2NC5BY3RpdmVDZmcgPSBEZWJ1Z3x4NjQNCi0JCXs0NDdGMDVBOC1GNTgxLTRDQUMtQTQ2Ni01QUM3OTM2RTIwN0V9LkRlYnVnfHg2NC5CdWlsZC4wID0gRGVidWd8eDY0DQotCQl7NDQ3RjA1QTgtRjU4MS00Q0FDLUE0NjYtNUFDNzkzNkUyMDdFfS5QR0luc3RydW1lbnR8V2luMzIuQWN0aXZlQ2ZnID0gUEdJbnN0cnVtZW50fFdpbjMyDQotCQl7NDQ3RjA1QTgtRjU4MS00Q0FDLUE0NjYtNUFDNzkzNkUyMDdFfS5QR0luc3RydW1lbnR8V2luMzIuQnVpbGQuMCA9IFBHSW5zdHJ1bWVudHxXaW4zMg0KLQkJezQ0N0YwNUE4LUY1ODEtNENBQy1BNDY2LTVBQzc5MzZFMjA3RX0uUEdJbnN0cnVtZW50fHg2NC5BY3RpdmVDZmcgPSBQR0luc3RydW1lbnR8eDY0DQotCQl7NDQ3RjA1QTgtRjU4MS00Q0FDLUE0NjYtNUFDNzkzNkUyMDdFfS5QR0luc3RydW1lbnR8eDY0LkJ1aWxkLjAgPSBQR0luc3RydW1lbnR8eDY0DQotCQl7NDQ3RjA1QTgtRjU4MS00Q0FDLUE0NjYtNUFDNzkzNkUyMDdFfS5QR1VwZGF0ZXxXaW4zMi5BY3RpdmVDZmcgPSBQR1VwZGF0ZXxXaW4zMg0KLQkJezQ0N0YwNUE4LUY1ODEtNENBQy1BNDY2LTVBQzc5MzZFMjA3RX0uUEdVcGRhdGV8V2luMzIuQnVpbGQuMCA9IFBHVXBkYXRlfFdpbjMyDQotCQl7NDQ3RjA1QTgtRjU4MS00Q0FDLUE0NjYtNUFDNzkzNkUyMDdFfS5QR1VwZGF0ZXx4NjQuQWN0aXZlQ2ZnID0gUEdVcGRhdGV8eDY0DQotCQl7NDQ3RjA1QTgtRjU4MS00Q0FDLUE0NjYtNUFDNzkzNkUyMDdFfS5QR1VwZGF0ZXx4NjQuQnVpbGQuMCA9IFBHVXBkYXRlfHg2NA0KLQkJezQ0N0YwNUE4LUY1ODEtNENBQy1BNDY2LTVBQzc5MzZFMjA3RX0uUmVsZWFzZXxXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQotCQl7NDQ3RjA1QTgtRjU4MS00Q0FDLUE0NjYtNUFDNzkzNkUyMDdFfS5SZWxlYXNlfFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQotCQl7NDQ3RjA1QTgtRjU4MS00Q0FDLUE0NjYtNUFDNzkzNkUyMDdFfS5SZWxlYXNlfHg2NC5BY3RpdmVDZmcgPSBSZWxlYXNlfHg2NA0KLQkJezQ0N0YwNUE4LUY1ODEtNENBQy1BNDY2LTVBQzc5MzZFMjA3RX0uUmVsZWFzZXx4NjQuQnVpbGQuMCA9IFJlbGVhc2V8eDY0DQotCQl7QTFBMjk1RTUtNDYzQy00MzdGLTgxQ0EtMUYzMjM2NzY4NURBfS5EZWJ1Z3xXaW4zMi5BY3RpdmVDZmcgPSBEZWJ1Z3xXaW4zMg0KLQkJe0ExQTI5NUU1LTQ2M0MtNDM3Ri04MUNBLTFGMzIzNjc2ODVEQX0uRGVidWd8V2luMzIuQnVpbGQuMCA9IERlYnVnfFdpbjMyDQotCQl7QTFBMjk1RTUtNDYzQy00MzdGLTgxQ0EtMUYzMjM2NzY4NURBfS5EZWJ1Z3x4NjQuQWN0aXZlQ2ZnID0gRGVidWd8eDY0DQotCQl7QTFBMjk1RTUtNDYzQy00MzdGLTgxQ0EtMUYzMjM2NzY4NURBfS5EZWJ1Z3x4NjQuQnVpbGQuMCA9IERlYnVnfHg2NA0KLQkJe0ExQTI5NUU1LTQ2M0MtNDM3Ri04MUNBLTFGMzIzNjc2ODVEQX0uUEdJbnN0cnVtZW50fFdpbjMyLkFjdGl2ZUNmZyA9IFBHSW5zdHJ1bWVudHxXaW4zMg0KLQkJe0ExQTI5NUU1LTQ2M0MtNDM3Ri04MUNBLTFGMzIzNjc2ODVEQX0uUEdJbnN0cnVtZW50fFdpbjMyLkJ1aWxkLjAgPSBQR0luc3RydW1lbnR8V2luMzINCi0JCXtBMUEyOTVFNS00NjNDLTQzN0YtODFDQS0xRjMyMzY3Njg1REF9LlBHSW5zdHJ1bWVudHx4NjQuQWN0aXZlQ2ZnID0gUEdJbnN0cnVtZW50fHg2NA0KLQkJe0ExQTI5NUU1LTQ2M0MtNDM3Ri04MUNBLTFGMzIzNjc2ODVEQX0uUEdJbnN0cnVtZW50fHg2NC5CdWlsZC4wID0gUEdJbnN0cnVtZW50fHg2NA0KLQkJe0ExQTI5NUU1LTQ2M0MtNDM3Ri04MUNBLTFGMzIzNjc2ODVEQX0uUEdVcGRhdGV8V2luMzIuQWN0aXZlQ2ZnID0gUEdVcGRhdGV8V2luMzINCi0JCXtBMUEyOTVFNS00NjNDLTQzN0YtODFDQS0xRjMyMzY3Njg1REF9LlBHVXBkYXRlfFdpbjMyLkJ1aWxkLjAgPSBQR1VwZGF0ZXxXaW4zMg0KLQkJe0ExQTI5NUU1LTQ2M0MtNDM3Ri04MUNBLTFGMzIzNjc2ODVEQX0uUEdVcGRhdGV8eDY0LkFjdGl2ZUNmZyA9IFBHVXBkYXRlfHg2NA0KLQkJe0ExQTI5NUU1LTQ2M0MtNDM3Ri04MUNBLTFGMzIzNjc2ODVEQX0uUEdVcGRhdGV8eDY0LkJ1aWxkLjAgPSBQR1VwZGF0ZXx4NjQNCi0JCXtBMUEyOTVFNS00NjNDLTQzN0YtODFDQS0xRjMyMzY3Njg1REF9LlJlbGVhc2V8V2luMzIuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KLQkJe0ExQTI5NUU1LTQ2M0MtNDM3Ri04MUNBLTFGMzIzNjc2ODVEQX0uUmVsZWFzZXxXaW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KLQkJe0ExQTI5NUU1LTQ2M0MtNDM3Ri04MUNBLTFGMzIzNjc2ODVEQX0uUmVsZWFzZXx4NjQuQWN0aXZlQ2ZnID0gUmVsZWFzZXx4NjQNCi0JCXtBMUEyOTVFNS00NjNDLTQzN0YtODFDQS0xRjMyMzY3Njg1REF9LlJlbGVhc2V8eDY0LkJ1aWxkLjAgPSBSZWxlYXNlfHg2NA0KLQkJezlFNDhCMzAwLTM3RDEtMTFERC04QzQxLTAwNTA1NkMwMDAwOH0uRGVidWd8V2luMzIuQWN0aXZlQ2ZnID0gRGVidWd8V2luMzINCi0JCXs5RTQ4QjMwMC0zN0QxLTExREQtOEM0MS0wMDUwNTZDMDAwMDh9LkRlYnVnfFdpbjMyLkJ1aWxkLjAgPSBEZWJ1Z3xXaW4zMg0KLQkJezlFNDhCMzAwLTM3RDEtMTFERC04QzQxLTAwNTA1NkMwMDAwOH0uRGVidWd8eDY0LkFjdGl2ZUNmZyA9IERlYnVnfHg2NA0KLQkJezlFNDhCMzAwLTM3RDEtMTFERC04QzQxLTAwNTA1NkMwMDAwOH0uRGVidWd8eDY0LkJ1aWxkLjAgPSBEZWJ1Z3x4NjQNCi0JCXs5RTQ4QjMwMC0zN0QxLTExREQtOEM0MS0wMDUwNTZDMDAwMDh9LlBHSW5zdHJ1bWVudHxXaW4zMi5BY3RpdmVDZmcgPSBQR0luc3RydW1lbnR8V2luMzINCi0JCXs5RTQ4QjMwMC0zN0QxLTExREQtOEM0MS0wMDUwNTZDMDAwMDh9LlBHSW5zdHJ1bWVudHxXaW4zMi5CdWlsZC4wID0gUEdJbnN0cnVtZW50fFdpbjMyDQotCQl7OUU0OEIzMDAtMzdEMS0xMURELThDNDEtMDA1MDU2QzAwMDA4fS5QR0luc3RydW1lbnR8eDY0LkFjdGl2ZUNmZyA9IFBHSW5zdHJ1bWVudHx4NjQNCi0JCXs5RTQ4QjMwMC0zN0QxLTExREQtOEM0MS0wMDUwNTZDMDAwMDh9LlBHSW5zdHJ1bWVudHx4NjQuQnVpbGQuMCA9IFBHSW5zdHJ1bWVudHx4NjQNCi0JCXs5RTQ4QjMwMC0zN0QxLTExREQtOEM0MS0wMDUwNTZDMDAwMDh9LlBHVXBkYXRlfFdpbjMyLkFjdGl2ZUNmZyA9IFBHVXBkYXRlfFdpbjMyDQotCQl7OUU0OEIzMDAtMzdEMS0xMURELThDNDEtMDA1MDU2QzAwMDA4fS5QR1VwZGF0ZXxXaW4zMi5CdWlsZC4wID0gUEdVcGRhdGV8V2luMzINCi0JCXs5RTQ4QjMwMC0zN0QxLTExREQtOEM0MS0wMDUwNTZDMDAwMDh9LlBHVXBkYXRlfHg2NC5BY3RpdmVDZmcgPSBQR1VwZGF0ZXx4NjQNCi0JCXs5RTQ4QjMwMC0zN0QxLTExREQtOEM0MS0wMDUwNTZDMDAwMDh9LlBHVXBkYXRlfHg2NC5CdWlsZC4wID0gUEdVcGRhdGV8eDY0DQotCQl7OUU0OEIzMDAtMzdEMS0xMURELThDNDEtMDA1MDU2QzAwMDA4fS5SZWxlYXNlfFdpbjMyLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCi0JCXs5RTQ4QjMwMC0zN0QxLTExREQtOEM0MS0wMDUwNTZDMDAwMDh9LlJlbGVhc2V8V2luMzIuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCi0JCXs5RTQ4QjMwMC0zN0QxLTExREQtOEM0MS0wMDUwNTZDMDAwMDh9LlJlbGVhc2V8eDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2V8eDY0DQotCQl7OUU0OEIzMDAtMzdEMS0xMURELThDNDEtMDA1MDU2QzAwMDA4fS5SZWxlYXNlfHg2NC5CdWlsZC4wID0gUmVsZWFzZXx4NjQNCi0JCXtFNUIwNENDMC1FQjRDLTQyQUItQjREQy0xOEVGOTVGODY0QjB9LkRlYnVnfFdpbjMyLkFjdGl2ZUNmZyA9IERlYnVnfFdpbjMyDQotCQl7RTVCMDRDQzAtRUI0Qy00MkFCLUI0REMtMThFRjk1Rjg2NEIwfS5EZWJ1Z3xXaW4zMi5CdWlsZC4wID0gRGVidWd8V2luMzINCi0JCXtFNUIwNENDMC1FQjRDLTQyQUItQjREQy0xOEVGOTVGODY0QjB9LkRlYnVnfHg2NC5BY3RpdmVDZmcgPSBEZWJ1Z3x4NjQNCi0JCXtFNUIwNENDMC1FQjRDLTQyQUItQjREQy0xOEVGOTVGODY0QjB9LkRlYnVnfHg2NC5CdWlsZC4wID0gRGVidWd8eDY0DQotCQl7RTVCMDRDQzAtRUI0Qy00MkFCLUI0REMtMThFRjk1Rjg2NEIwfS5QR0luc3RydW1lbnR8V2luMzIuQWN0aXZlQ2ZnID0gUEdJbnN0cnVtZW50fFdpbjMyDQotCQl7RTVCMDRDQzAtRUI0Qy00MkFCLUI0REMtMThFRjk1Rjg2NEIwfS5QR0luc3RydW1lbnR8V2luMzIuQnVpbGQuMCA9IFBHSW5zdHJ1bWVudHxXaW4zMg0KLQkJe0U1QjA0Q0MwLUVCNEMtNDJBQi1CNERDLTE4RUY5NUY4NjRCMH0uUEdJbnN0cnVtZW50fHg2NC5BY3RpdmVDZmcgPSBQR0luc3RydW1lbnR8eDY0DQotCQl7RTVCMDRDQzAtRUI0Qy00MkFCLUI0REMtMThFRjk1Rjg2NEIwfS5QR0luc3RydW1lbnR8eDY0LkJ1aWxkLjAgPSBQR0luc3RydW1lbnR8eDY0DQotCQl7RTVCMDRDQzAtRUI0Qy00MkFCLUI0REMtMThFRjk1Rjg2NEIwfS5QR1VwZGF0ZXxXaW4zMi5BY3RpdmVDZmcgPSBQR1VwZGF0ZXxXaW4zMg0KLQkJe0U1QjA0Q0MwLUVCNEMtNDJBQi1CNERDLTE4RUY5NUY4NjRCMH0uUEdVcGRhdGV8V2luMzIuQnVpbGQuMCA9IFBHVXBkYXRlfFdpbjMyDQotCQl7RTVCMDRDQzAtRUI0Qy00MkFCLUI0REMtMThFRjk1Rjg2NEIwfS5QR1VwZGF0ZXx4NjQuQWN0aXZlQ2ZnID0gUEdVcGRhdGV8eDY0DQotCQl7RTVCMDRDQzAtRUI0Qy00MkFCLUI0REMtMThFRjk1Rjg2NEIwfS5QR1VwZGF0ZXx4NjQuQnVpbGQuMCA9IFBHVXBkYXRlfHg2NA0KLQkJe0U1QjA0Q0MwLUVCNEMtNDJBQi1CNERDLTE4RUY5NUY4NjRCMH0uUmVsZWFzZXxXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQotCQl7RTVCMDRDQzAtRUI0Qy00MkFCLUI0REMtMThFRjk1Rjg2NEIwfS5SZWxlYXNlfFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQotCQl7RTVCMDRDQzAtRUI0Qy00MkFCLUI0REMtMThFRjk1Rjg2NEIwfS5SZWxlYXNlfHg2NC5BY3RpdmVDZmcgPSBSZWxlYXNlfHg2NA0KLQkJe0U1QjA0Q0MwLUVCNEMtNDJBQi1CNERDLTE4RUY5NUY4NjRCMH0uUmVsZWFzZXx4NjQuQnVpbGQuMCA9IFJlbGVhc2V8eDY0DQotCQl7NkRFMTA3NDQtRTM5Ni00MEE1LUI0RTItMUI2OUFBN0M4RDMxfS5EZWJ1Z3xXaW4zMi5BY3RpdmVDZmcgPSBEZWJ1Z3xXaW4zMg0KLQkJezZERTEwNzQ0LUUzOTYtNDBBNS1CNEUyLTFCNjlBQTdDOEQzMX0uRGVidWd8V2luMzIuQnVpbGQuMCA9IERlYnVnfFdpbjMyDQotCQl7NkRFMTA3NDQtRTM5Ni00MEE1LUI0RTItMUI2OUFBN0M4RDMxfS5EZWJ1Z3x4NjQuQWN0aXZlQ2ZnID0gRGVidWd8eDY0DQotCQl7NkRFMTA3NDQtRTM5Ni00MEE1LUI0RTItMUI2OUFBN0M4RDMxfS5EZWJ1Z3x4NjQuQnVpbGQuMCA9IERlYnVnfHg2NA0KLQkJezZERTEwNzQ0LUUzOTYtNDBBNS1CNEUyLTFCNjlBQTdDOEQzMX0uUEdJbnN0cnVtZW50fFdpbjMyLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCi0JCXs2REUxMDc0NC1FMzk2LTQwQTUtQjRFMi0xQjY5QUE3QzhEMzF9LlBHSW5zdHJ1bWVudHxXaW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KLQkJezZERTEwNzQ0LUUzOTYtNDBBNS1CNEUyLTFCNjlBQTdDOEQzMX0uUEdJbnN0cnVtZW50fHg2NC5BY3RpdmVDZmcgPSBSZWxlYXNlfHg2NA0KLQkJezZERTEwNzQ0LUUzOTYtNDBBNS1CNEUyLTFCNjlBQTdDOEQzMX0uUEdJbnN0cnVtZW50fHg2NC5CdWlsZC4wID0gUmVsZWFzZXx4NjQNCi0JCXs2REUxMDc0NC1FMzk2LTQwQTUtQjRFMi0xQjY5QUE3QzhEMzF9LlBHVXBkYXRlfFdpbjMyLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCi0JCXs2REUxMDc0NC1FMzk2LTQwQTUtQjRFMi0xQjY5QUE3QzhEMzF9LlBHVXBkYXRlfFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQotCQl7NkRFMTA3NDQtRTM5Ni00MEE1LUI0RTItMUI2OUFBN0M4RDMxfS5QR1VwZGF0ZXx4NjQuQWN0aXZlQ2ZnID0gUmVsZWFzZXx4NjQNCi0JCXs2REUxMDc0NC1FMzk2LTQwQTUtQjRFMi0xQjY5QUE3QzhEMzF9LlBHVXBkYXRlfHg2NC5CdWlsZC4wID0gUmVsZWFzZXx4NjQNCi0JCXs2REUxMDc0NC1FMzk2LTQwQTUtQjRFMi0xQjY5QUE3QzhEMzF9LlJlbGVhc2V8V2luMzIuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KLQkJezZERTEwNzQ0LUUzOTYtNDBBNS1CNEUyLTFCNjlBQTdDOEQzMX0uUmVsZWFzZXxXaW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KLQkJezZERTEwNzQ0LUUzOTYtNDBBNS1CNEUyLTFCNjlBQTdDOEQzMX0uUmVsZWFzZXx4NjQuQWN0aXZlQ2ZnID0gUmVsZWFzZXx4NjQNCi0JCXs2REUxMDc0NC1FMzk2LTQwQTUtQjRFMi0xQjY5QUE3QzhEMzF9LlJlbGVhc2V8eDY0LkJ1aWxkLjAgPSBSZWxlYXNlfHg2NA0KLQkJezg4NUQ0ODk4LUQwOEQtNDA5MS05QzQwLUM3MDBDRkUzRkM1QX0uRGVidWd8V2luMzIuQWN0aXZlQ2ZnID0gUEdJbnN0cnVtZW50fFdpbjMyDQotCQl7ODg1RDQ4OTgtRDA4RC00MDkxLTlDNDAtQzcwMENGRTNGQzVBfS5EZWJ1Z3x4NjQuQWN0aXZlQ2ZnID0gUEdVcGRhdGV8eDY0DQotCQl7ODg1RDQ4OTgtRDA4RC00MDkxLTlDNDAtQzcwMENGRTNGQzVBfS5EZWJ1Z3x4NjQuQnVpbGQuMCA9IFBHVXBkYXRlfHg2NA0KLQkJezg4NUQ0ODk4LUQwOEQtNDA5MS05QzQwLUM3MDBDRkUzRkM1QX0uUEdJbnN0cnVtZW50fFdpbjMyLkFjdGl2ZUNmZyA9IFBHSW5zdHJ1bWVudHxXaW4zMg0KLQkJezg4NUQ0ODk4LUQwOEQtNDA5MS05QzQwLUM3MDBDRkUzRkM1QX0uUEdJbnN0cnVtZW50fFdpbjMyLkJ1aWxkLjAgPSBQR0luc3RydW1lbnR8V2luMzINCi0JCXs4ODVENDg5OC1EMDhELTQwOTEtOUM0MC1DNzAwQ0ZFM0ZDNUF9LlBHSW5zdHJ1bWVudHx4NjQuQWN0aXZlQ2ZnID0gUEdJbnN0cnVtZW50fHg2NA0KLQkJezg4NUQ0ODk4LUQwOEQtNDA5MS05QzQwLUM3MDBDRkUzRkM1QX0uUEdJbnN0cnVtZW50fHg2NC5CdWlsZC4wID0gUEdJbnN0cnVtZW50fHg2NA0KLQkJezg4NUQ0ODk4LUQwOEQtNDA5MS05QzQwLUM3MDBDRkUzRkM1QX0uUEdVcGRhdGV8V2luMzIuQWN0aXZlQ2ZnID0gUEdVcGRhdGV8V2luMzINCi0JCXs4ODVENDg5OC1EMDhELTQwOTEtOUM0MC1DNzAwQ0ZFM0ZDNUF9LlBHVXBkYXRlfFdpbjMyLkJ1aWxkLjAgPSBQR1VwZGF0ZXxXaW4zMg0KLQkJezg4NUQ0ODk4LUQwOEQtNDA5MS05QzQwLUM3MDBDRkUzRkM1QX0uUEdVcGRhdGV8eDY0LkFjdGl2ZUNmZyA9IFBHVXBkYXRlfHg2NA0KLQkJezg4NUQ0ODk4LUQwOEQtNDA5MS05QzQwLUM3MDBDRkUzRkM1QX0uUEdVcGRhdGV8eDY0LkJ1aWxkLjAgPSBQR1VwZGF0ZXx4NjQNCi0JCXs4ODVENDg5OC1EMDhELTQwOTEtOUM0MC1DNzAwQ0ZFM0ZDNUF9LlJlbGVhc2V8V2luMzIuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KLQkJezg4NUQ0ODk4LUQwOEQtNDA5MS05QzQwLUM3MDBDRkUzRkM1QX0uUmVsZWFzZXxXaW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KLQkJezg4NUQ0ODk4LUQwOEQtNDA5MS05QzQwLUM3MDBDRkUzRkM1QX0uUmVsZWFzZXx4NjQuQWN0aXZlQ2ZnID0gUmVsZWFzZXx4NjQNCi0JCXs4ODVENDg5OC1EMDhELTQwOTEtOUM0MC1DNzAwQ0ZFM0ZDNUF9LlJlbGVhc2V8eDY0LkJ1aWxkLjAgPSBSZWxlYXNlfHg2NA0KLQkJe0Y3NDlCODIyLUI0ODktNENBNS1BM0FELUNFMDc4RjVGMzM4QX0uRGVidWd8V2luMzIuQWN0aXZlQ2ZnID0gRGVidWd8V2luMzINCi0JCXtGNzQ5QjgyMi1CNDg5LTRDQTUtQTNBRC1DRTA3OEY1RjMzOEF9LkRlYnVnfFdpbjMyLkJ1aWxkLjAgPSBEZWJ1Z3xXaW4zMg0KLQkJe0Y3NDlCODIyLUI0ODktNENBNS1BM0FELUNFMDc4RjVGMzM4QX0uRGVidWd8eDY0LkFjdGl2ZUNmZyA9IERlYnVnfHg2NA0KLQkJe0Y3NDlCODIyLUI0ODktNENBNS1BM0FELUNFMDc4RjVGMzM4QX0uRGVidWd8eDY0LkJ1aWxkLjAgPSBEZWJ1Z3x4NjQNCi0JCXtGNzQ5QjgyMi1CNDg5LTRDQTUtQTNBRC1DRTA3OEY1RjMzOEF9LlBHSW5zdHJ1bWVudHxXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQotCQl7Rjc0OUI4MjItQjQ4OS00Q0E1LUEzQUQtQ0UwNzhGNUYzMzhBfS5QR0luc3RydW1lbnR8V2luMzIuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCi0JCXtGNzQ5QjgyMi1CNDg5LTRDQTUtQTNBRC1DRTA3OEY1RjMzOEF9LlBHSW5zdHJ1bWVudHx4NjQuQWN0aXZlQ2ZnID0gUmVsZWFzZXx4NjQNCi0JCXtGNzQ5QjgyMi1CNDg5LTRDQTUtQTNBRC1DRTA3OEY1RjMzOEF9LlBHSW5zdHJ1bWVudHx4NjQuQnVpbGQuMCA9IFJlbGVhc2V8eDY0DQotCQl7Rjc0OUI4MjItQjQ4OS00Q0E1LUEzQUQtQ0UwNzhGNUYzMzhBfS5QR1VwZGF0ZXxXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQotCQl7Rjc0OUI4MjItQjQ4OS00Q0E1LUEzQUQtQ0UwNzhGNUYzMzhBfS5QR1VwZGF0ZXxXaW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KLQkJe0Y3NDlCODIyLUI0ODktNENBNS1BM0FELUNFMDc4RjVGMzM4QX0uUEdVcGRhdGV8eDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2V8eDY0DQotCQl7Rjc0OUI4MjItQjQ4OS00Q0E1LUEzQUQtQ0UwNzhGNUYzMzhBfS5QR1VwZGF0ZXx4NjQuQnVpbGQuMCA9IFJlbGVhc2V8eDY0DQotCQl7Rjc0OUI4MjItQjQ4OS00Q0E1LUEzQUQtQ0UwNzhGNUYzMzhBfS5SZWxlYXNlfFdpbjMyLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCi0JCXtGNzQ5QjgyMi1CNDg5LTRDQTUtQTNBRC1DRTA3OEY1RjMzOEF9LlJlbGVhc2V8V2luMzIuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCi0JCXtGNzQ5QjgyMi1CNDg5LTRDQTUtQTNBRC1DRTA3OEY1RjMzOEF9LlJlbGVhc2V8eDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2V8eDY0DQotCQl7Rjc0OUI4MjItQjQ4OS00Q0E1LUEzQUQtQ0UwNzhGNUYzMzhBfS5SZWxlYXNlfHg2NC5CdWlsZC4wID0gUmVsZWFzZXx4NjQNCi0JCXtBMjY5N0JEMy0yOEMxLTRBRUMtOTEwNi04Qjc0ODYzOUZEMTZ9LkRlYnVnfFdpbjMyLkFjdGl2ZUNmZyA9IERlYnVnfFdpbjMyDQotCQl7QTI2OTdCRDMtMjhDMS00QUVDLTkxMDYtOEI3NDg2MzlGRDE2fS5EZWJ1Z3xXaW4zMi5CdWlsZC4wID0gRGVidWd8V2luMzINCi0JCXtBMjY5N0JEMy0yOEMxLTRBRUMtOTEwNi04Qjc0ODYzOUZEMTZ9LkRlYnVnfHg2NC5BY3RpdmVDZmcgPSBEZWJ1Z3x4NjQNCi0JCXtBMjY5N0JEMy0yOEMxLTRBRUMtOTEwNi04Qjc0ODYzOUZEMTZ9LkRlYnVnfHg2NC5CdWlsZC4wID0gRGVidWd8eDY0DQotCQl7QTI2OTdCRDMtMjhDMS00QUVDLTkxMDYtOEI3NDg2MzlGRDE2fS5QR0luc3RydW1lbnR8V2luMzIuQWN0aXZlQ2ZnID0gUEdJbnN0cnVtZW50fFdpbjMyDQotCQl7QTI2OTdCRDMtMjhDMS00QUVDLTkxMDYtOEI3NDg2MzlGRDE2fS5QR0luc3RydW1lbnR8V2luMzIuQnVpbGQuMCA9IFBHSW5zdHJ1bWVudHxXaW4zMg0KLQkJe0EyNjk3QkQzLTI4QzEtNEFFQy05MTA2LThCNzQ4NjM5RkQxNn0uUEdJbnN0cnVtZW50fHg2NC5BY3RpdmVDZmcgPSBQR0luc3RydW1lbnR8eDY0DQotCQl7QTI2OTdCRDMtMjhDMS00QUVDLTkxMDYtOEI3NDg2MzlGRDE2fS5QR0luc3RydW1lbnR8eDY0LkJ1aWxkLjAgPSBQR0luc3RydW1lbnR8eDY0DQotCQl7QTI2OTdCRDMtMjhDMS00QUVDLTkxMDYtOEI3NDg2MzlGRDE2fS5QR1VwZGF0ZXxXaW4zMi5BY3RpdmVDZmcgPSBQR1VwZGF0ZXxXaW4zMg0KLQkJe0EyNjk3QkQzLTI4QzEtNEFFQy05MTA2LThCNzQ4NjM5RkQxNn0uUEdVcGRhdGV8V2luMzIuQnVpbGQuMCA9IFBHVXBkYXRlfFdpbjMyDQotCQl7QTI2OTdCRDMtMjhDMS00QUVDLTkxMDYtOEI3NDg2MzlGRDE2fS5QR1VwZGF0ZXx4NjQuQWN0aXZlQ2ZnID0gUEdVcGRhdGV8eDY0DQotCQl7QTI2OTdCRDMtMjhDMS00QUVDLTkxMDYtOEI3NDg2MzlGRDE2fS5QR1VwZGF0ZXx4NjQuQnVpbGQuMCA9IFBHVXBkYXRlfHg2NA0KLQkJe0EyNjk3QkQzLTI4QzEtNEFFQy05MTA2LThCNzQ4NjM5RkQxNn0uUmVsZWFzZXxXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQotCQl7QTI2OTdCRDMtMjhDMS00QUVDLTkxMDYtOEI3NDg2MzlGRDE2fS5SZWxlYXNlfFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQotCQl7QTI2OTdCRDMtMjhDMS00QUVDLTkxMDYtOEI3NDg2MzlGRDE2fS5SZWxlYXNlfHg2NC5BY3RpdmVDZmcgPSBSZWxlYXNlfHg2NA0KLQkJe0EyNjk3QkQzLTI4QzEtNEFFQy05MTA2LThCNzQ4NjM5RkQxNn0uUmVsZWFzZXx4NjQuQnVpbGQuMCA9IFJlbGVhc2V8eDY0DQotCQl7MDRGMzc0MDAtODgzQy00MkQ3LUFFMjgtNkNGOTk1M0JGOTc1fS5EZWJ1Z3xXaW4zMi5BY3RpdmVDZmcgPSBEZWJ1Z3xXaW4zMg0KLQkJezA0RjM3NDAwLTg4M0MtNDJENy1BRTI4LTZDRjk5NTNCRjk3NX0uRGVidWd8V2luMzIuQnVpbGQuMCA9IERlYnVnfFdpbjMyDQotCQl7MDRGMzc0MDAtODgzQy00MkQ3LUFFMjgtNkNGOTk1M0JGOTc1fS5EZWJ1Z3x4NjQuQWN0aXZlQ2ZnID0gRGVidWd8eDY0DQotCQl7MDRGMzc0MDAtODgzQy00MkQ3LUFFMjgtNkNGOTk1M0JGOTc1fS5EZWJ1Z3x4NjQuQnVpbGQuMCA9IERlYnVnfHg2NA0KLQkJezA0RjM3NDAwLTg4M0MtNDJENy1BRTI4LTZDRjk5NTNCRjk3NX0uUEdJbnN0cnVtZW50fFdpbjMyLkFjdGl2ZUNmZyA9IFBHSW5zdHJ1bWVudHxXaW4zMg0KLQkJezA0RjM3NDAwLTg4M0MtNDJENy1BRTI4LTZDRjk5NTNCRjk3NX0uUEdJbnN0cnVtZW50fFdpbjMyLkJ1aWxkLjAgPSBQR0luc3RydW1lbnR8V2luMzINCi0JCXswNEYzNzQwMC04ODNDLTQyRDctQUUyOC02Q0Y5OTUzQkY5NzV9LlBHSW5zdHJ1bWVudHx4NjQuQWN0aXZlQ2ZnID0gUEdJbnN0cnVtZW50fHg2NA0KLQkJezA0RjM3NDAwLTg4M0MtNDJENy1BRTI4LTZDRjk5NTNCRjk3NX0uUEdJbnN0cnVtZW50fHg2NC5CdWlsZC4wID0gUEdJbnN0cnVtZW50fHg2NA0KLQkJezA0RjM3NDAwLTg4M0MtNDJENy1BRTI4LTZDRjk5NTNCRjk3NX0uUEdVcGRhdGV8V2luMzIuQWN0aXZlQ2ZnID0gUEdVcGRhdGV8V2luMzINCi0JCXswNEYzNzQwMC04ODNDLTQyRDctQUUyOC02Q0Y5OTUzQkY5NzV9LlBHVXBkYXRlfFdpbjMyLkJ1aWxkLjAgPSBQR1VwZGF0ZXxXaW4zMg0KLQkJezA0RjM3NDAwLTg4M0MtNDJENy1BRTI4LTZDRjk5NTNCRjk3NX0uUEdVcGRhdGV8eDY0LkFjdGl2ZUNmZyA9IFBHVXBkYXRlfHg2NA0KLQkJezA0RjM3NDAwLTg4M0MtNDJENy1BRTI4LTZDRjk5NTNCRjk3NX0uUEdVcGRhdGV8eDY0LkJ1aWxkLjAgPSBQR1VwZGF0ZXx4NjQNCi0JCXswNEYzNzQwMC04ODNDLTQyRDctQUUyOC02Q0Y5OTUzQkY5NzV9LlJlbGVhc2V8V2luMzIuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KLQkJezA0RjM3NDAwLTg4M0MtNDJENy1BRTI4LTZDRjk5NTNCRjk3NX0uUmVsZWFzZXxXaW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KLQkJezA0RjM3NDAwLTg4M0MtNDJENy1BRTI4LTZDRjk5NTNCRjk3NX0uUmVsZWFzZXx4NjQuQWN0aXZlQ2ZnID0gUmVsZWFzZXx4NjQNCi0JCXswNEYzNzQwMC04ODNDLTQyRDctQUUyOC02Q0Y5OTUzQkY5NzV9LlJlbGVhc2V8eDY0LkJ1aWxkLjAgPSBSZWxlYXNlfHg2NA0KLQlFbmRHbG9iYWxTZWN0aW9uDQotCUdsb2JhbFNlY3Rpb24oU29sdXRpb25Qcm9wZXJ0aWVzKSA9IHByZVNvbHV0aW9uDQotCQlIaWRlU29sdXRpb25Ob2RlID0gRkFMU0UNCi0JRW5kR2xvYmFsU2VjdGlvbg0KLUVuZEdsb2JhbA0KZGlmZiAtLWdpdCBhL1BDL1ZTOS4wL3BnaW5zdHJ1bWVudC52c3Byb3BzIGIvUEMvVlM5LjAvcGdpbnN0cnVtZW50LnZzcHJvcHMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDk5YzExN2IuLjAwMDAwMDAKLS0tIGEvUEMvVlM5LjAvcGdpbnN0cnVtZW50LnZzcHJvcHMKKysrIC9kZXYvbnVsbApAQCAtMSwzNCArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJXaW5kb3dzLTEyNTIiPz4NCi08VmlzdWFsU3R1ZGlvUHJvcGVydHlTaGVldA0KLQlQcm9qZWN0VHlwZT0iVmlzdWFsIEMrKyINCi0JVmVyc2lvbj0iOC4wMCINCi0JTmFtZT0icGdpbnN0cnVtZW50Ig0KLQlPdXRwdXREaXJlY3Rvcnk9IiQoT3V0RGlyUEdJKSINCi0JSW50ZXJtZWRpYXRlRGlyZWN0b3J5PSIkKFNvbHV0aW9uRGlyKSQoUGxhdGZvcm1OYW1lKS10ZW1wLXBnaVwkKFByb2plY3ROYW1lKVwiDQotCT4NCi0JPFRvb2wNCi0JCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQlPcHRpbWl6YXRpb249IjIiDQotCQlJbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj0iMSINCi0JCUVuYWJsZUludHJpbnNpY0Z1bmN0aW9ucz0iZmFsc2UiDQotCQlGYXZvclNpemVPclNwZWVkPSIyIg0KLQkJT21pdEZyYW1lUG9pbnRlcnM9InRydWUiDQotCQlFbmFibGVGaWJlclNhZmVPcHRpbWl6YXRpb25zPSJmYWxzZSINCi0JCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0idHJ1ZSINCi0JCVN0cmluZ1Bvb2xpbmc9InRydWUiDQotCQlFeGNlcHRpb25IYW5kbGluZz0iMCINCi0JCUJ1ZmZlclNlY3VyaXR5Q2hlY2s9ImZhbHNlIg0KLQkvPg0KLQk8VG9vbA0KLQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJT3B0aW1pemVSZWZlcmVuY2VzPSIyIg0KLQkJRW5hYmxlQ09NREFURm9sZGluZz0iMSINCi0JCUxpbmtUaW1lQ29kZUdlbmVyYXRpb249IjIiDQotCQlQcm9maWxlR3VpZGVkRGF0YWJhc2U9IiQoU29sdXRpb25EaXIpJChQbGF0Zm9ybU5hbWUpLXBnaVwkKFRhcmdldE5hbWUpLnBnZCINCi0JCUltcG9ydExpYnJhcnk9IiQoT3V0RGlyUEdJKVwkKFRhcmdldE5hbWUpLmxpYiINCi0JLz4NCi0JPFVzZXJNYWNybw0KLQkJTmFtZT0iT3V0RGlyUEdJIg0KLQkJVmFsdWU9IiQoU29sdXRpb25EaXIpJChQbGF0Zm9ybU5hbWUpLXBnaVwiDQotCS8+DQotPC9WaXN1YWxTdHVkaW9Qcm9wZXJ0eVNoZWV0Pg0KZGlmZiAtLWdpdCBhL1BDL1ZTOS4wL3BndXBkYXRlLnZzcHJvcHMgYi9QQy9WUzkuMC9wZ3VwZGF0ZS52c3Byb3BzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyNmNmYzJkLi4wMDAwMDAwCi0tLSBhL1BDL1ZTOS4wL3BndXBkYXRlLnZzcHJvcHMKKysrIC9kZXYvbnVsbApAQCAtMSwxNCArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJXaW5kb3dzLTEyNTIiPz4NCi08VmlzdWFsU3R1ZGlvUHJvcGVydHlTaGVldA0KLQlQcm9qZWN0VHlwZT0iVmlzdWFsIEMrKyINCi0JVmVyc2lvbj0iOC4wMCINCi0JTmFtZT0icGd1cGRhdGUiDQotCU91dHB1dERpcmVjdG9yeT0iJChTb2x1dGlvbkRpcikkKFBsYXRmb3JtTmFtZSktcGdvXCINCi0JSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9IiQoU29sdXRpb25EaXIpXHBnaW5zdHJ1bWVudC52c3Byb3BzIg0KLQk+DQotCTxUb29sDQotCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQlBZGRpdGlvbmFsTWFuaWZlc3REZXBlbmRlbmNpZXM9IiINCi0JCUxpbmtUaW1lQ29kZUdlbmVyYXRpb249IjQiDQotCS8+DQotPC9WaXN1YWxTdHVkaW9Qcm9wZXJ0eVNoZWV0Pg0KZGlmZiAtLWdpdCBhL1BDL1ZTOS4wL3B5ZC52c3Byb3BzIGIvUEMvVlM5LjAvcHlkLnZzcHJvcHMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDM0YzIxZTEuLjAwMDAwMDAKLS0tIGEvUEMvVlM5LjAvcHlkLnZzcHJvcHMKKysrIC9kZXYvbnVsbApAQCAtMSwyOCArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJXaW5kb3dzLTEyNTIiPz4NCi08VmlzdWFsU3R1ZGlvUHJvcGVydHlTaGVldA0KLQlQcm9qZWN0VHlwZT0iVmlzdWFsIEMrKyINCi0JVmVyc2lvbj0iOC4wMCINCi0JTmFtZT0icHlkIg0KLQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweXByb2plY3QudnNwcm9wczsuXHJlbGVhc2UudnNwcm9wcyINCi0JPg0KLQk8VG9vbA0KLQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJQeV9CVUlMRF9DT1JFX01PRFVMRSINCi0JCVJ1bnRpbWVMaWJyYXJ5PSIyIg0KLQkvPg0KLQk8VG9vbA0KLQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJT3V0cHV0RmlsZT0iJChPdXREaXIpXCQoUHJvamVjdE5hbWUpLnB5ZCINCi0JCVByb2dyYW1EYXRhYmFzZUZpbGU9IiQoT3V0RGlyKVwkKFByb2plY3ROYW1lKS5wZGIiDQotCQlJbXBvcnRMaWJyYXJ5PSIkKE91dERpcilcJChUYXJnZXROYW1lKS5saWIiDQotCQlHZW5lcmF0ZU1hbmlmZXN0PSJmYWxzZSINCi0JLz4NCi0JPFRvb2wNCi0JCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJRW1iZWRNYW5pZmVzdD0iZmFsc2UiDQotCS8+DQotCTxUb29sDQotCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCUNvbW1hbmRMaW5lPSIiDQotCS8+DQotPC9WaXN1YWxTdHVkaW9Qcm9wZXJ0eVNoZWV0Pg0KZGlmZiAtLWdpdCBhL1BDL1ZTOS4wL3B5ZF9kLnZzcHJvcHMgYi9QQy9WUzkuMC9weWRfZC52c3Byb3BzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzMTNhMzBiLi4wMDAwMDAwCi0tLSBhL1BDL1ZTOS4wL3B5ZF9kLnZzcHJvcHMKKysrIC9kZXYvbnVsbApAQCAtMSwzNiArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJXaW5kb3dzLTEyNTIiPz4NCi08VmlzdWFsU3R1ZGlvUHJvcGVydHlTaGVldA0KLQlQcm9qZWN0VHlwZT0iVmlzdWFsIEMrKyINCi0JVmVyc2lvbj0iOC4wMCINCi0JTmFtZT0icHlkX2QiDQotCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5cHJvamVjdC52c3Byb3BzOy5cZGVidWcudnNwcm9wcyINCi0JPg0KLQk8VG9vbA0KLQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCU9wdGltaXphdGlvbj0iMCINCi0JCUlubGluZUZ1bmN0aW9uRXhwYW5zaW9uPSIwIg0KLQkJRW5hYmxlSW50cmluc2ljRnVuY3Rpb25zPSJmYWxzZSINCi0JCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJQeV9CVUlMRF9DT1JFX01PRFVMRSINCi0JCVJ1bnRpbWVMaWJyYXJ5PSIzIg0KLQkvPg0KLQk8VG9vbA0KLQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJT3V0cHV0RmlsZT0iJChPdXREaXIpXCQoUHJvamVjdE5hbWUpX2QucHlkIg0KLQkJTGlua0luY3JlbWVudGFsPSIxIg0KLQkJUHJvZ3JhbURhdGFiYXNlRmlsZT0iJChPdXREaXIpXCQoUHJvamVjdE5hbWUpX2QucGRiIg0KLQkJSW1wb3J0TGlicmFyeT0iJChPdXREaXIpXCQoVGFyZ2V0TmFtZSkubGliIg0KLQkJR2VuZXJhdGVNYW5pZmVzdD0iZmFsc2UiDQotCS8+DQotCTxUb29sDQotCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCUVtYmVkTWFuaWZlc3Q9ImZhbHNlIg0KLQkvPg0KLQk8VG9vbA0KLQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQlDb21tYW5kTGluZT0iIg0KLQkvPg0KLQk8VXNlck1hY3JvDQotCQlOYW1lPSJQeXRob25FeGUiDQotCQlWYWx1ZT0iJChTb2x1dGlvbkRpcilweXRob25fZC5leGUiDQotCS8+DQotPC9WaXN1YWxTdHVkaW9Qcm9wZXJ0eVNoZWV0Pg0KZGlmZiAtLWdpdCBhL1BDL1ZTOS4wL3B5ZXhwYXQudmNwcm9qIGIvUEMvVlM5LjAvcHlleHBhdC52Y3Byb2oKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGE4ZDJjZDcuLjAwMDAwMDAKLS0tIGEvUEMvVlM5LjAvcHlleHBhdC52Y3Byb2oKKysrIC9kZXYvbnVsbApAQCAtMSw1NTMgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iV2luZG93cy0xMjUyIj8+DQotPFZpc3VhbFN0dWRpb1Byb2plY3QNCi0JUHJvamVjdFR5cGU9IlZpc3VhbCBDKysiDQotCVZlcnNpb249IjkuMDAiDQotCU5hbWU9InB5ZXhwYXQiDQotCVByb2plY3RHVUlEPSJ7RDA2QjY0MjYtNDc2Mi00NENDLThCQUQtRDc5MDUyNTA3RjJGfSINCi0JUm9vdE5hbWVzcGFjZT0icHlleHBhdCINCi0JS2V5d29yZD0iV2luMzJQcm9qIg0KLQlUYXJnZXRGcmFtZXdvcmtWZXJzaW9uPSIxOTY2MTMiDQotCT4NCi0JPFBsYXRmb3Jtcz4NCi0JCTxQbGF0Zm9ybQ0KLQkJCU5hbWU9IldpbjMyIg0KLQkJLz4NCi0JCTxQbGF0Zm9ybQ0KLQkJCU5hbWU9Ing2NCINCi0JCS8+DQotCTwvUGxhdGZvcm1zPg0KLQk8VG9vbEZpbGVzPg0KLQk8L1Rvb2xGaWxlcz4NCi0JPENvbmZpZ3VyYXRpb25zPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJEZWJ1Z3xXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWRfZC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIuXC4uXC4uXE1vZHVsZXNcZXhwYXQiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJQWUVYUEFUX0VYUE9SVFM7SEFWRV9FWFBBVF9IO1hNTF9OUztYTUxfRFREO0JZVEVPUkRFUj0xMjM0O1hNTF9DT05URVhUX0JZVEVTPTEwMjQ7WE1MX1NUQVRJQztIQVZFX01FTU1PVkUiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iRGVidWd8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZF9kLnZzcHJvcHM7Llx4NjQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9Ii5cLi5cLi5cTW9kdWxlc1xleHBhdCINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IlBZRVhQQVRfRVhQT1JUUztIQVZFX0VYUEFUX0g7WE1MX05TO1hNTF9EVEQ7QllURU9SREVSPTEyMzQ7WE1MX0NPTlRFWFRfQllURVM9MTAyNDtYTUxfU1RBVElDO0hBVkVfTUVNTU9WRSINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJSZWxlYXNlfFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLlwuLlwuLlxNb2R1bGVzXGV4cGF0Ig0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iUFlFWFBBVF9FWFBPUlRTO0hBVkVfRVhQQVRfSDtYTUxfTlM7WE1MX0RURDtCWVRFT1JERVI9MTIzNDtYTUxfQ09OVEVYVF9CWVRFUz0xMDI0O1hNTF9TVEFUSUM7SEFWRV9NRU1NT1ZFIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlJlbGVhc2V8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ceDY0LnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJCVRhcmdldEVudmlyb25tZW50PSIzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLlwuLlwuLlxNb2R1bGVzXGV4cGF0Ig0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iUFlFWFBBVF9FWFBPUlRTO0hBVkVfRVhQQVRfSDtYTUxfTlM7WE1MX0RURDtCWVRFT1JERVI9MTIzNDtYTUxfQ09OVEVYVF9CWVRFUz0xMDI0O1hNTF9TVEFUSUM7SEFWRV9NRU1NT1ZFIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlBHSW5zdHJ1bWVudHxXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wczsuXHBnaW5zdHJ1bWVudC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLlwuLlwuLlxNb2R1bGVzXGV4cGF0Ig0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iUFlFWFBBVF9FWFBPUlRTO0hBVkVfRVhQQVRfSDtYTUxfTlM7WE1MX0RURDtCWVRFT1JERVI9MTIzNDtYTUxfQ09OVEVYVF9CWVRFUz0xMDI0O1hNTF9TVEFUSUM7SEFWRV9NRU1NT1ZFIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlBHSW5zdHJ1bWVudHx4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7Llx4NjQudnNwcm9wczsuXHBnaW5zdHJ1bWVudC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9Ii5cLi5cLi5cTW9kdWxlc1xleHBhdCINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IlBZRVhQQVRfRVhQT1JUUztIQVZFX0VYUEFUX0g7WE1MX05TO1hNTF9EVEQ7QllURU9SREVSPTEyMzQ7WE1MX0NPTlRFWFRfQllURVM9MTAyNDtYTUxfU1RBVElDO0hBVkVfTUVNTU9WRSINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJVGFyZ2V0TWFjaGluZT0iMTciDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUEdVcGRhdGV8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7LlxwZ3VwZGF0ZS52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLlwuLlwuLlxNb2R1bGVzXGV4cGF0Ig0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iUFlFWFBBVF9FWFBPUlRTO0hBVkVfRVhQQVRfSDtYTUxfTlM7WE1MX0RURDtCWVRFT1JERVI9MTIzNDtYTUxfQ09OVEVYVF9CWVRFUz0xMDI0O1hNTF9TVEFUSUM7SEFWRV9NRU1NT1ZFIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlBHVXBkYXRlfHg2NCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wczsuXHg2NC52c3Byb3BzOy5ccGd1cGRhdGUudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIuXC4uXC4uXE1vZHVsZXNcZXhwYXQiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJQWUVYUEFUX0VYUE9SVFM7SEFWRV9FWFBBVF9IO1hNTF9OUztYTUxfRFREO0JZVEVPUkRFUj0xMjM0O1hNTF9DT05URVhUX0JZVEVTPTEwMjQ7WE1MX1NUQVRJQztIQVZFX01FTU1PVkUiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCVRhcmdldE1hY2hpbmU9IjE3Ig0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCTwvQ29uZmlndXJhdGlvbnM+DQotCTxSZWZlcmVuY2VzPg0KLQk8L1JlZmVyZW5jZXM+DQotCTxGaWxlcz4NCi0JCTxGaWx0ZXINCi0JCQlOYW1lPSJIZWFkZXIgRmlsZXMiDQotCQkJPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xleHBhdFx4bWxyb2xlLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXGV4cGF0XHhtbHRvay5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJPC9GaWx0ZXI+DQotCQk8RmlsdGVyDQotCQkJTmFtZT0iU291cmNlIEZpbGVzIg0KLQkJCT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNccHlleHBhdC5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xleHBhdFx4bWxwYXJzZS5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xleHBhdFx4bWxyb2xlLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXGV4cGF0XHhtbHRvay5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJPC9GaWx0ZXI+DQotCTwvRmlsZXM+DQotCTxHbG9iYWxzPg0KLQk8L0dsb2JhbHM+DQotPC9WaXN1YWxTdHVkaW9Qcm9qZWN0Pg0KZGlmZiAtLWdpdCBhL1BDL1ZTOS4wL3B5cHJvamVjdC52c3Byb3BzIGIvUEMvVlM5LjAvcHlwcm9qZWN0LnZzcHJvcHMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGE5MDk4NzUuLjAwMDAwMDAKLS0tIGEvUEMvVlM5LjAvcHlwcm9qZWN0LnZzcHJvcHMKKysrIC9kZXYvbnVsbApAQCAtMSw5MSArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJXaW5kb3dzLTEyNTIiPz4NCi08VmlzdWFsU3R1ZGlvUHJvcGVydHlTaGVldA0KLQlQcm9qZWN0VHlwZT0iVmlzdWFsIEMrKyINCi0JVmVyc2lvbj0iOC4wMCINCi0JTmFtZT0icHlwcm9qZWN0Ig0KLQlPdXRwdXREaXJlY3Rvcnk9IiQoU29sdXRpb25EaXIpIg0KLQlJbnRlcm1lZGlhdGVEaXJlY3Rvcnk9IiQoU29sdXRpb25EaXIpJChQbGF0Zm9ybU5hbWUpLXRlbXAtJChDb25maWd1cmF0aW9uTmFtZSlcJChQcm9qZWN0TmFtZSlcIg0KLQk+DQotCTxUb29sDQotCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJT3B0aW1pemF0aW9uPSIyIg0KLQkJSW5saW5lRnVuY3Rpb25FeHBhbnNpb249IjEiDQotCQlFbmFibGVJbnRyaW5zaWNGdW5jdGlvbnM9InRydWUiDQotCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIuLlwuLlxJbmNsdWRlOyAuLlwuLlxQQyINCi0JCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJfV0lOMzIiDQotCQlTdHJpbmdQb29saW5nPSJ0cnVlIg0KLQkJRXhjZXB0aW9uSGFuZGxpbmc9IjAiDQotCQlSdW50aW1lTGlicmFyeT0iMCINCi0JCUVuYWJsZUZ1bmN0aW9uTGV2ZWxMaW5raW5nPSJ0cnVlIg0KLQkJV2FybmluZ0xldmVsPSIzIg0KLQkJRGVidWdJbmZvcm1hdGlvbkZvcm1hdD0iMyINCi0JCUNvbXBpbGVBcz0iMCINCi0JLz4NCi0JPFRvb2wNCi0JCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCUxpbmtJbmNyZW1lbnRhbD0iMSINCi0JCUFkZGl0aW9uYWxMaWJyYXJ5RGlyZWN0b3JpZXM9IiQoT3V0RGlyKSINCi0JCUdlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj0idHJ1ZSINCi0JCVByb2dyYW1EYXRhYmFzZUZpbGU9IiQoT3V0RGlyKSQoVGFyZ2V0TmFtZSkucGRiIg0KLQkJU3ViU3lzdGVtPSIyIg0KLQkJUmFuZG9taXplZEJhc2VBZGRyZXNzPSIxIg0KLQkJRGF0YUV4ZWN1dGlvblByZXZlbnRpb249IjAiDQotCQlUYXJnZXRNYWNoaW5lPSIxIg0KLQkvPg0KLQk8VG9vbA0KLQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9Ii4uXC4uXFBDOy4uXC4uXEluY2x1ZGUiDQotCS8+DQotCTxVc2VyTWFjcm8NCi0JCU5hbWU9IlB5RGxsTmFtZSINCi0JCVZhbHVlPSJweXRob24zNCINCi0JLz4NCi0JPFVzZXJNYWNybw0KLQkJTmFtZT0iUHl0aG9uRXhlIg0KLQkJVmFsdWU9IiQoU29sdXRpb25EaXIpXHB5dGhvbi5leGUiDQotCS8+DQotCTxVc2VyTWFjcm8NCi0JCU5hbWU9ImV4dGVybmFsc0RpciINCi0JCVZhbHVlPSIuLlwuLlwuLiINCi0JLz4NCi0JPFVzZXJNYWNybw0KLQkJTmFtZT0ic3FsaXRlM0RpciINCi0JCVZhbHVlPSIkKGV4dGVybmFsc0Rpcilcc3FsaXRlLTMuOC4zLjEiDQotCS8+DQotCTxVc2VyTWFjcm8NCi0JCU5hbWU9ImJ6MkRpciINCi0JCVZhbHVlPSIkKGV4dGVybmFsc0RpcilcYnppcDItMS4wLjYiDQotCS8+DQotCTxVc2VyTWFjcm8NCi0JCU5hbWU9Imx6bWFEaXIiDQotCQlWYWx1ZT0iJChleHRlcm5hbHNEaXIpXHh6LTUuMC41Ig0KLQkvPg0KLQk8VXNlck1hY3JvDQotCQlOYW1lPSJvcGVuc3NsRGlyIg0KLQkJVmFsdWU9IiQoZXh0ZXJuYWxzRGlyKVxvcGVuc3NsLTEuMC4xZyINCi0JLz4NCi0JPFVzZXJNYWNybw0KLQkJTmFtZT0idGNsdGtEaXIiDQotCQlWYWx1ZT0iJChleHRlcm5hbHNEaXIpXHRjbHRrIg0KLQkvPg0KLQk8VXNlck1hY3JvDQotCQlOYW1lPSJ0Y2x0azY0RGlyIg0KLQkJVmFsdWU9IiQoZXh0ZXJuYWxzRGlyKVx0Y2x0azY0Ig0KLQkvPg0KLQk8VXNlck1hY3JvDQotCQlOYW1lPSJ0Y2x0a0xpYiINCi0JCVZhbHVlPSIkKHRjbHRrRGlyKVxsaWJcdGNsODUubGliICQodGNsdGtEaXIpXGxpYlx0azg1LmxpYiINCi0JLz4NCi0JPFVzZXJNYWNybw0KLQkJTmFtZT0idGNsdGtMaWJEZWJ1ZyINCi0JCVZhbHVlPSIkKHRjbHRrRGlyKVxsaWJcdGNsODVnLmxpYiAkKHRjbHRrRGlyKVxsaWJcdGs4NWcubGliIg0KLQkvPg0KLQk8VXNlck1hY3JvDQotCQlOYW1lPSJ0Y2x0azY0TGliIg0KLQkJVmFsdWU9IiQodGNsdGs2NERpcilcbGliXHRjbDg1LmxpYiAkKHRjbHRrNjREaXIpXGxpYlx0azg1LmxpYiINCi0JLz4NCi0JPFVzZXJNYWNybw0KLQkJTmFtZT0idGNsdGs2NExpYkRlYnVnIg0KLQkJVmFsdWU9IiQodGNsdGs2NERpcilcbGliXHRjbDg1Zy5saWIgJCh0Y2x0azY0RGlyKVxsaWJcdGs4NWcubGliIg0KLQkvPg0KLTwvVmlzdWFsU3R1ZGlvUHJvcGVydHlTaGVldD4NCmRpZmYgLS1naXQgYS9QQy9WUzkuMC9weXRob24udmNwcm9qIGIvUEMvVlM5LjAvcHl0aG9uLnZjcHJvagpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjA3ZGUyMS4uMDAwMDAwMAotLS0gYS9QQy9WUzkuMC9weXRob24udmNwcm9qCisrKyAvZGV2L251bGwKQEAgLTEsNjM3ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IldpbmRvd3MtMTI1MiI/Pg0KLTxWaXN1YWxTdHVkaW9Qcm9qZWN0DQotCVByb2plY3RUeXBlPSJWaXN1YWwgQysrIg0KLQlWZXJzaW9uPSI5LjAwIg0KLQlOYW1lPSJweXRob24iDQotCVByb2plY3RHVUlEPSJ7QjExRDc1MEYtQ0QxRi00QTk2LTg1Q0UtRTY5QTVDNTI1OUY5fSINCi0JVGFyZ2V0RnJhbWV3b3JrVmVyc2lvbj0iMTMxMDcyIg0KLQk+DQotCTxQbGF0Zm9ybXM+DQotCQk8UGxhdGZvcm0NCi0JCQlOYW1lPSJXaW4zMiINCi0JCS8+DQotCQk8UGxhdGZvcm0NCi0JCQlOYW1lPSJ4NjQiDQotCQkvPg0KLQk8L1BsYXRmb3Jtcz4NCi0JPFRvb2xGaWxlcz4NCi0JPC9Ub29sRmlsZXM+DQotCTxDb25maWd1cmF0aW9ucz4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMSINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweXByb2plY3QudnNwcm9wczsuXHJlbGVhc2UudnNwcm9wcyINCi0JCQlVc2VPZk1GQz0iMCINCi0JCQlBVExNaW5pbWl6ZXNDUnVuVGltZUxpYnJhcnlVc2FnZT0iZmFsc2UiDQotCQkJQ2hhcmFjdGVyU2V0PSIyIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9Il9DT05TT0xFIg0KLQkJCQlTdHJpbmdQb29saW5nPSJ0cnVlIg0KLQkJCQlSdW50aW1lTGlicmFyeT0iMiINCi0JCQkJRW5hYmxlRnVuY3Rpb25MZXZlbExpbmtpbmc9InRydWUiDQotCQkJCUNvbXBpbGVBcz0iMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9Ik5ERUJVRyINCi0JCQkJQ3VsdHVyZT0iMTAzMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJT3V0cHV0RmlsZT0iJChPdXREaXIpXHB5dGhvbi5leGUiDQotCQkJCVN1YlN5c3RlbT0iMSINCi0JCQkJU3RhY2tSZXNlcnZlU2l6ZT0iMjAwMDAwMCINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MWQwMDAwMDAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUmVsZWFzZXx4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjEiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlwcm9qZWN0LnZzcHJvcHM7Llx4NjQudnNwcm9wczsuXHJlbGVhc2UudnNwcm9wcyINCi0JCQlVc2VPZk1GQz0iMCINCi0JCQlBVExNaW5pbWl6ZXNDUnVuVGltZUxpYnJhcnlVc2FnZT0iZmFsc2UiDQotCQkJQ2hhcmFjdGVyU2V0PSIyIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJfQ09OU09MRSINCi0JCQkJU3RyaW5nUG9vbGluZz0idHJ1ZSINCi0JCQkJUnVudGltZUxpYnJhcnk9IjIiDQotCQkJCUVuYWJsZUZ1bmN0aW9uTGV2ZWxMaW5raW5nPSJ0cnVlIg0KLQkJCQlDb21waWxlQXM9IjAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJOREVCVUciDQotCQkJCUN1bHR1cmU9IjEwMzMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCU91dHB1dEZpbGU9IiQoT3V0RGlyKVxweXRob24uZXhlIg0KLQkJCQlTdWJTeXN0ZW09IjEiDQotCQkJCVN0YWNrUmVzZXJ2ZVNpemU9IjIwMDAwMDAiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFkMDAwMDAwIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IkRlYnVnfFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIxIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5cHJvamVjdC52c3Byb3BzOy5cZGVidWcudnNwcm9wcyINCi0JCQlVc2VPZk1GQz0iMCINCi0JCQlBVExNaW5pbWl6ZXNDUnVuVGltZUxpYnJhcnlVc2FnZT0iZmFsc2UiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCU9wdGltaXphdGlvbj0iMCINCi0JCQkJRW5hYmxlSW50cmluc2ljRnVuY3Rpb25zPSJmYWxzZSINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iX0NPTlNPTEUiDQotCQkJCVJ1bnRpbWVMaWJyYXJ5PSIzIg0KLQkJCQlCcm93c2VJbmZvcm1hdGlvbj0iMSINCi0JCQkJQ29tcGlsZUFzPSIwIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iX0RFQlVHIg0KLQkJCQlDdWx0dXJlPSIxMDMzIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIuLlwuLlxJbmNsdWRlIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlPdXRwdXRGaWxlPSIkKE91dERpcilccHl0aG9uX2QuZXhlIg0KLQkJCQlTdWJTeXN0ZW09IjEiDQotCQkJCVN0YWNrUmVzZXJ2ZVNpemU9IjIwMDAwMDAiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFkMDAwMDAwIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IkRlYnVnfHg2NCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMSINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweXByb2plY3QudnNwcm9wczsuXHg2NC52c3Byb3BzOy5cZGVidWcudnNwcm9wcyINCi0JCQlVc2VPZk1GQz0iMCINCi0JCQlBVExNaW5pbWl6ZXNDUnVuVGltZUxpYnJhcnlVc2FnZT0iZmFsc2UiDQotCQkJQ2hhcmFjdGVyU2V0PSIyIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlPcHRpbWl6YXRpb249IjAiDQotCQkJCUVuYWJsZUludHJpbnNpY0Z1bmN0aW9ucz0iZmFsc2UiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9Il9DT05TT0xFIg0KLQkJCQlSdW50aW1lTGlicmFyeT0iMyINCi0JCQkJQnJvd3NlSW5mb3JtYXRpb249IjEiDQotCQkJCUNvbXBpbGVBcz0iMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9Il9ERUJVRyINCi0JCQkJQ3VsdHVyZT0iMTAzMyINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLi5cLi5cSW5jbHVkZSINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJT3V0cHV0RmlsZT0iJChPdXREaXIpXHB5dGhvbl9kLmV4ZSINCi0JCQkJU3ViU3lzdGVtPSIxIg0KLQkJCQlTdGFja1Jlc2VydmVTaXplPSIyMTAwMDAwIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxZDAwMDAwMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR0luc3RydW1lbnR8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjEiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlwcm9qZWN0LnZzcHJvcHM7LlxyZWxlYXNlLnZzcHJvcHM7LlxwZ2luc3RydW1lbnQudnNwcm9wcyINCi0JCQlVc2VPZk1GQz0iMCINCi0JCQlBVExNaW5pbWl6ZXNDUnVuVGltZUxpYnJhcnlVc2FnZT0iZmFsc2UiDQotCQkJQ2hhcmFjdGVyU2V0PSIyIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9Il9DT05TT0xFIg0KLQkJCQlTdHJpbmdQb29saW5nPSJ0cnVlIg0KLQkJCQlSdW50aW1lTGlicmFyeT0iMiINCi0JCQkJRW5hYmxlRnVuY3Rpb25MZXZlbExpbmtpbmc9InRydWUiDQotCQkJCUNvbXBpbGVBcz0iMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9Ik5ERUJVRyINCi0JCQkJQ3VsdHVyZT0iMTAzMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJT3V0cHV0RmlsZT0iJChPdXREaXIpXHB5dGhvbi5leGUiDQotCQkJCVN1YlN5c3RlbT0iMSINCi0JCQkJU3RhY2tSZXNlcnZlU2l6ZT0iMjAwMDAwMCINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MWQwMDAwMDAiDQotCQkJCUltcG9ydExpYnJhcnk9IiINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR0luc3RydW1lbnR8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIxIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5cHJvamVjdC52c3Byb3BzOy5ceDY0LnZzcHJvcHM7LlxyZWxlYXNlLnZzcHJvcHM7LlxwZ2luc3RydW1lbnQudnNwcm9wcyINCi0JCQlVc2VPZk1GQz0iMCINCi0JCQlBVExNaW5pbWl6ZXNDUnVuVGltZUxpYnJhcnlVc2FnZT0iZmFsc2UiDQotCQkJQ2hhcmFjdGVyU2V0PSIyIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJfQ09OU09MRSINCi0JCQkJU3RyaW5nUG9vbGluZz0idHJ1ZSINCi0JCQkJUnVudGltZUxpYnJhcnk9IjIiDQotCQkJCUVuYWJsZUZ1bmN0aW9uTGV2ZWxMaW5raW5nPSJ0cnVlIg0KLQkJCQlDb21waWxlQXM9IjAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJOREVCVUciDQotCQkJCUN1bHR1cmU9IjEwMzMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCU91dHB1dEZpbGU9IiQoT3V0RGlyKVxweXRob24uZXhlIg0KLQkJCQlTdWJTeXN0ZW09IjEiDQotCQkJCVN0YWNrUmVzZXJ2ZVNpemU9IjIwMDAwMDAiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFkMDAwMDAwIg0KLQkJCQlJbXBvcnRMaWJyYXJ5PSIiDQotCQkJCVRhcmdldE1hY2hpbmU9IjE3Ig0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlBHVXBkYXRlfFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIxIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5cHJvamVjdC52c3Byb3BzOy5ccmVsZWFzZS52c3Byb3BzOy5ccGd1cGRhdGUudnNwcm9wcyINCi0JCQlVc2VPZk1GQz0iMCINCi0JCQlBVExNaW5pbWl6ZXNDUnVuVGltZUxpYnJhcnlVc2FnZT0iZmFsc2UiDQotCQkJQ2hhcmFjdGVyU2V0PSIyIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9Il9DT05TT0xFIg0KLQkJCQlTdHJpbmdQb29saW5nPSJ0cnVlIg0KLQkJCQlSdW50aW1lTGlicmFyeT0iMiINCi0JCQkJRW5hYmxlRnVuY3Rpb25MZXZlbExpbmtpbmc9InRydWUiDQotCQkJCUNvbXBpbGVBcz0iMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9Ik5ERUJVRyINCi0JCQkJQ3VsdHVyZT0iMTAzMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJT3V0cHV0RmlsZT0iJChPdXREaXIpXHB5dGhvbi5leGUiDQotCQkJCVN1YlN5c3RlbT0iMSINCi0JCQkJU3RhY2tSZXNlcnZlU2l6ZT0iMjAwMDAwMCINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MWQwMDAwMDAiDQotCQkJCUltcG9ydExpYnJhcnk9IiINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR1VwZGF0ZXx4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjEiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlwcm9qZWN0LnZzcHJvcHM7Llx4NjQudnNwcm9wczsuXHJlbGVhc2UudnNwcm9wczsuXHBndXBkYXRlLnZzcHJvcHMiDQotCQkJVXNlT2ZNRkM9IjAiDQotCQkJQVRMTWluaW1pemVzQ1J1blRpbWVMaWJyYXJ5VXNhZ2U9ImZhbHNlIg0KLQkJCUNoYXJhY3RlclNldD0iMiINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJCVRhcmdldEVudmlyb25tZW50PSIzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iX0NPTlNPTEUiDQotCQkJCVN0cmluZ1Bvb2xpbmc9InRydWUiDQotCQkJCVJ1bnRpbWVMaWJyYXJ5PSIyIg0KLQkJCQlFbmFibGVGdW5jdGlvbkxldmVsTGlua2luZz0idHJ1ZSINCi0JCQkJQ29tcGlsZUFzPSIwIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iTkRFQlVHIg0KLQkJCQlDdWx0dXJlPSIxMDMzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlPdXRwdXRGaWxlPSIkKE91dERpcilccHl0aG9uLmV4ZSINCi0JCQkJU3ViU3lzdGVtPSIxIg0KLQkJCQlTdGFja1Jlc2VydmVTaXplPSIyMDAwMDAwIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxZDAwMDAwMCINCi0JCQkJSW1wb3J0TGlicmFyeT0iIg0KLQkJCQlUYXJnZXRNYWNoaW5lPSIxNyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQk8L0NvbmZpZ3VyYXRpb25zPg0KLQk8UmVmZXJlbmNlcz4NCi0JPC9SZWZlcmVuY2VzPg0KLQk8RmlsZXM+DQotCQk8RmlsdGVyDQotCQkJTmFtZT0iUmVzb3VyY2UgRmlsZXMiDQotCQkJPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUENccHljb24uaWNvIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUENccHl0aG9uX2V4ZS5yYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCTwvRmlsdGVyPg0KLQkJPEZpbHRlcg0KLQkJCU5hbWU9IlNvdXJjZSBGaWxlcyINCi0JCQk+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXHB5dGhvbi5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJPC9GaWx0ZXI+DQotCTwvRmlsZXM+DQotCTxHbG9iYWxzPg0KLQk8L0dsb2JhbHM+DQotPC9WaXN1YWxTdHVkaW9Qcm9qZWN0Pg0KZGlmZiAtLWdpdCBhL1BDL1ZTOS4wL3B5dGhvbjNkbGwudmNwcm9qIGIvUEMvVlM5LjAvcHl0aG9uM2RsbC52Y3Byb2oKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGVkNzMzM2IuLjAwMDAwMDAKLS0tIGEvUEMvVlM5LjAvcHl0aG9uM2RsbC52Y3Byb2oKKysrIC9kZXYvbnVsbApAQCAtMSwyNDYgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iV2luZG93cy0xMjUyIj8+DQotPFZpc3VhbFN0dWRpb1Byb2plY3QNCi0JUHJvamVjdFR5cGU9IlZpc3VhbCBDKysiDQotCVZlcnNpb249IjkuMDAiDQotCU5hbWU9InB5dGhvbjNkbGwiDQotCVByb2plY3RHVUlEPSJ7ODg1RDQ4OTgtRDA4RC00MDkxLTlDNDAtQzcwMENGRTNGQzVBfSINCi0JUm9vdE5hbWVzcGFjZT0icHl0aG9uM2RsbCINCi0JS2V5d29yZD0iV2luMzJQcm9qIg0KLQlUYXJnZXRGcmFtZXdvcmtWZXJzaW9uPSIxOTY2MTMiDQotCT4NCi0JPFBsYXRmb3Jtcz4NCi0JCTxQbGF0Zm9ybQ0KLQkJCU5hbWU9IldpbjMyIg0KLQkJLz4NCi0JCTxQbGF0Zm9ybQ0KLQkJCU5hbWU9Ing2NCINCi0JCS8+DQotCTwvUGxhdGZvcm1zPg0KLQk8VG9vbEZpbGVzPg0KLQk8L1Rvb2xGaWxlcz4NCi0JPENvbmZpZ3VyYXRpb25zPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJSZWxlYXNlfFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIwIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5cHJvamVjdC52c3Byb3BzOy5ccmVsZWFzZS52c3Byb3BzIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNOTWFrZVRvb2wiDQotCQkJCUJ1aWxkQ29tbWFuZExpbmU9ImNkICQoSW5wdXREaXIpXC4uXC4uXFBDJiN4MEQ7JiN4MEE7bm1ha2UgL2YgcHl0aG9uMy5tYWsgTUFDSElORT14ODYgT3V0RGlyPSQoT3V0RGlyKSINCi0JCQkJUmVCdWlsZENvbW1hbmRMaW5lPSJjZCAkKElucHV0RGlyKVwuLlwuLlxQQyYjeDBEOyYjeDBBO25tYWtlIC9mIHB5dGhvbjMubWFrIE1BQ0hJTkU9eDg2IE91dERpcj0kKE91dERpcikgcmVidWlsZCINCi0JCQkJQ2xlYW5Db21tYW5kTGluZT0iY2QgJChJbnB1dERpcilcLi5cLi5cUEMmI3gwRDsmI3gwQTtubWFrZSAvZiBweXRob24zLm1hayBNQUNISU5FPXg4NiBPdXREaXI9JChPdXREaXIpIGNsZWFuIg0KLQkJCQlPdXRwdXQ9IiQoT3V0RGlyKVxweXRob24zLmRsbCINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IiINCi0JCQkJSW5jbHVkZVNlYXJjaFBhdGg9IiINCi0JCQkJRm9yY2VkSW5jbHVkZXM9IiINCi0JCQkJQXNzZW1ibHlTZWFyY2hQYXRoPSIiDQotCQkJCUZvcmNlZFVzaW5nQXNzZW1ibGllcz0iIg0KLQkJCQlDb21waWxlQXNNYW5hZ2VkPSIiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUmVsZWFzZXx4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjAiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlwcm9qZWN0LnZzcHJvcHM7Llx4NjQudnNwcm9wczsuXHJlbGVhc2UudnNwcm9wcyINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNOTWFrZVRvb2wiDQotCQkJCUJ1aWxkQ29tbWFuZExpbmU9ImNkICQoSW5wdXREaXIpXC4uXC4uXFBDJiN4MEQ7JiN4MEE7bm1ha2UgL2YgcHl0aG9uMy5tYWsgTUFDSElORT14NjQgT3V0RGlyPSQoT3V0RGlyKSINCi0JCQkJUmVCdWlsZENvbW1hbmRMaW5lPSJjZCAkKElucHV0RGlyKVwuLlwuLlxQQyYjeDBEOyYjeDBBO25tYWtlIC9mIHB5dGhvbjMubWFrIE1BQ0hJTkU9eDY0IE91dERpcj0kKE91dERpcikgcmVidWlsZCINCi0JCQkJQ2xlYW5Db21tYW5kTGluZT0iY2QgJChJbnB1dERpcilcLi5cLi5cUEMmI3gwRDsmI3gwQTtubWFrZSAvZiBweXRob24zLm1hayBNQUNISU5FPXg2NCBPdXREaXI9JChPdXREaXIpIGNsZWFuIg0KLQkJCQlPdXRwdXQ9IiQoT3V0RGlyKVxweXRob24zLmRsbCINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IiINCi0JCQkJSW5jbHVkZVNlYXJjaFBhdGg9IiINCi0JCQkJRm9yY2VkSW5jbHVkZXM9IiINCi0JCQkJQXNzZW1ibHlTZWFyY2hQYXRoPSIiDQotCQkJCUZvcmNlZFVzaW5nQXNzZW1ibGllcz0iIg0KLQkJCQlDb21waWxlQXNNYW5hZ2VkPSIiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUEdJbnN0cnVtZW50fFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIwIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5cHJvamVjdC52c3Byb3BzOy5ccmVsZWFzZS52c3Byb3BzOy5ccGdpbnN0cnVtZW50LnZzcHJvcHMiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTk1ha2VUb29sIg0KLQkJCQlCdWlsZENvbW1hbmRMaW5lPSJjZCAkKElucHV0RGlyKVwuLlwuLlxQQyYjeDBEOyYjeDBBO25tYWtlIC9mIHB5dGhvbjMubWFrIE1BQ0hJTkU9eDg2IE91dERpcj0kKE91dERpcikiDQotCQkJCVJlQnVpbGRDb21tYW5kTGluZT0iY2QgJChJbnB1dERpcilcLi5cLi5cUEMmI3gwRDsmI3gwQTtubWFrZSAvZiBweXRob24zLm1hayBNQUNISU5FPXg4NiBPdXREaXI9JChPdXREaXIpIHJlYnVpbGQiDQotCQkJCUNsZWFuQ29tbWFuZExpbmU9ImNkICQoSW5wdXREaXIpXC4uXC4uXFBDJiN4MEQ7JiN4MEE7bm1ha2UgL2YgcHl0aG9uMy5tYWsgTUFDSElORT14ODYgT3V0RGlyPSQoT3V0RGlyKSBjbGVhbiINCi0JCQkJT3V0cHV0PSIkKE91dERpcilccHl0aG9uMy5kbGwiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSIiDQotCQkJCUluY2x1ZGVTZWFyY2hQYXRoPSIiDQotCQkJCUZvcmNlZEluY2x1ZGVzPSIiDQotCQkJCUFzc2VtYmx5U2VhcmNoUGF0aD0iIg0KLQkJCQlGb3JjZWRVc2luZ0Fzc2VtYmxpZXM9IiINCi0JCQkJQ29tcGlsZUFzTWFuYWdlZD0iIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlBHSW5zdHJ1bWVudHx4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjAiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlwcm9qZWN0LnZzcHJvcHM7Llx4NjQudnNwcm9wczsuXHJlbGVhc2UudnNwcm9wczsuXHBnaW5zdHJ1bWVudC52c3Byb3BzIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ05NYWtlVG9vbCINCi0JCQkJQnVpbGRDb21tYW5kTGluZT0iY2QgJChJbnB1dERpcilcLi5cLi5cUEMmI3gwRDsmI3gwQTtubWFrZSAvZiBweXRob24zLm1hayBNQUNISU5FPXg2NCBPdXREaXI9JChPdXREaXIpIg0KLQkJCQlSZUJ1aWxkQ29tbWFuZExpbmU9ImNkICQoSW5wdXREaXIpXC4uXC4uXFBDJiN4MEQ7JiN4MEE7bm1ha2UgL2YgcHl0aG9uMy5tYWsgTUFDSElORT14NjQgT3V0RGlyPSQoT3V0RGlyKSByZWJ1aWxkIg0KLQkJCQlDbGVhbkNvbW1hbmRMaW5lPSJjZCAkKElucHV0RGlyKVwuLlwuLlxQQyYjeDBEOyYjeDBBO25tYWtlIC9mIHB5dGhvbjMubWFrIE1BQ0hJTkU9eDY0IE91dERpcj0kKE91dERpcikgY2xlYW4iDQotCQkJCU91dHB1dD0iJChPdXREaXIpXHB5dGhvbjMuZGxsIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iIg0KLQkJCQlJbmNsdWRlU2VhcmNoUGF0aD0iIg0KLQkJCQlGb3JjZWRJbmNsdWRlcz0iIg0KLQkJCQlBc3NlbWJseVNlYXJjaFBhdGg9IiINCi0JCQkJRm9yY2VkVXNpbmdBc3NlbWJsaWVzPSIiDQotCQkJCUNvbXBpbGVBc01hbmFnZWQ9IiINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR1VwZGF0ZXxXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMCINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweXByb2plY3QudnNwcm9wczsuXHJlbGVhc2UudnNwcm9wczsuXHBndXBkYXRlLnZzcHJvcHMiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTk1ha2VUb29sIg0KLQkJCQlCdWlsZENvbW1hbmRMaW5lPSJjZCAkKElucHV0RGlyKVwuLlwuLlxQQyYjeDBEOyYjeDBBO25tYWtlIC9mIHB5dGhvbjMubWFrIE1BQ0hJTkU9eDg2IE91dERpcj0kKE91dERpcikiDQotCQkJCVJlQnVpbGRDb21tYW5kTGluZT0iY2QgJChJbnB1dERpcilcLi5cLi5cUEMmI3gwRDsmI3gwQTtubWFrZSAvZiBweXRob24zLm1hayBNQUNISU5FPXg4NiBPdXREaXI9JChPdXREaXIpIHJlYnVpbGQiDQotCQkJCUNsZWFuQ29tbWFuZExpbmU9ImNkICQoSW5wdXREaXIpXC4uXC4uXFBDJiN4MEQ7JiN4MEE7bm1ha2UgL2YgcHl0aG9uMy5tYWsgTUFDSElORT14ODYgT3V0RGlyPSQoT3V0RGlyKSBjbGVhbiINCi0JCQkJT3V0cHV0PSIkKE91dERpcilccHl0aG9uMy5kbGwiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSIiDQotCQkJCUluY2x1ZGVTZWFyY2hQYXRoPSIiDQotCQkJCUZvcmNlZEluY2x1ZGVzPSIiDQotCQkJCUFzc2VtYmx5U2VhcmNoUGF0aD0iIg0KLQkJCQlGb3JjZWRVc2luZ0Fzc2VtYmxpZXM9IiINCi0JCQkJQ29tcGlsZUFzTWFuYWdlZD0iIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlBHVXBkYXRlfHg2NCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMCINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweXByb2plY3QudnNwcm9wczsuXHg2NC52c3Byb3BzOy5ccmVsZWFzZS52c3Byb3BzOy5ccGd1cGRhdGUudnNwcm9wcyINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNOTWFrZVRvb2wiDQotCQkJCUJ1aWxkQ29tbWFuZExpbmU9ImNkICQoSW5wdXREaXIpXC4uXC4uXFBDJiN4MEQ7JiN4MEE7bm1ha2UgL2YgcHl0aG9uMy5tYWsgTUFDSElORT14NjQgT3V0RGlyPSQoT3V0RGlyKSINCi0JCQkJUmVCdWlsZENvbW1hbmRMaW5lPSJjZCAkKElucHV0RGlyKVwuLlwuLlxQQyYjeDBEOyYjeDBBO25tYWtlIC9mIHB5dGhvbjMubWFrIE1BQ0hJTkU9eDY0IE91dERpcj0kKE91dERpcikgcmVidWlsZCINCi0JCQkJQ2xlYW5Db21tYW5kTGluZT0iY2QgJChJbnB1dERpcilcLi5cLi5cUEMmI3gwRDsmI3gwQTtubWFrZSAvZiBweXRob24zLm1hayBNQUNISU5FPXg2NCBPdXREaXI9JChPdXREaXIpIGNsZWFuIg0KLQkJCQlPdXRwdXQ9IiQoT3V0RGlyKVxweXRob24zLmRsbCINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IiINCi0JCQkJSW5jbHVkZVNlYXJjaFBhdGg9IiINCi0JCQkJRm9yY2VkSW5jbHVkZXM9IiINCi0JCQkJQXNzZW1ibHlTZWFyY2hQYXRoPSIiDQotCQkJCUZvcmNlZFVzaW5nQXNzZW1ibGllcz0iIg0KLQkJCQlDb21waWxlQXNNYW5hZ2VkPSIiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JPC9Db25maWd1cmF0aW9ucz4NCi0JPFJlZmVyZW5jZXM+DQotCTwvUmVmZXJlbmNlcz4NCi0JPEZpbGVzPg0KLQkJPEZpbHRlcg0KLQkJCU5hbWU9IlNvdXJjZSBGaWxlcyINCi0JCQlGaWx0ZXI9ImNwcDtjO2NjO2N4eDtkZWY7b2RsO2lkbDtocGo7YmF0O2FzbTthc214Ig0KLQkJCVVuaXF1ZUlkZW50aWZpZXI9Ins0RkM3MzdGMS1DN0E1LTQzNzYtQTA2Ni0yQTMyRDc1MkEyRkZ9Ig0KLQkJCT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFBDXHB5dGhvbjMuZGVmIg0KLQkJCQk+DQotCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KLQkJCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiINCi0JCQkJCT4NCi0JCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCi0JCQkJPEZpbGVDb25maWd1cmF0aW9uDQotCQkJCQlOYW1lPSJSZWxlYXNlfHg2NCINCi0JCQkJCT4NCi0JCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCi0JCQkJPEZpbGVDb25maWd1cmF0aW9uDQotCQkJCQlOYW1lPSJQR0luc3RydW1lbnR8V2luMzIiDQotCQkJCQk+DQotCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQotCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KLQkJCQkJTmFtZT0iUEdJbnN0cnVtZW50fHg2NCINCi0JCQkJCT4NCi0JCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCi0JCQkJPEZpbGVDb25maWd1cmF0aW9uDQotCQkJCQlOYW1lPSJQR1VwZGF0ZXxXaW4zMiINCi0JCQkJCT4NCi0JCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCi0JCQkJPEZpbGVDb25maWd1cmF0aW9uDQotCQkJCQlOYW1lPSJQR1VwZGF0ZXx4NjQiDQotCQkJCQk+DQotCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUENccHl0aG9uM2RsbC5jIg0KLQkJCQk+DQotCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KLQkJCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiINCi0JCQkJCT4NCi0JCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCi0JCQkJPEZpbGVDb25maWd1cmF0aW9uDQotCQkJCQlOYW1lPSJSZWxlYXNlfHg2NCINCi0JCQkJCT4NCi0JCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCi0JCQkJPEZpbGVDb25maWd1cmF0aW9uDQotCQkJCQlOYW1lPSJQR0luc3RydW1lbnR8V2luMzIiDQotCQkJCQk+DQotCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQotCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KLQkJCQkJTmFtZT0iUEdJbnN0cnVtZW50fHg2NCINCi0JCQkJCT4NCi0JCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCi0JCQkJPEZpbGVDb25maWd1cmF0aW9uDQotCQkJCQlOYW1lPSJQR1VwZGF0ZXxXaW4zMiINCi0JCQkJCT4NCi0JCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCi0JCQkJPEZpbGVDb25maWd1cmF0aW9uDQotCQkJCQlOYW1lPSJQR1VwZGF0ZXx4NjQiDQotCQkJCQk+DQotCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQotCQkJPC9GaWxlPg0KLQkJPC9GaWx0ZXI+DQotCQk8RmlsdGVyDQotCQkJTmFtZT0iSGVhZGVyIEZpbGVzIg0KLQkJCUZpbHRlcj0iaDtocHA7aHh4O2htO2lubDtpbmM7eHNkIg0KLQkJCVVuaXF1ZUlkZW50aWZpZXI9Ins5Mzk5NTM4MC04OUJELTRiMDQtODhFQi02MjVGQkU1MkVCRkJ9Ig0KLQkJCT4NCi0JCTwvRmlsdGVyPg0KLQkJPEZpbHRlcg0KLQkJCU5hbWU9IlJlc291cmNlIEZpbGVzIg0KLQkJCUZpbHRlcj0icmM7aWNvO2N1cjtibXA7ZGxnO3JjMjtyY3Q7YmluO3JncztnaWY7anBnO2pwZWc7anBlO3Jlc3g7dGlmZjt0aWY7cG5nO3dhdiINCi0JCQlVbmlxdWVJZGVudGlmaWVyPSJ7NjdEQTZBQjYtRjgwMC00YzA4LThCN0EtODNCQjEyMUFBRDAxfSINCi0JCQk+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQQ1xweXRob25fbnQucmMiDQotCQkJCT4NCi0JCQkJPEZpbGVDb25maWd1cmF0aW9uDQotCQkJCQlOYW1lPSJSZWxlYXNlfFdpbjMyIg0KLQkJCQkJPg0KLQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KLQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCi0JCQkJCU5hbWU9IlJlbGVhc2V8eDY0Ig0KLQkJCQkJPg0KLQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KLQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCi0JCQkJCU5hbWU9IlBHSW5zdHJ1bWVudHxXaW4zMiINCi0JCQkJCT4NCi0JCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCi0JCQkJPEZpbGVDb25maWd1cmF0aW9uDQotCQkJCQlOYW1lPSJQR0luc3RydW1lbnR8eDY0Ig0KLQkJCQkJPg0KLQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KLQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCi0JCQkJCU5hbWU9IlBHVXBkYXRlfFdpbjMyIg0KLQkJCQkJPg0KLQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KLQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCi0JCQkJCU5hbWU9IlBHVXBkYXRlfHg2NCINCi0JCQkJCT4NCi0JCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCi0JCQk8L0ZpbGU+DQotCQk8L0ZpbHRlcj4NCi0JPC9GaWxlcz4NCi0JPEdsb2JhbHM+DQotCTwvR2xvYmFscz4NCi08L1Zpc3VhbFN0dWRpb1Byb2plY3Q+DQpkaWZmIC0tZ2l0IGEvUEMvVlM5LjAvcHl0aG9uY29yZS52Y3Byb2ogYi9QQy9WUzkuMC9weXRob25jb3JlLnZjcHJvagpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggY2Y2MDQ3MC4uMDAwMDAwMAotLS0gYS9QQy9WUzkuMC9weXRob25jb3JlLnZjcHJvagorKysgL2Rldi9udWxsCkBAIC0xLDE4NzcgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iV2luZG93cy0xMjUyIj8+DQotPFZpc3VhbFN0dWRpb1Byb2plY3QNCi0JUHJvamVjdFR5cGU9IlZpc3VhbCBDKysiDQotCVZlcnNpb249IjkuMDAiDQotCU5hbWU9InB5dGhvbmNvcmUiDQotCVByb2plY3RHVUlEPSJ7Q0Y3QUMzRDEtRTJERi00MUQyLUJFQTYtMUUyNTU2Q0RFQTI2fSINCi0JUm9vdE5hbWVzcGFjZT0icHl0aG9uY29yZSINCi0JVGFyZ2V0RnJhbWV3b3JrVmVyc2lvbj0iMTMxMDcyIg0KLQk+DQotCTxQbGF0Zm9ybXM+DQotCQk8UGxhdGZvcm0NCi0JCQlOYW1lPSJXaW4zMiINCi0JCS8+DQotCQk8UGxhdGZvcm0NCi0JCQlOYW1lPSJ4NjQiDQotCQkvPg0KLQk8L1BsYXRmb3Jtcz4NCi0JPFRvb2xGaWxlcz4NCi0JPC9Ub29sRmlsZXM+DQotCTxDb25maWd1cmF0aW9ucz4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweXByb2plY3QudnNwcm9wczsuXHJlbGVhc2UudnNwcm9wcyINCi0JCQlVc2VPZk1GQz0iMCINCi0JCQlBVExNaW5pbWl6ZXNDUnVuVGltZUxpYnJhcnlVc2FnZT0iZmFsc2UiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbE9wdGlvbnM9Ii9abTIwMCAiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9Ii4uXC4uXFB5dGhvbjsuLlwuLlxNb2R1bGVzXHpsaWIiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJfVVNSRExMO1B5X0JVSUxEX0NPUkU7UHlfRU5BQkxFX1NIQVJFRDtXSU4zMiINCi0JCQkJUnVudGltZUxpYnJhcnk9IjIiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJOREVCVUciDQotCQkJCUN1bHR1cmU9IjEwMzMiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9Ii4uXC4uXEluY2x1ZGUiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJCURlc2NyaXB0aW9uPSJHZW5lcmF0ZSBidWlsZCBpbmZvcm1hdGlvbi4uLiINCi0JCQkJQ29tbWFuZExpbmU9IiZxdW90OyQoU29sdXRpb25EaXIpbWFrZV9idWlsZGluZm8uZXhlJnF1b3Q7IFJlbGVhc2UgJnF1b3Q7JChJbnREaXIpXCZxdW90OyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0iJnF1b3Q7JChJbnREaXIpZ2V0YnVpbGRpbmZvLm8mcXVvdDsiDQotCQkJCU91dHB1dEZpbGU9IiQoT3V0RGlyKVwkKFB5RGxsTmFtZSkuZGxsIg0KLQkJCQlJZ25vcmVEZWZhdWx0TGlicmFyeU5hbWVzPSJsaWJjIg0KLQkJCQlQcm9ncmFtRGF0YWJhc2VGaWxlPSIkKE91dERpcikkKFB5RGxsTmFtZSkucGRiIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxZTAwMDAwMCINCi0JCQkJSW1wb3J0TGlicmFyeT0iJChPdXREaXIpJChQeURsbE5hbWUpLmxpYiINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJSZWxlYXNlfHg2NCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweXByb2plY3QudnNwcm9wczsuXHg2NC52c3Byb3BzOy5ccmVsZWFzZS52c3Byb3BzIg0KLQkJCVVzZU9mTUZDPSIwIg0KLQkJCUFUTE1pbmltaXplc0NSdW5UaW1lTGlicmFyeVVzYWdlPSJmYWxzZSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJCVRhcmdldEVudmlyb25tZW50PSIzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbE9wdGlvbnM9Ii9abTIwMCAiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9Ii4uXC4uXFB5dGhvbjsuLlwuLlxNb2R1bGVzXHpsaWIiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJfVVNSRExMO1B5X0JVSUxEX0NPUkU7UHlfRU5BQkxFX1NIQVJFRDtXSU4zMiINCi0JCQkJUnVudGltZUxpYnJhcnk9IjIiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJOREVCVUciDQotCQkJCUN1bHR1cmU9IjEwMzMiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9Ii4uXC4uXEluY2x1ZGUiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJCURlc2NyaXB0aW9uPSJHZW5lcmF0ZSBidWlsZCBpbmZvcm1hdGlvbi4uLiINCi0JCQkJQ29tbWFuZExpbmU9IiZxdW90OyQoU29sdXRpb25EaXIpbWFrZV9idWlsZGluZm8uZXhlJnF1b3Q7IFJlbGVhc2UgJnF1b3Q7JChJbnREaXIpXCZxdW90OyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0iJnF1b3Q7JChJbnREaXIpZ2V0YnVpbGRpbmZvLm8mcXVvdDsiDQotCQkJCU91dHB1dEZpbGU9IiQoT3V0RGlyKVwkKFB5RGxsTmFtZSkuZGxsIg0KLQkJCQlJZ25vcmVEZWZhdWx0TGlicmFyeU5hbWVzPSJsaWJjIg0KLQkJCQlQcm9ncmFtRGF0YWJhc2VGaWxlPSIkKE91dERpcikkKFB5RGxsTmFtZSkucGRiIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxZTAwMDAwMCINCi0JCQkJSW1wb3J0TGlicmFyeT0iJChPdXREaXIpJChQeURsbE5hbWUpLmxpYiINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJEZWJ1Z3xXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweXByb2plY3QudnNwcm9wczsuXGRlYnVnLnZzcHJvcHMiDQotCQkJVXNlT2ZNRkM9IjAiDQotCQkJQVRMTWluaW1pemVzQ1J1blRpbWVMaWJyYXJ5VXNhZ2U9ImZhbHNlIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsT3B0aW9ucz0iL1ptMjAwICINCi0JCQkJT3B0aW1pemF0aW9uPSIwIg0KLQkJCQlJbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj0iMCINCi0JCQkJRW5hYmxlSW50cmluc2ljRnVuY3Rpb25zPSJmYWxzZSINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLi5cLi5cUHl0aG9uOy4uXC4uXE1vZHVsZXNcemxpYiINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9Il9VU1JETEw7UHlfQlVJTERfQ09SRTtQeV9FTkFCTEVfU0hBUkVEO1dJTjMyIg0KLQkJCQlSdW50aW1lTGlicmFyeT0iMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9Il9ERUJVRyINCi0JCQkJQ3VsdHVyZT0iMTAzMyINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLi5cLi5cSW5jbHVkZSINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkJRGVzY3JpcHRpb249IkdlbmVyYXRlIGJ1aWxkIGluZm9ybWF0aW9uLi4uIg0KLQkJCQlDb21tYW5kTGluZT0iJnF1b3Q7JChTb2x1dGlvbkRpciltYWtlX2J1aWxkaW5mby5leGUmcXVvdDsgRGVidWcgJnF1b3Q7JChJbnREaXIpXCZxdW90OyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0iJnF1b3Q7JChJbnREaXIpZ2V0YnVpbGRpbmZvLm8mcXVvdDsiDQotCQkJCU91dHB1dEZpbGU9IiQoT3V0RGlyKVwkKFB5RGxsTmFtZSlfZC5kbGwiDQotCQkJCUlnbm9yZURlZmF1bHRMaWJyYXJ5TmFtZXM9ImxpYmMiDQotCQkJCVByb2dyYW1EYXRhYmFzZUZpbGU9IiQoT3V0RGlyKSQoUHlEbGxOYW1lKV9kLnBkYiINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MWUwMDAwMDAiDQotCQkJCUltcG9ydExpYnJhcnk9IiQoT3V0RGlyKSQoUHlEbGxOYW1lKV9kLmxpYiINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJEZWJ1Z3x4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlwcm9qZWN0LnZzcHJvcHM7Llx4NjQudnNwcm9wczsuXGRlYnVnLnZzcHJvcHMiDQotCQkJVXNlT2ZNRkM9IjAiDQotCQkJQVRMTWluaW1pemVzQ1J1blRpbWVMaWJyYXJ5VXNhZ2U9ImZhbHNlIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsT3B0aW9ucz0iL1ptMjAwICINCi0JCQkJT3B0aW1pemF0aW9uPSIwIg0KLQkJCQlJbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj0iMCINCi0JCQkJRW5hYmxlSW50cmluc2ljRnVuY3Rpb25zPSJmYWxzZSINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLi5cLi5cUHl0aG9uOy4uXC4uXE1vZHVsZXNcemxpYiINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9Il9VU1JETEw7UHlfQlVJTERfQ09SRTtQeV9FTkFCTEVfU0hBUkVEO1dJTjMyIg0KLQkJCQlSdW50aW1lTGlicmFyeT0iMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9Il9ERUJVRyINCi0JCQkJQ3VsdHVyZT0iMTAzMyINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLi5cLi5cSW5jbHVkZSINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkJRGVzY3JpcHRpb249IkdlbmVyYXRlIGJ1aWxkIGluZm9ybWF0aW9uLi4uIg0KLQkJCQlDb21tYW5kTGluZT0iJnF1b3Q7JChTb2x1dGlvbkRpciltYWtlX2J1aWxkaW5mby5leGUmcXVvdDsgRGVidWcgJnF1b3Q7JChJbnREaXIpXCZxdW90OyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0iJnF1b3Q7JChJbnREaXIpZ2V0YnVpbGRpbmZvLm8mcXVvdDsiDQotCQkJCU91dHB1dEZpbGU9IiQoT3V0RGlyKVwkKFB5RGxsTmFtZSlfZC5kbGwiDQotCQkJCUlnbm9yZURlZmF1bHRMaWJyYXJ5TmFtZXM9ImxpYmMiDQotCQkJCVByb2dyYW1EYXRhYmFzZUZpbGU9IiQoT3V0RGlyKSQoUHlEbGxOYW1lKV9kLnBkYiINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MWUwMDAwMDAiDQotCQkJCUltcG9ydExpYnJhcnk9IiQoT3V0RGlyKSQoUHlEbGxOYW1lKV9kLmxpYiINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR0luc3RydW1lbnR8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlwcm9qZWN0LnZzcHJvcHM7LlxyZWxlYXNlLnZzcHJvcHM7LlxwZ2luc3RydW1lbnQudnNwcm9wcyINCi0JCQlVc2VPZk1GQz0iMCINCi0JCQlBVExNaW5pbWl6ZXNDUnVuVGltZUxpYnJhcnlVc2FnZT0iZmFsc2UiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbE9wdGlvbnM9Ii9abTIwMCAiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9Ii4uXC4uXFB5dGhvbjsuLlwuLlxNb2R1bGVzXHpsaWIiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJfVVNSRExMO1B5X0JVSUxEX0NPUkU7UHlfRU5BQkxFX1NIQVJFRDtXSU4zMiINCi0JCQkJUnVudGltZUxpYnJhcnk9IjIiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJOREVCVUciDQotCQkJCUN1bHR1cmU9IjEwMzMiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9Ii4uXC4uXEluY2x1ZGUiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJCURlc2NyaXB0aW9uPSJHZW5lcmF0ZSBidWlsZCBpbmZvcm1hdGlvbi4uLiINCi0JCQkJQ29tbWFuZExpbmU9IiZxdW90OyQoU29sdXRpb25EaXIpbWFrZV9idWlsZGluZm8uZXhlJnF1b3Q7IFJlbGVhc2UgJnF1b3Q7JChJbnREaXIpXCZxdW90OyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0iJnF1b3Q7JChJbnREaXIpZ2V0YnVpbGRpbmZvLm8mcXVvdDsiDQotCQkJCU91dHB1dEZpbGU9IiQoT3V0RGlyKVwkKFB5RGxsTmFtZSkuZGxsIg0KLQkJCQlJZ25vcmVEZWZhdWx0TGlicmFyeU5hbWVzPSJsaWJjIg0KLQkJCQlQcm9ncmFtRGF0YWJhc2VGaWxlPSIkKE91dERpcikkKFB5RGxsTmFtZSkucGRiIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxZTAwMDAwMCINCi0JCQkJSW1wb3J0TGlicmFyeT0iJChPdXREaXJQR0kpJChQeURsbE5hbWUpLmxpYiINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR0luc3RydW1lbnR8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5cHJvamVjdC52c3Byb3BzOy5ceDY0LnZzcHJvcHM7LlxyZWxlYXNlLnZzcHJvcHM7LlxwZ2luc3RydW1lbnQudnNwcm9wcyINCi0JCQlVc2VPZk1GQz0iMCINCi0JCQlBVExNaW5pbWl6ZXNDUnVuVGltZUxpYnJhcnlVc2FnZT0iZmFsc2UiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxPcHRpb25zPSIvWm0yMDAgIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIuLlwuLlxQeXRob247Li5cLi5cTW9kdWxlc1x6bGliIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iX1VTUkRMTDtQeV9CVUlMRF9DT1JFO1B5X0VOQUJMRV9TSEFSRUQ7V0lOMzIiDQotCQkJCVJ1bnRpbWVMaWJyYXJ5PSIyIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iTkRFQlVHIg0KLQkJCQlDdWx0dXJlPSIxMDMzIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIuLlwuLlxJbmNsdWRlIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCQlEZXNjcmlwdGlvbj0iR2VuZXJhdGUgYnVpbGQgaW5mb3JtYXRpb24uLi4iDQotCQkJCUNvbW1hbmRMaW5lPSImcXVvdDskKFNvbHV0aW9uRGlyKW1ha2VfYnVpbGRpbmZvLmV4ZSZxdW90OyBSZWxlYXNlICZxdW90OyQoSW50RGlyKVwmcXVvdDsiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9IiZxdW90OyQoSW50RGlyKWdldGJ1aWxkaW5mby5vJnF1b3Q7Ig0KLQkJCQlPdXRwdXRGaWxlPSIkKE91dERpcilcJChQeURsbE5hbWUpLmRsbCINCi0JCQkJSWdub3JlRGVmYXVsdExpYnJhcnlOYW1lcz0ibGliYyINCi0JCQkJUHJvZ3JhbURhdGFiYXNlRmlsZT0iJChPdXREaXIpJChQeURsbE5hbWUpLnBkYiINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MWUwMDAwMDAiDQotCQkJCUltcG9ydExpYnJhcnk9IiQoT3V0RGlyUEdJKSQoUHlEbGxOYW1lKS5saWIiDQotCQkJCVRhcmdldE1hY2hpbmU9IjE3Ig0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlBHVXBkYXRlfFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5cHJvamVjdC52c3Byb3BzOy5ccmVsZWFzZS52c3Byb3BzOy5ccGd1cGRhdGUudnNwcm9wcyINCi0JCQlVc2VPZk1GQz0iMCINCi0JCQlBVExNaW5pbWl6ZXNDUnVuVGltZUxpYnJhcnlVc2FnZT0iZmFsc2UiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbE9wdGlvbnM9Ii9abTIwMCAiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9Ii4uXC4uXFB5dGhvbjsuLlwuLlxNb2R1bGVzXHpsaWIiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJfVVNSRExMO1B5X0JVSUxEX0NPUkU7UHlfRU5BQkxFX1NIQVJFRDtXSU4zMiINCi0JCQkJUnVudGltZUxpYnJhcnk9IjIiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJOREVCVUciDQotCQkJCUN1bHR1cmU9IjEwMzMiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9Ii4uXC4uXEluY2x1ZGUiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJCURlc2NyaXB0aW9uPSJHZW5lcmF0ZSBidWlsZCBpbmZvcm1hdGlvbi4uLiINCi0JCQkJQ29tbWFuZExpbmU9IiZxdW90OyQoU29sdXRpb25EaXIpbWFrZV9idWlsZGluZm8uZXhlJnF1b3Q7IFJlbGVhc2UgJnF1b3Q7JChJbnREaXIpXCZxdW90OyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0iJnF1b3Q7JChJbnREaXIpZ2V0YnVpbGRpbmZvLm8mcXVvdDsiDQotCQkJCU91dHB1dEZpbGU9IiQoT3V0RGlyKVwkKFB5RGxsTmFtZSkuZGxsIg0KLQkJCQlJZ25vcmVEZWZhdWx0TGlicmFyeU5hbWVzPSJsaWJjIg0KLQkJCQlQcm9ncmFtRGF0YWJhc2VGaWxlPSIkKE91dERpcikkKFB5RGxsTmFtZSkucGRiIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxZTAwMDAwMCINCi0JCQkJSW1wb3J0TGlicmFyeT0iJChPdXREaXJQR0kpJChQeURsbE5hbWUpLmxpYiINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR1VwZGF0ZXx4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlwcm9qZWN0LnZzcHJvcHM7Llx4NjQudnNwcm9wczsuXHJlbGVhc2UudnNwcm9wczsuXHBndXBkYXRlLnZzcHJvcHMiDQotCQkJVXNlT2ZNRkM9IjAiDQotCQkJQVRMTWluaW1pemVzQ1J1blRpbWVMaWJyYXJ5VXNhZ2U9ImZhbHNlIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsT3B0aW9ucz0iL1ptMjAwICINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLi5cLi5cUHl0aG9uOy4uXC4uXE1vZHVsZXNcemxpYiINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9Il9VU1JETEw7UHlfQlVJTERfQ09SRTtQeV9FTkFCTEVfU0hBUkVEO1dJTjMyIg0KLQkJCQlSdW50aW1lTGlicmFyeT0iMiINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9Ik5ERUJVRyINCi0JCQkJQ3VsdHVyZT0iMTAzMyINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLi5cLi5cSW5jbHVkZSINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkJRGVzY3JpcHRpb249IkdlbmVyYXRlIGJ1aWxkIGluZm9ybWF0aW9uLi4uIg0KLQkJCQlDb21tYW5kTGluZT0iJnF1b3Q7JChTb2x1dGlvbkRpciltYWtlX2J1aWxkaW5mby5leGUmcXVvdDsgUmVsZWFzZSAmcXVvdDskKEludERpcilcJnF1b3Q7Ig0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSImcXVvdDskKEludERpcilnZXRidWlsZGluZm8ubyZxdW90OyINCi0JCQkJT3V0cHV0RmlsZT0iJChPdXREaXIpXCQoUHlEbGxOYW1lKS5kbGwiDQotCQkJCUlnbm9yZURlZmF1bHRMaWJyYXJ5TmFtZXM9ImxpYmMiDQotCQkJCVByb2dyYW1EYXRhYmFzZUZpbGU9IiQoT3V0RGlyKSQoUHlEbGxOYW1lKS5wZGIiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFlMDAwMDAwIg0KLQkJCQlJbXBvcnRMaWJyYXJ5PSIkKE91dERpclBHSSkkKFB5RGxsTmFtZSkubGliIg0KLQkJCQlUYXJnZXRNYWNoaW5lPSIxNyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQk8L0NvbmZpZ3VyYXRpb25zPg0KLQk8UmVmZXJlbmNlcz4NCi0JPC9SZWZlcmVuY2VzPg0KLQk8RmlsZXM+DQotCQk8RmlsdGVyDQotCQkJTmFtZT0iSW5jbHVkZSINCi0JCQk+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxJbmNsdWRlXGFic3RyYWN0LmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxJbmNsdWRlXGFjY3UuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXEluY2x1ZGVcYXNkbC5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cSW5jbHVkZVxhc3QuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXEluY2x1ZGVcYml0c2V0LmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxJbmNsdWRlXGJvb2xvYmplY3QuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXEluY2x1ZGVcYnl0ZXNfbWV0aG9kcy5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cSW5jbHVkZVxieXRlYXJyYXlvYmplY3QuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXEluY2x1ZGVcYnl0ZXNvYmplY3QuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXEluY2x1ZGVcY2VsbG9iamVjdC5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cSW5jbHVkZVxjZXZhbC5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cSW5jbHVkZVxjbGFzc29iamVjdC5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cSW5jbHVkZVxjb2RlLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxJbmNsdWRlXGNvZGVjcy5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cSW5jbHVkZVxjb21waWxlLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxJbmNsdWRlXGNvbXBsZXhvYmplY3QuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXEluY2x1ZGVcZGF0ZXRpbWUuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXEluY2x1ZGVcZGVzY3JvYmplY3QuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXEluY2x1ZGVcZGljdG9iamVjdC5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cSW5jbHVkZVxkeW5hbWljX2Fubm90YXRpb25zLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxJbmNsdWRlXGVudW1vYmplY3QuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXEluY2x1ZGVcZXJyY29kZS5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cSW5jbHVkZVxldmFsLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxJbmNsdWRlXGZpbGVvYmplY3QuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXEluY2x1ZGVcZmlsZXV0aWxzLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxJbmNsdWRlXGZsb2F0b2JqZWN0LmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxJbmNsdWRlXGZyYW1lb2JqZWN0LmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxJbmNsdWRlXGZ1bmNvYmplY3QuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXEluY2x1ZGVcZ2Vub2JqZWN0LmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxJbmNsdWRlXGdyYW1pbml0LmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxJbmNsdWRlXGdyYW1tYXIuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXEluY2x1ZGVcaW1wb3J0LmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxJbmNsdWRlXGludHJjaGVjay5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cSW5jbHVkZVxpdGVyb2JqZWN0LmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxJbmNsdWRlXGxpc3RvYmplY3QuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXEluY2x1ZGVcbG9uZ2ludHJlcHIuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXEluY2x1ZGVcbG9uZ29iamVjdC5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cSW5jbHVkZVxtYXJzaGFsLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxJbmNsdWRlXG1lbW9yeW9iamVjdC5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cSW5jbHVkZVxtZXRhZ3JhbW1hci5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cSW5jbHVkZVxtZXRob2RvYmplY3QuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXEluY2x1ZGVcbW9kc3VwcG9ydC5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cSW5jbHVkZVxtb2R1bGVvYmplY3QuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXEluY2x1ZGVcbmFtZXNwYWNlb2JqZWN0LmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxJbmNsdWRlXG5vZGUuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXEluY2x1ZGVcb2JqZWN0LmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxJbmNsdWRlXG9iamltcGwuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXEluY2x1ZGVcb3Bjb2RlLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxJbmNsdWRlXG9zZGVmcy5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cSW5jbHVkZVxwYXJzZXRvay5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cSW5jbHVkZVxwYXRjaGxldmVsLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxJbmNsdWRlXHBnZW4uaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXEluY2x1ZGVccGdlbmhlYWRlcnMuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXEluY2x1ZGVccHlfY3Vyc2VzLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxJbmNsdWRlXHB5YXJlbmEuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXEluY2x1ZGVccHljYXBzdWxlLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxJbmNsdWRlXHB5Y3R5cGUuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXEluY2x1ZGVccHlkZWJ1Zy5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cSW5jbHVkZVxweWVycm9ycy5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cSW5jbHVkZVxweWV4cGF0LmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxJbmNsdWRlXHB5ZnBlLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxJbmNsdWRlXHB5Z2V0b3B0LmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxJbmNsdWRlXHB5bWFjdG9vbGJveC5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cSW5jbHVkZVxweW1hdGguaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXEluY2x1ZGVccHl0aW1lLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxJbmNsdWRlXHB5bWFjcm8uaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXEluY2x1ZGVccHltZW0uaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXEluY2x1ZGVccHlwb3J0LmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxJbmNsdWRlXHB5c3RhdGUuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXEluY2x1ZGVccHlzdHJjbXAuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXEluY2x1ZGVccHlzdHJ0b2QuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXEluY2x1ZGVcZHRvYS5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cSW5jbHVkZVxQeXRob24tYXN0LmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxJbmNsdWRlXFB5dGhvbi5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cSW5jbHVkZVxweXRob25ydW4uaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXEluY2x1ZGVccHl0aHJlYWQuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXEluY2x1ZGVccmFuZ2VvYmplY3QuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXEluY2x1ZGVcc2V0b2JqZWN0LmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxJbmNsdWRlXHNsaWNlb2JqZWN0LmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxJbmNsdWRlXHN0cnVjdG1lbWJlci5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cSW5jbHVkZVxzdHJ1Y3RzZXEuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXEluY2x1ZGVcc3ltdGFibGUuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXEluY2x1ZGVcc3lzbW9kdWxlLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxJbmNsdWRlXHRpbWVmdW5jcy5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cSW5jbHVkZVx0b2tlbi5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cSW5jbHVkZVx0cmFjZWJhY2suaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXEluY2x1ZGVcdHVwbGVvYmplY3QuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXEluY2x1ZGVcdWNuaGFzaC5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cSW5jbHVkZVx1bmljb2Rlb2JqZWN0LmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxJbmNsdWRlXHdlYWtyZWZvYmplY3QuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCTwvRmlsdGVyPg0KLQkJPEZpbHRlcg0KLQkJCU5hbWU9Ik1vZHVsZXMiDQotCQkJPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfYmlzZWN0bW9kdWxlLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF9jb2RlY3Ntb2R1bGUuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX2NvbGxlY3Rpb25zbW9kdWxlLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF9jc3YuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX2Z1bmN0b29sc21vZHVsZS5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfaGVhcHFtb2R1bGUuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX2pzb24uYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX2xvY2FsZW1vZHVsZS5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfbHNwcm9mLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF9tYXRoLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF9tYXRoLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF9waWNrbGUuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX3JhbmRvbW1vZHVsZS5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfc3JlLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF9zdHJ1Y3QuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX3dlYWtyZWYuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX3dpbmFwaS5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xhcnJheW1vZHVsZS5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xhdGV4aXRtb2R1bGUuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcYXVkaW9vcC5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xiaW5hc2NpaS5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xjbWF0aG1vZHVsZS5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfZGF0ZXRpbWVtb2R1bGUuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcZXJybm9tb2R1bGUuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcZmF1bHRoYW5kbGVyLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXGdjbW9kdWxlLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXGl0ZXJ0b29sc21vZHVsZS5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xtYWluLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXG1hdGhtb2R1bGUuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcbWQ1bW9kdWxlLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXG1tYXBtb2R1bGUuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX29wZXJhdG9yLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXHBhcnNlcm1vZHVsZS5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xwb3NpeG1vZHVsZS5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xyb3RhdGluZ3RyZWUuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNccm90YXRpbmd0cmVlLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXHNoYTFtb2R1bGUuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcc2hhMjU2bW9kdWxlLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXHNoYTUxMm1vZHVsZS5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xzaWduYWxtb2R1bGUuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcc3JlLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXHNyZV9jb25zdGFudHMuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcc3JlX2xpYi5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfc3RhdC5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xzeW10YWJsZW1vZHVsZS5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfdGhyZWFkbW9kdWxlLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXHRpbWVtb2R1bGUuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNceHhzdWJ0eXBlLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXHppcGltcG9ydC5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1x6bGlibW9kdWxlLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbHRlcg0KLQkJCQlOYW1lPSJfaW8iDQotCQkJCT4NCi0JCQkJPEZpbGUNCi0JCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfaW9cZmlsZWlvLmMiDQotCQkJCQk+DQotCQkJCTwvRmlsZT4NCi0JCQkJPEZpbGUNCi0JCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfaW9cYnl0ZXNpby5jIg0KLQkJCQkJPg0KLQkJCQk8L0ZpbGU+DQotCQkJCTxGaWxlDQotCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX2lvXHN0cmluZ2lvLmMiDQotCQkJCQk+DQotCQkJCTwvRmlsZT4NCi0JCQkJPEZpbGUNCi0JCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfaW9cYnVmZmVyZWRpby5jIg0KLQkJCQkJPg0KLQkJCQk8L0ZpbGU+DQotCQkJCTxGaWxlDQotCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX2lvXGlvYmFzZS5jIg0KLQkJCQkJPg0KLQkJCQk8L0ZpbGU+DQotCQkJCTxGaWxlDQotCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX2lvXHRleHRpby5jIg0KLQkJCQkJPg0KLQkJCQk8L0ZpbGU+DQotCQkJCTxGaWxlDQotCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX2lvXF9pb21vZHVsZS5jIg0KLQkJCQkJPg0KLQkJCQk8L0ZpbGU+DQotCQkJCTxGaWxlDQotCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX2lvXF9pb21vZHVsZS5oIg0KLQkJCQkJPg0KLQkJCQk8L0ZpbGU+DQotCQkJPC9GaWx0ZXI+DQotCQkJPEZpbHRlcg0KLQkJCQlOYW1lPSJ6bGliIg0KLQkJCQk+DQotCQkJCTxGaWxlDQotCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcemxpYlxhZGxlcjMyLmMiDQotCQkJCQk+DQotCQkJCTwvRmlsZT4NCi0JCQkJPEZpbGUNCi0JCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1x6bGliXGNvbXByZXNzLmMiDQotCQkJCQk+DQotCQkJCTwvRmlsZT4NCi0JCQkJPEZpbGUNCi0JCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1x6bGliXGNyYzMyLmMiDQotCQkJCQk+DQotCQkJCTwvRmlsZT4NCi0JCQkJPEZpbGUNCi0JCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1x6bGliXGNyYzMyLmgiDQotCQkJCQk+DQotCQkJCTwvRmlsZT4NCi0JCQkJPEZpbGUNCi0JCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1x6bGliXGRlZmxhdGUuYyINCi0JCQkJCT4NCi0JCQkJPC9GaWxlPg0KLQkJCQk8RmlsZQ0KLQkJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXHpsaWJcZGVmbGF0ZS5oIg0KLQkJCQkJPg0KLQkJCQk8L0ZpbGU+DQotCQkJCTxGaWxlDQotCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcemxpYlxpbmZiYWNrLmMiDQotCQkJCQk+DQotCQkJCTwvRmlsZT4NCi0JCQkJPEZpbGUNCi0JCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1x6bGliXGluZmZhc3QuYyINCi0JCQkJCT4NCi0JCQkJPC9GaWxlPg0KLQkJCQk8RmlsZQ0KLQkJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXHpsaWJcaW5mZmFzdC5oIg0KLQkJCQkJPg0KLQkJCQk8L0ZpbGU+DQotCQkJCTxGaWxlDQotCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcemxpYlxpbmZmaXhlZC5oIg0KLQkJCQkJPg0KLQkJCQk8L0ZpbGU+DQotCQkJCTxGaWxlDQotCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcemxpYlxpbmZsYXRlLmMiDQotCQkJCQk+DQotCQkJCTwvRmlsZT4NCi0JCQkJPEZpbGUNCi0JCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1x6bGliXGluZmxhdGUuaCINCi0JCQkJCT4NCi0JCQkJPC9GaWxlPg0KLQkJCQk8RmlsZQ0KLQkJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXHpsaWJcaW5mdHJlZXMuYyINCi0JCQkJCT4NCi0JCQkJPC9GaWxlPg0KLQkJCQk8RmlsZQ0KLQkJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXHpsaWJcaW5mdHJlZXMuaCINCi0JCQkJCT4NCi0JCQkJPC9GaWxlPg0KLQkJCQk8RmlsZQ0KLQkJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXHpsaWJcdHJlZXMuYyINCi0JCQkJCT4NCi0JCQkJPC9GaWxlPg0KLQkJCQk8RmlsZQ0KLQkJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXHpsaWJcdHJlZXMuaCINCi0JCQkJCT4NCi0JCQkJPC9GaWxlPg0KLQkJCQk8RmlsZQ0KLQkJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXHpsaWJcdW5jb21wci5jIg0KLQkJCQkJPg0KLQkJCQk8L0ZpbGU+DQotCQkJCTxGaWxlDQotCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcemxpYlx6Y29uZi5oIg0KLQkJCQkJPg0KLQkJCQk8L0ZpbGU+DQotCQkJCTxGaWxlDQotCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcemxpYlx6Y29uZi5pbi5oIg0KLQkJCQkJPg0KLQkJCQk8L0ZpbGU+DQotCQkJCTxGaWxlDQotCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcemxpYlx6bGliLmgiDQotCQkJCQk+DQotCQkJCTwvRmlsZT4NCi0JCQkJPEZpbGUNCi0JCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1x6bGliXHp1dGlsLmMiDQotCQkJCQk+DQotCQkJCTwvRmlsZT4NCi0JCQkJPEZpbGUNCi0JCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1x6bGliXHp1dGlsLmgiDQotCQkJCQk+DQotCQkJCTwvRmlsZT4NCi0JCQk8L0ZpbHRlcj4NCi0JCQk8RmlsdGVyDQotCQkJCU5hbWU9ImNqa2NvZGVjcyINCi0JCQkJPg0KLQkJCQk8RmlsZQ0KLQkJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXGNqa2NvZGVjc1xfY29kZWNzX2NuLmMiDQotCQkJCQk+DQotCQkJCTwvRmlsZT4NCi0JCQkJPEZpbGUNCi0JCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xjamtjb2RlY3NcX2NvZGVjc19oay5jIg0KLQkJCQkJPg0KLQkJCQk8L0ZpbGU+DQotCQkJCTxGaWxlDQotCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcY2prY29kZWNzXF9jb2RlY3NfaXNvMjAyMi5jIg0KLQkJCQkJPg0KLQkJCQk8L0ZpbGU+DQotCQkJCTxGaWxlDQotCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcY2prY29kZWNzXF9jb2RlY3NfanAuYyINCi0JCQkJCT4NCi0JCQkJPC9GaWxlPg0KLQkJCQk8RmlsZQ0KLQkJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXGNqa2NvZGVjc1xfY29kZWNzX2tyLmMiDQotCQkJCQk+DQotCQkJCTwvRmlsZT4NCi0JCQkJPEZpbGUNCi0JCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xjamtjb2RlY3NcX2NvZGVjc190dy5jIg0KLQkJCQkJPg0KLQkJCQk8L0ZpbGU+DQotCQkJCTxGaWxlDQotCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcY2prY29kZWNzXGFsZ19qaXN4MDIwMS5oIg0KLQkJCQkJPg0KLQkJCQk8L0ZpbGU+DQotCQkJCTxGaWxlDQotCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcY2prY29kZWNzXGNqa2NvZGVjcy5oIg0KLQkJCQkJPg0KLQkJCQk8L0ZpbGU+DQotCQkJCTxGaWxlDQotCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcY2prY29kZWNzXGVtdV9qaXN4MDIxM18yMDAwLmgiDQotCQkJCQk+DQotCQkJCTwvRmlsZT4NCi0JCQkJPEZpbGUNCi0JCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xjamtjb2RlY3NcbWFwcGluZ3NfY24uaCINCi0JCQkJCT4NCi0JCQkJPC9GaWxlPg0KLQkJCQk8RmlsZQ0KLQkJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXGNqa2NvZGVjc1xtYXBwaW5nc19oay5oIg0KLQkJCQkJPg0KLQkJCQk8L0ZpbGU+DQotCQkJCTxGaWxlDQotCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcY2prY29kZWNzXG1hcHBpbmdzX2ppc3gwMjEzX3BhaXIuaCINCi0JCQkJCT4NCi0JCQkJPC9GaWxlPg0KLQkJCQk8RmlsZQ0KLQkJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXGNqa2NvZGVjc1xtYXBwaW5nc19qcC5oIg0KLQkJCQkJPg0KLQkJCQk8L0ZpbGU+DQotCQkJCTxGaWxlDQotCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcY2prY29kZWNzXG1hcHBpbmdzX2tyLmgiDQotCQkJCQk+DQotCQkJCTwvRmlsZT4NCi0JCQkJPEZpbGUNCi0JCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xjamtjb2RlY3NcbWFwcGluZ3NfdHcuaCINCi0JCQkJCT4NCi0JCQkJPC9GaWxlPg0KLQkJCQk8RmlsZQ0KLQkJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXGNqa2NvZGVjc1xtdWx0aWJ5dGVjb2RlYy5jIg0KLQkJCQkJPg0KLQkJCQk8L0ZpbGU+DQotCQkJCTxGaWxlDQotCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcY2prY29kZWNzXG11bHRpYnl0ZWNvZGVjLmgiDQotCQkJCQk+DQotCQkJCTwvRmlsZT4NCi0JCQk8L0ZpbHRlcj4NCi0JCTwvRmlsdGVyPg0KLQkJPEZpbHRlcg0KLQkJCU5hbWU9Ik9iamVjdHMiDQotCQkJPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cT2JqZWN0c1xhYnN0cmFjdC5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cT2JqZWN0c1xhY2N1LmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxPYmplY3RzXGJvb2xvYmplY3QuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE9iamVjdHNcYnl0ZXNfbWV0aG9kcy5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cT2JqZWN0c1xieXRlYXJyYXlvYmplY3QuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE9iamVjdHNcYnl0ZXNvYmplY3QuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE9iamVjdHNcY2Fwc3VsZS5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cT2JqZWN0c1xjZWxsb2JqZWN0LmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxPYmplY3RzXGNsYXNzb2JqZWN0LmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxPYmplY3RzXGNvZGVvYmplY3QuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE9iamVjdHNcY29tcGxleG9iamVjdC5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cT2JqZWN0c1xzdHJpbmdsaWJcY291bnQuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE9iamVjdHNcZGVzY3JvYmplY3QuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE9iamVjdHNcZGljdG9iamVjdC5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cT2JqZWN0c1xlbnVtb2JqZWN0LmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxPYmplY3RzXGV4Y2VwdGlvbnMuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE9iamVjdHNcc3RyaW5nbGliXGZhc3RzZWFyY2guaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE9iamVjdHNcZmlsZW9iamVjdC5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cT2JqZWN0c1xzdHJpbmdsaWJcZmluZC5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cT2JqZWN0c1xmbG9hdG9iamVjdC5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cT2JqZWN0c1xmcmFtZW9iamVjdC5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cT2JqZWN0c1xmdW5jb2JqZWN0LmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxPYmplY3RzXGdlbm9iamVjdC5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cT2JqZWN0c1xpdGVyb2JqZWN0LmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxPYmplY3RzXGxpc3RvYmplY3QuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE9iamVjdHNcbG9uZ29iamVjdC5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cT2JqZWN0c1xtZW1vcnlvYmplY3QuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE9iamVjdHNcbWV0aG9kb2JqZWN0LmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxPYmplY3RzXG1vZHVsZW9iamVjdC5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cT2JqZWN0c1xuYW1lc3BhY2VvYmplY3QuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE9iamVjdHNcb2JqZWN0LmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxPYmplY3RzXG9ibWFsbG9jLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxPYmplY3RzXHN0cmluZ2xpYlxwYXJ0aXRpb24uaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE9iamVjdHNccmFuZ2VvYmplY3QuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE9iamVjdHNcc3RyaW5nbGliXHJlcGxhY2UuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE9iamVjdHNcc2V0b2JqZWN0LmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxPYmplY3RzXHNsaWNlb2JqZWN0LmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxPYmplY3RzXHN0cmluZ2xpYlxzcGxpdC5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cT2JqZWN0c1xzdHJ1Y3RzZXEuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE9iamVjdHNcdHVwbGVvYmplY3QuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE9iamVjdHNcdHlwZW9iamVjdC5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cT2JqZWN0c1x1bmljb2RlY3R5cGUuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE9iamVjdHNcdW5pY29kZW9iamVjdC5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cT2JqZWN0c1x1bmljb2RldHlwZV9kYi5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cT2JqZWN0c1x3ZWFrcmVmb2JqZWN0LmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQk8L0ZpbHRlcj4NCi0JCTxGaWx0ZXINCi0JCQlOYW1lPSJQYXJzZXIiDQotCQkJPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUGFyc2VyXGFjY2VsZXIuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFBhcnNlclxiaXRzZXQuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFBhcnNlclxmaXJzdHNldHMuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFBhcnNlclxncmFtbWFyLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQYXJzZXJcZ3JhbW1hcjEuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFBhcnNlclxsaXN0bm9kZS5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUGFyc2VyXG1ldGFncmFtbWFyLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQYXJzZXJcbXlyZWFkbGluZS5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUGFyc2VyXG5vZGUuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFBhcnNlclxwYXJzZXIuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFBhcnNlclxwYXJzZXIuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFBhcnNlclxwYXJzZXRvay5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUGFyc2VyXHRva2VuaXplci5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUGFyc2VyXHRva2VuaXplci5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJPC9GaWx0ZXI+DQotCQk8RmlsdGVyDQotCQkJTmFtZT0iUEMiDQotCQkJPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUENcd2lucmVnLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQQ1xjb25maWcuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFBDXGRsX250LmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQQ1xlcnJtYXAuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFBDXGdldHBhdGhwLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQQ1xtc3ZjcnRtb2R1bGUuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFBDXHB5Y29uZmlnLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQk8L0ZpbHRlcj4NCi0JCTxGaWx0ZXINCi0JCQlOYW1lPSJQeXRob24iDQotCQkJPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUHl0aG9uXF93YXJuaW5ncy5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUHl0aG9uXGFzZGwuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFB5dGhvblxhc3QuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFB5dGhvblxibHRpbm1vZHVsZS5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUHl0aG9uXGNldmFsLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQeXRob25cY29kZWNzLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQeXRob25cY29tcGlsZS5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUHl0aG9uXGR5bmFtaWNfYW5ub3RhdGlvbnMuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFB5dGhvblxkeW5sb2FkX3dpbi5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUHl0aG9uXGVycm9ycy5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUHl0aG9uXGZpbGV1dGlscy5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUHl0aG9uXGZvcm1hdHRlcl91bmljb2RlLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQeXRob25cZnJvemVuLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQeXRob25cZnV0dXJlLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQeXRob25cZ2V0YXJncy5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUHl0aG9uXGdldGNvbXBpbGVyLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQeXRob25cZ2V0Y29weXJpZ2h0LmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQeXRob25cZ2V0b3B0LmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQeXRob25cZ2V0cGxhdGZvcm0uYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFB5dGhvblxnZXR2ZXJzaW9uLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQeXRob25cZ3JhbWluaXQuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFB5dGhvblxpbXBvcnQuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFB5dGhvblxpbXBvcnRkbC5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUHl0aG9uXGltcG9ydGRsLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQeXRob25cbWFyc2hhbC5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUHl0aG9uXG1vZHN1cHBvcnQuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFB5dGhvblxteXNucHJpbnRmLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQeXRob25cbXlzdHJ0b3VsLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQeXRob25ccGVlcGhvbGUuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFB5dGhvblxweWFyZW5hLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQeXRob25ccHljdHlwZS5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUHl0aG9uXHB5ZnBlLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQeXRob25ccHltYXRoLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQeXRob25ccHl0aW1lLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQeXRob25ccHlzdGF0ZS5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUHl0aG9uXHB5c3RyY21wLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQeXRob25ccHlzdHJ0b2QuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFB5dGhvblxkdG9hLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQeXRob25cUHl0aG9uLWFzdC5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUHl0aG9uXHB5dGhvbnJ1bi5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLSAJCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFB5dGhvblxyYW5kb20uYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFB5dGhvblxzdHJ1Y3RtZW1iZXIuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFB5dGhvblxzeW10YWJsZS5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUHl0aG9uXHN5c21vZHVsZS5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUHl0aG9uXHRocmVhZC5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUHl0aG9uXHRocmVhZF9udC5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUHl0aG9uXHRyYWNlYmFjay5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJPC9GaWx0ZXI+DQotCQk8RmlsdGVyDQotCQkJTmFtZT0iUmVzb3VyY2UgRmlsZXMiDQotCQkJPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUENccHl0aG9uX250LnJjIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJPC9GaWx0ZXI+DQotCTwvRmlsZXM+DQotCTxHbG9iYWxzPg0KLQk8L0dsb2JhbHM+DQotPC9WaXN1YWxTdHVkaW9Qcm9qZWN0Pg0KZGlmZiAtLWdpdCBhL1BDL1ZTOS4wL3B5dGhvbncudmNwcm9qIGIvUEMvVlM5LjAvcHl0aG9udy52Y3Byb2oKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDdmNWMwNGIuLjAwMDAwMDAKLS0tIGEvUEMvVlM5LjAvcHl0aG9udy52Y3Byb2oKKysrIC9kZXYvbnVsbApAQCAtMSw2MTggKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iV2luZG93cy0xMjUyIj8+DQotPFZpc3VhbFN0dWRpb1Byb2plY3QNCi0JUHJvamVjdFR5cGU9IlZpc3VhbCBDKysiDQotCVZlcnNpb249IjkuMDAiDQotCU5hbWU9InB5dGhvbnciDQotCVByb2plY3RHVUlEPSJ7RjQyMjlDQzMtODczQy00OUFFLTk3MjktREQzMDhFRDRDRDRBfSINCi0JVGFyZ2V0RnJhbWV3b3JrVmVyc2lvbj0iMTMxMDcyIg0KLQk+DQotCTxQbGF0Zm9ybXM+DQotCQk8UGxhdGZvcm0NCi0JCQlOYW1lPSJXaW4zMiINCi0JCS8+DQotCQk8UGxhdGZvcm0NCi0JCQlOYW1lPSJ4NjQiDQotCQkvPg0KLQk8L1BsYXRmb3Jtcz4NCi0JPFRvb2xGaWxlcz4NCi0JPC9Ub29sRmlsZXM+DQotCTxDb25maWd1cmF0aW9ucz4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iRGVidWd8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjEiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlwcm9qZWN0LnZzcHJvcHM7LlxkZWJ1Zy52c3Byb3BzIg0KLQkJCVVzZU9mTUZDPSIwIg0KLQkJCUFUTE1pbmltaXplc0NSdW5UaW1lTGlicmFyeVVzYWdlPSJmYWxzZSINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJT3B0aW1pemF0aW9uPSIwIg0KLQkJCQlFbmFibGVJbnRyaW5zaWNGdW5jdGlvbnM9ImZhbHNlIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJfV0lORE9XUyINCi0JCQkJUnVudGltZUxpYnJhcnk9IjMiDQotCQkJCUNvbXBpbGVBcz0iMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9Il9ERUJVRyINCi0JCQkJQ3VsdHVyZT0iMTAzMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJT3V0cHV0RmlsZT0iJChPdXREaXIpXHB5dGhvbndfZC5leGUiDQotCQkJCVN0YWNrUmVzZXJ2ZVNpemU9IjIwMDAwMDAiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFkMDAwMDAwIg0KLQkJCQlUYXJnZXRNYWNoaW5lPSIxIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IkRlYnVnfHg2NCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMSINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweXByb2plY3QudnNwcm9wczsuXHg2NC52c3Byb3BzOy5cZGVidWcudnNwcm9wcyINCi0JCQlVc2VPZk1GQz0iMCINCi0JCQlBVExNaW5pbWl6ZXNDUnVuVGltZUxpYnJhcnlVc2FnZT0iZmFsc2UiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCU9wdGltaXphdGlvbj0iMCINCi0JCQkJRW5hYmxlSW50cmluc2ljRnVuY3Rpb25zPSJmYWxzZSINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iX1dJTkRPV1MiDQotCQkJCVJ1bnRpbWVMaWJyYXJ5PSIzIg0KLQkJCQlDb21waWxlQXM9IjAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJfREVCVUciDQotCQkJCUN1bHR1cmU9IjEwMzMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCU91dHB1dEZpbGU9IiQoT3V0RGlyKVxweXRob253X2QuZXhlIg0KLQkJCQlTdGFja1Jlc2VydmVTaXplPSIyMDAwMDAwIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxZDAwMDAwMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJSZWxlYXNlfFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIxIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5cHJvamVjdC52c3Byb3BzOy5ccmVsZWFzZS52c3Byb3BzIg0KLQkJCVVzZU9mTUZDPSIwIg0KLQkJCUFUTE1pbmltaXplc0NSdW5UaW1lTGlicmFyeVVzYWdlPSJmYWxzZSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJfV0lORE9XUyINCi0JCQkJU3RyaW5nUG9vbGluZz0idHJ1ZSINCi0JCQkJUnVudGltZUxpYnJhcnk9IjIiDQotCQkJCUVuYWJsZUZ1bmN0aW9uTGV2ZWxMaW5raW5nPSJ0cnVlIg0KLQkJCQlDb21waWxlQXM9IjAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJOREVCVUciDQotCQkJCUN1bHR1cmU9IjEwMzMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCU91dHB1dEZpbGU9IiQoT3V0RGlyKVxweXRob253LmV4ZSINCi0JCQkJU3RhY2tSZXNlcnZlU2l6ZT0iMjAwMDAwMCINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MWQwMDAwMDAiDQotCQkJCVRhcmdldE1hY2hpbmU9IjEiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUmVsZWFzZXx4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjEiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlwcm9qZWN0LnZzcHJvcHM7Llx4NjQudnNwcm9wczsuXHJlbGVhc2UudnNwcm9wcyINCi0JCQlVc2VPZk1GQz0iMCINCi0JCQlBVExNaW5pbWl6ZXNDUnVuVGltZUxpYnJhcnlVc2FnZT0iZmFsc2UiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9Il9XSU5ET1dTIg0KLQkJCQlTdHJpbmdQb29saW5nPSJ0cnVlIg0KLQkJCQlSdW50aW1lTGlicmFyeT0iMiINCi0JCQkJRW5hYmxlRnVuY3Rpb25MZXZlbExpbmtpbmc9InRydWUiDQotCQkJCUNvbXBpbGVBcz0iMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9Ik5ERUJVRyINCi0JCQkJQ3VsdHVyZT0iMTAzMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJT3V0cHV0RmlsZT0iJChPdXREaXIpXHB5dGhvbncuZXhlIg0KLQkJCQlTdGFja1Jlc2VydmVTaXplPSIyMDAwMDAwIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxZDAwMDAwMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR0luc3RydW1lbnR8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjEiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlwcm9qZWN0LnZzcHJvcHM7LlxyZWxlYXNlLnZzcHJvcHM7LlxwZ2luc3RydW1lbnQudnNwcm9wcyINCi0JCQlVc2VPZk1GQz0iMCINCi0JCQlBVExNaW5pbWl6ZXNDUnVuVGltZUxpYnJhcnlVc2FnZT0iZmFsc2UiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iX1dJTkRPV1MiDQotCQkJCVN0cmluZ1Bvb2xpbmc9InRydWUiDQotCQkJCVJ1bnRpbWVMaWJyYXJ5PSIyIg0KLQkJCQlFbmFibGVGdW5jdGlvbkxldmVsTGlua2luZz0idHJ1ZSINCi0JCQkJQ29tcGlsZUFzPSIwIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iTkRFQlVHIg0KLQkJCQlDdWx0dXJlPSIxMDMzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlPdXRwdXRGaWxlPSIkKE91dERpcilccHl0aG9udy5leGUiDQotCQkJCVN0YWNrUmVzZXJ2ZVNpemU9IjIwMDAwMDAiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFkMDAwMDAwIg0KLQkJCQlJbXBvcnRMaWJyYXJ5PSIiDQotCQkJCVRhcmdldE1hY2hpbmU9IjEiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUEdJbnN0cnVtZW50fHg2NCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMSINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweXByb2plY3QudnNwcm9wczsuXHg2NC52c3Byb3BzOy5ccmVsZWFzZS52c3Byb3BzOy5ccGdpbnN0cnVtZW50LnZzcHJvcHMiDQotCQkJVXNlT2ZNRkM9IjAiDQotCQkJQVRMTWluaW1pemVzQ1J1blRpbWVMaWJyYXJ5VXNhZ2U9ImZhbHNlIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJfV0lORE9XUyINCi0JCQkJU3RyaW5nUG9vbGluZz0idHJ1ZSINCi0JCQkJUnVudGltZUxpYnJhcnk9IjIiDQotCQkJCUVuYWJsZUZ1bmN0aW9uTGV2ZWxMaW5raW5nPSJ0cnVlIg0KLQkJCQlDb21waWxlQXM9IjAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJOREVCVUciDQotCQkJCUN1bHR1cmU9IjEwMzMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCU91dHB1dEZpbGU9IiQoT3V0RGlyKVxweXRob253LmV4ZSINCi0JCQkJU3RhY2tSZXNlcnZlU2l6ZT0iMjAwMDAwMCINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MWQwMDAwMDAiDQotCQkJCUltcG9ydExpYnJhcnk9IiINCi0JCQkJVGFyZ2V0TWFjaGluZT0iMTciDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUEdVcGRhdGV8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjEiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlwcm9qZWN0LnZzcHJvcHM7LlxyZWxlYXNlLnZzcHJvcHM7LlxwZ3VwZGF0ZS52c3Byb3BzIg0KLQkJCVVzZU9mTUZDPSIwIg0KLQkJCUFUTE1pbmltaXplc0NSdW5UaW1lTGlicmFyeVVzYWdlPSJmYWxzZSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJfV0lORE9XUyINCi0JCQkJU3RyaW5nUG9vbGluZz0idHJ1ZSINCi0JCQkJUnVudGltZUxpYnJhcnk9IjIiDQotCQkJCUVuYWJsZUZ1bmN0aW9uTGV2ZWxMaW5raW5nPSJ0cnVlIg0KLQkJCQlDb21waWxlQXM9IjAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJOREVCVUciDQotCQkJCUN1bHR1cmU9IjEwMzMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCU91dHB1dEZpbGU9IiQoT3V0RGlyKVxweXRob253LmV4ZSINCi0JCQkJU3RhY2tSZXNlcnZlU2l6ZT0iMjAwMDAwMCINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MWQwMDAwMDAiDQotCQkJCUltcG9ydExpYnJhcnk9IiINCi0JCQkJVGFyZ2V0TWFjaGluZT0iMSINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR1VwZGF0ZXx4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjEiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlwcm9qZWN0LnZzcHJvcHM7Llx4NjQudnNwcm9wczsuXHJlbGVhc2UudnNwcm9wczsuXHBndXBkYXRlLnZzcHJvcHMiDQotCQkJVXNlT2ZNRkM9IjAiDQotCQkJQVRMTWluaW1pemVzQ1J1blRpbWVMaWJyYXJ5VXNhZ2U9ImZhbHNlIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJfV0lORE9XUyINCi0JCQkJU3RyaW5nUG9vbGluZz0idHJ1ZSINCi0JCQkJUnVudGltZUxpYnJhcnk9IjIiDQotCQkJCUVuYWJsZUZ1bmN0aW9uTGV2ZWxMaW5raW5nPSJ0cnVlIg0KLQkJCQlDb21waWxlQXM9IjAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJOREVCVUciDQotCQkJCUN1bHR1cmU9IjEwMzMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCU91dHB1dEZpbGU9IiQoT3V0RGlyKVxweXRob253LmV4ZSINCi0JCQkJU3RhY2tSZXNlcnZlU2l6ZT0iMjAwMDAwMCINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MWQwMDAwMDAiDQotCQkJCUltcG9ydExpYnJhcnk9IiINCi0JCQkJVGFyZ2V0TWFjaGluZT0iMTciDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JPC9Db25maWd1cmF0aW9ucz4NCi0JPFJlZmVyZW5jZXM+DQotCTwvUmVmZXJlbmNlcz4NCi0JPEZpbGVzPg0KLQkJPEZpbHRlcg0KLQkJCU5hbWU9IlJlc291cmNlIEZpbGVzIg0KLQkJCT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFBDXHB5dGhvbl9leGUucmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQk8L0ZpbHRlcj4NCi0JCTxGaWx0ZXINCi0JCQlOYW1lPSJTb3VyY2UgRmlsZXMiDQotCQkJPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUENcV2luTWFpbi5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJPC9GaWx0ZXI+DQotCTwvRmlsZXM+DQotCTxHbG9iYWxzPg0KLQk8L0dsb2JhbHM+DQotPC9WaXN1YWxTdHVkaW9Qcm9qZWN0Pg0KZGlmZiAtLWdpdCBhL1BDL1ZTOS4wL3JlbGVhc2UudnNwcm9wcyBiL1BDL1ZTOS4wL3JlbGVhc2UudnNwcm9wcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDhkZWY5MC4uMDAwMDAwMAotLS0gYS9QQy9WUzkuMC9yZWxlYXNlLnZzcHJvcHMKKysrIC9kZXYvbnVsbApAQCAtMSwxNSArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJXaW5kb3dzLTEyNTIiPz4NCi08VmlzdWFsU3R1ZGlvUHJvcGVydHlTaGVldA0KLQlQcm9qZWN0VHlwZT0iVmlzdWFsIEMrKyINCi0JVmVyc2lvbj0iOC4wMCINCi0JTmFtZT0icmVsZWFzZSINCi0JPg0KLQk8VG9vbA0KLQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJOREVCVUciDQotCS8+DQotCTxVc2VyTWFjcm8NCi0JCU5hbWU9IktpbGxQeXRob25FeGUiDQotCQlWYWx1ZT0iJChPdXREaXIpXGtpbGxfcHl0aG9uLmV4ZSINCi0JLz4JDQotPC9WaXN1YWxTdHVkaW9Qcm9wZXJ0eVNoZWV0Pg0KZGlmZiAtLWdpdCBhL1BDL1ZTOS4wL3NlbGVjdC52Y3Byb2ogYi9QQy9WUzkuMC9zZWxlY3QudmNwcm9qCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2MzdmZDk3Li4wMDAwMDAwCi0tLSBhL1BDL1ZTOS4wL3NlbGVjdC52Y3Byb2oKKysrIC9kZXYvbnVsbApAQCAtMSw1MzcgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iV2luZG93cy0xMjUyIj8+DQotPFZpc3VhbFN0dWRpb1Byb2plY3QNCi0JUHJvamVjdFR5cGU9IlZpc3VhbCBDKysiDQotCVZlcnNpb249IjkuMDAiDQotCU5hbWU9InNlbGVjdCINCi0JUHJvamVjdEdVSUQ9InsxOENBRTI4Qy1CNDU0LTQ2QzEtODdBMC00OTNEOTFEOTdGMDN9Ig0KLQlSb290TmFtZXNwYWNlPSJzZWxlY3QiDQotCUtleXdvcmQ9IldpbjMyUHJvaiINCi0JVGFyZ2V0RnJhbWV3b3JrVmVyc2lvbj0iMTk2NjEzIg0KLQk+DQotCTxQbGF0Zm9ybXM+DQotCQk8UGxhdGZvcm0NCi0JCQlOYW1lPSJXaW4zMiINCi0JCS8+DQotCQk8UGxhdGZvcm0NCi0JCQlOYW1lPSJ4NjQiDQotCQkvPg0KLQk8L1BsYXRmb3Jtcz4NCi0JPFRvb2xGaWxlcz4NCi0JPC9Ub29sRmlsZXM+DQotCTxDb25maWd1cmF0aW9ucz4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iRGVidWd8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkX2QudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0id3MyXzMyLmxpYiINCi0JCQkJSWdub3JlRGVmYXVsdExpYnJhcnlOYW1lcz0ibGliYyINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MUQxMTAwMDAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iRGVidWd8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZF9kLnZzcHJvcHM7Llx4NjQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9IndzMl8zMi5saWIiDQotCQkJCUlnbm9yZURlZmF1bHRMaWJyYXJ5TmFtZXM9ImxpYmMiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFEMTEwMDAwIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJ3czJfMzIubGliIg0KLQkJCQlJZ25vcmVEZWZhdWx0TGlicmFyeU5hbWVzPSJsaWJjIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxRDExMDAwMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJSZWxlYXNlfHg2NCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wczsuXHg2NC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9IndzMl8zMi5saWIiDQotCQkJCUlnbm9yZURlZmF1bHRMaWJyYXJ5TmFtZXM9ImxpYmMiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFEMTEwMDAwIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlBHSW5zdHJ1bWVudHxXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wczsuXHBnaW5zdHJ1bWVudC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0id3MyXzMyLmxpYiINCi0JCQkJSWdub3JlRGVmYXVsdExpYnJhcnlOYW1lcz0ibGliYyINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MUQxMTAwMDAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUEdJbnN0cnVtZW50fHg2NCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wczsuXHg2NC52c3Byb3BzOy5ccGdpbnN0cnVtZW50LnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJCVRhcmdldEVudmlyb25tZW50PSIzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0id3MyXzMyLmxpYiINCi0JCQkJSWdub3JlRGVmYXVsdExpYnJhcnlOYW1lcz0ibGliYyINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MUQxMTAwMDAiDQotCQkJCVRhcmdldE1hY2hpbmU9IjE3Ig0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlBHVXBkYXRlfFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ccGd1cGRhdGUudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9IndzMl8zMi5saWIiDQotCQkJCUlnbm9yZURlZmF1bHRMaWJyYXJ5TmFtZXM9ImxpYmMiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFEMTEwMDAwIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlBHVXBkYXRlfHg2NCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wczsuXHg2NC52c3Byb3BzOy5ccGd1cGRhdGUudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJ3czJfMzIubGliIg0KLQkJCQlJZ25vcmVEZWZhdWx0TGlicmFyeU5hbWVzPSJsaWJjIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxRDExMDAwMCINCi0JCQkJVGFyZ2V0TWFjaGluZT0iMTciDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JPC9Db25maWd1cmF0aW9ucz4NCi0JPFJlZmVyZW5jZXM+DQotCTwvUmVmZXJlbmNlcz4NCi0JPEZpbGVzPg0KLQkJPEZpbHRlcg0KLQkJCU5hbWU9IlNvdXJjZSBGaWxlcyINCi0JCQk+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXHNlbGVjdG1vZHVsZS5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJPC9GaWx0ZXI+DQotCTwvRmlsZXM+DQotCTxHbG9iYWxzPg0KLQk8L0dsb2JhbHM+DQotPC9WaXN1YWxTdHVkaW9Qcm9qZWN0Pg0KZGlmZiAtLWdpdCBhL1BDL1ZTOS4wL3NxbGl0ZTMudmNwcm9qIGIvUEMvVlM5LjAvc3FsaXRlMy52Y3Byb2oKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGVmOGMzMjguLjAwMDAwMDAKLS0tIGEvUEMvVlM5LjAvc3FsaXRlMy52Y3Byb2oKKysrIC9kZXYvbnVsbApAQCAtMSw1MzcgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iV2luZG93cy0xMjUyIj8+DQotPFZpc3VhbFN0dWRpb1Byb2plY3QNCi0JUHJvamVjdFR5cGU9IlZpc3VhbCBDKysiDQotCVZlcnNpb249IjkuMDAiDQotCU5hbWU9InNxbGl0ZTMiDQotCVByb2plY3RHVUlEPSJ7QTFBMjk1RTUtNDYzQy00MzdGLTgxQ0EtMUYzMjM2NzY4NURBfSINCi0JUm9vdE5hbWVzcGFjZT0ic3FsaXRlMyINCi0JS2V5d29yZD0iV2luMzJQcm9qIg0KLQlUYXJnZXRGcmFtZXdvcmtWZXJzaW9uPSIxOTY2MTMiDQotCT4NCi0JPFBsYXRmb3Jtcz4NCi0JCTxQbGF0Zm9ybQ0KLQkJCU5hbWU9IldpbjMyIg0KLQkJLz4NCi0JCTxQbGF0Zm9ybQ0KLQkJCU5hbWU9Ing2NCINCi0JCS8+DQotCTwvUGxhdGZvcm1zPg0KLQk8VG9vbEZpbGVzPg0KLQk8L1Rvb2xGaWxlcz4NCi0JPENvbmZpZ3VyYXRpb25zPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJEZWJ1Z3xXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxzcWxpdGUzLnZzcHJvcHM7LlxkZWJ1Zy52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCU91dHB1dEZpbGU9IiQoT3V0RGlyKVwkKFByb2plY3ROYW1lKV9kLmRsbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJEZWJ1Z3x4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5cc3FsaXRlMy52c3Byb3BzOy5cZGVidWcudnNwcm9wczsuXHg2NC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJCVRhcmdldEVudmlyb25tZW50PSIzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlPdXRwdXRGaWxlPSIkKE91dERpcilcJChQcm9qZWN0TmFtZSlfZC5kbGwiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxzcWxpdGUzLnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCU91dHB1dEZpbGU9IiQoT3V0RGlyKVwkKFByb2plY3ROYW1lKS5kbGwiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUmVsZWFzZXx4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5cc3FsaXRlMy52c3Byb3BzOy5ceDY0LnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJCVRhcmdldEVudmlyb25tZW50PSIzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlPdXRwdXRGaWxlPSIkKE91dERpcilcJChQcm9qZWN0TmFtZSkuZGxsIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlBHSW5zdHJ1bWVudHxXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxzcWxpdGUzLnZzcHJvcHM7LlxwZ2luc3RydW1lbnQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiZxdW90OyQoc3FsaXRlM0RpcikmcXVvdDsiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCU91dHB1dEZpbGU9IiQoT3V0RGlyKVwkKFByb2plY3ROYW1lKS5kbGwiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUEdJbnN0cnVtZW50fHg2NCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxzcWxpdGUzLnZzcHJvcHM7Llx4NjQudnNwcm9wczsuXHBnaW5zdHJ1bWVudC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR1VwZGF0ZXxXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxzcWxpdGUzLnZzcHJvcHM7LlxwZ3VwZGF0ZS52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlPdXRwdXRGaWxlPSIkKE91dERpcilcJChQcm9qZWN0TmFtZSkuZGxsIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlBHVXBkYXRlfHg2NCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxzcWxpdGUzLnZzcHJvcHM7Llx4NjQudnNwcm9wczsuXHBndXBkYXRlLnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJCVRhcmdldEVudmlyb25tZW50PSIzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCTwvQ29uZmlndXJhdGlvbnM+DQotCTxSZWZlcmVuY2VzPg0KLQk8L1JlZmVyZW5jZXM+DQotCTxGaWxlcz4NCi0JCTxGaWx0ZXINCi0JCQlOYW1lPSJIZWFkZXIgRmlsZXMiDQotCQkJPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iJChzcWxpdGUzRGlyKVxzcWxpdGUzLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIkKHNxbGl0ZTNEaXIpXHNxbGl0ZTNleHQuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCTwvRmlsdGVyPg0KLQkJPEZpbHRlcg0KLQkJCU5hbWU9IlNvdXJjZSBGaWxlcyINCi0JCQk+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIkKHNxbGl0ZTNEaXIpXHNxbGl0ZTMuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCTwvRmlsdGVyPg0KLQk8L0ZpbGVzPg0KLQk8R2xvYmFscz4NCi0JPC9HbG9iYWxzPg0KLTwvVmlzdWFsU3R1ZGlvUHJvamVjdD4NCmRpZmYgLS1naXQgYS9QQy9WUzkuMC9zcWxpdGUzLnZzcHJvcHMgYi9QQy9WUzkuMC9zcWxpdGUzLnZzcHJvcHMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGI1MDJkZjUuLjAwMDAwMDAKLS0tIGEvUEMvVlM5LjAvc3FsaXRlMy52c3Byb3BzCisrKyAvZGV2L251bGwKQEAgLTEsMTQgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iV2luZG93cy0xMjUyIj8+DQotPFZpc3VhbFN0dWRpb1Byb3BlcnR5U2hlZXQNCi0JUHJvamVjdFR5cGU9IlZpc3VhbCBDKysiDQotCVZlcnNpb249IjguMDAiDQotCU5hbWU9InNxbGl0ZTMiDQotCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5cHJvamVjdC52c3Byb3BzIg0KLQk+DQotCTxUb29sDQotCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iJChzcWxpdGUzRGlyKSINCi0JCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJTUUxJVEVfQVBJPV9fZGVjbHNwZWMoZGxsZXhwb3J0KSINCi0JCVdhcm5pbmdMZXZlbD0iMSINCi0JLz4NCi08L1Zpc3VhbFN0dWRpb1Byb3BlcnR5U2hlZXQ+DQpkaWZmIC0tZ2l0IGEvUEMvVlM5LjAvc3NsLnZjcHJvaiBiL1BDL1ZTOS4wL3NzbC52Y3Byb2oKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQzMGU4NzcuLjAwMDAwMDAKLS0tIGEvUEMvVlM5LjAvc3NsLnZjcHJvagorKysgL2Rldi9udWxsCkBAIC0xLDE4OSArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJXaW5kb3dzLTEyNTIiPz4NCi08VmlzdWFsU3R1ZGlvUHJvamVjdA0KLQlQcm9qZWN0VHlwZT0iVmlzdWFsIEMrKyINCi0JVmVyc2lvbj0iOS4wMCINCi0JTmFtZT0ic3NsIg0KLQlQcm9qZWN0R1VJRD0ie0U1QjA0Q0MwLUVCNEMtNDJBQi1CNERDLTE4RUY5NUY4NjRCMH0iDQotCVJvb3ROYW1lc3BhY2U9InNzbCINCi0JS2V5d29yZD0iTWFrZUZpbGVQcm9qIg0KLQlUYXJnZXRGcmFtZXdvcmtWZXJzaW9uPSIxOTY2MTMiDQotCT4NCi0JPFBsYXRmb3Jtcz4NCi0JCTxQbGF0Zm9ybQ0KLQkJCU5hbWU9IldpbjMyIg0KLQkJLz4NCi0JCTxQbGF0Zm9ybQ0KLQkJCU5hbWU9Ing2NCINCi0JCS8+DQotCTwvUGxhdGZvcm1zPg0KLQk8VG9vbEZpbGVzPg0KLQk8L1Rvb2xGaWxlcz4NCi0JPENvbmZpZ3VyYXRpb25zPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJEZWJ1Z3xXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMCINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWRfZC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNOTWFrZVRvb2wiDQotCQkJCUJ1aWxkQ29tbWFuZExpbmU9ImNkICZxdW90OyQoU29sdXRpb25EaXIpJnF1b3Q7JiN4MEQ7JiN4MEE7JnF1b3Q7JChQeXRob25FeGUpJnF1b3Q7IGJ1aWxkX3NzbC5weSBSZWxlYXNlICQoUGxhdGZvcm1OYW1lKSAtYSYjeDBEOyYjeDBBOyINCi0JCQkJUmVCdWlsZENvbW1hbmRMaW5lPSIiDQotCQkJCUNsZWFuQ29tbWFuZExpbmU9IiINCi0JCQkJT3V0cHV0PSIiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSIiDQotCQkJCUluY2x1ZGVTZWFyY2hQYXRoPSIiDQotCQkJCUZvcmNlZEluY2x1ZGVzPSIiDQotCQkJCUFzc2VtYmx5U2VhcmNoUGF0aD0iIg0KLQkJCQlGb3JjZWRVc2luZ0Fzc2VtYmxpZXM9IiINCi0JCQkJQ29tcGlsZUFzTWFuYWdlZD0iIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IkRlYnVnfHg2NCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMCINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWRfZC52c3Byb3BzOy5ceDY0LnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ05NYWtlVG9vbCINCi0JCQkJQnVpbGRDb21tYW5kTGluZT0iY2QgJnF1b3Q7JChTb2x1dGlvbkRpcikmcXVvdDsmI3gwRDsmI3gwQTsmcXVvdDskKFB5dGhvbkV4ZSkmcXVvdDsgYnVpbGRfc3NsLnB5IFJlbGVhc2UgJChQbGF0Zm9ybU5hbWUpIC1hJiN4MEQ7JiN4MEE7Ig0KLQkJCQlSZUJ1aWxkQ29tbWFuZExpbmU9IiINCi0JCQkJQ2xlYW5Db21tYW5kTGluZT0iIg0KLQkJCQlPdXRwdXQ9IiINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IiINCi0JCQkJSW5jbHVkZVNlYXJjaFBhdGg9IiINCi0JCQkJRm9yY2VkSW5jbHVkZXM9IiINCi0JCQkJQXNzZW1ibHlTZWFyY2hQYXRoPSIiDQotCQkJCUZvcmNlZFVzaW5nQXNzZW1ibGllcz0iIg0KLQkJCQlDb21waWxlQXNNYW5hZ2VkPSIiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMCINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTk1ha2VUb29sIg0KLQkJCQlCdWlsZENvbW1hbmRMaW5lPSJjZCAmcXVvdDskKFNvbHV0aW9uRGlyKSZxdW90OyYjeDBEOyYjeDBBOyZxdW90OyQoUHl0aG9uRXhlKSZxdW90OyBidWlsZF9zc2wucHkgUmVsZWFzZSAkKFBsYXRmb3JtTmFtZSkgLWEmI3gwRDsmI3gwQTsiDQotCQkJCVJlQnVpbGRDb21tYW5kTGluZT0iIg0KLQkJCQlDbGVhbkNvbW1hbmRMaW5lPSIiDQotCQkJCU91dHB1dD0iIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iIg0KLQkJCQlJbmNsdWRlU2VhcmNoUGF0aD0iIg0KLQkJCQlGb3JjZWRJbmNsdWRlcz0iIg0KLQkJCQlBc3NlbWJseVNlYXJjaFBhdGg9IiINCi0JCQkJRm9yY2VkVXNpbmdBc3NlbWJsaWVzPSIiDQotCQkJCUNvbXBpbGVBc01hbmFnZWQ9IiINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJSZWxlYXNlfHg2NCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMCINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wczsuXHg2NC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNOTWFrZVRvb2wiDQotCQkJCUJ1aWxkQ29tbWFuZExpbmU9ImNkICZxdW90OyQoU29sdXRpb25EaXIpJnF1b3Q7JiN4MEQ7JiN4MEE7JnF1b3Q7JChQeXRob25FeGUpJnF1b3Q7IGJ1aWxkX3NzbC5weSBSZWxlYXNlICQoUGxhdGZvcm1OYW1lKSAtYSYjeDBEOyYjeDBBOyINCi0JCQkJUmVCdWlsZENvbW1hbmRMaW5lPSIiDQotCQkJCUNsZWFuQ29tbWFuZExpbmU9IiINCi0JCQkJT3V0cHV0PSIiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSIiDQotCQkJCUluY2x1ZGVTZWFyY2hQYXRoPSIiDQotCQkJCUZvcmNlZEluY2x1ZGVzPSIiDQotCQkJCUFzc2VtYmx5U2VhcmNoUGF0aD0iIg0KLQkJCQlGb3JjZWRVc2luZ0Fzc2VtYmxpZXM9IiINCi0JCQkJQ29tcGlsZUFzTWFuYWdlZD0iIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlBHSW5zdHJ1bWVudHxXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMCINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wczsuXHBnaW5zdHJ1bWVudC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNOTWFrZVRvb2wiDQotCQkJCUJ1aWxkQ29tbWFuZExpbmU9ImNkICZxdW90OyQoU29sdXRpb25EaXIpJnF1b3Q7JiN4MEQ7JiN4MEE7JnF1b3Q7JChQeXRob25FeGUpJnF1b3Q7IGJ1aWxkX3NzbC5weSBSZWxlYXNlICQoUGxhdGZvcm1OYW1lKSAtYSYjeDBEOyYjeDBBOyINCi0JCQkJUmVCdWlsZENvbW1hbmRMaW5lPSIiDQotCQkJCUNsZWFuQ29tbWFuZExpbmU9IiINCi0JCQkJT3V0cHV0PSIiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSIiDQotCQkJCUluY2x1ZGVTZWFyY2hQYXRoPSIiDQotCQkJCUZvcmNlZEluY2x1ZGVzPSIiDQotCQkJCUFzc2VtYmx5U2VhcmNoUGF0aD0iIg0KLQkJCQlGb3JjZWRVc2luZ0Fzc2VtYmxpZXM9IiINCi0JCQkJQ29tcGlsZUFzTWFuYWdlZD0iIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlBHSW5zdHJ1bWVudHx4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjAiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7Llx4NjQudnNwcm9wczsuXHBnaW5zdHJ1bWVudC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNOTWFrZVRvb2wiDQotCQkJCUJ1aWxkQ29tbWFuZExpbmU9ImNkICZxdW90OyQoU29sdXRpb25EaXIpJnF1b3Q7JiN4MEQ7JiN4MEE7JnF1b3Q7JChQeXRob25FeGUpJnF1b3Q7IGJ1aWxkX3NzbC5weSBSZWxlYXNlICQoUGxhdGZvcm1OYW1lKSAtYSYjeDBEOyYjeDBBOyINCi0JCQkJUmVCdWlsZENvbW1hbmRMaW5lPSIiDQotCQkJCUNsZWFuQ29tbWFuZExpbmU9IiINCi0JCQkJT3V0cHV0PSIiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSIiDQotCQkJCUluY2x1ZGVTZWFyY2hQYXRoPSIiDQotCQkJCUZvcmNlZEluY2x1ZGVzPSIiDQotCQkJCUFzc2VtYmx5U2VhcmNoUGF0aD0iIg0KLQkJCQlGb3JjZWRVc2luZ0Fzc2VtYmxpZXM9IiINCi0JCQkJQ29tcGlsZUFzTWFuYWdlZD0iIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlBHVXBkYXRlfFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIwIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ccGd1cGRhdGUudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTk1ha2VUb29sIg0KLQkJCQlCdWlsZENvbW1hbmRMaW5lPSJjZCAmcXVvdDskKFNvbHV0aW9uRGlyKSZxdW90OyYjeDBEOyYjeDBBOyZxdW90OyQoUHl0aG9uRXhlKSZxdW90OyBidWlsZF9zc2wucHkgUmVsZWFzZSAkKFBsYXRmb3JtTmFtZSkgLWEmI3gwRDsmI3gwQTsiDQotCQkJCVJlQnVpbGRDb21tYW5kTGluZT0iIg0KLQkJCQlDbGVhbkNvbW1hbmRMaW5lPSIiDQotCQkJCU91dHB1dD0iIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iIg0KLQkJCQlJbmNsdWRlU2VhcmNoUGF0aD0iIg0KLQkJCQlGb3JjZWRJbmNsdWRlcz0iIg0KLQkJCQlBc3NlbWJseVNlYXJjaFBhdGg9IiINCi0JCQkJRm9yY2VkVXNpbmdBc3NlbWJsaWVzPSIiDQotCQkJCUNvbXBpbGVBc01hbmFnZWQ9IiINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR1VwZGF0ZXx4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjAiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7Llx4NjQudnNwcm9wczsuXHBndXBkYXRlLnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ05NYWtlVG9vbCINCi0JCQkJQnVpbGRDb21tYW5kTGluZT0iY2QgJnF1b3Q7JChTb2x1dGlvbkRpcikmcXVvdDsmI3gwRDsmI3gwQTsmcXVvdDskKFB5dGhvbkV4ZSkmcXVvdDsgYnVpbGRfc3NsLnB5IFJlbGVhc2UgJChQbGF0Zm9ybU5hbWUpIC1hJiN4MEQ7JiN4MEE7Ig0KLQkJCQlSZUJ1aWxkQ29tbWFuZExpbmU9IiINCi0JCQkJQ2xlYW5Db21tYW5kTGluZT0iIg0KLQkJCQlPdXRwdXQ9IiINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IiINCi0JCQkJSW5jbHVkZVNlYXJjaFBhdGg9IiINCi0JCQkJRm9yY2VkSW5jbHVkZXM9IiINCi0JCQkJQXNzZW1ibHlTZWFyY2hQYXRoPSIiDQotCQkJCUZvcmNlZFVzaW5nQXNzZW1ibGllcz0iIg0KLQkJCQlDb21waWxlQXNNYW5hZ2VkPSIiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JPC9Db25maWd1cmF0aW9ucz4NCi0JPFJlZmVyZW5jZXM+DQotCTwvUmVmZXJlbmNlcz4NCi0JPEZpbGVzPg0KLQk8L0ZpbGVzPg0KLQk8R2xvYmFscz4NCi0JPC9HbG9iYWxzPg0KLTwvVmlzdWFsU3R1ZGlvUHJvamVjdD4NCmRpZmYgLS1naXQgYS9QQy9WUzkuMC91bmljb2RlZGF0YS52Y3Byb2ogYi9QQy9WUzkuMC91bmljb2RlZGF0YS52Y3Byb2oKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGI2NmZmNzIuLjAwMDAwMDAKLS0tIGEvUEMvVlM5LjAvdW5pY29kZWRhdGEudmNwcm9qCisrKyAvZGV2L251bGwKQEAgLTEsNTMzICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IldpbmRvd3MtMTI1MiI/Pg0KLTxWaXN1YWxTdHVkaW9Qcm9qZWN0DQotCVByb2plY3RUeXBlPSJWaXN1YWwgQysrIg0KLQlWZXJzaW9uPSI5LjAwIg0KLQlOYW1lPSJ1bmljb2RlZGF0YSINCi0JUHJvamVjdEdVSUQ9IntFQ0M3Q0VBQy1BNUU1LTQ1OEUtQkI5RS0yNDEzQ0M4NDc4ODF9Ig0KLQlSb290TmFtZXNwYWNlPSJ1bmljb2RlZGF0YSINCi0JS2V5d29yZD0iV2luMzJQcm9qIg0KLQlUYXJnZXRGcmFtZXdvcmtWZXJzaW9uPSIxOTY2MTMiDQotCT4NCi0JPFBsYXRmb3Jtcz4NCi0JCTxQbGF0Zm9ybQ0KLQkJCU5hbWU9IldpbjMyIg0KLQkJLz4NCi0JCTxQbGF0Zm9ybQ0KLQkJCU5hbWU9Ing2NCINCi0JCS8+DQotCTwvUGxhdGZvcm1zPg0KLQk8VG9vbEZpbGVzPg0KLQk8L1Rvb2xGaWxlcz4NCi0JPENvbmZpZ3VyYXRpb25zPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJEZWJ1Z3xXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWRfZC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxRDEyMDAwMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJEZWJ1Z3x4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkX2QudnNwcm9wczsuXHg2NC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJCVRhcmdldEVudmlyb25tZW50PSIzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MUQxMjAwMDAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFEMTIwMDAwIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlJlbGVhc2V8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ceDY0LnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJCVRhcmdldEVudmlyb25tZW50PSIzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MUQxMjAwMDAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUEdJbnN0cnVtZW50fFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ccGdpbnN0cnVtZW50LnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxRDEyMDAwMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR0luc3RydW1lbnR8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ceDY0LnZzcHJvcHM7LlxwZ2luc3RydW1lbnQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxRDEyMDAwMCINCi0JCQkJVGFyZ2V0TWFjaGluZT0iMTciDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUEdVcGRhdGV8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7LlxwZ3VwZGF0ZS52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MUQxMjAwMDAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUEdVcGRhdGV8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ceDY0LnZzcHJvcHM7LlxwZ3VwZGF0ZS52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFEMTIwMDAwIg0KLQkJCQlUYXJnZXRNYWNoaW5lPSIxNyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQk8L0NvbmZpZ3VyYXRpb25zPg0KLQk8UmVmZXJlbmNlcz4NCi0JPC9SZWZlcmVuY2VzPg0KLQk8RmlsZXM+DQotCQk8RmlsdGVyDQotCQkJTmFtZT0iSGVhZGVyIEZpbGVzIg0KLQkJCT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcdW5pY29kZWRhdGFfZGIuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcdW5pY29kZW5hbWVfZGIuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCTwvRmlsdGVyPg0KLQkJPEZpbHRlcg0KLQkJCU5hbWU9IlNvdXJjZSBGaWxlcyINCi0JCQk+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXHVuaWNvZGVkYXRhLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQk8L0ZpbHRlcj4NCi0JPC9GaWxlcz4NCi0JPEdsb2JhbHM+DQotCTwvR2xvYmFscz4NCi08L1Zpc3VhbFN0dWRpb1Byb2plY3Q+DQpkaWZmIC0tZ2l0IGEvUEMvVlM5LjAvd2luc291bmQudmNwcm9qIGIvUEMvVlM5LjAvd2luc291bmQudmNwcm9qCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0N2RiZjI5Li4wMDAwMDAwCi0tLSBhL1BDL1ZTOS4wL3dpbnNvdW5kLnZjcHJvagorKysgL2Rldi9udWxsCkBAIC0xLDUyMyArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJXaW5kb3dzLTEyNTIiPz4NCi08VmlzdWFsU3R1ZGlvUHJvamVjdA0KLQlQcm9qZWN0VHlwZT0iVmlzdWFsIEMrKyINCi0JVmVyc2lvbj0iOS4wMCINCi0JTmFtZT0id2luc291bmQiDQotCVByb2plY3RHVUlEPSJ7MjhCNUQ3NzctRERGMi00QjZCLUIzNEYtMzFEOTM4ODEzODU2fSINCi0JUm9vdE5hbWVzcGFjZT0id2luc291bmQiDQotCUtleXdvcmQ9IldpbjMyUHJvaiINCi0JVGFyZ2V0RnJhbWV3b3JrVmVyc2lvbj0iMTk2NjEzIg0KLQk+DQotCTxQbGF0Zm9ybXM+DQotCQk8UGxhdGZvcm0NCi0JCQlOYW1lPSJXaW4zMiINCi0JCS8+DQotCQk8UGxhdGZvcm0NCi0JCQlOYW1lPSJ4NjQiDQotCQkvPg0KLQk8L1BsYXRmb3Jtcz4NCi0JPFRvb2xGaWxlcz4NCi0JPC9Ub29sRmlsZXM+DQotCTxDb25maWd1cmF0aW9ucz4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iRGVidWd8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkX2QudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0id2lubW0ubGliIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IkRlYnVnfHg2NCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWRfZC52c3Byb3BzOy5ceDY0LnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJ3aW5tbS5saWIiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9Indpbm1tLmxpYiINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJSZWxlYXNlfHg2NCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wczsuXHg2NC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9Indpbm1tLmxpYiINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR0luc3RydW1lbnR8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7LlxwZ2luc3RydW1lbnQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9Indpbm1tLmxpYiINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR0luc3RydW1lbnR8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ceDY0LnZzcHJvcHM7LlxwZ2luc3RydW1lbnQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJ3aW5tbS5saWIiDQotCQkJCVRhcmdldE1hY2hpbmU9IjE3Ig0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlBHVXBkYXRlfFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ccGd1cGRhdGUudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9Indpbm1tLmxpYiINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR1VwZGF0ZXx4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7Llx4NjQudnNwcm9wczsuXHBndXBkYXRlLnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJCVRhcmdldEVudmlyb25tZW50PSIzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0id2lubW0ubGliIg0KLQkJCQlUYXJnZXRNYWNoaW5lPSIxNyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQk8L0NvbmZpZ3VyYXRpb25zPg0KLQk8UmVmZXJlbmNlcz4NCi0JPC9SZWZlcmVuY2VzPg0KLQk8RmlsZXM+DQotCQk8RmlsdGVyDQotCQkJTmFtZT0iU291cmNlIEZpbGVzIg0KLQkJCUZpbHRlcj0iY3BwO2M7Y2M7Y3h4O2RlZjtvZGw7aWRsO2hwajtiYXQ7YXNtO2FzbXgiDQotCQkJVW5pcXVlSWRlbnRpZmllcj0iezRGQzczN0YxLUM3QTUtNDM3Ni1BMDY2LTJBMzJENzUyQTJGRn0iDQotCQkJPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUENcd2luc291bmQuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCTwvRmlsdGVyPg0KLQk8L0ZpbGVzPg0KLQk8R2xvYmFscz4NCi0JPC9HbG9iYWxzPg0KLTwvVmlzdWFsU3R1ZGlvUHJvamVjdD4NCmRpZmYgLS1naXQgYS9QQy9WUzkuMC94NjQudnNwcm9wcyBiL1BDL1ZTOS4wL3g2NC52c3Byb3BzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkMDZmNDcwLi4wMDAwMDAwCi0tLSBhL1BDL1ZTOS4wL3g2NC52c3Byb3BzCisrKyAvZGV2L251bGwKQEAgLTEsMjIgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iV2luZG93cy0xMjUyIj8+DQotPFZpc3VhbFN0dWRpb1Byb3BlcnR5U2hlZXQNCi0JUHJvamVjdFR5cGU9IlZpc3VhbCBDKysiDQotCVZlcnNpb249IjguMDAiDQotCU5hbWU9ImFtZDY0Ig0KLQlPdXRwdXREaXJlY3Rvcnk9IiQoU29sdXRpb25EaXIpXGFtZDY0XCINCi0JSW50ZXJtZWRpYXRlRGlyZWN0b3J5PSIkKFNvbHV0aW9uRGlyKSQoUGxhdGZvcm1OYW1lKS10ZW1wLSQoQ29uZmlndXJhdGlvbk5hbWUpXCQoUHJvamVjdE5hbWUpXCINCi0JPg0KLQk8VG9vbA0KLQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCUFkZGl0aW9uYWxPcHRpb25zPSIvR1MtIg0KLQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9Il9XSU42NDtfTV9YNjQiDQotCS8+DQotCTxUb29sDQotCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQlUYXJnZXRNYWNoaW5lPSIxNyINCi0JLz4NCi0JPFVzZXJNYWNybw0KLQkJTmFtZT0iUHl0aG9uRXhlIg0KLQkJVmFsdWU9IiQoSE9TVF9QWVRIT04pIg0KLQkvPg0KLTwvVmlzdWFsU3R1ZGlvUHJvcGVydHlTaGVldD4NCmRpZmYgLS1naXQgYS9QQy9WUzkuMC94eGxpbWl0ZWQudmNwcm9qIGIvUEMvVlM5LjAveHhsaW1pdGVkLnZjcHJvagpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTNhYWFkNi4uMDAwMDAwMAotLS0gYS9QQy9WUzkuMC94eGxpbWl0ZWQudmNwcm9qCisrKyAvZGV2L251bGwKQEAgLTEsNDE3ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IldpbmRvd3MtMTI1MiI/Pg0KLTxWaXN1YWxTdHVkaW9Qcm9qZWN0DQotCVByb2plY3RUeXBlPSJWaXN1YWwgQysrIg0KLQlWZXJzaW9uPSI5LjAwIg0KLQlOYW1lPSJ4eGxpbWl0ZWQiDQotCVByb2plY3RHVUlEPSJ7Rjc0OUI4MjItQjQ4OS00Q0E1LUEzQUQtQ0UwNzhGNUYzMzhBfSINCi0JUm9vdE5hbWVzcGFjZT0ieHhsaW1pdGVkIg0KLQlLZXl3b3JkPSJXaW4zMlByb2oiDQotCVRhcmdldEZyYW1ld29ya1ZlcnNpb249IjE5NjYxMyINCi0JPg0KLQk8UGxhdGZvcm1zPg0KLQkJPFBsYXRmb3JtDQotCQkJTmFtZT0iV2luMzIiDQotCQkvPg0KLQkJPFBsYXRmb3JtDQotCQkJTmFtZT0ieDY0Ig0KLQkJLz4NCi0JPC9QbGF0Zm9ybXM+DQotCTxUb29sRmlsZXM+DQotCTwvVG9vbEZpbGVzPg0KLQk8Q29uZmlndXJhdGlvbnM+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iTkRFQlVHO19XSU4zMjtfV0lORExMO1B5X0xJTUlURURfQVBJOyQoTk9JTkhFUklUKSINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0id3MyXzMyLmxpYiINCi0JCQkJSWdub3JlRGVmYXVsdExpYnJhcnlOYW1lcz0ibGliYyINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MUQxMTAwMDAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUmVsZWFzZXx4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7Llx4NjQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJ3czJfMzIubGliIg0KLQkJCQlJZ25vcmVEZWZhdWx0TGlicmFyeU5hbWVzPSJsaWJjIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxRDExMDAwMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR0luc3RydW1lbnR8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7LlxwZ2luc3RydW1lbnQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJQeV9MSU1JVEVEX0FQSSINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0id3MyXzMyLmxpYiINCi0JCQkJSWdub3JlRGVmYXVsdExpYnJhcnlOYW1lcz0ibGliYyINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MUQxMTAwMDAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUEdJbnN0cnVtZW50fHg2NCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wczsuXHg2NC52c3Byb3BzOy5ccGdpbnN0cnVtZW50LnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJCVRhcmdldEVudmlyb25tZW50PSIzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0id3MyXzMyLmxpYiINCi0JCQkJSWdub3JlRGVmYXVsdExpYnJhcnlOYW1lcz0ibGliYyINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MUQxMTAwMDAiDQotCQkJCVRhcmdldE1hY2hpbmU9IjE3Ig0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlBHVXBkYXRlfFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ccGd1cGRhdGUudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJQeV9MSU1JVEVEX0FQSSINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0id3MyXzMyLmxpYiINCi0JCQkJSWdub3JlRGVmYXVsdExpYnJhcnlOYW1lcz0ibGliYyINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MUQxMTAwMDAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUEdVcGRhdGV8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ceDY0LnZzcHJvcHM7LlxwZ3VwZGF0ZS52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9IndzMl8zMi5saWIiDQotCQkJCUlnbm9yZURlZmF1bHRMaWJyYXJ5TmFtZXM9ImxpYmMiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFEMTEwMDAwIg0KLQkJCQlUYXJnZXRNYWNoaW5lPSIxNyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQk8L0NvbmZpZ3VyYXRpb25zPg0KLQk8UmVmZXJlbmNlcz4NCi0JPC9SZWZlcmVuY2VzPg0KLQk8RmlsZXM+DQotCQk8RmlsdGVyDQotCQkJTmFtZT0iU291cmNlIEZpbGVzIg0KLQkJCT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNceHhsaW1pdGVkLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQk8L0ZpbHRlcj4NCi0JPC9GaWxlcz4NCi0JPEdsb2JhbHM+DQotCTwvR2xvYmFscz4NCi08L1Zpc3VhbFN0dWRpb1Byb2plY3Q+DQpkaWZmIC0tZ2l0IGEvUEMvYmRpc3Rfd2luaW5zdC9hcmNoaXZlLmggYi9QQy9iZGlzdF93aW5pbnN0L2FyY2hpdmUuaAppbmRleCAzMWE3ODA1Li41MGZmMTVjIDEwMDY0NAotLS0gYS9QQy9iZGlzdF93aW5pbnN0L2FyY2hpdmUuaAorKysgYi9QQy9iZGlzdF93aW5pbnN0L2FyY2hpdmUuaApAQCAtMSwxMCArMSw5IEBACiAvKgotICBJTVBPUlRBTlQgTk9URTogSUYgVEhJUyBGSUxFIElTIENIQU5HRUQsIFdJTklOU1QtNi5FWEUgTVVTVCBCRSBSRUNPTVBJTEVECi0gIFdJVEggVEhFIE1TVkM2IFdJTklOU1QuRFNXIFdPUktTUEFDRSBGSUxFIE1BTlVBTExZLCBBTkQgV0lOSU5TVC03LjEuRVhFIE1VU1QKLSAgQkUgUkVDT01QSUxFRCBXSVRIIFRIRSBNU1ZDIDIwMDMuTkVUIFdJTklOU1QtNy4xLlZDUFJPSiBGSUxFIE1BTlVBTExZLgorICBJTVBPUlRBTlQgTk9URTogSUYgVEhJUyBGSUxFIElTIENIQU5HRUQsIFBDQlVJTERcQkRJU1RfV0lOSU5TVC5WQ1hQUk9KIE1VU1QKKyAgQkUgUkVCVUlMVCBBUyBXRUxMLgogCi0gIElGIENIQU5HRVMgVE8gVEhJUyBGSUxFIEFSRSBDSEVDS0VEIElOVE8gUFlUSE9OIENWUywgVEhFIFJFQ09NUElMRUQgQklOQVJJRVMKLSAgTVVTVCBCRSBDSEVDS0VEIElOIEFTIFdFTEwhCisgIElGIENIQU5HRVMgVE8gVEhJUyBGSUxFIEFSRSBDSEVDS0VEIElOLCBUSEUgUkVDT01QSUxFRCBCSU5BUklFUyBNVVNUIEJFCisgIENIRUNLRUQgSU4gQVMgV0VMTCEKICovCiAKICNwcmFnbWEgcGFjaygxKQpkaWZmIC0tZ2l0IGEvUEMvYmRpc3Rfd2luaW5zdC9iZGlzdF93aW5pbnN0LnZjeHByb2ogYi9QQy9iZGlzdF93aW5pbnN0L2JkaXN0X3dpbmluc3QudmN4cHJvagpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yYWI0NzRlCi0tLSAvZGV2L251bGwKKysrIGIvUEMvYmRpc3Rfd2luaW5zdC9iZGlzdF93aW5pbnN0LnZjeHByb2oKQEAgLTAsMCArMSwxMDMgQEAKK++7vzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Cis8UHJvamVjdCBEZWZhdWx0VGFyZ2V0cz0iQnVpbGQiIFRvb2xzVmVyc2lvbj0iNC4wIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4KKyAgPEl0ZW1Hcm91cCBMYWJlbD0iUHJvamVjdENvbmZpZ3VyYXRpb25zIj4KKyAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iRGVidWd8V2luMzIiPgorICAgICAgPENvbmZpZ3VyYXRpb24+RGVidWc8L0NvbmZpZ3VyYXRpb24+CisgICAgICA8UGxhdGZvcm0+V2luMzI8L1BsYXRmb3JtPgorICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+CisgICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IkRlYnVnfHg2NCI+CisgICAgICA8Q29uZmlndXJhdGlvbj5EZWJ1ZzwvQ29uZmlndXJhdGlvbj4KKyAgICAgIDxQbGF0Zm9ybT54NjQ8L1BsYXRmb3JtPgorICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+CisgICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IlBHSW5zdHJ1bWVudHxXaW4zMiI+CisgICAgICA8Q29uZmlndXJhdGlvbj5QR0luc3RydW1lbnQ8L0NvbmZpZ3VyYXRpb24+CisgICAgICA8UGxhdGZvcm0+V2luMzI8L1BsYXRmb3JtPgorICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+CisgICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IlBHSW5zdHJ1bWVudHx4NjQiPgorICAgICAgPENvbmZpZ3VyYXRpb24+UEdJbnN0cnVtZW50PC9Db25maWd1cmF0aW9uPgorICAgICAgPFBsYXRmb3JtPng2NDwvUGxhdGZvcm0+CisgICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KKyAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iUEdVcGRhdGV8V2luMzIiPgorICAgICAgPENvbmZpZ3VyYXRpb24+UEdVcGRhdGU8L0NvbmZpZ3VyYXRpb24+CisgICAgICA8UGxhdGZvcm0+V2luMzI8L1BsYXRmb3JtPgorICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+CisgICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IlBHVXBkYXRlfHg2NCI+CisgICAgICA8Q29uZmlndXJhdGlvbj5QR1VwZGF0ZTwvQ29uZmlndXJhdGlvbj4KKyAgICAgIDxQbGF0Zm9ybT54NjQ8L1BsYXRmb3JtPgorICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+CisgICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IlJlbGVhc2V8V2luMzIiPgorICAgICAgPENvbmZpZ3VyYXRpb24+UmVsZWFzZTwvQ29uZmlndXJhdGlvbj4KKyAgICAgIDxQbGF0Zm9ybT5XaW4zMjwvUGxhdGZvcm0+CisgICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KKyAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iUmVsZWFzZXx4NjQiPgorICAgICAgPENvbmZpZ3VyYXRpb24+UmVsZWFzZTwvQ29uZmlndXJhdGlvbj4KKyAgICAgIDxQbGF0Zm9ybT54NjQ8L1BsYXRmb3JtPgorICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+CisgIDwvSXRlbUdyb3VwPgorICA8UHJvcGVydHlHcm91cCBMYWJlbD0iR2xvYmFscyI+CisgICAgPFByb2plY3RHdWlkPntFQjFDMTlDMS0xRjE4LTQyMUUtOTczNS1DQUVFNjlEQzZBM0N9PC9Qcm9qZWN0R3VpZD4KKyAgICA8Um9vdE5hbWVzcGFjZT53aW5pbnN0PC9Sb290TmFtZXNwYWNlPgorICAgIDxNYWtlVmVyc2lvbkluZm9CZWZvcmVUYXJnZXQ+Q2xDb21waWxlPC9NYWtlVmVyc2lvbkluZm9CZWZvcmVUYXJnZXQ+CisgICAgPFN1cHBvcnRQR08+ZmFsc2U8L1N1cHBvcnRQR08+CisgIDwvUHJvcGVydHlHcm91cD4KKyAgPEltcG9ydCBQcm9qZWN0PSIuLlwuLlxQQ0J1aWxkXHB5dGhvbi5wcm9wcyIgLz4KKyAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAuRGVmYXVsdC5wcm9wcyIgLz4KKyAgPFByb3BlcnR5R3JvdXAgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgorICAgIDxDb25maWd1cmF0aW9uVHlwZT5BcHBsaWNhdGlvbjwvQ29uZmlndXJhdGlvblR5cGU+CisgICAgPFVzZU9mTWZjPmZhbHNlPC9Vc2VPZk1mYz4KKyAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgorICA8L1Byb3BlcnR5R3JvdXA+CisgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLnByb3BzIiAvPgorICA8SW1wb3J0R3JvdXAgTGFiZWw9IkV4dGVuc2lvblNldHRpbmdzIj4KKyAgPC9JbXBvcnRHcm91cD4KKyAgPEltcG9ydEdyb3VwIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+CisgICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgorICAgIDxJbXBvcnQgUHJvamVjdD0iLi5cLi5cUENCdWlsZFxweXByb2plY3QucHJvcHMiIC8+CisgIDwvSW1wb3J0R3JvdXA+CisgIDxQcm9wZXJ0eUdyb3VwPgorICAgIDxfUHJvamVjdEZpbGVWZXJzaW9uPjEwLjAuMzAzMTkuMTwvX1Byb2plY3RGaWxlVmVyc2lvbj4KKyAgICA8T3V0RGlyPiQoUHlTb3VyY2VQYXRoKWxpYlxkaXN0dXRpbHNcY29tbWFuZFw8L091dERpcj4KKyAgICA8TGlua0luY3JlbWVudGFsPmZhbHNlPC9MaW5rSW5jcmVtZW50YWw+CisgICAgPFRhcmdldE5hbWU+d2luaW5zdC0kKFZpc3VhbFN0dWRpb1ZlcnNpb24pPC9UYXJnZXROYW1lPgorICAgIDxUYXJnZXROYW1lIENvbmRpdGlvbj0iJChQbGF0Zm9ybSkgPT0gJ3g2NCciPiQoVGFyZ2V0TmFtZSktYW1kNjQ8L1RhcmdldE5hbWU+CisgICAgPFRhcmdldEV4dD4uZXhlPC9UYXJnZXRFeHQ+CisgIDwvUHJvcGVydHlHcm91cD4KKyAgPEl0ZW1EZWZpbml0aW9uR3JvdXA+CisgICAgPE1pZGw+CisgICAgICA8VHlwZUxpYnJhcnlOYW1lPiQoT3V0RGlyKXdpbmluc3QudGxiPC9UeXBlTGlicmFyeU5hbWU+CisgICAgPC9NaWRsPgorICAgIDxDbENvbXBpbGU+CisgICAgICA8T3B0aW1pemF0aW9uPk1pblNwYWNlPC9PcHRpbWl6YXRpb24+CisgICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4kKFB5U291cmNlUGF0aClNb2R1bGVzXHpsaWI7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KKyAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5fQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEU7X0NSVF9OT05TVERDX05PX0RFUFJFQ0FURTslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+CisgICAgPC9DbENvbXBpbGU+CisgICAgPFJlc291cmNlQ29tcGlsZT4KKyAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPiQoUHlTb3VyY2VQYXRoKVBDXGJkaXN0X3dpbmluc3Q7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KKyAgICA8L1Jlc291cmNlQ29tcGlsZT4KKyAgICA8TGluaz4KKyAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPmNvbWN0bDMyLmxpYjtpbWFnZWhscC5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KKyAgICA8L0xpbms+CisgIDwvSXRlbURlZmluaXRpb25Hcm91cD4KKyAgPEl0ZW1Hcm91cD4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9ImV4dHJhY3QuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Imluc3RhbGwuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXE1vZHVsZXNcemxpYlxhZGxlcjMyLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlxNb2R1bGVzXHpsaWJcY3JjMzIuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXE1vZHVsZXNcemxpYlxpbmZmYXN0LmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlxNb2R1bGVzXHpsaWJcaW5mbGF0ZS5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cTW9kdWxlc1x6bGliXGluZnRyZWVzLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlxNb2R1bGVzXHpsaWJcenV0aWwuYyIgLz4KKyAgPC9JdGVtR3JvdXA+CisgIDxJdGVtR3JvdXA+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSJhcmNoaXZlLmgiIC8+CisgIDwvSXRlbUdyb3VwPgorICA8SXRlbUdyb3VwPgorICAgIDxSZXNvdXJjZUNvbXBpbGUgSW5jbHVkZT0iaW5zdGFsbC5yYyIgLz4KKyAgPC9JdGVtR3JvdXA+CisgIDxJdGVtR3JvdXA+CisgICAgPE5vbmUgSW5jbHVkZT0iUHl0aG9uUG93ZXJlZC5ibXAiIC8+CisgIDwvSXRlbUdyb3VwPgorICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC50YXJnZXRzIiAvPgorICA8SW1wb3J0R3JvdXAgTGFiZWw9IkV4dGVuc2lvblRhcmdldHMiPgorICA8L0ltcG9ydEdyb3VwPgorPC9Qcm9qZWN0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL1BDYnVpbGQvYmRpc3Rfd2luaW5zdC52Y3hwcm9qLmZpbHRlcnMgYi9QQy9iZGlzdF93aW5pbnN0L2JkaXN0X3dpbmluc3QudmN4cHJvai5maWx0ZXJzCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBQQ2J1aWxkL2JkaXN0X3dpbmluc3QudmN4cHJvai5maWx0ZXJzCnJlbmFtZSB0byBQQy9iZGlzdF93aW5pbnN0L2JkaXN0X3dpbmluc3QudmN4cHJvai5maWx0ZXJzCmRpZmYgLS1naXQgYS9QQy9iZGlzdF93aW5pbnN0L2J1aWxkLmJhdCBiL1BDL2JkaXN0X3dpbmluc3QvYnVpbGQuYmF0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVlNjg1NjcKLS0tIC9kZXYvbnVsbAorKysgYi9QQy9iZGlzdF93aW5pbnN0L2J1aWxkLmJhdApAQCAtMCwwICsxLDIyIEBACitAZWNobyBvZmYKK3NldGxvY2FsCisKK3NldCBEPSV+ZHAwCitzZXQgUENCVUlMRD0lfmRwMC4uXC4uXFBDQnVpbGRcCisKKworZWNobyBCdWlsZGluZyBMaWJcZGlzdHV0aWxzXGNvbW1hbmRcd2luaW5zdC14eC4wLmV4ZQorCitjYWxsICIlUENCVUlMRCVlbnYuYmF0IiB4ODYKK2lmIGVycm9ybGV2ZWwgMSBnb3RvIDplb2YKKworbXNidWlsZCAiJUQlYmRpc3Rfd2luaW5zdC52Y3hwcm9qIiAiL3A6U29sdXRpb25EaXI9JVBDQlVJTEQlXCIgL3A6Q29uZmlndXJhdGlvbj1SZWxlYXNlIC9wOlBsYXRmb3JtPVdpbjMyCitpZiBlcnJvcmxldmVsIDEgZ290byA6ZW9mCisKKworZWNobyBCdWlsZGluZyBMaWJcZGlzdHV0aWxzXGNvbW1hbmRcd2luaW5zdC14eC4wLWFtZDY0LmV4ZQorCitjYWxsICIlUENCVUlMRCVlbnYuYmF0IiB4ODZfYW1kNjQKK2lmIGVycm9ybGV2ZWwgMSBnb3RvIDplb2YKKworbXNidWlsZCAiJUQlYmRpc3Rfd2luaW5zdC52Y3hwcm9qIiAiL3A6U29sdXRpb25EaXI9JVBDQlVJTEQlXCIgL3A6Q29uZmlndXJhdGlvbj1SZWxlYXNlIC9wOlBsYXRmb3JtPXg2NApkaWZmIC0tZ2l0IGEvUEMvYmRpc3Rfd2luaW5zdC9leHRyYWN0LmMgYi9QQy9iZGlzdF93aW5pbnN0L2V4dHJhY3QuYwppbmRleCBhZWM4ZWRhLi4wMjQ5ZDlmIDEwMDY0NAotLS0gYS9QQy9iZGlzdF93aW5pbnN0L2V4dHJhY3QuYworKysgYi9QQy9iZGlzdF93aW5pbnN0L2V4dHJhY3QuYwpAQCAtMSwxMCArMSw5IEBACiAvKgotICBJTVBPUlRBTlQgTk9URTogSUYgVEhJUyBGSUxFIElTIENIQU5HRUQsIFdJTklOU1QtNi5FWEUgTVVTVCBCRSBSRUNPTVBJTEVECi0gIFdJVEggVEhFIE1TVkM2IFdJTklOU1QuRFNXIFdPUktTUEFDRSBGSUxFIE1BTlVBTExZLCBBTkQgV0lOSU5TVC03LjEuRVhFIE1VU1QKLSAgQkUgUkVDT01QSUxFRCBXSVRIIFRIRSBNU1ZDIDIwMDMuTkVUIFdJTklOU1QtNy4xLlZDUFJPSiBGSUxFIE1BTlVBTExZLgorICBJTVBPUlRBTlQgTk9URTogSUYgVEhJUyBGSUxFIElTIENIQU5HRUQsIFBDQlVJTERcQkRJU1RfV0lOSU5TVC5WQ1hQUk9KIE1VU1QKKyAgQkUgUkVCVUlMVCBBUyBXRUxMLgogCi0gIElGIENIQU5HRVMgVE8gVEhJUyBGSUxFIEFSRSBDSEVDS0VEIElOVE8gUFlUSE9OIENWUywgVEhFIFJFQ09NUElMRUQgQklOQVJJRVMKLSAgTVVTVCBCRSBDSEVDS0VEIElOIEFTIFdFTEwhCisgIElGIENIQU5HRVMgVE8gVEhJUyBGSUxFIEFSRSBDSEVDS0VEIElOLCBUSEUgUkVDT01QSUxFRCBCSU5BUklFUyBNVVNUIEJFCisgIENIRUNLRUQgSU4gQVMgV0VMTCEKICovCiAKICNpbmNsdWRlIDx3aW5kb3dzLmg+CmRpZmYgLS1naXQgYS9QQy9iZGlzdF93aW5pbnN0L2luc3RhbGwuYyBiL1BDL2JkaXN0X3dpbmluc3QvaW5zdGFsbC5jCmluZGV4IGEwMjMyZDIuLmJiMmViMzQgMTAwNjQ0Ci0tLSBhL1BDL2JkaXN0X3dpbmluc3QvaW5zdGFsbC5jCisrKyBiL1BDL2JkaXN0X3dpbmluc3QvaW5zdGFsbC5jCkBAIC0xLDEwICsxLDkgQEAKIC8qCi0gIElNUE9SVEFOVCBOT1RFOiBJRiBUSElTIEZJTEUgSVMgQ0hBTkdFRCwgV0lOSU5TVC02LkVYRSBNVVNUIEJFIFJFQ09NUElMRUQKLSAgV0lUSCBUSEUgTVNWQzYgV0lOSU5TVC5EU1cgV09SS1NQQUNFIEZJTEUgTUFOVUFMTFksIEFORCBXSU5JTlNULTcuMS5FWEUgTVVTVAotICBCRSBSRUNPTVBJTEVEIFdJVEggVEhFIE1TVkMgMjAwMy5ORVQgV0lOSU5TVC03LjEuVkNQUk9KIEZJTEUgTUFOVUFMTFkuCisgIElNUE9SVEFOVCBOT1RFOiBJRiBUSElTIEZJTEUgSVMgQ0hBTkdFRCwgUENCVUlMRFxCRElTVF9XSU5JTlNULlZDWFBST0ogTVVTVAorICBCRSBSRUJVSUxUIEFTIFdFTEwuCiAKLSAgSUYgQ0hBTkdFUyBUTyBUSElTIEZJTEUgQVJFIENIRUNLRUQgSU5UTyBQWVRIT04gQ1ZTLCBUSEUgUkVDT01QSUxFRCBCSU5BUklFUwotICBNVVNUIEJFIENIRUNLRUQgSU4gQVMgV0VMTCEKKyAgSUYgQ0hBTkdFUyBUTyBUSElTIEZJTEUgQVJFIENIRUNLRUQgSU4sIFRIRSBSRUNPTVBJTEVEIEJJTkFSSUVTIE1VU1QgQkUKKyAgQ0hFQ0tFRCBJTiBBUyBXRUxMIQogKi8KIAogLyoKQEAgLTEyMTYsNyArMTIxNSw3IEBACiAKICNpbmNsdWRlIDxwcnNodC5oPgogCi1CT09MIENBTExCQUNLCitJTlRfUFRSIENBTExCQUNLCiBJbnRyb0RsZ1Byb2MoSFdORCBod25kLCBVSU5UIG1zZywgV1BBUkFNIHdQYXJhbSwgTFBBUkFNIGxQYXJhbSkKIHsKICAgICBMUE5NSERSIGxwbm07CkBAIC0xNTY1LDcgKzE1NjQsNyBAQAogICAgIHJldHVybiBvbGRfc2NoZW1lOwogfQogCi1CT09MIENBTExCQUNLCitJTlRfUFRSIENBTExCQUNLCiBTZWxlY3RQeXRob25EbGdQcm9jKEhXTkQgaHduZCwgVUlOVCBtc2csIFdQQVJBTSB3UGFyYW0sIExQQVJBTSBsUGFyYW0pCiB7CiAgICAgTFBOTUhEUiBscG5tOwpAQCAtMTg2Nyw3ICsxODY2LDcgQEAKICAgICAgICAgZmNsb3NlKGxvZ2ZpbGUpOwogfQogCi1CT09MIENBTExCQUNLCitJTlRfUFRSIENBTExCQUNLCiBJbnN0YWxsRmlsZXNEbGdQcm9jKEhXTkQgaHduZCwgVUlOVCBtc2csIFdQQVJBTSB3UGFyYW0sIExQQVJBTSBsUGFyYW0pCiB7CiAgICAgTFBOTUhEUiBscG5tOwpAQCAtMjAyMiw3ICsyMDIxLDcgQEAKIH0KIAogCi1CT09MIENBTExCQUNLCitJTlRfUFRSIENBTExCQUNLCiBGaW5pc2hlZERsZ1Byb2MoSFdORCBod25kLCBVSU5UIG1zZywgV1BBUkFNIHdQYXJhbSwgTFBBUkFNIGxQYXJhbSkKIHsKICAgICBMUE5NSERSIGxwbm07CkBAIC0yMTk4LDIzICsyMTk3LDYgQEAKICAgICByZXR1cm4gVFJVRTsKIH0KIAotLy8gUmV0dXJucyBUUlVFIGlmIHRoZSBwbGF0Zm9ybSBzdXBwb3J0cyBVQUMuCi1CT09MIFBsYXRmb3JtU3VwcG9ydHNVQUMoKQotewotICAgIC8vIE5vdGUgdGhhdCB3aW4yayBkb2VzIHNlZW0gdG8gc3VwcG9ydCBTaGVsbEV4ZWN1dGUgd2l0aCAncnVuYXMnLAotICAgIC8vIGJ1dCBkb2VzICpub3QqIHN1cHBvcnQgSXNVc2VyQW5BZG1pbiAtIHNvIHdlIGp1c3QgcHJldGVuZCB0aGluZ3MKLSAgICAvLyBvbmx5IHdvcmsgb24gWFAgYW5kIGxhdGVyLgotICAgIEJPT0wgYklzV2luZG93c1hQb3JMYXRlcjsKLSAgICBPU1ZFUlNJT05JTkZPIHdpbnZlcmluZm87Ci0gICAgd2ludmVyaW5mby5kd09TVmVyc2lvbkluZm9TaXplID0gc2l6ZW9mKHdpbnZlcmluZm8pOwotICAgIGlmICghR2V0VmVyc2lvbkV4KCZ3aW52ZXJpbmZvKSkKLSAgICAgICAgcmV0dXJuIEZBTFNFOyAvLyBzb21ldGhpbmcgYmFkIGhhcyBnb25lIHdyb25nCi0gICAgYklzV2luZG93c1hQb3JMYXRlciA9Ci0gICAgICAgKCAod2ludmVyaW5mby5kd01ham9yVmVyc2lvbiA+IDUpIHx8Ci0gICAgICAgKCAod2ludmVyaW5mby5kd01ham9yVmVyc2lvbiA9PSA1KSAmJiAod2ludmVyaW5mby5kd01pbm9yVmVyc2lvbiA+PSAxKSApKTsKLSAgICByZXR1cm4gYklzV2luZG93c1hQb3JMYXRlcjsKLX0KLQogLy8gU3Bhd24gb3Vyc2VsZiBhcyBhbiBlbGV2YXRlZCBhcHBsaWNhdGlvbi4gIE9uIGZhaWx1cmUsIGEgbWVzc2FnZSBpcwogLy8gZGlzcGxheWVkIHRvIHRoZSB1c2VyIC0gYnV0IHRoaXMgYXBwIHdpbGwgYWx3YXlzIHRlcm1pbmF0ZSwgZXZlbgogLy8gb24gZXJyb3IuCkBAIC0yMjcwLDcgKzIyNTIsNyBAQAogCiAgICAgLy8gU2VlIGlmIHdlIG5lZWQgdG8gZG8gdGhlIFZpc3RhIFVBQyBtYWdpYy4KICAgICBpZiAoc3RyY21wKHVzZXJfYWNjZXNzX2NvbnRyb2wsICJmb3JjZSIpPT0wKSB7Ci0gICAgICAgIGlmIChQbGF0Zm9ybVN1cHBvcnRzVUFDKCkgJiYgIU15SXNVc2VyQW5BZG1pbigpKSB7CisgICAgICAgIGlmICghTXlJc1VzZXJBbkFkbWluKCkpIHsKICAgICAgICAgICAgIFNwYXduVUFDKCk7CiAgICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICAgfQpAQCAtMjI3OCw3ICsyMjYwLDcgQEAKICAgICB9IGVsc2UgaWYgKHN0cmNtcCh1c2VyX2FjY2Vzc19jb250cm9sLCAiYXV0byIpPT0wKSB7CiAgICAgICAgIC8vIENoZWNrIGlmIGl0IGxvb2tzIGxpa2Ugd2UgbmVlZCBVQUMgY29udHJvbCwgYmFzZWQKICAgICAgICAgLy8gb24gaG93IFB5dGhvbiBpdHNlbGYgd2FzIGluc3RhbGxlZC4KLSAgICAgICAgaWYgKFBsYXRmb3JtU3VwcG9ydHNVQUMoKSAmJiAhTXlJc1VzZXJBbkFkbWluKCkgJiYgTmVlZEF1dG9VQUMoKSkgeworICAgICAgICBpZiAoIU15SXNVc2VyQW5BZG1pbigpICYmIE5lZWRBdXRvVUFDKCkpIHsKICAgICAgICAgICAgIFNwYXduVUFDKCk7CiAgICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICAgfQpkaWZmIC0tZ2l0IGEvUEMvYmRpc3Rfd2luaW5zdC9pbnN0YWxsLnJjIGIvUEMvYmRpc3Rfd2luaW5zdC9pbnN0YWxsLnJjCmluZGV4IGQwMThiNDguLmRmYTJmZmMgMTAwNjQ0Ci0tLSBhL1BDL2JkaXN0X3dpbmluc3QvaW5zdGFsbC5yYworKysgYi9QQy9iZGlzdF93aW5pbnN0L2luc3RhbGwucmMKQEAgLTEsOTcgKzEsMjAgQEAKIC8qCi0gIElNUE9SVEFOVCBOT1RFOiBJRiBUSElTIEZJTEUgSVMgQ0hBTkdFRCwgV0lOSU5TVC02LkVYRSBNVVNUIEJFIFJFQ09NUElMRUQKLSAgV0lUSCBUSEUgTVNWQzYgV0lOSU5TVC5EU1cgV09SS1NQQUNFIEZJTEUgTUFOVUFMTFksIEFORCBXSU5JTlNULTcuMS5FWEUgTVVTVAotICBCRSBSRUNPTVBJTEVEIFdJVEggVEhFIE1TVkMgMjAwMy5ORVQgV0lOSU5TVC03LjEuVkNQUk9KIEZJTEUgTUFOVUFMTFkuCisgIElNUE9SVEFOVCBOT1RFOiBJRiBUSElTIEZJTEUgSVMgQ0hBTkdFRCwgUENCVUlMRFxCRElTVF9XSU5JTlNULlZDWFBST0ogTVVTVAorICBCRSBSRUJVSUxUIEFTIFdFTEwuCiAKLSAgSUYgQ0hBTkdFUyBUTyBUSElTIEZJTEUgQVJFIENIRUNLRUQgSU5UTyBQWVRIT04gQ1ZTLCBUSEUgUkVDT01QSUxFRCBCSU5BUklFUwotICBNVVNUIEJFIENIRUNLRUQgSU4gQVMgV0VMTCEKKyAgSUYgQ0hBTkdFUyBUTyBUSElTIEZJTEUgQVJFIENIRUNLRUQgSU4sIFRIRSBSRUNPTVBJTEVEIEJJTkFSSUVTIE1VU1QgQkUKKyAgQ0hFQ0tFRCBJTiBBUyBXRUxMIQogKi8KIAotLy9NaWNyb3NvZnQgRGV2ZWxvcGVyIFN0dWRpbyBnZW5lcmF0ZWQgcmVzb3VyY2Ugc2NyaXB0LgotLy8KKyNpbmNsdWRlIDx3aW5yZXMuaD4KICNpbmNsdWRlICJyZXNvdXJjZS5oIgogCi0jZGVmaW5lIEFQU1RVRElPX1JFQURPTkxZX1NZTUJPTFMKLS8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi0vLwotLy8gR2VuZXJhdGVkIGZyb20gdGhlIFRFWFRJTkNMVURFIDIgcmVzb3VyY2UuCi0vLwotI2luY2x1ZGUgImFmeHJlcy5oIgotCi0vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwotI3VuZGVmIEFQU1RVRElPX1JFQURPTkxZX1NZTUJPTFMKLQotLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLS8vIE5ldXRyYWwgcmVzb3VyY2VzCi0KLSNpZiAhZGVmaW5lZChBRlhfUkVTT1VSQ0VfRExMKSB8fCBkZWZpbmVkKEFGWF9UQVJHX05FVSkKLSNpZmRlZiBfV0lOMzIKIExBTkdVQUdFIExBTkdfTkVVVFJBTCwgU1VCTEFOR19ORVVUUkFMCiAjcHJhZ21hIGNvZGVfcGFnZSgxMjUyKQotI2VuZGlmIC8vX1dJTjMyCi0KLS8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi0vLwotLy8gQml0bWFwCi0vLwogCiBJREJfQklUTUFQICAgICAgICAgICAgICBCSVRNQVAgIERJU0NBUkRBQkxFICAgICAiUHl0aG9uUG93ZXJlZC5ibXAiCi0jZW5kaWYgICAgLy8gTmV1dHJhbCByZXNvdXJjZXMKLS8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCiAKIAotLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLS8vIEdlcm1hbiAoR2VybWFueSkgcmVzb3VyY2VzCi0KLSNpZiAhZGVmaW5lZChBRlhfUkVTT1VSQ0VfRExMKSB8fCBkZWZpbmVkKEFGWF9UQVJHX0RFVSkKLSNpZmRlZiBfV0lOMzIKLUxBTkdVQUdFIExBTkdfR0VSTUFOLCBTVUJMQU5HX0dFUk1BTgotI3ByYWdtYSBjb2RlX3BhZ2UoMTI1MikKLSNlbmRpZiAvL19XSU4zMgotCi0jaWZkZWYgQVBTVFVESU9fSU5WT0tFRAotLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLS8vCi0vLyBURVhUSU5DTFVERQotLy8KLQotMSBURVhUSU5DTFVERSBESVNDQVJEQUJMRSAKLUJFR0lOCi0gICAgInJlc291cmNlLmhcMCIKLUVORAotCi0yIFRFWFRJTkNMVURFIERJU0NBUkRBQkxFIAotQkVHSU4KLSAgICAiI2luY2x1ZGUgIiJhZnhyZXMuaCIiXHJcbiIKLSAgICAiXDAiCi1FTkQKLQotMyBURVhUSU5DTFVERSBESVNDQVJEQUJMRSAKLUJFR0lOCi0gICAgIlxyXG4iCi0gICAgIlwwIgotRU5ECi0KLSNlbmRpZiAgICAvLyBBUFNUVURJT19JTlZPS0VECi0KLSNlbmRpZiAgICAvLyBHZXJtYW4gKEdlcm1hbnkpIHJlc291cmNlcwotLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLQotCi0vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwotLy8gRW5nbGlzaCAoVS5TLikgcmVzb3VyY2VzCi0KLSNpZiAhZGVmaW5lZChBRlhfUkVTT1VSQ0VfRExMKSB8fCBkZWZpbmVkKEFGWF9UQVJHX0VOVSkKLSNpZmRlZiBfV0lOMzIKLUxBTkdVQUdFIExBTkdfRU5HTElTSCwgU1VCTEFOR19FTkdMSVNIX1VTCi0jcHJhZ21hIGNvZGVfcGFnZSgxMjUyKQotI2VuZGlmIC8vX1dJTjMyCi0KLS8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi0vLwotLy8gRGlhbG9nCi0vLwotCiBJRERfSU5UUk8gRElBTE9HRVggMCwgMCwgMzc5LCAxNzgKIFNUWUxFIFdTX0NISUxEIHwgV1NfRElTQUJMRUQgfCBXU19DQVBUSU9OCiBDQVBUSU9OICJTZXR1cCIKQEAgLTE1Miw3OCArNzUsMyBAQAogICAgIEVESVRURVhUICAgICAgICBJRENfSU5GTywxMjUsNDAsMjQ3LDEzMSxFU19NVUxUSUxJTkUgfCBFU19SRUFET05MWSB8IAogICAgICAgICAgICAgICAgICAgICBXU19WU0NST0xMIHwgV1NfSFNDUk9MTCB8IE5PVCBXU19UQUJTVE9QCiBFTkQKLQotCi0vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwotLy8KLS8vIERFU0lHTklORk8KLS8vCi0KLSNpZmRlZiBBUFNUVURJT19JTlZPS0VECi1HVUlERUxJTkVTIERFU0lHTklORk8gRElTQ0FSREFCTEUgCi1CRUdJTgotICAgIElERF9JTlRSTywgRElBTE9HCi0gICAgQkVHSU4KLSAgICAgICAgTEVGVE1BUkdJTiwgNwotICAgICAgICBSSUdIVE1BUkdJTiwgMzcyCi0gICAgICAgIFZFUlRHVUlERSwgMTI1Ci0gICAgICAgIFZFUlRHVUlERSwgMzcyCi0gICAgICAgIFRPUE1BUkdJTiwgNwotICAgICAgICBCT1RUT01NQVJHSU4sIDE3MQotICAgICAgICBIT1JaR1VJREUsIDgKLSAgICAgICAgSE9SWkdVSURFLCAzMQotICAgIEVORAotCi0gICAgSUREX1NFTEVDVFBZVEhPTiwgRElBTE9HCi0gICAgQkVHSU4KLSAgICAgICAgTEVGVE1BUkdJTiwgNwotICAgICAgICBSSUdIVE1BUkdJTiwgMzcyCi0gICAgICAgIFZFUlRHVUlERSwgMTI1Ci0gICAgICAgIFZFUlRHVUlERSwgMzcyCi0gICAgICAgIFRPUE1BUkdJTiwgNwotICAgICAgICBCT1RUT01NQVJHSU4sIDE3MQotICAgICAgICBIT1JaR1VJREUsIDgKLSAgICAgICAgSE9SWkdVSURFLCA0MQotICAgIEVORAotCi0gICAgSUREX0lOU1RBTExGSUxFUywgRElBTE9HCi0gICAgQkVHSU4KLSAgICAgICAgTEVGVE1BUkdJTiwgNwotICAgICAgICBSSUdIVE1BUkdJTiwgMzcyCi0gICAgICAgIFZFUlRHVUlERSwgMTI1Ci0gICAgICAgIFZFUlRHVUlERSwgMzcxCi0gICAgICAgIFRPUE1BUkdJTiwgNwotICAgICAgICBCT1RUT01NQVJHSU4sIDE3MQotICAgICAgICBIT1JaR1VJREUsIDgKLSAgICAgICAgSE9SWkdVSURFLCA0MQotICAgIEVORAotCi0gICAgSUREX0ZJTklTSEVELCBESUFMT0cKLSAgICBCRUdJTgotICAgICAgICBMRUZUTUFSR0lOLCA2Ci0gICAgICAgIFJJR0hUTUFSR0lOLCAzNzIKLSAgICAgICAgVkVSVEdVSURFLCAxMjUKLSAgICAgICAgVkVSVEdVSURFLCAzNzIKLSAgICAgICAgVE9QTUFSR0lOLCA3Ci0gICAgICAgIEJPVFRPTU1BUkdJTiwgMTcxCi0gICAgICAgIEhPUlpHVUlERSwgOAotICAgICAgICBIT1JaR1VJREUsIDQxCi0gICAgRU5ECi1FTkQKLSNlbmRpZiAgICAvLyBBUFNUVURJT19JTlZPS0VECi0KLSNlbmRpZiAgICAvLyBFbmdsaXNoIChVLlMuKSByZXNvdXJjZXMKLS8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi0KLQotCi0jaWZuZGVmIEFQU1RVRElPX0lOVk9LRUQKLS8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi0vLwotLy8gR2VuZXJhdGVkIGZyb20gdGhlIFRFWFRJTkNMVURFIDMgcmVzb3VyY2UuCi0vLwotCi0KLS8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi0jZW5kaWYgICAgLy8gbm90IEFQU1RVRElPX0lOVk9LRUQKLQpkaWZmIC0tZ2l0IGEvUEMvYmRpc3Rfd2luaW5zdC9yZXNvdXJjZS5oIGIvUEMvYmRpc3Rfd2luaW5zdC9yZXNvdXJjZS5oCmluZGV4IDM1YmEzYzIuLjg2YWVhYmIgMTAwNjQ0Ci0tLSBhL1BDL2JkaXN0X3dpbmluc3QvcmVzb3VyY2UuaAorKysgYi9QQy9iZGlzdF93aW5pbnN0L3Jlc291cmNlLmgKQEAgLTEsMTYgKzEsMTEgQEAKIC8qCi0gIElNUE9SVEFOVCBOT1RFOiBJRiBUSElTIEZJTEUgSVMgQ0hBTkdFRCwgV0lOSU5TVC02LkVYRSBNVVNUIEJFIFJFQ09NUElMRUQKLSAgV0lUSCBUSEUgTVNWQzYgV0lOSU5TVC5EU1cgV09SS1NQQUNFIEZJTEUgTUFOVUFMTFksIEFORCBXSU5JTlNULTcuMS5FWEUgTVVTVAotICBCRSBSRUNPTVBJTEVEIFdJVEggVEhFIE1TVkMgMjAwMy5ORVQgV0lOSU5TVC03LjEuVkNQUk9KIEZJTEUgTUFOVUFMTFkuCisgIElNUE9SVEFOVCBOT1RFOiBJRiBUSElTIEZJTEUgSVMgQ0hBTkdFRCwgUENCVUlMRFxCRElTVF9XSU5JTlNULlZDWFBST0ogTVVTVAorICBCRSBSRUJVSUxUIEFTIFdFTEwuCiAKLSAgSUYgQ0hBTkdFUyBUTyBUSElTIEZJTEUgQVJFIENIRUNLRUQgSU5UTyBQWVRIT04gQ1ZTLCBUSEUgUkVDT01QSUxFRCBCSU5BUklFUwotICBNVVNUIEJFIENIRUNLRUQgSU4gQVMgV0VMTCEKKyAgSUYgQ0hBTkdFUyBUTyBUSElTIEZJTEUgQVJFIENIRUNLRUQgSU4sIFRIRSBSRUNPTVBJTEVEIEJJTkFSSUVTIE1VU1QgQkUKKyAgQ0hFQ0tFRCBJTiBBUyBXRUxMIQogKi8KIAotLy97e05PX0RFUEVOREVOQ0lFU319Ci0vLyBNaWNyb3NvZnQgRGV2ZWxvcGVyIFN0dWRpbyBnZW5lcmF0ZWQgaW5jbHVkZSBmaWxlLgotLy8gVXNlZCBieSBpbnN0YWxsLnJjCi0vLwogI2RlZmluZSBJRERfRElBTE9HMSAgICAgICAgICAgICAgICAgICAgIDEwMQogI2RlZmluZSBJREJfQklUTUFQMSAgICAgICAgICAgICAgICAgICAgIDEwMwogI2RlZmluZSBJRERfSU5UUk8gICAgICAgICAgICAgICAgICAgICAgIDEwNwpAQCAtMzQsMTQgKzI5LDMgQEAKICNkZWZpbmUgSURDX0JVSUxEX0lORk8gICAgICAgICAgICAgICAgICAxMDI0CiAjZGVmaW5lIElEQ19CSVRNQVAgICAgICAgICAgICAgICAgICAgICAgMTAyNQogI2RlZmluZSBJRENfT1RIRVJQWVRIT04gICAgICAgICAgICAgICAgIDEwMjYKLQotLy8gTmV4dCBkZWZhdWx0IHZhbHVlcyBmb3IgbmV3IG9iamVjdHMKLS8vIAotI2lmZGVmIEFQU1RVRElPX0lOVk9LRUQKLSNpZm5kZWYgQVBTVFVESU9fUkVBRE9OTFlfU1lNQk9MUwotI2RlZmluZSBfQVBTX05FWFRfUkVTT1VSQ0VfVkFMVUUgICAgICAgIDExMgotI2RlZmluZSBfQVBTX05FWFRfQ09NTUFORF9WQUxVRSAgICAgICAgIDQwMDAxCi0jZGVmaW5lIF9BUFNfTkVYVF9DT05UUk9MX1ZBTFVFICAgICAgICAgMTAyOAotI2RlZmluZSBfQVBTX05FWFRfU1lNRURfVkFMVUUgICAgICAgICAgIDEwMQotI2VuZGlmCi0jZW5kaWYKZGlmZiAtLWdpdCBhL1BDL2JkaXN0X3dpbmluc3Qvd2luaW5zdC03LjEuc2xuIGIvUEMvYmRpc3Rfd2luaW5zdC93aW5pbnN0LTcuMS5zbG4KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGUyMDVkMjUuLjAwMDAwMDAKLS0tIGEvUEMvYmRpc3Rfd2luaW5zdC93aW5pbnN0LTcuMS5zbG4KKysrIC9kZXYvbnVsbApAQCAtMSwyMSArMCwwIEBACi1NaWNyb3NvZnQgVmlzdWFsIFN0dWRpbyBTb2x1dGlvbiBGaWxlLCBGb3JtYXQgVmVyc2lvbiA4LjAwDQotUHJvamVjdCgiezhCQzlDRUI4LThCNEEtMTFEMC04RDExLTAwQTBDOTFCQzk0Mn0iKSA9ICJ3aW5pbnN0IiwgIndpbmluc3QtNy4xLnZjcHJvaiIsICJ7RUIxQzE5QzEtMUYxOC00MjFFLTk3MzUtQ0FFRTY5REM2QTNDfSINCi0JUHJvamVjdFNlY3Rpb24oUHJvamVjdERlcGVuZGVuY2llcykgPSBwb3N0UHJvamVjdA0KLQlFbmRQcm9qZWN0U2VjdGlvbg0KLUVuZFByb2plY3QNCi1HbG9iYWwNCi0JR2xvYmFsU2VjdGlvbihTb2x1dGlvbkNvbmZpZ3VyYXRpb24pID0gcHJlU29sdXRpb24NCi0JCURlYnVnID0gRGVidWcNCi0JCVJlbGVhc2UgPSBSZWxlYXNlDQotCUVuZEdsb2JhbFNlY3Rpb24NCi0JR2xvYmFsU2VjdGlvbihQcm9qZWN0Q29uZmlndXJhdGlvbikgPSBwb3N0U29sdXRpb24NCi0JCXtFQjFDMTlDMS0xRjE4LTQyMUUtOTczNS1DQUVFNjlEQzZBM0N9LkRlYnVnLkFjdGl2ZUNmZyA9IERlYnVnfFdpbjMyDQotCQl7RUIxQzE5QzEtMUYxOC00MjFFLTk3MzUtQ0FFRTY5REM2QTNDfS5EZWJ1Zy5CdWlsZC4wID0gRGVidWd8V2luMzINCi0JCXtFQjFDMTlDMS0xRjE4LTQyMUUtOTczNS1DQUVFNjlEQzZBM0N9LlJlbGVhc2UuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KLQkJe0VCMUMxOUMxLTFGMTgtNDIxRS05NzM1LUNBRUU2OURDNkEzQ30uUmVsZWFzZS5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KLQlFbmRHbG9iYWxTZWN0aW9uDQotCUdsb2JhbFNlY3Rpb24oRXh0ZW5zaWJpbGl0eUdsb2JhbHMpID0gcG9zdFNvbHV0aW9uDQotCUVuZEdsb2JhbFNlY3Rpb24NCi0JR2xvYmFsU2VjdGlvbihFeHRlbnNpYmlsaXR5QWRkSW5zKSA9IHBvc3RTb2x1dGlvbg0KLQlFbmRHbG9iYWxTZWN0aW9uDQotRW5kR2xvYmFsDQpkaWZmIC0tZ2l0IGEvUEMvYmRpc3Rfd2luaW5zdC93aW5pbnN0LTcuMS52Y3Byb2ogYi9QQy9iZGlzdF93aW5pbnN0L3dpbmluc3QtNy4xLnZjcHJvagpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzBkYWFlOS4uMDAwMDAwMAotLS0gYS9QQy9iZGlzdF93aW5pbnN0L3dpbmluc3QtNy4xLnZjcHJvagorKysgL2Rldi9udWxsCkBAIC0xLDIxNCArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJXaW5kb3dzLTEyNTIiPz4NCi08VmlzdWFsU3R1ZGlvUHJvamVjdA0KLQlQcm9qZWN0VHlwZT0iVmlzdWFsIEMrKyINCi0JVmVyc2lvbj0iNy4xMCINCi0JTmFtZT0id2luaW5zdCINCi0JUHJvamVjdEdVSUQ9IntFQjFDMTlDMS0xRjE4LTQyMUUtOTczNS1DQUVFNjlEQzZBM0N9Ig0KLQlSb290TmFtZXNwYWNlPSJ3aW5pbnN0Ig0KLQlTY2NQcm9qZWN0TmFtZT0iIg0KLQlTY2NMb2NhbFBhdGg9IiI+DQotCTxQbGF0Zm9ybXM+DQotCQk8UGxhdGZvcm0NCi0JCQlOYW1lPSJXaW4zMiIvPg0KLQk8L1BsYXRmb3Jtcz4NCi0JPENvbmZpZ3VyYXRpb25zPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJSZWxlYXNlfFdpbjMyIg0KLQkJCU91dHB1dERpcmVjdG9yeT0iLlwuLlwuLlxsaWJcZGlzdHV0aWxzXGNvbW1hbmQiDQotCQkJSW50ZXJtZWRpYXRlRGlyZWN0b3J5PSIuXHRlbXAtcmVsZWFzZSINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMSINCi0JCQlVc2VPZk1GQz0iMCINCi0JCQlBVExNaW5pbWl6ZXNDUnVuVGltZUxpYnJhcnlVc2FnZT0iRkFMU0UiDQotCQkJQ2hhcmFjdGVyU2V0PSIyIj4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlPcHRpbWl6YXRpb249IjEiDQotCQkJCUlubGluZUZ1bmN0aW9uRXhwYW5zaW9uPSIxIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIuLlwuLlxJbmNsdWRlLC4uXC4uXC4uXHpsaWItMS4yLjMiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJXSU4zMjtOREVCVUc7X1dJTkRPV1MiDQotCQkJCVN0cmluZ1Bvb2xpbmc9IlRSVUUiDQotCQkJCVJ1bnRpbWVMaWJyYXJ5PSIyIg0KLQkJCQlFbmFibGVGdW5jdGlvbkxldmVsTGlua2luZz0iVFJVRSINCi0JCQkJVXNlUHJlY29tcGlsZWRIZWFkZXI9IjIiDQotCQkJCVByZWNvbXBpbGVkSGVhZGVyRmlsZT0iLlx0ZW1wLXJlbGVhc2Uvd2luaW5zdC5wY2giDQotCQkJCUFzc2VtYmxlckxpc3RpbmdMb2NhdGlvbj0iLlx0ZW1wLXJlbGVhc2UvIg0KLQkJCQlPYmplY3RGaWxlPSIuXHRlbXAtcmVsZWFzZS8iDQotCQkJCVByb2dyYW1EYXRhQmFzZUZpbGVOYW1lPSIuXHRlbXAtcmVsZWFzZS8iDQotCQkJCVdhcm5pbmdMZXZlbD0iMyINCi0JCQkJU3VwcHJlc3NTdGFydHVwQmFubmVyPSJUUlVFIg0KLQkJCQlDb21waWxlQXM9IjAiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0iLi5cLi5cLi5cemxpYi0xLjIuM1x6bGliLmxpYiBpbWFnZWhscC5saWIgY29tY3RsMzIubGliIg0KLQkJCQlPdXRwdXRGaWxlPSIuLlwuLlxsaWJcZGlzdHV0aWxzXGNvbW1hbmQvd2luaW5zdC03LjEuZXhlIg0KLQkJCQlMaW5rSW5jcmVtZW50YWw9IjEiDQotCQkJCVN1cHByZXNzU3RhcnR1cEJhbm5lcj0iVFJVRSINCi0JCQkJSWdub3JlRGVmYXVsdExpYnJhcnlOYW1lcz0iTElCQyINCi0JCQkJUHJvZ3JhbURhdGFiYXNlRmlsZT0iLlwuLlwuLlxsaWJcZGlzdHV0aWxzXGNvbW1hbmQvd2luaW5zdC02LnBkYiINCi0JCQkJU3ViU3lzdGVtPSIyIg0KLQkJCQlUYXJnZXRNYWNoaW5lPSIxIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9Ik5ERUJVRyINCi0JCQkJTWtUeXBMaWJDb21wYXRpYmxlPSJUUlVFIg0KLQkJCQlTdXBwcmVzc1N0YXJ0dXBCYW5uZXI9IlRSVUUiDQotCQkJCVRhcmdldEVudmlyb25tZW50PSIxIg0KLQkJCQlUeXBlTGlicmFyeU5hbWU9Ii5cLi5cLi5cbGliXGRpc3R1dGlsc1xjb21tYW5kL3dpbmluc3QudGxiIg0KLQkJCQlIZWFkZXJGaWxlTmFtZT0iIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9Ik5ERUJVRyINCi0JCQkJQ3VsdHVyZT0iMTAzMSIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYkRlcGxveW1lbnRUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkV3JhcHBlckdlbmVyYXRvclRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0F1eGlsaWFyeU1hbmFnZWRXcmFwcGVyR2VuZXJhdG9yVG9vbCIvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJEZWJ1Z3xXaW4zMiINCi0JCQlPdXRwdXREaXJlY3Rvcnk9Ii5cLiINCi0JCQlJbnRlcm1lZGlhdGVEaXJlY3Rvcnk9Ii5cdGVtcC1kZWJ1ZyINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMSINCi0JCQlVc2VPZk1GQz0iMCINCi0JCQlBVExNaW5pbWl6ZXNDUnVuVGltZUxpYnJhcnlVc2FnZT0iRkFMU0UiDQotCQkJQ2hhcmFjdGVyU2V0PSIyIj4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlPcHRpbWl6YXRpb249IjAiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9Ii4uXC4uXEluY2x1ZGUsLi5cLi5cLi5cemxpYi0xLjIuMSINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IldJTjMyO19ERUJVRztfV0lORE9XUyINCi0JCQkJUnVudGltZUxpYnJhcnk9IjIiDQotCQkJCVVzZVByZWNvbXBpbGVkSGVhZGVyPSIyIg0KLQkJCQlQcmVjb21waWxlZEhlYWRlckZpbGU9Ii5cdGVtcC1kZWJ1Zy93aW5pbnN0LnBjaCINCi0JCQkJQXNzZW1ibGVyTGlzdGluZ0xvY2F0aW9uPSIuXHRlbXAtZGVidWcvIg0KLQkJCQlPYmplY3RGaWxlPSIuXHRlbXAtZGVidWcvIg0KLQkJCQlQcm9ncmFtRGF0YUJhc2VGaWxlTmFtZT0iLlx0ZW1wLWRlYnVnLyINCi0JCQkJQnJvd3NlSW5mb3JtYXRpb249IjEiDQotCQkJCVdhcm5pbmdMZXZlbD0iMyINCi0JCQkJU3VwcHJlc3NTdGFydHVwQmFubmVyPSJUUlVFIg0KLQkJCQlEZWJ1Z0luZm9ybWF0aW9uRm9ybWF0PSIxIg0KLQkJCQlDb21waWxlQXM9IjAiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0iLi5cLi5cLi5cemxpYi0xLjIuMVx6bGliLmxpYiBpbWFnZWhscC5saWIgY29tY3RsMzIubGliIg0KLQkJCQlPdXRwdXRGaWxlPSIuLlwuLlxsaWJcZGlzdHV0aWxzXGNvbW1hbmQvd2luaW5zdC03LjFfZC5leGUiDQotCQkJCUxpbmtJbmNyZW1lbnRhbD0iMiINCi0JCQkJU3VwcHJlc3NTdGFydHVwQmFubmVyPSJUUlVFIg0KLQkJCQlJZ25vcmVEZWZhdWx0TGlicmFyeU5hbWVzPSJMSUJDIg0KLQkJCQlHZW5lcmF0ZURlYnVnSW5mb3JtYXRpb249IlRSVUUiDQotCQkJCVN1YlN5c3RlbT0iMiINCi0JCQkJVGFyZ2V0TWFjaGluZT0iMSIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJfREVCVUciDQotCQkJCU1rVHlwTGliQ29tcGF0aWJsZT0iVFJVRSINCi0JCQkJU3VwcHJlc3NTdGFydHVwQmFubmVyPSJUUlVFIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMSINCi0JCQkJVHlwZUxpYnJhcnlOYW1lPSIuXC4vd2luaW5zdC50bGIiDQotCQkJCUhlYWRlckZpbGVOYW1lPSIiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iX0RFQlVHIg0KLQkJCQlDdWx0dXJlPSIxMDMxIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViRGVwbG95bWVudFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRXcmFwcGVyR2VuZXJhdG9yVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXV4aWxpYXJ5TWFuYWdlZFdyYXBwZXJHZW5lcmF0b3JUb29sIi8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCTwvQ29uZmlndXJhdGlvbnM+DQotCTxSZWZlcmVuY2VzPg0KLQk8L1JlZmVyZW5jZXM+DQotCTxGaWxlcz4NCi0JCTxGaWx0ZXINCi0JCQlOYW1lPSJTb3VyY2UgRmlsZXMiDQotCQkJRmlsdGVyPSJjcHA7YztjeHg7cmM7ZGVmO3I7b2RsO2lkbDtocGo7YmF0Ij4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9ImV4dHJhY3QuYyI+DQotCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KLQkJCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiI+DQotCQkJCQk8VG9vbA0KLQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCQkJT3B0aW1pemF0aW9uPSIxIg0KLQkJCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiINCi0JCQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iIi8+DQotCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQotCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KLQkJCQkJTmFtZT0iRGVidWd8V2luMzIiPg0KLQkJCQkJPFRvb2wNCi0JCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQkJCU9wdGltaXphdGlvbj0iMCINCi0JCQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIiDQotCQkJCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IiINCi0JCQkJCQlCcm93c2VJbmZvcm1hdGlvbj0iMSIvPg0KLQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Imluc3RhbGwuYyI+DQotCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KLQkJCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiI+DQotCQkJCQk8VG9vbA0KLQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCQkJT3B0aW1pemF0aW9uPSIxIg0KLQkJCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiINCi0JCQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iIi8+DQotCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQotCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KLQkJCQkJTmFtZT0iRGVidWd8V2luMzIiPg0KLQkJCQkJPFRvb2wNCi0JCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQkJCU9wdGltaXphdGlvbj0iMCINCi0JCQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIiDQotCQkJCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IiINCi0JCQkJCQlCcm93c2VJbmZvcm1hdGlvbj0iMSIvPg0KLQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Imluc3RhbGwucmMiPg0KLQkJCTwvRmlsZT4NCi0JCTwvRmlsdGVyPg0KLQkJPEZpbHRlcg0KLQkJCU5hbWU9IkhlYWRlciBGaWxlcyINCi0JCQlGaWx0ZXI9Img7aHBwO2h4eDtobTtpbmwiPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iYXJjaGl2ZS5oIj4NCi0JCQk8L0ZpbGU+DQotCQk8L0ZpbHRlcj4NCi0JCTxGaWx0ZXINCi0JCQlOYW1lPSJSZXNvdXJjZSBGaWxlcyINCi0JCQlGaWx0ZXI9ImljbztjdXI7Ym1wO2RsZztyYzI7cmN0O2JpbjtyZ3M7Z2lmO2pwZztqcGVnO2pwZSI+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSJQeXRob25Qb3dlcmVkLmJtcCI+DQotCQkJPC9GaWxlPg0KLQkJPC9GaWx0ZXI+DQotCTwvRmlsZXM+DQotCTxHbG9iYWxzPg0KLQk8L0dsb2JhbHM+DQotPC9WaXN1YWxTdHVkaW9Qcm9qZWN0Pg0KZGlmZiAtLWdpdCBhL1BDL2JkaXN0X3dpbmluc3Qvd2luaW5zdC04LnNsbiBiL1BDL2JkaXN0X3dpbmluc3Qvd2luaW5zdC04LnNsbgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjVmMTZjZi4uMDAwMDAwMAotLS0gYS9QQy9iZGlzdF93aW5pbnN0L3dpbmluc3QtOC5zbG4KKysrIC9kZXYvbnVsbApAQCAtMSwxOSArMCwwIEBACi1NaWNyb3NvZnQgVmlzdWFsIFN0dWRpbyBTb2x1dGlvbiBGaWxlLCBGb3JtYXQgVmVyc2lvbiA5LjAwDQotIyBWaXN1YWwgU3R1ZGlvIDIwMDUNCi1Qcm9qZWN0KCJ7OEJDOUNFQjgtOEI0QS0xMUQwLThEMTEtMDBBMEM5MUJDOTQyfSIpID0gIndpbmluc3QiLCAid2luaW5zdC04LnZjcHJvaiIsICJ7RUIxQzE5QzEtMUYxOC00MjFFLTk3MzUtQ0FFRTY5REM2QTNDfSINCi1FbmRQcm9qZWN0DQotR2xvYmFsDQotCUdsb2JhbFNlY3Rpb24oU29sdXRpb25Db25maWd1cmF0aW9uUGxhdGZvcm1zKSA9IHByZVNvbHV0aW9uDQotCQlEZWJ1Z3xXaW4zMiA9IERlYnVnfFdpbjMyDQotCQlSZWxlYXNlfFdpbjMyID0gUmVsZWFzZXxXaW4zMg0KLQlFbmRHbG9iYWxTZWN0aW9uDQotCUdsb2JhbFNlY3Rpb24oUHJvamVjdENvbmZpZ3VyYXRpb25QbGF0Zm9ybXMpID0gcG9zdFNvbHV0aW9uDQotCQl7RUIxQzE5QzEtMUYxOC00MjFFLTk3MzUtQ0FFRTY5REM2QTNDfS5EZWJ1Z3xXaW4zMi5BY3RpdmVDZmcgPSBEZWJ1Z3xXaW4zMg0KLQkJe0VCMUMxOUMxLTFGMTgtNDIxRS05NzM1LUNBRUU2OURDNkEzQ30uRGVidWd8V2luMzIuQnVpbGQuMCA9IERlYnVnfFdpbjMyDQotCQl7RUIxQzE5QzEtMUYxOC00MjFFLTk3MzUtQ0FFRTY5REM2QTNDfS5SZWxlYXNlfFdpbjMyLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCi0JCXtFQjFDMTlDMS0xRjE4LTQyMUUtOTczNS1DQUVFNjlEQzZBM0N9LlJlbGVhc2V8V2luMzIuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCi0JRW5kR2xvYmFsU2VjdGlvbg0KLQlHbG9iYWxTZWN0aW9uKFNvbHV0aW9uUHJvcGVydGllcykgPSBwcmVTb2x1dGlvbg0KLQkJSGlkZVNvbHV0aW9uTm9kZSA9IEZBTFNFDQotCUVuZEdsb2JhbFNlY3Rpb24NCi1FbmRHbG9iYWwNCmRpZmYgLS1naXQgYS9QQy9iZGlzdF93aW5pbnN0L3dpbmluc3QtOC52Y3Byb2ogYi9QQy9iZGlzdF93aW5pbnN0L3dpbmluc3QtOC52Y3Byb2oKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAxNDdkMWIuLjAwMDAwMDAKLS0tIGEvUEMvYmRpc3Rfd2luaW5zdC93aW5pbnN0LTgudmNwcm9qCisrKyAvZGV2L251bGwKQEAgLTEsMzIwICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IldpbmRvd3MtMTI1MiI/Pg0KLTxWaXN1YWxTdHVkaW9Qcm9qZWN0DQotCVByb2plY3RUeXBlPSJWaXN1YWwgQysrIg0KLQlWZXJzaW9uPSI4LjAwIg0KLQlOYW1lPSJ3aW5pbnN0Ig0KLQlQcm9qZWN0R1VJRD0ie0VCMUMxOUMxLTFGMTgtNDIxRS05NzM1LUNBRUU2OURDNkEzQ30iDQotCVJvb3ROYW1lc3BhY2U9Indpbmluc3QiDQotCT4NCi0JPFBsYXRmb3Jtcz4NCi0JCTxQbGF0Zm9ybQ0KLQkJCU5hbWU9IldpbjMyIg0KLQkJLz4NCi0JPC9QbGF0Zm9ybXM+DQotCTxUb29sRmlsZXM+DQotCTwvVG9vbEZpbGVzPg0KLQk8Q29uZmlndXJhdGlvbnM+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiDQotCQkJT3V0cHV0RGlyZWN0b3J5PSIuXC4uXC4uXGxpYlxkaXN0dXRpbHNcY29tbWFuZCINCi0JCQlJbnRlcm1lZGlhdGVEaXJlY3Rvcnk9Ii5cdGVtcC1yZWxlYXNlIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIxIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIkKFZDSW5zdGFsbERpcilWQ1Byb2plY3REZWZhdWx0c1xVcGdyYWRlRnJvbVZDNzEudnNwcm9wcyINCi0JCQlVc2VPZk1GQz0iMCINCi0JCQlBVExNaW5pbWl6ZXNDUnVuVGltZUxpYnJhcnlVc2FnZT0iZmFsc2UiDQotCQkJQ2hhcmFjdGVyU2V0PSIyIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9Ik5ERUJVRyINCi0JCQkJTWtUeXBMaWJDb21wYXRpYmxlPSJ0cnVlIg0KLQkJCQlTdXBwcmVzc1N0YXJ0dXBCYW5uZXI9InRydWUiDQotCQkJCVRhcmdldEVudmlyb25tZW50PSIxIg0KLQkJCQlUeXBlTGlicmFyeU5hbWU9Ii5cLi5cLi5cbGliXGRpc3R1dGlsc1xjb21tYW5kL3dpbmluc3QudGxiIg0KLQkJCQlIZWFkZXJGaWxlTmFtZT0iIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJT3B0aW1pemF0aW9uPSIxIg0KLQkJCQlJbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj0iMSINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLi5cLi5cSW5jbHVkZSwuLlwuLlxNb2R1bGVzXHpsaWIiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJXSU4zMjtOREVCVUc7X1dJTkRPV1MiDQotCQkJCVN0cmluZ1Bvb2xpbmc9InRydWUiDQotCQkJCVJ1bnRpbWVMaWJyYXJ5PSIyIg0KLQkJCQlFbmFibGVGdW5jdGlvbkxldmVsTGlua2luZz0idHJ1ZSINCi0JCQkJVXNlUHJlY29tcGlsZWRIZWFkZXI9IjAiDQotCQkJCVByZWNvbXBpbGVkSGVhZGVyRmlsZT0iLlx0ZW1wLXJlbGVhc2Uvd2luaW5zdC5wY2giDQotCQkJCUFzc2VtYmxlckxpc3RpbmdMb2NhdGlvbj0iLlx0ZW1wLXJlbGVhc2UvIg0KLQkJCQlPYmplY3RGaWxlPSIuXHRlbXAtcmVsZWFzZS8iDQotCQkJCVByb2dyYW1EYXRhQmFzZUZpbGVOYW1lPSIuXHRlbXAtcmVsZWFzZS8iDQotCQkJCVdhcm5pbmdMZXZlbD0iMyINCi0JCQkJU3VwcHJlc3NTdGFydHVwQmFubmVyPSJ0cnVlIg0KLQkJCQlDb21waWxlQXM9IjAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJOREVCVUciDQotCQkJCUN1bHR1cmU9IjEwMzEiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9ImltYWdlaGxwLmxpYiBjb21jdGwzMi5saWIiDQotCQkJCU91dHB1dEZpbGU9Ii4uXC4uXGxpYlxkaXN0dXRpbHNcY29tbWFuZC93aW5pbnN0LTguZXhlIg0KLQkJCQlMaW5rSW5jcmVtZW50YWw9IjEiDQotCQkJCVN1cHByZXNzU3RhcnR1cEJhbm5lcj0idHJ1ZSINCi0JCQkJSWdub3JlRGVmYXVsdExpYnJhcnlOYW1lcz0iTElCQyINCi0JCQkJUHJvZ3JhbURhdGFiYXNlRmlsZT0iLlwuLlwuLlxsaWJcZGlzdHV0aWxzXGNvbW1hbmQvd2luaW5zdC02LnBkYiINCi0JCQkJU3ViU3lzdGVtPSIyIg0KLQkJCQlUYXJnZXRNYWNoaW5lPSIxIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViRGVwbG95bWVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJEZWJ1Z3xXaW4zMiINCi0JCQlPdXRwdXREaXJlY3Rvcnk9Ii5cLiINCi0JCQlJbnRlcm1lZGlhdGVEaXJlY3Rvcnk9Ii5cdGVtcC1kZWJ1ZyINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMSINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iJChWQ0luc3RhbGxEaXIpVkNQcm9qZWN0RGVmYXVsdHNcVXBncmFkZUZyb21WQzcxLnZzcHJvcHMiDQotCQkJVXNlT2ZNRkM9IjAiDQotCQkJQVRMTWluaW1pemVzQ1J1blRpbWVMaWJyYXJ5VXNhZ2U9ImZhbHNlIg0KLQkJCUNoYXJhY3RlclNldD0iMiINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJfREVCVUciDQotCQkJCU1rVHlwTGliQ29tcGF0aWJsZT0idHJ1ZSINCi0JCQkJU3VwcHJlc3NTdGFydHVwQmFubmVyPSJ0cnVlIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMSINCi0JCQkJVHlwZUxpYnJhcnlOYW1lPSIuXC4vd2luaW5zdC50bGIiDQotCQkJCUhlYWRlckZpbGVOYW1lPSIiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlPcHRpbWl6YXRpb249IjAiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9Ii4uXC4uXEluY2x1ZGUsLi5cLi5cTW9kdWxlc1x6bGliIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iV0lOMzI7X0RFQlVHO19XSU5ET1dTIg0KLQkJCQlSdW50aW1lTGlicmFyeT0iMiINCi0JCQkJVXNlUHJlY29tcGlsZWRIZWFkZXI9IjAiDQotCQkJCVByZWNvbXBpbGVkSGVhZGVyRmlsZT0iLlx0ZW1wLWRlYnVnL3dpbmluc3QucGNoIg0KLQkJCQlBc3NlbWJsZXJMaXN0aW5nTG9jYXRpb249Ii5cdGVtcC1kZWJ1Zy8iDQotCQkJCU9iamVjdEZpbGU9Ii5cdGVtcC1kZWJ1Zy8iDQotCQkJCVByb2dyYW1EYXRhQmFzZUZpbGVOYW1lPSIuXHRlbXAtZGVidWcvIg0KLQkJCQlCcm93c2VJbmZvcm1hdGlvbj0iMSINCi0JCQkJV2FybmluZ0xldmVsPSIzIg0KLQkJCQlTdXBwcmVzc1N0YXJ0dXBCYW5uZXI9InRydWUiDQotCQkJCURlYnVnSW5mb3JtYXRpb25Gb3JtYXQ9IjEiDQotCQkJCUNvbXBpbGVBcz0iMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9Il9ERUJVRyINCi0JCQkJQ3VsdHVyZT0iMTAzMSINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0iaW1hZ2VobHAubGliIGNvbWN0bDMyLmxpYiINCi0JCQkJT3V0cHV0RmlsZT0iLi5cLi5cbGliXGRpc3R1dGlsc1xjb21tYW5kL3dpbmluc3QtOF9kLmV4ZSINCi0JCQkJTGlua0luY3JlbWVudGFsPSIyIg0KLQkJCQlTdXBwcmVzc1N0YXJ0dXBCYW5uZXI9InRydWUiDQotCQkJCUlnbm9yZURlZmF1bHRMaWJyYXJ5TmFtZXM9IkxJQkMiDQotCQkJCUdlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj0idHJ1ZSINCi0JCQkJU3ViU3lzdGVtPSIyIg0KLQkJCQlUYXJnZXRNYWNoaW5lPSIxIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViRGVwbG95bWVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQk8L0NvbmZpZ3VyYXRpb25zPg0KLQk8UmVmZXJlbmNlcz4NCi0JPC9SZWZlcmVuY2VzPg0KLQk8RmlsZXM+DQotCQk8RmlsdGVyDQotCQkJTmFtZT0iU291cmNlIEZpbGVzIg0KLQkJCUZpbHRlcj0iY3BwO2M7Y3h4O3JjO2RlZjtyO29kbDtpZGw7aHBqO2JhdCINCi0JCQk+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSJleHRyYWN0LmMiDQotCQkJCT4NCi0JCQkJPEZpbGVDb25maWd1cmF0aW9uDQotCQkJCQlOYW1lPSJSZWxlYXNlfFdpbjMyIg0KLQkJCQkJPg0KLQkJCQkJPFRvb2wNCi0JCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQkJCU9wdGltaXphdGlvbj0iMSINCi0JCQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIiDQotCQkJCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IiINCi0JCQkJCS8+DQotCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQotCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KLQkJCQkJTmFtZT0iRGVidWd8V2luMzIiDQotCQkJCQk+DQotCQkJCQk8VG9vbA0KLQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCQkJT3B0aW1pemF0aW9uPSIwIg0KLQkJCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiINCi0JCQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iIg0KLQkJCQkJCUJyb3dzZUluZm9ybWF0aW9uPSIxIg0KLQkJCQkJLz4NCi0JCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSJpbnN0YWxsLmMiDQotCQkJCT4NCi0JCQkJPEZpbGVDb25maWd1cmF0aW9uDQotCQkJCQlOYW1lPSJSZWxlYXNlfFdpbjMyIg0KLQkJCQkJPg0KLQkJCQkJPFRvb2wNCi0JCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQkJCU9wdGltaXphdGlvbj0iMSINCi0JCQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIiDQotCQkJCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IiINCi0JCQkJCS8+DQotCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQotCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KLQkJCQkJTmFtZT0iRGVidWd8V2luMzIiDQotCQkJCQk+DQotCQkJCQk8VG9vbA0KLQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCQkJT3B0aW1pemF0aW9uPSIwIg0KLQkJCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiINCi0JCQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iIg0KLQkJCQkJCUJyb3dzZUluZm9ybWF0aW9uPSIxIg0KLQkJCQkJLz4NCi0JCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSJpbnN0YWxsLnJjIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWx0ZXINCi0JCQkJTmFtZT0iemxpYiINCi0JCQkJPg0KLQkJCQk8RmlsZQ0KLQkJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXHpsaWJcYWRsZXIzMi5jIg0KLQkJCQkJPg0KLQkJCQk8L0ZpbGU+DQotCQkJCTxGaWxlDQotCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcemxpYlxjcmMzMi5jIg0KLQkJCQkJPg0KLQkJCQk8L0ZpbGU+DQotCQkJCTxGaWxlDQotCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcemxpYlxpbmZmYXN0LmMiDQotCQkJCQk+DQotCQkJCTwvRmlsZT4NCi0JCQkJPEZpbGUNCi0JCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1x6bGliXGluZmxhdGUuYyINCi0JCQkJCT4NCi0JCQkJPC9GaWxlPg0KLQkJCQk8RmlsZQ0KLQkJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXHpsaWJcaW5mdHJlZXMuYyINCi0JCQkJCT4NCi0JCQkJPC9GaWxlPg0KLQkJCQk8RmlsZQ0KLQkJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXHpsaWJcenV0aWwuYyINCi0JCQkJCT4NCi0JCQkJPC9GaWxlPg0KLQkJCTwvRmlsdGVyPg0KLQkJPC9GaWx0ZXI+DQotCQk8RmlsdGVyDQotCQkJTmFtZT0iSGVhZGVyIEZpbGVzIg0KLQkJCUZpbHRlcj0iaDtocHA7aHh4O2htO2lubCINCi0JCQk+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSJhcmNoaXZlLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQk8L0ZpbHRlcj4NCi0JCTxGaWx0ZXINCi0JCQlOYW1lPSJSZXNvdXJjZSBGaWxlcyINCi0JCQlGaWx0ZXI9ImljbztjdXI7Ym1wO2RsZztyYzI7cmN0O2JpbjtyZ3M7Z2lmO2pwZztqcGVnO2pwZSINCi0JCQk+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSJQeXRob25Qb3dlcmVkLmJtcCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCTwvRmlsdGVyPg0KLQk8L0ZpbGVzPg0KLQk8R2xvYmFscz4NCi0JPC9HbG9iYWxzPg0KLTwvVmlzdWFsU3R1ZGlvUHJvamVjdD4NCmRpZmYgLS1naXQgYS9QQy9iZGlzdF93aW5pbnN0L3dpbmluc3QuZHNwIGIvUEMvYmRpc3Rfd2luaW5zdC93aW5pbnN0LmRzcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjk4NTU2OS4uMDAwMDAwMAotLS0gYS9QQy9iZGlzdF93aW5pbnN0L3dpbmluc3QuZHNwCisrKyAvZGV2L251bGwKQEAgLTEsMTIzICswLDAgQEAKLSMgTWljcm9zb2Z0IERldmVsb3BlciBTdHVkaW8gUHJvamVjdCBGaWxlIC0gTmFtZT0id2luaW5zdCIgLSBQYWNrYWdlIE93bmVyPTw0Pg0KLSMgTWljcm9zb2Z0IERldmVsb3BlciBTdHVkaW8gR2VuZXJhdGVkIEJ1aWxkIEZpbGUsIEZvcm1hdCBWZXJzaW9uIDYuMDANCi0jICoqIERPIE5PVCBFRElUICoqDQotDQotIyBUQVJHVFlQRSAiV2luMzIgKHg4NikgQXBwbGljYXRpb24iIDB4MDEwMQ0KLQ0KLUNGRz13aW5pbnN0IC0gV2luMzIgRGVidWcNCi0hTUVTU0FHRSBUaGlzIGlzIG5vdCBhIHZhbGlkIG1ha2VmaWxlLiBUbyBidWlsZCB0aGlzIHByb2plY3QgdXNpbmcgTk1BS0UsDQotIU1FU1NBR0UgdXNlIHRoZSBFeHBvcnQgTWFrZWZpbGUgY29tbWFuZCBhbmQgcnVuDQotIU1FU1NBR0UgDQotIU1FU1NBR0UgTk1BS0UgL2YgIndpbmluc3QubWFrIi4NCi0hTUVTU0FHRSANCi0hTUVTU0FHRSBZb3UgY2FuIHNwZWNpZnkgYSBjb25maWd1cmF0aW9uIHdoZW4gcnVubmluZyBOTUFLRQ0KLSFNRVNTQUdFIGJ5IGRlZmluaW5nIHRoZSBtYWNybyBDRkcgb24gdGhlIGNvbW1hbmQgbGluZS4gRm9yIGV4YW1wbGU6DQotIU1FU1NBR0UgDQotIU1FU1NBR0UgTk1BS0UgL2YgIndpbmluc3QubWFrIiBDRkc9Indpbmluc3QgLSBXaW4zMiBEZWJ1ZyINCi0hTUVTU0FHRSANCi0hTUVTU0FHRSBQb3NzaWJsZSBjaG9pY2VzIGZvciBjb25maWd1cmF0aW9uIGFyZToNCi0hTUVTU0FHRSANCi0hTUVTU0FHRSAid2luaW5zdCAtIFdpbjMyIFJlbGVhc2UiIChiYXNlZCBvbiAiV2luMzIgKHg4NikgQXBwbGljYXRpb24iKQ0KLSFNRVNTQUdFICJ3aW5pbnN0IC0gV2luMzIgRGVidWciIChiYXNlZCBvbiAiV2luMzIgKHg4NikgQXBwbGljYXRpb24iKQ0KLSFNRVNTQUdFIA0KLQ0KLSMgQmVnaW4gUHJvamVjdA0KLSMgUFJPUCBBbGxvd1BlckNvbmZpZ0RlcGVuZGVuY2llcyAwDQotIyBQUk9QIFNjY19Qcm9qTmFtZSAiIg0KLSMgUFJPUCBTY2NfTG9jYWxQYXRoICIiDQotQ1BQPWNsLmV4ZQ0KLU1UTD1taWRsLmV4ZQ0KLVJTQz1yYy5leGUNCi0NCi0hSUYgICIkKENGRykiID09ICJ3aW5pbnN0IC0gV2luMzIgUmVsZWFzZSINCi0NCi0jIFBST1AgQkFTRSBVc2VfTUZDIDANCi0jIFBST1AgQkFTRSBVc2VfRGVidWdfTGlicmFyaWVzIDANCi0jIFBST1AgQkFTRSBPdXRwdXRfRGlyICJSZWxlYXNlIg0KLSMgUFJPUCBCQVNFIEludGVybWVkaWF0ZV9EaXIgIlJlbGVhc2UiDQotIyBQUk9QIEJBU0UgVGFyZ2V0X0RpciAiIg0KLSMgUFJPUCBVc2VfTUZDIDANCi0jIFBST1AgVXNlX0RlYnVnX0xpYnJhcmllcyAwDQotIyBQUk9QIE91dHB1dF9EaXIgIi4uXC4uXGxpYlxkaXN0dXRpbHNcY29tbWFuZCINCi0jIFBST1AgSW50ZXJtZWRpYXRlX0RpciAidGVtcC1yZWxlYXNlIg0KLSMgUFJPUCBJZ25vcmVfRXhwb3J0X0xpYiAwDQotIyBQUk9QIFRhcmdldF9EaXIgIiINCi0jIEFERCBCQVNFIENQUCAvbm9sb2dvIC9XMyAvR1ggL08yIC9EICJXSU4zMiIgL0QgIk5ERUJVRyIgL0QgIl9XSU5ET1dTIiAvRCAiX01CQ1MiIC9ZWCAvRkQgL2MNCi0jIEFERCBDUFAgL25vbG9nbyAvTUQgL1czIC9PMSAvSSAiLi5cLi5cSW5jbHVkZSIgL0kgIi4uXC4uXC4uXHpsaWItMS4yLjMiIC9EICJXSU4zMiIgL0QgIk5ERUJVRyIgL0QgIl9XSU5ET1dTIiAvRCAiX01CQ1MiIC9ZWCAvRkQgL2MNCi0jIEFERCBCQVNFIE1UTCAvbm9sb2dvIC9EICJOREVCVUciIC9ta3R5cGxpYjIwMyAvd2luMzINCi0jIEFERCBNVEwgL25vbG9nbyAvRCAiTkRFQlVHIiAvbWt0eXBsaWIyMDMgL3dpbjMyDQotIyBBREQgQkFTRSBSU0MgL2wgMHg0MDcgL2QgIk5ERUJVRyINCi0jIEFERCBSU0MgL2wgMHg0MDcgL2QgIk5ERUJVRyINCi1CU0MzMj1ic2NtYWtlLmV4ZQ0KLSMgQUREIEJBU0UgQlNDMzIgL25vbG9nbw0KLSMgQUREIEJTQzMyIC9ub2xvZ28NCi1MSU5LMzI9bGluay5leGUNCi0jIEFERCBCQVNFIExJTkszMiBrZXJuZWwzMi5saWIgdXNlcjMyLmxpYiBnZGkzMi5saWIgd2luc3Bvb2wubGliIGNvbWRsZzMyLmxpYiBhZHZhcGkzMi5saWIgc2hlbGwzMi5saWIgb2xlMzIubGliIG9sZWF1dDMyLmxpYiB1dWlkLmxpYiBvZGJjMzIubGliIG9kYmNjcDMyLmxpYiAvbm9sb2dvIC9zdWJzeXN0ZW06d2luZG93cyAvbWFjaGluZTpJMzg2DQotIyBBREQgTElOSzMyIC4uXC4uXC4uXHpsaWItMS4yLjNcemxpYi5saWIgaW1hZ2VobHAubGliIGNvbWRsZzMyLmxpYiBvbGUzMi5saWIgY29tY3RsMzIubGliIGtlcm5lbDMyLmxpYiB1c2VyMzIubGliIGdkaTMyLmxpYiBhZHZhcGkzMi5saWIgc2hlbGwzMi5saWIgL25vbG9nbyAvc3Vic3lzdGVtOndpbmRvd3MgL21hY2hpbmU6STM4NiAvbm9kZWZhdWx0bGliOiJMSUJDIiAvb3V0OiIuLlwuLlxsaWJcZGlzdHV0aWxzXGNvbW1hbmQvd2luaW5zdC02LjAuZXhlIg0KLQ0KLSFFTFNFSUYgICIkKENGRykiID09ICJ3aW5pbnN0IC0gV2luMzIgRGVidWciDQotDQotIyBQUk9QIEJBU0UgVXNlX01GQyAwDQotIyBQUk9QIEJBU0UgVXNlX0RlYnVnX0xpYnJhcmllcyAxDQotIyBQUk9QIEJBU0UgT3V0cHV0X0RpciAiRGVidWciDQotIyBQUk9QIEJBU0UgSW50ZXJtZWRpYXRlX0RpciAiRGVidWciDQotIyBQUk9QIEJBU0UgVGFyZ2V0X0RpciAiIg0KLSMgUFJPUCBVc2VfTUZDIDANCi0jIFBST1AgVXNlX0RlYnVnX0xpYnJhcmllcyAxDQotIyBQUk9QIE91dHB1dF9EaXIgIi4iDQotIyBQUk9QIEludGVybWVkaWF0ZV9EaXIgInRlbXAtZGVidWciDQotIyBQUk9QIElnbm9yZV9FeHBvcnRfTGliIDANCi0jIFBST1AgVGFyZ2V0X0RpciAiIg0KLSMgQUREIEJBU0UgQ1BQIC9ub2xvZ28gL1czIC9HWCAvWkkgL09kIC9EICJXSU4zMiIgL0QgIl9ERUJVRyIgL0QgIl9XSU5ET1dTIiAvRCAiX01CQ1MiIC9ZWCAvRkQgL0daIC9jDQotIyBBREQgQ1BQIC9ub2xvZ28gL01EIC9XMyAvWjcgL09kIC9JICIuLlwuLlxJbmNsdWRlIiAvSSAiLi5cLi5cLi5cemxpYi0xLjIuMSIgL0QgIldJTjMyIiAvRCAiX0RFQlVHIiAvRCAiX1dJTkRPV1MiIC9EICJfTUJDUyIgL0ZSIC9ZWCAvRkQgL2MNCi0jIEFERCBCQVNFIE1UTCAvbm9sb2dvIC9EICJfREVCVUciIC9ta3R5cGxpYjIwMyAvd2luMzINCi0jIEFERCBNVEwgL25vbG9nbyAvRCAiX0RFQlVHIiAvbWt0eXBsaWIyMDMgL3dpbjMyDQotIyBBREQgQkFTRSBSU0MgL2wgMHg0MDcgL2QgIl9ERUJVRyINCi0jIEFERCBSU0MgL2wgMHg0MDcgL2QgIl9ERUJVRyINCi1CU0MzMj1ic2NtYWtlLmV4ZQ0KLSMgQUREIEJBU0UgQlNDMzIgL25vbG9nbw0KLSMgQUREIEJTQzMyIC9ub2xvZ28NCi1MSU5LMzI9bGluay5leGUNCi0jIEFERCBCQVNFIExJTkszMiBrZXJuZWwzMi5saWIgdXNlcjMyLmxpYiBnZGkzMi5saWIgd2luc3Bvb2wubGliIGNvbWRsZzMyLmxpYiBhZHZhcGkzMi5saWIgc2hlbGwzMi5saWIgb2xlMzIubGliIG9sZWF1dDMyLmxpYiB1dWlkLmxpYiBvZGJjMzIubGliIG9kYmNjcDMyLmxpYiAvbm9sb2dvIC9zdWJzeXN0ZW06d2luZG93cyAvZGVidWcgL21hY2hpbmU6STM4NiAvcGRidHlwZTpzZXB0DQotIyBBREQgTElOSzMyIC4uXC4uXC4uXHpsaWItMS4yLjNcemxpYi5saWIgaW1hZ2VobHAubGliIGNvbWRsZzMyLmxpYiBvbGUzMi5saWIgY29tY3RsMzIubGliIGtlcm5lbDMyLmxpYiB1c2VyMzIubGliIGdkaTMyLmxpYiBhZHZhcGkzMi5saWIgc2hlbGwzMi5saWIgL25vbG9nbyAvc3Vic3lzdGVtOndpbmRvd3MgL3BkYjpub25lIC9kZWJ1ZyAvbWFjaGluZTpJMzg2IC9ub2RlZmF1bHRsaWI6IkxJQkMiIC9vdXQ6Ii4uXC4uXGxpYlxkaXN0dXRpbHNcY29tbWFuZC93aW5pbnN0LTYuMF9kLmV4ZSINCi0NCi0hRU5ESUYgDQotDQotIyBCZWdpbiBUYXJnZXQNCi0NCi0jIE5hbWUgIndpbmluc3QgLSBXaW4zMiBSZWxlYXNlIg0KLSMgTmFtZSAid2luaW5zdCAtIFdpbjMyIERlYnVnIg0KLSMgQmVnaW4gR3JvdXAgIlNvdXJjZSBGaWxlcyINCi0NCi0jIFBST1AgRGVmYXVsdF9GaWx0ZXIgImNwcDtjO2N4eDtyYztkZWY7cjtvZGw7aWRsO2hwajtiYXQiDQotIyBCZWdpbiBTb3VyY2UgRmlsZQ0KLQ0KLVNPVVJDRT0uXGV4dHJhY3QuYw0KLSMgRW5kIFNvdXJjZSBGaWxlDQotIyBCZWdpbiBTb3VyY2UgRmlsZQ0KLQ0KLVNPVVJDRT0uXGluc3RhbGwuYw0KLSMgRW5kIFNvdXJjZSBGaWxlDQotIyBCZWdpbiBTb3VyY2UgRmlsZQ0KLQ0KLVNPVVJDRT0uXGluc3RhbGwucmMNCi0jIEVuZCBTb3VyY2UgRmlsZQ0KLSMgRW5kIEdyb3VwDQotIyBCZWdpbiBHcm91cCAiSGVhZGVyIEZpbGVzIg0KLQ0KLSMgUFJPUCBEZWZhdWx0X0ZpbHRlciAiaDtocHA7aHh4O2htO2lubCINCi0jIEJlZ2luIFNvdXJjZSBGaWxlDQotDQotU09VUkNFPS5cYXJjaGl2ZS5oDQotIyBFbmQgU291cmNlIEZpbGUNCi0jIEVuZCBHcm91cA0KLSMgQmVnaW4gR3JvdXAgIlJlc291cmNlIEZpbGVzIg0KLQ0KLSMgUFJPUCBEZWZhdWx0X0ZpbHRlciAiaWNvO2N1cjtibXA7ZGxnO3JjMjtyY3Q7YmluO3JncztnaWY7anBnO2pwZWc7anBlIg0KLSMgQmVnaW4gU291cmNlIEZpbGUNCi0NCi1TT1VSQ0U9LlxQeXRob25Qb3dlcmVkLmJtcA0KLSMgRW5kIFNvdXJjZSBGaWxlDQotIyBFbmQgR3JvdXANCi0jIEVuZCBUYXJnZXQNCi0jIEVuZCBQcm9qZWN0DQpkaWZmIC0tZ2l0IGEvUEMvYmRpc3Rfd2luaW5zdC93aW5pbnN0LmRzdyBiL1BDL2JkaXN0X3dpbmluc3Qvd2luaW5zdC5kc3cKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGZiYzY2YWEuLjAwMDAwMDAKLS0tIGEvUEMvYmRpc3Rfd2luaW5zdC93aW5pbnN0LmRzdworKysgL2Rldi9udWxsCkBAIC0xLDI5ICswLDAgQEAKLU1pY3Jvc29mdCBEZXZlbG9wZXIgU3R1ZGlvIFdvcmtzcGFjZSBGaWxlLCBGb3JtYXQgVmVyc2lvbiA2LjAwDQotIyBXQVJOSU5HOiBETyBOT1QgRURJVCBPUiBERUxFVEUgVEhJUyBXT1JLU1BBQ0UgRklMRSENCi0NCi0jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQotDQotUHJvamVjdDogIndpbmluc3QiPS5cd2luaW5zdC5kc3AgLSBQYWNrYWdlIE93bmVyPTw0Pg0KLQ0KLVBhY2thZ2U9PDU+DQote3t7DQotfX19DQotDQotUGFja2FnZT08ND4NCi17e3sNCi19fX0NCi0NCi0jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQotDQotR2xvYmFsOg0KLQ0KLVBhY2thZ2U9PDU+DQote3t7DQotfX19DQotDQotUGFja2FnZT08Mz4NCi17e3sNCi19fX0NCi0NCi0jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQotDQpkaWZmIC0tZ2l0IGEvUEMvY29uZmlnLmMgYi9QQy9jb25maWcuYwppbmRleCA3MmM5MzgxLi40OGRiY2MwIDEwMDY0NAotLS0gYS9QQy9jb25maWcuYworKysgYi9QQy9jb25maWcuYwpAQCAtMTksNyArMTksNyBAQAogZXh0ZXJuIFB5T2JqZWN0KiBQeUluaXRfX21kNSh2b2lkKTsKIGV4dGVybiBQeU9iamVjdCogUHlJbml0X250KHZvaWQpOwogZXh0ZXJuIFB5T2JqZWN0KiBQeUluaXRfX29wZXJhdG9yKHZvaWQpOwotZXh0ZXJuIFB5T2JqZWN0KiBQeUluaXRfc2lnbmFsKHZvaWQpOworZXh0ZXJuIFB5T2JqZWN0KiBQeUluaXRfX3NpZ25hbCh2b2lkKTsKIGV4dGVybiBQeU9iamVjdCogUHlJbml0X19zaGExKHZvaWQpOwogZXh0ZXJuIFB5T2JqZWN0KiBQeUluaXRfX3NoYTI1Nih2b2lkKTsKIGV4dGVybiBQeU9iamVjdCogUHlJbml0X19zaGE1MTIodm9pZCk7CkBAIC05MSw3ICs5MSw3IEBACiAgICAgeyJtYXRoIiwgUHlJbml0X21hdGh9LAogICAgIHsibnQiLCBQeUluaXRfbnR9LCAvKiBVc2UgdGhlIE5UIG9zIGZ1bmN0aW9ucywgbm90IHBvc2l4ICovCiAgICAgeyJfb3BlcmF0b3IiLCBQeUluaXRfX29wZXJhdG9yfSwKLSAgICB7InNpZ25hbCIsIFB5SW5pdF9zaWduYWx9LAorICAgIHsiX3NpZ25hbCIsIFB5SW5pdF9fc2lnbmFsfSwKICAgICB7Il9tZDUiLCBQeUluaXRfX21kNX0sCiAgICAgeyJfc2hhMSIsIFB5SW5pdF9fc2hhMX0sCiAgICAgeyJfc2hhMjU2IiwgUHlJbml0X19zaGEyNTZ9LApkaWZmIC0tZ2l0IGEvUEMvZGxfbnQuYyBiL1BDL2RsX250LmMKaW5kZXggYWUxMGZiNS4uYzg3YzUxZSAxMDA2NDQKLS0tIGEvUEMvZGxfbnQuYworKysgYi9QQy9kbF9udC5jCkBAIC0xMiw3ICsxMiwxMiBAQAogI2luY2x1ZGUgIndpbmRvd3MuaCIKIAogI2lmZGVmIFB5X0VOQUJMRV9TSEFSRUQKKyNpZmRlZiBNU19ETExfSUQKKy8vIFRoZSBzdHJpbmcgaXMgYXZhaWxhYmxlIGF0IGJ1aWxkLCBzbyBmaWxsIHRoZSBidWZmZXIgaW1tZWRpYXRlbHkKK2NoYXIgZGxsVmVyc2lvbkJ1ZmZlclsxNl0gPSBNU19ETExfSUQ7CisjZWxzZQogY2hhciBkbGxWZXJzaW9uQnVmZmVyWzE2XSA9ICIiOyAvLyBhIHByaXZhdGUgYnVmZmVyCisjZW5kaWYKIAogLy8gUHl0aG9uIEdsb2JhbHMKIEhNT0RVTEUgUHlXaW5fRExMaE1vZHVsZSA9IE5VTEw7CkBAIC04OCw4ICs5MywxMSBAQAogICAgIHsKICAgICAgICAgY2FzZSBETExfUFJPQ0VTU19BVFRBQ0g6CiAgICAgICAgICAgICBQeVdpbl9ETExoTW9kdWxlID0gaEluc3Q7CisjaWZuZGVmIE1TX0RMTF9JRAorICAgICAgICAgICAgLy8gSWYgd2UgaGF2ZSBNU19ETExfSUQsIHdlIGRvbid0IG5lZWQgdG8gbG9hZCB0aGUgc3RyaW5nLgogICAgICAgICAgICAgLy8gMTAwMCBpcyBhIG1hZ2ljIG51bWJlciBJIHBpY2tlZCBvdXQgb2YgdGhlIGFpci4gIENvdWxkIGRvIHdpdGggYSAjZGVmaW5lLCBJIHNwb3NlLi4uCiAgICAgICAgICAgICBMb2FkU3RyaW5nKGhJbnN0LCAxMDAwLCBkbGxWZXJzaW9uQnVmZmVyLCBzaXplb2YoZGxsVmVyc2lvbkJ1ZmZlcikpOworI2VuZGlmCiAKICNpZiBIQVZFX1NYUwogICAgICAgICAgICAgLy8gYW5kIGNhcHR1cmUgb3VyIGFjdGl2YXRpb24gY29udGV4dCBmb3IgdXNlIHdoZW4gbG9hZGluZyBleHRlbnNpb25zLgpkaWZmIC0tZ2l0IGEvUEMvZXhhbXBsZV9udC9leGFtcGxlLnZjcHJvaiBiL1BDL2V4YW1wbGVfbnQvZXhhbXBsZS52Y3Byb2oKaW5kZXggZGYzNjM0MS4uZDgyZjc2ZSAxMDA2NDQKLS0tIGEvUEMvZXhhbXBsZV9udC9leGFtcGxlLnZjcHJvagorKysgYi9QQy9leGFtcGxlX250L2V4YW1wbGUudmNwcm9qCkBAIC0zOSw3ICszOSw3IEBACiAJCQk8VG9vbA0KIAkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQogCQkJCUFkZGl0aW9uYWxPcHRpb25zPSIvZXhwb3J0OmluaXRleGFtcGxlIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJvZGJjMzIubGliIG9kYmNjcDMyLmxpYiBweXRob24zNC5saWIiDQorCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9Im9kYmMzMi5saWIgb2RiY2NwMzIubGliIHB5dGhvbjM1LmxpYiINCiAJCQkJT3V0cHV0RmlsZT0iLlxSZWxlYXNlL2V4YW1wbGUucHlkIg0KIAkJCQlMaW5rSW5jcmVtZW50YWw9IjEiDQogCQkJCVN1cHByZXNzU3RhcnR1cEJhbm5lcj0iVFJVRSINCkBAIC0xMDUsNyArMTA1LDcgQEAKIAkJCTxUb29sDQogCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCiAJCQkJQWRkaXRpb25hbE9wdGlvbnM9Ii9leHBvcnQ6aW5pdGV4YW1wbGUiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9Im9kYmMzMi5saWIgb2RiY2NwMzIubGliIHB5dGhvbjM0X2QubGliIg0KKwkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJvZGJjMzIubGliIG9kYmNjcDMyLmxpYiBweXRob24zNV9kLmxpYiINCiAJCQkJT3V0cHV0RmlsZT0iLlxEZWJ1Zy9leGFtcGxlX2QucHlkIg0KIAkJCQlMaW5rSW5jcmVtZW50YWw9IjEiDQogCQkJCVN1cHByZXNzU3RhcnR1cEJhbm5lcj0iVFJVRSINCmRpZmYgLS1naXQgYS9QQy9sYXVuY2hlci5jIGIvUEMvbGF1bmNoZXIuYwppbmRleCBlZTNjZDQ0Li5kNDUwZDlmIDEwMDY0NAotLS0gYS9QQy9sYXVuY2hlci5jCisrKyBiL1BDL2xhdW5jaGVyLmMKQEAgLTg3LDEzICs4NywxMyBAQAogICAgIGlmIChyYyA9PSAwKSB7ICAvKiBhIFdpbmRvd3MgZXJyb3IgKi8KICAgICAgICAgd2luZXJyb3IoR2V0TGFzdEVycm9yKCksIHdpbl9tZXNzYWdlLCBNU0dTSVpFKTsKICAgICAgICAgaWYgKGxlbiA+PSAwKSB7Ci0gICAgICAgICAgICBfc253cHJpbnRmX3MoJm1lc3NhZ2VbbGVuXSwgTVNHU0laRSAtIGxlbiwgX1RSVU5DQVRFLCBMIjogJXMiLAorICAgICAgICAgICAgX3Nud3ByaW50Zl9zKCZtZXNzYWdlW2xlbl0sIE1TR1NJWkUgLSBsZW4sIF9UUlVOQ0FURSwgTCI6ICVscyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgd2luX21lc3NhZ2UpOwogICAgICAgICB9CiAgICAgfQogCiAjaWYgIWRlZmluZWQoX1dJTkRPV1MpCi0gICAgZndwcmludGYoc3RkZXJyLCBMIiVzXG4iLCBtZXNzYWdlKTsKKyAgICBmd3ByaW50ZihzdGRlcnIsIEwiJWxzXG4iLCBtZXNzYWdlKTsKICNlbHNlCiAgICAgTWVzc2FnZUJveChOVUxMLCBtZXNzYWdlLCBURVhUKCJQeXRob24gTGF1bmNoZXIgaXMgc29ycnkgdG8gc2F5IC4uLiIpLAogICAgICAgICAgICAgICAgTUJfT0spOyAKQEAgLTE1NywxNCArMTU3LDE5IEBACiAKIHN0YXRpYyBzaXplX3QgbnVtX2luc3RhbGxlZF9weXRob25zID0gMDsKIAotLyogdG8gaG9sZCBTT0ZUV0FSRVxQeXRob25cUHl0aG9uQ29yZVxYLllcSW5zdGFsbFBhdGggKi8KKy8qCisgKiBUbyBob2xkIFNPRlRXQVJFXFB5dGhvblxQeXRob25Db3JlXFguWS4uLlxJbnN0YWxsUGF0aAorICogVGhlIHZlcnNpb24gbmFtZSBjYW4gYmUgbG9uZ2VyIHRoYW4gTUFYX1ZFUlNJT05fU0laRSwgYnV0IHdpbGwgYmUKKyAqIHRydW5jYXRlZCB0byBqdXN0IFguWSBmb3IgY29tcGFyaXNvbnMuCisgKi8KICNkZWZpbmUgSVBfQkFTRV9TSVpFIDQwCi0jZGVmaW5lIElQX1NJWkUgKElQX0JBU0VfU0laRSArIE1BWF9WRVJTSU9OX1NJWkUpCisjZGVmaW5lIElQX1ZFUlNJT05fU0laRSA4CisjZGVmaW5lIElQX1NJWkUgKElQX0JBU0VfU0laRSArIElQX1ZFUlNJT05fU0laRSkKICNkZWZpbmUgQ09SRV9QQVRIIEwiU09GVFdBUkVcXFB5dGhvblxcUHl0aG9uQ29yZSIKIAogc3RhdGljIHdjaGFyX3QgKiBsb2NhdGlvbl9jaGVja3NbXSA9IHsKICAgICBMIlxcIiwKLSAgICBMIlxcUENCdWlsZFxcIiwKKyAgICBMIlxcUENCdWlsZFxcd2luMzJcXCIsCiAgICAgTCJcXFBDQnVpbGRcXGFtZDY0XFwiLAogICAgIE5VTEwKIH07CkBAIC0xOTYsMzUgKzIwMSwzOCBAQAogICAgIEJPT0wgb2s7CiAgICAgRFdPUkQgdHlwZSwgZGF0YV9zaXplLCBhdHRyczsKICAgICBJTlNUQUxMRURfUFlUSE9OICogaXAsICogcGlwOworICAgIHdjaGFyX3QgaXBfdmVyc2lvbltJUF9WRVJTSU9OX1NJWkVdOwogICAgIHdjaGFyX3QgaXBfcGF0aFtJUF9TSVpFXTsKICAgICB3Y2hhcl90ICogY2hlY2s7CiAgICAgd2NoYXJfdCAqKiBjaGVja3A7CiAgICAgd2NoYXJfdCAqa2V5X25hbWUgPSAocm9vdCA9PSBIS0VZX0xPQ0FMX01BQ0hJTkUpID8gTCJIS0xNIiA6IEwiSEtDVSI7CiAKICAgICBpZiAoc3RhdHVzICE9IEVSUk9SX1NVQ0NFU1MpCi0gICAgICAgIGRlYnVnKEwibG9jYXRlX3B5dGhvbnNfZm9yX2tleTogdW5hYmxlIHRvIG9wZW4gUHl0aG9uQ29yZSBrZXkgaW4gJXNcbiIsCisgICAgICAgIGRlYnVnKEwibG9jYXRlX3B5dGhvbnNfZm9yX2tleTogdW5hYmxlIHRvIG9wZW4gUHl0aG9uQ29yZSBrZXkgaW4gJWxzXG4iLAogICAgICAgICAgICAgICBrZXlfbmFtZSk7CiAgICAgZWxzZSB7CiAgICAgICAgIGlwID0gJmluc3RhbGxlZF9weXRob25zW251bV9pbnN0YWxsZWRfcHl0aG9uc107CiAgICAgICAgIGZvciAoaSA9IDA7IG51bV9pbnN0YWxsZWRfcHl0aG9ucyA8IE1BWF9JTlNUQUxMRURfUFlUSE9OUzsgaSsrKSB7Ci0gICAgICAgICAgICBzdGF0dXMgPSBSZWdFbnVtS2V5Vyhjb3JlX3Jvb3QsIGksIGlwLT52ZXJzaW9uLCBNQVhfVkVSU0lPTl9TSVpFKTsKKyAgICAgICAgICAgIHN0YXR1cyA9IFJlZ0VudW1LZXlXKGNvcmVfcm9vdCwgaSwgaXBfdmVyc2lvbiwgSVBfVkVSU0lPTl9TSVpFKTsKICAgICAgICAgICAgIGlmIChzdGF0dXMgIT0gRVJST1JfU1VDQ0VTUykgewogICAgICAgICAgICAgICAgIGlmIChzdGF0dXMgIT0gRVJST1JfTk9fTU9SRV9JVEVNUykgewogICAgICAgICAgICAgICAgICAgICAvKiB1bmV4cGVjdGVkIGVycm9yICovCiAgICAgICAgICAgICAgICAgICAgIHdpbmVycm9yKHN0YXR1cywgbWVzc2FnZSwgTVNHU0laRSk7Ci0gICAgICAgICAgICAgICAgICAgIGRlYnVnKEwiQ2FuJ3QgZW51bWVyYXRlIHJlZ2lzdHJ5IGtleSBmb3IgdmVyc2lvbiAlczogJXNcbiIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGlwLT52ZXJzaW9uLCBtZXNzYWdlKTsKKyAgICAgICAgICAgICAgICAgICAgZGVidWcoTCJDYW4ndCBlbnVtZXJhdGUgcmVnaXN0cnkga2V5IGZvciB2ZXJzaW9uICVsczogJWxzXG4iLAorICAgICAgICAgICAgICAgICAgICAgICAgICBpcF92ZXJzaW9uLCBtZXNzYWdlKTsKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgICAgICB3Y3NuY3B5X3MoaXAtPnZlcnNpb24sIE1BWF9WRVJTSU9OX1NJWkUsIGlwX3ZlcnNpb24sCisgICAgICAgICAgICAgICAgICAgICAgICAgIE1BWF9WRVJTSU9OX1NJWkUtMSk7CiAgICAgICAgICAgICAgICAgX3Nud3ByaW50Zl9zKGlwX3BhdGgsIElQX1NJWkUsIF9UUlVOQ0FURSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTCIlc1xcJXNcXEluc3RhbGxQYXRoIiwgQ09SRV9QQVRILCBpcC0+dmVyc2lvbik7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEwiJWxzXFwlbHNcXEluc3RhbGxQYXRoIiwgQ09SRV9QQVRILCBpcF92ZXJzaW9uKTsKICAgICAgICAgICAgICAgICBzdGF0dXMgPSBSZWdPcGVuS2V5RXhXKHJvb3QsIGlwX3BhdGgsIDAsIGZsYWdzLCAmaXBfa2V5KTsKICAgICAgICAgICAgICAgICBpZiAoc3RhdHVzICE9IEVSUk9SX1NVQ0NFU1MpIHsKICAgICAgICAgICAgICAgICAgICAgd2luZXJyb3Ioc3RhdHVzLCBtZXNzYWdlLCBNU0dTSVpFKTsKICAgICAgICAgICAgICAgICAgICAgLy8gTm90ZTogJ21lc3NhZ2UnIGFscmVhZHkgaGFzIGEgdHJhaWxpbmcgXG4KLSAgICAgICAgICAgICAgICAgICAgZGVidWcoTCIlc1xcJXM6ICVzIiwga2V5X25hbWUsIGlwX3BhdGgsIG1lc3NhZ2UpOworICAgICAgICAgICAgICAgICAgICBkZWJ1ZyhMIiVsc1xcJWxzOiAlbHMiLCBrZXlfbmFtZSwgaXBfcGF0aCwgbWVzc2FnZSk7CiAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICBkYXRhX3NpemUgPSBzaXplb2YoaXAtPmV4ZWN1dGFibGUpIC0gMTsKQEAgLTIzMyw3ICsyNDEsNyBAQAogICAgICAgICAgICAgICAgIFJlZ0Nsb3NlS2V5KGlwX2tleSk7CiAgICAgICAgICAgICAgICAgaWYgKHN0YXR1cyAhPSBFUlJPUl9TVUNDRVNTKSB7CiAgICAgICAgICAgICAgICAgICAgIHdpbmVycm9yKHN0YXR1cywgbWVzc2FnZSwgTVNHU0laRSk7Ci0gICAgICAgICAgICAgICAgICAgIGRlYnVnKEwiJXNcXCVzOiAlc1xuIiwga2V5X25hbWUsIGlwX3BhdGgsIG1lc3NhZ2UpOworICAgICAgICAgICAgICAgICAgICBkZWJ1ZyhMIiVsc1xcJWxzOiAlbHNcbiIsIGtleV9uYW1lLCBpcF9wYXRoLCBtZXNzYWdlKTsKICAgICAgICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIGlmICh0eXBlID09IFJFR19TWikgewpAQCAtMjQ2LDI3ICsyNTQsMjcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgIF9zbndwcmludGZfcygmaXAtPmV4ZWN1dGFibGVbZGF0YV9zaXplXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQVhfUEFUSCAtIGRhdGFfc2l6ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQVhfUEFUSCAtIGRhdGFfc2l6ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMIiVzJXMiLCBjaGVjaywgUFlUSE9OX0VYRUNVVEFCTEUpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEwiJWxzJWxzIiwgY2hlY2ssIFBZVEhPTl9FWEVDVVRBQkxFKTsKICAgICAgICAgICAgICAgICAgICAgICAgIGF0dHJzID0gR2V0RmlsZUF0dHJpYnV0ZXNXKGlwLT5leGVjdXRhYmxlKTsKICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChhdHRycyA9PSBJTlZBTElEX0ZJTEVfQVRUUklCVVRFUykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpbmVycm9yKEdldExhc3RFcnJvcigpLCBtZXNzYWdlLCBNU0dTSVpFKTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWJ1ZyhMImxvY2F0ZV9weXRob25zX2Zvcl9rZXk6ICVzOiAlcyIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVidWcoTCJsb2NhdGVfcHl0aG9uc19mb3Jfa2V5OiAlbHM6ICVscyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXAtPmV4ZWN1dGFibGUsIG1lc3NhZ2UpOwogICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAoYXR0cnMgJiBGSUxFX0FUVFJJQlVURV9ESVJFQ1RPUlkpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWJ1ZyhMImxvY2F0ZV9weXRob25zX2Zvcl9rZXk6ICclcycgaXMgYSBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVidWcoTCJsb2NhdGVfcHl0aG9uc19mb3Jfa2V5OiAnJWxzJyBpcyBhIFwKIGRpcmVjdG9yeVxuIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpcC0+ZXhlY3V0YWJsZSwgYXR0cnMpOwogICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAoZmluZF9leGlzdGluZ19weXRob24oaXAtPmV4ZWN1dGFibGUpKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVidWcoTCJsb2NhdGVfcHl0aG9uc19mb3Jfa2V5OiAlczogYWxyZWFkeSBcCi1mb3VuZDogJXNcbiIsIGlwLT5leGVjdXRhYmxlKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWJ1ZyhMImxvY2F0ZV9weXRob25zX2Zvcl9rZXk6ICVsczogYWxyZWFkeSBcCitmb3VuZDogJWxzXG4iLCBpcC0+ZXhlY3V0YWJsZSk7CiAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBjaGVjayB0aGUgZXhlY3V0YWJsZSB0eXBlLiAqLwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9rID0gR2V0QmluYXJ5VHlwZVcoaXAtPmV4ZWN1dGFibGUsICZhdHRycyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFvaykgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWJ1ZyhMIkZhaWx1cmUgZ2V0dGluZyBiaW5hcnkgdHlwZTogJXNcbiIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlYnVnKEwiRmFpbHVyZSBnZXR0aW5nIGJpbmFyeSB0eXBlOiAlbHNcbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlwLT5leGVjdXRhYmxlKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB7CkBAIC0yNzcsNyArMjg1LDcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXAtPmJpdHMgPSAwOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaXAtPmJpdHMgPT0gMCkgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVidWcoTCJsb2NhdGVfcHl0aG9uc19mb3Jfa2V5OiAlczogXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVidWcoTCJsb2NhdGVfcHl0aG9uc19mb3Jfa2V5OiAlbHM6IFwKIGludmFsaWQgYmluYXJ5IHR5cGU6ICVYXG4iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXAtPmV4ZWN1dGFibGUsIGF0dHJzKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQpAQCAtMjkxLDcgKzI5OSw3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXAtPmV4ZWN1dGFibGVbbiArIDFdID0gTCdcIic7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXAtPmV4ZWN1dGFibGVbbiArIDJdID0gTCdcMCc7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWJ1ZyhMImxvY2F0ZV9weXRob25zX2Zvcl9rZXk6ICVzIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlYnVnKEwibG9jYXRlX3B5dGhvbnNfZm9yX2tleTogJWxzIFwKIGlzIGEgJWRiaXQgZXhlY3V0YWJsZVxuIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpcC0+ZXhlY3V0YWJsZSwgaXAtPmJpdHMpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKytudW1faW5zdGFsbGVkX3B5dGhvbnM7CkBAIC0zOTcsNyArNDA1LDcgQEAKICAgICBEV09SRCBzaXplOwogCiAgICAgLyogRmlyc3QsIHNlYXJjaCB0aGUgZW52aXJvbm1lbnQuICovCi0gICAgX3Nud3ByaW50Zl9zKGNvbmZpZ3VyZWRfdmFsdWUsIE1TR1NJWkUsIF9UUlVOQ0FURSwgTCJweV8lcyIsIGtleSk7CisgICAgX3Nud3ByaW50Zl9zKGNvbmZpZ3VyZWRfdmFsdWUsIE1TR1NJWkUsIF9UUlVOQ0FURSwgTCJweV8lbHMiLCBrZXkpOwogICAgIHJlc3VsdCA9IGdldF9lbnYoY29uZmlndXJlZF92YWx1ZSk7CiAgICAgaWYgKHJlc3VsdCA9PSBOVUxMICYmIGFwcGRhdGFfaW5pX3BhdGhbMF0pIHsKICAgICAgICAgLyogTm90IGluIGVudmlyb25tZW50OiBjaGVjayBsb2NhbCBjb25maWd1cmF0aW9uLiAqLwpAQCAtNDIwLDEwICs0MjgsMTAgQEAKICAgICAgICAgfQogICAgIH0KICAgICBpZiAocmVzdWx0KSB7Ci0gICAgICAgIGRlYnVnKEwiZm91bmQgY29uZmlndXJlZCB2YWx1ZSAnJXM9JXMnIGluICVzXG4iLAorICAgICAgICBkZWJ1ZyhMImZvdW5kIGNvbmZpZ3VyZWQgdmFsdWUgJyVscz0lbHMnIGluICVsc1xuIiwKICAgICAgICAgICAgICAga2V5LCByZXN1bHQsIGZvdW5kX2luID8gZm91bmRfaW4gOiBMIih1bmtub3duKSIpOwogICAgIH0gZWxzZSB7Ci0gICAgICAgIGRlYnVnKEwiZm91bmQgbm8gY29uZmlndXJlZCB2YWx1ZSBmb3IgJyVzJ1xuIiwga2V5KTsKKyAgICAgICAgZGVidWcoTCJmb3VuZCBubyBjb25maWd1cmVkIHZhbHVlIGZvciAnJWxzJ1xuIiwga2V5KTsKICAgICB9CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KQEAgLTQ0OSw5ICs0NTcsOSBAQAogICAgIH0KICAgICBpZiAoKndhbnRlZF92ZXIpIHsKICAgICAgICAgcmVzdWx0ID0gZmluZF9weXRob25fYnlfdmVyc2lvbih3YW50ZWRfdmVyKTsKLSAgICAgICAgZGVidWcoTCJzZWFyY2ggZm9yIFB5dGhvbiB2ZXJzaW9uICclcycgZm91bmQgIiwgd2FudGVkX3Zlcik7CisgICAgICAgIGRlYnVnKEwic2VhcmNoIGZvciBQeXRob24gdmVyc2lvbiAnJWxzJyBmb3VuZCAiLCB3YW50ZWRfdmVyKTsKICAgICAgICAgaWYgKHJlc3VsdCkgewotICAgICAgICAgICAgZGVidWcoTCInJXMnXG4iLCByZXN1bHQtPmV4ZWN1dGFibGUpOworICAgICAgICAgICAgZGVidWcoTCInJWxzJ1xuIiwgcmVzdWx0LT5leGVjdXRhYmxlKTsKICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIGRlYnVnKEwibm8gaW50ZXJwcmV0ZXJcbiIpOwogICAgICAgICB9CkBAIC00NjcsNyArNDc1LDcgQEAKICAgICAgICAgICAgIHJlc3VsdCA9IGZpbmRfcHl0aG9uX2J5X3ZlcnNpb24oTCIzIik7CiAgICAgICAgIGRlYnVnKEwic2VhcmNoIGZvciBkZWZhdWx0IFB5dGhvbiBmb3VuZCAiKTsKICAgICAgICAgaWYgKHJlc3VsdCkgewotICAgICAgICAgICAgZGVidWcoTCJ2ZXJzaW9uICVzIGF0ICclcydcbiIsCisgICAgICAgICAgICBkZWJ1ZyhMInZlcnNpb24gJWxzIGF0ICclbHMnXG4iLAogICAgICAgICAgICAgICAgICAgcmVzdWx0LT52ZXJzaW9uLCByZXN1bHQtPmV4ZWN1dGFibGUpOwogICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgZGVidWcoTCJubyBpbnRlcnByZXRlclxuIik7CkBAIC01MDUsMTkgKzUxMywxOSBAQAogICAgIHBsZW4gPSBHZXRNb2R1bGVGaWxlTmFtZVcoTlVMTCwgd3JhcHBlZF9zY3JpcHRfcGF0aCwgTUFYX1BBVEgpOwogICAgIHAgPSB3Y3NyY2hyKHdyYXBwZWRfc2NyaXB0X3BhdGgsIEwnLicpOwogICAgIGlmIChwID09IE5VTEwpIHsKLSAgICAgICAgZGVidWcoTCJHZXRNb2R1bGVGaWxlTmFtZVcgcmV0dXJuZWQgdmFsdWUgaGFzIG5vIGV4dGVuc2lvbjogJXNcbiIsCisgICAgICAgIGRlYnVnKEwiR2V0TW9kdWxlRmlsZU5hbWVXIHJldHVybmVkIHZhbHVlIGhhcyBubyBleHRlbnNpb246ICVsc1xuIiwKICAgICAgICAgICAgICAgd3JhcHBlZF9zY3JpcHRfcGF0aCk7Ci0gICAgICAgIGVycm9yKFJDX05PX1NDUklQVCwgTCJXcmFwcGVyIG5hbWUgJyVzJyBpcyBub3QgdmFsaWQuIiwgd3JhcHBlZF9zY3JpcHRfcGF0aCk7CisgICAgICAgIGVycm9yKFJDX05PX1NDUklQVCwgTCJXcmFwcGVyIG5hbWUgJyVscycgaXMgbm90IHZhbGlkLiIsIHdyYXBwZWRfc2NyaXB0X3BhdGgpOwogICAgIH0KIAogICAgIHdjc25jcHlfcyhwLCBNQVhfUEFUSCAtIChwIC0gd3JhcHBlZF9zY3JpcHRfcGF0aCkgKyAxLCBTQ1JJUFRfU1VGRklYLCBfVFJVTkNBVEUpOwogICAgIGF0dHJzID0gR2V0RmlsZUF0dHJpYnV0ZXNXKHdyYXBwZWRfc2NyaXB0X3BhdGgpOwogICAgIGlmIChhdHRycyA9PSBJTlZBTElEX0ZJTEVfQVRUUklCVVRFUykgewotICAgICAgICBkZWJ1ZyhMIkZpbGUgJyVzJyBub24tZXhpc3RlbnRcbiIsIHdyYXBwZWRfc2NyaXB0X3BhdGgpOwotICAgICAgICBlcnJvcihSQ19OT19TQ1JJUFQsIEwiU2NyaXB0IGZpbGUgJyVzJyBpcyBub3QgcHJlc2VudC4iLCB3cmFwcGVkX3NjcmlwdF9wYXRoKTsKKyAgICAgICAgZGVidWcoTCJGaWxlICclbHMnIG5vbi1leGlzdGVudFxuIiwgd3JhcHBlZF9zY3JpcHRfcGF0aCk7CisgICAgICAgIGVycm9yKFJDX05PX1NDUklQVCwgTCJTY3JpcHQgZmlsZSAnJWxzJyBpcyBub3QgcHJlc2VudC4iLCB3cmFwcGVkX3NjcmlwdF9wYXRoKTsKICAgICB9CiAKLSAgICBkZWJ1ZyhMIlVzaW5nIHdyYXBwZWQgc2NyaXB0IGZpbGUgJyVzJ1xuIiwgd3JhcHBlZF9zY3JpcHRfcGF0aCk7CisgICAgZGVidWcoTCJVc2luZyB3cmFwcGVkIHNjcmlwdCBmaWxlICclbHMnXG4iLCB3cmFwcGVkX3NjcmlwdF9wYXRoKTsKIH0KICNlbmRpZgogCkBAIC01NzksNyArNTg3LDcgQEAKICAgICBHZXRNZXNzYWdlKCZtc2csIDAsIDAsIDApOwogI2VuZGlmCiAKLSAgICBkZWJ1ZyhMInJ1bl9jaGlsZDogYWJvdXQgdG8gcnVuICclcydcbiIsIGNtZGxpbmUpOworICAgIGRlYnVnKEwicnVuX2NoaWxkOiBhYm91dCB0byBydW4gJyVscydcbiIsIGNtZGxpbmUpOwogICAgIGpvYiA9IENyZWF0ZUpvYk9iamVjdChOVUxMLCBOVUxMKTsKICAgICBvayA9IFF1ZXJ5SW5mb3JtYXRpb25Kb2JPYmplY3Qoam9iLCBKb2JPYmplY3RFeHRlbmRlZExpbWl0SW5mb3JtYXRpb24sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmluZm8sIHNpemVvZihpbmZvKSwgJnJjKTsKQEAgLTYxMSw3ICs2MTksNyBAQAogICAgIG9rID0gQ3JlYXRlUHJvY2Vzc1coTlVMTCwgY21kbGluZSwgTlVMTCwgTlVMTCwgVFJVRSwKICAgICAgICAgICAgICAgICAgICAgICAgIDAsIE5VTEwsIE5VTEwsICZzaSwgJnBpKTsKICAgICBpZiAoIW9rKQotICAgICAgICBlcnJvcihSQ19DUkVBVEVfUFJPQ0VTUywgTCJVbmFibGUgdG8gY3JlYXRlIHByb2Nlc3MgdXNpbmcgJyVzJyIsIGNtZGxpbmUpOworICAgICAgICBlcnJvcihSQ19DUkVBVEVfUFJPQ0VTUywgTCJVbmFibGUgdG8gY3JlYXRlIHByb2Nlc3MgdXNpbmcgJyVscyciLCBjbWRsaW5lKTsKICAgICBBc3NpZ25Qcm9jZXNzVG9Kb2JPYmplY3Qoam9iLCBwaS5oUHJvY2Vzcyk7CiAgICAgQ2xvc2VIYW5kbGUocGkuaFRocmVhZCk7CiAgICAgV2FpdEZvclNpbmdsZU9iamVjdEV4KHBpLmhQcm9jZXNzLCBJTkZJTklURSwgRkFMU0UpOwpAQCAtNjQ4LDExICs2NTYsMTEgQEAKICAgICAgICAgICAgICAgICAgIGNoaWxkX2NvbW1hbmRfc2l6ZSk7CiAgICAgICAgIGlmIChub19zdWZmaXgpCiAgICAgICAgICAgICBfc253cHJpbnRmX3MoY2hpbGRfY29tbWFuZCwgY2hpbGRfY29tbWFuZF9zaXplLAotICAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkX2NvbW1hbmRfc2l6ZSAtIDEsIEwiJXMgJXMiLAorICAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkX2NvbW1hbmRfc2l6ZSAtIDEsIEwiJWxzICVscyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgZXhlY3V0YWJsZSwgY21kbGluZSk7CiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIF9zbndwcmludGZfcyhjaGlsZF9jb21tYW5kLCBjaGlsZF9jb21tYW5kX3NpemUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGRfY29tbWFuZF9zaXplIC0gMSwgTCIlcyAlcyAlcyIsCisgICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGRfY29tbWFuZF9zaXplIC0gMSwgTCIlbHMgJWxzICVscyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgZXhlY3V0YWJsZSwgc3VmZml4LCBjbWRsaW5lKTsKICAgICAgICAgcnVuX2NoaWxkKGNoaWxkX2NvbW1hbmQpOwogICAgICAgICBmcmVlKGNoaWxkX2NvbW1hbmQpOwpAQCAtNzkxLDcgKzc5OSw3IEBACiBhZGRfY29tbWFuZCh3Y2hhcl90ICogbmFtZSwgd2NoYXJfdCAqIGNtZGxpbmUpCiB7CiAgICAgaWYgKG51bV9jb21tYW5kcyA+PSBNQVhfQ09NTUFORFMpIHsKLSAgICAgICAgZGVidWcoTCJjYW4ndCBhZGQgJXMgPSAnJXMnOiBubyByb29tXG4iLCBuYW1lLCBjbWRsaW5lKTsKKyAgICAgICAgZGVidWcoTCJjYW4ndCBhZGQgJWxzID0gJyVscyc6IG5vIHJvb21cbiIsIG5hbWUsIGNtZGxpbmUpOwogICAgIH0KICAgICBlbHNlIHsKICAgICAgICAgQ09NTUFORCAqIGNwID0gJmNvbW1hbmRzW251bV9jb21tYW5kcysrXTsKQEAgLTgxMywxNCArODIxLDE0IEBACiAgICAgcmVhZCA9IEdldFByaXZhdGVQcm9maWxlU3RyaW5nVyhMImNvbW1hbmRzIiwgTlVMTCwgTlVMTCwga2V5bmFtZXMsIE1TR1NJWkUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25maWdfcGF0aCk7CiAgICAgaWYgKHJlYWQgPT0gTVNHU0laRSAtIDEpIHsKLSAgICAgICAgZGVidWcoTCJyZWFkX2NvbW1hbmRzOiAlczogbm90IGVub3VnaCBzcGFjZSBmb3IgbmFtZXNcbiIsIGNvbmZpZ19wYXRoKTsKKyAgICAgICAgZGVidWcoTCJyZWFkX2NvbW1hbmRzOiAlbHM6IG5vdCBlbm91Z2ggc3BhY2UgZm9yIG5hbWVzXG4iLCBjb25maWdfcGF0aCk7CiAgICAgfQogICAgIGtleSA9IGtleW5hbWVzOwogICAgIHdoaWxlICgqa2V5KSB7CiAgICAgICAgIHJlYWQgPSBHZXRQcml2YXRlUHJvZmlsZVN0cmluZ1coTCJjb21tYW5kcyIsIGtleSwgTlVMTCwgdmFsdWUsIE1TR1NJWkUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25maWdfcGF0aCk7CiAgICAgICAgIGlmIChyZWFkID09IE1TR1NJWkUgLSAxKSB7Ci0gICAgICAgICAgICBkZWJ1ZyhMInJlYWRfY29tbWFuZHM6ICVzOiBub3QgZW5vdWdoIHNwYWNlIGZvciAlc1xuIiwKKyAgICAgICAgICAgIGRlYnVnKEwicmVhZF9jb21tYW5kczogJWxzOiBub3QgZW5vdWdoIHNwYWNlIGZvciAlbHNcbiIsCiAgICAgICAgICAgICAgICAgICBjb25maWdfcGF0aCwga2V5KTsKICAgICAgICAgfQogICAgICAgICBjbWRwID0gc2tpcF93aGl0ZXNwYWNlKHZhbHVlKTsKQEAgLTEwOTcsNyArMTEwNSw3IEBACiAgICAgICAgIGlmICgocmVhZCA+PSA0KSAmJiAoYnVmZmVyWzNdID09ICdcbicpICYmIChidWZmZXJbMl0gPT0gJ1xyJykpIHsKICAgICAgICAgICAgIGlwID0gZmluZF9ieV9tYWdpYygoYnVmZmVyWzFdIDw8IDggfCBidWZmZXJbMF0pICYgMHhGRkZGKTsKICAgICAgICAgICAgIGlmIChpcCAhPSBOVUxMKSB7Ci0gICAgICAgICAgICAgICAgZGVidWcoTCJzY3JpcHQgZmlsZSBpcyBjb21waWxlZCBhZ2FpbnN0IFB5dGhvbiAlc1xuIiwKKyAgICAgICAgICAgICAgICBkZWJ1ZyhMInNjcmlwdCBmaWxlIGlzIGNvbXBpbGVkIGFnYWluc3QgUHl0aG9uICVsc1xuIiwKICAgICAgICAgICAgICAgICAgICAgICBpcC0+dmVyc2lvbik7CiAgICAgICAgICAgICAgICAgaW52b2tlX2NoaWxkKGlwLT5leGVjdXRhYmxlLCBOVUxMLCBjbWRsaW5lKTsKICAgICAgICAgICAgIH0KQEAgLTEyMDAsNyArMTIwOCw3IEBACiAgICAgICAgICAgICAgICAgaXNfdmlydCA9IHBhcnNlX3NoZWJhbmcoc2hlYmFuZ19saW5lLCBuY2hhcnMsICZjb21tYW5kLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZzdWZmaXgsICZzZWFyY2gpOwogICAgICAgICAgICAgICAgIGlmIChjb21tYW5kICE9IE5VTEwpIHsKLSAgICAgICAgICAgICAgICAgICAgZGVidWcoTCJwYXJzZV9zaGViYW5nOiBmb3VuZCBjb21tYW5kOiAlc1xuIiwgY29tbWFuZCk7CisgICAgICAgICAgICAgICAgICAgIGRlYnVnKEwicGFyc2Vfc2hlYmFuZzogZm91bmQgY29tbWFuZDogJWxzXG4iLCBjb21tYW5kKTsKICAgICAgICAgICAgICAgICAgICAgaWYgKCFpc192aXJ0KSB7CiAgICAgICAgICAgICAgICAgICAgICAgICBpbnZva2VfY2hpbGQoY29tbWFuZCwgc3VmZml4LCBjbWRsaW5lKTsKICAgICAgICAgICAgICAgICAgICAgfQpAQCAtMTIxMiw3ICsxMjIwLDcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh3Y3NuY21wKGNvbW1hbmQsIEwicHl0aG9uIiwgNikpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3IoUkNfQkFEX1ZJUlRVQUxfUEFUSCwgTCJVbmtub3duIHZpcnR1YWwgXAotcGF0aCAnJXMnIiwgY29tbWFuZCk7CitwYXRoICclbHMnIiwgY29tbWFuZCk7CiAgICAgICAgICAgICAgICAgICAgICAgICBjb21tYW5kICs9IDY7ICAgLyogc2tpcCBwYXN0ICJweXRob24iICovCiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoc2VhcmNoICYmICgoKmNvbW1hbmQgPT0gTCdcMCcpIHx8IGlzc3BhY2UoKmNvbW1hbmQpKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIENvbW1hbmQgaXMgZWxpZ2libGUgZm9yIHBhdGggc2VhcmNoLCBhbmQgdGhlcmUKQEAgLTEyMjAsOSArMTIyOCw5IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVidWcoTCJzZWFyY2hpbmcgUEFUSCBmb3IgcHl0aG9uIGV4ZWN1dGFibGVcbiIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNtZCA9IGZpbmRfb25fcGF0aChMInB5dGhvbiIpOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlYnVnKEwiUHl0aG9uIG9uIHBhdGg6ICVzXG4iLCBjbWQgPyBjbWQtPnZhbHVlIDogTCI8bm90IGZvdW5kPiIpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlYnVnKEwiUHl0aG9uIG9uIHBhdGg6ICVsc1xuIiwgY21kID8gY21kLT52YWx1ZSA6IEwiPG5vdCBmb3VuZD4iKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoY21kKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlYnVnKEwibG9jYXRlZCBweXRob24gb24gUEFUSDogJXNcbiIsIGNtZC0+dmFsdWUpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWJ1ZyhMImxvY2F0ZWQgcHl0aG9uIG9uIFBBVEg6ICVsc1xuIiwgY21kLT52YWx1ZSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludm9rZV9jaGlsZChjbWQtPnZhbHVlLCBzdWZmaXgsIGNtZGxpbmUpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBFeGl0IGhlcmUsIGFzIHdlIGhhdmUgZm91bmQgdGhlIGNvbW1hbmQgKi8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwpAQCAtMTIzMywxNCArMTI0MSwxNCBAQAogICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCpjb21tYW5kICYmICF2YWxpZGF0ZV92ZXJzaW9uKGNvbW1hbmQpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yKFJDX0JBRF9WSVJUVUFMX1BBVEgsIEwiSW52YWxpZCB2ZXJzaW9uIFwKLXNwZWNpZmljYXRpb246ICclcycuXG5JbiB0aGUgZmlyc3QgbGluZSBvZiB0aGUgc2NyaXB0LCAncHl0aG9uJyBuZWVkcyB0byBiZSBcCitzcGVjaWZpY2F0aW9uOiAnJWxzJy5cbkluIHRoZSBmaXJzdCBsaW5lIG9mIHRoZSBzY3JpcHQsICdweXRob24nIG5lZWRzIHRvIGJlIFwKIGZvbGxvd2VkIGJ5IGEgdmFsaWQgdmVyc2lvbiBzcGVjaWZpZXIuXG5QbGVhc2UgY2hlY2sgdGhlIGRvY3VtZW50YXRpb24uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21tYW5kKTsKICAgICAgICAgICAgICAgICAgICAgICAgIC8qIFRPRE8gY291bGQgY2FsbCB2YWxpZGF0ZV92ZXJzaW9uKGNvbW1hbmQpICovCiAgICAgICAgICAgICAgICAgICAgICAgICBpcCA9IGxvY2F0ZV9weXRob24oY29tbWFuZCk7CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaXAgPT0gTlVMTCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yKFJDX05PX1BZVEhPTiwgTCJSZXF1ZXN0ZWQgUHl0aG9uIHZlcnNpb24gXAotKCVzKSBpcyBub3QgaW5zdGFsbGVkIiwgY29tbWFuZCk7CisoJWxzKSBpcyBub3QgaW5zdGFsbGVkIiwgY29tbWFuZCk7CiAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnZva2VfY2hpbGQoaXAtPmV4ZWN1dGFibGUsIHN1ZmZpeCwgY21kbGluZSk7CkBAIC0xMzQ3LDE3ICsxMzU1LDE3IEBACiAgICAgICAgIHdjc25jcHlfcyhwLCBNQVhfUEFUSCAtIHBsZW4sIEwiXFxweS5pbmkiLCBfVFJVTkNBVEUpOwogICAgICAgICBhdHRycyA9IEdldEZpbGVBdHRyaWJ1dGVzVyhhcHBkYXRhX2luaV9wYXRoKTsKICAgICAgICAgaWYgKGF0dHJzID09IElOVkFMSURfRklMRV9BVFRSSUJVVEVTKSB7Ci0gICAgICAgICAgICBkZWJ1ZyhMIkZpbGUgJyVzJyBub24tZXhpc3RlbnRcbiIsIGFwcGRhdGFfaW5pX3BhdGgpOworICAgICAgICAgICAgZGVidWcoTCJGaWxlICclbHMnIG5vbi1leGlzdGVudFxuIiwgYXBwZGF0YV9pbmlfcGF0aCk7CiAgICAgICAgICAgICBhcHBkYXRhX2luaV9wYXRoWzBdID0gTCdcMCc7CiAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICBkZWJ1ZyhMIlVzaW5nIGxvY2FsIGNvbmZpZ3VyYXRpb24gZmlsZSAnJXMnXG4iLCBhcHBkYXRhX2luaV9wYXRoKTsKKyAgICAgICAgICAgIGRlYnVnKEwiVXNpbmcgbG9jYWwgY29uZmlndXJhdGlvbiBmaWxlICclbHMnXG4iLCBhcHBkYXRhX2luaV9wYXRoKTsKICAgICAgICAgfQogICAgIH0KICAgICBwbGVuID0gR2V0TW9kdWxlRmlsZU5hbWVXKE5VTEwsIGxhdW5jaGVyX2luaV9wYXRoLCBNQVhfUEFUSCk7CiAgICAgc2l6ZSA9IEdldEZpbGVWZXJzaW9uSW5mb1NpemVXKGxhdW5jaGVyX2luaV9wYXRoLCAmc2l6ZSk7CiAgICAgaWYgKHNpemUgPT0gMCkgewogICAgICAgICB3aW5lcnJvcihHZXRMYXN0RXJyb3IoKSwgbWVzc2FnZSwgTVNHU0laRSk7Ci0gICAgICAgIGRlYnVnKEwiR2V0RmlsZVZlcnNpb25JbmZvU2l6ZSBmYWlsZWQ6ICVzXG4iLCBtZXNzYWdlKTsKKyAgICAgICAgZGVidWcoTCJHZXRGaWxlVmVyc2lvbkluZm9TaXplIGZhaWxlZDogJWxzXG4iLCBtZXNzYWdlKTsKICAgICB9CiAgICAgZWxzZSB7CiAgICAgICAgIHZlcnNpb25fZGF0YSA9IG1hbGxvYyhzaXplKTsKQEAgLTEzODEsNyArMTM4OSw3IEBACiAgICAgfQogICAgIHAgPSB3Y3NyY2hyKGxhdW5jaGVyX2luaV9wYXRoLCBMJ1xcJyk7CiAgICAgaWYgKHAgPT0gTlVMTCkgewotICAgICAgICBkZWJ1ZyhMIkdldE1vZHVsZUZpbGVOYW1lVyByZXR1cm5lZCB2YWx1ZSBoYXMgbm8gYmFja3NsYXNoOiAlc1xuIiwKKyAgICAgICAgZGVidWcoTCJHZXRNb2R1bGVGaWxlTmFtZVcgcmV0dXJuZWQgdmFsdWUgaGFzIG5vIGJhY2tzbGFzaDogJWxzXG4iLAogICAgICAgICAgICAgICBsYXVuY2hlcl9pbmlfcGF0aCk7CiAgICAgICAgIGxhdW5jaGVyX2luaV9wYXRoWzBdID0gTCdcMCc7CiAgICAgfQpAQCAtMTM5MCwxNSArMTM5OCwxNSBAQAogICAgICAgICAgICAgICAgICAgX1RSVU5DQVRFKTsKICAgICAgICAgYXR0cnMgPSBHZXRGaWxlQXR0cmlidXRlc1cobGF1bmNoZXJfaW5pX3BhdGgpOwogICAgICAgICBpZiAoYXR0cnMgPT0gSU5WQUxJRF9GSUxFX0FUVFJJQlVURVMpIHsKLSAgICAgICAgICAgIGRlYnVnKEwiRmlsZSAnJXMnIG5vbi1leGlzdGVudFxuIiwgbGF1bmNoZXJfaW5pX3BhdGgpOworICAgICAgICAgICAgZGVidWcoTCJGaWxlICclbHMnIG5vbi1leGlzdGVudFxuIiwgbGF1bmNoZXJfaW5pX3BhdGgpOwogICAgICAgICAgICAgbGF1bmNoZXJfaW5pX3BhdGhbMF0gPSBMJ1wwJzsKICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIGRlYnVnKEwiVXNpbmcgZ2xvYmFsIGNvbmZpZ3VyYXRpb24gZmlsZSAnJXMnXG4iLCBsYXVuY2hlcl9pbmlfcGF0aCk7CisgICAgICAgICAgICBkZWJ1ZyhMIlVzaW5nIGdsb2JhbCBjb25maWd1cmF0aW9uIGZpbGUgJyVscydcbiIsIGxhdW5jaGVyX2luaV9wYXRoKTsKICAgICAgICAgfQogICAgIH0KIAogICAgIGNvbW1hbmQgPSBza2lwX21lKEdldENvbW1hbmRMaW5lVygpKTsKLSAgICBkZWJ1ZyhMIkNhbGxlZCB3aXRoIGNvbW1hbmQgbGluZTogJXNcbiIsIGNvbW1hbmQpOworICAgIGRlYnVnKEwiQ2FsbGVkIHdpdGggY29tbWFuZCBsaW5lOiAlbHNcbiIsIGNvbW1hbmQpOwogCiAjaWYgZGVmaW5lZChTQ1JJUFRfV1JBUFBFUikKICAgICAvKiBUaGUgbGF1bmNoZXIgaXMgYmVpbmcgdXNlZCBpbiAic2NyaXB0IHdyYXBwZXIiIG1vZGUuCkBAIC0xNDIyLDcgKzE0MzAsNyBAQAogICAgICAgICB3Y3NjcHlfcyhuZXdjb21tYW5kLCBuZXdsZW4sIHdyYXBwZWRfc2NyaXB0X3BhdGgpOwogICAgICAgICB3Y3NjYXRfcyhuZXdjb21tYW5kLCBuZXdsZW4sIEwiICIpOwogICAgICAgICB3Y3NjYXRfcyhuZXdjb21tYW5kLCBuZXdsZW4sIGNvbW1hbmQpOwotICAgICAgICBkZWJ1ZyhMIlJ1bm5pbmcgd3JhcHBlZCBzY3JpcHQgd2l0aCBjb21tYW5kIGxpbmUgJyVzJ1xuIiwgbmV3Y29tbWFuZCk7CisgICAgICAgIGRlYnVnKEwiUnVubmluZyB3cmFwcGVkIHNjcmlwdCB3aXRoIGNvbW1hbmQgbGluZSAnJWxzJ1xuIiwgbmV3Y29tbWFuZCk7CiAgICAgICAgIHJlYWRfY29tbWFuZHMoKTsKICAgICAgICAgYXZbMF0gPSB3cmFwcGVkX3NjcmlwdF9wYXRoOwogICAgICAgICBhdlsxXSA9IE5VTEw7CkBAIC0xNDQzLDcgKzE0NTEsNyBAQAogICAgICAgICBpZiAodmFsaWQpIHsKICAgICAgICAgICAgIGlwID0gbG9jYXRlX3B5dGhvbigmcFsxXSk7CiAgICAgICAgICAgICBpZiAoaXAgPT0gTlVMTCkKLSAgICAgICAgICAgICAgICBlcnJvcihSQ19OT19QWVRIT04sIEwiUmVxdWVzdGVkIFB5dGhvbiB2ZXJzaW9uICglcykgbm90IFwKKyAgICAgICAgICAgICAgICBlcnJvcihSQ19OT19QWVRIT04sIEwiUmVxdWVzdGVkIFB5dGhvbiB2ZXJzaW9uICglbHMpIG5vdCBcCiBpbnN0YWxsZWQiLCAmcFsxXSk7CiAgICAgICAgICAgICBjb21tYW5kICs9IHdjc2xlbihwKTsKICAgICAgICAgICAgIGNvbW1hbmQgPSBza2lwX3doaXRlc3BhY2UoY29tbWFuZCk7CkBAIC0xNDc2LDkgKzE0ODQsOSBAQAogCiAgICAgICAgICAgICBnZXRfdmVyc2lvbl9pbmZvKHZlcnNpb25fdGV4dCwgTUFYX1BBVEgpOwogICAgICAgICAgICAgZndwcmludGYoc3Rkb3V0LCBMIlwKLVB5dGhvbiBMYXVuY2hlciBmb3IgV2luZG93cyBWZXJzaW9uICVzXG5cbiIsIHZlcnNpb25fdGV4dCk7CitQeXRob24gTGF1bmNoZXIgZm9yIFdpbmRvd3MgVmVyc2lvbiAlbHNcblxuIiwgdmVyc2lvbl90ZXh0KTsKICAgICAgICAgICAgIGZ3cHJpbnRmKHN0ZG91dCwgTCJcCi11c2FnZTogJXMgWyBsYXVuY2hlci1hcmd1bWVudHMgXSBbIHB5dGhvbi1hcmd1bWVudHMgXSBzY3JpcHQgWyBzY3JpcHQtYXJndW1lbnRzIF1cblxuIiwgYXJndlswXSk7Cit1c2FnZTogJWxzIFsgbGF1bmNoZXItYXJndW1lbnRzIF0gWyBweXRob24tYXJndW1lbnRzIF0gc2NyaXB0IFsgc2NyaXB0LWFyZ3VtZW50cyBdXG5cbiIsIGFyZ3ZbMF0pOwogICAgICAgICAgICAgZnB1dHdzKEwiXAogTGF1bmNoZXIgYXJndW1lbnRzOlxuXG5cCiAtMiAgICAgOiBMYXVuY2ggdGhlIGxhdGVzdCBQeXRob24gMi54IHZlcnNpb25cblwKZGlmZiAtLWdpdCBhL1BDL3B5Y29uZmlnLmggYi9QQy9weWNvbmZpZy5oCmluZGV4IGUxYzE5ODguLjMyOGJlMGYgMTAwNjQ0Ci0tLSBhL1BDL3B5Y29uZmlnLmgKKysrIGIvUEMvcHljb25maWcuaApAQCAtMTQ1LDkgKzE0NSwxMSBAQAogI2lmIGRlZmluZWQoX01fSUE2NCkKICNkZWZpbmUgQ09NUElMRVIgX1B5X1BBU1RFX1ZFUlNJT04oIjY0IGJpdCAoSXRhbml1bSkiKQogI2RlZmluZSBNU19XSU5JNjQKKyNkZWZpbmUgUFlEX1BMQVRGT1JNX1RBRyAid2luX2lhNjQiCiAjZWxpZiBkZWZpbmVkKF9NX1g2NCkgfHwgZGVmaW5lZChfTV9BTUQ2NCkKICNkZWZpbmUgQ09NUElMRVIgX1B5X1BBU1RFX1ZFUlNJT04oIjY0IGJpdCAoQU1ENjQpIikKICNkZWZpbmUgTVNfV0lOWDY0CisjZGVmaW5lIFBZRF9QTEFURk9STV9UQUcgIndpbl9hbWQ2NCIKICNlbHNlCiAjZGVmaW5lIENPTVBJTEVSIF9QeV9QQVNURV9WRVJTSU9OKCI2NCBiaXQgKFVua25vd24pIikKICNlbmRpZgpAQCAtMTkzLDggKzE5NSwxMCBAQAogI2lmIGRlZmluZWQoTVNfV0lOMzIpICYmICFkZWZpbmVkKE1TX1dJTjY0KQogI2lmIGRlZmluZWQoX01fSVg4NikKICNkZWZpbmUgQ09NUElMRVIgX1B5X1BBU1RFX1ZFUlNJT04oIjMyIGJpdCAoSW50ZWwpIikKKyNkZWZpbmUgUFlEX1BMQVRGT1JNX1RBRyAid2luMzIiCiAjZWxpZiBkZWZpbmVkKF9NX0FSTSkKICNkZWZpbmUgQ09NUElMRVIgX1B5X1BBU1RFX1ZFUlNJT04oIjMyIGJpdCAoQVJNKSIpCisjZGVmaW5lIFBZRF9QTEFURk9STV9UQUcgIndpbl9hcm0iCiAjZWxzZQogI2RlZmluZSBDT01QSUxFUiBfUHlfUEFTVEVfVkVSU0lPTigiMzIgYml0IChVbmtub3duKSIpCiAjZW5kaWYKQEAgLTIxMyw2ICsyMTcsMTMgQEAKICNkZWZpbmUgaHlwb3QgX2h5cG90CiAjZW5kaWYKIAorLyogVlMgMjAxNSBkZWZpbmVzIHRoZXNlIG5hbWVzIHdpdGggYSBsZWFkaW5nIHVuZGVyc2NvcmUgKi8KKyNpZiBfTVNDX1ZFUiA+PSAxOTAwCisjZGVmaW5lIHRpbWV6b25lIF90aW1lem9uZQorI2RlZmluZSBkYXlsaWdodCBfZGF5bGlnaHQKKyNkZWZpbmUgdHpuYW1lIF90em5hbWUKKyNlbmRpZgorCiAvKiBTaWRlIGJ5IFNpZGUgYXNzZW1ibGllcyBzdXBwb3J0ZWQgaW4gVlMgMjAwNSBhbmQgVlMgMjAwOCBidXQgbm90IDIwMTAqLwogI2lmIF9NU0NfVkVSID49IDE0MDAgJiYgX01TQ19WRVIgPCAxNjAwCiAjZGVmaW5lIEhBVkVfU1hTIDEKQEAgLTIyNywzNSArMjM4LDYgQEAKICNlbmRpZiAvKiBfTVNDX1ZFUiAqLwogCiAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwotLyogVGhlIEJvcmxhbmQgY29tcGlsZXIgZGVmaW5lcyBfX0JPUkxBTkRDX18gKi8KLS8qIFhYWCBUaGVzZSBkZWZpbmVzIGFyZSBsaWtlbHkgaW5jb21wbGV0ZSwgYnV0IHNob3VsZCBiZSBlYXN5IHRvIGZpeC4gKi8KLSNpZmRlZiBfX0JPUkxBTkRDX18KLSNkZWZpbmUgQ09NUElMRVIgIltCb3JsYW5kXSIKLQotI2lmZGVmIF9XSU4zMgotLyogdGVzdGVkIHdpdGggQkNDIDUuNSAoX19CT1JMQU5EQ19fID49IDB4MDU1MCkKLSAqLwotCi10eXBlZGVmIGludCBwaWRfdDsKLS8qIEJDQzU1IHNlZW1zIHRvIHVuZGVyc3RhbmQgX19kZWNsc3BlYyhkbGxpbXBvcnQpLCBpdCBpcyB1c2VkIGluIGl0cwotICAgb3duIGhlYWRlciBmaWxlcyAod2lubnQuaCwgLi4uKSAtIHNvIHdlIGNhbiBkbyBub3RoaW5nIGFuZCBnZXQgdGhlIGRlZmF1bHQqLwotCi0jdW5kZWYgSEFWRV9TWVNfVVRJTUVfSAotI2RlZmluZSBIQVZFX1VUSU1FX0gKLSNkZWZpbmUgSEFWRV9ESVJFTlRfSAotCi0vKiByZW5hbWUgYSBmZXcgZnVuY3Rpb25zIGZvciB0aGUgQm9ybGFuZCBjb21waWxlciAqLwotI2luY2x1ZGUgPGlvLmg+Ci0jZGVmaW5lIF9jaHNpemUgY2hzaXplCi0jZGVmaW5lIF9zZXRtb2RlIHNldG1vZGUKLQotI2Vsc2UgLyogIV9XSU4zMiAqLwotI2Vycm9yICJPbmx5IFdpbjMyIGFuZCBsYXRlciBhcmUgc3VwcG9ydGVkIgotI2VuZGlmIC8qICFfV0lOMzIgKi8KLQotI2VuZGlmIC8qIEJPUkxBTkRDICovCi0KLS8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAvKiBlZ2NzL2dudS13aW4zMiBkZWZpbmVzIF9fR05VQ19fIGFuZCBfV0lOMzIgKi8KICNpZiBkZWZpbmVkKF9fR05VQ19fKSAmJiBkZWZpbmVkKF9XSU4zMikKIC8qIFhYWCBUaGVzZSBkZWZpbmVzIGFyZSBsaWtlbHkgaW5jb21wbGV0ZSwgYnV0IHNob3VsZCBiZSBlYXN5IHRvIGZpeC4KQEAgLTMyMiwxMSArMzA0LDExIEBACiAJCQl0aGVpciBNYWtlZmlsZSAob3RoZXIgY29tcGlsZXJzIGFyZSBnZW5lcmFsbHkKIAkJCXRha2VuIGNhcmUgb2YgYnkgZGlzdHV0aWxzLikgKi8KICMJCQlpZiBkZWZpbmVkKF9ERUJVRykKLSMJCQkJcHJhZ21hIGNvbW1lbnQobGliLCJweXRob24zNF9kLmxpYiIpCisjCQkJCXByYWdtYSBjb21tZW50KGxpYiwicHl0aG9uMzVfZC5saWIiKQogIwkJCWVsaWYgZGVmaW5lZChQeV9MSU1JVEVEX0FQSSkKICMJCQkJcHJhZ21hIGNvbW1lbnQobGliLCJweXRob24zLmxpYiIpCiAjCQkJZWxzZQotIwkJCQlwcmFnbWEgY29tbWVudChsaWIsInB5dGhvbjM0LmxpYiIpCisjCQkJCXByYWdtYSBjb21tZW50KGxpYiwicHl0aG9uMzUubGliIikKICMJCQllbmRpZiAvKiBfREVCVUcgKi8KICMJCWVuZGlmIC8qIF9NU0NfVkVSICovCiAjCWVuZGlmIC8qIFB5X0JVSUxEX0NPUkUgKi8KZGlmZiAtLWdpdCBhL1BDL3B5bGF1bmNoZXIucmMgYi9QQy9weWxhdW5jaGVyLnJjCmluZGV4IGRmNTgyNGEuLjYzNGI4ZDYgMTAwNjQ0Ci0tLSBhL1BDL3B5bGF1bmNoZXIucmMKKysrIGIvUEMvcHlsYXVuY2hlci5yYwpAQCAtMzQsNyArMzQsNyBAQAogICAgICAgICAgICAgVkFMVUUgIkZpbGVEZXNjcmlwdGlvbiIsICJQeXRob24gTGF1bmNoZXIgZm9yIFdpbmRvd3MgKENvbnNvbGUpIgogICAgICAgICAgICAgVkFMVUUgIkZpbGVWZXJzaW9uIiwgUFlUSE9OX1ZFUlNJT04KICAgICAgICAgICAgIFZBTFVFICJJbnRlcm5hbE5hbWUiLCAicHkiCi0gICAgICAgICAgICBWQUxVRSAiTGVnYWxDb3B5cmlnaHQiLCAiQ29weXJpZ2h0IChDKSAyMDExLTIwMTIgUHl0aG9uIFNvZnR3YXJlIEZvdW5kYXRpb24iCisgICAgICAgICAgICBWQUxVRSAiTGVnYWxDb3B5cmlnaHQiLCAiQ29weXJpZ2h0IChDKSAyMDExLTIwMTQgUHl0aG9uIFNvZnR3YXJlIEZvdW5kYXRpb24iCiAgICAgICAgICAgICBWQUxVRSAiT3JpZ2luYWxGaWxlbmFtZSIsICJweSIKICAgICAgICAgICAgIFZBTFVFICJQcm9kdWN0TmFtZSIsICJQeXRob24gTGF1bmNoZXIgZm9yIFdpbmRvd3MiCiAgICAgICAgICAgICBWQUxVRSAiUHJvZHVjdFZlcnNpb24iLCBQWVRIT05fVkVSU0lPTgpkaWZmIC0tZ2l0IGEvUEMvcHl0aG9uLm1hbmlmZXN0IGIvUEMvcHl0aG9uLm1hbmlmZXN0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNhYzI2MzAKLS0tIC9kZXYvbnVsbAorKysgYi9QQy9weXRob24ubWFuaWZlc3QKQEAgLTAsMCArMSwxMiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9InllcyI/PgorPGFzc2VtYmx5IHhtbG5zPSJ1cm46c2NoZW1hcy1taWNyb3NvZnQtY29tOmFzbS52MSIgbWFuaWZlc3RWZXJzaW9uPSIxLjAiPgorICA8Y29tcGF0aWJpbGl0eSB4bWxucz0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTpjb21wYXRpYmlsaXR5LnYxIj4gCisgICAgPGFwcGxpY2F0aW9uPiAKKyAgICAgIDxzdXBwb3J0ZWRPUyBJZD0ie2UyMDExNDU3LTE1NDYtNDNjNS1hNWZlLTAwOGRlZWUzZDNmMH0iLz4gCisgICAgICA8c3VwcG9ydGVkT1MgSWQ9InszNTEzOGI5YS01ZDk2LTRmYmQtOGUyZC1hMjQ0MDIyNWY5M2F9Ii8+CisgICAgICA8c3VwcG9ydGVkT1MgSWQ9Ins0YTJmMjhlMy01M2I5LTQ0NDEtYmE5Yy1kNjlkNGE0YTZlMzh9Ii8+CisgICAgICA8c3VwcG9ydGVkT1MgSWQ9InsxZjY3NmM3Ni04MGUxLTQyMzktOTViYi04M2QwZjZkMGRhNzh9Ii8+CisgICAgICA8c3VwcG9ydGVkT1MgSWQ9Ins4ZTBmN2ExMi1iZmIzLTRmZTgtYjlhNS00OGZkNTBhMTVhOWF9Ii8+CisgICAgPC9hcHBsaWNhdGlvbj4gCisgIDwvY29tcGF0aWJpbGl0eT4KKzwvYXNzZW1ibHk+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvUEMvcHl0aG9uMy5kZWYgYi9QQy9weXRob24zLmRlZgppbmRleCAzN2U0NTRiLi40NWZkYTM4IDEwMDY0NAotLS0gYS9QQy9weXRob24zLmRlZgorKysgYi9QQy9weXRob24zLmRlZgpAQCAtMSw3MDEgKzEsNzAzIEBACi07IFdoZW4gY2hhbmdpbmcgdGhpcyBmaWxlLCBydW4gcHl0aG9uMzRnZW4ucHkKKzsgVGhpcyBmaWxlIHNwZWNpZmllcyB0aGUgaW1wb3J0IGZvcndhcmRpbmcgZm9yIHB5dGhvbjMuZGxsCis7IEl0IGlzIHVzZWQgd2hlbiBidWlsZGluZyBweXRob24zZGxsLnZjeHByb2oKIExJQlJBUlkJInB5dGhvbjMiCiBFWFBPUlRTCi0gIFB5QXJnX1BhcnNlPXB5dGhvbjM0LlB5QXJnX1BhcnNlCi0gIFB5QXJnX1BhcnNlVHVwbGU9cHl0aG9uMzQuUHlBcmdfUGFyc2VUdXBsZQotICBQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHM9cHl0aG9uMzQuUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzCi0gIFB5QXJnX1VucGFja1R1cGxlPXB5dGhvbjM0LlB5QXJnX1VucGFja1R1cGxlCi0gIFB5QXJnX1ZhUGFyc2U9cHl0aG9uMzQuUHlBcmdfVmFQYXJzZQotICBQeUFyZ19WYVBhcnNlVHVwbGVBbmRLZXl3b3Jkcz1weXRob24zNC5QeUFyZ19WYVBhcnNlVHVwbGVBbmRLZXl3b3JkcwotICBQeUFyZ19WYWxpZGF0ZUtleXdvcmRBcmd1bWVudHM9cHl0aG9uMzQuUHlBcmdfVmFsaWRhdGVLZXl3b3JkQXJndW1lbnRzCi0gIFB5QmFzZU9iamVjdF9UeXBlPXB5dGhvbjM0LlB5QmFzZU9iamVjdF9UeXBlIERBVEEKLSAgUHlCb29sX0Zyb21Mb25nPXB5dGhvbjM0LlB5Qm9vbF9Gcm9tTG9uZwotICBQeUJvb2xfVHlwZT1weXRob24zNC5QeUJvb2xfVHlwZSBEQVRBCi0gIFB5Qnl0ZUFycmF5SXRlcl9UeXBlPXB5dGhvbjM0LlB5Qnl0ZUFycmF5SXRlcl9UeXBlIERBVEEKLSAgUHlCeXRlQXJyYXlfQXNTdHJpbmc9cHl0aG9uMzQuUHlCeXRlQXJyYXlfQXNTdHJpbmcKLSAgUHlCeXRlQXJyYXlfQ29uY2F0PXB5dGhvbjM0LlB5Qnl0ZUFycmF5X0NvbmNhdAotICBQeUJ5dGVBcnJheV9Gcm9tT2JqZWN0PXB5dGhvbjM0LlB5Qnl0ZUFycmF5X0Zyb21PYmplY3QKLSAgUHlCeXRlQXJyYXlfRnJvbVN0cmluZ0FuZFNpemU9cHl0aG9uMzQuUHlCeXRlQXJyYXlfRnJvbVN0cmluZ0FuZFNpemUKLSAgUHlCeXRlQXJyYXlfUmVzaXplPXB5dGhvbjM0LlB5Qnl0ZUFycmF5X1Jlc2l6ZQotICBQeUJ5dGVBcnJheV9TaXplPXB5dGhvbjM0LlB5Qnl0ZUFycmF5X1NpemUKLSAgUHlCeXRlQXJyYXlfVHlwZT1weXRob24zNC5QeUJ5dGVBcnJheV9UeXBlIERBVEEKLSAgUHlCeXRlc0l0ZXJfVHlwZT1weXRob24zNC5QeUJ5dGVzSXRlcl9UeXBlIERBVEEKLSAgUHlCeXRlc19Bc1N0cmluZz1weXRob24zNC5QeUJ5dGVzX0FzU3RyaW5nCi0gIFB5Qnl0ZXNfQXNTdHJpbmdBbmRTaXplPXB5dGhvbjM0LlB5Qnl0ZXNfQXNTdHJpbmdBbmRTaXplCi0gIFB5Qnl0ZXNfQ29uY2F0PXB5dGhvbjM0LlB5Qnl0ZXNfQ29uY2F0Ci0gIFB5Qnl0ZXNfQ29uY2F0QW5kRGVsPXB5dGhvbjM0LlB5Qnl0ZXNfQ29uY2F0QW5kRGVsCi0gIFB5Qnl0ZXNfRGVjb2RlRXNjYXBlPXB5dGhvbjM0LlB5Qnl0ZXNfRGVjb2RlRXNjYXBlCi0gIFB5Qnl0ZXNfRnJvbUZvcm1hdD1weXRob24zNC5QeUJ5dGVzX0Zyb21Gb3JtYXQKLSAgUHlCeXRlc19Gcm9tRm9ybWF0Vj1weXRob24zNC5QeUJ5dGVzX0Zyb21Gb3JtYXRWCi0gIFB5Qnl0ZXNfRnJvbU9iamVjdD1weXRob24zNC5QeUJ5dGVzX0Zyb21PYmplY3QKLSAgUHlCeXRlc19Gcm9tU3RyaW5nPXB5dGhvbjM0LlB5Qnl0ZXNfRnJvbVN0cmluZwotICBQeUJ5dGVzX0Zyb21TdHJpbmdBbmRTaXplPXB5dGhvbjM0LlB5Qnl0ZXNfRnJvbVN0cmluZ0FuZFNpemUKLSAgUHlCeXRlc19SZXByPXB5dGhvbjM0LlB5Qnl0ZXNfUmVwcgotICBQeUJ5dGVzX1NpemU9cHl0aG9uMzQuUHlCeXRlc19TaXplCi0gIFB5Qnl0ZXNfVHlwZT1weXRob24zNC5QeUJ5dGVzX1R5cGUgREFUQQotICBQeUNGdW5jdGlvbl9DYWxsPXB5dGhvbjM0LlB5Q0Z1bmN0aW9uX0NhbGwKLSAgUHlDRnVuY3Rpb25fQ2xlYXJGcmVlTGlzdD1weXRob24zNC5QeUNGdW5jdGlvbl9DbGVhckZyZWVMaXN0Ci0gIFB5Q0Z1bmN0aW9uX0dldEZsYWdzPXB5dGhvbjM0LlB5Q0Z1bmN0aW9uX0dldEZsYWdzCi0gIFB5Q0Z1bmN0aW9uX0dldEZ1bmN0aW9uPXB5dGhvbjM0LlB5Q0Z1bmN0aW9uX0dldEZ1bmN0aW9uCi0gIFB5Q0Z1bmN0aW9uX0dldFNlbGY9cHl0aG9uMzQuUHlDRnVuY3Rpb25fR2V0U2VsZgotICBQeUNGdW5jdGlvbl9OZXc9cHl0aG9uMzQuUHlDRnVuY3Rpb25fTmV3Ci0gIFB5Q0Z1bmN0aW9uX05ld0V4PXB5dGhvbjM0LlB5Q0Z1bmN0aW9uX05ld0V4Ci0gIFB5Q0Z1bmN0aW9uX1R5cGU9cHl0aG9uMzQuUHlDRnVuY3Rpb25fVHlwZSBEQVRBCi0gIFB5Q2FsbEl0ZXJfTmV3PXB5dGhvbjM0LlB5Q2FsbEl0ZXJfTmV3Ci0gIFB5Q2FsbEl0ZXJfVHlwZT1weXRob24zNC5QeUNhbGxJdGVyX1R5cGUgREFUQQotICBQeUNhbGxhYmxlX0NoZWNrPXB5dGhvbjM0LlB5Q2FsbGFibGVfQ2hlY2sKLSAgUHlDYXBzdWxlX0dldENvbnRleHQ9cHl0aG9uMzQuUHlDYXBzdWxlX0dldENvbnRleHQKLSAgUHlDYXBzdWxlX0dldERlc3RydWN0b3I9cHl0aG9uMzQuUHlDYXBzdWxlX0dldERlc3RydWN0b3IKLSAgUHlDYXBzdWxlX0dldE5hbWU9cHl0aG9uMzQuUHlDYXBzdWxlX0dldE5hbWUKLSAgUHlDYXBzdWxlX0dldFBvaW50ZXI9cHl0aG9uMzQuUHlDYXBzdWxlX0dldFBvaW50ZXIKLSAgUHlDYXBzdWxlX0ltcG9ydD1weXRob24zNC5QeUNhcHN1bGVfSW1wb3J0Ci0gIFB5Q2Fwc3VsZV9Jc1ZhbGlkPXB5dGhvbjM0LlB5Q2Fwc3VsZV9Jc1ZhbGlkCi0gIFB5Q2Fwc3VsZV9OZXc9cHl0aG9uMzQuUHlDYXBzdWxlX05ldwotICBQeUNhcHN1bGVfU2V0Q29udGV4dD1weXRob24zNC5QeUNhcHN1bGVfU2V0Q29udGV4dAotICBQeUNhcHN1bGVfU2V0RGVzdHJ1Y3Rvcj1weXRob24zNC5QeUNhcHN1bGVfU2V0RGVzdHJ1Y3RvcgotICBQeUNhcHN1bGVfU2V0TmFtZT1weXRob24zNC5QeUNhcHN1bGVfU2V0TmFtZQotICBQeUNhcHN1bGVfU2V0UG9pbnRlcj1weXRob24zNC5QeUNhcHN1bGVfU2V0UG9pbnRlcgotICBQeUNhcHN1bGVfVHlwZT1weXRob24zNC5QeUNhcHN1bGVfVHlwZSBEQVRBCi0gIFB5Q2xhc3NNZXRob2REZXNjcl9UeXBlPXB5dGhvbjM0LlB5Q2xhc3NNZXRob2REZXNjcl9UeXBlIERBVEEKLSAgUHlDb2RlY19CYWNrc2xhc2hSZXBsYWNlRXJyb3JzPXB5dGhvbjM0LlB5Q29kZWNfQmFja3NsYXNoUmVwbGFjZUVycm9ycwotICBQeUNvZGVjX0RlY29kZT1weXRob24zNC5QeUNvZGVjX0RlY29kZQotICBQeUNvZGVjX0RlY29kZXI9cHl0aG9uMzQuUHlDb2RlY19EZWNvZGVyCi0gIFB5Q29kZWNfRW5jb2RlPXB5dGhvbjM0LlB5Q29kZWNfRW5jb2RlCi0gIFB5Q29kZWNfRW5jb2Rlcj1weXRob24zNC5QeUNvZGVjX0VuY29kZXIKLSAgUHlDb2RlY19JZ25vcmVFcnJvcnM9cHl0aG9uMzQuUHlDb2RlY19JZ25vcmVFcnJvcnMKLSAgUHlDb2RlY19JbmNyZW1lbnRhbERlY29kZXI9cHl0aG9uMzQuUHlDb2RlY19JbmNyZW1lbnRhbERlY29kZXIKLSAgUHlDb2RlY19JbmNyZW1lbnRhbEVuY29kZXI9cHl0aG9uMzQuUHlDb2RlY19JbmNyZW1lbnRhbEVuY29kZXIKLSAgUHlDb2RlY19Lbm93bkVuY29kaW5nPXB5dGhvbjM0LlB5Q29kZWNfS25vd25FbmNvZGluZwotICBQeUNvZGVjX0xvb2t1cEVycm9yPXB5dGhvbjM0LlB5Q29kZWNfTG9va3VwRXJyb3IKLSAgUHlDb2RlY19SZWdpc3Rlcj1weXRob24zNC5QeUNvZGVjX1JlZ2lzdGVyCi0gIFB5Q29kZWNfUmVnaXN0ZXJFcnJvcj1weXRob24zNC5QeUNvZGVjX1JlZ2lzdGVyRXJyb3IKLSAgUHlDb2RlY19SZXBsYWNlRXJyb3JzPXB5dGhvbjM0LlB5Q29kZWNfUmVwbGFjZUVycm9ycwotICBQeUNvZGVjX1N0cmVhbVJlYWRlcj1weXRob24zNC5QeUNvZGVjX1N0cmVhbVJlYWRlcgotICBQeUNvZGVjX1N0cmVhbVdyaXRlcj1weXRob24zNC5QeUNvZGVjX1N0cmVhbVdyaXRlcgotICBQeUNvZGVjX1N0cmljdEVycm9ycz1weXRob24zNC5QeUNvZGVjX1N0cmljdEVycm9ycwotICBQeUNvZGVjX1hNTENoYXJSZWZSZXBsYWNlRXJyb3JzPXB5dGhvbjM0LlB5Q29kZWNfWE1MQ2hhclJlZlJlcGxhY2VFcnJvcnMKLSAgUHlDb21wbGV4X0Zyb21Eb3VibGVzPXB5dGhvbjM0LlB5Q29tcGxleF9Gcm9tRG91YmxlcwotICBQeUNvbXBsZXhfSW1hZ0FzRG91YmxlPXB5dGhvbjM0LlB5Q29tcGxleF9JbWFnQXNEb3VibGUKLSAgUHlDb21wbGV4X1JlYWxBc0RvdWJsZT1weXRob24zNC5QeUNvbXBsZXhfUmVhbEFzRG91YmxlCi0gIFB5Q29tcGxleF9UeXBlPXB5dGhvbjM0LlB5Q29tcGxleF9UeXBlIERBVEEKLSAgUHlEZXNjcl9OZXdDbGFzc01ldGhvZD1weXRob24zNC5QeURlc2NyX05ld0NsYXNzTWV0aG9kCi0gIFB5RGVzY3JfTmV3R2V0U2V0PXB5dGhvbjM0LlB5RGVzY3JfTmV3R2V0U2V0Ci0gIFB5RGVzY3JfTmV3TWVtYmVyPXB5dGhvbjM0LlB5RGVzY3JfTmV3TWVtYmVyCi0gIFB5RGVzY3JfTmV3TWV0aG9kPXB5dGhvbjM0LlB5RGVzY3JfTmV3TWV0aG9kCi0gIFB5RGljdEl0ZW1zX1R5cGU9cHl0aG9uMzQuUHlEaWN0SXRlbXNfVHlwZSBEQVRBCi0gIFB5RGljdEl0ZXJJdGVtX1R5cGU9cHl0aG9uMzQuUHlEaWN0SXRlckl0ZW1fVHlwZSBEQVRBCi0gIFB5RGljdEl0ZXJLZXlfVHlwZT1weXRob24zNC5QeURpY3RJdGVyS2V5X1R5cGUgREFUQQotICBQeURpY3RJdGVyVmFsdWVfVHlwZT1weXRob24zNC5QeURpY3RJdGVyVmFsdWVfVHlwZSBEQVRBCi0gIFB5RGljdEtleXNfVHlwZT1weXRob24zNC5QeURpY3RLZXlzX1R5cGUgREFUQQotICBQeURpY3RQcm94eV9OZXc9cHl0aG9uMzQuUHlEaWN0UHJveHlfTmV3Ci0gIFB5RGljdFByb3h5X1R5cGU9cHl0aG9uMzQuUHlEaWN0UHJveHlfVHlwZSBEQVRBCi0gIFB5RGljdFZhbHVlc19UeXBlPXB5dGhvbjM0LlB5RGljdFZhbHVlc19UeXBlIERBVEEKLSAgUHlEaWN0X0NsZWFyPXB5dGhvbjM0LlB5RGljdF9DbGVhcgotICBQeURpY3RfQ29udGFpbnM9cHl0aG9uMzQuUHlEaWN0X0NvbnRhaW5zCi0gIFB5RGljdF9Db3B5PXB5dGhvbjM0LlB5RGljdF9Db3B5Ci0gIFB5RGljdF9EZWxJdGVtPXB5dGhvbjM0LlB5RGljdF9EZWxJdGVtCi0gIFB5RGljdF9EZWxJdGVtU3RyaW5nPXB5dGhvbjM0LlB5RGljdF9EZWxJdGVtU3RyaW5nCi0gIFB5RGljdF9HZXRJdGVtPXB5dGhvbjM0LlB5RGljdF9HZXRJdGVtCi0gIFB5RGljdF9HZXRJdGVtU3RyaW5nPXB5dGhvbjM0LlB5RGljdF9HZXRJdGVtU3RyaW5nCi0gIFB5RGljdF9HZXRJdGVtV2l0aEVycm9yPXB5dGhvbjM0LlB5RGljdF9HZXRJdGVtV2l0aEVycm9yCi0gIFB5RGljdF9JdGVtcz1weXRob24zNC5QeURpY3RfSXRlbXMKLSAgUHlEaWN0X0tleXM9cHl0aG9uMzQuUHlEaWN0X0tleXMKLSAgUHlEaWN0X01lcmdlPXB5dGhvbjM0LlB5RGljdF9NZXJnZQotICBQeURpY3RfTWVyZ2VGcm9tU2VxMj1weXRob24zNC5QeURpY3RfTWVyZ2VGcm9tU2VxMgotICBQeURpY3RfTmV3PXB5dGhvbjM0LlB5RGljdF9OZXcKLSAgUHlEaWN0X05leHQ9cHl0aG9uMzQuUHlEaWN0X05leHQKLSAgUHlEaWN0X1NldEl0ZW09cHl0aG9uMzQuUHlEaWN0X1NldEl0ZW0KLSAgUHlEaWN0X1NldEl0ZW1TdHJpbmc9cHl0aG9uMzQuUHlEaWN0X1NldEl0ZW1TdHJpbmcKLSAgUHlEaWN0X1NpemU9cHl0aG9uMzQuUHlEaWN0X1NpemUKLSAgUHlEaWN0X1R5cGU9cHl0aG9uMzQuUHlEaWN0X1R5cGUgREFUQQotICBQeURpY3RfVXBkYXRlPXB5dGhvbjM0LlB5RGljdF9VcGRhdGUKLSAgUHlEaWN0X1ZhbHVlcz1weXRob24zNC5QeURpY3RfVmFsdWVzCi0gIFB5RWxsaXBzaXNfVHlwZT1weXRob24zNC5QeUVsbGlwc2lzX1R5cGUgREFUQQotICBQeUVudW1fVHlwZT1weXRob24zNC5QeUVudW1fVHlwZSBEQVRBCi0gIFB5RXJyX0JhZEFyZ3VtZW50PXB5dGhvbjM0LlB5RXJyX0JhZEFyZ3VtZW50Ci0gIFB5RXJyX0JhZEludGVybmFsQ2FsbD1weXRob24zNC5QeUVycl9CYWRJbnRlcm5hbENhbGwKLSAgUHlFcnJfQ2hlY2tTaWduYWxzPXB5dGhvbjM0LlB5RXJyX0NoZWNrU2lnbmFscwotICBQeUVycl9DbGVhcj1weXRob24zNC5QeUVycl9DbGVhcgotICBQeUVycl9EaXNwbGF5PXB5dGhvbjM0LlB5RXJyX0Rpc3BsYXkKLSAgUHlFcnJfRXhjZXB0aW9uTWF0Y2hlcz1weXRob24zNC5QeUVycl9FeGNlcHRpb25NYXRjaGVzCi0gIFB5RXJyX0ZldGNoPXB5dGhvbjM0LlB5RXJyX0ZldGNoCi0gIFB5RXJyX0Zvcm1hdD1weXRob24zNC5QeUVycl9Gb3JtYXQKLSAgUHlFcnJfR2l2ZW5FeGNlcHRpb25NYXRjaGVzPXB5dGhvbjM0LlB5RXJyX0dpdmVuRXhjZXB0aW9uTWF0Y2hlcwotICBQeUVycl9OZXdFeGNlcHRpb249cHl0aG9uMzQuUHlFcnJfTmV3RXhjZXB0aW9uCi0gIFB5RXJyX05ld0V4Y2VwdGlvbldpdGhEb2M9cHl0aG9uMzQuUHlFcnJfTmV3RXhjZXB0aW9uV2l0aERvYwotICBQeUVycl9Ob01lbW9yeT1weXRob24zNC5QeUVycl9Ob01lbW9yeQotICBQeUVycl9Ob3JtYWxpemVFeGNlcHRpb249cHl0aG9uMzQuUHlFcnJfTm9ybWFsaXplRXhjZXB0aW9uCi0gIFB5RXJyX09jY3VycmVkPXB5dGhvbjM0LlB5RXJyX09jY3VycmVkCi0gIFB5RXJyX1ByaW50PXB5dGhvbjM0LlB5RXJyX1ByaW50Ci0gIFB5RXJyX1ByaW50RXg9cHl0aG9uMzQuUHlFcnJfUHJpbnRFeAotICBQeUVycl9Qcm9ncmFtVGV4dD1weXRob24zNC5QeUVycl9Qcm9ncmFtVGV4dAotICBQeUVycl9SZXN0b3JlPXB5dGhvbjM0LlB5RXJyX1Jlc3RvcmUKLSAgUHlFcnJfU2V0RnJvbUVycm5vPXB5dGhvbjM0LlB5RXJyX1NldEZyb21FcnJubwotICBQeUVycl9TZXRGcm9tRXJybm9XaXRoRmlsZW5hbWU9cHl0aG9uMzQuUHlFcnJfU2V0RnJvbUVycm5vV2l0aEZpbGVuYW1lCi0gIFB5RXJyX1NldEZyb21FcnJub1dpdGhGaWxlbmFtZU9iamVjdD1weXRob24zNC5QeUVycl9TZXRGcm9tRXJybm9XaXRoRmlsZW5hbWVPYmplY3QKLSAgUHlFcnJfU2V0SW50ZXJydXB0PXB5dGhvbjM0LlB5RXJyX1NldEludGVycnVwdAotICBQeUVycl9TZXROb25lPXB5dGhvbjM0LlB5RXJyX1NldE5vbmUKLSAgUHlFcnJfU2V0T2JqZWN0PXB5dGhvbjM0LlB5RXJyX1NldE9iamVjdAotICBQeUVycl9TZXRTdHJpbmc9cHl0aG9uMzQuUHlFcnJfU2V0U3RyaW5nCi0gIFB5RXJyX1N5bnRheExvY2F0aW9uPXB5dGhvbjM0LlB5RXJyX1N5bnRheExvY2F0aW9uCi0gIFB5RXJyX1dhcm5FeD1weXRob24zNC5QeUVycl9XYXJuRXgKLSAgUHlFcnJfV2FybkV4cGxpY2l0PXB5dGhvbjM0LlB5RXJyX1dhcm5FeHBsaWNpdAotICBQeUVycl9XYXJuRm9ybWF0PXB5dGhvbjM0LlB5RXJyX1dhcm5Gb3JtYXQKLSAgUHlFcnJfV3JpdGVVbnJhaXNhYmxlPXB5dGhvbjM0LlB5RXJyX1dyaXRlVW5yYWlzYWJsZQotICBQeUV2YWxfQWNxdWlyZUxvY2s9cHl0aG9uMzQuUHlFdmFsX0FjcXVpcmVMb2NrCi0gIFB5RXZhbF9BY3F1aXJlVGhyZWFkPXB5dGhvbjM0LlB5RXZhbF9BY3F1aXJlVGhyZWFkCi0gIFB5RXZhbF9DYWxsRnVuY3Rpb249cHl0aG9uMzQuUHlFdmFsX0NhbGxGdW5jdGlvbgotICBQeUV2YWxfQ2FsbE1ldGhvZD1weXRob24zNC5QeUV2YWxfQ2FsbE1ldGhvZAotICBQeUV2YWxfQ2FsbE9iamVjdFdpdGhLZXl3b3Jkcz1weXRob24zNC5QeUV2YWxfQ2FsbE9iamVjdFdpdGhLZXl3b3JkcwotICBQeUV2YWxfRXZhbENvZGU9cHl0aG9uMzQuUHlFdmFsX0V2YWxDb2RlCi0gIFB5RXZhbF9FdmFsQ29kZUV4PXB5dGhvbjM0LlB5RXZhbF9FdmFsQ29kZUV4Ci0gIFB5RXZhbF9FdmFsRnJhbWU9cHl0aG9uMzQuUHlFdmFsX0V2YWxGcmFtZQotICBQeUV2YWxfRXZhbEZyYW1lRXg9cHl0aG9uMzQuUHlFdmFsX0V2YWxGcmFtZUV4Ci0gIFB5RXZhbF9HZXRCdWlsdGlucz1weXRob24zNC5QeUV2YWxfR2V0QnVpbHRpbnMKLSAgUHlFdmFsX0dldENhbGxTdGF0cz1weXRob24zNC5QeUV2YWxfR2V0Q2FsbFN0YXRzCi0gIFB5RXZhbF9HZXRGcmFtZT1weXRob24zNC5QeUV2YWxfR2V0RnJhbWUKLSAgUHlFdmFsX0dldEZ1bmNEZXNjPXB5dGhvbjM0LlB5RXZhbF9HZXRGdW5jRGVzYwotICBQeUV2YWxfR2V0RnVuY05hbWU9cHl0aG9uMzQuUHlFdmFsX0dldEZ1bmNOYW1lCi0gIFB5RXZhbF9HZXRHbG9iYWxzPXB5dGhvbjM0LlB5RXZhbF9HZXRHbG9iYWxzCi0gIFB5RXZhbF9HZXRMb2NhbHM9cHl0aG9uMzQuUHlFdmFsX0dldExvY2FscwotICBQeUV2YWxfSW5pdFRocmVhZHM9cHl0aG9uMzQuUHlFdmFsX0luaXRUaHJlYWRzCi0gIFB5RXZhbF9SZUluaXRUaHJlYWRzPXB5dGhvbjM0LlB5RXZhbF9SZUluaXRUaHJlYWRzCi0gIFB5RXZhbF9SZWxlYXNlTG9jaz1weXRob24zNC5QeUV2YWxfUmVsZWFzZUxvY2sKLSAgUHlFdmFsX1JlbGVhc2VUaHJlYWQ9cHl0aG9uMzQuUHlFdmFsX1JlbGVhc2VUaHJlYWQKLSAgUHlFdmFsX1Jlc3RvcmVUaHJlYWQ9cHl0aG9uMzQuUHlFdmFsX1Jlc3RvcmVUaHJlYWQKLSAgUHlFdmFsX1NhdmVUaHJlYWQ9cHl0aG9uMzQuUHlFdmFsX1NhdmVUaHJlYWQKLSAgUHlFdmFsX1RocmVhZHNJbml0aWFsaXplZD1weXRob24zNC5QeUV2YWxfVGhyZWFkc0luaXRpYWxpemVkCi0gIFB5RXhjX0FyaXRobWV0aWNFcnJvcj1weXRob24zNC5QeUV4Y19Bcml0aG1ldGljRXJyb3IgREFUQQotICBQeUV4Y19Bc3NlcnRpb25FcnJvcj1weXRob24zNC5QeUV4Y19Bc3NlcnRpb25FcnJvciBEQVRBCi0gIFB5RXhjX0F0dHJpYnV0ZUVycm9yPXB5dGhvbjM0LlB5RXhjX0F0dHJpYnV0ZUVycm9yIERBVEEKLSAgUHlFeGNfQmFzZUV4Y2VwdGlvbj1weXRob24zNC5QeUV4Y19CYXNlRXhjZXB0aW9uIERBVEEKLSAgUHlFeGNfQnVmZmVyRXJyb3I9cHl0aG9uMzQuUHlFeGNfQnVmZmVyRXJyb3IgREFUQQotICBQeUV4Y19CeXRlc1dhcm5pbmc9cHl0aG9uMzQuUHlFeGNfQnl0ZXNXYXJuaW5nIERBVEEKLSAgUHlFeGNfRGVwcmVjYXRpb25XYXJuaW5nPXB5dGhvbjM0LlB5RXhjX0RlcHJlY2F0aW9uV2FybmluZyBEQVRBCi0gIFB5RXhjX0VPRkVycm9yPXB5dGhvbjM0LlB5RXhjX0VPRkVycm9yIERBVEEKLSAgUHlFeGNfRW52aXJvbm1lbnRFcnJvcj1weXRob24zNC5QeUV4Y19FbnZpcm9ubWVudEVycm9yIERBVEEKLSAgUHlFeGNfRXhjZXB0aW9uPXB5dGhvbjM0LlB5RXhjX0V4Y2VwdGlvbiBEQVRBCi0gIFB5RXhjX0Zsb2F0aW5nUG9pbnRFcnJvcj1weXRob24zNC5QeUV4Y19GbG9hdGluZ1BvaW50RXJyb3IgREFUQQotICBQeUV4Y19GdXR1cmVXYXJuaW5nPXB5dGhvbjM0LlB5RXhjX0Z1dHVyZVdhcm5pbmcgREFUQQotICBQeUV4Y19HZW5lcmF0b3JFeGl0PXB5dGhvbjM0LlB5RXhjX0dlbmVyYXRvckV4aXQgREFUQQotICBQeUV4Y19JT0Vycm9yPXB5dGhvbjM0LlB5RXhjX0lPRXJyb3IgREFUQQotICBQeUV4Y19JbXBvcnRFcnJvcj1weXRob24zNC5QeUV4Y19JbXBvcnRFcnJvciBEQVRBCi0gIFB5RXhjX0ltcG9ydFdhcm5pbmc9cHl0aG9uMzQuUHlFeGNfSW1wb3J0V2FybmluZyBEQVRBCi0gIFB5RXhjX0luZGVudGF0aW9uRXJyb3I9cHl0aG9uMzQuUHlFeGNfSW5kZW50YXRpb25FcnJvciBEQVRBCi0gIFB5RXhjX0luZGV4RXJyb3I9cHl0aG9uMzQuUHlFeGNfSW5kZXhFcnJvciBEQVRBCi0gIFB5RXhjX0tleUVycm9yPXB5dGhvbjM0LlB5RXhjX0tleUVycm9yIERBVEEKLSAgUHlFeGNfS2V5Ym9hcmRJbnRlcnJ1cHQ9cHl0aG9uMzQuUHlFeGNfS2V5Ym9hcmRJbnRlcnJ1cHQgREFUQQotICBQeUV4Y19Mb29rdXBFcnJvcj1weXRob24zNC5QeUV4Y19Mb29rdXBFcnJvciBEQVRBCi0gIFB5RXhjX01lbW9yeUVycm9yPXB5dGhvbjM0LlB5RXhjX01lbW9yeUVycm9yIERBVEEKLSAgUHlFeGNfTWVtb3J5RXJyb3JJbnN0PXB5dGhvbjM0LlB5RXhjX01lbW9yeUVycm9ySW5zdCBEQVRBCi0gIFB5RXhjX05hbWVFcnJvcj1weXRob24zNC5QeUV4Y19OYW1lRXJyb3IgREFUQQotICBQeUV4Y19Ob3RJbXBsZW1lbnRlZEVycm9yPXB5dGhvbjM0LlB5RXhjX05vdEltcGxlbWVudGVkRXJyb3IgREFUQQotICBQeUV4Y19PU0Vycm9yPXB5dGhvbjM0LlB5RXhjX09TRXJyb3IgREFUQQotICBQeUV4Y19PdmVyZmxvd0Vycm9yPXB5dGhvbjM0LlB5RXhjX092ZXJmbG93RXJyb3IgREFUQQotICBQeUV4Y19QZW5kaW5nRGVwcmVjYXRpb25XYXJuaW5nPXB5dGhvbjM0LlB5RXhjX1BlbmRpbmdEZXByZWNhdGlvbldhcm5pbmcgREFUQQotICBQeUV4Y19SZWN1cnNpb25FcnJvckluc3Q9cHl0aG9uMzQuUHlFeGNfUmVjdXJzaW9uRXJyb3JJbnN0IERBVEEKLSAgUHlFeGNfUmVmZXJlbmNlRXJyb3I9cHl0aG9uMzQuUHlFeGNfUmVmZXJlbmNlRXJyb3IgREFUQQotICBQeUV4Y19SdW50aW1lRXJyb3I9cHl0aG9uMzQuUHlFeGNfUnVudGltZUVycm9yIERBVEEKLSAgUHlFeGNfUnVudGltZVdhcm5pbmc9cHl0aG9uMzQuUHlFeGNfUnVudGltZVdhcm5pbmcgREFUQQotICBQeUV4Y19TdG9wSXRlcmF0aW9uPXB5dGhvbjM0LlB5RXhjX1N0b3BJdGVyYXRpb24gREFUQQotICBQeUV4Y19TeW50YXhFcnJvcj1weXRob24zNC5QeUV4Y19TeW50YXhFcnJvciBEQVRBCi0gIFB5RXhjX1N5bnRheFdhcm5pbmc9cHl0aG9uMzQuUHlFeGNfU3ludGF4V2FybmluZyBEQVRBCi0gIFB5RXhjX1N5c3RlbUVycm9yPXB5dGhvbjM0LlB5RXhjX1N5c3RlbUVycm9yIERBVEEKLSAgUHlFeGNfU3lzdGVtRXhpdD1weXRob24zNC5QeUV4Y19TeXN0ZW1FeGl0IERBVEEKLSAgUHlFeGNfVGFiRXJyb3I9cHl0aG9uMzQuUHlFeGNfVGFiRXJyb3IgREFUQQotICBQeUV4Y19UeXBlRXJyb3I9cHl0aG9uMzQuUHlFeGNfVHlwZUVycm9yIERBVEEKLSAgUHlFeGNfVW5ib3VuZExvY2FsRXJyb3I9cHl0aG9uMzQuUHlFeGNfVW5ib3VuZExvY2FsRXJyb3IgREFUQQotICBQeUV4Y19Vbmljb2RlRGVjb2RlRXJyb3I9cHl0aG9uMzQuUHlFeGNfVW5pY29kZURlY29kZUVycm9yIERBVEEKLSAgUHlFeGNfVW5pY29kZUVuY29kZUVycm9yPXB5dGhvbjM0LlB5RXhjX1VuaWNvZGVFbmNvZGVFcnJvciBEQVRBCi0gIFB5RXhjX1VuaWNvZGVFcnJvcj1weXRob24zNC5QeUV4Y19Vbmljb2RlRXJyb3IgREFUQQotICBQeUV4Y19Vbmljb2RlVHJhbnNsYXRlRXJyb3I9cHl0aG9uMzQuUHlFeGNfVW5pY29kZVRyYW5zbGF0ZUVycm9yIERBVEEKLSAgUHlFeGNfVW5pY29kZVdhcm5pbmc9cHl0aG9uMzQuUHlFeGNfVW5pY29kZVdhcm5pbmcgREFUQQotICBQeUV4Y19Vc2VyV2FybmluZz1weXRob24zNC5QeUV4Y19Vc2VyV2FybmluZyBEQVRBCi0gIFB5RXhjX1ZhbHVlRXJyb3I9cHl0aG9uMzQuUHlFeGNfVmFsdWVFcnJvciBEQVRBCi0gIFB5RXhjX1dhcm5pbmc9cHl0aG9uMzQuUHlFeGNfV2FybmluZyBEQVRBCi0gIFB5RXhjX1plcm9EaXZpc2lvbkVycm9yPXB5dGhvbjM0LlB5RXhjX1plcm9EaXZpc2lvbkVycm9yIERBVEEKLSAgUHlFeGNlcHRpb25fR2V0Q2F1c2U9cHl0aG9uMzQuUHlFeGNlcHRpb25fR2V0Q2F1c2UKLSAgUHlFeGNlcHRpb25fR2V0Q29udGV4dD1weXRob24zNC5QeUV4Y2VwdGlvbl9HZXRDb250ZXh0Ci0gIFB5RXhjZXB0aW9uX0dldFRyYWNlYmFjaz1weXRob24zNC5QeUV4Y2VwdGlvbl9HZXRUcmFjZWJhY2sKLSAgUHlFeGNlcHRpb25fU2V0Q2F1c2U9cHl0aG9uMzQuUHlFeGNlcHRpb25fU2V0Q2F1c2UKLSAgUHlFeGNlcHRpb25fU2V0Q29udGV4dD1weXRob24zNC5QeUV4Y2VwdGlvbl9TZXRDb250ZXh0Ci0gIFB5RXhjZXB0aW9uX1NldFRyYWNlYmFjaz1weXRob24zNC5QeUV4Y2VwdGlvbl9TZXRUcmFjZWJhY2sKLSAgUHlGaWxlX0Zyb21GZD1weXRob24zNC5QeUZpbGVfRnJvbUZkCi0gIFB5RmlsZV9HZXRMaW5lPXB5dGhvbjM0LlB5RmlsZV9HZXRMaW5lCi0gIFB5RmlsZV9Xcml0ZU9iamVjdD1weXRob24zNC5QeUZpbGVfV3JpdGVPYmplY3QKLSAgUHlGaWxlX1dyaXRlU3RyaW5nPXB5dGhvbjM0LlB5RmlsZV9Xcml0ZVN0cmluZwotICBQeUZpbHRlcl9UeXBlPXB5dGhvbjM0LlB5RmlsdGVyX1R5cGUgREFUQQotICBQeUZsb2F0X0FzRG91YmxlPXB5dGhvbjM0LlB5RmxvYXRfQXNEb3VibGUKLSAgUHlGbG9hdF9Gcm9tRG91YmxlPXB5dGhvbjM0LlB5RmxvYXRfRnJvbURvdWJsZQotICBQeUZsb2F0X0Zyb21TdHJpbmc9cHl0aG9uMzQuUHlGbG9hdF9Gcm9tU3RyaW5nCi0gIFB5RmxvYXRfR2V0SW5mbz1weXRob24zNC5QeUZsb2F0X0dldEluZm8KLSAgUHlGbG9hdF9HZXRNYXg9cHl0aG9uMzQuUHlGbG9hdF9HZXRNYXgKLSAgUHlGbG9hdF9HZXRNaW49cHl0aG9uMzQuUHlGbG9hdF9HZXRNaW4KLSAgUHlGbG9hdF9UeXBlPXB5dGhvbjM0LlB5RmxvYXRfVHlwZSBEQVRBCi0gIFB5RnJvemVuU2V0X05ldz1weXRob24zNC5QeUZyb3plblNldF9OZXcKLSAgUHlGcm96ZW5TZXRfVHlwZT1weXRob24zNC5QeUZyb3plblNldF9UeXBlIERBVEEKLSAgUHlHQ19Db2xsZWN0PXB5dGhvbjM0LlB5R0NfQ29sbGVjdAotICBQeUdJTFN0YXRlX0Vuc3VyZT1weXRob24zNC5QeUdJTFN0YXRlX0Vuc3VyZQotICBQeUdJTFN0YXRlX0dldFRoaXNUaHJlYWRTdGF0ZT1weXRob24zNC5QeUdJTFN0YXRlX0dldFRoaXNUaHJlYWRTdGF0ZQotICBQeUdJTFN0YXRlX1JlbGVhc2U9cHl0aG9uMzQuUHlHSUxTdGF0ZV9SZWxlYXNlCi0gIFB5R2V0U2V0RGVzY3JfVHlwZT1weXRob24zNC5QeUdldFNldERlc2NyX1R5cGUgREFUQQotICBQeUltcG9ydF9BZGRNb2R1bGU9cHl0aG9uMzQuUHlJbXBvcnRfQWRkTW9kdWxlCi0gIFB5SW1wb3J0X0FwcGVuZEluaXR0YWI9cHl0aG9uMzQuUHlJbXBvcnRfQXBwZW5kSW5pdHRhYgotICBQeUltcG9ydF9DbGVhbnVwPXB5dGhvbjM0LlB5SW1wb3J0X0NsZWFudXAKLSAgUHlJbXBvcnRfRXhlY0NvZGVNb2R1bGU9cHl0aG9uMzQuUHlJbXBvcnRfRXhlY0NvZGVNb2R1bGUKLSAgUHlJbXBvcnRfRXhlY0NvZGVNb2R1bGVFeD1weXRob24zNC5QeUltcG9ydF9FeGVjQ29kZU1vZHVsZUV4Ci0gIFB5SW1wb3J0X0V4ZWNDb2RlTW9kdWxlV2l0aFBhdGhuYW1lcz1weXRob24zNC5QeUltcG9ydF9FeGVjQ29kZU1vZHVsZVdpdGhQYXRobmFtZXMKLSAgUHlJbXBvcnRfR2V0SW1wb3J0ZXI9cHl0aG9uMzQuUHlJbXBvcnRfR2V0SW1wb3J0ZXIKLSAgUHlJbXBvcnRfR2V0TWFnaWNOdW1iZXI9cHl0aG9uMzQuUHlJbXBvcnRfR2V0TWFnaWNOdW1iZXIKLSAgUHlJbXBvcnRfR2V0TWFnaWNUYWc9cHl0aG9uMzQuUHlJbXBvcnRfR2V0TWFnaWNUYWcKLSAgUHlJbXBvcnRfR2V0TW9kdWxlRGljdD1weXRob24zNC5QeUltcG9ydF9HZXRNb2R1bGVEaWN0Ci0gIFB5SW1wb3J0X0ltcG9ydD1weXRob24zNC5QeUltcG9ydF9JbXBvcnQKLSAgUHlJbXBvcnRfSW1wb3J0RnJvemVuTW9kdWxlPXB5dGhvbjM0LlB5SW1wb3J0X0ltcG9ydEZyb3plbk1vZHVsZQotICBQeUltcG9ydF9JbXBvcnRNb2R1bGU9cHl0aG9uMzQuUHlJbXBvcnRfSW1wb3J0TW9kdWxlCi0gIFB5SW1wb3J0X0ltcG9ydE1vZHVsZUxldmVsPXB5dGhvbjM0LlB5SW1wb3J0X0ltcG9ydE1vZHVsZUxldmVsCi0gIFB5SW1wb3J0X0ltcG9ydE1vZHVsZU5vQmxvY2s9cHl0aG9uMzQuUHlJbXBvcnRfSW1wb3J0TW9kdWxlTm9CbG9jawotICBQeUltcG9ydF9SZWxvYWRNb2R1bGU9cHl0aG9uMzQuUHlJbXBvcnRfUmVsb2FkTW9kdWxlCi0gIFB5SW50ZXJwcmV0ZXJTdGF0ZV9DbGVhcj1weXRob24zNC5QeUludGVycHJldGVyU3RhdGVfQ2xlYXIKLSAgUHlJbnRlcnByZXRlclN0YXRlX0RlbGV0ZT1weXRob24zNC5QeUludGVycHJldGVyU3RhdGVfRGVsZXRlCi0gIFB5SW50ZXJwcmV0ZXJTdGF0ZV9OZXc9cHl0aG9uMzQuUHlJbnRlcnByZXRlclN0YXRlX05ldwotICBQeUl0ZXJfTmV4dD1weXRob24zNC5QeUl0ZXJfTmV4dAotICBQeUxpc3RJdGVyX1R5cGU9cHl0aG9uMzQuUHlMaXN0SXRlcl9UeXBlIERBVEEKLSAgUHlMaXN0UmV2SXRlcl9UeXBlPXB5dGhvbjM0LlB5TGlzdFJldkl0ZXJfVHlwZSBEQVRBCi0gIFB5TGlzdF9BcHBlbmQ9cHl0aG9uMzQuUHlMaXN0X0FwcGVuZAotICBQeUxpc3RfQXNUdXBsZT1weXRob24zNC5QeUxpc3RfQXNUdXBsZQotICBQeUxpc3RfR2V0SXRlbT1weXRob24zNC5QeUxpc3RfR2V0SXRlbQotICBQeUxpc3RfR2V0U2xpY2U9cHl0aG9uMzQuUHlMaXN0X0dldFNsaWNlCi0gIFB5TGlzdF9JbnNlcnQ9cHl0aG9uMzQuUHlMaXN0X0luc2VydAotICBQeUxpc3RfTmV3PXB5dGhvbjM0LlB5TGlzdF9OZXcKLSAgUHlMaXN0X1JldmVyc2U9cHl0aG9uMzQuUHlMaXN0X1JldmVyc2UKLSAgUHlMaXN0X1NldEl0ZW09cHl0aG9uMzQuUHlMaXN0X1NldEl0ZW0KLSAgUHlMaXN0X1NldFNsaWNlPXB5dGhvbjM0LlB5TGlzdF9TZXRTbGljZQotICBQeUxpc3RfU2l6ZT1weXRob24zNC5QeUxpc3RfU2l6ZQotICBQeUxpc3RfU29ydD1weXRob24zNC5QeUxpc3RfU29ydAotICBQeUxpc3RfVHlwZT1weXRob24zNC5QeUxpc3RfVHlwZSBEQVRBCi0gIFB5TG9uZ1JhbmdlSXRlcl9UeXBlPXB5dGhvbjM0LlB5TG9uZ1JhbmdlSXRlcl9UeXBlIERBVEEKLSAgUHlMb25nX0FzRG91YmxlPXB5dGhvbjM0LlB5TG9uZ19Bc0RvdWJsZQotICBQeUxvbmdfQXNMb25nPXB5dGhvbjM0LlB5TG9uZ19Bc0xvbmcKLSAgUHlMb25nX0FzTG9uZ0FuZE92ZXJmbG93PXB5dGhvbjM0LlB5TG9uZ19Bc0xvbmdBbmRPdmVyZmxvdwotICBQeUxvbmdfQXNMb25nTG9uZz1weXRob24zNC5QeUxvbmdfQXNMb25nTG9uZwotICBQeUxvbmdfQXNMb25nTG9uZ0FuZE92ZXJmbG93PXB5dGhvbjM0LlB5TG9uZ19Bc0xvbmdMb25nQW5kT3ZlcmZsb3cKLSAgUHlMb25nX0FzU2l6ZV90PXB5dGhvbjM0LlB5TG9uZ19Bc1NpemVfdAotICBQeUxvbmdfQXNTc2l6ZV90PXB5dGhvbjM0LlB5TG9uZ19Bc1NzaXplX3QKLSAgUHlMb25nX0FzVW5zaWduZWRMb25nPXB5dGhvbjM0LlB5TG9uZ19Bc1Vuc2lnbmVkTG9uZwotICBQeUxvbmdfQXNVbnNpZ25lZExvbmdMb25nPXB5dGhvbjM0LlB5TG9uZ19Bc1Vuc2lnbmVkTG9uZ0xvbmcKLSAgUHlMb25nX0FzVW5zaWduZWRMb25nTG9uZ01hc2s9cHl0aG9uMzQuUHlMb25nX0FzVW5zaWduZWRMb25nTG9uZ01hc2sKLSAgUHlMb25nX0FzVW5zaWduZWRMb25nTWFzaz1weXRob24zNC5QeUxvbmdfQXNVbnNpZ25lZExvbmdNYXNrCi0gIFB5TG9uZ19Bc1ZvaWRQdHI9cHl0aG9uMzQuUHlMb25nX0FzVm9pZFB0cgotICBQeUxvbmdfRnJvbURvdWJsZT1weXRob24zNC5QeUxvbmdfRnJvbURvdWJsZQotICBQeUxvbmdfRnJvbUxvbmc9cHl0aG9uMzQuUHlMb25nX0Zyb21Mb25nCi0gIFB5TG9uZ19Gcm9tTG9uZ0xvbmc9cHl0aG9uMzQuUHlMb25nX0Zyb21Mb25nTG9uZwotICBQeUxvbmdfRnJvbVNpemVfdD1weXRob24zNC5QeUxvbmdfRnJvbVNpemVfdAotICBQeUxvbmdfRnJvbVNzaXplX3Q9cHl0aG9uMzQuUHlMb25nX0Zyb21Tc2l6ZV90Ci0gIFB5TG9uZ19Gcm9tU3RyaW5nPXB5dGhvbjM0LlB5TG9uZ19Gcm9tU3RyaW5nCi0gIFB5TG9uZ19Gcm9tVW5zaWduZWRMb25nPXB5dGhvbjM0LlB5TG9uZ19Gcm9tVW5zaWduZWRMb25nCi0gIFB5TG9uZ19Gcm9tVW5zaWduZWRMb25nTG9uZz1weXRob24zNC5QeUxvbmdfRnJvbVVuc2lnbmVkTG9uZ0xvbmcKLSAgUHlMb25nX0Zyb21Wb2lkUHRyPXB5dGhvbjM0LlB5TG9uZ19Gcm9tVm9pZFB0cgotICBQeUxvbmdfR2V0SW5mbz1weXRob24zNC5QeUxvbmdfR2V0SW5mbwotICBQeUxvbmdfVHlwZT1weXRob24zNC5QeUxvbmdfVHlwZSBEQVRBCi0gIFB5TWFwX1R5cGU9cHl0aG9uMzQuUHlNYXBfVHlwZSBEQVRBCi0gIFB5TWFwcGluZ19DaGVjaz1weXRob24zNC5QeU1hcHBpbmdfQ2hlY2sKLSAgUHlNYXBwaW5nX0dldEl0ZW1TdHJpbmc9cHl0aG9uMzQuUHlNYXBwaW5nX0dldEl0ZW1TdHJpbmcKLSAgUHlNYXBwaW5nX0hhc0tleT1weXRob24zNC5QeU1hcHBpbmdfSGFzS2V5Ci0gIFB5TWFwcGluZ19IYXNLZXlTdHJpbmc9cHl0aG9uMzQuUHlNYXBwaW5nX0hhc0tleVN0cmluZwotICBQeU1hcHBpbmdfSXRlbXM9cHl0aG9uMzQuUHlNYXBwaW5nX0l0ZW1zCi0gIFB5TWFwcGluZ19LZXlzPXB5dGhvbjM0LlB5TWFwcGluZ19LZXlzCi0gIFB5TWFwcGluZ19MZW5ndGg9cHl0aG9uMzQuUHlNYXBwaW5nX0xlbmd0aAotICBQeU1hcHBpbmdfU2V0SXRlbVN0cmluZz1weXRob24zNC5QeU1hcHBpbmdfU2V0SXRlbVN0cmluZwotICBQeU1hcHBpbmdfU2l6ZT1weXRob24zNC5QeU1hcHBpbmdfU2l6ZQotICBQeU1hcHBpbmdfVmFsdWVzPXB5dGhvbjM0LlB5TWFwcGluZ19WYWx1ZXMKLSAgUHlNZW1fRnJlZT1weXRob24zNC5QeU1lbV9GcmVlCi0gIFB5TWVtX01hbGxvYz1weXRob24zNC5QeU1lbV9NYWxsb2MKLSAgUHlNZW1fUmVhbGxvYz1weXRob24zNC5QeU1lbV9SZWFsbG9jCi0gIFB5TWVtYmVyRGVzY3JfVHlwZT1weXRob24zNC5QeU1lbWJlckRlc2NyX1R5cGUgREFUQQotICBQeU1lbW9yeVZpZXdfRnJvbU9iamVjdD1weXRob24zNC5QeU1lbW9yeVZpZXdfRnJvbU9iamVjdAotICBQeU1lbW9yeVZpZXdfR2V0Q29udGlndW91cz1weXRob24zNC5QeU1lbW9yeVZpZXdfR2V0Q29udGlndW91cwotICBQeU1lbW9yeVZpZXdfVHlwZT1weXRob24zNC5QeU1lbW9yeVZpZXdfVHlwZSBEQVRBCi0gIFB5TWV0aG9kRGVzY3JfVHlwZT1weXRob24zNC5QeU1ldGhvZERlc2NyX1R5cGUgREFUQQotICBQeU1vZHVsZV9BZGRJbnRDb25zdGFudD1weXRob24zNC5QeU1vZHVsZV9BZGRJbnRDb25zdGFudAotICBQeU1vZHVsZV9BZGRPYmplY3Q9cHl0aG9uMzQuUHlNb2R1bGVfQWRkT2JqZWN0Ci0gIFB5TW9kdWxlX0FkZFN0cmluZ0NvbnN0YW50PXB5dGhvbjM0LlB5TW9kdWxlX0FkZFN0cmluZ0NvbnN0YW50Ci0gIFB5TW9kdWxlX0NyZWF0ZTI9cHl0aG9uMzQuUHlNb2R1bGVfQ3JlYXRlMgotICBQeU1vZHVsZV9HZXREZWY9cHl0aG9uMzQuUHlNb2R1bGVfR2V0RGVmCi0gIFB5TW9kdWxlX0dldERpY3Q9cHl0aG9uMzQuUHlNb2R1bGVfR2V0RGljdAotICBQeU1vZHVsZV9HZXRGaWxlbmFtZT1weXRob24zNC5QeU1vZHVsZV9HZXRGaWxlbmFtZQotICBQeU1vZHVsZV9HZXRGaWxlbmFtZU9iamVjdD1weXRob24zNC5QeU1vZHVsZV9HZXRGaWxlbmFtZU9iamVjdAotICBQeU1vZHVsZV9HZXROYW1lPXB5dGhvbjM0LlB5TW9kdWxlX0dldE5hbWUKLSAgUHlNb2R1bGVfR2V0U3RhdGU9cHl0aG9uMzQuUHlNb2R1bGVfR2V0U3RhdGUKLSAgUHlNb2R1bGVfTmV3PXB5dGhvbjM0LlB5TW9kdWxlX05ldwotICBQeU1vZHVsZV9UeXBlPXB5dGhvbjM0LlB5TW9kdWxlX1R5cGUgREFUQQotICBQeU51bGxJbXBvcnRlcl9UeXBlPXB5dGhvbjM0LlB5TnVsbEltcG9ydGVyX1R5cGUgREFUQQotICBQeU51bWJlcl9BYnNvbHV0ZT1weXRob24zNC5QeU51bWJlcl9BYnNvbHV0ZQotICBQeU51bWJlcl9BZGQ9cHl0aG9uMzQuUHlOdW1iZXJfQWRkCi0gIFB5TnVtYmVyX0FuZD1weXRob24zNC5QeU51bWJlcl9BbmQKLSAgUHlOdW1iZXJfQXNTc2l6ZV90PXB5dGhvbjM0LlB5TnVtYmVyX0FzU3NpemVfdAotICBQeU51bWJlcl9DaGVjaz1weXRob24zNC5QeU51bWJlcl9DaGVjawotICBQeU51bWJlcl9EaXZtb2Q9cHl0aG9uMzQuUHlOdW1iZXJfRGl2bW9kCi0gIFB5TnVtYmVyX0Zsb2F0PXB5dGhvbjM0LlB5TnVtYmVyX0Zsb2F0Ci0gIFB5TnVtYmVyX0Zsb29yRGl2aWRlPXB5dGhvbjM0LlB5TnVtYmVyX0Zsb29yRGl2aWRlCi0gIFB5TnVtYmVyX0luUGxhY2VBZGQ9cHl0aG9uMzQuUHlOdW1iZXJfSW5QbGFjZUFkZAotICBQeU51bWJlcl9JblBsYWNlQW5kPXB5dGhvbjM0LlB5TnVtYmVyX0luUGxhY2VBbmQKLSAgUHlOdW1iZXJfSW5QbGFjZUZsb29yRGl2aWRlPXB5dGhvbjM0LlB5TnVtYmVyX0luUGxhY2VGbG9vckRpdmlkZQotICBQeU51bWJlcl9JblBsYWNlTHNoaWZ0PXB5dGhvbjM0LlB5TnVtYmVyX0luUGxhY2VMc2hpZnQKLSAgUHlOdW1iZXJfSW5QbGFjZU11bHRpcGx5PXB5dGhvbjM0LlB5TnVtYmVyX0luUGxhY2VNdWx0aXBseQotICBQeU51bWJlcl9JblBsYWNlT3I9cHl0aG9uMzQuUHlOdW1iZXJfSW5QbGFjZU9yCi0gIFB5TnVtYmVyX0luUGxhY2VQb3dlcj1weXRob24zNC5QeU51bWJlcl9JblBsYWNlUG93ZXIKLSAgUHlOdW1iZXJfSW5QbGFjZVJlbWFpbmRlcj1weXRob24zNC5QeU51bWJlcl9JblBsYWNlUmVtYWluZGVyCi0gIFB5TnVtYmVyX0luUGxhY2VSc2hpZnQ9cHl0aG9uMzQuUHlOdW1iZXJfSW5QbGFjZVJzaGlmdAotICBQeU51bWJlcl9JblBsYWNlU3VidHJhY3Q9cHl0aG9uMzQuUHlOdW1iZXJfSW5QbGFjZVN1YnRyYWN0Ci0gIFB5TnVtYmVyX0luUGxhY2VUcnVlRGl2aWRlPXB5dGhvbjM0LlB5TnVtYmVyX0luUGxhY2VUcnVlRGl2aWRlCi0gIFB5TnVtYmVyX0luUGxhY2VYb3I9cHl0aG9uMzQuUHlOdW1iZXJfSW5QbGFjZVhvcgotICBQeU51bWJlcl9JbmRleD1weXRob24zNC5QeU51bWJlcl9JbmRleAotICBQeU51bWJlcl9JbnZlcnQ9cHl0aG9uMzQuUHlOdW1iZXJfSW52ZXJ0Ci0gIFB5TnVtYmVyX0xvbmc9cHl0aG9uMzQuUHlOdW1iZXJfTG9uZwotICBQeU51bWJlcl9Mc2hpZnQ9cHl0aG9uMzQuUHlOdW1iZXJfTHNoaWZ0Ci0gIFB5TnVtYmVyX011bHRpcGx5PXB5dGhvbjM0LlB5TnVtYmVyX011bHRpcGx5Ci0gIFB5TnVtYmVyX05lZ2F0aXZlPXB5dGhvbjM0LlB5TnVtYmVyX05lZ2F0aXZlCi0gIFB5TnVtYmVyX09yPXB5dGhvbjM0LlB5TnVtYmVyX09yCi0gIFB5TnVtYmVyX1Bvc2l0aXZlPXB5dGhvbjM0LlB5TnVtYmVyX1Bvc2l0aXZlCi0gIFB5TnVtYmVyX1Bvd2VyPXB5dGhvbjM0LlB5TnVtYmVyX1Bvd2VyCi0gIFB5TnVtYmVyX1JlbWFpbmRlcj1weXRob24zNC5QeU51bWJlcl9SZW1haW5kZXIKLSAgUHlOdW1iZXJfUnNoaWZ0PXB5dGhvbjM0LlB5TnVtYmVyX1JzaGlmdAotICBQeU51bWJlcl9TdWJ0cmFjdD1weXRob24zNC5QeU51bWJlcl9TdWJ0cmFjdAotICBQeU51bWJlcl9Ub0Jhc2U9cHl0aG9uMzQuUHlOdW1iZXJfVG9CYXNlCi0gIFB5TnVtYmVyX1RydWVEaXZpZGU9cHl0aG9uMzQuUHlOdW1iZXJfVHJ1ZURpdmlkZQotICBQeU51bWJlcl9Yb3I9cHl0aG9uMzQuUHlOdW1iZXJfWG9yCi0gIFB5T1NfQWZ0ZXJGb3JrPXB5dGhvbjM0LlB5T1NfQWZ0ZXJGb3JrCi0gIFB5T1NfSW5pdEludGVycnVwdHM9cHl0aG9uMzQuUHlPU19Jbml0SW50ZXJydXB0cwotICBQeU9TX0lucHV0SG9vaz1weXRob24zNC5QeU9TX0lucHV0SG9vayBEQVRBCi0gIFB5T1NfSW50ZXJydXB0T2NjdXJyZWQ9cHl0aG9uMzQuUHlPU19JbnRlcnJ1cHRPY2N1cnJlZAotICBQeU9TX1JlYWRsaW5lRnVuY3Rpb25Qb2ludGVyPXB5dGhvbjM0LlB5T1NfUmVhZGxpbmVGdW5jdGlvblBvaW50ZXIgREFUQQotICBQeU9TX2RvdWJsZV90b19zdHJpbmc9cHl0aG9uMzQuUHlPU19kb3VibGVfdG9fc3RyaW5nCi0gIFB5T1NfZ2V0c2lnPXB5dGhvbjM0LlB5T1NfZ2V0c2lnCi0gIFB5T1NfbXlzdHJpY21wPXB5dGhvbjM0LlB5T1NfbXlzdHJpY21wCi0gIFB5T1NfbXlzdHJuaWNtcD1weXRob24zNC5QeU9TX215c3RybmljbXAKLSAgUHlPU19zZXRzaWc9cHl0aG9uMzQuUHlPU19zZXRzaWcKLSAgUHlPU19zbnByaW50Zj1weXRob24zNC5QeU9TX3NucHJpbnRmCi0gIFB5T1Nfc3RyaW5nX3RvX2RvdWJsZT1weXRob24zNC5QeU9TX3N0cmluZ190b19kb3VibGUKLSAgUHlPU19zdHJ0b2w9cHl0aG9uMzQuUHlPU19zdHJ0b2wKLSAgUHlPU19zdHJ0b3VsPXB5dGhvbjM0LlB5T1Nfc3RydG91bAotICBQeU9TX3ZzbnByaW50Zj1weXRob24zNC5QeU9TX3ZzbnByaW50ZgotICBQeU9iamVjdF9BU0NJST1weXRob24zNC5QeU9iamVjdF9BU0NJSQotICBQeU9iamVjdF9Bc0NoYXJCdWZmZXI9cHl0aG9uMzQuUHlPYmplY3RfQXNDaGFyQnVmZmVyCi0gIFB5T2JqZWN0X0FzRmlsZURlc2NyaXB0b3I9cHl0aG9uMzQuUHlPYmplY3RfQXNGaWxlRGVzY3JpcHRvcgotICBQeU9iamVjdF9Bc1JlYWRCdWZmZXI9cHl0aG9uMzQuUHlPYmplY3RfQXNSZWFkQnVmZmVyCi0gIFB5T2JqZWN0X0FzV3JpdGVCdWZmZXI9cHl0aG9uMzQuUHlPYmplY3RfQXNXcml0ZUJ1ZmZlcgotICBQeU9iamVjdF9CeXRlcz1weXRob24zNC5QeU9iamVjdF9CeXRlcwotICBQeU9iamVjdF9DYWxsPXB5dGhvbjM0LlB5T2JqZWN0X0NhbGwKLSAgUHlPYmplY3RfQ2FsbEZ1bmN0aW9uPXB5dGhvbjM0LlB5T2JqZWN0X0NhbGxGdW5jdGlvbgotICBQeU9iamVjdF9DYWxsRnVuY3Rpb25PYmpBcmdzPXB5dGhvbjM0LlB5T2JqZWN0X0NhbGxGdW5jdGlvbk9iakFyZ3MKLSAgUHlPYmplY3RfQ2FsbE1ldGhvZD1weXRob24zNC5QeU9iamVjdF9DYWxsTWV0aG9kCi0gIFB5T2JqZWN0X0NhbGxNZXRob2RPYmpBcmdzPXB5dGhvbjM0LlB5T2JqZWN0X0NhbGxNZXRob2RPYmpBcmdzCi0gIFB5T2JqZWN0X0NhbGxPYmplY3Q9cHl0aG9uMzQuUHlPYmplY3RfQ2FsbE9iamVjdAotICBQeU9iamVjdF9DaGVja1JlYWRCdWZmZXI9cHl0aG9uMzQuUHlPYmplY3RfQ2hlY2tSZWFkQnVmZmVyCi0gIFB5T2JqZWN0X0NsZWFyV2Vha1JlZnM9cHl0aG9uMzQuUHlPYmplY3RfQ2xlYXJXZWFrUmVmcwotICBQeU9iamVjdF9EZWxJdGVtPXB5dGhvbjM0LlB5T2JqZWN0X0RlbEl0ZW0KLSAgUHlPYmplY3RfRGVsSXRlbVN0cmluZz1weXRob24zNC5QeU9iamVjdF9EZWxJdGVtU3RyaW5nCi0gIFB5T2JqZWN0X0Rpcj1weXRob24zNC5QeU9iamVjdF9EaXIKLSAgUHlPYmplY3RfRm9ybWF0PXB5dGhvbjM0LlB5T2JqZWN0X0Zvcm1hdAotICBQeU9iamVjdF9GcmVlPXB5dGhvbjM0LlB5T2JqZWN0X0ZyZWUKLSAgUHlPYmplY3RfR0NfRGVsPXB5dGhvbjM0LlB5T2JqZWN0X0dDX0RlbAotICBQeU9iamVjdF9HQ19UcmFjaz1weXRob24zNC5QeU9iamVjdF9HQ19UcmFjawotICBQeU9iamVjdF9HQ19VblRyYWNrPXB5dGhvbjM0LlB5T2JqZWN0X0dDX1VuVHJhY2sKLSAgUHlPYmplY3RfR2VuZXJpY0dldEF0dHI9cHl0aG9uMzQuUHlPYmplY3RfR2VuZXJpY0dldEF0dHIKLSAgUHlPYmplY3RfR2VuZXJpY1NldEF0dHI9cHl0aG9uMzQuUHlPYmplY3RfR2VuZXJpY1NldEF0dHIKLSAgUHlPYmplY3RfR2V0QXR0cj1weXRob24zNC5QeU9iamVjdF9HZXRBdHRyCi0gIFB5T2JqZWN0X0dldEF0dHJTdHJpbmc9cHl0aG9uMzQuUHlPYmplY3RfR2V0QXR0clN0cmluZwotICBQeU9iamVjdF9HZXRJdGVtPXB5dGhvbjM0LlB5T2JqZWN0X0dldEl0ZW0KLSAgUHlPYmplY3RfR2V0SXRlcj1weXRob24zNC5QeU9iamVjdF9HZXRJdGVyCi0gIFB5T2JqZWN0X0hhc0F0dHI9cHl0aG9uMzQuUHlPYmplY3RfSGFzQXR0cgotICBQeU9iamVjdF9IYXNBdHRyU3RyaW5nPXB5dGhvbjM0LlB5T2JqZWN0X0hhc0F0dHJTdHJpbmcKLSAgUHlPYmplY3RfSGFzaD1weXRob24zNC5QeU9iamVjdF9IYXNoCi0gIFB5T2JqZWN0X0hhc2hOb3RJbXBsZW1lbnRlZD1weXRob24zNC5QeU9iamVjdF9IYXNoTm90SW1wbGVtZW50ZWQKLSAgUHlPYmplY3RfSW5pdD1weXRob24zNC5QeU9iamVjdF9Jbml0Ci0gIFB5T2JqZWN0X0luaXRWYXI9cHl0aG9uMzQuUHlPYmplY3RfSW5pdFZhcgotICBQeU9iamVjdF9Jc0luc3RhbmNlPXB5dGhvbjM0LlB5T2JqZWN0X0lzSW5zdGFuY2UKLSAgUHlPYmplY3RfSXNTdWJjbGFzcz1weXRob24zNC5QeU9iamVjdF9Jc1N1YmNsYXNzCi0gIFB5T2JqZWN0X0lzVHJ1ZT1weXRob24zNC5QeU9iamVjdF9Jc1RydWUKLSAgUHlPYmplY3RfTGVuZ3RoPXB5dGhvbjM0LlB5T2JqZWN0X0xlbmd0aAotICBQeU9iamVjdF9NYWxsb2M9cHl0aG9uMzQuUHlPYmplY3RfTWFsbG9jCi0gIFB5T2JqZWN0X05vdD1weXRob24zNC5QeU9iamVjdF9Ob3QKLSAgUHlPYmplY3RfUmVhbGxvYz1weXRob24zNC5QeU9iamVjdF9SZWFsbG9jCi0gIFB5T2JqZWN0X1JlcHI9cHl0aG9uMzQuUHlPYmplY3RfUmVwcgotICBQeU9iamVjdF9SaWNoQ29tcGFyZT1weXRob24zNC5QeU9iamVjdF9SaWNoQ29tcGFyZQotICBQeU9iamVjdF9SaWNoQ29tcGFyZUJvb2w9cHl0aG9uMzQuUHlPYmplY3RfUmljaENvbXBhcmVCb29sCi0gIFB5T2JqZWN0X1NlbGZJdGVyPXB5dGhvbjM0LlB5T2JqZWN0X1NlbGZJdGVyCi0gIFB5T2JqZWN0X1NldEF0dHI9cHl0aG9uMzQuUHlPYmplY3RfU2V0QXR0cgotICBQeU9iamVjdF9TZXRBdHRyU3RyaW5nPXB5dGhvbjM0LlB5T2JqZWN0X1NldEF0dHJTdHJpbmcKLSAgUHlPYmplY3RfU2V0SXRlbT1weXRob24zNC5QeU9iamVjdF9TZXRJdGVtCi0gIFB5T2JqZWN0X1NpemU9cHl0aG9uMzQuUHlPYmplY3RfU2l6ZQotICBQeU9iamVjdF9TdHI9cHl0aG9uMzQuUHlPYmplY3RfU3RyCi0gIFB5T2JqZWN0X1R5cGU9cHl0aG9uMzQuUHlPYmplY3RfVHlwZSBEQVRBCi0gIFB5UGFyc2VyX1NpbXBsZVBhcnNlRmlsZUZsYWdzPXB5dGhvbjM0LlB5UGFyc2VyX1NpbXBsZVBhcnNlRmlsZUZsYWdzCi0gIFB5UGFyc2VyX1NpbXBsZVBhcnNlU3RyaW5nRmxhZ3M9cHl0aG9uMzQuUHlQYXJzZXJfU2ltcGxlUGFyc2VTdHJpbmdGbGFncwotICBQeVByb3BlcnR5X1R5cGU9cHl0aG9uMzQuUHlQcm9wZXJ0eV9UeXBlIERBVEEKLSAgUHlSYW5nZUl0ZXJfVHlwZT1weXRob24zNC5QeVJhbmdlSXRlcl9UeXBlIERBVEEKLSAgUHlSYW5nZV9UeXBlPXB5dGhvbjM0LlB5UmFuZ2VfVHlwZSBEQVRBCi0gIFB5UmV2ZXJzZWRfVHlwZT1weXRob24zNC5QeVJldmVyc2VkX1R5cGUgREFUQQotICBQeVNlcUl0ZXJfTmV3PXB5dGhvbjM0LlB5U2VxSXRlcl9OZXcKLSAgUHlTZXFJdGVyX1R5cGU9cHl0aG9uMzQuUHlTZXFJdGVyX1R5cGUgREFUQQotICBQeVNlcXVlbmNlX0NoZWNrPXB5dGhvbjM0LlB5U2VxdWVuY2VfQ2hlY2sKLSAgUHlTZXF1ZW5jZV9Db25jYXQ9cHl0aG9uMzQuUHlTZXF1ZW5jZV9Db25jYXQKLSAgUHlTZXF1ZW5jZV9Db250YWlucz1weXRob24zNC5QeVNlcXVlbmNlX0NvbnRhaW5zCi0gIFB5U2VxdWVuY2VfQ291bnQ9cHl0aG9uMzQuUHlTZXF1ZW5jZV9Db3VudAotICBQeVNlcXVlbmNlX0RlbEl0ZW09cHl0aG9uMzQuUHlTZXF1ZW5jZV9EZWxJdGVtCi0gIFB5U2VxdWVuY2VfRGVsU2xpY2U9cHl0aG9uMzQuUHlTZXF1ZW5jZV9EZWxTbGljZQotICBQeVNlcXVlbmNlX0Zhc3Q9cHl0aG9uMzQuUHlTZXF1ZW5jZV9GYXN0Ci0gIFB5U2VxdWVuY2VfR2V0SXRlbT1weXRob24zNC5QeVNlcXVlbmNlX0dldEl0ZW0KLSAgUHlTZXF1ZW5jZV9HZXRTbGljZT1weXRob24zNC5QeVNlcXVlbmNlX0dldFNsaWNlCi0gIFB5U2VxdWVuY2VfSW49cHl0aG9uMzQuUHlTZXF1ZW5jZV9JbgotICBQeVNlcXVlbmNlX0luUGxhY2VDb25jYXQ9cHl0aG9uMzQuUHlTZXF1ZW5jZV9JblBsYWNlQ29uY2F0Ci0gIFB5U2VxdWVuY2VfSW5QbGFjZVJlcGVhdD1weXRob24zNC5QeVNlcXVlbmNlX0luUGxhY2VSZXBlYXQKLSAgUHlTZXF1ZW5jZV9JbmRleD1weXRob24zNC5QeVNlcXVlbmNlX0luZGV4Ci0gIFB5U2VxdWVuY2VfTGVuZ3RoPXB5dGhvbjM0LlB5U2VxdWVuY2VfTGVuZ3RoCi0gIFB5U2VxdWVuY2VfTGlzdD1weXRob24zNC5QeVNlcXVlbmNlX0xpc3QKLSAgUHlTZXF1ZW5jZV9SZXBlYXQ9cHl0aG9uMzQuUHlTZXF1ZW5jZV9SZXBlYXQKLSAgUHlTZXF1ZW5jZV9TZXRJdGVtPXB5dGhvbjM0LlB5U2VxdWVuY2VfU2V0SXRlbQotICBQeVNlcXVlbmNlX1NldFNsaWNlPXB5dGhvbjM0LlB5U2VxdWVuY2VfU2V0U2xpY2UKLSAgUHlTZXF1ZW5jZV9TaXplPXB5dGhvbjM0LlB5U2VxdWVuY2VfU2l6ZQotICBQeVNlcXVlbmNlX1R1cGxlPXB5dGhvbjM0LlB5U2VxdWVuY2VfVHVwbGUKLSAgUHlTZXRJdGVyX1R5cGU9cHl0aG9uMzQuUHlTZXRJdGVyX1R5cGUgREFUQQotICBQeVNldF9BZGQ9cHl0aG9uMzQuUHlTZXRfQWRkCi0gIFB5U2V0X0NsZWFyPXB5dGhvbjM0LlB5U2V0X0NsZWFyCi0gIFB5U2V0X0NvbnRhaW5zPXB5dGhvbjM0LlB5U2V0X0NvbnRhaW5zCi0gIFB5U2V0X0Rpc2NhcmQ9cHl0aG9uMzQuUHlTZXRfRGlzY2FyZAotICBQeVNldF9OZXc9cHl0aG9uMzQuUHlTZXRfTmV3Ci0gIFB5U2V0X1BvcD1weXRob24zNC5QeVNldF9Qb3AKLSAgUHlTZXRfU2l6ZT1weXRob24zNC5QeVNldF9TaXplCi0gIFB5U2V0X1R5cGU9cHl0aG9uMzQuUHlTZXRfVHlwZSBEQVRBCi0gIFB5U2xpY2VfR2V0SW5kaWNlcz1weXRob24zNC5QeVNsaWNlX0dldEluZGljZXMKLSAgUHlTbGljZV9HZXRJbmRpY2VzRXg9cHl0aG9uMzQuUHlTbGljZV9HZXRJbmRpY2VzRXgKLSAgUHlTbGljZV9OZXc9cHl0aG9uMzQuUHlTbGljZV9OZXcKLSAgUHlTbGljZV9UeXBlPXB5dGhvbjM0LlB5U2xpY2VfVHlwZSBEQVRBCi0gIFB5U29ydFdyYXBwZXJfVHlwZT1weXRob24zNC5QeVNvcnRXcmFwcGVyX1R5cGUgREFUQQotICBQeVN0YXRlX0ZpbmRNb2R1bGU9cHl0aG9uMzQuUHlTdGF0ZV9GaW5kTW9kdWxlCi0gIFB5U3RhdGVfQWRkTW9kdWxlPXB5dGhvbjM0LlB5U3RhdGVfQWRkTW9kdWxlCi0gIFB5U3RhdGVfUmVtb3ZlTW9kdWxlPXB5dGhvbjM0LlB5U3RhdGVfUmVtb3ZlTW9kdWxlCi0gIFB5U3RydWN0U2VxdWVuY2VfR2V0SXRlbT1weXRob24zNC5QeVN0cnVjdFNlcXVlbmNlX0dldEl0ZW0KLSAgUHlTdHJ1Y3RTZXF1ZW5jZV9OZXc9cHl0aG9uMzQuUHlTdHJ1Y3RTZXF1ZW5jZV9OZXcKLSAgUHlTdHJ1Y3RTZXF1ZW5jZV9OZXdUeXBlPXB5dGhvbjM0LlB5U3RydWN0U2VxdWVuY2VfTmV3VHlwZQotICBQeVN0cnVjdFNlcXVlbmNlX1NldEl0ZW09cHl0aG9uMzQuUHlTdHJ1Y3RTZXF1ZW5jZV9TZXRJdGVtCi0gIFB5U3VwZXJfVHlwZT1weXRob24zNC5QeVN1cGVyX1R5cGUgREFUQQotICBQeVN5c19BZGRXYXJuT3B0aW9uPXB5dGhvbjM0LlB5U3lzX0FkZFdhcm5PcHRpb24KLSAgUHlTeXNfQWRkV2Fybk9wdGlvblVuaWNvZGU9cHl0aG9uMzQuUHlTeXNfQWRkV2Fybk9wdGlvblVuaWNvZGUKLSAgUHlTeXNfRm9ybWF0U3RkZXJyPXB5dGhvbjM0LlB5U3lzX0Zvcm1hdFN0ZGVycgotICBQeVN5c19Gb3JtYXRTdGRvdXQ9cHl0aG9uMzQuUHlTeXNfRm9ybWF0U3Rkb3V0Ci0gIFB5U3lzX0dldE9iamVjdD1weXRob24zNC5QeVN5c19HZXRPYmplY3QKLSAgUHlTeXNfSGFzV2Fybk9wdGlvbnM9cHl0aG9uMzQuUHlTeXNfSGFzV2Fybk9wdGlvbnMKLSAgUHlTeXNfUmVzZXRXYXJuT3B0aW9ucz1weXRob24zNC5QeVN5c19SZXNldFdhcm5PcHRpb25zCi0gIFB5U3lzX1NldEFyZ3Y9cHl0aG9uMzQuUHlTeXNfU2V0QXJndgotICBQeVN5c19TZXRBcmd2RXg9cHl0aG9uMzQuUHlTeXNfU2V0QXJndkV4Ci0gIFB5U3lzX1NldE9iamVjdD1weXRob24zNC5QeVN5c19TZXRPYmplY3QKLSAgUHlTeXNfU2V0UGF0aD1weXRob24zNC5QeVN5c19TZXRQYXRoCi0gIFB5U3lzX1dyaXRlU3RkZXJyPXB5dGhvbjM0LlB5U3lzX1dyaXRlU3RkZXJyCi0gIFB5U3lzX1dyaXRlU3Rkb3V0PXB5dGhvbjM0LlB5U3lzX1dyaXRlU3Rkb3V0Ci0gIFB5VGhyZWFkU3RhdGVfQ2xlYXI9cHl0aG9uMzQuUHlUaHJlYWRTdGF0ZV9DbGVhcgotICBQeVRocmVhZFN0YXRlX0RlbGV0ZT1weXRob24zNC5QeVRocmVhZFN0YXRlX0RlbGV0ZQotICBQeVRocmVhZFN0YXRlX0RlbGV0ZUN1cnJlbnQ9cHl0aG9uMzQuUHlUaHJlYWRTdGF0ZV9EZWxldGVDdXJyZW50Ci0gIFB5VGhyZWFkU3RhdGVfR2V0PXB5dGhvbjM0LlB5VGhyZWFkU3RhdGVfR2V0Ci0gIFB5VGhyZWFkU3RhdGVfR2V0RGljdD1weXRob24zNC5QeVRocmVhZFN0YXRlX0dldERpY3QKLSAgUHlUaHJlYWRTdGF0ZV9OZXc9cHl0aG9uMzQuUHlUaHJlYWRTdGF0ZV9OZXcKLSAgUHlUaHJlYWRTdGF0ZV9TZXRBc3luY0V4Yz1weXRob24zNC5QeVRocmVhZFN0YXRlX1NldEFzeW5jRXhjCi0gIFB5VGhyZWFkU3RhdGVfU3dhcD1weXRob24zNC5QeVRocmVhZFN0YXRlX1N3YXAKLSAgUHlUcmFjZUJhY2tfSGVyZT1weXRob24zNC5QeVRyYWNlQmFja19IZXJlCi0gIFB5VHJhY2VCYWNrX1ByaW50PXB5dGhvbjM0LlB5VHJhY2VCYWNrX1ByaW50Ci0gIFB5VHJhY2VCYWNrX1R5cGU9cHl0aG9uMzQuUHlUcmFjZUJhY2tfVHlwZSBEQVRBCi0gIFB5VHVwbGVJdGVyX1R5cGU9cHl0aG9uMzQuUHlUdXBsZUl0ZXJfVHlwZSBEQVRBCi0gIFB5VHVwbGVfQ2xlYXJGcmVlTGlzdD1weXRob24zNC5QeVR1cGxlX0NsZWFyRnJlZUxpc3QKLSAgUHlUdXBsZV9HZXRJdGVtPXB5dGhvbjM0LlB5VHVwbGVfR2V0SXRlbQotICBQeVR1cGxlX0dldFNsaWNlPXB5dGhvbjM0LlB5VHVwbGVfR2V0U2xpY2UKLSAgUHlUdXBsZV9OZXc9cHl0aG9uMzQuUHlUdXBsZV9OZXcKLSAgUHlUdXBsZV9QYWNrPXB5dGhvbjM0LlB5VHVwbGVfUGFjawotICBQeVR1cGxlX1NldEl0ZW09cHl0aG9uMzQuUHlUdXBsZV9TZXRJdGVtCi0gIFB5VHVwbGVfU2l6ZT1weXRob24zNC5QeVR1cGxlX1NpemUKLSAgUHlUdXBsZV9UeXBlPXB5dGhvbjM0LlB5VHVwbGVfVHlwZSBEQVRBCi0gIFB5VHlwZV9DbGVhckNhY2hlPXB5dGhvbjM0LlB5VHlwZV9DbGVhckNhY2hlCi0gIFB5VHlwZV9Gcm9tU3BlYz1weXRob24zNC5QeVR5cGVfRnJvbVNwZWMKLSAgUHlUeXBlX0Zyb21TcGVjV2l0aEJhc2VzPXB5dGhvbjM0LlB5VHlwZV9Gcm9tU3BlY1dpdGhCYXNlcwotICBQeVR5cGVfR2VuZXJpY0FsbG9jPXB5dGhvbjM0LlB5VHlwZV9HZW5lcmljQWxsb2MKLSAgUHlUeXBlX0dlbmVyaWNOZXc9cHl0aG9uMzQuUHlUeXBlX0dlbmVyaWNOZXcKLSAgUHlUeXBlX0dldEZsYWdzPXB5dGhvbjM0LlB5VHlwZV9HZXRGbGFncwotICBQeVR5cGVfR2V0U2xvdD1weXRob24zNC5QeVR5cGVfR2V0U2xvdAotICBQeVR5cGVfSXNTdWJ0eXBlPXB5dGhvbjM0LlB5VHlwZV9Jc1N1YnR5cGUKLSAgUHlUeXBlX01vZGlmaWVkPXB5dGhvbjM0LlB5VHlwZV9Nb2RpZmllZAotICBQeVR5cGVfUmVhZHk9cHl0aG9uMzQuUHlUeXBlX1JlYWR5Ci0gIFB5VHlwZV9UeXBlPXB5dGhvbjM0LlB5VHlwZV9UeXBlIERBVEEKLSAgUHlVbmljb2RlRGVjb2RlRXJyb3JfQ3JlYXRlPXB5dGhvbjM0LlB5VW5pY29kZURlY29kZUVycm9yX0NyZWF0ZQotICBQeVVuaWNvZGVEZWNvZGVFcnJvcl9HZXRFbmNvZGluZz1weXRob24zNC5QeVVuaWNvZGVEZWNvZGVFcnJvcl9HZXRFbmNvZGluZwotICBQeVVuaWNvZGVEZWNvZGVFcnJvcl9HZXRFbmQ9cHl0aG9uMzQuUHlVbmljb2RlRGVjb2RlRXJyb3JfR2V0RW5kCi0gIFB5VW5pY29kZURlY29kZUVycm9yX0dldE9iamVjdD1weXRob24zNC5QeVVuaWNvZGVEZWNvZGVFcnJvcl9HZXRPYmplY3QKLSAgUHlVbmljb2RlRGVjb2RlRXJyb3JfR2V0UmVhc29uPXB5dGhvbjM0LlB5VW5pY29kZURlY29kZUVycm9yX0dldFJlYXNvbgotICBQeVVuaWNvZGVEZWNvZGVFcnJvcl9HZXRTdGFydD1weXRob24zNC5QeVVuaWNvZGVEZWNvZGVFcnJvcl9HZXRTdGFydAotICBQeVVuaWNvZGVEZWNvZGVFcnJvcl9TZXRFbmQ9cHl0aG9uMzQuUHlVbmljb2RlRGVjb2RlRXJyb3JfU2V0RW5kCi0gIFB5VW5pY29kZURlY29kZUVycm9yX1NldFJlYXNvbj1weXRob24zNC5QeVVuaWNvZGVEZWNvZGVFcnJvcl9TZXRSZWFzb24KLSAgUHlVbmljb2RlRGVjb2RlRXJyb3JfU2V0U3RhcnQ9cHl0aG9uMzQuUHlVbmljb2RlRGVjb2RlRXJyb3JfU2V0U3RhcnQKLSAgUHlVbmljb2RlRW5jb2RlRXJyb3JfR2V0RW5jb2Rpbmc9cHl0aG9uMzQuUHlVbmljb2RlRW5jb2RlRXJyb3JfR2V0RW5jb2RpbmcKLSAgUHlVbmljb2RlRW5jb2RlRXJyb3JfR2V0RW5kPXB5dGhvbjM0LlB5VW5pY29kZUVuY29kZUVycm9yX0dldEVuZAotICBQeVVuaWNvZGVFbmNvZGVFcnJvcl9HZXRPYmplY3Q9cHl0aG9uMzQuUHlVbmljb2RlRW5jb2RlRXJyb3JfR2V0T2JqZWN0Ci0gIFB5VW5pY29kZUVuY29kZUVycm9yX0dldFJlYXNvbj1weXRob24zNC5QeVVuaWNvZGVFbmNvZGVFcnJvcl9HZXRSZWFzb24KLSAgUHlVbmljb2RlRW5jb2RlRXJyb3JfR2V0U3RhcnQ9cHl0aG9uMzQuUHlVbmljb2RlRW5jb2RlRXJyb3JfR2V0U3RhcnQKLSAgUHlVbmljb2RlRW5jb2RlRXJyb3JfU2V0RW5kPXB5dGhvbjM0LlB5VW5pY29kZUVuY29kZUVycm9yX1NldEVuZAotICBQeVVuaWNvZGVFbmNvZGVFcnJvcl9TZXRSZWFzb249cHl0aG9uMzQuUHlVbmljb2RlRW5jb2RlRXJyb3JfU2V0UmVhc29uCi0gIFB5VW5pY29kZUVuY29kZUVycm9yX1NldFN0YXJ0PXB5dGhvbjM0LlB5VW5pY29kZUVuY29kZUVycm9yX1NldFN0YXJ0Ci0gIFB5VW5pY29kZUl0ZXJfVHlwZT1weXRob24zNC5QeVVuaWNvZGVJdGVyX1R5cGUgREFUQQotICBQeVVuaWNvZGVUcmFuc2xhdGVFcnJvcl9HZXRFbmQ9cHl0aG9uMzQuUHlVbmljb2RlVHJhbnNsYXRlRXJyb3JfR2V0RW5kCi0gIFB5VW5pY29kZVRyYW5zbGF0ZUVycm9yX0dldE9iamVjdD1weXRob24zNC5QeVVuaWNvZGVUcmFuc2xhdGVFcnJvcl9HZXRPYmplY3QKLSAgUHlVbmljb2RlVHJhbnNsYXRlRXJyb3JfR2V0UmVhc29uPXB5dGhvbjM0LlB5VW5pY29kZVRyYW5zbGF0ZUVycm9yX0dldFJlYXNvbgotICBQeVVuaWNvZGVUcmFuc2xhdGVFcnJvcl9HZXRTdGFydD1weXRob24zNC5QeVVuaWNvZGVUcmFuc2xhdGVFcnJvcl9HZXRTdGFydAotICBQeVVuaWNvZGVUcmFuc2xhdGVFcnJvcl9TZXRFbmQ9cHl0aG9uMzQuUHlVbmljb2RlVHJhbnNsYXRlRXJyb3JfU2V0RW5kCi0gIFB5VW5pY29kZVRyYW5zbGF0ZUVycm9yX1NldFJlYXNvbj1weXRob24zNC5QeVVuaWNvZGVUcmFuc2xhdGVFcnJvcl9TZXRSZWFzb24KLSAgUHlVbmljb2RlVHJhbnNsYXRlRXJyb3JfU2V0U3RhcnQ9cHl0aG9uMzQuUHlVbmljb2RlVHJhbnNsYXRlRXJyb3JfU2V0U3RhcnQKLSAgUHlVbmljb2RlX0FwcGVuZD1weXRob24zNC5QeVVuaWNvZGVfQXBwZW5kCi0gIFB5VW5pY29kZV9BcHBlbmRBbmREZWw9cHl0aG9uMzQuUHlVbmljb2RlX0FwcGVuZEFuZERlbAotICBQeVVuaWNvZGVfQXNBU0NJSVN0cmluZz1weXRob24zNC5QeVVuaWNvZGVfQXNBU0NJSVN0cmluZwotICBQeVVuaWNvZGVfQXNDaGFybWFwU3RyaW5nPXB5dGhvbjM0LlB5VW5pY29kZV9Bc0NoYXJtYXBTdHJpbmcKLSAgUHlVbmljb2RlX0FzRGVjb2RlZE9iamVjdD1weXRob24zNC5QeVVuaWNvZGVfQXNEZWNvZGVkT2JqZWN0Ci0gIFB5VW5pY29kZV9Bc0RlY29kZWRVbmljb2RlPXB5dGhvbjM0LlB5VW5pY29kZV9Bc0RlY29kZWRVbmljb2RlCi0gIFB5VW5pY29kZV9Bc0VuY29kZWRPYmplY3Q9cHl0aG9uMzQuUHlVbmljb2RlX0FzRW5jb2RlZE9iamVjdAotICBQeVVuaWNvZGVfQXNFbmNvZGVkU3RyaW5nPXB5dGhvbjM0LlB5VW5pY29kZV9Bc0VuY29kZWRTdHJpbmcKLSAgUHlVbmljb2RlX0FzRW5jb2RlZFVuaWNvZGU9cHl0aG9uMzQuUHlVbmljb2RlX0FzRW5jb2RlZFVuaWNvZGUKLSAgUHlVbmljb2RlX0FzTGF0aW4xU3RyaW5nPXB5dGhvbjM0LlB5VW5pY29kZV9Bc0xhdGluMVN0cmluZwotICBQeVVuaWNvZGVfQXNSYXdVbmljb2RlRXNjYXBlU3RyaW5nPXB5dGhvbjM0LlB5VW5pY29kZV9Bc1Jhd1VuaWNvZGVFc2NhcGVTdHJpbmcKLSAgUHlVbmljb2RlX0FzVVRGMTZTdHJpbmc9cHl0aG9uMzQuUHlVbmljb2RlX0FzVVRGMTZTdHJpbmcKLSAgUHlVbmljb2RlX0FzVVRGMzJTdHJpbmc9cHl0aG9uMzQuUHlVbmljb2RlX0FzVVRGMzJTdHJpbmcKLSAgUHlVbmljb2RlX0FzVVRGOFN0cmluZz1weXRob24zNC5QeVVuaWNvZGVfQXNVVEY4U3RyaW5nCi0gIFB5VW5pY29kZV9Bc1VuaWNvZGVFc2NhcGVTdHJpbmc9cHl0aG9uMzQuUHlVbmljb2RlX0FzVW5pY29kZUVzY2FwZVN0cmluZwotICBQeVVuaWNvZGVfQXNXaWRlQ2hhcj1weXRob24zNC5QeVVuaWNvZGVfQXNXaWRlQ2hhcgotICBQeVVuaWNvZGVfQ2xlYXJGcmVlbGlzdD1weXRob24zNC5QeVVuaWNvZGVfQ2xlYXJGcmVlbGlzdAotICBQeVVuaWNvZGVfQ29tcGFyZT1weXRob24zNC5QeVVuaWNvZGVfQ29tcGFyZQotICBQeVVuaWNvZGVfQ29uY2F0PXB5dGhvbjM0LlB5VW5pY29kZV9Db25jYXQKLSAgUHlVbmljb2RlX0NvbnRhaW5zPXB5dGhvbjM0LlB5VW5pY29kZV9Db250YWlucwotICBQeVVuaWNvZGVfQ291bnQ9cHl0aG9uMzQuUHlVbmljb2RlX0NvdW50Ci0gIFB5VW5pY29kZV9EZWNvZGU9cHl0aG9uMzQuUHlVbmljb2RlX0RlY29kZQotICBQeVVuaWNvZGVfRGVjb2RlQVNDSUk9cHl0aG9uMzQuUHlVbmljb2RlX0RlY29kZUFTQ0lJCi0gIFB5VW5pY29kZV9EZWNvZGVDaGFybWFwPXB5dGhvbjM0LlB5VW5pY29kZV9EZWNvZGVDaGFybWFwCi0gIFB5VW5pY29kZV9EZWNvZGVGU0RlZmF1bHQ9cHl0aG9uMzQuUHlVbmljb2RlX0RlY29kZUZTRGVmYXVsdAotICBQeVVuaWNvZGVfRGVjb2RlRlNEZWZhdWx0QW5kU2l6ZT1weXRob24zNC5QeVVuaWNvZGVfRGVjb2RlRlNEZWZhdWx0QW5kU2l6ZQotICBQeVVuaWNvZGVfRGVjb2RlTGF0aW4xPXB5dGhvbjM0LlB5VW5pY29kZV9EZWNvZGVMYXRpbjEKLSAgUHlVbmljb2RlX0RlY29kZVJhd1VuaWNvZGVFc2NhcGU9cHl0aG9uMzQuUHlVbmljb2RlX0RlY29kZVJhd1VuaWNvZGVFc2NhcGUKLSAgUHlVbmljb2RlX0RlY29kZVVURjE2PXB5dGhvbjM0LlB5VW5pY29kZV9EZWNvZGVVVEYxNgotICBQeVVuaWNvZGVfRGVjb2RlVVRGMTZTdGF0ZWZ1bD1weXRob24zNC5QeVVuaWNvZGVfRGVjb2RlVVRGMTZTdGF0ZWZ1bAotICBQeVVuaWNvZGVfRGVjb2RlVVRGMzI9cHl0aG9uMzQuUHlVbmljb2RlX0RlY29kZVVURjMyCi0gIFB5VW5pY29kZV9EZWNvZGVVVEYzMlN0YXRlZnVsPXB5dGhvbjM0LlB5VW5pY29kZV9EZWNvZGVVVEYzMlN0YXRlZnVsCi0gIFB5VW5pY29kZV9EZWNvZGVVVEY4PXB5dGhvbjM0LlB5VW5pY29kZV9EZWNvZGVVVEY4Ci0gIFB5VW5pY29kZV9EZWNvZGVVVEY4U3RhdGVmdWw9cHl0aG9uMzQuUHlVbmljb2RlX0RlY29kZVVURjhTdGF0ZWZ1bAotICBQeVVuaWNvZGVfRGVjb2RlVW5pY29kZUVzY2FwZT1weXRob24zNC5QeVVuaWNvZGVfRGVjb2RlVW5pY29kZUVzY2FwZQotICBQeVVuaWNvZGVfRlNDb252ZXJ0ZXI9cHl0aG9uMzQuUHlVbmljb2RlX0ZTQ29udmVydGVyCi0gIFB5VW5pY29kZV9GU0RlY29kZXI9cHl0aG9uMzQuUHlVbmljb2RlX0ZTRGVjb2RlcgotICBQeVVuaWNvZGVfRmluZD1weXRob24zNC5QeVVuaWNvZGVfRmluZAotICBQeVVuaWNvZGVfRm9ybWF0PXB5dGhvbjM0LlB5VW5pY29kZV9Gb3JtYXQKLSAgUHlVbmljb2RlX0Zyb21FbmNvZGVkT2JqZWN0PXB5dGhvbjM0LlB5VW5pY29kZV9Gcm9tRW5jb2RlZE9iamVjdAotICBQeVVuaWNvZGVfRnJvbUZvcm1hdD1weXRob24zNC5QeVVuaWNvZGVfRnJvbUZvcm1hdAotICBQeVVuaWNvZGVfRnJvbUZvcm1hdFY9cHl0aG9uMzQuUHlVbmljb2RlX0Zyb21Gb3JtYXRWCi0gIFB5VW5pY29kZV9Gcm9tT2JqZWN0PXB5dGhvbjM0LlB5VW5pY29kZV9Gcm9tT2JqZWN0Ci0gIFB5VW5pY29kZV9Gcm9tT3JkaW5hbD1weXRob24zNC5QeVVuaWNvZGVfRnJvbU9yZGluYWwKLSAgUHlVbmljb2RlX0Zyb21TdHJpbmc9cHl0aG9uMzQuUHlVbmljb2RlX0Zyb21TdHJpbmcKLSAgUHlVbmljb2RlX0Zyb21TdHJpbmdBbmRTaXplPXB5dGhvbjM0LlB5VW5pY29kZV9Gcm9tU3RyaW5nQW5kU2l6ZQotICBQeVVuaWNvZGVfRnJvbVdpZGVDaGFyPXB5dGhvbjM0LlB5VW5pY29kZV9Gcm9tV2lkZUNoYXIKLSAgUHlVbmljb2RlX0dldERlZmF1bHRFbmNvZGluZz1weXRob24zNC5QeVVuaWNvZGVfR2V0RGVmYXVsdEVuY29kaW5nCi0gIFB5VW5pY29kZV9HZXRTaXplPXB5dGhvbjM0LlB5VW5pY29kZV9HZXRTaXplCi0gIFB5VW5pY29kZV9Jc0lkZW50aWZpZXI9cHl0aG9uMzQuUHlVbmljb2RlX0lzSWRlbnRpZmllcgotICBQeVVuaWNvZGVfSm9pbj1weXRob24zNC5QeVVuaWNvZGVfSm9pbgotICBQeVVuaWNvZGVfUGFydGl0aW9uPXB5dGhvbjM0LlB5VW5pY29kZV9QYXJ0aXRpb24KLSAgUHlVbmljb2RlX1JQYXJ0aXRpb249cHl0aG9uMzQuUHlVbmljb2RlX1JQYXJ0aXRpb24KLSAgUHlVbmljb2RlX1JTcGxpdD1weXRob24zNC5QeVVuaWNvZGVfUlNwbGl0Ci0gIFB5VW5pY29kZV9SZXBsYWNlPXB5dGhvbjM0LlB5VW5pY29kZV9SZXBsYWNlCi0gIFB5VW5pY29kZV9SZXNpemU9cHl0aG9uMzQuUHlVbmljb2RlX1Jlc2l6ZQotICBQeVVuaWNvZGVfUmljaENvbXBhcmU9cHl0aG9uMzQuUHlVbmljb2RlX1JpY2hDb21wYXJlCi0gIFB5VW5pY29kZV9TZXREZWZhdWx0RW5jb2Rpbmc9cHl0aG9uMzQuUHlVbmljb2RlX1NldERlZmF1bHRFbmNvZGluZwotICBQeVVuaWNvZGVfU3BsaXQ9cHl0aG9uMzQuUHlVbmljb2RlX1NwbGl0Ci0gIFB5VW5pY29kZV9TcGxpdGxpbmVzPXB5dGhvbjM0LlB5VW5pY29kZV9TcGxpdGxpbmVzCi0gIFB5VW5pY29kZV9UYWlsbWF0Y2g9cHl0aG9uMzQuUHlVbmljb2RlX1RhaWxtYXRjaAotICBQeVVuaWNvZGVfVHJhbnNsYXRlPXB5dGhvbjM0LlB5VW5pY29kZV9UcmFuc2xhdGUKLSAgUHlVbmljb2RlX0J1aWxkRW5jb2RpbmdNYXA9cHl0aG9uMzQuUHlVbmljb2RlX0J1aWxkRW5jb2RpbmdNYXAKLSAgUHlVbmljb2RlX0NvbXBhcmVXaXRoQVNDSUlTdHJpbmc9cHl0aG9uMzQuUHlVbmljb2RlX0NvbXBhcmVXaXRoQVNDSUlTdHJpbmcKLSAgUHlVbmljb2RlX0RlY29kZVVURjc9cHl0aG9uMzQuUHlVbmljb2RlX0RlY29kZVVURjcKLSAgUHlVbmljb2RlX0RlY29kZVVURjdTdGF0ZWZ1bD1weXRob24zNC5QeVVuaWNvZGVfRGVjb2RlVVRGN1N0YXRlZnVsCi0gIFB5VW5pY29kZV9FbmNvZGVGU0RlZmF1bHQ9cHl0aG9uMzQuUHlVbmljb2RlX0VuY29kZUZTRGVmYXVsdAotICBQeVVuaWNvZGVfSW50ZXJuRnJvbVN0cmluZz1weXRob24zNC5QeVVuaWNvZGVfSW50ZXJuRnJvbVN0cmluZwotICBQeVVuaWNvZGVfSW50ZXJuSW1tb3J0YWw9cHl0aG9uMzQuUHlVbmljb2RlX0ludGVybkltbW9ydGFsCi0gIFB5VW5pY29kZV9JbnRlcm5JblBsYWNlPXB5dGhvbjM0LlB5VW5pY29kZV9JbnRlcm5JblBsYWNlCi0gIFB5VW5pY29kZV9UeXBlPXB5dGhvbjM0LlB5VW5pY29kZV9UeXBlIERBVEEKLSAgUHlXZWFrcmVmX0dldE9iamVjdD1weXRob24zNC5QeVdlYWtyZWZfR2V0T2JqZWN0IERBVEEKLSAgUHlXZWFrcmVmX05ld1Byb3h5PXB5dGhvbjM0LlB5V2Vha3JlZl9OZXdQcm94eQotICBQeVdlYWtyZWZfTmV3UmVmPXB5dGhvbjM0LlB5V2Vha3JlZl9OZXdSZWYKLSAgUHlXcmFwcGVyRGVzY3JfVHlwZT1weXRob24zNC5QeVdyYXBwZXJEZXNjcl9UeXBlIERBVEEKLSAgUHlXcmFwcGVyX05ldz1weXRob24zNC5QeVdyYXBwZXJfTmV3Ci0gIFB5WmlwX1R5cGU9cHl0aG9uMzQuUHlaaXBfVHlwZSBEQVRBCi0gIFB5X0FkZFBlbmRpbmdDYWxsPXB5dGhvbjM0LlB5X0FkZFBlbmRpbmdDYWxsCi0gIFB5X0F0RXhpdD1weXRob24zNC5QeV9BdEV4aXQKLSAgUHlfQnVpbGRWYWx1ZT1weXRob24zNC5QeV9CdWlsZFZhbHVlCi0gIFB5X0NvbXBpbGVTdHJpbmc9cHl0aG9uMzQuUHlfQ29tcGlsZVN0cmluZwotICBQeV9EZWNSZWY9cHl0aG9uMzQuUHlfRGVjUmVmCi0gIFB5X0VuZEludGVycHJldGVyPXB5dGhvbjM0LlB5X0VuZEludGVycHJldGVyCi0gIFB5X0V4aXQ9cHl0aG9uMzQuUHlfRXhpdAotICBQeV9GYXRhbEVycm9yPXB5dGhvbjM0LlB5X0ZhdGFsRXJyb3IKLSAgUHlfRmlsZVN5c3RlbURlZmF1bHRFbmNvZGluZz1weXRob24zNC5QeV9GaWxlU3lzdGVtRGVmYXVsdEVuY29kaW5nIERBVEEKLSAgUHlfRmluYWxpemU9cHl0aG9uMzQuUHlfRmluYWxpemUKLSAgUHlfR2V0QnVpbGRJbmZvPXB5dGhvbjM0LlB5X0dldEJ1aWxkSW5mbwotICBQeV9HZXRDb21waWxlcj1weXRob24zNC5QeV9HZXRDb21waWxlcgotICBQeV9HZXRDb3B5cmlnaHQ9cHl0aG9uMzQuUHlfR2V0Q29weXJpZ2h0Ci0gIFB5X0dldEV4ZWNQcmVmaXg9cHl0aG9uMzQuUHlfR2V0RXhlY1ByZWZpeAotICBQeV9HZXRQYXRoPXB5dGhvbjM0LlB5X0dldFBhdGgKLSAgUHlfR2V0UGxhdGZvcm09cHl0aG9uMzQuUHlfR2V0UGxhdGZvcm0KLSAgUHlfR2V0UHJlZml4PXB5dGhvbjM0LlB5X0dldFByZWZpeAotICBQeV9HZXRQcm9ncmFtRnVsbFBhdGg9cHl0aG9uMzQuUHlfR2V0UHJvZ3JhbUZ1bGxQYXRoCi0gIFB5X0dldFByb2dyYW1OYW1lPXB5dGhvbjM0LlB5X0dldFByb2dyYW1OYW1lCi0gIFB5X0dldFB5dGhvbkhvbWU9cHl0aG9uMzQuUHlfR2V0UHl0aG9uSG9tZQotICBQeV9HZXRSZWN1cnNpb25MaW1pdD1weXRob24zNC5QeV9HZXRSZWN1cnNpb25MaW1pdAotICBQeV9HZXRWZXJzaW9uPXB5dGhvbjM0LlB5X0dldFZlcnNpb24KLSAgUHlfSGFzRmlsZVN5c3RlbURlZmF1bHRFbmNvZGluZz1weXRob24zNC5QeV9IYXNGaWxlU3lzdGVtRGVmYXVsdEVuY29kaW5nIERBVEEKLSAgUHlfSW5jUmVmPXB5dGhvbjM0LlB5X0luY1JlZgotICBQeV9Jbml0aWFsaXplPXB5dGhvbjM0LlB5X0luaXRpYWxpemUKLSAgUHlfSW5pdGlhbGl6ZUV4PXB5dGhvbjM0LlB5X0luaXRpYWxpemVFeAotICBQeV9Jc0luaXRpYWxpemVkPXB5dGhvbjM0LlB5X0lzSW5pdGlhbGl6ZWQKLSAgUHlfTWFpbj1weXRob24zNC5QeV9NYWluCi0gIFB5X01ha2VQZW5kaW5nQ2FsbHM9cHl0aG9uMzQuUHlfTWFrZVBlbmRpbmdDYWxscwotICBQeV9OZXdJbnRlcnByZXRlcj1weXRob24zNC5QeV9OZXdJbnRlcnByZXRlcgotICBQeV9SZXByRW50ZXI9cHl0aG9uMzQuUHlfUmVwckVudGVyCi0gIFB5X1JlcHJMZWF2ZT1weXRob24zNC5QeV9SZXByTGVhdmUKLSAgUHlfU2V0UHJvZ3JhbU5hbWU9cHl0aG9uMzQuUHlfU2V0UHJvZ3JhbU5hbWUKLSAgUHlfU2V0UHl0aG9uSG9tZT1weXRob24zNC5QeV9TZXRQeXRob25Ib21lCi0gIFB5X1NldFJlY3Vyc2lvbkxpbWl0PXB5dGhvbjM0LlB5X1NldFJlY3Vyc2lvbkxpbWl0Ci0gIFB5X1N5bXRhYmxlU3RyaW5nPXB5dGhvbjM0LlB5X1N5bXRhYmxlU3RyaW5nCi0gIFB5X1ZhQnVpbGRWYWx1ZT1weXRob24zNC5QeV9WYUJ1aWxkVmFsdWUKLSAgX1B5RXJyX0JhZEludGVybmFsQ2FsbD1weXRob24zNC5fUHlFcnJfQmFkSW50ZXJuYWxDYWxsCi0gIF9QeU9iamVjdF9DYWxsRnVuY3Rpb25fU2l6ZVQ9cHl0aG9uMzQuX1B5T2JqZWN0X0NhbGxGdW5jdGlvbl9TaXplVAotICBfUHlPYmplY3RfQ2FsbE1ldGhvZF9TaXplVD1weXRob24zNC5fUHlPYmplY3RfQ2FsbE1ldGhvZF9TaXplVAotICBfUHlPYmplY3RfR0NfTWFsbG9jPXB5dGhvbjM0Ll9QeU9iamVjdF9HQ19NYWxsb2MKLSAgX1B5T2JqZWN0X0dDX05ldz1weXRob24zNC5fUHlPYmplY3RfR0NfTmV3Ci0gIF9QeU9iamVjdF9HQ19OZXdWYXI9cHl0aG9uMzQuX1B5T2JqZWN0X0dDX05ld1ZhcgotICBfUHlPYmplY3RfR0NfUmVzaXplPXB5dGhvbjM0Ll9QeU9iamVjdF9HQ19SZXNpemUKLSAgX1B5T2JqZWN0X05ldz1weXRob24zNC5fUHlPYmplY3RfTmV3Ci0gIF9QeU9iamVjdF9OZXdWYXI9cHl0aG9uMzQuX1B5T2JqZWN0X05ld1ZhcgotICBfUHlTdGF0ZV9BZGRNb2R1bGU9cHl0aG9uMzQuX1B5U3RhdGVfQWRkTW9kdWxlCi0gIF9QeVRocmVhZFN0YXRlX0luaXQ9cHl0aG9uMzQuX1B5VGhyZWFkU3RhdGVfSW5pdAotICBfUHlUaHJlYWRTdGF0ZV9QcmVhbGxvYz1weXRob24zNC5fUHlUaHJlYWRTdGF0ZV9QcmVhbGxvYwotICBfUHlUcmFzaF9kZWxldGVfbGF0ZXI9cHl0aG9uMzQuX1B5VHJhc2hfZGVsZXRlX2xhdGVyIERBVEEKLSAgX1B5VHJhc2hfZGVsZXRlX25lc3Rpbmc9cHl0aG9uMzQuX1B5VHJhc2hfZGVsZXRlX25lc3RpbmcgREFUQQotICBfUHlUcmFzaF9kZXBvc2l0X29iamVjdD1weXRob24zNC5fUHlUcmFzaF9kZXBvc2l0X29iamVjdAotICBfUHlUcmFzaF9kZXN0cm95X2NoYWluPXB5dGhvbjM0Ll9QeVRyYXNoX2Rlc3Ryb3lfY2hhaW4KLSAgX1B5V2Vha3JlZl9DYWxsYWJsZVByb3h5VHlwZT1weXRob24zNC5fUHlXZWFrcmVmX0NhbGxhYmxlUHJveHlUeXBlIERBVEEKLSAgX1B5V2Vha3JlZl9Qcm94eVR5cGU9cHl0aG9uMzQuX1B5V2Vha3JlZl9Qcm94eVR5cGUgREFUQQotICBfUHlXZWFrcmVmX1JlZlR5cGU9cHl0aG9uMzQuX1B5V2Vha3JlZl9SZWZUeXBlIERBVEEKLSAgX1B5X0J1aWxkVmFsdWVfU2l6ZVQ9cHl0aG9uMzQuX1B5X0J1aWxkVmFsdWVfU2l6ZVQKLSAgX1B5X0NoZWNrUmVjdXJzaW9uTGltaXQ9cHl0aG9uMzQuX1B5X0NoZWNrUmVjdXJzaW9uTGltaXQgREFUQQotICBfUHlfQ2hlY2tSZWN1cnNpdmVDYWxsPXB5dGhvbjM0Ll9QeV9DaGVja1JlY3Vyc2l2ZUNhbGwKLSAgX1B5X0RlYWxsb2M9cHl0aG9uMzQuX1B5X0RlYWxsb2MKLSAgX1B5X0VsbGlwc2lzT2JqZWN0PXB5dGhvbjM0Ll9QeV9FbGxpcHNpc09iamVjdCBEQVRBCi0gIF9QeV9GYWxzZVN0cnVjdD1weXRob24zNC5fUHlfRmFsc2VTdHJ1Y3QgREFUQQotICBfUHlfTm9uZVN0cnVjdD1weXRob24zNC5fUHlfTm9uZVN0cnVjdCBEQVRBCi0gIF9QeV9Ob3RJbXBsZW1lbnRlZFN0cnVjdD1weXRob24zNC5fUHlfTm90SW1wbGVtZW50ZWRTdHJ1Y3QgREFUQQotICBfUHlfU3dhcHBlZE9wPXB5dGhvbjM0Ll9QeV9Td2FwcGVkT3AgREFUQQotICBfUHlfVHJ1ZVN0cnVjdD1weXRob24zNC5fUHlfVHJ1ZVN0cnVjdCBEQVRBCi0gIF9QeV9WYUJ1aWxkVmFsdWVfU2l6ZVQ9cHl0aG9uMzQuX1B5X1ZhQnVpbGRWYWx1ZV9TaXplVAotICBfUHlBcmdfUGFyc2VfU2l6ZVQ9cHl0aG9uMzQuX1B5QXJnX1BhcnNlX1NpemVUCi0gIF9QeUFyZ19QYXJzZVR1cGxlX1NpemVUPXB5dGhvbjM0Ll9QeUFyZ19QYXJzZVR1cGxlX1NpemVUCi0gIF9QeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHNfU2l6ZVQ9cHl0aG9uMzQuX1B5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3Jkc19TaXplVAotICBfUHlBcmdfVmFQYXJzZV9TaXplVD1weXRob24zNC5fUHlBcmdfVmFQYXJzZV9TaXplVAotICBfUHlBcmdfVmFQYXJzZVR1cGxlQW5kS2V5d29yZHNfU2l6ZVQ9cHl0aG9uMzQuX1B5QXJnX1ZhUGFyc2VUdXBsZUFuZEtleXdvcmRzX1NpemVUCi0gIF9QeV9CdWlsZFZhbHVlX1NpemVUPXB5dGhvbjM0Ll9QeV9CdWlsZFZhbHVlX1NpemVUCisgIFB5QXJnX1BhcnNlPXB5dGhvbjM1LlB5QXJnX1BhcnNlCisgIFB5QXJnX1BhcnNlVHVwbGU9cHl0aG9uMzUuUHlBcmdfUGFyc2VUdXBsZQorICBQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHM9cHl0aG9uMzUuUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzCisgIFB5QXJnX1VucGFja1R1cGxlPXB5dGhvbjM1LlB5QXJnX1VucGFja1R1cGxlCisgIFB5QXJnX1ZhUGFyc2U9cHl0aG9uMzUuUHlBcmdfVmFQYXJzZQorICBQeUFyZ19WYVBhcnNlVHVwbGVBbmRLZXl3b3Jkcz1weXRob24zNS5QeUFyZ19WYVBhcnNlVHVwbGVBbmRLZXl3b3JkcworICBQeUFyZ19WYWxpZGF0ZUtleXdvcmRBcmd1bWVudHM9cHl0aG9uMzUuUHlBcmdfVmFsaWRhdGVLZXl3b3JkQXJndW1lbnRzCisgIFB5QmFzZU9iamVjdF9UeXBlPXB5dGhvbjM1LlB5QmFzZU9iamVjdF9UeXBlIERBVEEKKyAgUHlCb29sX0Zyb21Mb25nPXB5dGhvbjM1LlB5Qm9vbF9Gcm9tTG9uZworICBQeUJvb2xfVHlwZT1weXRob24zNS5QeUJvb2xfVHlwZSBEQVRBCisgIFB5Qnl0ZUFycmF5SXRlcl9UeXBlPXB5dGhvbjM1LlB5Qnl0ZUFycmF5SXRlcl9UeXBlIERBVEEKKyAgUHlCeXRlQXJyYXlfQXNTdHJpbmc9cHl0aG9uMzUuUHlCeXRlQXJyYXlfQXNTdHJpbmcKKyAgUHlCeXRlQXJyYXlfQ29uY2F0PXB5dGhvbjM1LlB5Qnl0ZUFycmF5X0NvbmNhdAorICBQeUJ5dGVBcnJheV9Gcm9tT2JqZWN0PXB5dGhvbjM1LlB5Qnl0ZUFycmF5X0Zyb21PYmplY3QKKyAgUHlCeXRlQXJyYXlfRnJvbVN0cmluZ0FuZFNpemU9cHl0aG9uMzUuUHlCeXRlQXJyYXlfRnJvbVN0cmluZ0FuZFNpemUKKyAgUHlCeXRlQXJyYXlfUmVzaXplPXB5dGhvbjM1LlB5Qnl0ZUFycmF5X1Jlc2l6ZQorICBQeUJ5dGVBcnJheV9TaXplPXB5dGhvbjM1LlB5Qnl0ZUFycmF5X1NpemUKKyAgUHlCeXRlQXJyYXlfVHlwZT1weXRob24zNS5QeUJ5dGVBcnJheV9UeXBlIERBVEEKKyAgUHlCeXRlc0l0ZXJfVHlwZT1weXRob24zNS5QeUJ5dGVzSXRlcl9UeXBlIERBVEEKKyAgUHlCeXRlc19Bc1N0cmluZz1weXRob24zNS5QeUJ5dGVzX0FzU3RyaW5nCisgIFB5Qnl0ZXNfQXNTdHJpbmdBbmRTaXplPXB5dGhvbjM1LlB5Qnl0ZXNfQXNTdHJpbmdBbmRTaXplCisgIFB5Qnl0ZXNfQ29uY2F0PXB5dGhvbjM1LlB5Qnl0ZXNfQ29uY2F0CisgIFB5Qnl0ZXNfQ29uY2F0QW5kRGVsPXB5dGhvbjM1LlB5Qnl0ZXNfQ29uY2F0QW5kRGVsCisgIFB5Qnl0ZXNfRGVjb2RlRXNjYXBlPXB5dGhvbjM1LlB5Qnl0ZXNfRGVjb2RlRXNjYXBlCisgIFB5Qnl0ZXNfRnJvbUZvcm1hdD1weXRob24zNS5QeUJ5dGVzX0Zyb21Gb3JtYXQKKyAgUHlCeXRlc19Gcm9tRm9ybWF0Vj1weXRob24zNS5QeUJ5dGVzX0Zyb21Gb3JtYXRWCisgIFB5Qnl0ZXNfRnJvbU9iamVjdD1weXRob24zNS5QeUJ5dGVzX0Zyb21PYmplY3QKKyAgUHlCeXRlc19Gcm9tU3RyaW5nPXB5dGhvbjM1LlB5Qnl0ZXNfRnJvbVN0cmluZworICBQeUJ5dGVzX0Zyb21TdHJpbmdBbmRTaXplPXB5dGhvbjM1LlB5Qnl0ZXNfRnJvbVN0cmluZ0FuZFNpemUKKyAgUHlCeXRlc19SZXByPXB5dGhvbjM1LlB5Qnl0ZXNfUmVwcgorICBQeUJ5dGVzX1NpemU9cHl0aG9uMzUuUHlCeXRlc19TaXplCisgIFB5Qnl0ZXNfVHlwZT1weXRob24zNS5QeUJ5dGVzX1R5cGUgREFUQQorICBQeUNGdW5jdGlvbl9DYWxsPXB5dGhvbjM1LlB5Q0Z1bmN0aW9uX0NhbGwKKyAgUHlDRnVuY3Rpb25fQ2xlYXJGcmVlTGlzdD1weXRob24zNS5QeUNGdW5jdGlvbl9DbGVhckZyZWVMaXN0CisgIFB5Q0Z1bmN0aW9uX0dldEZsYWdzPXB5dGhvbjM1LlB5Q0Z1bmN0aW9uX0dldEZsYWdzCisgIFB5Q0Z1bmN0aW9uX0dldEZ1bmN0aW9uPXB5dGhvbjM1LlB5Q0Z1bmN0aW9uX0dldEZ1bmN0aW9uCisgIFB5Q0Z1bmN0aW9uX0dldFNlbGY9cHl0aG9uMzUuUHlDRnVuY3Rpb25fR2V0U2VsZgorICBQeUNGdW5jdGlvbl9OZXc9cHl0aG9uMzUuUHlDRnVuY3Rpb25fTmV3CisgIFB5Q0Z1bmN0aW9uX05ld0V4PXB5dGhvbjM1LlB5Q0Z1bmN0aW9uX05ld0V4CisgIFB5Q0Z1bmN0aW9uX1R5cGU9cHl0aG9uMzUuUHlDRnVuY3Rpb25fVHlwZSBEQVRBCisgIFB5Q2FsbEl0ZXJfTmV3PXB5dGhvbjM1LlB5Q2FsbEl0ZXJfTmV3CisgIFB5Q2FsbEl0ZXJfVHlwZT1weXRob24zNS5QeUNhbGxJdGVyX1R5cGUgREFUQQorICBQeUNhbGxhYmxlX0NoZWNrPXB5dGhvbjM1LlB5Q2FsbGFibGVfQ2hlY2sKKyAgUHlDYXBzdWxlX0dldENvbnRleHQ9cHl0aG9uMzUuUHlDYXBzdWxlX0dldENvbnRleHQKKyAgUHlDYXBzdWxlX0dldERlc3RydWN0b3I9cHl0aG9uMzUuUHlDYXBzdWxlX0dldERlc3RydWN0b3IKKyAgUHlDYXBzdWxlX0dldE5hbWU9cHl0aG9uMzUuUHlDYXBzdWxlX0dldE5hbWUKKyAgUHlDYXBzdWxlX0dldFBvaW50ZXI9cHl0aG9uMzUuUHlDYXBzdWxlX0dldFBvaW50ZXIKKyAgUHlDYXBzdWxlX0ltcG9ydD1weXRob24zNS5QeUNhcHN1bGVfSW1wb3J0CisgIFB5Q2Fwc3VsZV9Jc1ZhbGlkPXB5dGhvbjM1LlB5Q2Fwc3VsZV9Jc1ZhbGlkCisgIFB5Q2Fwc3VsZV9OZXc9cHl0aG9uMzUuUHlDYXBzdWxlX05ldworICBQeUNhcHN1bGVfU2V0Q29udGV4dD1weXRob24zNS5QeUNhcHN1bGVfU2V0Q29udGV4dAorICBQeUNhcHN1bGVfU2V0RGVzdHJ1Y3Rvcj1weXRob24zNS5QeUNhcHN1bGVfU2V0RGVzdHJ1Y3RvcgorICBQeUNhcHN1bGVfU2V0TmFtZT1weXRob24zNS5QeUNhcHN1bGVfU2V0TmFtZQorICBQeUNhcHN1bGVfU2V0UG9pbnRlcj1weXRob24zNS5QeUNhcHN1bGVfU2V0UG9pbnRlcgorICBQeUNhcHN1bGVfVHlwZT1weXRob24zNS5QeUNhcHN1bGVfVHlwZSBEQVRBCisgIFB5Q2xhc3NNZXRob2REZXNjcl9UeXBlPXB5dGhvbjM1LlB5Q2xhc3NNZXRob2REZXNjcl9UeXBlIERBVEEKKyAgUHlDb2RlY19CYWNrc2xhc2hSZXBsYWNlRXJyb3JzPXB5dGhvbjM1LlB5Q29kZWNfQmFja3NsYXNoUmVwbGFjZUVycm9ycworICBQeUNvZGVjX0RlY29kZT1weXRob24zNS5QeUNvZGVjX0RlY29kZQorICBQeUNvZGVjX0RlY29kZXI9cHl0aG9uMzUuUHlDb2RlY19EZWNvZGVyCisgIFB5Q29kZWNfRW5jb2RlPXB5dGhvbjM1LlB5Q29kZWNfRW5jb2RlCisgIFB5Q29kZWNfRW5jb2Rlcj1weXRob24zNS5QeUNvZGVjX0VuY29kZXIKKyAgUHlDb2RlY19JZ25vcmVFcnJvcnM9cHl0aG9uMzUuUHlDb2RlY19JZ25vcmVFcnJvcnMKKyAgUHlDb2RlY19JbmNyZW1lbnRhbERlY29kZXI9cHl0aG9uMzUuUHlDb2RlY19JbmNyZW1lbnRhbERlY29kZXIKKyAgUHlDb2RlY19JbmNyZW1lbnRhbEVuY29kZXI9cHl0aG9uMzUuUHlDb2RlY19JbmNyZW1lbnRhbEVuY29kZXIKKyAgUHlDb2RlY19Lbm93bkVuY29kaW5nPXB5dGhvbjM1LlB5Q29kZWNfS25vd25FbmNvZGluZworICBQeUNvZGVjX0xvb2t1cEVycm9yPXB5dGhvbjM1LlB5Q29kZWNfTG9va3VwRXJyb3IKKyAgUHlDb2RlY19SZWdpc3Rlcj1weXRob24zNS5QeUNvZGVjX1JlZ2lzdGVyCisgIFB5Q29kZWNfUmVnaXN0ZXJFcnJvcj1weXRob24zNS5QeUNvZGVjX1JlZ2lzdGVyRXJyb3IKKyAgUHlDb2RlY19SZXBsYWNlRXJyb3JzPXB5dGhvbjM1LlB5Q29kZWNfUmVwbGFjZUVycm9ycworICBQeUNvZGVjX1N0cmVhbVJlYWRlcj1weXRob24zNS5QeUNvZGVjX1N0cmVhbVJlYWRlcgorICBQeUNvZGVjX1N0cmVhbVdyaXRlcj1weXRob24zNS5QeUNvZGVjX1N0cmVhbVdyaXRlcgorICBQeUNvZGVjX1N0cmljdEVycm9ycz1weXRob24zNS5QeUNvZGVjX1N0cmljdEVycm9ycworICBQeUNvZGVjX1hNTENoYXJSZWZSZXBsYWNlRXJyb3JzPXB5dGhvbjM1LlB5Q29kZWNfWE1MQ2hhclJlZlJlcGxhY2VFcnJvcnMKKyAgUHlDb21wbGV4X0Zyb21Eb3VibGVzPXB5dGhvbjM1LlB5Q29tcGxleF9Gcm9tRG91YmxlcworICBQeUNvbXBsZXhfSW1hZ0FzRG91YmxlPXB5dGhvbjM1LlB5Q29tcGxleF9JbWFnQXNEb3VibGUKKyAgUHlDb21wbGV4X1JlYWxBc0RvdWJsZT1weXRob24zNS5QeUNvbXBsZXhfUmVhbEFzRG91YmxlCisgIFB5Q29tcGxleF9UeXBlPXB5dGhvbjM1LlB5Q29tcGxleF9UeXBlIERBVEEKKyAgUHlEZXNjcl9OZXdDbGFzc01ldGhvZD1weXRob24zNS5QeURlc2NyX05ld0NsYXNzTWV0aG9kCisgIFB5RGVzY3JfTmV3R2V0U2V0PXB5dGhvbjM1LlB5RGVzY3JfTmV3R2V0U2V0CisgIFB5RGVzY3JfTmV3TWVtYmVyPXB5dGhvbjM1LlB5RGVzY3JfTmV3TWVtYmVyCisgIFB5RGVzY3JfTmV3TWV0aG9kPXB5dGhvbjM1LlB5RGVzY3JfTmV3TWV0aG9kCisgIFB5RGljdEl0ZW1zX1R5cGU9cHl0aG9uMzUuUHlEaWN0SXRlbXNfVHlwZSBEQVRBCisgIFB5RGljdEl0ZXJJdGVtX1R5cGU9cHl0aG9uMzUuUHlEaWN0SXRlckl0ZW1fVHlwZSBEQVRBCisgIFB5RGljdEl0ZXJLZXlfVHlwZT1weXRob24zNS5QeURpY3RJdGVyS2V5X1R5cGUgREFUQQorICBQeURpY3RJdGVyVmFsdWVfVHlwZT1weXRob24zNS5QeURpY3RJdGVyVmFsdWVfVHlwZSBEQVRBCisgIFB5RGljdEtleXNfVHlwZT1weXRob24zNS5QeURpY3RLZXlzX1R5cGUgREFUQQorICBQeURpY3RQcm94eV9OZXc9cHl0aG9uMzUuUHlEaWN0UHJveHlfTmV3CisgIFB5RGljdFByb3h5X1R5cGU9cHl0aG9uMzUuUHlEaWN0UHJveHlfVHlwZSBEQVRBCisgIFB5RGljdFZhbHVlc19UeXBlPXB5dGhvbjM1LlB5RGljdFZhbHVlc19UeXBlIERBVEEKKyAgUHlEaWN0X0NsZWFyPXB5dGhvbjM1LlB5RGljdF9DbGVhcgorICBQeURpY3RfQ29udGFpbnM9cHl0aG9uMzUuUHlEaWN0X0NvbnRhaW5zCisgIFB5RGljdF9Db3B5PXB5dGhvbjM1LlB5RGljdF9Db3B5CisgIFB5RGljdF9EZWxJdGVtPXB5dGhvbjM1LlB5RGljdF9EZWxJdGVtCisgIFB5RGljdF9EZWxJdGVtU3RyaW5nPXB5dGhvbjM1LlB5RGljdF9EZWxJdGVtU3RyaW5nCisgIFB5RGljdF9HZXRJdGVtPXB5dGhvbjM1LlB5RGljdF9HZXRJdGVtCisgIFB5RGljdF9HZXRJdGVtU3RyaW5nPXB5dGhvbjM1LlB5RGljdF9HZXRJdGVtU3RyaW5nCisgIFB5RGljdF9HZXRJdGVtV2l0aEVycm9yPXB5dGhvbjM1LlB5RGljdF9HZXRJdGVtV2l0aEVycm9yCisgIFB5RGljdF9JdGVtcz1weXRob24zNS5QeURpY3RfSXRlbXMKKyAgUHlEaWN0X0tleXM9cHl0aG9uMzUuUHlEaWN0X0tleXMKKyAgUHlEaWN0X01lcmdlPXB5dGhvbjM1LlB5RGljdF9NZXJnZQorICBQeURpY3RfTWVyZ2VGcm9tU2VxMj1weXRob24zNS5QeURpY3RfTWVyZ2VGcm9tU2VxMgorICBQeURpY3RfTmV3PXB5dGhvbjM1LlB5RGljdF9OZXcKKyAgUHlEaWN0X05leHQ9cHl0aG9uMzUuUHlEaWN0X05leHQKKyAgUHlEaWN0X1NldEl0ZW09cHl0aG9uMzUuUHlEaWN0X1NldEl0ZW0KKyAgUHlEaWN0X1NldEl0ZW1TdHJpbmc9cHl0aG9uMzUuUHlEaWN0X1NldEl0ZW1TdHJpbmcKKyAgUHlEaWN0X1NpemU9cHl0aG9uMzUuUHlEaWN0X1NpemUKKyAgUHlEaWN0X1R5cGU9cHl0aG9uMzUuUHlEaWN0X1R5cGUgREFUQQorICBQeURpY3RfVXBkYXRlPXB5dGhvbjM1LlB5RGljdF9VcGRhdGUKKyAgUHlEaWN0X1ZhbHVlcz1weXRob24zNS5QeURpY3RfVmFsdWVzCisgIFB5RWxsaXBzaXNfVHlwZT1weXRob24zNS5QeUVsbGlwc2lzX1R5cGUgREFUQQorICBQeUVudW1fVHlwZT1weXRob24zNS5QeUVudW1fVHlwZSBEQVRBCisgIFB5RXJyX0JhZEFyZ3VtZW50PXB5dGhvbjM1LlB5RXJyX0JhZEFyZ3VtZW50CisgIFB5RXJyX0JhZEludGVybmFsQ2FsbD1weXRob24zNS5QeUVycl9CYWRJbnRlcm5hbENhbGwKKyAgUHlFcnJfQ2hlY2tTaWduYWxzPXB5dGhvbjM1LlB5RXJyX0NoZWNrU2lnbmFscworICBQeUVycl9DbGVhcj1weXRob24zNS5QeUVycl9DbGVhcgorICBQeUVycl9EaXNwbGF5PXB5dGhvbjM1LlB5RXJyX0Rpc3BsYXkKKyAgUHlFcnJfRXhjZXB0aW9uTWF0Y2hlcz1weXRob24zNS5QeUVycl9FeGNlcHRpb25NYXRjaGVzCisgIFB5RXJyX0ZldGNoPXB5dGhvbjM1LlB5RXJyX0ZldGNoCisgIFB5RXJyX0Zvcm1hdD1weXRob24zNS5QeUVycl9Gb3JtYXQKKyAgUHlFcnJfRm9ybWF0Vj1weXRob24zNS5QeUVycl9Gb3JtYXRWCisgIFB5RXJyX0dpdmVuRXhjZXB0aW9uTWF0Y2hlcz1weXRob24zNS5QeUVycl9HaXZlbkV4Y2VwdGlvbk1hdGNoZXMKKyAgUHlFcnJfTmV3RXhjZXB0aW9uPXB5dGhvbjM1LlB5RXJyX05ld0V4Y2VwdGlvbgorICBQeUVycl9OZXdFeGNlcHRpb25XaXRoRG9jPXB5dGhvbjM1LlB5RXJyX05ld0V4Y2VwdGlvbldpdGhEb2MKKyAgUHlFcnJfTm9NZW1vcnk9cHl0aG9uMzUuUHlFcnJfTm9NZW1vcnkKKyAgUHlFcnJfTm9ybWFsaXplRXhjZXB0aW9uPXB5dGhvbjM1LlB5RXJyX05vcm1hbGl6ZUV4Y2VwdGlvbgorICBQeUVycl9PY2N1cnJlZD1weXRob24zNS5QeUVycl9PY2N1cnJlZAorICBQeUVycl9QcmludD1weXRob24zNS5QeUVycl9QcmludAorICBQeUVycl9QcmludEV4PXB5dGhvbjM1LlB5RXJyX1ByaW50RXgKKyAgUHlFcnJfUHJvZ3JhbVRleHQ9cHl0aG9uMzUuUHlFcnJfUHJvZ3JhbVRleHQKKyAgUHlFcnJfUmVzdG9yZT1weXRob24zNS5QeUVycl9SZXN0b3JlCisgIFB5RXJyX1NldEZyb21FcnJubz1weXRob24zNS5QeUVycl9TZXRGcm9tRXJybm8KKyAgUHlFcnJfU2V0RnJvbUVycm5vV2l0aEZpbGVuYW1lPXB5dGhvbjM1LlB5RXJyX1NldEZyb21FcnJub1dpdGhGaWxlbmFtZQorICBQeUVycl9TZXRGcm9tRXJybm9XaXRoRmlsZW5hbWVPYmplY3Q9cHl0aG9uMzUuUHlFcnJfU2V0RnJvbUVycm5vV2l0aEZpbGVuYW1lT2JqZWN0CisgIFB5RXJyX1NldEludGVycnVwdD1weXRob24zNS5QeUVycl9TZXRJbnRlcnJ1cHQKKyAgUHlFcnJfU2V0Tm9uZT1weXRob24zNS5QeUVycl9TZXROb25lCisgIFB5RXJyX1NldE9iamVjdD1weXRob24zNS5QeUVycl9TZXRPYmplY3QKKyAgUHlFcnJfU2V0U3RyaW5nPXB5dGhvbjM1LlB5RXJyX1NldFN0cmluZworICBQeUVycl9TeW50YXhMb2NhdGlvbj1weXRob24zNS5QeUVycl9TeW50YXhMb2NhdGlvbgorICBQeUVycl9XYXJuRXg9cHl0aG9uMzUuUHlFcnJfV2FybkV4CisgIFB5RXJyX1dhcm5FeHBsaWNpdD1weXRob24zNS5QeUVycl9XYXJuRXhwbGljaXQKKyAgUHlFcnJfV2FybkZvcm1hdD1weXRob24zNS5QeUVycl9XYXJuRm9ybWF0CisgIFB5RXJyX1dyaXRlVW5yYWlzYWJsZT1weXRob24zNS5QeUVycl9Xcml0ZVVucmFpc2FibGUKKyAgUHlFdmFsX0FjcXVpcmVMb2NrPXB5dGhvbjM1LlB5RXZhbF9BY3F1aXJlTG9jaworICBQeUV2YWxfQWNxdWlyZVRocmVhZD1weXRob24zNS5QeUV2YWxfQWNxdWlyZVRocmVhZAorICBQeUV2YWxfQ2FsbEZ1bmN0aW9uPXB5dGhvbjM1LlB5RXZhbF9DYWxsRnVuY3Rpb24KKyAgUHlFdmFsX0NhbGxNZXRob2Q9cHl0aG9uMzUuUHlFdmFsX0NhbGxNZXRob2QKKyAgUHlFdmFsX0NhbGxPYmplY3RXaXRoS2V5d29yZHM9cHl0aG9uMzUuUHlFdmFsX0NhbGxPYmplY3RXaXRoS2V5d29yZHMKKyAgUHlFdmFsX0V2YWxDb2RlPXB5dGhvbjM1LlB5RXZhbF9FdmFsQ29kZQorICBQeUV2YWxfRXZhbENvZGVFeD1weXRob24zNS5QeUV2YWxfRXZhbENvZGVFeAorICBQeUV2YWxfRXZhbEZyYW1lPXB5dGhvbjM1LlB5RXZhbF9FdmFsRnJhbWUKKyAgUHlFdmFsX0V2YWxGcmFtZUV4PXB5dGhvbjM1LlB5RXZhbF9FdmFsRnJhbWVFeAorICBQeUV2YWxfR2V0QnVpbHRpbnM9cHl0aG9uMzUuUHlFdmFsX0dldEJ1aWx0aW5zCisgIFB5RXZhbF9HZXRDYWxsU3RhdHM9cHl0aG9uMzUuUHlFdmFsX0dldENhbGxTdGF0cworICBQeUV2YWxfR2V0RnJhbWU9cHl0aG9uMzUuUHlFdmFsX0dldEZyYW1lCisgIFB5RXZhbF9HZXRGdW5jRGVzYz1weXRob24zNS5QeUV2YWxfR2V0RnVuY0Rlc2MKKyAgUHlFdmFsX0dldEZ1bmNOYW1lPXB5dGhvbjM1LlB5RXZhbF9HZXRGdW5jTmFtZQorICBQeUV2YWxfR2V0R2xvYmFscz1weXRob24zNS5QeUV2YWxfR2V0R2xvYmFscworICBQeUV2YWxfR2V0TG9jYWxzPXB5dGhvbjM1LlB5RXZhbF9HZXRMb2NhbHMKKyAgUHlFdmFsX0luaXRUaHJlYWRzPXB5dGhvbjM1LlB5RXZhbF9Jbml0VGhyZWFkcworICBQeUV2YWxfUmVJbml0VGhyZWFkcz1weXRob24zNS5QeUV2YWxfUmVJbml0VGhyZWFkcworICBQeUV2YWxfUmVsZWFzZUxvY2s9cHl0aG9uMzUuUHlFdmFsX1JlbGVhc2VMb2NrCisgIFB5RXZhbF9SZWxlYXNlVGhyZWFkPXB5dGhvbjM1LlB5RXZhbF9SZWxlYXNlVGhyZWFkCisgIFB5RXZhbF9SZXN0b3JlVGhyZWFkPXB5dGhvbjM1LlB5RXZhbF9SZXN0b3JlVGhyZWFkCisgIFB5RXZhbF9TYXZlVGhyZWFkPXB5dGhvbjM1LlB5RXZhbF9TYXZlVGhyZWFkCisgIFB5RXZhbF9UaHJlYWRzSW5pdGlhbGl6ZWQ9cHl0aG9uMzUuUHlFdmFsX1RocmVhZHNJbml0aWFsaXplZAorICBQeUV4Y19Bcml0aG1ldGljRXJyb3I9cHl0aG9uMzUuUHlFeGNfQXJpdGhtZXRpY0Vycm9yIERBVEEKKyAgUHlFeGNfQXNzZXJ0aW9uRXJyb3I9cHl0aG9uMzUuUHlFeGNfQXNzZXJ0aW9uRXJyb3IgREFUQQorICBQeUV4Y19BdHRyaWJ1dGVFcnJvcj1weXRob24zNS5QeUV4Y19BdHRyaWJ1dGVFcnJvciBEQVRBCisgIFB5RXhjX0Jhc2VFeGNlcHRpb249cHl0aG9uMzUuUHlFeGNfQmFzZUV4Y2VwdGlvbiBEQVRBCisgIFB5RXhjX0J1ZmZlckVycm9yPXB5dGhvbjM1LlB5RXhjX0J1ZmZlckVycm9yIERBVEEKKyAgUHlFeGNfQnl0ZXNXYXJuaW5nPXB5dGhvbjM1LlB5RXhjX0J5dGVzV2FybmluZyBEQVRBCisgIFB5RXhjX0RlcHJlY2F0aW9uV2FybmluZz1weXRob24zNS5QeUV4Y19EZXByZWNhdGlvbldhcm5pbmcgREFUQQorICBQeUV4Y19FT0ZFcnJvcj1weXRob24zNS5QeUV4Y19FT0ZFcnJvciBEQVRBCisgIFB5RXhjX0Vudmlyb25tZW50RXJyb3I9cHl0aG9uMzUuUHlFeGNfRW52aXJvbm1lbnRFcnJvciBEQVRBCisgIFB5RXhjX0V4Y2VwdGlvbj1weXRob24zNS5QeUV4Y19FeGNlcHRpb24gREFUQQorICBQeUV4Y19GbG9hdGluZ1BvaW50RXJyb3I9cHl0aG9uMzUuUHlFeGNfRmxvYXRpbmdQb2ludEVycm9yIERBVEEKKyAgUHlFeGNfRnV0dXJlV2FybmluZz1weXRob24zNS5QeUV4Y19GdXR1cmVXYXJuaW5nIERBVEEKKyAgUHlFeGNfR2VuZXJhdG9yRXhpdD1weXRob24zNS5QeUV4Y19HZW5lcmF0b3JFeGl0IERBVEEKKyAgUHlFeGNfSU9FcnJvcj1weXRob24zNS5QeUV4Y19JT0Vycm9yIERBVEEKKyAgUHlFeGNfSW1wb3J0RXJyb3I9cHl0aG9uMzUuUHlFeGNfSW1wb3J0RXJyb3IgREFUQQorICBQeUV4Y19JbXBvcnRXYXJuaW5nPXB5dGhvbjM1LlB5RXhjX0ltcG9ydFdhcm5pbmcgREFUQQorICBQeUV4Y19JbmRlbnRhdGlvbkVycm9yPXB5dGhvbjM1LlB5RXhjX0luZGVudGF0aW9uRXJyb3IgREFUQQorICBQeUV4Y19JbmRleEVycm9yPXB5dGhvbjM1LlB5RXhjX0luZGV4RXJyb3IgREFUQQorICBQeUV4Y19LZXlFcnJvcj1weXRob24zNS5QeUV4Y19LZXlFcnJvciBEQVRBCisgIFB5RXhjX0tleWJvYXJkSW50ZXJydXB0PXB5dGhvbjM1LlB5RXhjX0tleWJvYXJkSW50ZXJydXB0IERBVEEKKyAgUHlFeGNfTG9va3VwRXJyb3I9cHl0aG9uMzUuUHlFeGNfTG9va3VwRXJyb3IgREFUQQorICBQeUV4Y19NZW1vcnlFcnJvcj1weXRob24zNS5QeUV4Y19NZW1vcnlFcnJvciBEQVRBCisgIFB5RXhjX01lbW9yeUVycm9ySW5zdD1weXRob24zNS5QeUV4Y19NZW1vcnlFcnJvckluc3QgREFUQQorICBQeUV4Y19OYW1lRXJyb3I9cHl0aG9uMzUuUHlFeGNfTmFtZUVycm9yIERBVEEKKyAgUHlFeGNfTm90SW1wbGVtZW50ZWRFcnJvcj1weXRob24zNS5QeUV4Y19Ob3RJbXBsZW1lbnRlZEVycm9yIERBVEEKKyAgUHlFeGNfT1NFcnJvcj1weXRob24zNS5QeUV4Y19PU0Vycm9yIERBVEEKKyAgUHlFeGNfT3ZlcmZsb3dFcnJvcj1weXRob24zNS5QeUV4Y19PdmVyZmxvd0Vycm9yIERBVEEKKyAgUHlFeGNfUGVuZGluZ0RlcHJlY2F0aW9uV2FybmluZz1weXRob24zNS5QeUV4Y19QZW5kaW5nRGVwcmVjYXRpb25XYXJuaW5nIERBVEEKKyAgUHlFeGNfUmVjdXJzaW9uRXJyb3JJbnN0PXB5dGhvbjM1LlB5RXhjX1JlY3Vyc2lvbkVycm9ySW5zdCBEQVRBCisgIFB5RXhjX1JlZmVyZW5jZUVycm9yPXB5dGhvbjM1LlB5RXhjX1JlZmVyZW5jZUVycm9yIERBVEEKKyAgUHlFeGNfUnVudGltZUVycm9yPXB5dGhvbjM1LlB5RXhjX1J1bnRpbWVFcnJvciBEQVRBCisgIFB5RXhjX1J1bnRpbWVXYXJuaW5nPXB5dGhvbjM1LlB5RXhjX1J1bnRpbWVXYXJuaW5nIERBVEEKKyAgUHlFeGNfU3RvcEl0ZXJhdGlvbj1weXRob24zNS5QeUV4Y19TdG9wSXRlcmF0aW9uIERBVEEKKyAgUHlFeGNfU3ludGF4RXJyb3I9cHl0aG9uMzUuUHlFeGNfU3ludGF4RXJyb3IgREFUQQorICBQeUV4Y19TeW50YXhXYXJuaW5nPXB5dGhvbjM1LlB5RXhjX1N5bnRheFdhcm5pbmcgREFUQQorICBQeUV4Y19TeXN0ZW1FcnJvcj1weXRob24zNS5QeUV4Y19TeXN0ZW1FcnJvciBEQVRBCisgIFB5RXhjX1N5c3RlbUV4aXQ9cHl0aG9uMzUuUHlFeGNfU3lzdGVtRXhpdCBEQVRBCisgIFB5RXhjX1RhYkVycm9yPXB5dGhvbjM1LlB5RXhjX1RhYkVycm9yIERBVEEKKyAgUHlFeGNfVHlwZUVycm9yPXB5dGhvbjM1LlB5RXhjX1R5cGVFcnJvciBEQVRBCisgIFB5RXhjX1VuYm91bmRMb2NhbEVycm9yPXB5dGhvbjM1LlB5RXhjX1VuYm91bmRMb2NhbEVycm9yIERBVEEKKyAgUHlFeGNfVW5pY29kZURlY29kZUVycm9yPXB5dGhvbjM1LlB5RXhjX1VuaWNvZGVEZWNvZGVFcnJvciBEQVRBCisgIFB5RXhjX1VuaWNvZGVFbmNvZGVFcnJvcj1weXRob24zNS5QeUV4Y19Vbmljb2RlRW5jb2RlRXJyb3IgREFUQQorICBQeUV4Y19Vbmljb2RlRXJyb3I9cHl0aG9uMzUuUHlFeGNfVW5pY29kZUVycm9yIERBVEEKKyAgUHlFeGNfVW5pY29kZVRyYW5zbGF0ZUVycm9yPXB5dGhvbjM1LlB5RXhjX1VuaWNvZGVUcmFuc2xhdGVFcnJvciBEQVRBCisgIFB5RXhjX1VuaWNvZGVXYXJuaW5nPXB5dGhvbjM1LlB5RXhjX1VuaWNvZGVXYXJuaW5nIERBVEEKKyAgUHlFeGNfVXNlcldhcm5pbmc9cHl0aG9uMzUuUHlFeGNfVXNlcldhcm5pbmcgREFUQQorICBQeUV4Y19WYWx1ZUVycm9yPXB5dGhvbjM1LlB5RXhjX1ZhbHVlRXJyb3IgREFUQQorICBQeUV4Y19XYXJuaW5nPXB5dGhvbjM1LlB5RXhjX1dhcm5pbmcgREFUQQorICBQeUV4Y19aZXJvRGl2aXNpb25FcnJvcj1weXRob24zNS5QeUV4Y19aZXJvRGl2aXNpb25FcnJvciBEQVRBCisgIFB5RXhjZXB0aW9uX0dldENhdXNlPXB5dGhvbjM1LlB5RXhjZXB0aW9uX0dldENhdXNlCisgIFB5RXhjZXB0aW9uX0dldENvbnRleHQ9cHl0aG9uMzUuUHlFeGNlcHRpb25fR2V0Q29udGV4dAorICBQeUV4Y2VwdGlvbl9HZXRUcmFjZWJhY2s9cHl0aG9uMzUuUHlFeGNlcHRpb25fR2V0VHJhY2ViYWNrCisgIFB5RXhjZXB0aW9uX1NldENhdXNlPXB5dGhvbjM1LlB5RXhjZXB0aW9uX1NldENhdXNlCisgIFB5RXhjZXB0aW9uX1NldENvbnRleHQ9cHl0aG9uMzUuUHlFeGNlcHRpb25fU2V0Q29udGV4dAorICBQeUV4Y2VwdGlvbl9TZXRUcmFjZWJhY2s9cHl0aG9uMzUuUHlFeGNlcHRpb25fU2V0VHJhY2ViYWNrCisgIFB5RmlsZV9Gcm9tRmQ9cHl0aG9uMzUuUHlGaWxlX0Zyb21GZAorICBQeUZpbGVfR2V0TGluZT1weXRob24zNS5QeUZpbGVfR2V0TGluZQorICBQeUZpbGVfV3JpdGVPYmplY3Q9cHl0aG9uMzUuUHlGaWxlX1dyaXRlT2JqZWN0CisgIFB5RmlsZV9Xcml0ZVN0cmluZz1weXRob24zNS5QeUZpbGVfV3JpdGVTdHJpbmcKKyAgUHlGaWx0ZXJfVHlwZT1weXRob24zNS5QeUZpbHRlcl9UeXBlIERBVEEKKyAgUHlGbG9hdF9Bc0RvdWJsZT1weXRob24zNS5QeUZsb2F0X0FzRG91YmxlCisgIFB5RmxvYXRfRnJvbURvdWJsZT1weXRob24zNS5QeUZsb2F0X0Zyb21Eb3VibGUKKyAgUHlGbG9hdF9Gcm9tU3RyaW5nPXB5dGhvbjM1LlB5RmxvYXRfRnJvbVN0cmluZworICBQeUZsb2F0X0dldEluZm89cHl0aG9uMzUuUHlGbG9hdF9HZXRJbmZvCisgIFB5RmxvYXRfR2V0TWF4PXB5dGhvbjM1LlB5RmxvYXRfR2V0TWF4CisgIFB5RmxvYXRfR2V0TWluPXB5dGhvbjM1LlB5RmxvYXRfR2V0TWluCisgIFB5RmxvYXRfVHlwZT1weXRob24zNS5QeUZsb2F0X1R5cGUgREFUQQorICBQeUZyb3plblNldF9OZXc9cHl0aG9uMzUuUHlGcm96ZW5TZXRfTmV3CisgIFB5RnJvemVuU2V0X1R5cGU9cHl0aG9uMzUuUHlGcm96ZW5TZXRfVHlwZSBEQVRBCisgIFB5R0NfQ29sbGVjdD1weXRob24zNS5QeUdDX0NvbGxlY3QKKyAgUHlHSUxTdGF0ZV9FbnN1cmU9cHl0aG9uMzUuUHlHSUxTdGF0ZV9FbnN1cmUKKyAgUHlHSUxTdGF0ZV9HZXRUaGlzVGhyZWFkU3RhdGU9cHl0aG9uMzUuUHlHSUxTdGF0ZV9HZXRUaGlzVGhyZWFkU3RhdGUKKyAgUHlHSUxTdGF0ZV9SZWxlYXNlPXB5dGhvbjM1LlB5R0lMU3RhdGVfUmVsZWFzZQorICBQeUdldFNldERlc2NyX1R5cGU9cHl0aG9uMzUuUHlHZXRTZXREZXNjcl9UeXBlIERBVEEKKyAgUHlJbXBvcnRfQWRkTW9kdWxlPXB5dGhvbjM1LlB5SW1wb3J0X0FkZE1vZHVsZQorICBQeUltcG9ydF9BcHBlbmRJbml0dGFiPXB5dGhvbjM1LlB5SW1wb3J0X0FwcGVuZEluaXR0YWIKKyAgUHlJbXBvcnRfQ2xlYW51cD1weXRob24zNS5QeUltcG9ydF9DbGVhbnVwCisgIFB5SW1wb3J0X0V4ZWNDb2RlTW9kdWxlPXB5dGhvbjM1LlB5SW1wb3J0X0V4ZWNDb2RlTW9kdWxlCisgIFB5SW1wb3J0X0V4ZWNDb2RlTW9kdWxlRXg9cHl0aG9uMzUuUHlJbXBvcnRfRXhlY0NvZGVNb2R1bGVFeAorICBQeUltcG9ydF9FeGVjQ29kZU1vZHVsZVdpdGhQYXRobmFtZXM9cHl0aG9uMzUuUHlJbXBvcnRfRXhlY0NvZGVNb2R1bGVXaXRoUGF0aG5hbWVzCisgIFB5SW1wb3J0X0dldEltcG9ydGVyPXB5dGhvbjM1LlB5SW1wb3J0X0dldEltcG9ydGVyCisgIFB5SW1wb3J0X0dldE1hZ2ljTnVtYmVyPXB5dGhvbjM1LlB5SW1wb3J0X0dldE1hZ2ljTnVtYmVyCisgIFB5SW1wb3J0X0dldE1hZ2ljVGFnPXB5dGhvbjM1LlB5SW1wb3J0X0dldE1hZ2ljVGFnCisgIFB5SW1wb3J0X0dldE1vZHVsZURpY3Q9cHl0aG9uMzUuUHlJbXBvcnRfR2V0TW9kdWxlRGljdAorICBQeUltcG9ydF9JbXBvcnQ9cHl0aG9uMzUuUHlJbXBvcnRfSW1wb3J0CisgIFB5SW1wb3J0X0ltcG9ydEZyb3plbk1vZHVsZT1weXRob24zNS5QeUltcG9ydF9JbXBvcnRGcm96ZW5Nb2R1bGUKKyAgUHlJbXBvcnRfSW1wb3J0TW9kdWxlPXB5dGhvbjM1LlB5SW1wb3J0X0ltcG9ydE1vZHVsZQorICBQeUltcG9ydF9JbXBvcnRNb2R1bGVMZXZlbD1weXRob24zNS5QeUltcG9ydF9JbXBvcnRNb2R1bGVMZXZlbAorICBQeUltcG9ydF9JbXBvcnRNb2R1bGVOb0Jsb2NrPXB5dGhvbjM1LlB5SW1wb3J0X0ltcG9ydE1vZHVsZU5vQmxvY2sKKyAgUHlJbXBvcnRfUmVsb2FkTW9kdWxlPXB5dGhvbjM1LlB5SW1wb3J0X1JlbG9hZE1vZHVsZQorICBQeUludGVycHJldGVyU3RhdGVfQ2xlYXI9cHl0aG9uMzUuUHlJbnRlcnByZXRlclN0YXRlX0NsZWFyCisgIFB5SW50ZXJwcmV0ZXJTdGF0ZV9EZWxldGU9cHl0aG9uMzUuUHlJbnRlcnByZXRlclN0YXRlX0RlbGV0ZQorICBQeUludGVycHJldGVyU3RhdGVfTmV3PXB5dGhvbjM1LlB5SW50ZXJwcmV0ZXJTdGF0ZV9OZXcKKyAgUHlJdGVyX05leHQ9cHl0aG9uMzUuUHlJdGVyX05leHQKKyAgUHlMaXN0SXRlcl9UeXBlPXB5dGhvbjM1LlB5TGlzdEl0ZXJfVHlwZSBEQVRBCisgIFB5TGlzdFJldkl0ZXJfVHlwZT1weXRob24zNS5QeUxpc3RSZXZJdGVyX1R5cGUgREFUQQorICBQeUxpc3RfQXBwZW5kPXB5dGhvbjM1LlB5TGlzdF9BcHBlbmQKKyAgUHlMaXN0X0FzVHVwbGU9cHl0aG9uMzUuUHlMaXN0X0FzVHVwbGUKKyAgUHlMaXN0X0dldEl0ZW09cHl0aG9uMzUuUHlMaXN0X0dldEl0ZW0KKyAgUHlMaXN0X0dldFNsaWNlPXB5dGhvbjM1LlB5TGlzdF9HZXRTbGljZQorICBQeUxpc3RfSW5zZXJ0PXB5dGhvbjM1LlB5TGlzdF9JbnNlcnQKKyAgUHlMaXN0X05ldz1weXRob24zNS5QeUxpc3RfTmV3CisgIFB5TGlzdF9SZXZlcnNlPXB5dGhvbjM1LlB5TGlzdF9SZXZlcnNlCisgIFB5TGlzdF9TZXRJdGVtPXB5dGhvbjM1LlB5TGlzdF9TZXRJdGVtCisgIFB5TGlzdF9TZXRTbGljZT1weXRob24zNS5QeUxpc3RfU2V0U2xpY2UKKyAgUHlMaXN0X1NpemU9cHl0aG9uMzUuUHlMaXN0X1NpemUKKyAgUHlMaXN0X1NvcnQ9cHl0aG9uMzUuUHlMaXN0X1NvcnQKKyAgUHlMaXN0X1R5cGU9cHl0aG9uMzUuUHlMaXN0X1R5cGUgREFUQQorICBQeUxvbmdSYW5nZUl0ZXJfVHlwZT1weXRob24zNS5QeUxvbmdSYW5nZUl0ZXJfVHlwZSBEQVRBCisgIFB5TG9uZ19Bc0RvdWJsZT1weXRob24zNS5QeUxvbmdfQXNEb3VibGUKKyAgUHlMb25nX0FzTG9uZz1weXRob24zNS5QeUxvbmdfQXNMb25nCisgIFB5TG9uZ19Bc0xvbmdBbmRPdmVyZmxvdz1weXRob24zNS5QeUxvbmdfQXNMb25nQW5kT3ZlcmZsb3cKKyAgUHlMb25nX0FzTG9uZ0xvbmc9cHl0aG9uMzUuUHlMb25nX0FzTG9uZ0xvbmcKKyAgUHlMb25nX0FzTG9uZ0xvbmdBbmRPdmVyZmxvdz1weXRob24zNS5QeUxvbmdfQXNMb25nTG9uZ0FuZE92ZXJmbG93CisgIFB5TG9uZ19Bc1NpemVfdD1weXRob24zNS5QeUxvbmdfQXNTaXplX3QKKyAgUHlMb25nX0FzU3NpemVfdD1weXRob24zNS5QeUxvbmdfQXNTc2l6ZV90CisgIFB5TG9uZ19Bc1Vuc2lnbmVkTG9uZz1weXRob24zNS5QeUxvbmdfQXNVbnNpZ25lZExvbmcKKyAgUHlMb25nX0FzVW5zaWduZWRMb25nTG9uZz1weXRob24zNS5QeUxvbmdfQXNVbnNpZ25lZExvbmdMb25nCisgIFB5TG9uZ19Bc1Vuc2lnbmVkTG9uZ0xvbmdNYXNrPXB5dGhvbjM1LlB5TG9uZ19Bc1Vuc2lnbmVkTG9uZ0xvbmdNYXNrCisgIFB5TG9uZ19Bc1Vuc2lnbmVkTG9uZ01hc2s9cHl0aG9uMzUuUHlMb25nX0FzVW5zaWduZWRMb25nTWFzaworICBQeUxvbmdfQXNWb2lkUHRyPXB5dGhvbjM1LlB5TG9uZ19Bc1ZvaWRQdHIKKyAgUHlMb25nX0Zyb21Eb3VibGU9cHl0aG9uMzUuUHlMb25nX0Zyb21Eb3VibGUKKyAgUHlMb25nX0Zyb21Mb25nPXB5dGhvbjM1LlB5TG9uZ19Gcm9tTG9uZworICBQeUxvbmdfRnJvbUxvbmdMb25nPXB5dGhvbjM1LlB5TG9uZ19Gcm9tTG9uZ0xvbmcKKyAgUHlMb25nX0Zyb21TaXplX3Q9cHl0aG9uMzUuUHlMb25nX0Zyb21TaXplX3QKKyAgUHlMb25nX0Zyb21Tc2l6ZV90PXB5dGhvbjM1LlB5TG9uZ19Gcm9tU3NpemVfdAorICBQeUxvbmdfRnJvbVN0cmluZz1weXRob24zNS5QeUxvbmdfRnJvbVN0cmluZworICBQeUxvbmdfRnJvbVVuc2lnbmVkTG9uZz1weXRob24zNS5QeUxvbmdfRnJvbVVuc2lnbmVkTG9uZworICBQeUxvbmdfRnJvbVVuc2lnbmVkTG9uZ0xvbmc9cHl0aG9uMzUuUHlMb25nX0Zyb21VbnNpZ25lZExvbmdMb25nCisgIFB5TG9uZ19Gcm9tVm9pZFB0cj1weXRob24zNS5QeUxvbmdfRnJvbVZvaWRQdHIKKyAgUHlMb25nX0dldEluZm89cHl0aG9uMzUuUHlMb25nX0dldEluZm8KKyAgUHlMb25nX1R5cGU9cHl0aG9uMzUuUHlMb25nX1R5cGUgREFUQQorICBQeU1hcF9UeXBlPXB5dGhvbjM1LlB5TWFwX1R5cGUgREFUQQorICBQeU1hcHBpbmdfQ2hlY2s9cHl0aG9uMzUuUHlNYXBwaW5nX0NoZWNrCisgIFB5TWFwcGluZ19HZXRJdGVtU3RyaW5nPXB5dGhvbjM1LlB5TWFwcGluZ19HZXRJdGVtU3RyaW5nCisgIFB5TWFwcGluZ19IYXNLZXk9cHl0aG9uMzUuUHlNYXBwaW5nX0hhc0tleQorICBQeU1hcHBpbmdfSGFzS2V5U3RyaW5nPXB5dGhvbjM1LlB5TWFwcGluZ19IYXNLZXlTdHJpbmcKKyAgUHlNYXBwaW5nX0l0ZW1zPXB5dGhvbjM1LlB5TWFwcGluZ19JdGVtcworICBQeU1hcHBpbmdfS2V5cz1weXRob24zNS5QeU1hcHBpbmdfS2V5cworICBQeU1hcHBpbmdfTGVuZ3RoPXB5dGhvbjM1LlB5TWFwcGluZ19MZW5ndGgKKyAgUHlNYXBwaW5nX1NldEl0ZW1TdHJpbmc9cHl0aG9uMzUuUHlNYXBwaW5nX1NldEl0ZW1TdHJpbmcKKyAgUHlNYXBwaW5nX1NpemU9cHl0aG9uMzUuUHlNYXBwaW5nX1NpemUKKyAgUHlNYXBwaW5nX1ZhbHVlcz1weXRob24zNS5QeU1hcHBpbmdfVmFsdWVzCisgIFB5TWVtX0ZyZWU9cHl0aG9uMzUuUHlNZW1fRnJlZQorICBQeU1lbV9NYWxsb2M9cHl0aG9uMzUuUHlNZW1fTWFsbG9jCisgIFB5TWVtX1JlYWxsb2M9cHl0aG9uMzUuUHlNZW1fUmVhbGxvYworICBQeU1lbWJlckRlc2NyX1R5cGU9cHl0aG9uMzUuUHlNZW1iZXJEZXNjcl9UeXBlIERBVEEKKyAgUHlNZW1vcnlWaWV3X0Zyb21PYmplY3Q9cHl0aG9uMzUuUHlNZW1vcnlWaWV3X0Zyb21PYmplY3QKKyAgUHlNZW1vcnlWaWV3X0dldENvbnRpZ3VvdXM9cHl0aG9uMzUuUHlNZW1vcnlWaWV3X0dldENvbnRpZ3VvdXMKKyAgUHlNZW1vcnlWaWV3X1R5cGU9cHl0aG9uMzUuUHlNZW1vcnlWaWV3X1R5cGUgREFUQQorICBQeU1ldGhvZERlc2NyX1R5cGU9cHl0aG9uMzUuUHlNZXRob2REZXNjcl9UeXBlIERBVEEKKyAgUHlNb2R1bGVfQWRkSW50Q29uc3RhbnQ9cHl0aG9uMzUuUHlNb2R1bGVfQWRkSW50Q29uc3RhbnQKKyAgUHlNb2R1bGVfQWRkT2JqZWN0PXB5dGhvbjM1LlB5TW9kdWxlX0FkZE9iamVjdAorICBQeU1vZHVsZV9BZGRTdHJpbmdDb25zdGFudD1weXRob24zNS5QeU1vZHVsZV9BZGRTdHJpbmdDb25zdGFudAorICBQeU1vZHVsZV9DcmVhdGUyPXB5dGhvbjM1LlB5TW9kdWxlX0NyZWF0ZTIKKyAgUHlNb2R1bGVfR2V0RGVmPXB5dGhvbjM1LlB5TW9kdWxlX0dldERlZgorICBQeU1vZHVsZV9HZXREaWN0PXB5dGhvbjM1LlB5TW9kdWxlX0dldERpY3QKKyAgUHlNb2R1bGVfR2V0RmlsZW5hbWU9cHl0aG9uMzUuUHlNb2R1bGVfR2V0RmlsZW5hbWUKKyAgUHlNb2R1bGVfR2V0RmlsZW5hbWVPYmplY3Q9cHl0aG9uMzUuUHlNb2R1bGVfR2V0RmlsZW5hbWVPYmplY3QKKyAgUHlNb2R1bGVfR2V0TmFtZT1weXRob24zNS5QeU1vZHVsZV9HZXROYW1lCisgIFB5TW9kdWxlX0dldFN0YXRlPXB5dGhvbjM1LlB5TW9kdWxlX0dldFN0YXRlCisgIFB5TW9kdWxlX05ldz1weXRob24zNS5QeU1vZHVsZV9OZXcKKyAgUHlNb2R1bGVfVHlwZT1weXRob24zNS5QeU1vZHVsZV9UeXBlIERBVEEKKyAgUHlOdWxsSW1wb3J0ZXJfVHlwZT1weXRob24zNS5QeU51bGxJbXBvcnRlcl9UeXBlIERBVEEKKyAgUHlOdW1iZXJfQWJzb2x1dGU9cHl0aG9uMzUuUHlOdW1iZXJfQWJzb2x1dGUKKyAgUHlOdW1iZXJfQWRkPXB5dGhvbjM1LlB5TnVtYmVyX0FkZAorICBQeU51bWJlcl9BbmQ9cHl0aG9uMzUuUHlOdW1iZXJfQW5kCisgIFB5TnVtYmVyX0FzU3NpemVfdD1weXRob24zNS5QeU51bWJlcl9Bc1NzaXplX3QKKyAgUHlOdW1iZXJfQ2hlY2s9cHl0aG9uMzUuUHlOdW1iZXJfQ2hlY2sKKyAgUHlOdW1iZXJfRGl2bW9kPXB5dGhvbjM1LlB5TnVtYmVyX0Rpdm1vZAorICBQeU51bWJlcl9GbG9hdD1weXRob24zNS5QeU51bWJlcl9GbG9hdAorICBQeU51bWJlcl9GbG9vckRpdmlkZT1weXRob24zNS5QeU51bWJlcl9GbG9vckRpdmlkZQorICBQeU51bWJlcl9JblBsYWNlQWRkPXB5dGhvbjM1LlB5TnVtYmVyX0luUGxhY2VBZGQKKyAgUHlOdW1iZXJfSW5QbGFjZUFuZD1weXRob24zNS5QeU51bWJlcl9JblBsYWNlQW5kCisgIFB5TnVtYmVyX0luUGxhY2VGbG9vckRpdmlkZT1weXRob24zNS5QeU51bWJlcl9JblBsYWNlRmxvb3JEaXZpZGUKKyAgUHlOdW1iZXJfSW5QbGFjZUxzaGlmdD1weXRob24zNS5QeU51bWJlcl9JblBsYWNlTHNoaWZ0CisgIFB5TnVtYmVyX0luUGxhY2VNdWx0aXBseT1weXRob24zNS5QeU51bWJlcl9JblBsYWNlTXVsdGlwbHkKKyAgUHlOdW1iZXJfSW5QbGFjZU9yPXB5dGhvbjM1LlB5TnVtYmVyX0luUGxhY2VPcgorICBQeU51bWJlcl9JblBsYWNlUG93ZXI9cHl0aG9uMzUuUHlOdW1iZXJfSW5QbGFjZVBvd2VyCisgIFB5TnVtYmVyX0luUGxhY2VSZW1haW5kZXI9cHl0aG9uMzUuUHlOdW1iZXJfSW5QbGFjZVJlbWFpbmRlcgorICBQeU51bWJlcl9JblBsYWNlUnNoaWZ0PXB5dGhvbjM1LlB5TnVtYmVyX0luUGxhY2VSc2hpZnQKKyAgUHlOdW1iZXJfSW5QbGFjZVN1YnRyYWN0PXB5dGhvbjM1LlB5TnVtYmVyX0luUGxhY2VTdWJ0cmFjdAorICBQeU51bWJlcl9JblBsYWNlVHJ1ZURpdmlkZT1weXRob24zNS5QeU51bWJlcl9JblBsYWNlVHJ1ZURpdmlkZQorICBQeU51bWJlcl9JblBsYWNlWG9yPXB5dGhvbjM1LlB5TnVtYmVyX0luUGxhY2VYb3IKKyAgUHlOdW1iZXJfSW5kZXg9cHl0aG9uMzUuUHlOdW1iZXJfSW5kZXgKKyAgUHlOdW1iZXJfSW52ZXJ0PXB5dGhvbjM1LlB5TnVtYmVyX0ludmVydAorICBQeU51bWJlcl9Mb25nPXB5dGhvbjM1LlB5TnVtYmVyX0xvbmcKKyAgUHlOdW1iZXJfTHNoaWZ0PXB5dGhvbjM1LlB5TnVtYmVyX0xzaGlmdAorICBQeU51bWJlcl9NdWx0aXBseT1weXRob24zNS5QeU51bWJlcl9NdWx0aXBseQorICBQeU51bWJlcl9OZWdhdGl2ZT1weXRob24zNS5QeU51bWJlcl9OZWdhdGl2ZQorICBQeU51bWJlcl9Pcj1weXRob24zNS5QeU51bWJlcl9PcgorICBQeU51bWJlcl9Qb3NpdGl2ZT1weXRob24zNS5QeU51bWJlcl9Qb3NpdGl2ZQorICBQeU51bWJlcl9Qb3dlcj1weXRob24zNS5QeU51bWJlcl9Qb3dlcgorICBQeU51bWJlcl9SZW1haW5kZXI9cHl0aG9uMzUuUHlOdW1iZXJfUmVtYWluZGVyCisgIFB5TnVtYmVyX1JzaGlmdD1weXRob24zNS5QeU51bWJlcl9Sc2hpZnQKKyAgUHlOdW1iZXJfU3VidHJhY3Q9cHl0aG9uMzUuUHlOdW1iZXJfU3VidHJhY3QKKyAgUHlOdW1iZXJfVG9CYXNlPXB5dGhvbjM1LlB5TnVtYmVyX1RvQmFzZQorICBQeU51bWJlcl9UcnVlRGl2aWRlPXB5dGhvbjM1LlB5TnVtYmVyX1RydWVEaXZpZGUKKyAgUHlOdW1iZXJfWG9yPXB5dGhvbjM1LlB5TnVtYmVyX1hvcgorICBQeU9TX0FmdGVyRm9yaz1weXRob24zNS5QeU9TX0FmdGVyRm9yaworICBQeU9TX0luaXRJbnRlcnJ1cHRzPXB5dGhvbjM1LlB5T1NfSW5pdEludGVycnVwdHMKKyAgUHlPU19JbnB1dEhvb2s9cHl0aG9uMzUuUHlPU19JbnB1dEhvb2sgREFUQQorICBQeU9TX0ludGVycnVwdE9jY3VycmVkPXB5dGhvbjM1LlB5T1NfSW50ZXJydXB0T2NjdXJyZWQKKyAgUHlPU19SZWFkbGluZUZ1bmN0aW9uUG9pbnRlcj1weXRob24zNS5QeU9TX1JlYWRsaW5lRnVuY3Rpb25Qb2ludGVyIERBVEEKKyAgUHlPU19kb3VibGVfdG9fc3RyaW5nPXB5dGhvbjM1LlB5T1NfZG91YmxlX3RvX3N0cmluZworICBQeU9TX2dldHNpZz1weXRob24zNS5QeU9TX2dldHNpZworICBQeU9TX215c3RyaWNtcD1weXRob24zNS5QeU9TX215c3RyaWNtcAorICBQeU9TX215c3RybmljbXA9cHl0aG9uMzUuUHlPU19teXN0cm5pY21wCisgIFB5T1Nfc2V0c2lnPXB5dGhvbjM1LlB5T1Nfc2V0c2lnCisgIFB5T1Nfc25wcmludGY9cHl0aG9uMzUuUHlPU19zbnByaW50ZgorICBQeU9TX3N0cmluZ190b19kb3VibGU9cHl0aG9uMzUuUHlPU19zdHJpbmdfdG9fZG91YmxlCisgIFB5T1Nfc3RydG9sPXB5dGhvbjM1LlB5T1Nfc3RydG9sCisgIFB5T1Nfc3RydG91bD1weXRob24zNS5QeU9TX3N0cnRvdWwKKyAgUHlPU192c25wcmludGY9cHl0aG9uMzUuUHlPU192c25wcmludGYKKyAgUHlPYmplY3RfQVNDSUk9cHl0aG9uMzUuUHlPYmplY3RfQVNDSUkKKyAgUHlPYmplY3RfQXNDaGFyQnVmZmVyPXB5dGhvbjM1LlB5T2JqZWN0X0FzQ2hhckJ1ZmZlcgorICBQeU9iamVjdF9Bc0ZpbGVEZXNjcmlwdG9yPXB5dGhvbjM1LlB5T2JqZWN0X0FzRmlsZURlc2NyaXB0b3IKKyAgUHlPYmplY3RfQXNSZWFkQnVmZmVyPXB5dGhvbjM1LlB5T2JqZWN0X0FzUmVhZEJ1ZmZlcgorICBQeU9iamVjdF9Bc1dyaXRlQnVmZmVyPXB5dGhvbjM1LlB5T2JqZWN0X0FzV3JpdGVCdWZmZXIKKyAgUHlPYmplY3RfQnl0ZXM9cHl0aG9uMzUuUHlPYmplY3RfQnl0ZXMKKyAgUHlPYmplY3RfQ2FsbD1weXRob24zNS5QeU9iamVjdF9DYWxsCisgIFB5T2JqZWN0X0NhbGxGdW5jdGlvbj1weXRob24zNS5QeU9iamVjdF9DYWxsRnVuY3Rpb24KKyAgUHlPYmplY3RfQ2FsbEZ1bmN0aW9uT2JqQXJncz1weXRob24zNS5QeU9iamVjdF9DYWxsRnVuY3Rpb25PYmpBcmdzCisgIFB5T2JqZWN0X0NhbGxNZXRob2Q9cHl0aG9uMzUuUHlPYmplY3RfQ2FsbE1ldGhvZAorICBQeU9iamVjdF9DYWxsTWV0aG9kT2JqQXJncz1weXRob24zNS5QeU9iamVjdF9DYWxsTWV0aG9kT2JqQXJncworICBQeU9iamVjdF9DYWxsT2JqZWN0PXB5dGhvbjM1LlB5T2JqZWN0X0NhbGxPYmplY3QKKyAgUHlPYmplY3RfQ2hlY2tSZWFkQnVmZmVyPXB5dGhvbjM1LlB5T2JqZWN0X0NoZWNrUmVhZEJ1ZmZlcgorICBQeU9iamVjdF9DbGVhcldlYWtSZWZzPXB5dGhvbjM1LlB5T2JqZWN0X0NsZWFyV2Vha1JlZnMKKyAgUHlPYmplY3RfRGVsSXRlbT1weXRob24zNS5QeU9iamVjdF9EZWxJdGVtCisgIFB5T2JqZWN0X0RlbEl0ZW1TdHJpbmc9cHl0aG9uMzUuUHlPYmplY3RfRGVsSXRlbVN0cmluZworICBQeU9iamVjdF9EaXI9cHl0aG9uMzUuUHlPYmplY3RfRGlyCisgIFB5T2JqZWN0X0Zvcm1hdD1weXRob24zNS5QeU9iamVjdF9Gb3JtYXQKKyAgUHlPYmplY3RfRnJlZT1weXRob24zNS5QeU9iamVjdF9GcmVlCisgIFB5T2JqZWN0X0dDX0RlbD1weXRob24zNS5QeU9iamVjdF9HQ19EZWwKKyAgUHlPYmplY3RfR0NfVHJhY2s9cHl0aG9uMzUuUHlPYmplY3RfR0NfVHJhY2sKKyAgUHlPYmplY3RfR0NfVW5UcmFjaz1weXRob24zNS5QeU9iamVjdF9HQ19VblRyYWNrCisgIFB5T2JqZWN0X0dlbmVyaWNHZXRBdHRyPXB5dGhvbjM1LlB5T2JqZWN0X0dlbmVyaWNHZXRBdHRyCisgIFB5T2JqZWN0X0dlbmVyaWNTZXRBdHRyPXB5dGhvbjM1LlB5T2JqZWN0X0dlbmVyaWNTZXRBdHRyCisgIFB5T2JqZWN0X0dldEF0dHI9cHl0aG9uMzUuUHlPYmplY3RfR2V0QXR0cgorICBQeU9iamVjdF9HZXRBdHRyU3RyaW5nPXB5dGhvbjM1LlB5T2JqZWN0X0dldEF0dHJTdHJpbmcKKyAgUHlPYmplY3RfR2V0SXRlbT1weXRob24zNS5QeU9iamVjdF9HZXRJdGVtCisgIFB5T2JqZWN0X0dldEl0ZXI9cHl0aG9uMzUuUHlPYmplY3RfR2V0SXRlcgorICBQeU9iamVjdF9IYXNBdHRyPXB5dGhvbjM1LlB5T2JqZWN0X0hhc0F0dHIKKyAgUHlPYmplY3RfSGFzQXR0clN0cmluZz1weXRob24zNS5QeU9iamVjdF9IYXNBdHRyU3RyaW5nCisgIFB5T2JqZWN0X0hhc2g9cHl0aG9uMzUuUHlPYmplY3RfSGFzaAorICBQeU9iamVjdF9IYXNoTm90SW1wbGVtZW50ZWQ9cHl0aG9uMzUuUHlPYmplY3RfSGFzaE5vdEltcGxlbWVudGVkCisgIFB5T2JqZWN0X0luaXQ9cHl0aG9uMzUuUHlPYmplY3RfSW5pdAorICBQeU9iamVjdF9Jbml0VmFyPXB5dGhvbjM1LlB5T2JqZWN0X0luaXRWYXIKKyAgUHlPYmplY3RfSXNJbnN0YW5jZT1weXRob24zNS5QeU9iamVjdF9Jc0luc3RhbmNlCisgIFB5T2JqZWN0X0lzU3ViY2xhc3M9cHl0aG9uMzUuUHlPYmplY3RfSXNTdWJjbGFzcworICBQeU9iamVjdF9Jc1RydWU9cHl0aG9uMzUuUHlPYmplY3RfSXNUcnVlCisgIFB5T2JqZWN0X0xlbmd0aD1weXRob24zNS5QeU9iamVjdF9MZW5ndGgKKyAgUHlPYmplY3RfTWFsbG9jPXB5dGhvbjM1LlB5T2JqZWN0X01hbGxvYworICBQeU9iamVjdF9Ob3Q9cHl0aG9uMzUuUHlPYmplY3RfTm90CisgIFB5T2JqZWN0X1JlYWxsb2M9cHl0aG9uMzUuUHlPYmplY3RfUmVhbGxvYworICBQeU9iamVjdF9SZXByPXB5dGhvbjM1LlB5T2JqZWN0X1JlcHIKKyAgUHlPYmplY3RfUmljaENvbXBhcmU9cHl0aG9uMzUuUHlPYmplY3RfUmljaENvbXBhcmUKKyAgUHlPYmplY3RfUmljaENvbXBhcmVCb29sPXB5dGhvbjM1LlB5T2JqZWN0X1JpY2hDb21wYXJlQm9vbAorICBQeU9iamVjdF9TZWxmSXRlcj1weXRob24zNS5QeU9iamVjdF9TZWxmSXRlcgorICBQeU9iamVjdF9TZXRBdHRyPXB5dGhvbjM1LlB5T2JqZWN0X1NldEF0dHIKKyAgUHlPYmplY3RfU2V0QXR0clN0cmluZz1weXRob24zNS5QeU9iamVjdF9TZXRBdHRyU3RyaW5nCisgIFB5T2JqZWN0X1NldEl0ZW09cHl0aG9uMzUuUHlPYmplY3RfU2V0SXRlbQorICBQeU9iamVjdF9TaXplPXB5dGhvbjM1LlB5T2JqZWN0X1NpemUKKyAgUHlPYmplY3RfU3RyPXB5dGhvbjM1LlB5T2JqZWN0X1N0cgorICBQeU9iamVjdF9UeXBlPXB5dGhvbjM1LlB5T2JqZWN0X1R5cGUgREFUQQorICBQeVBhcnNlcl9TaW1wbGVQYXJzZUZpbGVGbGFncz1weXRob24zNS5QeVBhcnNlcl9TaW1wbGVQYXJzZUZpbGVGbGFncworICBQeVBhcnNlcl9TaW1wbGVQYXJzZVN0cmluZ0ZsYWdzPXB5dGhvbjM1LlB5UGFyc2VyX1NpbXBsZVBhcnNlU3RyaW5nRmxhZ3MKKyAgUHlQcm9wZXJ0eV9UeXBlPXB5dGhvbjM1LlB5UHJvcGVydHlfVHlwZSBEQVRBCisgIFB5UmFuZ2VJdGVyX1R5cGU9cHl0aG9uMzUuUHlSYW5nZUl0ZXJfVHlwZSBEQVRBCisgIFB5UmFuZ2VfVHlwZT1weXRob24zNS5QeVJhbmdlX1R5cGUgREFUQQorICBQeVJldmVyc2VkX1R5cGU9cHl0aG9uMzUuUHlSZXZlcnNlZF9UeXBlIERBVEEKKyAgUHlTZXFJdGVyX05ldz1weXRob24zNS5QeVNlcUl0ZXJfTmV3CisgIFB5U2VxSXRlcl9UeXBlPXB5dGhvbjM1LlB5U2VxSXRlcl9UeXBlIERBVEEKKyAgUHlTZXF1ZW5jZV9DaGVjaz1weXRob24zNS5QeVNlcXVlbmNlX0NoZWNrCisgIFB5U2VxdWVuY2VfQ29uY2F0PXB5dGhvbjM1LlB5U2VxdWVuY2VfQ29uY2F0CisgIFB5U2VxdWVuY2VfQ29udGFpbnM9cHl0aG9uMzUuUHlTZXF1ZW5jZV9Db250YWlucworICBQeVNlcXVlbmNlX0NvdW50PXB5dGhvbjM1LlB5U2VxdWVuY2VfQ291bnQKKyAgUHlTZXF1ZW5jZV9EZWxJdGVtPXB5dGhvbjM1LlB5U2VxdWVuY2VfRGVsSXRlbQorICBQeVNlcXVlbmNlX0RlbFNsaWNlPXB5dGhvbjM1LlB5U2VxdWVuY2VfRGVsU2xpY2UKKyAgUHlTZXF1ZW5jZV9GYXN0PXB5dGhvbjM1LlB5U2VxdWVuY2VfRmFzdAorICBQeVNlcXVlbmNlX0dldEl0ZW09cHl0aG9uMzUuUHlTZXF1ZW5jZV9HZXRJdGVtCisgIFB5U2VxdWVuY2VfR2V0U2xpY2U9cHl0aG9uMzUuUHlTZXF1ZW5jZV9HZXRTbGljZQorICBQeVNlcXVlbmNlX0luPXB5dGhvbjM1LlB5U2VxdWVuY2VfSW4KKyAgUHlTZXF1ZW5jZV9JblBsYWNlQ29uY2F0PXB5dGhvbjM1LlB5U2VxdWVuY2VfSW5QbGFjZUNvbmNhdAorICBQeVNlcXVlbmNlX0luUGxhY2VSZXBlYXQ9cHl0aG9uMzUuUHlTZXF1ZW5jZV9JblBsYWNlUmVwZWF0CisgIFB5U2VxdWVuY2VfSW5kZXg9cHl0aG9uMzUuUHlTZXF1ZW5jZV9JbmRleAorICBQeVNlcXVlbmNlX0xlbmd0aD1weXRob24zNS5QeVNlcXVlbmNlX0xlbmd0aAorICBQeVNlcXVlbmNlX0xpc3Q9cHl0aG9uMzUuUHlTZXF1ZW5jZV9MaXN0CisgIFB5U2VxdWVuY2VfUmVwZWF0PXB5dGhvbjM1LlB5U2VxdWVuY2VfUmVwZWF0CisgIFB5U2VxdWVuY2VfU2V0SXRlbT1weXRob24zNS5QeVNlcXVlbmNlX1NldEl0ZW0KKyAgUHlTZXF1ZW5jZV9TZXRTbGljZT1weXRob24zNS5QeVNlcXVlbmNlX1NldFNsaWNlCisgIFB5U2VxdWVuY2VfU2l6ZT1weXRob24zNS5QeVNlcXVlbmNlX1NpemUKKyAgUHlTZXF1ZW5jZV9UdXBsZT1weXRob24zNS5QeVNlcXVlbmNlX1R1cGxlCisgIFB5U2V0SXRlcl9UeXBlPXB5dGhvbjM1LlB5U2V0SXRlcl9UeXBlIERBVEEKKyAgUHlTZXRfQWRkPXB5dGhvbjM1LlB5U2V0X0FkZAorICBQeVNldF9DbGVhcj1weXRob24zNS5QeVNldF9DbGVhcgorICBQeVNldF9Db250YWlucz1weXRob24zNS5QeVNldF9Db250YWlucworICBQeVNldF9EaXNjYXJkPXB5dGhvbjM1LlB5U2V0X0Rpc2NhcmQKKyAgUHlTZXRfTmV3PXB5dGhvbjM1LlB5U2V0X05ldworICBQeVNldF9Qb3A9cHl0aG9uMzUuUHlTZXRfUG9wCisgIFB5U2V0X1NpemU9cHl0aG9uMzUuUHlTZXRfU2l6ZQorICBQeVNldF9UeXBlPXB5dGhvbjM1LlB5U2V0X1R5cGUgREFUQQorICBQeVNsaWNlX0dldEluZGljZXM9cHl0aG9uMzUuUHlTbGljZV9HZXRJbmRpY2VzCisgIFB5U2xpY2VfR2V0SW5kaWNlc0V4PXB5dGhvbjM1LlB5U2xpY2VfR2V0SW5kaWNlc0V4CisgIFB5U2xpY2VfTmV3PXB5dGhvbjM1LlB5U2xpY2VfTmV3CisgIFB5U2xpY2VfVHlwZT1weXRob24zNS5QeVNsaWNlX1R5cGUgREFUQQorICBQeVNvcnRXcmFwcGVyX1R5cGU9cHl0aG9uMzUuUHlTb3J0V3JhcHBlcl9UeXBlIERBVEEKKyAgUHlTdGF0ZV9GaW5kTW9kdWxlPXB5dGhvbjM1LlB5U3RhdGVfRmluZE1vZHVsZQorICBQeVN0YXRlX0FkZE1vZHVsZT1weXRob24zNS5QeVN0YXRlX0FkZE1vZHVsZQorICBQeVN0YXRlX1JlbW92ZU1vZHVsZT1weXRob24zNS5QeVN0YXRlX1JlbW92ZU1vZHVsZQorICBQeVN0cnVjdFNlcXVlbmNlX0dldEl0ZW09cHl0aG9uMzUuUHlTdHJ1Y3RTZXF1ZW5jZV9HZXRJdGVtCisgIFB5U3RydWN0U2VxdWVuY2VfTmV3PXB5dGhvbjM1LlB5U3RydWN0U2VxdWVuY2VfTmV3CisgIFB5U3RydWN0U2VxdWVuY2VfTmV3VHlwZT1weXRob24zNS5QeVN0cnVjdFNlcXVlbmNlX05ld1R5cGUKKyAgUHlTdHJ1Y3RTZXF1ZW5jZV9TZXRJdGVtPXB5dGhvbjM1LlB5U3RydWN0U2VxdWVuY2VfU2V0SXRlbQorICBQeVN1cGVyX1R5cGU9cHl0aG9uMzUuUHlTdXBlcl9UeXBlIERBVEEKKyAgUHlTeXNfQWRkV2Fybk9wdGlvbj1weXRob24zNS5QeVN5c19BZGRXYXJuT3B0aW9uCisgIFB5U3lzX0FkZFdhcm5PcHRpb25Vbmljb2RlPXB5dGhvbjM1LlB5U3lzX0FkZFdhcm5PcHRpb25Vbmljb2RlCisgIFB5U3lzX0Zvcm1hdFN0ZGVycj1weXRob24zNS5QeVN5c19Gb3JtYXRTdGRlcnIKKyAgUHlTeXNfRm9ybWF0U3Rkb3V0PXB5dGhvbjM1LlB5U3lzX0Zvcm1hdFN0ZG91dAorICBQeVN5c19HZXRPYmplY3Q9cHl0aG9uMzUuUHlTeXNfR2V0T2JqZWN0CisgIFB5U3lzX0hhc1dhcm5PcHRpb25zPXB5dGhvbjM1LlB5U3lzX0hhc1dhcm5PcHRpb25zCisgIFB5U3lzX1Jlc2V0V2Fybk9wdGlvbnM9cHl0aG9uMzUuUHlTeXNfUmVzZXRXYXJuT3B0aW9ucworICBQeVN5c19TZXRBcmd2PXB5dGhvbjM1LlB5U3lzX1NldEFyZ3YKKyAgUHlTeXNfU2V0QXJndkV4PXB5dGhvbjM1LlB5U3lzX1NldEFyZ3ZFeAorICBQeVN5c19TZXRPYmplY3Q9cHl0aG9uMzUuUHlTeXNfU2V0T2JqZWN0CisgIFB5U3lzX1NldFBhdGg9cHl0aG9uMzUuUHlTeXNfU2V0UGF0aAorICBQeVN5c19Xcml0ZVN0ZGVycj1weXRob24zNS5QeVN5c19Xcml0ZVN0ZGVycgorICBQeVN5c19Xcml0ZVN0ZG91dD1weXRob24zNS5QeVN5c19Xcml0ZVN0ZG91dAorICBQeVRocmVhZFN0YXRlX0NsZWFyPXB5dGhvbjM1LlB5VGhyZWFkU3RhdGVfQ2xlYXIKKyAgUHlUaHJlYWRTdGF0ZV9EZWxldGU9cHl0aG9uMzUuUHlUaHJlYWRTdGF0ZV9EZWxldGUKKyAgUHlUaHJlYWRTdGF0ZV9EZWxldGVDdXJyZW50PXB5dGhvbjM1LlB5VGhyZWFkU3RhdGVfRGVsZXRlQ3VycmVudAorICBQeVRocmVhZFN0YXRlX0dldD1weXRob24zNS5QeVRocmVhZFN0YXRlX0dldAorICBQeVRocmVhZFN0YXRlX0dldERpY3Q9cHl0aG9uMzUuUHlUaHJlYWRTdGF0ZV9HZXREaWN0CisgIFB5VGhyZWFkU3RhdGVfTmV3PXB5dGhvbjM1LlB5VGhyZWFkU3RhdGVfTmV3CisgIFB5VGhyZWFkU3RhdGVfU2V0QXN5bmNFeGM9cHl0aG9uMzUuUHlUaHJlYWRTdGF0ZV9TZXRBc3luY0V4YworICBQeVRocmVhZFN0YXRlX1N3YXA9cHl0aG9uMzUuUHlUaHJlYWRTdGF0ZV9Td2FwCisgIFB5VHJhY2VCYWNrX0hlcmU9cHl0aG9uMzUuUHlUcmFjZUJhY2tfSGVyZQorICBQeVRyYWNlQmFja19QcmludD1weXRob24zNS5QeVRyYWNlQmFja19QcmludAorICBQeVRyYWNlQmFja19UeXBlPXB5dGhvbjM1LlB5VHJhY2VCYWNrX1R5cGUgREFUQQorICBQeVR1cGxlSXRlcl9UeXBlPXB5dGhvbjM1LlB5VHVwbGVJdGVyX1R5cGUgREFUQQorICBQeVR1cGxlX0NsZWFyRnJlZUxpc3Q9cHl0aG9uMzUuUHlUdXBsZV9DbGVhckZyZWVMaXN0CisgIFB5VHVwbGVfR2V0SXRlbT1weXRob24zNS5QeVR1cGxlX0dldEl0ZW0KKyAgUHlUdXBsZV9HZXRTbGljZT1weXRob24zNS5QeVR1cGxlX0dldFNsaWNlCisgIFB5VHVwbGVfTmV3PXB5dGhvbjM1LlB5VHVwbGVfTmV3CisgIFB5VHVwbGVfUGFjaz1weXRob24zNS5QeVR1cGxlX1BhY2sKKyAgUHlUdXBsZV9TZXRJdGVtPXB5dGhvbjM1LlB5VHVwbGVfU2V0SXRlbQorICBQeVR1cGxlX1NpemU9cHl0aG9uMzUuUHlUdXBsZV9TaXplCisgIFB5VHVwbGVfVHlwZT1weXRob24zNS5QeVR1cGxlX1R5cGUgREFUQQorICBQeVR5cGVfQ2xlYXJDYWNoZT1weXRob24zNS5QeVR5cGVfQ2xlYXJDYWNoZQorICBQeVR5cGVfRnJvbVNwZWM9cHl0aG9uMzUuUHlUeXBlX0Zyb21TcGVjCisgIFB5VHlwZV9Gcm9tU3BlY1dpdGhCYXNlcz1weXRob24zNS5QeVR5cGVfRnJvbVNwZWNXaXRoQmFzZXMKKyAgUHlUeXBlX0dlbmVyaWNBbGxvYz1weXRob24zNS5QeVR5cGVfR2VuZXJpY0FsbG9jCisgIFB5VHlwZV9HZW5lcmljTmV3PXB5dGhvbjM1LlB5VHlwZV9HZW5lcmljTmV3CisgIFB5VHlwZV9HZXRGbGFncz1weXRob24zNS5QeVR5cGVfR2V0RmxhZ3MKKyAgUHlUeXBlX0dldFNsb3Q9cHl0aG9uMzUuUHlUeXBlX0dldFNsb3QKKyAgUHlUeXBlX0lzU3VidHlwZT1weXRob24zNS5QeVR5cGVfSXNTdWJ0eXBlCisgIFB5VHlwZV9Nb2RpZmllZD1weXRob24zNS5QeVR5cGVfTW9kaWZpZWQKKyAgUHlUeXBlX1JlYWR5PXB5dGhvbjM1LlB5VHlwZV9SZWFkeQorICBQeVR5cGVfVHlwZT1weXRob24zNS5QeVR5cGVfVHlwZSBEQVRBCisgIFB5VW5pY29kZURlY29kZUVycm9yX0NyZWF0ZT1weXRob24zNS5QeVVuaWNvZGVEZWNvZGVFcnJvcl9DcmVhdGUKKyAgUHlVbmljb2RlRGVjb2RlRXJyb3JfR2V0RW5jb2Rpbmc9cHl0aG9uMzUuUHlVbmljb2RlRGVjb2RlRXJyb3JfR2V0RW5jb2RpbmcKKyAgUHlVbmljb2RlRGVjb2RlRXJyb3JfR2V0RW5kPXB5dGhvbjM1LlB5VW5pY29kZURlY29kZUVycm9yX0dldEVuZAorICBQeVVuaWNvZGVEZWNvZGVFcnJvcl9HZXRPYmplY3Q9cHl0aG9uMzUuUHlVbmljb2RlRGVjb2RlRXJyb3JfR2V0T2JqZWN0CisgIFB5VW5pY29kZURlY29kZUVycm9yX0dldFJlYXNvbj1weXRob24zNS5QeVVuaWNvZGVEZWNvZGVFcnJvcl9HZXRSZWFzb24KKyAgUHlVbmljb2RlRGVjb2RlRXJyb3JfR2V0U3RhcnQ9cHl0aG9uMzUuUHlVbmljb2RlRGVjb2RlRXJyb3JfR2V0U3RhcnQKKyAgUHlVbmljb2RlRGVjb2RlRXJyb3JfU2V0RW5kPXB5dGhvbjM1LlB5VW5pY29kZURlY29kZUVycm9yX1NldEVuZAorICBQeVVuaWNvZGVEZWNvZGVFcnJvcl9TZXRSZWFzb249cHl0aG9uMzUuUHlVbmljb2RlRGVjb2RlRXJyb3JfU2V0UmVhc29uCisgIFB5VW5pY29kZURlY29kZUVycm9yX1NldFN0YXJ0PXB5dGhvbjM1LlB5VW5pY29kZURlY29kZUVycm9yX1NldFN0YXJ0CisgIFB5VW5pY29kZUVuY29kZUVycm9yX0dldEVuY29kaW5nPXB5dGhvbjM1LlB5VW5pY29kZUVuY29kZUVycm9yX0dldEVuY29kaW5nCisgIFB5VW5pY29kZUVuY29kZUVycm9yX0dldEVuZD1weXRob24zNS5QeVVuaWNvZGVFbmNvZGVFcnJvcl9HZXRFbmQKKyAgUHlVbmljb2RlRW5jb2RlRXJyb3JfR2V0T2JqZWN0PXB5dGhvbjM1LlB5VW5pY29kZUVuY29kZUVycm9yX0dldE9iamVjdAorICBQeVVuaWNvZGVFbmNvZGVFcnJvcl9HZXRSZWFzb249cHl0aG9uMzUuUHlVbmljb2RlRW5jb2RlRXJyb3JfR2V0UmVhc29uCisgIFB5VW5pY29kZUVuY29kZUVycm9yX0dldFN0YXJ0PXB5dGhvbjM1LlB5VW5pY29kZUVuY29kZUVycm9yX0dldFN0YXJ0CisgIFB5VW5pY29kZUVuY29kZUVycm9yX1NldEVuZD1weXRob24zNS5QeVVuaWNvZGVFbmNvZGVFcnJvcl9TZXRFbmQKKyAgUHlVbmljb2RlRW5jb2RlRXJyb3JfU2V0UmVhc29uPXB5dGhvbjM1LlB5VW5pY29kZUVuY29kZUVycm9yX1NldFJlYXNvbgorICBQeVVuaWNvZGVFbmNvZGVFcnJvcl9TZXRTdGFydD1weXRob24zNS5QeVVuaWNvZGVFbmNvZGVFcnJvcl9TZXRTdGFydAorICBQeVVuaWNvZGVJdGVyX1R5cGU9cHl0aG9uMzUuUHlVbmljb2RlSXRlcl9UeXBlIERBVEEKKyAgUHlVbmljb2RlVHJhbnNsYXRlRXJyb3JfR2V0RW5kPXB5dGhvbjM1LlB5VW5pY29kZVRyYW5zbGF0ZUVycm9yX0dldEVuZAorICBQeVVuaWNvZGVUcmFuc2xhdGVFcnJvcl9HZXRPYmplY3Q9cHl0aG9uMzUuUHlVbmljb2RlVHJhbnNsYXRlRXJyb3JfR2V0T2JqZWN0CisgIFB5VW5pY29kZVRyYW5zbGF0ZUVycm9yX0dldFJlYXNvbj1weXRob24zNS5QeVVuaWNvZGVUcmFuc2xhdGVFcnJvcl9HZXRSZWFzb24KKyAgUHlVbmljb2RlVHJhbnNsYXRlRXJyb3JfR2V0U3RhcnQ9cHl0aG9uMzUuUHlVbmljb2RlVHJhbnNsYXRlRXJyb3JfR2V0U3RhcnQKKyAgUHlVbmljb2RlVHJhbnNsYXRlRXJyb3JfU2V0RW5kPXB5dGhvbjM1LlB5VW5pY29kZVRyYW5zbGF0ZUVycm9yX1NldEVuZAorICBQeVVuaWNvZGVUcmFuc2xhdGVFcnJvcl9TZXRSZWFzb249cHl0aG9uMzUuUHlVbmljb2RlVHJhbnNsYXRlRXJyb3JfU2V0UmVhc29uCisgIFB5VW5pY29kZVRyYW5zbGF0ZUVycm9yX1NldFN0YXJ0PXB5dGhvbjM1LlB5VW5pY29kZVRyYW5zbGF0ZUVycm9yX1NldFN0YXJ0CisgIFB5VW5pY29kZV9BcHBlbmQ9cHl0aG9uMzUuUHlVbmljb2RlX0FwcGVuZAorICBQeVVuaWNvZGVfQXBwZW5kQW5kRGVsPXB5dGhvbjM1LlB5VW5pY29kZV9BcHBlbmRBbmREZWwKKyAgUHlVbmljb2RlX0FzQVNDSUlTdHJpbmc9cHl0aG9uMzUuUHlVbmljb2RlX0FzQVNDSUlTdHJpbmcKKyAgUHlVbmljb2RlX0FzQ2hhcm1hcFN0cmluZz1weXRob24zNS5QeVVuaWNvZGVfQXNDaGFybWFwU3RyaW5nCisgIFB5VW5pY29kZV9Bc0RlY29kZWRPYmplY3Q9cHl0aG9uMzUuUHlVbmljb2RlX0FzRGVjb2RlZE9iamVjdAorICBQeVVuaWNvZGVfQXNEZWNvZGVkVW5pY29kZT1weXRob24zNS5QeVVuaWNvZGVfQXNEZWNvZGVkVW5pY29kZQorICBQeVVuaWNvZGVfQXNFbmNvZGVkT2JqZWN0PXB5dGhvbjM1LlB5VW5pY29kZV9Bc0VuY29kZWRPYmplY3QKKyAgUHlVbmljb2RlX0FzRW5jb2RlZFN0cmluZz1weXRob24zNS5QeVVuaWNvZGVfQXNFbmNvZGVkU3RyaW5nCisgIFB5VW5pY29kZV9Bc0VuY29kZWRVbmljb2RlPXB5dGhvbjM1LlB5VW5pY29kZV9Bc0VuY29kZWRVbmljb2RlCisgIFB5VW5pY29kZV9Bc0xhdGluMVN0cmluZz1weXRob24zNS5QeVVuaWNvZGVfQXNMYXRpbjFTdHJpbmcKKyAgUHlVbmljb2RlX0FzUmF3VW5pY29kZUVzY2FwZVN0cmluZz1weXRob24zNS5QeVVuaWNvZGVfQXNSYXdVbmljb2RlRXNjYXBlU3RyaW5nCisgIFB5VW5pY29kZV9Bc1VURjE2U3RyaW5nPXB5dGhvbjM1LlB5VW5pY29kZV9Bc1VURjE2U3RyaW5nCisgIFB5VW5pY29kZV9Bc1VURjMyU3RyaW5nPXB5dGhvbjM1LlB5VW5pY29kZV9Bc1VURjMyU3RyaW5nCisgIFB5VW5pY29kZV9Bc1VURjhTdHJpbmc9cHl0aG9uMzUuUHlVbmljb2RlX0FzVVRGOFN0cmluZworICBQeVVuaWNvZGVfQXNVbmljb2RlRXNjYXBlU3RyaW5nPXB5dGhvbjM1LlB5VW5pY29kZV9Bc1VuaWNvZGVFc2NhcGVTdHJpbmcKKyAgUHlVbmljb2RlX0FzV2lkZUNoYXI9cHl0aG9uMzUuUHlVbmljb2RlX0FzV2lkZUNoYXIKKyAgUHlVbmljb2RlX0NsZWFyRnJlZWxpc3Q9cHl0aG9uMzUuUHlVbmljb2RlX0NsZWFyRnJlZWxpc3QKKyAgUHlVbmljb2RlX0NvbXBhcmU9cHl0aG9uMzUuUHlVbmljb2RlX0NvbXBhcmUKKyAgUHlVbmljb2RlX0NvbmNhdD1weXRob24zNS5QeVVuaWNvZGVfQ29uY2F0CisgIFB5VW5pY29kZV9Db250YWlucz1weXRob24zNS5QeVVuaWNvZGVfQ29udGFpbnMKKyAgUHlVbmljb2RlX0NvdW50PXB5dGhvbjM1LlB5VW5pY29kZV9Db3VudAorICBQeVVuaWNvZGVfRGVjb2RlPXB5dGhvbjM1LlB5VW5pY29kZV9EZWNvZGUKKyAgUHlVbmljb2RlX0RlY29kZUFTQ0lJPXB5dGhvbjM1LlB5VW5pY29kZV9EZWNvZGVBU0NJSQorICBQeVVuaWNvZGVfRGVjb2RlQ2hhcm1hcD1weXRob24zNS5QeVVuaWNvZGVfRGVjb2RlQ2hhcm1hcAorICBQeVVuaWNvZGVfRGVjb2RlRlNEZWZhdWx0PXB5dGhvbjM1LlB5VW5pY29kZV9EZWNvZGVGU0RlZmF1bHQKKyAgUHlVbmljb2RlX0RlY29kZUZTRGVmYXVsdEFuZFNpemU9cHl0aG9uMzUuUHlVbmljb2RlX0RlY29kZUZTRGVmYXVsdEFuZFNpemUKKyAgUHlVbmljb2RlX0RlY29kZUxhdGluMT1weXRob24zNS5QeVVuaWNvZGVfRGVjb2RlTGF0aW4xCisgIFB5VW5pY29kZV9EZWNvZGVSYXdVbmljb2RlRXNjYXBlPXB5dGhvbjM1LlB5VW5pY29kZV9EZWNvZGVSYXdVbmljb2RlRXNjYXBlCisgIFB5VW5pY29kZV9EZWNvZGVVVEYxNj1weXRob24zNS5QeVVuaWNvZGVfRGVjb2RlVVRGMTYKKyAgUHlVbmljb2RlX0RlY29kZVVURjE2U3RhdGVmdWw9cHl0aG9uMzUuUHlVbmljb2RlX0RlY29kZVVURjE2U3RhdGVmdWwKKyAgUHlVbmljb2RlX0RlY29kZVVURjMyPXB5dGhvbjM1LlB5VW5pY29kZV9EZWNvZGVVVEYzMgorICBQeVVuaWNvZGVfRGVjb2RlVVRGMzJTdGF0ZWZ1bD1weXRob24zNS5QeVVuaWNvZGVfRGVjb2RlVVRGMzJTdGF0ZWZ1bAorICBQeVVuaWNvZGVfRGVjb2RlVVRGOD1weXRob24zNS5QeVVuaWNvZGVfRGVjb2RlVVRGOAorICBQeVVuaWNvZGVfRGVjb2RlVVRGOFN0YXRlZnVsPXB5dGhvbjM1LlB5VW5pY29kZV9EZWNvZGVVVEY4U3RhdGVmdWwKKyAgUHlVbmljb2RlX0RlY29kZVVuaWNvZGVFc2NhcGU9cHl0aG9uMzUuUHlVbmljb2RlX0RlY29kZVVuaWNvZGVFc2NhcGUKKyAgUHlVbmljb2RlX0ZTQ29udmVydGVyPXB5dGhvbjM1LlB5VW5pY29kZV9GU0NvbnZlcnRlcgorICBQeVVuaWNvZGVfRlNEZWNvZGVyPXB5dGhvbjM1LlB5VW5pY29kZV9GU0RlY29kZXIKKyAgUHlVbmljb2RlX0ZpbmQ9cHl0aG9uMzUuUHlVbmljb2RlX0ZpbmQKKyAgUHlVbmljb2RlX0Zvcm1hdD1weXRob24zNS5QeVVuaWNvZGVfRm9ybWF0CisgIFB5VW5pY29kZV9Gcm9tRW5jb2RlZE9iamVjdD1weXRob24zNS5QeVVuaWNvZGVfRnJvbUVuY29kZWRPYmplY3QKKyAgUHlVbmljb2RlX0Zyb21Gb3JtYXQ9cHl0aG9uMzUuUHlVbmljb2RlX0Zyb21Gb3JtYXQKKyAgUHlVbmljb2RlX0Zyb21Gb3JtYXRWPXB5dGhvbjM1LlB5VW5pY29kZV9Gcm9tRm9ybWF0VgorICBQeVVuaWNvZGVfRnJvbU9iamVjdD1weXRob24zNS5QeVVuaWNvZGVfRnJvbU9iamVjdAorICBQeVVuaWNvZGVfRnJvbU9yZGluYWw9cHl0aG9uMzUuUHlVbmljb2RlX0Zyb21PcmRpbmFsCisgIFB5VW5pY29kZV9Gcm9tU3RyaW5nPXB5dGhvbjM1LlB5VW5pY29kZV9Gcm9tU3RyaW5nCisgIFB5VW5pY29kZV9Gcm9tU3RyaW5nQW5kU2l6ZT1weXRob24zNS5QeVVuaWNvZGVfRnJvbVN0cmluZ0FuZFNpemUKKyAgUHlVbmljb2RlX0Zyb21XaWRlQ2hhcj1weXRob24zNS5QeVVuaWNvZGVfRnJvbVdpZGVDaGFyCisgIFB5VW5pY29kZV9HZXREZWZhdWx0RW5jb2Rpbmc9cHl0aG9uMzUuUHlVbmljb2RlX0dldERlZmF1bHRFbmNvZGluZworICBQeVVuaWNvZGVfR2V0U2l6ZT1weXRob24zNS5QeVVuaWNvZGVfR2V0U2l6ZQorICBQeVVuaWNvZGVfSXNJZGVudGlmaWVyPXB5dGhvbjM1LlB5VW5pY29kZV9Jc0lkZW50aWZpZXIKKyAgUHlVbmljb2RlX0pvaW49cHl0aG9uMzUuUHlVbmljb2RlX0pvaW4KKyAgUHlVbmljb2RlX1BhcnRpdGlvbj1weXRob24zNS5QeVVuaWNvZGVfUGFydGl0aW9uCisgIFB5VW5pY29kZV9SUGFydGl0aW9uPXB5dGhvbjM1LlB5VW5pY29kZV9SUGFydGl0aW9uCisgIFB5VW5pY29kZV9SU3BsaXQ9cHl0aG9uMzUuUHlVbmljb2RlX1JTcGxpdAorICBQeVVuaWNvZGVfUmVwbGFjZT1weXRob24zNS5QeVVuaWNvZGVfUmVwbGFjZQorICBQeVVuaWNvZGVfUmVzaXplPXB5dGhvbjM1LlB5VW5pY29kZV9SZXNpemUKKyAgUHlVbmljb2RlX1JpY2hDb21wYXJlPXB5dGhvbjM1LlB5VW5pY29kZV9SaWNoQ29tcGFyZQorICBQeVVuaWNvZGVfU2V0RGVmYXVsdEVuY29kaW5nPXB5dGhvbjM1LlB5VW5pY29kZV9TZXREZWZhdWx0RW5jb2RpbmcKKyAgUHlVbmljb2RlX1NwbGl0PXB5dGhvbjM1LlB5VW5pY29kZV9TcGxpdAorICBQeVVuaWNvZGVfU3BsaXRsaW5lcz1weXRob24zNS5QeVVuaWNvZGVfU3BsaXRsaW5lcworICBQeVVuaWNvZGVfVGFpbG1hdGNoPXB5dGhvbjM1LlB5VW5pY29kZV9UYWlsbWF0Y2gKKyAgUHlVbmljb2RlX1RyYW5zbGF0ZT1weXRob24zNS5QeVVuaWNvZGVfVHJhbnNsYXRlCisgIFB5VW5pY29kZV9CdWlsZEVuY29kaW5nTWFwPXB5dGhvbjM1LlB5VW5pY29kZV9CdWlsZEVuY29kaW5nTWFwCisgIFB5VW5pY29kZV9Db21wYXJlV2l0aEFTQ0lJU3RyaW5nPXB5dGhvbjM1LlB5VW5pY29kZV9Db21wYXJlV2l0aEFTQ0lJU3RyaW5nCisgIFB5VW5pY29kZV9EZWNvZGVVVEY3PXB5dGhvbjM1LlB5VW5pY29kZV9EZWNvZGVVVEY3CisgIFB5VW5pY29kZV9EZWNvZGVVVEY3U3RhdGVmdWw9cHl0aG9uMzUuUHlVbmljb2RlX0RlY29kZVVURjdTdGF0ZWZ1bAorICBQeVVuaWNvZGVfRW5jb2RlRlNEZWZhdWx0PXB5dGhvbjM1LlB5VW5pY29kZV9FbmNvZGVGU0RlZmF1bHQKKyAgUHlVbmljb2RlX0ludGVybkZyb21TdHJpbmc9cHl0aG9uMzUuUHlVbmljb2RlX0ludGVybkZyb21TdHJpbmcKKyAgUHlVbmljb2RlX0ludGVybkltbW9ydGFsPXB5dGhvbjM1LlB5VW5pY29kZV9JbnRlcm5JbW1vcnRhbAorICBQeVVuaWNvZGVfSW50ZXJuSW5QbGFjZT1weXRob24zNS5QeVVuaWNvZGVfSW50ZXJuSW5QbGFjZQorICBQeVVuaWNvZGVfVHlwZT1weXRob24zNS5QeVVuaWNvZGVfVHlwZSBEQVRBCisgIFB5V2Vha3JlZl9HZXRPYmplY3Q9cHl0aG9uMzUuUHlXZWFrcmVmX0dldE9iamVjdCBEQVRBCisgIFB5V2Vha3JlZl9OZXdQcm94eT1weXRob24zNS5QeVdlYWtyZWZfTmV3UHJveHkKKyAgUHlXZWFrcmVmX05ld1JlZj1weXRob24zNS5QeVdlYWtyZWZfTmV3UmVmCisgIFB5V3JhcHBlckRlc2NyX1R5cGU9cHl0aG9uMzUuUHlXcmFwcGVyRGVzY3JfVHlwZSBEQVRBCisgIFB5V3JhcHBlcl9OZXc9cHl0aG9uMzUuUHlXcmFwcGVyX05ldworICBQeVppcF9UeXBlPXB5dGhvbjM1LlB5WmlwX1R5cGUgREFUQQorICBQeV9BZGRQZW5kaW5nQ2FsbD1weXRob24zNS5QeV9BZGRQZW5kaW5nQ2FsbAorICBQeV9BdEV4aXQ9cHl0aG9uMzUuUHlfQXRFeGl0CisgIFB5X0J1aWxkVmFsdWU9cHl0aG9uMzUuUHlfQnVpbGRWYWx1ZQorICBQeV9Db21waWxlU3RyaW5nPXB5dGhvbjM1LlB5X0NvbXBpbGVTdHJpbmcKKyAgUHlfRGVjUmVmPXB5dGhvbjM1LlB5X0RlY1JlZgorICBQeV9FbmRJbnRlcnByZXRlcj1weXRob24zNS5QeV9FbmRJbnRlcnByZXRlcgorICBQeV9FeGl0PXB5dGhvbjM1LlB5X0V4aXQKKyAgUHlfRmF0YWxFcnJvcj1weXRob24zNS5QeV9GYXRhbEVycm9yCisgIFB5X0ZpbGVTeXN0ZW1EZWZhdWx0RW5jb2Rpbmc9cHl0aG9uMzUuUHlfRmlsZVN5c3RlbURlZmF1bHRFbmNvZGluZyBEQVRBCisgIFB5X0ZpbmFsaXplPXB5dGhvbjM1LlB5X0ZpbmFsaXplCisgIFB5X0dldEJ1aWxkSW5mbz1weXRob24zNS5QeV9HZXRCdWlsZEluZm8KKyAgUHlfR2V0Q29tcGlsZXI9cHl0aG9uMzUuUHlfR2V0Q29tcGlsZXIKKyAgUHlfR2V0Q29weXJpZ2h0PXB5dGhvbjM1LlB5X0dldENvcHlyaWdodAorICBQeV9HZXRFeGVjUHJlZml4PXB5dGhvbjM1LlB5X0dldEV4ZWNQcmVmaXgKKyAgUHlfR2V0UGF0aD1weXRob24zNS5QeV9HZXRQYXRoCisgIFB5X0dldFBsYXRmb3JtPXB5dGhvbjM1LlB5X0dldFBsYXRmb3JtCisgIFB5X0dldFByZWZpeD1weXRob24zNS5QeV9HZXRQcmVmaXgKKyAgUHlfR2V0UHJvZ3JhbUZ1bGxQYXRoPXB5dGhvbjM1LlB5X0dldFByb2dyYW1GdWxsUGF0aAorICBQeV9HZXRQcm9ncmFtTmFtZT1weXRob24zNS5QeV9HZXRQcm9ncmFtTmFtZQorICBQeV9HZXRQeXRob25Ib21lPXB5dGhvbjM1LlB5X0dldFB5dGhvbkhvbWUKKyAgUHlfR2V0UmVjdXJzaW9uTGltaXQ9cHl0aG9uMzUuUHlfR2V0UmVjdXJzaW9uTGltaXQKKyAgUHlfR2V0VmVyc2lvbj1weXRob24zNS5QeV9HZXRWZXJzaW9uCisgIFB5X0hhc0ZpbGVTeXN0ZW1EZWZhdWx0RW5jb2Rpbmc9cHl0aG9uMzUuUHlfSGFzRmlsZVN5c3RlbURlZmF1bHRFbmNvZGluZyBEQVRBCisgIFB5X0luY1JlZj1weXRob24zNS5QeV9JbmNSZWYKKyAgUHlfSW5pdGlhbGl6ZT1weXRob24zNS5QeV9Jbml0aWFsaXplCisgIFB5X0luaXRpYWxpemVFeD1weXRob24zNS5QeV9Jbml0aWFsaXplRXgKKyAgUHlfSXNJbml0aWFsaXplZD1weXRob24zNS5QeV9Jc0luaXRpYWxpemVkCisgIFB5X01haW49cHl0aG9uMzUuUHlfTWFpbgorICBQeV9NYWtlUGVuZGluZ0NhbGxzPXB5dGhvbjM1LlB5X01ha2VQZW5kaW5nQ2FsbHMKKyAgUHlfTmV3SW50ZXJwcmV0ZXI9cHl0aG9uMzUuUHlfTmV3SW50ZXJwcmV0ZXIKKyAgUHlfUmVwckVudGVyPXB5dGhvbjM1LlB5X1JlcHJFbnRlcgorICBQeV9SZXByTGVhdmU9cHl0aG9uMzUuUHlfUmVwckxlYXZlCisgIFB5X1NldFByb2dyYW1OYW1lPXB5dGhvbjM1LlB5X1NldFByb2dyYW1OYW1lCisgIFB5X1NldFB5dGhvbkhvbWU9cHl0aG9uMzUuUHlfU2V0UHl0aG9uSG9tZQorICBQeV9TZXRSZWN1cnNpb25MaW1pdD1weXRob24zNS5QeV9TZXRSZWN1cnNpb25MaW1pdAorICBQeV9TeW10YWJsZVN0cmluZz1weXRob24zNS5QeV9TeW10YWJsZVN0cmluZworICBQeV9WYUJ1aWxkVmFsdWU9cHl0aG9uMzUuUHlfVmFCdWlsZFZhbHVlCisgIF9QeUVycl9CYWRJbnRlcm5hbENhbGw9cHl0aG9uMzUuX1B5RXJyX0JhZEludGVybmFsQ2FsbAorICBfUHlPYmplY3RfQ2FsbEZ1bmN0aW9uX1NpemVUPXB5dGhvbjM1Ll9QeU9iamVjdF9DYWxsRnVuY3Rpb25fU2l6ZVQKKyAgX1B5T2JqZWN0X0NhbGxNZXRob2RfU2l6ZVQ9cHl0aG9uMzUuX1B5T2JqZWN0X0NhbGxNZXRob2RfU2l6ZVQKKyAgX1B5T2JqZWN0X0dDX01hbGxvYz1weXRob24zNS5fUHlPYmplY3RfR0NfTWFsbG9jCisgIF9QeU9iamVjdF9HQ19OZXc9cHl0aG9uMzUuX1B5T2JqZWN0X0dDX05ldworICBfUHlPYmplY3RfR0NfTmV3VmFyPXB5dGhvbjM1Ll9QeU9iamVjdF9HQ19OZXdWYXIKKyAgX1B5T2JqZWN0X0dDX1Jlc2l6ZT1weXRob24zNS5fUHlPYmplY3RfR0NfUmVzaXplCisgIF9QeU9iamVjdF9OZXc9cHl0aG9uMzUuX1B5T2JqZWN0X05ldworICBfUHlPYmplY3RfTmV3VmFyPXB5dGhvbjM1Ll9QeU9iamVjdF9OZXdWYXIKKyAgX1B5U3RhdGVfQWRkTW9kdWxlPXB5dGhvbjM1Ll9QeVN0YXRlX0FkZE1vZHVsZQorICBfUHlUaHJlYWRTdGF0ZV9Jbml0PXB5dGhvbjM1Ll9QeVRocmVhZFN0YXRlX0luaXQKKyAgX1B5VGhyZWFkU3RhdGVfUHJlYWxsb2M9cHl0aG9uMzUuX1B5VGhyZWFkU3RhdGVfUHJlYWxsb2MKKyAgX1B5VHJhc2hfZGVsZXRlX2xhdGVyPXB5dGhvbjM1Ll9QeVRyYXNoX2RlbGV0ZV9sYXRlciBEQVRBCisgIF9QeVRyYXNoX2RlbGV0ZV9uZXN0aW5nPXB5dGhvbjM1Ll9QeVRyYXNoX2RlbGV0ZV9uZXN0aW5nIERBVEEKKyAgX1B5VHJhc2hfZGVwb3NpdF9vYmplY3Q9cHl0aG9uMzUuX1B5VHJhc2hfZGVwb3NpdF9vYmplY3QKKyAgX1B5VHJhc2hfZGVzdHJveV9jaGFpbj1weXRob24zNS5fUHlUcmFzaF9kZXN0cm95X2NoYWluCisgIF9QeVdlYWtyZWZfQ2FsbGFibGVQcm94eVR5cGU9cHl0aG9uMzUuX1B5V2Vha3JlZl9DYWxsYWJsZVByb3h5VHlwZSBEQVRBCisgIF9QeVdlYWtyZWZfUHJveHlUeXBlPXB5dGhvbjM1Ll9QeVdlYWtyZWZfUHJveHlUeXBlIERBVEEKKyAgX1B5V2Vha3JlZl9SZWZUeXBlPXB5dGhvbjM1Ll9QeVdlYWtyZWZfUmVmVHlwZSBEQVRBCisgIF9QeV9CdWlsZFZhbHVlX1NpemVUPXB5dGhvbjM1Ll9QeV9CdWlsZFZhbHVlX1NpemVUCisgIF9QeV9DaGVja1JlY3Vyc2lvbkxpbWl0PXB5dGhvbjM1Ll9QeV9DaGVja1JlY3Vyc2lvbkxpbWl0IERBVEEKKyAgX1B5X0NoZWNrUmVjdXJzaXZlQ2FsbD1weXRob24zNS5fUHlfQ2hlY2tSZWN1cnNpdmVDYWxsCisgIF9QeV9EZWFsbG9jPXB5dGhvbjM1Ll9QeV9EZWFsbG9jCisgIF9QeV9FbGxpcHNpc09iamVjdD1weXRob24zNS5fUHlfRWxsaXBzaXNPYmplY3QgREFUQQorICBfUHlfRmFsc2VTdHJ1Y3Q9cHl0aG9uMzUuX1B5X0ZhbHNlU3RydWN0IERBVEEKKyAgX1B5X05vbmVTdHJ1Y3Q9cHl0aG9uMzUuX1B5X05vbmVTdHJ1Y3QgREFUQQorICBfUHlfTm90SW1wbGVtZW50ZWRTdHJ1Y3Q9cHl0aG9uMzUuX1B5X05vdEltcGxlbWVudGVkU3RydWN0IERBVEEKKyAgX1B5X1N3YXBwZWRPcD1weXRob24zNS5fUHlfU3dhcHBlZE9wIERBVEEKKyAgX1B5X1RydWVTdHJ1Y3Q9cHl0aG9uMzUuX1B5X1RydWVTdHJ1Y3QgREFUQQorICBfUHlfVmFCdWlsZFZhbHVlX1NpemVUPXB5dGhvbjM1Ll9QeV9WYUJ1aWxkVmFsdWVfU2l6ZVQKKyAgX1B5QXJnX1BhcnNlX1NpemVUPXB5dGhvbjM1Ll9QeUFyZ19QYXJzZV9TaXplVAorICBfUHlBcmdfUGFyc2VUdXBsZV9TaXplVD1weXRob24zNS5fUHlBcmdfUGFyc2VUdXBsZV9TaXplVAorICBfUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzX1NpemVUPXB5dGhvbjM1Ll9QeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHNfU2l6ZVQKKyAgX1B5QXJnX1ZhUGFyc2VfU2l6ZVQ9cHl0aG9uMzUuX1B5QXJnX1ZhUGFyc2VfU2l6ZVQKKyAgX1B5QXJnX1ZhUGFyc2VUdXBsZUFuZEtleXdvcmRzX1NpemVUPXB5dGhvbjM1Ll9QeUFyZ19WYVBhcnNlVHVwbGVBbmRLZXl3b3Jkc19TaXplVAorICBfUHlfQnVpbGRWYWx1ZV9TaXplVD1weXRob24zNS5fUHlfQnVpbGRWYWx1ZV9TaXplVApkaWZmIC0tZ2l0IGEvUEMvcHl0aG9uMy5tYWsgYi9QQy9weXRob24zLm1hawpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZmI4ZTdhYS4uMDAwMDAwMAotLS0gYS9QQy9weXRob24zLm1haworKysgL2Rldi9udWxsCkBAIC0xLDE0ICswLDAgQEAKLSQoT3V0RGlyKXB5dGhvbjMuZGxsOglweXRob24zLmRlZiAkKE91dERpcilweXRob24zNHN0dWIubGliCi0JY2wgL0xEIC9GZSQoT3V0RGlyKXB5dGhvbjMuZGxsIHB5dGhvbjNkbGwuYyBweXRob24zLmRlZiAkKE91dERpcilweXRob24zNHN0dWIubGliCi0KLSQoT3V0RGlyKXB5dGhvbjM0c3R1Yi5saWI6CXB5dGhvbjM0c3R1Yi5kZWYKLQlsaWIgL2RlZjpweXRob24zNHN0dWIuZGVmIC9vdXQ6JChPdXREaXIpcHl0aG9uMzRzdHViLmxpYiAvTUFDSElORTokKE1BQ0hJTkUpCi0KLWNsZWFuOgotCUlGIEVYSVNUICQoT3V0RGlyKXB5dGhvbjMuZGxsIGRlbCAkKE91dERpcilweXRob24zLmRsbAotCUlGIEVYSVNUICQoT3V0RGlyKXB5dGhvbjMubGliIGRlbCAkKE91dERpcilweXRob24zLmxpYgotCUlGIEVYSVNUICQoT3V0RGlyKXB5dGhvbjM0c3R1Yi5saWIgZGVsICQoT3V0RGlyKXB5dGhvbjM0c3R1Yi5saWIKLQlJRiBFWElTVCAkKE91dERpcilweXRob24zLmV4cCBkZWwgJChPdXREaXIpcHl0aG9uMy5leHAKLQlJRiBFWElTVCAkKE91dERpcilweXRob24zNHN0dWIuZXhwIGRlbCAkKE91dERpcilweXRob24zNHN0dWIuZXhwCi0KLXJlYnVpbGQ6IGNsZWFuICQoT3V0RGlyKXB5dGhvbjMuZGxsCmRpZmYgLS1naXQgYS9QQy9weXRob24zNGdlbi5weSBiL1BDL3B5dGhvbjM0Z2VuLnB5CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxODBjZTExLi4wMDAwMDAwCi0tLSBhL1BDL3B5dGhvbjM0Z2VuLnB5CisrKyAvZGV2L251bGwKQEAgLTEsMjYgKzAsMCBAQAotIyBHZW5lcmF0ZSBweXRob24zNHN0dWIuZGVmIG91dCBvZiBweXRob24zLmRlZgotIyBUaGUgcmVndWxhciBpbXBvcnQgbGlicmFyeSBjYW5ub3QgYmUgdXNlZCwKLSMgc2luY2UgaXQgZG9lc24ndCBwcm92aWRlIHRoZSByaWdodCBzeW1ib2xzIGZvcgotIyBkYXRhIGZvcndhcmRpbmcKLW91dCA9IG9wZW4oInB5dGhvbjM0c3R1Yi5kZWYiLCAidyIpCi1vdXQud3JpdGUoJ0xJQlJBUlkgInB5dGhvbjM0IlxuJykKLW91dC53cml0ZSgnRVhQT1JUU1xuJykKLQotaW5wID0gb3BlbigicHl0aG9uMy5kZWYiKQotbGluZSA9IGlucC5yZWFkbGluZSgpCi13aGlsZSBsaW5lLnN0cmlwKCkuc3RhcnRzd2l0aCgnOycpOgotICAgIGxpbmUgPSBpbnAucmVhZGxpbmUoKQotbGluZSA9IGlucC5yZWFkbGluZSgpICMgTElCUkFSWQotYXNzZXJ0IGxpbmUuc3RyaXAoKT09J0VYUE9SVFMnCi0KLWZvciBsaW5lIGluIGlucDoKLSAgICAjIFNZTTE9cHl0aG9uMzQuU1lNMlsgREFUQV0KLSAgICBoZWFkLCB0YWlsID0gbGluZS5zcGxpdCgnLicpCi0gICAgaWYgJ0RBVEEnIGluIHRhaWw6Ci0gICAgICAgIHN5bWJvbCwgdGFpbCA9IHRhaWwuc3BsaXQoJyAnKQotICAgIGVsc2U6Ci0gICAgICAgIHN5bWJvbCA9IHRhaWwuc3RyaXAoKQotICAgIG91dC53cml0ZShzeW1ib2wrJ1xuJykKLQotaW5wLmNsb3NlKCkKLW91dC5jbG9zZSgpCmRpZmYgLS1naXQgYS9QQy9weXRob24zNHN0dWIuZGVmIGIvUEMvcHl0aG9uMzRzdHViLmRlZgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzA3NGNmMy4uMDAwMDAwMAotLS0gYS9QQy9weXRob24zNHN0dWIuZGVmCisrKyAvZGV2L251bGwKQEAgLTEsNzAwICswLDAgQEAKLUxJQlJBUlkgInB5dGhvbjM0IgotRVhQT1JUUwotUHlBcmdfUGFyc2UKLVB5QXJnX1BhcnNlVHVwbGUKLVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcwotUHlBcmdfVW5wYWNrVHVwbGUKLVB5QXJnX1ZhUGFyc2UKLVB5QXJnX1ZhUGFyc2VUdXBsZUFuZEtleXdvcmRzCi1QeUFyZ19WYWxpZGF0ZUtleXdvcmRBcmd1bWVudHMKLVB5QmFzZU9iamVjdF9UeXBlCi1QeUJvb2xfRnJvbUxvbmcKLVB5Qm9vbF9UeXBlCi1QeUJ5dGVBcnJheUl0ZXJfVHlwZQotUHlCeXRlQXJyYXlfQXNTdHJpbmcKLVB5Qnl0ZUFycmF5X0NvbmNhdAotUHlCeXRlQXJyYXlfRnJvbU9iamVjdAotUHlCeXRlQXJyYXlfRnJvbVN0cmluZ0FuZFNpemUKLVB5Qnl0ZUFycmF5X1Jlc2l6ZQotUHlCeXRlQXJyYXlfU2l6ZQotUHlCeXRlQXJyYXlfVHlwZQotUHlCeXRlc0l0ZXJfVHlwZQotUHlCeXRlc19Bc1N0cmluZwotUHlCeXRlc19Bc1N0cmluZ0FuZFNpemUKLVB5Qnl0ZXNfQ29uY2F0Ci1QeUJ5dGVzX0NvbmNhdEFuZERlbAotUHlCeXRlc19EZWNvZGVFc2NhcGUKLVB5Qnl0ZXNfRnJvbUZvcm1hdAotUHlCeXRlc19Gcm9tRm9ybWF0VgotUHlCeXRlc19Gcm9tT2JqZWN0Ci1QeUJ5dGVzX0Zyb21TdHJpbmcKLVB5Qnl0ZXNfRnJvbVN0cmluZ0FuZFNpemUKLVB5Qnl0ZXNfUmVwcgotUHlCeXRlc19TaXplCi1QeUJ5dGVzX1R5cGUKLVB5Q0Z1bmN0aW9uX0NhbGwKLVB5Q0Z1bmN0aW9uX0NsZWFyRnJlZUxpc3QKLVB5Q0Z1bmN0aW9uX0dldEZsYWdzCi1QeUNGdW5jdGlvbl9HZXRGdW5jdGlvbgotUHlDRnVuY3Rpb25fR2V0U2VsZgotUHlDRnVuY3Rpb25fTmV3Ci1QeUNGdW5jdGlvbl9OZXdFeAotUHlDRnVuY3Rpb25fVHlwZQotUHlDYWxsSXRlcl9OZXcKLVB5Q2FsbEl0ZXJfVHlwZQotUHlDYWxsYWJsZV9DaGVjawotUHlDYXBzdWxlX0dldENvbnRleHQKLVB5Q2Fwc3VsZV9HZXREZXN0cnVjdG9yCi1QeUNhcHN1bGVfR2V0TmFtZQotUHlDYXBzdWxlX0dldFBvaW50ZXIKLVB5Q2Fwc3VsZV9JbXBvcnQKLVB5Q2Fwc3VsZV9Jc1ZhbGlkCi1QeUNhcHN1bGVfTmV3Ci1QeUNhcHN1bGVfU2V0Q29udGV4dAotUHlDYXBzdWxlX1NldERlc3RydWN0b3IKLVB5Q2Fwc3VsZV9TZXROYW1lCi1QeUNhcHN1bGVfU2V0UG9pbnRlcgotUHlDYXBzdWxlX1R5cGUKLVB5Q2xhc3NNZXRob2REZXNjcl9UeXBlCi1QeUNvZGVjX0JhY2tzbGFzaFJlcGxhY2VFcnJvcnMKLVB5Q29kZWNfRGVjb2RlCi1QeUNvZGVjX0RlY29kZXIKLVB5Q29kZWNfRW5jb2RlCi1QeUNvZGVjX0VuY29kZXIKLVB5Q29kZWNfSWdub3JlRXJyb3JzCi1QeUNvZGVjX0luY3JlbWVudGFsRGVjb2RlcgotUHlDb2RlY19JbmNyZW1lbnRhbEVuY29kZXIKLVB5Q29kZWNfS25vd25FbmNvZGluZwotUHlDb2RlY19Mb29rdXBFcnJvcgotUHlDb2RlY19SZWdpc3RlcgotUHlDb2RlY19SZWdpc3RlckVycm9yCi1QeUNvZGVjX1JlcGxhY2VFcnJvcnMKLVB5Q29kZWNfU3RyZWFtUmVhZGVyCi1QeUNvZGVjX1N0cmVhbVdyaXRlcgotUHlDb2RlY19TdHJpY3RFcnJvcnMKLVB5Q29kZWNfWE1MQ2hhclJlZlJlcGxhY2VFcnJvcnMKLVB5Q29tcGxleF9Gcm9tRG91YmxlcwotUHlDb21wbGV4X0ltYWdBc0RvdWJsZQotUHlDb21wbGV4X1JlYWxBc0RvdWJsZQotUHlDb21wbGV4X1R5cGUKLVB5RGVzY3JfTmV3Q2xhc3NNZXRob2QKLVB5RGVzY3JfTmV3R2V0U2V0Ci1QeURlc2NyX05ld01lbWJlcgotUHlEZXNjcl9OZXdNZXRob2QKLVB5RGljdEl0ZW1zX1R5cGUKLVB5RGljdEl0ZXJJdGVtX1R5cGUKLVB5RGljdEl0ZXJLZXlfVHlwZQotUHlEaWN0SXRlclZhbHVlX1R5cGUKLVB5RGljdEtleXNfVHlwZQotUHlEaWN0UHJveHlfTmV3Ci1QeURpY3RQcm94eV9UeXBlCi1QeURpY3RWYWx1ZXNfVHlwZQotUHlEaWN0X0NsZWFyCi1QeURpY3RfQ29udGFpbnMKLVB5RGljdF9Db3B5Ci1QeURpY3RfRGVsSXRlbQotUHlEaWN0X0RlbEl0ZW1TdHJpbmcKLVB5RGljdF9HZXRJdGVtCi1QeURpY3RfR2V0SXRlbVN0cmluZwotUHlEaWN0X0dldEl0ZW1XaXRoRXJyb3IKLVB5RGljdF9JdGVtcwotUHlEaWN0X0tleXMKLVB5RGljdF9NZXJnZQotUHlEaWN0X01lcmdlRnJvbVNlcTIKLVB5RGljdF9OZXcKLVB5RGljdF9OZXh0Ci1QeURpY3RfU2V0SXRlbQotUHlEaWN0X1NldEl0ZW1TdHJpbmcKLVB5RGljdF9TaXplCi1QeURpY3RfVHlwZQotUHlEaWN0X1VwZGF0ZQotUHlEaWN0X1ZhbHVlcwotUHlFbGxpcHNpc19UeXBlCi1QeUVudW1fVHlwZQotUHlFcnJfQmFkQXJndW1lbnQKLVB5RXJyX0JhZEludGVybmFsQ2FsbAotUHlFcnJfQ2hlY2tTaWduYWxzCi1QeUVycl9DbGVhcgotUHlFcnJfRGlzcGxheQotUHlFcnJfRXhjZXB0aW9uTWF0Y2hlcwotUHlFcnJfRmV0Y2gKLVB5RXJyX0Zvcm1hdAotUHlFcnJfR2l2ZW5FeGNlcHRpb25NYXRjaGVzCi1QeUVycl9OZXdFeGNlcHRpb24KLVB5RXJyX05ld0V4Y2VwdGlvbldpdGhEb2MKLVB5RXJyX05vTWVtb3J5Ci1QeUVycl9Ob3JtYWxpemVFeGNlcHRpb24KLVB5RXJyX09jY3VycmVkCi1QeUVycl9QcmludAotUHlFcnJfUHJpbnRFeAotUHlFcnJfUHJvZ3JhbVRleHQKLVB5RXJyX1Jlc3RvcmUKLVB5RXJyX1NldEZyb21FcnJubwotUHlFcnJfU2V0RnJvbUVycm5vV2l0aEZpbGVuYW1lCi1QeUVycl9TZXRGcm9tRXJybm9XaXRoRmlsZW5hbWVPYmplY3QKLVB5RXJyX1NldEludGVycnVwdAotUHlFcnJfU2V0Tm9uZQotUHlFcnJfU2V0T2JqZWN0Ci1QeUVycl9TZXRTdHJpbmcKLVB5RXJyX1N5bnRheExvY2F0aW9uCi1QeUVycl9XYXJuRXgKLVB5RXJyX1dhcm5FeHBsaWNpdAotUHlFcnJfV2FybkZvcm1hdAotUHlFcnJfV3JpdGVVbnJhaXNhYmxlCi1QeUV2YWxfQWNxdWlyZUxvY2sKLVB5RXZhbF9BY3F1aXJlVGhyZWFkCi1QeUV2YWxfQ2FsbEZ1bmN0aW9uCi1QeUV2YWxfQ2FsbE1ldGhvZAotUHlFdmFsX0NhbGxPYmplY3RXaXRoS2V5d29yZHMKLVB5RXZhbF9FdmFsQ29kZQotUHlFdmFsX0V2YWxDb2RlRXgKLVB5RXZhbF9FdmFsRnJhbWUKLVB5RXZhbF9FdmFsRnJhbWVFeAotUHlFdmFsX0dldEJ1aWx0aW5zCi1QeUV2YWxfR2V0Q2FsbFN0YXRzCi1QeUV2YWxfR2V0RnJhbWUKLVB5RXZhbF9HZXRGdW5jRGVzYwotUHlFdmFsX0dldEZ1bmNOYW1lCi1QeUV2YWxfR2V0R2xvYmFscwotUHlFdmFsX0dldExvY2FscwotUHlFdmFsX0luaXRUaHJlYWRzCi1QeUV2YWxfUmVJbml0VGhyZWFkcwotUHlFdmFsX1JlbGVhc2VMb2NrCi1QeUV2YWxfUmVsZWFzZVRocmVhZAotUHlFdmFsX1Jlc3RvcmVUaHJlYWQKLVB5RXZhbF9TYXZlVGhyZWFkCi1QeUV2YWxfVGhyZWFkc0luaXRpYWxpemVkCi1QeUV4Y19Bcml0aG1ldGljRXJyb3IKLVB5RXhjX0Fzc2VydGlvbkVycm9yCi1QeUV4Y19BdHRyaWJ1dGVFcnJvcgotUHlFeGNfQmFzZUV4Y2VwdGlvbgotUHlFeGNfQnVmZmVyRXJyb3IKLVB5RXhjX0J5dGVzV2FybmluZwotUHlFeGNfRGVwcmVjYXRpb25XYXJuaW5nCi1QeUV4Y19FT0ZFcnJvcgotUHlFeGNfRW52aXJvbm1lbnRFcnJvcgotUHlFeGNfRXhjZXB0aW9uCi1QeUV4Y19GbG9hdGluZ1BvaW50RXJyb3IKLVB5RXhjX0Z1dHVyZVdhcm5pbmcKLVB5RXhjX0dlbmVyYXRvckV4aXQKLVB5RXhjX0lPRXJyb3IKLVB5RXhjX0ltcG9ydEVycm9yCi1QeUV4Y19JbXBvcnRXYXJuaW5nCi1QeUV4Y19JbmRlbnRhdGlvbkVycm9yCi1QeUV4Y19JbmRleEVycm9yCi1QeUV4Y19LZXlFcnJvcgotUHlFeGNfS2V5Ym9hcmRJbnRlcnJ1cHQKLVB5RXhjX0xvb2t1cEVycm9yCi1QeUV4Y19NZW1vcnlFcnJvcgotUHlFeGNfTWVtb3J5RXJyb3JJbnN0Ci1QeUV4Y19OYW1lRXJyb3IKLVB5RXhjX05vdEltcGxlbWVudGVkRXJyb3IKLVB5RXhjX09TRXJyb3IKLVB5RXhjX092ZXJmbG93RXJyb3IKLVB5RXhjX1BlbmRpbmdEZXByZWNhdGlvbldhcm5pbmcKLVB5RXhjX1JlY3Vyc2lvbkVycm9ySW5zdAotUHlFeGNfUmVmZXJlbmNlRXJyb3IKLVB5RXhjX1J1bnRpbWVFcnJvcgotUHlFeGNfUnVudGltZVdhcm5pbmcKLVB5RXhjX1N0b3BJdGVyYXRpb24KLVB5RXhjX1N5bnRheEVycm9yCi1QeUV4Y19TeW50YXhXYXJuaW5nCi1QeUV4Y19TeXN0ZW1FcnJvcgotUHlFeGNfU3lzdGVtRXhpdAotUHlFeGNfVGFiRXJyb3IKLVB5RXhjX1R5cGVFcnJvcgotUHlFeGNfVW5ib3VuZExvY2FsRXJyb3IKLVB5RXhjX1VuaWNvZGVEZWNvZGVFcnJvcgotUHlFeGNfVW5pY29kZUVuY29kZUVycm9yCi1QeUV4Y19Vbmljb2RlRXJyb3IKLVB5RXhjX1VuaWNvZGVUcmFuc2xhdGVFcnJvcgotUHlFeGNfVW5pY29kZVdhcm5pbmcKLVB5RXhjX1VzZXJXYXJuaW5nCi1QeUV4Y19WYWx1ZUVycm9yCi1QeUV4Y19XYXJuaW5nCi1QeUV4Y19aZXJvRGl2aXNpb25FcnJvcgotUHlFeGNlcHRpb25fR2V0Q2F1c2UKLVB5RXhjZXB0aW9uX0dldENvbnRleHQKLVB5RXhjZXB0aW9uX0dldFRyYWNlYmFjawotUHlFeGNlcHRpb25fU2V0Q2F1c2UKLVB5RXhjZXB0aW9uX1NldENvbnRleHQKLVB5RXhjZXB0aW9uX1NldFRyYWNlYmFjawotUHlGaWxlX0Zyb21GZAotUHlGaWxlX0dldExpbmUKLVB5RmlsZV9Xcml0ZU9iamVjdAotUHlGaWxlX1dyaXRlU3RyaW5nCi1QeUZpbHRlcl9UeXBlCi1QeUZsb2F0X0FzRG91YmxlCi1QeUZsb2F0X0Zyb21Eb3VibGUKLVB5RmxvYXRfRnJvbVN0cmluZwotUHlGbG9hdF9HZXRJbmZvCi1QeUZsb2F0X0dldE1heAotUHlGbG9hdF9HZXRNaW4KLVB5RmxvYXRfVHlwZQotUHlGcm96ZW5TZXRfTmV3Ci1QeUZyb3plblNldF9UeXBlCi1QeUdDX0NvbGxlY3QKLVB5R0lMU3RhdGVfRW5zdXJlCi1QeUdJTFN0YXRlX0dldFRoaXNUaHJlYWRTdGF0ZQotUHlHSUxTdGF0ZV9SZWxlYXNlCi1QeUdldFNldERlc2NyX1R5cGUKLVB5SW1wb3J0X0FkZE1vZHVsZQotUHlJbXBvcnRfQXBwZW5kSW5pdHRhYgotUHlJbXBvcnRfQ2xlYW51cAotUHlJbXBvcnRfRXhlY0NvZGVNb2R1bGUKLVB5SW1wb3J0X0V4ZWNDb2RlTW9kdWxlRXgKLVB5SW1wb3J0X0V4ZWNDb2RlTW9kdWxlV2l0aFBhdGhuYW1lcwotUHlJbXBvcnRfR2V0SW1wb3J0ZXIKLVB5SW1wb3J0X0dldE1hZ2ljTnVtYmVyCi1QeUltcG9ydF9HZXRNYWdpY1RhZwotUHlJbXBvcnRfR2V0TW9kdWxlRGljdAotUHlJbXBvcnRfSW1wb3J0Ci1QeUltcG9ydF9JbXBvcnRGcm96ZW5Nb2R1bGUKLVB5SW1wb3J0X0ltcG9ydE1vZHVsZQotUHlJbXBvcnRfSW1wb3J0TW9kdWxlTGV2ZWwKLVB5SW1wb3J0X0ltcG9ydE1vZHVsZU5vQmxvY2sKLVB5SW1wb3J0X1JlbG9hZE1vZHVsZQotUHlJbnRlcnByZXRlclN0YXRlX0NsZWFyCi1QeUludGVycHJldGVyU3RhdGVfRGVsZXRlCi1QeUludGVycHJldGVyU3RhdGVfTmV3Ci1QeUl0ZXJfTmV4dAotUHlMaXN0SXRlcl9UeXBlCi1QeUxpc3RSZXZJdGVyX1R5cGUKLVB5TGlzdF9BcHBlbmQKLVB5TGlzdF9Bc1R1cGxlCi1QeUxpc3RfR2V0SXRlbQotUHlMaXN0X0dldFNsaWNlCi1QeUxpc3RfSW5zZXJ0Ci1QeUxpc3RfTmV3Ci1QeUxpc3RfUmV2ZXJzZQotUHlMaXN0X1NldEl0ZW0KLVB5TGlzdF9TZXRTbGljZQotUHlMaXN0X1NpemUKLVB5TGlzdF9Tb3J0Ci1QeUxpc3RfVHlwZQotUHlMb25nUmFuZ2VJdGVyX1R5cGUKLVB5TG9uZ19Bc0RvdWJsZQotUHlMb25nX0FzTG9uZwotUHlMb25nX0FzTG9uZ0FuZE92ZXJmbG93Ci1QeUxvbmdfQXNMb25nTG9uZwotUHlMb25nX0FzTG9uZ0xvbmdBbmRPdmVyZmxvdwotUHlMb25nX0FzU2l6ZV90Ci1QeUxvbmdfQXNTc2l6ZV90Ci1QeUxvbmdfQXNVbnNpZ25lZExvbmcKLVB5TG9uZ19Bc1Vuc2lnbmVkTG9uZ0xvbmcKLVB5TG9uZ19Bc1Vuc2lnbmVkTG9uZ0xvbmdNYXNrCi1QeUxvbmdfQXNVbnNpZ25lZExvbmdNYXNrCi1QeUxvbmdfQXNWb2lkUHRyCi1QeUxvbmdfRnJvbURvdWJsZQotUHlMb25nX0Zyb21Mb25nCi1QeUxvbmdfRnJvbUxvbmdMb25nCi1QeUxvbmdfRnJvbVNpemVfdAotUHlMb25nX0Zyb21Tc2l6ZV90Ci1QeUxvbmdfRnJvbVN0cmluZwotUHlMb25nX0Zyb21VbnNpZ25lZExvbmcKLVB5TG9uZ19Gcm9tVW5zaWduZWRMb25nTG9uZwotUHlMb25nX0Zyb21Wb2lkUHRyCi1QeUxvbmdfR2V0SW5mbwotUHlMb25nX1R5cGUKLVB5TWFwX1R5cGUKLVB5TWFwcGluZ19DaGVjawotUHlNYXBwaW5nX0dldEl0ZW1TdHJpbmcKLVB5TWFwcGluZ19IYXNLZXkKLVB5TWFwcGluZ19IYXNLZXlTdHJpbmcKLVB5TWFwcGluZ19JdGVtcwotUHlNYXBwaW5nX0tleXMKLVB5TWFwcGluZ19MZW5ndGgKLVB5TWFwcGluZ19TZXRJdGVtU3RyaW5nCi1QeU1hcHBpbmdfU2l6ZQotUHlNYXBwaW5nX1ZhbHVlcwotUHlNZW1fRnJlZQotUHlNZW1fTWFsbG9jCi1QeU1lbV9SZWFsbG9jCi1QeU1lbWJlckRlc2NyX1R5cGUKLVB5TWVtb3J5Vmlld19Gcm9tT2JqZWN0Ci1QeU1lbW9yeVZpZXdfR2V0Q29udGlndW91cwotUHlNZW1vcnlWaWV3X1R5cGUKLVB5TWV0aG9kRGVzY3JfVHlwZQotUHlNb2R1bGVfQWRkSW50Q29uc3RhbnQKLVB5TW9kdWxlX0FkZE9iamVjdAotUHlNb2R1bGVfQWRkU3RyaW5nQ29uc3RhbnQKLVB5TW9kdWxlX0NyZWF0ZTIKLVB5TW9kdWxlX0dldERlZgotUHlNb2R1bGVfR2V0RGljdAotUHlNb2R1bGVfR2V0RmlsZW5hbWUKLVB5TW9kdWxlX0dldEZpbGVuYW1lT2JqZWN0Ci1QeU1vZHVsZV9HZXROYW1lCi1QeU1vZHVsZV9HZXRTdGF0ZQotUHlNb2R1bGVfTmV3Ci1QeU1vZHVsZV9UeXBlCi1QeU51bGxJbXBvcnRlcl9UeXBlCi1QeU51bWJlcl9BYnNvbHV0ZQotUHlOdW1iZXJfQWRkCi1QeU51bWJlcl9BbmQKLVB5TnVtYmVyX0FzU3NpemVfdAotUHlOdW1iZXJfQ2hlY2sKLVB5TnVtYmVyX0Rpdm1vZAotUHlOdW1iZXJfRmxvYXQKLVB5TnVtYmVyX0Zsb29yRGl2aWRlCi1QeU51bWJlcl9JblBsYWNlQWRkCi1QeU51bWJlcl9JblBsYWNlQW5kCi1QeU51bWJlcl9JblBsYWNlRmxvb3JEaXZpZGUKLVB5TnVtYmVyX0luUGxhY2VMc2hpZnQKLVB5TnVtYmVyX0luUGxhY2VNdWx0aXBseQotUHlOdW1iZXJfSW5QbGFjZU9yCi1QeU51bWJlcl9JblBsYWNlUG93ZXIKLVB5TnVtYmVyX0luUGxhY2VSZW1haW5kZXIKLVB5TnVtYmVyX0luUGxhY2VSc2hpZnQKLVB5TnVtYmVyX0luUGxhY2VTdWJ0cmFjdAotUHlOdW1iZXJfSW5QbGFjZVRydWVEaXZpZGUKLVB5TnVtYmVyX0luUGxhY2VYb3IKLVB5TnVtYmVyX0luZGV4Ci1QeU51bWJlcl9JbnZlcnQKLVB5TnVtYmVyX0xvbmcKLVB5TnVtYmVyX0xzaGlmdAotUHlOdW1iZXJfTXVsdGlwbHkKLVB5TnVtYmVyX05lZ2F0aXZlCi1QeU51bWJlcl9PcgotUHlOdW1iZXJfUG9zaXRpdmUKLVB5TnVtYmVyX1Bvd2VyCi1QeU51bWJlcl9SZW1haW5kZXIKLVB5TnVtYmVyX1JzaGlmdAotUHlOdW1iZXJfU3VidHJhY3QKLVB5TnVtYmVyX1RvQmFzZQotUHlOdW1iZXJfVHJ1ZURpdmlkZQotUHlOdW1iZXJfWG9yCi1QeU9TX0FmdGVyRm9yawotUHlPU19Jbml0SW50ZXJydXB0cwotUHlPU19JbnB1dEhvb2sKLVB5T1NfSW50ZXJydXB0T2NjdXJyZWQKLVB5T1NfUmVhZGxpbmVGdW5jdGlvblBvaW50ZXIKLVB5T1NfZG91YmxlX3RvX3N0cmluZwotUHlPU19nZXRzaWcKLVB5T1NfbXlzdHJpY21wCi1QeU9TX215c3RybmljbXAKLVB5T1Nfc2V0c2lnCi1QeU9TX3NucHJpbnRmCi1QeU9TX3N0cmluZ190b19kb3VibGUKLVB5T1Nfc3RydG9sCi1QeU9TX3N0cnRvdWwKLVB5T1NfdnNucHJpbnRmCi1QeU9iamVjdF9BU0NJSQotUHlPYmplY3RfQXNDaGFyQnVmZmVyCi1QeU9iamVjdF9Bc0ZpbGVEZXNjcmlwdG9yCi1QeU9iamVjdF9Bc1JlYWRCdWZmZXIKLVB5T2JqZWN0X0FzV3JpdGVCdWZmZXIKLVB5T2JqZWN0X0J5dGVzCi1QeU9iamVjdF9DYWxsCi1QeU9iamVjdF9DYWxsRnVuY3Rpb24KLVB5T2JqZWN0X0NhbGxGdW5jdGlvbk9iakFyZ3MKLVB5T2JqZWN0X0NhbGxNZXRob2QKLVB5T2JqZWN0X0NhbGxNZXRob2RPYmpBcmdzCi1QeU9iamVjdF9DYWxsT2JqZWN0Ci1QeU9iamVjdF9DaGVja1JlYWRCdWZmZXIKLVB5T2JqZWN0X0NsZWFyV2Vha1JlZnMKLVB5T2JqZWN0X0RlbEl0ZW0KLVB5T2JqZWN0X0RlbEl0ZW1TdHJpbmcKLVB5T2JqZWN0X0RpcgotUHlPYmplY3RfRm9ybWF0Ci1QeU9iamVjdF9GcmVlCi1QeU9iamVjdF9HQ19EZWwKLVB5T2JqZWN0X0dDX1RyYWNrCi1QeU9iamVjdF9HQ19VblRyYWNrCi1QeU9iamVjdF9HZW5lcmljR2V0QXR0cgotUHlPYmplY3RfR2VuZXJpY1NldEF0dHIKLVB5T2JqZWN0X0dldEF0dHIKLVB5T2JqZWN0X0dldEF0dHJTdHJpbmcKLVB5T2JqZWN0X0dldEl0ZW0KLVB5T2JqZWN0X0dldEl0ZXIKLVB5T2JqZWN0X0hhc0F0dHIKLVB5T2JqZWN0X0hhc0F0dHJTdHJpbmcKLVB5T2JqZWN0X0hhc2gKLVB5T2JqZWN0X0hhc2hOb3RJbXBsZW1lbnRlZAotUHlPYmplY3RfSW5pdAotUHlPYmplY3RfSW5pdFZhcgotUHlPYmplY3RfSXNJbnN0YW5jZQotUHlPYmplY3RfSXNTdWJjbGFzcwotUHlPYmplY3RfSXNUcnVlCi1QeU9iamVjdF9MZW5ndGgKLVB5T2JqZWN0X01hbGxvYwotUHlPYmplY3RfTm90Ci1QeU9iamVjdF9SZWFsbG9jCi1QeU9iamVjdF9SZXByCi1QeU9iamVjdF9SaWNoQ29tcGFyZQotUHlPYmplY3RfUmljaENvbXBhcmVCb29sCi1QeU9iamVjdF9TZWxmSXRlcgotUHlPYmplY3RfU2V0QXR0cgotUHlPYmplY3RfU2V0QXR0clN0cmluZwotUHlPYmplY3RfU2V0SXRlbQotUHlPYmplY3RfU2l6ZQotUHlPYmplY3RfU3RyCi1QeU9iamVjdF9UeXBlCi1QeVBhcnNlcl9TaW1wbGVQYXJzZUZpbGVGbGFncwotUHlQYXJzZXJfU2ltcGxlUGFyc2VTdHJpbmdGbGFncwotUHlQcm9wZXJ0eV9UeXBlCi1QeVJhbmdlSXRlcl9UeXBlCi1QeVJhbmdlX1R5cGUKLVB5UmV2ZXJzZWRfVHlwZQotUHlTZXFJdGVyX05ldwotUHlTZXFJdGVyX1R5cGUKLVB5U2VxdWVuY2VfQ2hlY2sKLVB5U2VxdWVuY2VfQ29uY2F0Ci1QeVNlcXVlbmNlX0NvbnRhaW5zCi1QeVNlcXVlbmNlX0NvdW50Ci1QeVNlcXVlbmNlX0RlbEl0ZW0KLVB5U2VxdWVuY2VfRGVsU2xpY2UKLVB5U2VxdWVuY2VfRmFzdAotUHlTZXF1ZW5jZV9HZXRJdGVtCi1QeVNlcXVlbmNlX0dldFNsaWNlCi1QeVNlcXVlbmNlX0luCi1QeVNlcXVlbmNlX0luUGxhY2VDb25jYXQKLVB5U2VxdWVuY2VfSW5QbGFjZVJlcGVhdAotUHlTZXF1ZW5jZV9JbmRleAotUHlTZXF1ZW5jZV9MZW5ndGgKLVB5U2VxdWVuY2VfTGlzdAotUHlTZXF1ZW5jZV9SZXBlYXQKLVB5U2VxdWVuY2VfU2V0SXRlbQotUHlTZXF1ZW5jZV9TZXRTbGljZQotUHlTZXF1ZW5jZV9TaXplCi1QeVNlcXVlbmNlX1R1cGxlCi1QeVNldEl0ZXJfVHlwZQotUHlTZXRfQWRkCi1QeVNldF9DbGVhcgotUHlTZXRfQ29udGFpbnMKLVB5U2V0X0Rpc2NhcmQKLVB5U2V0X05ldwotUHlTZXRfUG9wCi1QeVNldF9TaXplCi1QeVNldF9UeXBlCi1QeVNsaWNlX0dldEluZGljZXMKLVB5U2xpY2VfR2V0SW5kaWNlc0V4Ci1QeVNsaWNlX05ldwotUHlTbGljZV9UeXBlCi1QeVNvcnRXcmFwcGVyX1R5cGUKLVB5U3RhdGVfRmluZE1vZHVsZQotUHlTdGF0ZV9BZGRNb2R1bGUKLVB5U3RhdGVfUmVtb3ZlTW9kdWxlCi1QeVN0cnVjdFNlcXVlbmNlX0dldEl0ZW0KLVB5U3RydWN0U2VxdWVuY2VfTmV3Ci1QeVN0cnVjdFNlcXVlbmNlX05ld1R5cGUKLVB5U3RydWN0U2VxdWVuY2VfU2V0SXRlbQotUHlTdXBlcl9UeXBlCi1QeVN5c19BZGRXYXJuT3B0aW9uCi1QeVN5c19BZGRXYXJuT3B0aW9uVW5pY29kZQotUHlTeXNfRm9ybWF0U3RkZXJyCi1QeVN5c19Gb3JtYXRTdGRvdXQKLVB5U3lzX0dldE9iamVjdAotUHlTeXNfSGFzV2Fybk9wdGlvbnMKLVB5U3lzX1Jlc2V0V2Fybk9wdGlvbnMKLVB5U3lzX1NldEFyZ3YKLVB5U3lzX1NldEFyZ3ZFeAotUHlTeXNfU2V0T2JqZWN0Ci1QeVN5c19TZXRQYXRoCi1QeVN5c19Xcml0ZVN0ZGVycgotUHlTeXNfV3JpdGVTdGRvdXQKLVB5VGhyZWFkU3RhdGVfQ2xlYXIKLVB5VGhyZWFkU3RhdGVfRGVsZXRlCi1QeVRocmVhZFN0YXRlX0RlbGV0ZUN1cnJlbnQKLVB5VGhyZWFkU3RhdGVfR2V0Ci1QeVRocmVhZFN0YXRlX0dldERpY3QKLVB5VGhyZWFkU3RhdGVfTmV3Ci1QeVRocmVhZFN0YXRlX1NldEFzeW5jRXhjCi1QeVRocmVhZFN0YXRlX1N3YXAKLVB5VHJhY2VCYWNrX0hlcmUKLVB5VHJhY2VCYWNrX1ByaW50Ci1QeVRyYWNlQmFja19UeXBlCi1QeVR1cGxlSXRlcl9UeXBlCi1QeVR1cGxlX0NsZWFyRnJlZUxpc3QKLVB5VHVwbGVfR2V0SXRlbQotUHlUdXBsZV9HZXRTbGljZQotUHlUdXBsZV9OZXcKLVB5VHVwbGVfUGFjawotUHlUdXBsZV9TZXRJdGVtCi1QeVR1cGxlX1NpemUKLVB5VHVwbGVfVHlwZQotUHlUeXBlX0NsZWFyQ2FjaGUKLVB5VHlwZV9Gcm9tU3BlYwotUHlUeXBlX0Zyb21TcGVjV2l0aEJhc2VzCi1QeVR5cGVfR2VuZXJpY0FsbG9jCi1QeVR5cGVfR2VuZXJpY05ldwotUHlUeXBlX0dldEZsYWdzCi1QeVR5cGVfR2V0U2xvdAotUHlUeXBlX0lzU3VidHlwZQotUHlUeXBlX01vZGlmaWVkCi1QeVR5cGVfUmVhZHkKLVB5VHlwZV9UeXBlCi1QeVVuaWNvZGVEZWNvZGVFcnJvcl9DcmVhdGUKLVB5VW5pY29kZURlY29kZUVycm9yX0dldEVuY29kaW5nCi1QeVVuaWNvZGVEZWNvZGVFcnJvcl9HZXRFbmQKLVB5VW5pY29kZURlY29kZUVycm9yX0dldE9iamVjdAotUHlVbmljb2RlRGVjb2RlRXJyb3JfR2V0UmVhc29uCi1QeVVuaWNvZGVEZWNvZGVFcnJvcl9HZXRTdGFydAotUHlVbmljb2RlRGVjb2RlRXJyb3JfU2V0RW5kCi1QeVVuaWNvZGVEZWNvZGVFcnJvcl9TZXRSZWFzb24KLVB5VW5pY29kZURlY29kZUVycm9yX1NldFN0YXJ0Ci1QeVVuaWNvZGVFbmNvZGVFcnJvcl9HZXRFbmNvZGluZwotUHlVbmljb2RlRW5jb2RlRXJyb3JfR2V0RW5kCi1QeVVuaWNvZGVFbmNvZGVFcnJvcl9HZXRPYmplY3QKLVB5VW5pY29kZUVuY29kZUVycm9yX0dldFJlYXNvbgotUHlVbmljb2RlRW5jb2RlRXJyb3JfR2V0U3RhcnQKLVB5VW5pY29kZUVuY29kZUVycm9yX1NldEVuZAotUHlVbmljb2RlRW5jb2RlRXJyb3JfU2V0UmVhc29uCi1QeVVuaWNvZGVFbmNvZGVFcnJvcl9TZXRTdGFydAotUHlVbmljb2RlSXRlcl9UeXBlCi1QeVVuaWNvZGVUcmFuc2xhdGVFcnJvcl9HZXRFbmQKLVB5VW5pY29kZVRyYW5zbGF0ZUVycm9yX0dldE9iamVjdAotUHlVbmljb2RlVHJhbnNsYXRlRXJyb3JfR2V0UmVhc29uCi1QeVVuaWNvZGVUcmFuc2xhdGVFcnJvcl9HZXRTdGFydAotUHlVbmljb2RlVHJhbnNsYXRlRXJyb3JfU2V0RW5kCi1QeVVuaWNvZGVUcmFuc2xhdGVFcnJvcl9TZXRSZWFzb24KLVB5VW5pY29kZVRyYW5zbGF0ZUVycm9yX1NldFN0YXJ0Ci1QeVVuaWNvZGVfQXBwZW5kCi1QeVVuaWNvZGVfQXBwZW5kQW5kRGVsCi1QeVVuaWNvZGVfQXNBU0NJSVN0cmluZwotUHlVbmljb2RlX0FzQ2hhcm1hcFN0cmluZwotUHlVbmljb2RlX0FzRGVjb2RlZE9iamVjdAotUHlVbmljb2RlX0FzRGVjb2RlZFVuaWNvZGUKLVB5VW5pY29kZV9Bc0VuY29kZWRPYmplY3QKLVB5VW5pY29kZV9Bc0VuY29kZWRTdHJpbmcKLVB5VW5pY29kZV9Bc0VuY29kZWRVbmljb2RlCi1QeVVuaWNvZGVfQXNMYXRpbjFTdHJpbmcKLVB5VW5pY29kZV9Bc1Jhd1VuaWNvZGVFc2NhcGVTdHJpbmcKLVB5VW5pY29kZV9Bc1VURjE2U3RyaW5nCi1QeVVuaWNvZGVfQXNVVEYzMlN0cmluZwotUHlVbmljb2RlX0FzVVRGOFN0cmluZwotUHlVbmljb2RlX0FzVW5pY29kZUVzY2FwZVN0cmluZwotUHlVbmljb2RlX0FzV2lkZUNoYXIKLVB5VW5pY29kZV9DbGVhckZyZWVsaXN0Ci1QeVVuaWNvZGVfQ29tcGFyZQotUHlVbmljb2RlX0NvbmNhdAotUHlVbmljb2RlX0NvbnRhaW5zCi1QeVVuaWNvZGVfQ291bnQKLVB5VW5pY29kZV9EZWNvZGUKLVB5VW5pY29kZV9EZWNvZGVBU0NJSQotUHlVbmljb2RlX0RlY29kZUNoYXJtYXAKLVB5VW5pY29kZV9EZWNvZGVGU0RlZmF1bHQKLVB5VW5pY29kZV9EZWNvZGVGU0RlZmF1bHRBbmRTaXplCi1QeVVuaWNvZGVfRGVjb2RlTGF0aW4xCi1QeVVuaWNvZGVfRGVjb2RlUmF3VW5pY29kZUVzY2FwZQotUHlVbmljb2RlX0RlY29kZVVURjE2Ci1QeVVuaWNvZGVfRGVjb2RlVVRGMTZTdGF0ZWZ1bAotUHlVbmljb2RlX0RlY29kZVVURjMyCi1QeVVuaWNvZGVfRGVjb2RlVVRGMzJTdGF0ZWZ1bAotUHlVbmljb2RlX0RlY29kZVVURjgKLVB5VW5pY29kZV9EZWNvZGVVVEY4U3RhdGVmdWwKLVB5VW5pY29kZV9EZWNvZGVVbmljb2RlRXNjYXBlCi1QeVVuaWNvZGVfRlNDb252ZXJ0ZXIKLVB5VW5pY29kZV9GU0RlY29kZXIKLVB5VW5pY29kZV9GaW5kCi1QeVVuaWNvZGVfRm9ybWF0Ci1QeVVuaWNvZGVfRnJvbUVuY29kZWRPYmplY3QKLVB5VW5pY29kZV9Gcm9tRm9ybWF0Ci1QeVVuaWNvZGVfRnJvbUZvcm1hdFYKLVB5VW5pY29kZV9Gcm9tT2JqZWN0Ci1QeVVuaWNvZGVfRnJvbU9yZGluYWwKLVB5VW5pY29kZV9Gcm9tU3RyaW5nCi1QeVVuaWNvZGVfRnJvbVN0cmluZ0FuZFNpemUKLVB5VW5pY29kZV9Gcm9tV2lkZUNoYXIKLVB5VW5pY29kZV9HZXREZWZhdWx0RW5jb2RpbmcKLVB5VW5pY29kZV9HZXRTaXplCi1QeVVuaWNvZGVfSXNJZGVudGlmaWVyCi1QeVVuaWNvZGVfSm9pbgotUHlVbmljb2RlX1BhcnRpdGlvbgotUHlVbmljb2RlX1JQYXJ0aXRpb24KLVB5VW5pY29kZV9SU3BsaXQKLVB5VW5pY29kZV9SZXBsYWNlCi1QeVVuaWNvZGVfUmVzaXplCi1QeVVuaWNvZGVfUmljaENvbXBhcmUKLVB5VW5pY29kZV9TZXREZWZhdWx0RW5jb2RpbmcKLVB5VW5pY29kZV9TcGxpdAotUHlVbmljb2RlX1NwbGl0bGluZXMKLVB5VW5pY29kZV9UYWlsbWF0Y2gKLVB5VW5pY29kZV9UcmFuc2xhdGUKLVB5VW5pY29kZV9CdWlsZEVuY29kaW5nTWFwCi1QeVVuaWNvZGVfQ29tcGFyZVdpdGhBU0NJSVN0cmluZwotUHlVbmljb2RlX0RlY29kZVVURjcKLVB5VW5pY29kZV9EZWNvZGVVVEY3U3RhdGVmdWwKLVB5VW5pY29kZV9FbmNvZGVGU0RlZmF1bHQKLVB5VW5pY29kZV9JbnRlcm5Gcm9tU3RyaW5nCi1QeVVuaWNvZGVfSW50ZXJuSW1tb3J0YWwKLVB5VW5pY29kZV9JbnRlcm5JblBsYWNlCi1QeVVuaWNvZGVfVHlwZQotUHlXZWFrcmVmX0dldE9iamVjdAotUHlXZWFrcmVmX05ld1Byb3h5Ci1QeVdlYWtyZWZfTmV3UmVmCi1QeVdyYXBwZXJEZXNjcl9UeXBlCi1QeVdyYXBwZXJfTmV3Ci1QeVppcF9UeXBlCi1QeV9BZGRQZW5kaW5nQ2FsbAotUHlfQXRFeGl0Ci1QeV9CdWlsZFZhbHVlCi1QeV9Db21waWxlU3RyaW5nCi1QeV9EZWNSZWYKLVB5X0VuZEludGVycHJldGVyCi1QeV9FeGl0Ci1QeV9GYXRhbEVycm9yCi1QeV9GaWxlU3lzdGVtRGVmYXVsdEVuY29kaW5nCi1QeV9GaW5hbGl6ZQotUHlfR2V0QnVpbGRJbmZvCi1QeV9HZXRDb21waWxlcgotUHlfR2V0Q29weXJpZ2h0Ci1QeV9HZXRFeGVjUHJlZml4Ci1QeV9HZXRQYXRoCi1QeV9HZXRQbGF0Zm9ybQotUHlfR2V0UHJlZml4Ci1QeV9HZXRQcm9ncmFtRnVsbFBhdGgKLVB5X0dldFByb2dyYW1OYW1lCi1QeV9HZXRQeXRob25Ib21lCi1QeV9HZXRSZWN1cnNpb25MaW1pdAotUHlfR2V0VmVyc2lvbgotUHlfSGFzRmlsZVN5c3RlbURlZmF1bHRFbmNvZGluZwotUHlfSW5jUmVmCi1QeV9Jbml0aWFsaXplCi1QeV9Jbml0aWFsaXplRXgKLVB5X0lzSW5pdGlhbGl6ZWQKLVB5X01haW4KLVB5X01ha2VQZW5kaW5nQ2FsbHMKLVB5X05ld0ludGVycHJldGVyCi1QeV9SZXByRW50ZXIKLVB5X1JlcHJMZWF2ZQotUHlfU2V0UHJvZ3JhbU5hbWUKLVB5X1NldFB5dGhvbkhvbWUKLVB5X1NldFJlY3Vyc2lvbkxpbWl0Ci1QeV9TeW10YWJsZVN0cmluZwotUHlfVmFCdWlsZFZhbHVlCi1fUHlFcnJfQmFkSW50ZXJuYWxDYWxsCi1fUHlPYmplY3RfQ2FsbEZ1bmN0aW9uX1NpemVUCi1fUHlPYmplY3RfQ2FsbE1ldGhvZF9TaXplVAotX1B5T2JqZWN0X0dDX01hbGxvYwotX1B5T2JqZWN0X0dDX05ldwotX1B5T2JqZWN0X0dDX05ld1ZhcgotX1B5T2JqZWN0X0dDX1Jlc2l6ZQotX1B5T2JqZWN0X05ldwotX1B5T2JqZWN0X05ld1ZhcgotX1B5U3RhdGVfQWRkTW9kdWxlCi1fUHlUaHJlYWRTdGF0ZV9Jbml0Ci1fUHlUaHJlYWRTdGF0ZV9QcmVhbGxvYwotX1B5VHJhc2hfZGVsZXRlX2xhdGVyCi1fUHlUcmFzaF9kZWxldGVfbmVzdGluZwotX1B5VHJhc2hfZGVwb3NpdF9vYmplY3QKLV9QeVRyYXNoX2Rlc3Ryb3lfY2hhaW4KLV9QeVdlYWtyZWZfQ2FsbGFibGVQcm94eVR5cGUKLV9QeVdlYWtyZWZfUHJveHlUeXBlCi1fUHlXZWFrcmVmX1JlZlR5cGUKLV9QeV9CdWlsZFZhbHVlX1NpemVUCi1fUHlfQ2hlY2tSZWN1cnNpb25MaW1pdAotX1B5X0NoZWNrUmVjdXJzaXZlQ2FsbAotX1B5X0RlYWxsb2MKLV9QeV9FbGxpcHNpc09iamVjdAotX1B5X0ZhbHNlU3RydWN0Ci1fUHlfTm9uZVN0cnVjdAotX1B5X05vdEltcGxlbWVudGVkU3RydWN0Ci1fUHlfU3dhcHBlZE9wCi1fUHlfVHJ1ZVN0cnVjdAotX1B5X1ZhQnVpbGRWYWx1ZV9TaXplVAotX1B5QXJnX1BhcnNlX1NpemVUCi1fUHlBcmdfUGFyc2VUdXBsZV9TaXplVAotX1B5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3Jkc19TaXplVAotX1B5QXJnX1ZhUGFyc2VfU2l6ZVQKLV9QeUFyZ19WYVBhcnNlVHVwbGVBbmRLZXl3b3Jkc19TaXplVAotX1B5X0J1aWxkVmFsdWVfU2l6ZVQKZGlmZiAtLWdpdCBhL1BDL3B5dGhvbl9leGUucmMgYi9QQy9weXRob25fZXhlLnJjCmluZGV4IDE0ZTI1NzQuLjkxNzg1YTEgMTAwNjQ0Ci0tLSBhL1BDL3B5dGhvbl9leGUucmMKKysrIGIvUEMvcHl0aG9uX2V4ZS5yYwpAQCAtMSArMSw0OSBAQAotMSAgICAgICAgICAgSUNPTiAgICBESVNDQVJEQUJMRSAgICAgInB5Y29uLmljbyIgCisvLyBSZXNvdXJjZSBzY3JpcHQgZm9yIFB5dGhvbiBjb25zb2xlIEVYRXMuCisKKyNpbmNsdWRlICJweXRob25fdmVyX3JjLmgiCisKKy8vIEluY2x1ZGUgdGhlIG1hbmlmZXN0IGZpbGUgdGhhdCBpbmRpY2F0ZXMgd2Ugc3VwcG9ydCBhbGwKKy8vIGN1cnJlbnQgdmVyc2lvbnMgb2YgV2luZG93cy4KKyNpbmNsdWRlIDx3aW51c2VyLmg+CisxIFJUX01BTklGRVNUICJweXRob24ubWFuaWZlc3QiCisKKzEgSUNPTiBESVNDQVJEQUJMRSAicHljb24uaWNvIiAKKworCisvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLworLy8KKy8vIFZlcnNpb24KKy8vCisKK1ZTX1ZFUlNJT05fSU5GTyBWRVJTSU9OSU5GTworIEZJTEVWRVJTSU9OIFBZVkVSU0lPTjY0CisgUFJPRFVDVFZFUlNJT04gUFlWRVJTSU9ONjQKKyBGSUxFRkxBR1NNQVNLIDB4M2ZMCisjaWZkZWYgX0RFQlVHCisgRklMRUZMQUdTIFZTX0ZGX0RFQlVHCisjZWxzZQorIEZJTEVGTEFHUyAweDBMCisjZW5kaWYKKyBGSUxFT1MgVk9TX19XSU5ET1dTMzIKKyBGSUxFVFlQRSBWRlRfQVBQCisgRklMRVNVQlRZUEUgMHgwTAorQkVHSU4KKyAgICBCTE9DSyAiU3RyaW5nRmlsZUluZm8iCisgICAgQkVHSU4KKyAgICAgICAgQkxPQ0sgIjAwMDAwNGIwIgorICAgICAgICBCRUdJTgorICAgICAgICAgICAgVkFMVUUgIkNvbXBhbnlOYW1lIiwgUFlUSE9OX0NPTVBBTlkgIlwwIgorICAgICAgICAgICAgVkFMVUUgIkZpbGVEZXNjcmlwdGlvbiIsICJQeXRob25cMCIKKyAgICAgICAgICAgIFZBTFVFICJGaWxlVmVyc2lvbiIsIFBZVEhPTl9WRVJTSU9OCisgICAgICAgICAgICBWQUxVRSAiSW50ZXJuYWxOYW1lIiwgIlB5dGhvbiBDb25zb2xlXDAiCisgICAgICAgICAgICBWQUxVRSAiTGVnYWxDb3B5cmlnaHQiLCBQWVRIT05fQ09QWVJJR0hUICJcMCIKKyAgICAgICAgICAgIFZBTFVFICJPcmlnaW5hbEZpbGVuYW1lIiwgInB5dGhvbiIgUFlUSE9OX0RFQlVHX0VYVCAiLmV4ZVwwIgorICAgICAgICAgICAgVkFMVUUgIlByb2R1Y3ROYW1lIiwgIlB5dGhvblwwIgorICAgICAgICAgICAgVkFMVUUgIlByb2R1Y3RWZXJzaW9uIiwgUFlUSE9OX1ZFUlNJT04KKyAgICAgICAgRU5ECisgICAgRU5ECisgICAgQkxPQ0sgIlZhckZpbGVJbmZvIgorICAgIEJFR0lOCisgICAgICAgIFZBTFVFICJUcmFuc2xhdGlvbiIsIDB4MCwgMTIwMAorICAgIEVORAorRU5ECmRpZmYgLS1naXQgYS9QQy9weXRob25fbnQucmMgYi9QQy9weXRob25fbnQucmMKaW5kZXggZjg1ZDUzOS4uZmFjNjEwNSAxMDA2NDQKLS0tIGEvUEMvcHl0aG9uX250LnJjCisrKyBiL1BDL3B5dGhvbl9udC5yYwpAQCAtMSwzMyArMSwxMSBAQAogLy8gUmVzb3VyY2Ugc2NyaXB0IGZvciBQeXRob24gY29yZSBETEwuCi0vLyBDdXJyZW50bHkgb25seSBob2xkcyB2ZXJzaW9uIGluZm9ybWF0aW9uLgotLy8KLSNpbmNsdWRlICJ3aW52ZXIuaCIKIAotI2RlZmluZSBNU19XSU5ET1dTCi0jaW5jbHVkZSAibW9kc3VwcG9ydC5oIgotI2luY2x1ZGUgInBhdGNobGV2ZWwuaCIKLSNpZmRlZiBfREVCVUcKLSMgICBpbmNsdWRlICJweXRob25udF9yY19kLmgiCi0jZWxzZQotIyAgIGluY2x1ZGUgInB5dGhvbm50X3JjLmgiCi0jZW5kaWYKKyNpbmNsdWRlICJweXRob25fdmVyX3JjLmgiCiAKLS8qIGUuZy4sIDMuMy4wYTEKLSAqIFBZX1ZFUlNJT04gY29tZXMgZnJvbSBwYXRjaGV2ZWwuaAotICovCi0jZGVmaW5lIFBZVEhPTl9WRVJTSU9OIFBZX1ZFUlNJT04gIlwwIgotCi0vKiA2NC1iaXQgdmVyc2lvbiBudW1iZXIgYXMgY29tbWEtc2VwYXJhdGVkIGxpc3Qgb2YgNCAxNi1iaXQgaW50cyAqLwotI2lmIFBZX01JQ1JPX1ZFUlNJT04gPiA2NAotIyAgIGVycm9yICJQWV9NSUNST19WRVJTSU9OID4gNjQiCi0jZW5kaWYKLSNpZiBQWV9SRUxFQVNFX0xFVkVMID4gOTkKLSMgICBlcnJvciAiUFlfUkVMRUFTRV9MRVZFTCA+IDk5IgotI2VuZGlmCi0jaWYgUFlfUkVMRUFTRV9TRVJJQUwgPiA5Ci0jICAgZXJyb3IgIlBZX1JFTEVBU0VfU0VSSUFMID4gOSIKLSNlbmRpZgotI2RlZmluZSBQWVZFUlNJT042NCBQWV9NQUpPUl9WRVJTSU9OLCBQWV9NSU5PUl9WRVJTSU9OLCBGSUVMRDMsIFBZVEhPTl9BUElfVkVSU0lPTgorLy8gSW5jbHVkZSB0aGUgbWFuaWZlc3QgZmlsZSB0aGF0IGluZGljYXRlcyB3ZSBzdXBwb3J0IGFsbAorLy8gY3VycmVudCB2ZXJzaW9ucyBvZiBXaW5kb3dzLgorI2luY2x1ZGUgPHdpbnVzZXIuaD4KKzIgUlRfTUFOSUZFU1QgInB5dGhvbi5tYW5pZmVzdCIKIAogLy8gU3RyaW5nIFRhYmxlcwogU1RSSU5HVEFCTEUgRElTQ0FSREFCTEUKQEAgLTQ1LDIzICsyMywyMyBAQAogIFBST0RVQ1RWRVJTSU9OIFBZVkVSU0lPTjY0CiAgRklMRUZMQUdTTUFTSyAweDNmTAogI2lmZGVmIF9ERUJVRwotIEZJTEVGTEFHUyAweDFMCisgRklMRUZMQUdTIFZTX0ZGX0RFQlVHCiAjZWxzZQogIEZJTEVGTEFHUyAweDBMCiAjZW5kaWYKLSBGSUxFT1MgMHg0MDAwNEwKLSBGSUxFVFlQRSAweDFMCisgRklMRU9TIFZPU19fV0lORE9XUzMyCisgRklMRVRZUEUgVkZUX0RMTAogIEZJTEVTVUJUWVBFIDB4MEwKIEJFR0lOCiAgICAgQkxPQ0sgIlN0cmluZ0ZpbGVJbmZvIgogICAgIEJFR0lOCiAgICAgICAgIEJMT0NLICIwMDAwMDRiMCIKICAgICAgICAgQkVHSU4KLSAgICAgICAgICAgIFZBTFVFICJDb21wYW55TmFtZSIsICJQeXRob24gU29mdHdhcmUgRm91bmRhdGlvblwwIgorICAgICAgICAgICAgVkFMVUUgIkNvbXBhbnlOYW1lIiwgUFlUSE9OX0NPTVBBTlkgIlwwIgogICAgICAgICAgICAgVkFMVUUgIkZpbGVEZXNjcmlwdGlvbiIsICJQeXRob24gQ29yZVwwIgogICAgICAgICAgICAgVkFMVUUgIkZpbGVWZXJzaW9uIiwgUFlUSE9OX1ZFUlNJT04KICAgICAgICAgICAgIFZBTFVFICJJbnRlcm5hbE5hbWUiLCAiUHl0aG9uIERMTFwwIgotICAgICAgICAgICAgVkFMVUUgIkxlZ2FsQ29weXJpZ2h0IiwgIkNvcHlyaWdodCCpIDIwMDEtMjAxNSBQeXRob24gU29mdHdhcmUgRm91bmRhdGlvbi4gQ29weXJpZ2h0IKkgMjAwMCBCZU9wZW4uY29tLiBDb3B5cmlnaHQgqSAxOTk1LTIwMDEgQ05SSS4gQ29weXJpZ2h0IKkgMTk5MS0xOTk1IFNNQy5cMCIKKyAgICAgICAgICAgIFZBTFVFICJMZWdhbENvcHlyaWdodCIsIFBZVEhPTl9DT1BZUklHSFQgIlwwIgogICAgICAgICAgICAgVkFMVUUgIk9yaWdpbmFsRmlsZW5hbWUiLCBQWVRIT05fRExMX05BTUUgIlwwIgogICAgICAgICAgICAgVkFMVUUgIlByb2R1Y3ROYW1lIiwgIlB5dGhvblwwIgogICAgICAgICAgICAgVkFMVUUgIlByb2R1Y3RWZXJzaW9uIiwgUFlUSE9OX1ZFUlNJT04KZGlmZiAtLWdpdCBhL1BDL3B5dGhvbl92ZXJfcmMuaCBiL1BDL3B5dGhvbl92ZXJfcmMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44MjdlOWJlCi0tLSAvZGV2L251bGwKKysrIGIvUEMvcHl0aG9uX3Zlcl9yYy5oCkBAIC0wLDAgKzEsMzUgQEAKKy8vIFJlc291cmNlIHNjcmlwdCBmb3IgUHl0aG9uIGNvcmUgRExMLgorLy8gQ3VycmVudGx5IG9ubHkgaG9sZHMgdmVyc2lvbiBpbmZvcm1hdGlvbi4KKy8vCisjaW5jbHVkZSAid2ludmVyLmgiCisKKyNkZWZpbmUgUFlUSE9OX0NPTVBBTlkgICAiUHl0aG9uIFNvZnR3YXJlIEZvdW5kYXRpb24iCisjZGVmaW5lIFBZVEhPTl9DT1BZUklHSFQgIkNvcHlyaWdodCBceEE5IDIwMDEtMjAxNSBQeXRob24gU29mdHdhcmUgRm91bmRhdGlvbi4gQ29weXJpZ2h0IFx4QTkgMjAwMCBCZU9wZW4uY29tLiBDb3B5cmlnaHQgXHhBOSAxOTk1LTIwMDEgQ05SSS4gQ29weXJpZ2h0IFx4QTkgMTk5MS0xOTk1IFNNQy4iCisKKyNkZWZpbmUgTVNfV0lORE9XUworI2luY2x1ZGUgIm1vZHN1cHBvcnQuaCIKKyNpbmNsdWRlICJwYXRjaGxldmVsLmgiCisjaWZkZWYgX0RFQlVHCisjICAgaW5jbHVkZSAicHl0aG9ubnRfcmNfZC5oIgorIyAgIGRlZmluZSBQWVRIT05fREVCVUdfRVhUICJfZCIKKyNlbHNlCisjICAgaW5jbHVkZSAicHl0aG9ubnRfcmMuaCIKKyMgICBkZWZpbmUgUFlUSE9OX0RFQlVHX0VYVAorI2VuZGlmCisKKy8qIGUuZy4sIDMuMy4wYTEKKyAqIFBZX1ZFUlNJT04gY29tZXMgZnJvbSBwYXRjaGxldmVsLmgKKyAqLworI2RlZmluZSBQWVRIT05fVkVSU0lPTiBQWV9WRVJTSU9OICJcMCIKKworLyogNjQtYml0IHZlcnNpb24gbnVtYmVyIGFzIGNvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIDQgMTYtYml0IGludHMgKi8KKyNpZiBQWV9NSUNST19WRVJTSU9OID4gNjQKKyMgICBlcnJvciAiUFlfTUlDUk9fVkVSU0lPTiA+IDY0IgorI2VuZGlmCisjaWYgUFlfUkVMRUFTRV9MRVZFTCA+IDk5CisjICAgZXJyb3IgIlBZX1JFTEVBU0VfTEVWRUwgPiA5OSIKKyNlbmRpZgorI2lmIFBZX1JFTEVBU0VfU0VSSUFMID4gOQorIyAgIGVycm9yICJQWV9SRUxFQVNFX1NFUklBTCA+IDkiCisjZW5kaWYKKyNkZWZpbmUgUFlWRVJTSU9ONjQgUFlfTUFKT1JfVkVSU0lPTiwgUFlfTUlOT1JfVkVSU0lPTiwgRklFTEQzLCBQWVRIT05fQVBJX1ZFUlNJT04KZGlmZiAtLWdpdCBhL1BDL3JlYWRtZS50eHQgYi9QQy9yZWFkbWUudHh0CmluZGV4IDYwZjIzMWUuLjg2MzlkYzMgMTAwNjQ0Ci0tLSBhL1BDL3JlYWRtZS50eHQKKysrIGIvUEMvcmVhZG1lLnR4dApAQCAtNzQsMTEgKzc0LDYgQEAKIGV4YW1wbGVfbnQgICAgIEEgc3ViZGlyZWN0b3J5IHNob3dpbmcgaG93IHRvIGJ1aWxkIGFuIGV4dGVuc2lvbiBhcyBhCiAgICAgICAgICAgICAgICBETEwuCiAKLUxlZ2FjeSBzdXBwb3J0IGZvciBvbGRlciB2ZXJzaW9ucyBvZiBWaXN1YWwgU3R1ZGlvCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotVGhlIHN1YmRpcmVjdG9yaWVzIFZDNiwgVlM3LjEgYW5kIFZTOC4wIGNvbnRhaW4gbGVnYWN5IHN1cHBvcnQgb2xkZXIKLXZlcnNpb25zIG9mIE1pY3Jvc29mdCBWaXN1YWwgU3R1ZGlvLiBTZWUgUENidWlsZC9yZWFkbWUudHh0LgotCiBOb3RlIGZvciBXaW5kb3dzIDMueCBhbmQgRE9TIHVzZXJzCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAKZGlmZiAtLWdpdCBhL1BDYnVpbGQvX2J6Mi52Y3hwcm9qIGIvUENidWlsZC9fYnoyLnZjeHByb2oKaW5kZXggOTM4N2U1NC4uNjRjM2RjZCAxMDA2NDQKLS0tIGEvUENidWlsZC9fYnoyLnZjeHByb2oKKysrIGIvUENidWlsZC9fYnoyLnZjeHByb2oKQEAgLTM5LDExNyArMzksMjggQEAKICAgICA8Um9vdE5hbWVzcGFjZT5iejI8L1Jvb3ROYW1lc3BhY2U+CiAgICAgPEtleXdvcmQ+V2luMzJQcm9qPC9LZXl3b3JkPgogICA8L1Byb3BlcnR5R3JvdXA+CisgIDxJbXBvcnQgUHJvamVjdD0icHl0aG9uLnByb3BzIiAvPgogICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC5EZWZhdWx0LnByb3BzIiAvPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KLSAgICA8V2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPnRydWU8L1dob2xlUHJvZ3JhbU9wdGltaXphdGlvbj4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+Ci0gICAgPFdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj50cnVlPC9XaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KLSAgICA8V2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPnRydWU8L1dob2xlUHJvZ3JhbU9wdGltaXphdGlvbj4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgorICA8UHJvcGVydHlHcm91cCBMYWJlbD0iQ29uZmlndXJhdGlvbiI+CiAgICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KICAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgogICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KLSAgICA8V2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPnRydWU8L1dob2xlUHJvZ3JhbU9wdGltaXphdGlvbj4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgorICA8UHJvcGVydHlHcm91cCBMYWJlbD0iQ29uZmlndXJhdGlvbiIgLz4KICAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAucHJvcHMiIC8+CisgIDxQcm9wZXJ0eUdyb3VwPgorICAgIDxUYXJnZXRFeHQ+LnB5ZDwvVGFyZ2V0RXh0PgorICA8L1Byb3BlcnR5R3JvdXA+CiAgIDxJbXBvcnRHcm91cCBMYWJlbD0iRXh0ZW5zaW9uU2V0dGluZ3MiPgogICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+CisgIDxJbXBvcnRHcm91cCBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgogICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InBndXBkYXRlLnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InBnaW5zdHJ1bWVudC5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlkLnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlkX2QucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlkLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0ieDY0LnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icGd1cGRhdGUucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9Ing2NC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InBnaW5zdHJ1bWVudC5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9Ing2NC5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWRfZC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9Ing2NC5wcm9wcyIgLz4KKyAgICA8SW1wb3J0IFByb2plY3Q9InB5cHJvamVjdC5wcm9wcyIgLz4KICAgPC9JbXBvcnRHcm91cD4KICAgPFByb3BlcnR5R3JvdXAgTGFiZWw9IlVzZXJNYWNyb3MiIC8+CiAgIDxQcm9wZXJ0eUdyb3VwPgogICAgIDxfUHJvamVjdEZpbGVWZXJzaW9uPjEwLjAuMzAzMTkuMTwvX1Byb2plY3RGaWxlVmVyc2lvbj4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIC8+CiAgIDwvUHJvcGVydHlHcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPgorICA8SXRlbURlZmluaXRpb25Hcm91cD4KICAgICA8Q2xDb21waWxlPgogICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+JChiejJEaXIpOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+CiAgICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+V0lOMzI7X0ZJTEVfT0ZGU0VUX0JJVFM9NjQ7X0NSVF9TRUNVUkVfTk9fREVQUkVDQVRFO19DUlRfTk9OU1REQ19OT19ERVBSRUNBVEU7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgpAQCAtMTU4LDgzICs2OSw2IEBACiAgICAgICA8QmFzZUFkZHJlc3M+MHgxRDE3MDAwMDwvQmFzZUFkZHJlc3M+CiAgICAgPC9MaW5rPgogICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyI+Ci0gICAgPE1pZGw+Ci0gICAgICA8VGFyZ2V0RW52aXJvbm1lbnQ+WDY0PC9UYXJnZXRFbnZpcm9ubWVudD4KLSAgICA8L01pZGw+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPiQoYnoyRGlyKTslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPldJTjMyO19GSUxFX09GRlNFVF9CSVRTPTY0O19DUlRfU0VDVVJFX05PX0RFUFJFQ0FURTtfQ1JUX05PTlNURENfTk9fREVQUkVDQVRFOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8TGluaz4KLSAgICAgIDxCYXNlQWRkcmVzcz4weDFEMTcwMDAwPC9CYXNlQWRkcmVzcz4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPiQoYnoyRGlyKTslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPldJTjMyO19GSUxFX09GRlNFVF9CSVRTPTY0O19DUlRfU0VDVVJFX05PX0RFUFJFQ0FURTtfQ1JUX05PTlNURENfTk9fREVQUkVDQVRFOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8TGluaz4KLSAgICAgIDxCYXNlQWRkcmVzcz4weDFEMTcwMDAwPC9CYXNlQWRkcmVzcz4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPgotICAgIDxNaWRsPgotICAgICAgPFRhcmdldEVudmlyb25tZW50Plg2NDwvVGFyZ2V0RW52aXJvbm1lbnQ+Ci0gICAgPC9NaWRsPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4kKGJ6MkRpcik7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5XSU4zMjtfRklMRV9PRkZTRVRfQklUUz02NDtfQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEU7X0NSVF9OT05TVERDX05PX0RFUFJFQ0FURTslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPExpbms+Ci0gICAgICA8QmFzZUFkZHJlc3M+MHgxRDE3MDAwMDwvQmFzZUFkZHJlc3M+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyI+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPiQoYnoyRGlyKTslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPldJTjMyO19GSUxFX09GRlNFVF9CSVRTPTY0O19DUlRfU0VDVVJFX05PX0RFUFJFQ0FURTtfQ1JUX05PTlNURENfTk9fREVQUkVDQVRFOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8TGluaz4KLSAgICAgIDxCYXNlQWRkcmVzcz4weDFEMTcwMDAwPC9CYXNlQWRkcmVzcz4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyI+Ci0gICAgPE1pZGw+Ci0gICAgICA8VGFyZ2V0RW52aXJvbm1lbnQ+WDY0PC9UYXJnZXRFbnZpcm9ubWVudD4KLSAgICA8L01pZGw+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPiQoYnoyRGlyKTslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPldJTjMyO19GSUxFX09GRlNFVF9CSVRTPTY0O19DUlRfU0VDVVJFX05PX0RFUFJFQ0FURTtfQ1JUX05PTlNURENfTk9fREVQUkVDQVRFOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8TGluaz4KLSAgICAgIDxCYXNlQWRkcmVzcz4weDFEMTcwMDAwPC9CYXNlQWRkcmVzcz4KLSAgICAgIDxUYXJnZXRNYWNoaW5lPk1hY2hpbmVYNjQ8L1RhcmdldE1hY2hpbmU+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIj4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+JChiejJEaXIpOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+V0lOMzI7X0ZJTEVfT0ZGU0VUX0JJVFM9NjQ7X0NSVF9TRUNVUkVfTk9fREVQUkVDQVRFO19DUlRfTk9OU1REQ19OT19ERVBSRUNBVEU7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgIDwvQ2xDb21waWxlPgotICAgIDxMaW5rPgotICAgICAgPEJhc2VBZGRyZXNzPjB4MUQxNzAwMDA8L0Jhc2VBZGRyZXNzPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciPgotICAgIDxNaWRsPgotICAgICAgPFRhcmdldEVudmlyb25tZW50Plg2NDwvVGFyZ2V0RW52aXJvbm1lbnQ+Ci0gICAgPC9NaWRsPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4kKGJ6MkRpcik7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5XSU4zMjtfRklMRV9PRkZTRVRfQklUUz02NDtfQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEU7X0NSVF9OT05TVERDX05PX0RFUFJFQ0FURTslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPExpbms+Ci0gICAgICA8QmFzZUFkZHJlc3M+MHgxRDE3MDAwMDwvQmFzZUFkZHJlc3M+Ci0gICAgICA8VGFyZ2V0TWFjaGluZT5NYWNoaW5lWDY0PC9UYXJnZXRNYWNoaW5lPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgogICA8SXRlbUdyb3VwPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cTW9kdWxlc1xfYnoybW9kdWxlLmMiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKGJ6MkRpcilcYmxvY2tzb3J0LmMiIC8+CmRpZmYgLS1naXQgYS9QQ2J1aWxkL19jdHlwZXMudmN4cHJvaiBiL1BDYnVpbGQvX2N0eXBlcy52Y3hwcm9qCmluZGV4IDIwMmNiMWYuLjY4YjhlMjkgMTAwNjQ0Ci0tLSBhL1BDYnVpbGQvX2N0eXBlcy52Y3hwcm9qCisrKyBiL1BDYnVpbGQvX2N0eXBlcy52Y3hwcm9qCkBAIC0zOSwyMDQgKzM5LDMzIEBACiAgICAgPFJvb3ROYW1lc3BhY2U+X2N0eXBlczwvUm9vdE5hbWVzcGFjZT4KICAgICA8S2V5d29yZD5XaW4zMlByb2o8L0tleXdvcmQ+CiAgIDwvUHJvcGVydHlHcm91cD4KKyAgPEltcG9ydCBQcm9qZWN0PSJweXRob24ucHJvcHMiIC8+CiAgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLkRlZmF1bHQucHJvcHMiIC8+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KLSAgICA8V2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPnRydWU8L1dob2xlUHJvZ3JhbU9wdGltaXphdGlvbj4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KLSAgICA8V2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPnRydWU8L1dob2xlUHJvZ3JhbU9wdGltaXphdGlvbj4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgorICA8UHJvcGVydHlHcm91cCBMYWJlbD0iQ29uZmlndXJhdGlvbiI+CiAgICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KICAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgogICA8L1Byb3BlcnR5R3JvdXA+CiAgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLnByb3BzIiAvPgorICA8UHJvcGVydHlHcm91cD4KKyAgICA8VGFyZ2V0RXh0Pi5weWQ8L1RhcmdldEV4dD4KKyAgPC9Qcm9wZXJ0eUdyb3VwPgogICA8SW1wb3J0R3JvdXAgTGFiZWw9IkV4dGVuc2lvblNldHRpbmdzIj4KICAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgorICA8SW1wb3J0R3JvdXAgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KICAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJwZ3VwZGF0ZS5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJwZ2luc3RydW1lbnQucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZC5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZF9kLnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9Ing2NC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InBndXBkYXRlLnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJ4NjQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJwZ2luc3RydW1lbnQucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJ4NjQucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlkX2QucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJ4NjQucHJvcHMiIC8+CisgICAgPEltcG9ydCBQcm9qZWN0PSJweXByb2plY3QucHJvcHMiIC8+CiAgIDwvSW1wb3J0R3JvdXA+CiAgIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJVc2VyTWFjcm9zIiAvPgogICA8UHJvcGVydHlHcm91cD4KICAgICA8X1Byb2plY3RGaWxlVmVyc2lvbj4xMC4wLjQwMjE5LjE8L19Qcm9qZWN0RmlsZVZlcnNpb24+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIiAvPgogICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIj4KKyAgPEl0ZW1EZWZpbml0aW9uR3JvdXA+CiAgICAgPENsQ29tcGlsZT4KICAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPi4uXE1vZHVsZXNcX2N0eXBlc1xsaWJmZmlfbXN2YzslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgogICAgIDwvQ2xDb21waWxlPgogICAgIDxMaW5rPgogICAgICAgPEJhc2VBZGRyZXNzPjB4MUQxQTAwMDA8L0Jhc2VBZGRyZXNzPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPgotICAgIDxNaWRsPgotICAgICAgPFRhcmdldEVudmlyb25tZW50Plg2NDwvVGFyZ2V0RW52aXJvbm1lbnQ+Ci0gICAgPC9NaWRsPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4uLlxNb2R1bGVzXF9jdHlwZXNcbGliZmZpX21zdmM7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8TGluaz4KLSAgICAgIDxCYXNlQWRkcmVzcz4weDFEMUEwMDAwPC9CYXNlQWRkcmVzcz4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPi4uXE1vZHVsZXNcX2N0eXBlc1xsaWJmZmlfbXN2YzslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgotICAgIDwvQ2xDb21waWxlPgotICAgIDxMaW5rPgogICAgICAgPEFkZGl0aW9uYWxPcHRpb25zPi9FWFBPUlQ6RGxsR2V0Q2xhc3NPYmplY3QsUFJJVkFURSAvRVhQT1JUOkRsbENhblVubG9hZE5vdyxQUklWQVRFICUoQWRkaXRpb25hbE9wdGlvbnMpPC9BZGRpdGlvbmFsT3B0aW9ucz4KLSAgICAgIDxTdWJTeXN0ZW0+Tm90U2V0PC9TdWJTeXN0ZW0+Ci0gICAgICA8QmFzZUFkZHJlc3M+MHgxRDFBMDAwMDwvQmFzZUFkZHJlc3M+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj4KLSAgICA8TWlkbD4KLSAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5YNjQ8L1RhcmdldEVudmlyb25tZW50PgotICAgIDwvTWlkbD4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Li5cTW9kdWxlc1xfY3R5cGVzXGxpYmZmaV9tc3ZjOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPExpbms+Ci0gICAgICA8QWRkaXRpb25hbE9wdGlvbnM+L0VYUE9SVDpEbGxHZXRDbGFzc09iamVjdCxQUklWQVRFIC9FWFBPUlQ6RGxsQ2FuVW5sb2FkTm93LFBSSVZBVEUgJShBZGRpdGlvbmFsT3B0aW9ucyk8L0FkZGl0aW9uYWxPcHRpb25zPgotICAgICAgPFN1YlN5c3RlbT5Ob3RTZXQ8L1N1YlN5c3RlbT4KLSAgICAgIDxCYXNlQWRkcmVzcz4weDFEMUEwMDAwPC9CYXNlQWRkcmVzcz4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIj4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Li5cTW9kdWxlc1xfY3R5cGVzXGxpYmZmaV9tc3ZjOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPExpbms+Ci0gICAgICA8QWRkaXRpb25hbE9wdGlvbnM+L0VYUE9SVDpEbGxHZXRDbGFzc09iamVjdCxQUklWQVRFIC9FWFBPUlQ6RGxsQ2FuVW5sb2FkTm93LFBSSVZBVEUgJShBZGRpdGlvbmFsT3B0aW9ucyk8L0FkZGl0aW9uYWxPcHRpb25zPgotICAgICAgPFN1YlN5c3RlbT5Ob3RTZXQ8L1N1YlN5c3RlbT4KLSAgICAgIDxCYXNlQWRkcmVzcz4weDFEMUEwMDAwPC9CYXNlQWRkcmVzcz4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyI+Ci0gICAgPE1pZGw+Ci0gICAgICA8VGFyZ2V0RW52aXJvbm1lbnQ+WDY0PC9UYXJnZXRFbnZpcm9ubWVudD4KLSAgICA8L01pZGw+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPi4uXE1vZHVsZXNcX2N0eXBlc1xsaWJmZmlfbXN2YzslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgotICAgIDwvQ2xDb21waWxlPgotICAgIDxMaW5rPgotICAgICAgPEFkZGl0aW9uYWxPcHRpb25zPi9FWFBPUlQ6RGxsR2V0Q2xhc3NPYmplY3QsUFJJVkFURSAvRVhQT1JUOkRsbENhblVubG9hZE5vdyxQUklWQVRFICUoQWRkaXRpb25hbE9wdGlvbnMpPC9BZGRpdGlvbmFsT3B0aW9ucz4KLSAgICAgIDxTdWJTeXN0ZW0+Tm90U2V0PC9TdWJTeXN0ZW0+Ci0gICAgICA8QmFzZUFkZHJlc3M+MHgxRDFBMDAwMDwvQmFzZUFkZHJlc3M+Ci0gICAgICA8VGFyZ2V0TWFjaGluZT5NYWNoaW5lWDY0PC9UYXJnZXRNYWNoaW5lPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyI+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPi4uXE1vZHVsZXNcX2N0eXBlc1xsaWJmZmlfbXN2YzslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgotICAgIDwvQ2xDb21waWxlPgotICAgIDxMaW5rPgotICAgICAgPEFkZGl0aW9uYWxPcHRpb25zPi9FWFBPUlQ6RGxsR2V0Q2xhc3NPYmplY3QsUFJJVkFURSAvRVhQT1JUOkRsbENhblVubG9hZE5vdyxQUklWQVRFICUoQWRkaXRpb25hbE9wdGlvbnMpPC9BZGRpdGlvbmFsT3B0aW9ucz4KLSAgICAgIDxTdWJTeXN0ZW0+Tm90U2V0PC9TdWJTeXN0ZW0+Ci0gICAgICA8QmFzZUFkZHJlc3M+MHgxRDFBMDAwMDwvQmFzZUFkZHJlc3M+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyI+Ci0gICAgPE1pZGw+Ci0gICAgICA8VGFyZ2V0RW52aXJvbm1lbnQ+WDY0PC9UYXJnZXRFbnZpcm9ubWVudD4KLSAgICA8L01pZGw+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPi4uXE1vZHVsZXNcX2N0eXBlc1xsaWJmZmlfbXN2YzslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgotICAgIDwvQ2xDb21waWxlPgotICAgIDxMaW5rPgotICAgICAgPEFkZGl0aW9uYWxPcHRpb25zPi9FWFBPUlQ6RGxsR2V0Q2xhc3NPYmplY3QsUFJJVkFURSAvRVhQT1JUOkRsbENhblVubG9hZE5vdyxQUklWQVRFICUoQWRkaXRpb25hbE9wdGlvbnMpPC9BZGRpdGlvbmFsT3B0aW9ucz4KLSAgICAgIDxTdWJTeXN0ZW0+Tm90U2V0PC9TdWJTeXN0ZW0+Ci0gICAgICA8QmFzZUFkZHJlc3M+MHgxRDFBMDAwMDwvQmFzZUFkZHJlc3M+Ci0gICAgICA8VGFyZ2V0TWFjaGluZT5NYWNoaW5lWDY0PC9UYXJnZXRNYWNoaW5lPgogICAgIDwvTGluaz4KICAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgogICA8SXRlbUdyb3VwPgpAQCAtMjU3LDMwICs4NiwxNCBAQAogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cTW9kdWxlc1xfY3R5cGVzXGxpYmZmaV9tc3ZjXHByZXBfY2lmLmMiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxNb2R1bGVzXF9jdHlwZXNcc3RnZGljdC5jIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cTW9kdWxlc1xfY3R5cGVzXGxpYmZmaV9tc3ZjXHdpbjMyLmMiPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CisgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChQbGF0Zm9ybSknPT0neDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CiAgICAgPC9DbENvbXBpbGU+CiAgIDwvSXRlbUdyb3VwPgogICA8SXRlbUdyb3VwPgogICAgIDxDdXN0b21CdWlsZCBJbmNsdWRlPSIuLlxNb2R1bGVzXF9jdHlwZXNcbGliZmZpX21zdmNcd2luNjQuYXNtIj4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8Q29tbWFuZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPm1sNjQgL25vbG9nbyAvYyAvWmkgL0ZvICIkKEludERpcil3aW42NC5vYmoiICIlKEZ1bGxQYXRoKSIKLTwvQ29tbWFuZD4KLSAgICAgIDxPdXRwdXRzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyI+JChJbnREaXIpd2luNjQub2JqOyUoT3V0cHV0cyk8L091dHB1dHM+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxDb21tYW5kIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciPm1sNjQgL25vbG9nbyAvYyAvRm8gIiQoSW50RGlyKXdpbjY0Lm9iaiIgIiUoRnVsbFBhdGgpIgotPC9Db21tYW5kPgotICAgICAgPE91dHB1dHMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyI+JChJbnREaXIpd2luNjQub2JqOyUoT3V0cHV0cyk8L091dHB1dHM+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPENvbW1hbmQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIj5tbDY0IC9ub2xvZ28gL2MgL0ZvICIkKEludERpcil3aW42NC5vYmoiICIlKEZ1bGxQYXRoKSIKLTwvQ29tbWFuZD4KLSAgICAgIDxPdXRwdXRzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyI+JChJbnREaXIpd2luNjQub2JqOyUoT3V0cHV0cyk8L091dHB1dHM+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8Q29tbWFuZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+bWw2NCAvbm9sb2dvIC9jIC9GbyAiJChJbnREaXIpd2luNjQub2JqIiAiJShGdWxsUGF0aCkiCi08L0NvbW1hbmQ+Ci0gICAgICA8T3V0cHV0cyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+JChJbnREaXIpd2luNjQub2JqOyUoT3V0cHV0cyk8L091dHB1dHM+CisgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChQbGF0Zm9ybSknPT0nV2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KKyAgICAgIDxDb21tYW5kPm1sNjQgL25vbG9nbyAvYyAvWmkgL0ZvICIkKEludERpcil3aW42NC5vYmoiICIlKEZ1bGxQYXRoKSI8L0NvbW1hbmQ+CisgICAgICA8T3V0cHV0cz4kKEludERpcil3aW42NC5vYmo7JShPdXRwdXRzKTwvT3V0cHV0cz4KICAgICA8L0N1c3RvbUJ1aWxkPgogICA8L0l0ZW1Hcm91cD4KICAgPEl0ZW1Hcm91cD4KZGlmZiAtLWdpdCBhL1BDYnVpbGQvX2N0eXBlc190ZXN0LnZjeHByb2ogYi9QQ2J1aWxkL19jdHlwZXNfdGVzdC52Y3hwcm9qCmluZGV4IDM1ZTI5OWIuLmMxMjYwYjUgMTAwNjQ0Ci0tLSBhL1BDYnVpbGQvX2N0eXBlc190ZXN0LnZjeHByb2oKKysrIGIvUENidWlsZC9fY3R5cGVzX3Rlc3QudmN4cHJvagpAQCAtMzgsMTQzICszOCwyOCBAQAogICAgIDxQcm9qZWN0R3VpZD57OUVDNzE5MEEtMjQ5Ri00MTgwLUE5MDAtNTQ4RkRDRjMwNTVGfTwvUHJvamVjdEd1aWQ+CiAgICAgPFJvb3ROYW1lc3BhY2U+X2N0eXBlc190ZXN0PC9Sb290TmFtZXNwYWNlPgogICAgIDxLZXl3b3JkPldpbjMyUHJvajwvS2V5d29yZD4KKyAgICA8U3VwcG9ydFBHTz5mYWxzZTwvU3VwcG9ydFBHTz4KICAgPC9Qcm9wZXJ0eUdyb3VwPgorICA8SW1wb3J0IFByb2plY3Q9InB5dGhvbi5wcm9wcyIgLz4KICAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAuRGVmYXVsdC5wcm9wcyIgLz4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+Ci0gICAgPFdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj50cnVlPC9XaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+Ci0gICAgPFdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj50cnVlPC9XaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+Ci0gICAgPFdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj50cnVlPC9XaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+Ci0gICAgPFdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj50cnVlPC9XaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+CisgIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJDb25maWd1cmF0aW9uIj4KICAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgogICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+CiAgIDwvUHJvcGVydHlHcm91cD4KICAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAucHJvcHMiIC8+CisgIDxQcm9wZXJ0eUdyb3VwPgorICAgIDxUYXJnZXRFeHQ+LnB5ZDwvVGFyZ2V0RXh0PgorICA8L1Byb3BlcnR5R3JvdXA+CiAgIDxJbXBvcnRHcm91cCBMYWJlbD0iRXh0ZW5zaW9uU2V0dGluZ3MiPgogICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+CisgIDxJbXBvcnRHcm91cCBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgogICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InBndXBkYXRlLnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InBnaW5zdHJ1bWVudC5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlkLnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlkX2QucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlkLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0ieDY0LnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icGd1cGRhdGUucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9Ing2NC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InBnaW5zdHJ1bWVudC5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9Ing2NC5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWRfZC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9Ing2NC5wcm9wcyIgLz4KKyAgICA8SW1wb3J0IFByb2plY3Q9InB5cHJvamVjdC5wcm9wcyIgLz4KICAgPC9JbXBvcnRHcm91cD4KICAgPFByb3BlcnR5R3JvdXAgTGFiZWw9IlVzZXJNYWNyb3MiIC8+CiAgIDxQcm9wZXJ0eUdyb3VwPgogICAgIDxfUHJvamVjdEZpbGVWZXJzaW9uPjEwLjAuMzAzMTkuMTwvX1Byb2plY3RGaWxlVmVyc2lvbj4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIC8+CiAgIDwvUHJvcGVydHlHcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIj4KLSAgICA8TWlkbD4KLSAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5YNjQ8L1RhcmdldEVudmlyb25tZW50PgotICAgIDwvTWlkbD4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+Ci0gICAgPE1pZGw+Ci0gICAgICA8VGFyZ2V0RW52aXJvbm1lbnQ+WDY0PC9UYXJnZXRFbnZpcm9ubWVudD4KLSAgICA8L01pZGw+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyI+Ci0gICAgPE1pZGw+Ci0gICAgICA8VGFyZ2V0RW52aXJvbm1lbnQ+WDY0PC9UYXJnZXRFbnZpcm9ubWVudD4KLSAgICA8L01pZGw+Ci0gICAgPExpbms+Ci0gICAgICA8VGFyZ2V0TWFjaGluZT5NYWNoaW5lWDY0PC9UYXJnZXRNYWNoaW5lPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciPgotICAgIDxNaWRsPgotICAgICAgPFRhcmdldEVudmlyb25tZW50Plg2NDwvVGFyZ2V0RW52aXJvbm1lbnQ+Ci0gICAgPC9NaWRsPgotICAgIDxMaW5rPgotICAgICAgPFRhcmdldE1hY2hpbmU+TWFjaGluZVg2NDwvVGFyZ2V0TWFjaGluZT4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KICAgPEl0ZW1Hcm91cD4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXE1vZHVsZXNcX2N0eXBlc1xfY3R5cGVzX3Rlc3QuaCIgLz4KICAgPC9JdGVtR3JvdXA+CmRpZmYgLS1naXQgYS9QQ2J1aWxkL19kZWNpbWFsLnZjeHByb2ogYi9QQ2J1aWxkL19kZWNpbWFsLnZjeHByb2oKaW5kZXggOThiYTgxZC4uOTQzYmZiMCAxMDA2NDQKLS0tIGEvUENidWlsZC9fZGVjaW1hbC52Y3hwcm9qCisrKyBiL1BDYnVpbGQvX2RlY2ltYWwudmN4cHJvagpAQCAtMzksMjA4ICszOSwzNyBAQAogICAgIDxSb290TmFtZXNwYWNlPl9kZWNpbWFsPC9Sb290TmFtZXNwYWNlPgogICAgIDxLZXl3b3JkPldpbjMyUHJvajwvS2V5d29yZD4KICAgPC9Qcm9wZXJ0eUdyb3VwPgorICA8SW1wb3J0IFByb2plY3Q9InB5dGhvbi5wcm9wcyIgLz4KICAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAuRGVmYXVsdC5wcm9wcyIgLz4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+Ci0gICAgPFdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj50cnVlPC9XaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+Ci0gICAgPFdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj50cnVlPC9XaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+Ci0gICAgPFdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj50cnVlPC9XaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+Ci0gICAgPFdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj50cnVlPC9XaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+CisgIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJDb25maWd1cmF0aW9uIj4KICAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgogICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+CiAgIDwvUHJvcGVydHlHcm91cD4KICAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAucHJvcHMiIC8+CisgIDxQcm9wZXJ0eUdyb3VwPgorICAgIDxUYXJnZXRFeHQ+LnB5ZDwvVGFyZ2V0RXh0PgorICA8L1Byb3BlcnR5R3JvdXA+CiAgIDxJbXBvcnRHcm91cCBMYWJlbD0iRXh0ZW5zaW9uU2V0dGluZ3MiPgogICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+CisgIDxJbXBvcnRHcm91cCBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgogICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InBndXBkYXRlLnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InBnaW5zdHJ1bWVudC5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlkLnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlkX2QucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlkLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0ieDY0LnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icGd1cGRhdGUucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9Ing2NC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InBnaW5zdHJ1bWVudC5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9Ing2NC5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWRfZC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9Ing2NC5wcm9wcyIgLz4KKyAgICA8SW1wb3J0IFByb2plY3Q9InB5cHJvamVjdC5wcm9wcyIgLz4KICAgPC9JbXBvcnRHcm91cD4KICAgPFByb3BlcnR5R3JvdXAgTGFiZWw9IlVzZXJNYWNyb3MiIC8+CiAgIDxQcm9wZXJ0eUdyb3VwPgogICAgIDxfUHJvamVjdEZpbGVWZXJzaW9uPjEwLjAuNDAyMTkuMTwvX1Byb2plY3RGaWxlVmVyc2lvbj4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIC8+CiAgIDwvUHJvcGVydHlHcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPgorICA8SXRlbURlZmluaXRpb25Hcm91cD4KICAgICA8Q2xDb21waWxlPgotICAgICAgPEFkZGl0aW9uYWxPcHRpb25zPi9EX0NSVF9TRUNVUkVfTk9fV0FSTklOR1MgL0RDT05GSUdfMzIgL0RQUFJPIC9ETUFTTSAlKEFkZGl0aW9uYWxPcHRpb25zKTwvQWRkaXRpb25hbE9wdGlvbnM+CisgICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+X0NSVF9TRUNVUkVfTk9fV0FSTklOR1M7TUFTTTslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+CisgICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMgQ29uZGl0aW9uPSInJChQbGF0Zm9ybSknID09ICdXaW4zMiciPkNPTkZJR18zMjtQUFJPOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KKyAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyBDb25kaXRpb249IickKFBsYXRmb3JtKScgPT0gJ3g2NCciPkNPTkZJR182NDslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+CiAgICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4uLlxNb2R1bGVzXF9kZWNpbWFsOy4uXE1vZHVsZXNcX2RlY2ltYWxcbGlibXBkZWM7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KICAgICA8L0NsQ29tcGlsZT4KICAgICA8TGluaz4KICAgICAgIDxCYXNlQWRkcmVzcz4weDFEMUEwMDAwPC9CYXNlQWRkcmVzcz4KICAgICA8L0xpbms+CiAgIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIj4KLSAgICA8TWlkbD4KLSAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5YNjQ8L1RhcmdldEVudmlyb25tZW50PgotICAgIDwvTWlkbD4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPEFkZGl0aW9uYWxPcHRpb25zPi9EX0NSVF9TRUNVUkVfTk9fV0FSTklOR1MgL0RDT05GSUdfNjQgL0RNQVNNICUoQWRkaXRpb25hbE9wdGlvbnMpPC9BZGRpdGlvbmFsT3B0aW9ucz4KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPi4uXE1vZHVsZXNcX2RlY2ltYWw7Li5cTW9kdWxlc1xfZGVjaW1hbFxsaWJtcGRlYzslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgotICAgIDwvQ2xDb21waWxlPgotICAgIDxMaW5rPgotICAgICAgPEJhc2VBZGRyZXNzPjB4MUQxQTAwMDA8L0Jhc2VBZGRyZXNzPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPEFkZGl0aW9uYWxPcHRpb25zPi9EX0NSVF9TRUNVUkVfTk9fV0FSTklOR1MgL0RDT05GSUdfMzIgL0RQUFJPIC9ETUFTTSAlKEFkZGl0aW9uYWxPcHRpb25zKTwvQWRkaXRpb25hbE9wdGlvbnM+Ci0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4uLlxNb2R1bGVzXF9kZWNpbWFsOy4uXE1vZHVsZXNcX2RlY2ltYWxcbGlibXBkZWM7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8TGluaz4KLSAgICAgIDxTdWJTeXN0ZW0+Tm90U2V0PC9TdWJTeXN0ZW0+Ci0gICAgICA8QmFzZUFkZHJlc3M+MHgxRDFBMDAwMDwvQmFzZUFkZHJlc3M+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj4KLSAgICA8TWlkbD4KLSAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5YNjQ8L1RhcmdldEVudmlyb25tZW50PgotICAgIDwvTWlkbD4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPEFkZGl0aW9uYWxPcHRpb25zPi9EX0NSVF9TRUNVUkVfTk9fV0FSTklOR1MgL0RDT05GSUdfNjQgL0RNQVNNICUoQWRkaXRpb25hbE9wdGlvbnMpPC9BZGRpdGlvbmFsT3B0aW9ucz4KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPi4uXE1vZHVsZXNcX2RlY2ltYWw7Li5cTW9kdWxlc1xfZGVjaW1hbFxsaWJtcGRlYzsuLlxJbmNsdWRlOy4uXFBDOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPExpbms+Ci0gICAgICA8U3ViU3lzdGVtPk5vdFNldDwvU3ViU3lzdGVtPgotICAgICAgPEJhc2VBZGRyZXNzPjB4MUQxQTAwMDA8L0Jhc2VBZGRyZXNzPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8QWRkaXRpb25hbE9wdGlvbnM+L0RfQ1JUX1NFQ1VSRV9OT19XQVJOSU5HUyAvRENPTkZJR18zMiAvRFBQUk8gL0RNQVNNICUoQWRkaXRpb25hbE9wdGlvbnMpPC9BZGRpdGlvbmFsT3B0aW9ucz4KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPi4uXE1vZHVsZXNcX2RlY2ltYWw7Li5cTW9kdWxlc1xfZGVjaW1hbFxsaWJtcGRlYzslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgotICAgIDwvQ2xDb21waWxlPgotICAgIDxMaW5rPgotICAgICAgPFN1YlN5c3RlbT5Ob3RTZXQ8L1N1YlN5c3RlbT4KLSAgICAgIDxCYXNlQWRkcmVzcz4weDFEMUEwMDAwPC9CYXNlQWRkcmVzcz4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyI+Ci0gICAgPE1pZGw+Ci0gICAgICA8VGFyZ2V0RW52aXJvbm1lbnQ+WDY0PC9UYXJnZXRFbnZpcm9ubWVudD4KLSAgICA8L01pZGw+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxBZGRpdGlvbmFsT3B0aW9ucz4vRF9DUlRfU0VDVVJFX05PX1dBUk5JTkdTIC9EQ09ORklHXzY0IC9ETUFTTSAlKEFkZGl0aW9uYWxPcHRpb25zKTwvQWRkaXRpb25hbE9wdGlvbnM+Ci0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4uLlxNb2R1bGVzXF9kZWNpbWFsOy4uXE1vZHVsZXNcX2RlY2ltYWxcbGlibXBkZWM7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8TGluaz4KLSAgICAgIDxTdWJTeXN0ZW0+Tm90U2V0PC9TdWJTeXN0ZW0+Ci0gICAgICA8QmFzZUFkZHJlc3M+MHgxRDFBMDAwMDwvQmFzZUFkZHJlc3M+Ci0gICAgICA8VGFyZ2V0TWFjaGluZT5NYWNoaW5lWDY0PC9UYXJnZXRNYWNoaW5lPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyI+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxBZGRpdGlvbmFsT3B0aW9ucz4vRF9DUlRfU0VDVVJFX05PX1dBUk5JTkdTIC9EQ09ORklHXzMyIC9EUFBSTyAvRE1BU00gJShBZGRpdGlvbmFsT3B0aW9ucyk8L0FkZGl0aW9uYWxPcHRpb25zPgotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Li5cTW9kdWxlc1xfZGVjaW1hbDsuLlxNb2R1bGVzXF9kZWNpbWFsXGxpYm1wZGVjOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPExpbms+Ci0gICAgICA8U3ViU3lzdGVtPk5vdFNldDwvU3ViU3lzdGVtPgotICAgICAgPEJhc2VBZGRyZXNzPjB4MUQxQTAwMDA8L0Jhc2VBZGRyZXNzPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciPgotICAgIDxNaWRsPgotICAgICAgPFRhcmdldEVudmlyb25tZW50Plg2NDwvVGFyZ2V0RW52aXJvbm1lbnQ+Ci0gICAgPC9NaWRsPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8QWRkaXRpb25hbE9wdGlvbnM+L0RfQ1JUX1NFQ1VSRV9OT19XQVJOSU5HUyAvRENPTkZJR182NCAvRE1BU00gJShBZGRpdGlvbmFsT3B0aW9ucyk8L0FkZGl0aW9uYWxPcHRpb25zPgotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Li5cTW9kdWxlc1xfZGVjaW1hbDsuLlxNb2R1bGVzXF9kZWNpbWFsXGxpYm1wZGVjOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPExpbms+Ci0gICAgICA8U3ViU3lzdGVtPk5vdFNldDwvU3ViU3lzdGVtPgotICAgICAgPEJhc2VBZGRyZXNzPjB4MUQxQTAwMDA8L0Jhc2VBZGRyZXNzPgotICAgICAgPFRhcmdldE1hY2hpbmU+TWFjaGluZVg2NDwvVGFyZ2V0TWFjaGluZT4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KICAgPEl0ZW1Hcm91cD4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXE1vZHVsZXNcX2RlY2ltYWxcbGlibXBkZWNcYmFzZWFyaXRoLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxNb2R1bGVzXF9kZWNpbWFsXGxpYm1wZGVjXGJpdHMuaCIgLz4KQEAgLTI3OSwyMiArMTA4LDkgQEAKICAgPC9JdGVtR3JvdXA+CiAgIDxJdGVtR3JvdXA+CiAgICAgPEN1c3RvbUJ1aWxkIEluY2x1ZGU9Ii4uXE1vZHVsZXNcX2RlY2ltYWxcbGlibXBkZWNcdmNkaXY2NC5hc20iPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxDb21tYW5kIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyI+bWw2NCAvbm9sb2dvIC9jIC9aaSAvRm8gIiQoSW50RGlyKXZjZGl2NjQub2JqIiAiJShGdWxsUGF0aCkiCi08L0NvbW1hbmQ+Ci0gICAgICA8T3V0cHV0cyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPiQoSW50RGlyKXZjZGl2NjQub2JqOyUoT3V0cHV0cyk8L091dHB1dHM+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxDb21tYW5kIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciPm1sNjQgL25vbG9nbyAvYyAvRm8gIiQoSW50RGlyKXZjZGl2NjQub2JqIiAiJShGdWxsUGF0aCkiCi08L0NvbW1hbmQ+Ci0gICAgICA8T3V0cHV0cyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIj4kKEludERpcil2Y2RpdjY0Lm9iajslKE91dHB1dHMpPC9PdXRwdXRzPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxDb21tYW5kIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyI+bWw2NCAvbm9sb2dvIC9jIC9GbyAiJChJbnREaXIpdmNkaXY2NC5vYmoiICIlKEZ1bGxQYXRoKSIKLTwvQ29tbWFuZD4KLSAgICAgIDxPdXRwdXRzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyI+JChJbnREaXIpdmNkaXY2NC5vYmo7JShPdXRwdXRzKTwvT3V0cHV0cz4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxDb21tYW5kIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj5tbDY0IC9ub2xvZ28gL2MgL1ppIC9GbyAiJChJbnREaXIpdmNkaXY2NC5vYmoiICIlKEZ1bGxQYXRoKSIKLTwvQ29tbWFuZD4KLSAgICAgIDxPdXRwdXRzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj4kKEludERpcil2Y2RpdjY0Lm9iajslKE91dHB1dHMpPC9PdXRwdXRzPgorICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoUGxhdGZvcm0pJz09J1dpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CisgICAgICA8Q29tbWFuZD5tbDY0IC9ub2xvZ28gL2MgL1ppIC9GbyAiJChJbnREaXIpdmNkaXY2NC5vYmoiICIlKEZ1bGxQYXRoKSI8L0NvbW1hbmQ+CisgICAgICA8T3V0cHV0cz4kKEludERpcil2Y2RpdjY0Lm9iajslKE91dHB1dHMpPC9PdXRwdXRzPgogICAgIDwvQ3VzdG9tQnVpbGQ+CiAgIDwvSXRlbUdyb3VwPgogICA8SXRlbUdyb3VwPgpkaWZmIC0tZ2l0IGEvUENidWlsZC9fZWxlbWVudHRyZWUudmN4cHJvaiBiL1BDYnVpbGQvX2VsZW1lbnR0cmVlLnZjeHByb2oKaW5kZXggNzgwMmFiMy4uNDE0YmQ4YiAxMDA2NDQKLS0tIGEvUENidWlsZC9fZWxlbWVudHRyZWUudmN4cHJvagorKysgYi9QQ2J1aWxkL19lbGVtZW50dHJlZS52Y3hwcm9qCkBAIC0zOSwxMTcgKzM5LDI3IEBACiAgICAgPFJvb3ROYW1lc3BhY2U+X2VsZW1lbnR0cmVlPC9Sb290TmFtZXNwYWNlPgogICAgIDxLZXl3b3JkPldpbjMyUHJvajwvS2V5d29yZD4KICAgPC9Qcm9wZXJ0eUdyb3VwPgorICA8SW1wb3J0IFByb2plY3Q9InB5dGhvbi5wcm9wcyIgLz4KICAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAuRGVmYXVsdC5wcm9wcyIgLz4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+Ci0gICAgPFdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj50cnVlPC9XaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+Ci0gICAgPFdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj50cnVlPC9XaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+Ci0gICAgPFdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj50cnVlPC9XaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+Ci0gICAgPFdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj50cnVlPC9XaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+CisgIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJDb25maWd1cmF0aW9uIj4KICAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgogICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+CiAgIDwvUHJvcGVydHlHcm91cD4KICAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAucHJvcHMiIC8+CisgIDxQcm9wZXJ0eUdyb3VwPgorICAgIDxUYXJnZXRFeHQ+LnB5ZDwvVGFyZ2V0RXh0PgorICA8L1Byb3BlcnR5R3JvdXA+CiAgIDxJbXBvcnRHcm91cCBMYWJlbD0iRXh0ZW5zaW9uU2V0dGluZ3MiPgogICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+CisgIDxJbXBvcnRHcm91cCBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgogICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InBndXBkYXRlLnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InBnaW5zdHJ1bWVudC5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlkLnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlkX2QucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlkLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0ieDY0LnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icGd1cGRhdGUucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9Ing2NC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InBnaW5zdHJ1bWVudC5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9Ing2NC5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWRfZC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9Ing2NC5wcm9wcyIgLz4KKyAgICA8SW1wb3J0IFByb2plY3Q9InB5cHJvamVjdC5wcm9wcyIgLz4KICAgPC9JbXBvcnRHcm91cD4KICAgPFByb3BlcnR5R3JvdXAgTGFiZWw9IlVzZXJNYWNyb3MiIC8+CiAgIDxQcm9wZXJ0eUdyb3VwPgogICAgIDxfUHJvamVjdEZpbGVWZXJzaW9uPjEwLjAuMzAzMTkuMTwvX1Byb2plY3RGaWxlVmVyc2lvbj4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIC8+CiAgIDwvUHJvcGVydHlHcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPgorICA8SXRlbURlZmluaXRpb25Hcm91cD4KICAgICA8Q2xDb21waWxlPgogICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Li5cTW9kdWxlc1xleHBhdDslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgogICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPlhNTF9OUztYTUxfRFREO0JZVEVPUkRFUj0xMjM0O1hNTF9DT05URVhUX0JZVEVTPTEwMjQ7VVNFX1BZRVhQQVRfQ0FQSTtYTUxfU1RBVElDO0hBVkVfTUVNTU9WRTslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+CkBAIC0xNTgsODMgKzY4LDYgQEAKICAgICAgIDxCYXNlQWRkcmVzcz4weDFEMTAwMDAwPC9CYXNlQWRkcmVzcz4KICAgICA8L0xpbms+CiAgIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIj4KLSAgICA8TWlkbD4KLSAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5YNjQ8L1RhcmdldEVudmlyb25tZW50PgotICAgIDwvTWlkbD4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Li5cTW9kdWxlc1xleHBhdDslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPlhNTF9OUztYTUxfRFREO0JZVEVPUkRFUj0xMjM0O1hNTF9DT05URVhUX0JZVEVTPTEwMjQ7VVNFX1BZRVhQQVRfQ0FQSTtYTUxfU1RBVElDO0hBVkVfTUVNTU9WRTslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPExpbms+Ci0gICAgICA8QmFzZUFkZHJlc3M+MHgxRDEwMDAwMDwvQmFzZUFkZHJlc3M+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4uLlxNb2R1bGVzXGV4cGF0OyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+WE1MX05TO1hNTF9EVEQ7QllURU9SREVSPTEyMzQ7WE1MX0NPTlRFWFRfQllURVM9MTAyNDtVU0VfUFlFWFBBVF9DQVBJO1hNTF9TVEFUSUM7SEFWRV9NRU1NT1ZFOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8TGluaz4KLSAgICAgIDxCYXNlQWRkcmVzcz4weDFEMTAwMDAwPC9CYXNlQWRkcmVzcz4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPgotICAgIDxNaWRsPgotICAgICAgPFRhcmdldEVudmlyb25tZW50Plg2NDwvVGFyZ2V0RW52aXJvbm1lbnQ+Ci0gICAgPC9NaWRsPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4uLlxNb2R1bGVzXGV4cGF0OyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+WE1MX05TO1hNTF9EVEQ7QllURU9SREVSPTEyMzQ7WE1MX0NPTlRFWFRfQllURVM9MTAyNDtVU0VfUFlFWFBBVF9DQVBJO1hNTF9TVEFUSUM7SEFWRV9NRU1NT1ZFOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8TGluaz4KLSAgICAgIDxCYXNlQWRkcmVzcz4weDFEMTAwMDAwPC9CYXNlQWRkcmVzcz4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIj4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Li5cTW9kdWxlc1xleHBhdDslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPlhNTF9OUztYTUxfRFREO0JZVEVPUkRFUj0xMjM0O1hNTF9DT05URVhUX0JZVEVTPTEwMjQ7VVNFX1BZRVhQQVRfQ0FQSTtYTUxfU1RBVElDO0hBVkVfTUVNTU9WRTslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPExpbms+Ci0gICAgICA8QmFzZUFkZHJlc3M+MHgxRDEwMDAwMDwvQmFzZUFkZHJlc3M+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciPgotICAgIDxNaWRsPgotICAgICAgPFRhcmdldEVudmlyb25tZW50Plg2NDwvVGFyZ2V0RW52aXJvbm1lbnQ+Ci0gICAgPC9NaWRsPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4uLlxNb2R1bGVzXGV4cGF0OyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+WE1MX05TO1hNTF9EVEQ7QllURU9SREVSPTEyMzQ7WE1MX0NPTlRFWFRfQllURVM9MTAyNDtVU0VfUFlFWFBBVF9DQVBJO1hNTF9TVEFUSUM7SEFWRV9NRU1NT1ZFOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8TGluaz4KLSAgICAgIDxCYXNlQWRkcmVzcz4weDFEMTAwMDAwPC9CYXNlQWRkcmVzcz4KLSAgICAgIDxUYXJnZXRNYWNoaW5lPk1hY2hpbmVYNjQ8L1RhcmdldE1hY2hpbmU+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIj4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Li5cTW9kdWxlc1xleHBhdDslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPlhNTF9OUztYTUxfRFREO0JZVEVPUkRFUj0xMjM0O1hNTF9DT05URVhUX0JZVEVTPTEwMjQ7VVNFX1BZRVhQQVRfQ0FQSTtYTUxfU1RBVElDO0hBVkVfTUVNTU9WRTslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPExpbms+Ci0gICAgICA8QmFzZUFkZHJlc3M+MHgxRDEwMDAwMDwvQmFzZUFkZHJlc3M+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyI+Ci0gICAgPE1pZGw+Ci0gICAgICA8VGFyZ2V0RW52aXJvbm1lbnQ+WDY0PC9UYXJnZXRFbnZpcm9ubWVudD4KLSAgICA8L01pZGw+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPi4uXE1vZHVsZXNcZXhwYXQ7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5YTUxfTlM7WE1MX0RURDtCWVRFT1JERVI9MTIzNDtYTUxfQ09OVEVYVF9CWVRFUz0xMDI0O1VTRV9QWUVYUEFUX0NBUEk7WE1MX1NUQVRJQztIQVZFX01FTU1PVkU7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgIDwvQ2xDb21waWxlPgotICAgIDxMaW5rPgotICAgICAgPEJhc2VBZGRyZXNzPjB4MUQxMDAwMDA8L0Jhc2VBZGRyZXNzPgotICAgICAgPFRhcmdldE1hY2hpbmU+TWFjaGluZVg2NDwvVGFyZ2V0TWFjaGluZT4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KICAgPEl0ZW1Hcm91cD4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXE1vZHVsZXNcZXhwYXRcYXNjaWkuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXE1vZHVsZXNcZXhwYXRcYXNjaWl0YWIuaCIgLz4KZGlmZiAtLWdpdCBhL1BDYnVpbGQvX2ZyZWV6ZV9pbXBvcnRsaWIudmN4cHJvaiBiL1BDYnVpbGQvX2ZyZWV6ZV9pbXBvcnRsaWIudmN4cHJvagppbmRleCA1NTE5N2FmLi5mNzcxNGMwIDEwMDY0NAotLS0gYS9QQ2J1aWxkL19mcmVlemVfaW1wb3J0bGliLnZjeHByb2oKKysrIGIvUENidWlsZC9fZnJlZXplX2ltcG9ydGxpYi52Y3hwcm9qCkBAIC05LDYgKzksMjIgQEAKICAgICAgIDxDb25maWd1cmF0aW9uPkRlYnVnPC9Db25maWd1cmF0aW9uPgogICAgICAgPFBsYXRmb3JtPng2NDwvUGxhdGZvcm0+CiAgICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KKyAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iUEdJbnN0cnVtZW50fFdpbjMyIj4KKyAgICAgIDxDb25maWd1cmF0aW9uPlBHSW5zdHJ1bWVudDwvQ29uZmlndXJhdGlvbj4KKyAgICAgIDxQbGF0Zm9ybT5XaW4zMjwvUGxhdGZvcm0+CisgICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KKyAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iUEdJbnN0cnVtZW50fHg2NCI+CisgICAgICA8Q29uZmlndXJhdGlvbj5QR0luc3RydW1lbnQ8L0NvbmZpZ3VyYXRpb24+CisgICAgICA8UGxhdGZvcm0+eDY0PC9QbGF0Zm9ybT4KKyAgICA8L1Byb2plY3RDb25maWd1cmF0aW9uPgorICAgIDxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJQR1VwZGF0ZXxXaW4zMiI+CisgICAgICA8Q29uZmlndXJhdGlvbj5QR1VwZGF0ZTwvQ29uZmlndXJhdGlvbj4KKyAgICAgIDxQbGF0Zm9ybT5XaW4zMjwvUGxhdGZvcm0+CisgICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KKyAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iUEdVcGRhdGV8eDY0Ij4KKyAgICAgIDxDb25maWd1cmF0aW9uPlBHVXBkYXRlPC9Db25maWd1cmF0aW9uPgorICAgICAgPFBsYXRmb3JtPng2NDwvUGxhdGZvcm0+CisgICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KICAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iUmVsZWFzZXxXaW4zMiI+CiAgICAgICA8Q29uZmlndXJhdGlvbj5SZWxlYXNlPC9Db25maWd1cmF0aW9uPgogICAgICAgPFBsYXRmb3JtPldpbjMyPC9QbGF0Zm9ybT4KQEAgLTIyLDE1MiArMzgsMzIgQEAKICAgICA8UHJvamVjdEd1aWQ+ezE5QzBDMTNGLTQ3Q0EtNDQzMi1BRkYzLTc5OUEyOTZBNEREQ308L1Byb2plY3RHdWlkPgogICAgIDxLZXl3b3JkPldpbjMyUHJvajwvS2V5d29yZD4KICAgICA8Um9vdE5hbWVzcGFjZT5fZnJlZXplX2ltcG9ydGxpYjwvUm9vdE5hbWVzcGFjZT4KKyAgICA8U3VwcG9ydFBHTz5mYWxzZTwvU3VwcG9ydFBHTz4KICAgPC9Qcm9wZXJ0eUdyb3VwPgorICA8SW1wb3J0IFByb2plY3Q9InB5dGhvbi5wcm9wcyIgLz4KICAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAuRGVmYXVsdC5wcm9wcyIgLz4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KKyAgPFByb3BlcnR5R3JvdXAgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgogICAgIDxDb25maWd1cmF0aW9uVHlwZT5BcHBsaWNhdGlvbjwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPFVzZURlYnVnTGlicmFyaWVzPnRydWU8L1VzZURlYnVnTGlicmFyaWVzPgotICAgIDxDaGFyYWN0ZXJTZXQ+VW5pY29kZTwvQ2hhcmFjdGVyU2V0PgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5BcHBsaWNhdGlvbjwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPFVzZURlYnVnTGlicmFyaWVzPnRydWU8L1VzZURlYnVnTGlicmFyaWVzPgotICAgIDxDaGFyYWN0ZXJTZXQ+VW5pY29kZTwvQ2hhcmFjdGVyU2V0PgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+QXBwbGljYXRpb248L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxVc2VEZWJ1Z0xpYnJhcmllcz5mYWxzZTwvVXNlRGVidWdMaWJyYXJpZXM+Ci0gICAgPFdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj50cnVlPC9XaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+Ci0gICAgPENoYXJhY3RlclNldD5Vbmljb2RlPC9DaGFyYWN0ZXJTZXQ+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+QXBwbGljYXRpb248L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxVc2VEZWJ1Z0xpYnJhcmllcz5mYWxzZTwvVXNlRGVidWdMaWJyYXJpZXM+Ci0gICAgPFdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj50cnVlPC9XaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+CiAgICAgPENoYXJhY3RlclNldD5Vbmljb2RlPC9DaGFyYWN0ZXJTZXQ+CiAgIDwvUHJvcGVydHlHcm91cD4KICAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAucHJvcHMiIC8+CiAgIDxJbXBvcnRHcm91cCBMYWJlbD0iRXh0ZW5zaW9uU2V0dGluZ3MiPgogICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgTGFiZWw9IlByb3BlcnR5U2hlZXRzIiBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+CisgIDxJbXBvcnRHcm91cCBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgogICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KICAgICA8SW1wb3J0IFByb2plY3Q9InB5cHJvamVjdC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9ImRlYnVnLnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5cHJvamVjdC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9ImRlYnVnLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0ieDY0LnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgTGFiZWw9IlByb3BlcnR5U2hlZXRzIiBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweXByb2plY3QucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweXByb2plY3QucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJ4NjQucHJvcHMiIC8+CiAgIDwvSW1wb3J0R3JvdXA+CiAgIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJVc2VyTWFjcm9zIiAvPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+Ci0gICAgPExpbmtJbmNyZW1lbnRhbD50cnVlPC9MaW5rSW5jcmVtZW50YWw+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIj4KLSAgICA8TGlua0luY3JlbWVudGFsPnRydWU8L0xpbmtJbmNyZW1lbnRhbD4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj4KLSAgICA8TGlua0luY3JlbWVudGFsPmZhbHNlPC9MaW5rSW5jcmVtZW50YWw+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPgotICAgIDxMaW5rSW5jcmVtZW50YWw+ZmFsc2U8L0xpbmtJbmNyZW1lbnRhbD4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+CisgIDxJdGVtRGVmaW5pdGlvbkdyb3VwPgogICAgIDxDbENvbXBpbGU+Ci0gICAgICA8UHJlY29tcGlsZWRIZWFkZXI+Ci0gICAgICA8L1ByZWNvbXBpbGVkSGVhZGVyPgotICAgICAgPFdhcm5pbmdMZXZlbD5MZXZlbDM8L1dhcm5pbmdMZXZlbD4KLSAgICAgIDxPcHRpbWl6YXRpb24+RGlzYWJsZWQ8L09wdGltaXphdGlvbj4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5XSU4zMjtfREVCVUc7X0NPTlNPTEU7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgorICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPl9DT05TT0xFOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KICAgICA8L0NsQ29tcGlsZT4KICAgICA8TGluaz4KICAgICAgIDxTdWJTeXN0ZW0+Q29uc29sZTwvU3ViU3lzdGVtPgotICAgICAgPEdlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj50cnVlPC9HZW5lcmF0ZURlYnVnSW5mb3JtYXRpb24+CiAgICAgPC9MaW5rPgotICAgIDxQb3N0QnVpbGRFdmVudD4KLSAgICAgIDxDb21tYW5kPiQoVGFyZ2V0UGF0aCkgLi5cTGliXGltcG9ydGxpYlxfYm9vdHN0cmFwLnB5IC4uXFB5dGhvblxpbXBvcnRsaWIuaDwvQ29tbWFuZD4KLSAgICA8L1Bvc3RCdWlsZEV2ZW50PgotICAgIDxQb3N0QnVpbGRFdmVudD4KLSAgICAgIDxNZXNzYWdlPmNyZWF0aW5nIGltcG9ydGxpYi5oPC9NZXNzYWdlPgotICAgIDwvUG9zdEJ1aWxkRXZlbnQ+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIj4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPFByZWNvbXBpbGVkSGVhZGVyPgotICAgICAgPC9QcmVjb21waWxlZEhlYWRlcj4KLSAgICAgIDxXYXJuaW5nTGV2ZWw+TGV2ZWwzPC9XYXJuaW5nTGV2ZWw+Ci0gICAgICA8T3B0aW1pemF0aW9uPkRpc2FibGVkPC9PcHRpbWl6YXRpb24+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+V0lOMzI7X0RFQlVHO19DT05TT0xFOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8TGluaz4KLSAgICAgIDxTdWJTeXN0ZW0+Q29uc29sZTwvU3ViU3lzdGVtPgotICAgICAgPEdlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj50cnVlPC9HZW5lcmF0ZURlYnVnSW5mb3JtYXRpb24+Ci0gICAgPC9MaW5rPgotICAgIDxQb3N0QnVpbGRFdmVudD4KLSAgICAgIDxDb21tYW5kPiQoVGFyZ2V0UGF0aCkgLi5cTGliXGltcG9ydGxpYlxfYm9vdHN0cmFwLnB5IC4uXFB5dGhvblxpbXBvcnRsaWIuaDwvQ29tbWFuZD4KLSAgICA8L1Bvc3RCdWlsZEV2ZW50PgotICAgIDxQb3N0QnVpbGRFdmVudD4KLSAgICAgIDxNZXNzYWdlPmNyZWF0aW5nIGltcG9ydGxpYi5oPC9NZXNzYWdlPgotICAgIDwvUG9zdEJ1aWxkRXZlbnQ+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxXYXJuaW5nTGV2ZWw+TGV2ZWwzPC9XYXJuaW5nTGV2ZWw+Ci0gICAgICA8UHJlY29tcGlsZWRIZWFkZXI+Ci0gICAgICA8L1ByZWNvbXBpbGVkSGVhZGVyPgotICAgICAgPE9wdGltaXphdGlvbj5NYXhTcGVlZDwvT3B0aW1pemF0aW9uPgotICAgICAgPEZ1bmN0aW9uTGV2ZWxMaW5raW5nPnRydWU8L0Z1bmN0aW9uTGV2ZWxMaW5raW5nPgotICAgICAgPEludHJpbnNpY0Z1bmN0aW9ucz50cnVlPC9JbnRyaW5zaWNGdW5jdGlvbnM+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+V0lOMzI7TkRFQlVHO19DT05TT0xFOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8TGluaz4KLSAgICAgIDxTdWJTeXN0ZW0+Q29uc29sZTwvU3ViU3lzdGVtPgotICAgICAgPEdlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj50cnVlPC9HZW5lcmF0ZURlYnVnSW5mb3JtYXRpb24+Ci0gICAgICA8RW5hYmxlQ09NREFURm9sZGluZz50cnVlPC9FbmFibGVDT01EQVRGb2xkaW5nPgotICAgICAgPE9wdGltaXplUmVmZXJlbmNlcz50cnVlPC9PcHRpbWl6ZVJlZmVyZW5jZXM+Ci0gICAgPC9MaW5rPgotICAgIDxQb3N0QnVpbGRFdmVudD4KLSAgICAgIDxDb21tYW5kPiQoVGFyZ2V0UGF0aCkgLi5cTGliXGltcG9ydGxpYlxfYm9vdHN0cmFwLnB5IC4uXFB5dGhvblxpbXBvcnRsaWIuaDwvQ29tbWFuZD4KLSAgICA8L1Bvc3RCdWlsZEV2ZW50PgotICAgIDxQb3N0QnVpbGRFdmVudD4KLSAgICAgIDxNZXNzYWdlPmNyZWF0aW5nIGltcG9ydGxpYi5oPC9NZXNzYWdlPgotICAgIDwvUG9zdEJ1aWxkRXZlbnQ+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8V2FybmluZ0xldmVsPkxldmVsMzwvV2FybmluZ0xldmVsPgotICAgICAgPFByZWNvbXBpbGVkSGVhZGVyPgotICAgICAgPC9QcmVjb21waWxlZEhlYWRlcj4KLSAgICAgIDxPcHRpbWl6YXRpb24+TWF4U3BlZWQ8L09wdGltaXphdGlvbj4KLSAgICAgIDxGdW5jdGlvbkxldmVsTGlua2luZz50cnVlPC9GdW5jdGlvbkxldmVsTGlua2luZz4KLSAgICAgIDxJbnRyaW5zaWNGdW5jdGlvbnM+dHJ1ZTwvSW50cmluc2ljRnVuY3Rpb25zPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPldJTjMyO05ERUJVRztfQ09OU09MRTslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPExpbms+Ci0gICAgICA8U3ViU3lzdGVtPkNvbnNvbGU8L1N1YlN5c3RlbT4KLSAgICAgIDxHZW5lcmF0ZURlYnVnSW5mb3JtYXRpb24+dHJ1ZTwvR2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPgotICAgICAgPEVuYWJsZUNPTURBVEZvbGRpbmc+dHJ1ZTwvRW5hYmxlQ09NREFURm9sZGluZz4KLSAgICAgIDxPcHRpbWl6ZVJlZmVyZW5jZXM+dHJ1ZTwvT3B0aW1pemVSZWZlcmVuY2VzPgotICAgIDwvTGluaz4KLSAgICA8UG9zdEJ1aWxkRXZlbnQ+Ci0gICAgICA8Q29tbWFuZD4kKFRhcmdldFBhdGgpIC4uXExpYlxpbXBvcnRsaWJcX2Jvb3RzdHJhcC5weSAuLlxQeXRob25caW1wb3J0bGliLmg8L0NvbW1hbmQ+Ci0gICAgPC9Qb3N0QnVpbGRFdmVudD4KLSAgICA8UG9zdEJ1aWxkRXZlbnQ+Ci0gICAgICA8TWVzc2FnZT5jcmVhdGluZyBpbXBvcnRsaWIuaDwvTWVzc2FnZT4KLSAgICA8L1Bvc3RCdWlsZEV2ZW50PgogICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+CiAgIDxJdGVtR3JvdXA+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxNb2R1bGVzXF9mcmVlemVfaW1wb3J0bGliLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxQcm9ncmFtc1xfZnJlZXplX2ltcG9ydGxpYi5jIiAvPgogICA8L0l0ZW1Hcm91cD4KICAgPEl0ZW1Hcm91cD4KICAgICA8UHJvamVjdFJlZmVyZW5jZSBJbmNsdWRlPSJweXRob25jb3JlLnZjeHByb2oiPgpAQCAtMTg1LDQgKzgxLDI2IEBACiAgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLnRhcmdldHMiIC8+CiAgIDxJbXBvcnRHcm91cCBMYWJlbD0iRXh0ZW5zaW9uVGFyZ2V0cyI+CiAgIDwvSW1wb3J0R3JvdXA+Ci08L1Byb2plY3Q+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorICA8VGFyZ2V0IE5hbWU9IlJlYnVpbGRJbXBvcnRMaWIiIEFmdGVyVGFyZ2V0cz0iQWZ0ZXJCdWlsZCIgQ29uZGl0aW9uPSIkKENvbmZpZ3VyYXRpb24pID09ICdEZWJ1Zycgb3IgJChDb25maWd1cmF0aW9uKSA9PSAnUmVsZWFzZSciPgorICAgIDxFeGVjIENvbW1hbmQ9JyIkKFRhcmdldFBhdGgpIiAiJChQeVNvdXJjZVBhdGgpTGliXGltcG9ydGxpYlxfYm9vdHN0cmFwLnB5IiAiJChJbnREaXIpaW1wb3J0bGliLmcuaCInIC8+CisgICAgCisgICAgPFByb3BlcnR5R3JvdXA+CisgICAgICA8X09sZENvbnRlbnQgQ29uZGl0aW9uPSJFeGlzdHMoJyQoUHlTb3VyY2VQYXRoKVB5dGhvblxpbXBvcnRsaWIuaCcpIj4kKFtTeXN0ZW0uSU8uRmlsZV06OlJlYWRBbGxUZXh0KCckKFB5U291cmNlUGF0aClQeXRob25caW1wb3J0bGliLmgnKS5SZXBsYWNlKGAmI3gwRDsmI3gwQTtgLCBgJiN4MEE7YCkpPC9fT2xkQ29udGVudD4KKyAgICAgIDxfTmV3Q29udGVudCBDb25kaXRpb249IkV4aXN0cygnJChJbnREaXIpaW1wb3J0bGliLmcuaCcpIj4kKFtTeXN0ZW0uSU8uRmlsZV06OlJlYWRBbGxUZXh0KCckKEludERpcilpbXBvcnRsaWIuZy5oJykuUmVwbGFjZShgJiN4MEQ7JiN4MEE7YCwgYCYjeDBBO2ApKTwvX05ld0NvbnRlbnQ+CisgICAgPC9Qcm9wZXJ0eUdyb3VwPgorICAgIAorICAgIDxDb3B5IFNvdXJjZUZpbGVzPSIkKEludERpcilpbXBvcnRsaWIuZy5oIgorICAgICAgICAgIERlc3RpbmF0aW9uRmlsZXM9IiQoUHlTb3VyY2VQYXRoKVB5dGhvblxpbXBvcnRsaWIuaCIKKyAgICAgICAgICBDb25kaXRpb249IkV4aXN0cygnJChJbnREaXIpaW1wb3J0bGliLmcuaCcpIGFuZCAnJChfT2xkQ29udGVudCknICE9ICckKF9OZXdDb250ZW50KSciIC8+CisgICAgCisgICAgPFdhcm5pbmcgVGV4dD0iaW1wb3J0bGliLmggaGFzIGJlZW4gdXBkYXRlZC4gWW91IHdpbGwgbmVlZCB0byByZWJ1aWxkIHB5dGhvbmNvcmUgdG8gc2VlIHRoZSBjaGFuZ2VzLiIKKyAgICAgICAgICAgICBDb25kaXRpb249IkV4aXN0cygnJChJbnREaXIpaW1wb3J0bGliLmcuaCcpIGFuZCAnJChfT2xkQ29udGVudCknICE9ICckKF9OZXdDb250ZW50KScgYW5kICQoQ29uZmlndXJhdGlvbikgPT0gJ0RlYnVnJyIgLz4KKyAgICA8RXJyb3IgVGV4dD0iaW1wb3J0bGliLmggaGFzIGJlZW4gdXBkYXRlZC4gWW91IHdpbGwgbmVlZCB0byByZWJ1aWxkIHB5dGhvbmNvcmUgdG8gc2VlIHRoZSBjaGFuZ2VzLiIKKyAgICAgICAgICAgQ29uZGl0aW9uPSJFeGlzdHMoJyQoSW50RGlyKWltcG9ydGxpYi5nLmgnKSBhbmQgJyQoX09sZENvbnRlbnQpJyAhPSAnJChfTmV3Q29udGVudCknIGFuZCAkKENvbmZpZ3VyYXRpb24pID09ICdSZWxlYXNlJyIgLz4KKyAgPC9UYXJnZXQ+CisgIDxUYXJnZXQgTmFtZT0iX0NsZWFuSW1wb3J0TGliIiBCZWZvcmVUYXJnZXRzPSJDb3JlQ2xlYW4iPgorICAgIDxJdGVtR3JvdXA+CisgICAgICA8Q2xlYW4gSW5jbHVkZT0iJChJbnREaXIpaW1wb3J0bGliLmcuaCIgLz4KKyAgICA8L0l0ZW1Hcm91cD4KKyAgPC9UYXJnZXQ+Cis8L1Byb2plY3Q+CmRpZmYgLS1naXQgYS9QQ2J1aWxkL19mcmVlemVfaW1wb3J0bGliLnZjeHByb2ouZmlsdGVycyBiL1BDYnVpbGQvX2ZyZWV6ZV9pbXBvcnRsaWIudmN4cHJvai5maWx0ZXJzCmluZGV4IDUwZWMxOTMuLmNjYWQwNTMgMTAwNjQ0Ci0tLSBhL1BDYnVpbGQvX2ZyZWV6ZV9pbXBvcnRsaWIudmN4cHJvai5maWx0ZXJzCisrKyBiL1BDYnVpbGQvX2ZyZWV6ZV9pbXBvcnRsaWIudmN4cHJvai5maWx0ZXJzCkBAIC0xNSw3ICsxNSw3IEBACiAgICAgPC9GaWx0ZXI+CiAgIDwvSXRlbUdyb3VwPgogICA8SXRlbUdyb3VwPgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cTW9kdWxlc1xfZnJlZXplX2ltcG9ydGxpYi5jIj4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXFByb2dyYW1zXF9mcmVlemVfaW1wb3J0bGliLmMiPgogICAgICAgPEZpbHRlcj5Tb3VyY2UgRmlsZXM8L0ZpbHRlcj4KICAgICA8L0NsQ29tcGlsZT4KICAgPC9JdGVtR3JvdXA+CkBAIC0yNCw0ICsyNCw0IEBACiAgICAgICA8RmlsdGVyPlNvdXJjZSBGaWxlczwvRmlsdGVyPgogICAgIDwvTm9uZT4KICAgPC9JdGVtR3JvdXA+Ci08L1Byb2plY3Q+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorPC9Qcm9qZWN0PgpkaWZmIC0tZ2l0IGEvUENidWlsZC9faGFzaGxpYi52Y3hwcm9qIGIvUENidWlsZC9faGFzaGxpYi52Y3hwcm9qCmluZGV4IDUyNDMzZWQuLmQ4MmIyNjYgMTAwNjQ0Ci0tLSBhL1BDYnVpbGQvX2hhc2hsaWIudmN4cHJvagorKysgYi9QQ2J1aWxkL19oYXNobGliLnZjeHByb2oKQEAgLTM5LDIzOSArMzksNDcgQEAKICAgICA8Um9vdE5hbWVzcGFjZT5faGFzaGxpYjwvUm9vdE5hbWVzcGFjZT4KICAgICA8S2V5d29yZD5XaW4zMlByb2o8L0tleXdvcmQ+CiAgIDwvUHJvcGVydHlHcm91cD4KKyAgPEltcG9ydCBQcm9qZWN0PSJweXRob24ucHJvcHMiIC8+CiAgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLkRlZmF1bHQucHJvcHMiIC8+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KLSAgICA8V2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPnRydWU8L1dob2xlUHJvZ3JhbU9wdGltaXphdGlvbj4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KLSAgICA8V2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPnRydWU8L1dob2xlUHJvZ3JhbU9wdGltaXphdGlvbj4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgorICA8UHJvcGVydHlHcm91cCBMYWJlbD0iQ29uZmlndXJhdGlvbiI+CiAgICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KICAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgogICA8L1Byb3BlcnR5R3JvdXA+CiAgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLnByb3BzIiAvPgorICA8UHJvcGVydHlHcm91cD4KKyAgICA8VGFyZ2V0RXh0Pi5weWQ8L1RhcmdldEV4dD4KKyAgPC9Qcm9wZXJ0eUdyb3VwPgogICA8SW1wb3J0R3JvdXAgTGFiZWw9IkV4dGVuc2lvblNldHRpbmdzIj4KICAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgorICA8SW1wb3J0R3JvdXAgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KICAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJwZ3VwZGF0ZS5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJwZ2luc3RydW1lbnQucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZC5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZF9kLnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9Ing2NC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InBndXBkYXRlLnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJ4NjQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJwZ2luc3RydW1lbnQucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJ4NjQucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlkX2QucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJ4NjQucHJvcHMiIC8+CisgICAgPEltcG9ydCBQcm9qZWN0PSJweXByb2plY3QucHJvcHMiIC8+CiAgIDwvSW1wb3J0R3JvdXA+CiAgIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJVc2VyTWFjcm9zIiAvPgogICA8UHJvcGVydHlHcm91cD4KICAgICA8X1Byb2plY3RGaWxlVmVyc2lvbj4xMC4wLjMwMzE5LjE8L19Qcm9qZWN0RmlsZVZlcnNpb24+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIiAvPgogICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIj4KKyAgPEl0ZW1EZWZpbml0aW9uR3JvdXA+CiAgICAgPENsQ29tcGlsZT4KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPiQob3BlbnNzbERpcilcaW5jMzI7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KKyAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPiQob3BlbnNzbERpcilpbmNsdWRlOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+CiAgICAgPC9DbENvbXBpbGU+Ci0gICAgPFByZUxpbmtFdmVudD4KLSAgICAgIDxDb21tYW5kPgotICAgICAgPC9Db21tYW5kPgotICAgIDwvUHJlTGlua0V2ZW50PgogICAgIDxMaW5rPgotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+d3MyXzMyLmxpYjskKG9wZW5zc2xEaXIpXG91dDMyXGxpYmVheTMyLmxpYjskKG9wZW5zc2xEaXIpXG91dDMyXHNzbGVheTMyLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPgotICAgIDxNaWRsPgotICAgICAgPFRhcmdldEVudmlyb25tZW50Plg2NDwvVGFyZ2V0RW52aXJvbm1lbnQ+Ci0gICAgPC9NaWRsPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4kKG9wZW5zc2xEaXIpXGluYzY0OyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPFByZUxpbmtFdmVudD4KLSAgICAgIDxDb21tYW5kPgotICAgICAgPC9Db21tYW5kPgotICAgIDwvUHJlTGlua0V2ZW50PgotICAgIDxMaW5rPgotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+d3MyXzMyLmxpYjskKG9wZW5zc2xEaXIpXG91dDY0XGxpYmVheTMyLmxpYjskKG9wZW5zc2xEaXIpXG91dDY0XHNzbGVheTMyLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+JChvcGVuc3NsRGlyKVxpbmMzMjslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgotICAgIDwvQ2xDb21waWxlPgotICAgIDxQcmVMaW5rRXZlbnQ+Ci0gICAgICA8Q29tbWFuZD4KLSAgICAgIDwvQ29tbWFuZD4KLSAgICA8L1ByZUxpbmtFdmVudD4KLSAgICA8TGluaz4KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPndzMl8zMi5saWI7JChvcGVuc3NsRGlyKVxvdXQzMlxsaWJlYXkzMi5saWI7JChvcGVuc3NsRGlyKVxvdXQzMlxzc2xlYXkzMi5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPgotICAgIDxNaWRsPgotICAgICAgPFRhcmdldEVudmlyb25tZW50Plg2NDwvVGFyZ2V0RW52aXJvbm1lbnQ+Ci0gICAgPC9NaWRsPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4kKG9wZW5zc2xEaXIpXGluYzY0OyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPFByZUxpbmtFdmVudD4KLSAgICAgIDxDb21tYW5kPgotICAgICAgPC9Db21tYW5kPgotICAgIDwvUHJlTGlua0V2ZW50PgotICAgIDxMaW5rPgotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+d3MyXzMyLmxpYjskKG9wZW5zc2xEaXIpXG91dDY0XGxpYmVheTMyLmxpYjskKG9wZW5zc2xEaXIpXG91dDY0XHNzbGVheTMyLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4kKG9wZW5zc2xEaXIpXGluYzMyOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPFByZUxpbmtFdmVudD4KLSAgICAgIDxDb21tYW5kPgotICAgICAgPC9Db21tYW5kPgotICAgIDwvUHJlTGlua0V2ZW50PgotICAgIDxMaW5rPgotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+d3MyXzMyLmxpYjskKG9wZW5zc2xEaXIpXG91dDMyXGxpYmVheTMyLmxpYjskKG9wZW5zc2xEaXIpXG91dDMyXHNzbGVheTMyLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIj4KLSAgICA8TWlkbD4KLSAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5YNjQ8L1RhcmdldEVudmlyb25tZW50PgotICAgIDwvTWlkbD4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+JChvcGVuc3NsRGlyKVxpbmM2NDslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgotICAgIDwvQ2xDb21waWxlPgotICAgIDxQcmVMaW5rRXZlbnQ+Ci0gICAgICA8Q29tbWFuZD4KLSAgICAgIDwvQ29tbWFuZD4KLSAgICA8L1ByZUxpbmtFdmVudD4KLSAgICA8TGluaz4KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPndzMl8zMi5saWI7JChvcGVuc3NsRGlyKVxvdXQ2NFxsaWJlYXkzMi5saWI7JChvcGVuc3NsRGlyKVxvdXQ2NFxzc2xlYXkzMi5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KLSAgICAgIDxUYXJnZXRNYWNoaW5lPk1hY2hpbmVYNjQ8L1RhcmdldE1hY2hpbmU+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIj4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+JChvcGVuc3NsRGlyKVxpbmMzMjslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgotICAgIDwvQ2xDb21waWxlPgotICAgIDxQcmVMaW5rRXZlbnQ+Ci0gICAgICA8Q29tbWFuZD4KLSAgICAgIDwvQ29tbWFuZD4KLSAgICA8L1ByZUxpbmtFdmVudD4KLSAgICA8TGluaz4KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPndzMl8zMi5saWI7JChvcGVuc3NsRGlyKVxvdXQzMlxsaWJlYXkzMi5saWI7JChvcGVuc3NsRGlyKVxvdXQzMlxzc2xlYXkzMi5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIj4KLSAgICA8TWlkbD4KLSAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5YNjQ8L1RhcmdldEVudmlyb25tZW50PgotICAgIDwvTWlkbD4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+JChvcGVuc3NsRGlyKVxpbmM2NDslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgotICAgIDwvQ2xDb21waWxlPgotICAgIDxQcmVMaW5rRXZlbnQ+Ci0gICAgICA8Q29tbWFuZD4KLSAgICAgIDwvQ29tbWFuZD4KLSAgICA8L1ByZUxpbmtFdmVudD4KLSAgICA8TGluaz4KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPndzMl8zMi5saWI7JChvcGVuc3NsRGlyKVxvdXQ2NFxsaWJlYXkzMi5saWI7JChvcGVuc3NsRGlyKVxvdXQ2NFxzc2xlYXkzMi5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KLSAgICAgIDxUYXJnZXRNYWNoaW5lPk1hY2hpbmVYNjQ8L1RhcmdldE1hY2hpbmU+CisgICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz53czJfMzIubGliOyQoT3V0RGlyKWxpYmVheSQoUHlEZWJ1Z0V4dCkubGliOyQoT3V0RGlyKXNzbGVheSQoUHlEZWJ1Z0V4dCkubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+CiAgICAgPC9MaW5rPgogICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+CiAgIDxJdGVtR3JvdXA+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxNb2R1bGVzXF9oYXNob3BlbnNzbC5jIiAvPgogICA8L0l0ZW1Hcm91cD4KICAgPEl0ZW1Hcm91cD4KLSAgICA8UHJvamVjdFJlZmVyZW5jZSBJbmNsdWRlPSJweXRob24udmN4cHJvaiI+Ci0gICAgICA8UHJvamVjdD57YjExZDc1MGYtY2QxZi00YTk2LTg1Y2UtZTY5YTVjNTI1OWY5fTwvUHJvamVjdD4KLSAgICAgIDxSZWZlcmVuY2VPdXRwdXRBc3NlbWJseT5mYWxzZTwvUmVmZXJlbmNlT3V0cHV0QXNzZW1ibHk+Ci0gICAgPC9Qcm9qZWN0UmVmZXJlbmNlPgogICAgIDxQcm9qZWN0UmVmZXJlbmNlIEluY2x1ZGU9InB5dGhvbmNvcmUudmN4cHJvaiI+CiAgICAgICA8UHJvamVjdD57Y2Y3YWMzZDEtZTJkZi00MWQyLWJlYTYtMWUyNTU2Y2RlYTI2fTwvUHJvamVjdD4KICAgICAgIDxSZWZlcmVuY2VPdXRwdXRBc3NlbWJseT5mYWxzZTwvUmVmZXJlbmNlT3V0cHV0QXNzZW1ibHk+CiAgICAgPC9Qcm9qZWN0UmVmZXJlbmNlPgotICAgIDxQcm9qZWN0UmVmZXJlbmNlIEluY2x1ZGU9InNzbC52Y3hwcm9qIj4KKyAgICA8UHJvamVjdFJlZmVyZW5jZSBJbmNsdWRlPSJzc2xlYXkudmN4cHJvaiI+CisgICAgICA8UHJvamVjdD57MTA2MTViMjQtNzNiZi00ZWZhLTkzYWEtMjM2OTE2MzIxMzE3fTwvUHJvamVjdD4KKyAgICAgIDxSZWZlcmVuY2VPdXRwdXRBc3NlbWJseT5mYWxzZTwvUmVmZXJlbmNlT3V0cHV0QXNzZW1ibHk+CisgICAgPC9Qcm9qZWN0UmVmZXJlbmNlPgorICAgIDxQcm9qZWN0UmVmZXJlbmNlIEluY2x1ZGU9ImxpYmVheS52Y3hwcm9qIj4KICAgICAgIDxQcm9qZWN0PntlNWIwNGNjMC1lYjRjLTQyYWItYjRkYy0xOGVmOTVmODY0YjB9PC9Qcm9qZWN0PgogICAgICAgPFJlZmVyZW5jZU91dHB1dEFzc2VtYmx5PmZhbHNlPC9SZWZlcmVuY2VPdXRwdXRBc3NlbWJseT4KICAgICA8L1Byb2plY3RSZWZlcmVuY2U+CmRpZmYgLS1naXQgYS9QQ2J1aWxkL19sem1hLnZjeHByb2ogYi9QQ2J1aWxkL19sem1hLnZjeHByb2oKaW5kZXggYWMyNWM4MC4uYWY1MDQ5NCAxMDA2NDQKLS0tIGEvUENidWlsZC9fbHptYS52Y3hwcm9qCisrKyBiL1BDYnVpbGQvX2x6bWEudmN4cHJvagpAQCAtMzksMjAwICszOSwzNSBAQAogICAgIDxSb290TmFtZXNwYWNlPmx6bWE8L1Jvb3ROYW1lc3BhY2U+CiAgICAgPEtleXdvcmQ+V2luMzJQcm9qPC9LZXl3b3JkPgogICA8L1Byb3BlcnR5R3JvdXA+CisgIDxJbXBvcnQgUHJvamVjdD0icHl0aG9uLnByb3BzIiAvPgogICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC5EZWZhdWx0LnByb3BzIiAvPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KLSAgICA8V2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPnRydWU8L1dob2xlUHJvZ3JhbU9wdGltaXphdGlvbj4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+Ci0gICAgPFdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj50cnVlPC9XaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KLSAgICA8V2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPnRydWU8L1dob2xlUHJvZ3JhbU9wdGltaXphdGlvbj4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+Ci0gICAgPFdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj50cnVlPC9XaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KLSAgICA8V2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPnRydWU8L1dob2xlUHJvZ3JhbU9wdGltaXphdGlvbj4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KLSAgICA8V2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPnRydWU8L1dob2xlUHJvZ3JhbU9wdGltaXphdGlvbj4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KKyAgPFByb3BlcnR5R3JvdXAgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgogICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+CiAgICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KICAgPC9Qcm9wZXJ0eUdyb3VwPgogICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC5wcm9wcyIgLz4KKyAgPFByb3BlcnR5R3JvdXA+CisgICAgPFRhcmdldEV4dD4ucHlkPC9UYXJnZXRFeHQ+CisgIDwvUHJvcGVydHlHcm91cD4KICAgPEltcG9ydEdyb3VwIExhYmVsPSJFeHRlbnNpb25TZXR0aW5ncyI+CiAgIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KKyAgPEltcG9ydEdyb3VwIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+CiAgICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlkLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icGd1cGRhdGUucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlkLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icGdpbnN0cnVtZW50LnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWQucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWRfZC5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJ4NjQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJwZ3VwZGF0ZS5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlkLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0ieDY0LnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icGdpbnN0cnVtZW50LnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlkLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0ieDY0LnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZF9kLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0ieDY0LnByb3BzIiAvPgorICAgIDxJbXBvcnQgUHJvamVjdD0icHlwcm9qZWN0LnByb3BzIiAvPgogICA8L0ltcG9ydEdyb3VwPgogICA8UHJvcGVydHlHcm91cCBMYWJlbD0iVXNlck1hY3JvcyIgLz4KICAgPFByb3BlcnR5R3JvdXA+CiAgICAgPF9Qcm9qZWN0RmlsZVZlcnNpb24+MTAuMC4zMDMxOS4xPC9fUHJvamVjdEZpbGVWZXJzaW9uPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyIgLz4KICAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+CisgIDxJdGVtRGVmaW5pdGlvbkdyb3VwPgogICAgIDxDbENvbXBpbGU+Ci0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4kKGx6bWFEaXIpXGluY2x1ZGU7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KKyAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPiQobHptYURpcilpbmNsdWRlOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+CiAgICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+V0lOMzI7X0ZJTEVfT0ZGU0VUX0JJVFM9NjQ7X0NSVF9TRUNVUkVfTk9fREVQUkVDQVRFO19DUlRfTk9OU1REQ19OT19ERVBSRUNBVEU7TFpNQV9BUElfU1RBVElDOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KICAgICA8L0NsQ29tcGlsZT4KICAgICA8TGluaz4KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPiQobHptYURpcilcYmluX2k0ODZcbGlibHptYS5hOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyI+Ci0gICAgPE1pZGw+Ci0gICAgICA8VGFyZ2V0RW52aXJvbm1lbnQ+WDY0PC9UYXJnZXRFbnZpcm9ubWVudD4KLSAgICA8L01pZGw+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPiQobHptYURpcilcaW5jbHVkZTslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPldJTjMyO19GSUxFX09GRlNFVF9CSVRTPTY0O19DUlRfU0VDVVJFX05PX0RFUFJFQ0FURTtfQ1JUX05PTlNURENfTk9fREVQUkVDQVRFO0xaTUFfQVBJX1NUQVRJQzslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPExpbms+Ci0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz4kKGx6bWFEaXIpXGJpbl94ODYtNjRcbGlibHptYS5hOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4kKGx6bWFEaXIpXGluY2x1ZGU7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5XSU4zMjtfRklMRV9PRkZTRVRfQklUUz02NDtfQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEU7X0NSVF9OT05TVERDX05PX0RFUFJFQ0FURTtMWk1BX0FQSV9TVEFUSUM7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgIDwvQ2xDb21waWxlPgotICAgIDxMaW5rPgotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+JChsem1hRGlyKVxiaW5faTQ4NlxsaWJsem1hLmE7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPgotICAgIDxNaWRsPgotICAgICAgPFRhcmdldEVudmlyb25tZW50Plg2NDwvVGFyZ2V0RW52aXJvbm1lbnQ+Ci0gICAgPC9NaWRsPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4kKGx6bWFEaXIpXGluY2x1ZGU7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5XSU4zMjtfRklMRV9PRkZTRVRfQklUUz02NDtfQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEU7X0NSVF9OT05TVERDX05PX0RFUFJFQ0FURTtMWk1BX0FQSV9TVEFUSUM7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgIDwvQ2xDb21waWxlPgotICAgIDxMaW5rPgotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+JChsem1hRGlyKVxiaW5feDg2LTY0XGxpYmx6bWEuYTslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4kKGx6bWFEaXIpXGluY2x1ZGU7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5XSU4zMjtfRklMRV9PRkZTRVRfQklUUz02NDtfQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEU7X0NSVF9OT05TVERDX05PX0RFUFJFQ0FURTtMWk1BX0FQSV9TVEFUSUM7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgIDwvQ2xDb21waWxlPgotICAgIDxMaW5rPgotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+JChsem1hRGlyKVxiaW5faTQ4NlxsaWJsem1hLmE7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyI+Ci0gICAgPE1pZGw+Ci0gICAgICA8VGFyZ2V0RW52aXJvbm1lbnQ+WDY0PC9UYXJnZXRFbnZpcm9ubWVudD4KLSAgICA8L01pZGw+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPiQobHptYURpcilcaW5jbHVkZTslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPldJTjMyO19GSUxFX09GRlNFVF9CSVRTPTY0O19DUlRfU0VDVVJFX05PX0RFUFJFQ0FURTtfQ1JUX05PTlNURENfTk9fREVQUkVDQVRFO0xaTUFfQVBJX1NUQVRJQzslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPExpbms+Ci0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz4kKGx6bWFEaXIpXGJpbl94ODYtNjRcbGlibHptYS5hOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Ci0gICAgICA8VGFyZ2V0TWFjaGluZT5NYWNoaW5lWDY0PC9UYXJnZXRNYWNoaW5lPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyI+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPiQobHptYURpcilcaW5jbHVkZTslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPldJTjMyO19GSUxFX09GRlNFVF9CSVRTPTY0O19DUlRfU0VDVVJFX05PX0RFUFJFQ0FURTtfQ1JUX05PTlNURENfTk9fREVQUkVDQVRFO0xaTUFfQVBJX1NUQVRJQzslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPExpbms+Ci0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz4kKGx6bWFEaXIpXGJpbl9pNDg2XGxpYmx6bWEuYTslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciPgotICAgIDxNaWRsPgotICAgICAgPFRhcmdldEVudmlyb25tZW50Plg2NDwvVGFyZ2V0RW52aXJvbm1lbnQ+Ci0gICAgPC9NaWRsPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4kKGx6bWFEaXIpXGluY2x1ZGU7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5XSU4zMjtfRklMRV9PRkZTRVRfQklUUz02NDtfQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEU7X0NSVF9OT05TVERDX05PX0RFUFJFQ0FURTtMWk1BX0FQSV9TVEFUSUM7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgIDwvQ2xDb21waWxlPgotICAgIDxMaW5rPgotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+JChsem1hRGlyKVxiaW5feDg2LTY0XGxpYmx6bWEuYTslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgotICAgICAgPFRhcmdldE1hY2hpbmU+TWFjaGluZVg2NDwvVGFyZ2V0TWFjaGluZT4KKyAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzIENvbmRpdGlvbj0iJyQoUGxhdGZvcm0pJyA9PSAnV2luMzInIj4kKGx6bWFEaXIpXGJpbl9pNDg2XGxpYmx6bWEuYTslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgorICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMgQ29uZGl0aW9uPSInJChQbGF0Zm9ybSknID09ICd4NjQnIj4kKGx6bWFEaXIpXGJpbl94ODYtNjRcbGlibHptYS5hOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+CisgICAgICA8SW1hZ2VIYXNTYWZlRXhjZXB0aW9uSGFuZGxlcnM+ZmFsc2U8L0ltYWdlSGFzU2FmZUV4Y2VwdGlvbkhhbmRsZXJzPgogICAgIDwvTGluaz4KICAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgogICA8SXRlbUdyb3VwPgpkaWZmIC0tZ2l0IGEvUENidWlsZC9fbXNpLnZjeHByb2ogYi9QQ2J1aWxkL19tc2kudmN4cHJvagppbmRleCAxMzIzZDE2Li5mNWJhN2JmIDEwMDY0NAotLS0gYS9QQ2J1aWxkL19tc2kudmN4cHJvagorKysgYi9QQ2J1aWxkL19tc2kudmN4cHJvagpAQCAtMzksMTc4ICszOSwzMiBAQAogICAgIDxSb290TmFtZXNwYWNlPl9tc2k8L1Jvb3ROYW1lc3BhY2U+CiAgICAgPEtleXdvcmQ+V2luMzJQcm9qPC9LZXl3b3JkPgogICA8L1Byb3BlcnR5R3JvdXA+CisgIDxJbXBvcnQgUHJvamVjdD0icHl0aG9uLnByb3BzIiAvPgogICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC5EZWZhdWx0LnByb3BzIiAvPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KLSAgICA8V2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPnRydWU8L1dob2xlUHJvZ3JhbU9wdGltaXphdGlvbj4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+Ci0gICAgPFdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj50cnVlPC9XaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KLSAgICA8V2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPnRydWU8L1dob2xlUHJvZ3JhbU9wdGltaXphdGlvbj4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+Ci0gICAgPFdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj50cnVlPC9XaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KLSAgICA8V2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPnRydWU8L1dob2xlUHJvZ3JhbU9wdGltaXphdGlvbj4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KLSAgICA8V2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPnRydWU8L1dob2xlUHJvZ3JhbU9wdGltaXphdGlvbj4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KKyAgPFByb3BlcnR5R3JvdXAgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgogICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+CiAgICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KICAgPC9Qcm9wZXJ0eUdyb3VwPgogICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC5wcm9wcyIgLz4KKyAgPFByb3BlcnR5R3JvdXA+CisgICAgPFRhcmdldEV4dD4ucHlkPC9UYXJnZXRFeHQ+CisgIDwvUHJvcGVydHlHcm91cD4KICAgPEltcG9ydEdyb3VwIExhYmVsPSJFeHRlbnNpb25TZXR0aW5ncyI+CiAgIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KKyAgPEltcG9ydEdyb3VwIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+CiAgICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlkLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icGd1cGRhdGUucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlkLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icGdpbnN0cnVtZW50LnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWQucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWRfZC5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJ4NjQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJwZ3VwZGF0ZS5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlkLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0ieDY0LnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icGdpbnN0cnVtZW50LnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlkLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0ieDY0LnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZF9kLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0ieDY0LnByb3BzIiAvPgorICAgIDxJbXBvcnQgUHJvamVjdD0icHlwcm9qZWN0LnByb3BzIiAvPgogICA8L0ltcG9ydEdyb3VwPgogICA8UHJvcGVydHlHcm91cCBMYWJlbD0iVXNlck1hY3JvcyIgLz4KICAgPFByb3BlcnR5R3JvdXA+CiAgICAgPF9Qcm9qZWN0RmlsZVZlcnNpb24+MTAuMC4zMDMxOS4xPC9fUHJvamVjdEZpbGVWZXJzaW9uPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyIgLz4KICAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+CisgIDxJdGVtRGVmaW5pdGlvbkdyb3VwPgogICAgIDxMaW5rPgotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+ZmNpLmxpYjttc2kubGliO3JwY3J0NC5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KKyAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPmNhYmluZXQubGliO21zaS5saWI7cnBjcnQ0LmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgogICAgICAgPEJhc2VBZGRyZXNzPjB4MUQxNjAwMDA8L0Jhc2VBZGRyZXNzPgogICAgIDwvTGluaz4KICAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPgotICAgIDxNaWRsPgotICAgICAgPFRhcmdldEVudmlyb25tZW50Plg2NDwvVGFyZ2V0RW52aXJvbm1lbnQ+Ci0gICAgPC9NaWRsPgotICAgIDxMaW5rPgotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+ZmNpLmxpYjttc2kubGliO3JwY3J0NC5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KLSAgICAgIDxCYXNlQWRkcmVzcz4weDFEMTYwMDAwPC9CYXNlQWRkcmVzcz4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+Ci0gICAgPExpbms+Ci0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz5mY2kubGliO21zaS5saWI7cnBjcnQ0LmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgotICAgICAgPEJhc2VBZGRyZXNzPjB4MUQxNjAwMDA8L0Jhc2VBZGRyZXNzPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+Ci0gICAgPE1pZGw+Ci0gICAgICA8VGFyZ2V0RW52aXJvbm1lbnQ+WDY0PC9UYXJnZXRFbnZpcm9ubWVudD4KLSAgICA8L01pZGw+Ci0gICAgPExpbms+Ci0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz5mY2kubGliO21zaS5saWI7cnBjcnQ0LmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgotICAgICAgPEJhc2VBZGRyZXNzPjB4MUQxNjAwMDA8L0Jhc2VBZGRyZXNzPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciPgotICAgIDxMaW5rPgotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+ZmNpLmxpYjttc2kubGliO3JwY3J0NC5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KLSAgICAgIDxCYXNlQWRkcmVzcz4weDFEMTYwMDAwPC9CYXNlQWRkcmVzcz4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyI+Ci0gICAgPE1pZGw+Ci0gICAgICA8VGFyZ2V0RW52aXJvbm1lbnQ+WDY0PC9UYXJnZXRFbnZpcm9ubWVudD4KLSAgICA8L01pZGw+Ci0gICAgPExpbms+Ci0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz5mY2kubGliO21zaS5saWI7cnBjcnQ0LmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgotICAgICAgPEJhc2VBZGRyZXNzPjB4MUQxNjAwMDA8L0Jhc2VBZGRyZXNzPgotICAgICAgPFRhcmdldE1hY2hpbmU+TWFjaGluZVg2NDwvVGFyZ2V0TWFjaGluZT4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciPgotICAgIDxMaW5rPgotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+ZmNpLmxpYjttc2kubGliO3JwY3J0NC5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KLSAgICAgIDxCYXNlQWRkcmVzcz4weDFEMTYwMDAwPC9CYXNlQWRkcmVzcz4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIj4KLSAgICA8TWlkbD4KLSAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5YNjQ8L1RhcmdldEVudmlyb25tZW50PgotICAgIDwvTWlkbD4KLSAgICA8TGluaz4KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPmZjaS5saWI7bXNpLmxpYjtycGNydDQubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Ci0gICAgICA8QmFzZUFkZHJlc3M+MHgxRDE2MDAwMDwvQmFzZUFkZHJlc3M+Ci0gICAgICA8VGFyZ2V0TWFjaGluZT5NYWNoaW5lWDY0PC9UYXJnZXRNYWNoaW5lPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgogICA8SXRlbUdyb3VwPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cUENcX21zaS5jIiAvPgogICA8L0l0ZW1Hcm91cD4KZGlmZiAtLWdpdCBhL1BDYnVpbGQvX211bHRpcHJvY2Vzc2luZy52Y3hwcm9qIGIvUENidWlsZC9fbXVsdGlwcm9jZXNzaW5nLnZjeHByb2oKaW5kZXggYjRiYjU2OC4uMWViOTJiNiAxMDA2NDQKLS0tIGEvUENidWlsZC9fbXVsdGlwcm9jZXNzaW5nLnZjeHByb2oKKysrIGIvUENidWlsZC9fbXVsdGlwcm9jZXNzaW5nLnZjeHByb2oKQEAgLTM5LDE3OCArMzksMzIgQEAKICAgICA8Um9vdE5hbWVzcGFjZT5fbXVsdGlwcm9jZXNzaW5nPC9Sb290TmFtZXNwYWNlPgogICAgIDxLZXl3b3JkPldpbjMyUHJvajwvS2V5d29yZD4KICAgPC9Qcm9wZXJ0eUdyb3VwPgorICA8SW1wb3J0IFByb2plY3Q9InB5dGhvbi5wcm9wcyIgLz4KICAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAuRGVmYXVsdC5wcm9wcyIgLz4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+Ci0gICAgPFdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj50cnVlPC9XaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+Ci0gICAgPFdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj50cnVlPC9XaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+Ci0gICAgPFdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj50cnVlPC9XaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+Ci0gICAgPFdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj50cnVlPC9XaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+CisgIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJDb25maWd1cmF0aW9uIj4KICAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgogICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+CiAgIDwvUHJvcGVydHlHcm91cD4KICAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAucHJvcHMiIC8+CisgIDxQcm9wZXJ0eUdyb3VwPgorICAgIDxUYXJnZXRFeHQ+LnB5ZDwvVGFyZ2V0RXh0PgorICA8L1Byb3BlcnR5R3JvdXA+CiAgIDxJbXBvcnRHcm91cCBMYWJlbD0iRXh0ZW5zaW9uU2V0dGluZ3MiPgogICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+CisgIDxJbXBvcnRHcm91cCBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgogICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InBndXBkYXRlLnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InBnaW5zdHJ1bWVudC5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlkLnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlkX2QucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlkLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0ieDY0LnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icGd1cGRhdGUucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9Ing2NC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InBnaW5zdHJ1bWVudC5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9Ing2NC5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWRfZC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9Ing2NC5wcm9wcyIgLz4KKyAgICA8SW1wb3J0IFByb2plY3Q9InB5cHJvamVjdC5wcm9wcyIgLz4KICAgPC9JbXBvcnRHcm91cD4KICAgPFByb3BlcnR5R3JvdXAgTGFiZWw9IlVzZXJNYWNyb3MiIC8+CiAgIDxQcm9wZXJ0eUdyb3VwPgogICAgIDxfUHJvamVjdEZpbGVWZXJzaW9uPjEwLjAuMzAzMTkuMTwvX1Byb2plY3RGaWxlVmVyc2lvbj4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIC8+CiAgIDwvUHJvcGVydHlHcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPgorICA8SXRlbURlZmluaXRpb25Hcm91cD4KICAgICA8TGluaz4KICAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPndzMl8zMi5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KICAgICAgIDxCYXNlQWRkcmVzcz4weDFlMUQwMDAwPC9CYXNlQWRkcmVzcz4KICAgICA8L0xpbms+CiAgIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIj4KLSAgICA8TWlkbD4KLSAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5YNjQ8L1RhcmdldEVudmlyb25tZW50PgotICAgIDwvTWlkbD4KLSAgICA8TGluaz4KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPndzMl8zMi5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KLSAgICAgIDxCYXNlQWRkcmVzcz4weDFlMUQwMDAwPC9CYXNlQWRkcmVzcz4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+Ci0gICAgPExpbms+Ci0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz53czJfMzIubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Ci0gICAgICA8QmFzZUFkZHJlc3M+MHgxZTFEMDAwMDwvQmFzZUFkZHJlc3M+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj4KLSAgICA8TWlkbD4KLSAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5YNjQ8L1RhcmdldEVudmlyb25tZW50PgotICAgIDwvTWlkbD4KLSAgICA8TGluaz4KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPndzMl8zMi5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KLSAgICAgIDxCYXNlQWRkcmVzcz4weDFlMUQwMDAwPC9CYXNlQWRkcmVzcz4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIj4KLSAgICA8TGluaz4KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPndzMl8zMi5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KLSAgICAgIDxCYXNlQWRkcmVzcz4weDFlMUQwMDAwPC9CYXNlQWRkcmVzcz4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyI+Ci0gICAgPE1pZGw+Ci0gICAgICA8VGFyZ2V0RW52aXJvbm1lbnQ+WDY0PC9UYXJnZXRFbnZpcm9ubWVudD4KLSAgICA8L01pZGw+Ci0gICAgPExpbms+Ci0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz53czJfMzIubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Ci0gICAgICA8QmFzZUFkZHJlc3M+MHgxZTFEMDAwMDwvQmFzZUFkZHJlc3M+Ci0gICAgICA8VGFyZ2V0TWFjaGluZT5NYWNoaW5lWDY0PC9UYXJnZXRNYWNoaW5lPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyI+Ci0gICAgPExpbms+Ci0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz53czJfMzIubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Ci0gICAgICA8QmFzZUFkZHJlc3M+MHgxZTFEMDAwMDwvQmFzZUFkZHJlc3M+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyI+Ci0gICAgPE1pZGw+Ci0gICAgICA8VGFyZ2V0RW52aXJvbm1lbnQ+WDY0PC9UYXJnZXRFbnZpcm9ubWVudD4KLSAgICA8L01pZGw+Ci0gICAgPExpbms+Ci0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz53czJfMzIubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Ci0gICAgICA8QmFzZUFkZHJlc3M+MHgxZTFEMDAwMDwvQmFzZUFkZHJlc3M+Ci0gICAgICA8VGFyZ2V0TWFjaGluZT5NYWNoaW5lWDY0PC9UYXJnZXRNYWNoaW5lPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgogICA8SXRlbUdyb3VwPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cTW9kdWxlc1xfbXVsdGlwcm9jZXNzaW5nXG11bHRpcHJvY2Vzc2luZy5oIiAvPgogICA8L0l0ZW1Hcm91cD4KZGlmZiAtLWdpdCBhL1BDYnVpbGQvX292ZXJsYXBwZWQudmN4cHJvaiBiL1BDYnVpbGQvX292ZXJsYXBwZWQudmN4cHJvagppbmRleCBkMGVlNzJmLi41NTMwMWVhIDEwMDY0NAotLS0gYS9QQ2J1aWxkL19vdmVybGFwcGVkLnZjeHByb2oKKysrIGIvUENidWlsZC9fb3ZlcmxhcHBlZC52Y3hwcm9qCkBAIC0zOSwxODYgKzM5LDMyIEBACiAgICAgPFJvb3ROYW1lc3BhY2U+X292ZXJsYXBwZWQ8L1Jvb3ROYW1lc3BhY2U+CiAgICAgPEtleXdvcmQ+V2luMzJQcm9qPC9LZXl3b3JkPgogICA8L1Byb3BlcnR5R3JvdXA+CisgIDxJbXBvcnQgUHJvamVjdD0icHl0aG9uLnByb3BzIiAvPgogICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC5EZWZhdWx0LnByb3BzIiAvPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KLSAgICA8V2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPnRydWU8L1dob2xlUHJvZ3JhbU9wdGltaXphdGlvbj4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+Ci0gICAgPFdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj50cnVlPC9XaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KLSAgICA8V2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPnRydWU8L1dob2xlUHJvZ3JhbU9wdGltaXphdGlvbj4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+Ci0gICAgPFdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj50cnVlPC9XaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KLSAgICA8V2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPnRydWU8L1dob2xlUHJvZ3JhbU9wdGltaXphdGlvbj4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KLSAgICA8V2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPnRydWU8L1dob2xlUHJvZ3JhbU9wdGltaXphdGlvbj4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KKyAgPFByb3BlcnR5R3JvdXAgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgogICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+CiAgICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KICAgPC9Qcm9wZXJ0eUdyb3VwPgogICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC5wcm9wcyIgLz4KKyAgPFByb3BlcnR5R3JvdXA+CisgICAgPFRhcmdldEV4dD4ucHlkPC9UYXJnZXRFeHQ+CisgIDwvUHJvcGVydHlHcm91cD4KICAgPEltcG9ydEdyb3VwIExhYmVsPSJFeHRlbnNpb25TZXR0aW5ncyI+CiAgIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KKyAgPEltcG9ydEdyb3VwIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+CiAgICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlkLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icGd1cGRhdGUucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlkLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icGdpbnN0cnVtZW50LnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWQucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWRfZC5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJ4NjQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJwZ3VwZGF0ZS5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlkLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0ieDY0LnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icGdpbnN0cnVtZW50LnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlkLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0ieDY0LnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZF9kLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0ieDY0LnByb3BzIiAvPgorICAgIDxJbXBvcnQgUHJvamVjdD0icHlwcm9qZWN0LnByb3BzIiAvPgogICA8L0ltcG9ydEdyb3VwPgogICA8UHJvcGVydHlHcm91cCBMYWJlbD0iVXNlck1hY3JvcyIgLz4KICAgPFByb3BlcnR5R3JvdXA+CiAgICAgPF9Qcm9qZWN0RmlsZVZlcnNpb24+MTAuMC4zMDMxOS4xPC9fUHJvamVjdEZpbGVWZXJzaW9uPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyIgLz4KICAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+CisgIDxJdGVtRGVmaW5pdGlvbkdyb3VwPgogICAgIDxMaW5rPgogICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+d3MyXzMyLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgotICAgICAgPElnbm9yZVNwZWNpZmljRGVmYXVsdExpYnJhcmllcz5saWJjOyUoSWdub3JlU3BlY2lmaWNEZWZhdWx0TGlicmFyaWVzKTwvSWdub3JlU3BlY2lmaWNEZWZhdWx0TGlicmFyaWVzPgogICAgICAgPEJhc2VBZGRyZXNzPjB4MUQxMTAwMDA8L0Jhc2VBZGRyZXNzPgogICAgIDwvTGluaz4KICAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPgotICAgIDxNaWRsPgotICAgICAgPFRhcmdldEVudmlyb25tZW50Plg2NDwvVGFyZ2V0RW52aXJvbm1lbnQ+Ci0gICAgPC9NaWRsPgotICAgIDxMaW5rPgotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+d3MyXzMyLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgotICAgICAgPElnbm9yZVNwZWNpZmljRGVmYXVsdExpYnJhcmllcz5saWJjOyUoSWdub3JlU3BlY2lmaWNEZWZhdWx0TGlicmFyaWVzKTwvSWdub3JlU3BlY2lmaWNEZWZhdWx0TGlicmFyaWVzPgotICAgICAgPEJhc2VBZGRyZXNzPjB4MUQxMTAwMDA8L0Jhc2VBZGRyZXNzPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj4KLSAgICA8TGluaz4KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPndzMl8zMi5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KLSAgICAgIDxJZ25vcmVTcGVjaWZpY0RlZmF1bHRMaWJyYXJpZXM+bGliYzslKElnbm9yZVNwZWNpZmljRGVmYXVsdExpYnJhcmllcyk8L0lnbm9yZVNwZWNpZmljRGVmYXVsdExpYnJhcmllcz4KLSAgICAgIDxCYXNlQWRkcmVzcz4weDFEMTEwMDAwPC9CYXNlQWRkcmVzcz4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPgotICAgIDxNaWRsPgotICAgICAgPFRhcmdldEVudmlyb25tZW50Plg2NDwvVGFyZ2V0RW52aXJvbm1lbnQ+Ci0gICAgPC9NaWRsPgotICAgIDxMaW5rPgotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+d3MyXzMyLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgotICAgICAgPElnbm9yZVNwZWNpZmljRGVmYXVsdExpYnJhcmllcz5saWJjOyUoSWdub3JlU3BlY2lmaWNEZWZhdWx0TGlicmFyaWVzKTwvSWdub3JlU3BlY2lmaWNEZWZhdWx0TGlicmFyaWVzPgotICAgICAgPEJhc2VBZGRyZXNzPjB4MUQxMTAwMDA8L0Jhc2VBZGRyZXNzPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciPgotICAgIDxMaW5rPgotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+d3MyXzMyLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgotICAgICAgPElnbm9yZVNwZWNpZmljRGVmYXVsdExpYnJhcmllcz5saWJjOyUoSWdub3JlU3BlY2lmaWNEZWZhdWx0TGlicmFyaWVzKTwvSWdub3JlU3BlY2lmaWNEZWZhdWx0TGlicmFyaWVzPgotICAgICAgPEJhc2VBZGRyZXNzPjB4MUQxMTAwMDA8L0Jhc2VBZGRyZXNzPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIj4KLSAgICA8TWlkbD4KLSAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5YNjQ8L1RhcmdldEVudmlyb25tZW50PgotICAgIDwvTWlkbD4KLSAgICA8TGluaz4KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPndzMl8zMi5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KLSAgICAgIDxJZ25vcmVTcGVjaWZpY0RlZmF1bHRMaWJyYXJpZXM+bGliYzslKElnbm9yZVNwZWNpZmljRGVmYXVsdExpYnJhcmllcyk8L0lnbm9yZVNwZWNpZmljRGVmYXVsdExpYnJhcmllcz4KLSAgICAgIDxCYXNlQWRkcmVzcz4weDFEMTEwMDAwPC9CYXNlQWRkcmVzcz4KLSAgICAgIDxUYXJnZXRNYWNoaW5lPk1hY2hpbmVYNjQ8L1RhcmdldE1hY2hpbmU+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIj4KLSAgICA8TGluaz4KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPndzMl8zMi5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KLSAgICAgIDxJZ25vcmVTcGVjaWZpY0RlZmF1bHRMaWJyYXJpZXM+bGliYzslKElnbm9yZVNwZWNpZmljRGVmYXVsdExpYnJhcmllcyk8L0lnbm9yZVNwZWNpZmljRGVmYXVsdExpYnJhcmllcz4KLSAgICAgIDxCYXNlQWRkcmVzcz4weDFEMTEwMDAwPC9CYXNlQWRkcmVzcz4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIj4KLSAgICA8TWlkbD4KLSAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5YNjQ8L1RhcmdldEVudmlyb25tZW50PgotICAgIDwvTWlkbD4KLSAgICA8TGluaz4KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPndzMl8zMi5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KLSAgICAgIDxJZ25vcmVTcGVjaWZpY0RlZmF1bHRMaWJyYXJpZXM+bGliYzslKElnbm9yZVNwZWNpZmljRGVmYXVsdExpYnJhcmllcyk8L0lnbm9yZVNwZWNpZmljRGVmYXVsdExpYnJhcmllcz4KLSAgICAgIDxCYXNlQWRkcmVzcz4weDFEMTEwMDAwPC9CYXNlQWRkcmVzcz4KLSAgICAgIDxUYXJnZXRNYWNoaW5lPk1hY2hpbmVYNjQ8L1RhcmdldE1hY2hpbmU+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+CiAgIDxJdGVtR3JvdXA+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxNb2R1bGVzXG92ZXJsYXBwZWQuYyIgLz4KICAgPC9JdGVtR3JvdXA+CmRpZmYgLS1naXQgYS9QQ2J1aWxkL19zb2NrZXQudmN4cHJvaiBiL1BDYnVpbGQvX3NvY2tldC52Y3hwcm9qCmluZGV4IDYzODM2ZTkuLjAzYjZmNzUgMTAwNjQ0Ci0tLSBhL1BDYnVpbGQvX3NvY2tldC52Y3hwcm9qCisrKyBiL1BDYnVpbGQvX3NvY2tldC52Y3hwcm9qCkBAIC0zOSwxNzggKzM5LDMyIEBACiAgICAgPFJvb3ROYW1lc3BhY2U+X3NvY2tldDwvUm9vdE5hbWVzcGFjZT4KICAgICA8S2V5d29yZD5XaW4zMlByb2o8L0tleXdvcmQ+CiAgIDwvUHJvcGVydHlHcm91cD4KKyAgPEltcG9ydCBQcm9qZWN0PSJweXRob24ucHJvcHMiIC8+CiAgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLkRlZmF1bHQucHJvcHMiIC8+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KLSAgICA8V2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPnRydWU8L1dob2xlUHJvZ3JhbU9wdGltaXphdGlvbj4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KLSAgICA8V2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPnRydWU8L1dob2xlUHJvZ3JhbU9wdGltaXphdGlvbj4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgorICA8UHJvcGVydHlHcm91cCBMYWJlbD0iQ29uZmlndXJhdGlvbiI+CiAgICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KICAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgogICA8L1Byb3BlcnR5R3JvdXA+CiAgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLnByb3BzIiAvPgorICA8UHJvcGVydHlHcm91cD4KKyAgICA8VGFyZ2V0RXh0Pi5weWQ8L1RhcmdldEV4dD4KKyAgPC9Qcm9wZXJ0eUdyb3VwPgogICA8SW1wb3J0R3JvdXAgTGFiZWw9IkV4dGVuc2lvblNldHRpbmdzIj4KICAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgorICA8SW1wb3J0R3JvdXAgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KICAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJwZ3VwZGF0ZS5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJwZ2luc3RydW1lbnQucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZC5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZF9kLnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9Ing2NC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InBndXBkYXRlLnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJ4NjQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJwZ2luc3RydW1lbnQucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJ4NjQucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlkX2QucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJ4NjQucHJvcHMiIC8+CisgICAgPEltcG9ydCBQcm9qZWN0PSJweXByb2plY3QucHJvcHMiIC8+CiAgIDwvSW1wb3J0R3JvdXA+CiAgIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJVc2VyTWFjcm9zIiAvPgogICA8UHJvcGVydHlHcm91cD4KICAgICA8X1Byb2plY3RGaWxlVmVyc2lvbj4xMC4wLjMwMzE5LjE8L19Qcm9qZWN0RmlsZVZlcnNpb24+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIiAvPgogICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIj4KKyAgPEl0ZW1EZWZpbml0aW9uR3JvdXA+CiAgICAgPExpbms+CiAgICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz53czJfMzIubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+CiAgICAgICA8QmFzZUFkZHJlc3M+MHgxZTFEMDAwMDwvQmFzZUFkZHJlc3M+CiAgICAgPC9MaW5rPgogICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyI+Ci0gICAgPE1pZGw+Ci0gICAgICA8VGFyZ2V0RW52aXJvbm1lbnQ+WDY0PC9UYXJnZXRFbnZpcm9ubWVudD4KLSAgICA8L01pZGw+Ci0gICAgPExpbms+Ci0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz53czJfMzIubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Ci0gICAgICA8QmFzZUFkZHJlc3M+MHgxZTFEMDAwMDwvQmFzZUFkZHJlc3M+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPgotICAgIDxMaW5rPgotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+d3MyXzMyLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgotICAgICAgPEJhc2VBZGRyZXNzPjB4MWUxRDAwMDA8L0Jhc2VBZGRyZXNzPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+Ci0gICAgPE1pZGw+Ci0gICAgICA8VGFyZ2V0RW52aXJvbm1lbnQ+WDY0PC9UYXJnZXRFbnZpcm9ubWVudD4KLSAgICA8L01pZGw+Ci0gICAgPExpbms+Ci0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz53czJfMzIubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Ci0gICAgICA8QmFzZUFkZHJlc3M+MHgxZTFEMDAwMDwvQmFzZUFkZHJlc3M+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyI+Ci0gICAgPExpbms+Ci0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz53czJfMzIubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Ci0gICAgICA8QmFzZUFkZHJlc3M+MHgxZTFEMDAwMDwvQmFzZUFkZHJlc3M+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciPgotICAgIDxNaWRsPgotICAgICAgPFRhcmdldEVudmlyb25tZW50Plg2NDwvVGFyZ2V0RW52aXJvbm1lbnQ+Ci0gICAgPC9NaWRsPgotICAgIDxMaW5rPgotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+d3MyXzMyLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgotICAgICAgPEJhc2VBZGRyZXNzPjB4MWUxRDAwMDA8L0Jhc2VBZGRyZXNzPgotICAgICAgPFRhcmdldE1hY2hpbmU+TWFjaGluZVg2NDwvVGFyZ2V0TWFjaGluZT4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciPgotICAgIDxMaW5rPgotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+d3MyXzMyLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgotICAgICAgPEJhc2VBZGRyZXNzPjB4MWUxRDAwMDA8L0Jhc2VBZGRyZXNzPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciPgotICAgIDxNaWRsPgotICAgICAgPFRhcmdldEVudmlyb25tZW50Plg2NDwvVGFyZ2V0RW52aXJvbm1lbnQ+Ci0gICAgPC9NaWRsPgotICAgIDxMaW5rPgotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+d3MyXzMyLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgotICAgICAgPEJhc2VBZGRyZXNzPjB4MWUxRDAwMDA8L0Jhc2VBZGRyZXNzPgotICAgICAgPFRhcmdldE1hY2hpbmU+TWFjaGluZVg2NDwvVGFyZ2V0TWFjaGluZT4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KICAgPEl0ZW1Hcm91cD4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXE1vZHVsZXNcc29ja2V0bW9kdWxlLmgiIC8+CiAgIDwvSXRlbUdyb3VwPgpkaWZmIC0tZ2l0IGEvUENidWlsZC9fc3FsaXRlMy52Y3hwcm9qIGIvUENidWlsZC9fc3FsaXRlMy52Y3hwcm9qCmluZGV4IGVkMzVkNWIuLjVlODg5ZDAgMTAwNjQ0Ci0tLSBhL1BDYnVpbGQvX3NxbGl0ZTMudmN4cHJvagorKysgYi9QQ2J1aWxkL19zcWxpdGUzLnZjeHByb2oKQEAgLTM5LDExNyArMzksMjcgQEAKICAgICA8Um9vdE5hbWVzcGFjZT5fc3FsaXRlMzwvUm9vdE5hbWVzcGFjZT4KICAgICA8S2V5d29yZD5XaW4zMlByb2o8L0tleXdvcmQ+CiAgIDwvUHJvcGVydHlHcm91cD4KKyAgPEltcG9ydCBQcm9qZWN0PSJweXRob24ucHJvcHMiIC8+CiAgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLkRlZmF1bHQucHJvcHMiIC8+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KLSAgICA8V2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPnRydWU8L1dob2xlUHJvZ3JhbU9wdGltaXphdGlvbj4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KLSAgICA8V2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPnRydWU8L1dob2xlUHJvZ3JhbU9wdGltaXphdGlvbj4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgorICA8UHJvcGVydHlHcm91cCBMYWJlbD0iQ29uZmlndXJhdGlvbiI+CiAgICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KICAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgogICA8L1Byb3BlcnR5R3JvdXA+CiAgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLnByb3BzIiAvPgorICA8UHJvcGVydHlHcm91cD4KKyAgICA8VGFyZ2V0RXh0Pi5weWQ8L1RhcmdldEV4dD4KKyAgPC9Qcm9wZXJ0eUdyb3VwPgogICA8SW1wb3J0R3JvdXAgTGFiZWw9IkV4dGVuc2lvblNldHRpbmdzIj4KICAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgorICA8SW1wb3J0R3JvdXAgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KICAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJwZ3VwZGF0ZS5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJwZ2luc3RydW1lbnQucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZC5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZF9kLnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9Ing2NC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InBndXBkYXRlLnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJ4NjQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJwZ2luc3RydW1lbnQucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJ4NjQucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlkX2QucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJ4NjQucHJvcHMiIC8+CisgICAgPEltcG9ydCBQcm9qZWN0PSJweXByb2plY3QucHJvcHMiIC8+CiAgIDwvSW1wb3J0R3JvdXA+CiAgIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJVc2VyTWFjcm9zIiAvPgogICA8UHJvcGVydHlHcm91cD4KICAgICA8X1Byb2plY3RGaWxlVmVyc2lvbj4xMC4wLjMwMzE5LjE8L19Qcm9qZWN0RmlsZVZlcnNpb24+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIiAvPgogICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIj4KKyAgPEl0ZW1EZWZpbml0aW9uR3JvdXA+CiAgICAgPENsQ29tcGlsZT4KICAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPiQoc3FsaXRlM0Rpcik7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KICAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5NT0RVTEVfTkFNRT0ic3FsaXRlMyI7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgpAQCAtMTU4LDgzICs2OCw2IEBACiAgICAgICA8QmFzZUFkZHJlc3M+MHgxZTE4MDAwMDwvQmFzZUFkZHJlc3M+CiAgICAgPC9MaW5rPgogICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyI+Ci0gICAgPE1pZGw+Ci0gICAgICA8VGFyZ2V0RW52aXJvbm1lbnQ+WDY0PC9UYXJnZXRFbnZpcm9ubWVudD4KLSAgICA8L01pZGw+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPiQoc3FsaXRlM0Rpcik7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5NT0RVTEVfTkFNRT0ic3FsaXRlMyI7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgIDwvQ2xDb21waWxlPgotICAgIDxMaW5rPgotICAgICAgPEJhc2VBZGRyZXNzPjB4MWUxODAwMDA8L0Jhc2VBZGRyZXNzPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+JChzcWxpdGUzRGlyKTslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPk1PRFVMRV9OQU1FPSJzcWxpdGUzIjslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPExpbms+Ci0gICAgICA8QmFzZUFkZHJlc3M+MHgxZTE4MDAwMDwvQmFzZUFkZHJlc3M+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj4KLSAgICA8TWlkbD4KLSAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5YNjQ8L1RhcmdldEVudmlyb25tZW50PgotICAgIDwvTWlkbD4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+JChzcWxpdGUzRGlyKTslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPk1PRFVMRV9OQU1FPSJzcWxpdGUzIjslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPExpbms+Ci0gICAgICA8QmFzZUFkZHJlc3M+MHgxZTE4MDAwMDwvQmFzZUFkZHJlc3M+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyI+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPiQoc3FsaXRlM0Rpcik7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5NT0RVTEVfTkFNRT0ic3FsaXRlMyI7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgIDwvQ2xDb21waWxlPgotICAgIDxMaW5rPgotICAgICAgPEJhc2VBZGRyZXNzPjB4MWUxODAwMDA8L0Jhc2VBZGRyZXNzPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIj4KLSAgICA8TWlkbD4KLSAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5YNjQ8L1RhcmdldEVudmlyb25tZW50PgotICAgIDwvTWlkbD4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+JChzcWxpdGUzRGlyKTslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPk1PRFVMRV9OQU1FPSJzcWxpdGUzIjslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPExpbms+Ci0gICAgICA8QmFzZUFkZHJlc3M+MHgxZTE4MDAwMDwvQmFzZUFkZHJlc3M+Ci0gICAgICA8VGFyZ2V0TWFjaGluZT5NYWNoaW5lWDY0PC9UYXJnZXRNYWNoaW5lPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyI+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPiQoc3FsaXRlM0Rpcik7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5NT0RVTEVfTkFNRT0ic3FsaXRlMyI7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgIDwvQ2xDb21waWxlPgotICAgIDxMaW5rPgotICAgICAgPEJhc2VBZGRyZXNzPjB4MWUxODAwMDA8L0Jhc2VBZGRyZXNzPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciPgotICAgIDxNaWRsPgotICAgICAgPFRhcmdldEVudmlyb25tZW50Plg2NDwvVGFyZ2V0RW52aXJvbm1lbnQ+Ci0gICAgPC9NaWRsPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4kKHNxbGl0ZTNEaXIpOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+TU9EVUxFX05BTUU9InNxbGl0ZTMiOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8TGluaz4KLSAgICAgIDxCYXNlQWRkcmVzcz4weDFlMTgwMDAwPC9CYXNlQWRkcmVzcz4KLSAgICAgIDxUYXJnZXRNYWNoaW5lPk1hY2hpbmVYNjQ8L1RhcmdldE1hY2hpbmU+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+CiAgIDxJdGVtR3JvdXA+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxNb2R1bGVzXF9zcWxpdGVcY2FjaGUuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXE1vZHVsZXNcX3NxbGl0ZVxjb25uZWN0aW9uLmgiIC8+CmRpZmYgLS1naXQgYS9QQ2J1aWxkL19zc2wudmN4cHJvaiBiL1BDYnVpbGQvX3NzbC52Y3hwcm9qCmluZGV4IDczNzg3OTQuLjg1OTRhMDYgMTAwNjQ0Ci0tLSBhL1BDYnVpbGQvX3NzbC52Y3hwcm9qCisrKyBiL1BDYnVpbGQvX3NzbC52Y3hwcm9qCkBAIC0zOSwyNDIgKzM5LDUwIEBACiAgICAgPFJvb3ROYW1lc3BhY2U+X3NzbDwvUm9vdE5hbWVzcGFjZT4KICAgICA8S2V5d29yZD5XaW4zMlByb2o8L0tleXdvcmQ+CiAgIDwvUHJvcGVydHlHcm91cD4KKyAgPEltcG9ydCBQcm9qZWN0PSJweXRob24ucHJvcHMiIC8+CiAgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLkRlZmF1bHQucHJvcHMiIC8+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KLSAgICA8V2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPnRydWU8L1dob2xlUHJvZ3JhbU9wdGltaXphdGlvbj4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KLSAgICA8V2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPnRydWU8L1dob2xlUHJvZ3JhbU9wdGltaXphdGlvbj4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgorICA8UHJvcGVydHlHcm91cCBMYWJlbD0iQ29uZmlndXJhdGlvbiI+CiAgICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KICAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgogICA8L1Byb3BlcnR5R3JvdXA+CiAgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLnByb3BzIiAvPgorICA8UHJvcGVydHlHcm91cD4KKyAgICA8VGFyZ2V0RXh0Pi5weWQ8L1RhcmdldEV4dD4KKyAgPC9Qcm9wZXJ0eUdyb3VwPgogICA8SW1wb3J0R3JvdXAgTGFiZWw9IkV4dGVuc2lvblNldHRpbmdzIj4KICAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgorICA8SW1wb3J0R3JvdXAgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KICAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJwZ3VwZGF0ZS5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJwZ2luc3RydW1lbnQucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZC5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZF9kLnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9Ing2NC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InBndXBkYXRlLnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJ4NjQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJwZ2luc3RydW1lbnQucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJ4NjQucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlkX2QucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJ4NjQucHJvcHMiIC8+CisgICAgPEltcG9ydCBQcm9qZWN0PSJweXByb2plY3QucHJvcHMiIC8+CiAgIDwvSW1wb3J0R3JvdXA+CiAgIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJVc2VyTWFjcm9zIiAvPgogICA8UHJvcGVydHlHcm91cD4KICAgICA8X1Byb2plY3RGaWxlVmVyc2lvbj4xMC4wLjMwMzE5LjE8L19Qcm9qZWN0RmlsZVZlcnNpb24+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIiAvPgogICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIj4KKyAgPEl0ZW1EZWZpbml0aW9uR3JvdXA+CiAgICAgPENsQ29tcGlsZT4KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPiQob3BlbnNzbERpcilcaW5jMzI7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KKyAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPiQob3BlbnNzbERpcilpbmNsdWRlOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+CiAgICAgPC9DbENvbXBpbGU+Ci0gICAgPFByZUxpbmtFdmVudD4KLSAgICAgIDxDb21tYW5kPgotICAgICAgPC9Db21tYW5kPgotICAgIDwvUHJlTGlua0V2ZW50PgogICAgIDxMaW5rPgotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+d3MyXzMyLmxpYjtjcnlwdDMyLmxpYjskKG9wZW5zc2xEaXIpXG91dDMyXGxpYmVheTMyLmxpYjskKG9wZW5zc2xEaXIpXG91dDMyXHNzbGVheTMyLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPgotICAgIDxNaWRsPgotICAgICAgPFRhcmdldEVudmlyb25tZW50Plg2NDwvVGFyZ2V0RW52aXJvbm1lbnQ+Ci0gICAgPC9NaWRsPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4kKG9wZW5zc2xEaXIpXGluYzY0OyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPFByZUxpbmtFdmVudD4KLSAgICAgIDxDb21tYW5kPgotICAgICAgPC9Db21tYW5kPgotICAgIDwvUHJlTGlua0V2ZW50PgotICAgIDxMaW5rPgotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+d3MyXzMyLmxpYjtjcnlwdDMyLmxpYjskKG9wZW5zc2xEaXIpXG91dDY0XGxpYmVheTMyLmxpYjskKG9wZW5zc2xEaXIpXG91dDY0XHNzbGVheTMyLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+JChvcGVuc3NsRGlyKVxpbmMzMjslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgotICAgIDwvQ2xDb21waWxlPgotICAgIDxQcmVMaW5rRXZlbnQ+Ci0gICAgICA8Q29tbWFuZD4KLSAgICAgIDwvQ29tbWFuZD4KLSAgICA8L1ByZUxpbmtFdmVudD4KLSAgICA8TGluaz4KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPndzMl8zMi5saWI7Y3J5cHQzMi5saWI7JChvcGVuc3NsRGlyKVxvdXQzMlxsaWJlYXkzMi5saWI7JChvcGVuc3NsRGlyKVxvdXQzMlxzc2xlYXkzMi5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPgotICAgIDxNaWRsPgotICAgICAgPFRhcmdldEVudmlyb25tZW50Plg2NDwvVGFyZ2V0RW52aXJvbm1lbnQ+Ci0gICAgPC9NaWRsPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4kKG9wZW5zc2xEaXIpXGluYzY0OyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPFByZUxpbmtFdmVudD4KLSAgICAgIDxDb21tYW5kPgotICAgICAgPC9Db21tYW5kPgotICAgIDwvUHJlTGlua0V2ZW50PgotICAgIDxMaW5rPgotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+d3MyXzMyLmxpYjtjcnlwdDMyLmxpYjskKG9wZW5zc2xEaXIpXG91dDY0XGxpYmVheTMyLmxpYjskKG9wZW5zc2xEaXIpXG91dDY0XHNzbGVheTMyLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4kKG9wZW5zc2xEaXIpXGluYzMyOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPFByZUxpbmtFdmVudD4KLSAgICAgIDxDb21tYW5kPgotICAgICAgPC9Db21tYW5kPgotICAgIDwvUHJlTGlua0V2ZW50PgotICAgIDxMaW5rPgotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+d3MyXzMyLmxpYjtjcnlwdDMyLmxpYjskKG9wZW5zc2xEaXIpXG91dDMyXGxpYmVheTMyLmxpYjskKG9wZW5zc2xEaXIpXG91dDMyXHNzbGVheTMyLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIj4KLSAgICA8TWlkbD4KLSAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5YNjQ8L1RhcmdldEVudmlyb25tZW50PgotICAgIDwvTWlkbD4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+JChvcGVuc3NsRGlyKVxpbmM2NDslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgotICAgIDwvQ2xDb21waWxlPgotICAgIDxQcmVMaW5rRXZlbnQ+Ci0gICAgICA8Q29tbWFuZD4KLSAgICAgIDwvQ29tbWFuZD4KLSAgICA8L1ByZUxpbmtFdmVudD4KLSAgICA8TGluaz4KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPndzMl8zMi5saWI7Y3J5cHQzMi5saWI7JChvcGVuc3NsRGlyKVxvdXQ2NFxsaWJlYXkzMi5saWI7JChvcGVuc3NsRGlyKVxvdXQ2NFxzc2xlYXkzMi5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KLSAgICAgIDxUYXJnZXRNYWNoaW5lPk1hY2hpbmVYNjQ8L1RhcmdldE1hY2hpbmU+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIj4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+JChvcGVuc3NsRGlyKVxpbmMzMjslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgotICAgIDwvQ2xDb21waWxlPgotICAgIDxQcmVMaW5rRXZlbnQ+Ci0gICAgICA8Q29tbWFuZD4KLSAgICAgIDwvQ29tbWFuZD4KLSAgICA8L1ByZUxpbmtFdmVudD4KLSAgICA8TGluaz4KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPndzMl8zMi5saWI7Y3J5cHQzMi5saWI7JChvcGVuc3NsRGlyKVxvdXQzMlxsaWJlYXkzMi5saWI7JChvcGVuc3NsRGlyKVxvdXQzMlxzc2xlYXkzMi5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIj4KLSAgICA8TWlkbD4KLSAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5YNjQ8L1RhcmdldEVudmlyb25tZW50PgotICAgIDwvTWlkbD4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+JChvcGVuc3NsRGlyKVxpbmM2NDslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgotICAgIDwvQ2xDb21waWxlPgotICAgIDxQcmVMaW5rRXZlbnQ+Ci0gICAgICA8Q29tbWFuZD4KLSAgICAgIDwvQ29tbWFuZD4KLSAgICA8L1ByZUxpbmtFdmVudD4KLSAgICA8TGluaz4KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPndzMl8zMi5saWI7Y3J5cHQzMi5saWI7JChvcGVuc3NsRGlyKVxvdXQ2NFxsaWJlYXkzMi5saWI7JChvcGVuc3NsRGlyKVxvdXQ2NFxzc2xlYXkzMi5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KLSAgICAgIDxUYXJnZXRNYWNoaW5lPk1hY2hpbmVYNjQ8L1RhcmdldE1hY2hpbmU+CisgICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz53czJfMzIubGliO2NyeXB0MzIubGliOyQoT3V0RGlyKWxpYmVheSQoUHlEZWJ1Z0V4dCkubGliOyQoT3V0RGlyKXNzbGVheSQoUHlEZWJ1Z0V4dCkubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+CiAgICAgPC9MaW5rPgogICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+CiAgIDxJdGVtR3JvdXA+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxNb2R1bGVzXF9zc2wuYyIgLz4KICAgPC9JdGVtR3JvdXA+CiAgIDxJdGVtR3JvdXA+Ci0gICAgPFByb2plY3RSZWZlcmVuY2UgSW5jbHVkZT0icHl0aG9uLnZjeHByb2oiPgotICAgICAgPFByb2plY3Q+e2IxMWQ3NTBmLWNkMWYtNGE5Ni04NWNlLWU2OWE1YzUyNTlmOX08L1Byb2plY3Q+Ci0gICAgICA8UmVmZXJlbmNlT3V0cHV0QXNzZW1ibHk+ZmFsc2U8L1JlZmVyZW5jZU91dHB1dEFzc2VtYmx5PgotICAgIDwvUHJvamVjdFJlZmVyZW5jZT4KICAgICA8UHJvamVjdFJlZmVyZW5jZSBJbmNsdWRlPSJweXRob25jb3JlLnZjeHByb2oiPgogICAgICAgPFByb2plY3Q+e2NmN2FjM2QxLWUyZGYtNDFkMi1iZWE2LTFlMjU1NmNkZWEyNn08L1Byb2plY3Q+CiAgICAgICA8UmVmZXJlbmNlT3V0cHV0QXNzZW1ibHk+ZmFsc2U8L1JlZmVyZW5jZU91dHB1dEFzc2VtYmx5PgogICAgIDwvUHJvamVjdFJlZmVyZW5jZT4KLSAgICA8UHJvamVjdFJlZmVyZW5jZSBJbmNsdWRlPSJzc2wudmN4cHJvaiI+CisgICAgPFByb2plY3RSZWZlcmVuY2UgSW5jbHVkZT0ibGliZWF5LnZjeHByb2oiPgogICAgICAgPFByb2plY3Q+e2U1YjA0Y2MwLWViNGMtNDJhYi1iNGRjLTE4ZWY5NWY4NjRiMH08L1Byb2plY3Q+CiAgICAgICA8UmVmZXJlbmNlT3V0cHV0QXNzZW1ibHk+ZmFsc2U8L1JlZmVyZW5jZU91dHB1dEFzc2VtYmx5PgogICAgIDwvUHJvamVjdFJlZmVyZW5jZT4KKyAgICA8UHJvamVjdFJlZmVyZW5jZSBJbmNsdWRlPSJzc2xlYXkudmN4cHJvaiI+CisgICAgICA8UHJvamVjdD57MTA2MTViMjQtNzNiZi00ZWZhLTkzYWEtMjM2OTE2MzIxMzE3fTwvUHJvamVjdD4KKyAgICAgIDxSZWZlcmVuY2VPdXRwdXRBc3NlbWJseT5mYWxzZTwvUmVmZXJlbmNlT3V0cHV0QXNzZW1ibHk+CisgICAgPC9Qcm9qZWN0UmVmZXJlbmNlPgogICAgIDxQcm9qZWN0UmVmZXJlbmNlIEluY2x1ZGU9Il9zb2NrZXQudmN4cHJvaiI+CiAgICAgICA8UHJvamVjdD57ODY5MzdmNTMtYzE4OS00MGVmLThjZTgtODc1OWQ4ZTdkNDgwfTwvUHJvamVjdD4KICAgICAgIDxSZWZlcmVuY2VPdXRwdXRBc3NlbWJseT5mYWxzZTwvUmVmZXJlbmNlT3V0cHV0QXNzZW1ibHk+CmRpZmYgLS1naXQgYS9QQ2J1aWxkL190ZXN0YnVmZmVyLnZjeHByb2ogYi9QQ2J1aWxkL190ZXN0YnVmZmVyLnZjeHByb2oKaW5kZXggZTEyNjVmNi4uOGNiZjEyNSAxMDA2NDQKLS0tIGEvUENidWlsZC9fdGVzdGJ1ZmZlci52Y3hwcm9qCisrKyBiL1BDYnVpbGQvX3Rlc3RidWZmZXIudmN4cHJvagpAQCAtMzgsMTcxICszOCwzMyBAQAogICAgIDxQcm9qZWN0R3VpZD57QTI2OTdCRDMtMjhDMS00QUVDLTkxMDYtOEI3NDg2MzlGRDE2fTwvUHJvamVjdEd1aWQ+CiAgICAgPFJvb3ROYW1lc3BhY2U+X3Rlc3RidWZmZXI8L1Jvb3ROYW1lc3BhY2U+CiAgICAgPEtleXdvcmQ+V2luMzJQcm9qPC9LZXl3b3JkPgorICAgIDxTdXBwb3J0UEdPPmZhbHNlPC9TdXBwb3J0UEdPPgogICA8L1Byb3BlcnR5R3JvdXA+CisgIDxJbXBvcnQgUHJvamVjdD0icHl0aG9uLnByb3BzIiAvPgogICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC5EZWZhdWx0LnByb3BzIiAvPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KLSAgICA8V2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPnRydWU8L1dob2xlUHJvZ3JhbU9wdGltaXphdGlvbj4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+Ci0gICAgPFdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj50cnVlPC9XaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KLSAgICA8V2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPnRydWU8L1dob2xlUHJvZ3JhbU9wdGltaXphdGlvbj4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+Ci0gICAgPFdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj50cnVlPC9XaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KLSAgICA8V2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPnRydWU8L1dob2xlUHJvZ3JhbU9wdGltaXphdGlvbj4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KLSAgICA8V2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPnRydWU8L1dob2xlUHJvZ3JhbU9wdGltaXphdGlvbj4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KKyAgPFByb3BlcnR5R3JvdXAgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgogICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+CiAgICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KICAgPC9Qcm9wZXJ0eUdyb3VwPgogICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC5wcm9wcyIgLz4KKyAgPFByb3BlcnR5R3JvdXA+CisgICAgPFRhcmdldEV4dD4ucHlkPC9UYXJnZXRFeHQ+CisgIDwvUHJvcGVydHlHcm91cD4KICAgPEltcG9ydEdyb3VwIExhYmVsPSJFeHRlbnNpb25TZXR0aW5ncyI+CiAgIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KKyAgPEltcG9ydEdyb3VwIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+CiAgICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlkLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icGd1cGRhdGUucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlkLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icGdpbnN0cnVtZW50LnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWQucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWRfZC5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJ4NjQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJwZ3VwZGF0ZS5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlkLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0ieDY0LnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icGdpbnN0cnVtZW50LnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlkLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0ieDY0LnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZF9kLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0ieDY0LnByb3BzIiAvPgorICAgIDxJbXBvcnQgUHJvamVjdD0icHlwcm9qZWN0LnByb3BzIiAvPgogICA8L0ltcG9ydEdyb3VwPgogICA8UHJvcGVydHlHcm91cCBMYWJlbD0iVXNlck1hY3JvcyIgLz4KICAgPFByb3BlcnR5R3JvdXA+CiAgICAgPF9Qcm9qZWN0RmlsZVZlcnNpb24+MTAuMC40MDIxOS4xPC9fUHJvamVjdEZpbGVWZXJzaW9uPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyIgLz4KICAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+CisgIDxJdGVtRGVmaW5pdGlvbkdyb3VwPgogICAgIDxMaW5rPgogICAgICAgPEJhc2VBZGRyZXNzPjB4MWUxRjAwMDA8L0Jhc2VBZGRyZXNzPgogICAgIDwvTGluaz4KICAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPgotICAgIDxNaWRsPgotICAgICAgPFRhcmdldEVudmlyb25tZW50Plg2NDwvVGFyZ2V0RW52aXJvbm1lbnQ+Ci0gICAgPC9NaWRsPgotICAgIDxMaW5rPgotICAgICAgPEJhc2VBZGRyZXNzPjB4MWUxRjAwMDA8L0Jhc2VBZGRyZXNzPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj4KLSAgICA8TGluaz4KLSAgICAgIDxCYXNlQWRkcmVzcz4weDFlMUYwMDAwPC9CYXNlQWRkcmVzcz4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPgotICAgIDxNaWRsPgotICAgICAgPFRhcmdldEVudmlyb25tZW50Plg2NDwvVGFyZ2V0RW52aXJvbm1lbnQ+Ci0gICAgPC9NaWRsPgotICAgIDxMaW5rPgotICAgICAgPEJhc2VBZGRyZXNzPjB4MWUxRjAwMDA8L0Jhc2VBZGRyZXNzPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciPgotICAgIDxMaW5rPgotICAgICAgPEJhc2VBZGRyZXNzPjB4MWUxRjAwMDA8L0Jhc2VBZGRyZXNzPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIj4KLSAgICA8TWlkbD4KLSAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5YNjQ8L1RhcmdldEVudmlyb25tZW50PgotICAgIDwvTWlkbD4KLSAgICA8TGluaz4KLSAgICAgIDxCYXNlQWRkcmVzcz4weDFlMUYwMDAwPC9CYXNlQWRkcmVzcz4KLSAgICAgIDxUYXJnZXRNYWNoaW5lPk1hY2hpbmVYNjQ8L1RhcmdldE1hY2hpbmU+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIj4KLSAgICA8TGluaz4KLSAgICAgIDxCYXNlQWRkcmVzcz4weDFlMUYwMDAwPC9CYXNlQWRkcmVzcz4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIj4KLSAgICA8TWlkbD4KLSAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5YNjQ8L1RhcmdldEVudmlyb25tZW50PgotICAgIDwvTWlkbD4KLSAgICA8TGluaz4KLSAgICAgIDxCYXNlQWRkcmVzcz4weDFlMUYwMDAwPC9CYXNlQWRkcmVzcz4KLSAgICAgIDxUYXJnZXRNYWNoaW5lPk1hY2hpbmVYNjQ8L1RhcmdldE1hY2hpbmU+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+CiAgIDxJdGVtR3JvdXA+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxNb2R1bGVzXF90ZXN0YnVmZmVyLmMiIC8+CiAgIDwvSXRlbUdyb3VwPgpkaWZmIC0tZ2l0IGEvUENidWlsZC9fdGVzdGNhcGkudmN4cHJvaiBiL1BDYnVpbGQvX3Rlc3RjYXBpLnZjeHByb2oKaW5kZXggZTk5YTdlNC4uZGJmNDRlNiAxMDA2NDQKLS0tIGEvUENidWlsZC9fdGVzdGNhcGkudmN4cHJvagorKysgYi9QQ2J1aWxkL190ZXN0Y2FwaS52Y3hwcm9qCkBAIC0zOCwxNzEgKzM4LDMzIEBACiAgICAgPFByb2plY3RHdWlkPns2OTAxRDkxQy02RTQ4LTRCQjctOUZFQy03MDBDODEzMURGMUR9PC9Qcm9qZWN0R3VpZD4KICAgICA8Um9vdE5hbWVzcGFjZT5fdGVzdGNhcGk8L1Jvb3ROYW1lc3BhY2U+CiAgICAgPEtleXdvcmQ+V2luMzJQcm9qPC9LZXl3b3JkPgorICAgIDxTdXBwb3J0UEdPPmZhbHNlPC9TdXBwb3J0UEdPPgogICA8L1Byb3BlcnR5R3JvdXA+CisgIDxJbXBvcnQgUHJvamVjdD0icHl0aG9uLnByb3BzIiAvPgogICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC5EZWZhdWx0LnByb3BzIiAvPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KLSAgICA8V2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPnRydWU8L1dob2xlUHJvZ3JhbU9wdGltaXphdGlvbj4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+Ci0gICAgPFdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj50cnVlPC9XaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KLSAgICA8V2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPnRydWU8L1dob2xlUHJvZ3JhbU9wdGltaXphdGlvbj4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+Ci0gICAgPFdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj50cnVlPC9XaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KLSAgICA8V2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPnRydWU8L1dob2xlUHJvZ3JhbU9wdGltaXphdGlvbj4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KLSAgICA8V2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPnRydWU8L1dob2xlUHJvZ3JhbU9wdGltaXphdGlvbj4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KKyAgPFByb3BlcnR5R3JvdXAgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgogICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+CiAgICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KICAgPC9Qcm9wZXJ0eUdyb3VwPgogICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC5wcm9wcyIgLz4KKyAgPFByb3BlcnR5R3JvdXA+CisgICAgPFRhcmdldEV4dD4ucHlkPC9UYXJnZXRFeHQ+CisgIDwvUHJvcGVydHlHcm91cD4KICAgPEltcG9ydEdyb3VwIExhYmVsPSJFeHRlbnNpb25TZXR0aW5ncyI+CiAgIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KKyAgPEltcG9ydEdyb3VwIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+CiAgICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlkLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icGd1cGRhdGUucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlkLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icGdpbnN0cnVtZW50LnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWQucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWRfZC5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJ4NjQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJwZ3VwZGF0ZS5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlkLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0ieDY0LnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icGdpbnN0cnVtZW50LnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlkLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0ieDY0LnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZF9kLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0ieDY0LnByb3BzIiAvPgorICAgIDxJbXBvcnQgUHJvamVjdD0icHlwcm9qZWN0LnByb3BzIiAvPgogICA8L0ltcG9ydEdyb3VwPgogICA8UHJvcGVydHlHcm91cCBMYWJlbD0iVXNlck1hY3JvcyIgLz4KICAgPFByb3BlcnR5R3JvdXA+CiAgICAgPF9Qcm9qZWN0RmlsZVZlcnNpb24+MTAuMC4zMDMxOS4xPC9fUHJvamVjdEZpbGVWZXJzaW9uPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyIgLz4KICAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+CisgIDxJdGVtRGVmaW5pdGlvbkdyb3VwPgogICAgIDxMaW5rPgogICAgICAgPEJhc2VBZGRyZXNzPjB4MWUxRjAwMDA8L0Jhc2VBZGRyZXNzPgogICAgIDwvTGluaz4KICAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPgotICAgIDxNaWRsPgotICAgICAgPFRhcmdldEVudmlyb25tZW50Plg2NDwvVGFyZ2V0RW52aXJvbm1lbnQ+Ci0gICAgPC9NaWRsPgotICAgIDxMaW5rPgotICAgICAgPEJhc2VBZGRyZXNzPjB4MWUxRjAwMDA8L0Jhc2VBZGRyZXNzPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj4KLSAgICA8TGluaz4KLSAgICAgIDxCYXNlQWRkcmVzcz4weDFlMUYwMDAwPC9CYXNlQWRkcmVzcz4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPgotICAgIDxNaWRsPgotICAgICAgPFRhcmdldEVudmlyb25tZW50Plg2NDwvVGFyZ2V0RW52aXJvbm1lbnQ+Ci0gICAgPC9NaWRsPgotICAgIDxMaW5rPgotICAgICAgPEJhc2VBZGRyZXNzPjB4MWUxRjAwMDA8L0Jhc2VBZGRyZXNzPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciPgotICAgIDxMaW5rPgotICAgICAgPEJhc2VBZGRyZXNzPjB4MWUxRjAwMDA8L0Jhc2VBZGRyZXNzPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIj4KLSAgICA8TWlkbD4KLSAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5YNjQ8L1RhcmdldEVudmlyb25tZW50PgotICAgIDwvTWlkbD4KLSAgICA8TGluaz4KLSAgICAgIDxCYXNlQWRkcmVzcz4weDFlMUYwMDAwPC9CYXNlQWRkcmVzcz4KLSAgICAgIDxUYXJnZXRNYWNoaW5lPk1hY2hpbmVYNjQ8L1RhcmdldE1hY2hpbmU+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIj4KLSAgICA8TGluaz4KLSAgICAgIDxCYXNlQWRkcmVzcz4weDFlMUYwMDAwPC9CYXNlQWRkcmVzcz4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIj4KLSAgICA8TWlkbD4KLSAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5YNjQ8L1RhcmdldEVudmlyb25tZW50PgotICAgIDwvTWlkbD4KLSAgICA8TGluaz4KLSAgICAgIDxCYXNlQWRkcmVzcz4weDFlMUYwMDAwPC9CYXNlQWRkcmVzcz4KLSAgICAgIDxUYXJnZXRNYWNoaW5lPk1hY2hpbmVYNjQ8L1RhcmdldE1hY2hpbmU+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+CiAgIDxJdGVtR3JvdXA+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxNb2R1bGVzXF90ZXN0Y2FwaW1vZHVsZS5jIiAvPgogICA8L0l0ZW1Hcm91cD4KZGlmZiAtLWdpdCBhL1BDYnVpbGQvX3Rlc3RlbWJlZC52Y3hwcm9qIGIvUENidWlsZC9fdGVzdGVtYmVkLnZjeHByb2oKaW5kZXggODNjN2FkMi4uZjBlNGQ5ZiAxMDA2NDQKLS0tIGEvUENidWlsZC9fdGVzdGVtYmVkLnZjeHByb2oKKysrIGIvUENidWlsZC9fdGVzdGVtYmVkLnZjeHByb2oKQEAgLTksNiArOSwyMiBAQAogICAgICAgPENvbmZpZ3VyYXRpb24+RGVidWc8L0NvbmZpZ3VyYXRpb24+CiAgICAgICA8UGxhdGZvcm0+eDY0PC9QbGF0Zm9ybT4KICAgICA8L1Byb2plY3RDb25maWd1cmF0aW9uPgorICAgIDxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJQR0luc3RydW1lbnR8V2luMzIiPgorICAgICAgPENvbmZpZ3VyYXRpb24+UEdJbnN0cnVtZW50PC9Db25maWd1cmF0aW9uPgorICAgICAgPFBsYXRmb3JtPldpbjMyPC9QbGF0Zm9ybT4KKyAgICA8L1Byb2plY3RDb25maWd1cmF0aW9uPgorICAgIDxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJQR0luc3RydW1lbnR8eDY0Ij4KKyAgICAgIDxDb25maWd1cmF0aW9uPlBHSW5zdHJ1bWVudDwvQ29uZmlndXJhdGlvbj4KKyAgICAgIDxQbGF0Zm9ybT54NjQ8L1BsYXRmb3JtPgorICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+CisgICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IlBHVXBkYXRlfFdpbjMyIj4KKyAgICAgIDxDb25maWd1cmF0aW9uPlBHVXBkYXRlPC9Db25maWd1cmF0aW9uPgorICAgICAgPFBsYXRmb3JtPldpbjMyPC9QbGF0Zm9ybT4KKyAgICA8L1Byb2plY3RDb25maWd1cmF0aW9uPgorICAgIDxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJQR1VwZGF0ZXx4NjQiPgorICAgICAgPENvbmZpZ3VyYXRpb24+UEdVcGRhdGU8L0NvbmZpZ3VyYXRpb24+CisgICAgICA8UGxhdGZvcm0+eDY0PC9QbGF0Zm9ybT4KKyAgICA8L1Byb2plY3RDb25maWd1cmF0aW9uPgogICAgIDxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJSZWxlYXNlfFdpbjMyIj4KICAgICAgIDxDb25maWd1cmF0aW9uPlJlbGVhc2U8L0NvbmZpZ3VyYXRpb24+CiAgICAgICA8UGxhdGZvcm0+V2luMzI8L1BsYXRmb3JtPgpAQCAtMjIsMTM3ICszOCwzNyBAQAogICAgIDxQcm9qZWN0R3VpZD57NkRBQzY2RDktRTcwMy00NjI0LUJFMDMtNDkxMTJBQjVBQTYyfTwvUHJvamVjdEd1aWQ+CiAgICAgPEtleXdvcmQ+V2luMzJQcm9qPC9LZXl3b3JkPgogICAgIDxSb290TmFtZXNwYWNlPl90ZXN0ZW1iZWQ8L1Jvb3ROYW1lc3BhY2U+CisgICAgPFN1cHBvcnRQR08+ZmFsc2U8L1N1cHBvcnRQR08+CiAgIDwvUHJvcGVydHlHcm91cD4KKyAgPEltcG9ydCBQcm9qZWN0PSJweXRob24ucHJvcHMiIC8+CiAgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLkRlZmF1bHQucHJvcHMiIC8+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+CisgIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJDb25maWd1cmF0aW9uIj4KICAgICA8Q29uZmlndXJhdGlvblR5cGU+QXBwbGljYXRpb248L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxVc2VEZWJ1Z0xpYnJhcmllcz50cnVlPC9Vc2VEZWJ1Z0xpYnJhcmllcz4KLSAgICA8Q2hhcmFjdGVyU2V0PlVuaWNvZGU8L0NoYXJhY3RlclNldD4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+QXBwbGljYXRpb248L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxVc2VEZWJ1Z0xpYnJhcmllcz50cnVlPC9Vc2VEZWJ1Z0xpYnJhcmllcz4KLSAgICA8Q2hhcmFjdGVyU2V0PlVuaWNvZGU8L0NoYXJhY3RlclNldD4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkFwcGxpY2F0aW9uPC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8VXNlRGVidWdMaWJyYXJpZXM+ZmFsc2U8L1VzZURlYnVnTGlicmFyaWVzPgotICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgotICAgIDxDaGFyYWN0ZXJTZXQ+VW5pY29kZTwvQ2hhcmFjdGVyU2V0PgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkFwcGxpY2F0aW9uPC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8VXNlRGVidWdMaWJyYXJpZXM+ZmFsc2U8L1VzZURlYnVnTGlicmFyaWVzPgotICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgogICAgIDxDaGFyYWN0ZXJTZXQ+VW5pY29kZTwvQ2hhcmFjdGVyU2V0PgogICA8L1Byb3BlcnR5R3JvdXA+CiAgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLnByb3BzIiAvPgogICA8SW1wb3J0R3JvdXAgTGFiZWw9IkV4dGVuc2lvblNldHRpbmdzIj4KICAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPgorICA8SW1wb3J0R3JvdXAgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KICAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+CiAgICAgPEltcG9ydCBQcm9qZWN0PSJweXByb2plY3QucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJkZWJ1Zy5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweXByb2plY3QucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJkZWJ1Zy5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9Ing2NC5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlwcm9qZWN0LnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlwcm9qZWN0LnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0ieDY0LnByb3BzIiAvPgogICA8L0ltcG9ydEdyb3VwPgogICA8UHJvcGVydHlHcm91cCBMYWJlbD0iVXNlck1hY3JvcyIgLz4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPgotICAgIDxMaW5rSW5jcmVtZW50YWw+ZmFsc2U8L0xpbmtJbmNyZW1lbnRhbD4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPgotICAgIDxMaW5rSW5jcmVtZW50YWw+ZmFsc2U8L0xpbmtJbmNyZW1lbnRhbD4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj4KLSAgICA8TGlua0luY3JlbWVudGFsPmZhbHNlPC9MaW5rSW5jcmVtZW50YWw+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPgotICAgIDxMaW5rSW5jcmVtZW50YWw+ZmFsc2U8L0xpbmtJbmNyZW1lbnRhbD4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+CisgIDxJdGVtRGVmaW5pdGlvbkdyb3VwPgogICAgIDxDbENvbXBpbGU+Ci0gICAgICA8UHJlY29tcGlsZWRIZWFkZXI+Ci0gICAgICA8L1ByZWNvbXBpbGVkSGVhZGVyPgotICAgICAgPFdhcm5pbmdMZXZlbD5MZXZlbDM8L1dhcm5pbmdMZXZlbD4KLSAgICAgIDxPcHRpbWl6YXRpb24+RGlzYWJsZWQ8L09wdGltaXphdGlvbj4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5XSU4zMjtfREVCVUc7X0NPTlNPTEU7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgorICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPl9DT05TT0xFOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KICAgICA8L0NsQ29tcGlsZT4KICAgICA8TGluaz4KICAgICAgIDxTdWJTeXN0ZW0+Q29uc29sZTwvU3ViU3lzdGVtPgotICAgICAgPEdlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj50cnVlPC9HZW5lcmF0ZURlYnVnSW5mb3JtYXRpb24+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyI+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxQcmVjb21waWxlZEhlYWRlcj4KLSAgICAgIDwvUHJlY29tcGlsZWRIZWFkZXI+Ci0gICAgICA8V2FybmluZ0xldmVsPkxldmVsMzwvV2FybmluZ0xldmVsPgotICAgICAgPE9wdGltaXphdGlvbj5EaXNhYmxlZDwvT3B0aW1pemF0aW9uPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPldJTjMyO19ERUJVRztfQ09OU09MRTslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPExpbms+Ci0gICAgICA8U3ViU3lzdGVtPkNvbnNvbGU8L1N1YlN5c3RlbT4KLSAgICAgIDxHZW5lcmF0ZURlYnVnSW5mb3JtYXRpb24+dHJ1ZTwvR2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPFdhcm5pbmdMZXZlbD5MZXZlbDM8L1dhcm5pbmdMZXZlbD4KLSAgICAgIDxQcmVjb21waWxlZEhlYWRlcj4KLSAgICAgIDwvUHJlY29tcGlsZWRIZWFkZXI+Ci0gICAgICA8T3B0aW1pemF0aW9uPk1heFNwZWVkPC9PcHRpbWl6YXRpb24+Ci0gICAgICA8RnVuY3Rpb25MZXZlbExpbmtpbmc+dHJ1ZTwvRnVuY3Rpb25MZXZlbExpbmtpbmc+Ci0gICAgICA8SW50cmluc2ljRnVuY3Rpb25zPnRydWU8L0ludHJpbnNpY0Z1bmN0aW9ucz4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5XSU4zMjtOREVCVUc7X0NPTlNPTEU7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgIDwvQ2xDb21waWxlPgotICAgIDxMaW5rPgotICAgICAgPFN1YlN5c3RlbT5Db25zb2xlPC9TdWJTeXN0ZW0+Ci0gICAgICA8R2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPnRydWU8L0dlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj4KLSAgICAgIDxFbmFibGVDT01EQVRGb2xkaW5nPnRydWU8L0VuYWJsZUNPTURBVEZvbGRpbmc+Ci0gICAgICA8T3B0aW1pemVSZWZlcmVuY2VzPnRydWU8L09wdGltaXplUmVmZXJlbmNlcz4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8V2FybmluZ0xldmVsPkxldmVsMzwvV2FybmluZ0xldmVsPgotICAgICAgPFByZWNvbXBpbGVkSGVhZGVyPgotICAgICAgPC9QcmVjb21waWxlZEhlYWRlcj4KLSAgICAgIDxPcHRpbWl6YXRpb24+TWF4U3BlZWQ8L09wdGltaXphdGlvbj4KLSAgICAgIDxGdW5jdGlvbkxldmVsTGlua2luZz50cnVlPC9GdW5jdGlvbkxldmVsTGlua2luZz4KLSAgICAgIDxJbnRyaW5zaWNGdW5jdGlvbnM+dHJ1ZTwvSW50cmluc2ljRnVuY3Rpb25zPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPldJTjMyO05ERUJVRztfQ09OU09MRTslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPExpbms+Ci0gICAgICA8U3ViU3lzdGVtPkNvbnNvbGU8L1N1YlN5c3RlbT4KLSAgICAgIDxHZW5lcmF0ZURlYnVnSW5mb3JtYXRpb24+dHJ1ZTwvR2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPgotICAgICAgPEVuYWJsZUNPTURBVEZvbGRpbmc+dHJ1ZTwvRW5hYmxlQ09NREFURm9sZGluZz4KLSAgICAgIDxPcHRpbWl6ZVJlZmVyZW5jZXM+dHJ1ZTwvT3B0aW1pemVSZWZlcmVuY2VzPgogICAgIDwvTGluaz4KICAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgogICA8SXRlbUdyb3VwPgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cTW9kdWxlc1xfdGVzdGVtYmVkLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxQcm9ncmFtc1xfdGVzdGVtYmVkLmMiIC8+CiAgIDwvSXRlbUdyb3VwPgogICA8SXRlbUdyb3VwPgogICAgIDxQcm9qZWN0UmVmZXJlbmNlIEluY2x1ZGU9InB5dGhvbmNvcmUudmN4cHJvaiI+CiAgICAgICA8UHJvamVjdD57Y2Y3YWMzZDEtZTJkZi00MWQyLWJlYTYtMWUyNTU2Y2RlYTI2fTwvUHJvamVjdD4KLSAgICAgIDxQcml2YXRlPnRydWU8L1ByaXZhdGU+Ci0gICAgICA8UmVmZXJlbmNlT3V0cHV0QXNzZW1ibHk+dHJ1ZTwvUmVmZXJlbmNlT3V0cHV0QXNzZW1ibHk+Ci0gICAgICA8Q29weUxvY2FsU2F0ZWxsaXRlQXNzZW1ibGllcz5mYWxzZTwvQ29weUxvY2FsU2F0ZWxsaXRlQXNzZW1ibGllcz4KLSAgICAgIDxMaW5rTGlicmFyeURlcGVuZGVuY2llcz50cnVlPC9MaW5rTGlicmFyeURlcGVuZGVuY2llcz4KLSAgICAgIDxVc2VMaWJyYXJ5RGVwZW5kZW5jeUlucHV0cz5mYWxzZTwvVXNlTGlicmFyeURlcGVuZGVuY3lJbnB1dHM+CisgICAgICA8UmVmZXJlbmNlT3V0cHV0QXNzZW1ibHk+ZmFsc2U8L1JlZmVyZW5jZU91dHB1dEFzc2VtYmx5PgogICAgIDwvUHJvamVjdFJlZmVyZW5jZT4KICAgPC9JdGVtR3JvdXA+CiAgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLnRhcmdldHMiIC8+CmRpZmYgLS1naXQgYS9QQ2J1aWxkL190ZXN0ZW1iZWQudmN4cHJvai5maWx0ZXJzIGIvUENidWlsZC9fdGVzdGVtYmVkLnZjeHByb2ouZmlsdGVycwppbmRleCBkZWE1NGQ0Li5mN2Y5YWJlIDEwMDY0NAotLS0gYS9QQ2J1aWxkL190ZXN0ZW1iZWQudmN4cHJvai5maWx0ZXJzCisrKyBiL1BDYnVpbGQvX3Rlc3RlbWJlZC52Y3hwcm9qLmZpbHRlcnMKQEAgLTE1LDcgKzE1LDcgQEAKICAgICA8L0ZpbHRlcj4KICAgPC9JdGVtR3JvdXA+CiAgIDxJdGVtR3JvdXA+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxNb2R1bGVzXF90ZXN0ZW1iZWQuYyI+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxQcm9ncmFtc1xfdGVzdGVtYmVkLmMiPgogICAgICAgPEZpbHRlcj5Tb3VyY2UgRmlsZXM8L0ZpbHRlcj4KICAgICA8L0NsQ29tcGlsZT4KICAgPC9JdGVtR3JvdXA+CmRpZmYgLS1naXQgYS9QQ2J1aWxkL190ZXN0aW1wb3J0bXVsdGlwbGUudmN4cHJvaiBiL1BDYnVpbGQvX3Rlc3RpbXBvcnRtdWx0aXBsZS52Y3hwcm9qCmluZGV4IDg0OTg0ZmYuLmNlYzA0MmMgMTAwNjQ0Ci0tLSBhL1BDYnVpbGQvX3Rlc3RpbXBvcnRtdWx0aXBsZS52Y3hwcm9qCisrKyBiL1BDYnVpbGQvX3Rlc3RpbXBvcnRtdWx0aXBsZS52Y3hwcm9qCkBAIC0zOCwxNzEgKzM4LDMzIEBACiAgICAgPFByb2plY3RHdWlkPnszNkQwQzUyQy1ERjRFLTQ1RDAtOEJDNy1FMjk0QzNBQkM3ODF9PC9Qcm9qZWN0R3VpZD4KICAgICA8Um9vdE5hbWVzcGFjZT5fdGVzdGltcG9ydG11bHRpcGxlPC9Sb290TmFtZXNwYWNlPgogICAgIDxLZXl3b3JkPldpbjMyUHJvajwvS2V5d29yZD4KKyAgICA8U3VwcG9ydFBHTz5mYWxzZTwvU3VwcG9ydFBHTz4KICAgPC9Qcm9wZXJ0eUdyb3VwPgorICA8SW1wb3J0IFByb2plY3Q9InB5dGhvbi5wcm9wcyIgLz4KICAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAuRGVmYXVsdC5wcm9wcyIgLz4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+Ci0gICAgPFdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj50cnVlPC9XaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+Ci0gICAgPFdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj50cnVlPC9XaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+Ci0gICAgPFdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj50cnVlPC9XaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+Ci0gICAgPFdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj50cnVlPC9XaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+CisgIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJDb25maWd1cmF0aW9uIj4KICAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgogICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+CiAgIDwvUHJvcGVydHlHcm91cD4KICAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAucHJvcHMiIC8+CisgIDxQcm9wZXJ0eUdyb3VwPgorICAgIDxUYXJnZXRFeHQ+LnB5ZDwvVGFyZ2V0RXh0PgorICA8L1Byb3BlcnR5R3JvdXA+CiAgIDxJbXBvcnRHcm91cCBMYWJlbD0iRXh0ZW5zaW9uU2V0dGluZ3MiPgogICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+CisgIDxJbXBvcnRHcm91cCBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgogICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InBndXBkYXRlLnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InBnaW5zdHJ1bWVudC5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlkLnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlkX2QucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlkLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0ieDY0LnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icGd1cGRhdGUucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9Ing2NC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InBnaW5zdHJ1bWVudC5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9Ing2NC5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWRfZC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9Ing2NC5wcm9wcyIgLz4KKyAgICA8SW1wb3J0IFByb2plY3Q9InB5cHJvamVjdC5wcm9wcyIgLz4KICAgPC9JbXBvcnRHcm91cD4KICAgPFByb3BlcnR5R3JvdXAgTGFiZWw9IlVzZXJNYWNyb3MiIC8+CiAgIDxQcm9wZXJ0eUdyb3VwPgogICAgIDxfUHJvamVjdEZpbGVWZXJzaW9uPjEwLjAuMzAzMTkuMTwvX1Byb2plY3RGaWxlVmVyc2lvbj4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIC8+CiAgIDwvUHJvcGVydHlHcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPgorICA8SXRlbURlZmluaXRpb25Hcm91cD4KICAgICA8TGluaz4KICAgICAgIDxCYXNlQWRkcmVzcz4weDFlMUYwMDAwPC9CYXNlQWRkcmVzcz4KICAgICA8L0xpbms+CiAgIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIj4KLSAgICA8TWlkbD4KLSAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5YNjQ8L1RhcmdldEVudmlyb25tZW50PgotICAgIDwvTWlkbD4KLSAgICA8TGluaz4KLSAgICAgIDxCYXNlQWRkcmVzcz4weDFlMUYwMDAwPC9CYXNlQWRkcmVzcz4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+Ci0gICAgPExpbms+Ci0gICAgICA8QmFzZUFkZHJlc3M+MHgxZTFGMDAwMDwvQmFzZUFkZHJlc3M+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj4KLSAgICA8TWlkbD4KLSAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5YNjQ8L1RhcmdldEVudmlyb25tZW50PgotICAgIDwvTWlkbD4KLSAgICA8TGluaz4KLSAgICAgIDxCYXNlQWRkcmVzcz4weDFlMUYwMDAwPC9CYXNlQWRkcmVzcz4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIj4KLSAgICA8TGluaz4KLSAgICAgIDxCYXNlQWRkcmVzcz4weDFlMUYwMDAwPC9CYXNlQWRkcmVzcz4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyI+Ci0gICAgPE1pZGw+Ci0gICAgICA8VGFyZ2V0RW52aXJvbm1lbnQ+WDY0PC9UYXJnZXRFbnZpcm9ubWVudD4KLSAgICA8L01pZGw+Ci0gICAgPExpbms+Ci0gICAgICA8QmFzZUFkZHJlc3M+MHgxZTFGMDAwMDwvQmFzZUFkZHJlc3M+Ci0gICAgICA8VGFyZ2V0TWFjaGluZT5NYWNoaW5lWDY0PC9UYXJnZXRNYWNoaW5lPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyI+Ci0gICAgPExpbms+Ci0gICAgICA8QmFzZUFkZHJlc3M+MHgxZTFGMDAwMDwvQmFzZUFkZHJlc3M+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyI+Ci0gICAgPE1pZGw+Ci0gICAgICA8VGFyZ2V0RW52aXJvbm1lbnQ+WDY0PC9UYXJnZXRFbnZpcm9ubWVudD4KLSAgICA8L01pZGw+Ci0gICAgPExpbms+Ci0gICAgICA8QmFzZUFkZHJlc3M+MHgxZTFGMDAwMDwvQmFzZUFkZHJlc3M+Ci0gICAgICA8VGFyZ2V0TWFjaGluZT5NYWNoaW5lWDY0PC9UYXJnZXRNYWNoaW5lPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgogICA8SXRlbUdyb3VwPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cTW9kdWxlc1xfdGVzdGltcG9ydG11bHRpcGxlLmMiIC8+CiAgIDwvSXRlbUdyb3VwPgpkaWZmIC0tZ2l0IGEvUENidWlsZC9fdGtpbnRlci52Y3hwcm9qIGIvUENidWlsZC9fdGtpbnRlci52Y3hwcm9qCmluZGV4IDY3ZjcyZmUuLmUxNDA4YTEgMTAwNjQ0Ci0tLSBhL1BDYnVpbGQvX3RraW50ZXIudmN4cHJvagorKysgYi9QQ2J1aWxkL190a2ludGVyLnZjeHByb2oKQEAgLTM5LDIwMiArMzksMzUgQEAKICAgICA8Um9vdE5hbWVzcGFjZT5fdGtpbnRlcjwvUm9vdE5hbWVzcGFjZT4KICAgICA8S2V5d29yZD5XaW4zMlByb2o8L0tleXdvcmQ+CiAgIDwvUHJvcGVydHlHcm91cD4KKyAgPEltcG9ydCBQcm9qZWN0PSJweXRob24ucHJvcHMiIC8+CiAgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLkRlZmF1bHQucHJvcHMiIC8+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KLSAgICA8V2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPnRydWU8L1dob2xlUHJvZ3JhbU9wdGltaXphdGlvbj4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KLSAgICA8V2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPnRydWU8L1dob2xlUHJvZ3JhbU9wdGltaXphdGlvbj4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgorICA8UHJvcGVydHlHcm91cCBMYWJlbD0iQ29uZmlndXJhdGlvbiI+CiAgICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KICAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgogICA8L1Byb3BlcnR5R3JvdXA+CiAgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLnByb3BzIiAvPgorICA8UHJvcGVydHlHcm91cD4KKyAgICA8VGFyZ2V0RXh0Pi5weWQ8L1RhcmdldEV4dD4KKyAgPC9Qcm9wZXJ0eUdyb3VwPgogICA8SW1wb3J0R3JvdXAgTGFiZWw9IkV4dGVuc2lvblNldHRpbmdzIj4KICAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgorICA8SW1wb3J0R3JvdXAgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KICAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJwZ3VwZGF0ZS5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJwZ2luc3RydW1lbnQucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZC5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZF9kLnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9Ing2NC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InBndXBkYXRlLnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJ4NjQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJwZ2luc3RydW1lbnQucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJ4NjQucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlkX2QucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJ4NjQucHJvcHMiIC8+CisgICAgPEltcG9ydCBQcm9qZWN0PSJ0Y2x0ay5wcm9wcyIgLz4KICAgPC9JbXBvcnRHcm91cD4KICAgPFByb3BlcnR5R3JvdXAgTGFiZWw9IlVzZXJNYWNyb3MiIC8+CiAgIDxQcm9wZXJ0eUdyb3VwPgogICAgIDxfUHJvamVjdEZpbGVWZXJzaW9uPjEwLjAuMzAzMTkuMTwvX1Byb2plY3RGaWxlVmVyc2lvbj4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIC8+CiAgIDwvUHJvcGVydHlHcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPgorICA8SXRlbURlZmluaXRpb25Hcm91cD4KICAgICA8Q2xDb21waWxlPgotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+JCh0Y2x0a0RpcilcaW5jbHVkZTslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPldJVEhfQVBQSU5JVDslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPExpbms+Ci0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz4kKHRjbHRrTGliRGVidWcpOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyI+Ci0gICAgPE1pZGw+Ci0gICAgICA8VGFyZ2V0RW52aXJvbm1lbnQ+WDY0PC9UYXJnZXRFbnZpcm9ubWVudD4KLSAgICA8L01pZGw+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPiQodGNsdGs2NERpcilcaW5jbHVkZTslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPldJVEhfQVBQSU5JVDslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPExpbms+Ci0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz4kKHRjbHRrNjRMaWJEZWJ1Zyk7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPiQodGNsdGtEaXIpXGluY2x1ZGU7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KKyAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPiQodGNsdGtEaXIpaW5jbHVkZTslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgogICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPldJVEhfQVBQSU5JVDslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+CiAgICAgPC9DbENvbXBpbGU+CiAgICAgPExpbms+CiAgICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz4kKHRjbHRrTGliKTslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgogICAgIDwvTGluaz4KICAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+Ci0gICAgPE1pZGw+Ci0gICAgICA8VGFyZ2V0RW52aXJvbm1lbnQ+WDY0PC9UYXJnZXRFbnZpcm9ubWVudD4KLSAgICA8L01pZGw+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPiQodGNsdGs2NERpcilcaW5jbHVkZTslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPldJVEhfQVBQSU5JVDslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPExpbms+Ci0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz4kKHRjbHRrNjRMaWIpOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyI+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPiQodGNsdGtEaXIpXGluY2x1ZGU7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5XSVRIX0FQUElOSVQ7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgIDwvQ2xDb21waWxlPgotICAgIDxMaW5rPgotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+JCh0Y2x0a0xpYik7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyI+Ci0gICAgPE1pZGw+Ci0gICAgICA8VGFyZ2V0RW52aXJvbm1lbnQ+WDY0PC9UYXJnZXRFbnZpcm9ubWVudD4KLSAgICA8L01pZGw+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPiQodGNsdGs2NERpcilcaW5jbHVkZTslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPldJVEhfQVBQSU5JVDslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPExpbms+Ci0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz4kKHRjbHRrNjRMaWIpOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Ci0gICAgICA8VGFyZ2V0TWFjaGluZT5NYWNoaW5lWDY0PC9UYXJnZXRNYWNoaW5lPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyI+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPiQodGNsdGtEaXIpXGluY2x1ZGU7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5XSVRIX0FQUElOSVQ7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgIDwvQ2xDb21waWxlPgotICAgIDxMaW5rPgotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+JCh0Y2x0a0xpYik7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIj4KLSAgICA8TWlkbD4KLSAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5YNjQ8L1RhcmdldEVudmlyb25tZW50PgotICAgIDwvTWlkbD4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+JCh0Y2x0azY0RGlyKVxpbmNsdWRlOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+V0lUSF9BUFBJTklUOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8TGluaz4KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPiQodGNsdGs2NExpYik7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KLSAgICAgIDxUYXJnZXRNYWNoaW5lPk1hY2hpbmVYNjQ8L1RhcmdldE1hY2hpbmU+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+CiAgIDxJdGVtR3JvdXA+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxNb2R1bGVzXF90a2ludGVyLmMiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxNb2R1bGVzXHRrYXBwaW5pdC5jIiAvPgpAQCAtMjQ0LDYgKzc3LDEyIEBACiAgICAgICA8UHJvamVjdD57Y2Y3YWMzZDEtZTJkZi00MWQyLWJlYTYtMWUyNTU2Y2RlYTI2fTwvUHJvamVjdD4KICAgICAgIDxSZWZlcmVuY2VPdXRwdXRBc3NlbWJseT5mYWxzZTwvUmVmZXJlbmNlT3V0cHV0QXNzZW1ibHk+CiAgICAgPC9Qcm9qZWN0UmVmZXJlbmNlPgorICAgIDxQcm9qZWN0UmVmZXJlbmNlIEluY2x1ZGU9InRjbC52Y3hwcm9qIj4KKyAgICAgIDxQcm9qZWN0PntiNWZkNmYxZC0xMjllLTRiZmYtOTM0MC0wMzYwNmZhYzcyODN9PC9Qcm9qZWN0PgorICAgIDwvUHJvamVjdFJlZmVyZW5jZT4KKyAgICA8UHJvamVjdFJlZmVyZW5jZSBJbmNsdWRlPSJ0ay52Y3hwcm9qIj4KKyAgICAgIDxQcm9qZWN0Pns3ZTg1ZWNjZi1hNzJjLTRkYTQtOWU1Mi04ODQ1MDhlODBiYTF9PC9Qcm9qZWN0PgorICAgIDwvUHJvamVjdFJlZmVyZW5jZT4KICAgPC9JdGVtR3JvdXA+CiAgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLnRhcmdldHMiIC8+CiAgIDxJbXBvcnRHcm91cCBMYWJlbD0iRXh0ZW5zaW9uVGFyZ2V0cyI+CmRpZmYgLS1naXQgYS9QQ2J1aWxkL2JkaXN0X3dpbmluc3QudmN4cHJvaiBiL1BDYnVpbGQvYmRpc3Rfd2luaW5zdC52Y3hwcm9qCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0OTI3NmEyLi4wMDAwMDAwCi0tLSBhL1BDYnVpbGQvYmRpc3Rfd2luaW5zdC52Y3hwcm9qCisrKyAvZGV2L251bGwKQEAgLTEsMTU4ICswLDAgQEAKLe+7vzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Ci08UHJvamVjdCBEZWZhdWx0VGFyZ2V0cz0iQnVpbGQiIFRvb2xzVmVyc2lvbj0iNC4wIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4KLSAgPEl0ZW1Hcm91cCBMYWJlbD0iUHJvamVjdENvbmZpZ3VyYXRpb25zIj4KLSAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iUmVsZWFzZXxXaW4zMiI+Ci0gICAgICA8Q29uZmlndXJhdGlvbj5SZWxlYXNlPC9Db25maWd1cmF0aW9uPgotICAgICAgPFBsYXRmb3JtPldpbjMyPC9QbGF0Zm9ybT4KLSAgICA8L1Byb2plY3RDb25maWd1cmF0aW9uPgotICAgIDxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJSZWxlYXNlfHg2NCI+Ci0gICAgICA8Q29uZmlndXJhdGlvbj5SZWxlYXNlPC9Db25maWd1cmF0aW9uPgotICAgICAgPFBsYXRmb3JtPng2NDwvUGxhdGZvcm0+Ci0gICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KLSAgPC9JdGVtR3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJHbG9iYWxzIj4KLSAgICA8UHJvamVjdEd1aWQ+e0VCMUMxOUMxLTFGMTgtNDIxRS05NzM1LUNBRUU2OURDNkEzQ308L1Byb2plY3RHdWlkPgotICAgIDxSb290TmFtZXNwYWNlPndpbmluc3Q8L1Jvb3ROYW1lc3BhY2U+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAuRGVmYXVsdC5wcm9wcyIgLz4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5BcHBsaWNhdGlvbjwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPFVzZU9mTWZjPmZhbHNlPC9Vc2VPZk1mYz4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkFwcGxpY2F0aW9uPC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8VXNlT2ZNZmM+ZmFsc2U8L1VzZU9mTWZjPgotICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAucHJvcHMiIC8+Ci0gIDxJbXBvcnRHcm91cCBMYWJlbD0iRXh0ZW5zaW9uU2V0dGluZ3MiPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweXByb2plY3QucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJyZWxlYXNlLnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlwcm9qZWN0LnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icmVsZWFzZS5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgTGFiZWw9IlVzZXJNYWNyb3MiIC8+Ci0gIDxQcm9wZXJ0eUdyb3VwPgotICAgIDxfUHJvamVjdEZpbGVWZXJzaW9uPjEwLjAuMzAzMTkuMTwvX1Byb2plY3RGaWxlVmVyc2lvbj4KLSAgICA8T3V0RGlyIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPi4uXGxpYlxkaXN0dXRpbHNcY29tbWFuZFw8L091dERpcj4KLSAgICA8TGlua0luY3JlbWVudGFsIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPmZhbHNlPC9MaW5rSW5jcmVtZW50YWw+Ci0gICAgPE91dERpciBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+Li5cbGliXGRpc3R1dGlsc1xjb21tYW5kXDwvT3V0RGlyPgotICAgIDxJbnREaXIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPiQoU29sdXRpb25EaXIpJChQbGF0Zm9ybU5hbWUpLXRlbXAtJChDb25maWd1cmF0aW9uKVwkKFByb2plY3ROYW1lKVw8L0ludERpcj4KLSAgICA8TGlua0luY3JlbWVudGFsIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj5mYWxzZTwvTGlua0luY3JlbWVudGFsPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyIgLz4KLSAgICA8VGFyZ2V0RXh0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPi5leGU8L1RhcmdldEV4dD4KLSAgICA8VGFyZ2V0RXh0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj4uZXhlPC9UYXJnZXRFeHQ+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+Ci0gICAgPE1pZGw+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+TkRFQlVHOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICAgIDxNa1R5cExpYkNvbXBhdGlibGU+dHJ1ZTwvTWtUeXBMaWJDb21wYXRpYmxlPgotICAgICAgPFN1cHByZXNzU3RhcnR1cEJhbm5lcj50cnVlPC9TdXBwcmVzc1N0YXJ0dXBCYW5uZXI+Ci0gICAgICA8VGFyZ2V0RW52aXJvbm1lbnQ+V2luMzI8L1RhcmdldEVudmlyb25tZW50PgotICAgICAgPFR5cGVMaWJyYXJ5TmFtZT4uXC4uXGxpYlxkaXN0dXRpbHNcY29tbWFuZFx3aW5pbnN0LnRsYjwvVHlwZUxpYnJhcnlOYW1lPgotICAgICAgPEhlYWRlckZpbGVOYW1lPgotICAgICAgPC9IZWFkZXJGaWxlTmFtZT4KLSAgICA8L01pZGw+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxPcHRpbWl6YXRpb24+TWluU3BhY2U8L09wdGltaXphdGlvbj4KLSAgICAgIDxJbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj5Pbmx5RXhwbGljaXRJbmxpbmU8L0lubGluZUZ1bmN0aW9uRXhwYW5zaW9uPgotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Li5cUENcYmRpc3Rfd2luaW5zdDsuLlxJbmNsdWRlOy4uXE1vZHVsZXNcemxpYjslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPl9DUlRfU0VDVVJFX05PX0RFUFJFQ0FURTtfQ1JUX05PTlNURENfTk9fREVQUkVDQVRFOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICAgIDxTdHJpbmdQb29saW5nPnRydWU8L1N0cmluZ1Bvb2xpbmc+Ci0gICAgICA8UnVudGltZUxpYnJhcnk+TXVsdGlUaHJlYWRlZDwvUnVudGltZUxpYnJhcnk+Ci0gICAgICA8RnVuY3Rpb25MZXZlbExpbmtpbmc+dHJ1ZTwvRnVuY3Rpb25MZXZlbExpbmtpbmc+Ci0gICAgICA8V2FybmluZ0xldmVsPkxldmVsMzwvV2FybmluZ0xldmVsPgotICAgICAgPFN1cHByZXNzU3RhcnR1cEJhbm5lcj50cnVlPC9TdXBwcmVzc1N0YXJ0dXBCYW5uZXI+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPFJlc291cmNlQ29tcGlsZT4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5OREVCVUc7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgICAgPEN1bHR1cmU+MHgwMDAwPC9DdWx0dXJlPgotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Li5cUEM7Li5cUENcYmRpc3Rfd2luaW5zdDsuLlxJbmNsdWRlOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Ci0gICAgPC9SZXNvdXJjZUNvbXBpbGU+Ci0gICAgPExpbms+Ci0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz5jb21jdGwzMi5saWI7aW1hZ2VobHAubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Ci0gICAgICA8T3V0cHV0RmlsZT4uLlxsaWJcZGlzdHV0aWxzXGNvbW1hbmRcd2luaW5zdC0xMC4wLmV4ZTwvT3V0cHV0RmlsZT4KLSAgICAgIDxTdXBwcmVzc1N0YXJ0dXBCYW5uZXI+dHJ1ZTwvU3VwcHJlc3NTdGFydHVwQmFubmVyPgotICAgICAgPElnbm9yZVNwZWNpZmljRGVmYXVsdExpYnJhcmllcz5MSUJDOyUoSWdub3JlU3BlY2lmaWNEZWZhdWx0TGlicmFyaWVzKTwvSWdub3JlU3BlY2lmaWNEZWZhdWx0TGlicmFyaWVzPgotICAgICAgPFByb2dyYW1EYXRhYmFzZUZpbGU+Li5cbGliXGRpc3R1dGlsc1xjb21tYW5kXHdpbmluc3QtMTAuMC5wZGI8L1Byb2dyYW1EYXRhYmFzZUZpbGU+Ci0gICAgICA8U3ViU3lzdGVtPldpbmRvd3M8L1N1YlN5c3RlbT4KLSAgICAgIDxSYW5kb21pemVkQmFzZUFkZHJlc3M+ZmFsc2U8L1JhbmRvbWl6ZWRCYXNlQWRkcmVzcz4KLSAgICAgIDxEYXRhRXhlY3V0aW9uUHJldmVudGlvbj4KLSAgICAgIDwvRGF0YUV4ZWN1dGlvblByZXZlbnRpb24+Ci0gICAgICA8VGFyZ2V0TWFjaGluZT5NYWNoaW5lWDg2PC9UYXJnZXRNYWNoaW5lPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+Ci0gICAgPE1pZGw+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+TkRFQlVHOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICAgIDxNa1R5cExpYkNvbXBhdGlibGU+dHJ1ZTwvTWtUeXBMaWJDb21wYXRpYmxlPgotICAgICAgPFN1cHByZXNzU3RhcnR1cEJhbm5lcj50cnVlPC9TdXBwcmVzc1N0YXJ0dXBCYW5uZXI+Ci0gICAgICA8VGFyZ2V0RW52aXJvbm1lbnQ+WDY0PC9UYXJnZXRFbnZpcm9ubWVudD4KLSAgICAgIDxUeXBlTGlicmFyeU5hbWU+LlwuLlxsaWJcZGlzdHV0aWxzXGNvbW1hbmRcd2luaW5zdC50bGI8L1R5cGVMaWJyYXJ5TmFtZT4KLSAgICAgIDxIZWFkZXJGaWxlTmFtZT4KLSAgICAgIDwvSGVhZGVyRmlsZU5hbWU+Ci0gICAgPC9NaWRsPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8T3B0aW1pemF0aW9uPk1pblNwYWNlPC9PcHRpbWl6YXRpb24+Ci0gICAgICA8SW5saW5lRnVuY3Rpb25FeHBhbnNpb24+T25seUV4cGxpY2l0SW5saW5lPC9JbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj4KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPi4uXFBDXGJkaXN0X3dpbmluc3Q7Li5cSW5jbHVkZTsuLlxNb2R1bGVzXHpsaWI7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5fQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEU7X0NSVF9OT05TVERDX05PX0RFUFJFQ0FURTslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgICA8U3RyaW5nUG9vbGluZz50cnVlPC9TdHJpbmdQb29saW5nPgotICAgICAgPFJ1bnRpbWVMaWJyYXJ5Pk11bHRpVGhyZWFkZWQ8L1J1bnRpbWVMaWJyYXJ5PgotICAgICAgPEZ1bmN0aW9uTGV2ZWxMaW5raW5nPnRydWU8L0Z1bmN0aW9uTGV2ZWxMaW5raW5nPgotICAgICAgPFdhcm5pbmdMZXZlbD5MZXZlbDM8L1dhcm5pbmdMZXZlbD4KLSAgICAgIDxTdXBwcmVzc1N0YXJ0dXBCYW5uZXI+dHJ1ZTwvU3VwcHJlc3NTdGFydHVwQmFubmVyPgotICAgIDwvQ2xDb21waWxlPgotICAgIDxSZXNvdXJjZUNvbXBpbGU+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+TkRFQlVHOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICAgIDxDdWx0dXJlPjB4MDAwMDwvQ3VsdHVyZT4KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPi4uXFBDOy4uXFBDXGJkaXN0X3dpbmluc3Q7Li5cSW5jbHVkZTslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgotICAgIDwvUmVzb3VyY2VDb21waWxlPgotICAgIDxMaW5rPgotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Y29tY3RsMzIubGliO2ltYWdlaGxwLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgotICAgICAgPE91dHB1dEZpbGU+Li5cbGliXGRpc3R1dGlsc1xjb21tYW5kXHdpbmluc3QtMTAuMC1hbWQ2NC5leGU8L091dHB1dEZpbGU+Ci0gICAgICA8U3VwcHJlc3NTdGFydHVwQmFubmVyPnRydWU8L1N1cHByZXNzU3RhcnR1cEJhbm5lcj4KLSAgICAgIDxJZ25vcmVTcGVjaWZpY0RlZmF1bHRMaWJyYXJpZXM+TElCQzslKElnbm9yZVNwZWNpZmljRGVmYXVsdExpYnJhcmllcyk8L0lnbm9yZVNwZWNpZmljRGVmYXVsdExpYnJhcmllcz4KLSAgICAgIDxQcm9ncmFtRGF0YWJhc2VGaWxlPi4uXGxpYlxkaXN0dXRpbHNcY29tbWFuZFx3aW5pbnN0LTkuMC1hbWQ2NC5wZGI8L1Byb2dyYW1EYXRhYmFzZUZpbGU+Ci0gICAgICA8U3ViU3lzdGVtPldpbmRvd3M8L1N1YlN5c3RlbT4KLSAgICAgIDxSYW5kb21pemVkQmFzZUFkZHJlc3M+ZmFsc2U8L1JhbmRvbWl6ZWRCYXNlQWRkcmVzcz4KLSAgICAgIDxEYXRhRXhlY3V0aW9uUHJldmVudGlvbj4KLSAgICAgIDwvRGF0YUV4ZWN1dGlvblByZXZlbnRpb24+Ci0gICAgICA8VGFyZ2V0TWFjaGluZT5NYWNoaW5lWDY0PC9UYXJnZXRNYWNoaW5lPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbUdyb3VwPgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cUENcYmRpc3Rfd2luaW5zdFxleHRyYWN0LmMiIC8+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxQQ1xiZGlzdF93aW5pbnN0XGluc3RhbGwuYyIgLz4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXE1vZHVsZXNcemxpYlxhZGxlcjMyLmMiIC8+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxNb2R1bGVzXHpsaWJcY3JjMzIuYyIgLz4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXE1vZHVsZXNcemxpYlxpbmZmYXN0LmMiIC8+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxNb2R1bGVzXHpsaWJcaW5mbGF0ZS5jIiAvPgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cTW9kdWxlc1x6bGliXGluZnRyZWVzLmMiIC8+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxNb2R1bGVzXHpsaWJcenV0aWwuYyIgLz4KLSAgPC9JdGVtR3JvdXA+Ci0gIDxJdGVtR3JvdXA+Ci0gICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxQQ1xiZGlzdF93aW5pbnN0XGFyY2hpdmUuaCIgLz4KLSAgPC9JdGVtR3JvdXA+Ci0gIDxJdGVtR3JvdXA+Ci0gICAgPFJlc291cmNlQ29tcGlsZSBJbmNsdWRlPSIuLlxQQ1xiZGlzdF93aW5pbnN0XGluc3RhbGwucmMiIC8+Ci0gIDwvSXRlbUdyb3VwPgotICA8SXRlbUdyb3VwPgotICAgIDxOb25lIEluY2x1ZGU9Ii4uXFBDXGJkaXN0X3dpbmluc3RcUHl0aG9uUG93ZXJlZC5ibXAiIC8+Ci0gIDwvSXRlbUdyb3VwPgotICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC50YXJnZXRzIiAvPgotICA8SW1wb3J0R3JvdXAgTGFiZWw9IkV4dGVuc2lvblRhcmdldHMiPgotICA8L0ltcG9ydEdyb3VwPgotPC9Qcm9qZWN0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL1BDYnVpbGQvYnVpbGQuYmF0IGIvUENidWlsZC9idWlsZC5iYXQKaW5kZXggZmEwZDk1Yi4uMjg0NjE0NCAxMDA2NDQKLS0tIGEvUENidWlsZC9idWlsZC5iYXQKKysrIGIvUENidWlsZC9idWlsZC5iYXQKQEAgLTEsMTkgKzEsNDMgQEAKIEBlY2hvIG9mZgotcmVtIEEgYmF0Y2ggcHJvZ3JhbSB0byBidWlsZCBvciByZWJ1aWxkIGEgcGFydGljdWxhciBjb25maWd1cmF0aW9uLgorcmVtIEEgYmF0Y2ggcHJvZ3JhbSB0byBidWlsZCBvciByZWJ1aWxkIGEgcGFydGljdWxhciBjb25maWd1cmF0aW9uLAogcmVtIGp1c3QgZm9yIGNvbnZlbmllbmNlLgogCityZW0gQXJndW1lbnRzOgorcmVtICAtYyAgU2V0IHRoZSBjb25maWd1cmF0aW9uIChkZWZhdWx0OiBSZWxlYXNlKQorcmVtICAtcCAgU2V0IHRoZSBwbGF0Zm9ybSAoeDY0IG9yIFdpbjMyLCBkZWZhdWx0OiBXaW4zMikKK3JlbSAgLXIgIFRhcmdldCBSZWJ1aWxkIGluc3RlYWQgb2YgQnVpbGQKK3JlbSAgLXQgIFNldCB0aGUgdGFyZ2V0IG1hbnVhbGx5IChCdWlsZCwgUmVidWlsZCwgQ2xlYW4sIG9yIENsZWFuQWxsKQorcmVtICAtZCAgU2V0IHRoZSBjb25maWd1cmF0aW9uIHRvIERlYnVnCityZW0gIC1lICBQdWxsIGluIGV4dGVybmFsIGxpYnJhcmllcyB1c2luZyBnZXRfZXh0ZXJuYWxzLmJhdAorcmVtICAtTSAgRGlzYWJsZSBwYXJhbGxlbCBidWlsZAorcmVtICAtdiAgSW5jcmVhc2VkIG91dHB1dCBtZXNzYWdlcworCiBzZXRsb2NhbAogc2V0IHBsYXRmPVdpbjMyCitzZXQgdnNfcGxhdGY9eDg2CiBzZXQgY29uZj1SZWxlYXNlCi1zZXQgdGFyZ2V0PWJ1aWxkCitzZXQgdGFyZ2V0PUJ1aWxkCiBzZXQgZGlyPSV+ZHAwCitzZXQgcGFyYWxsZWw9L20KK3NldCB2ZXJib3NlPS9ub2xvZ28gL3Y6bQogCiA6Q2hlY2tPcHRzCi1pZiAiJTEiPT0iLWMiIChzZXQgY29uZj0lMikgJiBzaGlmdCAmIHNoaWZ0ICYgZ290byBDaGVja09wdHMKLWlmICIlMSI9PSItcCIgKHNldCBwbGF0Zj0lMikgJiBzaGlmdCAmIHNoaWZ0ICYgZ290byBDaGVja09wdHMKLWlmICIlMSI9PSItciIgKHNldCB0YXJnZXQ9cmVidWlsZCkgJiBzaGlmdCAmIGdvdG8gQ2hlY2tPcHRzCi1pZiAiJTEiPT0iLWQiIChzZXQgY29uZj1EZWJ1ZykgJiBzaGlmdCAmIGdvdG8gQ2hlY2tPcHRzCitpZiAnJTEnPT0nLWMnIChzZXQgY29uZj0lMikgJiBzaGlmdCAmIHNoaWZ0ICYgZ290byBDaGVja09wdHMKK2lmICclMSc9PSctcCcgKHNldCBwbGF0Zj0lMikgJiBzaGlmdCAmIHNoaWZ0ICYgZ290byBDaGVja09wdHMKK2lmICclMSc9PSctcicgKHNldCB0YXJnZXQ9UmVidWlsZCkgJiBzaGlmdCAmIGdvdG8gQ2hlY2tPcHRzCitpZiAnJTEnPT0nLXQnIChzZXQgdGFyZ2V0PSUyKSAmIHNoaWZ0ICYgc2hpZnQgJiBnb3RvIENoZWNrT3B0cworaWYgJyUxJz09Jy1kJyAoc2V0IGNvbmY9RGVidWcpICYgc2hpZnQgJiBnb3RvIENoZWNrT3B0cworaWYgJyUxJz09Jy1lJyBjYWxsICIlZGlyJWdldF9leHRlcm5hbHMuYmF0IiAmIHNoaWZ0ICYgZ290byBDaGVja09wdHMKK2lmICclMSc9PSctTScgKHNldCBwYXJhbGxlbD0pICYgc2hpZnQgJiBnb3RvIENoZWNrT3B0cworaWYgJyUxJz09Jy12JyAoc2V0IHZlcmJvc2U9L3Y6bikgJiBzaGlmdCAmIGdvdG8gQ2hlY2tPcHRzCiAKLXNldCBjbWQ9bXNidWlsZCAvcDp1c2VlbnY9dHJ1ZSAlZGlyJXBjYnVpbGQuc2xuIC90OiV0YXJnZXQlIC9wOkNvbmZpZ3VyYXRpb249JWNvbmYlIC9wOlBsYXRmb3JtPSVwbGF0ZiUKLWVjaG8gJWNtZCUKLSVjbWQlCitpZiAnJXBsYXRmJSc9PSd4NjQnIChzZXQgdnNfcGxhdGY9eDg2X2FtZDY0KQorCityZW0gU2V0dXAgdGhlIGVudmlyb25tZW50CitjYWxsICIlZGlyJWVudi5iYXQiICV2c19wbGF0ZiUgPm51bAorCityZW0gQ2FsbCBvbiBNU0J1aWxkIHRvIGRvIHRoZSB3b3JrLCBlY2hvIHRoZSBjb21tYW5kLgorcmVtIFBhc3NpbmcgJTEtOSBpcyBub3QgdGhlIHByZWZlcnJlZCBvcHRpb24sIGJ1dCBhcmd1bWVudCBwYXJzaW5nIGluCityZW0gYmF0Y2ggaXMsIHNoYWxsIHdlIHNheSwgImxhY2tsdXN0ZXIiCitlY2hvIG9uCittc2J1aWxkICIlZGlyJXBjYnVpbGQucHJvaiIgL3Q6JXRhcmdldCUgJXBhcmFsbGVsJSAldmVyYm9zZSUgL3A6Q29uZmlndXJhdGlvbj0lY29uZiUgL3A6UGxhdGZvcm09JXBsYXRmJSAlMSAlMiAlMyAlNCAlNSAlNiAlNyAlOCAlOQpkaWZmIC0tZ2l0IGEvUENidWlsZC9idWlsZF9wZ28uYmF0IGIvUENidWlsZC9idWlsZF9wZ28uYmF0CmluZGV4IDBjMGE0NzMuLjU5ODhjMGEgMTAwNjQ0Ci0tLSBhL1BDYnVpbGQvYnVpbGRfcGdvLmJhdAorKysgYi9QQ2J1aWxkL2J1aWxkX3Bnby5iYXQKQEAgLTcsMTQgKzcsMTYgQEAKIAogc2V0bG9jYWwKIHNldCBwbGF0Zj1XaW4zMgorc2V0IHBhcmFsbGVsPS9tCitzZXQgZGlyPSV+ZHAwCiAKIHJlbSB1c2UgdGhlIHBlcmZvcm1hbmNlIHRlc3RzdWl0ZS4gIFRoaXMgaXMgcXVpY2sgYW5kIHNpbXBsZQotc2V0IGpvYjE9Li5cdG9vbHNccHliZW5jaFxweWJlbmNoLnB5IC1uIDEgLUMgMSAtLXdpdGgtZ2MKLXNldCBwYXRoMT0uLlx0b29sc1xweWJlbmNoCitzZXQgam9iMT0iJWRpciUuLlx0b29sc1xweWJlbmNoXHB5YmVuY2gucHkiIC1uIDEgLUMgMSAtLXdpdGgtZ2MKK3NldCBwYXRoMT0iJWRpciUuLlx0b29sc1xweWJlbmNoIgogCiByZW0gb3IgdGhlIHdob2xlIHRlc3RzdWl0ZSBmb3IgbW9yZSB0aG9yb3VnaCB0ZXN0aW5nCi1zZXQgam9iMj0uLlxsaWJcdGVzdFxyZWdydGVzdC5weQotc2V0IHBhdGgyPS4uXGxpYgorc2V0IGpvYjI9IiVkaXIlLi5cbGliXHRlc3RccmVncnRlc3QucHkiCitzZXQgcGF0aDI9IiVkaXIlLi5cbGliIgogCiBzZXQgam9iPSVqb2IxJQogc2V0IGNscnBhdGg9JXBhdGgxJQpAQCAtMjIsMjAgKzI0LDI1IEBACiA6Q2hlY2tPcHRzCiBpZiAiJTEiPT0iLXAiIChzZXQgcGxhdGY9JTIpICYgc2hpZnQgJiBzaGlmdCAmIGdvdG8gQ2hlY2tPcHRzCiBpZiAiJTEiPT0iLTIiIChzZXQgam9iPSVqb2IyJSkgJiAoc2V0IGNscnBhdGg9JXBhdGgyJSkgJiBzaGlmdCAmIGdvdG8gQ2hlY2tPcHRzCitpZiAiJTEiPT0iLU0iIChzZXQgcGFyYWxsZWw9KSAmIHNoaWZ0ICYgZ290byBDaGVja09wdHMKIAotc2V0IFBHST0lcGxhdGYlLXBnaQotc2V0IFBHTz0lcGxhdGYlLXBnbwogCi1AZWNobyBvbgorcmVtIFdlIGNhbm5vdCBjcm9zcyBjb21waWxlIFBHTyBidWlsZHMsIGFzIHRoZSBvcHRpbWl6YXRpb24gbmVlZHMgdG8gYmUgcnVuIG5hdGl2ZWx5CitzZXQgdnNfcGxhdGY9eDg2CitzZXQgUEdPPSVkaXIld2luMzItcGdvCisKK2lmICIlcGxhdGYlIj09Ing2NCIgKHNldCB2c19wbGF0Zj1hbWQ2NCkgJiAoc2V0IFBHTz0lZGlyJWFtZDY0LXBnbykKK3JlbSBTZXR1cCB0aGUgZW52aXJvbm1lbnQKK2NhbGwgIiVkaXIlZW52LmJhdCIgJXZzX3BsYXRmJQorCisKIHJlbSBidWlsZCB0aGUgaW5zdHJ1bWVudGVkIHZlcnNpb24KLWNhbGwgYnVpbGQgLXAgJXBsYXRmJSAtYyBQR0luc3RydW1lbnQKK21zYnVpbGQgIiVkaXIlcGNidWlsZC5wcm9qIiAlcGFyYWxsZWwlIC90OkJ1aWxkIC9wOkNvbmZpZ3VyYXRpb249UEdJbnN0cnVtZW50IC9wOlBsYXRmb3JtPSVwbGF0ZiUgJTEgJTIgJTMgJTQgJTUgJTYgJTcgJTggJTkKIAogcmVtIHJlbW92ZSAucHljIGZpbGVzLCAucGdjIGZpbGVzIGFuZCBleGVjdXRlIHRoZSBqb2IKLSVQR0klXHB5dGhvbi5leGUgcm1weWMucHkgJWNscnBhdGglCi1kZWwgJVBHSSVcKi5wZ2MKLSVQR0klXHB5dGhvbi5leGUgJWpvYiUKKyIlUEdPJVxweXRob24uZXhlIiAiJWRpciVybXB5Yy5weSIgJWNscnBhdGglCitkZWwgIiVQR08lXCoucGdjIgorIiVQR08lXHB5dGhvbi5leGUiICVqb2IlCiAKLXJlbSBmaW5hbGx5IGJ1aWxkIHRoZSBvcHRpbWl6ZWQgdmVyc2lvbgotaWYgZXhpc3QgJVBHTyUgZGVsIC9zIC9xICVQR08lCi1jYWxsIGJ1aWxkIC1wICVwbGF0ZiUgLWMgUEdVcGRhdGUKLQorcmVtIGJ1aWxkIG9wdGltaXplZCB2ZXJzaW9uCittc2J1aWxkICIlZGlyJXBjYnVpbGQucHJvaiIgJXBhcmFsbGVsJSAvdDpCdWlsZCAvcDpDb25maWd1cmF0aW9uPVBHVXBkYXRlIC9wOlBsYXRmb3JtPSVwbGF0ZiUgJTEgJTIgJTMgJTQgJTUgJTYgJTcgJTggJTkKZGlmZiAtLWdpdCBhL1BDYnVpbGQvYnVpbGRfc3NsLmJhdCBiL1BDYnVpbGQvYnVpbGRfc3NsLmJhdApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODA1ZDc3YS4uMDAwMDAwMAotLS0gYS9QQ2J1aWxkL2J1aWxkX3NzbC5iYXQKKysrIC9kZXYvbnVsbApAQCAtMSwxMiArMCwwIEBACi1AZWNobyBvZmYKLWlmIG5vdCBkZWZpbmVkIEhPU1RfUFlUSE9OICgKLSAgaWYgJTEgRVFVIERlYnVnICgKLSAgICBzZXQgSE9TVF9QWVRIT049cHl0aG9uX2QuZXhlCi0gICAgaWYgbm90IGV4aXN0IHB5dGhvbjM0X2QuZGxsIGV4aXQgMQotICApIEVMU0UgKAotICAgIHNldCBIT1NUX1BZVEhPTj1weXRob24uZXhlCi0gICAgaWYgbm90IGV4aXN0IHB5dGhvbjM0LmRsbCBleGl0IDEKLSAgKQotKQotJUhPU1RfUFlUSE9OJSBidWlsZF9zc2wucHkgJTEgJTIgJTMKLQpkaWZmIC0tZ2l0IGEvUENidWlsZC9idWlsZF9zc2wucHkgYi9QQ2J1aWxkL2J1aWxkX3NzbC5weQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggM2NiNGY2Mi4uMDAwMDAwMAotLS0gYS9QQ2J1aWxkL2J1aWxkX3NzbC5weQorKysgL2Rldi9udWxsCkBAIC0xLDI2NCArMCwwIEBACi0jIFNjcmlwdCBmb3IgYnVpbGRpbmcgdGhlIF9zc2wgYW5kIF9oYXNobGliIG1vZHVsZXMgZm9yIFdpbmRvd3MuCi0jIFVzZXMgUGVybCB0byBzZXR1cCB0aGUgT3BlblNTTCBlbnZpcm9ubWVudCBjb3JyZWN0bHkKLSMgYW5kIGJ1aWxkIE9wZW5TU0wsIHRoZW4gaW52b2tlcyBhIHNpbXBsZSBubWFrZSBzZXNzaW9uCi0jIGZvciB0aGUgYWN0dWFsIF9zc2wucHlkIGFuZCBfaGFzaGxpYi5weWQgRExMcy4KLQotIyBUSEVPUkVUSUNBTExZLCB5b3UgY2FuOgotIyAqIFVucGFjayB0aGUgbGF0ZXN0IFNTTCByZWxlYXNlIG9uZSBsZXZlbCBhYm92ZSB5b3VyIG1haW4gUHl0aG9uIHNvdXJjZQotIyAgIGRpcmVjdG9yeS4gIEl0IGlzIGxpa2VseSB5b3Ugd2lsbCBhbHJlYWR5IGZpbmQgdGhlIHpsaWIgbGlicmFyeSBhbmQKLSMgICBhbnkgb3RoZXIgZXh0ZXJuYWwgcGFja2FnZXMgdGhlcmUuCi0jICogSW5zdGFsbCBBY3RpdmVQZXJsIGFuZCBlbnN1cmUgaXQgaXMgc29tZXdoZXJlIG9uIHlvdXIgcGF0aC4KLSMgKiBSdW4gdGhpcyBzY3JpcHQgZnJvbSB0aGUgUENCdWlsZCBkaXJlY3RvcnkuCi0jCi0jIGl0IHNob3VsZCBjb25maWd1cmUgYW5kIGJ1aWxkIFNTTCwgdGhlbiBidWlsZCB0aGUgX3NzbCBhbmQgX2hhc2hsaWIKLSMgUHl0aG9uIGV4dGVuc2lvbnMgd2l0aG91dCBpbnRlcnZlbnRpb24uCi0KLSMgTW9kaWZpZWQgYnkgQ2hyaXN0aWFuIEhlaW1lcwotIyBOb3cgdGhpcyBzY3JpcHQgc3VwcG9ydHMgcHJlLWdlbmVyYXRlZCBtYWtlZmlsZXMgYW5kIGFzc2VtYmx5IGZpbGVzLgotIyBEZXZlbG9wZXJzIGRvbid0IG5lZWQgYW4gaW5zdGFsbGF0aW9uIG9mIFBlcmwgYW55bW9yZSB0byBidWlsZCBQeXRob24uIEEgc3ZuCi0jIGNoZWNrb3V0IGZyb20gb3VyIHN2biByZXBvc2l0b3J5IGlzIGVub3VnaC4KLSMKLSMgSW4gT3JkZXIgdG8gY3JlYXRlIHRoZSBmaWxlcyBpbiB0aGUgY2FzZSBvZiBhbiB1cGRhdGUgeW91IHN0aWxsIG5lZWQgUGVybC4KLSMgUnVuIGJ1aWxkX3NzbCBpbiB0aGlzIG9yZGVyOgotIyBweXRob24uZXhlIGJ1aWxkX3NzbC5weSBSZWxlYXNlIHg2NAotIyBweXRob24uZXhlIGJ1aWxkX3NzbC5weSBSZWxlYXNlIFdpbjMyCi0KLWltcG9ydCBvcywgc3lzLCByZSwgc2h1dGlsCi1pbXBvcnQgc3VicHJvY2VzcwotCi0jIEZpbmQgYWxsICJmb28uZXhlIiBmaWxlcyBvbiB0aGUgUEFUSC4KLWRlZiBmaW5kX2FsbF9vbl9wYXRoKGZpbGVuYW1lLCBleHRyYXMgPSBOb25lKToKLSAgICBlbnRyaWVzID0gb3MuZW52aXJvblsiUEFUSCJdLnNwbGl0KG9zLnBhdGhzZXApCi0gICAgcmV0ID0gW10KLSAgICBmb3IgcCBpbiBlbnRyaWVzOgotICAgICAgICBmbmFtZSA9IG9zLnBhdGguYWJzcGF0aChvcy5wYXRoLmpvaW4ocCwgZmlsZW5hbWUpKQotICAgICAgICBpZiBvcy5wYXRoLmlzZmlsZShmbmFtZSkgYW5kIGZuYW1lIG5vdCBpbiByZXQ6Ci0gICAgICAgICAgICByZXQuYXBwZW5kKGZuYW1lKQotICAgIGlmIGV4dHJhczoKLSAgICAgICAgZm9yIHAgaW4gZXh0cmFzOgotICAgICAgICAgICAgZm5hbWUgPSBvcy5wYXRoLmFic3BhdGgob3MucGF0aC5qb2luKHAsIGZpbGVuYW1lKSkKLSAgICAgICAgICAgIGlmIG9zLnBhdGguaXNmaWxlKGZuYW1lKSBhbmQgZm5hbWUgbm90IGluIHJldDoKLSAgICAgICAgICAgICAgICByZXQuYXBwZW5kKGZuYW1lKQotICAgIHJldHVybiByZXQKLQotIyBGaW5kIGEgc3VpdGFibGUgUGVybCBpbnN0YWxsYXRpb24gZm9yIE9wZW5TU0wuCi0jIGN5Z3dpbiBwZXJsIGRvZXMgKm5vdCogd29yay4gIEFjdGl2ZVBlcmwgZG9lcy4KLSMgQmVpbmcgYSBQZXJsIGR1bW15LCB0aGUgc2ltcGxlc3Qgd2F5IEkgY2FuIGNoZWNrIGlzIGlmIHRoZSAiV2luMzIiIHBhY2thZ2UKLSMgaXMgYXZhaWxhYmxlLgotZGVmIGZpbmRfd29ya2luZ19wZXJsKHBlcmxzKToKLSAgICBmb3IgcGVybCBpbiBwZXJsczoKLSAgICAgICAgdHJ5OgotICAgICAgICAgICAgc3VicHJvY2Vzcy5jaGVja19vdXRwdXQoW3BlcmwsICItZSIsICJ1c2UgV2luMzI7Il0pCi0gICAgICAgIGV4Y2VwdCBzdWJwcm9jZXNzLkNhbGxlZFByb2Nlc3NFcnJvcjoKLSAgICAgICAgICAgIGNvbnRpbnVlCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICByZXR1cm4gcGVybAotCi0gICAgaWYgcGVybHM6Ci0gICAgICAgIHByaW50KCJUaGUgZm9sbG93aW5nIHBlcmwgaW50ZXJwcmV0ZXJzIHdlcmUgZm91bmQ6IikKLSAgICAgICAgZm9yIHAgaW4gcGVybHM6Ci0gICAgICAgICAgICBwcmludCgiICIsIHApCi0gICAgICAgIHByaW50KCIgTm9uZSBvZiB0aGVzZSB2ZXJzaW9ucyBhcHBlYXIgc3VpdGFibGUgZm9yIGJ1aWxkaW5nIE9wZW5TU0wiKQotICAgIGVsc2U6Ci0gICAgICAgIHByaW50KCJOTyBwZXJsIGludGVycHJldGVycyB3ZXJlIGZvdW5kIG9uIHRoaXMgbWFjaGluZSBhdCBhbGwhIikKLSAgICBwcmludCgiIFBsZWFzZSBpbnN0YWxsIEFjdGl2ZVBlcmwgYW5kIGVuc3VyZSBpdCBhcHBlYXJzIG9uIHlvdXIgcGF0aCIpCi0KLSMgRmV0Y2ggU1NMIGRpcmVjdG9yeSBmcm9tIFZDIHByb3BlcnRpZXMKLWRlZiBnZXRfc3NsX2RpcigpOgotICAgIHByb3BmaWxlID0gKG9zLnBhdGguam9pbihvcy5wYXRoLmRpcm5hbWUoX19maWxlX18pLCAncHlwcm9qZWN0LnByb3BzJykpCi0gICAgd2l0aCBvcGVuKHByb3BmaWxlLCBlbmNvZGluZz0ndXRmLTgtc2lnJykgYXMgZjoKLSAgICAgICAgbSA9IHJlLnNlYXJjaCgnb3BlbnNzbC0oW148XSspPCcsIGYucmVhZCgpKQotICAgICAgICByZXR1cm4gIi4uXGV4dGVybmFsc1xvcGVuc3NsLSIrbS5ncm91cCgxKQotCi0KLWRlZiBjcmVhdGVfbWFrZWZpbGU2NChtYWtlZmlsZSwgbTMyKToKLSAgICAiIiJDcmVhdGUgYW5kIGZpeCBtYWtlZmlsZSBmb3IgNjRiaXQKLQotICAgIFJlcGxhY2UgMzIgd2l0aCA2NGJpdCBkaXJlY3RvcmllcwotICAgICIiIgotICAgIGlmIG5vdCBvcy5wYXRoLmlzZmlsZShtMzIpOgotICAgICAgICByZXR1cm4KLSAgICB3aXRoIG9wZW4obTMyKSBhcyBmaW46Ci0gICAgICAgIHdpdGggb3BlbihtYWtlZmlsZSwgJ3cnKSBhcyBmb3V0OgotICAgICAgICAgICAgZm9yIGxpbmUgaW4gZmluOgotICAgICAgICAgICAgICAgIGxpbmUgPSBsaW5lLnJlcGxhY2UoIj10bXAzMiIsICI9dG1wNjQiKQotICAgICAgICAgICAgICAgIGxpbmUgPSBsaW5lLnJlcGxhY2UoIj1vdXQzMiIsICI9b3V0NjQiKQotICAgICAgICAgICAgICAgIGxpbmUgPSBsaW5lLnJlcGxhY2UoIj1pbmMzMiIsICI9aW5jNjQiKQotICAgICAgICAgICAgICAgICMgZm9yY2UgNjQgYml0IG1hY2hpbmUKLSAgICAgICAgICAgICAgICBsaW5lID0gbGluZS5yZXBsYWNlKCJNS0xJQj1saWIiLCAiTUtMSUI9bGliIC9NQUNISU5FOlg2NCIpCi0gICAgICAgICAgICAgICAgbGluZSA9IGxpbmUucmVwbGFjZSgiTEZMQUdTPSIsICJMRkxBR1M9L01BQ0hJTkU6WDY0ICIpCi0gICAgICAgICAgICAgICAgIyBkb24ndCBsaW5rIGFnYWluc3QgdGhlIGxpYiBvbiA2NGJpdCBzeXN0ZW1zCi0gICAgICAgICAgICAgICAgbGluZSA9IGxpbmUucmVwbGFjZSgiYnVmZmVyb3ZlcmZsb3d1LmxpYiIsICIiKQotICAgICAgICAgICAgICAgIGZvdXQud3JpdGUobGluZSkKLSAgICBvcy51bmxpbmsobTMyKQotCi1kZWYgZml4X21ha2VmaWxlKG1ha2VmaWxlKToKLSAgICAiIiJGaXggc29tZSBzdHVmZiBpbiBhbGwgbWFrZWZpbGVzCi0gICAgIiIiCi0gICAgaWYgbm90IG9zLnBhdGguaXNmaWxlKG1ha2VmaWxlKToKLSAgICAgICAgcmV0dXJuCi0gICAgd2l0aCBvcGVuKG1ha2VmaWxlKSBhcyBmaW46Ci0gICAgICAgIGxpbmVzID0gZmluLnJlYWRsaW5lcygpCi0gICAgd2l0aCBvcGVuKG1ha2VmaWxlLCAndycpIGFzIGZvdXQ6Ci0gICAgICAgIGZvciBsaW5lIGluIGxpbmVzOgotICAgICAgICAgICAgaWYgbGluZS5zdGFydHN3aXRoKCJQRVJMPSIpOgotICAgICAgICAgICAgICAgIGNvbnRpbnVlCi0gICAgICAgICAgICBpZiBsaW5lLnN0YXJ0c3dpdGgoIkNQPSIpOgotICAgICAgICAgICAgICAgIGxpbmUgPSAiQ1A9Y29weVxuIgotICAgICAgICAgICAgaWYgbGluZS5zdGFydHN3aXRoKCJNS0RJUj0iKToKLSAgICAgICAgICAgICAgICBsaW5lID0gIk1LRElSPW1rZGlyXG4iCi0gICAgICAgICAgICBpZiBsaW5lLnN0YXJ0c3dpdGgoIkNGTEFHPSIpOgotICAgICAgICAgICAgICAgIGxpbmUgPSBsaW5lLnN0cmlwKCkKLSAgICAgICAgICAgICAgICBmb3IgYWxnbyBpbiAoIlJDNSIsICJNREMyIiwgIklERUEiKToKLSAgICAgICAgICAgICAgICAgICAgbm9hbGdvID0gIiAtRE9QRU5TU0xfTk9fJXMiICUgYWxnbwotICAgICAgICAgICAgICAgICAgICBpZiBub2FsZ28gbm90IGluIGxpbmU6Ci0gICAgICAgICAgICAgICAgICAgICAgICBsaW5lID0gbGluZSArIG5vYWxnbwotICAgICAgICAgICAgICAgIGxpbmUgPSBsaW5lICsgJ1xuJwotICAgICAgICAgICAgZm91dC53cml0ZShsaW5lKQotCi1kZWYgcnVuX2NvbmZpZ3VyZShjb25maWd1cmUsIGRvX3NjcmlwdCk6Ci0gICAgcHJpbnQoInBlcmwgQ29uZmlndXJlICIrY29uZmlndXJlKyIgbm8taWRlYSBuby1tZGMyIikKLSAgICBvcy5zeXN0ZW0oInBlcmwgQ29uZmlndXJlICIrY29uZmlndXJlKyIgbm8taWRlYSBuby1tZGMyIikKLSAgICBwcmludChkb19zY3JpcHQpCi0gICAgb3Muc3lzdGVtKGRvX3NjcmlwdCkKLQotZGVmIGNtcChmMSwgZjIpOgotICAgIGJ1ZnNpemUgPSAxMDI0ICogOAotICAgIHdpdGggb3BlbihmMSwgJ3JiJykgYXMgZnAxLCBvcGVuKGYyLCAncmInKSBhcyBmcDI6Ci0gICAgICAgIHdoaWxlIFRydWU6Ci0gICAgICAgICAgICBiMSA9IGZwMS5yZWFkKGJ1ZnNpemUpCi0gICAgICAgICAgICBiMiA9IGZwMi5yZWFkKGJ1ZnNpemUpCi0gICAgICAgICAgICBpZiBiMSAhPSBiMjoKLSAgICAgICAgICAgICAgICByZXR1cm4gRmFsc2UKLSAgICAgICAgICAgIGlmIG5vdCBiMToKLSAgICAgICAgICAgICAgICByZXR1cm4gVHJ1ZQotCi1kZWYgY29weShzcmMsIGRzdCk6Ci0gICAgaWYgb3MucGF0aC5pc2ZpbGUoZHN0KSBhbmQgY21wKHNyYywgZHN0KToKLSAgICAgICAgcmV0dXJuCi0gICAgc2h1dGlsLmNvcHkoc3JjLCBkc3QpCi0KLWRlZiBtYWluKCk6Ci0gICAgYnVpbGRfYWxsID0gIi1hIiBpbiBzeXMuYXJndgotICAgIGlmIHN5cy5hcmd2WzFdID09ICJSZWxlYXNlIjoKLSAgICAgICAgZGVidWcgPSBGYWxzZQotICAgIGVsaWYgc3lzLmFyZ3ZbMV0gPT0gIkRlYnVnIjoKLSAgICAgICAgZGVidWcgPSBUcnVlCi0gICAgZWxzZToKLSAgICAgICAgcmFpc2UgVmFsdWVFcnJvcihzdHIoc3lzLmFyZ3YpKQotCi0gICAgaWYgc3lzLmFyZ3ZbMl0gPT0gIldpbjMyIjoKLSAgICAgICAgYXJjaCA9ICJ4ODYiCi0gICAgICAgIGNvbmZpZ3VyZSA9ICJWQy1XSU4zMiIKLSAgICAgICAgZG9fc2NyaXB0ID0gIm1zXFxkb19uYXNtIgotICAgICAgICBtYWtlZmlsZT0ibXNcXG50Lm1hayIKLSAgICAgICAgbTMyID0gbWFrZWZpbGUKLSAgICAgICAgZGlyc3VmZml4ID0gIjMyIgotICAgIGVsaWYgc3lzLmFyZ3ZbMl0gPT0gIng2NCI6Ci0gICAgICAgIGFyY2g9ImFtZDY0IgotICAgICAgICBjb25maWd1cmUgPSAiVkMtV0lONjRBIgotICAgICAgICBkb19zY3JpcHQgPSAibXNcXGRvX3dpbjY0YSIKLSAgICAgICAgbWFrZWZpbGUgPSAibXNcXG50NjQubWFrIgotICAgICAgICBtMzIgPSBtYWtlZmlsZS5yZXBsYWNlKCc2NCcsICcnKQotICAgICAgICBkaXJzdWZmaXggPSAiNjQiCi0gICAgICAgICNvcy5lbnZpcm9uWyJWU0VYVENPTVBfVVNFQ0wiXSA9ICJNU19PUFRFUk9OIgotICAgIGVsc2U6Ci0gICAgICAgIHJhaXNlIFZhbHVlRXJyb3Ioc3RyKHN5cy5hcmd2KSkKLQotICAgIG1ha2VfZmxhZ3MgPSAiIgotICAgIGlmIGJ1aWxkX2FsbDoKLSAgICAgICAgbWFrZV9mbGFncyA9ICItYSIKLSAgICAjIHBlcmwgc2hvdWxkIGJlIG9uIHRoZSBwYXRoLCBidXQgd2UgYWxzbyBsb29rIGluICJccGVybCIgYW5kICJjOlxccGVybCIKLSAgICAjIGFzICJ3ZWxsIGtub3duIiBsb2NhdGlvbnMKLSAgICBwZXJscyA9IGZpbmRfYWxsX29uX3BhdGgoInBlcmwuZXhlIiwgWyJcXHBlcmxcXGJpbiIsICJDOlxccGVybFxcYmluIl0pCi0gICAgcGVybCA9IGZpbmRfd29ya2luZ19wZXJsKHBlcmxzKQotICAgIGlmIHBlcmw6Ci0gICAgICAgIHByaW50KCJGb3VuZCBhIHdvcmtpbmcgcGVybCBhdCAnJXMnIiAlIChwZXJsLCkpCi0gICAgZWxzZToKLSAgICAgICAgcHJpbnQoIk5vIFBlcmwgaW5zdGFsbGF0aW9uIHdhcyBmb3VuZC4gRXhpc3RpbmcgTWFrZWZpbGVzIGFyZSB1c2VkLiIpCi0gICAgc3lzLnN0ZG91dC5mbHVzaCgpCi0gICAgIyBMb29rIGZvciBTU0wgMiBsZXZlbHMgdXAgZnJvbSBwY2J1aWxkIC0gaWUsIHNhbWUgcGxhY2UgemxpYiBldGMgYWxsIGxpdmUuCi0gICAgc3NsX2RpciA9IGdldF9zc2xfZGlyKCkKLSAgICBpZiBzc2xfZGlyIGlzIE5vbmU6Ci0gICAgICAgIHN5cy5leGl0KDEpCi0KLSAgICAjIGFkZCBvdXIgY29weSBvZiBOQVNNIHRvIFBBVEguICBJdCB3aWxsIGJlIG9uIHRoZSBzYW1lIGxldmVsIGFzIG9wZW5zc2wKLSAgICBmb3IgZGlyIGluIG9zLmxpc3RkaXIob3MucGF0aC5qb2luKHNzbF9kaXIsIG9zLnBhcmRpcikpOgotICAgICAgICBpZiBkaXIuc3RhcnRzd2l0aCgnbmFzbScpOgotICAgICAgICAgICAgbmFzbV9kaXIgPSBvcy5wYXRoLmpvaW4oc3NsX2Rpciwgb3MucGFyZGlyLCBkaXIpCi0gICAgICAgICAgICBuYXNtX2RpciA9IG9zLnBhdGguYWJzcGF0aChuYXNtX2RpcikKLSAgICAgICAgICAgIG9zLmVudmlyb25bJ1BBVEgnXSArPSBvcy5wYXRoc2VwLmpvaW4oWycnLCBuYXNtX2Rpcl0pCi0gICAgICAgICAgICBicmVhawotICAgIGVsc2U6Ci0gICAgICAgIHByaW50KCdOQVNNIHdhcyBub3QgZm91bmQsIG1ha2Ugc3VyZSBpdCBpcyBvbiBQQVRIJykKLQotCi0gICAgb2xkX2NkID0gb3MuZ2V0Y3dkKCkKLSAgICB0cnk6Ci0gICAgICAgIG9zLmNoZGlyKHNzbF9kaXIpCi0gICAgICAgICMgcmVidWlsZCBtYWtlZmlsZSB3aGVuIHdlIGRvIHRoZSByb2xlIG92ZXIgZnJvbSAzMiB0byA2NCBidWlsZAotICAgICAgICBpZiBhcmNoID09ICJhbWQ2NCIgYW5kIG9zLnBhdGguaXNmaWxlKG0zMikgYW5kIG5vdCBvcy5wYXRoLmlzZmlsZShtYWtlZmlsZSk6Ci0gICAgICAgICAgICBvcy51bmxpbmsobTMyKQotCi0gICAgICAgICMgSWYgdGhlIHNzbCBtYWtlZmlsZXMgZG8gbm90IGV4aXN0LCB3ZSBpbnZva2UgUGVybCB0byBnZW5lcmF0ZSB0aGVtLgotICAgICAgICAjIER1ZSB0byBhIGJ1ZyBpbiB0aGlzIHNjcmlwdCwgdGhlIG1ha2VmaWxlIHNvbWV0aW1lcyBlbmRlZCB1cCBlbXB0eQotICAgICAgICAjIEZvcmNlIGEgcmVnZW5lcmF0aW9uIGlmIGl0IGlzLgotICAgICAgICBpZiBub3Qgb3MucGF0aC5pc2ZpbGUobWFrZWZpbGUpIG9yIG9zLnBhdGguZ2V0c2l6ZShtYWtlZmlsZSk9PTA6Ci0gICAgICAgICAgICBpZiBwZXJsIGlzIE5vbmU6Ci0gICAgICAgICAgICAgICAgcHJpbnQoIlBlcmwgaXMgcmVxdWlyZWQgdG8gYnVpbGQgdGhlIG1ha2VmaWxlcyEiKQotICAgICAgICAgICAgICAgIHN5cy5leGl0KDEpCi0KLSAgICAgICAgICAgIHByaW50KCJDcmVhdGluZyB0aGUgbWFrZWZpbGVzLi4uIikKLSAgICAgICAgICAgIHN5cy5zdGRvdXQuZmx1c2goKQotICAgICAgICAgICAgIyBQdXQgb3VyIHdvcmtpbmcgUGVybCBhdCB0aGUgZnJvbnQgb2Ygb3VyIHBhdGgKLSAgICAgICAgICAgIG9zLmVudmlyb25bIlBBVEgiXSA9IG9zLnBhdGguZGlybmFtZShwZXJsKSArIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9zLnBhdGhzZXAgKyBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcy5lbnZpcm9uWyJQQVRIIl0KLSAgICAgICAgICAgIHJ1bl9jb25maWd1cmUoY29uZmlndXJlLCBkb19zY3JpcHQpCi0gICAgICAgICAgICBpZiBkZWJ1ZzoKLSAgICAgICAgICAgICAgICBwcmludCgiT3BlblNTTCBkZWJ1ZyBidWlsZHMgYXJlbid0IHN1cHBvcnRlZC4iKQotICAgICAgICAgICAgI2lmIGFyY2g9PSJ4ODYiIGFuZCBkZWJ1ZzoKLSAgICAgICAgICAgICMgICAgIyB0aGUgZG9fbWFzbSBzY3JpcHQgaW4gb3BlbnNzbCBkb2Vzbid0IGdlbmVyYXRlIGEgZGVidWcKLSAgICAgICAgICAgICMgICAgIyBidWlsZCBtYWtlZmlsZSBzbyB3ZSBnZW5lcmF0ZSBpdCBoZXJlOgotICAgICAgICAgICAgIyAgICBvcy5zeXN0ZW0oInBlcmwgdXRpbFxtazFtZi5wbCBkZWJ1ZyAiK2NvbmZpZ3VyZSsiID4iK21ha2VmaWxlKQotCi0gICAgICAgICAgICBpZiBhcmNoID09ICJhbWQ2NCI6Ci0gICAgICAgICAgICAgICAgY3JlYXRlX21ha2VmaWxlNjQobWFrZWZpbGUsIG0zMikKLSAgICAgICAgICAgIGZpeF9tYWtlZmlsZShtYWtlZmlsZSkKLSAgICAgICAgICAgIGNvcHkociJjcnlwdG9cYnVpbGRpbmYuaCIsIHIiY3J5cHRvXGJ1aWxkaW5mXyVzLmgiICUgYXJjaCkKLSAgICAgICAgICAgIGNvcHkociJjcnlwdG9cb3BlbnNzbGNvbmYuaCIsIHIiY3J5cHRvXG9wZW5zc2xjb25mXyVzLmgiICUgYXJjaCkKLQotICAgICAgICAjIElmIHRoZSBhc3NlbWJsZXIgZmlsZXMgZG9uJ3QgZXhpc3QgaW4gdG1wWFgsIGNvcHkgdGhlbSB0aGVyZQotICAgICAgICBpZiBwZXJsIGlzIE5vbmUgYW5kIG9zLnBhdGguZXhpc3RzKCJhc20iK2RpcnN1ZmZpeCk6Ci0gICAgICAgICAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMoInRtcCIrZGlyc3VmZml4KToKLSAgICAgICAgICAgICAgICBvcy5ta2RpcigidG1wIitkaXJzdWZmaXgpCi0gICAgICAgICAgICBmb3IgZiBpbiBvcy5saXN0ZGlyKCJhc20iK2RpcnN1ZmZpeCk6Ci0gICAgICAgICAgICAgICAgaWYgbm90IGYuZW5kc3dpdGgoIi5hc20iKTogY29udGludWUKLSAgICAgICAgICAgICAgICBpZiBvcy5wYXRoLmlzZmlsZShyInRtcCVzXCVzIiAlIChkaXJzdWZmaXgsIGYpKTogY29udGludWUKLSAgICAgICAgICAgICAgICBzaHV0aWwuY29weShyImFzbSVzXCVzIiAlIChkaXJzdWZmaXgsIGYpLCAidG1wIitkaXJzdWZmaXgpCi0KLSAgICAgICAgIyBOb3cgcnVuIG1ha2UuCi0gICAgICAgIGlmIGFyY2ggPT0gImFtZDY0IjoKLSAgICAgICAgICAgIHJjID0gb3Muc3lzdGVtKCJuYXNtIC1mIHdpbjY0IC1ETkVBUiAtT3ggLWcgbXNcXHVwdGFibGUuYXNtIikKLSAgICAgICAgICAgIGlmIHJjOgotICAgICAgICAgICAgICAgIHByaW50KCJuYXNtIGFzc2VtYmxlciBoYXMgZmFpbGVkLiIpCi0gICAgICAgICAgICAgICAgc3lzLmV4aXQocmMpCi0KLSAgICAgICAgY29weShyImNyeXB0b1xidWlsZGluZl8lcy5oIiAlIGFyY2gsIHIiY3J5cHRvXGJ1aWxkaW5mLmgiKQotICAgICAgICBjb3B5KHIiY3J5cHRvXG9wZW5zc2xjb25mXyVzLmgiICUgYXJjaCwgciJjcnlwdG9cb3BlbnNzbGNvbmYuaCIpCi0KLSAgICAgICAgI21ha2VDb21tYW5kID0gIm5tYWtlIC9ub2xvZ28gUEVSTD1cIiVzXCIgLWYgXCIlc1wiIiAlKHBlcmwsIG1ha2VmaWxlKQotICAgICAgICBtYWtlQ29tbWFuZCA9ICJubWFrZSAvbm9sb2dvIC1mIFwiJXNcIiIgJSBtYWtlZmlsZQotICAgICAgICBwcmludCgiRXhlY3V0aW5nIHNzbCBtYWtlZmlsZXM6IiwgbWFrZUNvbW1hbmQpCi0gICAgICAgIHN5cy5zdGRvdXQuZmx1c2goKQotICAgICAgICByYyA9IG9zLnN5c3RlbShtYWtlQ29tbWFuZCkKLSAgICAgICAgaWYgcmM6Ci0gICAgICAgICAgICBwcmludCgiRXhlY3V0aW5nICIrbWFrZWZpbGUrIiBmYWlsZWQiKQotICAgICAgICAgICAgcHJpbnQocmMpCi0gICAgICAgICAgICBzeXMuZXhpdChyYykKLSAgICBmaW5hbGx5OgotICAgICAgICBvcy5jaGRpcihvbGRfY2QpCi0gICAgc3lzLmV4aXQocmMpCi0KLWlmIF9fbmFtZV9fPT0nX19tYWluX18nOgotICAgIG1haW4oKQpkaWZmIC0tZ2l0IGEvUENidWlsZC9idWlsZF90a2ludGVyLnB5IGIvUENidWlsZC9idWlsZF90a2ludGVyLnB5CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjODA3ZTdiLi4wMDAwMDAwCi0tLSBhL1BDYnVpbGQvYnVpbGRfdGtpbnRlci5weQorKysgL2Rldi9udWxsCkBAIC0xLDc4ICswLDAgQEAKLSIiIlNjcmlwdCB0byBjb21waWxlIHRoZSBkZXBlbmRlbmNpZXMgb2YgX3RraW50ZXIKLQotQ29weXJpZ2h0IChjKSAyMDA3IGJ5IENocmlzdGlhbiBIZWltZXMgPGNocmlzdGlhbkBjaGVpbWVzLmRlPgotCi1MaWNlbnNlZCB0byBQU0YgdW5kZXIgYSBDb250cmlidXRvciBBZ3JlZW1lbnQuCi0iIiIKLQotaW1wb3J0IG9zCi1pbXBvcnQgc3lzCi0KLWhlcmUgPSBvcy5wYXRoLmFic3BhdGgob3MucGF0aC5kaXJuYW1lKF9fZmlsZV9fKSkKLXBhciA9IG9zLnBhdGgucGFyZGlyCi0KLVRDTCA9ICJ0Y2w4LjYuMSIKLVRLID0gInRrOC42LjEiCi1USVggPSAidGl4LTguNC4zLjMiCi0KLVJPT1QgPSBvcy5wYXRoLmFic3BhdGgob3MucGF0aC5qb2luKGhlcmUsIHBhciwgcGFyKSkKLU5NQUtFID0gKCdubWFrZSAvbm9sb2dvIC9mICVzICVzICVzJykKLQotZGVmIG5tYWtlKG1ha2VmaWxlLCBjb21tYW5kPSIiLCAqKmt3KToKLSAgICBkZWZpbmVzID0gJyAnLmpvaW4oaysnPScrc3RyKHYpIGZvciBrLCB2IGluIGt3Lml0ZW1zKCkpCi0gICAgY21kID0gTk1BS0UgJSAobWFrZWZpbGUsIGRlZmluZXMsIGNvbW1hbmQpCi0gICAgcHJpbnQoIlxuXG4iK2NtZCsiXG4iKQotICAgIGlmIG9zLnN5c3RlbShjbWQpICE9IDA6Ci0gICAgICAgIHJhaXNlIFJ1bnRpbWVFcnJvcihjbWQpCi0KLWRlZiBidWlsZChwbGF0Zm9ybSwgY2xlYW4pOgotICAgIGlmIHBsYXRmb3JtID09ICJXaW4zMiI6Ci0gICAgICAgIGRlc3QgPSBvcy5wYXRoLmpvaW4oUk9PVCwgInRjbHRrIikKLSAgICAgICAgbWFjaGluZSA9ICJJWDg2IgotICAgIGVsaWYgcGxhdGZvcm0gPT0gIkFNRDY0IjoKLSAgICAgICAgZGVzdCA9IG9zLnBhdGguam9pbihST09ULCAidGNsdGs2NCIpCi0gICAgICAgIG1hY2hpbmUgPSAiQU1ENjQiCi0gICAgZWxzZToKLSAgICAgICAgcmFpc2UgVmFsdWVFcnJvcihwbGF0Zm9ybSkKLQotICAgICMgVENMCi0gICAgdGNsZGlyID0gb3MucGF0aC5qb2luKFJPT1QsIFRDTCkKLSAgICBpZiAxOgotICAgICAgICBvcy5jaGRpcihvcy5wYXRoLmpvaW4odGNsZGlyLCAid2luIikpCi0gICAgICAgIGlmIGNsZWFuOgotICAgICAgICAgICAgbm1ha2UoIm1ha2VmaWxlLnZjIiwgImNsZWFuIikKLSAgICAgICAgbm1ha2UoIm1ha2VmaWxlLnZjIiwgTUFDSElORT1tYWNoaW5lKQotICAgICAgICBubWFrZSgibWFrZWZpbGUudmMiLCAiaW5zdGFsbCIsIElOU1RBTExESVI9ZGVzdCwgTUFDSElORT1tYWNoaW5lKQotCi0gICAgIyBUSwotICAgIGlmIDE6Ci0gICAgICAgIG9zLmNoZGlyKG9zLnBhdGguam9pbihST09ULCBUSywgIndpbiIpKQotICAgICAgICBpZiBjbGVhbjoKLSAgICAgICAgICAgIG5tYWtlKCJtYWtlZmlsZS52YyIsICJjbGVhbiIsIERFQlVHPTAsIFRDTERJUj10Y2xkaXIpCi0gICAgICAgIG5tYWtlKCJtYWtlZmlsZS52YyIsIERFQlVHPTAsIE1BQ0hJTkU9bWFjaGluZSwgVENMRElSPXRjbGRpcikKLSAgICAgICAgbm1ha2UoIm1ha2VmaWxlLnZjIiwgImluc3RhbGwiLCBERUJVRz0wLCBJTlNUQUxMRElSPWRlc3QsIE1BQ0hJTkU9bWFjaGluZSwgVENMRElSPXRjbGRpcikKLQotICAgICMgVElYCi0gICAgaWYgMToKLSAgICAgICAgIyBweXRob245Lm1hayBpcyBhdmFpbGFibGUgYXQgaHR0cDovL3N2bi5weXRob24ub3JnCi0gICAgICAgIG9zLmNoZGlyKG9zLnBhdGguam9pbihST09ULCBUSVgsICJ3aW4iKSkKLSAgICAgICAgaWYgY2xlYW46Ci0gICAgICAgICAgICBubWFrZSgicHl0aG9uLm1hayIsICJjbGVhbiIpCi0gICAgICAgIG5tYWtlKCJweXRob24ubWFrIiwgTUFDSElORT1tYWNoaW5lLCBJTlNUQUxMX0RJUj1kZXN0KQotICAgICAgICBubWFrZSgicHl0aG9uLm1hayIsICJpbnN0YWxsIiwgTUFDSElORT1tYWNoaW5lLCBJTlNUQUxMX0RJUj1kZXN0KQotCi1kZWYgbWFpbigpOgotICAgIGlmIGxlbihzeXMuYXJndikgPCAyIG9yIHN5cy5hcmd2WzFdIG5vdCBpbiAoIldpbjMyIiwgIkFNRDY0Iik6Ci0gICAgICAgIHByaW50KCIlcyBXaW4zMnxBTUQ2NCIgJSBzeXMuYXJndlswXSkKLSAgICAgICAgc3lzLmV4aXQoMSkKLQotICAgIGlmICItYyIgaW4gc3lzLmFyZ3Y6Ci0gICAgICAgIGNsZWFuID0gVHJ1ZQotICAgIGVsc2U6Ci0gICAgICAgIGNsZWFuID0gRmFsc2UKLQotICAgIGJ1aWxkKHN5cy5hcmd2WzFdLCBjbGVhbikKLQotCi1pZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgotICAgIG1haW4oKQpkaWZmIC0tZ2l0IGEvUENidWlsZC9jbGVhbi5iYXQgYi9QQ2J1aWxkL2NsZWFuLmJhdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MTQ0YzcxCi0tLSAvZGV2L251bGwKKysrIGIvUENidWlsZC9jbGVhbi5iYXQKQEAgLTAsMCArMSw1IEBACitAZWNobyBvZmYKK3JlbSBBIGJhdGNoIHByb2dyYW0gdG8gY2xlYW4gYSBwYXJ0aWN1bGFyIGNvbmZpZ3VyYXRpb24sCityZW0ganVzdCBmb3IgY29udmVuaWVuY2UuCisKK2NhbGwgJX5kcDBidWlsZC5iYXQgLXQgQ2xlYW4gJSoKZGlmZiAtLWdpdCBhL1BDYnVpbGQvZGVidWcucHJvcHMgYi9QQ2J1aWxkL2RlYnVnLnByb3BzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5YjdhNjVhLi4wMDAwMDAwCi0tLSBhL1BDYnVpbGQvZGVidWcucHJvcHMKKysrIC9kZXYvbnVsbApAQCAtMSwyNyArMCwwIEBACi3vu788P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgotPFByb2plY3QgRGVmYXVsdFRhcmdldHM9IkJ1aWxkIiBUb29sc1ZlcnNpb249IjQuMCIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+Ci0gIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJVc2VyTWFjcm9zIj4KLSAgICA8UHlEZWJ1Z0V4dD5fZDwvUHlEZWJ1Z0V4dD4KLSAgICA8S2lsbFB5dGhvbkV4ZT4kKE91dERpcilraWxsX3B5dGhvbl9kLmV4ZTwvS2lsbFB5dGhvbkV4ZT4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cD4KLSAgICA8X1Byb2plY3RGaWxlVmVyc2lvbj4xMC4wLjMwMzE5LjE8L19Qcm9qZWN0RmlsZVZlcnNpb24+Ci0gICAgPFRhcmdldE5hbWU+JChQcm9qZWN0TmFtZSlfZDwvVGFyZ2V0TmFtZT4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cD4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPl9ERUJVRzslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPFJlc291cmNlQ29tcGlsZT4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5fREVCVUc8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgIDwvUmVzb3VyY2VDb21waWxlPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtR3JvdXA+Ci0gICAgPEJ1aWxkTWFjcm8gSW5jbHVkZT0iUHlEZWJ1Z0V4dCI+Ci0gICAgICA8VmFsdWU+JChQeURlYnVnRXh0KTwvVmFsdWU+Ci0gICAgPC9CdWlsZE1hY3JvPgotICAgIDxCdWlsZE1hY3JvIEluY2x1ZGU9IktpbGxQeXRob25FeGUiPgotICAgICAgPFZhbHVlPiQoS2lsbFB5dGhvbkV4ZSk8L1ZhbHVlPgotICAgIDwvQnVpbGRNYWNybz4KLSAgPC9JdGVtR3JvdXA+Ci08L1Byb2plY3Q+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvUENidWlsZC9lbnYuYmF0IGIvUENidWlsZC9lbnYuYmF0CmluZGV4IDA4ZGM4ZWYuLjlkNGM5ZDEgMTAwNjQ0Ci0tLSBhL1BDYnVpbGQvZW52LmJhdAorKysgYi9QQ2J1aWxkL2Vudi5iYXQKQEAgLTEsOSArMSwxNiBAQAogQGVjaG8gb2ZmCi1zZXQgVlMxMD0lUHJvZ3JhbUZpbGVzKHg4NiklXE1pY3Jvc29mdCBWaXN1YWwgU3R1ZGlvIDEwLjAKLUlGIEVYSVNUICIlVlMxMCUiIEdPVE8gb2sKLXNldCBWUzEwPSVQcm9ncmFtRmlsZXMlXE1pY3Jvc29mdCBWaXN1YWwgU3R1ZGlvIDEwLjAKLTpvaworcmVtIFRoaXMgc2NyaXB0IGFkZHMgdGhlIGxhdGVzdCBhdmFpbGFibGUgdG9vbHMgdG8gdGhlIHBhdGggZm9yIHRoZSBjdXJyZW50CityZW0gY29tbWFuZCB3aW5kb3cuIEhvd2V2ZXIsIG1vc3QgYnVpbGRzIG9mIFB5dGhvbiB3aWxsIGlnbm9yZSB0aGUgdmVyc2lvbgorcmVtIG9mIHRoZSB0b29scyBvbiBQQVRIIGFuZCB1c2UgUGxhdGZvcm1Ub29sc2V0IGluc3RlYWQuIElkZWFsbHksIGJvdGggc2V0cyBvZgorcmVtIHRvb2xzIHNob3VsZCBiZSB0aGUgc2FtZSB2ZXJzaW9uIHRvIGF2b2lkIHBvdGVudGlhbCBjb25mbGljdHMuCityZW0KK3JlbSBUbyBidWlsZCBQeXRob24gd2l0aCBhbiBlYXJsaWVyIHRvb2xzZXQsIHBhc3MgIi9wOlBsYXRmb3JtVG9vbHNldD12MTAwIiAob3IKK3JlbSAndjExMCcsICd2MTIwJyBvciAndjE0MCcpIHRvIHRoZSBidWlsZCBzY3JpcHQuCiAKLWVjaG8gQnVpbGQgZW52aXJvbm1lbnRzOiB4ODYsIGlhNjQsIGFtZDY0LCB4ODZfYW1kNjQsIHg4Nl9pYTY0CitlY2hvIEJ1aWxkIGVudmlyb25tZW50czogeDg2LCBhbWQ2NCwgeDg2X2FtZDY0CiBlY2hvLgotY2FsbCAiJVZTMTAlXFZDXHZjdmFyc2FsbC5iYXQiICUxCitzZXQgVlNUT09MUz0lVlMxNDBDT01OVE9PTFMlCitpZiAiJVZTVE9PTFMlIj09IiIgc2V0IFZTVE9PTFM9JVZTMTIwQ09NTlRPT0xTJQoraWYgIiVWU1RPT0xTJSI9PSIiIHNldCBWU1RPT0xTPSVWUzExMENPTU5UT09MUyUKK2lmICIlVlNUT09MUyUiPT0iIiBzZXQgVlNUT09MUz0lVlMxMDBDT01OVE9PTFMlCitjYWxsICIlVlNUT09MUyUuLlwuLlxWQ1x2Y3ZhcnNhbGwuYmF0IiAlKgpkaWZmIC0tZ2l0IGEvUENidWlsZC9nZXRfZXh0ZXJuYWxzLmJhdCBiL1BDYnVpbGQvZ2V0X2V4dGVybmFscy5iYXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTk5ODdiZQotLS0gL2Rldi9udWxsCisrKyBiL1BDYnVpbGQvZ2V0X2V4dGVybmFscy5iYXQKQEAgLTAsMCArMSwxMDMgQEAKK0BlY2hvIG9mZgorc2V0bG9jYWwKK3JlbSBTaW1wbGUgc2NyaXB0IHRvIGZldGNoIHNvdXJjZSBmb3IgZXh0ZXJuYWwgbGlicmFyaWVzCisKK2lmIG5vdCBleGlzdCAiJX5kcDAuLlxleHRlcm5hbHMiIG1rZGlyICIlfmRwMC4uXGV4dGVybmFscyIKK3B1c2hkICIlfmRwMC4uXGV4dGVybmFscyIKKworaWYgIiVTVk5ST09UJSI9PSIiIHNldCBTVk5ST09UPWh0dHA6Ly9zdm4ucHl0aG9uLm9yZy9wcm9qZWN0cy9leHRlcm5hbC8KKworcmVtIE9wdGlvbmFsbHkgY2xlYW4gdXAgZmlyc3QuICBCZSB3YXJuZWQgdGhhdCB0aGlzIGNhbiBiZSB2ZXJ5IGRlc3RydWN0aXZlIQoraWYgbm90ICIlMSI9PSIiICgKKyAgICBmb3IgJSVjIGluICgtYyAtLWNsZWFuIC0tY2xlYW4tb25seSkgZG8gKAorICAgICAgICBpZiAiJTEiPT0iJSVjIiBnb3RvIGNsZWFuCisgICAgKQorICAgIGdvdG8gdXNhZ2UKKykKK2dvdG8gZmV0Y2gKKworOmNsZWFuCitlY2hvLkNsZWFuaW5nIHVwIGV4dGVybmFsIGxpYnJhcmllcy4KK2ZvciAvRCAlJWQgaW4gKAorICAgICAgICAgICAgICAgYnppcDItKgorICAgICAgICAgICAgICAgZGItKgorICAgICAgICAgICAgICAgbmFzbS0qCisgICAgICAgICAgICAgICBvcGVuc3NsLSoKKyAgICAgICAgICAgICAgIHRjbC0qCisgICAgICAgICAgICAgICB0Y2x0ayoKKyAgICAgICAgICAgICAgIHRrLSoKKyAgICAgICAgICAgICAgIHRpeC0qCisgICAgICAgICAgICAgICBzcWxpdGUtKgorICAgICAgICAgICAgICAgeHotKgorICAgICAgICAgICAgICAgKSBkbyAoCisgICAgZWNoby5SZW1vdmluZyAlJWQKKyAgICBybWRpciAvcyAvcSAlJWQKKykKK2lmICIlMSI9PSItLWNsZWFuLW9ubHkiICgKKyAgICBnb3RvIGVuZAorKQorCis6ZmV0Y2gKK3JlbSBGZXRjaCBjdXJyZW50IHZlcnNpb25zCisKK3N2biAtLXZlcnNpb24gPiBudWwgMj4mMQoraWYgRVJST1JMRVZFTCA5MDA5ICgKKyAgICBlY2hvLnN2bi5leGUgbXVzdCBiZSBvbiB5b3VyIFBBVEguCisgICAgZWNoby5UcnkgVG9ydG9pc2VTVk4gKGh0dHA6Ly90b3J0b2lzZXN2bi5uZXQvXikgYW5kIGJlIHN1cmUgdG8gY2hlY2sgdGhlCisgICAgZWNoby5jb21tYW5kIGxpbmUgdG9vbHMgb3B0aW9uLgorICAgIHBvcGQKKyAgICBleGl0IC9iIDEKKykKKworZWNoby5GZXRjaGluZyBleHRlcm5hbCBsaWJyYXJpZXMuLi4KKworZm9yICUlZSBpbiAoCisgICAgICAgICAgICBiemlwMi0xLjAuNgorICAgICAgICAgICAgbmFzbS0yLjExLjA2CisgICAgICAgICAgICBvcGVuc3NsLTEuMC4xbAorICAgICAgICAgICAgdGNsLWNvcmUtOC42LjMuMQorICAgICAgICAgICAgdGstOC42LjMuMQorICAgICAgICAgICAgdGl4LTguNC4zLjQKKyAgICAgICAgICAgIHNxbGl0ZS0zLjguMy4xCisgICAgICAgICAgICB4ei01LjAuNQorICAgICAgICAgICAgKSBkbyAoCisgICAgaWYgZXhpc3QgJSVlICgKKyAgICAgICAgZWNoby4lJWUgYWxyZWFkeSBleGlzdHMsIHNraXBwaW5nLgorICAgICkgZWxzZSAoCisgICAgICAgIGVjaG8uRmV0Y2hpbmcgJSVlLi4uCisgICAgICAgIHN2biBleHBvcnQgJVNWTlJPT1QlJSVlCisgICAgKQorKQorCitnb3RvIGVuZAorCis6dXNhZ2UKK2VjaG8uaW52YWxpZCBhcmd1bWVudDogJTEKK2VjaG8udXNhZ2U6ICV+bjAgW1sgLWMgXnwgLS1jbGVhbiBdIF58IC0tY2xlYW4tb25seSBdCitlY2hvLgorZWNoby5QdWxsIGFsbCBzb3VyY2VzIG5lY2Vzc2FyeSBmb3IgY29tcGlsaW5nIG9wdGlvbmFsIGV4dGVuc2lvbiBtb2R1bGVzCitlY2hvLnRoYXQgcmVseSBvbiBleHRlcm5hbCBsaWJyYXJpZXMuICBSZXF1aXJlcyBzdm4uZXhlIHRvIGJlIG9uIHlvdXIgUEFUSAorZWNoby5hbmQgcHVsbHMgc291cmNlcyBmcm9tICVTVk5ST09UJS4KK2VjaG8uCitlY2hvLlVzZSB0aGUgLWMgb3IgLS1jbGVhbiBvcHRpb24gdG8gY2xlYW4gdXAgYWxsIGV4dGVybmFsIGxpYnJhcnkgc291cmNlcworZWNoby5iZWZvcmUgcHVsbGluZyBpbiB0aGUgY3VycmVudCB2ZXJzaW9ucy4KK2VjaG8uCitlY2hvLlVzZSB0aGUgLS1jbGVhbi1vbmx5IG9wdGlvbiB0byBkbyB0aGUgc2FtZSBjbGVhbmluZywgd2l0aG91dCBwdWxsaW5nIGluCitlY2hvLmFueXRoaW5nIG5ldy4KK2VjaG8uCitlY2hvLk9ubHkgdGhlIGZpcnN0IGFyZ3VtZW50IGlzIGNoZWNrZWQsIGFsbCBvdGhlcnMgYXJlIGlnbm9yZWQuCitlY2hvLgorZWNoby4qKldBUk5JTkcqKjogdGhlIGNsZWFuaW5nIG9wdGlvbnMgdW5jb25kaXRpb25hbGx5IHJlbW92ZSBhbnkgZGlyZWN0b3J5CitlY2hvLnRoYXQgaXMgYSBjaGlsZCBvZgorZWNoby4gICAlQ0QlCitlY2hvLmFuZCBtYXRjaGVzIHdpbGRjYXJkIHBhdHRlcm5zIGJlZ2lubmluZyB3aXRoIGJ6aXAyLSwgZGItLCBuYXNtLSwgb3BlbnNzbC0sCitlY2hvLnRjbC0sIHRjbHRrLCB0ay0sIHRpeC0sIHNxbGl0ZS0sIG9yIHh6LSwgYW5kIGFzIHN1Y2ggaGFzIHRoZSBwb3RlbnRpYWwKK2VjaG8udG8gYmUgdmVyeSBkZXN0cnVjdGl2ZSBpZiB5b3UgYXJlIG5vdCBhd2FyZSBvZiB3aGF0IGl0IGlzIGRvaW5nLiAgVXNlIHdpdGgKK2VjaG8uY2F1dGlvbiEKK3BvcGQKK2V4aXQgL2IgLTEKKworCis6ZW5kCitlY2hvIEZpbmlzaGVkLgorcG9wZApkaWZmIC0tZ2l0IGEvUENidWlsZC9pZGxlLmJhdCBiL1BDYnVpbGQvaWRsZS5iYXQKaW5kZXggZGNiMDQ4NS4uMTk3OGI5OSAxMDA2NDQKLS0tIGEvUENidWlsZC9pZGxlLmJhdAorKysgYi9QQ2J1aWxkL2lkbGUuYmF0CkBAIC00LDEwICs0LDEwIEBACiByZW0gLWQgICBSdW4gRGVidWcgYnVpbGQgKHB5dGhvbl9kLmV4ZSkuICBFbHNlIHJlbGVhc2UgYnVpbGQuCiAKIHNldGxvY2FsCi1zZXQgZXhlPXB5dGhvbgotUEFUSCAlUEFUSCU7Li5cLi5cdGNsdGtcYmluCitzZXQgZXhlPXdpbjMyXHB5dGhvbgorUEFUSCAlUEFUSCU7Li5cZXh0ZXJuYWxzXHRjbHRrXGJpbgogCi1pZiAiJTEiPT0iLWQiIChzZXQgZXhlPXB5dGhvbl9kKSAmIHNoaWZ0CitpZiAiJTEiPT0iLWQiIChzZXQgZXhlPSVleGUlX2QpICYgc2hpZnQKIAogc2V0IGNtZD0lZXhlJSAuLi9MaWIvaWRsZWxpYi9pZGxlLnB5ICUxICUyICUzICU0ICU1ICU2ICU3ICU4ICU5CiAKZGlmZiAtLWdpdCBhL1BDYnVpbGQvaW5zdGFsbGVyLmJtcCBiL1BDYnVpbGQvaW5zdGFsbGVyLmJtcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTg3NWUxOS4uMDAwMDAwMAotLS0gYS9QQ2J1aWxkL2luc3RhbGxlci5ibXAKKysrIC9kZXYvbnVsbApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9QQ2J1aWxkL2tpbGxfcHl0aG9uLmMgYi9QQ2J1aWxkL2tpbGxfcHl0aG9uLmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDYwNDczMWYuLjAwMDAwMDAKLS0tIGEvUENidWlsZC9raWxsX3B5dGhvbi5jCisrKyAvZGV2L251bGwKQEAgLTEsMTc4ICswLDAgQEAKLS8qCi0gKiBIZWxwZXIgcHJvZ3JhbSBmb3Iga2lsbGluZyBsaW5nZXJpbmcgcHl0aG9uW19kXS5leGUgcHJvY2Vzc2VzIGJlZm9yZQotICogYnVpbGRpbmcsIHRodXMgYXR0ZW1wdGluZyB0byBhdm9pZCBidWlsZCBmYWlsdXJlcyBkdWUgdG8gZmlsZXMgYmVpbmcKLSAqIGxvY2tlZC4KLSAqLwotCi0jaW5jbHVkZSA8d2luZG93cy5oPgotI2luY2x1ZGUgPHdjaGFyLmg+Ci0jaW5jbHVkZSA8dGxoZWxwMzIuaD4KLSNpbmNsdWRlIDxzdGRpby5oPgotCi0jcHJhZ21hIGNvbW1lbnQobGliLCAicHNhcGkiKQotCi0jaWZkZWYgX0RFQlVHCi0jZGVmaW5lIFBZVEhPTl9FWEUgICAgICAgICAgKEwicHl0aG9uX2QuZXhlIikKLSNkZWZpbmUgUFlUSE9OX0VYRV9MRU4gICAgICAoMTIpCi0jZGVmaW5lIEtJTExfUFlUSE9OX0VYRSAgICAgKEwia2lsbF9weXRob25fZC5leGUiKQotI2RlZmluZSBLSUxMX1BZVEhPTl9FWEVfTEVOICgxNykKLSNlbHNlCi0jZGVmaW5lIFBZVEhPTl9FWEUgICAgICAgICAgKEwicHl0aG9uLmV4ZSIpCi0jZGVmaW5lIFBZVEhPTl9FWEVfTEVOICAgICAgKDEwKQotI2RlZmluZSBLSUxMX1BZVEhPTl9FWEUgICAgIChMImtpbGxfcHl0aG9uLmV4ZSIpCi0jZGVmaW5lIEtJTExfUFlUSE9OX0VYRV9MRU4gKDE1KQotI2VuZGlmCi0KLWludAotbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCi17Ci0gICAgSEFORExFICAgaHAsIGhzcCwgaHNtOyAvKiBwcm9jZXNzLCBzbmFwc2hvdCBwcm9jZXNzZXMsIHNuYXBzaG90IG1vZHVsZXMgKi8KLSAgICBEV09SRCAgICBkYWMsIG91cl9waWQ7Ci0gICAgc2l6ZV90ICAgbGVuOwotICAgIHdjaGFyX3QgIHBhdGhbTUFYX1BBVEgrMV07Ci0KLSAgICBNT0RVTEVFTlRSWTMyVyAgbWU7Ci0gICAgUFJPQ0VTU0VOVFJZMzJXIHBlOwotCi0gICAgbWUuZHdTaXplID0gc2l6ZW9mKE1PRFVMRUVOVFJZMzJXKTsKLSAgICBwZS5kd1NpemUgPSBzaXplb2YoUFJPQ0VTU0VOVFJZMzJXKTsKLQotICAgIG1lbXNldChwYXRoLCAwLCBNQVhfUEFUSCsxKTsKLQotICAgIG91cl9waWQgPSBHZXRDdXJyZW50UHJvY2Vzc0lkKCk7Ci0KLSAgICBoc20gPSBDcmVhdGVUb29saGVscDMyU25hcHNob3QoVEgzMkNTX1NOQVBNT0RVTEUsIG91cl9waWQpOwotICAgIGlmIChoc20gPT0gSU5WQUxJRF9IQU5ETEVfVkFMVUUpIHsKLSAgICAgICAgcHJpbnRmKCJDcmVhdGVUb29saGVscDMyU25hcHNob3RbMV0gZmFpbGVkOiAlZFxuIiwgR2V0TGFzdEVycm9yKCkpOwotICAgICAgICByZXR1cm4gMTsKLSAgICB9Ci0KLSAgICBpZiAoIU1vZHVsZTMyRmlyc3RXKGhzbSwgJm1lKSkgewotICAgICAgICBwcmludGYoIk1vZHVsZTMyRmlyc3RXWzFdIGZhaWxlZDogJWRcbiIsIEdldExhc3RFcnJvcigpKTsKLSAgICAgICAgQ2xvc2VIYW5kbGUoaHNtKTsKLSAgICAgICAgcmV0dXJuIDE7Ci0gICAgfQotCi0gICAgLyoKLSAgICAgKiBFbnVtZXJhdGUgb3ZlciB0aGUgbW9kdWxlcyBmb3IgdGhlIGN1cnJlbnQgcHJvY2VzcyBpbiBvcmRlciB0byBmaW5kCi0gICAgICoga2lsbF9wcm9jZXNzW19kXS5leGUsIHRoZW4gdGFrZSBhIG5vdGUgb2YgdGhlIGRpcmVjdG9yeSBpdCBsaXZlcyBpbi4KLSAgICAgKi8KLSAgICBkbyB7Ci0gICAgICAgIGlmIChfd2NzbmljbXAobWUuc3pNb2R1bGUsIEtJTExfUFlUSE9OX0VYRSwgS0lMTF9QWVRIT05fRVhFX0xFTikpCi0gICAgICAgICAgICBjb250aW51ZTsKLQotICAgICAgICBsZW4gPSB3Y3NubGVuX3MobWUuc3pFeGVQYXRoLCBNQVhfUEFUSCkgLSBLSUxMX1BZVEhPTl9FWEVfTEVOOwotICAgICAgICB3Y3NuY3B5X3MocGF0aCwgTUFYX1BBVEgrMSwgbWUuc3pFeGVQYXRoLCBsZW4pOyAKLQotICAgICAgICBicmVhazsKLQotICAgIH0gd2hpbGUgKE1vZHVsZTMyTmV4dFcoaHNtLCAmbWUpKTsKLQotICAgIENsb3NlSGFuZGxlKGhzbSk7Ci0KLSAgICBpZiAocGF0aCA9PSBOVUxMKSB7Ci0gICAgICAgIHByaW50ZigiZmFpbGVkIHRvIGRpc2Nlcm4gZGlyZWN0b3J5IG9mIHJ1bm5pbmcgcHJvY2Vzc1xuIik7Ci0gICAgICAgIHJldHVybiAxOwotICAgIH0KLQotICAgIC8qCi0gICAgICogVGFrZSBhIHNuYXBzaG90IG9mIHN5c3RlbSBwcm9jZXNzZXMuICBFbnVtZXJhdGUgb3ZlciB0aGUgc25hcHNob3QsCi0gICAgICogbG9va2luZyBmb3IgcHl0aG9uIHByb2Nlc3Nlcy4gIFdoZW4gd2UgZmluZCBvbmUsIHZlcmlmeSBpdCBsaXZlcwotICAgICAqIGluIHRoZSBzYW1lIGRpcmVjdG9yeSB3ZSBsaXZlIGluLiAgSWYgaXQgZG9lcywga2lsbCBpdC4gIElmIHdlJ3JlCi0gICAgICogdW5hYmxlIHRvIGtpbGwgaXQsIHRyZWF0IHRoaXMgYXMgYSBmYXRhbCBlcnJvciBhbmQgcmV0dXJuIDEuCi0gICAgICogCi0gICAgICogVGhlIHJhdGlvbmFsZSBiZWhpbmQgdGhpcyBpcyB0aGF0IHdlJ3JlIGNhbGxlZCBhdCB0aGUgc3RhcnQgb2YgdGhlIAotICAgICAqIGJ1aWxkIHByb2Nlc3Mgb24gdGhlIGJhc2lzIHRoYXQgd2UnbGwgdGFrZSBjYXJlIG9mIGtpbGxpbmcgYW55Ci0gICAgICogcnVubmluZyBpbnN0YW5jZXMsIHN1Y2ggdGhhdCB0aGUgYnVpbGQgd29uJ3QgZW5jb3VudGVyIHBlcm1pc3Npb24KLSAgICAgKiBkZW5pZWQgZXJyb3JzIGR1cmluZyBsaW5raW5nLiBJZiB3ZSBjYW4ndCBraWxsIG9uZSBvZiB0aGUgcHJvY2Vzc2VzLAotICAgICAqIHdlIGNhbid0IHByb3ZpZGUgdGhpcyBhc3N1cmFuY2UsIGFuZCB0aGUgYnVpbGQgc2hvdWxkbid0IHN0YXJ0LgotICAgICAqLwotCi0gICAgaHNwID0gQ3JlYXRlVG9vbGhlbHAzMlNuYXBzaG90KFRIMzJDU19TTkFQUFJPQ0VTUywgMCk7Ci0gICAgaWYgKGhzcCA9PSBJTlZBTElEX0hBTkRMRV9WQUxVRSkgewotICAgICAgICBwcmludGYoIkNyZWF0ZVRvb2xoZWxwMzJTbmFwc2hvdFsyXSBmYWlsZWQ6ICVkXG4iLCBHZXRMYXN0RXJyb3IoKSk7Ci0gICAgICAgIHJldHVybiAxOwotICAgIH0KLQotICAgIGlmICghUHJvY2VzczMyRmlyc3RXKGhzcCwgJnBlKSkgewotICAgICAgICBwcmludGYoIlByb2Nlc3MzMkZpcnN0VyBmYWlsZWQ6ICVkXG4iLCBHZXRMYXN0RXJyb3IoKSk7Ci0gICAgICAgIENsb3NlSGFuZGxlKGhzcCk7Ci0gICAgICAgIHJldHVybiAxOwotICAgIH0KLQotICAgIGRhYyA9IFBST0NFU1NfUVVFUllfSU5GT1JNQVRJT04gfCBQUk9DRVNTX1ZNX1JFQUQgfCBQUk9DRVNTX1RFUk1JTkFURTsKLSAgICBkbyB7Ci0KLSAgICAgICAgLyoKLSAgICAgICAgICogWFhYIFRPRE86IGlmIHdlIHJlYWxseSB3YW50ZWQgdG8gYmUgZmFuY3ksIHdlIGNvdWxkIGNoZWNrIHRoZSAKLSAgICAgICAgICogbW9kdWxlcyBmb3IgYWxsIHByb2Nlc3NlcyAobm90IGp1c3QgdGhlIHB5dGhvbltfZF0uZXhlIG9uZXMpCi0gICAgICAgICAqIGFuZCBzZWUgaWYgYW55IG9mIG91ciBETExzIGFyZSBsb2FkZWQgKGkuZS4gcHl0aG9uMzRbX2RdLmRsbCksCi0gICAgICAgICAqIGFzIHRoYXQgd291bGQgYWxzbyBpbmhpYml0IG91ciBhYmlsaXR5IHRvIHJlYnVpbGQgdGhlIHNvbHV0aW9uLgotICAgICAgICAgKiBOb3Qgd29ydGggbG9vc2luZyBzbGVlcCBvdmVyIHRob3VnaDsgZm9yIG5vdywgYSBzaW1wbGUgY2hlY2sgCi0gICAgICAgICAqIGZvciBqdXN0IHRoZSBweXRob24gZXhlY3V0YWJsZSBzaG91bGQgYmUgc3VmZmljaWVudC4KLSAgICAgICAgICovCi0KLSAgICAgICAgaWYgKF93Y3NuaWNtcChwZS5zekV4ZUZpbGUsIFBZVEhPTl9FWEUsIFBZVEhPTl9FWEVfTEVOKSkKLSAgICAgICAgICAgIC8qIFRoaXMgaXNuJ3QgYSBweXRob24gcHJvY2Vzcy4gKi8KLSAgICAgICAgICAgIGNvbnRpbnVlOwotCi0gICAgICAgIC8qIEl0J3MgYSBweXRob24gcHJvY2Vzcywgc28gZmlndXJlIG91dCB3aGljaCBkaXJlY3RvcnkgaXQncyBpbi4uLiAqLwotICAgICAgICBoc20gPSBDcmVhdGVUb29saGVscDMyU25hcHNob3QoVEgzMkNTX1NOQVBNT0RVTEUsIHBlLnRoMzJQcm9jZXNzSUQpOwotICAgICAgICBpZiAoaHNtID09IElOVkFMSURfSEFORExFX1ZBTFVFKQotICAgICAgICAgICAgLyogCi0gICAgICAgICAgICAgKiBJZiBvdXIgbW9kdWxlIHNuYXBzaG90IGZhaWxzICh3aGljaCB3aWxsIGhhcHBlbiBpZiB3ZSBkb24ndCBvd24KLSAgICAgICAgICAgICAqIHRoZSBwcm9jZXNzKSwganVzdCBpZ25vcmUgaXQgYW5kIGNvbnRpbnVlLiAgKEl0IHNlZW1zIGRpZmZlcmVudAotICAgICAgICAgICAgICogdmVyc2lvbnMgb2YgV2luZG93cyByZXR1cm4gZGlmZmVyZW50IHZhbHVlcyBmb3IgR2V0TGFzdEVycm9yKCkKLSAgICAgICAgICAgICAqIGluIHRoaXMgc2l0dWF0aW9uOyBpdCdzIGVhc2llciB0byBqdXN0IGlnbm9yZSBpdCBhbmQgbW92ZSBvbiB2cy4KLSAgICAgICAgICAgICAqIHN0b3BwaW5nIHRoZSBidWlsZCBmb3Igd2hhdCBjb3VsZCBiZSBhIGZhbHNlIHBvc2l0aXZlLikKLSAgICAgICAgICAgICAqLwotICAgICAgICAgICAgIGNvbnRpbnVlOwotCi0gICAgICAgIGlmICghTW9kdWxlMzJGaXJzdFcoaHNtLCAmbWUpKSB7Ci0gICAgICAgICAgICBwcmludGYoIk1vZHVsZTMyRmlyc3RXWzJdIGZhaWxlZDogJWRcbiIsIEdldExhc3RFcnJvcigpKTsKLSAgICAgICAgICAgIENsb3NlSGFuZGxlKGhzcCk7Ci0gICAgICAgICAgICBDbG9zZUhhbmRsZShoc20pOwotICAgICAgICAgICAgcmV0dXJuIDE7Ci0gICAgICAgIH0KLQotICAgICAgICBkbyB7Ci0gICAgICAgICAgICBpZiAoX3djc25pY21wKG1lLnN6TW9kdWxlLCBQWVRIT05fRVhFLCBQWVRIT05fRVhFX0xFTikpCi0gICAgICAgICAgICAgICAgLyogV3JvbmcgbW9kdWxlLCB3ZSdyZSBsb29raW5nIGZvciBweXRob25bX2RdLmV4ZS4uLiAqLwotICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotCi0gICAgICAgICAgICBpZiAoX3djc25pY21wKHBhdGgsIG1lLnN6RXhlUGF0aCwgbGVuKSkKLSAgICAgICAgICAgICAgICAvKiBQcm9jZXNzIGRvZXNuJ3QgbGl2ZSBpbiBvdXIgZGlyZWN0b3J5LiAqLwotICAgICAgICAgICAgICAgIGJyZWFrOwotCi0gICAgICAgICAgICAvKiBQeXRob24gcHJvY2VzcyByZXNpZGluZyBpbiB0aGUgcmlnaHQgZGlyZWN0b3J5LCBraWxsIGl0ISAgKi8KLSAgICAgICAgICAgIGhwID0gT3BlblByb2Nlc3MoZGFjLCBGQUxTRSwgcGUudGgzMlByb2Nlc3NJRCk7Ci0gICAgICAgICAgICBpZiAoIWhwKSB7Ci0gICAgICAgICAgICAgICAgcHJpbnRmKCJPcGVuUHJvY2VzcyBmYWlsZWQ6ICVkXG4iLCBHZXRMYXN0RXJyb3IoKSk7Ci0gICAgICAgICAgICAgICAgQ2xvc2VIYW5kbGUoaHNwKTsKLSAgICAgICAgICAgICAgICBDbG9zZUhhbmRsZShoc20pOwotICAgICAgICAgICAgICAgIHJldHVybiAxOwotICAgICAgICAgICAgfQotCi0gICAgICAgICAgICBpZiAoIVRlcm1pbmF0ZVByb2Nlc3MoaHAsIDEpKSB7Ci0gICAgICAgICAgICAgICAgcHJpbnRmKCJUZXJtaW5hdGVQcm9jZXNzIGZhaWxlZDogJWRcbiIsIEdldExhc3RFcnJvcigpKTsKLSAgICAgICAgICAgICAgICBDbG9zZUhhbmRsZShoc3ApOwotICAgICAgICAgICAgICAgIENsb3NlSGFuZGxlKGhzbSk7Ci0gICAgICAgICAgICAgICAgQ2xvc2VIYW5kbGUoaHApOwotICAgICAgICAgICAgICAgIHJldHVybiAxOwotICAgICAgICAgICAgfQotCi0gICAgICAgICAgICBDbG9zZUhhbmRsZShocCk7Ci0gICAgICAgICAgICBicmVhazsKLQotICAgICAgICB9IHdoaWxlIChNb2R1bGUzMk5leHRXKGhzbSwgJm1lKSk7Ci0KLSAgICAgICAgQ2xvc2VIYW5kbGUoaHNtKTsKLQotICAgIH0gd2hpbGUgKFByb2Nlc3MzMk5leHRXKGhzcCwgJnBlKSk7Ci0KLSAgICBDbG9zZUhhbmRsZShoc3ApOwotCi0gICAgcmV0dXJuIDA7Ci19Ci0KLS8qIHZpOiBzZXQgdHM9OCBzdz00IHN0cz00IGV4cGFuZHRhYiAqLwpkaWZmIC0tZ2l0IGEvUENidWlsZC9raWxsX3B5dGhvbi52Y3hwcm9qIGIvUENidWlsZC9raWxsX3B5dGhvbi52Y3hwcm9qCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5ZjY3YzQwLi4wMDAwMDAwCi0tLSBhL1BDYnVpbGQva2lsbF9weXRob24udmN4cHJvagorKysgL2Rldi9udWxsCkBAIC0xLDEyMCArMCwwIEBACi3vu788P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgotPFByb2plY3QgRGVmYXVsdFRhcmdldHM9IkJ1aWxkIiBUb29sc1ZlcnNpb249IjQuMCIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+Ci0gIDxJdGVtR3JvdXAgTGFiZWw9IlByb2plY3RDb25maWd1cmF0aW9ucyI+Ci0gICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IkRlYnVnfFdpbjMyIj4KLSAgICAgIDxDb25maWd1cmF0aW9uPkRlYnVnPC9Db25maWd1cmF0aW9uPgotICAgICAgPFBsYXRmb3JtPldpbjMyPC9QbGF0Zm9ybT4KLSAgICA8L1Byb2plY3RDb25maWd1cmF0aW9uPgotICAgIDxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJEZWJ1Z3x4NjQiPgotICAgICAgPENvbmZpZ3VyYXRpb24+RGVidWc8L0NvbmZpZ3VyYXRpb24+Ci0gICAgICA8UGxhdGZvcm0+eDY0PC9QbGF0Zm9ybT4KLSAgICA8L1Byb2plY3RDb25maWd1cmF0aW9uPgotICAgIDxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJSZWxlYXNlfFdpbjMyIj4KLSAgICAgIDxDb25maWd1cmF0aW9uPlJlbGVhc2U8L0NvbmZpZ3VyYXRpb24+Ci0gICAgICA8UGxhdGZvcm0+V2luMzI8L1BsYXRmb3JtPgotICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+Ci0gICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IlJlbGVhc2V8eDY0Ij4KLSAgICAgIDxDb25maWd1cmF0aW9uPlJlbGVhc2U8L0NvbmZpZ3VyYXRpb24+Ci0gICAgICA8UGxhdGZvcm0+eDY0PC9QbGF0Zm9ybT4KLSAgICA8L1Byb2plY3RDb25maWd1cmF0aW9uPgotICA8L0l0ZW1Hcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgTGFiZWw9Ikdsb2JhbHMiPgotICAgIDxQcm9qZWN0R3VpZD57NkRFMTA3NDQtRTM5Ni00MEE1LUI0RTItMUI2OUFBN0M4RDMxfTwvUHJvamVjdEd1aWQ+Ci0gICAgPFJvb3ROYW1lc3BhY2U+a2lsbF9weXRob248L1Jvb3ROYW1lc3BhY2U+Ci0gICAgPEtleXdvcmQ+V2luMzJQcm9qPC9LZXl3b3JkPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLkRlZmF1bHQucHJvcHMiIC8+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+QXBwbGljYXRpb248L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+Ci0gICAgPFdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj50cnVlPC9XaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+QXBwbGljYXRpb248L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+QXBwbGljYXRpb248L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+Ci0gICAgPFdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj50cnVlPC9XaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkFwcGxpY2F0aW9uPC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLnByb3BzIiAvPgotICA8SW1wb3J0R3JvdXAgTGFiZWw9IkV4dGVuc2lvblNldHRpbmdzIj4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlwcm9qZWN0LnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icmVsZWFzZS5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5cHJvamVjdC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9ImRlYnVnLnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlwcm9qZWN0LnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icmVsZWFzZS5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9Ing2NC5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweXByb2plY3QucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJkZWJ1Zy5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9Ing2NC5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgTGFiZWw9IlVzZXJNYWNyb3MiIC8+Ci0gIDxQcm9wZXJ0eUdyb3VwPgotICAgIDxfUHJvamVjdEZpbGVWZXJzaW9uPjEwLjAuMzAzMTkuMTwvX1Byb2plY3RGaWxlVmVyc2lvbj4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIiAvPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIj4KLSAgICA8TGluaz4KLSAgICAgIDxPdXRwdXRGaWxlPiQoT3V0RGlyKSQoUHJvamVjdE5hbWUpX2QuZXhlPC9PdXRwdXRGaWxlPgotICAgICAgPFN1YlN5c3RlbT5Db25zb2xlPC9TdWJTeXN0ZW0+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyI+Ci0gICAgPE1pZGw+Ci0gICAgICA8VGFyZ2V0RW52aXJvbm1lbnQ+WDY0PC9UYXJnZXRFbnZpcm9ubWVudD4KLSAgICA8L01pZGw+Ci0gICAgPExpbms+Ci0gICAgICA8T3V0cHV0RmlsZT4kKE91dERpcikkKFByb2plY3ROYW1lKV9kLmV4ZTwvT3V0cHV0RmlsZT4KLSAgICAgIDxTdWJTeXN0ZW0+Q29uc29sZTwvU3ViU3lzdGVtPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj4KLSAgICA8TGluaz4KLSAgICAgIDxTdWJTeXN0ZW0+Q29uc29sZTwvU3ViU3lzdGVtPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+Ci0gICAgPE1pZGw+Ci0gICAgICA8VGFyZ2V0RW52aXJvbm1lbnQ+WDY0PC9UYXJnZXRFbnZpcm9ubWVudD4KLSAgICA8L01pZGw+Ci0gICAgPExpbms+Ci0gICAgICA8U3ViU3lzdGVtPkNvbnNvbGU8L1N1YlN5c3RlbT4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1Hcm91cD4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9ImtpbGxfcHl0aG9uLmMiIC8+Ci0gIDwvSXRlbUdyb3VwPgotICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC50YXJnZXRzIiAvPgotICA8SW1wb3J0R3JvdXAgTGFiZWw9IkV4dGVuc2lvblRhcmdldHMiPgotICA8L0ltcG9ydEdyb3VwPgotPC9Qcm9qZWN0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL1BDYnVpbGQva2lsbF9weXRob24udmN4cHJvai5maWx0ZXJzIGIvUENidWlsZC9raWxsX3B5dGhvbi52Y3hwcm9qLmZpbHRlcnMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQzM2Q3NTEuLjAwMDAwMDAKLS0tIGEvUENidWlsZC9raWxsX3B5dGhvbi52Y3hwcm9qLmZpbHRlcnMKKysrIC9kZXYvbnVsbApAQCAtMSwxMyArMCwwIEBACi3vu788P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgotPFByb2plY3QgVG9vbHNWZXJzaW9uPSI0LjAiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2RldmVsb3Blci9tc2J1aWxkLzIwMDMiPgotICA8SXRlbUdyb3VwPgotICAgIDxGaWx0ZXIgSW5jbHVkZT0iU291cmNlIEZpbGVzIj4KLSAgICAgIDxVbmlxdWVJZGVudGlmaWVyPns0ODYwNjU5MS1jOGI2LTQxYTUtOTVjNS05YTA4OTBjNTUwNGZ9PC9VbmlxdWVJZGVudGlmaWVyPgotICAgIDwvRmlsdGVyPgotICA8L0l0ZW1Hcm91cD4KLSAgPEl0ZW1Hcm91cD4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9ImtpbGxfcHl0aG9uLmMiPgotICAgICAgPEZpbHRlcj5Tb3VyY2UgRmlsZXM8L0ZpbHRlcj4KLSAgICA8L0NsQ29tcGlsZT4KLSAgPC9JdGVtR3JvdXA+Ci08L1Byb2plY3Q+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvUENidWlsZC9saWJlYXkudmN4cHJvaiBiL1BDYnVpbGQvbGliZWF5LnZjeHByb2oKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGZmNWU3MQotLS0gL2Rldi9udWxsCisrKyBiL1BDYnVpbGQvbGliZWF5LnZjeHByb2oKQEAgLTAsMCArMSw4OTAgQEAKK++7vzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Cis8UHJvamVjdCBEZWZhdWx0VGFyZ2V0cz0iQnVpbGQiIFRvb2xzVmVyc2lvbj0iNC4wIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4KKyAgPEl0ZW1Hcm91cCBMYWJlbD0iUHJvamVjdENvbmZpZ3VyYXRpb25zIj4KKyAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iRGVidWd8V2luMzIiPgorICAgICAgPENvbmZpZ3VyYXRpb24+RGVidWc8L0NvbmZpZ3VyYXRpb24+CisgICAgICA8UGxhdGZvcm0+V2luMzI8L1BsYXRmb3JtPgorICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+CisgICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IlJlbGVhc2V8V2luMzIiPgorICAgICAgPENvbmZpZ3VyYXRpb24+UmVsZWFzZTwvQ29uZmlndXJhdGlvbj4KKyAgICAgIDxQbGF0Zm9ybT5XaW4zMjwvUGxhdGZvcm0+CisgICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KKyAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iUEdJbnN0cnVtZW50fFdpbjMyIj4KKyAgICAgIDxDb25maWd1cmF0aW9uPlBHSW5zdHJ1bWVudDwvQ29uZmlndXJhdGlvbj4KKyAgICAgIDxQbGF0Zm9ybT5XaW4zMjwvUGxhdGZvcm0+CisgICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KKyAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iUEdJbnN0cnVtZW50fHg2NCI+CisgICAgICA8Q29uZmlndXJhdGlvbj5QR0luc3RydW1lbnQ8L0NvbmZpZ3VyYXRpb24+CisgICAgICA8UGxhdGZvcm0+eDY0PC9QbGF0Zm9ybT4KKyAgICA8L1Byb2plY3RDb25maWd1cmF0aW9uPgorICAgIDxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJQR1VwZGF0ZXxXaW4zMiI+CisgICAgICA8Q29uZmlndXJhdGlvbj5QR1VwZGF0ZTwvQ29uZmlndXJhdGlvbj4KKyAgICAgIDxQbGF0Zm9ybT5XaW4zMjwvUGxhdGZvcm0+CisgICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KKyAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iUEdVcGRhdGV8eDY0Ij4KKyAgICAgIDxDb25maWd1cmF0aW9uPlBHVXBkYXRlPC9Db25maWd1cmF0aW9uPgorICAgICAgPFBsYXRmb3JtPng2NDwvUGxhdGZvcm0+CisgICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KKyAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iRGVidWd8eDY0Ij4KKyAgICAgIDxDb25maWd1cmF0aW9uPkRlYnVnPC9Db25maWd1cmF0aW9uPgorICAgICAgPFBsYXRmb3JtPng2NDwvUGxhdGZvcm0+CisgICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KKyAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iUmVsZWFzZXx4NjQiPgorICAgICAgPENvbmZpZ3VyYXRpb24+UmVsZWFzZTwvQ29uZmlndXJhdGlvbj4KKyAgICAgIDxQbGF0Zm9ybT54NjQ8L1BsYXRmb3JtPgorICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+CisgIDwvSXRlbUdyb3VwPgorICA8UHJvcGVydHlHcm91cCBMYWJlbD0iR2xvYmFscyI+CisgICAgPFByb2plY3RHdWlkPntFNUIwNENDMC1FQjRDLTQyQUItQjREQy0xOEVGOTVGODY0QjB9PC9Qcm9qZWN0R3VpZD4KKyAgICA8Um9vdE5hbWVzcGFjZT5saWJlYXk8L1Jvb3ROYW1lc3BhY2U+CisgIDwvUHJvcGVydHlHcm91cD4KKworICA8SW1wb3J0IFByb2plY3Q9InB5dGhvbi5wcm9wcyIgLz4KKyAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAuRGVmYXVsdC5wcm9wcyIgLz4KKworICA8UHJvcGVydHlHcm91cCBMYWJlbD0iQ29uZmlndXJhdGlvbiI+CisgICAgPENvbmZpZ3VyYXRpb25UeXBlPlN0YXRpY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgorICA8L1Byb3BlcnR5R3JvdXA+CisgICAKKyAgPEltcG9ydCBQcm9qZWN0PSJvcGVuc3NsLnByb3BzIiAvPgorICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC5wcm9wcyIgLz4KKworICA8VGFyZ2V0IE5hbWU9IkNyZWF0ZUJ1aWxkaW5mSCIgSW5wdXRzPSIkKE1TQnVpbGRQcm9qZWN0RnVsbFBhdGgpIiBPdXRwdXRzPSIkKEludERpcilcYnVpbGRpbmYuaCIgQWZ0ZXJUYXJnZXRzPSJQcmVwYXJlRm9yQnVpbGQiPgorICAgIDxQcm9wZXJ0eUdyb3VwPgorICAgICAgPF9EQVRFVmFsdWU+I2RlZmluZSBEQVRFICIkKFtTeXN0ZW0uRGF0ZVRpbWVdOjpOb3cuVG9TdHJpbmcoYGRkZCBNTU0gZGQgSEgnOidtbSc6J3NzIHl5eXlgKSkiPC9fREFURVZhbHVlPgorICAgICAgPF9DRkxBR1NWYWx1ZT4jZGVmaW5lIENGTEFHUyAiY2wgL01EIC9PeCAtVzMgLUdzMCAtR3kgLW5vbG9nbyBAKFByZXByb2Nlc3NvckRlZmluaXRpb25zLT4nLUQlKElkZW50aXR5KScsJyAnKSI8L19DRkxBR1NWYWx1ZT4KKyAgICAgIDxfUExBVEZPUk1WYWx1ZSBDb25kaXRpb249IiQoUGxhdGZvcm0pPT0nV2luMzInIj4jZGVmaW5lIFBMQVRGT1JNICJWQy1XSU4zMiI8L19QTEFURk9STVZhbHVlPgorICAgICAgPF9QTEFURk9STVZhbHVlIENvbmRpdGlvbj0iJChQbGF0Zm9ybSk9PSd4NjQnIj4jZGVmaW5lIFBMQVRGT1JNICJWQy1XSU42NEEiPC9fUExBVEZPUk1WYWx1ZT4KKyAgICA8L1Byb3BlcnR5R3JvdXA+CisgICAgPFdyaXRlTGluZXNUb0ZpbGUgRmlsZT0iJChJbnREaXIpXGJ1aWxkaW5mLmgiCisgICAgICAgICAgICAgICAgICAgICAgTGluZXM9IiQoX0RBVEVWYWx1ZSk7JChfQ0ZMQUdTVmFsdWUpOyQoX1BMQVRGT1JNVmFsdWUpIgorICAgICAgICAgICAgICAgICAgICAgIE92ZXJ3cml0ZT0idHJ1ZSIgLz4KKyAgICA8TWVzc2FnZSBUZXh0PSJVcGRhdGluZyBidWlsZGluZi5oOgorICAgICQoX0RBVEVWYWx1ZSkKKyAgICAkKF9DRkxBR1NWYWx1ZSkKKyAgICAkKF9QTEFURk9STVZhbHVlKSIgSW1wb3J0YW5jZT0ibm9ybWFsIiAvPgorICA8L1RhcmdldD4KKworICA8VGFyZ2V0IE5hbWU9IlN1cHByZXNzT3JpZ2luYWxCdWlsZGluZkgiIENvbmRpdGlvbj0iRXhpc3RzKCckKG9wZW5zc2xEaXIpY3J5cHRvXGJ1aWxkaW5mLmgnKSIgQmVmb3JlVGFyZ2V0cz0iUHJlcGFyZUZvckJ1aWxkIj4KKyAgICA8TW92ZSBTb3VyY2VGaWxlcz0iJChvcGVuc3NsRGlyKWNyeXB0b1xidWlsZGluZi5oIiBEZXN0aW5hdGlvbkZpbGVzPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGJ1aWxkaW5mLmgub3JpZyIgLz4KKyAgPC9UYXJnZXQ+CisKKyAgPEl0ZW1Hcm91cD4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cY3ZlcnNpb24uYyI+CisgICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4kKEludERpcik7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KKyAgICA8L0NsQ29tcGlsZT4KKyAgPC9JdGVtR3JvdXA+CisgIAorICA8SXRlbUdyb3VwPgorICAgIDwhLS0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpcilhcHBzXGVycnN0ci5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xhZXNcYWVzX2NmYi5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xhZXNcYWVzX2N0ci5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xhZXNcYWVzX2VjYi5jIiAvPgorICAgIC0tPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xhZXNcYWVzX2lnZS5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xhZXNcYWVzX21pc2MuYyIgLz4KKyAgICA8IS0tCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGFlc1xhZXNfb2ZiLmMiIC8+CisgICAgLS0+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGFlc1xhZXNfd3JhcC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xhc24xXGFfYml0c3RyLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGFzbjFcYV9ib29sLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGFzbjFcYV9ieXRlcy5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xhc24xXGFfZDJpX2ZwLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGFzbjFcYV9kaWdlc3QuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYXNuMVxhX2R1cC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xhc24xXGFfZW51bS5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xhc24xXGFfZ2VudG0uYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYXNuMVxhX2kyZF9mcC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xhc24xXGFfaW50LmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGFzbjFcYV9tYnN0ci5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xhc24xXGFfb2JqZWN0LmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGFzbjFcYV9vY3RldC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xhc24xXGFfcHJpbnQuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYXNuMVxhX3NldC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xhc24xXGFfc2lnbi5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xhc24xXGFfc3RyZXguYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYXNuMVxhX3N0cm5pZC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xhc24xXGFfdGltZS5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xhc24xXGFfdHlwZS5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xhc24xXGFfdXRjdG0uYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYXNuMVxhX3V0ZjguYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYXNuMVxhX3ZlcmlmeS5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xhc24xXGFtZXRoX2xpYi5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xhc24xXGFzbl9taW1lLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGFzbjFcYXNuX21vaWQuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYXNuMVxhc25fcGFjay5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xhc24xXGFzbjFfZXJyLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGFzbjFcYXNuMV9nZW4uYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYXNuMVxhc24xX2xpYi5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xhc24xXGFzbjFfcGFyLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGFzbjFcYmlvX2FzbjEuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYXNuMVxiaW9fbmRlZi5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xhc24xXGQyaV9wci5jIiAvPgorICAgIDwhLS0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYXNuMVxkMmlfcHUuYyIgLz4KKyAgICAtLT4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYXNuMVxldnBfYXNuMS5jIiAvPgorICAgIDwhLS0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYXNuMVxmX2VudW0uYyIgLz4KKyAgICAtLT4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYXNuMVxmX2ludC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xhc24xXGZfc3RyaW5nLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGFzbjFcaTJkX3ByLmMiIC8+CisgICAgPCEtLQorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xhc24xXGkyZF9wdS5jIiAvPgorICAgIC0tPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xhc24xXG5fcGtleS5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xhc24xXG5zc2VxLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGFzbjFccDVfcGJlLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGFzbjFccDVfcGJldjIuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYXNuMVxwOF9wa2V5LmMiIC8+CisgICAgPCEtLQorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xhc24xXHRfYml0c3QuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYXNuMVx0X2NybC5jIiAvPgorICAgIC0tPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xhc24xXHRfcGtleS5jIiAvPgorICAgIDwhLS0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYXNuMVx0X3JlcS5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xhc24xXHRfc3BraS5jIiAvPgorICAgIC0tPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xhc24xXHRfeDUwOS5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xhc24xXHRfeDUwOWEuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYXNuMVx0YXNuX2RlYy5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xhc24xXHRhc25fZW5jLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGFzbjFcdGFzbl9mcmUuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYXNuMVx0YXNuX25ldy5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xhc24xXHRhc25fcHJuLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGFzbjFcdGFzbl90eXAuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYXNuMVx0YXNuX3V0bC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xhc24xXHhfYWxnb3IuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYXNuMVx4X2F0dHJpYi5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xhc24xXHhfYmlnbnVtLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGFzbjFceF9jcmwuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYXNuMVx4X2V4dGVuLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGFzbjFceF9pbmZvLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGFzbjFceF9sb25nLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGFzbjFceF9uYW1lLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGFzbjFceF9ueDUwOS5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xhc24xXHhfcGtleS5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xhc24xXHhfcHVia2V5LmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGFzbjFceF9yZXEuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYXNuMVx4X3NpZy5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xhc24xXHhfc3BraS5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xhc24xXHhfdmFsLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGFzbjFceF94NTA5LmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGFzbjFceF94NTA5YS5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xiZlxiZl9jZmI2NC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xiZlxiZl9lY2IuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYmZcYmZfb2ZiNjQuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYmZcYmZfc2tleS5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xiaW9cYl9kdW1wLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGJpb1xiX3ByaW50LmMiIC8+CisgICAgPCEtLQorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xiaW9cYl9zb2NrLmMiIC8+CisgICAgLS0+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGJpb1xiZl9idWZmLmMiIC8+CisgICAgPCEtLQorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xiaW9cYmZfbmJpby5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xiaW9cYmZfbnVsbC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xiaW9cYmlvX2NiLmMiIC8+CisgICAgLS0+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGJpb1xiaW9fZXJyLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGJpb1xiaW9fbGliLmMiIC8+CisgICAgPCEtLQorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xiaW9cYnNzX2FjcHQuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYmlvXGJzc19iaW8uYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYmlvXGJzc19jb25uLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGJpb1xic3NfZGdyYW0uYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYmlvXGJzc19mZC5jIiAvPgorICAgIC0tPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xiaW9cYnNzX2ZpbGUuYyIgLz4KKyAgICA8IS0tCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGJpb1xic3NfbG9nLmMiIC8+CisgICAgLS0+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGJpb1xic3NfbWVtLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGJpb1xic3NfbnVsbC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xiaW9cYnNzX3NvY2suYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYm5cYm5fYWRkLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGJuXGJuX2JsaW5kLmMiIC8+CisgICAgPCEtLQorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xiblxibl9jb25zdC5jIiAvPgorICAgIC0tPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xiblxibl9jdHguYyIgLz4KKyAgICA8IS0tCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGJuXGJuX2RlcHIuYyIgLz4KKyAgICAtLT4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYm5cYm5fZGl2LmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGJuXGJuX2Vyci5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xiblxibl9leHAuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYm5cYm5fZXhwMi5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xiblxibl9nY2QuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYm5cYm5fZ2YybS5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xiblxibl9rcm9uLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGJuXGJuX2xpYi5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xiblxibl9tb2QuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYm5cYm5fbW9udC5jIiAvPgorICAgIDwhLS0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYm5cYm5fbXBpLmMiIC8+CisgICAgLS0+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGJuXGJuX211bC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xiblxibl9uaXN0LmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGJuXGJuX3ByaW1lLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGJuXGJuX3ByaW50LmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGJuXGJuX3JhbmQuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYm5cYm5fcmVjcC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xiblxibl9zaGlmdC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xiblxibl9zcXIuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYm5cYm5fc3FydC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xiblxibl93b3JkLmMiIC8+CisgICAgPCEtLQorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xiblxibl94OTMxcC5jIiAvPgorICAgIC0tPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xidWZmZXJcYnVmX2Vyci5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xidWZmZXJcYnVmX3N0ci5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xidWZmZXJcYnVmZmVyLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGNhbWVsbGlhXGNtbGxfY2ZiLmMiIC8+CisgICAgPCEtLQorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xjYW1lbGxpYVxjbWxsX2N0ci5jIiAvPgorICAgIC0tPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xjYW1lbGxpYVxjbWxsX2VjYi5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xjYW1lbGxpYVxjbWxsX29mYi5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xjYW1lbGxpYVxjbWxsX3V0bC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xjYXN0XGNfY2ZiNjQuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cY2FzdFxjX2VjYi5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xjYXN0XGNfb2ZiNjQuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cY2FzdFxjX3NrZXkuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cY21hY1xjbV9hbWV0aC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xjbWFjXGNtX3BtZXRoLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGNtYWNcY21hYy5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xjbXNcY21zX2FzbjEuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cY21zXGNtc19hdHQuYyIgLz4KKyAgICA8IS0tCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGNtc1xjbXNfY2QuYyIgLz4KKyAgICAtLT4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cY21zXGNtc19kZC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xjbXNcY21zX2VuYy5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xjbXNcY21zX2Vudi5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xjbXNcY21zX2Vyci5jIiAvPgorICAgIDwhLS0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cY21zXGNtc19lc3MuYyIgLz4KKyAgICAtLT4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cY21zXGNtc19pby5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xjbXNcY21zX2xpYi5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xjbXNcY21zX3B3cmkuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cY21zXGNtc19zZC5jIiAvPgorICAgIDwhLS0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cY21zXGNtc19zbWltZS5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xjb21wXGNfcmxlLmMiIC8+CisgICAgLS0+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGNvbXBcY196bGliLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGNvbXBcY29tcF9lcnIuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cY29tcFxjb21wX2xpYi5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xjb25mXGNvbmZfYXBpLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGNvbmZcY29uZl9kZWYuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cY29uZlxjb25mX2Vyci5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xjb25mXGNvbmZfbGliLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGNvbmZcY29uZl9tYWxsLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGNvbmZcY29uZl9tb2QuYyIgLz4KKyAgICA8IS0tCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGNvbmZcY29uZl9zYXAuYyIgLz4KKyAgICAtLT4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cY3B0X2Vyci5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xjcnlwdGxpYi5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xkZXNcY2JjX2Nrc20uYyIgLz4KKyAgICA8IS0tCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGRlc1xjYmNfZW5jLmMiIC8+CisgICAgLS0+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGRlc1xjZmJfZW5jLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGRlc1xjZmI2NGVkZS5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xkZXNcY2ZiNjRlbmMuYyIgLz4KKyAgICA8IS0tCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGRlc1xkZXNfb2xkLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGRlc1xkZXNfb2xkMi5jIiAvPgorICAgIC0tPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xkZXNcZWNiX2VuYy5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xkZXNcZWNiM19lbmMuYyIgLz4KKyAgICA8IS0tCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGRlc1xlZGVfY2JjbV9lbmMuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZGVzXGVuY19yZWFkLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGRlc1xlbmNfd3JpdC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xkZXNcZmNyeXB0LmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGRlc1xvZmJfZW5jLmMiIC8+CisgICAgLS0+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGRlc1xvZmI2NGVkZS5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xkZXNcb2ZiNjRlbmMuYyIgLz4KKyAgICA8IS0tCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGRlc1xwY2JjX2VuYy5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xkZXNccXVkX2Nrc20uYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZGVzXHJhbmRfa2V5LmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGRlc1xyZWFkMnB3ZC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xkZXNccnBjX2VuYy5jIiAvPgorICAgIC0tPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xkZXNcc2V0X2tleS5jIiAvPgorICAgIDwhLS0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZGVzXHN0cjJrZXkuYyIgLz4KKyAgICAtLT4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZGVzXHhjYmNfZW5jLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGRoXGRoX2FtZXRoLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGRoXGRoX2FzbjEuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZGhcZGhfY2hlY2suYyIgLz4KKyAgICA8IS0tCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGRoXGRoX2RlcHIuYyIgLz4KKyAgICAtLT4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZGhcZGhfZXJyLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGRoXGRoX2dlbi5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xkaFxkaF9rZXkuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZGhcZGhfbGliLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGRoXGRoX3BtZXRoLmMiIC8+CisgICAgPCEtLQorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xkaFxkaF9wcm4uYyIgLz4KKyAgICAtLT4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZHNhXGRzYV9hbWV0aC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xkc2FcZHNhX2FzbjEuYyIgLz4KKyAgICA8IS0tCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGRzYVxkc2FfZGVwci5jIiAvPgorICAgIC0tPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xkc2FcZHNhX2Vyci5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xkc2FcZHNhX2dlbi5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xkc2FcZHNhX2tleS5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xkc2FcZHNhX2xpYi5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xkc2FcZHNhX29zc2wuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZHNhXGRzYV9wbWV0aC5jIiAvPgorICAgIDwhLS0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZHNhXGRzYV9wcm4uYyIgLz4KKyAgICAtLT4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZHNhXGRzYV9zaWduLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGRzYVxkc2FfdnJmLmMiIC8+CisgICAgPCEtLQorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xkc29cZHNvX2Jlb3MuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZHNvXGRzb19kbC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xkc29cZHNvX2RsZmNuLmMiIC8+CisgICAgLS0+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGRzb1xkc29fZXJyLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGRzb1xkc29fbGliLmMiIC8+CisgICAgPCEtLQorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xkc29cZHNvX251bGwuYyIgLz4KKyAgICAtLT4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZHNvXGRzb19vcGVuc3NsLmMiIC8+CisgICAgPCEtLQorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xkc29cZHNvX3Ztcy5jIiAvPgorICAgIC0tPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xkc29cZHNvX3dpbjMyLmMiIC8+CisgICAgPCEtLQorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xlYmNkaWMuYyIgLz4KKyAgICAtLT4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZWNcZWNfYW1ldGguYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZWNcZWNfYXNuMS5jIiAvPgorICAgIDwhLS0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZWNcZWNfY2hlY2suYyIgLz4KKyAgICAtLT4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZWNcZWNfY3VydmUuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZWNcZWNfY3Z0LmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGVjXGVjX2Vyci5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xlY1xlY19rZXkuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZWNcZWNfbGliLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGVjXGVjX211bHQuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZWNcZWNfb2N0LmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGVjXGVjX3BtZXRoLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGVjXGVjX3ByaW50LmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGVjXGVjMl9tdWx0LmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGVjXGVjMl9vY3QuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZWNcZWMyX3NtcGwuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZWNcZWNrX3Bybi5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xlY1xlY3BfbW9udC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xlY1xlY3BfbmlzdC5jIiAvPgorICAgIDwhLS0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZWNcZWNwX25pc3RwMjI0LmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGVjXGVjcF9uaXN0cDI1Ni5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xlY1xlY3BfbmlzdHA1MjEuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZWNcZWNwX25pc3RwdXRpbC5jIiAvPgorICAgIC0tPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xlY1xlY3Bfb2N0LmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGVjXGVjcF9zbXBsLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGVjZGhcZWNoX2Vyci5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xlY2RoXGVjaF9rZXkuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZWNkaFxlY2hfbGliLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGVjZGhcZWNoX29zc2wuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZWNkc2FcZWNzX2FzbjEuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZWNkc2FcZWNzX2Vyci5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xlY2RzYVxlY3NfbGliLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGVjZHNhXGVjc19vc3NsLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGVjZHNhXGVjc19zaWduLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGVjZHNhXGVjc192cmYuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZW5naW5lXGVuZ19hbGwuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZW5naW5lXGVuZ19jbmYuYyIgLz4KKyAgICA8IS0tCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGVuZ2luZVxlbmdfY3J5cHRvZGV2LmMiIC8+CisgICAgLS0+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGVuZ2luZVxlbmdfY3RybC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xlbmdpbmVcZW5nX2R5bi5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xlbmdpbmVcZW5nX2Vyci5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xlbmdpbmVcZW5nX2ZhdC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xlbmdpbmVcZW5nX2luaXQuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZW5naW5lXGVuZ19saWIuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZW5naW5lXGVuZ19saXN0LmMiIC8+CisgICAgPCEtLQorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xlbmdpbmVcZW5nX29wZW5zc2wuYyIgLz4KKyAgICAtLT4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZW5naW5lXGVuZ19wa2V5LmMiIC8+CisgICAgPCEtLQorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xlbmdpbmVcZW5nX3JkcmFuZC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xlbmdpbmVcZW5nX3JzYXguYyIgLz4KKyAgICAtLT4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZW5naW5lXGVuZ190YWJsZS5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xlbmdpbmVcdGJfYXNubXRoLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGVuZ2luZVx0Yl9jaXBoZXIuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZW5naW5lXHRiX2RoLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGVuZ2luZVx0Yl9kaWdlc3QuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZW5naW5lXHRiX2RzYS5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xlbmdpbmVcdGJfZWNkaC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xlbmdpbmVcdGJfZWNkc2EuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZW5naW5lXHRiX3BrbWV0aC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xlbmdpbmVcdGJfcmFuZC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xlbmdpbmVcdGJfcnNhLmMiIC8+CisgICAgPCEtLQorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xlbmdpbmVcdGJfc3RvcmUuYyIgLz4KKyAgICAtLT4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZXJyXGVyci5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xlcnJcZXJyX2FsbC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xlcnJcZXJyX3Bybi5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xldnBcYmlvX2I2NC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xldnBcYmlvX2VuYy5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xldnBcYmlvX21kLmMiIC8+CisgICAgPCEtLQorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xldnBcYmlvX29rLmMiIC8+CisgICAgLS0+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGV2cFxjX2FsbC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xldnBcY19hbGxjLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGV2cFxjX2FsbGQuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZXZwXGRpZ2VzdC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xldnBcZV9hZXMuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZXZwXGVfYWVzX2NiY19obWFjX3NoYTEuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZXZwXGVfYmYuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZXZwXGVfY2FtZWxsaWEuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZXZwXGVfY2FzdC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xldnBcZV9kZXMuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZXZwXGVfZGVzMy5jIiAvPgorICAgIDwhLS0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZXZwXGVfaWRlYS5jIiAvPgorICAgIC0tPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xldnBcZV9udWxsLmMiIC8+CisgICAgPCEtLQorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xldnBcZV9vbGQuYyIgLz4KKyAgICAtLT4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZXZwXGVfcmMyLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGV2cFxlX3JjNC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xldnBcZV9yYzRfaG1hY19tZDUuYyIgLz4KKyAgICA8IS0tCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGV2cFxlX3JjNS5jIiAvPgorICAgIC0tPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xldnBcZV9zZWVkLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGV2cFxlX3hjYmNfZC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xldnBcZW5jb2RlLmMiIC8+CisgICAgPCEtLQorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xldnBcZXZwX2FjbmYuYyIgLz4KKyAgICAtLT4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZXZwXGV2cF9jbmYuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZXZwXGV2cF9lbmMuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZXZwXGV2cF9lcnIuYyIgLz4KKyAgICA8IS0tCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGV2cFxldnBfZmlwcy5jIiAvPgorICAgIC0tPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xldnBcZXZwX2tleS5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xldnBcZXZwX2xpYi5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xldnBcZXZwX3BiZS5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xldnBcZXZwX3BrZXkuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZXZwXG1fZHNzLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGV2cFxtX2RzczEuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZXZwXG1fZWNkc2EuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZXZwXG1fbWQ0LmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGV2cFxtX21kNS5jIiAvPgorICAgIDwhLS0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZXZwXG1fbnVsbC5jIiAvPgorICAgIC0tPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xldnBcbV9yaXBlbWQuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZXZwXG1fc2hhLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGV2cFxtX3NoYTEuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZXZwXG1fc2lndmVyLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGV2cFxtX3dwLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGV2cFxuYW1lcy5jIiAvPgorICAgIDwhLS0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZXZwXHBfZGVjLmMiIC8+CisgICAgLS0+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGV2cFxwX2xpYi5jIiAvPgorICAgIDwhLS0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZXZwXHBfb3Blbi5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xldnBccF9zZWFsLmMiIC8+CisgICAgLS0+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGV2cFxwX3NpZ24uYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZXZwXHBfdmVyaWZ5LmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGV2cFxwNV9jcnB0LmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGV2cFxwNV9jcnB0Mi5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xldnBccG1ldGhfZm4uYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZXZwXHBtZXRoX2duLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGV2cFxwbWV0aF9saWIuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZXhfZGF0YS5jIiAvPgorICAgIDwhLS0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cZmlwc19lcnMuYyIgLz4KKyAgICAtLT4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9caG1hY1xobV9hbWV0aC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xobWFjXGhtX3BtZXRoLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGhtYWNcaG1hYy5jIiAvPgorICAgIDwhLS0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ca3JiNVxrcmI1X2Fzbi5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xsaGFzaFxsaF9zdGF0cy5jIiAvPgorICAgIC0tPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xsaGFzaFxsaGFzaC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xtZDRcbWQ0X2Rnc3QuYyIgLz4KKyAgICA8IS0tCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXG1kNFxtZDRfb25lLmMiIC8+CisgICAgLS0+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXG1kNVxtZDVfZGdzdC5jIiAvPgorICAgIDwhLS0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cbWQ1XG1kNV9vbmUuYyIgLz4KKyAgICAtLT4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cbWVtLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXG1lbV9kYmcuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cbW9kZXNcY2JjMTI4LmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXG1vZGVzXGNjbTEyOC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xtb2Rlc1xjZmIxMjguYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cbW9kZXNcY3RyMTI4LmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXG1vZGVzXGN0czEyOC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xtb2Rlc1xnY20xMjguYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cbW9kZXNcb2ZiMTI4LmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXG1vZGVzXHh0czEyOC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xvX2Rpci5jIiAvPgorICAgIDwhLS0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cb19maXBzLmMiIC8+CisgICAgLS0+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXG9faW5pdC5jIiAvPgorICAgIDwhLS0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cb19zdHIuYyIgLz4KKyAgICAtLT4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cb190aW1lLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXG9iamVjdHNcb19uYW1lcy5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xvYmplY3RzXG9ial9kYXQuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cb2JqZWN0c1xvYmpfZXJyLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXG9iamVjdHNcb2JqX2xpYi5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xvYmplY3RzXG9ial94cmVmLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXG9jc3Bcb2NzcF9hc24uYyIgLz4KKyAgICA8IS0tCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXG9jc3Bcb2NzcF9jbC5jIiAvPgorICAgIC0tPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xvY3NwXG9jc3BfZXJyLmMiIC8+CisgICAgPCEtLQorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xvY3NwXG9jc3BfZXh0LmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXG9jc3Bcb2NzcF9odC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xvY3NwXG9jc3BfbGliLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXG9jc3Bcb2NzcF9wcm4uYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cb2NzcFxvY3NwX3Nydi5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xvY3NwXG9jc3BfdmZ5LmMiIC8+CisgICAgLS0+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHBlbVxwZW1fYWxsLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHBlbVxwZW1fZXJyLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHBlbVxwZW1faW5mby5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xwZW1ccGVtX2xpYi5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xwZW1ccGVtX290aC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xwZW1ccGVtX3BrOC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xwZW1ccGVtX3BrZXkuYyIgLz4KKyAgICA8IS0tCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHBlbVxwZW1fc2VhbC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xwZW1ccGVtX3NpZ24uYyIgLz4KKyAgICAtLT4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ccGVtXHBlbV94NTA5LmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHBlbVxwZW1feGF1eC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xwZW1ccHZrZm10LmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHBrY3MxMlxwMTJfYWRkLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHBrY3MxMlxwMTJfYXNuLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHBrY3MxMlxwMTJfYXR0ci5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xwa2NzMTJccDEyX2NycHQuYyIgLz4KKyAgICA8IS0tCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHBrY3MxMlxwMTJfY3J0LmMiIC8+CisgICAgLS0+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHBrY3MxMlxwMTJfZGVjci5jIiAvPgorICAgIDwhLS0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ccGtjczEyXHAxMl9pbml0LmMiIC8+CisgICAgLS0+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHBrY3MxMlxwMTJfa2V5LmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHBrY3MxMlxwMTJfa2lzcy5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xwa2NzMTJccDEyX211dGwuYyIgLz4KKyAgICA8IS0tCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHBrY3MxMlxwMTJfbnBhcy5jIiAvPgorICAgIC0tPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xwa2NzMTJccDEyX3A4ZC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xwa2NzMTJccDEyX3A4ZS5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xwa2NzMTJccDEyX3V0bC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xwa2NzMTJccGsxMmVyci5jIiAvPgorICAgIDwhLS0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ccGtjczdcYmlvX3BrNy5jIiAvPgorICAgIC0tPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xwa2NzN1xwazdfYXNuMS5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xwa2NzN1xwazdfYXR0ci5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xwa2NzN1xwazdfZG9pdC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xwa2NzN1xwazdfbGliLmMiIC8+CisgICAgPCEtLQorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xwa2NzN1xwazdfbWltZS5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xwa2NzN1xwazdfc21pbWUuYyIgLz4KKyAgICAtLT4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ccGtjczdccGtjczdlcnIuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ccHF1ZXVlXHBxdWV1ZS5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xyYW5kXG1kX3JhbmQuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ccmFuZFxyYW5kX2VnZC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xyYW5kXHJhbmRfZXJyLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHJhbmRccmFuZF9saWIuYyIgLz4KKyAgICA8IS0tCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHJhbmRccmFuZF9udy5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xyYW5kXHJhbmRfb3MyLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHJhbmRccmFuZF91bml4LmMiIC8+CisgICAgLS0+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHJhbmRccmFuZF93aW4uYyIgLz4KKyAgICA8IS0tCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHJhbmRccmFuZGZpbGUuYyIgLz4KKyAgICAtLT4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ccmMyXHJjMl9jYmMuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ccmMyXHJjMl9lY2IuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ccmMyXHJjMl9za2V5LmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHJjMlxyYzJjZmI2NC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xyYzJccmMyb2ZiNjQuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ccmM0XHJjNF91dGwuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ccmlwZW1kXHJtZF9kZ3N0LmMiIC8+CisgICAgPCEtLQorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xyaXBlbWRccm1kX29uZS5jIiAvPgorICAgIC0tPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xyc2FccnNhX2FtZXRoLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHJzYVxyc2FfYXNuMS5jIiAvPgorICAgIDwhLS0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ccnNhXHJzYV9jaGsuYyIgLz4KKyAgICAtLT4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ccnNhXHJzYV9jcnB0LmMiIC8+CisgICAgPCEtLQorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xyc2FccnNhX2RlcHIuYyIgLz4KKyAgICAtLT4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ccnNhXHJzYV9lYXkuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ccnNhXHJzYV9lcnIuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ccnNhXHJzYV9nZW4uYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ccnNhXHJzYV9saWIuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ccnNhXHJzYV9ub25lLmMiIC8+CisgICAgPCEtLQorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xyc2FccnNhX251bGwuYyIgLz4KKyAgICAtLT4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ccnNhXHJzYV9vYWVwLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHJzYVxyc2FfcGsxLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHJzYVxyc2FfcG1ldGguYyIgLz4KKyAgICA8IS0tCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHJzYVxyc2FfcHJuLmMiIC8+CisgICAgLS0+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHJzYVxyc2FfcHNzLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHJzYVxyc2Ffc2Fvcy5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xyc2FccnNhX3NpZ24uYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ccnNhXHJzYV9zc2wuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ccnNhXHJzYV94OTMxLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHNlZWRcc2VlZC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xzZWVkXHNlZWRfY2JjLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHNlZWRcc2VlZF9jZmIuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cc2VlZFxzZWVkX2VjYi5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xzZWVkXHNlZWRfb2ZiLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHNoYVxzaGFfZGdzdC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xzaGFcc2hhX29uZS5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xzaGFcc2hhMV9vbmUuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cc2hhXHNoYTFkZ3N0LmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHNoYVxzaGEyNTYuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cc2hhXHNoYTUxMi5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xzcnBcc3JwX2xpYi5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xzcnBcc3JwX3ZmeS5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xzdGFja1xzdGFjay5jIiAvPgorICAgIDwhLS0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cdHNcdHNfYXNuMS5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1x0c1x0c19jb25mLmMiIC8+CisgICAgLS0+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHRzXHRzX2Vyci5jIiAvPgorICAgIDwhLS0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cdHNcdHNfbGliLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHRzXHRzX3JlcV9wcmludC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1x0c1x0c19yZXFfdXRpbHMuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cdHNcdHNfcnNwX3ByaW50LmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHRzXHRzX3JzcF9zaWduLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHRzXHRzX3JzcF91dGlscy5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1x0c1x0c19yc3BfdmVyaWZ5LmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHRzXHRzX3ZlcmlmeV9jdHguYyIgLz4KKyAgICAtLT4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cdHh0X2RiXHR4dF9kYi5jIiAvPgorICAgIDwhLS0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cdWlcdWlfY29tcGF0LmMiIC8+CisgICAgLS0+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHVpXHVpX2Vyci5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1x1aVx1aV9saWIuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cdWlcdWlfb3BlbnNzbC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1x1aVx1aV91dGlsLmMiIC8+CisgICAgPCEtLQorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1x1aWQuYyIgLz4KKyAgICAtLT4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cd2hybHBvb2xcd3BfZGdzdC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1x4NTA5XGJ5X2Rpci5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1x4NTA5XGJ5X2ZpbGUuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ceDUwOVx4X2FsbC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1x4NTA5XHg1MDlfYXR0LmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHg1MDlceDUwOV9jbXAuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ceDUwOVx4NTA5X2QyLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHg1MDlceDUwOV9kZWYuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ceDUwOVx4NTA5X2Vyci5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1x4NTA5XHg1MDlfZXh0LmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHg1MDlceDUwOV9sdS5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1x4NTA5XHg1MDlfb2JqLmMiIC8+CisgICAgPCEtLQorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1x4NTA5XHg1MDlfcjJ4LmMiIC8+CisgICAgLS0+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHg1MDlceDUwOV9yZXEuYyIgLz4KKyAgICA8IS0tCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHg1MDlceDUwOV9zZXQuYyIgLz4KKyAgICAtLT4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ceDUwOVx4NTA5X3Rycy5jIiAvPgorICAgIDwhLS0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ceDUwOVx4NTA5X3R4dC5jIiAvPgorICAgIC0tPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1x4NTA5XHg1MDlfdjMuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ceDUwOVx4NTA5X3ZmeS5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1x4NTA5XHg1MDlfdnBtLmMiIC8+CisgICAgPCEtLQorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1x4NTA5XHg1MDljc2V0LmMiIC8+CisgICAgLS0+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHg1MDlceDUwOW5hbWUuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ceDUwOVx4NTA5cnNldC5jIiAvPgorICAgIDwhLS0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ceDUwOVx4NTA5c3BraS5jIiAvPgorICAgIC0tPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1x4NTA5XHg1MDl0eXBlLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHg1MDl2M1xwY3lfY2FjaGUuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ceDUwOXYzXHBjeV9kYXRhLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHg1MDl2M1xwY3lfbGliLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHg1MDl2M1xwY3lfbWFwLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHg1MDl2M1xwY3lfbm9kZS5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1x4NTA5djNccGN5X3RyZWUuYyIgLz4KKyAgICA8IS0tCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHg1MDl2M1x2M19hZGRyLmMiIC8+CisgICAgLS0+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHg1MDl2M1x2M19ha2V5LmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHg1MDl2M1x2M19ha2V5YS5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1x4NTA5djNcdjNfYWx0LmMiIC8+CisgICAgPCEtLQorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1x4NTA5djNcdjNfYXNpZC5jIiAvPgorICAgIC0tPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1x4NTA5djNcdjNfYmNvbnMuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ceDUwOXYzXHYzX2JpdHN0LmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHg1MDl2M1x2M19jb25mLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHg1MDl2M1x2M19jcG9scy5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1x4NTA5djNcdjNfY3JsZC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1x4NTA5djNcdjNfZW51bS5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1x4NTA5djNcdjNfZXh0a3UuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ceDUwOXYzXHYzX2dlbm4uYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ceDUwOXYzXHYzX2lhNS5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1x4NTA5djNcdjNfaW5mby5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1x4NTA5djNcdjNfaW50LmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHg1MDl2M1x2M19saWIuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ceDUwOXYzXHYzX25jb25zLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHg1MDl2M1x2M19vY3NwLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHg1MDl2M1x2M19wY2kuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ceDUwOXYzXHYzX3BjaWEuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ceDUwOXYzXHYzX3Bjb25zLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHg1MDl2M1x2M19wa3UuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ceDUwOXYzXHYzX3BtYXBzLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHg1MDl2M1x2M19wcm4uYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ceDUwOXYzXHYzX3B1cnAuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ceDUwOXYzXHYzX3NrZXkuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ceDUwOXYzXHYzX3N4bmV0LmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHg1MDl2M1x2M191dGwuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9ceDUwOXYzXHYzZXJyLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpZW5naW5lc1xjY2dvc3RcZV9nb3N0X2Vyci5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWVuZ2luZXNcY2Nnb3N0XGdvc3RfYW1ldGguYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpcillbmdpbmVzXGNjZ29zdFxnb3N0X2FzbjEuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpcillbmdpbmVzXGNjZ29zdFxnb3N0X2NyeXB0LmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpZW5naW5lc1xjY2dvc3RcZ29zdF9jdGwuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpcillbmdpbmVzXGNjZ29zdFxnb3N0X2VuZy5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWVuZ2luZXNcY2Nnb3N0XGdvc3Rfa2V5d3JhcC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWVuZ2luZXNcY2Nnb3N0XGdvc3RfbWQuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpcillbmdpbmVzXGNjZ29zdFxnb3N0X3BhcmFtcy5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWVuZ2luZXNcY2Nnb3N0XGdvc3RfcG1ldGguYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpcillbmdpbmVzXGNjZ29zdFxnb3N0X3NpZ24uYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpcillbmdpbmVzXGNjZ29zdFxnb3N0MjAwMS5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWVuZ2luZXNcY2Nnb3N0XGdvc3QyMDAxX2tleXguYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpcillbmdpbmVzXGNjZ29zdFxnb3N0ODkuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpcillbmdpbmVzXGNjZ29zdFxnb3N0OTRfa2V5eC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWVuZ2luZXNcY2Nnb3N0XGdvc3RoYXNoLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpZW5naW5lc1xlXzQ3NThjY2EuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpcillbmdpbmVzXGVfYWVwLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpZW5naW5lc1xlX2F0YWxsYS5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWVuZ2luZXNcZV9jYXBpLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpZW5naW5lc1xlX2NoaWwuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpcillbmdpbmVzXGVfY3N3aWZ0LmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpZW5naW5lc1xlX2dtcC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWVuZ2luZXNcZV9udXJvbi5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWVuZ2luZXNcZV9wYWRsb2NrLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpZW5naW5lc1xlX3N1cmV3YXJlLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpZW5naW5lc1xlX3Vic2VjLmMiIC8+CisgIDwvSXRlbUdyb3VwPgorICA8SXRlbUdyb3VwIENvbmRpdGlvbj0iJChQbGF0Zm9ybSkgPT0gJ1dpbjMyJyI+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXHdocmxwb29sXHdwX2Jsb2NrLmMiIC8+CisgIDwvSXRlbUdyb3VwPgorICA8SXRlbUdyb3VwIENvbmRpdGlvbj0iJChQbGF0Zm9ybSkgPT0gJ3g2NCciPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xiZlxiZl9lbmMuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpciljcnlwdG9cYm5cYm5fYXNtLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGNhbWVsbGlhXGNtbGxfbWlzYy5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKWNyeXB0b1xjYXN0XGNfZW5jLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGRlc1xkZXNfZW5jLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpY3J5cHRvXGRlc1xmY3J5cHRfYi5jIiAvPgorICA8L0l0ZW1Hcm91cD4KKyAgICAKKyAgPEl0ZW1Hcm91cCBDb25kaXRpb249IiQoUGxhdGZvcm0pID09ICdXaW4zMiciPgorICAgIDxOYXNtQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpdG1wMzJcYWVzLTU4Ni5hc20iIC8+CisgICAgPE5hc21Db21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpcil0bXAzMlxhZXNuaS14ODYuYXNtIiAvPgorICAgIDxOYXNtQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpdG1wMzJcYmYtNTg2LmFzbSIgLz4KKyAgICA8TmFzbUNvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKXRtcDMyXGJuLTU4Ni5hc20iIC8+CisgICAgPE5hc21Db21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpcil0bXAzMlxjYXN0LTU4Ni5hc20iIC8+CisgICAgPE5hc21Db21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpcil0bXAzMlxjbWxsLXg4Ni5hc20iIC8+CisgICAgPE5hc21Db21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpcil0bXAzMlxjby01ODYuYXNtIiAvPgorICAgIDxOYXNtQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpdG1wMzJcY3J5cHQ1ODYuYXNtIiAvPgorICAgIDxOYXNtQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpdG1wMzJcZGVzLTU4Ni5hc20iIC8+CisgICAgPE5hc21Db21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpcil0bXAzMlxnaGFzaC14ODYuYXNtIiAvPgorICAgIDxOYXNtQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpdG1wMzJcbWQ1LTU4Ni5hc20iIC8+CisgICAgPE5hc21Db21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpcil0bXAzMlxyYzQtNTg2LmFzbSIgLz4KKyAgICA8TmFzbUNvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKXRtcDMyXHJtZC01ODYuYXNtIiAvPgorICAgIDxOYXNtQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpdG1wMzJcc2hhMS01ODYuYXNtIiAvPgorICAgIDxOYXNtQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpdG1wMzJcc2hhMjU2LTU4Ni5hc20iIC8+CisgICAgPE5hc21Db21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpcil0bXAzMlxzaGE1MTItNTg2LmFzbSIgLz4KKyAgICA8TmFzbUNvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKXRtcDMyXHZwYWVzLXg4Ni5hc20iIC8+CisgICAgPE5hc21Db21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpcil0bXAzMlx3cC1tbXguYXNtIiAvPgorICAgIDxOYXNtQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpdG1wMzJceDg2Y3B1aWQuYXNtIiAvPgorICAgIDxOYXNtQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpdG1wMzJceDg2LWdmMm0uYXNtIiAvPgorICAgIDxOYXNtQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpdG1wMzJceDg2LW1vbnQuYXNtIiAvPgorICA8L0l0ZW1Hcm91cD4KKyAgPEl0ZW1Hcm91cCBDb25kaXRpb249IiQoUGxhdGZvcm0pID09ICd4NjQnIj4KKyAgICA8TmFzbUNvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKXRtcDY0XGFlc25pLXNoYTEteDg2XzY0LmFzbSIgLz4KKyAgICA8TmFzbUNvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKXRtcDY0XGFlc25pLXNoYTEteDg2XzY0LmFzbSIgLz4KKyAgICA8TmFzbUNvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKXRtcDY0XGFlc25pLXg4Nl82NC5hc20iIC8+CisgICAgPE5hc21Db21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpcil0bXA2NFxhZXMteDg2XzY0LmFzbSIgLz4KKyAgICA8TmFzbUNvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKXRtcDY0XGJzYWVzLXg4Nl82NC5hc20iIC8+CisgICAgPE5hc21Db21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpcil0bXA2NFxjbWxsLXg4Nl82NC5hc20iIC8+CisgICAgPE5hc21Db21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpcil0bXA2NFxnaGFzaC14ODZfNjQuYXNtIiAvPgorICAgIDxOYXNtQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpdG1wNjRcbWQ1LXg4Nl82NC5hc20iIC8+CisgICAgPE5hc21Db21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpcil0bXA2NFxtb2RleHA1MTIteDg2XzY0LmFzbSIgLz4KKyAgICA8TmFzbUNvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKXRtcDY0XHJjNC1tZDUteDg2XzY0LmFzbSIgLz4KKyAgICA8TmFzbUNvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKXRtcDY0XHJjNC14ODZfNjQuYXNtIiAvPgorICAgIDxOYXNtQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpdG1wNjRcc2hhMS14ODZfNjQuYXNtIiAvPgorICAgIDxOYXNtQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpdG1wNjRcc2hhMjU2LXg4Nl82NC5hc20iIC8+CisgICAgPE5hc21Db21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpcil0bXA2NFxzaGE1MTIteDg2XzY0LmFzbSIgLz4KKyAgICA8TmFzbUNvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKXRtcDY0XHZwYWVzLXg4Nl82NC5hc20iIC8+CisgICAgPE5hc21Db21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpcil0bXA2NFx3cC14ODZfNjQuYXNtIiAvPgorICAgIDxOYXNtQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpdG1wNjRceDg2XzY0Y3B1aWQuYXNtIiAvPgorICAgIDxOYXNtQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpdG1wNjRceDg2XzY0LWdmMm0uYXNtIiAvPgorICAgIDxOYXNtQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpdG1wNjRceDg2XzY0LW1vbnQuYXNtIiAvPgorICAgIDxOYXNtQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpdG1wNjRceDg2XzY0LW1vbnQ1LmFzbSIgLz4KKyAgPC9JdGVtR3JvdXA+CisKKyAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAudGFyZ2V0cyIgLz4KKyAgPFRhcmdldCBOYW1lPSJDbGVhbiIgLz4KKyAgPFRhcmdldCBOYW1lPSJDbGVhbkFsbCI+CisgICAgPERlbGV0ZSBGaWxlcz0iJChUYXJnZXRQYXRoKSIgLz4KKyAgICA8UmVtb3ZlRGlyIERpcmVjdG9yaWVzPSIkKEludERpcikiIC8+CisgIDwvVGFyZ2V0PgorPC9Qcm9qZWN0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL1BDYnVpbGQvbWFrZV9idWlsZGluZm8uYyBiL1BDYnVpbGQvbWFrZV9idWlsZGluZm8uYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjlhYWRlZS4uMDAwMDAwMAotLS0gYS9QQ2J1aWxkL21ha2VfYnVpbGRpbmZvLmMKKysrIC9kZXYvbnVsbApAQCAtMSwxOTQgKzAsMCBAQAotI2luY2x1ZGUgPHdpbmRvd3MuaD4KLSNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KLSNpbmNsdWRlIDxzeXMvc3RhdC5oPgotI2luY2x1ZGUgPHN0ZGlvLmg+Ci0jaW5jbHVkZSA8aW8uaD4KLQotI2RlZmluZSBDTURfU0laRSA1MDAKLQotLyogVGhpcyBmaWxlIGNyZWF0ZXMgdGhlIGdldGJ1aWxkaW5mby5vIG9iamVjdCwgYnkgZmlyc3QKLSAgIGludm9raW5nIHN1YndjcmV2LmV4ZSAoaWYgZm91bmQpLCBhbmQgdGhlbiBpbnZva2luZyBjbC5leGUuCi0gICBBcyBhIHNpZGUgZWZmZWN0LCBpdCBtaWdodCBnZW5lcmF0ZSBQQ0J1aWxkXGdldGJ1aWxkaW5mbzIuYwotICAgYWxzby4gSWYgdGhpcyBpc24ndCBhIHN1YnZlcnNpb24gY2hlY2tvdXQsIG9yIHN1YndjcmV2IGlzbid0Ci0gICBmb3VuZCwgaXQgY29tcGlsZXMgLi5cXE1vZHVsZXNcXGdldGJ1aWxkaW5mby5jIGluc3RlYWQuCi0KLSAgIEN1cnJlbnRseSwgc3Vid2NyZXYuZXhlIGlzIGZvdW5kIGZyb20gdGhlIHJlZ2lzdHJ5IGVudHJpZXMKLSAgIG9mIFRvcnRvaXNlU1ZOLgotCi0gICBObyBhdHRlbXB0IGlzIG1hZGUgdG8gcGxhY2UgZ2V0YnVpbGRpbmZvLm8gaW50byB0aGUgcHJvcGVyCi0gICBiaW5hcnkgZGlyZWN0b3J5LiBUaGlzIGlzbid0IG5lY2Vzc2FyeSwgYXMgdGhpcyB0b29sIGlzCi0gICBpbnZva2VkIGFzIGEgcHJlLWxpbmsgc3RlcCBmb3IgcHl0aG9uY29yZSwgc28gdGhhdCBvdmVyd3JpdGVzCi0gICBhbnkgcHJldmlvdXMgZ2V0YnVpbGRpbmZvLm8uCi0KLSAgIEhvd2V2ZXIsIGlmIGEgc2Vjb25kIGFyZ3VtZW50IGlzIHByb3ZpZGVkLCB0aGlzIHdpbGwgYmUgdXNlZAotICAgYXMgYSB0ZW1wb3JhcnkgZGlyZWN0b3J5IHdoZXJlIGFueSBnZXRidWlsZGluZm8yLmMgYW5kCi0gICBnZXRidWlsZGluZm8ubyBmaWxlcyBhcmUgcHV0LiAgVGhpcyBpcyB1c2VmdWwgaWYgbXVsdGlwbGUKLSAgIGNvbmZpZ3VyYXRpb25zIGFyZSBiZWluZyBidWlsdCBpbiBwYXJhbGxlbCwgdG8gYXZvaWQgdGhlbQotICAgdHJhbXBsaW5nIGVhY2ggb3RoZXIncyBmaWxlcy4KLQotKi8KLQotaW50IG1ha2VfYnVpbGRpbmZvMihjb25zdCBjaGFyICp0bXBwYXRoKQotewotICAgIHN0cnVjdCBfc3RhdCBzdDsKLSAgICBIS0VZIGhUb3J0b2lzZTsKLSAgICBjaGFyIGNvbW1hbmRbQ01EX1NJWkUrMV07Ci0gICAgRFdPUkQgdHlwZSwgc2l6ZTsKLSAgICBpZiAoX3N0YXQoIi5zdm4iLCAmc3QpIDwgMCkKLSAgICAgICAgcmV0dXJuIDA7Ci0gICAgLyogQWxsb3cgc3VwcHJlc3Npb24gb2Ygc3Vid2NyZXYuZXhlIGludm9jYXRpb24gaWYgYSBub19zdWJ3Y3JldiBmaWxlIGlzIHByZXNlbnQuICovCi0gICAgaWYgKF9zdGF0KCJub19zdWJ3Y3JldiIsICZzdCkgPT0gMCkKLSAgICAgICAgcmV0dXJuIDA7Ci0gICAgaWYgKFJlZ09wZW5LZXkoSEtFWV9MT0NBTF9NQUNISU5FLCAiU29mdHdhcmVcXFRvcnRvaXNlU1ZOIiwgJmhUb3J0b2lzZSkgIT0gRVJST1JfU1VDQ0VTUyAmJgotICAgICAgICBSZWdPcGVuS2V5KEhLRVlfQ1VSUkVOVF9VU0VSLCAiU29mdHdhcmVcXFRvcnRvaXNlU1ZOIiwgJmhUb3J0b2lzZSkgIT0gRVJST1JfU1VDQ0VTUykKLSAgICAgICAgLyogVG9ydG9pc2Ugbm90IGluc3RhbGxlZCAqLwotICAgICAgICByZXR1cm4gMDsKLSAgICBjb21tYW5kWzBdID0gJyInOyAgLyogcXVvdGUgdGhlIHBhdGggdG8gdGhlIGV4ZWN1dGFibGUgKi8KLSAgICBzaXplID0gc2l6ZW9mKGNvbW1hbmQpIC0gMTsKLSAgICBpZiAoUmVnUXVlcnlWYWx1ZUV4KGhUb3J0b2lzZSwgIkRpcmVjdG9yeSIsIDAsICZ0eXBlLCBjb21tYW5kKzEsICZzaXplKSAhPSBFUlJPUl9TVUNDRVNTIHx8Ci0gICAgICAgIHR5cGUgIT0gUkVHX1NaKQotICAgICAgICAvKiBSZWdpc3RyeSBjb3JydXB0ZWQgKi8KLSAgICAgICAgcmV0dXJuIDA7Ci0gICAgc3RyY2F0X3MoY29tbWFuZCwgQ01EX1NJWkUsICJiaW5cXHN1YndjcmV2LmV4ZSIpOwotICAgIGlmIChfc3RhdChjb21tYW5kKzEsICZzdCkgPCAwKQotICAgICAgICAvKiBzdWJ3Y3Jldi5leGUgbm90IHBhcnQgb2YgdGhlIHJlbGVhc2UgKi8KLSAgICAgICAgcmV0dXJuIDA7Ci0gICAgc3RyY2F0X3MoY29tbWFuZCwgQ01EX1NJWkUsICJcIiAuLiAuLlxcTW9kdWxlc1xcZ2V0YnVpbGRpbmZvLmMgXCIiKTsKLSAgICBzdHJjYXRfcyhjb21tYW5kLCBDTURfU0laRSwgdG1wcGF0aCk7IC8qIHF1b3RlZCB0bXBwYXRoICovCi0gICAgc3RyY2F0X3MoY29tbWFuZCwgQ01EX1NJWkUsICJnZXRidWlsZGluZm8yLmNcIiIpOwotICAgIHB1dHMoY29tbWFuZCk7IGZmbHVzaChzdGRvdXQpOwotICAgIGlmIChzeXN0ZW0oY29tbWFuZCkgPCAwKQotICAgICAgICByZXR1cm4gMDsKLSAgICByZXR1cm4gMTsKLX0KLQotY29uc3QgY2hhciBERUxJTVNbXSA9IHsgIiBcbiIgfTsKLQotaW50IGdldF9tZXJjdXJpYWxfaW5mbyhjaGFyICogaGdicmFuY2gsIGNoYXIgKiBoZ3RhZywgY2hhciAqIGhncmV2LCBpbnQgc2l6ZSkKLXsKLSAgICBpbnQgcmVzdWx0ID0gMDsKLSAgICBjaGFyIGZpbGVuYW1lW0NNRF9TSVpFXTsKLSAgICBjaGFyIGNtZGxpbmVbQ01EX1NJWkVdOwotCi0gICAgc3RyY3B5X3MoZmlsZW5hbWUsIENNRF9TSVpFLCAidG1wWFhYWFhYIik7Ci0gICAgaWYgKF9ta3RlbXBfcyhmaWxlbmFtZSwgQ01EX1NJWkUpID09IDApIHsKLSAgICAgICAgaW50IHJjOwotCi0gICAgICAgIHN0cmNweV9zKGNtZGxpbmUsIENNRF9TSVpFLCAiaGcgaWQgLWJpdCA+ICIpOwotICAgICAgICBzdHJjYXRfcyhjbWRsaW5lLCBDTURfU0laRSwgZmlsZW5hbWUpOwotICAgICAgICByYyA9IHN5c3RlbShjbWRsaW5lKTsKLSAgICAgICAgaWYgKHJjID09IDApIHsKLSAgICAgICAgICAgIEZJTEUgKiBmcDsKLSAgICAgICAgICAgIAotICAgICAgICAgICAgaWYgKGZvcGVuX3MoJmZwLCBmaWxlbmFtZSwgInIiKSA9PSAwKSB7Ci0gICAgICAgICAgICAgICAgY2hhciAqIGNwID0gZmdldHMoY21kbGluZSwgQ01EX1NJWkUsIGZwKTsKLQotICAgICAgICAgICAgICAgIGlmIChjcCkgewotICAgICAgICAgICAgICAgICAgICBjaGFyICogY29udGV4dCA9IE5VTEw7Ci0gICAgICAgICAgICAgICAgICAgIGNoYXIgKiB0cCA9IHN0cnRva19zKGNwLCBERUxJTVMsICZjb250ZXh0KTsKLSAgICAgICAgICAgICAgICAgICAgaWYgKHRwKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBzdHJjcHlfcyhoZ3Jldiwgc2l6ZSwgdHApOwotICAgICAgICAgICAgICAgICAgICAgICAgdHAgPSBzdHJ0b2tfcyhOVUxMLCBERUxJTVMsICZjb250ZXh0KTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0cCkgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cmNweV9zKGhnYnJhbmNoLCBzaXplLCB0cCk7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHAgPSBzdHJ0b2tfcyhOVUxMLCBERUxJTVMsICZjb250ZXh0KTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodHApIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyY3B5X3MoaGd0YWcsIHNpemUsIHRwKTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0ID0gMTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgZmNsb3NlKGZwKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQotICAgICAgICBfdW5saW5rKGZpbGVuYW1lKTsKLSAgICB9Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotaW50IG1haW4oaW50IGFyZ2MsIGNoYXIqYXJndltdKQotewotICAgIGNoYXIgY29tbWFuZFtDTURfU0laRV0gPSAiY2wuZXhlIC1jIC1EX1dJTjMyIC1EVVNFX0RMX0VYUE9SVCAtRF9XSU5ET1dTIC1EV0lOMzIgLURfV0lORExMICI7Ci0gICAgY2hhciB0bXBwYXRoW0NNRF9TSVpFXSA9ICIiOwotICAgIGludCBkb191bmxpbmssIHJlc3VsdDsKLSAgICBjaGFyICp0bXBkaXIgPSBOVUxMOwotICAgIGlmIChhcmdjIDw9IDIgfHwgYXJnYyA+IDMpIHsKLSAgICAgICAgZnByaW50ZihzdGRlcnIsICJtYWtlX2J1aWxkaW5mbyAkKENvbmZpZ3VyYXRpb25OYW1lKSBbdG1wZGlyXVxuIik7Ci0gICAgICAgIHJldHVybiBFWElUX0ZBSUxVUkU7Ci0gICAgfQotICAgIGlmIChzdHJjbXAoYXJndlsxXSwgIlJlbGVhc2UiKSA9PSAwKSB7Ci0gICAgICAgIHN0cmNhdF9zKGNvbW1hbmQsIENNRF9TSVpFLCAiLU1EICIpOwotICAgIH0KLSAgICBlbHNlIGlmIChzdHJjbXAoYXJndlsxXSwgIkRlYnVnIikgPT0gMCkgewotICAgICAgICBzdHJjYXRfcyhjb21tYW5kLCBDTURfU0laRSwgIi1EX0RFQlVHIC1NRGQgIik7Ci0gICAgfQotICAgIGVsc2UgaWYgKHN0cmNtcChhcmd2WzFdLCAiUmVsZWFzZUl0YW5pdW0iKSA9PSAwKSB7Ci0gICAgICAgIHN0cmNhdF9zKGNvbW1hbmQsIENNRF9TSVpFLCAiLU1EIC9VU0VDTDpNU19JVEFOSVVNICIpOwotICAgIH0KLSAgICBlbHNlIGlmIChzdHJjbXAoYXJndlsxXSwgIlJlbGVhc2VBTUQ2NCIpID09IDApIHsKLSAgICAgICAgc3RyY2F0X3MoY29tbWFuZCwgQ01EX1NJWkUsICItTUQgIik7Ci0gICAgICAgIHN0cmNhdF9zKGNvbW1hbmQsIENNRF9TSVpFLCAiLU1EIC9VU0VDTDpNU19PUFRFUk9OICIpOwotICAgIH0KLSAgICBlbHNlIHsKLSAgICAgICAgZnByaW50ZihzdGRlcnIsICJ1bnN1cHBvcnRlZCBjb25maWd1cmF0aW9uICVzXG4iLCBhcmd2WzFdKTsKLSAgICAgICAgcmV0dXJuIEVYSVRfRkFJTFVSRTsKLSAgICB9Ci0gICAgaWYgKGFyZ2MgPiAyKSB7Ci0gICAgICAgIHRtcGRpciA9IGFyZ3ZbMl07Ci0gICAgICAgIHN0cmNhdF9zKHRtcHBhdGgsIF9jb3VudG9mKHRtcHBhdGgpLCB0bXBkaXIpOwotICAgICAgICAvKiBIYWNrIGZpeCBmb3IgYmFkIGNvbW1hbmQgbGluZTogIElmIHRoZSBjb21tYW5kIGlzIGlzc3VlZCBsaWtlIHRoaXM6Ci0gICAgICAgICAqICQoU29sdXRpb25EaXIpbWFrZV9idWlsZGluZm8uZXhlIiBEZWJ1ZyAiJChJbnREaXIpIgotICAgICAgICAgKiB3ZSB3aWxsIGdldCBhIHRyYWlsaW5nIHF1b3RlIGJlY2F1c2UgSW50RGlyIGVuZHMgd2l0aCBhIGJhY2tzbGFzaCB0aGF0IHRoZW4KLSAgICAgICAgICogZXNjYXBlcyB0aGUgZmluYWwgIi4gIFRvIHNpbXBsaWZ5IHRoZSBsaWZlIGZvciBkZXZlbG9wZXJzLCBjYXRjaCB0aGF0IHByb2JsZW0KLSAgICAgICAgICogaGVyZSBieSBjdXR0aW5nIGl0IG9mZi4KLSAgICAgICAgICogVGhlIHByb3BlciBjb21tYW5kIGxpbmUsIGJ0dyBpczoKLSAgICAgICAgICogJChTb2x1dGlvbkRpciltYWtlX2J1aWxkaW5mby5leGUiIERlYnVnICIkKEludERpcilcIgotICAgICAgICAgKiBIb29yYXkgZm9yIGNvbW1hbmQgbGluZSBwYXJzaW5nIG9uIHdpbmRvd3MuCi0gICAgICAgICAqLwotICAgICAgICBpZiAoc3RybGVuKHRtcHBhdGgpID4gMCAmJiB0bXBwYXRoW3N0cmxlbih0bXBwYXRoKS0xXSA9PSAnIicpCi0gICAgICAgICAgICB0bXBwYXRoW3N0cmxlbih0bXBwYXRoKS0xXSA9ICdcMCc7Ci0gICAgICAgIHN0cmNhdF9zKHRtcHBhdGgsIF9jb3VudG9mKHRtcHBhdGgpLCAiXFwiKTsKLSAgICB9Ci0KLSAgICBpZiAoKGRvX3VubGluayA9IG1ha2VfYnVpbGRpbmZvMih0bXBwYXRoKSkpIHsKLSAgICAgICAgc3RyY2F0X3MoY29tbWFuZCwgQ01EX1NJWkUsICJcIiIpOwotICAgICAgICBzdHJjYXRfcyhjb21tYW5kLCBDTURfU0laRSwgdG1wcGF0aCk7Ci0gICAgICAgIHN0cmNhdF9zKGNvbW1hbmQsIENNRF9TSVpFLCAiZ2V0YnVpbGRpbmZvMi5jXCIgLURTVUJXQ1JFViAiKTsKLSAgICB9Ci0gICAgZWxzZSB7Ci0gICAgICAgIGNoYXIgaGd0YWdbQ01EX1NJWkVdOwotICAgICAgICBjaGFyIGhnYnJhbmNoW0NNRF9TSVpFXTsKLSAgICAgICAgY2hhciBoZ3JldltDTURfU0laRV07Ci0KLSAgICAgICAgaWYgKGdldF9tZXJjdXJpYWxfaW5mbyhoZ2JyYW5jaCwgaGd0YWcsIGhncmV2LCBDTURfU0laRSkpIHsKLSAgICAgICAgICAgIHN0cmNhdF9zKGNvbW1hbmQsIENNRF9TSVpFLCAiLURIR0JSQU5DSD1cXFwiIik7Ci0gICAgICAgICAgICBzdHJjYXRfcyhjb21tYW5kLCBDTURfU0laRSwgaGdicmFuY2gpOwotICAgICAgICAgICAgc3RyY2F0X3MoY29tbWFuZCwgQ01EX1NJWkUsICJcXFwiIik7Ci0KLSAgICAgICAgICAgIHN0cmNhdF9zKGNvbW1hbmQsIENNRF9TSVpFLCAiIC1ESEdUQUc9XFxcIiIpOwotICAgICAgICAgICAgc3RyY2F0X3MoY29tbWFuZCwgQ01EX1NJWkUsIGhndGFnKTsKLSAgICAgICAgICAgIHN0cmNhdF9zKGNvbW1hbmQsIENNRF9TSVpFLCAiXFxcIiIpOwotCi0gICAgICAgICAgICBzdHJjYXRfcyhjb21tYW5kLCBDTURfU0laRSwgIiAtREhHVkVSU0lPTj1cXFwiIik7Ci0gICAgICAgICAgICBzdHJjYXRfcyhjb21tYW5kLCBDTURfU0laRSwgaGdyZXYpOwotICAgICAgICAgICAgc3RyY2F0X3MoY29tbWFuZCwgQ01EX1NJWkUsICJcXFwiICIpOwotICAgICAgICB9Ci0gICAgICAgIHN0cmNhdF9zKGNvbW1hbmQsIENNRF9TSVpFLCAiLi5cXE1vZHVsZXNcXGdldGJ1aWxkaW5mby5jIik7Ci0gICAgfQotICAgIHN0cmNhdF9zKGNvbW1hbmQsIENNRF9TSVpFLCAiIC1Gb1wiIik7Ci0gICAgc3RyY2F0X3MoY29tbWFuZCwgQ01EX1NJWkUsIHRtcHBhdGgpOwotICAgIHN0cmNhdF9zKGNvbW1hbmQsIENNRF9TSVpFLCAiZ2V0YnVpbGRpbmZvLm9cIiAtSS4uXFxJbmNsdWRlIC1JLi5cXFBDIik7Ci0gICAgcHV0cyhjb21tYW5kKTsgZmZsdXNoKHN0ZG91dCk7Ci0gICAgcmVzdWx0ID0gc3lzdGVtKGNvbW1hbmQpOwotICAgIGlmIChkb191bmxpbmspIHsKLSAgICAgICAgY29tbWFuZFswXSA9ICdcMCc7Ci0gICAgICAgIHN0cmNhdF9zKGNvbW1hbmQsIENNRF9TSVpFLCAiXCIiKTsKLSAgICAgICAgc3RyY2F0X3MoY29tbWFuZCwgQ01EX1NJWkUsIHRtcHBhdGgpOwotICAgICAgICBzdHJjYXRfcyhjb21tYW5kLCBDTURfU0laRSwgImdldGJ1aWxkaW5mbzIuY1wiIik7Ci0gICAgICAgIF91bmxpbmsoY29tbWFuZCk7Ci0gICAgfQotICAgIGlmIChyZXN1bHQgPCAwKQotICAgICAgICByZXR1cm4gRVhJVF9GQUlMVVJFOwotICAgIHJldHVybiAwOwotfQpkaWZmIC0tZ2l0IGEvUENidWlsZC9tYWtlX2J1aWxkaW5mby52Y3hwcm9qIGIvUENidWlsZC9tYWtlX2J1aWxkaW5mby52Y3hwcm9qCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlZWU3ZjkxLi4wMDAwMDAwCi0tLSBhL1BDYnVpbGQvbWFrZV9idWlsZGluZm8udmN4cHJvagorKysgL2Rldi9udWxsCkBAIC0xLDUyICswLDAgQEAKLe+7vzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Ci08UHJvamVjdCBEZWZhdWx0VGFyZ2V0cz0iQnVpbGQiIFRvb2xzVmVyc2lvbj0iNC4wIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4KLSAgPEl0ZW1Hcm91cCBMYWJlbD0iUHJvamVjdENvbmZpZ3VyYXRpb25zIj4KLSAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iUmVsZWFzZXxXaW4zMiI+Ci0gICAgICA8Q29uZmlndXJhdGlvbj5SZWxlYXNlPC9Db25maWd1cmF0aW9uPgotICAgICAgPFBsYXRmb3JtPldpbjMyPC9QbGF0Zm9ybT4KLSAgICA8L1Byb2plY3RDb25maWd1cmF0aW9uPgotICA8L0l0ZW1Hcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgTGFiZWw9Ikdsb2JhbHMiPgotICAgIDxQcm9qZWN0R3VpZD57QzczRjBFQzEtMzU4Qi00MTc3LTk0MEYtMDg0NkFDOEIwNENEfTwvUHJvamVjdEd1aWQ+Ci0gICAgPFJvb3ROYW1lc3BhY2U+bWFrZV9idWlsZGluZm88L1Jvb3ROYW1lc3BhY2U+Ci0gICAgPEtleXdvcmQ+V2luMzJQcm9qPC9LZXl3b3JkPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLkRlZmF1bHQucHJvcHMiIC8+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+QXBwbGljYXRpb248L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAucHJvcHMiIC8+Ci0gIDxJbXBvcnRHcm91cCBMYWJlbD0iRXh0ZW5zaW9uU2V0dGluZ3MiPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweXByb2plY3QucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJyZWxlYXNlLnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8UHJvcGVydHlHcm91cCBMYWJlbD0iVXNlck1hY3JvcyIgLz4KLSAgPFByb3BlcnR5R3JvdXA+Ci0gICAgPF9Qcm9qZWN0RmlsZVZlcnNpb24+MTAuMC40MDIxOS4xPC9fUHJvamVjdEZpbGVWZXJzaW9uPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciIC8+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxPcHRpbWl6YXRpb24+RGlzYWJsZWQ8L09wdGltaXphdGlvbj4KLSAgICAgIDxJbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj5Pbmx5RXhwbGljaXRJbmxpbmU8L0lubGluZUZ1bmN0aW9uRXhwYW5zaW9uPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPl9DT05TT0xFOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICAgIDxSdW50aW1lTGlicmFyeT5NdWx0aVRocmVhZGVkPC9SdW50aW1lTGlicmFyeT4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8TGluaz4KLSAgICAgIDxPdXRwdXRGaWxlPiQoT3V0RGlyKW1ha2VfYnVpbGRpbmZvLmV4ZTwvT3V0cHV0RmlsZT4KLSAgICAgIDxTdWJTeXN0ZW0+Q29uc29sZTwvU3ViU3lzdGVtPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbUdyb3VwPgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0ibWFrZV9idWlsZGluZm8uYyIgLz4KLSAgPC9JdGVtR3JvdXA+Ci0gIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLnRhcmdldHMiIC8+Ci0gIDxJbXBvcnRHcm91cCBMYWJlbD0iRXh0ZW5zaW9uVGFyZ2V0cyI+Ci0gIDwvSW1wb3J0R3JvdXA+Ci08L1Byb2plY3Q+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvUENidWlsZC9tYWtlX2J1aWxkaW5mby52Y3hwcm9qLmZpbHRlcnMgYi9QQ2J1aWxkL21ha2VfYnVpbGRpbmZvLnZjeHByb2ouZmlsdGVycwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjIyN2Y4Yy4uMDAwMDAwMAotLS0gYS9QQ2J1aWxkL21ha2VfYnVpbGRpbmZvLnZjeHByb2ouZmlsdGVycworKysgL2Rldi9udWxsCkBAIC0xLDE0ICswLDAgQEAKLe+7vzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Ci08UHJvamVjdCBUb29sc1ZlcnNpb249IjQuMCIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+Ci0gIDxJdGVtR3JvdXA+Ci0gICAgPEZpbHRlciBJbmNsdWRlPSJTb3VyY2UgRmlsZXMiPgotICAgICAgPFVuaXF1ZUlkZW50aWZpZXI+ezRGQzczN0YxLUM3QTUtNDM3Ni1BMDY2LTJBMzJENzUyQTJGRn08L1VuaXF1ZUlkZW50aWZpZXI+Ci0gICAgICA8RXh0ZW5zaW9ucz5jcHA7YztjeHg7ZGVmO29kbDtpZGw7aHBqO2JhdDthc207YXNteDwvRXh0ZW5zaW9ucz4KLSAgICA8L0ZpbHRlcj4KLSAgPC9JdGVtR3JvdXA+Ci0gIDxJdGVtR3JvdXA+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSJtYWtlX2J1aWxkaW5mby5jIj4KLSAgICAgIDxGaWx0ZXI+U291cmNlIEZpbGVzPC9GaWx0ZXI+Ci0gICAgPC9DbENvbXBpbGU+Ci0gIDwvSXRlbUdyb3VwPgotPC9Qcm9qZWN0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL1BDYnVpbGQvbWFrZV92ZXJzaW9uaW5mby52Y3hwcm9qIGIvUENidWlsZC9tYWtlX3ZlcnNpb25pbmZvLnZjeHByb2oKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDljZjUwN2IuLjAwMDAwMDAKLS0tIGEvUENidWlsZC9tYWtlX3ZlcnNpb25pbmZvLnZjeHByb2oKKysrIC9kZXYvbnVsbApAQCAtMSwyMDAgKzAsMCBAQAot77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KLTxQcm9qZWN0IERlZmF1bHRUYXJnZXRzPSJCdWlsZCIgVG9vbHNWZXJzaW9uPSI0LjAiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2RldmVsb3Blci9tc2J1aWxkLzIwMDMiPgotICA8SXRlbUdyb3VwIExhYmVsPSJQcm9qZWN0Q29uZmlndXJhdGlvbnMiPgotICAgIDxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJEZWJ1Z3xXaW4zMiI+Ci0gICAgICA8Q29uZmlndXJhdGlvbj5EZWJ1ZzwvQ29uZmlndXJhdGlvbj4KLSAgICAgIDxQbGF0Zm9ybT5XaW4zMjwvUGxhdGZvcm0+Ci0gICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KLSAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iRGVidWd8eDY0Ij4KLSAgICAgIDxDb25maWd1cmF0aW9uPkRlYnVnPC9Db25maWd1cmF0aW9uPgotICAgICAgPFBsYXRmb3JtPng2NDwvUGxhdGZvcm0+Ci0gICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KLSAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iUmVsZWFzZXxXaW4zMiI+Ci0gICAgICA8Q29uZmlndXJhdGlvbj5SZWxlYXNlPC9Db25maWd1cmF0aW9uPgotICAgICAgPFBsYXRmb3JtPldpbjMyPC9QbGF0Zm9ybT4KLSAgICA8L1Byb2plY3RDb25maWd1cmF0aW9uPgotICAgIDxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJSZWxlYXNlfHg2NCI+Ci0gICAgICA8Q29uZmlndXJhdGlvbj5SZWxlYXNlPC9Db25maWd1cmF0aW9uPgotICAgICAgPFBsYXRmb3JtPng2NDwvUGxhdGZvcm0+Ci0gICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KLSAgPC9JdGVtR3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJHbG9iYWxzIj4KLSAgICA8UHJvamVjdEd1aWQ+e0YwRTA1NDFFLUYxN0QtNDMwQi05N0M0LTkzQURGMEREMjg0RX08L1Byb2plY3RHdWlkPgotICAgIDxSb290TmFtZXNwYWNlPm1ha2VfdmVyc2lvbmluZm88L1Jvb3ROYW1lc3BhY2U+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAuRGVmYXVsdC5wcm9wcyIgLz4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+QXBwbGljYXRpb248L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxVc2VPZk1mYz5mYWxzZTwvVXNlT2ZNZmM+Ci0gICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkFwcGxpY2F0aW9uPC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8VXNlT2ZNZmM+ZmFsc2U8L1VzZU9mTWZjPgotICAgIDxDaGFyYWN0ZXJTZXQ+TXVsdGlCeXRlPC9DaGFyYWN0ZXJTZXQ+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkFwcGxpY2F0aW9uPC9Db25maWd1cmF0aW9uVHlwZT4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5BcHBsaWNhdGlvbjwvQ29uZmlndXJhdGlvblR5cGU+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAucHJvcHMiIC8+Ci0gIDxJbXBvcnRHcm91cCBMYWJlbD0iRXh0ZW5zaW9uU2V0dGluZ3MiPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlwcm9qZWN0LnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0iZGVidWcucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5cHJvamVjdC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InJlbGVhc2UucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlwcm9qZWN0LnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0ieDY0LnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0iZGVidWcucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweXByb2plY3QucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJ4NjQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJyZWxlYXNlLnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8UHJvcGVydHlHcm91cCBMYWJlbD0iVXNlck1hY3JvcyIgLz4KLSAgPFByb3BlcnR5R3JvdXA+Ci0gICAgPF9Qcm9qZWN0RmlsZVZlcnNpb24+MTAuMC40MDIxOS4xPC9fUHJvamVjdEZpbGVWZXJzaW9uPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIC8+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+Ci0gICAgPEN1c3RvbUJ1aWxkU3RlcD4KLSAgICAgIDxNZXNzYWdlPkJ1aWxkIFBDL3B5dGhvbm50X3JjKF9kKS5oPC9NZXNzYWdlPgotICAgICAgPENvbW1hbmQ+Y2QgJChTb2x1dGlvbkRpcikKLW1ha2VfdmVyc2lvbmluZm8uZXhlICZndDsgLi5cUENccHl0aG9ubnRfcmMuaAotPC9Db21tYW5kPgotICAgICAgPE91dHB1dHM+JChTb2x1dGlvbkRpcikuLlxQQ1xweXRob25udF9yYy5oOyUoT3V0cHV0cyk8L091dHB1dHM+Ci0gICAgICA8SW5wdXRzPiQoU29sdXRpb25EaXIpbWFrZV92ZXJzaW9uaW5mby5leGU8L0lucHV0cz4KLSAgICA8L0N1c3RvbUJ1aWxkU3RlcD4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPE9wdGltaXphdGlvbj5NYXhTcGVlZDwvT3B0aW1pemF0aW9uPgotICAgICAgPElubGluZUZ1bmN0aW9uRXhwYW5zaW9uPk9ubHlFeHBsaWNpdElubGluZTwvSW5saW5lRnVuY3Rpb25FeHBhbnNpb24+Ci0gICAgICA8SW50cmluc2ljRnVuY3Rpb25zPnRydWU8L0ludHJpbnNpY0Z1bmN0aW9ucz4KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPiUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+X0NPTlNPTEU7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgICAgPFN0cmluZ1Bvb2xpbmc+dHJ1ZTwvU3RyaW5nUG9vbGluZz4KLSAgICAgIDxSdW50aW1lTGlicmFyeT5NdWx0aVRocmVhZGVkRExMPC9SdW50aW1lTGlicmFyeT4KLSAgICAgIDxGdW5jdGlvbkxldmVsTGlua2luZz50cnVlPC9GdW5jdGlvbkxldmVsTGlua2luZz4KLSAgICAgIDxDb21waWxlQXM+RGVmYXVsdDwvQ29tcGlsZUFzPgotICAgIDwvQ2xDb21waWxlPgotICAgIDxMaW5rPgotICAgICAgPE91dHB1dEZpbGU+JChTb2x1dGlvbkRpciltYWtlX3ZlcnNpb25pbmZvLmV4ZTwvT3V0cHV0RmlsZT4KLSAgICAgIDxTdWJTeXN0ZW0+Q29uc29sZTwvU3ViU3lzdGVtPgotICAgICAgPEJhc2VBZGRyZXNzPjB4MWQwMDAwMDA8L0Jhc2VBZGRyZXNzPgotICAgIDwvTGluaz4KLSAgICA8UG9zdEJ1aWxkRXZlbnQgLz4KLSAgICA8UG9zdEJ1aWxkRXZlbnQ+Ci0gICAgICA8Q29tbWFuZD4KLSAgICAgIDwvQ29tbWFuZD4KLSAgICA8L1Bvc3RCdWlsZEV2ZW50PgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj4KLSAgICA8Q3VzdG9tQnVpbGRTdGVwPgotICAgICAgPE1lc3NhZ2U+QnVpbGQgUEMvcHl0aG9ubnRfcmMoX2QpLmg8L01lc3NhZ2U+Ci0gICAgICA8Q29tbWFuZD5jZCAkKFNvbHV0aW9uRGlyKQotbWFrZV92ZXJzaW9uaW5mby5leGUgJmd0OyAuLlxQQ1xweXRob25udF9yYy5oCi08L0NvbW1hbmQ+Ci0gICAgICA8T3V0cHV0cz4kKFNvbHV0aW9uRGlyKS4uXFBDXHB5dGhvbm50X3JjLmg7JShPdXRwdXRzKTwvT3V0cHV0cz4KLSAgICA8L0N1c3RvbUJ1aWxkU3RlcD4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPE9wdGltaXphdGlvbj5NYXhTcGVlZDwvT3B0aW1pemF0aW9uPgotICAgICAgPElubGluZUZ1bmN0aW9uRXhwYW5zaW9uPk9ubHlFeHBsaWNpdElubGluZTwvSW5saW5lRnVuY3Rpb25FeHBhbnNpb24+Ci0gICAgICA8SW50cmluc2ljRnVuY3Rpb25zPnRydWU8L0ludHJpbnNpY0Z1bmN0aW9ucz4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5fQ09OU09MRTslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPExpbms+Ci0gICAgICA8T3V0cHV0RmlsZT4kKFNvbHV0aW9uRGlyKW1ha2VfdmVyc2lvbmluZm8uZXhlPC9PdXRwdXRGaWxlPgotICAgIDwvTGluaz4KLSAgICA8UG9zdEJ1aWxkRXZlbnQ+Ci0gICAgICA8Q29tbWFuZD5jZCAkKFNvbHV0aW9uRGlyKQotbWFrZV92ZXJzaW9uaW5mby5leGUgJmd0OyAuLlxQQ1xweXRob25fbnQuaAotPC9Db21tYW5kPgotICAgIDwvUG9zdEJ1aWxkRXZlbnQ+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPgotICAgIDxDdXN0b21CdWlsZFN0ZXA+Ci0gICAgICA8TWVzc2FnZT5CdWlsZCBQQy9weXRob25udF9yYyhfZCkuaDwvTWVzc2FnZT4KLSAgICAgIDxDb21tYW5kPmNkICQoU29sdXRpb25EaXIpCi1tYWtlX3ZlcnNpb25pbmZvX2QuZXhlICZndDsgLi5cUENccHl0aG9ubnRfcmNfZC5oCi08L0NvbW1hbmQ+Ci0gICAgICA8T3V0cHV0cz4kKFNvbHV0aW9uRGlyKS4uXFBDXHB5dGhvbm50X3JjX2QuaDslKE91dHB1dHMpPC9PdXRwdXRzPgotICAgICAgPElucHV0cz4kKFNvbHV0aW9uRGlyKW1ha2VfdmVyc2lvbmluZm9fZC5leGU8L0lucHV0cz4KLSAgICA8L0N1c3RvbUJ1aWxkU3RlcD4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPE9wdGltaXphdGlvbj5EaXNhYmxlZDwvT3B0aW1pemF0aW9uPgotICAgICAgPElubGluZUZ1bmN0aW9uRXhwYW5zaW9uPk9ubHlFeHBsaWNpdElubGluZTwvSW5saW5lRnVuY3Rpb25FeHBhbnNpb24+Ci0gICAgICA8SW50cmluc2ljRnVuY3Rpb25zPmZhbHNlPC9JbnRyaW5zaWNGdW5jdGlvbnM+Ci0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4lKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPl9DT05TT0xFOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICAgIDxTdHJpbmdQb29saW5nPnRydWU8L1N0cmluZ1Bvb2xpbmc+Ci0gICAgICA8UnVudGltZUxpYnJhcnk+TXVsdGlUaHJlYWRlZERMTDwvUnVudGltZUxpYnJhcnk+Ci0gICAgICA8RnVuY3Rpb25MZXZlbExpbmtpbmc+dHJ1ZTwvRnVuY3Rpb25MZXZlbExpbmtpbmc+Ci0gICAgICA8Q29tcGlsZUFzPkRlZmF1bHQ8L0NvbXBpbGVBcz4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8TGluaz4KLSAgICAgIDxPdXRwdXRGaWxlPiQoU29sdXRpb25EaXIpbWFrZV92ZXJzaW9uaW5mb19kLmV4ZTwvT3V0cHV0RmlsZT4KLSAgICAgIDxTdWJTeXN0ZW0+Q29uc29sZTwvU3ViU3lzdGVtPgotICAgICAgPEJhc2VBZGRyZXNzPjB4MWQwMDAwMDA8L0Jhc2VBZGRyZXNzPgotICAgIDwvTGluaz4KLSAgICA8UG9zdEJ1aWxkRXZlbnQ+Ci0gICAgICA8Q29tbWFuZD4KLSAgICAgIDwvQ29tbWFuZD4KLSAgICA8L1Bvc3RCdWlsZEV2ZW50PgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyI+Ci0gICAgPEN1c3RvbUJ1aWxkU3RlcD4KLSAgICAgIDxNZXNzYWdlPkJ1aWxkIFBDL3B5dGhvbm50X3JjKF9kKS5oPC9NZXNzYWdlPgotICAgICAgPENvbW1hbmQ+Y2QgJChTb2x1dGlvbkRpcikKLW1ha2VfdmVyc2lvbmluZm9fZC5leGUgJmd0OyAuLlxQQ1xweXRob25udF9yY19kLmgKLTwvQ29tbWFuZD4KLSAgICAgIDxPdXRwdXRzPiQoU29sdXRpb25EaXIpLi5cUENccHl0aG9ubnRfcmNfZC5oOyUoT3V0cHV0cyk8L091dHB1dHM+Ci0gICAgPC9DdXN0b21CdWlsZFN0ZXA+Ci0gICAgPE1pZGw+Ci0gICAgICA8VGFyZ2V0RW52aXJvbm1lbnQ+WDY0PC9UYXJnZXRFbnZpcm9ubWVudD4KLSAgICA8L01pZGw+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxPcHRpbWl6YXRpb24+RGlzYWJsZWQ8L09wdGltaXphdGlvbj4KLSAgICAgIDxJbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj5Pbmx5RXhwbGljaXRJbmxpbmU8L0lubGluZUZ1bmN0aW9uRXhwYW5zaW9uPgotICAgICAgPEludHJpbnNpY0Z1bmN0aW9ucz5mYWxzZTwvSW50cmluc2ljRnVuY3Rpb25zPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPl9DT05TT0xFOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8TGluaz4KLSAgICAgIDxPdXRwdXRGaWxlPiQoU29sdXRpb25EaXIpbWFrZV92ZXJzaW9uaW5mb19kLmV4ZTwvT3V0cHV0RmlsZT4KLSAgICAgIDxUYXJnZXRNYWNoaW5lPk1hY2hpbmVYNjQ8L1RhcmdldE1hY2hpbmU+Ci0gICAgPC9MaW5rPgotICAgIDxQb3N0QnVpbGRFdmVudD4KLSAgICAgIDxDb21tYW5kPmNkICQoU29sdXRpb25EaXIpCi1tYWtlX3ZlcnNpb25pbmZvX2QuZXhlICZndDsgLi5cUENccHl0aG9uX250X2QuaAotPC9Db21tYW5kPgotICAgIDwvUG9zdEJ1aWxkRXZlbnQ+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1Hcm91cD4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXFBDXG1ha2VfdmVyc2lvbmluZm8uYyIgLz4KLSAgPC9JdGVtR3JvdXA+Ci0gIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLnRhcmdldHMiIC8+Ci0gIDxJbXBvcnRHcm91cCBMYWJlbD0iRXh0ZW5zaW9uVGFyZ2V0cyI+Ci0gIDwvSW1wb3J0R3JvdXA+Ci08L1Byb2plY3Q+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvUENidWlsZC9tYWtlX3ZlcnNpb25pbmZvLnZjeHByb2ouZmlsdGVycyBiL1BDYnVpbGQvbWFrZV92ZXJzaW9uaW5mby52Y3hwcm9qLmZpbHRlcnMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDk2YzA0MzQuLjAwMDAwMDAKLS0tIGEvUENidWlsZC9tYWtlX3ZlcnNpb25pbmZvLnZjeHByb2ouZmlsdGVycworKysgL2Rldi9udWxsCkBAIC0xLDEzICswLDAgQEAKLe+7vzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Ci08UHJvamVjdCBUb29sc1ZlcnNpb249IjQuMCIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+Ci0gIDxJdGVtR3JvdXA+Ci0gICAgPEZpbHRlciBJbmNsdWRlPSJTb3VyY2UgRmlsZXMiPgotICAgICAgPFVuaXF1ZUlkZW50aWZpZXI+e2U0MTgwOTU0LWMzYTUtNDc0OS1iOWE0LTMxYjgwNGVlNGZhOH08L1VuaXF1ZUlkZW50aWZpZXI+Ci0gICAgPC9GaWx0ZXI+Ci0gIDwvSXRlbUdyb3VwPgotICA8SXRlbUdyb3VwPgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cUENcbWFrZV92ZXJzaW9uaW5mby5jIj4KLSAgICAgIDxGaWx0ZXI+U291cmNlIEZpbGVzPC9GaWx0ZXI+Ci0gICAgPC9DbENvbXBpbGU+Ci0gIDwvSXRlbUdyb3VwPgotPC9Qcm9qZWN0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL1BDYnVpbGQvb3BlbnNzbC5wcm9wcyBiL1BDYnVpbGQvb3BlbnNzbC5wcm9wcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNTYxNTllCi0tLSAvZGV2L251bGwKKysrIGIvUENidWlsZC9vcGVuc3NsLnByb3BzCkBAIC0wLDAgKzEsNzUgQEAKK++7vzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Cis8UHJvamVjdCBUb29sc1ZlcnNpb249IjQuMCIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+CisgIDxJbXBvcnQgUHJvamVjdD0icHlwcm9qZWN0LnByb3BzIiAvPgorCisgIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJDb25maWd1cmF0aW9uIj4KKyAgICA8Q29uZmlndXJhdGlvblR5cGU+U3RhdGljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+CisgICAgPEludERpcj4kKG9wZW5zc2xEaXIpdG1wXCQoQXJjaE5hbWUpXyQoQ29uZmlndXJhdGlvbilcJChQcm9qZWN0TmFtZSlcPC9JbnREaXI+CisgICAgPEludERpciBDb25kaXRpb249IiQoQ29uZmlndXJhdGlvbikgPT0gJ1BHSW5zdHJ1bWVudCcgb3IgJChDb25maWd1cmF0aW9uKSA9PSAnUEdVcGRhdGUnIj4kKG9wZW5zc2xEaXIpdG1wXCQoQXJjaE5hbWUpXCQoUHJvamVjdE5hbWUpXDwvSW50RGlyPgorICA8L1Byb3BlcnR5R3JvdXA+CisKKyAgPEl0ZW1Hcm91cD4KKyAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMgSW5jbHVkZT0iRFNPX1dJTjMyIiAvPgorICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyBJbmNsdWRlPSJXSU4zMl9MRUFOX0FORF9NRUFOIiAvPgorICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyBJbmNsdWRlPSJMX0VORElBTiIgLz4KKyAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMgSW5jbHVkZT0iX0NSVF9TRUNVUkVfTk9fV0FSTklOR1MiIC8+CisgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zIEluY2x1ZGU9Il9DUlRfU0VDVVJFX05PX0RFUFJFQ0FURSIgLz4KKyAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMgSW5jbHVkZT0iT1BFTlNTTF9USFJFQURTIiAvPgorICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyBJbmNsdWRlPSJPUEVOU1NMX1NZU05BTUVfV0lOMzIiIC8+CisgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zIEluY2x1ZGU9Ik9QRU5TU0xfSUEzMl9TU0UyIiAvPgorICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyBJbmNsdWRlPSJPUEVOU1NMX0JOX0FTTV9HRjJtIiAvPgorICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyBJbmNsdWRlPSJPUEVOU1NMX0NQVUlEX09CSiIgLz4KKyAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMgSW5jbHVkZT0iU0hBMV9BU00iIC8+CisgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zIEluY2x1ZGU9IlNIQTI1Nl9BU00iIC8+CisgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zIEluY2x1ZGU9IlNIQTUxMl9BU00iIC8+CisgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zIEluY2x1ZGU9Ik1ENV9BU00iIC8+CisgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zIEluY2x1ZGU9IkFFU19BU00iIC8+CisgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zIEluY2x1ZGU9IlZQQUVTX0FTTSIgLz4KKyAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMgSW5jbHVkZT0iV0hJUkxQT09MX0FTTSIgLz4KKyAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMgSW5jbHVkZT0iR0hBU0hfQVNNIiAvPgorICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyBJbmNsdWRlPSJPUEVOU1NMX05PX0lERUEiIC8+CisgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zIEluY2x1ZGU9Ik9QRU5TU0xfTk9fUkM1IiAvPgorICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyBJbmNsdWRlPSJPUEVOU1NMX05PX01EMiIgLz4KKyAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMgSW5jbHVkZT0iT1BFTlNTTF9OT19NREMyIiAvPgorICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyBJbmNsdWRlPSJPUEVOU1NMX05PX0tSQjUiIC8+CisgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zIEluY2x1ZGU9Ik9QRU5TU0xfTk9fSlBBS0UiIC8+CisgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zIEluY2x1ZGU9Ik9QRU5TU0xfTk9fUkRSQU5EIiAvPgorICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyBJbmNsdWRlPSJPUEVOU1NMX05PX1JTQVgiIC8+CisgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zIEluY2x1ZGU9Ik9QRU5TU0xfTk9fRFlOQU1JQ19FTkdJTkUiIC8+CisgIDwvSXRlbUdyb3VwPgorICA8SXRlbUdyb3VwIENvbmRpdGlvbj0iJyQoUGxhdGZvcm0pJz09J1dpbjMyJyI+CisgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zIEluY2x1ZGU9Ik9QRU5TU0xfQk5fQVNNX1BBUlRfV09SRFMiIC8+CisgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zIEluY2x1ZGU9Ik9QRU5TU0xfQk5fQVNNX01PTlQiIC8+CisgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zIEluY2x1ZGU9IlJNRDE2MF9BU00iIC8+CisgIDwvSXRlbUdyb3VwPgorICAKKyAgPFByb3BlcnR5R3JvdXA+CisgICAgPF9QcmVwcm9jZXNzb3JEZWZpbml0aW9uTGlzdD5AKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvX1ByZXByb2Nlc3NvckRlZmluaXRpb25MaXN0PgorICA8L1Byb3BlcnR5R3JvdXA+CisgIAorICA8SXRlbURlZmluaXRpb25Hcm91cD4KKyAgICA8Q2xDb21waWxlPgorICAgICAgPCEtLSBTdXBwcmVzcyA2NC1iaXQgdHJ1bmNhdGlvbiB3YXJuaW5ncyAtIHRoZXkgYXJlbid0IG91cnMgdG8gd29ycnkgYWJvdXQgLS0+CisgICAgICA8RGlzYWJsZVNwZWNpZmljV2FybmluZ3M+NDI0NDs0MjY3PC9EaXNhYmxlU3BlY2lmaWNXYXJuaW5ncz4KKyAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPiQob3BlbnNzbERpcik7JChvcGVuc3NsRGlyKWluY2x1ZGU7JChvcGVuc3NsRGlyKWNyeXB0bzskKG9wZW5zc2xEaXIpY3J5cHRvXGFzbjE7JChvcGVuc3NsRGlyKWNyeXB0b1xldnA7JChvcGVuc3NsRGlyKWNyeXB0b1xtb2RlczwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KKyAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4kKF9QcmVwcm9jZXNzb3JEZWZpbml0aW9uTGlzdCk7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgorICAgIDwvQ2xDb21waWxlPgorICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+CisgIAorICA8VGFyZ2V0IE5hbWU9IkZpbmROYXNtIj4KKyAgICA8UHJvcGVydHlHcm91cD4KKyAgICAgIDxuYXNtIENvbmRpdGlvbj0iJChQbGF0Zm9ybSkgPT0gJ1dpbjMyJyI+bmFzbS5leGUgLWYgd2luMzI8L25hc20+CisgICAgICA8bmFzbSBDb25kaXRpb249IiQoUGxhdGZvcm0pID09ICd4NjQnIj5uYXNtLmV4ZSAtZiB3aW42NCAtRE5FQVIgLU94IC1nPC9uYXNtPgorICAgIDwvUHJvcGVydHlHcm91cD4KKyAgPC9UYXJnZXQ+CisKKyAgPFRhcmdldCBOYW1lPSJCdWlsZE5hc21GaWxlcyIgQmVmb3JlVGFyZ2V0cz0iUHJlQnVpbGRFdmVudCIgRGVwZW5kc09uVGFyZ2V0cz0iUHJlcGFyZUZvckJ1aWxkO0ZpbmROYXNtIiBJbnB1dHM9IkAoTmFzbUNvbXBpbGUpIiBPdXRwdXRzPSJAKE5hc21Db21waWxlLT4nJChJbnREaXIpJShGaWxlbmFtZSkub2JqJykiPgorICAgIDxFeGVjIENvbW1hbmQ9J3NldGxvY2FsCitzZXQgUEFUSD0lUEFUSCU7JChuYXNtRGlyKQorJChuYXNtKSAtbyAiJChJbnREaXIpJShOYXNtQ29tcGlsZS5GaWxlbmFtZSkub2JqIiAiJShOYXNtQ29tcGlsZS5GdWxsUGF0aCkiJyAvPgorICAgIDxJdGVtR3JvdXA+CisgICAgICA8TGluayBJbmNsdWRlPSIkKEludERpciklKE5hc21Db21waWxlLkZpbGVuYW1lKS5vYmoiIC8+CisgICAgICA8TGliIEluY2x1ZGU9IiQoSW50RGlyKSUoTmFzbUNvbXBpbGUuRmlsZW5hbWUpLm9iaiIgLz4KKyAgICA8L0l0ZW1Hcm91cD4KKyAgPC9UYXJnZXQ+Cis8L1Byb2plY3Q+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvUENidWlsZC9wY2J1aWxkLnByb2ogYi9QQ2J1aWxkL3BjYnVpbGQucHJvagpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MDRiOGQ0Ci0tLSAvZGV2L251bGwKKysrIGIvUENidWlsZC9wY2J1aWxkLnByb2oKQEAgLTAsMCArMSw4NCBAQAor77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KKzxQcm9qZWN0IERlZmF1bHRUYXJnZXRzPSJCdWlsZCIgVG9vbHNWZXJzaW9uPSI0LjAiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2RldmVsb3Blci9tc2J1aWxkLzIwMDMiPgorICA8UHJvcGVydHlHcm91cCBMYWJlbD0iR2xvYmFscyI+CisgICAgPFByb2plY3RHdWlkPntDQzlCOTNBMi00MzlELTQwNTgtOUQyOS02RENGNDM3NzQ0MDV9PC9Qcm9qZWN0R3VpZD4KKyAgICA8UGxhdGZvcm0gQ29uZGl0aW9uPSInJChQbGF0Zm9ybSknID09ICcnIj5XaW4zMjwvUGxhdGZvcm0+CisgICAgPENvbmZpZ3VyYXRpb24gQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKScgPT0gJyciPlJlbGVhc2U8L0NvbmZpZ3VyYXRpb24+CisgICAgPEluY2x1ZGVFeHRlbnNpb25zIENvbmRpdGlvbj0iJyQoSW5jbHVkZUV4dGVuc2lvbnMpJyA9PSAnJyI+dHJ1ZTwvSW5jbHVkZUV4dGVuc2lvbnM+CisgICAgPEluY2x1ZGVUZXN0cyBDb25kaXRpb249IickKEluY2x1ZGVUZXN0KScgPT0gJyciPnRydWU8L0luY2x1ZGVUZXN0cz4KKyAgICA8SW5jbHVkZVNTTCBDb25kaXRpb249IickKEluY2x1ZGVTU0wpJyA9PSAnJyI+dHJ1ZTwvSW5jbHVkZVNTTD4KKyAgPC9Qcm9wZXJ0eUdyb3VwPgorCisgIDxJdGVtRGVmaW5pdGlvbkdyb3VwPgorICAgIDxQcm9qZWN0cz4KKyAgICAgIDxQbGF0Zm9ybT4kKFBsYXRmb3JtKTwvUGxhdGZvcm0+CisgICAgICA8Q29uZmlndXJhdGlvbj4kKENvbmZpZ3VyYXRpb24pPC9Db25maWd1cmF0aW9uPgorICAgICAgPFByb3BlcnRpZXM+PC9Qcm9wZXJ0aWVzPgorICAgICAgPEJ1aWxkVGFyZ2V0PkJ1aWxkPC9CdWlsZFRhcmdldD4KKyAgICAgIDxDbGVhblRhcmdldD5DbGVhbjwvQ2xlYW5UYXJnZXQ+CisgICAgICA8Q2xlYW5BbGxUYXJnZXQ+Q2xlYW5BbGw8L0NsZWFuQWxsVGFyZ2V0PgorICAgICAgPEJ1aWxkSW5QYXJhbGxlbD50cnVlPC9CdWlsZEluUGFyYWxsZWw+CisgICAgPC9Qcm9qZWN0cz4KKyAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgorICA8SXRlbUdyb3VwPgorICAgIDwhLS0gcHl0aG9uWFkuZGxsIC0tPgorICAgIDwhLS0KKyAgICBQYXJhbGxlbCBidWlsZCBpcyBleHBsaWNpdGx5IGRpc2FibGVkIGZvciB0aGlzIHByb2plY3QgYmVjYXVzZSBpdAorICAgIGNhdXNlcyBtYW55IGNvbmZsaWN0cyBiZXR3ZWVuIHB5dGhvbmNvcmUgYW5kIHByb2plY3RzIHRoYXQgZGVwZW5kCisgICAgaW4gcHl0aG9uY29yZS4gT25jZSB0aGUgY29yZSBETEwgaGFzIGJlZW4gYnVpbHQsIHN1YnNlcXVlbnQKKyAgICBwcm9qZWN0cyB3aWxsIGJlIGJ1aWx0IGluIHBhcmFsbGVsLgorICAgIC0tPgorICAgIDxQcm9qZWN0cyBJbmNsdWRlPSJweXRob25jb3JlLnZjeHByb2oiPgorICAgICAgPEJ1aWxkSW5QYXJhbGxlbD5mYWxzZTwvQnVpbGRJblBhcmFsbGVsPgorICAgIDwvUHJvamVjdHM+CisgICAgPCEtLSBweXRob25bd10uZXhlIC0tPgorICAgIDxQcm9qZWN0cyBJbmNsdWRlPSJweXRob24udmN4cHJvajtweXRob253LnZjeHByb2oiIC8+CisgICAgPCEtLSBweXRob24zLmRsbCAtLT4KKyAgICA8UHJvamVjdHMgSW5jbHVkZT0icHl0aG9uM2RsbC52Y3hwcm9qIiAvPgorICAgIDwhLS0gcHlbd10uZXhlIC0tPgorICAgIDxQcm9qZWN0cyBJbmNsdWRlPSJweWxhdW5jaGVyLnZjeHByb2o7cHl3bGF1bmNoZXIudmN4cHJvaiIgLz4KKyAgICA8IS0tIF9mcmVlemVfaW1wb3J0bGliIC0tPgorICAgIDxQcm9qZWN0cyBJbmNsdWRlPSJfZnJlZXplX2ltcG9ydGxpYi52Y3hwcm9qIiAvPgorICAgIDwhLS0gRXh0ZW5zaW9uIG1vZHVsZXMgLS0+CisgICAgPEV4dGVuc2lvbk1vZHVsZXMgSW5jbHVkZT0iX2J6MjtfY3R5cGVzO19kZWNpbWFsO19lbGVtZW50dHJlZTtfbHptYTtfbXNpO19tdWx0aXByb2Nlc3Npbmc7X292ZXJsYXBwZWQ7X3NxbGl0ZTM7X3RraW50ZXI7cHlleHBhdDtzZWxlY3Q7dW5pY29kZWRhdGE7d2luc291bmQiIC8+CisgICAgPCEtLSBfc3NsIHdpbGwgYnVpbGQgX3NvY2tldCBhcyB3ZWxsLCB3aGljaCBtYXkgY2F1c2UgY29uZmxpY3RzIGluIHBhcmFsbGVsIGJ1aWxkcyAtLT4KKyAgICA8RXh0ZW5zaW9uTW9kdWxlcyBJbmNsdWRlPSJfc29ja2V0IiBDb25kaXRpb249IiEkKEluY2x1ZGVTU0wpIiAvPgorICAgIDxFeHRlbnNpb25Nb2R1bGVzIEluY2x1ZGU9Il9zc2w7X2hhc2hsaWIiIENvbmRpdGlvbj0iJChJbmNsdWRlU1NMKSIgLz4KKyAgICA8UHJvamVjdHMgSW5jbHVkZT0iQChFeHRlbnNpb25Nb2R1bGVzLT4nJShJZGVudGl0eSkudmN4cHJvaicpIiBDb25kaXRpb249IiQoSW5jbHVkZUV4dGVuc2lvbnMpIiAvPgorICAgIDwhLS0gVGVzdCBtb2R1bGVzIC0tPgorICAgIDxUZXN0TW9kdWxlcyBJbmNsdWRlPSJfY3R5cGVzX3Rlc3Q7X3Rlc3RidWZmZXI7X3Rlc3RjYXBpO190ZXN0ZW1iZWQ7X3Rlc3RpbXBvcnRtdWx0aXBsZSIgLz4KKyAgICA8VGVzdE1vZHVsZXMgSW5jbHVkZT0ieHhsaW1pdGVkIiBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pJyA9PSAnUmVsZWFzZSciIC8+CisgICAgPFByb2plY3RzIEluY2x1ZGU9IkAoVGVzdE1vZHVsZXMtPiclKElkZW50aXR5KS52Y3hwcm9qJykiIENvbmRpdGlvbj0iJChJbmNsdWRlVGVzdHMpIj4KKyAgICAgIDwhLS0gRGlzYWJsZSBwYXJhbGxlbCBidWlsZCBmb3IgdGVzdCBtb2R1bGVzIC0tPgorICAgICAgPEJ1aWxkSW5QYXJhbGxlbD5mYWxzZTwvQnVpbGRJblBhcmFsbGVsPgorICAgIDwvUHJvamVjdHM+CisgIDwvSXRlbUdyb3VwPgorCisgIDxUYXJnZXQgTmFtZT0iQnVpbGQiPgorICAgIDxNU0J1aWxkIFByb2plY3RzPSJAKFByb2plY3RzKSIKKyAgICAgICAgICAgICBQcm9wZXJ0aWVzPSJDb25maWd1cmF0aW9uPSUoQ29uZmlndXJhdGlvbik7UGxhdGZvcm09JShQbGF0Zm9ybSk7JShQcm9wZXJ0aWVzKSIKKyAgICAgICAgICAgICBCdWlsZEluUGFyYWxsZWw9IiUoQnVpbGRJblBhcmFsbGVsKSIKKyAgICAgICAgICAgICBUYXJnZXRzPSIlKEJ1aWxkVGFyZ2V0KSIgLz4KKyAgPC9UYXJnZXQ+CisKKyAgPFRhcmdldCBOYW1lPSJDbGVhbiI+CisgICAgPE1TQnVpbGQgUHJvamVjdHM9IkAoUHJvamVjdHMpIgorICAgICAgICAgICAgIFByb3BlcnRpZXM9IkNvbmZpZ3VyYXRpb249JShDb25maWd1cmF0aW9uKTtQbGF0Zm9ybT0lKFBsYXRmb3JtKTslKFByb3BlcnRpZXMpIgorICAgICAgICAgICAgIEJ1aWxkSW5QYXJhbGxlbD0iJShCdWlsZEluUGFyYWxsZWwpIgorICAgICAgICAgICAgIFN0b3BPbkZpcnN0RmFpbHVyZT0iZmFsc2UiCisgICAgICAgICAgICAgQ29uZGl0aW9uPSIlKENsZWFuVGFyZ2V0KSAhPSAnJyIKKyAgICAgICAgICAgICBUYXJnZXRzPSIlKENsZWFuVGFyZ2V0KSIgLz4KKyAgPC9UYXJnZXQ+CisKKyAgPFRhcmdldCBOYW1lPSJDbGVhbkFsbCI+CisgICAgPE1TQnVpbGQgUHJvamVjdHM9IkAoUHJvamVjdHMpIgorICAgICAgICAgICAgIFByb3BlcnRpZXM9IkNvbmZpZ3VyYXRpb249JShDb25maWd1cmF0aW9uKTtQbGF0Zm9ybT0lKFBsYXRmb3JtKTslKFByb3BlcnRpZXMpIgorICAgICAgICAgICAgIEJ1aWxkSW5QYXJhbGxlbD0iJShCdWlsZEluUGFyYWxsZWwpIgorICAgICAgICAgICAgIFN0b3BPbkZpcnN0RmFpbHVyZT0iZmFsc2UiCisgICAgICAgICAgICAgQ29uZGl0aW9uPSIlKENsZWFuQWxsVGFyZ2V0KSAhPSAnJyIKKyAgICAgICAgICAgICBUYXJnZXRzPSIlKENsZWFuQWxsVGFyZ2V0KSIgLz4KKyAgPC9UYXJnZXQ+CisKKyAgPFRhcmdldCBOYW1lPSJSZWJ1aWxkIiBEZXBlbmRzT25UYXJnZXRzPSJDbGVhbjtCdWlsZCIgLz4KKyAgPFRhcmdldCBOYW1lPSJSZWJ1aWxkQWxsIiBEZXBlbmRzT25UYXJnZXRzPSJDbGVhbkFsbDtCdWlsZCIgLz4KKzwvUHJvamVjdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9QQ2J1aWxkL3BjYnVpbGQuc2xuIGIvUENidWlsZC9wY2J1aWxkLnNsbgppbmRleCBhMzQ2ZTEwLi43YjM3NjM1IDEwMDY0NAotLS0gYS9QQ2J1aWxkL3BjYnVpbGQuc2xuCisrKyBiL1BDYnVpbGQvcGNidWlsZC5zbG4KQEAgLTEsNSArMSw3IEBACi1NaWNyb3NvZnQgVmlzdWFsIFN0dWRpbyBTb2x1dGlvbiBGaWxlLCBGb3JtYXQgVmVyc2lvbiAxMS4wMA0KLSMgVmlzdWFsIFN0dWRpbyAyMDEwDQorTWljcm9zb2Z0IFZpc3VhbCBTdHVkaW8gU29sdXRpb24gRmlsZSwgRm9ybWF0IFZlcnNpb24gMTIuMDANCisjIFZpc3VhbCBTdHVkaW8gMjAxMw0KK1Zpc3VhbFN0dWRpb1ZlcnNpb24gPSAxMi4wLjMwNTAxLjANCitNaW5pbXVtVmlzdWFsU3R1ZGlvVmVyc2lvbiA9IDEwLjAuNDAyMTkuMQ0KIFByb2plY3QoInsyMTUwRTMzMy04RkRDLTQyQTMtOTQ3NC0xQTM5NTZENDZERTh9IikgPSAiU29sdXRpb24gSXRlbXMiLCAiU29sdXRpb24gSXRlbXMiLCAiezU1M0VDMzNFLTk4MTYtNDk5Ni1BNjYwLTVENjE4NkEwQjBCM30iDQogCVByb2plY3RTZWN0aW9uKFNvbHV0aW9uSXRlbXMpID0gcHJlUHJvamVjdA0KIAkJLi5cTW9kdWxlc1xnZXRidWlsZGluZm8uYyA9IC4uXE1vZHVsZXNcZ2V0YnVpbGRpbmZvLmMNCkBAIC04LDE0ICsxMCwxMCBAQAogRW5kUHJvamVjdA0KIFByb2plY3QoIns4QkM5Q0VCOC04QjRBLTExRDAtOEQxMS0wMEEwQzkxQkM5NDJ9IikgPSAicHl0aG9uIiwgInB5dGhvbi52Y3hwcm9qIiwgIntCMTFENzUwRi1DRDFGLTRBOTYtODVDRS1FNjlBNUM1MjU5Rjl9Ig0KIEVuZFByb2plY3QNCi1Qcm9qZWN0KCJ7OEJDOUNFQjgtOEI0QS0xMUQwLThEMTEtMDBBMEM5MUJDOTQyfSIpID0gIm1ha2VfdmVyc2lvbmluZm8iLCAibWFrZV92ZXJzaW9uaW5mby52Y3hwcm9qIiwgIntGMEUwNTQxRS1GMTdELTQzMEItOTdDNC05M0FERjBERDI4NEV9Ig0KLUVuZFByb2plY3QNCiBQcm9qZWN0KCJ7OEJDOUNFQjgtOEI0QS0xMUQwLThEMTEtMDBBMEM5MUJDOTQyfSIpID0gInB5dGhvbmNvcmUiLCAicHl0aG9uY29yZS52Y3hwcm9qIiwgIntDRjdBQzNEMS1FMkRGLTQxRDItQkVBNi0xRTI1NTZDREVBMjZ9Ig0KIEVuZFByb2plY3QNCiBQcm9qZWN0KCJ7OEJDOUNFQjgtOEI0QS0xMUQwLThEMTEtMDBBMEM5MUJDOTQyfSIpID0gInB5dGhvbnciLCAicHl0aG9udy52Y3hwcm9qIiwgIntGNDIyOUNDMy04NzNDLTQ5QUUtOTcyOS1ERDMwOEVENENENEF9Ig0KIEVuZFByb2plY3QNCi1Qcm9qZWN0KCJ7OEJDOUNFQjgtOEI0QS0xMUQwLThEMTEtMDBBMEM5MUJDOTQyfSIpID0gIm1ha2VfYnVpbGRpbmZvIiwgIm1ha2VfYnVpbGRpbmZvLnZjeHByb2oiLCAie0M3M0YwRUMxLTM1OEItNDE3Ny05NDBGLTA4NDZBQzhCMDRDRH0iDQotRW5kUHJvamVjdA0KIFByb2plY3QoIns4QkM5Q0VCOC04QjRBLTExRDAtOEQxMS0wMEEwQzkxQkM5NDJ9IikgPSAid2luc291bmQiLCAid2luc291bmQudmN4cHJvaiIsICJ7MjhCNUQ3NzctRERGMi00QjZCLUIzNEYtMzFEOTM4ODEzODU2fSINCiBFbmRQcm9qZWN0DQogUHJvamVjdCgiezhCQzlDRUI4LThCNEEtMTFEMC04RDExLTAwQTBDOTFCQzk0Mn0iKSA9ICJfZGVjaW1hbCIsICJfZGVjaW1hbC52Y3hwcm9qIiwgInswRTk3OTFEQi01OTNBLTQ2NUYtOThCQy02ODEwMTEzMTE2MTd9Ig0KQEAgLTUwLDcgKzQ4LDcgQEAKIEVuZFByb2plY3QNCiBQcm9qZWN0KCJ7OEJDOUNFQjgtOEI0QS0xMUQwLThEMTEtMDBBMEM5MUJDOTQyfSIpID0gInB5ZXhwYXQiLCAicHlleHBhdC52Y3hwcm9qIiwgIntEMDZCNjQyNi00NzYyLTQ0Q0MtOEJBRC1ENzkwNTI1MDdGMkZ9Ig0KIEVuZFByb2plY3QNCi1Qcm9qZWN0KCJ7OEJDOUNFQjgtOEI0QS0xMUQwLThEMTEtMDBBMEM5MUJDOTQyfSIpID0gImJkaXN0X3dpbmluc3QiLCAiYmRpc3Rfd2luaW5zdC52Y3hwcm9qIiwgIntFQjFDMTlDMS0xRjE4LTQyMUUtOTczNS1DQUVFNjlEQzZBM0N9Ig0KK1Byb2plY3QoIns4QkM5Q0VCOC04QjRBLTExRDAtOEQxMS0wMEEwQzkxQkM5NDJ9IikgPSAiYmRpc3Rfd2luaW5zdCIsICIuLlxQQ1xiZGlzdF93aW5pbnN0XGJkaXN0X3dpbmluc3QudmN4cHJvaiIsICJ7RUIxQzE5QzEtMUYxOC00MjFFLTk3MzUtQ0FFRTY5REM2QTNDfSINCiBFbmRQcm9qZWN0DQogUHJvamVjdCgiezhCQzlDRUI4LThCNEEtMTFEMC04RDExLTAwQTBDOTFCQzk0Mn0iKSA9ICJfaGFzaGxpYiIsICJfaGFzaGxpYi52Y3hwcm9qIiwgIns0NDdGMDVBOC1GNTgxLTRDQUMtQTQ2Ni01QUM3OTM2RTIwN0V9Ig0KIEVuZFByb2plY3QNCkBAIC01OCwxMCArNTYsNiBAQAogRW5kUHJvamVjdA0KIFByb2plY3QoIns4QkM5Q0VCOC04QjRBLTExRDAtOEQxMS0wMEEwQzkxQkM5NDJ9IikgPSAiX211bHRpcHJvY2Vzc2luZyIsICJfbXVsdGlwcm9jZXNzaW5nLnZjeHByb2oiLCAiezlFNDhCMzAwLTM3RDEtMTFERC04QzQxLTAwNTA1NkMwMDAwOH0iDQogRW5kUHJvamVjdA0KLVByb2plY3QoIns4QkM5Q0VCOC04QjRBLTExRDAtOEQxMS0wMEEwQzkxQkM5NDJ9IikgPSAic3NsIiwgInNzbC52Y3hwcm9qIiwgIntFNUIwNENDMC1FQjRDLTQyQUItQjREQy0xOEVGOTVGODY0QjB9Ig0KLUVuZFByb2plY3QNCi1Qcm9qZWN0KCJ7OEJDOUNFQjgtOEI0QS0xMUQwLThEMTEtMDBBMEM5MUJDOTQyfSIpID0gImtpbGxfcHl0aG9uIiwgImtpbGxfcHl0aG9uLnZjeHByb2oiLCAiezZERTEwNzQ0LUUzOTYtNDBBNS1CNEUyLTFCNjlBQTdDOEQzMX0iDQotRW5kUHJvamVjdA0KIFByb2plY3QoIns4QkM5Q0VCOC04QjRBLTExRDAtOEQxMS0wMEEwQzkxQkM5NDJ9IikgPSAicHl0aG9uM2RsbCIsICJweXRob24zZGxsLnZjeHByb2oiLCAiezg4NUQ0ODk4LUQwOEQtNDA5MS05QzQwLUM3MDBDRkUzRkM1QX0iDQogRW5kUHJvamVjdA0KIFByb2plY3QoIns4QkM5Q0VCOC04QjRBLTExRDAtOEQxMS0wMEEwQzkxQkM5NDJ9IikgPSAieHhsaW1pdGVkIiwgInh4bGltaXRlZC52Y3hwcm9qIiwgIntGNzQ5QjgyMi1CNDg5LTRDQTUtQTNBRC1DRTA3OEY1RjMzOEF9Ig0KQEAgLTc4LDYgKzcyLDE2IEBACiBFbmRQcm9qZWN0DQogUHJvamVjdCgiezhCQzlDRUI4LThCNEEtMTFEMC04RDExLTAwQTBDOTFCQzk0Mn0iKSA9ICJfdGVzdGVtYmVkIiwgIl90ZXN0ZW1iZWQudmN4cHJvaiIsICJ7NkRBQzY2RDktRTcwMy00NjI0LUJFMDMtNDkxMTJBQjVBQTYyfSINCiBFbmRQcm9qZWN0DQorUHJvamVjdCgiezhCQzlDRUI4LThCNEEtMTFEMC04RDExLTAwQTBDOTFCQzk0Mn0iKSA9ICJ0Y2wiLCAidGNsLnZjeHByb2oiLCAie0I1RkQ2RjFELTEyOUUtNEJGRi05MzQwLTAzNjA2RkFDNzI4M30iDQorRW5kUHJvamVjdA0KK1Byb2plY3QoIns4QkM5Q0VCOC04QjRBLTExRDAtOEQxMS0wMEEwQzkxQkM5NDJ9IikgPSAidGl4IiwgInRpeC52Y3hwcm9qIiwgIntDNUEzRTdGQi05Njk1LTRCMkUtOTYwQi0xRDlGNDNGMUU1NTV9Ig0KK0VuZFByb2plY3QNCitQcm9qZWN0KCJ7OEJDOUNFQjgtOEI0QS0xMUQwLThEMTEtMDBBMEM5MUJDOTQyfSIpID0gInRrIiwgInRrLnZjeHByb2oiLCAiezdFODVFQ0NGLUE3MkMtNERBNC05RTUyLTg4NDUwOEU4MEJBMX0iDQorRW5kUHJvamVjdA0KK1Byb2plY3QoIns4QkM5Q0VCOC04QjRBLTExRDAtOEQxMS0wMEEwQzkxQkM5NDJ9IikgPSAibGliZWF5IiwgImxpYmVheS52Y3hwcm9qIiwgIntFNUIwNENDMC1FQjRDLTQyQUItQjREQy0xOEVGOTVGODY0QjB9Ig0KK0VuZFByb2plY3QNCitQcm9qZWN0KCJ7OEJDOUNFQjgtOEI0QS0xMUQwLThEMTEtMDBBMEM5MUJDOTQyfSIpID0gInNzbGVheSIsICJzc2xlYXkudmN4cHJvaiIsICJ7MTA2MTVCMjQtNzNCRi00RUZBLTkzQUEtMjM2OTE2MzIxMzE3fSINCitFbmRQcm9qZWN0DQogR2xvYmFsDQogCUdsb2JhbFNlY3Rpb24oU29sdXRpb25Db25maWd1cmF0aW9uUGxhdGZvcm1zKSA9IHByZVNvbHV0aW9uDQogCQlEZWJ1Z3xXaW4zMiA9IERlYnVnfFdpbjMyDQpAQCAtMTA2LDIyICsxMTAsNiBAQAogCQl7QjExRDc1MEYtQ0QxRi00QTk2LTg1Q0UtRTY5QTVDNTI1OUY5fS5SZWxlYXNlfFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQogCQl7QjExRDc1MEYtQ0QxRi00QTk2LTg1Q0UtRTY5QTVDNTI1OUY5fS5SZWxlYXNlfHg2NC5BY3RpdmVDZmcgPSBSZWxlYXNlfHg2NA0KIAkJe0IxMUQ3NTBGLUNEMUYtNEE5Ni04NUNFLUU2OUE1QzUyNTlGOX0uUmVsZWFzZXx4NjQuQnVpbGQuMCA9IFJlbGVhc2V8eDY0DQotCQl7RjBFMDU0MUUtRjE3RC00MzBCLTk3QzQtOTNBREYwREQyODRFfS5EZWJ1Z3xXaW4zMi5BY3RpdmVDZmcgPSBEZWJ1Z3xXaW4zMg0KLQkJe0YwRTA1NDFFLUYxN0QtNDMwQi05N0M0LTkzQURGMEREMjg0RX0uRGVidWd8V2luMzIuQnVpbGQuMCA9IERlYnVnfFdpbjMyDQotCQl7RjBFMDU0MUUtRjE3RC00MzBCLTk3QzQtOTNBREYwREQyODRFfS5EZWJ1Z3x4NjQuQWN0aXZlQ2ZnID0gRGVidWd8V2luMzINCi0JCXtGMEUwNTQxRS1GMTdELTQzMEItOTdDNC05M0FERjBERDI4NEV9LkRlYnVnfHg2NC5CdWlsZC4wID0gRGVidWd8V2luMzINCi0JCXtGMEUwNTQxRS1GMTdELTQzMEItOTdDNC05M0FERjBERDI4NEV9LlBHSW5zdHJ1bWVudHxXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQotCQl7RjBFMDU0MUUtRjE3RC00MzBCLTk3QzQtOTNBREYwREQyODRFfS5QR0luc3RydW1lbnR8V2luMzIuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCi0JCXtGMEUwNTQxRS1GMTdELTQzMEItOTdDNC05M0FERjBERDI4NEV9LlBHSW5zdHJ1bWVudHx4NjQuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KLQkJe0YwRTA1NDFFLUYxN0QtNDMwQi05N0M0LTkzQURGMEREMjg0RX0uUEdJbnN0cnVtZW50fHg2NC5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KLQkJe0YwRTA1NDFFLUYxN0QtNDMwQi05N0M0LTkzQURGMEREMjg0RX0uUEdVcGRhdGV8V2luMzIuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KLQkJe0YwRTA1NDFFLUYxN0QtNDMwQi05N0M0LTkzQURGMEREMjg0RX0uUEdVcGRhdGV8V2luMzIuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCi0JCXtGMEUwNTQxRS1GMTdELTQzMEItOTdDNC05M0FERjBERDI4NEV9LlBHVXBkYXRlfHg2NC5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQotCQl7RjBFMDU0MUUtRjE3RC00MzBCLTk3QzQtOTNBREYwREQyODRFfS5QR1VwZGF0ZXx4NjQuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCi0JCXtGMEUwNTQxRS1GMTdELTQzMEItOTdDNC05M0FERjBERDI4NEV9LlJlbGVhc2V8V2luMzIuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KLQkJe0YwRTA1NDFFLUYxN0QtNDMwQi05N0M0LTkzQURGMEREMjg0RX0uUmVsZWFzZXxXaW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KLQkJe0YwRTA1NDFFLUYxN0QtNDMwQi05N0M0LTkzQURGMEREMjg0RX0uUmVsZWFzZXx4NjQuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KLQkJe0YwRTA1NDFFLUYxN0QtNDMwQi05N0M0LTkzQURGMEREMjg0RX0uUmVsZWFzZXx4NjQuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCiAJCXtDRjdBQzNEMS1FMkRGLTQxRDItQkVBNi0xRTI1NTZDREVBMjZ9LkRlYnVnfFdpbjMyLkFjdGl2ZUNmZyA9IERlYnVnfFdpbjMyDQogCQl7Q0Y3QUMzRDEtRTJERi00MUQyLUJFQTYtMUUyNTU2Q0RFQTI2fS5EZWJ1Z3xXaW4zMi5CdWlsZC4wID0gRGVidWd8V2luMzINCiAJCXtDRjdBQzNEMS1FMkRGLTQxRDItQkVBNi0xRTI1NTZDREVBMjZ9LkRlYnVnfHg2NC5BY3RpdmVDZmcgPSBEZWJ1Z3x4NjQNCkBAIC0xNDIsMzQgKzEzMCwxOCBAQAogCQl7RjQyMjlDQzMtODczQy00OUFFLTk3MjktREQzMDhFRDRDRDRBfS5EZWJ1Z3xXaW4zMi5CdWlsZC4wID0gRGVidWd8V2luMzINCiAJCXtGNDIyOUNDMy04NzNDLTQ5QUUtOTcyOS1ERDMwOEVENENENEF9LkRlYnVnfHg2NC5BY3RpdmVDZmcgPSBEZWJ1Z3x4NjQNCiAJCXtGNDIyOUNDMy04NzNDLTQ5QUUtOTcyOS1ERDMwOEVENENENEF9LkRlYnVnfHg2NC5CdWlsZC4wID0gRGVidWd8eDY0DQotCQl7RjQyMjlDQzMtODczQy00OUFFLTk3MjktREQzMDhFRDRDRDRBfS5QR0luc3RydW1lbnR8V2luMzIuQWN0aXZlQ2ZnID0gUEdJbnN0cnVtZW50fFdpbjMyDQotCQl7RjQyMjlDQzMtODczQy00OUFFLTk3MjktREQzMDhFRDRDRDRBfS5QR0luc3RydW1lbnR8V2luMzIuQnVpbGQuMCA9IFBHSW5zdHJ1bWVudHxXaW4zMg0KLQkJe0Y0MjI5Q0MzLTg3M0MtNDlBRS05NzI5LUREMzA4RUQ0Q0Q0QX0uUEdJbnN0cnVtZW50fHg2NC5BY3RpdmVDZmcgPSBQR0luc3RydW1lbnR8eDY0DQotCQl7RjQyMjlDQzMtODczQy00OUFFLTk3MjktREQzMDhFRDRDRDRBfS5QR0luc3RydW1lbnR8eDY0LkJ1aWxkLjAgPSBQR0luc3RydW1lbnR8eDY0DQotCQl7RjQyMjlDQzMtODczQy00OUFFLTk3MjktREQzMDhFRDRDRDRBfS5QR1VwZGF0ZXxXaW4zMi5BY3RpdmVDZmcgPSBQR1VwZGF0ZXxXaW4zMg0KLQkJe0Y0MjI5Q0MzLTg3M0MtNDlBRS05NzI5LUREMzA4RUQ0Q0Q0QX0uUEdVcGRhdGV8V2luMzIuQnVpbGQuMCA9IFBHVXBkYXRlfFdpbjMyDQotCQl7RjQyMjlDQzMtODczQy00OUFFLTk3MjktREQzMDhFRDRDRDRBfS5QR1VwZGF0ZXx4NjQuQWN0aXZlQ2ZnID0gUEdVcGRhdGV8eDY0DQotCQl7RjQyMjlDQzMtODczQy00OUFFLTk3MjktREQzMDhFRDRDRDRBfS5QR1VwZGF0ZXx4NjQuQnVpbGQuMCA9IFBHVXBkYXRlfHg2NA0KKwkJe0Y0MjI5Q0MzLTg3M0MtNDlBRS05NzI5LUREMzA4RUQ0Q0Q0QX0uUEdJbnN0cnVtZW50fFdpbjMyLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCisJCXtGNDIyOUNDMy04NzNDLTQ5QUUtOTcyOS1ERDMwOEVENENENEF9LlBHSW5zdHJ1bWVudHxXaW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KKwkJe0Y0MjI5Q0MzLTg3M0MtNDlBRS05NzI5LUREMzA4RUQ0Q0Q0QX0uUEdJbnN0cnVtZW50fHg2NC5BY3RpdmVDZmcgPSBSZWxlYXNlfHg2NA0KKwkJe0Y0MjI5Q0MzLTg3M0MtNDlBRS05NzI5LUREMzA4RUQ0Q0Q0QX0uUEdJbnN0cnVtZW50fHg2NC5CdWlsZC4wID0gUmVsZWFzZXx4NjQNCisJCXtGNDIyOUNDMy04NzNDLTQ5QUUtOTcyOS1ERDMwOEVENENENEF9LlBHVXBkYXRlfFdpbjMyLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCisJCXtGNDIyOUNDMy04NzNDLTQ5QUUtOTcyOS1ERDMwOEVENENENEF9LlBHVXBkYXRlfFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQorCQl7RjQyMjlDQzMtODczQy00OUFFLTk3MjktREQzMDhFRDRDRDRBfS5QR1VwZGF0ZXx4NjQuQWN0aXZlQ2ZnID0gUmVsZWFzZXx4NjQNCisJCXtGNDIyOUNDMy04NzNDLTQ5QUUtOTcyOS1ERDMwOEVENENENEF9LlBHVXBkYXRlfHg2NC5CdWlsZC4wID0gUmVsZWFzZXx4NjQNCiAJCXtGNDIyOUNDMy04NzNDLTQ5QUUtOTcyOS1ERDMwOEVENENENEF9LlJlbGVhc2V8V2luMzIuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KIAkJe0Y0MjI5Q0MzLTg3M0MtNDlBRS05NzI5LUREMzA4RUQ0Q0Q0QX0uUmVsZWFzZXxXaW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KIAkJe0Y0MjI5Q0MzLTg3M0MtNDlBRS05NzI5LUREMzA4RUQ0Q0Q0QX0uUmVsZWFzZXx4NjQuQWN0aXZlQ2ZnID0gUmVsZWFzZXx4NjQNCiAJCXtGNDIyOUNDMy04NzNDLTQ5QUUtOTcyOS1ERDMwOEVENENENEF9LlJlbGVhc2V8eDY0LkJ1aWxkLjAgPSBSZWxlYXNlfHg2NA0KLQkJe0M3M0YwRUMxLTM1OEItNDE3Ny05NDBGLTA4NDZBQzhCMDRDRH0uRGVidWd8V2luMzIuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KLQkJe0M3M0YwRUMxLTM1OEItNDE3Ny05NDBGLTA4NDZBQzhCMDRDRH0uRGVidWd8V2luMzIuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCi0JCXtDNzNGMEVDMS0zNThCLTQxNzctOTQwRi0wODQ2QUM4QjA0Q0R9LkRlYnVnfHg2NC5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQotCQl7QzczRjBFQzEtMzU4Qi00MTc3LTk0MEYtMDg0NkFDOEIwNENEfS5EZWJ1Z3x4NjQuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCi0JCXtDNzNGMEVDMS0zNThCLTQxNzctOTQwRi0wODQ2QUM4QjA0Q0R9LlBHSW5zdHJ1bWVudHxXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQotCQl7QzczRjBFQzEtMzU4Qi00MTc3LTk0MEYtMDg0NkFDOEIwNENEfS5QR0luc3RydW1lbnR8V2luMzIuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCi0JCXtDNzNGMEVDMS0zNThCLTQxNzctOTQwRi0wODQ2QUM4QjA0Q0R9LlBHSW5zdHJ1bWVudHx4NjQuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KLQkJe0M3M0YwRUMxLTM1OEItNDE3Ny05NDBGLTA4NDZBQzhCMDRDRH0uUEdJbnN0cnVtZW50fHg2NC5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KLQkJe0M3M0YwRUMxLTM1OEItNDE3Ny05NDBGLTA4NDZBQzhCMDRDRH0uUEdVcGRhdGV8V2luMzIuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KLQkJe0M3M0YwRUMxLTM1OEItNDE3Ny05NDBGLTA4NDZBQzhCMDRDRH0uUEdVcGRhdGV8V2luMzIuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCi0JCXtDNzNGMEVDMS0zNThCLTQxNzctOTQwRi0wODQ2QUM4QjA0Q0R9LlBHVXBkYXRlfHg2NC5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQotCQl7QzczRjBFQzEtMzU4Qi00MTc3LTk0MEYtMDg0NkFDOEIwNENEfS5QR1VwZGF0ZXx4NjQuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCi0JCXtDNzNGMEVDMS0zNThCLTQxNzctOTQwRi0wODQ2QUM4QjA0Q0R9LlJlbGVhc2V8V2luMzIuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KLQkJe0M3M0YwRUMxLTM1OEItNDE3Ny05NDBGLTA4NDZBQzhCMDRDRH0uUmVsZWFzZXxXaW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KLQkJe0M3M0YwRUMxLTM1OEItNDE3Ny05NDBGLTA4NDZBQzhCMDRDRH0uUmVsZWFzZXx4NjQuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KLQkJe0M3M0YwRUMxLTM1OEItNDE3Ny05NDBGLTA4NDZBQzhCMDRDRH0uUmVsZWFzZXx4NjQuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCiAJCXsyOEI1RDc3Ny1EREYyLTRCNkItQjM0Ri0zMUQ5Mzg4MTM4NTZ9LkRlYnVnfFdpbjMyLkFjdGl2ZUNmZyA9IERlYnVnfFdpbjMyDQogCQl7MjhCNUQ3NzctRERGMi00QjZCLUIzNEYtMzFEOTM4ODEzODU2fS5EZWJ1Z3xXaW4zMi5CdWlsZC4wID0gRGVidWd8V2luMzINCiAJCXsyOEI1RDc3Ny1EREYyLTRCNkItQjM0Ri0zMUQ5Mzg4MTM4NTZ9LkRlYnVnfHg2NC5BY3RpdmVDZmcgPSBEZWJ1Z3x4NjQNCkBAIC0yMjIsMTQgKzE5NCwxNCBAQAogCQl7OUVDNzE5MEEtMjQ5Ri00MTgwLUE5MDAtNTQ4RkRDRjMwNTVGfS5EZWJ1Z3xXaW4zMi5CdWlsZC4wID0gRGVidWd8V2luMzINCiAJCXs5RUM3MTkwQS0yNDlGLTQxODAtQTkwMC01NDhGRENGMzA1NUZ9LkRlYnVnfHg2NC5BY3RpdmVDZmcgPSBEZWJ1Z3x4NjQNCiAJCXs5RUM3MTkwQS0yNDlGLTQxODAtQTkwMC01NDhGRENGMzA1NUZ9LkRlYnVnfHg2NC5CdWlsZC4wID0gRGVidWd8eDY0DQotCQl7OUVDNzE5MEEtMjQ5Ri00MTgwLUE5MDAtNTQ4RkRDRjMwNTVGfS5QR0luc3RydW1lbnR8V2luMzIuQWN0aXZlQ2ZnID0gUEdJbnN0cnVtZW50fFdpbjMyDQotCQl7OUVDNzE5MEEtMjQ5Ri00MTgwLUE5MDAtNTQ4RkRDRjMwNTVGfS5QR0luc3RydW1lbnR8V2luMzIuQnVpbGQuMCA9IFBHSW5zdHJ1bWVudHxXaW4zMg0KLQkJezlFQzcxOTBBLTI0OUYtNDE4MC1BOTAwLTU0OEZEQ0YzMDU1Rn0uUEdJbnN0cnVtZW50fHg2NC5BY3RpdmVDZmcgPSBQR0luc3RydW1lbnR8eDY0DQotCQl7OUVDNzE5MEEtMjQ5Ri00MTgwLUE5MDAtNTQ4RkRDRjMwNTVGfS5QR0luc3RydW1lbnR8eDY0LkJ1aWxkLjAgPSBQR0luc3RydW1lbnR8eDY0DQotCQl7OUVDNzE5MEEtMjQ5Ri00MTgwLUE5MDAtNTQ4RkRDRjMwNTVGfS5QR1VwZGF0ZXxXaW4zMi5BY3RpdmVDZmcgPSBQR1VwZGF0ZXxXaW4zMg0KLQkJezlFQzcxOTBBLTI0OUYtNDE4MC1BOTAwLTU0OEZEQ0YzMDU1Rn0uUEdVcGRhdGV8V2luMzIuQnVpbGQuMCA9IFBHVXBkYXRlfFdpbjMyDQotCQl7OUVDNzE5MEEtMjQ5Ri00MTgwLUE5MDAtNTQ4RkRDRjMwNTVGfS5QR1VwZGF0ZXx4NjQuQWN0aXZlQ2ZnID0gUEdVcGRhdGV8eDY0DQotCQl7OUVDNzE5MEEtMjQ5Ri00MTgwLUE5MDAtNTQ4RkRDRjMwNTVGfS5QR1VwZGF0ZXx4NjQuQnVpbGQuMCA9IFBHVXBkYXRlfHg2NA0KKwkJezlFQzcxOTBBLTI0OUYtNDE4MC1BOTAwLTU0OEZEQ0YzMDU1Rn0uUEdJbnN0cnVtZW50fFdpbjMyLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCisJCXs5RUM3MTkwQS0yNDlGLTQxODAtQTkwMC01NDhGRENGMzA1NUZ9LlBHSW5zdHJ1bWVudHxXaW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KKwkJezlFQzcxOTBBLTI0OUYtNDE4MC1BOTAwLTU0OEZEQ0YzMDU1Rn0uUEdJbnN0cnVtZW50fHg2NC5BY3RpdmVDZmcgPSBSZWxlYXNlfHg2NA0KKwkJezlFQzcxOTBBLTI0OUYtNDE4MC1BOTAwLTU0OEZEQ0YzMDU1Rn0uUEdJbnN0cnVtZW50fHg2NC5CdWlsZC4wID0gUmVsZWFzZXx4NjQNCisJCXs5RUM3MTkwQS0yNDlGLTQxODAtQTkwMC01NDhGRENGMzA1NUZ9LlBHVXBkYXRlfFdpbjMyLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCisJCXs5RUM3MTkwQS0yNDlGLTQxODAtQTkwMC01NDhGRENGMzA1NUZ9LlBHVXBkYXRlfFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQorCQl7OUVDNzE5MEEtMjQ5Ri00MTgwLUE5MDAtNTQ4RkRDRjMwNTVGfS5QR1VwZGF0ZXx4NjQuQWN0aXZlQ2ZnID0gUmVsZWFzZXx4NjQNCisJCXs5RUM3MTkwQS0yNDlGLTQxODAtQTkwMC01NDhGRENGMzA1NUZ9LlBHVXBkYXRlfHg2NC5CdWlsZC4wID0gUmVsZWFzZXx4NjQNCiAJCXs5RUM3MTkwQS0yNDlGLTQxODAtQTkwMC01NDhGRENGMzA1NUZ9LlJlbGVhc2V8V2luMzIuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KIAkJezlFQzcxOTBBLTI0OUYtNDE4MC1BOTAwLTU0OEZEQ0YzMDU1Rn0uUmVsZWFzZXxXaW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KIAkJezlFQzcxOTBBLTI0OUYtNDE4MC1BOTAwLTU0OEZEQ0YzMDU1Rn0uUmVsZWFzZXx4NjQuQWN0aXZlQ2ZnID0gUmVsZWFzZXx4NjQNCkBAIC0zMzQsMTQgKzMwNiwxNCBAQAogCQl7MzZEMEM1MkMtREY0RS00NUQwLThCQzctRTI5NEMzQUJDNzgxfS5EZWJ1Z3xXaW4zMi5CdWlsZC4wID0gRGVidWd8V2luMzINCiAJCXszNkQwQzUyQy1ERjRFLTQ1RDAtOEJDNy1FMjk0QzNBQkM3ODF9LkRlYnVnfHg2NC5BY3RpdmVDZmcgPSBEZWJ1Z3x4NjQNCiAJCXszNkQwQzUyQy1ERjRFLTQ1RDAtOEJDNy1FMjk0QzNBQkM3ODF9LkRlYnVnfHg2NC5CdWlsZC4wID0gRGVidWd8eDY0DQotCQl7MzZEMEM1MkMtREY0RS00NUQwLThCQzctRTI5NEMzQUJDNzgxfS5QR0luc3RydW1lbnR8V2luMzIuQWN0aXZlQ2ZnID0gUEdJbnN0cnVtZW50fFdpbjMyDQotCQl7MzZEMEM1MkMtREY0RS00NUQwLThCQzctRTI5NEMzQUJDNzgxfS5QR0luc3RydW1lbnR8V2luMzIuQnVpbGQuMCA9IFBHSW5zdHJ1bWVudHxXaW4zMg0KLQkJezM2RDBDNTJDLURGNEUtNDVEMC04QkM3LUUyOTRDM0FCQzc4MX0uUEdJbnN0cnVtZW50fHg2NC5BY3RpdmVDZmcgPSBQR0luc3RydW1lbnR8eDY0DQotCQl7MzZEMEM1MkMtREY0RS00NUQwLThCQzctRTI5NEMzQUJDNzgxfS5QR0luc3RydW1lbnR8eDY0LkJ1aWxkLjAgPSBQR0luc3RydW1lbnR8eDY0DQotCQl7MzZEMEM1MkMtREY0RS00NUQwLThCQzctRTI5NEMzQUJDNzgxfS5QR1VwZGF0ZXxXaW4zMi5BY3RpdmVDZmcgPSBQR1VwZGF0ZXxXaW4zMg0KLQkJezM2RDBDNTJDLURGNEUtNDVEMC04QkM3LUUyOTRDM0FCQzc4MX0uUEdVcGRhdGV8V2luMzIuQnVpbGQuMCA9IFBHVXBkYXRlfFdpbjMyDQotCQl7MzZEMEM1MkMtREY0RS00NUQwLThCQzctRTI5NEMzQUJDNzgxfS5QR1VwZGF0ZXx4NjQuQWN0aXZlQ2ZnID0gUEdVcGRhdGV8eDY0DQotCQl7MzZEMEM1MkMtREY0RS00NUQwLThCQzctRTI5NEMzQUJDNzgxfS5QR1VwZGF0ZXx4NjQuQnVpbGQuMCA9IFBHVXBkYXRlfHg2NA0KKwkJezM2RDBDNTJDLURGNEUtNDVEMC04QkM3LUUyOTRDM0FCQzc4MX0uUEdJbnN0cnVtZW50fFdpbjMyLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCisJCXszNkQwQzUyQy1ERjRFLTQ1RDAtOEJDNy1FMjk0QzNBQkM3ODF9LlBHSW5zdHJ1bWVudHxXaW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KKwkJezM2RDBDNTJDLURGNEUtNDVEMC04QkM3LUUyOTRDM0FCQzc4MX0uUEdJbnN0cnVtZW50fHg2NC5BY3RpdmVDZmcgPSBSZWxlYXNlfHg2NA0KKwkJezM2RDBDNTJDLURGNEUtNDVEMC04QkM3LUUyOTRDM0FCQzc4MX0uUEdJbnN0cnVtZW50fHg2NC5CdWlsZC4wID0gUmVsZWFzZXx4NjQNCisJCXszNkQwQzUyQy1ERjRFLTQ1RDAtOEJDNy1FMjk0QzNBQkM3ODF9LlBHVXBkYXRlfFdpbjMyLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCisJCXszNkQwQzUyQy1ERjRFLTQ1RDAtOEJDNy1FMjk0QzNBQkM3ODF9LlBHVXBkYXRlfFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQorCQl7MzZEMEM1MkMtREY0RS00NUQwLThCQzctRTI5NEMzQUJDNzgxfS5QR1VwZGF0ZXx4NjQuQWN0aXZlQ2ZnID0gUmVsZWFzZXx4NjQNCisJCXszNkQwQzUyQy1ERjRFLTQ1RDAtOEJDNy1FMjk0QzNBQkM3ODF9LlBHVXBkYXRlfHg2NC5CdWlsZC4wID0gUmVsZWFzZXx4NjQNCiAJCXszNkQwQzUyQy1ERjRFLTQ1RDAtOEJDNy1FMjk0QzNBQkM3ODF9LlJlbGVhc2V8V2luMzIuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KIAkJezM2RDBDNTJDLURGNEUtNDVEMC04QkM3LUUyOTRDM0FCQzc4MX0uUmVsZWFzZXxXaW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KIAkJezM2RDBDNTJDLURGNEUtNDVEMC04QkM3LUUyOTRDM0FCQzc4MX0uUmVsZWFzZXx4NjQuQWN0aXZlQ2ZnID0gUmVsZWFzZXx4NjQNCkBAIC00NDIsNyArNDE0LDcgQEAKIAkJe0QwNkI2NDI2LTQ3NjItNDRDQy04QkFELUQ3OTA1MjUwN0YyRn0uUmVsZWFzZXxXaW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KIAkJe0QwNkI2NDI2LTQ3NjItNDRDQy04QkFELUQ3OTA1MjUwN0YyRn0uUmVsZWFzZXx4NjQuQWN0aXZlQ2ZnID0gUmVsZWFzZXx4NjQNCiAJCXtEMDZCNjQyNi00NzYyLTQ0Q0MtOEJBRC1ENzkwNTI1MDdGMkZ9LlJlbGVhc2V8eDY0LkJ1aWxkLjAgPSBSZWxlYXNlfHg2NA0KLQkJe0VCMUMxOUMxLTFGMTgtNDIxRS05NzM1LUNBRUU2OURDNkEzQ30uRGVidWd8V2luMzIuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KKwkJe0VCMUMxOUMxLTFGMTgtNDIxRS05NzM1LUNBRUU2OURDNkEzQ30uRGVidWd8V2luMzIuQWN0aXZlQ2ZnID0gRGVidWd8V2luMzINCiAJCXtFQjFDMTlDMS0xRjE4LTQyMUUtOTczNS1DQUVFNjlEQzZBM0N9LkRlYnVnfHg2NC5BY3RpdmVDZmcgPSBSZWxlYXNlfHg2NA0KIAkJe0VCMUMxOUMxLTFGMTgtNDIxRS05NzM1LUNBRUU2OURDNkEzQ30uUEdJbnN0cnVtZW50fFdpbjMyLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCiAJCXtFQjFDMTlDMS0xRjE4LTQyMUUtOTczNS1DQUVFNjlEQzZBM0N9LlBHSW5zdHJ1bWVudHx4NjQuQWN0aXZlQ2ZnID0gUmVsZWFzZXx4NjQNCkBAIC00OTgsNDkgKzQ3MCwxOCBAQAogCQl7OUU0OEIzMDAtMzdEMS0xMURELThDNDEtMDA1MDU2QzAwMDA4fS5SZWxlYXNlfFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQogCQl7OUU0OEIzMDAtMzdEMS0xMURELThDNDEtMDA1MDU2QzAwMDA4fS5SZWxlYXNlfHg2NC5BY3RpdmVDZmcgPSBSZWxlYXNlfHg2NA0KIAkJezlFNDhCMzAwLTM3RDEtMTFERC04QzQxLTAwNTA1NkMwMDAwOH0uUmVsZWFzZXx4NjQuQnVpbGQuMCA9IFJlbGVhc2V8eDY0DQotCQl7RTVCMDRDQzAtRUI0Qy00MkFCLUI0REMtMThFRjk1Rjg2NEIwfS5EZWJ1Z3xXaW4zMi5BY3RpdmVDZmcgPSBEZWJ1Z3xXaW4zMg0KLQkJe0U1QjA0Q0MwLUVCNEMtNDJBQi1CNERDLTE4RUY5NUY4NjRCMH0uRGVidWd8V2luMzIuQnVpbGQuMCA9IERlYnVnfFdpbjMyDQotCQl7RTVCMDRDQzAtRUI0Qy00MkFCLUI0REMtMThFRjk1Rjg2NEIwfS5EZWJ1Z3x4NjQuQWN0aXZlQ2ZnID0gRGVidWd8eDY0DQotCQl7RTVCMDRDQzAtRUI0Qy00MkFCLUI0REMtMThFRjk1Rjg2NEIwfS5EZWJ1Z3x4NjQuQnVpbGQuMCA9IERlYnVnfHg2NA0KLQkJe0U1QjA0Q0MwLUVCNEMtNDJBQi1CNERDLTE4RUY5NUY4NjRCMH0uUEdJbnN0cnVtZW50fFdpbjMyLkFjdGl2ZUNmZyA9IFBHSW5zdHJ1bWVudHxXaW4zMg0KLQkJe0U1QjA0Q0MwLUVCNEMtNDJBQi1CNERDLTE4RUY5NUY4NjRCMH0uUEdJbnN0cnVtZW50fFdpbjMyLkJ1aWxkLjAgPSBQR0luc3RydW1lbnR8V2luMzINCi0JCXtFNUIwNENDMC1FQjRDLTQyQUItQjREQy0xOEVGOTVGODY0QjB9LlBHSW5zdHJ1bWVudHx4NjQuQWN0aXZlQ2ZnID0gUEdJbnN0cnVtZW50fHg2NA0KLQkJe0U1QjA0Q0MwLUVCNEMtNDJBQi1CNERDLTE4RUY5NUY4NjRCMH0uUEdJbnN0cnVtZW50fHg2NC5CdWlsZC4wID0gUEdJbnN0cnVtZW50fHg2NA0KLQkJe0U1QjA0Q0MwLUVCNEMtNDJBQi1CNERDLTE4RUY5NUY4NjRCMH0uUEdVcGRhdGV8V2luMzIuQWN0aXZlQ2ZnID0gUEdVcGRhdGV8V2luMzINCi0JCXtFNUIwNENDMC1FQjRDLTQyQUItQjREQy0xOEVGOTVGODY0QjB9LlBHVXBkYXRlfFdpbjMyLkJ1aWxkLjAgPSBQR1VwZGF0ZXxXaW4zMg0KLQkJe0U1QjA0Q0MwLUVCNEMtNDJBQi1CNERDLTE4RUY5NUY4NjRCMH0uUEdVcGRhdGV8eDY0LkFjdGl2ZUNmZyA9IFBHVXBkYXRlfHg2NA0KLQkJe0U1QjA0Q0MwLUVCNEMtNDJBQi1CNERDLTE4RUY5NUY4NjRCMH0uUEdVcGRhdGV8eDY0LkJ1aWxkLjAgPSBQR1VwZGF0ZXx4NjQNCi0JCXtFNUIwNENDMC1FQjRDLTQyQUItQjREQy0xOEVGOTVGODY0QjB9LlJlbGVhc2V8V2luMzIuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KLQkJe0U1QjA0Q0MwLUVCNEMtNDJBQi1CNERDLTE4RUY5NUY4NjRCMH0uUmVsZWFzZXxXaW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KLQkJe0U1QjA0Q0MwLUVCNEMtNDJBQi1CNERDLTE4RUY5NUY4NjRCMH0uUmVsZWFzZXx4NjQuQWN0aXZlQ2ZnID0gUmVsZWFzZXx4NjQNCi0JCXtFNUIwNENDMC1FQjRDLTQyQUItQjREQy0xOEVGOTVGODY0QjB9LlJlbGVhc2V8eDY0LkJ1aWxkLjAgPSBSZWxlYXNlfHg2NA0KLQkJezZERTEwNzQ0LUUzOTYtNDBBNS1CNEUyLTFCNjlBQTdDOEQzMX0uRGVidWd8V2luMzIuQWN0aXZlQ2ZnID0gRGVidWd8V2luMzINCi0JCXs2REUxMDc0NC1FMzk2LTQwQTUtQjRFMi0xQjY5QUE3QzhEMzF9LkRlYnVnfFdpbjMyLkJ1aWxkLjAgPSBEZWJ1Z3xXaW4zMg0KLQkJezZERTEwNzQ0LUUzOTYtNDBBNS1CNEUyLTFCNjlBQTdDOEQzMX0uRGVidWd8eDY0LkFjdGl2ZUNmZyA9IERlYnVnfHg2NA0KLQkJezZERTEwNzQ0LUUzOTYtNDBBNS1CNEUyLTFCNjlBQTdDOEQzMX0uRGVidWd8eDY0LkJ1aWxkLjAgPSBEZWJ1Z3x4NjQNCi0JCXs2REUxMDc0NC1FMzk2LTQwQTUtQjRFMi0xQjY5QUE3QzhEMzF9LlBHSW5zdHJ1bWVudHxXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQotCQl7NkRFMTA3NDQtRTM5Ni00MEE1LUI0RTItMUI2OUFBN0M4RDMxfS5QR0luc3RydW1lbnR8V2luMzIuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCi0JCXs2REUxMDc0NC1FMzk2LTQwQTUtQjRFMi0xQjY5QUE3QzhEMzF9LlBHSW5zdHJ1bWVudHx4NjQuQWN0aXZlQ2ZnID0gUmVsZWFzZXx4NjQNCi0JCXs2REUxMDc0NC1FMzk2LTQwQTUtQjRFMi0xQjY5QUE3QzhEMzF9LlBHSW5zdHJ1bWVudHx4NjQuQnVpbGQuMCA9IFJlbGVhc2V8eDY0DQotCQl7NkRFMTA3NDQtRTM5Ni00MEE1LUI0RTItMUI2OUFBN0M4RDMxfS5QR1VwZGF0ZXxXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQotCQl7NkRFMTA3NDQtRTM5Ni00MEE1LUI0RTItMUI2OUFBN0M4RDMxfS5QR1VwZGF0ZXxXaW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KLQkJezZERTEwNzQ0LUUzOTYtNDBBNS1CNEUyLTFCNjlBQTdDOEQzMX0uUEdVcGRhdGV8eDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2V8eDY0DQotCQl7NkRFMTA3NDQtRTM5Ni00MEE1LUI0RTItMUI2OUFBN0M4RDMxfS5QR1VwZGF0ZXx4NjQuQnVpbGQuMCA9IFJlbGVhc2V8eDY0DQotCQl7NkRFMTA3NDQtRTM5Ni00MEE1LUI0RTItMUI2OUFBN0M4RDMxfS5SZWxlYXNlfFdpbjMyLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCi0JCXs2REUxMDc0NC1FMzk2LTQwQTUtQjRFMi0xQjY5QUE3QzhEMzF9LlJlbGVhc2V8V2luMzIuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCi0JCXs2REUxMDc0NC1FMzk2LTQwQTUtQjRFMi0xQjY5QUE3QzhEMzF9LlJlbGVhc2V8eDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2V8eDY0DQotCQl7NkRFMTA3NDQtRTM5Ni00MEE1LUI0RTItMUI2OUFBN0M4RDMxfS5SZWxlYXNlfHg2NC5CdWlsZC4wID0gUmVsZWFzZXx4NjQNCi0JCXs4ODVENDg5OC1EMDhELTQwOTEtOUM0MC1DNzAwQ0ZFM0ZDNUF9LkRlYnVnfFdpbjMyLkFjdGl2ZUNmZyA9IFBHSW5zdHJ1bWVudHxXaW4zMg0KLQkJezg4NUQ0ODk4LUQwOEQtNDA5MS05QzQwLUM3MDBDRkUzRkM1QX0uRGVidWd8eDY0LkFjdGl2ZUNmZyA9IFBHVXBkYXRlfHg2NA0KLQkJezg4NUQ0ODk4LUQwOEQtNDA5MS05QzQwLUM3MDBDRkUzRkM1QX0uRGVidWd8eDY0LkJ1aWxkLjAgPSBQR1VwZGF0ZXx4NjQNCi0JCXs4ODVENDg5OC1EMDhELTQwOTEtOUM0MC1DNzAwQ0ZFM0ZDNUF9LlBHSW5zdHJ1bWVudHxXaW4zMi5BY3RpdmVDZmcgPSBQR0luc3RydW1lbnR8V2luMzINCi0JCXs4ODVENDg5OC1EMDhELTQwOTEtOUM0MC1DNzAwQ0ZFM0ZDNUF9LlBHSW5zdHJ1bWVudHxXaW4zMi5CdWlsZC4wID0gUEdJbnN0cnVtZW50fFdpbjMyDQotCQl7ODg1RDQ4OTgtRDA4RC00MDkxLTlDNDAtQzcwMENGRTNGQzVBfS5QR0luc3RydW1lbnR8eDY0LkFjdGl2ZUNmZyA9IFBHSW5zdHJ1bWVudHx4NjQNCi0JCXs4ODVENDg5OC1EMDhELTQwOTEtOUM0MC1DNzAwQ0ZFM0ZDNUF9LlBHSW5zdHJ1bWVudHx4NjQuQnVpbGQuMCA9IFBHSW5zdHJ1bWVudHx4NjQNCi0JCXs4ODVENDg5OC1EMDhELTQwOTEtOUM0MC1DNzAwQ0ZFM0ZDNUF9LlBHVXBkYXRlfFdpbjMyLkFjdGl2ZUNmZyA9IFBHVXBkYXRlfFdpbjMyDQotCQl7ODg1RDQ4OTgtRDA4RC00MDkxLTlDNDAtQzcwMENGRTNGQzVBfS5QR1VwZGF0ZXxXaW4zMi5CdWlsZC4wID0gUEdVcGRhdGV8V2luMzINCi0JCXs4ODVENDg5OC1EMDhELTQwOTEtOUM0MC1DNzAwQ0ZFM0ZDNUF9LlBHVXBkYXRlfHg2NC5BY3RpdmVDZmcgPSBQR1VwZGF0ZXx4NjQNCi0JCXs4ODVENDg5OC1EMDhELTQwOTEtOUM0MC1DNzAwQ0ZFM0ZDNUF9LlBHVXBkYXRlfHg2NC5CdWlsZC4wID0gUEdVcGRhdGV8eDY0DQorCQl7ODg1RDQ4OTgtRDA4RC00MDkxLTlDNDAtQzcwMENGRTNGQzVBfS5EZWJ1Z3xXaW4zMi5BY3RpdmVDZmcgPSBEZWJ1Z3xXaW4zMg0KKwkJezg4NUQ0ODk4LUQwOEQtNDA5MS05QzQwLUM3MDBDRkUzRkM1QX0uRGVidWd8V2luMzIuQnVpbGQuMCA9IERlYnVnfFdpbjMyDQorCQl7ODg1RDQ4OTgtRDA4RC00MDkxLTlDNDAtQzcwMENGRTNGQzVBfS5EZWJ1Z3x4NjQuQWN0aXZlQ2ZnID0gRGVidWd8eDY0DQorCQl7ODg1RDQ4OTgtRDA4RC00MDkxLTlDNDAtQzcwMENGRTNGQzVBfS5EZWJ1Z3x4NjQuQnVpbGQuMCA9IERlYnVnfHg2NA0KKwkJezg4NUQ0ODk4LUQwOEQtNDA5MS05QzQwLUM3MDBDRkUzRkM1QX0uUEdJbnN0cnVtZW50fFdpbjMyLkFjdGl2ZUNmZyA9IERlYnVnfFdpbjMyDQorCQl7ODg1RDQ4OTgtRDA4RC00MDkxLTlDNDAtQzcwMENGRTNGQzVBfS5QR0luc3RydW1lbnR8V2luMzIuQnVpbGQuMCA9IERlYnVnfFdpbjMyDQorCQl7ODg1RDQ4OTgtRDA4RC00MDkxLTlDNDAtQzcwMENGRTNGQzVBfS5QR0luc3RydW1lbnR8eDY0LkFjdGl2ZUNmZyA9IERlYnVnfHg2NA0KKwkJezg4NUQ0ODk4LUQwOEQtNDA5MS05QzQwLUM3MDBDRkUzRkM1QX0uUEdJbnN0cnVtZW50fHg2NC5CdWlsZC4wID0gRGVidWd8eDY0DQorCQl7ODg1RDQ4OTgtRDA4RC00MDkxLTlDNDAtQzcwMENGRTNGQzVBfS5QR1VwZGF0ZXxXaW4zMi5BY3RpdmVDZmcgPSBEZWJ1Z3xXaW4zMg0KKwkJezg4NUQ0ODk4LUQwOEQtNDA5MS05QzQwLUM3MDBDRkUzRkM1QX0uUEdVcGRhdGV8V2luMzIuQnVpbGQuMCA9IERlYnVnfFdpbjMyDQorCQl7ODg1RDQ4OTgtRDA4RC00MDkxLTlDNDAtQzcwMENGRTNGQzVBfS5QR1VwZGF0ZXx4NjQuQWN0aXZlQ2ZnID0gRGVidWd8eDY0DQorCQl7ODg1RDQ4OTgtRDA4RC00MDkxLTlDNDAtQzcwMENGRTNGQzVBfS5QR1VwZGF0ZXx4NjQuQnVpbGQuMCA9IERlYnVnfHg2NA0KIAkJezg4NUQ0ODk4LUQwOEQtNDA5MS05QzQwLUM3MDBDRkUzRkM1QX0uUmVsZWFzZXxXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQogCQl7ODg1RDQ4OTgtRDA4RC00MDkxLTlDNDAtQzcwMENGRTNGQzVBfS5SZWxlYXNlfFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQogCQl7ODg1RDQ4OTgtRDA4RC00MDkxLTlDNDAtQzcwMENGRTNGQzVBfS5SZWxlYXNlfHg2NC5BY3RpdmVDZmcgPSBSZWxlYXNlfHg2NA0KQEAgLTU2MywxNCArNTA0LDE0IEBACiAJCXtBMjY5N0JEMy0yOEMxLTRBRUMtOTEwNi04Qjc0ODYzOUZEMTZ9LkRlYnVnfFdpbjMyLkJ1aWxkLjAgPSBEZWJ1Z3xXaW4zMg0KIAkJe0EyNjk3QkQzLTI4QzEtNEFFQy05MTA2LThCNzQ4NjM5RkQxNn0uRGVidWd8eDY0LkFjdGl2ZUNmZyA9IERlYnVnfHg2NA0KIAkJe0EyNjk3QkQzLTI4QzEtNEFFQy05MTA2LThCNzQ4NjM5RkQxNn0uRGVidWd8eDY0LkJ1aWxkLjAgPSBEZWJ1Z3x4NjQNCi0JCXtBMjY5N0JEMy0yOEMxLTRBRUMtOTEwNi04Qjc0ODYzOUZEMTZ9LlBHSW5zdHJ1bWVudHxXaW4zMi5BY3RpdmVDZmcgPSBQR0luc3RydW1lbnR8V2luMzINCi0JCXtBMjY5N0JEMy0yOEMxLTRBRUMtOTEwNi04Qjc0ODYzOUZEMTZ9LlBHSW5zdHJ1bWVudHxXaW4zMi5CdWlsZC4wID0gUEdJbnN0cnVtZW50fFdpbjMyDQotCQl7QTI2OTdCRDMtMjhDMS00QUVDLTkxMDYtOEI3NDg2MzlGRDE2fS5QR0luc3RydW1lbnR8eDY0LkFjdGl2ZUNmZyA9IFBHSW5zdHJ1bWVudHx4NjQNCi0JCXtBMjY5N0JEMy0yOEMxLTRBRUMtOTEwNi04Qjc0ODYzOUZEMTZ9LlBHSW5zdHJ1bWVudHx4NjQuQnVpbGQuMCA9IFBHSW5zdHJ1bWVudHx4NjQNCi0JCXtBMjY5N0JEMy0yOEMxLTRBRUMtOTEwNi04Qjc0ODYzOUZEMTZ9LlBHVXBkYXRlfFdpbjMyLkFjdGl2ZUNmZyA9IFBHVXBkYXRlfFdpbjMyDQotCQl7QTI2OTdCRDMtMjhDMS00QUVDLTkxMDYtOEI3NDg2MzlGRDE2fS5QR1VwZGF0ZXxXaW4zMi5CdWlsZC4wID0gUEdVcGRhdGV8V2luMzINCi0JCXtBMjY5N0JEMy0yOEMxLTRBRUMtOTEwNi04Qjc0ODYzOUZEMTZ9LlBHVXBkYXRlfHg2NC5BY3RpdmVDZmcgPSBQR1VwZGF0ZXx4NjQNCi0JCXtBMjY5N0JEMy0yOEMxLTRBRUMtOTEwNi04Qjc0ODYzOUZEMTZ9LlBHVXBkYXRlfHg2NC5CdWlsZC4wID0gUEdVcGRhdGV8eDY0DQorCQl7QTI2OTdCRDMtMjhDMS00QUVDLTkxMDYtOEI3NDg2MzlGRDE2fS5QR0luc3RydW1lbnR8V2luMzIuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KKwkJe0EyNjk3QkQzLTI4QzEtNEFFQy05MTA2LThCNzQ4NjM5RkQxNn0uUEdJbnN0cnVtZW50fFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQorCQl7QTI2OTdCRDMtMjhDMS00QUVDLTkxMDYtOEI3NDg2MzlGRDE2fS5QR0luc3RydW1lbnR8eDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2V8eDY0DQorCQl7QTI2OTdCRDMtMjhDMS00QUVDLTkxMDYtOEI3NDg2MzlGRDE2fS5QR0luc3RydW1lbnR8eDY0LkJ1aWxkLjAgPSBSZWxlYXNlfHg2NA0KKwkJe0EyNjk3QkQzLTI4QzEtNEFFQy05MTA2LThCNzQ4NjM5RkQxNn0uUEdVcGRhdGV8V2luMzIuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KKwkJe0EyNjk3QkQzLTI4QzEtNEFFQy05MTA2LThCNzQ4NjM5RkQxNn0uUEdVcGRhdGV8V2luMzIuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCisJCXtBMjY5N0JEMy0yOEMxLTRBRUMtOTEwNi04Qjc0ODYzOUZEMTZ9LlBHVXBkYXRlfHg2NC5BY3RpdmVDZmcgPSBSZWxlYXNlfHg2NA0KKwkJe0EyNjk3QkQzLTI4QzEtNEFFQy05MTA2LThCNzQ4NjM5RkQxNn0uUEdVcGRhdGV8eDY0LkJ1aWxkLjAgPSBSZWxlYXNlfHg2NA0KIAkJe0EyNjk3QkQzLTI4QzEtNEFFQy05MTA2LThCNzQ4NjM5RkQxNn0uUmVsZWFzZXxXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQogCQl7QTI2OTdCRDMtMjhDMS00QUVDLTkxMDYtOEI3NDg2MzlGRDE2fS5SZWxlYXNlfFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQogCQl7QTI2OTdCRDMtMjhDMS00QUVDLTkxMDYtOEI3NDg2MzlGRDE2fS5SZWxlYXNlfHg2NC5BY3RpdmVDZmcgPSBSZWxlYXNlfHg2NA0KQEAgLTU3OSwzNCArNTIwLDM0IEBACiAJCXs3QjI3MjdCNS01QTNGLTQwRUUtQTg2Ni00M0ExM0NEMzE0NDZ9LkRlYnVnfFdpbjMyLkJ1aWxkLjAgPSBEZWJ1Z3xXaW4zMg0KIAkJezdCMjcyN0I1LTVBM0YtNDBFRS1BODY2LTQzQTEzQ0QzMTQ0Nn0uRGVidWd8eDY0LkFjdGl2ZUNmZyA9IERlYnVnfHg2NA0KIAkJezdCMjcyN0I1LTVBM0YtNDBFRS1BODY2LTQzQTEzQ0QzMTQ0Nn0uRGVidWd8eDY0LkJ1aWxkLjAgPSBEZWJ1Z3x4NjQNCi0JCXs3QjI3MjdCNS01QTNGLTQwRUUtQTg2Ni00M0ExM0NEMzE0NDZ9LlBHSW5zdHJ1bWVudHxXaW4zMi5BY3RpdmVDZmcgPSBQR0luc3RydW1lbnR8V2luMzINCi0JCXs3QjI3MjdCNS01QTNGLTQwRUUtQTg2Ni00M0ExM0NEMzE0NDZ9LlBHSW5zdHJ1bWVudHxXaW4zMi5CdWlsZC4wID0gUEdJbnN0cnVtZW50fFdpbjMyDQotCQl7N0IyNzI3QjUtNUEzRi00MEVFLUE4NjYtNDNBMTNDRDMxNDQ2fS5QR0luc3RydW1lbnR8eDY0LkFjdGl2ZUNmZyA9IFBHSW5zdHJ1bWVudHxXaW4zMg0KLQkJezdCMjcyN0I1LTVBM0YtNDBFRS1BODY2LTQzQTEzQ0QzMTQ0Nn0uUEdJbnN0cnVtZW50fHg2NC5CdWlsZC4wID0gUEdJbnN0cnVtZW50fFdpbjMyDQotCQl7N0IyNzI3QjUtNUEzRi00MEVFLUE4NjYtNDNBMTNDRDMxNDQ2fS5QR1VwZGF0ZXxXaW4zMi5BY3RpdmVDZmcgPSBQR1VwZGF0ZXxXaW4zMg0KLQkJezdCMjcyN0I1LTVBM0YtNDBFRS1BODY2LTQzQTEzQ0QzMTQ0Nn0uUEdVcGRhdGV8V2luMzIuQnVpbGQuMCA9IFBHVXBkYXRlfFdpbjMyDQotCQl7N0IyNzI3QjUtNUEzRi00MEVFLUE4NjYtNDNBMTNDRDMxNDQ2fS5QR1VwZGF0ZXx4NjQuQWN0aXZlQ2ZnID0gUEdVcGRhdGV8V2luMzINCi0JCXs3QjI3MjdCNS01QTNGLTQwRUUtQTg2Ni00M0ExM0NEMzE0NDZ9LlBHVXBkYXRlfHg2NC5CdWlsZC4wID0gUEdVcGRhdGV8V2luMzINCisJCXs3QjI3MjdCNS01QTNGLTQwRUUtQTg2Ni00M0ExM0NEMzE0NDZ9LlBHSW5zdHJ1bWVudHxXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQorCQl7N0IyNzI3QjUtNUEzRi00MEVFLUE4NjYtNDNBMTNDRDMxNDQ2fS5QR0luc3RydW1lbnR8V2luMzIuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCisJCXs3QjI3MjdCNS01QTNGLTQwRUUtQTg2Ni00M0ExM0NEMzE0NDZ9LlBHSW5zdHJ1bWVudHx4NjQuQWN0aXZlQ2ZnID0gUmVsZWFzZXx4NjQNCisJCXs3QjI3MjdCNS01QTNGLTQwRUUtQTg2Ni00M0ExM0NEMzE0NDZ9LlBHSW5zdHJ1bWVudHx4NjQuQnVpbGQuMCA9IFJlbGVhc2V8eDY0DQorCQl7N0IyNzI3QjUtNUEzRi00MEVFLUE4NjYtNDNBMTNDRDMxNDQ2fS5QR1VwZGF0ZXxXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQorCQl7N0IyNzI3QjUtNUEzRi00MEVFLUE4NjYtNDNBMTNDRDMxNDQ2fS5QR1VwZGF0ZXxXaW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KKwkJezdCMjcyN0I1LTVBM0YtNDBFRS1BODY2LTQzQTEzQ0QzMTQ0Nn0uUEdVcGRhdGV8eDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2V8eDY0DQorCQl7N0IyNzI3QjUtNUEzRi00MEVFLUE4NjYtNDNBMTNDRDMxNDQ2fS5QR1VwZGF0ZXx4NjQuQnVpbGQuMCA9IFJlbGVhc2V8eDY0DQogCQl7N0IyNzI3QjUtNUEzRi00MEVFLUE4NjYtNDNBMTNDRDMxNDQ2fS5SZWxlYXNlfFdpbjMyLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCiAJCXs3QjI3MjdCNS01QTNGLTQwRUUtQTg2Ni00M0ExM0NEMzE0NDZ9LlJlbGVhc2V8V2luMzIuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCi0JCXs3QjI3MjdCNS01QTNGLTQwRUUtQTg2Ni00M0ExM0NEMzE0NDZ9LlJlbGVhc2V8eDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCi0JCXs3QjI3MjdCNS01QTNGLTQwRUUtQTg2Ni00M0ExM0NEMzE0NDZ9LlJlbGVhc2V8eDY0LkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQorCQl7N0IyNzI3QjUtNUEzRi00MEVFLUE4NjYtNDNBMTNDRDMxNDQ2fS5SZWxlYXNlfHg2NC5BY3RpdmVDZmcgPSBSZWxlYXNlfHg2NA0KKwkJezdCMjcyN0I1LTVBM0YtNDBFRS1BODY2LTQzQTEzQ0QzMTQ0Nn0uUmVsZWFzZXx4NjQuQnVpbGQuMCA9IFJlbGVhc2V8eDY0DQogCQl7MUQ0QjE4RDMtN0MxMi00RUNCLTkxNzktODUzMUZGODc2Q0U2fS5EZWJ1Z3xXaW4zMi5BY3RpdmVDZmcgPSBEZWJ1Z3xXaW4zMg0KIAkJezFENEIxOEQzLTdDMTItNEVDQi05MTc5LTg1MzFGRjg3NkNFNn0uRGVidWd8V2luMzIuQnVpbGQuMCA9IERlYnVnfFdpbjMyDQogCQl7MUQ0QjE4RDMtN0MxMi00RUNCLTkxNzktODUzMUZGODc2Q0U2fS5EZWJ1Z3x4NjQuQWN0aXZlQ2ZnID0gRGVidWd8eDY0DQogCQl7MUQ0QjE4RDMtN0MxMi00RUNCLTkxNzktODUzMUZGODc2Q0U2fS5EZWJ1Z3x4NjQuQnVpbGQuMCA9IERlYnVnfHg2NA0KLQkJezFENEIxOEQzLTdDMTItNEVDQi05MTc5LTg1MzFGRjg3NkNFNn0uUEdJbnN0cnVtZW50fFdpbjMyLkFjdGl2ZUNmZyA9IFBHSW5zdHJ1bWVudHxXaW4zMg0KLQkJezFENEIxOEQzLTdDMTItNEVDQi05MTc5LTg1MzFGRjg3NkNFNn0uUEdJbnN0cnVtZW50fFdpbjMyLkJ1aWxkLjAgPSBQR0luc3RydW1lbnR8V2luMzINCi0JCXsxRDRCMThEMy03QzEyLTRFQ0ItOTE3OS04NTMxRkY4NzZDRTZ9LlBHSW5zdHJ1bWVudHx4NjQuQWN0aXZlQ2ZnID0gUEdJbnN0cnVtZW50fFdpbjMyDQotCQl7MUQ0QjE4RDMtN0MxMi00RUNCLTkxNzktODUzMUZGODc2Q0U2fS5QR0luc3RydW1lbnR8eDY0LkJ1aWxkLjAgPSBQR0luc3RydW1lbnR8V2luMzINCi0JCXsxRDRCMThEMy03QzEyLTRFQ0ItOTE3OS04NTMxRkY4NzZDRTZ9LlBHVXBkYXRlfFdpbjMyLkFjdGl2ZUNmZyA9IFBHVXBkYXRlfFdpbjMyDQotCQl7MUQ0QjE4RDMtN0MxMi00RUNCLTkxNzktODUzMUZGODc2Q0U2fS5QR1VwZGF0ZXxXaW4zMi5CdWlsZC4wID0gUEdVcGRhdGV8V2luMzINCi0JCXsxRDRCMThEMy03QzEyLTRFQ0ItOTE3OS04NTMxRkY4NzZDRTZ9LlBHVXBkYXRlfHg2NC5BY3RpdmVDZmcgPSBQR1VwZGF0ZXxXaW4zMg0KLQkJezFENEIxOEQzLTdDMTItNEVDQi05MTc5LTg1MzFGRjg3NkNFNn0uUEdVcGRhdGV8eDY0LkJ1aWxkLjAgPSBQR1VwZGF0ZXxXaW4zMg0KKwkJezFENEIxOEQzLTdDMTItNEVDQi05MTc5LTg1MzFGRjg3NkNFNn0uUEdJbnN0cnVtZW50fFdpbjMyLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCisJCXsxRDRCMThEMy03QzEyLTRFQ0ItOTE3OS04NTMxRkY4NzZDRTZ9LlBHSW5zdHJ1bWVudHxXaW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KKwkJezFENEIxOEQzLTdDMTItNEVDQi05MTc5LTg1MzFGRjg3NkNFNn0uUEdJbnN0cnVtZW50fHg2NC5BY3RpdmVDZmcgPSBSZWxlYXNlfHg2NA0KKwkJezFENEIxOEQzLTdDMTItNEVDQi05MTc5LTg1MzFGRjg3NkNFNn0uUEdJbnN0cnVtZW50fHg2NC5CdWlsZC4wID0gUmVsZWFzZXx4NjQNCisJCXsxRDRCMThEMy03QzEyLTRFQ0ItOTE3OS04NTMxRkY4NzZDRTZ9LlBHVXBkYXRlfFdpbjMyLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCisJCXsxRDRCMThEMy03QzEyLTRFQ0ItOTE3OS04NTMxRkY4NzZDRTZ9LlBHVXBkYXRlfFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQorCQl7MUQ0QjE4RDMtN0MxMi00RUNCLTkxNzktODUzMUZGODc2Q0U2fS5QR1VwZGF0ZXx4NjQuQWN0aXZlQ2ZnID0gUmVsZWFzZXx4NjQNCisJCXsxRDRCMThEMy03QzEyLTRFQ0ItOTE3OS04NTMxRkY4NzZDRTZ9LlBHVXBkYXRlfHg2NC5CdWlsZC4wID0gUmVsZWFzZXx4NjQNCiAJCXsxRDRCMThEMy03QzEyLTRFQ0ItOTE3OS04NTMxRkY4NzZDRTZ9LlJlbGVhc2V8V2luMzIuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KIAkJezFENEIxOEQzLTdDMTItNEVDQi05MTc5LTg1MzFGRjg3NkNFNn0uUmVsZWFzZXxXaW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KLQkJezFENEIxOEQzLTdDMTItNEVDQi05MTc5LTg1MzFGRjg3NkNFNn0uUmVsZWFzZXx4NjQuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KLQkJezFENEIxOEQzLTdDMTItNEVDQi05MTc5LTg1MzFGRjg3NkNFNn0uUmVsZWFzZXx4NjQuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCisJCXsxRDRCMThEMy03QzEyLTRFQ0ItOTE3OS04NTMxRkY4NzZDRTZ9LlJlbGVhc2V8eDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2V8eDY0DQorCQl7MUQ0QjE4RDMtN0MxMi00RUNCLTkxNzktODUzMUZGODc2Q0U2fS5SZWxlYXNlfHg2NC5CdWlsZC4wID0gUmVsZWFzZXx4NjQNCiAJCXsxOUMwQzEzRi00N0NBLTQ0MzItQUZGMy03OTlBMjk2QTREREN9LkRlYnVnfFdpbjMyLkFjdGl2ZUNmZyA9IERlYnVnfFdpbjMyDQogCQl7MTlDMEMxM0YtNDdDQS00NDMyLUFGRjMtNzk5QTI5NkE0RERDfS5EZWJ1Z3x4NjQuQWN0aXZlQ2ZnID0gRGVidWd8eDY0DQogCQl7MTlDMEMxM0YtNDdDQS00NDMyLUFGRjMtNzk5QTI5NkE0RERDfS5QR0luc3RydW1lbnR8V2luMzIuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KQEAgLTYxNCw3ICs1NTUsOSBAQAogCQl7MTlDMEMxM0YtNDdDQS00NDMyLUFGRjMtNzk5QTI5NkE0RERDfS5QR1VwZGF0ZXxXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQogCQl7MTlDMEMxM0YtNDdDQS00NDMyLUFGRjMtNzk5QTI5NkE0RERDfS5QR1VwZGF0ZXx4NjQuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KIAkJezE5QzBDMTNGLTQ3Q0EtNDQzMi1BRkYzLTc5OUEyOTZBNEREQ30uUmVsZWFzZXxXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQorCQl7MTlDMEMxM0YtNDdDQS00NDMyLUFGRjMtNzk5QTI5NkE0RERDfS5SZWxlYXNlfFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQogCQl7MTlDMEMxM0YtNDdDQS00NDMyLUFGRjMtNzk5QTI5NkE0RERDfS5SZWxlYXNlfHg2NC5BY3RpdmVDZmcgPSBSZWxlYXNlfHg2NA0KKwkJezE5QzBDMTNGLTQ3Q0EtNDQzMi1BRkYzLTc5OUEyOTZBNEREQ30uUmVsZWFzZXx4NjQuQnVpbGQuMCA9IFJlbGVhc2V8eDY0DQogCQl7RUI2RTY5REQtMDRCRi00NTQzLTlCOTItNDlGQUFCQ0VBQzJFfS5EZWJ1Z3xXaW4zMi5BY3RpdmVDZmcgPSBEZWJ1Z3xXaW4zMg0KIAkJe0VCNkU2OURELTA0QkYtNDU0My05QjkyLTQ5RkFBQkNFQUMyRX0uRGVidWd8V2luMzIuQnVpbGQuMCA9IERlYnVnfFdpbjMyDQogCQl7RUI2RTY5REQtMDRCRi00NTQzLTlCOTItNDlGQUFCQ0VBQzJFfS5EZWJ1Z3x4NjQuQWN0aXZlQ2ZnID0gRGVidWd8eDY0DQpAQCAtNjQ1LDYgKzU4OCw4NiBAQAogCQl7NkRBQzY2RDktRTcwMy00NjI0LUJFMDMtNDkxMTJBQjVBQTYyfS5SZWxlYXNlfFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQogCQl7NkRBQzY2RDktRTcwMy00NjI0LUJFMDMtNDkxMTJBQjVBQTYyfS5SZWxlYXNlfHg2NC5BY3RpdmVDZmcgPSBSZWxlYXNlfHg2NA0KIAkJezZEQUM2NkQ5LUU3MDMtNDYyNC1CRTAzLTQ5MTEyQUI1QUE2Mn0uUmVsZWFzZXx4NjQuQnVpbGQuMCA9IFJlbGVhc2V8eDY0DQorCQl7QjVGRDZGMUQtMTI5RS00QkZGLTkzNDAtMDM2MDZGQUM3MjgzfS5EZWJ1Z3xXaW4zMi5BY3RpdmVDZmcgPSBEZWJ1Z3xXaW4zMg0KKwkJe0I1RkQ2RjFELTEyOUUtNEJGRi05MzQwLTAzNjA2RkFDNzI4M30uRGVidWd8V2luMzIuQnVpbGQuMCA9IERlYnVnfFdpbjMyDQorCQl7QjVGRDZGMUQtMTI5RS00QkZGLTkzNDAtMDM2MDZGQUM3MjgzfS5EZWJ1Z3x4NjQuQWN0aXZlQ2ZnID0gRGVidWd8eDY0DQorCQl7QjVGRDZGMUQtMTI5RS00QkZGLTkzNDAtMDM2MDZGQUM3MjgzfS5EZWJ1Z3x4NjQuQnVpbGQuMCA9IERlYnVnfHg2NA0KKwkJe0I1RkQ2RjFELTEyOUUtNEJGRi05MzQwLTAzNjA2RkFDNzI4M30uUEdJbnN0cnVtZW50fFdpbjMyLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCisJCXtCNUZENkYxRC0xMjlFLTRCRkYtOTM0MC0wMzYwNkZBQzcyODN9LlBHSW5zdHJ1bWVudHxXaW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KKwkJe0I1RkQ2RjFELTEyOUUtNEJGRi05MzQwLTAzNjA2RkFDNzI4M30uUEdJbnN0cnVtZW50fHg2NC5BY3RpdmVDZmcgPSBSZWxlYXNlfHg2NA0KKwkJe0I1RkQ2RjFELTEyOUUtNEJGRi05MzQwLTAzNjA2RkFDNzI4M30uUEdJbnN0cnVtZW50fHg2NC5CdWlsZC4wID0gUmVsZWFzZXx4NjQNCisJCXtCNUZENkYxRC0xMjlFLTRCRkYtOTM0MC0wMzYwNkZBQzcyODN9LlBHVXBkYXRlfFdpbjMyLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCisJCXtCNUZENkYxRC0xMjlFLTRCRkYtOTM0MC0wMzYwNkZBQzcyODN9LlBHVXBkYXRlfFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQorCQl7QjVGRDZGMUQtMTI5RS00QkZGLTkzNDAtMDM2MDZGQUM3MjgzfS5QR1VwZGF0ZXx4NjQuQWN0aXZlQ2ZnID0gUmVsZWFzZXx4NjQNCisJCXtCNUZENkYxRC0xMjlFLTRCRkYtOTM0MC0wMzYwNkZBQzcyODN9LlBHVXBkYXRlfHg2NC5CdWlsZC4wID0gUmVsZWFzZXx4NjQNCisJCXtCNUZENkYxRC0xMjlFLTRCRkYtOTM0MC0wMzYwNkZBQzcyODN9LlJlbGVhc2V8V2luMzIuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KKwkJe0I1RkQ2RjFELTEyOUUtNEJGRi05MzQwLTAzNjA2RkFDNzI4M30uUmVsZWFzZXxXaW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KKwkJe0I1RkQ2RjFELTEyOUUtNEJGRi05MzQwLTAzNjA2RkFDNzI4M30uUmVsZWFzZXx4NjQuQWN0aXZlQ2ZnID0gUmVsZWFzZXx4NjQNCisJCXtCNUZENkYxRC0xMjlFLTRCRkYtOTM0MC0wMzYwNkZBQzcyODN9LlJlbGVhc2V8eDY0LkJ1aWxkLjAgPSBSZWxlYXNlfHg2NA0KKwkJe0M1QTNFN0ZCLTk2OTUtNEIyRS05NjBCLTFEOUY0M0YxRTU1NX0uRGVidWd8V2luMzIuQWN0aXZlQ2ZnID0gRGVidWd8V2luMzINCisJCXtDNUEzRTdGQi05Njk1LTRCMkUtOTYwQi0xRDlGNDNGMUU1NTV9LkRlYnVnfFdpbjMyLkJ1aWxkLjAgPSBEZWJ1Z3xXaW4zMg0KKwkJe0M1QTNFN0ZCLTk2OTUtNEIyRS05NjBCLTFEOUY0M0YxRTU1NX0uRGVidWd8eDY0LkFjdGl2ZUNmZyA9IERlYnVnfHg2NA0KKwkJe0M1QTNFN0ZCLTk2OTUtNEIyRS05NjBCLTFEOUY0M0YxRTU1NX0uRGVidWd8eDY0LkJ1aWxkLjAgPSBEZWJ1Z3x4NjQNCisJCXtDNUEzRTdGQi05Njk1LTRCMkUtOTYwQi0xRDlGNDNGMUU1NTV9LlBHSW5zdHJ1bWVudHxXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQorCQl7QzVBM0U3RkItOTY5NS00QjJFLTk2MEItMUQ5RjQzRjFFNTU1fS5QR0luc3RydW1lbnR8V2luMzIuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCisJCXtDNUEzRTdGQi05Njk1LTRCMkUtOTYwQi0xRDlGNDNGMUU1NTV9LlBHSW5zdHJ1bWVudHx4NjQuQWN0aXZlQ2ZnID0gUmVsZWFzZXx4NjQNCisJCXtDNUEzRTdGQi05Njk1LTRCMkUtOTYwQi0xRDlGNDNGMUU1NTV9LlBHSW5zdHJ1bWVudHx4NjQuQnVpbGQuMCA9IFJlbGVhc2V8eDY0DQorCQl7QzVBM0U3RkItOTY5NS00QjJFLTk2MEItMUQ5RjQzRjFFNTU1fS5QR1VwZGF0ZXxXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQorCQl7QzVBM0U3RkItOTY5NS00QjJFLTk2MEItMUQ5RjQzRjFFNTU1fS5QR1VwZGF0ZXxXaW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KKwkJe0M1QTNFN0ZCLTk2OTUtNEIyRS05NjBCLTFEOUY0M0YxRTU1NX0uUEdVcGRhdGV8eDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2V8eDY0DQorCQl7QzVBM0U3RkItOTY5NS00QjJFLTk2MEItMUQ5RjQzRjFFNTU1fS5QR1VwZGF0ZXx4NjQuQnVpbGQuMCA9IFJlbGVhc2V8eDY0DQorCQl7QzVBM0U3RkItOTY5NS00QjJFLTk2MEItMUQ5RjQzRjFFNTU1fS5SZWxlYXNlfFdpbjMyLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCisJCXtDNUEzRTdGQi05Njk1LTRCMkUtOTYwQi0xRDlGNDNGMUU1NTV9LlJlbGVhc2V8V2luMzIuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCisJCXtDNUEzRTdGQi05Njk1LTRCMkUtOTYwQi0xRDlGNDNGMUU1NTV9LlJlbGVhc2V8eDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2V8eDY0DQorCQl7QzVBM0U3RkItOTY5NS00QjJFLTk2MEItMUQ5RjQzRjFFNTU1fS5SZWxlYXNlfHg2NC5CdWlsZC4wID0gUmVsZWFzZXx4NjQNCisJCXs3RTg1RUNDRi1BNzJDLTREQTQtOUU1Mi04ODQ1MDhFODBCQTF9LkRlYnVnfFdpbjMyLkFjdGl2ZUNmZyA9IERlYnVnfFdpbjMyDQorCQl7N0U4NUVDQ0YtQTcyQy00REE0LTlFNTItODg0NTA4RTgwQkExfS5EZWJ1Z3xXaW4zMi5CdWlsZC4wID0gRGVidWd8V2luMzINCisJCXs3RTg1RUNDRi1BNzJDLTREQTQtOUU1Mi04ODQ1MDhFODBCQTF9LkRlYnVnfHg2NC5BY3RpdmVDZmcgPSBEZWJ1Z3x4NjQNCisJCXs3RTg1RUNDRi1BNzJDLTREQTQtOUU1Mi04ODQ1MDhFODBCQTF9LkRlYnVnfHg2NC5CdWlsZC4wID0gRGVidWd8eDY0DQorCQl7N0U4NUVDQ0YtQTcyQy00REE0LTlFNTItODg0NTA4RTgwQkExfS5QR0luc3RydW1lbnR8V2luMzIuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KKwkJezdFODVFQ0NGLUE3MkMtNERBNC05RTUyLTg4NDUwOEU4MEJBMX0uUEdJbnN0cnVtZW50fFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQorCQl7N0U4NUVDQ0YtQTcyQy00REE0LTlFNTItODg0NTA4RTgwQkExfS5QR0luc3RydW1lbnR8eDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2V8eDY0DQorCQl7N0U4NUVDQ0YtQTcyQy00REE0LTlFNTItODg0NTA4RTgwQkExfS5QR0luc3RydW1lbnR8eDY0LkJ1aWxkLjAgPSBSZWxlYXNlfHg2NA0KKwkJezdFODVFQ0NGLUE3MkMtNERBNC05RTUyLTg4NDUwOEU4MEJBMX0uUEdVcGRhdGV8V2luMzIuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KKwkJezdFODVFQ0NGLUE3MkMtNERBNC05RTUyLTg4NDUwOEU4MEJBMX0uUEdVcGRhdGV8V2luMzIuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCisJCXs3RTg1RUNDRi1BNzJDLTREQTQtOUU1Mi04ODQ1MDhFODBCQTF9LlBHVXBkYXRlfHg2NC5BY3RpdmVDZmcgPSBSZWxlYXNlfHg2NA0KKwkJezdFODVFQ0NGLUE3MkMtNERBNC05RTUyLTg4NDUwOEU4MEJBMX0uUEdVcGRhdGV8eDY0LkJ1aWxkLjAgPSBSZWxlYXNlfHg2NA0KKwkJezdFODVFQ0NGLUE3MkMtNERBNC05RTUyLTg4NDUwOEU4MEJBMX0uUmVsZWFzZXxXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQorCQl7N0U4NUVDQ0YtQTcyQy00REE0LTlFNTItODg0NTA4RTgwQkExfS5SZWxlYXNlfFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQorCQl7N0U4NUVDQ0YtQTcyQy00REE0LTlFNTItODg0NTA4RTgwQkExfS5SZWxlYXNlfHg2NC5BY3RpdmVDZmcgPSBSZWxlYXNlfHg2NA0KKwkJezdFODVFQ0NGLUE3MkMtNERBNC05RTUyLTg4NDUwOEU4MEJBMX0uUmVsZWFzZXx4NjQuQnVpbGQuMCA9IFJlbGVhc2V8eDY0DQorCQl7RTVCMDRDQzAtRUI0Qy00MkFCLUI0REMtMThFRjk1Rjg2NEIwfS5EZWJ1Z3xXaW4zMi5BY3RpdmVDZmcgPSBEZWJ1Z3xXaW4zMg0KKwkJe0U1QjA0Q0MwLUVCNEMtNDJBQi1CNERDLTE4RUY5NUY4NjRCMH0uRGVidWd8V2luMzIuQnVpbGQuMCA9IERlYnVnfFdpbjMyDQorCQl7RTVCMDRDQzAtRUI0Qy00MkFCLUI0REMtMThFRjk1Rjg2NEIwfS5EZWJ1Z3x4NjQuQWN0aXZlQ2ZnID0gRGVidWd8eDY0DQorCQl7RTVCMDRDQzAtRUI0Qy00MkFCLUI0REMtMThFRjk1Rjg2NEIwfS5EZWJ1Z3x4NjQuQnVpbGQuMCA9IERlYnVnfHg2NA0KKwkJe0U1QjA0Q0MwLUVCNEMtNDJBQi1CNERDLTE4RUY5NUY4NjRCMH0uUEdJbnN0cnVtZW50fFdpbjMyLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCisJCXtFNUIwNENDMC1FQjRDLTQyQUItQjREQy0xOEVGOTVGODY0QjB9LlBHSW5zdHJ1bWVudHxXaW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KKwkJe0U1QjA0Q0MwLUVCNEMtNDJBQi1CNERDLTE4RUY5NUY4NjRCMH0uUEdJbnN0cnVtZW50fHg2NC5BY3RpdmVDZmcgPSBSZWxlYXNlfHg2NA0KKwkJe0U1QjA0Q0MwLUVCNEMtNDJBQi1CNERDLTE4RUY5NUY4NjRCMH0uUEdJbnN0cnVtZW50fHg2NC5CdWlsZC4wID0gUmVsZWFzZXx4NjQNCisJCXtFNUIwNENDMC1FQjRDLTQyQUItQjREQy0xOEVGOTVGODY0QjB9LlBHVXBkYXRlfFdpbjMyLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCisJCXtFNUIwNENDMC1FQjRDLTQyQUItQjREQy0xOEVGOTVGODY0QjB9LlBHVXBkYXRlfFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQorCQl7RTVCMDRDQzAtRUI0Qy00MkFCLUI0REMtMThFRjk1Rjg2NEIwfS5QR1VwZGF0ZXx4NjQuQWN0aXZlQ2ZnID0gUmVsZWFzZXx4NjQNCisJCXtFNUIwNENDMC1FQjRDLTQyQUItQjREQy0xOEVGOTVGODY0QjB9LlBHVXBkYXRlfHg2NC5CdWlsZC4wID0gUmVsZWFzZXx4NjQNCisJCXtFNUIwNENDMC1FQjRDLTQyQUItQjREQy0xOEVGOTVGODY0QjB9LlJlbGVhc2V8V2luMzIuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KKwkJe0U1QjA0Q0MwLUVCNEMtNDJBQi1CNERDLTE4RUY5NUY4NjRCMH0uUmVsZWFzZXxXaW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KKwkJe0U1QjA0Q0MwLUVCNEMtNDJBQi1CNERDLTE4RUY5NUY4NjRCMH0uUmVsZWFzZXx4NjQuQWN0aXZlQ2ZnID0gUmVsZWFzZXx4NjQNCisJCXtFNUIwNENDMC1FQjRDLTQyQUItQjREQy0xOEVGOTVGODY0QjB9LlJlbGVhc2V8eDY0LkJ1aWxkLjAgPSBSZWxlYXNlfHg2NA0KKwkJezEwNjE1QjI0LTczQkYtNEVGQS05M0FBLTIzNjkxNjMyMTMxN30uRGVidWd8V2luMzIuQWN0aXZlQ2ZnID0gRGVidWd8V2luMzINCisJCXsxMDYxNUIyNC03M0JGLTRFRkEtOTNBQS0yMzY5MTYzMjEzMTd9LkRlYnVnfFdpbjMyLkJ1aWxkLjAgPSBEZWJ1Z3xXaW4zMg0KKwkJezEwNjE1QjI0LTczQkYtNEVGQS05M0FBLTIzNjkxNjMyMTMxN30uRGVidWd8eDY0LkFjdGl2ZUNmZyA9IERlYnVnfHg2NA0KKwkJezEwNjE1QjI0LTczQkYtNEVGQS05M0FBLTIzNjkxNjMyMTMxN30uRGVidWd8eDY0LkJ1aWxkLjAgPSBEZWJ1Z3x4NjQNCisJCXsxMDYxNUIyNC03M0JGLTRFRkEtOTNBQS0yMzY5MTYzMjEzMTd9LlBHSW5zdHJ1bWVudHxXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQorCQl7MTA2MTVCMjQtNzNCRi00RUZBLTkzQUEtMjM2OTE2MzIxMzE3fS5QR0luc3RydW1lbnR8V2luMzIuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCisJCXsxMDYxNUIyNC03M0JGLTRFRkEtOTNBQS0yMzY5MTYzMjEzMTd9LlBHSW5zdHJ1bWVudHx4NjQuQWN0aXZlQ2ZnID0gUmVsZWFzZXx4NjQNCisJCXsxMDYxNUIyNC03M0JGLTRFRkEtOTNBQS0yMzY5MTYzMjEzMTd9LlBHSW5zdHJ1bWVudHx4NjQuQnVpbGQuMCA9IFJlbGVhc2V8eDY0DQorCQl7MTA2MTVCMjQtNzNCRi00RUZBLTkzQUEtMjM2OTE2MzIxMzE3fS5QR1VwZGF0ZXxXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQorCQl7MTA2MTVCMjQtNzNCRi00RUZBLTkzQUEtMjM2OTE2MzIxMzE3fS5QR1VwZGF0ZXxXaW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KKwkJezEwNjE1QjI0LTczQkYtNEVGQS05M0FBLTIzNjkxNjMyMTMxN30uUEdVcGRhdGV8eDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2V8eDY0DQorCQl7MTA2MTVCMjQtNzNCRi00RUZBLTkzQUEtMjM2OTE2MzIxMzE3fS5QR1VwZGF0ZXx4NjQuQnVpbGQuMCA9IFJlbGVhc2V8eDY0DQorCQl7MTA2MTVCMjQtNzNCRi00RUZBLTkzQUEtMjM2OTE2MzIxMzE3fS5SZWxlYXNlfFdpbjMyLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCisJCXsxMDYxNUIyNC03M0JGLTRFRkEtOTNBQS0yMzY5MTYzMjEzMTd9LlJlbGVhc2V8V2luMzIuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCisJCXsxMDYxNUIyNC03M0JGLTRFRkEtOTNBQS0yMzY5MTYzMjEzMTd9LlJlbGVhc2V8eDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2V8eDY0DQorCQl7MTA2MTVCMjQtNzNCRi00RUZBLTkzQUEtMjM2OTE2MzIxMzE3fS5SZWxlYXNlfHg2NC5CdWlsZC4wID0gUmVsZWFzZXx4NjQNCiAJRW5kR2xvYmFsU2VjdGlvbg0KIAlHbG9iYWxTZWN0aW9uKFNvbHV0aW9uUHJvcGVydGllcykgPSBwcmVTb2x1dGlvbg0KIAkJSGlkZVNvbHV0aW9uTm9kZSA9IEZBTFNFDQpkaWZmIC0tZ2l0IGEvUENidWlsZC9wZ2luc3RydW1lbnQucHJvcHMgYi9QQ2J1aWxkL3BnaW5zdHJ1bWVudC5wcm9wcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTU4NDk5NS4uMDAwMDAwMAotLS0gYS9QQ2J1aWxkL3BnaW5zdHJ1bWVudC5wcm9wcworKysgL2Rldi9udWxsCkBAIC0xLDM4ICswLDAgQEAKLe+7vzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Ci08UHJvamVjdCBEZWZhdWx0VGFyZ2V0cz0iQnVpbGQiIFRvb2xzVmVyc2lvbj0iNC4wIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4KLSAgPFByb3BlcnR5R3JvdXAgTGFiZWw9IlVzZXJNYWNyb3MiPgotICAgIDxPdXREaXJQR0k+JChTb2x1dGlvbkRpcikkKFBsYXRmb3JtKS1wZ2lcPC9PdXREaXJQR0k+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXA+Ci0gICAgPF9Qcm9qZWN0RmlsZVZlcnNpb24+MTAuMC4zMDMxOS4xPC9fUHJvamVjdEZpbGVWZXJzaW9uPgotICAgIDxPdXREaXI+JChPdXREaXJQR0kpXDwvT3V0RGlyPgotICAgIDxJbnREaXI+JChTb2x1dGlvbkRpcikkKFBsYXRmb3JtTmFtZSktdGVtcC1wZ2lcJChQcm9qZWN0TmFtZSlcPC9JbnREaXI+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxPcHRpbWl6YXRpb24+TWF4U3BlZWQ8L09wdGltaXphdGlvbj4KLSAgICAgIDxJbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj5Pbmx5RXhwbGljaXRJbmxpbmU8L0lubGluZUZ1bmN0aW9uRXhwYW5zaW9uPgotICAgICAgPEludHJpbnNpY0Z1bmN0aW9ucz5mYWxzZTwvSW50cmluc2ljRnVuY3Rpb25zPgotICAgICAgPEZhdm9yU2l6ZU9yU3BlZWQ+U2l6ZTwvRmF2b3JTaXplT3JTcGVlZD4KLSAgICAgIDxPbWl0RnJhbWVQb2ludGVycz50cnVlPC9PbWl0RnJhbWVQb2ludGVycz4KLSAgICAgIDxFbmFibGVGaWJlclNhZmVPcHRpbWl6YXRpb25zPmZhbHNlPC9FbmFibGVGaWJlclNhZmVPcHRpbWl6YXRpb25zPgotICAgICAgPFdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj50cnVlPC9XaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+Ci0gICAgICA8U3RyaW5nUG9vbGluZz50cnVlPC9TdHJpbmdQb29saW5nPgotICAgICAgPEV4Y2VwdGlvbkhhbmRsaW5nPgotICAgICAgPC9FeGNlcHRpb25IYW5kbGluZz4KLSAgICAgIDxCdWZmZXJTZWN1cml0eUNoZWNrPmZhbHNlPC9CdWZmZXJTZWN1cml0eUNoZWNrPgotICAgIDwvQ2xDb21waWxlPgotICAgIDxMaW5rPgotICAgICAgPE9wdGltaXplUmVmZXJlbmNlcz50cnVlPC9PcHRpbWl6ZVJlZmVyZW5jZXM+Ci0gICAgICA8RW5hYmxlQ09NREFURm9sZGluZz5mYWxzZTwvRW5hYmxlQ09NREFURm9sZGluZz4KLSAgICAgIDxMaW5rVGltZUNvZGVHZW5lcmF0aW9uPlBHSW5zdHJ1bWVudDwvTGlua1RpbWVDb2RlR2VuZXJhdGlvbj4KLSAgICAgIDxQcm9maWxlR3VpZGVkRGF0YWJhc2U+JChTb2x1dGlvbkRpcikkKFBsYXRmb3JtKS1wZ2lcJChUYXJnZXROYW1lKS5wZ2Q8L1Byb2ZpbGVHdWlkZWREYXRhYmFzZT4KLSAgICAgIDxJbXBvcnRMaWJyYXJ5PiQoT3V0RGlyUEdJKVwkKFRhcmdldE5hbWUpLmxpYjwvSW1wb3J0TGlicmFyeT4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1Hcm91cD4KLSAgICA8QnVpbGRNYWNybyBJbmNsdWRlPSJPdXREaXJQR0kiPgotICAgICAgPFZhbHVlPiQoT3V0RGlyUEdJKTwvVmFsdWU+Ci0gICAgPC9CdWlsZE1hY3JvPgotICA8L0l0ZW1Hcm91cD4KLTwvUHJvamVjdD4KZGlmZiAtLWdpdCBhL1BDYnVpbGQvcGd1cGRhdGUucHJvcHMgYi9QQ2J1aWxkL3BndXBkYXRlLnByb3BzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkNzc1YTAyLi4wMDAwMDAwCi0tLSBhL1BDYnVpbGQvcGd1cGRhdGUucHJvcHMKKysrIC9kZXYvbnVsbApAQCAtMSwxNyArMCwwIEBACi3vu788P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgotPFByb2plY3QgRGVmYXVsdFRhcmdldHM9IkJ1aWxkIiBUb29sc1ZlcnNpb249IjQuMCIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+Ci0gIDxJbXBvcnRHcm91cCBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChTb2x1dGlvbkRpcilccGdpbnN0cnVtZW50LnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8UHJvcGVydHlHcm91cD4KLSAgICA8X1Byb2plY3RGaWxlVmVyc2lvbj4xMC4wLjMwMzE5LjE8L19Qcm9qZWN0RmlsZVZlcnNpb24+Ci0gICAgPE91dERpcj4kKFNvbHV0aW9uRGlyKSQoUGxhdGZvcm1OYW1lKS1wZ29cPC9PdXREaXI+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gICAgPExpbms+Ci0gICAgICA8QWRkaXRpb25hbE1hbmlmZXN0RGVwZW5kZW5jaWVzPiUoQWRkaXRpb25hbE1hbmlmZXN0RGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbE1hbmlmZXN0RGVwZW5kZW5jaWVzPgotICAgICAgPExpbmtUaW1lQ29kZUdlbmVyYXRpb24+UEdVcGRhdGU8L0xpbmtUaW1lQ29kZUdlbmVyYXRpb24+Ci0gICAgICA8SW1wb3J0TGlicmFyeT4kKE91dERpcikkKFRhcmdldE5hbWUpLmxpYjwvSW1wb3J0TGlicmFyeT4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLTwvUHJvamVjdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9QQ2J1aWxkL3ByZXBhcmVfc3NsLmJhdCBiL1BDYnVpbGQvcHJlcGFyZV9zc2wuYmF0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNiMDY1MDAKLS0tIC9kZXYvbnVsbAorKysgYi9QQ2J1aWxkL3ByZXBhcmVfc3NsLmJhdApAQCAtMCwwICsxLDEyIEBACitAZWNobyBvZmYKK2lmIG5vdCBkZWZpbmVkIEhPU1RfUFlUSE9OICgKKyAgaWYgJTEgRVFVIERlYnVnICgKKyAgICBzaGlmdAorICAgIHNldCBIT1NUX1BZVEhPTj1weXRob25fZC5leGUKKyAgICBpZiBub3QgZXhpc3QgcHl0aG9uMzVfZC5kbGwgZXhpdCAxCisgICkgRUxTRSAoCisgICAgc2V0IEhPU1RfUFlUSE9OPXB5dGhvbi5leGUKKyAgICBpZiBub3QgZXhpc3QgcHl0aG9uMzUuZGxsIGV4aXQgMQorICApCispCislSE9TVF9QWVRIT04lIHByZXBhcmVfc3NsLnB5ICUxCmRpZmYgLS1naXQgYS9QQ2J1aWxkL3ByZXBhcmVfc3NsLnB5IGIvUENidWlsZC9wcmVwYXJlX3NzbC5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xOTljNGVmCi0tLSAvZGV2L251bGwKKysrIGIvUENidWlsZC9wcmVwYXJlX3NzbC5weQpAQCAtMCwwICsxLDI0MCBAQAorIyBTY3JpcHQgZm9yIHByZXBhcmluZyBPcGVuU1NMIGZvciBidWlsZGluZyBvbiBXaW5kb3dzLgorIyBVc2VzIFBlcmwgdG8gY3JlYXRlIG5tYWtlIG1ha2VmaWxlcyBhbmQgb3RoZXJ3aXNlIHByZXBhcmUgdGhlIHdheQorIyBmb3IgYnVpbGRpbmcgb24gMzIgb3IgNjQgYml0IHBsYXRmb3Jtcy4KKworIyBTY3JpcHQgb3JpZ2luYWxseSBhdXRob3JlZCBieSBNYXJrIEhhbW1vbmQuCisjIE1ham9yIHJldmlzaW9ucyBieToKKyMgICBNYXJ0aW4gdi4gTMO2d2lzCisjICAgQ2hyaXN0aWFuIEhlaW1lcworIyAgIFphY2hhcnkgV2FyZQorCisjIFRIRU9SRVRJQ0FMTFksIHlvdSBjYW46CisjICogVW5wYWNrIHRoZSBsYXRlc3QgT3BlblNTTCByZWxlYXNlIHdoZXJlICQob3BlbnNzbERpcikgaW4KKyMgICBQQ2J1aWxkXHB5cHJvamVjdC5wcm9wcyBleHBlY3RzIGl0IHRvIGJlLgorIyAqIEluc3RhbGwgQWN0aXZlUGVybCBhbmQgZW5zdXJlIGl0IGlzIHNvbWV3aGVyZSBvbiB5b3VyIHBhdGguCisjICogUnVuIHRoaXMgc2NyaXB0IHdpdGggdGhlIE9wZW5TU0wgc291cmNlIGRpciBhcyB0aGUgb25seSBhcmd1bWVudC4KKyMKKyMgaXQgc2hvdWxkIGNvbmZpZ3VyZSBPcGVuU1NMIHN1Y2ggdGhhdCBpdCBpcyByZWFkeSB0byBiZSBidWlsdCBieQorIyBzc2wudmN4cHJvaiBvbiAzMiBvciA2NCBiaXQgcGxhdGZvcm1zLgorCitpbXBvcnQgb3MKK2ltcG9ydCByZQoraW1wb3J0IHN5cworaW1wb3J0IHNodXRpbAoraW1wb3J0IHN1YnByb2Nlc3MKKworIyBGaW5kIGFsbCAiZm9vLmV4ZSIgZmlsZXMgb24gdGhlIFBBVEguCitkZWYgZmluZF9hbGxfb25fcGF0aChmaWxlbmFtZSwgZXh0cmFzID0gTm9uZSk6CisgICAgZW50cmllcyA9IG9zLmVudmlyb25bIlBBVEgiXS5zcGxpdChvcy5wYXRoc2VwKQorICAgIHJldCA9IFtdCisgICAgZm9yIHAgaW4gZW50cmllczoKKyAgICAgICAgZm5hbWUgPSBvcy5wYXRoLmFic3BhdGgob3MucGF0aC5qb2luKHAsIGZpbGVuYW1lKSkKKyAgICAgICAgaWYgb3MucGF0aC5pc2ZpbGUoZm5hbWUpIGFuZCBmbmFtZSBub3QgaW4gcmV0OgorICAgICAgICAgICAgcmV0LmFwcGVuZChmbmFtZSkKKyAgICBpZiBleHRyYXM6CisgICAgICAgIGZvciBwIGluIGV4dHJhczoKKyAgICAgICAgICAgIGZuYW1lID0gb3MucGF0aC5hYnNwYXRoKG9zLnBhdGguam9pbihwLCBmaWxlbmFtZSkpCisgICAgICAgICAgICBpZiBvcy5wYXRoLmlzZmlsZShmbmFtZSkgYW5kIGZuYW1lIG5vdCBpbiByZXQ6CisgICAgICAgICAgICAgICAgcmV0LmFwcGVuZChmbmFtZSkKKyAgICByZXR1cm4gcmV0CisKKyMgRmluZCBhIHN1aXRhYmxlIFBlcmwgaW5zdGFsbGF0aW9uIGZvciBPcGVuU1NMLgorIyBjeWd3aW4gcGVybCBkb2VzICpub3QqIHdvcmsuICBBY3RpdmVQZXJsIGRvZXMuCisjIEJlaW5nIGEgUGVybCBkdW1teSwgdGhlIHNpbXBsZXN0IHdheSBJIGNhbiBjaGVjayBpcyBpZiB0aGUgIldpbjMyIiBwYWNrYWdlCisjIGlzIGF2YWlsYWJsZS4KK2RlZiBmaW5kX3dvcmtpbmdfcGVybChwZXJscyk6CisgICAgZm9yIHBlcmwgaW4gcGVybHM6CisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHN1YnByb2Nlc3MuY2hlY2tfb3V0cHV0KFtwZXJsLCAiLWUiLCAidXNlIFdpbjMyOyJdKQorICAgICAgICBleGNlcHQgc3VicHJvY2Vzcy5DYWxsZWRQcm9jZXNzRXJyb3I6CisgICAgICAgICAgICBjb250aW51ZQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgcmV0dXJuIHBlcmwKKworICAgIGlmIHBlcmxzOgorICAgICAgICBwcmludCgiVGhlIGZvbGxvd2luZyBwZXJsIGludGVycHJldGVycyB3ZXJlIGZvdW5kOiIpCisgICAgICAgIGZvciBwIGluIHBlcmxzOgorICAgICAgICAgICAgcHJpbnQoIiAiLCBwKQorICAgICAgICBwcmludCgiIE5vbmUgb2YgdGhlc2UgdmVyc2lvbnMgYXBwZWFyIHN1aXRhYmxlIGZvciBidWlsZGluZyBPcGVuU1NMIikKKyAgICBlbHNlOgorICAgICAgICBwcmludCgiTk8gcGVybCBpbnRlcnByZXRlcnMgd2VyZSBmb3VuZCBvbiB0aGlzIG1hY2hpbmUgYXQgYWxsISIpCisgICAgcHJpbnQoIiBQbGVhc2UgaW5zdGFsbCBBY3RpdmVQZXJsIGFuZCBlbnN1cmUgaXQgYXBwZWFycyBvbiB5b3VyIHBhdGgiKQorCitkZWYgY3JlYXRlX21ha2VmaWxlNjQobWFrZWZpbGUsIG0zMik6CisgICAgIiIiQ3JlYXRlIGFuZCBmaXggbWFrZWZpbGUgZm9yIDY0Yml0CisKKyAgICBSZXBsYWNlIDMyIHdpdGggNjRiaXQgZGlyZWN0b3JpZXMKKyAgICAiIiIKKyAgICBpZiBub3Qgb3MucGF0aC5pc2ZpbGUobTMyKToKKyAgICAgICAgcmV0dXJuCisgICAgd2l0aCBvcGVuKG0zMikgYXMgZmluOgorICAgICAgICB3aXRoIG9wZW4obWFrZWZpbGUsICd3JykgYXMgZm91dDoKKyAgICAgICAgICAgIGZvciBsaW5lIGluIGZpbjoKKyAgICAgICAgICAgICAgICBsaW5lID0gbGluZS5yZXBsYWNlKCI9dG1wMzIiLCAiPXRtcDY0IikKKyAgICAgICAgICAgICAgICBsaW5lID0gbGluZS5yZXBsYWNlKCI9b3V0MzIiLCAiPW91dDY0IikKKyAgICAgICAgICAgICAgICBsaW5lID0gbGluZS5yZXBsYWNlKCI9aW5jMzIiLCAiPWluYzY0IikKKyAgICAgICAgICAgICAgICAjIGZvcmNlIDY0IGJpdCBtYWNoaW5lCisgICAgICAgICAgICAgICAgbGluZSA9IGxpbmUucmVwbGFjZSgiTUtMSUI9bGliIiwgIk1LTElCPWxpYiAvTUFDSElORTpYNjQiKQorICAgICAgICAgICAgICAgIGxpbmUgPSBsaW5lLnJlcGxhY2UoIkxGTEFHUz0iLCAiTEZMQUdTPS9NQUNISU5FOlg2NCAiKQorICAgICAgICAgICAgICAgICMgZG9uJ3QgbGluayBhZ2FpbnN0IHRoZSBsaWIgb24gNjRiaXQgc3lzdGVtcworICAgICAgICAgICAgICAgIGxpbmUgPSBsaW5lLnJlcGxhY2UoImJ1ZmZlcm92ZXJmbG93dS5saWIiLCAiIikKKyAgICAgICAgICAgICAgICBmb3V0LndyaXRlKGxpbmUpCisgICAgb3MudW5saW5rKG0zMikKKworZGVmIGNyZWF0ZV9hc21zKG1ha2VmaWxlKToKKyAgICAjY3JlYXRlIGEgY3VzdG9tIG1ha2VmaWxlIG91dCBvZiB0aGUgcHJvdmlkZWQgb25lCisgICAgYXNtX21ha2VmaWxlID0gb3MucGF0aC5zcGxpdGV4dChtYWtlZmlsZSlbMF0gKyAnLmFzbS5tYWsnCisgICAgd2l0aCBvcGVuKG1ha2VmaWxlKSBhcyBmaW46CisgICAgICAgIHdpdGggb3Blbihhc21fbWFrZWZpbGUsICd3JykgYXMgZm91dDoKKyAgICAgICAgICAgIGZvciBsaW5lIGluIGZpbjoKKyAgICAgICAgICAgICAgICAjIEtlZXAgZXZlcnl0aGluZyB1cCB0byB0aGUgaW5zdGFsbCB0YXJnZXQgKGl0J3MgY29udmVuaWVudCkKKyAgICAgICAgICAgICAgICBpZiBsaW5lLnN0YXJ0c3dpdGgoJ2luc3RhbGw6IGFsbCcpOgorICAgICAgICAgICAgICAgICAgICBicmVhaworICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgIGZvdXQud3JpdGUobGluZSkKKyAgICAgICAgICAgIGFzbXMgPSBbXQorICAgICAgICAgICAgZm9yIGxpbmUgaW4gZmluOgorICAgICAgICAgICAgICAgIGlmICcuYXNtJyBpbiBsaW5lIGFuZCBsaW5lLnN0cmlwKCkuZW5kc3dpdGgoJy5wbCcpOgorICAgICAgICAgICAgICAgICAgICBhc21zLmFwcGVuZChsaW5lLnNwbGl0KCc6JylbMF0pCisgICAgICAgICAgICAgICAgICAgIHdoaWxlIGxpbmUuc3RyaXAoKToKKyAgICAgICAgICAgICAgICAgICAgICAgIGZvdXQud3JpdGUobGluZSkKKyAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUgPSBuZXh0KGZpbikKKyAgICAgICAgICAgICAgICAgICAgZm91dC53cml0ZSgnXG4nKQorCisgICAgICAgICAgICBmb3V0LndyaXRlKCdhc21zOiAkKFRNUF9EKSAnKQorICAgICAgICAgICAgZm91dC53cml0ZSgnICcuam9pbihhc21zKSkKKyAgICAgICAgICAgIGZvdXQud3JpdGUoJ1xuJykKKworICAgIG9zLnN5c3RlbSgnbm1ha2UgL2Yge30gUEVSTD1wZXJsIGFzbXMnLmZvcm1hdChhc21fbWFrZWZpbGUpKQorICAgIG9zLnVubGluayhhc21fbWFrZWZpbGUpCisKKworCitkZWYgZml4X21ha2VmaWxlKG1ha2VmaWxlKToKKyAgICAiIiJGaXggc29tZSBzdHVmZiBpbiBhbGwgbWFrZWZpbGVzCisgICAgIiIiCisgICAgaWYgbm90IG9zLnBhdGguaXNmaWxlKG1ha2VmaWxlKToKKyAgICAgICAgcmV0dXJuCisgICAgd2l0aCBvcGVuKG1ha2VmaWxlKSBhcyBmaW46CisgICAgICAgIGxpbmVzID0gZmluLnJlYWRsaW5lcygpCisgICAgd2l0aCBvcGVuKG1ha2VmaWxlLCAndycpIGFzIGZvdXQ6CisgICAgICAgIGZvciBsaW5lIGluIGxpbmVzOgorICAgICAgICAgICAgaWYgbGluZS5zdGFydHN3aXRoKCJQRVJMPSIpOgorICAgICAgICAgICAgICAgIGNvbnRpbnVlCisgICAgICAgICAgICBpZiBsaW5lLnN0YXJ0c3dpdGgoIkNQPSIpOgorICAgICAgICAgICAgICAgIGxpbmUgPSAiQ1A9Y29weVxuIgorICAgICAgICAgICAgaWYgbGluZS5zdGFydHN3aXRoKCJNS0RJUj0iKToKKyAgICAgICAgICAgICAgICBsaW5lID0gIk1LRElSPW1rZGlyXG4iCisgICAgICAgICAgICBpZiBsaW5lLnN0YXJ0c3dpdGgoIkNGTEFHPSIpOgorICAgICAgICAgICAgICAgIGxpbmUgPSBsaW5lLnN0cmlwKCkKKyAgICAgICAgICAgICAgICBmb3IgYWxnbyBpbiAoIlJDNSIsICJNREMyIiwgIklERUEiKToKKyAgICAgICAgICAgICAgICAgICAgbm9hbGdvID0gIiAtRE9QRU5TU0xfTk9fJXMiICUgYWxnbworICAgICAgICAgICAgICAgICAgICBpZiBub2FsZ28gbm90IGluIGxpbmU6CisgICAgICAgICAgICAgICAgICAgICAgICBsaW5lID0gbGluZSArIG5vYWxnbworICAgICAgICAgICAgICAgIGxpbmUgPSBsaW5lICsgJ1xuJworICAgICAgICAgICAgZm91dC53cml0ZShsaW5lKQorCitkZWYgcnVuX2NvbmZpZ3VyZShjb25maWd1cmUsIGRvX3NjcmlwdCk6CisgICAgcHJpbnQoInBlcmwgQ29uZmlndXJlICIrY29uZmlndXJlKyIgbm8taWRlYSBuby1tZGMyIikKKyAgICBvcy5zeXN0ZW0oInBlcmwgQ29uZmlndXJlICIrY29uZmlndXJlKyIgbm8taWRlYSBuby1tZGMyIikKKyAgICBwcmludChkb19zY3JpcHQpCisgICAgb3Muc3lzdGVtKGRvX3NjcmlwdCkKKworZGVmIGNtcChmMSwgZjIpOgorICAgIGJ1ZnNpemUgPSAxMDI0ICogOAorICAgIHdpdGggb3BlbihmMSwgJ3JiJykgYXMgZnAxLCBvcGVuKGYyLCAncmInKSBhcyBmcDI6CisgICAgICAgIHdoaWxlIFRydWU6CisgICAgICAgICAgICBiMSA9IGZwMS5yZWFkKGJ1ZnNpemUpCisgICAgICAgICAgICBiMiA9IGZwMi5yZWFkKGJ1ZnNpemUpCisgICAgICAgICAgICBpZiBiMSAhPSBiMjoKKyAgICAgICAgICAgICAgICByZXR1cm4gRmFsc2UKKyAgICAgICAgICAgIGlmIG5vdCBiMToKKyAgICAgICAgICAgICAgICByZXR1cm4gVHJ1ZQorCitkZWYgY29weShzcmMsIGRzdCk6CisgICAgaWYgb3MucGF0aC5pc2ZpbGUoZHN0KSBhbmQgY21wKHNyYywgZHN0KToKKyAgICAgICAgcmV0dXJuCisgICAgc2h1dGlsLmNvcHkoc3JjLCBkc3QpCisKK2RlZiBwcmVwKGFyY2gpOgorICAgIGlmIGFyY2ggPT0gIng4NiI6CisgICAgICAgIGNvbmZpZ3VyZSA9ICJWQy1XSU4zMiIKKyAgICAgICAgZG9fc2NyaXB0ID0gIm1zXFxkb19uYXNtIgorICAgICAgICBtYWtlZmlsZT0ibXNcXG50Lm1hayIKKyAgICAgICAgbTMyID0gbWFrZWZpbGUKKyAgICAgICAgZGlyc3VmZml4ID0gIjMyIgorICAgIGVsaWYgYXJjaCA9PSAiYW1kNjQiOgorICAgICAgICBjb25maWd1cmUgPSAiVkMtV0lONjRBIgorICAgICAgICBkb19zY3JpcHQgPSAibXNcXGRvX3dpbjY0YSIKKyAgICAgICAgbWFrZWZpbGUgPSAibXNcXG50NjQubWFrIgorICAgICAgICBtMzIgPSBtYWtlZmlsZS5yZXBsYWNlKCc2NCcsICcnKQorICAgICAgICBkaXJzdWZmaXggPSAiNjQiCisgICAgICAgICNvcy5lbnZpcm9uWyJWU0VYVENPTVBfVVNFQ0wiXSA9ICJNU19PUFRFUk9OIgorICAgIGVsc2U6CisgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoJ1VucmVjb2duaXplZCBwbGF0Zm9ybTogJXMnICUgYXJjaCkKKworICAgICMgcmVidWlsZCBtYWtlZmlsZSB3aGVuIHdlIGRvIHRoZSByb2xlIG92ZXIgZnJvbSAzMiB0byA2NCBidWlsZAorICAgIGlmIGFyY2ggPT0gImFtZDY0IiBhbmQgb3MucGF0aC5pc2ZpbGUobTMyKSBhbmQgbm90IG9zLnBhdGguaXNmaWxlKG1ha2VmaWxlKToKKyAgICAgICAgb3MudW5saW5rKG0zMikKKworICAgICMgSWYgdGhlIHNzbCBtYWtlZmlsZXMgZG8gbm90IGV4aXN0LCB3ZSBpbnZva2UgUGVybCB0byBnZW5lcmF0ZSB0aGVtLgorICAgICMgRHVlIHRvIGEgYnVnIGluIHRoaXMgc2NyaXB0LCB0aGUgbWFrZWZpbGUgc29tZXRpbWVzIGVuZGVkIHVwIGVtcHR5CisgICAgIyBGb3JjZSBhIHJlZ2VuZXJhdGlvbiBpZiBpdCBpcy4KKyAgICBpZiBub3Qgb3MucGF0aC5pc2ZpbGUobWFrZWZpbGUpIG9yIG9zLnBhdGguZ2V0c2l6ZShtYWtlZmlsZSk9PTA6CisgICAgICAgIHByaW50KCJDcmVhdGluZyB0aGUgbWFrZWZpbGVzLi4uIikKKyAgICAgICAgc3lzLnN0ZG91dC5mbHVzaCgpCisgICAgICAgIHJ1bl9jb25maWd1cmUoY29uZmlndXJlLCBkb19zY3JpcHQpCisKKyAgICAgICAgaWYgYXJjaCA9PSAiYW1kNjQiOgorICAgICAgICAgICAgY3JlYXRlX21ha2VmaWxlNjQobWFrZWZpbGUsIG0zMikKKyAgICAgICAgZml4X21ha2VmaWxlKG1ha2VmaWxlKQorICAgICAgICBjb3B5KHIiY3J5cHRvXGJ1aWxkaW5mLmgiLCByImNyeXB0b1xidWlsZGluZl8lcy5oIiAlIGFyY2gpCisgICAgICAgIGNvcHkociJjcnlwdG9cb3BlbnNzbGNvbmYuaCIsIHIiY3J5cHRvXG9wZW5zc2xjb25mXyVzLmgiICUgYXJjaCkKKyAgICBlbHNlOgorICAgICAgICBwcmludChtYWtlZmlsZSwgJ2FscmVhZHkgZXhpc3RzIScpCisKKyAgICBwcmludCgnY3JlYXRpbmcgYXNtcy4uLicpCisgICAgY3JlYXRlX2FzbXMobWFrZWZpbGUpCisKK2RlZiBtYWluKCk6CisgICAgaWYgbGVuKHN5cy5hcmd2KSA9PSAxOgorICAgICAgICBwcmludCgiTm90IGVub3VnaCBhcmd1bWVudHM6IGRpcmVjdG9yeSBjb250YWluaW5nIE9wZW5TU0wiLAorICAgICAgICAgICAgICAic291cmNlcyBtdXN0IGJlIHN1cHBsaWVkIikKKyAgICAgICAgc3lzLmV4aXQoMSkKKworICAgIGlmIGxlbihzeXMuYXJndikgPiAyOgorICAgICAgICBwcmludCgiVG9vIG1hbnkgYXJndW1lbnRzIHN1cHBsaWVkLCBhbGwgd2UgbmVlZCBpcyB0aGUgZGlyZWN0b3J5IiwKKyAgICAgICAgICAgICAgImNvbnRhaW5pbmcgT3BlblNTTCBzb3VyY2VzIikKKyAgICAgICAgc3lzLmV4aXQoMSkKKworICAgIHNzbF9kaXIgPSBzeXMuYXJndlsxXQorCisgICAgaWYgbm90IG9zLnBhdGguaXNkaXIoc3NsX2Rpcik6CisgICAgICAgIHByaW50KHNzbF9kaXIsICJpcyBub3QgYW4gZXhpc3RpbmcgZGlyZWN0b3J5ISIpCisgICAgICAgIHN5cy5leGl0KDEpCisKKyAgICAjIHBlcmwgc2hvdWxkIGJlIG9uIHRoZSBwYXRoLCBidXQgd2UgYWxzbyBsb29rIGluICJccGVybCIgYW5kICJjOlxccGVybCIKKyAgICAjIGFzICJ3ZWxsIGtub3duIiBsb2NhdGlvbnMKKyAgICBwZXJscyA9IGZpbmRfYWxsX29uX3BhdGgoInBlcmwuZXhlIiwgWyJcXHBlcmxcXGJpbiIsICJDOlxccGVybFxcYmluIl0pCisgICAgcGVybCA9IGZpbmRfd29ya2luZ19wZXJsKHBlcmxzKQorICAgIGlmIHBlcmw6CisgICAgICAgIHByaW50KCJGb3VuZCBhIHdvcmtpbmcgcGVybCBhdCAnJXMnIiAlIChwZXJsLCkpCisgICAgZWxzZToKKyAgICAgICAgc3lzLmV4aXQoMSkKKyAgICBzeXMuc3Rkb3V0LmZsdXNoKCkKKworICAgICMgUHV0IG91ciB3b3JraW5nIFBlcmwgYXQgdGhlIGZyb250IG9mIG91ciBwYXRoCisgICAgb3MuZW52aXJvblsiUEFUSCJdID0gb3MucGF0aC5kaXJuYW1lKHBlcmwpICsgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcy5wYXRoc2VwICsgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcy5lbnZpcm9uWyJQQVRIIl0KKworICAgIG9sZF9jd2QgPSBvcy5nZXRjd2QoKQorICAgIHRyeToKKyAgICAgICAgb3MuY2hkaXIoc3NsX2RpcikKKyAgICAgICAgZm9yIGFyY2ggaW4gWydhbWQ2NCcsICd4ODYnXToKKyAgICAgICAgICAgIHByZXAoYXJjaCkKKyAgICBmaW5hbGx5OgorICAgICAgICBvcy5jaGRpcihvbGRfY3dkKQorCitpZiBfX25hbWVfXz09J19fbWFpbl9fJzoKKyAgICBtYWluKCkKZGlmZiAtLWdpdCBhL1BDYnVpbGQvcHlkLnByb3BzIGIvUENidWlsZC9weWQucHJvcHMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ2OTk2NmUuLjAwMDAwMDAKLS0tIGEvUENidWlsZC9weWQucHJvcHMKKysrIC9kZXYvbnVsbApAQCAtMSwyNSArMCwwIEBACi3vu788P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgotPFByb2plY3QgRGVmYXVsdFRhcmdldHM9IkJ1aWxkIiBUb29sc1ZlcnNpb249IjQuMCIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+Ci0gIDxJbXBvcnRHcm91cCBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0icmVsZWFzZS5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5cHJvamVjdC5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPFByb3BlcnR5R3JvdXA+Ci0gICAgPF9Qcm9qZWN0RmlsZVZlcnNpb24+MTAuMC4zMDMxOS4xPC9fUHJvamVjdEZpbGVWZXJzaW9uPgotICAgIDxHZW5lcmF0ZU1hbmlmZXN0PmZhbHNlPC9HZW5lcmF0ZU1hbmlmZXN0PgotICAgIDxFbWJlZE1hbmlmZXN0PmZhbHNlPC9FbWJlZE1hbmlmZXN0PgotICAgIDxUYXJnZXRFeHQ+LnB5ZDwvVGFyZ2V0RXh0PgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+UHlfQlVJTERfQ09SRV9NT0RVTEU7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgICAgPFJ1bnRpbWVMaWJyYXJ5Pk11bHRpVGhyZWFkZWRETEw8L1J1bnRpbWVMaWJyYXJ5PgotICAgIDwvQ2xDb21waWxlPgotICAgIDxMaW5rPgotICAgIDwvTGluaz4KLSAgICA8UG9zdEJ1aWxkRXZlbnQ+Ci0gICAgICA8Q29tbWFuZD4KLSAgICAgIDwvQ29tbWFuZD4KLSAgICA8L1Bvc3RCdWlsZEV2ZW50PgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci08L1Byb2plY3Q+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvUENidWlsZC9weWRfZC5wcm9wcyBiL1BDYnVpbGQvcHlkX2QucHJvcHMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGIwMjMyODguLjAwMDAwMDAKLS0tIGEvUENidWlsZC9weWRfZC5wcm9wcworKysgL2Rldi9udWxsCkBAIC0xLDMxICswLDAgQEAKLe+7vzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Ci08UHJvamVjdCBEZWZhdWx0VGFyZ2V0cz0iQnVpbGQiIFRvb2xzVmVyc2lvbj0iNC4wIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4KLSAgPEltcG9ydEdyb3VwIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJkZWJ1Zy5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5cHJvamVjdC5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgTGFiZWw9IlVzZXJNYWNyb3MiIC8+Ci0gIDxQcm9wZXJ0eUdyb3VwPgotICAgIDxfUHJvamVjdEZpbGVWZXJzaW9uPjEwLjAuMzAzMTkuMTwvX1Byb2plY3RGaWxlVmVyc2lvbj4KLSAgICA8TGlua0luY3JlbWVudGFsPmZhbHNlPC9MaW5rSW5jcmVtZW50YWw+Ci0gICAgPEdlbmVyYXRlTWFuaWZlc3Q+ZmFsc2U8L0dlbmVyYXRlTWFuaWZlc3Q+Ci0gICAgPEVtYmVkTWFuaWZlc3Q+ZmFsc2U8L0VtYmVkTWFuaWZlc3Q+Ci0gICAgPFRhcmdldEV4dD4ucHlkPC9UYXJnZXRFeHQ+Ci0gICAgPFRhcmdldE5hbWU+JChQcm9qZWN0TmFtZSlfZDwvVGFyZ2V0TmFtZT4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cD4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPE9wdGltaXphdGlvbj5EaXNhYmxlZDwvT3B0aW1pemF0aW9uPgotICAgICAgPElubGluZUZ1bmN0aW9uRXhwYW5zaW9uPkRlZmF1bHQ8L0lubGluZUZ1bmN0aW9uRXhwYW5zaW9uPgotICAgICAgPEludHJpbnNpY0Z1bmN0aW9ucz5mYWxzZTwvSW50cmluc2ljRnVuY3Rpb25zPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPlB5X0JVSUxEX0NPUkVfTU9EVUxFOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICAgIDxSdW50aW1lTGlicmFyeT5NdWx0aVRocmVhZGVkRGVidWdETEw8L1J1bnRpbWVMaWJyYXJ5PgotICAgIDwvQ2xDb21waWxlPgotICAgIDxMaW5rIC8+Ci0gICAgPFBvc3RCdWlsZEV2ZW50PgotICAgICAgPENvbW1hbmQ+Ci0gICAgICA8L0NvbW1hbmQ+Ci0gICAgPC9Qb3N0QnVpbGRFdmVudD4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbUdyb3VwIC8+Ci08L1Byb2plY3Q+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvUENidWlsZC9weWV4cGF0LnZjeHByb2ogYi9QQ2J1aWxkL3B5ZXhwYXQudmN4cHJvagppbmRleCA5NzRmZDNkLi40ZTc2MjFlYyAxMDA2NDQKLS0tIGEvUENidWlsZC9weWV4cGF0LnZjeHByb2oKKysrIGIvUENidWlsZC9weWV4cGF0LnZjeHByb2oKQEAgLTM1LDE4NiArMzUsMzMgQEAKICAgICA8L1Byb2plY3RDb25maWd1cmF0aW9uPgogICA8L0l0ZW1Hcm91cD4KICAgPFByb3BlcnR5R3JvdXAgTGFiZWw9Ikdsb2JhbHMiPgorICAgIDxfUHJvamVjdEZpbGVWZXJzaW9uPjEwLjAuMzAzMTkuMTwvX1Byb2plY3RGaWxlVmVyc2lvbj4KICAgICA8UHJvamVjdEd1aWQ+e0QwNkI2NDI2LTQ3NjItNDRDQy04QkFELUQ3OTA1MjUwN0YyRn08L1Byb2plY3RHdWlkPgogICAgIDxSb290TmFtZXNwYWNlPnB5ZXhwYXQ8L1Jvb3ROYW1lc3BhY2U+Ci0gICAgPEtleXdvcmQ+V2luMzJQcm9qPC9LZXl3b3JkPgogICA8L1Byb3BlcnR5R3JvdXA+CisgIDxJbXBvcnQgUHJvamVjdD0icHl0aG9uLnByb3BzIiAvPgogICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC5EZWZhdWx0LnByb3BzIiAvPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KLSAgICA8V2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPnRydWU8L1dob2xlUHJvZ3JhbU9wdGltaXphdGlvbj4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+Ci0gICAgPFdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj50cnVlPC9XaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KLSAgICA8V2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPnRydWU8L1dob2xlUHJvZ3JhbU9wdGltaXphdGlvbj4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+Ci0gICAgPFdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj50cnVlPC9XaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KLSAgICA8V2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPnRydWU8L1dob2xlUHJvZ3JhbU9wdGltaXphdGlvbj4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KLSAgICA8V2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPnRydWU8L1dob2xlUHJvZ3JhbU9wdGltaXphdGlvbj4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KKyAgPFByb3BlcnR5R3JvdXAgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgogICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+CiAgICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KICAgPC9Qcm9wZXJ0eUdyb3VwPgogICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC5wcm9wcyIgLz4KKyAgPFByb3BlcnR5R3JvdXA+CisgICAgPFRhcmdldEV4dD4ucHlkPC9UYXJnZXRFeHQ+CisgIDwvUHJvcGVydHlHcm91cD4KICAgPEltcG9ydEdyb3VwIExhYmVsPSJFeHRlbnNpb25TZXR0aW5ncyI+CiAgIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KKyAgPEltcG9ydEdyb3VwIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+CiAgICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlkLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icGd1cGRhdGUucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlkLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icGdpbnN0cnVtZW50LnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWQucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWRfZC5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJ4NjQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJwZ3VwZGF0ZS5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlkLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0ieDY0LnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icGdpbnN0cnVtZW50LnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlkLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0ieDY0LnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZF9kLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0ieDY0LnByb3BzIiAvPgorICAgIDxJbXBvcnQgUHJvamVjdD0icHlwcm9qZWN0LnByb3BzIiAvPgogICA8L0ltcG9ydEdyb3VwPgogICA8UHJvcGVydHlHcm91cCBMYWJlbD0iVXNlck1hY3JvcyIgLz4KLSAgPFByb3BlcnR5R3JvdXA+Ci0gICAgPF9Qcm9qZWN0RmlsZVZlcnNpb24+MTAuMC4zMDMxOS4xPC9fUHJvamVjdEZpbGVWZXJzaW9uPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyIgLz4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+CisgIDxJdGVtRGVmaW5pdGlvbkdyb3VwPgogICAgIDxDbENvbXBpbGU+Ci0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4uXC4uXE1vZHVsZXNcZXhwYXQ7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KKyAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPiQoUHlTb3VyY2VQYXRoKU1vZHVsZXNcZXhwYXQ7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KICAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5QWUVYUEFUX0VYUE9SVFM7SEFWRV9FWFBBVF9IO1hNTF9OUztYTUxfRFREO0JZVEVPUkRFUj0xMjM0O1hNTF9DT05URVhUX0JZVEVTPTEwMjQ7WE1MX1NUQVRJQztIQVZFX01FTU1PVkU7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgogICAgIDwvQ2xDb21waWxlPgogICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyI+Ci0gICAgPE1pZGw+Ci0gICAgICA8VGFyZ2V0RW52aXJvbm1lbnQ+WDY0PC9UYXJnZXRFbnZpcm9ubWVudD4KLSAgICA8L01pZGw+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPi5cLi5cTW9kdWxlc1xleHBhdDslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPlBZRVhQQVRfRVhQT1JUUztIQVZFX0VYUEFUX0g7WE1MX05TO1hNTF9EVEQ7QllURU9SREVSPTEyMzQ7WE1MX0NPTlRFWFRfQllURVM9MTAyNDtYTUxfU1RBVElDO0hBVkVfTUVNTU9WRTslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgPC9DbENvbXBpbGU+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPi5cLi5cTW9kdWxlc1xleHBhdDslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPlBZRVhQQVRfRVhQT1JUUztIQVZFX0VYUEFUX0g7WE1MX05TO1hNTF9EVEQ7QllURU9SREVSPTEyMzQ7WE1MX0NPTlRFWFRfQllURVM9MTAyNDtYTUxfU1RBVElDO0hBVkVfTUVNTU9WRTslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgPC9DbENvbXBpbGU+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPgotICAgIDxNaWRsPgotICAgICAgPFRhcmdldEVudmlyb25tZW50Plg2NDwvVGFyZ2V0RW52aXJvbm1lbnQ+Ci0gICAgPC9NaWRsPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4uXC4uXE1vZHVsZXNcZXhwYXQ7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5QWUVYUEFUX0VYUE9SVFM7SEFWRV9FWFBBVF9IO1hNTF9OUztYTUxfRFREO0JZVEVPUkRFUj0xMjM0O1hNTF9DT05URVhUX0JZVEVTPTEwMjQ7WE1MX1NUQVRJQztIQVZFX01FTU1PVkU7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgIDwvQ2xDb21waWxlPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyI+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPi5cLi5cTW9kdWxlc1xleHBhdDslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPlBZRVhQQVRfRVhQT1JUUztIQVZFX0VYUEFUX0g7WE1MX05TO1hNTF9EVEQ7QllURU9SREVSPTEyMzQ7WE1MX0NPTlRFWFRfQllURVM9MTAyNDtYTUxfU1RBVElDO0hBVkVfTUVNTU9WRTslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgPC9DbENvbXBpbGU+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyI+Ci0gICAgPE1pZGw+Ci0gICAgICA8VGFyZ2V0RW52aXJvbm1lbnQ+WDY0PC9UYXJnZXRFbnZpcm9ubWVudD4KLSAgICA8L01pZGw+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPi5cLi5cTW9kdWxlc1xleHBhdDslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPlBZRVhQQVRfRVhQT1JUUztIQVZFX0VYUEFUX0g7WE1MX05TO1hNTF9EVEQ7QllURU9SREVSPTEyMzQ7WE1MX0NPTlRFWFRfQllURVM9MTAyNDtYTUxfU1RBVElDO0hBVkVfTUVNTU9WRTslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPExpbms+Ci0gICAgICA8VGFyZ2V0TWFjaGluZT5NYWNoaW5lWDY0PC9UYXJnZXRNYWNoaW5lPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyI+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPi5cLi5cTW9kdWxlc1xleHBhdDslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPlBZRVhQQVRfRVhQT1JUUztIQVZFX0VYUEFUX0g7WE1MX05TO1hNTF9EVEQ7QllURU9SREVSPTEyMzQ7WE1MX0NPTlRFWFRfQllURVM9MTAyNDtYTUxfU1RBVElDO0hBVkVfTUVNTU9WRTslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgPC9DbENvbXBpbGU+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIj4KLSAgICA8TWlkbD4KLSAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5YNjQ8L1RhcmdldEVudmlyb25tZW50PgotICAgIDwvTWlkbD4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+LlwuLlxNb2R1bGVzXGV4cGF0OyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+UFlFWFBBVF9FWFBPUlRTO0hBVkVfRVhQQVRfSDtYTUxfTlM7WE1MX0RURDtCWVRFT1JERVI9MTIzNDtYTUxfQ09OVEVYVF9CWVRFUz0xMDI0O1hNTF9TVEFUSUM7SEFWRV9NRU1NT1ZFOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8TGluaz4KLSAgICAgIDxUYXJnZXRNYWNoaW5lPk1hY2hpbmVYNjQ8L1RhcmdldE1hY2hpbmU+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+CiAgIDxJdGVtR3JvdXA+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxNb2R1bGVzXGV4cGF0XHhtbHJvbGUuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXE1vZHVsZXNcZXhwYXRceG1sdG9rLmgiIC8+CmRpZmYgLS1naXQgYS9QQ2J1aWxkL3B5bGF1bmNoZXIudmN4cHJvaiBiL1BDYnVpbGQvcHlsYXVuY2hlci52Y3hwcm9qCmluZGV4IDlmYTkzZGQuLjZhMjE3ODUgMTAwNjQ0Ci0tLSBhL1BDYnVpbGQvcHlsYXVuY2hlci52Y3hwcm9qCisrKyBiL1BDYnVpbGQvcHlsYXVuY2hlci52Y3hwcm9qCkBAIC0zNywyNTYgKzM3LDMzIEBACiAgIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJHbG9iYWxzIj4KICAgICA8UHJvamVjdEd1aWQ+ezdCMjcyN0I1LTVBM0YtNDBFRS1BODY2LTQzQTEzQ0QzMTQ0Nn08L1Byb2plY3RHdWlkPgogICAgIDxSb290TmFtZXNwYWNlPnB5bGF1bmNoZXI8L1Jvb3ROYW1lc3BhY2U+CisgICAgPFRhcmdldE5hbWU+cHk8L1RhcmdldE5hbWU+CisgICAgPE1ha2VWZXJzaW9uSW5mb0JlZm9yZVRhcmdldD5DbENvbXBpbGU8L01ha2VWZXJzaW9uSW5mb0JlZm9yZVRhcmdldD4KKyAgICA8U3VwcG9ydFBHTz5mYWxzZTwvU3VwcG9ydFBHTz4KICAgPC9Qcm9wZXJ0eUdyb3VwPgorICA8SW1wb3J0IFByb2plY3Q9InB5dGhvbi5wcm9wcyIgLz4KICAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAuRGVmYXVsdC5wcm9wcyIgLz4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KKyAgPFByb3BlcnR5R3JvdXAgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgogICAgIDxDb25maWd1cmF0aW9uVHlwZT5BcHBsaWNhdGlvbjwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPFVzZURlYnVnTGlicmFyaWVzPnRydWU8L1VzZURlYnVnTGlicmFyaWVzPgotICAgIDxDaGFyYWN0ZXJTZXQ+TXVsdGlCeXRlPC9DaGFyYWN0ZXJTZXQ+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkFwcGxpY2F0aW9uPC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8VXNlRGVidWdMaWJyYXJpZXM+dHJ1ZTwvVXNlRGVidWdMaWJyYXJpZXM+Ci0gICAgPENoYXJhY3RlclNldD5NdWx0aUJ5dGU8L0NoYXJhY3RlclNldD4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkFwcGxpY2F0aW9uPC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8VXNlRGVidWdMaWJyYXJpZXM+ZmFsc2U8L1VzZURlYnVnTGlicmFyaWVzPgotICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgotICAgIDxDaGFyYWN0ZXJTZXQ+TXVsdGlCeXRlPC9DaGFyYWN0ZXJTZXQ+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+QXBwbGljYXRpb248L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxVc2VEZWJ1Z0xpYnJhcmllcz5mYWxzZTwvVXNlRGVidWdMaWJyYXJpZXM+Ci0gICAgPFdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj50cnVlPC9XaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+Ci0gICAgPENoYXJhY3RlclNldD5NdWx0aUJ5dGU8L0NoYXJhY3RlclNldD4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+QXBwbGljYXRpb248L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxVc2VEZWJ1Z0xpYnJhcmllcz5mYWxzZTwvVXNlRGVidWdMaWJyYXJpZXM+Ci0gICAgPFdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj50cnVlPC9XaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+Ci0gICAgPENoYXJhY3RlclNldD5NdWx0aUJ5dGU8L0NoYXJhY3RlclNldD4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5BcHBsaWNhdGlvbjwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPFVzZURlYnVnTGlicmFyaWVzPmZhbHNlPC9Vc2VEZWJ1Z0xpYnJhcmllcz4KLSAgICA8V2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPnRydWU8L1dob2xlUHJvZ3JhbU9wdGltaXphdGlvbj4KLSAgICA8Q2hhcmFjdGVyU2V0Pk11bHRpQnl0ZTwvQ2hhcmFjdGVyU2V0PgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5BcHBsaWNhdGlvbjwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPFVzZURlYnVnTGlicmFyaWVzPmZhbHNlPC9Vc2VEZWJ1Z0xpYnJhcmllcz4KLSAgICA8V2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPnRydWU8L1dob2xlUHJvZ3JhbU9wdGltaXphdGlvbj4KLSAgICA8Q2hhcmFjdGVyU2V0Pk11bHRpQnl0ZTwvQ2hhcmFjdGVyU2V0PgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+QXBwbGljYXRpb248L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxVc2VEZWJ1Z0xpYnJhcmllcz5mYWxzZTwvVXNlRGVidWdMaWJyYXJpZXM+Ci0gICAgPFdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj50cnVlPC9XaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+CiAgICAgPENoYXJhY3RlclNldD5NdWx0aUJ5dGU8L0NoYXJhY3RlclNldD4KICAgPC9Qcm9wZXJ0eUdyb3VwPgogICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC5wcm9wcyIgLz4KICAgPEltcG9ydEdyb3VwIExhYmVsPSJFeHRlbnNpb25TZXR0aW5ncyI+CiAgIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBMYWJlbD0iUHJvcGVydHlTaGVldHMiIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIj4KKyAgPFByb3BlcnR5R3JvdXA+CisgICAgPE1ha2VWZXJzaW9uSW5mb0JlZm9yZVRhcmdldD5DbENvbXBpbGU8L01ha2VWZXJzaW9uSW5mb0JlZm9yZVRhcmdldD4KKyAgPC9Qcm9wZXJ0eUdyb3VwPgorICA8SW1wb3J0R3JvdXAgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KICAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+CiAgICAgPEltcG9ydCBQcm9qZWN0PSJweXByb2plY3QucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJkZWJ1Zy5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweXByb2plY3QucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJkZWJ1Zy5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9Ing2NC5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlwcm9qZWN0LnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icmVsZWFzZS5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5cHJvamVjdC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InJlbGVhc2UucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJwZ3VwZGF0ZS5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweXByb2plY3QucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJyZWxlYXNlLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icGdpbnN0cnVtZW50LnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlwcm9qZWN0LnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icmVsZWFzZS5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9Ing2NC5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweXByb2plY3QucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJyZWxlYXNlLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0ieDY0LnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icGd1cGRhdGUucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5cHJvamVjdC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InJlbGVhc2UucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJ4NjQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJwZ2luc3RydW1lbnQucHJvcHMiIC8+CiAgIDwvSW1wb3J0R3JvdXA+CiAgIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJVc2VyTWFjcm9zIiAvPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+Ci0gICAgPFRhcmdldE5hbWU+cHlfZDwvVGFyZ2V0TmFtZT4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPgotICAgIDxUYXJnZXROYW1lPnB5X2Q8L1RhcmdldE5hbWU+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+Ci0gICAgPFRhcmdldE5hbWU+cHk8L1RhcmdldE5hbWU+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciPgotICAgIDxUYXJnZXROYW1lPnB5PC9UYXJnZXROYW1lPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyI+Ci0gICAgPFRhcmdldE5hbWU+cHk8L1RhcmdldE5hbWU+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPgotICAgIDxUYXJnZXROYW1lPnB5PC9UYXJnZXROYW1lPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyI+Ci0gICAgPFRhcmdldE5hbWU+cHk8L1RhcmdldE5hbWU+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyI+Ci0gICAgPFRhcmdldE5hbWU+cHk8L1RhcmdldE5hbWU+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPgorICA8SXRlbURlZmluaXRpb25Hcm91cD4KICAgICA8Q2xDb21waWxlPgotICAgICAgPFdhcm5pbmdMZXZlbD5MZXZlbDM8L1dhcm5pbmdMZXZlbD4KLSAgICAgIDxPcHRpbWl6YXRpb24+RGlzYWJsZWQ8L09wdGltaXphdGlvbj4KICAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5fQ09OU09MRTslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+CisgICAgICA8UnVudGltZUxpYnJhcnk+TXVsdGlUaHJlYWRlZDwvUnVudGltZUxpYnJhcnk+CiAgICAgPC9DbENvbXBpbGU+CiAgICAgPExpbms+Ci0gICAgICA8R2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPnRydWU8L0dlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj4KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPnZlcnNpb24ubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Ci0gICAgICA8SWdub3JlQWxsRGVmYXVsdExpYnJhcmllcz5mYWxzZTwvSWdub3JlQWxsRGVmYXVsdExpYnJhcmllcz4KLSAgICAgIDxTdWJTeXN0ZW0+Q29uc29sZTwvU3ViU3lzdGVtPgotICAgICAgPE91dHB1dEZpbGU+JChPdXREaXIpJChUYXJnZXROYW1lKSQoVGFyZ2V0RXh0KTwvT3V0cHV0RmlsZT4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIj4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPFdhcm5pbmdMZXZlbD5MZXZlbDM8L1dhcm5pbmdMZXZlbD4KLSAgICAgIDxPcHRpbWl6YXRpb24+RGlzYWJsZWQ8L09wdGltaXphdGlvbj4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5fQ09OU09MRTslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPExpbms+Ci0gICAgICA8R2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPnRydWU8L0dlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj4KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPnZlcnNpb24ubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Ci0gICAgICA8SWdub3JlQWxsRGVmYXVsdExpYnJhcmllcz5mYWxzZTwvSWdub3JlQWxsRGVmYXVsdExpYnJhcmllcz4KLSAgICAgIDxTdWJTeXN0ZW0+Q29uc29sZTwvU3ViU3lzdGVtPgotICAgICAgPE91dHB1dEZpbGU+JChPdXREaXIpJChUYXJnZXROYW1lKSQoVGFyZ2V0RXh0KTwvT3V0cHV0RmlsZT4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxXYXJuaW5nTGV2ZWw+TGV2ZWwzPC9XYXJuaW5nTGV2ZWw+Ci0gICAgICA8T3B0aW1pemF0aW9uPk1heFNwZWVkPC9PcHRpbWl6YXRpb24+Ci0gICAgICA8RnVuY3Rpb25MZXZlbExpbmtpbmc+dHJ1ZTwvRnVuY3Rpb25MZXZlbExpbmtpbmc+Ci0gICAgICA8SW50cmluc2ljRnVuY3Rpb25zPnRydWU8L0ludHJpbnNpY0Z1bmN0aW9ucz4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5fQ09OU09MRTtOREVCVUc7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgIDwvQ2xDb21waWxlPgotICAgIDxMaW5rPgotICAgICAgPEdlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj50cnVlPC9HZW5lcmF0ZURlYnVnSW5mb3JtYXRpb24+Ci0gICAgICA8RW5hYmxlQ09NREFURm9sZGluZz5mYWxzZTwvRW5hYmxlQ09NREFURm9sZGluZz4KLSAgICAgIDxPcHRpbWl6ZVJlZmVyZW5jZXM+dHJ1ZTwvT3B0aW1pemVSZWZlcmVuY2VzPgotICAgICAgPElnbm9yZUFsbERlZmF1bHRMaWJyYXJpZXM+ZmFsc2U8L0lnbm9yZUFsbERlZmF1bHRMaWJyYXJpZXM+Ci0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz52ZXJzaW9uLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgotICAgICAgPFN1YlN5c3RlbT5Db25zb2xlPC9TdWJTeXN0ZW0+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIj4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPFdhcm5pbmdMZXZlbD5MZXZlbDM8L1dhcm5pbmdMZXZlbD4KLSAgICAgIDxPcHRpbWl6YXRpb24+TWF4U3BlZWQ8L09wdGltaXphdGlvbj4KLSAgICAgIDxGdW5jdGlvbkxldmVsTGlua2luZz50cnVlPC9GdW5jdGlvbkxldmVsTGlua2luZz4KLSAgICAgIDxJbnRyaW5zaWNGdW5jdGlvbnM+dHJ1ZTwvSW50cmluc2ljRnVuY3Rpb25zPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPl9DT05TT0xFO05ERUJVRzslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPExpbms+Ci0gICAgICA8R2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPnRydWU8L0dlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj4KLSAgICAgIDxFbmFibGVDT01EQVRGb2xkaW5nPmZhbHNlPC9FbmFibGVDT01EQVRGb2xkaW5nPgotICAgICAgPE9wdGltaXplUmVmZXJlbmNlcz50cnVlPC9PcHRpbWl6ZVJlZmVyZW5jZXM+Ci0gICAgICA8SWdub3JlQWxsRGVmYXVsdExpYnJhcmllcz5mYWxzZTwvSWdub3JlQWxsRGVmYXVsdExpYnJhcmllcz4KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPnZlcnNpb24ubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Ci0gICAgICA8U3ViU3lzdGVtPkNvbnNvbGU8L1N1YlN5c3RlbT4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIj4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPFdhcm5pbmdMZXZlbD5MZXZlbDM8L1dhcm5pbmdMZXZlbD4KLSAgICAgIDxPcHRpbWl6YXRpb24+TWF4U3BlZWQ8L09wdGltaXphdGlvbj4KLSAgICAgIDxGdW5jdGlvbkxldmVsTGlua2luZz50cnVlPC9GdW5jdGlvbkxldmVsTGlua2luZz4KLSAgICAgIDxJbnRyaW5zaWNGdW5jdGlvbnM+dHJ1ZTwvSW50cmluc2ljRnVuY3Rpb25zPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPl9DT05TT0xFO05ERUJVRzslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPExpbms+Ci0gICAgICA8R2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPnRydWU8L0dlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj4KLSAgICAgIDxFbmFibGVDT01EQVRGb2xkaW5nPmZhbHNlPC9FbmFibGVDT01EQVRGb2xkaW5nPgotICAgICAgPE9wdGltaXplUmVmZXJlbmNlcz50cnVlPC9PcHRpbWl6ZVJlZmVyZW5jZXM+Ci0gICAgICA8SWdub3JlQWxsRGVmYXVsdExpYnJhcmllcz5mYWxzZTwvSWdub3JlQWxsRGVmYXVsdExpYnJhcmllcz4KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPnZlcnNpb24ubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Ci0gICAgICA8U3ViU3lzdGVtPkNvbnNvbGU8L1N1YlN5c3RlbT4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8V2FybmluZ0xldmVsPkxldmVsMzwvV2FybmluZ0xldmVsPgotICAgICAgPE9wdGltaXphdGlvbj5NYXhTcGVlZDwvT3B0aW1pemF0aW9uPgotICAgICAgPEZ1bmN0aW9uTGV2ZWxMaW5raW5nPnRydWU8L0Z1bmN0aW9uTGV2ZWxMaW5raW5nPgotICAgICAgPEludHJpbnNpY0Z1bmN0aW9ucz50cnVlPC9JbnRyaW5zaWNGdW5jdGlvbnM+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+X0NPTlNPTEU7TkRFQlVHOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8TGluaz4KLSAgICAgIDxHZW5lcmF0ZURlYnVnSW5mb3JtYXRpb24+dHJ1ZTwvR2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPgotICAgICAgPEVuYWJsZUNPTURBVEZvbGRpbmc+ZmFsc2U8L0VuYWJsZUNPTURBVEZvbGRpbmc+Ci0gICAgICA8T3B0aW1pemVSZWZlcmVuY2VzPnRydWU8L09wdGltaXplUmVmZXJlbmNlcz4KLSAgICAgIDxJZ25vcmVBbGxEZWZhdWx0TGlicmFyaWVzPmZhbHNlPC9JZ25vcmVBbGxEZWZhdWx0TGlicmFyaWVzPgotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+dmVyc2lvbi5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KLSAgICAgIDxTdWJTeXN0ZW0+Q29uc29sZTwvU3ViU3lzdGVtPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8V2FybmluZ0xldmVsPkxldmVsMzwvV2FybmluZ0xldmVsPgotICAgICAgPE9wdGltaXphdGlvbj5NYXhTcGVlZDwvT3B0aW1pemF0aW9uPgotICAgICAgPEZ1bmN0aW9uTGV2ZWxMaW5raW5nPnRydWU8L0Z1bmN0aW9uTGV2ZWxMaW5raW5nPgotICAgICAgPEludHJpbnNpY0Z1bmN0aW9ucz50cnVlPC9JbnRyaW5zaWNGdW5jdGlvbnM+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+X0NPTlNPTEU7TkRFQlVHOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8TGluaz4KLSAgICAgIDxHZW5lcmF0ZURlYnVnSW5mb3JtYXRpb24+dHJ1ZTwvR2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPgotICAgICAgPEVuYWJsZUNPTURBVEZvbGRpbmc+ZmFsc2U8L0VuYWJsZUNPTURBVEZvbGRpbmc+Ci0gICAgICA8T3B0aW1pemVSZWZlcmVuY2VzPnRydWU8L09wdGltaXplUmVmZXJlbmNlcz4KLSAgICAgIDxJZ25vcmVBbGxEZWZhdWx0TGlicmFyaWVzPmZhbHNlPC9JZ25vcmVBbGxEZWZhdWx0TGlicmFyaWVzPgotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+dmVyc2lvbi5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KLSAgICAgIDxTdWJTeXN0ZW0+Q29uc29sZTwvU3ViU3lzdGVtPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIj4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPFdhcm5pbmdMZXZlbD5MZXZlbDM8L1dhcm5pbmdMZXZlbD4KLSAgICAgIDxPcHRpbWl6YXRpb24+TWF4U3BlZWQ8L09wdGltaXphdGlvbj4KLSAgICAgIDxGdW5jdGlvbkxldmVsTGlua2luZz50cnVlPC9GdW5jdGlvbkxldmVsTGlua2luZz4KLSAgICAgIDxJbnRyaW5zaWNGdW5jdGlvbnM+dHJ1ZTwvSW50cmluc2ljRnVuY3Rpb25zPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPl9DT05TT0xFO05ERUJVRzslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPExpbms+Ci0gICAgICA8R2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPnRydWU8L0dlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj4KLSAgICAgIDxFbmFibGVDT01EQVRGb2xkaW5nPmZhbHNlPC9FbmFibGVDT01EQVRGb2xkaW5nPgotICAgICAgPE9wdGltaXplUmVmZXJlbmNlcz50cnVlPC9PcHRpbWl6ZVJlZmVyZW5jZXM+Ci0gICAgICA8SWdub3JlQWxsRGVmYXVsdExpYnJhcmllcz5mYWxzZTwvSWdub3JlQWxsRGVmYXVsdExpYnJhcmllcz4KICAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPnZlcnNpb24ubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+CiAgICAgICA8U3ViU3lzdGVtPkNvbnNvbGU8L1N1YlN5c3RlbT4KICAgICA8L0xpbms+CkBAIC0zMDAsMTEgKzc3LDYgQEAKICAgPEl0ZW1Hcm91cD4KICAgICA8UmVzb3VyY2VDb21waWxlIEluY2x1ZGU9Ii4uXFBDXHB5bGF1bmNoZXIucmMiIC8+CiAgIDwvSXRlbUdyb3VwPgotICA8SXRlbUdyb3VwPgotICAgIDxQcm9qZWN0UmVmZXJlbmNlIEluY2x1ZGU9Im1ha2VfdmVyc2lvbmluZm8udmN4cHJvaiI+Ci0gICAgICA8UHJvamVjdD57ZjBlMDU0MWUtZjE3ZC00MzBiLTk3YzQtOTNhZGYwZGQyODRlfTwvUHJvamVjdD4KLSAgICA8L1Byb2plY3RSZWZlcmVuY2U+Ci0gIDwvSXRlbUdyb3VwPgogICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC50YXJnZXRzIiAvPgogICA8SW1wb3J0R3JvdXAgTGFiZWw9IkV4dGVuc2lvblRhcmdldHMiPgogICA8L0ltcG9ydEdyb3VwPgpkaWZmIC0tZ2l0IGEvUENidWlsZC9weXByb2plY3QucHJvcHMgYi9QQ2J1aWxkL3B5cHJvamVjdC5wcm9wcwppbmRleCBlOGYzMTM4Li4xYWZiZmUxIDEwMDY0NAotLS0gYS9QQ2J1aWxkL3B5cHJvamVjdC5wcm9wcworKysgYi9QQ2J1aWxkL3B5cHJvamVjdC5wcm9wcwpAQCAtMSw0OCArMSw0OSBAQAog77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KIDxQcm9qZWN0IERlZmF1bHRUYXJnZXRzPSJCdWlsZCIgVG9vbHNWZXJzaW9uPSI0LjAiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2RldmVsb3Blci9tc2J1aWxkLzIwMDMiPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKFBsYXRmb3JtKSc9PSdXaW4zMiciPgorICA8UHJvcGVydHlHcm91cCBMYWJlbD0iR2xvYmFscyI+CiAgICAgPF9Qcm9qZWN0RmlsZVZlcnNpb24+MTAuMC4zMDMxOS4xPC9fUHJvamVjdEZpbGVWZXJzaW9uPgotICAgIDxPdXREaXI+JChTb2x1dGlvbkRpcik8L091dERpcj4KLSAgICA8SW50RGlyPiQoU29sdXRpb25EaXIpJChQbGF0Zm9ybU5hbWUpLXRlbXAtJChDb25maWd1cmF0aW9uKVwkKFByb2plY3ROYW1lKVw8L0ludERpcj4KLSAgICA8TGlua0luY3JlbWVudGFsPmZhbHNlPC9MaW5rSW5jcmVtZW50YWw+Ci0gIDwvUHJvcGVydHlHcm91cD4gIAotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKFBsYXRmb3JtKSc9PSd4NjQnIj4KLSAgICA8X1Byb2plY3RGaWxlVmVyc2lvbj4xMC4wLjMwMzE5LjE8L19Qcm9qZWN0RmlsZVZlcnNpb24+Ci0gICAgPF9Qcm9wZXJ0eVNoZWV0RGlzcGxheU5hbWU+YW1kNjQ8L19Qcm9wZXJ0eVNoZWV0RGlzcGxheU5hbWU+Ci0gICAgPE91dERpcj4kKFNvbHV0aW9uRGlyKWFtZDY0XDwvT3V0RGlyPgotICAgIDxJbnREaXI+JChTb2x1dGlvbkRpcikkKFBsYXRmb3JtTmFtZSktdGVtcC0kKENvbmZpZ3VyYXRpb24pXCQoUHJvamVjdE5hbWUpXDwvSW50RGlyPgorICAgIDxWaXN1YWxTdHVkaW9WZXJzaW9uIENvbmRpdGlvbj0iJyQoVmlzdWFsU3R1ZGlvVmVyc2lvbiknID09ICcnIj4xMC4wPC9WaXN1YWxTdHVkaW9WZXJzaW9uPgorICAgIDxPdXREaXI+JChCdWlsZFBhdGgpPC9PdXREaXI+CisgICAgPEludERpcj4kKFNvbHV0aW9uRGlyKW9ialwkKEFyY2hOYW1lKV8kKENvbmZpZ3VyYXRpb24pXCQoUHJvamVjdE5hbWUpXDwvSW50RGlyPgorICAgIDxJbnREaXIgQ29uZGl0aW9uPSIkKENvbmZpZ3VyYXRpb24pID09ICdQR0luc3RydW1lbnQnIG9yICQoQ29uZmlndXJhdGlvbikgPT0gJ1BHVXBkYXRlJyI+JChTb2x1dGlvbkRpcilvYmpcJChBcmNoTmFtZSlcJChQcm9qZWN0TmFtZSlcPC9JbnREaXI+CisgICAgPFRhcmdldE5hbWUgQ29uZGl0aW9uPSInJChUYXJnZXROYW1lKScgPT0gJyciPiQoUHJvamVjdE5hbWUpPC9UYXJnZXROYW1lPgorICAgIDxUYXJnZXROYW1lPiQoVGFyZ2V0TmFtZSkkKFB5RGVidWdFeHQpPC9UYXJnZXROYW1lPgorICAgIDxHZW5lcmF0ZU1hbmlmZXN0PmZhbHNlPC9HZW5lcmF0ZU1hbmlmZXN0PgorICAgIDxFbWJlZE1hbmlmZXN0PmZhbHNlPC9FbWJlZE1hbmlmZXN0PgorICAgIDxTdXBwb3J0UEdPIENvbmRpdGlvbj0iJyQoU3VwcG9ydFBHTyknID09ICcnIj50cnVlPC9TdXBwb3J0UEdPPgorICAgIDxTdXBwb3J0U2lnbmluZyBDb25kaXRpb249IickKFN1cHBvcnRTaWduaW5nKScgPT0gJyciPnRydWU8L1N1cHBvcnRTaWduaW5nPgorICAgIDxTdXBwb3J0U2lnbmluZyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pJyA9PSAnRGVidWcnIj5mYWxzZTwvU3VwcG9ydFNpZ25pbmc+CisgICAgPFN1cHBvcnRTaWduaW5nIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvblR5cGUpJyA9PSAnU3RhdGljTGlicmFyeSciPmZhbHNlPC9TdXBwb3J0U2lnbmluZz4KICAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBMYWJlbD0iVXNlck1hY3JvcyI+Ci0gICAgPFB5RGxsTmFtZT5weXRob24zNCQoUHlEZWJ1Z0V4dCk8L1B5RGxsTmFtZT4KLSAgICA8UHl0aG9uRXhlPiQoT3V0RGlyKXB5dGhvbiQoUHlEZWJ1Z0V4dCkuZXhlPC9QeXRob25FeGU+Ci0gICAgPEtpbGxQeXRob25FeGU+JChPdXREaXIpa2lsbF9weXRob24kKFB5RGVidWdFeHQpLmV4ZTwvS2lsbFB5dGhvbkV4ZT4KLSAgICA8ZXh0ZXJuYWxzRGlyPi4uXGV4dGVybmFsczwvZXh0ZXJuYWxzRGlyPgotICAgIDxzcWxpdGUzRGlyPiQoZXh0ZXJuYWxzRGlyKVxzcWxpdGUtMy44LjMuMTwvc3FsaXRlM0Rpcj4KLSAgICA8YnoyRGlyPiQoZXh0ZXJuYWxzRGlyKVxiemlwMi0xLjAuNjwvYnoyRGlyPgotICAgIDxsem1hRGlyPiQoZXh0ZXJuYWxzRGlyKVx4ei01LjAuNTwvbHptYURpcj4KLSAgICA8b3BlbnNzbERpcj4kKGV4dGVybmFsc0Rpcilcb3BlbnNzbC0xLjAuMWw8L29wZW5zc2xEaXI+Ci0gICAgPHRjbHRrRGlyPiQoZXh0ZXJuYWxzRGlyKVx0Y2x0azwvdGNsdGtEaXI+Ci0gICAgPHRjbHRrNjREaXI+JChleHRlcm5hbHNEaXIpXHRjbHRrNjQ8L3RjbHRrNjREaXI+Ci0gICAgPHRjbHRrTGliPiQodGNsdGtEaXIpXGxpYlx0Y2w4NnQubGliOyQodGNsdGtEaXIpXGxpYlx0azg2dC5saWI8L3RjbHRrTGliPgotICAgIDx0Y2x0a0xpYkRlYnVnPiQodGNsdGtEaXIpXGxpYlx0Y2w4NnRnLmxpYjskKHRjbHRrRGlyKVxsaWJcdGs4NnRnLmxpYjwvdGNsdGtMaWJEZWJ1Zz4KLSAgICA8dGNsdGs2NExpYj4kKHRjbHRrNjREaXIpXGxpYlx0Y2w4NnQubGliOyQodGNsdGs2NERpcilcbGliXHRrODZ0LmxpYjwvdGNsdGs2NExpYj4KLSAgICA8dGNsdGs2NExpYkRlYnVnPiQodGNsdGs2NERpcilcbGliXHRjbDg2dGcubGliOyQodGNsdGs2NERpcilcbGliXHRrODZ0Zy5saWI8L3RjbHRrNjRMaWJEZWJ1Zz4KKworICA8UHJvcGVydHlHcm91cD4KKyAgICA8X0RlYnVnUHJlcHJvY2Vzc29yRGVmaW5pdGlvbj5OREVCVUc7PC9fRGVidWdQcmVwcm9jZXNzb3JEZWZpbml0aW9uPgorICAgIDxfRGVidWdQcmVwcm9jZXNzb3JEZWZpbml0aW9uIENvbmRpdGlvbj0iJChDb25maWd1cmF0aW9uKSA9PSAnRGVidWcnIj5fREVCVUc7PC9fRGVidWdQcmVwcm9jZXNzb3JEZWZpbml0aW9uPgorICAgIDxfUGxhdGZvcm1QcmVwcm9jZXNzb3JEZWZpbml0aW9uPl9XSU4zMjs8L19QbGF0Zm9ybVByZXByb2Nlc3NvckRlZmluaXRpb24+CisgICAgPF9QbGF0Zm9ybVByZXByb2Nlc3NvckRlZmluaXRpb24gQ29uZGl0aW9uPSIkKFBsYXRmb3JtKSA9PSAneDY0JyI+X1dJTjY0O19NX1g2NDs8L19QbGF0Zm9ybVByZXByb2Nlc3NvckRlZmluaXRpb24+CisgICAgPF9QeWRQcmVwcm9jZXNzb3JEZWZpbml0aW9uIENvbmRpdGlvbj0iJChUYXJnZXRFeHQpID09ICcucHlkJyI+UHlfQlVJTERfQ09SRV9NT0RVTEU7PC9fUHlkUHJlcHJvY2Vzc29yRGVmaW5pdGlvbj4KICAgPC9Qcm9wZXJ0eUdyb3VwPgogICA8SXRlbURlZmluaXRpb25Hcm91cD4KICAgICA8Q2xDb21waWxlPgorICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+JChQeVNvdXJjZVBhdGgpSW5jbHVkZTskKFB5U291cmNlUGF0aClQQzslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgorICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPldJTjMyOyQoX1BsYXRmb3JtUHJlcHJvY2Vzc29yRGVmaW5pdGlvbikkKF9EZWJ1Z1ByZXByb2Nlc3NvckRlZmluaXRpb24pJChfUHlkUHJlcHJvY2Vzc29yRGVmaW5pdGlvbiklKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+CisgICAgICAKICAgICAgIDxPcHRpbWl6YXRpb24+TWF4U3BlZWQ8L09wdGltaXphdGlvbj4KLSAgICAgIDxJbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj5Pbmx5RXhwbGljaXRJbmxpbmU8L0lubGluZUZ1bmN0aW9uRXhwYW5zaW9uPgogICAgICAgPEludHJpbnNpY0Z1bmN0aW9ucz50cnVlPC9JbnRyaW5zaWNGdW5jdGlvbnM+Ci0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4uLlxJbmNsdWRlOyAuLlxQQzslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPl9XSU4zMjslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+CiAgICAgICA8U3RyaW5nUG9vbGluZz50cnVlPC9TdHJpbmdQb29saW5nPgotICAgICAgPEV4Y2VwdGlvbkhhbmRsaW5nPgotICAgICAgPC9FeGNlcHRpb25IYW5kbGluZz4KLSAgICAgIDxSdW50aW1lTGlicmFyeT5NdWx0aVRocmVhZGVkPC9SdW50aW1lTGlicmFyeT4KKyAgICAgIDxFeGNlcHRpb25IYW5kbGluZz48L0V4Y2VwdGlvbkhhbmRsaW5nPgorICAgICAgPFJ1bnRpbWVMaWJyYXJ5Pk11bHRpVGhyZWFkZWRETEw8L1J1bnRpbWVMaWJyYXJ5PgogICAgICAgPEZ1bmN0aW9uTGV2ZWxMaW5raW5nPnRydWU8L0Z1bmN0aW9uTGV2ZWxMaW5raW5nPgogICAgICAgPFdhcm5pbmdMZXZlbD5MZXZlbDM8L1dhcm5pbmdMZXZlbD4KICAgICAgIDxEZWJ1Z0luZm9ybWF0aW9uRm9ybWF0PlByb2dyYW1EYXRhYmFzZTwvRGVidWdJbmZvcm1hdGlvbkZvcm1hdD4KICAgICAgIDxDb21waWxlQXM+RGVmYXVsdDwvQ29tcGlsZUFzPgorICAgICAgPFN1cHByZXNzU3RhcnR1cEJhbm5lcj50cnVlPC9TdXBwcmVzc1N0YXJ0dXBCYW5uZXI+CisgICAgICA8V2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPnRydWU8L1dob2xlUHJvZ3JhbU9wdGltaXphdGlvbj4KKyAgICA8L0NsQ29tcGlsZT4KKyAgICA8Q2xDb21waWxlIENvbmRpdGlvbj0iJChDb25maWd1cmF0aW9uKSA9PSAnRGVidWcnIj4KKyAgICAgIDxPcHRpbWl6YXRpb24+RGlzYWJsZWQ8L09wdGltaXphdGlvbj4KKyAgICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+ZmFsc2U8L1dob2xlUHJvZ3JhbU9wdGltaXphdGlvbj4KKyAgICAgIDxSdW50aW1lTGlicmFyeT5NdWx0aVRocmVhZGVkRGVidWdETEw8L1J1bnRpbWVMaWJyYXJ5PgogICAgIDwvQ2xDb21waWxlPgogICAgIDxMaW5rPgogICAgICAgPEFkZGl0aW9uYWxMaWJyYXJ5RGlyZWN0b3JpZXM+JChPdXREaXIpOyUoQWRkaXRpb25hbExpYnJhcnlEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxMaWJyYXJ5RGlyZWN0b3JpZXM+CkBAIC01MSw1NCArNTIsMTA1IEBACiAgICAgICA8U3ViU3lzdGVtPldpbmRvd3M8L1N1YlN5c3RlbT4KICAgICAgIDxSYW5kb21pemVkQmFzZUFkZHJlc3M+dHJ1ZTwvUmFuZG9taXplZEJhc2VBZGRyZXNzPgogICAgICAgPERhdGFFeGVjdXRpb25QcmV2ZW50aW9uPnRydWU8L0RhdGFFeGVjdXRpb25QcmV2ZW50aW9uPgorICAgICAgPFN1cHByZXNzU3RhcnR1cEJhbm5lcj50cnVlPC9TdXBwcmVzc1N0YXJ0dXBCYW5uZXI+CisgICAgICA8SWdub3JlU3BlY2lmaWNEZWZhdWx0TGlicmFyaWVzPkxJQkM7JShJZ25vcmVTcGVjaWZpY0RlZmF1bHRMaWJyYXJpZXMpPC9JZ25vcmVTcGVjaWZpY0RlZmF1bHRMaWJyYXJpZXM+CiAgICAgICA8VGFyZ2V0TWFjaGluZT5NYWNoaW5lWDg2PC9UYXJnZXRNYWNoaW5lPgorICAgICAgPFRhcmdldE1hY2hpbmUgQ29uZGl0aW9uPSInJChQbGF0Zm9ybSknID09ICd4NjQnIj5NYWNoaW5lWDY0PC9UYXJnZXRNYWNoaW5lPgorICAgICAgPFByb2ZpbGVHdWlkZWREYXRhYmFzZSBDb25kaXRpb249IiQoU3VwcG9ydFBHTykiPiQoT3V0RGlyKSQoVGFyZ2V0TmFtZSkucGdkPC9Qcm9maWxlR3VpZGVkRGF0YWJhc2U+CisgICAgICA8TGlua1RpbWVDb2RlR2VuZXJhdGlvbiBDb25kaXRpb249IiQoQ29uZmlndXJhdGlvbikgPT0gJ1JlbGVhc2UnIj5Vc2VMaW5rVGltZUNvZGVHZW5lcmF0aW9uPC9MaW5rVGltZUNvZGVHZW5lcmF0aW9uPgorICAgICAgPExpbmtUaW1lQ29kZUdlbmVyYXRpb24gQ29uZGl0aW9uPSIkKFN1cHBvcnRQR08pIGFuZCAkKENvbmZpZ3VyYXRpb24pID09ICdQR0luc3RydW1lbnQnIj5QR0luc3RydW1lbnQ8L0xpbmtUaW1lQ29kZUdlbmVyYXRpb24+CisgICAgICA8TGlua1RpbWVDb2RlR2VuZXJhdGlvbiBDb25kaXRpb249IiQoU3VwcG9ydFBHTykgYW5kICQoQ29uZmlndXJhdGlvbikgPT0gJ1BHVXBkYXRlJyI+UEdVcGRhdGU8L0xpbmtUaW1lQ29kZUdlbmVyYXRpb24+CiAgICAgPC9MaW5rPgorICAgIDxMaWI+CisgICAgICA8TGlua1RpbWVDb2RlR2VuZXJhdGlvbiBDb25kaXRpb249IiQoQ29uZmlndXJhdGlvbikgPT0gJ1JlbGVhc2UnIj50cnVlPC9MaW5rVGltZUNvZGVHZW5lcmF0aW9uPgorICAgICAgPExpbmtUaW1lQ29kZUdlbmVyYXRpb24gQ29uZGl0aW9uPSIkKFN1cHBvcnRQR08pIGFuZCAkKENvbmZpZ3VyYXRpb24pID09ICdQR0luc3RydW1lbnQnIj50cnVlPC9MaW5rVGltZUNvZGVHZW5lcmF0aW9uPgorICAgICAgPExpbmtUaW1lQ29kZUdlbmVyYXRpb24gQ29uZGl0aW9uPSIkKFN1cHBvcnRQR08pIGFuZCAkKENvbmZpZ3VyYXRpb24pID09ICdQR1VwZGF0ZSciPnRydWU8L0xpbmtUaW1lQ29kZUdlbmVyYXRpb24+CisgICAgPC9MaWI+CiAgICAgPFJlc291cmNlQ29tcGlsZT4KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPi4uXFBDOy4uXEluY2x1ZGU7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KKyAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPiQoUHlTb3VyY2VQYXRoKVBDOyQoUHlTb3VyY2VQYXRoKUluY2x1ZGU7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KKyAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4kKF9EZWJ1Z1ByZXByb2Nlc3NvckRlZmluaXRpb24pJShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgorICAgICAgPEN1bHR1cmU+MHgwNDA5PC9DdWx0dXJlPgogICAgIDwvUmVzb3VyY2VDb21waWxlPgorICAgIDxNaWRsPgorICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPiQoX0RlYnVnUHJlcHJvY2Vzc29yRGVmaW5pdGlvbiklKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+CisgICAgICA8TWtUeXBMaWJDb21wYXRpYmxlPnRydWU8L01rVHlwTGliQ29tcGF0aWJsZT4KKyAgICAgIDxTdXBwcmVzc1N0YXJ0dXBCYW5uZXI+dHJ1ZTwvU3VwcHJlc3NTdGFydHVwQmFubmVyPgorICAgICAgPFRhcmdldEVudmlyb25tZW50PldpbjMyPC9UYXJnZXRFbnZpcm9ubWVudD4KKyAgICAgIDxUYXJnZXRFbnZpcm9ubWVudCBDb25kaXRpb249IickKFBsYXRmb3JtKScgPT0gJ3g2NCciPlg2NDwvVGFyZ2V0RW52aXJvbm1lbnQ+CisgICAgICA8VHlwZUxpYnJhcnlOYW1lPiQoT3V0RGlyKXdpbmluc3QudGxiPC9UeXBlTGlicmFyeU5hbWU+CisgICAgICA8SGVhZGVyRmlsZU5hbWU+CisgICAgICA8L0hlYWRlckZpbGVOYW1lPgorICAgIDwvTWlkbD4KICAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbUdyb3VwPgotICAgIDxCdWlsZE1hY3JvIEluY2x1ZGU9IlB5RGxsTmFtZSI+Ci0gICAgICA8VmFsdWU+JChQeURsbE5hbWUpPC9WYWx1ZT4KLSAgICA8L0J1aWxkTWFjcm8+Ci0gICAgPEJ1aWxkTWFjcm8gSW5jbHVkZT0iUHl0aG9uRXhlIj4KLSAgICAgIDxWYWx1ZT4kKFB5dGhvbkV4ZSk8L1ZhbHVlPgotICAgIDwvQnVpbGRNYWNybz4KLSAgICA8QnVpbGRNYWNybyBJbmNsdWRlPSJLaWxsUHl0aG9uRXhlIj4KLSAgICAgIDxWYWx1ZT4kKEtpbGxQeXRob25FeGUpPC9WYWx1ZT4KLSAgICA8L0J1aWxkTWFjcm8+Ci0gICAgPEJ1aWxkTWFjcm8gSW5jbHVkZT0iZXh0ZXJuYWxzRGlyIj4KLSAgICAgIDxWYWx1ZT4kKGV4dGVybmFsc0Rpcik8L1ZhbHVlPgotICAgIDwvQnVpbGRNYWNybz4KLSAgICA8QnVpbGRNYWNybyBJbmNsdWRlPSJzcWxpdGUzRGlyIj4KLSAgICAgIDxWYWx1ZT4kKHNxbGl0ZTNEaXIpPC9WYWx1ZT4KLSAgICA8L0J1aWxkTWFjcm8+Ci0gICAgPEJ1aWxkTWFjcm8gSW5jbHVkZT0iYnoyRGlyIj4KLSAgICAgIDxWYWx1ZT4kKGJ6MkRpcik8L1ZhbHVlPgotICAgIDwvQnVpbGRNYWNybz4KLSAgICA8QnVpbGRNYWNybyBJbmNsdWRlPSJsem1hRGlyIj4KLSAgICAgIDxWYWx1ZT4kKGx6bWFEaXIpPC9WYWx1ZT4KLSAgICA8L0J1aWxkTWFjcm8+Ci0gICAgPEJ1aWxkTWFjcm8gSW5jbHVkZT0ib3BlbnNzbERpciI+Ci0gICAgICA8VmFsdWU+JChvcGVuc3NsRGlyKTwvVmFsdWU+Ci0gICAgPC9CdWlsZE1hY3JvPgotICAgIDxCdWlsZE1hY3JvIEluY2x1ZGU9InRjbHRrRGlyIj4KLSAgICAgIDxWYWx1ZT4kKHRjbHRrRGlyKTwvVmFsdWU+Ci0gICAgPC9CdWlsZE1hY3JvPgotICAgIDxCdWlsZE1hY3JvIEluY2x1ZGU9InRjbHRrNjREaXIiPgotICAgICAgPFZhbHVlPiQodGNsdGs2NERpcik8L1ZhbHVlPgotICAgIDwvQnVpbGRNYWNybz4KLSAgICA8QnVpbGRNYWNybyBJbmNsdWRlPSJ0Y2x0a0xpYiI+Ci0gICAgICA8VmFsdWU+JCh0Y2x0a0xpYik8L1ZhbHVlPgotICAgIDwvQnVpbGRNYWNybz4KLSAgICA8QnVpbGRNYWNybyBJbmNsdWRlPSJ0Y2x0a0xpYkRlYnVnIj4KLSAgICAgIDxWYWx1ZT4kKHRjbHRrTGliRGVidWcpPC9WYWx1ZT4KLSAgICA8L0J1aWxkTWFjcm8+Ci0gICAgPEJ1aWxkTWFjcm8gSW5jbHVkZT0idGNsdGs2NExpYiI+Ci0gICAgICA8VmFsdWU+JCh0Y2x0azY0TGliKTwvVmFsdWU+Ci0gICAgPC9CdWlsZE1hY3JvPgotICAgIDxCdWlsZE1hY3JvIEluY2x1ZGU9InRjbHRrNjRMaWJEZWJ1ZyI+Ci0gICAgICA8VmFsdWU+JCh0Y2x0azY0TGliRGVidWcpPC9WYWx1ZT4KLSAgICA8L0J1aWxkTWFjcm8+Ci0gIDwvSXRlbUdyb3VwPgotPC9Qcm9qZWN0PgorCisgIDxUYXJnZXQgTmFtZT0iR2VuZXJhdGVQeXRob25OdFJjSCIKKyAgICAgICAgICBCZWZvcmVUYXJnZXRzPSIkKE1ha2VWZXJzaW9uSW5mb0JlZm9yZVRhcmdldCkiCisgICAgICAgICAgSW5wdXRzPSIkKFB5U291cmNlUGF0aClJbmNsdWRlXHBhdGNobGV2ZWwuaCIKKyAgICAgICAgICBPdXRwdXRzPSIkKFB5U291cmNlUGF0aClQQ1xweXRob25udF9yYyQoUHlEZWJ1Z0V4dCkuaCI+CisgICAgPFdyaXRlTGluZXNUb0ZpbGUgRmlsZT0iJChQeVNvdXJjZVBhdGgpUENccHl0aG9ubnRfcmMkKFB5RGVidWdFeHQpLmgiIE92ZXJ3cml0ZT0idHJ1ZSIgRW5jb2Rpbmc9ImFzY2lpIgorICAgICAgICAgICAgICAgICAgICAgIExpbmVzPScvKiBUaGlzIGZpbGUgY3JlYXRlZCBieSBweXRob24ucHJvcHMgL3Q6R2VuZXJhdGVQeXRob25OdFJjSCAqLworI2RlZmluZSBGSUVMRDMgJChGaWVsZDNWYWx1ZSkKKyNkZWZpbmUgTVNfRExMX0lEICIkKFN5c1dpblZlcikiCisjZGVmaW5lIFBZVEhPTl9ETExfTkFNRSAiJChQeURsbE5hbWUpLmRsbCIKKycgLz4KKyAgICA8SXRlbUdyb3VwPgorICAgICAgICA8RmlsZVdyaXRlcyBJbmNsdWRlPSIkKFB5U291cmNlUGF0aClQQ1xweXRob25udF9yYyQoUHlEZWJ1Z0V4dCkuaCIgLz4KKyAgICA8L0l0ZW1Hcm91cD4KKyAgPC9UYXJnZXQ+CisKKyAgPFVzaW5nVGFzayBUYXNrTmFtZT0iS2lsbFB5dGhvbiIgVGFza0ZhY3Rvcnk9IkNvZGVUYXNrRmFjdG9yeSIgQXNzZW1ibHlGaWxlPSIkKE1TQnVpbGRUb29sc1BhdGgpXE1pY3Jvc29mdC5CdWlsZC5UYXNrcy52NC4wLmRsbCI+CisgICAgPFBhcmFtZXRlckdyb3VwPgorICAgICAgPEZpbGVOYW1lIFJlcXVpcmVkPSJ0cnVlIiAvPgorICAgIDwvUGFyYW1ldGVyR3JvdXA+CisgICAgPFRhc2s+CisgICAgICA8Q29kZSBUeXBlPSJGcmFnbWVudCIgTGFuZ3VhZ2U9ImNzIj4KKzwhW0NEQVRBWworc3RyaW5nIGZ1bGxQYXRoID0gU3lzdGVtLklPLlBhdGguR2V0RnVsbFBhdGgoRmlsZU5hbWUpOworTG9nLkxvZ01lc3NhZ2UoIkxvb2tpbmcgZm9yICIgKyBmdWxsUGF0aCwgTWVzc2FnZUltcG9ydGFuY2UuTm9ybWFsKTsKK2ZvcmVhY2ggKFN5c3RlbS5EaWFnbm9zdGljcy5Qcm9jZXNzIHAgaW4gU3lzdGVtLkRpYWdub3N0aWNzLlByb2Nlc3MuR2V0UHJvY2Vzc2VzKCkpIHsKKyAgICB0cnkgeworICAgICAgICBMb2cuTG9nTWVzc2FnZSgiRm91bmQgcnVubmluZyBwcm9jZXNzOiAiICsgcC5NYWluTW9kdWxlLkZpbGVOYW1lLCBNZXNzYWdlSW1wb3J0YW5jZS5Mb3cpOworICAgICAgICBpZiAoZnVsbFBhdGguRXF1YWxzKFN5c3RlbS5JTy5QYXRoLkdldEZ1bGxQYXRoKHAuTWFpbk1vZHVsZS5GaWxlTmFtZSksIFN0cmluZ0NvbXBhcmlzb24uT3JkaW5hbElnbm9yZUNhc2UpKSB7CisgICAgICAgICAgICBMb2cuTG9nTWVzc2FnZSgiVGVybWluYXRpbmcgIiArIHAuTWFpbk1vZHVsZS5GaWxlTmFtZSwgTWVzc2FnZUltcG9ydGFuY2UuSGlnaCk7CisgICAgICAgICAgICBwLktpbGwoKTsKKyAgICAgICAgfQorICAgIH0gY2F0Y2ggeworICAgIH0KK30KK11dPgorICAgICAgPC9Db2RlPgorICAgIDwvVGFzaz4KKyAgPC9Vc2luZ1Rhc2s+CisgIAorICA8VGFyZ2V0IE5hbWU9IktpbGxQeXRob24iIEJlZm9yZVRhcmdldHM9IlByZXBhcmVGb3JCdWlsZCIgQ29uZGl0aW9uPSInJChLaWxsUHl0aG9uKScgPT0gJ3RydWUnIj4KKyAgICA8TWVzc2FnZSBUZXh0PSJLaWxsaW5nIGFueSBydW5uaW5nIHB5dGhvbi5leGUgaW5zdGFuY2VzLi4uIiBJbXBvcnRhbmNlPSJoaWdoIiAvPgorICAgIDxLaWxsUHl0aG9uIEZpbGVOYW1lPSIkKE91dERpcilweXRob24kKFB5RGVidWdFeHQpLmV4ZSIgLz4KKyAgPC9UYXJnZXQ+CisgIAorICA8IS0tCisgIEEgZGVmYXVsdCB0YXJnZXQgdG8gaGFuZGxlIG1zYnVpbGQgcGNidWlsZC5wcm9qIC90OkNsZWFuQWxsLgorICAKKyAgU29tZSBleHRlcm5hbHMgcHJvamVjdHMgZG9uJ3QgcmVzcG9uZCB0byAvdDpDbGVhbiwgc28gd2UgaW52b2tlCisgIENsZWFuQWxsIG9uIHRoZW0gd2hlbiB3ZSByZWFsbHkgd2FudCB0byBjbGVhbiB1cC4KKyAgLS0+CisgIDxUYXJnZXQgTmFtZT0iQ2xlYW5BbGwiIERlcGVuZHNPblRhcmdldHM9IkNsZWFuIj4KKyAgICA8TVNCdWlsZCBQcm9qZWN0cz0iQChQcm9qZWN0UmVmZXJlbmNlLT4nJShGdWxsUGF0aCknKSIKKyAgICAgICAgICAgICBQcm9wZXJ0aWVzPSJDb25maWd1cmF0aW9uPSQoQ29uZmlndXJhdGlvbik7UGxhdGZvcm09JChQbGF0Zm9ybSkiCisgICAgICAgICAgICAgQnVpbGRJblBhcmFsbGVsPSJ0cnVlIgorICAgICAgICAgICAgIFN0b3BPbkZpcnN0RmFpbHVyZT0iZmFsc2UiCisgICAgICAgICAgICAgQ29uZGl0aW9uPSJFeGlzdHMoJShGdWxsUGF0aCkpIgorICAgICAgICAgICAgIFRhcmdldHM9IkNsZWFuQWxsIiAvPgorICA8L1RhcmdldD4KKworICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKFNpZ25pbmdDZXJ0aWZpY2F0ZSknICE9ICcnIGFuZCAkKFN1cHBvcnRTaWduaW5nKSI+CisgICAgPFNpZ25Ub29sUGF0aCBDb25kaXRpb249IickKFNpZ25Ub29sUGF0aCknID09ICcnIG9yICFFeGlzdHMoJChTaWduVG9vbFBhdGgpKSI+JChyZWdpc3RyeTpIS0VZX0xPQ0FMX01BQ0hJTkVcU29mdHdhcmVcTWljcm9zb2Z0XFdpbmRvd3MgS2l0c1xJbnN0YWxsZWQgUm9vdHNAS2l0c1Jvb3Q4MSlcYmluXHg4NlxzaWdudG9vbC5leGU8L1NpZ25Ub29sUGF0aD4KKyAgICA8U2lnblRvb2xQYXRoIENvbmRpdGlvbj0iIUV4aXN0cygkKFNpZ25Ub29sUGF0aCkpIj4kKHJlZ2lzdHJ5OkhLRVlfTE9DQUxfTUFDSElORVxTb2Z0d2FyZVxNaWNyb3NvZnRcV2luZG93cyBLaXRzXEluc3RhbGxlZCBSb290c0BLaXRzUm9vdClcYmluXHg4NlxzaWdudG9vbC5leGU8L1NpZ25Ub29sUGF0aD4KKyAgICA8U2lnblRvb2xQYXRoIENvbmRpdGlvbj0iIUV4aXN0cygkKFNpZ25Ub29sUGF0aCkpIj4kKHJlZ2lzdHJ5OkhLRVlfTE9DQUxfTUFDSElORVxTT0ZUV0FSRVxNaWNyb3NvZnRcTWljcm9zb2Z0IFNES3NcV2luZG93c1x2Ny4xQUBJbnN0YWxsYXRpb25Gb2xkZXIpXEJpblxzaWdudG9vbC5leGU8L1NpZ25Ub29sUGF0aD4KKyAgICA8X1NpZ25Db21tYW5kIENvbmRpdGlvbj0iRXhpc3RzKCQoU2lnblRvb2xQYXRoKSkiPiIkKFNpZ25Ub29sUGF0aCkiIHNpZ24gL3EgL24gIiQoU2lnbmluZ0NlcnRpZmljYXRlKSIgL3QgaHR0cDovL3RpbWVzdGFtcC52ZXJpc2lnbi5jb20vc2NyaXB0cy90aW1lc3RhbXAuZGxsIC9kICJQeXRob24gJChQeXRob25WZXJzaW9uKSI8L19TaWduQ29tbWFuZD4KKyAgPC9Qcm9wZXJ0eUdyb3VwPgorICAKKyAgPFRhcmdldCBOYW1lPSJfU2lnbkJ1aWxkIiBBZnRlclRhcmdldHM9IkFmdGVyQnVpbGQiIENvbmRpdGlvbj0iJyQoU2lnbmluZ0NlcnRpZmljYXRlKScgIT0gJycgYW5kICQoU3VwcG9ydFNpZ25pbmcpIj4KKyAgICA8RXJyb3IgVGV4dD0iVW5hYmxlIHRvIGxvY2F0ZSBzaWdudG9vbC5leGUuIFNldCAvcDpTaWduVG9vbFBhdGggYW5kIHJlYnVpbGQiIENvbmRpdGlvbj0iJyQoX1NpZ25Db21tYW5kKScgPT0gJyciIC8+CisgICAgPEV4ZWMgQ29tbWFuZD0nJChfU2lnbkNvbW1hbmQpICIkKFRhcmdldFBhdGgpIiB8fCAkKF9TaWduQ29tbWFuZCkgIiQoVGFyZ2V0UGF0aCkiIHx8ICQoX1NpZ25Db21tYW5kKSAiJChUYXJnZXRQYXRoKSInIENvbnRpbnVlT25FcnJvcj0iZmFsc2UiIC8+CisgIDwvVGFyZ2V0PgorPC9Qcm9qZWN0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL1BDYnVpbGQvcHl0aG9uLnByb3BzIGIvUENidWlsZC9weXRob24ucHJvcHMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTFlY2ViOAotLS0gL2Rldi9udWxsCisrKyBiL1BDYnVpbGQvcHl0aG9uLnByb3BzCkBAIC0wLDAgKzEsMTE2IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgorPFByb2plY3QgVG9vbHNWZXJzaW9uPSI0LjAiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2RldmVsb3Blci9tc2J1aWxkLzIwMDMiPgorICA8UHJvcGVydHlHcm91cD4KKyAgICA8UGxhdGZvcm0gQ29uZGl0aW9uPSInJChQbGF0Zm9ybSknID09ICcnIj5XaW4zMjwvUGxhdGZvcm0+CisgICAgPENvbmZpZ3VyYXRpb24gQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKScgPT0gJyciPlJlbGVhc2U8L0NvbmZpZ3VyYXRpb24+CisgICAgPCEtLQorICAgIFVzZSB0aGUgbGF0ZXN0IGF2YWlsYWJsZSB2ZXJzaW9uIG9mIFZpc3VhbCBTdHVkaW8gdG8gYnVpbGQuIFRvIG92ZXJyaWRlCisgICAgdGhpcyBhbmQgYnVpbGQgd2l0aCBhbiBlYXJsaWVyIHZlcnNpb24sIHBhc3MgIi9wOlBsYXRmb3JtVG9vbHNldD12MTAwIgorICAgIChmb3IgZXhhbXBsZSkgd2hlbiBidWlsZGluZy4KKyAgICAtLT4KKyAgICA8UGxhdGZvcm1Ub29sc2V0IENvbmRpdGlvbj0iJyQoUGxhdGZvcm1Ub29sc2V0KScgPT0gJycgYW5kICckKFZDVGFyZ2V0c1BhdGgxNCknICE9ICcnIj52MTQwPC9QbGF0Zm9ybVRvb2xzZXQ+CisgICAgPFBsYXRmb3JtVG9vbHNldCBDb25kaXRpb249IickKFBsYXRmb3JtVG9vbHNldCknID09ICcnIGFuZCAnJChWQ1RhcmdldHNQYXRoMTIpJyAhPSAnJyI+djEyMDwvUGxhdGZvcm1Ub29sc2V0PgorICAgIDxQbGF0Zm9ybVRvb2xzZXQgQ29uZGl0aW9uPSInJChQbGF0Zm9ybVRvb2xzZXQpJyA9PSAnJyBhbmQgJyQoVkNUYXJnZXRzUGF0aDExKScgIT0gJyciPnYxMTA8L1BsYXRmb3JtVG9vbHNldD4KKyAgICA8UGxhdGZvcm1Ub29sc2V0IENvbmRpdGlvbj0iJyQoUGxhdGZvcm1Ub29sc2V0KScgPT0gJycgYW5kICckKFZDVGFyZ2V0c1BhdGgxMCknICE9ICcnIj52MTAwPC9QbGF0Zm9ybVRvb2xzZXQ+CisgICAgCisgICAgPCEtLQorICAgIENvbnZpbmNpbmcgTVNWQy9NU0J1aWxkIHRvIHByZWZlciBvdXIgcGxhdGZvcm0gbmFtZXMgaXMgdG9vIGRpZmZpY3VsdCwKKyAgICBzbyB3ZSBkZWZpbmUgb3VyIG93biBjb25zdGFudCBBcmNoTmFtZSBhbmQgdXNlIHdoZXJldmVyIHdlIG5lZWQgaXQuCisgICAgLS0+CisgICAgPEFyY2hOYW1lIENvbmRpdGlvbj0iJyQoQXJjaE5hbWUpJyA9PSAnJyBhbmQgJChQbGF0Zm9ybSkgPT0gJ3g2NCciPmFtZDY0PC9BcmNoTmFtZT4KKyAgICA8QXJjaE5hbWUgQ29uZGl0aW9uPSInJChBcmNoTmFtZSknID09ICcnIj53aW4zMjwvQXJjaE5hbWU+CisgICAgPEFyY2hOYW1lIENvbmRpdGlvbj0iJChDb25maWd1cmF0aW9uKSA9PSAnUEdJbnN0cnVtZW50JyBvciAkKENvbmZpZ3VyYXRpb24pID09ICdQR1VwZGF0ZSciPiQoQXJjaE5hbWUpLXBnbzwvQXJjaE5hbWU+CisgICAgCisgICAgPCEtLSBSb290IGRpcmVjdG9yeSBvZiB0aGUgcmVwb3NpdG9yeSAtLT4KKyAgICA8UHlTb3VyY2VQYXRoIENvbmRpdGlvbj0iJyQoUHlTb3VyY2VQYXRoKScgPT0gJyciPiQoW1N5c3RlbS5JTy5QYXRoXTo6R2V0RnVsbFBhdGgoJChNU0J1aWxkVGhpc0ZpbGVEaXJlY3RvcnkpXC4uXCkpPC9QeVNvdXJjZVBhdGg+CisgICAgPFB5U291cmNlUGF0aCBDb25kaXRpb249IiFIYXNUcmFpbGluZ1NsYXNoKCQoUHlTb3VyY2VQYXRoKSkiPiQoUHlTb3VyY2VQYXRoKVw8L1B5U291cmNlUGF0aD4KKyAgICAKKyAgICA8IS0tIERpcmVjdG9yeSB3aGVyZSBidWlsZCBvdXRwdXRzIGFyZSBwdXQgLS0+CisgICAgPEJ1aWxkUGF0aCBDb25kaXRpb249IickKEJ1aWxkUGF0aCknID09ICcnIj4kKFB5U291cmNlUGF0aClQQ0J1aWxkXCQoQXJjaE5hbWUpXDwvQnVpbGRQYXRoPgorICAgIDxCdWlsZFBhdGggQ29uZGl0aW9uPSIhSGFzVHJhaWxpbmdTbGFzaCgkKEJ1aWxkUGF0aCkpIj4kKEJ1aWxkUGF0aClcPC9CdWlsZFBhdGg+CisgICAgCisgICAgPCEtLSBEaXJlY3RvcmllcyBvZiBleHRlcm5hbCBwcm9qZWN0cy4gdGNsdGsgaXMgaGFuZGxlZCBpbiB0Y2x0ay5wcm9wcyAtLT4KKyAgICA8RXh0ZXJuYWxzRGlyPiQoW1N5c3RlbS5JTy5QYXRoXTo6R2V0RnVsbFBhdGgoYCQoUHlTb3VyY2VQYXRoKWV4dGVybmFsc1xgKSk8L0V4dGVybmFsc0Rpcj4KKyAgICA8c3FsaXRlM0Rpcj4kKEV4dGVybmFsc0RpcilzcWxpdGUtMy44LjMuMVw8L3NxbGl0ZTNEaXI+CisgICAgPGJ6MkRpcj4kKEV4dGVybmFsc0RpciliemlwMi0xLjAuNlw8L2J6MkRpcj4KKyAgICA8bHptYURpcj4kKEV4dGVybmFsc0Rpcil4ei01LjAuNVw8L2x6bWFEaXI+CisgICAgPG9wZW5zc2xEaXI+JChFeHRlcm5hbHNEaXIpb3BlbnNzbC0xLjAuMWxcPC9vcGVuc3NsRGlyPgorICAgIDxuYXNtRGlyPiQoRXh0ZXJuYWxzRGlyKVxuYXNtLTIuMTEuMDZcPC9uYXNtRGlyPgorICAgIAorICAgIDwhLS0gU3VmZml4IGZvciBhbGwgYmluYXJpZXMgd2hlbiBidWlsZGluZyBmb3IgZGVidWcgLS0+CisgICAgPFB5RGVidWdFeHQgQ29uZGl0aW9uPSInJChQeURlYnVnRXh0KScgPT0gJycgYW5kICQoQ29uZmlndXJhdGlvbikgPT0gJ0RlYnVnJyI+X2Q8L1B5RGVidWdFeHQ+CisgICAgCisgICAgPCEtLSBGdWxsIHBhdGggb2YgdGhlIHJlc3VsdGluZyBweXRob24uZXhlIGJpbmFyeSAtLT4KKyAgICA8UHl0aG9uRXhlIENvbmRpdGlvbj0iJyQoUHl0aG9uRXhlKScgPT0gJyciPiQoQnVpbGRQYXRoKXB5dGhvbiQoUHlEZWJ1Z0V4dCkuZXhlPC9QeXRob25FeGU+CisKKyAgICA8IS0tCisgICAgUmVhZCB2ZXJzaW9uIGluZm9ybWF0aW9uIGZyb20gSW5jbHVkZVxwYXRjaGxldmVsLmguIFRoZSBmb2xsb3dpbmcgcHJvcGVydGllcyBhcmUgc2V0OgorICAgIAorICAgICAgICBNYWpvclZlcnNpb25OdW1iZXIgIC0gICB0aGUgJzMnIGluICczLjUuMmExJworICAgICAgICBNaW5vclZlcnNpb25OdW1iZXIgIC0gICB0aGUgJzUnIGluICczLjUuMmExJworICAgICAgICBNaWNyb1ZlcnNpb25OdW1iZXIgIC0gICB0aGUgJzInIGluICczLjUuMmExJworICAgICAgICBSZWxlYXNlU2VyaWFsICAgICAgIC0gICB0aGUgJzEnIGluICczLjUuMmExJworICAgICAgICBSZWxlYXNlTGV2ZWxOYW1lICAgIC0gICB0aGUgJ2ExJyBpbiAnMy41LjJhMScKKyAgICAgICAgUHl0aG9uVmVyc2lvbk51bWJlciAtICAgJzMuNS4yJyBmb3IgJzMuNS4yYTEnCisgICAgICAgIFB5dGhvblZlcnNpb24gICAgICAgLSAgICczLjUuMmExJworICAgICAgICBQeXRob25WZXJzaW9uSGV4ICAgIC0gICAweDAzMDUwMmExIGZvciAnMy41LjJhMScKKyAgICAgICAgUmVsZWFzZUxldmVsTnVtYmVyICAtICAgMTAgZm9yIGFscGhhLCAxMSBmb3IgYmV0YSwgMTIgZm9yIFJDIChnYW1tYSksIGFuZCAxNSBmb3IgZmluYWwKKyAgICAgICAgRmllbGQzVmFsdWUgICAgICAgICAtICAgMjEwMSBmb3IgJzMuNS4yYTEnICg9PSAxMDAwKjIgKyAxMCoxMCAoJ2EnKSArIDEpCisgICAgLS0+CisgICAgPF9QYXRjaExldmVsQ29udGVudD4kKFtTeXN0ZW0uSU8uRmlsZV06OlJlYWRBbGxUZXh0KGAkKFB5U291cmNlUGF0aClJbmNsdWRlXHBhdGNobGV2ZWwuaGApKTwvX1BhdGNoTGV2ZWxDb250ZW50PgorICAgIDxNYWpvclZlcnNpb25OdW1iZXI+JChbU3lzdGVtLlRleHQuUmVndWxhckV4cHJlc3Npb25zLlJlZ2V4XTo6TWF0Y2goJChfUGF0Y2hMZXZlbENvbnRlbnQpLCBgZGVmaW5lXHMrUFlfTUFKT1JfVkVSU0lPTlxzKyhcZCspYCkuR3JvdXBzWzFdLlZhbHVlKTwvTWFqb3JWZXJzaW9uTnVtYmVyPgorICAgIDxNaW5vclZlcnNpb25OdW1iZXI+JChbU3lzdGVtLlRleHQuUmVndWxhckV4cHJlc3Npb25zLlJlZ2V4XTo6TWF0Y2goJChfUGF0Y2hMZXZlbENvbnRlbnQpLCBgZGVmaW5lXHMrUFlfTUlOT1JfVkVSU0lPTlxzKyhcZCspYCkuR3JvdXBzWzFdLlZhbHVlKTwvTWlub3JWZXJzaW9uTnVtYmVyPgorICAgIDxNaWNyb1ZlcnNpb25OdW1iZXI+JChbU3lzdGVtLlRleHQuUmVndWxhckV4cHJlc3Npb25zLlJlZ2V4XTo6TWF0Y2goJChfUGF0Y2hMZXZlbENvbnRlbnQpLCBgZGVmaW5lXHMrUFlfTUlDUk9fVkVSU0lPTlxzKyhcZCspYCkuR3JvdXBzWzFdLlZhbHVlKTwvTWljcm9WZXJzaW9uTnVtYmVyPgorICAgIDxfUmVsZWFzZUxldmVsPiQoW1N5c3RlbS5UZXh0LlJlZ3VsYXJFeHByZXNzaW9ucy5SZWdleF06Ok1hdGNoKCQoX1BhdGNoTGV2ZWxDb250ZW50KSwgYGRlZmluZVxzK1BZX1JFTEVBU0VfTEVWRUxccytQWV9SRUxFQVNFX0xFVkVMXyhcdyspYCkuR3JvdXBzWzFdLlZhbHVlKTwvX1JlbGVhc2VMZXZlbD4KKyAgICA8UmVsZWFzZVNlcmlhbD4kKFtTeXN0ZW0uVGV4dC5SZWd1bGFyRXhwcmVzc2lvbnMuUmVnZXhdOjpNYXRjaCgkKF9QYXRjaExldmVsQ29udGVudCksIGBkZWZpbmVccytQWV9SRUxFQVNFX1NFUklBTFxzKyhcZCspYCkuR3JvdXBzWzFdLlZhbHVlKTwvUmVsZWFzZVNlcmlhbD4KKyAgICA8UmVsZWFzZUxldmVsTnVtYmVyPjE1PC9SZWxlYXNlTGV2ZWxOdW1iZXI+CisgICAgPFJlbGVhc2VMZXZlbE51bWJlciBDb25kaXRpb249IiQoX1JlbGVhc2VMZXZlbCkgPT0gJ0FMUEhBJyI+MTA8L1JlbGVhc2VMZXZlbE51bWJlcj4KKyAgICA8UmVsZWFzZUxldmVsTnVtYmVyIENvbmRpdGlvbj0iJChfUmVsZWFzZUxldmVsKSA9PSAnQkVUQSciPjExPC9SZWxlYXNlTGV2ZWxOdW1iZXI+CisgICAgPFJlbGVhc2VMZXZlbE51bWJlciBDb25kaXRpb249IiQoX1JlbGVhc2VMZXZlbCkgPT0gJ0dBTU1BJyI+MTI8L1JlbGVhc2VMZXZlbE51bWJlcj4KKyAgICA8UmVsZWFzZUxldmVsTmFtZSBDb25kaXRpb249IiQoX1JlbGVhc2VMZXZlbCkgPT0gJ0FMUEhBJyI+YSQoUmVsZWFzZVNlcmlhbCk8L1JlbGVhc2VMZXZlbE5hbWU+CisgICAgPFJlbGVhc2VMZXZlbE5hbWUgQ29uZGl0aW9uPSIkKF9SZWxlYXNlTGV2ZWwpID09ICdCRVRBJyI+YiQoUmVsZWFzZVNlcmlhbCk8L1JlbGVhc2VMZXZlbE5hbWU+CisgICAgPFJlbGVhc2VMZXZlbE5hbWUgQ29uZGl0aW9uPSIkKF9SZWxlYXNlTGV2ZWwpID09ICdHQU1NQSciPnJjJChSZWxlYXNlU2VyaWFsKTwvUmVsZWFzZUxldmVsTmFtZT4KKyAgICAKKyAgICA8UHl0aG9uVmVyc2lvbk51bWJlcj4kKE1ham9yVmVyc2lvbk51bWJlcikuJChNaW5vclZlcnNpb25OdW1iZXIpLiQoTWljcm9WZXJzaW9uTnVtYmVyKTwvUHl0aG9uVmVyc2lvbk51bWJlcj4KKyAgICA8UHl0aG9uVmVyc2lvbj4kKE1ham9yVmVyc2lvbk51bWJlcikuJChNaW5vclZlcnNpb25OdW1iZXIpLiQoTWljcm9WZXJzaW9uTnVtYmVyKSQoUmVsZWFzZUxldmVsTmFtZSk8L1B5dGhvblZlcnNpb24+CisgICAgPFB5dGhvblZlcnNpb25IZXg+JChbbXNidWlsZF06OkJpdHdpc2VPcigKKyAgICAgICAgJChbbXNidWlsZF06Ok11bHRpcGx5KCQoTWFqb3JWZXJzaW9uTnVtYmVyKSwgMTY3NzcyMTYpKSwKKyAgICAgICAgJChbbXNidWlsZF06OkJpdHdpc2VPcigKKyAgICAgICAgICAgICQoW21zYnVpbGRdOjpNdWx0aXBseSgkKE1pbm9yVmVyc2lvbk51bWJlciksIDY1NTM2KSksCisgICAgICAgICAgICAkKFttc2J1aWxkXTo6Qml0d2lzZU9yKAorICAgICAgICAgICAgICAgICQoW21zYnVpbGRdOjpNdWx0aXBseSgkKE1pY3JvVmVyc2lvbk51bWJlciksIDI1NikpLAorICAgICAgICAgICAgICAgICQoW21zYnVpbGRdOjpCaXR3aXNlT3IoCisgICAgICAgICAgICAgICAgICAgICQoW21zYnVpbGRdOjpNdWx0aXBseSgkKFJlbGVhc2VMZXZlbE51bWJlciksIDE2KSksCisgICAgICAgICAgICAgICAgICAgICQoUmVsZWFzZVNlcmlhbCkKKyAgICAgICAgICAgICAgICApKQorICAgICAgICAgICAgKSkKKyAgICAgICAgKSkKKyAgICApKTwvUHl0aG9uVmVyc2lvbkhleD4KKyAgICA8RmllbGQzVmFsdWU+JChbbXNidWlsZF06OkFkZCgKKyAgICAgICAgJChSZWxlYXNlU2VyaWFsKSwKKyAgICAgICAgJChbbXNidWlsZF06OkFkZCgKKyAgICAgICAgICAgICQoW21zYnVpbGRdOjpNdWx0aXBseSgkKFJlbGVhc2VMZXZlbE51bWJlciksIDEwKSksCisgICAgICAgICAgICAkKFttc2J1aWxkXTo6TXVsdGlwbHkoJChNaWNyb1ZlcnNpb25OdW1iZXIpLCAxMDAwKSkKKyAgICAgICAgKSkKKyAgICApKTwvRmllbGQzVmFsdWU+CisgICAgCisgICAgPCEtLSBUaGUgbmFtZSBvZiB0aGUgcmVzdWx0aW5nIHB5dGhvblhZLmRsbCAod2l0aG91dCB0aGUgZXh0ZW5zaW9uKSAtLT4KKyAgICA8UHlEbGxOYW1lPnB5dGhvbiQoTWFqb3JWZXJzaW9uTnVtYmVyKSQoTWlub3JWZXJzaW9uTnVtYmVyKSQoUHlEZWJ1Z0V4dCk8L1B5RGxsTmFtZT4KKworICAgIDwhLS0gVGhlIHZlcnNpb24gYW5kIHBsYXRmb3JtIHRhZyB0byBpbmNsdWRlIGluIC5weWQgZmlsZW5hbWVzIC0tPgorICAgIDxQeWRUYWcgQ29uZGl0aW9uPSIkKFBsYXRmb3JtKSA9PSAnV2luMzInIG9yICQoUGxhdGZvcm0pID09ICd4ODYnIj4uY3AkKE1ham9yVmVyc2lvbk51bWJlcikkKE1pbm9yVmVyc2lvbk51bWJlciktd2luMzI8L1B5ZFRhZz4KKyAgICA8UHlkVGFnIENvbmRpdGlvbj0iJChQbGF0Zm9ybSkgPT0gJ3g2NCciPi5jcCQoTWFqb3JWZXJzaW9uTnVtYmVyKSQoTWlub3JWZXJzaW9uTnVtYmVyKS13aW5fYW1kNjQ8L1B5ZFRhZz4KKyAgICAKKyAgICA8IS0tIFRoZSB2ZXJzaW9uIG51bWJlciBmb3Igc3lzLndpbnZlciAtLT4KKyAgICA8U3lzV2luVmVyPiQoTWFqb3JWZXJzaW9uTnVtYmVyKS4kKE1pbm9yVmVyc2lvbk51bWJlcik8L1N5c1dpblZlcj4KKyAgICA8U3lzV2luVmVyIENvbmRpdGlvbj0iJChQbGF0Zm9ybSkgPT0gJ1dpbjMyJyBvciAkKFBsYXRmb3JtKSA9PSAneDg2JyI+JChTeXNXaW5WZXIpLTMyPC9TeXNXaW5WZXI+CisgIDwvUHJvcGVydHlHcm91cD4KKyAgCisgIDwhLS0gRGlzcGxheXMgdGhlIGNhbGN1bGF0ZWQgdmVyc2lvbiBpbmZvIC0tPgorICA8VGFyZ2V0IE5hbWU9IlNob3dWZXJzaW9uSW5mbyI+CisgICAgPE1lc3NhZ2UgSW1wb3J0YW5jZT0iaGlnaCIgVGV4dD0iUHl0aG9uVmVyc2lvbk51bWJlcjogJChQeXRob25WZXJzaW9uTnVtYmVyKSIgLz4KKyAgICA8TWVzc2FnZSBJbXBvcnRhbmNlPSJoaWdoIiBUZXh0PSJQeXRob25WZXJzaW9uOiAgICAgICAkKFB5dGhvblZlcnNpb24pIiAvPgorICAgIDxNZXNzYWdlIEltcG9ydGFuY2U9ImhpZ2giIFRleHQ9IiQoW1N5c3RlbS5TdHJpbmddOjpGb3JtYXQoYFB5dGhvblZlcnNpb25IZXg6ICAgIDB4ezA6eH1gLCAkKFtTeXN0ZW0uVUludDMyXTo6UGFyc2UoJChQeXRob25WZXJzaW9uSGV4KSkpKSkiIC8+CisgICAgPE1lc3NhZ2UgSW1wb3J0YW5jZT0iaGlnaCIgVGV4dD0iRmllbGQzVmFsdWU6ICAgICAgICAgJChGaWVsZDNWYWx1ZSkiIC8+CisgIDwvVGFyZ2V0PgorPC9Qcm9qZWN0PgpkaWZmIC0tZ2l0IGEvUENidWlsZC9weXRob24udmN4cHJvaiBiL1BDYnVpbGQvcHl0aG9uLnZjeHByb2oKaW5kZXggYmQxMjYyNC4uMGFlNDg4MiAxMDA2NDQKLS0tIGEvUENidWlsZC9weXRob24udmN4cHJvagorKysgYi9QQ2J1aWxkL3B5dGhvbi52Y3hwcm9qCkBAIC0zNiw0NCArMzYsMTEgQEAKICAgPC9JdGVtR3JvdXA+CiAgIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJHbG9iYWxzIj4KICAgICA8UHJvamVjdEd1aWQ+e0IxMUQ3NTBGLUNEMUYtNEE5Ni04NUNFLUU2OUE1QzUyNTlGOX08L1Byb2plY3RHdWlkPgorICAgIDxNYWtlVmVyc2lvbkluZm9CZWZvcmVUYXJnZXQ+Q2xDb21waWxlPC9NYWtlVmVyc2lvbkluZm9CZWZvcmVUYXJnZXQ+CiAgIDwvUHJvcGVydHlHcm91cD4KKyAgPEltcG9ydCBQcm9qZWN0PSJweXRob24ucHJvcHMiIC8+CiAgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLkRlZmF1bHQucHJvcHMiIC8+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkFwcGxpY2F0aW9uPC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8VXNlT2ZNZmM+ZmFsc2U8L1VzZU9mTWZjPgotICAgIDxDaGFyYWN0ZXJTZXQ+TXVsdGlCeXRlPC9DaGFyYWN0ZXJTZXQ+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkFwcGxpY2F0aW9uPC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8VXNlT2ZNZmM+ZmFsc2U8L1VzZU9mTWZjPgotICAgIDxDaGFyYWN0ZXJTZXQ+TXVsdGlCeXRlPC9DaGFyYWN0ZXJTZXQ+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+QXBwbGljYXRpb248L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxVc2VPZk1mYz5mYWxzZTwvVXNlT2ZNZmM+Ci0gICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkFwcGxpY2F0aW9uPC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8VXNlT2ZNZmM+ZmFsc2U8L1VzZU9mTWZjPgotICAgIDxDaGFyYWN0ZXJTZXQ+TXVsdGlCeXRlPC9DaGFyYWN0ZXJTZXQ+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkFwcGxpY2F0aW9uPC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8VXNlT2ZNZmM+ZmFsc2U8L1VzZU9mTWZjPgotICAgIDxDaGFyYWN0ZXJTZXQ+TXVsdGlCeXRlPC9DaGFyYWN0ZXJTZXQ+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5BcHBsaWNhdGlvbjwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPFVzZU9mTWZjPmZhbHNlPC9Vc2VPZk1mYz4KLSAgICA8Q2hhcmFjdGVyU2V0Pk11bHRpQnl0ZTwvQ2hhcmFjdGVyU2V0PgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5BcHBsaWNhdGlvbjwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPFVzZU9mTWZjPmZhbHNlPC9Vc2VPZk1mYz4KLSAgICA8Q2hhcmFjdGVyU2V0Pk11bHRpQnl0ZTwvQ2hhcmFjdGVyU2V0PgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+CisgIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJDb25maWd1cmF0aW9uIj4KICAgICA8Q29uZmlndXJhdGlvblR5cGU+QXBwbGljYXRpb248L0NvbmZpZ3VyYXRpb25UeXBlPgogICAgIDxVc2VPZk1mYz5mYWxzZTwvVXNlT2ZNZmM+CiAgICAgPENoYXJhY3RlclNldD5NdWx0aUJ5dGU8L0NoYXJhY3RlclNldD4KQEAgLTgxLDI2OCArNDgsMjQgQEAKICAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAucHJvcHMiIC8+CiAgIDxJbXBvcnRHcm91cCBMYWJlbD0iRXh0ZW5zaW9uU2V0dGluZ3MiPgogICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+CisgIDxJbXBvcnRHcm91cCBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgogICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KICAgICA8SW1wb3J0IFByb2plY3Q9InB5cHJvamVjdC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InJlbGVhc2UucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJwZ3VwZGF0ZS5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweXByb2plY3QucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJyZWxlYXNlLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icGdpbnN0cnVtZW50LnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlwcm9qZWN0LnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0iZGVidWcucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5cHJvamVjdC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InJlbGVhc2UucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlwcm9qZWN0LnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0ieDY0LnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icmVsZWFzZS5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InBndXBkYXRlLnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweXByb2plY3QucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJ4NjQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJyZWxlYXNlLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icGdpbnN0cnVtZW50LnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5cHJvamVjdC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9Ing2NC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9ImRlYnVnLnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlwcm9qZWN0LnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0ieDY0LnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icmVsZWFzZS5wcm9wcyIgLz4KICAgPC9JbXBvcnRHcm91cD4KICAgPFByb3BlcnR5R3JvdXAgTGFiZWw9IlVzZXJNYWNyb3MiIC8+CiAgIDxQcm9wZXJ0eUdyb3VwPgogICAgIDxfUHJvamVjdEZpbGVWZXJzaW9uPjEwLjAuMzAzMTkuMTwvX1Byb2plY3RGaWxlVmVyc2lvbj4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIC8+CiAgIDwvUHJvcGVydHlHcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+CisgIDxJdGVtRGVmaW5pdGlvbkdyb3VwPgogICAgIDxDbENvbXBpbGU+Ci0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4lKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgogICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPl9DT05TT0xFOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICAgIDxTdHJpbmdQb29saW5nPnRydWU8L1N0cmluZ1Bvb2xpbmc+Ci0gICAgICA8UnVudGltZUxpYnJhcnk+TXVsdGlUaHJlYWRlZERMTDwvUnVudGltZUxpYnJhcnk+Ci0gICAgICA8RnVuY3Rpb25MZXZlbExpbmtpbmc+dHJ1ZTwvRnVuY3Rpb25MZXZlbExpbmtpbmc+Ci0gICAgICA8Q29tcGlsZUFzPkRlZmF1bHQ8L0NvbXBpbGVBcz4KICAgICA8L0NsQ29tcGlsZT4KLSAgICA8UmVzb3VyY2VDb21waWxlPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPk5ERUJVRzslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgICA8Q3VsdHVyZT4weDA0MDk8L0N1bHR1cmU+Ci0gICAgPC9SZXNvdXJjZUNvbXBpbGU+CiAgICAgPExpbms+Ci0gICAgICA8T3V0cHV0RmlsZT4kKE91dERpcilweXRob24uZXhlPC9PdXRwdXRGaWxlPgogICAgICAgPFN1YlN5c3RlbT5Db25zb2xlPC9TdWJTeXN0ZW0+CiAgICAgICA8U3RhY2tSZXNlcnZlU2l6ZT4yMDAwMDAwPC9TdGFja1Jlc2VydmVTaXplPgogICAgICAgPEJhc2VBZGRyZXNzPjB4MWQwMDAwMDA8L0Jhc2VBZGRyZXNzPgogICAgIDwvTGluaz4KICAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+Ci0gICAgPE1pZGw+Ci0gICAgICA8VGFyZ2V0RW52aXJvbm1lbnQ+WDY0PC9UYXJnZXRFbnZpcm9ubWVudD4KLSAgICA8L01pZGw+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPiUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+X0NPTlNPTEU7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgICAgPFN0cmluZ1Bvb2xpbmc+dHJ1ZTwvU3RyaW5nUG9vbGluZz4KLSAgICAgIDxSdW50aW1lTGlicmFyeT5NdWx0aVRocmVhZGVkRExMPC9SdW50aW1lTGlicmFyeT4KLSAgICAgIDxGdW5jdGlvbkxldmVsTGlua2luZz50cnVlPC9GdW5jdGlvbkxldmVsTGlua2luZz4KLSAgICAgIDxDb21waWxlQXM+RGVmYXVsdDwvQ29tcGlsZUFzPgotICAgIDwvQ2xDb21waWxlPgotICAgIDxSZXNvdXJjZUNvbXBpbGU+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+TkRFQlVHOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICAgIDxDdWx0dXJlPjB4MDQwOTwvQ3VsdHVyZT4KLSAgICA8L1Jlc291cmNlQ29tcGlsZT4KLSAgICA8TGluaz4KLSAgICAgIDxPdXRwdXRGaWxlPiQoT3V0RGlyKXB5dGhvbi5leGU8L091dHB1dEZpbGU+Ci0gICAgICA8U3ViU3lzdGVtPkNvbnNvbGU8L1N1YlN5c3RlbT4KLSAgICAgIDxTdGFja1Jlc2VydmVTaXplPjIwMDAwMDA8L1N0YWNrUmVzZXJ2ZVNpemU+Ci0gICAgICA8QmFzZUFkZHJlc3M+MHgxZDAwMDAwMDwvQmFzZUFkZHJlc3M+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIj4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPE9wdGltaXphdGlvbj5EaXNhYmxlZDwvT3B0aW1pemF0aW9uPgotICAgICAgPEludHJpbnNpY0Z1bmN0aW9ucz5mYWxzZTwvSW50cmluc2ljRnVuY3Rpb25zPgotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5fQ09OU09MRTslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgICA8UnVudGltZUxpYnJhcnk+TXVsdGlUaHJlYWRlZERlYnVnRExMPC9SdW50aW1lTGlicmFyeT4KLSAgICAgIDxCcm93c2VJbmZvcm1hdGlvbj50cnVlPC9Ccm93c2VJbmZvcm1hdGlvbj4KLSAgICAgIDxDb21waWxlQXM+RGVmYXVsdDwvQ29tcGlsZUFzPgotICAgIDwvQ2xDb21waWxlPgotICAgIDxSZXNvdXJjZUNvbXBpbGU+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+X0RFQlVHOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICAgIDxDdWx0dXJlPjB4MDQwOTwvQ3VsdHVyZT4KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPi4uXEluY2x1ZGU7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KLSAgICA8L1Jlc291cmNlQ29tcGlsZT4KLSAgICA8TGluaz4KLSAgICAgIDxPdXRwdXRGaWxlPiQoT3V0RGlyKXB5dGhvbl9kLmV4ZTwvT3V0cHV0RmlsZT4KLSAgICAgIDxTdWJTeXN0ZW0+Q29uc29sZTwvU3ViU3lzdGVtPgotICAgICAgPFN0YWNrUmVzZXJ2ZVNpemU+MjAwMDAwMDwvU3RhY2tSZXNlcnZlU2l6ZT4KLSAgICAgIDxCYXNlQWRkcmVzcz4weDFkMDAwMDAwPC9CYXNlQWRkcmVzcz4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIj4KLSAgICA8TWlkbD4KLSAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5YNjQ8L1RhcmdldEVudmlyb25tZW50PgotICAgIDwvTWlkbD4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPE9wdGltaXphdGlvbj5EaXNhYmxlZDwvT3B0aW1pemF0aW9uPgotICAgICAgPEludHJpbnNpY0Z1bmN0aW9ucz5mYWxzZTwvSW50cmluc2ljRnVuY3Rpb25zPgotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5fQ09OU09MRTslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgICA8UnVudGltZUxpYnJhcnk+TXVsdGlUaHJlYWRlZERlYnVnRExMPC9SdW50aW1lTGlicmFyeT4KLSAgICAgIDxCcm93c2VJbmZvcm1hdGlvbj50cnVlPC9Ccm93c2VJbmZvcm1hdGlvbj4KLSAgICAgIDxDb21waWxlQXM+RGVmYXVsdDwvQ29tcGlsZUFzPgotICAgIDwvQ2xDb21waWxlPgotICAgIDxSZXNvdXJjZUNvbXBpbGU+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+X0RFQlVHOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICAgIDxDdWx0dXJlPjB4MDQwOTwvQ3VsdHVyZT4KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPi4uXEluY2x1ZGU7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KLSAgICA8L1Jlc291cmNlQ29tcGlsZT4KLSAgICA8TGluaz4KLSAgICAgIDxPdXRwdXRGaWxlPiQoT3V0RGlyKXB5dGhvbl9kLmV4ZTwvT3V0cHV0RmlsZT4KLSAgICAgIDxTdWJTeXN0ZW0+Q29uc29sZTwvU3ViU3lzdGVtPgotICAgICAgPFN0YWNrUmVzZXJ2ZVNpemU+NDE5NDMwNDwvU3RhY2tSZXNlcnZlU2l6ZT4KLSAgICAgIDxCYXNlQWRkcmVzcz4weDFkMDAwMDAwPC9CYXNlQWRkcmVzcz4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIj4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5fQ09OU09MRTslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgICA8U3RyaW5nUG9vbGluZz50cnVlPC9TdHJpbmdQb29saW5nPgotICAgICAgPFJ1bnRpbWVMaWJyYXJ5Pk11bHRpVGhyZWFkZWRETEw8L1J1bnRpbWVMaWJyYXJ5PgotICAgICAgPEZ1bmN0aW9uTGV2ZWxMaW5raW5nPnRydWU8L0Z1bmN0aW9uTGV2ZWxMaW5raW5nPgotICAgICAgPENvbXBpbGVBcz5EZWZhdWx0PC9Db21waWxlQXM+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPFJlc291cmNlQ29tcGlsZT4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5OREVCVUc7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgICAgPEN1bHR1cmU+MHgwNDA5PC9DdWx0dXJlPgotICAgIDwvUmVzb3VyY2VDb21waWxlPgotICAgIDxMaW5rPgotICAgICAgPE91dHB1dEZpbGU+JChPdXREaXIpcHl0aG9uLmV4ZTwvT3V0cHV0RmlsZT4KLSAgICAgIDxTdWJTeXN0ZW0+Q29uc29sZTwvU3ViU3lzdGVtPgotICAgICAgPFN0YWNrUmVzZXJ2ZVNpemU+MjAwMDAwMDwvU3RhY2tSZXNlcnZlU2l6ZT4KLSAgICAgIDxCYXNlQWRkcmVzcz4weDFkMDAwMDAwPC9CYXNlQWRkcmVzcz4KLSAgICAgIDxJbXBvcnRMaWJyYXJ5PgotICAgICAgPC9JbXBvcnRMaWJyYXJ5PgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIj4KLSAgICA8TWlkbD4KLSAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5YNjQ8L1RhcmdldEVudmlyb25tZW50PgotICAgIDwvTWlkbD4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5fQ09OU09MRTslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgICA8U3RyaW5nUG9vbGluZz50cnVlPC9TdHJpbmdQb29saW5nPgotICAgICAgPFJ1bnRpbWVMaWJyYXJ5Pk11bHRpVGhyZWFkZWRETEw8L1J1bnRpbWVMaWJyYXJ5PgotICAgICAgPEZ1bmN0aW9uTGV2ZWxMaW5raW5nPnRydWU8L0Z1bmN0aW9uTGV2ZWxMaW5raW5nPgotICAgICAgPENvbXBpbGVBcz5EZWZhdWx0PC9Db21waWxlQXM+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPFJlc291cmNlQ29tcGlsZT4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5OREVCVUc7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgICAgPEN1bHR1cmU+MHgwNDA5PC9DdWx0dXJlPgotICAgIDwvUmVzb3VyY2VDb21waWxlPgotICAgIDxMaW5rPgotICAgICAgPE91dHB1dEZpbGU+JChPdXREaXIpcHl0aG9uLmV4ZTwvT3V0cHV0RmlsZT4KLSAgICAgIDxTdWJTeXN0ZW0+Q29uc29sZTwvU3ViU3lzdGVtPgotICAgICAgPFN0YWNrUmVzZXJ2ZVNpemU+MjAwMDAwMDwvU3RhY2tSZXNlcnZlU2l6ZT4KLSAgICAgIDxCYXNlQWRkcmVzcz4weDFkMDAwMDAwPC9CYXNlQWRkcmVzcz4KLSAgICAgIDxJbXBvcnRMaWJyYXJ5PgotICAgICAgPC9JbXBvcnRMaWJyYXJ5PgotICAgICAgPFRhcmdldE1hY2hpbmU+TWFjaGluZVg2NDwvVGFyZ2V0TWFjaGluZT4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4lKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPl9DT05TT0xFOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICAgIDxTdHJpbmdQb29saW5nPnRydWU8L1N0cmluZ1Bvb2xpbmc+Ci0gICAgICA8UnVudGltZUxpYnJhcnk+TXVsdGlUaHJlYWRlZERMTDwvUnVudGltZUxpYnJhcnk+Ci0gICAgICA8RnVuY3Rpb25MZXZlbExpbmtpbmc+dHJ1ZTwvRnVuY3Rpb25MZXZlbExpbmtpbmc+Ci0gICAgICA8Q29tcGlsZUFzPkRlZmF1bHQ8L0NvbXBpbGVBcz4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8UmVzb3VyY2VDb21waWxlPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPk5ERUJVRzslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgICA8Q3VsdHVyZT4weDA0MDk8L0N1bHR1cmU+Ci0gICAgPC9SZXNvdXJjZUNvbXBpbGU+Ci0gICAgPExpbms+Ci0gICAgICA8T3V0cHV0RmlsZT4kKE91dERpcilweXRob24uZXhlPC9PdXRwdXRGaWxlPgotICAgICAgPFN1YlN5c3RlbT5Db25zb2xlPC9TdWJTeXN0ZW0+Ci0gICAgICA8U3RhY2tSZXNlcnZlU2l6ZT4yMDAwMDAwPC9TdGFja1Jlc2VydmVTaXplPgotICAgICAgPEJhc2VBZGRyZXNzPjB4MWQwMDAwMDA8L0Jhc2VBZGRyZXNzPgotICAgICAgPEltcG9ydExpYnJhcnk+Ci0gICAgICA8L0ltcG9ydExpYnJhcnk+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyI+Ci0gICAgPE1pZGw+Ci0gICAgICA8VGFyZ2V0RW52aXJvbm1lbnQ+WDY0PC9UYXJnZXRFbnZpcm9ubWVudD4KLSAgICA8L01pZGw+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPiUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+X0NPTlNPTEU7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgICAgPFN0cmluZ1Bvb2xpbmc+dHJ1ZTwvU3RyaW5nUG9vbGluZz4KLSAgICAgIDxSdW50aW1lTGlicmFyeT5NdWx0aVRocmVhZGVkRExMPC9SdW50aW1lTGlicmFyeT4KLSAgICAgIDxGdW5jdGlvbkxldmVsTGlua2luZz50cnVlPC9GdW5jdGlvbkxldmVsTGlua2luZz4KLSAgICAgIDxDb21waWxlQXM+RGVmYXVsdDwvQ29tcGlsZUFzPgotICAgIDwvQ2xDb21waWxlPgotICAgIDxSZXNvdXJjZUNvbXBpbGU+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+TkRFQlVHOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICAgIDxDdWx0dXJlPjB4MDQwOTwvQ3VsdHVyZT4KLSAgICA8L1Jlc291cmNlQ29tcGlsZT4KLSAgICA8TGluaz4KLSAgICAgIDxPdXRwdXRGaWxlPiQoT3V0RGlyKXB5dGhvbi5leGU8L091dHB1dEZpbGU+Ci0gICAgICA8U3ViU3lzdGVtPkNvbnNvbGU8L1N1YlN5c3RlbT4KLSAgICAgIDxTdGFja1Jlc2VydmVTaXplPjIwMDAwMDA8L1N0YWNrUmVzZXJ2ZVNpemU+Ci0gICAgICA8QmFzZUFkZHJlc3M+MHgxZDAwMDAwMDwvQmFzZUFkZHJlc3M+Ci0gICAgICA8SW1wb3J0TGlicmFyeT4KLSAgICAgIDwvSW1wb3J0TGlicmFyeT4KLSAgICAgIDxUYXJnZXRNYWNoaW5lPk1hY2hpbmVYNjQ8L1RhcmdldE1hY2hpbmU+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+CiAgIDxJdGVtR3JvdXA+CiAgICAgPE5vbmUgSW5jbHVkZT0iLi5cUENccHljb24uaWNvIiAvPgogICA8L0l0ZW1Hcm91cD4KQEAgLTM1MCw3ICs3Myw3IEBACiAgICAgPFJlc291cmNlQ29tcGlsZSBJbmNsdWRlPSIuLlxQQ1xweXRob25fZXhlLnJjIiAvPgogICA8L0l0ZW1Hcm91cD4KICAgPEl0ZW1Hcm91cD4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXE1vZHVsZXNccHl0aG9uLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxQcm9ncmFtc1xweXRob24uYyIgLz4KICAgPC9JdGVtR3JvdXA+CiAgIDxJdGVtR3JvdXA+CiAgICAgPFByb2plY3RSZWZlcmVuY2UgSW5jbHVkZT0icHl0aG9uY29yZS52Y3hwcm9qIj4KQEAgLTM2MSw0ICs4NCwxOSBAQAogICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC50YXJnZXRzIiAvPgogICA8SW1wb3J0R3JvdXAgTGFiZWw9IkV4dGVuc2lvblRhcmdldHMiPgogICA8L0ltcG9ydEdyb3VwPgotPC9Qcm9qZWN0PgorICA8VGFyZ2V0IE5hbWU9IkdlbmVyYXRlUHl0aG9uQmF0IiBBZnRlclRhcmdldHM9IkFmdGVyQnVpbGQiPgorICAgIDxQcm9wZXJ0eUdyb3VwPgorICAgICAgPF9Db250ZW50PkByZW0gVGhpcyBzY3JpcHQgaW52b2tlcyB0aGUgbW9zdCByZWNlbnRseSBidWlsdCBQeXRob24gd2l0aCBhbGwgYXJndW1lbnRzCitAcmVtIHBhc3NlZCB0aHJvdWdoIHRvIHRoZSBpbnRlcnByZXRlci4gIFRoaXMgZmlsZSBpcyBnZW5lcmF0ZWQgYnkgdGhlCitAcmVtIGJ1aWxkIHByb2Nlc3MgYW5kIGFueSBjaGFuZ2VzICp3aWxsKiBiZSB0aHJvd24gYXdheSBieSB0aGUgbmV4dAorQHJlbSByZWJ1aWxkLgorQHJlbSBUaGlzIGlzIG9ubHkgbWVhbnQgYXMgYSBjb252ZW5pZW5jZSBmb3IgZGV2ZWxvcGluZyBDUHl0aG9uCitAcmVtIGFuZCB1c2luZyBpdCBvdXRzaWRlIG9mIHRoYXQgY29udGV4dCBpcyBpbGwtYWR2aXNlZC4KK0BlY2hvIFJ1bm5pbmcgJChDb25maWd1cmF0aW9uKV58JChQbGF0Zm9ybSkgaW50ZXJwcmV0ZXIuLi4KK0AiJChPdXREaXIpcHl0aG9uJChQeURlYnVnRXh0KS5leGUiICUqCis8L19Db250ZW50PgorICAgICAgPF9FeGlzdGluZ0NvbnRlbnQgQ29uZGl0aW9uPSJFeGlzdHMoJyQoUHlTb3VyY2VQYXRoKXB5dGhvbi5iYXQnKSI+JChbU3lzdGVtLklPLkZpbGVdOjpSZWFkQWxsVGV4dCgnJChQeVNvdXJjZVBhdGgpcHl0aG9uLmJhdCcpKTwvX0V4aXN0aW5nQ29udGVudD4KKyAgICA8L1Byb3BlcnR5R3JvdXA+CisgICAgPFdyaXRlTGluZXNUb0ZpbGUgRmlsZT0iJChQeVNvdXJjZVBhdGgpcHl0aG9uLmJhdCIgTGluZXM9IiQoX0NvbnRlbnQpIiBPdmVyd3JpdGU9InRydWUiIENvbmRpdGlvbj0iJyQoX0NvbnRlbnQpJyAhPSAnJChfRXhpc3RpbmdDb250ZW50KSciIC8+CisgIDwvVGFyZ2V0PgorPC9Qcm9qZWN0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL1BDYnVpbGQvcHl0aG9uLnZjeHByb2ouZmlsdGVycyBiL1BDYnVpbGQvcHl0aG9uLnZjeHByb2ouZmlsdGVycwppbmRleCBlNDkwNmE0Li4wNjYyYTRlIDEwMDY0NAotLS0gYS9QQ2J1aWxkL3B5dGhvbi52Y3hwcm9qLmZpbHRlcnMKKysrIGIvUENidWlsZC9weXRob24udmN4cHJvai5maWx0ZXJzCkBAIC0xOSw4ICsxOSw4IEBACiAgICAgPC9SZXNvdXJjZUNvbXBpbGU+CiAgIDwvSXRlbUdyb3VwPgogICA8SXRlbUdyb3VwPgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cTW9kdWxlc1xweXRob24uYyI+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxQcm9ncmFtc1xweXRob24uYyI+CiAgICAgICA8RmlsdGVyPlNvdXJjZSBGaWxlczwvRmlsdGVyPgogICAgIDwvQ2xDb21waWxlPgogICA8L0l0ZW1Hcm91cD4KLTwvUHJvamVjdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCis8L1Byb2plY3Q+CmRpZmYgLS1naXQgYS9QQ2J1aWxkL3B5dGhvbjNkbGwudmN4cHJvaiBiL1BDYnVpbGQvcHl0aG9uM2RsbC52Y3hwcm9qCmluZGV4IGJjOGZmMzEuLmIwM2QwOWYgMTAwNjQ0Ci0tLSBhL1BDYnVpbGQvcHl0aG9uM2RsbC52Y3hwcm9qCisrKyBiL1BDYnVpbGQvcHl0aG9uM2RsbC52Y3hwcm9qCkBAIC0xLDYgKzEsMTQgQEAKIO+7vzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+CiA8UHJvamVjdCBEZWZhdWx0VGFyZ2V0cz0iQnVpbGQiIFRvb2xzVmVyc2lvbj0iNC4wIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4KICAgPEl0ZW1Hcm91cCBMYWJlbD0iUHJvamVjdENvbmZpZ3VyYXRpb25zIj4KKyAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iRGVidWd8V2luMzIiPgorICAgICAgPENvbmZpZ3VyYXRpb24+RGVidWc8L0NvbmZpZ3VyYXRpb24+CisgICAgICA8UGxhdGZvcm0+V2luMzI8L1BsYXRmb3JtPgorICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+CisgICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IkRlYnVnfHg2NCI+CisgICAgICA8Q29uZmlndXJhdGlvbj5EZWJ1ZzwvQ29uZmlndXJhdGlvbj4KKyAgICAgIDxQbGF0Zm9ybT54NjQ8L1BsYXRmb3JtPgorICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+CiAgICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IlBHSW5zdHJ1bWVudHxXaW4zMiI+CiAgICAgICA8Q29uZmlndXJhdGlvbj5QR0luc3RydW1lbnQ8L0NvbmZpZ3VyYXRpb24+CiAgICAgICA8UGxhdGZvcm0+V2luMzI8L1BsYXRmb3JtPgpAQCAtMzAsMTQ0ICszOCw0MyBAQAogICAgIDxQcm9qZWN0R3VpZD57ODg1RDQ4OTgtRDA4RC00MDkxLTlDNDAtQzcwMENGRTNGQzVBfTwvUHJvamVjdEd1aWQ+CiAgICAgPFJvb3ROYW1lc3BhY2U+cHl0aG9uM2RsbDwvUm9vdE5hbWVzcGFjZT4KICAgICA8S2V5d29yZD5XaW4zMlByb2o8L0tleXdvcmQ+CisgICAgPFRhcmdldE5hbWU+cHl0aG9uMzwvVGFyZ2V0TmFtZT4KKyAgICA8TWFrZVZlcnNpb25JbmZvQmVmb3JlVGFyZ2V0PkNsQ29tcGlsZTwvTWFrZVZlcnNpb25JbmZvQmVmb3JlVGFyZ2V0PgorICAgIDxTdXBwb3J0UEdPPmZhbHNlPC9TdXBwb3J0UEdPPgogICA8L1Byb3BlcnR5R3JvdXA+CisgIDxJbXBvcnQgUHJvamVjdD0icHl0aG9uLnByb3BzIiAvPgogICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC5EZWZhdWx0LnByb3BzIiAvPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5NYWtlZmlsZTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPk1ha2VmaWxlPC9Db25maWd1cmF0aW9uVHlwZT4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPk1ha2VmaWxlPC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8V2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPnRydWU8L1dob2xlUHJvZ3JhbU9wdGltaXphdGlvbj4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+TWFrZWZpbGU8L0NvbmZpZ3VyYXRpb25UeXBlPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+TWFrZWZpbGU8L0NvbmZpZ3VyYXRpb25UeXBlPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPk1ha2VmaWxlPC9Db25maWd1cmF0aW9uVHlwZT4KKyAgPFByb3BlcnR5R3JvdXAgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgorICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+CiAgIDwvUHJvcGVydHlHcm91cD4KICAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAucHJvcHMiIC8+CiAgIDxJbXBvcnRHcm91cCBMYWJlbD0iRXh0ZW5zaW9uU2V0dGluZ3MiPgogICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+CisgIDxJbXBvcnRHcm91cCBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgogICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KICAgICA8SW1wb3J0IFByb2plY3Q9InB5cHJvamVjdC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InJlbGVhc2UucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJwZ3VwZGF0ZS5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweXByb2plY3QucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJyZWxlYXNlLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icGdpbnN0cnVtZW50LnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweXByb2plY3QucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJyZWxlYXNlLnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5cHJvamVjdC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9Ing2NC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InJlbGVhc2UucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJwZ3VwZGF0ZS5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlwcm9qZWN0LnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0ieDY0LnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icmVsZWFzZS5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InBnaW5zdHJ1bWVudC5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5cHJvamVjdC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9Ing2NC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InJlbGVhc2UucHJvcHMiIC8+CiAgIDwvSW1wb3J0R3JvdXA+CiAgIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJVc2VyTWFjcm9zIiAvPgogICA8UHJvcGVydHlHcm91cD4KICAgICA8X1Byb2plY3RGaWxlVmVyc2lvbj4xMC4wLjMwMzE5LjE8L19Qcm9qZWN0RmlsZVZlcnNpb24+Ci0gICAgPE5NYWtlQnVpbGRDb21tYW5kTGluZSBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj5jZCAkKFByb2plY3REaXIpXC4uXFBDCi1ubWFrZSAvZiBweXRob24zLm1hayBNQUNISU5FPXg4NiBPdXREaXI9JChPdXREaXIpPC9OTWFrZUJ1aWxkQ29tbWFuZExpbmU+Ci0gICAgPE5NYWtlUmVCdWlsZENvbW1hbmRMaW5lIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPmNkICQoUHJvamVjdERpcilcLi5cUEMKLW5tYWtlIC9mIHB5dGhvbjMubWFrIE1BQ0hJTkU9eDg2IE91dERpcj0kKE91dERpcikgcmVidWlsZDwvTk1ha2VSZUJ1aWxkQ29tbWFuZExpbmU+Ci0gICAgPE5NYWtlQ2xlYW5Db21tYW5kTGluZSBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj5jZCAkKFByb2plY3REaXIpXC4uXFBDCi0iJChWU0luc3RhbGxEaXIpXFZDXGJpblxubWFrZS5leGUiIC9mIHB5dGhvbjMubWFrIE1BQ0hJTkU9eDg2IE91dERpcj0kKE91dERpcikgY2xlYW48L05NYWtlQ2xlYW5Db21tYW5kTGluZT4KLSAgICA8Tk1ha2VPdXRwdXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+JChPdXREaXIpcHl0aG9uMy5kbGw8L05NYWtlT3V0cHV0PgotICAgIDxOTWFrZVByZXByb2Nlc3NvckRlZmluaXRpb25zIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPiQoTk1ha2VQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L05NYWtlUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgPE5NYWtlSW5jbHVkZVNlYXJjaFBhdGggQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+JChOTWFrZUluY2x1ZGVTZWFyY2hQYXRoKTwvTk1ha2VJbmNsdWRlU2VhcmNoUGF0aD4KLSAgICA8Tk1ha2VGb3JjZWRJbmNsdWRlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj4kKE5NYWtlRm9yY2VkSW5jbHVkZXMpPC9OTWFrZUZvcmNlZEluY2x1ZGVzPgotICAgIDxOTWFrZUFzc2VtYmx5U2VhcmNoUGF0aCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj4kKE5NYWtlQXNzZW1ibHlTZWFyY2hQYXRoKTwvTk1ha2VBc3NlbWJseVNlYXJjaFBhdGg+Ci0gICAgPE5NYWtlRm9yY2VkVXNpbmdBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPiQoTk1ha2VGb3JjZWRVc2luZ0Fzc2VtYmxpZXMpPC9OTWFrZUZvcmNlZFVzaW5nQXNzZW1ibGllcz4KLSAgICA8Tk1ha2VCdWlsZENvbW1hbmRMaW5lIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj5jZCAkKFByb2plY3REaXIpXC4uXFBDCi1ubWFrZSAvZiBweXRob24zLm1hayBNQUNISU5FPXg2NCBPdXREaXI9JChPdXREaXIpPC9OTWFrZUJ1aWxkQ29tbWFuZExpbmU+Ci0gICAgPE5NYWtlUmVCdWlsZENvbW1hbmRMaW5lIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj5jZCAkKFByb2plY3REaXIpXC4uXFBDCi1ubWFrZSAvZiBweXRob24zLm1hayBNQUNISU5FPXg2NCBPdXREaXI9JChPdXREaXIpIHJlYnVpbGQ8L05NYWtlUmVCdWlsZENvbW1hbmRMaW5lPgotICAgIDxOTWFrZUNsZWFuQ29tbWFuZExpbmUgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPmNkICQoUHJvamVjdERpcilcLi5cUEMKLSIkKFZTSW5zdGFsbERpcilcVkNcYmluXG5tYWtlLmV4ZSIgL2YgcHl0aG9uMy5tYWsgTUFDSElORT14NjQgT3V0RGlyPSQoT3V0RGlyKSBjbGVhbjwvTk1ha2VDbGVhbkNvbW1hbmRMaW5lPgotICAgIDxOTWFrZU91dHB1dCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+JChPdXREaXIpcHl0aG9uMy5kbGw8L05NYWtlT3V0cHV0PgotICAgIDxOTWFrZVByZXByb2Nlc3NvckRlZmluaXRpb25zIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj4kKE5NYWtlUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9OTWFrZVByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgIDxOTWFrZUluY2x1ZGVTZWFyY2hQYXRoIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj4kKE5NYWtlSW5jbHVkZVNlYXJjaFBhdGgpPC9OTWFrZUluY2x1ZGVTZWFyY2hQYXRoPgotICAgIDxOTWFrZUZvcmNlZEluY2x1ZGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj4kKE5NYWtlRm9yY2VkSW5jbHVkZXMpPC9OTWFrZUZvcmNlZEluY2x1ZGVzPgotICAgIDxOTWFrZUFzc2VtYmx5U2VhcmNoUGF0aCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+JChOTWFrZUFzc2VtYmx5U2VhcmNoUGF0aCk8L05NYWtlQXNzZW1ibHlTZWFyY2hQYXRoPgotICAgIDxOTWFrZUZvcmNlZFVzaW5nQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+JChOTWFrZUZvcmNlZFVzaW5nQXNzZW1ibGllcyk8L05NYWtlRm9yY2VkVXNpbmdBc3NlbWJsaWVzPgotICAgIDxOTWFrZUJ1aWxkQ29tbWFuZExpbmUgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIj5jZCAkKFByb2plY3REaXIpXC4uXFBDCi1ubWFrZSAvZiBweXRob24zLm1hayBNQUNISU5FPXg4NiBPdXREaXI9JChPdXREaXIpPC9OTWFrZUJ1aWxkQ29tbWFuZExpbmU+Ci0gICAgPE5NYWtlUmVCdWlsZENvbW1hbmRMaW5lIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyI+Y2QgJChQcm9qZWN0RGlyKVwuLlxQQwotbm1ha2UgL2YgcHl0aG9uMy5tYWsgTUFDSElORT14ODYgT3V0RGlyPSQoT3V0RGlyKSByZWJ1aWxkPC9OTWFrZVJlQnVpbGRDb21tYW5kTGluZT4KLSAgICA8Tk1ha2VDbGVhbkNvbW1hbmRMaW5lIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyI+Y2QgJChQcm9qZWN0RGlyKVwuLlxQQwotIiQoVlNJbnN0YWxsRGlyKVxWQ1xiaW5cbm1ha2UuZXhlIiAvZiBweXRob24zLm1hayBNQUNISU5FPXg4NiBPdXREaXI9JChPdXREaXIpIGNsZWFuPC9OTWFrZUNsZWFuQ29tbWFuZExpbmU+Ci0gICAgPE5NYWtlT3V0cHV0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyI+JChPdXREaXIpcHl0aG9uMy5kbGw8L05NYWtlT3V0cHV0PgotICAgIDxOTWFrZVByZXByb2Nlc3NvckRlZmluaXRpb25zIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyI+JChOTWFrZVByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvTk1ha2VQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICA8Tk1ha2VJbmNsdWRlU2VhcmNoUGF0aCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciPiQoTk1ha2VJbmNsdWRlU2VhcmNoUGF0aCk8L05NYWtlSW5jbHVkZVNlYXJjaFBhdGg+Ci0gICAgPE5NYWtlRm9yY2VkSW5jbHVkZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIj4kKE5NYWtlRm9yY2VkSW5jbHVkZXMpPC9OTWFrZUZvcmNlZEluY2x1ZGVzPgotICAgIDxOTWFrZUFzc2VtYmx5U2VhcmNoUGF0aCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciPiQoTk1ha2VBc3NlbWJseVNlYXJjaFBhdGgpPC9OTWFrZUFzc2VtYmx5U2VhcmNoUGF0aD4KLSAgICA8Tk1ha2VGb3JjZWRVc2luZ0Fzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIj4kKE5NYWtlRm9yY2VkVXNpbmdBc3NlbWJsaWVzKTwvTk1ha2VGb3JjZWRVc2luZ0Fzc2VtYmxpZXM+Ci0gICAgPE5NYWtlQnVpbGRDb21tYW5kTGluZSBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIj5jZCAkKFByb2plY3REaXIpXC4uXFBDCi1ubWFrZSAvZiBweXRob24zLm1hayBNQUNISU5FPXg2NCBPdXREaXI9JChPdXREaXIpPC9OTWFrZUJ1aWxkQ29tbWFuZExpbmU+Ci0gICAgPE5NYWtlUmVCdWlsZENvbW1hbmRMaW5lIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciPmNkICQoUHJvamVjdERpcilcLi5cUEMKLW5tYWtlIC9mIHB5dGhvbjMubWFrIE1BQ0hJTkU9eDY0IE91dERpcj0kKE91dERpcikgcmVidWlsZDwvTk1ha2VSZUJ1aWxkQ29tbWFuZExpbmU+Ci0gICAgPE5NYWtlQ2xlYW5Db21tYW5kTGluZSBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIj5jZCAkKFByb2plY3REaXIpXC4uXFBDCi0iJChWU0luc3RhbGxEaXIpXFZDXGJpblxubWFrZS5leGUiIC9mIHB5dGhvbjMubWFrIE1BQ0hJTkU9eDY0IE91dERpcj0kKE91dERpcikgY2xlYW48L05NYWtlQ2xlYW5Db21tYW5kTGluZT4KLSAgICA8Tk1ha2VPdXRwdXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyI+JChPdXREaXIpcHl0aG9uMy5kbGw8L05NYWtlT3V0cHV0PgotICAgIDxOTWFrZVByZXByb2Nlc3NvckRlZmluaXRpb25zIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciPiQoTk1ha2VQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L05NYWtlUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgPE5NYWtlSW5jbHVkZVNlYXJjaFBhdGggQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyI+JChOTWFrZUluY2x1ZGVTZWFyY2hQYXRoKTwvTk1ha2VJbmNsdWRlU2VhcmNoUGF0aD4KLSAgICA8Tk1ha2VGb3JjZWRJbmNsdWRlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIj4kKE5NYWtlRm9yY2VkSW5jbHVkZXMpPC9OTWFrZUZvcmNlZEluY2x1ZGVzPgotICAgIDxOTWFrZUFzc2VtYmx5U2VhcmNoUGF0aCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIj4kKE5NYWtlQXNzZW1ibHlTZWFyY2hQYXRoKTwvTk1ha2VBc3NlbWJseVNlYXJjaFBhdGg+Ci0gICAgPE5NYWtlRm9yY2VkVXNpbmdBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciPiQoTk1ha2VGb3JjZWRVc2luZ0Fzc2VtYmxpZXMpPC9OTWFrZUZvcmNlZFVzaW5nQXNzZW1ibGllcz4KLSAgICA8Tk1ha2VCdWlsZENvbW1hbmRMaW5lIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIj5jZCAkKFByb2plY3REaXIpXC4uXFBDCi1ubWFrZSAvZiBweXRob24zLm1hayBNQUNISU5FPXg4NiBPdXREaXI9JChPdXREaXIpPC9OTWFrZUJ1aWxkQ29tbWFuZExpbmU+Ci0gICAgPE5NYWtlUmVCdWlsZENvbW1hbmRMaW5lIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIj5jZCAkKFByb2plY3REaXIpXC4uXFBDCi1ubWFrZSAvZiBweXRob24zLm1hayBNQUNISU5FPXg4NiBPdXREaXI9JChPdXREaXIpIHJlYnVpbGQ8L05NYWtlUmVCdWlsZENvbW1hbmRMaW5lPgotICAgIDxOTWFrZUNsZWFuQ29tbWFuZExpbmUgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciPmNkICQoUHJvamVjdERpcilcLi5cUEMKLSIkKFZTSW5zdGFsbERpcilcVkNcYmluXG5tYWtlLmV4ZSIgL2YgcHl0aG9uMy5tYWsgTUFDSElORT14ODYgT3V0RGlyPSQoT3V0RGlyKSBjbGVhbjwvTk1ha2VDbGVhbkNvbW1hbmRMaW5lPgotICAgIDxOTWFrZU91dHB1dCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyI+JChPdXREaXIpcHl0aG9uMy5kbGw8L05NYWtlT3V0cHV0PgotICAgIDxOTWFrZVByZXByb2Nlc3NvckRlZmluaXRpb25zIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIj4kKE5NYWtlUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9OTWFrZVByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgIDxOTWFrZUluY2x1ZGVTZWFyY2hQYXRoIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIj4kKE5NYWtlSW5jbHVkZVNlYXJjaFBhdGgpPC9OTWFrZUluY2x1ZGVTZWFyY2hQYXRoPgotICAgIDxOTWFrZUZvcmNlZEluY2x1ZGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIj4kKE5NYWtlRm9yY2VkSW5jbHVkZXMpPC9OTWFrZUZvcmNlZEluY2x1ZGVzPgotICAgIDxOTWFrZUFzc2VtYmx5U2VhcmNoUGF0aCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyI+JChOTWFrZUFzc2VtYmx5U2VhcmNoUGF0aCk8L05NYWtlQXNzZW1ibHlTZWFyY2hQYXRoPgotICAgIDxOTWFrZUZvcmNlZFVzaW5nQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyI+JChOTWFrZUZvcmNlZFVzaW5nQXNzZW1ibGllcyk8L05NYWtlRm9yY2VkVXNpbmdBc3NlbWJsaWVzPgotICAgIDxOTWFrZUJ1aWxkQ29tbWFuZExpbmUgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIj5jZCAkKFByb2plY3REaXIpXC4uXFBDCi1ubWFrZSAvZiBweXRob24zLm1hayBNQUNISU5FPXg2NCBPdXREaXI9JChPdXREaXIpPC9OTWFrZUJ1aWxkQ29tbWFuZExpbmU+Ci0gICAgPE5NYWtlUmVCdWlsZENvbW1hbmRMaW5lIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyI+Y2QgJChQcm9qZWN0RGlyKVwuLlxQQwotbm1ha2UgL2YgcHl0aG9uMy5tYWsgTUFDSElORT14NjQgT3V0RGlyPSQoT3V0RGlyKSByZWJ1aWxkPC9OTWFrZVJlQnVpbGRDb21tYW5kTGluZT4KLSAgICA8Tk1ha2VDbGVhbkNvbW1hbmRMaW5lIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyI+Y2QgJChQcm9qZWN0RGlyKVwuLlxQQwotIiQoVlNJbnN0YWxsRGlyKVxWQ1xiaW5cbm1ha2UuZXhlIiAvZiBweXRob24zLm1hayBNQUNISU5FPXg2NCBPdXREaXI9JChPdXREaXIpIGNsZWFuPC9OTWFrZUNsZWFuQ29tbWFuZExpbmU+Ci0gICAgPE5NYWtlT3V0cHV0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyI+JChPdXREaXIpcHl0aG9uMy5kbGw8L05NYWtlT3V0cHV0PgotICAgIDxOTWFrZVByZXByb2Nlc3NvckRlZmluaXRpb25zIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyI+JChOTWFrZVByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvTk1ha2VQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICA8Tk1ha2VJbmNsdWRlU2VhcmNoUGF0aCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciPiQoTk1ha2VJbmNsdWRlU2VhcmNoUGF0aCk8L05NYWtlSW5jbHVkZVNlYXJjaFBhdGg+Ci0gICAgPE5NYWtlRm9yY2VkSW5jbHVkZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIj4kKE5NYWtlRm9yY2VkSW5jbHVkZXMpPC9OTWFrZUZvcmNlZEluY2x1ZGVzPgotICAgIDxOTWFrZUFzc2VtYmx5U2VhcmNoUGF0aCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciPiQoTk1ha2VBc3NlbWJseVNlYXJjaFBhdGgpPC9OTWFrZUFzc2VtYmx5U2VhcmNoUGF0aD4KLSAgICA8Tk1ha2VGb3JjZWRVc2luZ0Fzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIj4kKE5NYWtlRm9yY2VkVXNpbmdBc3NlbWJsaWVzKTwvTk1ha2VGb3JjZWRVc2luZ0Fzc2VtYmxpZXM+CisgICAgPF9NYWNoaW5lPlg4NjwvX01hY2hpbmU+CisgICAgPF9NYWNoaW5lIENvbmRpdGlvbj0iJChQbGF0Zm9ybSkgPT0gJ3g2NCciPlg2NDwvX01hY2hpbmU+CiAgIDwvUHJvcGVydHlHcm91cD4KICAgPEl0ZW1EZWZpbml0aW9uR3JvdXA+CisgICAgPENsQ29tcGlsZT4KKyAgICAgIDxCdWZmZXJTZWN1cml0eUNoZWNrPmZhbHNlPC9CdWZmZXJTZWN1cml0eUNoZWNrPgorICAgIDwvQ2xDb21waWxlPgorICAgIDxMaW5rPgorICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+JChPdXREaXIpJChUYXJnZXROYW1lKXN0dWIubGliPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgorICAgICAgPE1vZHVsZURlZmluaXRpb25GaWxlIENvbmRpdGlvbj0iJChDb25maWd1cmF0aW9uKSAhPSAnRGVidWcnIj4kKFB5U291cmNlUGF0aClQQ1xweXRob24zLmRlZjwvTW9kdWxlRGVmaW5pdGlvbkZpbGU+CisgICAgICA8TW9kdWxlRGVmaW5pdGlvbkZpbGUgQ29uZGl0aW9uPSIkKENvbmZpZ3VyYXRpb24pID09ICdEZWJ1ZyciPiQoSW50RGlyKXB5dGhvbjNfZC5kZWY8L01vZHVsZURlZmluaXRpb25GaWxlPgorICAgICAgPEVudHJ5UG9pbnRTeW1ib2w+RGxsTWFpbjwvRW50cnlQb2ludFN5bWJvbD4KKyAgICA8L0xpbms+CisgICAgPFByZUxpbmtFdmVudD4KKyAgICAgIDxDb21tYW5kPmxpYiAvbm9sb2dvIC9kZWY6IiQoSW50RGlyKXB5dGhvbjNzdHViLmRlZiIgL291dDoiJChPdXREaXIpJChUYXJnZXROYW1lKXN0dWIubGliIiAvTUFDSElORTokKF9NYWNoaW5lKTwvQ29tbWFuZD4KKyAgICAgIDxNZXNzYWdlPlJlYnVpbGRpbmcgJChUYXJnZXROYW1lKXN0dWIubGliPC9NZXNzYWdlPgorICAgICAgPE91dHB1dHM+JChPdXREaXIpJChUYXJnZXROYW1lKXN0dWIubGliPC9PdXRwdXRzPgorICAgIDwvUHJlTGlua0V2ZW50PgogICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+CiAgIDxJdGVtR3JvdXA+CiAgICAgPE5vbmUgSW5jbHVkZT0iLi5cUENccHl0aG9uMy5kZWYiIC8+CkBAIC0xODEsNCArODgsNTUgQEAKICAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAudGFyZ2V0cyIgLz4KICAgPEltcG9ydEdyb3VwIExhYmVsPSJFeHRlbnNpb25UYXJnZXRzIj4KICAgPC9JbXBvcnRHcm91cD4KKyAgCisgIDxUYXJnZXQgTmFtZT0iQnVpbGRQeXRob24zX2REZWYiIEJlZm9yZVRhcmdldHM9IkJ1aWxkU3R1YkRlZiIgSW5wdXRzPSIuLlxQQ1xweXRob24zLmRlZiIgT3V0cHV0cz0iJChJbnREaXIpcHl0aG9uM19kLmRlZiIgQ29uZGl0aW9uPSIkKENvbmZpZ3VyYXRpb24pID09ICdEZWJ1ZyciPgorICAgIDxJdGVtR3JvdXA+CisgICAgICA8X0RlZkxpbmVzIFJlbW92ZT0iQChfRGVmTGluZXMpIiAvPgorICAgICAgPF9MaW5lcyBSZW1vdmU9IkAoX0xpbmVzKSIgLz4KKyAgICA8L0l0ZW1Hcm91cD4KKyAgICA8UmVhZExpbmVzRnJvbUZpbGUgRmlsZT0iLi5cUENccHl0aG9uMy5kZWYiPgorICAgICAgPE91dHB1dCBUYXNrUGFyYW1ldGVyPSJMaW5lcyIgSXRlbU5hbWU9Il9EZWZMaW5lcyIgLz4KKyAgICA8L1JlYWRMaW5lc0Zyb21GaWxlPgorICAgIDxQcm9wZXJ0eUdyb3VwPgorICAgICAgPF9QYXR0ZXJuMT4oPXB5dGhvbiQoTWFqb3JWZXJzaW9uTnVtYmVyKSQoTWlub3JWZXJzaW9uTnVtYmVyKSlcLjwvX1BhdHRlcm4xPgorICAgICAgPF9TdWIxPiQxX2QuPC9fU3ViMT4KKyAgICAgIDxfUGF0dGVybjI+InB5dGhvbjMiPC9fUGF0dGVybjI+CisgICAgICA8X1N1YjI+InB5dGhvbjNfZCI8L19TdWIyPgorICAgIDwvUHJvcGVydHlHcm91cD4KKyAgICA8SXRlbUdyb3VwPgorICAgICAgPF9MaW5lcyBJbmNsdWRlPSJAKF9EZWZMaW5lcykiPgorICAgICAgICA8TmV3PiQoW1N5c3RlbS5UZXh0LlJlZ3VsYXJFeHByZXNzaW9ucy5SZWdleF06OlJlcGxhY2UoJChbU3lzdGVtLlRleHQuUmVndWxhckV4cHJlc3Npb25zLlJlZ2V4XTo6UmVwbGFjZShgJShJZGVudGl0eSlgLCBgJChfUGF0dGVybjEpYCwgYCQoX1N1YjEpYCkpLCBgJChfUGF0dGVybjIpYCwgYCQoX1N1YjIpYCkpPC9OZXc+CisgICAgICA8L19MaW5lcz4KKyAgICA8L0l0ZW1Hcm91cD4KKyAgICA8TWFrZURpciBEaXJlY3Rvcmllcz0iJChJbnREaXIpIiAvPgorICAgIDxXcml0ZUxpbmVzVG9GaWxlIEZpbGU9IiQoSW50RGlyKXB5dGhvbjNfZC5kZWYiIExpbmVzPSJAKF9MaW5lcy0+JyUoTmV3KScpIiAvPgorICA8L1RhcmdldD4KKyAgCisgIDxUYXJnZXQgTmFtZT0iQnVpbGRTdHViRGVmIiBCZWZvcmVUYXJnZXRzPSJQcmVMaW5rRXZlbnQiIElucHV0cz0iLi5cUENccHl0aG9uMy5kZWYiIE91dHB1dHM9IiQoSW50RGlyKXB5dGhvbjNzdHViLmRlZiI+CisgICAgPEl0ZW1Hcm91cD4KKyAgICAgIDxfRGVmTGluZXMgUmVtb3ZlPSJAKF9EZWZMaW5lcykiIC8+CisgICAgICA8X0xpbmVzIFJlbW92ZT0iQChfTGluZXMpIiAvPgorICAgIDwvSXRlbUdyb3VwPgorICAgIDxSZWFkTGluZXNGcm9tRmlsZSBGaWxlPSIuLlxQQ1xweXRob24zLmRlZiI+CisgICAgICA8T3V0cHV0IFRhc2tQYXJhbWV0ZXI9IkxpbmVzIiBJdGVtTmFtZT0iX0RlZkxpbmVzIiAvPgorICAgIDwvUmVhZExpbmVzRnJvbUZpbGU+CisgICAgPFByb3BlcnR5R3JvdXA+CisgICAgICA8X1BhdHRlcm4+Xltcdy5dKz0uKz9cLihbXiBdKykuKiQ8L19QYXR0ZXJuPgorICAgICAgPF9TdWI+JDE8L19TdWI+CisgICAgPC9Qcm9wZXJ0eUdyb3VwPgorICAgIDxJdGVtR3JvdXA+CisgICAgICA8X0xpbmVzIEluY2x1ZGU9IkVYUE9SVFMiIC8+CisgICAgICA8X1N5bWJvbHMgSW5jbHVkZT0iQChfRGVmTGluZXMpIiBDb25kaXRpb249IiQoW1N5c3RlbS5UZXh0LlJlZ3VsYXJFeHByZXNzaW9ucy5SZWdleF06OklzTWF0Y2goYCUoSWRlbnRpdHkpYCwgYCQoX1BhdHRlcm4pYCkpIj4KKyAgICAgICAgPFN5bWJvbD4kKFtTeXN0ZW0uVGV4dC5SZWd1bGFyRXhwcmVzc2lvbnMuUmVnZXhdOjpSZXBsYWNlKGAlKElkZW50aXR5KWAsIGAkKF9QYXR0ZXJuKWAsIGAkKF9TdWIpYCkpPC9TeW1ib2w+CisgICAgICA8L19TeW1ib2xzPgorICAgICAgPF9MaW5lcyBJbmNsdWRlPSJAKF9TeW1ib2xzLT4nJShTeW1ib2wpJykiIC8+CisgICAgPC9JdGVtR3JvdXA+CisgICAgPE1ha2VEaXIgRGlyZWN0b3JpZXM9IiQoSW50RGlyKSIgLz4KKyAgICA8V3JpdGVMaW5lc1RvRmlsZSBGaWxlPSIkKEludERpcilweXRob24zc3R1Yi5kZWYiIExpbmVzPSJAKF9MaW5lcykiIC8+CisgIDwvVGFyZ2V0PgorICA8VGFyZ2V0IE5hbWU9Il9DbGVhblN0dWJEZWYiIEJlZm9yZVRhcmdldHM9IkNvcmVDbGVhbiI+CisgICAgPEl0ZW1Hcm91cD4KKyAgICAgIDxDbGVhbiBJbmNsdWRlPSIkKEludERpcilweXRob24zc3R1Yi5kZWYiIC8+CisgICAgPC9JdGVtR3JvdXA+CisgIDwvVGFyZ2V0PgogPC9Qcm9qZWN0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL1BDYnVpbGQvcHl0aG9uY29yZS52Y3hwcm9qIGIvUENidWlsZC9weXRob25jb3JlLnZjeHByb2oKaW5kZXggNjAyMWNkNy4uNDc5ZjY4ZCAxMDA2NDQKLS0tIGEvUENidWlsZC9weXRob25jb3JlLnZjeHByb2oKKysrIGIvUENidWlsZC9weXRob25jb3JlLnZjeHByb2oKQEAgLTM4LDQwNSArMzgsNDEgQEAKICAgICA8UHJvamVjdEd1aWQ+e0NGN0FDM0QxLUUyREYtNDFEMi1CRUE2LTFFMjU1NkNERUEyNn08L1Byb2plY3RHdWlkPgogICAgIDxSb290TmFtZXNwYWNlPnB5dGhvbmNvcmU8L1Jvb3ROYW1lc3BhY2U+CiAgIDwvUHJvcGVydHlHcm91cD4KKyAgPEltcG9ydCBQcm9qZWN0PSJweXRob24ucHJvcHMiIC8+CiAgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLkRlZmF1bHQucHJvcHMiIC8+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8VXNlT2ZNZmM+ZmFsc2U8L1VzZU9mTWZjPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPFVzZU9mTWZjPmZhbHNlPC9Vc2VPZk1mYz4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPFVzZU9mTWZjPmZhbHNlPC9Vc2VPZk1mYz4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxVc2VPZk1mYz5mYWxzZTwvVXNlT2ZNZmM+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8VXNlT2ZNZmM+ZmFsc2U8L1VzZU9mTWZjPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxVc2VPZk1mYz5mYWxzZTwvVXNlT2ZNZmM+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8VXNlT2ZNZmM+ZmFsc2U8L1VzZU9mTWZjPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+CisgIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJDb25maWd1cmF0aW9uIj4KICAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgogICAgIDxVc2VPZk1mYz5mYWxzZTwvVXNlT2ZNZmM+CiAgIDwvUHJvcGVydHlHcm91cD4KICAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAucHJvcHMiIC8+CiAgIDxJbXBvcnRHcm91cCBMYWJlbD0iRXh0ZW5zaW9uU2V0dGluZ3MiPgogICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+CisgIDxQcm9wZXJ0eUdyb3VwPgorICAgIDxNYWtlVmVyc2lvbkluZm9CZWZvcmVUYXJnZXQ+Q2xDb21waWxlPC9NYWtlVmVyc2lvbkluZm9CZWZvcmVUYXJnZXQ+CisgICAgPEtpbGxQeXRob24+dHJ1ZTwvS2lsbFB5dGhvbj4KKyAgPC9Qcm9wZXJ0eUdyb3VwPgorICA8SW1wb3J0R3JvdXAgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KICAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJyZWxlYXNlLnByb3BzIiAvPgogICAgIDxJbXBvcnQgUHJvamVjdD0icHlwcm9qZWN0LnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icGd1cGRhdGUucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icmVsZWFzZS5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5cHJvamVjdC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InBnaW5zdHJ1bWVudC5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9ImRlYnVnLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlwcm9qZWN0LnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJyZWxlYXNlLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlwcm9qZWN0LnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InJlbGVhc2UucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweXByb2plY3QucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJ4NjQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJwZ3VwZGF0ZS5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icmVsZWFzZS5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5cHJvamVjdC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9Ing2NC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InBnaW5zdHJ1bWVudC5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJkZWJ1Zy5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5cHJvamVjdC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9Ing2NC5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InJlbGVhc2UucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweXByb2plY3QucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJ4NjQucHJvcHMiIC8+CiAgIDwvSW1wb3J0R3JvdXA+CiAgIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJVc2VyTWFjcm9zIiAvPgogICA8UHJvcGVydHlHcm91cD4KICAgICA8X1Byb2plY3RGaWxlVmVyc2lvbj4xMC4wLjMwMzE5LjE8L19Qcm9qZWN0RmlsZVZlcnNpb24+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIiAvPgotICAgIDxUYXJnZXROYW1lIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIj4kKFB5RGxsTmFtZSk8L1RhcmdldE5hbWU+Ci0gICAgPFRhcmdldE5hbWUgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIj4kKFB5RGxsTmFtZSk8L1RhcmdldE5hbWU+Ci0gICAgPFRhcmdldE5hbWUgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciPiQoUHlEbGxOYW1lKTwvVGFyZ2V0TmFtZT4KLSAgICA8VGFyZ2V0TmFtZSBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj4kKFB5RGxsTmFtZSk8L1RhcmdldE5hbWU+Ci0gICAgPFRhcmdldE5hbWUgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIj4kKFB5RGxsTmFtZSk8L1RhcmdldE5hbWU+Ci0gICAgPFRhcmdldE5hbWUgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyI+JChQeURsbE5hbWUpPC9UYXJnZXROYW1lPgotICAgIDxUYXJnZXROYW1lIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyI+JChQeURsbE5hbWUpPC9UYXJnZXROYW1lPgotICAgIDxUYXJnZXROYW1lIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj4kKFB5RGxsTmFtZSk8L1RhcmdldE5hbWU+CisgICAgPFRhcmdldE5hbWU+JChQeURsbE5hbWUpPC9UYXJnZXROYW1lPgogICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPgorICA8UHJvcGVydHlHcm91cD4KKyAgICA8Q3VzdG9tQnVpbGRCZWZvcmVUYXJnZXRzPkxpbms8L0N1c3RvbUJ1aWxkQmVmb3JlVGFyZ2V0cz4KKyAgPC9Qcm9wZXJ0eUdyb3VwPgorICA8SXRlbURlZmluaXRpb25Hcm91cD4KICAgICA8Q2xDb21waWxlPgogICAgICAgPEFkZGl0aW9uYWxPcHRpb25zPi9abTIwMCAgJShBZGRpdGlvbmFsT3B0aW9ucyk8L0FkZGl0aW9uYWxPcHRpb25zPgotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Li5cUHl0aG9uOy4uXE1vZHVsZXNcemxpYjslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPl9VU1JETEw7UHlfQlVJTERfQ09SRTtQeV9FTkFCTEVfU0hBUkVEO1dJTjMyOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICAgIDxSdW50aW1lTGlicmFyeT5NdWx0aVRocmVhZGVkRExMPC9SdW50aW1lTGlicmFyeT4KKyAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPiQoUHlTb3VyY2VQYXRoKVB5dGhvbjskKFB5U291cmNlUGF0aClNb2R1bGVzXHpsaWI7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KKyAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5fVVNSRExMO1B5X0JVSUxEX0NPUkU7UHlfRU5BQkxFX1NIQVJFRDtNU19ETExfSUQ9IiQoU3lzV2luVmVyKSI7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgogICAgIDwvQ2xDb21waWxlPgotICAgIDxSZXNvdXJjZUNvbXBpbGU+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+TkRFQlVHOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICAgIDxDdWx0dXJlPjB4MDQwOTwvQ3VsdHVyZT4KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPi4uXEluY2x1ZGU7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KLSAgICA8L1Jlc291cmNlQ29tcGlsZT4KLSAgICA8UHJlTGlua0V2ZW50PgotICAgICAgPE1lc3NhZ2U+R2VuZXJhdGUgYnVpbGQgaW5mb3JtYXRpb24uLi48L01lc3NhZ2U+Ci0gICAgICA8Q29tbWFuZD4iJChTb2x1dGlvbkRpciltYWtlX2J1aWxkaW5mby5leGUiIFJlbGVhc2UgIiQoSW50RGlyKVwiPC9Db21tYW5kPgotICAgIDwvUHJlTGlua0V2ZW50PgogICAgIDxMaW5rPgotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+JChJbnREaXIpZ2V0YnVpbGRpbmZvLm87JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KLSAgICAgIDxPdXRwdXRGaWxlPiQoT3V0RGlyKSQoUHlEbGxOYW1lKS5kbGw8L091dHB1dEZpbGU+Ci0gICAgICA8SWdub3JlU3BlY2lmaWNEZWZhdWx0TGlicmFyaWVzPmxpYmM7JShJZ25vcmVTcGVjaWZpY0RlZmF1bHRMaWJyYXJpZXMpPC9JZ25vcmVTcGVjaWZpY0RlZmF1bHRMaWJyYXJpZXM+CisgICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz53czJfMzIubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+CiAgICAgICA8QmFzZUFkZHJlc3M+MHgxZTAwMDAwMDwvQmFzZUFkZHJlc3M+CiAgICAgPC9MaW5rPgotICAgIDxQcmVCdWlsZEV2ZW50PgotICAgICAgPENvbW1hbmQ+JChLaWxsUHl0aG9uRXhlKQotSUYgJUVSUk9STEVWRUwlIE5FUSAwICgKLSAgICBlY2hvIGtpbGxfcHl0aG9uOiB3YXJebmluZzogY291bGQgbm90IGtpbGwgcnVubmluZyBQeXRob25zLCBleGl0IGNvZGUgJUVSUk9STEVWRUwlCi0gICAgZXhpdCAvYiAwCi0pPC9Db21tYW5kPgotICAgIDwvUHJlQnVpbGRFdmVudD4KLSAgICA8UHJlQnVpbGRFdmVudD4KLSAgICAgIDxNZXNzYWdlPktpbGxpbmcgYW55IHJ1bm5pbmcgJChQeXRob25FeGUpIGluc3RhbmNlcy4uLjwvTWVzc2FnZT4KLSAgICA8L1ByZUJ1aWxkRXZlbnQ+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPgotICAgIDxNaWRsPgotICAgICAgPFRhcmdldEVudmlyb25tZW50Plg2NDwvVGFyZ2V0RW52aXJvbm1lbnQ+Ci0gICAgPC9NaWRsPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8QWRkaXRpb25hbE9wdGlvbnM+L1ptMjAwICAlKEFkZGl0aW9uYWxPcHRpb25zKTwvQWRkaXRpb25hbE9wdGlvbnM+Ci0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4uLlxQeXRob247Li5cTW9kdWxlc1x6bGliOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+X1VTUkRMTDtQeV9CVUlMRF9DT1JFO1B5X0VOQUJMRV9TSEFSRUQ7V0lOMzI7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgICAgPFJ1bnRpbWVMaWJyYXJ5Pk11bHRpVGhyZWFkZWRETEw8L1J1bnRpbWVMaWJyYXJ5PgotICAgIDwvQ2xDb21waWxlPgotICAgIDxSZXNvdXJjZUNvbXBpbGU+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+TkRFQlVHOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICAgIDxDdWx0dXJlPjB4MDQwOTwvQ3VsdHVyZT4KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPi4uXEluY2x1ZGU7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KLSAgICA8L1Jlc291cmNlQ29tcGlsZT4KLSAgICA8UHJlTGlua0V2ZW50PgotICAgICAgPE1lc3NhZ2U+R2VuZXJhdGUgYnVpbGQgaW5mb3JtYXRpb24uLi48L01lc3NhZ2U+Ci0gICAgICA8Q29tbWFuZD4iJChTb2x1dGlvbkRpciltYWtlX2J1aWxkaW5mby5leGUiIFJlbGVhc2UgIiQoSW50RGlyKVwiPC9Db21tYW5kPgotICAgIDwvUHJlTGlua0V2ZW50PgotICAgIDxMaW5rPgotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+JChJbnREaXIpZ2V0YnVpbGRpbmZvLm87JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KLSAgICAgIDxJZ25vcmVTcGVjaWZpY0RlZmF1bHRMaWJyYXJpZXM+bGliYzslKElnbm9yZVNwZWNpZmljRGVmYXVsdExpYnJhcmllcyk8L0lnbm9yZVNwZWNpZmljRGVmYXVsdExpYnJhcmllcz4KLSAgICAgIDxCYXNlQWRkcmVzcz4weDFlMDAwMDAwPC9CYXNlQWRkcmVzcz4KLSAgICA8L0xpbms+Ci0gICAgPFByZUJ1aWxkRXZlbnQ+Ci0gICAgICA8Q29tbWFuZD4kKEtpbGxQeXRob25FeGUpCi1JRiAlRVJST1JMRVZFTCUgTkVRIDAgKAotICAgIGVjaG8ga2lsbF9weXRob246IHdhcl5uaW5nOiBjb3VsZCBub3Qga2lsbCBydW5uaW5nIFB5dGhvbnMsIGV4aXQgY29kZSAlRVJST1JMRVZFTCUKLSAgICBleGl0IC9iIDAKLSk8L0NvbW1hbmQ+Ci0gICAgPC9QcmVCdWlsZEV2ZW50PgotICAgIDxQcmVCdWlsZEV2ZW50PgotICAgICAgPE1lc3NhZ2U+S2lsbGluZyBhbnkgcnVubmluZyAkKFB5dGhvbkV4ZSkgaW5zdGFuY2VzLi4uPC9NZXNzYWdlPgotICAgIDwvUHJlQnVpbGRFdmVudD4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxBZGRpdGlvbmFsT3B0aW9ucz4vWm0yMDAgICUoQWRkaXRpb25hbE9wdGlvbnMpPC9BZGRpdGlvbmFsT3B0aW9ucz4KLSAgICAgIDxPcHRpbWl6YXRpb24+RGlzYWJsZWQ8L09wdGltaXphdGlvbj4KLSAgICAgIDxJbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj5EZWZhdWx0PC9JbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj4KLSAgICAgIDxJbnRyaW5zaWNGdW5jdGlvbnM+ZmFsc2U8L0ludHJpbnNpY0Z1bmN0aW9ucz4KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPi4uXFB5dGhvbjsuLlxNb2R1bGVzXHpsaWI7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5fVVNSRExMO1B5X0JVSUxEX0NPUkU7UHlfRU5BQkxFX1NIQVJFRDtXSU4zMjslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgICA8UnVudGltZUxpYnJhcnk+TXVsdGlUaHJlYWRlZERlYnVnRExMPC9SdW50aW1lTGlicmFyeT4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8UmVzb3VyY2VDb21waWxlPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPl9ERUJVRzslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgICA8Q3VsdHVyZT4weDA0MDk8L0N1bHR1cmU+Ci0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4uLlxJbmNsdWRlOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Ci0gICAgPC9SZXNvdXJjZUNvbXBpbGU+Ci0gICAgPFByZUxpbmtFdmVudD4KLSAgICAgIDxNZXNzYWdlPkdlbmVyYXRlIGJ1aWxkIGluZm9ybWF0aW9uLi4uPC9NZXNzYWdlPgotICAgICAgPENvbW1hbmQ+IiQoU29sdXRpb25EaXIpbWFrZV9idWlsZGluZm8uZXhlIiBEZWJ1ZyAiJChJbnREaXIpIjwvQ29tbWFuZD4KLSAgICA8L1ByZUxpbmtFdmVudD4KLSAgICA8TGluaz4KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPiQoSW50RGlyKWdldGJ1aWxkaW5mby5vOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Ci0gICAgICA8SWdub3JlU3BlY2lmaWNEZWZhdWx0TGlicmFyaWVzPmxpYmM7JShJZ25vcmVTcGVjaWZpY0RlZmF1bHRMaWJyYXJpZXMpPC9JZ25vcmVTcGVjaWZpY0RlZmF1bHRMaWJyYXJpZXM+Ci0gICAgICA8QmFzZUFkZHJlc3M+MHgxZTAwMDAwMDwvQmFzZUFkZHJlc3M+Ci0gICAgPC9MaW5rPgotICAgIDxQcmVCdWlsZEV2ZW50PgotICAgICAgPENvbW1hbmQ+JChLaWxsUHl0aG9uRXhlKQotSUYgJUVSUk9STEVWRUwlIE5FUSAwICgKLSAgICBlY2hvIGtpbGxfcHl0aG9uOiB3YXJebmluZzogY291bGQgbm90IGtpbGwgcnVubmluZyBQeXRob25zLCBleGl0IGNvZGUgJUVSUk9STEVWRUwlCi0gICAgZXhpdCAvYiAwCi0pPC9Db21tYW5kPgotICAgIDwvUHJlQnVpbGRFdmVudD4KLSAgICA8UHJlQnVpbGRFdmVudD4KLSAgICAgIDxNZXNzYWdlPktpbGxpbmcgYW55IHJ1bm5pbmcgJChQeXRob25FeGUpIGluc3RhbmNlcy4uLjwvTWVzc2FnZT4KLSAgICA8L1ByZUJ1aWxkRXZlbnQ+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIj4KLSAgICA8TWlkbD4KLSAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5YNjQ8L1RhcmdldEVudmlyb25tZW50PgotICAgIDwvTWlkbD4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPEFkZGl0aW9uYWxPcHRpb25zPi9abTIwMCAgJShBZGRpdGlvbmFsT3B0aW9ucyk8L0FkZGl0aW9uYWxPcHRpb25zPgotICAgICAgPE9wdGltaXphdGlvbj5EaXNhYmxlZDwvT3B0aW1pemF0aW9uPgotICAgICAgPElubGluZUZ1bmN0aW9uRXhwYW5zaW9uPkRlZmF1bHQ8L0lubGluZUZ1bmN0aW9uRXhwYW5zaW9uPgotICAgICAgPEludHJpbnNpY0Z1bmN0aW9ucz5mYWxzZTwvSW50cmluc2ljRnVuY3Rpb25zPgotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Li5cUHl0aG9uOy4uXE1vZHVsZXNcemxpYjslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPl9VU1JETEw7UHlfQlVJTERfQ09SRTtQeV9FTkFCTEVfU0hBUkVEO1dJTjMyOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICAgIDxSdW50aW1lTGlicmFyeT5NdWx0aVRocmVhZGVkRGVidWdETEw8L1J1bnRpbWVMaWJyYXJ5PgotICAgIDwvQ2xDb21waWxlPgotICAgIDxSZXNvdXJjZUNvbXBpbGU+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+X0RFQlVHOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICAgIDxDdWx0dXJlPjB4MDQwOTwvQ3VsdHVyZT4KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPi4uXEluY2x1ZGU7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KLSAgICA8L1Jlc291cmNlQ29tcGlsZT4KLSAgICA8UHJlTGlua0V2ZW50PgotICAgICAgPE1lc3NhZ2U+R2VuZXJhdGUgYnVpbGQgaW5mb3JtYXRpb24uLi48L01lc3NhZ2U+Ci0gICAgICA8Q29tbWFuZD4iJChTb2x1dGlvbkRpciltYWtlX2J1aWxkaW5mby5leGUiIERlYnVnICIkKEludERpcikiPC9Db21tYW5kPgotICAgIDwvUHJlTGlua0V2ZW50PgotICAgIDxMaW5rPgotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+JChJbnREaXIpZ2V0YnVpbGRpbmZvLm87JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KLSAgICAgIDxJZ25vcmVTcGVjaWZpY0RlZmF1bHRMaWJyYXJpZXM+bGliYzslKElnbm9yZVNwZWNpZmljRGVmYXVsdExpYnJhcmllcyk8L0lnbm9yZVNwZWNpZmljRGVmYXVsdExpYnJhcmllcz4KLSAgICAgIDxCYXNlQWRkcmVzcz4weDFlMDAwMDAwPC9CYXNlQWRkcmVzcz4KLSAgICA8L0xpbms+Ci0gICAgPFByZUJ1aWxkRXZlbnQ+Ci0gICAgICA8Q29tbWFuZD4kKEtpbGxQeXRob25FeGUpCi1JRiAlRVJST1JMRVZFTCUgTkVRIDAgKAotICAgIGVjaG8ga2lsbF9weXRob246IHdhcl5uaW5nOiBjb3VsZCBub3Qga2lsbCBydW5uaW5nIFB5dGhvbnMsIGV4aXQgY29kZSAlRVJST1JMRVZFTCUKLSAgICBleGl0IC9iIDAKLSk8L0NvbW1hbmQ+Ci0gICAgPC9QcmVCdWlsZEV2ZW50PgotICAgIDxQcmVCdWlsZEV2ZW50PgotICAgICAgPE1lc3NhZ2U+S2lsbGluZyBhbnkgcnVubmluZyAkKFB5dGhvbkV4ZSkgaW5zdGFuY2VzLi4uPC9NZXNzYWdlPgotICAgIDwvUHJlQnVpbGRFdmVudD4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8QWRkaXRpb25hbE9wdGlvbnM+L1ptMjAwICAlKEFkZGl0aW9uYWxPcHRpb25zKTwvQWRkaXRpb25hbE9wdGlvbnM+Ci0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4uLlxQeXRob247Li5cTW9kdWxlc1x6bGliOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+X1VTUkRMTDtQeV9CVUlMRF9DT1JFO1B5X0VOQUJMRV9TSEFSRUQ7V0lOMzI7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgICAgPFJ1bnRpbWVMaWJyYXJ5Pk11bHRpVGhyZWFkZWRETEw8L1J1bnRpbWVMaWJyYXJ5PgotICAgIDwvQ2xDb21waWxlPgotICAgIDxSZXNvdXJjZUNvbXBpbGU+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+TkRFQlVHOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICAgIDxDdWx0dXJlPjB4MDQwOTwvQ3VsdHVyZT4KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPi4uXEluY2x1ZGU7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KLSAgICA8L1Jlc291cmNlQ29tcGlsZT4KLSAgICA8UHJlTGlua0V2ZW50PgotICAgICAgPE1lc3NhZ2U+R2VuZXJhdGUgYnVpbGQgaW5mb3JtYXRpb24uLi48L01lc3NhZ2U+Ci0gICAgICA8Q29tbWFuZD4iJChTb2x1dGlvbkRpciltYWtlX2J1aWxkaW5mby5leGUiIFJlbGVhc2UgIiQoSW50RGlyKVwiPC9Db21tYW5kPgotICAgIDwvUHJlTGlua0V2ZW50PgotICAgIDxMaW5rPgotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+JChJbnREaXIpZ2V0YnVpbGRpbmZvLm87JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KLSAgICAgIDxPdXRwdXRGaWxlPiQoT3V0RGlyKSQoUHlEbGxOYW1lKS5kbGw8L091dHB1dEZpbGU+Ci0gICAgICA8SWdub3JlU3BlY2lmaWNEZWZhdWx0TGlicmFyaWVzPmxpYmM7JShJZ25vcmVTcGVjaWZpY0RlZmF1bHRMaWJyYXJpZXMpPC9JZ25vcmVTcGVjaWZpY0RlZmF1bHRMaWJyYXJpZXM+Ci0gICAgICA8QmFzZUFkZHJlc3M+MHgxZTAwMDAwMDwvQmFzZUFkZHJlc3M+Ci0gICAgPC9MaW5rPgotICAgIDxQcmVCdWlsZEV2ZW50PgotICAgICAgPENvbW1hbmQ+JChLaWxsUHl0aG9uRXhlKQotSUYgJUVSUk9STEVWRUwlIE5FUSAwICgKLSAgICBlY2hvIGtpbGxfcHl0aG9uOiB3YXJebmluZzogY291bGQgbm90IGtpbGwgcnVubmluZyBQeXRob25zLCBleGl0IGNvZGUgJUVSUk9STEVWRUwlCi0gICAgZXhpdCAvYiAwCi0pPC9Db21tYW5kPgotICAgIDwvUHJlQnVpbGRFdmVudD4KLSAgICA8UHJlQnVpbGRFdmVudD4KLSAgICAgIDxNZXNzYWdlPktpbGxpbmcgYW55IHJ1bm5pbmcgJChQeXRob25FeGUpIGluc3RhbmNlcy4uLjwvTWVzc2FnZT4KLSAgICA8L1ByZUJ1aWxkRXZlbnQ+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyI+Ci0gICAgPE1pZGw+Ci0gICAgICA8VGFyZ2V0RW52aXJvbm1lbnQ+WDY0PC9UYXJnZXRFbnZpcm9ubWVudD4KLSAgICA8L01pZGw+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxBZGRpdGlvbmFsT3B0aW9ucz4vWm0yMDAgICUoQWRkaXRpb25hbE9wdGlvbnMpPC9BZGRpdGlvbmFsT3B0aW9ucz4KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPi4uXFB5dGhvbjsuLlxNb2R1bGVzXHpsaWI7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5fVVNSRExMO1B5X0JVSUxEX0NPUkU7UHlfRU5BQkxFX1NIQVJFRDtXSU4zMjslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgICA8UnVudGltZUxpYnJhcnk+TXVsdGlUaHJlYWRlZERMTDwvUnVudGltZUxpYnJhcnk+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPFJlc291cmNlQ29tcGlsZT4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5OREVCVUc7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgICAgPEN1bHR1cmU+MHgwNDA5PC9DdWx0dXJlPgotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Li5cSW5jbHVkZTslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgotICAgIDwvUmVzb3VyY2VDb21waWxlPgotICAgIDxQcmVMaW5rRXZlbnQ+Ci0gICAgICA8TWVzc2FnZT5HZW5lcmF0ZSBidWlsZCBpbmZvcm1hdGlvbi4uLjwvTWVzc2FnZT4KLSAgICAgIDxDb21tYW5kPiIkKFNvbHV0aW9uRGlyKW1ha2VfYnVpbGRpbmZvLmV4ZSIgUmVsZWFzZSAiJChJbnREaXIpXCI8L0NvbW1hbmQ+Ci0gICAgPC9QcmVMaW5rRXZlbnQ+Ci0gICAgPExpbms+Ci0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz4kKEludERpcilnZXRidWlsZGluZm8ubzslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgotICAgICAgPElnbm9yZVNwZWNpZmljRGVmYXVsdExpYnJhcmllcz5saWJjOyUoSWdub3JlU3BlY2lmaWNEZWZhdWx0TGlicmFyaWVzKTwvSWdub3JlU3BlY2lmaWNEZWZhdWx0TGlicmFyaWVzPgotICAgICAgPEJhc2VBZGRyZXNzPjB4MWUwMDAwMDA8L0Jhc2VBZGRyZXNzPgotICAgICAgPFRhcmdldE1hY2hpbmU+TWFjaGluZVg2NDwvVGFyZ2V0TWFjaGluZT4KLSAgICA8L0xpbms+Ci0gICAgPFByZUJ1aWxkRXZlbnQ+Ci0gICAgICA8Q29tbWFuZD4kKEtpbGxQeXRob25FeGUpCi1JRiAlRVJST1JMRVZFTCUgTkVRIDAgKAotICAgIGVjaG8ga2lsbF9weXRob246IHdhcl5uaW5nOiBjb3VsZCBub3Qga2lsbCBydW5uaW5nIFB5dGhvbnMsIGV4aXQgY29kZSAlRVJST1JMRVZFTCUKLSAgICBleGl0IC9iIDAKLSk8L0NvbW1hbmQ+Ci0gICAgPC9QcmVCdWlsZEV2ZW50PgotICAgIDxQcmVCdWlsZEV2ZW50PgotICAgICAgPE1lc3NhZ2U+S2lsbGluZyBhbnkgcnVubmluZyAkKFB5dGhvbkV4ZSkgaW5zdGFuY2VzLi4uPC9NZXNzYWdlPgotICAgIDwvUHJlQnVpbGRFdmVudD4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyI+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxBZGRpdGlvbmFsT3B0aW9ucz4vWm0yMDAgICUoQWRkaXRpb25hbE9wdGlvbnMpPC9BZGRpdGlvbmFsT3B0aW9ucz4KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPi4uXFB5dGhvbjsuLlxNb2R1bGVzXHpsaWI7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5fVVNSRExMO1B5X0JVSUxEX0NPUkU7UHlfRU5BQkxFX1NIQVJFRDtXSU4zMjslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgICA8UnVudGltZUxpYnJhcnk+TXVsdGlUaHJlYWRlZERMTDwvUnVudGltZUxpYnJhcnk+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPFJlc291cmNlQ29tcGlsZT4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5OREVCVUc7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgICAgPEN1bHR1cmU+MHgwNDA5PC9DdWx0dXJlPgotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Li5cSW5jbHVkZTslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgotICAgIDwvUmVzb3VyY2VDb21waWxlPgotICAgIDxQcmVMaW5rRXZlbnQ+Ci0gICAgICA8TWVzc2FnZT5HZW5lcmF0ZSBidWlsZCBpbmZvcm1hdGlvbi4uLjwvTWVzc2FnZT4KLSAgICAgIDxDb21tYW5kPiIkKFNvbHV0aW9uRGlyKW1ha2VfYnVpbGRpbmZvLmV4ZSIgUmVsZWFzZSAiJChJbnREaXIpXCI8L0NvbW1hbmQ+Ci0gICAgPC9QcmVMaW5rRXZlbnQ+Ci0gICAgPExpbms+Ci0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz4kKEludERpcilnZXRidWlsZGluZm8ubzslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgotICAgICAgPE91dHB1dEZpbGU+JChPdXREaXIpJChQeURsbE5hbWUpLmRsbDwvT3V0cHV0RmlsZT4KLSAgICAgIDxJZ25vcmVTcGVjaWZpY0RlZmF1bHRMaWJyYXJpZXM+bGliYzslKElnbm9yZVNwZWNpZmljRGVmYXVsdExpYnJhcmllcyk8L0lnbm9yZVNwZWNpZmljRGVmYXVsdExpYnJhcmllcz4KLSAgICAgIDxCYXNlQWRkcmVzcz4weDFlMDAwMDAwPC9CYXNlQWRkcmVzcz4KLSAgICA8L0xpbms+Ci0gICAgPFByZUJ1aWxkRXZlbnQ+Ci0gICAgICA8Q29tbWFuZD4kKEtpbGxQeXRob25FeGUpCi1JRiAlRVJST1JMRVZFTCUgTkVRIDAgKAotICAgIGVjaG8ga2lsbF9weXRob246IHdhcl5uaW5nOiBjb3VsZCBub3Qga2lsbCBydW5uaW5nIFB5dGhvbnMsIGV4aXQgY29kZSAlRVJST1JMRVZFTCUKLSAgICBleGl0IC9iIDAKLSk8L0NvbW1hbmQ+Ci0gICAgPC9QcmVCdWlsZEV2ZW50PgotICAgIDxQcmVCdWlsZEV2ZW50PgotICAgICAgPE1lc3NhZ2U+S2lsbGluZyBhbnkgcnVubmluZyAkKFB5dGhvbkV4ZSkgaW5zdGFuY2VzLi4uPC9NZXNzYWdlPgotICAgIDwvUHJlQnVpbGRFdmVudD4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciPgotICAgIDxNaWRsPgotICAgICAgPFRhcmdldEVudmlyb25tZW50Plg2NDwvVGFyZ2V0RW52aXJvbm1lbnQ+Ci0gICAgPC9NaWRsPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8QWRkaXRpb25hbE9wdGlvbnM+L1ptMjAwICAlKEFkZGl0aW9uYWxPcHRpb25zKTwvQWRkaXRpb25hbE9wdGlvbnM+Ci0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4uLlxQeXRob247Li5cTW9kdWxlc1x6bGliOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+X1VTUkRMTDtQeV9CVUlMRF9DT1JFO1B5X0VOQUJMRV9TSEFSRUQ7V0lOMzI7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgICAgPFJ1bnRpbWVMaWJyYXJ5Pk11bHRpVGhyZWFkZWRETEw8L1J1bnRpbWVMaWJyYXJ5PgotICAgIDwvQ2xDb21waWxlPgotICAgIDxSZXNvdXJjZUNvbXBpbGU+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+TkRFQlVHOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICAgIDxDdWx0dXJlPjB4MDQwOTwvQ3VsdHVyZT4KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPi4uXEluY2x1ZGU7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KLSAgICA8L1Jlc291cmNlQ29tcGlsZT4KLSAgICA8UHJlTGlua0V2ZW50PgotICAgICAgPE1lc3NhZ2U+R2VuZXJhdGUgYnVpbGQgaW5mb3JtYXRpb24uLi48L01lc3NhZ2U+Ci0gICAgICA8Q29tbWFuZD4iJChTb2x1dGlvbkRpciltYWtlX2J1aWxkaW5mby5leGUiIFJlbGVhc2UgIiQoSW50RGlyKVwiPC9Db21tYW5kPgotICAgIDwvUHJlTGlua0V2ZW50PgotICAgIDxMaW5rPgotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+JChJbnREaXIpZ2V0YnVpbGRpbmZvLm87JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KLSAgICAgIDxJZ25vcmVTcGVjaWZpY0RlZmF1bHRMaWJyYXJpZXM+bGliYzslKElnbm9yZVNwZWNpZmljRGVmYXVsdExpYnJhcmllcyk8L0lnbm9yZVNwZWNpZmljRGVmYXVsdExpYnJhcmllcz4KLSAgICAgIDxCYXNlQWRkcmVzcz4weDFlMDAwMDAwPC9CYXNlQWRkcmVzcz4KLSAgICAgIDxUYXJnZXRNYWNoaW5lPk1hY2hpbmVYNjQ8L1RhcmdldE1hY2hpbmU+Ci0gICAgPC9MaW5rPgotICAgIDxQcmVCdWlsZEV2ZW50PgotICAgICAgPENvbW1hbmQ+JChLaWxsUHl0aG9uRXhlKQotSUYgJUVSUk9STEVWRUwlIE5FUSAwICgKLSAgICBlY2hvIGtpbGxfcHl0aG9uOiB3YXJebmluZzogY291bGQgbm90IGtpbGwgcnVubmluZyBQeXRob25zLCBleGl0IGNvZGUgJUVSUk9STEVWRUwlCi0gICAgZXhpdCAvYiAwCi0pPC9Db21tYW5kPgotICAgIDwvUHJlQnVpbGRFdmVudD4KLSAgICA8UHJlQnVpbGRFdmVudD4KLSAgICAgIDxNZXNzYWdlPktpbGxpbmcgYW55IHJ1bm5pbmcgJChQeXRob25FeGUpIGluc3RhbmNlcy4uLjwvTWVzc2FnZT4KLSAgICA8L1ByZUJ1aWxkRXZlbnQ+CiAgIDwvSXRlbURlZmluaXRpb25Hcm91cD4KICAgPEl0ZW1Hcm91cD4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEluY2x1ZGVcYWJzdHJhY3QuaCIgLz4KQEAgLTUwMiw2ICsxMzgsNyBAQAogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cSW5jbHVkZVxweWV4cGF0LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxJbmNsdWRlXHB5ZnBlLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxJbmNsdWRlXHB5Z2V0b3B0LmgiIC8+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxJbmNsdWRlXHB5bGlmZWN5Y2xlLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxJbmNsdWRlXHB5bWF0aC5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cSW5jbHVkZVxweXRpbWUuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEluY2x1ZGVccHltYWNyby5oIiAvPgpAQCAtNjk4LDcgKzMzNSw2IEBACiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxQYXJzZXJcdG9rZW5pemVyLmMiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxQQ1x3aW5yZWcuYyIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXFBDXGNvbmZpZy5jIiAvPgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cUENcZGxfbnQuYyIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXFBDXGdldHBhdGhwLmMiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxQQ1xtc3ZjcnRtb2R1bGUuYyIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXFB5dGhvblxweWhhc2guYyIgLz4KQEAgLTczNCw2ICszNzAsNyBAQAogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cUHl0aG9uXHB5YXJlbmEuYyIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXFB5dGhvblxweWN0eXBlLmMiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxQeXRob25ccHlmcGUuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXFB5dGhvblxweWxpZmVjeWNsZS5jIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cUHl0aG9uXHB5bWF0aC5jIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cUHl0aG9uXHB5dGltZS5jIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cUHl0aG9uXHB5c3RhdGUuYyIgLz4KQEAgLTc0OSwyMyArMzg2LDM0IEBACiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxQeXRob25cdHJhY2ViYWNrLmMiIC8+CiAgIDwvSXRlbUdyb3VwPgogICA8SXRlbUdyb3VwPgotICAgIDxSZXNvdXJjZUNvbXBpbGUgSW5jbHVkZT0iLi5cUENccHl0aG9uX250LnJjIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cUENcZGxfbnQuYyIgLz4KICAgPC9JdGVtR3JvdXA+CiAgIDxJdGVtR3JvdXA+Ci0gICAgPFByb2plY3RSZWZlcmVuY2UgSW5jbHVkZT0ia2lsbF9weXRob24udmN4cHJvaiI+Ci0gICAgICA8UHJvamVjdD57NmRlMTA3NDQtZTM5Ni00MGE1LWI0ZTItMWI2OWFhN2M4ZDMxfTwvUHJvamVjdD4KLSAgICAgIDxSZWZlcmVuY2VPdXRwdXRBc3NlbWJseT5mYWxzZTwvUmVmZXJlbmNlT3V0cHV0QXNzZW1ibHk+Ci0gICAgPC9Qcm9qZWN0UmVmZXJlbmNlPgotICAgIDxQcm9qZWN0UmVmZXJlbmNlIEluY2x1ZGU9Im1ha2VfYnVpbGRpbmZvLnZjeHByb2oiPgotICAgICAgPFByb2plY3Q+e2M3M2YwZWMxLTM1OGItNDE3Ny05NDBmLTA4NDZhYzhiMDRjZH08L1Byb2plY3Q+Ci0gICAgICA8UmVmZXJlbmNlT3V0cHV0QXNzZW1ibHk+ZmFsc2U8L1JlZmVyZW5jZU91dHB1dEFzc2VtYmx5PgotICAgIDwvUHJvamVjdFJlZmVyZW5jZT4KLSAgICA8UHJvamVjdFJlZmVyZW5jZSBJbmNsdWRlPSJtYWtlX3ZlcnNpb25pbmZvLnZjeHByb2oiPgotICAgICAgPFByb2plY3Q+e2YwZTA1NDFlLWYxN2QtNDMwYi05N2M0LTkzYWRmMGRkMjg0ZX08L1Byb2plY3Q+Ci0gICAgICA8UmVmZXJlbmNlT3V0cHV0QXNzZW1ibHk+ZmFsc2U8L1JlZmVyZW5jZU91dHB1dEFzc2VtYmx5PgotICAgIDwvUHJvamVjdFJlZmVyZW5jZT4KKyAgICA8UmVzb3VyY2VDb21waWxlIEluY2x1ZGU9Ii4uXFBDXHB5dGhvbl9udC5yYyIgLz4KICAgPC9JdGVtR3JvdXA+CiAgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLnRhcmdldHMiIC8+CiAgIDxJbXBvcnRHcm91cCBMYWJlbD0iRXh0ZW5zaW9uVGFyZ2V0cyI+CiAgIDwvSW1wb3J0R3JvdXA+Ci08L1Byb2plY3Q+CisgIAorICA8VGFyZ2V0IE5hbWU9Il9HZXRCdWlsZEluZm8iIEJlZm9yZVRhcmdldHM9IlByZXBhcmVGb3JCdWlsZCI+CisgICAgPEV4ZWMgQ29tbWFuZD0naGcgaWQgLWIgJmd0OyAiJChJbnREaXIpaGdicmFuY2gudHh0IicgQ29udGludWVPbkVycm9yPSJ0cnVlIiAvPgorICAgIDxFeGVjIENvbW1hbmQ9J2hnIGlkIC1pICZndDsgIiQoSW50RGlyKWhndmVyc2lvbi50eHQiJyBDb250aW51ZU9uRXJyb3I9InRydWUiIC8+CisgICAgPEV4ZWMgQ29tbWFuZD0naGcgaWQgLXQgJmd0OyAiJChJbnREaXIpaGd0YWcudHh0IicgQ29udGludWVPbkVycm9yPSJ0cnVlIiAvPgorICAgIAorICAgIDxQcm9wZXJ0eUdyb3VwPgorICAgICAgPEhnQnJhbmNoIENvbmRpdGlvbj0iRXhpc3RzKCckKEludERpciloZ2JyYW5jaC50eHQnKSI+JChbU3lzdGVtLklPLkZpbGVdOjpSZWFkQWxsVGV4dCgnJChJbnREaXIpaGdicmFuY2gudHh0JykuVHJpbSgpKTwvSGdCcmFuY2g+CisgICAgICA8SGdWZXJzaW9uIENvbmRpdGlvbj0iRXhpc3RzKCckKEludERpciloZ3ZlcnNpb24udHh0JykiPiQoW1N5c3RlbS5JTy5GaWxlXTo6UmVhZEFsbFRleHQoJyQoSW50RGlyKWhndmVyc2lvbi50eHQnKS5UcmltKCkpPC9IZ1ZlcnNpb24+CisgICAgICA8SGdUYWcgQ29uZGl0aW9uPSJFeGlzdHMoJyQoSW50RGlyKWhndGFnLnR4dCcpIj4kKFtTeXN0ZW0uSU8uRmlsZV06OlJlYWRBbGxUZXh0KCckKEludERpciloZ3RhZy50eHQnKS5UcmltKCkpPC9IZ1RhZz4KKyAgICA8L1Byb3BlcnR5R3JvdXA+CisgICAgCisgICAgPEl0ZW1Hcm91cD4KKyAgICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cTW9kdWxlc1xnZXRidWlsZGluZm8uYyI+CisgICAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5IR1ZFUlNJT049IiQoSGdWZXJzaW9uKSI7SEdUQUc9IiQoSGdUYWcpIjtIR0JSQU5DSD0iJChIZ0JyYW5jaCkiOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KKyAgICAgIDwvQ2xDb21waWxlPgorICAgIDwvSXRlbUdyb3VwPgorICA8L1RhcmdldD4KKworICA8VGFyZ2V0IE5hbWU9Il9XYXJuQWJvdXRUb29sc2V0IiBCZWZvcmVUYXJnZXRzPSJQcmVwYXJlRm9yQnVpbGQiIENvbmRpdGlvbj0iJChQbGF0Zm9ybVRvb2xzZXQpICE9ICd2MTQwJyI+CisgICAgPFdhcm5pbmcgVGV4dD0iVG9vbHNldCAkKFBsYXRmb3JtVG9vbHNldCkgaXMgbm90IHVzZWQgZm9yIG9mZmljaWFsIGJ1aWxkcy4gWW91ciBidWlsZCBtYXkgaGF2ZSBlcnJvcnMgb3IgaW5jb21wYXRpYmlsaXRpZXMuIiAvPgorICA8L1RhcmdldD4KKzwvUHJvamVjdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9QQ2J1aWxkL3B5dGhvbmNvcmUudmN4cHJvai5maWx0ZXJzIGIvUENidWlsZC9weXRob25jb3JlLnZjeHByb2ouZmlsdGVycwppbmRleCA4YzY1MjQ3Li4xNzQxNDBhIDEwMDY0NAotLS0gYS9QQ2J1aWxkL3B5dGhvbmNvcmUudmN4cHJvai5maWx0ZXJzCisrKyBiL1BDYnVpbGQvcHl0aG9uY29yZS52Y3hwcm9qLmZpbHRlcnMKQEAgLTIxNiw2ICsyMTYsOSBAQAogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cSW5jbHVkZVxweWdldG9wdC5oIj4KICAgICAgIDxGaWx0ZXI+SW5jbHVkZTwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cSW5jbHVkZVxweWxpZmVjeWNsZS5oIj4KKyAgICAgIDxGaWx0ZXI+SW5jbHVkZTwvRmlsdGVyPgorICAgIDwvQ2xJbmNsdWRlPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cSW5jbHVkZVxweW1hdGguaCI+CiAgICAgICA8RmlsdGVyPkluY2x1ZGU8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KQEAgLTg5MCw2ICs4OTMsOSBAQAogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cUHl0aG9uXHB5ZnBlLmMiPgogICAgICAgPEZpbHRlcj5QeXRob248L0ZpbHRlcj4KICAgICA8L0NsQ29tcGlsZT4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXFB5dGhvblxweWxpZmVjeWNsZS5jIj4KKyAgICAgIDxGaWx0ZXI+UHl0aG9uPC9GaWx0ZXI+CisgICAgPC9DbENvbXBpbGU+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxQeXRob25ccHltYXRoLmMiPgogICAgICAgPEZpbHRlcj5QeXRob248L0ZpbHRlcj4KICAgICA8L0NsQ29tcGlsZT4KZGlmZiAtLWdpdCBhL1BDYnVpbGQvcHl0aG9udy52Y3hwcm9qIGIvUENidWlsZC9weXRob253LnZjeHByb2oKaW5kZXggMTIxNDU2OS4uYjBhMjA5YSAxMDA2NDQKLS0tIGEvUENidWlsZC9weXRob253LnZjeHByb2oKKysrIGIvUENidWlsZC9weXRob253LnZjeHByb2oKQEAgLTM2LDI5NiArMzYsMzAgQEAKICAgPC9JdGVtR3JvdXA+CiAgIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJHbG9iYWxzIj4KICAgICA8UHJvamVjdEd1aWQ+e0Y0MjI5Q0MzLTg3M0MtNDlBRS05NzI5LUREMzA4RUQ0Q0Q0QX08L1Byb2plY3RHdWlkPgorICAgIDxNYWtlVmVyc2lvbkluZm9CZWZvcmVUYXJnZXQ+Q2xDb21waWxlPC9NYWtlVmVyc2lvbkluZm9CZWZvcmVUYXJnZXQ+CisgICAgPFN1cHBvcnRQR08+ZmFsc2U8L1N1cHBvcnRQR08+CiAgIDwvUHJvcGVydHlHcm91cD4KKyAgPEltcG9ydCBQcm9qZWN0PSJweXRob24ucHJvcHMiIC8+CiAgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLkRlZmF1bHQucHJvcHMiIC8+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkFwcGxpY2F0aW9uPC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8VXNlT2ZNZmM+ZmFsc2U8L1VzZU9mTWZjPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5BcHBsaWNhdGlvbjwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPFVzZU9mTWZjPmZhbHNlPC9Vc2VPZk1mYz4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkFwcGxpY2F0aW9uPC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8VXNlT2ZNZmM+ZmFsc2U8L1VzZU9mTWZjPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkFwcGxpY2F0aW9uPC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8VXNlT2ZNZmM+ZmFsc2U8L1VzZU9mTWZjPgotICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkFwcGxpY2F0aW9uPC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8VXNlT2ZNZmM+ZmFsc2U8L1VzZU9mTWZjPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+QXBwbGljYXRpb248L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxVc2VPZk1mYz5mYWxzZTwvVXNlT2ZNZmM+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+QXBwbGljYXRpb248L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxVc2VPZk1mYz5mYWxzZTwvVXNlT2ZNZmM+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+CisgIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJDb25maWd1cmF0aW9uIj4KICAgICA8Q29uZmlndXJhdGlvblR5cGU+QXBwbGljYXRpb248L0NvbmZpZ3VyYXRpb25UeXBlPgogICAgIDxVc2VPZk1mYz5mYWxzZTwvVXNlT2ZNZmM+CiAgIDwvUHJvcGVydHlHcm91cD4KICAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAucHJvcHMiIC8+CiAgIDxJbXBvcnRHcm91cCBMYWJlbD0iRXh0ZW5zaW9uU2V0dGluZ3MiPgogICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+CisgIDxJbXBvcnRHcm91cCBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgogICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KICAgICA8SW1wb3J0IFByb2plY3Q9InB5cHJvamVjdC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InJlbGVhc2UucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJwZ3VwZGF0ZS5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweXByb2plY3QucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJyZWxlYXNlLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icGdpbnN0cnVtZW50LnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweXByb2plY3QucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJyZWxlYXNlLnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlwcm9qZWN0LnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0iZGVidWcucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlwcm9qZWN0LnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0ieDY0LnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icmVsZWFzZS5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InBndXBkYXRlLnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweXByb2plY3QucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJ4NjQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJyZWxlYXNlLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icGdpbnN0cnVtZW50LnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlwcm9qZWN0LnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0ieDY0LnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icmVsZWFzZS5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweXByb2plY3QucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJ4NjQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJkZWJ1Zy5wcm9wcyIgLz4KICAgPC9JbXBvcnRHcm91cD4KICAgPFByb3BlcnR5R3JvdXAgTGFiZWw9IlVzZXJNYWNyb3MiIC8+CiAgIDxQcm9wZXJ0eUdyb3VwPgogICAgIDxfUHJvamVjdEZpbGVWZXJzaW9uPjEwLjAuMzAzMTkuMTwvX1Byb2plY3RGaWxlVmVyc2lvbj4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIC8+CiAgIDwvUHJvcGVydHlHcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8T3B0aW1pemF0aW9uPkRpc2FibGVkPC9PcHRpbWl6YXRpb24+Ci0gICAgICA8SW50cmluc2ljRnVuY3Rpb25zPmZhbHNlPC9JbnRyaW5zaWNGdW5jdGlvbnM+Ci0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4lKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPl9XSU5ET1dTOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICAgIDxSdW50aW1lTGlicmFyeT5NdWx0aVRocmVhZGVkRGVidWdETEw8L1J1bnRpbWVMaWJyYXJ5PgotICAgICAgPENvbXBpbGVBcz5EZWZhdWx0PC9Db21waWxlQXM+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPFJlc291cmNlQ29tcGlsZT4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5fREVCVUc7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgICAgPEN1bHR1cmU+MHgwNDA5PC9DdWx0dXJlPgotICAgIDwvUmVzb3VyY2VDb21waWxlPgorICA8SXRlbURlZmluaXRpb25Hcm91cD4KICAgICA8TGluaz4KLSAgICAgIDxPdXRwdXRGaWxlPiQoT3V0RGlyKXB5dGhvbndfZC5leGU8L091dHB1dEZpbGU+CiAgICAgICA8U3RhY2tSZXNlcnZlU2l6ZT4yMDAwMDAwPC9TdGFja1Jlc2VydmVTaXplPgogICAgICAgPEJhc2VBZGRyZXNzPjB4MWQwMDAwMDA8L0Jhc2VBZGRyZXNzPgotICAgICAgPFRhcmdldE1hY2hpbmU+TWFjaGluZVg4NjwvVGFyZ2V0TWFjaGluZT4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIj4KLSAgICA8TWlkbD4KLSAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5YNjQ8L1RhcmdldEVudmlyb25tZW50PgotICAgIDwvTWlkbD4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPE9wdGltaXphdGlvbj5EaXNhYmxlZDwvT3B0aW1pemF0aW9uPgotICAgICAgPEludHJpbnNpY0Z1bmN0aW9ucz5mYWxzZTwvSW50cmluc2ljRnVuY3Rpb25zPgotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5fV0lORE9XUzslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgICA8UnVudGltZUxpYnJhcnk+TXVsdGlUaHJlYWRlZERlYnVnRExMPC9SdW50aW1lTGlicmFyeT4KLSAgICAgIDxDb21waWxlQXM+RGVmYXVsdDwvQ29tcGlsZUFzPgotICAgIDwvQ2xDb21waWxlPgotICAgIDxSZXNvdXJjZUNvbXBpbGU+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+X0RFQlVHOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICAgIDxDdWx0dXJlPjB4MDQwOTwvQ3VsdHVyZT4KLSAgICA8L1Jlc291cmNlQ29tcGlsZT4KLSAgICA8TGluaz4KLSAgICAgIDxPdXRwdXRGaWxlPiQoT3V0RGlyKXB5dGhvbndfZC5leGU8L091dHB1dEZpbGU+Ci0gICAgICA8U3RhY2tSZXNlcnZlU2l6ZT4yMDAwMDAwPC9TdGFja1Jlc2VydmVTaXplPgotICAgICAgPEJhc2VBZGRyZXNzPjB4MWQwMDAwMDA8L0Jhc2VBZGRyZXNzPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5fV0lORE9XUzslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgICA8U3RyaW5nUG9vbGluZz50cnVlPC9TdHJpbmdQb29saW5nPgotICAgICAgPFJ1bnRpbWVMaWJyYXJ5Pk11bHRpVGhyZWFkZWRETEw8L1J1bnRpbWVMaWJyYXJ5PgotICAgICAgPEZ1bmN0aW9uTGV2ZWxMaW5raW5nPnRydWU8L0Z1bmN0aW9uTGV2ZWxMaW5raW5nPgotICAgICAgPENvbXBpbGVBcz5EZWZhdWx0PC9Db21waWxlQXM+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPFJlc291cmNlQ29tcGlsZT4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5OREVCVUc7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgICAgPEN1bHR1cmU+MHgwNDA5PC9DdWx0dXJlPgotICAgIDwvUmVzb3VyY2VDb21waWxlPgotICAgIDxMaW5rPgotICAgICAgPE91dHB1dEZpbGU+JChPdXREaXIpcHl0aG9udy5leGU8L091dHB1dEZpbGU+Ci0gICAgICA8U3RhY2tSZXNlcnZlU2l6ZT4yMDAwMDAwPC9TdGFja1Jlc2VydmVTaXplPgotICAgICAgPEJhc2VBZGRyZXNzPjB4MWQwMDAwMDA8L0Jhc2VBZGRyZXNzPgotICAgICAgPFRhcmdldE1hY2hpbmU+TWFjaGluZVg4NjwvVGFyZ2V0TWFjaGluZT4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPgotICAgIDxNaWRsPgotICAgICAgPFRhcmdldEVudmlyb25tZW50Plg2NDwvVGFyZ2V0RW52aXJvbm1lbnQ+Ci0gICAgPC9NaWRsPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4lKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPl9XSU5ET1dTOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICAgIDxTdHJpbmdQb29saW5nPnRydWU8L1N0cmluZ1Bvb2xpbmc+Ci0gICAgICA8UnVudGltZUxpYnJhcnk+TXVsdGlUaHJlYWRlZERMTDwvUnVudGltZUxpYnJhcnk+Ci0gICAgICA8RnVuY3Rpb25MZXZlbExpbmtpbmc+dHJ1ZTwvRnVuY3Rpb25MZXZlbExpbmtpbmc+Ci0gICAgICA8Q29tcGlsZUFzPkRlZmF1bHQ8L0NvbXBpbGVBcz4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8UmVzb3VyY2VDb21waWxlPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPk5ERUJVRzslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgICA8Q3VsdHVyZT4weDA0MDk8L0N1bHR1cmU+Ci0gICAgPC9SZXNvdXJjZUNvbXBpbGU+Ci0gICAgPExpbms+Ci0gICAgICA8T3V0cHV0RmlsZT4kKE91dERpcilweXRob253LmV4ZTwvT3V0cHV0RmlsZT4KLSAgICAgIDxTdGFja1Jlc2VydmVTaXplPjIwMDAwMDA8L1N0YWNrUmVzZXJ2ZVNpemU+Ci0gICAgICA8QmFzZUFkZHJlc3M+MHgxZDAwMDAwMDwvQmFzZUFkZHJlc3M+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyI+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPiUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+X1dJTkRPV1M7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgICAgPFN0cmluZ1Bvb2xpbmc+dHJ1ZTwvU3RyaW5nUG9vbGluZz4KLSAgICAgIDxSdW50aW1lTGlicmFyeT5NdWx0aVRocmVhZGVkRExMPC9SdW50aW1lTGlicmFyeT4KLSAgICAgIDxGdW5jdGlvbkxldmVsTGlua2luZz50cnVlPC9GdW5jdGlvbkxldmVsTGlua2luZz4KLSAgICAgIDxDb21waWxlQXM+RGVmYXVsdDwvQ29tcGlsZUFzPgotICAgIDwvQ2xDb21waWxlPgotICAgIDxSZXNvdXJjZUNvbXBpbGU+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+TkRFQlVHOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICAgIDxDdWx0dXJlPjB4MDQwOTwvQ3VsdHVyZT4KLSAgICA8L1Jlc291cmNlQ29tcGlsZT4KLSAgICA8TGluaz4KLSAgICAgIDxPdXRwdXRGaWxlPiQoT3V0RGlyKXB5dGhvbncuZXhlPC9PdXRwdXRGaWxlPgotICAgICAgPFN0YWNrUmVzZXJ2ZVNpemU+MjAwMDAwMDwvU3RhY2tSZXNlcnZlU2l6ZT4KLSAgICAgIDxCYXNlQWRkcmVzcz4weDFkMDAwMDAwPC9CYXNlQWRkcmVzcz4KLSAgICAgIDxJbXBvcnRMaWJyYXJ5PgotICAgICAgPC9JbXBvcnRMaWJyYXJ5PgotICAgICAgPFRhcmdldE1hY2hpbmU+TWFjaGluZVg4NjwvVGFyZ2V0TWFjaGluZT4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyI+Ci0gICAgPE1pZGw+Ci0gICAgICA8VGFyZ2V0RW52aXJvbm1lbnQ+WDY0PC9UYXJnZXRFbnZpcm9ubWVudD4KLSAgICA8L01pZGw+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPiUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+X1dJTkRPV1M7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgICAgPFN0cmluZ1Bvb2xpbmc+dHJ1ZTwvU3RyaW5nUG9vbGluZz4KLSAgICAgIDxSdW50aW1lTGlicmFyeT5NdWx0aVRocmVhZGVkRExMPC9SdW50aW1lTGlicmFyeT4KLSAgICAgIDxGdW5jdGlvbkxldmVsTGlua2luZz50cnVlPC9GdW5jdGlvbkxldmVsTGlua2luZz4KLSAgICAgIDxDb21waWxlQXM+RGVmYXVsdDwvQ29tcGlsZUFzPgotICAgIDwvQ2xDb21waWxlPgotICAgIDxSZXNvdXJjZUNvbXBpbGU+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+TkRFQlVHOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICAgIDxDdWx0dXJlPjB4MDQwOTwvQ3VsdHVyZT4KLSAgICA8L1Jlc291cmNlQ29tcGlsZT4KLSAgICA8TGluaz4KLSAgICAgIDxPdXRwdXRGaWxlPiQoT3V0RGlyKXB5dGhvbncuZXhlPC9PdXRwdXRGaWxlPgotICAgICAgPFN0YWNrUmVzZXJ2ZVNpemU+MjAwMDAwMDwvU3RhY2tSZXNlcnZlU2l6ZT4KLSAgICAgIDxCYXNlQWRkcmVzcz4weDFkMDAwMDAwPC9CYXNlQWRkcmVzcz4KLSAgICAgIDxJbXBvcnRMaWJyYXJ5PgotICAgICAgPC9JbXBvcnRMaWJyYXJ5PgotICAgICAgPFRhcmdldE1hY2hpbmU+TWFjaGluZVg2NDwvVGFyZ2V0TWFjaGluZT4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4lKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPl9XSU5ET1dTOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICAgIDxTdHJpbmdQb29saW5nPnRydWU8L1N0cmluZ1Bvb2xpbmc+Ci0gICAgICA8UnVudGltZUxpYnJhcnk+TXVsdGlUaHJlYWRlZERMTDwvUnVudGltZUxpYnJhcnk+Ci0gICAgICA8RnVuY3Rpb25MZXZlbExpbmtpbmc+dHJ1ZTwvRnVuY3Rpb25MZXZlbExpbmtpbmc+Ci0gICAgICA8Q29tcGlsZUFzPkRlZmF1bHQ8L0NvbXBpbGVBcz4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8UmVzb3VyY2VDb21waWxlPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPk5ERUJVRzslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgICA8Q3VsdHVyZT4weDA0MDk8L0N1bHR1cmU+Ci0gICAgPC9SZXNvdXJjZUNvbXBpbGU+Ci0gICAgPExpbms+Ci0gICAgICA8T3V0cHV0RmlsZT4kKE91dERpcilweXRob253LmV4ZTwvT3V0cHV0RmlsZT4KLSAgICAgIDxTdGFja1Jlc2VydmVTaXplPjIwMDAwMDA8L1N0YWNrUmVzZXJ2ZVNpemU+Ci0gICAgICA8QmFzZUFkZHJlc3M+MHgxZDAwMDAwMDwvQmFzZUFkZHJlc3M+Ci0gICAgICA8SW1wb3J0TGlicmFyeT4KLSAgICAgIDwvSW1wb3J0TGlicmFyeT4KLSAgICAgIDxUYXJnZXRNYWNoaW5lPk1hY2hpbmVYODY8L1RhcmdldE1hY2hpbmU+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyI+Ci0gICAgPE1pZGw+Ci0gICAgICA8VGFyZ2V0RW52aXJvbm1lbnQ+WDY0PC9UYXJnZXRFbnZpcm9ubWVudD4KLSAgICA8L01pZGw+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPiUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+X1dJTkRPV1M7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgICAgPFN0cmluZ1Bvb2xpbmc+dHJ1ZTwvU3RyaW5nUG9vbGluZz4KLSAgICAgIDxSdW50aW1lTGlicmFyeT5NdWx0aVRocmVhZGVkRExMPC9SdW50aW1lTGlicmFyeT4KLSAgICAgIDxGdW5jdGlvbkxldmVsTGlua2luZz50cnVlPC9GdW5jdGlvbkxldmVsTGlua2luZz4KLSAgICAgIDxDb21waWxlQXM+RGVmYXVsdDwvQ29tcGlsZUFzPgotICAgIDwvQ2xDb21waWxlPgotICAgIDxSZXNvdXJjZUNvbXBpbGU+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+TkRFQlVHOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICAgIDxDdWx0dXJlPjB4MDQwOTwvQ3VsdHVyZT4KLSAgICA8L1Jlc291cmNlQ29tcGlsZT4KLSAgICA8TGluaz4KLSAgICAgIDxPdXRwdXRGaWxlPiQoT3V0RGlyKXB5dGhvbncuZXhlPC9PdXRwdXRGaWxlPgotICAgICAgPFN0YWNrUmVzZXJ2ZVNpemU+MjAwMDAwMDwvU3RhY2tSZXNlcnZlU2l6ZT4KLSAgICAgIDxCYXNlQWRkcmVzcz4weDFkMDAwMDAwPC9CYXNlQWRkcmVzcz4KLSAgICAgIDxJbXBvcnRMaWJyYXJ5PgotICAgICAgPC9JbXBvcnRMaWJyYXJ5PgotICAgICAgPFRhcmdldE1hY2hpbmU+TWFjaGluZVg2NDwvVGFyZ2V0TWFjaGluZT4KICAgICA8L0xpbms+CiAgIDwvSXRlbURlZmluaXRpb25Hcm91cD4KICAgPEl0ZW1Hcm91cD4KZGlmZiAtLWdpdCBhL1BDYnVpbGQvcHl3bGF1bmNoZXIudmN4cHJvaiBiL1BDYnVpbGQvcHl3bGF1bmNoZXIudmN4cHJvagppbmRleCA5NmVhNDIxLi44ODJmMWM0IDEwMDY0NAotLS0gYS9QQ2J1aWxkL3B5d2xhdW5jaGVyLnZjeHByb2oKKysrIGIvUENidWlsZC9weXdsYXVuY2hlci52Y3hwcm9qCkBAIC0zNywyMDAgKzM3LDM3IEBACiAgIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJHbG9iYWxzIj4KICAgICA8UHJvamVjdEd1aWQ+ezFENEIxOEQzLTdDMTItNEVDQi05MTc5LTg1MzFGRjg3NkNFNn08L1Byb2plY3RHdWlkPgogICAgIDxSb290TmFtZXNwYWNlPnB5d2xhdW5jaGVyPC9Sb290TmFtZXNwYWNlPgorICAgIDxUYXJnZXROYW1lPnB5dzwvVGFyZ2V0TmFtZT4KKyAgICA8TWFrZVZlcnNpb25JbmZvQmVmb3JlVGFyZ2V0PkNsQ29tcGlsZTwvTWFrZVZlcnNpb25JbmZvQmVmb3JlVGFyZ2V0PgorICAgIDxTdXBwb3J0UEdPPmZhbHNlPC9TdXBwb3J0UEdPPgogICA8L1Byb3BlcnR5R3JvdXA+CisgIDxJbXBvcnQgUHJvamVjdD0icHl0aG9uLnByb3BzIiAvPgogICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC5EZWZhdWx0LnByb3BzIiAvPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgorICA8UHJvcGVydHlHcm91cCBMYWJlbD0iQ29uZmlndXJhdGlvbiI+CiAgICAgPENvbmZpZ3VyYXRpb25UeXBlPkFwcGxpY2F0aW9uPC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8VXNlRGVidWdMaWJyYXJpZXM+dHJ1ZTwvVXNlRGVidWdMaWJyYXJpZXM+Ci0gICAgPENoYXJhY3RlclNldD5Vbmljb2RlPC9DaGFyYWN0ZXJTZXQ+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkFwcGxpY2F0aW9uPC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8VXNlRGVidWdMaWJyYXJpZXM+dHJ1ZTwvVXNlRGVidWdMaWJyYXJpZXM+Ci0gICAgPENoYXJhY3RlclNldD5Vbmljb2RlPC9DaGFyYWN0ZXJTZXQ+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5BcHBsaWNhdGlvbjwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPFVzZURlYnVnTGlicmFyaWVzPmZhbHNlPC9Vc2VEZWJ1Z0xpYnJhcmllcz4KLSAgICA8V2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPnRydWU8L1dob2xlUHJvZ3JhbU9wdGltaXphdGlvbj4KLSAgICA8Q2hhcmFjdGVyU2V0PlVuaWNvZGU8L0NoYXJhY3RlclNldD4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5BcHBsaWNhdGlvbjwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPFVzZURlYnVnTGlicmFyaWVzPmZhbHNlPC9Vc2VEZWJ1Z0xpYnJhcmllcz4KLSAgICA8V2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPnRydWU8L1dob2xlUHJvZ3JhbU9wdGltaXphdGlvbj4KLSAgICA8Q2hhcmFjdGVyU2V0PlVuaWNvZGU8L0NoYXJhY3RlclNldD4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBMYWJlbD0iQ29uZmlndXJhdGlvbiIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIj4KLSAgICA8Q2hhcmFjdGVyU2V0PlVuaWNvZGU8L0NoYXJhY3RlclNldD4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBMYWJlbD0iQ29uZmlndXJhdGlvbiIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciPgogICAgIDxDaGFyYWN0ZXJTZXQ+VW5pY29kZTwvQ2hhcmFjdGVyU2V0PgogICA8L1Byb3BlcnR5R3JvdXA+CiAgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLnByb3BzIiAvPgogICA8SW1wb3J0R3JvdXAgTGFiZWw9IkV4dGVuc2lvblNldHRpbmdzIj4KICAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPgorICA8UHJvcGVydHlHcm91cD4KKyAgICA8TWFrZVZlcnNpb25JbmZvQmVmb3JlVGFyZ2V0PkNsQ29tcGlsZTwvTWFrZVZlcnNpb25JbmZvQmVmb3JlVGFyZ2V0PgorICA8L1Byb3BlcnR5R3JvdXA+CisgIDxJbXBvcnRHcm91cCBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgogICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KICAgICA8SW1wb3J0IFByb2plY3Q9InB5cHJvamVjdC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9ImRlYnVnLnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5cHJvamVjdC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9ImRlYnVnLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0ieDY0LnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgTGFiZWw9IlByb3BlcnR5U2hlZXRzIiBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweXByb2plY3QucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJyZWxlYXNlLnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlwcm9qZWN0LnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icmVsZWFzZS5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9Ing2NC5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweXByb2plY3QucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJyZWxlYXNlLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icGdpbnN0cnVtZW50LnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgTGFiZWw9IlByb3BlcnR5U2hlZXRzIiBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweXByb2plY3QucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJyZWxlYXNlLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0ieDY0LnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icGdpbnN0cnVtZW50LnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgTGFiZWw9IlByb3BlcnR5U2hlZXRzIiBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlwcm9qZWN0LnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icmVsZWFzZS5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InBndXBkYXRlLnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgTGFiZWw9IlByb3BlcnR5U2hlZXRzIiBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5cHJvamVjdC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InJlbGVhc2UucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJ4NjQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJwZ3VwZGF0ZS5wcm9wcyIgLz4KICAgPC9JbXBvcnRHcm91cD4KICAgPFByb3BlcnR5R3JvdXAgTGFiZWw9IlVzZXJNYWNyb3MiIC8+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIj4KLSAgICA8VGFyZ2V0TmFtZT5weXdfZDwvVGFyZ2V0TmFtZT4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPgotICAgIDxUYXJnZXROYW1lPnB5d19kPC9UYXJnZXROYW1lPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPgotICAgIDxUYXJnZXROYW1lPnB5dzwvVGFyZ2V0TmFtZT4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+Ci0gICAgPFRhcmdldE5hbWU+cHl3PC9UYXJnZXROYW1lPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyI+Ci0gICAgPFRhcmdldE5hbWU+cHl3PC9UYXJnZXROYW1lPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIj4KLSAgICA8VGFyZ2V0TmFtZT5weXc8L1RhcmdldE5hbWU+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPgorICA8SXRlbURlZmluaXRpb25Hcm91cD4KICAgICA8Q2xDb21waWxlPgotICAgICAgPFdhcm5pbmdMZXZlbD5MZXZlbDM8L1dhcm5pbmdMZXZlbD4KLSAgICAgIDxPcHRpbWl6YXRpb24+RGlzYWJsZWQ8L09wdGltaXphdGlvbj4KICAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5fV0lORE9XUzslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+CisgICAgICA8UnVudGltZUxpYnJhcnk+TXVsdGlUaHJlYWRlZDwvUnVudGltZUxpYnJhcnk+CiAgICAgPC9DbENvbXBpbGU+CiAgICAgPExpbms+Ci0gICAgICA8R2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPnRydWU8L0dlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj4KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPnZlcnNpb24ubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Ci0gICAgICA8SWdub3JlQWxsRGVmYXVsdExpYnJhcmllcz5mYWxzZTwvSWdub3JlQWxsRGVmYXVsdExpYnJhcmllcz4KLSAgICAgIDxTdWJTeXN0ZW0+V2luZG93czwvU3ViU3lzdGVtPgotICAgICAgPE91dHB1dEZpbGU+JChPdXREaXIpJChUYXJnZXROYW1lKSQoVGFyZ2V0RXh0KTwvT3V0cHV0RmlsZT4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIj4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPFdhcm5pbmdMZXZlbD5MZXZlbDM8L1dhcm5pbmdMZXZlbD4KLSAgICAgIDxPcHRpbWl6YXRpb24+RGlzYWJsZWQ8L09wdGltaXphdGlvbj4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5fV0lORE9XUzslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPExpbms+Ci0gICAgICA8R2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPnRydWU8L0dlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj4KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPnZlcnNpb24ubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Ci0gICAgICA8SWdub3JlQWxsRGVmYXVsdExpYnJhcmllcz5mYWxzZTwvSWdub3JlQWxsRGVmYXVsdExpYnJhcmllcz4KLSAgICAgIDxTdWJTeXN0ZW0+V2luZG93czwvU3ViU3lzdGVtPgotICAgICAgPE91dHB1dEZpbGU+JChPdXREaXIpJChUYXJnZXROYW1lKSQoVGFyZ2V0RXh0KTwvT3V0cHV0RmlsZT4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxXYXJuaW5nTGV2ZWw+TGV2ZWwzPC9XYXJuaW5nTGV2ZWw+Ci0gICAgICA8T3B0aW1pemF0aW9uPk1heFNwZWVkPC9PcHRpbWl6YXRpb24+Ci0gICAgICA8RnVuY3Rpb25MZXZlbExpbmtpbmc+dHJ1ZTwvRnVuY3Rpb25MZXZlbExpbmtpbmc+Ci0gICAgICA8SW50cmluc2ljRnVuY3Rpb25zPnRydWU8L0ludHJpbnNpY0Z1bmN0aW9ucz4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5fV0lORE9XUztOREVCVUc7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgIDwvQ2xDb21waWxlPgotICAgIDxMaW5rPgotICAgICAgPEdlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj50cnVlPC9HZW5lcmF0ZURlYnVnSW5mb3JtYXRpb24+Ci0gICAgICA8RW5hYmxlQ09NREFURm9sZGluZz5mYWxzZTwvRW5hYmxlQ09NREFURm9sZGluZz4KLSAgICAgIDxPcHRpbWl6ZVJlZmVyZW5jZXM+dHJ1ZTwvT3B0aW1pemVSZWZlcmVuY2VzPgotICAgICAgPElnbm9yZUFsbERlZmF1bHRMaWJyYXJpZXM+ZmFsc2U8L0lnbm9yZUFsbERlZmF1bHRMaWJyYXJpZXM+CiAgICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz52ZXJzaW9uLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgogICAgICAgPFN1YlN5c3RlbT5XaW5kb3dzPC9TdWJTeXN0ZW0+CiAgICAgPC9MaW5rPgogICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPFdhcm5pbmdMZXZlbD5MZXZlbDM8L1dhcm5pbmdMZXZlbD4KLSAgICAgIDxPcHRpbWl6YXRpb24+TWF4U3BlZWQ8L09wdGltaXphdGlvbj4KLSAgICAgIDxGdW5jdGlvbkxldmVsTGlua2luZz50cnVlPC9GdW5jdGlvbkxldmVsTGlua2luZz4KLSAgICAgIDxJbnRyaW5zaWNGdW5jdGlvbnM+dHJ1ZTwvSW50cmluc2ljRnVuY3Rpb25zPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPl9XSU5ET1dTO05ERUJVRzslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPExpbms+Ci0gICAgICA8R2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPnRydWU8L0dlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj4KLSAgICAgIDxFbmFibGVDT01EQVRGb2xkaW5nPmZhbHNlPC9FbmFibGVDT01EQVRGb2xkaW5nPgotICAgICAgPE9wdGltaXplUmVmZXJlbmNlcz50cnVlPC9PcHRpbWl6ZVJlZmVyZW5jZXM+Ci0gICAgICA8SWdub3JlQWxsRGVmYXVsdExpYnJhcmllcz5mYWxzZTwvSWdub3JlQWxsRGVmYXVsdExpYnJhcmllcz4KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPnZlcnNpb24ubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Ci0gICAgICA8U3ViU3lzdGVtPldpbmRvd3M8L1N1YlN5c3RlbT4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIj4KLSAgICA8TGluaz4KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPnZlcnNpb24ubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Ci0gICAgPC9MaW5rPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+X1dJTkRPV1M7TkRFQlVHOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICA8L0NsQ29tcGlsZT4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyI+Ci0gICAgPExpbms+Ci0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz52ZXJzaW9uLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgotICAgIDwvTGluaz4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPl9XSU5ET1dTO05ERUJVRzslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgPC9DbENvbXBpbGU+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyI+Ci0gICAgPExpbms+Ci0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz52ZXJzaW9uLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgotICAgIDwvTGluaz4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPl9XSU5ET1dTO05ERUJVRztfV0lONjQ7X01fWDY0OyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICA8L0NsQ29tcGlsZT4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciPgotICAgIDxMaW5rPgotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+dmVyc2lvbi5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KLSAgICA8L0xpbms+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5fV0lORE9XUztOREVCVUc7X1dJTjY0O19NX1g2NDslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgPC9DbENvbXBpbGU+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KICAgPEl0ZW1Hcm91cD4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXFBDXGxhdW5jaGVyLmMiIC8+CiAgIDwvSXRlbUdyb3VwPgpAQCAtMjQwLDExICs3Nyw2IEBACiAgIDxJdGVtR3JvdXA+CiAgICAgPFJlc291cmNlQ29tcGlsZSBJbmNsdWRlPSIuLlxQQ1xweWxhdW5jaGVyLnJjIiAvPgogICA8L0l0ZW1Hcm91cD4KLSAgPEl0ZW1Hcm91cD4KLSAgICA8UHJvamVjdFJlZmVyZW5jZSBJbmNsdWRlPSJtYWtlX3ZlcnNpb25pbmZvLnZjeHByb2oiPgotICAgICAgPFByb2plY3Q+e2YwZTA1NDFlLWYxN2QtNDMwYi05N2M0LTkzYWRmMGRkMjg0ZX08L1Byb2plY3Q+Ci0gICAgPC9Qcm9qZWN0UmVmZXJlbmNlPgotICA8L0l0ZW1Hcm91cD4KICAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAudGFyZ2V0cyIgLz4KICAgPEltcG9ydEdyb3VwIExhYmVsPSJFeHRlbnNpb25UYXJnZXRzIj4KICAgPC9JbXBvcnRHcm91cD4KZGlmZiAtLWdpdCBhL1BDYnVpbGQvcmVhZG1lLnR4dCBiL1BDYnVpbGQvcmVhZG1lLnR4dAppbmRleCAwMThiZGYwLi43N2JmZWViIDEwMDY0NAotLS0gYS9QQ2J1aWxkL3JlYWRtZS50eHQKKysrIGIvUENidWlsZC9yZWFkbWUudHh0CkBAIC0xLDQ5ICsxLDU1IEBACitRdWljayBTdGFydCBHdWlkZQorLS0tLS0tLS0tLS0tLS0tLS0KKworMS4gIEluc3RhbGwgTWljcm9zb2Z0IFZpc3VhbCBTdHVkaW8gMjAxNSwgYW55IGVkaXRpb24uCisyLiAgSW5zdGFsbCBTdWJ2ZXJzaW9uLCBhbmQgbWFrZSBzdXJlICdzdm4uZXhlJyBpcyBvbiB5b3VyIFBBVEguCiszLiAgUnVuICJidWlsZC5iYXQgLWUiIHRvIGJ1aWxkIFB5dGhvbiBpbiAzMi1iaXQgUmVsZWFzZSBjb25maWd1cmF0aW9uLgorNC4gIChPcHRpb25hbCwgYnV0IHJlY29tbWVuZGVkKSBSdW4gdGhlIHRlc3Qgc3VpdGUgd2l0aCAicnQuYmF0IC1xIi4KKworCiBCdWlsZGluZyBQeXRob24gdXNpbmcgTWljcm9zb2Z0IFZpc3VhbCBDKysKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCiBUaGlzIGRpcmVjdG9yeSBpcyB1c2VkIHRvIGJ1aWxkIENQeXRob24gZm9yIE1pY3Jvc29mdCBXaW5kb3dzIE5UIHZlcnNpb24KLTUuMSBvciBoaWdoZXIgKFdpbmRvd3MgWFAsIFdpbmRvd3MgU2VydmVyIDIwMDMsIG9yIGxhdGVyKSBvbiAzMiBhbmQgNjQKKzYuMCBvciBoaWdoZXIgKFdpbmRvd3MgVmlzdGEsIFdpbmRvd3MgU2VydmVyIDIwMDgsIG9yIGxhdGVyKSBvbiAzMiBhbmQgNjQKIGJpdCBwbGF0Zm9ybXMuICBVc2luZyB0aGlzIGRpcmVjdG9yeSByZXF1aXJlcyBhbiBpbnN0YWxsYXRpb24gb2YKLU1pY3Jvc29mdCBWaXN1YWwgQysrIDIwMTAgKE1TVkMgMTAuMCkgb2YgYW55IGVkaXRpb24uICBUaGUgc3BlY2lmaWMKK01pY3Jvc29mdCBWaXN1YWwgQysrIDIwMTUgKE1TVkMgMTQuMCkgb2YgYW55IGVkaXRpb24uICBUaGUgc3BlY2lmaWMKIHJlcXVpcmVtZW50cyBhcmUgYXMgZm9sbG93czoKIAotVmlzdWFsIEMrKyAyMDEwIEV4cHJlc3MgRWRpdGlvbgotICAgIFJlcXVpcmVkIGZvciBidWlsZGluZyAzMi1iaXQgRGVidWcgYW5kIFJlbGVhc2UgY29uZmlndXJhdGlvbiBidWlsZHMuCitWaXN1YWwgU3R1ZGlvIEV4cHJlc3MgMjAxNSBmb3IgRGVza3RvcAorVmlzdWFsIFN0dWRpbyBQcm9mZXNzaW9uYWwgMjAxNQorICAgIEVpdGhlciBlZGl0aW9uIGlzIHN1ZmZpY2llbnQgZm9yIGJ1aWxkaW5nIGFsbCBjb25maWd1cmF0aW9ucyBleGNlcHQKKyAgICBmb3IgUHJvZmlsZSBHdWlkZWQgT3B0aW1pemF0aW9uLgogICAgIFRoZSBQeXRob24gYnVpbGQgc29sdXRpb24gcGNidWlsZC5zbG4gbWFrZXMgdXNlIG9mIFNvbHV0aW9uIEZvbGRlcnMsCiAgICAgd2hpY2ggdGhpcyBlZGl0aW9uIGRvZXMgbm90IHN1cHBvcnQuICBBbnkgdGltZSBwY2J1aWxkLnNsbiBpcyBvcGVuZWQKLSAgICBvciByZWxvYWRlZCBieSBWaXN1YWwgQysrLCBhIHdhcm5pbmcgYWJvdXQgU29sdXRpb24gRm9sZGVycyB3aWxsIGJlCi0gICAgZGlzcGxheWVkIHdoaWNoIGNhbiBiZSBzYWZlbHkgZGlzbWlzc2VkIHdpdGggbm8gaW1wYWN0IG9uIHlvdXIKKyAgICBvciByZWxvYWRlZCBieSBWaXN1YWwgU3R1ZGlvLCBhIHdhcm5pbmcgYWJvdXQgU29sdXRpb24gRm9sZGVycyB3aWxsCisgICAgYmUgZGlzcGxheWVkLCB3aGljaCBjYW4gYmUgc2FmZWx5IGRpc21pc3NlZCB3aXRoIG5vIGltcGFjdCBvbiB5b3VyCiAgICAgYWJpbGl0eSB0byBidWlsZCBQeXRob24uCi1WaXN1YWwgU3R1ZGlvIDIwMTAgUHJvZmVzc2lvbmFsIEVkaXRpb24KICAgICBSZXF1aXJlZCBmb3IgYnVpbGRpbmcgNjQtYml0IERlYnVnIGFuZCBSZWxlYXNlIGNvbmZpZ3VyYXRpb24gYnVpbGRzCi1WaXN1YWwgU3R1ZGlvIDIwMTAgUHJlbWl1bSBFZGl0aW9uCitWaXN1YWwgU3R1ZGlvIFByZW1pdW0gMjAxNQogICAgIFJlcXVpcmVkIGZvciBidWlsZGluZyBSZWxlYXNlIGNvbmZpZ3VyYXRpb24gYnVpbGRzIHRoYXQgbWFrZSB1c2Ugb2YKICAgICBQcm9maWxlIEd1aWRlZCBPcHRpbWl6YXRpb24gKFBHTyksIG9uIGVpdGhlciBwbGF0Zm9ybS4KIAotSW5zdGFsbGluZyBTZXJ2aWNlIFBhY2sgMSBmb3IgVmlzdWFsIFN0dWRpbyAyMDEwIGlzIGhpZ2hseSByZWNvbW1lbmRlZAotdG8gYXZvaWQgTE5LMTEyMyBlcnJvcnMuCi0KIEFsbCB5b3UgbmVlZCB0byBkbyB0byBidWlsZCBpcyBvcGVuIHRoZSBzb2x1dGlvbiAicGNidWlsZC5zbG4iIGluIFZpc3VhbAogU3R1ZGlvLCBzZWxlY3QgdGhlIGRlc2lyZWQgY29tYmluYXRpb24gb2YgY29uZmlndXJhdGlvbiBhbmQgcGxhdGZvcm0sCi10aGVuIGJ1aWxkIHdpdGggIkJ1aWxkIFNvbHV0aW9uIiBvciB0aGUgRjcga2V5Ym9hcmQgc2hvcnRjdXQuICBZb3UgY2FuCi1hbHNvIGJ1aWxkIGZyb20gdGhlIGNvbW1hbmQgbGluZSB1c2luZyB0aGUgImJ1aWxkLmJhdCIgc2NyaXB0IGluIHRoaXMKLWRpcmVjdG9yeS4gIFRoZSBzb2x1dGlvbiBpcyBjb25maWd1cmVkIHRvIGJ1aWxkIHRoZSBwcm9qZWN0cyBpbiB0aGUKLWNvcnJlY3Qgb3JkZXIuCit0aGVuIGJ1aWxkIHdpdGggIkJ1aWxkIFNvbHV0aW9uIi4gIFlvdSBjYW4gYWxzbyBidWlsZCBmcm9tIHRoZSBjb21tYW5kCitsaW5lIHVzaW5nIHRoZSAiYnVpbGQuYmF0IiBzY3JpcHQgaW4gdGhpcyBkaXJlY3Rvcnk7IHNlZSBiZWxvdyBmb3IKK2RldGFpbHMuICBUaGUgc29sdXRpb24gaXMgY29uZmlndXJlZCB0byBidWlsZCB0aGUgcHJvamVjdHMgaW4gdGhlIGNvcnJlY3QKK29yZGVyLgogCiBUaGUgc29sdXRpb24gY3VycmVudGx5IHN1cHBvcnRzIHR3byBwbGF0Zm9ybXMuICBUaGUgV2luMzIgcGxhdGZvcm0gaXMKLXVzZWQgdG8gYnVpbGQgc3RhbmRhcmQgeDg2LWNvbXBhdGlibGUgMzItYml0IGJpbmFyaWVzLCBvdXRwdXQgaW50byB0aGlzCi1kaXJlY3RvcnkuICBUaGUgeDY0IHBsYXRmb3JtIGlzIHVzZWQgZm9yIGJ1aWxkaW5nIDY0LWJpdCBBTUQ2NCAoYWthCi14ODZfNjQgb3IgRU02NFQpIGJpbmFyaWVzLCBvdXRwdXQgaW50byB0aGUgYW1kNjQgc3ViLWRpcmVjdG9yeSB3aGljaAotd2lsbCBiZSBjcmVhdGVkIGlmIGl0IGRvZXNuJ3QgYWxyZWFkeSBleGlzdC4gIFRoZSBJdGFuaXVtIChJQS02NCkKLXBsYXRmb3JtIGlzIG5vIGxvbmdlciBzdXBwb3J0ZWQuICBTZWUgdGhlICJCdWlsZGluZyBmb3IgQU1ENjQiIHNlY3Rpb24KLWJlbG93IGZvciBtb3JlIGluZm9ybWF0aW9uIGFib3V0IDY0LWJpdCBidWlsZHMuCit1c2VkIHRvIGJ1aWxkIHN0YW5kYXJkIHg4Ni1jb21wYXRpYmxlIDMyLWJpdCBiaW5hcmllcywgb3V0cHV0IGludG8gdGhlCit3aW4zMiBzdWItZGlyZWN0b3J5LiAgVGhlIHg2NCBwbGF0Zm9ybSBpcyB1c2VkIGZvciBidWlsZGluZyA2NC1iaXQgQU1ENjQKKyhha2EgeDg2XzY0IG9yIEVNNjRUKSBiaW5hcmllcywgb3V0cHV0IGludG8gdGhlIGFtZDY0IHN1Yi1kaXJlY3RvcnkuCitUaGUgSXRhbml1bSAoSUEtNjQpIHBsYXRmb3JtIGlzIG5vIGxvbmdlciBzdXBwb3J0ZWQuICBTZWUgdGhlICJCdWlsZGluZworZm9yIEFNRDY0IiBzZWN0aW9uIGJlbG93IGZvciBtb3JlIGluZm9ybWF0aW9uIGFib3V0IDY0LWJpdCBidWlsZHMuCiAKIEZvdXIgY29uZmlndXJhdGlvbiBvcHRpb25zIGFyZSBzdXBwb3J0ZWQgYnkgdGhlIHNvbHV0aW9uOgogRGVidWcKICAgICBVc2VkIHRvIGJ1aWxkIFB5dGhvbiB3aXRoIGV4dHJhIGRlYnVnZ2luZyBjYXBhYmlsaXRpZXMsIGVxdWl2YWxlbnQKICAgICB0byB1c2luZyAuL2NvbmZpZ3VyZSAtLXdpdGgtcHlkZWJ1ZyBvbiBVTklYLiAgQWxsIGJpbmFyaWVzIGJ1aWx0CiAgICAgdXNpbmcgdGhpcyBjb25maWd1cmF0aW9uIGhhdmUgIl9kIiBhZGRlZCB0byB0aGVpciBuYW1lOgotICAgIHB5dGhvbjM0X2QuZGxsLCBweXRob25fZC5leGUsIHBhcnNlcl9kLnB5ZCwgYW5kIHNvIG9uLiAgQm90aCB0aGUKKyAgICBweXRob24zNV9kLmRsbCwgcHl0aG9uX2QuZXhlLCBwYXJzZXJfZC5weWQsIGFuZCBzbyBvbi4gIEJvdGggdGhlCiAgICAgYnVpbGQgYW5kIHJ0IChydW4gdGVzdCkgYmF0Y2ggZmlsZXMgaW4gdGhpcyBkaXJlY3RvcnkgYWNjZXB0IGEgLWQKICAgICBvcHRpb24gZm9yIGRlYnVnIGJ1aWxkcy4gIElmIHlvdSBhcmUgYnVpbGRpbmcgUHl0aG9uIHRvIGhlbHAgd2l0aAogICAgIGRldmVsb3BtZW50IG9mIENQeXRob24sIHlvdSB3aWxsIG1vc3QgbGlrZWx5IHVzZSB0aGlzIGNvbmZpZ3VyYXRpb24uCkBAIC01MiwyOCArNTgsNTMgQEAKICAgICByZXF1aXJlcyBQcmVtaXVtIEVkaXRpb24gb2YgVmlzdWFsIFN0dWRpby4gIFNlZSB0aGUgIlByb2ZpbGUKICAgICBHdWlkZWQgT3B0aW1pemF0aW9uIiBzZWN0aW9uIGJlbG93IGZvciBtb3JlIGluZm9ybWF0aW9uLiAgQnVpbGQKICAgICBvdXRwdXQgZnJvbSBlYWNoIG9mIHRoZXNlIGNvbmZpZ3VyYXRpb25zIGxhbmRzIGluIGl0cyBvd24KLSAgICBzdWItZGlyZWN0b3J5IG9mIHRoaXMgZGlyZWN0b3J5LiAgVGhlIG9mZmljaWFsIFB5dGhvbiByZWxlYXNlcyBhcmUKLSAgICBidWlsdCB1c2luZyB0aGVzZSBjb25maWd1cmF0aW9ucy4KKyAgICBzdWItZGlyZWN0b3J5IG9mIHRoaXMgZGlyZWN0b3J5LiAgVGhlIG9mZmljaWFsIFB5dGhvbiByZWxlYXNlcyBtYXkKKyAgICBiZSBidWlsdCB1c2luZyB0aGVzZSBjb25maWd1cmF0aW9ucy4KIFJlbGVhc2UKICAgICBVc2VkIHRvIGJ1aWxkIFB5dGhvbiBhcyBpdCBpcyBtZWFudCB0byBiZSB1c2VkIGluIHByb2R1Y3Rpb24KICAgICBzZXR0aW5ncywgdGhvdWdoIHdpdGhvdXQgUEdPLgogCiAKLUxlZ2FjeSBzdXBwb3J0Ci0tLS0tLS0tLS0tLS0tLQorQnVpbGRpbmcgUHl0aG9uIHVzaW5nIHRoZSBidWlsZC5iYXQgc2NyaXB0CistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKLVlvdSBjYW4gZmluZCBidWlsZCBkaXJlY3RvcmllcyBmb3Igb2xkZXIgdmVyc2lvbnMgb2YgVmlzdWFsIFN0dWRpbyBhbmQKLVZpc3VhbCBDKysgaW4gdGhlIFBDIGRpcmVjdG9yeS4gVGhlIGxlZ2FjeSBidWlsZCBkaXJlY3RvcmllcyBhcmUgbm8KLWxvbmdlciBhY3RpdmVseSBtYWludGFpbmVkIGFuZCBtYXkgbm90IHdvcmsgb3V0IG9mIHRoZSBib3guCitJbiB0aGlzIGRpcmVjdG9yeSB5b3UgY2FuIGZpbmQgYnVpbGQuYmF0LCBhIHNjcmlwdCBkZXNpZ25lZCB0byBtYWtlCitidWlsZGluZyBQeXRob24gb24gV2luZG93cyBzaW1wbGVyLiAgVGhpcyBzY3JpcHQgd2lsbCB1c2UgdGhlIGVudi5iYXQKK3NjcmlwdCB0byBkZXRlY3Qgb25lIG9mIFZpc3VhbCBTdHVkaW8gMjAxNSwgMjAxMywgMjAxMiwgb3IgMjAxMCwgYW55IG9mCit3aGljaCBtYXkgYmUgdXNlZCB0byBidWlsZCBQeXRob24sIHRob3VnaCBvbmx5IFZpc3VhbCBTdHVkaW8gMjAxNSBpcworb2ZmaWNpYWxseSBzdXBwb3J0ZWQuCiAKLUN1cnJlbnRseSwgdGhlIG9ubHkgbGVnYWN5IGJ1aWxkIGRpcmVjdG9yeSBpcyBQQ1xWUzkuMCwgZm9yIFZpc3VhbAotU3R1ZGlvIDIwMDggKDkuMCkuCitCeSBkZWZhdWx0LCBidWlsZC5iYXQgd2lsbCBidWlsZCBQeXRob24gaW4gUmVsZWFzZSBjb25maWd1cmF0aW9uIGZvcgordGhlIDMyLWJpdCBXaW4zMiBwbGF0Zm9ybS4gIEl0IGFjY2VwdHMgc2V2ZXJhbCBhcmd1bWVudHMgdG8gY2hhbmdlCit0aGlzIGJlaGF2aW9yOgorCisgICAtYyA8Y29uZmlndXJhdGlvbj4gIFNldCB0aGUgY29uZmlndXJhdGlvbiAoc2VlIGFib3ZlKQorICAgLWQgICAgICAgICAgICAgICAgICBTaG9ydGN1dCBmb3IgIi1jIERlYnVnIgorICAgLXAgPHBsYXRmb3JtPiAgICAgICBTZXQgdGhlIHBsYXRmb3JtIHRvIGJ1aWxkIGZvciAoIldpbjMyIiBvciAieDY0IikKKyAgIC1yICAgICAgICAgICAgICAgICAgUmVidWlsZCBpbnN0ZWFkIG9mIGp1c3QgYnVpbGRpbmcKKyAgIC10IDx0YXJnZXQ+ICAgICAgICAgU2V0IHRoZSB0YXJnZXQgKEJ1aWxkLCBSZWJ1aWxkLCBDbGVhbiBvciBDbGVhbkFsbCkKKyAgIC1lICAgICAgICAgICAgICAgICAgVXNlIGdldF9leHRlcm5hbHMuYmF0IHRvIGZldGNoIGV4dGVybmFsIHNvdXJjZXMKKyAgIC1NICAgICAgICAgICAgICAgICAgRG9uJ3QgYnVpbGQgaW4gcGFyYWxsZWwKKyAgIC12ICAgICAgICAgICAgICAgICAgSW5jcmVhc2VkIG91dHB1dCBtZXNzYWdlcworCitVcCB0byA5IE1TQnVpbGQgc3dpdGNoZXMgY2FuIGFsc28gYmUgcGFzc2VkLCB0aG91Z2ggdGhleSBtdXN0IGJlIHBhc3NlZAorYWZ0ZXIgc3BlY2lmeWluZyBhbnkgb2YgdGhlIGFib3ZlIHN3aXRjaGVzLiAgRm9yIGV4YW1wbGUsIHVzZToKKworICAgYnVpbGQuYmF0IC1lIC1kIC9mbAorCit0byBkbyBhIGRlYnVnIGJ1aWxkIHdpdGggZXh0ZXJuYWxzIGZldGNoZWQgYXMgbmVlZGVkIGFuZCB3cml0ZSBkZXRhaWxlZAorYnVpbGQgbG9ncyB0byBhIGZpbGUuICBJZiB0aGUgTVNCdWlsZCBzd2l0Y2ggcmVxdWlyZXMgYW4gZXF1YWwgc2lnbgorKCI9IiksIHRoZSBlbnRpcmUgc3dpdGNoIG11c3QgYmUgcXVvdGVkOgorCisgICBidWlsZC5iYXQgLWUgLWQgIi9wOkV4dGVybmFsc0Rpcj1QOlxjcHl0aG9uLWV4dGVybmFscyIKKworVGhlcmUgbWF5IGFsc28gYmUgb3RoZXIgc2l0dWF0aW9ucyB3aGVyZSBxdW90ZXMgYXJlIG5lY2Vzc2FyeS4KIAogCiBDIFJ1bnRpbWUKIC0tLS0tLS0tLQogCi1WaXN1YWwgU3R1ZGlvIDIwMTAgdXNlcyB2ZXJzaW9uIDEwIG9mIHRoZSBDIHJ1bnRpbWUgKE1TVkNSVDEwKS4gIFRoZQorVmlzdWFsIFN0dWRpbyAyMDE1IHVzZXMgdmVyc2lvbiAxNCBvZiB0aGUgQyBydW50aW1lIChNU1ZDUlQxNCkuICBUaGUKIGV4ZWN1dGFibGVzIG5vIGxvbmdlciB1c2UgdGhlICJTaWRlIGJ5IFNpZGUiIGFzc2VtYmxpZXMgdXNlZCBpbiBwcmV2aW91cwogdmVyc2lvbnMgb2YgdGhlIGNvbXBpbGVyLiAgVGhpcyBzaW1wbGlmaWVzIGRpc3RyaWJ1dGlvbiBvZiBhcHBsaWNhdGlvbnMuCiAKQEAgLTk4LDEwICsxMjksNiBAQAogICAgIC5kbGwgYW5kIC5saWIKIHB5dGhvbgogICAgIC5leGUKLWtpbGxfcHl0aG9uCi0gICAga2lsbF9weXRob24uZXhlLCBhIHNtYWxsIHByb2dyYW0gZGVzaWduZWQgdG8ga2lsbCBhbnkgaW5zdGFuY2VzIG9mCi0gICAgcHl0aG9uKF9kKS5leGUgdGhhdCBhcmUgcnVubmluZyBhbmQgbGl2ZSBpbiB0aGUgYnVpbGQgb3V0cHV0Ci0gICAgZGlyZWN0b3J5OyB0aGlzIGlzIG1lYW50IHRvIGF2b2lkIGJ1aWxkIGlzc3VlcyBkdWUgdG8gbG9ja2VkIGZpbGVzCiBtYWtlX2J1aWxkaW5mbywgbWFrZV92ZXJzaW9uaW5mbwogICAgIGhlbHBlcnMgdG8gcHJvdmlkZSBuZWNlc3NhcnkgaW5mb3JtYXRpb24gdG8gdGhlIGJ1aWxkIHByb2Nlc3MKIApAQCAtMTIxLDEzICsxNDgsMTIgQEAKICAgICBwdXJwb3NlcywgdXNlZCBieSB0ZXN0X2NhcGkucHkKIAogVGhlc2UgYXJlIG1pc2NlbGxhbmVvdXMgc3ViLXByb2plY3RzIHRoYXQgZG9uJ3QgcmVhbGx5IGZpdCB0aGUgb3RoZXIKLWNhdGVnb3JpZXMuICBCeSBkZWZhdWx0LCB0aGVzZSBwcm9qZWN0cyBkbyBub3QgYnVpbGQgaW4gRGVidWcKLWNvbmZpZ3VyYXRpb246CitjYXRlZ29yaWVzOgogX2ZyZWV6ZV9pbXBvcnRsaWIKICAgICBfZnJlZXplX2ltcG9ydGxpYi5leGUsIHVzZWQgdG8gcmVnZW5lcmF0ZSBQeXRob25caW1wb3J0bGliLmggYWZ0ZXIKICAgICBjaGFuZ2VzIGhhdmUgYmVlbiBtYWRlIHRvIExpYlxpbXBvcnRsaWJcX2Jvb3RzdHJhcC5weQogYmRpc3Rfd2luaW5zdAotICAgIC4uXExpYlxkaXN0dXRpbHNcY29tbWFuZFx3aW5pbnN0LTEwLjBbLWFtZDY0XS5leGUsIHRoZSBiYXNlCisgICAgLi5cTGliXGRpc3R1dGlsc1xjb21tYW5kXHdpbmluc3QtMTQuMFstYW1kNjRdLmV4ZSwgdGhlIGJhc2UKICAgICBleGVjdXRhYmxlIHVzZWQgYnkgdGhlIGRpc3R1dGlscyBiZGlzdF93aW5pbnN0IGNvbW1hbmQKIHB5dGhvbjNkbGwKICAgICBweXRob24zLmRsbCwgdGhlIFBFUCAzODQgU3RhYmxlIEFCSSBkbGwKQEAgLTE4MiwzNyArMjA4LDI4IEBACiAgICAgdG8gYmUgc29tZXdoZXJlIG9uIHlvdXIgUEFUSC4gIE1vcmUgcmVjZW50IHZlcnNpb25zIG9mIE9wZW5TU0wgbWF5CiAgICAgbmVlZCBhIGxhdGVyIHZlcnNpb24gb2YgTkFTTS4gSWYgT3BlblNTTCdzIHNlbGYgdGVzdHMgZG9uJ3QgcGFzcywKICAgICB5b3Ugc2hvdWxkIGZpcnN0IHRyeSB0byB1cGRhdGUgTkFTTSBhbmQgZG8gYSBmdWxsIHJlYnVpbGQgb2YKLSAgICBPcGVuU1NMLiAgSWYgeW91IHVzZSB0aGUgVG9vbHNcYnVpbGRib3RcZXh0ZXJuYWwoLWFtZDY0KS5iYXQgbWV0aG9kCi0gICAgZm9yIGdldHRpbmcgc291cmNlcywgaXQgYWxzbyBkb3dubG9hZHMgYSB2ZXJzaW9uIG9mIE5BU00gd2hpY2ggdGhlCi0gICAgc3NsIGJ1aWxkIHNjcmlwdCB3aWxsIGFkZCB0byBQQVRILgorICAgIE9wZW5TU0wuICBnZXRfZXh0ZXJuYWxzLnB5IGFsc28gZG93bmxvYWRzIGEgc25hcHNob3Qgb2YgTkFTTSwgYW5kIHRoZQorICAgIGxpYmVheSBhbmQgc3NsZWF5IHN1Yi1wcm9qZWN0cyB1c2UgdGhhdCB2ZXJzaW9uIG9mIG5hc20uZXhlLgogCi0gICAgSWYgeW91IGxpa2UgdG8gdXNlIHRoZSBvZmZpY2lhbCBzb3VyY2VzIGluc3RlYWQgb2YgdGhlIGZpbGVzIGZyb20KLSAgICBweXRob24ub3JnJ3Mgc3VidmVyc2lvbiByZXBvc2l0b3J5LCBQZXJsIGlzIHJlcXVpcmVkIHRvIGJ1aWxkIHRoZQotICAgIG5lY2Vzc2FyeSBtYWtlZmlsZXMgYW5kIGFzc2VtYmx5IGZpbGVzLiAgQWN0aXZlUGVybCBpcyBhdmFpbGFibGUKLSAgICBmcm9tCisgICAgVGhlIGxpYmVheS9zc2xlYXkgc3ViLXByb2plY3RzIGV4cGVjdCB5b3VyIE9wZW5TU0wgc291cmNlcyB0byBoYXZlCisgICAgYWxyZWFkeSBiZWVuIGNvbmZpZ3VyZWQgYW5kIGJlIHJlYWR5IHRvIGJ1aWxkLiAgSWYgeW91IGdldCB5b3VyIHNvdXJjZXMKKyAgICBmcm9tIHN2bi5weXRob24ub3JnIGFzIHN1Z2dlc3RlZCBpbiB0aGUgIkdldHRpbmcgRXh0ZXJuYWwgU291cmNlcyIKKyAgICBzZWN0aW9uIGJlbG93LCB0aGUgT3BlblNTTCBzb3VyY2Ugd2lsbCBhbHJlYWR5IGJlIHJlYWR5IHRvIGdvLiAgSWYKKyAgICB5b3Ugd2FudCB0byBidWlsZCBhIGRpZmZlcmVudCB2ZXJzaW9uLCB5b3Ugd2lsbCBuZWVkIHRvIHJ1bgorCisgICAgICAgUENidWlsZFxwcmVwYXJlX3NzbC5weSBwYXRoXHRvXG9wZW5zc2wtc291cmNlLWRpcgorCisgICAgVGhhdCBzY3JpcHQgd2lsbCBwcmVwYXJlIHlvdXIgT3BlblNTTCBzb3VyY2VzIGluIHRoZSBzYW1lIHdheSB0aGF0CisgICAgdGhvc2UgYXZhaWxhYmxlIG9uIHN2bi5weXRob24ub3JnIGhhdmUgYmVlbiBwcmVwYXJlZC4gIE5vdGUgdGhhdAorICAgIFBlcmwgbXVzdCBiZSBpbnN0YWxsZWQgYW5kIGF2YWlsYWJsZSBvbiB5b3VyIFBBVEggdG8gY29uZmlndXJlCisgICAgT3BlblNTTC4gIEFjdGl2ZVBlcmwgaXMgcmVjb21tZW5kZWQgYW5kIGlzIGF2YWlsYWJsZSBmcm9tCiAgICAgICAgIGh0dHA6Ly93d3cuYWN0aXZlc3RhdGUuY29tL2FjdGl2ZXBlcmwvCi0gICAgVGhlIHN2bi5weXRob24ub3JnIHZlcnNpb24gY29udGFpbnMgcHJlLWJ1aWx0IG1ha2VmaWxlcyBhbmQgYXNzZW1ibHkKLSAgICBmaWxlcy4KIAotICAgIFRoZSBidWlsZCBwcm9jZXNzIG1ha2VzIHN1cmUgdGhhdCBubyBwYXRlbnRlZCBhbGdvcml0aG1zIGFyZQotICAgIGluY2x1ZGVkLiAgRm9yIG5vdyBSQzUsIE1EQzIgYW5kIElERUEgYXJlIGV4Y2x1ZGVkIGZyb20gdGhlIGJ1aWxkLgotICAgIFlvdSBtYXkgaGF2ZSB0byBtYW51YWxseSByZW1vdmUgJChPQkpfRClcaV8qLm9iaiBmcm9tIG1zXG50Lm1hayBpZgotICAgIHVzaW5nIG9mZmljaWFsIHNvdXJjZXM7IHRoZSBzdm4ucHl0aG9uLm9yZy1ob3N0ZWQgdmVyc2lvbiBpcyBhbHJlYWR5Ci0gICAgZml4ZWQuCi0KLSAgICBUaGUgc3NsLnZjeHByb2ogc3ViLXByb2plY3Qgc2ltcGx5IGludm9rZXMgUENidWlsZC9idWlsZF9zc2wucHksCi0gICAgd2hpY2ggbG9jYXRlcyBhbmQgYnVpbGRzIE9wZW5TU0wuCi0KLSAgICBidWlsZF9zc2wucHkgYXR0ZW1wdHMgdG8gY2F0Y2ggdGhlIG1vc3QgY29tbW9uIGVycm9ycyAoc3VjaCBhcyBub3QKLSAgICBiZWluZyBhYmxlIHRvIGZpbmQgT3BlblNTTCBzb3VyY2VzLCBvciBub3QgYmVpbmcgYWJsZSB0byBmaW5kIGEgUGVybAotICAgIHRoYXQgd29ya3Mgd2l0aCBPcGVuU1NMKSBhbmQgZ2l2ZSBhIHJlYXNvbmFibGUgZXJyb3IgbWVzc2FnZS4gIElmCi0gICAgeW91IGhhdmUgYSBwcm9ibGVtIHRoYXQgZG9lc24ndCBzZWVtIHRvIGJlIGhhbmRsZWQgY29ycmVjdGx5IChlLmcuLAotICAgIHlvdSBrbm93IHlvdSBoYXZlIEFjdGl2ZVBlcmwgYnV0IHdlIGNhbid0IGZpbmQgaXQpLCBwbGVhc2UgdGFrZSBhCi0gICAgcGVlayBhdCBidWlsZF9zc2wucHkgYW5kIHN1Z2dlc3QgcGF0Y2hlcy4gIE5vdGUgdGhhdCBidWlsZF9zc2wucHkKLSAgICBzaG91bGQgYmUgYWJsZSB0byBiZSBydW4gZGlyZWN0bHkgZnJvbSB0aGUgY29tbWFuZC1saW5lLgotCi0gICAgVGhlIHNzbCBzdWItcHJvamVjdCBkb2VzIG5vdCBoYXZlIHRoZSBhYmlsaXR5IHRvIGNsZWFuIHRoZSBPcGVuU1NMCi0gICAgYnVpbGQ7IGlmIHlvdSBuZWVkIHRvIHJlYnVpbGQsIHlvdSdsbCBoYXZlIHRvIGNsZWFuIGl0IGJ5IGhhbmQuCisgICAgVGhlIGxpYmVheSBhbmQgc3NsZWF5IHN1Yi1wcm9qZWN0cyB3aWxsIGJ1aWxkIHRoZSBtb2R1bGVzIG9mIE9wZW5TU0wKKyAgICByZXF1aXJlZCBieSBfc3NsIGFuZCBfaGFzaGxpYiBhbmQgbWF5IG5lZWQgdG8gYmUgbWFudWFsbHkgdXBkYXRlZCB3aGVuCisgICAgdXBncmFkaW5nIHRvIGEgbmV3ZXIgdmVyc2lvbiBvZiBPcGVuU1NMIG9yIHdoZW4gYWRkaW5nIG5ldworICAgIGZ1bmN0aW9uYWxpdHkgdG8gX3NzbCBvciBfaGFzaGxpYi4gVGhleSB3aWxsIG5vdCBjbGVhbiB1cCB0aGVpciBvdXRwdXQKKyAgICB3aXRoIHRoZSBub3JtYWwgQ2xlYW4gdGFyZ2V0OyBDbGVhbkFsbCBzaG91bGQgYmUgdXNlZCBpbnN0ZWFkLgogX3NxbGl0ZTMKICAgICBXcmFwcyBTUUxpdGUgMy44LjMuMSwgd2hpY2ggaXMgaXRzZWxmIGJ1aWx0IGJ5IHNxbGl0ZTMudmN4cHJvagogICAgIEhvbWVwYWdlOgpAQCAtMjIyLDEyICsyMzksMTkgQEAKICAgICBIb21lcGFnZToKICAgICAgICAgaHR0cDovL3d3dy50Y2wudGsvCiAKLSAgICBVbmxpa2UgdGhlIG90aGVyIGV4dGVybmFsIGxpYnJhcmllcyBsaXN0ZWQgYWJvdmUsIFRrIG11c3QgYmUgYnVpbHQKLSAgICBzZXBhcmF0ZWx5IGJlZm9yZSB0aGUgX3RraW50ZXIgbW9kdWxlIGNhbiBiZSBidWlsdC4gVGhpcyBtZWFucyB0aGF0Ci0gICAgYSBwcmUtYnVpbHQgVGNsL1RrIGluc3RhbGxhdGlvbiBpcyBleHBlY3RlZCBpbiAuLlxleHRlcm5hbHNcdGNsdGsKLSAgICAodGNsdGs2NCBmb3IgNjQtYml0KSByZWxhdGl2ZSB0byB0aGlzIGRpcmVjdG9yeS4gIFNlZSAiR2V0dGluZwotICAgIEV4dGVybmFsIFNvdXJjZXMiIGJlbG93IGZvciB0aGUgZWFzaWVzdCBtZXRob2QgdG8gZW5zdXJlIFRjbC9UayBpcwotICAgIGJ1aWx0LgorICAgIFRraW50ZXIncyBkZXBlbmRlbmNpZXMgYXJlIGJ1aWx0IGJ5IHRoZSB0Y2wudmN4cHJvaiBhbmQgdGsudmN4cHJvagorICAgIHByb2plY3RzLiAgVGhlIHRpeC52Y3hwcm9qIHByb2plY3QgYWxzbyBidWlsZHMgdGhlIFRpeCBleHRlbmRlZAorICAgIHdpZGdldCBzZXQgZm9yIHVzZSB3aXRoIFRraW50ZXIuCisKKyAgICBUaG9zZSB0aHJlZSBwcm9qZWN0cyBpbnN0YWxsIHRoZWlyIHJlc3BlY3RpdmUgY29tcG9uZW50cyBpbiBhCisgICAgZGlyZWN0b3J5IGFsb25nc2lkZSB0aGUgc291cmNlIGRpcmVjdG9yaWVzIGNhbGxlZCAidGNsdGsiIG9uCisgICAgV2luMzIgYW5kICJ0Y2x0azY0IiBvbiB4NjQuICBUaGV5IGFsc28gY29weSB0aGUgVGNsIGFuZCBUayBETExzCisgICAgaW50byB0aGUgY3VycmVudCBvdXRwdXQgZGlyZWN0b3J5LCB3aGljaCBzaG91bGQgZW5zdXJlIHRoYXQgVGtpbnRlcgorICAgIGlzIGFibGUgdG8gbG9hZCBUY2wvVGsgd2l0aG91dCBoYXZpbmcgdG8gY2hhbmdlIHlvdXIgUEFUSC4KKworICAgIFRoZSB0Y2wsIHRrLCBhbmQgdGl4IHN1Yi1wcm9qZWN0cyBkbyBub3QgY2xlYW4gdGhlaXIgYnVpbGRzIHdpdGgKKyAgICB0aGUgbm9ybWFsIENsZWFuIHRhcmdldDsgaWYgeW91IG5lZWQgdG8gcmVidWlsZCwgeW91IHNob3VsZCB1c2UgdGhlCisgICAgQ2xlYW5BbGwgdGFyZ2V0IG9yIG1hbnVhbGx5IGRlbGV0ZSB0aGVpciBidWlsZHMuCiAKIAogR2V0dGluZyBFeHRlcm5hbCBTb3VyY2VzCkBAIC0yMzYsNDUgKzI2MCwxOCBAQAogVGhlIGxhc3QgY2F0ZWdvcnkgb2Ygc3ViLXByb2plY3RzIGxpc3RlZCBhYm92ZSB3cmFwIGV4dGVybmFsIHByb2plY3RzCiBQeXRob24gZG9lc24ndCBjb250cm9sLCBhbmQgYXMgc3VjaCBhIGxpdHRsZSBtb3JlIHdvcmsgaXMgcmVxdWlyZWQgaW4KIG9yZGVyIHRvIGRvd25sb2FkIHRoZSByZWxldmFudCBzb3VyY2UgZmlsZXMgZm9yIGVhY2ggcHJvamVjdCBiZWZvcmUgdGhleQotY2FuIGJlIGJ1aWx0LiAgVGhlIGJ1aWxkYm90cyBtdXN0IGVuc3VyZSB0aGF0IGFsbCBsaWJyYXJpZXMgYXJlIHByZXNlbnQKLWJlZm9yZSBidWlsZGluZywgc28gdGhlIGVhc2llc3QgYXBwcm9hY2ggaXMgdG8gcnVuIGVpdGhlciBleHRlcm5hbC5iYXQKLW9yIGV4dGVybmFsLWFtZDY0LmJhdCAoZGVwZW5kaW5nIG9uIHBsYXRmb3JtKSBpbiB0aGUgLi5cVG9vbHNcYnVpbGRib3QKLWRpcmVjdG9yeSBmcm9tIC4uXCwgaS5lLjoKLQotICAgIEM6XHB5dGhvblxjcHl0aG9uXFBDYnVpbGQ+Y2QgLi4KLSAgICBDOlxweXRob25cY3B5dGhvbj5Ub29sc1xidWlsZGJvdFxleHRlcm5hbC5iYXQKLQotVGhpcyBleHRyYWN0cyBhbGwgdGhlIGV4dGVybmFsIHN1Yi1wcm9qZWN0cyBmcm9tCitjYW4gYmUgYnVpbHQuICBIb3dldmVyLCBhIHNpbXBsZSBzY3JpcHQgaXMgcHJvdmlkZWQgdG8gbWFrZSB0aGlzIGFzCitwYWlubGVzcyBhcyBwb3NzaWJsZSwgY2FsbGVkICJnZXRfZXh0ZXJuYWxzLmJhdCIgYW5kIGxvY2F0ZWQgaW4gdGhpcworZGlyZWN0b3J5LiAgVGhpcyBzY3JpcHQgZXh0cmFjdHMgYWxsIHRoZSBleHRlcm5hbCBzdWItcHJvamVjdHMgZnJvbQogICAgIGh0dHA6Ly9zdm4ucHl0aG9uLm9yZy9wcm9qZWN0cy9leHRlcm5hbAotdmlhIFN1YnZlcnNpb24gKHNvIHlvdSdsbCBuZWVkIGFuIHN2bi5leGUgb24geW91ciBQQVRIKSBhbmQgcGxhY2VzIHRoZW0KK3ZpYSBTdWJ2ZXJzaW9uIChzbyB5b3UnbGwgbmVlZCBzdm4uZXhlIG9uIHlvdXIgUEFUSCkgYW5kIHBsYWNlcyB0aGVtCiBpbiAuLlxleHRlcm5hbHMgKHJlbGF0aXZlIHRvIHRoaXMgZGlyZWN0b3J5KS4KIAogSXQgaXMgYWxzbyBwb3NzaWJsZSB0byBkb3dubG9hZCBzb3VyY2VzIGZyb20gZWFjaCBwcm9qZWN0J3MgaG9tZXBhZ2UsCi10aG91Z2ggeW91IG1heSBoYXZlIHRvIGNoYW5nZSB0aGUgbmFtZXMgb2Ygc29tZSBmb2xkZXJzIGluIG9yZGVyIHRvIG1ha2UKLXRoaW5ncyB3b3JrLiAgRm9yIGluc3RhbmNlLCBpZiB5b3Ugd2VyZSB0byBkb3dubG9hZCBhIHZlcnNpb24gNS4wLjcgb2YKLVhaIFV0aWxzLCB5b3Ugd291bGQgbmVlZCB0byBleHRyYWN0IHRoZSBhcmNoaXZlIGludG8gLi5cZXh0ZXJuYWxzXHh6LTUuMC41Ci1hbnl3YXksIHNpbmNlIHRoYXQgaXMgd2hlcmUgdGhlIHNvbHV0aW9uIGlzIHNldCB0byBsb29rIGZvciB4ei4gIFRoZQotc2FtZSBpcyB0cnVlIGZvciBhbGwgb3RoZXIgZXh0ZXJuYWwgcHJvamVjdHMuCi0KLVRoZSBleHRlcm5hbCgtYW1kNjQpLmJhdCBzY3JpcHRzIHdpbGwgYWxzbyBidWlsZCBhIGRlYnVnIGJ1aWxkIG9mCi1UY2wvVGssIGJ1dCB0aGVyZSBhcmVuJ3QgYW55IGVxdWl2YWxlbnQgYmF0Y2ggZmlsZXMgZm9yIGJ1aWxkaW5nIHJlbGVhc2UKLXZlcnNpb25zIG9mIFRjbC9UayBjdXJyZW50bHkgYXZhaWxhYmxlLiAgSWYgeW91IG5lZWQgdG8gYnVpbGQgYSByZWxlYXNlCi12ZXJzaW9uIG9mIFRjbC9UaywganVzdCB0YWtlIGEgbG9vayBhdCB0aGUgcmVsZXZhbnQgZXh0ZXJuYWwoLWFtZDY0KS5iYXQKLWZpbGUgYW5kIGZpbmQgdGhlIHR3byBubWFrZSBsaW5lcywgdGhlbiBjYWxsIGVhY2ggb25lIHdpdGhvdXQgdGhlCi0nREVCVUc9MScgcGFyYW1ldGVyLCBpLmUuOgotCi1UaGUgZXh0ZXJuYWwtYW1kNjQuYmF0IGZpbGUgY29udGFpbnMgdGhpcyBmb3IgdGNsOgotICAgIG5tYWtlIC1mIG1ha2VmaWxlLnZjIERFQlVHPTEgTUFDSElORT1BTUQ2NCBJTlNUQUxMRElSPS4uXC4uXHRjbHRrNjQgY2xlYW4gYWxsIGluc3RhbGwKLQotU28gZm9yIGEgcmVsZWFzZSBidWlsZCwgeW91J2QgY2FsbCBpdCBhczoKLSAgICBubWFrZSAtZiBtYWtlZmlsZS52YyBNQUNISU5FPUFNRDY0IElOU1RBTExESVI9Li5cLi5cdGNsdGs2NCBjbGVhbiBhbGwgaW5zdGFsbAotCi1Ob3RlIHRoYXQgdGhlIGFib3ZlIGNvbW1hbmQgaXMgY2FsbGVkIGZyb20gd2l0aGluIC4uXGV4dGVybmFsc1x0Y2wtOC42LjEuMFx3aW4KLShyZWxhdGl2ZSB0byB0aGlzIGRpcmVjdG9yeSk7IGRvbid0IGZvcmdldCB0byBidWlsZCBUayBhcyB3ZWxsIGFzIFRjbCEKLQotVGhpcyB3aWxsIGJlIGNsZWFuZWQgdXAgaW4gdGhlIGZ1dHVyZTsgaHR0cDovL2J1Z3MucHl0aG9uLm9yZy9pc3N1ZTE1OTY4Ci10cmFja3MgYWRkaW5nIGEgbmV3IHRjbHRrLnZjeHByb2ogZmlsZSB0aGF0IHdpbGwgYnVpbGQgVGNsL1RrIGFuZCBUaXgKLXRoZSBzYW1lIHdheSB0aGUgb3RoZXIgZXh0ZXJuYWwgcHJvamVjdHMgbGlzdGVkIGFib3ZlIGFyZSBidWlsdC4KK3Rob3VnaCB5b3UgbWF5IGhhdmUgdG8gY2hhbmdlIGZvbGRlciBuYW1lcyBvciBwYXNzIHRoZSBuYW1lcyB0byBNU0J1aWxkCithcyB0aGUgdmFsdWVzIG9mIGNlcnRhaW4gcHJvcGVydGllcyBpbiBvcmRlciBmb3IgdGhlIGJ1aWxkIHNvbHV0aW9uIHRvCitmaW5kIHRoZW0uICBUaGlzIGlzIGFuIGFkdmFuY2VkIHRvcGljIGFuZCBub3QgbmVjZXNzYXJpbHkgZnVsbHkKK3N1cHBvcnRlZC4KIAogCiBCdWlsZGluZyBmb3IgQU1ENjQKQEAgLTI4Myw5ICsyODAsNyBAQAogVGhlIGJ1aWxkIHByb2Nlc3MgZm9yIEFNRDY0IC8geDY0IGlzIHZlcnkgc2ltaWxhciB0byBzdGFuZGFyZCBidWlsZHMsCiB5b3UganVzdCBoYXZlIHRvIHNldCB4NjQgYXMgcGxhdGZvcm0uIEluIGFkZGl0aW9uLCB0aGUgSE9TVF9QWVRIT04KIGVudmlyb25tZW50IHZhcmlhYmxlIG11c3QgcG9pbnQgdG8gYSBQeXRob24gaW50ZXJwcmV0ZXIgKGF0IGxlYXN0IDIuNCksCi10byBzdXBwb3J0IGNyb3NzLWNvbXBpbGF0aW9uIGZyb20gV2luMzIuICBOb3RlIHRoYXQgVmlzdWFsIFN0dWRpbwotcmVxdWlyZXMgUHJvZmVzc2lvbmFsIEVkaXRpb24gb3IgYmV0dGVyIGluIG9yZGVyIHRvIGJ1aWxkIDY0LWJpdAotYmluYXJpZXMuCit0byBzdXBwb3J0IGNyb3NzLWNvbXBpbGF0aW9uIGZyb20gV2luMzIuCiAKIAogUHJvZmlsZSBHdWlkZWQgT3B0aW1pemF0aW9uCkBAIC0zMjAsMzAgKzMxNSwyMiBAQAogVmlzdWFsIFN0dWRpbyBwcm9wZXJ0aWVzCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAotVGhlIFBDYnVpbGQgc29sdXRpb24gbWFrZXMgaGVhdnkgdXNlIG9mIFZpc3VhbCBTdHVkaW8gcHJvcGVydHkgZmlsZXMKLSgqLnByb3BzKS4gVGhlIHByb3BlcnRpZXMgY2FuIGJlIHZpZXdlZCBhbmQgYWx0ZXJlZCBpbiB0aGUgUHJvcGVydHkKLU1hbmFnZXIgKFZpZXcgLT4gT3RoZXIgV2luZG93cyAtPiBQcm9wZXJ0eSBNYW5hZ2VyKS4KK1RoZSBQQ2J1aWxkIHNvbHV0aW9uIG1ha2VzIHVzZSBvZiBWaXN1YWwgU3R1ZGlvIHByb3BlcnR5IGZpbGVzICgqLnByb3BzKQordG8gc2ltcGxpZnkgZWFjaCBwcm9qZWN0LiBUaGUgcHJvcGVydGllcyBjYW4gYmUgdmlld2VkIGluIHRoZSBQcm9wZXJ0eQorTWFuYWdlciAoVmlldyAtPiBPdGhlciBXaW5kb3dzIC0+IFByb3BlcnR5IE1hbmFnZXIpIGJ1dCBzaG91bGQgYmUKK2NhcmVmdWxseSBtb2RpZmllZCBieSBoYW5kLgogCi1UaGUgcHJvcGVydHkgZmlsZXMgdXNlZCBhcmUgKCstLSA9ICJhbHNvIGltcG9ydHMiKToKLSAqIGRlYnVnIChkZWJ1ZyBtYWNybzogX0RFQlVHKQotICogcGdpbnN0cnVtZW50IChQR08pCi0gKiBwZ3VwZGF0ZSAoUEdPKQotICAgICstLSBwZ2luc3RydW1lbnQKLSAqIHB5ZCAocHl0aG9uIGV4dGVuc2lvbiwgcmVsZWFzZSBidWlsZCkKLSAgICArLS0gcmVsZWFzZQotICAgICstLSBweXByb2plY3QKLSAqIHB5ZF9kIChweXRob24gZXh0ZW5zaW9uLCBkZWJ1ZyBidWlsZCkKLSAgICArLS0gZGVidWcKLSAgICArLS0gcHlwcm9qZWN0Ci0gKiBweXByb2plY3QgKGJhc2Ugc2V0dGluZ3MgZm9yIGFsbCBwcm9qZWN0cywgdXNlciBtYWNyb3MgbGlrZSBQeURsbE5hbWUpCi0gKiByZWxlYXNlIChyZWxlYXNlIG1hY3JvOiBOREVCVUcpCi0gKiBzcWxpdGUzICh1c2VkIG9ubHkgYnkgc3FsaXRlMy52Y3hwcm9qKQotICogeDY0IChBTUQ2NCAvIHg2NCBwbGF0Zm9ybSBzcGVjaWZpYyBzZXR0aW5ncykKK1RoZSBwcm9wZXJ0eSBmaWxlcyB1c2VkIGFyZToKKyAqIHB5dGhvbiAodmVyc2lvbnMsIGRpcmVjdG9yaWVzIGFuZCBidWlsZCBuYW1lcykKKyAqIHB5cHJvamVjdCAoYmFzZSBzZXR0aW5ncyBmb3IgYWxsIHByb2plY3RzKQorICogb3BlbnNzbCAodXNlZCBieSBsaWJlYXkgYW5kIHNzbGVheSBwcm9qZWN0cykKKyAqIHRjbHRrICh1c2VkIGJ5IF90a2ludGVyLCB0Y2wsIHRrIGFuZCB0aXggcHJvamVjdHMpCiAKLVRoZSBweXByb2plY3QgcHJvcGVydHkgZmlsZSBkZWZpbmVzIF9XSU4zMiBhbmQgeDY0IGRlZmluZXMgX1dJTjY0IGFuZAotX01fWDY0IGFsdGhvdWdoIHRoZSBtYWNyb3MgYXJlIHNldCBieSB0aGUgY29tcGlsZXIsIHRvby4gVGhlIEdVSSBkb2Vzbid0Ci1hbHdheXMga25vdyBhYm91dCB0aGUgbWFjcm9zIGFuZCBjb25mdXNlIHRoZSB1c2VyIHdpdGggZmFsc2UKLWluZm9ybWF0aW9uLgorVGhlIHB5cHJvamVjdCBwcm9wZXJ0eSBmaWxlIGRlZmluZXMgYWxsIG9mIHRoZSBidWlsZCBzZXR0aW5ncyBmb3IgZWFjaAorcHJvamVjdCwgd2l0aCBzb21lIHByb2plY3RzIG92ZXJyaWRpbmcgY2VydGFpbiBzcGVjaWZpYyB2YWx1ZXMuIFRoZSBHVUkKK2RvZXNuJ3QgYWx3YXlzIHJlZmxlY3QgdGhlIGNvcnJlY3Qgc2V0dGluZ3MgYW5kIG1heSBjb25mdXNlIHRoZSB1c2VyCit3aXRoIGZhbHNlIGluZm9ybWF0aW9uLCBlc3BlY2lhbGx5IGZvciBzZXR0aW5ncyB0aGF0IGF1dG9tYXRpY2FsbHkgYWRhcHQKK2ZvciBkaWZmaXJlbnQgY29uZmlndXJhdGlvbnMuCiAKIAogWW91ciBPd24gRXh0ZW5zaW9uIERMTHMKZGlmZiAtLWdpdCBhL1BDYnVpbGQvcmVsZWFzZS5wcm9wcyBiL1BDYnVpbGQvcmVsZWFzZS5wcm9wcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYWNmZTNlNC4uMDAwMDAwMAotLS0gYS9QQ2J1aWxkL3JlbGVhc2UucHJvcHMKKysrIC9kZXYvbnVsbApAQCAtMSwxOSArMCwwIEBACi3vu788P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgotPFByb2plY3QgRGVmYXVsdFRhcmdldHM9IkJ1aWxkIiBUb29sc1ZlcnNpb249IjQuMCIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+Ci0gIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJVc2VyTWFjcm9zIj4KLSAgICA8UHlEZWJ1Z0V4dCAvPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwPgotICAgIDxfUHJvamVjdEZpbGVWZXJzaW9uPjEwLjAuMzAzMTkuMTwvX1Byb2plY3RGaWxlVmVyc2lvbj4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cD4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPk5ERUJVRzslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgPC9DbENvbXBpbGU+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1Hcm91cD4KLSAgICA8QnVpbGRNYWNybyBJbmNsdWRlPSJQeURlYnVnRXh0Ij4KLSAgICAgIDxWYWx1ZT4kKFB5RGVidWdFeHQpPC9WYWx1ZT4KLSAgICA8L0J1aWxkTWFjcm8+Ci0gIDwvSXRlbUdyb3VwPgotPC9Qcm9qZWN0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL1BDYnVpbGQvcnQuYmF0IGIvUENidWlsZC9ydC5iYXQKaW5kZXggZTU2OTIzOC4uNTA0MWNkMyAxMDA2NDQKLS0tIGEvUENidWlsZC9ydC5iYXQKKysrIGIvUENidWlsZC9ydC5iYXQKQEAgLTksNyArOSw4IEBACiByZW0gLXg2NCBSdW4gdGhlIDY0LWJpdCBidWlsZCBvZiBweXRob24gKG9yIHB5dGhvbl9kIGlmIC1kIHdhcyBzcGVjaWZpZWQpCiByZW0gICAgICBmcm9tIHRoZSAnYW1kNjQnIGRpciBpbnN0ZWFkIG9mIHRoZSAzMi1iaXQgYnVpbGQgaW4gdGhpcyBkaXIuCiByZW0gQWxsIGxlYWRpbmcgaW5zdGFuY2VzIG9mIHRoZXNlIHN3aXRjaGVzIGFyZSBzaGlmdGVkIG9mZiwgYW5kCi1yZW0gd2hhdGV2ZXIgcmVtYWlucyBpcyBwYXNzZWQgdG8gcmVncnRlc3QucHkuICBGb3IgZXhhbXBsZSwKK3JlbSB3aGF0ZXZlciByZW1haW5zICh1cCB0byA5IGFyZ3VtZW50cykgaXMgcGFzc2VkIHRvIHJlZ3J0ZXN0LnB5LgorcmVtIEZvciBleGFtcGxlLAogcmVtICAgICBydCAtTyAtZCAteCB0ZXN0X3RocmVhZAogcmVtIHJ1bnMKIHJlbSAgICAgcHl0aG9uX2QgLU8gLi4vbGliL3Rlc3QvcmVncnRlc3QucHkgLXggdGVzdF90aHJlYWQKQEAgLTI2LDI1ICsyNywyNCBAQAogCiBzZXRsb2NhbAogCi1zZXQgcHJlZml4PS5cCitzZXQgcGNidWlsZD0lfmRwMAorc2V0IHByZWZpeD0lcGNidWlsZCV3aW4zMlwKIHNldCBzdWZmaXg9CiBzZXQgcW1vZGU9CiBzZXQgZGFzaE89Ci1zZXQgdGNsdGs9dGNsdGsKIAogOkNoZWNrT3B0cwogaWYgIiUxIj09Ii1PIiAoc2V0IGRhc2hPPS1PKSAgICAgJiBzaGlmdCAmIGdvdG8gQ2hlY2tPcHRzCiBpZiAiJTEiPT0iLXEiIChzZXQgcW1vZGU9eWVzKSAgICAmIHNoaWZ0ICYgZ290byBDaGVja09wdHMKIGlmICIlMSI9PSItZCIgKHNldCBzdWZmaXg9X2QpICAgICYgc2hpZnQgJiBnb3RvIENoZWNrT3B0cwotaWYgIiUxIj09Ii14NjQiIChzZXQgcHJlZml4PWFtZDY0KSAmIChzZXQgdGNsdGs9dGNsdGs2NCkgJiBzaGlmdCAmIGdvdG8gQ2hlY2tPcHRzCitpZiAiJTEiPT0iLXg2NCIgKHNldCBwcmVmaXg9JXBjYnVpbGQlYW1kNjRcKSAmIHNoaWZ0ICYgZ290byBDaGVja09wdHMKIAotUEFUSCAlUEFUSCU7JX5kcDAuLlxleHRlcm5hbHNcJXRjbHRrJVxiaW4KLXNldCBleGU9JXByZWZpeCVccHl0aG9uJXN1ZmZpeCUKLXNldCBjbWQ9JWV4ZSUgJWRhc2hPJSAtV2QgLUUgLWJiIC4uL2xpYi90ZXN0L3JlZ3J0ZXN0LnB5ICUxICUyICUzICU0ICU1ICU2ICU3ICU4ICU5CitzZXQgZXhlPSVwcmVmaXglcHl0aG9uJXN1ZmZpeCUuZXhlCitzZXQgY21kPSIlZXhlJSIgJWRhc2hPJSAtV2QgLUUgLWJiICIlcGNidWlsZCUuLlxsaWJcdGVzdFxyZWdydGVzdC5weSIgJTEgJTIgJTMgJTQgJTUgJTYgJTcgJTggJTkKIGlmIGRlZmluZWQgcW1vZGUgZ290byBRbW9kZQogCiBlY2hvIERlbGV0aW5nIC5weWMvLnB5byBmaWxlcyAuLi4KLSVleGUlIHJtcHljLnB5CisiJWV4ZSUiICIlcGNidWlsZCVybXB5Yy5weSIKIAogZWNobyBvbgogJWNtZCUKZGlmZiAtLWdpdCBhL1BDYnVpbGQvc2VsZWN0LnZjeHByb2ogYi9QQ2J1aWxkL3NlbGVjdC52Y3hwcm9qCmluZGV4IDdjMzZkNjQuLjNjZDA2OTQgMTAwNjQ0Ci0tLSBhL1BDYnVpbGQvc2VsZWN0LnZjeHByb2oKKysrIGIvUENidWlsZC9zZWxlY3QudmN4cHJvagpAQCAtMzcsMTg4ICszNywzMyBAQAogICA8UHJvcGVydHlHcm91cCBMYWJlbD0iR2xvYmFscyI+CiAgICAgPFByb2plY3RHdWlkPnsxOENBRTI4Qy1CNDU0LTQ2QzEtODdBMC00OTNEOTFEOTdGMDN9PC9Qcm9qZWN0R3VpZD4KICAgICA8Um9vdE5hbWVzcGFjZT5zZWxlY3Q8L1Jvb3ROYW1lc3BhY2U+Ci0gICAgPEtleXdvcmQ+V2luMzJQcm9qPC9LZXl3b3JkPgogICA8L1Byb3BlcnR5R3JvdXA+CisgIDxJbXBvcnQgUHJvamVjdD0icHl0aG9uLnByb3BzIiAvPgogICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC5EZWZhdWx0LnByb3BzIiAvPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KLSAgICA8V2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPnRydWU8L1dob2xlUHJvZ3JhbU9wdGltaXphdGlvbj4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+Ci0gICAgPFdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj50cnVlPC9XaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KLSAgICA8V2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPnRydWU8L1dob2xlUHJvZ3JhbU9wdGltaXphdGlvbj4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+Ci0gICAgPFdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj50cnVlPC9XaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KLSAgICA8V2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPnRydWU8L1dob2xlUHJvZ3JhbU9wdGltaXphdGlvbj4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KLSAgICA8V2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPnRydWU8L1dob2xlUHJvZ3JhbU9wdGltaXphdGlvbj4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KKyAgPFByb3BlcnR5R3JvdXAgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgogICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+CiAgICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KICAgPC9Qcm9wZXJ0eUdyb3VwPgogICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC5wcm9wcyIgLz4KKyAgPFByb3BlcnR5R3JvdXA+CisgICAgPFRhcmdldEV4dD4ucHlkPC9UYXJnZXRFeHQ+CisgIDwvUHJvcGVydHlHcm91cD4KICAgPEltcG9ydEdyb3VwIExhYmVsPSJFeHRlbnNpb25TZXR0aW5ncyI+CiAgIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KKyAgPEltcG9ydEdyb3VwIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+CiAgICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlkLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icGd1cGRhdGUucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlkLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icGdpbnN0cnVtZW50LnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWQucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWRfZC5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJ4NjQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJwZ3VwZGF0ZS5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlkLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0ieDY0LnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icGdpbnN0cnVtZW50LnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlkLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0ieDY0LnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZF9kLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0ieDY0LnByb3BzIiAvPgorICAgIDxJbXBvcnQgUHJvamVjdD0icHlwcm9qZWN0LnByb3BzIiAvPgogICA8L0ltcG9ydEdyb3VwPgogICA8UHJvcGVydHlHcm91cCBMYWJlbD0iVXNlck1hY3JvcyIgLz4KICAgPFByb3BlcnR5R3JvdXA+CiAgICAgPF9Qcm9qZWN0RmlsZVZlcnNpb24+MTAuMC4zMDMxOS4xPC9fUHJvamVjdEZpbGVWZXJzaW9uPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyIgLz4KICAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+CisgIDxJdGVtRGVmaW5pdGlvbkdyb3VwPgogICAgIDxMaW5rPgogICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+d3MyXzMyLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgotICAgICAgPElnbm9yZVNwZWNpZmljRGVmYXVsdExpYnJhcmllcz5saWJjOyUoSWdub3JlU3BlY2lmaWNEZWZhdWx0TGlicmFyaWVzKTwvSWdub3JlU3BlY2lmaWNEZWZhdWx0TGlicmFyaWVzPgogICAgICAgPEJhc2VBZGRyZXNzPjB4MUQxMTAwMDA8L0Jhc2VBZGRyZXNzPgogICAgIDwvTGluaz4KICAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPgotICAgIDxNaWRsPgotICAgICAgPFRhcmdldEVudmlyb25tZW50Plg2NDwvVGFyZ2V0RW52aXJvbm1lbnQ+Ci0gICAgPC9NaWRsPgotICAgIDxMaW5rPgotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+d3MyXzMyLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgotICAgICAgPElnbm9yZVNwZWNpZmljRGVmYXVsdExpYnJhcmllcz5saWJjOyUoSWdub3JlU3BlY2lmaWNEZWZhdWx0TGlicmFyaWVzKTwvSWdub3JlU3BlY2lmaWNEZWZhdWx0TGlicmFyaWVzPgotICAgICAgPEJhc2VBZGRyZXNzPjB4MUQxMTAwMDA8L0Jhc2VBZGRyZXNzPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj4KLSAgICA8TGluaz4KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPndzMl8zMi5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KLSAgICAgIDxJZ25vcmVTcGVjaWZpY0RlZmF1bHRMaWJyYXJpZXM+bGliYzslKElnbm9yZVNwZWNpZmljRGVmYXVsdExpYnJhcmllcyk8L0lnbm9yZVNwZWNpZmljRGVmYXVsdExpYnJhcmllcz4KLSAgICAgIDxCYXNlQWRkcmVzcz4weDFEMTEwMDAwPC9CYXNlQWRkcmVzcz4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPgotICAgIDxNaWRsPgotICAgICAgPFRhcmdldEVudmlyb25tZW50Plg2NDwvVGFyZ2V0RW52aXJvbm1lbnQ+Ci0gICAgPC9NaWRsPgotICAgIDxMaW5rPgotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+d3MyXzMyLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgotICAgICAgPElnbm9yZVNwZWNpZmljRGVmYXVsdExpYnJhcmllcz5saWJjOyUoSWdub3JlU3BlY2lmaWNEZWZhdWx0TGlicmFyaWVzKTwvSWdub3JlU3BlY2lmaWNEZWZhdWx0TGlicmFyaWVzPgotICAgICAgPEJhc2VBZGRyZXNzPjB4MUQxMTAwMDA8L0Jhc2VBZGRyZXNzPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciPgotICAgIDxMaW5rPgotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+d3MyXzMyLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgotICAgICAgPElnbm9yZVNwZWNpZmljRGVmYXVsdExpYnJhcmllcz5saWJjOyUoSWdub3JlU3BlY2lmaWNEZWZhdWx0TGlicmFyaWVzKTwvSWdub3JlU3BlY2lmaWNEZWZhdWx0TGlicmFyaWVzPgotICAgICAgPEJhc2VBZGRyZXNzPjB4MUQxMTAwMDA8L0Jhc2VBZGRyZXNzPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIj4KLSAgICA8TWlkbD4KLSAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5YNjQ8L1RhcmdldEVudmlyb25tZW50PgotICAgIDwvTWlkbD4KLSAgICA8TGluaz4KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPndzMl8zMi5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KLSAgICAgIDxJZ25vcmVTcGVjaWZpY0RlZmF1bHRMaWJyYXJpZXM+bGliYzslKElnbm9yZVNwZWNpZmljRGVmYXVsdExpYnJhcmllcyk8L0lnbm9yZVNwZWNpZmljRGVmYXVsdExpYnJhcmllcz4KLSAgICAgIDxCYXNlQWRkcmVzcz4weDFEMTEwMDAwPC9CYXNlQWRkcmVzcz4KLSAgICAgIDxUYXJnZXRNYWNoaW5lPk1hY2hpbmVYNjQ8L1RhcmdldE1hY2hpbmU+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIj4KLSAgICA8TGluaz4KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPndzMl8zMi5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KLSAgICAgIDxJZ25vcmVTcGVjaWZpY0RlZmF1bHRMaWJyYXJpZXM+bGliYzslKElnbm9yZVNwZWNpZmljRGVmYXVsdExpYnJhcmllcyk8L0lnbm9yZVNwZWNpZmljRGVmYXVsdExpYnJhcmllcz4KLSAgICAgIDxCYXNlQWRkcmVzcz4weDFEMTEwMDAwPC9CYXNlQWRkcmVzcz4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIj4KLSAgICA8TWlkbD4KLSAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5YNjQ8L1RhcmdldEVudmlyb25tZW50PgotICAgIDwvTWlkbD4KLSAgICA8TGluaz4KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPndzMl8zMi5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KLSAgICAgIDxJZ25vcmVTcGVjaWZpY0RlZmF1bHRMaWJyYXJpZXM+bGliYzslKElnbm9yZVNwZWNpZmljRGVmYXVsdExpYnJhcmllcyk8L0lnbm9yZVNwZWNpZmljRGVmYXVsdExpYnJhcmllcz4KLSAgICAgIDxCYXNlQWRkcmVzcz4weDFEMTEwMDAwPC9CYXNlQWRkcmVzcz4KLSAgICAgIDxUYXJnZXRNYWNoaW5lPk1hY2hpbmVYNjQ8L1RhcmdldE1hY2hpbmU+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+CiAgIDxJdGVtR3JvdXA+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxNb2R1bGVzXHNlbGVjdG1vZHVsZS5jIiAvPgogICA8L0l0ZW1Hcm91cD4KZGlmZiAtLWdpdCBhL1BDYnVpbGQvc3FsaXRlMy5wcm9wcyBiL1BDYnVpbGQvc3FsaXRlMy5wcm9wcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDNlZTAyYy4uMDAwMDAwMAotLS0gYS9QQ2J1aWxkL3NxbGl0ZTMucHJvcHMKKysrIC9kZXYvbnVsbApAQCAtMSwxNiArMCwwIEBACi3vu788P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgotPFByb2plY3QgRGVmYXVsdFRhcmdldHM9IkJ1aWxkIiBUb29sc1ZlcnNpb249IjQuMCIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+Ci0gIDxJbXBvcnRHcm91cCBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlwcm9qZWN0LnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8UHJvcGVydHlHcm91cD4KLSAgICA8X1Byb2plY3RGaWxlVmVyc2lvbj4xMC4wLjMwMzE5LjE8L19Qcm9qZWN0RmlsZVZlcnNpb24+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPiQoc3FsaXRlM0Rpcik7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5TUUxJVEVfQVBJPV9fZGVjbHNwZWMoZGxsZXhwb3J0KTslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgICA8V2FybmluZ0xldmVsPkxldmVsMTwvV2FybmluZ0xldmVsPgotICAgIDwvQ2xDb21waWxlPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci08L1Byb2plY3Q+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvUENidWlsZC9zcWxpdGUzLnZjeHByb2ogYi9QQ2J1aWxkL3NxbGl0ZTMudmN4cHJvagppbmRleCBkYWYwMTBkLi5iNjI0NmZhIDEwMDY0NAotLS0gYS9QQ2J1aWxkL3NxbGl0ZTMudmN4cHJvagorKysgYi9QQ2J1aWxkL3NxbGl0ZTMudmN4cHJvagpAQCAtMzcsMTg4ICszNywzMSBAQAogICA8UHJvcGVydHlHcm91cCBMYWJlbD0iR2xvYmFscyI+CiAgICAgPFByb2plY3RHdWlkPntBMUEyOTVFNS00NjNDLTQzN0YtODFDQS0xRjMyMzY3Njg1REF9PC9Qcm9qZWN0R3VpZD4KICAgICA8Um9vdE5hbWVzcGFjZT5zcWxpdGUzPC9Sb290TmFtZXNwYWNlPgotICAgIDxLZXl3b3JkPldpbjMyUHJvajwvS2V5d29yZD4KKyAgICA8VGFyZ2V0RXh0Pi5weWQ8L1RhcmdldEV4dD4KKyAgICA8U3VwcG9ydFBHTz5mYWxzZTwvU3VwcG9ydFBHTz4KICAgPC9Qcm9wZXJ0eUdyb3VwPgorICA8SW1wb3J0IFByb2plY3Q9InB5dGhvbi5wcm9wcyIgLz4KICAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAuRGVmYXVsdC5wcm9wcyIgLz4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+Ci0gICAgPFdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj50cnVlPC9XaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+Ci0gICAgPFdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj50cnVlPC9XaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+Ci0gICAgPFdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj50cnVlPC9XaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+Ci0gICAgPFdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj50cnVlPC9XaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+CisgIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJDb25maWd1cmF0aW9uIj4KICAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgogICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+CiAgIDwvUHJvcGVydHlHcm91cD4KICAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAucHJvcHMiIC8+CiAgIDxJbXBvcnRHcm91cCBMYWJlbD0iRXh0ZW5zaW9uU2V0dGluZ3MiPgogICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+CisgIDxJbXBvcnRHcm91cCBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgogICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InNxbGl0ZTMucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJwZ3VwZGF0ZS5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJzcWxpdGUzLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icGdpbnN0cnVtZW50LnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJzcWxpdGUzLnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0ic3FsaXRlMy5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9ImRlYnVnLnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InNxbGl0ZTMucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJ4NjQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJwZ3VwZGF0ZS5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0ic3FsaXRlMy5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9Ing2NC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InBnaW5zdHJ1bWVudC5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InNxbGl0ZTMucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJ4NjQucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0ic3FsaXRlMy5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9ImRlYnVnLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0ieDY0LnByb3BzIiAvPgorICAgIDxJbXBvcnQgUHJvamVjdD0icHlwcm9qZWN0LnByb3BzIiAvPgogICA8L0ltcG9ydEdyb3VwPgogICA8UHJvcGVydHlHcm91cCBMYWJlbD0iVXNlck1hY3JvcyIgLz4KICAgPFByb3BlcnR5R3JvdXA+CiAgICAgPF9Qcm9qZWN0RmlsZVZlcnNpb24+MTAuMC4zMDMxOS4xPC9fUHJvamVjdEZpbGVWZXJzaW9uPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyIgLz4KICAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPiUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPExpbms+Ci0gICAgICA8T3V0cHV0RmlsZT4kKE91dERpcikkKFByb2plY3ROYW1lKV9kLmRsbDwvT3V0cHV0RmlsZT4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIj4KLSAgICA8TWlkbD4KLSAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5YNjQ8L1RhcmdldEVudmlyb25tZW50PgotICAgIDwvTWlkbD4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8TGluaz4KLSAgICAgIDxPdXRwdXRGaWxlPiQoT3V0RGlyKSQoUHJvamVjdE5hbWUpX2QuZGxsPC9PdXRwdXRGaWxlPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8TGluaz4KLSAgICAgIDxPdXRwdXRGaWxlPiQoT3V0RGlyKSQoUHJvamVjdE5hbWUpLmRsbDwvT3V0cHV0RmlsZT4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPgotICAgIDxNaWRsPgotICAgICAgPFRhcmdldEVudmlyb25tZW50Plg2NDwvVGFyZ2V0RW52aXJvbm1lbnQ+Ci0gICAgPC9NaWRsPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4lKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgotICAgIDwvQ2xDb21waWxlPgotICAgIDxMaW5rPgotICAgICAgPE91dHB1dEZpbGU+JChPdXREaXIpJChQcm9qZWN0TmFtZSkuZGxsPC9PdXRwdXRGaWxlPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciPgorICA8SXRlbURlZmluaXRpb25Hcm91cD4KICAgICA8Q2xDb21waWxlPgogICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+JChzcWxpdGUzRGlyKTslKEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPgotICAgIDwvQ2xDb21waWxlPgotICAgIDxMaW5rPgotICAgICAgPE91dHB1dEZpbGU+JChPdXREaXIpJChQcm9qZWN0TmFtZSkuZGxsPC9PdXRwdXRGaWxlPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIj4KLSAgICA8TWlkbD4KLSAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5YNjQ8L1RhcmdldEVudmlyb25tZW50PgotICAgIDwvTWlkbD4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4KLSAgICA8L0NsQ29tcGlsZT4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyI+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPiUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+Ci0gICAgPC9DbENvbXBpbGU+Ci0gICAgPExpbms+Ci0gICAgICA8T3V0cHV0RmlsZT4kKE91dERpcikkKFByb2plY3ROYW1lKS5kbGw8L091dHB1dEZpbGU+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyI+Ci0gICAgPE1pZGw+Ci0gICAgICA8VGFyZ2V0RW52aXJvbm1lbnQ+WDY0PC9UYXJnZXRFbnZpcm9ubWVudD4KLSAgICA8L01pZGw+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPiUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+CisgICAgICA8UHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+U1FMSVRFX0FQST1fX2RlY2xzcGVjKGRsbGV4cG9ydCk7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgorICAgICAgPFdhcm5pbmdMZXZlbD5MZXZlbDE8L1dhcm5pbmdMZXZlbD4KICAgICA8L0NsQ29tcGlsZT4KICAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgogICA8SXRlbUdyb3VwPgpAQCAtMjI4LDEyICs3MSw2IEBACiAgIDxJdGVtR3JvdXA+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKHNxbGl0ZTNEaXIpXHNxbGl0ZTMuYyIgLz4KICAgPC9JdGVtR3JvdXA+Ci0gIDxJdGVtR3JvdXA+Ci0gICAgPFByb2plY3RSZWZlcmVuY2UgSW5jbHVkZT0ia2lsbF9weXRob24udmN4cHJvaiI+Ci0gICAgICA8UHJvamVjdD57NmRlMTA3NDQtZTM5Ni00MGE1LWI0ZTItMWI2OWFhN2M4ZDMxfTwvUHJvamVjdD4KLSAgICAgIDxSZWZlcmVuY2VPdXRwdXRBc3NlbWJseT5mYWxzZTwvUmVmZXJlbmNlT3V0cHV0QXNzZW1ibHk+Ci0gICAgPC9Qcm9qZWN0UmVmZXJlbmNlPgotICA8L0l0ZW1Hcm91cD4KICAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAudGFyZ2V0cyIgLz4KICAgPEltcG9ydEdyb3VwIExhYmVsPSJFeHRlbnNpb25UYXJnZXRzIj4KICAgPC9JbXBvcnRHcm91cD4KZGlmZiAtLWdpdCBhL1BDYnVpbGQvc3NsLnZjeHByb2ogYi9QQ2J1aWxkL3NzbC52Y3hwcm9qCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkNWVhYzlhLi4wMDAwMDAwCi0tLSBhL1BDYnVpbGQvc3NsLnZjeHByb2oKKysrIC9kZXYvbnVsbApAQCAtMSwyMjEgKzAsMCBAQAot77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KLTxQcm9qZWN0IERlZmF1bHRUYXJnZXRzPSJCdWlsZCIgVG9vbHNWZXJzaW9uPSI0LjAiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2RldmVsb3Blci9tc2J1aWxkLzIwMDMiPgotICA8SXRlbUdyb3VwIExhYmVsPSJQcm9qZWN0Q29uZmlndXJhdGlvbnMiPgotICAgIDxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJEZWJ1Z3xXaW4zMiI+Ci0gICAgICA8Q29uZmlndXJhdGlvbj5EZWJ1ZzwvQ29uZmlndXJhdGlvbj4KLSAgICAgIDxQbGF0Zm9ybT5XaW4zMjwvUGxhdGZvcm0+Ci0gICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KLSAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iRGVidWd8eDY0Ij4KLSAgICAgIDxDb25maWd1cmF0aW9uPkRlYnVnPC9Db25maWd1cmF0aW9uPgotICAgICAgPFBsYXRmb3JtPng2NDwvUGxhdGZvcm0+Ci0gICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KLSAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iUEdJbnN0cnVtZW50fFdpbjMyIj4KLSAgICAgIDxDb25maWd1cmF0aW9uPlBHSW5zdHJ1bWVudDwvQ29uZmlndXJhdGlvbj4KLSAgICAgIDxQbGF0Zm9ybT5XaW4zMjwvUGxhdGZvcm0+Ci0gICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KLSAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iUEdJbnN0cnVtZW50fHg2NCI+Ci0gICAgICA8Q29uZmlndXJhdGlvbj5QR0luc3RydW1lbnQ8L0NvbmZpZ3VyYXRpb24+Ci0gICAgICA8UGxhdGZvcm0+eDY0PC9QbGF0Zm9ybT4KLSAgICA8L1Byb2plY3RDb25maWd1cmF0aW9uPgotICAgIDxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJQR1VwZGF0ZXxXaW4zMiI+Ci0gICAgICA8Q29uZmlndXJhdGlvbj5QR1VwZGF0ZTwvQ29uZmlndXJhdGlvbj4KLSAgICAgIDxQbGF0Zm9ybT5XaW4zMjwvUGxhdGZvcm0+Ci0gICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KLSAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iUEdVcGRhdGV8eDY0Ij4KLSAgICAgIDxDb25maWd1cmF0aW9uPlBHVXBkYXRlPC9Db25maWd1cmF0aW9uPgotICAgICAgPFBsYXRmb3JtPng2NDwvUGxhdGZvcm0+Ci0gICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KLSAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iUmVsZWFzZXxXaW4zMiI+Ci0gICAgICA8Q29uZmlndXJhdGlvbj5SZWxlYXNlPC9Db25maWd1cmF0aW9uPgotICAgICAgPFBsYXRmb3JtPldpbjMyPC9QbGF0Zm9ybT4KLSAgICA8L1Byb2plY3RDb25maWd1cmF0aW9uPgotICAgIDxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJSZWxlYXNlfHg2NCI+Ci0gICAgICA8Q29uZmlndXJhdGlvbj5SZWxlYXNlPC9Db25maWd1cmF0aW9uPgotICAgICAgPFBsYXRmb3JtPng2NDwvUGxhdGZvcm0+Ci0gICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KLSAgPC9JdGVtR3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJHbG9iYWxzIj4KLSAgICA8UHJvamVjdEd1aWQ+e0U1QjA0Q0MwLUVCNEMtNDJBQi1CNERDLTE4RUY5NUY4NjRCMH08L1Byb2plY3RHdWlkPgotICAgIDxSb290TmFtZXNwYWNlPnNzbDwvUm9vdE5hbWVzcGFjZT4KLSAgICA8S2V5d29yZD5NYWtlRmlsZVByb2o8L0tleXdvcmQ+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAuRGVmYXVsdC5wcm9wcyIgLz4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+TWFrZWZpbGU8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPk1ha2VmaWxlPC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+TWFrZWZpbGU8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+TWFrZWZpbGU8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPk1ha2VmaWxlPC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+TWFrZWZpbGU8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+TWFrZWZpbGU8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPk1ha2VmaWxlPC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLnByb3BzIiAvPgotICA8SW1wb3J0R3JvdXAgTGFiZWw9IkV4dGVuc2lvblNldHRpbmdzIj4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InBndXBkYXRlLnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InBnaW5zdHJ1bWVudC5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlkLnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlkX2QucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlkLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0ieDY0LnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icGd1cGRhdGUucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9Ing2NC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InBnaW5zdHJ1bWVudC5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9Ing2NC5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWRfZC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9Ing2NC5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgTGFiZWw9IlVzZXJNYWNyb3MiIC8+Ci0gIDxQcm9wZXJ0eUdyb3VwPgotICAgIDxfUHJvamVjdEZpbGVWZXJzaW9uPjEwLjAuMzAzMTkuMTwvX1Byb2plY3RGaWxlVmVyc2lvbj4KLSAgICA8Tk1ha2VCdWlsZENvbW1hbmRMaW5lIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIj5jZCAiJChTb2x1dGlvbkRpcikiCi0iJChQeXRob25FeGUpIiBidWlsZF9zc2wucHkgUmVsZWFzZSAkKFBsYXRmb3JtKSAtYQotPC9OTWFrZUJ1aWxkQ29tbWFuZExpbmU+Ci0gICAgPE5NYWtlUmVCdWlsZENvbW1hbmRMaW5lIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIiAvPgotICAgIDxOTWFrZUNsZWFuQ29tbWFuZExpbmUgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPmVjaG8gT3BlblNTTCBtdXN0IGJlIGNsZWFuZWQgbWFudWFsbHkgaWYgeW91IHdhbnQgdG8gcmVidWlsZCBpdC48L05NYWtlQ2xlYW5Db21tYW5kTGluZT4KLSAgICA8Tk1ha2VPdXRwdXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciIC8+Ci0gICAgPE5NYWtlUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPiQoTk1ha2VQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L05NYWtlUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgPE5NYWtlSW5jbHVkZVNlYXJjaFBhdGggQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPiQoTk1ha2VJbmNsdWRlU2VhcmNoUGF0aCk8L05NYWtlSW5jbHVkZVNlYXJjaFBhdGg+Ci0gICAgPE5NYWtlRm9yY2VkSW5jbHVkZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPiQoTk1ha2VGb3JjZWRJbmNsdWRlcyk8L05NYWtlRm9yY2VkSW5jbHVkZXM+Ci0gICAgPE5NYWtlQXNzZW1ibHlTZWFyY2hQYXRoIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIj4kKE5NYWtlQXNzZW1ibHlTZWFyY2hQYXRoKTwvTk1ha2VBc3NlbWJseVNlYXJjaFBhdGg+Ci0gICAgPE5NYWtlRm9yY2VkVXNpbmdBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIj4kKE5NYWtlRm9yY2VkVXNpbmdBc3NlbWJsaWVzKTwvTk1ha2VGb3JjZWRVc2luZ0Fzc2VtYmxpZXM+Ci0gICAgPE5NYWtlQnVpbGRDb21tYW5kTGluZSBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPmNkICIkKFNvbHV0aW9uRGlyKSIKLSIkKFB5dGhvbkV4ZSkiIGJ1aWxkX3NzbC5weSBSZWxlYXNlICQoUGxhdGZvcm0pIC1hCi08L05NYWtlQnVpbGRDb21tYW5kTGluZT4KLSAgICA8Tk1ha2VSZUJ1aWxkQ29tbWFuZExpbmUgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIiAvPgotICAgIDxOTWFrZUNsZWFuQ29tbWFuZExpbmUgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIj5lY2hvIE9wZW5TU0wgbXVzdCBiZSBjbGVhbmVkIG1hbnVhbGx5IGlmIHlvdSB3YW50IHRvIHJlYnVpbGQgaXQuPC9OTWFrZUNsZWFuQ29tbWFuZExpbmU+Ci0gICAgPE5NYWtlT3V0cHV0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyIgLz4KLSAgICA8Tk1ha2VQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPiQoTk1ha2VQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L05NYWtlUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgPE5NYWtlSW5jbHVkZVNlYXJjaFBhdGggQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIj4kKE5NYWtlSW5jbHVkZVNlYXJjaFBhdGgpPC9OTWFrZUluY2x1ZGVTZWFyY2hQYXRoPgotICAgIDxOTWFrZUZvcmNlZEluY2x1ZGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyI+JChOTWFrZUZvcmNlZEluY2x1ZGVzKTwvTk1ha2VGb3JjZWRJbmNsdWRlcz4KLSAgICA8Tk1ha2VBc3NlbWJseVNlYXJjaFBhdGggQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIj4kKE5NYWtlQXNzZW1ibHlTZWFyY2hQYXRoKTwvTk1ha2VBc3NlbWJseVNlYXJjaFBhdGg+Ci0gICAgPE5NYWtlRm9yY2VkVXNpbmdBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyI+JChOTWFrZUZvcmNlZFVzaW5nQXNzZW1ibGllcyk8L05NYWtlRm9yY2VkVXNpbmdBc3NlbWJsaWVzPgotICAgIDxOTWFrZUJ1aWxkQ29tbWFuZExpbmUgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+Y2QgIiQoU29sdXRpb25EaXIpIgotIiQoUHl0aG9uRXhlKSIgYnVpbGRfc3NsLnB5IFJlbGVhc2UgJChQbGF0Zm9ybSkgLWEKLTwvTk1ha2VCdWlsZENvbW1hbmRMaW5lPgotICAgIDxOTWFrZVJlQnVpbGRDb21tYW5kTGluZSBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiAvPgotICAgIDxOTWFrZUNsZWFuQ29tbWFuZExpbmUgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+ZWNobyBPcGVuU1NMIG11c3QgYmUgY2xlYW5lZCBtYW51YWxseSBpZiB5b3Ugd2FudCB0byByZWJ1aWxkIGl0LjwvTk1ha2VDbGVhbkNvbW1hbmRMaW5lPgotICAgIDxOTWFrZU91dHB1dCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiAvPgotICAgIDxOTWFrZVByZXByb2Nlc3NvckRlZmluaXRpb25zIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPiQoTk1ha2VQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L05NYWtlUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgPE5NYWtlSW5jbHVkZVNlYXJjaFBhdGggQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+JChOTWFrZUluY2x1ZGVTZWFyY2hQYXRoKTwvTk1ha2VJbmNsdWRlU2VhcmNoUGF0aD4KLSAgICA8Tk1ha2VGb3JjZWRJbmNsdWRlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj4kKE5NYWtlRm9yY2VkSW5jbHVkZXMpPC9OTWFrZUZvcmNlZEluY2x1ZGVzPgotICAgIDxOTWFrZUFzc2VtYmx5U2VhcmNoUGF0aCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj4kKE5NYWtlQXNzZW1ibHlTZWFyY2hQYXRoKTwvTk1ha2VBc3NlbWJseVNlYXJjaFBhdGg+Ci0gICAgPE5NYWtlRm9yY2VkVXNpbmdBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPiQoTk1ha2VGb3JjZWRVc2luZ0Fzc2VtYmxpZXMpPC9OTWFrZUZvcmNlZFVzaW5nQXNzZW1ibGllcz4KLSAgICA8Tk1ha2VCdWlsZENvbW1hbmRMaW5lIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj5jZCAiJChTb2x1dGlvbkRpcikiCi0iJChQeXRob25FeGUpIiBidWlsZF9zc2wucHkgUmVsZWFzZSAkKFBsYXRmb3JtKSAtYQotPC9OTWFrZUJ1aWxkQ29tbWFuZExpbmU+Ci0gICAgPE5NYWtlUmVCdWlsZENvbW1hbmRMaW5lIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIiAvPgotICAgIDxOTWFrZUNsZWFuQ29tbWFuZExpbmUgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPmVjaG8gT3BlblNTTCBtdXN0IGJlIGNsZWFuZWQgbWFudWFsbHkgaWYgeW91IHdhbnQgdG8gcmVidWlsZCBpdC48L05NYWtlQ2xlYW5Db21tYW5kTGluZT4KLSAgICA8Tk1ha2VPdXRwdXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIC8+Ci0gICAgPE5NYWtlUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPiQoTk1ha2VQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L05NYWtlUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgPE5NYWtlSW5jbHVkZVNlYXJjaFBhdGggQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPiQoTk1ha2VJbmNsdWRlU2VhcmNoUGF0aCk8L05NYWtlSW5jbHVkZVNlYXJjaFBhdGg+Ci0gICAgPE5NYWtlRm9yY2VkSW5jbHVkZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPiQoTk1ha2VGb3JjZWRJbmNsdWRlcyk8L05NYWtlRm9yY2VkSW5jbHVkZXM+Ci0gICAgPE5NYWtlQXNzZW1ibHlTZWFyY2hQYXRoIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj4kKE5NYWtlQXNzZW1ibHlTZWFyY2hQYXRoKTwvTk1ha2VBc3NlbWJseVNlYXJjaFBhdGg+Ci0gICAgPE5NYWtlRm9yY2VkVXNpbmdBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj4kKE5NYWtlRm9yY2VkVXNpbmdBc3NlbWJsaWVzKTwvTk1ha2VGb3JjZWRVc2luZ0Fzc2VtYmxpZXM+Ci0gICAgPE5NYWtlQnVpbGRDb21tYW5kTGluZSBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciPmNkICIkKFNvbHV0aW9uRGlyKSIKLSIkKFB5dGhvbkV4ZSkiIGJ1aWxkX3NzbC5weSBSZWxlYXNlICQoUGxhdGZvcm0pIC1hCi08L05NYWtlQnVpbGRDb21tYW5kTGluZT4KLSAgICA8Tk1ha2VSZUJ1aWxkQ29tbWFuZExpbmUgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIiAvPgotICAgIDxOTWFrZUNsZWFuQ29tbWFuZExpbmUgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIj5lY2hvIE9wZW5TU0wgbXVzdCBiZSBjbGVhbmVkIG1hbnVhbGx5IGlmIHlvdSB3YW50IHRvIHJlYnVpbGQgaXQuPC9OTWFrZUNsZWFuQ29tbWFuZExpbmU+Ci0gICAgPE5NYWtlT3V0cHV0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyIgLz4KLSAgICA8Tk1ha2VQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciPiQoTk1ha2VQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L05NYWtlUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgPE5NYWtlSW5jbHVkZVNlYXJjaFBhdGggQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIj4kKE5NYWtlSW5jbHVkZVNlYXJjaFBhdGgpPC9OTWFrZUluY2x1ZGVTZWFyY2hQYXRoPgotICAgIDxOTWFrZUZvcmNlZEluY2x1ZGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyI+JChOTWFrZUZvcmNlZEluY2x1ZGVzKTwvTk1ha2VGb3JjZWRJbmNsdWRlcz4KLSAgICA8Tk1ha2VBc3NlbWJseVNlYXJjaFBhdGggQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIj4kKE5NYWtlQXNzZW1ibHlTZWFyY2hQYXRoKTwvTk1ha2VBc3NlbWJseVNlYXJjaFBhdGg+Ci0gICAgPE5NYWtlRm9yY2VkVXNpbmdBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyI+JChOTWFrZUZvcmNlZFVzaW5nQXNzZW1ibGllcyk8L05NYWtlRm9yY2VkVXNpbmdBc3NlbWJsaWVzPgotICAgIDxOTWFrZUJ1aWxkQ29tbWFuZExpbmUgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyI+Y2QgIiQoU29sdXRpb25EaXIpIgotIiQoUHl0aG9uRXhlKSIgYnVpbGRfc3NsLnB5IFJlbGVhc2UgJChQbGF0Zm9ybSkgLWEKLTwvTk1ha2VCdWlsZENvbW1hbmRMaW5lPgotICAgIDxOTWFrZVJlQnVpbGRDb21tYW5kTGluZSBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIiAvPgotICAgIDxOTWFrZUNsZWFuQ29tbWFuZExpbmUgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyI+ZWNobyBPcGVuU1NMIG11c3QgYmUgY2xlYW5lZCBtYW51YWxseSBpZiB5b3Ugd2FudCB0byByZWJ1aWxkIGl0LjwvTk1ha2VDbGVhbkNvbW1hbmRMaW5lPgotICAgIDxOTWFrZU91dHB1dCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIiAvPgotICAgIDxOTWFrZVByZXByb2Nlc3NvckRlZmluaXRpb25zIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciPiQoTk1ha2VQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L05NYWtlUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgPE5NYWtlSW5jbHVkZVNlYXJjaFBhdGggQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyI+JChOTWFrZUluY2x1ZGVTZWFyY2hQYXRoKTwvTk1ha2VJbmNsdWRlU2VhcmNoUGF0aD4KLSAgICA8Tk1ha2VGb3JjZWRJbmNsdWRlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIj4kKE5NYWtlRm9yY2VkSW5jbHVkZXMpPC9OTWFrZUZvcmNlZEluY2x1ZGVzPgotICAgIDxOTWFrZUFzc2VtYmx5U2VhcmNoUGF0aCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIj4kKE5NYWtlQXNzZW1ibHlTZWFyY2hQYXRoKTwvTk1ha2VBc3NlbWJseVNlYXJjaFBhdGg+Ci0gICAgPE5NYWtlRm9yY2VkVXNpbmdBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciPiQoTk1ha2VGb3JjZWRVc2luZ0Fzc2VtYmxpZXMpPC9OTWFrZUZvcmNlZFVzaW5nQXNzZW1ibGllcz4KLSAgICA8Tk1ha2VCdWlsZENvbW1hbmRMaW5lIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIj5jZCAiJChTb2x1dGlvbkRpcikiCi0iJChQeXRob25FeGUpIiBidWlsZF9zc2wucHkgUmVsZWFzZSAkKFBsYXRmb3JtKSAtYQotPC9OTWFrZUJ1aWxkQ29tbWFuZExpbmU+Ci0gICAgPE5NYWtlUmVCdWlsZENvbW1hbmRMaW5lIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIiAvPgotICAgIDxOTWFrZUNsZWFuQ29tbWFuZExpbmUgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciPmVjaG8gT3BlblNTTCBtdXN0IGJlIGNsZWFuZWQgbWFudWFsbHkgaWYgeW91IHdhbnQgdG8gcmVidWlsZCBpdC48L05NYWtlQ2xlYW5Db21tYW5kTGluZT4KLSAgICA8Tk1ha2VPdXRwdXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciIC8+Ci0gICAgPE5NYWtlUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciPiQoTk1ha2VQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L05NYWtlUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgPE5NYWtlSW5jbHVkZVNlYXJjaFBhdGggQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciPiQoTk1ha2VJbmNsdWRlU2VhcmNoUGF0aCk8L05NYWtlSW5jbHVkZVNlYXJjaFBhdGg+Ci0gICAgPE5NYWtlRm9yY2VkSW5jbHVkZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciPiQoTk1ha2VGb3JjZWRJbmNsdWRlcyk8L05NYWtlRm9yY2VkSW5jbHVkZXM+Ci0gICAgPE5NYWtlQXNzZW1ibHlTZWFyY2hQYXRoIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIj4kKE5NYWtlQXNzZW1ibHlTZWFyY2hQYXRoKTwvTk1ha2VBc3NlbWJseVNlYXJjaFBhdGg+Ci0gICAgPE5NYWtlRm9yY2VkVXNpbmdBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIj4kKE5NYWtlRm9yY2VkVXNpbmdBc3NlbWJsaWVzKTwvTk1ha2VGb3JjZWRVc2luZ0Fzc2VtYmxpZXM+Ci0gICAgPE5NYWtlQnVpbGRDb21tYW5kTGluZSBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciPmNkICIkKFNvbHV0aW9uRGlyKSIKLSIkKFB5dGhvbkV4ZSkiIGJ1aWxkX3NzbC5weSBSZWxlYXNlICQoUGxhdGZvcm0pIC1hCi08L05NYWtlQnVpbGRDb21tYW5kTGluZT4KLSAgICA8Tk1ha2VSZUJ1aWxkQ29tbWFuZExpbmUgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIiAvPgotICAgIDxOTWFrZUNsZWFuQ29tbWFuZExpbmUgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIj5lY2hvIE9wZW5TU0wgbXVzdCBiZSBjbGVhbmVkIG1hbnVhbGx5IGlmIHlvdSB3YW50IHRvIHJlYnVpbGQgaXQuPC9OTWFrZUNsZWFuQ29tbWFuZExpbmU+Ci0gICAgPE5NYWtlT3V0cHV0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyIgLz4KLSAgICA8Tk1ha2VQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciPiQoTk1ha2VQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L05NYWtlUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+Ci0gICAgPE5NYWtlSW5jbHVkZVNlYXJjaFBhdGggQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIj4kKE5NYWtlSW5jbHVkZVNlYXJjaFBhdGgpPC9OTWFrZUluY2x1ZGVTZWFyY2hQYXRoPgotICAgIDxOTWFrZUZvcmNlZEluY2x1ZGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyI+JChOTWFrZUZvcmNlZEluY2x1ZGVzKTwvTk1ha2VGb3JjZWRJbmNsdWRlcz4KLSAgICA8Tk1ha2VBc3NlbWJseVNlYXJjaFBhdGggQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIj4kKE5NYWtlQXNzZW1ibHlTZWFyY2hQYXRoKTwvTk1ha2VBc3NlbWJseVNlYXJjaFBhdGg+Ci0gICAgPE5NYWtlRm9yY2VkVXNpbmdBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyI+JChOTWFrZUZvcmNlZFVzaW5nQXNzZW1ibGllcyk8L05NYWtlRm9yY2VkVXNpbmdBc3NlbWJsaWVzPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtR3JvdXA+Ci0gICAgPFByb2plY3RSZWZlcmVuY2UgSW5jbHVkZT0icHl0aG9uLnZjeHByb2oiPgotICAgICAgPFByb2plY3Q+e2IxMWQ3NTBmLWNkMWYtNGE5Ni04NWNlLWU2OWE1YzUyNTlmOX08L1Byb2plY3Q+Ci0gICAgICA8UmVmZXJlbmNlT3V0cHV0QXNzZW1ibHk+ZmFsc2U8L1JlZmVyZW5jZU91dHB1dEFzc2VtYmx5PgotICAgIDwvUHJvamVjdFJlZmVyZW5jZT4KLSAgPC9JdGVtR3JvdXA+Ci0gIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLnRhcmdldHMiIC8+Ci0gIDxJbXBvcnRHcm91cCBMYWJlbD0iRXh0ZW5zaW9uVGFyZ2V0cyI+Ci0gIDwvSW1wb3J0R3JvdXA+Ci08L1Byb2plY3Q+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvUENidWlsZC9zc2xlYXkudmN4cHJvaiBiL1BDYnVpbGQvc3NsZWF5LnZjeHByb2oKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmE4YzVkMwotLS0gL2Rldi9udWxsCisrKyBiL1BDYnVpbGQvc3NsZWF5LnZjeHByb2oKQEAgLTAsMCArMSwxMTkgQEAKK++7vzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Cis8UHJvamVjdCBEZWZhdWx0VGFyZ2V0cz0iQnVpbGQiIFRvb2xzVmVyc2lvbj0iNC4wIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4KKyAgPEl0ZW1Hcm91cCBMYWJlbD0iUHJvamVjdENvbmZpZ3VyYXRpb25zIj4KKyAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iRGVidWd8V2luMzIiPgorICAgICAgPENvbmZpZ3VyYXRpb24+RGVidWc8L0NvbmZpZ3VyYXRpb24+CisgICAgICA8UGxhdGZvcm0+V2luMzI8L1BsYXRmb3JtPgorICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+CisgICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IlJlbGVhc2V8V2luMzIiPgorICAgICAgPENvbmZpZ3VyYXRpb24+UmVsZWFzZTwvQ29uZmlndXJhdGlvbj4KKyAgICAgIDxQbGF0Zm9ybT5XaW4zMjwvUGxhdGZvcm0+CisgICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KKyAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iUEdJbnN0cnVtZW50fFdpbjMyIj4KKyAgICAgIDxDb25maWd1cmF0aW9uPlBHSW5zdHJ1bWVudDwvQ29uZmlndXJhdGlvbj4KKyAgICAgIDxQbGF0Zm9ybT5XaW4zMjwvUGxhdGZvcm0+CisgICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KKyAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iUEdJbnN0cnVtZW50fHg2NCI+CisgICAgICA8Q29uZmlndXJhdGlvbj5QR0luc3RydW1lbnQ8L0NvbmZpZ3VyYXRpb24+CisgICAgICA8UGxhdGZvcm0+eDY0PC9QbGF0Zm9ybT4KKyAgICA8L1Byb2plY3RDb25maWd1cmF0aW9uPgorICAgIDxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJQR1VwZGF0ZXxXaW4zMiI+CisgICAgICA8Q29uZmlndXJhdGlvbj5QR1VwZGF0ZTwvQ29uZmlndXJhdGlvbj4KKyAgICAgIDxQbGF0Zm9ybT5XaW4zMjwvUGxhdGZvcm0+CisgICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KKyAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iUEdVcGRhdGV8eDY0Ij4KKyAgICAgIDxDb25maWd1cmF0aW9uPlBHVXBkYXRlPC9Db25maWd1cmF0aW9uPgorICAgICAgPFBsYXRmb3JtPng2NDwvUGxhdGZvcm0+CisgICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KKyAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iRGVidWd8eDY0Ij4KKyAgICAgIDxDb25maWd1cmF0aW9uPkRlYnVnPC9Db25maWd1cmF0aW9uPgorICAgICAgPFBsYXRmb3JtPng2NDwvUGxhdGZvcm0+CisgICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KKyAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iUmVsZWFzZXx4NjQiPgorICAgICAgPENvbmZpZ3VyYXRpb24+UmVsZWFzZTwvQ29uZmlndXJhdGlvbj4KKyAgICAgIDxQbGF0Zm9ybT54NjQ8L1BsYXRmb3JtPgorICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+CisgIDwvSXRlbUdyb3VwPgorICA8UHJvcGVydHlHcm91cCBMYWJlbD0iR2xvYmFscyI+CisgICAgPFByb2plY3RHdWlkPnsxMDYxNUIyNC03M0JGLTRFRkEtOTNBQS0yMzY5MTYzMjEzMTd9PC9Qcm9qZWN0R3VpZD4KKyAgICA8Um9vdE5hbWVzcGFjZT5zc2xlYXk8L1Jvb3ROYW1lc3BhY2U+CisgIDwvUHJvcGVydHlHcm91cD4KKworICA8SW1wb3J0IFByb2plY3Q9InB5dGhvbi5wcm9wcyIgLz4KKyAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAuRGVmYXVsdC5wcm9wcyIgLz4KKworICA8UHJvcGVydHlHcm91cCBMYWJlbD0iQ29uZmlndXJhdGlvbiI+CisgICAgPENvbmZpZ3VyYXRpb25UeXBlPlN0YXRpY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgorICA8L1Byb3BlcnR5R3JvdXA+CisKKyAgPEltcG9ydCBQcm9qZWN0PSJvcGVuc3NsLnByb3BzIiAvPgorICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC5wcm9wcyIgLz4KKworICA8SXRlbUdyb3VwPgorICAgIDwhLS0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpcilzc2xcYmlvX3NzbC5jIiAvPgorICAgIC0tPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKXNzbFxkMV9ib3RoLmMiIC8+CisgICAgPCEtLQorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKXNzbFxkMV9jbG50LmMiIC8+CisgICAgLS0+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpc3NsXGQxX2VuYy5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKXNzbFxkMV9saWIuYyIgLz4KKyAgICA8IS0tCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpc3NsXGQxX21ldGguYyIgLz4KKyAgICAtLT4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpcilzc2xcZDFfcGt0LmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpc3NsXGQxX3NydHAuYyIgLz4KKyAgICA8IS0tCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpc3NsXGQxX3NydnIuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpcilzc2xca3NzbC5jIiAvPgorICAgIC0tPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKXNzbFxzMl9jbG50LmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpc3NsXHMyX2VuYy5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKXNzbFxzMl9saWIuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpcilzc2xcczJfbWV0aC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKXNzbFxzMl9wa3QuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpcilzc2xcczJfc3J2ci5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKXNzbFxzMjNfY2xudC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKXNzbFxzMjNfbGliLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpc3NsXHMyM19tZXRoLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpc3NsXHMyM19wa3QuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpcilzc2xcczIzX3NydnIuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpcilzc2xcczNfYm90aC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKXNzbFxzM19jYmMuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpcilzc2xcczNfY2xudC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKXNzbFxzM19lbmMuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpcilzc2xcczNfbGliLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpc3NsXHMzX21ldGguYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpcilzc2xcczNfcGt0LmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpc3NsXHMzX3NydnIuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpcilzc2xcc3NsX2FsZ3MuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpcilzc2xcc3NsX2FzbjEuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpcilzc2xcc3NsX2NlcnQuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpcilzc2xcc3NsX2NpcGguYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpcilzc2xcc3NsX2Vyci5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKXNzbFxzc2xfZXJyMi5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKXNzbFxzc2xfbGliLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpc3NsXHNzbF9yc2EuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpcilzc2xcc3NsX3Nlc3MuYyIgLz4KKyAgICA8IS0tCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpc3NsXHNzbF9zdGF0LmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpc3NsXHNzbF90eHQuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpcilzc2xcc3NsX3V0c3QuYyIgLz4KKyAgICAtLT4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpcilzc2xcdDFfY2xudC5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKXNzbFx0MV9lbmMuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpcilzc2xcdDFfbGliLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpc3NsXHQxX21ldGguYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpcilzc2xcdDFfcmVuZWcuYyIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpcilzc2xcdDFfc3J2ci5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChvcGVuc3NsRGlyKXNzbFx0bHNfc3JwLmMiIC8+CisgIDwvSXRlbUdyb3VwPgorICAKKyAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAudGFyZ2V0cyIgLz4KKyAgPFRhcmdldCBOYW1lPSJDbGVhbiIgLz4KKyAgPFRhcmdldCBOYW1lPSJDbGVhbkFsbCI+CisgICAgPERlbGV0ZSBGaWxlcz0iJChUYXJnZXRQYXRoKSIgLz4KKyAgICA8UmVtb3ZlRGlyIERpcmVjdG9yaWVzPSIkKEludERpcikiIC8+CisgIDwvVGFyZ2V0PgorPC9Qcm9qZWN0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL1BDYnVpbGQvdGNsLnZjeHByb2ogYi9QQ2J1aWxkL3RjbC52Y3hwcm9qCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhmMjU0NGEKLS0tIC9kZXYvbnVsbAorKysgYi9QQ2J1aWxkL3RjbC52Y3hwcm9qCkBAIC0wLDAgKzEsOTAgQEAKK++7vzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Cis8UHJvamVjdCBEZWZhdWx0VGFyZ2V0cz0iQnVpbGQiIFRvb2xzVmVyc2lvbj0iNC4wIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4KKyAgPEl0ZW1Hcm91cCBMYWJlbD0iUHJvamVjdENvbmZpZ3VyYXRpb25zIj4KKyAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iRGVidWd8V2luMzIiPgorICAgICAgPENvbmZpZ3VyYXRpb24+RGVidWc8L0NvbmZpZ3VyYXRpb24+CisgICAgICA8UGxhdGZvcm0+V2luMzI8L1BsYXRmb3JtPgorICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+CisgICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IlJlbGVhc2V8V2luMzIiPgorICAgICAgPENvbmZpZ3VyYXRpb24+UmVsZWFzZTwvQ29uZmlndXJhdGlvbj4KKyAgICAgIDxQbGF0Zm9ybT5XaW4zMjwvUGxhdGZvcm0+CisgICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KKyAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iUEdJbnN0cnVtZW50fFdpbjMyIj4KKyAgICAgIDxDb25maWd1cmF0aW9uPlBHSW5zdHJ1bWVudDwvQ29uZmlndXJhdGlvbj4KKyAgICAgIDxQbGF0Zm9ybT5XaW4zMjwvUGxhdGZvcm0+CisgICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KKyAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iUEdJbnN0cnVtZW50fHg2NCI+CisgICAgICA8Q29uZmlndXJhdGlvbj5QR0luc3RydW1lbnQ8L0NvbmZpZ3VyYXRpb24+CisgICAgICA8UGxhdGZvcm0+eDY0PC9QbGF0Zm9ybT4KKyAgICA8L1Byb2plY3RDb25maWd1cmF0aW9uPgorICAgIDxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJQR1VwZGF0ZXxXaW4zMiI+CisgICAgICA8Q29uZmlndXJhdGlvbj5QR1VwZGF0ZTwvQ29uZmlndXJhdGlvbj4KKyAgICAgIDxQbGF0Zm9ybT5XaW4zMjwvUGxhdGZvcm0+CisgICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KKyAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iUEdVcGRhdGV8eDY0Ij4KKyAgICAgIDxDb25maWd1cmF0aW9uPlBHVXBkYXRlPC9Db25maWd1cmF0aW9uPgorICAgICAgPFBsYXRmb3JtPng2NDwvUGxhdGZvcm0+CisgICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KKyAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iRGVidWd8eDY0Ij4KKyAgICAgIDxDb25maWd1cmF0aW9uPkRlYnVnPC9Db25maWd1cmF0aW9uPgorICAgICAgPFBsYXRmb3JtPng2NDwvUGxhdGZvcm0+CisgICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KKyAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iUmVsZWFzZXx4NjQiPgorICAgICAgPENvbmZpZ3VyYXRpb24+UmVsZWFzZTwvQ29uZmlndXJhdGlvbj4KKyAgICAgIDxQbGF0Zm9ybT54NjQ8L1BsYXRmb3JtPgorICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+CisgIDwvSXRlbUdyb3VwPgorICA8UHJvcGVydHlHcm91cCBMYWJlbD0iR2xvYmFscyI+CisgICAgPFByb2plY3RHdWlkPntCNUZENkYxRC0xMjlFLTRCRkYtOTM0MC0wMzYwNkZBQzcyODN9PC9Qcm9qZWN0R3VpZD4KKyAgPC9Qcm9wZXJ0eUdyb3VwPgorCisgIDxJbXBvcnQgUHJvamVjdD0icHl0aG9uLnByb3BzIiAvPgorICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC5EZWZhdWx0LnByb3BzIiAvPgorICA8SW1wb3J0IFByb2plY3Q9InRjbHRrLnByb3BzIiAvPgorICAKKyAgPFByb3BlcnR5R3JvdXAgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgorICAgIDxDb25maWd1cmF0aW9uVHlwZT5NYWtlZmlsZTwvQ29uZmlndXJhdGlvblR5cGU+CisgICAgPE91dERpcj4kKHRjbHRrRGlyKTwvT3V0RGlyPgorICAgIDxUYXJnZXRQYXRoPiQoT3V0RGlyKWJpblwkKHRjbERMTE5hbWUpPC9UYXJnZXRQYXRoPgorICA8L1Byb3BlcnR5R3JvdXA+CisgIAorICA8SXRlbUdyb3VwPgorICAgIDxFeHBlY3RlZE91dHB1dHMgSW5jbHVkZT0iCisgICAgICAgICQoT3V0RGlyKVxiaW5cJCh0Y2xETExOYW1lKTsKKyAgICAgICAgJChPdXREaXIpXGJpblwkKHRjbFNoRXhlTmFtZSk7CisgICAgICAgICQoT3V0RGlyKVxpbmNsdWRlXHRjbC5oOworICAgICAgICAkKE91dERpcilcbGliXHRjbCQoVGNsTWFqb3JWZXJzaW9uKTsKKyAgICAgICAgJChPdXREaXIpXGxpYlx0Y2wkKFRjbE1ham9yVmVyc2lvbikuJChUY2xNaW5vclZlcnNpb24pOworICAgICAgICAkKE91dERpcilcbGliXCQodGNsTGliTmFtZSkiIC8+CisgIDwvSXRlbUdyb3VwPgorICAKKyAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAucHJvcHMiIC8+CisgIAorICA8UHJvcGVydHlHcm91cD4KKyAgICA8VGNsT3B0cyBDb25kaXRpb249IiQoQ29uZmlndXJhdGlvbikgPT0gJ0RlYnVnJyI+c3ltYm9sczwvVGNsT3B0cz4KKyAgICA8VGNsRGlycz5JTlNUQUxMRElSPSIkKE91dERpci5UcmltRW5kKGBcYCkpIiBJTlNUQUxMX0RJUj0iJChPdXREaXIuVHJpbUVuZChgXGApKSI8L1RjbERpcnM+CisgICAgPERlYnVnRmxhZ3MgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKScgPT0gJ0RlYnVnJyI+REVCVUdGTEFHUz0iLXdkNDQ1NiAtd2Q0NDU3IC13ZDQ0NTggLXdkNDQ1OSAtd2Q0OTk2IjwvRGVidWdGbGFncz4KKyAgICA8Tk1ha2VCdWlsZENvbW1hbmRMaW5lPnNldGxvY2FsCitAKEV4cGVjdGVkT3V0cHV0cy0+J2lmIG5vdCBleGlzdCAiJShGdWxsUGF0aCkiIGdvdG8gYnVpbGQnLCcKKycpCitnb3RvIDplb2YKKzpidWlsZAorc2V0IFZDSU5TVEFMTERJUj0kKFZDSW5zdGFsbERpcikKK2NkIC9EICIkKHRjbERpcil3aW4iCitubWFrZSAtZiBtYWtlZmlsZS52YyBNQUNISU5FPSQoVGNsTWFjaGluZSkgT1BUUz0kKFRjbE9wdHMpICQoVGNsRGlycykgJChEZWJ1Z0ZsYWdzKSBjb3JlIHNoZWxsIGRsbHMKK25tYWtlIC1mIG1ha2VmaWxlLnZjIE1BQ0hJTkU9JChUY2xNYWNoaW5lKSBPUFRTPSQoVGNsT3B0cykgJChUY2xEaXJzKSAkKERlYnVnRmxhZ3MpIGluc3RhbGwtYmluYXJpZXMgaW5zdGFsbC1saWJyYXJpZXMKKzwvTk1ha2VCdWlsZENvbW1hbmRMaW5lPgorICA8L1Byb3BlcnR5R3JvdXA+CisKKyAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAudGFyZ2V0cyIgLz4KKyAgCisgIDxUYXJnZXQgTmFtZT0iQ29weURsbCIgSW5wdXRzPSIkKE91dERpcilcYmluXCQodGNsRExMTmFtZSkiIE91dHB1dHM9IiQoQnVpbGRQYXRoKSQodGNsRExMTmFtZSkiIEFmdGVyVGFyZ2V0cz0iQnVpbGQiPgorICAgIDxDb3B5IFNvdXJjZUZpbGVzPSIkKE91dERpcilcYmluXCQodGNsRExMTmFtZSkiIERlc3RpbmF0aW9uRmlsZXM9IiQoQnVpbGRQYXRoKSQodGNsRExMTmFtZSkiIC8+CisgIDwvVGFyZ2V0PgorICAKKyAgPFRhcmdldCBOYW1lPSJDbGVhbiIgLz4KKyAgPFRhcmdldCBOYW1lPSJDbGVhbkFsbCI+CisgICAgPERlbGV0ZSBGaWxlcz0iJChUYXJnZXRQYXRoKTskKEJ1aWxkUGF0aCkkKHRjbERMTE5hbWUpIiAvPgorICAgIDxSZW1vdmVEaXIgRGlyZWN0b3JpZXM9IiQoSW50RGlyKSIgLz4KKyAgPC9UYXJnZXQ+Cis8L1Byb2plY3Q+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvUENidWlsZC90Y2x0ay5wcm9wcyBiL1BDYnVpbGQvdGNsdGsucHJvcHMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjVhODY0MwotLS0gL2Rldi9udWxsCisrKyBiL1BDYnVpbGQvdGNsdGsucHJvcHMKQEAgLTAsMCArMSw0NSBAQAor77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KKzxQcm9qZWN0IFRvb2xzVmVyc2lvbj0iNC4wIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4KKyAgPEltcG9ydCBQcm9qZWN0PSJweXByb2plY3QucHJvcHMiIC8+CisgIDxQcm9wZXJ0eUdyb3VwPgorICAgIDxUY2xNYWpvclZlcnNpb24+ODwvVGNsTWFqb3JWZXJzaW9uPgorICAgIDxUY2xNaW5vclZlcnNpb24+NjwvVGNsTWlub3JWZXJzaW9uPgorICAgIDxUY2xQYXRjaExldmVsPjM8L1RjbFBhdGNoTGV2ZWw+CisgICAgPFRjbFJldmlzaW9uPjE8L1RjbFJldmlzaW9uPgorICAgIDxUa01ham9yVmVyc2lvbj4kKFRjbE1ham9yVmVyc2lvbik8L1RrTWFqb3JWZXJzaW9uPgorICAgIDxUa01pbm9yVmVyc2lvbj4kKFRjbE1pbm9yVmVyc2lvbik8L1RrTWlub3JWZXJzaW9uPgorICAgIDxUa1BhdGNoTGV2ZWw+JChUY2xQYXRjaExldmVsKTwvVGtQYXRjaExldmVsPgorICAgIDxUa1JldmlzaW9uPiQoVGNsUmV2aXNpb24pPC9Ua1JldmlzaW9uPgorICAgIDxUaXhNYWpvclZlcnNpb24+ODwvVGl4TWFqb3JWZXJzaW9uPgorICAgIDxUaXhNaW5vclZlcnNpb24+NDwvVGl4TWlub3JWZXJzaW9uPgorICAgIDxUaXhQYXRjaExldmVsPjM8L1RpeFBhdGNoTGV2ZWw+CisgICAgPFRpeFJldmlzaW9uPjQ8L1RpeFJldmlzaW9uPgorICAgIDx0Y2xEaXI+JChFeHRlcm5hbHNEaXIpdGNsLWNvcmUtJChUY2xNYWpvclZlcnNpb24pLiQoVGNsTWlub3JWZXJzaW9uKS4kKFRjbFBhdGNoTGV2ZWwpLiQoVGNsUmV2aXNpb24pXDwvdGNsRGlyPgorICAgIDx0a0Rpcj4kKEV4dGVybmFsc0Rpcil0ay0kKFRrTWFqb3JWZXJzaW9uKS4kKFRrTWlub3JWZXJzaW9uKS4kKFRrUGF0Y2hMZXZlbCkuJChUa1JldmlzaW9uKVw8L3RrRGlyPgorICAgIDx0aXhEaXI+JChFeHRlcm5hbHNEaXIpdGl4LSQoVGl4TWFqb3JWZXJzaW9uKS4kKFRpeE1pbm9yVmVyc2lvbikuJChUaXhQYXRjaExldmVsKS4kKFRpeFJldmlzaW9uKVw8L3RpeERpcj4KKyAgICA8dGNsdGtEaXI+JChFeHRlcm5hbHNEaXIpdGNsdGtcPC90Y2x0a0Rpcj4KKyAgICA8dGNsdGtEaXIgQ29uZGl0aW9uPSInJChQbGF0Zm9ybSknID09ICd4NjQnIj4kKEV4dGVybmFsc0Rpcil0Y2x0azY0XDwvdGNsdGtEaXI+CisgICAgPFRjbERlYnVnRXh0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbiknID09ICdEZWJ1ZyciPmc8L1RjbERlYnVnRXh0PgorICAgIDx0Y2xETExOYW1lPnRjbCQoVGNsTWFqb3JWZXJzaW9uKSQoVGNsTWlub3JWZXJzaW9uKXQkKFRjbERlYnVnRXh0KS5kbGw8L3RjbERMTE5hbWU+CisgICAgPHRjbExpYk5hbWU+dGNsJChUY2xNYWpvclZlcnNpb24pJChUY2xNaW5vclZlcnNpb24pdCQoVGNsRGVidWdFeHQpLmxpYjwvdGNsTGliTmFtZT4KKyAgICA8dGNsU2hFeGVOYW1lPnRjbHNoJChUY2xNYWpvclZlcnNpb24pJChUY2xNaW5vclZlcnNpb24pdCQoVGNsRGVidWdFeHQpLmV4ZTwvdGNsU2hFeGVOYW1lPgorICAgIDx0a0RMTE5hbWU+dGskKFRrTWFqb3JWZXJzaW9uKSQoVGtNaW5vclZlcnNpb24pdCQoVGNsRGVidWdFeHQpLmRsbDwvdGtETExOYW1lPgorICAgIDx0a0xpYk5hbWU+dGskKFRrTWFqb3JWZXJzaW9uKSQoVGtNaW5vclZlcnNpb24pdCQoVGNsRGVidWdFeHQpLmxpYjwvdGtMaWJOYW1lPgorICAgIDx0aXhETExOYW1lPnRpeCQoVGl4TWFqb3JWZXJzaW9uKSQoVGl4TWlub3JWZXJzaW9uKSQoVGNsRGVidWdFeHQpLmRsbDwvdGl4RExMTmFtZT4KKyAgICA8dGl4RExMUGF0aD4kKHRjbHRrRGlyKWxpYlx0aXgkKFRpeE1ham9yVmVyc2lvbikuJChUaXhNaW5vclZlcnNpb24pLiQoVGl4UGF0Y2hMZXZlbClcJCh0aXhETExOYW1lKTwvdGl4RExMUGF0aD4KKyAgICA8dGNsdGtMaWI+JCh0Y2x0a0RpcilsaWJcdGNsJChUY2xNYWpvclZlcnNpb24pJChUY2xNaW5vclZlcnNpb24pdCQoVGNsRGVidWdFeHQpLmxpYjskKHRjbHRrRGlyKWxpYlx0ayQoVGtNYWpvclZlcnNpb24pJChUa01pbm9yVmVyc2lvbil0JChUY2xEZWJ1Z0V4dCkubGliPC90Y2x0a0xpYj4KKyAgICA8VGNsTWFjaGluZT5JWDg2PC9UY2xNYWNoaW5lPgorICAgIDxUY2xNYWNoaW5lIENvbmRpdGlvbj0iJyQoUGxhdGZvcm0pJyA9PSAneDY0JyI+QU1ENjQ8L1RjbE1hY2hpbmU+CisgICAgPFRjbFZlcnNpb25zPlRDTF9NQUpPUl9WRVJTSU9OPSQoVGNsTWFqb3JWZXJzaW9uKSBUQ0xfTUlOT1JfVkVSU0lPTj0kKFRjbE1pbm9yVmVyc2lvbikgVENMX1BBVENIX0xFVkVMPSQoVGNsUGF0Y2hMZXZlbCk8L1RjbFZlcnNpb25zPgorICAgIDxUY2xTaG9ydFZlcnNpb25zPlRDTF9NQUpPUj0kKFRjbE1ham9yVmVyc2lvbikgVENMX01JTk9SPSQoVGNsTWlub3JWZXJzaW9uKSBUQ0xfUEFUQ0g9JChUY2xQYXRjaExldmVsKTwvVGNsU2hvcnRWZXJzaW9ucz4KKyAgICA8VGtWZXJzaW9ucz5US19NQUpPUl9WRVJTSU9OPSQoVGtNYWpvclZlcnNpb24pIFRLX01JTk9SX1ZFUlNJT049JChUa01pbm9yVmVyc2lvbikgVEtfUEFUQ0hfTEVWRUw9JChUa1BhdGNoTGV2ZWwpPC9Ua1ZlcnNpb25zPgorCisgICAgPEJ1aWxkRGlyVG9wPlJlbGVhc2U8L0J1aWxkRGlyVG9wPgorICAgIDxCdWlsZERpclRvcCBDb25kaXRpb249IiQoQ29uZmlndXJhdGlvbikgPT0gJ0RlYnVnJyI+RGVidWc8L0J1aWxkRGlyVG9wPgorICAgIDxCdWlsZERpclRvcCBDb25kaXRpb249IiQoVGNsTWFjaGluZSkgIT0gJ0lYODYnIj4kKEJ1aWxkRGlyVG9wKV8kKFRjbE1hY2hpbmUpPC9CdWlsZERpclRvcD4KKyAgICA8QnVpbGREaXJUb3AgQ29uZGl0aW9uPSIkKFZpc3VhbFN0dWRpb1ZlcnNpb24pID09ICcxNC4wJyI+JChCdWlsZERpclRvcClfVkMxMzwvQnVpbGREaXJUb3A+CisgICAgPEJ1aWxkRGlyVG9wIENvbmRpdGlvbj0iJChWaXN1YWxTdHVkaW9WZXJzaW9uKSA9PSAnMTIuMCciPiQoQnVpbGREaXJUb3ApX1ZDMTI8L0J1aWxkRGlyVG9wPgorICAgIDxCdWlsZERpclRvcCBDb25kaXRpb249IiQoVmlzdWFsU3R1ZGlvVmVyc2lvbikgPT0gJzExLjAnIj4kKEJ1aWxkRGlyVG9wKV9WQzExPC9CdWlsZERpclRvcD4KKyAgICA8QnVpbGREaXJUb3AgQ29uZGl0aW9uPSIkKFZpc3VhbFN0dWRpb1ZlcnNpb24pID09ICcxMC4wJyI+JChCdWlsZERpclRvcClfVkMxMDwvQnVpbGREaXJUb3A+CisgIDwvUHJvcGVydHlHcm91cD4KKzwvUHJvamVjdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9QQ2J1aWxkL3RpeC52Y3hwcm9qIGIvUENidWlsZC90aXgudmN4cHJvagpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NGE2Yjg0Ci0tLSAvZGV2L251bGwKKysrIGIvUENidWlsZC90aXgudmN4cHJvagpAQCAtMCwwICsxLDk0IEBACivvu788P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgorPFByb2plY3QgRGVmYXVsdFRhcmdldHM9IkJ1aWxkIiBUb29sc1ZlcnNpb249IjQuMCIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+CisgIDxJdGVtR3JvdXAgTGFiZWw9IlByb2plY3RDb25maWd1cmF0aW9ucyI+CisgICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IkRlYnVnfFdpbjMyIj4KKyAgICAgIDxDb25maWd1cmF0aW9uPkRlYnVnPC9Db25maWd1cmF0aW9uPgorICAgICAgPFBsYXRmb3JtPldpbjMyPC9QbGF0Zm9ybT4KKyAgICA8L1Byb2plY3RDb25maWd1cmF0aW9uPgorICAgIDxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJSZWxlYXNlfFdpbjMyIj4KKyAgICAgIDxDb25maWd1cmF0aW9uPlJlbGVhc2U8L0NvbmZpZ3VyYXRpb24+CisgICAgICA8UGxhdGZvcm0+V2luMzI8L1BsYXRmb3JtPgorICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+CisgICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IlBHSW5zdHJ1bWVudHxXaW4zMiI+CisgICAgICA8Q29uZmlndXJhdGlvbj5QR0luc3RydW1lbnQ8L0NvbmZpZ3VyYXRpb24+CisgICAgICA8UGxhdGZvcm0+V2luMzI8L1BsYXRmb3JtPgorICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+CisgICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IlBHSW5zdHJ1bWVudHx4NjQiPgorICAgICAgPENvbmZpZ3VyYXRpb24+UEdJbnN0cnVtZW50PC9Db25maWd1cmF0aW9uPgorICAgICAgPFBsYXRmb3JtPng2NDwvUGxhdGZvcm0+CisgICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KKyAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iUEdVcGRhdGV8V2luMzIiPgorICAgICAgPENvbmZpZ3VyYXRpb24+UEdVcGRhdGU8L0NvbmZpZ3VyYXRpb24+CisgICAgICA8UGxhdGZvcm0+V2luMzI8L1BsYXRmb3JtPgorICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+CisgICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IlBHVXBkYXRlfHg2NCI+CisgICAgICA8Q29uZmlndXJhdGlvbj5QR1VwZGF0ZTwvQ29uZmlndXJhdGlvbj4KKyAgICAgIDxQbGF0Zm9ybT54NjQ8L1BsYXRmb3JtPgorICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+CisgICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IkRlYnVnfHg2NCI+CisgICAgICA8Q29uZmlndXJhdGlvbj5EZWJ1ZzwvQ29uZmlndXJhdGlvbj4KKyAgICAgIDxQbGF0Zm9ybT54NjQ8L1BsYXRmb3JtPgorICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+CisgICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IlJlbGVhc2V8eDY0Ij4KKyAgICAgIDxDb25maWd1cmF0aW9uPlJlbGVhc2U8L0NvbmZpZ3VyYXRpb24+CisgICAgICA8UGxhdGZvcm0+eDY0PC9QbGF0Zm9ybT4KKyAgICA8L1Byb2plY3RDb25maWd1cmF0aW9uPgorICA8L0l0ZW1Hcm91cD4KKyAgPFByb3BlcnR5R3JvdXAgTGFiZWw9Ikdsb2JhbHMiPgorICAgIDxQcm9qZWN0R3VpZD57QzVBM0U3RkItOTY5NS00QjJFLTk2MEItMUQ5RjQzRjFFNTU1fTwvUHJvamVjdEd1aWQ+CisgICAgPFJvb3ROYW1lc3BhY2U+dGl4PC9Sb290TmFtZXNwYWNlPgorICA8L1Byb3BlcnR5R3JvdXA+CisKKyAgPEltcG9ydCBQcm9qZWN0PSJweXRob24ucHJvcHMiIC8+CisgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLkRlZmF1bHQucHJvcHMiIC8+CisgIDxJbXBvcnQgUHJvamVjdD0idGNsdGsucHJvcHMiIC8+CisgIAorICA8UHJvcGVydHlHcm91cCBMYWJlbD0iQ29uZmlndXJhdGlvbiI+CisgICAgPENvbmZpZ3VyYXRpb25UeXBlPk1ha2VmaWxlPC9Db25maWd1cmF0aW9uVHlwZT4KKyAgICA8T3V0RGlyPiQodGNsdGtEaXIpPC9PdXREaXI+CisgICAgPFRhcmdldFBhdGg+JCh0aXhETExQYXRoKTwvVGFyZ2V0UGF0aD4KKyAgPC9Qcm9wZXJ0eUdyb3VwPgorICAKKyAgPEl0ZW1Hcm91cD4KKyAgICA8RXhwZWN0ZWRPdXRwdXRzIEluY2x1ZGU9IiQoVGFyZ2V0UGF0aCkiIC8+CisgIDwvSXRlbUdyb3VwPgorICAKKyAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAucHJvcHMiIC8+CisgIAorICA8UHJvcGVydHlHcm91cD4KKyAgICA8VGtPcHRzPm1zdmNydDwvVGtPcHRzPgorICAgIDxUa09wdHMgQ29uZGl0aW9uPSIkKENvbmZpZ3VyYXRpb24pID09ICdEZWJ1ZyciPnN5bWJvbHMsbXN2Y3J0PC9Ua09wdHM+CisgICAgPFRpeERpcnM+QlVJTERESVJUT1A9IiQoQnVpbGREaXJUb3ApIiBUQ0xfRElSPSIkKHRjbERpci5UcmltRW5kKGBcYCkpIiBUS19ESVI9IiQodGtEaXIuVHJpbUVuZChgXGApKSIgSU5TVEFMTF9ESVI9IiQoT3V0RGlyLlRyaW1FbmQoYFxgKSkiPC9UaXhEaXJzPgorICAgIDxEZWJ1Z0ZsYWdzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbiknID09ICdEZWJ1ZyciPkRFQlVHPTEgTk9ERUJVRz0wIFRDTF9EQkdYPWcgREVCVUdGTEFHUz0iLXdkNDQ1NiAtd2Q0NDU3IC13ZDQ0NTggLXdkNDQ1OSAtd2Q0OTk2IjwvRGVidWdGbGFncz4KKyAgICA8RGVidWdGbGFncyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pJyAhPSAnRGVidWcnIj5ERUJVRz0wIE5PREVCVUc9MTwvRGVidWdGbGFncz4KKyAgICA8Tk1ha2VCdWlsZENvbW1hbmRMaW5lPnNldGxvY2FsCitAKEV4cGVjdGVkT3V0cHV0cy0+J2lmIG5vdCBleGlzdCAiJShGdWxsUGF0aCkiIGdvdG8gYnVpbGQnLCcKKycpCitnb3RvIDplb2YKKzpidWlsZAorc2V0IFZDSU5TVEFMTERJUj0kKFZDSW5zdGFsbERpcikKK2NkIC9EICIkKHRpeERpcil3aW4iCitubWFrZSAvbm9sb2dvIC1mIG1ha2VmaWxlLnZjIE1BQ0hJTkU9JChUY2xNYWNoaW5lKSAkKERlYnVnRmxhZ3MpICQoVGNsU2hvcnRWZXJzaW9ucykgJChUaXhEaXJzKSBhbGwgaW5zdGFsbAorPC9OTWFrZUJ1aWxkQ29tbWFuZExpbmU+CisgICAgPE5NYWtlQ2xlYW5Db21tYW5kTGluZT5ybWRpciAvcS9zICIkKE91dERpci5UcmltRW5kKGBcYCkpIjwvTk1ha2VDbGVhbkNvbW1hbmRMaW5lPgorICA8L1Byb3BlcnR5R3JvdXA+CisgIAorICA8SXRlbUdyb3VwPgorICAgIDxQcm9qZWN0UmVmZXJlbmNlIEluY2x1ZGU9InRjbC52Y3hwcm9qIj4KKyAgICAgIDxQcm9qZWN0PntiNWZkNmYxZC0xMjllLTRiZmYtOTM0MC0wMzYwNmZhYzcyODN9PC9Qcm9qZWN0PgorICAgICAgPFJlZmVyZW5jZU91dHB1dEFzc2VtYmx5PmZhbHNlPC9SZWZlcmVuY2VPdXRwdXRBc3NlbWJseT4KKyAgICA8L1Byb2plY3RSZWZlcmVuY2U+CisgICAgPFByb2plY3RSZWZlcmVuY2UgSW5jbHVkZT0idGsudmN4cHJvaiI+CisgICAgICA8UHJvamVjdD57N2U4NWVjY2YtYTcyYy00ZGE0LTllNTItODg0NTA4ZTgwYmExfTwvUHJvamVjdD4KKyAgICAgIDxSZWZlcmVuY2VPdXRwdXRBc3NlbWJseT5mYWxzZTwvUmVmZXJlbmNlT3V0cHV0QXNzZW1ibHk+CisgICAgPC9Qcm9qZWN0UmVmZXJlbmNlPgorICA8L0l0ZW1Hcm91cD4KKworICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC50YXJnZXRzIiAvPgorCisgIDxUYXJnZXQgTmFtZT0iQ2xlYW4iIC8+CisgIDxUYXJnZXQgTmFtZT0iQ2xlYW5BbGwiPgorICAgIDxSZW1vdmVEaXIgRGlyZWN0b3JpZXM9IiQoT3V0RGlyKSIgLz4KKyAgICA8UmVtb3ZlRGlyIERpcmVjdG9yaWVzPSIkKEludERpcikiIC8+CisgIDwvVGFyZ2V0PgorPC9Qcm9qZWN0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL1BDYnVpbGQvdGsudmN4cHJvaiBiL1BDYnVpbGQvdGsudmN4cHJvagpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yMDc0OWY3Ci0tLSAvZGV2L251bGwKKysrIGIvUENidWlsZC90ay52Y3hwcm9qCkBAIC0wLDAgKzEsOTUgQEAKK++7vzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Cis8UHJvamVjdCBEZWZhdWx0VGFyZ2V0cz0iQnVpbGQiIFRvb2xzVmVyc2lvbj0iNC4wIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4KKyAgPEl0ZW1Hcm91cCBMYWJlbD0iUHJvamVjdENvbmZpZ3VyYXRpb25zIj4KKyAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iRGVidWd8V2luMzIiPgorICAgICAgPENvbmZpZ3VyYXRpb24+RGVidWc8L0NvbmZpZ3VyYXRpb24+CisgICAgICA8UGxhdGZvcm0+V2luMzI8L1BsYXRmb3JtPgorICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+CisgICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IlJlbGVhc2V8V2luMzIiPgorICAgICAgPENvbmZpZ3VyYXRpb24+UmVsZWFzZTwvQ29uZmlndXJhdGlvbj4KKyAgICAgIDxQbGF0Zm9ybT5XaW4zMjwvUGxhdGZvcm0+CisgICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KKyAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iUEdJbnN0cnVtZW50fFdpbjMyIj4KKyAgICAgIDxDb25maWd1cmF0aW9uPlBHSW5zdHJ1bWVudDwvQ29uZmlndXJhdGlvbj4KKyAgICAgIDxQbGF0Zm9ybT5XaW4zMjwvUGxhdGZvcm0+CisgICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KKyAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iUEdJbnN0cnVtZW50fHg2NCI+CisgICAgICA8Q29uZmlndXJhdGlvbj5QR0luc3RydW1lbnQ8L0NvbmZpZ3VyYXRpb24+CisgICAgICA8UGxhdGZvcm0+eDY0PC9QbGF0Zm9ybT4KKyAgICA8L1Byb2plY3RDb25maWd1cmF0aW9uPgorICAgIDxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJQR1VwZGF0ZXxXaW4zMiI+CisgICAgICA8Q29uZmlndXJhdGlvbj5QR1VwZGF0ZTwvQ29uZmlndXJhdGlvbj4KKyAgICAgIDxQbGF0Zm9ybT5XaW4zMjwvUGxhdGZvcm0+CisgICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KKyAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iUEdVcGRhdGV8eDY0Ij4KKyAgICAgIDxDb25maWd1cmF0aW9uPlBHVXBkYXRlPC9Db25maWd1cmF0aW9uPgorICAgICAgPFBsYXRmb3JtPng2NDwvUGxhdGZvcm0+CisgICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KKyAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iRGVidWd8eDY0Ij4KKyAgICAgIDxDb25maWd1cmF0aW9uPkRlYnVnPC9Db25maWd1cmF0aW9uPgorICAgICAgPFBsYXRmb3JtPng2NDwvUGxhdGZvcm0+CisgICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KKyAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iUmVsZWFzZXx4NjQiPgorICAgICAgPENvbmZpZ3VyYXRpb24+UmVsZWFzZTwvQ29uZmlndXJhdGlvbj4KKyAgICAgIDxQbGF0Zm9ybT54NjQ8L1BsYXRmb3JtPgorICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+CisgIDwvSXRlbUdyb3VwPgorICA8UHJvcGVydHlHcm91cCBMYWJlbD0iR2xvYmFscyI+CisgICAgPFByb2plY3RHdWlkPns3RTg1RUNDRi1BNzJDLTREQTQtOUU1Mi04ODQ1MDhFODBCQTF9PC9Qcm9qZWN0R3VpZD4KKyAgICA8Um9vdE5hbWVzcGFjZT50azwvUm9vdE5hbWVzcGFjZT4KKyAgPC9Qcm9wZXJ0eUdyb3VwPgorICAKKyAgPEltcG9ydCBQcm9qZWN0PSJweXRob24ucHJvcHMiIC8+CisgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLkRlZmF1bHQucHJvcHMiIC8+CisgIDxJbXBvcnQgUHJvamVjdD0idGNsdGsucHJvcHMiIC8+CisgIAorICA8UHJvcGVydHlHcm91cCBMYWJlbD0iQ29uZmlndXJhdGlvbiI+CisgICAgPENvbmZpZ3VyYXRpb25UeXBlPk1ha2VmaWxlPC9Db25maWd1cmF0aW9uVHlwZT4KKyAgICA8T3V0RGlyPiQodGNsdGtEaXIpPC9PdXREaXI+CisgICAgPFRhcmdldFBhdGg+JChPdXREaXIpYmluXCQodGtETExOYW1lKTwvVGFyZ2V0UGF0aD4KKyAgPC9Qcm9wZXJ0eUdyb3VwPgorICAKKyAgPEl0ZW1Hcm91cD4KKyAgICA8RXhwZWN0ZWRPdXRwdXRzIEluY2x1ZGU9IgorICAgICAgICAkKE91dERpciliaW5cJCh0a0RMTE5hbWUpOworICAgICAgICAkKE91dERpcilpbmNsdWRlXHRrLmg7CisgICAgICAgICQoT3V0RGlyKWxpYlwkKHRrTGliTmFtZSk7CisgICAgICAgICQoT3V0RGlyKWxpYlx0ayQoVGtNYWpvclZlcnNpb24pLiQoVGtNaW5vclZlcnNpb24pIiAvPgorICA8L0l0ZW1Hcm91cD4KKyAgCisgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLnByb3BzIiAvPgorICAKKyAgPFByb3BlcnR5R3JvdXA+CisgICAgPFRrT3B0cz5tc3ZjcnQ8L1RrT3B0cz4KKyAgICA8VGtPcHRzIENvbmRpdGlvbj0iJChDb25maWd1cmF0aW9uKSA9PSAnRGVidWcnIj5zeW1ib2xzLG1zdmNydDwvVGtPcHRzPgorICAgIDxUa0RpcnM+VENMRElSPSIkKHRjbERpci5UcmltRW5kKGBcYCkpIiBJTlNUQUxMRElSPSIkKE91dERpci5UcmltRW5kKGBcYCkpIjwvVGtEaXJzPgorICAgIDxEZWJ1Z0ZsYWdzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbiknID09ICdEZWJ1ZyciPkRFQlVHRkxBR1M9Ii13ZDQ0NTYgLXdkNDQ1NyAtd2Q0NDU4IC13ZDQ0NTkgLXdkNDk5NiI8L0RlYnVnRmxhZ3M+CisgICAgPE5NYWtlQnVpbGRDb21tYW5kTGluZT5zZXRsb2NhbAorQChFeHBlY3RlZE91dHB1dHMtPidpZiBub3QgZXhpc3QgIiUoRnVsbFBhdGgpIiBnb3RvIGJ1aWxkJywnCisnKQorZ290byA6ZW9mCis6YnVpbGQKK3NldCBWQ0lOU1RBTExESVI9JChWQ0luc3RhbGxEaXIpCitjZCAvRCAiJCh0a0Rpcil3aW4iCitubWFrZSAvbm9sb2dvIC1mIG1ha2VmaWxlLnZjIFJDPXJjIE1BQ0hJTkU9JChUY2xNYWNoaW5lKSBPUFRTPSQoVGtPcHRzKSAkKFRrRGlycykgJChEZWJ1Z0ZsYWdzKSBhbGwKK25tYWtlIC9ub2xvZ28gLWYgbWFrZWZpbGUudmMgUkM9cmMgTUFDSElORT0kKFRjbE1hY2hpbmUpIE9QVFM9JChUa09wdHMpICQoVGtEaXJzKSAkKERlYnVnRmxhZ3MpIGluc3RhbGwtYmluYXJpZXMgaW5zdGFsbC1saWJyYXJpZXMKKzwvTk1ha2VCdWlsZENvbW1hbmRMaW5lPgorICA8L1Byb3BlcnR5R3JvdXA+CisgIDxJdGVtR3JvdXA+CisgICAgPFByb2plY3RSZWZlcmVuY2UgSW5jbHVkZT0idGNsLnZjeHByb2oiPgorICAgICAgPFByb2plY3Q+e2I1ZmQ2ZjFkLTEyOWUtNGJmZi05MzQwLTAzNjA2ZmFjNzI4M308L1Byb2plY3Q+CisgICAgICA8UmVmZXJlbmNlT3V0cHV0QXNzZW1ibHk+ZmFsc2U8L1JlZmVyZW5jZU91dHB1dEFzc2VtYmx5PgorICAgIDwvUHJvamVjdFJlZmVyZW5jZT4KKyAgPC9JdGVtR3JvdXA+CisgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLnRhcmdldHMiIC8+CisgIAorICA8VGFyZ2V0IE5hbWU9IkNvcHlEbGwiIElucHV0cz0iJChPdXREaXIpXGJpblwkKHRrRExMTmFtZSkiIE91dHB1dHM9IiQoQnVpbGRQYXRoKSQodGtETExOYW1lKSIgQWZ0ZXJUYXJnZXRzPSJCdWlsZCI+CisgICAgPENvcHkgU291cmNlRmlsZXM9IiQoT3V0RGlyKVxiaW5cJCh0a0RMTE5hbWUpIiBEZXN0aW5hdGlvbkZpbGVzPSIkKEJ1aWxkUGF0aCkkKHRrRExMTmFtZSkiIC8+CisgIDwvVGFyZ2V0PgorICAKKyAgPFRhcmdldCBOYW1lPSJDbGVhbiIgLz4KKyAgPFRhcmdldCBOYW1lPSJDbGVhbkFsbCI+CisgICAgPERlbGV0ZSBGaWxlcz0iJChUYXJnZXRQYXRoKTskKEJ1aWxkUGF0aCkkKHRrRExMTmFtZSkiIC8+CisgICAgPFJlbW92ZURpciBEaXJlY3Rvcmllcz0iJChJbnREaXIpIiAvPgorICA8L1RhcmdldD4KKzwvUHJvamVjdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9QQ2J1aWxkL3VuaWNvZGVkYXRhLnZjeHByb2ogYi9QQ2J1aWxkL3VuaWNvZGVkYXRhLnZjeHByb2oKaW5kZXggYzlkNTI3OC4uYTMwNzFmYiAxMDA2NDQKLS0tIGEvUENidWlsZC91bmljb2RlZGF0YS52Y3hwcm9qCisrKyBiL1BDYnVpbGQvdW5pY29kZWRhdGEudmN4cHJvagpAQCAtMzksMTcwICszOSwzMSBAQAogICAgIDxSb290TmFtZXNwYWNlPnVuaWNvZGVkYXRhPC9Sb290TmFtZXNwYWNlPgogICAgIDxLZXl3b3JkPldpbjMyUHJvajwvS2V5d29yZD4KICAgPC9Qcm9wZXJ0eUdyb3VwPgorICA8SW1wb3J0IFByb2plY3Q9InB5dGhvbi5wcm9wcyIgLz4KICAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAuRGVmYXVsdC5wcm9wcyIgLz4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+Ci0gICAgPFdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj50cnVlPC9XaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+Ci0gICAgPFdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj50cnVlPC9XaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+Ci0gICAgPFdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj50cnVlPC9XaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+Ci0gICAgPFdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj50cnVlPC9XaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+CisgIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJDb25maWd1cmF0aW9uIj4KICAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgogICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+CiAgIDwvUHJvcGVydHlHcm91cD4KICAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAucHJvcHMiIC8+CisgIDxQcm9wZXJ0eUdyb3VwPgorICAgIDxUYXJnZXRFeHQ+LnB5ZDwvVGFyZ2V0RXh0PgorICA8L1Byb3BlcnR5R3JvdXA+CiAgIDxJbXBvcnRHcm91cCBMYWJlbD0iRXh0ZW5zaW9uU2V0dGluZ3MiPgogICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+CisgIDxJbXBvcnRHcm91cCBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgogICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InBndXBkYXRlLnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InBnaW5zdHJ1bWVudC5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlkLnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlkX2QucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlkLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0ieDY0LnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icGd1cGRhdGUucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9Ing2NC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InBnaW5zdHJ1bWVudC5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9Ing2NC5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWRfZC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9Ing2NC5wcm9wcyIgLz4KKyAgICA8SW1wb3J0IFByb2plY3Q9InB5cHJvamVjdC5wcm9wcyIgLz4KICAgPC9JbXBvcnRHcm91cD4KICAgPFByb3BlcnR5R3JvdXAgTGFiZWw9IlVzZXJNYWNyb3MiIC8+CiAgIDxQcm9wZXJ0eUdyb3VwPgogICAgIDxfUHJvamVjdEZpbGVWZXJzaW9uPjEwLjAuMzAzMTkuMTwvX1Byb2plY3RGaWxlVmVyc2lvbj4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgotICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIC8+CiAgIDwvUHJvcGVydHlHcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPgorICA8SXRlbURlZmluaXRpb25Hcm91cD4KICAgICA8TGluaz4KICAgICAgIDxCYXNlQWRkcmVzcz4weDFEMTIwMDAwPC9CYXNlQWRkcmVzcz4KICAgICA8L0xpbms+CiAgIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIj4KLSAgICA8TWlkbD4KLSAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5YNjQ8L1RhcmdldEVudmlyb25tZW50PgotICAgIDwvTWlkbD4KLSAgICA8TGluaz4KLSAgICAgIDxCYXNlQWRkcmVzcz4weDFEMTIwMDAwPC9CYXNlQWRkcmVzcz4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+Ci0gICAgPExpbms+Ci0gICAgICA8QmFzZUFkZHJlc3M+MHgxRDEyMDAwMDwvQmFzZUFkZHJlc3M+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj4KLSAgICA8TWlkbD4KLSAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5YNjQ8L1RhcmdldEVudmlyb25tZW50PgotICAgIDwvTWlkbD4KLSAgICA8TGluaz4KLSAgICAgIDxCYXNlQWRkcmVzcz4weDFEMTIwMDAwPC9CYXNlQWRkcmVzcz4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIj4KLSAgICA8TGluaz4KLSAgICAgIDxCYXNlQWRkcmVzcz4weDFEMTIwMDAwPC9CYXNlQWRkcmVzcz4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyI+Ci0gICAgPE1pZGw+Ci0gICAgICA8VGFyZ2V0RW52aXJvbm1lbnQ+WDY0PC9UYXJnZXRFbnZpcm9ubWVudD4KLSAgICA8L01pZGw+Ci0gICAgPExpbms+Ci0gICAgICA8QmFzZUFkZHJlc3M+MHgxRDEyMDAwMDwvQmFzZUFkZHJlc3M+Ci0gICAgICA8VGFyZ2V0TWFjaGluZT5NYWNoaW5lWDY0PC9UYXJnZXRNYWNoaW5lPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyI+Ci0gICAgPExpbms+Ci0gICAgICA8QmFzZUFkZHJlc3M+MHgxRDEyMDAwMDwvQmFzZUFkZHJlc3M+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyI+Ci0gICAgPE1pZGw+Ci0gICAgICA8VGFyZ2V0RW52aXJvbm1lbnQ+WDY0PC9UYXJnZXRFbnZpcm9ubWVudD4KLSAgICA8L01pZGw+Ci0gICAgPExpbms+Ci0gICAgICA8QmFzZUFkZHJlc3M+MHgxRDEyMDAwMDwvQmFzZUFkZHJlc3M+Ci0gICAgICA8VGFyZ2V0TWFjaGluZT5NYWNoaW5lWDY0PC9UYXJnZXRNYWNoaW5lPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgogICA8SXRlbUdyb3VwPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cTW9kdWxlc1x1bmljb2RlZGF0YV9kYi5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cTW9kdWxlc1x1bmljb2RlbmFtZV9kYi5oIiAvPgpkaWZmIC0tZ2l0IGEvUENidWlsZC92czl0bzEwLnB5IGIvUENidWlsZC92czl0bzEwLnB5CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlYjdkYWI1Li4wMDAwMDAwCi0tLSBhL1BDYnVpbGQvdnM5dG8xMC5weQorKysgL2Rldi9udWxsCkBAIC0xLDU2ICswLDAgQEAKLSNSdW4gdGhpcyBmaWxlIGFmdGVyIGF1dG9tYXRpYyBjb252ZXJzaW9uIG9mIHRoZSBWaXN1YWxTdHVkaW8gMjAwOCBzb2x1dGlvbiBieSBWaXN1YWxTdHVkaW8gMjAxMC4KLSNUaGlzIGNhbiBiZSBkb25lIHdoZW5ldmVyIHRoZSAyMDA4IHNvbHV0aW9uIGNoYW5nZXMuCi0jSXQgd2lsbCBtYWtlIHRoZSBuZWNlc3NhcnkgY2xlYW51cCBhbmQgdXBkYXRlcyB0byB0aGUgdmN4cHJvaiBmaWxlcwotI3RoZSAucHJvcHMgZmlsZXMgbmVlZCB0byBiZSBtYWludGFpbmVkIGJ5IGhhbmQgaWYgdGhlIC52c3Byb3BzIGZpbGVzIGNoYW5nZQotCi1mcm9tIF9fZnV0dXJlX18gaW1wb3J0IHdpdGhfc3RhdGVtZW50Ci1pbXBvcnQgc3lzCi1pbXBvcnQgb3MKLWltcG9ydCBvcy5wYXRoCi0KLWRlZiB2czl0bzEwKHNyYywgZGVzdCk6Ci0gICAgZm9yIG5hbWUgaW4gb3MubGlzdGRpcihzcmMpOgotICAgICAgICBwYXRoLCBleHQgPSBvcy5wYXRoLnNwbGl0ZXh0KG5hbWUpCi0gICAgICAgIGlmIGV4dC5sb3dlcigpIG5vdCBpbiAoJy52Y3hwcm9qJywpOgotICAgICAgICAgICAgY29udGludWUKLQotICAgICAgICBmaWxlbmFtZSA9IG9zLnBhdGgubm9ybXBhdGgob3MucGF0aC5qb2luKHNyYywgbmFtZSkpCi0gICAgICAgIGRlc3RuYW1lID0gb3MucGF0aC5ub3JtcGF0aChvcy5wYXRoLmpvaW4oZGVzdCwgbmFtZSkpCi0gICAgICAgIHByaW50KCIlcyAtPiAlcyIgJSAoZmlsZW5hbWUsIGRlc3RuYW1lKSkKLQotICAgICAgICBsaW5lcyA9IFtdCi0gICAgICAgIGxhc3RsaW5lID0gYiIiCi0gICAgICAgIGltcG9ydGdyb3VwID0gRmFsc2UKLSAgICAgICAgd2l0aCBvcGVuKGZpbGVuYW1lLCAncmInKSBhcyBmaW46Ci0gICAgICAgICAgICBmb3IgbGluZSBpbiBmaW46Ci0gICAgICAgICAgICAgICAgI3JlbW92ZSByZWR1bmRhbnQgbGlua2VyIG91dHB1dCBpbmZvCi0gICAgICAgICAgICAgICAgaWYgYiI8T3V0cHV0TGluZT4iIGluIGxpbmU6Ci0gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCi0gICAgICAgICAgICAgICAgaWYgYiI8UHJvZ3JhbURhdGFiYXNlRmlsZT4iIGluIGxpbmU6Ci0gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCi0gICAgICAgICAgICAgICAgaWYgYiI8SW1wb3J0TGlicmFyeT4iIGluIGxpbmUgYW5kIGIiPC9JbXBvcnRMaWJyYXJ5PiIgaW4gbGluZToKLSAgICAgICAgICAgICAgICAgICAgY29udGludWUKLQotICAgICAgICAgICAgICAgICNhZGQgbmV3IHByb3BlcnR5IHNoZWV0IHRvIHRoZSBweXRob25jb3JlCi0gICAgICAgICAgICAgICAgaWYgaW1wb3J0Z3JvdXAgYW5kICJweXRob25jb3JlIiBpbiBuYW1lLmxvd2VyKCk6Ci0gICAgICAgICAgICAgICAgICAgIGlmIGIiPC9JbXBvcnRHcm91cD4iIGluIGxpbmU6Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiBiImRlYnVnLnByb3BzIiBpbiBsYXN0bGluZToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lcy5hcHBlbmQoYicgICAgPEltcG9ydCBQcm9qZWN0PSJweXRob25jb3JlX2QucHJvcHMiIC8+XHJcbicpCi0gICAgICAgICAgICAgICAgICAgICAgICBlbGlmIGIicHl0aG9uY29yZSIgbm90IGluIGxhc3RsaW5lOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmVzLmFwcGVuZChiJyAgICA8SW1wb3J0IFByb2plY3Q9InB5dGhvbmNvcmUucHJvcHMiIC8+XHJcbicpCi0gICAgICAgICAgICAgICAgaWYgYiI8SW1wb3J0R3JvdXAgQ29uZGl0aW9uIiBpbiBsaW5lOgotICAgICAgICAgICAgICAgICAgICBpbXBvcnRncm91cCA9IFRydWUKLSAgICAgICAgICAgICAgICBlbGlmIGIiPC9JbXBvcnRHcm91cD4iIGluIGxpbmU6Ci0gICAgICAgICAgICAgICAgICAgIGltcG9ydGdyb3VwID0gRmFsc2UKLSAgICAgICAgICAgICAgICBsaW5lcy5hcHBlbmQobGluZSkKLSAgICAgICAgICAgICAgICBsYXN0bGluZSA9IGxpbmUKLSAgICAgICAgd2l0aCBvcGVuKGRlc3RuYW1lLCAnd2InKSBhcyBmb3V0OgotICAgICAgICAgICAgZm9yIGxpbmUgaW4gbGluZXM6Ci0gICAgICAgICAgICAgICAgZm91dC53cml0ZShsaW5lKQotCi1pZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgotICAgIHNyYyA9ICIuIiBpZiBsZW4oc3lzLmFyZ3YpIDwgMiBlbHNlIHN5cy5hcmd2WzFdCi0gICAgbmFtZSA9IG9zLnBhdGguYmFzZW5hbWUob3MucGF0aC5hYnNwYXRoKHNyYykpCi0gICAgZGVzdCA9IG9zLnBhdGguYWJzcGF0aChvcy5wYXRoLmpvaW4oc3JjLCAiLi4iLCBuYW1lICsgIlVwZCIpKQotICAgIG9zLm1ha2VkaXJzKGRlc3QpCi0gICAgdnM5dG8xMChzcmMsIGRlc3QpCmRpZmYgLS1naXQgYS9QQ2J1aWxkL3ZzOXRvOC5weSBiL1BDYnVpbGQvdnM5dG84LnB5CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzYjg4YTE2Li4wMDAwMDAwCi0tLSBhL1BDYnVpbGQvdnM5dG84LnB5CisrKyAvZGV2L251bGwKQEAgLTEsMzQgKzAsMCBAQAotZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCB3aXRoX3N0YXRlbWVudAotaW1wb3J0IG9zCi0KLWRlZiB2czl0bzgoc3JjLCBkZXN0KToKLSAgICBmb3IgbmFtZSBpbiBvcy5saXN0ZGlyKHNyYyk6Ci0gICAgICAgIHBhdGgsIGV4dCA9IG9zLnBhdGguc3BsaXRleHQobmFtZSkKLSAgICAgICAgaWYgZXh0Lmxvd2VyKCkgbm90IGluICgnLnNsbicsICcudmNwcm9qJywgJy52c3Byb3BzJyk6Ci0gICAgICAgICAgICBjb250aW51ZQotCi0gICAgICAgIGZpbGVuYW1lID0gb3MucGF0aC5ub3JtcGF0aChvcy5wYXRoLmpvaW4oc3JjLCBuYW1lKSkKLSAgICAgICAgZGVzdG5hbWUgPSBvcy5wYXRoLm5vcm1wYXRoKG9zLnBhdGguam9pbihkZXN0LCBuYW1lKSkKLSAgICAgICAgcHJpbnQoIiVzIC0+ICVzIiAlIChmaWxlbmFtZSwgZGVzdG5hbWUpKQotCi0gICAgICAgIHdpdGggb3BlbihmaWxlbmFtZSwgJ3JVJykgYXMgZmluOgotICAgICAgICAgICAgbGluZXMgPSBmaW4ucmVhZCgpCi0gICAgICAgICAgICBsaW5lcyA9IGxpbmVzLnJlcGxhY2UoJ1ZlcnNpb249IjksMDAiJywgJ1ZlcnNpb249IjguMDAiJykKLSAgICAgICAgICAgIGxpbmVzID0gbGluZXMucmVwbGFjZSgnVmVyc2lvbj0iOS4wMCInLCAnVmVyc2lvbj0iOC4wMCInKQotICAgICAgICAgICAgbGluZXMgPSBsaW5lcy5yZXBsYWNlKCdGb3JtYXQgVmVyc2lvbiAxMC4wMCcsICdGb3JtYXQgVmVyc2lvbiA5LjAwJykKLSAgICAgICAgICAgIGxpbmVzID0gbGluZXMucmVwbGFjZSgnVmlzdWFsIFN0dWRpbyAyMDA4JywgJ1Zpc3VhbCBTdHVkaW8gMjAwNScpCi0KLSAgICAgICAgICAgIGxpbmVzID0gbGluZXMucmVwbGFjZSgnd2luaW5zdC05LjAnLCAnd2luaW5zdC04LjAnKQotICAgICAgICAgICAgbGluZXMgPSBsaW5lcy5yZXBsYWNlKCcuLlxcJywgJy4uXFwuLlxcJykKLSAgICAgICAgICAgIGxpbmVzID0gbGluZXMucmVwbGFjZSgnLi5cXC4uXFwuLlxcLi5cXCcsICcuLlxcLi5cXC4uXFwnKQotCi0gICAgICAgICAgICAjIEJhaC4gVlM4LjAgZG9lcyBub3QgZXhwYW5kIG1hY3JvcyBpbiBmaWxlIG5hbWVzLgotICAgICAgICAgICAgIyBSZXBsYWNlIHRoZW0gaGVyZS4KLSAgICAgICAgICAgIGxpbmVzID0gbGluZXMucmVwbGFjZSgnJChzcWxpdGUzRGlyKScsICcuLlxcLi5cXC4uXFxzcWxpdGUtMy42LjIxJykKLQotICAgICAgICB3aXRoIG9wZW4oZGVzdG5hbWUsICd3YicpIGFzIGZvdXQ6Ci0gICAgICAgICAgICBsaW5lcyA9IGxpbmVzLnJlcGxhY2UoIlxuIiwgIlxyXG4iKS5lbmNvZGUoKQotICAgICAgICAgICAgZm91dC53cml0ZShsaW5lcykKLQotaWYgX19uYW1lX18gPT0gIl9fbWFpbl9fIjoKLSAgICB2czl0bzgoc3JjPSIuIiwgZGVzdD0iLi4vUEMvVlM4LjAiKQpkaWZmIC0tZ2l0IGEvUENidWlsZC93aW5zb3VuZC52Y3hwcm9qIGIvUENidWlsZC93aW5zb3VuZC52Y3hwcm9qCmluZGV4IGNmNTE4ZTkuLjU0MDIzNWEgMTAwNjQ0Ci0tLSBhL1BDYnVpbGQvd2luc291bmQudmN4cHJvagorKysgYi9QQ2J1aWxkL3dpbnNvdW5kLnZjeHByb2oKQEAgLTM5LDE3MCArMzksMzEgQEAKICAgICA8Um9vdE5hbWVzcGFjZT53aW5zb3VuZDwvUm9vdE5hbWVzcGFjZT4KICAgICA8S2V5d29yZD5XaW4zMlByb2o8L0tleXdvcmQ+CiAgIDwvUHJvcGVydHlHcm91cD4KKyAgPEltcG9ydCBQcm9qZWN0PSJweXRob24ucHJvcHMiIC8+CiAgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLkRlZmF1bHQucHJvcHMiIC8+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KLSAgICA8V2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPnRydWU8L1dob2xlUHJvZ3JhbU9wdGltaXphdGlvbj4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KLSAgICA8V2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPnRydWU8L1dob2xlUHJvZ3JhbU9wdGltaXphdGlvbj4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgorICA8UHJvcGVydHlHcm91cCBMYWJlbD0iQ29uZmlndXJhdGlvbiI+CiAgICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KICAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgogICA8L1Byb3BlcnR5R3JvdXA+CiAgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLnByb3BzIiAvPgorICA8UHJvcGVydHlHcm91cD4KKyAgICA8VGFyZ2V0RXh0Pi5weWQ8L1RhcmdldEV4dD4KKyAgPC9Qcm9wZXJ0eUdyb3VwPgogICA8SW1wb3J0R3JvdXAgTGFiZWw9IkV4dGVuc2lvblNldHRpbmdzIj4KICAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgorICA8SW1wb3J0R3JvdXAgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KICAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJwZ3VwZGF0ZS5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJwZ2luc3RydW1lbnQucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZC5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZF9kLnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9Ing2NC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InBndXBkYXRlLnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJ4NjQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJwZ2luc3RydW1lbnQucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJ4NjQucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlkX2QucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJ4NjQucHJvcHMiIC8+CisgICAgPEltcG9ydCBQcm9qZWN0PSJweXByb2plY3QucHJvcHMiIC8+CiAgIDwvSW1wb3J0R3JvdXA+CiAgIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJVc2VyTWFjcm9zIiAvPgogICA8UHJvcGVydHlHcm91cD4KICAgICA8X1Byb2plY3RGaWxlVmVyc2lvbj4xMC4wLjMwMzE5LjE8L19Qcm9qZWN0RmlsZVZlcnNpb24+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPkFsbFJ1bGVzLnJ1bGVzZXQ8L0NvZGVBbmFseXNpc1J1bGVTZXQ+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIiAvPgogICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIj4KKyAgPEl0ZW1EZWZpbml0aW9uR3JvdXA+CiAgICAgPExpbms+CiAgICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz53aW5tbS5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KICAgICA8L0xpbms+CiAgIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIj4KLSAgICA8TWlkbD4KLSAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5YNjQ8L1RhcmdldEVudmlyb25tZW50PgotICAgIDwvTWlkbD4KLSAgICA8TGluaz4KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPndpbm1tLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj4KLSAgICA8TGluaz4KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPndpbm1tLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+Ci0gICAgPE1pZGw+Ci0gICAgICA8VGFyZ2V0RW52aXJvbm1lbnQ+WDY0PC9UYXJnZXRFbnZpcm9ubWVudD4KLSAgICA8L01pZGw+Ci0gICAgPExpbms+Ci0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz53aW5tbS5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIj4KLSAgICA8TGluaz4KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPndpbm1tLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgotICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIj4KLSAgICA8TWlkbD4KLSAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5YNjQ8L1RhcmdldEVudmlyb25tZW50PgotICAgIDwvTWlkbD4KLSAgICA8TGluaz4KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPndpbm1tLmxpYjslKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgotICAgICAgPFRhcmdldE1hY2hpbmU+TWFjaGluZVg2NDwvVGFyZ2V0TWFjaGluZT4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciPgotICAgIDxMaW5rPgotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+d2lubW0ubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyI+Ci0gICAgPE1pZGw+Ci0gICAgICA8VGFyZ2V0RW52aXJvbm1lbnQ+WDY0PC9UYXJnZXRFbnZpcm9ubWVudD4KLSAgICA8L01pZGw+Ci0gICAgPExpbms+Ci0gICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz53aW5tbS5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KLSAgICAgIDxUYXJnZXRNYWNoaW5lPk1hY2hpbmVYNjQ8L1RhcmdldE1hY2hpbmU+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+CiAgIDxJdGVtR3JvdXA+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxQQ1x3aW5zb3VuZC5jIiAvPgogICA8L0l0ZW1Hcm91cD4KZGlmZiAtLWdpdCBhL1BDYnVpbGQveDY0LnByb3BzIGIvUENidWlsZC94NjQucHJvcHMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDk4NWMwZWYuLjAwMDAwMDAKLS0tIGEvUENidWlsZC94NjQucHJvcHMKKysrIC9kZXYvbnVsbApAQCAtMSwyMCArMCwwIEBACi3vu788P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgotPFByb2plY3QgRGVmYXVsdFRhcmdldHM9IkJ1aWxkIiBUb29sc1ZlcnNpb249IjQuMCIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+Ci0gIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJVc2VyTWFjcm9zIiBDb25kaXRpb249IickKEhPU1RfUFlUSE9OKSchPScnIj4KLSAgICA8UHl0aG9uRXhlPiQoSE9TVF9QWVRIT04pPC9QeXRob25FeGU+Ci0gIDwvUHJvcGVydHlHcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxCdWZmZXJTZWN1cml0eUNoZWNrPmZhbHNlPC9CdWZmZXJTZWN1cml0eUNoZWNrPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPl9XSU42NDtfTV9YNjQ7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgIDwvQ2xDb21waWxlPgotICAgIDxMaW5rPgotICAgICAgPFRhcmdldE1hY2hpbmU+TWFjaGluZVg2NDwvVGFyZ2V0TWFjaGluZT4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1Hcm91cD4KLSAgICA8QnVpbGRNYWNybyBJbmNsdWRlPSJQeXRob25FeGUiPgotICAgICAgPFZhbHVlPiQoUHl0aG9uRXhlKTwvVmFsdWU+Ci0gICAgPC9CdWlsZE1hY3JvPgotICA8L0l0ZW1Hcm91cD4KLTwvUHJvamVjdD4KZGlmZiAtLWdpdCBhL1BDYnVpbGQveHhsaW1pdGVkLnZjeHByb2ogYi9QQ2J1aWxkL3h4bGltaXRlZC52Y3hwcm9qCmluZGV4IGFiZjQxZjkuLjQ0ODRkYmEgMTAwNjQ0Ci0tLSBhL1BDYnVpbGQveHhsaW1pdGVkLnZjeHByb2oKKysrIGIvUENidWlsZC94eGxpbWl0ZWQudmN4cHJvagpAQCAtMSw2ICsxLDE0IEBACiDvu788P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgogPFByb2plY3QgRGVmYXVsdFRhcmdldHM9IkJ1aWxkIiBUb29sc1ZlcnNpb249IjQuMCIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+CiAgIDxJdGVtR3JvdXAgTGFiZWw9IlByb2plY3RDb25maWd1cmF0aW9ucyI+CisgICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IkRlYnVnfFdpbjMyIj4KKyAgICAgIDxDb25maWd1cmF0aW9uPkRlYnVnPC9Db25maWd1cmF0aW9uPgorICAgICAgPFBsYXRmb3JtPldpbjMyPC9QbGF0Zm9ybT4KKyAgICA8L1Byb2plY3RDb25maWd1cmF0aW9uPgorICAgIDxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJEZWJ1Z3x4NjQiPgorICAgICAgPENvbmZpZ3VyYXRpb24+RGVidWc8L0NvbmZpZ3VyYXRpb24+CisgICAgICA8UGxhdGZvcm0+eDY0PC9QbGF0Zm9ybT4KKyAgICA8L1Byb2plY3RDb25maWd1cmF0aW9uPgogICAgIDxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJQR0luc3RydW1lbnR8V2luMzIiPgogICAgICAgPENvbmZpZ3VyYXRpb24+UEdJbnN0cnVtZW50PC9Db25maWd1cmF0aW9uPgogICAgICAgPFBsYXRmb3JtPldpbjMyPC9QbGF0Zm9ybT4KQEAgLTMxLDE1OCArMzksNDQgQEAKICAgICA8Um9vdE5hbWVzcGFjZT54eGxpbWl0ZWQ8L1Jvb3ROYW1lc3BhY2U+CiAgICAgPEtleXdvcmQ+V2luMzJQcm9qPC9LZXl3b3JkPgogICA8L1Byb3BlcnR5R3JvdXA+CisgIDxJbXBvcnQgUHJvamVjdD0icHl0aG9uLnByb3BzIiAvPgogICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC5EZWZhdWx0LnByb3BzIiAvPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgorICA8UHJvcGVydHlHcm91cCBMYWJlbD0iQ29uZmlndXJhdGlvbiI+CiAgICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KICAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KLSAgICA8V2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPnRydWU8L1dob2xlUHJvZ3JhbU9wdGltaXphdGlvbj4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KLSAgICA8V2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPnRydWU8L1dob2xlUHJvZ3JhbU9wdGltaXphdGlvbj4KLSAgPC9Qcm9wZXJ0eUdyb3VwPgotICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgotICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgotICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgorICAgIDxTdXBwb3J0UEdPPmZhbHNlPC9TdXBwb3J0UEdPPgogICA8L1Byb3BlcnR5R3JvdXA+CiAgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLnByb3BzIiAvPgorICA8UHJvcGVydHlHcm91cD4KKyAgICA8VGFyZ2V0RXh0Pi5weWQ8L1RhcmdldEV4dD4KKyAgPC9Qcm9wZXJ0eUdyb3VwPgogICA8SW1wb3J0R3JvdXAgTGFiZWw9IkV4dGVuc2lvblNldHRpbmdzIj4KICAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgorICA8SW1wb3J0R3JvdXAgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KICAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJwZ3VwZGF0ZS5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJwZ2luc3RydW1lbnQucHJvcHMiIC8+Ci0gIDwvSW1wb3J0R3JvdXA+Ci0gIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgotICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5ZC5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KLSAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweWQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJ4NjQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJwZ3VwZGF0ZS5wcm9wcyIgLz4KLSAgPC9JbXBvcnRHcm91cD4KLSAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlkLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0ieDY0LnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icGdpbnN0cnVtZW50LnByb3BzIiAvPgotICA8L0ltcG9ydEdyb3VwPgotICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlkLnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0ieDY0LnByb3BzIiAvPgorICAgIDxJbXBvcnQgUHJvamVjdD0icHlwcm9qZWN0LnByb3BzIiAvPgogICA8L0ltcG9ydEdyb3VwPgogICA8UHJvcGVydHlHcm91cCBMYWJlbD0iVXNlck1hY3JvcyIgLz4KICAgPFByb3BlcnR5R3JvdXA+CiAgICAgPF9Qcm9qZWN0RmlsZVZlcnNpb24+MTAuMC4zMDMxOS4xPC9fUHJvamVjdEZpbGVWZXJzaW9uPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIiAvPgotICAgIDxDb2RlQW5hbHlzaXNSdWxlQXNzZW1ibGllcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVTZXQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyIgLz4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KLSAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIC8+Ci0gICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIiAvPgogICA8L1Byb3BlcnR5R3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPgorICA8SXRlbURlZmluaXRpb25Hcm91cD4KICAgICA8Q2xDb21waWxlPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPk5ERUJVRztfV0lOMzI7X1dJTkRMTDtQeV9MSU1JVEVEX0FQST0weDAzMDQwMDAwPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KKyAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4lKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTtQeV9MSU1JVEVEX0FQST0weDAzMDQwMDAwPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KICAgICA8L0NsQ29tcGlsZT4KICAgICA8TGluaz4KICAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPndzb2NrMzIubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Ci0gICAgICA8SWdub3JlU3BlY2lmaWNEZWZhdWx0TGlicmFyaWVzPmxpYmM7JShJZ25vcmVTcGVjaWZpY0RlZmF1bHRMaWJyYXJpZXMpPC9JZ25vcmVTcGVjaWZpY0RlZmF1bHRMaWJyYXJpZXM+CiAgICAgICA8QmFzZUFkZHJlc3M+MHgxRDExMDAwMDwvQmFzZUFkZHJlc3M+CiAgICAgPC9MaW5rPgogICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj4KLSAgICA8TWlkbD4KLSAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5YNjQ8L1RhcmdldEVudmlyb25tZW50PgotICAgIDwvTWlkbD4KLSAgICA8TGluaz4KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPndzb2NrMzIubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Ci0gICAgICA8SWdub3JlU3BlY2lmaWNEZWZhdWx0TGlicmFyaWVzPmxpYmM7JShJZ25vcmVTcGVjaWZpY0RlZmF1bHRMaWJyYXJpZXMpPC9JZ25vcmVTcGVjaWZpY0RlZmF1bHRMaWJyYXJpZXM+Ci0gICAgICA8QmFzZUFkZHJlc3M+MHgxRDExMDAwMDwvQmFzZUFkZHJlc3M+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyI+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5QeV9MSU1JVEVEX0FQST0weDAzMDQwMDAwOyUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpPC9QcmVwcm9jZXNzb3JEZWZpbml0aW9ucz4KLSAgICA8L0NsQ29tcGlsZT4KLSAgICA8TGluaz4KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPndzb2NrMzIubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Ci0gICAgICA8SWdub3JlU3BlY2lmaWNEZWZhdWx0TGlicmFyaWVzPmxpYmM7JShJZ25vcmVTcGVjaWZpY0RlZmF1bHRMaWJyYXJpZXMpPC9JZ25vcmVTcGVjaWZpY0RlZmF1bHRMaWJyYXJpZXM+Ci0gICAgICA8QmFzZUFkZHJlc3M+MHgxRDExMDAwMDwvQmFzZUFkZHJlc3M+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciPgotICAgIDxNaWRsPgotICAgICAgPFRhcmdldEVudmlyb25tZW50Plg2NDwvVGFyZ2V0RW52aXJvbm1lbnQ+Ci0gICAgPC9NaWRsPgotICAgIDxMaW5rPgotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+d3NvY2szMi5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KLSAgICAgIDxJZ25vcmVTcGVjaWZpY0RlZmF1bHRMaWJyYXJpZXM+bGliYzslKElnbm9yZVNwZWNpZmljRGVmYXVsdExpYnJhcmllcyk8L0lnbm9yZVNwZWNpZmljRGVmYXVsdExpYnJhcmllcz4KLSAgICAgIDxCYXNlQWRkcmVzcz4weDFEMTEwMDAwPC9CYXNlQWRkcmVzcz4KLSAgICAgIDxUYXJnZXRNYWNoaW5lPk1hY2hpbmVYNjQ8L1RhcmdldE1hY2hpbmU+Ci0gICAgPC9MaW5rPgotICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+Ci0gIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIj4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPlB5X0xJTUlURURfQVBJPTB4MDMwNDAwMDA7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPgotICAgIDwvQ2xDb21waWxlPgotICAgIDxMaW5rPgotICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+d3NvY2szMi5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KLSAgICAgIDxJZ25vcmVTcGVjaWZpY0RlZmF1bHRMaWJyYXJpZXM+bGliYzslKElnbm9yZVNwZWNpZmljRGVmYXVsdExpYnJhcmllcyk8L0lnbm9yZVNwZWNpZmljRGVmYXVsdExpYnJhcmllcz4KLSAgICAgIDxCYXNlQWRkcmVzcz4weDFEMTEwMDAwPC9CYXNlQWRkcmVzcz4KLSAgICA8L0xpbms+Ci0gIDwvSXRlbURlZmluaXRpb25Hcm91cD4KLSAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIj4KLSAgICA8TWlkbD4KLSAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5YNjQ8L1RhcmdldEVudmlyb25tZW50PgotICAgIDwvTWlkbD4KLSAgICA8TGluaz4KLSAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPndzb2NrMzIubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+Ci0gICAgICA8SWdub3JlU3BlY2lmaWNEZWZhdWx0TGlicmFyaWVzPmxpYmM7JShJZ25vcmVTcGVjaWZpY0RlZmF1bHRMaWJyYXJpZXMpPC9JZ25vcmVTcGVjaWZpY0RlZmF1bHRMaWJyYXJpZXM+Ci0gICAgICA8QmFzZUFkZHJlc3M+MHgxRDExMDAwMDwvQmFzZUFkZHJlc3M+Ci0gICAgICA8VGFyZ2V0TWFjaGluZT5NYWNoaW5lWDY0PC9UYXJnZXRNYWNoaW5lPgotICAgIDwvTGluaz4KLSAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgogICA8SXRlbUdyb3VwPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cTW9kdWxlc1x4eGxpbWl0ZWQuYyIgLz4KICAgPC9JdGVtR3JvdXA+CisgIDxJdGVtR3JvdXA+CisgICAgPFByb2plY3RSZWZlcmVuY2UgSW5jbHVkZT0icHl0aG9uM2RsbC52Y3hwcm9qIj4KKyAgICAgIDxQcm9qZWN0Pns4ODVkNDg5OC1kMDhkLTQwOTEtOWM0MC1jNzAwY2ZlM2ZjNWF9PC9Qcm9qZWN0PgorICAgIDwvUHJvamVjdFJlZmVyZW5jZT4KKyAgPC9JdGVtR3JvdXA+CiAgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLnRhcmdldHMiIC8+CiAgIDxJbXBvcnRHcm91cCBMYWJlbD0iRXh0ZW5zaW9uVGFyZ2V0cyI+CiAgIDwvSW1wb3J0R3JvdXA+CmRpZmYgLS1naXQgYS9QYXJzZXIvUHl0aG9uLmFzZGwgYi9QYXJzZXIvUHl0aG9uLmFzZGwKaW5kZXggZGViZDg5ZS4uNzkyY2FiNyAxMDA2NDQKLS0tIGEvUGFyc2VyL1B5dGhvbi5hc2RsCisrKyBiL1BhcnNlci9QeXRob24uYXNkbApAQCAtOTEsNyArOTEsNyBAQAogCiAgICAgYm9vbG9wID0gQW5kIHwgT3IgCiAKLSAgICBvcGVyYXRvciA9IEFkZCB8IFN1YiB8IE11bHQgfCBEaXYgfCBNb2QgfCBQb3cgfCBMU2hpZnQgCisgICAgb3BlcmF0b3IgPSBBZGQgfCBTdWIgfCBNdWx0IHwgTWF0TXVsdCB8IERpdiB8IE1vZCB8IFBvdyB8IExTaGlmdCAKICAgICAgICAgICAgICAgICAgfCBSU2hpZnQgfCBCaXRPciB8IEJpdFhvciB8IEJpdEFuZCB8IEZsb29yRGl2CiAKICAgICB1bmFyeW9wID0gSW52ZXJ0IHwgTm90IHwgVUFkZCB8IFVTdWIKZGlmZiAtLWdpdCBhL1BhcnNlci9hc2RsLnB5IGIvUGFyc2VyL2FzZGwucHkKaW5kZXggZmMxYjE2Yy4uMTIxY2RhYiAxMDA2NDQKLS0tIGEvUGFyc2VyL2FzZGwucHkKKysrIGIvUGFyc2VyL2FzZGwucHkKQEAgLTEsMjU1ICsxLDUyIEBACi0iIiJBbiBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgWmVwaHlyIEFic3RyYWN0IFN5bnRheCBEZWZpbml0aW9uIExhbmd1YWdlLgorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgUGFyc2VyIGZvciBBU0RMIFsxXSBkZWZpbml0aW9uIGZpbGVzLiBSZWFkcyBpbiBhbiBBU0RMIGRlc2NyaXB0aW9uIGFuZCBwYXJzZXMKKyMgaXQgaW50byBhbiBBU1QgdGhhdCBkZXNjcmliZXMgaXQuCisjCisjIFRoZSBFQk5GIHdlJ3JlIHBhcnNpbmcgaGVyZTogRmlndXJlIDEgb2YgdGhlIHBhcGVyIFsxXS4gRXh0ZW5kZWQgdG8gc3VwcG9ydAorIyBtb2R1bGVzIGFuZCBhdHRyaWJ1dGVzIGFmdGVyIGEgcHJvZHVjdC4gV29yZHMgc3RhcnRpbmcgd2l0aCBDYXBpdGFsIGxldHRlcnMKKyMgYXJlIHRlcm1pbmFscy4gTGl0ZXJhbCB0b2tlbnMgYXJlIGluICJkb3VibGUgcXVvdGVzIi4gT3RoZXJzIGFyZQorIyBub24tdGVybWluYWxzLiBJZCBpcyBlaXRoZXIgVG9rZW5JZCBvciBDb25zdHJ1Y3RvcklkLgorIworIyBtb2R1bGUgICAgICAgIDo6PSAibW9kdWxlIiBJZCAieyIgW2RlZmluaXRpb25zXSAifSIKKyMgZGVmaW5pdGlvbnMgICA6Oj0geyBUeXBlSWQgIj0iIHR5cGUgfQorIyB0eXBlICAgICAgICAgIDo6PSBwcm9kdWN0IHwgc3VtCisjIHByb2R1Y3QgICAgICAgOjo9IGZpZWxkcyBbImF0dHJpYnV0ZXMiIGZpZWxkc10KKyMgZmllbGRzICAgICAgICA6Oj0gIigiIHsgZmllbGQsICIsIiB9IGZpZWxkICIpIgorIyBmaWVsZCAgICAgICAgIDo6PSBUeXBlSWQgWyI/IiB8ICIqIl0gW0lkXQorIyBzdW0gICAgICAgICAgIDo6PSBjb25zdHJ1Y3RvciB7ICJ8IiBjb25zdHJ1Y3RvciB9IFsiYXR0cmlidXRlcyIgZmllbGRzXQorIyBjb25zdHJ1Y3RvciAgIDo6PSBDb25zdHJ1Y3RvcklkIFtmaWVsZHNdCisjCisjIFsxXSAiVGhlIFplcGh5ciBBYnN0cmFjdCBTeW50YXggRGVzY3JpcHRpb24gTGFuZ3VhZ2UiIGJ5IFdhbmcsIGV0LiBhbC4gU2VlCisjICAgICBodHRwOi8vYXNkbC5zb3VyY2Vmb3JnZS5uZXQvCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorZnJvbSBjb2xsZWN0aW9ucyBpbXBvcnQgbmFtZWR0dXBsZQoraW1wb3J0IHJlCiAKLVNlZSBodHRwOi8vYXNkbC5zb3VyY2Vmb3JnZS5uZXQvIGFuZAotaHR0cDovL3d3dy5jcy5wcmluY2V0b24uZWR1L3Jlc2VhcmNoL3RlY2hyZXBzL1RSLTU1NC05NworX19hbGxfXyA9IFsKKyAgICAnYnVpbHRpbl90eXBlcycsICdwYXJzZScsICdBU1QnLCAnTW9kdWxlJywgJ1R5cGUnLCAnQ29uc3RydWN0b3InLAorICAgICdGaWVsZCcsICdTdW0nLCAnUHJvZHVjdCcsICdWaXNpdG9yQmFzZScsICdDaGVjaycsICdjaGVjayddCiAKLU9ubHkgc3VwcG9ydHMgdG9wIGxldmVsIG1vZHVsZSBkZWNsLCBub3Qgdmlldy4gIEknbSBndWVzc2luZyB0aGF0IHZpZXcKLWlzIGludGVuZGVkIHRvIHN1cHBvcnQgdGhlIGJyb3dzZXIgYW5kIEknbSBub3QgaW50ZXJlc3RlZCBpbiB0aGUKLWJyb3dzZXIuCisjIFRoZSBmb2xsb3dpbmcgY2xhc3NlcyBkZWZpbmUgbm9kZXMgaW50byB3aGljaCB0aGUgQVNETCBkZXNjcmlwdGlvbiBpcyBwYXJzZWQuCisjIE5vdGU6IHRoaXMgaXMgYSAibWV0YS1BU1QiLiBBU0RMIGZpbGVzIChzdWNoIGFzIFB5dGhvbi5hc2RsKSBkZXNjcmliZSB0aGUgQVNUCisjIHN0cnVjdHVyZSB1c2VkIGJ5IGEgcHJvZ3JhbW1pbmcgbGFuZ3VhZ2UuIEJ1dCBBU0RMIGZpbGVzIHRoZW1zZWx2ZXMgbmVlZCB0byBiZQorIyBwYXJzZWQuIFRoaXMgbW9kdWxlIHBhcnNlcyBBU0RMIGZpbGVzIGFuZCB1c2VzIGEgc2ltcGxlIEFTVCB0byByZXByZXNlbnQgdGhlbS4KKyMgU2VlIHRoZSBFQk5GIGF0IHRoZSB0b3Agb2YgdGhlIGZpbGUgdG8gdW5kZXJzdGFuZCB0aGUgbG9naWNhbCBjb25uZWN0aW9uCisjIGJldHdlZW4gdGhlIHZhcmlvdXMgbm9kZSB0eXBlcy4KIAotQ2hhbmdlcyBmb3IgUHl0aG9uOiBBZGQgc3VwcG9ydCBmb3IgbW9kdWxlIHZlcnNpb25zCi0iIiIKK2J1aWx0aW5fdHlwZXMgPSB7J2lkZW50aWZpZXInLCAnc3RyaW5nJywgJ2J5dGVzJywgJ2ludCcsICdvYmplY3QnLCAnc2luZ2xldG9uJ30KIAotaW1wb3J0IG9zCi1pbXBvcnQgc3lzCi1pbXBvcnQgdHJhY2ViYWNrCi0KLWltcG9ydCBzcGFyawotCi1kZWYgb3V0cHV0KCpzdHJpbmdzKToKLSAgICBmb3IgcyBpbiBzdHJpbmdzOgotICAgICAgICBzeXMuc3Rkb3V0LndyaXRlKHN0cihzKSArICJcbiIpCi0KLQotY2xhc3MgVG9rZW4ob2JqZWN0KToKLSAgICAjIHNwYXJrIHNlZW1zIHRvIGRpc3BhdGNoIGluIHRoZSBwYXJzZXIgYmFzZWQgb24gYSB0b2tlbidzCi0gICAgIyB0eXBlIGF0dHJpYnV0ZQotICAgIGRlZiBfX2luaXRfXyhzZWxmLCB0eXBlLCBsaW5lbm8pOgotICAgICAgICBzZWxmLnR5cGUgPSB0eXBlCi0gICAgICAgIHNlbGYubGluZW5vID0gbGluZW5vCi0KLSAgICBkZWYgX19zdHJfXyhzZWxmKToKLSAgICAgICAgcmV0dXJuIHNlbGYudHlwZQotCitjbGFzcyBBU1Q6CiAgICAgZGVmIF9fcmVwcl9fKHNlbGYpOgotICAgICAgICByZXR1cm4gc3RyKHNlbGYpCi0KLWNsYXNzIElkKFRva2VuKToKLSAgICBkZWYgX19pbml0X18oc2VsZiwgdmFsdWUsIGxpbmVubyk6Ci0gICAgICAgIHNlbGYudHlwZSA9ICdJZCcKLSAgICAgICAgc2VsZi52YWx1ZSA9IHZhbHVlCi0gICAgICAgIHNlbGYubGluZW5vID0gbGluZW5vCi0KLSAgICBkZWYgX19zdHJfXyhzZWxmKToKLSAgICAgICAgcmV0dXJuIHNlbGYudmFsdWUKLQotY2xhc3MgU3RyaW5nKFRva2VuKToKLSAgICBkZWYgX19pbml0X18oc2VsZiwgdmFsdWUsIGxpbmVubyk6Ci0gICAgICAgIHNlbGYudHlwZSA9ICdTdHJpbmcnCi0gICAgICAgIHNlbGYudmFsdWUgPSB2YWx1ZQotICAgICAgICBzZWxmLmxpbmVubyA9IGxpbmVubwotCi1jbGFzcyBBU0RMU3ludGF4RXJyb3IoRXhjZXB0aW9uKToKLQotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBsaW5lbm8sIHRva2VuPU5vbmUsIG1zZz1Ob25lKToKLSAgICAgICAgc2VsZi5saW5lbm8gPSBsaW5lbm8KLSAgICAgICAgc2VsZi50b2tlbiA9IHRva2VuCi0gICAgICAgIHNlbGYubXNnID0gbXNnCi0KLSAgICBkZWYgX19zdHJfXyhzZWxmKToKLSAgICAgICAgaWYgc2VsZi5tc2cgaXMgTm9uZToKLSAgICAgICAgICAgIHJldHVybiAiRXJyb3IgYXQgJyVzJywgbGluZSAlZCIgJSAoc2VsZi50b2tlbiwgc2VsZi5saW5lbm8pCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICByZXR1cm4gIiVzLCBsaW5lICVkIiAlIChzZWxmLm1zZywgc2VsZi5saW5lbm8pCi0KLWNsYXNzIEFTRExTY2FubmVyKHNwYXJrLkdlbmVyaWNTY2FubmVyLCBvYmplY3QpOgotCi0gICAgZGVmIHRva2VuaXplKHNlbGYsIGlucHV0KToKLSAgICAgICAgc2VsZi5ydiA9IFtdCi0gICAgICAgIHNlbGYubGluZW5vID0gMQotICAgICAgICBzdXBlcihBU0RMU2Nhbm5lciwgc2VsZikudG9rZW5pemUoaW5wdXQpCi0gICAgICAgIHJldHVybiBzZWxmLnJ2Ci0KLSAgICBkZWYgdF9pZChzZWxmLCBzKToKLSAgICAgICAgciJbXHdcLl0rIgotICAgICAgICAjIFhYWCBkb2Vzbid0IGRpc3Rpbmd1aXNoIHVwcGVyIHZzLiBsb3dlciwgd2hpY2ggaXMKLSAgICAgICAgIyBzaWduaWZpY2FudCBmb3IgQVNETC4KLSAgICAgICAgc2VsZi5ydi5hcHBlbmQoSWQocywgc2VsZi5saW5lbm8pKQotCi0gICAgZGVmIHRfc3RyaW5nKHNlbGYsIHMpOgotICAgICAgICByJyJbXiJdKiInCi0gICAgICAgIHNlbGYucnYuYXBwZW5kKFN0cmluZyhzLCBzZWxmLmxpbmVubykpCi0KLSAgICBkZWYgdF94eHgoc2VsZiwgcyk6ICMgbm90IHN1cmUgd2hhdCB0aGlzIHByb2R1Y3Rpb24gbWVhbnMKLSAgICAgICAgciI8PSIKLSAgICAgICAgc2VsZi5ydi5hcHBlbmQoVG9rZW4ocywgc2VsZi5saW5lbm8pKQotCi0gICAgZGVmIHRfcHVuY3R1YXRpb24oc2VsZiwgcyk6Ci0gICAgICAgIHIiW1x7XH1cKlw9XHxcKFwpXCxcP1w6XSIKLSAgICAgICAgc2VsZi5ydi5hcHBlbmQoVG9rZW4ocywgc2VsZi5saW5lbm8pKQotCi0gICAgZGVmIHRfY29tbWVudChzZWxmLCBzKToKLSAgICAgICAgciJcLVwtW15cbl0qIgotICAgICAgICBwYXNzCi0KLSAgICBkZWYgdF9uZXdsaW5lKHNlbGYsIHMpOgotICAgICAgICByIlxuIgotICAgICAgICBzZWxmLmxpbmVubyArPSAxCi0KLSAgICBkZWYgdF93aGl0ZXNwYWNlKHNlbGYsIHMpOgotICAgICAgICByIlsgXHRdKyIKLSAgICAgICAgcGFzcwotCi0gICAgZGVmIHRfZGVmYXVsdChzZWxmLCBzKToKLSAgICAgICAgciIgLiArIgotICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJ1bm1hdGNoZWQgaW5wdXQ6ICVyIiAlIHMpCi0KLWNsYXNzIEFTRExQYXJzZXIoc3BhcmsuR2VuZXJpY1BhcnNlciwgb2JqZWN0KToKLSAgICBkZWYgX19pbml0X18oc2VsZik6Ci0gICAgICAgIHN1cGVyKEFTRExQYXJzZXIsIHNlbGYpLl9faW5pdF9fKCJtb2R1bGUiKQotCi0gICAgZGVmIHR5cGVzdHJpbmcoc2VsZiwgdG9rKToKLSAgICAgICAgcmV0dXJuIHRvay50eXBlCi0KLSAgICBkZWYgZXJyb3Ioc2VsZiwgdG9rKToKLSAgICAgICAgcmFpc2UgQVNETFN5bnRheEVycm9yKHRvay5saW5lbm8sIHRvaykKLQotICAgIGRlZiBwX21vZHVsZV8wKHNlbGYsIGluZm8pOgotICAgICAgICAiIG1vZHVsZSA6Oj0gSWQgSWQgeyB9ICIKLSAgICAgICAgbW9kdWxlLCBuYW1lLCBfMCwgXzEgPSBpbmZvCi0gICAgICAgIGlmIG1vZHVsZS52YWx1ZSAhPSAibW9kdWxlIjoKLSAgICAgICAgICAgIHJhaXNlIEFTRExTeW50YXhFcnJvcihtb2R1bGUubGluZW5vLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zZz0iZXhwZWN0ZWQgJ21vZHVsZScsIGZvdW5kICVzIiAlIG1vZHVsZSkKLSAgICAgICAgcmV0dXJuIE1vZHVsZShuYW1lLCBOb25lKQotCi0gICAgZGVmIHBfbW9kdWxlKHNlbGYsIGluZm8pOgotICAgICAgICAiIG1vZHVsZSA6Oj0gSWQgSWQgeyBkZWZpbml0aW9ucyB9ICIKLSAgICAgICAgbW9kdWxlLCBuYW1lLCBfMCwgZGVmaW5pdGlvbnMsIF8xID0gaW5mbwotICAgICAgICBpZiBtb2R1bGUudmFsdWUgIT0gIm1vZHVsZSI6Ci0gICAgICAgICAgICByYWlzZSBBU0RMU3ludGF4RXJyb3IobW9kdWxlLmxpbmVubywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc2c9ImV4cGVjdGVkICdtb2R1bGUnLCBmb3VuZCAlcyIgJSBtb2R1bGUpCi0gICAgICAgIHJldHVybiBNb2R1bGUobmFtZSwgZGVmaW5pdGlvbnMpCi0KLSAgICBkZWYgcF9kZWZpbml0aW9uXzAoc2VsZiwgZGVmaW5pdGlvbik6Ci0gICAgICAgICIgZGVmaW5pdGlvbnMgOjo9IGRlZmluaXRpb24gIgotICAgICAgICByZXR1cm4gZGVmaW5pdGlvblswXQotCi0gICAgZGVmIHBfZGVmaW5pdGlvbl8xKHNlbGYsIGRlZmluaXRpb25zKToKLSAgICAgICAgIiBkZWZpbml0aW9ucyA6Oj0gZGVmaW5pdGlvbiBkZWZpbml0aW9ucyAiCi0gICAgICAgIHJldHVybiBkZWZpbml0aW9uc1swXSArIGRlZmluaXRpb25zWzFdCi0KLSAgICBkZWYgcF9kZWZpbml0aW9uKHNlbGYsIGluZm8pOgotICAgICAgICAiIGRlZmluaXRpb24gOjo9IElkID0gdHlwZSAiCi0gICAgICAgIGlkLCBfLCB0eXBlID0gaW5mbwotICAgICAgICByZXR1cm4gW1R5cGUoaWQsIHR5cGUpXQotCi0gICAgZGVmIHBfdHlwZV8wKHNlbGYsIHByb2R1Y3QpOgotICAgICAgICAiIHR5cGUgOjo9IHByb2R1Y3QgIgotICAgICAgICByZXR1cm4gcHJvZHVjdFswXQotCi0gICAgZGVmIHBfdHlwZV8xKHNlbGYsIHN1bSk6Ci0gICAgICAgICIgdHlwZSA6Oj0gc3VtICIKLSAgICAgICAgcmV0dXJuIFN1bShzdW1bMF0pCi0KLSAgICBkZWYgcF90eXBlXzIoc2VsZiwgaW5mbyk6Ci0gICAgICAgICIgdHlwZSA6Oj0gc3VtIElkICggZmllbGRzICkgIgotICAgICAgICBzdW0sIGlkLCBfMCwgYXR0cmlidXRlcywgXzEgPSBpbmZvCi0gICAgICAgIGlmIGlkLnZhbHVlICE9ICJhdHRyaWJ1dGVzIjoKLSAgICAgICAgICAgIHJhaXNlIEFTRExTeW50YXhFcnJvcihpZC5saW5lbm8sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNnPSJleHBlY3RlZCBhdHRyaWJ1dGVzLCBmb3VuZCAlcyIgJSBpZCkKLSAgICAgICAgcmV0dXJuIFN1bShzdW0sIGF0dHJpYnV0ZXMpCi0KLSAgICBkZWYgcF9wcm9kdWN0XzAoc2VsZiwgaW5mbyk6Ci0gICAgICAgICIgcHJvZHVjdCA6Oj0gKCBmaWVsZHMgKSAiCi0gICAgICAgIF8wLCBmaWVsZHMsIF8xID0gaW5mbwotICAgICAgICByZXR1cm4gUHJvZHVjdChmaWVsZHMpCi0KLSAgICBkZWYgcF9wcm9kdWN0XzEoc2VsZiwgaW5mbyk6Ci0gICAgICAgICIgcHJvZHVjdCA6Oj0gKCBmaWVsZHMgKSBJZCAoIGZpZWxkcyApICIKLSAgICAgICAgXzAsIGZpZWxkcywgXzEsIGlkLCBfMiwgYXR0cmlidXRlcywgXzMgPSBpbmZvCi0gICAgICAgIGlmIGlkLnZhbHVlICE9ICJhdHRyaWJ1dGVzIjoKLSAgICAgICAgICAgIHJhaXNlIEFTRExTeW50YXhFcnJvcihpZC5saW5lbm8sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNnPSJleHBlY3RlZCBhdHRyaWJ1dGVzLCBmb3VuZCAlcyIgJSBpZCkKLSAgICAgICAgcmV0dXJuIFByb2R1Y3QoZmllbGRzLCBhdHRyaWJ1dGVzKQotCi0gICAgZGVmIHBfc3VtXzAoc2VsZiwgY29uc3RydWN0b3IpOgotICAgICAgICAiIHN1bSA6Oj0gY29uc3RydWN0b3IgIgotICAgICAgICByZXR1cm4gW2NvbnN0cnVjdG9yWzBdXQotCi0gICAgZGVmIHBfc3VtXzEoc2VsZiwgaW5mbyk6Ci0gICAgICAgICIgc3VtIDo6PSBjb25zdHJ1Y3RvciB8IHN1bSAiCi0gICAgICAgIGNvbnN0cnVjdG9yLCBfLCBzdW0gPSBpbmZvCi0gICAgICAgIHJldHVybiBbY29uc3RydWN0b3JdICsgc3VtCi0KLSAgICBkZWYgcF9zdW1fMihzZWxmLCBpbmZvKToKLSAgICAgICAgIiBzdW0gOjo9IGNvbnN0cnVjdG9yIHwgc3VtICIKLSAgICAgICAgY29uc3RydWN0b3IsIF8sIHN1bSA9IGluZm8KLSAgICAgICAgcmV0dXJuIFtjb25zdHJ1Y3Rvcl0gKyBzdW0KLQotICAgIGRlZiBwX2NvbnN0cnVjdG9yXzAoc2VsZiwgaWQpOgotICAgICAgICAiIGNvbnN0cnVjdG9yIDo6PSBJZCAiCi0gICAgICAgIHJldHVybiBDb25zdHJ1Y3RvcihpZFswXSkKLQotICAgIGRlZiBwX2NvbnN0cnVjdG9yXzEoc2VsZiwgaW5mbyk6Ci0gICAgICAgICIgY29uc3RydWN0b3IgOjo9IElkICggZmllbGRzICkgIgotICAgICAgICBpZCwgXzAsIGZpZWxkcywgXzEgPSBpbmZvCi0gICAgICAgIHJldHVybiBDb25zdHJ1Y3RvcihpZCwgZmllbGRzKQotCi0gICAgZGVmIHBfZmllbGRzXzAoc2VsZiwgZmllbGQpOgotICAgICAgICAiIGZpZWxkcyA6Oj0gZmllbGQgIgotICAgICAgICByZXR1cm4gW2ZpZWxkWzBdXQotCi0gICAgZGVmIHBfZmllbGRzXzEoc2VsZiwgaW5mbyk6Ci0gICAgICAgICIgZmllbGRzIDo6PSBmaWVsZHMgLCBmaWVsZCAiCi0gICAgICAgIGZpZWxkcywgXywgZmllbGQgPSBpbmZvCi0gICAgICAgIHJldHVybiBmaWVsZHMgKyBbZmllbGRdCi0KLSAgICBkZWYgcF9maWVsZF8wKHNlbGYsIHR5cGVfKToKLSAgICAgICAgIiBmaWVsZCA6Oj0gSWQgIgotICAgICAgICByZXR1cm4gRmllbGQodHlwZV9bMF0pCi0KLSAgICBkZWYgcF9maWVsZF8xKHNlbGYsIGluZm8pOgotICAgICAgICAiIGZpZWxkIDo6PSBJZCBJZCAiCi0gICAgICAgIHR5cGUsIG5hbWUgPSBpbmZvCi0gICAgICAgIHJldHVybiBGaWVsZCh0eXBlLCBuYW1lKQotCi0gICAgZGVmIHBfZmllbGRfMihzZWxmLCBpbmZvKToKLSAgICAgICAgIiBmaWVsZCA6Oj0gSWQgKiBJZCAiCi0gICAgICAgIHR5cGUsIF8sIG5hbWUgPSBpbmZvCi0gICAgICAgIHJldHVybiBGaWVsZCh0eXBlLCBuYW1lLCBzZXE9VHJ1ZSkKLQotICAgIGRlZiBwX2ZpZWxkXzMoc2VsZiwgaW5mbyk6Ci0gICAgICAgICIgZmllbGQgOjo9IElkID8gSWQgIgotICAgICAgICB0eXBlLCBfLCBuYW1lID0gaW5mbwotICAgICAgICByZXR1cm4gRmllbGQodHlwZSwgbmFtZSwgb3B0PVRydWUpCi0KLSAgICBkZWYgcF9maWVsZF80KHNlbGYsIHR5cGVfKToKLSAgICAgICAgIiBmaWVsZCA6Oj0gSWQgKiAiCi0gICAgICAgIHJldHVybiBGaWVsZCh0eXBlX1swXSwgc2VxPVRydWUpCi0KLSAgICBkZWYgcF9maWVsZF81KHNlbGYsIHR5cGVfKToKLSAgICAgICAgIiBmaWVsZCA6Oj0gSWQgPyAiCi0gICAgICAgIHJldHVybiBGaWVsZCh0eXBlWzBdLCBvcHQ9VHJ1ZSkKLQotYnVpbHRpbl90eXBlcyA9ICgiaWRlbnRpZmllciIsICJzdHJpbmciLCAiYnl0ZXMiLCAiaW50IiwgIm9iamVjdCIsICJzaW5nbGV0b24iKQotCi0jIGJlbG93IGlzIGEgY29sbGVjdGlvbiBvZiBjbGFzc2VzIHRvIGNhcHR1cmUgdGhlIEFTVCBvZiBhbiBBU1QgOi0pCi0jIG5vdCBzdXJlIGlmIGFueSBvZiB0aGUgbWV0aG9kcyBhcmUgdXNlZnVsIHlldCwgYnV0IEknbSBhZGRpbmcgdGhlbQotIyBwaWVjZW1lYWwgYXMgdGhleSBzZWVtIGhlbHBmdWwKLQotY2xhc3MgQVNUKG9iamVjdCk6Ci0gICAgcGFzcyAjIGEgbWFya2VyIGNsYXNzCisgICAgICAgIHJhaXNlIE5vdEltcGxlbWVudGVkRXJyb3IKIAogY2xhc3MgTW9kdWxlKEFTVCk6CiAgICAgZGVmIF9faW5pdF9fKHNlbGYsIG5hbWUsIGRmbnMpOgogICAgICAgICBzZWxmLm5hbWUgPSBuYW1lCiAgICAgICAgIHNlbGYuZGZucyA9IGRmbnMKLSAgICAgICAgc2VsZi50eXBlcyA9IHt9ICMgbWFwcyB0eXBlIG5hbWUgdG8gdmFsdWUgKGZyb20gZGZucykKLSAgICAgICAgZm9yIHR5cGUgaW4gZGZuczoKLSAgICAgICAgICAgIHNlbGYudHlwZXNbdHlwZS5uYW1lLnZhbHVlXSA9IHR5cGUudmFsdWUKKyAgICAgICAgc2VsZi50eXBlcyA9IHt0eXBlLm5hbWU6IHR5cGUudmFsdWUgZm9yIHR5cGUgaW4gZGZuc30KIAogICAgIGRlZiBfX3JlcHJfXyhzZWxmKToKLSAgICAgICAgcmV0dXJuICJNb2R1bGUoJXMsICVzKSIgJSAoc2VsZi5uYW1lLCBzZWxmLmRmbnMpCisgICAgICAgIHJldHVybiAnTW9kdWxlKHswLm5hbWV9LCB7MC5kZm5zfSknLmZvcm1hdChzZWxmKQogCiBjbGFzcyBUeXBlKEFTVCk6CiAgICAgZGVmIF9faW5pdF9fKHNlbGYsIG5hbWUsIHZhbHVlKToKQEAgLTI1Nyw3ICs1NCw3IEBACiAgICAgICAgIHNlbGYudmFsdWUgPSB2YWx1ZQogCiAgICAgZGVmIF9fcmVwcl9fKHNlbGYpOgotICAgICAgICByZXR1cm4gIlR5cGUoJXMsICVzKSIgJSAoc2VsZi5uYW1lLCBzZWxmLnZhbHVlKQorICAgICAgICByZXR1cm4gJ1R5cGUoezAubmFtZX0sIHswLnZhbHVlfSknLmZvcm1hdChzZWxmKQogCiBjbGFzcyBDb25zdHJ1Y3RvcihBU1QpOgogICAgIGRlZiBfX2luaXRfXyhzZWxmLCBuYW1lLCBmaWVsZHM9Tm9uZSk6CkBAIC0yNjUsNyArNjIsNyBAQAogICAgICAgICBzZWxmLmZpZWxkcyA9IGZpZWxkcyBvciBbXQogCiAgICAgZGVmIF9fcmVwcl9fKHNlbGYpOgotICAgICAgICByZXR1cm4gIkNvbnN0cnVjdG9yKCVzLCAlcykiICUgKHNlbGYubmFtZSwgc2VsZi5maWVsZHMpCisgICAgICAgIHJldHVybiAnQ29uc3RydWN0b3IoezAubmFtZX0sIHswLmZpZWxkc30pJy5mb3JtYXQoc2VsZikKIAogY2xhc3MgRmllbGQoQVNUKToKICAgICBkZWYgX19pbml0X18oc2VsZiwgdHlwZSwgbmFtZT1Ob25lLCBzZXE9RmFsc2UsIG9wdD1GYWxzZSk6CkBAIC0yODIsOSArNzksOSBAQAogICAgICAgICBlbHNlOgogICAgICAgICAgICAgZXh0cmEgPSAiIgogICAgICAgICBpZiBzZWxmLm5hbWUgaXMgTm9uZToKLSAgICAgICAgICAgIHJldHVybiAiRmllbGQoJXMlcykiICUgKHNlbGYudHlwZSwgZXh0cmEpCisgICAgICAgICAgICByZXR1cm4gJ0ZpZWxkKHswLnR5cGV9ezF9KScuZm9ybWF0KHNlbGYsIGV4dHJhKQogICAgICAgICBlbHNlOgotICAgICAgICAgICAgcmV0dXJuICJGaWVsZCglcywgJXMlcykiICUgKHNlbGYudHlwZSwgc2VsZi5uYW1lLCBleHRyYSkKKyAgICAgICAgICAgIHJldHVybiAnRmllbGQoezAudHlwZX0sIHswLm5hbWV9ezF9KScuZm9ybWF0KHNlbGYsIGV4dHJhKQogCiBjbGFzcyBTdW0oQVNUKToKICAgICBkZWYgX19pbml0X18oc2VsZiwgdHlwZXMsIGF0dHJpYnV0ZXM9Tm9uZSk6CkBAIC0yOTIsMTAgKzg5LDEwIEBACiAgICAgICAgIHNlbGYuYXR0cmlidXRlcyA9IGF0dHJpYnV0ZXMgb3IgW10KIAogICAgIGRlZiBfX3JlcHJfXyhzZWxmKToKLSAgICAgICAgaWYgc2VsZi5hdHRyaWJ1dGVzIGlzIE5vbmU6Ci0gICAgICAgICAgICByZXR1cm4gIlN1bSglcykiICUgc2VsZi50eXBlcworICAgICAgICBpZiBzZWxmLmF0dHJpYnV0ZXM6CisgICAgICAgICAgICByZXR1cm4gJ1N1bSh7MC50eXBlc30sIHswLmF0dHJpYnV0ZXN9KScuZm9ybWF0KHNlbGYpCiAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICByZXR1cm4gIlN1bSglcywgJXMpIiAlIChzZWxmLnR5cGVzLCBzZWxmLmF0dHJpYnV0ZXMpCisgICAgICAgICAgICByZXR1cm4gJ1N1bSh7MC50eXBlc30pJy5mb3JtYXQoc2VsZikKIAogY2xhc3MgUHJvZHVjdChBU1QpOgogICAgIGRlZiBfX2luaXRfXyhzZWxmLCBmaWVsZHMsIGF0dHJpYnV0ZXM9Tm9uZSk6CkBAIC0zMDMsNDkgKzEwMCw0MyBAQAogICAgICAgICBzZWxmLmF0dHJpYnV0ZXMgPSBhdHRyaWJ1dGVzIG9yIFtdCiAKICAgICBkZWYgX19yZXByX18oc2VsZik6Ci0gICAgICAgIGlmIHNlbGYuYXR0cmlidXRlcyBpcyBOb25lOgotICAgICAgICAgICAgcmV0dXJuICJQcm9kdWN0KCVzKSIgJSBzZWxmLmZpZWxkcworICAgICAgICBpZiBzZWxmLmF0dHJpYnV0ZXM6CisgICAgICAgICAgICByZXR1cm4gJ1Byb2R1Y3QoezAuZmllbGRzfSwgezAuYXR0cmlidXRlc30pJy5mb3JtYXQoc2VsZikKICAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHJldHVybiAiUHJvZHVjdCglcywgJXMpIiAlIChzZWxmLmZpZWxkcywgc2VsZi5hdHRyaWJ1dGVzKQorICAgICAgICAgICAgcmV0dXJuICdQcm9kdWN0KHswLmZpZWxkc30pJy5mb3JtYXQoc2VsZikKKworIyBBIGdlbmVyaWMgdmlzaXRvciBmb3IgdGhlIG1ldGEtQVNUIHRoYXQgZGVzY3JpYmVzIEFTREwuIFRoaXMgY2FuIGJlIHVzZWQgYnkKKyMgZW1pdHRlcnMuIE5vdGUgdGhhdCB0aGlzIHZpc2l0b3IgZG9lcyBub3QgcHJvdmlkZSBhIGdlbmVyaWMgdmlzaXQgbWV0aG9kLCBzbyBhCisjIHN1YmNsYXNzIG5lZWRzIHRvIGRlZmluZSB2aXNpdCBtZXRob2RzIGZyb20gdmlzaXRNb2R1bGUgdG8gYXMgZGVlcCBhcyB0aGUKKyMgaW50ZXJlc3Rpbmcgbm9kZS4KKyMgV2UgYWxzbyBkZWZpbmUgYSBDaGVjayB2aXNpdG9yIHRoYXQgbWFrZXMgc3VyZSB0aGUgcGFyc2VkIEFTREwgaXMgd2VsbC1mb3JtZWQuCiAKIGNsYXNzIFZpc2l0b3JCYXNlKG9iamVjdCk6Ci0KLSAgICBkZWYgX19pbml0X18oc2VsZiwgc2tpcD1GYWxzZSk6CisgICAgIiIiR2VuZXJpYyB0cmVlIHZpc2l0b3IgZm9yIEFTVHMuIiIiCisgICAgZGVmIF9faW5pdF9fKHNlbGYpOgogICAgICAgICBzZWxmLmNhY2hlID0ge30KLSAgICAgICAgc2VsZi5za2lwID0gc2tpcAogCi0gICAgZGVmIHZpc2l0KHNlbGYsIG9iamVjdCwgKmFyZ3MpOgotICAgICAgICBtZXRoID0gc2VsZi5fZGlzcGF0Y2gob2JqZWN0KQotICAgICAgICBpZiBtZXRoIGlzIE5vbmU6Ci0gICAgICAgICAgICByZXR1cm4KLSAgICAgICAgdHJ5OgotICAgICAgICAgICAgbWV0aChvYmplY3QsICphcmdzKQotICAgICAgICBleGNlcHQgRXhjZXB0aW9uOgotICAgICAgICAgICAgb3V0cHV0KCJFcnJvciB2aXNpdGluZyIgKyByZXByKG9iamVjdCkpCi0gICAgICAgICAgICBvdXRwdXQoc3RyKHN5cy5leGNfaW5mbygpWzFdKSkKLSAgICAgICAgICAgIHRyYWNlYmFjay5wcmludF9leGMoKQotICAgICAgICAgICAgIyBYWFggaGFjawotICAgICAgICAgICAgaWYgaGFzYXR0cihzZWxmLCAnZmlsZScpOgotICAgICAgICAgICAgICAgIHNlbGYuZmlsZS5mbHVzaCgpCi0gICAgICAgICAgICBvcy5fZXhpdCgxKQotCi0gICAgZGVmIF9kaXNwYXRjaChzZWxmLCBvYmplY3QpOgotICAgICAgICBhc3NlcnQgaXNpbnN0YW5jZShvYmplY3QsIEFTVCksIHJlcHIob2JqZWN0KQotICAgICAgICBrbGFzcyA9IG9iamVjdC5fX2NsYXNzX18KKyAgICBkZWYgdmlzaXQoc2VsZiwgb2JqLCAqYXJncyk6CisgICAgICAgIGtsYXNzID0gb2JqLl9fY2xhc3NfXwogICAgICAgICBtZXRoID0gc2VsZi5jYWNoZS5nZXQoa2xhc3MpCiAgICAgICAgIGlmIG1ldGggaXMgTm9uZToKICAgICAgICAgICAgIG1ldGhuYW1lID0gInZpc2l0IiArIGtsYXNzLl9fbmFtZV9fCi0gICAgICAgICAgICBpZiBzZWxmLnNraXA6Ci0gICAgICAgICAgICAgICAgbWV0aCA9IGdldGF0dHIoc2VsZiwgbWV0aG5hbWUsIE5vbmUpCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIG1ldGggPSBnZXRhdHRyKHNlbGYsIG1ldGhuYW1lKQorICAgICAgICAgICAgbWV0aCA9IGdldGF0dHIoc2VsZiwgbWV0aG5hbWUsIE5vbmUpCiAgICAgICAgICAgICBzZWxmLmNhY2hlW2tsYXNzXSA9IG1ldGgKLSAgICAgICAgcmV0dXJuIG1ldGgKKyAgICAgICAgaWYgbWV0aDoKKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICBtZXRoKG9iaiwgKmFyZ3MpCisgICAgICAgICAgICBleGNlcHQgRXhjZXB0aW9uIGFzIGU6CisgICAgICAgICAgICAgICAgcHJpbnQoIkVycm9yIHZpc2l0aW5nICVyOiAlcyIgJSAob2JqLCBlKSkKKyAgICAgICAgICAgICAgICByYWlzZQogCiBjbGFzcyBDaGVjayhWaXNpdG9yQmFzZSk6CisgICAgIiIiQSB2aXNpdG9yIHRoYXQgY2hlY2tzIGEgcGFyc2VkIEFTREwgdHJlZSBmb3IgY29ycmVjdG5lc3MuCiAKKyAgICBFcnJvcnMgYXJlIHByaW50ZWQgYW5kIGFjY3VtdWxhdGVkLgorICAgICIiIgogICAgIGRlZiBfX2luaXRfXyhzZWxmKToKLSAgICAgICAgc3VwZXIoQ2hlY2ssIHNlbGYpLl9faW5pdF9fKHNraXA9VHJ1ZSkKKyAgICAgICAgc3VwZXIoQ2hlY2ssIHNlbGYpLl9faW5pdF9fKCkKICAgICAgICAgc2VsZi5jb25zID0ge30KICAgICAgICAgc2VsZi5lcnJvcnMgPSAwCiAgICAgICAgIHNlbGYudHlwZXMgPSB7fQpAQCAtMzY3LDggKzE1OCw4IEBACiAgICAgICAgIGlmIGNvbmZsaWN0IGlzIE5vbmU6CiAgICAgICAgICAgICBzZWxmLmNvbnNba2V5XSA9IG5hbWUKICAgICAgICAgZWxzZToKLSAgICAgICAgICAgIG91dHB1dCgiUmVkZWZpbml0aW9uIG9mIGNvbnN0cnVjdG9yICVzIiAlIGtleSkKLSAgICAgICAgICAgIG91dHB1dCgiRGVmaW5lZCBpbiAlcyBhbmQgJXMiICUgKGNvbmZsaWN0LCBuYW1lKSkKKyAgICAgICAgICAgIHByaW50KCdSZWRlZmluaXRpb24gb2YgY29uc3RydWN0b3Ige30nLmZvcm1hdChrZXkpKQorICAgICAgICAgICAgcHJpbnQoJ0RlZmluZWQgaW4ge30gYW5kIHt9Jy5mb3JtYXQoY29uZmxpY3QsIG5hbWUpKQogICAgICAgICAgICAgc2VsZi5lcnJvcnMgKz0gMQogICAgICAgICBmb3IgZiBpbiBjb25zLmZpZWxkczoKICAgICAgICAgICAgIHNlbGYudmlzaXQoZiwga2V5KQpAQCAtMzgzLDYgKzE3NCwxMSBAQAogICAgICAgICAgICAgc2VsZi52aXNpdChmLCBuYW1lKQogCiBkZWYgY2hlY2sobW9kKToKKyAgICAiIiJDaGVjayB0aGUgcGFyc2VkIEFTREwgdHJlZSBmb3IgY29ycmVjdG5lc3MuCisKKyAgICBSZXR1cm4gVHJ1ZSBpZiBzdWNjZXNzLiBGb3IgZmFpbHVyZSwgdGhlIGVycm9ycyBhcmUgcHJpbnRlZCBvdXQgYW5kIEZhbHNlCisgICAgaXMgcmV0dXJuZWQuCisgICAgIiIiCiAgICAgdiA9IENoZWNrKCkKICAgICB2LnZpc2l0KG1vZCkKIApAQCAtMzkwLDQ3ICsxODYsMTkwIEBACiAgICAgICAgIGlmIHQgbm90IGluIG1vZC50eXBlcyBhbmQgbm90IHQgaW4gYnVpbHRpbl90eXBlczoKICAgICAgICAgICAgIHYuZXJyb3JzICs9IDEKICAgICAgICAgICAgIHVzZXMgPSAiLCAiLmpvaW4odi50eXBlc1t0XSkKLSAgICAgICAgICAgIG91dHB1dCgiVW5kZWZpbmVkIHR5cGUgJXMsIHVzZWQgaW4gJXMiICUgKHQsIHVzZXMpKQotCisgICAgICAgICAgICBwcmludCgnVW5kZWZpbmVkIHR5cGUge30sIHVzZWQgaW4ge30nLmZvcm1hdCh0LCB1c2VzKSkKICAgICByZXR1cm4gbm90IHYuZXJyb3JzCiAKLWRlZiBwYXJzZShmaWxlKToKLSAgICBzY2FubmVyID0gQVNETFNjYW5uZXIoKQotICAgIHBhcnNlciA9IEFTRExQYXJzZXIoKQorIyBUaGUgQVNETCBwYXJzZXIgaXRzZWxmIGNvbWVzIG5leHQuIFRoZSBvbmx5IGludGVyZXN0aW5nIGV4dGVybmFsIGludGVyZmFjZQorIyBoZXJlIGlzIHRoZSB0b3AtbGV2ZWwgcGFyc2UgZnVuY3Rpb24uCiAKLSAgICBmID0gb3BlbihmaWxlKQotICAgIHRyeToKLSAgICAgICAgYnVmID0gZi5yZWFkKCkKLSAgICBmaW5hbGx5OgotICAgICAgICBmLmNsb3NlKCkKLSAgICB0b2tlbnMgPSBzY2FubmVyLnRva2VuaXplKGJ1ZikKLSAgICB0cnk6Ci0gICAgICAgIHJldHVybiBwYXJzZXIucGFyc2UodG9rZW5zKQotICAgIGV4Y2VwdCBBU0RMU3ludGF4RXJyb3I6Ci0gICAgICAgIGVyciA9IHN5cy5leGNfaW5mbygpWzFdCi0gICAgICAgIG91dHB1dChzdHIoZXJyKSkKLSAgICAgICAgbGluZXMgPSBidWYuc3BsaXQoIlxuIikKLSAgICAgICAgb3V0cHV0KGxpbmVzW2Vyci5saW5lbm8gLSAxXSkgIyBsaW5lcyBzdGFydHMgYXQgMCwgZmlsZXMgYXQgMQorZGVmIHBhcnNlKGZpbGVuYW1lKToKKyAgICAiIiJQYXJzZSBBU0RMIGZyb20gdGhlIGdpdmVuIGZpbGUgYW5kIHJldHVybiBhIE1vZHVsZSBub2RlIGRlc2NyaWJpbmcgaXQuIiIiCisgICAgd2l0aCBvcGVuKGZpbGVuYW1lKSBhcyBmOgorICAgICAgICBwYXJzZXIgPSBBU0RMUGFyc2VyKCkKKyAgICAgICAgcmV0dXJuIHBhcnNlci5wYXJzZShmLnJlYWQoKSkKIAotaWYgX19uYW1lX18gPT0gIl9fbWFpbl9fIjoKLSAgICBpbXBvcnQgZ2xvYgotICAgIGltcG9ydCBzeXMKKyMgVHlwZXMgZm9yIGRlc2NyaWJpbmcgdG9rZW5zIGluIGFuIEFTREwgc3BlY2lmaWNhdGlvbi4KK2NsYXNzIFRva2VuS2luZDoKKyAgICAiIiJUb2tlbktpbmQgaXMgcHJvdmlkZXMgYSBzY29wZSBmb3IgZW51bWVyYXRlZCB0b2tlbiBraW5kcy4iIiIKKyAgICAoQ29uc3RydWN0b3JJZCwgVHlwZUlkLCBFcXVhbHMsIENvbW1hLCBRdWVzdGlvbiwgUGlwZSwgQXN0ZXJpc2ssCisgICAgIExQYXJlbiwgUlBhcmVuLCBMQnJhY2UsIFJCcmFjZSkgPSByYW5nZSgxMSkKIAotICAgIGlmIGxlbihzeXMuYXJndikgPiAxOgotICAgICAgICBmaWxlcyA9IHN5cy5hcmd2WzE6XQotICAgIGVsc2U6Ci0gICAgICAgIHRlc3RkaXIgPSAidGVzdHMiCi0gICAgICAgIGZpbGVzID0gZ2xvYi5nbG9iKHRlc3RkaXIgKyAiLyouYXNkbCIpCisgICAgb3BlcmF0b3JfdGFibGUgPSB7CisgICAgICAgICc9JzogRXF1YWxzLCAnLCc6IENvbW1hLCAgICAnPyc6IFF1ZXN0aW9uLCAnfCc6IFBpcGUsICAgICcoJzogTFBhcmVuLAorICAgICAgICAnKSc6IFJQYXJlbiwgJyonOiBBc3RlcmlzaywgJ3snOiBMQnJhY2UsICAgJ30nOiBSQnJhY2V9CiAKLSAgICBmb3IgZmlsZSBpbiBmaWxlczoKLSAgICAgICAgb3V0cHV0KGZpbGUpCi0gICAgICAgIG1vZCA9IHBhcnNlKGZpbGUpCi0gICAgICAgIGlmIG5vdCBtb2Q6Ci0gICAgICAgICAgICBicmVhawotICAgICAgICBvdXRwdXQoIm1vZHVsZSIsIG1vZC5uYW1lKQotICAgICAgICBvdXRwdXQobGVuKG1vZC5kZm5zKSwgImRlZmluaXRpb25zIikKLSAgICAgICAgaWYgbm90IGNoZWNrKG1vZCk6Ci0gICAgICAgICAgICBvdXRwdXQoIkNoZWNrIGZhaWxlZCIpCitUb2tlbiA9IG5hbWVkdHVwbGUoJ1Rva2VuJywgJ2tpbmQgdmFsdWUgbGluZW5vJykKKworY2xhc3MgQVNETFN5bnRheEVycm9yKEV4Y2VwdGlvbik6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIG1zZywgbGluZW5vPU5vbmUpOgorICAgICAgICBzZWxmLm1zZyA9IG1zZworICAgICAgICBzZWxmLmxpbmVubyA9IGxpbmVubyBvciAnPHVua25vd24+JworCisgICAgZGVmIF9fc3RyX18oc2VsZik6CisgICAgICAgIHJldHVybiAnU3ludGF4IGVycm9yIG9uIGxpbmUgezAubGluZW5vfTogezAubXNnfScuZm9ybWF0KHNlbGYpCisKK2RlZiB0b2tlbml6ZV9hc2RsKGJ1Zik6CisgICAgIiIiVG9rZW5pemUgdGhlIGdpdmVuIGJ1ZmZlci4gWWllbGQgVG9rZW4gb2JqZWN0cy4iIiIKKyAgICBmb3IgbGluZW5vLCBsaW5lIGluIGVudW1lcmF0ZShidWYuc3BsaXRsaW5lcygpLCAxKToKKyAgICAgICAgZm9yIG0gaW4gcmUuZmluZGl0ZXIocidccyooXHcrfC0tLip8LiknLCBsaW5lLnN0cmlwKCkpOgorICAgICAgICAgICAgYyA9IG0uZ3JvdXAoMSkKKyAgICAgICAgICAgIGlmIGNbMF0uaXNhbHBoYSgpOgorICAgICAgICAgICAgICAgICMgU29tZSBraW5kIG9mIGlkZW50aWZpZXIKKyAgICAgICAgICAgICAgICBpZiBjWzBdLmlzdXBwZXIoKToKKyAgICAgICAgICAgICAgICAgICAgeWllbGQgVG9rZW4oVG9rZW5LaW5kLkNvbnN0cnVjdG9ySWQsIGMsIGxpbmVubykKKyAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICB5aWVsZCBUb2tlbihUb2tlbktpbmQuVHlwZUlkLCBjLCBsaW5lbm8pCisgICAgICAgICAgICBlbGlmIGNbOjJdID09ICctLSc6CisgICAgICAgICAgICAgICAgIyBDb21tZW50CisgICAgICAgICAgICAgICAgYnJlYWsKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgIyBPcGVyYXRvcnMKKyAgICAgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgICAgIG9wX2tpbmQgPSBUb2tlbktpbmQub3BlcmF0b3JfdGFibGVbY10KKyAgICAgICAgICAgICAgICBleGNlcHQgS2V5RXJyb3I6CisgICAgICAgICAgICAgICAgICAgIHJhaXNlIEFTRExTeW50YXhFcnJvcignSW52YWxpZCBvcGVyYXRvciAlcycgJSBjLCBsaW5lbm8pCisgICAgICAgICAgICAgICAgeWllbGQgVG9rZW4ob3Bfa2luZCwgYywgbGluZW5vKQorCitjbGFzcyBBU0RMUGFyc2VyOgorICAgICIiIlBhcnNlciBmb3IgQVNETCBmaWxlcy4KKworICAgIENyZWF0ZSwgdGhlbiBjYWxsIHRoZSBwYXJzZSBtZXRob2Qgb24gYSBidWZmZXIgY29udGFpbmluZyBBU0RMLgorICAgIFRoaXMgaXMgYSBzaW1wbGUgcmVjdXJzaXZlIGRlc2NlbnQgcGFyc2VyIHRoYXQgdXNlcyB0b2tlbml6ZV9hc2RsIGZvciB0aGUKKyAgICBsZXhpbmcuCisgICAgIiIiCisgICAgZGVmIF9faW5pdF9fKHNlbGYpOgorICAgICAgICBzZWxmLl90b2tlbml6ZXIgPSBOb25lCisgICAgICAgIHNlbGYuY3VyX3Rva2VuID0gTm9uZQorCisgICAgZGVmIHBhcnNlKHNlbGYsIGJ1Zik6CisgICAgICAgICIiIlBhcnNlIHRoZSBBU0RMIGluIHRoZSBidWZmZXIgYW5kIHJldHVybiBhbiBBU1Qgd2l0aCBhIE1vZHVsZSByb290LgorICAgICAgICAiIiIKKyAgICAgICAgc2VsZi5fdG9rZW5pemVyID0gdG9rZW5pemVfYXNkbChidWYpCisgICAgICAgIHNlbGYuX2FkdmFuY2UoKQorICAgICAgICByZXR1cm4gc2VsZi5fcGFyc2VfbW9kdWxlKCkKKworICAgIGRlZiBfcGFyc2VfbW9kdWxlKHNlbGYpOgorICAgICAgICBpZiBzZWxmLl9hdF9rZXl3b3JkKCdtb2R1bGUnKToKKyAgICAgICAgICAgIHNlbGYuX2FkdmFuY2UoKQogICAgICAgICBlbHNlOgotICAgICAgICAgICAgZm9yIGRmbiBpbiBtb2QuZGZuczoKLSAgICAgICAgICAgICAgICBvdXRwdXQoZGZuLm5hbWUsIGRmbi52YWx1ZSkKKyAgICAgICAgICAgIHJhaXNlIEFTRExTeW50YXhFcnJvcigKKyAgICAgICAgICAgICAgICAnRXhwZWN0ZWQgIm1vZHVsZSIgKGZvdW5kIHt9KScuZm9ybWF0KHNlbGYuY3VyX3Rva2VuLnZhbHVlKSwKKyAgICAgICAgICAgICAgICBzZWxmLmN1cl90b2tlbi5saW5lbm8pCisgICAgICAgIG5hbWUgPSBzZWxmLl9tYXRjaChzZWxmLl9pZF9raW5kcykKKyAgICAgICAgc2VsZi5fbWF0Y2goVG9rZW5LaW5kLkxCcmFjZSkKKyAgICAgICAgZGVmcyA9IHNlbGYuX3BhcnNlX2RlZmluaXRpb25zKCkKKyAgICAgICAgc2VsZi5fbWF0Y2goVG9rZW5LaW5kLlJCcmFjZSkKKyAgICAgICAgcmV0dXJuIE1vZHVsZShuYW1lLCBkZWZzKQorCisgICAgZGVmIF9wYXJzZV9kZWZpbml0aW9ucyhzZWxmKToKKyAgICAgICAgZGVmcyA9IFtdCisgICAgICAgIHdoaWxlIHNlbGYuY3VyX3Rva2VuLmtpbmQgPT0gVG9rZW5LaW5kLlR5cGVJZDoKKyAgICAgICAgICAgIHR5cGVuYW1lID0gc2VsZi5fYWR2YW5jZSgpCisgICAgICAgICAgICBzZWxmLl9tYXRjaChUb2tlbktpbmQuRXF1YWxzKQorICAgICAgICAgICAgdHlwZSA9IHNlbGYuX3BhcnNlX3R5cGUoKQorICAgICAgICAgICAgZGVmcy5hcHBlbmQoVHlwZSh0eXBlbmFtZSwgdHlwZSkpCisgICAgICAgIHJldHVybiBkZWZzCisKKyAgICBkZWYgX3BhcnNlX3R5cGUoc2VsZik6CisgICAgICAgIGlmIHNlbGYuY3VyX3Rva2VuLmtpbmQgPT0gVG9rZW5LaW5kLkxQYXJlbjoKKyAgICAgICAgICAgICMgSWYgd2Ugc2VlIGEgKCwgaXQncyBhIHByb2R1Y3QKKyAgICAgICAgICAgIHJldHVybiBzZWxmLl9wYXJzZV9wcm9kdWN0KCkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgICMgT3RoZXJ3aXNlIGl0J3MgYSBzdW0uIExvb2sgZm9yIENvbnN0cnVjdG9ySWQKKyAgICAgICAgICAgIHN1bWxpc3QgPSBbQ29uc3RydWN0b3Ioc2VsZi5fbWF0Y2goVG9rZW5LaW5kLkNvbnN0cnVjdG9ySWQpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9wYXJzZV9vcHRpb25hbF9maWVsZHMoKSldCisgICAgICAgICAgICB3aGlsZSBzZWxmLmN1cl90b2tlbi5raW5kICA9PSBUb2tlbktpbmQuUGlwZToKKyAgICAgICAgICAgICAgICAjIE1vcmUgY29uc3RydWN0b3JzCisgICAgICAgICAgICAgICAgc2VsZi5fYWR2YW5jZSgpCisgICAgICAgICAgICAgICAgc3VtbGlzdC5hcHBlbmQoQ29uc3RydWN0b3IoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX21hdGNoKFRva2VuS2luZC5Db25zdHJ1Y3RvcklkKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fcGFyc2Vfb3B0aW9uYWxfZmllbGRzKCkpKQorICAgICAgICAgICAgcmV0dXJuIFN1bShzdW1saXN0LCBzZWxmLl9wYXJzZV9vcHRpb25hbF9hdHRyaWJ1dGVzKCkpCisKKyAgICBkZWYgX3BhcnNlX3Byb2R1Y3Qoc2VsZik6CisgICAgICAgIHJldHVybiBQcm9kdWN0KHNlbGYuX3BhcnNlX2ZpZWxkcygpLCBzZWxmLl9wYXJzZV9vcHRpb25hbF9hdHRyaWJ1dGVzKCkpCisKKyAgICBkZWYgX3BhcnNlX2ZpZWxkcyhzZWxmKToKKyAgICAgICAgZmllbGRzID0gW10KKyAgICAgICAgc2VsZi5fbWF0Y2goVG9rZW5LaW5kLkxQYXJlbikKKyAgICAgICAgd2hpbGUgc2VsZi5jdXJfdG9rZW4ua2luZCA9PSBUb2tlbktpbmQuVHlwZUlkOgorICAgICAgICAgICAgdHlwZW5hbWUgPSBzZWxmLl9hZHZhbmNlKCkKKyAgICAgICAgICAgIGlzX3NlcSwgaXNfb3B0ID0gc2VsZi5fcGFyc2Vfb3B0aW9uYWxfZmllbGRfcXVhbnRpZmllcigpCisgICAgICAgICAgICBpZCA9IChzZWxmLl9hZHZhbmNlKCkgaWYgc2VsZi5jdXJfdG9rZW4ua2luZCBpbiBzZWxmLl9pZF9raW5kcworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgTm9uZSkKKyAgICAgICAgICAgIGZpZWxkcy5hcHBlbmQoRmllbGQodHlwZW5hbWUsIGlkLCBzZXE9aXNfc2VxLCBvcHQ9aXNfb3B0KSkKKyAgICAgICAgICAgIGlmIHNlbGYuY3VyX3Rva2VuLmtpbmQgPT0gVG9rZW5LaW5kLlJQYXJlbjoKKyAgICAgICAgICAgICAgICBicmVhaworICAgICAgICAgICAgZWxpZiBzZWxmLmN1cl90b2tlbi5raW5kID09IFRva2VuS2luZC5Db21tYToKKyAgICAgICAgICAgICAgICBzZWxmLl9hZHZhbmNlKCkKKyAgICAgICAgc2VsZi5fbWF0Y2goVG9rZW5LaW5kLlJQYXJlbikKKyAgICAgICAgcmV0dXJuIGZpZWxkcworCisgICAgZGVmIF9wYXJzZV9vcHRpb25hbF9maWVsZHMoc2VsZik6CisgICAgICAgIGlmIHNlbGYuY3VyX3Rva2VuLmtpbmQgPT0gVG9rZW5LaW5kLkxQYXJlbjoKKyAgICAgICAgICAgIHJldHVybiBzZWxmLl9wYXJzZV9maWVsZHMoKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgcmV0dXJuIE5vbmUKKworICAgIGRlZiBfcGFyc2Vfb3B0aW9uYWxfYXR0cmlidXRlcyhzZWxmKToKKyAgICAgICAgaWYgc2VsZi5fYXRfa2V5d29yZCgnYXR0cmlidXRlcycpOgorICAgICAgICAgICAgc2VsZi5fYWR2YW5jZSgpCisgICAgICAgICAgICByZXR1cm4gc2VsZi5fcGFyc2VfZmllbGRzKCkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHJldHVybiBOb25lCisKKyAgICBkZWYgX3BhcnNlX29wdGlvbmFsX2ZpZWxkX3F1YW50aWZpZXIoc2VsZik6CisgICAgICAgIGlzX3NlcSwgaXNfb3B0ID0gRmFsc2UsIEZhbHNlCisgICAgICAgIGlmIHNlbGYuY3VyX3Rva2VuLmtpbmQgPT0gVG9rZW5LaW5kLkFzdGVyaXNrOgorICAgICAgICAgICAgaXNfc2VxID0gVHJ1ZQorICAgICAgICAgICAgc2VsZi5fYWR2YW5jZSgpCisgICAgICAgIGVsaWYgc2VsZi5jdXJfdG9rZW4ua2luZCA9PSBUb2tlbktpbmQuUXVlc3Rpb246CisgICAgICAgICAgICBpc19vcHQgPSBUcnVlCisgICAgICAgICAgICBzZWxmLl9hZHZhbmNlKCkKKyAgICAgICAgcmV0dXJuIGlzX3NlcSwgaXNfb3B0CisKKyAgICBkZWYgX2FkdmFuY2Uoc2VsZik6CisgICAgICAgICIiIiBSZXR1cm4gdGhlIHZhbHVlIG9mIHRoZSBjdXJyZW50IHRva2VuIGFuZCByZWFkIHRoZSBuZXh0IG9uZSBpbnRvCisgICAgICAgICAgICBzZWxmLmN1cl90b2tlbi4KKyAgICAgICAgIiIiCisgICAgICAgIGN1cl92YWwgPSBOb25lIGlmIHNlbGYuY3VyX3Rva2VuIGlzIE5vbmUgZWxzZSBzZWxmLmN1cl90b2tlbi52YWx1ZQorICAgICAgICB0cnk6CisgICAgICAgICAgICBzZWxmLmN1cl90b2tlbiA9IG5leHQoc2VsZi5fdG9rZW5pemVyKQorICAgICAgICBleGNlcHQgU3RvcEl0ZXJhdGlvbjoKKyAgICAgICAgICAgIHNlbGYuY3VyX3Rva2VuID0gTm9uZQorICAgICAgICByZXR1cm4gY3VyX3ZhbAorCisgICAgX2lkX2tpbmRzID0gKFRva2VuS2luZC5Db25zdHJ1Y3RvcklkLCBUb2tlbktpbmQuVHlwZUlkKQorCisgICAgZGVmIF9tYXRjaChzZWxmLCBraW5kKToKKyAgICAgICAgIiIiVGhlICdtYXRjaCcgcHJpbWl0aXZlIG9mIFJEIHBhcnNlcnMuCisKKyAgICAgICAgKiBWZXJpZmllcyB0aGF0IHRoZSBjdXJyZW50IHRva2VuIGlzIG9mIHRoZSBnaXZlbiBraW5kIChraW5kIGNhbgorICAgICAgICAgIGJlIGEgdHVwbGUsIGluIHdoaWNoIHRoZSBraW5kIG11c3QgbWF0Y2ggb25lIG9mIGl0cyBtZW1iZXJzKS4KKyAgICAgICAgKiBSZXR1cm5zIHRoZSB2YWx1ZSBvZiB0aGUgY3VycmVudCB0b2tlbgorICAgICAgICAqIFJlYWRzIGluIHRoZSBuZXh0IHRva2VuCisgICAgICAgICIiIgorICAgICAgICBpZiAoaXNpbnN0YW5jZShraW5kLCB0dXBsZSkgYW5kIHNlbGYuY3VyX3Rva2VuLmtpbmQgaW4ga2luZCBvcgorICAgICAgICAgICAgc2VsZi5jdXJfdG9rZW4ua2luZCA9PSBraW5kCisgICAgICAgICAgICApOgorICAgICAgICAgICAgdmFsdWUgPSBzZWxmLmN1cl90b2tlbi52YWx1ZQorICAgICAgICAgICAgc2VsZi5fYWR2YW5jZSgpCisgICAgICAgICAgICByZXR1cm4gdmFsdWUKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHJhaXNlIEFTRExTeW50YXhFcnJvcigKKyAgICAgICAgICAgICAgICAnVW5tYXRjaGVkIHt9IChmb3VuZCB7fSknLmZvcm1hdChraW5kLCBzZWxmLmN1cl90b2tlbi5raW5kKSwKKyAgICAgICAgICAgICAgICBzZWxmLmN1cl90b2tlbi5saW5lbm8pCisKKyAgICBkZWYgX2F0X2tleXdvcmQoc2VsZiwga2V5d29yZCk6CisgICAgICAgIHJldHVybiAoc2VsZi5jdXJfdG9rZW4ua2luZCA9PSBUb2tlbktpbmQuVHlwZUlkIGFuZAorICAgICAgICAgICAgICAgIHNlbGYuY3VyX3Rva2VuLnZhbHVlID09IGtleXdvcmQpCmRpZmYgLS1naXQgYS9QYXJzZXIvYXNkbF9jLnB5IGIvUGFyc2VyL2FzZGxfYy5weQppbmRleCBkNjA4NmU2Li5hNWUzNWQ5IDEwMDc1NQotLS0gYS9QYXJzZXIvYXNkbF9jLnB5CisrKyBiL1BhcnNlci9hc2RsX2MucHkKQEAgLTEsOSArMSw2IEBACiAjISAvdXNyL2Jpbi9lbnYgcHl0aG9uCiAiIiJHZW5lcmF0ZSBDIGNvZGUgZnJvbSBhbiBBU0RMIGRlc2NyaXB0aW9uLiIiIgogCi0jIFRPIERPCi0jIGhhbmRsZSBmaWVsZHMgdGhhdCBoYXZlIGEgdHlwZSBidXQgbm8gbmFtZQotCiBpbXBvcnQgb3MsIHN5cwogCiBpbXBvcnQgYXNkbApAQCAtMTQsMTIgKzExLDggQEAKIGRlZiBnZXRfY190eXBlKG5hbWUpOgogICAgICIiIlJldHVybiBhIHN0cmluZyBmb3IgdGhlIEMgbmFtZSBvZiB0aGUgdHlwZS4KIAotICAgIFRoaXMgZnVuY3Rpb24gc3BlY2lhbCBjYXNlcyB0aGUgZGVmYXVsdCB0eXBlcyBwcm92aWRlZCBieSBhc2RsOgotICAgIGlkZW50aWZpZXIsIHN0cmluZywgaW50LgorICAgIFRoaXMgZnVuY3Rpb24gc3BlY2lhbCBjYXNlcyB0aGUgZGVmYXVsdCB0eXBlcyBwcm92aWRlZCBieSBhc2RsLgogICAgICIiIgotICAgICMgWFhYIGFjayEgIG5lZWQgdG8gZmlndXJlIG91dCB3aGVyZSBJZCBpcyB1c2VmdWwgYW5kIHdoZXJlIHN0cmluZwotICAgIGlmIGlzaW5zdGFuY2UobmFtZSwgYXNkbC5JZCk6Ci0gICAgICAgIG5hbWUgPSBuYW1lLnZhbHVlCiAgICAgaWYgbmFtZSBpbiBhc2RsLmJ1aWx0aW5fdHlwZXM6CiAgICAgICAgIHJldHVybiBuYW1lCiAgICAgZWxzZToKQEAgLTE0NCw3ICsxMzcsNyBAQAogCiAKIGNsYXNzIFN0cnVjdFZpc2l0b3IoRW1pdFZpc2l0b3IpOgotICAgICIiIlZpc2l0b3IgdG8gZ2VuZXJhdGUgdHlwZGVmcyBmb3IgQVNULiIiIgorICAgICIiIlZpc2l0b3IgdG8gZ2VuZXJhdGUgdHlwZWRlZnMgZm9yIEFTVC4iIiIKIAogICAgIGRlZiB2aXNpdE1vZHVsZShzZWxmLCBtb2QpOgogICAgICAgICBmb3IgZGZuIGluIG1vZC5kZm5zOgpAQCAtMTg4LDkgKzE4MSw2IEBACiAgICAgICAgICAgICAgICAgc2VsZi52aXNpdChmLCBkZXB0aCArIDEpCiAgICAgICAgICAgICBzZWxmLmVtaXQoIn0gJXM7IiAlIGNvbnMubmFtZSwgZGVwdGgpCiAgICAgICAgICAgICBzZWxmLmVtaXQoIiIsIGRlcHRoKQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgIyBYWFggbm90IHN1cmUgd2hhdCBJIHdhbnQgaGVyZSwgbm90aGluZyBpcyBwcm9iYWJseSBmaW5lCi0gICAgICAgICAgICBwYXNzCiAKICAgICBkZWYgdmlzaXRGaWVsZChzZWxmLCBmaWVsZCwgZGVwdGgpOgogICAgICAgICAjIFhYWCBuZWVkIHRvIGxvb2t1cCBmaWVsZC50eXBlLCBiZWNhdXNlIGl0IG1pZ2h0IGJlIHNvbWV0aGluZwpAQCAtMTk4LDcgKzE4OCw3IEBACiAgICAgICAgIGN0eXBlID0gZ2V0X2NfdHlwZShmaWVsZC50eXBlKQogICAgICAgICBuYW1lID0gZmllbGQubmFtZQogICAgICAgICBpZiBmaWVsZC5zZXE6Ci0gICAgICAgICAgICBpZiBmaWVsZC50eXBlLnZhbHVlIGluICgnY21wb3AnLCk6CisgICAgICAgICAgICBpZiBmaWVsZC50eXBlID09ICdjbXBvcCc6CiAgICAgICAgICAgICAgICAgc2VsZi5lbWl0KCJhc2RsX2ludF9zZXEgKiUobmFtZSlzOyIgJSBsb2NhbHMoKSwgZGVwdGgpCiAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgIHNlbGYuZW1pdCgiYXNkbF9zZXEgKiUobmFtZSlzOyIgJSBsb2NhbHMoKSwgZGVwdGgpCkBAIC0yNTMsNyArMjQzLDcgQEAKICAgICAgICAgICAgICAgICBuYW1lID0gZi5uYW1lCiAgICAgICAgICAgICAjIFhYWCBzaG91bGQgZXh0ZW5kIGdldF9jX3R5cGUoKSB0byBoYW5kbGUgdGhpcwogICAgICAgICAgICAgaWYgZi5zZXE6Ci0gICAgICAgICAgICAgICAgaWYgZi50eXBlLnZhbHVlIGluICgnY21wb3AnLCk6CisgICAgICAgICAgICAgICAgaWYgZi50eXBlID09ICdjbXBvcCc6CiAgICAgICAgICAgICAgICAgICAgIGN0eXBlID0gImFzZGxfaW50X3NlcSAqIgogICAgICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgICAgIGN0eXBlID0gImFzZGxfc2VxICoiCkBAIC00MzcsNyArNDI3LDcgQEAKICAgICAgICAgICAgIHNlbGYuZW1pdCgiIiwgMCkKICAgICAgICAgICAgIGZvciBmIGluIHQuZmllbGRzOgogICAgICAgICAgICAgICAgIHNlbGYudmlzaXRGaWVsZChmLCB0Lm5hbWUsIHN1bT1zdW0sIGRlcHRoPTIpCi0gICAgICAgICAgICBhcmdzID0gW2YubmFtZS52YWx1ZSBmb3IgZiBpbiB0LmZpZWxkc10gKyBbYS5uYW1lLnZhbHVlIGZvciBhIGluIHN1bS5hdHRyaWJ1dGVzXQorICAgICAgICAgICAgYXJncyA9IFtmLm5hbWUgZm9yIGYgaW4gdC5maWVsZHNdICsgW2EubmFtZSBmb3IgYSBpbiBzdW0uYXR0cmlidXRlc10KICAgICAgICAgICAgIHNlbGYuZW1pdCgiKm91dCA9ICVzKCVzKTsiICUgKHQubmFtZSwgc2VsZi5idWlsZEFyZ3MoYXJncykpLCAyKQogICAgICAgICAgICAgc2VsZi5lbWl0KCJpZiAoKm91dCA9PSBOVUxMKSBnb3RvIGZhaWxlZDsiLCAyKQogICAgICAgICAgICAgc2VsZi5lbWl0KCJyZXR1cm4gMDsiLCAyKQpAQCAtNDY1LDcgKzQ1NSw3IEBACiAgICAgICAgIHNlbGYuZW1pdCgiIiwgMCkKICAgICAgICAgZm9yIGYgaW4gcHJvZC5maWVsZHM6CiAgICAgICAgICAgICBzZWxmLnZpc2l0RmllbGQoZiwgbmFtZSwgcHJvZD1wcm9kLCBkZXB0aD0xKQotICAgICAgICBhcmdzID0gW2YubmFtZS52YWx1ZSBmb3IgZiBpbiBwcm9kLmZpZWxkc10KKyAgICAgICAgYXJncyA9IFtmLm5hbWUgZm9yIGYgaW4gcHJvZC5maWVsZHNdCiAgICAgICAgIHNlbGYuZW1pdCgiKm91dCA9ICVzKCVzKTsiICUgKG5hbWUsIHNlbGYuYnVpbGRBcmdzKGFyZ3MpKSwgMSkKICAgICAgICAgc2VsZi5lbWl0KCJyZXR1cm4gMDsiLCAxKQogICAgICAgICBzZWxmLmVtaXQoImZhaWxlZDoiLCAwKQpAQCAtNDg3LDggKzQ3Nyw4IEBACiAKICAgICBkZWYgaXNTaW1wbGVTdW0oc2VsZiwgZmllbGQpOgogICAgICAgICAjIFhYWCBjYW4gdGhlIG1lbWJlcnMgb2YgdGhpcyBsaXN0IGJlIGRldGVybWluZWQgYXV0b21hdGljYWxseT8KLSAgICAgICAgcmV0dXJuIGZpZWxkLnR5cGUudmFsdWUgaW4gKCdleHByX2NvbnRleHQnLCAnYm9vbG9wJywgJ29wZXJhdG9yJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd1bmFyeW9wJywgJ2NtcG9wJykKKyAgICAgICAgcmV0dXJuIGZpZWxkLnR5cGUgaW4gKCdleHByX2NvbnRleHQnLCAnYm9vbG9wJywgJ29wZXJhdG9yJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd1bmFyeW9wJywgJ2NtcG9wJykKIAogICAgIGRlZiBpc051bWVyaWMoc2VsZiwgZmllbGQpOgogICAgICAgICByZXR1cm4gZ2V0X2NfdHlwZShmaWVsZC50eXBlKSBpbiAoImludCIsICJib29sIikKQEAgLTk2MCw3ICs5NTAsNyBAQAogCiAgICAgZGVmIHZpc2l0UHJvZHVjdChzZWxmLCBwcm9kLCBuYW1lKToKICAgICAgICAgaWYgcHJvZC5maWVsZHM6Ci0gICAgICAgICAgICBmaWVsZHMgPSBuYW1lLnZhbHVlKyJfZmllbGRzIgorICAgICAgICAgICAgZmllbGRzID0gbmFtZSsiX2ZpZWxkcyIKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIGZpZWxkcyA9ICJOVUxMIgogICAgICAgICBzZWxmLmVtaXQoJyVzX3R5cGUgPSBtYWtlX3R5cGUoIiVzIiwgJkFTVF90eXBlLCAlcywgJWQpOycgJQpAQCAtOTg3LDcgKzk3Nyw3IEBACiAKICAgICBkZWYgdmlzaXRDb25zdHJ1Y3RvcihzZWxmLCBjb25zLCBuYW1lLCBzaW1wbGUpOgogICAgICAgICBpZiBjb25zLmZpZWxkczoKLSAgICAgICAgICAgIGZpZWxkcyA9IGNvbnMubmFtZS52YWx1ZSsiX2ZpZWxkcyIKKyAgICAgICAgICAgIGZpZWxkcyA9IGNvbnMubmFtZSsiX2ZpZWxkcyIKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIGZpZWxkcyA9ICJOVUxMIgogICAgICAgICBzZWxmLmVtaXQoJyVzX3R5cGUgPSBtYWtlX3R5cGUoIiVzIiwgJXNfdHlwZSwgJXMsICVkKTsnICUKQEAgLTExNzAsNyArMTE2MCw3IEBACiAgICAgZGVmIHNldChzZWxmLCBmaWVsZCwgdmFsdWUsIGRlcHRoKToKICAgICAgICAgaWYgZmllbGQuc2VxOgogICAgICAgICAgICAgIyBYWFggc2hvdWxkIHJlYWxseSBjaGVjayBmb3IgaXNfc2ltcGxlLCBidXQgdGhhdCByZXF1aXJlcyBhIHN5bWJvbCB0YWJsZQotICAgICAgICAgICAgaWYgZmllbGQudHlwZS52YWx1ZSA9PSAiY21wb3AiOgorICAgICAgICAgICAgaWYgZmllbGQudHlwZSA9PSAiY21wb3AiOgogICAgICAgICAgICAgICAgICMgV2hpbGUgdGhlIHNlcXVlbmNlIGVsZW1lbnRzIGFyZSBzdG9yZWQgYXMgdm9pZCosCiAgICAgICAgICAgICAgICAgIyBhc3Qyb2JqX2NtcG9wIGV4cGVjdHMgYW4gZW51bQogICAgICAgICAgICAgICAgIHNlbGYuZW1pdCgieyIsIGRlcHRoKQpAQCAtMTI0OSwxMiArMTIzOSwxNSBAQAogCiBjb21tb25fbXNnID0gIi8qIEZpbGUgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYnkgJXMuICovXG5cbiIKIAotZGVmIG1haW4oc3JjZmlsZSk6CitkZWYgbWFpbihzcmNmaWxlLCBkdW1wX21vZHVsZT1GYWxzZSk6CiAgICAgYXJndjAgPSBzeXMuYXJndlswXQogICAgIGNvbXBvbmVudHMgPSBhcmd2MC5zcGxpdChvcy5zZXApCiAgICAgYXJndjAgPSBvcy5zZXAuam9pbihjb21wb25lbnRzWy0yOl0pCiAgICAgYXV0b19nZW5fbXNnID0gY29tbW9uX21zZyAlIGFyZ3YwCiAgICAgbW9kID0gYXNkbC5wYXJzZShzcmNmaWxlKQorICAgIGlmIGR1bXBfbW9kdWxlOgorICAgICAgICBwcmludCgnUGFyc2VkIE1vZHVsZTonKQorICAgICAgICBwcmludChtb2QpCiAgICAgaWYgbm90IGFzZGwuY2hlY2sobW9kKToKICAgICAgICAgc3lzLmV4aXQoMSkKICAgICBpZiBJTkNfRElSOgpAQCAtMTMwMSwxNiArMTI5NCwxOSBAQAogCiAgICAgSU5DX0RJUiA9ICcnCiAgICAgU1JDX0RJUiA9ICcnCi0gICAgb3B0cywgYXJncyA9IGdldG9wdC5nZXRvcHQoc3lzLmFyZ3ZbMTpdLCAiaDpjOiIpCi0gICAgaWYgbGVuKG9wdHMpICE9IDE6Ci0gICAgICAgIHN5cy5zdGRvdXQud3JpdGUoIk11c3Qgc3BlY2lmeSBleGFjdGx5IG9uZSBvdXRwdXQgZmlsZVxuIikKLSAgICAgICAgc3lzLmV4aXQoMSkKKyAgICBkdW1wX21vZHVsZSA9IEZhbHNlCisgICAgb3B0cywgYXJncyA9IGdldG9wdC5nZXRvcHQoc3lzLmFyZ3ZbMTpdLCAiZGg6YzoiKQogICAgIGZvciBvLCB2IGluIG9wdHM6CiAgICAgICAgIGlmIG8gPT0gJy1oJzoKICAgICAgICAgICAgIElOQ19ESVIgPSB2CiAgICAgICAgIGlmIG8gPT0gJy1jJzoKICAgICAgICAgICAgIFNSQ19ESVIgPSB2Ci0gICAgaWYgbGVuKGFyZ3MpICE9IDE6Ci0gICAgICAgIHN5cy5zdGRvdXQud3JpdGUoIk11c3Qgc3BlY2lmeSBzaW5nbGUgaW5wdXQgZmlsZVxuIikKKyAgICAgICAgaWYgbyA9PSAnLWQnOgorICAgICAgICAgICAgZHVtcF9tb2R1bGUgPSBUcnVlCisgICAgaWYgSU5DX0RJUiBhbmQgU1JDX0RJUjoKKyAgICAgICAgcHJpbnQoJ011c3Qgc3BlY2lmeSBleGFjdGx5IG9uZSBvdXRwdXQgZmlsZScpCiAgICAgICAgIHN5cy5leGl0KDEpCi0gICAgbWFpbihhcmdzWzBdKQorICAgIGVsaWYgbGVuKGFyZ3MpICE9IDE6CisgICAgICAgIHByaW50KCdNdXN0IHNwZWNpZnkgc2luZ2xlIGlucHV0IGZpbGUnKQorICAgICAgICBzeXMuZXhpdCgxKQorICAgIG1haW4oYXJnc1swXSwgZHVtcF9tb2R1bGUpCmRpZmYgLS1naXQgYS9QYXJzZXIvbm9kZS5jIGIvUGFyc2VyL25vZGUuYwppbmRleCA1NjRiZDkxLi4wMDEwMzI0IDEwMDY0NAotLS0gYS9QYXJzZXIvbm9kZS5jCisrKyBiL1BhcnNlci9ub2RlLmMKQEAgLTcwLDggKzcwLDggQEAKICAqIE5vdGUgdGhhdCB0aGlzIHdvdWxkIGJlIHN0cmFpZ2h0Zm9yd2FyZCBpZiBhIG5vZGUgc3RvcmVkIGl0cyBjdXJyZW50CiAgKiBjYXBhY2l0eS4gIFRoZSBjb2RlIGlzIHRyaWNreSB0byBhdm9pZCB0aGF0LgogICovCi0jZGVmaW5lIFhYWFJPVU5EVVAobikgKChuKSA8PSAxID8gKG4pIDogICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgIChuKSA8PSAxMjggPyBfUHlfU0laRV9ST1VORF9VUCgobiksIDQpIDogXAorI2RlZmluZSBYWFhST1VORFVQKG4pICgobikgPD0gMSA/IChuKSA6ICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgIChuKSA8PSAxMjggPyAoaW50KV9QeV9TSVpFX1JPVU5EX1VQKChuKSwgNCkgOiAgICBcCiAgICAgICAgICAgICAgICBmYW5jeV9yb3VuZHVwKG4pKQogCiAKZGlmZiAtLWdpdCBhL1BhcnNlci9wZ2VubWFpbi5jIGIvUGFyc2VyL3BnZW5tYWluLmMKaW5kZXggMDE3YTRmOS4uMGYwNTVkNiAxMDA2NDQKLS0tIGEvUGFyc2VyL3BnZW5tYWluLmMKKysrIGIvUGFyc2VyL3BnZW5tYWluLmMKQEAgLTk2LDEwICs5NiwxMSBAQAogICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIlBhcnNpbmcgZXJyb3IgJWQsIGxpbmUgJWQuXG4iLAogICAgICAgICAgICAgZXJyLmVycm9yLCBlcnIubGluZW5vKTsKICAgICAgICAgaWYgKGVyci50ZXh0ICE9IE5VTEwpIHsKLSAgICAgICAgICAgIHNpemVfdCBpOworICAgICAgICAgICAgc2l6ZV90IGxlbjsKKyAgICAgICAgICAgIGludCBpOwogICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsICIlcyIsIGVyci50ZXh0KTsKLSAgICAgICAgICAgIGkgPSBzdHJsZW4oZXJyLnRleHQpOwotICAgICAgICAgICAgaWYgKGkgPT0gMCB8fCBlcnIudGV4dFtpLTFdICE9ICdcbicpCisgICAgICAgICAgICBsZW4gPSBzdHJsZW4oZXJyLnRleHQpOworICAgICAgICAgICAgaWYgKGxlbiA9PSAwIHx8IGVyci50ZXh0W2xlbi0xXSAhPSAnXG4nKQogICAgICAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAiXG4iKTsKICAgICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBlcnIub2Zmc2V0OyBpKyspIHsKICAgICAgICAgICAgICAgICBpZiAoZXJyLnRleHRbaV0gPT0gJ1x0JykKZGlmZiAtLWdpdCBhL1BhcnNlci9wcmludGdyYW1tYXIuYyBiL1BhcnNlci9wcmludGdyYW1tYXIuYwppbmRleCBkZDdlNmFlLi43MzExZTU1IDEwMDY0NAotLS0gYS9QYXJzZXIvcHJpbnRncmFtbWFyLmMKKysrIGIvUGFyc2VyL3ByaW50Z3JhbW1hci5jCkBAIC04NCw3ICs4NCw3IEBACiBwcmludGRmYXMoZ3JhbW1hciAqZywgRklMRSAqZnApCiB7CiAgICAgZGZhICpkOwotICAgIGludCBpLCBqOworICAgIGludCBpLCBqLCBuOwogCiAgICAgcHJpbnRzdGF0ZXMoZywgZnApOwogICAgIGZwcmludGYoZnAsICJzdGF0aWMgZGZhIGRmYXNbJWRdID0ge1xuIiwgZy0+Z19uZGZhcyk7CkBAIC05Myw3ICs5Myw4IEBACiAgICAgICAgIGZwcmludGYoZnAsICIgICAgeyVkLCBcIiVzXCIsICVkLCAlZCwgc3RhdGVzXyVkLFxuIiwKICAgICAgICAgICAgIGQtPmRfdHlwZSwgZC0+ZF9uYW1lLCBkLT5kX2luaXRpYWwsIGQtPmRfbnN0YXRlcywgaSk7CiAgICAgICAgIGZwcmludGYoZnAsICIgICAgIFwiIik7Ci0gICAgICAgIGZvciAoaiA9IDA7IGogPCBOQllURVMoZy0+Z19sbC5sbF9ubGFiZWxzKTsgaisrKQorICAgICAgICBuID0gTkJZVEVTKGctPmdfbGwubGxfbmxhYmVscyk7CisgICAgICAgIGZvciAoaiA9IDA7IGogPCBuOyBqKyspCiAgICAgICAgICAgICBmcHJpbnRmKGZwLCAiXFwlMDNvIiwgZC0+ZF9maXJzdFtqXSAmIDB4ZmYpOwogICAgICAgICBmcHJpbnRmKGZwLCAiXCJ9LFxuIik7CiAgICAgfQpkaWZmIC0tZ2l0IGEvUGFyc2VyL3NwYXJrLnB5IGIvUGFyc2VyL3NwYXJrLnB5CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4OGMxYTg5Li4wMDAwMDAwCi0tLSBhL1BhcnNlci9zcGFyay5weQorKysgL2Rldi9udWxsCkBAIC0xLDg0OSArMCwwIEBACi0jICBDb3B5cmlnaHQgKGMpIDE5OTgtMjAwMiBKb2huIEF5Y29jawotIwotIyAgUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nCi0jICBhIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKLSMgICJTb2Z0d2FyZSIpLCB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKLSMgIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKLSMgIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0bwotIyAgcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCi0jICB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6Ci0jCi0jICBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZQotIyAgaW5jbHVkZWQgaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuCi0jCi0jICBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKLSMgIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgotIyAgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgotIyAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKLSMgIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCi0jICBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQotIyAgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCi0KLV9fdmVyc2lvbl9fID0gJ1NQQVJLLTAuNyAocHJlLWFscGhhLTUpJwotCi1pbXBvcnQgcmUKLQotIyBDb21wYXRpYmlsaXR5IHdpdGggb2xkZXIgcHl0aG9ucy4KLWRlZiBvdXRwdXQoc3RyaW5nPScnLCBlbmQ9J1xuJyk6Ci0gICAgc3lzLnN0ZG91dC53cml0ZShzdHJpbmcgKyBlbmQpCi0KLXRyeToKLSAgICBzb3J0ZWQKLWV4Y2VwdCBOYW1lRXJyb3I6Ci0gICAgZGVmIHNvcnRlZChzZXEpOgotICAgICAgICBzZXEyID0gc2VxWzpdCi0gICAgICAgIHNlcTIuc29ydCgpCi0gICAgICAgIHJldHVybiBzZXEyCi0KLWRlZiBfbmFtZWxpc3QoaW5zdGFuY2UpOgotICAgIG5hbWVsaXN0LCBuYW1lZGljdCwgY2xhc3NsaXN0ID0gW10sIHt9LCBbaW5zdGFuY2UuX19jbGFzc19fXQotICAgIGZvciBjIGluIGNsYXNzbGlzdDoKLSAgICAgICAgZm9yIGIgaW4gYy5fX2Jhc2VzX186Ci0gICAgICAgICAgICBjbGFzc2xpc3QuYXBwZW5kKGIpCi0gICAgICAgIGZvciBuYW1lIGluIGMuX19kaWN0X18ua2V5cygpOgotICAgICAgICAgICAgaWYgbmFtZSBub3QgaW4gbmFtZWRpY3Q6Ci0gICAgICAgICAgICAgICAgbmFtZWxpc3QuYXBwZW5kKG5hbWUpCi0gICAgICAgICAgICAgICAgbmFtZWRpY3RbbmFtZV0gPSAxCi0gICAgcmV0dXJuIG5hbWVsaXN0Ci0KLWNsYXNzIEdlbmVyaWNTY2FubmVyOgotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBmbGFncz0wKToKLSAgICAgICAgcGF0dGVybiA9IHNlbGYucmVmbGVjdCgpCi0gICAgICAgIHNlbGYucmUgPSByZS5jb21waWxlKHBhdHRlcm4sIHJlLlZFUkJPU0V8ZmxhZ3MpCi0KLSAgICAgICAgc2VsZi5pbmRleDJmdW5jID0ge30KLSAgICAgICAgZm9yIG5hbWUsIG51bWJlciBpbiBzZWxmLnJlLmdyb3VwaW5kZXguaXRlbXMoKToKLSAgICAgICAgICAgIHNlbGYuaW5kZXgyZnVuY1tudW1iZXItMV0gPSBnZXRhdHRyKHNlbGYsICd0XycgKyBuYW1lKQotCi0gICAgZGVmIG1ha2VSRShzZWxmLCBuYW1lKToKLSAgICAgICAgZG9jID0gZ2V0YXR0cihzZWxmLCBuYW1lKS5fX2RvY19fCi0gICAgICAgIHJ2ID0gJyg/UDwlcz4lcyknICUgKG5hbWVbMjpdLCBkb2MpCi0gICAgICAgIHJldHVybiBydgotCi0gICAgZGVmIHJlZmxlY3Qoc2VsZik6Ci0gICAgICAgIHJ2ID0gW10KLSAgICAgICAgZm9yIG5hbWUgaW4gX25hbWVsaXN0KHNlbGYpOgotICAgICAgICAgICAgaWYgbmFtZVs6Ml0gPT0gJ3RfJyBhbmQgbmFtZSAhPSAndF9kZWZhdWx0JzoKLSAgICAgICAgICAgICAgICBydi5hcHBlbmQoc2VsZi5tYWtlUkUobmFtZSkpCi0KLSAgICAgICAgcnYuYXBwZW5kKHNlbGYubWFrZVJFKCd0X2RlZmF1bHQnKSkKLSAgICAgICAgcmV0dXJuICd8Jy5qb2luKHJ2KQotCi0gICAgZGVmIGVycm9yKHNlbGYsIHMsIHBvcyk6Ci0gICAgICAgIG91dHB1dCgiTGV4aWNhbCBlcnJvciBhdCBwb3NpdGlvbiAlcyIgJSBwb3MpCi0gICAgICAgIHJhaXNlIFN5c3RlbUV4aXQKLQotICAgIGRlZiB0b2tlbml6ZShzZWxmLCBzKToKLSAgICAgICAgcG9zID0gMAotICAgICAgICBuID0gbGVuKHMpCi0gICAgICAgIHdoaWxlIHBvcyA8IG46Ci0gICAgICAgICAgICBtID0gc2VsZi5yZS5tYXRjaChzLCBwb3MpCi0gICAgICAgICAgICBpZiBtIGlzIE5vbmU6Ci0gICAgICAgICAgICAgICAgc2VsZi5lcnJvcihzLCBwb3MpCi0KLSAgICAgICAgICAgIGdyb3VwcyA9IG0uZ3JvdXBzKCkKLSAgICAgICAgICAgIGZvciBpIGluIHJhbmdlKGxlbihncm91cHMpKToKLSAgICAgICAgICAgICAgICBpZiBncm91cHNbaV0gYW5kIGkgaW4gc2VsZi5pbmRleDJmdW5jOgotICAgICAgICAgICAgICAgICAgICBzZWxmLmluZGV4MmZ1bmNbaV0oZ3JvdXBzW2ldKQotICAgICAgICAgICAgcG9zID0gbS5lbmQoKQotCi0gICAgZGVmIHRfZGVmYXVsdChzZWxmLCBzKToKLSAgICAgICAgcicoIC4gfCBcbiApKycKLSAgICAgICAgb3V0cHV0KCJTcGVjaWZpY2F0aW9uIGVycm9yOiB1bm1hdGNoZWQgaW5wdXQiKQotICAgICAgICByYWlzZSBTeXN0ZW1FeGl0Ci0KLSMKLSMgIEV4dHJhY3RlZCBmcm9tIEdlbmVyaWNQYXJzZXIgYW5kIG1hZGUgZ2xvYmFsIHNvIHRoYXQgW3VuXXBpY2tpbmcgd29ya3MuCi0jCi1jbGFzcyBfU3RhdGU6Ci0gICAgZGVmIF9faW5pdF9fKHNlbGYsIHN0YXRlbm8sIGl0ZW1zKToKLSAgICAgICAgc2VsZi5ULCBzZWxmLmNvbXBsZXRlLCBzZWxmLml0ZW1zID0gW10sIFtdLCBpdGVtcwotICAgICAgICBzZWxmLnN0YXRlbm8gPSBzdGF0ZW5vCi0KLWNsYXNzIEdlbmVyaWNQYXJzZXI6Ci0gICAgIwotICAgICMgIEFuIEVhcmxleSBwYXJzZXIsIGFzIHBlciBKLiBFYXJsZXksICJBbiBFZmZpY2llbnQgQ29udGV4dC1GcmVlCi0gICAgIyAgUGFyc2luZyBBbGdvcml0aG0iLCBDQUNNIDEzKDIpLCBwcC4gOTQtMTAyLiAgQWxzbyBKLiBDLiBFYXJsZXksCi0gICAgIyAgIkFuIEVmZmljaWVudCBDb250ZXh0LUZyZWUgUGFyc2luZyBBbGdvcml0aG0iLCBQaC5ELiB0aGVzaXMsCi0gICAgIyAgQ2FybmVnaWUtTWVsbG9uIFVuaXZlcnNpdHksIEF1Z3VzdCAxOTY4LiAgTmV3IGZvcm11bGF0aW9uIG9mCi0gICAgIyAgdGhlIHBhcnNlciBhY2NvcmRpbmcgdG8gSi4gQXljb2NrLCAiUHJhY3RpY2FsIEVhcmxleSBQYXJzaW5nCi0gICAgIyAgYW5kIHRoZSBTUEFSSyBUb29sa2l0IiwgUGguRC4gdGhlc2lzLCBVbml2ZXJzaXR5IG9mIFZpY3RvcmlhLAotICAgICMgIDIwMDEsIGFuZCBKLiBBeWNvY2sgYW5kIFIuIE4uIEhvcnNwb29sLCAiUHJhY3RpY2FsIEVhcmxleQotICAgICMgIFBhcnNpbmciLCB1bnB1Ymxpc2hlZCBwYXBlciwgMjAwMS4KLSAgICAjCi0KLSAgICBkZWYgX19pbml0X18oc2VsZiwgc3RhcnQpOgotICAgICAgICBzZWxmLnJ1bGVzID0ge30KLSAgICAgICAgc2VsZi5ydWxlMmZ1bmMgPSB7fQotICAgICAgICBzZWxmLnJ1bGUybmFtZSA9IHt9Ci0gICAgICAgIHNlbGYuY29sbGVjdFJ1bGVzKCkKLSAgICAgICAgc2VsZi5hdWdtZW50KHN0YXJ0KQotICAgICAgICBzZWxmLnJ1bGVzY2hhbmdlZCA9IDEKLQotICAgIF9OVUxMQUJMRSA9ICdcZV8nCi0gICAgX1NUQVJUID0gJ1NUQVJUJwotICAgIF9CT0YgPSAnfC0nCi0KLSAgICAjCi0gICAgIyAgV2hlbiBwaWNrbGluZywgdGFrZSB0aGUgdGltZSB0byBnZW5lcmF0ZSB0aGUgZnVsbCBzdGF0ZSBtYWNoaW5lOwotICAgICMgIHNvbWUgaW5mb3JtYXRpb24gaXMgdGhlbiBleHRyYW5lb3VzLCB0b28uICBVbmZvcnR1bmF0ZWx5IHdlCi0gICAgIyAgY2FuJ3Qgc2F2ZSB0aGUgcnVsZTJmdW5jIG1hcC4KLSAgICAjCi0gICAgZGVmIF9fZ2V0c3RhdGVfXyhzZWxmKToKLSAgICAgICAgaWYgc2VsZi5ydWxlc2NoYW5nZWQ6Ci0gICAgICAgICAgICAjCi0gICAgICAgICAgICAjICBYWFggLSBkdXBsaWNhdGVkIGZyb20gcGFyc2UoKQotICAgICAgICAgICAgIwotICAgICAgICAgICAgc2VsZi5jb21wdXRlTnVsbCgpCi0gICAgICAgICAgICBzZWxmLm5ld3J1bGVzID0ge30KLSAgICAgICAgICAgIHNlbGYubmV3Mm9sZCA9IHt9Ci0gICAgICAgICAgICBzZWxmLm1ha2VOZXdSdWxlcygpCi0gICAgICAgICAgICBzZWxmLnJ1bGVzY2hhbmdlZCA9IDAKLSAgICAgICAgICAgIHNlbGYuZWRnZXMsIHNlbGYuY29yZXMgPSB7fSwge30KLSAgICAgICAgICAgIHNlbGYuc3RhdGVzID0geyAwOiBzZWxmLm1ha2VTdGF0ZTAoKSB9Ci0gICAgICAgICAgICBzZWxmLm1ha2VTdGF0ZSgwLCBzZWxmLl9CT0YpCi0gICAgICAgICMKLSAgICAgICAgIyAgWFhYIC0gc2hvdWxkIGZpbmQgYSBiZXR0ZXIgd2F5IHRvIGRvIHRoaXMuLgotICAgICAgICAjCi0gICAgICAgIGNoYW5nZXMgPSAxCi0gICAgICAgIHdoaWxlIGNoYW5nZXM6Ci0gICAgICAgICAgICBjaGFuZ2VzID0gMAotICAgICAgICAgICAgZm9yIGssIHYgaW4gc2VsZi5lZGdlcy5pdGVtcygpOgotICAgICAgICAgICAgICAgIGlmIHYgaXMgTm9uZToKLSAgICAgICAgICAgICAgICAgICAgc3RhdGUsIHN5bSA9IGsKLSAgICAgICAgICAgICAgICAgICAgaWYgc3RhdGUgaW4gc2VsZi5zdGF0ZXM6Ci0gICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmdvdG8oc3RhdGUsIHN5bSkKLSAgICAgICAgICAgICAgICAgICAgICAgIGNoYW5nZXMgPSAxCi0gICAgICAgIHJ2ID0gc2VsZi5fX2RpY3RfXy5jb3B5KCkKLSAgICAgICAgZm9yIHMgaW4gc2VsZi5zdGF0ZXMudmFsdWVzKCk6Ci0gICAgICAgICAgICBkZWwgcy5pdGVtcwotICAgICAgICBkZWwgcnZbJ3J1bGUyZnVuYyddCi0gICAgICAgIGRlbCBydlsnbnVsbGFibGUnXQotICAgICAgICBkZWwgcnZbJ2NvcmVzJ10KLSAgICAgICAgcmV0dXJuIHJ2Ci0KLSAgICBkZWYgX19zZXRzdGF0ZV9fKHNlbGYsIEQpOgotICAgICAgICBzZWxmLnJ1bGVzID0ge30KLSAgICAgICAgc2VsZi5ydWxlMmZ1bmMgPSB7fQotICAgICAgICBzZWxmLnJ1bGUybmFtZSA9IHt9Ci0gICAgICAgIHNlbGYuY29sbGVjdFJ1bGVzKCkKLSAgICAgICAgc3RhcnQgPSBEWydydWxlcyddW3NlbGYuX1NUQVJUXVswXVsxXVsxXSAgICAgICAgIyBCbGVjaC4KLSAgICAgICAgc2VsZi5hdWdtZW50KHN0YXJ0KQotICAgICAgICBEWydydWxlMmZ1bmMnXSA9IHNlbGYucnVsZTJmdW5jCi0gICAgICAgIERbJ21ha2VTZXQnXSA9IHNlbGYubWFrZVNldF9mYXN0Ci0gICAgICAgIHNlbGYuX19kaWN0X18gPSBECi0KLSAgICAjCi0gICAgIyAgQSBob29rIGZvciBHZW5lcmljQVNUQnVpbGRlciBhbmQgR2VuZXJpY0FTVE1hdGNoZXIuICBNZXNzCi0gICAgIyAgdGhlZSBub3Qgd2l0aCB0aGlzOyBub3Igc2hhbGwgdGhlZSB0b3VjaGV0aCB0aGUgX3ByZXByb2Nlc3MKLSAgICAjICBhcmd1bWVudCB0byBhZGRSdWxlLgotICAgICMKLSAgICBkZWYgcHJlcHJvY2VzcyhzZWxmLCBydWxlLCBmdW5jKTogICAgICAgcmV0dXJuIHJ1bGUsIGZ1bmMKLQotICAgIGRlZiBhZGRSdWxlKHNlbGYsIGRvYywgZnVuYywgX3ByZXByb2Nlc3M9MSk6Ci0gICAgICAgIGZuID0gZnVuYwotICAgICAgICBydWxlcyA9IGRvYy5zcGxpdCgpCi0KLSAgICAgICAgaW5kZXggPSBbXQotICAgICAgICBmb3IgaSBpbiByYW5nZShsZW4ocnVsZXMpKToKLSAgICAgICAgICAgIGlmIHJ1bGVzW2ldID09ICc6Oj0nOgotICAgICAgICAgICAgICAgIGluZGV4LmFwcGVuZChpLTEpCi0gICAgICAgIGluZGV4LmFwcGVuZChsZW4ocnVsZXMpKQotCi0gICAgICAgIGZvciBpIGluIHJhbmdlKGxlbihpbmRleCktMSk6Ci0gICAgICAgICAgICBsaHMgPSBydWxlc1tpbmRleFtpXV0KLSAgICAgICAgICAgIHJocyA9IHJ1bGVzW2luZGV4W2ldKzI6aW5kZXhbaSsxXV0KLSAgICAgICAgICAgIHJ1bGUgPSAobGhzLCB0dXBsZShyaHMpKQotCi0gICAgICAgICAgICBpZiBfcHJlcHJvY2VzczoKLSAgICAgICAgICAgICAgICBydWxlLCBmbiA9IHNlbGYucHJlcHJvY2VzcyhydWxlLCBmdW5jKQotCi0gICAgICAgICAgICBpZiBsaHMgaW4gc2VsZi5ydWxlczoKLSAgICAgICAgICAgICAgICBzZWxmLnJ1bGVzW2xoc10uYXBwZW5kKHJ1bGUpCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIHNlbGYucnVsZXNbbGhzXSA9IFsgcnVsZSBdCi0gICAgICAgICAgICBzZWxmLnJ1bGUyZnVuY1tydWxlXSA9IGZuCi0gICAgICAgICAgICBzZWxmLnJ1bGUybmFtZVtydWxlXSA9IGZ1bmMuX19uYW1lX19bMjpdCi0gICAgICAgIHNlbGYucnVsZXNjaGFuZ2VkID0gMQotCi0gICAgZGVmIGNvbGxlY3RSdWxlcyhzZWxmKToKLSAgICAgICAgZm9yIG5hbWUgaW4gX25hbWVsaXN0KHNlbGYpOgotICAgICAgICAgICAgaWYgbmFtZVs6Ml0gPT0gJ3BfJzoKLSAgICAgICAgICAgICAgICBmdW5jID0gZ2V0YXR0cihzZWxmLCBuYW1lKQotICAgICAgICAgICAgICAgIGRvYyA9IGZ1bmMuX19kb2NfXwotICAgICAgICAgICAgICAgIHNlbGYuYWRkUnVsZShkb2MsIGZ1bmMpCi0KLSAgICBkZWYgYXVnbWVudChzZWxmLCBzdGFydCk6Ci0gICAgICAgIHJ1bGUgPSAnJXMgOjo9ICVzICVzJyAlIChzZWxmLl9TVEFSVCwgc2VsZi5fQk9GLCBzdGFydCkKLSAgICAgICAgc2VsZi5hZGRSdWxlKHJ1bGUsIGxhbWJkYSBhcmdzOiBhcmdzWzFdLCAwKQotCi0gICAgZGVmIGNvbXB1dGVOdWxsKHNlbGYpOgotICAgICAgICBzZWxmLm51bGxhYmxlID0ge30KLSAgICAgICAgdGJkID0gW10KLQotICAgICAgICBmb3IgcnVsZWxpc3QgaW4gc2VsZi5ydWxlcy52YWx1ZXMoKToKLSAgICAgICAgICAgIGxocyA9IHJ1bGVsaXN0WzBdWzBdCi0gICAgICAgICAgICBzZWxmLm51bGxhYmxlW2xoc10gPSAwCi0gICAgICAgICAgICBmb3IgcnVsZSBpbiBydWxlbGlzdDoKLSAgICAgICAgICAgICAgICByaHMgPSBydWxlWzFdCi0gICAgICAgICAgICAgICAgaWYgbGVuKHJocykgPT0gMDoKLSAgICAgICAgICAgICAgICAgICAgc2VsZi5udWxsYWJsZVtsaHNdID0gMQotICAgICAgICAgICAgICAgICAgICBjb250aW51ZQotICAgICAgICAgICAgICAgICMKLSAgICAgICAgICAgICAgICAjICBXZSBvbmx5IG5lZWQgdG8gY29uc2lkZXIgcnVsZXMgd2hpY2gKLSAgICAgICAgICAgICAgICAjICBjb25zaXN0IGVudGlyZWx5IG9mIG5vbnRlcm1pbmFsIHN5bWJvbHMuCi0gICAgICAgICAgICAgICAgIyAgVGhpcyBzaG91bGQgYmUgYSBzYXZpbmdzIG9uIHR5cGljYWwKLSAgICAgICAgICAgICAgICAjICBncmFtbWFycy4KLSAgICAgICAgICAgICAgICAjCi0gICAgICAgICAgICAgICAgZm9yIHN5bSBpbiByaHM6Ci0gICAgICAgICAgICAgICAgICAgIGlmIHN5bSBub3QgaW4gc2VsZi5ydWxlczoKLSAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrCi0gICAgICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICAgICAgdGJkLmFwcGVuZChydWxlKQotICAgICAgICBjaGFuZ2VzID0gMQotICAgICAgICB3aGlsZSBjaGFuZ2VzOgotICAgICAgICAgICAgY2hhbmdlcyA9IDAKLSAgICAgICAgICAgIGZvciBsaHMsIHJocyBpbiB0YmQ6Ci0gICAgICAgICAgICAgICAgaWYgc2VsZi5udWxsYWJsZVtsaHNdOgotICAgICAgICAgICAgICAgICAgICBjb250aW51ZQotICAgICAgICAgICAgICAgIGZvciBzeW0gaW4gcmhzOgotICAgICAgICAgICAgICAgICAgICBpZiBub3Qgc2VsZi5udWxsYWJsZVtzeW1dOgotICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWsKLSAgICAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgICAgICBzZWxmLm51bGxhYmxlW2xoc10gPSAxCi0gICAgICAgICAgICAgICAgICAgIGNoYW5nZXMgPSAxCi0KLSAgICBkZWYgbWFrZVN0YXRlMChzZWxmKToKLSAgICAgICAgczAgPSBfU3RhdGUoMCwgW10pCi0gICAgICAgIGZvciBydWxlIGluIHNlbGYubmV3cnVsZXNbc2VsZi5fU1RBUlRdOgotICAgICAgICAgICAgczAuaXRlbXMuYXBwZW5kKChydWxlLCAwKSkKLSAgICAgICAgcmV0dXJuIHMwCi0KLSAgICBkZWYgZmluYWxTdGF0ZShzZWxmLCB0b2tlbnMpOgotICAgICAgICAjCi0gICAgICAgICMgIFl1Y2suCi0gICAgICAgICMKLSAgICAgICAgaWYgbGVuKHNlbGYubmV3cnVsZXNbc2VsZi5fU1RBUlRdKSA9PSAyIGFuZCBsZW4odG9rZW5zKSA9PSAwOgotICAgICAgICAgICAgcmV0dXJuIDEKLSAgICAgICAgc3RhcnQgPSBzZWxmLnJ1bGVzW3NlbGYuX1NUQVJUXVswXVsxXVsxXQotICAgICAgICByZXR1cm4gc2VsZi5nb3RvKDEsIHN0YXJ0KQotCi0gICAgZGVmIG1ha2VOZXdSdWxlcyhzZWxmKToKLSAgICAgICAgd29ya2xpc3QgPSBbXQotICAgICAgICBmb3IgcnVsZWxpc3QgaW4gc2VsZi5ydWxlcy52YWx1ZXMoKToKLSAgICAgICAgICAgIGZvciBydWxlIGluIHJ1bGVsaXN0OgotICAgICAgICAgICAgICAgIHdvcmtsaXN0LmFwcGVuZCgocnVsZSwgMCwgMSwgcnVsZSkpCi0KLSAgICAgICAgZm9yIHJ1bGUsIGksIGNhbmRpZGF0ZSwgb2xkcnVsZSBpbiB3b3JrbGlzdDoKLSAgICAgICAgICAgIGxocywgcmhzID0gcnVsZQotICAgICAgICAgICAgbiA9IGxlbihyaHMpCi0gICAgICAgICAgICB3aGlsZSBpIDwgbjoKLSAgICAgICAgICAgICAgICBzeW0gPSByaHNbaV0KLSAgICAgICAgICAgICAgICBpZiBzeW0gbm90IGluIHNlbGYucnVsZXMgb3IgXAotICAgICAgICAgICAgICAgICAgIG5vdCBzZWxmLm51bGxhYmxlW3N5bV06Ci0gICAgICAgICAgICAgICAgICAgIGNhbmRpZGF0ZSA9IDAKLSAgICAgICAgICAgICAgICAgICAgaSA9IGkgKyAxCi0gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCi0KLSAgICAgICAgICAgICAgICBuZXdyaHMgPSBsaXN0KHJocykKLSAgICAgICAgICAgICAgICBuZXdyaHNbaV0gPSBzZWxmLl9OVUxMQUJMRStzeW0KLSAgICAgICAgICAgICAgICBuZXdydWxlID0gKGxocywgdHVwbGUobmV3cmhzKSkKLSAgICAgICAgICAgICAgICB3b3JrbGlzdC5hcHBlbmQoKG5ld3J1bGUsIGkrMSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhbmRpZGF0ZSwgb2xkcnVsZSkpCi0gICAgICAgICAgICAgICAgY2FuZGlkYXRlID0gMAotICAgICAgICAgICAgICAgIGkgPSBpICsgMQotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICBpZiBjYW5kaWRhdGU6Ci0gICAgICAgICAgICAgICAgICAgIGxocyA9IHNlbGYuX05VTExBQkxFK2xocwotICAgICAgICAgICAgICAgICAgICBydWxlID0gKGxocywgcmhzKQotICAgICAgICAgICAgICAgIGlmIGxocyBpbiBzZWxmLm5ld3J1bGVzOgotICAgICAgICAgICAgICAgICAgICBzZWxmLm5ld3J1bGVzW2xoc10uYXBwZW5kKHJ1bGUpCi0gICAgICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICAgICAgc2VsZi5uZXdydWxlc1tsaHNdID0gWyBydWxlIF0KLSAgICAgICAgICAgICAgICBzZWxmLm5ldzJvbGRbcnVsZV0gPSBvbGRydWxlCi0KLSAgICBkZWYgdHlwZXN0cmluZyhzZWxmLCB0b2tlbik6Ci0gICAgICAgIHJldHVybiBOb25lCi0KLSAgICBkZWYgZXJyb3Ioc2VsZiwgdG9rZW4pOgotICAgICAgICBvdXRwdXQoIlN5bnRheCBlcnJvciBhdCBvciBuZWFyIGAlcycgdG9rZW4iICUgdG9rZW4pCi0gICAgICAgIHJhaXNlIFN5c3RlbUV4aXQKLQotICAgIGRlZiBwYXJzZShzZWxmLCB0b2tlbnMpOgotICAgICAgICBzZXRzID0gWyBbKDEsMCksICgyLDApXSBdCi0gICAgICAgIHNlbGYubGlua3MgPSB7fQotCi0gICAgICAgIGlmIHNlbGYucnVsZXNjaGFuZ2VkOgotICAgICAgICAgICAgc2VsZi5jb21wdXRlTnVsbCgpCi0gICAgICAgICAgICBzZWxmLm5ld3J1bGVzID0ge30KLSAgICAgICAgICAgIHNlbGYubmV3Mm9sZCA9IHt9Ci0gICAgICAgICAgICBzZWxmLm1ha2VOZXdSdWxlcygpCi0gICAgICAgICAgICBzZWxmLnJ1bGVzY2hhbmdlZCA9IDAKLSAgICAgICAgICAgIHNlbGYuZWRnZXMsIHNlbGYuY29yZXMgPSB7fSwge30KLSAgICAgICAgICAgIHNlbGYuc3RhdGVzID0geyAwOiBzZWxmLm1ha2VTdGF0ZTAoKSB9Ci0gICAgICAgICAgICBzZWxmLm1ha2VTdGF0ZSgwLCBzZWxmLl9CT0YpCi0KLSAgICAgICAgZm9yIGkgaW4gcmFuZ2UobGVuKHRva2VucykpOgotICAgICAgICAgICAgc2V0cy5hcHBlbmQoW10pCi0KLSAgICAgICAgICAgIGlmIHNldHNbaV0gPT0gW106Ci0gICAgICAgICAgICAgICAgYnJlYWsKLSAgICAgICAgICAgIHNlbGYubWFrZVNldCh0b2tlbnNbaV0sIHNldHMsIGkpCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBzZXRzLmFwcGVuZChbXSkKLSAgICAgICAgICAgIHNlbGYubWFrZVNldChOb25lLCBzZXRzLCBsZW4odG9rZW5zKSkKLQotICAgICAgICAjX2R1bXAodG9rZW5zLCBzZXRzLCBzZWxmLnN0YXRlcykKLQotICAgICAgICBmaW5hbGl0ZW0gPSAoc2VsZi5maW5hbFN0YXRlKHRva2VucyksIDApCi0gICAgICAgIGlmIGZpbmFsaXRlbSBub3QgaW4gc2V0c1stMl06Ci0gICAgICAgICAgICBpZiBsZW4odG9rZW5zKSA+IDA6Ci0gICAgICAgICAgICAgICAgc2VsZi5lcnJvcih0b2tlbnNbaS0xXSkKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgc2VsZi5lcnJvcihOb25lKQotCi0gICAgICAgIHJldHVybiBzZWxmLmJ1aWxkVHJlZShzZWxmLl9TVEFSVCwgZmluYWxpdGVtLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9rZW5zLCBsZW4oc2V0cyktMikKLQotICAgIGRlZiBpc251bGxhYmxlKHNlbGYsIHN5bSk6Ci0gICAgICAgICMKLSAgICAgICAgIyAgRm9yIHN5bWJvbHMgaW4gR19lIG9ubHkuICBJZiB3ZSB3ZXJlbid0IHN1cHBvcnRpbmcgMS41LAotICAgICAgICAjICBjb3VsZCBqdXN0IHVzZSBzeW0uc3RhcnRzd2l0aCgpLgotICAgICAgICAjCi0gICAgICAgIHJldHVybiBzZWxmLl9OVUxMQUJMRSA9PSBzeW1bMDpsZW4oc2VsZi5fTlVMTEFCTEUpXQotCi0gICAgZGVmIHNraXAoc2VsZiwgaHMsIHBvcz0wKToKLSAgICAgICAgbiA9IGxlbihoc1sxXSkKLSAgICAgICAgd2hpbGUgcG9zIDwgbjoKLSAgICAgICAgICAgIGlmIG5vdCBzZWxmLmlzbnVsbGFibGUoaHNbMV1bcG9zXSk6Ci0gICAgICAgICAgICAgICAgYnJlYWsKLSAgICAgICAgICAgIHBvcyA9IHBvcyArIDEKLSAgICAgICAgcmV0dXJuIHBvcwotCi0gICAgZGVmIG1ha2VTdGF0ZShzZWxmLCBzdGF0ZSwgc3ltKToKLSAgICAgICAgYXNzZXJ0IHN5bSBpcyBub3QgTm9uZQotICAgICAgICAjCi0gICAgICAgICMgIENvbXB1dGUgXGVwc2lsb24ta2VybmVsIHN0YXRlJ3MgY29yZSBhbmQgc2VlIGlmCi0gICAgICAgICMgIGl0IGV4aXN0cyBhbHJlYWR5LgotICAgICAgICAjCi0gICAgICAgIGtpdGVtcyA9IFtdCi0gICAgICAgIGZvciBydWxlLCBwb3MgaW4gc2VsZi5zdGF0ZXNbc3RhdGVdLml0ZW1zOgotICAgICAgICAgICAgbGhzLCByaHMgPSBydWxlCi0gICAgICAgICAgICBpZiByaHNbcG9zOnBvcysxXSA9PSAoc3ltLCk6Ci0gICAgICAgICAgICAgICAga2l0ZW1zLmFwcGVuZCgocnVsZSwgc2VsZi5za2lwKHJ1bGUsIHBvcysxKSkpCi0gICAgICAgIGNvcmUgPSBraXRlbXMKLQotICAgICAgICBjb3JlLnNvcnQoKQotICAgICAgICB0Y29yZSA9IHR1cGxlKGNvcmUpCi0gICAgICAgIGlmIHRjb3JlIGluIHNlbGYuY29yZXM6Ci0gICAgICAgICAgICByZXR1cm4gc2VsZi5jb3Jlc1t0Y29yZV0KLSAgICAgICAgIwotICAgICAgICAjICBOb3BlLCBkb2Vzbid0IGV4aXN0LiAgQ29tcHV0ZSBpdCBhbmQgdGhlIGFzc29jaWF0ZWQKLSAgICAgICAgIyAgXGVwc2lsb24tbm9ua2VybmVsIHN0YXRlIHRvZ2V0aGVyOyB3ZSdsbCBuZWVkIGl0IHJpZ2h0IGF3YXkuCi0gICAgICAgICMKLSAgICAgICAgayA9IHNlbGYuY29yZXNbdGNvcmVdID0gbGVuKHNlbGYuc3RhdGVzKQotICAgICAgICBLLCBOSyA9IF9TdGF0ZShrLCBraXRlbXMpLCBfU3RhdGUoaysxLCBbXSkKLSAgICAgICAgc2VsZi5zdGF0ZXNba10gPSBLCi0gICAgICAgIHByZWRpY3RlZCA9IHt9Ci0KLSAgICAgICAgZWRnZXMgPSBzZWxmLmVkZ2VzCi0gICAgICAgIHJ1bGVzID0gc2VsZi5uZXdydWxlcwotICAgICAgICBmb3IgWCBpbiBLLCBOSzoKLSAgICAgICAgICAgIHdvcmtsaXN0ID0gWC5pdGVtcwotICAgICAgICAgICAgZm9yIGl0ZW0gaW4gd29ya2xpc3Q6Ci0gICAgICAgICAgICAgICAgcnVsZSwgcG9zID0gaXRlbQotICAgICAgICAgICAgICAgIGxocywgcmhzID0gcnVsZQotICAgICAgICAgICAgICAgIGlmIHBvcyA9PSBsZW4ocmhzKToKLSAgICAgICAgICAgICAgICAgICAgWC5jb21wbGV0ZS5hcHBlbmQocnVsZSkKLSAgICAgICAgICAgICAgICAgICAgY29udGludWUKLQotICAgICAgICAgICAgICAgIG5leHRTeW0gPSByaHNbcG9zXQotICAgICAgICAgICAgICAgIGtleSA9IChYLnN0YXRlbm8sIG5leHRTeW0pCi0gICAgICAgICAgICAgICAgaWYgbmV4dFN5bSBub3QgaW4gcnVsZXM6Ci0gICAgICAgICAgICAgICAgICAgIGlmIGtleSBub3QgaW4gZWRnZXM6Ci0gICAgICAgICAgICAgICAgICAgICAgICBlZGdlc1trZXldID0gTm9uZQotICAgICAgICAgICAgICAgICAgICAgICAgWC5ULmFwcGVuZChuZXh0U3ltKQotICAgICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgICAgIGVkZ2VzW2tleV0gPSBOb25lCi0gICAgICAgICAgICAgICAgICAgIGlmIG5leHRTeW0gbm90IGluIHByZWRpY3RlZDoKLSAgICAgICAgICAgICAgICAgICAgICAgIHByZWRpY3RlZFtuZXh0U3ltXSA9IDEKLSAgICAgICAgICAgICAgICAgICAgICAgIGZvciBwcnVsZSBpbiBydWxlc1tuZXh0U3ltXToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcG9zID0gc2VsZi5za2lwKHBydWxlKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ldyA9IChwcnVsZSwgcHBvcykKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBOSy5pdGVtcy5hcHBlbmQobmV3KQotICAgICAgICAgICAgIwotICAgICAgICAgICAgIyAgUHJvYmxlbTogd2Uga25vdyBLIG5lZWRzIGdlbmVyYXRpbmcsIGJ1dCB3ZQotICAgICAgICAgICAgIyAgZG9uJ3QgeWV0IGtub3cgYWJvdXQgTksuICBDYW4ndCBjb21taXQgYW55dGhpbmcKLSAgICAgICAgICAgICMgIHJlZ2FyZGluZyBOSyB0byBzZWxmLmVkZ2VzIHVudGlsIHdlJ3JlIHN1cmUuICBTaG91bGQKLSAgICAgICAgICAgICMgIHdlIGRlbGF5IGNvbW1pdHRpbmcgb24gYm90aCBLIGFuZCBOSyB0byBhdm9pZCB0aGlzCi0gICAgICAgICAgICAjICBoYWNreSBjb2RlPyAgVGhpcyBjcmVhdGVzIG90aGVyIHByb2JsZW1zLi4KLSAgICAgICAgICAgICMKLSAgICAgICAgICAgIGlmIFggaXMgSzoKLSAgICAgICAgICAgICAgICBlZGdlcyA9IHt9Ci0KLSAgICAgICAgaWYgTksuaXRlbXMgPT0gW106Ci0gICAgICAgICAgICByZXR1cm4gawotCi0gICAgICAgICMKLSAgICAgICAgIyAgQ2hlY2sgZm9yIFxlcHNpbG9uLW5vbmtlcm5lbCdzIGNvcmUuICBVbmZvcnR1bmF0ZWx5IHdlCi0gICAgICAgICMgIG5lZWQgdG8ga25vdyB0aGUgZW50aXJlIHNldCBvZiBwcmVkaWN0ZWQgbm9udGVybWluYWxzCi0gICAgICAgICMgIHRvIGRvIHRoaXMgd2l0aG91dCBhY2NpZGVudGFsbHkgZHVwbGljYXRpbmcgc3RhdGVzLgotICAgICAgICAjCi0gICAgICAgIGNvcmUgPSBzb3J0ZWQocHJlZGljdGVkLmtleXMoKSkKLSAgICAgICAgdGNvcmUgPSB0dXBsZShjb3JlKQotICAgICAgICBpZiB0Y29yZSBpbiBzZWxmLmNvcmVzOgotICAgICAgICAgICAgc2VsZi5lZGdlc1soaywgTm9uZSldID0gc2VsZi5jb3Jlc1t0Y29yZV0KLSAgICAgICAgICAgIHJldHVybiBrCi0KLSAgICAgICAgbmsgPSBzZWxmLmNvcmVzW3Rjb3JlXSA9IHNlbGYuZWRnZXNbKGssIE5vbmUpXSA9IE5LLnN0YXRlbm8KLSAgICAgICAgc2VsZi5lZGdlcy51cGRhdGUoZWRnZXMpCi0gICAgICAgIHNlbGYuc3RhdGVzW25rXSA9IE5LCi0gICAgICAgIHJldHVybiBrCi0KLSAgICBkZWYgZ290byhzZWxmLCBzdGF0ZSwgc3ltKToKLSAgICAgICAga2V5ID0gKHN0YXRlLCBzeW0pCi0gICAgICAgIGlmIGtleSBub3QgaW4gc2VsZi5lZGdlczoKLSAgICAgICAgICAgICMKLSAgICAgICAgICAgICMgIE5vIHRyYW5zaXRpb25zIGZyb20gc3RhdGUgb24gc3ltLgotICAgICAgICAgICAgIwotICAgICAgICAgICAgcmV0dXJuIE5vbmUKLQotICAgICAgICBydiA9IHNlbGYuZWRnZXNba2V5XQotICAgICAgICBpZiBydiBpcyBOb25lOgotICAgICAgICAgICAgIwotICAgICAgICAgICAgIyAgVGFyZ2V0IHN0YXRlIGlzbid0IGdlbmVyYXRlZCB5ZXQuICBSZW1lZHkgdGhpcy4KLSAgICAgICAgICAgICMKLSAgICAgICAgICAgIHJ2ID0gc2VsZi5tYWtlU3RhdGUoc3RhdGUsIHN5bSkKLSAgICAgICAgICAgIHNlbGYuZWRnZXNba2V5XSA9IHJ2Ci0gICAgICAgIHJldHVybiBydgotCi0gICAgZGVmIGdvdG9UKHNlbGYsIHN0YXRlLCB0KToKLSAgICAgICAgcmV0dXJuIFtzZWxmLmdvdG8oc3RhdGUsIHQpXQotCi0gICAgZGVmIGdvdG9TVChzZWxmLCBzdGF0ZSwgc3QpOgotICAgICAgICBydiA9IFtdCi0gICAgICAgIGZvciB0IGluIHNlbGYuc3RhdGVzW3N0YXRlXS5UOgotICAgICAgICAgICAgaWYgc3QgPT0gdDoKLSAgICAgICAgICAgICAgICBydi5hcHBlbmQoc2VsZi5nb3RvKHN0YXRlLCB0KSkKLSAgICAgICAgcmV0dXJuIHJ2Ci0KLSAgICBkZWYgYWRkKHNlbGYsIHNldCwgaXRlbSwgaT1Ob25lLCBwcmVkZWNlc3Nvcj1Ob25lLCBjYXVzYWw9Tm9uZSk6Ci0gICAgICAgIGlmIHByZWRlY2Vzc29yIGlzIE5vbmU6Ci0gICAgICAgICAgICBpZiBpdGVtIG5vdCBpbiBzZXQ6Ci0gICAgICAgICAgICAgICAgc2V0LmFwcGVuZChpdGVtKQotICAgICAgICBlbHNlOgotICAgICAgICAgICAga2V5ID0gKGl0ZW0sIGkpCi0gICAgICAgICAgICBpZiBpdGVtIG5vdCBpbiBzZXQ6Ci0gICAgICAgICAgICAgICAgc2VsZi5saW5rc1trZXldID0gW10KLSAgICAgICAgICAgICAgICBzZXQuYXBwZW5kKGl0ZW0pCi0gICAgICAgICAgICBzZWxmLmxpbmtzW2tleV0uYXBwZW5kKChwcmVkZWNlc3NvciwgY2F1c2FsKSkKLQotICAgIGRlZiBtYWtlU2V0KHNlbGYsIHRva2VuLCBzZXRzLCBpKToKLSAgICAgICAgY3VyLCBuZXh0ID0gc2V0c1tpXSwgc2V0c1tpKzFdCi0KLSAgICAgICAgdHR5cGUgPSB0b2tlbiBpcyBub3QgTm9uZSBhbmQgc2VsZi50eXBlc3RyaW5nKHRva2VuKSBvciBOb25lCi0gICAgICAgIGlmIHR0eXBlIGlzIG5vdCBOb25lOgotICAgICAgICAgICAgZm4sIGFyZyA9IHNlbGYuZ290b1QsIHR0eXBlCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBmbiwgYXJnID0gc2VsZi5nb3RvU1QsIHRva2VuCi0KLSAgICAgICAgZm9yIGl0ZW0gaW4gY3VyOgotICAgICAgICAgICAgcHRyID0gKGl0ZW0sIGkpCi0gICAgICAgICAgICBzdGF0ZSwgcGFyZW50ID0gaXRlbQotICAgICAgICAgICAgYWRkID0gZm4oc3RhdGUsIGFyZykKLSAgICAgICAgICAgIGZvciBrIGluIGFkZDoKLSAgICAgICAgICAgICAgICBpZiBrIGlzIG5vdCBOb25lOgotICAgICAgICAgICAgICAgICAgICBzZWxmLmFkZChuZXh0LCAoaywgcGFyZW50KSwgaSsxLCBwdHIpCi0gICAgICAgICAgICAgICAgICAgIG5rID0gc2VsZi5nb3RvKGssIE5vbmUpCi0gICAgICAgICAgICAgICAgICAgIGlmIG5rIGlzIG5vdCBOb25lOgotICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5hZGQobmV4dCwgKG5rLCBpKzEpKQotCi0gICAgICAgICAgICBpZiBwYXJlbnQgPT0gaToKLSAgICAgICAgICAgICAgICBjb250aW51ZQotCi0gICAgICAgICAgICBmb3IgcnVsZSBpbiBzZWxmLnN0YXRlc1tzdGF0ZV0uY29tcGxldGU6Ci0gICAgICAgICAgICAgICAgbGhzLCByaHMgPSBydWxlCi0gICAgICAgICAgICAgICAgZm9yIHBpdGVtIGluIHNldHNbcGFyZW50XToKLSAgICAgICAgICAgICAgICAgICAgcHN0YXRlLCBwcGFyZW50ID0gcGl0ZW0KLSAgICAgICAgICAgICAgICAgICAgayA9IHNlbGYuZ290byhwc3RhdGUsIGxocykKLSAgICAgICAgICAgICAgICAgICAgaWYgayBpcyBub3QgTm9uZToKLSAgICAgICAgICAgICAgICAgICAgICAgIHdoeSA9IChpdGVtLCBpLCBydWxlKQotICAgICAgICAgICAgICAgICAgICAgICAgcHB0ciA9IChwaXRlbSwgcGFyZW50KQotICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5hZGQoY3VyLCAoaywgcHBhcmVudCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpLCBwcHRyLCB3aHkpCi0gICAgICAgICAgICAgICAgICAgICAgICBuayA9IHNlbGYuZ290byhrLCBOb25lKQotICAgICAgICAgICAgICAgICAgICAgICAgaWYgbmsgaXMgbm90IE5vbmU6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5hZGQoY3VyLCAobmssIGkpKQotCi0gICAgZGVmIG1ha2VTZXRfZmFzdChzZWxmLCB0b2tlbiwgc2V0cywgaSk6Ci0gICAgICAgICMKLSAgICAgICAgIyAgQ2FsbCAqb25seSogd2hlbiB0aGUgZW50aXJlIHN0YXRlIG1hY2hpbmUgaGFzIGJlZW4gYnVpbHQhCi0gICAgICAgICMgIEl0IHJlbGllcyBvbiBzZWxmLmVkZ2VzIGJlaW5nIGZpbGxlZCBpbiBjb21wbGV0ZWx5LCBhbmQKLSAgICAgICAgIyAgdGhlbiBkdXBsaWNhdGVzIGFuZCBpbmxpbmVzIGNvZGUgdG8gYm9vc3Qgc3BlZWQgYXQgdGhlCi0gICAgICAgICMgIGNvc3Qgb2YgZXh0cmVtZSB1Z2xpbmVzcy4KLSAgICAgICAgIwotICAgICAgICBjdXIsIG5leHQgPSBzZXRzW2ldLCBzZXRzW2krMV0KLSAgICAgICAgdHR5cGUgPSB0b2tlbiBpcyBub3QgTm9uZSBhbmQgc2VsZi50eXBlc3RyaW5nKHRva2VuKSBvciBOb25lCi0KLSAgICAgICAgZm9yIGl0ZW0gaW4gY3VyOgotICAgICAgICAgICAgcHRyID0gKGl0ZW0sIGkpCi0gICAgICAgICAgICBzdGF0ZSwgcGFyZW50ID0gaXRlbQotICAgICAgICAgICAgaWYgdHR5cGUgaXMgbm90IE5vbmU6Ci0gICAgICAgICAgICAgICAgayA9IHNlbGYuZWRnZXMuZ2V0KChzdGF0ZSwgdHR5cGUpLCBOb25lKQotICAgICAgICAgICAgICAgIGlmIGsgaXMgbm90IE5vbmU6Ci0gICAgICAgICAgICAgICAgICAgICNzZWxmLmFkZChuZXh0LCAoaywgcGFyZW50KSwgaSsxLCBwdHIpCi0gICAgICAgICAgICAgICAgICAgICNJTkxJTkVEIC0tdgotICAgICAgICAgICAgICAgICAgICBuZXcgPSAoaywgcGFyZW50KQotICAgICAgICAgICAgICAgICAgICBrZXkgPSAobmV3LCBpKzEpCi0gICAgICAgICAgICAgICAgICAgIGlmIG5ldyBub3QgaW4gbmV4dDoKLSAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYubGlua3Nba2V5XSA9IFtdCi0gICAgICAgICAgICAgICAgICAgICAgICBuZXh0LmFwcGVuZChuZXcpCi0gICAgICAgICAgICAgICAgICAgIHNlbGYubGlua3Nba2V5XS5hcHBlbmQoKHB0ciwgTm9uZSkpCi0gICAgICAgICAgICAgICAgICAgICNJTkxJTkVEIC0tXgotICAgICAgICAgICAgICAgICAgICAjbmsgPSBzZWxmLmdvdG8oaywgTm9uZSkKLSAgICAgICAgICAgICAgICAgICAgbmsgPSBzZWxmLmVkZ2VzLmdldCgoaywgTm9uZSksIE5vbmUpCi0gICAgICAgICAgICAgICAgICAgIGlmIG5rIGlzIG5vdCBOb25lOgotICAgICAgICAgICAgICAgICAgICAgICAgI3NlbGYuYWRkKG5leHQsIChuaywgaSsxKSkKLSAgICAgICAgICAgICAgICAgICAgICAgICNJTkxJTkVEIC0tdgotICAgICAgICAgICAgICAgICAgICAgICAgbmV3ID0gKG5rLCBpKzEpCi0gICAgICAgICAgICAgICAgICAgICAgICBpZiBuZXcgbm90IGluIG5leHQ6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV4dC5hcHBlbmQobmV3KQotICAgICAgICAgICAgICAgICAgICAgICAgI0lOTElORUQgLS1eCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIGFkZCA9IHNlbGYuZ290b1NUKHN0YXRlLCB0b2tlbikKLSAgICAgICAgICAgICAgICBmb3IgayBpbiBhZGQ6Ci0gICAgICAgICAgICAgICAgICAgIGlmIGsgaXMgbm90IE5vbmU6Ci0gICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmFkZChuZXh0LCAoaywgcGFyZW50KSwgaSsxLCBwdHIpCi0gICAgICAgICAgICAgICAgICAgICAgICAjbmsgPSBzZWxmLmdvdG8oaywgTm9uZSkKLSAgICAgICAgICAgICAgICAgICAgICAgIG5rID0gc2VsZi5lZGdlcy5nZXQoKGssIE5vbmUpLCBOb25lKQotICAgICAgICAgICAgICAgICAgICAgICAgaWYgbmsgaXMgbm90IE5vbmU6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5hZGQobmV4dCwgKG5rLCBpKzEpKQotCi0gICAgICAgICAgICBpZiBwYXJlbnQgPT0gaToKLSAgICAgICAgICAgICAgICBjb250aW51ZQotCi0gICAgICAgICAgICBmb3IgcnVsZSBpbiBzZWxmLnN0YXRlc1tzdGF0ZV0uY29tcGxldGU6Ci0gICAgICAgICAgICAgICAgbGhzLCByaHMgPSBydWxlCi0gICAgICAgICAgICAgICAgZm9yIHBpdGVtIGluIHNldHNbcGFyZW50XToKLSAgICAgICAgICAgICAgICAgICAgcHN0YXRlLCBwcGFyZW50ID0gcGl0ZW0KLSAgICAgICAgICAgICAgICAgICAgI2sgPSBzZWxmLmdvdG8ocHN0YXRlLCBsaHMpCi0gICAgICAgICAgICAgICAgICAgIGsgPSBzZWxmLmVkZ2VzLmdldCgocHN0YXRlLCBsaHMpLCBOb25lKQotICAgICAgICAgICAgICAgICAgICBpZiBrIGlzIG5vdCBOb25lOgotICAgICAgICAgICAgICAgICAgICAgICAgd2h5ID0gKGl0ZW0sIGksIHJ1bGUpCi0gICAgICAgICAgICAgICAgICAgICAgICBwcHRyID0gKHBpdGVtLCBwYXJlbnQpCi0gICAgICAgICAgICAgICAgICAgICAgICAjc2VsZi5hZGQoY3VyLCAoaywgcHBhcmVudCksCi0gICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICBpLCBwcHRyLCB3aHkpCi0gICAgICAgICAgICAgICAgICAgICAgICAjSU5MSU5FRCAtLXYKLSAgICAgICAgICAgICAgICAgICAgICAgIG5ldyA9IChrLCBwcGFyZW50KQotICAgICAgICAgICAgICAgICAgICAgICAga2V5ID0gKG5ldywgaSkKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmIG5ldyBub3QgaW4gY3VyOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYubGlua3Nba2V5XSA9IFtdCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VyLmFwcGVuZChuZXcpCi0gICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmxpbmtzW2tleV0uYXBwZW5kKChwcHRyLCB3aHkpKQotICAgICAgICAgICAgICAgICAgICAgICAgI0lOTElORUQgLS1eCi0gICAgICAgICAgICAgICAgICAgICAgICAjbmsgPSBzZWxmLmdvdG8oaywgTm9uZSkKLSAgICAgICAgICAgICAgICAgICAgICAgIG5rID0gc2VsZi5lZGdlcy5nZXQoKGssIE5vbmUpLCBOb25lKQotICAgICAgICAgICAgICAgICAgICAgICAgaWYgbmsgaXMgbm90IE5vbmU6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgI3NlbGYuYWRkKGN1ciwgKG5rLCBpKSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAjSU5MSU5FRCAtLXYKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXcgPSAobmssIGkpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgbmV3IG5vdCBpbiBjdXI6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1ci5hcHBlbmQobmV3KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICNJTkxJTkVEIC0tXgotCi0gICAgZGVmIHByZWRlY2Vzc29yKHNlbGYsIGtleSwgY2F1c2FsKToKLSAgICAgICAgZm9yIHAsIGMgaW4gc2VsZi5saW5rc1trZXldOgotICAgICAgICAgICAgaWYgYyA9PSBjYXVzYWw6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIHAKLSAgICAgICAgYXNzZXJ0IDAKLQotICAgIGRlZiBjYXVzYWwoc2VsZiwga2V5KToKLSAgICAgICAgbGlua3MgPSBzZWxmLmxpbmtzW2tleV0KLSAgICAgICAgaWYgbGVuKGxpbmtzKSA9PSAxOgotICAgICAgICAgICAgcmV0dXJuIGxpbmtzWzBdWzFdCi0gICAgICAgIGNob2ljZXMgPSBbXQotICAgICAgICBydWxlMmNhdXNlID0ge30KLSAgICAgICAgZm9yIHAsIGMgaW4gbGlua3M6Ci0gICAgICAgICAgICBydWxlID0gY1syXQotICAgICAgICAgICAgY2hvaWNlcy5hcHBlbmQocnVsZSkKLSAgICAgICAgICAgIHJ1bGUyY2F1c2VbcnVsZV0gPSBjCi0gICAgICAgIHJldHVybiBydWxlMmNhdXNlW3NlbGYuYW1iaWd1aXR5KGNob2ljZXMpXQotCi0gICAgZGVmIGRlcml2ZUVwc2lsb24oc2VsZiwgbnQpOgotICAgICAgICBpZiBsZW4oc2VsZi5uZXdydWxlc1tudF0pID4gMToKLSAgICAgICAgICAgIHJ1bGUgPSBzZWxmLmFtYmlndWl0eShzZWxmLm5ld3J1bGVzW250XSkKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHJ1bGUgPSBzZWxmLm5ld3J1bGVzW250XVswXQotICAgICAgICAjb3V0cHV0KHJ1bGUpCi0KLSAgICAgICAgcmhzID0gcnVsZVsxXQotICAgICAgICBhdHRyID0gW05vbmVdICogbGVuKHJocykKLQotICAgICAgICBmb3IgaSBpbiByYW5nZShsZW4ocmhzKS0xLCAtMSwgLTEpOgotICAgICAgICAgICAgYXR0cltpXSA9IHNlbGYuZGVyaXZlRXBzaWxvbihyaHNbaV0pCi0gICAgICAgIHJldHVybiBzZWxmLnJ1bGUyZnVuY1tzZWxmLm5ldzJvbGRbcnVsZV1dKGF0dHIpCi0KLSAgICBkZWYgYnVpbGRUcmVlKHNlbGYsIG50LCBpdGVtLCB0b2tlbnMsIGspOgotICAgICAgICBzdGF0ZSwgcGFyZW50ID0gaXRlbQotCi0gICAgICAgIGNob2ljZXMgPSBbXQotICAgICAgICBmb3IgcnVsZSBpbiBzZWxmLnN0YXRlc1tzdGF0ZV0uY29tcGxldGU6Ci0gICAgICAgICAgICBpZiBydWxlWzBdID09IG50OgotICAgICAgICAgICAgICAgIGNob2ljZXMuYXBwZW5kKHJ1bGUpCi0gICAgICAgIHJ1bGUgPSBjaG9pY2VzWzBdCi0gICAgICAgIGlmIGxlbihjaG9pY2VzKSA+IDE6Ci0gICAgICAgICAgICBydWxlID0gc2VsZi5hbWJpZ3VpdHkoY2hvaWNlcykKLSAgICAgICAgI291dHB1dChydWxlKQotCi0gICAgICAgIHJocyA9IHJ1bGVbMV0KLSAgICAgICAgYXR0ciA9IFtOb25lXSAqIGxlbihyaHMpCi0KLSAgICAgICAgZm9yIGkgaW4gcmFuZ2UobGVuKHJocyktMSwgLTEsIC0xKToKLSAgICAgICAgICAgIHN5bSA9IHJoc1tpXQotICAgICAgICAgICAgaWYgc3ltIG5vdCBpbiBzZWxmLm5ld3J1bGVzOgotICAgICAgICAgICAgICAgIGlmIHN5bSAhPSBzZWxmLl9CT0Y6Ci0gICAgICAgICAgICAgICAgICAgIGF0dHJbaV0gPSB0b2tlbnNbay0xXQotICAgICAgICAgICAgICAgICAgICBrZXkgPSAoaXRlbSwgaykKLSAgICAgICAgICAgICAgICAgICAgaXRlbSwgayA9IHNlbGYucHJlZGVjZXNzb3Ioa2V5LCBOb25lKQotICAgICAgICAgICAgI2VsaWYgc2VsZi5pc251bGxhYmxlKHN5bSk6Ci0gICAgICAgICAgICBlbGlmIHNlbGYuX05VTExBQkxFID09IHN5bVswOmxlbihzZWxmLl9OVUxMQUJMRSldOgotICAgICAgICAgICAgICAgIGF0dHJbaV0gPSBzZWxmLmRlcml2ZUVwc2lsb24oc3ltKQotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICBrZXkgPSAoaXRlbSwgaykKLSAgICAgICAgICAgICAgICB3aHkgPSBzZWxmLmNhdXNhbChrZXkpCi0gICAgICAgICAgICAgICAgYXR0cltpXSA9IHNlbGYuYnVpbGRUcmVlKHN5bSwgd2h5WzBdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b2tlbnMsIHdoeVsxXSkKLSAgICAgICAgICAgICAgICBpdGVtLCBrID0gc2VsZi5wcmVkZWNlc3NvcihrZXksIHdoeSkKLSAgICAgICAgcmV0dXJuIHNlbGYucnVsZTJmdW5jW3NlbGYubmV3Mm9sZFtydWxlXV0oYXR0cikKLQotICAgIGRlZiBhbWJpZ3VpdHkoc2VsZiwgcnVsZXMpOgotICAgICAgICAjCi0gICAgICAgICMgIFhYWCAtIHByb2JsZW0gaGVyZSBhbmQgaW4gY29sbGVjdFJ1bGVzKCkgaWYgdGhlIHNhbWUgcnVsZQotICAgICAgICAjICAgICAgICBhcHBlYXJzIGluID4xIG1ldGhvZC4gIEFsc28gdW5kZWZpbmVkIHJlc3VsdHMgaWYgcnVsZXMKLSAgICAgICAgIyAgICAgICAgY2F1c2luZyB0aGUgYW1iaWd1aXR5IGFwcGVhciBpbiB0aGUgc2FtZSBtZXRob2QuCi0gICAgICAgICMKLSAgICAgICAgc29ydGxpc3QgPSBbXQotICAgICAgICBuYW1lMmluZGV4ID0ge30KLSAgICAgICAgZm9yIGkgaW4gcmFuZ2UobGVuKHJ1bGVzKSk6Ci0gICAgICAgICAgICBsaHMsIHJocyA9IHJ1bGUgPSBydWxlc1tpXQotICAgICAgICAgICAgbmFtZSA9IHNlbGYucnVsZTJuYW1lW3NlbGYubmV3Mm9sZFtydWxlXV0KLSAgICAgICAgICAgIHNvcnRsaXN0LmFwcGVuZCgobGVuKHJocyksIG5hbWUpKQotICAgICAgICAgICAgbmFtZTJpbmRleFtuYW1lXSA9IGkKLSAgICAgICAgc29ydGxpc3Quc29ydCgpCi0gICAgICAgIGxpc3QgPSBbYiBmb3IgYSwgYiBpbiBzb3J0bGlzdF0KLSAgICAgICAgcmV0dXJuIHJ1bGVzW25hbWUyaW5kZXhbc2VsZi5yZXNvbHZlKGxpc3QpXV0KLQotICAgIGRlZiByZXNvbHZlKHNlbGYsIGxpc3QpOgotICAgICAgICAjCi0gICAgICAgICMgIFJlc29sdmUgYW1iaWd1aXR5IGluIGZhdm9yIG9mIHRoZSBzaG9ydGVzdCBSSFMuCi0gICAgICAgICMgIFNpbmNlIHdlIHdhbGsgdGhlIHRyZWUgZnJvbSB0aGUgdG9wIGRvd24sIHRoaXMKLSAgICAgICAgIyAgc2hvdWxkIGVmZmVjdGl2ZWx5IHJlc29sdmUgaW4gZmF2b3Igb2YgYSAic2hpZnQiLgotICAgICAgICAjCi0gICAgICAgIHJldHVybiBsaXN0WzBdCi0KLSMKLSMgIEdlbmVyaWNBU1RCdWlsZGVyIGF1dG9tYWdpY2FsbHkgY29uc3RydWN0cyBhIGNvbmNyZXRlL2Fic3RyYWN0IHN5bnRheCB0cmVlCi0jICBmb3IgYSBnaXZlbiBpbnB1dC4gIFRoZSBleHRyYSBhcmd1bWVudCBpcyBhIGNsYXNzIChub3QgYW4gaW5zdGFuY2UhKQotIyAgd2hpY2ggc3VwcG9ydHMgdGhlICJfX3NldHNsaWNlX18iIGFuZCAiX19sZW5fXyIgbWV0aG9kcy4KLSMKLSMgIFhYWCAtIHNpbGVudGx5IG92ZXJyaWRlcyBhbnkgdXNlciBjb2RlIGluIG1ldGhvZHMuCi0jCi0KLWNsYXNzIEdlbmVyaWNBU1RCdWlsZGVyKEdlbmVyaWNQYXJzZXIpOgotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBBU1QsIHN0YXJ0KToKLSAgICAgICAgR2VuZXJpY1BhcnNlci5fX2luaXRfXyhzZWxmLCBzdGFydCkKLSAgICAgICAgc2VsZi5BU1QgPSBBU1QKLQotICAgIGRlZiBwcmVwcm9jZXNzKHNlbGYsIHJ1bGUsIGZ1bmMpOgotICAgICAgICByZWJpbmQgPSBsYW1iZGEgbGhzLCBzZWxmPXNlbGY6IFwKLSAgICAgICAgICAgICAgICAgICAgICAgIGxhbWJkYSBhcmdzLCBsaHM9bGhzLCBzZWxmPXNlbGY6IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5idWlsZEFTVE5vZGUoYXJncywgbGhzKQotICAgICAgICBsaHMsIHJocyA9IHJ1bGUKLSAgICAgICAgcmV0dXJuIHJ1bGUsIHJlYmluZChsaHMpCi0KLSAgICBkZWYgYnVpbGRBU1ROb2RlKHNlbGYsIGFyZ3MsIGxocyk6Ci0gICAgICAgIGNoaWxkcmVuID0gW10KLSAgICAgICAgZm9yIGFyZyBpbiBhcmdzOgotICAgICAgICAgICAgaWYgaXNpbnN0YW5jZShhcmcsIHNlbGYuQVNUKToKLSAgICAgICAgICAgICAgICBjaGlsZHJlbi5hcHBlbmQoYXJnKQotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICBjaGlsZHJlbi5hcHBlbmQoc2VsZi50ZXJtaW5hbChhcmcpKQotICAgICAgICByZXR1cm4gc2VsZi5ub250ZXJtaW5hbChsaHMsIGNoaWxkcmVuKQotCi0gICAgZGVmIHRlcm1pbmFsKHNlbGYsIHRva2VuKTogICAgICByZXR1cm4gdG9rZW4KLQotICAgIGRlZiBub250ZXJtaW5hbChzZWxmLCB0eXBlLCBhcmdzKToKLSAgICAgICAgcnYgPSBzZWxmLkFTVCh0eXBlKQotICAgICAgICBydls6bGVuKGFyZ3MpXSA9IGFyZ3MKLSAgICAgICAgcmV0dXJuIHJ2Ci0KLSMKLSMgIEdlbmVyaWNBU1RUcmF2ZXJzYWwgaXMgYSBWaXNpdG9yIHBhdHRlcm4gYWNjb3JkaW5nIHRvIERlc2lnbiBQYXR0ZXJucy4gIEZvcgotIyAgZWFjaCBub2RlIGl0IGF0dGVtcHRzIHRvIGludm9rZSB0aGUgbWV0aG9kIG5fPG5vZGUgdHlwZT4sIGZhbGxpbmcKLSMgIGJhY2sgb250byB0aGUgZGVmYXVsdCgpIG1ldGhvZCBpZiB0aGUgbl8qIGNhbid0IGJlIGZvdW5kLiAgVGhlIHByZW9yZGVyCi0jICB0cmF2ZXJzYWwgYWxzbyBsb29rcyBmb3IgYW4gZXhpdCBob29rIG5hbWVkIG5fPG5vZGUgdHlwZT5fZXhpdCAobm8gZGVmYXVsdAotIyAgcm91dGluZSBpcyBjYWxsZWQgaWYgaXQncyBub3QgZm91bmQpLiAgVG8gcHJlbWF0dXJlbHkgaGFsdCB0cmF2ZXJzYWwKLSMgIG9mIGEgc3VidHJlZSwgY2FsbCB0aGUgcHJ1bmUoKSBtZXRob2QgLS0gdGhpcyBvbmx5IG1ha2VzIHNlbnNlIGZvciBhCi0jICBwcmVvcmRlciB0cmF2ZXJzYWwuICBOb2RlIHR5cGUgaXMgZGV0ZXJtaW5lZCB2aWEgdGhlIHR5cGVzdHJpbmcoKSBtZXRob2QuCi0jCi0KLWNsYXNzIEdlbmVyaWNBU1RUcmF2ZXJzYWxQcnVuaW5nRXhjZXB0aW9uOgotICAgIHBhc3MKLQotY2xhc3MgR2VuZXJpY0FTVFRyYXZlcnNhbDoKLSAgICBkZWYgX19pbml0X18oc2VsZiwgYXN0KToKLSAgICAgICAgc2VsZi5hc3QgPSBhc3QKLQotICAgIGRlZiB0eXBlc3RyaW5nKHNlbGYsIG5vZGUpOgotICAgICAgICByZXR1cm4gbm9kZS50eXBlCi0KLSAgICBkZWYgcHJ1bmUoc2VsZik6Ci0gICAgICAgIHJhaXNlIEdlbmVyaWNBU1RUcmF2ZXJzYWxQcnVuaW5nRXhjZXB0aW9uCi0KLSAgICBkZWYgcHJlb3JkZXIoc2VsZiwgbm9kZT1Ob25lKToKLSAgICAgICAgaWYgbm9kZSBpcyBOb25lOgotICAgICAgICAgICAgbm9kZSA9IHNlbGYuYXN0Ci0KLSAgICAgICAgdHJ5OgotICAgICAgICAgICAgbmFtZSA9ICduXycgKyBzZWxmLnR5cGVzdHJpbmcobm9kZSkKLSAgICAgICAgICAgIGlmIGhhc2F0dHIoc2VsZiwgbmFtZSk6Ci0gICAgICAgICAgICAgICAgZnVuYyA9IGdldGF0dHIoc2VsZiwgbmFtZSkKLSAgICAgICAgICAgICAgICBmdW5jKG5vZGUpCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIHNlbGYuZGVmYXVsdChub2RlKQotICAgICAgICBleGNlcHQgR2VuZXJpY0FTVFRyYXZlcnNhbFBydW5pbmdFeGNlcHRpb246Ci0gICAgICAgICAgICByZXR1cm4KLQotICAgICAgICBmb3Iga2lkIGluIG5vZGU6Ci0gICAgICAgICAgICBzZWxmLnByZW9yZGVyKGtpZCkKLQotICAgICAgICBuYW1lID0gbmFtZSArICdfZXhpdCcKLSAgICAgICAgaWYgaGFzYXR0cihzZWxmLCBuYW1lKToKLSAgICAgICAgICAgIGZ1bmMgPSBnZXRhdHRyKHNlbGYsIG5hbWUpCi0gICAgICAgICAgICBmdW5jKG5vZGUpCi0KLSAgICBkZWYgcG9zdG9yZGVyKHNlbGYsIG5vZGU9Tm9uZSk6Ci0gICAgICAgIGlmIG5vZGUgaXMgTm9uZToKLSAgICAgICAgICAgIG5vZGUgPSBzZWxmLmFzdAotCi0gICAgICAgIGZvciBraWQgaW4gbm9kZToKLSAgICAgICAgICAgIHNlbGYucG9zdG9yZGVyKGtpZCkKLQotICAgICAgICBuYW1lID0gJ25fJyArIHNlbGYudHlwZXN0cmluZyhub2RlKQotICAgICAgICBpZiBoYXNhdHRyKHNlbGYsIG5hbWUpOgotICAgICAgICAgICAgZnVuYyA9IGdldGF0dHIoc2VsZiwgbmFtZSkKLSAgICAgICAgICAgIGZ1bmMobm9kZSkKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHNlbGYuZGVmYXVsdChub2RlKQotCi0KLSAgICBkZWYgZGVmYXVsdChzZWxmLCBub2RlKToKLSAgICAgICAgcGFzcwotCi0jCi0jICBHZW5lcmljQVNUTWF0Y2hlci4gIEFTVCBub2RlcyBtdXN0IGhhdmUgIl9fZ2V0aXRlbV9fIiBhbmQgIl9fY21wX18iCi0jICBpbXBsZW1lbnRlZC4KLSMKLSMgIFhYWCAtIG1ha2VzIGFzc3VtcHRpb25zIGFib3V0IGhvdyBHZW5lcmljUGFyc2VyIHdhbGtzIHRoZSBwYXJzZSB0cmVlLgotIwotCi1jbGFzcyBHZW5lcmljQVNUTWF0Y2hlcihHZW5lcmljUGFyc2VyKToKLSAgICBkZWYgX19pbml0X18oc2VsZiwgc3RhcnQsIGFzdCk6Ci0gICAgICAgIEdlbmVyaWNQYXJzZXIuX19pbml0X18oc2VsZiwgc3RhcnQpCi0gICAgICAgIHNlbGYuYXN0ID0gYXN0Ci0KLSAgICBkZWYgcHJlcHJvY2VzcyhzZWxmLCBydWxlLCBmdW5jKToKLSAgICAgICAgcmViaW5kID0gbGFtYmRhIGZ1bmMsIHNlbGY9c2VsZjogXAotICAgICAgICAgICAgICAgICAgICAgICAgbGFtYmRhIGFyZ3MsIGZ1bmM9ZnVuYywgc2VsZj1zZWxmOiBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuZm91bmRNYXRjaChhcmdzLCBmdW5jKQotICAgICAgICBsaHMsIHJocyA9IHJ1bGUKLSAgICAgICAgcmhzbGlzdCA9IGxpc3QocmhzKQotICAgICAgICByaHNsaXN0LnJldmVyc2UoKQotCi0gICAgICAgIHJldHVybiAobGhzLCB0dXBsZShyaHNsaXN0KSksIHJlYmluZChmdW5jKQotCi0gICAgZGVmIGZvdW5kTWF0Y2goc2VsZiwgYXJncywgZnVuYyk6Ci0gICAgICAgIGZ1bmMoYXJnc1stMV0pCi0gICAgICAgIHJldHVybiBhcmdzWy0xXQotCi0gICAgZGVmIG1hdGNoX3Ioc2VsZiwgbm9kZSk6Ci0gICAgICAgIHNlbGYuaW5wdXQuaW5zZXJ0KDAsIG5vZGUpCi0gICAgICAgIGNoaWxkcmVuID0gMAotCi0gICAgICAgIGZvciBjaGlsZCBpbiBub2RlOgotICAgICAgICAgICAgaWYgY2hpbGRyZW4gPT0gMDoKLSAgICAgICAgICAgICAgICBzZWxmLmlucHV0Lmluc2VydCgwLCAnKCcpCi0gICAgICAgICAgICBjaGlsZHJlbiA9IGNoaWxkcmVuICsgMQotICAgICAgICAgICAgc2VsZi5tYXRjaF9yKGNoaWxkKQotCi0gICAgICAgIGlmIGNoaWxkcmVuID4gMDoKLSAgICAgICAgICAgIHNlbGYuaW5wdXQuaW5zZXJ0KDAsICcpJykKLQotICAgIGRlZiBtYXRjaChzZWxmLCBhc3Q9Tm9uZSk6Ci0gICAgICAgIGlmIGFzdCBpcyBOb25lOgotICAgICAgICAgICAgYXN0ID0gc2VsZi5hc3QKLSAgICAgICAgc2VsZi5pbnB1dCA9IFtdCi0KLSAgICAgICAgc2VsZi5tYXRjaF9yKGFzdCkKLSAgICAgICAgc2VsZi5wYXJzZShzZWxmLmlucHV0KQotCi0gICAgZGVmIHJlc29sdmUoc2VsZiwgbGlzdCk6Ci0gICAgICAgICMKLSAgICAgICAgIyAgUmVzb2x2ZSBhbWJpZ3VpdHkgaW4gZmF2b3Igb2YgdGhlIGxvbmdlc3QgUkhTLgotICAgICAgICAjCi0gICAgICAgIHJldHVybiBsaXN0Wy0xXQotCi1kZWYgX2R1bXAodG9rZW5zLCBzZXRzLCBzdGF0ZXMpOgotICAgIGZvciBpIGluIHJhbmdlKGxlbihzZXRzKSk6Ci0gICAgICAgIG91dHB1dCgnc2V0ICVkJyAlIGkpCi0gICAgICAgIGZvciBpdGVtIGluIHNldHNbaV06Ci0gICAgICAgICAgICBvdXRwdXQoJ1x0JywgaXRlbSkKLSAgICAgICAgICAgIGZvciAobGhzLCByaHMpLCBwb3MgaW4gc3RhdGVzW2l0ZW1bMF1dLml0ZW1zOgotICAgICAgICAgICAgICAgIG91dHB1dCgnXHRcdCcsIGxocywgJzo6PScsIGVuZD0nJykKLSAgICAgICAgICAgICAgICBvdXRwdXQoJyAnLmpvaW4ocmhzWzpwb3NdKSwgZW5kPScnKQotICAgICAgICAgICAgICAgIG91dHB1dCgnLicsIGVuZD0nJykKLSAgICAgICAgICAgICAgICBvdXRwdXQoJyAnLmpvaW4ocmhzW3BvczpdKSkKLSAgICAgICAgaWYgaSA8IGxlbih0b2tlbnMpOgotICAgICAgICAgICAgb3V0cHV0KCkKLSAgICAgICAgICAgIG91dHB1dCgndG9rZW4gJXMnICUgc3RyKHRva2Vuc1tpXSkpCi0gICAgICAgICAgICBvdXRwdXQoKQpkaWZmIC0tZ2l0IGEvUGFyc2VyL3Rva2VuaXplci5jIGIvUGFyc2VyL3Rva2VuaXplci5jCmluZGV4IDIyYWNjZDEuLmVmN2IxOWYgMTAwNjQ0Ci0tLSBhL1BhcnNlci90b2tlbml6ZXIuYworKysgYi9QYXJzZXIvdG9rZW5pemVyLmMKQEAgLTk4LDYgKzk4LDcgQEAKICAgICAiRE9VQkxFU0xBU0giLAogICAgICJET1VCTEVTTEFTSEVRVUFMIiwKICAgICAiQVQiLAorICAgICJBVEVRVUFMIiwKICAgICAiUkFSUk9XIiwKICAgICAiRUxMSVBTSVMiLAogICAgIC8qIFRoaXMgdGFibGUgbXVzdCBtYXRjaCB0aGUgI2RlZmluZXMgaW4gdG9rZW4uaCEgKi8KQEAgLTExMzEsNyArMTEzMiw3IEBACiAgICAgY2FzZSAnfSc6ICAgICAgICAgICByZXR1cm4gUkJSQUNFOwogICAgIGNhc2UgJ14nOiAgICAgICAgICAgcmV0dXJuIENJUkNVTUZMRVg7CiAgICAgY2FzZSAnfic6ICAgICAgICAgICByZXR1cm4gVElMREU7Ci0gICAgY2FzZSAnQCc6ICAgICAgIHJldHVybiBBVDsKKyAgICBjYXNlICdAJzogICAgICAgICAgIHJldHVybiBBVDsKICAgICBkZWZhdWx0OiAgICAgICAgICAgIHJldHVybiBPUDsKICAgICB9CiB9CkBAIC0xMjA3LDYgKzEyMDgsMTEgQEAKICAgICAgICAgY2FzZSAnPSc6ICAgICAgICAgICAgICAgcmV0dXJuIENJUkNVTUZMRVhFUVVBTDsKICAgICAgICAgfQogICAgICAgICBicmVhazsKKyAgICBjYXNlICdAJzoKKyAgICAgICAgc3dpdGNoIChjMikgeworICAgICAgICBjYXNlICc9JzogICAgICAgICAgICAgICByZXR1cm4gQVRFUVVBTDsKKyAgICAgICAgfQorICAgICAgICBicmVhazsKICAgICB9CiAgICAgcmV0dXJuIE9QOwogfQpkaWZmIC0tZ2l0IGEvUHJvZ3JhbXMvUkVBRE1FIGIvUHJvZ3JhbXMvUkVBRE1FCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmMyNDU3OGIKLS0tIC9kZXYvbnVsbAorKysgYi9Qcm9ncmFtcy9SRUFETUUKQEAgLTAsMCArMSBAQAorU291cmNlIGZpbGVzIGZvciBiaW5hcnkgZXhlY3V0YWJsZXMgKGFzIG9wcG9zZWQgdG8gc2hhcmVkIG1vZHVsZXMpCmRpZmYgLS1naXQgYS9Nb2R1bGVzL19mcmVlemVfaW1wb3J0bGliLmMgYi9Qcm9ncmFtcy9fZnJlZXplX2ltcG9ydGxpYi5jCnNpbWlsYXJpdHkgaW5kZXggOTclCnJlbmFtZSBmcm9tIE1vZHVsZXMvX2ZyZWV6ZV9pbXBvcnRsaWIuYwpyZW5hbWUgdG8gUHJvZ3JhbXMvX2ZyZWV6ZV9pbXBvcnRsaWIuYwppbmRleCA1N2IxYWMwLi5iODg5OWVjIDEwMDY0NAotLS0gYS9Nb2R1bGVzL19mcmVlemVfaW1wb3J0bGliLmMKKysrIGIvUHJvZ3JhbXMvX2ZyZWV6ZV9pbXBvcnRsaWIuYwpAQCAtMjgsNyArMjgsNyBAQAogY29uc3Qgc3RydWN0IF9mcm96ZW4gKlB5SW1wb3J0X0Zyb3plbk1vZHVsZXM7CiAjZW5kaWYKIAotY29uc3QgY2hhciBoZWFkZXJbXSA9ICIvKiBBdXRvLWdlbmVyYXRlZCBieSBNb2R1bGVzL19mcmVlemVfaW1wb3J0bGliLmMgKi8iOworY29uc3QgY2hhciBoZWFkZXJbXSA9ICIvKiBBdXRvLWdlbmVyYXRlZCBieSBQcm9ncmFtcy9fZnJlZXplX2ltcG9ydGxpYi5jICovIjsKIAogaW50CiBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCmRpZmYgLS1naXQgYS9Nb2R1bGVzL190ZXN0ZW1iZWQuYyBiL1Byb2dyYW1zL190ZXN0ZW1iZWQuYwpzaW1pbGFyaXR5IGluZGV4IDk2JQpyZW5hbWUgZnJvbSBNb2R1bGVzL190ZXN0ZW1iZWQuYwpyZW5hbWUgdG8gUHJvZ3JhbXMvX3Rlc3RlbWJlZC5jCmluZGV4IGEyMWQyNTEuLjM5ZmYwOTcgMTAwNjQ0Ci0tLSBhL01vZHVsZXMvX3Rlc3RlbWJlZC5jCisrKyBiL1Byb2dyYW1zL190ZXN0ZW1iZWQuYwpAQCAtMTA5LDExICsxMDksMTEgQEAKICAgICBwcmludGYoIi0tLSBVc2UgZGVmYXVsdHMgLS0tXG4iKTsKICAgICBjaGVja19zdGRpb19kZXRhaWxzKE5VTEwsIE5VTEwpOwogICAgIHByaW50ZigiLS0tIFNldCBlcnJvcnMgb25seSAtLS1cbiIpOwotICAgIGNoZWNrX3N0ZGlvX2RldGFpbHMoTlVMTCwgInN1cnJvZ2F0ZWVzY2FwZSIpOworICAgIGNoZWNrX3N0ZGlvX2RldGFpbHMoTlVMTCwgImlnbm9yZSIpOwogICAgIHByaW50ZigiLS0tIFNldCBlbmNvZGluZyBvbmx5IC0tLVxuIik7CiAgICAgY2hlY2tfc3RkaW9fZGV0YWlscygibGF0aW4tMSIsIE5VTEwpOwogICAgIHByaW50ZigiLS0tIFNldCBlbmNvZGluZyBhbmQgZXJyb3JzIC0tLVxuIik7Ci0gICAgY2hlY2tfc3RkaW9fZGV0YWlscygibGF0aW4tMSIsICJzdXJyb2dhdGVlc2NhcGUiKTsKKyAgICBjaGVja19zdGRpb19kZXRhaWxzKCJsYXRpbi0xIiwgInJlcGxhY2UiKTsKIAogICAgIC8qIENoZWNrIGNhbGxpbmcgYWZ0ZXIgaW5pdGlhbGl6YXRpb24gZmFpbHMgKi8KICAgICBQeV9Jbml0aWFsaXplKCk7CmRpZmYgLS1naXQgYS9Nb2R1bGVzL3B5dGhvbi5jIGIvUHJvZ3JhbXMvcHl0aG9uLmMKc2ltaWxhcml0eSBpbmRleCA5NiUKcmVuYW1lIGZyb20gTW9kdWxlcy9weXRob24uYwpyZW5hbWUgdG8gUHJvZ3JhbXMvcHl0aG9uLmMKaW5kZXggOTgxMWMwMS4uMmU1ZTRlMyAxMDA2NDQKLS0tIGEvTW9kdWxlcy9weXRob24uYworKysgYi9Qcm9ncmFtcy9weXRob24uYwpAQCAtNTIsNyArNTIsNyBAQAogCiAgICAgc2V0bG9jYWxlKExDX0FMTCwgIiIpOwogICAgIGZvciAoaSA9IDA7IGkgPCBhcmdjOyBpKyspIHsKLSAgICAgICAgYXJndl9jb3B5W2ldID0gX1B5X2NoYXIyd2NoYXIoYXJndltpXSwgTlVMTCk7CisgICAgICAgIGFyZ3ZfY29weVtpXSA9IFB5X0RlY29kZUxvY2FsZShhcmd2W2ldLCBOVUxMKTsKICAgICAgICAgaWYgKCFhcmd2X2NvcHlbaV0pIHsKICAgICAgICAgICAgIFB5TWVtX1Jhd0ZyZWUob2xkbG9jKTsKICAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAiRmF0YWwgUHl0aG9uIGVycm9yOiAiCmRpZmYgLS1naXQgYS9QeXRob24vUHl0aG9uLWFzdC5jIGIvUHl0aG9uL1B5dGhvbi1hc3QuYwppbmRleCA0NGZkYWZjLi45OTRlNzIxIDEwMDY0NAotLS0gYS9QeXRob24vUHl0aG9uLWFzdC5jCisrKyBiL1B5dGhvbi9QeXRob24tYXN0LmMKQEAgLTM0OSwxMyArMzQ5LDE0IEBACiBzdGF0aWMgUHlUeXBlT2JqZWN0ICpPcl90eXBlOwogc3RhdGljIFB5VHlwZU9iamVjdCAqb3BlcmF0b3JfdHlwZTsKIHN0YXRpYyBQeU9iamVjdCAqQWRkX3NpbmdsZXRvbiwgKlN1Yl9zaW5nbGV0b24sICpNdWx0X3NpbmdsZXRvbiwKLSpEaXZfc2luZ2xldG9uLCAqTW9kX3NpbmdsZXRvbiwgKlBvd19zaW5nbGV0b24sICpMU2hpZnRfc2luZ2xldG9uLAotKlJTaGlmdF9zaW5nbGV0b24sICpCaXRPcl9zaW5nbGV0b24sICpCaXRYb3Jfc2luZ2xldG9uLCAqQml0QW5kX3NpbmdsZXRvbiwKLSpGbG9vckRpdl9zaW5nbGV0b247CisqTWF0TXVsdF9zaW5nbGV0b24sICpEaXZfc2luZ2xldG9uLCAqTW9kX3NpbmdsZXRvbiwgKlBvd19zaW5nbGV0b24sCisqTFNoaWZ0X3NpbmdsZXRvbiwgKlJTaGlmdF9zaW5nbGV0b24sICpCaXRPcl9zaW5nbGV0b24sICpCaXRYb3Jfc2luZ2xldG9uLAorKkJpdEFuZF9zaW5nbGV0b24sICpGbG9vckRpdl9zaW5nbGV0b247CiBzdGF0aWMgUHlPYmplY3QqIGFzdDJvYmpfb3BlcmF0b3Iob3BlcmF0b3JfdHkpOwogc3RhdGljIFB5VHlwZU9iamVjdCAqQWRkX3R5cGU7CiBzdGF0aWMgUHlUeXBlT2JqZWN0ICpTdWJfdHlwZTsKIHN0YXRpYyBQeVR5cGVPYmplY3QgKk11bHRfdHlwZTsKK3N0YXRpYyBQeVR5cGVPYmplY3QgKk1hdE11bHRfdHlwZTsKIHN0YXRpYyBQeVR5cGVPYmplY3QgKkRpdl90eXBlOwogc3RhdGljIFB5VHlwZU9iamVjdCAqTW9kX3R5cGU7CiBzdGF0aWMgUHlUeXBlT2JqZWN0ICpQb3dfdHlwZTsKQEAgLTk3MCw2ICs5NzEsMTAgQEAKICAgICBpZiAoIU11bHRfdHlwZSkgcmV0dXJuIDA7CiAgICAgTXVsdF9zaW5nbGV0b24gPSBQeVR5cGVfR2VuZXJpY05ldyhNdWx0X3R5cGUsIE5VTEwsIE5VTEwpOwogICAgIGlmICghTXVsdF9zaW5nbGV0b24pIHJldHVybiAwOworICAgIE1hdE11bHRfdHlwZSA9IG1ha2VfdHlwZSgiTWF0TXVsdCIsIG9wZXJhdG9yX3R5cGUsIE5VTEwsIDApOworICAgIGlmICghTWF0TXVsdF90eXBlKSByZXR1cm4gMDsKKyAgICBNYXRNdWx0X3NpbmdsZXRvbiA9IFB5VHlwZV9HZW5lcmljTmV3KE1hdE11bHRfdHlwZSwgTlVMTCwgTlVMTCk7CisgICAgaWYgKCFNYXRNdWx0X3NpbmdsZXRvbikgcmV0dXJuIDA7CiAgICAgRGl2X3R5cGUgPSBtYWtlX3R5cGUoIkRpdiIsIG9wZXJhdG9yX3R5cGUsIE5VTEwsIDApOwogICAgIGlmICghRGl2X3R5cGUpIHJldHVybiAwOwogICAgIERpdl9zaW5nbGV0b24gPSBQeVR5cGVfR2VuZXJpY05ldyhEaXZfdHlwZSwgTlVMTCwgTlVMTCk7CkBAIC0zMjMyLDYgKzMyMzcsOSBAQAogICAgICAgICBjYXNlIE11bHQ6CiAgICAgICAgICAgICBQeV9JTkNSRUYoTXVsdF9zaW5nbGV0b24pOwogICAgICAgICAgICAgcmV0dXJuIE11bHRfc2luZ2xldG9uOworICAgICAgICBjYXNlIE1hdE11bHQ6CisgICAgICAgICAgICBQeV9JTkNSRUYoTWF0TXVsdF9zaW5nbGV0b24pOworICAgICAgICAgICAgcmV0dXJuIE1hdE11bHRfc2luZ2xldG9uOwogICAgICAgICBjYXNlIERpdjoKICAgICAgICAgICAgIFB5X0lOQ1JFRihEaXZfc2luZ2xldG9uKTsKICAgICAgICAgICAgIHJldHVybiBEaXZfc2luZ2xldG9uOwpAQCAtNjE3NSw2ICs2MTgzLDE0IEBACiAgICAgICAgICpvdXQgPSBNdWx0OwogICAgICAgICByZXR1cm4gMDsKICAgICB9CisgICAgaXNpbnN0YW5jZSA9IFB5T2JqZWN0X0lzSW5zdGFuY2Uob2JqLCAoUHlPYmplY3QgKilNYXRNdWx0X3R5cGUpOworICAgIGlmIChpc2luc3RhbmNlID09IC0xKSB7CisgICAgICAgIHJldHVybiAxOworICAgIH0KKyAgICBpZiAoaXNpbnN0YW5jZSkgeworICAgICAgICAqb3V0ID0gTWF0TXVsdDsKKyAgICAgICAgcmV0dXJuIDA7CisgICAgfQogICAgIGlzaW5zdGFuY2UgPSBQeU9iamVjdF9Jc0luc3RhbmNlKG9iaiwgKFB5T2JqZWN0ICopRGl2X3R5cGUpOwogICAgIGlmIChpc2luc3RhbmNlID09IC0xKSB7CiAgICAgICAgIHJldHVybiAxOwpAQCAtNjk1Niw2ICs2OTcyLDggQEAKICAgICBpZiAoUHlEaWN0X1NldEl0ZW1TdHJpbmcoZCwgIkFkZCIsIChQeU9iamVjdCopQWRkX3R5cGUpIDwgMCkgcmV0dXJuIE5VTEw7CiAgICAgaWYgKFB5RGljdF9TZXRJdGVtU3RyaW5nKGQsICJTdWIiLCAoUHlPYmplY3QqKVN1Yl90eXBlKSA8IDApIHJldHVybiBOVUxMOwogICAgIGlmIChQeURpY3RfU2V0SXRlbVN0cmluZyhkLCAiTXVsdCIsIChQeU9iamVjdCopTXVsdF90eXBlKSA8IDApIHJldHVybiBOVUxMOworICAgIGlmIChQeURpY3RfU2V0SXRlbVN0cmluZyhkLCAiTWF0TXVsdCIsIChQeU9iamVjdCopTWF0TXVsdF90eXBlKSA8IDApIHJldHVybgorICAgICAgICBOVUxMOwogICAgIGlmIChQeURpY3RfU2V0SXRlbVN0cmluZyhkLCAiRGl2IiwgKFB5T2JqZWN0KilEaXZfdHlwZSkgPCAwKSByZXR1cm4gTlVMTDsKICAgICBpZiAoUHlEaWN0X1NldEl0ZW1TdHJpbmcoZCwgIk1vZCIsIChQeU9iamVjdCopTW9kX3R5cGUpIDwgMCkgcmV0dXJuIE5VTEw7CiAgICAgaWYgKFB5RGljdF9TZXRJdGVtU3RyaW5nKGQsICJQb3ciLCAoUHlPYmplY3QqKVBvd190eXBlKSA8IDApIHJldHVybiBOVUxMOwpkaWZmIC0tZ2l0IGEvUHl0aG9uL1JFQURNRSBiL1B5dGhvbi9SRUFETUUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTUzYjYyOAotLS0gL2Rldi9udWxsCisrKyBiL1B5dGhvbi9SRUFETUUKQEAgLTAsMCArMSBAQAorTWlzY2VsbGFuZW91cyBzb3VyY2UgZmlsZXMgZm9yIHRoZSBtYWluIFB5dGhvbiBzaGFyZWQgbGlicmFyeQpkaWZmIC0tZ2l0IGEvUHl0aG9uL193YXJuaW5ncy5jIGIvUHl0aG9uL193YXJuaW5ncy5jCmluZGV4IGJlZjU2NDcuLmExZjQzNjggMTAwNjQ0Ci0tLSBhL1B5dGhvbi9fd2FybmluZ3MuYworKysgYi9QeXRob24vX3dhcm5pbmdzLmMKQEAgLTYzNywxNiArNjM3LDE3IEBACiAKICAgICBpZiAocmMgPT0gMSkKICAgICAgICAgY2F0ZWdvcnkgPSAoUHlPYmplY3QqKW1lc3NhZ2UtPm9iX3R5cGU7Ci0gICAgZWxzZSBpZiAoY2F0ZWdvcnkgPT0gTlVMTCkKKyAgICBlbHNlIGlmIChjYXRlZ29yeSA9PSBOVUxMIHx8IGNhdGVnb3J5ID09IFB5X05vbmUpCiAgICAgICAgIGNhdGVnb3J5ID0gUHlFeGNfVXNlcldhcm5pbmc7CiAKICAgICAvKiBWYWxpZGF0ZSBjYXRlZ29yeS4gKi8KICAgICByYyA9IFB5T2JqZWN0X0lzU3ViY2xhc3MoY2F0ZWdvcnksIFB5RXhjX1dhcm5pbmcpOwotICAgIGlmIChyYyA9PSAtMSkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgaWYgKHJjID09IDApIHsKLSAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsCi0gICAgICAgICAgICAgICAgICAgICAgICAiY2F0ZWdvcnkgaXMgbm90IGEgc3ViY2xhc3Mgb2YgV2FybmluZyIpOworICAgIC8qIGNhdGVnb3J5IGlzIG5vdCBhIHN1YmNsYXNzIG9mIFB5RXhjX1dhcm5pbmcgb3IKKyAgICAgICBQeU9iamVjdF9Jc1N1YmNsYXNzIHJhaXNlZCBhbiBlcnJvciAqLworICAgIGlmIChyYyA9PSAtMSB8fCByYyA9PSAwKSB7CisgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19UeXBlRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAiY2F0ZWdvcnkgbXVzdCBiZSBhIFdhcm5pbmcgc3ViY2xhc3MsIG5vdCAnJXMnIiwKKyAgICAgICAgICAgICAgICAgICAgIFB5X1RZUEUoY2F0ZWdvcnkpLT50cF9uYW1lKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQogCmRpZmYgLS1naXQgYS9QeXRob24vYXNkbC5jIGIvUHl0aG9uL2FzZGwuYwppbmRleCA3NGZhOTQxLi5kZjM4N2IyIDEwMDY0NAotLS0gYS9QeXRob24vYXNkbC5jCisrKyBiL1B5dGhvbi9hc2RsLmMKQEAgLTUsMjEgKzUsMjEgQEAKIF9QeV9hc2RsX3NlcV9uZXcoUHlfc3NpemVfdCBzaXplLCBQeUFyZW5hICphcmVuYSkKIHsKICAgICBhc2RsX3NlcSAqc2VxID0gTlVMTDsKLSAgICBzaXplX3QgbiA9IChzaXplID8gKHNpemVvZih2b2lkICopICogKHNpemUgLSAxKSkgOiAwKTsKKyAgICBzaXplX3QgbjsKIAogICAgIC8qIGNoZWNrIHNpemUgaXMgc2FuZSAqLwotICAgIGlmIChzaXplIDwgMCB8fCBzaXplID09IElOVF9NSU4gfHwKLSAgICAgICAgKHNpemUgJiYgKChzaXplIC0gMSkgPiAoUFlfU0laRV9NQVggLyBzaXplb2Yodm9pZCAqKSkpKSkgeworICAgIGlmIChzaXplIDwgMCB8fAorICAgICAgICAoc2l6ZSAmJiAoKChzaXplX3Qpc2l6ZSAtIDEpID4gKFBZX1NJWkVfTUFYIC8gc2l6ZW9mKHZvaWQgKikpKSkpIHsKICAgICAgICAgUHlFcnJfTm9NZW1vcnkoKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQorICAgIG4gPSAoc2l6ZSA/IChzaXplb2Yodm9pZCAqKSAqIChzaXplIC0gMSkpIDogMCk7CiAKICAgICAvKiBjaGVjayBpZiBzaXplIGNhbiBiZSBhZGRlZCBzYWZlbHkgKi8KICAgICBpZiAobiA+IFBZX1NJWkVfTUFYIC0gc2l6ZW9mKGFzZGxfc2VxKSkgewogICAgICAgICBQeUVycl9Ob01lbW9yeSgpOwogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9Ci0KICAgICBuICs9IHNpemVvZihhc2RsX3NlcSk7CiAKICAgICBzZXEgPSAoYXNkbF9zZXEgKilQeUFyZW5hX01hbGxvYyhhcmVuYSwgbik7CkBAIC0zNiwyMSArMzYsMjEgQEAKIF9QeV9hc2RsX2ludF9zZXFfbmV3KFB5X3NzaXplX3Qgc2l6ZSwgUHlBcmVuYSAqYXJlbmEpCiB7CiAgICAgYXNkbF9pbnRfc2VxICpzZXEgPSBOVUxMOwotICAgIHNpemVfdCBuID0gKHNpemUgPyAoc2l6ZW9mKHZvaWQgKikgKiAoc2l6ZSAtIDEpKSA6IDApOworICAgIHNpemVfdCBuOwogCiAgICAgLyogY2hlY2sgc2l6ZSBpcyBzYW5lICovCi0gICAgaWYgKHNpemUgPCAwIHx8IHNpemUgPT0gSU5UX01JTiB8fAotICAgICAgICAoc2l6ZSAmJiAoKHNpemUgLSAxKSA+IChQWV9TSVpFX01BWCAvIHNpemVvZih2b2lkICopKSkpKSB7CisgICAgaWYgKHNpemUgPCAwIHx8CisgICAgICAgIChzaXplICYmICgoKHNpemVfdClzaXplIC0gMSkgPiAoUFlfU0laRV9NQVggLyBzaXplb2Yodm9pZCAqKSkpKSkgewogICAgICAgICAgICAgUHlFcnJfTm9NZW1vcnkoKTsKICAgICAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KKyAgICBuID0gKHNpemUgPyAoc2l6ZW9mKHZvaWQgKikgKiAoc2l6ZSAtIDEpKSA6IDApOwogCiAgICAgLyogY2hlY2sgaWYgc2l6ZSBjYW4gYmUgYWRkZWQgc2FmZWx5ICovCiAgICAgaWYgKG4gPiBQWV9TSVpFX01BWCAtIHNpemVvZihhc2RsX3NlcSkpIHsKICAgICAgICAgUHlFcnJfTm9NZW1vcnkoKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQotCiAgICAgbiArPSBzaXplb2YoYXNkbF9zZXEpOwogCiAgICAgc2VxID0gKGFzZGxfaW50X3NlcSAqKVB5QXJlbmFfTWFsbG9jKGFyZW5hLCBuKTsKZGlmZiAtLWdpdCBhL1B5dGhvbi9hc3QuYyBiL1B5dGhvbi9hc3QuYwppbmRleCBkNTBjYjgwLi4yZjFhZTYwIDEwMDY0NAotLS0gYS9QeXRob24vYXN0LmMKKysrIGIvUHl0aG9uL2FzdC5jCkBAIC04MjUsNiArODI1LDggQEAKICAgICAgICAgICAgIHJldHVybiBTdWI7CiAgICAgICAgIGNhc2UgU1RBUjoKICAgICAgICAgICAgIHJldHVybiBNdWx0OworICAgICAgICBjYXNlIEFUOgorICAgICAgICAgICAgcmV0dXJuIE1hdE11bHQ7CiAgICAgICAgIGNhc2UgU0xBU0g6CiAgICAgICAgICAgICByZXR1cm4gRGl2OwogICAgICAgICBjYXNlIERPVUJMRVNMQVNIOgpAQCAtMTAzMCw2ICsxMDMyLDggQEAKICAgICAgICAgICAgICAgICByZXR1cm4gUG93OwogICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgIHJldHVybiBNdWx0OworICAgICAgICBjYXNlICdAJzoKKyAgICAgICAgICAgIHJldHVybiBNYXRNdWx0OwogICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX1N5c3RlbUVycm9yLCAiaW52YWxpZCBhdWdhc3NpZ246ICVzIiwgU1RSKG4pKTsKICAgICAgICAgICAgIHJldHVybiAob3BlcmF0b3JfdHkpMDsKQEAgLTIyNTcsNyArMjI2MSw3IEBACiAgICAgICAgYW5kX2V4cHI6IHNoaWZ0X2V4cHIgKCcmJyBzaGlmdF9leHByKSoKICAgICAgICBzaGlmdF9leHByOiBhcml0aF9leHByICgoJzw8J3wnPj4nKSBhcml0aF9leHByKSoKICAgICAgICBhcml0aF9leHByOiB0ZXJtICgoJysnfCctJykgdGVybSkqCi0gICAgICAgdGVybTogZmFjdG9yICgoJyonfCcvJ3wnJSd8Jy8vJykgZmFjdG9yKSoKKyAgICAgICB0ZXJtOiBmYWN0b3IgKCgnKid8J0AnfCcvJ3wnJSd8Jy8vJykgZmFjdG9yKSoKICAgICAgICBmYWN0b3I6ICgnKyd8Jy0nfCd+JykgZmFjdG9yIHwgcG93ZXIKICAgICAgICBwb3dlcjogYXRvbSB0cmFpbGVyKiAoJyoqJyBmYWN0b3IpKgogICAgICovCkBAIC0yNTY4LDcgKzI1NzIsNyBAQAogICAgIC8qIGV4cHJfc3RtdDogdGVzdGxpc3Rfc3Rhcl9leHByIChhdWdhc3NpZ24gKHlpZWxkX2V4cHJ8dGVzdGxpc3QpCiAgICAgICAgICAgICAgICAgfCAoJz0nICh5aWVsZF9leHByfHRlc3RsaXN0KSkqKQogICAgICAgIHRlc3RsaXN0X3N0YXJfZXhwcjogKHRlc3R8c3Rhcl9leHByKSAoJywnIHRlc3R8c3Rhcl9leHByKSogWycsJ10KLSAgICAgICBhdWdhc3NpZ246ICcrPScgfCAnLT0nIHwgJyo9JyB8ICcvPScgfCAnJT0nIHwgJyY9JyB8ICd8PScgfCAnXj0nCisgICAgICAgYXVnYXNzaWduOiAnKz0nIHwgJy09JyB8ICcqPScgfCAnQD0nIHwgJy89JyB8ICclPScgfCAnJj0nIHwgJ3w9JyB8ICdePScKICAgICAgICAgICAgICAgICB8ICc8PD0nIHwgJz4+PScgfCAnKio9JyB8ICcvLz0nCiAgICAgICAgdGVzdDogLi4uIGhlcmUgc3RhcnRzIHRoZSBvcGVyYXRvciBwcmVjZW5kZW5jZSBkYW5jZQogICAgICAqLwpkaWZmIC0tZ2l0IGEvUHl0aG9uL2JsdGlubW9kdWxlLmMgYi9QeXRob24vYmx0aW5tb2R1bGUuYwppbmRleCA0YjRmOTc5Li5mOWJiMzg4IDEwMDY0NAotLS0gYS9QeXRob24vYmx0aW5tb2R1bGUuYworKysgYi9QeXRob24vYmx0aW5tb2R1bGUuYwpAQCAtNDYsNiArNDYsNyBAQAogX1B5X0lERU5USUZJRVIoc3Rkb3V0KTsKIF9QeV9JREVOVElGSUVSKHN0ZGVycik7CiAKKy8qIEFDOiBjYW5ub3QgY29udmVydCB5ZXQsIHdhaXRpbmcgZm9yICphcmdzIHN1cHBvcnQgKi8KIHN0YXRpYyBQeU9iamVjdCAqCiBidWlsdGluX19fYnVpbGRfY2xhc3NfXyhQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2RzKQogewpAQCAtMjI5LDI1ICsyMzAsNjIgQEAKIGlzIHRoZSBudW1iZXIgb2YgcGFyZW50IGRpcmVjdG9yaWVzIHRvIHNlYXJjaCByZWxhdGl2ZSB0byB0aGUgY3VycmVudCBtb2R1bGUuIik7CiAKIAorLypbY2xpbmljIGlucHV0XQorYWJzIGFzIGJ1aWx0aW5fYWJzCisKKyAgICB4OiAnTycKKyAgICAvCisKK1JldHVybiB0aGUgYWJzb2x1dGUgdmFsdWUgb2YgdGhlIGFyZ3VtZW50LgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIoYnVpbHRpbl9hYnNfX2RvY19fLAorImFicygkbW9kdWxlLCB4LCAvKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJuIHRoZSBhYnNvbHV0ZSB2YWx1ZSBvZiB0aGUgYXJndW1lbnQuIik7CisKKyNkZWZpbmUgQlVJTFRJTl9BQlNfTUVUSE9EREVGICAgIFwKKyAgICB7ImFicyIsIChQeUNGdW5jdGlvbilidWlsdGluX2FicywgTUVUSF9PLCBidWlsdGluX2Fic19fZG9jX199LAorCiBzdGF0aWMgUHlPYmplY3QgKgotYnVpbHRpbl9hYnMoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICp2KQorYnVpbHRpbl9hYnMoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKngpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9Zjg1MDk1NTI4Y2U3ZTJlNSBpbnB1dD1hYTI5Y2MwNzg2OWI0NzMyXSovCiB7Ci0gICAgcmV0dXJuIFB5TnVtYmVyX0Fic29sdXRlKHYpOworICAgIHJldHVybiBQeU51bWJlcl9BYnNvbHV0ZSh4KTsKIH0KIAotUHlEb2NfU1RSVkFSKGFic19kb2MsCi0iYWJzKG51bWJlcikgLT4gbnVtYmVyXG5cCi1cblwKLVJldHVybiB0aGUgYWJzb2x1dGUgdmFsdWUgb2YgdGhlIGFyZ3VtZW50LiIpOworLypbY2xpbmljIGlucHV0XQorYWxsIGFzIGJ1aWx0aW5fYWxsCisKKyAgICBpdGVyYWJsZTogJ08nCisgICAgLworCitSZXR1cm4gVHJ1ZSBpZiBib29sKHgpIGlzIFRydWUgZm9yIGFsbCB2YWx1ZXMgeCBpbiB0aGUgaXRlcmFibGUuCisKK0lmIHRoZSBpdGVyYWJsZSBpcyBlbXB0eSwgcmV0dXJuIFRydWUuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihidWlsdGluX2FsbF9fZG9jX18sCisiYWxsKCRtb2R1bGUsIGl0ZXJhYmxlLCAvKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJuIFRydWUgaWYgYm9vbCh4KSBpcyBUcnVlIGZvciBhbGwgdmFsdWVzIHggaW4gdGhlIGl0ZXJhYmxlLlxuIgorIlxuIgorIklmIHRoZSBpdGVyYWJsZSBpcyBlbXB0eSwgcmV0dXJuIFRydWUuIik7CisKKyNkZWZpbmUgQlVJTFRJTl9BTExfTUVUSE9EREVGICAgIFwKKyAgICB7ImFsbCIsIChQeUNGdW5jdGlvbilidWlsdGluX2FsbCwgTUVUSF9PLCBidWlsdGluX2FsbF9fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotYnVpbHRpbl9hbGwoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICp2KQorYnVpbHRpbl9hbGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKml0ZXJhYmxlKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWQwMDFkYjczOWJhODNiNDYgaW5wdXQ9ZGQ1MDZkYzk5OThkNDJiZF0qLwogewogICAgIFB5T2JqZWN0ICppdCwgKml0ZW07CiAgICAgUHlPYmplY3QgKigqaXRlcm5leHQpKFB5T2JqZWN0ICopOwogICAgIGludCBjbXA7CiAKLSAgICBpdCA9IFB5T2JqZWN0X0dldEl0ZXIodik7CisgICAgaXQgPSBQeU9iamVjdF9HZXRJdGVyKGl0ZXJhYmxlKTsKICAgICBpZiAoaXQgPT0gTlVMTCkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgaXRlcm5leHQgPSAqUHlfVFlQRShpdCktPnRwX2l0ZXJuZXh0OwpAQCAtMjc3LDIwICszMTUsMzcgQEAKICAgICBQeV9SRVRVUk5fVFJVRTsKIH0KIAotUHlEb2NfU1RSVkFSKGFsbF9kb2MsCi0iYWxsKGl0ZXJhYmxlKSAtPiBib29sXG5cCi1cblwKLVJldHVybiBUcnVlIGlmIGJvb2woeCkgaXMgVHJ1ZSBmb3IgYWxsIHZhbHVlcyB4IGluIHRoZSBpdGVyYWJsZS5cblwKLUlmIHRoZSBpdGVyYWJsZSBpcyBlbXB0eSwgcmV0dXJuIFRydWUuIik7CisvKltjbGluaWMgaW5wdXRdCithbnkgYXMgYnVpbHRpbl9hbnkKKworICAgIGl0ZXJhYmxlOiAnTycKKyAgICAvCisKK1JldHVybiBUcnVlIGlmIGJvb2woeCkgaXMgVHJ1ZSBmb3IgYW55IHggaW4gdGhlIGl0ZXJhYmxlLgorCitJZiB0aGUgaXRlcmFibGUgaXMgZW1wdHksIHJldHVybiBGYWxzZS4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKGJ1aWx0aW5fYW55X19kb2NfXywKKyJhbnkoJG1vZHVsZSwgaXRlcmFibGUsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJSZXR1cm4gVHJ1ZSBpZiBib29sKHgpIGlzIFRydWUgZm9yIGFueSB4IGluIHRoZSBpdGVyYWJsZS5cbiIKKyJcbiIKKyJJZiB0aGUgaXRlcmFibGUgaXMgZW1wdHksIHJldHVybiBGYWxzZS4iKTsKKworI2RlZmluZSBCVUlMVElOX0FOWV9NRVRIT0RERUYgICAgXAorICAgIHsiYW55IiwgKFB5Q0Z1bmN0aW9uKWJ1aWx0aW5fYW55LCBNRVRIX08sIGJ1aWx0aW5fYW55X19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1idWlsdGluX2FueShQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKnYpCitidWlsdGluX2FueShQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqaXRlcmFibGUpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9M2E0YjZkYmU2YTBkNmY2MSBpbnB1dD04ZmU4NDYwZjNmYmJjZWQ4XSovCiB7CiAgICAgUHlPYmplY3QgKml0LCAqaXRlbTsKICAgICBQeU9iamVjdCAqKCppdGVybmV4dCkoUHlPYmplY3QgKik7CiAgICAgaW50IGNtcDsKIAotICAgIGl0ID0gUHlPYmplY3RfR2V0SXRlcih2KTsKKyAgICBpdCA9IFB5T2JqZWN0X0dldEl0ZXIoaXRlcmFibGUpOwogICAgIGlmIChpdCA9PSBOVUxMKQogICAgICAgICByZXR1cm4gTlVMTDsKICAgICBpdGVybmV4dCA9ICpQeV9UWVBFKGl0KS0+dHBfaXRlcm5leHQ7CkBAIC0zMjAsNTYgKzM3NSwxMDUgQEAKICAgICBQeV9SRVRVUk5fRkFMU0U7CiB9CiAKLVB5RG9jX1NUUlZBUihhbnlfZG9jLAotImFueShpdGVyYWJsZSkgLT4gYm9vbFxuXAotXG5cCi1SZXR1cm4gVHJ1ZSBpZiBib29sKHgpIGlzIFRydWUgZm9yIGFueSB4IGluIHRoZSBpdGVyYWJsZS5cblwKLUlmIHRoZSBpdGVyYWJsZSBpcyBlbXB0eSwgcmV0dXJuIEZhbHNlLiIpOworLypbY2xpbmljIGlucHV0XQorYXNjaWkgYXMgYnVpbHRpbl9hc2NpaQorCisgICAgb2JqOiAnTycKKyAgICAvCisKK1JldHVybiBhbiBBU0NJSS1vbmx5IHJlcHJlc2VudGF0aW9uIG9mIGFuIG9iamVjdC4KKworQXMgcmVwcigpLCByZXR1cm4gYSBzdHJpbmcgY29udGFpbmluZyBhIHByaW50YWJsZSByZXByZXNlbnRhdGlvbiBvZiBhbgorb2JqZWN0LCBidXQgZXNjYXBlIHRoZSBub24tQVNDSUkgY2hhcmFjdGVycyBpbiB0aGUgc3RyaW5nIHJldHVybmVkIGJ5CityZXByKCkgdXNpbmcgXFx4LCBcXHUgb3IgXFxVIGVzY2FwZXMuIFRoaXMgZ2VuZXJhdGVzIGEgc3RyaW5nIHNpbWlsYXIKK3RvIHRoYXQgcmV0dXJuZWQgYnkgcmVwcigpIGluIFB5dGhvbiAyLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIoYnVpbHRpbl9hc2NpaV9fZG9jX18sCisiYXNjaWkoJG1vZHVsZSwgb2JqLCAvKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJuIGFuIEFTQ0lJLW9ubHkgcmVwcmVzZW50YXRpb24gb2YgYW4gb2JqZWN0LlxuIgorIlxuIgorIkFzIHJlcHIoKSwgcmV0dXJuIGEgc3RyaW5nIGNvbnRhaW5pbmcgYSBwcmludGFibGUgcmVwcmVzZW50YXRpb24gb2YgYW5cbiIKKyJvYmplY3QsIGJ1dCBlc2NhcGUgdGhlIG5vbi1BU0NJSSBjaGFyYWN0ZXJzIGluIHRoZSBzdHJpbmcgcmV0dXJuZWQgYnlcbiIKKyJyZXByKCkgdXNpbmcgXFxcXHgsIFxcXFx1IG9yIFxcXFxVIGVzY2FwZXMuIFRoaXMgZ2VuZXJhdGVzIGEgc3RyaW5nIHNpbWlsYXJcbiIKKyJ0byB0aGF0IHJldHVybmVkIGJ5IHJlcHIoKSBpbiBQeXRob24gMi4iKTsKKworI2RlZmluZSBCVUlMVElOX0FTQ0lJX01FVEhPRERFRiAgICBcCisgICAgeyJhc2NpaSIsIChQeUNGdW5jdGlvbilidWlsdGluX2FzY2lpLCBNRVRIX08sIGJ1aWx0aW5fYXNjaWlfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLWJ1aWx0aW5fYXNjaWkoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICp2KQorYnVpbHRpbl9hc2NpaShQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqb2JqKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWYwZTY3NTQxNTRjMmQzMGIgaW5wdXQ9MGNiZGMxNDIwYTMwNjMyNV0qLwogewotICAgIHJldHVybiBQeU9iamVjdF9BU0NJSSh2KTsKKyAgICByZXR1cm4gUHlPYmplY3RfQVNDSUkob2JqKTsKIH0KIAotUHlEb2NfU1RSVkFSKGFzY2lpX2RvYywKLSJhc2NpaShvYmplY3QpIC0+IHN0cmluZ1xuXAotXG5cCi1BcyByZXByKCksIHJldHVybiBhIHN0cmluZyBjb250YWluaW5nIGEgcHJpbnRhYmxlIHJlcHJlc2VudGF0aW9uIG9mIGFuXG5cCi1vYmplY3QsIGJ1dCBlc2NhcGUgdGhlIG5vbi1BU0NJSSBjaGFyYWN0ZXJzIGluIHRoZSBzdHJpbmcgcmV0dXJuZWQgYnlcblwKLXJlcHIoKSB1c2luZyBcXHgsIFxcdSBvciBcXFUgZXNjYXBlcy4gIFRoaXMgZ2VuZXJhdGVzIGEgc3RyaW5nIHNpbWlsYXJcblwKLXRvIHRoYXQgcmV0dXJuZWQgYnkgcmVwcigpIGluIFB5dGhvbiAyLiIpOwogCisvKltjbGluaWMgaW5wdXRdCitiaW4gYXMgYnVpbHRpbl9iaW4KKworICAgIG51bWJlcjogJ08nCisgICAgLworCitSZXR1cm4gdGhlIGJpbmFyeSByZXByZXNlbnRhdGlvbiBvZiBhbiBpbnRlZ2VyLgorCisgICA+Pj4gYmluKDI3OTYyMDIpCisgICAnMGIxMDEwMTAxMDEwMTAxMDEwMTAxMDEwJworW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIoYnVpbHRpbl9iaW5fX2RvY19fLAorImJpbigkbW9kdWxlLCBudW1iZXIsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJSZXR1cm4gdGhlIGJpbmFyeSByZXByZXNlbnRhdGlvbiBvZiBhbiBpbnRlZ2VyLlxuIgorIlxuIgorIiAgID4+PiBiaW4oMjc5NjIwMilcbiIKKyIgICBcJzBiMTAxMDEwMTAxMDEwMTAxMDEwMTAxMFwnIik7CisKKyNkZWZpbmUgQlVJTFRJTl9CSU5fTUVUSE9EREVGICAgIFwKKyAgICB7ImJpbiIsIChQeUNGdW5jdGlvbilidWlsdGluX2JpbiwgTUVUSF9PLCBidWlsdGluX2Jpbl9fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotYnVpbHRpbl9iaW4oUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICp2KQorYnVpbHRpbl9iaW4oUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKm51bWJlcikKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD0xOGZlZDBlOTQzNjUwZGExIGlucHV0PTJhNjM2MmFlOWE5YzkyMDNdKi8KIHsKLSAgICByZXR1cm4gUHlOdW1iZXJfVG9CYXNlKHYsIDIpOworICAgIHJldHVybiBQeU51bWJlcl9Ub0Jhc2UobnVtYmVyLCAyKTsKIH0KIAotUHlEb2NfU1RSVkFSKGJpbl9kb2MsCi0iYmluKG51bWJlcikgLT4gc3RyaW5nXG5cCi1cblwKLVJldHVybiB0aGUgYmluYXJ5IHJlcHJlc2VudGF0aW9uIG9mIGFuIGludGVnZXIuXG5cCi1cblwKLSAgID4+PiBiaW4oMjc5NjIwMilcblwKLSAgICcwYjEwMTAxMDEwMTAxMDEwMTAxMDEwMTAnXG5cCi0iKTsKIAorLypbY2xpbmljIGlucHV0XQorY2FsbGFibGUgYXMgYnVpbHRpbl9jYWxsYWJsZQorCisgICAgb2JqOiAnTycKKyAgICAvCisKK1JldHVybiB3aGV0aGVyIHRoZSBvYmplY3QgaXMgY2FsbGFibGUgKGkuZS4sIHNvbWUga2luZCBvZiBmdW5jdGlvbikuCisKK05vdGUgdGhhdCBjbGFzc2VzIGFyZSBjYWxsYWJsZSwgYXMgYXJlIGluc3RhbmNlcyBvZiBjbGFzc2VzIHdpdGggYQorX19jYWxsX18oKSBtZXRob2QuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihidWlsdGluX2NhbGxhYmxlX19kb2NfXywKKyJjYWxsYWJsZSgkbW9kdWxlLCBvYmosIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJSZXR1cm4gd2hldGhlciB0aGUgb2JqZWN0IGlzIGNhbGxhYmxlIChpLmUuLCBzb21lIGtpbmQgb2YgZnVuY3Rpb24pLlxuIgorIlxuIgorIk5vdGUgdGhhdCBjbGFzc2VzIGFyZSBjYWxsYWJsZSwgYXMgYXJlIGluc3RhbmNlcyBvZiBjbGFzc2VzIHdpdGggYVxuIgorIl9fY2FsbF9fKCkgbWV0aG9kLiIpOworCisjZGVmaW5lIEJVSUxUSU5fQ0FMTEFCTEVfTUVUSE9EREVGICAgIFwKKyAgICB7ImNhbGxhYmxlIiwgKFB5Q0Z1bmN0aW9uKWJ1aWx0aW5fY2FsbGFibGUsIE1FVEhfTywgYnVpbHRpbl9jYWxsYWJsZV9fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotYnVpbHRpbl9jYWxsYWJsZShQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKnYpCitidWlsdGluX2NhbGxhYmxlKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICpvYmopCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9YjNhOTJjYmU2MzVmMzJhZiBpbnB1dD1iYjNiYjUyOGZmZmRhZGU0XSovCiB7Ci0gICAgcmV0dXJuIFB5Qm9vbF9Gcm9tTG9uZygobG9uZylQeUNhbGxhYmxlX0NoZWNrKHYpKTsKKyAgICByZXR1cm4gUHlCb29sX0Zyb21Mb25nKChsb25nKVB5Q2FsbGFibGVfQ2hlY2sob2JqKSk7CiB9CiAKLVB5RG9jX1NUUlZBUihjYWxsYWJsZV9kb2MsCi0iY2FsbGFibGUob2JqZWN0KSAtPiBib29sXG5cCi1cblwKLVJldHVybiB3aGV0aGVyIHRoZSBvYmplY3QgaXMgY2FsbGFibGUgKGkuZS4sIHNvbWUga2luZCBvZiBmdW5jdGlvbikuXG5cCi1Ob3RlIHRoYXQgY2xhc3NlcyBhcmUgY2FsbGFibGUsIGFzIGFyZSBpbnN0YW5jZXMgb2YgY2xhc3NlcyB3aXRoIGFcblwKLV9fY2FsbF9fKCkgbWV0aG9kLiIpOwotCiAKIHR5cGVkZWYgc3RydWN0IHsKICAgICBQeU9iamVjdF9IRUFECkBAIC01MjQsMzkgKzYyOCw5OSBAQAogfTsKIAogCisvKltjbGluaWMgaW5wdXRdCitmb3JtYXQgYXMgYnVpbHRpbl9mb3JtYXQKKworICAgIHZhbHVlOiAnTycKKyAgICBmb3JtYXRfc3BlYzogdW5pY29kZShjX2RlZmF1bHQ9Ik5VTEwiKSA9ICcnCisgICAgLworCitSZXR1cm4gdmFsdWUuX19mb3JtYXRfXyhmb3JtYXRfc3BlYykKKworZm9ybWF0X3NwZWMgZGVmYXVsdHMgdG8gdGhlIGVtcHR5IHN0cmluZworW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIoYnVpbHRpbl9mb3JtYXRfX2RvY19fLAorImZvcm1hdCgkbW9kdWxlLCB2YWx1ZSwgZm9ybWF0X3NwZWM9XCdcJywgLylcbiIKKyItLVxuIgorIlxuIgorIlJldHVybiB2YWx1ZS5fX2Zvcm1hdF9fKGZvcm1hdF9zcGVjKVxuIgorIlxuIgorImZvcm1hdF9zcGVjIGRlZmF1bHRzIHRvIHRoZSBlbXB0eSBzdHJpbmciKTsKKworI2RlZmluZSBCVUlMVElOX0ZPUk1BVF9NRVRIT0RERUYgICAgXAorICAgIHsiZm9ybWF0IiwgKFB5Q0Z1bmN0aW9uKWJ1aWx0aW5fZm9ybWF0LCBNRVRIX1ZBUkFSR1MsIGJ1aWx0aW5fZm9ybWF0X19kb2NfX30sCisKIHN0YXRpYyBQeU9iamVjdCAqCi1idWlsdGluX2Zvcm1hdChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCitidWlsdGluX2Zvcm1hdF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICp2YWx1ZSwgUHlPYmplY3QgKmZvcm1hdF9zcGVjKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK2J1aWx0aW5fZm9ybWF0KFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzKQogeworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOwogICAgIFB5T2JqZWN0ICp2YWx1ZTsKICAgICBQeU9iamVjdCAqZm9ybWF0X3NwZWMgPSBOVUxMOwogCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJPfFU6Zm9ybWF0IiwgJnZhbHVlLCAmZm9ybWF0X3NwZWMpKQotICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgIk98VTpmb3JtYXQiLAorICAgICAgICAmdmFsdWUsICZmb3JtYXRfc3BlYykpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBidWlsdGluX2Zvcm1hdF9pbXBsKG1vZHVsZSwgdmFsdWUsIGZvcm1hdF9zcGVjKTsKIAorZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorYnVpbHRpbl9mb3JtYXRfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqdmFsdWUsIFB5T2JqZWN0ICpmb3JtYXRfc3BlYykKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD0zOTcyM2E1OGM3MmU4ODcxIGlucHV0PWUyM2YyZjExZTAwOThjNjRdKi8KK3sKICAgICByZXR1cm4gUHlPYmplY3RfRm9ybWF0KHZhbHVlLCBmb3JtYXRfc3BlYyk7CiB9CiAKLVB5RG9jX1NUUlZBUihmb3JtYXRfZG9jLAotImZvcm1hdCh2YWx1ZVssIGZvcm1hdF9zcGVjXSkgLT4gc3RyaW5nXG5cCi1cblwKLVJldHVybnMgdmFsdWUuX19mb3JtYXRfXyhmb3JtYXRfc3BlYylcblwKLWZvcm1hdF9zcGVjIGRlZmF1bHRzIHRvIFwiXCIiKTsKKy8qW2NsaW5pYyBpbnB1dF0KK2NociBhcyBidWlsdGluX2NocgorCisgICAgaTogJ2knCisgICAgLworCitSZXR1cm4gYSBVbmljb2RlIHN0cmluZyBvZiBvbmUgY2hhcmFjdGVyIHdpdGggb3JkaW5hbCBpOyAwIDw9IGkgPD0gMHgxMGZmZmYuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihidWlsdGluX2Nocl9fZG9jX18sCisiY2hyKCRtb2R1bGUsIGksIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJSZXR1cm4gYSBVbmljb2RlIHN0cmluZyBvZiBvbmUgY2hhcmFjdGVyIHdpdGggb3JkaW5hbCBpOyAwIDw9IGkgPD0gMHgxMGZmZmYuIik7CisKKyNkZWZpbmUgQlVJTFRJTl9DSFJfTUVUSE9EREVGICAgIFwKKyAgICB7ImNociIsIChQeUNGdW5jdGlvbilidWlsdGluX2NociwgTUVUSF9WQVJBUkdTLCBidWlsdGluX2Nocl9fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotYnVpbHRpbl9jaHIoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQorYnVpbHRpbl9jaHJfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBpbnQgaSk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitidWlsdGluX2NocihQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncykKIHsKLSAgICBpbnQgeDsKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBpbnQgaTsKIAotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiaTpjaHIiLCAmeCkpCi0gICAgICAgIHJldHVybiBOVUxMOworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAiaTpjaHIiLAorICAgICAgICAmaSkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBidWlsdGluX2Nocl9pbXBsKG1vZHVsZSwgaSk7CiAKLSAgICByZXR1cm4gUHlVbmljb2RlX0Zyb21PcmRpbmFsKHgpOworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOwogfQogCi1QeURvY19TVFJWQVIoY2hyX2RvYywKLSJjaHIoaSkgLT4gVW5pY29kZSBjaGFyYWN0ZXJcblwKLVxuXAotUmV0dXJuIGEgVW5pY29kZSBzdHJpbmcgb2Ygb25lIGNoYXJhY3RlciB3aXRoIG9yZGluYWwgaTsgMCA8PSBpIDw9IDB4MTBmZmZmLiIpOworc3RhdGljIFB5T2JqZWN0ICoKK2J1aWx0aW5fY2hyX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgaW50IGkpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9NGQ2YmJlOTQ4ZjU2ZTJhZSBpbnB1dD05YjFjZWQyOTYxNWFkZjY2XSovCit7CisgICAgcmV0dXJuIFB5VW5pY29kZV9Gcm9tT3JkaW5hbChpKTsKK30KIAogCiBzdGF0aWMgY29uc3QgY2hhciAqCkBAIC01ODIsOCArNzQ2LDggQEAKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQogCi0gICAgaWYgKHN0cmxlbihzdHIpICE9IHNpemUpIHsKLSAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwKKyAgICBpZiAoc3RybGVuKHN0cikgIT0gKHNpemVfdClzaXplKSB7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLAogICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSBjb2RlIHN0cmluZyBjYW5ub3QgY29udGFpbiBudWxsIGJ5dGVzIik7CiAgICAgICAgIFB5QnVmZmVyX1JlbGVhc2Uodmlldyk7CiAgICAgICAgIHJldHVybiBOVUxMOwpAQCAtNTkxLDM1ICs3NTUsOTEgQEAKICAgICByZXR1cm4gc3RyOwogfQogCisvKltjbGluaWMgaW5wdXRdCitjb21waWxlIGFzIGJ1aWx0aW5fY29tcGlsZQorCisgICAgc291cmNlOiAnTycKKyAgICBmaWxlbmFtZTogb2JqZWN0KGNvbnZlcnRlcj0iUHlVbmljb2RlX0ZTRGVjb2RlciIpCisgICAgbW9kZTogJ3MnCisgICAgZmxhZ3M6ICdpJyA9IDAKKyAgICBkb250X2luaGVyaXQ6ICdpJyA9IDAKKyAgICBvcHRpbWl6ZTogJ2knID0gLTEKKworQ29tcGlsZSBzb3VyY2UgaW50byBhIGNvZGUgb2JqZWN0IHRoYXQgY2FuIGJlIGV4ZWN1dGVkIGJ5IGV4ZWMoKSBvciBldmFsKCkuCisKK1RoZSBzb3VyY2UgY29kZSBtYXkgcmVwcmVzZW50IGEgUHl0aG9uIG1vZHVsZSwgc3RhdGVtZW50IG9yIGV4cHJlc3Npb24uCitUaGUgZmlsZW5hbWUgd2lsbCBiZSB1c2VkIGZvciBydW4tdGltZSBlcnJvciBtZXNzYWdlcy4KK1RoZSBtb2RlIG11c3QgYmUgJ2V4ZWMnIHRvIGNvbXBpbGUgYSBtb2R1bGUsICdzaW5nbGUnIHRvIGNvbXBpbGUgYQorc2luZ2xlIChpbnRlcmFjdGl2ZSkgc3RhdGVtZW50LCBvciAnZXZhbCcgdG8gY29tcGlsZSBhbiBleHByZXNzaW9uLgorVGhlIGZsYWdzIGFyZ3VtZW50LCBpZiBwcmVzZW50LCBjb250cm9scyB3aGljaCBmdXR1cmUgc3RhdGVtZW50cyBpbmZsdWVuY2UKK3RoZSBjb21waWxhdGlvbiBvZiB0aGUgY29kZS4KK1RoZSBkb250X2luaGVyaXQgYXJndW1lbnQsIGlmIG5vbi16ZXJvLCBzdG9wcyB0aGUgY29tcGlsYXRpb24gaW5oZXJpdGluZwordGhlIGVmZmVjdHMgb2YgYW55IGZ1dHVyZSBzdGF0ZW1lbnRzIGluIGVmZmVjdCBpbiB0aGUgY29kZSBjYWxsaW5nCitjb21waWxlOyBpZiBhYnNlbnQgb3IgemVybyB0aGVzZSBzdGF0ZW1lbnRzIGRvIGluZmx1ZW5jZSB0aGUgY29tcGlsYXRpb24sCitpbiBhZGRpdGlvbiB0byBhbnkgZmVhdHVyZXMgZXhwbGljaXRseSBzcGVjaWZpZWQuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihidWlsdGluX2NvbXBpbGVfX2RvY19fLAorImNvbXBpbGUoJG1vZHVsZSwgLywgc291cmNlLCBmaWxlbmFtZSwgbW9kZSwgZmxhZ3M9MCwgZG9udF9pbmhlcml0PTAsXG4iCisiICAgICAgICBvcHRpbWl6ZT0tMSlcbiIKKyItLVxuIgorIlxuIgorIkNvbXBpbGUgc291cmNlIGludG8gYSBjb2RlIG9iamVjdCB0aGF0IGNhbiBiZSBleGVjdXRlZCBieSBleGVjKCkgb3IgZXZhbCgpLlxuIgorIlxuIgorIlRoZSBzb3VyY2UgY29kZSBtYXkgcmVwcmVzZW50IGEgUHl0aG9uIG1vZHVsZSwgc3RhdGVtZW50IG9yIGV4cHJlc3Npb24uXG4iCisiVGhlIGZpbGVuYW1lIHdpbGwgYmUgdXNlZCBmb3IgcnVuLXRpbWUgZXJyb3IgbWVzc2FnZXMuXG4iCisiVGhlIG1vZGUgbXVzdCBiZSBcJ2V4ZWNcJyB0byBjb21waWxlIGEgbW9kdWxlLCBcJ3NpbmdsZVwnIHRvIGNvbXBpbGUgYVxuIgorInNpbmdsZSAoaW50ZXJhY3RpdmUpIHN0YXRlbWVudCwgb3IgXCdldmFsXCcgdG8gY29tcGlsZSBhbiBleHByZXNzaW9uLlxuIgorIlRoZSBmbGFncyBhcmd1bWVudCwgaWYgcHJlc2VudCwgY29udHJvbHMgd2hpY2ggZnV0dXJlIHN0YXRlbWVudHMgaW5mbHVlbmNlXG4iCisidGhlIGNvbXBpbGF0aW9uIG9mIHRoZSBjb2RlLlxuIgorIlRoZSBkb250X2luaGVyaXQgYXJndW1lbnQsIGlmIG5vbi16ZXJvLCBzdG9wcyB0aGUgY29tcGlsYXRpb24gaW5oZXJpdGluZ1xuIgorInRoZSBlZmZlY3RzIG9mIGFueSBmdXR1cmUgc3RhdGVtZW50cyBpbiBlZmZlY3QgaW4gdGhlIGNvZGUgY2FsbGluZ1xuIgorImNvbXBpbGU7IGlmIGFic2VudCBvciB6ZXJvIHRoZXNlIHN0YXRlbWVudHMgZG8gaW5mbHVlbmNlIHRoZSBjb21waWxhdGlvbixcbiIKKyJpbiBhZGRpdGlvbiB0byBhbnkgZmVhdHVyZXMgZXhwbGljaXRseSBzcGVjaWZpZWQuIik7CisKKyNkZWZpbmUgQlVJTFRJTl9DT01QSUxFX01FVEhPRERFRiAgICBcCisgICAgeyJjb21waWxlIiwgKFB5Q0Z1bmN0aW9uKWJ1aWx0aW5fY29tcGlsZSwgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsIGJ1aWx0aW5fY29tcGlsZV9fZG9jX199LAorCiBzdGF0aWMgUHlPYmplY3QgKgotYnVpbHRpbl9jb21waWxlKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3ZHMpCitidWlsdGluX2NvbXBpbGVfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqc291cmNlLCBQeU9iamVjdCAqZmlsZW5hbWUsIGNvbnN0IGNoYXIgKm1vZGUsIGludCBmbGFncywgaW50IGRvbnRfaW5oZXJpdCwgaW50IG9wdGltaXplKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK2J1aWx0aW5fY29tcGlsZShQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3YXJncykKK3sKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBzdGF0aWMgY2hhciAqX2tleXdvcmRzW10gPSB7InNvdXJjZSIsICJmaWxlbmFtZSIsICJtb2RlIiwgImZsYWdzIiwgImRvbnRfaW5oZXJpdCIsICJvcHRpbWl6ZSIsIE5VTEx9OworICAgIFB5T2JqZWN0ICpzb3VyY2U7CisgICAgUHlPYmplY3QgKmZpbGVuYW1lOworICAgIGNvbnN0IGNoYXIgKm1vZGU7CisgICAgaW50IGZsYWdzID0gMDsKKyAgICBpbnQgZG9udF9pbmhlcml0ID0gMDsKKyAgICBpbnQgb3B0aW1pemUgPSAtMTsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywKKyAgICAgICAgIk9PJnN8aWlpOmNvbXBpbGUiLCBfa2V5d29yZHMsCisgICAgICAgICZzb3VyY2UsIFB5VW5pY29kZV9GU0RlY29kZXIsICZmaWxlbmFtZSwgJm1vZGUsICZmbGFncywgJmRvbnRfaW5oZXJpdCwgJm9wdGltaXplKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IGJ1aWx0aW5fY29tcGlsZV9pbXBsKG1vZHVsZSwgc291cmNlLCBmaWxlbmFtZSwgbW9kZSwgZmxhZ3MsIGRvbnRfaW5oZXJpdCwgb3B0aW1pemUpOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitidWlsdGluX2NvbXBpbGVfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqc291cmNlLCBQeU9iamVjdCAqZmlsZW5hbWUsIGNvbnN0IGNoYXIgKm1vZGUsIGludCBmbGFncywgaW50IGRvbnRfaW5oZXJpdCwgaW50IG9wdGltaXplKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWM3MmQxOTc4MDlkMTc4ZmMgaW5wdXQ9YzYyMTJhOWQyMTQ3MmY3ZV0qLwogewogICAgIFB5X2J1ZmZlciB2aWV3ID0ge05VTEwsIE5VTEx9OwogICAgIGNvbnN0IGNoYXIgKnN0cjsKLSAgICBQeU9iamVjdCAqZmlsZW5hbWU7Ci0gICAgY2hhciAqc3RhcnRzdHI7Ci0gICAgaW50IG1vZGUgPSAtMTsKLSAgICBpbnQgZG9udF9pbmhlcml0ID0gMDsKLSAgICBpbnQgc3VwcGxpZWRfZmxhZ3MgPSAwOwotICAgIGludCBvcHRpbWl6ZSA9IC0xOworICAgIGludCBjb21waWxlX21vZGUgPSAtMTsKICAgICBpbnQgaXNfYXN0OwogICAgIFB5Q29tcGlsZXJGbGFncyBjZjsKLSAgICBQeU9iamVjdCAqY21kOwotICAgIHN0YXRpYyBjaGFyICprd2xpc3RbXSA9IHsic291cmNlIiwgImZpbGVuYW1lIiwgIm1vZGUiLCAiZmxhZ3MiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZG9udF9pbmhlcml0IiwgIm9wdGltaXplIiwgTlVMTH07CiAgICAgaW50IHN0YXJ0W10gPSB7UHlfZmlsZV9pbnB1dCwgUHlfZXZhbF9pbnB1dCwgUHlfc2luZ2xlX2lucHV0fTsKICAgICBQeU9iamVjdCAqcmVzdWx0OwogCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dkcywgIk9PJnN8aWlpOmNvbXBpbGUiLCAga3dsaXN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZjbWQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX0ZTRGVjb2RlciwgJmZpbGVuYW1lLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZzdGFydHN0ciwgJnN1cHBsaWVkX2ZsYWdzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZkb250X2luaGVyaXQsICZvcHRpbWl6ZSkpCi0gICAgICAgIHJldHVybiBOVUxMOworICAgIGNmLmNmX2ZsYWdzID0gZmxhZ3MgfCBQeUNGX1NPVVJDRV9JU19VVEY4OwogCi0gICAgY2YuY2ZfZmxhZ3MgPSBzdXBwbGllZF9mbGFncyB8IFB5Q0ZfU09VUkNFX0lTX1VURjg7Ci0KLSAgICBpZiAoc3VwcGxpZWRfZmxhZ3MgJgorICAgIGlmIChmbGFncyAmCiAgICAgICAgIH4oUHlDRl9NQVNLIHwgUHlDRl9NQVNLX09CU09MRVRFIHwgUHlDRl9ET05UX0lNUExZX0RFREVOVCB8IFB5Q0ZfT05MWV9BU1QpKQogICAgIHsKICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsCkBAIC02MzgsMjUgKzg1OCwyNSBAQAogICAgICAgICBQeUV2YWxfTWVyZ2VDb21waWxlckZsYWdzKCZjZik7CiAgICAgfQogCi0gICAgaWYgKHN0cmNtcChzdGFydHN0ciwgImV4ZWMiKSA9PSAwKQotICAgICAgICBtb2RlID0gMDsKLSAgICBlbHNlIGlmIChzdHJjbXAoc3RhcnRzdHIsICJldmFsIikgPT0gMCkKLSAgICAgICAgbW9kZSA9IDE7Ci0gICAgZWxzZSBpZiAoc3RyY21wKHN0YXJ0c3RyLCAic2luZ2xlIikgPT0gMCkKLSAgICAgICAgbW9kZSA9IDI7CisgICAgaWYgKHN0cmNtcChtb2RlLCAiZXhlYyIpID09IDApCisgICAgICAgIGNvbXBpbGVfbW9kZSA9IDA7CisgICAgZWxzZSBpZiAoc3RyY21wKG1vZGUsICJldmFsIikgPT0gMCkKKyAgICAgICAgY29tcGlsZV9tb2RlID0gMTsKKyAgICBlbHNlIGlmIChzdHJjbXAobW9kZSwgInNpbmdsZSIpID09IDApCisgICAgICAgIGNvbXBpbGVfbW9kZSA9IDI7CiAgICAgZWxzZSB7CiAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLAotICAgICAgICAgICAgICAgICAgICAgICAgImNvbXBpbGUoKSBhcmcgMyBtdXN0IGJlICdleGVjJywgJ2V2YWwnIG9yICdzaW5nbGUnIik7CisgICAgICAgICAgICAgICAgICAgICAgICAiY29tcGlsZSgpIG1vZGUgbXVzdCBiZSAnZXhlYycsICdldmFsJyBvciAnc2luZ2xlJyIpOwogICAgICAgICBnb3RvIGVycm9yOwogICAgIH0KIAotICAgIGlzX2FzdCA9IFB5QVNUX0NoZWNrKGNtZCk7CisgICAgaXNfYXN0ID0gUHlBU1RfQ2hlY2soc291cmNlKTsKICAgICBpZiAoaXNfYXN0ID09IC0xKQogICAgICAgICBnb3RvIGVycm9yOwogICAgIGlmIChpc19hc3QpIHsKLSAgICAgICAgaWYgKHN1cHBsaWVkX2ZsYWdzICYgUHlDRl9PTkxZX0FTVCkgewotICAgICAgICAgICAgUHlfSU5DUkVGKGNtZCk7Ci0gICAgICAgICAgICByZXN1bHQgPSBjbWQ7CisgICAgICAgIGlmIChmbGFncyAmIFB5Q0ZfT05MWV9BU1QpIHsKKyAgICAgICAgICAgIFB5X0lOQ1JFRihzb3VyY2UpOworICAgICAgICAgICAgcmVzdWx0ID0gc291cmNlOwogICAgICAgICB9CiAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgUHlBcmVuYSAqYXJlbmE7CkBAIC02NjUsNyArODg1LDcgQEAKICAgICAgICAgICAgIGFyZW5hID0gUHlBcmVuYV9OZXcoKTsKICAgICAgICAgICAgIGlmIChhcmVuYSA9PSBOVUxMKQogICAgICAgICAgICAgICAgIGdvdG8gZXJyb3I7Ci0gICAgICAgICAgICBtb2QgPSBQeUFTVF9vYmoybW9kKGNtZCwgYXJlbmEsIG1vZGUpOworICAgICAgICAgICAgbW9kID0gUHlBU1Rfb2JqMm1vZChzb3VyY2UsIGFyZW5hLCBjb21waWxlX21vZGUpOwogICAgICAgICAgICAgaWYgKG1vZCA9PSBOVUxMKSB7CiAgICAgICAgICAgICAgICAgUHlBcmVuYV9GcmVlKGFyZW5hKTsKICAgICAgICAgICAgICAgICBnb3RvIGVycm9yOwpAQCAtNjgxLDExICs5MDEsMTEgQEAKICAgICAgICAgZ290byBmaW5hbGx5OwogICAgIH0KIAotICAgIHN0ciA9IHNvdXJjZV9hc19zdHJpbmcoY21kLCAiY29tcGlsZSIsICJzdHJpbmcsIGJ5dGVzIG9yIEFTVCIsICZjZiwgJnZpZXcpOworICAgIHN0ciA9IHNvdXJjZV9hc19zdHJpbmcoc291cmNlLCAiY29tcGlsZSIsICJzdHJpbmcsIGJ5dGVzIG9yIEFTVCIsICZjZiwgJnZpZXcpOwogICAgIGlmIChzdHIgPT0gTlVMTCkKICAgICAgICAgZ290byBlcnJvcjsKIAotICAgIHJlc3VsdCA9IFB5X0NvbXBpbGVTdHJpbmdPYmplY3Qoc3RyLCBmaWxlbmFtZSwgc3RhcnRbbW9kZV0sICZjZiwgb3B0aW1pemUpOworICAgIHJlc3VsdCA9IFB5X0NvbXBpbGVTdHJpbmdPYmplY3Qoc3RyLCBmaWxlbmFtZSwgc3RhcnRbY29tcGlsZV9tb2RlXSwgJmNmLCBvcHRpbWl6ZSk7CiAgICAgUHlCdWZmZXJfUmVsZWFzZSgmdmlldyk7CiAgICAgZ290byBmaW5hbGx5OwogCkBAIC02OTYsMjEgKzkxNiw3IEBACiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAotUHlEb2NfU1RSVkFSKGNvbXBpbGVfZG9jLAotImNvbXBpbGUoc291cmNlLCBmaWxlbmFtZSwgbW9kZVssIGZsYWdzWywgZG9udF9pbmhlcml0XV0pIC0+IGNvZGUgb2JqZWN0XG5cCi1cblwKLUNvbXBpbGUgdGhlIHNvdXJjZSAoYSBQeXRob24gbW9kdWxlLCBzdGF0ZW1lbnQgb3IgZXhwcmVzc2lvbilcblwKLWludG8gYSBjb2RlIG9iamVjdCB0aGF0IGNhbiBiZSBleGVjdXRlZCBieSBleGVjKCkgb3IgZXZhbCgpLlxuXAotVGhlIGZpbGVuYW1lIHdpbGwgYmUgdXNlZCBmb3IgcnVuLXRpbWUgZXJyb3IgbWVzc2FnZXMuXG5cCi1UaGUgbW9kZSBtdXN0IGJlICdleGVjJyB0byBjb21waWxlIGEgbW9kdWxlLCAnc2luZ2xlJyB0byBjb21waWxlIGFcblwKLXNpbmdsZSAoaW50ZXJhY3RpdmUpIHN0YXRlbWVudCwgb3IgJ2V2YWwnIHRvIGNvbXBpbGUgYW4gZXhwcmVzc2lvbi5cblwKLVRoZSBmbGFncyBhcmd1bWVudCwgaWYgcHJlc2VudCwgY29udHJvbHMgd2hpY2ggZnV0dXJlIHN0YXRlbWVudHMgaW5mbHVlbmNlXG5cCi10aGUgY29tcGlsYXRpb24gb2YgdGhlIGNvZGUuXG5cCi1UaGUgZG9udF9pbmhlcml0IGFyZ3VtZW50LCBpZiBub24temVybywgc3RvcHMgdGhlIGNvbXBpbGF0aW9uIGluaGVyaXRpbmdcblwKLXRoZSBlZmZlY3RzIG9mIGFueSBmdXR1cmUgc3RhdGVtZW50cyBpbiBlZmZlY3QgaW4gdGhlIGNvZGUgY2FsbGluZ1xuXAotY29tcGlsZTsgaWYgYWJzZW50IG9yIHplcm8gdGhlc2Ugc3RhdGVtZW50cyBkbyBpbmZsdWVuY2UgdGhlIGNvbXBpbGF0aW9uLFxuXAotaW4gYWRkaXRpb24gdG8gYW55IGZlYXR1cmVzIGV4cGxpY2l0bHkgc3BlY2lmaWVkLiIpOwotCisvKiBBQzogY2Fubm90IGNvbnZlcnQgeWV0LCBhcyBuZWVkcyBQRVAgNDU3IGdyb3VwIHN1cHBvcnQgaW4gaW5zcGVjdCAqLwogc3RhdGljIFB5T2JqZWN0ICoKIGJ1aWx0aW5fZGlyKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKIHsKQEAgLTczNSwzMyArOTQxLDExNSBAQAogIiAgZm9yIGFueSBvdGhlciBvYmplY3Q6IGl0cyBhdHRyaWJ1dGVzLCBpdHMgY2xhc3MncyBhdHRyaWJ1dGVzLCBhbmRcbiIKICIgICAgcmVjdXJzaXZlbHkgdGhlIGF0dHJpYnV0ZXMgb2YgaXRzIGNsYXNzJ3MgYmFzZSBjbGFzc2VzLiIpOwogCi1zdGF0aWMgUHlPYmplY3QgKgotYnVpbHRpbl9kaXZtb2QoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQotewotICAgIFB5T2JqZWN0ICp2LCAqdzsKKy8qW2NsaW5pYyBpbnB1dF0KK2Rpdm1vZCBhcyBidWlsdGluX2Rpdm1vZAogCi0gICAgaWYgKCFQeUFyZ19VbnBhY2tUdXBsZShhcmdzLCAiZGl2bW9kIiwgMiwgMiwgJnYsICZ3KSkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgcmV0dXJuIFB5TnVtYmVyX0Rpdm1vZCh2LCB3KTsKKyAgICB4OiAnTycKKyAgICB5OiAnTycKKyAgICAvCisKK1JldHVybiB0aGUgdHVwbGUgKCh4LXgleSkveSwgeCV5KS4gIEludmFyaWFudDogZGl2KnkgKyBtb2QgPT0geC4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKGJ1aWx0aW5fZGl2bW9kX19kb2NfXywKKyJkaXZtb2QoJG1vZHVsZSwgeCwgeSwgLylcbiIKKyItLVxuIgorIlxuIgorIlJldHVybiB0aGUgdHVwbGUgKCh4LXgleSkveSwgeCV5KS4gIEludmFyaWFudDogZGl2KnkgKyBtb2QgPT0geC4iKTsKKworI2RlZmluZSBCVUlMVElOX0RJVk1PRF9NRVRIT0RERUYgICAgXAorICAgIHsiZGl2bW9kIiwgKFB5Q0Z1bmN0aW9uKWJ1aWx0aW5fZGl2bW9kLCBNRVRIX1ZBUkFSR1MsIGJ1aWx0aW5fZGl2bW9kX19kb2NfX30sCisKK3N0YXRpYyBQeU9iamVjdCAqCitidWlsdGluX2Rpdm1vZF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICp4LCBQeU9iamVjdCAqeSk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitidWlsdGluX2Rpdm1vZChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncykKK3sKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBQeU9iamVjdCAqeDsKKyAgICBQeU9iamVjdCAqeTsKKworICAgIGlmICghUHlBcmdfVW5wYWNrVHVwbGUoYXJncywgImRpdm1vZCIsCisgICAgICAgIDIsIDIsCisgICAgICAgICZ4LCAmeSkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBidWlsdGluX2Rpdm1vZF9pbXBsKG1vZHVsZSwgeCwgeSk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKIH0KIAotUHlEb2NfU1RSVkFSKGRpdm1vZF9kb2MsCi0iZGl2bW9kKHgsIHkpIC0+IChkaXYsIG1vZClcblwKLVxuXAotUmV0dXJuIHRoZSB0dXBsZSAoKHgteCV5KS95LCB4JXkpLiAgSW52YXJpYW50OiBkaXYqeSArIG1vZCA9PSB4LiIpOworc3RhdGljIFB5T2JqZWN0ICoKK2J1aWx0aW5fZGl2bW9kX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKngsIFB5T2JqZWN0ICp5KQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTc3ZThkNDA4YjEzMzg4ODYgaW5wdXQ9YzljNjE3YjdiYjc0YzYxNV0qLworeworICAgIHJldHVybiBQeU51bWJlcl9EaXZtb2QoeCwgeSk7Cit9CiAKIAorLypbY2xpbmljIGlucHV0XQorZXZhbCBhcyBidWlsdGluX2V2YWwKKworICAgIHNvdXJjZTogJ08nCisgICAgZ2xvYmFsczogJ08nID0gTm9uZQorICAgIGxvY2FsczogJ08nID0gTm9uZQorICAgIC8KKworRXZhbHVhdGUgdGhlIGdpdmVuIHNvdXJjZSBpbiB0aGUgY29udGV4dCBvZiBnbG9iYWxzIGFuZCBsb2NhbHMuCisKK1RoZSBzb3VyY2UgbWF5IGJlIGEgc3RyaW5nIHJlcHJlc2VudGluZyBhIFB5dGhvbiBleHByZXNzaW9uCitvciBhIGNvZGUgb2JqZWN0IGFzIHJldHVybmVkIGJ5IGNvbXBpbGUoKS4KK1RoZSBnbG9iYWxzIG11c3QgYmUgYSBkaWN0aW9uYXJ5IGFuZCBsb2NhbHMgY2FuIGJlIGFueSBtYXBwaW5nLAorZGVmYXVsdGluZyB0byB0aGUgY3VycmVudCBnbG9iYWxzIGFuZCBsb2NhbHMuCitJZiBvbmx5IGdsb2JhbHMgaXMgZ2l2ZW4sIGxvY2FscyBkZWZhdWx0cyB0byBpdC4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKGJ1aWx0aW5fZXZhbF9fZG9jX18sCisiZXZhbCgkbW9kdWxlLCBzb3VyY2UsIGdsb2JhbHM9Tm9uZSwgbG9jYWxzPU5vbmUsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJFdmFsdWF0ZSB0aGUgZ2l2ZW4gc291cmNlIGluIHRoZSBjb250ZXh0IG9mIGdsb2JhbHMgYW5kIGxvY2Fscy5cbiIKKyJcbiIKKyJUaGUgc291cmNlIG1heSBiZSBhIHN0cmluZyByZXByZXNlbnRpbmcgYSBQeXRob24gZXhwcmVzc2lvblxuIgorIm9yIGEgY29kZSBvYmplY3QgYXMgcmV0dXJuZWQgYnkgY29tcGlsZSgpLlxuIgorIlRoZSBnbG9iYWxzIG11c3QgYmUgYSBkaWN0aW9uYXJ5IGFuZCBsb2NhbHMgY2FuIGJlIGFueSBtYXBwaW5nLFxuIgorImRlZmF1bHRpbmcgdG8gdGhlIGN1cnJlbnQgZ2xvYmFscyBhbmQgbG9jYWxzLlxuIgorIklmIG9ubHkgZ2xvYmFscyBpcyBnaXZlbiwgbG9jYWxzIGRlZmF1bHRzIHRvIGl0LiIpOworCisjZGVmaW5lIEJVSUxUSU5fRVZBTF9NRVRIT0RERUYgICAgXAorICAgIHsiZXZhbCIsIChQeUNGdW5jdGlvbilidWlsdGluX2V2YWwsIE1FVEhfVkFSQVJHUywgYnVpbHRpbl9ldmFsX19kb2NfX30sCisKIHN0YXRpYyBQeU9iamVjdCAqCi1idWlsdGluX2V2YWwoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQorYnVpbHRpbl9ldmFsX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKnNvdXJjZSwgUHlPYmplY3QgKmdsb2JhbHMsIFB5T2JqZWN0ICpsb2NhbHMpOworCitzdGF0aWMgUHlPYmplY3QgKgorYnVpbHRpbl9ldmFsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzKQogewotICAgIFB5T2JqZWN0ICpjbWQsICpyZXN1bHQsICp0bXAgPSBOVUxMOwotICAgIFB5T2JqZWN0ICpnbG9iYWxzID0gUHlfTm9uZSwgKmxvY2FscyA9IFB5X05vbmU7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgUHlPYmplY3QgKnNvdXJjZTsKKyAgICBQeU9iamVjdCAqZ2xvYmFscyA9IFB5X05vbmU7CisgICAgUHlPYmplY3QgKmxvY2FscyA9IFB5X05vbmU7CisKKyAgICBpZiAoIVB5QXJnX1VucGFja1R1cGxlKGFyZ3MsICJldmFsIiwKKyAgICAgICAgMSwgMywKKyAgICAgICAgJnNvdXJjZSwgJmdsb2JhbHMsICZsb2NhbHMpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gYnVpbHRpbl9ldmFsX2ltcGwobW9kdWxlLCBzb3VyY2UsIGdsb2JhbHMsIGxvY2Fscyk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK2J1aWx0aW5fZXZhbF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICpzb3VyY2UsIFB5T2JqZWN0ICpnbG9iYWxzLCBQeU9iamVjdCAqbG9jYWxzKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTY0NGZkNTkwMTI1MzhjZTYgaW5wdXQ9MzFlNDJjMWQyMTI1YjUwYl0qLworeworICAgIFB5T2JqZWN0ICpyZXN1bHQsICp0bXAgPSBOVUxMOwogICAgIFB5X2J1ZmZlciB2aWV3ID0ge05VTEwsIE5VTEx9OwogICAgIGNvbnN0IGNoYXIgKnN0cjsKICAgICBQeUNvbXBpbGVyRmxhZ3MgY2Y7CiAKLSAgICBpZiAoIVB5QXJnX1VucGFja1R1cGxlKGFyZ3MsICJldmFsIiwgMSwgMywgJmNtZCwgJmdsb2JhbHMsICZsb2NhbHMpKQotICAgICAgICByZXR1cm4gTlVMTDsKICAgICBpZiAobG9jYWxzICE9IFB5X05vbmUgJiYgIVB5TWFwcGluZ19DaGVjayhsb2NhbHMpKSB7CiAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsICJsb2NhbHMgbXVzdCBiZSBhIG1hcHBpbmciKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CkBAIC03OTYsMTcgKzEwODQsMTcgQEAKICAgICAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KIAotICAgIGlmIChQeUNvZGVfQ2hlY2soY21kKSkgewotICAgICAgICBpZiAoUHlDb2RlX0dldE51bUZyZWUoKFB5Q29kZU9iamVjdCAqKWNtZCkgPiAwKSB7CisgICAgaWYgKFB5Q29kZV9DaGVjayhzb3VyY2UpKSB7CisgICAgICAgIGlmIChQeUNvZGVfR2V0TnVtRnJlZSgoUHlDb2RlT2JqZWN0ICopc291cmNlKSA+IDApIHsKICAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsCiAgICAgICAgICJjb2RlIG9iamVjdCBwYXNzZWQgdG8gZXZhbCgpIG1heSBub3QgY29udGFpbiBmcmVlIHZhcmlhYmxlcyIpOwogICAgICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgICAgIH0KLSAgICAgICAgcmV0dXJuIFB5RXZhbF9FdmFsQ29kZShjbWQsIGdsb2JhbHMsIGxvY2Fscyk7CisgICAgICAgIHJldHVybiBQeUV2YWxfRXZhbENvZGUoc291cmNlLCBnbG9iYWxzLCBsb2NhbHMpOwogICAgIH0KIAogICAgIGNmLmNmX2ZsYWdzID0gUHlDRl9TT1VSQ0VfSVNfVVRGODsKLSAgICBzdHIgPSBzb3VyY2VfYXNfc3RyaW5nKGNtZCwgImV2YWwiLCAic3RyaW5nLCBieXRlcyBvciBjb2RlIiwgJmNmLCAmdmlldyk7CisgICAgc3RyID0gc291cmNlX2FzX3N0cmluZyhzb3VyY2UsICJldmFsIiwgInN0cmluZywgYnl0ZXMgb3IgY29kZSIsICZjZiwgJnZpZXcpOwogICAgIGlmIChzdHIgPT0gTlVMTCkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAKQEAgLTgyMCwyNCArMTEwOCw2NCBAQAogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKLVB5RG9jX1NUUlZBUihldmFsX2RvYywKLSJldmFsKHNvdXJjZVssIGdsb2JhbHNbLCBsb2NhbHNdXSkgLT4gdmFsdWVcblwKLVxuXAotRXZhbHVhdGUgdGhlIHNvdXJjZSBpbiB0aGUgY29udGV4dCBvZiBnbG9iYWxzIGFuZCBsb2NhbHMuXG5cCi1UaGUgc291cmNlIG1heSBiZSBhIHN0cmluZyByZXByZXNlbnRpbmcgYSBQeXRob24gZXhwcmVzc2lvblxuXAotb3IgYSBjb2RlIG9iamVjdCBhcyByZXR1cm5lZCBieSBjb21waWxlKCkuXG5cCi1UaGUgZ2xvYmFscyBtdXN0IGJlIGEgZGljdGlvbmFyeSBhbmQgbG9jYWxzIGNhbiBiZSBhbnkgbWFwcGluZyxcblwKLWRlZmF1bHRpbmcgdG8gdGhlIGN1cnJlbnQgZ2xvYmFscyBhbmQgbG9jYWxzLlxuXAotSWYgb25seSBnbG9iYWxzIGlzIGdpdmVuLCBsb2NhbHMgZGVmYXVsdHMgdG8gaXQuXG4iKTsKKy8qW2NsaW5pYyBpbnB1dF0KK2V4ZWMgYXMgYnVpbHRpbl9leGVjCisKKyAgICBzb3VyY2U6ICdPJworICAgIGdsb2JhbHM6ICdPJyA9IE5vbmUKKyAgICBsb2NhbHM6ICdPJyA9IE5vbmUKKyAgICAvCisKK0V4ZWN1dGUgdGhlIGdpdmVuIHNvdXJjZSBpbiB0aGUgY29udGV4dCBvZiBnbG9iYWxzIGFuZCBsb2NhbHMuCisKK1RoZSBzb3VyY2UgbWF5IGJlIGEgc3RyaW5nIHJlcHJlc2VudGluZyBvbmUgb3IgbW9yZSBQeXRob24gc3RhdGVtZW50cworb3IgYSBjb2RlIG9iamVjdCBhcyByZXR1cm5lZCBieSBjb21waWxlKCkuCitUaGUgZ2xvYmFscyBtdXN0IGJlIGEgZGljdGlvbmFyeSBhbmQgbG9jYWxzIGNhbiBiZSBhbnkgbWFwcGluZywKK2RlZmF1bHRpbmcgdG8gdGhlIGN1cnJlbnQgZ2xvYmFscyBhbmQgbG9jYWxzLgorSWYgb25seSBnbG9iYWxzIGlzIGdpdmVuLCBsb2NhbHMgZGVmYXVsdHMgdG8gaXQuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihidWlsdGluX2V4ZWNfX2RvY19fLAorImV4ZWMoJG1vZHVsZSwgc291cmNlLCBnbG9iYWxzPU5vbmUsIGxvY2Fscz1Ob25lLCAvKVxuIgorIi0tXG4iCisiXG4iCisiRXhlY3V0ZSB0aGUgZ2l2ZW4gc291cmNlIGluIHRoZSBjb250ZXh0IG9mIGdsb2JhbHMgYW5kIGxvY2Fscy5cbiIKKyJcbiIKKyJUaGUgc291cmNlIG1heSBiZSBhIHN0cmluZyByZXByZXNlbnRpbmcgb25lIG9yIG1vcmUgUHl0aG9uIHN0YXRlbWVudHNcbiIKKyJvciBhIGNvZGUgb2JqZWN0IGFzIHJldHVybmVkIGJ5IGNvbXBpbGUoKS5cbiIKKyJUaGUgZ2xvYmFscyBtdXN0IGJlIGEgZGljdGlvbmFyeSBhbmQgbG9jYWxzIGNhbiBiZSBhbnkgbWFwcGluZyxcbiIKKyJkZWZhdWx0aW5nIHRvIHRoZSBjdXJyZW50IGdsb2JhbHMgYW5kIGxvY2Fscy5cbiIKKyJJZiBvbmx5IGdsb2JhbHMgaXMgZ2l2ZW4sIGxvY2FscyBkZWZhdWx0cyB0byBpdC4iKTsKKworI2RlZmluZSBCVUlMVElOX0VYRUNfTUVUSE9EREVGICAgIFwKKyAgICB7ImV4ZWMiLCAoUHlDRnVuY3Rpb24pYnVpbHRpbl9leGVjLCBNRVRIX1ZBUkFSR1MsIGJ1aWx0aW5fZXhlY19fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotYnVpbHRpbl9leGVjKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK2J1aWx0aW5fZXhlY19pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICpzb3VyY2UsIFB5T2JqZWN0ICpnbG9iYWxzLCBQeU9iamVjdCAqbG9jYWxzKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK2J1aWx0aW5fZXhlYyhQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncykKK3sKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBQeU9iamVjdCAqc291cmNlOworICAgIFB5T2JqZWN0ICpnbG9iYWxzID0gUHlfTm9uZTsKKyAgICBQeU9iamVjdCAqbG9jYWxzID0gUHlfTm9uZTsKKworICAgIGlmICghUHlBcmdfVW5wYWNrVHVwbGUoYXJncywgImV4ZWMiLAorICAgICAgICAxLCAzLAorICAgICAgICAmc291cmNlLCAmZ2xvYmFscywgJmxvY2FscykpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBidWlsdGluX2V4ZWNfaW1wbChtb2R1bGUsIHNvdXJjZSwgZ2xvYmFscywgbG9jYWxzKTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorYnVpbHRpbl9leGVjX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKnNvdXJjZSwgUHlPYmplY3QgKmdsb2JhbHMsIFB5T2JqZWN0ICpsb2NhbHMpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9MDI4MWI0OGJmYThlM2M4NyBpbnB1dD01MzZlMDU3YjVlMDBkODllXSovCiB7CiAgICAgUHlPYmplY3QgKnY7Ci0gICAgUHlPYmplY3QgKnByb2csICpnbG9iYWxzID0gUHlfTm9uZSwgKmxvY2FscyA9IFB5X05vbmU7Ci0KLSAgICBpZiAoIVB5QXJnX1VucGFja1R1cGxlKGFyZ3MsICJleGVjIiwgMSwgMywgJnByb2csICZnbG9iYWxzLCAmbG9jYWxzKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7CiAKICAgICBpZiAoZ2xvYmFscyA9PSBQeV9Ob25lKSB7CiAgICAgICAgIGdsb2JhbHMgPSBQeUV2YWxfR2V0R2xvYmFscygpOwpAQCAtODU2LDEzICsxMTg0LDEzIEBACiAgICAgICAgIGxvY2FscyA9IGdsb2JhbHM7CiAKICAgICBpZiAoIVB5RGljdF9DaGVjayhnbG9iYWxzKSkgewotICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVHlwZUVycm9yLCAiZXhlYygpIGFyZyAyIG11c3QgYmUgYSBkaWN0LCBub3QgJS4xMDBzIiwKKyAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX1R5cGVFcnJvciwgImV4ZWMoKSBnbG9iYWxzIG11c3QgYmUgYSBkaWN0LCBub3QgJS4xMDBzIiwKICAgICAgICAgICAgICAgICAgICAgIGdsb2JhbHMtPm9iX3R5cGUtPnRwX25hbWUpOwogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CiAgICAgaWYgKCFQeU1hcHBpbmdfQ2hlY2sobG9jYWxzKSkgewogICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVHlwZUVycm9yLAotICAgICAgICAgICAgImFyZyAzIG11c3QgYmUgYSBtYXBwaW5nIG9yIE5vbmUsIG5vdCAlLjEwMHMiLAorICAgICAgICAgICAgImxvY2FscyBtdXN0IGJlIGEgbWFwcGluZyBvciBOb25lLCBub3QgJS4xMDBzIiwKICAgICAgICAgICAgIGxvY2Fscy0+b2JfdHlwZS0+dHBfbmFtZSk7CiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KQEAgLTg3MiwyMiArMTIwMCwyMiBAQAogICAgICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQogCi0gICAgaWYgKFB5Q29kZV9DaGVjayhwcm9nKSkgewotICAgICAgICBpZiAoUHlDb2RlX0dldE51bUZyZWUoKFB5Q29kZU9iamVjdCAqKXByb2cpID4gMCkgeworICAgIGlmIChQeUNvZGVfQ2hlY2soc291cmNlKSkgeworICAgICAgICBpZiAoUHlDb2RlX0dldE51bUZyZWUoKFB5Q29kZU9iamVjdCAqKXNvdXJjZSkgPiAwKSB7CiAgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLAogICAgICAgICAgICAgICAgICJjb2RlIG9iamVjdCBwYXNzZWQgdG8gZXhlYygpIG1heSBub3QgIgogICAgICAgICAgICAgICAgICJjb250YWluIGZyZWUgdmFyaWFibGVzIik7CiAgICAgICAgICAgICByZXR1cm4gTlVMTDsKICAgICAgICAgfQotICAgICAgICB2ID0gUHlFdmFsX0V2YWxDb2RlKHByb2csIGdsb2JhbHMsIGxvY2Fscyk7CisgICAgICAgIHYgPSBQeUV2YWxfRXZhbENvZGUoc291cmNlLCBnbG9iYWxzLCBsb2NhbHMpOwogICAgIH0KICAgICBlbHNlIHsKICAgICAgICAgUHlfYnVmZmVyIHZpZXcgPSB7TlVMTCwgTlVMTH07CiAgICAgICAgIGNvbnN0IGNoYXIgKnN0cjsKICAgICAgICAgUHlDb21waWxlckZsYWdzIGNmOwogICAgICAgICBjZi5jZl9mbGFncyA9IFB5Q0ZfU09VUkNFX0lTX1VURjg7Ci0gICAgICAgIHN0ciA9IHNvdXJjZV9hc19zdHJpbmcocHJvZywgImV4ZWMiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzdHJpbmcsIGJ5dGVzIG9yIGNvZGUiLCAmY2YsICZ2aWV3KTsKKyAgICAgICAgc3RyID0gc291cmNlX2FzX3N0cmluZyhzb3VyY2UsICJleGVjIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzdHJpbmcsIGJ5dGVzIG9yIGNvZGUiLCAmY2YsICZ2aWV3KTsKICAgICAgICAgaWYgKHN0ciA9PSBOVUxMKQogICAgICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgICAgIGlmIChQeUV2YWxfTWVyZ2VDb21waWxlckZsYWdzKCZjZikpCkBAIC05MDMsMTUgKzEyMzEsOCBAQAogICAgIFB5X1JFVFVSTl9OT05FOwogfQogCi1QeURvY19TVFJWQVIoZXhlY19kb2MsCi0iZXhlYyhvYmplY3RbLCBnbG9iYWxzWywgbG9jYWxzXV0pXG5cCi1cblwKLVJlYWQgYW5kIGV4ZWN1dGUgY29kZSBmcm9tIGFuIG9iamVjdCwgd2hpY2ggY2FuIGJlIGEgc3RyaW5nIG9yIGEgY29kZVxuXAotb2JqZWN0LlxuXAotVGhlIGdsb2JhbHMgYW5kIGxvY2FscyBhcmUgZGljdGlvbmFyaWVzLCBkZWZhdWx0aW5nIHRvIHRoZSBjdXJyZW50XG5cCi1nbG9iYWxzIGFuZCBsb2NhbHMuICBJZiBvbmx5IGdsb2JhbHMgaXMgZ2l2ZW4sIGxvY2FscyBkZWZhdWx0cyB0byBpdC4iKTsKIAotCisvKiBBQzogY2Fubm90IGNvbnZlcnQgeWV0LCBhcyBuZWVkcyBQRVAgNDU3IGdyb3VwIHN1cHBvcnQgaW4gaW5zcGVjdCAqLwogc3RhdGljIFB5T2JqZWN0ICoKIGJ1aWx0aW5fZ2V0YXR0cihQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCiB7CkBAIC05NDUsOCArMTI2NiwzOSBAQAogZXhpc3Q7IHdpdGhvdXQgaXQsIGFuIGV4Y2VwdGlvbiBpcyByYWlzZWQgaW4gdGhhdCBjYXNlLiIpOwogCiAKKy8qW2NsaW5pYyBpbnB1dF0KK2dsb2JhbHMgYXMgYnVpbHRpbl9nbG9iYWxzCisKK1JldHVybiB0aGUgZGljdGlvbmFyeSBjb250YWluaW5nIHRoZSBjdXJyZW50IHNjb3BlJ3MgZ2xvYmFsIHZhcmlhYmxlcy4KKworTk9URTogVXBkYXRlcyB0byB0aGlzIGRpY3Rpb25hcnkgKndpbGwqIGFmZmVjdCBuYW1lIGxvb2t1cHMgaW4gdGhlIGN1cnJlbnQKK2dsb2JhbCBzY29wZSBhbmQgdmljZS12ZXJzYS4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKGJ1aWx0aW5fZ2xvYmFsc19fZG9jX18sCisiZ2xvYmFscygkbW9kdWxlLCAvKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJuIHRoZSBkaWN0aW9uYXJ5IGNvbnRhaW5pbmcgdGhlIGN1cnJlbnQgc2NvcGVcJ3MgZ2xvYmFsIHZhcmlhYmxlcy5cbiIKKyJcbiIKKyJOT1RFOiBVcGRhdGVzIHRvIHRoaXMgZGljdGlvbmFyeSAqd2lsbCogYWZmZWN0IG5hbWUgbG9va3VwcyBpbiB0aGUgY3VycmVudFxuIgorImdsb2JhbCBzY29wZSBhbmQgdmljZS12ZXJzYS4iKTsKKworI2RlZmluZSBCVUlMVElOX0dMT0JBTFNfTUVUSE9EREVGICAgIFwKKyAgICB7Imdsb2JhbHMiLCAoUHlDRnVuY3Rpb24pYnVpbHRpbl9nbG9iYWxzLCBNRVRIX05PQVJHUywgYnVpbHRpbl9nbG9iYWxzX19kb2NfX30sCisKIHN0YXRpYyBQeU9iamVjdCAqCi1idWlsdGluX2dsb2JhbHMoUHlPYmplY3QgKnNlbGYpCitidWlsdGluX2dsb2JhbHNfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK2J1aWx0aW5fZ2xvYmFscyhQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqUHlfVU5VU0VEKGlnbm9yZWQpKQoreworICAgIHJldHVybiBidWlsdGluX2dsb2JhbHNfaW1wbChtb2R1bGUpOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorYnVpbHRpbl9nbG9iYWxzX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD0wNDg2NDBmNThiMWYyMGFkIGlucHV0PTkzMjc1NzZmOTJiYjQ4YmFdKi8KIHsKICAgICBQeU9iamVjdCAqZDsKIApAQCAtOTU1LDI2ICsxMzA3LDYyIEBACiAgICAgcmV0dXJuIGQ7CiB9CiAKLVB5RG9jX1NUUlZBUihnbG9iYWxzX2RvYywKLSJnbG9iYWxzKCkgLT4gZGljdGlvbmFyeVxuXAotXG5cCi1SZXR1cm4gdGhlIGRpY3Rpb25hcnkgY29udGFpbmluZyB0aGUgY3VycmVudCBzY29wZSdzIGdsb2JhbCB2YXJpYWJsZXMuIik7CiAKKy8qW2NsaW5pYyBpbnB1dF0KK2hhc2F0dHIgYXMgYnVpbHRpbl9oYXNhdHRyCisKKyAgICBvYmo6ICdPJworICAgIG5hbWU6ICdPJworICAgIC8KKworUmV0dXJuIHdoZXRoZXIgdGhlIG9iamVjdCBoYXMgYW4gYXR0cmlidXRlIHdpdGggdGhlIGdpdmVuIG5hbWUuCisKK1RoaXMgaXMgZG9uZSBieSBjYWxsaW5nIGdldGF0dHIob2JqLCBuYW1lKSBhbmQgY2F0Y2hpbmcgQXR0cmlidXRlRXJyb3IuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihidWlsdGluX2hhc2F0dHJfX2RvY19fLAorImhhc2F0dHIoJG1vZHVsZSwgb2JqLCBuYW1lLCAvKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJuIHdoZXRoZXIgdGhlIG9iamVjdCBoYXMgYW4gYXR0cmlidXRlIHdpdGggdGhlIGdpdmVuIG5hbWUuXG4iCisiXG4iCisiVGhpcyBpcyBkb25lIGJ5IGNhbGxpbmcgZ2V0YXR0cihvYmosIG5hbWUpIGFuZCBjYXRjaGluZyBBdHRyaWJ1dGVFcnJvci4iKTsKKworI2RlZmluZSBCVUlMVElOX0hBU0FUVFJfTUVUSE9EREVGICAgIFwKKyAgICB7Imhhc2F0dHIiLCAoUHlDRnVuY3Rpb24pYnVpbHRpbl9oYXNhdHRyLCBNRVRIX1ZBUkFSR1MsIGJ1aWx0aW5faGFzYXR0cl9fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotYnVpbHRpbl9oYXNhdHRyKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK2J1aWx0aW5faGFzYXR0cl9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICpvYmosIFB5T2JqZWN0ICpuYW1lKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK2J1aWx0aW5faGFzYXR0cihQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncykKIHsKLSAgICBQeU9iamVjdCAqdjsKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBQeU9iamVjdCAqb2JqOwogICAgIFB5T2JqZWN0ICpuYW1lOwogCi0gICAgaWYgKCFQeUFyZ19VbnBhY2tUdXBsZShhcmdzLCAiaGFzYXR0ciIsIDIsIDIsICZ2LCAmbmFtZSkpCi0gICAgICAgIHJldHVybiBOVUxMOworICAgIGlmICghUHlBcmdfVW5wYWNrVHVwbGUoYXJncywgImhhc2F0dHIiLAorICAgICAgICAyLCAyLAorICAgICAgICAmb2JqLCAmbmFtZSkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBidWlsdGluX2hhc2F0dHJfaW1wbChtb2R1bGUsIG9iaiwgbmFtZSk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK2J1aWx0aW5faGFzYXR0cl9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICpvYmosIFB5T2JqZWN0ICpuYW1lKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWUwYmQ5OTZlZjczZDEyMTcgaW5wdXQ9YjUwYmFkNWY3MzllYTEwZF0qLworeworICAgIFB5T2JqZWN0ICp2OworCiAgICAgaWYgKCFQeVVuaWNvZGVfQ2hlY2sobmFtZSkpIHsKICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwKICAgICAgICAgICAgICAgICAgICAgICAgICJoYXNhdHRyKCk6IGF0dHJpYnV0ZSBuYW1lIG11c3QgYmUgc3RyaW5nIik7CiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KLSAgICB2ID0gUHlPYmplY3RfR2V0QXR0cih2LCBuYW1lKTsKKyAgICB2ID0gUHlPYmplY3RfR2V0QXR0cihvYmosIG5hbWUpOwogICAgIGlmICh2ID09IE5VTEwpIHsKICAgICAgICAgaWYgKFB5RXJyX0V4Y2VwdGlvbk1hdGNoZXMoUHlFeGNfQXR0cmlidXRlRXJyb3IpKSB7CiAgICAgICAgICAgICBQeUVycl9DbGVhcigpOwpAQCAtOTg2LDI1ICsxMzc0LDQzIEBACiAgICAgUHlfUkVUVVJOX1RSVUU7CiB9CiAKLVB5RG9jX1NUUlZBUihoYXNhdHRyX2RvYywKLSJoYXNhdHRyKG9iamVjdCwgbmFtZSkgLT4gYm9vbFxuXAotXG5cCi1SZXR1cm4gd2hldGhlciB0aGUgb2JqZWN0IGhhcyBhbiBhdHRyaWJ1dGUgd2l0aCB0aGUgZ2l2ZW4gbmFtZS5cblwKLShUaGlzIGlzIGRvbmUgYnkgY2FsbGluZyBnZXRhdHRyKG9iamVjdCwgbmFtZSkgYW5kIGNhdGNoaW5nIEF0dHJpYnV0ZUVycm9yLikiKTsKIAorLyogQUM6IGdkYidzIGludGVncmF0aW9uIHdpdGggQ1B5dGhvbiByZWxpZXMgb24gYnVpbHRpbl9pZCBoYXZpbmcKKyAqIHRoZSAqZXhhY3QqIHBhcmFtZXRlciBuYW1lcyBvZiAic2VsZiIgYW5kICJ2Iiwgc28gd2UgZW5zdXJlIHdlCisgKiBwcmVzZXJ2ZSB0aG9zZSBuYW1lIHJhdGhlciB0aGFuIHVzaW5nIHRoZSBBQyBkZWZhdWx0cy4KKyAqLworLypbY2xpbmljIGlucHV0XQoraWQgYXMgYnVpbHRpbl9pZAorCisgICAgc2VsZjogc2VsZih0eXBlPSJQeU1vZHVsZURlZiAqIikKKyAgICBvYmogYXMgdjogJ08nCisgICAgLworCitSZXR1cm4gdGhlIGlkZW50aXR5IG9mIGFuIG9iamVjdC4KKworVGhpcyBpcyBndWFyYW50ZWVkIHRvIGJlIHVuaXF1ZSBhbW9uZyBzaW11bHRhbmVvdXNseSBleGlzdGluZyBvYmplY3RzLgorKENQeXRob24gdXNlcyB0aGUgb2JqZWN0J3MgbWVtb3J5IGFkZHJlc3MuKQorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIoYnVpbHRpbl9pZF9fZG9jX18sCisiaWQoJG1vZHVsZSwgb2JqLCAvKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJuIHRoZSBpZGVudGl0eSBvZiBhbiBvYmplY3QuXG4iCisiXG4iCisiVGhpcyBpcyBndWFyYW50ZWVkIHRvIGJlIHVuaXF1ZSBhbW9uZyBzaW11bHRhbmVvdXNseSBleGlzdGluZyBvYmplY3RzLlxuIgorIihDUHl0aG9uIHVzZXMgdGhlIG9iamVjdFwncyBtZW1vcnkgYWRkcmVzcy4pIik7CisKKyNkZWZpbmUgQlVJTFRJTl9JRF9NRVRIT0RERUYgICAgXAorICAgIHsiaWQiLCAoUHlDRnVuY3Rpb24pYnVpbHRpbl9pZCwgTUVUSF9PLCBidWlsdGluX2lkX19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1idWlsdGluX2lkKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqdikKK2J1aWx0aW5faWQoUHlNb2R1bGVEZWYgKnNlbGYsIFB5T2JqZWN0ICp2KQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWY1NGRhMDljOTE5OTJlNjMgaW5wdXQ9YTFmOTg4ZDk4MzU3MzQxZF0qLwogewogICAgIHJldHVybiBQeUxvbmdfRnJvbVZvaWRQdHIodik7CiB9CiAKLVB5RG9jX1NUUlZBUihpZF9kb2MsCi0iaWQob2JqZWN0KSAtPiBpbnRlZ2VyXG5cCi1cblwKLVJldHVybiB0aGUgaWRlbnRpdHkgb2YgYW4gb2JqZWN0LiAgVGhpcyBpcyBndWFyYW50ZWVkIHRvIGJlIHVuaXF1ZSBhbW9uZ1xuXAotc2ltdWx0YW5lb3VzbHkgZXhpc3Rpbmcgb2JqZWN0cy4gIChIaW50OiBpdCdzIHRoZSBvYmplY3QncyBtZW1vcnkgYWRkcmVzcy4pIik7Ci0KIAogLyogbWFwIG9iamVjdCAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiAKQEAgLTExNzcsNiArMTU4Myw4IEBACiAgICAgUHlPYmplY3RfR0NfRGVsLCAgICAgICAgICAgICAgICAgICAgLyogdHBfZnJlZSAqLwogfTsKIAorCisvKiBBQzogY2Fubm90IGNvbnZlcnQgeWV0LCBhcyBuZWVkcyBQRVAgNDU3IGdyb3VwIHN1cHBvcnQgaW4gaW5zcGVjdCAqLwogc3RhdGljIFB5T2JqZWN0ICoKIGJ1aWx0aW5fbmV4dChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCiB7CkBAIC0xMjE4LDgzICsxNjI2LDE4NiBAQAogaXMgZXhoYXVzdGVkLCBpdCBpcyByZXR1cm5lZCBpbnN0ZWFkIG9mIHJhaXNpbmcgU3RvcEl0ZXJhdGlvbi4iKTsKIAogCisvKltjbGluaWMgaW5wdXRdCitzZXRhdHRyIGFzIGJ1aWx0aW5fc2V0YXR0cgorCisgICAgb2JqOiAnTycKKyAgICBuYW1lOiAnTycKKyAgICB2YWx1ZTogJ08nCisgICAgLworCitTZXRzIHRoZSBuYW1lZCBhdHRyaWJ1dGUgb24gdGhlIGdpdmVuIG9iamVjdCB0byB0aGUgc3BlY2lmaWVkIHZhbHVlLgorCitzZXRhdHRyKHgsICd5JywgdikgaXMgZXF1aXZhbGVudCB0byBgYHgueSA9IHYnJworW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIoYnVpbHRpbl9zZXRhdHRyX19kb2NfXywKKyJzZXRhdHRyKCRtb2R1bGUsIG9iaiwgbmFtZSwgdmFsdWUsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJTZXRzIHRoZSBuYW1lZCBhdHRyaWJ1dGUgb24gdGhlIGdpdmVuIG9iamVjdCB0byB0aGUgc3BlY2lmaWVkIHZhbHVlLlxuIgorIlxuIgorInNldGF0dHIoeCwgXCd5XCcsIHYpIGlzIGVxdWl2YWxlbnQgdG8gYGB4LnkgPSB2XCdcJyIpOworCisjZGVmaW5lIEJVSUxUSU5fU0VUQVRUUl9NRVRIT0RERUYgICAgXAorICAgIHsic2V0YXR0ciIsIChQeUNGdW5jdGlvbilidWlsdGluX3NldGF0dHIsIE1FVEhfVkFSQVJHUywgYnVpbHRpbl9zZXRhdHRyX19kb2NfX30sCisKIHN0YXRpYyBQeU9iamVjdCAqCi1idWlsdGluX3NldGF0dHIoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQorYnVpbHRpbl9zZXRhdHRyX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKm9iaiwgUHlPYmplY3QgKm5hbWUsIFB5T2JqZWN0ICp2YWx1ZSk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitidWlsdGluX3NldGF0dHIoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MpCiB7Ci0gICAgUHlPYmplY3QgKnY7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgUHlPYmplY3QgKm9iajsKICAgICBQeU9iamVjdCAqbmFtZTsKICAgICBQeU9iamVjdCAqdmFsdWU7CiAKLSAgICBpZiAoIVB5QXJnX1VucGFja1R1cGxlKGFyZ3MsICJzZXRhdHRyIiwgMywgMywgJnYsICZuYW1lLCAmdmFsdWUpKQotICAgICAgICByZXR1cm4gTlVMTDsKLSAgICBpZiAoUHlPYmplY3RfU2V0QXR0cih2LCBuYW1lLCB2YWx1ZSkgIT0gMCkKKyAgICBpZiAoIVB5QXJnX1VucGFja1R1cGxlKGFyZ3MsICJzZXRhdHRyIiwKKyAgICAgICAgMywgMywKKyAgICAgICAgJm9iaiwgJm5hbWUsICZ2YWx1ZSkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBidWlsdGluX3NldGF0dHJfaW1wbChtb2R1bGUsIG9iaiwgbmFtZSwgdmFsdWUpOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitidWlsdGluX3NldGF0dHJfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqb2JqLCBQeU9iamVjdCAqbmFtZSwgUHlPYmplY3QgKnZhbHVlKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTQzMzZkY2JiZjc2OTFkMmQgaW5wdXQ9ZmJlN2U1MzQwMzExNmI5M10qLworeworICAgIGlmIChQeU9iamVjdF9TZXRBdHRyKG9iaiwgbmFtZSwgdmFsdWUpICE9IDApCiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIFB5X0lOQ1JFRihQeV9Ob25lKTsKICAgICByZXR1cm4gUHlfTm9uZTsKIH0KIAotUHlEb2NfU1RSVkFSKHNldGF0dHJfZG9jLAotInNldGF0dHIob2JqZWN0LCBuYW1lLCB2YWx1ZSlcblwKLVxuXAotU2V0IGEgbmFtZWQgYXR0cmlidXRlIG9uIGFuIG9iamVjdDsgc2V0YXR0cih4LCAneScsIHYpIGlzIGVxdWl2YWxlbnQgdG9cblwKLWBgeC55ID0gdicnLiIpOwogCisvKltjbGluaWMgaW5wdXRdCitkZWxhdHRyIGFzIGJ1aWx0aW5fZGVsYXR0cgorCisgICAgb2JqOiAnTycKKyAgICBuYW1lOiAnTycKKyAgICAvCisKK0RlbGV0ZXMgdGhlIG5hbWVkIGF0dHJpYnV0ZSBmcm9tIHRoZSBnaXZlbiBvYmplY3QuCisKK2RlbGF0dHIoeCwgJ3knKSBpcyBlcXVpdmFsZW50IHRvIGBgZGVsIHgueScnCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihidWlsdGluX2RlbGF0dHJfX2RvY19fLAorImRlbGF0dHIoJG1vZHVsZSwgb2JqLCBuYW1lLCAvKVxuIgorIi0tXG4iCisiXG4iCisiRGVsZXRlcyB0aGUgbmFtZWQgYXR0cmlidXRlIGZyb20gdGhlIGdpdmVuIG9iamVjdC5cbiIKKyJcbiIKKyJkZWxhdHRyKHgsIFwneVwnKSBpcyBlcXVpdmFsZW50IHRvIGBgZGVsIHgueVwnXCciKTsKKworI2RlZmluZSBCVUlMVElOX0RFTEFUVFJfTUVUSE9EREVGICAgIFwKKyAgICB7ImRlbGF0dHIiLCAoUHlDRnVuY3Rpb24pYnVpbHRpbl9kZWxhdHRyLCBNRVRIX1ZBUkFSR1MsIGJ1aWx0aW5fZGVsYXR0cl9fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotYnVpbHRpbl9kZWxhdHRyKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK2J1aWx0aW5fZGVsYXR0cl9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICpvYmosIFB5T2JqZWN0ICpuYW1lKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK2J1aWx0aW5fZGVsYXR0cihQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncykKIHsKLSAgICBQeU9iamVjdCAqdjsKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBQeU9iamVjdCAqb2JqOwogICAgIFB5T2JqZWN0ICpuYW1lOwogCi0gICAgaWYgKCFQeUFyZ19VbnBhY2tUdXBsZShhcmdzLCAiZGVsYXR0ciIsIDIsIDIsICZ2LCAmbmFtZSkpCi0gICAgICAgIHJldHVybiBOVUxMOwotICAgIGlmIChQeU9iamVjdF9TZXRBdHRyKHYsIG5hbWUsIChQeU9iamVjdCAqKU5VTEwpICE9IDApCisgICAgaWYgKCFQeUFyZ19VbnBhY2tUdXBsZShhcmdzLCAiZGVsYXR0ciIsCisgICAgICAgIDIsIDIsCisgICAgICAgICZvYmosICZuYW1lKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IGJ1aWx0aW5fZGVsYXR0cl9pbXBsKG1vZHVsZSwgb2JqLCBuYW1lKTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorYnVpbHRpbl9kZWxhdHRyX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKm9iaiwgUHlPYmplY3QgKm5hbWUpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9MzE5YzJkODg0YWE3NjljZiBpbnB1dD02NDdhZjJjZTkxODNhODIzXSovCit7CisgICAgaWYgKFB5T2JqZWN0X1NldEF0dHIob2JqLCBuYW1lLCAoUHlPYmplY3QgKilOVUxMKSAhPSAwKQogICAgICAgICByZXR1cm4gTlVMTDsKICAgICBQeV9JTkNSRUYoUHlfTm9uZSk7CiAgICAgcmV0dXJuIFB5X05vbmU7CiB9CiAKLVB5RG9jX1NUUlZBUihkZWxhdHRyX2RvYywKLSJkZWxhdHRyKG9iamVjdCwgbmFtZSlcblwKLVxuXAotRGVsZXRlIGEgbmFtZWQgYXR0cmlidXRlIG9uIGFuIG9iamVjdDsgZGVsYXR0cih4LCAneScpIGlzIGVxdWl2YWxlbnQgdG9cblwKLWBgZGVsIHgueScnLiIpOwogCisvKltjbGluaWMgaW5wdXRdCitoYXNoIGFzIGJ1aWx0aW5faGFzaAorCisgICAgb2JqOiAnTycKKyAgICAvCisKK1JldHVybiB0aGUgaGFzaCB2YWx1ZSBmb3IgdGhlIGdpdmVuIG9iamVjdC4KKworVHdvIG9iamVjdHMgdGhhdCBjb21wYXJlIGVxdWFsIG11c3QgYWxzbyBoYXZlIHRoZSBzYW1lIGhhc2ggdmFsdWUsIGJ1dCB0aGUKK3JldmVyc2UgaXMgbm90IG5lY2Vzc2FyaWx5IHRydWUuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihidWlsdGluX2hhc2hfX2RvY19fLAorImhhc2goJG1vZHVsZSwgb2JqLCAvKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJuIHRoZSBoYXNoIHZhbHVlIGZvciB0aGUgZ2l2ZW4gb2JqZWN0LlxuIgorIlxuIgorIlR3byBvYmplY3RzIHRoYXQgY29tcGFyZSBlcXVhbCBtdXN0IGFsc28gaGF2ZSB0aGUgc2FtZSBoYXNoIHZhbHVlLCBidXQgdGhlXG4iCisicmV2ZXJzZSBpcyBub3QgbmVjZXNzYXJpbHkgdHJ1ZS4iKTsKKworI2RlZmluZSBCVUlMVElOX0hBU0hfTUVUSE9EREVGICAgIFwKKyAgICB7Imhhc2giLCAoUHlDRnVuY3Rpb24pYnVpbHRpbl9oYXNoLCBNRVRIX08sIGJ1aWx0aW5faGFzaF9fZG9jX199LAogCiBzdGF0aWMgUHlPYmplY3QgKgotYnVpbHRpbl9oYXNoKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqdikKK2J1aWx0aW5faGFzaChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqb2JqKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTFlYzQ2NzYxMWMxMzQ2OGIgaW5wdXQ9Y2NjNGQyYjlhMzUxZGY0ZV0qLwogewogICAgIFB5X2hhc2hfdCB4OwogCi0gICAgeCA9IFB5T2JqZWN0X0hhc2godik7CisgICAgeCA9IFB5T2JqZWN0X0hhc2gob2JqKTsKICAgICBpZiAoeCA9PSAtMSkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgcmV0dXJuIFB5TG9uZ19Gcm9tU3NpemVfdCh4KTsKIH0KIAotUHlEb2NfU1RSVkFSKGhhc2hfZG9jLAotImhhc2gob2JqZWN0KSAtPiBpbnRlZ2VyXG5cCi1cblwKLVJldHVybiBhIGhhc2ggdmFsdWUgZm9yIHRoZSBvYmplY3QuICBUd28gb2JqZWN0cyB3aXRoIHRoZSBzYW1lIHZhbHVlIGhhdmVcblwKLXRoZSBzYW1lIGhhc2ggdmFsdWUuICBUaGUgcmV2ZXJzZSBpcyBub3QgbmVjZXNzYXJpbHkgdHJ1ZSwgYnV0IGxpa2VseS4iKTsKIAorLypbY2xpbmljIGlucHV0XQoraGV4IGFzIGJ1aWx0aW5faGV4CisKKyAgICBudW1iZXI6ICdPJworICAgIC8KKworUmV0dXJuIHRoZSBoZXhhZGVjaW1hbCByZXByZXNlbnRhdGlvbiBvZiBhbiBpbnRlZ2VyLgorCisgICA+Pj4gaGV4KDEyNjQ4NDMwKQorICAgJzB4YzBmZmVlJworW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIoYnVpbHRpbl9oZXhfX2RvY19fLAorImhleCgkbW9kdWxlLCBudW1iZXIsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJSZXR1cm4gdGhlIGhleGFkZWNpbWFsIHJlcHJlc2VudGF0aW9uIG9mIGFuIGludGVnZXIuXG4iCisiXG4iCisiICAgPj4+IGhleCgxMjY0ODQzMClcbiIKKyIgICBcJzB4YzBmZmVlXCciKTsKKworI2RlZmluZSBCVUlMVElOX0hFWF9NRVRIT0RERUYgICAgXAorICAgIHsiaGV4IiwgKFB5Q0Z1bmN0aW9uKWJ1aWx0aW5faGV4LCBNRVRIX08sIGJ1aWx0aW5faGV4X19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1idWlsdGluX2hleChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKnYpCitidWlsdGluX2hleChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqbnVtYmVyKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWYxOGU5NDM5YWVhYTJjNmMgaW5wdXQ9ZTgxNjIwMGIwYTcyOGViZV0qLwogewotICAgIHJldHVybiBQeU51bWJlcl9Ub0Jhc2UodiwgMTYpOworICAgIHJldHVybiBQeU51bWJlcl9Ub0Jhc2UobnVtYmVyLCAxNik7CiB9CiAKLVB5RG9jX1NUUlZBUihoZXhfZG9jLAotImhleChudW1iZXIpIC0+IHN0cmluZ1xuXAotXG5cCi1SZXR1cm4gdGhlIGhleGFkZWNpbWFsIHJlcHJlc2VudGF0aW9uIG9mIGFuIGludGVnZXIuXG5cCi1cblwKLSAgID4+PiBoZXgoMzczNTkyODU1OSlcblwKLSAgICcweGRlYWRiZWVmJ1xuXAotIik7CiAKLQorLyogQUM6IGNhbm5vdCBjb252ZXJ0IHlldCwgYXMgbmVlZHMgUEVQIDQ1NyBncm91cCBzdXBwb3J0IGluIGluc3BlY3QgKi8KIHN0YXRpYyBQeU9iamVjdCAqCiBidWlsdGluX2l0ZXIoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQogewpAQCAtMTMyMSwyNSArMTgzMiw3MiBAQAogSW4gdGhlIHNlY29uZCBmb3JtLCB0aGUgY2FsbGFibGUgaXMgY2FsbGVkIHVudGlsIGl0IHJldHVybnMgdGhlIHNlbnRpbmVsLiIpOwogCiAKKy8qW2NsaW5pYyBpbnB1dF0KK2xlbiBhcyBidWlsdGluX2xlbgorCisgICAgb2JqOiAnTycKKyAgICAvCisKK1JldHVybiB0aGUgbnVtYmVyIG9mIGl0ZW1zIGluIGEgY29udGFpbmVyLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIoYnVpbHRpbl9sZW5fX2RvY19fLAorImxlbigkbW9kdWxlLCBvYmosIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJSZXR1cm4gdGhlIG51bWJlciBvZiBpdGVtcyBpbiBhIGNvbnRhaW5lci4iKTsKKworI2RlZmluZSBCVUlMVElOX0xFTl9NRVRIT0RERUYgICAgXAorICAgIHsibGVuIiwgKFB5Q0Z1bmN0aW9uKWJ1aWx0aW5fbGVuLCBNRVRIX08sIGJ1aWx0aW5fbGVuX19kb2NfX30sCisKIHN0YXRpYyBQeU9iamVjdCAqCi1idWlsdGluX2xlbihQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKnYpCitidWlsdGluX2xlbihQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqb2JqKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTVhMzhiMGRiNDA3NjE3MDUgaW5wdXQ9MmU1ZmYxNWRiOWEyZGUyMl0qLwogewogICAgIFB5X3NzaXplX3QgcmVzOwogCi0gICAgcmVzID0gUHlPYmplY3RfU2l6ZSh2KTsKKyAgICByZXMgPSBQeU9iamVjdF9TaXplKG9iaik7CiAgICAgaWYgKHJlcyA8IDAgJiYgUHlFcnJfT2NjdXJyZWQoKSkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgcmV0dXJuIFB5TG9uZ19Gcm9tU3NpemVfdChyZXMpOwogfQogCi1QeURvY19TVFJWQVIobGVuX2RvYywKLSJsZW4ob2JqZWN0KVxuXAotXG5cCi1SZXR1cm4gdGhlIG51bWJlciBvZiBpdGVtcyBvZiBhIHNlcXVlbmNlIG9yIGNvbGxlY3Rpb24uIik7CiAKKy8qW2NsaW5pYyBpbnB1dF0KK2xvY2FscyBhcyBidWlsdGluX2xvY2FscworCitSZXR1cm4gYSBkaWN0aW9uYXJ5IGNvbnRhaW5pbmcgdGhlIGN1cnJlbnQgc2NvcGUncyBsb2NhbCB2YXJpYWJsZXMuCisKK05PVEU6IFdoZXRoZXIgb3Igbm90IHVwZGF0ZXMgdG8gdGhpcyBkaWN0aW9uYXJ5IHdpbGwgYWZmZWN0IG5hbWUgbG9va3VwcyBpbgordGhlIGxvY2FsIHNjb3BlIGFuZCB2aWNlLXZlcnNhIGlzICppbXBsZW1lbnRhdGlvbiBkZXBlbmRlbnQqIGFuZCBub3QKK2NvdmVyZWQgYnkgYW55IGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IGd1YXJhbnRlZXMuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihidWlsdGluX2xvY2Fsc19fZG9jX18sCisibG9jYWxzKCRtb2R1bGUsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJSZXR1cm4gYSBkaWN0aW9uYXJ5IGNvbnRhaW5pbmcgdGhlIGN1cnJlbnQgc2NvcGVcJ3MgbG9jYWwgdmFyaWFibGVzLlxuIgorIlxuIgorIk5PVEU6IFdoZXRoZXIgb3Igbm90IHVwZGF0ZXMgdG8gdGhpcyBkaWN0aW9uYXJ5IHdpbGwgYWZmZWN0IG5hbWUgbG9va3VwcyBpblxuIgorInRoZSBsb2NhbCBzY29wZSBhbmQgdmljZS12ZXJzYSBpcyAqaW1wbGVtZW50YXRpb24gZGVwZW5kZW50KiBhbmQgbm90XG4iCisiY292ZXJlZCBieSBhbnkgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgZ3VhcmFudGVlcy4iKTsKKworI2RlZmluZSBCVUlMVElOX0xPQ0FMU19NRVRIT0RERUYgICAgXAorICAgIHsibG9jYWxzIiwgKFB5Q0Z1bmN0aW9uKWJ1aWx0aW5fbG9jYWxzLCBNRVRIX05PQVJHUywgYnVpbHRpbl9sb2NhbHNfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLWJ1aWx0aW5fbG9jYWxzKFB5T2JqZWN0ICpzZWxmKQorYnVpbHRpbl9sb2NhbHNfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK2J1aWx0aW5fbG9jYWxzKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICpQeV9VTlVTRUQoaWdub3JlZCkpCit7CisgICAgcmV0dXJuIGJ1aWx0aW5fbG9jYWxzX2ltcGwobW9kdWxlKTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK2J1aWx0aW5fbG9jYWxzX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD04YWM1MjUyMjkyNDM0NmUyIGlucHV0PTc4NzQwMThkNDc4ZDVjNGJdKi8KIHsKICAgICBQeU9iamVjdCAqZDsKIApAQCAtMTM0OCwxMSArMTkwNiw2IEBACiAgICAgcmV0dXJuIGQ7CiB9CiAKLVB5RG9jX1NUUlZBUihsb2NhbHNfZG9jLAotImxvY2FscygpIC0+IGRpY3Rpb25hcnlcblwKLVxuXAotVXBkYXRlIGFuZCByZXR1cm4gYSBkaWN0aW9uYXJ5IGNvbnRhaW5pbmcgdGhlIGN1cnJlbnQgc2NvcGUncyBsb2NhbCB2YXJpYWJsZXMuIik7Ci0KIAogc3RhdGljIFB5T2JqZWN0ICoKIG1pbl9tYXgoUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2RzLCBpbnQgb3ApCkBAIC0xNDU1LDYgKzIwMDgsNyBAQAogICAgIHJldHVybiBOVUxMOwogfQogCisvKiBBQzogY2Fubm90IGNvbnZlcnQgeWV0LCB3YWl0aW5nIGZvciAqYXJncyBzdXBwb3J0ICovCiBzdGF0aWMgUHlPYmplY3QgKgogYnVpbHRpbl9taW4oUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dkcykKIHsKQEAgLTE0NzEsNiArMjAyNSw3IEBACiBXaXRoIHR3byBvciBtb3JlIGFyZ3VtZW50cywgcmV0dXJuIHRoZSBzbWFsbGVzdCBhcmd1bWVudC4iKTsKIAogCisvKiBBQzogY2Fubm90IGNvbnZlcnQgeWV0LCB3YWl0aW5nIGZvciAqYXJncyBzdXBwb3J0ICovCiBzdGF0aWMgUHlPYmplY3QgKgogYnVpbHRpbl9tYXgoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dkcykKIHsKQEAgLTE0ODcsNTYgKzIwNDIsOTEgQEAKIFdpdGggdHdvIG9yIG1vcmUgYXJndW1lbnRzLCByZXR1cm4gdGhlIGxhcmdlc3QgYXJndW1lbnQuIik7CiAKIAorLypbY2xpbmljIGlucHV0XQorb2N0IGFzIGJ1aWx0aW5fb2N0CisKKyAgICBudW1iZXI6ICdPJworICAgIC8KKworUmV0dXJuIHRoZSBvY3RhbCByZXByZXNlbnRhdGlvbiBvZiBhbiBpbnRlZ2VyLgorCisgICA+Pj4gb2N0KDM0MjM5MSkKKyAgICcwbzEyMzQ1NjcnCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihidWlsdGluX29jdF9fZG9jX18sCisib2N0KCRtb2R1bGUsIG51bWJlciwgLylcbiIKKyItLVxuIgorIlxuIgorIlJldHVybiB0aGUgb2N0YWwgcmVwcmVzZW50YXRpb24gb2YgYW4gaW50ZWdlci5cbiIKKyJcbiIKKyIgICA+Pj4gb2N0KDM0MjM5MSlcbiIKKyIgICBcJzBvMTIzNDU2N1wnIik7CisKKyNkZWZpbmUgQlVJTFRJTl9PQ1RfTUVUSE9EREVGICAgIFwKKyAgICB7Im9jdCIsIChQeUNGdW5jdGlvbilidWlsdGluX29jdCwgTUVUSF9PLCBidWlsdGluX29jdF9fZG9jX199LAorCiBzdGF0aWMgUHlPYmplY3QgKgotYnVpbHRpbl9vY3QoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICp2KQorYnVpbHRpbl9vY3QoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKm51bWJlcikKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1iOTkyMzRkMWQ3MGE2NjczIGlucHV0PWEzYTM3MmI1MjFiM2RkMTNdKi8KIHsKLSAgICByZXR1cm4gUHlOdW1iZXJfVG9CYXNlKHYsIDgpOworICAgIHJldHVybiBQeU51bWJlcl9Ub0Jhc2UobnVtYmVyLCA4KTsKIH0KIAotUHlEb2NfU1RSVkFSKG9jdF9kb2MsCi0ib2N0KG51bWJlcikgLT4gc3RyaW5nXG5cCi1cblwKLVJldHVybiB0aGUgb2N0YWwgcmVwcmVzZW50YXRpb24gb2YgYW4gaW50ZWdlci5cblwKLVxuXAotICAgPj4+IG9jdCgzNDIzOTEpXG5cCi0gICAnMG8xMjM0NTY3J1xuXAotIik7CiAKKy8qW2NsaW5pYyBpbnB1dF0KK29yZCBhcyBidWlsdGluX29yZAorCisgICAgYzogJ08nCisgICAgLworCitSZXR1cm4gdGhlIFVuaWNvZGUgY29kZSBwb2ludCBmb3IgYSBvbmUtY2hhcmFjdGVyIHN0cmluZy4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKGJ1aWx0aW5fb3JkX19kb2NfXywKKyJvcmQoJG1vZHVsZSwgYywgLylcbiIKKyItLVxuIgorIlxuIgorIlJldHVybiB0aGUgVW5pY29kZSBjb2RlIHBvaW50IGZvciBhIG9uZS1jaGFyYWN0ZXIgc3RyaW5nLiIpOworCisjZGVmaW5lIEJVSUxUSU5fT1JEX01FVEhPRERFRiAgICBcCisgICAgeyJvcmQiLCAoUHlDRnVuY3Rpb24pYnVpbHRpbl9vcmQsIE1FVEhfTywgYnVpbHRpbl9vcmRfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLWJ1aWx0aW5fb3JkKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCogb2JqKQorYnVpbHRpbl9vcmQoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmMpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9YTg0NjZkMjNiZDc2ZGIzZiBpbnB1dD03NjIzNTVmODc0NTFlZmEzXSovCiB7CiAgICAgbG9uZyBvcmQ7CiAgICAgUHlfc3NpemVfdCBzaXplOwogCi0gICAgaWYgKFB5Qnl0ZXNfQ2hlY2sob2JqKSkgewotICAgICAgICBzaXplID0gUHlCeXRlc19HRVRfU0laRShvYmopOworICAgIGlmIChQeUJ5dGVzX0NoZWNrKGMpKSB7CisgICAgICAgIHNpemUgPSBQeUJ5dGVzX0dFVF9TSVpFKGMpOwogICAgICAgICBpZiAoc2l6ZSA9PSAxKSB7Ci0gICAgICAgICAgICBvcmQgPSAobG9uZykoKHVuc2lnbmVkIGNoYXIpKlB5Qnl0ZXNfQVNfU1RSSU5HKG9iaikpOworICAgICAgICAgICAgb3JkID0gKGxvbmcpKCh1bnNpZ25lZCBjaGFyKSpQeUJ5dGVzX0FTX1NUUklORyhjKSk7CiAgICAgICAgICAgICByZXR1cm4gUHlMb25nX0Zyb21Mb25nKG9yZCk7CiAgICAgICAgIH0KICAgICB9Ci0gICAgZWxzZSBpZiAoUHlVbmljb2RlX0NoZWNrKG9iaikpIHsKLSAgICAgICAgaWYgKFB5VW5pY29kZV9SRUFEWShvYmopID09IC0xKQorICAgIGVsc2UgaWYgKFB5VW5pY29kZV9DaGVjayhjKSkgeworICAgICAgICBpZiAoUHlVbmljb2RlX1JFQURZKGMpID09IC0xKQogICAgICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgICAgIHNpemUgPSBQeVVuaWNvZGVfR0VUX0xFTkdUSChvYmopOworICAgICAgICBzaXplID0gUHlVbmljb2RlX0dFVF9MRU5HVEgoYyk7CiAgICAgICAgIGlmIChzaXplID09IDEpIHsKLSAgICAgICAgICAgIG9yZCA9IChsb25nKVB5VW5pY29kZV9SRUFEX0NIQVIob2JqLCAwKTsKKyAgICAgICAgICAgIG9yZCA9IChsb25nKVB5VW5pY29kZV9SRUFEX0NIQVIoYywgMCk7CiAgICAgICAgICAgICByZXR1cm4gUHlMb25nX0Zyb21Mb25nKG9yZCk7CiAgICAgICAgIH0KICAgICB9Ci0gICAgZWxzZSBpZiAoUHlCeXRlQXJyYXlfQ2hlY2sob2JqKSkgeworICAgIGVsc2UgaWYgKFB5Qnl0ZUFycmF5X0NoZWNrKGMpKSB7CiAgICAgICAgIC8qIFhYWCBIb3BlZnVsbHkgdGhpcyBpcyB0ZW1wb3JhcnkgKi8KLSAgICAgICAgc2l6ZSA9IFB5Qnl0ZUFycmF5X0dFVF9TSVpFKG9iaik7CisgICAgICAgIHNpemUgPSBQeUJ5dGVBcnJheV9HRVRfU0laRShjKTsKICAgICAgICAgaWYgKHNpemUgPT0gMSkgewotICAgICAgICAgICAgb3JkID0gKGxvbmcpKCh1bnNpZ25lZCBjaGFyKSpQeUJ5dGVBcnJheV9BU19TVFJJTkcob2JqKSk7CisgICAgICAgICAgICBvcmQgPSAobG9uZykoKHVuc2lnbmVkIGNoYXIpKlB5Qnl0ZUFycmF5X0FTX1NUUklORyhjKSk7CiAgICAgICAgICAgICByZXR1cm4gUHlMb25nX0Zyb21Mb25nKG9yZCk7CiAgICAgICAgIH0KICAgICB9CiAgICAgZWxzZSB7CiAgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19UeXBlRXJyb3IsCiAgICAgICAgICAgICAgICAgICAgICAib3JkKCkgZXhwZWN0ZWQgc3RyaW5nIG9mIGxlbmd0aCAxLCBidXQgIiBcCi0gICAgICAgICAgICAgICAgICAgICAiJS4yMDBzIGZvdW5kIiwgb2JqLT5vYl90eXBlLT50cF9uYW1lKTsKKyAgICAgICAgICAgICAgICAgICAgICIlLjIwMHMgZm91bmQiLCBjLT5vYl90eXBlLT50cF9uYW1lKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQogCkBAIC0xNTQ3LDMxICsyMTM3LDYzIEBACiAgICAgcmV0dXJuIE5VTEw7CiB9CiAKLVB5RG9jX1ZBUihvcmRfZG9jKSA9IFB5RG9jX1NUUigKLSJvcmQoYykgLT4gaW50ZWdlclxuXAotXG5cCi1SZXR1cm4gdGhlIGludGVnZXIgb3JkaW5hbCBvZiBhIG9uZS1jaGFyYWN0ZXIgc3RyaW5nLiIKLSk7CiAKKy8qW2NsaW5pYyBpbnB1dF0KK3BvdyBhcyBidWlsdGluX3BvdworCisgICAgeDogJ08nCisgICAgeTogJ08nCisgICAgejogJ08nID0gTm9uZQorICAgIC8KKworRXF1aXZhbGVudCB0byB4Kip5ICh3aXRoIHR3byBhcmd1bWVudHMpIG9yIHgqKnkgJSB6ICh3aXRoIHRocmVlIGFyZ3VtZW50cykKKworU29tZSB0eXBlcywgc3VjaCBhcyBpbnRzLCBhcmUgYWJsZSB0byB1c2UgYSBtb3JlIGVmZmljaWVudCBhbGdvcml0aG0gd2hlbgoraW52b2tlZCB1c2luZyB0aGUgdGhyZWUgYXJndW1lbnQgZm9ybS4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKGJ1aWx0aW5fcG93X19kb2NfXywKKyJwb3coJG1vZHVsZSwgeCwgeSwgej1Ob25lLCAvKVxuIgorIi0tXG4iCisiXG4iCisiRXF1aXZhbGVudCB0byB4Kip5ICh3aXRoIHR3byBhcmd1bWVudHMpIG9yIHgqKnkgJSB6ICh3aXRoIHRocmVlIGFyZ3VtZW50cylcbiIKKyJcbiIKKyJTb21lIHR5cGVzLCBzdWNoIGFzIGludHMsIGFyZSBhYmxlIHRvIHVzZSBhIG1vcmUgZWZmaWNpZW50IGFsZ29yaXRobSB3aGVuXG4iCisiaW52b2tlZCB1c2luZyB0aGUgdGhyZWUgYXJndW1lbnQgZm9ybS4iKTsKKworI2RlZmluZSBCVUlMVElOX1BPV19NRVRIT0RERUYgICAgXAorICAgIHsicG93IiwgKFB5Q0Z1bmN0aW9uKWJ1aWx0aW5fcG93LCBNRVRIX1ZBUkFSR1MsIGJ1aWx0aW5fcG93X19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1idWlsdGluX3BvdyhQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCi17Ci0gICAgUHlPYmplY3QgKnYsICp3LCAqeiA9IFB5X05vbmU7CitidWlsdGluX3Bvd19pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICp4LCBQeU9iamVjdCAqeSwgUHlPYmplY3QgKnopOwogCi0gICAgaWYgKCFQeUFyZ19VbnBhY2tUdXBsZShhcmdzLCAicG93IiwgMiwgMywgJnYsICZ3LCAmeikpCi0gICAgICAgIHJldHVybiBOVUxMOwotICAgIHJldHVybiBQeU51bWJlcl9Qb3dlcih2LCB3LCB6KTsKK3N0YXRpYyBQeU9iamVjdCAqCitidWlsdGluX3BvdyhQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncykKK3sKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKKyAgICBQeU9iamVjdCAqeDsKKyAgICBQeU9iamVjdCAqeTsKKyAgICBQeU9iamVjdCAqeiA9IFB5X05vbmU7CisKKyAgICBpZiAoIVB5QXJnX1VucGFja1R1cGxlKGFyZ3MsICJwb3ciLAorICAgICAgICAyLCAzLAorICAgICAgICAmeCwgJnksICZ6KSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IGJ1aWx0aW5fcG93X2ltcGwobW9kdWxlLCB4LCB5LCB6KTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOwogfQogCi1QeURvY19TVFJWQVIocG93X2RvYywKLSJwb3coeCwgeVssIHpdKSAtPiBudW1iZXJcblwKLVxuXAotV2l0aCB0d28gYXJndW1lbnRzLCBlcXVpdmFsZW50IHRvIHgqKnkuICBXaXRoIHRocmVlIGFyZ3VtZW50cyxcblwKLWVxdWl2YWxlbnQgdG8gKHgqKnkpICUgeiwgYnV0IG1heSBiZSBtb3JlIGVmZmljaWVudCAoZS5nLiBmb3IgaW50cykuIik7CitzdGF0aWMgUHlPYmplY3QgKgorYnVpbHRpbl9wb3dfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqeCwgUHlPYmplY3QgKnksIFB5T2JqZWN0ICp6KQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWQwY2RmMzE0MzExZGVkYmEgaW5wdXQ9NTYxYTk0MmQ1ZjVjMTg5OV0qLworeworICAgIHJldHVybiBQeU51bWJlcl9Qb3dlcih4LCB5LCB6KTsKK30KIAogCi0KKy8qIEFDOiBjYW5ub3QgY29udmVydCB5ZXQsIHdhaXRpbmcgZm9yICphcmdzIHN1cHBvcnQgKi8KIHN0YXRpYyBQeU9iamVjdCAqCiBidWlsdGluX3ByaW50KFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3ZHMpCiB7CkBAIC0xNjY3LDEwICsyMjg5LDU5IEBACiBmbHVzaDogd2hldGhlciB0byBmb3JjaWJseSBmbHVzaCB0aGUgc3RyZWFtLiIpOwogCiAKKy8qW2NsaW5pYyBpbnB1dF0KK2lucHV0IGFzIGJ1aWx0aW5faW5wdXQKKworICAgIHByb21wdDogb2JqZWN0KGNfZGVmYXVsdD0iTlVMTCIpID0gTm9uZQorICAgIC8KKworUmVhZCBhIHN0cmluZyBmcm9tIHN0YW5kYXJkIGlucHV0LiAgVGhlIHRyYWlsaW5nIG5ld2xpbmUgaXMgc3RyaXBwZWQuCisKK1RoZSBwcm9tcHQgc3RyaW5nLCBpZiBnaXZlbiwgaXMgcHJpbnRlZCB0byBzdGFuZGFyZCBvdXRwdXQgd2l0aG91dCBhCit0cmFpbGluZyBuZXdsaW5lIGJlZm9yZSByZWFkaW5nIGlucHV0LgorCitJZiB0aGUgdXNlciBoaXRzIEVPRiAoKm5peDogQ3RybC1ELCBXaW5kb3dzOiBDdHJsLVorUmV0dXJuKSwgcmFpc2UgRU9GRXJyb3IuCitPbiAqbml4IHN5c3RlbXMsIHJlYWRsaW5lIGlzIHVzZWQgaWYgYXZhaWxhYmxlLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIoYnVpbHRpbl9pbnB1dF9fZG9jX18sCisiaW5wdXQoJG1vZHVsZSwgcHJvbXB0PU5vbmUsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJSZWFkIGEgc3RyaW5nIGZyb20gc3RhbmRhcmQgaW5wdXQuICBUaGUgdHJhaWxpbmcgbmV3bGluZSBpcyBzdHJpcHBlZC5cbiIKKyJcbiIKKyJUaGUgcHJvbXB0IHN0cmluZywgaWYgZ2l2ZW4sIGlzIHByaW50ZWQgdG8gc3RhbmRhcmQgb3V0cHV0IHdpdGhvdXQgYVxuIgorInRyYWlsaW5nIG5ld2xpbmUgYmVmb3JlIHJlYWRpbmcgaW5wdXQuXG4iCisiXG4iCisiSWYgdGhlIHVzZXIgaGl0cyBFT0YgKCpuaXg6IEN0cmwtRCwgV2luZG93czogQ3RybC1aK1JldHVybiksIHJhaXNlIEVPRkVycm9yLlxuIgorIk9uICpuaXggc3lzdGVtcywgcmVhZGxpbmUgaXMgdXNlZCBpZiBhdmFpbGFibGUuIik7CisKKyNkZWZpbmUgQlVJTFRJTl9JTlBVVF9NRVRIT0RERUYgICAgXAorICAgIHsiaW5wdXQiLCAoUHlDRnVuY3Rpb24pYnVpbHRpbl9pbnB1dCwgTUVUSF9WQVJBUkdTLCBidWlsdGluX2lucHV0X19kb2NfX30sCisKIHN0YXRpYyBQeU9iamVjdCAqCi1idWlsdGluX2lucHV0KFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK2J1aWx0aW5faW5wdXRfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqcHJvbXB0KTsKKworc3RhdGljIFB5T2JqZWN0ICoKK2J1aWx0aW5faW5wdXQoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MpCiB7Ci0gICAgUHlPYmplY3QgKnByb21wdGFyZyA9IE5VTEw7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgUHlPYmplY3QgKnByb21wdCA9IE5VTEw7CisKKyAgICBpZiAoIVB5QXJnX1VucGFja1R1cGxlKGFyZ3MsICJpbnB1dCIsCisgICAgICAgIDAsIDEsCisgICAgICAgICZwcm9tcHQpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gYnVpbHRpbl9pbnB1dF9pbXBsKG1vZHVsZSwgcHJvbXB0KTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorYnVpbHRpbl9pbnB1dF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICpwcm9tcHQpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9NjkzMjNiZjU2OTVmN2M5YyBpbnB1dD01ZThiYjcwYzI5MDhmZTNjXSovCit7CiAgICAgUHlPYmplY3QgKmZpbiA9IF9QeVN5c19HZXRPYmplY3RJZCgmUHlJZF9zdGRpbik7CiAgICAgUHlPYmplY3QgKmZvdXQgPSBfUHlTeXNfR2V0T2JqZWN0SWQoJlB5SWRfc3Rkb3V0KTsKICAgICBQeU9iamVjdCAqZmVyciA9IF9QeVN5c19HZXRPYmplY3RJZCgmUHlJZF9zdGRlcnIpOwpAQCAtMTY3OCwxMCArMjM0OSw2IEBACiAgICAgbG9uZyBmZDsKICAgICBpbnQgdHR5OwogCi0gICAgLyogUGFyc2UgYXJndW1lbnRzICovCi0gICAgaWYgKCFQeUFyZ19VbnBhY2tUdXBsZShhcmdzLCAiaW5wdXQiLCAwLCAxLCAmcHJvbXB0YXJnKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0KICAgICAvKiBDaGVjayB0aGF0IHN0ZGluL291dC9lcnIgYXJlIGludGFjdCAqLwogICAgIGlmIChmaW4gPT0gTlVMTCB8fCBmaW4gPT0gUHlfTm9uZSkgewogICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfUnVudGltZUVycm9yLApAQCAtMTczNyw3ICsyNDA0LDcgQEAKICAgICAvKiBJZiB3ZSdyZSBpbnRlcmFjdGl2ZSwgdXNlIChHTlUpIHJlYWRsaW5lICovCiAgICAgaWYgKHR0eSkgewogICAgICAgICBQeU9iamVjdCAqcG8gPSBOVUxMOwotICAgICAgICBjaGFyICpwcm9tcHQ7CisgICAgICAgIGNoYXIgKnByb21wdHN0cjsKICAgICAgICAgY2hhciAqcyA9IE5VTEw7CiAgICAgICAgIFB5T2JqZWN0ICpzdGRpbl9lbmNvZGluZyA9IE5VTEwsICpzdGRpbl9lcnJvcnMgPSBOVUxMOwogICAgICAgICBQeU9iamVjdCAqc3Rkb3V0X2VuY29kaW5nID0gTlVMTCwgKnN0ZG91dF9lcnJvcnMgPSBOVUxMOwpAQCAtMTc2MCw3ICsyNDI3LDcgQEAKICAgICAgICAgICAgIFB5RXJyX0NsZWFyKCk7CiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIFB5X0RFQ1JFRih0bXApOwotICAgICAgICBpZiAocHJvbXB0YXJnICE9IE5VTEwpIHsKKyAgICAgICAgaWYgKHByb21wdCAhPSBOVUxMKSB7CiAgICAgICAgICAgICAvKiBXZSBoYXZlIGEgcHJvbXB0LCBlbmNvZGUgaXQgYXMgc3Rkb3V0IHdvdWxkICovCiAgICAgICAgICAgICBjaGFyICpzdGRvdXRfZW5jb2Rpbmdfc3RyLCAqc3Rkb3V0X2Vycm9yc19zdHI7CiAgICAgICAgICAgICBQeU9iamVjdCAqc3RyaW5ncG87CkBAIC0xNzcyLDcgKzI0MzksNyBAQAogICAgICAgICAgICAgc3Rkb3V0X2Vycm9yc19zdHIgPSBfUHlVbmljb2RlX0FzU3RyaW5nKHN0ZG91dF9lcnJvcnMpOwogICAgICAgICAgICAgaWYgKCFzdGRvdXRfZW5jb2Rpbmdfc3RyIHx8ICFzdGRvdXRfZXJyb3JzX3N0cikKICAgICAgICAgICAgICAgICBnb3RvIF9yZWFkbGluZV9lcnJvcnM7Ci0gICAgICAgICAgICBzdHJpbmdwbyA9IFB5T2JqZWN0X1N0cihwcm9tcHRhcmcpOworICAgICAgICAgICAgc3RyaW5ncG8gPSBQeU9iamVjdF9TdHIocHJvbXB0KTsKICAgICAgICAgICAgIGlmIChzdHJpbmdwbyA9PSBOVUxMKQogICAgICAgICAgICAgICAgIGdvdG8gX3JlYWRsaW5lX2Vycm9yczsKICAgICAgICAgICAgIHBvID0gUHlVbmljb2RlX0FzRW5jb2RlZFN0cmluZyhzdHJpbmdwbywKQEAgLTE3ODIsMTUgKzI0NDksMTUgQEAKICAgICAgICAgICAgIFB5X0NMRUFSKHN0cmluZ3BvKTsKICAgICAgICAgICAgIGlmIChwbyA9PSBOVUxMKQogICAgICAgICAgICAgICAgIGdvdG8gX3JlYWRsaW5lX2Vycm9yczsKLSAgICAgICAgICAgIHByb21wdCA9IFB5Qnl0ZXNfQXNTdHJpbmcocG8pOwotICAgICAgICAgICAgaWYgKHByb21wdCA9PSBOVUxMKQorICAgICAgICAgICAgcHJvbXB0c3RyID0gUHlCeXRlc19Bc1N0cmluZyhwbyk7CisgICAgICAgICAgICBpZiAocHJvbXB0c3RyID09IE5VTEwpCiAgICAgICAgICAgICAgICAgZ290byBfcmVhZGxpbmVfZXJyb3JzOwogICAgICAgICB9CiAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgcG8gPSBOVUxMOwotICAgICAgICAgICAgcHJvbXB0ID0gIiI7CisgICAgICAgICAgICBwcm9tcHRzdHIgPSAiIjsKICAgICAgICAgfQotICAgICAgICBzID0gUHlPU19SZWFkbGluZShzdGRpbiwgc3Rkb3V0LCBwcm9tcHQpOworICAgICAgICBzID0gUHlPU19SZWFkbGluZShzdGRpbiwgc3Rkb3V0LCBwcm9tcHRzdHIpOwogICAgICAgICBpZiAocyA9PSBOVUxMKSB7CiAgICAgICAgICAgICBQeUVycl9DaGVja1NpZ25hbHMoKTsKICAgICAgICAgICAgIGlmICghUHlFcnJfT2NjdXJyZWQoKSkKQEAgLTE4MzIsOCArMjQ5OSw4IEBACiAgICAgfQogCiAgICAgLyogRmFsbGJhY2sgaWYgd2UncmUgbm90IGludGVyYWN0aXZlICovCi0gICAgaWYgKHByb21wdGFyZyAhPSBOVUxMKSB7Ci0gICAgICAgIGlmIChQeUZpbGVfV3JpdGVPYmplY3QocHJvbXB0YXJnLCBmb3V0LCBQeV9QUklOVF9SQVcpICE9IDApCisgICAgaWYgKHByb21wdCAhPSBOVUxMKSB7CisgICAgICAgIGlmIChQeUZpbGVfV3JpdGVPYmplY3QocHJvbXB0LCBmb3V0LCBQeV9QUklOVF9SQVcpICE9IDApCiAgICAgICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CiAgICAgdG1wID0gX1B5T2JqZWN0X0NhbGxNZXRob2RJZChmb3V0LCAmUHlJZF9mbHVzaCwgIiIpOwpAQCAtMTg0NCwyOCArMjUxMSw0MCBAQAogICAgIHJldHVybiBQeUZpbGVfR2V0TGluZShmaW4sIC0xKTsKIH0KIAotUHlEb2NfU1RSVkFSKGlucHV0X2RvYywKLSJpbnB1dChbcHJvbXB0XSkgLT4gc3RyaW5nXG5cCi1cblwKLVJlYWQgYSBzdHJpbmcgZnJvbSBzdGFuZGFyZCBpbnB1dC4gIFRoZSB0cmFpbGluZyBuZXdsaW5lIGlzIHN0cmlwcGVkLlxuXAotSWYgdGhlIHVzZXIgaGl0cyBFT0YgKFVuaXg6IEN0bC1ELCBXaW5kb3dzOiBDdGwtWitSZXR1cm4pLCByYWlzZSBFT0ZFcnJvci5cblwKLU9uIFVuaXgsIEdOVSByZWFkbGluZSBpcyB1c2VkIGlmIGVuYWJsZWQuICBUaGUgcHJvbXB0IHN0cmluZywgaWYgZ2l2ZW4sXG5cCi1pcyBwcmludGVkIHdpdGhvdXQgYSB0cmFpbGluZyBuZXdsaW5lIGJlZm9yZSByZWFkaW5nLiIpOwogCisvKltjbGluaWMgaW5wdXRdCityZXByIGFzIGJ1aWx0aW5fcmVwcgorCisgICAgb2JqOiAnTycKKyAgICAvCisKK1JldHVybiB0aGUgY2Fub25pY2FsIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiB0aGUgb2JqZWN0LgorCitGb3IgbWFueSBvYmplY3QgdHlwZXMsIGluY2x1ZGluZyBtb3N0IGJ1aWx0aW5zLCBldmFsKHJlcHIob2JqKSkgPT0gb2JqLgorW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLworCitQeURvY19TVFJWQVIoYnVpbHRpbl9yZXByX19kb2NfXywKKyJyZXByKCRtb2R1bGUsIG9iaiwgLylcbiIKKyItLVxuIgorIlxuIgorIlJldHVybiB0aGUgY2Fub25pY2FsIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiB0aGUgb2JqZWN0LlxuIgorIlxuIgorIkZvciBtYW55IG9iamVjdCB0eXBlcywgaW5jbHVkaW5nIG1vc3QgYnVpbHRpbnMsIGV2YWwocmVwcihvYmopKSA9PSBvYmouIik7CisKKyNkZWZpbmUgQlVJTFRJTl9SRVBSX01FVEhPRERFRiAgICBcCisgICAgeyJyZXByIiwgKFB5Q0Z1bmN0aW9uKWJ1aWx0aW5fcmVwciwgTUVUSF9PLCBidWlsdGluX3JlcHJfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLWJ1aWx0aW5fcmVwcihQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKnYpCitidWlsdGluX3JlcHIoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKm9iaikKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD05ODg5ODAxMjBmMzllMmZhIGlucHV0PWEyYmNhMGYzOGE1YTkyNGRdKi8KIHsKLSAgICByZXR1cm4gUHlPYmplY3RfUmVwcih2KTsKKyAgICByZXR1cm4gUHlPYmplY3RfUmVwcihvYmopOwogfQogCi1QeURvY19TVFJWQVIocmVwcl9kb2MsCi0icmVwcihvYmplY3QpIC0+IHN0cmluZ1xuXAotXG5cCi1SZXR1cm4gdGhlIGNhbm9uaWNhbCBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhlIG9iamVjdC5cblwKLUZvciBtb3N0IG9iamVjdCB0eXBlcywgZXZhbChyZXByKG9iamVjdCkpID09IG9iamVjdC4iKTsKIAotCisvKiBBQzogY2Fubm90IGNvbnZlcnQgeWV0LCBhcyBuZWVkcyBQRVAgNDU3IGdyb3VwIHN1cHBvcnQgaW4gaW5zcGVjdAorICogICAgIG9yIGEgc2VtYW50aWMgY2hhbmdlIHRvIGFjY2VwdCBOb25lIGZvciAibmRpZ2l0cyIKKyAqLwogc3RhdGljIFB5T2JqZWN0ICoKIGJ1aWx0aW5fcm91bmQoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dkcykKIHsKQEAgLTE5MDcsNiArMjU4NiwzNSBAQAogc2FtZSB0eXBlIGFzIHRoZSBudW1iZXIuIG5kaWdpdHMgbWF5IGJlIG5lZ2F0aXZlLiIpOwogCiAKKy8qQUM6IHdlIG5lZWQgdG8ga2VlcCB0aGUga3dkcyBkaWN0IGludGFjdCB0byBlYXNpbHkgY2FsbCBpbnRvIHRoZQorICogbGlzdC5zb3J0IG1ldGhvZCwgd2hpY2ggaXNuJ3QgY3VycmVudGx5IHN1cHBvcnRlZCBpbiBBQy4gU28gd2UganVzdCB1c2UKKyAqIHRoZSBpbml0aWFsbHkgZ2VuZXJhdGVkIHNpZ25hdHVyZSB3aXRoIGEgY3VzdG9tIGltcGxlbWVudGF0aW9uLgorICovCisvKiBbZGlzYWJsZWQgY2xpbmljIGlucHV0XQorc29ydGVkIGFzIGJ1aWx0aW5fc29ydGVkCisKKyAgICBpdGVyYWJsZSBhcyBzZXE6ICdPJworICAgIGtleSBhcyBrZXlmdW5jOiAnTycgPSBOb25lCisgICAgcmV2ZXJzZTogJ08nID0gRmFsc2UKKworUmV0dXJuIGEgbmV3IGxpc3QgY29udGFpbmluZyBhbGwgaXRlbXMgZnJvbSB0aGUgaXRlcmFibGUgaW4gYXNjZW5kaW5nIG9yZGVyLgorCitBIGN1c3RvbSBrZXkgZnVuY3Rpb24gY2FuIGJlIHN1cHBsaWVkIHRvIGN1c3RvbWlzZSB0aGUgc29ydCBvcmRlciwgYW5kIHRoZQorcmV2ZXJzZSBmbGFnIGNhbiBiZSBzZXQgdG8gcmVxdWVzdCB0aGUgcmVzdWx0IGluIGRlc2NlbmRpbmcgb3JkZXIuCitbZW5kIGRpc2FibGVkIGNsaW5pYyBpbnB1dF0qLworCitQeURvY19TVFJWQVIoYnVpbHRpbl9zb3J0ZWRfX2RvY19fLAorInNvcnRlZCgkbW9kdWxlLCBpdGVyYWJsZSwga2V5PU5vbmUsIHJldmVyc2U9RmFsc2UpXG4iCisiLS1cbiIKKyJcbiIKKyJSZXR1cm4gYSBuZXcgbGlzdCBjb250YWluaW5nIGFsbCBpdGVtcyBmcm9tIHRoZSBpdGVyYWJsZSBpbiBhc2NlbmRpbmcgb3JkZXIuXG4iCisiXG4iCisiQSBjdXN0b20ga2V5IGZ1bmN0aW9uIGNhbiBiZSBzdXBwbGllZCB0byBjdXN0b21pc2UgdGhlIHNvcnQgb3JkZXIsIGFuZCB0aGVcbiIKKyJyZXZlcnNlIGZsYWcgY2FuIGJlIHNldCB0byByZXF1ZXN0IHRoZSByZXN1bHQgaW4gZGVzY2VuZGluZyBvcmRlci4iKTsKKworI2RlZmluZSBCVUlMVElOX1NPUlRFRF9NRVRIT0RERUYgICAgXAorICAgIHsic29ydGVkIiwgKFB5Q0Z1bmN0aW9uKWJ1aWx0aW5fc29ydGVkLCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywgYnVpbHRpbl9zb3J0ZWRfX2RvY19ffSwKKwogc3RhdGljIFB5T2JqZWN0ICoKIGJ1aWx0aW5fc29ydGVkKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3ZHMpCiB7CkBAIC0xOTQ4LDkgKzI2NTYsOCBAQAogICAgIHJldHVybiBuZXdsaXN0OwogfQogCi1QeURvY19TVFJWQVIoc29ydGVkX2RvYywKLSJzb3J0ZWQoaXRlcmFibGUsIGtleT1Ob25lLCByZXZlcnNlPUZhbHNlKSAtLT4gbmV3IHNvcnRlZCBsaXN0Iik7CiAKKy8qIEFDOiBjYW5ub3QgY29udmVydCB5ZXQsIGFzIG5lZWRzIFBFUCA0NTcgZ3JvdXAgc3VwcG9ydCBpbiBpbnNwZWN0ICovCiBzdGF0aWMgUHlPYmplY3QgKgogYnVpbHRpbl92YXJzKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKIHsKQEAgLTE5ODIsMTcgKzI2ODksNjIgQEAKIFdpdGhvdXQgYXJndW1lbnRzLCBlcXVpdmFsZW50IHRvIGxvY2FscygpLlxuXAogV2l0aCBhbiBhcmd1bWVudCwgZXF1aXZhbGVudCB0byBvYmplY3QuX19kaWN0X18uIik7CiAKLXN0YXRpYyBQeU9iamVjdCoKLWJ1aWx0aW5fc3VtKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKKworLypbY2xpbmljIGlucHV0XQorc3VtIGFzIGJ1aWx0aW5fc3VtCisKKyAgICBpdGVyYWJsZTogJ08nCisgICAgc3RhcnQ6IG9iamVjdChjX2RlZmF1bHQ9Ik5VTEwiKSA9IDAKKyAgICAvCisKK1JldHVybiB0aGUgc3VtIG9mIGEgJ3N0YXJ0JyB2YWx1ZSAoZGVmYXVsdDogMCkgcGx1cyBhbiBpdGVyYWJsZSBvZiBudW1iZXJzCisKK1doZW4gdGhlIGl0ZXJhYmxlIGlzIGVtcHR5LCByZXR1cm4gdGhlIHN0YXJ0IHZhbHVlLgorVGhpcyBmdW5jdGlvbiBpcyBpbnRlbmRlZCBzcGVjaWZpY2FsbHkgZm9yIHVzZSB3aXRoIG51bWVyaWMgdmFsdWVzIGFuZCBtYXkKK3JlamVjdCBub24tbnVtZXJpYyB0eXBlcy4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKGJ1aWx0aW5fc3VtX19kb2NfXywKKyJzdW0oJG1vZHVsZSwgaXRlcmFibGUsIHN0YXJ0PTAsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJSZXR1cm4gdGhlIHN1bSBvZiBhIFwnc3RhcnRcJyB2YWx1ZSAoZGVmYXVsdDogMCkgcGx1cyBhbiBpdGVyYWJsZSBvZiBudW1iZXJzXG4iCisiXG4iCisiV2hlbiB0aGUgaXRlcmFibGUgaXMgZW1wdHksIHJldHVybiB0aGUgc3RhcnQgdmFsdWUuXG4iCisiVGhpcyBmdW5jdGlvbiBpcyBpbnRlbmRlZCBzcGVjaWZpY2FsbHkgZm9yIHVzZSB3aXRoIG51bWVyaWMgdmFsdWVzIGFuZCBtYXlcbiIKKyJyZWplY3Qgbm9uLW51bWVyaWMgdHlwZXMuIik7CisKKyNkZWZpbmUgQlVJTFRJTl9TVU1fTUVUSE9EREVGICAgIFwKKyAgICB7InN1bSIsIChQeUNGdW5jdGlvbilidWlsdGluX3N1bSwgTUVUSF9WQVJBUkdTLCBidWlsdGluX3N1bV9fZG9jX199LAorCitzdGF0aWMgUHlPYmplY3QgKgorYnVpbHRpbl9zdW1faW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqaXRlcmFibGUsIFB5T2JqZWN0ICpzdGFydCk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitidWlsdGluX3N1bShQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncykKIHsKLSAgICBQeU9iamVjdCAqc2VxOwotICAgIFB5T2JqZWN0ICpyZXN1bHQgPSBOVUxMOworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIFB5T2JqZWN0ICppdGVyYWJsZTsKKyAgICBQeU9iamVjdCAqc3RhcnQgPSBOVUxMOworCisgICAgaWYgKCFQeUFyZ19VbnBhY2tUdXBsZShhcmdzLCAic3VtIiwKKyAgICAgICAgMSwgMiwKKyAgICAgICAgJml0ZXJhYmxlLCAmc3RhcnQpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gYnVpbHRpbl9zdW1faW1wbChtb2R1bGUsIGl0ZXJhYmxlLCBzdGFydCk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK2J1aWx0aW5fc3VtX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKml0ZXJhYmxlLCBQeU9iamVjdCAqc3RhcnQpCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9YjQyNjUyYTBkNWY2NGY2YiBpbnB1dD05MGFlN2EyNDJjZmNmMDI1XSovCit7CisgICAgUHlPYmplY3QgKnJlc3VsdCA9IHN0YXJ0OwogICAgIFB5T2JqZWN0ICp0ZW1wLCAqaXRlbSwgKml0ZXI7CiAKLSAgICBpZiAoIVB5QXJnX1VucGFja1R1cGxlKGFyZ3MsICJzdW0iLCAxLCAyLCAmc2VxLCAmcmVzdWx0KSkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0KLSAgICBpdGVyID0gUHlPYmplY3RfR2V0SXRlcihzZXEpOworICAgIGl0ZXIgPSBQeU9iamVjdF9HZXRJdGVyKGl0ZXJhYmxlKTsKICAgICBpZiAoaXRlciA9PSBOVUxMKQogICAgICAgICByZXR1cm4gTlVMTDsKIApAQCAtMjAyMiw3ICsyNzc0LDYgQEAKICAgICAgICAgICAgIFB5X0RFQ1JFRihpdGVyKTsKICAgICAgICAgICAgIHJldHVybiBOVUxMOwogICAgICAgICB9Ci0KICAgICAgICAgUHlfSU5DUkVGKHJlc3VsdCk7CiAgICAgfQogCkBAIC0yMTQ4LDYyICsyODk5LDEyNiBAQAogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKLVB5RG9jX1NUUlZBUihzdW1fZG9jLAotInN1bShpdGVyYWJsZVssIHN0YXJ0XSkgLT4gdmFsdWVcblwKLVxuXAotUmV0dXJuIHRoZSBzdW0gb2YgYW4gaXRlcmFibGUgb2YgbnVtYmVycyAoTk9UIHN0cmluZ3MpIHBsdXMgdGhlIHZhbHVlXG5cCi1vZiBwYXJhbWV0ZXIgJ3N0YXJ0JyAod2hpY2ggZGVmYXVsdHMgdG8gMCkuICBXaGVuIHRoZSBpdGVyYWJsZSBpc1xuXAotZW1wdHksIHJldHVybiBzdGFydC4iKTsKIAorLypbY2xpbmljIGlucHV0XQoraXNpbnN0YW5jZSBhcyBidWlsdGluX2lzaW5zdGFuY2UKKworICAgIG9iajogJ08nCisgICAgY2xhc3Nfb3JfdHVwbGU6ICdPJworICAgIC8KKworUmV0dXJuIHdoZXRoZXIgYW4gb2JqZWN0IGlzIGFuIGluc3RhbmNlIG9mIGEgY2xhc3Mgb3Igb2YgYSBzdWJjbGFzcyB0aGVyZW9mLgorCitBIHR1cGxlLCBhcyBpbiBgYGlzaW5zdGFuY2UoeCwgKEEsIEIsIC4uLikpYGAsIG1heSBiZSBnaXZlbiBhcyB0aGUgdGFyZ2V0IHRvCitjaGVjayBhZ2FpbnN0LiBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGBpc2luc3RhbmNlKHgsIEEpIG9yIGlzaW5zdGFuY2UoeCwgQikKK29yIC4uLmBgIGV0Yy4KK1tjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KKworUHlEb2NfU1RSVkFSKGJ1aWx0aW5faXNpbnN0YW5jZV9fZG9jX18sCisiaXNpbnN0YW5jZSgkbW9kdWxlLCBvYmosIGNsYXNzX29yX3R1cGxlLCAvKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJuIHdoZXRoZXIgYW4gb2JqZWN0IGlzIGFuIGluc3RhbmNlIG9mIGEgY2xhc3Mgb3Igb2YgYSBzdWJjbGFzcyB0aGVyZW9mLlxuIgorIlxuIgorIkEgdHVwbGUsIGFzIGluIGBgaXNpbnN0YW5jZSh4LCAoQSwgQiwgLi4uKSlgYCwgbWF5IGJlIGdpdmVuIGFzIHRoZSB0YXJnZXQgdG9cbiIKKyJjaGVjayBhZ2FpbnN0LiBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGBpc2luc3RhbmNlKHgsIEEpIG9yIGlzaW5zdGFuY2UoeCwgQilcbiIKKyJvciAuLi5gYCBldGMuIik7CisKKyNkZWZpbmUgQlVJTFRJTl9JU0lOU1RBTkNFX01FVEhPRERFRiAgICBcCisgICAgeyJpc2luc3RhbmNlIiwgKFB5Q0Z1bmN0aW9uKWJ1aWx0aW5faXNpbnN0YW5jZSwgTUVUSF9WQVJBUkdTLCBidWlsdGluX2lzaW5zdGFuY2VfX2RvY19ffSwKIAogc3RhdGljIFB5T2JqZWN0ICoKLWJ1aWx0aW5faXNpbnN0YW5jZShQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCitidWlsdGluX2lzaW5zdGFuY2VfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqb2JqLCBQeU9iamVjdCAqY2xhc3Nfb3JfdHVwbGUpOworCitzdGF0aWMgUHlPYmplY3QgKgorYnVpbHRpbl9pc2luc3RhbmNlKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzKQogewotICAgIFB5T2JqZWN0ICppbnN0OwotICAgIFB5T2JqZWN0ICpjbHM7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgUHlPYmplY3QgKm9iajsKKyAgICBQeU9iamVjdCAqY2xhc3Nfb3JfdHVwbGU7CisKKyAgICBpZiAoIVB5QXJnX1VucGFja1R1cGxlKGFyZ3MsICJpc2luc3RhbmNlIiwKKyAgICAgICAgMiwgMiwKKyAgICAgICAgJm9iaiwgJmNsYXNzX29yX3R1cGxlKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IGJ1aWx0aW5faXNpbnN0YW5jZV9pbXBsKG1vZHVsZSwgb2JqLCBjbGFzc19vcl90dXBsZSk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK2J1aWx0aW5faXNpbnN0YW5jZV9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICpvYmosIFB5T2JqZWN0ICpjbGFzc19vcl90dXBsZSkKKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD04NDdkZjU3ZmVmOGRkZWE3IGlucHV0PWNmOWViMGFkNmJiOWJhZDZdKi8KK3sKICAgICBpbnQgcmV0dmFsOwogCi0gICAgaWYgKCFQeUFyZ19VbnBhY2tUdXBsZShhcmdzLCAiaXNpbnN0YW5jZSIsIDIsIDIsICZpbnN0LCAmY2xzKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0KLSAgICByZXR2YWwgPSBQeU9iamVjdF9Jc0luc3RhbmNlKGluc3QsIGNscyk7CisgICAgcmV0dmFsID0gUHlPYmplY3RfSXNJbnN0YW5jZShvYmosIGNsYXNzX29yX3R1cGxlKTsKICAgICBpZiAocmV0dmFsIDwgMCkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgcmV0dXJuIFB5Qm9vbF9Gcm9tTG9uZyhyZXR2YWwpOwogfQogCi1QeURvY19TVFJWQVIoaXNpbnN0YW5jZV9kb2MsCi0iaXNpbnN0YW5jZShvYmplY3QsIGNsYXNzLW9yLXR5cGUtb3ItdHVwbGUpIC0+IGJvb2xcblwKLVxuXAotUmV0dXJuIHdoZXRoZXIgYW4gb2JqZWN0IGlzIGFuIGluc3RhbmNlIG9mIGEgY2xhc3Mgb3Igb2YgYSBzdWJjbGFzcyB0aGVyZW9mLlxuXAotV2l0aCBhIHR5cGUgYXMgc2Vjb25kIGFyZ3VtZW50LCByZXR1cm4gd2hldGhlciB0aGF0IGlzIHRoZSBvYmplY3QncyB0eXBlLlxuXAotVGhlIGZvcm0gdXNpbmcgYSB0dXBsZSwgaXNpbnN0YW5jZSh4LCAoQSwgQiwgLi4uKSksIGlzIGEgc2hvcnRjdXQgZm9yXG5cCi1pc2luc3RhbmNlKHgsIEEpIG9yIGlzaW5zdGFuY2UoeCwgQikgb3IgLi4uIChldGMuKS4iKTsKIAorLypbY2xpbmljIGlucHV0XQoraXNzdWJjbGFzcyBhcyBidWlsdGluX2lzc3ViY2xhc3MKKworICAgIGNsczogJ08nCisgICAgY2xhc3Nfb3JfdHVwbGU6ICdPJworICAgIC8KKworUmV0dXJuIHdoZXRoZXIgJ2NscycgaXMgYSBkZXJpdmVkIGZyb20gYW5vdGhlciBjbGFzcyBvciBpcyB0aGUgc2FtZSBjbGFzcy4KKworQSB0dXBsZSwgYXMgaW4gYGBpc3N1YmNsYXNzKHgsIChBLCBCLCAuLi4pKWBgLCBtYXkgYmUgZ2l2ZW4gYXMgdGhlIHRhcmdldCB0bworY2hlY2sgYWdhaW5zdC4gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBgaXNzdWJjbGFzcyh4LCBBKSBvciBpc3N1YmNsYXNzKHgsIEIpCitvciAuLi5gYCBldGMuCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihidWlsdGluX2lzc3ViY2xhc3NfX2RvY19fLAorImlzc3ViY2xhc3MoJG1vZHVsZSwgY2xzLCBjbGFzc19vcl90dXBsZSwgLylcbiIKKyItLVxuIgorIlxuIgorIlJldHVybiB3aGV0aGVyIFwnY2xzXCcgaXMgYSBkZXJpdmVkIGZyb20gYW5vdGhlciBjbGFzcyBvciBpcyB0aGUgc2FtZSBjbGFzcy5cbiIKKyJcbiIKKyJBIHR1cGxlLCBhcyBpbiBgYGlzc3ViY2xhc3MoeCwgKEEsIEIsIC4uLikpYGAsIG1heSBiZSBnaXZlbiBhcyB0aGUgdGFyZ2V0IHRvXG4iCisiY2hlY2sgYWdhaW5zdC4gVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBgaXNzdWJjbGFzcyh4LCBBKSBvciBpc3N1YmNsYXNzKHgsIEIpXG4iCisib3IgLi4uYGAgZXRjLiIpOworCisjZGVmaW5lIEJVSUxUSU5fSVNTVUJDTEFTU19NRVRIT0RERUYgICAgXAorICAgIHsiaXNzdWJjbGFzcyIsIChQeUNGdW5jdGlvbilidWlsdGluX2lzc3ViY2xhc3MsIE1FVEhfVkFSQVJHUywgYnVpbHRpbl9pc3N1YmNsYXNzX19kb2NfX30sCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1idWlsdGluX2lzc3ViY2xhc3MoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQorYnVpbHRpbl9pc3N1YmNsYXNzX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmNscywgUHlPYmplY3QgKmNsYXNzX29yX3R1cGxlKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK2J1aWx0aW5faXNzdWJjbGFzcyhQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncykKIHsKLSAgICBQeU9iamVjdCAqZGVyaXZlZDsKKyAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKICAgICBQeU9iamVjdCAqY2xzOworICAgIFB5T2JqZWN0ICpjbGFzc19vcl90dXBsZTsKKworICAgIGlmICghUHlBcmdfVW5wYWNrVHVwbGUoYXJncywgImlzc3ViY2xhc3MiLAorICAgICAgICAyLCAyLAorICAgICAgICAmY2xzLCAmY2xhc3Nfb3JfdHVwbGUpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gYnVpbHRpbl9pc3N1YmNsYXNzX2ltcGwobW9kdWxlLCBjbHMsIGNsYXNzX29yX3R1cGxlKTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorYnVpbHRpbl9pc3N1YmNsYXNzX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmNscywgUHlPYmplY3QgKmNsYXNzX29yX3R1cGxlKQorLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWEwZjhjMDM2OTJlMzU0NzQgaW5wdXQ9OTIzZDAzZmE0MWZjMzUyYV0qLworewogICAgIGludCByZXR2YWw7CiAKLSAgICBpZiAoIVB5QXJnX1VucGFja1R1cGxlKGFyZ3MsICJpc3N1YmNsYXNzIiwgMiwgMiwgJmRlcml2ZWQsICZjbHMpKQotICAgICAgICByZXR1cm4gTlVMTDsKLQotICAgIHJldHZhbCA9IFB5T2JqZWN0X0lzU3ViY2xhc3MoZGVyaXZlZCwgY2xzKTsKKyAgICByZXR2YWwgPSBQeU9iamVjdF9Jc1N1YmNsYXNzKGNscywgY2xhc3Nfb3JfdHVwbGUpOwogICAgIGlmIChyZXR2YWwgPCAwKQogICAgICAgICByZXR1cm4gTlVMTDsKICAgICByZXR1cm4gUHlCb29sX0Zyb21Mb25nKHJldHZhbCk7CiB9CiAKLVB5RG9jX1NUUlZBUihpc3N1YmNsYXNzX2RvYywKLSJpc3N1YmNsYXNzKEMsIEIpIC0+IGJvb2xcblwKLVxuXAotUmV0dXJuIHdoZXRoZXIgY2xhc3MgQyBpcyBhIHN1YmNsYXNzIChpLmUuLCBhIGRlcml2ZWQgY2xhc3MpIG9mIGNsYXNzIEIuXG5cCi1XaGVuIHVzaW5nIGEgdHVwbGUgYXMgdGhlIHNlY29uZCBhcmd1bWVudCBpc3N1YmNsYXNzKFgsIChBLCBCLCAuLi4pKSxcblwKLWlzIGEgc2hvcnRjdXQgZm9yIGlzc3ViY2xhc3MoWCwgQSkgb3IgaXNzdWJjbGFzcyhYLCBCKSBvciAuLi4gKGV0Yy4pLiIpOwotCiAKIHR5cGVkZWYgc3RydWN0IHsKICAgICBQeU9iamVjdF9IRUFECkBAIC0yMzk4LDQ0ICszMjEzLDQ0IEBACiAgICAgeyJfX2J1aWxkX2NsYXNzX18iLCAoUHlDRnVuY3Rpb24pYnVpbHRpbl9fX2J1aWxkX2NsYXNzX18sCiAgICAgIE1FVEhfVkFSQVJHUyB8IE1FVEhfS0VZV09SRFMsIGJ1aWxkX2NsYXNzX2RvY30sCiAgICAgeyJfX2ltcG9ydF9fIiwgICAgICAoUHlDRnVuY3Rpb24pYnVpbHRpbl9fX2ltcG9ydF9fLCBNRVRIX1ZBUkFSR1MgfCBNRVRIX0tFWVdPUkRTLCBpbXBvcnRfZG9jfSwKLSAgICB7ImFicyIsICAgICAgICAgICAgIGJ1aWx0aW5fYWJzLCAgICAgICAgTUVUSF9PLCBhYnNfZG9jfSwKLSAgICB7ImFsbCIsICAgICAgICAgICAgIGJ1aWx0aW5fYWxsLCAgICAgICAgTUVUSF9PLCBhbGxfZG9jfSwKLSAgICB7ImFueSIsICAgICAgICAgICAgIGJ1aWx0aW5fYW55LCAgICAgICAgTUVUSF9PLCBhbnlfZG9jfSwKLSAgICB7ImFzY2lpIiwgICAgICAgICAgIGJ1aWx0aW5fYXNjaWksICAgICAgTUVUSF9PLCBhc2NpaV9kb2N9LAotICAgIHsiYmluIiwgICAgICAgICAgICAgYnVpbHRpbl9iaW4sICAgICAgICBNRVRIX08sIGJpbl9kb2N9LAotICAgIHsiY2FsbGFibGUiLCAgICAgICAgYnVpbHRpbl9jYWxsYWJsZSwgICBNRVRIX08sIGNhbGxhYmxlX2RvY30sCi0gICAgeyJjaHIiLCAgICAgICAgICAgICBidWlsdGluX2NociwgICAgICAgIE1FVEhfVkFSQVJHUywgY2hyX2RvY30sCi0gICAgeyJjb21waWxlIiwgICAgICAgICAoUHlDRnVuY3Rpb24pYnVpbHRpbl9jb21waWxlLCAgICBNRVRIX1ZBUkFSR1MgfCBNRVRIX0tFWVdPUkRTLCBjb21waWxlX2RvY30sCi0gICAgeyJkZWxhdHRyIiwgICAgICAgICBidWlsdGluX2RlbGF0dHIsICAgIE1FVEhfVkFSQVJHUywgZGVsYXR0cl9kb2N9LAorICAgIEJVSUxUSU5fQUJTX01FVEhPRERFRgorICAgIEJVSUxUSU5fQUxMX01FVEhPRERFRgorICAgIEJVSUxUSU5fQU5ZX01FVEhPRERFRgorICAgIEJVSUxUSU5fQVNDSUlfTUVUSE9EREVGCisgICAgQlVJTFRJTl9CSU5fTUVUSE9EREVGCisgICAgQlVJTFRJTl9DQUxMQUJMRV9NRVRIT0RERUYKKyAgICBCVUlMVElOX0NIUl9NRVRIT0RERUYKKyAgICBCVUlMVElOX0NPTVBJTEVfTUVUSE9EREVGCisgICAgQlVJTFRJTl9ERUxBVFRSX01FVEhPRERFRgogICAgIHsiZGlyIiwgICAgICAgICAgICAgYnVpbHRpbl9kaXIsICAgICAgICBNRVRIX1ZBUkFSR1MsIGRpcl9kb2N9LAotICAgIHsiZGl2bW9kIiwgICAgICAgICAgYnVpbHRpbl9kaXZtb2QsICAgICBNRVRIX1ZBUkFSR1MsIGRpdm1vZF9kb2N9LAotICAgIHsiZXZhbCIsICAgICAgICAgICAgYnVpbHRpbl9ldmFsLCAgICAgICBNRVRIX1ZBUkFSR1MsIGV2YWxfZG9jfSwKLSAgICB7ImV4ZWMiLCAgICAgICAgYnVpbHRpbl9leGVjLCAgICAgICBNRVRIX1ZBUkFSR1MsIGV4ZWNfZG9jfSwKLSAgICB7ImZvcm1hdCIsICAgICAgICAgIGJ1aWx0aW5fZm9ybWF0LCAgICAgTUVUSF9WQVJBUkdTLCBmb3JtYXRfZG9jfSwKKyAgICBCVUlMVElOX0RJVk1PRF9NRVRIT0RERUYKKyAgICBCVUlMVElOX0VWQUxfTUVUSE9EREVGCisgICAgQlVJTFRJTl9FWEVDX01FVEhPRERFRgorICAgIEJVSUxUSU5fRk9STUFUX01FVEhPRERFRgogICAgIHsiZ2V0YXR0ciIsICAgICAgICAgYnVpbHRpbl9nZXRhdHRyLCAgICBNRVRIX1ZBUkFSR1MsIGdldGF0dHJfZG9jfSwKLSAgICB7Imdsb2JhbHMiLCAgICAgICAgIChQeUNGdW5jdGlvbilidWlsdGluX2dsb2JhbHMsICAgIE1FVEhfTk9BUkdTLCBnbG9iYWxzX2RvY30sCi0gICAgeyJoYXNhdHRyIiwgICAgICAgICBidWlsdGluX2hhc2F0dHIsICAgIE1FVEhfVkFSQVJHUywgaGFzYXR0cl9kb2N9LAotICAgIHsiaGFzaCIsICAgICAgICAgICAgYnVpbHRpbl9oYXNoLCAgICAgICBNRVRIX08sIGhhc2hfZG9jfSwKLSAgICB7ImhleCIsICAgICAgICAgICAgIGJ1aWx0aW5faGV4LCAgICAgICAgTUVUSF9PLCBoZXhfZG9jfSwKLSAgICB7ImlkIiwgICAgICAgICAgICAgIGJ1aWx0aW5faWQsICAgICAgICAgTUVUSF9PLCBpZF9kb2N9LAotICAgIHsiaW5wdXQiLCAgICAgICAgICAgYnVpbHRpbl9pbnB1dCwgICAgICBNRVRIX1ZBUkFSR1MsIGlucHV0X2RvY30sCi0gICAgeyJpc2luc3RhbmNlIiwgIGJ1aWx0aW5faXNpbnN0YW5jZSwgTUVUSF9WQVJBUkdTLCBpc2luc3RhbmNlX2RvY30sCi0gICAgeyJpc3N1YmNsYXNzIiwgIGJ1aWx0aW5faXNzdWJjbGFzcywgTUVUSF9WQVJBUkdTLCBpc3N1YmNsYXNzX2RvY30sCisgICAgQlVJTFRJTl9HTE9CQUxTX01FVEhPRERFRgorICAgIEJVSUxUSU5fSEFTQVRUUl9NRVRIT0RERUYKKyAgICBCVUlMVElOX0hBU0hfTUVUSE9EREVGCisgICAgQlVJTFRJTl9IRVhfTUVUSE9EREVGCisgICAgQlVJTFRJTl9JRF9NRVRIT0RERUYKKyAgICBCVUlMVElOX0lOUFVUX01FVEhPRERFRgorICAgIEJVSUxUSU5fSVNJTlNUQU5DRV9NRVRIT0RERUYKKyAgICBCVUlMVElOX0lTU1VCQ0xBU1NfTUVUSE9EREVGCiAgICAgeyJpdGVyIiwgICAgICAgICAgICBidWlsdGluX2l0ZXIsICAgICAgIE1FVEhfVkFSQVJHUywgaXRlcl9kb2N9LAotICAgIHsibGVuIiwgICAgICAgICAgICAgYnVpbHRpbl9sZW4sICAgICAgICBNRVRIX08sIGxlbl9kb2N9LAotICAgIHsibG9jYWxzIiwgICAgICAgICAgKFB5Q0Z1bmN0aW9uKWJ1aWx0aW5fbG9jYWxzLCAgICAgTUVUSF9OT0FSR1MsIGxvY2Fsc19kb2N9LAorICAgIEJVSUxUSU5fTEVOX01FVEhPRERFRgorICAgIEJVSUxUSU5fTE9DQUxTX01FVEhPRERFRgogICAgIHsibWF4IiwgICAgICAgICAgICAgKFB5Q0Z1bmN0aW9uKWJ1aWx0aW5fbWF4LCAgICAgICAgTUVUSF9WQVJBUkdTIHwgTUVUSF9LRVlXT1JEUywgbWF4X2RvY30sCiAgICAgeyJtaW4iLCAgICAgICAgICAgICAoUHlDRnVuY3Rpb24pYnVpbHRpbl9taW4sICAgICAgICBNRVRIX1ZBUkFSR1MgfCBNRVRIX0tFWVdPUkRTLCBtaW5fZG9jfSwKICAgICB7Im5leHQiLCAgICAgICAgICAgIChQeUNGdW5jdGlvbilidWlsdGluX25leHQsICAgICAgIE1FVEhfVkFSQVJHUywgbmV4dF9kb2N9LAotICAgIHsib2N0IiwgICAgICAgICAgICAgYnVpbHRpbl9vY3QsICAgICAgICBNRVRIX08sIG9jdF9kb2N9LAotICAgIHsib3JkIiwgICAgICAgICAgICAgYnVpbHRpbl9vcmQsICAgICAgICBNRVRIX08sIG9yZF9kb2N9LAotICAgIHsicG93IiwgICAgICAgICAgICAgYnVpbHRpbl9wb3csICAgICAgICBNRVRIX1ZBUkFSR1MsIHBvd19kb2N9LAorICAgIEJVSUxUSU5fT0NUX01FVEhPRERFRgorICAgIEJVSUxUSU5fT1JEX01FVEhPRERFRgorICAgIEJVSUxUSU5fUE9XX01FVEhPRERFRgogICAgIHsicHJpbnQiLCAgICAgICAgICAgKFB5Q0Z1bmN0aW9uKWJ1aWx0aW5fcHJpbnQsICAgICAgTUVUSF9WQVJBUkdTIHwgTUVUSF9LRVlXT1JEUywgcHJpbnRfZG9jfSwKLSAgICB7InJlcHIiLCAgICAgICAgICAgIGJ1aWx0aW5fcmVwciwgICAgICAgTUVUSF9PLCByZXByX2RvY30sCisgICAgQlVJTFRJTl9SRVBSX01FVEhPRERFRgogICAgIHsicm91bmQiLCAgICAgICAgICAgKFB5Q0Z1bmN0aW9uKWJ1aWx0aW5fcm91bmQsICAgICAgTUVUSF9WQVJBUkdTIHwgTUVUSF9LRVlXT1JEUywgcm91bmRfZG9jfSwKLSAgICB7InNldGF0dHIiLCAgICAgICAgIGJ1aWx0aW5fc2V0YXR0ciwgICAgTUVUSF9WQVJBUkdTLCBzZXRhdHRyX2RvY30sCi0gICAgeyJzb3J0ZWQiLCAgICAgICAgICAoUHlDRnVuY3Rpb24pYnVpbHRpbl9zb3J0ZWQsICAgICBNRVRIX1ZBUkFSR1MgfCBNRVRIX0tFWVdPUkRTLCBzb3J0ZWRfZG9jfSwKLSAgICB7InN1bSIsICAgICAgICAgICAgIGJ1aWx0aW5fc3VtLCAgICAgICAgTUVUSF9WQVJBUkdTLCBzdW1fZG9jfSwKKyAgICBCVUlMVElOX1NFVEFUVFJfTUVUSE9EREVGCisgICAgQlVJTFRJTl9TT1JURURfTUVUSE9EREVGCisgICAgQlVJTFRJTl9TVU1fTUVUSE9EREVGCiAgICAgeyJ2YXJzIiwgICAgICAgICAgICBidWlsdGluX3ZhcnMsICAgICAgIE1FVEhfVkFSQVJHUywgdmFyc19kb2N9LAogICAgIHtOVUxMLCAgICAgICAgICAgICAgTlVMTH0sCiB9OwpkaWZmIC0tZ2l0IGEvUHl0aG9uL2NldmFsLmMgYi9QeXRob24vY2V2YWwuYwppbmRleCA3NjU2YjhlLi41Y2VmZGNmIDEwMDY0NAotLS0gYS9QeXRob24vY2V2YWwuYworKysgYi9QeXRob24vY2V2YWwuYwpAQCAtMTUwNCw2ICsxNTA0LDE4IEBACiAgICAgICAgICAgICBESVNQQVRDSCgpOwogICAgICAgICB9CiAKKyAgICAgICAgVEFSR0VUKEJJTkFSWV9NQVRSSVhfTVVMVElQTFkpIHsKKyAgICAgICAgICAgIFB5T2JqZWN0ICpyaWdodCA9IFBPUCgpOworICAgICAgICAgICAgUHlPYmplY3QgKmxlZnQgPSBUT1AoKTsKKyAgICAgICAgICAgIFB5T2JqZWN0ICpyZXMgPSBQeU51bWJlcl9NYXRyaXhNdWx0aXBseShsZWZ0LCByaWdodCk7CisgICAgICAgICAgICBQeV9ERUNSRUYobGVmdCk7CisgICAgICAgICAgICBQeV9ERUNSRUYocmlnaHQpOworICAgICAgICAgICAgU0VUX1RPUChyZXMpOworICAgICAgICAgICAgaWYgKHJlcyA9PSBOVUxMKQorICAgICAgICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAgICAgICAgICBESVNQQVRDSCgpOworICAgICAgICB9CisKICAgICAgICAgVEFSR0VUKEJJTkFSWV9UUlVFX0RJVklERSkgewogICAgICAgICAgICAgUHlPYmplY3QgKmRpdmlzb3IgPSBQT1AoKTsKICAgICAgICAgICAgIFB5T2JqZWN0ICpkaXZpZGVuZCA9IFRPUCgpOwpAQCAtMTY5NCw2ICsxNzA2LDE4IEBACiAgICAgICAgICAgICBESVNQQVRDSCgpOwogICAgICAgICB9CiAKKyAgICAgICAgVEFSR0VUKElOUExBQ0VfTUFUUklYX01VTFRJUExZKSB7CisgICAgICAgICAgICBQeU9iamVjdCAqcmlnaHQgPSBQT1AoKTsKKyAgICAgICAgICAgIFB5T2JqZWN0ICpsZWZ0ID0gVE9QKCk7CisgICAgICAgICAgICBQeU9iamVjdCAqcmVzID0gUHlOdW1iZXJfSW5QbGFjZU1hdHJpeE11bHRpcGx5KGxlZnQsIHJpZ2h0KTsKKyAgICAgICAgICAgIFB5X0RFQ1JFRihsZWZ0KTsKKyAgICAgICAgICAgIFB5X0RFQ1JFRihyaWdodCk7CisgICAgICAgICAgICBTRVRfVE9QKHJlcyk7CisgICAgICAgICAgICBpZiAocmVzID09IE5VTEwpCisgICAgICAgICAgICAgICAgZ290byBlcnJvcjsKKyAgICAgICAgICAgIERJU1BBVENIKCk7CisgICAgICAgIH0KKwogICAgICAgICBUQVJHRVQoSU5QTEFDRV9UUlVFX0RJVklERSkgewogICAgICAgICAgICAgUHlPYmplY3QgKmRpdmlzb3IgPSBQT1AoKTsKICAgICAgICAgICAgIFB5T2JqZWN0ICpkaXZpZGVuZCA9IFRPUCgpOwpAQCAtMzM4NywxMCArMzQxMSwxMSBAQAogICAgUHlFdmFsX0V2YWxGcmFtZSgpIGFuZCBQeUV2YWxfRXZhbENvZGVFeCgpIHlvdSB3aWxsIG5lZWQgdG8gYWRqdXN0CiAgICB0aGUgdGVzdCBpbiB0aGUgaWYgc3RhdGVtZW50cyBpbiBNaXNjL2dkYmluaXQgKHB5c3RhY2sgYW5kIHB5c3RhY2t2KS4gKi8KIAotUHlPYmplY3QgKgotUHlFdmFsX0V2YWxDb2RlRXgoUHlPYmplY3QgKl9jbywgUHlPYmplY3QgKmdsb2JhbHMsIFB5T2JqZWN0ICpsb2NhbHMsCitzdGF0aWMgUHlPYmplY3QgKgorX1B5RXZhbF9FdmFsQ29kZVdpdGhOYW1lKFB5T2JqZWN0ICpfY28sIFB5T2JqZWN0ICpnbG9iYWxzLCBQeU9iamVjdCAqbG9jYWxzLAogICAgICAgICAgICBQeU9iamVjdCAqKmFyZ3MsIGludCBhcmdjb3VudCwgUHlPYmplY3QgKiprd3MsIGludCBrd2NvdW50LAotICAgICAgICAgICBQeU9iamVjdCAqKmRlZnMsIGludCBkZWZjb3VudCwgUHlPYmplY3QgKmt3ZGVmcywgUHlPYmplY3QgKmNsb3N1cmUpCisgICAgICAgICAgIFB5T2JqZWN0ICoqZGVmcywgaW50IGRlZmNvdW50LCBQeU9iamVjdCAqa3dkZWZzLCBQeU9iamVjdCAqY2xvc3VyZSwKKyAgICAgICAgICAgUHlPYmplY3QgKm5hbWUsIFB5T2JqZWN0ICpxdWFsbmFtZSkKIHsKICAgICBQeUNvZGVPYmplY3QqIGNvID0gKFB5Q29kZU9iamVjdCopX2NvOwogICAgIFB5RnJhbWVPYmplY3QgKmY7CkBAIC0zNTgyLDcgKzM2MDcsNyBAQAogCiAgICAgICAgIC8qIENyZWF0ZSBhIG5ldyBnZW5lcmF0b3IgdGhhdCBvd25zIHRoZSByZWFkeSB0byBydW4gZnJhbWUKICAgICAgICAgICogYW5kIHJldHVybiB0aGF0IGFzIHRoZSB2YWx1ZS4gKi8KLSAgICAgICAgcmV0dXJuIFB5R2VuX05ldyhmKTsKKyAgICAgICAgcmV0dXJuIFB5R2VuX05ld1dpdGhRdWFsTmFtZShmLCBuYW1lLCBxdWFsbmFtZSk7CiAgICAgfQogCiAgICAgcmV0dmFsID0gUHlFdmFsX0V2YWxGcmFtZUV4KGYsMCk7CkBAIC0zNjAxLDYgKzM2MjYsMTYgQEAKICAgICByZXR1cm4gcmV0dmFsOwogfQogCitQeU9iamVjdCAqCitQeUV2YWxfRXZhbENvZGVFeChQeU9iamVjdCAqX2NvLCBQeU9iamVjdCAqZ2xvYmFscywgUHlPYmplY3QgKmxvY2FscywKKyAgICAgICAgICAgUHlPYmplY3QgKiphcmdzLCBpbnQgYXJnY291bnQsIFB5T2JqZWN0ICoqa3dzLCBpbnQga3djb3VudCwKKyAgICAgICAgICAgUHlPYmplY3QgKipkZWZzLCBpbnQgZGVmY291bnQsIFB5T2JqZWN0ICprd2RlZnMsIFB5T2JqZWN0ICpjbG9zdXJlKQoreworICAgIHJldHVybiBfUHlFdmFsX0V2YWxDb2RlV2l0aE5hbWUoX2NvLCBnbG9iYWxzLCBsb2NhbHMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmdzLCBhcmdjb3VudCwga3dzLCBrd2NvdW50LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmcywgZGVmY291bnQsIGt3ZGVmcywgY2xvc3VyZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsIE5VTEwpOworfQogCiBzdGF0aWMgUHlPYmplY3QgKgogc3BlY2lhbF9sb29rdXAoUHlPYmplY3QgKm8sIF9QeV9JZGVudGlmaWVyICppZCkKQEAgLTQyOTksNiArNDMzNCw4IEBACiAgICAgUHlPYmplY3QgKmdsb2JhbHMgPSBQeUZ1bmN0aW9uX0dFVF9HTE9CQUxTKGZ1bmMpOwogICAgIFB5T2JqZWN0ICphcmdkZWZzID0gUHlGdW5jdGlvbl9HRVRfREVGQVVMVFMoZnVuYyk7CiAgICAgUHlPYmplY3QgKmt3ZGVmcyA9IFB5RnVuY3Rpb25fR0VUX0tXX0RFRkFVTFRTKGZ1bmMpOworICAgIFB5T2JqZWN0ICpuYW1lID0gKChQeUZ1bmN0aW9uT2JqZWN0ICopZnVuYykgLT4gZnVuY19uYW1lOworICAgIFB5T2JqZWN0ICpxdWFsbmFtZSA9ICgoUHlGdW5jdGlvbk9iamVjdCAqKWZ1bmMpIC0+IGZ1bmNfcXVhbG5hbWU7CiAgICAgUHlPYmplY3QgKipkID0gTlVMTDsKICAgICBpbnQgbmQgPSAwOwogCkBAIC00MzQxLDEwICs0Mzc4LDExIEBACiAgICAgICAgIGQgPSAmUHlUdXBsZV9HRVRfSVRFTShhcmdkZWZzLCAwKTsKICAgICAgICAgbmQgPSBQeV9TSVpFKGFyZ2RlZnMpOwogICAgIH0KLSAgICByZXR1cm4gUHlFdmFsX0V2YWxDb2RlRXgoKFB5T2JqZWN0KiljbywgZ2xvYmFscywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKFB5T2JqZWN0ICopTlVMTCwgKCpwcF9zdGFjayktbiwgbmEsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICgqcHBfc3RhY2spLTIqbmssIG5rLCBkLCBuZCwga3dkZWZzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeUZ1bmN0aW9uX0dFVF9DTE9TVVJFKGZ1bmMpKTsKKyAgICByZXR1cm4gX1B5RXZhbF9FdmFsQ29kZVdpdGhOYW1lKChQeU9iamVjdCopY28sIGdsb2JhbHMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoUHlPYmplY3QgKilOVUxMLCAoKnBwX3N0YWNrKS1uLCBuYSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgqcHBfc3RhY2spLTIqbmssIG5rLCBkLCBuZCwga3dkZWZzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlGdW5jdGlvbl9HRVRfQ0xPU1VSRShmdW5jKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWUsIHF1YWxuYW1lKTsKIH0KIAogc3RhdGljIFB5T2JqZWN0ICoKQEAgLTQ1NjgsNyArNDYwNiw3IEBACiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAotLyogRXh0cmFjdCBhIHNsaWNlIGluZGV4IGZyb20gYSBQeUludCBvciBQeUxvbmcgb3IgYW4gb2JqZWN0IHdpdGggdGhlCisvKiBFeHRyYWN0IGEgc2xpY2UgaW5kZXggZnJvbSBhIFB5TG9uZyBvciBhbiBvYmplY3Qgd2l0aCB0aGUKICAgIG5iX2luZGV4IHNsb3QgZGVmaW5lZCwgYW5kIHN0b3JlIGluICpwaS4KICAgIFNpbGVudGx5IHJlZHVjZSB2YWx1ZXMgbGFyZ2VyIHRoYW4gUFlfU1NJWkVfVF9NQVggdG8gUFlfU1NJWkVfVF9NQVgsCiAgICBhbmQgc2lsZW50bHkgYm9vc3QgdmFsdWVzIGxlc3MgdGhhbiAtUFlfU1NJWkVfVF9NQVgtMSB0byAtUFlfU1NJWkVfVF9NQVgtMS4KQEAgLTQ2NTgsMTEgKzQ2OTYsMjkgQEAKIGltcG9ydF9mcm9tKFB5T2JqZWN0ICp2LCBQeU9iamVjdCAqbmFtZSkKIHsKICAgICBQeU9iamVjdCAqeDsKKyAgICBfUHlfSURFTlRJRklFUihfX25hbWVfXyk7CisgICAgUHlPYmplY3QgKmZ1bGxtb2RuYW1lLCAqcGtnbmFtZTsKIAogICAgIHggPSBQeU9iamVjdF9HZXRBdHRyKHYsIG5hbWUpOwotICAgIGlmICh4ID09IE5VTEwgJiYgUHlFcnJfRXhjZXB0aW9uTWF0Y2hlcyhQeUV4Y19BdHRyaWJ1dGVFcnJvcikpIHsKKyAgICBpZiAoeCAhPSBOVUxMIHx8ICFQeUVycl9FeGNlcHRpb25NYXRjaGVzKFB5RXhjX0F0dHJpYnV0ZUVycm9yKSkKKyAgICAgICAgcmV0dXJuIHg7CisgICAgLyogSXNzdWUgIzE3NjM2OiBpbiBjYXNlIHRoaXMgZmFpbGVkIGJlY2F1c2Ugb2YgYSBjaXJjdWxhciByZWxhdGl2ZQorICAgICAgIGltcG9ydCwgdHJ5IHRvIGZhbGxiYWNrIG9uIHJlYWRpbmcgdGhlIG1vZHVsZSBkaXJlY3RseSBmcm9tCisgICAgICAgc3lzLm1vZHVsZXMuICovCisgICAgUHlFcnJfQ2xlYXIoKTsKKyAgICBwa2duYW1lID0gX1B5T2JqZWN0X0dldEF0dHJJZCh2LCAmUHlJZF9fX25hbWVfXyk7CisgICAgaWYgKHBrZ25hbWUgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgZnVsbG1vZG5hbWUgPSBQeVVuaWNvZGVfRnJvbUZvcm1hdCgiJVUuJVUiLCBwa2duYW1lLCBuYW1lKTsKKyAgICBQeV9ERUNSRUYocGtnbmFtZSk7CisgICAgaWYgKGZ1bGxtb2RuYW1lID09IE5VTEwpCisgICAgICAgIHJldHVybiBOVUxMOworICAgIHggPSBQeURpY3RfR2V0SXRlbShQeUltcG9ydF9HZXRNb2R1bGVEaWN0KCksIGZ1bGxtb2RuYW1lKTsKKyAgICBpZiAoeCA9PSBOVUxMKQogICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfSW1wb3J0RXJyb3IsICJjYW5ub3QgaW1wb3J0IG5hbWUgJVIiLCBuYW1lKTsKLSAgICB9CisgICAgZWxzZQorICAgICAgICBQeV9JTkNSRUYoeCk7CisgICAgUHlfREVDUkVGKGZ1bGxtb2RuYW1lKTsKICAgICByZXR1cm4geDsKIH0KIApkaWZmIC0tZ2l0IGEvUHl0aG9uL2NldmFsX2dpbC5oIGIvUHl0aG9uL2NldmFsX2dpbC5oCmluZGV4IDI3MDJkNWMuLjRkYjU2YjYgMTAwNjQ0Ci0tLSBhL1B5dGhvbi9jZXZhbF9naWwuaAorKysgYi9QeXRob24vY2V2YWxfZ2lsLmgKQEAgLTE5MSw3ICsxOTEsNyBAQAogICAgIGlmIChfUHlfYXRvbWljX2xvYWRfcmVsYXhlZCgmZ2lsX2Ryb3BfcmVxdWVzdCkgJiYgdHN0YXRlICE9IE5VTEwpIHsKICAgICAgICAgTVVURVhfTE9DSyhzd2l0Y2hfbXV0ZXgpOwogICAgICAgICAvKiBOb3Qgc3dpdGNoZWQgeWV0ID0+IHdhaXQgKi8KLSAgICAgICAgaWYgKF9QeV9hdG9taWNfbG9hZF9yZWxheGVkKCZnaWxfbGFzdF9ob2xkZXIpID09IHRzdGF0ZSkgeworICAgICAgICBpZiAoKFB5VGhyZWFkU3RhdGUqKV9QeV9hdG9taWNfbG9hZF9yZWxheGVkKCZnaWxfbGFzdF9ob2xkZXIpID09IHRzdGF0ZSkgewogICAgICAgICBSRVNFVF9HSUxfRFJPUF9SRVFVRVNUKCk7CiAgICAgICAgICAgICAvKiBOT1RFOiBpZiBDT05EX1dBSVQgZG9lcyBub3QgYXRvbWljYWxseSBzdGFydCB3YWl0aW5nIHdoZW4KICAgICAgICAgICAgICAgIHJlbGVhc2luZyB0aGUgbXV0ZXgsIGFub3RoZXIgdGhyZWFkIGNhbiBydW4gdGhyb3VnaCwgdGFrZQpAQCAtMjM5LDcgKzIzOSw3IEBACiAgICAgX1B5X2F0b21pY19zdG9yZV9yZWxheGVkKCZnaWxfbG9ja2VkLCAxKTsKICAgICBfUHlfQU5OT1RBVEVfUldMT0NLX0FDUVVJUkVEKCZnaWxfbG9ja2VkLCAvKmlzX3dyaXRlPSovMSk7CiAKLSAgICBpZiAodHN0YXRlICE9IF9QeV9hdG9taWNfbG9hZF9yZWxheGVkKCZnaWxfbGFzdF9ob2xkZXIpKSB7CisgICAgaWYgKHRzdGF0ZSAhPSAoUHlUaHJlYWRTdGF0ZSopX1B5X2F0b21pY19sb2FkX3JlbGF4ZWQoJmdpbF9sYXN0X2hvbGRlcikpIHsKICAgICAgICAgX1B5X2F0b21pY19zdG9yZV9yZWxheGVkKCZnaWxfbGFzdF9ob2xkZXIsIHRzdGF0ZSk7CiAgICAgICAgICsrZ2lsX3N3aXRjaF9udW1iZXI7CiAgICAgfQpkaWZmIC0tZ2l0IGEvUHl0aG9uL2NsaW5pYy9pbXBvcnQuYy5oIGIvUHl0aG9uL2NsaW5pYy9pbXBvcnQuYy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc2MTg1NzcKLS0tIC9kZXYvbnVsbAorKysgYi9QeXRob24vY2xpbmljL2ltcG9ydC5jLmgKQEAgLTAsMCArMSwzMjMgQEAKKy8qW2NsaW5pYyBpbnB1dF0KK3ByZXNlcnZlCitbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCisKK1B5RG9jX1NUUlZBUihfaW1wX2xvY2tfaGVsZF9fZG9jX18sCisibG9ja19oZWxkKCRtb2R1bGUsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJSZXR1cm4gVHJ1ZSBpZiB0aGUgaW1wb3J0IGxvY2sgaXMgY3VycmVudGx5IGhlbGQsIGVsc2UgRmFsc2UuXG4iCisiXG4iCisiT24gcGxhdGZvcm1zIHdpdGhvdXQgdGhyZWFkcywgcmV0dXJuIEZhbHNlLiIpOworCisjZGVmaW5lIF9JTVBfTE9DS19IRUxEX01FVEhPRERFRiAgICBcCisgICAgeyJsb2NrX2hlbGQiLCAoUHlDRnVuY3Rpb24pX2ltcF9sb2NrX2hlbGQsIE1FVEhfTk9BUkdTLCBfaW1wX2xvY2tfaGVsZF9fZG9jX199LAorCitzdGF0aWMgUHlPYmplY3QgKgorX2ltcF9sb2NrX2hlbGRfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK19pbXBfbG9ja19oZWxkKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICpQeV9VTlVTRUQoaWdub3JlZCkpCit7CisgICAgcmV0dXJuIF9pbXBfbG9ja19oZWxkX2ltcGwobW9kdWxlKTsKK30KKworUHlEb2NfU1RSVkFSKF9pbXBfYWNxdWlyZV9sb2NrX19kb2NfXywKKyJhY3F1aXJlX2xvY2soJG1vZHVsZSwgLylcbiIKKyItLVxuIgorIlxuIgorIkFjcXVpcmVzIHRoZSBpbnRlcnByZXRlclwncyBpbXBvcnQgbG9jayBmb3IgdGhlIGN1cnJlbnQgdGhyZWFkLlxuIgorIlxuIgorIlRoaXMgbG9jayBzaG91bGQgYmUgdXNlZCBieSBpbXBvcnQgaG9va3MgdG8gZW5zdXJlIHRocmVhZC1zYWZldHkgd2hlbiBpbXBvcnRpbmdcbiIKKyJtb2R1bGVzLiBPbiBwbGF0Zm9ybXMgd2l0aG91dCB0aHJlYWRzLCB0aGlzIGZ1bmN0aW9uIGRvZXMgbm90aGluZy4iKTsKKworI2RlZmluZSBfSU1QX0FDUVVJUkVfTE9DS19NRVRIT0RERUYgICAgXAorICAgIHsiYWNxdWlyZV9sb2NrIiwgKFB5Q0Z1bmN0aW9uKV9pbXBfYWNxdWlyZV9sb2NrLCBNRVRIX05PQVJHUywgX2ltcF9hY3F1aXJlX2xvY2tfX2RvY19ffSwKKworc3RhdGljIFB5T2JqZWN0ICoKK19pbXBfYWNxdWlyZV9sb2NrX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitfaW1wX2FjcXVpcmVfbG9jayhQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqUHlfVU5VU0VEKGlnbm9yZWQpKQoreworICAgIHJldHVybiBfaW1wX2FjcXVpcmVfbG9ja19pbXBsKG1vZHVsZSk7Cit9CisKK1B5RG9jX1NUUlZBUihfaW1wX3JlbGVhc2VfbG9ja19fZG9jX18sCisicmVsZWFzZV9sb2NrKCRtb2R1bGUsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJSZWxlYXNlIHRoZSBpbnRlcnByZXRlclwncyBpbXBvcnQgbG9jay5cbiIKKyJcbiIKKyJPbiBwbGF0Zm9ybXMgd2l0aG91dCB0aHJlYWRzLCB0aGlzIGZ1bmN0aW9uIGRvZXMgbm90aGluZy4iKTsKKworI2RlZmluZSBfSU1QX1JFTEVBU0VfTE9DS19NRVRIT0RERUYgICAgXAorICAgIHsicmVsZWFzZV9sb2NrIiwgKFB5Q0Z1bmN0aW9uKV9pbXBfcmVsZWFzZV9sb2NrLCBNRVRIX05PQVJHUywgX2ltcF9yZWxlYXNlX2xvY2tfX2RvY19ffSwKKworc3RhdGljIFB5T2JqZWN0ICoKK19pbXBfcmVsZWFzZV9sb2NrX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitfaW1wX3JlbGVhc2VfbG9jayhQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqUHlfVU5VU0VEKGlnbm9yZWQpKQoreworICAgIHJldHVybiBfaW1wX3JlbGVhc2VfbG9ja19pbXBsKG1vZHVsZSk7Cit9CisKK1B5RG9jX1NUUlZBUihfaW1wX19maXhfY29fZmlsZW5hbWVfX2RvY19fLAorIl9maXhfY29fZmlsZW5hbWUoJG1vZHVsZSwgY29kZSwgcGF0aCwgLylcbiIKKyItLVxuIgorIlxuIgorIkNoYW5nZXMgY29kZS5jb19maWxlbmFtZSB0byBzcGVjaWZ5IHRoZSBwYXNzZWQtaW4gZmlsZSBwYXRoLlxuIgorIlxuIgorIiAgY29kZVxuIgorIiAgICBDb2RlIG9iamVjdCB0byBjaGFuZ2UuXG4iCisiICBwYXRoXG4iCisiICAgIEZpbGUgcGF0aCB0byB1c2UuIik7CisKKyNkZWZpbmUgX0lNUF9fRklYX0NPX0ZJTEVOQU1FX01FVEhPRERFRiAgICBcCisgICAgeyJfZml4X2NvX2ZpbGVuYW1lIiwgKFB5Q0Z1bmN0aW9uKV9pbXBfX2ZpeF9jb19maWxlbmFtZSwgTUVUSF9WQVJBUkdTLCBfaW1wX19maXhfY29fZmlsZW5hbWVfX2RvY19ffSwKKworc3RhdGljIFB5T2JqZWN0ICoKK19pbXBfX2ZpeF9jb19maWxlbmFtZV9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5Q29kZU9iamVjdCAqY29kZSwgUHlPYmplY3QgKnBhdGgpOworCitzdGF0aWMgUHlPYmplY3QgKgorX2ltcF9fZml4X2NvX2ZpbGVuYW1lKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzKQoreworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIFB5Q29kZU9iamVjdCAqY29kZTsKKyAgICBQeU9iamVjdCAqcGF0aDsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAiTyFVOl9maXhfY29fZmlsZW5hbWUiLAorICAgICAgICAmUHlDb2RlX1R5cGUsICZjb2RlLCAmcGF0aCkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBfaW1wX19maXhfY29fZmlsZW5hbWVfaW1wbChtb2R1bGUsIGNvZGUsIHBhdGgpOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK1B5RG9jX1NUUlZBUihfaW1wX2V4dGVuc2lvbl9zdWZmaXhlc19fZG9jX18sCisiZXh0ZW5zaW9uX3N1ZmZpeGVzKCRtb2R1bGUsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJSZXR1cm5zIHRoZSBsaXN0IG9mIGZpbGUgc3VmZml4ZXMgdXNlZCB0byBpZGVudGlmeSBleHRlbnNpb24gbW9kdWxlcy4iKTsKKworI2RlZmluZSBfSU1QX0VYVEVOU0lPTl9TVUZGSVhFU19NRVRIT0RERUYgICAgXAorICAgIHsiZXh0ZW5zaW9uX3N1ZmZpeGVzIiwgKFB5Q0Z1bmN0aW9uKV9pbXBfZXh0ZW5zaW9uX3N1ZmZpeGVzLCBNRVRIX05PQVJHUywgX2ltcF9leHRlbnNpb25fc3VmZml4ZXNfX2RvY19ffSwKKworc3RhdGljIFB5T2JqZWN0ICoKK19pbXBfZXh0ZW5zaW9uX3N1ZmZpeGVzX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitfaW1wX2V4dGVuc2lvbl9zdWZmaXhlcyhQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqUHlfVU5VU0VEKGlnbm9yZWQpKQoreworICAgIHJldHVybiBfaW1wX2V4dGVuc2lvbl9zdWZmaXhlc19pbXBsKG1vZHVsZSk7Cit9CisKK1B5RG9jX1NUUlZBUihfaW1wX2luaXRfYnVpbHRpbl9fZG9jX18sCisiaW5pdF9idWlsdGluKCRtb2R1bGUsIG5hbWUsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJJbml0aWFsaXplcyBhIGJ1aWx0LWluIG1vZHVsZS4iKTsKKworI2RlZmluZSBfSU1QX0lOSVRfQlVJTFRJTl9NRVRIT0RERUYgICAgXAorICAgIHsiaW5pdF9idWlsdGluIiwgKFB5Q0Z1bmN0aW9uKV9pbXBfaW5pdF9idWlsdGluLCBNRVRIX1ZBUkFSR1MsIF9pbXBfaW5pdF9idWlsdGluX19kb2NfX30sCisKK3N0YXRpYyBQeU9iamVjdCAqCitfaW1wX2luaXRfYnVpbHRpbl9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICpuYW1lKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK19pbXBfaW5pdF9idWlsdGluKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzKQoreworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIFB5T2JqZWN0ICpuYW1lOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCisgICAgICAgICJVOmluaXRfYnVpbHRpbiIsCisgICAgICAgICZuYW1lKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IF9pbXBfaW5pdF9idWlsdGluX2ltcGwobW9kdWxlLCBuYW1lKTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitQeURvY19TVFJWQVIoX2ltcF9pbml0X2Zyb3plbl9fZG9jX18sCisiaW5pdF9mcm96ZW4oJG1vZHVsZSwgbmFtZSwgLylcbiIKKyItLVxuIgorIlxuIgorIkluaXRpYWxpemVzIGEgZnJvemVuIG1vZHVsZS4iKTsKKworI2RlZmluZSBfSU1QX0lOSVRfRlJPWkVOX01FVEhPRERFRiAgICBcCisgICAgeyJpbml0X2Zyb3plbiIsIChQeUNGdW5jdGlvbilfaW1wX2luaXRfZnJvemVuLCBNRVRIX1ZBUkFSR1MsIF9pbXBfaW5pdF9mcm96ZW5fX2RvY19ffSwKKworc3RhdGljIFB5T2JqZWN0ICoKK19pbXBfaW5pdF9mcm96ZW5faW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqbmFtZSk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitfaW1wX2luaXRfZnJvemVuKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzKQoreworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIFB5T2JqZWN0ICpuYW1lOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCisgICAgICAgICJVOmluaXRfZnJvemVuIiwKKyAgICAgICAgJm5hbWUpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gX2ltcF9pbml0X2Zyb3plbl9pbXBsKG1vZHVsZSwgbmFtZSk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworUHlEb2NfU1RSVkFSKF9pbXBfZ2V0X2Zyb3plbl9vYmplY3RfX2RvY19fLAorImdldF9mcm96ZW5fb2JqZWN0KCRtb2R1bGUsIG5hbWUsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJDcmVhdGUgYSBjb2RlIG9iamVjdCBmb3IgYSBmcm96ZW4gbW9kdWxlLiIpOworCisjZGVmaW5lIF9JTVBfR0VUX0ZST1pFTl9PQkpFQ1RfTUVUSE9EREVGICAgIFwKKyAgICB7ImdldF9mcm96ZW5fb2JqZWN0IiwgKFB5Q0Z1bmN0aW9uKV9pbXBfZ2V0X2Zyb3plbl9vYmplY3QsIE1FVEhfVkFSQVJHUywgX2ltcF9nZXRfZnJvemVuX29iamVjdF9fZG9jX199LAorCitzdGF0aWMgUHlPYmplY3QgKgorX2ltcF9nZXRfZnJvemVuX29iamVjdF9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICpuYW1lKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK19pbXBfZ2V0X2Zyb3plbl9vYmplY3QoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgUHlPYmplY3QgKm5hbWU7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKKyAgICAgICAgIlU6Z2V0X2Zyb3plbl9vYmplY3QiLAorICAgICAgICAmbmFtZSkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBfaW1wX2dldF9mcm96ZW5fb2JqZWN0X2ltcGwobW9kdWxlLCBuYW1lKTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCitQeURvY19TVFJWQVIoX2ltcF9pc19mcm96ZW5fcGFja2FnZV9fZG9jX18sCisiaXNfZnJvemVuX3BhY2thZ2UoJG1vZHVsZSwgbmFtZSwgLylcbiIKKyItLVxuIgorIlxuIgorIlJldHVybnMgVHJ1ZSBpZiB0aGUgbW9kdWxlIG5hbWUgaXMgb2YgYSBmcm96ZW4gcGFja2FnZS4iKTsKKworI2RlZmluZSBfSU1QX0lTX0ZST1pFTl9QQUNLQUdFX01FVEhPRERFRiAgICBcCisgICAgeyJpc19mcm96ZW5fcGFja2FnZSIsIChQeUNGdW5jdGlvbilfaW1wX2lzX2Zyb3plbl9wYWNrYWdlLCBNRVRIX1ZBUkFSR1MsIF9pbXBfaXNfZnJvemVuX3BhY2thZ2VfX2RvY19ffSwKKworc3RhdGljIFB5T2JqZWN0ICoKK19pbXBfaXNfZnJvemVuX3BhY2thZ2VfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqbmFtZSk7CisKK3N0YXRpYyBQeU9iamVjdCAqCitfaW1wX2lzX2Zyb3plbl9wYWNrYWdlKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzKQoreworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIFB5T2JqZWN0ICpuYW1lOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCisgICAgICAgICJVOmlzX2Zyb3plbl9wYWNrYWdlIiwKKyAgICAgICAgJm5hbWUpKQorICAgICAgICBnb3RvIGV4aXQ7CisgICAgcmV0dXJuX3ZhbHVlID0gX2ltcF9pc19mcm96ZW5fcGFja2FnZV9pbXBsKG1vZHVsZSwgbmFtZSk7CisKK2V4aXQ6CisgICAgcmV0dXJuIHJldHVybl92YWx1ZTsKK30KKworUHlEb2NfU1RSVkFSKF9pbXBfaXNfYnVpbHRpbl9fZG9jX18sCisiaXNfYnVpbHRpbigkbW9kdWxlLCBuYW1lLCAvKVxuIgorIi0tXG4iCisiXG4iCisiUmV0dXJucyBUcnVlIGlmIHRoZSBtb2R1bGUgbmFtZSBjb3JyZXNwb25kcyB0byBhIGJ1aWx0LWluIG1vZHVsZS4iKTsKKworI2RlZmluZSBfSU1QX0lTX0JVSUxUSU5fTUVUSE9EREVGICAgIFwKKyAgICB7ImlzX2J1aWx0aW4iLCAoUHlDRnVuY3Rpb24pX2ltcF9pc19idWlsdGluLCBNRVRIX1ZBUkFSR1MsIF9pbXBfaXNfYnVpbHRpbl9fZG9jX199LAorCitzdGF0aWMgUHlPYmplY3QgKgorX2ltcF9pc19idWlsdGluX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKm5hbWUpOworCitzdGF0aWMgUHlPYmplY3QgKgorX2ltcF9pc19idWlsdGluKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzKQoreworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIFB5T2JqZWN0ICpuYW1lOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCisgICAgICAgICJVOmlzX2J1aWx0aW4iLAorICAgICAgICAmbmFtZSkpCisgICAgICAgIGdvdG8gZXhpdDsKKyAgICByZXR1cm5fdmFsdWUgPSBfaW1wX2lzX2J1aWx0aW5faW1wbChtb2R1bGUsIG5hbWUpOworCitleGl0OgorICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CisKK1B5RG9jX1NUUlZBUihfaW1wX2lzX2Zyb3plbl9fZG9jX18sCisiaXNfZnJvemVuKCRtb2R1bGUsIG5hbWUsIC8pXG4iCisiLS1cbiIKKyJcbiIKKyJSZXR1cm5zIFRydWUgaWYgdGhlIG1vZHVsZSBuYW1lIGNvcnJlc3BvbmRzIHRvIGEgZnJvemVuIG1vZHVsZS4iKTsKKworI2RlZmluZSBfSU1QX0lTX0ZST1pFTl9NRVRIT0RERUYgICAgXAorICAgIHsiaXNfZnJvemVuIiwgKFB5Q0Z1bmN0aW9uKV9pbXBfaXNfZnJvemVuLCBNRVRIX1ZBUkFSR1MsIF9pbXBfaXNfZnJvemVuX19kb2NfX30sCisKK3N0YXRpYyBQeU9iamVjdCAqCitfaW1wX2lzX2Zyb3plbl9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICpuYW1lKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK19pbXBfaXNfZnJvemVuKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzKQoreworICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOworICAgIFB5T2JqZWN0ICpuYW1lOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCisgICAgICAgICJVOmlzX2Zyb3plbiIsCisgICAgICAgICZuYW1lKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IF9pbXBfaXNfZnJvemVuX2ltcGwobW9kdWxlLCBuYW1lKTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCisjaWYgZGVmaW5lZChIQVZFX0RZTkFNSUNfTE9BRElORykKKworUHlEb2NfU1RSVkFSKF9pbXBfbG9hZF9keW5hbWljX19kb2NfXywKKyJsb2FkX2R5bmFtaWMoJG1vZHVsZSwgbmFtZSwgcGF0aCwgZmlsZT1Ob25lLCAvKVxuIgorIi0tXG4iCisiXG4iCisiTG9hZHMgYW4gZXh0ZW5zaW9uIG1vZHVsZS4iKTsKKworI2RlZmluZSBfSU1QX0xPQURfRFlOQU1JQ19NRVRIT0RERUYgICAgXAorICAgIHsibG9hZF9keW5hbWljIiwgKFB5Q0Z1bmN0aW9uKV9pbXBfbG9hZF9keW5hbWljLCBNRVRIX1ZBUkFSR1MsIF9pbXBfbG9hZF9keW5hbWljX19kb2NfX30sCisKK3N0YXRpYyBQeU9iamVjdCAqCitfaW1wX2xvYWRfZHluYW1pY19pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICpuYW1lLCBQeU9iamVjdCAqcGF0aCwgUHlPYmplY3QgKmZpbGUpOworCitzdGF0aWMgUHlPYmplY3QgKgorX2ltcF9sb2FkX2R5bmFtaWMoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CisgICAgUHlPYmplY3QgKm5hbWU7CisgICAgUHlPYmplY3QgKnBhdGg7CisgICAgUHlPYmplY3QgKmZpbGUgPSBOVUxMOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCisgICAgICAgICJVTyZ8Tzpsb2FkX2R5bmFtaWMiLAorICAgICAgICAmbmFtZSwgUHlVbmljb2RlX0ZTRGVjb2RlciwgJnBhdGgsICZmaWxlKSkKKyAgICAgICAgZ290byBleGl0OworICAgIHJldHVybl92YWx1ZSA9IF9pbXBfbG9hZF9keW5hbWljX2ltcGwobW9kdWxlLCBuYW1lLCBwYXRoLCBmaWxlKTsKKworZXhpdDoKKyAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOworfQorCisjZW5kaWYgLyogZGVmaW5lZChIQVZFX0RZTkFNSUNfTE9BRElORykgKi8KKworI2lmbmRlZiBfSU1QX0xPQURfRFlOQU1JQ19NRVRIT0RERUYKKyAgICAjZGVmaW5lIF9JTVBfTE9BRF9EWU5BTUlDX01FVEhPRERFRgorI2VuZGlmIC8qICFkZWZpbmVkKF9JTVBfTE9BRF9EWU5BTUlDX01FVEhPRERFRikgKi8KKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD0wODdhMWYyMmU5ZmViY2M3IGlucHV0PWE5MDQ5MDU0MDEzYTFiNzddKi8KZGlmZiAtLWdpdCBhL1B5dGhvbi9jb2RlY3MuYyBiL1B5dGhvbi9jb2RlY3MuYwppbmRleCA2ODQ5YzBmLi42NGZjM2Q2IDEwMDY0NAotLS0gYS9QeXRob24vY29kZWNzLmMKKysrIGIvUHl0aG9uL2NvZGVjcy5jCkBAIC05LDYgKzksNyBAQAogICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCiAKICNpbmNsdWRlICJQeXRob24uaCIKKyNpbmNsdWRlICJ1Y25oYXNoLmgiCiAjaW5jbHVkZSA8Y3R5cGUuaD4KIAogY29uc3QgY2hhciAqUHlfaGV4ZGlnaXRzID0gIjAxMjM0NTY3ODlhYmNkZWYiOwpAQCAtODYzLDYgKzg2NCwxMTkgQEAKIAogUHlPYmplY3QgKlB5Q29kZWNfQmFja3NsYXNoUmVwbGFjZUVycm9ycyhQeU9iamVjdCAqZXhjKQogeworICAgIFB5T2JqZWN0ICpvYmplY3Q7CisgICAgUHlfc3NpemVfdCBpOworICAgIFB5X3NzaXplX3Qgc3RhcnQ7CisgICAgUHlfc3NpemVfdCBlbmQ7CisgICAgUHlPYmplY3QgKnJlczsKKyAgICB1bnNpZ25lZCBjaGFyICpvdXRwOworICAgIGludCByZXNzaXplOworICAgIFB5X1VDUzQgYzsKKworICAgIGlmIChQeU9iamVjdF9Jc0luc3RhbmNlKGV4YywgUHlFeGNfVW5pY29kZURlY29kZUVycm9yKSkgeworICAgICAgICB1bnNpZ25lZCBjaGFyICpwOworICAgICAgICBpZiAoUHlVbmljb2RlRGVjb2RlRXJyb3JfR2V0U3RhcnQoZXhjLCAmc3RhcnQpKQorICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgIGlmIChQeVVuaWNvZGVEZWNvZGVFcnJvcl9HZXRFbmQoZXhjLCAmZW5kKSkKKyAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICBpZiAoIShvYmplY3QgPSBQeVVuaWNvZGVEZWNvZGVFcnJvcl9HZXRPYmplY3QoZXhjKSkpCisgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgaWYgKCEocCA9ICh1bnNpZ25lZCBjaGFyKilQeUJ5dGVzX0FzU3RyaW5nKG9iamVjdCkpKSB7CisgICAgICAgICAgICBQeV9ERUNSRUYob2JqZWN0KTsKKyAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICB9CisgICAgICAgIHJlcyA9IFB5VW5pY29kZV9OZXcoNCAqIChlbmQgLSBzdGFydCksIDEyNyk7CisgICAgICAgIGlmIChyZXMgPT0gTlVMTCkgeworICAgICAgICAgICAgUHlfREVDUkVGKG9iamVjdCk7CisgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgfQorICAgICAgICBvdXRwID0gUHlVbmljb2RlXzFCWVRFX0RBVEEocmVzKTsKKyAgICAgICAgZm9yIChpID0gc3RhcnQ7IGkgPCBlbmQ7IGkrKywgb3V0cCArPSA0KSB7CisgICAgICAgICAgICB1bnNpZ25lZCBjaGFyIGMgPSBwW2ldOworICAgICAgICAgICAgb3V0cFswXSA9ICdcXCc7CisgICAgICAgICAgICBvdXRwWzFdID0gJ3gnOworICAgICAgICAgICAgb3V0cFsyXSA9IFB5X2hleGRpZ2l0c1soYz4+NCkmMHhmXTsKKyAgICAgICAgICAgIG91dHBbM10gPSBQeV9oZXhkaWdpdHNbYyYweGZdOworICAgICAgICB9CisKKyAgICAgICAgYXNzZXJ0KF9QeVVuaWNvZGVfQ2hlY2tDb25zaXN0ZW5jeShyZXMsIDEpKTsKKyAgICAgICAgUHlfREVDUkVGKG9iamVjdCk7CisgICAgICAgIHJldHVybiBQeV9CdWlsZFZhbHVlKCIoTm4pIiwgcmVzLCBlbmQpOworICAgIH0KKyAgICBpZiAoUHlPYmplY3RfSXNJbnN0YW5jZShleGMsIFB5RXhjX1VuaWNvZGVFbmNvZGVFcnJvcikpIHsKKyAgICAgICAgaWYgKFB5VW5pY29kZUVuY29kZUVycm9yX0dldFN0YXJ0KGV4YywgJnN0YXJ0KSkKKyAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICBpZiAoUHlVbmljb2RlRW5jb2RlRXJyb3JfR2V0RW5kKGV4YywgJmVuZCkpCisgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgaWYgKCEob2JqZWN0ID0gUHlVbmljb2RlRW5jb2RlRXJyb3JfR2V0T2JqZWN0KGV4YykpKQorICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorICAgIGVsc2UgaWYgKFB5T2JqZWN0X0lzSW5zdGFuY2UoZXhjLCBQeUV4Y19Vbmljb2RlVHJhbnNsYXRlRXJyb3IpKSB7CisgICAgICAgIGlmIChQeVVuaWNvZGVUcmFuc2xhdGVFcnJvcl9HZXRTdGFydChleGMsICZzdGFydCkpCisgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgaWYgKFB5VW5pY29kZVRyYW5zbGF0ZUVycm9yX0dldEVuZChleGMsICZlbmQpKQorICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgIGlmICghKG9iamVjdCA9IFB5VW5pY29kZVRyYW5zbGF0ZUVycm9yX0dldE9iamVjdChleGMpKSkKKyAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKyAgICBlbHNlIHsKKyAgICAgICAgd3JvbmdfZXhjZXB0aW9uX3R5cGUoZXhjKTsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorCisgICAgaWYgKGVuZCAtIHN0YXJ0ID4gUFlfU1NJWkVfVF9NQVggLyAoMSsxKzgpKQorICAgICAgICBlbmQgPSBzdGFydCArIFBZX1NTSVpFX1RfTUFYIC8gKDErMSs4KTsKKyAgICBmb3IgKGkgPSBzdGFydCwgcmVzc2l6ZSA9IDA7IGkgPCBlbmQ7ICsraSkgeworICAgICAgICAvKiBvYmplY3QgaXMgZ3VhcmFudGVlZCB0byBiZSAicmVhZHkiICovCisgICAgICAgIGMgPSBQeVVuaWNvZGVfUkVBRF9DSEFSKG9iamVjdCwgaSk7CisgICAgICAgIGlmIChjID49IDB4MTAwMDApIHsKKyAgICAgICAgICAgIHJlc3NpemUgKz0gMSsxKzg7CisgICAgICAgIH0KKyAgICAgICAgZWxzZSBpZiAoYyA+PSAweDEwMCkgeworICAgICAgICAgICAgcmVzc2l6ZSArPSAxKzErNDsKKyAgICAgICAgfQorICAgICAgICBlbHNlCisgICAgICAgICAgICByZXNzaXplICs9IDErMSsyOworICAgIH0KKyAgICByZXMgPSBQeVVuaWNvZGVfTmV3KHJlc3NpemUsIDEyNyk7CisgICAgaWYgKHJlcyA9PSBOVUxMKSB7CisgICAgICAgIFB5X0RFQ1JFRihvYmplY3QpOworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisgICAgb3V0cCA9IFB5VW5pY29kZV8xQllURV9EQVRBKHJlcyk7CisgICAgZm9yIChpID0gc3RhcnQ7IGkgPCBlbmQ7ICsraSkgeworICAgICAgICBjID0gUHlVbmljb2RlX1JFQURfQ0hBUihvYmplY3QsIGkpOworICAgICAgICAqb3V0cCsrID0gJ1xcJzsKKyAgICAgICAgaWYgKGMgPj0gMHgwMDAxMDAwMCkgeworICAgICAgICAgICAgKm91dHArKyA9ICdVJzsKKyAgICAgICAgICAgICpvdXRwKysgPSBQeV9oZXhkaWdpdHNbKGM+PjI4KSYweGZdOworICAgICAgICAgICAgKm91dHArKyA9IFB5X2hleGRpZ2l0c1soYz4+MjQpJjB4Zl07CisgICAgICAgICAgICAqb3V0cCsrID0gUHlfaGV4ZGlnaXRzWyhjPj4yMCkmMHhmXTsKKyAgICAgICAgICAgICpvdXRwKysgPSBQeV9oZXhkaWdpdHNbKGM+PjE2KSYweGZdOworICAgICAgICAgICAgKm91dHArKyA9IFB5X2hleGRpZ2l0c1soYz4+MTIpJjB4Zl07CisgICAgICAgICAgICAqb3V0cCsrID0gUHlfaGV4ZGlnaXRzWyhjPj44KSYweGZdOworICAgICAgICB9CisgICAgICAgIGVsc2UgaWYgKGMgPj0gMHgxMDApIHsKKyAgICAgICAgICAgICpvdXRwKysgPSAndSc7CisgICAgICAgICAgICAqb3V0cCsrID0gUHlfaGV4ZGlnaXRzWyhjPj4xMikmMHhmXTsKKyAgICAgICAgICAgICpvdXRwKysgPSBQeV9oZXhkaWdpdHNbKGM+PjgpJjB4Zl07CisgICAgICAgIH0KKyAgICAgICAgZWxzZQorICAgICAgICAgICAgKm91dHArKyA9ICd4JzsKKyAgICAgICAgKm91dHArKyA9IFB5X2hleGRpZ2l0c1soYz4+NCkmMHhmXTsKKyAgICAgICAgKm91dHArKyA9IFB5X2hleGRpZ2l0c1tjJjB4Zl07CisgICAgfQorCisgICAgYXNzZXJ0KF9QeVVuaWNvZGVfQ2hlY2tDb25zaXN0ZW5jeShyZXMsIDEpKTsKKyAgICBQeV9ERUNSRUYob2JqZWN0KTsKKyAgICByZXR1cm4gUHlfQnVpbGRWYWx1ZSgiKE5uKSIsIHJlcywgZW5kKTsKK30KKworc3RhdGljIF9QeVVuaWNvZGVfTmFtZV9DQVBJICp1Y25oYXNoX0NBUEkgPSBOVUxMOworc3RhdGljIGludCB1Y25oYXNoX2luaXRpYWxpemVkID0gMDsKKworUHlPYmplY3QgKlB5Q29kZWNfTmFtZVJlcGxhY2VFcnJvcnMoUHlPYmplY3QgKmV4YykKK3sKICAgICBpZiAoUHlPYmplY3RfSXNJbnN0YW5jZShleGMsIFB5RXhjX1VuaWNvZGVFbmNvZGVFcnJvcikpIHsKICAgICAgICAgUHlPYmplY3QgKnJlc3R1cGxlOwogICAgICAgICBQeU9iamVjdCAqb2JqZWN0OwpAQCAtODcyLDM2ICs5ODYsNTcgQEAKICAgICAgICAgUHlPYmplY3QgKnJlczsKICAgICAgICAgdW5zaWduZWQgY2hhciAqb3V0cDsKICAgICAgICAgUHlfc3NpemVfdCByZXNzaXplOworICAgICAgICBpbnQgcmVwbHNpemU7CiAgICAgICAgIFB5X1VDUzQgYzsKKyAgICAgICAgY2hhciBidWZmZXJbMjU2XTsgLyogTkFNRV9NQVhMRU4gKi8KICAgICAgICAgaWYgKFB5VW5pY29kZUVuY29kZUVycm9yX0dldFN0YXJ0KGV4YywgJnN0YXJ0KSkKICAgICAgICAgICAgIHJldHVybiBOVUxMOwogICAgICAgICBpZiAoUHlVbmljb2RlRW5jb2RlRXJyb3JfR2V0RW5kKGV4YywgJmVuZCkpCiAgICAgICAgICAgICByZXR1cm4gTlVMTDsKICAgICAgICAgaWYgKCEob2JqZWN0ID0gUHlVbmljb2RlRW5jb2RlRXJyb3JfR2V0T2JqZWN0KGV4YykpKQogICAgICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgICAgIGlmIChlbmQgLSBzdGFydCA+IFBZX1NTSVpFX1RfTUFYIC8gKDErMSs4KSkKLSAgICAgICAgICAgIGVuZCA9IHN0YXJ0ICsgUFlfU1NJWkVfVF9NQVggLyAoMSsxKzgpOworICAgICAgICBpZiAoIXVjbmhhc2hfaW5pdGlhbGl6ZWQpIHsKKyAgICAgICAgICAgIC8qIGxvYWQgdGhlIHVuaWNvZGUgZGF0YSBtb2R1bGUgKi8KKyAgICAgICAgICAgIHVjbmhhc2hfQ0FQSSA9IChfUHlVbmljb2RlX05hbWVfQ0FQSSAqKVB5Q2Fwc3VsZV9JbXBvcnQoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5VW5pY29kZURhdGFfQ0FQU1VMRV9OQU1FLCAxKTsKKyAgICAgICAgICAgIHVjbmhhc2hfaW5pdGlhbGl6ZWQgPSAxOworICAgICAgICB9CiAgICAgICAgIGZvciAoaSA9IHN0YXJ0LCByZXNzaXplID0gMDsgaSA8IGVuZDsgKytpKSB7CiAgICAgICAgICAgICAvKiBvYmplY3QgaXMgZ3VhcmFudGVlZCB0byBiZSAicmVhZHkiICovCiAgICAgICAgICAgICBjID0gUHlVbmljb2RlX1JFQURfQ0hBUihvYmplY3QsIGkpOwotICAgICAgICAgICAgaWYgKGMgPj0gMHgxMDAwMCkgewotICAgICAgICAgICAgICAgIHJlc3NpemUgKz0gMSsxKzg7CisgICAgICAgICAgICBpZiAodWNuaGFzaF9DQVBJICYmCisgICAgICAgICAgICAgICAgdWNuaGFzaF9DQVBJLT5nZXRuYW1lKE5VTEwsIGMsIGJ1ZmZlciwgc2l6ZW9mKGJ1ZmZlciksIDEpKSB7CisgICAgICAgICAgICAgICAgcmVwbHNpemUgPSAxKzErMSsoaW50KXN0cmxlbihidWZmZXIpKzE7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBlbHNlIGlmIChjID49IDB4MTAwMDApIHsKKyAgICAgICAgICAgICAgICByZXBsc2l6ZSA9IDErMSs4OwogICAgICAgICAgICAgfQogICAgICAgICAgICAgZWxzZSBpZiAoYyA+PSAweDEwMCkgewotICAgICAgICAgICAgICAgIHJlc3NpemUgKz0gMSsxKzQ7CisgICAgICAgICAgICAgICAgcmVwbHNpemUgPSAxKzErNDsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICByZXNzaXplICs9IDErMSsyOworICAgICAgICAgICAgICAgIHJlcGxzaXplID0gMSsxKzI7CisgICAgICAgICAgICBpZiAocmVzc2l6ZSA+IFBZX1NTSVpFX1RfTUFYIC0gcmVwbHNpemUpCisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICByZXNzaXplICs9IHJlcGxzaXplOwogICAgICAgICB9CisgICAgICAgIGVuZCA9IGk7CiAgICAgICAgIHJlcyA9IFB5VW5pY29kZV9OZXcocmVzc2l6ZSwgMTI3KTsKLSAgICAgICAgaWYgKHJlcyA9PSBOVUxMKSB7Ci0gICAgICAgICAgICBQeV9ERUNSRUYob2JqZWN0KTsKKyAgICAgICAgaWYgKHJlcz09TlVMTCkKICAgICAgICAgICAgIHJldHVybiBOVUxMOwotICAgICAgICB9CiAgICAgICAgIGZvciAoaSA9IHN0YXJ0LCBvdXRwID0gUHlVbmljb2RlXzFCWVRFX0RBVEEocmVzKTsKICAgICAgICAgICAgIGkgPCBlbmQ7ICsraSkgewogICAgICAgICAgICAgYyA9IFB5VW5pY29kZV9SRUFEX0NIQVIob2JqZWN0LCBpKTsKICAgICAgICAgICAgICpvdXRwKysgPSAnXFwnOworICAgICAgICAgICAgaWYgKHVjbmhhc2hfQ0FQSSAmJgorICAgICAgICAgICAgICAgIHVjbmhhc2hfQ0FQSS0+Z2V0bmFtZShOVUxMLCBjLCBidWZmZXIsIHNpemVvZihidWZmZXIpLCAxKSkgeworICAgICAgICAgICAgICAgICpvdXRwKysgPSAnTic7CisgICAgICAgICAgICAgICAgKm91dHArKyA9ICd7JzsKKyAgICAgICAgICAgICAgICBzdHJjcHkoKGNoYXIgKilvdXRwLCBidWZmZXIpOworICAgICAgICAgICAgICAgIG91dHAgKz0gc3RybGVuKGJ1ZmZlcik7CisgICAgICAgICAgICAgICAgKm91dHArKyA9ICd9JzsKKyAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgIH0KICAgICAgICAgICAgIGlmIChjID49IDB4MDAwMTAwMDApIHsKICAgICAgICAgICAgICAgICAqb3V0cCsrID0gJ1UnOwogICAgICAgICAgICAgICAgICpvdXRwKysgPSBQeV9oZXhkaWdpdHNbKGM+PjI4KSYweGZdOwpAQCAtOTIyLDYgKzEwNTcsNyBAQAogICAgICAgICAgICAgKm91dHArKyA9IFB5X2hleGRpZ2l0c1tjJjB4Zl07CiAgICAgICAgIH0KIAorICAgICAgICBhc3NlcnQob3V0cCA9PSBQeVVuaWNvZGVfMUJZVEVfREFUQShyZXMpICsgcmVzc2l6ZSk7CiAgICAgICAgIGFzc2VydChfUHlVbmljb2RlX0NoZWNrQ29uc2lzdGVuY3kocmVzLCAxKSk7CiAgICAgICAgIHJlc3R1cGxlID0gUHlfQnVpbGRWYWx1ZSgiKE5uKSIsIHJlcywgZW5kKTsKICAgICAgICAgUHlfREVDUkVGKG9iamVjdCk7CkBAIC05MzMsNiArMTA2OSw3IEBACiAgICAgfQogfQogCisjZGVmaW5lIEVOQ19VTktOT1dOICAgICAtMQogI2RlZmluZSBFTkNfVVRGOCAgICAgICAgMAogI2RlZmluZSBFTkNfVVRGMTZCRSAgICAgMQogI2RlZmluZSBFTkNfVVRGMTZMRSAgICAgMgpAQCAtOTQ4LDcgKzEwODUsMTEgQEAKICAgICAgICAgZW5jb2RpbmcgKz0gMzsKICAgICAgICAgaWYgKCplbmNvZGluZyA9PSAnLScgfHwgKmVuY29kaW5nID09ICdfJyApCiAgICAgICAgICAgICBlbmNvZGluZysrOwotICAgICAgICBpZiAoZW5jb2RpbmdbMF0gPT0gJzEnICYmIGVuY29kaW5nWzFdID09ICc2JykgeworICAgICAgICBpZiAoZW5jb2RpbmdbMF0gPT0gJzgnICYmIGVuY29kaW5nWzFdID09ICdcMCcpIHsKKyAgICAgICAgICAgICpieXRlbGVuZ3RoID0gMzsKKyAgICAgICAgICAgIHJldHVybiBFTkNfVVRGODsKKyAgICAgICAgfQorICAgICAgICBlbHNlIGlmIChlbmNvZGluZ1swXSA9PSAnMScgJiYgZW5jb2RpbmdbMV0gPT0gJzYnKSB7CiAgICAgICAgICAgICBlbmNvZGluZyArPSAyOwogICAgICAgICAgICAgKmJ5dGVsZW5ndGggPSAyOwogICAgICAgICAgICAgaWYgKCplbmNvZGluZyA9PSAnXDAnKSB7CkBAIC05ODcsOSArMTEyOCwxMSBAQAogICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgfQotICAgIC8qIHV0Zi04ICovCi0gICAgKmJ5dGVsZW5ndGggPSAzOwotICAgIHJldHVybiBFTkNfVVRGODsKKyAgICBlbHNlIGlmIChzdHJjbXAoZW5jb2RpbmcsICJDUF9VVEY4IikgPT0gMCkgeworICAgICAgICAqYnl0ZWxlbmd0aCA9IDM7CisgICAgICAgIHJldHVybiBFTkNfVVRGODsKKyAgICB9CisgICAgcmV0dXJuIEVOQ19VTktOT1dOOwogfQogCiAvKiBUaGlzIGhhbmRsZXIgaXMgZGVjbGFyZWQgc3RhdGljIHVudGlsIHNvbWVvbmUgZGVtb25zdHJhdGVzCkBAIC0xMDI2LDYgKzExNjksMTIgQEAKICAgICAgICAgfQogICAgICAgICBjb2RlID0gZ2V0X3N0YW5kYXJkX2VuY29kaW5nKGVuY29kaW5nLCAmYnl0ZWxlbmd0aCk7CiAgICAgICAgIFB5X0RFQ1JFRihlbmNvZGUpOworICAgICAgICBpZiAoY29kZSA9PSBFTkNfVU5LTk9XTikgeworICAgICAgICAgICAgLyogTm90IHN1cHBvcnRlZCwgZmFpbCB3aXRoIG9yaWdpbmFsIGV4Y2VwdGlvbiAqLworICAgICAgICAgICAgUHlFcnJfU2V0T2JqZWN0KFB5RXhjZXB0aW9uSW5zdGFuY2VfQ2xhc3MoZXhjKSwgZXhjKTsKKyAgICAgICAgICAgIFB5X0RFQ1JFRihvYmplY3QpOworICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgIH0KIAogICAgICAgICBpZiAoZW5kIC0gc3RhcnQgPiBQWV9TU0laRV9UX01BWCAvIGJ5dGVsZW5ndGgpCiAgICAgICAgICAgICBlbmQgPSBzdGFydCArIFBZX1NTSVpFX1RfTUFYIC8gYnl0ZWxlbmd0aDsKQEAgLTExMDIsNiArMTI1MSwxMiBAQAogICAgICAgICB9CiAgICAgICAgIGNvZGUgPSBnZXRfc3RhbmRhcmRfZW5jb2RpbmcoZW5jb2RpbmcsICZieXRlbGVuZ3RoKTsKICAgICAgICAgUHlfREVDUkVGKGVuY29kZSk7CisgICAgICAgIGlmIChjb2RlID09IEVOQ19VTktOT1dOKSB7CisgICAgICAgICAgICAvKiBOb3Qgc3VwcG9ydGVkLCBmYWlsIHdpdGggb3JpZ2luYWwgZXhjZXB0aW9uICovCisgICAgICAgICAgICBQeUVycl9TZXRPYmplY3QoUHlFeGNlcHRpb25JbnN0YW5jZV9DbGFzcyhleGMpLCBleGMpOworICAgICAgICAgICAgUHlfREVDUkVGKG9iamVjdCk7CisgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgfQogCiAgICAgICAgIC8qIFRyeSBkZWNvZGluZyBhIHNpbmdsZSBzdXJyb2dhdGUgY2hhcmFjdGVyLiBJZgogICAgICAgICAgICB0aGVyZSBhcmUgbW9yZSwgbGV0IHRoZSBjb2RlYyBjYWxsIHVzIGFnYWluLiAqLwpAQCAtMTI1Nyw2ICsxNDEyLDExIEBACiAgICAgcmV0dXJuIFB5Q29kZWNfQmFja3NsYXNoUmVwbGFjZUVycm9ycyhleGMpOwogfQogCitzdGF0aWMgUHlPYmplY3QgKm5hbWVyZXBsYWNlX2Vycm9ycyhQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmV4YykKK3sKKyAgICByZXR1cm4gUHlDb2RlY19OYW1lUmVwbGFjZUVycm9ycyhleGMpOworfQorCiBzdGF0aWMgUHlPYmplY3QgKnN1cnJvZ2F0ZXBhc3NfZXJyb3JzKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqZXhjKQogewogICAgIHJldHVybiBQeUNvZGVjX1N1cnJvZ2F0ZVBhc3NFcnJvcnMoZXhjKTsKQEAgLTEzMjIsOCArMTQ4MiwxOSBAQAogICAgICAgICAgICAgICAgIGJhY2tzbGFzaHJlcGxhY2VfZXJyb3JzLAogICAgICAgICAgICAgICAgIE1FVEhfTywKICAgICAgICAgICAgICAgICBQeURvY19TVFIoIkltcGxlbWVudHMgdGhlICdiYWNrc2xhc2hyZXBsYWNlJyBlcnJvciBoYW5kbGluZywgIgorICAgICAgICAgICAgICAgICAgICAgICAgICAid2hpY2ggcmVwbGFjZXMgbWFsZm9ybWVkIGRhdGEgd2l0aCBhIGJhY2tzbGFzaGVkICIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgImVzY2FwZSBzZXF1ZW5jZS4iKQorICAgICAgICAgICAgfQorICAgICAgICB9LAorICAgICAgICB7CisgICAgICAgICAgICAibmFtZXJlcGxhY2UiLAorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICJuYW1lcmVwbGFjZV9lcnJvcnMiLAorICAgICAgICAgICAgICAgIG5hbWVyZXBsYWNlX2Vycm9ycywKKyAgICAgICAgICAgICAgICBNRVRIX08sCisgICAgICAgICAgICAgICAgUHlEb2NfU1RSKCJJbXBsZW1lbnRzIHRoZSAnbmFtZXJlcGxhY2UnIGVycm9yIGhhbmRsaW5nLCAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ3aGljaCByZXBsYWNlcyBhbiB1bmVuY29kYWJsZSBjaGFyYWN0ZXIgd2l0aCBhICIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgImJhY2tzbGFzaGVkIGVzY2FwZSBzZXF1ZW5jZS4iKQorICAgICAgICAgICAgICAgICAgICAgICAgICAiXFxOey4uLn0gZXNjYXBlIHNlcXVlbmNlLiIpCiAgICAgICAgICAgICB9CiAgICAgICAgIH0sCiAgICAgICAgIHsKZGlmZiAtLWdpdCBhL1B5dGhvbi9jb21waWxlLmMgYi9QeXRob24vY29tcGlsZS5jCmluZGV4IGIwN2MxNTYuLjk3ZmU1YzIgMTAwNjQ0Ci0tLSBhL1B5dGhvbi9jb21waWxlLmMKKysrIGIvUHl0aG9uL2NvbXBpbGUuYwpAQCAtMzAsOCArMzAsNiBAQAogI2luY2x1ZGUgInN5bXRhYmxlLmgiCiAjaW5jbHVkZSAib3Bjb2RlLmgiCiAKLWludCBQeV9PcHRpbWl6ZUZsYWcgPSAwOwotCiAjZGVmaW5lIERFRkFVTFRfQkxPQ0tfU0laRSAxNgogI2RlZmluZSBERUZBVUxUX0JMT0NLUyA4CiAjZGVmaW5lIERFRkFVTFRfQ09ERV9TSVpFIDEyOApAQCAtODgxLDYgKzg3OSw3IEBACiAKICAgICAgICAgY2FzZSBCSU5BUllfUE9XRVI6CiAgICAgICAgIGNhc2UgQklOQVJZX01VTFRJUExZOgorICAgICAgICBjYXNlIEJJTkFSWV9NQVRSSVhfTVVMVElQTFk6CiAgICAgICAgIGNhc2UgQklOQVJZX01PRFVMTzoKICAgICAgICAgY2FzZSBCSU5BUllfQUREOgogICAgICAgICBjYXNlIEJJTkFSWV9TVUJUUkFDVDoKQEAgLTg5NSw2ICs4OTQsNyBAQAogICAgICAgICBjYXNlIElOUExBQ0VfQUREOgogICAgICAgICBjYXNlIElOUExBQ0VfU1VCVFJBQ1Q6CiAgICAgICAgIGNhc2UgSU5QTEFDRV9NVUxUSVBMWToKKyAgICAgICAgY2FzZSBJTlBMQUNFX01BVFJJWF9NVUxUSVBMWToKICAgICAgICAgY2FzZSBJTlBMQUNFX01PRFVMTzoKICAgICAgICAgICAgIHJldHVybiAtMTsKICAgICAgICAgY2FzZSBTVE9SRV9TVUJTQ1I6CkBAIC0xOTM4LDcgKzE5MzgsNyBAQAogICAgIH0gZWxzZSBpZiAoY29uc3RhbnQgPT0gMSkgewogICAgICAgICBWSVNJVF9TRVEoYywgc3RtdCwgcy0+di5JZi5ib2R5KTsKICAgICB9IGVsc2UgewotICAgICAgICBpZiAocy0+di5JZi5vcmVsc2UpIHsKKyAgICAgICAgaWYgKGFzZGxfc2VxX0xFTihzLT52LklmLm9yZWxzZSkpIHsKICAgICAgICAgICAgIG5leHQgPSBjb21waWxlcl9uZXdfYmxvY2soYyk7CiAgICAgICAgICAgICBpZiAobmV4dCA9PSBOVUxMKQogICAgICAgICAgICAgICAgIHJldHVybiAwOwpAQCAtMTk0OCw4ICsxOTQ4LDggQEAKICAgICAgICAgVklTSVQoYywgZXhwciwgcy0+di5JZi50ZXN0KTsKICAgICAgICAgQURET1BfSkFCUyhjLCBQT1BfSlVNUF9JRl9GQUxTRSwgbmV4dCk7CiAgICAgICAgIFZJU0lUX1NFUShjLCBzdG10LCBzLT52LklmLmJvZHkpOwotICAgICAgICBBRERPUF9KUkVMKGMsIEpVTVBfRk9SV0FSRCwgZW5kKTsKLSAgICAgICAgaWYgKHMtPnYuSWYub3JlbHNlKSB7CisgICAgICAgIGlmIChhc2RsX3NlcV9MRU4ocy0+di5JZi5vcmVsc2UpKSB7CisgICAgICAgICAgICBBRERPUF9KUkVMKGMsIEpVTVBfRk9SV0FSRCwgZW5kKTsKICAgICAgICAgICAgIGNvbXBpbGVyX3VzZV9uZXh0X2Jsb2NrKGMsIG5leHQpOwogICAgICAgICAgICAgVklTSVRfU0VRKGMsIHN0bXQsIHMtPnYuSWYub3JlbHNlKTsKICAgICAgICAgfQpAQCAtMjYyNCw2ICsyNjI0LDggQEAKICAgICAgICAgcmV0dXJuIEJJTkFSWV9TVUJUUkFDVDsKICAgICBjYXNlIE11bHQ6CiAgICAgICAgIHJldHVybiBCSU5BUllfTVVMVElQTFk7CisgICAgY2FzZSBNYXRNdWx0OgorICAgICAgICByZXR1cm4gQklOQVJZX01BVFJJWF9NVUxUSVBMWTsKICAgICBjYXNlIERpdjoKICAgICAgICAgcmV0dXJuIEJJTkFSWV9UUlVFX0RJVklERTsKICAgICBjYXNlIE1vZDoKQEAgLTI2ODgsNiArMjY5MCw4IEBACiAgICAgICAgIHJldHVybiBJTlBMQUNFX1NVQlRSQUNUOwogICAgIGNhc2UgTXVsdDoKICAgICAgICAgcmV0dXJuIElOUExBQ0VfTVVMVElQTFk7CisgICAgY2FzZSBNYXRNdWx0OgorICAgICAgICByZXR1cm4gSU5QTEFDRV9NQVRSSVhfTVVMVElQTFk7CiAgICAgY2FzZSBEaXY6CiAgICAgICAgIHJldHVybiBJTlBMQUNFX1RSVUVfRElWSURFOwogICAgIGNhc2UgTW9kOgpkaWZmIC0tZ2l0IGEvUHl0aG9uL2R5bmxvYWRfd2luLmMgYi9QeXRob24vZHlubG9hZF93aW4uYwppbmRleCBmZmNmMGVlLi45ZWQ5ZWVhIDEwMDY0NAotLS0gYS9QeXRob24vZHlubG9hZF93aW4uYworKysgYi9QeXRob24vZHlubG9hZF93aW4uYwpAQCAtOSw2ICs5LDcgQEAKICNpbmNsdWRlIDxjdHlwZS5oPgogCiAjaW5jbHVkZSAiaW1wb3J0ZGwuaCIKKyNpbmNsdWRlICJwYXRjaGxldmVsLmgiCiAjaW5jbHVkZSA8d2luZG93cy5oPgogCiAvLyAiYWN0aXZhdGlvbiBjb250ZXh0IiBtYWdpYyAtIHNlZSBkbF9udC5jLi4uCkBAIC0xNywxNiArMTgsMjggQEAKIHZvaWQgX1B5X0RlYWN0aXZhdGVBY3RDdHgoVUxPTkdfUFRSIGNvb2tpZSk7CiAjZW5kaWYKIAotY29uc3QgY2hhciAqX1B5SW1wb3J0X0R5bkxvYWRGaWxldGFiW10gPSB7CiAjaWZkZWYgX0RFQlVHCi0gICAgIl9kLnB5ZCIsCisjZGVmaW5lIFBZRF9ERUJVR19TVUZGSVggIl9kIgogI2Vsc2UKLSAgICAiLnB5ZCIsCisjZGVmaW5lIFBZRF9ERUJVR19TVUZGSVggIiIKICNlbmRpZgorCisjZGVmaW5lIFNUUklOR0laRTIoeCkgI3gKKyNkZWZpbmUgU1RSSU5HSVpFKHgpIFNUUklOR0laRTIoeCkKKyNpZmRlZiBQWURfUExBVEZPUk1fVEFHCisjZGVmaW5lIFBZRF9UQUdHRURfU1VGRklYIFBZRF9ERUJVR19TVUZGSVggIi5jcCIgU1RSSU5HSVpFKFBZX01BSk9SX1ZFUlNJT04pIFNUUklOR0laRShQWV9NSU5PUl9WRVJTSU9OKSAiLSIgUFlEX1BMQVRGT1JNX1RBRyAiLnB5ZCIKKyNlbHNlCisjZGVmaW5lIFBZRF9UQUdHRURfU1VGRklYIFBZRF9ERUJVR19TVUZGSVggIi5jcCIgU1RSSU5HSVpFKFBZX01BSk9SX1ZFUlNJT04pIFNUUklOR0laRShQWV9NSU5PUl9WRVJTSU9OKSAiLnB5ZCIKKyNlbmRpZgorCisjZGVmaW5lIFBZRF9VTlRBR0dFRF9TVUZGSVggUFlEX0RFQlVHX1NVRkZJWCAiLnB5ZCIKKworY29uc3QgY2hhciAqX1B5SW1wb3J0X0R5bkxvYWRGaWxldGFiW10gPSB7CisgICAgUFlEX1RBR0dFRF9TVUZGSVgsCisgICAgUFlEX1VOVEFHR0VEX1NVRkZJWCwKICAgICBOVUxMCiB9OwogCi0KIC8qIENhc2UgaW5zZW5zaXRpdmUgc3RyaW5nIGNvbXBhcmUsIHRvIGF2b2lkIGFueSBkZXBlbmRlbmNpZXMgb24gcGFydGljdWxhcgogICAgQyBSVEwgaW1wbGVtZW50YXRpb25zICovCiAKZGlmZiAtLWdpdCBhL1B5dGhvbi9lcnJvcnMuYyBiL1B5dGhvbi9lcnJvcnMuYwppbmRleCBhOTgwNDgxLi45NDBhZWYzIDEwMDY0NAotLS0gYS9QeXRob24vZXJyb3JzLmMKKysrIGIvUHl0aG9uL2Vycm9ycy5jCkBAIC03NzMsMTkgKzc3MywxMSBAQAogI2RlZmluZSBQeUVycl9CYWRJbnRlcm5hbENhbGwoKSBfUHlFcnJfQmFkSW50ZXJuYWxDYWxsKF9fRklMRV9fLCBfX0xJTkVfXykKIAogCi0KIFB5T2JqZWN0ICoKLVB5RXJyX0Zvcm1hdChQeU9iamVjdCAqZXhjZXB0aW9uLCBjb25zdCBjaGFyICpmb3JtYXQsIC4uLikKK1B5RXJyX0Zvcm1hdFYoUHlPYmplY3QgKmV4Y2VwdGlvbiwgY29uc3QgY2hhciAqZm9ybWF0LCB2YV9saXN0IHZhcmdzKQogewotICAgIHZhX2xpc3QgdmFyZ3M7CiAgICAgUHlPYmplY3QqIHN0cmluZzsKIAotI2lmZGVmIEhBVkVfU1REQVJHX1BST1RPVFlQRVMKLSAgICB2YV9zdGFydCh2YXJncywgZm9ybWF0KTsKLSNlbHNlCi0gICAgdmFfc3RhcnQodmFyZ3MpOwotI2VuZGlmCi0KICNpZmRlZiBQeV9ERUJVRwogICAgIC8qIGluIGRlYnVnIG1vZGUsIFB5RXZhbF9FdmFsRnJhbWVFeCgpIGZhaWxzIHdpdGggYW4gYXNzZXJ0aW9uIGVycm9yCiAgICAgICAgaWYgYW4gZXhjZXB0aW9uIGlzIHNldCB3aGVuIGl0IGlzIGNhbGxlZCAqLwpAQCAtNzk1LDExICs3ODcsMjQgQEAKICAgICBzdHJpbmcgPSBQeVVuaWNvZGVfRnJvbUZvcm1hdFYoZm9ybWF0LCB2YXJncyk7CiAgICAgUHlFcnJfU2V0T2JqZWN0KGV4Y2VwdGlvbiwgc3RyaW5nKTsKICAgICBQeV9YREVDUkVGKHN0cmluZyk7Ci0gICAgdmFfZW5kKHZhcmdzKTsKICAgICByZXR1cm4gTlVMTDsKIH0KIAogCitQeU9iamVjdCAqCitQeUVycl9Gb3JtYXQoUHlPYmplY3QgKmV4Y2VwdGlvbiwgY29uc3QgY2hhciAqZm9ybWF0LCAuLi4pCit7CisgICAgdmFfbGlzdCB2YXJnczsKKyNpZmRlZiBIQVZFX1NUREFSR19QUk9UT1RZUEVTCisgICAgdmFfc3RhcnQodmFyZ3MsIGZvcm1hdCk7CisjZWxzZQorICAgIHZhX3N0YXJ0KHZhcmdzKTsKKyNlbmRpZgorICAgIFB5RXJyX0Zvcm1hdFYoZXhjZXB0aW9uLCBmb3JtYXQsIHZhcmdzKTsKKyAgICB2YV9lbmQodmFyZ3MpOworICAgIHJldHVybiBOVUxMOworfQorCiAKIFB5T2JqZWN0ICoKIFB5RXJyX05ld0V4Y2VwdGlvbihjb25zdCBjaGFyICpuYW1lLCBQeU9iamVjdCAqYmFzZSwgUHlPYmplY3QgKmRpY3QpCmRpZmYgLS1naXQgYS9QeXRob24vZmlsZXV0aWxzLmMgYi9QeXRob24vZmlsZXV0aWxzLmMKaW5kZXggOTAxYTc0Ni4uYzVjOGQ0ZSAxMDA2NDQKLS0tIGEvUHl0aG9uL2ZpbGV1dGlscy5jCisrKyBiL1B5dGhvbi9maWxldXRpbHMuYwpAQCAtODIsMTEgKzgyLDExIEBACiAKICAgIFZhbHVlcyBvZiBmb3JjZV9hc2NpaToKIAotICAgICAgIDE6IHRoZSB3b3JrYXJvdW5kIGlzIHVzZWQ6IF9QeV93Y2hhcjJjaGFyKCkgdXNlcwotICAgICAgICAgIGVuY29kZV9hc2NpaV9zdXJyb2dhdGVlc2NhcGUoKSBhbmQgX1B5X2NoYXIyd2NoYXIoKSB1c2VzCisgICAgICAgMTogdGhlIHdvcmthcm91bmQgaXMgdXNlZDogUHlfRW5jb2RlTG9jYWxlKCkgdXNlcworICAgICAgICAgIGVuY29kZV9hc2NpaV9zdXJyb2dhdGVlc2NhcGUoKSBhbmQgUHlfRGVjb2RlTG9jYWxlKCkgdXNlcwogICAgICAgICAgIGRlY29kZV9hc2NpaV9zdXJyb2dhdGVlc2NhcGUoKQotICAgICAgIDA6IHRoZSB3b3JrYXJvdW5kIGlzIG5vdCB1c2VkOiBfUHlfd2NoYXIyY2hhcigpIHVzZXMgd2NzdG9tYnMoKSBhbmQKLSAgICAgICAgICBfUHlfY2hhcjJ3Y2hhcigpIHVzZXMgbWJzdG93Y3MoKQorICAgICAgIDA6IHRoZSB3b3JrYXJvdW5kIGlzIG5vdCB1c2VkOiBQeV9FbmNvZGVMb2NhbGUoKSB1c2VzIHdjc3RvbWJzKCkgYW5kCisgICAgICAgICAgUHlfRGVjb2RlTG9jYWxlKCkgdXNlcyBtYnN0b3djcygpCiAgICAgICAtMTogdW5rbm93biwgbmVlZCB0byBjYWxsIGNoZWNrX2ZvcmNlX2FzY2lpKCkgdG8gZ2V0IHRoZSB2YWx1ZQogKi8KIHN0YXRpYyBpbnQgZm9yY2VfYXNjaWkgPSAtMTsKQEAgLTI0NCwyNCArMjQ0LDI2IEBACiAKIAogLyogRGVjb2RlIGEgYnl0ZSBzdHJpbmcgZnJvbSB0aGUgbG9jYWxlIGVuY29kaW5nIHdpdGggdGhlCi0gICBzdXJyb2dhdGVlc2NhcGUgZXJyb3IgaGFuZGxlciAodW5kZWNvZGFibGUgYnl0ZXMgYXJlIGRlY29kZWQgYXMgY2hhcmFjdGVycwotICAgaW4gcmFuZ2UgVStEQzgwLi5VK0RDRkYpLiBJZiBhIGJ5dGUgc2VxdWVuY2UgY2FuIGJlIGRlY29kZWQgYXMgYSBzdXJyb2dhdGUKKyAgIHN1cnJvZ2F0ZWVzY2FwZSBlcnJvciBoYW5kbGVyOiB1bmRlY29kYWJsZSBieXRlcyBhcmUgZGVjb2RlZCBhcyBjaGFyYWN0ZXJzCisgICBpbiByYW5nZSBVK0RDODAuLlUrRENGRi4gSWYgYSBieXRlIHNlcXVlbmNlIGNhbiBiZSBkZWNvZGVkIGFzIGEgc3Vycm9nYXRlCiAgICBjaGFyYWN0ZXIsIGVzY2FwZSB0aGUgYnl0ZXMgdXNpbmcgdGhlIHN1cnJvZ2F0ZWVzY2FwZSBlcnJvciBoYW5kbGVyIGluc3RlYWQKICAgIG9mIGRlY29kaW5nIHRoZW0uCiAKLSAgIFVzZSBfUHlfd2NoYXIyY2hhcigpIHRvIGVuY29kZSB0aGUgY2hhcmFjdGVyIHN0cmluZyBiYWNrIHRvIGEgYnl0ZSBzdHJpbmcuCisgICBSZXR1cm4gYSBwb2ludGVyIHRvIGEgbmV3bHkgYWxsb2NhdGVkIHdpZGUgY2hhcmFjdGVyIHN0cmluZywgdXNlCisgICBQeU1lbV9SYXdGcmVlKCkgdG8gZnJlZSB0aGUgbWVtb3J5LiBJZiBzaXplIGlzIG5vdCBOVUxMLCB3cml0ZSB0aGUgbnVtYmVyIG9mCisgICB3aWRlIGNoYXJhY3RlcnMgZXhjbHVkaW5nIHRoZSBudWxsIGNoYXJhY3RlciBpbnRvICpzaXplCiAKLSAgIFJldHVybiBhIHBvaW50ZXIgdG8gYSBuZXdseSBhbGxvY2F0ZWQgd2lkZSBjaGFyYWN0ZXIgc3RyaW5nICh1c2UKLSAgIFB5TWVtX1Jhd0ZyZWUoKSB0byBmcmVlIHRoZSBtZW1vcnkpIGFuZCB3cml0ZSB0aGUgbnVtYmVyIG9mIHdyaXR0ZW4gd2lkZQotICAgY2hhcmFjdGVycyBleGNsdWRpbmcgdGhlIG51bGwgY2hhcmFjdGVyIGludG8gKnNpemUgaWYgc2l6ZSBpcyBub3QgTlVMTCwgb3IKLSAgIE5VTEwgb24gZXJyb3IgKGRlY29kaW5nIG9yIG1lbW9yeSBhbGxvY2F0aW9uIGVycm9yKS4gSWYgc2l6ZSBpcyBub3QgTlVMTCwKLSAgICpzaXplIGlzIHNldCB0byAoc2l6ZV90KS0xIG9uIG1lbW9yeSBlcnJvciBhbmQgKHNpemVfdCktMiBvbiBkZWNvZGluZwotICAgZXJyb3IuCisgICBSZXR1cm4gTlVMTCBvbiBkZWNvZGluZyBlcnJvciBvciBtZW1vcnkgYWxsb2NhdGlvbiBlcnJvci4gSWYgKnNpemUqIGlzIG5vdAorICAgTlVMTCwgKnNpemUgaXMgc2V0IHRvIChzaXplX3QpLTEgb24gbWVtb3J5IGVycm9yIG9yIHNldCB0byAoc2l6ZV90KS0yIG9uCisgICBkZWNvZGluZyBlcnJvci4KIAotICAgQ29udmVyc2lvbiBlcnJvcnMgc2hvdWxkIG5ldmVyIGhhcHBlbiwgdW5sZXNzIHRoZXJlIGlzIGEgYnVnIGluIHRoZSBDCi0gICBsaWJyYXJ5LiAqLworICAgRGVjb2RpbmcgZXJyb3JzIHNob3VsZCBuZXZlciBoYXBwZW4sIHVubGVzcyB0aGVyZSBpcyBhIGJ1ZyBpbiB0aGUgQworICAgbGlicmFyeS4KKworICAgVXNlIHRoZSBQeV9FbmNvZGVMb2NhbGUoKSBmdW5jdGlvbiB0byBlbmNvZGUgdGhlIGNoYXJhY3RlciBzdHJpbmcgYmFjayB0byBhCisgICBieXRlIHN0cmluZy4gKi8KIHdjaGFyX3QqCi1fUHlfY2hhcjJ3Y2hhcihjb25zdCBjaGFyKiBhcmcsIHNpemVfdCAqc2l6ZSkKK1B5X0RlY29kZUxvY2FsZShjb25zdCBjaGFyKiBhcmcsIHNpemVfdCAqc2l6ZSkKIHsKICNpZmRlZiBfX0FQUExFX18KICAgICB3Y2hhcl90ICp3c3RyOwpAQCAtMzk5LDE5ICs0MDEsMjAgQEAKICNlbmRpZiAgIC8qIF9fQVBQTEVfXyAqLwogfQogCi0vKiBFbmNvZGUgYSAod2lkZSkgY2hhcmFjdGVyIHN0cmluZyB0byB0aGUgbG9jYWxlIGVuY29kaW5nIHdpdGggdGhlCi0gICBzdXJyb2dhdGVlc2NhcGUgZXJyb3IgaGFuZGxlciAoY2hhcmFjdGVycyBpbiByYW5nZSBVK0RDODAuLlUrRENGRiBhcmUKLSAgIGNvbnZlcnRlZCB0byBieXRlcyAweDgwLi4weEZGKS4KKy8qIEVuY29kZSBhIHdpZGUgY2hhcmFjdGVyIHN0cmluZyB0byB0aGUgbG9jYWxlIGVuY29kaW5nIHdpdGggdGhlCisgICBzdXJyb2dhdGVlc2NhcGUgZXJyb3IgaGFuZGxlcjogc3Vycm9nYXRlIGNoYXJhY3RlcnMgaW4gdGhlIHJhbmdlCisgICBVK0RDODAuLlUrRENGRiBhcmUgY29udmVydGVkIHRvIGJ5dGVzIDB4ODAuLjB4RkYuCiAKLSAgIFRoaXMgZnVuY3Rpb24gaXMgdGhlIHJldmVyc2Ugb2YgX1B5X2NoYXIyd2NoYXIoKS4KKyAgIFJldHVybiBhIHBvaW50ZXIgdG8gYSBuZXdseSBhbGxvY2F0ZWQgYnl0ZSBzdHJpbmcsIHVzZSBQeU1lbV9GcmVlKCkgdG8gZnJlZQorICAgdGhlIG1lbW9yeS4gUmV0dXJuIE5VTEwgb24gZW5jb2Rpbmcgb3IgbWVtb3J5IGFsbG9jYXRpb24gZXJyb3IuCiAKLSAgIFJldHVybiBhIHBvaW50ZXIgdG8gYSBuZXdseSBhbGxvY2F0ZWQgYnl0ZSBzdHJpbmcgKHVzZSBQeU1lbV9GcmVlKCkgdG8gZnJlZQotICAgdGhlIG1lbW9yeSksIG9yIE5VTEwgb24gZW5jb2Rpbmcgb3IgbWVtb3J5IGFsbG9jYXRpb24gZXJyb3IuCisgICBJZiBlcnJvcl9wb3MgaXMgbm90IE5VTEwsICplcnJvcl9wb3MgaXMgc2V0IHRvIHRoZSBpbmRleCBvZiB0aGUgaW52YWxpZAorICAgY2hhcmFjdGVyIG9uIGVuY29kaW5nIGVycm9yLCBvciBzZXQgdG8gKHNpemVfdCktMSBvdGhlcndpc2UuCiAKLSAgIElmIGVycm9yX3BvcyBpcyBub3QgTlVMTDogKmVycm9yX3BvcyBpcyB0aGUgaW5kZXggb2YgdGhlIGludmFsaWQgY2hhcmFjdGVyCi0gICBvbiBlbmNvZGluZyBlcnJvciwgb3IgKHNpemVfdCktMSBvdGhlcndpc2UuICovCisgICBVc2UgdGhlIFB5X0RlY29kZUxvY2FsZSgpIGZ1bmN0aW9uIHRvIGRlY29kZSB0aGUgYnl0ZXMgc3RyaW5nIGJhY2sgdG8gYSB3aWRlCisgICBjaGFyYWN0ZXIgc3RyaW5nLiAqLwogY2hhcioKLV9QeV93Y2hhcjJjaGFyKGNvbnN0IHdjaGFyX3QgKnRleHQsIHNpemVfdCAqZXJyb3JfcG9zKQorUHlfRW5jb2RlTG9jYWxlKGNvbnN0IHdjaGFyX3QgKnRleHQsIHNpemVfdCAqZXJyb3JfcG9zKQogewogI2lmZGVmIF9fQVBQTEVfXwogICAgIFB5X3NzaXplX3QgbGVuOwpAQCAtNTMwLDcgKzUzMyw3IEBACiB7CiAgICAgaW50IGVycjsKICAgICBjaGFyICpmbmFtZTsKLSAgICBmbmFtZSA9IF9QeV93Y2hhcjJjaGFyKHBhdGgsIE5VTEwpOworICAgIGZuYW1lID0gUHlfRW5jb2RlTG9jYWxlKHBhdGgsIE5VTEwpOwogICAgIGlmIChmbmFtZSA9PSBOVUxMKSB7CiAgICAgICAgIGVycm5vID0gRUlOVkFMOwogICAgICAgICByZXR1cm4gLTE7CkBAIC04MTQsNyArODE3LDcgQEAKICAgICAgICAgZXJybm8gPSBFSU5WQUw7CiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KLSAgICBjcGF0aCA9IF9QeV93Y2hhcjJjaGFyKHBhdGgsIE5VTEwpOworICAgIGNwYXRoID0gUHlfRW5jb2RlTG9jYWxlKHBhdGgsIE5VTEwpOwogICAgIGlmIChjcGF0aCA9PSBOVUxMKQogICAgICAgICByZXR1cm4gTlVMTDsKICAgICBmID0gZm9wZW4oY3BhdGgsIGNtb2RlKTsKQEAgLTkwNSw3ICs5MDgsNyBAQAogICAgIGludCByZXM7CiAgICAgc2l6ZV90IHIxOwogCi0gICAgY3BhdGggPSBfUHlfd2NoYXIyY2hhcihwYXRoLCBOVUxMKTsKKyAgICBjcGF0aCA9IFB5X0VuY29kZUxvY2FsZShwYXRoLCBOVUxMKTsKICAgICBpZiAoY3BhdGggPT0gTlVMTCkgewogICAgICAgICBlcnJubyA9IEVJTlZBTDsKICAgICAgICAgcmV0dXJuIC0xOwpAQCAtOTE5LDcgKzkyMiw3IEBACiAgICAgICAgIHJldHVybiAtMTsKICAgICB9CiAgICAgY2J1ZltyZXNdID0gJ1wwJzsgLyogYnVmIHdpbGwgYmUgbnVsbCB0ZXJtaW5hdGVkICovCi0gICAgd2J1ZiA9IF9QeV9jaGFyMndjaGFyKGNidWYsICZyMSk7CisgICAgd2J1ZiA9IFB5X0RlY29kZUxvY2FsZShjYnVmLCAmcjEpOwogICAgIGlmICh3YnVmID09IE5VTEwpIHsKICAgICAgICAgZXJybm8gPSBFSU5WQUw7CiAgICAgICAgIHJldHVybiAtMTsKQEAgLTk1MCw3ICs5NTMsNyBAQAogICAgIHdjaGFyX3QgKndyZXNvbHZlZF9wYXRoOwogICAgIGNoYXIgKnJlczsKICAgICBzaXplX3QgcjsKLSAgICBjcGF0aCA9IF9QeV93Y2hhcjJjaGFyKHBhdGgsIE5VTEwpOworICAgIGNwYXRoID0gUHlfRW5jb2RlTG9jYWxlKHBhdGgsIE5VTEwpOwogICAgIGlmIChjcGF0aCA9PSBOVUxMKSB7CiAgICAgICAgIGVycm5vID0gRUlOVkFMOwogICAgICAgICByZXR1cm4gTlVMTDsKQEAgLTk2MCw3ICs5NjMsNyBAQAogICAgIGlmIChyZXMgPT0gTlVMTCkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAKLSAgICB3cmVzb2x2ZWRfcGF0aCA9IF9QeV9jaGFyMndjaGFyKGNyZXNvbHZlZF9wYXRoLCAmcik7CisgICAgd3Jlc29sdmVkX3BhdGggPSBQeV9EZWNvZGVMb2NhbGUoY3Jlc29sdmVkX3BhdGgsICZyKTsKICAgICBpZiAod3Jlc29sdmVkX3BhdGggPT0gTlVMTCkgewogICAgICAgICBlcnJubyA9IEVJTlZBTDsKICAgICAgICAgcmV0dXJuIE5VTEw7CkBAIC05OTMsNyArOTk2LDcgQEAKIAogICAgIGlmIChnZXRjd2QoZm5hbWUsIFB5X0FSUkFZX0xFTkdUSChmbmFtZSkpID09IE5VTEwpCiAgICAgICAgIHJldHVybiBOVUxMOwotICAgIHduYW1lID0gX1B5X2NoYXIyd2NoYXIoZm5hbWUsICZsZW4pOworICAgIHduYW1lID0gUHlfRGVjb2RlTG9jYWxlKGZuYW1lLCAmbGVuKTsKICAgICBpZiAod25hbWUgPT0gTlVMTCkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgaWYgKHNpemUgPD0gbGVuKSB7CkBAIC0xMDc1LDMgKzEwNzgsNTYgQEAKICAgICByZXR1cm4gZmQ7CiB9CiAKKyNpZm5kZWYgTVNfV0lORE9XUworLyogR2V0IHRoZSBibG9ja2luZyBtb2RlIG9mIHRoZSBmaWxlIGRlc2NyaXB0b3IuCisgICBSZXR1cm4gMCBpZiB0aGUgT19OT05CTE9DSyBmbGFnIGlzIHNldCwgMSBpZiB0aGUgZmxhZyBpcyBjbGVhcmVkLAorICAgcmFpc2UgYW4gZXhjZXB0aW9uIGFuZCByZXR1cm4gLTEgb24gZXJyb3IuICovCitpbnQKK19QeV9nZXRfYmxvY2tpbmcoaW50IGZkKQoreworICAgIGludCBmbGFncyA9IGZjbnRsKGZkLCBGX0dFVEZMLCAwKTsKKyAgICBpZiAoZmxhZ3MgPCAwKSB7CisgICAgICAgIFB5RXJyX1NldEZyb21FcnJubyhQeUV4Y19PU0Vycm9yKTsKKyAgICAgICAgcmV0dXJuIC0xOworICAgIH0KKworICAgIHJldHVybiAhKGZsYWdzICYgT19OT05CTE9DSyk7Cit9CisKKy8qIFNldCB0aGUgYmxvY2tpbmcgbW9kZSBvZiB0aGUgc3BlY2lmaWVkIGZpbGUgZGVzY3JpcHRvci4KKworICAgU2V0IHRoZSBPX05PTkJMT0NLIGZsYWcgaWYgYmxvY2tpbmcgaXMgRmFsc2UsIGNsZWFyIHRoZSBPX05PTkJMT0NLIGZsYWcKKyAgIG90aGVyd2lzZS4KKworICAgUmV0dXJuIDAgb24gc3VjY2VzcywgcmFpc2UgYW4gZXhjZXB0aW9uIGFuZCByZXR1cm4gLTEgb24gZXJyb3IuICovCitpbnQKK19QeV9zZXRfYmxvY2tpbmcoaW50IGZkLCBpbnQgYmxvY2tpbmcpCit7CisjaWYgZGVmaW5lZChIQVZFX1NZU19JT0NUTF9IKSAmJiBkZWZpbmVkKEZJT05CSU8pCisgICAgaW50IGFyZyA9ICFibG9ja2luZzsKKyAgICBpZiAoaW9jdGwoZmQsIEZJT05CSU8sICZhcmcpIDwgMCkKKyAgICAgICAgZ290byBlcnJvcjsKKyNlbHNlCisgICAgaW50IGZsYWdzLCByZXM7CisKKyAgICBmbGFncyA9IGZjbnRsKGZkLCBGX0dFVEZMLCAwKTsKKyAgICBpZiAoZmxhZ3MgPCAwKQorICAgICAgICBnb3RvIGVycm9yOworCisgICAgaWYgKGJsb2NraW5nKQorICAgICAgICBmbGFncyA9IGZsYWdzICYgKH5PX05PTkJMT0NLKTsKKyAgICBlbHNlCisgICAgICAgIGZsYWdzID0gZmxhZ3MgfCBPX05PTkJMT0NLOworCisgICAgcmVzID0gZmNudGwoZmQsIEZfU0VURkwsIGZsYWdzKTsKKyAgICBpZiAocmVzIDwgMCkKKyAgICAgICAgZ290byBlcnJvcjsKKyNlbmRpZgorICAgIHJldHVybiAwOworCitlcnJvcjoKKyAgICBQeUVycl9TZXRGcm9tRXJybm8oUHlFeGNfT1NFcnJvcik7CisgICAgcmV0dXJuIC0xOworfQorI2VuZGlmCisKZGlmZiAtLWdpdCBhL1B5dGhvbi9mb3JtYXR0ZXJfdW5pY29kZS5jIGIvUHl0aG9uL2Zvcm1hdHRlcl91bmljb2RlLmMKaW5kZXggZTNhODE0OS4uMDU2YmI3NiAxMDA2NDQKLS0tIGEvUHl0aG9uL2Zvcm1hdHRlcl91bmljb2RlLmMKKysrIGIvUHl0aG9uL2Zvcm1hdHRlcl91bmljb2RlLmMKQEAgLTg0Niw2ICs4NDYsMTMgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiIGZvcm1hdCBzcGVjaWZpZXIgJ2MnIik7CiAgICAgICAgICAgICBnb3RvIGRvbmU7CiAgICAgICAgIH0KKyAgICAgICAgLyogZXJyb3IgdG8gcmVxdWVzdCBhbHRlcm5hdGUgZm9ybWF0ICovCisgICAgICAgIGlmIChmb3JtYXQtPmFsdGVybmF0ZSkgeworICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkFsdGVybmF0ZSBmb3JtICgjKSBub3QgYWxsb3dlZCB3aXRoIGludGVnZXIiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiBmb3JtYXQgc3BlY2lmaWVyICdjJyIpOworICAgICAgICAgICAgZ290byBkb25lOworICAgICAgICB9CiAKICAgICAgICAgLyogdGFrZW4gZnJvbSB1bmljb2Rlb2JqZWN0LmMgZm9ybWF0Y2hhcigpICovCiAgICAgICAgIC8qIEludGVnZXIgaW5wdXQgdHJ1bmNhdGVkIHRvIGEgY2hhcmFjdGVyICovCmRpZmYgLS1naXQgYS9QeXRob24vZnJvemVubWFpbi5jIGIvUHl0aG9uL2Zyb3plbm1haW4uYwppbmRleCBiMDVjOTRhLi5kZThiZDM1IDEwMDY0NAotLS0gYS9QeXRob24vZnJvemVubWFpbi5jCisrKyBiL1B5dGhvbi9mcm96ZW5tYWluLmMKQEAgLTU0LDcgKzU0LDcgQEAKIAogICAgIHNldGxvY2FsZShMQ19BTEwsICIiKTsKICAgICBmb3IgKGkgPSAwOyBpIDwgYXJnYzsgaSsrKSB7Ci0gICAgICAgIGFyZ3ZfY29weVtpXSA9IF9QeV9jaGFyMndjaGFyKGFyZ3ZbaV0sIE5VTEwpOworICAgICAgICBhcmd2X2NvcHlbaV0gPSBQeV9EZWNvZGVMb2NhbGUoYXJndltpXSwgTlVMTCk7CiAgICAgICAgIGFyZ3ZfY29weTJbaV0gPSBhcmd2X2NvcHlbaV07CiAgICAgICAgIGlmICghYXJndl9jb3B5W2ldKSB7CiAgICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIlVuYWJsZSB0byBkZWNvZGUgdGhlIGNvbW1hbmQgbGluZSBhcmd1bWVudCAjJWlcbiIsCmRpZmYgLS1naXQgYS9QeXRob24vZ2V0YXJncy5jIGIvUHl0aG9uL2dldGFyZ3MuYwppbmRleCAzZjQ3YjIxLi5mMGY4ZTM5IDEwMDY0NAotLS0gYS9QeXRob24vZ2V0YXJncy5jCisrKyBiL1B5dGhvbi9nZXRhcmdzLmMKQEAgLTg3MiwxMCArODcyLDEwIEBACiAgICAgICAgICAgICBTVE9SRV9TSVpFKGNvdW50KTsKICAgICAgICAgICAgIGZvcm1hdCsrOwogICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgaWYgKHN0cmxlbigqcCkgIT0gY291bnQpCi0gICAgICAgICAgICAgICAgcmV0dXJuIGNvbnZlcnRlcnIoCi0gICAgICAgICAgICAgICAgICAgICJieXRlcyB3aXRob3V0IG51bGwgYnl0ZXMiLAotICAgICAgICAgICAgICAgICAgICBhcmcsIG1zZ2J1ZiwgYnVmc2l6ZSk7CisgICAgICAgICAgICBpZiAoc3RybGVuKCpwKSAhPSAoc2l6ZV90KWNvdW50KSB7CisgICAgICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsICJlbWJlZGRlZCBudWxsIGJ5dGUiKTsKKyAgICAgICAgICAgICAgICBSRVRVUk5fRVJSX09DQ1VSUkVEOworICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgICAgIGJyZWFrOwogICAgIH0KQEAgLTk0OCwxNiArOTQ4LDE1IEBACiAgICAgICAgICAgICAgICAgaWYgKHNhcmcgPT0gTlVMTCkKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNvbnZlcnRlcnIoQ09OVl9VTklDT0RFLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmcsIG1zZ2J1ZiwgYnVmc2l6ZSk7CisgICAgICAgICAgICAgICAgaWYgKHN0cmxlbihzYXJnKSAhPSAoc2l6ZV90KWxlbikgeworICAgICAgICAgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVmFsdWVFcnJvciwgImVtYmVkZGVkIG51bGwgY2hhcmFjdGVyIik7CisgICAgICAgICAgICAgICAgICAgIFJFVFVSTl9FUlJfT0NDVVJSRUQ7CisgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICpwID0gc2FyZzsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICByZXR1cm4gY29udmVydGVycihjID09ICd6JyA/ICJzdHIgb3IgTm9uZSIgOiAic3RyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmcsIG1zZ2J1ZiwgYnVmc2l6ZSk7Ci0gICAgICAgICAgICBpZiAoKnAgIT0gTlVMTCAmJiBzYXJnICE9IE5VTEwgJiYgKFB5X3NzaXplX3QpIHN0cmxlbigqcCkgIT0gbGVuKQotICAgICAgICAgICAgICAgIHJldHVybiBjb252ZXJ0ZXJyKAotICAgICAgICAgICAgICAgICAgICBjID09ICd6JyA/ICJzdHIgd2l0aG91dCBudWxsIGNoYXJhY3RlcnMgb3IgTm9uZSIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAic3RyIHdpdGhvdXQgbnVsbCBjaGFyYWN0ZXJzIiwKLSAgICAgICAgICAgICAgICAgICAgYXJnLCBtc2didWYsIGJ1ZnNpemUpOwogICAgICAgICB9CiAgICAgICAgIGJyZWFrOwogICAgIH0KQEAgLTk5NCwxMCArOTkzLDEwIEBACiAgICAgICAgICAgICAgICAgKnAgPSBQeVVuaWNvZGVfQXNVbmljb2RlQW5kU2l6ZShhcmcsICZsZW4pOwogICAgICAgICAgICAgICAgIGlmICgqcCA9PSBOVUxMKQogICAgICAgICAgICAgICAgICAgICBSRVRVUk5fRVJSX09DQ1VSUkVEOwotICAgICAgICAgICAgICAgIGlmIChQeV9VTklDT0RFX3N0cmxlbigqcCkgIT0gbGVuKQotICAgICAgICAgICAgICAgICAgICByZXR1cm4gY29udmVydGVycigKLSAgICAgICAgICAgICAgICAgICAgICAgICJzdHIgd2l0aG91dCBudWxsIGNoYXJhY3RlcnMgb3IgTm9uZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICBhcmcsIG1zZ2J1ZiwgYnVmc2l6ZSk7CisgICAgICAgICAgICAgICAgaWYgKFB5X1VOSUNPREVfc3RybGVuKCpwKSAhPSAoc2l6ZV90KWxlbikgeworICAgICAgICAgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVmFsdWVFcnJvciwgImVtYmVkZGVkIG51bGwgY2hhcmFjdGVyIik7CisgICAgICAgICAgICAgICAgICAgIFJFVFVSTl9FUlJfT0NDVVJSRUQ7CisgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfSBlbHNlCiAgICAgICAgICAgICAgICAgcmV0dXJuIGNvbnZlcnRlcnIoYyA9PSAnWicgPyAic3RyIG9yIE5vbmUiIDogInN0ciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJnLCBtc2didWYsIGJ1ZnNpemUpOwpAQCAtMTI0NSw3ICsxMjQ0LDggQEAKICAgICAgICAgICAgc3VwcG9ydHMgaXQgZGlyZWN0bHkuICovCiAgICAgICAgIGlmIChQeU9iamVjdF9HZXRCdWZmZXIoYXJnLCAoUHlfYnVmZmVyKilwLCBQeUJVRl9XUklUQUJMRSkgPCAwKSB7CiAgICAgICAgICAgICBQeUVycl9DbGVhcigpOwotICAgICAgICAgICAgcmV0dXJuIGNvbnZlcnRlcnIoInJlYWQtd3JpdGUgYnVmZmVyIiwgYXJnLCBtc2didWYsIGJ1ZnNpemUpOworICAgICAgICAgICAgcmV0dXJuIGNvbnZlcnRlcnIoInJlYWQtd3JpdGUgYnl0ZXMtbGlrZSBvYmplY3QiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJnLCBtc2didWYsIGJ1ZnNpemUpOwogICAgICAgICB9CiAgICAgICAgIGlmICghUHlCdWZmZXJfSXNDb250aWd1b3VzKChQeV9idWZmZXIqKXAsICdDJykpIHsKICAgICAgICAgICAgIFB5QnVmZmVyX1JlbGVhc2UoKFB5X2J1ZmZlciopcCk7CkBAIC0xMjgzLDcgKzEyODMsNyBAQAogICAgICplcnJtc2cgPSBOVUxMOwogICAgICpwID0gTlVMTDsKICAgICBpZiAocGIgIT0gTlVMTCAmJiBwYi0+YmZfcmVsZWFzZWJ1ZmZlciAhPSBOVUxMKSB7Ci0gICAgICAgICplcnJtc2cgPSAicmVhZC1vbmx5IHBpbm5lZCBidWZmZXIiOworICAgICAgICAqZXJybXNnID0gInJlYWQtb25seSBieXRlcy1saWtlIG9iamVjdCI7CiAgICAgICAgIHJldHVybiAtMTsKICAgICB9CiAKQEAgLTEyOTksNyArMTI5OSw3IEBACiBnZXRidWZmZXIoUHlPYmplY3QgKmFyZywgUHlfYnVmZmVyICp2aWV3LCBjaGFyICoqZXJybXNnKQogewogICAgIGlmIChQeU9iamVjdF9HZXRCdWZmZXIoYXJnLCB2aWV3LCBQeUJVRl9TSU1QTEUpICE9IDApIHsKLSAgICAgICAgKmVycm1zZyA9ICJieXRlcyBvciBidWZmZXIiOworICAgICAgICAqZXJybXNnID0gImJ5dGVzLWxpa2Ugb2JqZWN0IjsKICAgICAgICAgcmV0dXJuIC0xOwogICAgIH0KICAgICBpZiAoIVB5QnVmZmVyX0lzQ29udGlndW91cyh2aWV3LCAnQycpKSB7CmRpZmYgLS1naXQgYS9QeXRob24vZ3JhbWluaXQuYyBiL1B5dGhvbi9ncmFtaW5pdC5jCmluZGV4IGUwNDk5OWIuLjlmNzlkNTkgMTAwNjQ0Ci0tLSBhL1B5dGhvbi9ncmFtaW5pdC5jCisrKyBiL1B5dGhvbi9ncmFtaW5pdC5jCkBAIC00NzYsNyArNDc2LDcgQEAKICAgICB7MiwgYXJjc18xNl8xfSwKICAgICB7MywgYXJjc18xNl8yfSwKIH07Ci1zdGF0aWMgYXJjIGFyY3NfMTdfMFsxMl0gPSB7CitzdGF0aWMgYXJjIGFyY3NfMTdfMFsxM10gPSB7CiAgICAgezQ5LCAxfSwKICAgICB7NTAsIDF9LAogICAgIHs1MSwgMX0sCkBAIC00ODksMTkgKzQ4OSwyMCBAQAogICAgIHs1OCwgMX0sCiAgICAgezU5LCAxfSwKICAgICB7NjAsIDF9LAorICAgIHs2MSwgMX0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzE3XzFbMV0gPSB7CiAgICAgezAsIDF9LAogfTsKIHN0YXRpYyBzdGF0ZSBzdGF0ZXNfMTdbMl0gPSB7Ci0gICAgezEyLCBhcmNzXzE3XzB9LAorICAgIHsxMywgYXJjc18xN18wfSwKICAgICB7MSwgYXJjc18xN18xfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfMThfMFsxXSA9IHsKLSAgICB7NjEsIDF9LAorICAgIHs2MiwgMX0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzE4XzFbMV0gPSB7Ci0gICAgezYyLCAyfSwKKyAgICB7NjMsIDJ9LAogfTsKIHN0YXRpYyBhcmMgYXJjc18xOF8yWzFdID0gewogICAgIHswLCAyfSwKQEAgLTUxMiw3ICs1MTMsNyBAQAogICAgIHsxLCBhcmNzXzE4XzJ9LAogfTsKIHN0YXRpYyBhcmMgYXJjc18xOV8wWzFdID0gewotICAgIHs2MywgMX0sCisgICAgezY0LCAxfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfMTlfMVsxXSA9IHsKICAgICB7MCwgMX0sCkBAIC01MjIsMTEgKzUyMywxMSBAQAogICAgIHsxLCBhcmNzXzE5XzF9LAogfTsKIHN0YXRpYyBhcmMgYXJjc18yMF8wWzVdID0gewotICAgIHs2NCwgMX0sCiAgICAgezY1LCAxfSwKICAgICB7NjYsIDF9LAogICAgIHs2NywgMX0sCiAgICAgezY4LCAxfSwKKyAgICB7NjksIDF9LAogfTsKIHN0YXRpYyBhcmMgYXJjc18yMF8xWzFdID0gewogICAgIHswLCAxfSwKQEAgLTUzNiw3ICs1MzcsNyBAQAogICAgIHsxLCBhcmNzXzIwXzF9LAogfTsKIHN0YXRpYyBhcmMgYXJjc18yMV8wWzFdID0gewotICAgIHs2OSwgMX0sCisgICAgezcwLCAxfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfMjFfMVsxXSA9IHsKICAgICB7MCwgMX0sCkBAIC01NDYsNyArNTQ3LDcgQEAKICAgICB7MSwgYXJjc18yMV8xfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfMjJfMFsxXSA9IHsKLSAgICB7NzAsIDF9LAorICAgIHs3MSwgMX0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzIyXzFbMV0gPSB7CiAgICAgezAsIDF9LApAQCAtNTU2LDcgKzU1Nyw3IEBACiAgICAgezEsIGFyY3NfMjJfMX0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzIzXzBbMV0gPSB7Ci0gICAgezcxLCAxfSwKKyAgICB7NzIsIDF9LAogfTsKIHN0YXRpYyBhcmMgYXJjc18yM18xWzJdID0gewogICAgIHs5LCAyfSwKQEAgLTU4MSwxNCArNTgyLDE0IEBACiAgICAgezEsIGFyY3NfMjRfMX0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzI1XzBbMV0gPSB7Ci0gICAgezcyLCAxfSwKKyAgICB7NzMsIDF9LAogfTsKIHN0YXRpYyBhcmMgYXJjc18yNV8xWzJdID0gewogICAgIHsyNCwgMn0sCiAgICAgezAsIDF9LAogfTsKIHN0YXRpYyBhcmMgYXJjc18yNV8yWzJdID0gewotICAgIHs3MywgM30sCisgICAgezc0LCAzfSwKICAgICB7MCwgMn0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzI1XzNbMV0gPSB7CkBAIC02MDUsOCArNjA2LDggQEAKICAgICB7MSwgYXJjc18yNV80fSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfMjZfMFsyXSA9IHsKLSAgICB7NzQsIDF9LAogICAgIHs3NSwgMX0sCisgICAgezc2LCAxfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfMjZfMVsxXSA9IHsKICAgICB7MCwgMX0sCkBAIC02MTYsMTAgKzYxNywxMCBAQAogICAgIHsxLCBhcmNzXzI2XzF9LAogfTsKIHN0YXRpYyBhcmMgYXJjc18yN18wWzFdID0gewotICAgIHs3NiwgMX0sCisgICAgezc3LCAxfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfMjdfMVsxXSA9IHsKLSAgICB7NzcsIDJ9LAorICAgIHs3OCwgMn0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzI3XzJbMV0gPSB7CiAgICAgezAsIDJ9LApAQCAtNjMwLDMyICs2MzEsMzIgQEAKICAgICB7MSwgYXJjc18yN18yfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfMjhfMFsxXSA9IHsKLSAgICB7NzMsIDF9LAorICAgIHs3NCwgMX0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzI4XzFbM10gPSB7Ci0gICAgezc4LCAyfSwKICAgICB7NzksIDJ9LAorICAgIHs4MCwgMn0sCiAgICAgezEyLCAzfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfMjhfMls0XSA9IHsKLSAgICB7NzgsIDJ9LAogICAgIHs3OSwgMn0sCisgICAgezgwLCAyfSwKICAgICB7MTIsIDN9LAotICAgIHs3NiwgNH0sCisgICAgezc3LCA0fSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfMjhfM1sxXSA9IHsKLSAgICB7NzYsIDR9LAorICAgIHs3NywgNH0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzI4XzRbM10gPSB7CiAgICAgezMxLCA1fSwKICAgICB7MTMsIDZ9LAotICAgIHs4MCwgNX0sCisgICAgezgxLCA1fSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfMjhfNVsxXSA9IHsKICAgICB7MCwgNX0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzI4XzZbMV0gPSB7Ci0gICAgezgwLCA3fSwKKyAgICB7ODEsIDd9LAogfTsKIHN0YXRpYyBhcmMgYXJjc18yOF83WzFdID0gewogICAgIHsxNSwgNX0sCkBAIC02NzQsNyArNjc1LDcgQEAKICAgICB7MjEsIDF9LAogfTsKIHN0YXRpYyBhcmMgYXJjc18yOV8xWzJdID0gewotICAgIHs4MiwgMn0sCisgICAgezgzLCAyfSwKICAgICB7MCwgMX0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzI5XzJbMV0gPSB7CkBAIC02OTMsNyArNjk0LDcgQEAKICAgICB7MTIsIDF9LAogfTsKIHN0YXRpYyBhcmMgYXJjc18zMF8xWzJdID0gewotICAgIHs4MiwgMn0sCisgICAgezgzLCAyfSwKICAgICB7MCwgMX0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzMwXzJbMV0gPSB7CkBAIC03MDksMTQgKzcxMCwxNCBAQAogICAgIHsxLCBhcmNzXzMwXzN9LAogfTsKIHN0YXRpYyBhcmMgYXJjc18zMV8wWzFdID0gewotICAgIHs4MSwgMX0sCisgICAgezgyLCAxfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfMzFfMVsyXSA9IHsKICAgICB7MzAsIDJ9LAogICAgIHswLCAxfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfMzFfMlsyXSA9IHsKLSAgICB7ODEsIDF9LAorICAgIHs4MiwgMX0sCiAgICAgezAsIDJ9LAogfTsKIHN0YXRpYyBzdGF0ZSBzdGF0ZXNfMzFbM10gPSB7CkBAIC03MjUsNyArNzI2LDcgQEAKICAgICB7MiwgYXJjc18zMV8yfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfMzJfMFsxXSA9IHsKLSAgICB7ODMsIDF9LAorICAgIHs4NCwgMX0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzMyXzFbMl0gPSB7CiAgICAgezMwLCAwfSwKQEAgLTczOSw3ICs3NDAsNyBAQAogICAgIHsyMSwgMX0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzMzXzFbMl0gPSB7Ci0gICAgezc4LCAwfSwKKyAgICB7NzksIDB9LAogICAgIHswLCAxfSwKIH07CiBzdGF0aWMgc3RhdGUgc3RhdGVzXzMzWzJdID0gewpAQCAtNzQ3LDcgKzc0OCw3IEBACiAgICAgezIsIGFyY3NfMzNfMX0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzM0XzBbMV0gPSB7Ci0gICAgezg0LCAxfSwKKyAgICB7ODUsIDF9LAogfTsKIHN0YXRpYyBhcmMgYXJjc18zNF8xWzFdID0gewogICAgIHsyMSwgMn0sCkBAIC03NjIsNyArNzYzLDcgQEAKICAgICB7MiwgYXJjc18zNF8yfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfMzVfMFsxXSA9IHsKLSAgICB7ODUsIDF9LAorICAgIHs4NiwgMX0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzM1XzFbMV0gPSB7CiAgICAgezIxLCAyfSwKQEAgLTc3Nyw3ICs3NzgsNyBAQAogICAgIHsyLCBhcmNzXzM1XzJ9LAogfTsKIHN0YXRpYyBhcmMgYXJjc18zNl8wWzFdID0gewotICAgIHs4NiwgMX0sCisgICAgezg3LCAxfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfMzZfMVsxXSA9IHsKICAgICB7MjQsIDJ9LApAQCAtODAwLDExICs4MDEsMTEgQEAKICAgICB7MSwgYXJjc18zNl80fSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfMzdfMFs4XSA9IHsKLSAgICB7ODcsIDF9LAogICAgIHs4OCwgMX0sCiAgICAgezg5LCAxfSwKICAgICB7OTAsIDF9LAogICAgIHs5MSwgMX0sCisgICAgezkyLCAxfSwKICAgICB7MTksIDF9LAogICAgIHsxOCwgMX0sCiAgICAgezE3LCAxfSwKQEAgLTgxNyw3ICs4MTgsNyBAQAogICAgIHsxLCBhcmNzXzM3XzF9LAogfTsKIHN0YXRpYyBhcmMgYXJjc18zOF8wWzFdID0gewotICAgIHs5MiwgMX0sCisgICAgezkzLCAxfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfMzhfMVsxXSA9IHsKICAgICB7MjQsIDJ9LApAQCAtODI5LDggKzgzMCw4IEBACiAgICAgezI2LCA0fSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfMzhfNFszXSA9IHsKLSAgICB7OTMsIDF9LAotICAgIHs5NCwgNX0sCisgICAgezk0LCAxfSwKKyAgICB7OTUsIDV9LAogICAgIHswLCA0fSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfMzhfNVsxXSA9IHsKQEAgLTg1Myw3ICs4NTQsNyBAQAogICAgIHsxLCBhcmNzXzM4Xzd9LAogfTsKIHN0YXRpYyBhcmMgYXJjc18zOV8wWzFdID0gewotICAgIHs5NSwgMX0sCisgICAgezk2LCAxfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfMzlfMVsxXSA9IHsKICAgICB7MjQsIDJ9LApAQCAtODY1LDcgKzg2Niw3IEBACiAgICAgezI2LCA0fSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfMzlfNFsyXSA9IHsKLSAgICB7OTQsIDV9LAorICAgIHs5NSwgNX0sCiAgICAgezAsIDR9LAogfTsKIHN0YXRpYyBhcmMgYXJjc18zOV81WzFdID0gewpAQCAtODg4LDEzICs4ODksMTMgQEAKICAgICB7MSwgYXJjc18zOV83fSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfNDBfMFsxXSA9IHsKLSAgICB7OTYsIDF9LAorICAgIHs5NywgMX0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzQwXzFbMV0gPSB7Ci0gICAgezYyLCAyfSwKKyAgICB7NjMsIDJ9LAogfTsKIHN0YXRpYyBhcmMgYXJjc180MF8yWzFdID0gewotICAgIHs5NywgM30sCisgICAgezk4LCAzfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfNDBfM1sxXSA9IHsKICAgICB7OSwgNH0sCkBAIC05MDYsNyArOTA3LDcgQEAKICAgICB7MjYsIDZ9LAogfTsKIHN0YXRpYyBhcmMgYXJjc180MF82WzJdID0gewotICAgIHs5NCwgN30sCisgICAgezk1LCA3fSwKICAgICB7MCwgNn0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzQwXzdbMV0gPSB7CkBAIC05MzEsNyArOTMyLDcgQEAKICAgICB7MSwgYXJjc180MF85fSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfNDFfMFsxXSA9IHsKLSAgICB7OTgsIDF9LAorICAgIHs5OSwgMX0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzQxXzFbMV0gPSB7CiAgICAgezI1LCAyfSwKQEAgLTk0MCw4ICs5NDEsOCBAQAogICAgIHsyNiwgM30sCiB9Owogc3RhdGljIGFyYyBhcmNzXzQxXzNbMl0gPSB7Ci0gICAgezk5LCA0fSwKLSAgICB7MTAwLCA1fSwKKyAgICB7MTAwLCA0fSwKKyAgICB7MTAxLCA1fSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfNDFfNFsxXSA9IHsKICAgICB7MjUsIDZ9LApAQCAtOTU2LDkgKzk1Nyw5IEBACiAgICAgezI2LCA5fSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfNDFfOFs0XSA9IHsKLSAgICB7OTksIDR9LAotICAgIHs5NCwgMTB9LAotICAgIHsxMDAsIDV9LAorICAgIHsxMDAsIDR9LAorICAgIHs5NSwgMTB9LAorICAgIHsxMDEsIDV9LAogICAgIHswLCA4fSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfNDFfOVsxXSA9IHsKQEAgLTk3MSw3ICs5NzIsNyBAQAogICAgIHsyNiwgMTJ9LAogfTsKIHN0YXRpYyBhcmMgYXJjc180MV8xMlsyXSA9IHsKLSAgICB7MTAwLCA1fSwKKyAgICB7MTAxLCA1fSwKICAgICB7MCwgMTJ9LAogfTsKIHN0YXRpYyBzdGF0ZSBzdGF0ZXNfNDFbMTNdID0gewpAQCAtOTkwLDEwICs5OTEsMTAgQEAKICAgICB7MiwgYXJjc180MV8xMn0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzQyXzBbMV0gPSB7Ci0gICAgezEwMSwgMX0sCisgICAgezEwMiwgMX0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzQyXzFbMV0gPSB7Ci0gICAgezEwMiwgMn0sCisgICAgezEwMywgMn0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzQyXzJbMl0gPSB7CiAgICAgezMwLCAxfSwKQEAgLTEwMTYsMTEgKzEwMTcsMTEgQEAKICAgICB7MjQsIDF9LAogfTsKIHN0YXRpYyBhcmMgYXJjc180M18xWzJdID0gewotICAgIHs4MiwgMn0sCisgICAgezgzLCAyfSwKICAgICB7MCwgMX0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzQzXzJbMV0gPSB7Ci0gICAgezEwMywgM30sCisgICAgezEwNCwgM30sCiB9Owogc3RhdGljIGFyYyBhcmNzXzQzXzNbMV0gPSB7CiAgICAgezAsIDN9LApAQCAtMTAzMiwxNCArMTAzMywxNCBAQAogICAgIHsxLCBhcmNzXzQzXzN9LAogfTsKIHN0YXRpYyBhcmMgYXJjc180NF8wWzFdID0gewotICAgIHsxMDQsIDF9LAorICAgIHsxMDUsIDF9LAogfTsKIHN0YXRpYyBhcmMgYXJjc180NF8xWzJdID0gewogICAgIHsyNCwgMn0sCiAgICAgezAsIDF9LAogfTsKIHN0YXRpYyBhcmMgYXJjc180NF8yWzJdID0gewotICAgIHs4MiwgM30sCisgICAgezgzLCAzfSwKICAgICB7MCwgMn0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzQ0XzNbMV0gPSB7CkBAIC0xMDYzLDE0ICsxMDY0LDE0IEBACiAgICAgezAsIDF9LAogfTsKIHN0YXRpYyBhcmMgYXJjc180NV8yWzFdID0gewotICAgIHsxMDUsIDN9LAorICAgIHsxMDYsIDN9LAogfTsKIHN0YXRpYyBhcmMgYXJjc180NV8zWzFdID0gewogICAgIHs2LCA0fSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfNDVfNFsyXSA9IHsKICAgICB7NiwgNH0sCi0gICAgezEwNiwgMX0sCisgICAgezEwNywgMX0sCiB9Owogc3RhdGljIHN0YXRlIHN0YXRlc180NVs1XSA9IHsKICAgICB7MiwgYXJjc180NV8wfSwKQEAgLTEwODAsMjEgKzEwODEsMjEgQEAKICAgICB7MiwgYXJjc180NV80fSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfNDZfMFsyXSA9IHsKLSAgICB7MTA3LCAxfSwKLSAgICB7MTA4LCAyfSwKKyAgICB7MTA4LCAxfSwKKyAgICB7MTA5LCAyfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfNDZfMVsyXSA9IHsKLSAgICB7OTIsIDN9LAorICAgIHs5MywgM30sCiAgICAgezAsIDF9LAogfTsKIHN0YXRpYyBhcmMgYXJjc180Nl8yWzFdID0gewogICAgIHswLCAyfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfNDZfM1sxXSA9IHsKLSAgICB7MTA3LCA0fSwKKyAgICB7MTA4LCA0fSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfNDZfNFsxXSA9IHsKLSAgICB7OTQsIDV9LAorICAgIHs5NSwgNX0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzQ2XzVbMV0gPSB7CiAgICAgezI0LCAyfSwKQEAgLTExMDgsOCArMTEwOSw4IEBACiAgICAgezEsIGFyY3NfNDZfNX0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzQ3XzBbMl0gPSB7Ci0gICAgezEwNywgMX0sCi0gICAgezExMCwgMX0sCisgICAgezEwOCwgMX0sCisgICAgezExMSwgMX0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzQ3XzFbMV0gPSB7CiAgICAgezAsIDF9LApAQCAtMTExOSw3ICsxMTIwLDcgQEAKICAgICB7MSwgYXJjc180N18xfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfNDhfMFsxXSA9IHsKLSAgICB7MTExLCAxfSwKKyAgICB7MTEyLCAxfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfNDhfMVsyXSA9IHsKICAgICB7MzMsIDJ9LApAQCAtMTE0Miw3ICsxMTQzLDcgQEAKICAgICB7MSwgYXJjc180OF80fSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfNDlfMFsxXSA9IHsKLSAgICB7MTExLCAxfSwKKyAgICB7MTEyLCAxfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfNDlfMVsyXSA9IHsKICAgICB7MzMsIDJ9LApAQCAtMTE1Miw3ICsxMTUzLDcgQEAKICAgICB7MjUsIDN9LAogfTsKIHN0YXRpYyBhcmMgYXJjc180OV8zWzFdID0gewotICAgIHsxMDksIDR9LAorICAgIHsxMTAsIDR9LAogfTsKIHN0YXRpYyBhcmMgYXJjc180OV80WzFdID0gewogICAgIHswLCA0fSwKQEAgLTExNjUsMTAgKzExNjYsMTAgQEAKICAgICB7MSwgYXJjc180OV80fSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfNTBfMFsxXSA9IHsKLSAgICB7MTEyLCAxfSwKKyAgICB7MTEzLCAxfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfNTBfMVsyXSA9IHsKLSAgICB7MTEzLCAwfSwKKyAgICB7MTE0LCAwfSwKICAgICB7MCwgMX0sCiB9Owogc3RhdGljIHN0YXRlIHN0YXRlc181MFsyXSA9IHsKQEAgLTExNzYsMTAgKzExNzcsMTAgQEAKICAgICB7MiwgYXJjc181MF8xfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfNTFfMFsxXSA9IHsKLSAgICB7MTE0LCAxfSwKKyAgICB7MTE1LCAxfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfNTFfMVsyXSA9IHsKLSAgICB7MTE1LCAwfSwKKyAgICB7MTE2LCAwfSwKICAgICB7MCwgMX0sCiB9Owogc3RhdGljIHN0YXRlIHN0YXRlc181MVsyXSA9IHsKQEAgLTExODcsMTEgKzExODgsMTEgQEAKICAgICB7MiwgYXJjc181MV8xfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfNTJfMFsyXSA9IHsKLSAgICB7MTE2LCAxfSwKLSAgICB7MTE3LCAyfSwKKyAgICB7MTE3LCAxfSwKKyAgICB7MTE4LCAyfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfNTJfMVsxXSA9IHsKLSAgICB7MTE0LCAyfSwKKyAgICB7MTE1LCAyfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfNTJfMlsxXSA9IHsKICAgICB7MCwgMn0sCkBAIC0xMjAyLDEwICsxMjAzLDEwIEBACiAgICAgezEsIGFyY3NfNTJfMn0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzUzXzBbMV0gPSB7Ci0gICAgezEwMywgMX0sCisgICAgezEwNCwgMX0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzUzXzFbMl0gPSB7Ci0gICAgezExOCwgMH0sCisgICAgezExOSwgMH0sCiAgICAgezAsIDF9LAogfTsKIHN0YXRpYyBzdGF0ZSBzdGF0ZXNfNTNbMl0gPSB7CkBAIC0xMjEzLDI1ICsxMjE0LDI1IEBACiAgICAgezIsIGFyY3NfNTNfMX0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzU0XzBbMTBdID0gewotICAgIHsxMTksIDF9LAogICAgIHsxMjAsIDF9LAogICAgIHsxMjEsIDF9LAogICAgIHsxMjIsIDF9LAogICAgIHsxMjMsIDF9LAogICAgIHsxMjQsIDF9LAogICAgIHsxMjUsIDF9LAotICAgIHs5NywgMX0sCi0gICAgezExNiwgMn0sCi0gICAgezEyNiwgM30sCisgICAgezEyNiwgMX0sCisgICAgezk4LCAxfSwKKyAgICB7MTE3LCAyfSwKKyAgICB7MTI3LCAzfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfNTRfMVsxXSA9IHsKICAgICB7MCwgMX0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzU0XzJbMV0gPSB7Ci0gICAgezk3LCAxfSwKKyAgICB7OTgsIDF9LAogfTsKIHN0YXRpYyBhcmMgYXJjc181NF8zWzJdID0gewotICAgIHsxMTYsIDF9LAorICAgIHsxMTcsIDF9LAogICAgIHswLCAzfSwKIH07CiBzdGF0aWMgc3RhdGUgc3RhdGVzXzU0WzRdID0gewpAQCAtMTI0NCw3ICsxMjQ1LDcgQEAKICAgICB7MzEsIDF9LAogfTsKIHN0YXRpYyBhcmMgYXJjc181NV8xWzFdID0gewotICAgIHsxMDMsIDJ9LAorICAgIHsxMDQsIDJ9LAogfTsKIHN0YXRpYyBhcmMgYXJjc181NV8yWzFdID0gewogICAgIHswLCAyfSwKQEAgLTEyNTUsMTAgKzEyNTYsMTAgQEAKICAgICB7MSwgYXJjc181NV8yfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfNTZfMFsxXSA9IHsKLSAgICB7MTI3LCAxfSwKKyAgICB7MTI4LCAxfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfNTZfMVsyXSA9IHsKLSAgICB7MTI4LCAwfSwKKyAgICB7MTI5LCAwfSwKICAgICB7MCwgMX0sCiB9Owogc3RhdGljIHN0YXRlIHN0YXRlc181NlsyXSA9IHsKQEAgLTEyNjYsMTAgKzEyNjcsMTAgQEAKICAgICB7MiwgYXJjc181Nl8xfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfNTdfMFsxXSA9IHsKLSAgICB7MTI5LCAxfSwKKyAgICB7MTMwLCAxfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfNTdfMVsyXSA9IHsKLSAgICB7MTMwLCAwfSwKKyAgICB7MTMxLCAwfSwKICAgICB7MCwgMX0sCiB9Owogc3RhdGljIHN0YXRlIHN0YXRlc181N1syXSA9IHsKQEAgLTEyNzcsMTAgKzEyNzgsMTAgQEAKICAgICB7MiwgYXJjc181N18xfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfNThfMFsxXSA9IHsKLSAgICB7MTMxLCAxfSwKKyAgICB7MTMyLCAxfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfNThfMVsyXSA9IHsKLSAgICB7MTMyLCAwfSwKKyAgICB7MTMzLCAwfSwKICAgICB7MCwgMX0sCiB9Owogc3RhdGljIHN0YXRlIHN0YXRlc181OFsyXSA9IHsKQEAgLTEyODgsMTEgKzEyODksMTEgQEAKICAgICB7MiwgYXJjc181OF8xfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfNTlfMFsxXSA9IHsKLSAgICB7MTMzLCAxfSwKKyAgICB7MTM0LCAxfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfNTlfMVszXSA9IHsKLSAgICB7MTM0LCAwfSwKICAgICB7MTM1LCAwfSwKKyAgICB7MTM2LCAwfSwKICAgICB7MCwgMX0sCiB9Owogc3RhdGljIHN0YXRlIHN0YXRlc181OVsyXSA9IHsKQEAgLTEzMDAsMTEgKzEzMDEsMTEgQEAKICAgICB7MywgYXJjc181OV8xfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfNjBfMFsxXSA9IHsKLSAgICB7MTM2LCAxfSwKKyAgICB7MTM3LCAxfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfNjBfMVszXSA9IHsKLSAgICB7MTM3LCAwfSwKICAgICB7MTM4LCAwfSwKKyAgICB7MTM5LCAwfSwKICAgICB7MCwgMX0sCiB9Owogc3RhdGljIHN0YXRlIHN0YXRlc182MFsyXSA9IHsKQEAgLTEzMTIsMjcgKzEzMTMsMjggQEAKICAgICB7MywgYXJjc182MF8xfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfNjFfMFsxXSA9IHsKLSAgICB7MTM5LCAxfSwKKyAgICB7MTQwLCAxfSwKIH07Ci1zdGF0aWMgYXJjIGFyY3NfNjFfMVs1XSA9IHsKK3N0YXRpYyBhcmMgYXJjc182MV8xWzZdID0gewogICAgIHszMSwgMH0sCi0gICAgezE0MCwgMH0sCisgICAgezExLCAwfSwKICAgICB7MTQxLCAwfSwKICAgICB7MTQyLCAwfSwKKyAgICB7MTQzLCAwfSwKICAgICB7MCwgMX0sCiB9Owogc3RhdGljIHN0YXRlIHN0YXRlc182MVsyXSA9IHsKICAgICB7MSwgYXJjc182MV8wfSwKLSAgICB7NSwgYXJjc182MV8xfSwKKyAgICB7NiwgYXJjc182MV8xfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfNjJfMFs0XSA9IHsKLSAgICB7MTM3LCAxfSwKICAgICB7MTM4LCAxfSwKLSAgICB7MTQzLCAxfSwKLSAgICB7MTQ0LCAyfSwKKyAgICB7MTM5LCAxfSwKKyAgICB7MTQ0LCAxfSwKKyAgICB7MTQ1LCAyfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfNjJfMVsxXSA9IHsKLSAgICB7MTM5LCAyfSwKKyAgICB7MTQwLCAyfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfNjJfMlsxXSA9IHsKICAgICB7MCwgMn0sCkBAIC0xMzQzLDE1ICsxMzQ1LDE1IEBACiAgICAgezEsIGFyY3NfNjJfMn0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzYzXzBbMV0gPSB7Ci0gICAgezE0NSwgMX0sCisgICAgezE0NiwgMX0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzYzXzFbM10gPSB7Ci0gICAgezE0NiwgMX0sCisgICAgezE0NywgMX0sCiAgICAgezMyLCAyfSwKICAgICB7MCwgMX0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzYzXzJbMV0gPSB7Ci0gICAgezEzOSwgM30sCisgICAgezE0MCwgM30sCiB9Owogc3RhdGljIGFyYyBhcmNzXzYzXzNbMV0gPSB7CiAgICAgezAsIDN9LApAQCAtMTM2NCw0NCArMTM2Niw0NCBAQAogfTsKIHN0YXRpYyBhcmMgYXJjc182NF8wWzEwXSA9IHsKICAgICB7MTMsIDF9LAotICAgIHsxNDgsIDJ9LAotICAgIHsxNTAsIDN9LAorICAgIHsxNDksIDJ9LAorICAgIHsxNTEsIDN9LAogICAgIHsyMSwgNH0sCi0gICAgezE1MywgNH0sCi0gICAgezE1NCwgNX0sCi0gICAgezc5LCA0fSwKLSAgICB7MTU1LCA0fSwKKyAgICB7MTU0LCA0fSwKKyAgICB7MTU1LCA1fSwKKyAgICB7ODAsIDR9LAogICAgIHsxNTYsIDR9LAogICAgIHsxNTcsIDR9LAorICAgIHsxNTgsIDR9LAogfTsKIHN0YXRpYyBhcmMgYXJjc182NF8xWzNdID0gewogICAgIHs0NywgNn0sCi0gICAgezE0NywgNn0sCisgICAgezE0OCwgNn0sCiAgICAgezE1LCA0fSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfNjRfMlsyXSA9IHsKLSAgICB7MTQ3LCA3fSwKLSAgICB7MTQ5LCA0fSwKKyAgICB7MTQ4LCA3fSwKKyAgICB7MTUwLCA0fSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfNjRfM1syXSA9IHsKLSAgICB7MTUxLCA4fSwKLSAgICB7MTUyLCA0fSwKKyAgICB7MTUyLCA4fSwKKyAgICB7MTUzLCA0fSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfNjRfNFsxXSA9IHsKICAgICB7MCwgNH0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzY0XzVbMl0gPSB7Ci0gICAgezE1NCwgNX0sCisgICAgezE1NSwgNX0sCiAgICAgezAsIDV9LAogfTsKIHN0YXRpYyBhcmMgYXJjc182NF82WzFdID0gewogICAgIHsxNSwgNH0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzY0XzdbMV0gPSB7Ci0gICAgezE0OSwgNH0sCisgICAgezE1MCwgNH0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzY0XzhbMV0gPSB7Ci0gICAgezE1MiwgNH0sCisgICAgezE1MywgNH0sCiB9Owogc3RhdGljIHN0YXRlIHN0YXRlc182NFs5XSA9IHsKICAgICB7MTAsIGFyY3NfNjRfMH0sCkBAIC0xNDE5LDcgKzE0MjEsNyBAQAogICAgIHs0OCwgMX0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzY1XzFbM10gPSB7Ci0gICAgezE1OCwgMn0sCisgICAgezE1OSwgMn0sCiAgICAgezMwLCAzfSwKICAgICB7MCwgMX0sCiB9OwpAQCAtMTQ0NCwxNSArMTQ0NiwxNSBAQAogfTsKIHN0YXRpYyBhcmMgYXJjc182Nl8wWzNdID0gewogICAgIHsxMywgMX0sCi0gICAgezE0OCwgMn0sCi0gICAgezc4LCAzfSwKKyAgICB7MTQ5LCAyfSwKKyAgICB7NzksIDN9LAogfTsKIHN0YXRpYyBhcmMgYXJjc182Nl8xWzJdID0gewogICAgIHsxNCwgNH0sCiAgICAgezE1LCA1fSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfNjZfMlsxXSA9IHsKLSAgICB7MTU5LCA2fSwKKyAgICB7MTYwLCA2fSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfNjZfM1sxXSA9IHsKICAgICB7MjEsIDV9LApAQCAtMTQ2NCw3ICsxNDY2LDcgQEAKICAgICB7MCwgNX0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzY2XzZbMV0gPSB7Ci0gICAgezE0OSwgNX0sCisgICAgezE1MCwgNX0sCiB9Owogc3RhdGljIHN0YXRlIHN0YXRlc182Nls3XSA9IHsKICAgICB7MywgYXJjc182Nl8wfSwKQEAgLTE0NzYsMTQgKzE0NzgsMTQgQEAKICAgICB7MSwgYXJjc182Nl82fSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfNjdfMFsxXSA9IHsKLSAgICB7MTYwLCAxfSwKKyAgICB7MTYxLCAxfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfNjdfMVsyXSA9IHsKICAgICB7MzAsIDJ9LAogICAgIHswLCAxfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfNjdfMlsyXSA9IHsKLSAgICB7MTYwLCAxfSwKKyAgICB7MTYxLCAxfSwKICAgICB7MCwgMn0sCiB9Owogc3RhdGljIHN0YXRlIHN0YXRlc182N1szXSA9IHsKQEAgLTE1MDEsMTEgKzE1MDMsMTEgQEAKIH07CiBzdGF0aWMgYXJjIGFyY3NfNjhfMlszXSA9IHsKICAgICB7MjQsIDN9LAotICAgIHsxNjEsIDR9LAorICAgIHsxNjIsIDR9LAogICAgIHswLCAyfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfNjhfM1syXSA9IHsKLSAgICB7MTYxLCA0fSwKKyAgICB7MTYyLCA0fSwKICAgICB7MCwgM30sCiB9Owogc3RhdGljIGFyYyBhcmNzXzY4XzRbMV0gPSB7CkBAIC0xNTM0LDcgKzE1MzYsNyBAQAogICAgIHsxLCBhcmNzXzY5XzJ9LAogfTsKIHN0YXRpYyBhcmMgYXJjc183MF8wWzJdID0gewotICAgIHsxMDMsIDF9LAorICAgIHsxMDQsIDF9LAogICAgIHs0OCwgMX0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzcwXzFbMl0gPSB7CkBAIC0xNTQyLDcgKzE1NDQsNyBAQAogICAgIHswLCAxfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfNzBfMlszXSA9IHsKLSAgICB7MTAzLCAxfSwKKyAgICB7MTA0LCAxfSwKICAgICB7NDgsIDF9LAogICAgIHswLCAyfSwKIH07CkBAIC0xNTcyLDcgKzE1NzQsNyBAQAogfTsKIHN0YXRpYyBhcmMgYXJjc183Ml8xWzRdID0gewogICAgIHsyNSwgMn0sCi0gICAgezE1OCwgM30sCisgICAgezE1OSwgM30sCiAgICAgezMwLCA0fSwKICAgICB7MCwgMX0sCiB9OwpAQCAtMTU4Nyw3ICsxNTg5LDcgQEAKICAgICB7MCwgNH0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzcyXzVbM10gPSB7Ci0gICAgezE1OCwgM30sCisgICAgezE1OSwgM30sCiAgICAgezMwLCA3fSwKICAgICB7MCwgNX0sCiB9OwpAQCAtMTYyMyw3ICsxNjI1LDcgQEAKICAgICB7MiwgYXJjc183Ml8xMH0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzczXzBbMV0gPSB7Ci0gICAgezE2MiwgMX0sCisgICAgezE2MywgMX0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzczXzFbMV0gPSB7CiAgICAgezIxLCAyfSwKQEAgLTE2NTksNyArMTY2MSw3IEBACiAgICAgezEsIGFyY3NfNzNfN30sCiB9Owogc3RhdGljIGFyYyBhcmNzXzc0XzBbM10gPSB7Ci0gICAgezE2MywgMX0sCisgICAgezE2NCwgMX0sCiAgICAgezMxLCAyfSwKICAgICB7MzIsIDN9LAogfTsKQEAgLTE2NzQsNyArMTY3Niw3IEBACiAgICAgezI0LCA2fSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfNzRfNFs0XSA9IHsKLSAgICB7MTYzLCAxfSwKKyAgICB7MTY0LCAxfSwKICAgICB7MzEsIDJ9LAogICAgIHszMiwgM30sCiAgICAgezAsIDR9LApAQCAtMTY4Nyw3ICsxNjg5LDcgQEAKICAgICB7MCwgNn0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzc0XzdbMl0gPSB7Ci0gICAgezE2MywgNX0sCisgICAgezE2NCwgNX0sCiAgICAgezMyLCAzfSwKIH07CiBzdGF0aWMgc3RhdGUgc3RhdGVzXzc0WzhdID0gewpAQCAtMTcwNCw3ICsxNzA2LDcgQEAKICAgICB7MjQsIDF9LAogfTsKIHN0YXRpYyBhcmMgYXJjc183NV8xWzNdID0gewotICAgIHsxNTgsIDJ9LAorICAgIHsxNTksIDJ9LAogICAgIHsyOSwgM30sCiAgICAgezAsIDF9LAogfTsKQEAgLTE3MjEsOCArMTcyMyw4IEBACiAgICAgezEsIGFyY3NfNzVfM30sCiB9Owogc3RhdGljIGFyYyBhcmNzXzc2XzBbMl0gPSB7Ci0gICAgezE1OCwgMX0sCi0gICAgezE2NSwgMX0sCisgICAgezE1OSwgMX0sCisgICAgezE2NiwgMX0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzc2XzFbMV0gPSB7CiAgICAgezAsIDF9LApAQCAtMTczMiwxOSArMTczNCwxOSBAQAogICAgIHsxLCBhcmNzXzc2XzF9LAogfTsKIHN0YXRpYyBhcmMgYXJjc183N18wWzFdID0gewotICAgIHs5NiwgMX0sCisgICAgezk3LCAxfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfNzdfMVsxXSA9IHsKLSAgICB7NjIsIDJ9LAorICAgIHs2MywgMn0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzc3XzJbMV0gPSB7Ci0gICAgezk3LCAzfSwKKyAgICB7OTgsIDN9LAogfTsKIHN0YXRpYyBhcmMgYXJjc183N18zWzFdID0gewotICAgIHsxMDcsIDR9LAorICAgIHsxMDgsIDR9LAogfTsKIHN0YXRpYyBhcmMgYXJjc183N180WzJdID0gewotICAgIHsxNjQsIDV9LAorICAgIHsxNjUsIDV9LAogICAgIHswLCA0fSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfNzdfNVsxXSA9IHsKQEAgLTE3NTksMTMgKzE3NjEsMTMgQEAKICAgICB7MSwgYXJjc183N181fSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfNzhfMFsxXSA9IHsKLSAgICB7OTIsIDF9LAorICAgIHs5MywgMX0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzc4XzFbMV0gPSB7Ci0gICAgezEwOSwgMn0sCisgICAgezExMCwgMn0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzc4XzJbMl0gPSB7Ci0gICAgezE2NCwgM30sCisgICAgezE2NSwgM30sCiAgICAgezAsIDJ9LAogfTsKIHN0YXRpYyBhcmMgYXJjc183OF8zWzFdID0gewpAQCAtMTc4OCwxMCArMTc5MCwxMCBAQAogICAgIHsxLCBhcmNzXzc5XzF9LAogfTsKIHN0YXRpYyBhcmMgYXJjc184MF8wWzFdID0gewotICAgIHsxNjcsIDF9LAorICAgIHsxNjgsIDF9LAogfTsKIHN0YXRpYyBhcmMgYXJjc184MF8xWzJdID0gewotICAgIHsxNjgsIDJ9LAorICAgIHsxNjksIDJ9LAogICAgIHswLCAxfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfODBfMlsxXSA9IHsKQEAgLTE4MDMsNyArMTgwNSw3IEBACiAgICAgezEsIGFyY3NfODBfMn0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzgxXzBbMl0gPSB7Ci0gICAgezczLCAxfSwKKyAgICB7NzQsIDF9LAogICAgIHs5LCAyfSwKIH07CiBzdGF0aWMgYXJjIGFyY3NfODFfMVsxXSA9IHsKQEAgLTE4MTksMTEgKzE4MjEsMTEgQEAKIH07CiBzdGF0aWMgZGZhIGRmYXNbODJdID0gewogICAgIHsyNTYsICJzaW5nbGVfaW5wdXQiLCAwLCAzLCBzdGF0ZXNfMCwKLSAgICAgIlwwMDRcMDUwXDA2MFwyMDBcMDAwXDAwMFwwMDBcMjQwXDM0MFwyMjNcMTYwXDIyMFwwNDVcMjAwXDAyMFwwMDBcMDAwXDIwNlwxMjBcMDc2XDIwNFwwMDAifSwKKyAgICAgIlwwMDRcMDUwXDA2MFwyMDBcMDAwXDAwMFwwMDBcMTAwXDMwMVwwNDdcMzQxXDA0MFwxMTNcMDAwXDA0MVwwMDBcMDAwXDAxNFwyNDFcMTc0XDAxMFwwMDEifSwKICAgICB7MjU3LCAiZmlsZV9pbnB1dCIsIDAsIDIsIHN0YXRlc18xLAotICAgICAiXDIwNFwwNTBcMDYwXDIwMFwwMDBcMDAwXDAwMFwyNDBcMzQwXDIyM1wxNjBcMjIwXDA0NVwyMDBcMDIwXDAwMFwwMDBcMjA2XDEyMFwwNzZcMjA0XDAwMCJ9LAorICAgICAiXDIwNFwwNTBcMDYwXDIwMFwwMDBcMDAwXDAwMFwxMDBcMzAxXDA0N1wzNDFcMDQwXDExM1wwMDBcMDQxXDAwMFwwMDBcMDE0XDI0MVwxNzRcMDEwXDAwMSJ9LAogICAgIHsyNTgsICJldmFsX2lucHV0IiwgMCwgMywgc3RhdGVzXzIsCi0gICAgICJcMDAwXDA0MFwwNDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMjAwXDAwMFwwMDBcMDAwXDIwMFwwMjBcMDAwXDAwMFwyMDZcMTIwXDA3NlwwMDBcMDAwIn0sCisgICAgICJcMDAwXDA0MFwwNDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMVwwMDBcMDAwXDAwMFwwNDFcMDAwXDAwMFwwMTRcMjQxXDE3NFwwMDBcMDAwIn0sCiAgICAgezI1OSwgImRlY29yYXRvciIsIDAsIDcsIHN0YXRlc18zLAogICAgICAiXDAwMFwwMTBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMCJ9LAogICAgIHsyNjAsICJkZWNvcmF0b3JzIiwgMCwgMiwgc3RhdGVzXzQsCkBAIC0xODQzLDM5ICsxODQ1LDM5IEBACiAgICAgezI2NywgInZmcGRlZiIsIDAsIDIsIHN0YXRlc18xMSwKICAgICAgIlwwMDBcMDAwXDA0MFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDAifSwKICAgICB7MjY4LCAic3RtdCIsIDAsIDIsIHN0YXRlc18xMiwKLSAgICAgIlwwMDBcMDUwXDA2MFwyMDBcMDAwXDAwMFwwMDBcMjQwXDM0MFwyMjNcMTYwXDIyMFwwNDVcMjAwXDAyMFwwMDBcMDAwXDIwNlwxMjBcMDc2XDIwNFwwMDAifSwKKyAgICAgIlwwMDBcMDUwXDA2MFwyMDBcMDAwXDAwMFwwMDBcMTAwXDMwMVwwNDdcMzQxXDA0MFwxMTNcMDAwXDA0MVwwMDBcMDAwXDAxNFwyNDFcMTc0XDAxMFwwMDEifSwKICAgICB7MjY5LCAic2ltcGxlX3N0bXQiLCAwLCA0LCBzdGF0ZXNfMTMsCi0gICAgICJcMDAwXDA0MFwwNDBcMjAwXDAwMFwwMDBcMDAwXDI0MFwzNDBcMjIzXDE2MFwwMDBcMDAwXDIwMFwwMjBcMDAwXDAwMFwyMDZcMTIwXDA3NlwyMDBcMDAwIn0sCisgICAgICJcMDAwXDA0MFwwNDBcMjAwXDAwMFwwMDBcMDAwXDEwMFwzMDFcMDQ3XDM0MVwwMDBcMDAwXDAwMFwwNDFcMDAwXDAwMFwwMTRcMjQxXDE3NFwwMDBcMDAxIn0sCiAgICAgezI3MCwgInNtYWxsX3N0bXQiLCAwLCAyLCBzdGF0ZXNfMTQsCi0gICAgICJcMDAwXDA0MFwwNDBcMjAwXDAwMFwwMDBcMDAwXDI0MFwzNDBcMjIzXDE2MFwwMDBcMDAwXDIwMFwwMjBcMDAwXDAwMFwyMDZcMTIwXDA3NlwyMDBcMDAwIn0sCisgICAgICJcMDAwXDA0MFwwNDBcMjAwXDAwMFwwMDBcMDAwXDEwMFwzMDFcMDQ3XDM0MVwwMDBcMDAwXDAwMFwwNDFcMDAwXDAwMFwwMTRcMjQxXDE3NFwwMDBcMDAxIn0sCiAgICAgezI3MSwgImV4cHJfc3RtdCIsIDAsIDYsIHN0YXRlc18xNSwKLSAgICAgIlwwMDBcMDQwXDA0MFwyMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwyMDBcMDAwXDAwMFwwMDBcMjAwXDAyMFwwMDBcMDAwXDIwNlwxMjBcMDc2XDAwMFwwMDAifSwKKyAgICAgIlwwMDBcMDQwXDA0MFwyMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAxXDAwMFwwMDBcMDAwXDA0MVwwMDBcMDAwXDAxNFwyNDFcMTc0XDAwMFwwMDAifSwKICAgICB7MjcyLCAidGVzdGxpc3Rfc3Rhcl9leHByIiwgMCwgMywgc3RhdGVzXzE2LAotICAgICAiXDAwMFwwNDBcMDQwXDIwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDIwMFwwMDBcMDAwXDAwMFwyMDBcMDIwXDAwMFwwMDBcMjA2XDEyMFwwNzZcMDAwXDAwMCJ9LAorICAgICAiXDAwMFwwNDBcMDQwXDIwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDFcMDAwXDAwMFwwMDBcMDQxXDAwMFwwMDBcMDE0XDI0MVwxNzRcMDAwXDAwMCJ9LAogICAgIHsyNzMsICJhdWdhc3NpZ24iLCAwLCAyLCBzdGF0ZXNfMTcsCi0gICAgICJcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMzc2XDAzN1wwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwIn0sCisgICAgICJcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMzc2XDA3N1wwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwIn0sCiAgICAgezI3NCwgImRlbF9zdG10IiwgMCwgMywgc3RhdGVzXzE4LAotICAgICAiXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwNDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMCJ9LAorICAgICAiXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwxMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMCJ9LAogICAgIHsyNzUsICJwYXNzX3N0bXQiLCAwLCAyLCBzdGF0ZXNfMTksCi0gICAgICJcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDIwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwIn0sCisgICAgICJcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDFcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwIn0sCiAgICAgezI3NiwgImZsb3dfc3RtdCIsIDAsIDIsIHN0YXRlc18yMCwKLSAgICAgIlwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDM0MFwwMDFcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDIwMFwwMDAifSwKKyAgICAgIlwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDMwMFwwMDNcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDEifSwKICAgICB7Mjc3LCAiYnJlYWtfc3RtdCIsIDAsIDIsIHN0YXRlc18yMSwKLSAgICAgIlwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDA0MFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDAifSwKLSAgICB7Mjc4LCAiY29udGludWVfc3RtdCIsIDAsIDIsIHN0YXRlc18yMiwKICAgICAgIlwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDEwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDAifSwKLSAgICB7Mjc5LCAicmV0dXJuX3N0bXQiLCAwLCAzLCBzdGF0ZXNfMjMsCisgICAgezI3OCwgImNvbnRpbnVlX3N0bXQiLCAwLCAyLCBzdGF0ZXNfMjIsCiAgICAgICJcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwyMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwIn0sCi0gICAgezI4MCwgInlpZWxkX3N0bXQiLCAwLCAyLCBzdGF0ZXNfMjQsCi0gICAgICJcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwyMDBcMDAwIn0sCi0gICAgezI4MSwgInJhaXNlX3N0bXQiLCAwLCA1LCBzdGF0ZXNfMjUsCisgICAgezI3OSwgInJldHVybl9zdG10IiwgMCwgMywgc3RhdGVzXzIzLAogICAgICAiXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMVwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMCJ9LAotICAgIHsyODIsICJpbXBvcnRfc3RtdCIsIDAsIDIsIHN0YXRlc18yNiwKLSAgICAgIlwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMjJcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDAifSwKLSAgICB7MjgzLCAiaW1wb3J0X25hbWUiLCAwLCAzLCBzdGF0ZXNfMjcsCi0gICAgICJcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDIwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwIn0sCi0gICAgezI4NCwgImltcG9ydF9mcm9tIiwgMCwgOCwgc3RhdGVzXzI4LAorICAgIHsyODAsICJ5aWVsZF9zdG10IiwgMCwgMiwgc3RhdGVzXzI0LAorICAgICAiXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMSJ9LAorICAgIHsyODEsICJyYWlzZV9zdG10IiwgMCwgNSwgc3RhdGVzXzI1LAogICAgICAiXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMlwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMCJ9LAorICAgIHsyODIsICJpbXBvcnRfc3RtdCIsIDAsIDIsIHN0YXRlc18yNiwKKyAgICAgIlwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwNDRcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDAifSwKKyAgICB7MjgzLCAiaW1wb3J0X25hbWUiLCAwLCAzLCBzdGF0ZXNfMjcsCisgICAgICJcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDQwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwIn0sCisgICAgezI4NCwgImltcG9ydF9mcm9tIiwgMCwgOCwgc3RhdGVzXzI4LAorICAgICAiXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwNFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMCJ9LAogICAgIHsyODUsICJpbXBvcnRfYXNfbmFtZSIsIDAsIDQsIHN0YXRlc18yOSwKICAgICAgIlwwMDBcMDAwXDA0MFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDAifSwKICAgICB7Mjg2LCAiZG90dGVkX2FzX25hbWUiLCAwLCA0LCBzdGF0ZXNfMzAsCkBAIC0xODg3LDEwMyArMTg4OSwxMDMgQEAKICAgICB7Mjg5LCAiZG90dGVkX25hbWUiLCAwLCAyLCBzdGF0ZXNfMzMsCiAgICAgICJcMDAwXDAwMFwwNDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwIn0sCiAgICAgezI5MCwgImdsb2JhbF9zdG10IiwgMCwgMywgc3RhdGVzXzM0LAotICAgICAiXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMjBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMCJ9LAotICAgIHsyOTEsICJub25sb2NhbF9zdG10IiwgMCwgMywgc3RhdGVzXzM1LAogICAgICAiXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwNDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMCJ9LAotICAgIHsyOTIsICJhc3NlcnRfc3RtdCIsIDAsIDUsIHN0YXRlc18zNiwKKyAgICB7MjkxLCAibm9ubG9jYWxfc3RtdCIsIDAsIDMsIHN0YXRlc18zNSwKICAgICAgIlwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMTAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDAifSwKKyAgICB7MjkyLCAiYXNzZXJ0X3N0bXQiLCAwLCA1LCBzdGF0ZXNfMzYsCisgICAgICJcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDIwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwIn0sCiAgICAgezI5MywgImNvbXBvdW5kX3N0bXQiLCAwLCAyLCBzdGF0ZXNfMzcsCi0gICAgICJcMDAwXDAxMFwwMjBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwyMjBcMDQ1XDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDRcMDAwIn0sCisgICAgICJcMDAwXDAxMFwwMjBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwNDBcMTEzXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMTBcMDAwIn0sCiAgICAgezI5NCwgImlmX3N0bXQiLCAwLCA4LCBzdGF0ZXNfMzgsCi0gICAgICJcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMjBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwIn0sCisgICAgICJcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwNDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwIn0sCiAgICAgezI5NSwgIndoaWxlX3N0bXQiLCAwLCA4LCBzdGF0ZXNfMzksCi0gICAgICJcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwyMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwIn0sCi0gICAgezI5NiwgImZvcl9zdG10IiwgMCwgMTAsIHN0YXRlc180MCwKICAgICAgIlwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDFcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDAifSwKKyAgICB7Mjk2LCAiZm9yX3N0bXQiLCAwLCAxMCwgc3RhdGVzXzQwLAorICAgICAiXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMlwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMCJ9LAogICAgIHsyOTcsICJ0cnlfc3RtdCIsIDAsIDEzLCBzdGF0ZXNfNDEsCi0gICAgICJcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDA0XDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwIn0sCisgICAgICJcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDEwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwIn0sCiAgICAgezI5OCwgIndpdGhfc3RtdCIsIDAsIDUsIHN0YXRlc180MiwKLSAgICAgIlwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwNDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDAifSwKKyAgICAgIlwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwxMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDAifSwKICAgICB7Mjk5LCAid2l0aF9pdGVtIiwgMCwgNCwgc3RhdGVzXzQzLAotICAgICAiXDAwMFwwNDBcMDQwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDIwMFwwMDBcMDAwXDAwMFwyMDBcMDIwXDAwMFwwMDBcMjA2XDEyMFwwNzZcMDAwXDAwMCJ9LAorICAgICAiXDAwMFwwNDBcMDQwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDFcMDAwXDAwMFwwMDBcMDQxXDAwMFwwMDBcMDE0XDI0MVwxNzRcMDAwXDAwMCJ9LAogICAgIHszMDAsICJleGNlcHRfY2xhdXNlIiwgMCwgNSwgc3RhdGVzXzQ0LAotICAgICAiXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDFcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMCJ9LAorICAgICAiXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDJcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMCJ9LAogICAgIHszMDEsICJzdWl0ZSIsIDAsIDUsIHN0YXRlc180NSwKLSAgICAgIlwwMDRcMDQwXDA0MFwyMDBcMDAwXDAwMFwwMDBcMjQwXDM0MFwyMjNcMTYwXDAwMFwwMDBcMjAwXDAyMFwwMDBcMDAwXDIwNlwxMjBcMDc2XDIwMFwwMDAifSwKKyAgICAgIlwwMDRcMDQwXDA0MFwyMDBcMDAwXDAwMFwwMDBcMTAwXDMwMVwwNDdcMzQxXDAwMFwwMDBcMDAwXDA0MVwwMDBcMDAwXDAxNFwyNDFcMTc0XDAwMFwwMDEifSwKICAgICB7MzAyLCAidGVzdCIsIDAsIDYsIHN0YXRlc180NiwKLSAgICAgIlwwMDBcMDQwXDA0MFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwyMDBcMDAwXDAwMFwwMDBcMjAwXDAyMFwwMDBcMDAwXDIwNlwxMjBcMDc2XDAwMFwwMDAifSwKKyAgICAgIlwwMDBcMDQwXDA0MFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAxXDAwMFwwMDBcMDAwXDA0MVwwMDBcMDAwXDAxNFwyNDFcMTc0XDAwMFwwMDAifSwKICAgICB7MzAzLCAidGVzdF9ub2NvbmQiLCAwLCAyLCBzdGF0ZXNfNDcsCi0gICAgICJcMDAwXDA0MFwwNDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMjAwXDAwMFwwMDBcMDAwXDIwMFwwMjBcMDAwXDAwMFwyMDZcMTIwXDA3NlwwMDBcMDAwIn0sCisgICAgICJcMDAwXDA0MFwwNDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMVwwMDBcMDAwXDAwMFwwNDFcMDAwXDAwMFwwMTRcMjQxXDE3NFwwMDBcMDAwIn0sCiAgICAgezMwNCwgImxhbWJkZWYiLCAwLCA1LCBzdGF0ZXNfNDgsCi0gICAgICJcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDIwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwIn0sCisgICAgICJcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDFcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwIn0sCiAgICAgezMwNSwgImxhbWJkZWZfbm9jb25kIiwgMCwgNSwgc3RhdGVzXzQ5LAotICAgICAiXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwyMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMCJ9LAorICAgICAiXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAxXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMCJ9LAogICAgIHszMDYsICJvcl90ZXN0IiwgMCwgMiwgc3RhdGVzXzUwLAotICAgICAiXDAwMFwwNDBcMDQwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDIwMFwwMDBcMDAwXDAwMFwwMDBcMDIwXDAwMFwwMDBcMjA2XDEyMFwwNzZcMDAwXDAwMCJ9LAorICAgICAiXDAwMFwwNDBcMDQwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDFcMDAwXDAwMFwwMDBcMDQwXDAwMFwwMDBcMDE0XDI0MVwxNzRcMDAwXDAwMCJ9LAogICAgIHszMDcsICJhbmRfdGVzdCIsIDAsIDIsIHN0YXRlc181MSwKLSAgICAgIlwwMDBcMDQwXDA0MFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwyMDBcMDAwXDAwMFwwMDBcMDAwXDAyMFwwMDBcMDAwXDIwNlwxMjBcMDc2XDAwMFwwMDAifSwKKyAgICAgIlwwMDBcMDQwXDA0MFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAxXDAwMFwwMDBcMDAwXDA0MFwwMDBcMDAwXDAxNFwyNDFcMTc0XDAwMFwwMDAifSwKICAgICB7MzA4LCAibm90X3Rlc3QiLCAwLCAzLCBzdGF0ZXNfNTIsCi0gICAgICJcMDAwXDA0MFwwNDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMjAwXDAwMFwwMDBcMDAwXDAwMFwwMjBcMDAwXDAwMFwyMDZcMTIwXDA3NlwwMDBcMDAwIn0sCisgICAgICJcMDAwXDA0MFwwNDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMVwwMDBcMDAwXDAwMFwwNDBcMDAwXDAwMFwwMTRcMjQxXDE3NFwwMDBcMDAwIn0sCiAgICAgezMwOSwgImNvbXBhcmlzb24iLCAwLCAyLCBzdGF0ZXNfNTMsCi0gICAgICJcMDAwXDA0MFwwNDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMjAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwyMDZcMTIwXDA3NlwwMDBcMDAwIn0sCisgICAgICJcMDAwXDA0MFwwNDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMVwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMTRcMjQxXDE3NFwwMDBcMDAwIn0sCiAgICAgezMxMCwgImNvbXBfb3AiLCAwLCA0LCBzdGF0ZXNfNTQsCi0gICAgICJcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAyXDAwMFwyMjBcMTc3XDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwIn0sCisgICAgICJcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDA0XDAwMFwwNDBcMzc3XDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwIn0sCiAgICAgezMxMSwgInN0YXJfZXhwciIsIDAsIDMsIHN0YXRlc181NSwKICAgICAgIlwwMDBcMDAwXDAwMFwyMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDAifSwKICAgICB7MzEyLCAiZXhwciIsIDAsIDIsIHN0YXRlc181NiwKLSAgICAgIlwwMDBcMDQwXDA0MFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwyMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDIwNlwxMjBcMDc2XDAwMFwwMDAifSwKKyAgICAgIlwwMDBcMDQwXDA0MFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAxXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAxNFwyNDFcMTc0XDAwMFwwMDAifSwKICAgICB7MzEzLCAieG9yX2V4cHIiLCAwLCAyLCBzdGF0ZXNfNTcsCi0gICAgICJcMDAwXDA0MFwwNDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMjAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwyMDZcMTIwXDA3NlwwMDBcMDAwIn0sCisgICAgICJcMDAwXDA0MFwwNDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMVwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMTRcMjQxXDE3NFwwMDBcMDAwIn0sCiAgICAgezMxNCwgImFuZF9leHByIiwgMCwgMiwgc3RhdGVzXzU4LAotICAgICAiXDAwMFwwNDBcMDQwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDIwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMjA2XDEyMFwwNzZcMDAwXDAwMCJ9LAorICAgICAiXDAwMFwwNDBcMDQwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDFcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDE0XDI0MVwxNzRcMDAwXDAwMCJ9LAogICAgIHszMTUsICJzaGlmdF9leHByIiwgMCwgMiwgc3RhdGVzXzU5LAotICAgICAiXDAwMFwwNDBcMDQwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDIwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMjA2XDEyMFwwNzZcMDAwXDAwMCJ9LAorICAgICAiXDAwMFwwNDBcMDQwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDFcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDE0XDI0MVwxNzRcMDAwXDAwMCJ9LAogICAgIHszMTYsICJhcml0aF9leHByIiwgMCwgMiwgc3RhdGVzXzYwLAotICAgICAiXDAwMFwwNDBcMDQwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDIwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMjA2XDEyMFwwNzZcMDAwXDAwMCJ9LAorICAgICAiXDAwMFwwNDBcMDQwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDFcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDE0XDI0MVwxNzRcMDAwXDAwMCJ9LAogICAgIHszMTcsICJ0ZXJtIiwgMCwgMiwgc3RhdGVzXzYxLAotICAgICAiXDAwMFwwNDBcMDQwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDIwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMjA2XDEyMFwwNzZcMDAwXDAwMCJ9LAorICAgICAiXDAwMFwwNDBcMDQwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDFcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDE0XDI0MVwxNzRcMDAwXDAwMCJ9LAogICAgIHszMTgsICJmYWN0b3IiLCAwLCAzLCBzdGF0ZXNfNjIsCi0gICAgICJcMDAwXDA0MFwwNDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMjAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwyMDZcMTIwXDA3NlwwMDBcMDAwIn0sCisgICAgICJcMDAwXDA0MFwwNDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMVwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMTRcMjQxXDE3NFwwMDBcMDAwIn0sCiAgICAgezMxOSwgInBvd2VyIiwgMCwgNCwgc3RhdGVzXzYzLAotICAgICAiXDAwMFwwNDBcMDQwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDIwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDEyMFwwNzZcMDAwXDAwMCJ9LAorICAgICAiXDAwMFwwNDBcMDQwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDFcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDI0MFwxNzRcMDAwXDAwMCJ9LAogICAgIHszMjAsICJhdG9tIiwgMCwgOSwgc3RhdGVzXzY0LAotICAgICAiXDAwMFwwNDBcMDQwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDIwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDEyMFwwNzZcMDAwXDAwMCJ9LAorICAgICAiXDAwMFwwNDBcMDQwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDFcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDI0MFwxNzRcMDAwXDAwMCJ9LAogICAgIHszMjEsICJ0ZXN0bGlzdF9jb21wIiwgMCwgNSwgc3RhdGVzXzY1LAotICAgICAiXDAwMFwwNDBcMDQwXDIwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDIwMFwwMDBcMDAwXDAwMFwyMDBcMDIwXDAwMFwwMDBcMjA2XDEyMFwwNzZcMDAwXDAwMCJ9LAorICAgICAiXDAwMFwwNDBcMDQwXDIwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDFcMDAwXDAwMFwwMDBcMDQxXDAwMFwwMDBcMDE0XDI0MVwxNzRcMDAwXDAwMCJ9LAogICAgIHszMjIsICJ0cmFpbGVyIiwgMCwgNywgc3RhdGVzXzY2LAotICAgICAiXDAwMFwwNDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDEwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAyMFwwMDBcMDAwXDAwMCJ9LAorICAgICAiXDAwMFwwNDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDIwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDA0MFwwMDBcMDAwXDAwMCJ9LAogICAgIHszMjMsICJzdWJzY3JpcHRsaXN0IiwgMCwgMywgc3RhdGVzXzY3LAotICAgICAiXDAwMFwwNDBcMDQwXDAwMlwwMDBcMDAwXDAwMFwwMDBcMDAwXDIwMFwwMDBcMDAwXDAwMFwyMDBcMDIwXDAwMFwwMDBcMjA2XDEyMFwwNzZcMDAwXDAwMCJ9LAorICAgICAiXDAwMFwwNDBcMDQwXDAwMlwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDFcMDAwXDAwMFwwMDBcMDQxXDAwMFwwMDBcMDE0XDI0MVwxNzRcMDAwXDAwMCJ9LAogICAgIHszMjQsICJzdWJzY3JpcHQiLCAwLCA1LCBzdGF0ZXNfNjgsCi0gICAgICJcMDAwXDA0MFwwNDBcMDAyXDAwMFwwMDBcMDAwXDAwMFwwMDBcMjAwXDAwMFwwMDBcMDAwXDIwMFwwMjBcMDAwXDAwMFwyMDZcMTIwXDA3NlwwMDBcMDAwIn0sCisgICAgICJcMDAwXDA0MFwwNDBcMDAyXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMVwwMDBcMDAwXDAwMFwwNDFcMDAwXDAwMFwwMTRcMjQxXDE3NFwwMDBcMDAwIn0sCiAgICAgezMyNSwgInNsaWNlb3AiLCAwLCAzLCBzdGF0ZXNfNjksCiAgICAgICJcMDAwXDAwMFwwMDBcMDAyXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwIn0sCiAgICAgezMyNiwgImV4cHJsaXN0IiwgMCwgMywgc3RhdGVzXzcwLAotICAgICAiXDAwMFwwNDBcMDQwXDIwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDIwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMjA2XDEyMFwwNzZcMDAwXDAwMCJ9LAorICAgICAiXDAwMFwwNDBcMDQwXDIwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDFcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDE0XDI0MVwxNzRcMDAwXDAwMCJ9LAogICAgIHszMjcsICJ0ZXN0bGlzdCIsIDAsIDMsIHN0YXRlc183MSwKLSAgICAgIlwwMDBcMDQwXDA0MFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwyMDBcMDAwXDAwMFwwMDBcMjAwXDAyMFwwMDBcMDAwXDIwNlwxMjBcMDc2XDAwMFwwMDAifSwKKyAgICAgIlwwMDBcMDQwXDA0MFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAxXDAwMFwwMDBcMDAwXDA0MVwwMDBcMDAwXDAxNFwyNDFcMTc0XDAwMFwwMDAifSwKICAgICB7MzI4LCAiZGljdG9yc2V0bWFrZXIiLCAwLCAxMSwgc3RhdGVzXzcyLAotICAgICAiXDAwMFwwNDBcMDQwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDIwMFwwMDBcMDAwXDAwMFwyMDBcMDIwXDAwMFwwMDBcMjA2XDEyMFwwNzZcMDAwXDAwMCJ9LAorICAgICAiXDAwMFwwNDBcMDQwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDFcMDAwXDAwMFwwMDBcMDQxXDAwMFwwMDBcMDE0XDI0MVwxNzRcMDAwXDAwMCJ9LAogICAgIHszMjksICJjbGFzc2RlZiIsIDAsIDgsIHN0YXRlc183MywKLSAgICAgIlwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwNFwwMDAifSwKKyAgICAgIlwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAxMFwwMDAifSwKICAgICB7MzMwLCAiYXJnbGlzdCIsIDAsIDgsIHN0YXRlc183NCwKLSAgICAgIlwwMDBcMDQwXDA0MFwyMDBcMDAxXDAwMFwwMDBcMDAwXDAwMFwyMDBcMDAwXDAwMFwwMDBcMjAwXDAyMFwwMDBcMDAwXDIwNlwxMjBcMDc2XDAwMFwwMDAifSwKKyAgICAgIlwwMDBcMDQwXDA0MFwyMDBcMDAxXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAxXDAwMFwwMDBcMDAwXDA0MVwwMDBcMDAwXDAxNFwyNDFcMTc0XDAwMFwwMDAifSwKICAgICB7MzMxLCAiYXJndW1lbnQiLCAwLCA0LCBzdGF0ZXNfNzUsCi0gICAgICJcMDAwXDA0MFwwNDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMjAwXDAwMFwwMDBcMDAwXDIwMFwwMjBcMDAwXDAwMFwyMDZcMTIwXDA3NlwwMDBcMDAwIn0sCisgICAgICJcMDAwXDA0MFwwNDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMVwwMDBcMDAwXDAwMFwwNDFcMDAwXDAwMFwwMTRcMjQxXDE3NFwwMDBcMDAwIn0sCiAgICAgezMzMiwgImNvbXBfaXRlciIsIDAsIDIsIHN0YXRlc183NiwKLSAgICAgIlwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAyMFwwMDFcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDAifSwKKyAgICAgIlwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDA0MFwwMDJcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDAifSwKICAgICB7MzMzLCAiY29tcF9mb3IiLCAwLCA2LCBzdGF0ZXNfNzcsCi0gICAgICJcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAxXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwIn0sCisgICAgICJcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAyXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwIn0sCiAgICAgezMzNCwgImNvbXBfaWYiLCAwLCA0LCBzdGF0ZXNfNzgsCi0gICAgICJcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMjBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwIn0sCisgICAgICJcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwNDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwIn0sCiAgICAgezMzNSwgImVuY29kaW5nX2RlY2wiLCAwLCAyLCBzdGF0ZXNfNzksCiAgICAgICJcMDAwXDAwMFwwNDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwIn0sCiAgICAgezMzNiwgInlpZWxkX2V4cHIiLCAwLCAzLCBzdGF0ZXNfODAsCi0gICAgICJcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwyMDBcMDAwIn0sCisgICAgICJcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAxIn0sCiAgICAgezMzNywgInlpZWxkX2FyZyIsIDAsIDMsIHN0YXRlc184MSwKLSAgICAgIlwwMDBcMDQwXDA0MFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwyMDJcMDAwXDAwMFwwMDBcMjAwXDAyMFwwMDBcMDAwXDIwNlwxMjBcMDc2XDAwMFwwMDAifSwKKyAgICAgIlwwMDBcMDQwXDA0MFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDRcMDAxXDAwMFwwMDBcMDAwXDA0MVwwMDBcMDAwXDAxNFwyNDFcMTc0XDAwMFwwMDAifSwKIH07Ci1zdGF0aWMgbGFiZWwgbGFiZWxzWzE2OV0gPSB7CitzdGF0aWMgbGFiZWwgbGFiZWxzWzE3MF0gPSB7CiAgICAgezAsICJFTVBUWSJ9LAogICAgIHsyNTYsIDB9LAogICAgIHs0LCAwfSwKQEAgLTIwMDcsNyArMjAwOSw3IEBACiAgICAgezEsICJkZWYifSwKICAgICB7MSwgMH0sCiAgICAgezI2MywgMH0sCi0gICAgezUwLCAwfSwKKyAgICB7NTEsIDB9LAogICAgIHszMDIsIDB9LAogICAgIHsxMSwgMH0sCiAgICAgezMwMSwgMH0sCkBAIC0yMDM2LDYgKzIwMzgsNyBAQAogICAgIHszNiwgMH0sCiAgICAgezM3LCAwfSwKICAgICB7MzgsIDB9LAorICAgIHs1MCwgMH0sCiAgICAgezM5LCAwfSwKICAgICB7NDAsIDB9LAogICAgIHs0MSwgMH0sCkBAIC0yMDYzLDcgKzIwNjYsNyBAQAogICAgIHsxLCAiaW1wb3J0In0sCiAgICAgezI4OCwgMH0sCiAgICAgezIzLCAwfSwKLSAgICB7NTEsIDB9LAorICAgIHs1MiwgMH0sCiAgICAgezI4NywgMH0sCiAgICAgezI4NSwgMH0sCiAgICAgezEsICJhcyJ9LApAQCAtMjE1Nyw2ICsyMTYwLDYgQEAKIGdyYW1tYXIgX1B5UGFyc2VyX0dyYW1tYXIgPSB7CiAgICAgODIsCiAgICAgZGZhcywKLSAgICB7MTY5LCBsYWJlbHN9LAorICAgIHsxNzAsIGxhYmVsc30sCiAgICAgMjU2CiB9OwpkaWZmIC0tZ2l0IGEvUHl0aG9uL2ltcG9ydC5jIGIvUHl0aG9uL2ltcG9ydC5jCmluZGV4IDdlZTdlZDkuLmMzYjllMTIgMTAwNjQ0Ci0tLSBhL1B5dGhvbi9pbXBvcnQuYworKysgYi9QeXRob24vaW1wb3J0LmMKQEAgLTMyLDkgKzMyLDEyIEBACiBzdGF0aWMgUHlPYmplY3QgKmluaXRzdHIgPSBOVUxMOwogCiAvKltjbGluaWMgaW5wdXRdCitvdXRwdXQgcHJlc2V0IGZpbGUKIG1vZHVsZSBfaW1wCiBbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCi0vKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9ZGEzOWEzZWU1ZTZiNGIwZCBpbnB1dD05YzMzMjQ3NWQ4Njg2Mjg0XSovCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9ZGEzOWEzZWU1ZTZiNGIwZCBpbnB1dD05OGMzODIyMTE2NDU3OWQ1XSovCisKKyNpbmNsdWRlICJjbGluaWMvaW1wb3J0LmMuaCIKIAogLypbcHl0aG9uIGlucHV0XQogY2xhc3MgZnNfdW5pY29kZV9jb252ZXJ0ZXIoQ0NvbnZlcnRlcik6CkBAIC0yMzUsMjkgKzIzOCw5IEBACiBPbiBwbGF0Zm9ybXMgd2l0aG91dCB0aHJlYWRzLCByZXR1cm4gRmFsc2UuCiBbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCiAKLVB5RG9jX1NUUlZBUihfaW1wX2xvY2tfaGVsZF9fZG9jX18sCi0ibG9ja19oZWxkKCRtb2R1bGUsIC8pXG4iCi0iLS1cbiIKLSJcbiIKLSJSZXR1cm4gVHJ1ZSBpZiB0aGUgaW1wb3J0IGxvY2sgaXMgY3VycmVudGx5IGhlbGQsIGVsc2UgRmFsc2UuXG4iCi0iXG4iCi0iT24gcGxhdGZvcm1zIHdpdGhvdXQgdGhyZWFkcywgcmV0dXJuIEZhbHNlLiIpOwotCi0jZGVmaW5lIF9JTVBfTE9DS19IRUxEX01FVEhPRERFRiAgICBcCi0gICAgeyJsb2NrX2hlbGQiLCAoUHlDRnVuY3Rpb24pX2ltcF9sb2NrX2hlbGQsIE1FVEhfTk9BUkdTLCBfaW1wX2xvY2tfaGVsZF9fZG9jX199LAotCi1zdGF0aWMgUHlPYmplY3QgKgotX2ltcF9sb2NrX2hlbGRfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlKTsKLQotc3RhdGljIFB5T2JqZWN0ICoKLV9pbXBfbG9ja19oZWxkKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICpQeV9VTlVTRUQoaWdub3JlZCkpCi17Ci0gICAgcmV0dXJuIF9pbXBfbG9ja19oZWxkX2ltcGwobW9kdWxlKTsKLX0KLQogc3RhdGljIFB5T2JqZWN0ICoKIF9pbXBfbG9ja19oZWxkX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSkKLS8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1kYWU2NTY3NDk2NmJhYTY1IGlucHV0PTliMDg4ZjliMjE3ZDliZGZdKi8KKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1kN2E4Y2MzYTUxNjkwODFhIGlucHV0PTliMDg4ZjliMjE3ZDliZGZdKi8KIHsKICNpZmRlZiBXSVRIX1RIUkVBRAogICAgIHJldHVybiBQeUJvb2xfRnJvbUxvbmcoaW1wb3J0X2xvY2tfdGhyZWFkICE9IC0xKTsKQEAgLTI3NSwzMCArMjU4LDkgQEAKIG1vZHVsZXMuIE9uIHBsYXRmb3JtcyB3aXRob3V0IHRocmVhZHMsIHRoaXMgZnVuY3Rpb24gZG9lcyBub3RoaW5nLgogW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLwogCi1QeURvY19TVFJWQVIoX2ltcF9hY3F1aXJlX2xvY2tfX2RvY19fLAotImFjcXVpcmVfbG9jaygkbW9kdWxlLCAvKVxuIgotIi0tXG4iCi0iXG4iCi0iQWNxdWlyZXMgdGhlIGludGVycHJldGVyXCdzIGltcG9ydCBsb2NrIGZvciB0aGUgY3VycmVudCB0aHJlYWQuXG4iCi0iXG4iCi0iVGhpcyBsb2NrIHNob3VsZCBiZSB1c2VkIGJ5IGltcG9ydCBob29rcyB0byBlbnN1cmUgdGhyZWFkLXNhZmV0eSB3aGVuIGltcG9ydGluZ1xuIgotIm1vZHVsZXMuIE9uIHBsYXRmb3JtcyB3aXRob3V0IHRocmVhZHMsIHRoaXMgZnVuY3Rpb24gZG9lcyBub3RoaW5nLiIpOwotCi0jZGVmaW5lIF9JTVBfQUNRVUlSRV9MT0NLX01FVEhPRERFRiAgICBcCi0gICAgeyJhY3F1aXJlX2xvY2siLCAoUHlDRnVuY3Rpb24pX2ltcF9hY3F1aXJlX2xvY2ssIE1FVEhfTk9BUkdTLCBfaW1wX2FjcXVpcmVfbG9ja19fZG9jX199LAotCi1zdGF0aWMgUHlPYmplY3QgKgotX2ltcF9hY3F1aXJlX2xvY2tfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlKTsKLQotc3RhdGljIFB5T2JqZWN0ICoKLV9pbXBfYWNxdWlyZV9sb2NrKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICpQeV9VTlVTRUQoaWdub3JlZCkpCi17Ci0gICAgcmV0dXJuIF9pbXBfYWNxdWlyZV9sb2NrX2ltcGwobW9kdWxlKTsKLX0KLQogc3RhdGljIFB5T2JqZWN0ICoKIF9pbXBfYWNxdWlyZV9sb2NrX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSkKLS8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD00NzhmMWZhMDg5ZmRiOWE0IGlucHV0PTRhMmQ0MzgxODY2ZDVmZGNdKi8KKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1jYzE0M2IxZDE2NDIyY2FlIGlucHV0PTRhMmQ0MzgxODY2ZDVmZGNdKi8KIHsKICNpZmRlZiBXSVRIX1RIUkVBRAogICAgIF9QeUltcG9ydF9BY3F1aXJlTG9jaygpOwpAQCAtMzE1LDI5ICsyNzcsOSBAQAogT24gcGxhdGZvcm1zIHdpdGhvdXQgdGhyZWFkcywgdGhpcyBmdW5jdGlvbiBkb2VzIG5vdGhpbmcuCiBbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCiAKLVB5RG9jX1NUUlZBUihfaW1wX3JlbGVhc2VfbG9ja19fZG9jX18sCi0icmVsZWFzZV9sb2NrKCRtb2R1bGUsIC8pXG4iCi0iLS1cbiIKLSJcbiIKLSJSZWxlYXNlIHRoZSBpbnRlcnByZXRlclwncyBpbXBvcnQgbG9jay5cbiIKLSJcbiIKLSJPbiBwbGF0Zm9ybXMgd2l0aG91dCB0aHJlYWRzLCB0aGlzIGZ1bmN0aW9uIGRvZXMgbm90aGluZy4iKTsKLQotI2RlZmluZSBfSU1QX1JFTEVBU0VfTE9DS19NRVRIT0RERUYgICAgXAotICAgIHsicmVsZWFzZV9sb2NrIiwgKFB5Q0Z1bmN0aW9uKV9pbXBfcmVsZWFzZV9sb2NrLCBNRVRIX05PQVJHUywgX2ltcF9yZWxlYXNlX2xvY2tfX2RvY19ffSwKLQotc3RhdGljIFB5T2JqZWN0ICoKLV9pbXBfcmVsZWFzZV9sb2NrX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSk7Ci0KLXN0YXRpYyBQeU9iamVjdCAqCi1faW1wX3JlbGVhc2VfbG9jayhQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqUHlfVU5VU0VEKGlnbm9yZWQpKQotewotICAgIHJldHVybiBfaW1wX3JlbGVhc2VfbG9ja19pbXBsKG1vZHVsZSk7Ci19Ci0KIHN0YXRpYyBQeU9iamVjdCAqCiBfaW1wX3JlbGVhc2VfbG9ja19pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUpCi0vKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9MzZjNzdhNjgzMmZkYWZkNCBpbnB1dD05MzRmYjExNTE2ZGQ3NzhiXSovCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9NzRkMjhlMzhlYmUyYjIyNCBpbnB1dD05MzRmYjExNTE2ZGQ3NzhiXSovCiB7CiAjaWZkZWYgV0lUSF9USFJFQUQKICAgICBpZiAoX1B5SW1wb3J0X1JlbGVhc2VMb2NrKCkgPCAwKSB7CkBAIC05NjIsNDMgKzkwNCw5IEBACiBDaGFuZ2VzIGNvZGUuY29fZmlsZW5hbWUgdG8gc3BlY2lmeSB0aGUgcGFzc2VkLWluIGZpbGUgcGF0aC4KIFtjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KIAotUHlEb2NfU1RSVkFSKF9pbXBfX2ZpeF9jb19maWxlbmFtZV9fZG9jX18sCi0iX2ZpeF9jb19maWxlbmFtZSgkbW9kdWxlLCBjb2RlLCBwYXRoLCAvKVxuIgotIi0tXG4iCi0iXG4iCi0iQ2hhbmdlcyBjb2RlLmNvX2ZpbGVuYW1lIHRvIHNwZWNpZnkgdGhlIHBhc3NlZC1pbiBmaWxlIHBhdGguXG4iCi0iXG4iCi0iICBjb2RlXG4iCi0iICAgIENvZGUgb2JqZWN0IHRvIGNoYW5nZS5cbiIKLSIgIHBhdGhcbiIKLSIgICAgRmlsZSBwYXRoIHRvIHVzZS4iKTsKLQotI2RlZmluZSBfSU1QX19GSVhfQ09fRklMRU5BTUVfTUVUSE9EREVGICAgIFwKLSAgICB7Il9maXhfY29fZmlsZW5hbWUiLCAoUHlDRnVuY3Rpb24pX2ltcF9fZml4X2NvX2ZpbGVuYW1lLCBNRVRIX1ZBUkFSR1MsIF9pbXBfX2ZpeF9jb19maWxlbmFtZV9fZG9jX199LAotCi1zdGF0aWMgUHlPYmplY3QgKgotX2ltcF9fZml4X2NvX2ZpbGVuYW1lX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlDb2RlT2JqZWN0ICpjb2RlLCBQeU9iamVjdCAqcGF0aCk7Ci0KLXN0YXRpYyBQeU9iamVjdCAqCi1faW1wX19maXhfY29fZmlsZW5hbWUoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MpCi17Ci0gICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7Ci0gICAgUHlDb2RlT2JqZWN0ICpjb2RlOwotICAgIFB5T2JqZWN0ICpwYXRoOwotCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCi0gICAgICAgICJPIVU6X2ZpeF9jb19maWxlbmFtZSIsCi0gICAgICAgICZQeUNvZGVfVHlwZSwgJmNvZGUsICZwYXRoKSkKLSAgICAgICAgZ290byBleGl0OwotICAgIHJldHVybl92YWx1ZSA9IF9pbXBfX2ZpeF9jb19maWxlbmFtZV9pbXBsKG1vZHVsZSwgY29kZSwgcGF0aCk7Ci0KLWV4aXQ6Ci0gICAgcmV0dXJuIHJldHVybl92YWx1ZTsKLX0KLQogc3RhdGljIFB5T2JqZWN0ICoKIF9pbXBfX2ZpeF9jb19maWxlbmFtZV9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5Q29kZU9iamVjdCAqY29kZSwgUHlPYmplY3QgKnBhdGgpCi0vKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9NmI0YjFlZGViMGQ1NWM1ZCBpbnB1dD04OTViYTUwZTc4YjgyZjA1XSovCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9N2FmZTViYTZiOWQzODNlNCBpbnB1dD04OTViYTUwZTc4YjgyZjA1XSovCiAKIHsKICAgICB1cGRhdGVfY29tcGlsZWRfbW9kdWxlKGNvZGUsIHBhdGgpOwpAQCAtMTg2MCwyNyArMTc2OCw5IEBACiBSZXR1cm5zIHRoZSBsaXN0IG9mIGZpbGUgc3VmZml4ZXMgdXNlZCB0byBpZGVudGlmeSBleHRlbnNpb24gbW9kdWxlcy4KIFtjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KIAotUHlEb2NfU1RSVkFSKF9pbXBfZXh0ZW5zaW9uX3N1ZmZpeGVzX19kb2NfXywKLSJleHRlbnNpb25fc3VmZml4ZXMoJG1vZHVsZSwgLylcbiIKLSItLVxuIgotIlxuIgotIlJldHVybnMgdGhlIGxpc3Qgb2YgZmlsZSBzdWZmaXhlcyB1c2VkIHRvIGlkZW50aWZ5IGV4dGVuc2lvbiBtb2R1bGVzLiIpOwotCi0jZGVmaW5lIF9JTVBfRVhURU5TSU9OX1NVRkZJWEVTX01FVEhPRERFRiAgICBcCi0gICAgeyJleHRlbnNpb25fc3VmZml4ZXMiLCAoUHlDRnVuY3Rpb24pX2ltcF9leHRlbnNpb25fc3VmZml4ZXMsIE1FVEhfTk9BUkdTLCBfaW1wX2V4dGVuc2lvbl9zdWZmaXhlc19fZG9jX199LAotCi1zdGF0aWMgUHlPYmplY3QgKgotX2ltcF9leHRlbnNpb25fc3VmZml4ZXNfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlKTsKLQotc3RhdGljIFB5T2JqZWN0ICoKLV9pbXBfZXh0ZW5zaW9uX3N1ZmZpeGVzKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICpQeV9VTlVTRUQoaWdub3JlZCkpCi17Ci0gICAgcmV0dXJuIF9pbXBfZXh0ZW5zaW9uX3N1ZmZpeGVzX2ltcGwobW9kdWxlKTsKLX0KLQogc3RhdGljIFB5T2JqZWN0ICoKIF9pbXBfZXh0ZW5zaW9uX3N1ZmZpeGVzX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSkKLS8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1iYjMwYTI0MzgxNjc3OThjIGlucHV0PWVjZGVlZWNmY2I2ZjgzOWVdKi8KKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1kNDRjMTU2NmVmMzYyMjI5IGlucHV0PWVjZGVlZWNmY2I2ZjgzOWVdKi8KIHsKICAgICBQeU9iamVjdCAqbGlzdDsKICAgICBjb25zdCBjaGFyICpzdWZmaXg7CkBAIC0xOTE3LDM3ICsxODA3LDkgQEAKIEluaXRpYWxpemVzIGEgYnVpbHQtaW4gbW9kdWxlLgogW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLwogCi1QeURvY19TVFJWQVIoX2ltcF9pbml0X2J1aWx0aW5fX2RvY19fLAotImluaXRfYnVpbHRpbigkbW9kdWxlLCBuYW1lLCAvKVxuIgotIi0tXG4iCi0iXG4iCi0iSW5pdGlhbGl6ZXMgYSBidWlsdC1pbiBtb2R1bGUuIik7Ci0KLSNkZWZpbmUgX0lNUF9JTklUX0JVSUxUSU5fTUVUSE9EREVGICAgIFwKLSAgICB7ImluaXRfYnVpbHRpbiIsIChQeUNGdW5jdGlvbilfaW1wX2luaXRfYnVpbHRpbiwgTUVUSF9WQVJBUkdTLCBfaW1wX2luaXRfYnVpbHRpbl9fZG9jX199LAotCi1zdGF0aWMgUHlPYmplY3QgKgotX2ltcF9pbml0X2J1aWx0aW5faW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqbmFtZSk7Ci0KLXN0YXRpYyBQeU9iamVjdCAqCi1faW1wX2luaXRfYnVpbHRpbihQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncykKLXsKLSAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKLSAgICBQeU9iamVjdCAqbmFtZTsKLQotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAotICAgICAgICAiVTppbml0X2J1aWx0aW4iLAotICAgICAgICAmbmFtZSkpCi0gICAgICAgIGdvdG8gZXhpdDsKLSAgICByZXR1cm5fdmFsdWUgPSBfaW1wX2luaXRfYnVpbHRpbl9pbXBsKG1vZHVsZSwgbmFtZSk7Ci0KLWV4aXQ6Ci0gICAgcmV0dXJuIHJldHVybl92YWx1ZTsKLX0KLQogc3RhdGljIFB5T2JqZWN0ICoKIF9pbXBfaW5pdF9idWlsdGluX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKm5hbWUpCi0vKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9YTAyNDQ5NDhhNDNmOGUyNiBpbnB1dD1mOTM0ZDIyMzFlYzUyYTJlXSovCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9MTg2OGY0NzM2ODVmNmQ2NyBpbnB1dD1mOTM0ZDIyMzFlYzUyYTJlXSovCiB7CiAgICAgaW50IHJldDsKICAgICBQeU9iamVjdCAqbTsKQEAgLTE5NzMsMzcgKzE4MzUsOSBAQAogSW5pdGlhbGl6ZXMgYSBmcm96ZW4gbW9kdWxlLgogW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLwogCi1QeURvY19TVFJWQVIoX2ltcF9pbml0X2Zyb3plbl9fZG9jX18sCi0iaW5pdF9mcm96ZW4oJG1vZHVsZSwgbmFtZSwgLylcbiIKLSItLVxuIgotIlxuIgotIkluaXRpYWxpemVzIGEgZnJvemVuIG1vZHVsZS4iKTsKLQotI2RlZmluZSBfSU1QX0lOSVRfRlJPWkVOX01FVEhPRERFRiAgICBcCi0gICAgeyJpbml0X2Zyb3plbiIsIChQeUNGdW5jdGlvbilfaW1wX2luaXRfZnJvemVuLCBNRVRIX1ZBUkFSR1MsIF9pbXBfaW5pdF9mcm96ZW5fX2RvY19ffSwKLQotc3RhdGljIFB5T2JqZWN0ICoKLV9pbXBfaW5pdF9mcm96ZW5faW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqbmFtZSk7Ci0KLXN0YXRpYyBQeU9iamVjdCAqCi1faW1wX2luaXRfZnJvemVuKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzKQotewotICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOwotICAgIFB5T2JqZWN0ICpuYW1lOwotCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCi0gICAgICAgICJVOmluaXRfZnJvemVuIiwKLSAgICAgICAgJm5hbWUpKQotICAgICAgICBnb3RvIGV4aXQ7Ci0gICAgcmV0dXJuX3ZhbHVlID0gX2ltcF9pbml0X2Zyb3plbl9pbXBsKG1vZHVsZSwgbmFtZSk7Ci0KLWV4aXQ6Ci0gICAgcmV0dXJuIHJldHVybl92YWx1ZTsKLX0KLQogc3RhdGljIFB5T2JqZWN0ICoKIF9pbXBfaW5pdF9mcm96ZW5faW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqbmFtZSkKLS8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1lNGJjMmJmZjI5NmY4ZjIyIGlucHV0PTEzMDE5YWRmYzA0ZjNmYjNdKi8KKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1hOWRlNDkzYmRkNzExODc4IGlucHV0PTEzMDE5YWRmYzA0ZjNmYjNdKi8KIHsKICAgICBpbnQgcmV0OwogICAgIFB5T2JqZWN0ICptOwpAQCAtMjAyOSwzNyArMTg2Myw5IEBACiBDcmVhdGUgYSBjb2RlIG9iamVjdCBmb3IgYSBmcm96ZW4gbW9kdWxlLgogW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLwogCi1QeURvY19TVFJWQVIoX2ltcF9nZXRfZnJvemVuX29iamVjdF9fZG9jX18sCi0iZ2V0X2Zyb3plbl9vYmplY3QoJG1vZHVsZSwgbmFtZSwgLylcbiIKLSItLVxuIgotIlxuIgotIkNyZWF0ZSBhIGNvZGUgb2JqZWN0IGZvciBhIGZyb3plbiBtb2R1bGUuIik7Ci0KLSNkZWZpbmUgX0lNUF9HRVRfRlJPWkVOX09CSkVDVF9NRVRIT0RERUYgICAgXAotICAgIHsiZ2V0X2Zyb3plbl9vYmplY3QiLCAoUHlDRnVuY3Rpb24pX2ltcF9nZXRfZnJvemVuX29iamVjdCwgTUVUSF9WQVJBUkdTLCBfaW1wX2dldF9mcm96ZW5fb2JqZWN0X19kb2NfX30sCi0KLXN0YXRpYyBQeU9iamVjdCAqCi1faW1wX2dldF9mcm96ZW5fb2JqZWN0X2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKm5hbWUpOwotCi1zdGF0aWMgUHlPYmplY3QgKgotX2ltcF9nZXRfZnJvemVuX29iamVjdChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqYXJncykKLXsKLSAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKLSAgICBQeU9iamVjdCAqbmFtZTsKLQotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAotICAgICAgICAiVTpnZXRfZnJvemVuX29iamVjdCIsCi0gICAgICAgICZuYW1lKSkKLSAgICAgICAgZ290byBleGl0OwotICAgIHJldHVybl92YWx1ZSA9IF9pbXBfZ2V0X2Zyb3plbl9vYmplY3RfaW1wbChtb2R1bGUsIG5hbWUpOwotCi1leGl0OgotICAgIHJldHVybiByZXR1cm5fdmFsdWU7Ci19Ci0KIHN0YXRpYyBQeU9iamVjdCAqCiBfaW1wX2dldF9mcm96ZW5fb2JqZWN0X2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKm5hbWUpCi0vKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9NDA4OWVjNzAyYTlkNzBjNSBpbnB1dD1lZDY4OWJjMDUzNThmZGJkXSovCisvKltjbGluaWMgZW5kIGdlbmVyYXRlZCBjb2RlOiBvdXRwdXQ9MzExNGM5NzBhNDdmMmUzYyBpbnB1dD1lZDY4OWJjMDUzNThmZGJkXSovCiB7CiAgICAgcmV0dXJuIGdldF9mcm96ZW5fb2JqZWN0KG5hbWUpOwogfQpAQCAtMjA3MywzNyArMTg3OSw5IEBACiBSZXR1cm5zIFRydWUgaWYgdGhlIG1vZHVsZSBuYW1lIGlzIG9mIGEgZnJvemVuIHBhY2thZ2UuCiBbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCiAKLVB5RG9jX1NUUlZBUihfaW1wX2lzX2Zyb3plbl9wYWNrYWdlX19kb2NfXywKLSJpc19mcm96ZW5fcGFja2FnZSgkbW9kdWxlLCBuYW1lLCAvKVxuIgotIi0tXG4iCi0iXG4iCi0iUmV0dXJucyBUcnVlIGlmIHRoZSBtb2R1bGUgbmFtZSBpcyBvZiBhIGZyb3plbiBwYWNrYWdlLiIpOwotCi0jZGVmaW5lIF9JTVBfSVNfRlJPWkVOX1BBQ0tBR0VfTUVUSE9EREVGICAgIFwKLSAgICB7ImlzX2Zyb3plbl9wYWNrYWdlIiwgKFB5Q0Z1bmN0aW9uKV9pbXBfaXNfZnJvemVuX3BhY2thZ2UsIE1FVEhfVkFSQVJHUywgX2ltcF9pc19mcm96ZW5fcGFja2FnZV9fZG9jX199LAotCi1zdGF0aWMgUHlPYmplY3QgKgotX2ltcF9pc19mcm96ZW5fcGFja2FnZV9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICpuYW1lKTsKLQotc3RhdGljIFB5T2JqZWN0ICoKLV9pbXBfaXNfZnJvemVuX3BhY2thZ2UoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MpCi17Ci0gICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7Ci0gICAgUHlPYmplY3QgKm5hbWU7Ci0KLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKLSAgICAgICAgIlU6aXNfZnJvemVuX3BhY2thZ2UiLAotICAgICAgICAmbmFtZSkpCi0gICAgICAgIGdvdG8gZXhpdDsKLSAgICByZXR1cm5fdmFsdWUgPSBfaW1wX2lzX2Zyb3plbl9wYWNrYWdlX2ltcGwobW9kdWxlLCBuYW1lKTsKLQotZXhpdDoKLSAgICByZXR1cm4gcmV0dXJuX3ZhbHVlOwotfQotCiBzdGF0aWMgUHlPYmplY3QgKgogX2ltcF9pc19mcm96ZW5fcGFja2FnZV9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICpuYW1lKQotLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTg2YWFiMTRkY2Q0Yjk1OWIgaW5wdXQ9ODFiNmNkZWNkMDgwZmJiOF0qLworLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTNlNGNhYjgwMmI1NmQ2NDkgaW5wdXQ9ODFiNmNkZWNkMDgwZmJiOF0qLwogewogICAgIHJldHVybiBpc19mcm96ZW5fcGFja2FnZShuYW1lKTsKIH0KQEAgLTIxMTcsMzcgKzE4OTUsOSBAQAogUmV0dXJucyBUcnVlIGlmIHRoZSBtb2R1bGUgbmFtZSBjb3JyZXNwb25kcyB0byBhIGJ1aWx0LWluIG1vZHVsZS4KIFtjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KIAotUHlEb2NfU1RSVkFSKF9pbXBfaXNfYnVpbHRpbl9fZG9jX18sCi0iaXNfYnVpbHRpbigkbW9kdWxlLCBuYW1lLCAvKVxuIgotIi0tXG4iCi0iXG4iCi0iUmV0dXJucyBUcnVlIGlmIHRoZSBtb2R1bGUgbmFtZSBjb3JyZXNwb25kcyB0byBhIGJ1aWx0LWluIG1vZHVsZS4iKTsKLQotI2RlZmluZSBfSU1QX0lTX0JVSUxUSU5fTUVUSE9EREVGICAgIFwKLSAgICB7ImlzX2J1aWx0aW4iLCAoUHlDRnVuY3Rpb24pX2ltcF9pc19idWlsdGluLCBNRVRIX1ZBUkFSR1MsIF9pbXBfaXNfYnVpbHRpbl9fZG9jX199LAotCi1zdGF0aWMgUHlPYmplY3QgKgotX2ltcF9pc19idWlsdGluX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKm5hbWUpOwotCi1zdGF0aWMgUHlPYmplY3QgKgotX2ltcF9pc19idWlsdGluKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzKQotewotICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOwotICAgIFB5T2JqZWN0ICpuYW1lOwotCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCi0gICAgICAgICJVOmlzX2J1aWx0aW4iLAotICAgICAgICAmbmFtZSkpCi0gICAgICAgIGdvdG8gZXhpdDsKLSAgICByZXR1cm5fdmFsdWUgPSBfaW1wX2lzX2J1aWx0aW5faW1wbChtb2R1bGUsIG5hbWUpOwotCi1leGl0OgotICAgIHJldHVybiByZXR1cm5fdmFsdWU7Ci19Ci0KIHN0YXRpYyBQeU9iamVjdCAqCiBfaW1wX2lzX2J1aWx0aW5faW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqbmFtZSkKLS8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD1kNTg0N2Y4Y2FjNTA5NDZlIGlucHV0PTg2YmVmZGFjMDIxZGQxYzddKi8KKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD0yZGVlYzljYWM2ZmI5YTdlIGlucHV0PTg2YmVmZGFjMDIxZGQxYzddKi8KIHsKICAgICByZXR1cm4gUHlMb25nX0Zyb21Mb25nKGlzX2J1aWx0aW4obmFtZSkpOwogfQpAQCAtMjE2MSwzNyArMTkxMSw5IEBACiBSZXR1cm5zIFRydWUgaWYgdGhlIG1vZHVsZSBuYW1lIGNvcnJlc3BvbmRzIHRvIGEgZnJvemVuIG1vZHVsZS4KIFtjbGluaWMgc3RhcnQgZ2VuZXJhdGVkIGNvZGVdKi8KIAotUHlEb2NfU1RSVkFSKF9pbXBfaXNfZnJvemVuX19kb2NfXywKLSJpc19mcm96ZW4oJG1vZHVsZSwgbmFtZSwgLylcbiIKLSItLVxuIgotIlxuIgotIlJldHVybnMgVHJ1ZSBpZiB0aGUgbW9kdWxlIG5hbWUgY29ycmVzcG9uZHMgdG8gYSBmcm96ZW4gbW9kdWxlLiIpOwotCi0jZGVmaW5lIF9JTVBfSVNfRlJPWkVOX01FVEhPRERFRiAgICBcCi0gICAgeyJpc19mcm96ZW4iLCAoUHlDRnVuY3Rpb24pX2ltcF9pc19mcm96ZW4sIE1FVEhfVkFSQVJHUywgX2ltcF9pc19mcm96ZW5fX2RvY19ffSwKLQotc3RhdGljIFB5T2JqZWN0ICoKLV9pbXBfaXNfZnJvemVuX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKm5hbWUpOwotCi1zdGF0aWMgUHlPYmplY3QgKgotX2ltcF9pc19mcm96ZW4oUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKmFyZ3MpCi17Ci0gICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7Ci0gICAgUHlPYmplY3QgKm5hbWU7Ci0KLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKLSAgICAgICAgIlU6aXNfZnJvemVuIiwKLSAgICAgICAgJm5hbWUpKQotICAgICAgICBnb3RvIGV4aXQ7Ci0gICAgcmV0dXJuX3ZhbHVlID0gX2ltcF9pc19mcm96ZW5faW1wbChtb2R1bGUsIG5hbWUpOwotCi1leGl0OgotICAgIHJldHVybiByZXR1cm5fdmFsdWU7Ci19Ci0KIHN0YXRpYyBQeU9iamVjdCAqCiBfaW1wX2lzX2Zyb3plbl9pbXBsKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICpuYW1lKQotLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTY2OTFhZjg4NGJhNDk4N2QgaW5wdXQ9NzMwMWRiY2ExODk3ZDY2Yl0qLworLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PTdkZThlMjYwYzhlMzZhZWQgaW5wdXQ9NzMwMWRiY2ExODk3ZDY2Yl0qLwogewogICAgIGNvbnN0IHN0cnVjdCBfZnJvemVuICpwOwogCkBAIC0yMjEyLDM5ICsxOTM0LDkgQEAKIExvYWRzIGFuIGV4dGVuc2lvbiBtb2R1bGUuCiBbY2xpbmljIHN0YXJ0IGdlbmVyYXRlZCBjb2RlXSovCiAKLVB5RG9jX1NUUlZBUihfaW1wX2xvYWRfZHluYW1pY19fZG9jX18sCi0ibG9hZF9keW5hbWljKCRtb2R1bGUsIG5hbWUsIHBhdGgsIGZpbGU9Tm9uZSwgLylcbiIKLSItLVxuIgotIlxuIgotIkxvYWRzIGFuIGV4dGVuc2lvbiBtb2R1bGUuIik7Ci0KLSNkZWZpbmUgX0lNUF9MT0FEX0RZTkFNSUNfTUVUSE9EREVGICAgIFwKLSAgICB7ImxvYWRfZHluYW1pYyIsIChQeUNGdW5jdGlvbilfaW1wX2xvYWRfZHluYW1pYywgTUVUSF9WQVJBUkdTLCBfaW1wX2xvYWRfZHluYW1pY19fZG9jX199LAotCi1zdGF0aWMgUHlPYmplY3QgKgotX2ltcF9sb2FkX2R5bmFtaWNfaW1wbChQeU1vZHVsZURlZiAqbW9kdWxlLCBQeU9iamVjdCAqbmFtZSwgUHlPYmplY3QgKnBhdGgsIFB5T2JqZWN0ICpmaWxlKTsKLQotc3RhdGljIFB5T2JqZWN0ICoKLV9pbXBfbG9hZF9keW5hbWljKFB5TW9kdWxlRGVmICptb2R1bGUsIFB5T2JqZWN0ICphcmdzKQotewotICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOwotICAgIFB5T2JqZWN0ICpuYW1lOwotICAgIFB5T2JqZWN0ICpwYXRoOwotICAgIFB5T2JqZWN0ICpmaWxlID0gTlVMTDsKLQotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAotICAgICAgICAiVU8mfE86bG9hZF9keW5hbWljIiwKLSAgICAgICAgJm5hbWUsIFB5VW5pY29kZV9GU0RlY29kZXIsICZwYXRoLCAmZmlsZSkpCi0gICAgICAgIGdvdG8gZXhpdDsKLSAgICByZXR1cm5fdmFsdWUgPSBfaW1wX2xvYWRfZHluYW1pY19pbXBsKG1vZHVsZSwgbmFtZSwgcGF0aCwgZmlsZSk7Ci0KLWV4aXQ6Ci0gICAgcmV0dXJuIHJldHVybl92YWx1ZTsKLX0KLQogc3RhdGljIFB5T2JqZWN0ICoKIF9pbXBfbG9hZF9keW5hbWljX2ltcGwoUHlNb2R1bGVEZWYgKm1vZHVsZSwgUHlPYmplY3QgKm5hbWUsIFB5T2JqZWN0ICpwYXRoLCBQeU9iamVjdCAqZmlsZSkKLS8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD04MWQxMWExZmJkMWVhMGE4IGlucHV0PWFmNjRmMDZlNGJhZDM1MjZdKi8KKy8qW2NsaW5pYyBlbmQgZ2VuZXJhdGVkIGNvZGU6IG91dHB1dD04YjdhZTQzMWQ3OTVlMWJhIGlucHV0PWFmNjRmMDZlNGJhZDM1MjZdKi8KIHsKICAgICBQeU9iamVjdCAqbW9kOwogICAgIEZJTEUgKmZwOwpAQCAtMjI3MiwxMSArMTk2NCw3IEBACiAvKltjbGluaWMgaW5wdXRdCiBkdW1wIGJ1ZmZlcgogW2NsaW5pYyBzdGFydCBnZW5lcmF0ZWQgY29kZV0qLwotCi0jaWZuZGVmIF9JTVBfTE9BRF9EWU5BTUlDX01FVEhPRERFRgotICAgICNkZWZpbmUgX0lNUF9MT0FEX0RZTkFNSUNfTUVUSE9EREVGCi0jZW5kaWYgLyogIWRlZmluZWQoX0lNUF9MT0FEX0RZTkFNSUNfTUVUSE9EREVGKSAqLwotLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWQwN2MxZDRhMzQzYTk1NzkgaW5wdXQ9NTI0Y2UyZTAyMWU0ZWJhNl0qLworLypbY2xpbmljIGVuZCBnZW5lcmF0ZWQgY29kZTogb3V0cHV0PWRhMzlhM2VlNWU2YjRiMGQgaW5wdXQ9NTI0Y2UyZTAyMWU0ZWJhNl0qLwogCiAKIFB5RG9jX1NUUlZBUihkb2NfaW1wLApAQCAtMjM3Niw3ICsyMDY0LDcgQEAKIAogICAgIG1lbXNldChuZXd0YWIsICdcMCcsIHNpemVvZiBuZXd0YWIpOwogCi0gICAgbmV3dGFiWzBdLm5hbWUgPSAoY2hhciAqKW5hbWU7CisgICAgbmV3dGFiWzBdLm5hbWUgPSBuYW1lOwogICAgIG5ld3RhYlswXS5pbml0ZnVuYyA9IGluaXRmdW5jOwogCiAgICAgcmV0dXJuIFB5SW1wb3J0X0V4dGVuZEluaXR0YWIobmV3dGFiKTsKQEAgLTIzODUsNCArMjA3MywzIEBACiAjaWZkZWYgX19jcGx1c3BsdXMKIH0KICNlbmRpZgotCmRpZmYgLS1naXQgYS9QeXRob24vaW1wb3J0bGliLmggYi9QeXRob24vaW1wb3J0bGliLmgKaW5kZXggZWY4YmYyNy4uMDE1NGE3OCAxMDA2NDQKLS0tIGEvUHl0aG9uL2ltcG9ydGxpYi5oCisrKyBiL1B5dGhvbi9pbXBvcnRsaWIuaApAQCAtMSw4ICsxLDggQEAKLS8qIEF1dG8tZ2VuZXJhdGVkIGJ5IE1vZHVsZXMvX2ZyZWV6ZV9pbXBvcnRsaWIuYyAqLworLyogQXV0by1nZW5lcmF0ZWQgYnkgUHJvZ3JhbXMvX2ZyZWV6ZV9pbXBvcnRsaWIuYyAqLwogY29uc3QgdW5zaWduZWQgY2hhciBfUHlfTV9faW1wb3J0bGliW10gPSB7CiAgICAgOTksMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsNywwLDAsCi0gICAgMCw2NCwwLDAsMCwxMTUsMjI4LDQsMCwwLDEwMCwwLDAsOTAsMCwwLAotICAgIDEwMCwxNjMsMCw5MCwxLDAsMTAwLDQsMCwxMDAsNSwwLDEzMiwwLDAsOTAsCisgICAgMCw2NCwwLDAsMCwxMTUsNDMsNSwwLDAsMTAwLDAsMCw5MCwwLDAsCisgICAgMTAwLDE3NywwLDkwLDEsMCwxMDAsNCwwLDEwMCw1LDAsMTMyLDAsMCw5MCwKICAgICAyLDAsMTAwLDYsMCwxMDAsNywwLDEzMiwwLDAsOTAsMywwLDEwMCw4LAogICAgIDAsMTAwLDksMCwxMzIsMCwwLDkwLDQsMCwxMDAsMTAsMCwxMDAsMTEsMCwKICAgICAxMzIsMCwwLDkwLDUsMCwxMDAsMTIsMCwxMDAsMTMsMCwxMzIsMCwwLDkwLApAQCAtNDYsMTIyMyArNDYsMTIyMSBAQAogICAgIDEzMiwwLDIsOTAsNTQsMCwxMDEsNTUsMCwxMzEsMCwwLDkwLDU2LDAsMTAwLAogICAgIDUzLDAsMTAwLDk1LDAsMTAwLDUzLDAsMTAwLDk2LDAsMTAxLDU2LDAsMTAwLDk3LAogICAgIDAsMTAwLDk4LDAsMTMyLDEsMiw5MCw1NywwLDEwMCw1MywwLDEwMCw1MywwLAotICAgIDEwMCw5OSwwLDEwMCwxMDAsMCwxMzIsMiwwLDkwLDU4LDAsNzEsMTAwLDEwMSwwLAotICAgIDEwMCwxMDIsMCwxMzIsMCwwLDEwMCwxMDIsMCwxMzEsMiwwLDkwLDU5LDAsMTAwLAotICAgIDUzLDAsMTAwLDEwMywwLDEwMCwxMDQsMCwxMzIsMSwwLDkwLDYwLDAsNzEsMTAwLAotICAgIDEwNSwwLDEwMCwxMDYsMCwxMzIsMCwwLDEwMCwxMDYsMCwxMzEsMiwwLDkwLDYxLAotICAgIDAsNzEsMTAwLDEwNywwLDEwMCwxMDgsMCwxMzIsMCwwLDEwMCwxMDgsMCwxMzEsMiwKLSAgICAwLDkwLDYyLDAsNzEsMTAwLDEwOSwwLDEwMCwxMTAsMCwxMzIsMCwwLDEwMCwxMTAsCi0gICAgMCwxMzEsMiwwLDkwLDYzLDAsNzEsMTAwLDExMSwwLDEwMCwxMTIsMCwxMzIsMCwKLSAgICAwLDEwMCwxMTIsMCwxMzEsMiwwLDkwLDY0LDAsNzEsMTAwLDExMywwLDEwMCwxMTQsCi0gICAgMCwxMzIsMCwwLDEwMCwxMTQsMCwxMDEsNjQsMCwxMzEsMywwLDkwLDY1LDAsCi0gICAgNzEsMTAwLDExNSwwLDEwMCwxMTYsMCwxMzIsMCwwLDEwMCwxMTYsMCwxMzEsMiwwLAotICAgIDkwLDY2LDAsNzEsMTAwLDExNywwLDEwMCwxMTgsMCwxMzIsMCwwLDEwMCwxMTgsMCwKLSAgICAxMDEsNjYsMCwxMDEsNjUsMCwxMzEsNCwwLDkwLDY3LDAsNzEsMTAwLDExOSwwLAotICAgIDEwMCwxMjAsMCwxMzIsMCwwLDEwMCwxMjAsMCwxMDEsNjYsMCwxMDEsNjQsMCwxMzEsCi0gICAgNCwwLDkwLDY4LDAsMTAzLDAsMCw5MCw2OSwwLDcxLDEwMCwxMjEsMCwxMDAsCi0gICAgMTIyLDAsMTMyLDAsMCwxMDAsMTIyLDAsMTMxLDIsMCw5MCw3MCwwLDcxLDEwMCwKLSAgICAxMjMsMCwxMDAsMTI0LDAsMTMyLDAsMCwxMDAsMTI0LDAsMTMxLDIsMCw5MCw3MSwKLSAgICAwLDcxLDEwMCwxMjUsMCwxMDAsMTI2LDAsMTMyLDAsMCwxMDAsMTI2LDAsMTMxLDIsCi0gICAgMCw5MCw3MiwwLDcxLDEwMCwxMjcsMCwxMDAsMTI4LDAsMTMyLDAsMCwxMDAsMTI4LAotICAgIDAsMTMxLDIsMCw5MCw3MywwLDcxLDEwMCwxMjksMCwxMDAsMTMwLDAsMTMyLDAsCi0gICAgMCwxMDAsMTMwLDAsMTMxLDIsMCw5MCw3NCwwLDcxLDEwMCwxMzEsMCwxMDAsMTMyLAotICAgIDAsMTMyLDAsMCwxMDAsMTMyLDAsMTMxLDIsMCw5MCw3NSwwLDEwMCwxMzMsMCwKLSAgICAxMDAsMTM0LDAsMTMyLDAsMCw5MCw3NiwwLDEwMCwxMzUsMCwxMDAsMTM2LDAsMTMyLAotICAgIDAsMCw5MCw3NywwLDEwMCw1MywwLDEwMCwxMzcsMCwxMDAsMTM4LDAsMTMyLDEsCi0gICAgMCw5MCw3OCwwLDEwMCwxMzksMCwxMDAsMTQwLDAsMTMyLDAsMCw5MCw3OSwwLAotICAgIDEwMCwxNDEsMCw5MCw4MCwwLDEwMSw4MCwwLDEwMCwxNDIsMCwyMyw5MCw4MSwwLAotICAgIDEwMCwxNDMsMCwxMDAsMTQ0LDAsMTMyLDAsMCw5MCw4MiwwLDEwMCwxNDUsMCwxMDAsCi0gICAgMTQ2LDAsMTMyLDAsMCw5MCw4MywwLDEwMCw1MywwLDEwMCw4MCwwLDEwMCwxNDcsCi0gICAgMCwxMDAsMTQ4LDAsMTMyLDIsMCw5MCw4NCwwLDEwMCwxNDksMCwxMDAsMTUwLDAsCi0gICAgMTMyLDAsMCw5MCw4NSwwLDEwMCwxNTEsMCwxMDAsMTUyLDAsMTMyLDAsMCw5MCwKLSAgICA4NiwwLDEwMCwxNTMsMCwxMDAsMTU0LDAsMTMyLDAsMCw5MCw4NywwLDEwMCw1MywKLSAgICAwLDEwMCw1MywwLDEwMiwwLDAsMTAwLDgwLDAsMTAwLDE1NSwwLDEwMCwxNTYsMCwKLSAgICAxMzIsNCwwLDkwLDg4LDAsMTAwLDE1NywwLDEwMCwxNTgsMCwxMzIsMCwwLDkwLAotICAgIDg5LDAsMTAwLDE1OSwwLDEwMCwxNjAsMCwxMzIsMCwwLDkwLDkwLDAsMTAwLDE2MSwKLSAgICAwLDEwMCwxNjIsMCwxMzIsMCwwLDkwLDkxLDAsMTAwLDUzLDAsODMsNDEsMTY0LAotICAgIDk3LDgzLDEsMCwwLDY3LDExMSwxMTQsMTAxLDMyLDEwNSwxMDksMTEyLDEwOCwxMDEsMTA5LAotICAgIDEwMSwxMTAsMTE2LDk3LDExNiwxMDUsMTExLDExMCwzMiwxMTEsMTAyLDMyLDEwNSwxMDksMTEyLDExMSwKLSAgICAxMTQsMTE2LDQ2LDEwLDEwLDg0LDEwNCwxMDUsMTE1LDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLAotICAgIDMyLDEwNSwxMTUsMzIsNzgsNzksODQsMzIsMTA5LDEwMSw5NywxMTAsMTE2LDMyLDExNiwxMTEsCi0gICAgMzIsOTgsMTAxLDMyLDEwMCwxMDUsMTE0LDEwMSw5OSwxMTYsMTA4LDEyMSwzMiwxMDUsMTA5LDExMiwKLSAgICAxMTEsMTE0LDExNiwxMDEsMTAwLDMzLDMyLDczLDExNiwzMiwxMDQsOTcsMTE1LDMyLDk4LDEwMSwKLSAgICAxMDEsMTEwLDMyLDEwMCwxMDEsMTE1LDEwNSwxMDMsMTEwLDEwMSwxMDAsMzIsMTE1LDExNyw5OSwxMDQsCi0gICAgMTAsMTE2LDEwNCw5NywxMTYsMzIsMTA1LDExNiwzMiw5OSw5NywxMTAsMzIsOTgsMTAxLDMyLAotICAgIDk4LDExMSwxMTEsMTE2LDExNSwxMTYsMTE0LDk3LDExMiwxMTIsMTAxLDEwMCwzMiwxMDUsMTEwLDExNiwKLSAgICAxMTEsMzIsODAsMTIxLDExNiwxMDQsMTExLDExMCwzMiw5NywxMTUsMzIsMTE2LDEwNCwxMDEsMzIsCi0gICAgMTA1LDEwOSwxMTIsMTA4LDEwMSwxMDksMTAxLDExMCwxMTYsOTcsMTE2LDEwNSwxMTEsMTEwLDMyLDExMSwKLSAgICAxMDIsMzIsMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsNDYsMzIsNjUsMTE1LDEwLDExNSwxMTcsOTksCi0gICAgMTA0LDMyLDEwNSwxMTYsMzIsMTE0LDEwMSwxMTMsMTE3LDEwNSwxMTQsMTAxLDExNSwzMiwxMTYsMTA0LAotICAgIDEwMSwzMiwxMDUsMTEwLDEwNiwxMDEsOTksMTE2LDEwNSwxMTEsMTEwLDMyLDExMSwxMDIsMzIsMTE1LAotICAgIDExMiwxMDEsOTksMTA1LDEwMiwxMDUsOTksMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMTE1LDMyLAotICAgIDk3LDExMCwxMDAsMzIsOTcsMTE2LDExNiwxMTQsMTA1LDk4LDExNywxMTYsMTAxLDExNSwzMiwxMDUsCi0gICAgMTEwLDMyLDExMSwxMTQsMTAwLDEwMSwxMTQsMzIsMTE2LDExMSwxMCwxMTksMTExLDExNCwxMDcsNDYsCi0gICAgMzIsNzksMTEwLDEwMSwzMiwxMTUsMTA0LDExMSwxMTcsMTA4LDEwMCwzMiwxMTcsMTE1LDEwMSwzMiwKLSAgICAxMDUsMTA5LDExMiwxMTEsMTE0LDExNiwxMDgsMTA1LDk4LDMyLDk3LDExNSwzMiwxMTYsMTA0LDEwMSwKLSAgICAzMiwxMTIsMTE3LDk4LDEwOCwxMDUsOTksNDUsMTAyLDk3LDk5LDEwNSwxMTAsMTAzLDMyLDExOCwKLSAgICAxMDEsMTE0LDExNSwxMDUsMTExLDExMCwzMiwxMTEsMTAyLDMyLDExNiwxMDQsMTA1LDExNSwzMiwxMDksCi0gICAgMTExLDEwMCwxMTcsMTA4LDEwMSw0NiwxMCwxMCwyMTgsMywxMTksMTA1LDExMCwyMTgsNiw5OSwKLSAgICAxMjEsMTAzLDExOSwxMDUsMTEwLDIxOCw2LDEwMCw5NywxMTQsMTE5LDEwNSwxMTAsOTksMCwwLAotICAgIDAsMCwwLDAsMCwwLDEsMCwwLDAsMiwwLDAsMCw2NywwLAotICAgIDAsMCwxMTUsNDksMCwwLDAsMTE2LDAsMCwxMDYsMSwwLDEwNiwyLDAsCi0gICAgMTE2LDMsMCwxMzEsMSwwLDExNCwzMywwLDEwMCwxLDAsMTAwLDIsMCwxMzIsCi0gICAgMCwwLDEyNSwwLDAsMTEwLDEyLDAsMTAwLDMsMCwxMDAsMiwwLDEzMiwwLAotICAgIDAsMTI1LDAsMCwxMjQsMCwwLDgzLDQxLDQsNzgsOTksMCwwLDAsMCwKLSAgICAwLDAsMCwwLDAsMCwwLDAsMiwwLDAsMCw4MywwLDAsMCwKLSAgICAxMTUsMTMsMCwwLDAsMTAwLDEsMCwxMTYsMCwwLDEwNiwxLDAsMTA3LDYsCi0gICAgMCw4Myw0MSwyLDEyMiw1Myw4NCwxMTQsMTE3LDEwMSwzMiwxMDUsMTAyLDMyLDEwMiwxMDUsCi0gICAgMTA4LDEwMSwxMTAsOTcsMTA5LDEwMSwxMTUsMzIsMTA5LDExNywxMTUsMTE2LDMyLDk4LDEwMSwzMiwKLSAgICA5OSwxMDQsMTAxLDk5LDEwNywxMDEsMTAwLDMyLDk5LDk3LDExNSwxMDEsNDUsMTA1LDExMCwxMTUsCi0gICAgMTAxLDExMCwxMTUsMTA1LDExNiwxMDUsMTE4LDEwMSwxMDgsMTIxLDQ2LDExNSwxMiwwLDAsMCwKLSAgICA4MCw4OSw4NCw3Miw3OSw3OCw2Nyw2NSw4Myw2OSw3OSw3NSw0MSwyLDIxOCwzLAotICAgIDk1LDExMSwxMTUsOTAsNywxMDEsMTEwLDExOCwxMDUsMTE0LDExMSwxMTAsMTY5LDAsMTE0LDQsCi0gICAgMCwwLDAsMTE0LDQsMCwwLDAsMjUwLDI5LDYwLDEwMiwxMTQsMTExLDEyMiwxMDEsCi0gICAgMTEwLDMyLDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDEwOCwxMDUsOTgsNDYsOTUsOTgsMTExLDExMSwKLSAgICAxMTYsMTE1LDExNiwxMTQsOTcsMTEyLDYyLDIxOCwxMSw5NSwxMTQsMTAxLDEwOCw5NywxMjAsOTUsCi0gICAgOTksOTcsMTE1LDEwMSwzMCwwLDAsMCwxMTUsMiwwLDAsMCwwLDIsMTIyLAotICAgIDM3LDk1LDEwOSw5NywxMDcsMTAxLDk1LDExNCwxMDEsMTA4LDk3LDEyMCw5NSw5OSw5NywxMTUsCi0gICAgMTAxLDQ2LDYwLDEwOCwxMTEsOTksOTcsMTA4LDExNSw2Miw0Niw5NSwxMTQsMTAxLDEwOCw5NywKLSAgICAxMjAsOTUsOTksOTcsMTE1LDEwMSw5OSwwLDAsMCwwLDAsMCwwLDAsMCwKLSAgICAwLDAsMCwxLDAsMCwwLDgzLDAsMCwwLDExNSw0LDAsMCwwLAotICAgIDEwMCwxLDAsODMsNDEsMiwxMjIsNTMsODQsMTE0LDExNywxMDEsMzIsMTA1LDEwMiwzMiwKLSAgICAxMDIsMTA1LDEwOCwxMDEsMTEwLDk3LDEwOSwxMDEsMTE1LDMyLDEwOSwxMTcsMTE1LDExNiwzMiw5OCwKLSAgICAxMDEsMzIsOTksMTA0LDEwMSw5OSwxMDcsMTAxLDEwMCwzMiw5OSw5NywxMTUsMTAxLDQ1LDEwNSwKLSAgICAxMTAsMTE1LDEwMSwxMTAsMTE1LDEwNSwxMTYsMTA1LDExOCwxMDEsMTA4LDEyMSw0Niw3MCwxMTQsNCwKLSAgICAwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLAotICAgIDAsMCwxMTQsNSwwLDAsMCwxMTQsNiwwLDAsMCwzNCwwLDAsMCwKLSAgICAxMTUsMiwwLDAsMCwwLDIsNDEsNCwyMTgsMywxMTUsMTIxLDExNSwyMTgsOCwKLSAgICAxMTIsMTA4LDk3LDExNiwxMDIsMTExLDExNCwxMDksMjE4LDEwLDExNSwxMTYsOTcsMTE0LDExNiwxMTUsCi0gICAgMTE5LDEwNSwxMTYsMTA0LDIxOCwyNyw5NSw2Nyw2NSw4Myw2OSw5NSw3Myw3OCw4Myw2OSwKLSAgICA3OCw4Myw3Myw4NCw3Myw4Niw2OSw5NSw4MCw3Niw2NSw4NCw3MCw3OSw4Miw3NywKLSAgICA4Myw0MSwxLDExNCw2LDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsCi0gICAgMCwwLDExNCw1LDAsMCwwLDIxOCwxNiw5NSwxMDksOTcsMTA3LDEwMSw5NSwxMTQsCi0gICAgMTAxLDEwOCw5NywxMjAsOTUsOTksOTcsMTE1LDEwMSwyOCwwLDAsMCwxMTUsOCwwLAotICAgIDAsMCwwLDEsMTgsMSwxNSw0LDEyLDMsMTE0LDExLDAsMCwwLDk5LAotICAgIDEsMCwwLDAsMCwwLDAsMCwxLDAsMCwwLDMsMCwwLDAsCi0gICAgNjcsMCwwLDAsMTE1LDI2LDAsMCwwLDExNiwwLDAsMTI0LDAsMCwxMzEsCi0gICAgMSwwLDEwMCwxLDAsNjQsMTA2LDEsMCwxMDAsMiwwLDEwMCwzLDAsMTMxLAotICAgIDIsMCw4Myw0MSw0LDEyMiw0Miw2NywxMTEsMTEwLDExOCwxMDEsMTE0LDExNiwzMiw5NywKLSAgICAzMiw1MSw1MCw0NSw5OCwxMDUsMTE2LDMyLDEwNSwxMTAsMTE2LDEwMSwxMDMsMTAxLDExNCwzMiwKLSAgICAxMTYsMTExLDMyLDEwOCwxMDUsMTE2LDExNiwxMDgsMTAxLDQ1LDEwMSwxMTAsMTAwLDEwNSw5NywxMTAsCi0gICAgNDYsMTA4LDMsMCwwLDAsMjU1LDEyNywyNTUsMTI3LDMsMCwyMzMsNCwwLDAsCi0gICAgMCwyMTgsNiwxMDgsMTA1LDExNiwxMTYsMTA4LDEwMSw0MSwyLDIxOCwzLDEwNSwxMTAsMTE2LAotICAgIDIxOCw4LDExNiwxMTEsOTUsOTgsMTIxLDExNiwxMDEsMTE1LDQxLDEsMjE4LDEsMTIwLDExNCwKLSAgICA0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDIxOCw3LAotICAgIDk1LDExOSw5NSwxMDgsMTExLDExMCwxMDMsNDAsMCwwLDAsMTE1LDIsMCwwLDAsCi0gICAgMCwyLDExNCwxNywwLDAsMCw5OSwxLDAsMCwwLDAsMCwwLDAsCi0gICAgMSwwLDAsMCwzLDAsMCwwLDY3LDAsMCwwLDExNSwxNiwwLDAsCi0gICAgMCwxMTYsMCwwLDEwNiwxLDAsMTI0LDAsMCwxMDAsMSwwLDEzMSwyLDAsCi0gICAgODMsNDEsMiwxMjIsNDcsNjcsMTExLDExMCwxMTgsMTAxLDExNCwxMTYsMzIsNTIsMzIsOTgsCi0gICAgMTIxLDExNiwxMDEsMTE1LDMyLDEwNSwxMTAsMzIsMTA4LDEwNSwxMTYsMTE2LDEwOCwxMDEsNDUsMTAxLAotICAgIDExMCwxMDAsMTA1LDk3LDExMCwzMiwxMTYsMTExLDMyLDk3LDExMCwzMiwxMDUsMTEwLDExNiwxMDEsCi0gICAgMTAzLDEwMSwxMTQsNDYsMTE0LDEzLDAsMCwwLDQxLDIsMTE0LDE0LDAsMCwwLAotICAgIDIxOCwxMCwxMDIsMTE0LDExMSwxMDksOTUsOTgsMTIxLDExNiwxMDEsMTE1LDQxLDEsOTAsOSwKLSAgICAxMDUsMTEwLDExNiw5NSw5OCwxMjEsMTE2LDEwMSwxMTUsMTE0LDQsMCwwLDAsMTE0LDQsCi0gICAgMCwwLDAsMTE0LDUsMCwwLDAsMjE4LDcsOTUsMTE0LDk1LDEwOCwxMTEsMTEwLAotICAgIDEwMyw0NSwwLDAsMCwxMTUsMiwwLDAsMCwwLDIsMTE0LDE5LDAsMCwKLSAgICAwLDk5LDAsMCwwLDAsMCwwLDAsMCwxLDAsMCwwLDMsMCwKLSAgICAwLDAsNzEsMCwwLDAsMTE1LDI2LDAsMCwwLDExNiwwLDAsMTA2LDEsCi0gICAgMCwxMDAsMSwwLDEwMCwyLDAsMTMyLDAsMCwxMjQsMCwwLDY4LDEzMSwxLAotICAgIDAsMTMxLDEsMCw4Myw0MSwzLDEyMiwzMSw4MiwxMDEsMTEyLDEwOCw5Nyw5OSwxMDEsCi0gICAgMTA5LDEwMSwxMTAsMTE2LDMyLDEwMiwxMTEsMTE0LDMyLDExMSwxMTUsNDYsMTEyLDk3LDExNiwxMDQsCi0gICAgNDYsMTA2LDExMSwxMDUsMTEwLDQwLDQxLDQ2LDk5LDEsMCwwLDAsMCwwLDAsCi0gICAgMCwyLDAsMCwwLDQsMCwwLDAsODMsMCwwLDAsMTE1LDM3LDAsCi0gICAgMCwwLDEwMywwLDAsMTI0LDAsMCw5MywyNywwLDEyNSwxLDAsMTI0LDEsCi0gICAgMCwxMTQsNiwwLDEyNCwxLDAsMTA2LDAsMCwxMTYsMSwwLDEzMSwxLDAsCi0gICAgMTQ1LDIsMCwxMTMsNiwwLDgzLDExNCw0LDAsMCwwLDQxLDIsMjE4LDYsCi0gICAgMTE0LDExNSwxMTYsMTE0LDEwNSwxMTIsMjE4LDE1LDExMiw5NywxMTYsMTA0LDk1LDExNSwxMDEsMTEyLAotICAgIDk3LDExNCw5NywxMTYsMTExLDExNCwxMTUsNDEsMiwyMTgsMiw0Niw0OCwyMTgsNCwxMTIsCi0gICAgOTcsMTE0LDExNiwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLAotICAgIDAsMCwyNTAsMTAsNjAsMTA4LDEwNSwxMTUsMTE2LDk5LDExMSwxMDksMTEyLDYyLDUyLDAsCi0gICAgMCwwLDExNSwyLDAsMCwwLDksMSwxMjIsMzAsOTUsMTEyLDk3LDExNiwxMDQsCi0gICAgOTUsMTA2LDExMSwxMDUsMTEwLDQ2LDYwLDEwOCwxMTEsOTksOTcsMTA4LDExNSw2Miw0Niw2MCwKLSAgICAxMDgsMTA1LDExNSwxMTYsOTksMTExLDEwOSwxMTIsNjIsNDEsMiwyMTgsOCwxMTIsOTcsMTE2LAotICAgIDEwNCw5NSwxMTUsMTAxLDExMiwyMTgsNCwxMDYsMTExLDEwNSwxMTAsNDEsMSwyMTgsMTAsMTEyLAotICAgIDk3LDExNiwxMDQsOTUsMTEyLDk3LDExNCwxMTYsMTE1LDExNCw0LDAsMCwwLDExNCw0LAotICAgIDAsMCwwLDExNCw1LDAsMCwwLDIxOCwxMCw5NSwxMTIsOTcsMTE2LDEwNCw5NSwKLSAgICAxMDYsMTExLDEwNSwxMTAsNTAsMCwwLDAsMTE1LDQsMCwwLDAsMCwyLDE1LAotICAgIDEsMTE0LDI4LDAsMCwwLDk5LDEsMCwwLDAsMCwwLDAsMCw1LAotICAgIDAsMCwwLDUsMCwwLDAsNjcsMCwwLDAsMTE1LDEzNCwwLDAsMCwKLSAgICAxMTYsMCwwLDExNiwxLDAsMTMxLDEsMCwxMDAsMSwwLDEwNywyLDAsMTE0LAotICAgIDUyLDAsMTI0LDAsMCwxMDYsMiwwLDExNiwzLDAsMTMxLDEsMCw5MiwzLAotICAgIDAsMTI1LDEsMCwxMjUsMiwwLDEyNSwzLDAsMTI0LDEsMCwxMjQsMywwLAotICAgIDEwMiwyLDAsODMsMTIwLDY5LDAsMTE2LDQsMCwxMjQsMCwwLDEzMSwxLDAsCi0gICAgNjgsOTMsNTUsMCwxMjUsNCwwLDEyNCw0LDAsMTE2LDEsMCwxMDcsNiwwLAotICAgIDExNCw2NSwwLDEyNCwwLDAsMTA2LDUsMCwxMjQsNCwwLDEwMCwyLDAsMTAwLAotICAgIDEsMCwxMzEsMSwxLDkyLDIsMCwxMjUsMSwwLDEyNSwzLDAsMTI0LDEsCi0gICAgMCwxMjQsMywwLDEwMiwyLDAsODMsMTEzLDY1LDAsODcsMTAwLDMsMCwxMjQsCi0gICAgMCwwLDEwMiwyLDAsODMsNDEsNCwxMjIsMzIsODIsMTAxLDExMiwxMDgsOTcsOTksCi0gICAgMTAxLDEwOSwxMDEsMTEwLDExNiwzMiwxMDIsMTExLDExNCwzMiwxMTEsMTE1LDQ2LDExMiw5NywxMTYsCi0gICAgMTA0LDQ2LDExNSwxMTIsMTA4LDEwNSwxMTYsNDAsNDEsNDYsMjMzLDEsMCwwLDAsOTAsCi0gICAgOCwxMDksOTcsMTIwLDExNSwxMTIsMTA4LDEwNSwxMTYsMjE4LDAsNDEsNiwyMTgsMywxMDgsCi0gICAgMTAxLDExMCwxMTQsMjEsMCwwLDAsMjE4LDEwLDExNCwxMTIsOTcsMTE0LDExNiwxMDUsMTE2LAotICAgIDEwNSwxMTEsMTEwLDExNCwyNSwwLDAsMCwyMTgsOCwxMTQsMTAxLDExOCwxMDEsMTE0LDExNSwKLSAgICAxMDEsMTAwLDIxOCw2LDExNCwxMTUsMTEyLDEwOCwxMDUsMTE2LDQxLDUsMjE4LDQsMTEyLDk3LAotICAgIDExNiwxMDQsOTAsNSwxMDIsMTE0LDExMSwxMTAsMTE2LDIxOCwxLDk1LDIxOCw0LDExNiw5NywKLSAgICAxMDUsMTA4LDExNCwxNiwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsCi0gICAgMCwxMTQsNSwwLDAsMCwyMTgsMTEsOTUsMTEyLDk3LDExNiwxMDQsOTUsMTE1LDExMiwKLSAgICAxMDgsMTA1LDExNiw1NiwwLDAsMCwxMTUsMTYsMCwwLDAsMCwyLDE4LDEsCi0gICAgMjQsMSwxMCwxLDE5LDEsMTIsMSwyNywxLDE0LDEsMTE0LDM4LDAsMCwKLSAgICAwLDk5LDEsMCwwLDAsMCwwLDAsMCwxLDAsMCwwLDIsMCwKLSAgICAwLDAsNjcsMCwwLDAsMTE1LDEzLDAsMCwwLDExNiwwLDAsMTA2LDEsCi0gICAgMCwxMjQsMCwwLDEzMSwxLDAsODMsNDEsMSwxMjIsMTI2LDgzLDExNiw5NywxMTYsCi0gICAgMzIsMTE2LDEwNCwxMDEsMzIsMTEyLDk3LDExNiwxMDQsNDYsMTAsMTAsMzIsMzIsMzIsMzIsCi0gICAgNzcsOTcsMTAwLDEwMSwzMiw5NywzMiwxMTUsMTAxLDExMiw5NywxMTQsOTcsMTE2LDEwMSwzMiwKLSAgICAxMDIsMTE3LDExMCw5OSwxMTYsMTA1LDExMSwxMTAsMzIsMTE2LDExMSwzMiwxMDksOTcsMTA3LDEwMSwKLSAgICAzMiwxMDUsMTE2LDMyLDEwMSw5NywxMTUsMTA1LDEwMSwxMTQsMzIsMTE2LDExMSwzMiwxMTEsMTE4LAotICAgIDEwMSwxMTQsMTE0LDEwNSwxMDAsMTAxLDMyLDEwNSwxMTAsMzIsMTAxLDEyMCwxMTIsMTAxLDExNCwxMDUsCi0gICAgMTA5LDEwMSwxMTAsMTE2LDExNSwxMCwzMiwzMiwzMiwzMiw0MCwxMDEsNDYsMTAzLDQ2LDMyLAotICAgIDk5LDk3LDk5LDEwNCwxMDEsMzIsMTE1LDExNiw5NywxMTYsMzIsMTE0LDEwMSwxMTUsMTE3LDEwOCwKLSAgICAxMTYsMTE1LDQxLDQ2LDEwLDEwLDMyLDMyLDMyLDMyLDQxLDIsMTE0LDMsMCwwLAotICAgIDAsOTAsNCwxMTUsMTE2LDk3LDExNiw0MSwxLDExNCwzNSwwLDAsMCwxMTQsNCwKLSAgICAwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwyMTgsMTAsOTUsCi0gICAgMTEyLDk3LDExNiwxMDQsOTUsMTE1LDExNiw5NywxMTYsNjgsMCwwLDAsMTE1LDIsMCwKLSAgICAwLDAsMCw3LDExNCwzOSwwLDAsMCw5OSwyLDAsMCwwLDAsMCwKLSAgICAwLDAsMywwLDAsMCwxMSwwLDAsMCw2NywwLDAsMCwxMTUsNTgsCi0gICAgMCwwLDAsMTIxLDE2LDAsMTE2LDAsMCwxMjQsMCwwLDEzMSwxLDAsMTI1LAotICAgIDIsMCw4NywxMTAsMjIsMCw0LDExNiwxLDAsMTA3LDEwLDAsMTE0LDQwLDAsCi0gICAgMSwxLDEsMTAwLDEsMCw4Myw4OSwxMTAsMSwwLDg4LDEyNCwyLDAsMTA2LAotICAgIDIsMCwxMDAsMiwwLDY0LDEyNCwxLDAsMTA3LDIsMCw4Myw0MSwzLDEyMiwKLSAgICA0OSw4NCwxMDEsMTE1LDExNiwzMiwxMTksMTA0LDEwMSwxMTYsMTA0LDEwMSwxMTQsMzIsMTE2LDEwNCwKLSAgICAxMDEsMzIsMTEyLDk3LDExNiwxMDQsMzIsMTA1LDExNSwzMiwxMTYsMTA0LDEwMSwzMiwxMTUsMTEyLAotICAgIDEwMSw5OSwxMDUsMTAyLDEwNSwxMDEsMTAwLDMyLDEwOSwxMTEsMTAwLDEwMSwzMiwxMTYsMTIxLDExMiwKLSAgICAxMDEsNDYsNzAsMTA1LDAsMjQwLDAsMCw0MSwzLDExNCwzOSwwLDAsMCwyMTgsCi0gICAgNyw3OSw4Myw2OSwxMTQsMTE0LDExMSwxMTQsMjE4LDcsMTE1LDExNiw5NSwxMDksMTExLDEwMCwKLSAgICAxMDEsNDEsMywxMTQsMzUsMCwwLDAsMjE4LDQsMTA5LDExMSwxMDAsMTAxLDkwLDksCi0gICAgMTE1LDExNiw5NywxMTYsOTUsMTA1LDExMCwxMDIsMTExLDExNCw0LDAsMCwwLDExNCw0LAotICAgIDAsMCwwLDExNCw1LDAsMCwwLDIxOCwxOCw5NSwxMTIsOTcsMTE2LDEwNCw5NSwKLSAgICAxMDUsMTE1LDk1LDEwOSwxMTEsMTAwLDEwMSw5NSwxMTYsMTIxLDExMiwxMDEsNzgsMCwwLDAsCi0gICAgMTE1LDEwLDAsMCwwLDAsMiwzLDEsMTYsMSwxMywxLDksMSwxMTQsCi0gICAgNDMsMCwwLDAsOTksMSwwLDAsMCwwLDAsMCwwLDEsMCwwLAotICAgIDAsMywwLDAsMCw2NywwLDAsMCwxMTUsMTMsMCwwLDAsMTE2LDAsCi0gICAgMCwxMjQsMCwwLDEwMCwxLDAsMTMxLDIsMCw4Myw0MSwyLDEyMiwzMSw4MiwKLSAgICAxMDEsMTEyLDEwOCw5Nyw5OSwxMDEsMTA5LDEwMSwxMTAsMTE2LDMyLDEwMiwxMTEsMTE0LDMyLDExMSwKLSAgICAxMTUsNDYsMTEyLDk3LDExNiwxMDQsNDYsMTA1LDExNSwxMDIsMTA1LDEwOCwxMDEsNDYsMTA1LDAsCi0gICAgMTI4LDAsMCw0MSwxLDExNCw0MywwLDAsMCw0MSwxLDExNCwzNSwwLDAsCi0gICAgMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwKLSAgICAyMTgsMTIsOTUsMTEyLDk3LDExNiwxMDQsOTUsMTA1LDExNSwxMDIsMTA1LDEwOCwxMDEsODcsMCwKLSAgICAwLDAsMTE1LDIsMCwwLDAsMCwyLDExNCw0NCwwLDAsMCw5OSwxLAorICAgIDEwMCw5OSwwLDEwMCwxMDAsMCwxMzIsMiwwLDkwLDU4LDAsMTAwLDEwMSwwLDEwMCwKKyAgICAxMDIsMCwxMDAsMTAzLDAsMTAwLDEwNCwwLDEzMiwwLDEsOTAsNTksMCwxMDAsMTA1LAorICAgIDAsMTAwLDEwNiwwLDEzMiwwLDAsOTAsNjAsMCwxMDAsMTA3LDAsMTAwLDEwOCwwLAorICAgIDEzMiwwLDAsOTAsNjEsMCwxMDAsMTA5LDAsMTAwLDExMCwwLDEzMiwwLDAsOTAsCisgICAgNjIsMCwxMDAsMTExLDAsMTAwLDExMiwwLDEzMiwwLDAsOTAsNjMsMCwxMDAsMTEzLAorICAgIDAsMTAwLDExNCwwLDEzMiwwLDAsOTAsNjQsMCwxMDAsMTE1LDAsMTAwLDExNiwwLAorICAgIDEzMiwwLDAsOTAsNjUsMCwxMDAsNTMsMCwxMDAsMTE3LDAsMTAwLDExOCwwLDEzMiwKKyAgICAxLDAsOTAsNjYsMCw3MSwxMDAsMTE5LDAsMTAwLDEyMCwwLDEzMiwwLDAsMTAwLAorICAgIDEyMCwwLDEzMSwyLDAsOTAsNjcsMCw3MSwxMDAsMTIxLDAsMTAwLDEyMiwwLDEzMiwKKyAgICAwLDAsMTAwLDEyMiwwLDEzMSwyLDAsOTAsNjgsMCw3MSwxMDAsMTIzLDAsMTAwLAorICAgIDEyNCwwLDEzMiwwLDAsMTAwLDEyNCwwLDEzMSwyLDAsOTAsNjksMCw3MSwxMDAsCisgICAgMTI1LDAsMTAwLDEyNiwwLDEzMiwwLDAsMTAwLDEyNiwwLDEzMSwyLDAsOTAsNzAsCisgICAgMCw3MSwxMDAsMTI3LDAsMTAwLDEyOCwwLDEzMiwwLDAsMTAwLDEyOCwwLDEwMSw3MCwKKyAgICAwLDEzMSwzLDAsOTAsNzEsMCw3MSwxMDAsMTI5LDAsMTAwLDEzMCwwLDEzMiwwLAorICAgIDAsMTAwLDEzMCwwLDEzMSwyLDAsOTAsNzIsMCw3MSwxMDAsMTMxLDAsMTAwLDEzMiwKKyAgICAwLDEzMiwwLDAsMTAwLDEzMiwwLDEwMSw3MiwwLDEwMSw3MSwwLDEzMSw0LDAsCisgICAgOTAsNzMsMCw3MSwxMDAsMTMzLDAsMTAwLDEzNCwwLDEzMiwwLDAsMTAwLDEzNCwwLAorICAgIDEwMSw3MiwwLDEwMSw3MCwwLDEzMSw0LDAsOTAsNzQsMCwxMDMsMCwwLDkwLAorICAgIDc1LDAsNzEsMTAwLDEzNSwwLDEwMCwxMzYsMCwxMzIsMCwwLDEwMCwxMzYsMCwxMzEsCisgICAgMiwwLDkwLDc2LDAsNzEsMTAwLDEzNywwLDEwMCwxMzgsMCwxMzIsMCwwLDEwMCwKKyAgICAxMzgsMCwxMzEsMiwwLDkwLDc3LDAsNzEsMTAwLDEzOSwwLDEwMCwxNDAsMCwxMzIsCisgICAgMCwwLDEwMCwxNDAsMCwxMzEsMiwwLDkwLDc4LDAsNzEsMTAwLDE0MSwwLDEwMCwKKyAgICAxNDIsMCwxMzIsMCwwLDEwMCwxNDIsMCwxMzEsMiwwLDkwLDc5LDAsNzEsMTAwLAorICAgIDE0MywwLDEwMCwxNDQsMCwxMzIsMCwwLDEwMCwxNDQsMCwxMzEsMiwwLDkwLDgwLAorICAgIDAsNzEsMTAwLDE0NSwwLDEwMCwxNDYsMCwxMzIsMCwwLDEwMCwxNDYsMCwxMzEsMiwKKyAgICAwLDkwLDgxLDAsMTAwLDE0NywwLDEwMCwxNDgsMCwxMzIsMCwwLDkwLDgyLDAsCisgICAgMTAwLDE0OSwwLDEwMCwxNTAsMCwxMzIsMCwwLDkwLDgzLDAsMTAwLDUzLDAsMTAwLAorICAgIDE1MSwwLDEwMCwxNTIsMCwxMzIsMSwwLDkwLDg0LDAsMTAwLDE1MywwLDEwMCwxNTQsCisgICAgMCwxMzIsMCwwLDkwLDg1LDAsMTAwLDE1NSwwLDkwLDg2LDAsMTAxLDg2LDAsCisgICAgMTAwLDE1NiwwLDIzLDkwLDg3LDAsMTAwLDE1NywwLDEwMCwxNTgsMCwxMzIsMCwwLAorICAgIDkwLDg4LDAsMTAwLDE1OSwwLDEwMCwxNjAsMCwxMzIsMCwwLDkwLDg5LDAsMTAwLAorICAgIDUzLDAsMTAwLDgwLDAsMTAwLDE2MSwwLDEwMCwxNjIsMCwxMzIsMiwwLDkwLDkwLAorICAgIDAsMTAwLDE2MywwLDEwMCwxNjQsMCwxMzIsMCwwLDkwLDkxLDAsMTAwLDE2NSwwLAorICAgIDEwMCwxNjYsMCwxMzIsMCwwLDkwLDkyLDAsMTAwLDE2NywwLDEwMCwxNjgsMCwxMzIsCisgICAgMCwwLDkwLDkzLDAsMTAwLDUzLDAsMTAwLDUzLDAsMTAyLDAsMCwxMDAsODAsCisgICAgMCwxMDAsMTY5LDAsMTAwLDE3MCwwLDEzMiw0LDAsOTAsOTQsMCwxMDAsMTcxLDAsCisgICAgMTAwLDE3MiwwLDEzMiwwLDAsOTAsOTUsMCwxMDAsMTczLDAsMTAwLDE3NCwwLDEzMiwKKyAgICAwLDAsOTAsOTYsMCwxMDAsMTc1LDAsMTAwLDE3NiwwLDEzMiwwLDAsOTAsOTcsCisgICAgMCwxMDAsNTMsMCw4Myw0MSwxNzgsOTcsODMsMSwwLDAsNjcsMTExLDExNCwxMDEsCisgICAgMzIsMTA1LDEwOSwxMTIsMTA4LDEwMSwxMDksMTAxLDExMCwxMTYsOTcsMTE2LDEwNSwxMTEsMTEwLDMyLAorICAgIDExMSwxMDIsMzIsMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsNDYsMTAsMTAsODQsMTA0LDEwNSwxMTUsCisgICAgMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMzIsMTA1LDExNSwzMiw3OCw3OSw4NCwzMiwxMDksCisgICAgMTAxLDk3LDExMCwxMTYsMzIsMTE2LDExMSwzMiw5OCwxMDEsMzIsMTAwLDEwNSwxMTQsMTAxLDk5LAorICAgIDExNiwxMDgsMTIxLDMyLDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDEwMSwxMDAsMzMsMzIsNzMsMTE2LAorICAgIDMyLDEwNCw5NywxMTUsMzIsOTgsMTAxLDEwMSwxMTAsMzIsMTAwLDEwMSwxMTUsMTA1LDEwMywxMTAsCisgICAgMTAxLDEwMCwzMiwxMTUsMTE3LDk5LDEwNCwxMCwxMTYsMTA0LDk3LDExNiwzMiwxMDUsMTE2LDMyLAorICAgIDk5LDk3LDExMCwzMiw5OCwxMDEsMzIsOTgsMTExLDExMSwxMTYsMTE1LDExNiwxMTQsOTcsMTEyLAorICAgIDExMiwxMDEsMTAwLDMyLDEwNSwxMTAsMTE2LDExMSwzMiw4MCwxMjEsMTE2LDEwNCwxMTEsMTEwLDMyLAorICAgIDk3LDExNSwzMiwxMTYsMTA0LDEwMSwzMiwxMDUsMTA5LDExMiwxMDgsMTAxLDEwOSwxMDEsMTEwLDExNiwKKyAgICA5NywxMTYsMTA1LDExMSwxMTAsMzIsMTExLDEwMiwzMiwxMDUsMTA5LDExMiwxMTEsMTE0LDExNiw0NiwKKyAgICAzMiw2NSwxMTUsMTAsMTE1LDExNyw5OSwxMDQsMzIsMTA1LDExNiwzMiwxMTQsMTAxLDExMywxMTcsCisgICAgMTA1LDExNCwxMDEsMTE1LDMyLDExNiwxMDQsMTAxLDMyLDEwNSwxMTAsMTA2LDEwMSw5OSwxMTYsMTA1LAorICAgIDExMSwxMTAsMzIsMTExLDEwMiwzMiwxMTUsMTEyLDEwMSw5OSwxMDUsMTAyLDEwNSw5OSwzMiwxMDksCisgICAgMTExLDEwMCwxMTcsMTA4LDEwMSwxMTUsMzIsOTcsMTEwLDEwMCwzMiw5NywxMTYsMTE2LDExNCwxMDUsCisgICAgOTgsMTE3LDExNiwxMDEsMTE1LDMyLDEwNSwxMTAsMzIsMTExLDExNCwxMDAsMTAxLDExNCwzMiwxMTYsCisgICAgMTExLDEwLDExOSwxMTEsMTE0LDEwNyw0NiwzMiw3OSwxMTAsMTAxLDMyLDExNSwxMDQsMTExLDExNywKKyAgICAxMDgsMTAwLDMyLDExNywxMTUsMTAxLDMyLDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDEwOCwxMDUsOTgsCisgICAgMzIsOTcsMTE1LDMyLDExNiwxMDQsMTAxLDMyLDExMiwxMTcsOTgsMTA4LDEwNSw5OSw0NSwxMDIsCisgICAgOTcsOTksMTA1LDExMCwxMDMsMzIsMTE4LDEwMSwxMTQsMTE1LDEwNSwxMTEsMTEwLDMyLDExMSwxMDIsCisgICAgMzIsMTE2LDEwNCwxMDUsMTE1LDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDQ2LDEwLDEwLDIxOCwKKyAgICAzLDExOSwxMDUsMTEwLDIxOCw2LDk5LDEyMSwxMDMsMTE5LDEwNSwxMTAsMjE4LDYsMTAwLDk3LAorICAgIDExNCwxMTksMTA1LDExMCw5OSwwLDAsMCwwLDAsMCwwLDAsMSwwLDAsCisgICAgMCwyLDAsMCwwLDY3LDAsMCwwLDExNSw0OSwwLDAsMCwxMTYsMCwKKyAgICAwLDEwNiwxLDAsMTA2LDIsMCwxMTYsMywwLDEzMSwxLDAsMTE0LDMzLDAsCisgICAgMTAwLDEsMCwxMDAsMiwwLDEzMiwwLDAsMTI1LDAsMCwxMTAsMTIsMCwxMDAsCisgICAgMywwLDEwMCwyLDAsMTMyLDAsMCwxMjUsMCwwLDEyNCwwLDAsODMsNDEsCisgICAgNCw3OCw5OSwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwyLAorICAgIDAsMCwwLDgzLDAsMCwwLDExNSwxMywwLDAsMCwxMDAsMSwwLDExNiwKKyAgICAwLDAsMTA2LDEsMCwxMDcsNiwwLDgzLDQxLDIsMTIyLDUzLDg0LDExNCwxMTcsCisgICAgMTAxLDMyLDEwNSwxMDIsMzIsMTAyLDEwNSwxMDgsMTAxLDExMCw5NywxMDksMTAxLDExNSwzMiwxMDksCisgICAgMTE3LDExNSwxMTYsMzIsOTgsMTAxLDMyLDk5LDEwNCwxMDEsOTksMTA3LDEwMSwxMDAsMzIsOTksCisgICAgOTcsMTE1LDEwMSw0NSwxMDUsMTEwLDExNSwxMDEsMTEwLDExNSwxMDUsMTE2LDEwNSwxMTgsMTAxLDEwOCwKKyAgICAxMjEsNDYsMTE1LDEyLDAsMCwwLDgwLDg5LDg0LDcyLDc5LDc4LDY3LDY1LDgzLAorICAgIDY5LDc5LDc1LDQxLDIsMjE4LDMsOTUsMTExLDExNSw5MCw3LDEwMSwxMTAsMTE4LDEwNSwKKyAgICAxMTQsMTExLDExMCwxNjksMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwyNTAsCisgICAgMjksNjAsMTAyLDExNCwxMTEsMTIyLDEwMSwxMTAsMzIsMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsMTA4LAorICAgIDEwNSw5OCw0Niw5NSw5OCwxMTEsMTExLDExNiwxMTUsMTE2LDExNCw5NywxMTIsNjIsMjE4LDExLAorICAgIDk1LDExNCwxMDEsMTA4LDk3LDEyMCw5NSw5OSw5NywxMTUsMTAxLDMwLDAsMCwwLDExNSwKKyAgICAyLDAsMCwwLDAsMiwxMjIsMzcsOTUsMTA5LDk3LDEwNywxMDEsOTUsMTE0LDEwMSwKKyAgICAxMDgsOTcsMTIwLDk1LDk5LDk3LDExNSwxMDEsNDYsNjAsMTA4LDExMSw5OSw5NywxMDgsMTE1LAorICAgIDYyLDQ2LDk1LDExNCwxMDEsMTA4LDk3LDEyMCw5NSw5OSw5NywxMTUsMTAxLDk5LDAsMCwKKyAgICAwLDAsMCwwLDAsMCwwLDAsMCwwLDEsMCwwLDAsODMsMCwKKyAgICAwLDAsMTE1LDQsMCwwLDAsMTAwLDEsMCw4Myw0MSwyLDEyMiw1Myw4NCwKKyAgICAxMTQsMTE3LDEwMSwzMiwxMDUsMTAyLDMyLDEwMiwxMDUsMTA4LDEwMSwxMTAsOTcsMTA5LDEwMSwxMTUsCisgICAgMzIsMTA5LDExNywxMTUsMTE2LDMyLDk4LDEwMSwzMiw5OSwxMDQsMTAxLDk5LDEwNywxMDEsMTAwLAorICAgIDMyLDk5LDk3LDExNSwxMDEsNDUsMTA1LDExMCwxMTUsMTAxLDExMCwxMTUsMTA1LDExNiwxMDUsMTE4LAorICAgIDEwMSwxMDgsMTIxLDQ2LDcwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCwKKyAgICA0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDExNCw2LAorICAgIDAsMCwwLDM0LDAsMCwwLDExNSwyLDAsMCwwLDAsMiw0MSw0LAorICAgIDIxOCwzLDExNSwxMjEsMTE1LDIxOCw4LDExMiwxMDgsOTcsMTE2LDEwMiwxMTEsMTE0LDEwOSwyMTgsCisgICAgMTAsMTE1LDExNiw5NywxMTQsMTE2LDExNSwxMTksMTA1LDExNiwxMDQsMjE4LDI3LDk1LDY3LDY1LAorICAgIDgzLDY5LDk1LDczLDc4LDgzLDY5LDc4LDgzLDczLDg0LDczLDg2LDY5LDk1LDgwLAorICAgIDc2LDY1LDg0LDcwLDc5LDgyLDc3LDgzLDQxLDEsMTE0LDYsMCwwLDAsMTE0LAorICAgIDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsMjE4LDE2LAorICAgIDk1LDEwOSw5NywxMDcsMTAxLDk1LDExNCwxMDEsMTA4LDk3LDEyMCw5NSw5OSw5NywxMTUsMTAxLAorICAgIDI4LDAsMCwwLDExNSw4LDAsMCwwLDAsMSwxOCwxLDE1LDQsMTIsCisgICAgMywxMTQsMTEsMCwwLDAsOTksMSwwLDAsMCwwLDAsMCwwLDEsCisgICAgMCwwLDAsMywwLDAsMCw2NywwLDAsMCwxMTUsMjYsMCwwLDAsCisgICAgMTE2LDAsMCwxMjQsMCwwLDEzMSwxLDAsMTAwLDEsMCw2NCwxMDYsMSwwLAorICAgIDEwMCwyLDAsMTAwLDMsMCwxMzEsMiwwLDgzLDQxLDQsMTIyLDQyLDY3LDExMSwKKyAgICAxMTAsMTE4LDEwMSwxMTQsMTE2LDMyLDk3LDMyLDUxLDUwLDQ1LDk4LDEwNSwxMTYsMzIsMTA1LAorICAgIDExMCwxMTYsMTAxLDEwMywxMDEsMTE0LDMyLDExNiwxMTEsMzIsMTA4LDEwNSwxMTYsMTE2LDEwOCwxMDEsCisgICAgNDUsMTAxLDExMCwxMDAsMTA1LDk3LDExMCw0NiwxMDgsMywwLDAsMCwyNTUsMTI3LDI1NSwKKyAgICAxMjcsMywwLDIzMyw0LDAsMCwwLDIxOCw2LDEwOCwxMDUsMTE2LDExNiwxMDgsMTAxLAorICAgIDQxLDIsMjE4LDMsMTA1LDExMCwxMTYsMjE4LDgsMTE2LDExMSw5NSw5OCwxMjEsMTE2LDEwMSwKKyAgICAxMTUsNDEsMSwyMTgsMSwxMjAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsCisgICAgMTE0LDUsMCwwLDAsMjE4LDcsOTUsMTE5LDk1LDEwOCwxMTEsMTEwLDEwMyw0MCwwLAorICAgIDAsMCwxMTUsMiwwLDAsMCwwLDIsMTE0LDE3LDAsMCwwLDk5LDEsCiAgICAgMCwwLDAsMCwwLDAsMCwxLDAsMCwwLDMsMCwwLDAsNjcsCi0gICAgMCwwLDAsMTE1LDM0LDAsMCwwLDEyNCwwLDAsMTE1LDIxLDAsMTE2LDAsCi0gICAgMCwxMDYsMSwwLDEzMSwwLDAsMTI1LDAsMCwxMTAsMCwwLDExNiwyLDAsCi0gICAgMTI0LDAsMCwxMDAsMSwwLDEzMSwyLDAsODMsNDEsMiwxMjIsMzAsODIsMTAxLAotICAgIDExMiwxMDgsOTcsOTksMTAxLDEwOSwxMDEsMTEwLDExNiwzMiwxMDIsMTExLDExNCwzMiwxMTEsMTE1LAotICAgIDQ2LDExMiw5NywxMTYsMTA0LDQ2LDEwNSwxMTUsMTAwLDEwNSwxMTQsNDYsMTA1LDAsNjQsMCwKLSAgICAwLDQxLDMsMTE0LDMsMCwwLDAsMjE4LDYsMTAzLDEwMSwxMTYsOTksMTE5LDEwMCwKLSAgICAxMTQsNDMsMCwwLDAsNDEsMSwxMTQsMzUsMCwwLDAsMTE0LDQsMCwwLAotICAgIDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsMjE4LDExLDk1LDExMiw5NywKLSAgICAxMTYsMTA0LDk1LDEwNSwxMTUsMTAwLDEwNSwxMTQsOTIsMCwwLDAsMTE1LDYsMCwwLAotICAgIDAsMCwyLDYsMSwxNSwxLDExNCw0NiwwLDAsMCwxMDUsMTgyLDEsMCwKLSAgICAwLDk5LDMsMCwwLDAsMCwwLDAsMCw2LDAsMCwwLDE3LDAsCi0gICAgMCwwLDY3LDAsMCwwLDExNSwxOTIsMCwwLDAsMTAwLDEsMCwxMDYsMCwKLSAgICAwLDEyNCwwLDAsMTE2LDEsMCwxMjQsMCwwLDEzMSwxLDAsMTMxLDIsMCwKLSAgICAxMjUsMywwLDExNiwyLDAsMTA2LDMsMCwxMjQsMywwLDExNiwyLDAsMTA2LAotICAgIDQsMCwxMTYsMiwwLDEwNiw1LDAsNjYsMTE2LDIsMCwxMDYsNiwwLDY2LAotICAgIDEyNCwyLDAsMTAwLDIsMCw2NCwxMzEsMywwLDEyNSw0LDAsMTIxLDYwLDAsCi0gICAgMTE2LDcsMCwxMDYsOCwwLDEyNCw0LDAsMTAwLDMsMCwxMzEsMiwwLDE0MywKLSAgICAyMCwwLDEyNSw1LDAsMTI0LDUsMCwxMDYsOSwwLDEyNCwxLDAsMTMxLDEsCi0gICAgMCwxLDg3LDEwMCw0LDAsODEsODgsMTE2LDIsMCwxMDYsMTAsMCwxMjQsMywKLSAgICAwLDEyNCwwLDAsMTMxLDIsMCwxLDg3LDExMCw1OSwwLDQsMTE2LDExLDAsCi0gICAgMTA3LDEwLDAsMTE0LDE4NywwLDEsMSwxLDEyMSwxNywwLDExNiwyLDAsMTA2LAotICAgIDEyLDAsMTI0LDMsMCwxMzEsMSwwLDEsODcsMTEwLDE4LDAsNCwxMTYsMTEsCi0gICAgMCwxMDcsMTAsMCwxMTQsMTc5LDAsMSwxLDEsODksMTEwLDEsMCw4OCwxMzAsCi0gICAgMCwwLDg5LDExMCwxLDAsODgsMTAwLDQsMCw4Myw0MSw1LDEyMiwxNjIsNjYsCi0gICAgMTAxLDExNSwxMTYsNDUsMTAxLDEwMiwxMDIsMTExLDExNCwxMTYsMzIsMTAyLDExNywxMTAsOTksMTE2LAotICAgIDEwNSwxMTEsMTEwLDMyLDExNiwxMTEsMzIsMTE5LDExNCwxMDUsMTE2LDEwMSwzMiwxMDAsOTcsMTE2LAotICAgIDk3LDMyLDExNiwxMTEsMzIsOTcsMzIsMTEyLDk3LDExNiwxMDQsMzIsOTcsMTE2LDExMSwxMDksCi0gICAgMTA1LDk5LDk3LDEwOCwxMDgsMTIxLDQ2LDEwLDMyLDMyLDMyLDMyLDY2LDEwMSwzMiwxMTIsCi0gICAgMTE0LDEwMSwxMTIsOTcsMTE0LDEwMSwxMDAsMzIsMTE2LDExMSwzMiwxMDQsOTcsMTEwLDEwMCwxMDgsCi0gICAgMTAxLDMyLDk3LDMyLDcwLDEwNSwxMDgsMTAxLDY5LDEyMCwxMDUsMTE1LDExNiwxMTUsNjksMTE0LAotICAgIDExNCwxMTEsMTE0LDMyLDEwNSwxMDIsMzIsOTksMTExLDExMCw5OSwxMTcsMTE0LDExNCwxMDEsMTEwLAotICAgIDExNiwzMiwxMTksMTE0LDEwNSwxMTYsMTA1LDExMCwxMDMsMzIsMTExLDEwMiwzMiwxMTYsMTA0LDEwMSwKLSAgICAxMCwzMiwzMiwzMiwzMiwxMTYsMTAxLDEwOSwxMTIsMTExLDExNCw5NywxMTQsMTIxLDMyLDEwMiwKLSAgICAxMDUsMTA4LDEwMSwzMiwxMDUsMTE1LDMyLDk3LDExNiwxMTYsMTAxLDEwOSwxMTIsMTE2LDEwMSwxMDAsCi0gICAgNDYsMTIyLDUsMTIzLDEyNSw0NiwxMjMsMTI1LDEwNSwxODIsMSwwLDAsOTAsMiwxMTksCi0gICAgOTgsNzgsNDEsMTMsMjE4LDYsMTAyLDExMSwxMTQsMTA5LDk3LDExNiwyMTgsMiwxMDUsMTAwLAotICAgIDExNCwzLDAsMCwwLDkwLDQsMTExLDExMiwxMDEsMTEwLDkwLDYsNzksOTUsNjksCi0gICAgODgsNjcsNzYsOTAsNyw3OSw5NSw2Nyw4Miw2OSw2NSw4NCw5MCw4LDc5LDk1LAotICAgIDg3LDgyLDc5LDc4LDc2LDg5LDIxOCwzLDk1LDEwNSwxMTEsMjE4LDYsNzAsMTA1LDEwOCwKLSAgICAxMDEsNzMsNzksMjE4LDUsMTE5LDExNCwxMDUsMTE2LDEwMSwyMTgsNywxMTQsMTAxLDExMiwxMDgsCi0gICAgOTcsOTksMTAxLDExNCw0MCwwLDAsMCw5MCw2LDExNywxMTAsMTA4LDEwNSwxMTAsMTA3LAotICAgIDQxLDYsMTE0LDM1LDAsMCwwLDIxOCw0LDEwMCw5NywxMTYsOTcsMTE0LDQyLDAsCi0gICAgMCwwLDkwLDgsMTEyLDk3LDExNiwxMDQsOTUsMTE2LDEwOSwxMTIsOTAsMiwxMDIsMTAwLAotICAgIDIxOCw0LDEwMiwxMDUsMTA4LDEwMSwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwKLSAgICAxMTQsNSwwLDAsMCwyMTgsMTMsOTUsMTE5LDExNCwxMDUsMTE2LDEwMSw5NSw5NywxMTYsCi0gICAgMTExLDEwOSwxMDUsOTksOTksMCwwLDAsMTE1LDI2LDAsMCwwLDAsNSwyNCwKLSAgICAxLDksMSwzMywxLDMsMywyMSwxLDE5LDEsMjAsMSwxMywxLDMsCi0gICAgMSwxNywxLDEzLDEsNSwxLDExNCw1NSwwLDAsMCw5OSwyLDAsMCwKLSAgICAwLDAsMCwwLDAsMywwLDAsMCw3LDAsMCwwLDY3LDAsMCwKLSAgICAwLDExNSw5NSwwLDAsMCwxMjAsNjksMCwxMDAsMSwwLDEwMCwyLDAsMTAwLAotICAgIDMsMCwxMDAsNCwwLDEwMyw0LDAsNjgsOTMsNDksMCwxMjUsMiwwLDExNiwKLSAgICAwLDAsMTI0LDEsMCwxMjQsMiwwLDEzMSwyLDAsMTE0LDE5LDAsMTE2LDEsCi0gICAgMCwxMjQsMCwwLDEyNCwyLDAsMTE2LDIsMCwxMjQsMSwwLDEyNCwyLDAsCi0gICAgMTMxLDIsMCwxMzEsMywwLDEsMTEzLDE5LDAsMTEzLDE5LDAsODcsMTI0LDAsCi0gICAgMCwxMDYsMywwLDEwNiw0LDAsMTI0LDEsMCwxMDYsMywwLDEzMSwxLDAsCi0gICAgMSwxMDAsNSwwLDgzLDQxLDYsMTIyLDQ3LDgzLDEwNSwxMDksMTEyLDEwOCwxMDEsMzIsCi0gICAgMTE1LDExNyw5OCwxMTUsMTE2LDEwNSwxMTYsMTE3LDExNiwxMDEsMzIsMTAyLDExMSwxMTQsMzIsMTAyLAotICAgIDExNywxMTAsOTksMTE2LDExMSwxMTEsMTA4LDExNSw0NiwxMTcsMTEyLDEwMCw5NywxMTYsMTAxLDk1LAotICAgIDExOSwxMTQsOTcsMTEyLDExMiwxMDEsMTE0LDQ2LDIxOCwxMCw5NSw5NSwxMDksMTExLDEwMCwxMTcsCi0gICAgMTA4LDEwMSw5NSw5NSwyMTgsOCw5NSw5NSwxMTAsOTcsMTA5LDEwMSw5NSw5NSwyMTgsMTIsCi0gICAgOTUsOTUsMTEzLDExNyw5NywxMDgsMTEwLDk3LDEwOSwxMDEsOTUsOTUsMjE4LDcsOTUsOTUsCi0gICAgMTAwLDExMSw5OSw5NSw5NSw3OCw0MSw1LDIxOCw3LDEwNCw5NywxMTUsOTcsMTE2LDExNiwKLSAgICAxMTQsMjE4LDcsMTE1LDEwMSwxMTYsOTcsMTE2LDExNiwxMTQsMjE4LDcsMTAzLDEwMSwxMTYsOTcsCi0gICAgMTE2LDExNiwxMTQsMjE4LDgsOTUsOTUsMTAwLDEwNSw5OSwxMTYsOTUsOTUsMjE4LDYsMTE3LAotICAgIDExMiwxMDAsOTcsMTE2LDEwMSw0MSwzLDkwLDMsMTEwLDEwMSwxMTksOTAsMywxMTEsMTA4LAotICAgIDEwMCwxMTQsNTIsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsCi0gICAgMTE0LDUsMCwwLDAsMjE4LDUsOTUsMTE5LDExNCw5NywxMTIsMTIxLDAsMCwwLAotICAgIDExNSw4LDAsMCwwLDAsMiwyNSwxLDE1LDEsMzIsMSwxMTQsNjUsMCwKLSAgICAwLDAsOTksMSwwLDAsMCwwLDAsMCwwLDEsMCwwLDAsMiwKLSAgICAwLDAsMCw2NywwLDAsMCwxMTUsMTYsMCwwLDAsMTE2LDAsMCwxMTYsCi0gICAgMSwwLDEzMSwxLDAsMTI0LDAsMCwxMzEsMSwwLDgzLDQxLDEsNzgsNDEsCi0gICAgMiwyMTgsNCwxMTYsMTIxLDExMiwxMDEsMTE0LDcsMCwwLDAsNDEsMSwyMTgsNCwKLSAgICAxMTAsOTcsMTA5LDEwMSwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwKLSAgICAwLDAsMCwyMTgsMTEsOTUsMTEwLDEwMSwxMTksOTUsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsCi0gICAgMTI5LDAsMCwwLDExNSwyLDAsMCwwLDAsMSwxMTQsNjgsMCwwLDAsCi0gICAgOTksMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMiwwLDAsCi0gICAgMCw2NCwwLDAsMCwxMTUsNTgsMCwwLDAsMTAxLDAsMCw5MCwxLDAsCi0gICAgMTAwLDAsMCw5MCwyLDAsMTAwLDEsMCw5MCwzLDAsMTAwLDIsMCwxMDAsCi0gICAgMywwLDEzMiwwLDAsOTAsNCwwLDEwMCw0LDAsMTAwLDUsMCwxMzIsMCwKLSAgICAwLDkwLDUsMCwxMDAsNiwwLDEwMCw3LDAsMTMyLDAsMCw5MCw2LDAsCi0gICAgMTAwLDgsMCw4Myw0MSw5LDIxOCwxMyw5NSw3Nyw5NywxMTAsOTcsMTAzLDEwMSw4MiwKLSAgICAxMDEsMTA4LDExMSw5NywxMDAsMTIyLDYzLDc3LDk3LDExMCw5NywxMDMsMTAxLDExNSwzMiwxMTYsCi0gICAgMTA0LDEwMSwzMiwxMTIsMTExLDExNSwxMTUsMTA1LDk4LDEwOCwxMDEsMzIsOTksMTA4LDEwMSw5NywKLSAgICAxMTAsNDUsMTE3LDExMiwzMiwxMTEsMTAyLDMyLDExNSwxMjEsMTE1LDQ2LDEwOSwxMTEsMTAwLDExNywKLSAgICAxMDgsMTAxLDExNSwzMiwxMDIsMTExLDExNCwzMiwxMDgsMTExLDk3LDEwMCw5NSwxMDksMTExLDEwMCwKLSAgICAxMTcsMTA4LDEwMSw0MCw0MSw0Niw5OSwyLDAsMCwwLDAsMCwwLDAsMiwKLSAgICAwLDAsMCwyLDAsMCwwLDY3LDAsMCwwLDExNSwxMywwLDAsMCwKLSAgICAxMjQsMSwwLDEyNCwwLDAsOTUsMCwwLDEwMCwwLDAsODMsNDEsMSw3OCwKLSAgICA0MSwxLDIxOCw1LDk1LDExMCw5NywxMDksMTAxLDQxLDIsMjE4LDQsMTE1LDEwMSwxMDgsCi0gICAgMTAyLDExNCw2NywwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwKLSAgICAxMTQsNSwwLDAsMCwyMTgsOCw5NSw5NSwxMDUsMTEwLDEwNSwxMTYsOTUsOTUsMTQxLAotICAgIDAsMCwwLDExNSwyLDAsMCwwLDAsMSwxMjIsMjIsOTUsNzcsOTcsMTEwLAotICAgIDk3LDEwMywxMDEsODIsMTAxLDEwOCwxMTEsOTcsMTAwLDQ2LDk1LDk1LDEwNSwxMTAsMTA1LDExNiwKLSAgICA5NSw5NSw5OSwxLDAsMCwwLDAsMCwwLDAsMSwwLDAsMCwyLAotICAgIDAsMCwwLDY3LDAsMCwwLDExNSwyNSwwLDAsMCwxMjQsMCwwLDEwNiwKLSAgICAwLDAsMTE2LDEsMCwxMDYsMiwwLDEwNyw2LDAsMTI0LDAsMCw5NSwzLAotICAgIDAsMTAwLDAsMCw4Myw0MSwxLDc4LDQxLDQsMTE0LDcwLDAsMCwwLDExNCwKLSAgICA3LDAsMCwwLDIxOCw3LDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDExNSwyMTgsMTAsOTUsCi0gICAgMTA1LDExNSw5NSwxMTQsMTAxLDEwOCwxMTEsOTcsMTAwLDQxLDEsMTE0LDcxLDAsMCwwLAorICAgIDAsMCwwLDExNSwxNiwwLDAsMCwxMTYsMCwwLDEwNiwxLDAsMTI0LDAsCisgICAgMCwxMDAsMSwwLDEzMSwyLDAsODMsNDEsMiwxMjIsNDcsNjcsMTExLDExMCwxMTgsCisgICAgMTAxLDExNCwxMTYsMzIsNTIsMzIsOTgsMTIxLDExNiwxMDEsMTE1LDMyLDEwNSwxMTAsMzIsMTA4LAorICAgIDEwNSwxMTYsMTE2LDEwOCwxMDEsNDUsMTAxLDExMCwxMDAsMTA1LDk3LDExMCwzMiwxMTYsMTExLDMyLAorICAgIDk3LDExMCwzMiwxMDUsMTEwLDExNiwxMDEsMTAzLDEwMSwxMTQsNDYsMTE0LDEzLDAsMCwwLAorICAgIDQxLDIsMTE0LDE0LDAsMCwwLDIxOCwxMCwxMDIsMTE0LDExMSwxMDksOTUsOTgsMTIxLAorICAgIDExNiwxMDEsMTE1LDQxLDEsOTAsOSwxMDUsMTEwLDExNiw5NSw5OCwxMjEsMTE2LDEwMSwxMTUsCiAgICAgMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsMjE4LAotICAgIDksOTUsOTUsMTAxLDExMCwxMTYsMTAxLDExNCw5NSw5NSwxNDQsMCwwLDAsMTE1LDIsCi0gICAgMCwwLDAsMCwxLDEyMiwyMyw5NSw3Nyw5NywxMTAsOTcsMTAzLDEwMSw4MiwxMDEsCi0gICAgMTA4LDExMSw5NywxMDAsNDYsOTUsOTUsMTAxLDExMCwxMTYsMTAxLDExNCw5NSw5NSw5OSwxLAotICAgIDAsMCwwLDAsMCwwLDAsMiwwLDAsMCwxMSwwLDAsMCw3MSwKLSAgICAwLDAsMCwxMTUsODAsMCwwLDAsMTE2LDAsMCwxMDAsMSwwLDEwMCwyLAotICAgIDAsMTMyLDAsMCwxMjQsMSwwLDY4LDEzMSwxLDAsMTMxLDEsMCwxMTQsNzYsCi0gICAgMCwxMjQsMCwwLDEwNiwxLDAsMTIsMTE0LDc2LDAsMTIxLDE3LDAsMTE2LDIsCi0gICAgMCwxMDYsMywwLDEyNCwwLDAsMTA2LDQsMCw2MSw4NywxMTMsNzYsMCw0LAotICAgIDExNiw1LDAsMTA3LDEwLDAsMTE0LDcyLDAsMSwxLDEsODksMTEzLDc2LDAsCi0gICAgODgsMTEwLDAsMCwxMDAsMCwwLDgzLDQxLDMsNzgsOTksMSwwLDAsMCwKLSAgICAwLDAsMCwwLDIsMCwwLDAsMywwLDAsMCwxMTUsMCwwLDAsCi0gICAgMTE1LDI3LDAsMCwwLDEyNCwwLDAsOTMsMTcsMCwxMjUsMSwwLDEyNCwxLAotICAgIDAsMTAwLDAsMCwxMDcsOSwwLDg2LDEsMTEzLDMsMCwxMDAsMCwwLDgzLAotICAgIDQxLDEsNzgsMTE0LDQsMCwwLDAsNDEsMiwxMTQsMjIsMCwwLDAsMjE4LAotICAgIDMsOTcsMTE0LDEwMywxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwKLSAgICAwLDAsMCwyNTAsOSw2MCwxMDMsMTAxLDExMCwxMDEsMTIwLDExMiwxMTQsNjIsMTQ4LDAsCi0gICAgMCwwLDExNSwyLDAsMCwwLDYsMCwxMjIsNDEsOTUsNzcsOTcsMTEwLDk3LAotICAgIDEwMywxMDEsODIsMTAxLDEwOCwxMTEsOTcsMTAwLDQ2LDk1LDk1LDEwMSwxMjAsMTA1LDExNiw5NSwKLSAgICA5NSw0Niw2MCwxMDgsMTExLDk5LDk3LDEwOCwxMTUsNjIsNDYsNjAsMTAzLDEwMSwxMTAsMTAxLAotICAgIDEyMCwxMTIsMTE0LDYyLDQxLDYsMjE4LDMsOTcsMTEwLDEyMSwxMTQsNzQsMCwwLDAsCi0gICAgMTE0LDcsMCwwLDAsMTE0LDczLDAsMCwwLDExNCw3MCwwLDAsMCwyMTgsCi0gICAgOCw3NSwxMDEsMTIxLDY5LDExNCwxMTQsMTExLDExNCw0MSwyLDExNCw3MSwwLDAsMCwKLSAgICAyMTgsNCw5NywxMTQsMTAzLDExNSwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwKLSAgICAxMTQsNSwwLDAsMCwyMTgsOCw5NSw5NSwxMDEsMTIwLDEwNSwxMTYsOTUsOTUsMTQ3LAotICAgIDAsMCwwLDExNSwxMCwwLDAsMCwwLDEsMzUsMSwzLDEsMTcsMSwKLSAgICAxMywxLDEyMiwyMiw5NSw3Nyw5NywxMTAsOTcsMTAzLDEwMSw4MiwxMDEsMTA4LDExMSw5NywKLSAgICAxMDAsNDYsOTUsOTUsMTAxLDEyMCwxMDUsMTE2LDk1LDk1LDc4LDQxLDcsMTE0LDU3LDAsCi0gICAgMCwwLDExNCw1NiwwLDAsMCwxMTQsNTgsMCwwLDAsMTE0LDU5LDAsMCwKLSAgICAwLDExNCw3MiwwLDAsMCwxMTQsNzUsMCwwLDAsMTE0LDgxLDAsMCwwLAotICAgIDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCwKLSAgICA1LDAsMCwwLDExNCw2OSwwLDAsMCwxMzcsMCwwLDAsMTE1LDgsMCwKLSAgICAwLDAsMTIsMiw2LDIsMTIsMywxMiwzLDExNCw2OSwwLDAsMCw5OSwKLSAgICAwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwxLDAsMCwwLAotICAgIDY0LDAsMCwwLDExNSwxNiwwLDAsMCwxMDEsMCwwLDkwLDEsMCwxMDAsCi0gICAgMCwwLDkwLDIsMCwxMDAsMSwwLDgzLDQxLDIsMjE4LDE0LDk1LDY4LDEwMSwKLSAgICA5NywxMDAsMTA4LDExMSw5OSwxMDcsNjksMTE0LDExNCwxMTEsMTE0LDc4LDQxLDMsMTE0LDU3LAotICAgIDAsMCwwLDExNCw1NiwwLDAsMCwxMTQsNTgsMCwwLDAsMTE0LDQsMCwKLSAgICAwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLAotICAgIDAsMTE0LDgyLDAsMCwwLDE2MiwwLDAsMCwxMTUsMiwwLDAsMCwxMiwKLSAgICAxLDExNCw4MiwwLDAsMCw5OSwwLDAsMCwwLDAsMCwwLDAsMCwKLSAgICAwLDAsMCwyLDAsMCwwLDY0LDAsMCwwLDExNSw4MiwwLDAsMCwKLSAgICAxMDEsMCwwLDkwLDEsMCwxMDAsMCwwLDkwLDIsMCwxMDAsMSwwLDkwLAotICAgIDMsMCwxMDAsMiwwLDEwMCwzLDAsMTMyLDAsMCw5MCw0LDAsMTAwLDQsCi0gICAgMCwxMDAsNSwwLDEzMiwwLDAsOTAsNSwwLDEwMCw2LDAsMTAwLDcsMCwKLSAgICAxMzIsMCwwLDkwLDYsMCwxMDAsOCwwLDEwMCw5LDAsMTMyLDAsMCw5MCwKLSAgICA3LDAsMTAwLDEwLDAsMTAwLDExLDAsMTMyLDAsMCw5MCw4LDAsMTAwLDEyLAotICAgIDAsODMsNDEsMTMsMjE4LDExLDk1LDc3LDExMSwxMDAsMTE3LDEwOCwxMDEsNzYsMTExLDk5LAotICAgIDEwNywxMjIsMTY5LDY1LDMyLDExNCwxMDEsOTksMTE3LDExNCwxMTUsMTA1LDExOCwxMDEsMzIsMTA4LAotICAgIDExMSw5OSwxMDcsMzIsMTA1LDEwOSwxMTIsMTA4LDEwMSwxMDksMTAxLDExMCwxMTYsOTcsMTE2LDEwNSwKLSAgICAxMTEsMTEwLDMyLDExOSwxMDQsMTA1LDk5LDEwNCwzMiwxMDUsMTE1LDMyLDk3LDk4LDEwOCwxMDEsCi0gICAgMzIsMTE2LDExMSwzMiwxMDAsMTAxLDExNiwxMDEsOTksMTE2LDMyLDEwMCwxMDEsOTcsMTAwLDEwOCwKLSAgICAxMTEsOTksMTA3LDExNSwxMCwzMiwzMiwzMiwzMiw0MCwxMDEsNDYsMTAzLDQ2LDMyLDExNiwKLSAgICAxMDQsMTE0LDEwMSw5NywxMDAsMzIsNDksMzIsMTE2LDExNCwxMjEsMTA1LDExMCwxMDMsMzIsMTE2LAotICAgIDExMSwzMiwxMTYsOTcsMTA3LDEwMSwzMiwxMDgsMTExLDk5LDEwNywxMTUsMzIsNjUsMzIsMTE2LAotICAgIDEwNCwxMDEsMTEwLDMyLDY2LDQ0LDMyLDk3LDExMCwxMDAsMzIsMTE2LDEwNCwxMTQsMTAxLDk3LAotICAgIDEwMCwzMiw1MCwzMiwxMTYsMTE0LDEyMSwxMDUsMTEwLDEwMywzMiwxMTYsMTExLDEwLDMyLDMyLAotICAgIDMyLDMyLDExNiw5NywxMDcsMTAxLDMyLDEwOCwxMTEsOTksMTA3LDExNSwzMiw2NiwzMiwxMTYsCi0gICAgMTA0LDEwMSwxMTAsMzIsNjUsNDEsNDYsMTAsMzIsMzIsMzIsMzIsOTksMiwwLDAsCi0gICAgMCwwLDAsMCwwLDIsMCwwLDAsMiwwLDAsMCw2NywwLDAsCi0gICAgMCwxMTUsNzAsMCwwLDAsMTE2LDAsMCwxMDYsMSwwLDEzMSwwLDAsMTI0LAotICAgIDAsMCw5NSwyLDAsMTE2LDAsMCwxMDYsMSwwLDEzMSwwLDAsMTI0LDAsCi0gICAgMCw5NSwzLDAsMTI0LDEsMCwxMjQsMCwwLDk1LDQsMCwxMDAsMCwwLAotICAgIDEyNCwwLDAsOTUsNSwwLDEwMCwxLDAsMTI0LDAsMCw5NSw2LDAsMTAwLAotICAgIDEsMCwxMjQsMCwwLDk1LDcsMCwxMDAsMCwwLDgzLDQxLDIsNzgsMjMzLAotICAgIDAsMCwwLDAsNDEsOCwyMTgsNyw5NSwxMTYsMTA0LDExNCwxMDEsOTcsMTAwLDkwLAotICAgIDEzLDk3LDEwOCwxMDgsMTExLDk5LDk3LDExNiwxMDEsOTUsMTA4LDExMSw5OSwxMDcsMjE4LDQsCi0gICAgMTA4LDExMSw5OSwxMDcsMjE4LDYsMTE5LDk3LDEwNywxMDEsMTE3LDExMiwxMTQsNjcsMCwwLAotICAgIDAsMjE4LDUsMTExLDExOSwxMTAsMTAxLDExNCwyMTgsNSw5OSwxMTEsMTE3LDExMCwxMTYsMjE4LAotICAgIDcsMTE5LDk3LDEwNSwxMTYsMTAxLDExNCwxMTUsNDEsMiwxMTQsNzEsMCwwLDAsMTE0LAotICAgIDY3LDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LAotICAgIDAsMCwwLDExNCw3MiwwLDAsMCwxNzIsMCwwLDAsMTE1LDEyLDAsMCwKLSAgICAwLDAsMSwxNSwxLDE1LDEsOSwxLDksMSw5LDEsMTIyLDIwLDk1LAotICAgIDc3LDExMSwxMDAsMTE3LDEwOCwxMDEsNzYsMTExLDk5LDEwNyw0Niw5NSw5NSwxMDUsMTEwLDEwNSwKLSAgICAxMTYsOTUsOTUsOTksMSwwLDAsMCwwLDAsMCwwLDQsMCwwLDAsCi0gICAgMiwwLDAsMCw2NywwLDAsMCwxMTUsODgsMCwwLDAsMTE2LDAsMCwKLSAgICAxMDYsMSwwLDEzMSwwLDAsMTI1LDEsMCwxMjQsMCwwLDEwNiwyLDAsMTI1LAotICAgIDIsMCwxMjAsNjAsMCwxMTYsMywwLDEwNiw0LDAsMTI0LDIsMCwxMzEsMSwKLSAgICAwLDEyNSwzLDAsMTI0LDMsMCwxMDAsMCwwLDEwNyw4LDAsMTE0LDU1LDAsCi0gICAgMTAwLDEsMCw4MywxMjQsMywwLDEwNiwyLDAsMTI1LDIsMCwxMjQsMiwwLAotICAgIDEyNCwxLDAsMTA3LDIsMCwxMTQsMjQsMCwxMDAsMiwwLDgzLDExMywyNCwwLAotICAgIDg3LDEwMCwwLDAsODMsNDEsMyw3OCw3MCw4NCw0MSw1LDExNCw4NSwwLDAsCi0gICAgMCwyMTgsOSwxMDMsMTAxLDExNiw5NSwxMDUsMTAwLDEwMSwxMTAsMTE2LDExNCw4OCwwLDAsCi0gICAgMCwyMTgsMTIsOTUsOTgsMTA4LDExMSw5OSwxMDcsMTA1LDExMCwxMDMsOTUsMTExLDExMCwyMTgsCi0gICAgMywxMDMsMTAxLDExNiw0MSw0LDExNCw3MSwwLDAsMCwyMTgsMiwxMDksMTAxLDIxOCwKLSAgICAzLDExNiwxMDUsMTAwLDExNCw4NiwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwKLSAgICAwLDAsMCwxMTQsNSwwLDAsMCwyMTgsMTIsMTA0LDk3LDExNSw5NSwxMDAsMTAxLAotICAgIDk3LDEwMCwxMDgsMTExLDk5LDEwNywxODAsMCwwLDAsMTE1LDE4LDAsMCwwLDAsCi0gICAgMiwxMiwxLDksMSwzLDEsMTUsMSwxMiwxLDQsMSw5LDEsMTIsCi0gICAgMSwxMjIsMjQsOTUsNzcsMTExLDEwMCwxMTcsMTA4LDEwMSw3NiwxMTEsOTksMTA3LDQ2LDEwNCwKLSAgICA5NywxMTUsOTUsMTAwLDEwMSw5NywxMDAsMTA4LDExMSw5OSwxMDcsOTksMSwwLDAsMCwKLSAgICAwLDAsMCwwLDIsMCwwLDAsMTYsMCwwLDAsNjcsMCwwLDAsCi0gICAgMTE1LDIxNSwwLDAsMCwxMTYsMCwwLDEwNiwxLDAsMTMxLDAsMCwxMjUsMSwKLSAgICAwLDEyNCwwLDAsMTE2LDIsMCwxMjQsMSwwLDYwLDEyMiwxNzgsMCwxMjAsMTcxLAotICAgIDAsMTI0LDAsMCwxMDYsMywwLDE0MywxMzAsMCwxLDEyNCwwLDAsMTA2LDQsCi0gICAgMCwxMDAsMSwwLDEwNywyLDAsMTE1LDY4LDAsMTI0LDAsMCwxMDYsNSwwLAotICAgIDEyNCwxLDAsMTA3LDIsMCwxMTQsOTYsMCwxMjQsMSwwLDEyNCwwLDAsOTUsCi0gICAgNSwwLDEyNCwwLDAsNCwxMDYsNCwwLDEwMCwyLDAsNTUsMiw5NSw0LAotICAgIDAsMTAwLDMsMCw4MywxMjQsMCwwLDEwNiw2LDAsMTMxLDAsMCwxMTQsMTI3LAotICAgIDAsMTE2LDcsMCwxMDAsNCwwLDEyNCwwLDAsMjIsMTMxLDEsMCwxMzAsMSwKLSAgICAwLDExMCwwLDAsMTI0LDAsMCwxMDYsOCwwLDEwNiw5LDAsMTAwLDUsMCwKLSAgICAxMzEsMSwwLDExNCwxNjMsMCwxMjQsMCwwLDQsMTA2LDEwLDAsMTAwLDIsMCwKLSAgICA1NSwyLDk1LDEwLDAsMTEwLDAsMCw4NywxMDAsNiwwLDgxLDg4LDEyNCwwLAotICAgIDAsMTA2LDgsMCwxMDYsOSwwLDEzMSwwLDAsMSwxMjQsMCwwLDEwNiw4LAotICAgIDAsMTA2LDExLDAsMTMxLDAsMCwxLDExMywyOCwwLDg3LDg3LDEwMCw2LDAsCi0gICAgMTE2LDIsMCwxMjQsMSwwLDYxLDg4LDEwMCw2LDAsODMsNDEsNywxMjIsMTg1LAotICAgIDEwLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDY1LDk5LDExMywxMTcsMTA1LDExNCwxMDEsCi0gICAgMzIsMTE2LDEwNCwxMDEsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMzIsMTA4LDExMSw5OSwxMDcsCi0gICAgNDYsMzIsMzIsNzMsMTAyLDMyLDk3LDMyLDExMiwxMTEsMTE2LDEwMSwxMTAsMTE2LDEwNSw5NywKLSAgICAxMDgsMzIsMTAwLDEwMSw5NywxMDAsMTA4LDExMSw5OSwxMDcsMzIsMTA1LDExNSwzMiwxMDAsMTAxLAotICAgIDExNiwxMDEsOTksMTE2LDEwMSwxMDAsNDQsMTAsMzIsMzIsMzIsMzIsMzIsMzIsMzIsMzIsCi0gICAgOTcsMzIsOTUsNjgsMTAxLDk3LDEwMCwxMDgsMTExLDk5LDEwNyw2OSwxMTQsMTE0LDExMSwxMTQsCi0gICAgMzIsMTA1LDExNSwzMiwxMTQsOTcsMTA1LDExNSwxMDEsMTAwLDQ2LDEwLDMyLDMyLDMyLDMyLAotICAgIDMyLDMyLDMyLDMyLDc5LDExNiwxMDQsMTAxLDExNCwxMTksMTA1LDExNSwxMDEsNDQsMzIsMTE2LAotICAgIDEwNCwxMDEsMzIsMTA4LDExMSw5OSwxMDcsMzIsMTA1LDExNSwzMiw5NywxMDgsMTE5LDk3LDEyMSwKLSAgICAxMTUsMzIsOTcsOTksMTEzLDExNywxMDUsMTE0LDEwMSwxMDAsMzIsOTcsMTEwLDEwMCwzMiw4NCwKLSAgICAxMTQsMTE3LDEwMSwzMiwxMDUsMTE1LDMyLDExNCwxMDEsMTE2LDExNywxMTQsMTEwLDEwMSwxMDAsNDYsCi0gICAgMTAsMzIsMzIsMzIsMzIsMzIsMzIsMzIsMzIsMTE0LDg0LDAsMCwwLDExNCwyOSwKLSAgICAwLDAsMCw4NCwxMjIsMjMsMTAwLDEwMSw5NywxMDAsMTA4LDExMSw5OSwxMDcsMzIsMTAwLAotICAgIDEwMSwxMTYsMTAxLDk5LDExNiwxMDEsMTAwLDMyLDk4LDEyMSwzMiwzNywxMTQsNzAsNzgsNDEsCi0gICAgMTIsMTE0LDg1LDAsMCwwLDExNCw5MSwwLDAsMCwxMTQsOTIsMCwwLDAsCi0gICAgMTE0LDg2LDAsMCwwLDExNCw4OSwwLDAsMCwxMTQsODgsMCwwLDAsMTE0LAotICAgIDk2LDAsMCwwLDExNCw4MiwwLDAsMCwxMTQsODcsMCwwLDAsMjE4LDcsCi0gICAgOTcsOTksMTEzLDExNywxMDUsMTE0LDEwMSwxMTQsOTAsMCwwLDAsMjE4LDcsMTE0LDEwMSwKLSAgICAxMDgsMTAxLDk3LDExNSwxMDEsNDEsMiwxMTQsNzEsMCwwLDAsMTE0LDk1LDAsMCwKKyAgICA3LDk1LDExNCw5NSwxMDgsMTExLDExMCwxMDMsNDUsMCwwLDAsMTE1LDIsMCwwLAorICAgIDAsMCwyLDExNCwxOSwwLDAsMCw5OSwwLDAsMCwwLDAsMCwwLAorICAgIDAsMSwwLDAsMCwzLDAsMCwwLDcxLDAsMCwwLDExNSwyNiwwLAorICAgIDAsMCwxMTYsMCwwLDEwNiwxLDAsMTAwLDEsMCwxMDAsMiwwLDEzMiwwLAorICAgIDAsMTI0LDAsMCw2OCwxMzEsMSwwLDEzMSwxLDAsODMsNDEsMywxMjIsMzEsCisgICAgODIsMTAxLDExMiwxMDgsOTcsOTksMTAxLDEwOSwxMDEsMTEwLDExNiwzMiwxMDIsMTExLDExNCwzMiwKKyAgICAxMTEsMTE1LDQ2LDExMiw5NywxMTYsMTA0LDQ2LDEwNiwxMTEsMTA1LDExMCw0MCw0MSw0Niw5OSwKKyAgICAxLDAsMCwwLDAsMCwwLDAsMiwwLDAsMCw0LDAsMCwwLAorICAgIDgzLDAsMCwwLDExNSwzNywwLDAsMCwxMDMsMCwwLDEyNCwwLDAsOTMsCisgICAgMjcsMCwxMjUsMSwwLDEyNCwxLDAsMTE0LDYsMCwxMjQsMSwwLDEwNiwwLAorICAgIDAsMTE2LDEsMCwxMzEsMSwwLDE0NSwyLDAsMTEzLDYsMCw4MywxMTQsNCwKKyAgICAwLDAsMCw0MSwyLDIxOCw2LDExNCwxMTUsMTE2LDExNCwxMDUsMTEyLDIxOCwxNSwxMTIsCisgICAgOTcsMTE2LDEwNCw5NSwxMTUsMTAxLDExMiw5NywxMTQsOTcsMTE2LDExMSwxMTQsMTE1LDQxLDIsCisgICAgMjE4LDIsNDYsNDgsMjE4LDQsMTEyLDk3LDExNCwxMTYsMTE0LDQsMCwwLDAsMTE0LAorICAgIDQsMCwwLDAsMTE0LDUsMCwwLDAsMjUwLDEwLDYwLDEwOCwxMDUsMTE1LDExNiwKKyAgICA5OSwxMTEsMTA5LDExMiw2Miw1MiwwLDAsMCwxMTUsMiwwLDAsMCw5LDEsCisgICAgMTIyLDMwLDk1LDExMiw5NywxMTYsMTA0LDk1LDEwNiwxMTEsMTA1LDExMCw0Niw2MCwxMDgsMTExLAorICAgIDk5LDk3LDEwOCwxMTUsNjIsNDYsNjAsMTA4LDEwNSwxMTUsMTE2LDk5LDExMSwxMDksMTEyLDYyLAorICAgIDQxLDIsMjE4LDgsMTEyLDk3LDExNiwxMDQsOTUsMTE1LDEwMSwxMTIsMjE4LDQsMTA2LDExMSwKKyAgICAxMDUsMTEwLDQxLDEsMjE4LDEwLDExMiw5NywxMTYsMTA0LDk1LDExMiw5NywxMTQsMTE2LDExNSwKKyAgICAxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwyMTgsCisgICAgMTAsOTUsMTEyLDk3LDExNiwxMDQsOTUsMTA2LDExMSwxMDUsMTEwLDUwLDAsMCwwLDExNSwKKyAgICA0LDAsMCwwLDAsMiwxNSwxLDExNCwyOCwwLDAsMCw5OSwxLDAsCisgICAgMCwwLDAsMCwwLDAsNSwwLDAsMCw1LDAsMCwwLDY3LDAsCisgICAgMCwwLDExNSwxMzQsMCwwLDAsMTE2LDAsMCwxMTYsMSwwLDEzMSwxLDAsCisgICAgMTAwLDEsMCwxMDcsMiwwLDExNCw1MiwwLDEyNCwwLDAsMTA2LDIsMCwxMTYsCisgICAgMywwLDEzMSwxLDAsOTIsMywwLDEyNSwxLDAsMTI1LDIsMCwxMjUsMywKKyAgICAwLDEyNCwxLDAsMTI0LDMsMCwxMDIsMiwwLDgzLDEyMCw2OSwwLDExNiw0LAorICAgIDAsMTI0LDAsMCwxMzEsMSwwLDY4LDkzLDU1LDAsMTI1LDQsMCwxMjQsNCwKKyAgICAwLDExNiwxLDAsMTA3LDYsMCwxMTQsNjUsMCwxMjQsMCwwLDEwNiw1LDAsCisgICAgMTI0LDQsMCwxMDAsMiwwLDEwMCwxLDAsMTMxLDEsMSw5MiwyLDAsMTI1LAorICAgIDEsMCwxMjUsMywwLDEyNCwxLDAsMTI0LDMsMCwxMDIsMiwwLDgzLDExMywKKyAgICA2NSwwLDg3LDEwMCwzLDAsMTI0LDAsMCwxMDIsMiwwLDgzLDQxLDQsMTIyLAorICAgIDMyLDgyLDEwMSwxMTIsMTA4LDk3LDk5LDEwMSwxMDksMTAxLDExMCwxMTYsMzIsMTAyLDExMSwxMTQsCisgICAgMzIsMTExLDExNSw0NiwxMTIsOTcsMTE2LDEwNCw0NiwxMTUsMTEyLDEwOCwxMDUsMTE2LDQwLDQxLAorICAgIDQ2LDIzMywxLDAsMCwwLDkwLDgsMTA5LDk3LDEyMCwxMTUsMTEyLDEwOCwxMDUsMTE2LAorICAgIDIxOCwwLDQxLDYsMjE4LDMsMTA4LDEwMSwxMTAsMTE0LDIxLDAsMCwwLDIxOCwxMCwKKyAgICAxMTQsMTEyLDk3LDExNCwxMTYsMTA1LDExNiwxMDUsMTExLDExMCwxMTQsMjUsMCwwLDAsMjE4LAorICAgIDgsMTE0LDEwMSwxMTgsMTAxLDExNCwxMTUsMTAxLDEwMCwyMTgsNiwxMTQsMTE1LDExMiwxMDgsMTA1LAorICAgIDExNiw0MSw1LDIxOCw0LDExMiw5NywxMTYsMTA0LDkwLDUsMTAyLDExNCwxMTEsMTEwLDExNiwKKyAgICAyMTgsMSw5NSwyMTgsNCwxMTYsOTcsMTA1LDEwOCwxMTQsMTYsMCwwLDAsMTE0LDQsCisgICAgMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsMjE4LDExLDk1LAorICAgIDExMiw5NywxMTYsMTA0LDk1LDExNSwxMTIsMTA4LDEwNSwxMTYsNTYsMCwwLDAsMTE1LDE2LAorICAgIDAsMCwwLDAsMiwxOCwxLDI0LDEsMTAsMSwxOSwxLDEyLDEsMjcsCisgICAgMSwxNCwxLDExNCwzOCwwLDAsMCw5OSwxLDAsMCwwLDAsMCwwLAorICAgIDAsMSwwLDAsMCwyLDAsMCwwLDY3LDAsMCwwLDExNSwxMywwLAorICAgIDAsMCwxMTYsMCwwLDEwNiwxLDAsMTI0LDAsMCwxMzEsMSwwLDgzLDQxLAorICAgIDEsMTIyLDEyNiw4MywxMTYsOTcsMTE2LDMyLDExNiwxMDQsMTAxLDMyLDExMiw5NywxMTYsMTA0LAorICAgIDQ2LDEwLDEwLDMyLDMyLDMyLDMyLDc3LDk3LDEwMCwxMDEsMzIsOTcsMzIsMTE1LDEwMSwKKyAgICAxMTIsOTcsMTE0LDk3LDExNiwxMDEsMzIsMTAyLDExNywxMTAsOTksMTE2LDEwNSwxMTEsMTEwLDMyLAorICAgIDExNiwxMTEsMzIsMTA5LDk3LDEwNywxMDEsMzIsMTA1LDExNiwzMiwxMDEsOTcsMTE1LDEwNSwxMDEsCisgICAgMTE0LDMyLDExNiwxMTEsMzIsMTExLDExOCwxMDEsMTE0LDExNCwxMDUsMTAwLDEwMSwzMiwxMDUsMTEwLAorICAgIDMyLDEwMSwxMjAsMTEyLDEwMSwxMTQsMTA1LDEwOSwxMDEsMTEwLDExNiwxMTUsMTAsMzIsMzIsMzIsCisgICAgMzIsNDAsMTAxLDQ2LDEwMyw0NiwzMiw5OSw5Nyw5OSwxMDQsMTAxLDMyLDExNSwxMTYsOTcsCisgICAgMTE2LDMyLDExNCwxMDEsMTE1LDExNywxMDgsMTE2LDExNSw0MSw0NiwxMCwxMCwzMiwzMiwzMiwKKyAgICAzMiw0MSwyLDExNCwzLDAsMCwwLDkwLDQsMTE1LDExNiw5NywxMTYsNDEsMSwKKyAgICAxMTQsMzUsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LAorICAgIDUsMCwwLDAsMjE4LDEwLDk1LDExMiw5NywxMTYsMTA0LDk1LDExNSwxMTYsOTcsMTE2LAorICAgIDY4LDAsMCwwLDExNSwyLDAsMCwwLDAsNywxMTQsMzksMCwwLDAsCisgICAgOTksMiwwLDAsMCwwLDAsMCwwLDMsMCwwLDAsMTEsMCwwLAorICAgIDAsNjcsMCwwLDAsMTE1LDU4LDAsMCwwLDEyMSwxNiwwLDExNiwwLDAsCisgICAgMTI0LDAsMCwxMzEsMSwwLDEyNSwyLDAsODcsMTEwLDIyLDAsNCwxMTYsMSwKKyAgICAwLDEwNywxMCwwLDExNCw0MCwwLDEsMSwxLDEwMCwxLDAsODMsODksMTEwLAorICAgIDEsMCw4OCwxMjQsMiwwLDEwNiwyLDAsMTAwLDIsMCw2NCwxMjQsMSwwLAorICAgIDEwNywyLDAsODMsNDEsMywxMjIsNDksODQsMTAxLDExNSwxMTYsMzIsMTE5LDEwNCwxMDEsCisgICAgMTE2LDEwNCwxMDEsMTE0LDMyLDExNiwxMDQsMTAxLDMyLDExMiw5NywxMTYsMTA0LDMyLDEwNSwxMTUsCisgICAgMzIsMTE2LDEwNCwxMDEsMzIsMTE1LDExMiwxMDEsOTksMTA1LDEwMiwxMDUsMTAxLDEwMCwzMiwxMDksCisgICAgMTExLDEwMCwxMDEsMzIsMTE2LDEyMSwxMTIsMTAxLDQ2LDcwLDEwNSwwLDI0MCwwLDAsNDEsCisgICAgMywxMTQsMzksMCwwLDAsMjE4LDcsNzksODMsNjksMTE0LDExNCwxMTEsMTE0LDIxOCwKKyAgICA3LDExNSwxMTYsOTUsMTA5LDExMSwxMDAsMTAxLDQxLDMsMTE0LDM1LDAsMCwwLDIxOCwKKyAgICA0LDEwOSwxMTEsMTAwLDEwMSw5MCw5LDExNSwxMTYsOTcsMTE2LDk1LDEwNSwxMTAsMTAyLDExMSwKKyAgICAxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwyMTgsCisgICAgMTgsOTUsMTEyLDk3LDExNiwxMDQsOTUsMTA1LDExNSw5NSwxMDksMTExLDEwMCwxMDEsOTUsMTE2LAorICAgIDEyMSwxMTIsMTAxLDc4LDAsMCwwLDExNSwxMCwwLDAsMCwwLDIsMywxLAorICAgIDE2LDEsMTMsMSw5LDEsMTE0LDQzLDAsMCwwLDk5LDEsMCwwLDAsCisgICAgMCwwLDAsMCwxLDAsMCwwLDMsMCwwLDAsNjcsMCwwLDAsCisgICAgMTE1LDEzLDAsMCwwLDExNiwwLDAsMTI0LDAsMCwxMDAsMSwwLDEzMSwyLAorICAgIDAsODMsNDEsMiwxMjIsMzEsODIsMTAxLDExMiwxMDgsOTcsOTksMTAxLDEwOSwxMDEsMTEwLAorICAgIDExNiwzMiwxMDIsMTExLDExNCwzMiwxMTEsMTE1LDQ2LDExMiw5NywxMTYsMTA0LDQ2LDEwNSwxMTUsCisgICAgMTAyLDEwNSwxMDgsMTAxLDQ2LDEwNSwwLDEyOCwwLDAsNDEsMSwxMTQsNDMsMCwwLAorICAgIDAsNDEsMSwxMTQsMzUsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwKKyAgICAwLDAsMTE0LDUsMCwwLDAsMjE4LDEyLDk1LDExMiw5NywxMTYsMTA0LDk1LDEwNSwKKyAgICAxMTUsMTAyLDEwNSwxMDgsMTAxLDg3LDAsMCwwLDExNSwyLDAsMCwwLDAsMiwKKyAgICAxMTQsNDQsMCwwLDAsOTksMSwwLDAsMCwwLDAsMCwwLDEsMCwKKyAgICAwLDAsMywwLDAsMCw2NywwLDAsMCwxMTUsMzEsMCwwLDAsMTI0LAorICAgIDAsMCwxMTUsMTgsMCwxMTYsMCwwLDEwNiwxLDAsMTMxLDAsMCwxMjUsMCwKKyAgICAwLDExNiwyLDAsMTI0LDAsMCwxMDAsMSwwLDEzMSwyLDAsODMsNDEsMiwKKyAgICAxMjIsMzAsODIsMTAxLDExMiwxMDgsOTcsOTksMTAxLDEwOSwxMDEsMTEwLDExNiwzMiwxMDIsMTExLAorICAgIDExNCwzMiwxMTEsMTE1LDQ2LDExMiw5NywxMTYsMTA0LDQ2LDEwNSwxMTUsMTAwLDEwNSwxMTQsNDYsCisgICAgMTA1LDAsNjQsMCwwLDQxLDMsMTE0LDMsMCwwLDAsMjE4LDYsMTAzLDEwMSwKKyAgICAxMTYsOTksMTE5LDEwMCwxMTQsNDMsMCwwLDAsNDEsMSwxMTQsMzUsMCwwLDAsCisgICAgMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsMjE4LAorICAgIDExLDk1LDExMiw5NywxMTYsMTA0LDk1LDEwNSwxMTUsMTAwLDEwNSwxMTQsOTIsMCwwLDAsCisgICAgMTE1LDYsMCwwLDAsMCwyLDYsMSwxMiwxLDExNCw0NiwwLDAsMCwKKyAgICAxMDUsMTgyLDEsMCwwLDk5LDMsMCwwLDAsMCwwLDAsMCw2LDAsCisgICAgMCwwLDE3LDAsMCwwLDY3LDAsMCwwLDExNSwxOTIsMCwwLDAsMTAwLAorICAgIDEsMCwxMDYsMCwwLDEyNCwwLDAsMTE2LDEsMCwxMjQsMCwwLDEzMSwxLAorICAgIDAsMTMxLDIsMCwxMjUsMywwLDExNiwyLDAsMTA2LDMsMCwxMjQsMywwLAorICAgIDExNiwyLDAsMTA2LDQsMCwxMTYsMiwwLDEwNiw1LDAsNjYsMTE2LDIsMCwKKyAgICAxMDYsNiwwLDY2LDEyNCwyLDAsMTAwLDIsMCw2NCwxMzEsMywwLDEyNSw0LAorICAgIDAsMTIxLDYwLDAsMTE2LDcsMCwxMDYsOCwwLDEyNCw0LDAsMTAwLDMsMCwKKyAgICAxMzEsMiwwLDE0MywyMCwwLDEyNSw1LDAsMTI0LDUsMCwxMDYsOSwwLDEyNCwKKyAgICAxLDAsMTMxLDEsMCwxLDg3LDEwMCw0LDAsODEsODgsMTE2LDIsMCwxMDYsCisgICAgMTAsMCwxMjQsMywwLDEyNCwwLDAsMTMxLDIsMCwxLDg3LDExMCw1OSwwLAorICAgIDQsMTE2LDExLDAsMTA3LDEwLDAsMTE0LDE4NywwLDEsMSwxLDEyMSwxNywwLAorICAgIDExNiwyLDAsMTA2LDEyLDAsMTI0LDMsMCwxMzEsMSwwLDEsODcsMTEwLDE4LAorICAgIDAsNCwxMTYsMTEsMCwxMDcsMTAsMCwxMTQsMTc5LDAsMSwxLDEsODksMTEwLAorICAgIDEsMCw4OCwxMzAsMCwwLDg5LDExMCwxLDAsODgsMTAwLDQsMCw4Myw0MSwKKyAgICA1LDEyMiwxNjIsNjYsMTAxLDExNSwxMTYsNDUsMTAxLDEwMiwxMDIsMTExLDExNCwxMTYsMzIsMTAyLAorICAgIDExNywxMTAsOTksMTE2LDEwNSwxMTEsMTEwLDMyLDExNiwxMTEsMzIsMTE5LDExNCwxMDUsMTE2LDEwMSwKKyAgICAzMiwxMDAsOTcsMTE2LDk3LDMyLDExNiwxMTEsMzIsOTcsMzIsMTEyLDk3LDExNiwxMDQsMzIsCisgICAgOTcsMTE2LDExMSwxMDksMTA1LDk5LDk3LDEwOCwxMDgsMTIxLDQ2LDEwLDMyLDMyLDMyLDMyLAorICAgIDY2LDEwMSwzMiwxMTIsMTE0LDEwMSwxMTIsOTcsMTE0LDEwMSwxMDAsMzIsMTE2LDExMSwzMiwxMDQsCisgICAgOTcsMTEwLDEwMCwxMDgsMTAxLDMyLDk3LDMyLDcwLDEwNSwxMDgsMTAxLDY5LDEyMCwxMDUsMTE1LAorICAgIDExNiwxMTUsNjksMTE0LDExNCwxMTEsMTE0LDMyLDEwNSwxMDIsMzIsOTksMTExLDExMCw5OSwxMTcsCisgICAgMTE0LDExNCwxMDEsMTEwLDExNiwzMiwxMTksMTE0LDEwNSwxMTYsMTA1LDExMCwxMDMsMzIsMTExLDEwMiwKKyAgICAzMiwxMTYsMTA0LDEwMSwxMCwzMiwzMiwzMiwzMiwxMTYsMTAxLDEwOSwxMTIsMTExLDExNCw5NywKKyAgICAxMTQsMTIxLDMyLDEwMiwxMDUsMTA4LDEwMSwzMiwxMDUsMTE1LDMyLDk3LDExNiwxMTYsMTAxLDEwOSwKKyAgICAxMTIsMTE2LDEwMSwxMDAsNDYsMTIyLDUsMTIzLDEyNSw0NiwxMjMsMTI1LDEwNSwxODIsMSwwLAorICAgIDAsOTAsMiwxMTksOTgsNzgsNDEsMTMsMjE4LDYsMTAyLDExMSwxMTQsMTA5LDk3LDExNiwKKyAgICAyMTgsMiwxMDUsMTAwLDExNCwzLDAsMCwwLDkwLDQsMTExLDExMiwxMDEsMTEwLDkwLAorICAgIDYsNzksOTUsNjksODgsNjcsNzYsOTAsNyw3OSw5NSw2Nyw4Miw2OSw2NSw4NCwKKyAgICA5MCw4LDc5LDk1LDg3LDgyLDc5LDc4LDc2LDg5LDIxOCwzLDk1LDEwNSwxMTEsMjE4LAorICAgIDYsNzAsMTA1LDEwOCwxMDEsNzMsNzksMjE4LDUsMTE5LDExNCwxMDUsMTE2LDEwMSwyMTgsNywKKyAgICAxMTQsMTAxLDExMiwxMDgsOTcsOTksMTAxLDExNCw0MCwwLDAsMCw5MCw2LDExNywxMTAsCisgICAgMTA4LDEwNSwxMTAsMTA3LDQxLDYsMTE0LDM1LDAsMCwwLDIxOCw0LDEwMCw5NywxMTYsCisgICAgOTcsMTE0LDQyLDAsMCwwLDkwLDgsMTEyLDk3LDExNiwxMDQsOTUsMTE2LDEwOSwxMTIsCisgICAgOTAsMiwxMDIsMTAwLDIxOCw0LDEwMiwxMDUsMTA4LDEwMSwxMTQsNCwwLDAsMCwxMTQsCisgICAgNCwwLDAsMCwxMTQsNSwwLDAsMCwyMTgsMTMsOTUsMTE5LDExNCwxMDUsMTE2LAorICAgIDEwMSw5NSw5NywxMTYsMTExLDEwOSwxMDUsOTksOTksMCwwLDAsMTE1LDI2LDAsMCwKKyAgICAwLDAsNSwyNCwxLDksMSwzMywxLDMsMywyMSwxLDE5LDEsMjAsCisgICAgMSwxMywxLDMsMSwxNywxLDEzLDEsNSwxLDExNCw1NSwwLDAsMCwKKyAgICA5OSwyLDAsMCwwLDAsMCwwLDAsMywwLDAsMCw3LDAsMCwKKyAgICAwLDY3LDAsMCwwLDExNSw5MiwwLDAsMCwxMjAsNjYsMCwxMDAsMSwwLAorICAgIDEwMCwyLDAsMTAwLDMsMCwxMDAsNCwwLDEwMyw0LDAsNjgsOTMsNDYsMCwKKyAgICAxMjUsMiwwLDExNiwwLDAsMTI0LDEsMCwxMjQsMiwwLDEzMSwyLDAsMTE0LAorICAgIDE5LDAsMTE2LDEsMCwxMjQsMCwwLDEyNCwyLDAsMTE2LDIsMCwxMjQsMSwKKyAgICAwLDEyNCwyLDAsMTMxLDIsMCwxMzEsMywwLDEsMTEzLDE5LDAsODcsMTI0LAorICAgIDAsMCwxMDYsMywwLDEwNiw0LDAsMTI0LDEsMCwxMDYsMywwLDEzMSwxLAorICAgIDAsMSwxMDAsNSwwLDgzLDQxLDYsMTIyLDQ3LDgzLDEwNSwxMDksMTEyLDEwOCwxMDEsCisgICAgMzIsMTE1LDExNyw5OCwxMTUsMTE2LDEwNSwxMTYsMTE3LDExNiwxMDEsMzIsMTAyLDExMSwxMTQsMzIsCisgICAgMTAyLDExNywxMTAsOTksMTE2LDExMSwxMTEsMTA4LDExNSw0NiwxMTcsMTEyLDEwMCw5NywxMTYsMTAxLAorICAgIDk1LDExOSwxMTQsOTcsMTEyLDExMiwxMDEsMTE0LDQ2LDIxOCwxMCw5NSw5NSwxMDksMTExLDEwMCwKKyAgICAxMTcsMTA4LDEwMSw5NSw5NSwyMTgsOCw5NSw5NSwxMTAsOTcsMTA5LDEwMSw5NSw5NSwyMTgsCisgICAgMTIsOTUsOTUsMTEzLDExNyw5NywxMDgsMTEwLDk3LDEwOSwxMDEsOTUsOTUsMjE4LDcsOTUsCisgICAgOTUsMTAwLDExMSw5OSw5NSw5NSw3OCw0MSw1LDIxOCw3LDEwNCw5NywxMTUsOTcsMTE2LAorICAgIDExNiwxMTQsMjE4LDcsMTE1LDEwMSwxMTYsOTcsMTE2LDExNiwxMTQsMjE4LDcsMTAzLDEwMSwxMTYsCisgICAgOTcsMTE2LDExNiwxMTQsMjE4LDgsOTUsOTUsMTAwLDEwNSw5OSwxMTYsOTUsOTUsMjE4LDYsCisgICAgMTE3LDExMiwxMDAsOTcsMTE2LDEwMSw0MSwzLDkwLDMsMTEwLDEwMSwxMTksOTAsMywxMTEsCisgICAgMTA4LDEwMCwxMTQsNTIsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLAorICAgIDAsMTE0LDUsMCwwLDAsMjE4LDUsOTUsMTE5LDExNCw5NywxMTIsMTIxLDAsMCwKKyAgICAwLDExNSw4LDAsMCwwLDAsMiwyNSwxLDE1LDEsMjksMSwxMTQsNjUsCisgICAgMCwwLDAsOTksMSwwLDAsMCwwLDAsMCwwLDEsMCwwLDAsCisgICAgMiwwLDAsMCw2NywwLDAsMCwxMTUsMTYsMCwwLDAsMTE2LDAsMCwKKyAgICAxMTYsMSwwLDEzMSwxLDAsMTI0LDAsMCwxMzEsMSwwLDgzLDQxLDEsNzgsCisgICAgNDEsMiwyMTgsNCwxMTYsMTIxLDExMiwxMDEsMTE0LDcsMCwwLDAsNDEsMSwyMTgsCisgICAgNCwxMTAsOTcsMTA5LDEwMSwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsCisgICAgNSwwLDAsMCwyMTgsMTEsOTUsMTEwLDEwMSwxMTksOTUsMTA5LDExMSwxMDAsMTE3LDEwOCwKKyAgICAxMDEsMTI5LDAsMCwwLDExNSwyLDAsMCwwLDAsMSwxMTQsNjgsMCwwLAorICAgIDAsOTksMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMiwwLAorICAgIDAsMCw2NCwwLDAsMCwxMTUsNTgsMCwwLDAsMTAxLDAsMCw5MCwxLAorICAgIDAsMTAwLDAsMCw5MCwyLDAsMTAwLDEsMCw5MCwzLDAsMTAwLDIsMCwKKyAgICAxMDAsMywwLDEzMiwwLDAsOTAsNCwwLDEwMCw0LDAsMTAwLDUsMCwxMzIsCisgICAgMCwwLDkwLDUsMCwxMDAsNiwwLDEwMCw3LDAsMTMyLDAsMCw5MCw2LAorICAgIDAsMTAwLDgsMCw4Myw0MSw5LDIxOCwxMyw5NSw3Nyw5NywxMTAsOTcsMTAzLDEwMSwKKyAgICA4MiwxMDEsMTA4LDExMSw5NywxMDAsMTIyLDYzLDc3LDk3LDExMCw5NywxMDMsMTAxLDExNSwzMiwKKyAgICAxMTYsMTA0LDEwMSwzMiwxMTIsMTExLDExNSwxMTUsMTA1LDk4LDEwOCwxMDEsMzIsOTksMTA4LDEwMSwKKyAgICA5NywxMTAsNDUsMTE3LDExMiwzMiwxMTEsMTAyLDMyLDExNSwxMjEsMTE1LDQ2LDEwOSwxMTEsMTAwLAorICAgIDExNywxMDgsMTAxLDExNSwzMiwxMDIsMTExLDExNCwzMiwxMDgsMTExLDk3LDEwMCw5NSwxMDksMTExLAorICAgIDEwMCwxMTcsMTA4LDEwMSw0MCw0MSw0Niw5OSwyLDAsMCwwLDAsMCwwLDAsCisgICAgMiwwLDAsMCwyLDAsMCwwLDY3LDAsMCwwLDExNSwxMywwLDAsCisgICAgMCwxMjQsMSwwLDEyNCwwLDAsOTUsMCwwLDEwMCwwLDAsODMsNDEsMSwKKyAgICA3OCw0MSwxLDIxOCw1LDk1LDExMCw5NywxMDksMTAxLDQxLDIsMjE4LDQsMTE1LDEwMSwKKyAgICAxMDgsMTAyLDExNCw2NywwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsCisgICAgMCwxMTQsNSwwLDAsMCwyMTgsOCw5NSw5NSwxMDUsMTEwLDEwNSwxMTYsOTUsOTUsCisgICAgMTQxLDAsMCwwLDExNSwyLDAsMCwwLDAsMSwxMjIsMjIsOTUsNzcsOTcsCisgICAgMTEwLDk3LDEwMywxMDEsODIsMTAxLDEwOCwxMTEsOTcsMTAwLDQ2LDk1LDk1LDEwNSwxMTAsMTA1LAorICAgIDExNiw5NSw5NSw5OSwxLDAsMCwwLDAsMCwwLDAsMSwwLDAsMCwKKyAgICAyLDAsMCwwLDY3LDAsMCwwLDExNSwyNSwwLDAsMCwxMjQsMCwwLAorICAgIDEwNiwwLDAsMTE2LDEsMCwxMDYsMiwwLDEwNyw2LDAsMTI0LDAsMCw5NSwKKyAgICAzLDAsMTAwLDAsMCw4Myw0MSwxLDc4LDQxLDQsMTE0LDcwLDAsMCwwLAorICAgIDExNCw3LDAsMCwwLDIxOCw3LDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDExNSwyMTgsMTAsCisgICAgOTUsMTA1LDExNSw5NSwxMTQsMTAxLDEwOCwxMTEsOTcsMTAwLDQxLDEsMTE0LDcxLDAsMCwKICAgICAwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLAotICAgIDExNCw5NywwLDAsMCwxOTIsMCwwLDAsMTE1LDMyLDAsMCwwLDAsNiwKLSAgICAxMiwxLDEwLDEsMywxLDMsMSwxMCwxLDMwLDEsOSwxLDE1LDEsCi0gICAgNCwxLDEyLDEsMTksMSwxOCwxLDI0LDIsMTMsMSwyMSwyLDEyMiwxOSwKLSAgICA5NSw3NywxMTEsMTAwLDExNywxMDgsMTAxLDc2LDExMSw5OSwxMDcsNDYsOTcsOTksMTEzLDExNywKLSAgICAxMDUsMTE0LDEwMSw5OSwxLDAsMCwwLDAsMCwwLDAsMiwwLDAsMCwKLSAgICAxMCwwLDAsMCw2NywwLDAsMCwxMTUsMTY1LDAsMCwwLDExNiwwLDAsCi0gICAgMTA2LDEsMCwxMzEsMCwwLDEyNSwxLDAsMTI0LDAsMCwxMDYsMiwwLDE0MywKLSAgICAxMzgsMCwxLDEyNCwwLDAsMTA2LDMsMCwxMjQsMSwwLDEwNywzLDAsMTE0LAotICAgIDUyLDAsMTE2LDQsMCwxMDAsMSwwLDEzMSwxLDAsMTMwLDEsMCwxMTAsMCwKLSAgICAwLDEyNCwwLDAsMTA2LDUsMCwxMDAsMiwwLDEwNyw0LDAsMTE1LDczLDAsCi0gICAgMTE2LDYsMCwxMzAsMSwwLDEyNCwwLDAsNCwxMDYsNSwwLDEwMCwzLDAsCi0gICAgNTYsMiw5NSw1LDAsMTI0LDAsMCwxMDYsNSwwLDEwMCwyLDAsMTA3LDIsCi0gICAgMCwxMTQsMTU1LDAsMTAwLDAsMCwxMjQsMCwwLDk1LDMsMCwxMjQsMCwwLAotICAgIDEwNiw3LDAsMTE0LDE1NSwwLDEyNCwwLDAsNCwxMDYsNywwLDEwMCwzLDAsCi0gICAgNTYsMiw5NSw3LDAsMTI0LDAsMCwxMDYsOCwwLDEwNiw5LDAsMTMxLDAsCi0gICAgMCwxLDExMywxNTUsMCwxMTAsMCwwLDg3LDEwMCwwLDAsODEsODgsMTAwLDAsCi0gICAgMCw4Myw0MSw0LDc4LDEyMiwzMSw5OSw5NywxMTAsMTEwLDExMSwxMTYsMzIsMTE0LDEwMSwKLSAgICAxMDgsMTAxLDk3LDExNSwxMDEsMzIsMTE3LDExMCw0NSw5Nyw5OSwxMTMsMTE3LDEwNSwxMTQsMTAxLAotICAgIDEwMCwzMiwxMDgsMTExLDk5LDEwNywxMTQsODQsMCwwLDAsMTE0LDI5LDAsMCwwLAotICAgIDQxLDEwLDExNCw4NSwwLDAsMCwxMTQsOTEsMCwwLDAsMTE0LDg2LDAsMCwKLSAgICAwLDExNCw4OCwwLDAsMCwyMTgsMTIsODIsMTE3LDExMCwxMTYsMTA1LDEwOSwxMDEsNjksCi0gICAgMTE0LDExNCwxMTEsMTE0LDExNCw4OSwwLDAsMCwyMTgsMTQsNjUsMTE1LDExNSwxMDEsMTE0LAotICAgIDExNiwxMDUsMTExLDExMCw2OSwxMTQsMTE0LDExMSwxMTQsMTE0LDkwLDAsMCwwLDExNCw4NywKLSAgICAwLDAsMCwxMTQsOTgsMCwwLDAsNDEsMiwxMTQsNzEsMCwwLDAsMTE0LAotICAgIDk1LDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LAotICAgIDAsMCwwLDExNCw5OCwwLDAsMCwyMTcsMCwwLDAsMTE1LDIyLDAsMCwKLSAgICAwLDAsMSwxMiwxLDEwLDEsMTUsMSwxNSwxLDIxLDEsMTUsMSwxNSwKLSAgICAxLDksMSw5LDEsMTUsMSwxMjIsMTksOTUsNzcsMTExLDEwMCwxMTcsMTA4LDEwMSwKKyAgICAyMTgsOSw5NSw5NSwxMDEsMTEwLDExNiwxMDEsMTE0LDk1LDk1LDE0NCwwLDAsMCwxMTUsCisgICAgMiwwLDAsMCwwLDEsMTIyLDIzLDk1LDc3LDk3LDExMCw5NywxMDMsMTAxLDgyLAorICAgIDEwMSwxMDgsMTExLDk3LDEwMCw0Niw5NSw5NSwxMDEsMTEwLDExNiwxMDEsMTE0LDk1LDk1LDk5LAorICAgIDEsMCwwLDAsMCwwLDAsMCwyLDAsMCwwLDExLDAsMCwwLAorICAgIDcxLDAsMCwwLDExNSw3NywwLDAsMCwxMTYsMCwwLDEwMCwxLDAsMTAwLAorICAgIDIsMCwxMzIsMCwwLDEyNCwxLDAsNjgsMTMxLDEsMCwxMzEsMSwwLDExNCwKKyAgICA3MywwLDEyNCwwLDAsMTA2LDEsMCwxMiwxMTQsNzMsMCwxMjEsMTcsMCwxMTYsCisgICAgMiwwLDEwNiwzLDAsMTI0LDAsMCwxMDYsNCwwLDYxLDg3LDExMCwxOCwwLAorICAgIDQsMTE2LDUsMCwxMDcsMTAsMCwxMTQsNzIsMCwxLDEsMSw4OSwxMTAsMSwKKyAgICAwLDg4LDEwMCwwLDAsODMsNDEsMyw3OCw5OSwxLDAsMCwwLDAsMCwKKyAgICAwLDAsMiwwLDAsMCwzLDAsMCwwLDExNSwwLDAsMCwxMTUsMjcsCisgICAgMCwwLDAsMTI0LDAsMCw5MywxNywwLDEyNSwxLDAsMTI0LDEsMCwxMDAsCisgICAgMCwwLDEwNyw5LDAsODYsMSwxMTMsMywwLDEwMCwwLDAsODMsNDEsMSwKKyAgICA3OCwxMTQsNCwwLDAsMCw0MSwyLDExNCwyMiwwLDAsMCwyMTgsMyw5NywKKyAgICAxMTQsMTAzLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwKKyAgICAwLDI1MCw5LDYwLDEwMywxMDEsMTEwLDEwMSwxMjAsMTEyLDExNCw2MiwxNDgsMCwwLDAsCisgICAgMTE1LDIsMCwwLDAsNiwwLDEyMiw0MSw5NSw3Nyw5NywxMTAsOTcsMTAzLDEwMSwKKyAgICA4MiwxMDEsMTA4LDExMSw5NywxMDAsNDYsOTUsOTUsMTAxLDEyMCwxMDUsMTE2LDk1LDk1LDQ2LAorICAgIDYwLDEwOCwxMTEsOTksOTcsMTA4LDExNSw2Miw0Niw2MCwxMDMsMTAxLDExMCwxMDEsMTIwLDExMiwKKyAgICAxMTQsNjIsNDEsNiwyMTgsMyw5NywxMTAsMTIxLDExNCw3NCwwLDAsMCwxMTQsNywKKyAgICAwLDAsMCwxMTQsNzMsMCwwLDAsMTE0LDcwLDAsMCwwLDIxOCw4LDc1LAorICAgIDEwMSwxMjEsNjksMTE0LDExNCwxMTEsMTE0LDQxLDIsMTE0LDcxLDAsMCwwLDIxOCw0LAorICAgIDk3LDExNCwxMDMsMTE1LDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LAorICAgIDAsMCwwLDIxOCw4LDk1LDk1LDEwMSwxMjAsMTA1LDExNiw5NSw5NSwxNDcsMCwwLAorICAgIDAsMTE1LDEwLDAsMCwwLDAsMSwzNSwxLDMsMSwxNywxLDEzLDEsCisgICAgMTIyLDIyLDk1LDc3LDk3LDExMCw5NywxMDMsMTAxLDgyLDEwMSwxMDgsMTExLDk3LDEwMCw0NiwKKyAgICA5NSw5NSwxMDEsMTIwLDEwNSwxMTYsOTUsOTUsNzgsNDEsNywxMTQsNTcsMCwwLDAsCisgICAgMTE0LDU2LDAsMCwwLDExNCw1OCwwLDAsMCwxMTQsNTksMCwwLDAsMTE0LAorICAgIDcyLDAsMCwwLDExNCw3NSwwLDAsMCwxMTQsODEsMCwwLDAsMTE0LDQsCisgICAgMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwKKyAgICAwLDAsMTE0LDY5LDAsMCwwLDEzNywwLDAsMCwxMTUsOCwwLDAsMCwKKyAgICAxMiwyLDYsMiwxMiwzLDEyLDMsMTE0LDY5LDAsMCwwLDk5LDAsMCwKKyAgICAwLDAsMCwwLDAsMCwwLDAsMCwwLDEsMCwwLDAsNjQsMCwKKyAgICAwLDAsMTE1LDE2LDAsMCwwLDEwMSwwLDAsOTAsMSwwLDEwMCwwLDAsCisgICAgOTAsMiwwLDEwMCwxLDAsODMsNDEsMiwyMTgsMTQsOTUsNjgsMTAxLDk3LDEwMCwKKyAgICAxMDgsMTExLDk5LDEwNyw2OSwxMTQsMTE0LDExMSwxMTQsNzgsNDEsMywxMTQsNTcsMCwwLAorICAgIDAsMTE0LDU2LDAsMCwwLDExNCw1OCwwLDAsMCwxMTQsNCwwLDAsMCwKKyAgICAxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsCisgICAgODIsMCwwLDAsMTYyLDAsMCwwLDExNSwyLDAsMCwwLDEyLDEsMTE0LAorICAgIDgyLDAsMCwwLDk5LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwKKyAgICAwLDIsMCwwLDAsNjQsMCwwLDAsMTE1LDgyLDAsMCwwLDEwMSwwLAorICAgIDAsOTAsMSwwLDEwMCwwLDAsOTAsMiwwLDEwMCwxLDAsOTAsMywwLAorICAgIDEwMCwyLDAsMTAwLDMsMCwxMzIsMCwwLDkwLDQsMCwxMDAsNCwwLDEwMCwKKyAgICA1LDAsMTMyLDAsMCw5MCw1LDAsMTAwLDYsMCwxMDAsNywwLDEzMiwwLAorICAgIDAsOTAsNiwwLDEwMCw4LDAsMTAwLDksMCwxMzIsMCwwLDkwLDcsMCwKKyAgICAxMDAsMTAsMCwxMDAsMTEsMCwxMzIsMCwwLDkwLDgsMCwxMDAsMTIsMCw4MywKKyAgICA0MSwxMywyMTgsMTEsOTUsNzcsMTExLDEwMCwxMTcsMTA4LDEwMSw3NiwxMTEsOTksMTA3LDEyMiwKKyAgICAxNjksNjUsMzIsMTE0LDEwMSw5OSwxMTcsMTE0LDExNSwxMDUsMTE4LDEwMSwzMiwxMDgsMTExLDk5LAorICAgIDEwNywzMiwxMDUsMTA5LDExMiwxMDgsMTAxLDEwOSwxMDEsMTEwLDExNiw5NywxMTYsMTA1LDExMSwxMTAsCisgICAgMzIsMTE5LDEwNCwxMDUsOTksMTA0LDMyLDEwNSwxMTUsMzIsOTcsOTgsMTA4LDEwMSwzMiwxMTYsCisgICAgMTExLDMyLDEwMCwxMDEsMTE2LDEwMSw5OSwxMTYsMzIsMTAwLDEwMSw5NywxMDAsMTA4LDExMSw5OSwKKyAgICAxMDcsMTE1LDEwLDMyLDMyLDMyLDMyLDQwLDEwMSw0NiwxMDMsNDYsMzIsMTE2LDEwNCwxMTQsCisgICAgMTAxLDk3LDEwMCwzMiw0OSwzMiwxMTYsMTE0LDEyMSwxMDUsMTEwLDEwMywzMiwxMTYsMTExLDMyLAorICAgIDExNiw5NywxMDcsMTAxLDMyLDEwOCwxMTEsOTksMTA3LDExNSwzMiw2NSwzMiwxMTYsMTA0LDEwMSwKKyAgICAxMTAsMzIsNjYsNDQsMzIsOTcsMTEwLDEwMCwzMiwxMTYsMTA0LDExNCwxMDEsOTcsMTAwLDMyLAorICAgIDUwLDMyLDExNiwxMTQsMTIxLDEwNSwxMTAsMTAzLDMyLDExNiwxMTEsMTAsMzIsMzIsMzIsMzIsCisgICAgMTE2LDk3LDEwNywxMDEsMzIsMTA4LDExMSw5OSwxMDcsMTE1LDMyLDY2LDMyLDExNiwxMDQsMTAxLAorICAgIDExMCwzMiw2NSw0MSw0NiwxMCwzMiwzMiwzMiwzMiw5OSwyLDAsMCwwLDAsCisgICAgMCwwLDAsMiwwLDAsMCwyLDAsMCwwLDY3LDAsMCwwLDExNSwKKyAgICA3MCwwLDAsMCwxMTYsMCwwLDEwNiwxLDAsMTMxLDAsMCwxMjQsMCwwLAorICAgIDk1LDIsMCwxMTYsMCwwLDEwNiwxLDAsMTMxLDAsMCwxMjQsMCwwLDk1LAorICAgIDMsMCwxMjQsMSwwLDEyNCwwLDAsOTUsNCwwLDEwMCwwLDAsMTI0LDAsCisgICAgMCw5NSw1LDAsMTAwLDEsMCwxMjQsMCwwLDk1LDYsMCwxMDAsMSwwLAorICAgIDEyNCwwLDAsOTUsNywwLDEwMCwwLDAsODMsNDEsMiw3OCwyMzMsMCwwLAorICAgIDAsMCw0MSw4LDIxOCw3LDk1LDExNiwxMDQsMTE0LDEwMSw5NywxMDAsOTAsMTMsOTcsCisgICAgMTA4LDEwOCwxMTEsOTksOTcsMTE2LDEwMSw5NSwxMDgsMTExLDk5LDEwNywyMTgsNCwxMDgsMTExLAorICAgIDk5LDEwNywyMTgsNiwxMTksOTcsMTA3LDEwMSwxMTcsMTEyLDExNCw2NywwLDAsMCwyMTgsCisgICAgNSwxMTEsMTE5LDExMCwxMDEsMTE0LDIxOCw1LDk5LDExMSwxMTcsMTEwLDExNiwyMTgsNywxMTksCisgICAgOTcsMTA1LDExNiwxMDEsMTE0LDExNSw0MSwyLDExNCw3MSwwLDAsMCwxMTQsNjcsMCwKKyAgICAwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLAorICAgIDAsMTE0LDcyLDAsMCwwLDE3MiwwLDAsMCwxMTUsMTIsMCwwLDAsMCwKKyAgICAxLDE1LDEsMTUsMSw5LDEsOSwxLDksMSwxMjIsMjAsOTUsNzcsMTExLAorICAgIDEwMCwxMTcsMTA4LDEwMSw3NiwxMTEsOTksMTA3LDQ2LDk1LDk1LDEwNSwxMTAsMTA1LDExNiw5NSwKKyAgICA5NSw5OSwxLDAsMCwwLDAsMCwwLDAsNCwwLDAsMCwyLDAsCisgICAgMCwwLDY3LDAsMCwwLDExNSw4OCwwLDAsMCwxMTYsMCwwLDEwNiwxLAorICAgIDAsMTMxLDAsMCwxMjUsMSwwLDEyNCwwLDAsMTA2LDIsMCwxMjUsMiwwLAorICAgIDEyMCw2MCwwLDExNiwzLDAsMTA2LDQsMCwxMjQsMiwwLDEzMSwxLDAsMTI1LAorICAgIDMsMCwxMjQsMywwLDEwMCwwLDAsMTA3LDgsMCwxMTQsNTUsMCwxMDAsMSwKKyAgICAwLDgzLDEyNCwzLDAsMTA2LDIsMCwxMjUsMiwwLDEyNCwyLDAsMTI0LDEsCisgICAgMCwxMDcsMiwwLDExNCwyNCwwLDEwMCwyLDAsODMsMTEzLDI0LDAsODcsMTAwLAorICAgIDAsMCw4Myw0MSwzLDc4LDcwLDg0LDQxLDUsMTE0LDg1LDAsMCwwLDIxOCwKKyAgICA5LDEwMywxMDEsMTE2LDk1LDEwNSwxMDAsMTAxLDExMCwxMTYsMTE0LDg4LDAsMCwwLDIxOCwKKyAgICAxMiw5NSw5OCwxMDgsMTExLDk5LDEwNywxMDUsMTEwLDEwMyw5NSwxMTEsMTEwLDIxOCwzLDEwMywKKyAgICAxMDEsMTE2LDQxLDQsMTE0LDcxLDAsMCwwLDIxOCwyLDEwOSwxMDEsMjE4LDMsMTE2LAorICAgIDEwNSwxMDAsMTE0LDg2LDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwKKyAgICAwLDExNCw1LDAsMCwwLDIxOCwxMiwxMDQsOTcsMTE1LDk1LDEwMCwxMDEsOTcsMTAwLAorICAgIDEwOCwxMTEsOTksMTA3LDE4MCwwLDAsMCwxMTUsMTgsMCwwLDAsMCwyLDEyLAorICAgIDEsOSwxLDMsMSwxNSwxLDEyLDEsNCwxLDksMSwxMiwxLDEyMiwKKyAgICAyNCw5NSw3NywxMTEsMTAwLDExNywxMDgsMTAxLDc2LDExMSw5OSwxMDcsNDYsMTA0LDk3LDExNSwKKyAgICA5NSwxMDAsMTAxLDk3LDEwMCwxMDgsMTExLDk5LDEwNyw5OSwxLDAsMCwwLDAsMCwKKyAgICAwLDAsMiwwLDAsMCwxNiwwLDAsMCw2NywwLDAsMCwxMTUsMjA5LAorICAgIDAsMCwwLDExNiwwLDAsMTA2LDEsMCwxMzEsMCwwLDEyNSwxLDAsMTI0LAorICAgIDAsMCwxMTYsMiwwLDEyNCwxLDAsNjAsMTIyLDE3MiwwLDEyMCwxNjUsMCwxMjQsCisgICAgMCwwLDEwNiwzLDAsMTQzLDEyNCwwLDEsMTI0LDAsMCwxMDYsNCwwLDEwMCwKKyAgICAxLDAsMTA3LDIsMCwxMTUsNjgsMCwxMjQsMCwwLDEwNiw1LDAsMTI0LDEsCisgICAgMCwxMDcsMiwwLDExNCw5NiwwLDEyNCwxLDAsMTI0LDAsMCw5NSw1LDAsCisgICAgMTI0LDAsMCw0LDEwNiw0LDAsMTAwLDIsMCw1NSwyLDk1LDQsMCwxMDAsCisgICAgMywwLDgzLDEyNCwwLDAsMTA2LDYsMCwxMzEsMCwwLDExNCwxMjQsMCwxMTYsCisgICAgNywwLDEwMCw0LDAsMTI0LDAsMCwyMiwxMzEsMSwwLDEzMCwxLDAsMTI0LAorICAgIDAsMCwxMDYsOCwwLDEwNiw5LDAsMTAwLDUsMCwxMzEsMSwwLDExNCwxNTcsCisgICAgMCwxMjQsMCwwLDQsMTA2LDEwLDAsMTAwLDIsMCw1NSwyLDk1LDEwLDAsCisgICAgODcsMTAwLDYsMCw4MSw4OCwxMjQsMCwwLDEwNiw4LDAsMTA2LDksMCwxMzEsCisgICAgMCwwLDEsMTI0LDAsMCwxMDYsOCwwLDEwNiwxMSwwLDEzMSwwLDAsMSwKKyAgICAxMTMsMjgsMCw4Nyw4NywxMDAsNiwwLDExNiwyLDAsMTI0LDEsMCw2MSw4OCwKKyAgICAxMDAsNiwwLDgzLDQxLDcsMTIyLDE4NSwxMCwzMiwzMiwzMiwzMiwzMiwzMiwzMiwKKyAgICAzMiw2NSw5OSwxMTMsMTE3LDEwNSwxMTQsMTAxLDMyLDExNiwxMDQsMTAxLDMyLDEwOSwxMTEsMTAwLAorICAgIDExNywxMDgsMTAxLDMyLDEwOCwxMTEsOTksMTA3LDQ2LDMyLDMyLDczLDEwMiwzMiw5NywzMiwKKyAgICAxMTIsMTExLDExNiwxMDEsMTEwLDExNiwxMDUsOTcsMTA4LDMyLDEwMCwxMDEsOTcsMTAwLDEwOCwxMTEsCisgICAgOTksMTA3LDMyLDEwNSwxMTUsMzIsMTAwLDEwMSwxMTYsMTAxLDk5LDExNiwxMDEsMTAwLDQ0LDEwLAorICAgIDMyLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDk3LDMyLDk1LDY4LDEwMSw5NywxMDAsMTA4LAorICAgIDExMSw5OSwxMDcsNjksMTE0LDExNCwxMTEsMTE0LDMyLDEwNSwxMTUsMzIsMTE0LDk3LDEwNSwxMTUsCisgICAgMTAxLDEwMCw0NiwxMCwzMiwzMiwzMiwzMiwzMiwzMiwzMiwzMiw3OSwxMTYsMTA0LDEwMSwKKyAgICAxMTQsMTE5LDEwNSwxMTUsMTAxLDQ0LDMyLDExNiwxMDQsMTAxLDMyLDEwOCwxMTEsOTksMTA3LDMyLAorICAgIDEwNSwxMTUsMzIsOTcsMTA4LDExOSw5NywxMjEsMTE1LDMyLDk3LDk5LDExMywxMTcsMTA1LDExNCwKKyAgICAxMDEsMTAwLDMyLDk3LDExMCwxMDAsMzIsODQsMTE0LDExNywxMDEsMzIsMTA1LDExNSwzMiwxMTQsCisgICAgMTAxLDExNiwxMTcsMTE0LDExMCwxMDEsMTAwLDQ2LDEwLDMyLDMyLDMyLDMyLDMyLDMyLDMyLAorICAgIDMyLDExNCw4NCwwLDAsMCwxMTQsMjksMCwwLDAsODQsMTIyLDIzLDEwMCwxMDEsCisgICAgOTcsMTAwLDEwOCwxMTEsOTksMTA3LDMyLDEwMCwxMDEsMTE2LDEwMSw5OSwxMTYsMTAxLDEwMCwzMiwKKyAgICA5OCwxMjEsMzIsMzcsMTE0LDcwLDc4LDQxLDEyLDExNCw4NSwwLDAsMCwxMTQsOTEsCisgICAgMCwwLDAsMTE0LDkyLDAsMCwwLDExNCw4NiwwLDAsMCwxMTQsODksMCwKKyAgICAwLDAsMTE0LDg4LDAsMCwwLDExNCw5NiwwLDAsMCwxMTQsODIsMCwwLAorICAgIDAsMTE0LDg3LDAsMCwwLDIxOCw3LDk3LDk5LDExMywxMTcsMTA1LDExNCwxMDEsMTE0LAorICAgIDkwLDAsMCwwLDIxOCw3LDExNCwxMDEsMTA4LDEwMSw5NywxMTUsMTAxLDQxLDIsMTE0LAorICAgIDcxLDAsMCwwLDExNCw5NSwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwKKyAgICAwLDAsMCwxMTQsNSwwLDAsMCwxMTQsOTcsMCwwLDAsMTkyLDAsMCwKKyAgICAwLDExNSwzMiwwLDAsMCwwLDYsMTIsMSwxMCwxLDMsMSwzLDEsCisgICAgMTAsMSwzMCwxLDksMSwxNSwxLDQsMSwxMiwxLDE2LDEsMTgsMSwKKyAgICAyMSwyLDEzLDEsMjEsMiwxMjIsMTksOTUsNzcsMTExLDEwMCwxMTcsMTA4LDEwMSw3NiwKKyAgICAxMTEsOTksMTA3LDQ2LDk3LDk5LDExMywxMTcsMTA1LDExNCwxMDEsOTksMSwwLDAsMCwKKyAgICAwLDAsMCwwLDIsMCwwLDAsMTAsMCwwLDAsNjcsMCwwLDAsCisgICAgMTE1LDE1NiwwLDAsMCwxMTYsMCwwLDEwNiwxLDAsMTMxLDAsMCwxMjUsMSwKKyAgICAwLDEyNCwwLDAsMTA2LDIsMCwxNDMsMTI5LDAsMSwxMjQsMCwwLDEwNiwzLAorICAgIDAsMTI0LDEsMCwxMDcsMywwLDExNCw0OSwwLDExNiw0LDAsMTAwLDEsMCwKKyAgICAxMzEsMSwwLDEzMCwxLDAsMTI0LDAsMCwxMDYsNSwwLDEwMCwyLDAsMTA3LAorICAgIDQsMCwxMTUsNzAsMCwxMTYsNiwwLDEzMCwxLDAsMTI0LDAsMCw0LDEwNiwKKyAgICA1LDAsMTAwLDMsMCw1NiwyLDk1LDUsMCwxMjQsMCwwLDEwNiw1LDAsCisgICAgMTAwLDIsMCwxMDcsMiwwLDExNCwxNDYsMCwxMDAsMCwwLDEyNCwwLDAsOTUsCisgICAgMywwLDEyNCwwLDAsMTA2LDcsMCwxMTQsMTQ2LDAsMTI0LDAsMCw0LDEwNiwKKyAgICA3LDAsMTAwLDMsMCw1NiwyLDk1LDcsMCwxMjQsMCwwLDEwNiw4LDAsCisgICAgMTA2LDksMCwxMzEsMCwwLDEsODcsMTAwLDAsMCw4MSw4OCwxMDAsMCwwLAorICAgIDgzLDQxLDQsNzgsMTIyLDMxLDk5LDk3LDExMCwxMTAsMTExLDExNiwzMiwxMTQsMTAxLDEwOCwKKyAgICAxMDEsOTcsMTE1LDEwMSwzMiwxMTcsMTEwLDQ1LDk3LDk5LDExMywxMTcsMTA1LDExNCwxMDEsMTAwLAorICAgIDMyLDEwOCwxMTEsOTksMTA3LDExNCw4NCwwLDAsMCwxMTQsMjksMCwwLDAsNDEsCisgICAgMTAsMTE0LDg1LDAsMCwwLDExNCw5MSwwLDAsMCwxMTQsODYsMCwwLDAsCisgICAgMTE0LDg4LDAsMCwwLDIxOCwxMiw4MiwxMTcsMTEwLDExNiwxMDUsMTA5LDEwMSw2OSwxMTQsCisgICAgMTE0LDExMSwxMTQsMTE0LDg5LDAsMCwwLDIxOCwxNCw2NSwxMTUsMTE1LDEwMSwxMTQsMTE2LAorICAgIDEwNSwxMTEsMTEwLDY5LDExNCwxMTQsMTExLDExNCwxMTQsOTAsMCwwLDAsMTE0LDg3LDAsCisgICAgMCwwLDExNCw5OCwwLDAsMCw0MSwyLDExNCw3MSwwLDAsMCwxMTQsOTUsCisgICAgMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwKKyAgICAwLDAsMTE0LDk4LDAsMCwwLDIxNywwLDAsMCwxMTUsMjIsMCwwLDAsCisgICAgMCwxLDEyLDEsMTAsMSwxNSwxLDEyLDEsMjEsMSwxNSwxLDE1LDEsCisgICAgOSwxLDksMSwxNSwxLDEyMiwxOSw5NSw3NywxMTEsMTAwLDExNywxMDgsMTAxLDc2LAorICAgIDExMSw5OSwxMDcsNDYsMTE0LDEwMSwxMDgsMTAxLDk3LDExNSwxMDEsOTksMSwwLDAsMCwKKyAgICAwLDAsMCwwLDEsMCwwLDAsNCwwLDAsMCw2NywwLDAsMCwKKyAgICAxMTUsMjUsMCwwLDAsMTAwLDEsMCwxMDYsMCwwLDEyNCwwLDAsMTA2LDEsCisgICAgMCwxMTYsMiwwLDEyNCwwLDAsMTMxLDEsMCwxMzEsMiwwLDgzLDQxLDIsCisgICAgNzgsMTIyLDIzLDk1LDc3LDExMSwxMDAsMTE3LDEwOCwxMDEsNzYsMTExLDk5LDEwNyw0MCwxMjMsCisgICAgMzMsMTE0LDEyNSw0MSwzMiw5NywxMTYsMzIsMTIzLDEyNSw0MSwzLDExNCw0NywwLDAsCisgICAgMCwxMTQsNjcsMCwwLDAsMTE0LDQ4LDAsMCwwLDQxLDEsMTE0LDcxLDAsCisgICAgMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwKKyAgICAwLDIxOCw4LDk1LDk1LDExNCwxMDEsMTEyLDExNCw5NSw5NSwyMzAsMCwwLDAsMTE1LAorICAgIDIsMCwwLDAsMCwxLDEyMiwyMCw5NSw3NywxMTEsMTAwLDExNywxMDgsMTAxLDc2LAorICAgIDExMSw5OSwxMDcsNDYsOTUsOTUsMTE0LDEwMSwxMTIsMTE0LDk1LDk1LDc4LDQxLDksMTE0LAorICAgIDU3LDAsMCwwLDExNCw1NiwwLDAsMCwxMTQsNTgsMCwwLDAsMTE0LDU5LAorICAgIDAsMCwwLDExNCw3MiwwLDAsMCwxMTQsOTYsMCwwLDAsMTE0LDk3LDAsCisgICAgMCwwLDExNCw5OCwwLDAsMCwxMTQsMTAxLDAsMCwwLDExNCw0LDAsMCwKKyAgICAwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLAorICAgIDExNCw4MywwLDAsMCwxNjYsMCwwLDAsMTE1LDEyLDAsMCwwLDEyLDQsCisgICAgNiwyLDEyLDgsMTIsMTIsMTIsMjUsMTIsMTMsMTE0LDgzLDAsMCwwLDk5LAorICAgIDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDIsMCwwLDAsCisgICAgNjQsMCwwLDAsMTE1LDcwLDAsMCwwLDEwMSwwLDAsOTAsMSwwLDEwMCwKKyAgICAwLDAsOTAsMiwwLDEwMCwxLDAsOTAsMywwLDEwMCwyLDAsMTAwLDMsCisgICAgMCwxMzIsMCwwLDkwLDQsMCwxMDAsNCwwLDEwMCw1LDAsMTMyLDAsMCwKKyAgICA5MCw1LDAsMTAwLDYsMCwxMDAsNywwLDEzMiwwLDAsOTAsNiwwLDEwMCwKKyAgICA4LDAsMTAwLDksMCwxMzIsMCwwLDkwLDcsMCwxMDAsMTAsMCw4Myw0MSwKKyAgICAxMSwyMTgsMTYsOTUsNjgsMTE3LDEwOSwxMDksMTIxLDc3LDExMSwxMDAsMTE3LDEwOCwxMDEsNzYsCisgICAgMTExLDk5LDEwNywxMjIsODYsNjUsMzIsMTE1LDEwNSwxMDksMTEyLDEwOCwxMDEsMzIsOTUsNzcsCisgICAgMTExLDEwMCwxMTcsMTA4LDEwMSw3NiwxMTEsOTksMTA3LDMyLDEwMSwxMTMsMTE3LDEwNSwxMTgsOTcsCisgICAgMTA4LDEwMSwxMTAsMTE2LDMyLDEwMiwxMTEsMTE0LDMyLDgwLDEyMSwxMTYsMTA0LDExMSwxMTAsMzIsCisgICAgOTgsMTE3LDEwNSwxMDgsMTAwLDExNSwzMiwxMTksMTA1LDExNiwxMDQsMTExLDExNywxMTYsMTAsMzIsCisgICAgMzIsMzIsMzIsMTA5LDExNywxMDgsMTE2LDEwNSw0NSwxMTYsMTA0LDExNCwxMDEsOTcsMTAwLDEwNSwKKyAgICAxMTAsMTAzLDMyLDExNSwxMTcsMTEyLDExMiwxMTEsMTE0LDExNiw0Niw5OSwyLDAsMCwwLAorICAgIDAsMCwwLDAsMiwwLDAsMCwyLDAsMCwwLDY3LDAsMCwwLAorICAgIDExNSwyMiwwLDAsMCwxMjQsMSwwLDEyNCwwLDAsOTUsMCwwLDEwMCwxLAorICAgIDAsMTI0LDAsMCw5NSwxLDAsMTAwLDAsMCw4Myw0MSwyLDc4LDExNCw4NCwKKyAgICAwLDAsMCw0MSwyLDExNCw2NywwLDAsMCwxMTQsODksMCwwLDAsNDEsCisgICAgMiwxMTQsNzEsMCwwLDAsMTE0LDY3LDAsMCwwLDExNCw0LDAsMCwwLAorICAgIDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDExNCw3MiwwLDAsMCwyMzgsCisgICAgMCwwLDAsMTE1LDQsMCwwLDAsMCwxLDksMSwxMjIsMjUsOTUsNjgsCisgICAgMTE3LDEwOSwxMDksMTIxLDc3LDExMSwxMDAsMTE3LDEwOCwxMDEsNzYsMTExLDk5LDEwNyw0Niw5NSwKKyAgICA5NSwxMDUsMTEwLDEwNSwxMTYsOTUsOTUsOTksMSwwLDAsMCwwLDAsMCwwLAorICAgIDEsMCwwLDAsMywwLDAsMCw2NywwLDAsMCwxMTUsMTksMCwwLAorICAgIDAsMTI0LDAsMCw0LDEwNiwwLDAsMTAwLDEsMCw1NSwyLDk1LDAsMCwKKyAgICAxMDAsMiwwLDgzLDQxLDMsNzgsMTE0LDI5LDAsMCwwLDg0LDQxLDEsMTE0LAorICAgIDg5LDAsMCwwLDQxLDEsMTE0LDcxLDAsMCwwLDExNCw0LDAsMCwwLAorICAgIDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDExNCw5NywwLDAsMCwyNDIsCisgICAgMCwwLDAsMTE1LDQsMCwwLDAsMCwxLDE1LDEsMTIyLDI0LDk1LDY4LAorICAgIDExNywxMDksMTA5LDEyMSw3NywxMTEsMTAwLDExNywxMDgsMTAxLDc2LDExMSw5OSwxMDcsNDYsOTcsCisgICAgOTksMTEzLDExNywxMDUsMTE0LDEwMSw5OSwxLDAsMCwwLDAsMCwwLDAsMSwKKyAgICAwLDAsMCwzLDAsMCwwLDY3LDAsMCwwLDExNSw0NiwwLDAsMCwKKyAgICAxMjQsMCwwLDEwNiwwLDAsMTAwLDEsMCwxMDcsMiwwLDExNCwyNywwLDExNiwKKyAgICAxLDAsMTAwLDIsMCwxMzEsMSwwLDEzMCwxLDAsMTI0LDAsMCw0LDEwNiwKKyAgICAwLDAsMTAwLDMsMCw1NiwyLDk1LDAsMCwxMDAsMCwwLDgzLDQxLDQsCisgICAgNzgsMTE0LDg0LDAsMCwwLDEyMiwzMSw5OSw5NywxMTAsMTEwLDExMSwxMTYsMzIsMTE0LAorICAgIDEwMSwxMDgsMTAxLDk3LDExNSwxMDEsMzIsMTE3LDExMCw0NSw5Nyw5OSwxMTMsMTE3LDEwNSwxMTQsCisgICAgMTAxLDEwMCwzMiwxMDgsMTExLDk5LDEwNywxMTQsMjksMCwwLDAsNDEsMiwxMTQsODksCisgICAgMCwwLDAsMTE0LDk5LDAsMCwwLDQxLDEsMTE0LDcxLDAsMCwwLDExNCwKKyAgICA0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDExNCw5OCwKKyAgICAwLDAsMCwyNDYsMCwwLDAsMTE1LDYsMCwwLDAsMCwxLDE1LDEsCisgICAgMTIsMSwxMjIsMjQsOTUsNjgsMTE3LDEwOSwxMDksMTIxLDc3LDExMSwxMDAsMTE3LDEwOCwxMDEsCiAgICAgNzYsMTExLDk5LDEwNyw0NiwxMTQsMTAxLDEwOCwxMDEsOTcsMTE1LDEwMSw5OSwxLDAsMCwKICAgICAwLDAsMCwwLDAsMSwwLDAsMCw0LDAsMCwwLDY3LDAsMCwKICAgICAwLDExNSwyNSwwLDAsMCwxMDAsMSwwLDEwNiwwLDAsMTI0LDAsMCwxMDYsCiAgICAgMSwwLDExNiwyLDAsMTI0LDAsMCwxMzEsMSwwLDEzMSwyLDAsODMsNDEsCi0gICAgMiw3OCwxMjIsMjMsOTUsNzcsMTExLDEwMCwxMTcsMTA4LDEwMSw3NiwxMTEsOTksMTA3LDQwLAotICAgIDEyMywzMywxMTQsMTI1LDQxLDMyLDk3LDExNiwzMiwxMjMsMTI1LDQxLDMsMTE0LDQ3LDAsCi0gICAgMCwwLDExNCw2NywwLDAsMCwxMTQsNDgsMCwwLDAsNDEsMSwxMTQsNzEsCi0gICAgMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwKLSAgICAwLDAsMjE4LDgsOTUsOTUsMTE0LDEwMSwxMTIsMTE0LDk1LDk1LDIzMCwwLDAsMCwKLSAgICAxMTUsMiwwLDAsMCwwLDEsMTIyLDIwLDk1LDc3LDExMSwxMDAsMTE3LDEwOCwxMDEsCi0gICAgNzYsMTExLDk5LDEwNyw0Niw5NSw5NSwxMTQsMTAxLDExMiwxMTQsOTUsOTUsNzgsNDEsOSwKLSAgICAxMTQsNTcsMCwwLDAsMTE0LDU2LDAsMCwwLDExNCw1OCwwLDAsMCwxMTQsCi0gICAgNTksMCwwLDAsMTE0LDcyLDAsMCwwLDExNCw5NiwwLDAsMCwxMTQsOTcsCisgICAgMiw3OCwxMjIsMjgsOTUsNjgsMTE3LDEwOSwxMDksMTIxLDc3LDExMSwxMDAsMTE3LDEwOCwxMDEsCisgICAgNzYsMTExLDk5LDEwNyw0MCwxMjMsMzMsMTE0LDEyNSw0MSwzMiw5NywxMTYsMzIsMTIzLDEyNSwKKyAgICA0MSwzLDExNCw0NywwLDAsMCwxMTQsNjcsMCwwLDAsMTE0LDQ4LDAsMCwKKyAgICAwLDQxLDEsMTE0LDcxLDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsCisgICAgMCwwLDExNCw1LDAsMCwwLDExNCwxMDEsMCwwLDAsMjUxLDAsMCwwLAorICAgIDExNSwyLDAsMCwwLDAsMSwxMjIsMjUsOTUsNjgsMTE3LDEwOSwxMDksMTIxLDc3LAorICAgIDExMSwxMDAsMTE3LDEwOCwxMDEsNzYsMTExLDk5LDEwNyw0Niw5NSw5NSwxMTQsMTAxLDExMiwxMTQsCisgICAgOTUsOTUsNzgsNDEsOCwxMTQsNTcsMCwwLDAsMTE0LDU2LDAsMCwwLDExNCwKKyAgICA1OCwwLDAsMCwxMTQsNTksMCwwLDAsMTE0LDcyLDAsMCwwLDExNCw5NywKICAgICAwLDAsMCwxMTQsOTgsMCwwLDAsMTE0LDEwMSwwLDAsMCwxMTQsNCwwLAogICAgIDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsCi0gICAgMCwxMTQsODMsMCwwLDAsMTY2LDAsMCwwLDExNSwxMiwwLDAsMCwxMiwKLSAgICA0LDYsMiwxMiw4LDEyLDEyLDEyLDI1LDEyLDEzLDExNCw4MywwLDAsMCwKLSAgICA5OSwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwyLDAsMCwKLSAgICAwLDY0LDAsMCwwLDExNSw3MCwwLDAsMCwxMDEsMCwwLDkwLDEsMCwKLSAgICAxMDAsMCwwLDkwLDIsMCwxMDAsMSwwLDkwLDMsMCwxMDAsMiwwLDEwMCwKLSAgICAzLDAsMTMyLDAsMCw5MCw0LDAsMTAwLDQsMCwxMDAsNSwwLDEzMiwwLAotICAgIDAsOTAsNSwwLDEwMCw2LDAsMTAwLDcsMCwxMzIsMCwwLDkwLDYsMCwKLSAgICAxMDAsOCwwLDEwMCw5LDAsMTMyLDAsMCw5MCw3LDAsMTAwLDEwLDAsODMsCi0gICAgNDEsMTEsMjE4LDE2LDk1LDY4LDExNywxMDksMTA5LDEyMSw3NywxMTEsMTAwLDExNywxMDgsMTAxLAotICAgIDc2LDExMSw5OSwxMDcsMTIyLDg2LDY1LDMyLDExNSwxMDUsMTA5LDExMiwxMDgsMTAxLDMyLDk1LAotICAgIDc3LDExMSwxMDAsMTE3LDEwOCwxMDEsNzYsMTExLDk5LDEwNywzMiwxMDEsMTEzLDExNywxMDUsMTE4LAotICAgIDk3LDEwOCwxMDEsMTEwLDExNiwzMiwxMDIsMTExLDExNCwzMiw4MCwxMjEsMTE2LDEwNCwxMTEsMTEwLAotICAgIDMyLDk4LDExNywxMDUsMTA4LDEwMCwxMTUsMzIsMTE5LDEwNSwxMTYsMTA0LDExMSwxMTcsMTE2LDEwLAotICAgIDMyLDMyLDMyLDMyLDEwOSwxMTcsMTA4LDExNiwxMDUsNDUsMTE2LDEwNCwxMTQsMTAxLDk3LDEwMCwKLSAgICAxMDUsMTEwLDEwMywzMiwxMTUsMTE3LDExMiwxMTIsMTExLDExNCwxMTYsNDYsOTksMiwwLDAsCi0gICAgMCwwLDAsMCwwLDIsMCwwLDAsMiwwLDAsMCw2NywwLDAsCi0gICAgMCwxMTUsMjIsMCwwLDAsMTI0LDEsMCwxMjQsMCwwLDk1LDAsMCwxMDAsCi0gICAgMSwwLDEyNCwwLDAsOTUsMSwwLDEwMCwwLDAsODMsNDEsMiw3OCwxMTQsCi0gICAgODQsMCwwLDAsNDEsMiwxMTQsNjcsMCwwLDAsMTE0LDg5LDAsMCwwLAotICAgIDQxLDIsMTE0LDcxLDAsMCwwLDExNCw2NywwLDAsMCwxMTQsNCwwLDAsCi0gICAgMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsNzIsMCwwLDAsCi0gICAgMjM4LDAsMCwwLDExNSw0LDAsMCwwLDAsMSw5LDEsMTIyLDI1LDk1LAotICAgIDY4LDExNywxMDksMTA5LDEyMSw3NywxMTEsMTAwLDExNywxMDgsMTAxLDc2LDExMSw5OSwxMDcsNDYsCi0gICAgOTUsOTUsMTA1LDExMCwxMDUsMTE2LDk1LDk1LDk5LDEsMCwwLDAsMCwwLDAsCi0gICAgMCwxLDAsMCwwLDMsMCwwLDAsNjcsMCwwLDAsMTE1LDE5LDAsCi0gICAgMCwwLDEyNCwwLDAsNCwxMDYsMCwwLDEwMCwxLDAsNTUsMiw5NSwwLAotICAgIDAsMTAwLDIsMCw4Myw0MSwzLDc4LDExNCwyOSwwLDAsMCw4NCw0MSwxLAotICAgIDExNCw4OSwwLDAsMCw0MSwxLDExNCw3MSwwLDAsMCwxMTQsNCwwLDAsCi0gICAgMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsOTcsMCwwLDAsCi0gICAgMjQyLDAsMCwwLDExNSw0LDAsMCwwLDAsMSwxNSwxLDEyMiwyNCw5NSwKLSAgICA2OCwxMTcsMTA5LDEwOSwxMjEsNzcsMTExLDEwMCwxMTcsMTA4LDEwMSw3NiwxMTEsOTksMTA3LDQ2LAotICAgIDk3LDk5LDExMywxMTcsMTA1LDExNCwxMDEsOTksMSwwLDAsMCwwLDAsMCwwLAotICAgIDEsMCwwLDAsMywwLDAsMCw2NywwLDAsMCwxMTUsNDksMCwwLAotICAgIDAsMTI0LDAsMCwxMDYsMCwwLDEwMCwxLDAsMTA3LDIsMCwxMTQsMzAsMCwKLSAgICAxMTYsMSwwLDEwMCwyLDAsMTMxLDEsMCwxMzAsMSwwLDExMCwwLDAsMTI0LAotICAgIDAsMCw0LDEwNiwwLDAsMTAwLDMsMCw1NiwyLDk1LDAsMCwxMDAsMCwKLSAgICAwLDgzLDQxLDQsNzgsMTE0LDg0LDAsMCwwLDEyMiwzMSw5OSw5NywxMTAsMTEwLAotICAgIDExMSwxMTYsMzIsMTE0LDEwMSwxMDgsMTAxLDk3LDExNSwxMDEsMzIsMTE3LDExMCw0NSw5Nyw5OSwKLSAgICAxMTMsMTE3LDEwNSwxMTQsMTAxLDEwMCwzMiwxMDgsMTExLDk5LDEwNywxMTQsMjksMCwwLDAsCi0gICAgNDEsMiwxMTQsODksMCwwLDAsMTE0LDk5LDAsMCwwLDQxLDEsMTE0LDcxLAotICAgIDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsCi0gICAgMCwwLDExNCw5OCwwLDAsMCwyNDYsMCwwLDAsMTE1LDYsMCwwLDAsCi0gICAgMCwxLDE1LDEsMTUsMSwxMjIsMjQsOTUsNjgsMTE3LDEwOSwxMDksMTIxLDc3LDExMSwKLSAgICAxMDAsMTE3LDEwOCwxMDEsNzYsMTExLDk5LDEwNyw0NiwxMTQsMTAxLDEwOCwxMDEsOTcsMTE1LDEwMSwKLSAgICA5OSwxLDAsMCwwLDAsMCwwLDAsMSwwLDAsMCw0LDAsMCwKLSAgICAwLDY3LDAsMCwwLDExNSwyNSwwLDAsMCwxMDAsMSwwLDEwNiwwLDAsCi0gICAgMTI0LDAsMCwxMDYsMSwwLDExNiwyLDAsMTI0LDAsMCwxMzEsMSwwLDEzMSwKLSAgICAyLDAsODMsNDEsMiw3OCwxMjIsMjgsOTUsNjgsMTE3LDEwOSwxMDksMTIxLDc3LDExMSwKLSAgICAxMDAsMTE3LDEwOCwxMDEsNzYsMTExLDk5LDEwNyw0MCwxMjMsMzMsMTE0LDEyNSw0MSwzMiw5NywKLSAgICAxMTYsMzIsMTIzLDEyNSw0MSwzLDExNCw0NywwLDAsMCwxMTQsNjcsMCwwLDAsCi0gICAgMTE0LDQ4LDAsMCwwLDQxLDEsMTE0LDcxLDAsMCwwLDExNCw0LDAsMCwKLSAgICAwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDExNCwxMDEsMCwwLDAsCi0gICAgMjUxLDAsMCwwLDExNSwyLDAsMCwwLDAsMSwxMjIsMjUsOTUsNjgsMTE3LAotICAgIDEwOSwxMDksMTIxLDc3LDExMSwxMDAsMTE3LDEwOCwxMDEsNzYsMTExLDk5LDEwNyw0Niw5NSw5NSwKLSAgICAxMTQsMTAxLDExMiwxMTQsOTUsOTUsNzgsNDEsOCwxMTQsNTcsMCwwLDAsMTE0LDU2LAotICAgIDAsMCwwLDExNCw1OCwwLDAsMCwxMTQsNTksMCwwLDAsMTE0LDcyLDAsCi0gICAgMCwwLDExNCw5NywwLDAsMCwxMTQsOTgsMCwwLDAsMTE0LDEwMSwwLDAsCi0gICAgMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwKLSAgICAxMTQsNSwwLDAsMCwxMTQsMTAyLDAsMCwwLDIzNCwwLDAsMCwxMTUsMTAsCi0gICAgMCwwLDAsMTIsMiw2LDIsMTIsNCwxMiw0LDEyLDUsMTE0LDEwMiwwLAotICAgIDAsMCw5OSwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwyLAotICAgIDAsMCwwLDY0LDAsMCwwLDExNSw1MiwwLDAsMCwxMDEsMCwwLDkwLAotICAgIDEsMCwxMDAsMCwwLDkwLDIsMCwxMDAsMSwwLDEwMCwyLDAsMTMyLDAsCi0gICAgMCw5MCwzLDAsMTAwLDMsMCwxMDAsNCwwLDEzMiwwLDAsOTAsNCwwLAotICAgIDEwMCw1LDAsMTAwLDYsMCwxMzIsMCwwLDkwLDUsMCwxMDAsNywwLDgzLAotICAgIDQxLDgsMjE4LDE4LDk1LDc3LDExMSwxMDAsMTE3LDEwOCwxMDEsNzYsMTExLDk5LDEwNyw3NywKLSAgICA5NywxMTAsOTcsMTAzLDEwMSwxMTQsOTksMiwwLDAsMCwwLDAsMCwwLDIsCi0gICAgMCwwLDAsMiwwLDAsMCw2NywwLDAsMCwxMTUsMjIsMCwwLDAsCi0gICAgMTI0LDEsMCwxMjQsMCwwLDk1LDAsMCwxMDAsMCwwLDEyNCwwLDAsOTUsCi0gICAgMSwwLDEwMCwwLDAsODMsNDEsMSw3OCw0MSwyLDExNCw3MCwwLDAsMCwKLSAgICAyMTgsNSw5NSwxMDgsMTExLDk5LDEwNyw0MSwyLDExNCw3MSwwLDAsMCwxMTQsNjcsCi0gICAgMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwKLSAgICAwLDAsMTE0LDcyLDAsMCwwLDEsMSwwLDAsMTE1LDQsMCwwLDAsCi0gICAgMCwxLDksMSwxMjIsMjcsOTUsNzcsMTExLDEwMCwxMTcsMTA4LDEwMSw3NiwxMTEsOTksCi0gICAgMTA3LDc3LDk3LDExMCw5NywxMDMsMTAxLDExNCw0Niw5NSw5NSwxMDUsMTEwLDEwNSwxMTYsOTUsCi0gICAgOTUsOTksMSwwLDAsMCwwLDAsMCwwLDEsMCwwLDAsMTAsMCwKLSAgICAwLDAsNjcsMCwwLDAsMTE1LDUzLDAsMCwwLDEyMiwyMiwwLDExNiwwLAotICAgIDAsMTI0LDAsMCwxMDYsMSwwLDEzMSwxLDAsMTI0LDAsMCw5NSwyLDAsCi0gICAgODcsMTAwLDAsMCwxMTYsMywwLDEwNiw0LDAsMTMxLDAsMCwxLDg4LDEyNCwKLSAgICAwLDAsMTA2LDIsMCwxMDYsNSwwLDEzMSwwLDAsMSwxMDAsMCwwLDgzLAotICAgIDQxLDEsNzgsNDEsNiwyMTgsMTYsOTUsMTAzLDEwMSwxMTYsOTUsMTA5LDExMSwxMDAsMTE3LAotICAgIDEwOCwxMDEsOTUsMTA4LDExMSw5OSwxMDcsMTE0LDcwLDAsMCwwLDExNCwxMDQsMCwwLAotICAgIDAsMjE4LDQsOTUsMTA1LDEwOSwxMTIsMjE4LDEyLDExNCwxMDEsMTA4LDEwMSw5NywxMTUsMTAxLAotICAgIDk1LDEwOCwxMTEsOTksMTA3LDExNCw5NywwLDAsMCw0MSwxLDExNCw3MSwwLDAsCi0gICAgMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwKLSAgICAxMTQsNzUsMCwwLDAsNSwxLDAsMCwxMTUsOCwwLDAsMCwwLDEsCi0gICAgMywxLDIyLDIsMTEsMSwxMjIsMjgsOTUsNzcsMTExLDEwMCwxMTcsMTA4LDEwMSw3NiwKLSAgICAxMTEsOTksMTA3LDc3LDk3LDExMCw5NywxMDMsMTAxLDExNCw0Niw5NSw5NSwxMDEsMTEwLDExNiwKLSAgICAxMDEsMTE0LDk1LDk1LDk5LDEsMCwwLDAsMCwwLDAsMCwzLDAsMCwKLSAgICAwLDEsMCwwLDAsNzksMCwwLDAsMTE1LDE3LDAsMCwwLDEyNCwwLAotICAgIDAsMTA2LDAsMCwxMDYsMSwwLDEzMSwwLDAsMSwxMDAsMCwwLDgzLDQxLAotICAgIDEsNzgsNDEsMiwxMTQsMTA0LDAsMCwwLDExNCw5OCwwLDAsMCw0MSwzLAotICAgIDExNCw3MSwwLDAsMCwxMTQsODAsMCwwLDAsMjE4LDYsMTA3LDExOSw5NywxMTQsCi0gICAgMTAzLDExNSwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsCi0gICAgMCwxMTQsODEsMCwwLDAsMTIsMSwwLDAsMTE1LDIsMCwwLDAsMCwKLSAgICAxLDEyMiwyNyw5NSw3NywxMTEsMTAwLDExNywxMDgsMTAxLDc2LDExMSw5OSwxMDcsNzcsOTcsCi0gICAgMTEwLDk3LDEwMywxMDEsMTE0LDQ2LDk1LDk1LDEwMSwxMjAsMTA1LDExNiw5NSw5NSw3OCw0MSwKLSAgICA2LDExNCw1NywwLDAsMCwxMTQsNTYsMCwwLDAsMTE0LDU4LDAsMCwwLAotICAgIDExNCw3MiwwLDAsMCwxMTQsNzUsMCwwLDAsMTE0LDgxLDAsMCwwLDExNCwKLSAgICA0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LAotICAgIDAsMCwwLDExNCwxMDMsMCwwLDAsMjU1LDAsMCwwLDExNSw2LDAsMCwKLSAgICAwLDEyLDIsMTIsNCwxMiw3LDExNCwxMDMsMCwwLDAsOTksMSwwLDAsCi0gICAgMCwwLDAsMCwwLDMsMCwwLDAsMTEsMCwwLDAsMywwLDAsCi0gICAgMCwxMTUsMTQyLDAsMCwwLDEwMCwxLDAsMTI1LDEsMCwxMjEsMTcsMCwxMTYsCi0gICAgMCwwLDEzNiwwLDAsMjUsMTMxLDAsMCwxMjUsMSwwLDg3LDExMCwxOCwwLAotICAgIDQsMTE2LDEsMCwxMDcsMTAsMCwxMTQsNDMsMCwxLDEsMSw4OSwxMTAsMSwKLSAgICAwLDg4LDEyNCwxLDAsMTAwLDEsMCwxMDcsOCwwLDExNCwxMzgsMCwxMTYsMiwKLSAgICAwLDEwMCwxLDAsMTA3LDgsMCwxMTQsODMsMCwxMTYsMywwLDEzNiwwLDAsCi0gICAgMTMxLDEsMCwxMjUsMSwwLDExMCwxMiwwLDExNiw0LDAsMTM2LDAsMCwxMzEsCi0gICAgMSwwLDEyNSwxLDAsMTM1LDAsMCwxMDIsMSwwLDEwMCwyLDAsMTAwLDMsCi0gICAgMCwxMzQsMCwwLDEyNSwyLDAsMTE2LDUsMCwxMDYsNiwwLDEyNCwxLDAsCi0gICAgMTI0LDIsMCwxMzEsMiwwLDExNiwwLDAsMTM2LDAsMCw2MCwxMTAsMCwwLAotICAgIDEyNCwxLDAsODMsNDEsNCwxMjIsMTA5LDcxLDEwMSwxMTYsMzIsMTExLDExNCwzMiw5OSwKLSAgICAxMTQsMTAxLDk3LDExNiwxMDEsMzIsMTE2LDEwNCwxMDEsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsCi0gICAgMzIsMTA4LDExMSw5OSwxMDcsMzIsMTAyLDExMSwxMTQsMzIsOTcsMzIsMTAzLDEwNSwxMTgsMTAxLAotICAgIDExMCwzMiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwzMiwxMTAsOTcsMTA5LDEwMSw0NiwxMCwxMCwKLSAgICAzMiwzMiwzMiwzMiw4MywxMDQsMTExLDExNywxMDgsMTAwLDMyLDExMSwxMTAsMTA4LDEyMSwzMiwKLSAgICA5OCwxMDEsMzIsOTksOTcsMTA4LDEwOCwxMDEsMTAwLDMyLDExOSwxMDUsMTE2LDEwNCwzMiwxMTYsCi0gICAgMTA0LDEwMSwzMiwxMDUsMTA5LDExMiwxMTEsMTE0LDExNiwzMiwxMDgsMTExLDk5LDEwNywzMiwxMTYsCi0gICAgOTcsMTA3LDEwMSwxMTAsNDYsNzgsOTksMSwwLDAsMCwwLDAsMCwwLDEsCi0gICAgMCwwLDAsMiwwLDAsMCwxOSwwLDAsMCwxMTUsMTEsMCwwLDAsCi0gICAgMTE2LDAsMCwxMzYsMCwwLDYxLDEwMCwwLDAsODMsNDEsMSw3OCw0MSwxLAotICAgIDIxOCwxMyw5NSwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSw5NSwxMDgsMTExLDk5LDEwNywxMTUsNDEsCi0gICAgMSwxMTQsMzYsMCwwLDAsNDEsMSwxMTQsNjcsMCwwLDAsMTE0LDQsMCwKLSAgICAwLDAsMTE0LDUsMCwwLDAsMjE4LDIsOTksOTgsMzIsMSwwLDAsMTE1LAotICAgIDIsMCwwLDAsMCwxLDEyMiwyOCw5NSwxMDMsMTAxLDExNiw5NSwxMDksMTExLDEwMCwKLSAgICAxMTcsMTA4LDEwMSw5NSwxMDgsMTExLDk5LDEwNyw0Niw2MCwxMDgsMTExLDk5LDk3LDEwOCwxMTUsCi0gICAgNjIsNDYsOTksOTgsNDEsNywxMTQsMTA5LDAsMCwwLDExNCw3OSwwLDAsMCwKLSAgICAxMTQsODUsMCwwLDAsMTE0LDEwMiwwLDAsMCwxMTQsODMsMCwwLDAsMjE4LAotICAgIDgsOTUsMTE5LDEwMSw5NywxMDcsMTE0LDEwMSwxMDIsOTAsMywxMTQsMTAxLDEwMiw0MSwzLAotICAgIDExNCw2NywwLDAsMCwxMTQsODYsMCwwLDAsMTE0LDExMCwwLDAsMCwxMTQsCi0gICAgNCwwLDAsMCw0MSwxLDExNCw2NywwLDAsMCwxMTQsNSwwLDAsMCwKLSAgICAxMTQsMTA1LDAsMCwwLDE4LDEsMCwwLDExNSwyNCwwLDAsMCwwLDQsCi0gICAgNiwxLDMsMSwxNywxLDEzLDEsNSwxLDEyLDEsMTIsMSwxNSwyLAotICAgIDEyLDEsMTgsMiwyNSwxLDExNCwxMDUsMCwwLDAsOTksMSwwLDAsMCwKLSAgICAwLDAsMCwwLDIsMCwwLDAsMTEsMCwwLDAsNjcsMCwwLDAsCi0gICAgMTE1LDcxLDAsMCwwLDExNiwwLDAsMTI0LDAsMCwxMzEsMSwwLDEyNSwxLAotICAgIDAsMTE2LDEsMCwxMDYsMiwwLDEzMSwwLDAsMSwxMjEsMTQsMCwxMjQsMSwKLSAgICAwLDEwNiwzLDAsMTMxLDAsMCwxLDg3LDExMCwxOCwwLDQsMTE2LDQsMCwKLSAgICAxMDcsMTAsMCwxMTQsNTYsMCwxLDEsMSw4OSwxMTAsMTEsMCw4OCwxMjQsMSwKLSAgICAwLDEwNiw1LDAsMTMxLDAsMCwxLDEwMCwxLDAsODMsNDEsMiw5NywyMSwKLSAgICAxLDAsMCw4MiwxMDEsMTA4LDEwMSw5NywxMTUsMTAxLDMyLDExNiwxMDQsMTAxLDMyLDEwMywKLSAgICAxMDgsMTExLDk4LDk3LDEwOCwzMiwxMDUsMTA5LDExMiwxMTEsMTE0LDExNiwzMiwxMDgsMTExLDk5LAotICAgIDEwNyw0NCwzMiw5NywxMTAsMTAwLDMyLDk3LDk5LDExMywxMTcsMTA1LDExNCwxMDEsMTE1LDMyLAotICAgIDExNiwxMDQsMTAxLDExMCwzMiwxMTQsMTAxLDEwOCwxMDEsOTcsMTE1LDEwMSwzMiwxMTYsMTA0LDEwMSwKLSAgICAxMCwzMiwzMiwzMiwzMiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwzMiwxMDgsMTExLDk5LDEwNywKLSAgICAzMiwxMDIsMTExLDExNCwzMiw5NywzMiwxMDMsMTA1LDExOCwxMDEsMTEwLDMyLDEwOSwxMTEsMTAwLAotICAgIDExNywxMDgsMTAxLDMyLDExMCw5NywxMDksMTAxLDQ2LDEwLDMyLDMyLDMyLDMyLDg0LDEwNCwKLSAgICAxMDUsMTE1LDMyLDEwNSwxMTUsMzIsMTE3LDExNSwxMDEsMTAwLDMyLDExNiwxMTEsMzIsMTAxLDExMCwKLSAgICAxMTUsMTE3LDExNCwxMDEsMzIsOTcsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMzIsMTA1LDExNSwKLSAgICAzMiw5OSwxMTEsMTA5LDExMiwxMDgsMTAxLDExNiwxMDEsMTA4LDEyMSwzMiwxMDUsMTEwLDEwNSwxMTYsCi0gICAgMTA1LDk3LDEwOCwxMDUsMTIyLDEwMSwxMDAsNDQsMzIsMTA1LDExMCwzMiwxMTYsMTA0LDEwMSwxMCwKLSAgICAzMiwzMiwzMiwzMiwxMDEsMTE4LDEwMSwxMTAsMTE2LDMyLDEwNSwxMTYsMzIsMTA1LDExNSwzMiwKLSAgICA5OCwxMDEsMTA1LDExMCwxMDMsMzIsMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsMTAxLDEwMCwzMiw5OCwKLSAgICAxMjEsMzIsOTcsMTEwLDExMSwxMTYsMTA0LDEwMSwxMTQsMzIsMTE2LDEwNCwxMTQsMTAxLDk3LDEwMCwKLSAgICA0NiwxMCwxMCwzMiwzMiwzMiwzMiw4MywxMDQsMTExLDExNywxMDgsMTAwLDMyLDExMSwxMTAsCi0gICAgMTA4LDEyMSwzMiw5OCwxMDEsMzIsOTksOTcsMTA4LDEwOCwxMDEsMTAwLDMyLDExOSwxMDUsMTE2LAotICAgIDEwNCwzMiwxMTYsMTA0LDEwMSwzMiwxMDUsMTA5LDExMiwxMTEsMTE0LDExNiwzMiwxMDgsMTExLDk5LAotICAgIDEwNywzMiwxMTYsOTcsMTA3LDEwMSwxMTAsNDYsNzgsNDEsNiwxMTQsMTA1LDAsMCwwLAotICAgIDExNCwxMDYsMCwwLDAsMTE0LDEwNywwLDAsMCwxMTQsOTcsMCwwLDAsMTE0LAotICAgIDgyLDAsMCwwLDExNCw5OCwwLDAsMCw0MSwyLDExNCw2NywwLDAsMCwKLSAgICAxMTQsODYsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LAotICAgIDUsMCwwLDAsMjE4LDE5LDk1LDEwOCwxMTEsOTksMTA3LDk1LDExNywxMTAsMTA4LDExMSwKLSAgICA5OSwxMDcsOTUsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMzcsMSwwLDAsMTE1LDE0LDAsCi0gICAgMCwwLDAsNywxMiwxLDEwLDEsMywxLDE0LDEsMTMsMyw1LDIsCi0gICAgMTE0LDExMiwwLDAsMCw5OSwxLDAsMCwwLDAsMCwwLDAsMywwLAotICAgIDAsMCwzLDAsMCwwLDc5LDAsMCwwLDExNSwxMywwLDAsMCwxMjQsCi0gICAgMCwwLDEyNCwxLDAsMTI0LDIsMCwxNDIsMCwwLDgzLDQxLDEsOTcsNDYsCi0gICAgMSwwLDAsMTE0LDEwMSwxMDksMTExLDExOCwxMDEsOTUsMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsCi0gICAgMTA4LDEwNSw5OCw5NSwxMDIsMTE0LDk3LDEwOSwxMDEsMTE1LDMyLDEwNSwxMTAsMzIsMTA1LDEwOSwKLSAgICAxMTIsMTExLDExNCwxMTYsNDYsOTksMzIsMTE5LDEwNSwxMDgsMTA4LDMyLDk3LDEwOCwxMTksOTcsCi0gICAgMTIxLDExNSwzMiwxMTQsMTAxLDEwOSwxMTEsMTE4LDEwMSwzMiwxMTUsMTAxLDExMywxMTcsMTAxLDExMCwKLSAgICA5OSwxMDEsMTE1LDEwLDMyLDMyLDMyLDMyLDExMSwxMDIsMzIsMTA1LDEwOSwxMTIsMTExLDExNCwKLSAgICAxMTYsMTA4LDEwNSw5OCwzMiwxMDIsMTE0LDk3LDEwOSwxMDEsMTE1LDMyLDExNiwxMDQsOTcsMTE2LAotICAgIDMyLDEwMSwxMTAsMTAwLDMyLDExOSwxMDUsMTE2LDEwNCwzMiw5NywzMiw5OSw5NywxMDgsMTA4LAotICAgIDMyLDExNiwxMTEsMzIsMTE2LDEwNCwxMDUsMTE1LDMyLDEwMiwxMTcsMTEwLDk5LDExNiwxMDUsMTExLAotICAgIDExMCwxMCwxMCwzMiwzMiwzMiwzMiw4NSwxMTUsMTAxLDMyLDEwNSwxMTYsMzIsMTA1LDExMCwKLSAgICAxMTUsMTE2LDEwMSw5NywxMDAsMzIsMTExLDEwMiwzMiw5NywzMiwxMTAsMTExLDExNCwxMDksOTcsCi0gICAgMTA4LDMyLDk5LDk3LDEwOCwxMDgsMzIsMTA1LDExMCwzMiwxMTIsMTA4LDk3LDk5LDEwMSwxMTUsCi0gICAgMzIsMTE5LDEwNCwxMDEsMTE0LDEwMSwzMiwxMDUsMTEwLDk5LDEwOCwxMTcsMTAwLDEwNSwxMTAsMTAzLAotICAgIDMyLDExNiwxMDQsMTAxLDMyLDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDEwOCwxMDUsOTgsMTAsMzIsCi0gICAgMzIsMzIsMzIsMTAyLDExNCw5NywxMDksMTAxLDExNSwzMiwxMDUsMTEwLDExNiwxMTQsMTExLDEwMCwKLSAgICAxMTcsOTksMTAxLDExNSwzMiwxMTcsMTEwLDExOSw5NywxMTAsMTE2LDEwMSwxMDAsMzIsMTEwLDExMSwKLSAgICAxMDUsMTE1LDEwMSwzMiwxMDUsMTEwLDExNiwxMTEsMzIsMTE2LDEwNCwxMDEsMzIsMTE2LDExNCw5NywKLSAgICA5OSwxMDEsOTgsOTcsOTksMTA3LDMyLDQwLDEwMSw0NiwxMDMsNDYsMzIsMTE5LDEwNCwxMDEsCi0gICAgMTEwLDMyLDEwMSwxMjAsMTAxLDk5LDExNywxMTYsMTA1LDExMCwxMDMsMTAsMzIsMzIsMzIsMzIsCi0gICAgMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMzIsOTksMTExLDEwMCwxMDEsNDEsMTAsMzIsMzIsMzIsCi0gICAgMzIsMTE0LDQsMCwwLDAsNDEsMywyMTgsMSwxMDIsMTE0LDgwLDAsMCwwLAotICAgIDkwLDQsMTA3LDExOSwxMDAsMTE1LDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLAotICAgIDExNCw1LDAsMCwwLDIxOCwyNSw5NSw5OSw5NywxMDgsMTA4LDk1LDExOSwxMDUsMTE2LAotICAgIDEwNCw5NSwxMDIsMTE0LDk3LDEwOSwxMDEsMTE1LDk1LDExNCwxMDEsMTA5LDExMSwxMTgsMTAxLDEwMCwKLSAgICA1NywxLDAsMCwxMTUsMiwwLDAsMCwwLDgsMTE0LDExNCwwLDAsMCwKLSAgICAxMDUsMjM4LDEyLDAsMCwyMzMsMiwwLDAsMCwxMTQsMTMsMCwwLDAsMTE1LAotICAgIDIsMCwwLDAsMTMsMTAsOTAsMTEsOTUsOTUsMTEyLDEyMSw5OSw5Nyw5OSwxMDQsCi0gICAgMTAxLDk1LDk1LDEyMiwzLDQ2LDExMiwxMjEsMTIyLDQsNDYsMTEyLDEyMSw5OSwxMjIsNCwKLSAgICA0NiwxMTIsMTIxLDExMSw3OCw5OSwyLDAsMCwwLDAsMCwwLDAsMTEsMCwKLSAgICAwLDAsNiwwLDAsMCw2NywwLDAsMCwxMTUsMTkyLDAsMCwwLDEyNCwKLSAgICAxLDAsMTAwLDEsMCwxMDcsOCwwLDExNCwyNSwwLDExNiwwLDAsMTA2LDEsCi0gICAgMCwxMDYsMiwwLDEyLDExMCwzLDAsMTI0LDEsMCwxMjUsMiwwLDEyNCwyLAotICAgIDAsMTE0LDQ2LDAsMTE2LDMsMCwxMjUsMywwLDExMCw2LDAsMTE2LDQsMCwKLSAgICAxMjUsMywwLDExNiw1LDAsMTI0LDAsMCwxMzEsMSwwLDkyLDIsMCwxMjUsCi0gICAgNCwwLDEyNSw1LDAsMTI0LDUsMCwxMDYsNiwwLDEwMCwyLDAsMTMxLDEsCi0gICAgMCw5MiwzLDAsMTI1LDYsMCwxMjUsNywwLDEyNSw4LDAsMTE2LDAsMCwKLSAgICAxMDYsNywwLDEwNiw4LDAsMTI1LDksMCwxMjQsOSwwLDEwMCwxLDAsMTA3LAotICAgIDgsMCwxMTQsMTMzLDAsMTE2LDksMCwxMDAsMywwLDEzMSwxLDAsMTMwLDEsCi0gICAgMCwxMTAsMCwwLDEwMCw0LDAsMTA2LDEwLDAsMTI0LDYsMCwxMTQsMTUxLDAsCi0gICAgMTI0LDYsMCwxMTAsMywwLDEyNCw4LDAsMTI0LDcsMCwxMjQsOSwwLDEyNCwKLSAgICAzLDAsMTAwLDUsMCwyNSwxMDMsNCwwLDEzMSwxLDAsMTI1LDEwLDAsMTE2LAotICAgIDExLDAsMTI0LDQsMCwxMTYsMTIsMCwxMjQsMTAsMCwxMzEsMywwLDgzLDQxLAotICAgIDYsOTcsMjQ0LDEsMCwwLDcxLDEwNSwxMTgsMTAxLDExMCwzMiwxMTYsMTA0LDEwMSwzMiwKLSAgICAxMTIsOTcsMTE2LDEwNCwzMiwxMTYsMTExLDMyLDk3LDMyLDQ2LDExMiwxMjEsMzIsMTAyLDEwNSwKLSAgICAxMDgsMTAxLDQ0LDMyLDExNCwxMDEsMTE2LDExNywxMTQsMTEwLDMyLDExNiwxMDQsMTAxLDMyLDExMiwKLSAgICA5NywxMTYsMTA0LDMyLDExNiwxMTEsMzIsMTA1LDExNiwxMTUsMzIsNDYsMTEyLDEyMSw5OSw0NywKLSAgICA0NiwxMTIsMTIxLDExMSwzMiwxMDIsMTA1LDEwOCwxMDEsNDYsMTAsMTAsMzIsMzIsMzIsMzIsCi0gICAgODQsMTA0LDEwMSwzMiw0NiwxMTIsMTIxLDMyLDEwMiwxMDUsMTA4LDEwMSwzMiwxMDAsMTExLDEwMSwKLSAgICAxMTUsMzIsMTEwLDExMSwxMTYsMzIsMTEwLDEwMSwxMDEsMTAwLDMyLDExNiwxMTEsMzIsMTAxLDEyMCwKLSAgICAxMDUsMTE1LDExNiw1OSwzMiwxMTYsMTA0LDEwNSwxMTUsMzIsMTE1LDEwNSwxMDksMTEyLDEwOCwxMjEsCi0gICAgMzIsMTE0LDEwMSwxMTYsMTE3LDExNCwxMTAsMTE1LDMyLDExNiwxMDQsMTAxLDMyLDExMiw5NywxMTYsCi0gICAgMTA0LDMyLDExNiwxMTEsMzIsMTE2LDEwNCwxMDEsMTAsMzIsMzIsMzIsMzIsNDYsMTEyLDEyMSwKLSAgICA5OSw0Nyw0NiwxMTIsMTIxLDExMSwzMiwxMDIsMTA1LDEwOCwxMDEsMzIsOTksOTcsMTA4LDk5LAotICAgIDExNywxMDgsOTcsMTE2LDEwMSwxMDAsMzIsOTcsMTE1LDMyLDEwNSwxMDIsMzIsMTE2LDEwNCwxMDEsCi0gICAgMzIsNDYsMTEyLDEyMSwzMiwxMDIsMTA1LDEwOCwxMDEsMzIsMTE5LDEwMSwxMTQsMTAxLDMyLDEwNSwKLSAgICAxMDksMTEyLDExMSwxMTQsMTE2LDEwMSwxMDAsNDYsMzIsMzIsODQsMTA0LDEwMSwzMiwxMDEsMTIwLAotICAgIDExNiwxMDEsMTEwLDExNSwxMDUsMTExLDExMCwxMCwzMiwzMiwzMiwzMiwxMTksMTA1LDEwOCwxMDgsCi0gICAgMzIsOTgsMTAxLDMyLDQ2LDExMiwxMjEsOTksMzIsMTE3LDExMCwxMDgsMTAxLDExNSwxMTUsMzIsCi0gICAgMTE1LDEyMSwxMTUsNDYsMTAyLDEwOCw5NywxMDMsMTE1LDQ2LDExMSwxMTIsMTE2LDEwNSwxMDksMTA1LAotICAgIDEyMiwxMDEsMzIsMTA1LDExNSwzMiwxMTAsMTExLDExMCw0NSwxMjIsMTAxLDExNCwxMTEsNDQsMzIsCi0gICAgMTE2LDEwNCwxMDEsMTEwLDMyLDEwNSwxMTYsMzIsMTE5LDEwNSwxMDgsMTA4LDMyLDk4LDEwMSwzMiwKLSAgICA0NiwxMTIsMTIxLDExMSw0NiwxMCwxMCwzMiwzMiwzMiwzMiw3MywxMDIsMzIsMTAwLDEwMSwKLSAgICA5OCwxMTcsMTAzLDk1LDExMSwxMTgsMTAxLDExNCwxMTQsMTA1LDEwMCwxMDEsMzIsMTA1LDExNSwzMiwKLSAgICAxMTAsMTExLDExNiwzMiw3OCwxMTEsMTEwLDEwMSw0NCwzMiwxMTYsMTA0LDEwMSwxMTAsMzIsMTA1LAotICAgIDExNiwzMiwxMDksMTE3LDExNSwxMTYsMzIsOTgsMTAxLDMyLDk3LDMyLDk4LDExMSwxMTEsMTA4LAotICAgIDEwMSw5NywxMTAsMzIsOTcsMTEwLDEwMCwzMiwxMDUsMTE1LDMyLDExNywxMTUsMTAxLDEwMCwzMiwKLSAgICAxMDUsMTEwLDEwLDMyLDMyLDMyLDMyLDExMiwxMDgsOTcsOTksMTAxLDMyLDExMSwxMDIsMzIsCi0gICAgMTE1LDEyMSwxMTUsNDYsMTAyLDEwOCw5NywxMDMsMTE1LDQ2LDExMSwxMTIsMTE2LDEwNSwxMDksMTA1LAotICAgIDEyMiwxMDEsNDYsMTAsMTAsMzIsMzIsMzIsMzIsNzMsMTAyLDMyLDExNSwxMjEsMTE1LDQ2LAotICAgIDEwNSwxMDksMTEyLDEwOCwxMDEsMTA5LDEwMSwxMTAsMTE2LDk3LDExNiwxMDUsMTExLDExMCw0Niw5OSwKLSAgICA5Nyw5OSwxMDQsMTAxLDk1LDExNiw5NywxMDMsMzIsMTA1LDExNSwzMiw3OCwxMTEsMTEwLDEwMSwKLSAgICAzMiwxMTYsMTA0LDEwMSwxMTAsMzIsNzgsMTExLDExNiw3MywxMDksMTEyLDEwOCwxMDEsMTA5LDEwMSwKLSAgICAxMTAsMTE2LDEwMSwxMDAsNjksMTE0LDExNCwxMTEsMTE0LDMyLDEwNSwxMTUsMzIsMTE0LDk3LDEwNSwKLSAgICAxMTUsMTAxLDEwMCw0NiwxMCwxMCwzMiwzMiwzMiwzMiw3OCwyMTgsMSw0NiwxMjIsMzYsCi0gICAgMTE1LDEyMSwxMTUsNDYsMTA1LDEwOSwxMTIsMTA4LDEwMSwxMDksMTAxLDExMCwxMTYsOTcsMTE2LDEwNSwKLSAgICAxMTEsMTEwLDQ2LDk5LDk3LDk5LDEwNCwxMDEsOTUsMTE2LDk3LDEwMywzMiwxMDUsMTE1LDMyLAotICAgIDc4LDExMSwxMTAsMTAxLDExNCwzMCwwLDAsMCwxMTQsODQsMCwwLDAsNDEsMTMsCi0gICAgMTE0LDcsMCwwLDAsMjE4LDUsMTAyLDEwOCw5NywxMDMsMTE1LDIxOCw4LDExMSwxMTIsCi0gICAgMTE2LDEwNSwxMDksMTA1LDEyMiwxMDEsMjE4LDIzLDY4LDY5LDY2LDg1LDcxLDk1LDY2LDg5LAotICAgIDg0LDY5LDY3LDc5LDY4LDY5LDk1LDgzLDg1LDcwLDcwLDczLDg4LDY5LDgzLDIxOCwKLSAgICAyNyw3OSw4MCw4NCw3Myw3Nyw3Myw5MCw2OSw2OCw5NSw2Niw4OSw4NCw2OSw2NywKLSAgICA3OSw2OCw2OSw5NSw4Myw4NSw3MCw3MCw3Myw4OCw2OSw4MywxMTQsMzgsMCwwLAotICAgIDAsMTE0LDMyLDAsMCwwLDIxOCwxNCwxMDUsMTA5LDExMiwxMDgsMTAxLDEwOSwxMDEsMTEwLAotICAgIDExNiw5NywxMTYsMTA1LDExMSwxMTAsMjE4LDksOTksOTcsOTksMTA0LDEwMSw5NSwxMTYsOTcsCi0gICAgMTAzLDIxOCwxOSw3OCwxMTEsMTE2LDczLDEwOSwxMTIsMTA4LDEwMSwxMDksMTAxLDExMCwxMTYsMTAxLAotICAgIDEwMCw2OSwxMTQsMTE0LDExMSwxMTQsMTE0LDI2LDAsMCwwLDExNCwyOCwwLDAsMCwKLSAgICAyMTgsOCw5NSw4MCw4OSw2Nyw2NSw2Nyw3Miw2OSw0MSwxMSwxMTQsMzUsMCwwLAotICAgIDAsOTAsMTQsMTAwLDEwMSw5OCwxMTcsMTAzLDk1LDExMSwxMTgsMTAxLDExNCwxMTQsMTA1LDEwMCwKLSAgICAxMDEsMjE4LDUsMTAwLDEwMSw5OCwxMTcsMTAzLDIxOCw4LDExNSwxMTcsMTAyLDEwMiwxMDUsMTIwLAotICAgIDEwMSwxMTUsMjE4LDQsMTA0LDEwMSw5NywxMDAsMTE0LDM3LDAsMCwwLDIxOCw0LDk4LAotICAgIDk3LDExNSwxMDEsMjE4LDMsMTE1LDEwMSwxMTIsMjE4LDQsMTE0LDEwMSwxMTUsMTE2LDkwLDMsCi0gICAgMTE2LDk3LDEwMywyMTgsOCwxMDIsMTA1LDEwOCwxMDEsMTEwLDk3LDEwOSwxMDEsMTE0LDQsMCwKLSAgICAwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsMjE4LDE3LDk5LDk3LAotICAgIDk5LDEwNCwxMDEsOTUsMTAyLDExNCwxMTEsMTA5LDk1LDExNSwxMTEsMTE3LDExNCw5OSwxMDEsMTgxLAotICAgIDEsMCwwLDExNSwyMiwwLDAsMCwwLDEzLDMxLDEsNiwxLDksMiwKLSAgICA2LDEsMTgsMSwyNCwxLDEyLDEsMTIsMSwxNSwxLDQzLDEsMTE0LDEzMiwKLSAgICAwLDAsMCw5OSwxLDAsMCwwLDAsMCwwLDAsNSwwLDAsMCwKLSAgICA1LDAsMCwwLDY3LDAsMCwwLDExNSwxOTMsMCwwLDAsMTE2LDAsMCwKLSAgICAxMDYsMSwwLDEwNiwyLDAsMTAwLDEsMCwxMDcsOCwwLDExNCwzMywwLDExNiwKLSAgICAzLDAsMTAwLDIsMCwxMzEsMSwwLDEzMCwxLDAsMTEwLDAsMCwxMTYsNCwKLSAgICAwLDEyNCwwLDAsMTMxLDEsMCw5MiwyLDAsMTI1LDEsMCwxMjUsMiwwLAotICAgIDExNiw0LDAsMTI0LDEsMCwxMzEsMSwwLDkyLDIsMCwxMjUsMSwwLDEyNSwKLSAgICAzLDAsMTI0LDMsMCwxMTYsNSwwLDEwNywzLDAsMTE0LDEwOCwwLDExNiw2LAotICAgIDAsMTAwLDMsMCwxMDYsNywwLDExNiw1LDAsMTI0LDAsMCwxMzEsMiwwLAotICAgIDEzMSwxLDAsMTMwLDEsMCwxMTAsMCwwLDEyNCwyLDAsMTA2LDgsMCwxMDAsCi0gICAgNCwwLDEzMSwxLDAsMTAwLDUsMCwxMDcsMywwLDExNCwxNTMsMCwxMTYsNiwKLSAgICAwLDEwMCw2LDAsMTA2LDcsMCwxMjQsMiwwLDEzMSwxLDAsMTMxLDEsMCwKLSAgICAxMzAsMSwwLDExMCwwLDAsMTI0LDIsMCwxMDYsOSwwLDEwMCw0LDAsMTMxLAotICAgIDEsMCwxMDAsNywwLDI1LDEyNSw0LDAsMTE2LDEwLDAsMTI0LDEsMCwxMjQsCi0gICAgNCwwLDExNiwxMSwwLDEwMCw3LDAsMjUsMjMsMTMxLDIsMCw4Myw0MSw4LAotICAgIDk3LDEyMSwxLDAsMCw3MSwxMDUsMTE4LDEwMSwxMTAsMzIsMTE2LDEwNCwxMDEsMzIsMTEyLAotICAgIDk3LDExNiwxMDQsMzIsMTE2LDExMSwzMiw5NywzMiw0NiwxMTIsMTIxLDk5LDQ2LDQ3LDQ2LAotICAgIDExMiwxMjEsMTExLDMyLDEwMiwxMDUsMTA4LDEwMSw0NCwzMiwxMTQsMTAxLDExNiwxMTcsMTE0LDExMCwKKyAgICAwLDExNCwxMDIsMCwwLDAsMjM0LDAsMCwwLDExNSwxMCwwLDAsMCwxMiwKKyAgICAyLDYsMiwxMiw0LDEyLDQsMTIsNSwxMTQsMTAyLDAsMCwwLDk5LDAsCisgICAgMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDIsMCwwLDAsNjQsCisgICAgMCwwLDAsMTE1LDUyLDAsMCwwLDEwMSwwLDAsOTAsMSwwLDEwMCwwLAorICAgIDAsOTAsMiwwLDEwMCwxLDAsMTAwLDIsMCwxMzIsMCwwLDkwLDMsMCwKKyAgICAxMDAsMywwLDEwMCw0LDAsMTMyLDAsMCw5MCw0LDAsMTAwLDUsMCwxMDAsCisgICAgNiwwLDEzMiwwLDAsOTAsNSwwLDEwMCw3LDAsODMsNDEsOCwyMTgsMTgsCisgICAgOTUsNzcsMTExLDEwMCwxMTcsMTA4LDEwMSw3NiwxMTEsOTksMTA3LDc3LDk3LDExMCw5NywxMDMsCisgICAgMTAxLDExNCw5OSwyLDAsMCwwLDAsMCwwLDAsMiwwLDAsMCwyLAorICAgIDAsMCwwLDY3LDAsMCwwLDExNSwyMiwwLDAsMCwxMjQsMSwwLDEyNCwKKyAgICAwLDAsOTUsMCwwLDEwMCwwLDAsMTI0LDAsMCw5NSwxLDAsMTAwLDAsCisgICAgMCw4Myw0MSwxLDc4LDQxLDIsMTE0LDcwLDAsMCwwLDIxOCw1LDk1LDEwOCwKKyAgICAxMTEsOTksMTA3LDQxLDIsMTE0LDcxLDAsMCwwLDExNCw2NywwLDAsMCwxMTQsCisgICAgNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsNzIsCisgICAgMCwwLDAsMSwxLDAsMCwxMTUsNCwwLDAsMCwwLDEsOSwxLAorICAgIDEyMiwyNyw5NSw3NywxMTEsMTAwLDExNywxMDgsMTAxLDc2LDExMSw5OSwxMDcsNzcsOTcsMTEwLAorICAgIDk3LDEwMywxMDEsMTE0LDQ2LDk1LDk1LDEwNSwxMTAsMTA1LDExNiw5NSw5NSw5OSwxLDAsCisgICAgMCwwLDAsMCwwLDAsMSwwLDAsMCwxMCwwLDAsMCw2NywwLAorICAgIDAsMCwxMTUsNTMsMCwwLDAsMTIyLDIyLDAsMTE2LDAsMCwxMjQsMCwwLAorICAgIDEwNiwxLDAsMTMxLDEsMCwxMjQsMCwwLDk1LDIsMCw4NywxMDAsMCwwLAorICAgIDExNiwzLDAsMTA2LDQsMCwxMzEsMCwwLDEsODgsMTI0LDAsMCwxMDYsMiwKKyAgICAwLDEwNiw1LDAsMTMxLDAsMCwxLDEwMCwwLDAsODMsNDEsMSw3OCw0MSwKKyAgICA2LDIxOCwxNiw5NSwxMDMsMTAxLDExNiw5NSwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSw5NSwxMDgsCisgICAgMTExLDk5LDEwNywxMTQsNzAsMCwwLDAsMTE0LDEwNCwwLDAsMCwyMTgsNCw5NSwKKyAgICAxMDUsMTA5LDExMiwyMTgsMTIsMTE0LDEwMSwxMDgsMTAxLDk3LDExNSwxMDEsOTUsMTA4LDExMSw5OSwKKyAgICAxMDcsMTE0LDk3LDAsMCwwLDQxLDEsMTE0LDcxLDAsMCwwLDExNCw0LDAsCisgICAgMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDExNCw3NSwwLDAsCisgICAgMCw1LDEsMCwwLDExNSw4LDAsMCwwLDAsMSwzLDEsMjIsMiwKKyAgICAxMSwxLDEyMiwyOCw5NSw3NywxMTEsMTAwLDExNywxMDgsMTAxLDc2LDExMSw5OSwxMDcsNzcsCisgICAgOTcsMTEwLDk3LDEwMywxMDEsMTE0LDQ2LDk1LDk1LDEwMSwxMTAsMTE2LDEwMSwxMTQsOTUsOTUsCisgICAgOTksMSwwLDAsMCwwLDAsMCwwLDMsMCwwLDAsMSwwLDAsCisgICAgMCw3OSwwLDAsMCwxMTUsMTcsMCwwLDAsMTI0LDAsMCwxMDYsMCwwLAorICAgIDEwNiwxLDAsMTMxLDAsMCwxLDEwMCwwLDAsODMsNDEsMSw3OCw0MSwyLAorICAgIDExNCwxMDQsMCwwLDAsMTE0LDk4LDAsMCwwLDQxLDMsMTE0LDcxLDAsMCwKKyAgICAwLDExNCw4MCwwLDAsMCwyMTgsNiwxMDcsMTE5LDk3LDExNCwxMDMsMTE1LDExNCw0LAorICAgIDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDExNCw4MSwwLAorICAgIDAsMCwxMiwxLDAsMCwxMTUsMiwwLDAsMCwwLDEsMTIyLDI3LDk1LAorICAgIDc3LDExMSwxMDAsMTE3LDEwOCwxMDEsNzYsMTExLDk5LDEwNyw3Nyw5NywxMTAsOTcsMTAzLDEwMSwKKyAgICAxMTQsNDYsOTUsOTUsMTAxLDEyMCwxMDUsMTE2LDk1LDk1LDc4LDQxLDYsMTE0LDU3LDAsCisgICAgMCwwLDExNCw1NiwwLDAsMCwxMTQsNTgsMCwwLDAsMTE0LDcyLDAsMCwKKyAgICAwLDExNCw3NSwwLDAsMCwxMTQsODEsMCwwLDAsMTE0LDQsMCwwLDAsCisgICAgMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsMTE0LAorICAgIDEwMywwLDAsMCwyNTUsMCwwLDAsMTE1LDYsMCwwLDAsMTIsMiwxMiwKKyAgICA0LDEyLDcsMTE0LDEwMywwLDAsMCw5OSwxLDAsMCwwLDAsMCwwLAorICAgIDAsMywwLDAsMCwxMSwwLDAsMCwzLDAsMCwwLDExNSwxMzksMCwKKyAgICAwLDAsMTAwLDEsMCwxMjUsMSwwLDEyMSwxNywwLDExNiwwLDAsMTM2LDAsCisgICAgMCwyNSwxMzEsMCwwLDEyNSwxLDAsODcsMTEwLDE4LDAsNCwxMTYsMSwwLAorICAgIDEwNywxMCwwLDExNCw0MywwLDEsMSwxLDg5LDExMCwxLDAsODgsMTI0LDEsCisgICAgMCwxMDAsMSwwLDEwNyw4LDAsMTE0LDEzNSwwLDExNiwyLDAsMTAwLDEsMCwKKyAgICAxMDcsOCwwLDExNCw4MywwLDExNiwzLDAsMTM2LDAsMCwxMzEsMSwwLDEyNSwKKyAgICAxLDAsMTEwLDEyLDAsMTE2LDQsMCwxMzYsMCwwLDEzMSwxLDAsMTI1LDEsCisgICAgMCwxMzUsMCwwLDEwMiwxLDAsMTAwLDIsMCwxMDAsMywwLDEzNCwwLDAsCisgICAgMTI1LDIsMCwxMTYsNSwwLDEwNiw2LDAsMTI0LDEsMCwxMjQsMiwwLDEzMSwKKyAgICAyLDAsMTE2LDAsMCwxMzYsMCwwLDYwLDEyNCwxLDAsODMsNDEsNCwxMjIsCisgICAgMTA5LDcxLDEwMSwxMTYsMzIsMTExLDExNCwzMiw5OSwxMTQsMTAxLDk3LDExNiwxMDEsMzIsMTE2LAorICAgIDEwNCwxMDEsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMzIsMTA4LDExMSw5OSwxMDcsMzIsMTAyLAorICAgIDExMSwxMTQsMzIsOTcsMzIsMTAzLDEwNSwxMTgsMTAxLDExMCwzMiwxMDksMTExLDEwMCwxMTcsMTA4LAorICAgIDEwMSwzMiwxMTAsOTcsMTA5LDEwMSw0NiwxMCwxMCwzMiwzMiwzMiwzMiw4MywxMDQsMTExLAorICAgIDExNywxMDgsMTAwLDMyLDExMSwxMTAsMTA4LDEyMSwzMiw5OCwxMDEsMzIsOTksOTcsMTA4LDEwOCwKKyAgICAxMDEsMTAwLDMyLDExOSwxMDUsMTE2LDEwNCwzMiwxMTYsMTA0LDEwMSwzMiwxMDUsMTA5LDExMiwxMTEsCisgICAgMTE0LDExNiwzMiwxMDgsMTExLDk5LDEwNywzMiwxMTYsOTcsMTA3LDEwMSwxMTAsNDYsNzgsOTksCisgICAgMSwwLDAsMCwwLDAsMCwwLDEsMCwwLDAsMiwwLDAsMCwKKyAgICAxOSwwLDAsMCwxMTUsMTEsMCwwLDAsMTE2LDAsMCwxMzYsMCwwLDYxLAorICAgIDEwMCwwLDAsODMsNDEsMSw3OCw0MSwxLDIxOCwxMyw5NSwxMDksMTExLDEwMCwxMTcsCisgICAgMTA4LDEwMSw5NSwxMDgsMTExLDk5LDEwNywxMTUsNDEsMSwxMTQsMzYsMCwwLDAsNDEsCisgICAgMSwxMTQsNjcsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsCisgICAgMjE4LDIsOTksOTgsMzIsMSwwLDAsMTE1LDIsMCwwLDAsMCwxLDEyMiwKKyAgICAyOCw5NSwxMDMsMTAxLDExNiw5NSwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSw5NSwxMDgsMTExLDk5LAorICAgIDEwNyw0Niw2MCwxMDgsMTExLDk5LDk3LDEwOCwxMTUsNjIsNDYsOTksOTgsNDEsNywxMTQsCisgICAgMTA5LDAsMCwwLDExNCw3OSwwLDAsMCwxMTQsODUsMCwwLDAsMTE0LDEwMiwKKyAgICAwLDAsMCwxMTQsODMsMCwwLDAsMjE4LDgsOTUsMTE5LDEwMSw5NywxMDcsMTE0LAorICAgIDEwMSwxMDIsOTAsMywxMTQsMTAxLDEwMiw0MSwzLDExNCw2NywwLDAsMCwxMTQsODYsCisgICAgMCwwLDAsMTE0LDExMCwwLDAsMCwxMTQsNCwwLDAsMCw0MSwxLDExNCwKKyAgICA2NywwLDAsMCwxMTQsNSwwLDAsMCwxMTQsMTA1LDAsMCwwLDE4LDEsCisgICAgMCwwLDExNSwyNCwwLDAsMCwwLDQsNiwxLDMsMSwxNywxLDEzLAorICAgIDEsNSwxLDEyLDEsMTIsMSwxNSwyLDEyLDEsMTgsMiwyMiwxLDExNCwKKyAgICAxMDUsMCwwLDAsOTksMSwwLDAsMCwwLDAsMCwwLDIsMCwwLAorICAgIDAsMTEsMCwwLDAsNjcsMCwwLDAsMTE1LDcxLDAsMCwwLDExNiwwLAorICAgIDAsMTI0LDAsMCwxMzEsMSwwLDEyNSwxLDAsMTE2LDEsMCwxMDYsMiwwLAorICAgIDEzMSwwLDAsMSwxMjEsMTQsMCwxMjQsMSwwLDEwNiwzLDAsMTMxLDAsMCwKKyAgICAxLDg3LDExMCwxOCwwLDQsMTE2LDQsMCwxMDcsMTAsMCwxMTQsNTYsMCwxLAorICAgIDEsMSw4OSwxMTAsMTEsMCw4OCwxMjQsMSwwLDEwNiw1LDAsMTMxLDAsMCwKKyAgICAxLDEwMCwxLDAsODMsNDEsMiw5NywyMSwxLDAsMCw4MiwxMDEsMTA4LDEwMSwKKyAgICA5NywxMTUsMTAxLDMyLDExNiwxMDQsMTAxLDMyLDEwMywxMDgsMTExLDk4LDk3LDEwOCwzMiwxMDUsCisgICAgMTA5LDExMiwxMTEsMTE0LDExNiwzMiwxMDgsMTExLDk5LDEwNyw0NCwzMiw5NywxMTAsMTAwLDMyLAorICAgIDk3LDk5LDExMywxMTcsMTA1LDExNCwxMDEsMTE1LDMyLDExNiwxMDQsMTAxLDExMCwzMiwxMTQsMTAxLAorICAgIDEwOCwxMDEsOTcsMTE1LDEwMSwzMiwxMTYsMTA0LDEwMSwxMCwzMiwzMiwzMiwzMiwxMDksMTExLAorICAgIDEwMCwxMTcsMTA4LDEwMSwzMiwxMDgsMTExLDk5LDEwNywzMiwxMDIsMTExLDExNCwzMiw5NywzMiwKKyAgICAxMDMsMTA1LDExOCwxMDEsMTEwLDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDMyLDExMCw5NywxMDksCisgICAgMTAxLDQ2LDEwLDMyLDMyLDMyLDMyLDg0LDEwNCwxMDUsMTE1LDMyLDEwNSwxMTUsMzIsMTE3LAorICAgIDExNSwxMDEsMTAwLDMyLDExNiwxMTEsMzIsMTAxLDExMCwxMTUsMTE3LDExNCwxMDEsMzIsOTcsMzIsCisgICAgMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMzIsMTA1LDExNSwzMiw5OSwxMTEsMTA5LDExMiwxMDgsMTAxLAorICAgIDExNiwxMDEsMTA4LDEyMSwzMiwxMDUsMTEwLDEwNSwxMTYsMTA1LDk3LDEwOCwxMDUsMTIyLDEwMSwxMDAsCisgICAgNDQsMzIsMTA1LDExMCwzMiwxMTYsMTA0LDEwMSwxMCwzMiwzMiwzMiwzMiwxMDEsMTE4LDEwMSwKKyAgICAxMTAsMTE2LDMyLDEwNSwxMTYsMzIsMTA1LDExNSwzMiw5OCwxMDEsMTA1LDExMCwxMDMsMzIsMTA1LAorICAgIDEwOSwxMTIsMTExLDExNCwxMTYsMTAxLDEwMCwzMiw5OCwxMjEsMzIsOTcsMTEwLDExMSwxMTYsMTA0LAorICAgIDEwMSwxMTQsMzIsMTE2LDEwNCwxMTQsMTAxLDk3LDEwMCw0NiwxMCwxMCwzMiwzMiwzMiwzMiwKKyAgICA4MywxMDQsMTExLDExNywxMDgsMTAwLDMyLDExMSwxMTAsMTA4LDEyMSwzMiw5OCwxMDEsMzIsOTksCisgICAgOTcsMTA4LDEwOCwxMDEsMTAwLDMyLDExOSwxMDUsMTE2LDEwNCwzMiwxMTYsMTA0LDEwMSwzMiwxMDUsCisgICAgMTA5LDExMiwxMTEsMTE0LDExNiwzMiwxMDgsMTExLDk5LDEwNywzMiwxMTYsOTcsMTA3LDEwMSwxMTAsCisgICAgNDYsNzgsNDEsNiwxMTQsMTA1LDAsMCwwLDExNCwxMDYsMCwwLDAsMTE0LDEwNywKKyAgICAwLDAsMCwxMTQsOTcsMCwwLDAsMTE0LDgyLDAsMCwwLDExNCw5OCwwLAorICAgIDAsMCw0MSwyLDExNCw2NywwLDAsMCwxMTQsODYsMCwwLDAsMTE0LDQsCisgICAgMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsMjE4LDE5LDk1LAorICAgIDEwOCwxMTEsOTksMTA3LDk1LDExNywxMTAsMTA4LDExMSw5OSwxMDcsOTUsMTA5LDExMSwxMDAsMTE3LAorICAgIDEwOCwxMDEsMzcsMSwwLDAsMTE1LDE0LDAsMCwwLDAsNywxMiwxLDEwLAorICAgIDEsMywxLDE0LDEsMTMsMyw1LDIsMTE0LDExMiwwLDAsMCw5OSwxLAorICAgIDAsMCwwLDAsMCwwLDAsMywwLDAsMCwzLDAsMCwwLDc5LAorICAgIDAsMCwwLDExNSwxMywwLDAsMCwxMjQsMCwwLDEyNCwxLDAsMTI0LDIsCisgICAgMCwxNDIsMCwwLDgzLDQxLDEsOTcsNDYsMSwwLDAsMTE0LDEwMSwxMDksMTExLAorICAgIDExOCwxMDEsOTUsMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsMTA4LDEwNSw5OCw5NSwxMDIsMTE0LDk3LAorICAgIDEwOSwxMDEsMTE1LDMyLDEwNSwxMTAsMzIsMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsNDYsOTksMzIsCisgICAgMTE5LDEwNSwxMDgsMTA4LDMyLDk3LDEwOCwxMTksOTcsMTIxLDExNSwzMiwxMTQsMTAxLDEwOSwxMTEsCisgICAgMTE4LDEwMSwzMiwxMTUsMTAxLDExMywxMTcsMTAxLDExMCw5OSwxMDEsMTE1LDEwLDMyLDMyLDMyLAorICAgIDMyLDExMSwxMDIsMzIsMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsMTA4LDEwNSw5OCwzMiwxMDIsMTE0LAorICAgIDk3LDEwOSwxMDEsMTE1LDMyLDExNiwxMDQsOTcsMTE2LDMyLDEwMSwxMTAsMTAwLDMyLDExOSwxMDUsCisgICAgMTE2LDEwNCwzMiw5NywzMiw5OSw5NywxMDgsMTA4LDMyLDExNiwxMTEsMzIsMTE2LDEwNCwxMDUsCisgICAgMTE1LDMyLDEwMiwxMTcsMTEwLDk5LDExNiwxMDUsMTExLDExMCwxMCwxMCwzMiwzMiwzMiwzMiwKKyAgICA4NSwxMTUsMTAxLDMyLDEwNSwxMTYsMzIsMTA1LDExMCwxMTUsMTE2LDEwMSw5NywxMDAsMzIsMTExLAorICAgIDEwMiwzMiw5NywzMiwxMTAsMTExLDExNCwxMDksOTcsMTA4LDMyLDk5LDk3LDEwOCwxMDgsMzIsCisgICAgMTA1LDExMCwzMiwxMTIsMTA4LDk3LDk5LDEwMSwxMTUsMzIsMTE5LDEwNCwxMDEsMTE0LDEwMSwzMiwKKyAgICAxMDUsMTEwLDk5LDEwOCwxMTcsMTAwLDEwNSwxMTAsMTAzLDMyLDExNiwxMDQsMTAxLDMyLDEwNSwxMDksCisgICAgMTEyLDExMSwxMTQsMTE2LDEwOCwxMDUsOTgsMTAsMzIsMzIsMzIsMzIsMTAyLDExNCw5NywxMDksCisgICAgMTAxLDExNSwzMiwxMDUsMTEwLDExNiwxMTQsMTExLDEwMCwxMTcsOTksMTAxLDExNSwzMiwxMTcsMTEwLAorICAgIDExOSw5NywxMTAsMTE2LDEwMSwxMDAsMzIsMTEwLDExMSwxMDUsMTE1LDEwMSwzMiwxMDUsMTEwLDExNiwKKyAgICAxMTEsMzIsMTE2LDEwNCwxMDEsMzIsMTE2LDExNCw5Nyw5OSwxMDEsOTgsOTcsOTksMTA3LDMyLAorICAgIDQwLDEwMSw0NiwxMDMsNDYsMzIsMTE5LDEwNCwxMDEsMTEwLDMyLDEwMSwxMjAsMTAxLDk5LDExNywKKyAgICAxMTYsMTA1LDExMCwxMDMsMTAsMzIsMzIsMzIsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMzIsCisgICAgOTksMTExLDEwMCwxMDEsNDEsMTAsMzIsMzIsMzIsMzIsMTE0LDQsMCwwLDAsNDEsCisgICAgMywyMTgsMSwxMDIsMTE0LDgwLDAsMCwwLDkwLDQsMTA3LDExOSwxMDAsMTE1LDExNCwKKyAgICA0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDIxOCwyNSwKKyAgICA5NSw5OSw5NywxMDgsMTA4LDk1LDExOSwxMDUsMTE2LDEwNCw5NSwxMDIsMTE0LDk3LDEwOSwxMDEsCisgICAgMTE1LDk1LDExNCwxMDEsMTA5LDExMSwxMTgsMTAxLDEwMCw1NywxLDAsMCwxMTUsMiwwLAorICAgIDAsMCwwLDgsMTE0LDExNCwwLDAsMCwxMDUsMjQ4LDEyLDAsMCwyMzMsMiwKKyAgICAwLDAsMCwxMTQsMTMsMCwwLDAsMTE1LDIsMCwwLDAsMTMsMTAsOTAsCisgICAgMTEsOTUsOTUsMTEyLDEyMSw5OSw5Nyw5OSwxMDQsMTAxLDk1LDk1LDEyMiwzLDQ2LDExMiwKKyAgICAxMjEsMTIyLDQsNDYsMTEyLDEyMSw5OSwxMjIsNCw0NiwxMTIsMTIxLDExMSw3OCw5OSwyLAorICAgIDAsMCwwLDAsMCwwLDAsMTEsMCwwLDAsNiwwLDAsMCw2NywKKyAgICAwLDAsMCwxMTUsMTg5LDAsMCwwLDEyNCwxLDAsMTAwLDEsMCwxMDcsOCwKKyAgICAwLDExNCwyNSwwLDExNiwwLDAsMTA2LDEsMCwxMDYsMiwwLDEyLDExMCwzLAorICAgIDAsMTI0LDEsMCwxMjUsMiwwLDEyNCwyLDAsMTE0LDQ2LDAsMTE2LDMsMCwKKyAgICAxMjUsMywwLDExMCw2LDAsMTE2LDQsMCwxMjUsMywwLDExNiw1LDAsMTI0LAorICAgIDAsMCwxMzEsMSwwLDkyLDIsMCwxMjUsNCwwLDEyNSw1LDAsMTI0LDUsCisgICAgMCwxMDYsNiwwLDEwMCwyLDAsMTMxLDEsMCw5MiwzLDAsMTI1LDYsMCwKKyAgICAxMjUsNywwLDEyNSw4LDAsMTE2LDAsMCwxMDYsNywwLDEwNiw4LDAsMTI1LAorICAgIDksMCwxMjQsOSwwLDEwMCwxLDAsMTA3LDgsMCwxMTQsMTMwLDAsMTE2LDksCisgICAgMCwxMDAsMywwLDEzMSwxLDAsMTMwLDEsMCwxMDAsNCwwLDEwNiwxMCwwLAorICAgIDEyNCw2LDAsMTE0LDE0OCwwLDEyNCw2LDAsMTEwLDMsMCwxMjQsOCwwLDEyNCwKKyAgICA3LDAsMTI0LDksMCwxMjQsMywwLDEwMCw1LDAsMjUsMTAzLDQsMCwxMzEsCisgICAgMSwwLDEyNSwxMCwwLDExNiwxMSwwLDEyNCw0LDAsMTE2LDEyLDAsMTI0LDEwLAorICAgIDAsMTMxLDMsMCw4Myw0MSw2LDk3LDI0NCwxLDAsMCw3MSwxMDUsMTE4LDEwMSwKKyAgICAxMTAsMzIsMTE2LDEwNCwxMDEsMzIsMTEyLDk3LDExNiwxMDQsMzIsMTE2LDExMSwzMiw5NywzMiwKKyAgICA0NiwxMTIsMTIxLDMyLDEwMiwxMDUsMTA4LDEwMSw0NCwzMiwxMTQsMTAxLDExNiwxMTcsMTE0LDExMCwKICAgICAzMiwxMTYsMTA0LDEwMSwzMiwxMTIsOTcsMTE2LDEwNCwzMiwxMTYsMTExLDMyLDEwNSwxMTYsMTE1LAotICAgIDMyLDQ2LDExMiwxMjEsMzIsMTAyLDEwNSwxMDgsMTAxLDQ2LDEwLDEwLDMyLDMyLDMyLDMyLAotICAgIDg0LDEwNCwxMDEsMzIsNDYsMTEyLDEyMSw5OSw0Nyw0NiwxMTIsMTIxLDExMSwzMiwxMDIsMTA1LAorICAgIDMyLDQ2LDExMiwxMjEsOTksNDcsNDYsMTEyLDEyMSwxMTEsMzIsMTAyLDEwNSwxMDgsMTAxLDQ2LAorICAgIDEwLDEwLDMyLDMyLDMyLDMyLDg0LDEwNCwxMDEsMzIsNDYsMTEyLDEyMSwzMiwxMDIsMTA1LAogICAgIDEwOCwxMDEsMzIsMTAwLDExMSwxMDEsMTE1LDMyLDExMCwxMTEsMTE2LDMyLDExMCwxMDEsMTAxLDEwMCwKICAgICAzMiwxMTYsMTExLDMyLDEwMSwxMjAsMTA1LDExNSwxMTYsNTksMzIsMTE2LDEwNCwxMDUsMTE1LDMyLAogICAgIDExNSwxMDUsMTA5LDExMiwxMDgsMTIxLDMyLDExNCwxMDEsMTE2LDExNywxMTQsMTEwLDExNSwzMiwxMTYsCi0gICAgMTA0LDEwMSwzMiwxMTIsOTcsMTE2LDEwNCwzMiwxMTYsMTExLDEwLDMyLDMyLDMyLDMyLDExNiwKLSAgICAxMDQsMTAxLDMyLDQ2LDExMiwxMjEsMzIsMTAyLDEwNSwxMDgsMTAxLDMyLDk5LDk3LDEwOCw5OSwKLSAgICAxMTcsMTA4LDk3LDExNiwxMDEsMTAwLDMyLDExNiwxMTEsMzIsOTksMTExLDExNCwxMTQsMTAxLDExNSwKLSAgICAxMTIsMTExLDExMCwxMDAsMzIsMTE2LDExMSwzMiwxMTYsMTA0LDEwMSwzMiw0NiwxMTIsMTIxLDk5LAotICAgIDQ3LDQ2LDExMiwxMjEsMTExLDMyLDEwMiwxMDUsMTA4LDEwMSw0NiwzMiwzMiw3MywxMDIsMzIsCi0gICAgMTEyLDk3LDExNiwxMDQsMzIsMTAwLDExMSwxMDEsMTE1LDEwLDMyLDMyLDMyLDMyLDExMCwxMTEsCi0gICAgMTE2LDMyLDk5LDExMSwxMTAsMTAyLDExMSwxMTQsMTA5LDMyLDExNiwxMTEsMzIsODAsNjksODAsCi0gICAgMzIsNTEsNDksNTIsNTUsMzIsMTAyLDExMSwxMTQsMTA5LDk3LDExNiw0NCwzMiw4Niw5NywKLSAgICAxMDgsMTE3LDEwMSw2OSwxMTQsMTE0LDExMSwxMTQsMzIsMTE5LDEwNSwxMDgsMTA4LDMyLDk4LDEwMSwKLSAgICAzMiwxMTQsOTcsMTA1LDExNSwxMDEsMTAwLDQ2LDMyLDczLDEwMiwxMCwzMiwzMiwzMiwzMiwKLSAgICAxMTUsMTIxLDExNSw0NiwxMDUsMTA5LDExMiwxMDgsMTAxLDEwOSwxMDEsMTEwLDExNiw5NywxMTYsMTA1LAotICAgIDExMSwxMTAsNDYsOTksOTcsOTksMTA0LDEwMSw5NSwxMTYsOTcsMTAzLDMyLDEwNSwxMTUsMzIsCi0gICAgNzgsMTExLDExMCwxMDEsMzIsMTE2LDEwNCwxMDEsMTEwLDMyLDc4LDExMSwxMTYsNzMsMTA5LDExMiwKLSAgICAxMDgsMTAxLDEwOSwxMDEsMTEwLDExNiwxMDEsMTAwLDY5LDExNCwxMTQsMTExLDExNCwzMiwxMDUsMTE1LAotICAgIDMyLDExNCw5NywxMDUsMTE1LDEwMSwxMDAsNDYsMTAsMTAsMzIsMzIsMzIsMzIsNzgsMTIyLAotICAgIDM2LDExNSwxMjEsMTE1LDQ2LDEwNSwxMDksMTEyLDEwOCwxMDEsMTA5LDEwMSwxMTAsMTE2LDk3LDExNiwKLSAgICAxMDUsMTExLDExMCw0Niw5OSw5Nyw5OSwxMDQsMTAxLDk1LDExNiw5NywxMDMsMzIsMTA1LDExNSwKLSAgICAzMiw3OCwxMTEsMTEwLDEwMSwxMjIsMzcsMTIzLDEyNSwzMiwxMTAsMTExLDExNiwzMiw5OCwxMTEsCi0gICAgMTE2LDExNiwxMTEsMTA5LDQ1LDEwOCwxMDEsMTE4LDEwMSwxMDgsMzIsMTAwLDEwNSwxMTQsMTAxLDk5LAotICAgIDExNiwxMTEsMTE0LDEyMSwzMiwxMDUsMTEwLDMyLDEyMywzMywxMTQsMTI1LDExNCwxMTYsMCwwLAotICAgIDAsMTE0LDExNSwwLDAsMCwxMjIsMjgsMTAxLDEyMCwxMTIsMTAxLDk5LDExNiwxMDEsMTAwLAotICAgIDMyLDExMSwxMTAsMTA4LDEyMSwzMiw1MCwzMiwxMDAsMTExLDExNiwxMTUsMzIsMTA1LDExMCwzMiwKLSAgICAxMjMsMzMsMTE0LDEyNSwxMTQsODQsMCwwLDAsNDEsMTIsMTE0LDcsMCwwLDAsCi0gICAgMTE0LDEyMSwwLDAsMCwxMTQsMTIyLDAsMCwwLDExNCwxMjMsMCwwLDAsMTE0LAotICAgIDM4LDAsMCwwLDExNCwxMjQsMCwwLDAsMjE4LDEwLDg2LDk3LDEwOCwxMTcsMTAxLAotICAgIDY5LDExNCwxMTQsMTExLDExNCwxMTQsNDcsMCwwLDAsMTE0LDg5LDAsMCwwLDIxOCwKLSAgICA5LDExMiw5NywxMTQsMTE2LDEwNSwxMTYsMTA1LDExMSwxMTAsMTE0LDI4LDAsMCwwLDIxOCwKLSAgICAxNSw4Myw3OSw4NSw4Miw2Nyw2OSw5NSw4Myw4NSw3MCw3MCw3Myw4OCw2OSw4MywKLSAgICA0MSw1LDExNCwzNSwwLDAsMCwxMTQsMTI3LDAsMCwwLDkwLDE2LDExMiwxMjEsCi0gICAgOTksOTcsOTksMTA0LDEwMSw5NSwxMDIsMTA1LDEwOCwxMDEsMTEwLDk3LDEwOSwxMDEsOTAsNywKLSAgICAxMTIsMTIxLDk5LDk3LDk5LDEwNCwxMDEsOTAsMTMsOTgsOTcsMTE1LDEwMSw5NSwxMDIsMTA1LAotICAgIDEwOCwxMDEsMTEwLDk3LDEwOSwxMDEsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsCi0gICAgMTE0LDUsMCwwLDAsMjE4LDE3LDExNSwxMTEsMTE3LDExNCw5OSwxMDEsOTUsMTAyLDExNCwKLSAgICAxMTEsMTA5LDk1LDk5LDk3LDk5LDEwNCwxMDEsMjA4LDEsMCwwLDExNSwyNCwwLDAsCi0gICAgMCwwLDksMTgsMSwxNSwxLDE4LDEsMTgsMSwxMiwxLDksMSwxOCwKLSAgICAxLDIxLDEsOSwxLDE1LDEsMTksMSwxMTQsMTM2LDAsMCwwLDk5LDEsCi0gICAgMCwwLDAsMCwwLDAsMCw1LDAsMCwwLDEyLDAsMCwwLDY3LAotICAgIDAsMCwwLDExNSwxNjQsMCwwLDAsMTE2LDAsMCwxMjQsMCwwLDEzMSwxLAotICAgIDAsMTAwLDEsMCwxMDcsMiwwLDExNCwyMiwwLDEwMCwyLDAsODMsMTI0LDAsCi0gICAgMCwxMDYsMSwwLDEwMCwzLDAsMTMxLDEsMCw5MiwzLDAsMTI1LDEsMCwKLSAgICAxMjUsMiwwLDEyNSwzLDAsMTI0LDEsMCwxMiwxMTUsODEsMCwxMjQsMywwLAotICAgIDEwNiwyLDAsMTMxLDAsMCwxMDAsNywwLDEwMCw4LDAsMTMzLDIsMCwyNSwKLSAgICAxMDAsNiwwLDEwNywzLDAsMTE0LDg1LDAsMTI0LDAsMCw4MywxMjEsMTYsMCwKLSAgICAxMTYsMywwLDEyNCwwLDAsMTMxLDEsMCwxMjUsNCwwLDg3LDExMCw0MCwwLAotICAgIDQsMTE2LDQsMCwxMTYsNSwwLDEwMiwyLDAsMTA3LDEwLDAsMTE0LDE0MywwLAotICAgIDEsMSwxLDEyNCwwLDAsMTAwLDIsMCwxMDAsOSwwLDEzMywyLDAsMjUsCi0gICAgMTI1LDQsMCw4OSwxMTAsMSwwLDg4LDExNiw2LDAsMTI0LDQsMCwxMzEsMSwKLSAgICAwLDExNCwxNjAsMCwxMjQsNCwwLDgzLDEyNCwwLDAsODMsNDEsMTAsMTIyLDE4OCwKLSAgICA2NywxMTEsMTEwLDExOCwxMDEsMTE0LDExNiwzMiw5NywzMiw5OCwxMjEsMTE2LDEwMSw5OSwxMTEsCi0gICAgMTAwLDEwMSwzMiwxMDIsMTA1LDEwOCwxMDEsMzIsMTEyLDk3LDExNiwxMDQsMzIsMTE2LDExMSwzMiwKLSAgICA5NywzMiwxMTUsMTExLDExNywxMTQsOTksMTAxLDMyLDExMiw5NywxMTYsMTA0LDMyLDQwLDEwNSwKLSAgICAxMDIsMzIsMTEyLDExMSwxMTUsMTE1LDEwNSw5OCwxMDgsMTAxLDQxLDQ2LDEwLDEwLDMyLDMyLAotICAgIDMyLDMyLDg0LDEwNCwxMDUsMTE1LDMyLDEwMiwxMTcsMTEwLDk5LDExNiwxMDUsMTExLDExMCwzMiwKLSAgICAxMDEsMTIwLDEwNSwxMTUsMTE2LDExNSwzMiwxMTIsMTE3LDExNCwxMDEsMTA4LDEyMSwzMiwxMDIsMTExLAotICAgIDExNCwzMiw5OCw5Nyw5OSwxMDcsMTE5LDk3LDExNCwxMDAsMTE1LDQ1LDk5LDExMSwxMDksMTEyLAotICAgIDk3LDExNiwxMDUsOTgsMTA1LDEwOCwxMDUsMTE2LDEyMSwzMiwxMDIsMTExLDExNCwxMCwzMiwzMiwKLSAgICAzMiwzMiw4MCwxMjEsNzMsMTA5LDExMiwxMTEsMTE0LDExNiw5NSw2OSwxMjAsMTAxLDk5LDY3LAotICAgIDExMSwxMDAsMTAxLDc3LDExMSwxMDAsMTE3LDEwOCwxMDEsODcsMTA1LDExNiwxMDQsNzAsMTA1LDEwOCwKLSAgICAxMDEsMTEwLDk3LDEwOSwxMDEsMTE1LDQwLDQxLDMyLDEwNSwxMTAsMzIsMTE2LDEwNCwxMDEsMzIsCi0gICAgNjcsMzIsNjUsODAsNzMsNDYsMTAsMTAsMzIsMzIsMzIsMzIsMTE0LDg0LDAsMCwKLSAgICAwLDc4LDExNCwxMTYsMCwwLDAsMjMzLDMsMCwwLDAsMTE0LDI5LDAsMCwKLSAgICAwLDkwLDIsMTEyLDEyMSwyMzMsMjUzLDI1NSwyNTUsMjU1LDIzMywyNTUsMjU1LDI1NSwyNTUsMTE0LAotICAgIDEzOSwwLDAsMCw0MSw3LDExNCwzMSwwLDAsMCwxMTQsMzIsMCwwLDAsCi0gICAgMjE4LDUsMTA4LDExMSwxMTksMTAxLDExNCwxMTQsMTM2LDAsMCwwLDExNCwxMjMsMCwwLAotICAgIDAsMTE0LDEzMywwLDAsMCwxMTQsNDQsMCwwLDAsNDEsNSwyMTgsMTMsOTgsCi0gICAgMTIxLDExNiwxMDEsOTksMTExLDEwMCwxMDEsOTUsMTEyLDk3LDExNiwxMDQsMTE0LDEzMCwwLDAsCi0gICAgMCwxMTQsMzYsMCwwLDAsOTAsOSwxMDEsMTIwLDExNiwxMDEsMTEwLDExNSwxMDUsMTExLAotICAgIDExMCwyMTgsMTEsMTE1LDExMSwxMTcsMTE0LDk5LDEwMSw5NSwxMTIsOTcsMTE2LDEwNCwxMTQsNCwKLSAgICAwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwyMTgsMTUsOTUsCi0gICAgMTAzLDEwMSwxMTYsOTUsMTE1LDExMSwxMTcsMTE0LDk5LDEwMSwxMDIsMTA1LDEwOCwxMDEsMjMxLDEsCi0gICAgMCwwLDExNSwyMCwwLDAsMCwwLDcsMTgsMSw0LDEsMjQsMSwzNSwKLSAgICAxLDQsMSwzLDEsMTYsMSwxOSwxLDIxLDEsMTE0LDE0MywwLDAsMCwKLSAgICA5OSwxLDAsMCwwLDAsMCwwLDAsMiwwLDAsMCwxMSwwLDAsCi0gICAgMCw2NywwLDAsMCwxMTUsNjAsMCwwLDAsMTIxLDE5LDAsMTE2LDAsMCwKLSAgICAxMjQsMCwwLDEzMSwxLDAsMTA2LDEsMCwxMjUsMSwwLDg3LDExMCwyNCwwLAotICAgIDQsMTE2LDIsMCwxMDcsMTAsMCwxMTQsNDUsMCwxLDEsMSwxMDAsMSwwLAotICAgIDEyNSwxLDAsODksMTEwLDEsMCw4OCwxMjQsMSwwLDEwMCwyLDAsNzksMTI1LAotICAgIDEsMCwxMjQsMSwwLDgzLDQxLDMsMTIyLDUxLDY3LDk3LDEwOCw5OSwxMTcsMTA4LAotICAgIDk3LDExNiwxMDEsMzIsMTE2LDEwNCwxMDEsMzIsMTA5LDExMSwxMDAsMTAxLDMyLDExMiwxMDEsMTE0LAotICAgIDEwOSwxMDUsMTE1LDExNSwxMDUsMTExLDExMCwxMTUsMzIsMTAyLDExMSwxMTQsMzIsOTcsMzIsOTgsCi0gICAgMTIxLDExNiwxMDEsOTksMTExLDEwMCwxMDEsMzIsMTAyLDEwNSwxMDgsMTAxLDQ2LDEwNSwxODIsMSwKLSAgICAwLDAsMjMzLDEyOCwwLDAsMCw0MSwzLDExNCwzOSwwLDAsMCwxMTQsNDEsCi0gICAgMCwwLDAsMTE0LDQwLDAsMCwwLDQxLDIsMTE0LDM1LDAsMCwwLDExNCwKLSAgICA0MiwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwKLSAgICAwLDAsMCwyMTgsMTAsOTUsOTksOTcsMTA4LDk5LDk1LDEwOSwxMTEsMTAwLDEwMSwyNTAsCi0gICAgMSwwLDAsMTE1LDEyLDAsMCwwLDAsMiwzLDEsMTksMSwxMywxLAotICAgIDExLDMsMTAsMSwxMTQsMTQ1LDAsMCwwLDIxOCw5LDExOCwxMDEsMTE0LDk4LDExMSwKLSAgICAxMTUsMTA1LDExNiwxMjEsMTE0LDI5LDAsMCwwLDk5LDEsMCwwLDAsMSwwLAotICAgIDAsMCwzLDAsMCwwLDQsMCwwLDAsNzEsMCwwLDAsMTE1LDgxLAotICAgIDAsMCwwLDExNiwwLDAsMTA2LDEsMCwxMDYsMiwwLDEyNCwxLDAsMTA3LAotICAgIDUsMCwxMTQsNzcsMCwxMjQsMCwwLDEwNiwzLDAsMTAwLDYsMCwxMzEsMSwKLSAgICAwLDExNSw0NiwwLDEwMCwzLDAsMTI0LDAsMCwyMywxMjUsMCwwLDExMCwwLAotICAgIDAsMTE2LDQsMCwxMjQsMCwwLDEwNiw1LDAsMTI0LDIsMCwxNDAsMCwwLAotICAgIDEwMCw0LDAsMTE2LDAsMCwxMDYsNiwwLDEzMSwxLDEsMSwxMTAsMCwwLAotICAgIDEwMCw1LDAsODMsNDEsNywxMjIsNjEsODAsMTE0LDEwNSwxMTAsMTE2LDMyLDExNiwxMDQsCi0gICAgMTAxLDMyLDEwOSwxMDEsMTE1LDExNSw5NywxMDMsMTAxLDMyLDExNiwxMTEsMzIsMTE1LDExNiwxMDAsCi0gICAgMTAxLDExNCwxMTQsMzIsMTA1LDEwMiwzMiw0NSwxMTgsNDcsODAsODksODQsNzIsNzksNzgsCi0gICAgODYsNjksODIsNjYsNzksODMsNjksMzIsMTA1LDExNSwzMiwxMTYsMTE3LDExNCwxMTAsMTAxLAotICAgIDEwMCwzMiwxMTEsMTEwLDQ2LDI1MCwxLDM1LDI1MCw3LDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LAotICAgIDMyLDEyMiwyLDM1LDMyLDExNCw1NCwwLDAsMCw3OCw0MSwyLDExNCwxNDcsMCwKLSAgICAwLDAsMTE0LDE0OCwwLDAsMCw0MSw3LDExNCw3LDAsMCwwLDExNCwxMTcsCi0gICAgMCwwLDAsMjE4LDcsMTE4LDEwMSwxMTQsOTgsMTExLDExNSwxMDEsMTE0LDksMCwwLAotICAgIDAsMjE4LDUsMTEyLDExNCwxMDUsMTEwLDExNiwxMTQsNDcsMCwwLDAsMjE4LDYsMTE1LAotICAgIDExNiwxMDAsMTAxLDExNCwxMTQsNDEsMywyMTgsNywxMDksMTAxLDExNSwxMTUsOTcsMTAzLDEwMSwKLSAgICAxMTQsMTQ2LDAsMCwwLDExNCw4MCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsCi0gICAgNCwwLDAsMCwxMTQsNSwwLDAsMCwyMTgsMTYsOTUsMTE4LDEwMSwxMTQsOTgsCi0gICAgMTExLDExNSwxMDEsOTUsMTA5LDEwMSwxMTUsMTE1LDk3LDEwMywxMDEsNiwyLDAsMCwxMTUsCi0gICAgOCwwLDAsMCwwLDIsMTgsMSwxNSwxLDEzLDEsMTE0LDE1MywwLDAsCi0gICAgMCw5OSwxLDAsMCwwLDAsMCwwLDAsMiwwLDAsMCw0LDAsCi0gICAgMCwwLDMsMCwwLDAsMTE1LDM4LDAsMCwwLDEwMCwxLDAsMTM1LDAsCi0gICAgMCwxMDIsMSwwLDEwMCwyLDAsMTAwLDMsMCwxMzQsMSwwLDEyNSwxLDAsCi0gICAgMTE2LDAsMCwxMjQsMSwwLDEzNiwwLDAsMTMxLDIsMCwxLDEyNCwxLDAsCi0gICAgODMsNDEsNCwxMjIsMjUyLDY4LDEwMSw5OSwxMTEsMTE0LDk3LDExNiwxMTEsMTE0LDMyLDExNiwKLSAgICAxMTEsMzIsMTE4LDEwMSwxMTQsMTA1LDEwMiwxMjEsMzIsMTE2LDEwNCw5NywxMTYsMzIsMTE2LDEwNCwKLSAgICAxMDEsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMzIsOTgsMTAxLDEwNSwxMTAsMTAzLDMyLDExNCwKLSAgICAxMDEsMTEzLDExNywxMDEsMTE1LDExNiwxMDEsMTAwLDMyLDEwOSw5NywxMTYsOTksMTA0LDEwMSwxMTUsCi0gICAgMzIsMTE2LDEwNCwxMDEsMzIsMTExLDExMCwxMDEsMzIsMTE2LDEwNCwxMDEsMTAsMzIsMzIsMzIsCi0gICAgMzIsMTA4LDExMSw5NywxMDAsMTAxLDExNCwzMiw5OSw5NywxMTAsMzIsMTA0LDk3LDExMCwxMDAsCi0gICAgMTA4LDEwMSw0NiwxMCwxMCwzMiwzMiwzMiwzMiw4NCwxMDQsMTAxLDMyLDEwMiwxMDUsMTE0LAotICAgIDExNSwxMTYsMzIsOTcsMTE0LDEwMywxMTcsMTA5LDEwMSwxMTAsMTE2LDMyLDQwLDExNSwxMDEsMTA4LAotICAgIDEwMiw0MSwzMiwxMDksMTE3LDExNSwxMTYsMzIsMTAwLDEwMSwxMDIsMTA1LDExMCwxMDEsMzIsOTUsCi0gICAgMTEwLDk3LDEwOSwxMDEsMzIsMTE5LDEwNCwxMDUsOTksMTA0LDMyLDExNiwxMDQsMTAxLDMyLDExNSwKLSAgICAxMDEsOTksMTExLDExMCwxMDAsMzIsOTcsMTE0LDEwMywxMTcsMTA5LDEwMSwxMTAsMTE2LDMyLDEwNSwKLSAgICAxMTUsMTAsMzIsMzIsMzIsMzIsOTksMTExLDEwOSwxMTIsOTcsMTE0LDEwMSwxMDAsMzIsOTcsCi0gICAgMTAzLDk3LDEwNSwxMTAsMTE1LDExNiw0NiwzMiw3MywxMDIsMzIsMTE2LDEwNCwxMDEsMzIsOTksCi0gICAgMTExLDEwOSwxMTIsOTcsMTE0LDEwNSwxMTUsMTExLDExMCwzMiwxMDIsOTcsMTA1LDEwOCwxMTUsMzIsCi0gICAgMTE2LDEwNCwxMDEsMTEwLDMyLDczLDEwOSwxMTIsMTExLDExNCwxMTYsNjksMTE0LDExNCwxMTEsMTE0LAotICAgIDMyLDEwNSwxMTUsMzIsMTE0LDk3LDEwNSwxMTUsMTAxLDEwMCw0NiwxMCwxMCwzMiwzMiwzMiwKLSAgICAzMiw3OCw5OSwyLDAsMCwwLDAsMCwwLDAsNCwwLDAsMCw1LAotICAgIDAsMCwwLDMxLDAsMCwwLDExNSw4MywwLDAsMCwxMjQsMSwwLDEwMCwKLSAgICAwLDAsMTA3LDgsMCwxMTQsMjQsMCwxMjQsMCwwLDEwNiwwLDAsMTI1LDEsCi0gICAgMCwxMTAsNDAsMCwxMjQsMCwwLDEwNiwwLDAsMTI0LDEsMCwxMDcsMywwLAotICAgIDExNCw2NCwwLDExNiwxLDAsMTAwLDEsMCwxMjQsMSwwLDIyLDEwMCwyLDAsCi0gICAgMTI0LDEsMCwxMzEsMSwxLDEzMCwxLDAsMTEwLDAsMCwxMzYsMCwwLDEyNCwKLSAgICAwLDAsMTI0LDEsMCwxMjQsMiwwLDEyNCwzLDAsMTQyLDIsMCw4Myw0MSwKLSAgICAzLDc4LDEyMiwyMywxMDgsMTExLDk3LDEwMCwxMDEsMTE0LDMyLDk5LDk3LDExMCwxMTAsMTExLAotICAgIDExNiwzMiwxMDQsOTcsMTEwLDEwMCwxMDgsMTAxLDMyLDM3LDExNSwxMTQsNjcsMCwwLDAsCi0gICAgNDEsMiwxMTQsNjcsMCwwLDAsMjE4LDExLDczLDEwOSwxMTIsMTExLDExNCwxMTYsNjksCi0gICAgMTE0LDExNCwxMTEsMTE0LDQxLDQsMTE0LDcxLDAsMCwwLDExNCw2NywwLDAsMCwKLSAgICAxMTQsODAsMCwwLDAsMTE0LDEwOCwwLDAsMCw0MSwxLDIxOCw2LDEwOSwxMDEsCi0gICAgMTE2LDEwNCwxMTEsMTAwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDIxOCwxOSwKLSAgICA5NSw5OSwxMDQsMTAxLDk5LDEwNyw5NSwxMTAsOTcsMTA5LDEwMSw5NSwxMTksMTE0LDk3LDExMiwKLSAgICAxMTIsMTAxLDExNCwyMiwyLDAsMCwxMTUsMTAsMCwwLDAsMCwxLDEyLDEsCi0gICAgMTIsMSwxNSwxLDI1LDEsMTIyLDQwLDk1LDk5LDEwNCwxMDEsOTksMTA3LDk1LDExMCwKLSAgICA5NywxMDksMTAxLDQ2LDYwLDEwOCwxMTEsOTksOTcsMTA4LDExNSw2Miw0Niw5NSw5OSwxMDQsCi0gICAgMTAxLDk5LDEwNyw5NSwxMTAsOTcsMTA5LDEwMSw5NSwxMTksMTE0LDk3LDExMiwxMTIsMTAxLDExNCwKLSAgICA0MSwxLDExNCw2NSwwLDAsMCw0MSwyLDExNCwxNTUsMCwwLDAsMTE0LDE1NiwKLSAgICAwLDAsMCwxMTQsNCwwLDAsMCw0MSwxLDExNCwxNTUsMCwwLDAsMTE0LAotICAgIDUsMCwwLDAsMjE4LDExLDk1LDk5LDEwNCwxMDEsOTksMTA3LDk1LDExMCw5NywxMDksCi0gICAgMTAxLDE0LDIsMCwwLDExNSw2LDAsMCwwLDAsOCwyMSw2LDEzLDEsCi0gICAgMTE0LDE1NywwLDAsMCw5OSwxLDAsMCwwLDAsMCwwLDAsMiwwLAotICAgIDAsMCwzLDAsMCwwLDMsMCwwLDAsMTE1LDM1LDAsMCwwLDEzNSwKLSAgICAwLDAsMTAyLDEsMCwxMDAsMSwwLDEwMCwyLDAsMTM0LDAsMCwxMjUsMSwKLSAgICAwLDExNiwwLDAsMTI0LDEsMCwxMzYsMCwwLDEzMSwyLDAsMSwxMjQsMSwKLSAgICAwLDgzLDQxLDMsMTIyLDQ5LDY4LDEwMSw5OSwxMTEsMTE0LDk3LDExNiwxMTEsMTE0LDMyLAotICAgIDExNiwxMTEsMzIsMTE4LDEwMSwxMTQsMTA1LDEwMiwxMjEsMzIsMTE2LDEwNCwxMDEsMzIsMTEwLDk3LAotICAgIDEwOSwxMDEsMTAwLDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDMyLDEwNSwxMTUsMzIsOTgsMTE3LAotICAgIDEwNSwxMDgsMTE2LDQ1LDEwNSwxMTAsNDYsOTksMiwwLDAsMCwwLDAsMCwwLAotICAgIDIsMCwwLDAsNCwwLDAsMCwxOSwwLDAsMCwxMTUsNTgsMCwwLAotICAgIDAsMTI0LDEsMCwxMTYsMCwwLDEwNiwxLDAsMTA3LDcsMCwxMTQsNDUsMCwKLSAgICAxMTYsMiwwLDEwMCwxLDAsMTA2LDMsMCwxMjQsMSwwLDEzMSwxLDAsMTAwLAotICAgIDIsMCwxMjQsMSwwLDEzMSwxLDEsMTMwLDEsMCwxMTAsMCwwLDEzNiwwLAotICAgIDAsMTI0LDAsMCwxMjQsMSwwLDEzMSwyLDAsODMsNDEsMyw3OCwxMjIsMjksCi0gICAgMTIzLDMzLDExNCwxMjUsMzIsMTA1LDExNSwzMiwxMTAsMTExLDExNiwzMiw5NywzMiw5OCwxMTcsCi0gICAgMTA1LDEwOCwxMTYsNDUsMTA1LDExMCwzMiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwxMTQsNjcsMCwKLSAgICAwLDAsNDEsNCwxMTQsNywwLDAsMCwyMTgsMjAsOTgsMTE3LDEwNSwxMDgsMTE2LAotICAgIDEwNSwxMTAsOTUsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsOTUsMTEwLDk3LDEwOSwxMDEsMTE1LDExNCwKLSAgICAxNTQsMCwwLDAsMTE0LDQ3LDAsMCwwLDQxLDIsMTE0LDcxLDAsMCwwLAotICAgIDIxOCw4LDEwMiwxMTcsMTA4LDEwOCwxMTAsOTcsMTA5LDEwMSw0MSwxLDIxOCwzLDEwMiwxMjAsCi0gICAgMTEwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDIxOCwyNSw5NSwxMTQsMTAxLAotICAgIDExMywxMTcsMTA1LDExNCwxMDEsMTE1LDk1LDk4LDExNywxMDUsMTA4LDExNiwxMDUsMTEwLDk1LDExOSwKLSAgICAxMTQsOTcsMTEyLDExMiwxMDEsMTE0LDM0LDIsMCwwLDExNSw4LDAsMCwwLDAsCi0gICAgMSwxNSwxLDE4LDEsMTIsMSwxMjIsNTIsOTUsMTE0LDEwMSwxMTMsMTE3LDEwNSwxMTQsCi0gICAgMTAxLDExNSw5NSw5OCwxMTcsMTA1LDEwOCwxMTYsMTA1LDExMCw0Niw2MCwxMDgsMTExLDk5LDk3LAotICAgIDEwOCwxMTUsNjIsNDYsOTUsMTE0LDEwMSwxMTMsMTE3LDEwNSwxMTQsMTAxLDExNSw5NSw5OCwxMTcsCi0gICAgMTA1LDEwOCwxMTYsMTA1LDExMCw5NSwxMTksMTE0LDk3LDExMiwxMTIsMTAxLDExNCw0MSwxLDExNCwKLSAgICA2NSwwLDAsMCw0MSwyLDExNCwxNjAsMCwwLDAsMTE0LDE2MSwwLDAsMCwKLSAgICAxMTQsNCwwLDAsMCw0MSwxLDExNCwxNjAsMCwwLDAsMTE0LDUsMCwwLAotICAgIDAsMjE4LDE3LDk1LDExNCwxMDEsMTEzLDExNywxMDUsMTE0LDEwMSwxMTUsOTUsOTgsMTE3LDEwNSwKLSAgICAxMDgsMTE2LDEwNSwxMTAsMzIsMiwwLDAsMTE1LDYsMCwwLDAsMCwyLDE4LAotICAgIDUsMTMsMSwxMTQsMTYyLDAsMCwwLDk5LDEsMCwwLDAsMCwwLDAsCi0gICAgMCwyLDAsMCwwLDMsMCwwLDAsMywwLDAsMCwxMTUsMzUsMCwKLSAgICAwLDAsMTM1LDAsMCwxMDIsMSwwLDEwMCwxLDAsMTAwLDIsMCwxMzQsMCwKLSAgICAwLDEyNSwxLDAsMTE2LDAsMCwxMjQsMSwwLDEzNiwwLDAsMTMxLDIsMCwKLSAgICAxLDEyNCwxLDAsODMsNDEsMywxMjIsNDcsNjgsMTAxLDk5LDExMSwxMTQsOTcsMTE2LAotICAgIDExMSwxMTQsMzIsMTE2LDExMSwzMiwxMTgsMTAxLDExNCwxMDUsMTAyLDEyMSwzMiwxMTYsMTA0LDEwMSwKLSAgICAzMiwxMTAsOTcsMTA5LDEwMSwxMDAsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMzIsMTA1LDExNSwKLSAgICAzMiwxMDIsMTE0LDExMSwxMjIsMTAxLDExMCw0Niw5OSwyLDAsMCwwLDAsMCwwLAotICAgIDAsMiwwLDAsMCw0LDAsMCwwLDE5LDAsMCwwLDExNSw1OCwwLAotICAgIDAsMCwxMTYsMCwwLDEwNiwxLDAsMTI0LDEsMCwxMzEsMSwwLDExNSw0NSwKLSAgICAwLDExNiwyLDAsMTAwLDEsMCwxMDYsMywwLDEyNCwxLDAsMTMxLDEsMCwKLSAgICAxMDAsMiwwLDEyNCwxLDAsMTMxLDEsMSwxMzAsMSwwLDExMCwwLDAsMTM2LAorICAgIDEwNCwxMDEsMzIsMTEyLDk3LDExNiwxMDQsMzIsMTE2LDExMSwzMiwxMTYsMTA0LDEwMSwxMCwzMiwKKyAgICAzMiwzMiwzMiw0NiwxMTIsMTIxLDk5LDQ3LDQ2LDExMiwxMjEsMTExLDMyLDEwMiwxMDUsMTA4LAorICAgIDEwMSwzMiw5OSw5NywxMDgsOTksMTE3LDEwOCw5NywxMTYsMTAxLDEwMCwzMiw5NywxMTUsMzIsCisgICAgMTA1LDEwMiwzMiwxMTYsMTA0LDEwMSwzMiw0NiwxMTIsMTIxLDMyLDEwMiwxMDUsMTA4LDEwMSwzMiwKKyAgICAxMTksMTAxLDExNCwxMDEsMzIsMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsMTAxLDEwMCw0NiwzMiwzMiwKKyAgICA4NCwxMDQsMTAxLDMyLDEwMSwxMjAsMTE2LDEwMSwxMTAsMTE1LDEwNSwxMTEsMTEwLDEwLDMyLDMyLAorICAgIDMyLDMyLDExOSwxMDUsMTA4LDEwOCwzMiw5OCwxMDEsMzIsNDYsMTEyLDEyMSw5OSwzMiwxMTcsCisgICAgMTEwLDEwOCwxMDEsMTE1LDExNSwzMiwxMTUsMTIxLDExNSw0NiwxMDIsMTA4LDk3LDEwMywxMTUsNDYsCisgICAgMTExLDExMiwxMTYsMTA1LDEwOSwxMDUsMTIyLDEwMSwzMiwxMDUsMTE1LDMyLDExMCwxMTEsMTEwLDQ1LAorICAgIDEyMiwxMDEsMTE0LDExMSw0NCwzMiwxMTYsMTA0LDEwMSwxMTAsMzIsMTA1LDExNiwzMiwxMTksMTA1LAorICAgIDEwOCwxMDgsMzIsOTgsMTAxLDMyLDQ2LDExMiwxMjEsMTExLDQ2LDEwLDEwLDMyLDMyLDMyLAorICAgIDMyLDczLDEwMiwzMiwxMDAsMTAxLDk4LDExNywxMDMsOTUsMTExLDExOCwxMDEsMTE0LDExNCwxMDUsCisgICAgMTAwLDEwMSwzMiwxMDUsMTE1LDMyLDExMCwxMTEsMTE2LDMyLDc4LDExMSwxMTAsMTAxLDQ0LDMyLAorICAgIDExNiwxMDQsMTAxLDExMCwzMiwxMDUsMTE2LDMyLDEwOSwxMTcsMTE1LDExNiwzMiw5OCwxMDEsMzIsCisgICAgOTcsMzIsOTgsMTExLDExMSwxMDgsMTAxLDk3LDExMCwzMiw5NywxMTAsMTAwLDMyLDEwNSwxMTUsCisgICAgMzIsMTE3LDExNSwxMDEsMTAwLDMyLDEwNSwxMTAsMTAsMzIsMzIsMzIsMzIsMTEyLDEwOCw5NywKKyAgICA5OSwxMDEsMzIsMTExLDEwMiwzMiwxMTUsMTIxLDExNSw0NiwxMDIsMTA4LDk3LDEwMywxMTUsNDYsCisgICAgMTExLDExMiwxMTYsMTA1LDEwOSwxMDUsMTIyLDEwMSw0NiwxMCwxMCwzMiwzMiwzMiwzMiw3MywKKyAgICAxMDIsMzIsMTE1LDEyMSwxMTUsNDYsMTA1LDEwOSwxMTIsMTA4LDEwMSwxMDksMTAxLDExMCwxMTYsOTcsCisgICAgMTE2LDEwNSwxMTEsMTEwLDQ2LDk5LDk3LDk5LDEwNCwxMDEsOTUsMTE2LDk3LDEwMywzMiwxMDUsCisgICAgMTE1LDMyLDc4LDExMSwxMTAsMTAxLDMyLDExNiwxMDQsMTAxLDExMCwzMiw3OCwxMTEsMTE2LDczLAorICAgIDEwOSwxMTIsMTA4LDEwMSwxMDksMTAxLDExMCwxMTYsMTAxLDEwMCw2OSwxMTQsMTE0LDExMSwxMTQsMzIsCisgICAgMTA1LDExNSwzMiwxMTQsOTcsMTA1LDExNSwxMDEsMTAwLDQ2LDEwLDEwLDMyLDMyLDMyLDMyLAorICAgIDc4LDIxOCwxLDQ2LDEyMiwzNiwxMTUsMTIxLDExNSw0NiwxMDUsMTA5LDExMiwxMDgsMTAxLDEwOSwKKyAgICAxMDEsMTEwLDExNiw5NywxMTYsMTA1LDExMSwxMTAsNDYsOTksOTcsOTksMTA0LDEwMSw5NSwxMTYsCisgICAgOTcsMTAzLDMyLDEwNSwxMTUsMzIsNzgsMTExLDExMCwxMDEsMTE0LDMwLDAsMCwwLDExNCwKKyAgICA4NCwwLDAsMCw0MSwxMywxMTQsNywwLDAsMCwyMTgsNSwxMDIsMTA4LDk3LAorICAgIDEwMywxMTUsMjE4LDgsMTExLDExMiwxMTYsMTA1LDEwOSwxMDUsMTIyLDEwMSwyMTgsMjMsNjgsNjksCisgICAgNjYsODUsNzEsOTUsNjYsODksODQsNjksNjcsNzksNjgsNjksOTUsODMsODUsNzAsCisgICAgNzAsNzMsODgsNjksODMsMjE4LDI3LDc5LDgwLDg0LDczLDc3LDczLDkwLDY5LDY4LAorICAgIDk1LDY2LDg5LDg0LDY5LDY3LDc5LDY4LDY5LDk1LDgzLDg1LDcwLDcwLDczLDg4LAorICAgIDY5LDgzLDExNCwzOCwwLDAsMCwxMTQsMzIsMCwwLDAsMjE4LDE0LDEwNSwxMDksCisgICAgMTEyLDEwOCwxMDEsMTA5LDEwMSwxMTAsMTE2LDk3LDExNiwxMDUsMTExLDExMCwyMTgsOSw5OSw5NywKKyAgICA5OSwxMDQsMTAxLDk1LDExNiw5NywxMDMsMjE4LDE5LDc4LDExMSwxMTYsNzMsMTA5LDExMiwxMDgsCisgICAgMTAxLDEwOSwxMDEsMTEwLDExNiwxMDEsMTAwLDY5LDExNCwxMTQsMTExLDExNCwxMTQsMjYsMCwwLAorICAgIDAsMTE0LDI4LDAsMCwwLDIxOCw4LDk1LDgwLDg5LDY3LDY1LDY3LDcyLDY5LAorICAgIDQxLDExLDExNCwzNSwwLDAsMCw5MCwxNCwxMDAsMTAxLDk4LDExNywxMDMsOTUsMTExLAorICAgIDExOCwxMDEsMTE0LDExNCwxMDUsMTAwLDEwMSwyMTgsNSwxMDAsMTAxLDk4LDExNywxMDMsMjE4LDgsCisgICAgMTE1LDExNywxMDIsMTAyLDEwNSwxMjAsMTAxLDExNSwyMTgsNCwxMDQsMTAxLDk3LDEwMCwxMTQsMzcsCisgICAgMCwwLDAsMjE4LDQsOTgsOTcsMTE1LDEwMSwyMTgsMywxMTUsMTAxLDExMiwyMTgsNCwKKyAgICAxMTQsMTAxLDExNSwxMTYsOTAsMywxMTYsOTcsMTAzLDIxOCw4LDEwMiwxMDUsMTA4LDEwMSwxMTAsCisgICAgOTcsMTA5LDEwMSwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLAorICAgIDAsMCwyMTgsMTcsOTksOTcsOTksMTA0LDEwMSw5NSwxMDIsMTE0LDExMSwxMDksOTUsMTE1LAorICAgIDExMSwxMTcsMTE0LDk5LDEwMSwxODIsMSwwLDAsMTE1LDIyLDAsMCwwLDAsMTMsCisgICAgMzEsMSw2LDEsOSwyLDYsMSwxOCwxLDI0LDEsMTIsMSwxMiwxLAorICAgIDEyLDEsNDMsMSwxMTQsMTMyLDAsMCwwLDk5LDEsMCwwLDAsMCwwLAorICAgIDAsMCw1LDAsMCwwLDUsMCwwLDAsNjcsMCwwLDAsMTE1LDE4NCwKKyAgICAwLDAsMCwxMTYsMCwwLDEwNiwxLDAsMTA2LDIsMCwxMDAsMSwwLDEwNywKKyAgICA4LDAsMTE0LDMwLDAsMTE2LDMsMCwxMDAsMiwwLDEzMSwxLDAsMTMwLDEsCisgICAgMCwxMTYsNCwwLDEyNCwwLDAsMTMxLDEsMCw5MiwyLDAsMTI1LDEsMCwKKyAgICAxMjUsMiwwLDExNiw0LDAsMTI0LDEsMCwxMzEsMSwwLDkyLDIsMCwxMjUsCisgICAgMSwwLDEyNSwzLDAsMTI0LDMsMCwxMTYsNSwwLDEwNywzLDAsMTE0LDEwMiwKKyAgICAwLDExNiw2LDAsMTAwLDMsMCwxMDYsNywwLDExNiw1LDAsMTI0LDAsMCwKKyAgICAxMzEsMiwwLDEzMSwxLDAsMTMwLDEsMCwxMjQsMiwwLDEwNiw4LDAsMTAwLAorICAgIDQsMCwxMzEsMSwwLDEwMCw1LDAsMTA3LDMsMCwxMTQsMTQ0LDAsMTE2LDYsCisgICAgMCwxMDAsNiwwLDEwNiw3LDAsMTI0LDIsMCwxMzEsMSwwLDEzMSwxLDAsCisgICAgMTMwLDEsMCwxMjQsMiwwLDEwNiw5LDAsMTAwLDQsMCwxMzEsMSwwLDEwMCwKKyAgICA3LDAsMjUsMTI1LDQsMCwxMTYsMTAsMCwxMjQsMSwwLDEyNCw0LDAsMTE2LAorICAgIDExLDAsMTAwLDcsMCwyNSwyMywxMzEsMiwwLDgzLDQxLDgsOTcsMTIxLDEsCisgICAgMCwwLDcxLDEwNSwxMTgsMTAxLDExMCwzMiwxMTYsMTA0LDEwMSwzMiwxMTIsOTcsMTE2LDEwNCwKKyAgICAzMiwxMTYsMTExLDMyLDk3LDMyLDQ2LDExMiwxMjEsOTksNDYsNDcsNDYsMTEyLDEyMSwxMTEsCisgICAgMzIsMTAyLDEwNSwxMDgsMTAxLDQ0LDMyLDExNCwxMDEsMTE2LDExNywxMTQsMTEwLDMyLDExNiwxMDQsCisgICAgMTAxLDMyLDExMiw5NywxMTYsMTA0LDMyLDExNiwxMTEsMzIsMTA1LDExNiwxMTUsMzIsNDYsMTEyLAorICAgIDEyMSwzMiwxMDIsMTA1LDEwOCwxMDEsNDYsMTAsMTAsMzIsMzIsMzIsMzIsODQsMTA0LDEwMSwKKyAgICAzMiw0NiwxMTIsMTIxLDk5LDQ3LDQ2LDExMiwxMjEsMTExLDMyLDEwMiwxMDUsMTA4LDEwMSwzMiwKKyAgICAxMDAsMTExLDEwMSwxMTUsMzIsMTEwLDExMSwxMTYsMzIsMTEwLDEwMSwxMDEsMTAwLDMyLDExNiwxMTEsCisgICAgMzIsMTAxLDEyMCwxMDUsMTE1LDExNiw1OSwzMiwxMTYsMTA0LDEwNSwxMTUsMzIsMTE1LDEwNSwxMDksCisgICAgMTEyLDEwOCwxMjEsMzIsMTE0LDEwMSwxMTYsMTE3LDExNCwxMTAsMTE1LDMyLDExNiwxMDQsMTAxLDMyLAorICAgIDExMiw5NywxMTYsMTA0LDMyLDExNiwxMTEsMTAsMzIsMzIsMzIsMzIsMTE2LDEwNCwxMDEsMzIsCisgICAgNDYsMTEyLDEyMSwzMiwxMDIsMTA1LDEwOCwxMDEsMzIsOTksOTcsMTA4LDk5LDExNywxMDgsOTcsCisgICAgMTE2LDEwMSwxMDAsMzIsMTE2LDExMSwzMiw5OSwxMTEsMTE0LDExNCwxMDEsMTE1LDExMiwxMTEsMTEwLAorICAgIDEwMCwzMiwxMTYsMTExLDMyLDExNiwxMDQsMTAxLDMyLDQ2LDExMiwxMjEsOTksNDcsNDYsMTEyLAorICAgIDEyMSwxMTEsMzIsMTAyLDEwNSwxMDgsMTAxLDQ2LDMyLDMyLDczLDEwMiwzMiwxMTIsOTcsMTE2LAorICAgIDEwNCwzMiwxMDAsMTExLDEwMSwxMTUsMTAsMzIsMzIsMzIsMzIsMTEwLDExMSwxMTYsMzIsOTksCisgICAgMTExLDExMCwxMDIsMTExLDExNCwxMDksMzIsMTE2LDExMSwzMiw4MCw2OSw4MCwzMiw1MSw0OSwKKyAgICA1Miw1NSwzMiwxMDIsMTExLDExNCwxMDksOTcsMTE2LDQ0LDMyLDg2LDk3LDEwOCwxMTcsMTAxLAorICAgIDY5LDExNCwxMTQsMTExLDExNCwzMiwxMTksMTA1LDEwOCwxMDgsMzIsOTgsMTAxLDMyLDExNCw5NywKKyAgICAxMDUsMTE1LDEwMSwxMDAsNDYsMzIsNzMsMTAyLDEwLDMyLDMyLDMyLDMyLDExNSwxMjEsMTE1LAorICAgIDQ2LDEwNSwxMDksMTEyLDEwOCwxMDEsMTA5LDEwMSwxMTAsMTE2LDk3LDExNiwxMDUsMTExLDExMCw0NiwKKyAgICA5OSw5Nyw5OSwxMDQsMTAxLDk1LDExNiw5NywxMDMsMzIsMTA1LDExNSwzMiw3OCwxMTEsMTEwLAorICAgIDEwMSwzMiwxMTYsMTA0LDEwMSwxMTAsMzIsNzgsMTExLDExNiw3MywxMDksMTEyLDEwOCwxMDEsMTA5LAorICAgIDEwMSwxMTAsMTE2LDEwMSwxMDAsNjksMTE0LDExNCwxMTEsMTE0LDMyLDEwNSwxMTUsMzIsMTE0LDk3LAorICAgIDEwNSwxMTUsMTAxLDEwMCw0NiwxMCwxMCwzMiwzMiwzMiwzMiw3OCwxMjIsMzYsMTE1LDEyMSwKKyAgICAxMTUsNDYsMTA1LDEwOSwxMTIsMTA4LDEwMSwxMDksMTAxLDExMCwxMTYsOTcsMTE2LDEwNSwxMTEsMTEwLAorICAgIDQ2LDk5LDk3LDk5LDEwNCwxMDEsOTUsMTE2LDk3LDEwMywzMiwxMDUsMTE1LDMyLDc4LDExMSwKKyAgICAxMTAsMTAxLDEyMiwzNywxMjMsMTI1LDMyLDExMCwxMTEsMTE2LDMyLDk4LDExMSwxMTYsMTE2LDExMSwKKyAgICAxMDksNDUsMTA4LDEwMSwxMTgsMTAxLDEwOCwzMiwxMDAsMTA1LDExNCwxMDEsOTksMTE2LDExMSwxMTQsCisgICAgMTIxLDMyLDEwNSwxMTAsMzIsMTIzLDMzLDExNCwxMjUsMTE0LDExNiwwLDAsMCwxMTQsMTE1LAorICAgIDAsMCwwLDEyMiwyOCwxMDEsMTIwLDExMiwxMDEsOTksMTE2LDEwMSwxMDAsMzIsMTExLDExMCwKKyAgICAxMDgsMTIxLDMyLDUwLDMyLDEwMCwxMTEsMTE2LDExNSwzMiwxMDUsMTEwLDMyLDEyMywzMywxMTQsCisgICAgMTI1LDExNCw4NCwwLDAsMCw0MSwxMiwxMTQsNywwLDAsMCwxMTQsMTIxLDAsCisgICAgMCwwLDExNCwxMjIsMCwwLDAsMTE0LDEyMywwLDAsMCwxMTQsMzgsMCwwLAorICAgIDAsMTE0LDEyNCwwLDAsMCwyMTgsMTAsODYsOTcsMTA4LDExNywxMDEsNjksMTE0LDExNCwKKyAgICAxMTEsMTE0LDExNCw0NywwLDAsMCwxMTQsODksMCwwLDAsMjE4LDksMTEyLDk3LAorICAgIDExNCwxMTYsMTA1LDExNiwxMDUsMTExLDExMCwxMTQsMjgsMCwwLDAsMjE4LDE1LDgzLDc5LAorICAgIDg1LDgyLDY3LDY5LDk1LDgzLDg1LDcwLDcwLDczLDg4LDY5LDgzLDQxLDUsMTE0LAorICAgIDM1LDAsMCwwLDExNCwxMjcsMCwwLDAsOTAsMTYsMTEyLDEyMSw5OSw5Nyw5OSwKKyAgICAxMDQsMTAxLDk1LDEwMiwxMDUsMTA4LDEwMSwxMTAsOTcsMTA5LDEwMSw5MCw3LDExMiwxMjEsOTksCisgICAgOTcsOTksMTA0LDEwMSw5MCwxMyw5OCw5NywxMTUsMTAxLDk1LDEwMiwxMDUsMTA4LDEwMSwxMTAsCisgICAgOTcsMTA5LDEwMSwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLAorICAgIDAsMCwyMTgsMTcsMTE1LDExMSwxMTcsMTE0LDk5LDEwMSw5NSwxMDIsMTE0LDExMSwxMDksOTUsCisgICAgOTksOTcsOTksMTA0LDEwMSwyMDksMSwwLDAsMTE1LDI0LDAsMCwwLDAsOSwKKyAgICAxOCwxLDEyLDEsMTgsMSwxOCwxLDEyLDEsOSwxLDE1LDEsMjEsMSwKKyAgICA5LDEsMTIsMSwxOSwxLDExNCwxMzYsMCwwLDAsOTksMSwwLDAsMCwKKyAgICAwLDAsMCwwLDUsMCwwLDAsMTIsMCwwLDAsNjcsMCwwLDAsCisgICAgMTE1LDE2NCwwLDAsMCwxMTYsMCwwLDEyNCwwLDAsMTMxLDEsMCwxMDAsMSwKKyAgICAwLDEwNywyLDAsMTE0LDIyLDAsMTAwLDIsMCw4MywxMjQsMCwwLDEwNiwxLAorICAgIDAsMTAwLDMsMCwxMzEsMSwwLDkyLDMsMCwxMjUsMSwwLDEyNSwyLDAsCisgICAgMTI1LDMsMCwxMjQsMSwwLDEyLDExNSw4MSwwLDEyNCwzLDAsMTA2LDIsMCwKKyAgICAxMzEsMCwwLDEwMCw3LDAsMTAwLDgsMCwxMzMsMiwwLDI1LDEwMCw2LDAsCisgICAgMTA3LDMsMCwxMTQsODUsMCwxMjQsMCwwLDgzLDEyMSwxNiwwLDExNiwzLDAsCisgICAgMTI0LDAsMCwxMzEsMSwwLDEyNSw0LDAsODcsMTEwLDQwLDAsNCwxMTYsNCwKKyAgICAwLDExNiw1LDAsMTAyLDIsMCwxMDcsMTAsMCwxMTQsMTQzLDAsMSwxLDEsCisgICAgMTI0LDAsMCwxMDAsMiwwLDEwMCw5LDAsMTMzLDIsMCwyNSwxMjUsNCwwLAorICAgIDg5LDExMCwxLDAsODgsMTE2LDYsMCwxMjQsNCwwLDEzMSwxLDAsMTE0LDE2MCwKKyAgICAwLDEyNCw0LDAsODMsMTI0LDAsMCw4Myw0MSwxMCwxMjIsMTg4LDY3LDExMSwxMTAsCisgICAgMTE4LDEwMSwxMTQsMTE2LDMyLDk3LDMyLDk4LDEyMSwxMTYsMTAxLDk5LDExMSwxMDAsMTAxLDMyLAorICAgIDEwMiwxMDUsMTA4LDEwMSwzMiwxMTIsOTcsMTE2LDEwNCwzMiwxMTYsMTExLDMyLDk3LDMyLDExNSwKKyAgICAxMTEsMTE3LDExNCw5OSwxMDEsMzIsMTEyLDk3LDExNiwxMDQsMzIsNDAsMTA1LDEwMiwzMiwxMTIsCisgICAgMTExLDExNSwxMTUsMTA1LDk4LDEwOCwxMDEsNDEsNDYsMTAsMTAsMzIsMzIsMzIsMzIsODQsCisgICAgMTA0LDEwNSwxMTUsMzIsMTAyLDExNywxMTAsOTksMTE2LDEwNSwxMTEsMTEwLDMyLDEwMSwxMjAsMTA1LAorICAgIDExNSwxMTYsMTE1LDMyLDExMiwxMTcsMTE0LDEwMSwxMDgsMTIxLDMyLDEwMiwxMTEsMTE0LDMyLDk4LAorICAgIDk3LDk5LDEwNywxMTksOTcsMTE0LDEwMCwxMTUsNDUsOTksMTExLDEwOSwxMTIsOTcsMTE2LDEwNSwKKyAgICA5OCwxMDUsMTA4LDEwNSwxMTYsMTIxLDMyLDEwMiwxMTEsMTE0LDEwLDMyLDMyLDMyLDMyLDgwLAorICAgIDEyMSw3MywxMDksMTEyLDExMSwxMTQsMTE2LDk1LDY5LDEyMCwxMDEsOTksNjcsMTExLDEwMCwxMDEsCisgICAgNzcsMTExLDEwMCwxMTcsMTA4LDEwMSw4NywxMDUsMTE2LDEwNCw3MCwxMDUsMTA4LDEwMSwxMTAsOTcsCisgICAgMTA5LDEwMSwxMTUsNDAsNDEsMzIsMTA1LDExMCwzMiwxMTYsMTA0LDEwMSwzMiw2NywzMiw2NSwKKyAgICA4MCw3Myw0NiwxMCwxMCwzMiwzMiwzMiwzMiwxMTQsODQsMCwwLDAsNzgsMTE0LAorICAgIDExNiwwLDAsMCwyMzMsMywwLDAsMCwxMTQsMjksMCwwLDAsOTAsMiwKKyAgICAxMTIsMTIxLDIzMywyNTMsMjU1LDI1NSwyNTUsMjMzLDI1NSwyNTUsMjU1LDI1NSwxMTQsMTM5LDAsMCwKKyAgICAwLDQxLDcsMTE0LDMxLDAsMCwwLDExNCwzMiwwLDAsMCwyMTgsNSwxMDgsCisgICAgMTExLDExOSwxMDEsMTE0LDExNCwxMzYsMCwwLDAsMTE0LDEyMywwLDAsMCwxMTQsMTMzLAorICAgIDAsMCwwLDExNCw0NCwwLDAsMCw0MSw1LDIxOCwxMyw5OCwxMjEsMTE2LDEwMSwKKyAgICA5OSwxMTEsMTAwLDEwMSw5NSwxMTIsOTcsMTE2LDEwNCwxMTQsMTMwLDAsMCwwLDExNCwzNiwKKyAgICAwLDAsMCw5MCw5LDEwMSwxMjAsMTE2LDEwMSwxMTAsMTE1LDEwNSwxMTEsMTEwLDIxOCwxMSwKKyAgICAxMTUsMTExLDExNywxMTQsOTksMTAxLDk1LDExMiw5NywxMTYsMTA0LDExNCw0LDAsMCwwLAorICAgIDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDIxOCwxNSw5NSwxMDMsMTAxLDExNiwKKyAgICA5NSwxMTUsMTExLDExNywxMTQsOTksMTAxLDEwMiwxMDUsMTA4LDEwMSwyMzIsMSwwLDAsMTE1LAorICAgIDIwLDAsMCwwLDAsNywxOCwxLDQsMSwyNCwxLDM1LDEsNCwxLAorICAgIDMsMSwxNiwxLDE5LDEsMjEsMSwxMTQsMTQzLDAsMCwwLDk5LDEsMCwKKyAgICAwLDAsMCwwLDAsMCwyLDAsMCwwLDExLDAsMCwwLDY3LDAsCisgICAgMCwwLDExNSw2MCwwLDAsMCwxMjEsMTksMCwxMTYsMCwwLDEyNCwwLDAsCisgICAgMTMxLDEsMCwxMDYsMSwwLDEyNSwxLDAsODcsMTEwLDI0LDAsNCwxMTYsMiwKKyAgICAwLDEwNywxMCwwLDExNCw0NSwwLDEsMSwxLDEwMCwxLDAsMTI1LDEsMCwKKyAgICA4OSwxMTAsMSwwLDg4LDEyNCwxLDAsMTAwLDIsMCw3OSwxMjUsMSwwLDEyNCwKKyAgICAxLDAsODMsNDEsMywxMjIsNTEsNjcsOTcsMTA4LDk5LDExNywxMDgsOTcsMTE2LDEwMSwKKyAgICAzMiwxMTYsMTA0LDEwMSwzMiwxMDksMTExLDEwMCwxMDEsMzIsMTEyLDEwMSwxMTQsMTA5LDEwNSwxMTUsCisgICAgMTE1LDEwNSwxMTEsMTEwLDExNSwzMiwxMDIsMTExLDExNCwzMiw5NywzMiw5OCwxMjEsMTE2LDEwMSwKKyAgICA5OSwxMTEsMTAwLDEwMSwzMiwxMDIsMTA1LDEwOCwxMDEsNDYsMTA1LDE4MiwxLDAsMCwyMzMsCisgICAgMTI4LDAsMCwwLDQxLDMsMTE0LDM5LDAsMCwwLDExNCw0MSwwLDAsMCwKKyAgICAxMTQsNDAsMCwwLDAsNDEsMiwxMTQsMzUsMCwwLDAsMTE0LDQyLDAsMCwKKyAgICAwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLAorICAgIDIxOCwxMCw5NSw5OSw5NywxMDgsOTksOTUsMTA5LDExMSwxMDAsMTAxLDI1MSwxLDAsMCwKKyAgICAxMTUsMTIsMCwwLDAsMCwyLDMsMSwxOSwxLDEzLDEsMTEsMywxMCwKKyAgICAxLDExNCwxNDUsMCwwLDAsMjE4LDksMTE4LDEwMSwxMTQsOTgsMTExLDExNSwxMDUsMTE2LAorICAgIDEyMSwxMTQsMjksMCwwLDAsOTksMSwwLDAsMCwxLDAsMCwwLDMsCisgICAgMCwwLDAsNCwwLDAsMCw3MSwwLDAsMCwxMTUsNzUsMCwwLDAsCisgICAgMTE2LDAsMCwxMDYsMSwwLDEwNiwyLDAsMTI0LDEsMCwxMDcsNSwwLDExNCwKKyAgICA3MSwwLDEyNCwwLDAsMTA2LDMsMCwxMDAsNiwwLDEzMSwxLDAsMTE1LDQzLAorICAgIDAsMTAwLDMsMCwxMjQsMCwwLDIzLDEyNSwwLDAsMTE2LDQsMCwxMjQsMCwKKyAgICAwLDEwNiw1LDAsMTI0LDIsMCwxNDAsMCwwLDEwMCw0LDAsMTE2LDAsMCwKKyAgICAxMDYsNiwwLDEzMSwxLDEsMSwxMDAsNSwwLDgzLDQxLDcsMTIyLDYxLDgwLAorICAgIDExNCwxMDUsMTEwLDExNiwzMiwxMTYsMTA0LDEwMSwzMiwxMDksMTAxLDExNSwxMTUsOTcsMTAzLDEwMSwKKyAgICAzMiwxMTYsMTExLDMyLDExNSwxMTYsMTAwLDEwMSwxMTQsMTE0LDMyLDEwNSwxMDIsMzIsNDUsMTE4LAorICAgIDQ3LDgwLDg5LDg0LDcyLDc5LDc4LDg2LDY5LDgyLDY2LDc5LDgzLDY5LDMyLDEwNSwKKyAgICAxMTUsMzIsMTE2LDExNywxMTQsMTEwLDEwMSwxMDAsMzIsMTExLDExMCw0NiwyNTAsMSwzNSwyNTAsCisgICAgNywxMDUsMTA5LDExMiwxMTEsMTE0LDExNiwzMiwxMjIsMiwzNSwzMiwxMTQsNTQsMCwwLAorICAgIDAsNzgsNDEsMiwxMTQsMTQ3LDAsMCwwLDExNCwxNDgsMCwwLDAsNDEsNywKKyAgICAxMTQsNywwLDAsMCwxMTQsMTE3LDAsMCwwLDIxOCw3LDExOCwxMDEsMTE0LDk4LAorICAgIDExMSwxMTUsMTAxLDExNCw5LDAsMCwwLDIxOCw1LDExMiwxMTQsMTA1LDExMCwxMTYsMTE0LAorICAgIDQ3LDAsMCwwLDIxOCw2LDExNSwxMTYsMTAwLDEwMSwxMTQsMTE0LDQxLDMsMjE4LDcsCisgICAgMTA5LDEwMSwxMTUsMTE1LDk3LDEwMywxMDEsMTE0LDE0NiwwLDAsMCwxMTQsODAsMCwwLAorICAgIDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsCisgICAgMjE4LDE2LDk1LDExOCwxMDEsMTE0LDk4LDExMSwxMTUsMTAxLDk1LDEwOSwxMDEsMTE1LDExNSw5NywKKyAgICAxMDMsMTAxLDcsMiwwLDAsMTE1LDgsMCwwLDAsMCwyLDE4LDEsMTUsCisgICAgMSwxMCwxLDExNCwxNTMsMCwwLDAsOTksMSwwLDAsMCwwLDAsMCwKKyAgICAwLDIsMCwwLDAsNCwwLDAsMCwzLDAsMCwwLDExNSwzOCwwLAorICAgIDAsMCwxMDAsMSwwLDEzNSwwLDAsMTAyLDEsMCwxMDAsMiwwLDEwMCwzLAorICAgIDAsMTM0LDEsMCwxMjUsMSwwLDExNiwwLDAsMTI0LDEsMCwxMzYsMCwwLAorICAgIDEzMSwyLDAsMSwxMjQsMSwwLDgzLDQxLDQsMTIyLDI1Miw2OCwxMDEsOTksMTExLAorICAgIDExNCw5NywxMTYsMTExLDExNCwzMiwxMTYsMTExLDMyLDExOCwxMDEsMTE0LDEwNSwxMDIsMTIxLDMyLAorICAgIDExNiwxMDQsOTcsMTE2LDMyLDExNiwxMDQsMTAxLDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDMyLAorICAgIDk4LDEwMSwxMDUsMTEwLDEwMywzMiwxMTQsMTAxLDExMywxMTcsMTAxLDExNSwxMTYsMTAxLDEwMCwzMiwKKyAgICAxMDksOTcsMTE2LDk5LDEwNCwxMDEsMTE1LDMyLDExNiwxMDQsMTAxLDMyLDExMSwxMTAsMTAxLDMyLAorICAgIDExNiwxMDQsMTAxLDEwLDMyLDMyLDMyLDMyLDEwOCwxMTEsOTcsMTAwLDEwMSwxMTQsMzIsOTksCisgICAgOTcsMTEwLDMyLDEwNCw5NywxMTAsMTAwLDEwOCwxMDEsNDYsMTAsMTAsMzIsMzIsMzIsMzIsCisgICAgODQsMTA0LDEwMSwzMiwxMDIsMTA1LDExNCwxMTUsMTE2LDMyLDk3LDExNCwxMDMsMTE3LDEwOSwxMDEsCisgICAgMTEwLDExNiwzMiw0MCwxMTUsMTAxLDEwOCwxMDIsNDEsMzIsMTA5LDExNywxMTUsMTE2LDMyLDEwMCwKKyAgICAxMDEsMTAyLDEwNSwxMTAsMTAxLDMyLDk1LDExMCw5NywxMDksMTAxLDMyLDExOSwxMDQsMTA1LDk5LAorICAgIDEwNCwzMiwxMTYsMTA0LDEwMSwzMiwxMTUsMTAxLDk5LDExMSwxMTAsMTAwLDMyLDk3LDExNCwxMDMsCisgICAgMTE3LDEwOSwxMDEsMTEwLDExNiwzMiwxMDUsMTE1LDEwLDMyLDMyLDMyLDMyLDk5LDExMSwxMDksCisgICAgMTEyLDk3LDExNCwxMDEsMTAwLDMyLDk3LDEwMyw5NywxMDUsMTEwLDExNSwxMTYsNDYsMzIsNzMsCisgICAgMTAyLDMyLDExNiwxMDQsMTAxLDMyLDk5LDExMSwxMDksMTEyLDk3LDExNCwxMDUsMTE1LDExMSwxMTAsCisgICAgMzIsMTAyLDk3LDEwNSwxMDgsMTE1LDMyLDExNiwxMDQsMTAxLDExMCwzMiw3MywxMDksMTEyLDExMSwKKyAgICAxMTQsMTE2LDY5LDExNCwxMTQsMTExLDExNCwzMiwxMDUsMTE1LDMyLDExNCw5NywxMDUsMTE1LDEwMSwKKyAgICAxMDAsNDYsMTAsMTAsMzIsMzIsMzIsMzIsNzgsOTksMiwwLDAsMCwwLDAsCisgICAgMCwwLDQsMCwwLDAsNSwwLDAsMCwzMSwwLDAsMCwxMTUsODAsCisgICAgMCwwLDAsMTI0LDEsMCwxMDAsMCwwLDEwNyw4LDAsMTE0LDI0LDAsMTI0LAorICAgIDAsMCwxMDYsMCwwLDEyNSwxLDAsMTEwLDM3LDAsMTI0LDAsMCwxMDYsMCwKKyAgICAwLDEyNCwxLDAsMTA3LDMsMCwxMTQsNjEsMCwxMTYsMSwwLDEwMCwxLDAsCisgICAgMTI0LDEsMCwyMiwxMDAsMiwwLDEyNCwxLDAsMTMxLDEsMSwxMzAsMSwwLAorICAgIDEzNiwwLDAsMTI0LDAsMCwxMjQsMSwwLDEyNCwyLDAsMTI0LDMsMCwxNDIsCisgICAgMiwwLDgzLDQxLDMsNzgsMTIyLDIzLDEwOCwxMTEsOTcsMTAwLDEwMSwxMTQsMzIsOTksCisgICAgOTcsMTEwLDExMCwxMTEsMTE2LDMyLDEwNCw5NywxMTAsMTAwLDEwOCwxMDEsMzIsMzcsMTE1LDExNCwKKyAgICA2NywwLDAsMCw0MSwyLDExNCw2NywwLDAsMCwyMTgsMTEsNzMsMTA5LDExMiwKKyAgICAxMTEsMTE0LDExNiw2OSwxMTQsMTE0LDExMSwxMTQsNDEsNCwxMTQsNzEsMCwwLDAsMTE0LAorICAgIDY3LDAsMCwwLDExNCw4MCwwLDAsMCwxMTQsMTA4LDAsMCwwLDQxLDEsCisgICAgMjE4LDYsMTA5LDEwMSwxMTYsMTA0LDExMSwxMDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwKKyAgICAwLDAsMjE4LDE5LDk1LDk5LDEwNCwxMDEsOTksMTA3LDk1LDExMCw5NywxMDksMTAxLDk1LAorICAgIDExOSwxMTQsOTcsMTEyLDExMiwxMDEsMTE0LDIzLDIsMCwwLDExNSwxMCwwLDAsMCwKKyAgICAwLDEsMTIsMSwxMiwxLDE1LDEsMjIsMSwxMjIsNDAsOTUsOTksMTA0LDEwMSwKKyAgICA5OSwxMDcsOTUsMTEwLDk3LDEwOSwxMDEsNDYsNjAsMTA4LDExMSw5OSw5NywxMDgsMTE1LDYyLAorICAgIDQ2LDk1LDk5LDEwNCwxMDEsOTksMTA3LDk1LDExMCw5NywxMDksMTAxLDk1LDExOSwxMTQsOTcsCisgICAgMTEyLDExMiwxMDEsMTE0LDQxLDEsMTE0LDY1LDAsMCwwLDQxLDIsMTE0LDE1NSwwLAorICAgIDAsMCwxMTQsMTU2LDAsMCwwLDExNCw0LDAsMCwwLDQxLDEsMTE0LDE1NSwKKyAgICAwLDAsMCwxMTQsNSwwLDAsMCwyMTgsMTEsOTUsOTksMTA0LDEwMSw5OSwxMDcsCisgICAgOTUsMTEwLDk3LDEwOSwxMDEsMTUsMiwwLDAsMTE1LDYsMCwwLDAsMCw4LAorICAgIDIxLDYsMTMsMSwxMTQsMTU3LDAsMCwwLDk5LDEsMCwwLDAsMCwwLAorICAgIDAsMCwyLDAsMCwwLDMsMCwwLDAsMywwLDAsMCwxMTUsMzUsCisgICAgMCwwLDAsMTM1LDAsMCwxMDIsMSwwLDEwMCwxLDAsMTAwLDIsMCwxMzQsCisgICAgMCwwLDEyNSwxLDAsMTE2LDAsMCwxMjQsMSwwLDEzNiwwLDAsMTMxLDIsCisgICAgMCwxLDEyNCwxLDAsODMsNDEsMywxMjIsNDksNjgsMTAxLDk5LDExMSwxMTQsOTcsCisgICAgMTE2LDExMSwxMTQsMzIsMTE2LDExMSwzMiwxMTgsMTAxLDExNCwxMDUsMTAyLDEyMSwzMiwxMTYsMTA0LAorICAgIDEwMSwzMiwxMTAsOTcsMTA5LDEwMSwxMDAsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMzIsMTA1LAorICAgIDExNSwzMiw5OCwxMTcsMTA1LDEwOCwxMTYsNDUsMTA1LDExMCw0Niw5OSwyLDAsMCwwLAorICAgIDAsMCwwLDAsMiwwLDAsMCw0LDAsMCwwLDE5LDAsMCwwLAorICAgIDExNSw1NSwwLDAsMCwxMjQsMSwwLDExNiwwLDAsMTA2LDEsMCwxMDcsNywKKyAgICAwLDExNCw0MiwwLDExNiwyLDAsMTAwLDEsMCwxMDYsMywwLDEyNCwxLDAsCisgICAgMTMxLDEsMCwxMDAsMiwwLDEyNCwxLDAsMTMxLDEsMSwxMzAsMSwwLDEzNiwKICAgICAwLDAsMTI0LDAsMCwxMjQsMSwwLDEzMSwyLDAsODMsNDEsMyw3OCwxMjIsCi0gICAgMjcsMTIzLDMzLDExNCwxMjUsMzIsMTA1LDExNSwzMiwxMTAsMTExLDExNiwzMiw5NywzMiwxMDIsCi0gICAgMTE0LDExMSwxMjIsMTAxLDExMCwzMiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwxMTQsNjcsMCwwLAotICAgIDAsNDEsNCwxMTQsMTA2LDAsMCwwLDIxOCw5LDEwNSwxMTUsOTUsMTAyLDExNCwxMTEsCi0gICAgMTIyLDEwMSwxMTAsMTE0LDE1NCwwLDAsMCwxMTQsNDcsMCwwLDAsNDEsMiwxMTQsCi0gICAgNzEsMCwwLDAsMTE0LDE1OSwwLDAsMCw0MSwxLDExNCwxNjAsMCwwLDAsCi0gICAgMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsMjE4LDI0LDk1LDExNCwxMDEsMTEzLAotICAgIDExNywxMDUsMTE0LDEwMSwxMTUsOTUsMTAyLDExNCwxMTEsMTIyLDEwMSwxMTAsOTUsMTE5LDExNCw5NywKLSAgICAxMTIsMTEyLDEwMSwxMTQsNDUsMiwwLDAsMTE1LDgsMCwwLDAsMCwxLDE1LAotICAgIDEsMTgsMSwxMiwxLDEyMiw1MCw5NSwxMTQsMTAxLDExMywxMTcsMTA1LDExNCwxMDEsMTE1LAotICAgIDk1LDEwMiwxMTQsMTExLDEyMiwxMDEsMTEwLDQ2LDYwLDEwOCwxMTEsOTksOTcsMTA4LDExNSw2MiwKLSAgICA0Niw5NSwxMTQsMTAxLDExMywxMTcsMTA1LDExNCwxMDEsMTE1LDk1LDEwMiwxMTQsMTExLDEyMiwxMDEsCi0gICAgMTEwLDk1LDExOSwxMTQsOTcsMTEyLDExMiwxMDEsMTE0LDQxLDEsMTE0LDY1LDAsMCwwLAotICAgIDQxLDIsMTE0LDE2MCwwLDAsMCwxMTQsMTY0LDAsMCwwLDExNCw0LDAsMCwKLSAgICAwLDQxLDEsMTE0LDE2MCwwLDAsMCwxMTQsNSwwLDAsMCwyMTgsMTYsOTUsCi0gICAgMTE0LDEwMSwxMTMsMTE3LDEwNSwxMTQsMTAxLDExNSw5NSwxMDIsMTE0LDExMSwxMjIsMTAxLDExMCw0MywKLSAgICAyLDAsMCwxMTUsNiwwLDAsMCwwLDIsMTgsNSwxMywxLDExNCwxNjUsCi0gICAgMCwwLDAsOTksMiwwLDAsMCwwLDAsMCwwLDUsMCwwLDAsCi0gICAgNCwwLDAsMCw2NywwLDAsMCwxMTUsODcsMCwwLDAsMTI0LDAsMCwKLSAgICAxMDYsMCwwLDEyNCwxLDAsMTMxLDEsMCw5MiwyLDAsMTI1LDIsMCwxMjUsCi0gICAgMywwLDEyNCwyLDAsMTAwLDEsMCwxMDcsOCwwLDExNCw4MywwLDExNiwxLAotICAgIDAsMTI0LDMsMCwxMzEsMSwwLDExNCw4MywwLDEwMCwyLDAsMTI1LDQsMCwKLSAgICAxMTYsMiwwLDEwNiwzLDAsMTI0LDQsMCwxMDYsNCwwLDEyNCwzLDAsMTAwLAotICAgIDMsMCwyNSwxMzEsMSwwLDExNiw1LDAsMTMxLDIsMCwxLDExMCwwLDAsCi0gICAgMTI0LDIsMCw4Myw0MSw0LDEyMiwxNTUsODQsMTE0LDEyMSwzMiwxMTYsMTExLDMyLDEwMiwKLSAgICAxMDUsMTEwLDEwMCwzMiw5NywzMiwxMDgsMTExLDk3LDEwMCwxMDEsMTE0LDMyLDEwMiwxMTEsMTE0LAotICAgIDMyLDExNiwxMDQsMTAxLDMyLDExNSwxMTIsMTAxLDk5LDEwNSwxMDIsMTA1LDEwMSwxMDAsMzIsMTA5LAotICAgIDExMSwxMDAsMTE3LDEwOCwxMDEsMzIsOTgsMTIxLDMyLDEwMCwxMDEsMTA4LDEwMSwxMDMsOTcsMTE2LAotICAgIDEwNSwxMTAsMTAzLDMyLDExNiwxMTEsMTAsMzIsMzIsMzIsMzIsMTE1LDEwMSwxMDgsMTAyLDQ2LAotICAgIDEwMiwxMDUsMTEwLDEwMCw5NSwxMDgsMTExLDk3LDEwMCwxMDEsMTE0LDQwLDQxLDQ2LDEwLDEwLAotICAgIDMyLDMyLDMyLDMyLDg0LDEwNCwxMDUsMTE1LDMyLDEwOSwxMDEsMTE2LDEwNCwxMTEsMTAwLDMyLAotICAgIDEwNSwxMTUsMzIsMTAwLDEwMSwxMTIsMTE0LDEwMSw5OSw5NywxMTYsMTAxLDEwMCwzMiwxMDUsMTEwLAotICAgIDMyLDEwMiw5NywxMTgsMTExLDExNCwzMiwxMTEsMTAyLDMyLDEwMiwxMDUsMTEwLDEwMCwxMDEsMTE0LAotICAgIDQ2LDEwMiwxMDUsMTEwLDEwMCw5NSwxMTUsMTEyLDEwMSw5OSw0MCw0MSw0NiwxMCwxMCwzMiwKLSAgICAzMiwzMiwzMiw3OCwxMjIsNDQsNzgsMTExLDExNiwzMiwxMDUsMTA5LDExMiwxMTEsMTE0LDExNiwKLSAgICAxMDUsMTEwLDEwMywzMiwxMDAsMTA1LDExNCwxMDEsOTksMTE2LDExMSwxMTQsMTIxLDMyLDEyMywxMjUsCi0gICAgNTgsMzIsMTA5LDEwNSwxMTUsMTE1LDEwNSwxMTAsMTAzLDMyLDk1LDk1LDEwNSwxMTAsMTA1LDExNiwKLSAgICA5NSw5NSwxMTQsODQsMCwwLDAsNDEsNiwyMTgsMTEsMTAyLDEwNSwxMTAsMTAwLDk1LAotICAgIDEwOCwxMTEsOTcsMTAwLDEwMSwxMTQsMTE0LDMxLDAsMCwwLDIxOCw5LDk1LDExOSw5NywKLSAgICAxMTQsMTEwLDEwNSwxMTAsMTAzLDExNSwyMTgsNCwxMTksOTcsMTE0LDExMCwxMTQsNDcsMCwwLAotICAgIDAsMjE4LDEzLDczLDEwOSwxMTIsMTExLDExNCwxMTYsODcsOTcsMTE0LDExMCwxMDUsMTEwLDEwMywKLSAgICA0MSw1LDExNCw3MSwwLDAsMCwxMTQsMTU5LDAsMCwwLDIxOCw2LDEwOCwxMTEsCi0gICAgOTcsMTAwLDEwMSwxMTQsMjE4LDgsMTEyLDExMSwxMTQsMTE2LDEwNSwxMTEsMTEwLDExNSwyMTgsMywKLSAgICAxMDksMTE1LDEwMywxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLAotICAgIDAsMCwyMTgsMTcsOTUsMTAyLDEwNSwxMTAsMTAwLDk1LDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLAotICAgIDk1LDExNSwxMDQsMTA1LDEwOSw1NCwyLDAsMCwxMTUsMTAsMCwwLDAsMCwxMCwKLSAgICAyMSwxLDI0LDEsNiwxLDMyLDEsMTE0LDE3MywwLDAsMCw5OSwyLDAsCi0gICAgMCwwLDAsMCwwLDAsNSwwLDAsMCwzLDAsMCwwLDY3LDAsCi0gICAgMCwwLDExNSw5MywwLDAsMCwxMTYsMCwwLDEyNCwxLDAsMTI0LDAsMCwKLSAgICAxMzEsMiwwLDEyNSwyLDAsMTE2LDEsMCwxMjQsMiwwLDEzMSwxLDAsMTI1LAotICAgIDMsMCwxMjQsMSwwLDExNiwyLDAsMTA2LDMsMCwxMDcsNiwwLDExNCw3OSwKLSAgICAwLDExNiwyLDAsMTA2LDMsMCwxMjQsMSwwLDI1LDEyNSw0LDAsMTI0LDMsCi0gICAgMCwxMDYsNCwwLDEyNCw0LDAsMTMxLDEsMCwxLDExNiwyLDAsMTA2LDMsCi0gICAgMCwxMjQsMSwwLDI1LDgzLDEyNCwzLDAsMTA2LDUsMCwxMzEsMCwwLDgzLAotICAgIDEwMCwxLDAsODMsNDEsMiwxMjIsMTI4LDc2LDExMSw5NywxMDAsMzIsMTE2LDEwNCwxMDEsCi0gICAgMzIsMTE1LDExMiwxMDEsOTksMTA1LDEwMiwxMDUsMTAxLDEwMCwzMiwxMDksMTExLDEwMCwxMTcsMTA4LAotICAgIDEwMSwzMiwxMDUsMTEwLDExNiwxMTEsMzIsMTE1LDEyMSwxMTUsNDYsMTA5LDExMSwxMDAsMTE3LDEwOCwKLSAgICAxMDEsMTE1LDMyLDk3LDExMCwxMDAsMzIsMTE0LDEwMSwxMTYsMTE3LDExNCwxMTAsMzIsMTA1LDExNiwKLSAgICA0NiwxMCwxMCwzMiwzMiwzMiwzMiw4NCwxMDQsMTA1LDExNSwzMiwxMDksMTAxLDExNiwxMDQsCi0gICAgMTExLDEwMCwzMiwxMDUsMTE1LDMyLDEwMCwxMDEsMTEyLDExNCwxMDEsOTksOTcsMTE2LDEwMSwxMDAsCi0gICAgNDYsMzIsMzIsODUsMTE1LDEwMSwzMiwxMDgsMTExLDk3LDEwMCwxMDEsMTE0LDQ2LDEwMSwxMjAsCi0gICAgMTAxLDk5LDk1LDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDMyLDEwNSwxMTAsMTE1LDExNiwxMDEsOTcsCi0gICAgMTAwLDQ2LDEwLDEwLDMyLDMyLDMyLDMyLDc4LDQxLDYsMjE4LDE2LDExNSwxMTIsMTAxLAotICAgIDk5LDk1LDEwMiwxMTQsMTExLDEwOSw5NSwxMDgsMTExLDk3LDEwMCwxMDEsMTE0LDIxOCwxMiw5NSwKLSAgICA4MywxMTIsMTAxLDk5LDc3LDEwMSwxMTYsMTA0LDExMSwxMDAsMTE1LDExNCw3LDAsMCwwLAotICAgIDExNCw3MywwLDAsMCwyMTgsNCwxMDEsMTIwLDEwMSw5OSwyMTgsNCwxMDgsMTExLDk3LAotICAgIDEwMCw0MSw1LDExNCw3MSwwLDAsMCwxMTQsMTU5LDAsMCwwLDIxOCw0LDExNSwKLSAgICAxMTIsMTAxLDk5LDIxOCw3LDEwOSwxMDEsMTE2LDEwNCwxMTEsMTAwLDExNSwyMTgsNiwxMDksMTExLAotICAgIDEwMCwxMTcsMTA4LDEwMSwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwKLSAgICAwLDAsMCwyMTgsMTcsOTUsMTA4LDExMSw5NywxMDAsOTUsMTA5LDExMSwxMDAsMTE3LDEwOCwKLSAgICAxMDEsOTUsMTE1LDEwNCwxMDUsMTA5LDcxLDIsMCwwLDExNSwxNCwwLDAsMCwwLAotICAgIDYsMTUsMSwxMiwxLDE1LDEsMTMsMSwxMywxLDExLDIsMTE0LDE4MSwwLAotICAgIDAsMCw5OSw0LDAsMCwwLDAsMCwwLDAsMTEsMCwwLDAsMTksCi0gICAgMCwwLDAsNjcsMCwwLDAsMTE1LDI0MywxLDAsMCwxMDUsMCwwLDEyNSwKLSAgICA0LDAsMTI0LDIsMCwxMDAsMSwwLDEwNyw5LDAsMTE0LDMxLDAsMTI0LDIsCi0gICAgMCwxMjQsNCwwLDEwMCwyLDAsNjAsMTEwLDYsMCwxMDAsMywwLDEyNSwyLAotICAgIDAsMTI0LDMsMCwxMDAsMSwwLDEwNyw5LDAsMTE0LDYyLDAsMTI0LDMsMCwKLSAgICAxMjQsNCwwLDEwMCw0LDAsNjAsMTEwLDAsMCwxMjQsMCwwLDEwMCwxLDAsCi0gICAgMTAwLDUsMCwxMzMsMiwwLDI1LDEyNSw1LDAsMTI0LDAsMCwxMDAsNSwwLAotICAgIDEwMCw2LDAsMTMzLDIsMCwyNSwxMjUsNiwwLDEyNCwwLDAsMTAwLDYsMCwKLSAgICAxMDAsNywwLDEzMywyLDAsMjUsMTI1LDcsMCwxMjQsNSwwLDExNiwwLDAsCi0gICAgMTA3LDMsMCwxMTQsMTY4LDAsMTAwLDgsMCwxMDYsMSwwLDEyNCwyLDAsMTI0LAotICAgIDUsMCwxMzEsMiwwLDEyNSw4LDAsMTE2LDIsMCwxMjQsOCwwLDEzMSwxLAotICAgIDAsMSwxMTYsMywwLDEyNCw4LDAsMTI0LDQsMCwxNDEsMSwwLDEzMCwxLAotICAgIDAsMTEwLDExNiwwLDExNiw0LDAsMTI0LDYsMCwxMzEsMSwwLDEwMCw1LDAsCi0gICAgMTA3LDMsMCwxMTQsMjI2LDAsMTAwLDksMCwxMDYsMSwwLDEyNCwyLDAsMTMxLAotICAgIDEsMCwxMjUsOCwwLDExNiwyLDAsMTI0LDgsMCwxMzEsMSwwLDEsMTE2LAotICAgIDUsMCwxMjQsOCwwLDEzMSwxLDAsMTMwLDEsMCwxMTAsNTgsMCwxMTYsNCwKLSAgICAwLDEyNCw3LDAsMTMxLDEsMCwxMDAsNSwwLDEwNywzLDAsMTE0LDI4LDEsCi0gICAgMTAwLDEwLDAsMTA2LDEsMCwxMjQsMiwwLDEzMSwxLDAsMTI1LDgsMCwxMTYsCi0gICAgMiwwLDEyNCw4LDAsMTMxLDEsMCwxLDExNiw1LDAsMTI0LDgsMCwxMzEsCi0gICAgMSwwLDEzMCwxLDAsMTEwLDAsMCwxMjQsMSwwLDEwMCwxLDAsMTA3LDksCi0gICAgMCwxMTQsMjI5LDEsMTIxLDIwLDAsMTE2LDYsMCwxMjQsMSwwLDEwMCwxMSwwLAotICAgIDI1LDEzMSwxLDAsMTI1LDksMCw4NywxMTAsMTgsMCw0LDExNiw3LDAsMTA3LAotICAgIDEwLDAsMTE0LDgwLDEsMSwxLDEsODksMTEwLDYyLDAsODgsMTE2LDgsMCwKLSAgICAxMjQsNiwwLDEzMSwxLDAsMTI0LDksMCwxMDcsMywwLDExNCwxNDIsMSwxMDAsCi0gICAgMTIsMCwxMDYsMSwwLDEyNCwyLDAsMTMxLDEsMCwxMjUsOCwwLDExNiwyLAotICAgIDAsMTI0LDgsMCwxMzEsMSwwLDEsMTE2LDMsMCwxMjQsOCwwLDEyNCw0LAotICAgIDAsMTQxLDEsMCwxMzAsMSwwLDExMCwwLDAsMTIxLDE4LDAsMTI0LDEsMCwKLSAgICAxMDAsMTMsMCwyNSwxMDAsMTQsMCw2NCwxMjUsMTAsMCw4NywxMTAsMTgsMCw0LAotICAgIDExNiw3LDAsMTA3LDEwLDAsMTE0LDE4MCwxLDEsMSwxLDg5LDExMywyMjksMSwKLSAgICA4OCwxMTYsOCwwLDEyNCw3LDAsMTMxLDEsMCwxMjQsMTAsMCwxMDcsMywwLAotICAgIDExNCwyMjksMSwxMTYsMywwLDEwMCwxMiwwLDEwNiwxLDAsMTI0LDIsMCwxMzEsCi0gICAgMSwwLDEyNCw0LDAsMTQxLDEsMCwxMzAsMSwwLDExMywyMjksMSwxMTAsMCwKLSAgICAwLDEyNCwwLDAsMTAwLDcsMCwxMDAsMSwwLDEzMywyLDAsMjUsODMsNDEsCi0gICAgMTUsOTcsMTIyLDEsMCwwLDg2LDk3LDEwOCwxMDUsMTAwLDk3LDExNiwxMDEsMzIsMTE2LAotICAgIDEwNCwxMDEsMzIsMTA0LDEwMSw5NywxMDAsMTAxLDExNCwzMiwxMTEsMTAyLDMyLDExNiwxMDQsMTAxLAotICAgIDMyLDExMiw5NywxMTUsMTE1LDEwMSwxMDAsNDUsMTA1LDExMCwzMiw5OCwxMjEsMTE2LDEwMSw5OSwKLSAgICAxMTEsMTAwLDEwMSwzMiw5NywxMDMsOTcsMTA1LDExMCwxMTUsMTE2LDMyLDExNSwxMTEsMTE3LDExNCwKLSAgICA5OSwxMDEsOTUsMTE1LDExNiw5NywxMTYsMTE1LDMyLDQwLDEwNSwxMDIsMTAsMzIsMzIsMzIsCi0gICAgMzIsMTAzLDEwNSwxMTgsMTAxLDExMCw0MSwzMiw5NywxMTAsMTAwLDMyLDExNCwxMDEsMTE2LDExNywKLSAgICAxMTQsMTEwLDEwNSwxMTAsMTAzLDMyLDExNiwxMDQsMTAxLDMyLDk4LDEyMSwxMTYsMTAxLDk5LDExMSwKLSAgICAxMDAsMTAxLDMyLDExNiwxMDQsOTcsMTE2LDMyLDk5LDk3LDExMCwzMiw5OCwxMDEsMzIsOTksCi0gICAgMTExLDEwOSwxMTIsMTA1LDEwOCwxMDEsMTAwLDMyLDk4LDEyMSwzMiw5OSwxMTEsMTA5LDExMiwxMDUsCi0gICAgMTA4LDEwMSw0MCw0MSw0NiwxMCwxMCwzMiwzMiwzMiwzMiw2NSwxMDgsMTA4LDMyLDExMSwKLSAgICAxMTYsMTA0LDEwMSwxMTQsMzIsOTcsMTE0LDEwMywxMTcsMTA5LDEwMSwxMTAsMTE2LDExNSwzMiw5NywKLSAgICAxMTQsMTAxLDMyLDExNywxMTUsMTAxLDEwMCwzMiwxMTYsMTExLDMyLDEwMSwxMTAsMTA0LDk3LDExMCwKLSAgICA5OSwxMDEsMzIsMTAxLDExNCwxMTQsMTExLDExNCwzMiwxMTQsMTAxLDExMiwxMTEsMTE0LDExNiwxMDUsCi0gICAgMTEwLDEwMyw0NiwxMCwxMCwzMiwzMiwzMiwzMiw3MywxMDksMTEyLDExMSwxMTQsMTE2LDY5LAotICAgIDExNCwxMTQsMTExLDExNCwzMiwxMDUsMTE1LDMyLDExNCw5NywxMDUsMTE1LDEwMSwxMDAsMzIsMTE5LAotICAgIDEwNCwxMDEsMTEwLDMyLDExNiwxMDQsMTAxLDMyLDEwOSw5NywxMDMsMTA1LDk5LDMyLDExMCwxMTcsCi0gICAgMTA5LDk4LDEwMSwxMTQsMzIsMTA1LDExNSwzMiwxMDUsMTEwLDk5LDExMSwxMTQsMTE0LDEwMSw5OSwKLSAgICAxMTYsMzIsMTExLDExNCwzMiwxMTYsMTA0LDEwMSwzMiw5OCwxMjEsMTE2LDEwMSw5OSwxMTEsMTAwLAotICAgIDEwMSwzMiwxMDUsMTE1LDEwLDMyLDMyLDMyLDMyLDEwMiwxMTEsMTE3LDExMCwxMDAsMzIsMTE2LAotICAgIDExMSwzMiw5OCwxMDEsMzIsMTE1LDExNiw5NywxMDgsMTAxLDQ2LDMyLDY5LDc5LDcwLDY5LAotICAgIDExNCwxMTQsMTExLDExNCwzMiwxMDUsMTE1LDMyLDExNCw5NywxMDUsMTE1LDEwMSwxMDAsMzIsMTE5LAotICAgIDEwNCwxMDEsMTEwLDMyLDExNiwxMDQsMTAxLDMyLDEwMCw5NywxMTYsOTcsMzIsMTA1LDExNSwzMiwKLSAgICAxMDIsMTExLDExNywxMTAsMTAwLDMyLDExNiwxMTEsMzIsOTgsMTAxLDEwLDMyLDMyLDMyLDMyLAotICAgIDExNiwxMTQsMTE3LDExMCw5OSw5NywxMTYsMTAxLDEwMCw0NiwxMCwxMCwzMiwzMiwzMiwzMiwKLSAgICA3OCwxMTQsNjcsMCwwLDAsMTIyLDEwLDYwLDk4LDEyMSwxMTYsMTAxLDk5LDExMSwxMDAsCi0gICAgMTAxLDYyLDExNCwzNSwwLDAsMCwxMTQsMTIsMCwwLDAsMjMzLDgsMCwwLAotICAgIDAsMjMzLDEyLDAsMCwwLDEyMiwzMCw5OCw5NywxMDAsMzIsMTA5LDk3LDEwMywxMDUsCi0gICAgOTksMzIsMTEwLDExNywxMDksOTgsMTAxLDExNCwzMiwxMDUsMTEwLDMyLDEyMywzMywxMTQsMTI1LAotICAgIDU4LDMyLDEyMywzMywxMTQsMTI1LDEyMiw0MywxMTQsMTAxLDk3LDk5LDEwNCwxMDEsMTAwLDMyLAotICAgIDY5LDc5LDcwLDMyLDExOSwxMDQsMTA1LDEwOCwxMDEsMzIsMTE0LDEwMSw5NywxMDAsMTA1LDExMCwKLSAgICAxMDMsMzIsMTE2LDEwNSwxMDksMTAxLDExNSwxMTYsOTcsMTA5LDExMiwzMiwxMDUsMTEwLDMyLDEyMywKLSAgICAzMywxMTQsMTI1LDEyMiw0OCwxMTQsMTAxLDk3LDk5LDEwNCwxMDEsMTAwLDMyLDY5LDc5LDcwLAotICAgIDMyLDExOSwxMDQsMTA1LDEwOCwxMDEsMzIsMTE0LDEwMSw5NywxMDAsMTA1LDExMCwxMDMsMzIsMTE1LAotICAgIDEwNSwxMjIsMTAxLDMyLDExMSwxMDIsMzIsMTE1LDExMSwxMTcsMTE0LDk5LDEwMSwzMiwxMDUsMTEwLAotICAgIDMyLDEyMywzMywxMTQsMTI1LDIxOCw1LDEwOSwxMTYsMTA1LDEwOSwxMDEsMTIyLDI2LDk4LDEyMSwKLSAgICAxMTYsMTAxLDk5LDExMSwxMDAsMTAxLDMyLDEwNSwxMTUsMzIsMTE1LDExNiw5NywxMDgsMTAxLDMyLAotICAgIDEwMiwxMTEsMTE0LDMyLDEyMywzMywxMTQsMTI1LDIxOCw0LDExNSwxMDUsMTIyLDEwMSwxMDgsMywKLSAgICAwLDAsMCwyNTUsMTI3LDI1NSwxMjcsMywwLDQxLDksMjE4LDEyLDc3LDY1LDcxLAotICAgIDczLDY3LDk1LDc4LDg1LDc3LDY2LDY5LDgyLDExNCw0NywwLDAsMCwxMTQsMTUzLAotICAgIDAsMCwwLDExNCwxNTQsMCwwLDAsMTE0LDMxLDAsMCwwLDIxOCw4LDY5LAotICAgIDc5LDcwLDY5LDExNCwxMTQsMTExLDExNCwxMTQsMTQsMCwwLDAsMTE0LDc5LDAsMCwKLSAgICAwLDExNCwxOSwwLDAsMCw0MSwxMSwxMTQsNTMsMCwwLDAsMjE4LDEyLDExNSwKLSAgICAxMTEsMTE3LDExNCw5OSwxMDEsOTUsMTE1LDExNiw5NywxMTYsMTE1LDExNCw2NywwLDAsMCwKLSAgICAxMTQsMzUsMCwwLDAsOTAsMTEsMTAxLDEyMCw5OSw5NSwxMDAsMTAxLDExNiw5NywxMDUsCi0gICAgMTA4LDExNSw5MCw1LDEwOSw5NywxMDMsMTA1LDk5LDkwLDEzLDExNCw5NywxMTksOTUsMTE2LAotICAgIDEwNSwxMDksMTAxLDExNSwxMTYsOTcsMTA5LDExMiw5MCw4LDExNCw5NywxMTksOTUsMTE1LDEwNSwKLSAgICAxMjIsMTAxLDExNCwxNTIsMCwwLDAsMjE4LDEyLDExNSwxMTEsMTE3LDExNCw5OSwxMDEsOTUsCi0gICAgMTA5LDExNiwxMDUsMTA5LDEwMSwyMTgsMTEsMTE1LDExMSwxMTcsMTE0LDk5LDEwMSw5NSwxMTUsMTA1LAotICAgIDEyMiwxMDEsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLAotICAgIDAsMjE4LDI1LDk1LDExOCw5NywxMDgsMTA1LDEwMCw5NywxMTYsMTAxLDk1LDk4LDEyMSwxMTYsCi0gICAgMTAxLDk5LDExMSwxMDAsMTAxLDk1LDEwNCwxMDEsOTcsMTAwLDEwMSwxMTQsODcsMiwwLDAsCi0gICAgMTE1LDc2LDAsMCwwLDAsMTEsNiwxLDEyLDEsMTMsMyw2LDEsMTIsCi0gICAgMSwxMywxLDE2LDEsMTYsMSwxNiwxLDEyLDEsMTgsMSwxMCwxLDE4LAotICAgIDEsMTgsMSwxNSwxLDEwLDEsMTUsMSwxOCwxLDE1LDEsMTAsMSwxNSwKLSAgICAxLDEyLDEsMywxLDIwLDEsMTMsMSw1LDIsMTgsMSwxNSwxLDEwLAotICAgIDEsMTgsMSwzLDEsMTgsMSwxMywxLDUsMiwxOCwxLDE1LDEsMTUsCi0gICAgMSwxMTQsMTkxLDAsMCwwLDk5LDQsMCwwLDAsMCwwLDAsMCw1LAotICAgIDAsMCwwLDYsMCwwLDAsNjcsMCwwLDAsMTE1LDExNSwwLDAsMCwKLSAgICAxMTYsMCwwLDEwNiwxLDAsMTI0LDAsMCwxMzEsMSwwLDEyNSw0LDAsMTE2LAotICAgIDIsMCwxMjQsNCwwLDExNiwzLDAsMTMxLDIsMCwxMTQsNzgsMCwxMTYsNCwKLSAgICAwLDEwMCwxLDAsMTI0LDIsMCwxMzEsMiwwLDEsMTI0LDMsMCwxMDAsMiwKLSAgICAwLDEwNyw5LDAsMTE0LDc0LDAsMTE2LDUsMCwxMDYsNiwwLDEyNCw0LDAsCi0gICAgMTI0LDMsMCwxMzEsMiwwLDEsMTEwLDAsMCwxMjQsNCwwLDgzLDExNiw3LAotICAgIDAsMTAwLDMsMCwxMDYsOCwwLDEyNCwyLDAsMTMxLDEsMCwxMDAsNCwwLAotICAgIDEyNCwxLDAsMTAwLDUsMCwxMjQsMiwwLDEzMSwxLDIsMTMwLDEsMCwxMDAsCi0gICAgMiwwLDgzLDQxLDYsMTIyLDYwLDY3LDExMSwxMDksMTEyLDEwNSwxMDgsMTAxLDMyLDk4LAotICAgIDEyMSwxMTYsMTAxLDk5LDExMSwxMDAsMTAxLDMyLDk3LDExNSwzMiwxMTQsMTAxLDExNiwxMTcsMTE0LAotICAgIDExMCwxMDEsMTAwLDMyLDk4LDEyMSwzMiw5NSwxMTgsOTcsMTA4LDEwNSwxMDAsOTcsMTE2LDEwMSwKLSAgICA5NSw5OCwxMjEsMTE2LDEwMSw5OSwxMTEsMTAwLDEwMSw5NSwxMDQsMTAxLDk3LDEwMCwxMDEsMTE0LAotICAgIDQwLDQxLDQ2LDEyMiwyMSw5OSwxMTEsMTAwLDEwMSwzMiwxMTEsOTgsMTA2LDEwMSw5OSwxMTYsCi0gICAgMzIsMTAyLDExNCwxMTEsMTA5LDMyLDEyMywzMywxMTQsMTI1LDc4LDEyMiwyMyw3OCwxMTEsMTEwLAotICAgIDQ1LDk5LDExMSwxMDAsMTAxLDMyLDExMSw5OCwxMDYsMTAxLDk5LDExNiwzMiwxMDUsMTEwLDMyLAotICAgIDEyMywzMywxMTQsMTI1LDExNCw2NywwLDAsMCwxMTQsMzUsMCwwLDAsNDEsOSwKLSAgICAyMTgsNywxMDksOTcsMTE0LDExNSwxMDQsOTcsMTA4LDkwLDUsMTA4LDExMSw5NywxMDAsMTE1LAotICAgIDIxOCwxMCwxMDUsMTE1LDEwNSwxMTAsMTE1LDExNiw5NywxMTAsOTksMTAxLDIxOCwxMCw5NSw5OSwKLSAgICAxMTEsMTAwLDEwMSw5NSwxMTYsMTIxLDExMiwxMDEsMTE0LDE1MywwLDAsMCwxMTQsMTA2LDAsCi0gICAgMCwwLDkwLDE2LDk1LDEwMiwxMDUsMTIwLDk1LDk5LDExMSw5NSwxMDIsMTA1LDEwOCwxMDEsCi0gICAgMTEwLDk3LDEwOSwxMDEsMTE0LDE1NCwwLDAsMCwxMTQsNDcsMCwwLDAsNDEsNSwKLSAgICAxMTQsNTMsMCwwLDAsMTE0LDY3LDAsMCwwLDExNCwxNDEsMCwwLDAsMTE0LAotICAgIDE0MiwwLDAsMCwyMTgsNCw5OSwxMTEsMTAwLDEwMSwxMTQsNCwwLDAsMCwxMTQsCi0gICAgNCwwLDAsMCwxMTQsNSwwLDAsMCwyMTgsMTcsOTUsOTksMTExLDEwOSwxMTIsCi0gICAgMTA1LDEwOCwxMDEsOTUsOTgsMTIxLDExNiwxMDEsOTksMTExLDEwMCwxMDEsMTQyLDIsMCwwLAotICAgIDExNSwxNiwwLDAsMCwwLDIsMTUsMSwxNSwxLDEzLDEsMTIsMSwxOSwKLSAgICAxLDQsMiwxOCwxLDExNCwxOTYsMCwwLDAsMTE0LDg0LDAsMCwwLDk5LAotICAgIDMsMCwwLDAsMCwwLDAsMCw0LDAsMCwwLDMsMCwwLDAsCi0gICAgNjcsMCwwLDAsMTE1LDc2LDAsMCwwLDExNiwwLDAsMTE2LDEsMCwxMzEsCi0gICAgMSwwLDEyNSwzLDAsMTI0LDMsMCwxMDYsMiwwLDExNiwzLDAsMTI0LDEsCi0gICAgMCwxMzEsMSwwLDEzMSwxLDAsMSwxMjQsMywwLDEwNiwyLDAsMTE2LDMsCi0gICAgMCwxMjQsMiwwLDEzMSwxLDAsMTMxLDEsMCwxLDEyNCwzLDAsMTA2LDIsCi0gICAgMCwxMTYsNCwwLDEwNiw1LDAsMTI0LDAsMCwxMzEsMSwwLDEzMSwxLDAsCi0gICAgMSwxMjQsMywwLDgzLDQxLDEsMTIyLDgwLDY3LDExMSwxMDksMTEyLDEwNSwxMDgsMTAxLAotICAgIDMyLDk3LDMyLDk5LDExMSwxMDAsMTAxLDMyLDExMSw5OCwxMDYsMTAxLDk5LDExNiwzMiwxMDUsCi0gICAgMTEwLDExNiwxMTEsMzIsOTgsMTIxLDExNiwxMDEsOTksMTExLDEwMCwxMDEsMzIsMTAyLDExMSwxMTQsCi0gICAgMzIsMTE5LDExNCwxMDUsMTE2LDEwNSwxMTAsMTAzLDMyLDExMSwxMTcsMTE2LDMyLDExNiwxMTEsMzIsCi0gICAgOTcsMzIsOTgsMTIxLDExNiwxMDEsNDUsOTksMTExLDEwOSwxMTIsMTA1LDEwOCwxMDEsMTAwLDEwLAotICAgIDMyLDMyLDMyLDMyLDEwMiwxMDUsMTA4LDEwMSw0Niw0MSw2LDIxOCw5LDk4LDEyMSwxMTYsCi0gICAgMTAxLDk3LDExNCwxMTQsOTcsMTIxLDExNCwxODYsMCwwLDAsMjE4LDYsMTAxLDEyMCwxMTYsCi0gICAgMTAxLDExMCwxMDAsMTE0LDE3LDAsMCwwLDExNCwxOTIsMCwwLDAsOTAsNSwxMDAsCi0gICAgMTE3LDEwOSwxMTIsMTE1LDQxLDQsMTE0LDE5NSwwLDAsMCwxMTQsMTg0LDAsMCwwLAotICAgIDExNCwxOTAsMCwwLDAsMTE0LDUzLDAsMCwwLDExNCw0LDAsMCwwLDExNCwKLSAgICA0LDAsMCwwLDExNCw1LDAsMCwwLDIxOCwxNyw5NSw5OSwxMTEsMTAwLDEwMSwKLSAgICA5NSwxMTYsMTExLDk1LDk4LDEyMSwxMTYsMTAxLDk5LDExMSwxMDAsMTAxLDE1NCwyLDAsMCwKLSAgICAxMTUsMTAsMCwwLDAsMCwzLDEyLDEsMTksMSwxOSwxLDIyLDEsMTE0LAotICAgIDE5OSwwLDAsMCw5OSwxLDAsMCwwLDAsMCwwLDAsNSwwLDAsCi0gICAgMCw0LDAsMCwwLDY3LDAsMCwwLDExNSw4OSwwLDAsMCwxMDAsMSwKLSAgICAwLDEwMCwyLDAsMTA4LDAsMCwxMjUsMSwwLDExNiwxLDAsMTA2LDIsMCwKLSAgICAxMjQsMCwwLDEzMSwxLDAsMTA2LDMsMCwxMjUsMiwwLDEyNCwxLDAsMTA2LAotICAgIDQsMCwxMjQsMiwwLDEzMSwxLDAsMTI1LDMsMCwxMTYsMSwwLDEwNiw1LAotICAgIDAsMTAwLDIsMCwxMDAsMywwLDEzMSwyLDAsMTI1LDQsMCwxMjQsNCwwLAotICAgIDEwNiw2LDAsMTI0LDAsMCwxMDYsNiwwLDEyNCwzLDAsMTAwLDEsMCwyNSwKLSAgICAxMzEsMSwwLDEzMSwxLDAsODMsNDEsNCwxMjIsMTIxLDY4LDEwMSw5OSwxMTEsMTAwLAotICAgIDEwMSwzMiw5OCwxMjEsMTE2LDEwMSwxMTUsMzIsMTE0LDEwMSwxMTIsMTE0LDEwMSwxMTUsMTAxLDExMCwKLSAgICAxMTYsMTA1LDExMCwxMDMsMzIsMTE1LDExMSwxMTcsMTE0LDk5LDEwMSwzMiw5OSwxMTEsMTAwLDEwMSwKLSAgICAzMiw5NywxMTAsMTAwLDMyLDExNCwxMDEsMTE2LDExNywxMTQsMTEwLDMyLDExNiwxMDQsMTAxLDMyLAotICAgIDExNSwxMTYsMTE0LDEwNSwxMTAsMTAzLDQ2LDEwLDEwLDMyLDMyLDMyLDMyLDg1LDExMCwxMDUsCi0gICAgMTE4LDEwMSwxMTQsMTE1LDk3LDEwOCwzMiwxMTAsMTAxLDExOSwxMDgsMTA1LDExMCwxMDEsMzIsMTE1LAotICAgIDExNywxMTIsMTEyLDExMSwxMTQsMTE2LDMyLDEwNSwxMTUsMzIsMTE3LDExNSwxMDEsMTAwLDMyLDEwNSwKLSAgICAxMTAsMzIsMTE2LDEwNCwxMDEsMzIsMTAwLDEwMSw5OSwxMTEsMTAwLDEwNSwxMTAsMTAzLDQ2LDEwLAotICAgIDMyLDMyLDMyLDMyLDExNCw4NCwwLDAsMCw3OCw4NCw0MSw3LDIxOCw4LDExNiwKLSAgICAxMTEsMTA3LDEwMSwxMTAsMTA1LDEyMiwxMDEsMTE0LDQ5LDAsMCwwLDkwLDcsNjYsMTIxLAotICAgIDExNiwxMDEsMTE1LDczLDc5LDkwLDgsMTE0LDEwMSw5NywxMDAsMTA4LDEwNSwxMTAsMTAxLDkwLAotICAgIDE1LDEwMCwxMDEsMTE2LDEwMSw5OSwxMTYsOTUsMTAxLDExMCw5OSwxMTEsMTAwLDEwNSwxMTAsMTAzLAotICAgIDkwLDI1LDczLDExMCw5OSwxMTQsMTAxLDEwOSwxMDEsMTEwLDExNiw5NywxMDgsNzgsMTAxLDExOSwKLSAgICAxMDgsMTA1LDExMCwxMDEsNjgsMTAxLDk5LDExMSwxMDAsMTAxLDExNCwyMTgsNiwxMDAsMTAxLDk5LAotICAgIDExMSwxMDAsMTAxLDQxLDUsMjE4LDEyLDExNSwxMTEsMTE3LDExNCw5OSwxMDEsOTUsOTgsMTIxLAotICAgIDExNiwxMDEsMTE1LDExNCwyMDAsMCwwLDAsOTAsMjEsMTE1LDExMSwxMTcsMTE0LDk5LDEwMSwKLSAgICA5NSw5OCwxMjEsMTE2LDEwMSwxMTUsOTUsMTE0LDEwMSw5NywxMDAsMTA4LDEwNSwxMTAsMTAxLDIxOCwKLSAgICA4LDEwMSwxMTAsOTksMTExLDEwMCwxMDUsMTEwLDEwMyw5MCwxNSwxMTAsMTAxLDExOSwxMDgsMTA1LAotICAgIDExMCwxMDEsOTUsMTAwLDEwMSw5OSwxMTEsMTAwLDEwMSwxMTQsMTE0LDQsMCwwLDAsMTE0LAotICAgIDQsMCwwLDAsMTE0LDUsMCwwLDAsMjE4LDEzLDEwMCwxMDEsOTksMTExLDEwMCwKLSAgICAxMDEsOTUsMTE1LDExMSwxMTcsMTE0LDk5LDEwMSwxNjQsMiwwLDAsMTE1LDEwLDAsMCwKLSAgICAwLDAsNSwxMiwxLDE4LDEsMTUsMSwxOCwxLDExNCwyMDQsMCwwLDAsCi0gICAgOTksMSwwLDAsMCwwLDAsMCwwLDUsMCwwLDAsMzUsMCwwLAotICAgIDAsNjcsMCwwLDAsMTE1LDE1LDEsMCwwLDExNiwwLDAsMTI0LDAsMCwKLSAgICAxMDAsMSwwLDEwMCwwLDAsMTMxLDMsMCwxMjUsMSwwLDExNiwxLDAsMTI0LAotICAgIDEsMCwxMDAsMiwwLDEzMSwyLDAsMTE0LDc0LDAsMTIxLDE3LDAsMTI0LDEsCi0gICAgMCwxMDYsMiwwLDEyNCwwLDAsMTMxLDEsMCw4Myw4NywxMTMsNzQsMCw0LAotICAgIDExNiwzLDAsMTA3LDEwLDAsMTE0LDcwLDAsMSwxLDEsODksMTEzLDc0LDAsCi0gICAgODgsMTEwLDAsMCwxMjEsMTMsMCwxMjQsMCwwLDEwNiw0LDAsMTI1LDIsMCwKLSAgICA4NywxMTAsMTgsMCw0LDExNiw1LDAsMTA3LDEwLDAsMTE0LDEwNywwLDEsMSwKLSAgICAxLDg5LDExMCwyOSwwLDg4LDEyNCwyLDAsMTAwLDAsMCwxMDcsOSwwLDExNCwKLSAgICAxMzYsMCwxMTYsNiwwLDEyNCwyLDAsMTMxLDEsMCwxMDYsMiwwLDEzMSwwLAotICAgIDAsODMsMTIxLDEzLDAsMTI0LDAsMCwxMDYsNywwLDEyNSwzLDAsODcsMTEwLAotICAgIDI0LDAsNCwxMTYsNSwwLDEwNywxMCwwLDExNCwxNzUsMCwxLDEsMSwxMDAsCi0gICAgMywwLDEyNSwzLDAsODksMTEwLDEsMCw4OCwxMjEsMTMsMCwxMjQsMCwwLAotICAgIDEwNiw4LDAsMTI1LDQsMCw4NywxMTAsNTksMCw0LDExNiw1LDAsMTA3LDEwLAotICAgIDAsMTE0LDI1MCwwLDEsMSwxLDEyNCwxLDAsMTAwLDAsMCwxMDcsOCwwLAotICAgIDExNCwyMzAsMCwxMDAsNCwwLDEwNiw5LDAsMTI0LDMsMCwxMzEsMSwwLDgzLAotICAgIDEwMCw1LDAsMTA2LDksMCwxMjQsMywwLDEyNCwxLDAsMTMxLDIsMCw4MywKLSAgICA4OSwxMTAsMTcsMCw4OCwxMDAsNiwwLDEwNiw5LDAsMTI0LDMsMCwxMjQsNCwKLSAgICAwLDEzMSwyLDAsODMsMTAwLDAsMCw4Myw0MSw3LDc4LDIxOCwxMCw5NSw5NSwKLSAgICAxMDgsMTExLDk3LDEwMCwxMDEsMTE0LDk1LDk1LDIxOCwxMSwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwKLSAgICA5NSwxMTQsMTAxLDExMiwxMTQsMjUwLDEsNjMsMTIyLDEzLDYwLDEwOSwxMTEsMTAwLDExNywxMDgsCi0gICAgMTAxLDMyLDEyMywzMywxMTQsMTI1LDYyLDEyMiwyMCw2MCwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwKLSAgICAzMiwxMjMsMzMsMTE0LDEyNSwzMiw0MCwxMjMsMzMsMTE0LDEyNSw0MSw2MiwxMjIsMjMsNjAsCi0gICAgMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMzIsMTIzLDMzLDExNCwxMjUsMzIsMTAyLDExNCwxMTEsMTA5LAotICAgIDMyLDEyMywzMywxMTQsMTI1LDYyLDQxLDEwLDExNCw2MiwwLDAsMCwxMTQsNjAsMCwKLSAgICAwLDAsMTE0LDIwNiwwLDAsMCwyMTgsOSw2OSwxMjAsOTksMTAxLDExMiwxMTYsMTA1LAotICAgIDExMSwxMTAsMjE4LDgsOTUsOTUsMTE1LDExMiwxMDEsOTksOTUsOTUsMjE4LDE0LDY1LDExNiwKLSAgICAxMTYsMTE0LDEwNSw5OCwxMTcsMTE2LDEwMSw2OSwxMTQsMTE0LDExMSwxMTQsMTE0LDE3NSwwLDAsCi0gICAgMCwxMTQsNTcsMCwwLDAsMjE4LDgsOTUsOTUsMTAyLDEwNSwxMDgsMTAxLDk1LDk1LAotICAgIDExNCw0NywwLDAsMCw0MSw1LDExNCwxODAsMCwwLDAsMTE0LDE3MCwwLDAsCi0gICAgMCwxMTQsMTc4LDAsMCwwLDExNCw2NywwLDAsMCwxMTQsMTMxLDAsMCwwLAorICAgIDI5LDEyMywzMywxMTQsMTI1LDMyLDEwNSwxMTUsMzIsMTEwLDExMSwxMTYsMzIsOTcsMzIsOTgsCisgICAgMTE3LDEwNSwxMDgsMTE2LDQ1LDEwNSwxMTAsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMTE0LDY3LAorICAgIDAsMCwwLDQxLDQsMTE0LDcsMCwwLDAsMjE4LDIwLDk4LDExNywxMDUsMTA4LAorICAgIDExNiwxMDUsMTEwLDk1LDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDk1LDExMCw5NywxMDksMTAxLDExNSwKKyAgICAxMTQsMTU0LDAsMCwwLDExNCw0NywwLDAsMCw0MSwyLDExNCw3MSwwLDAsCisgICAgMCwyMTgsOCwxMDIsMTE3LDEwOCwxMDgsMTEwLDk3LDEwOSwxMDEsNDEsMSwyMTgsMywxMDIsCisgICAgMTIwLDExMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwyMTgsMjUsOTUsMTE0LAorICAgIDEwMSwxMTMsMTE3LDEwNSwxMTQsMTAxLDExNSw5NSw5OCwxMTcsMTA1LDEwOCwxMTYsMTA1LDExMCw5NSwKKyAgICAxMTksMTE0LDk3LDExMiwxMTIsMTAxLDExNCwzNSwyLDAsMCwxMTUsOCwwLDAsMCwKKyAgICAwLDEsMTUsMSwxOCwxLDksMSwxMjIsNTIsOTUsMTE0LDEwMSwxMTMsMTE3LDEwNSwKKyAgICAxMTQsMTAxLDExNSw5NSw5OCwxMTcsMTA1LDEwOCwxMTYsMTA1LDExMCw0Niw2MCwxMDgsMTExLDk5LAorICAgIDk3LDEwOCwxMTUsNjIsNDYsOTUsMTE0LDEwMSwxMTMsMTE3LDEwNSwxMTQsMTAxLDExNSw5NSw5OCwKKyAgICAxMTcsMTA1LDEwOCwxMTYsMTA1LDExMCw5NSwxMTksMTE0LDk3LDExMiwxMTIsMTAxLDExNCw0MSwxLAorICAgIDExNCw2NSwwLDAsMCw0MSwyLDExNCwxNjAsMCwwLDAsMTE0LDE2MSwwLDAsCisgICAgMCwxMTQsNCwwLDAsMCw0MSwxLDExNCwxNjAsMCwwLDAsMTE0LDUsMCwKKyAgICAwLDAsMjE4LDE3LDk1LDExNCwxMDEsMTEzLDExNywxMDUsMTE0LDEwMSwxMTUsOTUsOTgsMTE3LAorICAgIDEwNSwxMDgsMTE2LDEwNSwxMTAsMzMsMiwwLDAsMTE1LDYsMCwwLDAsMCwyLAorICAgIDE4LDUsMTMsMSwxMTQsMTYyLDAsMCwwLDk5LDEsMCwwLDAsMCwwLAorICAgIDAsMCwyLDAsMCwwLDMsMCwwLDAsMywwLDAsMCwxMTUsMzUsCisgICAgMCwwLDAsMTM1LDAsMCwxMDIsMSwwLDEwMCwxLDAsMTAwLDIsMCwxMzQsCisgICAgMCwwLDEyNSwxLDAsMTE2LDAsMCwxMjQsMSwwLDEzNiwwLDAsMTMxLDIsCisgICAgMCwxLDEyNCwxLDAsODMsNDEsMywxMjIsNDcsNjgsMTAxLDk5LDExMSwxMTQsOTcsCisgICAgMTE2LDExMSwxMTQsMzIsMTE2LDExMSwzMiwxMTgsMTAxLDExNCwxMDUsMTAyLDEyMSwzMiwxMTYsMTA0LAorICAgIDEwMSwzMiwxMTAsOTcsMTA5LDEwMSwxMDAsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMzIsMTA1LAorICAgIDExNSwzMiwxMDIsMTE0LDExMSwxMjIsMTAxLDExMCw0Niw5OSwyLDAsMCwwLDAsMCwKKyAgICAwLDAsMiwwLDAsMCw0LDAsMCwwLDE5LDAsMCwwLDExNSw1NSwKKyAgICAwLDAsMCwxMTYsMCwwLDEwNiwxLDAsMTI0LDEsMCwxMzEsMSwwLDExNSwKKyAgICA0MiwwLDExNiwyLDAsMTAwLDEsMCwxMDYsMywwLDEyNCwxLDAsMTMxLDEsCisgICAgMCwxMDAsMiwwLDEyNCwxLDAsMTMxLDEsMSwxMzAsMSwwLDEzNiwwLDAsCisgICAgMTI0LDAsMCwxMjQsMSwwLDEzMSwyLDAsODMsNDEsMyw3OCwxMjIsMjcsMTIzLAorICAgIDMzLDExNCwxMjUsMzIsMTA1LDExNSwzMiwxMTAsMTExLDExNiwzMiw5NywzMiwxMDIsMTE0LDExMSwKKyAgICAxMjIsMTAxLDExMCwzMiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwxMTQsNjcsMCwwLDAsNDEsCisgICAgNCwxMTQsMTA2LDAsMCwwLDIxOCw5LDEwNSwxMTUsOTUsMTAyLDExNCwxMTEsMTIyLDEwMSwKKyAgICAxMTAsMTE0LDE1NCwwLDAsMCwxMTQsNDcsMCwwLDAsNDEsMiwxMTQsNzEsMCwKKyAgICAwLDAsMTE0LDE1OSwwLDAsMCw0MSwxLDExNCwxNjAsMCwwLDAsMTE0LDQsCisgICAgMCwwLDAsMTE0LDUsMCwwLDAsMjE4LDI0LDk1LDExNCwxMDEsMTEzLDExNywxMDUsCisgICAgMTE0LDEwMSwxMTUsOTUsMTAyLDExNCwxMTEsMTIyLDEwMSwxMTAsOTUsMTE5LDExNCw5NywxMTIsMTEyLAorICAgIDEwMSwxMTQsNDYsMiwwLDAsMTE1LDgsMCwwLDAsMCwxLDE1LDEsMTgsCisgICAgMSw5LDEsMTIyLDUwLDk1LDExNCwxMDEsMTEzLDExNywxMDUsMTE0LDEwMSwxMTUsOTUsMTAyLAorICAgIDExNCwxMTEsMTIyLDEwMSwxMTAsNDYsNjAsMTA4LDExMSw5OSw5NywxMDgsMTE1LDYyLDQ2LDk1LAorICAgIDExNCwxMDEsMTEzLDExNywxMDUsMTE0LDEwMSwxMTUsOTUsMTAyLDExNCwxMTEsMTIyLDEwMSwxMTAsOTUsCisgICAgMTE5LDExNCw5NywxMTIsMTEyLDEwMSwxMTQsNDEsMSwxMTQsNjUsMCwwLDAsNDEsMiwKKyAgICAxMTQsMTYwLDAsMCwwLDExNCwxNjQsMCwwLDAsMTE0LDQsMCwwLDAsNDEsCisgICAgMSwxMTQsMTYwLDAsMCwwLDExNCw1LDAsMCwwLDIxOCwxNiw5NSwxMTQsMTAxLAorICAgIDExMywxMTcsMTA1LDExNCwxMDEsMTE1LDk1LDEwMiwxMTQsMTExLDEyMiwxMDEsMTEwLDQ0LDIsMCwKKyAgICAwLDExNSw2LDAsMCwwLDAsMiwxOCw1LDEzLDEsMTE0LDE2NSwwLDAsCisgICAgMCw5OSwyLDAsMCwwLDAsMCwwLDAsNSwwLDAsMCw0LDAsCisgICAgMCwwLDY3LDAsMCwwLDExNSw4NCwwLDAsMCwxMjQsMCwwLDEwNiwwLAorICAgIDAsMTI0LDEsMCwxMzEsMSwwLDkyLDIsMCwxMjUsMiwwLDEyNSwzLDAsCisgICAgMTI0LDIsMCwxMDAsMSwwLDEwNyw4LDAsMTE0LDgwLDAsMTE2LDEsMCwxMjQsCisgICAgMywwLDEzMSwxLDAsMTE0LDgwLDAsMTAwLDIsMCwxMjUsNCwwLDExNiwyLAorICAgIDAsMTA2LDMsMCwxMjQsNCwwLDEwNiw0LDAsMTI0LDMsMCwxMDAsMywwLAorICAgIDI1LDEzMSwxLDAsMTE2LDUsMCwxMzEsMiwwLDEsMTI0LDIsMCw4Myw0MSwKKyAgICA0LDEyMiwxNTUsODQsMTE0LDEyMSwzMiwxMTYsMTExLDMyLDEwMiwxMDUsMTEwLDEwMCwzMiw5NywKKyAgICAzMiwxMDgsMTExLDk3LDEwMCwxMDEsMTE0LDMyLDEwMiwxMTEsMTE0LDMyLDExNiwxMDQsMTAxLDMyLAorICAgIDExNSwxMTIsMTAxLDk5LDEwNSwxMDIsMTA1LDEwMSwxMDAsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsCisgICAgMzIsOTgsMTIxLDMyLDEwMCwxMDEsMTA4LDEwMSwxMDMsOTcsMTE2LDEwNSwxMTAsMTAzLDMyLDExNiwKKyAgICAxMTEsMTAsMzIsMzIsMzIsMzIsMTE1LDEwMSwxMDgsMTAyLDQ2LDEwMiwxMDUsMTEwLDEwMCw5NSwKKyAgICAxMDgsMTExLDk3LDEwMCwxMDEsMTE0LDQwLDQxLDQ2LDEwLDEwLDMyLDMyLDMyLDMyLDg0LAorICAgIDEwNCwxMDUsMTE1LDMyLDEwOSwxMDEsMTE2LDEwNCwxMTEsMTAwLDMyLDEwNSwxMTUsMzIsMTAwLDEwMSwKKyAgICAxMTIsMTE0LDEwMSw5OSw5NywxMTYsMTAxLDEwMCwzMiwxMDUsMTEwLDMyLDEwMiw5NywxMTgsMTExLAorICAgIDExNCwzMiwxMTEsMTAyLDMyLDEwMiwxMDUsMTEwLDEwMCwxMDEsMTE0LDQ2LDEwMiwxMDUsMTEwLDEwMCwKKyAgICA5NSwxMTUsMTEyLDEwMSw5OSw0MCw0MSw0NiwxMCwxMCwzMiwzMiwzMiwzMiw3OCwxMjIsCisgICAgNDQsNzgsMTExLDExNiwzMiwxMDUsMTA5LDExMiwxMTEsMTE0LDExNiwxMDUsMTEwLDEwMywzMiwxMDAsCisgICAgMTA1LDExNCwxMDEsOTksMTE2LDExMSwxMTQsMTIxLDMyLDEyMywxMjUsNTgsMzIsMTA5LDEwNSwxMTUsCisgICAgMTE1LDEwNSwxMTAsMTAzLDMyLDk1LDk1LDEwNSwxMTAsMTA1LDExNiw5NSw5NSwxMTQsODQsMCwKKyAgICAwLDAsNDEsNiwyMTgsMTEsMTAyLDEwNSwxMTAsMTAwLDk1LDEwOCwxMTEsOTcsMTAwLDEwMSwKKyAgICAxMTQsMTE0LDMxLDAsMCwwLDIxOCw5LDk1LDExOSw5NywxMTQsMTEwLDEwNSwxMTAsMTAzLAorICAgIDExNSwyMTgsNCwxMTksOTcsMTE0LDExMCwxMTQsNDcsMCwwLDAsMjE4LDEzLDczLDEwOSwKKyAgICAxMTIsMTExLDExNCwxMTYsODcsOTcsMTE0LDExMCwxMDUsMTEwLDEwMyw0MSw1LDExNCw3MSwwLAorICAgIDAsMCwxMTQsMTU5LDAsMCwwLDIxOCw2LDEwOCwxMTEsOTcsMTAwLDEwMSwxMTQsMjE4LAorICAgIDgsMTEyLDExMSwxMTQsMTE2LDEwNSwxMTEsMTEwLDExNSwyMTgsMywxMDksMTE1LDEwMywxMTQsNCwKKyAgICAwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwyMTgsMTcsOTUsCisgICAgMTAyLDEwNSwxMTAsMTAwLDk1LDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDk1LDExNSwxMDQsMTA1LDEwOSwKKyAgICA1NSwyLDAsMCwxMTUsMTAsMCwwLDAsMCwxMCwyMSwxLDI0LDEsNiwKKyAgICAxLDI5LDEsMTE0LDE3MywwLDAsMCw5OSwyLDAsMCwwLDAsMCwwLAorICAgIDAsNCwwLDAsMCwzLDAsMCwwLDY3LDAsMCwwLDExNSw4MSwwLAorICAgIDAsMCwxMTYsMCwwLDEyNCwxLDAsMTI0LDAsMCwxMzEsMiwwLDEyNSwyLAorICAgIDAsMTI0LDEsMCwxMTYsMSwwLDEwNiwyLDAsMTA3LDYsMCwxMTQsNjcsMCwKKyAgICAxMTYsMSwwLDEwNiwyLDAsMTI0LDEsMCwyNSwxMjUsMywwLDExNiwzLDAsCisgICAgMTI0LDIsMCwxMjQsMywwLDEzMSwyLDAsMSwxMTYsMSwwLDEwNiwyLDAsCisgICAgMTI0LDEsMCwyNSw4MywxMTYsNCwwLDEyNCwyLDAsMTMxLDEsMCw4MywxMDAsCisgICAgMSwwLDgzLDQxLDIsMTIyLDEyOCw3NiwxMTEsOTcsMTAwLDMyLDExNiwxMDQsMTAxLDMyLAorICAgIDExNSwxMTIsMTAxLDk5LDEwNSwxMDIsMTA1LDEwMSwxMDAsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsCisgICAgMzIsMTA1LDExMCwxMTYsMTExLDMyLDExNSwxMjEsMTE1LDQ2LDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLAorICAgIDExNSwzMiw5NywxMTAsMTAwLDMyLDExNCwxMDEsMTE2LDExNywxMTQsMTEwLDMyLDEwNSwxMTYsNDYsCisgICAgMTAsMTAsMzIsMzIsMzIsMzIsODQsMTA0LDEwNSwxMTUsMzIsMTA5LDEwMSwxMTYsMTA0LDExMSwKKyAgICAxMDAsMzIsMTA1LDExNSwzMiwxMDAsMTAxLDExMiwxMTQsMTAxLDk5LDk3LDExNiwxMDEsMTAwLDQ2LAorICAgIDMyLDMyLDg1LDExNSwxMDEsMzIsMTA4LDExMSw5NywxMDAsMTAxLDExNCw0NiwxMDEsMTIwLDEwMSwKKyAgICA5OSw5NSwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwzMiwxMDUsMTEwLDExNSwxMTYsMTAxLDk3LDEwMCwKKyAgICA0NiwxMCwxMCwzMiwzMiwzMiwzMiw3OCw0MSw1LDIxOCwxNiwxMTUsMTEyLDEwMSw5OSwKKyAgICA5NSwxMDIsMTE0LDExMSwxMDksOTUsMTA4LDExMSw5NywxMDAsMTAxLDExNCwxMTQsNywwLDAsCisgICAgMCwxMTQsNzMsMCwwLDAsMjE4LDUsOTUsMTAxLDEyMCwxMDEsOTksMjE4LDUsOTUsCisgICAgMTA4LDExMSw5NywxMDAsNDEsNCwxMTQsNzEsMCwwLDAsMTE0LDE1OSwwLDAsMCwKKyAgICAyMTgsNCwxMTUsMTEyLDEwMSw5OSwyMTgsNiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwxMTQsNCwKKyAgICAwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwyMTgsMTcsOTUsCisgICAgMTA4LDExMSw5NywxMDAsOTUsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsOTUsMTE1LDEwNCwxMDUsMTA5LAorICAgIDczLDIsMCwwLDExNSwxMiwwLDAsMCwwLDYsMTUsMSwxNSwxLDEzLAorICAgIDEsMTMsMSwxMSwyLDExNCwxNzksMCwwLDAsOTksNCwwLDAsMCwwLAorICAgIDAsMCwwLDExLDAsMCwwLDE5LDAsMCwwLDY3LDAsMCwwLDExNSwKKyAgICAyMjgsMSwwLDAsMTA1LDAsMCwxMjUsNCwwLDEyNCwyLDAsMTAwLDEsMCwKKyAgICAxMDcsOSwwLDExNCwzMSwwLDEyNCwyLDAsMTI0LDQsMCwxMDAsMiwwLDYwLAorICAgIDExMCw2LDAsMTAwLDMsMCwxMjUsMiwwLDEyNCwzLDAsMTAwLDEsMCwxMDcsCisgICAgOSwwLDExNCw1OSwwLDEyNCwzLDAsMTI0LDQsMCwxMDAsNCwwLDYwLDEyNCwKKyAgICAwLDAsMTAwLDEsMCwxMDAsNSwwLDEzMywyLDAsMjUsMTI1LDUsMCwxMjQsCisgICAgMCwwLDEwMCw1LDAsMTAwLDYsMCwxMzMsMiwwLDI1LDEyNSw2LDAsMTI0LAorICAgIDAsMCwxMDAsNiwwLDEwMCw3LDAsMTMzLDIsMCwyNSwxMjUsNywwLDEyNCwKKyAgICA1LDAsMTE2LDAsMCwxMDcsMywwLDExNCwxNjUsMCwxMDAsOCwwLDEwNiwxLAorICAgIDAsMTI0LDIsMCwxMjQsNSwwLDEzMSwyLDAsMTI1LDgsMCwxMTYsMiwwLAorICAgIDEyNCw4LDAsMTMxLDEsMCwxLDExNiwzLDAsMTI0LDgsMCwxMjQsNCwwLAorICAgIDE0MSwxLDAsMTMwLDEsMCwxMTAsMTEzLDAsMTE2LDQsMCwxMjQsNiwwLDEzMSwKKyAgICAxLDAsMTAwLDUsMCwxMDcsMywwLDExNCwyMjMsMCwxMDAsOSwwLDEwNiwxLAorICAgIDAsMTI0LDIsMCwxMzEsMSwwLDEyNSw4LDAsMTE2LDIsMCwxMjQsOCwwLAorICAgIDEzMSwxLDAsMSwxMTYsNSwwLDEyNCw4LDAsMTMxLDEsMCwxMzAsMSwwLAorICAgIDExMCw1NSwwLDExNiw0LDAsMTI0LDcsMCwxMzEsMSwwLDEwMCw1LDAsMTA3LAorICAgIDMsMCwxMTQsMjIsMSwxMDAsMTAsMCwxMDYsMSwwLDEyNCwyLDAsMTMxLDEsCisgICAgMCwxMjUsOCwwLDExNiwyLDAsMTI0LDgsMCwxMzEsMSwwLDEsMTE2LDUsCisgICAgMCwxMjQsOCwwLDEzMSwxLDAsMTMwLDEsMCwxMjQsMSwwLDEwMCwxLDAsCisgICAgMTA3LDksMCwxMTQsMjE0LDEsMTIxLDIwLDAsMTE2LDYsMCwxMjQsMSwwLDEwMCwKKyAgICAxMSwwLDI1LDEzMSwxLDAsMTI1LDksMCw4NywxMTAsMTgsMCw0LDExNiw3LAorICAgIDAsMTA3LDEwLDAsMTE0LDc0LDEsMSwxLDEsODksMTEwLDU5LDAsODgsMTE2LAorICAgIDgsMCwxMjQsNiwwLDEzMSwxLDAsMTI0LDksMCwxMDcsMywwLDExNCwxMzMsCisgICAgMSwxMDAsMTIsMCwxMDYsMSwwLDEyNCwyLDAsMTMxLDEsMCwxMjUsOCwwLAorICAgIDExNiwyLDAsMTI0LDgsMCwxMzEsMSwwLDEsMTE2LDMsMCwxMjQsOCwwLAorICAgIDEyNCw0LDAsMTQxLDEsMCwxMzAsMSwwLDEyMSwxOCwwLDEyNCwxLDAsMTAwLAorICAgIDEzLDAsMjUsMTAwLDE0LDAsNjQsMTI1LDEwLDAsODcsMTEwLDE4LDAsNCwxMTYsCisgICAgNywwLDEwNywxMCwwLDExNCwxNzEsMSwxLDEsMSw4OSwxMTAsNDMsMCw4OCwKKyAgICAxMTYsOCwwLDEyNCw3LDAsMTMxLDEsMCwxMjQsMTAsMCwxMDcsMywwLDExNCwKKyAgICAyMTQsMSwxMTYsMywwLDEwMCwxMiwwLDEwNiwxLDAsMTI0LDIsMCwxMzEsMSwKKyAgICAwLDEyNCw0LDAsMTQxLDEsMCwxMzAsMSwwLDEyNCwwLDAsMTAwLDcsMCwKKyAgICAxMDAsMSwwLDEzMywyLDAsMjUsODMsNDEsMTUsOTcsMTIyLDEsMCwwLDg2LAorICAgIDk3LDEwOCwxMDUsMTAwLDk3LDExNiwxMDEsMzIsMTE2LDEwNCwxMDEsMzIsMTA0LDEwMSw5NywxMDAsCisgICAgMTAxLDExNCwzMiwxMTEsMTAyLDMyLDExNiwxMDQsMTAxLDMyLDExMiw5NywxMTUsMTE1LDEwMSwxMDAsCisgICAgNDUsMTA1LDExMCwzMiw5OCwxMjEsMTE2LDEwMSw5OSwxMTEsMTAwLDEwMSwzMiw5NywxMDMsOTcsCisgICAgMTA1LDExMCwxMTUsMTE2LDMyLDExNSwxMTEsMTE3LDExNCw5OSwxMDEsOTUsMTE1LDExNiw5NywxMTYsCisgICAgMTE1LDMyLDQwLDEwNSwxMDIsMTAsMzIsMzIsMzIsMzIsMTAzLDEwNSwxMTgsMTAxLDExMCw0MSwKKyAgICAzMiw5NywxMTAsMTAwLDMyLDExNCwxMDEsMTE2LDExNywxMTQsMTEwLDEwNSwxMTAsMTAzLDMyLDExNiwKKyAgICAxMDQsMTAxLDMyLDk4LDEyMSwxMTYsMTAxLDk5LDExMSwxMDAsMTAxLDMyLDExNiwxMDQsOTcsMTE2LAorICAgIDMyLDk5LDk3LDExMCwzMiw5OCwxMDEsMzIsOTksMTExLDEwOSwxMTIsMTA1LDEwOCwxMDEsMTAwLAorICAgIDMyLDk4LDEyMSwzMiw5OSwxMTEsMTA5LDExMiwxMDUsMTA4LDEwMSw0MCw0MSw0NiwxMCwxMCwKKyAgICAzMiwzMiwzMiwzMiw2NSwxMDgsMTA4LDMyLDExMSwxMTYsMTA0LDEwMSwxMTQsMzIsOTcsMTE0LAorICAgIDEwMywxMTcsMTA5LDEwMSwxMTAsMTE2LDExNSwzMiw5NywxMTQsMTAxLDMyLDExNywxMTUsMTAxLDEwMCwKKyAgICAzMiwxMTYsMTExLDMyLDEwMSwxMTAsMTA0LDk3LDExMCw5OSwxMDEsMzIsMTAxLDExNCwxMTQsMTExLAorICAgIDExNCwzMiwxMTQsMTAxLDExMiwxMTEsMTE0LDExNiwxMDUsMTEwLDEwMyw0NiwxMCwxMCwzMiwzMiwKKyAgICAzMiwzMiw3MywxMDksMTEyLDExMSwxMTQsMTE2LDY5LDExNCwxMTQsMTExLDExNCwzMiwxMDUsMTE1LAorICAgIDMyLDExNCw5NywxMDUsMTE1LDEwMSwxMDAsMzIsMTE5LDEwNCwxMDEsMTEwLDMyLDExNiwxMDQsMTAxLAorICAgIDMyLDEwOSw5NywxMDMsMTA1LDk5LDMyLDExMCwxMTcsMTA5LDk4LDEwMSwxMTQsMzIsMTA1LDExNSwKKyAgICAzMiwxMDUsMTEwLDk5LDExMSwxMTQsMTE0LDEwMSw5OSwxMTYsMzIsMTExLDExNCwzMiwxMTYsMTA0LAorICAgIDEwMSwzMiw5OCwxMjEsMTE2LDEwMSw5OSwxMTEsMTAwLDEwMSwzMiwxMDUsMTE1LDEwLDMyLDMyLAorICAgIDMyLDMyLDEwMiwxMTEsMTE3LDExMCwxMDAsMzIsMTE2LDExMSwzMiw5OCwxMDEsMzIsMTE1LDExNiwKKyAgICA5NywxMDgsMTAxLDQ2LDMyLDY5LDc5LDcwLDY5LDExNCwxMTQsMTExLDExNCwzMiwxMDUsMTE1LAorICAgIDMyLDExNCw5NywxMDUsMTE1LDEwMSwxMDAsMzIsMTE5LDEwNCwxMDEsMTEwLDMyLDExNiwxMDQsMTAxLAorICAgIDMyLDEwMCw5NywxMTYsOTcsMzIsMTA1LDExNSwzMiwxMDIsMTExLDExNywxMTAsMTAwLDMyLDExNiwKKyAgICAxMTEsMzIsOTgsMTAxLDEwLDMyLDMyLDMyLDMyLDExNiwxMTQsMTE3LDExMCw5OSw5NywxMTYsCisgICAgMTAxLDEwMCw0NiwxMCwxMCwzMiwzMiwzMiwzMiw3OCwxMTQsNjcsMCwwLDAsMTIyLAorICAgIDEwLDYwLDk4LDEyMSwxMTYsMTAxLDk5LDExMSwxMDAsMTAxLDYyLDExNCwzNSwwLDAsMCwKKyAgICAxMTQsMTIsMCwwLDAsMjMzLDgsMCwwLDAsMjMzLDEyLDAsMCwwLDEyMiwKKyAgICAzMCw5OCw5NywxMDAsMzIsMTA5LDk3LDEwMywxMDUsOTksMzIsMTEwLDExNywxMDksOTgsMTAxLAorICAgIDExNCwzMiwxMDUsMTEwLDMyLDEyMywzMywxMTQsMTI1LDU4LDMyLDEyMywzMywxMTQsMTI1LDEyMiwKKyAgICA0MywxMTQsMTAxLDk3LDk5LDEwNCwxMDEsMTAwLDMyLDY5LDc5LDcwLDMyLDExOSwxMDQsMTA1LAorICAgIDEwOCwxMDEsMzIsMTE0LDEwMSw5NywxMDAsMTA1LDExMCwxMDMsMzIsMTE2LDEwNSwxMDksMTAxLDExNSwKKyAgICAxMTYsOTcsMTA5LDExMiwzMiwxMDUsMTEwLDMyLDEyMywzMywxMTQsMTI1LDEyMiw0OCwxMTQsMTAxLAorICAgIDk3LDk5LDEwNCwxMDEsMTAwLDMyLDY5LDc5LDcwLDMyLDExOSwxMDQsMTA1LDEwOCwxMDEsMzIsCisgICAgMTE0LDEwMSw5NywxMDAsMTA1LDExMCwxMDMsMzIsMTE1LDEwNSwxMjIsMTAxLDMyLDExMSwxMDIsMzIsCisgICAgMTE1LDExMSwxMTcsMTE0LDk5LDEwMSwzMiwxMDUsMTEwLDMyLDEyMywzMywxMTQsMTI1LDIxOCw1LAorICAgIDEwOSwxMTYsMTA1LDEwOSwxMDEsMTIyLDI2LDk4LDEyMSwxMTYsMTAxLDk5LDExMSwxMDAsMTAxLDMyLAorICAgIDEwNSwxMTUsMzIsMTE1LDExNiw5NywxMDgsMTAxLDMyLDEwMiwxMTEsMTE0LDMyLDEyMywzMywxMTQsCisgICAgMTI1LDIxOCw0LDExNSwxMDUsMTIyLDEwMSwxMDgsMywwLDAsMCwyNTUsMTI3LDI1NSwxMjcsCisgICAgMywwLDQxLDksMjE4LDEyLDc3LDY1LDcxLDczLDY3LDk1LDc4LDg1LDc3LDY2LAorICAgIDY5LDgyLDExNCw0NywwLDAsMCwxMTQsMTUzLDAsMCwwLDExNCwxNTQsMCwwLAorICAgIDAsMTE0LDMxLDAsMCwwLDIxOCw4LDY5LDc5LDcwLDY5LDExNCwxMTQsMTExLDExNCwKKyAgICAxMTQsMTQsMCwwLDAsMTE0LDc5LDAsMCwwLDExNCwxOSwwLDAsMCw0MSwKKyAgICAxMSwxMTQsNTMsMCwwLDAsMjE4LDEyLDExNSwxMTEsMTE3LDExNCw5OSwxMDEsOTUsMTE1LAorICAgIDExNiw5NywxMTYsMTE1LDExNCw2NywwLDAsMCwxMTQsMzUsMCwwLDAsOTAsMTEsCisgICAgMTAxLDEyMCw5OSw5NSwxMDAsMTAxLDExNiw5NywxMDUsMTA4LDExNSw5MCw1LDEwOSw5NywxMDMsCisgICAgMTA1LDk5LDkwLDEzLDExNCw5NywxMTksOTUsMTE2LDEwNSwxMDksMTAxLDExNSwxMTYsOTcsMTA5LAorICAgIDExMiw5MCw4LDExNCw5NywxMTksOTUsMTE1LDEwNSwxMjIsMTAxLDExNCwxNTIsMCwwLDAsCisgICAgMjE4LDEyLDExNSwxMTEsMTE3LDExNCw5OSwxMDEsOTUsMTA5LDExNiwxMDUsMTA5LDEwMSwyMTgsMTEsCisgICAgMTE1LDExMSwxMTcsMTE0LDk5LDEwMSw5NSwxMTUsMTA1LDEyMiwxMDEsMTE0LDQsMCwwLDAsCisgICAgMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsMjE4LDI1LDk1LDExOCw5NywxMDgsCisgICAgMTA1LDEwMCw5NywxMTYsMTAxLDk1LDk4LDEyMSwxMTYsMTAxLDk5LDExMSwxMDAsMTAxLDk1LDEwNCwKKyAgICAxMDEsOTcsMTAwLDEwMSwxMTQsODgsMiwwLDAsMTE1LDc2LDAsMCwwLDAsMTEsCisgICAgNiwxLDEyLDEsMTMsMyw2LDEsMTIsMSwxMCwxLDE2LDEsMTYsMSwKKyAgICAxNiwxLDEyLDEsMTgsMSwxMCwxLDE4LDEsMTgsMSwxNSwxLDEwLDEsCisgICAgMTUsMSwxOCwxLDE1LDEsMTAsMSwxMiwxLDEyLDEsMywxLDIwLDEsCisgICAgMTMsMSw1LDIsMTgsMSwxNSwxLDEwLDEsMTUsMSwzLDEsMTgsMSwKKyAgICAxMywxLDUsMiwxOCwxLDE1LDEsOSwxLDExNCwxODksMCwwLDAsOTksCisgICAgNCwwLDAsMCwwLDAsMCwwLDUsMCwwLDAsNiwwLDAsMCwKKyAgICA2NywwLDAsMCwxMTUsMTEyLDAsMCwwLDExNiwwLDAsMTA2LDEsMCwxMjQsCisgICAgMCwwLDEzMSwxLDAsMTI1LDQsMCwxMTYsMiwwLDEyNCw0LDAsMTE2LDMsCisgICAgMCwxMzEsMiwwLDExNCw3NSwwLDExNiw0LDAsMTAwLDEsMCwxMjQsMiwwLAorICAgIDEzMSwyLDAsMSwxMjQsMywwLDEwMCwyLDAsMTA3LDksMCwxMTQsNzEsMCwKKyAgICAxMTYsNSwwLDEwNiw2LDAsMTI0LDQsMCwxMjQsMywwLDEzMSwyLDAsMSwKKyAgICAxMjQsNCwwLDgzLDExNiw3LDAsMTAwLDMsMCwxMDYsOCwwLDEyNCwyLDAsCisgICAgMTMxLDEsMCwxMDAsNCwwLDEyNCwxLDAsMTAwLDUsMCwxMjQsMiwwLDEzMSwKKyAgICAxLDIsMTMwLDEsMCwxMDAsMiwwLDgzLDQxLDYsMTIyLDYwLDY3LDExMSwxMDksCisgICAgMTEyLDEwNSwxMDgsMTAxLDMyLDk4LDEyMSwxMTYsMTAxLDk5LDExMSwxMDAsMTAxLDMyLDk3LDExNSwKKyAgICAzMiwxMTQsMTAxLDExNiwxMTcsMTE0LDExMCwxMDEsMTAwLDMyLDk4LDEyMSwzMiw5NSwxMTgsOTcsCisgICAgMTA4LDEwNSwxMDAsOTcsMTE2LDEwMSw5NSw5OCwxMjEsMTE2LDEwMSw5OSwxMTEsMTAwLDEwMSw5NSwKKyAgICAxMDQsMTAxLDk3LDEwMCwxMDEsMTE0LDQwLDQxLDQ2LDEyMiwyMSw5OSwxMTEsMTAwLDEwMSwzMiwKKyAgICAxMTEsOTgsMTA2LDEwMSw5OSwxMTYsMzIsMTAyLDExNCwxMTEsMTA5LDMyLDEyMywzMywxMTQsMTI1LAorICAgIDc4LDEyMiwyMyw3OCwxMTEsMTEwLDQ1LDk5LDExMSwxMDAsMTAxLDMyLDExMSw5OCwxMDYsMTAxLAorICAgIDk5LDExNiwzMiwxMDUsMTEwLDMyLDEyMywzMywxMTQsMTI1LDExNCw2NywwLDAsMCwxMTQsCisgICAgMzUsMCwwLDAsNDEsOSwyMTgsNywxMDksOTcsMTE0LDExNSwxMDQsOTcsMTA4LDkwLAorICAgIDUsMTA4LDExMSw5NywxMDAsMTE1LDIxOCwxMCwxMDUsMTE1LDEwNSwxMTAsMTE1LDExNiw5NywxMTAsCisgICAgOTksMTAxLDIxOCwxMCw5NSw5OSwxMTEsMTAwLDEwMSw5NSwxMTYsMTIxLDExMiwxMDEsMTE0LDE1MywKKyAgICAwLDAsMCwxMTQsMTA2LDAsMCwwLDkwLDE2LDk1LDEwMiwxMDUsMTIwLDk1LDk5LAorICAgIDExMSw5NSwxMDIsMTA1LDEwOCwxMDEsMTEwLDk3LDEwOSwxMDEsMTE0LDE1NCwwLDAsMCwxMTQsCisgICAgNDcsMCwwLDAsNDEsNSwxMTQsNTMsMCwwLDAsMTE0LDY3LDAsMCwwLAorICAgIDExNCwxNDEsMCwwLDAsMTE0LDE0MiwwLDAsMCwyMTgsNCw5OSwxMTEsMTAwLDEwMSwKICAgICAxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwyMTgsCi0gICAgMTIsOTUsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsOTUsMTE0LDEwMSwxMTIsMTE0LDE3OCwyLDAsCisgICAgMTcsOTUsOTksMTExLDEwOSwxMTIsMTA1LDEwOCwxMDEsOTUsOTgsMTIxLDExNiwxMDEsOTksMTExLAorICAgIDEwMCwxMDEsMTQzLDIsMCwwLDExNSwxNiwwLDAsMCwwLDIsMTUsMSwxNSwKKyAgICAxLDEzLDEsMTIsMSwxNiwxLDQsMiwxOCwxLDExNCwxOTQsMCwwLDAsCisgICAgMTE0LDg0LDAsMCwwLDk5LDMsMCwwLDAsMCwwLDAsMCw0LDAsCisgICAgMCwwLDMsMCwwLDAsNjcsMCwwLDAsMTE1LDc2LDAsMCwwLDExNiwKKyAgICAwLDAsMTE2LDEsMCwxMzEsMSwwLDEyNSwzLDAsMTI0LDMsMCwxMDYsMiwKKyAgICAwLDExNiwzLDAsMTI0LDEsMCwxMzEsMSwwLDEzMSwxLDAsMSwxMjQsMywKKyAgICAwLDEwNiwyLDAsMTE2LDMsMCwxMjQsMiwwLDEzMSwxLDAsMTMxLDEsMCwKKyAgICAxLDEyNCwzLDAsMTA2LDIsMCwxMTYsNCwwLDEwNiw1LDAsMTI0LDAsMCwKKyAgICAxMzEsMSwwLDEzMSwxLDAsMSwxMjQsMywwLDgzLDQxLDEsMTIyLDgwLDY3LAorICAgIDExMSwxMDksMTEyLDEwNSwxMDgsMTAxLDMyLDk3LDMyLDk5LDExMSwxMDAsMTAxLDMyLDExMSw5OCwKKyAgICAxMDYsMTAxLDk5LDExNiwzMiwxMDUsMTEwLDExNiwxMTEsMzIsOTgsMTIxLDExNiwxMDEsOTksMTExLAorICAgIDEwMCwxMDEsMzIsMTAyLDExMSwxMTQsMzIsMTE5LDExNCwxMDUsMTE2LDEwNSwxMTAsMTAzLDMyLDExMSwKKyAgICAxMTcsMTE2LDMyLDExNiwxMTEsMzIsOTcsMzIsOTgsMTIxLDExNiwxMDEsNDUsOTksMTExLDEwOSwKKyAgICAxMTIsMTA1LDEwOCwxMDEsMTAwLDEwLDMyLDMyLDMyLDMyLDEwMiwxMDUsMTA4LDEwMSw0Niw0MSwKKyAgICA2LDIxOCw5LDk4LDEyMSwxMTYsMTAxLDk3LDExNCwxMTQsOTcsMTIxLDExNCwxODQsMCwwLAorICAgIDAsMjE4LDYsMTAxLDEyMCwxMTYsMTAxLDExMCwxMDAsMTE0LDE3LDAsMCwwLDExNCwxOTAsCisgICAgMCwwLDAsOTAsNSwxMDAsMTE3LDEwOSwxMTIsMTE1LDQxLDQsMTE0LDE5MywwLDAsCisgICAgMCwxMTQsMTgyLDAsMCwwLDExNCwxODgsMCwwLDAsMTE0LDUzLDAsMCwwLAorICAgIDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDIxOCwKKyAgICAxNyw5NSw5OSwxMTEsMTAwLDEwMSw5NSwxMTYsMTExLDk1LDk4LDEyMSwxMTYsMTAxLDk5LDExMSwKKyAgICAxMDAsMTAxLDE1NSwyLDAsMCwxMTUsMTAsMCwwLDAsMCwzLDEyLDEsMTksCisgICAgMSwxOSwxLDIyLDEsMTE0LDE5NywwLDAsMCw5OSwxLDAsMCwwLDAsCisgICAgMCwwLDAsNSwwLDAsMCw0LDAsMCwwLDY3LDAsMCwwLDExNSwKKyAgICA4OSwwLDAsMCwxMDAsMSwwLDEwMCwyLDAsMTA4LDAsMCwxMjUsMSwwLAorICAgIDExNiwxLDAsMTA2LDIsMCwxMjQsMCwwLDEzMSwxLDAsMTA2LDMsMCwxMjUsCisgICAgMiwwLDEyNCwxLDAsMTA2LDQsMCwxMjQsMiwwLDEzMSwxLDAsMTI1LDMsCisgICAgMCwxMTYsMSwwLDEwNiw1LDAsMTAwLDIsMCwxMDAsMywwLDEzMSwyLDAsCisgICAgMTI1LDQsMCwxMjQsNCwwLDEwNiw2LDAsMTI0LDAsMCwxMDYsNiwwLDEyNCwKKyAgICAzLDAsMTAwLDEsMCwyNSwxMzEsMSwwLDEzMSwxLDAsODMsNDEsNCwxMjIsCisgICAgMTIxLDY4LDEwMSw5OSwxMTEsMTAwLDEwMSwzMiw5OCwxMjEsMTE2LDEwMSwxMTUsMzIsMTE0LDEwMSwKKyAgICAxMTIsMTE0LDEwMSwxMTUsMTAxLDExMCwxMTYsMTA1LDExMCwxMDMsMzIsMTE1LDExMSwxMTcsMTE0LDk5LAorICAgIDEwMSwzMiw5OSwxMTEsMTAwLDEwMSwzMiw5NywxMTAsMTAwLDMyLDExNCwxMDEsMTE2LDExNywxMTQsCisgICAgMTEwLDMyLDExNiwxMDQsMTAxLDMyLDExNSwxMTYsMTE0LDEwNSwxMTAsMTAzLDQ2LDEwLDEwLDMyLAorICAgIDMyLDMyLDMyLDg1LDExMCwxMDUsMTE4LDEwMSwxMTQsMTE1LDk3LDEwOCwzMiwxMTAsMTAxLDExOSwKKyAgICAxMDgsMTA1LDExMCwxMDEsMzIsMTE1LDExNywxMTIsMTEyLDExMSwxMTQsMTE2LDMyLDEwNSwxMTUsMzIsCisgICAgMTE3LDExNSwxMDEsMTAwLDMyLDEwNSwxMTAsMzIsMTE2LDEwNCwxMDEsMzIsMTAwLDEwMSw5OSwxMTEsCisgICAgMTAwLDEwNSwxMTAsMTAzLDQ2LDEwLDMyLDMyLDMyLDMyLDExNCw4NCwwLDAsMCw3OCwKKyAgICA4NCw0MSw3LDIxOCw4LDExNiwxMTEsMTA3LDEwMSwxMTAsMTA1LDEyMiwxMDEsMTE0LDQ5LDAsCisgICAgMCwwLDkwLDcsNjYsMTIxLDExNiwxMDEsMTE1LDczLDc5LDkwLDgsMTE0LDEwMSw5NywKKyAgICAxMDAsMTA4LDEwNSwxMTAsMTAxLDkwLDE1LDEwMCwxMDEsMTE2LDEwMSw5OSwxMTYsOTUsMTAxLDExMCwKKyAgICA5OSwxMTEsMTAwLDEwNSwxMTAsMTAzLDkwLDI1LDczLDExMCw5OSwxMTQsMTAxLDEwOSwxMDEsMTEwLAorICAgIDExNiw5NywxMDgsNzgsMTAxLDExOSwxMDgsMTA1LDExMCwxMDEsNjgsMTAxLDk5LDExMSwxMDAsMTAxLAorICAgIDExNCwyMTgsNiwxMDAsMTAxLDk5LDExMSwxMDAsMTAxLDQxLDUsMjE4LDEyLDExNSwxMTEsMTE3LAorICAgIDExNCw5OSwxMDEsOTUsOTgsMTIxLDExNiwxMDEsMTE1LDExNCwxOTgsMCwwLDAsOTAsMjEsCisgICAgMTE1LDExMSwxMTcsMTE0LDk5LDEwMSw5NSw5OCwxMjEsMTE2LDEwMSwxMTUsOTUsMTE0LDEwMSw5NywKKyAgICAxMDAsMTA4LDEwNSwxMTAsMTAxLDIxOCw4LDEwMSwxMTAsOTksMTExLDEwMCwxMDUsMTEwLDEwMyw5MCwKKyAgICAxNSwxMTAsMTAxLDExOSwxMDgsMTA1LDExMCwxMDEsOTUsMTAwLDEwMSw5OSwxMTEsMTAwLDEwMSwxMTQsCisgICAgMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsMjE4LAorICAgIDEzLDEwMCwxMDEsOTksMTExLDEwMCwxMDEsOTUsMTE1LDExMSwxMTcsMTE0LDk5LDEwMSwxNjUsMiwKKyAgICAwLDAsMTE1LDEwLDAsMCwwLDAsNSwxMiwxLDE4LDEsMTUsMSwxOCwKKyAgICAxLDExNCwyMDIsMCwwLDAsOTksMSwwLDAsMCwwLDAsMCwwLDUsCisgICAgMCwwLDAsMzUsMCwwLDAsNjcsMCwwLDAsMTE1LDYsMSwwLDAsCisgICAgMTE2LDAsMCwxMjQsMCwwLDEwMCwxLDAsMTAwLDAsMCwxMzEsMywwLDEyNSwKKyAgICAxLDAsMTE2LDEsMCwxMjQsMSwwLDEwMCwyLDAsMTMxLDIsMCwxMTQsNzEsCisgICAgMCwxMjEsMTcsMCwxMjQsMSwwLDEwNiwyLDAsMTI0LDAsMCwxMzEsMSwwLAorICAgIDgzLDg3LDExMCwxOCwwLDQsMTE2LDMsMCwxMDcsMTAsMCwxMTQsNzAsMCwxLAorICAgIDEsMSw4OSwxMTAsMSwwLDg4LDEyMSwxMywwLDEyNCwwLDAsMTA2LDQsMCwKKyAgICAxMjUsMiwwLDg3LDExMCwxOCwwLDQsMTE2LDUsMCwxMDcsMTAsMCwxMTQsMTA0LAorICAgIDAsMSwxLDEsODksMTEwLDIzLDAsODgsMTI0LDIsMCwxMDAsMCwwLDEwNywKKyAgICA5LDAsMTE0LDEyNywwLDExNiw2LDAsMTI0LDIsMCwxMzEsMSwwLDgzLDEyMSwKKyAgICAxMywwLDEyNCwwLDAsMTA2LDcsMCwxMjUsMywwLDg3LDExMCwyNCwwLDQsCisgICAgMTE2LDUsMCwxMDcsMTAsMCwxMTQsMTY2LDAsMSwxLDEsMTAwLDMsMCwxMjUsCisgICAgMywwLDg5LDExMCwxLDAsODgsMTIxLDEzLDAsMTI0LDAsMCwxMDYsOCwwLAorICAgIDEyNSw0LDAsODcsMTEwLDU5LDAsNCwxMTYsNSwwLDEwNywxMCwwLDExNCwyNDEsCisgICAgMCwxLDEsMSwxMjQsMSwwLDEwMCwwLDAsMTA3LDgsMCwxMTQsMjIxLDAsCisgICAgMTAwLDQsMCwxMDYsOSwwLDEyNCwzLDAsMTMxLDEsMCw4MywxMDAsNSwwLAorICAgIDEwNiw5LDAsMTI0LDMsMCwxMjQsMSwwLDEzMSwyLDAsODMsODksMTEwLDE3LAorICAgIDAsODgsMTAwLDYsMCwxMDYsOSwwLDEyNCwzLDAsMTI0LDQsMCwxMzEsMiwKKyAgICAwLDgzLDEwMCwwLDAsODMsNDEsNyw3OCwyMTgsMTAsOTUsOTUsMTA4LDExMSw5NywKKyAgICAxMDAsMTAxLDExNCw5NSw5NSwyMTgsMTEsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsOTUsMTE0LDEwMSwKKyAgICAxMTIsMTE0LDI1MCwxLDYzLDEyMiwxMyw2MCwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwzMiwxMjMsCisgICAgMzMsMTE0LDEyNSw2MiwxMjIsMjAsNjAsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMzIsMTIzLDMzLAorICAgIDExNCwxMjUsMzIsNDAsMTIzLDMzLDExNCwxMjUsNDEsNjIsMTIyLDIzLDYwLDEwOSwxMTEsMTAwLAorICAgIDExNywxMDgsMTAxLDMyLDEyMywzMywxMTQsMTI1LDMyLDEwMiwxMTQsMTExLDEwOSwzMiwxMjMsMzMsCisgICAgMTE0LDEyNSw2Miw0MSwxMCwxMTQsNjIsMCwwLDAsMTE0LDYwLDAsMCwwLDExNCwKKyAgICAyMDQsMCwwLDAsMjE4LDksNjksMTIwLDk5LDEwMSwxMTIsMTE2LDEwNSwxMTEsMTEwLDIxOCwKKyAgICA4LDk1LDk1LDExNSwxMTIsMTAxLDk5LDk1LDk1LDIxOCwxNCw2NSwxMTYsMTE2LDExNCwxMDUsCisgICAgOTgsMTE3LDExNiwxMDEsNjksMTE0LDExNCwxMTEsMTE0LDIxOCwyMiw5NSwxMDksMTExLDEwMCwxMTcsCisgICAgMTA4LDEwMSw5NSwxMTQsMTAxLDExMiwxMTQsOTUsMTAyLDExNCwxMTEsMTA5LDk1LDExNSwxMTIsMTAxLAorICAgIDk5LDExNCw1NywwLDAsMCwyMTgsOCw5NSw5NSwxMDIsMTA1LDEwOCwxMDEsOTUsOTUsCisgICAgMTE0LDQ3LDAsMCwwLDQxLDUsMTE0LDE3OCwwLDAsMCwxMTQsMTcwLDAsMCwKKyAgICAwLDExNCwxNzcsMCwwLDAsMTE0LDY3LDAsMCwwLDExNCwxMzEsMCwwLDAsCisgICAgMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsMjE4LAorICAgIDEyLDk1LDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDk1LDExNCwxMDEsMTEyLDExNCwxNzksMiwwLAogICAgIDAsMTE1LDQ2LDAsMCwwLDAsMiwxOCwxLDE1LDQsMywxLDE3LDEsCi0gICAgMTMsMSw4LDEsMywxLDEzLDEsMTMsMSw1LDIsMTIsMSwxNiw0LAorICAgIDEzLDEsNSwxLDMsMSwxMywxLDEzLDEsNSwyLDEyLDEsMTAsNCwKICAgICAzLDEsMTMsMSwxMywxLDExLDEsMywxLDEzLDEsMTMsMSwxMiwxLAotICAgIDEzLDIsMjEsMiwxMTQsMjEyLDAsMCwwLDk5LDAsMCwwLDAsMCwwLAorICAgIDEzLDIsMjEsMiwxMTQsMjExLDAsMCwwLDk5LDAsMCwwLDAsMCwwLAogICAgIDAsMCwwLDAsMCwwLDIsMCwwLDAsNjQsMCwwLDAsMTE1LDUyLAogICAgIDAsMCwwLDEwMSwwLDAsOTAsMSwwLDEwMCwwLDAsOTAsMiwwLDEwMCwKICAgICAxLDAsMTAwLDIsMCwxMzIsMCwwLDkwLDMsMCwxMDAsMywwLDEwMCw0LApAQCAtMTI3MiwyMSArMTI3MCwyMSBAQAogICAgIDAsMCwwLDAsMCwyLDAsMCwwLDIsMCwwLDAsNjcsMCwwLAogICAgIDAsMTE1LDI1LDAsMCwwLDEyNCwxLDAsMTI0LDAsMCw5NSwwLDAsMTI0LAogICAgIDEsMCwxMDYsMSwwLDEyNCwwLDAsOTUsMiwwLDEwMCwwLDAsODMsNDEsCi0gICAgMSw3OCw0MSwzLDIxOCw3LDk1LDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDExNCwyMDksMCwKKyAgICAxLDc4LDQxLDMsMjE4LDcsOTUsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMTE0LDIwNywwLAogICAgIDAsMCwyMTgsNSw5NSwxMTUsMTEyLDEwMSw5OSw0MSwyLDExNCw3MSwwLDAsMCwKLSAgICAxMTQsMTgwLDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCwKLSAgICA1LDAsMCwwLDExNCw3MiwwLDAsMCwyMTYsMiwwLDAsMTE1LDQsMCwKKyAgICAxMTQsMTc4LDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCwKKyAgICA1LDAsMCwwLDExNCw3MiwwLDAsMCwyMTcsMiwwLDAsMTE1LDQsMCwKICAgICAwLDAsMCwxLDksMSwxMjIsMjYsOTUsMTA1LDExMCwxMTUsMTE2LDk3LDEwOCwxMDgsCiAgICAgMTAxLDEwMCw5NSwxMTUsOTcsMTAyLDEwMSwxMDgsMTIxLDQ2LDk1LDk1LDEwNSwxMTAsMTA1LDExNiwKICAgICA5NSw5NSw5OSwxLDAsMCwwLDAsMCwwLDAsMSwwLDAsMCwzLAogICAgIDAsMCwwLDY3LDAsMCwwLDExNSwzOCwwLDAsMCwxMDAsMSwwLDEyNCwKICAgICAwLDAsMTA2LDAsMCw5NSwxLDAsMTI0LDAsMCwxMDYsMiwwLDExNiwzLAogICAgIDAsMTA2LDQsMCwxMjQsMCwwLDEwNiwwLDAsMTA2LDUsMCw2MCwxMDAsMCwKLSAgICAwLDgzLDQxLDIsNzgsODQsNDEsNiwxMTQsMjE1LDAsMCwwLDIxOCwxMyw5NSwKLSAgICAxMDUsMTEwLDEwNSwxMTYsMTA1LDk3LDEwOCwxMDUsMTIyLDEwNSwxMTAsMTAzLDExNCwyMTQsMCwwLAorICAgIDAsODMsNDEsMiw3OCw4NCw0MSw2LDExNCwyMTQsMCwwLDAsMjE4LDEzLDk1LAorICAgIDEwNSwxMTAsMTA1LDExNiwxMDUsOTcsMTA4LDEwNSwxMjIsMTA1LDExMCwxMDMsMTE0LDIxMywwLDAsCiAgICAgMCwxMTQsNywwLDAsMCwxMTQsNzMsMCwwLDAsMTE0LDY3LDAsMCwwLAogICAgIDQxLDEsMTE0LDcxLDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwKLSAgICAwLDExNCw1LDAsMCwwLDExNCw3NSwwLDAsMCwyMjAsMiwwLDAsMTE1LAorICAgIDAsMTE0LDUsMCwwLDAsMTE0LDc1LDAsMCwwLDIyMSwyLDAsMCwxMTUsCiAgICAgNCwwLDAsMCwwLDQsMTIsMSwxMjIsMjcsOTUsMTA1LDExMCwxMTUsMTE2LDk3LAogICAgIDEwOCwxMDgsMTAxLDEwMCw5NSwxMTUsOTcsMTAyLDEwMSwxMDgsMTIxLDQ2LDk1LDk1LDEwMSwxMTAsCiAgICAgMTE2LDEwMSwxMTQsOTUsOTUsOTksMSwwLDAsMCwwLDAsMCwwLDMsMCwKQEAgLTEzMDQsMjUgKzEzMDIsMjUgQEAKICAgICAwLDEwMCwwLDAsMTA3LDksMCw4NiwxLDExMywzLDAsMTAwLDAsMCw4MywKICAgICA0MSwxLDc4LDExNCw0LDAsMCwwLDQxLDIsMTE0LDIyLDAsMCwwLDExNCwKICAgICA3NiwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwKLSAgICAwLDAsMCwxMTQsNzcsMCwwLDAsMjMwLDIsMCwwLDExNSwyLDAsMCwKKyAgICAwLDAsMCwxMTQsNzcsMCwwLDAsMjMxLDIsMCwwLDExNSwyLDAsMCwKICAgICAwLDYsMCwxMjIsNDUsOTUsMTA1LDExMCwxMTUsMTE2LDk3LDEwOCwxMDgsMTAxLDEwMCw5NSwKICAgICAxMTUsOTcsMTAyLDEwMSwxMDgsMTIxLDQ2LDk1LDk1LDEwMSwxMjAsMTA1LDExNiw5NSw5NSw0NiwKICAgICA2MCwxMDgsMTExLDk5LDk3LDEwOCwxMTUsNjIsNDYsNjAsMTAzLDEwMSwxMTAsMTAxLDEyMCwxMTIsCiAgICAgMTE0LDYyLDEyMiwxOCwxMDUsMTA5LDExMiwxMTEsMTE0LDExNiwzMiwxMjMsMzMsMTE0LDEyNSwzMiwKLSAgICAzNSwzMiwxMjMsMzMsMTE0LDEyNSw3MCw0MSw5LDExNCwyMTUsMCwwLDAsMTE0LDc4LAorICAgIDM1LDMyLDEyMywzMywxMTQsMTI1LDcwLDQxLDksMTE0LDIxNCwwLDAsMCwxMTQsNzgsCiAgICAgMCwwLDAsMTE0LDcsMCwwLDAsMTE0LDczLDAsMCwwLDExNCw2NywwLAogICAgIDAsMCwxMTQsNzksMCwwLDAsMTE0LDE1MywwLDAsMCwxMTQsMTcwLDAsMCwKLSAgICAwLDExNCwyMTYsMCwwLDAsNDEsMywxMTQsNzEsMCwwLDAsMTE0LDgwLDAsCi0gICAgMCwwLDExNCwxNzgsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLAotICAgIDAsMTE0LDUsMCwwLDAsMTE0LDgxLDAsMCwwLDIyNywyLDAsMCwxMTUsCisgICAgMCwxMTQsMjE1LDAsMCwwLDQxLDMsMTE0LDcxLDAsMCwwLDExNCw4MCwwLAorICAgIDAsMCwxMTQsMTc3LDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwKKyAgICAwLDExNCw1LDAsMCwwLDExNCw4MSwwLDAsMCwyMjgsMiwwLDAsMTE1LAogICAgIDE4LDAsMCwwLDAsMSwzLDEsOSwxLDI1LDEsMywxLDE3LDEsCiAgICAgMTMsMSw4LDIsMjYsMiwxMjIsMjYsOTUsMTA1LDExMCwxMTUsMTE2LDk3LDEwOCwxMDgsCiAgICAgMTAxLDEwMCw5NSwxMTUsOTcsMTAyLDEwMSwxMDgsMTIxLDQ2LDk1LDk1LDEwMSwxMjAsMTA1LDExNiwKICAgICA5NSw5NSw3OCw0MSw2LDExNCw1NywwLDAsMCwxMTQsNTYsMCwwLDAsMTE0LAogICAgIDU4LDAsMCwwLDExNCw3MiwwLDAsMCwxMTQsNzUsMCwwLDAsMTE0LDgxLAogICAgIDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsCi0gICAgMCwwLDExNCw1LDAsMCwwLDExNCwyMTMsMCwwLDAsMjE0LDIsMCwwLAotICAgIDExNSw2LDAsMCwwLDEyLDIsMTIsNCwxMiw3LDExNCwyMTMsMCwwLDAsCisgICAgMCwwLDExNCw1LDAsMCwwLDExNCwyMTIsMCwwLDAsMjE1LDIsMCwwLAorICAgIDExNSw2LDAsMCwwLDEyLDIsMTIsNCwxMiw3LDExNCwyMTIsMCwwLDAsCiAgICAgOTksMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsOCwwLDAsCiAgICAgMCw2NCwwLDAsMCwxMTUsMTcyLDAsMCwwLDEwMSwwLDAsOTAsMSwwLAogICAgIDEwMCwwLDAsOTAsMiwwLDEwMCwxLDAsOTAsMywwLDEwMCwyLDAsMTAwLApAQCAtMTQzOSwyMzE5ICsxNDM3LDIyNDQgQEAKICAgICAxMDMsMCwwLDExMCwzLDAsMTAwLDAsMCwxMjQsMCwwLDk1LDQsMCwxMDAsCiAgICAgMSwwLDEyNCwwLDAsOTUsNSwwLDEwMCwwLDAsMTI0LDAsMCw5NSw2LAogICAgIDAsMTAwLDAsMCw4Myw0MSwyLDc4LDcwLDQxLDcsMTE0LDY3LDAsMCwwLAotICAgIDExNCwxNzAsMCwwLDAsMTE0LDIxOCwwLDAsMCwxMTQsMjE5LDAsMCwwLDIxOCwKKyAgICAxMTQsMTcwLDAsMCwwLDExNCwyMTcsMCwwLDAsMTE0LDIxOCwwLDAsMCwyMTgsCiAgICAgMjYsMTE1LDExNyw5OCwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSw5NSwxMTUsMTAxLDk3LDExNCw5OSwKICAgICAxMDQsOTUsMTA4LDExMSw5OSw5NywxMTYsMTA1LDExMSwxMTAsMTE1LDIxOCwxMyw5NSwxMTUsMTAxLAogICAgIDExNiw5NSwxMDIsMTA1LDEwOCwxMDEsOTcsMTE2LDExNiwxMTQsMjE4LDcsOTUsOTksOTcsOTksCiAgICAgMTA0LDEwMSwxMDAsNDEsNiwxMTQsNzEsMCwwLDAsMTE0LDY3LDAsMCwwLDExNCwKLSAgICAxNzAsMCwwLDAsMTE0LDIxOCwwLDAsMCwxMTQsMjE5LDAsMCwwLDExNCwyMjAsCisgICAgMTcwLDAsMCwwLDExNCwyMTcsMCwwLDAsMTE0LDIxOCwwLDAsMCwxMTQsMjE5LAogICAgIDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsCi0gICAgMCwwLDExNCw3MiwwLDAsMCwyMiwzLDAsMCwxMTUsMTQsMCwwLDAsCisgICAgMCwwLDExNCw3MiwwLDAsMCwyMywzLDAsMCwxMTUsMTQsMCwwLDAsCiAgICAgMCwyLDksMSw5LDEsOSwxLDksMSwyMSwzLDksMSwxMjIsMTksCiAgICAgNzcsMTExLDEwMCwxMTcsMTA4LDEwMSw4MywxMTIsMTAxLDk5LDQ2LDk1LDk1LDEwNSwxMTAsMTA1LAogICAgIDExNiw5NSw5NSw5OSwxLDAsMCwwLDAsMCwwLDAsMiwwLDAsMCwKLSAgICA0LDAsMCwwLDY3LDAsMCwwLDExNSwxNTMsMCwwLDAsMTAwLDEsMCwKKyAgICA0LDAsMCwwLDY3LDAsMCwwLDExNSwxNDcsMCwwLDAsMTAwLDEsMCwKICAgICAxMDYsMCwwLDEyNCwwLDAsMTA2LDEsMCwxMzEsMSwwLDEwMCwyLDAsMTA2LAogICAgIDAsMCwxMjQsMCwwLDEwNiwyLDAsMTMxLDEsMCwxMDMsMiwwLDEyNSwxLAotICAgIDAsMTI0LDAsMCwxMDYsMywwLDEwMCwwLDAsMTA3LDksMCwxMTQsNzksMCwKKyAgICAwLDEyNCwwLDAsMTA2LDMsMCwxMDAsMCwwLDEwNyw5LDAsMTE0LDc2LDAsCiAgICAgMTI0LDEsMCwxMDYsNCwwLDEwMCwzLDAsMTA2LDAsMCwxMjQsMCwwLDEwNiwKLSAgICAzLDAsMTMxLDEsMCwxMzEsMSwwLDEsMTEwLDAsMCwxMjQsMCwwLDEwNiwKLSAgICA1LDAsMTAwLDAsMCwxMDcsOSwwLDExNCwxMjIsMCwxMjQsMSwwLDEwNiw0LAotICAgIDAsMTAwLDQsMCwxMDYsMCwwLDEyNCwwLDAsMTA2LDUsMCwxMzEsMSwwLAotICAgIDEzMSwxLDAsMSwxMTAsMCwwLDEwMCw1LDAsMTA2LDAsMCwxMjQsMCwwLAotICAgIDEwNiw2LDAsMTA2LDcsMCwxMDAsNiwwLDEwNiw4LDAsMTI0LDEsMCwxMzEsCi0gICAgMSwwLDEzMSwyLDAsODMsNDEsNyw3OCwxMjIsOSwxMTAsOTcsMTA5LDEwMSw2MSwKLSAgICAxMjMsMzMsMTE0LDEyNSwxMjIsMTEsMTA4LDExMSw5NywxMDAsMTAxLDExNCw2MSwxMjMsMzMsMTE0LAotICAgIDEyNSwxMjIsMTEsMTExLDExNCwxMDUsMTAzLDEwNSwxMTAsNjEsMTIzLDMzLDExNCwxMjUsMTIyLDI5LAotICAgIDExNSwxMTcsOTgsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsOTUsMTE1LDEwMSw5NywxMTQsOTksMTA0LAotICAgIDk1LDEwOCwxMTEsOTksOTcsMTE2LDEwNSwxMTEsMTEwLDExNSw2MSwxMjMsMTI1LDEyMiw2LDEyMywKLSAgICAxMjUsNDAsMTIzLDEyNSw0MSwxMjIsMiw0NCwzMiw0MSw5LDExNCw0NywwLDAsMCwKLSAgICAxMTQsNjcsMCwwLDAsMTE0LDE3MCwwLDAsMCwxMTQsMjE4LDAsMCwwLDIxOCwKLSAgICA2LDk3LDExMiwxMTIsMTAxLDExMCwxMDAsMTE0LDIyMSwwLDAsMCwyMTgsOSw5NSw5NSwKLSAgICA5OSwxMDgsOTcsMTE1LDExNSw5NSw5NSwxMTQsNTcsMCwwLDAsMTE0LDI2LDAsMCwKLSAgICAwLDQxLDIsMTE0LDcxLDAsMCwwLDExNCw4MCwwLDAsMCwxMTQsNCwwLAotICAgIDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsMTAxLDAsMCwKLSAgICAwLDM0LDMsMCwwLDExNSwxNiwwLDAsMCwwLDEsMTUsMSwyMSwxLAotICAgIDE1LDEsMjgsMSwxNSwxLDEyLDEsMTYsMSwxMjIsMTksNzcsMTExLDEwMCwxMTcsCi0gICAgMTA4LDEwMSw4MywxMTIsMTAxLDk5LDQ2LDk1LDk1LDExNCwxMDEsMTEyLDExNCw5NSw5NSw5OSwKLSAgICAyLDAsMCwwLDAsMCwwLDAsMywwLDAsMCwxMSwwLDAsMCwKLSAgICA2NywwLDAsMCwxMTUsMTQ1LDAsMCwwLDEyNCwwLDAsMTA2LDAsMCwxMjUsCi0gICAgMiwwLDEyMSwxMDcsMCwxMjQsMCwwLDEwNiwxLDAsMTI0LDEsMCwxMDYsMSwKLSAgICAwLDEwNywyLDAsMTExLDExNCwwLDEyNCwwLDAsMTA2LDIsMCwxMjQsMSwwLAotICAgIDEwNiwyLDAsMTA3LDIsMCwxMTEsMTE0LDAsMTI0LDAsMCwxMDYsMywwLDEyNCwKLSAgICAxLDAsMTA2LDMsMCwxMDcsMiwwLDExMSwxMTQsMCwxMjQsMiwwLDEyNCwxLAotICAgIDAsMTA2LDAsMCwxMDcsMiwwLDExMSwxMTQsMCwxMjQsMCwwLDEwNiw0LDAsCi0gICAgMTI0LDEsMCwxMDYsNCwwLDEwNywyLDAsMTExLDExNCwwLDEyNCwwLDAsMTA2LAotICAgIDUsMCwxMjQsMSwwLDEwNiw1LDAsMTA3LDIsMCw4Myw4NywxMTAsMjIsMCwKLSAgICA0LDExNiw2LDAsMTA3LDEwLDAsMTE0LDE0MCwwLDEsMSwxLDEwMCwxLDAsCi0gICAgODMsODksMTEwLDEsMCw4OCwxMDAsMCwwLDgzLDQxLDIsNzgsNzAsNDEsNywKLSAgICAxMTQsMjIxLDAsMCwwLDExNCw2NywwLDAsMCwxMTQsMTcwLDAsMCwwLDExNCwKLSAgICAyMTgsMCwwLDAsMjE4LDYsOTksOTcsOTksMTA0LDEwMSwxMDAsMjE4LDEyLDEwNCw5NywKLSAgICAxMTUsOTUsMTA4LDExMSw5OSw5NywxMTYsMTA1LDExMSwxMTAsMTE0LDIxMCwwLDAsMCw0MSwKLSAgICAzLDExNCw3MSwwLDAsMCwyMTgsNSwxMTEsMTE2LDEwNCwxMDEsMTE0LDIxOCw0LDExNSwKLSAgICAxMDksMTE1LDEwOCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLAotICAgIDAsMCwyMTgsNiw5NSw5NSwxMDEsMTEzLDk1LDk1LDQ0LDMsMCwwLDExNSwyMCwKLSAgICAwLDAsMCwwLDEsOSwxLDMsMSwxOCwxLDE4LDEsMTgsMSwxNSwKLSAgICAxLDE4LDEsMjAsMSwxMywxLDEyMiwxNyw3NywxMTEsMTAwLDExNywxMDgsMTAxLDgzLAotICAgIDExMiwxMDEsOTksNDYsOTUsOTUsMTAxLDExMyw5NSw5NSw5OSwxLDAsMCwwLDAsCi0gICAgMCwwLDAsMiwwLDAsMCwxMSwwLDAsMCw2NywwLDAsMCwxMTUsCi0gICAgMTU4LDAsMCwwLDEyNCwwLDAsMTA2LDAsMCwxMDAsMCwwLDEwNyw4LDAsCi0gICAgMTE0LDE1MSwwLDEyNCwwLDAsMTA2LDEsMCwxMDAsMCwwLDEwNyw5LDAsMTE0LAotICAgIDE1MSwwLDEyNCwwLDAsMTA2LDIsMCwxMTQsMTUxLDAsMTI0LDAsMCwxMDYsMSwKLSAgICAwLDEyNSwxLDAsMTI0LDEsMCwxMDYsMywwLDExNiw0LDAsMTE2LDUsMCwKLSAgICAxMzEsMSwwLDEzMSwxLDAsMTE0LDExMiwwLDEyMSwxOSwwLDExNiw2LDAsMTI0LAotICAgIDEsMCwxMzEsMSwwLDEyNCwwLDAsOTUsMCwwLDg3LDExMywxNDUsMCw0LAotICAgIDExNiw3LDAsMTA3LDEwLDAsMTE0LDEwOCwwLDEsMSwxLDg5LDExMywxNDUsMCwKLSAgICA4OCwxMTMsMTQ4LDAsMTI0LDEsMCwxMDYsMywwLDExNiw0LDAsMTE2LDgsMCwKLSAgICAxMzEsMSwwLDEzMSwxLDAsMTE0LDE0OCwwLDEyNCwxLDAsMTI0LDAsMCw5NSwKLSAgICAwLDAsMTEzLDE0OCwwLDExMywxNTEsMCwxMTAsMCwwLDEyNCwwLDAsMTA2LDAsCi0gICAgMCw4Myw0MSwxLDc4LDQxLDksMTE0LDIyMywwLDAsMCwxMTQsMjE4LDAsMCwKLSAgICAwLDExNCwyMjIsMCwwLDAsMjE4LDgsMTAxLDExMCwxMDAsMTE1LDExOSwxMDUsMTE2LDEwNCwKLSAgICAyMTgsNSwxMTYsMTE3LDExMiwxMDgsMTAxLDExNCwxMzUsMCwwLDAsMTE0LDEzMiwwLDAsCi0gICAgMCwxMTQsMTIzLDAsMCwwLDIxOCwxNyw2Niw4OSw4NCw2OSw2Nyw3OSw2OCw2OSwKLSAgICA5NSw4Myw4NSw3MCw3MCw3Myw4OCw2OSw4Myw0MSwyLDExNCw3MSwwLDAsMCwKLSAgICAxMTQsMTMxLDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCwKLSAgICA1LDAsMCwwLDExNCwyMjYsMCwwLDAsNTYsMywwLDAsMTE1LDIyLDAsCi0gICAgMCwwLDAsMiwxNSwxLDI0LDEsOSwxLDIxLDEsMywxLDE5LDEsCi0gICAgMTMsMSw4LDEsMjEsMSwxOCwxLDEyMiwxNyw3NywxMTEsMTAwLDExNywxMDgsMTAxLAotICAgIDgzLDExMiwxMDEsOTksNDYsOTksOTcsOTksMTA0LDEwMSwxMDAsOTksMiwwLDAsMCwKLSAgICAwLDAsMCwwLDIsMCwwLDAsMiwwLDAsMCw2NywwLDAsMCwKLSAgICAxMTUsMTMsMCwwLDAsMTI0LDEsMCwxMjQsMCwwLDk1LDAsMCwxMDAsMCwKLSAgICAwLDgzLDQxLDEsNzgsNDEsMSwxMTQsMjIzLDAsMCwwLDQxLDIsMTE0LDcxLAotICAgIDAsMCwwLDExNCwyMjYsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwKLSAgICAwLDAsMTE0LDUsMCwwLDAsMTE0LDIyNiwwLDAsMCw3MCwzLDAsMCwKLSAgICAxMTUsMiwwLDAsMCwwLDIsOTksMSwwLDAsMCwwLDAsMCwwLAotICAgIDEsMCwwLDAsMiwwLDAsMCw2NywwLDAsMCwxMTUsNDYsMCwwLAotICAgIDAsMTI0LDAsMCwxMDYsMCwwLDEwMCwxLDAsMTA3LDgsMCwxMTQsMzUsMCwKLSAgICAxMjQsMCwwLDEwNiwxLDAsMTA2LDIsMCwxMDAsMiwwLDEzMSwxLDAsMTAwLAotICAgIDMsMCwyNSw4MywxMjQsMCwwLDEwNiwxLDAsODMsMTAwLDEsMCw4Myw0MSwKLSAgICA0LDEyMiwzMiw4NCwxMDQsMTAxLDMyLDExMCw5NywxMDksMTAxLDMyLDExMSwxMDIsMzIsMTE2LAotICAgIDEwNCwxMDEsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMzksMTE1LDMyLDExMiw5NywxMTQsMTAxLAotICAgIDExMCwxMTYsNDYsNzgsMTE0LDExNiwwLDAsMCwxMTQsODQsMCwwLDAsNDEsMywKLSAgICAxMTQsMjIxLDAsMCwwLDExNCw2NywwLDAsMCwxMTQsMzIsMCwwLDAsNDEsCi0gICAgMSwxMTQsNzEsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsCi0gICAgMTE0LDUsMCwwLDAsMjE4LDYsMTEyLDk3LDExNCwxMDEsMTEwLDExNiw3NCwzLDAsCi0gICAgMCwxMTUsNiwwLDAsMCwwLDMsMTUsMSwyMCwyLDEyMiwxNyw3NywxMTEsCi0gICAgMTAwLDExNywxMDgsMTAxLDgzLDExMiwxMDEsOTksNDYsMTEyLDk3LDExNCwxMDEsMTEwLDExNiw5OSwKLSAgICAxLDAsMCwwLDAsMCwwLDAsMSwwLDAsMCwxLDAsMCwwLAotICAgIDY3LDAsMCwwLDExNSw3LDAsMCwwLDEyNCwwLDAsMTA2LDAsMCw4MywKLSAgICA0MSwxLDc4LDQxLDEsMTE0LDIyMiwwLDAsMCw0MSwxLDExNCw3MSwwLDAsCi0gICAgMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwKLSAgICAxMTQsMjI3LDAsMCwwLDgyLDMsMCwwLDExNSwyLDAsMCwwLDAsMiwKLSAgICAxMjIsMjMsNzcsMTExLDEwMCwxMTcsMTA4LDEwMSw4MywxMTIsMTAxLDk5LDQ2LDEwNCw5NywxMTUsCi0gICAgOTUsMTA4LDExMSw5OSw5NywxMTYsMTA1LDExMSwxMTAsOTksMiwwLDAsMCwwLDAsCi0gICAgMCwwLDIsMCwwLDAsMiwwLDAsMCw2NywwLDAsMCwxMTUsMTksCi0gICAgMCwwLDAsMTE2LDAsMCwxMjQsMSwwLDEzMSwxLDAsMTI0LDAsMCw5NSwKLSAgICAxLDAsMTAwLDAsMCw4Myw0MSwxLDc4LDQxLDIsMjE4LDQsOTgsMTExLDExMSwKLSAgICAxMDgsMTE0LDIyMiwwLDAsMCw0MSwyLDExNCw3MSwwLDAsMCwyMTgsNSwxMTgsCi0gICAgOTcsMTA4LDExNywxMDEsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsCi0gICAgMCwwLDAsMTE0LDIyNywwLDAsMCw4NiwzLDAsMCwxMTUsMiwwLDAsCi0gICAgMCwwLDIsNDEsMTIsMTE0LDU3LDAsMCwwLDExNCw1NiwwLDAsMCwxMTQsCi0gICAgNTgsMCwwLDAsMTE0LDU5LDAsMCwwLDExNCw3MiwwLDAsMCwxMTQsMTAxLAotICAgIDAsMCwwLDExNCwyMzAsMCwwLDAsMjE4LDgsMTEyLDExNCwxMTEsMTEyLDEwMSwxMTQsCi0gICAgMTE2LDEyMSwxMTQsMjI2LDAsMCwwLDIxOCw2LDExNSwxMDEsMTE2LDExNiwxMDEsMTE0LDExNCwKLSAgICAyMzQsMCwwLDAsMTE0LDIyNywwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwKLSAgICAwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsMjE3LDAsCi0gICAgMCwwLDI0MSwyLDAsMCwxMTUsMjAsMCwwLDAsMTIsMzUsNiwyLDE1LAotICAgIDEsMTUsMTEsMTIsMTAsMTIsMTIsMTgsMTQsMjEsNCwxOCw4LDE4LDQsMTE0LAotICAgIDIxNywwLDAsMCwxMTQsMjE4LDAsMCwwLDExNCwyMjAsMCwwLDAsOTksMiwKLSAgICAwLDAsMCwyLDAsMCwwLDUsMCwwLDAsMTUsMCwwLDAsNjcsCi0gICAgMCwwLDAsMTE1LDE5MywwLDAsMCwxMTYsMCwwLDEyNCwxLDAsMTAwLDEsCi0gICAgMCwxMzEsMiwwLDExNCw4MywwLDEyNCwzLDAsMTAwLDIsMCwxMDcsOCwwLAotICAgIDExNCw0MywwLDExNiwxLDAsMTI0LDAsMCwxMDAsMywwLDEyNCwxLDAsMTMxLAotICAgIDEsMSw4MywxMjQsMywwLDExNCw1NSwwLDEwMywwLDAsMTEwLDMsMCwxMDAsCi0gICAgMiwwLDEyNSw0LDAsMTE2LDEsMCwxMjQsMCwwLDEwMCwzLDAsMTI0LDEsCi0gICAgMCwxMDAsNCwwLDEyNCw0LDAsMTMxLDEsMiw4MywxMjQsMywwLDEwMCwyLAotICAgIDAsMTA3LDgsMCwxMTQsMTY4LDAsMTE2LDAsMCwxMjQsMSwwLDEwMCw1LDAsCi0gICAgMTMxLDIsMCwxMTQsMTU5LDAsMTIxLDE5LDAsMTI0LDEsMCwxMDYsMiwwLDEyNCwKLSAgICAwLDAsMTMxLDEsMCwxMjUsMywwLDg3LDExMywxNjUsMCw0LDExNiwzLDAsCi0gICAgMTA3LDEwLDAsMTE0LDE1NSwwLDEsMSwxLDEwMCwyLDAsMTI1LDMsMCw4OSwKLSAgICAxMTMsMTY1LDAsODgsMTEzLDE2OCwwLDEwMCw2LDAsMTI1LDMsMCwxMTAsMCwwLAotICAgIDExNiw0LDAsMTI0LDAsMCwxMjQsMSwwLDEwMCw3LDAsMTI0LDIsMCwxMDAsCi0gICAgNSwwLDEyNCwzLDAsMTMxLDIsMiw4Myw0MSw4LDEyMiw1Myw4MiwxMDEsMTE2LAotICAgIDExNywxMTQsMTEwLDMyLDk3LDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDMyLDExNSwxMTIsMTAxLAotICAgIDk5LDMyLDk4LDk3LDExNSwxMDEsMTAwLDMyLDExMSwxMTAsMzIsMTE4LDk3LDExNCwxMDUsMTExLAotICAgIDExNywxMTUsMzIsMTA4LDExMSw5NywxMDAsMTAxLDExNCwzMiwxMDksMTAxLDExNiwxMDQsMTExLDEwMCwKLSAgICAxMTUsNDYsMjE4LDEyLDEwMywxMDEsMTE2LDk1LDEwMiwxMDUsMTA4LDEwMSwxMTAsOTcsMTA5LDEwMSwKLSAgICA3OCwxMTQsMTcwLDAsMCwwLDExNCwyMjEsMCwwLDAsMTE0LDIyMCwwLDAsMCwKLSAgICA3MCwxMTQsMjE4LDAsMCwwLDQxLDUsMTE0LDYwLDAsMCwwLDIxOCwyMywxMTUsCi0gICAgMTEyLDEwMSw5OSw5NSwxMDIsMTE0LDExMSwxMDksOTUsMTAyLDEwNSwxMDgsMTAxLDk1LDEwOCwxMTEsCi0gICAgOTksOTcsMTE2LDEwNSwxMTEsMTEwLDExNCwyMjAsMCwwLDAsMTE0LDE1NCwwLDAsMCwKLSAgICAxMTQsMjE3LDAsMCwwLDQxLDUsMTE0LDY3LDAsMCwwLDExNCwxNzAsMCwwLAotICAgIDAsMTE0LDIxOCwwLDAsMCwxMTQsMjIwLDAsMCwwLDkwLDYsMTE1LDEwMSw5NywKLSAgICAxMTQsOTksMTA0LDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsCi0gICAgMCwwLDExNCwxNzQsMCwwLDAsOTEsMywwLDAsMTE1LDI4LDAsMCwwLAotICAgIDAsMiwxNSwxLDEyLDEsMTYsMSwxOCwxLDE1LDEsNywyLDEyLDEsCi0gICAgMTUsMSwzLDEsMTksMSwxMywxLDE0LDMsOSwyLDExNCwxNzQsMCwwLAotICAgIDAsMTE0LDE3MCwwLDAsMCwxMTQsMjIxLDAsMCwwLDk5LDIsMCwwLDAsCi0gICAgMiwwLDAsMCw5LDAsMCwwLDE5LDAsMCwwLDY3LDAsMCwwLAotICAgIDExNSwxMTAsMSwwLDAsMTI0LDEsMCwxMDAsMSwwLDEwNyw4LDAsMTE0LDc5LAotICAgIDAsMTAwLDIsMCwxMjUsMSwwLDExNiwwLDAsMTI0LDIsMCwxMDAsMywwLAotICAgIDEzMSwyLDAsMTE0LDc5LDAsMTIxLDE5LDAsMTI0LDIsMCwxMDYsMSwwLDEyNCwKLSAgICAwLDAsMTMxLDEsMCwxMjUsMSwwLDg3LDExMyw3NiwwLDQsMTE2LDIsMCwKLSAgICAxMDcsMTAsMCwxMTQsNzIsMCwxLDEsMSw4OSwxMTMsNzYsMCw4OCwxMTMsNzksCi0gICAgMCwxMTAsMCwwLDExNiwzLDAsMTI0LDAsMCwxMjQsMiwwLDEwMCw0LDAsCi0gICAgMTI0LDEsMCwxMzEsMiwxLDEyNSw0LDAsMTAwLDUsMCwxMjQsNCwwLDk1LAotICAgIDQsMCwxMjQsMiwwLDEwMCwxLDAsMTA3LDgsMCwxMTQsMjAzLDAsMTIwLDc5LAotICAgIDAsMTE2LDUsMCwxMzEsMCwwLDY4LDkzLDYxLDAsOTIsMiwwLDEyNSw1LAotICAgIDAsMTI1LDYsMCwxMjQsMSwwLDEwNiw2LDAsMTE2LDcsMCwxMjQsNiwwLAotICAgIDEzMSwxLDAsMTMxLDEsMCwxMTQsMTMxLDAsMTI0LDUsMCwxMjQsMCwwLDEyNCwKLSAgICAxLDAsMTMxLDIsMCwxMjUsMiwwLDEyNCwyLDAsMTI0LDQsMCw5NSw4LAotICAgIDAsODAsMTEzLDEzMSwwLDExMywxMzEsMCw4NywxMDAsMSwwLDgzLDExMCwwLDAsCi0gICAgMTI0LDMsMCwxMTYsOSwwLDEwNyw4LDAsMTE0LDM4LDEsMTE2LDAsMCwxMjQsCi0gICAgMiwwLDEwMCw2LDAsMTMxLDIsMCwxMTQsNDcsMSwxMjEsMTksMCwxMjQsMiwKLSAgICAwLDEwNiwxMCwwLDEyNCwwLDAsMTMxLDEsMCwxMjUsNywwLDg3LDExMCwxOCwKLSAgICAwLDQsMTE2LDIsMCwxMDcsMTAsMCwxMTQsMTMsMSwxLDEsMSw4OSwxMTMsCi0gICAgMzUsMSw4OCwxMjQsNywwLDExNCwzNSwxLDEwMywwLDAsMTI0LDQsMCw5NSwKLSAgICAxMSwwLDExMywzNSwxLDExMyw0NywxLDExMCw5LDAsMTI0LDMsMCwxMjQsNCwKLSAgICAwLDk1LDExLDAsMTI0LDQsMCwxMDYsMTEsMCwxMDMsMCwwLDEwNywyLDAsCi0gICAgMTE0LDEwNiwxLDEyNCwxLDAsMTE0LDEwNiwxLDExNiwxMiwwLDEyNCwxLDAsMTMxLAotICAgIDEsMCwxMDAsNywwLDI1LDEyNSw4LDAsMTI0LDQsMCwxMDYsMTEsMCwxMDYsCi0gICAgMTMsMCwxMjQsOCwwLDEzMSwxLDAsMSwxMTMsMTA2LDEsMTEwLDAsMCwxMjQsCi0gICAgNCwwLDgzLDQxLDgsOTcsNjEsMSwwLDAsODIsMTAxLDExNiwxMTcsMTE0LDExMCwKLSAgICAzMiw5NywzMiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwzMiwxMTUsMTEyLDEwMSw5OSwzMiw5OCwKLSAgICA5NywxMTUsMTAxLDEwMCwzMiwxMTEsMTEwLDMyLDk3LDMyLDEwMiwxMDUsMTA4LDEwMSwzMiwxMDgsCi0gICAgMTExLDk5LDk3LDExNiwxMDUsMTExLDExMCw0NiwxMCwxMCwzMiwzMiwzMiwzMiw4NCwxMTEsCi0gICAgMzIsMTA1LDExMCwxMDAsMTA1LDk5LDk3LDExNiwxMDEsMzIsMTE2LDEwNCw5NywxMTYsMzIsMTE2LAotICAgIDEwNCwxMDEsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMzIsMTA1LDExNSwzMiw5NywzMiwxMTIsCi0gICAgOTcsOTksMTA3LDk3LDEwMywxMDEsNDQsMzIsMTE1LDEwMSwxMTYsMTAsMzIsMzIsMzIsMzIsCi0gICAgMTE1LDExNyw5OCwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSw5NSwxMTUsMTAxLDk3LDExNCw5OSwxMDQsCi0gICAgOTUsMTA4LDExMSw5OSw5NywxMTYsMTA1LDExMSwxMTAsMTE1LDMyLDExNiwxMTEsMzIsOTcsMzIsCi0gICAgMTA4LDEwNSwxMTUsMTE2LDMyLDExMSwxMDIsMzIsMTAwLDEwNSwxMTQsMTAxLDk5LDExNiwxMTEsMTE0LAotICAgIDEyMSwzMiwxMTIsOTcsMTE2LDEwNCwxMTUsNDYsMzIsMzIsNjUsMTEwLDEwLDMyLDMyLDMyLAotICAgIDMyLDEwMSwxMDksMTEyLDExNiwxMjEsMzIsMTA4LDEwNSwxMTUsMTE2LDMyLDEwNSwxMTUsMzIsMTE1LAotICAgIDExNywxMDIsMTAyLDEwNSw5OSwxMDUsMTAxLDExMCwxMTYsNDQsMzIsMTE2LDEwNCwxMTEsMTE3LDEwMywKLSAgICAxMDQsMzIsMTA1LDExNiwxMTUsMzIsMTEwLDExMSwxMTYsMzIsMTExLDExNiwxMDQsMTAxLDExNCwxMTksCi0gICAgMTA1LDExNSwxMDEsMzIsMTE3LDExNSwxMDEsMTAyLDExNywxMDgsMzIsMTE2LDExMSwzMiwxMTYsMTA0LAotICAgIDEwMSwxMCwzMiwzMiwzMiwzMiwxMDUsMTA5LDExMiwxMTEsMTE0LDExNiwzMiwxMTUsMTIxLDExNSwKLSAgICAxMTYsMTAxLDEwOSw0NiwxMCwxMCwzMiwzMiwzMiwzMiw4NCwxMDQsMTAxLDMyLDEwOCwxMTEsCi0gICAgOTcsMTAwLDEwMSwxMTQsMzIsMTA5LDExNywxMTUsMTE2LDMyLDExNiw5NywxMDcsMTAxLDMyLDk3LAotICAgIDMyLDExNSwxMTIsMTAxLDk5LDMyLDk3LDExNSwzMiwxMDUsMTE2LDExNSwzMiwxMTEsMTEwLDEwOCwKLSAgICAxMjEsMzIsOTUsOTUsMTA1LDExMCwxMDUsMTE2LDk1LDk1LDQwLDQxLDMyLDk3LDExNCwxMDMsCi0gICAgNDYsMTAsMTAsMzIsMzIsMzIsMzIsNzgsMTIyLDksNjAsMTE3LDExMCwxMDcsMTEwLDExMSwKLSAgICAxMTksMTEwLDYyLDExNCwyMzksMCwwLDAsMTE0LDIxOCwwLDAsMCw4NCwxMTQsMjIwLAotICAgIDAsMCwwLDExNCw4NCwwLDAsMCw0MSwxNCwxMTQsNjAsMCwwLDAsMTE0LAotICAgIDIzOSwwLDAsMCwxMTQsMTU0LDAsMCwwLDExNCwyMTcsMCwwLDAsMTE0LDIyMiwKLSAgICAwLDAsMCwyMTgsMjcsOTUsMTAzLDEwMSwxMTYsOTUsMTE1LDExNywxMTIsMTEyLDExMSwxMTQsCi0gICAgMTE2LDEwMSwxMDAsOTUsMTAyLDEwNSwxMDgsMTAxLDk1LDEwOCwxMTEsOTcsMTAwLDEwMSwxMTQsMTE1LAotICAgIDExNCwyMzEsMCwwLDAsMTE0LDIzMiwwLDAsMCwxMTQsMTcwLDAsMCwwLDIxOCwKLSAgICA5LDk1LDgwLDc5LDgwLDg1LDc2LDY1LDg0LDY5LDExNCwyMjAsMCwwLDAsMTE0LAotICAgIDIyMSwwLDAsMCwxMTQsMzgsMCwwLDAsMTE0LDIyNCwwLDAsMCw0MSw5LAotICAgIDExNCw2NywwLDAsMCwyMTgsOCwxMDgsMTExLDk5LDk3LDExNiwxMDUsMTExLDExMCwxMTQsCi0gICAgMTcwLDAsMCwwLDExNCwyMjEsMCwwLDAsMTE0LDE3OCwwLDAsMCwyMTgsMTIsCi0gICAgMTA4LDExMSw5NywxMDAsMTAxLDExNCw5NSw5OSwxMDgsOTcsMTE1LDExNSwxMTQsMTI2LDAsMCwKLSAgICAwLDExNCwyMjAsMCwwLDAsOTAsNywxMDAsMTA1LDExNCwxMTAsOTcsMTA5LDEwMSwxMTQsCi0gICAgNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsMjQwLAotICAgIDAsMCwwLDExNiwzLDAsMCwxMTUsNjAsMCwwLDAsMCwxMiwxMiw0LAotICAgIDYsMSwxNSwyLDMsMSwxOSwxLDEzLDEsMTEsOCwyMSwxLDksMywKLSAgICAxMiwxLDIyLDEsMjEsMSwxNSwxLDksMSw4LDIsNywzLDEyLDIsCi0gICAgMTUsMSwzLDEsMTksMSwxMywxLDUsMiw2LDEsMTgsMiw5LDEsCi0gICAgMTUsMSw2LDEsMTYsMSwyMiwyLDExNCwyNDAsMCwwLDAsOTksMywwLAotICAgIDAsMCwwLDAsMCwwLDgsMCwwLDAsNTMsMCwwLDAsNjcsMCwKLSAgICAwLDAsMTE1LDEyNCwxLDAsMCwxMjEsMTMsMCwxMjQsMCwwLDEwNiwwLDAsCi0gICAgMTI1LDMsMCw4NywxMTAsMTgsMCw0LDExNiwxLDAsMTA3LDEwLDAsMTE0LDMzLAotICAgIDAsMSwxLDEsODksMTEwLDE3LDAsODgsMTI0LDMsMCwxMDAsMCwwLDEwNywKLSAgICA5LDAsMTE0LDUwLDAsMTI0LDMsMCw4MywxMjQsMCwwLDEwNiwyLDAsMTI1LAotICAgIDQsMCwxMjQsMSwwLDEwMCwwLDAsMTA3LDgsMCwxMTQsMTA4LDAsMTIxLDEzLAotICAgIDAsMTI0LDAsMCwxMDYsMywwLDEyNSwxLDAsODcsMTEzLDEwOCwwLDQsMTE2LAotICAgIDEsMCwxMDcsMTAsMCwxMTQsMTA0LDAsMSwxLDEsODksMTEzLDEwOCwwLDg4LAotICAgIDExMCwwLDAsMTIxLDEzLDAsMTI0LDAsMCwxMDYsNCwwLDEyNSw1LDAsODcsCi0gICAgMTEwLDI0LDAsNCwxMTYsMSwwLDEwNywxMCwwLDExNCwxNDcsMCwxLDEsMSwKLSAgICAxMDAsMCwwLDEyNSw1LDAsODksMTEwLDEsMCw4OCwxMjQsMiwwLDEwMCwwLAotICAgIDAsMTA3LDgsMCwxMTQsMjI0LDAsMTI0LDUsMCwxMDAsMCwwLDEwNyw4LDAsCi0gICAgMTE0LDIxNSwwLDEyMSwxMywwLDEyNCwxLDAsMTA2LDUsMCwxMjUsMiwwLDg3LAotICAgIDExMywyMjEsMCw0LDExNiwxLDAsMTA3LDEwLDAsMTE0LDIxMSwwLDEsMSwxLAotICAgIDEwMCwwLDAsMTI1LDIsMCw4OSwxMTMsMjIxLDAsODgsMTEzLDIyNCwwLDEyNCw1LAotICAgIDAsMTI1LDIsMCwxMTAsMCwwLDEyMSwxMywwLDEyNCwwLDAsMTA2LDYsMCwKLSAgICAxMjUsNiwwLDg3LDExMCwyNCwwLDQsMTE2LDEsMCwxMDcsMTAsMCwxMTQsNywKKyAgICAzLDAsMTMxLDEsMCwxMzEsMSwwLDEsMTI0LDAsMCwxMDYsNSwwLDEwMCwKKyAgICAwLDAsMTA3LDksMCwxMTQsMTE2LDAsMTI0LDEsMCwxMDYsNCwwLDEwMCw0LAorICAgIDAsMTA2LDAsMCwxMjQsMCwwLDEwNiw1LDAsMTMxLDEsMCwxMzEsMSwwLAorICAgIDEsMTAwLDUsMCwxMDYsMCwwLDEyNCwwLDAsMTA2LDYsMCwxMDYsNywwLAorICAgIDEwMCw2LDAsMTA2LDgsMCwxMjQsMSwwLDEzMSwxLDAsMTMxLDIsMCw4MywKKyAgICA0MSw3LDc4LDEyMiw5LDExMCw5NywxMDksMTAxLDYxLDEyMywzMywxMTQsMTI1LDEyMiwxMSwKKyAgICAxMDgsMTExLDk3LDEwMCwxMDEsMTE0LDYxLDEyMywzMywxMTQsMTI1LDEyMiwxMSwxMTEsMTE0LDEwNSwKKyAgICAxMDMsMTA1LDExMCw2MSwxMjMsMzMsMTE0LDEyNSwxMjIsMjksMTE1LDExNyw5OCwxMDksMTExLDEwMCwKKyAgICAxMTcsMTA4LDEwMSw5NSwxMTUsMTAxLDk3LDExNCw5OSwxMDQsOTUsMTA4LDExMSw5OSw5NywxMTYsCisgICAgMTA1LDExMSwxMTAsMTE1LDYxLDEyMywxMjUsMTIyLDYsMTIzLDEyNSw0MCwxMjMsMTI1LDQxLDEyMiwKKyAgICAyLDQ0LDMyLDQxLDksMTE0LDQ3LDAsMCwwLDExNCw2NywwLDAsMCwxMTQsCisgICAgMTcwLDAsMCwwLDExNCwyMTcsMCwwLDAsMjE4LDYsOTcsMTEyLDExMiwxMDEsMTEwLAorICAgIDEwMCwxMTQsMjIwLDAsMCwwLDIxOCw5LDk1LDk1LDk5LDEwOCw5NywxMTUsMTE1LDk1LAorICAgIDk1LDExNCw1NywwLDAsMCwxMTQsMjYsMCwwLDAsNDEsMiwxMTQsNzEsMCwKKyAgICAwLDAsMTE0LDgwLDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwKKyAgICAwLDExNCw1LDAsMCwwLDExNCwxMDEsMCwwLDAsMzUsMywwLDAsMTE1LAorICAgIDE2LDAsMCwwLDAsMSwxNSwxLDIxLDEsMTUsMSwyNSwxLDE1LDEsCisgICAgMTIsMSwxMywxLDEyMiwxOSw3NywxMTEsMTAwLDExNywxMDgsMTAxLDgzLDExMiwxMDEsOTksCisgICAgNDYsOTUsOTUsMTE0LDEwMSwxMTIsMTE0LDk1LDk1LDk5LDIsMCwwLDAsMCwwLAorICAgIDAsMCwzLDAsMCwwLDExLDAsMCwwLDY3LDAsMCwwLDExNSwxNDUsCisgICAgMCwwLDAsMTI0LDAsMCwxMDYsMCwwLDEyNSwyLDAsMTIxLDEwNywwLDEyNCwKKyAgICAwLDAsMTA2LDEsMCwxMjQsMSwwLDEwNiwxLDAsMTA3LDIsMCwxMTEsMTE0LAorICAgIDAsMTI0LDAsMCwxMDYsMiwwLDEyNCwxLDAsMTA2LDIsMCwxMDcsMiwwLAorICAgIDExMSwxMTQsMCwxMjQsMCwwLDEwNiwzLDAsMTI0LDEsMCwxMDYsMywwLDEwNywKKyAgICAyLDAsMTExLDExNCwwLDEyNCwyLDAsMTI0LDEsMCwxMDYsMCwwLDEwNywyLAorICAgIDAsMTExLDExNCwwLDEyNCwwLDAsMTA2LDQsMCwxMjQsMSwwLDEwNiw0LDAsCisgICAgMTA3LDIsMCwxMTEsMTE0LDAsMTI0LDAsMCwxMDYsNSwwLDEyNCwxLDAsMTA2LAorICAgIDUsMCwxMDcsMiwwLDgzLDg3LDExMCwyMiwwLDQsMTE2LDYsMCwxMDcsMTAsCisgICAgMCwxMTQsMTQwLDAsMSwxLDEsMTAwLDEsMCw4Myw4OSwxMTAsMSwwLDg4LAorICAgIDEwMCwwLDAsODMsNDEsMiw3OCw3MCw0MSw3LDExNCwyMjAsMCwwLDAsMTE0LAorICAgIDY3LDAsMCwwLDExNCwxNzAsMCwwLDAsMTE0LDIxNywwLDAsMCwyMTgsNiwKKyAgICA5OSw5Nyw5OSwxMDQsMTAxLDEwMCwyMTgsMTIsMTA0LDk3LDExNSw5NSwxMDgsMTExLDk5LDk3LAorICAgIDExNiwxMDUsMTExLDExMCwxMTQsMjA4LDAsMCwwLDQxLDMsMTE0LDcxLDAsMCwwLAorICAgIDIxOCw1LDExMSwxMTYsMTA0LDEwMSwxMTQsMjE4LDQsMTE1LDEwOSwxMTUsMTA4LDExNCw0LDAsCisgICAgMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDIxOCw2LDk1LDk1LAorICAgIDEwMSwxMTMsOTUsOTUsNDUsMywwLDAsMTE1LDIwLDAsMCwwLDAsMSw5LAorICAgIDEsMywxLDE4LDEsMTgsMSwxOCwxLDE1LDEsMTgsMSwyMCwxLDEzLAorICAgIDEsMTIyLDE3LDc3LDExMSwxMDAsMTE3LDEwOCwxMDEsODMsMTEyLDEwMSw5OSw0Niw5NSw5NSwKKyAgICAxMDEsMTEzLDk1LDk1LDk5LDEsMCwwLDAsMCwwLDAsMCwyLDAsMCwKKyAgICAwLDExLDAsMCwwLDY3LDAsMCwwLDExNSwxNDksMCwwLDAsMTI0LDAsCisgICAgMCwxMDYsMCwwLDEwMCwwLDAsMTA3LDgsMCwxMTQsMTQyLDAsMTI0LDAsMCwKKyAgICAxMDYsMSwwLDEwMCwwLDAsMTA3LDksMCwxMTQsMTQyLDAsMTI0LDAsMCwxMDYsCisgICAgMiwwLDExNCwxNDIsMCwxMjQsMCwwLDEwNiwxLDAsMTI1LDEsMCwxMjQsMSwKKyAgICAwLDEwNiwzLDAsMTE2LDQsMCwxMTYsNSwwLDEzMSwxLDAsMTMxLDEsMCwKKyAgICAxMTQsMTEyLDAsMTIxLDE5LDAsMTE2LDYsMCwxMjQsMSwwLDEzMSwxLDAsMTI0LAorICAgIDAsMCw5NSwwLDAsODcsMTEzLDE0MiwwLDQsMTE2LDcsMCwxMDcsMTAsMCwKKyAgICAxMTQsMTA4LDAsMSwxLDEsODksMTEzLDE0MiwwLDg4LDExMCwzMCwwLDEyNCwxLAorICAgIDAsMTA2LDMsMCwxMTYsNCwwLDExNiw4LDAsMTMxLDEsMCwxMzEsMSwwLAorICAgIDExNCwxNDIsMCwxMjQsMSwwLDEyNCwwLDAsOTUsMCwwLDEyNCwwLDAsMTA2LAorICAgIDAsMCw4Myw0MSwxLDc4LDQxLDksMTE0LDIyMiwwLDAsMCwxMTQsMjE3LDAsCisgICAgMCwwLDExNCwyMjEsMCwwLDAsMjE4LDgsMTAxLDExMCwxMDAsMTE1LDExOSwxMDUsMTE2LAorICAgIDEwNCwyMTgsNSwxMTYsMTE3LDExMiwxMDgsMTAxLDExNCwxMzUsMCwwLDAsMTE0LDEzMiwwLAorICAgIDAsMCwxMTQsMTIzLDAsMCwwLDIxOCwxNyw2Niw4OSw4NCw2OSw2Nyw3OSw2OCwKKyAgICA2OSw5NSw4Myw4NSw3MCw3MCw3Myw4OCw2OSw4Myw0MSwyLDExNCw3MSwwLDAsCisgICAgMCwxMTQsMTMxLDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLAorICAgIDExNCw1LDAsMCwwLDExNCwyMjUsMCwwLDAsNTcsMywwLDAsMTE1LDIyLAorICAgIDAsMCwwLDAsMiwxNSwxLDI0LDEsOSwxLDIxLDEsMywxLDE5LAorICAgIDEsMTMsMSw4LDEsMjEsMSw5LDEsMTIyLDE3LDc3LDExMSwxMDAsMTE3LDEwOCwKKyAgICAxMDEsODMsMTEyLDEwMSw5OSw0Niw5OSw5Nyw5OSwxMDQsMTAxLDEwMCw5OSwyLDAsMCwKKyAgICAwLDAsMCwwLDAsMiwwLDAsMCwyLDAsMCwwLDY3LDAsMCwKKyAgICAwLDExNSwxMywwLDAsMCwxMjQsMSwwLDEyNCwwLDAsOTUsMCwwLDEwMCwKKyAgICAwLDAsODMsNDEsMSw3OCw0MSwxLDExNCwyMjIsMCwwLDAsNDEsMiwxMTQsCisgICAgNzEsMCwwLDAsMTE0LDIyNSwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwKKyAgICAwLDAsMCwxMTQsNSwwLDAsMCwxMTQsMjI1LDAsMCwwLDcxLDMsMCwKKyAgICAwLDExNSwyLDAsMCwwLDAsMiw5OSwxLDAsMCwwLDAsMCwwLAorICAgIDAsMSwwLDAsMCwyLDAsMCwwLDY3LDAsMCwwLDExNSw0NiwwLAorICAgIDAsMCwxMjQsMCwwLDEwNiwwLDAsMTAwLDEsMCwxMDcsOCwwLDExNCwzNSwKKyAgICAwLDEyNCwwLDAsMTA2LDEsMCwxMDYsMiwwLDEwMCwyLDAsMTMxLDEsMCwKKyAgICAxMDAsMywwLDI1LDgzLDEyNCwwLDAsMTA2LDEsMCw4MywxMDAsMSwwLDgzLAorICAgIDQxLDQsMTIyLDMyLDg0LDEwNCwxMDEsMzIsMTEwLDk3LDEwOSwxMDEsMzIsMTExLDEwMiwzMiwKKyAgICAxMTYsMTA0LDEwMSwzMiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwzOSwxMTUsMzIsMTEyLDk3LDExNCwKKyAgICAxMDEsMTEwLDExNiw0Niw3OCwxMTQsMTE2LDAsMCwwLDExNCw4NCwwLDAsMCw0MSwKKyAgICAzLDExNCwyMjAsMCwwLDAsMTE0LDY3LDAsMCwwLDExNCwzMiwwLDAsMCwKKyAgICA0MSwxLDExNCw3MSwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsCisgICAgMCwxMTQsNSwwLDAsMCwyMTgsNiwxMTIsOTcsMTE0LDEwMSwxMTAsMTE2LDc1LDMsCisgICAgMCwwLDExNSw2LDAsMCwwLDAsMywxNSwxLDIwLDIsMTIyLDE3LDc3LAorICAgIDExMSwxMDAsMTE3LDEwOCwxMDEsODMsMTEyLDEwMSw5OSw0NiwxMTIsOTcsMTE0LDEwMSwxMTAsMTE2LAorICAgIDk5LDEsMCwwLDAsMCwwLDAsMCwxLDAsMCwwLDEsMCwwLAorICAgIDAsNjcsMCwwLDAsMTE1LDcsMCwwLDAsMTI0LDAsMCwxMDYsMCwwLAorICAgIDgzLDQxLDEsNzgsNDEsMSwxMTQsMjIxLDAsMCwwLDQxLDEsMTE0LDcxLDAsCisgICAgMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwKKyAgICAwLDExNCwyMjYsMCwwLDAsODMsMywwLDAsMTE1LDIsMCwwLDAsMCwKKyAgICAyLDEyMiwyMyw3NywxMTEsMTAwLDExNywxMDgsMTAxLDgzLDExMiwxMDEsOTksNDYsMTA0LDk3LAorICAgIDExNSw5NSwxMDgsMTExLDk5LDk3LDExNiwxMDUsMTExLDExMCw5OSwyLDAsMCwwLDAsCisgICAgMCwwLDAsMiwwLDAsMCwyLDAsMCwwLDY3LDAsMCwwLDExNSwKKyAgICAxOSwwLDAsMCwxMTYsMCwwLDEyNCwxLDAsMTMxLDEsMCwxMjQsMCwwLAorICAgIDk1LDEsMCwxMDAsMCwwLDgzLDQxLDEsNzgsNDEsMiwyMTgsNCw5OCwxMTEsCisgICAgMTExLDEwOCwxMTQsMjIxLDAsMCwwLDQxLDIsMTE0LDcxLDAsMCwwLDIxOCw1LAorICAgIDExOCw5NywxMDgsMTE3LDEwMSwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsCisgICAgNSwwLDAsMCwxMTQsMjI2LDAsMCwwLDg3LDMsMCwwLDExNSwyLDAsCisgICAgMCwwLDAsMiw0MSwxMiwxMTQsNTcsMCwwLDAsMTE0LDU2LDAsMCwwLAorICAgIDExNCw1OCwwLDAsMCwxMTQsNTksMCwwLDAsMTE0LDcyLDAsMCwwLDExNCwKKyAgICAxMDEsMCwwLDAsMTE0LDIyOSwwLDAsMCwyMTgsOCwxMTIsMTE0LDExMSwxMTIsMTAxLAorICAgIDExNCwxMTYsMTIxLDExNCwyMjUsMCwwLDAsMjE4LDYsMTE1LDEwMSwxMTYsMTE2LDEwMSwxMTQsCisgICAgMTE0LDIzMywwLDAsMCwxMTQsMjI2LDAsMCwwLDExNCw0LDAsMCwwLDExNCwKKyAgICA0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDExNCwyMTYsCisgICAgMCwwLDAsMjQyLDIsMCwwLDExNSwyMCwwLDAsMCwxMiwzNSw2LDIsCisgICAgMTUsMSwxNSwxMSwxMiwxMCwxMiwxMiwxOCwxNCwyMSw0LDE4LDgsMTgsNCwKKyAgICAxMTQsMjE2LDAsMCwwLDExNCwyMTcsMCwwLDAsMTE0LDIxOSwwLDAsMCw5OSwKKyAgICAyLDAsMCwwLDIsMCwwLDAsNSwwLDAsMCwxNSwwLDAsMCwKKyAgICA2NywwLDAsMCwxMTUsMTkwLDAsMCwwLDExNiwwLDAsMTI0LDEsMCwxMDAsCisgICAgMSwwLDEzMSwyLDAsMTE0LDgzLDAsMTI0LDMsMCwxMDAsMiwwLDEwNyw4LAorICAgIDAsMTE0LDQzLDAsMTE2LDEsMCwxMjQsMCwwLDEwMCwzLDAsMTI0LDEsMCwKKyAgICAxMzEsMSwxLDgzLDEyNCwzLDAsMTE0LDU1LDAsMTAzLDAsMCwxMTAsMywwLAorICAgIDEwMCwyLDAsMTI1LDQsMCwxMTYsMSwwLDEyNCwwLDAsMTAwLDMsMCwxMjQsCisgICAgMSwwLDEwMCw0LDAsMTI0LDQsMCwxMzEsMSwyLDgzLDEyNCwzLDAsMTAwLAorICAgIDIsMCwxMDcsOCwwLDExNCwxNjUsMCwxMTYsMCwwLDEyNCwxLDAsMTAwLDUsCisgICAgMCwxMzEsMiwwLDExNCwxNTksMCwxMjEsMTksMCwxMjQsMSwwLDEwNiwyLDAsCisgICAgMTI0LDAsMCwxMzEsMSwwLDEyNSwzLDAsODcsMTEzLDE2NSwwLDQsMTE2LDMsCisgICAgMCwxMDcsMTAsMCwxMTQsMTU1LDAsMSwxLDEsMTAwLDIsMCwxMjUsMywwLAorICAgIDg5LDExMywxNjUsMCw4OCwxMTAsNiwwLDEwMCw2LDAsMTI1LDMsMCwxMTYsNCwKKyAgICAwLDEyNCwwLDAsMTI0LDEsMCwxMDAsNywwLDEyNCwyLDAsMTAwLDUsMCwKKyAgICAxMjQsMywwLDEzMSwyLDIsODMsNDEsOCwxMjIsNTMsODIsMTAxLDExNiwxMTcsMTE0LAorICAgIDExMCwzMiw5NywzMiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwzMiwxMTUsMTEyLDEwMSw5OSwzMiwKKyAgICA5OCw5NywxMTUsMTAxLDEwMCwzMiwxMTEsMTEwLDMyLDExOCw5NywxMTQsMTA1LDExMSwxMTcsMTE1LAorICAgIDMyLDEwOCwxMTEsOTcsMTAwLDEwMSwxMTQsMzIsMTA5LDEwMSwxMTYsMTA0LDExMSwxMDAsMTE1LDQ2LAorICAgIDIxOCwxMiwxMDMsMTAxLDExNiw5NSwxMDIsMTA1LDEwOCwxMDEsMTEwLDk3LDEwOSwxMDEsNzgsMTE0LAorICAgIDE3MCwwLDAsMCwxMTQsMjIwLDAsMCwwLDExNCwyMTksMCwwLDAsNzAsMTE0LAorICAgIDIxNywwLDAsMCw0MSw1LDExNCw2MCwwLDAsMCwyMTgsMjMsMTE1LDExMiwxMDEsCisgICAgOTksOTUsMTAyLDExNCwxMTEsMTA5LDk1LDEwMiwxMDUsMTA4LDEwMSw5NSwxMDgsMTExLDk5LDk3LAorICAgIDExNiwxMDUsMTExLDExMCwxMTQsMjE5LDAsMCwwLDExNCwxNTQsMCwwLDAsMTE0LDIxNiwKKyAgICAwLDAsMCw0MSw1LDExNCw2NywwLDAsMCwxMTQsMTcwLDAsMCwwLDExNCwKKyAgICAyMTcsMCwwLDAsMTE0LDIxOSwwLDAsMCw5MCw2LDExNSwxMDEsOTcsMTE0LDk5LAorICAgIDEwNCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwKKyAgICAxMTQsMTc0LDAsMCwwLDkyLDMsMCwwLDExNSwyOCwwLDAsMCwwLDIsCisgICAgMTUsMSwxMiwxLDE2LDEsMTgsMSwxNSwxLDcsMiwxMiwxLDE1LDEsCisgICAgMywxLDE5LDEsMTMsMSwxNCwzLDYsMiwxMTQsMTc0LDAsMCwwLDExNCwKKyAgICAxNzAsMCwwLDAsMTE0LDIyMCwwLDAsMCw5OSwyLDAsMCwwLDIsMCwKKyAgICAwLDAsOSwwLDAsMCwxOSwwLDAsMCw2NywwLDAsMCwxMTUsODYsCisgICAgMSwwLDAsMTI0LDEsMCwxMDAsMSwwLDEwNyw4LDAsMTE0LDczLDAsMTAwLAorICAgIDIsMCwxMjUsMSwwLDExNiwwLDAsMTI0LDIsMCwxMDAsMywwLDEzMSwyLAorICAgIDAsMTE0LDczLDAsMTIxLDE5LDAsMTI0LDIsMCwxMDYsMSwwLDEyNCwwLDAsCisgICAgMTMxLDEsMCwxMjUsMSwwLDg3LDExMCwxOCwwLDQsMTE2LDIsMCwxMDcsMTAsCisgICAgMCwxMTQsNzIsMCwxLDEsMSw4OSwxMTAsMSwwLDg4LDExNiwzLDAsMTI0LAorICAgIDAsMCwxMjQsMiwwLDEwMCw0LDAsMTI0LDEsMCwxMzEsMiwxLDEyNSw0LAorICAgIDAsMTAwLDUsMCwxMjQsNCwwLDk1LDQsMCwxMjQsMiwwLDEwMCwxLDAsCisgICAgMTA3LDgsMCwxMTQsMTkxLDAsMTIwLDczLDAsMTE2LDUsMCwxMzEsMCwwLDY4LAorICAgIDkzLDU4LDAsOTIsMiwwLDEyNSw1LDAsMTI1LDYsMCwxMjQsMSwwLDEwNiwKKyAgICA2LDAsMTE2LDcsMCwxMjQsNiwwLDEzMSwxLDAsMTMxLDEsMCwxMTQsMTI1LAorICAgIDAsMTI0LDUsMCwxMjQsMCwwLDEyNCwxLDAsMTMxLDIsMCwxMjUsMiwwLAorICAgIDEyNCwyLDAsMTI0LDQsMCw5NSw4LDAsODAsMTEzLDEyNSwwLDg3LDEwMCwxLAorICAgIDAsODMsMTI0LDMsMCwxMTYsOSwwLDEwNyw4LDAsMTE0LDIwLDEsMTE2LDAsCisgICAgMCwxMjQsMiwwLDEwMCw2LDAsMTMxLDIsMCwxMTQsMjksMSwxMjEsMTksMCwKKyAgICAxMjQsMiwwLDEwNiwxMCwwLDEyNCwwLDAsMTMxLDEsMCwxMjUsNywwLDg3LAorICAgIDExMCwxOCwwLDQsMTE2LDIsMCwxMDcsMTAsMCwxMTQsMSwxLDEsMSwxLAorICAgIDg5LDExMywyOSwxLDg4LDEyNCw3LDAsMTE0LDI5LDEsMTAzLDAsMCwxMjQsNCwKKyAgICAwLDk1LDExLDAsMTEwLDksMCwxMjQsMywwLDEyNCw0LDAsOTUsMTEsMCwKKyAgICAxMjQsNCwwLDEwNiwxMSwwLDEwMywwLDAsMTA3LDIsMCwxMTQsODIsMSwxMjQsCisgICAgMSwwLDExNCw4MiwxLDExNiwxMiwwLDEyNCwxLDAsMTMxLDEsMCwxMDAsNywKKyAgICAwLDI1LDEyNSw4LDAsMTI0LDQsMCwxMDYsMTEsMCwxMDYsMTMsMCwxMjQsOCwKKyAgICAwLDEzMSwxLDAsMSwxMjQsNCwwLDgzLDQxLDgsOTcsNjEsMSwwLDAsCisgICAgODIsMTAxLDExNiwxMTcsMTE0LDExMCwzMiw5NywzMiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwzMiwKKyAgICAxMTUsMTEyLDEwMSw5OSwzMiw5OCw5NywxMTUsMTAxLDEwMCwzMiwxMTEsMTEwLDMyLDk3LDMyLAorICAgIDEwMiwxMDUsMTA4LDEwMSwzMiwxMDgsMTExLDk5LDk3LDExNiwxMDUsMTExLDExMCw0NiwxMCwxMCwKKyAgICAzMiwzMiwzMiwzMiw4NCwxMTEsMzIsMTA1LDExMCwxMDAsMTA1LDk5LDk3LDExNiwxMDEsMzIsCisgICAgMTE2LDEwNCw5NywxMTYsMzIsMTE2LDEwNCwxMDEsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMzIsCisgICAgMTA1LDExNSwzMiw5NywzMiwxMTIsOTcsOTksMTA3LDk3LDEwMywxMDEsNDQsMzIsMTE1LDEwMSwKKyAgICAxMTYsMTAsMzIsMzIsMzIsMzIsMTE1LDExNyw5OCwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSw5NSwKKyAgICAxMTUsMTAxLDk3LDExNCw5OSwxMDQsOTUsMTA4LDExMSw5OSw5NywxMTYsMTA1LDExMSwxMTAsMTE1LAorICAgIDMyLDExNiwxMTEsMzIsOTcsMzIsMTA4LDEwNSwxMTUsMTE2LDMyLDExMSwxMDIsMzIsMTAwLDEwNSwKKyAgICAxMTQsMTAxLDk5LDExNiwxMTEsMTE0LDEyMSwzMiwxMTIsOTcsMTE2LDEwNCwxMTUsNDYsMzIsMzIsCisgICAgNjUsMTEwLDEwLDMyLDMyLDMyLDMyLDEwMSwxMDksMTEyLDExNiwxMjEsMzIsMTA4LDEwNSwxMTUsCisgICAgMTE2LDMyLDEwNSwxMTUsMzIsMTE1LDExNywxMDIsMTAyLDEwNSw5OSwxMDUsMTAxLDExMCwxMTYsNDQsCisgICAgMzIsMTE2LDEwNCwxMTEsMTE3LDEwMywxMDQsMzIsMTA1LDExNiwxMTUsMzIsMTEwLDExMSwxMTYsMzIsCisgICAgMTExLDExNiwxMDQsMTAxLDExNCwxMTksMTA1LDExNSwxMDEsMzIsMTE3LDExNSwxMDEsMTAyLDExNywxMDgsCisgICAgMzIsMTE2LDExMSwzMiwxMTYsMTA0LDEwMSwxMCwzMiwzMiwzMiwzMiwxMDUsMTA5LDExMiwxMTEsCisgICAgMTE0LDExNiwzMiwxMTUsMTIxLDExNSwxMTYsMTAxLDEwOSw0NiwxMCwxMCwzMiwzMiwzMiwzMiwKKyAgICA4NCwxMDQsMTAxLDMyLDEwOCwxMTEsOTcsMTAwLDEwMSwxMTQsMzIsMTA5LDExNywxMTUsMTE2LDMyLAorICAgIDExNiw5NywxMDcsMTAxLDMyLDk3LDMyLDExNSwxMTIsMTAxLDk5LDMyLDk3LDExNSwzMiwxMDUsCisgICAgMTE2LDExNSwzMiwxMTEsMTEwLDEwOCwxMjEsMzIsOTUsOTUsMTA1LDExMCwxMDUsMTE2LDk1LDk1LAorICAgIDQwLDQxLDMyLDk3LDExNCwxMDMsNDYsMTAsMTAsMzIsMzIsMzIsMzIsNzgsMTIyLDksCisgICAgNjAsMTE3LDExMCwxMDcsMTEwLDExMSwxMTksMTEwLDYyLDExNCwyMzgsMCwwLDAsMTE0LDIxNywKKyAgICAwLDAsMCw4NCwxMTQsMjE5LDAsMCwwLDExNCw4NCwwLDAsMCw0MSwxNCwKKyAgICAxMTQsNjAsMCwwLDAsMTE0LDIzOCwwLDAsMCwxMTQsMTU0LDAsMCwwLDExNCwKKyAgICAyMTYsMCwwLDAsMTE0LDIyMSwwLDAsMCwyMTgsMjcsOTUsMTAzLDEwMSwxMTYsOTUsCisgICAgMTE1LDExNywxMTIsMTEyLDExMSwxMTQsMTE2LDEwMSwxMDAsOTUsMTAyLDEwNSwxMDgsMTAxLDk1LDEwOCwKKyAgICAxMTEsOTcsMTAwLDEwMSwxMTQsMTE1LDExNCwyMzAsMCwwLDAsMTE0LDIzMSwwLDAsMCwKKyAgICAxMTQsMTcwLDAsMCwwLDIxOCw5LDk1LDgwLDc5LDgwLDg1LDc2LDY1LDg0LDY5LAorICAgIDExNCwyMTksMCwwLDAsMTE0LDIyMCwwLDAsMCwxMTQsMzgsMCwwLDAsMTE0LAorICAgIDIyMywwLDAsMCw0MSw5LDExNCw2NywwLDAsMCwyMTgsOCwxMDgsMTExLDk5LAorICAgIDk3LDExNiwxMDUsMTExLDExMCwxMTQsMTcwLDAsMCwwLDExNCwyMjAsMCwwLDAsMTE0LAorICAgIDE3NywwLDAsMCwyMTgsMTIsMTA4LDExMSw5NywxMDAsMTAxLDExNCw5NSw5OSwxMDgsOTcsCisgICAgMTE1LDExNSwxMTQsMTI2LDAsMCwwLDExNCwyMTksMCwwLDAsOTAsNywxMDAsMTA1LAorICAgIDExNCwxMTAsOTcsMTA5LDEwMSwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsCisgICAgNSwwLDAsMCwxMTQsMjM5LDAsMCwwLDExNywzLDAsMCwxMTUsNjAsMCwKKyAgICAwLDAsMCwxMiwxMiw0LDYsMSwxNSwyLDMsMSwxOSwxLDEzLDEsCisgICAgNSw4LDIxLDEsOSwzLDEyLDEsMjIsMSwyMSwxLDE1LDEsOSwxLAorICAgIDUsMiw0LDMsMTIsMiwxNSwxLDMsMSwxOSwxLDEzLDEsNSwyLAorICAgIDYsMSwxMiwyLDksMSwxNSwxLDYsMSwxNiwxLDE2LDIsMTE0LDIzOSwKKyAgICAwLDAsMCw5OSwzLDAsMCwwLDAsMCwwLDAsOCwwLDAsMCwKKyAgICA1MywwLDAsMCw2NywwLDAsMCwxMTUsMTE4LDEsMCwwLDEyMSwxMywwLAorICAgIDEyNCwwLDAsMTA2LDAsMCwxMjUsMywwLDg3LDExMCwxOCwwLDQsMTE2LDEsCisgICAgMCwxMDcsMTAsMCwxMTQsMzMsMCwxLDEsMSw4OSwxMTAsMTcsMCw4OCwxMjQsCisgICAgMywwLDEwMCwwLDAsMTA3LDksMCwxMTQsNTAsMCwxMjQsMywwLDgzLDEyNCwKKyAgICAwLDAsMTA2LDIsMCwxMjUsNCwwLDEyNCwxLDAsMTAwLDAsMCwxMDcsOCwKKyAgICAwLDExNCwxMDUsMCwxMjEsMTMsMCwxMjQsMCwwLDEwNiwzLDAsMTI1LDEsMCwKKyAgICA4NywxMTAsMTgsMCw0LDExNiwxLDAsMTA3LDEwLDAsMTE0LDEwNCwwLDEsMSwKKyAgICAxLDg5LDExMCwxLDAsODgsMTIxLDEzLDAsMTI0LDAsMCwxMDYsNCwwLDEyNSwKKyAgICA1LDAsODcsMTEwLDI0LDAsNCwxMTYsMSwwLDEwNywxMCwwLDExNCwxNDQsMCwKKyAgICAxLDEsMSwxMDAsMCwwLDEyNSw1LDAsODksMTEwLDEsMCw4OCwxMjQsMiwKKyAgICAwLDEwMCwwLDAsMTA3LDgsMCwxMTQsMjE4LDAsMTI0LDUsMCwxMDAsMCwwLAorICAgIDEwNyw4LDAsMTE0LDIxMiwwLDEyMSwxMywwLDEyNCwxLDAsMTA2LDUsMCwxMjUsCisgICAgMiwwLDg3LDExMywyMTgsMCw0LDExNiwxLDAsMTA3LDEwLDAsMTE0LDIwOCwwLAorICAgIDEsMSwxLDEwMCwwLDAsMTI1LDIsMCw4OSwxMTMsMjE4LDAsODgsMTEwLDYsCisgICAgMCwxMjQsNSwwLDEyNSwyLDAsMTIxLDEzLDAsMTI0LDAsMCwxMDYsNiwwLAorICAgIDEyNSw2LDAsODcsMTEwLDI0LDAsNCwxMTYsMSwwLDEwNywxMCwwLDExNCwxLAogICAgIDEsMSwxLDEsMTAwLDAsMCwxMjUsNiwwLDg5LDExMCwxLDAsODgsMTIxLAogICAgIDE5LDAsMTE2LDcsMCwxMjQsMCwwLDEwNiw4LDAsMTMxLDEsMCwxMjUsNywKLSAgICAwLDg3LDExMCwyNCwwLDQsMTE2LDEsMCwxMDcsMTAsMCwxMTQsNTMsMSwxLAorICAgIDAsODcsMTEwLDI0LDAsNCwxMTYsMSwwLDEwNywxMCwwLDExNCw0NywxLDEsCiAgICAgMSwxLDEwMCwwLDAsMTI1LDcsMCw4OSwxMTAsMSwwLDg4LDExNiw5LDAsCiAgICAgMTI0LDQsMCwxMjQsMSwwLDEwMCwxLDAsMTI0LDIsMCwxMzEsMiwxLDEyNSwKLSAgICAzLDAsMTI0LDUsMCwxMDAsMCwwLDEwNyw4LDAsMTE0LDkzLDEsMTAwLDIsCisgICAgMywwLDEyNCw1LDAsMTAwLDAsMCwxMDcsOCwwLDExNCw4NywxLDEwMCwyLAogICAgIDAsMTEwLDMsMCwxMDAsMywwLDEyNCwzLDAsOTUsMTAsMCwxMjQsNiwwLAogICAgIDEyNCwzLDAsOTUsMTEsMCwxMjQsNywwLDEyNCwzLDAsOTUsMTIsMCwxMjQsCi0gICAgMywwLDgzLDQxLDQsNzgsMTE0LDIxOCwwLDAsMCw3MCw4NCw0MSwxMywxMTQsCi0gICAgMjA5LDAsMCwwLDExNCwyMTAsMCwwLDAsMTE0LDU3LDAsMCwwLDExNCwyMDUsCi0gICAgMCwwLDAsMTE0LDIxMSwwLDAsMCw5MCw3LDk1LDc5LDgyLDczLDcxLDczLAorICAgIDMsMCw4Myw0MSw0LDc4LDExNCwyMTcsMCwwLDAsNzAsODQsNDEsMTMsMTE0LAorICAgIDIwNywwLDAsMCwxMTQsMjA4LDAsMCwwLDExNCw1NywwLDAsMCwxMTQsMjAzLAorICAgIDAsMCwwLDExNCwyMTAsMCwwLDAsOTAsNyw5NSw3OSw4Miw3Myw3MSw3MywKICAgICA3OCwyMTgsMTAsOTUsOTUsOTksOTcsOTksMTA0LDEwMSwxMDAsOTUsOTUsMjE4LDQsMTA4LAotICAgIDEwNSwxMTUsMTE2LDIxOCw4LDk1LDk1LDExMiw5NywxMTYsMTA0LDk1LDk1LDExNCwyMTcsMCwKLSAgICAwLDAsMTE0LDIyMiwwLDAsMCwxMTQsMjI2LDAsMCwwLDExNCwyMjEsMCwwLAotICAgIDAsNDEsOCwxMTQsMTgwLDAsMCwwLDExNCwxNzAsMCwwLDAsMTE0LDIxOCwwLAotICAgIDAsMCwxMTQsMTc4LDAsMCwwLDExNCw2NywwLDAsMCwxMTQsMjQzLDAsMCwKLSAgICAwLDExNCwyMjYsMCwwLDAsMTE0LDIyMSwwLDAsMCwxMTQsNCwwLDAsMCwKKyAgICAxMDUsMTE1LDExNiwyMTgsOCw5NSw5NSwxMTIsOTcsMTE2LDEwNCw5NSw5NSwxMTQsMjE2LDAsCisgICAgMCwwLDExNCwyMjEsMCwwLDAsMTE0LDIyNSwwLDAsMCwxMTQsMjIwLDAsMCwKKyAgICAwLDQxLDgsMTE0LDE3OCwwLDAsMCwxMTQsMTcwLDAsMCwwLDExNCwyMTcsMCwKKyAgICAwLDAsMTE0LDE3NywwLDAsMCwxMTQsNjcsMCwwLDAsMTE0LDI0MiwwLDAsCisgICAgMCwxMTQsMjI1LDAsMCwwLDExNCwyMjAsMCwwLDAsMTE0LDQsMCwwLDAsCiAgICAgMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsMjE4LDE3LDk1LDExNSwxMTIsMTAxLAotICAgIDk5LDk1LDEwMiwxMTQsMTExLDEwOSw5NSwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwxODAsMywwLAorICAgIDk5LDk1LDEwMiwxMTQsMTExLDEwOSw5NSwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwxODEsMywwLAogICAgIDAsMTE1LDcyLDAsMCwwLDAsMiwzLDEsMTMsMSwxMywxLDUsMiwKLSAgICAxMiwxLDQsMiw5LDEsMTIsMSwzLDEsMTMsMSwxMywyLDgsMSwKKyAgICAxMiwxLDQsMiw5LDEsMTIsMSwzLDEsMTMsMSwxMywyLDUsMSwKICAgICAzLDEsMTMsMSwxMywxLDExLDEsMTIsMSwxMiwxLDMsMSwxMywxLAotICAgIDEzLDEsMTQsMiw5LDEsMywxLDEzLDEsMTMsMSwxMSwxLDMsMSwKLSAgICAxOSwxLDEzLDEsMTEsMiwyMSwxLDI3LDEsOSwxLDksMSwxMTQsMjQ4LAotICAgIDAsMCwwLDk5LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLAotICAgIDYsMCwwLDAsNjQsMCwwLDAsMTE1LDE0MiwwLDAsMCwxMDEsMCwwLAotICAgIDkwLDEsMCwxMDAsMCwwLDkwLDIsMCwxMDAsMSwwLDkwLDMsMCwxMDAsCi0gICAgMiwwLDEwMCwzLDAsMTMyLDAsMCw5MCw0LDAsMTAwLDQsMCwxMDAsNSwKLSAgICAwLDEzMiwwLDAsOTAsNSwwLDEwMCw2LDAsMTAwLDcsMCwxMDAsOCwwLAotICAgIDEwMCw5LDAsMTAwLDEwLDAsMTAwLDExLDAsMTMyLDAsMiw5MCw2LDAsMTAwLAotICAgIDEyLDAsMTAwLDEzLDAsMTMyLDAsMCw5MCw3LDAsMTAwLDE0LDAsMTAwLDE1LAotICAgIDAsMTMyLDAsMCw5MCw4LDAsMTAwLDE2LDAsMTAwLDE3LDAsMTMyLDAsMCwKLSAgICA5MCw5LDAsMTAwLDE4LDAsMTAwLDE5LDAsMTMyLDAsMCw5MCwxMCwwLDEwMCwKLSAgICAyMCwwLDEwMCwyMSwwLDEzMiwwLDAsOTAsMTEsMCwxMDAsMjIsMCwxMDAsMjMsCi0gICAgMCwxMzIsMCwwLDkwLDEyLDAsMTAwLDI0LDAsODMsNDEsMjUsMTE0LDE3NSwwLAotICAgIDAsMCwxMjIsNzcsNjcsMTExLDExMCwxMTgsMTAxLDExMCwxMDUsMTAxLDExMCw5OSwxMDEsMzIsCi0gICAgMTE5LDExNCw5NywxMTIsMTEyLDEwMSwxMTQsMzIsOTcsMTE0LDExMSwxMTcsMTEwLDEwMCwzMiwxMTUsCi0gICAgMTEyLDEwMSw5OSwzMiwxMTEsOTgsMTA2LDEwMSw5OSwxMTYsMTE1LDMyLDExNiwxMTEsMzIsMTEyLAotICAgIDExNCwxMTEsMTE4LDEwNSwxMDAsMTAxLDMyLDExNSwxMTIsMTAxLDk5LDQ1LDExNSwxMTIsMTAxLDk5LAotICAgIDEwNSwxMDIsMTA1LDk5LDEwLDMyLDMyLDMyLDMyLDEwOSwxMDEsMTE2LDEwNCwxMTEsMTAwLDExNSwKLSAgICA0Niw5OSwyLDAsMCwwLDAsMCwwLDAsMiwwLDAsMCwyLDAsCi0gICAgMCwwLDY3LDAsMCwwLDExNSwxMywwLDAsMCwxMjQsMSwwLDEyNCwwLAotICAgIDAsOTUsMCwwLDEwMCwwLDAsODMsNDEsMSw3OCw0MSwxLDExNCwxNzgsMCwKLSAgICAwLDAsNDEsMiwxMTQsNzEsMCwwLDAsMTE0LDE3OCwwLDAsMCwxMTQsNCwKLSAgICAwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsNzIsMCwKLSAgICAwLDAsMjMyLDMsMCwwLDExNSwyLDAsMCwwLDAsMSwxMjIsMjEsOTUsCi0gICAgODMsMTEyLDEwMSw5OSw3NywxMDEsMTE2LDEwNCwxMTEsMTAwLDExNSw0Niw5NSw5NSwxMDUsMTEwLAotICAgIDEwNSwxMTYsOTUsOTUsOTksMSwwLDAsMCwwLDAsMCwwLDMsMCwwLAotICAgIDAsMywwLDAsMCw2NywwLDAsMCwxMTUsMTU4LDAsMCwwLDEyNCwwLAotICAgIDAsMTA2LDAsMCwxMjUsMSwwLDEyNCwxLDAsMTA2LDEsMCwxMDAsMSwwLAotICAgIDEwNyw4LDAsMTE0LDMwLDAsMTAwLDIsMCwxMTAsNiwwLDEyNCwxLDAsMTA2LAotICAgIDEsMCwxMjUsMiwwLDEyNCwxLDAsMTA2LDIsMCwxMDAsMSwwLDEwNyw4LAotICAgIDAsMTE0LDEwNCwwLDEyNCwxLDAsMTA2LDMsMCwxMDAsMSwwLDEwNyw4LDAsCi0gICAgMTE0LDgyLDAsMTAwLDMsMCwxMDYsNCwwLDEyNCwyLDAsMTMxLDEsMCw4MywKLSAgICAxMDAsNCwwLDEwNiw0LDAsMTI0LDIsMCwxMjQsMSwwLDEwNiwzLDAsMTMxLAotICAgIDIsMCw4MywxMTAsNTAsMCwxMjQsMSwwLDEwNiw1LDAsMTE0LDEzMiwwLDEwMCwKLSAgICA1LDAsMTA2LDQsMCwxMjQsMiwwLDEyNCwxLDAsMTA2LDIsMCwxMzEsMiwKLSAgICAwLDgzLDEwMCw2LDAsMTA2LDQsMCwxMjQsMSwwLDEwNiwxLDAsMTI0LDEsCi0gICAgMCwxMDYsMiwwLDEzMSwyLDAsODMsMTAwLDEsMCw4Myw0MSw3LDEyMiwzOCwKLSAgICA4MiwxMDEsMTE2LDExNywxMTQsMTEwLDMyLDExNiwxMDQsMTAxLDMyLDExNCwxMDEsMTEyLDExNCwzMiwKLSAgICAxMTYsMTExLDMyLDExNywxMTUsMTAxLDMyLDEwMiwxMTEsMTE0LDMyLDExNiwxMDQsMTAxLDMyLDEwOSwKLSAgICAxMTEsMTAwLDExNywxMDgsMTAxLDQ2LDc4LDExNCwyMDcsMCwwLDAsMTIyLDEzLDYwLDEwOSwKLSAgICAxMTEsMTAwLDExNywxMDgsMTAxLDMyLDEyMywzMywxMTQsMTI1LDYyLDEyMiwyMCw2MCwxMDksMTExLAotICAgIDEwMCwxMTcsMTA4LDEwMSwzMiwxMjMsMzMsMTE0LDEyNSwzMiw0MCwxMjMsMzMsMTE0LDEyNSw0MSwKLSAgICA2MiwxMjIsMjMsNjAsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMzIsMTIzLDMzLDExNCwxMjUsMzIsCi0gICAgMTAyLDExNCwxMTEsMTA5LDMyLDEyMywzMywxMTQsMTI1LDYyLDEyMiwxOCw2MCwxMDksMTExLDEwMCwKLSAgICAxMTcsMTA4LDEwMSwzMiwxMjMsMzMsMTE0LDEyNSwzMiw0MCwxMjMsMTI1LDQxLDYyLDQxLDYsCi0gICAgMTE0LDE3OCwwLDAsMCwxMTQsNjcsMCwwLDAsMTE0LDIxOCwwLDAsMCwxMTQsCi0gICAgMTcwLDAsMCwwLDExNCw0NywwLDAsMCwxMTQsMjI3LDAsMCwwLDQxLDMsCi0gICAgMTE0LDcxLDAsMCwwLDExNCwxNzgsMCwwLDAsMTE0LDY3LDAsMCwwLDExNCwKLSAgICA0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDExNCwyMDYsCi0gICAgMCwwLDAsMjM1LDMsMCwwLDExNSwxOCwwLDAsMCwwLDMsOSwxLAotICAgIDMwLDEsMTUsMSwxNSwxLDEzLDIsMjIsMiw5LDEsMTksMiwxMjIsMjQsCi0gICAgOTUsODMsMTEyLDEwMSw5OSw3NywxMDEsMTE2LDEwNCwxMTEsMTAwLDExNSw0NiwxMDksMTExLDEwMCwKLSAgICAxMTcsMTA4LDEwMSw5NSwxMTQsMTAxLDExMiwxMTQsMjE4LDksOTUsMTExLDExOCwxMDEsMTE0LDExNCwKLSAgICAxMDUsMTAwLDEwMSw3MCwyMTgsMTEsOTUsMTAyLDExMSwxMTQsOTksMTAxLDk1LDExMCw5NywxMDksCi0gICAgMTAxLDg0LDk5LDIsMCwwLDAsMiwwLDAsMCw2LDAsMCwwLDU5LAotICAgIDAsMCwwLDY3LDAsMCwwLDExNSw3NSwyLDAsMCwxMjQsMCwwLDEwNiwKLSAgICAwLDAsMTI1LDQsMCwxMjQsMiwwLDExNSw0NSwwLDEyNCwzLDAsMTE1LDQ1LAotICAgIDAsMTE2LDEsMCwxMjQsMSwwLDEwMCwxLDAsMTAwLDIsMCwxMzEsMywwLAotICAgIDEwMCwyLDAsMTA3LDgsMCwxMTQsODUsMCwxMjEsMTYsMCwxMjQsNCwwLDEwNiwKLSAgICAyLDAsMTI0LDEsMCw5NSwzLDAsODcsMTEzLDg1LDAsNCwxMTYsNCwwLAotICAgIDEwNywxMCwwLDExNCw4MSwwLDEsMSwxLDg5LDExMyw4NSwwLDg4LDExMCwwLAotICAgIDAsMTI0LDIsMCwxMTUsMTE1LDAsMTE2LDEsMCwxMjQsMSwwLDEwMCwzLDAsCi0gICAgMTAwLDIsMCwxMzEsMywwLDEwMCwyLDAsMTA3LDgsMCwxMTQsMjIxLDAsMTI0LAotICAgIDQsMCwxMDYsNSwwLDEyNSw1LDAsMTI0LDUsMCwxMDAsMiwwLDEwNyw4LAotICAgIDAsMTE0LDE4NCwwLDEyNCw0LDAsMTA2LDYsMCwxMDAsMiwwLDEwNyw5LDAsCi0gICAgMTE0LDE4NCwwLDExNiw3LDAsMTA2LDgsMCwxMTYsNywwLDEzMSwxLDAsMTI1LAotICAgIDUsMCwxMjQsNCwwLDEwNiw2LDAsMTI0LDUsMCw5NSw5LDAsMTEzLDE4NCwKLSAgICAwLDExMCwwLDAsMTIxLDEzLDAsMTI0LDUsMCwxMjQsMSwwLDk1LDEwLDAsCi0gICAgODcsMTEzLDIyMSwwLDQsMTE2LDQsMCwxMDcsMTAsMCwxMTQsMjE3LDAsMSwxLAotICAgIDEsODksMTEzLDIyMSwwLDg4LDExMCwwLDAsMTI0LDIsMCwxMTUsMjUxLDAsMTE2LAotICAgIDEsMCwxMjQsMSwwLDEwMCw0LDAsMTAwLDIsMCwxMzEsMywwLDEwMCwyLAotICAgIDAsMTA3LDgsMCwxMTQsMzUsMSwxMjEsMTYsMCwxMjQsNCwwLDEwNiwxMSwwLAotICAgIDEyNCwxLDAsOTUsMTIsMCw4NywxMTMsMzUsMSw0LDExNiw0LDAsMTA3LDEwLAotICAgIDAsMTE0LDMxLDEsMSwxLDEsODksMTEzLDM1LDEsODgsMTEwLDAsMCwxMjEsCi0gICAgMTMsMCwxMjQsNCwwLDEyNCwxLDAsOTUsMTMsMCw4NywxMTAsMTgsMCw0LAotICAgIDExNiw0LDAsMTA3LDEwLDAsMTE0LDY4LDEsMSwxLDEsODksMTEwLDEsMCwKLSAgICA4OCwxMjQsMiwwLDExNSw5OSwxLDExNiwxLDAsMTI0LDEsMCwxMDAsNSwwLAotICAgIDEwMCwyLDAsMTMxLDMsMCwxMDAsMiwwLDEwNyw4LDAsMTE0LDE1NywxLDEyNCwKLSAgICA0LDAsMTA2LDYsMCwxMDAsMiwwLDEwNyw5LDAsMTE0LDE1NywxLDEyMSwxNiwKLSAgICAwLDEyNCw0LDAsMTA2LDYsMCwxMjQsMSwwLDk1LDE0LDAsODcsMTEzLDE1NCwKLSAgICAxLDQsMTE2LDQsMCwxMDcsMTAsMCwxMTQsMTUwLDEsMSwxLDEsODksMTEzLAotICAgIDE1NCwxLDg4LDExMywxNTcsMSwxMTAsMCwwLDEyNCw0LDAsMTA2LDE1LDAsMTE0LAotICAgIDcxLDIsMTI0LDIsMCwxMTUsMTk2LDEsMTE2LDEsMCwxMjQsMSwwLDEwMCw2LAotICAgIDAsMTAwLDIsMCwxMzEsMywwLDEwMCwyLDAsMTA3LDgsMCwxMTQsMjM2LDEsCi0gICAgMTIxLDE2LDAsMTI0LDQsMCwxMDYsMTYsMCwxMjQsMSwwLDk1LDE3LDAsODcsCi0gICAgMTEzLDIzNiwxLDQsMTE2LDQsMCwxMDcsMTAsMCwxMTQsMjMyLDEsMSwxLDEsCi0gICAgODksMTEzLDIzNiwxLDg4LDExMCwwLDAsMTI0LDIsMCwxMTUsMTAsMiwxMTYsMSwKLSAgICAwLDEyNCwxLDAsMTAwLDcsMCwxMDAsMiwwLDEzMSwzLDAsMTAwLDIsMCwKLSAgICAxMDcsOCwwLDExNCw3MSwyLDEyNCw0LDAsMTA2LDE4LDAsMTAwLDIsMCwxMDcsCi0gICAgOSwwLDExNCw2OCwyLDEyMSwxNiwwLDEyNCw0LDAsMTA2LDE4LDAsMTI0LDEsCi0gICAgMCw5NSwxOSwwLDg3LDExMyw2NSwyLDQsMTE2LDQsMCwxMDcsMTAsMCwxMTQsCi0gICAgNjEsMiwxLDEsMSw4OSwxMTMsNjUsMiw4OCwxMTMsNjgsMiwxMTMsNzEsMiwKLSAgICAxMTAsMCwwLDEwMCwyLDAsODMsNDEsOCw5NywyOSwyLDAsMCw4MywxMDEsCi0gICAgMTE2LDMyLDExNiwxMDQsMTAxLDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDM5LDExNSwzMiw5NywKLSAgICAxMTYsMTE2LDExNCwxMDUsOTgsMTE3LDExNiwxMDEsMTE1LDQ2LDEwLDEwLDMyLDMyLDMyLDMyLAotICAgIDMyLDMyLDMyLDMyLDY1LDEwOCwxMDgsMzIsMTA5LDEwNSwxMTUsMTE1LDEwNSwxMTAsMTAzLDMyLAotICAgIDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDQ1LDExNCwxMDEsMTA4LDk3LDExNiwxMDEsMTAwLDMyLDEwOSwKLSAgICAxMTEsMTAwLDExNywxMDgsMTAxLDMyLDk3LDExNiwxMTYsMTE0LDEwNSw5OCwxMTcsMTE2LDEwMSwxMTUsCi0gICAgMzIsMTE5LDEwNSwxMDgsMTA4LDMyLDk4LDEwMSwzMiwxMTUsMTAxLDExNiw0NiwzMiwzMiw3MiwKLSAgICAxMDEsMTE0LDEwMSwxMCwzMiwzMiwzMiwzMiwzMiwzMiwzMiwzMiwxMDUsMTE1LDMyLDEwNCwKLSAgICAxMTEsMTE5LDMyLDExNiwxMDQsMTAxLDMyLDExNSwxMTIsMTAxLDk5LDMyLDk3LDExNiwxMTYsMTE0LAotICAgIDEwNSw5OCwxMTcsMTE2LDEwMSwxMTUsMzIsMTA5LDk3LDExMiwzMiwxMTEsMTEwLDExNiwxMTEsMzIsCi0gICAgMTE2LDEwNCwxMDEsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsNTgsMTAsMTAsMzIsMzIsMzIsCi0gICAgMzIsMzIsMzIsMzIsMzIsMTE1LDExMiwxMDEsOTksNDYsMTEwLDk3LDEwOSwxMDEsMzIsNDUsCi0gICAgNjIsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsNDYsOTUsOTUsMTEwLDk3LDEwOSwxMDEsOTUsCi0gICAgOTUsMTAsMzIsMzIsMzIsMzIsMzIsMzIsMzIsMzIsMTE1LDExMiwxMDEsOTksNDYsMTA4LAotICAgIDExMSw5NywxMDAsMTAxLDExNCwzMiw0NSw2MiwzMiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSw0NiwKLSAgICA5NSw5NSwxMDgsMTExLDk3LDEwMCwxMDEsMTE0LDk1LDk1LDEwLDMyLDMyLDMyLDMyLDMyLAotICAgIDMyLDMyLDMyLDExNSwxMTIsMTAxLDk5LDQ2LDExMiw5NywxMTQsMTAxLDExMCwxMTYsMzIsNDUsCi0gICAgNjIsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsNDYsOTUsOTUsMTEyLDk3LDk5LDEwNyw5NywKLSAgICAxMDMsMTAxLDk1LDk1LDEwLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDExNSwxMTIsMTAxLAotICAgIDk5LDMyLDQ1LDYyLDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDQ2LDk1LDk1LDExNSwxMTIsCi0gICAgMTAxLDk5LDk1LDk1LDEwLDEwLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDc5LDExMiwKLSAgICAxMTYsMTA1LDExMSwxMTAsOTcsMTA4LDU4LDEwLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDMyLAotICAgIDExNSwxMTIsMTAxLDk5LDQ2LDExMSwxMTQsMTA1LDEwMywxMDUsMTEwLDMyLDQ1LDYyLDMyLDEwOSwKLSAgICAxMTEsMTAwLDExNywxMDgsMTAxLDQ2LDk1LDk1LDEwMiwxMDUsMTA4LDEwMSw5NSw5NSwzMiw0MCwKLSAgICAxMDUsMTAyLDMyLDExNSwxMTIsMTAxLDk5LDQ2LDExNSwxMDEsMTE2LDk1LDEwMiwxMDUsMTA4LDEwMSwKLSAgICA5NywxMTYsMTE2LDExNCwzMiwxMDUsMTE1LDMyLDExNiwxMTQsMTE3LDEwMSw0MSwxMCwzMiwzMiwKLSAgICAzMiwzMiwzMiwzMiwzMiwzMiwxMTUsMTEyLDEwMSw5OSw0Niw5OSw5Nyw5OSwxMDQsMTAxLAotICAgIDEwMCwzMiw0NSw2MiwzMiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSw0Niw5NSw5NSw5OSw5NywKLSAgICA5OSwxMDQsMTAxLDEwMCw5NSw5NSwzMiw0MCwxMDUsMTAyLDMyLDk1LDk1LDEwMiwxMDUsMTA4LAotICAgIDEwMSw5NSw5NSwzMiw5NywxMDgsMTE1LDExMSwzMiwxMTUsMTAxLDExNiw0MSwxMCwzMiwzMiwKLSAgICAzMiwzMiwzMiwzMiwzMiwzMiwxMTUsMTEyLDEwMSw5OSw0NiwxMTUsMTE3LDk4LDEwOSwxMTEsCi0gICAgMTAwLDExNywxMDgsMTAxLDk1LDExNSwxMDEsOTcsMTE0LDk5LDEwNCw5NSwxMDgsMTExLDk5LDk3LAotICAgIDExNiwxMDUsMTExLDExMCwxMTUsMzIsNDUsNjIsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsNDYsCi0gICAgOTUsOTUsMTEyLDk3LDExNiwxMDQsOTUsOTUsMzIsNDAsMTA1LDEwMiwzMiwxMTUsMTAxLDExNiwKLSAgICA0MSwxMCwxMCwzMiwzMiwzMiwzMiwzMiwzMiwzMiwzMiwxMTQsNTcsMCwwLDAsCi0gICAgNzgsMTE0LDIwNSwwLDAsMCwyMTgsMTEsOTUsOTUsMTEyLDk3LDk5LDEwNyw5NywxMDMsCi0gICAgMTAxLDk1LDk1LDExNCwyNDcsMCwwLDAsMTE0LDIxMSwwLDAsMCwxMTQsMjQ1LDAsCi0gICAgMCwwLDQxLDIwLDExNCwxNzgsMCwwLDAsMTE0LDYyLDAsMCwwLDExNCw2NywKLSAgICAwLDAsMCwxMTQsNTcsMCwwLDAsMTE0LDIxMCwwLDAsMCwxMTQsMTcwLDAsCi0gICAgMCwwLDExNCwyMjEsMCwwLDAsMjE4LDE2LDk1LDc4LDk3LDEwOSwxMDEsMTE1LDExMiwKLSAgICA5Nyw5OSwxMDEsNzYsMTExLDk3LDEwMCwxMDEsMTE0LDIxOCw3LDk1LDk1LDExMCwxMDEsMTE5LAotICAgIDk1LDk1LDIxOCw1LDk1LDExMiw5NywxMTYsMTA0LDExNCwyMDUsMCwwLDAsMTE0LDIzNCwKLSAgICAwLDAsMCwxMTQsMjUxLDAsMCwwLDExNCwyMDksMCwwLDAsMTE0LDI0NywwLAotICAgIDAsMCwxMTQsMjI3LDAsMCwwLDExNCwyMTgsMCwwLDAsMTE0LDIxMSwwLDAsCi0gICAgMCwxMTQsMjI2LDAsMCwwLDExNCwyNDUsMCwwLDAsNDEsNiwxMTQsNzEsMCwKLSAgICAwLDAsMTE0LDE4MCwwLDAsMCwxMTQsMjQ5LDAsMCwwLDExNCwyNTAsMCwwLAotICAgIDAsMTE0LDE3OCwwLDAsMCwxMTQsMTcwLDAsMCwwLDExNCw0LDAsMCwwLAotICAgIDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDIxOCwxNywxMDUsMTEwLDEwNSwxMTYsCi0gICAgOTUsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsOTUsOTcsMTE2LDExNiwxMTQsMTE1LDI1MSwzLDAsCi0gICAgMCwxMTUsODgsMCwwLDAsMCwxNyw5LDYsMTIsMSwyNCwxLDMsMSwKLSAgICAxNiwxLDEzLDEsOCwzLDMwLDEsOSwxLDEyLDIsMTUsMSwxNSwxLAotICAgIDE4LDEsMywxLDEzLDEsMTMsMSw4LDMsMzAsMSwzLDEsMTYsMSwKLSAgICAxMywxLDgsMywzLDEsMTMsMSwxMywxLDUsMywzMCwxLDE1LDEsCi0gICAgMywxLDE2LDEsMTMsMSwxMSwyLDksMiwzMCwxLDMsMSwxNiwxLAotICAgIDEzLDEsOCwzLDMwLDEsMTUsMSwzLDEsMTYsMSwxMywxLDEyMiwzMCwKLSAgICA5NSw4MywxMTIsMTAxLDk5LDc3LDEwMSwxMTYsMTA0LDExMSwxMDAsMTE1LDQ2LDEwNSwxMTAsMTA1LAotICAgIDExNiw5NSwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSw5NSw5NywxMTYsMTE2LDExNCwxMTUsOTksMSwKLSAgICAwLDAsMCwwLDAsMCwwLDMsMCwwLDAsMywwLDAsMCw2NywKLSAgICAwLDAsMCwxMTUsMTAxLDAsMCwwLDEyNCwwLDAsMTA2LDAsMCwxMjUsMSwKLSAgICAwLDExNiwxLDAsMTI0LDEsMCwxMDYsMiwwLDEwMCwxLDAsMTMxLDIsMCwKLSAgICAxMTQsNDgsMCwxMjQsMSwwLDEwNiwyLDAsMTA2LDMsMCwxMjQsMSwwLDEzMSwKLSAgICAxLDAsMTI1LDIsMCwxMTAsNiwwLDEwMCwyLDAsMTI1LDIsMCwxMjQsMiwKLSAgICAwLDEwMCwyLDAsMTA3LDgsMCwxMTQsODQsMCwxMTYsNCwwLDEyNCwxLDAsCi0gICAgMTA2LDUsMCwxMzEsMSwwLDEyNSwyLDAsMTEwLDAsMCwxMjQsMCwwLDEwNiwKLSAgICA2LDAsMTI0LDIsMCwxMzEsMSwwLDEsMTI0LDIsMCw4Myw0MSwzLDEyMiwKLSAgICAxNTMsODIsMTAxLDExNiwxMTcsMTE0LDExMCwzMiw5NywzMiwxMTAsMTAxLDExOSwzMiwxMDksMTExLAotICAgIDEwMCwxMTcsMTA4LDEwMSwzMiwxMTYsMTExLDMyLDk4LDEwMSwzMiwxMDgsMTExLDk3LDEwMCwxMDEsCi0gICAgMTAwLDQ2LDEwLDEwLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDg0LDEwNCwxMDEsMzIsCi0gICAgMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsNDUsMTE0LDEwMSwxMDgsOTcsMTE2LDEwMSwxMDAsMzIsMTA5LAotICAgIDExMSwxMDAsMTE3LDEwOCwxMDEsMzIsOTcsMTE2LDExNiwxMTQsMTA1LDk4LDExNywxMTYsMTAxLDExNSwKLSAgICAzMiw5NywxMTQsMTAxLDMyLDk3LDEwOCwxMTUsMTExLDMyLDExNSwxMDEsMTE2LDMyLDExOSwxMDUsCi0gICAgMTE2LDEwNCwzMiwxMTYsMTA0LDEwMSwxMCwzMiwzMiwzMiwzMiwzMiwzMiwzMiwzMiw5NywKLSAgICAxMTIsMTEyLDExNCwxMTEsMTEyLDExNCwxMDUsOTcsMTE2LDEwMSwzMiwxMTgsOTcsMTA4LDExNywxMDEsCi0gICAgMTE1LDMyLDEwMiwxMTQsMTExLDEwOSwzMiwxMTYsMTA0LDEwMSwzMiwxMTUsMTEyLDEwMSw5OSw0NiwKLSAgICAxMCwxMCwzMiwzMiwzMiwzMiwzMiwzMiwzMiwzMiwyMTgsMTMsOTksMTE0LDEwMSw5NywKLSAgICAxMTYsMTAxLDk1LDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDc4LDQxLDcsMTE0LDE3OCwwLDAsCi0gICAgMCwxMTQsNjAsMCwwLDAsMTE0LDE3MCwwLDAsMCwxMTQsMCwxLDAsMCwKLSAgICAxMTQsNjgsMCwwLDAsMTE0LDY3LDAsMCwwLDExNCwyNTUsMCwwLDAsNDEsCi0gICAgMywxMTQsNzEsMCwwLDAsMTE0LDE3OCwwLDAsMCwxMTQsMTgwLDAsMCwwLAotICAgIDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDIxOCwKLSAgICA2LDk5LDExNCwxMDEsOTcsMTE2LDEwMSw3NSw0LDAsMCwxMTUsMTYsMCwwLDAsCi0gICAgMCw3LDksMiwxOCwzLDIxLDIsNiwxLDEyLDQsMTgsMSwxMywxLAotICAgIDEyMiwxOSw5NSw4MywxMTIsMTAxLDk5LDc3LDEwMSwxMTYsMTA0LDExMSwxMDAsMTE1LDQ2LDk5LAotICAgIDExNCwxMDEsOTcsMTE2LDEwMSw5OSwyLDAsMCwwLDAsMCwwLDAsMiwwLAotICAgIDAsMCwyLDAsMCwwLDY3LDAsMCwwLDExNSwyMywwLDAsMCwxMjQsCi0gICAgMCwwLDEwNiwwLDAsMTA2LDEsMCwxMDYsMiwwLDEyNCwxLDAsMTMxLDEsCi0gICAgMCwxLDEwMCwxLDAsODMsNDEsMiwxMjIsMTg5LDY4LDExMSwzMiwxMDEsMTE4LDEwMSwKLSAgICAxMTQsMTIxLDExNiwxMDQsMTA1LDExMCwxMDMsMzIsMTEwLDEwMSw5OSwxMDEsMTE1LDExNSw5NywxMTQsCi0gICAgMTIxLDMyLDExNiwxMTEsMzIsMTAxLDEyMCwxMDEsOTksMTE3LDExNiwxMDEsMzIsMTE2LDEwNCwxMDEsCi0gICAgMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsNDYsMTAsMTAsMzIsMzIsMzIsMzIsMzIsMzIsCi0gICAgMzIsMzIsODQsMTA0LDEwMSwzMiwxMTAsOTcsMTA5LDEwMSwxMTUsMTEyLDk3LDk5LDEwMSwzMiwKLSAgICAxMTEsMTAyLDMyLDk2LDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDk2LDMyLDEwNSwxMTUsMzIsMTE3LAotICAgIDExNSwxMDEsMTAwLDMyLDk3LDExNSwzMiwxMTYsMTA0LDEwMSwzMiwxMTYsOTcsMTE0LDEwMywxMDEsCi0gICAgMTE2LDMyLDExMSwxMDIsMzIsMTAxLDEyMCwxMDEsOTksMTE3LDExNiwxMDUsMTExLDExMCw0NiwxMCwKLSAgICAzMiwzMiwzMiwzMiwzMiwzMiwzMiwzMiw4NCwxMDQsMTA1LDExNSwzMiwxMDksMTAxLDExNiwKLSAgICAxMDQsMTExLDEwMCwzMiwxMTcsMTE1LDEwMSwxMTUsMzIsMTE2LDEwNCwxMDEsMzIsMTA4LDExMSw5NywKLSAgICAxMDAsMTAxLDExNCwzOSwxMTUsMzIsOTYsMTAxLDEyMCwxMDEsOTksOTUsMTA5LDExMSwxMDAsMTE3LAotICAgIDEwOCwxMDEsNDAsNDEsOTYsMzIsMTA5LDEwMSwxMTYsMTA0LDExMSwxMDAsNDYsMTAsMTAsMzIsCi0gICAgMzIsMzIsMzIsMzIsMzIsMzIsMzIsNzgsNDEsMywxMTQsMTc4LDAsMCwwLDExNCwKLSAgICAxNzAsMCwwLDAsMjE4LDExLDEwMSwxMjAsMTAxLDk5LDk1LDEwOSwxMTEsMTAwLDExNywxMDgsCi0gICAgMTAxLDQxLDIsMTE0LDcxLDAsMCwwLDExNCwxODAsMCwwLDAsMTE0LDQsMCwKLSAgICAwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsMjE4LDUsOTUsMTAxLAotICAgIDEyMCwxMDEsOTksOTgsNCwwLDAsMTE1LDIsMCwwLDAsMCw3LDEyMiwxOCwKLSAgICA5NSw4MywxMTIsMTAxLDk5LDc3LDEwMSwxMTYsMTA0LDExMSwxMDAsMTE1LDQ2LDk1LDEwMSwxMjAsCi0gICAgMTAxLDk5LDk5LDIsMCwwLDAsMCwwLDAsMCw0LDAsMCwwLDExLAotICAgIDAsMCwwLDY3LDAsMCwwLDExNSwxNywxLDAsMCwxMjQsMCwwLDEwNiwKLSAgICAwLDAsMTA2LDEsMCwxMjUsMiwwLDExNiwyLDAsMTA2LDMsMCwxMzEsMCwKLSAgICAwLDEsMTE2LDQsMCwxMjQsMiwwLDEzMSwxLDAsMTQzLDIyNiwwLDEsMTE2LAotICAgIDUsMCwxMDYsNiwwLDEwNiw3LDAsMTI0LDIsMCwxMzEsMSwwLDEyNCwxLAotICAgIDAsMTA3LDksMCwxMTQsOTUsMCwxMDAsMSwwLDEwNiw4LDAsMTI0LDIsMCwKLSAgICAxMzEsMSwwLDEyNSwzLDAsMTE2LDksMCwxMjQsMywwLDEwMCwyLDAsMTI0LAotICAgIDIsMCwxMzEsMSwxLDEzMCwxLDAsMTEwLDAsMCwxMjQsMCwwLDEwNiwwLAotICAgIDAsMTA2LDEwLDAsMTAwLDMsMCwxMDcsOCwwLDExNCwxODEsMCwxMjQsMCwwLAotICAgIDEwNiwwLDAsMTA2LDExLDAsMTAwLDMsMCwxMDcsOCwwLDExNCwxNTgsMCwxMTYsCi0gICAgOSwwLDEwMCw0LDAsMTAwLDIsMCwxMjQsMCwwLDEwNiwwLDAsMTA2LDEsCi0gICAgMCwxMzEsMSwxLDEzMCwxLDAsMTEwLDAsMCwxMjQsMCwwLDEwNiwxMiwwLAotICAgIDEyNCwxLDAsMTAwLDUsMCwxMDAsNiwwLDEzMSwxLDEsMSwxMjQsMSwwLAotICAgIDgzLDEyNCwwLDAsMTA2LDEyLDAsMTI0LDEsMCwxMDAsNSwwLDEwMCw2LDAsCi0gICAgMTMxLDEsMSwxLDExNiwxMywwLDEyNCwwLDAsMTA2LDAsMCwxMDYsMTAsMCwKLSAgICAxMDAsNywwLDEzMSwyLDAsMTE1LDI0MywwLDEyNCwwLDAsMTA2LDAsMCwxMDYsCi0gICAgMTAsMCwxMDYsMTQsMCwxMjQsMiwwLDEzMSwxLDAsMSwxMTAsMTMsMCwxMjQsCi0gICAgMCwwLDEwNiwxNSwwLDEyNCwxLDAsMTMxLDEsMCwxLDg3LDEwMCwzLDAsCi0gICAgODEsODgsMTE2LDUsMCwxMDYsNiwwLDEyNCwyLDAsMjUsODMsNDEsOCwxMjIsCi0gICAgNTEsNjksMTIwLDEwMSw5OSwxMTcsMTE2LDEwMSwzMiwxMTYsMTA0LDEwMSwzMiwxMTUsMTEyLDEwMSwKLSAgICA5OSwzMiwxMDUsMTEwLDMyLDk3LDExMCwzMiwxMDEsMTIwLDEwNSwxMTUsMTE2LDEwNSwxMTAsMTAzLAotICAgIDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDM5LDExNSwzMiwxMTAsOTcsMTA5LDEwMSwxMTUsMTEyLAotICAgIDk3LDk5LDEwMSw0NiwxMjIsMzAsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMzIsMTIzLDMzLDExNCwKLSAgICAxMjUsMzIsMTEwLDExMSwxMTYsMzIsMTA1LDExMCwzMiwxMTUsMTIxLDExNSw0NiwxMDksMTExLDEwMCwKLSAgICAxMTcsMTA4LDEwMSwxMTUsMTE0LDY3LDAsMCwwLDc4LDEyMiwxNCwxMDksMTA1LDExNSwxMTUsCi0gICAgMTA1LDExMCwxMDMsMzIsMTA4LDExMSw5NywxMDAsMTAxLDExNCwxMTQsMjQ5LDAsMCwwLDg0LAotICAgIDExNCwyLDEsMCwwLDQxLDE2LDExNCwxNzgsMCwwLDAsMTE0LDY3LDAsMCwKLSAgICAwLDExNCwxMDYsMCwwLDAsMjE4LDEyLDk3LDk5LDExMywxMTcsMTA1LDExNCwxMDEsOTUsCi0gICAgMTA4LDExMSw5OSwxMDcsMTE0LDEwMywwLDAsMCwxMTQsNywwLDAsMCwxMTQsNzMsCi0gICAgMCwwLDAsMTE0LDkzLDAsMCwwLDExNCw0NywwLDAsMCwxMTQsMTU0LDAsCi0gICAgMCwwLDExNCwxNzAsMCwwLDAsMTE0LDIyMSwwLDAsMCwxMTQsMjU1LDAsMCwKLSAgICAwLDExNCw2MCwwLDAsMCwyMTgsMTEsMTA4LDExMSw5NywxMDAsOTUsMTA5LDExMSwxMDAsCi0gICAgMTE3LDEwOCwxMDEsMTE0LDMsMSwwLDAsNDEsNCwxMTQsNzEsMCwwLDAsMTE0LAotICAgIDE4MCwwLDAsMCwxMTQsNjcsMCwwLDAsMTE0LDE3MiwwLDAsMCwxMTQsNCwKLSAgICAwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsMTc2LDAsCi0gICAgMCwwLDEwOCw0LDAsMCwxMTUsMzIsMCwwLDAsMCwyLDEyLDEsMTAsCi0gICAgMSwxMywxLDI0LDEsMTUsMSwyMSwxLDE4LDEsMTgsMSwyNywyLDE5LAotICAgIDEsNCwxLDE5LDEsMjEsNCwyMiwyLDE5LDEsMTIyLDE3LDk1LDgzLDExMiwKLSAgICAxMDEsOTksNzcsMTAxLDExNiwxMDQsMTExLDEwMCwxMTUsNDYsMTAxLDEyMCwxMDEsOTksOTksMSwKLSAgICAwLDAsMCwwLDAsMCwwLDMsMCwwLDAsMjcsMCwwLDAsNjcsCi0gICAgMCwwLDAsMTE1LDI0LDEsMCwwLDEyNCwwLDAsMTA2LDAsMCwxMjUsMSwKLSAgICAwLDEyNCwxLDAsMTA2LDEsMCwxMDYsMiwwLDEyNCwxLDAsMTA2LDMsMCwKLSAgICAxMzEsMSwwLDEsMTE2LDQsMCwxMDYsNSwwLDEyNCwxLDAsMTA2LDMsMCwKLSAgICAyNSwxMjUsMiwwLDExNiw2LDAsMTI0LDIsMCwxMDAsMSwwLDEwMCwwLDAsCi0gICAgMTMxLDMsMCwxMDAsMCwwLDEwNyw4LDAsMTE0LDEwOCwwLDEyMSwxNiwwLDEyNCwKLSAgICAxLDAsMTA2LDEsMCwxMjQsMiwwLDk1LDcsMCw4NywxMTMsMTA4LDAsNCwKLSAgICAxMTYsOCwwLDEwNywxMCwwLDExNCwxMDQsMCwxLDEsMSw4OSwxMTMsMTA4LDAsCi0gICAgODgsMTEwLDAsMCwxMTYsNiwwLDEyNCwyLDAsMTAwLDIsMCwxMDAsMCwwLAotICAgIDEzMSwzLDAsMTAwLDAsMCwxMDcsOCwwLDExNCwyMTUsMCwxMjEsNTksMCwxMjQsCi0gICAgMiwwLDEwNiw5LDAsMTI0LDIsMCw5NSwxMCwwLDExNiwxMSwwLDEyNCwyLAotICAgIDAsMTAwLDMsMCwxMzEsMiwwLDExNSwxOTAsMCwxMjQsMSwwLDEwNiwzLDAsCi0gICAgMTA2LDEyLDAsMTAwLDQsMCwxMzEsMSwwLDEwMCw1LDAsMjUsMTI0LDIsMCwKLSAgICA5NSwxMCwwLDExMCwwLDAsODcsMTEzLDIxNSwwLDQsMTE2LDgsMCwxMDcsMTAsCi0gICAgMCwxMTQsMjExLDAsMSwxLDEsODksMTEzLDIxNSwwLDg4LDExMCwwLDAsMTE2LAotICAgIDYsMCwxMjQsMiwwLDEwMCw2LDAsMTAwLDAsMCwxMzEsMywwLDEwMCwwLAotICAgIDAsMTA3LDgsMCwxMTQsMjAsMSwxMjEsMTMsMCwxMjQsMSwwLDEyNCwyLDAsCi0gICAgOTUsMTMsMCw4NywxMTMsMjAsMSw0LDExNiw4LDAsMTA3LDEwLDAsMTE0LDE2LAotICAgIDEsMSwxLDEsODksMTEzLDIwLDEsODgsMTEwLDAsMCwxMjQsMiwwLDgzLAotICAgIDQxLDcsNzgsMTE0LDIwNSwwLDAsMCwxMTQsMjUxLDAsMCwwLDExNCwyNDcsMCwKLSAgICAwLDAsMTE0LDExNiwwLDAsMCwxMTQsODQsMCwwLDAsMTE0LDIwOSwwLDAsCi0gICAgMCw0MSwxNCwxMTQsMTc4LDAsMCwwLDExNCwxNzAsMCwwLDAsMTE0LDUsMSwKLSAgICAwLDAsMTE0LDY3LDAsMCwwLDExNCw3LDAsMCwwLDExNCw3MywwLDAsCi0gICAgMCwxMTQsNjIsMCwwLDAsMTE0LDIwNSwwLDAsMCwxMTQsMjEwLDAsMCwwLAotICAgIDExNCw1NywwLDAsMCwxMTQsMjUxLDAsMCwwLDExNCw2MCwwLDAsMCwxMTQsCi0gICAgMzIsMCwwLDAsMTE0LDIwOSwwLDAsMCw0MSwzLDExNCw3MSwwLDAsMCwKLSAgICAxMTQsMTc4LDAsMCwwLDExNCwxODAsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LAotICAgIDQsMCwwLDAsMTE0LDUsMCwwLDAsMjE4LDI1LDk1LDEwOCwxMTEsOTcsMTAwLAotICAgIDk1LDk4LDk3LDk5LDEwNywxMTksOTcsMTE0LDEwMCw5NSw5OSwxMTEsMTA5LDExMiw5NywxMTYsCi0gICAgMTA1LDk4LDEwOCwxMDEsMTMyLDQsMCwwLDExNSw0MiwwLDAsMCwwLDQsOSwKLSAgICAxLDE5LDIsMTYsMSwyNCwxLDMsMSwxNiwxLDEzLDEsOCwxLDI0LAotICAgIDEsMyw0LDEyLDEsMTUsMSwzMiwxLDEzLDEsOCwxLDI0LDEsMywKLSAgICAxLDEzLDEsMTMsMSw4LDEsMTIyLDM4LDk1LDgzLDExMiwxMDEsOTksNzcsMTAxLAotICAgIDExNiwxMDQsMTExLDEwMCwxMTUsNDYsOTUsMTA4LDExMSw5NywxMDAsOTUsOTgsOTcsOTksMTA3LAotICAgIDExOSw5NywxMTQsMTAwLDk1LDk5LDExMSwxMDksMTEyLDk3LDExNiwxMDUsOTgsMTA4LDEwMSw5OSwKLSAgICAxLDAsMCwwLDAsMCwwLDAsMiwwLDAsMCwxMSwwLDAsMCwKLSAgICA2NywwLDAsMCwxMTUsMTc5LDAsMCwwLDEyNCwwLDAsMTA2LDAsMCwxMDYsCi0gICAgMSwwLDEwMCwwLDAsMTA3LDksMCwxMTQsNTIsMCwxMTYsMiwwLDEyNCwwLAotICAgIDAsMTA2LDAsMCwxMDYsMSwwLDEwMCwxLDAsMTMxLDIsMCwxMTUsNTIsMCwKLSAgICAxMjQsMCwwLDEwNiwzLDAsMTMxLDAsMCw4MywxMTAsMCwwLDEyNCwwLDAsCi0gICAgMTA2LDQsMCwxMzEsMCwwLDEyNSwxLDAsMTE2LDUsMCwxMjQsMSwwLDEzMSwKLSAgICAxLDAsMTQzLDg0LDAsMSwxMjQsMCwwLDEwNiwwLDAsMTA2LDEsMCwxMDAsCi0gICAgMCwwLDEwNyw4LDAsMTE0LDE0MywwLDEyNCwwLDAsMTA2LDAsMCwxMDYsNiwKLSAgICAwLDEwMCwwLDAsMTA3LDgsMCwxMTQsMTU2LDAsMTE2LDcsMCwxMDAsMiwwLAotICAgIDEwMCwzLDAsMTI0LDAsMCwxMDYsMCwwLDEwNiw4LDAsMTMxLDEsMSwxMzAsCi0gICAgMSwwLDExMywxNTYsMCwxMTAsMTMsMCwxMjQsMCwwLDEwNiw5LDAsMTI0LDEsCi0gICAgMCwxMzEsMSwwLDEsODcsMTAwLDAsMCw4MSw4OCwxMTYsMTAsMCwxMDYsMTEsCi0gICAgMCwxMjQsMCwwLDEwNiwwLDAsMTA2LDgsMCwyNSw4Myw0MSw0LDc4LDExNCwKLSAgICAyLDEsMCwwLDEyMiwxNCwxMDksMTA1LDExNSwxMTUsMTA1LDExMCwxMDMsMzIsMTA4LDExMSwKLSAgICA5NywxMDAsMTAxLDExNCwxMTQsNjcsMCwwLDAsNDEsMTIsMTE0LDE3OCwwLDAsMCwKLSAgICAxMTQsMTcwLDAsMCwwLDExNCw2MCwwLDAsMCwxMTQsNiwxLDAsMCwxMTQsCi0gICAgMSwxLDAsMCwxMTQsMjEzLDAsMCwwLDExNCwyMjEsMCwwLDAsMTE0LDE1NCwKLSAgICAwLDAsMCwxMTQsNjcsMCwwLDAsMTE0LDMsMSwwLDAsMTE0LDcsMCwKLSAgICAwLDAsMTE0LDczLDAsMCwwLDQxLDIsMTE0LDcxLDAsMCwwLDExNCwxODAsCisgICAgMTMsMSwxNCwyLDYsMSwzLDEsMTMsMSwxMywxLDExLDEsMywxLAorICAgIDE5LDEsMTMsMSwxMSwyLDIxLDEsMjcsMSw5LDEsOSwxLDExNCwyNDcsCisgICAgMCwwLDAsMjE4LDgsMTExLDExOCwxMDEsMTE0LDExNCwxMDUsMTAwLDEwMSw3MCw5OSwyLAorICAgIDAsMCwwLDEsMCwwLDAsNCwwLDAsMCw1OSwwLDAsMCw2NywKKyAgICAwLDAsMCwxMTUsMjcsMiwwLDAsMTI0LDIsMCwxMTUsMzAsMCwxMTYsMCwKKyAgICAwLDEyNCwxLDAsMTAwLDEsMCwxMDAsMCwwLDEzMSwzLDAsMTAwLDAsMCwKKyAgICAxMDcsOCwwLDExNCw2NywwLDEyMSwxNiwwLDEyNCwwLDAsMTA2LDEsMCwxMjQsCisgICAgMSwwLDk1LDIsMCw4NywxMTAsMTgsMCw0LDExNiwzLDAsMTA3LDEwLDAsCisgICAgMTE0LDY2LDAsMSwxLDEsODksMTEwLDEsMCw4OCwxMjQsMiwwLDExNSw5NywKKyAgICAwLDExNiwwLDAsMTI0LDEsMCwxMDAsMiwwLDEwMCwwLDAsMTMxLDMsMCwKKyAgICAxMDAsMCwwLDEwNyw4LDAsMTE0LDE5NCwwLDEyNCwwLDAsMTA2LDQsMCwxMjUsCisgICAgMywwLDEyNCwzLDAsMTAwLDAsMCwxMDcsOCwwLDExNCwxNjAsMCwxMjQsMCwKKyAgICAwLDEwNiw1LDAsMTAwLDAsMCwxMDcsOSwwLDExNCwxNjAsMCwxMTYsNiwwLAorICAgIDEwNiw3LDAsMTE2LDYsMCwxMzEsMSwwLDEyNSwzLDAsMTI0LDAsMCwxMDYsCisgICAgNSwwLDEyNCwzLDAsOTUsOCwwLDEyMSwxMywwLDEyNCwzLDAsMTI0LDEsCisgICAgMCw5NSw5LDAsODcsMTEwLDE4LDAsNCwxMTYsMywwLDEwNywxMCwwLDExNCwKKyAgICAxOTMsMCwxLDEsMSw4OSwxMTAsMSwwLDg4LDEyNCwyLDAsMTE1LDIyNCwwLAorICAgIDExNiwwLDAsMTI0LDEsMCwxMDAsMywwLDEwMCwwLDAsMTMxLDMsMCwxMDAsCisgICAgMCwwLDEwNyw4LDAsMTE0LDUsMSwxMjEsMTYsMCwxMjQsMCwwLDEwNiwxMCwKKyAgICAwLDEyNCwxLDAsOTUsMTEsMCw4NywxMTAsMTgsMCw0LDExNiwzLDAsMTA3LAorICAgIDEwLDAsMTE0LDQsMSwxLDEsMSw4OSwxMTAsMSwwLDg4LDEyMSwxMywwLAorICAgIDEyNCwwLDAsMTI0LDEsMCw5NSwxMiwwLDg3LDExMCwxOCwwLDQsMTE2LDMsCisgICAgMCwxMDcsMTAsMCwxMTQsMzgsMSwxLDEsMSw4OSwxMTAsMSwwLDg4LDEyNCwKKyAgICAyLDAsMTE1LDY5LDEsMTE2LDAsMCwxMjQsMSwwLDEwMCw0LDAsMTAwLDAsCisgICAgMCwxMzEsMywwLDEwMCwwLDAsMTA3LDgsMCwxMTQsMTIxLDEsMTI0LDAsMCwKKyAgICAxMDYsNSwwLDEwMCwwLDAsMTA3LDksMCwxMTQsMTIxLDEsMTIxLDE2LDAsMTI0LAorICAgIDAsMCwxMDYsNSwwLDEyNCwxLDAsOTUsMTMsMCw4NywxMTAsMTgsMCw0LAorICAgIDExNiwzLDAsMTA3LDEwLDAsMTE0LDEyMCwxLDEsMSwxLDg5LDExMCwxLDAsCisgICAgODgsMTI0LDAsMCwxMDYsMTQsMCwxMTQsMjMsMiwxMjQsMiwwLDExNSwxNjAsMSwKKyAgICAxMTYsMCwwLDEyNCwxLDAsMTAwLDUsMCwxMDAsMCwwLDEzMSwzLDAsMTAwLAorICAgIDAsMCwxMDcsOCwwLDExNCwxOTcsMSwxMjEsMTYsMCwxMjQsMCwwLDEwNiwxNSwKKyAgICAwLDEyNCwxLDAsOTUsMTYsMCw4NywxMTAsMTgsMCw0LDExNiwzLDAsMTA3LAorICAgIDEwLDAsMTE0LDE5NiwxLDEsMSwxLDg5LDExMCwxLDAsODgsMTI0LDIsMCwKKyAgICAxMTUsMjI3LDEsMTE2LDAsMCwxMjQsMSwwLDEwMCw2LDAsMTAwLDAsMCwxMzEsCisgICAgMywwLDEwMCwwLDAsMTA3LDgsMCwxMTQsMjMsMiwxMjQsMCwwLDEwNiwxNywKKyAgICAwLDEwMCwwLDAsMTA3LDksMCwxMTQsMjMsMiwxMjEsMTYsMCwxMjQsMCwwLAorICAgIDEwNiwxNywwLDEyNCwxLDAsOTUsMTgsMCw4NywxMTAsMTgsMCw0LDExNiwzLAorICAgIDAsMTA3LDEwLDAsMTE0LDIyLDIsMSwxLDEsODksMTEwLDEsMCw4OCwxMjQsCisgICAgMSwwLDgzLDQxLDcsNzgsMTE0LDU3LDAsMCwwLDExNCwyMDMsMCwwLDAsCisgICAgMjE4LDExLDk1LDk1LDExMiw5Nyw5OSwxMDcsOTcsMTAzLDEwMSw5NSw5NSwxMTQsMjQ2LDAsCisgICAgMCwwLDExNCwyMTAsMCwwLDAsMTE0LDI0NCwwLDAsMCw0MSwxOSwxMTQsNjIsCisgICAgMCwwLDAsMTE0LDY3LDAsMCwwLDExNCw1NywwLDAsMCwxMTQsMjA4LDAsCisgICAgMCwwLDExNCwxNzAsMCwwLDAsMTE0LDIyMCwwLDAsMCwyMTgsMTYsOTUsNzgsCisgICAgOTcsMTA5LDEwMSwxMTUsMTEyLDk3LDk5LDEwMSw3NiwxMTEsOTcsMTAwLDEwMSwxMTQsMjE4LDcsCisgICAgOTUsOTUsMTEwLDEwMSwxMTksOTUsOTUsMjE4LDUsOTUsMTEyLDk3LDExNiwxMDQsMTE0LDIwMywKKyAgICAwLDAsMCwxMTQsMjMzLDAsMCwwLDExNCwyNDksMCwwLDAsMTE0LDIwNywwLAorICAgIDAsMCwxMTQsMjQ2LDAsMCwwLDExNCwyMjYsMCwwLDAsMTE0LDIxNywwLDAsCisgICAgMCwxMTQsMjEwLDAsMCwwLDExNCwyMjUsMCwwLDAsMTE0LDI0NCwwLDAsMCwKKyAgICA0MSw0LDExNCwxNzcsMCwwLDAsMTE0LDE3OCwwLDAsMCwxMTQsMjQ4LDAsMCwKKyAgICAwLDExNCwxNzAsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsCisgICAgMTE0LDUsMCwwLDAsMjE4LDE4LDk1LDEwNSwxMTAsMTA1LDExNiw5NSwxMDksMTExLDEwMCwKKyAgICAxMTcsMTA4LDEwMSw5NSw5NywxMTYsMTE2LDExNCwxMTUsMjI2LDMsMCwwLDExNSw4NiwwLAorICAgIDAsMCwwLDQsMzAsMSwzLDEsMTYsMSwxMywxLDUsMiwzMCwxLAorICAgIDksMSwxMiwyLDE1LDEsMTUsMSwxMiwxLDMsMSwxMywxLDEzLDEsCisgICAgNSwyLDMwLDEsMywxLDE2LDEsMTMsMSw1LDIsMywxLDEzLDEsCisgICAgMTMsMSw1LDIsMzAsMSwxNSwxLDMsMSwxNiwxLDEzLDEsNSwyLAorICAgIDksMSwzMCwxLDMsMSwxNiwxLDEzLDEsNSwyLDMwLDEsMTUsMSwKKyAgICAzLDEsMTYsMSwxMywxLDUsMSwxMTQsMjUzLDAsMCwwLDk5LDEsMCwKKyAgICAwLDAsMCwwLDAsMCwyLDAsMCwwLDUsMCwwLDAsNjcsMCwKKyAgICAwLDAsMTE1LDEyOSwwLDAsMCwxMDAsMSwwLDEyNSwxLDAsMTE2LDAsMCwKKyAgICAxMjQsMCwwLDEwNiwxLDAsMTAwLDIsMCwxMzEsMiwwLDExNCw0NSwwLDEyNCwKKyAgICAwLDAsMTA2LDEsMCwxMDYsMiwwLDEyNCwwLDAsMTMxLDEsMCwxMjUsMSwKKyAgICAwLDExMCw0MCwwLDExNiwwLDAsMTI0LDAsMCwxMDYsMSwwLDEwMCwzLDAsCisgICAgMTMxLDIsMCwxMTQsODUsMCwxMTYsMywwLDEwNiw0LDAsMTAwLDQsMCwxMTYsCisgICAgNSwwLDEwMCw1LDAsMTAwLDYsMCwxMzEsMiwxLDEsMTI0LDEsMCwxMDAsCisgICAgMSwwLDEwNyw4LDAsMTE0LDExMiwwLDExNiw2LDAsMTI0LDAsMCwxMDYsNywKKyAgICAwLDEzMSwxLDAsMTI1LDEsMCwxMTYsOCwwLDEyNCwwLDAsMTI0LDEsMCwKKyAgICAxMzEsMiwwLDEsMTI0LDEsMCw4Myw0MSw3LDEyMiw0Myw2NywxMTQsMTAxLDk3LAorICAgIDExNiwxMDEsMzIsOTcsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMzIsOTgsOTcsMTE1LDEwMSwKKyAgICAxMDAsMzIsMTExLDExMCwzMiwxMTYsMTA0LDEwMSwzMiwxMTIsMTE0LDExMSwxMTgsMTA1LDEwMCwxMDEsCisgICAgMTAwLDMyLDExNSwxMTIsMTAxLDk5LDQ2LDc4LDIxOCwxMyw5OSwxMTQsMTAxLDk3LDExNiwxMDEsCisgICAgOTUsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMjE4LDExLDEwMSwxMjAsMTAxLDk5LDk1LDEwOSwxMTEsCisgICAgMTAwLDExNywxMDgsMTAxLDEyMiw4NywxMTUsMTE2LDk3LDExNCwxMTYsMTA1LDExMCwxMDMsMzIsMTA1LAorICAgIDExMCwzMiw4MCwxMjEsMTE2LDEwNCwxMTEsMTEwLDMyLDUxLDQ2LDU0LDQ0LDMyLDEwOCwxMTEsCisgICAgOTcsMTAwLDEwMSwxMTQsMTE1LDMyLDEwMCwxMDEsMTAyLDEwNSwxMTAsMTA1LDExMCwxMDMsMzIsMTAxLAorICAgIDEyMCwxMDEsOTksOTUsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsNDAsNDEsMzIsMTA5LDExNywxMTUsCisgICAgMTE2LDMyLDk3LDEwOCwxMTUsMTExLDMyLDEwMCwxMDEsMTAyLDEwNSwxMTAsMTAxLDMyLDk5LDExNCwKKyAgICAxMDEsOTcsMTE2LDEwMSw5NSwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSw0MCw0MSw5MCwxMCwxMTUsCisgICAgMTE2LDk3LDk5LDEwNywxMDgsMTAxLDExOCwxMDEsMTA4LDExNCwxMTUsMCwwLDAsNDEsOSwKKyAgICAxMTQsNjAsMCwwLDAsMTE0LDE3MCwwLDAsMCwxMTQsMjU0LDAsMCwwLDExNCwKKyAgICAxNjcsMCwwLDAsMTE0LDE2OCwwLDAsMCwyMTgsMTgsNjgsMTAxLDExMiwxMTQsMTAxLAorICAgIDk5LDk3LDExNiwxMDUsMTExLDExMCw4Nyw5NywxMTQsMTEwLDEwNSwxMTAsMTAzLDExNCw2OCwwLAorICAgIDAsMCwxMTQsNjcsMCwwLDAsMTE0LDI1MywwLDAsMCw0MSwyLDExNCwxNzcsCisgICAgMCwwLDAsMTE0LDE3OCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLAorICAgIDAsMCwxMTQsNSwwLDAsMCwyMTgsMTYsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsOTUsCisgICAgMTAyLDExNCwxMTEsMTA5LDk1LDExNSwxMTIsMTAxLDk5LDI2LDQsMCwwLDExNSwyMCwwLAorICAgIDAsMCwwLDMsNiwxLDE4LDMsMjEsMSwxOCwxLDksMiwxMywxLAorICAgIDEyLDEsMTUsMSwxMywxLDExNCwxLDEsMCwwLDk5LDEsMCwwLDAsCisgICAgMCwwLDAsMCwyLDAsMCwwLDMsMCwwLDAsNjcsMCwwLDAsCisgICAgMTE1LDE0OSwwLDAsMCwxMjQsMCwwLDEwNiwwLDAsMTAwLDEsMCwxMDcsOCwKKyAgICAwLDExNCwyMSwwLDEwMCwyLDAsMTEwLDYsMCwxMjQsMCwwLDEwNiwwLDAsCisgICAgMTI1LDEsMCwxMjQsMCwwLDEwNiwxLDAsMTAwLDEsMCwxMDcsOCwwLDExNCwKKyAgICA5NSwwLDEyNCwwLDAsMTA2LDIsMCwxMDAsMSwwLDEwNyw4LDAsMTE0LDczLAorICAgIDAsMTAwLDMsMCwxMDYsMywwLDEyNCwxLDAsMTMxLDEsMCw4MywxMDAsNCwKKyAgICAwLDEwNiwzLDAsMTI0LDEsMCwxMjQsMCwwLDEwNiwyLDAsMTMxLDIsMCwKKyAgICA4MywxMTAsNTAsMCwxMjQsMCwwLDEwNiw0LDAsMTE0LDEyMywwLDEwMCw1LDAsCisgICAgMTA2LDMsMCwxMjQsMSwwLDEyNCwwLDAsMTA2LDEsMCwxMzEsMiwwLDgzLAorICAgIDEwMCw2LDAsMTA2LDMsMCwxMjQsMCwwLDEwNiwwLDAsMTI0LDAsMCwxMDYsCisgICAgMSwwLDEzMSwyLDAsODMsMTAwLDEsMCw4Myw0MSw3LDEyMiwzOCw4MiwxMDEsCisgICAgMTE2LDExNywxMTQsMTEwLDMyLDExNiwxMDQsMTAxLDMyLDExNCwxMDEsMTEyLDExNCwzMiwxMTYsMTExLAorICAgIDMyLDExNywxMTUsMTAxLDMyLDEwMiwxMTEsMTE0LDMyLDExNiwxMDQsMTAxLDMyLDEwOSwxMTEsMTAwLAorICAgIDExNywxMDgsMTAxLDQ2LDc4LDExNCwyMDUsMCwwLDAsMTIyLDEzLDYwLDEwOSwxMTEsMTAwLAorICAgIDExNywxMDgsMTAxLDMyLDEyMywzMywxMTQsMTI1LDYyLDEyMiwyMCw2MCwxMDksMTExLDEwMCwxMTcsCisgICAgMTA4LDEwMSwzMiwxMjMsMzMsMTE0LDEyNSwzMiw0MCwxMjMsMzMsMTE0LDEyNSw0MSw2MiwxMjIsCisgICAgMjMsNjAsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMzIsMTIzLDMzLDExNCwxMjUsMzIsMTAyLDExNCwKKyAgICAxMTEsMTA5LDMyLDEyMywzMywxMTQsMTI1LDYyLDEyMiwxOCw2MCwxMDksMTExLDEwMCwxMTcsMTA4LAorICAgIDEwMSwzMiwxMjMsMzMsMTE0LDEyNSwzMiw0MCwxMjMsMTI1LDQxLDYyLDQxLDUsMTE0LDY3LAorICAgIDAsMCwwLDExNCwyMTcsMCwwLDAsMTE0LDE3MCwwLDAsMCwxMTQsNDcsMCwKKyAgICAwLDAsMTE0LDIyNiwwLDAsMCw0MSwyLDExNCwxNzcsMCwwLDAsMTE0LDY3LAogICAgIDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsCi0gICAgMCwwLDIxOCwxNCw5NSwxMDgsMTExLDk3LDEwMCw5NSwxMTcsMTEwLDEwOCwxMTEsOTksMTA3LAotICAgIDEwMSwxMDAsMTYyLDQsMCwwLDExNSwyMCwwLDAsMCwwLDIsMTgsMiwyMSwKLSAgICAxLDEzLDIsMTIsMSwxMywxLDE4LDEsMTgsMSwzMCwzLDE5LDUsMTIyLAotICAgIDI3LDk1LDgzLDExMiwxMDEsOTksNzcsMTAxLDExNiwxMDQsMTExLDEwMCwxMTUsNDYsOTUsMTA4LAotICAgIDExMSw5NywxMDAsOTUsMTE3LDExMCwxMDgsMTExLDk5LDEwNywxMDEsMTAwLDk5LDEsMCwwLAotICAgIDAsMCwwLDAsMCwxLDAsMCwwLDgsMCwwLDAsNjcsMCwwLAotICAgIDAsMTE1LDQ5LDAsMCwwLDExNiwwLDAsMTA2LDEsMCwxMzEsMCwwLDEsCi0gICAgMTE2LDIsMCwxMjQsMCwwLDEwNiwzLDAsMTA2LDQsMCwxMzEsMSwwLDE0MywKLSAgICAxNSwwLDEsMTI0LDAsMCwxMDYsNSwwLDEzMSwwLDAsODMsODcsMTAwLDEsCi0gICAgMCw4MSw4OCwxMDAsMSwwLDgzLDQxLDIsMTIyLDIwNyw4MiwxMDEsMTE2LDExNywxMTQsCi0gICAgMTEwLDMyLDk3LDMyLDExMCwxMDEsMTE5LDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDMyLDExMSwKLSAgICA5OCwxMDYsMTAxLDk5LDExNiw0NCwzMiwxMDgsMTExLDk3LDEwMCwxMDEsMTAwLDMyLDk4LDEyMSwKLSAgICAzMiwxMTYsMTA0LDEwMSwzMiwxMTUsMTEyLDEwMSw5OSwzOSwxMTUsMzIsMTA4LDExMSw5NywxMDAsCi0gICAgMTAxLDExNCw0NiwxMCwxMCwzMiwzMiwzMiwzMiwzMiwzMiwzMiwzMiw4NCwxMDQsMTAxLAotICAgIDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDMyLDEwNSwxMTUsMzIsMTEwLDExMSwxMTYsMzIsOTcsCi0gICAgMTAwLDEwMCwxMDEsMTAwLDMyLDExNiwxMTEsMzIsMTA1LDExNiwxMTUsMzIsMTEyLDk3LDExNCwxMDEsCi0gICAgMTEwLDExNiw0NiwxMCwxMCwzMiwzMiwzMiwzMiwzMiwzMiwzMiwzMiw3MywxMDIsMzIsCi0gICAgOTcsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMzIsMTA1LDExNSwzMiw5NywxMDgsMTE0LDEwMSwKLSAgICA5NywxMDAsMTIxLDMyLDEwNSwxMTAsMzIsMTE1LDEyMSwxMTUsNDYsMTA5LDExMSwxMDAsMTE3LDEwOCwKLSAgICAxMDEsMTE1LDQ0LDMyLDExNiwxMDQsOTcsMTE2LDMyLDEwMSwxMjAsMTA1LDExNSwxMTYsMTA1LDExMCwKLSAgICAxMDMsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMzIsMTAzLDEwMSwxMTYsMTE1LDEwLDMyLDMyLAotICAgIDMyLDMyLDMyLDMyLDMyLDMyLDk5LDEwOCwxMTEsOTgsOTgsMTAxLDExNCwxMDEsMTAwLDQ2LAotICAgIDEwLDEwLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDc4LDQxLDYsMTE0LDEwNiwwLAotICAgIDAsMCwxMTQsNCwxLDAsMCwxMTQsMTAzLDAsMCwwLDExNCwxNzgsMCwwLAotICAgIDAsMTE0LDY3LDAsMCwwLDExNCw3LDEsMCwwLDQxLDEsMTE0LDcxLDAsCi0gICAgMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwKLSAgICAwLDExNCwxNzcsMCwwLDAsMTg1LDQsMCwwLDExNSw2LDAsMCwwLDAsCi0gICAgOSwxMCwxLDE5LDEsMTIyLDE3LDk1LDgzLDExMiwxMDEsOTksNzcsMTAxLDExNiwxMDQsCi0gICAgMTExLDEwMCwxMTUsNDYsMTA4LDExMSw5NywxMDAsNzgsNDEsMTMsMTE0LDU3LDAsMCwwLAotICAgIDExNCw1NiwwLDAsMCwxMTQsNTgsMCwwLDAsMTE0LDU5LDAsMCwwLDExNCwKLSAgICA3MiwwLDAsMCwxMTQsMjA2LDAsMCwwLDExNCwyNTUsMCwwLDAsMTE0LDEsCi0gICAgMSwwLDAsMTE0LDMsMSwwLDAsMTE0LDE3NiwwLDAsMCwxMTQsNiwxLAotICAgIDAsMCwxMTQsNywxLDAsMCwxMTQsMTc3LDAsMCwwLDExNCw0LDAsMCwKLSAgICAwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLAotICAgIDExNCwxNzUsMCwwLDAsMjI1LDMsMCwwLDExNSwyMCwwLDAsMCwxMiwzLAotICAgIDYsNCwxMiwzLDEyLDE2LDI0LDgwLDEyLDIzLDEyLDEwLDEyLDI0LDEyLDMwLAotICAgIDEyLDIzLDExNCwxNzUsMCwwLDAsOTksNCwwLDAsMCwwLDAsMCwwLAotICAgIDYsMCwwLDAsMTEsMCwwLDAsNjcsMCwwLDAsMTE1LDIwMSwwLDAsCisgICAgMCwwLDExNCwyMDksMCwwLDAsNDQsNCwwLDAsMTE1LDE2LDAsMCwwLAorICAgIDAsMywzMCwxLDE1LDEsMTUsMSwxMywyLDIyLDIsOSwxLDE5LDIsCisgICAgMTE0LDIwOSwwLDAsMCw5OSwyLDAsMCwwLDAsMCwwLDAsNCwwLAorICAgIDAsMCwxMiwwLDAsMCw2NywwLDAsMCwxMTUsMjUyLDAsMCwwLDEyNCwKKyAgICAwLDAsMTA2LDAsMCwxMjUsMiwwLDExNiwxLDAsMTA2LDIsMCwxMzEsMCwKKyAgICAwLDEsMTE2LDMsMCwxMjQsMiwwLDEzMSwxLDAsMTQzLDIwOCwwLDEsMTE2LAorICAgIDQsMCwxMDYsNSwwLDEwNiw2LDAsMTI0LDIsMCwxMzEsMSwwLDEyNCwxLAorICAgIDAsMTA3LDksMCwxMTQsODksMCwxMDAsMSwwLDEwNiw3LDAsMTI0LDIsMCwKKyAgICAxMzEsMSwwLDEyNSwzLDAsMTE2LDgsMCwxMjQsMywwLDEwMCwyLDAsMTI0LAorICAgIDIsMCwxMzEsMSwxLDEzMCwxLDAsMTI0LDAsMCwxMDYsOSwwLDEwMCwzLAorICAgIDAsMTA3LDgsMCwxMTQsMTYzLDAsMTI0LDAsMCwxMDYsMTAsMCwxMDAsMywwLAorICAgIDEwNyw4LDAsMTE0LDE0MCwwLDExNiw4LDAsMTAwLDQsMCwxMDAsMiwwLDEyNCwKKyAgICAwLDAsMTA2LDAsMCwxMzEsMSwxLDEzMCwxLDAsMTE2LDExLDAsMTI0LDAsCisgICAgMCwxMjQsMSwwLDEwMCw1LDAsMTAwLDYsMCwxMzEsMiwxLDEsMTI0LDEsCisgICAgMCw4MywxMTYsMTEsMCwxMjQsMCwwLDEyNCwxLDAsMTAwLDUsMCwxMDAsNiwKKyAgICAwLDEzMSwyLDEsMSwxMTYsMTIsMCwxMjQsMCwwLDEwNiw5LDAsMTAwLDcsCisgICAgMCwxMzEsMiwwLDExNSwyMTksMCwxMjQsMCwwLDEwNiw5LDAsMTA2LDEzLDAsCisgICAgMTI0LDIsMCwxMzEsMSwwLDEsMTEwLDE2LDAsMTI0LDAsMCwxMDYsOSwwLAorICAgIDEwNiwxNCwwLDEyNCwxLDAsMTMxLDEsMCwxLDg3LDEwMCwzLDAsODEsODgsCisgICAgMTE2LDQsMCwxMDYsNSwwLDEyNCwyLDAsMjUsODMsNDEsOCwxMjIsNTEsNjksCisgICAgMTIwLDEwMSw5OSwxMTcsMTE2LDEwMSwzMiwxMTYsMTA0LDEwMSwzMiwxMTUsMTEyLDEwMSw5OSwzMiwKKyAgICAxMDUsMTEwLDMyLDk3LDExMCwzMiwxMDEsMTIwLDEwNSwxMTUsMTE2LDEwNSwxMTAsMTAzLDMyLDEwOSwKKyAgICAxMTEsMTAwLDExNywxMDgsMTAxLDM5LDExNSwzMiwxMTAsOTcsMTA5LDEwMSwxMTUsMTEyLDk3LDk5LAorICAgIDEwMSw0NiwxMjIsMzAsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMzIsMTIzLDMzLDExNCwxMjUsMzIsCisgICAgMTEwLDExMSwxMTYsMzIsMTA1LDExMCwzMiwxMTUsMTIxLDExNSw0NiwxMDksMTExLDEwMCwxMTcsMTA4LAorICAgIDEwMSwxMTUsMTE0LDY3LDAsMCwwLDc4LDEyMiwxNCwxMDksMTA1LDExNSwxMTUsMTA1LDExMCwKKyAgICAxMDMsMzIsMTA4LDExMSw5NywxMDAsMTAxLDExNCwxMTQsMjQ4LDAsMCwwLDg0LDExNCwyNTUsCisgICAgMCwwLDAsNDEsMTUsMTE0LDY3LDAsMCwwLDExNCwxMDYsMCwwLDAsMjE4LAorICAgIDEyLDk3LDk5LDExMywxMTcsMTA1LDExNCwxMDEsOTUsMTA4LDExMSw5OSwxMDcsMTE0LDEwMywwLAorICAgIDAsMCwxMTQsNywwLDAsMCwxMTQsNzMsMCwwLDAsMTE0LDkzLDAsMCwKKyAgICAwLDExNCw0NywwLDAsMCwxMTQsMTU0LDAsMCwwLDExNCwxNzAsMCwwLDAsCisgICAgMTE0LDIyMCwwLDAsMCwxMTQsMjUzLDAsMCwwLDExNCw2MCwwLDAsMCwyMTgsCisgICAgMTEsMTA4LDExMSw5NywxMDAsOTUsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMTE0LDI1NSwwLDAsCisgICAgMCw0MSw0LDExNCwxNzcsMCwwLDAsMTE0LDE3OCwwLDAsMCwxMTQsNjcsMCwKKyAgICAwLDAsMTE0LDE3MiwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsCisgICAgMCwxMTQsNSwwLDAsMCwxMTQsMTc1LDAsMCwwLDYxLDQsMCwwLDExNSwKKyAgICAzMiwwLDAsMCwwLDIsOSwxLDEwLDEsMTMsMSwyNCwxLDE1LDEsCisgICAgMTgsMSwxNSwxLDE1LDEsMjEsMiwxOSwxLDQsMSwxOSwxLDE4LDQsCisgICAgMTksMiwyMiwxLDExNCwxNzUsMCwwLDAsOTksMSwwLDAsMCwwLDAsCisgICAgMCwwLDIsMCwwLDAsMjcsMCwwLDAsNjcsMCwwLDAsMTE1LDMsCisgICAgMSwwLDAsMTI0LDAsMCwxMDYsMCwwLDEwNiwxLDAsMTI0LDAsMCwxMDYsCisgICAgMiwwLDEzMSwxLDAsMSwxMTYsMywwLDEwNiw0LDAsMTI0LDAsMCwxMDYsCisgICAgMiwwLDI1LDEyNSwxLDAsMTE2LDUsMCwxMjQsMSwwLDEwMCwxLDAsMTAwLAorICAgIDAsMCwxMzEsMywwLDEwMCwwLDAsMTA3LDgsMCwxMTQsOTYsMCwxMjEsMTYsCisgICAgMCwxMjQsMCwwLDEwNiwwLDAsMTI0LDEsMCw5NSw2LDAsODcsMTEwLDE4LAorICAgIDAsNCwxMTYsNywwLDEwNywxMCwwLDExNCw5NSwwLDEsMSwxLDg5LDExMCwKKyAgICAxLDAsODgsMTE2LDUsMCwxMjQsMSwwLDEwMCwyLDAsMTAwLDAsMCwxMzEsCisgICAgMywwLDEwMCwwLDAsMTA3LDgsMCwxMTQsMTk3LDAsMTIxLDU2LDAsMTI0LDEsCisgICAgMCwxMDYsOCwwLDEyNCwxLDAsOTUsOSwwLDExNiwxMCwwLDEyNCwxLDAsCisgICAgMTAwLDMsMCwxMzEsMiwwLDExNSwxNzUsMCwxMjQsMCwwLDEwNiwyLDAsMTA2LAorICAgIDExLDAsMTAwLDQsMCwxMzEsMSwwLDEwMCw1LDAsMjUsMTI0LDEsMCw5NSwKKyAgICA5LDAsODcsMTEwLDE4LDAsNCwxMTYsNywwLDEwNywxMCwwLDExNCwxOTYsMCwKKyAgICAxLDEsMSw4OSwxMTAsMSwwLDg4LDExNiw1LDAsMTI0LDEsMCwxMDAsNiwKKyAgICAwLDEwMCwwLDAsMTMxLDMsMCwxMDAsMCwwLDEwNyw4LDAsMTE0LDI1NSwwLAorICAgIDEyMSwxMywwLDEyNCwwLDAsMTI0LDEsMCw5NSwxMiwwLDg3LDExMCwxOCwwLAorICAgIDQsMTE2LDcsMCwxMDcsMTAsMCwxMTQsMjU0LDAsMSwxLDEsODksMTEwLDEsCisgICAgMCw4OCwxMjQsMSwwLDgzLDQxLDcsNzgsMTE0LDIwMywwLDAsMCwxMTQsMjQ5LAorICAgIDAsMCwwLDExNCwyNDYsMCwwLDAsMTE0LDExNiwwLDAsMCwxMTQsODQsMCwKKyAgICAwLDAsMTE0LDIwNywwLDAsMCw0MSwxMywxMTQsMTcwLDAsMCwwLDExNCwzLAorICAgIDEsMCwwLDExNCw2NywwLDAsMCwxMTQsNywwLDAsMCwxMTQsNzMsMCwKKyAgICAwLDAsMTE0LDYyLDAsMCwwLDExNCwyMDMsMCwwLDAsMTE0LDIwOCwwLDAsCisgICAgMCwxMTQsNTcsMCwwLDAsMTE0LDI0OSwwLDAsMCwxMTQsNjAsMCwwLDAsCisgICAgMTE0LDMyLDAsMCwwLDExNCwyMDcsMCwwLDAsNDEsMiwxMTQsMTc3LDAsMCwKKyAgICAwLDExNCwxNzgsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsCisgICAgMTE0LDUsMCwwLDAsMjE4LDI1LDk1LDEwOCwxMTEsOTcsMTAwLDk1LDk4LDk3LDk5LAorICAgIDEwNywxMTksOTcsMTE0LDEwMCw5NSw5OSwxMTEsMTA5LDExMiw5NywxMTYsMTA1LDk4LDEwOCwxMDEsCisgICAgODYsNCwwLDAsMTE1LDQwLDAsMCwwLDAsNCwxOSwyLDE2LDEsMjQsCisgICAgMSwzLDEsMTYsMSwxMywxLDUsMSwyNCwxLDMsNCwxMiwxLDE1LAorICAgIDEsMjksMSwxMywxLDUsMSwyNCwxLDMsMSwxMywxLDEzLDEsNSwKKyAgICAxLDExNCw0LDEsMCwwLDk5LDEsMCwwLDAsMCwwLDAsMCwyLAorICAgIDAsMCwwLDExLDAsMCwwLDY3LDAsMCwwLDExNSwxNTgsMCwwLDAsCisgICAgMTI0LDAsMCwxMDYsMCwwLDEwMCwwLDAsMTA3LDksMCwxMTQsNDMsMCwxMTYsCisgICAgMSwwLDEyNCwwLDAsMTA2LDAsMCwxMDAsMSwwLDEzMSwyLDAsMTE1LDQzLAorICAgIDAsMTE2LDIsMCwxMjQsMCwwLDEzMSwxLDAsODMsMTE2LDMsMCwxMjQsMCwKKyAgICAwLDEzMSwxLDAsMTI1LDEsMCwxMTYsNCwwLDEyNCwxLDAsMTMxLDEsMCwKKyAgICAxNDMsNzUsMCwxLDEyNCwwLDAsMTA2LDAsMCwxMDAsMCwwLDEwNyw4LDAsCisgICAgMTE0LDEyMiwwLDEyNCwwLDAsMTA2LDUsMCwxMDAsMCwwLDEwNyw4LDAsMTE0LAorICAgIDEzOCwwLDExNiw2LDAsMTAwLDIsMCwxMDAsMywwLDEyNCwwLDAsMTA2LDcsCisgICAgMCwxMzEsMSwxLDEzMCwxLDAsMTEwLDE2LDAsMTI0LDAsMCwxMDYsMCwwLAorICAgIDEwNiw4LDAsMTI0LDEsMCwxMzEsMSwwLDEsODcsMTAwLDAsMCw4MSw4OCwKKyAgICAxMTYsOSwwLDEwNiwxMCwwLDEyNCwwLDAsMTA2LDcsMCwyNSw4Myw0MSw0LAorICAgIDc4LDExNCwyNTUsMCwwLDAsMTIyLDE0LDEwOSwxMDUsMTE1LDExNSwxMDUsMTEwLDEwMywzMiwKKyAgICAxMDgsMTExLDk3LDEwMCwxMDEsMTE0LDExNCw2NywwLDAsMCw0MSwxMSwxMTQsMTcwLDAsCisgICAgMCwwLDExNCw2MCwwLDAsMCwxMTQsNCwxLDAsMCwxMTQsMSwxLDAsCisgICAgMCwxMTQsMjEyLDAsMCwwLDExNCwyMjAsMCwwLDAsMTE0LDE1NCwwLDAsMCwKKyAgICAxMTQsNjcsMCwwLDAsMTE0LDI1NSwwLDAsMCwxMTQsNywwLDAsMCwxMTQsCisgICAgNzMsMCwwLDAsNDEsMiwxMTQsMTc3LDAsMCwwLDExNCwxNzgsMCwwLDAsCisgICAgMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsMjE4LAorICAgIDE0LDk1LDEwOCwxMTEsOTcsMTAwLDk1LDExNywxMTAsMTA4LDExMSw5OSwxMDcsMTAxLDEwMCwxMTUsCisgICAgNCwwLDAsMTE1LDIwLDAsMCwwLDAsMiwxNSwyLDE4LDEsMTAsMiwKKyAgICAxMiwxLDEzLDEsMTUsMSwxNSwxLDI0LDMsMjIsNSwxMTQsNSwxLDAsCisgICAgMCw5OSwxLDAsMCwwLDAsMCwwLDAsMSwwLDAsMCw5LDAsCisgICAgMCwwLDY3LDAsMCwwLDExNSw0NiwwLDAsMCwxMTYsMCwwLDEwNiwxLAorICAgIDAsMTMxLDAsMCwxLDExNiwyLDAsMTI0LDAsMCwxMDYsMywwLDEzMSwxLAorICAgIDAsMTQzLDE1LDAsMSwxMTYsNCwwLDEyNCwwLDAsMTMxLDEsMCw4Myw4NywKKyAgICAxMDAsMSwwLDgxLDg4LDEwMCwxLDAsODMsNDEsMiwxMjIsMTkxLDgyLDEwMSwxMTYsCisgICAgMTE3LDExNCwxMTAsMzIsOTcsMzIsMTEwLDEwMSwxMTksMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsCisgICAgMzIsMTExLDk4LDEwNiwxMDEsOTksMTE2LDQ0LDMyLDEwOCwxMTEsOTcsMTAwLDEwMSwxMDAsMzIsCisgICAgOTgsMTIxLDMyLDExNiwxMDQsMTAxLDMyLDExNSwxMTIsMTAxLDk5LDM5LDExNSwzMiwxMDgsMTExLAorICAgIDk3LDEwMCwxMDEsMTE0LDQ2LDEwLDEwLDMyLDMyLDMyLDMyLDg0LDEwNCwxMDEsMzIsMTA5LAorICAgIDExMSwxMDAsMTE3LDEwOCwxMDEsMzIsMTA1LDExNSwzMiwxMTAsMTExLDExNiwzMiw5NywxMDAsMTAwLAorICAgIDEwMSwxMDAsMzIsMTE2LDExMSwzMiwxMDUsMTE2LDExNSwzMiwxMTIsOTcsMTE0LDEwMSwxMTAsMTE2LAorICAgIDQ2LDEwLDEwLDMyLDMyLDMyLDMyLDczLDEwMiwzMiw5NywzMiwxMDksMTExLDEwMCwxMTcsCisgICAgMTA4LDEwMSwzMiwxMDUsMTE1LDMyLDk3LDEwOCwxMTQsMTAxLDk3LDEwMCwxMjEsMzIsMTA1LDExMCwKKyAgICAzMiwxMTUsMTIxLDExNSw0NiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwxMTUsNDQsMzIsMTE2LDEwNCwKKyAgICA5NywxMTYsMzIsMTAxLDEyMCwxMDUsMTE1LDExNiwxMDUsMTEwLDEwMywzMiwxMDksMTExLDEwMCwxMTcsCisgICAgMTA4LDEwMSwzMiwxMDMsMTAxLDExNiwxMTUsMTAsMzIsMzIsMzIsMzIsOTksMTA4LDExMSw5OCwKKyAgICA5OCwxMDEsMTE0LDEwMSwxMDAsNDYsMTAsMTAsMzIsMzIsMzIsMzIsNzgsNDEsNSwxMTQsCisgICAgMTA2LDAsMCwwLDExNCwyLDEsMCwwLDExNCwxMDMsMCwwLDAsMTE0LDY3LAorICAgIDAsMCwwLDExNCw1LDEsMCwwLDQxLDEsMTE0LDE3NywwLDAsMCwxMTQsCisgICAgNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsMTc2LAorICAgIDAsMCwwLDEzOCw0LDAsMCwxMTUsNiwwLDAsMCwwLDksMTAsMSwKKyAgICAxNiwxLDExNCwxNzYsMCwwLDAsOTksNCwwLDAsMCwwLDAsMCwwLAorICAgIDYsMCwwLDAsMTEsMCwwLDAsNjcsMCwwLDAsMTE1LDE5NSwwLDAsCiAgICAgMCwxMjQsMCwwLDEwNiwwLDAsMTAwLDEsMCwxMzEsMSwwLDEyNSw0LDAsCiAgICAgMTI0LDAsMCwxMDYsMCwwLDEwMCwyLDAsMTMxLDEsMCwxMjUsNSwwLDEyNCwKLSAgICA0LDAsMTE1LDEwMiwwLDEyNCw1LDAsMTE0LDU0LDAsMTI0LDUsMCwxMDYsMSwKLSAgICAwLDEyNSw0LDAsMTEzLDEwMiwwLDEyNCwyLDAsMTI0LDMsMCwxMDcsMiwwLAorICAgIDQsMCwxMTUsOTksMCwxMjQsNSwwLDExNCw1NCwwLDEyNCw1LDAsMTA2LDEsCisgICAgMCwxMjUsNCwwLDExMCw0NSwwLDEyNCwyLDAsMTI0LDMsMCwxMDcsMiwwLAogICAgIDExNCw4NCwwLDExNiwyLDAsMTI0LDEsMCwxMjQsMiwwLDEzMSwyLDAsMTI1LAotICAgIDQsMCwxMTMsMTAyLDAsMTE2LDMsMCwxMjQsMSwwLDEyNCwyLDAsMTMxLDIsCi0gICAgMCwxMjUsNCwwLDExMCwwLDAsMTI0LDUsMCwxMTUsMTMyLDAsMTE2LDQsMCwKLSAgICAxMjQsMSwwLDEyNCwyLDAsMTAwLDMsMCwxMjQsNCwwLDEzMSwyLDEsMTI1LAotICAgIDUsMCwxMTAsMCwwLDEyMSw0NCwwLDEyNCw1LDAsMTI0LDAsMCwxMDAsMiwKLSAgICAwLDYwLDEyNCw0LDAsMTI0LDAsMCwxMDAsMSwwLDYwLDEyNCwyLDAsMTI0LAotICAgIDAsMCwxMDAsNCwwLDYwLDEyNCwzLDAsMTI0LDAsMCwxMDAsNSwwLDYwLAotICAgIDg3LDExMCwxOCwwLDQsMTE2LDUsMCwxMDcsMTAsMCwxMTQsMTk2LDAsMSwxLAotICAgIDEsODksMTEwLDEsMCw4OCwxMDAsMCwwLDgzLDQxLDYsNzgsMTE0LDIwNSwwLAotICAgIDAsMCwxMTQsMjA5LDAsMCwwLDExNCwxNzAsMCwwLDAsMTE0LDIxMSwwLDAsCi0gICAgMCwxMTQsMjQ1LDAsMCwwLDQxLDYsMTE0LDkzLDAsMCwwLDExNCwxNzAsMCwKLSAgICAwLDAsMjE4LDIwLDgzLDExMSwxMTcsMTE0LDk5LDEwMSwxMDgsMTAxLDExNSwxMTUsNzAsMTA1LAotICAgIDEwOCwxMDEsNzYsMTExLDk3LDEwMCwxMDEsMTE0LDIxOCwxNiw4MywxMTEsMTE3LDExNCw5OSwxMDEsCi0gICAgNzAsMTA1LDEwOCwxMDEsNzYsMTExLDk3LDEwMCwxMDEsMTE0LDExNCwyNDAsMCwwLDAsMTE0LAotICAgIDIwOCwwLDAsMCw0MSw2LDkwLDIsMTEwLDExNSwxMTQsNjcsMCwwLDAsOTAsCi0gICAgOCwxMTIsOTcsMTE2LDEwNCwxMTAsOTcsMTA5LDEwMSw5MCw5LDk5LDExMiw5NywxMTYsMTA0LAotICAgIDExMCw5NywxMDksMTAxLDExNCwxNzAsMCwwLDAsMTE0LDE3OCwwLDAsMCwxMTQsNCwKLSAgICAwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwyMTgsMTQsOTUsCi0gICAgMTAyLDEwNSwxMjAsOTUsMTE3LDExMiw5NSwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwxOTksNCwwLAotICAgIDAsMTE1LDM0LDAsMCwwLDAsMiwxNSwxLDE1LDEsNiwxLDYsMSwKLSAgICAxMiwxLDEyLDEsMTgsMiwxOCwxLDYsMSwyNCwxLDMsMSwxMCwxLAotICAgIDEwLDEsMTAsMSwxNCwxLDEzLDIsMTE0LDEwLDEsMCwwLDk5LDAsMCwKLSAgICAwLDAsMCwwLDAsMCwwLDAsMCwwLDUsMCwwLDAsNjQsMCwKLSAgICAwLDAsMTE1LDE4MSwwLDAsMCwxMDEsMCwwLDkwLDEsMCwxMDAsMCwwLAotICAgIDkwLDIsMCwxMDAsMSwwLDkwLDMsMCwxMDEsNCwwLDEwMCwyLDAsMTAwLAotICAgIDMsMCwxMzIsMCwwLDEzMSwxLDAsOTAsNSwwLDEwMSw2LDAsMTAwLDQsCi0gICAgMCwxMDAsNCwwLDEwMCw1LDAsMTAwLDYsMCwxMzIsMiwwLDEzMSwxLDAsCi0gICAgOTAsNywwLDEwMSw2LDAsMTAwLDQsMCwxMDAsNywwLDEwMCw4LDAsMTMyLAotICAgIDEsMCwxMzEsMSwwLDkwLDgsMCwxMDEsNiwwLDEwMSw5LDAsMTAwLDksCi0gICAgMCwxMDAsMTAsMCwxMzIsMCwwLDEzMSwxLDAsMTMxLDEsMCw5MCwxMCwwLAotICAgIDEwMSw2LDAsMTAxLDksMCwxMDAsMTEsMCwxMDAsMTIsMCwxMzIsMCwwLDEzMSwKLSAgICAxLDAsMTMxLDEsMCw5MCwxMSwwLDEwMSw2LDAsMTAxLDksMCwxMDAsMTMsCi0gICAgMCwxMDAsMTQsMCwxMzIsMCwwLDEzMSwxLDAsMTMxLDEsMCw5MCwxMiwwLAotICAgIDEwMSw2LDAsMTAxLDksMCwxMDAsMTUsMCwxMDAsMTYsMCwxMzIsMCwwLDEzMSwKLSAgICAxLDAsMTMxLDEsMCw5MCwxMywwLDEwMCw0LDAsODMsNDEsMTcsMjE4LDE1LAotICAgIDY2LDExNywxMDUsMTA4LDExNiwxMDUsMTEwLDczLDEwOSwxMTIsMTExLDExNCwxMTYsMTAxLDExNCwxMjIsCi0gICAgMTQ0LDc3LDEwMSwxMTYsOTcsMzIsMTEyLDk3LDExNiwxMDQsMzIsMTA1LDEwOSwxMTIsMTExLDExNCwKLSAgICAxMTYsMzIsMTAyLDExMSwxMTQsMzIsOTgsMTE3LDEwNSwxMDgsMTE2LDQ1LDEwNSwxMTAsMzIsMTA5LAotICAgIDExMSwxMDAsMTE3LDEwOCwxMDEsMTE1LDQ2LDEwLDEwLDMyLDMyLDMyLDMyLDY1LDEwOCwxMDgsCi0gICAgMzIsMTA5LDEwMSwxMTYsMTA0LDExMSwxMDAsMTE1LDMyLDk3LDExNCwxMDEsMzIsMTAxLDEwNSwxMTYsCi0gICAgMTA0LDEwMSwxMTQsMzIsOTksMTA4LDk3LDExNSwxMTUsMzIsMTExLDExNCwzMiwxMTUsMTE2LDk3LAotICAgIDExNiwxMDUsOTksMzIsMTA5LDEwMSwxMTYsMTA0LDExMSwxMDAsMTE1LDMyLDExNiwxMTEsMzIsOTcsCi0gICAgMTE4LDExMSwxMDUsMTAwLDMyLDExNiwxMDQsMTAxLDMyLDExMCwxMDEsMTAxLDEwMCwzMiwxMTYsMTExLAotICAgIDEwLDMyLDMyLDMyLDMyLDEwNSwxMTAsMTE1LDExNiw5NywxMTAsMTE2LDEwNSw5NywxMTYsMTAxLAotICAgIDMyLDExNiwxMDQsMTAxLDMyLDk5LDEwOCw5NywxMTUsMTE1LDQ2LDEwLDEwLDMyLDMyLDMyLAotICAgIDMyLDk5LDEsMCwwLDAsMCwwLDAsMCwxLDAsMCwwLDIsMCwKLSAgICAwLDAsNjcsMCwwLDAsMTE1LDE2LDAsMCwwLDEwMCwxLDAsMTA2LDAsCi0gICAgMCwxMjQsMCwwLDEwNiwxLDAsMTMxLDEsMCw4Myw0MSwyLDEyMiwxMTUsODIsCi0gICAgMTAxLDExNiwxMTcsMTE0LDExMCwzMiwxMTQsMTAxLDExMiwxMTQsMzIsMTAyLDExMSwxMTQsMzIsMTE2LAotICAgIDEwNCwxMDEsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsNDYsMTAsMTAsMzIsMzIsMzIsMzIsCi0gICAgMzIsMzIsMzIsMzIsODQsMTA0LDEwMSwzMiwxMDksMTAxLDExNiwxMDQsMTExLDEwMCwzMiwxMDUsCi0gICAgMTE1LDMyLDEwMCwxMDEsMTEyLDExNCwxMDEsOTksOTcsMTE2LDEwMSwxMDAsNDYsMzIsMzIsODQsCi0gICAgMTA0LDEwMSwzMiwxMDUsMTA5LDExMiwxMTEsMTE0LDExNiwzMiwxMDksOTcsOTksMTA0LDEwNSwxMTAsCi0gICAgMTAxLDExNCwxMjEsMzIsMTAwLDExMSwxMDEsMTE1LDMyLDExNiwxMDQsMTAxLDMyLDEwNiwxMTEsOTgsCi0gICAgMzIsMTA1LDExNiwxMTUsMTAxLDEwOCwxMDIsNDYsMTAsMTAsMzIsMzIsMzIsMzIsMzIsMzIsCi0gICAgMzIsMzIsMTIyLDI0LDYwLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDMyLDEyMywzMywxMTQsMTI1LAotICAgIDMyLDQwLDk4LDExNywxMDUsMTA4LDExNiw0NSwxMDUsMTEwLDQxLDYyLDQxLDIsMTE0LDQ3LAotICAgIDAsMCwwLDExNCw1NywwLDAsMCw0MSwxLDExNCwxODAsMCwwLDAsMTE0LAotICAgIDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsMTE0LDIwNiwKLSAgICAwLDAsMCwyMzMsNCwwLDAsMTE1LDIsMCwwLDAsMCw3LDEyMiwyNywKLSAgICA2NiwxMTcsMTA1LDEwOCwxMTYsMTA1LDExMCw3MywxMDksMTEyLDExMSwxMTQsMTE2LDEwMSwxMTQsNDYsCi0gICAgMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsOTUsMTE0LDEwMSwxMTIsMTE0LDc4LDk5LDQsMCwwLAotICAgIDAsMCwwLDAsMCw0LDAsMCwwLDUsMCwwLDAsNjcsMCwwLAotICAgIDAsMTE1LDU4LDAsMCwwLDEyNCwyLDAsMTAwLDAsMCwxMDcsOSwwLDExNCwKLSAgICAxNiwwLDEwMCwwLDAsODMsMTE2LDAsMCwxMDYsMSwwLDEyNCwxLDAsMTMxLAotICAgIDEsMCwxMTQsNTAsMCwxMTYsMiwwLDEyNCwxLDAsMTI0LDAsMCwxMDAsMSwKLSAgICAwLDEwMCwyLDAsMTMxLDIsMSw4MywxMDAsMCwwLDgzLDEwMCwwLDAsODMsCi0gICAgNDEsMyw3OCwxMTQsMjE4LDAsMCwwLDEyMiw4LDk4LDExNywxMDUsMTA4LDExNiw0NSwKLSAgICAxMDUsMTEwLDQxLDMsMTE0LDEwNiwwLDAsMCw5MCwxMCwxMDUsMTE1LDk1LDk4LDExNywKLSAgICAxMDUsMTA4LDExNiwxMDUsMTEwLDExNCwxNzQsMCwwLDAsNDEsNCwyMTgsMyw5OSwxMDgsCi0gICAgMTE1LDExNCwxNTksMCwwLDAsMTE0LDM1LDAsMCwwLDIxOCw2LDExNiw5NywxMTQsCi0gICAgMTAzLDEwMSwxMTYsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwKLSAgICAwLDAsMjE4LDksMTAyLDEwNSwxMTAsMTAwLDk1LDExNSwxMTIsMTAxLDk5LDI0Miw0LDAsCi0gICAgMCwxMTUsMTAsMCwwLDAsMCwyLDEyLDEsNCwxLDE1LDEsMTksMiwKLSAgICAxMjIsMjUsNjYsMTE3LDEwNSwxMDgsMTE2LDEwNSwxMTAsNzMsMTA5LDExMiwxMTEsMTE0LDExNiwxMDEsCi0gICAgMTE0LDQ2LDEwMiwxMDUsMTEwLDEwMCw5NSwxMTUsMTEyLDEwMSw5OSw5OSwzLDAsMCwwLAotICAgIDAsMCwwLDAsNCwwLDAsMCwzLDAsMCwwLDY3LDAsMCwwLAotICAgIDExNSw0MSwwLDAsMCwxMjQsMCwwLDEwNiwwLDAsMTI0LDEsMCwxMjQsMiwKLSAgICAwLDEzMSwyLDAsMTI1LDMsMCwxMjQsMywwLDEwMCwxLDAsMTA3LDksMCwKLSAgICAxMTQsMzcsMCwxMjQsMywwLDEwNiwxLDAsODMsMTAwLDEsMCw4Myw0MSwyLAotICAgIDEyMiwxNzUsNzAsMTA1LDExMCwxMDAsMzIsMTE2LDEwNCwxMDEsMzIsOTgsMTE3LDEwNSwxMDgsMTE2LAotICAgIDQ1LDEwNSwxMTAsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsNDYsMTAsMTAsMzIsMzIsMzIsCi0gICAgMzIsMzIsMzIsMzIsMzIsNzMsMTAyLDMyLDM5LDExMiw5NywxMTYsMTA0LDM5LDMyLDEwNSwKLSAgICAxMTUsMzIsMTAxLDExOCwxMDEsMTE0LDMyLDExNSwxMTIsMTAxLDk5LDEwNSwxMDIsMTA1LDEwMSwxMDAsCi0gICAgMzIsMTE2LDEwNCwxMDEsMTEwLDMyLDExNiwxMDQsMTAxLDMyLDExNSwxMDEsOTcsMTE0LDk5LDEwNCwKLSAgICAzMiwxMDUsMTE1LDMyLDk5LDExMSwxMTAsMTE1LDEwNSwxMDAsMTAxLDExNCwxMDEsMTAwLDMyLDk3LAotICAgIDMyLDEwMiw5NywxMDUsMTA4LDExNywxMTQsMTAxLDQ2LDEwLDEwLDMyLDMyLDMyLDMyLDMyLAotICAgIDMyLDMyLDMyLDg0LDEwNCwxMDUsMTE1LDMyLDEwOSwxMDEsMTE2LDEwNCwxMTEsMTAwLDMyLDEwNSwKLSAgICAxMTUsMzIsMTAwLDEwMSwxMTIsMTE0LDEwMSw5OSw5NywxMTYsMTAxLDEwMCw0NiwzMiwzMiw4NSwKLSAgICAxMTUsMTAxLDMyLDEwMiwxMDUsMTEwLDEwMCw5NSwxMTUsMTEyLDEwMSw5OSw0MCw0MSwzMiwxMDUsCi0gICAgMTEwLDExNSwxMTYsMTAxLDk3LDEwMCw0NiwxMCwxMCwzMiwzMiwzMiwzMiwzMiwzMiwzMiwKLSAgICAzMiw3OCw0MSwyLDExNCwxNCwxLDAsMCwxMTQsMTcwLDAsMCwwLDQxLDQsCi0gICAgMTE0LDEyLDEsMCwwLDExNCwxNTksMCwwLDAsMTE0LDM1LDAsMCwwLDExNCwKKyAgICA0LDAsMTEwLDE1LDAsMTE2LDMsMCwxMjQsMSwwLDEyNCwyLDAsMTMxLDIsCisgICAgMCwxMjUsNCwwLDEyNCw1LDAsMTE1LDEyNiwwLDExNiw0LDAsMTI0LDEsMCwKKyAgICAxMjQsMiwwLDEwMCwzLDAsMTI0LDQsMCwxMzEsMiwxLDEyNSw1LDAsMTIxLAorICAgIDQ0LDAsMTI0LDUsMCwxMjQsMCwwLDEwMCwyLDAsNjAsMTI0LDQsMCwxMjQsCisgICAgMCwwLDEwMCwxLDAsNjAsMTI0LDIsMCwxMjQsMCwwLDEwMCw0LDAsNjAsCisgICAgMTI0LDMsMCwxMjQsMCwwLDEwMCw1LDAsNjAsODcsMTEwLDE4LDAsNCwxMTYsCisgICAgNSwwLDEwNywxMCwwLDExNCwxOTAsMCwxLDEsMSw4OSwxMTAsMSwwLDg4LAorICAgIDEwMCwwLDAsODMsNDEsNiw3OCwxMTQsMjAzLDAsMCwwLDExNCwyMDcsMCwwLAorICAgIDAsMTE0LDE3MCwwLDAsMCwxMTQsMjEwLDAsMCwwLDExNCwyNDQsMCwwLDAsCisgICAgNDEsNiwxMTQsOTMsMCwwLDAsMTE0LDE3MCwwLDAsMCwyMTgsMjAsODMsMTExLAorICAgIDExNywxMTQsOTksMTAxLDEwOCwxMDEsMTE1LDExNSw3MCwxMDUsMTA4LDEwMSw3NiwxMTEsOTcsMTAwLAorICAgIDEwMSwxMTQsMjE4LDE2LDgzLDExMSwxMTcsMTE0LDk5LDEwMSw3MCwxMDUsMTA4LDEwMSw3NiwxMTEsCisgICAgOTcsMTAwLDEwMSwxMTQsMTE0LDIzOSwwLDAsMCwxMTQsMjA2LDAsMCwwLDQxLDYsCisgICAgOTAsMiwxMTAsMTE1LDExNCw2NywwLDAsMCw5MCw4LDExMiw5NywxMTYsMTA0LDExMCwKKyAgICA5NywxMDksMTAxLDkwLDksOTksMTEyLDk3LDExNiwxMDQsMTEwLDk3LDEwOSwxMDEsMTE0LDE3MCwKKyAgICAwLDAsMCwxMTQsMTc3LDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsCisgICAgMCwwLDExNCw1LDAsMCwwLDIxOCwxNCw5NSwxMDIsMTA1LDEyMCw5NSwxMTcsMTEyLAorICAgIDk1LDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDE1Miw0LDAsMCwxMTUsMzQsMCwwLDAsCisgICAgMCwyLDE1LDEsMTUsMSw2LDEsNiwxLDEyLDEsMTIsMSwxOCwyLAorICAgIDE1LDEsNiwxLDIxLDEsMywxLDEwLDEsMTAsMSwxMCwxLDE0LDEsCisgICAgMTMsMiwxMTQsOCwxLDAsMCw5OSwwLDAsMCwwLDAsMCwwLDAsCisgICAgMCwwLDAsMCw1LDAsMCwwLDY0LDAsMCwwLDExNSwxODEsMCwwLAorICAgIDAsMTAxLDAsMCw5MCwxLDAsMTAwLDAsMCw5MCwyLDAsMTAwLDEsMCwKKyAgICA5MCwzLDAsMTAxLDQsMCwxMDAsMiwwLDEwMCwzLDAsMTMyLDAsMCwxMzEsCisgICAgMSwwLDkwLDUsMCwxMDEsNiwwLDEwMCw0LDAsMTAwLDQsMCwxMDAsNSwKKyAgICAwLDEwMCw2LDAsMTMyLDIsMCwxMzEsMSwwLDkwLDcsMCwxMDEsNiwwLAorICAgIDEwMCw0LDAsMTAwLDcsMCwxMDAsOCwwLDEzMiwxLDAsMTMxLDEsMCw5MCwKKyAgICA4LDAsMTAxLDYsMCwxMDEsOSwwLDEwMCw5LDAsMTAwLDEwLDAsMTMyLDAsCisgICAgMCwxMzEsMSwwLDEzMSwxLDAsOTAsMTAsMCwxMDEsNiwwLDEwMSw5LDAsCisgICAgMTAwLDExLDAsMTAwLDEyLDAsMTMyLDAsMCwxMzEsMSwwLDEzMSwxLDAsOTAsCisgICAgMTEsMCwxMDEsNiwwLDEwMSw5LDAsMTAwLDEzLDAsMTAwLDE0LDAsMTMyLDAsCisgICAgMCwxMzEsMSwwLDEzMSwxLDAsOTAsMTIsMCwxMDEsNiwwLDEwMSw5LDAsCisgICAgMTAwLDE1LDAsMTAwLDE2LDAsMTMyLDAsMCwxMzEsMSwwLDEzMSwxLDAsOTAsCisgICAgMTMsMCwxMDAsNCwwLDgzLDQxLDE3LDIxOCwxNSw2NiwxMTcsMTA1LDEwOCwxMTYsMTA1LAorICAgIDExMCw3MywxMDksMTEyLDExMSwxMTQsMTE2LDEwMSwxMTQsMTIyLDE0NCw3NywxMDEsMTE2LDk3LDMyLAorICAgIDExMiw5NywxMTYsMTA0LDMyLDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDMyLDEwMiwxMTEsMTE0LDMyLAorICAgIDk4LDExNywxMDUsMTA4LDExNiw0NSwxMDUsMTEwLDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDExNSwKKyAgICA0NiwxMCwxMCwzMiwzMiwzMiwzMiw2NSwxMDgsMTA4LDMyLDEwOSwxMDEsMTE2LDEwNCwxMTEsCisgICAgMTAwLDExNSwzMiw5NywxMTQsMTAxLDMyLDEwMSwxMDUsMTE2LDEwNCwxMDEsMTE0LDMyLDk5LDEwOCwKKyAgICA5NywxMTUsMTE1LDMyLDExMSwxMTQsMzIsMTE1LDExNiw5NywxMTYsMTA1LDk5LDMyLDEwOSwxMDEsCisgICAgMTE2LDEwNCwxMTEsMTAwLDExNSwzMiwxMTYsMTExLDMyLDk3LDExOCwxMTEsMTA1LDEwMCwzMiwxMTYsCisgICAgMTA0LDEwMSwzMiwxMTAsMTAxLDEwMSwxMDAsMzIsMTE2LDExMSwxMCwzMiwzMiwzMiwzMiwxMDUsCisgICAgMTEwLDExNSwxMTYsOTcsMTEwLDExNiwxMDUsOTcsMTE2LDEwMSwzMiwxMTYsMTA0LDEwMSwzMiw5OSwKKyAgICAxMDgsOTcsMTE1LDExNSw0NiwxMCwxMCwzMiwzMiwzMiwzMiw5OSwxLDAsMCwwLAorICAgIDAsMCwwLDAsMSwwLDAsMCwyLDAsMCwwLDY3LDAsMCwwLAorICAgIDExNSwxNiwwLDAsMCwxMDAsMSwwLDEwNiwwLDAsMTI0LDAsMCwxMDYsMSwKKyAgICAwLDEzMSwxLDAsODMsNDEsMiwxMjIsMTE1LDgyLDEwMSwxMTYsMTE3LDExNCwxMTAsMzIsCisgICAgMTE0LDEwMSwxMTIsMTE0LDMyLDEwMiwxMTEsMTE0LDMyLDExNiwxMDQsMTAxLDMyLDEwOSwxMTEsMTAwLAorICAgIDExNywxMDgsMTAxLDQ2LDEwLDEwLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDg0LDEwNCwKKyAgICAxMDEsMzIsMTA5LDEwMSwxMTYsMTA0LDExMSwxMDAsMzIsMTA1LDExNSwzMiwxMDAsMTAxLDExMiwxMTQsCisgICAgMTAxLDk5LDk3LDExNiwxMDEsMTAwLDQ2LDMyLDMyLDg0LDEwNCwxMDEsMzIsMTA1LDEwOSwxMTIsCisgICAgMTExLDExNCwxMTYsMzIsMTA5LDk3LDk5LDEwNCwxMDUsMTEwLDEwMSwxMTQsMTIxLDMyLDEwMCwxMTEsCisgICAgMTAxLDExNSwzMiwxMTYsMTA0LDEwMSwzMiwxMDYsMTExLDk4LDMyLDEwNSwxMTYsMTE1LDEwMSwxMDgsCisgICAgMTAyLDQ2LDEwLDEwLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDEyMiwyNCw2MCwxMDksCisgICAgMTExLDEwMCwxMTcsMTA4LDEwMSwzMiwxMjMsMzMsMTE0LDEyNSwzMiw0MCw5OCwxMTcsMTA1LDEwOCwKKyAgICAxMTYsNDUsMTA1LDExMCw0MSw2Miw0MSwyLDExNCw0NywwLDAsMCwxMTQsNTcsMCwKKyAgICAwLDAsNDEsMSwxMTQsMTc4LDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LAorICAgIDAsMCwwLDExNCw1LDAsMCwwLDExNCwyMDQsMCwwLDAsMTg2LDQsMCwKKyAgICAwLDExNSwyLDAsMCwwLDAsNywxMjIsMjcsNjYsMTE3LDEwNSwxMDgsMTE2LDEwNSwKKyAgICAxMTAsNzMsMTA5LDExMiwxMTEsMTE0LDExNiwxMDEsMTE0LDQ2LDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLAorICAgIDk1LDExNCwxMDEsMTEyLDExNCw3OCw5OSw0LDAsMCwwLDAsMCwwLDAsNCwKKyAgICAwLDAsMCw1LDAsMCwwLDY3LDAsMCwwLDExNSw1OCwwLDAsMCwKKyAgICAxMjQsMiwwLDEwMCwwLDAsMTA3LDksMCwxMTQsMTYsMCwxMDAsMCwwLDgzLAorICAgIDExNiwwLDAsMTA2LDEsMCwxMjQsMSwwLDEzMSwxLDAsMTE0LDUwLDAsMTE2LAorICAgIDIsMCwxMjQsMSwwLDEyNCwwLDAsMTAwLDEsMCwxMDAsMiwwLDEzMSwyLAorICAgIDEsODMsMTAwLDAsMCw4MywxMDAsMCwwLDgzLDQxLDMsNzgsMTE0LDIxNywwLAorICAgIDAsMCwxMjIsOCw5OCwxMTcsMTA1LDEwOCwxMTYsNDUsMTA1LDExMCw0MSwzLDExNCwxMDYsCisgICAgMCwwLDAsOTAsMTAsMTA1LDExNSw5NSw5OCwxMTcsMTA1LDEwOCwxMTYsMTA1LDExMCwxMTQsCisgICAgMTc0LDAsMCwwLDQxLDQsMjE4LDMsOTksMTA4LDExNSwxMTQsMTU5LDAsMCwwLAorICAgIDExNCwzNSwwLDAsMCwyMTgsNiwxMTYsOTcsMTE0LDEwMywxMDEsMTE2LDExNCw0LDAsCisgICAgMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDIxOCw5LDEwMiwxMDUsCisgICAgMTEwLDEwMCw5NSwxMTUsMTEyLDEwMSw5OSwxOTUsNCwwLDAsMTE1LDEwLDAsMCwwLAorICAgIDAsMiwxMiwxLDQsMSwxNSwxLDE5LDIsMTIyLDI1LDY2LDExNywxMDUsMTA4LAorICAgIDExNiwxMDUsMTEwLDczLDEwOSwxMTIsMTExLDExNCwxMTYsMTAxLDExNCw0NiwxMDIsMTA1LDExMCwxMDAsCisgICAgOTUsMTE1LDExMiwxMDEsOTksOTksMywwLDAsMCwwLDAsMCwwLDQsMCwKKyAgICAwLDAsMywwLDAsMCw2NywwLDAsMCwxMTUsNDEsMCwwLDAsMTI0LAorICAgIDAsMCwxMDYsMCwwLDEyNCwxLDAsMTI0LDIsMCwxMzEsMiwwLDEyNSwzLAorICAgIDAsMTI0LDMsMCwxMDAsMSwwLDEwNyw5LDAsMTE0LDM3LDAsMTI0LDMsMCwKKyAgICAxMDYsMSwwLDgzLDEwMCwxLDAsODMsNDEsMiwxMjIsMTc1LDcwLDEwNSwxMTAsMTAwLAorICAgIDMyLDExNiwxMDQsMTAxLDMyLDk4LDExNywxMDUsMTA4LDExNiw0NSwxMDUsMTEwLDMyLDEwOSwxMTEsCisgICAgMTAwLDExNywxMDgsMTAxLDQ2LDEwLDEwLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDczLAorICAgIDEwMiwzMiwzOSwxMTIsOTcsMTE2LDEwNCwzOSwzMiwxMDUsMTE1LDMyLDEwMSwxMTgsMTAxLDExNCwKKyAgICAzMiwxMTUsMTEyLDEwMSw5OSwxMDUsMTAyLDEwNSwxMDEsMTAwLDMyLDExNiwxMDQsMTAxLDExMCwzMiwKKyAgICAxMTYsMTA0LDEwMSwzMiwxMTUsMTAxLDk3LDExNCw5OSwxMDQsMzIsMTA1LDExNSwzMiw5OSwxMTEsCisgICAgMTEwLDExNSwxMDUsMTAwLDEwMSwxMTQsMTAxLDEwMCwzMiw5NywzMiwxMDIsOTcsMTA1LDEwOCwxMTcsCisgICAgMTE0LDEwMSw0NiwxMCwxMCwzMiwzMiwzMiwzMiwzMiwzMiwzMiwzMiw4NCwxMDQsMTA1LAorICAgIDExNSwzMiwxMDksMTAxLDExNiwxMDQsMTExLDEwMCwzMiwxMDUsMTE1LDMyLDEwMCwxMDEsMTEyLDExNCwKKyAgICAxMDEsOTksOTcsMTE2LDEwMSwxMDAsNDYsMzIsMzIsODUsMTE1LDEwMSwzMiwxMDIsMTA1LDExMCwKKyAgICAxMDAsOTUsMTE1LDExMiwxMDEsOTksNDAsNDEsMzIsMTA1LDExMCwxMTUsMTE2LDEwMSw5NywxMDAsCisgICAgNDYsMTAsMTAsMzIsMzIsMzIsMzIsMzIsMzIsMzIsMzIsNzgsNDEsMiwxMTQsMTIsCisgICAgMSwwLDAsMTE0LDE3MCwwLDAsMCw0MSw0LDExNCwxMCwxLDAsMCwxMTQsCisgICAgMTU5LDAsMCwwLDExNCwzNSwwLDAsMCwxMTQsMTc3LDAsMCwwLDExNCw0LAorICAgIDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDIxOCwxMSwxMDIsCisgICAgMTA1LDExMCwxMDAsOTUsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMjA0LDQsMCwwLDExNSw0LAorICAgIDAsMCwwLDAsOSwxOCwxLDEyMiwyNyw2NiwxMTcsMTA1LDEwOCwxMTYsMTA1LDExMCwKKyAgICA3MywxMDksMTEyLDExMSwxMTQsMTE2LDEwMSwxMTQsNDYsMTAyLDEwNSwxMTAsMTAwLDk1LDEwOSwxMTEsCisgICAgMTAwLDExNywxMDgsMTAxLDk5LDIsMCwwLDAsMCwwLDAsMCwzLDAsMCwKKyAgICAwLDEwLDAsMCwwLDY3LDAsMCwwLDExNSw1OSwwLDAsMCwxMTYsMCwKKyAgICAwLDEyNCwxLDAsMTMxLDEsMCwxNDMsMjMsMCwxLDExNiwxLDAsMTE2LDIsCisgICAgMCwxMDYsMywwLDEyNCwxLDAsMTMxLDIsMCwxMjUsMiwwLDg3LDEwMCwxLAorICAgIDAsODEsODgsMTI0LDAsMCwxMjQsMiwwLDk1LDQsMCwxMDAsMiwwLDEyNCwKKyAgICAyLDAsOTUsNSwwLDEyNCwyLDAsODMsNDEsMywxMjIsMjMsNzYsMTExLDk3LAorICAgIDEwMCwzMiw5NywzMiw5OCwxMTcsMTA1LDEwOCwxMTYsNDUsMTA1LDExMCwzMiwxMDksMTExLDEwMCwKKyAgICAxMTcsMTA4LDEwMSw0Niw3OCwxMTQsMzAsMCwwLDAsNDEsNiwxMTQsNjksMCwwLAorICAgIDAsMTE0LDExNCwwLDAsMCwxMTQsMTA2LDAsMCwwLDkwLDEyLDEwNSwxMTAsMTA1LAorICAgIDExNiw5NSw5OCwxMTcsMTA1LDEwOCwxMTYsMTA1LDExMCwxMTQsMjAzLDAsMCwwLDExNCwyNDksCisgICAgMCwwLDAsNDEsMywxMTQsMTAsMSwwLDAsMTE0LDE1OSwwLDAsMCwxMTQsCiAgICAgMTc4LDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LAotICAgIDAsMCwwLDIxOCwxMSwxMDIsMTA1LDExMCwxMDAsOTUsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsCi0gICAgMjUxLDQsMCwwLDExNSw0LDAsMCwwLDAsOSwxOCwxLDEyMiwyNyw2NiwKLSAgICAxMTcsMTA1LDEwOCwxMTYsMTA1LDExMCw3MywxMDksMTEyLDExMSwxMTQsMTE2LDEwMSwxMTQsNDYsMTAyLAotICAgIDEwNSwxMTAsMTAwLDk1LDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDk5LDIsMCwwLDAsMCwKLSAgICAwLDAsMCwzLDAsMCwwLDEwLDAsMCwwLDY3LDAsMCwwLDExNSwKLSAgICA1OSwwLDAsMCwxMTYsMCwwLDEyNCwxLDAsMTMxLDEsMCwxNDMsMjMsMCwKLSAgICAxLDExNiwxLDAsMTE2LDIsMCwxMDYsMywwLDEyNCwxLDAsMTMxLDIsMCwKLSAgICAxMjUsMiwwLDg3LDEwMCwxLDAsODEsODgsMTI0LDAsMCwxMjQsMiwwLDk1LAotICAgIDQsMCwxMDAsMiwwLDEyNCwyLDAsOTUsNSwwLDEyNCwyLDAsODMsNDEsCi0gICAgMywxMjIsMjMsNzYsMTExLDk3LDEwMCwzMiw5NywzMiw5OCwxMTcsMTA1LDEwOCwxMTYsNDUsCi0gICAgMTA1LDExMCwzMiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSw0Niw3OCwxMTQsMzAsMCwwLDAsCi0gICAgNDEsNiwxMTQsNjksMCwwLDAsMTE0LDExNCwwLDAsMCwxMTQsMTA2LDAsMCwKLSAgICAwLDkwLDEyLDEwNSwxMTAsMTA1LDExNiw5NSw5OCwxMTcsMTA1LDEwOCwxMTYsMTA1LDExMCwxMTQsCi0gICAgMjA1LDAsMCwwLDExNCwyNTEsMCwwLDAsNDEsMywxMTQsMTIsMSwwLDAsCi0gICAgMTE0LDE1OSwwLDAsMCwxMTQsMTgwLDAsMCwwLDExNCw0LDAsMCwwLDExNCwKLSAgICA0LDAsMCwwLDExNCw1LDAsMCwwLDExNCw1LDEsMCwwLDcsNSwKLSAgICAwLDAsMTE1LDEwLDAsMCwwLDAsNiwxMywxLDI0LDEsOSwxLDksCi0gICAgMSwxMjIsMjcsNjYsMTE3LDEwNSwxMDgsMTE2LDEwNSwxMTAsNzMsMTA5LDExMiwxMTEsMTE0LDExNiwKLSAgICAxMDEsMTE0LDQ2LDEwOCwxMTEsOTcsMTAwLDk1LDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDk5LDIsCi0gICAgMCwwLDAsMCwwLDAsMCwyLDAsMCwwLDEsMCwwLDAsNjcsCi0gICAgMCwwLDAsMTE1LDQsMCwwLDAsMTAwLDEsMCw4Myw0MSwyLDEyMiw1NywKLSAgICA4MiwxMDEsMTE2LDExNywxMTQsMTEwLDMyLDc4LDExMSwxMTAsMTAxLDMyLDk3LDExNSwzMiw5OCwKLSAgICAxMTcsMTA1LDEwOCwxMTYsNDUsMTA1LDExMCwzMiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwxMTUsMzIsCi0gICAgMTAwLDExMSwzMiwxMTAsMTExLDExNiwzMiwxMDQsOTcsMTE4LDEwMSwzMiw5OSwxMTEsMTAwLDEwMSwKLSAgICAzMiwxMTEsOTgsMTA2LDEwMSw5OSwxMTYsMTE1LDQ2LDc4LDExNCw0LDAsMCwwLDQxLAotICAgIDIsMTE0LDEyLDEsMCwwLDExNCwxNTksMCwwLDAsMTE0LDQsMCwwLDAsCi0gICAgMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsMjE4LDgsMTAzLDEwMSwxMTYsOTUsCi0gICAgOTksMTExLDEwMCwxMDEsMTksNSwwLDAsMTE1LDIsMCwwLDAsMCw0LDEyMiwKLSAgICAyNCw2NiwxMTcsMTA1LDEwOCwxMTYsMTA1LDExMCw3MywxMDksMTEyLDExMSwxMTQsMTE2LDEwMSwxMTQsCi0gICAgNDYsMTAzLDEwMSwxMTYsOTUsOTksMTExLDEwMCwxMDEsOTksMiwwLDAsMCwwLDAsCi0gICAgMCwwLDIsMCwwLDAsMSwwLDAsMCw2NywwLDAsMCwxMTUsNCwKLSAgICAwLDAsMCwxMDAsMSwwLDgzLDQxLDIsMTIyLDU2LDgyLDEwMSwxMTYsMTE3LDExNCwKLSAgICAxMTAsMzIsNzgsMTExLDExMCwxMDEsMzIsOTcsMTE1LDMyLDk4LDExNywxMDUsMTA4LDExNiw0NSwKLSAgICAxMDUsMTEwLDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDExNSwzMiwxMDAsMTExLDMyLDExMCwxMTEsCi0gICAgMTE2LDMyLDEwNCw5NywxMTgsMTAxLDMyLDExNSwxMTEsMTE3LDExNCw5OSwxMDEsMzIsOTksMTExLAotICAgIDEwMCwxMDEsNDYsNzgsMTE0LDQsMCwwLDAsNDEsMiwxMTQsMTIsMSwwLDAsCisgICAgMCwwLDAsMTE0LDMsMSwwLDAsMjE2LDQsMCwwLDExNSwxMCwwLDAsCisgICAgMCwwLDYsMTMsMSwyNCwxLDksMSw5LDEsMTIyLDI3LDY2LDExNywxMDUsCisgICAgMTA4LDExNiwxMDUsMTEwLDczLDEwOSwxMTIsMTExLDExNCwxMTYsMTAxLDExNCw0NiwxMDgsMTExLDk3LAorICAgIDEwMCw5NSwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSw5OSwyLDAsMCwwLDAsMCwwLAorICAgIDAsMiwwLDAsMCwxLDAsMCwwLDY3LDAsMCwwLDExNSw0LDAsCisgICAgMCwwLDEwMCwxLDAsODMsNDEsMiwxMjIsNTcsODIsMTAxLDExNiwxMTcsMTE0LDExMCwKKyAgICAzMiw3OCwxMTEsMTEwLDEwMSwzMiw5NywxMTUsMzIsOTgsMTE3LDEwNSwxMDgsMTE2LDQ1LDEwNSwKKyAgICAxMTAsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMTE1LDMyLDEwMCwxMTEsMzIsMTEwLDExMSwxMTYsCisgICAgMzIsMTA0LDk3LDExOCwxMDEsMzIsOTksMTExLDEwMCwxMDEsMzIsMTExLDk4LDEwNiwxMDEsOTksCisgICAgMTE2LDExNSw0Niw3OCwxMTQsNCwwLDAsMCw0MSwyLDExNCwxMCwxLDAsMCwKICAgICAxMTQsMTU5LDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCwKLSAgICA1LDAsMCwwLDIxOCwxMCwxMDMsMTAxLDExNiw5NSwxMTUsMTExLDExNywxMTQsOTksMTAxLAotICAgIDI1LDUsMCwwLDExNSwyLDAsMCwwLDAsNCwxMjIsMjYsNjYsMTE3LDEwNSwKLSAgICAxMDgsMTE2LDEwNSwxMTAsNzMsMTA5LDExMiwxMTEsMTE0LDExNiwxMDEsMTE0LDQ2LDEwMywxMDEsMTE2LAotICAgIDk1LDExNSwxMTEsMTE3LDExNCw5OSwxMDEsOTksMiwwLDAsMCwwLDAsMCwwLAotICAgIDIsMCwwLDAsMSwwLDAsMCw2NywwLDAsMCwxMTUsNCwwLDAsCi0gICAgMCwxMDAsMSwwLDgzLDQxLDIsMTIyLDUyLDgyLDEwMSwxMTYsMTE3LDExNCwxMTAsMzIsCi0gICAgNzAsOTcsMTA4LDExNSwxMDEsMzIsOTcsMTE1LDMyLDk4LDExNywxMDUsMTA4LDExNiw0NSwxMDUsCi0gICAgMTEwLDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDExNSwzMiw5NywxMTQsMTAxLDMyLDExMCwxMDEsCi0gICAgMTE4LDEwMSwxMTQsMzIsMTEyLDk3LDk5LDEwNyw5NywxMDMsMTAxLDExNSw0Niw3MCwxMTQsNCwKLSAgICAwLDAsMCw0MSwyLDExNCwxMiwxLDAsMCwxMTQsMTU5LDAsMCwwLDExNCwKLSAgICA0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDExNCwyMjAsCi0gICAgMCwwLDAsMzEsNSwwLDAsMTE1LDIsMCwwLDAsMCw0LDEyMiwyNiwKLSAgICA2NiwxMTcsMTA1LDEwOCwxMTYsMTA1LDExMCw3MywxMDksMTEyLDExMSwxMTQsMTE2LDEwMSwxMTQsNDYsCi0gICAgMTA1LDExNSw5NSwxMTIsOTcsOTksMTA3LDk3LDEwMywxMDEsNDEsMTQsMTE0LDU3LDAsMCwKLSAgICAwLDExNCw1NiwwLDAsMCwxMTQsNTgsMCwwLDAsMTE0LDU5LDAsMCwwLAotICAgIDIxOCwxMiwxMTUsMTE2LDk3LDExNiwxMDUsOTksMTA5LDEwMSwxMTYsMTA0LDExMSwxMDAsMTE0LDIwNiwKLSAgICAwLDAsMCwyMTgsMTEsOTksMTA4LDk3LDExNSwxMTUsMTA5LDEwMSwxMTYsMTA0LDExMSwxMDAsCi0gICAgMTE0LDE0LDEsMCwwLDExNCwxNSwxLDAsMCwxMTQsMTYyLDAsMCwwLDExNCwKLSAgICA1LDEsMCwwLDExNCwxNiwxLDAsMCwxMTQsMTcsMSwwLDAsMTE0LDIyMCwKLSAgICAwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLAotICAgIDAsMCwxMTQsNSwwLDAsMCwxMTQsMTEsMSwwLDAsMjI0LDQsMCwwLAotICAgIDExNSwyOCwwLDAsMCwxMiw3LDYsMiwxOCw5LDMsMSwyMSw4LDMsCi0gICAgMSwxOCwxMSwzLDEsMjEsMTEsMywxLDIxLDUsMywxLDIxLDUsMywKLSAgICAxLDExNCwxMSwxLDAsMCw5OSwwLDAsMCwwLDAsMCwwLDAsMCwKLSAgICAwLDAsMCw1LDAsMCwwLDY0LDAsMCwwLDExNSwxOTMsMCwwLDAsCi0gICAgMTAxLDAsMCw5MCwxLDAsMTAwLDAsMCw5MCwyLDAsMTAwLDEsMCw5MCwKLSAgICAzLDAsMTAxLDQsMCwxMDAsMiwwLDEwMCwzLDAsMTMyLDAsMCwxMzEsMSwKLSAgICAwLDkwLDUsMCwxMDEsNiwwLDEwMCw0LDAsMTAwLDQsMCwxMDAsNSwwLAotICAgIDEwMCw2LDAsMTMyLDIsMCwxMzEsMSwwLDkwLDcsMCwxMDEsNiwwLDEwMCwKLSAgICA0LDAsMTAwLDcsMCwxMDAsOCwwLDEzMiwxLDAsMTMxLDEsMCw5MCw4LAotICAgIDAsMTAxLDQsMCwxMDAsOSwwLDEwMCwxMCwwLDEzMiwwLDAsMTMxLDEsMCwKLSAgICA5MCw5LDAsMTAxLDYsMCwxMDAsMTEsMCwxMDAsMTIsMCwxMzIsMCwwLDEzMSwKLSAgICAxLDAsOTAsMTAsMCwxMDEsNiwwLDEwMSwxMSwwLDEwMCwxMywwLDEwMCwxNCwKLSAgICAwLDEzMiwwLDAsMTMxLDEsMCwxMzEsMSwwLDkwLDEyLDAsMTAxLDYsMCwKLSAgICAxMDEsMTEsMCwxMDAsMTUsMCwxMDAsMTYsMCwxMzIsMCwwLDEzMSwxLDAsMTMxLAotICAgIDEsMCw5MCwxMywwLDEwMSw2LDAsMTAxLDExLDAsMTAwLDE3LDAsMTAwLDE4LAotICAgIDAsMTMyLDAsMCwxMzEsMSwwLDEzMSwxLDAsOTAsMTQsMCwxMDAsNCwwLAotICAgIDgzLDQxLDE5LDIxOCwxNCw3MCwxMTQsMTExLDEyMiwxMDEsMTEwLDczLDEwOSwxMTIsMTExLDExNCwKLSAgICAxMTYsMTAxLDExNCwxMjIsMTQyLDc3LDEwMSwxMTYsOTcsMzIsMTEyLDk3LDExNiwxMDQsMzIsMTA1LAotICAgIDEwOSwxMTIsMTExLDExNCwxMTYsMzIsMTAyLDExMSwxMTQsMzIsMTAyLDExNCwxMTEsMTIyLDEwMSwxMTAsCi0gICAgMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMTE1LDQ2LDEwLDEwLDMyLDMyLDMyLDMyLDY1LAotICAgIDEwOCwxMDgsMzIsMTA5LDEwMSwxMTYsMTA0LDExMSwxMDAsMTE1LDMyLDk3LDExNCwxMDEsMzIsMTAxLAotICAgIDEwNSwxMTYsMTA0LDEwMSwxMTQsMzIsOTksMTA4LDk3LDExNSwxMTUsMzIsMTExLDExNCwzMiwxMTUsCi0gICAgMTE2LDk3LDExNiwxMDUsOTksMzIsMTA5LDEwMSwxMTYsMTA0LDExMSwxMDAsMTE1LDMyLDExNiwxMTEsCi0gICAgMzIsOTcsMTE4LDExMSwxMDUsMTAwLDMyLDExNiwxMDQsMTAxLDMyLDExMCwxMDEsMTAxLDEwMCwzMiwKLSAgICAxMTYsMTExLDEwLDMyLDMyLDMyLDMyLDEwNSwxMTAsMTE1LDExNiw5NywxMTAsMTE2LDEwNSw5NywKLSAgICAxMTYsMTAxLDMyLDExNiwxMDQsMTAxLDMyLDk5LDEwOCw5NywxMTUsMTE1LDQ2LDEwLDEwLDMyLAotICAgIDMyLDMyLDMyLDk5LDEsMCwwLDAsMCwwLDAsMCwxLDAsMCwwLAotICAgIDIsMCwwLDAsNjcsMCwwLDAsMTE1LDE2LDAsMCwwLDEwMCwxLDAsCi0gICAgMTA2LDAsMCwxMjQsMCwwLDEwNiwxLDAsMTMxLDEsMCw4Myw0MSwyLDEyMiwKLSAgICAxMTUsODIsMTAxLDExNiwxMTcsMTE0LDExMCwzMiwxMTQsMTAxLDExMiwxMTQsMzIsMTAyLDExMSwxMTQsCi0gICAgMzIsMTE2LDEwNCwxMDEsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsNDYsMTAsMTAsMzIsMzIsCi0gICAgMzIsMzIsMzIsMzIsMzIsMzIsODQsMTA0LDEwMSwzMiwxMDksMTAxLDExNiwxMDQsMTExLDEwMCwKLSAgICAzMiwxMDUsMTE1LDMyLDEwMCwxMDEsMTEyLDExNCwxMDEsOTksOTcsMTE2LDEwMSwxMDAsNDYsMzIsCi0gICAgMzIsODQsMTA0LDEwMSwzMiwxMDUsMTA5LDExMiwxMTEsMTE0LDExNiwzMiwxMDksOTcsOTksMTA0LAotICAgIDEwNSwxMTAsMTAxLDExNCwxMjEsMzIsMTAwLDExMSwxMDEsMTE1LDMyLDExNiwxMDQsMTAxLDMyLDEwNiwKLSAgICAxMTEsOTgsMzIsMTA1LDExNiwxMTUsMTAxLDEwOCwxMDIsNDYsMTAsMTAsMzIsMzIsMzIsMzIsCi0gICAgMzIsMzIsMzIsMzIsMTIyLDIyLDYwLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDMyLDEyMywzMywKLSAgICAxMTQsMTI1LDMyLDQwLDEwMiwxMTQsMTExLDEyMiwxMDEsMTEwLDQxLDYyLDQxLDIsMTE0LDQ3LAotICAgIDAsMCwwLDExNCw1NywwLDAsMCw0MSwxLDIxOCwxLDEwOSwxMTQsNCwwLAotICAgIDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsMjA2LDAsMCwKLSAgICAwLDQ3LDUsMCwwLDExNSwyLDAsMCwwLDAsNywxMjIsMjYsNzAsMTE0LAotICAgIDExMSwxMjIsMTAxLDExMCw3MywxMDksMTEyLDExMSwxMTQsMTE2LDEwMSwxMTQsNDYsMTA5LDExMSwxMDAsCi0gICAgMTE3LDEwOCwxMDEsOTUsMTE0LDEwMSwxMTIsMTE0LDc4LDk5LDQsMCwwLDAsMCwwLAotICAgIDAsMCw0LDAsMCwwLDUsMCwwLDAsNjcsMCwwLDAsMTE1LDQyLAotICAgIDAsMCwwLDExNiwwLDAsMTA2LDEsMCwxMjQsMSwwLDEzMSwxLDAsMTE0LAotICAgIDM0LDAsMTE2LDIsMCwxMjQsMSwwLDEyNCwwLDAsMTAwLDEsMCwxMDAsMiwKLSAgICAwLDEzMSwyLDEsODMsMTAwLDAsMCw4MywxMDAsMCwwLDgzLDQxLDMsNzgsCi0gICAgMTE0LDIxOCwwLDAsMCw5MCw2LDEwMiwxMTQsMTExLDEyMiwxMDEsMTEwLDQxLDMsMTE0LAotICAgIDEwNiwwLDAsMCwxMTQsMTYzLDAsMCwwLDExNCwxNzQsMCwwLDAsNDEsNCwKLSAgICAxMTQsMTIsMSwwLDAsMTE0LDE1OSwwLDAsMCwxMTQsMzUsMCwwLDAsMTE0LAotICAgIDEzLDEsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LAotICAgIDAsMCwwLDExNCwxNCwxLDAsMCw1Niw1LDAsMCwxMTUsNiwwLDAsCi0gICAgMCwwLDIsMTUsMSwxOSwyLDEyMiwyNCw3MCwxMTQsMTExLDEyMiwxMDEsMTEwLDczLAotICAgIDEwOSwxMTIsMTExLDExNCwxMTYsMTAxLDExNCw0NiwxMDIsMTA1LDExMCwxMDAsOTUsMTE1LDExMiwxMDEsCi0gICAgOTksOTksMywwLDAsMCwwLDAsMCwwLDMsMCwwLDAsMiwwLAotICAgIDAsMCw2NywwLDAsMCwxMTUsMjMsMCwwLDAsMTE2LDAsMCwxMDYsMSwKLSAgICAwLDEyNCwxLDAsMTMxLDEsMCwxMTQsMTksMCwxMjQsMCwwLDgzLDEwMCwxLAotICAgIDAsODMsNDEsMiwxMjIsOTMsNzAsMTA1LDExMCwxMDAsMzIsOTcsMzIsMTAyLDExNCwxMTEsCi0gICAgMTIyLDEwMSwxMTAsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsNDYsMTAsMTAsMzIsMzIsMzIsCi0gICAgMzIsMzIsMzIsMzIsMzIsODQsMTA0LDEwNSwxMTUsMzIsMTA5LDEwMSwxMTYsMTA0LDExMSwxMDAsCi0gICAgMzIsMTA1LDExNSwzMiwxMDAsMTAxLDExMiwxMTQsMTAxLDk5LDk3LDExNiwxMDEsMTAwLDQ2LDMyLAotICAgIDMyLDg1LDExNSwxMDEsMzIsMTAyLDEwNSwxMTAsMTAwLDk1LDExNSwxMTIsMTAxLDk5LDQwLDQxLAotICAgIDMyLDEwNSwxMTAsMTE1LDExNiwxMDEsOTcsMTAwLDQ2LDEwLDEwLDMyLDMyLDMyLDMyLDMyLAotICAgIDMyLDMyLDMyLDc4LDQxLDIsMTE0LDEwNiwwLDAsMCwxMTQsMTYzLDAsMCwwLAotICAgIDQxLDMsMTE0LDEyLDEsMCwwLDExNCwxNTksMCwwLDAsMTE0LDM1LDAsMCwKLSAgICAwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLAotICAgIDExNCwxNSwxLDAsMCw2Myw1LDAsMCwxMTUsMiwwLDAsMCwwLDcsCi0gICAgMTIyLDI2LDcwLDExNCwxMTEsMTIyLDEwMSwxMTAsNzMsMTA5LDExMiwxMTEsMTE0LDExNiwxMDEsMTE0LAotICAgIDQ2LDEwMiwxMDUsMTEwLDEwMCw5NSwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSw5OSwxLDAsMCwKLSAgICAwLDAsMCwwLDAsMywwLDAsMCw0LDAsMCwwLDY3LDAsMCwKLSAgICAwLDExNSw5NSwwLDAsMCwxMjQsMCwwLDEwNiwwLDAsMTA2LDEsMCwxMjUsCi0gICAgMSwwLDExNiwyLDAsMTA2LDMsMCwxMjQsMSwwLDEzMSwxLDAsMTE1LDU3LAotICAgIDAsMTE2LDQsMCwxMDAsMSwwLDEwNiw1LDAsMTI0LDEsMCwxMzEsMSwwLAotICAgIDEwMCwyLDAsMTI0LDEsMCwxMzEsMSwxLDEzMCwxLDAsMTEwLDAsMCwxMTYsCi0gICAgNiwwLDExNiwyLDAsMTA2LDcsMCwxMjQsMSwwLDEzMSwyLDAsMTI1LDIsCi0gICAgMCwxMTYsOCwwLDEyNCwyLDAsMTI0LDAsMCwxMDYsOSwwLDEzMSwyLDAsCi0gICAgMSwxMDAsMCwwLDgzLDQxLDMsNzgsMTIyLDI3LDEyMywzMywxMTQsMTI1LDMyLDEwNSwKLSAgICAxMTUsMzIsMTEwLDExMSwxMTYsMzIsOTcsMzIsMTAyLDExNCwxMTEsMTIyLDEwMSwxMTAsMzIsMTA5LAotICAgIDExMSwxMDAsMTE3LDEwOCwxMDEsMTE0LDY3LDAsMCwwLDQxLDEwLDExNCwyMDksMCwwLAotICAgIDAsMTE0LDY3LDAsMCwwLDExNCwxMDYsMCwwLDAsMTE0LDE2MywwLDAsMCwKLSAgICAxMTQsMTU0LDAsMCwwLDExNCw0NywwLDAsMCwxMTQsMTE0LDAsMCwwLDIxOCwKLSAgICAxNywxMDMsMTAxLDExNiw5NSwxMDIsMTE0LDExMSwxMjIsMTAxLDExMCw5NSwxMTEsOTgsMTA2LDEwMSwKLSAgICA5OSwxMTYsMTE0LDE3NiwwLDAsMCwxMTQsNjMsMCwwLDAsNDEsMywxMTQsMTgwLAotICAgIDAsMCwwLDExNCw2NywwLDAsMCwxMTQsMTk1LDAsMCwwLDExNCw0LDAsCi0gICAgMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDExNCwyLDEsMCwKLSAgICAwLDcyLDUsMCwwLDExNSwxMiwwLDAsMCwwLDIsMTIsMSwxNSwxLAotICAgIDE4LDEsMTIsMSwxOCwxLDEyMiwyNiw3MCwxMTQsMTExLDEyMiwxMDEsMTEwLDczLDEwOSwKLSAgICAxMTIsMTExLDExNCwxMTYsMTAxLDExNCw0NiwxMDEsMTIwLDEwMSw5OSw5NSwxMDksMTExLDEwMCwxMTcsCi0gICAgMTA4LDEwMSw5OSwyLDAsMCwwLDAsMCwwLDAsMiwwLDAsMCwzLAotICAgIDAsMCwwLDY3LDAsMCwwLDExNSwxMywwLDAsMCwxMTYsMCwwLDEyNCwKLSAgICAwLDAsMTI0LDEsMCwxMzEsMiwwLDgzLDQxLDEsMTIyLDk1LDc2LDExMSw5NywKLSAgICAxMDAsMzIsOTcsMzIsMTAyLDExNCwxMTEsMTIyLDEwMSwxMTAsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwKLSAgICAxMDEsNDYsMTAsMTAsMzIsMzIsMzIsMzIsMzIsMzIsMzIsMzIsODQsMTA0LDEwNSwxMTUsCi0gICAgMzIsMTA5LDEwMSwxMTYsMTA0LDExMSwxMDAsMzIsMTA1LDExNSwzMiwxMDAsMTAxLDExMiwxMTQsMTAxLAotICAgIDk5LDk3LDExNiwxMDEsMTAwLDQ2LDMyLDMyLDg1LDExNSwxMDEsMzIsMTAxLDEyMCwxMDEsOTksCi0gICAgOTUsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsNDAsNDEsMzIsMTA1LDExMCwxMTUsMTE2LDEwMSw5NywKLSAgICAxMDAsNDYsMTAsMTAsMzIsMzIsMzIsMzIsMzIsMzIsMzIsMzIsNDEsMSwxMTQsMTgxLAotICAgIDAsMCwwLDQxLDIsMTE0LDEyLDEsMCwwLDExNCwxNTksMCwwLDAsMTE0LAotICAgIDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsMTE0LDUsCi0gICAgMSwwLDAsODEsNSwwLDAsMTE1LDIsMCwwLDAsMCw3LDEyMiwyNiwKLSAgICA3MCwxMTQsMTExLDEyMiwxMDEsMTEwLDczLDEwOSwxMTIsMTExLDExNCwxMTYsMTAxLDExNCw0NiwxMDgsCi0gICAgMTExLDk3LDEwMCw5NSwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSw5OSwyLDAsMCwwLDAsCi0gICAgMCwwLDAsMiwwLDAsMCwyLDAsMCwwLDY3LDAsMCwwLDExNSwKLSAgICAxMywwLDAsMCwxMTYsMCwwLDEwNiwxLDAsMTI0LDEsMCwxMzEsMSwwLAotICAgIDgzLDQxLDEsMTIyLDQ1LDgyLDEwMSwxMTYsMTE3LDExNCwxMTAsMzIsMTE2LDEwNCwxMDEsMzIsCi0gICAgOTksMTExLDEwMCwxMDEsMzIsMTExLDk4LDEwNiwxMDEsOTksMTE2LDMyLDEwMiwxMTEsMTE0LDMyLAotICAgIDExNiwxMDQsMTAxLDMyLDEwMiwxMTQsMTExLDEyMiwxMDEsMTEwLDMyLDEwOSwxMTEsMTAwLDExNywxMDgsCi0gICAgMTAxLDQ2LDQxLDIsMTE0LDEwNiwwLDAsMCwxMTQsMjIsMSwwLDAsNDEsMiwKLSAgICAxMTQsMTIsMSwwLDAsMTE0LDE1OSwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsCi0gICAgNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsMTYsMSwwLDAsOTAsNSwKLSAgICAwLDAsMTE1LDIsMCwwLDAsMCw0LDEyMiwyMyw3MCwxMTQsMTExLDEyMiwxMDEsCi0gICAgMTEwLDczLDEwOSwxMTIsMTExLDExNCwxMTYsMTAxLDExNCw0NiwxMDMsMTAxLDExNiw5NSw5OSwxMTEsCi0gICAgMTAwLDEwMSw5OSwyLDAsMCwwLDAsMCwwLDAsMiwwLDAsMCwxLAotICAgIDAsMCwwLDY3LDAsMCwwLDExNSw0LDAsMCwwLDEwMCwxLDAsODMsCi0gICAgNDEsMiwxMjIsNTQsODIsMTAxLDExNiwxMTcsMTE0LDExMCwzMiw3OCwxMTEsMTEwLDEwMSwzMiwKLSAgICA5NywxMTUsMzIsMTAyLDExNCwxMTEsMTIyLDEwMSwxMTAsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsCi0gICAgMTE1LDMyLDEwMCwxMTEsMzIsMTEwLDExMSwxMTYsMzIsMTA0LDk3LDExOCwxMDEsMzIsMTE1LDExMSwKLSAgICAxMTcsMTE0LDk5LDEwMSwzMiw5OSwxMTEsMTAwLDEwMSw0Niw3OCwxMTQsNCwwLDAsMCwKLSAgICA0MSwyLDExNCwxMiwxLDAsMCwxMTQsMTU5LDAsMCwwLDExNCw0LDAsMCwKLSAgICAwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDExNCwxNywxLDAsMCwKLSAgICA5Niw1LDAsMCwxMTUsMiwwLDAsMCwwLDQsMTIyLDI1LDcwLDExNCwxMTEsCi0gICAgMTIyLDEwMSwxMTAsNzMsMTA5LDExMiwxMTEsMTE0LDExNiwxMDEsMTE0LDQ2LDEwMywxMDEsMTE2LDk1LAotICAgIDExNSwxMTEsMTE3LDExNCw5OSwxMDEsOTksMiwwLDAsMCwwLDAsMCwwLDIsCi0gICAgMCwwLDAsMiwwLDAsMCw2NywwLDAsMCwxMTUsMTMsMCwwLDAsCi0gICAgMTE2LDAsMCwxMDYsMSwwLDEyNCwxLDAsMTMxLDEsMCw4Myw0MSwxLDEyMiwKLSAgICA0Niw4MiwxMDEsMTE2LDExNywxMTQsMTEwLDMyLDg0LDExNCwxMTcsMTAxLDMyLDEwNSwxMDIsMzIsCi0gICAgMTE2LDEwNCwxMDEsMzIsMTAyLDExNCwxMTEsMTIyLDEwMSwxMTAsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwKLSAgICAxMDEsMzIsMTA1LDExNSwzMiw5NywzMiwxMTIsOTcsOTksMTA3LDk3LDEwMywxMDEsNDYsNDEsCi0gICAgMiwxMTQsMTA2LDAsMCwwLDkwLDE3LDEwNSwxMTUsOTUsMTAyLDExNCwxMTEsMTIyLDEwMSwKLSAgICAxMTAsOTUsMTEyLDk3LDk5LDEwNyw5NywxMDMsMTAxLDQxLDIsMTE0LDEyLDEsMCwwLAotICAgIDExNCwxNTksMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LAotICAgIDUsMCwwLDAsMTE0LDIyMCwwLDAsMCwxMDIsNSwwLDAsMTE1LDIsMCwKLSAgICAwLDAsMCw0LDEyMiwyNSw3MCwxMTQsMTExLDEyMiwxMDEsMTEwLDczLDEwOSwxMTIsMTExLAotICAgIDExNCwxMTYsMTAxLDExNCw0NiwxMDUsMTE1LDk1LDExMiw5Nyw5OSwxMDcsOTcsMTAzLDEwMSw0MSwKLSAgICAxNSwxMTQsNTcsMCwwLDAsMTE0LDU2LDAsMCwwLDExNCw1OCwwLDAsMCwKLSAgICAxMTQsNTksMCwwLDAsMTE0LDE4LDEsMCwwLDExNCwyMDYsMCwwLDAsMTE0LAotICAgIDE5LDEsMCwwLDExNCwxNCwxLDAsMCwxMTQsMTUsMSwwLDAsMTE0LDIsCi0gICAgMSwwLDAsMTE0LDUsMSwwLDAsMTE0LDE2NSwwLDAsMCwxMTQsMTYsMSwKLSAgICAwLDAsMTE0LDE3LDEsMCwwLDExNCwyMjAsMCwwLDAsMTE0LDQsMCwwLAotICAgIDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsCi0gICAgMTE0LDIwLDEsMCwwLDM4LDUsMCwwLDExNSwyOCwwLDAsMCwxMiw3LAotICAgIDYsMiwxOCw5LDMsMSwyMSw2LDMsMSwxOCw4LDE4LDksMTgsOSwKLSAgICAzLDEsMjEsNSwzLDEsMjEsNSwzLDEsMTE0LDIwLDEsMCwwLDk5LAotICAgIDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDUsMCwwLDAsCi0gICAgNjQsMCwwLDAsMTE1LDEyMSwwLDAsMCwxMDEsMCwwLDkwLDEsMCwxMDAsCi0gICAgMCwwLDkwLDIsMCwxMDAsMSwwLDkwLDMsMCwxMDAsMiwwLDkwLDQsCi0gICAgMCwxMDAsMywwLDkwLDUsMCwxMDAsNCwwLDkwLDYsMCwxMDEsNywwLAotICAgIDEwMCw1LDAsMTAwLDYsMCwxMzIsMCwwLDEzMSwxLDAsOTAsOCwwLDEwMSwKLSAgICA3LDAsMTAwLDcsMCwxMDAsOCwwLDEzMiwwLDAsMTMxLDEsMCw5MCw5LAotICAgIDAsMTAxLDcsMCwxMDAsOSwwLDEwMCw5LDAsMTAwLDEwLDAsMTAwLDExLDAsCi0gICAgMTMyLDIsMCwxMzEsMSwwLDkwLDEwLDAsMTAxLDcsMCwxMDAsOSwwLDEwMCwKLSAgICAxMiwwLDEwMCwxMywwLDEzMiwxLDAsMTMxLDEsMCw5MCwxMSwwLDEwMCw5LAotICAgIDAsODMsNDEsMTQsMjE4LDIxLDg3LDEwNSwxMTAsMTAwLDExMSwxMTksMTE1LDgyLDEwMSwxMDMsCi0gICAgMTA1LDExNSwxMTYsMTE0LDEyMSw3MCwxMDUsMTEwLDEwMCwxMDEsMTE0LDEyMiw2Miw3NywxMDEsMTE2LAotICAgIDk3LDMyLDExMiw5NywxMTYsMTA0LDMyLDEwMiwxMDUsMTEwLDEwMCwxMDEsMTE0LDMyLDEwMiwxMTEsCi0gICAgMTE0LDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDExNSwzMiwxMDAsMTAxLDk5LDEwOCw5NywxMTQsCi0gICAgMTAxLDEwMCwzMiwxMDUsMTEwLDMyLDExNiwxMDQsMTAxLDMyLDg3LDEwNSwxMTAsMTAwLDExMSwxMTksCi0gICAgMTE1LDMyLDExNCwxMDEsMTAzLDEwNSwxMTUsMTE2LDExNCwxMjEsNDYsMTIyLDU5LDgzLDExMSwxMDIsCi0gICAgMTE2LDExOSw5NywxMTQsMTAxLDkyLDgwLDEyMSwxMTYsMTA0LDExMSwxMTAsOTIsODAsMTIxLDExNiwKLSAgICAxMDQsMTExLDExMCw2NywxMTEsMTE0LDEwMSw5MiwxMjMsMTE1LDEyMSwxMTUsOTUsMTE4LDEwMSwxMTQsCi0gICAgMTE1LDEwNSwxMTEsMTEwLDEyNSw5Miw3NywxMTEsMTAwLDExNywxMDgsMTAxLDExNSw5MiwxMjMsMTAyLAotICAgIDExNywxMDgsMTA4LDExMCw5NywxMDksMTAxLDEyNSwxMjIsNjUsODMsMTExLDEwMiwxMTYsMTE5LDk3LAotICAgIDExNCwxMDEsOTIsODAsMTIxLDExNiwxMDQsMTExLDExMCw5Miw4MCwxMjEsMTE2LDEwNCwxMTEsMTEwLAotICAgIDY3LDExMSwxMTQsMTAxLDkyLDEyMywxMTUsMTIxLDExNSw5NSwxMTgsMTAxLDExNCwxMTUsMTA1LDExMSwKLSAgICAxMTAsMTI1LDkyLDc3LDExMSwxMDAsMTE3LDEwOCwxMDEsMTE1LDkyLDEyMywxMDIsMTE3LDEwOCwxMDgsCi0gICAgMTEwLDk3LDEwOSwxMDEsMTI1LDkyLDY4LDEwMSw5OCwxMTcsMTAzLDcwLDk5LDIsMCwwLAotICAgIDAsMCwwLDAsMCwyLDAsMCwwLDExLDAsMCwwLDY3LDAsMCwKLSAgICAwLDExNSw2NywwLDAsMCwxMjEsMjMsMCwxMTYsMCwwLDEwNiwxLDAsMTE2LAotICAgIDAsMCwxMDYsMiwwLDEyNCwxLDAsMTMxLDIsMCw4Myw4NywxMTAsMzcsMCwKLSAgICA0LDExNiwzLDAsMTA3LDEwLDAsMTE0LDYyLDAsMSwxLDEsMTE2LDAsMCwKLSAgICAxMDYsMSwwLDExNiwwLDAsMTA2LDQsMCwxMjQsMSwwLDEzMSwyLDAsODMsCi0gICAgODksMTEwLDEsMCw4OCwxMDAsMCwwLDgzLDQxLDEsNzgsNDEsNSwyMTgsNywKLSAgICA5NSwxMTksMTA1LDExMCwxMTQsMTAxLDEwMyw5MCw3LDc5LDExMiwxMDEsMTEwLDc1LDEwMSwxMjEsCi0gICAgOTAsMTcsNzIsNzUsNjksODksOTUsNjcsODUsODIsODIsNjksNzgsODQsOTUsODUsCi0gICAgODMsNjksODIsMTE0LDQwLDAsMCwwLDkwLDE4LDcyLDc1LDY5LDg5LDk1LDc2LAotICAgIDc5LDY3LDY1LDc2LDk1LDc3LDY1LDY3LDcyLDczLDc4LDY5LDQxLDIsMTE0LDEyLAotICAgIDEsMCwwLDIxOCwzLDEwNywxMDEsMTIxLDExNCw0LDAsMCwwLDExNCw0LDAsCi0gICAgMCwwLDExNCw1LDAsMCwwLDIxOCwxNCw5NSwxMTEsMTEyLDEwMSwxMTAsOTUsMTE0LAotICAgIDEwMSwxMDMsMTA1LDExNSwxMTYsMTE0LDEyMSwxMjEsNSwwLDAsMTE1LDgsMCwwLDAsCi0gICAgMCwyLDMsMSwyMywxLDEzLDEsMTIyLDM2LDg3LDEwNSwxMTAsMTAwLDExMSwxMTksCi0gICAgMTE1LDgyLDEwMSwxMDMsMTA1LDExNSwxMTYsMTE0LDEyMSw3MCwxMDUsMTEwLDEwMCwxMDEsMTE0LDQ2LAotICAgIDk1LDExMSwxMTIsMTAxLDExMCw5NSwxMTQsMTAxLDEwMywxMDUsMTE1LDExNiwxMTQsMTIxLDk5LDIsCi0gICAgMCwwLDAsMCwwLDAsMCw2LDAsMCwwLDE2LDAsMCwwLDY3LAotICAgIDAsMCwwLDExNSwxNDIsMCwwLDAsMTI0LDAsMCwxMDYsMCwwLDExNCwyMSwKLSAgICAwLDEyNCwwLDAsMTA2LDEsMCwxMjUsMiwwLDExMCw5LDAsMTI0LDAsMCwKLSAgICAxMDYsMiwwLDEyNSwyLDAsMTI0LDIsMCwxMDYsMywwLDEwMCwxLDAsMTI0LAotICAgIDEsMCwxMDAsMiwwLDExNiw0LDAsMTA2LDUsMCwxMDAsMCwwLDEwMCwzLAotICAgIDAsMTMzLDIsMCwyNSwxMzEsMCwyLDEyNSwzLDAsMTIxLDQ2LDAsMTI0LDAsCi0gICAgMCwxMDYsNiwwLDEyNCwzLDAsMTMxLDEsMCwxNDMsMjUsMCwxMjUsNCwwLAotICAgIDExNiw3LDAsMTA2LDgsMCwxMjQsNCwwLDEwMCw0LDAsMTMxLDIsMCwxMjUsCi0gICAgNSwwLDg3LDEwMCwwLDAsODEsODgsODcsMTEwLDIyLDAsNCwxMTYsOSwwLAotICAgIDEwNywxMCwwLDExNCwxMzcsMCwxLDEsMSwxMDAsMCwwLDgzLDg5LDExMCwxLAotICAgIDAsODgsMTI0LDUsMCw4Myw0MSw1LDc4LDExNCwxNTksMCwwLDAsOTAsMTEsCi0gICAgMTE1LDEyMSwxMTUsOTUsMTE4LDEwMSwxMTQsMTE1LDEwNSwxMTEsMTEwLDExNCwxMzcsMCwwLDAsCi0gICAgMTE0LDMwLDAsMCwwLDQxLDEwLDIxOCwxMSw2OCw2OSw2Niw4NSw3MSw5NSw2NiwKLSAgICA4NSw3Myw3Niw2OCwyMTgsMTgsODIsNjksNzEsNzMsODMsODQsODIsODksOTUsNzUsCi0gICAgNjksODksOTUsNjgsNjksNjYsODUsNzEsMjE4LDEyLDgyLDY5LDcxLDczLDgzLDg0LAotICAgIDgyLDg5LDk1LDc1LDY5LDg5LDExNCw0NywwLDAsMCwxMTQsNywwLDAsMCwKLSAgICAyMTgsNywxMTgsMTAxLDExNCwxMTUsMTA1LDExMSwxMTAsMTE0LDI2LDEsMCwwLDExNCwyNCwKLSAgICAxLDAsMCw5MCwxMCw4MSwxMTcsMTAxLDExNCwxMjEsODYsOTcsMTA4LDExNywxMDEsMTE0LAotICAgIDQwLDAsMCwwLDQxLDYsMTE0LDEyLDEsMCwwLDExNCwxNTksMCwwLDAsCi0gICAgOTAsMTIsMTE0LDEwMSwxMDMsMTA1LDExNSwxMTYsMTE0LDEyMSw5NSwxMDcsMTAxLDEyMSwxMTQsMjUsCi0gICAgMSwwLDAsOTAsNCwxMDQsMTA3LDEwMSwxMjEsMjE4LDgsMTAyLDEwNSwxMDgsMTAxLDExMiwKLSAgICA5NywxMTYsMTA0LDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsCi0gICAgMCwwLDIxOCwxNiw5NSwxMTUsMTAxLDk3LDExNCw5OSwxMDQsOTUsMTE0LDEwMSwxMDMsMTA1LAotICAgIDExNSwxMTYsMTE0LDEyMSwxMjgsNSwwLDAsMTE1LDIyLDAsMCwwLDAsMiw5LAotICAgIDEsMTIsMiw5LDEsMTUsMSwyMiwxLDMsMSwxOCwxLDI4LDEsMTMsCi0gICAgMSw5LDEsMTIyLDM4LDg3LDEwNSwxMTAsMTAwLDExMSwxMTksMTE1LDgyLDEwMSwxMDMsMTA1LAotICAgIDExNSwxMTYsMTE0LDEyMSw3MCwxMDUsMTEwLDEwMCwxMDEsMTE0LDQ2LDk1LDExNSwxMDEsOTcsMTE0LAotICAgIDk5LDEwNCw5NSwxMTQsMTAxLDEwMywxMDUsMTE1LDExNiwxMTQsMTIxLDc4LDk5LDQsMCwwLAotICAgIDAsMCwwLDAsMCw4LDAsMCwwLDE0LDAsMCwwLDY3LDAsMCwKLSAgICAwLDExNSwxNTUsMCwwLDAsMTI0LDAsMCwxMDYsMCwwLDEyNCwxLDAsMTMxLAotICAgIDEsMCwxMjUsNCwwLDEyNCw0LDAsMTAwLDAsMCwxMDcsOCwwLDExNCwzMSwKLSAgICAwLDEwMCwwLDAsODMsMTIxLDE0LDAsMTE2LDEsMCwxMjQsNCwwLDEzMSwxLAotICAgIDAsMSw4NywxMTAsMjIsMCw0LDExNiwyLDAsMTA3LDEwLDAsMTE0LDY5LDAsCi0gICAgMSwxLDEsMTAwLDAsMCw4Myw4OSwxMTAsMSwwLDg4LDEyMCw3OCwwLDExNiwKLSAgICAzLDAsMTMxLDAsMCw2OCw5Myw2NywwLDkyLDIsMCwxMjUsNSwwLDEyNSwKLSAgICA2LDAsMTI0LDQsMCwxMDYsNCwwLDExNiw1LDAsMTI0LDYsMCwxMzEsMSwKLSAgICAwLDEzMSwxLDAsMTE0LDgwLDAsMTE2LDYsMCwxMjQsMSwwLDEyNCw1LDAsCi0gICAgMTI0LDEsMCwxMjQsNCwwLDEzMSwyLDAsMTAwLDEsMCwxMjQsNCwwLDEzMSwKLSAgICAyLDEsMTI1LDcsMCwxMjQsNywwLDgzLDExMyw4MCwwLDg3LDEwMCwwLDAsCi0gICAgODMsNDEsMiw3OCwxMTQsMjE4LDAsMCwwLDQxLDcsMTE0LDMyLDEsMCwwLAotICAgIDExNCwzOSwwLDAsMCwxMTQsNDAsMCwwLDAsMTE0LDI0MSwwLDAsMCwxMTQsCi0gICAgMjMxLDAsMCwwLDExNCwyMzIsMCwwLDAsMTE0LDE3NCwwLDAsMCw0MSw4LAotICAgIDExNCwxMiwxLDAsMCwxMTQsMTU5LDAsMCwwLDExNCwzNSwwLDAsMCwxMTQsCi0gICAgMTMsMSwwLDAsMTE0LDMxLDEsMCwwLDExNCwxNzAsMCwwLDAsMTE0LDEyNiwKLSAgICAwLDAsMCwxMTQsMTc4LDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsCi0gICAgMCwwLDExNCw1LDAsMCwwLDExNCwxNCwxLDAsMCwxNDMsNSwwLDAsCi0gICAgMTE1LDI0LDAsMCwwLDAsMiwxNSwxLDEyLDEsNCwxLDMsMSwxNCwKLSAgICAxLDEzLDEsOSwxLDIyLDEsMjEsMSwyMSwxLDksMSwxMjIsMzEsODcsCi0gICAgMTA1LDExMCwxMDAsMTExLDExOSwxMTUsODIsMTAxLDEwMywxMDUsMTE1LDExNiwxMTQsMTIxLDcwLDEwNSwKLSAgICAxMTAsMTAwLDEwMSwxMTQsNDYsMTAyLDEwNSwxMTAsMTAwLDk1LDExNSwxMTIsMTAxLDk5LDk5LDMsCi0gICAgMCwwLDAsMCwwLDAsMCw0LDAsMCwwLDMsMCwwLDAsNjcsCi0gICAgMCwwLDAsMTE1LDQ1LDAsMCwwLDEyNCwwLDAsMTA2LDAsMCwxMjQsMSwKLSAgICAwLDEyNCwyLDAsMTMxLDIsMCwxMjUsMywwLDEyNCwzLDAsMTAwLDEsMCwKLSAgICAxMDcsOSwwLDExNCwzNywwLDEyNCwzLDAsMTA2LDEsMCw4MywxMDAsMSwwLAotICAgIDgzLDEwMCwxLDAsODMsNDEsMiwxMjIsMTA4LDcwLDEwNSwxMTAsMTAwLDMyLDEwOSwxMTEsCi0gICAgMTAwLDExNywxMDgsMTAxLDMyLDExMCw5NywxMDksMTAxLDEwMCwzMiwxMDUsMTEwLDMyLDExNiwxMDQsCi0gICAgMTAxLDMyLDExNCwxMDEsMTAzLDEwNSwxMTUsMTE2LDExNCwxMjEsNDYsMTAsMTAsMzIsMzIsMzIsCi0gICAgMzIsMzIsMzIsMzIsMzIsODQsMTA0LDEwNSwxMTUsMzIsMTA5LDEwMSwxMTYsMTA0LDExMSwxMDAsCi0gICAgMzIsMTA1LDExNSwzMiwxMDAsMTAxLDExMiwxMTQsMTAxLDk5LDk3LDExNiwxMDEsMTAwLDQ2LDMyLAotICAgIDMyLDg1LDExNSwxMDEsMzIsMTAxLDEyMCwxMDEsOTksOTUsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsCi0gICAgNDAsNDEsMzIsMTA1LDExMCwxMTUsMTE2LDEwMSw5NywxMDAsNDYsMTAsMTAsMzIsMzIsMzIsCi0gICAgMzIsMzIsMzIsMzIsMzIsNzgsNDEsMiwxMTQsMTQsMSwwLDAsMTE0LDE3MCwwLAotICAgIDAsMCw0MSw0LDExNCwxMiwxLDAsMCwxMTQsMTU5LDAsMCwwLDExNCwzNSwKLSAgICAwLDAsMCwxMTQsMTc4LDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsCi0gICAgMCwwLDExNCw1LDAsMCwwLDExNCwxNSwxLDAsMCwxNTgsNSwwLDAsCi0gICAgMTE1LDgsMCwwLDAsMCw3LDE4LDEsMTIsMSw3LDIsMTIyLDMzLDg3LAotICAgIDEwNSwxMTAsMTAwLDExMSwxMTksMTE1LDgyLDEwMSwxMDMsMTA1LDExNSwxMTYsMTE0LDEyMSw3MCwxMDUsCi0gICAgMTEwLDEwMCwxMDEsMTE0LDQ2LDEwMiwxMDUsMTEwLDEwMCw5NSwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwKLSAgICA0MSwxMiwxMTQsNTcsMCwwLDAsMTE0LDU2LDAsMCwwLDExNCw1OCwwLDAsCi0gICAgMCwxMTQsNTksMCwwLDAsMTE0LDI5LDEsMCwwLDExNCwyOCwxLDAsMCwKLSAgICAxMTQsMjcsMSwwLDAsMTE0LDE5LDEsMCwwLDExNCwyNiwxLDAsMCwxMTQsCi0gICAgMzIsMSwwLDAsMTE0LDE0LDEsMCwwLDExNCwxNSwxLDAsMCwxMTQsNCwKLSAgICAwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLAotICAgIDAsMCwxMTQsMjMsMSwwLDAsMTA5LDUsMCwwLDExNSwyMCwwLDAsMCwKLSAgICAxMiwyLDYsMyw2LDMsNiwyLDYsMiwxOCw3LDE4LDE1LDMsMSwKLSAgICAyMSwxNCwzLDEsMTE0LDIzLDEsMCwwLDk5LDAsMCwwLDAsMCwwLAotICAgIDAsMCwwLDAsMCwwLDIsMCwwLDAsNjQsMCwwLDAsMTE1LDUyLAotICAgIDAsMCwwLDEwMSwwLDAsOTAsMSwwLDEwMCwwLDAsOTAsMiwwLDEwMCwKLSAgICAxLDAsOTAsMywwLDEwMCwyLDAsMTAwLDMsMCwxMzIsMCwwLDkwLDQsCi0gICAgMCwxMDAsNCwwLDEwMCw1LDAsMTMyLDAsMCw5MCw1LDAsMTAxLDYsMCwKLSAgICA5MCw3LDAsMTAwLDYsMCw4Myw0MSw3LDIxOCwxMyw5NSw3NiwxMTEsOTcsMTAwLAotICAgIDEwMSwxMTQsNjYsOTcsMTE1LDEwNSw5OSwxMTUsMTIyLDgzLDY2LDk3LDExNSwxMDEsMzIsOTksCi0gICAgMTA4LDk3LDExNSwxMTUsMzIsMTExLDEwMiwzMiw5OSwxMTEsMTA5LDEwOSwxMTEsMTEwLDMyLDk5LAotICAgIDExMSwxMDAsMTAxLDMyLDExMCwxMDEsMTAxLDEwMCwxMDEsMTAwLDMyLDk4LDEyMSwzMiw5OCwxMTEsCi0gICAgMTE2LDEwNCwzMiw4MywxMTEsMTE3LDExNCw5OSwxMDEsNzYsMTExLDk3LDEwMCwxMDEsMTE0LDMyLAotICAgIDk3LDExMCwxMDAsMTAsMzIsMzIsMzIsMzIsODMsMTExLDExNywxMTQsOTksMTAxLDEwOCwxMDEsCi0gICAgMTE1LDExNSw3MCwxMDUsMTA4LDEwMSw3NiwxMTEsOTcsMTAwLDEwMSwxMTQsNDYsOTksMiwwLAotICAgIDAsMCwwLDAsMCwwLDUsMCwwLDAsMywwLDAsMCw2NywwLAotICAgIDAsMCwxMTUsODgsMCwwLDAsMTE2LDAsMCwxMjQsMCwwLDEwNiwxLDAsCi0gICAgMTI0LDEsMCwxMzEsMSwwLDEzMSwxLDAsMTAwLDEsMCwyNSwxMjUsMiwwLAotICAgIDEyNCwyLDAsMTA2LDIsMCwxMDAsMiwwLDEwMCwxLDAsMTMxLDIsMCwxMDAsCi0gICAgMywwLDI1LDEyNSwzLDAsMTI0LDEsMCwxMDYsMywwLDEwMCwyLDAsMTMxLAotICAgIDEsMCwxMDAsNCwwLDI1LDEyNSw0LDAsMTI0LDMsMCwxMDAsNSwwLDEwNywKLSAgICAyLDAsMTExLDg3LDAsMTI0LDQsMCwxMDAsNSwwLDEwNywzLDAsODMsNDEsCi0gICAgNiwxMjIsMTQxLDY3LDExMSwxMTAsOTksMTE0LDEwMSwxMTYsMTAxLDMyLDEwNSwxMDksMTEyLDEwOCwKLSAgICAxMDEsMTA5LDEwMSwxMTAsMTE2LDk3LDExNiwxMDUsMTExLDExMCwzMiwxMTEsMTAyLDMyLDczLDExMCwKLSAgICAxMTUsMTEyLDEwMSw5OSwxMTYsNzYsMTExLDk3LDEwMCwxMDEsMTE0LDQ2LDEwNSwxMTUsOTUsMTEyLAotICAgIDk3LDk5LDEwNyw5NywxMDMsMTAxLDMyLDk4LDEyMSwzMiw5OSwxMDQsMTAxLDk5LDEwNywxMDUsCi0gICAgMTEwLDEwMywzMiwxMDUsMTAyLDEwLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDExNiwxMDQsCi0gICAgMTAxLDMyLDExMiw5NywxMTYsMTA0LDMyLDExNCwxMDEsMTE2LDExNywxMTQsMTEwLDEwMSwxMDAsMzIsCi0gICAgOTgsMTIxLDMyLDEwMywxMDEsMTE2LDk1LDEwMiwxMDUsMTA4LDEwMSwxMTAsOTcsMTA5LDEwMSwzMiwKLSAgICAxMDQsOTcsMTE1LDMyLDk3LDMyLDEwMiwxMDUsMTA4LDEwMSwxMTAsOTcsMTA5LDEwMSwzMiwxMTEsCi0gICAgMTAyLDMyLDM5LDk1LDk1LDEwNSwxMTAsMTA1LDExNiw5NSw5NSw0NiwxMTIsMTIxLDM5LDQ2LAotICAgIDExNCwyOSwwLDAsMCwxMTQsMTE2LDAsMCwwLDExNCw4NCwwLDAsMCwxMTQsCi0gICAgMTE1LDAsMCwwLDExNCw3MiwwLDAsMCw0MSw0LDExNCwzOCwwLDAsMCwKLSAgICAxMTQsMjM5LDAsMCwwLDExNCwzNCwwLDAsMCwxMTQsMzIsMCwwLDAsNDEsCi0gICAgNSwxMTQsNzEsMCwwLDAsMTE0LDE1OSwwLDAsMCwxMTQsMTMxLDAsMCwwLAotICAgIDkwLDEzLDEwMiwxMDUsMTA4LDEwMSwxMTAsOTcsMTA5LDEwMSw5NSw5OCw5NywxMTUsMTAxLDkwLAotICAgIDksMTE2LDk3LDEwNSwxMDgsOTUsMTEwLDk3LDEwOSwxMDEsMTE0LDQsMCwwLDAsMTE0LAotICAgIDQsMCwwLDAsMTE0LDUsMCwwLDAsMTE0LDIyMCwwLDAsMCwxNzcsNSwKLSAgICAwLDAsMTE1LDgsMCwwLDAsMCwzLDI1LDEsMjIsMSwxOSwxLDEyMiwKLSAgICAyNCw5NSw3NiwxMTEsOTcsMTAwLDEwMSwxMTQsNjYsOTcsMTE1LDEwNSw5OSwxMTUsNDYsMTA1LAotICAgIDExNSw5NSwxMTIsOTcsOTksMTA3LDk3LDEwMywxMDEsOTksMiwwLDAsMCwwLDAsCi0gICAgMCwwLDMsMCwwLDAsNCwwLDAsMCw2NywwLDAsMCwxMTUsODAsCi0gICAgMCwwLDAsMTI0LDAsMCwxMDYsMCwwLDEyNCwxLDAsMTA2LDEsMCwxMzEsCi0gICAgMSwwLDEyNSwyLDAsMTI0LDIsMCwxMDAsMSwwLDEwNyw4LDAsMTE0LDU3LAotICAgIDAsMTE2LDIsMCwxMDAsMiwwLDEwNiwzLDAsMTI0LDEsMCwxMDYsMSwwLAotICAgIDEzMSwxLDAsMTMxLDEsMCwxMzAsMSwwLDExMCwwLDAsMTE2LDQsMCwxMTYsCi0gICAgNSwwLDEyNCwyLDAsMTI0LDEsMCwxMDYsNiwwLDEzMSwzLDAsMSwxMDAsCi0gICAgMSwwLDgzLDQxLDMsMTIyLDE5LDY5LDEyMCwxMDEsOTksMTE3LDExNiwxMDEsMzIsMTE2LAotICAgIDEwNCwxMDEsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsNDYsNzgsMTIyLDUyLDk5LDk3LDExMCwKLSAgICAxMTAsMTExLDExNiwzMiwxMDgsMTExLDk3LDEwMCwzMiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwzMiwKLSAgICAxMjMsMzMsMTE0LDEyNSwzMiwxMTksMTA0LDEwMSwxMTAsMzIsMTAzLDEwMSwxMTYsOTUsOTksMTExLAotICAgIDEwMCwxMDEsNDAsNDEsMzIsMTE0LDEwMSwxMTYsMTE3LDExNCwxMTAsMTE1LDMyLDc4LDExMSwxMTAsCi0gICAgMTAxLDQxLDcsMTE0LDE2LDEsMCwwLDExNCw1NywwLDAsMCwxMTQsMTU0LDAsCi0gICAgMCwwLDExNCw0NywwLDAsMCwxMTQsMTE0LDAsMCwwLDExNCwxNzYsMCwwLAotICAgIDAsMTE0LDYzLDAsMCwwLDQxLDMsMTE0LDcxLDAsMCwwLDExNCwxODAsMCwKLSAgICAwLDAsMTE0LDE5NSwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsCi0gICAgMCwxMTQsNSwwLDAsMCwxMTQsMiwxLDAsMCwxODUsNSwwLDAsMTE1LAotICAgIDEwLDAsMCwwLDAsMiwxOCwxLDEyLDEsOSwxLDE4LDEsMTIyLDI1LAotICAgIDk1LDc2LDExMSw5NywxMDAsMTAxLDExNCw2Niw5NywxMTUsMTA1LDk5LDExNSw0NiwxMDEsMTIwLAotICAgIDEwMSw5OSw5NSwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSw3OCw0MSw4LDExNCw1NywwLDAsCi0gICAgMCwxMTQsNTYsMCwwLDAsMTE0LDU4LDAsMCwwLDExNCw1OSwwLDAsMCwKLSAgICAxMTQsMjIwLDAsMCwwLDExNCwyLDEsMCwwLDExNCwxODEsMCwwLDAsMTE0LAotICAgIDUsMSwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsCi0gICAgMCwwLDAsMTE0LDUsMCwwLDAsMTE0LDMzLDEsMCwwLDE3Miw1LDAsCi0gICAgMCwxMTUsOCwwLDAsMCwxMiwzLDYsMiwxMiw4LDEyLDgsMTE0LDMzLAotICAgIDEsMCwwLDk5LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLAotICAgIDQsMCwwLDAsNjQsMCwwLDAsMTE1LDEwNiwwLDAsMCwxMDEsMCwwLAotICAgIDkwLDEsMCwxMDAsMCwwLDkwLDIsMCwxMDAsMSwwLDEwMCwyLDAsMTMyLAotICAgIDAsMCw5MCwzLDAsMTAwLDMsMCwxMDAsNCwwLDEzMiwwLDAsOTAsNCwKLSAgICAwLDEwMCw1LDAsMTAwLDYsMCwxMzIsMCwwLDkwLDUsMCwxMDAsNywwLAotICAgIDEwMCw4LDAsMTMyLDAsMCw5MCw2LDAsMTAwLDksMCwxMDAsMTAsMCwxMzIsCi0gICAgMCwwLDkwLDcsMCwxMDAsMTEsMCwxMDAsMTgsMCwxMDAsMTMsMCwxMDAsMTQsCi0gICAgMCwxMzIsMCwxLDkwLDgsMCwxMDAsMTUsMCwxMDAsMTYsMCwxMzIsMCwwLAotICAgIDkwLDksMCwxMDAsMTcsMCw4Myw0MSwxOSwyMTgsMTIsODMsMTExLDExNywxMTQsOTksCi0gICAgMTAxLDc2LDExMSw5NywxMDAsMTAxLDExNCw5OSwyLDAsMCwwLDAsMCwwLDAsCi0gICAgMiwwLDAsMCwxLDAsMCwwLDY3LDAsMCwwLDExNSwxMCwwLDAsCi0gICAgMCwxMTYsMCwwLDEzMCwxLDAsMTAwLDEsMCw4Myw0MSwyLDEyMiwxNzgsNzksCi0gICAgMTEyLDExNiwxMDUsMTExLDExMCw5NywxMDgsMzIsMTA5LDEwMSwxMTYsMTA0LDExMSwxMDAsMzIsMTE2LAotICAgIDEwNCw5NywxMTYsMzIsMTE0LDEwMSwxMTYsMTE3LDExNCwxMTAsMTE1LDMyLDExNiwxMDQsMTAxLDMyLAotICAgIDEwOSwxMTEsMTAwLDEwNSwxMDIsMTA1LDk5LDk3LDExNiwxMDUsMTExLDExMCwzMiwxMTYsMTA1LDEwOSwKLSAgICAxMDEsMzIsNDAsOTcsMTEwLDMyLDEwNSwxMTAsMTE2LDQxLDMyLDEwMiwxMTEsMTE0LDMyLDExNiwKLSAgICAxMDQsMTAxLDEwLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDExNSwxMTIsMTAxLDk5LDEwNSwKLSAgICAxMDIsMTA1LDEwMSwxMDAsMzIsMTEyLDk3LDExNiwxMDQsNDQsMzIsMTE5LDEwNCwxMDEsMTE0LDEwMSwKLSAgICAzMiwxMTIsOTcsMTE2LDEwNCwzMiwxMDUsMTE1LDMyLDk3LDMyLDExNSwxMTYsMTE0LDQ2LDEwLAotICAgIDEwLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDgyLDk3LDEwNSwxMTUsMTAxLDExNSwzMiwKLSAgICA3Myw3OSw2OSwxMTQsMTE0LDExMSwxMTQsMzIsMTE5LDEwNCwxMDEsMTEwLDMyLDExNiwxMDQsMTAxLAotICAgIDMyLDExMiw5NywxMTYsMTA0LDMyLDk5LDk3LDExMCwxMTAsMTExLDExNiwzMiw5OCwxMDEsMzIsCi0gICAgMTA0LDk3LDExMCwxMDAsMTA4LDEwMSwxMDAsNDYsMTAsMzIsMzIsMzIsMzIsMzIsMzIsMzIsCi0gICAgMzIsNzgsNDEsMSwyMTgsNyw3Myw3OSw2OSwxMTQsMTE0LDExMSwxMTQsNDEsMiwxMTQsCi0gICAgNzEsMCwwLDAsMTE0LDM1LDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LAotICAgIDAsMCwwLDExNCw1LDAsMCwwLDIxOCwxMCwxMTIsOTcsMTE2LDEwNCw5NSwxMDksCi0gICAgMTE2LDEwNSwxMDksMTAxLDE5OCw1LDAsMCwxMTUsMiwwLDAsMCwwLDYsMTIyLAotICAgIDIzLDgzLDExMSwxMTcsMTE0LDk5LDEwMSw3NiwxMTEsOTcsMTAwLDEwMSwxMTQsNDYsMTEyLDk3LAotICAgIDExNiwxMDQsOTUsMTA5LDExNiwxMDUsMTA5LDEwMSw5OSwyLDAsMCwwLDAsMCwwLAotICAgIDAsMiwwLDAsMCwzLDAsMCwwLDY3LDAsMCwwLDExNSwyMCwwLAotICAgIDAsMCwxMDUsMSwwLDEyNCwwLDAsMTA2LDAsMCwxMjQsMSwwLDEzMSwxLAotICAgIDAsMTAwLDEsMCw1NCw4Myw0MSwyLDk3LDE3MCwxLDAsMCw3OSwxMTIsMTE2LAotICAgIDEwNSwxMTEsMTEwLDk3LDEwOCwzMiwxMDksMTAxLDExNiwxMDQsMTExLDEwMCwzMiwxMTQsMTAxLDExNiwKLSAgICAxMTcsMTE0LDExMCwxMDUsMTEwLDEwMywzMiw5NywzMiwxMDksMTAxLDExNiw5NywxMDAsOTcsMTE2LAotICAgIDk3LDMyLDEwMCwxMDUsOTksMTE2LDMyLDEwMiwxMTEsMTE0LDMyLDExNiwxMDQsMTAxLDMyLDExNSwKLSAgICAxMTIsMTAxLDk5LDEwNSwxMDIsMTA1LDEwMSwxMDAsMzIsMTEyLDk3LDExNiwxMDQsMTAsMzIsMzIsCi0gICAgMzIsMzIsMzIsMzIsMzIsMzIsMTE2LDExMSwzMiw5OCwxMjEsMzIsMTE2LDEwNCwxMDEsMzIsCi0gICAgMTEyLDk3LDExNiwxMDQsMzIsNDAsMTE1LDExNiwxMTQsNDEsNDYsMTAsMzIsMzIsMzIsMzIsCi0gICAgMzIsMzIsMzIsMzIsODAsMTExLDExNSwxMTUsMTA1LDk4LDEwOCwxMDEsMzIsMTA3LDEwMSwxMjEsCi0gICAgMTE1LDU4LDEwLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDQ1LDMyLDM5LDEwOSwxMTYsCi0gICAgMTA1LDEwOSwxMDEsMzksMzIsNDAsMTA5LDk3LDExMCwxMDAsOTcsMTE2LDExMSwxMTQsMTIxLDQxLAotICAgIDMyLDEwNSwxMTUsMzIsMTE2LDEwNCwxMDEsMzIsMTEwLDExNywxMDksMTAxLDExNCwxMDUsOTksMzIsCi0gICAgMTE2LDEwNSwxMDksMTAxLDExNSwxMTYsOTcsMTA5LDExMiwzMiwxMTEsMTAyLDMyLDEwOCw5NywxMTUsCi0gICAgMTE2LDMyLDExNSwxMTEsMTE3LDExNCw5OSwxMDEsMTAsMzIsMzIsMzIsMzIsMzIsMzIsMzIsCi0gICAgMzIsMzIsMzIsOTksMTExLDEwMCwxMDEsMzIsMTA5LDExMSwxMDAsMTA1LDEwMiwxMDUsOTksOTcsCi0gICAgMTE2LDEwNSwxMTEsMTEwLDU5LDEwLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDQ1LDMyLAotICAgIDM5LDExNSwxMDUsMTIyLDEwMSwzOSwzMiw0MCwxMTEsMTEyLDExNiwxMDUsMTExLDExMCw5NywxMDgsCi0gICAgNDEsMzIsMTA1LDExNSwzMiwxMTYsMTA0LDEwMSwzMiwxMTUsMTA1LDEyMiwxMDEsMzIsMTA1LDExMCwKLSAgICAzMiw5OCwxMjEsMTE2LDEwMSwxMTUsMzIsMTExLDEwMiwzMiwxMTYsMTA0LDEwMSwzMiwxMTUsMTExLAotICAgIDExNywxMTQsOTksMTAxLDMyLDk5LDExMSwxMDAsMTAxLDQ2LDEwLDEwLDMyLDMyLDMyLDMyLAotICAgIDMyLDMyLDMyLDMyLDczLDEwOSwxMTIsMTA4LDEwMSwxMDksMTAxLDExMCwxMTYsMTA1LDExMCwxMDMsCi0gICAgMzIsMTE2LDEwNCwxMDUsMTE1LDMyLDEwOSwxMDEsMTE2LDEwNCwxMTEsMTAwLDMyLDk3LDEwOCwxMDgsCi0gICAgMTExLDExOSwxMTUsMzIsMTE2LDEwNCwxMDEsMzIsMTA4LDExMSw5NywxMDAsMTAxLDExNCwzMiwxMTYsCi0gICAgMTExLDMyLDExNCwxMDEsOTcsMTAwLDMyLDk4LDEyMSwxMTYsMTAxLDk5LDExMSwxMDAsMTAxLDMyLAotICAgIDEwMiwxMDUsMTA4LDEwMSwxMTUsNDYsMTAsMzIsMzIsMzIsMzIsMzIsMzIsMzIsMzIsODIsCi0gICAgOTcsMTA1LDExNSwxMDEsMTE1LDMyLDczLDc5LDY5LDExNCwxMTQsMTExLDExNCwzMiwxMTksMTA0LAotICAgIDEwMSwxMTAsMzIsMTE2LDEwNCwxMDEsMzIsMTEyLDk3LDExNiwxMDQsMzIsOTksOTcsMTEwLDExMCwKLSAgICAxMTEsMTE2LDMyLDk4LDEwMSwzMiwxMDQsOTcsMTEwLDEwMCwxMDgsMTAxLDEwMCw0NiwxMCwzMiwKLSAgICAzMiwzMiwzMiwzMiwzMiwzMiwzMiwxMTQsMTg0LDAsMCwwLDQxLDEsMTE0LDM2LAotICAgIDEsMCwwLDQxLDIsMTE0LDcxLDAsMCwwLDExNCwzNSwwLDAsMCwxMTQsCisgICAgNSwwLDAsMCwyMTgsOCwxMDMsMTAxLDExNiw5NSw5OSwxMTEsMTAwLDEwMSwyMjgsNCwKKyAgICAwLDAsMTE1LDIsMCwwLDAsMCw0LDEyMiwyNCw2NiwxMTcsMTA1LDEwOCwxMTYsCisgICAgMTA1LDExMCw3MywxMDksMTEyLDExMSwxMTQsMTE2LDEwMSwxMTQsNDYsMTAzLDEwMSwxMTYsOTUsOTksCisgICAgMTExLDEwMCwxMDEsOTksMiwwLDAsMCwwLDAsMCwwLDIsMCwwLDAsCisgICAgMSwwLDAsMCw2NywwLDAsMCwxMTUsNCwwLDAsMCwxMDAsMSwwLAorICAgIDgzLDQxLDIsMTIyLDU2LDgyLDEwMSwxMTYsMTE3LDExNCwxMTAsMzIsNzgsMTExLDExMCwxMDEsCisgICAgMzIsOTcsMTE1LDMyLDk4LDExNywxMDUsMTA4LDExNiw0NSwxMDUsMTEwLDMyLDEwOSwxMTEsMTAwLAorICAgIDExNywxMDgsMTAxLDExNSwzMiwxMDAsMTExLDMyLDExMCwxMTEsMTE2LDMyLDEwNCw5NywxMTgsMTAxLAorICAgIDMyLDExNSwxMTEsMTE3LDExNCw5OSwxMDEsMzIsOTksMTExLDEwMCwxMDEsNDYsNzgsMTE0LDQsCisgICAgMCwwLDAsNDEsMiwxMTQsMTAsMSwwLDAsMTE0LDE1OSwwLDAsMCwxMTQsCiAgICAgNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwyMTgsMTAsCi0gICAgMTEyLDk3LDExNiwxMDQsOTUsMTE1LDExNiw5NywxMTYsMTE1LDIwNiw1LDAsMCwxMTUsMiwKLSAgICAwLDAsMCwwLDExLDEyMiwyMyw4MywxMTEsMTE3LDExNCw5OSwxMDEsNzYsMTExLDk3LAotICAgIDEwMCwxMDEsMTE0LDQ2LDExMiw5NywxMTYsMTA0LDk1LDExNSwxMTYsOTcsMTE2LDExNSw5OSw0LAotICAgIDAsMCwwLDAsMCwwLDAsNCwwLDAsMCwzLDAsMCwwLDY3LAotICAgIDAsMCwwLDExNSwxNiwwLDAsMCwxMjQsMCwwLDEwNiwwLDAsMTI0LDIsCi0gICAgMCwxMjQsMywwLDEzMSwyLDAsODMsNDEsMSwxMjIsMjI4LDc5LDExMiwxMTYsMTA1LAotICAgIDExMSwxMTAsOTcsMTA4LDMyLDEwOSwxMDEsMTE2LDEwNCwxMTEsMTAwLDMyLDExOSwxMDQsMTA1LDk5LAotICAgIDEwNCwzMiwxMTksMTE0LDEwNSwxMTYsMTAxLDExNSwzMiwxMDAsOTcsMTE2LDk3LDMyLDQwLDk4LAotICAgIDEyMSwxMTYsMTAxLDExNSw0MSwzMiwxMTYsMTExLDMyLDk3LDMyLDEwMiwxMDUsMTA4LDEwMSwzMiwKLSAgICAxMTIsOTcsMTE2LDEwNCwzMiw0MCw5NywzMiwxMTUsMTE2LDExNCw0MSw0NiwxMCwxMCwzMiwKLSAgICAzMiwzMiwzMiwzMiwzMiwzMiwzMiw3MywxMDksMTEyLDEwOCwxMDEsMTA5LDEwMSwxMTAsMTE2LAotICAgIDEwNSwxMTAsMTAzLDMyLDExNiwxMDQsMTA1LDExNSwzMiwxMDksMTAxLDExNiwxMDQsMTExLDEwMCwzMiwKLSAgICA5NywxMDgsMTA4LDExMSwxMTksMTE1LDMyLDEwMiwxMTEsMTE0LDMyLDExNiwxMDQsMTAxLDMyLDExOSwKLSAgICAxMTQsMTA1LDExNiwxMDUsMTEwLDEwMywzMiwxMTEsMTAyLDMyLDk4LDEyMSwxMTYsMTAxLDk5LDExMSwKLSAgICAxMDAsMTAxLDMyLDEwMiwxMDUsMTA4LDEwMSwxMTUsNDYsMTAsMTAsMzIsMzIsMzIsMzIsMzIsCi0gICAgMzIsMzIsMzIsODQsMTA0LDEwMSwzMiwxMTUsMTExLDExNywxMTQsOTksMTAxLDMyLDExMiw5NywKLSAgICAxMTYsMTA0LDMyLDEwNSwxMTUsMzIsMTEwLDEwMSwxMDEsMTAwLDEwMSwxMDAsMzIsMTA1LDExMCwzMiwKLSAgICAxMTEsMTE0LDEwMCwxMDEsMTE0LDMyLDExNiwxMTEsMzIsOTksMTExLDExNCwxMTQsMTAxLDk5LDExNiwKLSAgICAxMDgsMTIxLDMyLDExNiwxMTQsOTcsMTEwLDExNSwxMDIsMTAxLDExNCwzMiwxMTIsMTAxLDExNCwxMDksCi0gICAgMTA1LDExNSwxMTUsMTA1LDExMSwxMTAsMTE1LDEwLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDMyLAotICAgIDQxLDEsMjE4LDgsMTE1LDEwMSwxMTYsOTUsMTAwLDk3LDExNiw5Nyw0MSw0LDExNCw3MSwKLSAgICAwLDAsMCwxMTQsMTQyLDAsMCwwLDkwLDEwLDk5LDk3LDk5LDEwNCwxMDEsOTUsCi0gICAgMTEyLDk3LDExNiwxMDQsMTE0LDUzLDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LAotICAgIDAsMCwwLDExNCw1LDAsMCwwLDIxOCwxNSw5NSw5OSw5Nyw5OSwxMDQsMTAxLAotICAgIDk1LDk4LDEyMSwxMTYsMTAxLDk5LDExMSwxMDAsMTAxLDIxOSw1LDAsMCwxMTUsMiwwLAotICAgIDAsMCwwLDgsMTIyLDI4LDgzLDExMSwxMTcsMTE0LDk5LDEwMSw3NiwxMTEsOTcsMTAwLAotICAgIDEwMSwxMTQsNDYsOTUsOTksOTcsOTksMTA0LDEwMSw5NSw5OCwxMjEsMTE2LDEwMSw5OSwxMTEsCi0gICAgMTAwLDEwMSw5OSwzLDAsMCwwLDAsMCwwLDAsMywwLDAsMCwxLAotICAgIDAsMCwwLDY3LDAsMCwwLDExNSw0LDAsMCwwLDEwMCwxLDAsODMsCi0gICAgNDEsMiwxMjIsMTUwLDc5LDExMiwxMTYsMTA1LDExMSwxMTAsOTcsMTA4LDMyLDEwOSwxMDEsMTE2LAotICAgIDEwNCwxMTEsMTAwLDMyLDExOSwxMDQsMTA1LDk5LDEwNCwzMiwxMTksMTE0LDEwNSwxMTYsMTAxLDExNSwKLSAgICAzMiwxMDAsOTcsMTE2LDk3LDMyLDQwLDk4LDEyMSwxMTYsMTAxLDExNSw0MSwzMiwxMTYsMTExLAotICAgIDMyLDk3LDMyLDEwMiwxMDUsMTA4LDEwMSwzMiwxMTIsOTcsMTE2LDEwNCwzMiw0MCw5NywzMiwKLSAgICAxMTUsMTE2LDExNCw0MSw0NiwxMCwxMCwzMiwzMiwzMiwzMiwzMiwzMiwzMiwzMiw3MywKLSAgICAxMDksMTEyLDEwOCwxMDEsMTA5LDEwMSwxMTAsMTE2LDEwNSwxMTAsMTAzLDMyLDExNiwxMDQsMTA1LDExNSwKLSAgICAzMiwxMDksMTAxLDExNiwxMDQsMTExLDEwMCwzMiw5NywxMDgsMTA4LDExMSwxMTksMTE1LDMyLDEwMiwKLSAgICAxMTEsMTE0LDMyLDExNiwxMDQsMTAxLDMyLDExOSwxMTQsMTA1LDExNiwxMDUsMTEwLDEwMywzMiwxMTEsCi0gICAgMTAyLDMyLDk4LDEyMSwxMTYsMTAxLDk5LDExMSwxMDAsMTAxLDMyLDEwMiwxMDUsMTA4LDEwMSwxMTUsCi0gICAgNDYsMTAsMzIsMzIsMzIsMzIsMzIsMzIsMzIsMzIsNzgsMTE0LDQsMCwwLDAsCi0gICAgNDEsMywxMTQsNzEsMCwwLDAsMTE0LDM1LDAsMCwwLDExNCw1MywwLDAsCi0gICAgMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwKLSAgICAxMTQsMzgsMSwwLDAsMjI5LDUsMCwwLDExNSwwLDAsMCwwLDEyMiwyMSwKLSAgICA4MywxMTEsMTE3LDExNCw5OSwxMDEsNzYsMTExLDk3LDEwMCwxMDEsMTE0LDQ2LDExNSwxMDEsMTE2LAotICAgIDk1LDEwMCw5NywxMTYsOTcsOTksMiwwLDAsMCwwLDAsMCwwLDUsMCwKLSAgICAwLDAsMTYsMCwwLDAsNjcsMCwwLDAsMTE1LDEwNSwwLDAsMCwxMjQsCi0gICAgMCwwLDEwNiwwLDAsMTI0LDEsMCwxMzEsMSwwLDEyNSwyLDAsMTIxLDE5LAotICAgIDAsMTI0LDAsMCwxMDYsMSwwLDEyNCwyLDAsMTMxLDEsMCwxMjUsMywwLAotICAgIDg3LDExMCw1OCwwLDQsMTE2LDIsMCwxMDcsMTAsMCwxMTQsOTQsMCwxLDEyNSwKLSAgICA0LDAsMSwxMjIsMjYsMCwxMTYsMywwLDEwMCwxLDAsMTAwLDIsMCwxMjQsCi0gICAgMSwwLDEzMSwxLDEsMTI0LDQsMCwxMzAsMiwwLDg3LDg5LDEwMCwzLDAsCi0gICAgMTAwLDMsMCwxMjUsNCwwLDEyNiw0LDAsODgsMTEwLDEsMCw4OCwxMTYsNCwKLSAgICAwLDEyNCwzLDAsMTMxLDEsMCw4Myw0MSw0LDEyMiw1Miw2NywxMTEsMTEwLDk5LAotICAgIDExNCwxMDEsMTE2LDEwMSwzMiwxMDUsMTA5LDExMiwxMDgsMTAxLDEwOSwxMDEsMTEwLDExNiw5NywxMTYsCi0gICAgMTA1LDExMSwxMTAsMzIsMTExLDEwMiwzMiw3MywxMTAsMTE1LDExMiwxMDEsOTksMTE2LDc2LDExMSwKLSAgICA5NywxMDAsMTAxLDExNCw0NiwxMDMsMTAxLDExNiw5NSwxMTUsMTExLDExNywxMTQsOTksMTAxLDQ2LAotICAgIDEyMiwzOSwxMTUsMTExLDExNywxMTQsOTksMTAxLDMyLDExMCwxMTEsMTE2LDMyLDk3LDExOCw5NywKLSAgICAxMDUsMTA4LDk3LDk4LDEwOCwxMDEsMzIsMTE2LDEwNCwxMTQsMTExLDExNywxMDMsMTA0LDMyLDEwMywKLSAgICAxMDEsMTE2LDk1LDEwMCw5NywxMTYsOTcsNDAsNDEsMTE0LDY3LDAsMCwwLDc4LDQxLAotICAgIDUsMTE0LDIzOSwwLDAsMCwyMTgsOCwxMDMsMTAxLDExNiw5NSwxMDAsOTcsMTE2LDk3LAotICAgIDExNCw0MCwwLDAsMCwxMTQsMTU0LDAsMCwwLDExNCwyMDQsMCwwLDAsNDEsCi0gICAgNSwxMTQsNzEsMCwwLDAsMTE0LDE1OSwwLDAsMCwxMTQsMzUsMCwwLDAsCi0gICAgMTE0LDIwMiwwLDAsMCwyMTgsMywxMDEsMTIwLDk5LDExNCw0LDAsMCwwLDExNCwKLSAgICA0LDAsMCwwLDExNCw1LDAsMCwwLDExNCwxNywxLDAsMCwyMzYsNSwKLSAgICAwLDAsMTE1LDE0LDAsMCwwLDAsMiwxNSwxLDMsMSwxOSwxLDE4LAotICAgIDEsOSwxLDMxLDEsMTIyLDIzLDgzLDExMSwxMTcsMTE0LDk5LDEwMSw3NiwxMTEsOTcsCi0gICAgMTAwLDEwMSwxMTQsNDYsMTAzLDEwMSwxMTYsOTUsMTE1LDExMSwxMTcsMTE0LDk5LDEwMSwyMTgsOSwKLSAgICA5NSwxMTEsMTEyLDExNiwxMDUsMTA5LDEwNSwxMjIsMTAxLDExNCwyOSwwLDAsMCw5OSwzLAotICAgIDAsMCwwLDEsMCwwLDAsNCwwLDAsMCw5LDAsMCwwLDY3LAotICAgIDAsMCwwLDExNSwzMSwwLDAsMCwxMTYsMCwwLDExNiwxLDAsMTI0LDEsCi0gICAgMCwxMjQsMiwwLDEwMCwxLDAsMTAwLDIsMCwxMDAsMywwLDEwMCw0LDAsCi0gICAgMTI0LDMsMCwxMzEsNCwyLDgzLDQxLDUsMTIyLDEzMCw4MiwxMDEsMTE2LDExNywxMTQsCi0gICAgMTEwLDMyLDExNiwxMDQsMTAxLDMyLDk5LDExMSwxMDAsMTAxLDMyLDExMSw5OCwxMDYsMTAxLDk5LAotICAgIDExNiwzMiw5OSwxMTEsMTA5LDExMiwxMDUsMTA4LDEwMSwxMDAsMzIsMTAyLDExNCwxMTEsMTA5LDMyLAotICAgIDExNSwxMTEsMTE3LDExNCw5OSwxMDEsNDYsMTAsMTAsMzIsMzIsMzIsMzIsMzIsMzIsMzIsCi0gICAgMzIsODQsMTA0LDEwMSwzMiwzOSwxMDAsOTcsMTE2LDk3LDM5LDMyLDk3LDExNCwxMDMsMTE3LAotICAgIDEwOSwxMDEsMTEwLDExNiwzMiw5OSw5NywxMTAsMzIsOTgsMTAxLDMyLDk3LDExMCwxMjEsMzIsCi0gICAgMTExLDk4LDEwNiwxMDEsOTksMTE2LDMyLDExNiwxMjEsMTEyLDEwMSwzMiwxMTYsMTA0LDk3LDExNiwKLSAgICAzMiw5OSwxMTEsMTA5LDExMiwxMDUsMTA4LDEwMSw0MCw0MSwzMiwxMTUsMTE3LDExMiwxMTIsMTExLAotICAgIDExNCwxMTYsMTE1LDQ2LDEwLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDExNCwxNzYsMCwKLSAgICAwLDAsMjE4LDEyLDEwMCwxMTEsMTEwLDExNiw5NSwxMDUsMTEwLDEwNCwxMDEsMTE0LDEwNSwxMTYsCi0gICAgODQsMTE0LDExOCwwLDAsMCw0MSwyLDExNCwxMTQsMCwwLDAsMjE4LDcsOTksCi0gICAgMTExLDEwOSwxMTIsMTA1LDEwOCwxMDEsNDEsNCwxMTQsNzEsMCwwLDAsMTE0LDUzLDAsCi0gICAgMCwwLDExNCwzNSwwLDAsMCwxMTQsNDIsMSwwLDAsMTE0LDQsMCwwLAotICAgIDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsMjE4LDE0LDExNSwxMTEsMTE3LAotICAgIDExNCw5OSwxMDEsOTUsMTE2LDExMSw5NSw5OSwxMTEsMTAwLDEwMSwyNDYsNSwwLDAsMTE1LAotICAgIDQsMCwwLDAsMCw1LDE4LDEsMTIyLDI3LDgzLDExMSwxMTcsMTE0LDk5LDEwMSwKLSAgICA3NiwxMTEsOTcsMTAwLDEwMSwxMTQsNDYsMTE1LDExMSwxMTcsMTE0LDk5LDEwMSw5NSwxMTYsMTExLAotICAgIDk1LDk5LDExMSwxMDAsMTAxLDk5LDIsMCwwLDAsMCwwLDAsMCwxMCwwLAotICAgIDAsMCw0MywwLDAsMCw2NywwLDAsMCwxMTUsMTc3LDEsMCwwLDEyNCwKLSAgICAwLDAsMTA2LDAsMCwxMjQsMSwwLDEzMSwxLDAsMTI1LDIsMCwxMDAsMSwKLSAgICAwLDEyNSwzLDAsMTIxLDE2LDAsMTE2LDEsMCwxMjQsMiwwLDEzMSwxLDAsCi0gICAgMTI1LDQsMCw4NywxMTAsMjQsMCw0LDExNiwyLDAsMTA3LDEwLDAsMTE0LDYzLAotICAgIDAsMSwxLDEsMTAwLDEsMCwxMjUsNCwwLDg5LDExMCwyMDIsMCw4OCwxMjEsCi0gICAgMTksMCwxMjQsMCwwLDEwNiwzLDAsMTI0LDIsMCwxMzEsMSwwLDEyNSw1LAotICAgIDAsODcsMTEwLDE4LDAsNCwxMTYsNCwwLDEwNywxMCwwLDExNCwxMDMsMCwxLAotICAgIDEsMSw4OSwxMTAsMTYyLDAsODgsMTE2LDUsMCwxMjQsNSwwLDEwMCwyLDAsCi0gICAgMjUsMTMxLDEsMCwxMjUsMywwLDEyMSwxOSwwLDEyNCwwLDAsMTA2LDYsMCwKLSAgICAxMjQsNCwwLDEzMSwxLDAsMTI1LDYsMCw4NywxMTAsMTgsMCw0LDExNiw3LAotICAgIDAsMTA3LDEwLDAsMTE0LDE1OSwwLDEsMSwxLDg5LDExMCwxMDYsMCw4OCwxMjEsCi0gICAgMzQsMCwxMTYsOCwwLDEyNCw2LDAsMTAwLDMsMCwxMjQsNSwwLDEwMCw0LAotICAgIDAsMTI0LDEsMCwxMDAsNSwwLDEyNCw0LDAsMTMxLDEsMywxMjUsNywwLAotICAgIDg3LDExMCwyNCwwLDQsMTE2LDksMCwxMTYsMTAsMCwxMDIsMiwwLDEwNywxMCwKLSAgICAwLDExNCwyMjAsMCwxLDEsMSw4OSwxMTAsNDUsMCw4OCwxMTYsMTEsMCwxMDAsCi0gICAgNiwwLDEyNCw0LDAsMTI0LDIsMCwxMzEsMywwLDEsMTE2LDEyLDAsMTI0LAotICAgIDcsMCwxMDAsNCwwLDEyNCwxLDAsMTAwLDcsMCwxMjQsNCwwLDEwMCw4LAotICAgIDAsMTI0LDIsMCwxMzEsMSwzLDgzLDEyNCwwLDAsMTA2LDYsMCwxMjQsMiwKLSAgICAwLDEzMSwxLDAsMTI1LDgsMCwxMjQsMCwwLDEwNiwxMywwLDEyNCw4LDAsCi0gICAgMTI0LDIsMCwxMzEsMiwwLDEyNSw5LDAsMTE2LDExLDAsMTAwLDksMCwxMjQsCi0gICAgMiwwLDEzMSwyLDAsMSwxMTYsMTQsMCwxMDYsMTUsMCwxMiwxMTQsMTczLDEsCi0gICAgMTI0LDQsMCwxMDAsMSwwLDEwNyw5LDAsMTE0LDE3MywxLDEyNCwzLDAsMTAwLAotICAgIDEsMCwxMDcsOSwwLDExNCwxNzMsMSwxMTYsMTYsMCwxMjQsOSwwLDEyNCwzLAotICAgIDAsMTE2LDE3LDAsMTI0LDgsMCwxMzEsMSwwLDEzMSwzLDAsMTI1LDYsMCwKLSAgICAxMjEsMzYsMCwxMjQsMCwwLDEwNiwxOCwwLDEyNCwyLDAsMTI0LDQsMCwxMjQsCi0gICAgNiwwLDEzMSwzLDAsMSwxMTYsMTEsMCwxMDAsMTAsMCwxMjQsNCwwLDEzMSwKLSAgICAyLDAsMSw4NywxMTMsMTczLDEsNCwxMTYsMiwwLDEwNywxMCwwLDExNCwxNjksCi0gICAgMSwxLDEsMSw4OSwxMTMsMTczLDEsODgsMTEwLDAsMCwxMjQsOSwwLDgzLAotICAgIDQxLDExLDEyMiwxOTAsNjcsMTExLDExMCw5OSwxMTQsMTAxLDExNiwxMDEsMzIsMTA1LDEwOSwxMTIsCi0gICAgMTA4LDEwMSwxMDksMTAxLDExMCwxMTYsOTcsMTE2LDEwNSwxMTEsMTEwLDMyLDExMSwxMDIsMzIsNzMsCi0gICAgMTEwLDExNSwxMTIsMTAxLDk5LDExNiw3NiwxMTEsOTcsMTAwLDEwMSwxMTQsNDYsMTAzLDEwMSwxMTYsCi0gICAgOTUsOTksMTExLDEwMCwxMDEsNDYsMTAsMTAsMzIsMzIsMzIsMzIsMzIsMzIsMzIsMzIsCi0gICAgODIsMTAxLDk3LDEwMCwxMDUsMTEwLDEwMywzMiwxMTEsMTAyLDMyLDk4LDEyMSwxMTYsMTAxLDk5LAotICAgIDExMSwxMDAsMTAxLDMyLDExNCwxMDEsMTEzLDExNywxMDUsMTE0LDEwMSwxMTUsMzIsMTEyLDk3LDExNiwKLSAgICAxMDQsOTUsMTE1LDExNiw5NywxMTYsMTE1LDMyLDExNiwxMTEsMzIsOTgsMTAxLDMyLDEwNSwxMDksCi0gICAgMTEyLDEwOCwxMDEsMTA5LDEwMSwxMTAsMTE2LDEwMSwxMDAsNDYsMzIsODQsMTExLDMyLDExOSwxMTQsCi0gICAgMTA1LDExNiwxMDEsMTAsMzIsMzIsMzIsMzIsMzIsMzIsMzIsMzIsOTgsMTIxLDExNiwxMDEsCi0gICAgOTksMTExLDEwMCwxMDEsNDQsMzIsMTE1LDEwMSwxMTYsOTUsMTAwLDk3LDExNiw5NywzMiwxMDksCi0gICAgMTE3LDExNSwxMTYsMzIsOTcsMTA4LDExNSwxMTEsMzIsOTgsMTAxLDMyLDEwNSwxMDksMTEyLDEwOCwKLSAgICAxMDEsMTA5LDEwMSwxMTAsMTE2LDEwMSwxMDAsNDYsMTAsMTAsMzIsMzIsMzIsMzIsMzIsMzIsCi0gICAgMzIsMzIsNzgsMTE0LDE4NCwwLDAsMCwxMTQsMTg4LDAsMCwwLDExNCw2NywwLAotICAgIDAsMCwxMTQsMzUsMCwwLDAsMTIyLDEzLDEyMywxMjUsMzIsMTA5LDk3LDExNiw5OSwKLSAgICAxMDQsMTAxLDExNSwzMiwxMjMsMTI1LDExNCwxNDEsMCwwLDAsMTE0LDE0MiwwLDAsMCwKLSAgICAxMjIsMTksOTksMTExLDEwMCwxMDEsMzIsMTExLDk4LDEwNiwxMDEsOTksMTE2LDMyLDEwMiwxMTQsCi0gICAgMTExLDEwOSwzMiwxMjMsMTI1LDEyMiwxMCwxMTksMTE0LDExMSwxMTYsMTAxLDMyLDEyMywzMywxMTQsCi0gICAgMTI1LDQxLDE5LDExNCwyMzksMCwwLDAsMTE0LDEzMiwwLDAsMCwxMTQsMTIzLDAsCi0gICAgMCwwLDExNCwzNywxLDAsMCwxMTQsMzUsMSwwLDAsMTE0LDE0LDAsMCwKLSAgICAwLDExNCw0MCwxLDAsMCwxMTQsNDAsMCwwLDAsMTE0LDE5MSwwLDAsMCwKLSAgICAxMTQsMTU0LDAsMCwwLDExNCwxODcsMCwwLDAsMTE0LDE1MywwLDAsMCwxMTQsCi0gICAgMTk2LDAsMCwwLDExNCw0NSwxLDAsMCwxMTQsNywwLDAsMCwyMTgsMTksCi0gICAgMTAwLDExMSwxMTAsMTE2LDk1LDExOSwxMTQsMTA1LDExNiwxMDEsOTUsOTgsMTIxLDExNiwxMDEsOTksCi0gICAgMTExLDEwMCwxMDEsMTE0LDE5OSwwLDAsMCwxMTQsMzEsMCwwLDAsMTE0LDM5LDEsCi0gICAgMCwwLDQxLDEwLDExNCw3MSwwLDAsMCwxMTQsMTU5LDAsMCwwLDExNCwxNDIsCi0gICAgMCwwLDAsMTE0LDE4OSwwLDAsMCwxMTQsMTQxLDAsMCwwLDIxOCwyLDExNSwKLSAgICAxMTYsMTE0LDUzLDAsMCwwLDIxOCwxMCw5OCwxMjEsMTE2LDEwMSwxMTUsOTUsMTAwLDk3LAotICAgIDExNiw5NywxMTQsMjAyLDAsMCwwLDkwLDExLDk5LDExMSwxMDAsMTAxLDk1LDExMSw5OCwKLSAgICAxMDYsMTAxLDk5LDExNiwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwKLSAgICAwLDAsMCwxMTQsMTYsMSwwLDAsMjU0LDUsMCwwLDExNSw3OCwwLDAsCi0gICAgMCwwLDcsMTUsMSw2LDEsMywxLDE2LDEsMTMsMSwxMSwyLDMsCi0gICAgMSwxOSwxLDEzLDEsNSwyLDE2LDEsMywxLDE5LDEsMTMsMSw1LAotICAgIDIsMywxLDksMSwxMiwxLDEzLDEsMTksMSw1LDIsOSwxLDcsCi0gICAgMSwxNSwxLDYsMSw3LDEsMTUsMSwxOCwxLDEzLDEsMjIsMSwxMiwKLSAgICAxLDksMSwxNSwxLDMsMSwxOSwxLDE3LDEsMTMsMSw4LDEsMTIyLAotICAgIDIxLDgzLDExMSwxMTcsMTE0LDk5LDEwMSw3NiwxMTEsOTcsMTAwLDEwMSwxMTQsNDYsMTAzLDEwMSwKLSAgICAxMTYsOTUsOTksMTExLDEwMCwxMDEsNzgsMTE0LDEzOSwwLDAsMCw0MSwxMCwxMTQsNTcsCi0gICAgMCwwLDAsMTE0LDU2LDAsMCwwLDExNCw1OCwwLDAsMCwxMTQsMzYsMSwKLSAgICAwLDAsMTE0LDM3LDEsMCwwLDExNCwzOSwxLDAsMCwxMTQsMzgsMSwwLAotICAgIDAsMTE0LDE3LDEsMCwwLDExNCw0NSwxLDAsMCwxMTQsMTYsMSwwLDAsCi0gICAgMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LAotICAgIDUsMCwwLDAsMTE0LDM0LDEsMCwwLDE5Niw1LDAsMCwxMTUsMTQsMCwKLSAgICAwLDAsMTIsMiwxMiw4LDEyLDEzLDEyLDEwLDEyLDcsMTIsMTAsMTgsOCwKLSAgICAxMTQsMzQsMSwwLDAsOTksMCwwLDAsMCwwLDAsMCwwLDAsMCwKLSAgICAwLDAsNCwwLDAsMCwwLDAsMCwwLDExNSwxMTIsMCwwLDAsMTAxLAotICAgIDAsMCw5MCwxLDAsMTAwLDAsMCw5MCwyLDAsMTAwLDEsMCw5MCwzLAotICAgIDAsMTAwLDIsMCwxMDAsMywwLDEzMiwwLDAsOTAsNCwwLDEwMCw0LDAsCi0gICAgMTAwLDUsMCwxMzIsMCwwLDkwLDUsMCwxMDAsNiwwLDEwMCw3LDAsMTMyLAotICAgIDAsMCw5MCw2LDAsMTAxLDcsMCwxMzUsMCwwLDEwMiwxLDAsMTAwLDgsCi0gICAgMCwxMDAsOSwwLDEzNCwwLDAsMTMxLDEsMCw5MCw4LDAsMTAxLDcsMCwKLSAgICAxMDAsMTAsMCwxMDAsMTEsMCwxMzIsMCwwLDEzMSwxLDAsOTAsOSwwLDEwMCwKLSAgICAxMiwwLDEwMCwxMywwLDEzMiwwLDAsOTAsMTAsMCwxMzUsMCwwLDgzLDQxLAotICAgIDE0LDIxOCwxMCw3MCwxMDUsMTA4LDEwMSw3NiwxMTEsOTcsMTAwLDEwMSwxMTQsMTIyLDEwMyw2NiwKLSAgICA5NywxMTUsMTAxLDMyLDEwMiwxMDUsMTA4LDEwMSwzMiwxMDgsMTExLDk3LDEwMCwxMDEsMTE0LDMyLAotICAgIDk5LDEwOCw5NywxMTUsMTE1LDMyLDExOSwxMDQsMTA1LDk5LDEwNCwzMiwxMDUsMTA5LDExMiwxMDgsCi0gICAgMTAxLDEwOSwxMDEsMTEwLDExNiwxMTUsMzIsMTE2LDEwNCwxMDEsMzIsMTA4LDExMSw5NywxMDAsMTAxLAotICAgIDExNCwzMiwxMTIsMTE0LDExMSwxMTYsMTExLDk5LDExMSwxMDgsMzIsMTA5LDEwMSwxMTYsMTA0LDExMSwKLSAgICAxMDAsMTE1LDMyLDExNiwxMDQsOTcsMTE2LDEwLDMyLDMyLDMyLDMyLDExNCwxMDEsMTEzLDExNywKLSAgICAxMDUsMTE0LDEwMSwzMiwxMDIsMTA1LDEwOCwxMDEsMzIsMTE1LDEyMSwxMTUsMTE2LDEwMSwxMDksMzIsCi0gICAgMTE3LDExNSw5NywxMDMsMTAxLDQ2LDk5LDMsMCwwLDAsMCwwLDAsMCwzLAotICAgIDAsMCwwLDIsMCwwLDAsNjcsMCwwLDAsMTE1LDIyLDAsMCwwLAotICAgIDEyNCwxLDAsMTI0LDAsMCw5NSwwLDAsMTI0LDIsMCwxMjQsMCwwLDk1LAotICAgIDEsMCwxMDAsMSwwLDgzLDQxLDIsMTIyLDc1LDY3LDk3LDk5LDEwNCwxMDEsMzIsCi0gICAgMTE2LDEwNCwxMDEsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMzIsMTEwLDk3LDEwOSwxMDEsMzIsCi0gICAgOTcsMTEwLDEwMCwzMiwxMTYsMTA0LDEwMSwzMiwxMTIsOTcsMTE2LDEwNCwzMiwxMTYsMTExLDMyLAotICAgIDExNiwxMDQsMTAxLDMyLDEwMiwxMDUsMTA4LDEwMSwzMiwxMDIsMTExLDExNywxMTAsMTAwLDMyLDk4LAotICAgIDEyMSwzMiwxMTYsMTA0LDEwMSwxMCwzMiwzMiwzMiwzMiwzMiwzMiwzMiwzMiwxMDIsMTA1LAotICAgIDExMCwxMDAsMTAxLDExNCw0Niw3OCw0MSwyLDExNCw2NywwLDAsMCwxMTQsMzUsMCwKLSAgICAwLDAsNDEsMywxMTQsNzEsMCwwLDAsMTE0LDE1OSwwLDAsMCwxMTQsMzUsCi0gICAgMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwKLSAgICAwLDAsMTE0LDcyLDAsMCwwLDU1LDYsMCwwLDExNSw0LDAsMCwwLAotICAgIDAsMyw5LDEsMTIyLDE5LDcwLDEwNSwxMDgsMTAxLDc2LDExMSw5NywxMDAsMTAxLDExNCwKLSAgICA0Niw5NSw5NSwxMDUsMTEwLDEwNSwxMTYsOTUsOTUsOTksMiwwLDAsMCwwLDAsCi0gICAgMCwwLDIsMCwwLDAsMiwwLDAsMCw2NywwLDAsMCwxMTUsMzQsCi0gICAgMCwwLDAsMTI0LDAsMCwxMDYsMCwwLDEyNCwxLDAsMTA2LDAsMCwxMDcsCi0gICAgMiwwLDExMSwzMywwLDEyNCwwLDAsMTA2LDEsMCwxMjQsMSwwLDEwNiwxLAotICAgIDAsMTA3LDIsMCw4Myw0MSwxLDc4LDQxLDIsMTE0LDIyNSwwLDAsMCwxMTQsCi0gICAgNjMsMCwwLDAsNDEsMiwxMTQsNzEsMCwwLDAsMTE0LDIyOCwwLDAsMCwKLSAgICAxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsCi0gICAgMjMwLDAsMCwwLDYxLDYsMCwwLDExNSw0LDAsMCwwLDAsMSwxOCwKLSAgICAxLDEyMiwxNyw3MCwxMDUsMTA4LDEwMSw3NiwxMTEsOTcsMTAwLDEwMSwxMTQsNDYsOTUsOTUsCi0gICAgMTAxLDExMyw5NSw5NSw5OSwxLDAsMCwwLDAsMCwwLDAsMSwwLDAsCi0gICAgMCwzLDAsMCwwLDY3LDAsMCwwLDExNSwyNiwwLDAsMCwxMTYsMCwKLSAgICAwLDEyNCwwLDAsMTA2LDEsMCwxMzEsMSwwLDExNiwwLDAsMTI0LDAsMCwKLSAgICAxMDYsMiwwLDEzMSwxLDAsNjUsODMsNDEsMSw3OCw0MSwzLDIxOCw0LDEwNCwKLSAgICA5NywxMTUsMTA0LDExNCw2NywwLDAsMCwxMTQsMzUsMCwwLDAsNDEsMSwxMTQsCi0gICAgNzEsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsCi0gICAgMCwwLDAsMjE4LDgsOTUsOTUsMTA0LDk3LDExNSwxMDQsOTUsOTUsNjUsNiwwLAotICAgIDAsMTE1LDIsMCwwLDAsMCwxLDEyMiwxOSw3MCwxMDUsMTA4LDEwMSw3NiwxMTEsCi0gICAgOTcsMTAwLDEwMSwxMTQsNDYsOTUsOTUsMTA0LDk3LDExNSwxMDQsOTUsOTUsOTksMiwwLAotICAgIDAsMCwwLDAsMCwwLDIsMCwwLDAsMywwLDAsMCwzLDAsCi0gICAgMCwwLDExNSwyMiwwLDAsMCwxMTYsMCwwLDExNiwxLDAsMTI0LDAsMCwKLSAgICAxMzEsMiwwLDEwNiwyLDAsMTI0LDEsMCwxMzEsMSwwLDgzLDQxLDEsMTIyLAotICAgIDEwMCw3NiwxMTEsOTcsMTAwLDMyLDk3LDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDMyLDEwMiwKLSAgICAxMTQsMTExLDEwOSwzMiw5NywzMiwxMDIsMTA1LDEwOCwxMDEsNDYsMTAsMTAsMzIsMzIsMzIsCi0gICAgMzIsMzIsMzIsMzIsMzIsODQsMTA0LDEwNSwxMTUsMzIsMTA5LDEwMSwxMTYsMTA0LDExMSwxMDAsCi0gICAgMzIsMTA1LDExNSwzMiwxMDAsMTAxLDExMiwxMTQsMTAxLDk5LDk3LDExNiwxMDEsMTAwLDQ2LDMyLAotICAgIDMyLDg1LDExNSwxMDEsMzIsMTAxLDEyMCwxMDEsOTksOTUsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsCi0gICAgNDAsNDEsMzIsMTA1LDExMCwxMTUsMTE2LDEwMSw5NywxMDAsNDYsMTAsMTAsMzIsMzIsMzIsCi0gICAgMzIsMzIsMzIsMzIsMzIsNDEsMywyMTgsNSwxMTUsMTE3LDExMiwxMDEsMTE0LDExNCw0OSwKLSAgICAxLDAsMCwxMTQsNSwxLDAsMCw0MSwyLDExNCw3MSwwLDAsMCwxMTQsCi0gICAgMTU5LDAsMCwwLDQxLDEsMTE0LDIyNSwwLDAsMCwxMTQsNCwwLDAsMCwKLSAgICAxMTQsNSwwLDAsMCwxMTQsNSwxLDAsMCw2OCw2LDAsMCwxMTUsMiwKLSAgICAwLDAsMCwwLDEwLDEyMiwyMiw3MCwxMDUsMTA4LDEwMSw3NiwxMTEsOTcsMTAwLDEwMSwKLSAgICAxMTQsNDYsMTA4LDExMSw5NywxMDAsOTUsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsOTksMiwwLAotICAgIDAsMCwwLDAsMCwwLDIsMCwwLDAsMSwwLDAsMCw2NywwLAotICAgIDAsMCwxMTUsNywwLDAsMCwxMjQsMCwwLDEwNiwwLDAsODMsNDEsMSwKLSAgICAxMjIsNTgsODIsMTAxLDExNiwxMTcsMTE0LDExMCwzMiwxMTYsMTA0LDEwMSwzMiwxMTIsOTcsMTE2LAotICAgIDEwNCwzMiwxMTYsMTExLDMyLDExNiwxMDQsMTAxLDMyLDExNSwxMTEsMTE3LDExNCw5OSwxMDEsMzIsCi0gICAgMTAyLDEwNSwxMDgsMTAxLDMyLDk3LDExNSwzMiwxMDIsMTExLDExNywxMTAsMTAwLDMyLDk4LDEyMSwKLSAgICAzMiwxMTYsMTA0LDEwMSwzMiwxMDIsMTA1LDExMCwxMDAsMTAxLDExNCw0Niw0MSwxLDExNCwzNSwKLSAgICAwLDAsMCw0MSwyLDExNCw3MSwwLDAsMCwxMTQsMTU5LDAsMCwwLDExNCwKLSAgICA0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDExNCwyMzksCi0gICAgMCwwLDAsODAsNiwwLDAsMTE1LDIsMCwwLDAsMCwzLDEyMiwyMywKLSAgICA3MCwxMDUsMTA4LDEwMSw3NiwxMTEsOTcsMTAwLDEwMSwxMTQsNDYsMTAzLDEwMSwxMTYsOTUsMTAyLAotICAgIDEwNSwxMDgsMTAxLDExMCw5NywxMDksMTAxLDk5LDIsMCwwLDAsMCwwLDAsMCwKLSAgICAzLDAsMCwwLDgsMCwwLDAsNjcsMCwwLDAsMTE1LDQxLDAsMCwKLSAgICAwLDExNiwwLDAsMTA2LDEsMCwxMjQsMSwwLDEwMCwxLDAsMTMxLDIsMCwKLSAgICAxNDMsMTcsMCwxMjUsMiwwLDEyNCwyLDAsMTA2LDIsMCwxMzEsMCwwLDgzLAotICAgIDg3LDEwMCwyLDAsODEsODgsMTAwLDIsMCw4Myw0MSwzLDEyMiwzOSw4MiwxMDEsCi0gICAgMTE2LDExNywxMTQsMTEwLDMyLDExNiwxMDQsMTAxLDMyLDEwMCw5NywxMTYsOTcsMzIsMTAyLDExNCwKLSAgICAxMTEsMTA5LDMyLDExMiw5NywxMTYsMTA0LDMyLDk3LDExNSwzMiwxMTQsOTcsMTE5LDMyLDk4LAotICAgIDEyMSwxMTYsMTAxLDExNSw0NiwyMTgsMSwxMTQsNzgsNDEsMywxMTQsNDksMCwwLDAsCi0gICAgMTE0LDUwLDAsMCwwLDkwLDQsMTE0LDEwMSw5NywxMDAsNDEsMywxMTQsNzEsMCwKLSAgICAwLDAsMTE0LDM1LDAsMCwwLDExNCw1NCwwLDAsMCwxMTQsNCwwLDAsCi0gICAgMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsNDAsMSwwLDAsCi0gICAgODUsNiwwLDAsMTE1LDQsMCwwLDAsMCwyLDIxLDEsMTIyLDE5LDcwLAotICAgIDEwNSwxMDgsMTAxLDc2LDExMSw5NywxMDAsMTAxLDExNCw0NiwxMDMsMTAxLDExNiw5NSwxMDAsOTcsCi0gICAgMTE2LDk3LDQxLDExLDExNCw1NywwLDAsMCwxMTQsNTYsMCwwLDAsMTE0LDU4LAotICAgIDAsMCwwLDExNCw1OSwwLDAsMCwxMTQsNzIsMCwwLDAsMTE0LDIzMCwwLAotICAgIDAsMCwxMTQsNTEsMSwwLDAsMTE0LDE1NywwLDAsMCwxMTQsNSwxLDAsCi0gICAgMCwxMTQsMjM5LDAsMCwwLDExNCw0MCwxLDAsMCwxMTQsNCwwLDAsMCwKLSAgICAxMTQsNCwwLDAsMCw0MSwxLDExNCwyMjUsMCwwLDAsMTE0LDUsMCwwLAotICAgIDAsMTE0LDQ5LDEsMCwwLDUwLDYsMCwwLDExNSwxNCwwLDAsMCwxMiwKLSAgICAzLDYsMiwxMiw2LDEyLDQsMTIsMywyNCwxMiwxOCw1LDExNCw0OSwxLAotICAgIDAsMCw5OSwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCw0LAotICAgIDAsMCwwLDY0LDAsMCwwLDExNSw2NCwwLDAsMCwxMDEsMCwwLDkwLAotICAgIDEsMCwxMDAsMCwwLDkwLDIsMCwxMDAsMSwwLDkwLDMsMCwxMDAsMiwKLSAgICAwLDEwMCwzLDAsMTMyLDAsMCw5MCw0LDAsMTAwLDQsMCwxMDAsNSwwLAotICAgIDEzMiwwLDAsOTAsNSwwLDEwMCw2LDAsMTAwLDcsMCwxMDAsOCwwLDEwMCwKLSAgICA5LDAsMTMyLDAsMSw5MCw2LDAsMTAwLDEwLDAsODMsNDEsMTEsMTE0LDksCi0gICAgMSwwLDAsMTIyLDYyLDY3LDExMSwxMTAsOTksMTE0LDEwMSwxMTYsMTAxLDMyLDEwNSwxMDksCi0gICAgMTEyLDEwOCwxMDEsMTA5LDEwMSwxMTAsMTE2LDk3LDExNiwxMDUsMTExLDExMCwzMiwxMTEsMTAyLDMyLAotICAgIDgzLDExMSwxMTcsMTE0LDk5LDEwMSw3NiwxMTEsOTcsMTAwLDEwMSwxMTQsMzIsMTE3LDExNSwxMDUsCi0gICAgMTEwLDEwMywzMiwxMTYsMTA0LDEwMSwzMiwxMDIsMTA1LDEwOCwxMDEsMzIsMTE1LDEyMSwxMTUsMTE2LAotICAgIDEwMSwxMDksNDYsOTksMiwwLDAsMCwwLDAsMCwwLDMsMCwwLDAsCi0gICAgMywwLDAsMCw2NywwLDAsMCwxMTUsMzYsMCwwLDAsMTE2LDAsMCwKLSAgICAxMjQsMSwwLDEzMSwxLDAsMTI1LDIsMCwxMDUsMiwwLDEyNCwyLDAsMTA2LAotICAgIDEsMCwxMDAsMSwwLDU0LDEyNCwyLDAsMTA2LDIsMCwxMDAsMiwwLDU0LAotICAgIDgzLDQxLDMsMTIyLDMzLDgyLDEwMSwxMTYsMTE3LDExNCwxMTAsMzIsMTE2LDEwNCwxMDEsMzIsCi0gICAgMTA5LDEwMSwxMTYsOTcsMTAwLDk3LDExNiw5NywzMiwxMDIsMTExLDExNCwzMiwxMTYsMTA0LDEwMSwKLSAgICAzMiwxMTIsOTcsMTE2LDEwNCw0NiwxMTQsMTg0LDAsMCwwLDExNCwxODUsMCwwLDAsCi0gICAgNDEsMywxMTQsMzksMCwwLDAsMjE4LDgsMTE1LDExNiw5NSwxMDksMTE2LDEwNSwxMDksCi0gICAgMTAxLDkwLDcsMTE1LDExNiw5NSwxMTUsMTA1LDEyMiwxMDEsNDEsMywxMTQsNzEsMCwwLAotICAgIDAsMTE0LDM1LDAsMCwwLDExNCw0NywxLDAsMCwxMTQsNCwwLDAsMCwKLSAgICAxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsMzcsMSwwLDAsOTUsCi0gICAgNiwwLDAsMTE1LDQsMCwwLDAsMCwyLDEyLDEsMTIyLDI3LDgzLDExMSwKLSAgICAxMTcsMTE0LDk5LDEwMSw3MCwxMDUsMTA4LDEwMSw3NiwxMTEsOTcsMTAwLDEwMSwxMTQsNDYsMTEyLAotICAgIDk3LDExNiwxMDQsOTUsMTE1LDExNiw5NywxMTYsMTE1LDk5LDQsMCwwLDAsMCwwLAotICAgIDAsMCw1LDAsMCwwLDUsMCwwLDAsNjcsMCwwLDAsMTE1LDM0LAotICAgIDAsMCwwLDExNiwwLDAsMTI0LDEsMCwxMzEsMSwwLDEyNSw0LDAsMTI0LAotICAgIDAsMCwxMDYsMSwwLDEyNCwyLDAsMTI0LDMsMCwxMDAsMSwwLDEyNCw0LAotICAgIDAsMTMxLDIsMSw4Myw0MSwyLDc4LDIxOCw1LDk1LDEwOSwxMTEsMTAwLDEwMSw0MSwKLSAgICAyLDExNCwxNDUsMCwwLDAsMTE0LDM4LDEsMCwwLDQxLDUsMTE0LDcxLDAsCi0gICAgMCwwLDExNCwxNDIsMCwwLDAsMTE0LDE0MSwwLDAsMCwxMTQsNTMsMCwwLAotICAgIDAsMTE0LDQyLDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLAotICAgIDExNCw1LDAsMCwwLDExNCwzOSwxLDAsMCwxMDAsNiwwLDAsMTE1LDQsCi0gICAgMCwwLDAsMCwyLDEyLDEsMTIyLDMyLDgzLDExMSwxMTcsMTE0LDk5LDEwMSw3MCwKLSAgICAxMDUsMTA4LDEwMSw3NiwxMTEsOTcsMTAwLDEwMSwxMTQsNDYsOTUsOTksOTcsOTksMTA0LDEwMSwKLSAgICA5NSw5OCwxMjEsMTE2LDEwMSw5OSwxMTEsMTAwLDEwMSwxMTQsNTUsMSwwLDAsMTA1LDE4MiwKLSAgICAxLDAsMCw5OSwzLDAsMCwwLDEsMCwwLDAsOSwwLDAsMCwKLSAgICAxNywwLDAsMCw2NywwLDAsMCwxMTUsNTMsMSwwLDAsMTE2LDAsMCwKLSAgICAxMjQsMSwwLDEzMSwxLDAsOTIsMiwwLDEyNSw0LDAsMTI1LDUsMCwxMDMsCi0gICAgMCwwLDEyNSw2LDAsMTIwLDU0LDAsMTI0LDQsMCwxMTQsODAsMCwxMTYsMSwKLSAgICAwLDEyNCw0LDAsMTMxLDEsMCwxMiwxMTQsODAsMCwxMTYsMCwwLDEyNCw0LAotICAgIDAsMTMxLDEsMCw5MiwyLDAsMTI1LDQsMCwxMjUsNywwLDEyNCw2LDAsCi0gICAgMTA2LDIsMCwxMjQsNywwLDEzMSwxLDAsMSwxMTMsMjcsMCw4NywxMjAsMTMyLAotICAgIDAsMTE2LDMsMCwxMjQsNiwwLDEzMSwxLDAsNjgsOTMsMTE4LDAsMTI1LDcsCi0gICAgMCwxMTYsNCwwLDEyNCw0LDAsMTI0LDcsMCwxMzEsMiwwLDEyNSw0LDAsCi0gICAgMTIxLDE3LDAsMTE2LDUsMCwxMDYsNiwwLDEyNCw0LDAsMTMxLDEsMCwxLAotICAgIDg3LDExMyw5NCwwLDQsMTE2LDcsMCwxMDcsMTAsMCwxMTQsMTU1LDAsMSwxLAotICAgIDEsMTE5LDk0LDAsODksMTEzLDk0LDAsNCwxMTYsOCwwLDEwNywxMCwwLDExNCwKLSAgICAyMTEsMCwxLDEyNSw4LDAsMSwxMjIsMjUsMCwxMTYsOSwwLDEwMCwxLDAsCi0gICAgMTI0LDQsMCwxMjQsOCwwLDEzMSwzLDAsMSwxMDAsMiwwLDgzLDg3LDg5LAotICAgIDEwMCwyLDAsMTAwLDIsMCwxMjUsOCwwLDEyNiw4LDAsODgsMTEzLDk0LDAsCi0gICAgODgsMTEzLDk0LDAsODcsMTIxLDMzLDAsMTE2LDEwLDAsMTI0LDEsMCwxMjQsMiwKLSAgICAwLDEyNCwzLDAsMTMxLDMsMCwxLDExNiw5LDAsMTAwLDMsMCwxMjQsMSwKLSAgICAwLDEzMSwyLDAsMSw4NywxMTAsNTMsMCw0LDExNiw4LDAsMTA3LDEwLDAsCi0gICAgMTE0LDQ4LDEsMSwxMjUsOCwwLDEsMTIyLDIxLDAsMTE2LDksMCwxMDAsMSwKLSAgICAwLDEyNCwxLDAsMTI0LDgsMCwxMzEsMywwLDEsODcsODksMTAwLDIsMCwKLSAgICAxMDAsMiwwLDEyNSw4LDAsMTI2LDgsMCw4OCwxMTAsMSwwLDg4LDEwMCwyLAotICAgIDAsODMsNDEsNCwxMjIsMjcsODcsMTE0LDEwNSwxMTYsMTAxLDMyLDk4LDEyMSwxMTYsMTAxLAotICAgIDExNSwzMiwxMDAsOTcsMTE2LDk3LDMyLDExNiwxMTEsMzIsOTcsMzIsMTAyLDEwNSwxMDgsMTAxLAotICAgIDQ2LDEyMiwyNyw5OSwxMTEsMTE3LDEwOCwxMDAsMzIsMTEwLDExMSwxMTYsMzIsOTksMTE0LDEwMSwKLSAgICA5NywxMTYsMTAxLDMyLDEyMywzMywxMTQsMTI1LDU4LDMyLDEyMywzMywxMTQsMTI1LDc4LDEyMiwKLSAgICAxMiw5OSwxMTQsMTAxLDk3LDExNiwxMDEsMTAwLDMyLDEyMywzMywxMTQsMTI1LDQxLDExLDExNCwKLSAgICAzOCwwLDAsMCwxMTQsNDYsMCwwLDAsMTE0LDIyNCwwLDAsMCwxMTQsMzMsCi0gICAgMCwwLDAsMTE0LDI4LDAsMCwwLDExNCwzLDAsMCwwLDkwLDUsMTA5LAotICAgIDEwNywxMDAsMTA1LDExNCwyMTgsMTUsNzAsMTA1LDEwOCwxMDEsNjksMTIwLDEwNSwxMTUsMTE2LDExNSwKLSAgICA2OSwxMTQsMTE0LDExMSwxMTQsMTE0LDQwLDAsMCwwLDExNCwxNTMsMCwwLDAsMTE0LAotICAgIDU1LDAsMCwwLDQxLDksMTE0LDcxLDAsMCwwLDExNCwzNSwwLDAsMCwKLSAgICAxMTQsNTMsMCwwLDAsMTE0LDU1LDEsMCwwLDExNCwyMzQsMCwwLDAsMTE0LAotICAgIDEzMSwwLDAsMCwxMTQsMjcsMCwwLDAsMTE0LDIzLDAsMCwwLDExNCw0MSwKLSAgICAxLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLAotICAgIDAsMCwxMTQsMzgsMSwwLDAsMTA1LDYsMCwwLDExNSwzOCwwLDAsMCwKLSAgICAwLDIsMTgsMSw2LDIsMjIsMSwxOCwxLDE3LDIsMTksMSwxNSwxLAotICAgIDMsMSwxNywxLDEzLDIsNywxLDE4LDMsMTYsMSwyNywxLDMsMSwKLSAgICAxNiwxLDE3LDEsMTgsMiwxMjIsMjUsODMsMTExLDExNywxMTQsOTksMTAxLDcwLDEwNSwKLSAgICAxMDgsMTAxLDc2LDExMSw5NywxMDAsMTAxLDExNCw0NiwxMTUsMTAxLDExNiw5NSwxMDAsOTcsMTE2LAotICAgIDk3LDc4LDQxLDcsMTE0LDU3LDAsMCwwLDExNCw1NiwwLDAsMCwxMTQsNTgsCi0gICAgMCwwLDAsMTE0LDU5LDAsMCwwLDExNCwzNywxLDAsMCwxMTQsMzksMSwKLSAgICAwLDAsMTE0LDM4LDEsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwKLSAgICAwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDExNCw5LDEsMCwwLAotICAgIDkxLDYsMCwwLDExNSw4LDAsMCwwLDEyLDIsNiwyLDEyLDUsMTIsCi0gICAgNSwxMTQsOSwxLDAsMCw5OSwwLDAsMCwwLDAsMCwwLDAsMCwKLSAgICAwLDAsMCwyLDAsMCwwLDY0LDAsMCwwLDExNSw0NiwwLDAsMCwKLSAgICAxMDEsMCwwLDkwLDEsMCwxMDAsMCwwLDkwLDIsMCwxMDAsMSwwLDkwLAotICAgIDMsMCwxMDAsMiwwLDEwMCwzLDAsMTMyLDAsMCw5MCw0LDAsMTAwLDQsCi0gICAgMCwxMDAsNSwwLDEzMiwwLDAsOTAsNSwwLDEwMCw2LDAsODMsNDEsNywKLSAgICAxMTQsOCwxLDAsMCwxMjIsNDUsNzYsMTExLDk3LDEwMCwxMDEsMTE0LDMyLDExOSwxMDQsCi0gICAgMTA1LDk5LDEwNCwzMiwxMDQsOTcsMTEwLDEwMCwxMDgsMTAxLDExNSwzMiwxMTUsMTExLDExNywxMTQsCi0gICAgOTksMTAxLDEwOCwxMDEsMTE1LDExNSwzMiwxMDIsMTA1LDEwOCwxMDEsMzIsMTA1LDEwOSwxMTIsMTExLAotICAgIDExNCwxMTYsMTE1LDQ2LDk5LDIsMCwwLDAsMCwwLDAsMCw1LDAsMCwKLSAgICAwLDYsMCwwLDAsNjcsMCwwLDAsMTE1LDc2LDAsMCwwLDEyNCwwLAotICAgIDAsMTA2LDAsMCwxMjQsMSwwLDEzMSwxLDAsMTI1LDIsMCwxMjQsMCwwLAotICAgIDEwNiwxLDAsMTI0LDIsMCwxMzEsMSwwLDEyNSwzLDAsMTE2LDIsMCwxMjQsCi0gICAgMywwLDEwMCwxLDAsMTI0LDEsMCwxMDAsMiwwLDEyNCwyLDAsMTMxLDEsCi0gICAgMiwxMjUsNCwwLDExNiwzLDAsMTI0LDQsMCwxMDAsMSwwLDEyNCwxLDAsCi0gICAgMTAwLDMsMCwxMjQsMiwwLDEzMSwxLDIsODMsNDEsNCw3OCwxMTQsNjcsMCwKLSAgICAwLDAsMTE0LDM1LDAsMCwwLDExNCwxNDEsMCwwLDAsNDEsNCwxMTQsMjM5LAotICAgIDAsMCwwLDExNCw0MCwxLDAsMCwxMTQsMTkxLDAsMCwwLDExNCwxOTYsMCwKLSAgICAwLDAsNDEsNSwxMTQsNzEsMCwwLDAsMTE0LDE1OSwwLDAsMCwxMTQsMzUsCi0gICAgMCwwLDAsMTE0LDUzLDAsMCwwLDExNCw0OCwxLDAsMCwxMTQsNCwwLAotICAgIDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsMTYsMSwwLAotICAgIDAsMTM4LDYsMCwwLDExNSw4LDAsMCwwLDAsMSwxNSwxLDE1LDEsCi0gICAgMjQsMSwxMjIsMjksODMsMTExLDExNywxMTQsOTksMTAxLDEwOCwxMDEsMTE1LDExNSw3MCwxMDUsCi0gICAgMTA4LDEwMSw3NiwxMTEsOTcsMTAwLDEwMSwxMTQsNDYsMTAzLDEwMSwxMTYsOTUsOTksMTExLDEwMCwKKyAgICAxMDMsMTAxLDExNiw5NSwxMTUsMTExLDExNywxMTQsOTksMTAxLDIzNCw0LDAsMCwxMTUsMiwKKyAgICAwLDAsMCwwLDQsMTIyLDI2LDY2LDExNywxMDUsMTA4LDExNiwxMDUsMTEwLDczLDEwOSwKKyAgICAxMTIsMTExLDExNCwxMTYsMTAxLDExNCw0NiwxMDMsMTAxLDExNiw5NSwxMTUsMTExLDExNywxMTQsOTksCiAgICAgMTAxLDk5LDIsMCwwLDAsMCwwLDAsMCwyLDAsMCwwLDEsMCwKICAgICAwLDAsNjcsMCwwLDAsMTE1LDQsMCwwLDAsMTAwLDEsMCw4Myw0MSwKLSAgICAyLDEyMiwzOSw4MiwxMDEsMTE2LDExNywxMTQsMTEwLDMyLDc4LDExMSwxMTAsMTAxLDMyLDk3LAotICAgIDExNSwzMiwxMTYsMTA0LDEwMSwxMTQsMTAxLDMyLDEwNSwxMTUsMzIsMTEwLDExMSwzMiwxMTUsMTExLAotICAgIDExNywxMTQsOTksMTAxLDMyLDk5LDExMSwxMDAsMTAxLDQ2LDc4LDExNCw0LDAsMCwwLAotICAgIDQxLDIsMTE0LDcxLDAsMCwwLDExNCwxNTksMCwwLDAsMTE0LDQsMCwwLAotICAgIDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsMTE0LDE3LDEsMCwwLAotICAgIDE0NCw2LDAsMCwxMTUsMiwwLDAsMCwwLDIsMTIyLDMxLDgzLDExMSwxMTcsCi0gICAgMTE0LDk5LDEwMSwxMDgsMTAxLDExNSwxMTUsNzAsMTA1LDEwOCwxMDEsNzYsMTExLDk3LDEwMCwxMDEsCi0gICAgMTE0LDQ2LDEwMywxMDEsMTE2LDk1LDExNSwxMTEsMTE3LDExNCw5OSwxMDEsNzgsNDEsNiwxMTQsCi0gICAgNTcsMCwwLDAsMTE0LDU2LDAsMCwwLDExNCw1OCwwLDAsMCwxMTQsNTksCi0gICAgMCwwLDAsMTE0LDE2LDEsMCwwLDExNCwxNywxLDAsMCwxMTQsNCwwLAorICAgIDIsMTIyLDUyLDgyLDEwMSwxMTYsMTE3LDExNCwxMTAsMzIsNzAsOTcsMTA4LDExNSwxMDEsMzIsCisgICAgOTcsMTE1LDMyLDk4LDExNywxMDUsMTA4LDExNiw0NSwxMDUsMTEwLDMyLDEwOSwxMTEsMTAwLDExNywKKyAgICAxMDgsMTAxLDExNSwzMiw5NywxMTQsMTAxLDMyLDExMCwxMDEsMTE4LDEwMSwxMTQsMzIsMTEyLDk3LAorICAgIDk5LDEwNyw5NywxMDMsMTAxLDExNSw0Niw3MCwxMTQsNCwwLDAsMCw0MSwyLDExNCwKKyAgICAxMCwxLDAsMCwxMTQsMTU5LDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LAorICAgIDAsMCwwLDExNCw1LDAsMCwwLDExNCwyMTksMCwwLDAsMjQwLDQsMCwKKyAgICAwLDExNSwyLDAsMCwwLDAsNCwxMjIsMjYsNjYsMTE3LDEwNSwxMDgsMTE2LDEwNSwKKyAgICAxMTAsNzMsMTA5LDExMiwxMTEsMTE0LDExNiwxMDEsMTE0LDQ2LDEwNSwxMTUsOTUsMTEyLDk3LDk5LAorICAgIDEwNyw5NywxMDMsMTAxLDQxLDE0LDExNCw1NywwLDAsMCwxMTQsNTYsMCwwLDAsCisgICAgMTE0LDU4LDAsMCwwLDExNCw1OSwwLDAsMCwyMTgsMTIsMTE1LDExNiw5NywxMTYsCisgICAgMTA1LDk5LDEwOSwxMDEsMTE2LDEwNCwxMTEsMTAwLDExNCwyMDQsMCwwLDAsMjE4LDExLDk5LAorICAgIDEwOCw5NywxMTUsMTE1LDEwOSwxMDEsMTE2LDEwNCwxMTEsMTAwLDExNCwxMiwxLDAsMCwxMTQsCisgICAgMTMsMSwwLDAsMTE0LDE2MiwwLDAsMCwxMTQsMywxLDAsMCwxMTQsMTQsCisgICAgMSwwLDAsMTE0LDE1LDEsMCwwLDExNCwyMTksMCwwLDAsMTE0LDQsMCwKICAgICAwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLAotICAgIDAsMTE0LDgsMSwwLDAsMTM0LDYsMCwwLDExNSw2LDAsMCwwLDEyLAotICAgIDIsNiwyLDEyLDYsMTE0LDgsMSwwLDAsOTksMCwwLDAsMCwwLAotICAgIDAsMCwwLDAsMCwwLDAsMywwLDAsMCw2NCwwLDAsMCwxMTUsCi0gICAgMTMwLDAsMCwwLDEwMSwwLDAsOTAsMSwwLDEwMCwwLDAsOTAsMiwwLAotICAgIDEwMCwxLDAsOTAsMywwLDEwMCwyLDAsMTAwLDMsMCwxMzIsMCwwLDkwLAotICAgIDQsMCwxMDAsNCwwLDEwMCw1LDAsMTMyLDAsMCw5MCw1LDAsMTAwLDYsCi0gICAgMCwxMDAsNywwLDEzMiwwLDAsOTAsNiwwLDEwMSw3LDAsMTAwLDgsMCwKLSAgICAxMDAsOSwwLDEzMiwwLDAsMTMxLDEsMCw5MCw4LDAsMTAwLDEwLDAsMTAwLAotICAgIDExLDAsMTMyLDAsMCw5MCw5LDAsMTAwLDEyLDAsMTAwLDEzLDAsMTMyLDAsCi0gICAgMCw5MCwxMCwwLDEwMCwxNCwwLDEwMCwxNSwwLDEzMiwwLDAsOTAsMTEsMCwKLSAgICAxMDEsNywwLDEwMCwxNiwwLDEwMCwxNywwLDEzMiwwLDAsMTMxLDEsMCw5MCwKLSAgICAxMiwwLDEwMCwxOCwwLDgzLDQxLDE5LDIxOCwxOSw2OSwxMjAsMTE2LDEwMSwxMTAsMTE1LAotICAgIDEwNSwxMTEsMTEwLDcwLDEwNSwxMDgsMTAxLDc2LDExMSw5NywxMDAsMTAxLDExNCwxMjIsOTMsNzYsCi0gICAgMTExLDk3LDEwMCwxMDEsMTE0LDMyLDEwMiwxMTEsMTE0LDMyLDEwMSwxMjAsMTE2LDEwMSwxMTAsMTE1LAotICAgIDEwNSwxMTEsMTEwLDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDExNSw0NiwxMCwxMCwzMiwzMiwKLSAgICAzMiwzMiw4NCwxMDQsMTAxLDMyLDk5LDExMSwxMTAsMTE1LDExNiwxMTQsMTE3LDk5LDExNiwxMTEsCi0gICAgMTE0LDMyLDEwNSwxMTUsMzIsMTAwLDEwMSwxMTUsMTA1LDEwMywxMTAsMTAxLDEwMCwzMiwxMTYsMTExLAotICAgIDMyLDExOSwxMTEsMTE0LDEwNywzMiwxMTksMTA1LDExNiwxMDQsMzIsNzAsMTA1LDEwOCwxMDEsNzAsCi0gICAgMTA1LDExMCwxMDAsMTAxLDExNCw0NiwxMCwxMCwzMiwzMiwzMiwzMiw5OSwzLDAsMCwKLSAgICAwLDAsMCwwLDAsMywwLDAsMCwyLDAsMCwwLDY3LDAsMCwKLSAgICAwLDExNSwyMiwwLDAsMCwxMjQsMSwwLDEyNCwwLDAsOTUsMCwwLDEyNCwKLSAgICAyLDAsMTI0LDAsMCw5NSwxLDAsMTAwLDAsMCw4Myw0MSwxLDc4LDQxLAotICAgIDIsMTE0LDY3LDAsMCwwLDExNCwzNSwwLDAsMCw0MSwzLDExNCw3MSwwLAotICAgIDAsMCwxMTQsNjcsMCwwLDAsMTE0LDM1LDAsMCwwLDExNCw0LDAsMCwKLSAgICAwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDExNCw3MiwwLDAsMCwKLSAgICAxNjEsNiwwLDAsMTE1LDQsMCwwLDAsMCwxLDksMSwxMjIsMjgsNjksCi0gICAgMTIwLDExNiwxMDEsMTEwLDExNSwxMDUsMTExLDExMCw3MCwxMDUsMTA4LDEwMSw3NiwxMTEsOTcsMTAwLAotICAgIDEwMSwxMTQsNDYsOTUsOTUsMTA1LDExMCwxMDUsMTE2LDk1LDk1LDk5LDIsMCwwLDAsCi0gICAgMCwwLDAsMCwyLDAsMCwwLDIsMCwwLDAsNjcsMCwwLDAsCi0gICAgMTE1LDM0LDAsMCwwLDEyNCwwLDAsMTA2LDAsMCwxMjQsMSwwLDEwNiwwLAotICAgIDAsMTA3LDIsMCwxMTEsMzMsMCwxMjQsMCwwLDEwNiwxLDAsMTI0LDEsMCwKLSAgICAxMDYsMSwwLDEwNywyLDAsODMsNDEsMSw3OCw0MSwyLDExNCwyMjUsMCwwLAotICAgIDAsMTE0LDYzLDAsMCwwLDQxLDIsMTE0LDcxLDAsMCwwLDExNCwyMjgsMCwKKyAgICAwLDExNCw5LDEsMCwwLDE3Nyw0LDAsMCwxMTUsMjgsMCwwLDAsMTIsCisgICAgNyw2LDIsMTgsOSwzLDEsMjEsOCwzLDEsMTgsMTEsMywxLDIxLAorICAgIDExLDMsMSwyMSw1LDMsMSwyMSw1LDMsMSwxMTQsOSwxLDAsMCwKKyAgICA5OSwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCw1LDAsMCwKKyAgICAwLDY0LDAsMCwwLDExNSwyMTEsMCwwLDAsMTAxLDAsMCw5MCwxLDAsCisgICAgMTAwLDAsMCw5MCwyLDAsMTAwLDEsMCw5MCwzLDAsMTAxLDQsMCwxMDAsCisgICAgMiwwLDEwMCwzLDAsMTMyLDAsMCwxMzEsMSwwLDkwLDUsMCwxMDEsNiwKKyAgICAwLDEwMCw0LDAsMTAwLDQsMCwxMDAsNSwwLDEwMCw2LDAsMTMyLDIsMCwKKyAgICAxMzEsMSwwLDkwLDcsMCwxMDEsNiwwLDEwMCw0LDAsMTAwLDcsMCwxMDAsCisgICAgOCwwLDEzMiwxLDAsMTMxLDEsMCw5MCw4LDAsMTAxLDYsMCwxMDAsOSwKKyAgICAwLDEwMCwxMCwwLDEzMiwwLDAsMTMxLDEsMCw5MCw5LDAsMTAxLDQsMCwKKyAgICAxMDAsMTEsMCwxMDAsMTIsMCwxMzIsMCwwLDEzMSwxLDAsOTAsMTAsMCwxMDEsCisgICAgNiwwLDEwMCwxMywwLDEwMCwxNCwwLDEzMiwwLDAsMTMxLDEsMCw5MCwxMSwKKyAgICAwLDEwMSw2LDAsMTAxLDEyLDAsMTAwLDE1LDAsMTAwLDE2LDAsMTMyLDAsMCwKKyAgICAxMzEsMSwwLDEzMSwxLDAsOTAsMTMsMCwxMDEsNiwwLDEwMSwxMiwwLDEwMCwKKyAgICAxNywwLDEwMCwxOCwwLDEzMiwwLDAsMTMxLDEsMCwxMzEsMSwwLDkwLDE0LAorICAgIDAsMTAxLDYsMCwxMDEsMTIsMCwxMDAsMTksMCwxMDAsMjAsMCwxMzIsMCwwLAorICAgIDEzMSwxLDAsMTMxLDEsMCw5MCwxNSwwLDEwMCw0LDAsODMsNDEsMjEsMjE4LAorICAgIDE0LDcwLDExNCwxMTEsMTIyLDEwMSwxMTAsNzMsMTA5LDExMiwxMTEsMTE0LDExNiwxMDEsMTE0LDEyMiwKKyAgICAxNDIsNzcsMTAxLDExNiw5NywzMiwxMTIsOTcsMTE2LDEwNCwzMiwxMDUsMTA5LDExMiwxMTEsMTE0LAorICAgIDExNiwzMiwxMDIsMTExLDExNCwzMiwxMDIsMTE0LDExMSwxMjIsMTAxLDExMCwzMiwxMDksMTExLDEwMCwKKyAgICAxMTcsMTA4LDEwMSwxMTUsNDYsMTAsMTAsMzIsMzIsMzIsMzIsNjUsMTA4LDEwOCwzMiwxMDksCisgICAgMTAxLDExNiwxMDQsMTExLDEwMCwxMTUsMzIsOTcsMTE0LDEwMSwzMiwxMDEsMTA1LDExNiwxMDQsMTAxLAorICAgIDExNCwzMiw5OSwxMDgsOTcsMTE1LDExNSwzMiwxMTEsMTE0LDMyLDExNSwxMTYsOTcsMTE2LDEwNSwKKyAgICA5OSwzMiwxMDksMTAxLDExNiwxMDQsMTExLDEwMCwxMTUsMzIsMTE2LDExMSwzMiw5NywxMTgsMTExLAorICAgIDEwNSwxMDAsMzIsMTE2LDEwNCwxMDEsMzIsMTEwLDEwMSwxMDEsMTAwLDMyLDExNiwxMTEsMTAsMzIsCisgICAgMzIsMzIsMzIsMTA1LDExMCwxMTUsMTE2LDk3LDExMCwxMTYsMTA1LDk3LDExNiwxMDEsMzIsMTE2LAorICAgIDEwNCwxMDEsMzIsOTksMTA4LDk3LDExNSwxMTUsNDYsMTAsMTAsMzIsMzIsMzIsMzIsOTksCisgICAgMSwwLDAsMCwwLDAsMCwwLDEsMCwwLDAsMiwwLDAsMCwKKyAgICA2NywwLDAsMCwxMTUsMTYsMCwwLDAsMTAwLDEsMCwxMDYsMCwwLDEyNCwKKyAgICAwLDAsMTA2LDEsMCwxMzEsMSwwLDgzLDQxLDIsMTIyLDExNSw4MiwxMDEsMTE2LAorICAgIDExNywxMTQsMTEwLDMyLDExNCwxMDEsMTEyLDExNCwzMiwxMDIsMTExLDExNCwzMiwxMTYsMTA0LDEwMSwKKyAgICAzMiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSw0NiwxMCwxMCwzMiwzMiwzMiwzMiwzMiwzMiwKKyAgICAzMiwzMiw4NCwxMDQsMTAxLDMyLDEwOSwxMDEsMTE2LDEwNCwxMTEsMTAwLDMyLDEwNSwxMTUsMzIsCisgICAgMTAwLDEwMSwxMTIsMTE0LDEwMSw5OSw5NywxMTYsMTAxLDEwMCw0NiwzMiwzMiw4NCwxMDQsMTAxLAorICAgIDMyLDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDMyLDEwOSw5Nyw5OSwxMDQsMTA1LDExMCwxMDEsMTE0LAorICAgIDEyMSwzMiwxMDAsMTExLDEwMSwxMTUsMzIsMTE2LDEwNCwxMDEsMzIsMTA2LDExMSw5OCwzMiwxMDUsCisgICAgMTE2LDExNSwxMDEsMTA4LDEwMiw0NiwxMCwxMCwzMiwzMiwzMiwzMiwzMiwzMiwzMiwzMiwKKyAgICAxMjIsMjIsNjAsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMzIsMTIzLDMzLDExNCwxMjUsMzIsNDAsCisgICAgMTAyLDExNCwxMTEsMTIyLDEwMSwxMTAsNDEsNjIsNDEsMiwxMTQsNDcsMCwwLDAsMTE0LAorICAgIDU3LDAsMCwwLDQxLDEsMjE4LDEsMTA5LDExNCw0LDAsMCwwLDExNCw0LAorICAgIDAsMCwwLDExNCw1LDAsMCwwLDExNCwyMDQsMCwwLDAsMCw1LDAsCisgICAgMCwxMTUsMiwwLDAsMCwwLDcsMTIyLDI2LDcwLDExNCwxMTEsMTIyLDEwMSwxMTAsCisgICAgNzMsMTA5LDExMiwxMTEsMTE0LDExNiwxMDEsMTE0LDQ2LDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDk1LAorICAgIDExNCwxMDEsMTEyLDExNCw3OCw5OSw0LDAsMCwwLDAsMCwwLDAsNCwwLAorICAgIDAsMCw1LDAsMCwwLDY3LDAsMCwwLDExNSw0MiwwLDAsMCwxMTYsCisgICAgMCwwLDEwNiwxLDAsMTI0LDEsMCwxMzEsMSwwLDExNCwzNCwwLDExNiwyLAorICAgIDAsMTI0LDEsMCwxMjQsMCwwLDEwMCwxLDAsMTAwLDIsMCwxMzEsMiwxLAorICAgIDgzLDEwMCwwLDAsODMsMTAwLDAsMCw4Myw0MSwzLDc4LDExNCwyMTcsMCwwLAorICAgIDAsOTAsNiwxMDIsMTE0LDExMSwxMjIsMTAxLDExMCw0MSwzLDExNCwxMDYsMCwwLDAsCisgICAgMTE0LDE2MywwLDAsMCwxMTQsMTc0LDAsMCwwLDQxLDQsMTE0LDEwLDEsMCwKKyAgICAwLDExNCwxNTksMCwwLDAsMTE0LDM1LDAsMCwwLDExNCwxMSwxLDAsMCwKKyAgICAxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsCisgICAgMTIsMSwwLDAsOSw1LDAsMCwxMTUsNiwwLDAsMCwwLDIsMTUsCisgICAgMSwxOSwyLDEyMiwyNCw3MCwxMTQsMTExLDEyMiwxMDEsMTEwLDczLDEwOSwxMTIsMTExLDExNCwKKyAgICAxMTYsMTAxLDExNCw0NiwxMDIsMTA1LDExMCwxMDAsOTUsMTE1LDExMiwxMDEsOTksOTksMywwLAorICAgIDAsMCwwLDAsMCwwLDMsMCwwLDAsMiwwLDAsMCw2NywwLAorICAgIDAsMCwxMTUsMjMsMCwwLDAsMTE2LDAsMCwxMDYsMSwwLDEyNCwxLDAsCisgICAgMTMxLDEsMCwxMTQsMTksMCwxMjQsMCwwLDgzLDEwMCwxLDAsODMsNDEsMiwKKyAgICAxMjIsOTMsNzAsMTA1LDExMCwxMDAsMzIsOTcsMzIsMTAyLDExNCwxMTEsMTIyLDEwMSwxMTAsMzIsCisgICAgMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsNDYsMTAsMTAsMzIsMzIsMzIsMzIsMzIsMzIsMzIsCisgICAgMzIsODQsMTA0LDEwNSwxMTUsMzIsMTA5LDEwMSwxMTYsMTA0LDExMSwxMDAsMzIsMTA1LDExNSwzMiwKKyAgICAxMDAsMTAxLDExMiwxMTQsMTAxLDk5LDk3LDExNiwxMDEsMTAwLDQ2LDMyLDMyLDg1LDExNSwxMDEsCisgICAgMzIsMTAyLDEwNSwxMTAsMTAwLDk1LDExNSwxMTIsMTAxLDk5LDQwLDQxLDMyLDEwNSwxMTAsMTE1LAorICAgIDExNiwxMDEsOTcsMTAwLDQ2LDEwLDEwLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDc4LAorICAgIDQxLDIsMTE0LDEwNiwwLDAsMCwxMTQsMTYzLDAsMCwwLDQxLDMsMTE0LDEwLAorICAgIDEsMCwwLDExNCwxNTksMCwwLDAsMTE0LDM1LDAsMCwwLDExNCw0LDAsCisgICAgMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDExNCwxMywxLDAsCisgICAgMCwxNiw1LDAsMCwxMTUsMiwwLDAsMCwwLDcsMTIyLDI2LDcwLDExNCwKKyAgICAxMTEsMTIyLDEwMSwxMTAsNzMsMTA5LDExMiwxMTEsMTE0LDExNiwxMDEsMTE0LDQ2LDEwMiwxMDUsMTEwLAorICAgIDEwMCw5NSwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSw5OSwyLDAsMCwwLDAsMCwwLAorICAgIDAsMiwwLDAsMCwxLDAsMCwwLDY3LDAsMCwwLDExNSw0LDAsCisgICAgMCwwLDEwMCwxLDAsODMsNDEsMiwxMjIsNDIsODUsMTE1LDEwMSwzMiwxMDAsMTAxLAorICAgIDEwMiw5NywxMTcsMTA4LDExNiwzMiwxMTUsMTAxLDEwOSw5NywxMTAsMTE2LDEwNSw5OSwxMTUsMzIsCisgICAgMTAyLDExMSwxMTQsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMzIsOTksMTE0LDEwMSw5NywxMTYsCisgICAgMTA1LDExMSwxMTAsNDYsNzgsMTE0LDQsMCwwLDAsNDEsMiwxMTQsMTAsMSwwLAorICAgIDAsMTE0LDE3NywwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwKKyAgICAxMTQsNSwwLDAsMCwxMTQsMjU0LDAsMCwwLDI1LDUsMCwwLDExNSwwLAorICAgIDAsMCwwLDEyMiwyOCw3MCwxMTQsMTExLDEyMiwxMDEsMTEwLDczLDEwOSwxMTIsMTExLDExNCwKKyAgICAxMTYsMTAxLDExNCw0Niw5OSwxMTQsMTAxLDk3LDExNiwxMDEsOTUsMTA5LDExMSwxMDAsMTE3LDEwOCwKKyAgICAxMDEsOTksMSwwLDAsMCwwLDAsMCwwLDMsMCwwLDAsNCwwLAorICAgIDAsMCw2NywwLDAsMCwxMTUsOTIsMCwwLDAsMTI0LDAsMCwxMDYsMCwKKyAgICAwLDEwNiwxLDAsMTI1LDEsMCwxMTYsMiwwLDEwNiwzLDAsMTI0LDEsMCwKKyAgICAxMzEsMSwwLDExNSw1NCwwLDExNiw0LDAsMTAwLDEsMCwxMDYsNSwwLDEyNCwKKyAgICAxLDAsMTMxLDEsMCwxMDAsMiwwLDEyNCwxLDAsMTMxLDEsMSwxMzAsMSwKKyAgICAwLDExNiw2LDAsMTE2LDIsMCwxMDYsNywwLDEyNCwxLDAsMTMxLDIsMCwKKyAgICAxMjUsMiwwLDExNiw4LDAsMTI0LDIsMCwxMjQsMCwwLDEwNiw5LDAsMTMxLAorICAgIDIsMCwxLDEwMCwwLDAsODMsNDEsMyw3OCwxMjIsMjcsMTIzLDMzLDExNCwxMjUsCisgICAgMzIsMTA1LDExNSwzMiwxMTAsMTExLDExNiwzMiw5NywzMiwxMDIsMTE0LDExMSwxMjIsMTAxLDExMCwKKyAgICAzMiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwxMTQsNjcsMCwwLDAsNDEsMTAsMTE0LDIwNywKKyAgICAwLDAsMCwxMTQsNjcsMCwwLDAsMTE0LDEwNiwwLDAsMCwxMTQsMTYzLDAsCisgICAgMCwwLDExNCwxNTQsMCwwLDAsMTE0LDQ3LDAsMCwwLDExNCwxMTQsMCwwLAorICAgIDAsMjE4LDE3LDEwMywxMDEsMTE2LDk1LDEwMiwxMTQsMTExLDEyMiwxMDEsMTEwLDk1LDExMSw5OCwKKyAgICAxMDYsMTAxLDk5LDExNiwyMTgsNCwxMDEsMTIwLDEwMSw5OSwxMTQsNjMsMCwwLDAsNDEsCisgICAgMywxMTQsMTc4LDAsMCwwLDExNCw2NywwLDAsMCwxMTQsMTkzLDAsMCwwLAorICAgIDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDExNCwKKyAgICAyNTUsMCwwLDAsMjksNSwwLDAsMTE1LDEyLDAsMCwwLDAsMiwxMiwKKyAgICAxLDE1LDEsMTgsMSw5LDEsMTgsMSwxMjIsMjYsNzAsMTE0LDExMSwxMjIsMTAxLAorICAgIDExMCw3MywxMDksMTEyLDExMSwxMTQsMTE2LDEwMSwxMTQsNDYsMTAxLDEyMCwxMDEsOTksOTUsMTA5LAorICAgIDExMSwxMDAsMTE3LDEwOCwxMDEsOTksMiwwLDAsMCwwLDAsMCwwLDIsMCwKKyAgICAwLDAsMywwLDAsMCw2NywwLDAsMCwxMTUsMTMsMCwwLDAsMTE2LAorICAgIDAsMCwxMjQsMCwwLDEyNCwxLDAsMTMxLDIsMCw4Myw0MSwxLDEyMiw5NSwKKyAgICA3NiwxMTEsOTcsMTAwLDMyLDk3LDMyLDEwMiwxMTQsMTExLDEyMiwxMDEsMTEwLDMyLDEwOSwxMTEsCisgICAgMTAwLDExNywxMDgsMTAxLDQ2LDEwLDEwLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDg0LAorICAgIDEwNCwxMDUsMTE1LDMyLDEwOSwxMDEsMTE2LDEwNCwxMTEsMTAwLDMyLDEwNSwxMTUsMzIsMTAwLDEwMSwKKyAgICAxMTIsMTE0LDEwMSw5OSw5NywxMTYsMTAxLDEwMCw0NiwzMiwzMiw4NSwxMTUsMTAxLDMyLDEwMSwKKyAgICAxMjAsMTAxLDk5LDk1LDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDQwLDQxLDMyLDEwNSwxMTAsMTE1LAorICAgIDExNiwxMDEsOTcsMTAwLDQ2LDEwLDEwLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDQxLAorICAgIDEsMTE0LDE3OSwwLDAsMCw0MSwyLDExNCwxMCwxLDAsMCwxMTQsMTU5LDAsCiAgICAgMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwKLSAgICAwLDExNCwyMzAsMCwwLDAsMTY1LDYsMCwwLDExNSw0LDAsMCwwLDAsCi0gICAgMSwxOCwxLDEyMiwyNiw2OSwxMjAsMTE2LDEwMSwxMTAsMTE1LDEwNSwxMTEsMTEwLDcwLDEwNSwKLSAgICAxMDgsMTAxLDc2LDExMSw5NywxMDAsMTAxLDExNCw0Niw5NSw5NSwxMDEsMTEzLDk1LDk1LDk5LAotICAgIDEsMCwwLDAsMCwwLDAsMCwxLDAsMCwwLDMsMCwwLDAsCi0gICAgNjcsMCwwLDAsMTE1LDI2LDAsMCwwLDExNiwwLDAsMTI0LDAsMCwxMDYsCi0gICAgMSwwLDEzMSwxLDAsMTE2LDAsMCwxMjQsMCwwLDEwNiwyLDAsMTMxLDEsCi0gICAgMCw2NSw4Myw0MSwxLDc4LDQxLDMsMTE0LDUwLDEsMCwwLDExNCw2NywwLAotICAgIDAsMCwxMTQsMzUsMCwwLDAsNDEsMSwxMTQsNzEsMCwwLDAsMTE0LDQsCi0gICAgMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsMTE0LDUxLDEsCi0gICAgMCwwLDE2OSw2LDAsMCwxMTUsMiwwLDAsMCwwLDEsMTIyLDI4LDY5LAotICAgIDEyMCwxMTYsMTAxLDExMCwxMTUsMTA1LDExMSwxMTAsNzAsMTA1LDEwOCwxMDEsNzYsMTExLDk3LDEwMCwKLSAgICAxMDEsMTE0LDQ2LDk1LDk1LDEwNCw5NywxMTUsMTA0LDk1LDk1LDk5LDIsMCwwLDAsCi0gICAgMCwwLDAsMCw0LDAsMCwwLDExLDAsMCwwLDY3LDAsMCwwLAotICAgIDExNSwxODMsMCwwLDAsMTE2LDAsMCwxMjQsMSwwLDEzMSwxLDAsMTQzLDI5LAotICAgIDAsMSwxMTYsMSwwLDExNiwyLDAsMTA2LDMsMCwxMjQsMSwwLDEyNCwwLAotICAgIDAsMTA2LDQsMCwxMzEsMywwLDEyNSwyLDAsODcsMTAwLDEsMCw4MSw4OCwKLSAgICAxMTYsNSwwLDEwMCwyLDAsMTI0LDAsMCwxMDYsNCwwLDEzMSwyLDAsMSwKLSAgICAxMjQsMCwwLDEwNiw2LDAsMTI0LDEsMCwxMzEsMSwwLDEyNSwzLDAsMTI0LAotICAgIDMsMCwxMTQsMTI0LDAsMTE2LDcsMCwxMjQsMiwwLDEwMCwzLDAsMTMxLDIsCi0gICAgMCwxMiwxMTQsMTI0LDAsMTE2LDgsMCwxMjQsMCwwLDEwNiw0LDAsMTMxLDEsCi0gICAgMCwxMDAsNCwwLDI1LDEwMywxLDAsMTI0LDIsMCw5NSw5LDAsMTEwLDAsCi0gICAgMCwxMjQsMCwwLDEyNCwyLDAsOTUsMTAsMCwxMjQsMiwwLDEwNiwxMSwwLAotICAgIDEyNCwyLDAsOTUsMTIsMCwxMjQsMywwLDExNSwxNzksMCwxMjQsMiwwLDEwNiwKLSAgICAxMiwwLDEwNiwxMywwLDEwMCw1LDAsMTMxLDEsMCwxMDAsNCwwLDI1LDEyNCwKLSAgICAyLDAsOTUsMTIsMCwxMTAsMCwwLDEyNCwyLDAsODMsNDEsNiwxMjIsMjUsCi0gICAgNzYsMTExLDk3LDEwMCwzMiw5NywxMTAsMzIsMTAxLDEyMCwxMTYsMTAxLDExMCwxMTUsMTA1LDExMSwKLSAgICAxMTAsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsNDYsNzgsMTIyLDMzLDEwMSwxMjAsMTE2LDEwMSwKLSAgICAxMTAsMTE1LDEwNSwxMTEsMTEwLDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDMyLDEwOCwxMTEsOTcsCi0gICAgMTAwLDEwMSwxMDAsMzIsMTAyLDExNCwxMTEsMTA5LDMyLDEyMywzMywxMTQsMTI1LDExNCwyNDcsMCwKLSAgICAwLDAsMTE0LDg0LDAsMCwwLDExNCwxMTYsMCwwLDAsNDEsMTQsMTE0LDY5LAotICAgIDAsMCwwLDExNCwxMTQsMCwwLDAsMTE0LDEwNiwwLDAsMCw5MCwxMiwxMDgsCi0gICAgMTExLDk3LDEwMCw5NSwxMDAsMTIxLDExMCw5NywxMDksMTA1LDk5LDExNCwzNSwwLDAsMCwKLSAgICAxMTQsMTUzLDAsMCwwLDExNCwyMjAsMCwwLDAsMTE0LDYwLDAsMCwwLDExNCwKLSAgICAzOCwwLDAsMCwxMTQsMjQ3LDAsMCwwLDExNCwyMDUsMCwwLDAsMTE0LDU3LAotICAgIDAsMCwwLDExNCwyNTEsMCwwLDAsMTE0LDMyLDAsMCwwLDQxLDQsMTE0LAotICAgIDcxLDAsMCwwLDExNCwxNTksMCwwLDAsMTE0LDE4MCwwLDAsMCwxMTQsMjIwLAorICAgIDAsMTE0LDMsMSwwLDAsMzgsNSwwLDAsMTE1LDIsMCwwLDAsMCwKKyAgICA3LDEyMiwyNiw3MCwxMTQsMTExLDEyMiwxMDEsMTEwLDczLDEwOSwxMTIsMTExLDExNCwxMTYsMTAxLAorICAgIDExNCw0NiwxMDgsMTExLDk3LDEwMCw5NSwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSw5OSwyLDAsCisgICAgMCwwLDAsMCwwLDAsMiwwLDAsMCwyLDAsMCwwLDY3LDAsCisgICAgMCwwLDExNSwxMywwLDAsMCwxMTYsMCwwLDEwNiwxLDAsMTI0LDEsMCwKKyAgICAxMzEsMSwwLDgzLDQxLDEsMTIyLDQ1LDgyLDEwMSwxMTYsMTE3LDExNCwxMTAsMzIsMTE2LAorICAgIDEwNCwxMDEsMzIsOTksMTExLDEwMCwxMDEsMzIsMTExLDk4LDEwNiwxMDEsOTksMTE2LDMyLDEwMiwKKyAgICAxMTEsMTE0LDMyLDExNiwxMDQsMTAxLDMyLDEwMiwxMTQsMTExLDEyMiwxMDEsMTEwLDMyLDEwOSwxMTEsCisgICAgMTAwLDExNywxMDgsMTAxLDQ2LDQxLDIsMTE0LDEwNiwwLDAsMCwxMTQsMjAsMSwwLAorICAgIDAsNDEsMiwxMTQsMTAsMSwwLDAsMTE0LDE1OSwwLDAsMCwxMTQsNCwwLAorICAgIDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsMTQsMSwwLAorICAgIDAsNDcsNSwwLDAsMTE1LDIsMCwwLDAsMCw0LDEyMiwyMyw3MCwxMTQsCisgICAgMTExLDEyMiwxMDEsMTEwLDczLDEwOSwxMTIsMTExLDExNCwxMTYsMTAxLDExNCw0NiwxMDMsMTAxLDExNiwKKyAgICA5NSw5OSwxMTEsMTAwLDEwMSw5OSwyLDAsMCwwLDAsMCwwLDAsMiwwLAorICAgIDAsMCwxLDAsMCwwLDY3LDAsMCwwLDExNSw0LDAsMCwwLDEwMCwKKyAgICAxLDAsODMsNDEsMiwxMjIsNTQsODIsMTAxLDExNiwxMTcsMTE0LDExMCwzMiw3OCwxMTEsCisgICAgMTEwLDEwMSwzMiw5NywxMTUsMzIsMTAyLDExNCwxMTEsMTIyLDEwMSwxMTAsMzIsMTA5LDExMSwxMDAsCisgICAgMTE3LDEwOCwxMDEsMTE1LDMyLDEwMCwxMTEsMzIsMTEwLDExMSwxMTYsMzIsMTA0LDk3LDExOCwxMDEsCisgICAgMzIsMTE1LDExMSwxMTcsMTE0LDk5LDEwMSwzMiw5OSwxMTEsMTAwLDEwMSw0Niw3OCwxMTQsNCwKKyAgICAwLDAsMCw0MSwyLDExNCwxMCwxLDAsMCwxMTQsMTU5LDAsMCwwLDExNCwKKyAgICA0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDExNCwxNSwKKyAgICAxLDAsMCw1Myw1LDAsMCwxMTUsMiwwLDAsMCwwLDQsMTIyLDI1LAorICAgIDcwLDExNCwxMTEsMTIyLDEwMSwxMTAsNzMsMTA5LDExMiwxMTEsMTE0LDExNiwxMDEsMTE0LDQ2LDEwMywKKyAgICAxMDEsMTE2LDk1LDExNSwxMTEsMTE3LDExNCw5OSwxMDEsOTksMiwwLDAsMCwwLDAsCisgICAgMCwwLDIsMCwwLDAsMiwwLDAsMCw2NywwLDAsMCwxMTUsMTMsCisgICAgMCwwLDAsMTE2LDAsMCwxMDYsMSwwLDEyNCwxLDAsMTMxLDEsMCw4MywKKyAgICA0MSwxLDEyMiw0Niw4MiwxMDEsMTE2LDExNywxMTQsMTEwLDMyLDg0LDExNCwxMTcsMTAxLDMyLAorICAgIDEwNSwxMDIsMzIsMTE2LDEwNCwxMDEsMzIsMTAyLDExNCwxMTEsMTIyLDEwMSwxMTAsMzIsMTA5LDExMSwKKyAgICAxMDAsMTE3LDEwOCwxMDEsMzIsMTA1LDExNSwzMiw5NywzMiwxMTIsOTcsOTksMTA3LDk3LDEwMywKKyAgICAxMDEsNDYsNDEsMiwxMTQsMTA2LDAsMCwwLDkwLDE3LDEwNSwxMTUsOTUsMTAyLDExNCwKKyAgICAxMTEsMTIyLDEwMSwxMTAsOTUsMTEyLDk3LDk5LDEwNyw5NywxMDMsMTAxLDQxLDIsMTE0LDEwLAorICAgIDEsMCwwLDExNCwxNTksMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwKKyAgICAwLDAsMTE0LDUsMCwwLDAsMTE0LDIxOSwwLDAsMCw1OSw1LDAsMCwKKyAgICAxMTUsMiwwLDAsMCwwLDQsMTIyLDI1LDcwLDExNCwxMTEsMTIyLDEwMSwxMTAsNzMsCisgICAgMTA5LDExMiwxMTEsMTE0LDExNiwxMDEsMTE0LDQ2LDEwNSwxMTUsOTUsMTEyLDk3LDk5LDEwNyw5NywKKyAgICAxMDMsMTAxLDQxLDE2LDExNCw1NywwLDAsMCwxMTQsNTYsMCwwLDAsMTE0LDU4LAorICAgIDAsMCwwLDExNCw1OSwwLDAsMCwxMTQsMTYsMSwwLDAsMTE0LDIwNCwwLAorICAgIDAsMCwxMTQsMTcsMSwwLDAsMTE0LDEyLDEsMCwwLDExNCwxMywxLDAsCisgICAgMCwxMTQsMjU0LDAsMCwwLDExNCwyNTUsMCwwLDAsMTE0LDMsMSwwLDAsCisgICAgMTE0LDE2NSwwLDAsMCwxMTQsMTQsMSwwLDAsMTE0LDE1LDEsMCwwLDExNCwKKyAgICAyMTksMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsCisgICAgMCwwLDAsMTE0LDUsMCwwLDAsMTE0LDE4LDEsMCwwLDI0Nyw0LDAsCisgICAgMCwxMTUsMzAsMCwwLDAsMTIsNyw2LDIsMTgsOSwzLDEsMjEsNiwKKyAgICAzLDEsMTgsOCwxOCw0LDE4LDksMTgsOSwzLDEsMjEsNSwzLDEsCisgICAgMjEsNSwzLDEsMTE0LDE4LDEsMCwwLDk5LDAsMCwwLDAsMCwwLAorICAgIDAsMCwwLDAsMCwwLDUsMCwwLDAsNjQsMCwwLDAsMTE1LDEyMSwKKyAgICAwLDAsMCwxMDEsMCwwLDkwLDEsMCwxMDAsMCwwLDkwLDIsMCwxMDAsCisgICAgMSwwLDkwLDMsMCwxMDAsMiwwLDkwLDQsMCwxMDAsMywwLDkwLDUsCisgICAgMCwxMDAsNCwwLDkwLDYsMCwxMDEsNywwLDEwMCw1LDAsMTAwLDYsMCwKKyAgICAxMzIsMCwwLDEzMSwxLDAsOTAsOCwwLDEwMSw3LDAsMTAwLDcsMCwxMDAsCisgICAgOCwwLDEzMiwwLDAsMTMxLDEsMCw5MCw5LDAsMTAxLDcsMCwxMDAsOSwKKyAgICAwLDEwMCw5LDAsMTAwLDEwLDAsMTAwLDExLDAsMTMyLDIsMCwxMzEsMSwwLAorICAgIDkwLDEwLDAsMTAxLDcsMCwxMDAsOSwwLDEwMCwxMiwwLDEwMCwxMywwLDEzMiwKKyAgICAxLDAsMTMxLDEsMCw5MCwxMSwwLDEwMCw5LDAsODMsNDEsMTQsMjE4LDIxLAorICAgIDg3LDEwNSwxMTAsMTAwLDExMSwxMTksMTE1LDgyLDEwMSwxMDMsMTA1LDExNSwxMTYsMTE0LDEyMSw3MCwKKyAgICAxMDUsMTEwLDEwMCwxMDEsMTE0LDEyMiw2Miw3NywxMDEsMTE2LDk3LDMyLDExMiw5NywxMTYsMTA0LAorICAgIDMyLDEwMiwxMDUsMTEwLDEwMCwxMDEsMTE0LDMyLDEwMiwxMTEsMTE0LDMyLDEwOSwxMTEsMTAwLDExNywKKyAgICAxMDgsMTAxLDExNSwzMiwxMDAsMTAxLDk5LDEwOCw5NywxMTQsMTAxLDEwMCwzMiwxMDUsMTEwLDMyLAorICAgIDExNiwxMDQsMTAxLDMyLDg3LDEwNSwxMTAsMTAwLDExMSwxMTksMTE1LDMyLDExNCwxMDEsMTAzLDEwNSwKKyAgICAxMTUsMTE2LDExNCwxMjEsNDYsMTIyLDU5LDgzLDExMSwxMDIsMTE2LDExOSw5NywxMTQsMTAxLDkyLAorICAgIDgwLDEyMSwxMTYsMTA0LDExMSwxMTAsOTIsODAsMTIxLDExNiwxMDQsMTExLDExMCw2NywxMTEsMTE0LAorICAgIDEwMSw5MiwxMjMsMTE1LDEyMSwxMTUsOTUsMTE4LDEwMSwxMTQsMTE1LDEwNSwxMTEsMTEwLDEyNSw5MiwKKyAgICA3NywxMTEsMTAwLDExNywxMDgsMTAxLDExNSw5MiwxMjMsMTAyLDExNywxMDgsMTA4LDExMCw5NywxMDksCisgICAgMTAxLDEyNSwxMjIsNjUsODMsMTExLDEwMiwxMTYsMTE5LDk3LDExNCwxMDEsOTIsODAsMTIxLDExNiwKKyAgICAxMDQsMTExLDExMCw5Miw4MCwxMjEsMTE2LDEwNCwxMTEsMTEwLDY3LDExMSwxMTQsMTAxLDkyLDEyMywKKyAgICAxMTUsMTIxLDExNSw5NSwxMTgsMTAxLDExNCwxMTUsMTA1LDExMSwxMTAsMTI1LDkyLDc3LDExMSwxMDAsCisgICAgMTE3LDEwOCwxMDEsMTE1LDkyLDEyMywxMDIsMTE3LDEwOCwxMDgsMTEwLDk3LDEwOSwxMDEsMTI1LDkyLAorICAgIDY4LDEwMSw5OCwxMTcsMTAzLDcwLDk5LDIsMCwwLDAsMCwwLDAsMCwyLAorICAgIDAsMCwwLDExLDAsMCwwLDY3LDAsMCwwLDExNSw2NywwLDAsMCwKKyAgICAxMjEsMjMsMCwxMTYsMCwwLDEwNiwxLDAsMTE2LDAsMCwxMDYsMiwwLDEyNCwKKyAgICAxLDAsMTMxLDIsMCw4Myw4NywxMTAsMzcsMCw0LDExNiwzLDAsMTA3LDEwLAorICAgIDAsMTE0LDYyLDAsMSwxLDEsMTE2LDAsMCwxMDYsMSwwLDExNiwwLDAsCisgICAgMTA2LDQsMCwxMjQsMSwwLDEzMSwyLDAsODMsODksMTEwLDEsMCw4OCwxMDAsCisgICAgMCwwLDgzLDQxLDEsNzgsNDEsNSwyMTgsNyw5NSwxMTksMTA1LDExMCwxMTQsMTAxLAorICAgIDEwMyw5MCw3LDc5LDExMiwxMDEsMTEwLDc1LDEwMSwxMjEsOTAsMTcsNzIsNzUsNjksODksCisgICAgOTUsNjcsODUsODIsODIsNjksNzgsODQsOTUsODUsODMsNjksODIsMTE0LDQwLDAsCisgICAgMCwwLDkwLDE4LDcyLDc1LDY5LDg5LDk1LDc2LDc5LDY3LDY1LDc2LDk1LDc3LAorICAgIDY1LDY3LDcyLDczLDc4LDY5LDQxLDIsMTE0LDEwLDEsMCwwLDIxOCwzLDEwNywKKyAgICAxMDEsMTIxLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwKKyAgICAwLDIxOCwxNCw5NSwxMTEsMTEyLDEwMSwxMTAsOTUsMTE0LDEwMSwxMDMsMTA1LDExNSwxMTYsMTE0LAorICAgIDEyMSw3OCw1LDAsMCwxMTUsOCwwLDAsMCwwLDIsMywxLDIzLDEsCisgICAgMTMsMSwxMjIsMzYsODcsMTA1LDExMCwxMDAsMTExLDExOSwxMTUsODIsMTAxLDEwMywxMDUsMTE1LAorICAgIDExNiwxMTQsMTIxLDcwLDEwNSwxMTAsMTAwLDEwMSwxMTQsNDYsOTUsMTExLDExMiwxMDEsMTEwLDk1LAorICAgIDExNCwxMDEsMTAzLDEwNSwxMTUsMTE2LDExNCwxMjEsOTksMiwwLDAsMCwwLDAsMCwKKyAgICAwLDYsMCwwLDAsMTYsMCwwLDAsNjcsMCwwLDAsMTE1LDE0MiwwLAorICAgIDAsMCwxMjQsMCwwLDEwNiwwLDAsMTE0LDIxLDAsMTI0LDAsMCwxMDYsMSwKKyAgICAwLDEyNSwyLDAsMTEwLDksMCwxMjQsMCwwLDEwNiwyLDAsMTI1LDIsMCwKKyAgICAxMjQsMiwwLDEwNiwzLDAsMTAwLDEsMCwxMjQsMSwwLDEwMCwyLDAsMTE2LAorICAgIDQsMCwxMDYsNSwwLDEwMCwwLDAsMTAwLDMsMCwxMzMsMiwwLDI1LDEzMSwKKyAgICAwLDIsMTI1LDMsMCwxMjEsNDYsMCwxMjQsMCwwLDEwNiw2LDAsMTI0LDMsCisgICAgMCwxMzEsMSwwLDE0MywyNSwwLDEyNSw0LDAsMTE2LDcsMCwxMDYsOCwwLAorICAgIDEyNCw0LDAsMTAwLDQsMCwxMzEsMiwwLDEyNSw1LDAsODcsMTAwLDAsMCwKKyAgICA4MSw4OCw4NywxMTAsMjIsMCw0LDExNiw5LDAsMTA3LDEwLDAsMTE0LDEzNywwLAorICAgIDEsMSwxLDEwMCwwLDAsODMsODksMTEwLDEsMCw4OCwxMjQsNSwwLDgzLAorICAgIDQxLDUsNzgsMTE0LDE1OSwwLDAsMCw5MCwxMSwxMTUsMTIxLDExNSw5NSwxMTgsMTAxLAorICAgIDExNCwxMTUsMTA1LDExMSwxMTAsMTE0LDEzNywwLDAsMCwxMTQsMzAsMCwwLDAsNDEsCisgICAgMTAsMjE4LDExLDY4LDY5LDY2LDg1LDcxLDk1LDY2LDg1LDczLDc2LDY4LDIxOCwxOCwKKyAgICA4Miw2OSw3MSw3Myw4Myw4NCw4Miw4OSw5NSw3NSw2OSw4OSw5NSw2OCw2OSw2NiwKKyAgICA4NSw3MSwyMTgsMTIsODIsNjksNzEsNzMsODMsODQsODIsODksOTUsNzUsNjksODksCisgICAgMTE0LDQ3LDAsMCwwLDExNCw3LDAsMCwwLDIxOCw3LDExOCwxMDEsMTE0LDExNSwKKyAgICAxMDUsMTExLDExMCwxMTQsMjUsMSwwLDAsMTE0LDIzLDEsMCwwLDkwLDEwLDgxLAorICAgIDExNywxMDEsMTE0LDEyMSw4Niw5NywxMDgsMTE3LDEwMSwxMTQsNDAsMCwwLDAsNDEsNiwKKyAgICAxMTQsMTAsMSwwLDAsMTE0LDE1OSwwLDAsMCw5MCwxMiwxMTQsMTAxLDEwMywxMDUsCisgICAgMTE1LDExNiwxMTQsMTIxLDk1LDEwNywxMDEsMTIxLDExNCwyNCwxLDAsMCw5MCw0LDEwNCwKKyAgICAxMDcsMTAxLDEyMSwyMTgsOCwxMDIsMTA1LDEwOCwxMDEsMTEyLDk3LDExNiwxMDQsMTE0LDQsMCwKKyAgICAwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsMjE4LDE2LDk1LDExNSwKKyAgICAxMDEsOTcsMTE0LDk5LDEwNCw5NSwxMTQsMTAxLDEwMywxMDUsMTE1LDExNiwxMTQsMTIxLDg1LDUsCisgICAgMCwwLDExNSwyMiwwLDAsMCwwLDIsOSwxLDEyLDIsOSwxLDE1LAorICAgIDEsMjIsMSwzLDEsMTgsMSwyOCwxLDEzLDEsOSwxLDEyMiwzOCw4NywKKyAgICAxMDUsMTEwLDEwMCwxMTEsMTE5LDExNSw4MiwxMDEsMTAzLDEwNSwxMTUsMTE2LDExNCwxMjEsNzAsMTA1LAorICAgIDExMCwxMDAsMTAxLDExNCw0Niw5NSwxMTUsMTAxLDk3LDExNCw5OSwxMDQsOTUsMTE0LDEwMSwxMDMsCisgICAgMTA1LDExNSwxMTYsMTE0LDEyMSw3OCw5OSw0LDAsMCwwLDAsMCwwLDAsOCwKKyAgICAwLDAsMCwxNCwwLDAsMCw2NywwLDAsMCwxMTUsMTU1LDAsMCwwLAorICAgIDEyNCwwLDAsMTA2LDAsMCwxMjQsMSwwLDEzMSwxLDAsMTI1LDQsMCwxMjQsCisgICAgNCwwLDEwMCwwLDAsMTA3LDgsMCwxMTQsMzEsMCwxMDAsMCwwLDgzLDEyMSwKKyAgICAxNCwwLDExNiwxLDAsMTI0LDQsMCwxMzEsMSwwLDEsODcsMTEwLDIyLDAsCisgICAgNCwxMTYsMiwwLDEwNywxMCwwLDExNCw2OSwwLDEsMSwxLDEwMCwwLDAsCisgICAgODMsODksMTEwLDEsMCw4OCwxMjAsNzgsMCwxMTYsMywwLDEzMSwwLDAsNjgsCisgICAgOTMsNjcsMCw5MiwyLDAsMTI1LDUsMCwxMjUsNiwwLDEyNCw0LDAsMTA2LAorICAgIDQsMCwxMTYsNSwwLDEyNCw2LDAsMTMxLDEsMCwxMzEsMSwwLDExNCw4MCwKKyAgICAwLDExNiw2LDAsMTI0LDEsMCwxMjQsNSwwLDEyNCwxLDAsMTI0LDQsMCwKKyAgICAxMzEsMiwwLDEwMCwxLDAsMTI0LDQsMCwxMzEsMiwxLDEyNSw3LDAsMTI0LAorICAgIDcsMCw4MywxMTMsODAsMCw4NywxMDAsMCwwLDgzLDQxLDIsNzgsMTE0LDIxNywKKyAgICAwLDAsMCw0MSw3LDExNCwzMSwxLDAsMCwxMTQsMzksMCwwLDAsMTE0LAorICAgIDQwLDAsMCwwLDExNCwyNDAsMCwwLDAsMTE0LDIzMCwwLDAsMCwxMTQsMjMxLAorICAgIDAsMCwwLDExNCwxNzQsMCwwLDAsNDEsOCwxMTQsMTAsMSwwLDAsMTE0LAorICAgIDE1OSwwLDAsMCwxMTQsMzUsMCwwLDAsMTE0LDExLDEsMCwwLDExNCwzMCwKKyAgICAxLDAsMCwxMTQsMTcwLDAsMCwwLDExNCwxMjYsMCwwLDAsMTE0LDE3NywwLAorICAgIDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsCisgICAgMCwxMTQsMTIsMSwwLDAsMTAwLDUsMCwwLDExNSwyNCwwLDAsMCwwLAorICAgIDIsMTUsMSwxMiwxLDQsMSwzLDEsMTQsMSwxMywxLDksMSwyMiwKKyAgICAxLDIxLDEsMjEsMSw5LDEsMTIyLDMxLDg3LDEwNSwxMTAsMTAwLDExMSwxMTksMTE1LAorICAgIDgyLDEwMSwxMDMsMTA1LDExNSwxMTYsMTE0LDEyMSw3MCwxMDUsMTEwLDEwMCwxMDEsMTE0LDQ2LDEwMiwKKyAgICAxMDUsMTEwLDEwMCw5NSwxMTUsMTEyLDEwMSw5OSw5OSwzLDAsMCwwLDAsMCwwLAorICAgIDAsNCwwLDAsMCwzLDAsMCwwLDY3LDAsMCwwLDExNSw0NSwwLAorICAgIDAsMCwxMjQsMCwwLDEwNiwwLDAsMTI0LDEsMCwxMjQsMiwwLDEzMSwyLAorICAgIDAsMTI1LDMsMCwxMjQsMywwLDEwMCwxLDAsMTA3LDksMCwxMTQsMzcsMCwKKyAgICAxMjQsMywwLDEwNiwxLDAsODMsMTAwLDEsMCw4MywxMDAsMSwwLDgzLDQxLAorICAgIDIsMTIyLDEwOCw3MCwxMDUsMTEwLDEwMCwzMiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwzMiwxMTAsCisgICAgOTcsMTA5LDEwMSwxMDAsMzIsMTA1LDExMCwzMiwxMTYsMTA0LDEwMSwzMiwxMTQsMTAxLDEwMywxMDUsCisgICAgMTE1LDExNiwxMTQsMTIxLDQ2LDEwLDEwLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDg0LAorICAgIDEwNCwxMDUsMTE1LDMyLDEwOSwxMDEsMTE2LDEwNCwxMTEsMTAwLDMyLDEwNSwxMTUsMzIsMTAwLDEwMSwKKyAgICAxMTIsMTE0LDEwMSw5OSw5NywxMTYsMTAxLDEwMCw0NiwzMiwzMiw4NSwxMTUsMTAxLDMyLDEwMSwKKyAgICAxMjAsMTAxLDk5LDk1LDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDQwLDQxLDMyLDEwNSwxMTAsMTE1LAorICAgIDExNiwxMDEsOTcsMTAwLDQ2LDEwLDEwLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDc4LAorICAgIDQxLDIsMTE0LDEyLDEsMCwwLDExNCwxNzAsMCwwLDAsNDEsNCwxMTQsMTAsCisgICAgMSwwLDAsMTE0LDE1OSwwLDAsMCwxMTQsMzUsMCwwLDAsMTE0LDE3NywwLAorICAgIDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsCisgICAgMCwxMTQsMTMsMSwwLDAsMTE1LDUsMCwwLDExNSw4LDAsMCwwLDAsCisgICAgNywxOCwxLDEyLDEsNywyLDEyMiwzMyw4NywxMDUsMTEwLDEwMCwxMTEsMTE5LDExNSwKKyAgICA4MiwxMDEsMTAzLDEwNSwxMTUsMTE2LDExNCwxMjEsNzAsMTA1LDExMCwxMDAsMTAxLDExNCw0NiwxMDIsCisgICAgMTA1LDExMCwxMDAsOTUsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsNDEsMTIsMTE0LDU3LDAsMCwKKyAgICAwLDExNCw1NiwwLDAsMCwxMTQsNTgsMCwwLDAsMTE0LDU5LDAsMCwwLAorICAgIDExNCwyOCwxLDAsMCwxMTQsMjcsMSwwLDAsMTE0LDI2LDEsMCwwLDExNCwKKyAgICAxNywxLDAsMCwxMTQsMjUsMSwwLDAsMTE0LDMxLDEsMCwwLDExNCwxMiwKKyAgICAxLDAsMCwxMTQsMTMsMSwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwKKyAgICAwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsMTE0LDIyLDEsMCwKKyAgICAwLDY2LDUsMCwwLDExNSwyMCwwLDAsMCwxMiwyLDYsMyw2LDMsCisgICAgNiwyLDYsMiwxOCw3LDE4LDE1LDMsMSwyMSwxNCwzLDEsMTE0LDIyLAorICAgIDEsMCwwLDk5LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLAorICAgIDIsMCwwLDAsNjQsMCwwLDAsMTE1LDY0LDAsMCwwLDEwMSwwLDAsCisgICAgOTAsMSwwLDEwMCwwLDAsOTAsMiwwLDEwMCwxLDAsOTAsMywwLDEwMCwKKyAgICAyLDAsMTAwLDMsMCwxMzIsMCwwLDkwLDQsMCwxMDAsNCwwLDEwMCw1LAorICAgIDAsMTMyLDAsMCw5MCw1LDAsMTAwLDYsMCwxMDAsNywwLDEzMiwwLDAsCisgICAgOTAsNiwwLDEwMSw3LDAsOTAsOCwwLDEwMCw4LDAsODMsNDEsOSwyMTgsCisgICAgMTMsOTUsNzYsMTExLDk3LDEwMCwxMDEsMTE0LDY2LDk3LDExNSwxMDUsOTksMTE1LDEyMiw4MywKKyAgICA2Niw5NywxMTUsMTAxLDMyLDk5LDEwOCw5NywxMTUsMTE1LDMyLDExMSwxMDIsMzIsOTksMTExLAorICAgIDEwOSwxMDksMTExLDExMCwzMiw5OSwxMTEsMTAwLDEwMSwzMiwxMTAsMTAxLDEwMSwxMDAsMTAxLDEwMCwKKyAgICAzMiw5OCwxMjEsMzIsOTgsMTExLDExNiwxMDQsMzIsODMsMTExLDExNywxMTQsOTksMTAxLDc2LAorICAgIDExMSw5NywxMDAsMTAxLDExNCwzMiw5NywxMTAsMTAwLDEwLDMyLDMyLDMyLDMyLDgzLDExMSwKKyAgICAxMTcsMTE0LDk5LDEwMSwxMDgsMTAxLDExNSwxMTUsNzAsMTA1LDEwOCwxMDEsNzYsMTExLDk3LDEwMCwKKyAgICAxMDEsMTE0LDQ2LDk5LDIsMCwwLDAsMCwwLDAsMCw1LDAsMCwwLAorICAgIDMsMCwwLDAsNjcsMCwwLDAsMTE1LDg4LDAsMCwwLDExNiwwLDAsCisgICAgMTI0LDAsMCwxMDYsMSwwLDEyNCwxLDAsMTMxLDEsMCwxMzEsMSwwLDEwMCwKKyAgICAxLDAsMjUsMTI1LDIsMCwxMjQsMiwwLDEwNiwyLDAsMTAwLDIsMCwxMDAsCisgICAgMSwwLDEzMSwyLDAsMTAwLDMsMCwyNSwxMjUsMywwLDEyNCwxLDAsMTA2LAorICAgIDMsMCwxMDAsMiwwLDEzMSwxLDAsMTAwLDQsMCwyNSwxMjUsNCwwLDEyNCwKKyAgICAzLDAsMTAwLDUsMCwxMDcsMiwwLDExMSw4NywwLDEyNCw0LDAsMTAwLDUsCisgICAgMCwxMDcsMywwLDgzLDQxLDYsMTIyLDE0MSw2NywxMTEsMTEwLDk5LDExNCwxMDEsMTE2LAorICAgIDEwMSwzMiwxMDUsMTA5LDExMiwxMDgsMTAxLDEwOSwxMDEsMTEwLDExNiw5NywxMTYsMTA1LDExMSwxMTAsCisgICAgMzIsMTExLDEwMiwzMiw3MywxMTAsMTE1LDExMiwxMDEsOTksMTE2LDc2LDExMSw5NywxMDAsMTAxLAorICAgIDExNCw0NiwxMDUsMTE1LDk1LDExMiw5Nyw5OSwxMDcsOTcsMTAzLDEwMSwzMiw5OCwxMjEsMzIsCisgICAgOTksMTA0LDEwMSw5OSwxMDcsMTA1LDExMCwxMDMsMzIsMTA1LDEwMiwxMCwzMiwzMiwzMiwzMiwKKyAgICAzMiwzMiwzMiwzMiwxMTYsMTA0LDEwMSwzMiwxMTIsOTcsMTE2LDEwNCwzMiwxMTQsMTAxLDExNiwKKyAgICAxMTcsMTE0LDExMCwxMDEsMTAwLDMyLDk4LDEyMSwzMiwxMDMsMTAxLDExNiw5NSwxMDIsMTA1LDEwOCwKKyAgICAxMDEsMTEwLDk3LDEwOSwxMDEsMzIsMTA0LDk3LDExNSwzMiw5NywzMiwxMDIsMTA1LDEwOCwxMDEsCisgICAgMTEwLDk3LDEwOSwxMDEsMzIsMTExLDEwMiwzMiwzOSw5NSw5NSwxMDUsMTEwLDEwNSwxMTYsOTUsCisgICAgOTUsNDYsMTEyLDEyMSwzOSw0NiwxMTQsMjksMCwwLDAsMTE0LDExNiwwLDAsMCwKKyAgICAxMTQsODQsMCwwLDAsMTE0LDExNSwwLDAsMCwxMTQsNzIsMCwwLDAsNDEsCisgICAgNCwxMTQsMzgsMCwwLDAsMTE0LDIzOCwwLDAsMCwxMTQsMzQsMCwwLDAsCisgICAgMTE0LDMyLDAsMCwwLDQxLDUsMTE0LDcxLDAsMCwwLDExNCwxNTksMCwwLAorICAgIDAsMTE0LDEzMSwwLDAsMCw5MCwxMywxMDIsMTA1LDEwOCwxMDEsMTEwLDk3LDEwOSwxMDEsCisgICAgOTUsOTgsOTcsMTE1LDEwMSw5MCw5LDExNiw5NywxMDUsMTA4LDk1LDExMCw5NywxMDksMTAxLAorICAgIDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDExNCwKKyAgICAyMTksMCwwLDAsMTM0LDUsMCwwLDExNSw4LDAsMCwwLDAsMywyNSwKKyAgICAxLDIyLDEsMTksMSwxMjIsMjQsOTUsNzYsMTExLDk3LDEwMCwxMDEsMTE0LDY2LDk3LAorICAgIDExNSwxMDUsOTksMTE1LDQ2LDEwNSwxMTUsOTUsMTEyLDk3LDk5LDEwNyw5NywxMDMsMTAxLDk5LAorICAgIDIsMCwwLDAsMCwwLDAsMCwyLDAsMCwwLDEsMCwwLDAsCisgICAgNjcsMCwwLDAsMTE1LDQsMCwwLDAsMTAwLDEsMCw4Myw0MSwyLDEyMiwKKyAgICA0Miw4NSwxMTUsMTAxLDMyLDEwMCwxMDEsMTAyLDk3LDExNywxMDgsMTE2LDMyLDExNSwxMDEsMTA5LAorICAgIDk3LDExMCwxMTYsMTA1LDk5LDExNSwzMiwxMDIsMTExLDExNCwzMiwxMDksMTExLDEwMCwxMTcsMTA4LAorICAgIDEwMSwzMiw5OSwxMTQsMTAxLDk3LDExNiwxMDUsMTExLDExMCw0Niw3OCwxMTQsNCwwLDAsCisgICAgMCw0MSwyLDExNCw3MSwwLDAsMCwxMTQsMTc3LDAsMCwwLDExNCw0LDAsCisgICAgMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDExNCwyNTQsMCwwLAorICAgIDAsMTQyLDUsMCwwLDExNSwwLDAsMCwwLDEyMiwyNyw5NSw3NiwxMTEsOTcsCisgICAgMTAwLDEwMSwxMTQsNjYsOTcsMTE1LDEwNSw5OSwxMTUsNDYsOTksMTE0LDEwMSw5NywxMTYsMTAxLAorICAgIDk1LDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDk5LDIsMCwwLDAsMCwwLDAsMCwKKyAgICAzLDAsMCwwLDQsMCwwLDAsNjcsMCwwLDAsMTE1LDc3LDAsMCwKKyAgICAwLDEyNCwwLDAsMTA2LDAsMCwxMjQsMSwwLDEwNiwxLDAsMTMxLDEsMCwKKyAgICAxMjUsMiwwLDEyNCwyLDAsMTAwLDEsMCwxMDcsOCwwLDExNCw1NCwwLDExNiwKKyAgICAyLDAsMTAwLDIsMCwxMDYsMywwLDEyNCwxLDAsMTA2LDEsMCwxMzEsMSwKKyAgICAwLDEzMSwxLDAsMTMwLDEsMCwxMTYsNCwwLDExNiw1LDAsMTI0LDIsMCwKKyAgICAxMjQsMSwwLDEwNiw2LDAsMTMxLDMsMCwxLDEwMCwxLDAsODMsNDEsMywKKyAgICAxMjIsMTksNjksMTIwLDEwMSw5OSwxMTcsMTE2LDEwMSwzMiwxMTYsMTA0LDEwMSwzMiwxMDksMTExLAorICAgIDEwMCwxMTcsMTA4LDEwMSw0Niw3OCwxMjIsNTIsOTksOTcsMTEwLDExMCwxMTEsMTE2LDMyLDEwOCwKKyAgICAxMTEsOTcsMTAwLDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDMyLDEyMywzMywxMTQsMTI1LDMyLAorICAgIDExOSwxMDQsMTAxLDExMCwzMiwxMDMsMTAxLDExNiw5NSw5OSwxMTEsMTAwLDEwMSw0MCw0MSwzMiwKKyAgICAxMTQsMTAxLDExNiwxMTcsMTE0LDExMCwxMTUsMzIsNzgsMTExLDExMCwxMDEsNDEsNywxMTQsMTQsCisgICAgMSwwLDAsMTE0LDU3LDAsMCwwLDExNCwxNTQsMCwwLDAsMTE0LDQ3LDAsCisgICAgMCwwLDExNCwxMTQsMCwwLDAsMTE0LDIxLDEsMCwwLDExNCw2MywwLDAsCisgICAgMCw0MSwzLDExNCw3MSwwLDAsMCwxMTQsMTc4LDAsMCwwLDExNCwxOTMsMCwKKyAgICAwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLAorICAgIDAsMTE0LDI1NSwwLDAsMCwxNDUsNSwwLDAsMTE1LDEwLDAsMCwwLDAsCisgICAgMiwxOCwxLDEyLDEsOSwxLDE1LDEsMTIyLDI1LDk1LDc2LDExMSw5NywxMDAsCisgICAgMTAxLDExNCw2Niw5NywxMTUsMTA1LDk5LDExNSw0NiwxMDEsMTIwLDEwMSw5OSw5NSwxMDksMTExLAorICAgIDEwMCwxMTcsMTA4LDEwMSw3OCw0MSw5LDExNCw1NywwLDAsMCwxMTQsNTYsMCwwLAorICAgIDAsMTE0LDU4LDAsMCwwLDExNCw1OSwwLDAsMCwxMTQsMjE5LDAsMCwwLAorICAgIDExNCwyNTQsMCwwLDAsMTE0LDI1NSwwLDAsMCwxMTQsMTc5LDAsMCwwLDExNCwKKyAgICAzLDEsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LAorICAgIDAsMCwwLDExNCw1LDAsMCwwLDExNCwzMiwxLDAsMCwxMjksNSwwLAorICAgIDAsMTE1LDEwLDAsMCwwLDEyLDMsNiwyLDEyLDgsMTIsMywxMiw4LAorICAgIDExNCwzMiwxLDAsMCw5OSwwLDAsMCwwLDAsMCwwLDAsMCwwLAorICAgIDAsMCw0LDAsMCwwLDY0LDAsMCwwLDExNSwxMDYsMCwwLDAsMTAxLAorICAgIDAsMCw5MCwxLDAsMTAwLDAsMCw5MCwyLDAsMTAwLDEsMCwxMDAsMiwKKyAgICAwLDEzMiwwLDAsOTAsMywwLDEwMCwzLDAsMTAwLDQsMCwxMzIsMCwwLAorICAgIDkwLDQsMCwxMDAsNSwwLDEwMCw2LDAsMTMyLDAsMCw5MCw1LDAsMTAwLAorICAgIDcsMCwxMDAsOCwwLDEzMiwwLDAsOTAsNiwwLDEwMCw5LDAsMTAwLDEwLAorICAgIDAsMTMyLDAsMCw5MCw3LDAsMTAwLDExLDAsMTAwLDE4LDAsMTAwLDEzLDAsCisgICAgMTAwLDE0LDAsMTMyLDAsMSw5MCw4LDAsMTAwLDE1LDAsMTAwLDE2LDAsMTMyLAorICAgIDAsMCw5MCw5LDAsMTAwLDE3LDAsODMsNDEsMTksMjE4LDEyLDgzLDExMSwxMTcsCisgICAgMTE0LDk5LDEwMSw3NiwxMTEsOTcsMTAwLDEwMSwxMTQsOTksMiwwLDAsMCwwLDAsCisgICAgMCwwLDIsMCwwLDAsMSwwLDAsMCw2NywwLDAsMCwxMTUsMTAsCisgICAgMCwwLDAsMTE2LDAsMCwxMzAsMSwwLDEwMCwxLDAsODMsNDEsMiwxMjIsCisgICAgMTc4LDc5LDExMiwxMTYsMTA1LDExMSwxMTAsOTcsMTA4LDMyLDEwOSwxMDEsMTE2LDEwNCwxMTEsMTAwLAorICAgIDMyLDExNiwxMDQsOTcsMTE2LDMyLDExNCwxMDEsMTE2LDExNywxMTQsMTEwLDExNSwzMiwxMTYsMTA0LAorICAgIDEwMSwzMiwxMDksMTExLDEwMCwxMDUsMTAyLDEwNSw5OSw5NywxMTYsMTA1LDExMSwxMTAsMzIsMTE2LAorICAgIDEwNSwxMDksMTAxLDMyLDQwLDk3LDExMCwzMiwxMDUsMTEwLDExNiw0MSwzMiwxMDIsMTExLDExNCwKKyAgICAzMiwxMTYsMTA0LDEwMSwxMCwzMiwzMiwzMiwzMiwzMiwzMiwzMiwzMiwxMTUsMTEyLDEwMSwKKyAgICA5OSwxMDUsMTAyLDEwNSwxMDEsMTAwLDMyLDExMiw5NywxMTYsMTA0LDQ0LDMyLDExOSwxMDQsMTAxLAorICAgIDExNCwxMDEsMzIsMTEyLDk3LDExNiwxMDQsMzIsMTA1LDExNSwzMiw5NywzMiwxMTUsMTE2LDExNCwKKyAgICA0NiwxMCwxMCwzMiwzMiwzMiwzMiwzMiwzMiwzMiwzMiw4Miw5NywxMDUsMTE1LDEwMSwKKyAgICAxMTUsMzIsNzMsNzksNjksMTE0LDExNCwxMTEsMTE0LDMyLDExOSwxMDQsMTAxLDExMCwzMiwxMTYsCisgICAgMTA0LDEwMSwzMiwxMTIsOTcsMTE2LDEwNCwzMiw5OSw5NywxMTAsMTEwLDExMSwxMTYsMzIsOTgsCisgICAgMTAxLDMyLDEwNCw5NywxMTAsMTAwLDEwOCwxMDEsMTAwLDQ2LDEwLDMyLDMyLDMyLDMyLDMyLAorICAgIDMyLDMyLDMyLDc4LDQxLDEsMjE4LDcsNzMsNzksNjksMTE0LDExNCwxMTEsMTE0LDQxLAorICAgIDIsMTE0LDcxLDAsMCwwLDExNCwzNSwwLDAsMCwxMTQsNCwwLDAsMCwKKyAgICAxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwyMTgsMTAsMTEyLDk3LDExNiwxMDQsCisgICAgOTUsMTA5LDExNiwxMDUsMTA5LDEwMSwxNTgsNSwwLDAsMTE1LDIsMCwwLDAsMCwKKyAgICA2LDEyMiwyMyw4MywxMTEsMTE3LDExNCw5OSwxMDEsNzYsMTExLDk3LDEwMCwxMDEsMTE0LDQ2LAorICAgIDExMiw5NywxMTYsMTA0LDk1LDEwOSwxMTYsMTA1LDEwOSwxMDEsOTksMiwwLDAsMCwwLAorICAgIDAsMCwwLDIsMCwwLDAsMywwLDAsMCw2NywwLDAsMCwxMTUsCisgICAgMjAsMCwwLDAsMTA1LDEsMCwxMjQsMCwwLDEwNiwwLDAsMTI0LDEsMCwKKyAgICAxMzEsMSwwLDEwMCwxLDAsNTQsODMsNDEsMiw5NywxNzAsMSwwLDAsNzksCisgICAgMTEyLDExNiwxMDUsMTExLDExMCw5NywxMDgsMzIsMTA5LDEwMSwxMTYsMTA0LDExMSwxMDAsMzIsMTE0LAorICAgIDEwMSwxMTYsMTE3LDExNCwxMTAsMTA1LDExMCwxMDMsMzIsOTcsMzIsMTA5LDEwMSwxMTYsOTcsMTAwLAorICAgIDk3LDExNiw5NywzMiwxMDAsMTA1LDk5LDExNiwzMiwxMDIsMTExLDExNCwzMiwxMTYsMTA0LDEwMSwKKyAgICAzMiwxMTUsMTEyLDEwMSw5OSwxMDUsMTAyLDEwNSwxMDEsMTAwLDMyLDExMiw5NywxMTYsMTA0LDEwLAorICAgIDMyLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDExNiwxMTEsMzIsOTgsMTIxLDMyLDExNiwxMDQsCisgICAgMTAxLDMyLDExMiw5NywxMTYsMTA0LDMyLDQwLDExNSwxMTYsMTE0LDQxLDQ2LDEwLDMyLDMyLAorICAgIDMyLDMyLDMyLDMyLDMyLDMyLDgwLDExMSwxMTUsMTE1LDEwNSw5OCwxMDgsMTAxLDMyLDEwNywKKyAgICAxMDEsMTIxLDExNSw1OCwxMCwzMiwzMiwzMiwzMiwzMiwzMiwzMiwzMiw0NSwzMiwzOSwKKyAgICAxMDksMTE2LDEwNSwxMDksMTAxLDM5LDMyLDQwLDEwOSw5NywxMTAsMTAwLDk3LDExNiwxMTEsMTE0LAorICAgIDEyMSw0MSwzMiwxMDUsMTE1LDMyLDExNiwxMDQsMTAxLDMyLDExMCwxMTcsMTA5LDEwMSwxMTQsMTA1LAorICAgIDk5LDMyLDExNiwxMDUsMTA5LDEwMSwxMTUsMTE2LDk3LDEwOSwxMTIsMzIsMTExLDEwMiwzMiwxMDgsCisgICAgOTcsMTE1LDExNiwzMiwxMTUsMTExLDExNywxMTQsOTksMTAxLDEwLDMyLDMyLDMyLDMyLDMyLAorICAgIDMyLDMyLDMyLDMyLDMyLDk5LDExMSwxMDAsMTAxLDMyLDEwOSwxMTEsMTAwLDEwNSwxMDIsMTA1LAorICAgIDk5LDk3LDExNiwxMDUsMTExLDExMCw1OSwxMCwzMiwzMiwzMiwzMiwzMiwzMiwzMiwzMiwKKyAgICA0NSwzMiwzOSwxMTUsMTA1LDEyMiwxMDEsMzksMzIsNDAsMTExLDExMiwxMTYsMTA1LDExMSwxMTAsCisgICAgOTcsMTA4LDQxLDMyLDEwNSwxMTUsMzIsMTE2LDEwNCwxMDEsMzIsMTE1LDEwNSwxMjIsMTAxLDMyLAorICAgIDEwNSwxMTAsMzIsOTgsMTIxLDExNiwxMDEsMTE1LDMyLDExMSwxMDIsMzIsMTE2LDEwNCwxMDEsMzIsCisgICAgMTE1LDExMSwxMTcsMTE0LDk5LDEwMSwzMiw5OSwxMTEsMTAwLDEwMSw0NiwxMCwxMCwzMiwzMiwKKyAgICAzMiwzMiwzMiwzMiwzMiwzMiw3MywxMDksMTEyLDEwOCwxMDEsMTA5LDEwMSwxMTAsMTE2LDEwNSwKKyAgICAxMTAsMTAzLDMyLDExNiwxMDQsMTA1LDExNSwzMiwxMDksMTAxLDExNiwxMDQsMTExLDEwMCwzMiw5NywKKyAgICAxMDgsMTA4LDExMSwxMTksMTE1LDMyLDExNiwxMDQsMTAxLDMyLDEwOCwxMTEsOTcsMTAwLDEwMSwxMTQsCisgICAgMzIsMTE2LDExMSwzMiwxMTQsMTAxLDk3LDEwMCwzMiw5OCwxMjEsMTE2LDEwMSw5OSwxMTEsMTAwLAorICAgIDEwMSwzMiwxMDIsMTA1LDEwOCwxMDEsMTE1LDQ2LDEwLDMyLDMyLDMyLDMyLDMyLDMyLDMyLAorICAgIDMyLDgyLDk3LDEwNSwxMTUsMTAxLDExNSwzMiw3Myw3OSw2OSwxMTQsMTE0LDExMSwxMTQsMzIsCisgICAgMTE5LDEwNCwxMDEsMTEwLDMyLDExNiwxMDQsMTAxLDMyLDExMiw5NywxMTYsMTA0LDMyLDk5LDk3LAorICAgIDExMCwxMTAsMTExLDExNiwzMiw5OCwxMDEsMzIsMTA0LDk3LDExMCwxMDAsMTA4LDEwMSwxMDAsNDYsCisgICAgMTAsMzIsMzIsMzIsMzIsMzIsMzIsMzIsMzIsMTE0LDE4MiwwLDAsMCw0MSwxLAorICAgIDExNCwzNSwxLDAsMCw0MSwyLDExNCw3MSwwLDAsMCwxMTQsMzUsMCwwLAorICAgIDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsCisgICAgMjE4LDEwLDExMiw5NywxMTYsMTA0LDk1LDExNSwxMTYsOTcsMTE2LDExNSwxNjYsNSwwLDAsCisgICAgMTE1LDIsMCwwLDAsMCwxMSwxMjIsMjMsODMsMTExLDExNywxMTQsOTksMTAxLDc2LAorICAgIDExMSw5NywxMDAsMTAxLDExNCw0NiwxMTIsOTcsMTE2LDEwNCw5NSwxMTUsMTE2LDk3LDExNiwxMTUsCisgICAgOTksNCwwLDAsMCwwLDAsMCwwLDQsMCwwLDAsMywwLDAsCisgICAgMCw2NywwLDAsMCwxMTUsMTYsMCwwLDAsMTI0LDAsMCwxMDYsMCwwLAorICAgIDEyNCwyLDAsMTI0LDMsMCwxMzEsMiwwLDgzLDQxLDEsMTIyLDIyOCw3OSwxMTIsCisgICAgMTE2LDEwNSwxMTEsMTEwLDk3LDEwOCwzMiwxMDksMTAxLDExNiwxMDQsMTExLDEwMCwzMiwxMTksMTA0LAorICAgIDEwNSw5OSwxMDQsMzIsMTE5LDExNCwxMDUsMTE2LDEwMSwxMTUsMzIsMTAwLDk3LDExNiw5NywzMiwKKyAgICA0MCw5OCwxMjEsMTE2LDEwMSwxMTUsNDEsMzIsMTE2LDExMSwzMiw5NywzMiwxMDIsMTA1LDEwOCwKKyAgICAxMDEsMzIsMTEyLDk3LDExNiwxMDQsMzIsNDAsOTcsMzIsMTE1LDExNiwxMTQsNDEsNDYsMTAsCisgICAgMTAsMzIsMzIsMzIsMzIsMzIsMzIsMzIsMzIsNzMsMTA5LDExMiwxMDgsMTAxLDEwOSwxMDEsCisgICAgMTEwLDExNiwxMDUsMTEwLDEwMywzMiwxMTYsMTA0LDEwNSwxMTUsMzIsMTA5LDEwMSwxMTYsMTA0LDExMSwKKyAgICAxMDAsMzIsOTcsMTA4LDEwOCwxMTEsMTE5LDExNSwzMiwxMDIsMTExLDExNCwzMiwxMTYsMTA0LDEwMSwKKyAgICAzMiwxMTksMTE0LDEwNSwxMTYsMTA1LDExMCwxMDMsMzIsMTExLDEwMiwzMiw5OCwxMjEsMTE2LDEwMSwKKyAgICA5OSwxMTEsMTAwLDEwMSwzMiwxMDIsMTA1LDEwOCwxMDEsMTE1LDQ2LDEwLDEwLDMyLDMyLDMyLAorICAgIDMyLDMyLDMyLDMyLDMyLDg0LDEwNCwxMDEsMzIsMTE1LDExMSwxMTcsMTE0LDk5LDEwMSwzMiwKKyAgICAxMTIsOTcsMTE2LDEwNCwzMiwxMDUsMTE1LDMyLDExMCwxMDEsMTAxLDEwMCwxMDEsMTAwLDMyLDEwNSwKKyAgICAxMTAsMzIsMTExLDExNCwxMDAsMTAxLDExNCwzMiwxMTYsMTExLDMyLDk5LDExMSwxMTQsMTE0LDEwMSwKKyAgICA5OSwxMTYsMTA4LDEyMSwzMiwxMTYsMTE0LDk3LDExMCwxMTUsMTAyLDEwMSwxMTQsMzIsMTEyLDEwMSwKKyAgICAxMTQsMTA5LDEwNSwxMTUsMTE1LDEwNSwxMTEsMTEwLDExNSwxMCwzMiwzMiwzMiwzMiwzMiwzMiwKKyAgICAzMiwzMiw0MSwxLDIxOCw4LDExNSwxMDEsMTE2LDk1LDEwMCw5NywxMTYsOTcsNDEsNCwKKyAgICAxMTQsNzEsMCwwLDAsMTE0LDE0MiwwLDAsMCw5MCwxMCw5OSw5Nyw5OSwxMDQsCisgICAgMTAxLDk1LDExMiw5NywxMTYsMTA0LDExNCw1MywwLDAsMCwxMTQsNCwwLDAsMCwKKyAgICAxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwyMTgsMTUsOTUsOTksOTcsOTksCisgICAgMTA0LDEwMSw5NSw5OCwxMjEsMTE2LDEwMSw5OSwxMTEsMTAwLDEwMSwxNzksNSwwLDAsMTE1LAorICAgIDIsMCwwLDAsMCw4LDEyMiwyOCw4MywxMTEsMTE3LDExNCw5OSwxMDEsNzYsMTExLAorICAgIDk3LDEwMCwxMDEsMTE0LDQ2LDk1LDk5LDk3LDk5LDEwNCwxMDEsOTUsOTgsMTIxLDExNiwxMDEsCisgICAgOTksMTExLDEwMCwxMDEsOTksMywwLDAsMCwwLDAsMCwwLDMsMCwwLAorICAgIDAsMSwwLDAsMCw2NywwLDAsMCwxMTUsNCwwLDAsMCwxMDAsMSwKKyAgICAwLDgzLDQxLDIsMTIyLDE1MCw3OSwxMTIsMTE2LDEwNSwxMTEsMTEwLDk3LDEwOCwzMiwxMDksCisgICAgMTAxLDExNiwxMDQsMTExLDEwMCwzMiwxMTksMTA0LDEwNSw5OSwxMDQsMzIsMTE5LDExNCwxMDUsMTE2LAorICAgIDEwMSwxMTUsMzIsMTAwLDk3LDExNiw5NywzMiw0MCw5OCwxMjEsMTE2LDEwMSwxMTUsNDEsMzIsCisgICAgMTE2LDExMSwzMiw5NywzMiwxMDIsMTA1LDEwOCwxMDEsMzIsMTEyLDk3LDExNiwxMDQsMzIsNDAsCisgICAgOTcsMzIsMTE1LDExNiwxMTQsNDEsNDYsMTAsMTAsMzIsMzIsMzIsMzIsMzIsMzIsMzIsCisgICAgMzIsNzMsMTA5LDExMiwxMDgsMTAxLDEwOSwxMDEsMTEwLDExNiwxMDUsMTEwLDEwMywzMiwxMTYsMTA0LAorICAgIDEwNSwxMTUsMzIsMTA5LDEwMSwxMTYsMTA0LDExMSwxMDAsMzIsOTcsMTA4LDEwOCwxMTEsMTE5LDExNSwKKyAgICAzMiwxMDIsMTExLDExNCwzMiwxMTYsMTA0LDEwMSwzMiwxMTksMTE0LDEwNSwxMTYsMTA1LDExMCwxMDMsCisgICAgMzIsMTExLDEwMiwzMiw5OCwxMjEsMTE2LDEwMSw5OSwxMTEsMTAwLDEwMSwzMiwxMDIsMTA1LDEwOCwKKyAgICAxMDEsMTE1LDQ2LDEwLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDc4LDExNCw0LDAsCisgICAgMCwwLDQxLDMsMTE0LDcxLDAsMCwwLDExNCwzNSwwLDAsMCwxMTQsNTMsCiAgICAgMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwKLSAgICAwLDAsMTE0LDUsMSwwLDAsMTcyLDYsMCwwLDExNSwyNCwwLDAsMCwKLSAgICAwLDUsMTMsMSw5LDEsMjEsMSwxNiwxLDE1LDEsMjIsMSwyOCwxLAotICAgIDksMSwxMiwxLDYsMSwyOCwxLDEyMiwzMSw2OSwxMjAsMTE2LDEwMSwxMTAsMTE1LAotICAgIDEwNSwxMTEsMTEwLDcwLDEwNSwxMDgsMTAxLDc2LDExMSw5NywxMDAsMTAxLDExNCw0NiwxMDgsMTExLAotICAgIDk3LDEwMCw5NSwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSw5OSwyLDAsMCwwLDAsMCwKLSAgICAwLDAsMiwwLDAsMCw0LDAsMCwwLDMsMCwwLDAsMTE1LDQ4LAotICAgIDAsMCwwLDExNiwwLDAsMTI0LDAsMCwxMDYsMSwwLDEzMSwxLDAsMTAwLAotICAgIDEsMCwyNSwxMzcsMCwwLDExNiwyLDAsMTM1LDAsMCwxMDIsMSwwLDEwMCwKLSAgICAyLDAsMTAwLDMsMCwxMzQsMCwwLDExNiwzLDAsNjgsMTMxLDEsMCwxMzEsCi0gICAgMSwwLDgzLDQxLDQsMTIyLDQ5LDgyLDEwMSwxMTYsMTE3LDExNCwxMTAsMzIsODQsMTE0LAotICAgIDExNywxMDEsMzIsMTA1LDEwMiwzMiwxMTYsMTA0LDEwMSwzMiwxMDEsMTIwLDExNiwxMDEsMTEwLDExNSwKLSAgICAxMDUsMTExLDExMCwzMiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwzMiwxMDUsMTE1LDMyLDk3LDMyLAotICAgIDExMiw5Nyw5OSwxMDcsOTcsMTAzLDEwMSw0NiwxMTQsMjksMCwwLDAsOTksMSwwLAotICAgIDAsMCwwLDAsMCwwLDIsMCwwLDAsNCwwLDAsMCw1MSwwLAotICAgIDAsMCwxMTUsMzEsMCwwLDAsMTI0LDAsMCw5MywyMSwwLDEyNSwxLDAsCi0gICAgMTM2LDAsMCwxMDAsMCwwLDEyNCwxLDAsMjMsMTA3LDIsMCw4NiwxLDExMywKLSAgICAzLDAsMTAwLDEsMCw4Myw0MSwyLDExNCw3MiwwLDAsMCw3OCwxMTQsNCwKLSAgICAwLDAsMCw0MSwyLDExNCwyMiwwLDAsMCwyMTgsNiwxMTUsMTE3LDEwMiwxMDIsCi0gICAgMTA1LDEyMCw0MSwxLDIxOCw5LDEwMiwxMDUsMTA4LDEwMSw5NSwxMTAsOTcsMTA5LDEwMSwxMTQsCi0gICAgNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsNzcsMCwwLDAsMTkzLDYsCi0gICAgMCwwLDExNSwyLDAsMCwwLDYsMSwxMjIsNDksNjksMTIwLDExNiwxMDEsMTEwLAotICAgIDExNSwxMDUsMTExLDExMCw3MCwxMDUsMTA4LDEwMSw3NiwxMTEsOTcsMTAwLDEwMSwxMTQsNDYsMTA1LAotICAgIDExNSw5NSwxMTIsOTcsOTksMTA3LDk3LDEwMywxMDEsNDYsNjAsMTA4LDExMSw5OSw5NywxMDgsCi0gICAgMTE1LDYyLDQ2LDYwLDEwMywxMDEsMTEwLDEwMSwxMjAsMTEyLDExNCw2Miw0MSw0LDExNCwzOCwKLSAgICAwLDAsMCwxMTQsMzUsMCwwLDAsMTE0LDc4LDAsMCwwLDIxOCwxOCw2OSwKLSAgICA4OCw4NCw2OSw3OCw4Myw3Myw3OSw3OCw5NSw4Myw4NSw3MCw3MCw3Myw4OCw2OSwKLSAgICA4Myw0MSwyLDExNCw3MSwwLDAsMCwxMTQsMTU5LDAsMCwwLDExNCw0LDAsCi0gICAgMCwwLDQxLDEsMTE0LDU5LDEsMCwwLDExNCw1LDAsMCwwLDExNCwyMjAsCi0gICAgMCwwLDAsMTkwLDYsMCwwLDExNSw2LDAsMCwwLDAsMiwxOSwxLAotICAgIDE4LDEsMTIyLDMwLDY5LDEyMCwxMTYsMTAxLDExMCwxMTUsMTA1LDExMSwxMTAsNzAsMTA1LDEwOCwKLSAgICAxMDEsNzYsMTExLDk3LDEwMCwxMDEsMTE0LDQ2LDEwNSwxMTUsOTUsMTEyLDk3LDk5LDEwNyw5NywKLSAgICAxMDMsMTAxLDk5LDIsMCwwLDAsMCwwLDAsMCwyLDAsMCwwLDEsCi0gICAgMCwwLDAsNjcsMCwwLDAsMTE1LDQsMCwwLDAsMTAwLDEsMCw4MywKLSAgICA0MSwyLDEyMiw2Myw4MiwxMDEsMTE2LDExNywxMTQsMTEwLDMyLDc4LDExMSwxMTAsMTAxLDMyLAotICAgIDk3LDExNSwzMiw5NywxMTAsMzIsMTAxLDEyMCwxMTYsMTAxLDExMCwxMTUsMTA1LDExMSwxMTAsMzIsCi0gICAgMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMzIsOTksOTcsMTEwLDExMCwxMTEsMTE2LDMyLDk5LDExNCwKLSAgICAxMDEsOTcsMTE2LDEwMSwzMiw5NywzMiw5OSwxMTEsMTAwLDEwMSwzMiwxMTEsOTgsMTA2LDEwMSwKLSAgICA5OSwxMTYsNDYsNzgsMTE0LDQsMCwwLDAsNDEsMiwxMTQsNzEsMCwwLDAsCi0gICAgMTE0LDE1OSwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsCi0gICAgNSwwLDAsMCwxMTQsMTYsMSwwLDAsMTk2LDYsMCwwLDExNSwyLDAsCi0gICAgMCwwLDAsMiwxMjIsMjgsNjksMTIwLDExNiwxMDEsMTEwLDExNSwxMDUsMTExLDExMCw3MCwKLSAgICAxMDUsMTA4LDEwMSw3NiwxMTEsOTcsMTAwLDEwMSwxMTQsNDYsMTAzLDEwMSwxMTYsOTUsOTksMTExLAotICAgIDEwMCwxMDEsOTksMiwwLDAsMCwwLDAsMCwwLDIsMCwwLDAsMSwKLSAgICAwLDAsMCw2NywwLDAsMCwxMTUsNCwwLDAsMCwxMDAsMSwwLDgzLAotICAgIDQxLDIsMTIyLDUzLDgyLDEwMSwxMTYsMTE3LDExNCwxMTAsMzIsNzgsMTExLDExMCwxMDEsMzIsCi0gICAgOTcsMTE1LDMyLDEwMSwxMjAsMTE2LDEwMSwxMTAsMTE1LDEwNSwxMTEsMTEwLDMyLDEwOSwxMTEsMTAwLAotICAgIDExNywxMDgsMTAxLDExNSwzMiwxMDQsOTcsMTE4LDEwMSwzMiwxMTAsMTExLDMyLDExNSwxMTEsMTE3LAorICAgIDAsMCwxMTQsMzcsMSwwLDAsMTg5LDUsMCwwLDExNSwwLDAsMCwwLAorICAgIDEyMiwyMSw4MywxMTEsMTE3LDExNCw5OSwxMDEsNzYsMTExLDk3LDEwMCwxMDEsMTE0LDQ2LDExNSwKKyAgICAxMDEsMTE2LDk1LDEwMCw5NywxMTYsOTcsOTksMiwwLDAsMCwwLDAsMCwwLAorICAgIDUsMCwwLDAsMTYsMCwwLDAsNjcsMCwwLDAsMTE1LDEwNSwwLDAsCisgICAgMCwxMjQsMCwwLDEwNiwwLDAsMTI0LDEsMCwxMzEsMSwwLDEyNSwyLDAsCisgICAgMTIxLDE5LDAsMTI0LDAsMCwxMDYsMSwwLDEyNCwyLDAsMTMxLDEsMCwxMjUsCisgICAgMywwLDg3LDExMCw1OCwwLDQsMTE2LDIsMCwxMDcsMTAsMCwxMTQsOTQsMCwKKyAgICAxLDEyNSw0LDAsMSwxMjIsMjYsMCwxMTYsMywwLDEwMCwxLDAsMTAwLDIsCisgICAgMCwxMjQsMSwwLDEzMSwxLDEsMTI0LDQsMCwxMzAsMiwwLDg3LDg5LDEwMCwKKyAgICAzLDAsMTAwLDMsMCwxMjUsNCwwLDEyNiw0LDAsODgsMTEwLDEsMCw4OCwKKyAgICAxMTYsNCwwLDEyNCwzLDAsMTMxLDEsMCw4Myw0MSw0LDEyMiw1Miw2NywxMTEsCisgICAgMTEwLDk5LDExNCwxMDEsMTE2LDEwMSwzMiwxMDUsMTA5LDExMiwxMDgsMTAxLDEwOSwxMDEsMTEwLDExNiwKKyAgICA5NywxMTYsMTA1LDExMSwxMTAsMzIsMTExLDEwMiwzMiw3MywxMTAsMTE1LDExMiwxMDEsOTksMTE2LAorICAgIDc2LDExMSw5NywxMDAsMTAxLDExNCw0NiwxMDMsMTAxLDExNiw5NSwxMTUsMTExLDExNywxMTQsOTksCisgICAgMTAxLDQ2LDEyMiwzOSwxMTUsMTExLDExNywxMTQsOTksMTAxLDMyLDExMCwxMTEsMTE2LDMyLDk3LAorICAgIDExOCw5NywxMDUsMTA4LDk3LDk4LDEwOCwxMDEsMzIsMTE2LDEwNCwxMTQsMTExLDExNywxMDMsMTA0LAorICAgIDMyLDEwMywxMDEsMTE2LDk1LDEwMCw5NywxMTYsOTcsNDAsNDEsMTE0LDY3LDAsMCwwLAorICAgIDc4LDQxLDUsMTE0LDIzOCwwLDAsMCwyMTgsOCwxMDMsMTAxLDExNiw5NSwxMDAsOTcsCisgICAgMTE2LDk3LDExNCw0MCwwLDAsMCwxMTQsMTU0LDAsMCwwLDExNCwyMDIsMCwwLAorICAgIDAsNDEsNSwxMTQsNzEsMCwwLDAsMTE0LDE1OSwwLDAsMCwxMTQsMzUsMCwKKyAgICAwLDAsMTE0LDIwMCwwLDAsMCwyMTgsMywxMDEsMTIwLDk5LDExNCw0LDAsMCwKKyAgICAwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDExNCwxNSwxLDAsMCwKKyAgICAxOTYsNSwwLDAsMTE1LDE0LDAsMCwwLDAsMiwxNSwxLDMsMSwxOSwKKyAgICAxLDE4LDEsOSwxLDMxLDEsMTIyLDIzLDgzLDExMSwxMTcsMTE0LDk5LDEwMSw3NiwKKyAgICAxMTEsOTcsMTAwLDEwMSwxMTQsNDYsMTAzLDEwMSwxMTYsOTUsMTE1LDExMSwxMTcsMTE0LDk5LDEwMSwKKyAgICAyMTgsOSw5NSwxMTEsMTEyLDExNiwxMDUsMTA5LDEwNSwxMjIsMTAxLDExNCwyOSwwLDAsMCwKKyAgICA5OSwzLDAsMCwwLDEsMCwwLDAsNCwwLDAsMCw5LDAsMCwKKyAgICAwLDY3LDAsMCwwLDExNSwzMSwwLDAsMCwxMTYsMCwwLDExNiwxLDAsCisgICAgMTI0LDEsMCwxMjQsMiwwLDEwMCwxLDAsMTAwLDIsMCwxMDAsMywwLDEwMCwKKyAgICA0LDAsMTI0LDMsMCwxMzEsNCwyLDgzLDQxLDUsMTIyLDEzMCw4MiwxMDEsMTE2LAorICAgIDExNywxMTQsMTEwLDMyLDExNiwxMDQsMTAxLDMyLDk5LDExMSwxMDAsMTAxLDMyLDExMSw5OCwxMDYsCisgICAgMTAxLDk5LDExNiwzMiw5OSwxMTEsMTA5LDExMiwxMDUsMTA4LDEwMSwxMDAsMzIsMTAyLDExNCwxMTEsCisgICAgMTA5LDMyLDExNSwxMTEsMTE3LDExNCw5OSwxMDEsNDYsMTAsMTAsMzIsMzIsMzIsMzIsMzIsCisgICAgMzIsMzIsMzIsODQsMTA0LDEwMSwzMiwzOSwxMDAsOTcsMTE2LDk3LDM5LDMyLDk3LDExNCwKKyAgICAxMDMsMTE3LDEwOSwxMDEsMTEwLDExNiwzMiw5OSw5NywxMTAsMzIsOTgsMTAxLDMyLDk3LDExMCwKKyAgICAxMjEsMzIsMTExLDk4LDEwNiwxMDEsOTksMTE2LDMyLDExNiwxMjEsMTEyLDEwMSwzMiwxMTYsMTA0LAorICAgIDk3LDExNiwzMiw5OSwxMTEsMTA5LDExMiwxMDUsMTA4LDEwMSw0MCw0MSwzMiwxMTUsMTE3LDExMiwKKyAgICAxMTIsMTExLDExNCwxMTYsMTE1LDQ2LDEwLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDExNCwKKyAgICAyMSwxLDAsMCwyMTgsMTIsMTAwLDExMSwxMTAsMTE2LDk1LDEwNSwxMTAsMTA0LDEwMSwxMTQsCisgICAgMTA1LDExNiw4NCwxMTQsMTE4LDAsMCwwLDQxLDIsMTE0LDExNCwwLDAsMCwyMTgsCisgICAgNyw5OSwxMTEsMTA5LDExMiwxMDUsMTA4LDEwMSw0MSw0LDExNCw3MSwwLDAsMCwxMTQsCisgICAgNTMsMCwwLDAsMTE0LDM1LDAsMCwwLDExNCw0MSwxLDAsMCwxMTQsNCwKKyAgICAwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwyMTgsMTQsMTE1LAorICAgIDExMSwxMTcsMTE0LDk5LDEwMSw5NSwxMTYsMTExLDk1LDk5LDExMSwxMDAsMTAxLDIwNiw1LDAsCisgICAgMCwxMTUsNCwwLDAsMCwwLDUsMTgsMSwxMjIsMjcsODMsMTExLDExNywxMTQsCisgICAgOTksMTAxLDc2LDExMSw5NywxMDAsMTAxLDExNCw0NiwxMTUsMTExLDExNywxMTQsOTksMTAxLDk1LAorICAgIDExNiwxMTEsOTUsOTksMTExLDEwMCwxMDEsOTksMiwwLDAsMCwwLDAsMCwwLAorICAgIDEwLDAsMCwwLDQzLDAsMCwwLDY3LDAsMCwwLDExNSwxNzQsMSwwLAorICAgIDAsMTI0LDAsMCwxMDYsMCwwLDEyNCwxLDAsMTMxLDEsMCwxMjUsMiwwLAorICAgIDEwMCwxLDAsMTI1LDMsMCwxMjEsMTYsMCwxMTYsMSwwLDEyNCwyLDAsMTMxLAorICAgIDEsMCwxMjUsNCwwLDg3LDExMCwyNCwwLDQsMTE2LDIsMCwxMDcsMTAsMCwKKyAgICAxMTQsNjMsMCwxLDEsMSwxMDAsMSwwLDEyNSw0LDAsODksMTEwLDIwMiwwLAorICAgIDg4LDEyMSwxOSwwLDEyNCwwLDAsMTA2LDMsMCwxMjQsMiwwLDEzMSwxLDAsCisgICAgMTI1LDUsMCw4NywxMTAsMTgsMCw0LDExNiw0LDAsMTA3LDEwLDAsMTE0LDEwMywKKyAgICAwLDEsMSwxLDg5LDExMCwxNjIsMCw4OCwxMTYsNSwwLDEyNCw1LDAsMTAwLAorICAgIDIsMCwyNSwxMzEsMSwwLDEyNSwzLDAsMTIxLDE5LDAsMTI0LDAsMCwxMDYsCisgICAgNiwwLDEyNCw0LDAsMTMxLDEsMCwxMjUsNiwwLDg3LDExMCwxOCwwLDQsCisgICAgMTE2LDcsMCwxMDcsMTAsMCwxMTQsMTU5LDAsMSwxLDEsODksMTEwLDEwNiwwLAorICAgIDg4LDEyMSwzNCwwLDExNiw4LDAsMTI0LDYsMCwxMDAsMywwLDEyNCw1LDAsCisgICAgMTAwLDQsMCwxMjQsMSwwLDEwMCw1LDAsMTI0LDQsMCwxMzEsMSwzLDEyNSwKKyAgICA3LDAsODcsMTEwLDI0LDAsNCwxMTYsOSwwLDExNiwxMCwwLDEwMiwyLDAsCisgICAgMTA3LDEwLDAsMTE0LDIyMCwwLDEsMSwxLDg5LDExMCw0NSwwLDg4LDExNiwxMSwKKyAgICAwLDEwMCw2LDAsMTI0LDQsMCwxMjQsMiwwLDEzMSwzLDAsMSwxMTYsMTIsCisgICAgMCwxMjQsNywwLDEwMCw0LDAsMTI0LDEsMCwxMDAsNywwLDEyNCw0LDAsCisgICAgMTAwLDgsMCwxMjQsMiwwLDEzMSwxLDMsODMsMTI0LDAsMCwxMDYsNiwwLAorICAgIDEyNCwyLDAsMTMxLDEsMCwxMjUsOCwwLDEyNCwwLDAsMTA2LDEzLDAsMTI0LAorICAgIDgsMCwxMjQsMiwwLDEzMSwyLDAsMTI1LDksMCwxMTYsMTEsMCwxMDAsOSwKKyAgICAwLDEyNCwyLDAsMTMxLDIsMCwxLDExNiwxNCwwLDEwNiwxNSwwLDEyLDExNCwKKyAgICAxNzAsMSwxMjQsNCwwLDEwMCwxLDAsMTA3LDksMCwxMTQsMTcwLDEsMTI0LDMsCisgICAgMCwxMDAsMSwwLDEwNyw5LDAsMTE0LDE3MCwxLDExNiwxNiwwLDEyNCw5LDAsCisgICAgMTI0LDMsMCwxMTYsMTcsMCwxMjQsOCwwLDEzMSwxLDAsMTMxLDMsMCwxMjUsCisgICAgNiwwLDEyMSwzNiwwLDEyNCwwLDAsMTA2LDE4LDAsMTI0LDIsMCwxMjQsNCwKKyAgICAwLDEyNCw2LDAsMTMxLDMsMCwxLDExNiwxMSwwLDEwMCwxMCwwLDEyNCw0LAorICAgIDAsMTMxLDIsMCwxLDg3LDExMCwxOCwwLDQsMTE2LDIsMCwxMDcsMTAsMCwKKyAgICAxMTQsMTY5LDEsMSwxLDEsODksMTEwLDEsMCw4OCwxMjQsOSwwLDgzLDQxLAorICAgIDExLDEyMiwxOTAsNjcsMTExLDExMCw5OSwxMTQsMTAxLDExNiwxMDEsMzIsMTA1LDEwOSwxMTIsMTA4LAorICAgIDEwMSwxMDksMTAxLDExMCwxMTYsOTcsMTE2LDEwNSwxMTEsMTEwLDMyLDExMSwxMDIsMzIsNzMsMTEwLAorICAgIDExNSwxMTIsMTAxLDk5LDExNiw3NiwxMTEsOTcsMTAwLDEwMSwxMTQsNDYsMTAzLDEwMSwxMTYsOTUsCisgICAgOTksMTExLDEwMCwxMDEsNDYsMTAsMTAsMzIsMzIsMzIsMzIsMzIsMzIsMzIsMzIsODIsCisgICAgMTAxLDk3LDEwMCwxMDUsMTEwLDEwMywzMiwxMTEsMTAyLDMyLDk4LDEyMSwxMTYsMTAxLDk5LDExMSwKKyAgICAxMDAsMTAxLDMyLDExNCwxMDEsMTEzLDExNywxMDUsMTE0LDEwMSwxMTUsMzIsMTEyLDk3LDExNiwxMDQsCisgICAgOTUsMTE1LDExNiw5NywxMTYsMTE1LDMyLDExNiwxMTEsMzIsOTgsMTAxLDMyLDEwNSwxMDksMTEyLAorICAgIDEwOCwxMDEsMTA5LDEwMSwxMTAsMTE2LDEwMSwxMDAsNDYsMzIsODQsMTExLDMyLDExOSwxMTQsMTA1LAorICAgIDExNiwxMDEsMTAsMzIsMzIsMzIsMzIsMzIsMzIsMzIsMzIsOTgsMTIxLDExNiwxMDEsOTksCisgICAgMTExLDEwMCwxMDEsNDQsMzIsMTE1LDEwMSwxMTYsOTUsMTAwLDk3LDExNiw5NywzMiwxMDksMTE3LAorICAgIDExNSwxMTYsMzIsOTcsMTA4LDExNSwxMTEsMzIsOTgsMTAxLDMyLDEwNSwxMDksMTEyLDEwOCwxMDEsCisgICAgMTA5LDEwMSwxMTAsMTE2LDEwMSwxMDAsNDYsMTAsMTAsMzIsMzIsMzIsMzIsMzIsMzIsMzIsCisgICAgMzIsNzgsMTE0LDE4MiwwLDAsMCwxMTQsMTg2LDAsMCwwLDExNCw2NywwLDAsCisgICAgMCwxMTQsMzUsMCwwLDAsMTIyLDEzLDEyMywxMjUsMzIsMTA5LDk3LDExNiw5OSwxMDQsCisgICAgMTAxLDExNSwzMiwxMjMsMTI1LDExNCwxNDEsMCwwLDAsMTE0LDE0MiwwLDAsMCwxMjIsCisgICAgMTksOTksMTExLDEwMCwxMDEsMzIsMTExLDk4LDEwNiwxMDEsOTksMTE2LDMyLDEwMiwxMTQsMTExLAorICAgIDEwOSwzMiwxMjMsMTI1LDEyMiwxMCwxMTksMTE0LDExMSwxMTYsMTAxLDMyLDEyMywzMywxMTQsMTI1LAorICAgIDQxLDE5LDExNCwyMzgsMCwwLDAsMTE0LDEzMiwwLDAsMCwxMTQsMTIzLDAsMCwKKyAgICAwLDExNCwzNiwxLDAsMCwxMTQsMzQsMSwwLDAsMTE0LDE0LDAsMCwwLAorICAgIDExNCwzOSwxLDAsMCwxMTQsNDAsMCwwLDAsMTE0LDE4OSwwLDAsMCwxMTQsCisgICAgMTU0LDAsMCwwLDExNCwxODUsMCwwLDAsMTE0LDE1MywwLDAsMCwxMTQsMTk0LAorICAgIDAsMCwwLDExNCw0NCwxLDAsMCwxMTQsNywwLDAsMCwyMTgsMTksMTAwLAorICAgIDExMSwxMTAsMTE2LDk1LDExOSwxMTQsMTA1LDExNiwxMDEsOTUsOTgsMTIxLDExNiwxMDEsOTksMTExLAorICAgIDEwMCwxMDEsMTE0LDE5NywwLDAsMCwxMTQsMzEsMCwwLDAsMTE0LDM4LDEsMCwKKyAgICAwLDQxLDEwLDExNCw3MSwwLDAsMCwxMTQsMTU5LDAsMCwwLDExNCwxNDIsMCwKKyAgICAwLDAsMTE0LDE4NywwLDAsMCwxMTQsMTQxLDAsMCwwLDIxOCwyLDExNSwxMTYsCisgICAgMTE0LDUzLDAsMCwwLDIxOCwxMCw5OCwxMjEsMTE2LDEwMSwxMTUsOTUsMTAwLDk3LDExNiwKKyAgICA5NywxMTQsMjAwLDAsMCwwLDkwLDExLDk5LDExMSwxMDAsMTAxLDk1LDExMSw5OCwxMDYsCisgICAgMTAxLDk5LDExNiwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLAorICAgIDAsMCwxMTQsMTQsMSwwLDAsMjE0LDUsMCwwLDExNSw3OCwwLDAsMCwKKyAgICAwLDcsMTUsMSw2LDEsMywxLDE2LDEsMTMsMSwxMSwyLDMsMSwKKyAgICAxOSwxLDEzLDEsNSwyLDE2LDEsMywxLDE5LDEsMTMsMSw1LDIsCisgICAgMywxLDksMSwxMiwxLDEzLDEsMTksMSw1LDIsOSwxLDcsMSwKKyAgICAxNSwxLDYsMSw3LDEsMTUsMSwxOCwxLDEzLDEsMjIsMSwxMiwxLAorICAgIDksMSwxNSwxLDMsMSwxOSwxLDE3LDEsMTMsMSw1LDEsMTIyLDIxLAorICAgIDgzLDExMSwxMTcsMTE0LDk5LDEwMSw3NiwxMTEsOTcsMTAwLDEwMSwxMTQsNDYsMTAzLDEwMSwxMTYsCisgICAgOTUsOTksMTExLDEwMCwxMDEsNzgsMTE0LDEzOSwwLDAsMCw0MSwxMCwxMTQsNTcsMCwKKyAgICAwLDAsMTE0LDU2LDAsMCwwLDExNCw1OCwwLDAsMCwxMTQsMzUsMSwwLAorICAgIDAsMTE0LDM2LDEsMCwwLDExNCwzOCwxLDAsMCwxMTQsMzcsMSwwLDAsCisgICAgMTE0LDE1LDEsMCwwLDExNCw0NCwxLDAsMCwxMTQsMTQsMSwwLDAsMTE0LAorICAgIDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsCisgICAgMCwwLDAsMTE0LDMzLDEsMCwwLDE1Niw1LDAsMCwxMTUsMTQsMCwwLAorICAgIDAsMTIsMiwxMiw4LDEyLDEzLDEyLDEwLDEyLDcsMTIsMTAsMTgsOCwxMTQsCisgICAgMzMsMSwwLDAsOTksMCwwLDAsMCwwLDAsMCwwLDAsMCwwLAorICAgIDAsNCwwLDAsMCwwLDAsMCwwLDExNSwxMTIsMCwwLDAsMTAxLDAsCisgICAgMCw5MCwxLDAsMTAwLDAsMCw5MCwyLDAsMTAwLDEsMCw5MCwzLDAsCisgICAgMTAwLDIsMCwxMDAsMywwLDEzMiwwLDAsOTAsNCwwLDEwMCw0LDAsMTAwLAorICAgIDUsMCwxMzIsMCwwLDkwLDUsMCwxMDAsNiwwLDEwMCw3LDAsMTMyLDAsCisgICAgMCw5MCw2LDAsMTAxLDcsMCwxMzUsMCwwLDEwMiwxLDAsMTAwLDgsMCwKKyAgICAxMDAsOSwwLDEzNCwwLDAsMTMxLDEsMCw5MCw4LDAsMTAxLDcsMCwxMDAsCisgICAgMTAsMCwxMDAsMTEsMCwxMzIsMCwwLDEzMSwxLDAsOTAsOSwwLDEwMCwxMiwKKyAgICAwLDEwMCwxMywwLDEzMiwwLDAsOTAsMTAsMCwxMzUsMCwwLDgzLDQxLDE0LAorICAgIDIxOCwxMCw3MCwxMDUsMTA4LDEwMSw3NiwxMTEsOTcsMTAwLDEwMSwxMTQsMTIyLDEwMyw2Niw5NywKKyAgICAxMTUsMTAxLDMyLDEwMiwxMDUsMTA4LDEwMSwzMiwxMDgsMTExLDk3LDEwMCwxMDEsMTE0LDMyLDk5LAorICAgIDEwOCw5NywxMTUsMTE1LDMyLDExOSwxMDQsMTA1LDk5LDEwNCwzMiwxMDUsMTA5LDExMiwxMDgsMTAxLAorICAgIDEwOSwxMDEsMTEwLDExNiwxMTUsMzIsMTE2LDEwNCwxMDEsMzIsMTA4LDExMSw5NywxMDAsMTAxLDExNCwKKyAgICAzMiwxMTIsMTE0LDExMSwxMTYsMTExLDk5LDExMSwxMDgsMzIsMTA5LDEwMSwxMTYsMTA0LDExMSwxMDAsCisgICAgMTE1LDMyLDExNiwxMDQsOTcsMTE2LDEwLDMyLDMyLDMyLDMyLDExNCwxMDEsMTEzLDExNywxMDUsCisgICAgMTE0LDEwMSwzMiwxMDIsMTA1LDEwOCwxMDEsMzIsMTE1LDEyMSwxMTUsMTE2LDEwMSwxMDksMzIsMTE3LAorICAgIDExNSw5NywxMDMsMTAxLDQ2LDk5LDMsMCwwLDAsMCwwLDAsMCwzLDAsCisgICAgMCwwLDIsMCwwLDAsNjcsMCwwLDAsMTE1LDIyLDAsMCwwLDEyNCwKKyAgICAxLDAsMTI0LDAsMCw5NSwwLDAsMTI0LDIsMCwxMjQsMCwwLDk1LDEsCisgICAgMCwxMDAsMSwwLDgzLDQxLDIsMTIyLDc1LDY3LDk3LDk5LDEwNCwxMDEsMzIsMTE2LAorICAgIDEwNCwxMDEsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMzIsMTEwLDk3LDEwOSwxMDEsMzIsOTcsCisgICAgMTEwLDEwMCwzMiwxMTYsMTA0LDEwMSwzMiwxMTIsOTcsMTE2LDEwNCwzMiwxMTYsMTExLDMyLDExNiwKKyAgICAxMDQsMTAxLDMyLDEwMiwxMDUsMTA4LDEwMSwzMiwxMDIsMTExLDExNywxMTAsMTAwLDMyLDk4LDEyMSwKKyAgICAzMiwxMTYsMTA0LDEwMSwxMCwzMiwzMiwzMiwzMiwzMiwzMiwzMiwzMiwxMDIsMTA1LDExMCwKKyAgICAxMDAsMTAxLDExNCw0Niw3OCw0MSwyLDExNCw2NywwLDAsMCwxMTQsMzUsMCwwLAorICAgIDAsNDEsMywxMTQsNzEsMCwwLDAsMTE0LDE1OSwwLDAsMCwxMTQsMzUsMCwKKyAgICAwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLAorICAgIDAsMTE0LDcyLDAsMCwwLDE1LDYsMCwwLDExNSw0LDAsMCwwLDAsCisgICAgMyw5LDEsMTIyLDE5LDcwLDEwNSwxMDgsMTAxLDc2LDExMSw5NywxMDAsMTAxLDExNCw0NiwKKyAgICA5NSw5NSwxMDUsMTEwLDEwNSwxMTYsOTUsOTUsOTksMiwwLDAsMCwwLDAsMCwKKyAgICAwLDIsMCwwLDAsMiwwLDAsMCw2NywwLDAsMCwxMTUsMzQsMCwKKyAgICAwLDAsMTI0LDAsMCwxMDYsMCwwLDEyNCwxLDAsMTA2LDAsMCwxMDcsMiwKKyAgICAwLDExMSwzMywwLDEyNCwwLDAsMTA2LDEsMCwxMjQsMSwwLDEwNiwxLDAsCisgICAgMTA3LDIsMCw4Myw0MSwxLDc4LDQxLDIsMTE0LDIyNCwwLDAsMCwxMTQsNjMsCisgICAgMCwwLDAsNDEsMiwxMTQsNzEsMCwwLDAsMTE0LDIyNywwLDAsMCwxMTQsCisgICAgNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsMjI5LAorICAgIDAsMCwwLDIxLDYsMCwwLDExNSw0LDAsMCwwLDAsMSwxOCwxLAorICAgIDEyMiwxNyw3MCwxMDUsMTA4LDEwMSw3NiwxMTEsOTcsMTAwLDEwMSwxMTQsNDYsOTUsOTUsMTAxLAorICAgIDExMyw5NSw5NSw5OSwxLDAsMCwwLDAsMCwwLDAsMSwwLDAsMCwKKyAgICAzLDAsMCwwLDY3LDAsMCwwLDExNSwyNiwwLDAsMCwxMTYsMCwwLAorICAgIDEyNCwwLDAsMTA2LDEsMCwxMzEsMSwwLDExNiwwLDAsMTI0LDAsMCwxMDYsCisgICAgMiwwLDEzMSwxLDAsNjUsODMsNDEsMSw3OCw0MSwzLDIxOCw0LDEwNCw5NywKKyAgICAxMTUsMTA0LDExNCw2NywwLDAsMCwxMTQsMzUsMCwwLDAsNDEsMSwxMTQsNzEsCisgICAgMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwKKyAgICAwLDAsMjE4LDgsOTUsOTUsMTA0LDk3LDExNSwxMDQsOTUsOTUsMjUsNiwwLDAsCisgICAgMTE1LDIsMCwwLDAsMCwxLDEyMiwxOSw3MCwxMDUsMTA4LDEwMSw3NiwxMTEsOTcsCisgICAgMTAwLDEwMSwxMTQsNDYsOTUsOTUsMTA0LDk3LDExNSwxMDQsOTUsOTUsOTksMiwwLDAsCisgICAgMCwwLDAsMCwwLDIsMCwwLDAsMywwLDAsMCwzLDAsMCwKKyAgICAwLDExNSwyMiwwLDAsMCwxMTYsMCwwLDExNiwxLDAsMTI0LDAsMCwxMzEsCisgICAgMiwwLDEwNiwyLDAsMTI0LDEsMCwxMzEsMSwwLDgzLDQxLDEsMTIyLDEwMCwKKyAgICA3NiwxMTEsOTcsMTAwLDMyLDk3LDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDMyLDEwMiwxMTQsCisgICAgMTExLDEwOSwzMiw5NywzMiwxMDIsMTA1LDEwOCwxMDEsNDYsMTAsMTAsMzIsMzIsMzIsMzIsCisgICAgMzIsMzIsMzIsMzIsODQsMTA0LDEwNSwxMTUsMzIsMTA5LDEwMSwxMTYsMTA0LDExMSwxMDAsMzIsCisgICAgMTA1LDExNSwzMiwxMDAsMTAxLDExMiwxMTQsMTAxLDk5LDk3LDExNiwxMDEsMTAwLDQ2LDMyLDMyLAorICAgIDg1LDExNSwxMDEsMzIsMTAxLDEyMCwxMDEsOTksOTUsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsNDAsCisgICAgNDEsMzIsMTA1LDExMCwxMTUsMTE2LDEwMSw5NywxMDAsNDYsMTAsMTAsMzIsMzIsMzIsMzIsCisgICAgMzIsMzIsMzIsMzIsNDEsMywyMTgsNSwxMTUsMTE3LDExMiwxMDEsMTE0LDExNCw0OCwxLAorICAgIDAsMCwxMTQsMywxLDAsMCw0MSwyLDExNCw3MSwwLDAsMCwxMTQsMTU5LAorICAgIDAsMCwwLDQxLDEsMTE0LDIyNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsCisgICAgNSwwLDAsMCwxMTQsMywxLDAsMCwyOCw2LDAsMCwxMTUsMiwwLAorICAgIDAsMCwwLDEwLDEyMiwyMiw3MCwxMDUsMTA4LDEwMSw3NiwxMTEsOTcsMTAwLDEwMSwxMTQsCisgICAgNDYsMTA4LDExMSw5NywxMDAsOTUsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsOTksMiwwLDAsCisgICAgMCwwLDAsMCwwLDIsMCwwLDAsMSwwLDAsMCw2NywwLDAsCisgICAgMCwxMTUsNywwLDAsMCwxMjQsMCwwLDEwNiwwLDAsODMsNDEsMSwxMjIsCisgICAgNTgsODIsMTAxLDExNiwxMTcsMTE0LDExMCwzMiwxMTYsMTA0LDEwMSwzMiwxMTIsOTcsMTE2LDEwNCwKKyAgICAzMiwxMTYsMTExLDMyLDExNiwxMDQsMTAxLDMyLDExNSwxMTEsMTE3LDExNCw5OSwxMDEsMzIsMTAyLAorICAgIDEwNSwxMDgsMTAxLDMyLDk3LDExNSwzMiwxMDIsMTExLDExNywxMTAsMTAwLDMyLDk4LDEyMSwzMiwKKyAgICAxMTYsMTA0LDEwMSwzMiwxMDIsMTA1LDExMCwxMDAsMTAxLDExNCw0Niw0MSwxLDExNCwzNSwwLAorICAgIDAsMCw0MSwyLDExNCw3MSwwLDAsMCwxMTQsMTU5LDAsMCwwLDExNCw0LAorICAgIDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDExNCwyMzgsMCwKKyAgICAwLDAsNDAsNiwwLDAsMTE1LDIsMCwwLDAsMCwzLDEyMiwyMyw3MCwKKyAgICAxMDUsMTA4LDEwMSw3NiwxMTEsOTcsMTAwLDEwMSwxMTQsNDYsMTAzLDEwMSwxMTYsOTUsMTAyLDEwNSwKKyAgICAxMDgsMTAxLDExMCw5NywxMDksMTAxLDk5LDIsMCwwLDAsMCwwLDAsMCwzLAorICAgIDAsMCwwLDgsMCwwLDAsNjcsMCwwLDAsMTE1LDQxLDAsMCwwLAorICAgIDExNiwwLDAsMTA2LDEsMCwxMjQsMSwwLDEwMCwxLDAsMTMxLDIsMCwxNDMsCisgICAgMTcsMCwxMjUsMiwwLDEyNCwyLDAsMTA2LDIsMCwxMzEsMCwwLDgzLDg3LAorICAgIDEwMCwyLDAsODEsODgsMTAwLDIsMCw4Myw0MSwzLDEyMiwzOSw4MiwxMDEsMTE2LAorICAgIDExNywxMTQsMTEwLDMyLDExNiwxMDQsMTAxLDMyLDEwMCw5NywxMTYsOTcsMzIsMTAyLDExNCwxMTEsCisgICAgMTA5LDMyLDExMiw5NywxMTYsMTA0LDMyLDk3LDExNSwzMiwxMTQsOTcsMTE5LDMyLDk4LDEyMSwKKyAgICAxMTYsMTAxLDExNSw0NiwyMTgsMSwxMTQsNzgsNDEsMywxMTQsNDksMCwwLDAsMTE0LAorICAgIDUwLDAsMCwwLDkwLDQsMTE0LDEwMSw5NywxMDAsNDEsMywxMTQsNzEsMCwwLAorICAgIDAsMTE0LDM1LDAsMCwwLDExNCw1NCwwLDAsMCwxMTQsNCwwLDAsMCwKKyAgICAxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsMzksMSwwLDAsNDUsCisgICAgNiwwLDAsMTE1LDQsMCwwLDAsMCwyLDIxLDEsMTIyLDE5LDcwLDEwNSwKKyAgICAxMDgsMTAxLDc2LDExMSw5NywxMDAsMTAxLDExNCw0NiwxMDMsMTAxLDExNiw5NSwxMDAsOTcsMTE2LAorICAgIDk3LDQxLDExLDExNCw1NywwLDAsMCwxMTQsNTYsMCwwLDAsMTE0LDU4LDAsCisgICAgMCwwLDExNCw1OSwwLDAsMCwxMTQsNzIsMCwwLDAsMTE0LDIyOSwwLDAsCisgICAgMCwxMTQsNTAsMSwwLDAsMTE0LDE1NywwLDAsMCwxMTQsMywxLDAsMCwKKyAgICAxMTQsMjM4LDAsMCwwLDExNCwzOSwxLDAsMCwxMTQsNCwwLDAsMCwxMTQsCisgICAgNCwwLDAsMCw0MSwxLDExNCwyMjQsMCwwLDAsMTE0LDUsMCwwLDAsCisgICAgMTE0LDQ4LDEsMCwwLDEwLDYsMCwwLDExNSwxNCwwLDAsMCwxMiwzLAorICAgIDYsMiwxMiw2LDEyLDQsMTIsMywyNCwxMiwxOCw1LDExNCw0OCwxLDAsCisgICAgMCw5OSwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCw0LDAsCisgICAgMCwwLDY0LDAsMCwwLDExNSw2NCwwLDAsMCwxMDEsMCwwLDkwLDEsCisgICAgMCwxMDAsMCwwLDkwLDIsMCwxMDAsMSwwLDkwLDMsMCwxMDAsMiwwLAorICAgIDEwMCwzLDAsMTMyLDAsMCw5MCw0LDAsMTAwLDQsMCwxMDAsNSwwLDEzMiwKKyAgICAwLDAsOTAsNSwwLDEwMCw2LDAsMTAwLDcsMCwxMDAsOCwwLDEwMCw5LAorICAgIDAsMTMyLDAsMSw5MCw2LDAsMTAwLDEwLDAsODMsNDEsMTEsMTE0LDcsMSwKKyAgICAwLDAsMTIyLDYyLDY3LDExMSwxMTAsOTksMTE0LDEwMSwxMTYsMTAxLDMyLDEwNSwxMDksMTEyLAorICAgIDEwOCwxMDEsMTA5LDEwMSwxMTAsMTE2LDk3LDExNiwxMDUsMTExLDExMCwzMiwxMTEsMTAyLDMyLDgzLAorICAgIDExMSwxMTcsMTE0LDk5LDEwMSw3NiwxMTEsOTcsMTAwLDEwMSwxMTQsMzIsMTE3LDExNSwxMDUsMTEwLAorICAgIDEwMywzMiwxMTYsMTA0LDEwMSwzMiwxMDIsMTA1LDEwOCwxMDEsMzIsMTE1LDEyMSwxMTUsMTE2LDEwMSwKKyAgICAxMDksNDYsOTksMiwwLDAsMCwwLDAsMCwwLDMsMCwwLDAsMywKKyAgICAwLDAsMCw2NywwLDAsMCwxMTUsMzYsMCwwLDAsMTE2LDAsMCwxMjQsCisgICAgMSwwLDEzMSwxLDAsMTI1LDIsMCwxMDUsMiwwLDEyNCwyLDAsMTA2LDEsCisgICAgMCwxMDAsMSwwLDU0LDEyNCwyLDAsMTA2LDIsMCwxMDAsMiwwLDU0LDgzLAorICAgIDQxLDMsMTIyLDMzLDgyLDEwMSwxMTYsMTE3LDExNCwxMTAsMzIsMTE2LDEwNCwxMDEsMzIsMTA5LAorICAgIDEwMSwxMTYsOTcsMTAwLDk3LDExNiw5NywzMiwxMDIsMTExLDExNCwzMiwxMTYsMTA0LDEwMSwzMiwKKyAgICAxMTIsOTcsMTE2LDEwNCw0NiwxMTQsMTgyLDAsMCwwLDExNCwxODMsMCwwLDAsNDEsCisgICAgMywxMTQsMzksMCwwLDAsMjE4LDgsMTE1LDExNiw5NSwxMDksMTE2LDEwNSwxMDksMTAxLAorICAgIDkwLDcsMTE1LDExNiw5NSwxMTUsMTA1LDEyMiwxMDEsNDEsMywxMTQsNzEsMCwwLDAsCisgICAgMTE0LDM1LDAsMCwwLDExNCw0NiwxLDAsMCwxMTQsNCwwLDAsMCwxMTQsCisgICAgNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsMzYsMSwwLDAsNTUsNiwKKyAgICAwLDAsMTE1LDQsMCwwLDAsMCwyLDEyLDEsMTIyLDI3LDgzLDExMSwxMTcsCisgICAgMTE0LDk5LDEwMSw3MCwxMDUsMTA4LDEwMSw3NiwxMTEsOTcsMTAwLDEwMSwxMTQsNDYsMTEyLDk3LAorICAgIDExNiwxMDQsOTUsMTE1LDExNiw5NywxMTYsMTE1LDk5LDQsMCwwLDAsMCwwLDAsCisgICAgMCw1LDAsMCwwLDUsMCwwLDAsNjcsMCwwLDAsMTE1LDM0LDAsCisgICAgMCwwLDExNiwwLDAsMTI0LDEsMCwxMzEsMSwwLDEyNSw0LDAsMTI0LDAsCisgICAgMCwxMDYsMSwwLDEyNCwyLDAsMTI0LDMsMCwxMDAsMSwwLDEyNCw0LDAsCisgICAgMTMxLDIsMSw4Myw0MSwyLDc4LDIxOCw1LDk1LDEwOSwxMTEsMTAwLDEwMSw0MSwyLAorICAgIDExNCwxNDUsMCwwLDAsMTE0LDM3LDEsMCwwLDQxLDUsMTE0LDcxLDAsMCwKKyAgICAwLDExNCwxNDIsMCwwLDAsMTE0LDE0MSwwLDAsMCwxMTQsNTMsMCwwLDAsCisgICAgMTE0LDQyLDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCwKKyAgICA1LDAsMCwwLDExNCwzOCwxLDAsMCw2MCw2LDAsMCwxMTUsNCwwLAorICAgIDAsMCwwLDIsMTIsMSwxMjIsMzIsODMsMTExLDExNywxMTQsOTksMTAxLDcwLDEwNSwKKyAgICAxMDgsMTAxLDc2LDExMSw5NywxMDAsMTAxLDExNCw0Niw5NSw5OSw5Nyw5OSwxMDQsMTAxLDk1LAorICAgIDk4LDEyMSwxMTYsMTAxLDk5LDExMSwxMDAsMTAxLDExNCw1NCwxLDAsMCwxMDUsMTgyLDEsCisgICAgMCwwLDk5LDMsMCwwLDAsMSwwLDAsMCw5LDAsMCwwLDE3LAorICAgIDAsMCwwLDY3LDAsMCwwLDExNSw1MywxLDAsMCwxMTYsMCwwLDEyNCwKKyAgICAxLDAsMTMxLDEsMCw5MiwyLDAsMTI1LDQsMCwxMjUsNSwwLDEwMywwLAorICAgIDAsMTI1LDYsMCwxMjAsNTQsMCwxMjQsNCwwLDExNCw4MCwwLDExNiwxLDAsCisgICAgMTI0LDQsMCwxMzEsMSwwLDEyLDExNCw4MCwwLDExNiwwLDAsMTI0LDQsMCwKKyAgICAxMzEsMSwwLDkyLDIsMCwxMjUsNCwwLDEyNSw3LDAsMTI0LDYsMCwxMDYsCisgICAgMiwwLDEyNCw3LDAsMTMxLDEsMCwxLDExMywyNywwLDg3LDEyMCwxMzIsMCwKKyAgICAxMTYsMywwLDEyNCw2LDAsMTMxLDEsMCw2OCw5MywxMTgsMCwxMjUsNywwLAorICAgIDExNiw0LDAsMTI0LDQsMCwxMjQsNywwLDEzMSwyLDAsMTI1LDQsMCwxMjEsCisgICAgMTcsMCwxMTYsNSwwLDEwNiw2LDAsMTI0LDQsMCwxMzEsMSwwLDEsODcsCisgICAgMTEzLDk0LDAsNCwxMTYsNywwLDEwNywxMCwwLDExNCwxNTUsMCwxLDEsMSwKKyAgICAxMTksOTQsMCw4OSwxMTMsOTQsMCw0LDExNiw4LDAsMTA3LDEwLDAsMTE0LDIxMSwKKyAgICAwLDEsMTI1LDgsMCwxLDEyMiwyNSwwLDExNiw5LDAsMTAwLDEsMCwxMjQsCisgICAgNCwwLDEyNCw4LDAsMTMxLDMsMCwxLDEwMCwyLDAsODMsODcsODksMTAwLAorICAgIDIsMCwxMDAsMiwwLDEyNSw4LDAsMTI2LDgsMCw4OCwxMTMsOTQsMCw4OCwKKyAgICAxMTMsOTQsMCw4NywxMjEsMzMsMCwxMTYsMTAsMCwxMjQsMSwwLDEyNCwyLDAsCisgICAgMTI0LDMsMCwxMzEsMywwLDEsMTE2LDksMCwxMDAsMywwLDEyNCwxLDAsCisgICAgMTMxLDIsMCwxLDg3LDExMCw1MywwLDQsMTE2LDgsMCwxMDcsMTAsMCwxMTQsCisgICAgNDgsMSwxLDEyNSw4LDAsMSwxMjIsMjEsMCwxMTYsOSwwLDEwMCwxLDAsCisgICAgMTI0LDEsMCwxMjQsOCwwLDEzMSwzLDAsMSw4Nyw4OSwxMDAsMiwwLDEwMCwKKyAgICAyLDAsMTI1LDgsMCwxMjYsOCwwLDg4LDExMCwxLDAsODgsMTAwLDIsMCwKKyAgICA4Myw0MSw0LDEyMiwyNyw4NywxMTQsMTA1LDExNiwxMDEsMzIsOTgsMTIxLDExNiwxMDEsMTE1LAorICAgIDMyLDEwMCw5NywxMTYsOTcsMzIsMTE2LDExMSwzMiw5NywzMiwxMDIsMTA1LDEwOCwxMDEsNDYsCisgICAgMTIyLDI3LDk5LDExMSwxMTcsMTA4LDEwMCwzMiwxMTAsMTExLDExNiwzMiw5OSwxMTQsMTAxLDk3LAorICAgIDExNiwxMDEsMzIsMTIzLDMzLDExNCwxMjUsNTgsMzIsMTIzLDMzLDExNCwxMjUsNzgsMTIyLDEyLAorICAgIDk5LDExNCwxMDEsOTcsMTE2LDEwMSwxMDAsMzIsMTIzLDMzLDExNCwxMjUsNDEsMTEsMTE0LDM4LAorICAgIDAsMCwwLDExNCw0NiwwLDAsMCwxMTQsMjIzLDAsMCwwLDExNCwzMywwLAorICAgIDAsMCwxMTQsMjgsMCwwLDAsMTE0LDMsMCwwLDAsOTAsNSwxMDksMTA3LAorICAgIDEwMCwxMDUsMTE0LDIxOCwxNSw3MCwxMDUsMTA4LDEwMSw2OSwxMjAsMTA1LDExNSwxMTYsMTE1LDY5LAorICAgIDExNCwxMTQsMTExLDExNCwxMTQsNDAsMCwwLDAsMTE0LDE1MywwLDAsMCwxMTQsNTUsCisgICAgMCwwLDAsNDEsOSwxMTQsNzEsMCwwLDAsMTE0LDM1LDAsMCwwLDExNCwKKyAgICA1MywwLDAsMCwxMTQsNTQsMSwwLDAsMTE0LDIzMywwLDAsMCwxMTQsMTMxLAorICAgIDAsMCwwLDExNCwyNywwLDAsMCwxMTQsMjMsMCwwLDAsMTE0LDQwLDEsCisgICAgMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwKKyAgICAwLDExNCwzNywxLDAsMCw2NSw2LDAsMCwxMTUsMzgsMCwwLDAsMCwKKyAgICAyLDE4LDEsNiwyLDIyLDEsMTgsMSwxNywyLDE5LDEsMTUsMSwzLAorICAgIDEsMTcsMSwxMywyLDcsMSwxOCwzLDE2LDEsMjcsMSwzLDEsMTYsCisgICAgMSwxNywxLDE4LDIsMTIyLDI1LDgzLDExMSwxMTcsMTE0LDk5LDEwMSw3MCwxMDUsMTA4LAorICAgIDEwMSw3NiwxMTEsOTcsMTAwLDEwMSwxMTQsNDYsMTE1LDEwMSwxMTYsOTUsMTAwLDk3LDExNiw5NywKKyAgICA3OCw0MSw3LDExNCw1NywwLDAsMCwxMTQsNTYsMCwwLDAsMTE0LDU4LDAsCisgICAgMCwwLDExNCw1OSwwLDAsMCwxMTQsMzYsMSwwLDAsMTE0LDM4LDEsMCwKKyAgICAwLDExNCwzNywxLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwKKyAgICAxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsNywxLDAsMCw1MSwKKyAgICA2LDAsMCwxMTUsOCwwLDAsMCwxMiwyLDYsMiwxMiw1LDEyLDUsCisgICAgMTE0LDcsMSwwLDAsOTksMCwwLDAsMCwwLDAsMCwwLDAsMCwKKyAgICAwLDAsMiwwLDAsMCw2NCwwLDAsMCwxMTUsNDYsMCwwLDAsMTAxLAorICAgIDAsMCw5MCwxLDAsMTAwLDAsMCw5MCwyLDAsMTAwLDEsMCw5MCwzLAorICAgIDAsMTAwLDIsMCwxMDAsMywwLDEzMiwwLDAsOTAsNCwwLDEwMCw0LDAsCisgICAgMTAwLDUsMCwxMzIsMCwwLDkwLDUsMCwxMDAsNiwwLDgzLDQxLDcsMTE0LAorICAgIDYsMSwwLDAsMTIyLDQ1LDc2LDExMSw5NywxMDAsMTAxLDExNCwzMiwxMTksMTA0LDEwNSwKKyAgICA5OSwxMDQsMzIsMTA0LDk3LDExMCwxMDAsMTA4LDEwMSwxMTUsMzIsMTE1LDExMSwxMTcsMTE0LDk5LAorICAgIDEwMSwxMDgsMTAxLDExNSwxMTUsMzIsMTAyLDEwNSwxMDgsMTAxLDMyLDEwNSwxMDksMTEyLDExMSwxMTQsCisgICAgMTE2LDExNSw0Niw5OSwyLDAsMCwwLDAsMCwwLDAsNSwwLDAsMCwKKyAgICA2LDAsMCwwLDY3LDAsMCwwLDExNSw3NiwwLDAsMCwxMjQsMCwwLAorICAgIDEwNiwwLDAsMTI0LDEsMCwxMzEsMSwwLDEyNSwyLDAsMTI0LDAsMCwxMDYsCisgICAgMSwwLDEyNCwyLDAsMTMxLDEsMCwxMjUsMywwLDExNiwyLDAsMTI0LDMsCisgICAgMCwxMDAsMSwwLDEyNCwxLDAsMTAwLDIsMCwxMjQsMiwwLDEzMSwxLDIsCisgICAgMTI1LDQsMCwxMTYsMywwLDEyNCw0LDAsMTAwLDEsMCwxMjQsMSwwLDEwMCwKKyAgICAzLDAsMTI0LDIsMCwxMzEsMSwyLDgzLDQxLDQsNzgsMTE0LDY3LDAsMCwKKyAgICAwLDExNCwzNSwwLDAsMCwxMTQsMTQxLDAsMCwwLDQxLDQsMTE0LDIzOCwwLAorICAgIDAsMCwxMTQsMzksMSwwLDAsMTE0LDE4OSwwLDAsMCwxMTQsMTk0LDAsMCwKKyAgICAwLDQxLDUsMTE0LDcxLDAsMCwwLDExNCwxNTksMCwwLDAsMTE0LDM1LDAsCisgICAgMCwwLDExNCw1MywwLDAsMCwxMTQsNDcsMSwwLDAsMTE0LDQsMCwwLAorICAgIDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsMTE0LDE0LDEsMCwwLAorICAgIDk4LDYsMCwwLDExNSw4LDAsMCwwLDAsMSwxNSwxLDE1LDEsMjQsCisgICAgMSwxMjIsMjksODMsMTExLDExNywxMTQsOTksMTAxLDEwOCwxMDEsMTE1LDExNSw3MCwxMDUsMTA4LAorICAgIDEwMSw3NiwxMTEsOTcsMTAwLDEwMSwxMTQsNDYsMTAzLDEwMSwxMTYsOTUsOTksMTExLDEwMCwxMDEsCisgICAgOTksMiwwLDAsMCwwLDAsMCwwLDIsMCwwLDAsMSwwLDAsCisgICAgMCw2NywwLDAsMCwxMTUsNCwwLDAsMCwxMDAsMSwwLDgzLDQxLDIsCisgICAgMTIyLDM5LDgyLDEwMSwxMTYsMTE3LDExNCwxMTAsMzIsNzgsMTExLDExMCwxMDEsMzIsOTcsMTE1LAorICAgIDMyLDExNiwxMDQsMTAxLDExNCwxMDEsMzIsMTA1LDExNSwzMiwxMTAsMTExLDMyLDExNSwxMTEsMTE3LAogICAgIDExNCw5OSwxMDEsMzIsOTksMTExLDEwMCwxMDEsNDYsNzgsMTE0LDQsMCwwLDAsNDEsCiAgICAgMiwxMTQsNzEsMCwwLDAsMTE0LDE1OSwwLDAsMCwxMTQsNCwwLDAsMCwKLSAgICAxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsMTcsMSwwLDAsMjAwLAotICAgIDYsMCwwLDExNSwyLDAsMCwwLDAsMiwxMjIsMzAsNjksMTIwLDExNiwxMDEsCi0gICAgMTEwLDExNSwxMDUsMTExLDExMCw3MCwxMDUsMTA4LDEwMSw3NiwxMTEsOTcsMTAwLDEwMSwxMTQsNDYsCi0gICAgMTAzLDEwMSwxMTYsOTUsMTE1LDExMSwxMTcsMTE0LDk5LDEwMSw5OSwyLDAsMCwwLDAsCi0gICAgMCwwLDAsMiwwLDAsMCwxLDAsMCwwLDY3LDAsMCwwLDExNSwKLSAgICA3LDAsMCwwLDEyNCwwLDAsMTA2LDAsMCw4Myw0MSwxLDEyMiw1OCw4MiwKLSAgICAxMDEsMTE2LDExNywxMTQsMTEwLDMyLDExNiwxMDQsMTAxLDMyLDExMiw5NywxMTYsMTA0LDMyLDExNiwKLSAgICAxMTEsMzIsMTE2LDEwNCwxMDEsMzIsMTE1LDExMSwxMTcsMTE0LDk5LDEwMSwzMiwxMDIsMTA1LDEwOCwKLSAgICAxMDEsMzIsOTcsMTE1LDMyLDEwMiwxMTEsMTE3LDExMCwxMDAsMzIsOTgsMTIxLDMyLDExNiwxMDQsCi0gICAgMTAxLDMyLDEwMiwxMDUsMTEwLDEwMCwxMDEsMTE0LDQ2LDQxLDEsMTE0LDM1LDAsMCwwLAotICAgIDQxLDIsMTE0LDcxLDAsMCwwLDExNCwxNTksMCwwLDAsMTE0LDQsMCwwLAotICAgIDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsMTE0LDIzOSwwLDAsMCwKLSAgICAyMDQsNiwwLDAsMTE1LDIsMCwwLDAsMCwzLDEyMiwzMiw2OSwxMjAsMTE2LAorICAgIDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDExNCwxNSwxLDAsMCwxMDQsCisgICAgNiwwLDAsMTE1LDIsMCwwLDAsMCwyLDEyMiwzMSw4MywxMTEsMTE3LDExNCwKKyAgICA5OSwxMDEsMTA4LDEwMSwxMTUsMTE1LDcwLDEwNSwxMDgsMTAxLDc2LDExMSw5NywxMDAsMTAxLDExNCwKKyAgICA0NiwxMDMsMTAxLDExNiw5NSwxMTUsMTExLDExNywxMTQsOTksMTAxLDc4LDQxLDYsMTE0LDU3LAorICAgIDAsMCwwLDExNCw1NiwwLDAsMCwxMTQsNTgsMCwwLDAsMTE0LDU5LDAsCisgICAgMCwwLDExNCwxNCwxLDAsMCwxMTQsMTUsMSwwLDAsMTE0LDQsMCwwLAorICAgIDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsCisgICAgMTE0LDYsMSwwLDAsOTQsNiwwLDAsMTE1LDYsMCwwLDAsMTIsMiwKKyAgICA2LDIsMTIsNiwxMTQsNiwxLDAsMCw5OSwwLDAsMCwwLDAsMCwKKyAgICAwLDAsMCwwLDAsMCwzLDAsMCwwLDY0LDAsMCwwLDExNSwxMzAsCisgICAgMCwwLDAsMTAxLDAsMCw5MCwxLDAsMTAwLDAsMCw5MCwyLDAsMTAwLAorICAgIDEsMCw5MCwzLDAsMTAwLDIsMCwxMDAsMywwLDEzMiwwLDAsOTAsNCwKKyAgICAwLDEwMCw0LDAsMTAwLDUsMCwxMzIsMCwwLDkwLDUsMCwxMDAsNiwwLAorICAgIDEwMCw3LDAsMTMyLDAsMCw5MCw2LDAsMTAxLDcsMCwxMDAsOCwwLDEwMCwKKyAgICA5LDAsMTMyLDAsMCwxMzEsMSwwLDkwLDgsMCwxMDAsMTAsMCwxMDAsMTEsCisgICAgMCwxMzIsMCwwLDkwLDksMCwxMDAsMTIsMCwxMDAsMTMsMCwxMzIsMCwwLAorICAgIDkwLDEwLDAsMTAwLDE0LDAsMTAwLDE1LDAsMTMyLDAsMCw5MCwxMSwwLDEwMSwKKyAgICA3LDAsMTAwLDE2LDAsMTAwLDE3LDAsMTMyLDAsMCwxMzEsMSwwLDkwLDEyLAorICAgIDAsMTAwLDE4LDAsODMsNDEsMTksMjE4LDE5LDY5LDEyMCwxMTYsMTAxLDExMCwxMTUsMTA1LAorICAgIDExMSwxMTAsNzAsMTA1LDEwOCwxMDEsNzYsMTExLDk3LDEwMCwxMDEsMTE0LDEyMiw5Myw3NiwxMTEsCisgICAgOTcsMTAwLDEwMSwxMTQsMzIsMTAyLDExMSwxMTQsMzIsMTAxLDEyMCwxMTYsMTAxLDExMCwxMTUsMTA1LAorICAgIDExMSwxMTAsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMTE1LDQ2LDEwLDEwLDMyLDMyLDMyLAorICAgIDMyLDg0LDEwNCwxMDEsMzIsOTksMTExLDExMCwxMTUsMTE2LDExNCwxMTcsOTksMTE2LDExMSwxMTQsCisgICAgMzIsMTA1LDExNSwzMiwxMDAsMTAxLDExNSwxMDUsMTAzLDExMCwxMDEsMTAwLDMyLDExNiwxMTEsMzIsCisgICAgMTE5LDExMSwxMTQsMTA3LDMyLDExOSwxMDUsMTE2LDEwNCwzMiw3MCwxMDUsMTA4LDEwMSw3MCwxMDUsCisgICAgMTEwLDEwMCwxMDEsMTE0LDQ2LDEwLDEwLDMyLDMyLDMyLDMyLDk5LDMsMCwwLDAsCisgICAgMCwwLDAsMCwzLDAsMCwwLDIsMCwwLDAsNjcsMCwwLDAsCisgICAgMTE1LDIyLDAsMCwwLDEyNCwxLDAsMTI0LDAsMCw5NSwwLDAsMTI0LDIsCisgICAgMCwxMjQsMCwwLDk1LDEsMCwxMDAsMCwwLDgzLDQxLDEsNzgsNDEsMiwKKyAgICAxMTQsNjcsMCwwLDAsMTE0LDM1LDAsMCwwLDQxLDMsMTE0LDcxLDAsMCwKKyAgICAwLDExNCw2NywwLDAsMCwxMTQsMzUsMCwwLDAsMTE0LDQsMCwwLDAsCisgICAgMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsMTE0LDcyLDAsMCwwLDEyMSwKKyAgICA2LDAsMCwxMTUsNCwwLDAsMCwwLDEsOSwxLDEyMiwyOCw2OSwxMjAsCisgICAgMTE2LDEwMSwxMTAsMTE1LDEwNSwxMTEsMTEwLDcwLDEwNSwxMDgsMTAxLDc2LDExMSw5NywxMDAsMTAxLAorICAgIDExNCw0Niw5NSw5NSwxMDUsMTEwLDEwNSwxMTYsOTUsOTUsOTksMiwwLDAsMCwwLAorICAgIDAsMCwwLDIsMCwwLDAsMiwwLDAsMCw2NywwLDAsMCwxMTUsCisgICAgMzQsMCwwLDAsMTI0LDAsMCwxMDYsMCwwLDEyNCwxLDAsMTA2LDAsMCwKKyAgICAxMDcsMiwwLDExMSwzMywwLDEyNCwwLDAsMTA2LDEsMCwxMjQsMSwwLDEwNiwKKyAgICAxLDAsMTA3LDIsMCw4Myw0MSwxLDc4LDQxLDIsMTE0LDIyNCwwLDAsMCwKKyAgICAxMTQsNjMsMCwwLDAsNDEsMiwxMTQsNzEsMCwwLDAsMTE0LDIyNywwLDAsCisgICAgMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwKKyAgICAxMTQsMjI5LDAsMCwwLDEyNSw2LDAsMCwxMTUsNCwwLDAsMCwwLDEsCisgICAgMTgsMSwxMjIsMjYsNjksMTIwLDExNiwxMDEsMTEwLDExNSwxMDUsMTExLDExMCw3MCwxMDUsMTA4LAorICAgIDEwMSw3NiwxMTEsOTcsMTAwLDEwMSwxMTQsNDYsOTUsOTUsMTAxLDExMyw5NSw5NSw5OSwxLAorICAgIDAsMCwwLDAsMCwwLDAsMSwwLDAsMCwzLDAsMCwwLDY3LAorICAgIDAsMCwwLDExNSwyNiwwLDAsMCwxMTYsMCwwLDEyNCwwLDAsMTA2LDEsCisgICAgMCwxMzEsMSwwLDExNiwwLDAsMTI0LDAsMCwxMDYsMiwwLDEzMSwxLDAsCisgICAgNjUsODMsNDEsMSw3OCw0MSwzLDExNCw0OSwxLDAsMCwxMTQsNjcsMCwwLAorICAgIDAsMTE0LDM1LDAsMCwwLDQxLDEsMTE0LDcxLDAsMCwwLDExNCw0LDAsCisgICAgMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDExNCw1MCwxLDAsCisgICAgMCwxMjksNiwwLDAsMTE1LDIsMCwwLDAsMCwxLDEyMiwyOCw2OSwxMjAsCisgICAgMTE2LDEwMSwxMTAsMTE1LDEwNSwxMTEsMTEwLDcwLDEwNSwxMDgsMTAxLDc2LDExMSw5NywxMDAsMTAxLAorICAgIDExNCw0Niw5NSw5NSwxMDQsOTcsMTE1LDEwNCw5NSw5NSw5OSwyLDAsMCwwLDAsCisgICAgMCwwLDAsNCwwLDAsMCwxMSwwLDAsMCw2NywwLDAsMCwxMTUsCisgICAgMTc3LDAsMCwwLDExNiwwLDAsMTI0LDEsMCwxMzEsMSwwLDE0MywyOSwwLAorICAgIDEsMTE2LDEsMCwxMTYsMiwwLDEwNiwzLDAsMTI0LDEsMCwxMjQsMCwwLAorICAgIDEwNiw0LDAsMTMxLDMsMCwxMjUsMiwwLDg3LDEwMCwxLDAsODEsODgsMTE2LAorICAgIDUsMCwxMDAsMiwwLDEyNCwwLDAsMTA2LDQsMCwxMzEsMiwwLDEsMTI0LAorICAgIDAsMCwxMDYsNiwwLDEyNCwxLDAsMTMxLDEsMCwxMjUsMywwLDEyNCwzLAorICAgIDAsMTE0LDEyMSwwLDExNiw3LDAsMTI0LDIsMCwxMDAsMywwLDEzMSwyLDAsCisgICAgMTIsMTE0LDEyMSwwLDExNiw4LDAsMTI0LDAsMCwxMDYsNCwwLDEzMSwxLDAsCisgICAgMTAwLDQsMCwyNSwxMDMsMSwwLDEyNCwyLDAsOTUsOSwwLDEyNCwwLDAsCisgICAgMTI0LDIsMCw5NSwxMCwwLDEyNCwyLDAsMTA2LDExLDAsMTI0LDIsMCw5NSwKKyAgICAxMiwwLDEyNCwzLDAsMTE1LDE3MywwLDEyNCwyLDAsMTA2LDEyLDAsMTA2LDEzLAorICAgIDAsMTAwLDUsMCwxMzEsMSwwLDEwMCw0LDAsMjUsMTI0LDIsMCw5NSwxMiwKKyAgICAwLDEyNCwyLDAsODMsNDEsNiwxMjIsMjUsNzYsMTExLDk3LDEwMCwzMiw5NywxMTAsCisgICAgMzIsMTAxLDEyMCwxMTYsMTAxLDExMCwxMTUsMTA1LDExMSwxMTAsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwKKyAgICAxMDEsNDYsNzgsMTIyLDMzLDEwMSwxMjAsMTE2LDEwMSwxMTAsMTE1LDEwNSwxMTEsMTEwLDMyLDEwOSwKKyAgICAxMTEsMTAwLDExNywxMDgsMTAxLDMyLDEwOCwxMTEsOTcsMTAwLDEwMSwxMDAsMzIsMTAyLDExNCwxMTEsCisgICAgMTA5LDMyLDEyMywzMywxMTQsMTI1LDExNCwyNDYsMCwwLDAsMTE0LDg0LDAsMCwwLAorICAgIDExNCwxMTYsMCwwLDAsNDEsMTQsMTE0LDY5LDAsMCwwLDExNCwxMTQsMCwwLAorICAgIDAsMTE0LDEwNiwwLDAsMCw5MCwxMiwxMDgsMTExLDk3LDEwMCw5NSwxMDAsMTIxLDExMCwKKyAgICA5NywxMDksMTA1LDk5LDExNCwzNSwwLDAsMCwxMTQsMTUzLDAsMCwwLDExNCwyMTksCisgICAgMCwwLDAsMTE0LDYwLDAsMCwwLDExNCwzOCwwLDAsMCwxMTQsMjQ2LDAsCisgICAgMCwwLDExNCwyMDMsMCwwLDAsMTE0LDU3LDAsMCwwLDExNCwyNDksMCwwLAorICAgIDAsMTE0LDMyLDAsMCwwLDQxLDQsMTE0LDcxLDAsMCwwLDExNCwxNTksMCwKKyAgICAwLDAsMTE0LDE3OCwwLDAsMCwxMTQsMjE5LDAsMCwwLDExNCw0LDAsMCwKKyAgICAwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDExNCwzLDEsMCwwLAorICAgIDEzMiw2LDAsMCwxMTUsMjQsMCwwLDAsMCw1LDEzLDEsOSwxLDIxLAorICAgIDEsMTYsMSwxNSwxLDIyLDEsMjUsMSw5LDEsMTIsMSw2LDEsMjUsCisgICAgMSwxMjIsMzEsNjksMTIwLDExNiwxMDEsMTEwLDExNSwxMDUsMTExLDExMCw3MCwxMDUsMTA4LDEwMSwKKyAgICA3NiwxMTEsOTcsMTAwLDEwMSwxMTQsNDYsMTA4LDExMSw5NywxMDAsOTUsMTA5LDExMSwxMDAsMTE3LAorICAgIDEwOCwxMDEsOTksMiwwLDAsMCwwLDAsMCwwLDIsMCwwLDAsNCwKKyAgICAwLDAsMCwzLDAsMCwwLDExNSw0OCwwLDAsMCwxMTYsMCwwLDEyNCwKKyAgICAwLDAsMTA2LDEsMCwxMzEsMSwwLDEwMCwxLDAsMjUsMTM3LDAsMCwxMTYsCisgICAgMiwwLDEzNSwwLDAsMTAyLDEsMCwxMDAsMiwwLDEwMCwzLDAsMTM0LDAsCisgICAgMCwxMTYsMywwLDY4LDEzMSwxLDAsMTMxLDEsMCw4Myw0MSw0LDEyMiw0OSwKKyAgICA4MiwxMDEsMTE2LDExNywxMTQsMTEwLDMyLDg0LDExNCwxMTcsMTAxLDMyLDEwNSwxMDIsMzIsMTE2LAorICAgIDEwNCwxMDEsMzIsMTAxLDEyMCwxMTYsMTAxLDExMCwxMTUsMTA1LDExMSwxMTAsMzIsMTA5LDExMSwxMDAsCisgICAgMTE3LDEwOCwxMDEsMzIsMTA1LDExNSwzMiw5NywzMiwxMTIsOTcsOTksMTA3LDk3LDEwMywxMDEsCisgICAgNDYsMTE0LDI5LDAsMCwwLDk5LDEsMCwwLDAsMCwwLDAsMCwyLAorICAgIDAsMCwwLDQsMCwwLDAsNTEsMCwwLDAsMTE1LDMxLDAsMCwwLAorICAgIDEyNCwwLDAsOTMsMjEsMCwxMjUsMSwwLDEzNiwwLDAsMTAwLDAsMCwxMjQsCisgICAgMSwwLDIzLDEwNywyLDAsODYsMSwxMTMsMywwLDEwMCwxLDAsODMsNDEsCisgICAgMiwxMTQsNzIsMCwwLDAsNzgsMTE0LDQsMCwwLDAsNDEsMiwxMTQsMjIsCisgICAgMCwwLDAsMjE4LDYsMTE1LDExNywxMDIsMTAyLDEwNSwxMjAsNDEsMSwyMTgsOSwxMDIsCisgICAgMTA1LDEwOCwxMDEsOTUsMTEwLDk3LDEwOSwxMDEsMTE0LDQsMCwwLDAsMTE0LDUsMCwKKyAgICAwLDAsMTE0LDc3LDAsMCwwLDE1Myw2LDAsMCwxMTUsMiwwLDAsMCwKKyAgICA2LDEsMTIyLDQ5LDY5LDEyMCwxMTYsMTAxLDExMCwxMTUsMTA1LDExMSwxMTAsNzAsMTA1LDEwOCwKKyAgICAxMDEsNzYsMTExLDk3LDEwMCwxMDEsMTE0LDQ2LDEwNSwxMTUsOTUsMTEyLDk3LDk5LDEwNyw5NywKKyAgICAxMDMsMTAxLDQ2LDYwLDEwOCwxMTEsOTksOTcsMTA4LDExNSw2Miw0Niw2MCwxMDMsMTAxLDExMCwKKyAgICAxMDEsMTIwLDExMiwxMTQsNjIsNDEsNCwxMTQsMzgsMCwwLDAsMTE0LDM1LDAsMCwKKyAgICAwLDExNCw3OCwwLDAsMCwyMTgsMTgsNjksODgsODQsNjksNzgsODMsNzMsNzksCisgICAgNzgsOTUsODMsODUsNzAsNzAsNzMsODgsNjksODMsNDEsMiwxMTQsNzEsMCwwLAorICAgIDAsMTE0LDE1OSwwLDAsMCwxMTQsNCwwLDAsMCw0MSwxLDExNCw1OCwxLAorICAgIDAsMCwxMTQsNSwwLDAsMCwxMTQsMjE5LDAsMCwwLDE1MCw2LDAsMCwKKyAgICAxMTUsNiwwLDAsMCwwLDIsMTksMSwxOCwxLDEyMiwzMCw2OSwxMjAsMTE2LAogICAgIDEwMSwxMTAsMTE1LDEwNSwxMTEsMTEwLDcwLDEwNSwxMDgsMTAxLDc2LDExMSw5NywxMDAsMTAxLDExNCwKLSAgICA0NiwxMDMsMTAxLDExNiw5NSwxMDIsMTA1LDEwOCwxMDEsMTEwLDk3LDEwOSwxMDEsNzgsNDEsMTMsCi0gICAgMTE0LDU3LDAsMCwwLDExNCw1NiwwLDAsMCwxMTQsNTgsMCwwLDAsMTE0LAotICAgIDU5LDAsMCwwLDExNCw3MiwwLDAsMCwxMTQsMjMwLDAsMCwwLDExNCw1MSwKLSAgICAxLDAsMCwxMTQsMTU3LDAsMCwwLDExNCw1LDEsMCwwLDExNCwyMjAsMCwKLSAgICAwLDAsMTE0LDE2LDEsMCwwLDExNCwxNywxLDAsMCwxMTQsMjM5LDAsMCwKLSAgICAwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLAotICAgIDExNCw1LDAsMCwwLDExNCw1NywxLDAsMCwxNTMsNiwwLDAsMTE1LDE4LAotICAgIDAsMCwwLDEyLDYsNiwyLDEyLDQsMTIsNCwxMiwzLDE4LDE4LDEyLAotICAgIDYsMTIsNCwxMiw0LDExNCw1NywxLDAsMCw5OSwwLDAsMCwwLDAsCi0gICAgMCwwLDAsMCwwLDAsMCwyLDAsMCwwLDY0LDAsMCwwLDExNSwKLSAgICAxMzAsMCwwLDAsMTAxLDAsMCw5MCwxLDAsMTAwLDAsMCw5MCwyLDAsCi0gICAgMTAwLDEsMCw5MCwzLDAsMTAwLDIsMCwxMDAsMywwLDEzMiwwLDAsOTAsCi0gICAgNCwwLDEwMCw0LDAsMTAwLDUsMCwxMzIsMCwwLDkwLDUsMCwxMDAsNiwKLSAgICAwLDEwMCw3LDAsMTMyLDAsMCw5MCw2LDAsMTAwLDgsMCwxMDAsOSwwLAotICAgIDEzMiwwLDAsOTAsNywwLDEwMCwxMCwwLDEwMCwxMSwwLDEzMiwwLDAsOTAsCi0gICAgOCwwLDEwMCwxMiwwLDEwMCwxMywwLDEzMiwwLDAsOTAsOSwwLDEwMCwxNCwKLSAgICAwLDEwMCwxNSwwLDEzMiwwLDAsOTAsMTAsMCwxMDAsMTYsMCwxMDAsMTcsMCwKLSAgICAxMzIsMCwwLDkwLDExLDAsMTAwLDE4LDAsMTAwLDE5LDAsMTMyLDAsMCw5MCwKLSAgICAxMiwwLDEwMCwyMCwwLDgzLDQxLDIxLDIxOCwxNCw5NSw3OCw5NywxMDksMTAxLDExNSwKLSAgICAxMTIsOTcsOTksMTAxLDgwLDk3LDExNiwxMDQsOTcsMzgsMSwwLDAsODIsMTAxLDExMiwKLSAgICAxMTQsMTAxLDExNSwxMDEsMTEwLDExNiwxMTUsMzIsOTcsMzIsMTEwLDk3LDEwOSwxMDEsMTE1LDExMiwKLSAgICA5Nyw5OSwxMDEsMzIsMTEyLDk3LDk5LDEwNyw5NywxMDMsMTAxLDM5LDExNSwzMiwxMTIsOTcsCi0gICAgMTE2LDEwNCw0NiwzMiwzMiw3MywxMTYsMzIsMTE3LDExNSwxMDEsMTE1LDMyLDExNiwxMDQsMTAxLAotICAgIDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDMyLDExMCw5NywxMDksMTAxLDEwLDMyLDMyLDMyLAotICAgIDMyLDExNiwxMTEsMzIsMTAyLDEwNSwxMTAsMTAwLDMyLDEwNSwxMTYsMTE1LDMyLDExMiw5NywxMTQsCi0gICAgMTAxLDExMCwxMTYsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsNDQsMzIsOTcsMTEwLDEwMCwzMiwKLSAgICAxMDIsMTE0LDExMSwxMDksMzIsMTE2LDEwNCwxMDEsMTE0LDEwMSwzMiwxMDUsMTE2LDMyLDEwOCwxMTEsCi0gICAgMTExLDEwNywxMTUsMzIsMTE3LDExMiwzMiwxMTYsMTA0LDEwMSwzMiwxMTIsOTcsMTE0LDEwMSwxMTAsCi0gICAgMTE2LDM5LDExNSwxMCwzMiwzMiwzMiwzMiw5NSw5NSwxMTIsOTcsMTE2LDEwNCw5NSw5NSwKLSAgICA0NiwzMiwzMiw4NywxMDQsMTAxLDExMCwzMiwxMTYsMTA0LDEwNSwxMTUsMzIsOTksMTA0LDk3LAotICAgIDExMCwxMDMsMTAxLDExNSw0NCwzMiwxMTYsMTA0LDEwMSwzMiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwKLSAgICAzOSwxMTUsMzIsMTExLDExOSwxMTAsMzIsMTEyLDk3LDExNiwxMDQsMzIsMTA1LDExNSwzMiwxMTQsCi0gICAgMTAxLDk5LDExMSwxMDksMTEyLDExNywxMTYsMTAxLDEwMCw0NCwxMCwzMiwzMiwzMiwzMiwxMTcsCi0gICAgMTE1LDEwNSwxMTAsMTAzLDMyLDExMiw5NywxMTYsMTA0LDk1LDEwMiwxMDUsMTEwLDEwMCwxMDEsMTE0LAotICAgIDQ2LDMyLDMyLDcwLDExMSwxMTQsMzIsMTE2LDExMSwxMTIsNDUsMTA4LDEwMSwxMTgsMTAxLDEwOCwKLSAgICAzMiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwxMTUsNDQsMzIsMTE2LDEwNCwxMDEsMzIsMTEyLDk3LAotICAgIDExNCwxMDEsMTEwLDExNiwzMiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwzOSwxMTUsMzIsMTEyLDk3LAotICAgIDExNiwxMDQsMTAsMzIsMzIsMzIsMzIsMTA1LDExNSwzMiwxMTUsMTIxLDExNSw0NiwxMTIsOTcsCi0gICAgMTE2LDEwNCw0Niw5OSw0LDAsMCwwLDAsMCwwLDAsNCwwLDAsMCwKLSAgICAyLDAsMCwwLDY3LDAsMCwwLDExNSw1MiwwLDAsMCwxMjQsMSwwLAotICAgIDEyNCwwLDAsOTUsMCwwLDEyNCwyLDAsMTI0LDAsMCw5NSwxLDAsMTE2LAotICAgIDIsMCwxMjQsMCwwLDEwNiwzLDAsMTMxLDAsMCwxMzEsMSwwLDEyNCwwLAotICAgIDAsOTUsNCwwLDEyNCwzLDAsMTI0LDAsMCw5NSw1LDAsMTAwLDAsMCwKLSAgICA4Myw0MSwxLDc4LDQxLDYsMTE0LDcwLDAsMCwwLDExNCwyNTQsMCwwLDAsCi0gICAgMTE0LDIzMiwwLDAsMCwyMTgsMTYsOTUsMTAzLDEwMSwxMTYsOTUsMTEyLDk3LDExNCwxMDEsCi0gICAgMTEwLDExNiw5NSwxMTIsOTcsMTE2LDEwNCwyMTgsMTcsOTUsMTA4LDk3LDExNSwxMTYsOTUsMTEyLAotICAgIDk3LDExNCwxMDEsMTEwLDExNiw5NSwxMTIsOTcsMTE2LDEwNCwyMTgsMTIsOTUsMTEyLDk3LDExNiwKLSAgICAxMDQsOTUsMTAyLDEwNSwxMTAsMTAwLDEwMSwxMTQsNDEsNCwxMTQsNzEsMCwwLDAsMTE0LAotICAgIDY3LDAsMCwwLDExNCwzNSwwLDAsMCwyMTgsMTEsMTEyLDk3LDExNiwxMDQsOTUsCi0gICAgMTAyLDEwNSwxMTAsMTAwLDEwMSwxMTQsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsCi0gICAgMTE0LDUsMCwwLDAsMTE0LDcyLDAsMCwwLDIxNyw2LDAsMCwxMTUsOCwKLSAgICAwLDAsMCwwLDEsOSwxLDksMSwyMSwxLDEyMiwyMyw5NSw3OCw5NywKLSAgICAxMDksMTAxLDExNSwxMTIsOTcsOTksMTAxLDgwLDk3LDExNiwxMDQsNDYsOTUsOTUsMTA1LDExMCwKLSAgICAxMDUsMTE2LDk1LDk1LDk5LDEsMCwwLDAsMCwwLDAsMCw0LDAsMCwKLSAgICAwLDMsMCwwLDAsNjcsMCwwLDAsMTE1LDUzLDAsMCwwLDEyNCwwLAotICAgIDAsMTA2LDAsMCwxMDYsMSwwLDEwMCwxLDAsMTMxLDEsMCw5MiwzLDAsCi0gICAgMTI1LDEsMCwxMjUsMiwwLDEyNSwzLDAsMTI0LDIsMCwxMDAsMiwwLDEwNywKLSAgICAyLDAsMTE0LDQzLDAsMTAwLDYsMCw4MywxMjQsMSwwLDEwMCw1LDAsMTAyLAotICAgIDIsMCw4Myw0MSw3LDEyMiw2Miw4MiwxMDEsMTE2LDExNywxMTQsMTEwLDExNSwzMiw5NywKLSAgICAzMiwxMTYsMTE3LDExMiwxMDgsMTAxLDMyLDExMSwxMDIsMzIsNDAsMTEyLDk3LDExNCwxMDEsMTEwLAotICAgIDExNiw0NSwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSw0NSwxMTAsOTcsMTA5LDEwMSw0NCwzMiwxMTIsCi0gICAgOTcsMTE0LDEwMSwxMTAsMTE2LDQ1LDExMiw5NywxMTYsMTA0LDQ1LDk3LDExNiwxMTYsMTE0LDQ1LAotICAgIDExMCw5NywxMDksMTAxLDQxLDExNCwxMTYsMCwwLDAsMTE0LDMwLDAsMCwwLDExNCwKLSAgICA3LDAsMCwwLDExNCwzNSwwLDAsMCwxMTQsMjQ3LDAsMCwwLDQxLDIsCi0gICAgMTIyLDMsMTE1LDEyMSwxMTUsMTIyLDQsMTEyLDk3LDExNiwxMDQsNDEsMiwxMTQsNzAsMCwKLSAgICAwLDAsMTE0LDMyLDAsMCwwLDQxLDQsMTE0LDcxLDAsMCwwLDExNCwyMzQsCi0gICAgMCwwLDAsMjE4LDMsMTAwLDExMSwxMTYsMTE0LDk0LDAsMCwwLDExNCw0LDAsCi0gICAgMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDIxOCwyMyw5NSwxMDIsCi0gICAgMTA1LDExMCwxMDAsOTUsMTEyLDk3LDExNCwxMDEsMTEwLDExNiw5NSwxMTIsOTcsMTE2LDEwNCw5NSwKLSAgICAxMTAsOTcsMTA5LDEwMSwxMTUsMjIzLDYsMCwwLDExNSw4LDAsMCwwLDAsMiwKLSAgICAyNywxLDEyLDIsNCwzLDEyMiwzOCw5NSw3OCw5NywxMDksMTAxLDExNSwxMTIsOTcsCi0gICAgOTksMTAxLDgwLDk3LDExNiwxMDQsNDYsOTUsMTAyLDEwNSwxMTAsMTAwLDk1LDExMiw5NywxMTQsCi0gICAgMTAxLDExMCwxMTYsOTUsMTEyLDk3LDExNiwxMDQsOTUsMTEwLDk3LDEwOSwxMDEsMTE1LDk5LDEsCi0gICAgMCwwLDAsMCwwLDAsMCwzLDAsMCwwLDMsMCwwLDAsNjcsCi0gICAgMCwwLDAsMTE1LDM4LDAsMCwwLDEyNCwwLDAsMTA2LDAsMCwxMzEsMCwKLSAgICAwLDkyLDIsMCwxMjUsMSwwLDEyNSwyLDAsMTE2LDEsMCwxMTYsMiwwLAotICAgIDEwNiwzLDAsMTI0LDEsMCwyNSwxMjQsMiwwLDEzMSwyLDAsODMsNDEsMSwKLSAgICA3OCw0MSw0LDExNCw2NywxLDAsMCwxMTQsNjIsMCwwLDAsMTE0LDcsMCwKLSAgICAwLDAsMTE0LDczLDAsMCwwLDQxLDMsMTE0LDcxLDAsMCwwLDkwLDE4LAotICAgIDExMiw5NywxMTQsMTAxLDExMCwxMTYsOTUsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsOTUsMTEwLDk3LAotICAgIDEwOSwxMDEsOTAsMTQsMTEyLDk3LDExNiwxMDQsOTUsOTcsMTE2LDExNiwxMTQsOTUsMTEwLDk3LAotICAgIDEwOSwxMDEsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLAotICAgIDAsMTE0LDYyLDEsMCwwLDIzMyw2LDAsMCwxMTUsNCwwLDAsMCwwLAotICAgIDEsMTgsMSwxMjIsMzEsOTUsNzgsOTcsMTA5LDEwMSwxMTUsMTEyLDk3LDk5LDEwMSw4MCwKLSAgICA5NywxMTYsMTA0LDQ2LDk1LDEwMywxMDEsMTE2LDk1LDExMiw5NywxMTQsMTAxLDExMCwxMTYsOTUsCi0gICAgMTEyLDk3LDExNiwxMDQsOTksMSwwLDAsMCwwLDAsMCwwLDMsMCwwLAotICAgIDAsMywwLDAsMCw2NywwLDAsMCwxMTUsMTI3LDAsMCwwLDExNiwwLAotICAgIDAsMTI0LDAsMCwxMDYsMSwwLDEzMSwwLDAsMTMxLDEsMCwxMjUsMSwwLAotICAgIDEyNCwxLDAsMTI0LDAsMCwxMDYsMiwwLDEwNywzLDAsMTE0LDEyMCwwLDEyNCwKLSAgICAwLDAsMTA2LDMsMCwxMjQsMCwwLDEwNiw0LDAsMTI0LDEsMCwxMzEsMiwKLSAgICAwLDEyNSwyLDAsMTI0LDIsMCwxMDAsMCwwLDEwNyw5LDAsMTE0LDEwOCwwLAotICAgIDEyNCwyLDAsMTA2LDUsMCwxMDAsMCwwLDEwNyw4LDAsMTE0LDEwOCwwLDEyNCwKLSAgICAyLDAsMTA2LDYsMCwxMTQsMTA4LDAsMTI0LDIsMCwxMDYsNiwwLDEyNCwwLAotICAgIDAsOTUsNywwLDExMywxMDgsMCwxMTAsMCwwLDEyNCwxLDAsMTI0LDAsMCwKLSAgICA5NSwyLDAsMTEwLDAsMCwxMjQsMCwwLDEwNiw3LDAsODMsNDEsMSw3OCwKLSAgICA0MSw4LDExNCwyMzIsMCwwLDAsMTE0LDYyLDEsMCwwLDExNCw2MywxLDAsCi0gICAgMCwxMTQsNjQsMSwwLDAsMTE0LDcwLDAsMCwwLDExNCwxNzAsMCwwLDAsCi0gICAgMTE0LDIyMSwwLDAsMCwxMTQsMjU0LDAsMCwwLDQxLDMsMTE0LDcxLDAsMCwKLSAgICAwLDkwLDExLDExMiw5NywxMTQsMTAxLDExMCwxMTYsOTUsMTEyLDk3LDExNiwxMDQsMTE0LDE3OCwKKyAgICA0NiwxMDUsMTE1LDk1LDExMiw5Nyw5OSwxMDcsOTcsMTAzLDEwMSw5OSwyLDAsMCwwLAorICAgIDAsMCwwLDAsMiwwLDAsMCwxLDAsMCwwLDY3LDAsMCwwLAorICAgIDExNSw0LDAsMCwwLDEwMCwxLDAsODMsNDEsMiwxMjIsNjMsODIsMTAxLDExNiwKKyAgICAxMTcsMTE0LDExMCwzMiw3OCwxMTEsMTEwLDEwMSwzMiw5NywxMTUsMzIsOTcsMTEwLDMyLDEwMSwKKyAgICAxMjAsMTE2LDEwMSwxMTAsMTE1LDEwNSwxMTEsMTEwLDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDMyLAorICAgIDk5LDk3LDExMCwxMTAsMTExLDExNiwzMiw5OSwxMTQsMTAxLDk3LDExNiwxMDEsMzIsOTcsMzIsCisgICAgOTksMTExLDEwMCwxMDEsMzIsMTExLDk4LDEwNiwxMDEsOTksMTE2LDQ2LDc4LDExNCw0LDAsCisgICAgMCwwLDQxLDIsMTE0LDcxLDAsMCwwLDExNCwxNTksMCwwLDAsMTE0LDQsCisgICAgMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsMTE0LDE0LDEsCisgICAgMCwwLDE1Niw2LDAsMCwxMTUsMiwwLDAsMCwwLDIsMTIyLDI4LDY5LAorICAgIDEyMCwxMTYsMTAxLDExMCwxMTUsMTA1LDExMSwxMTAsNzAsMTA1LDEwOCwxMDEsNzYsMTExLDk3LDEwMCwKKyAgICAxMDEsMTE0LDQ2LDEwMywxMDEsMTE2LDk1LDk5LDExMSwxMDAsMTAxLDk5LDIsMCwwLDAsCisgICAgMCwwLDAsMCwyLDAsMCwwLDEsMCwwLDAsNjcsMCwwLDAsCisgICAgMTE1LDQsMCwwLDAsMTAwLDEsMCw4Myw0MSwyLDEyMiw1Myw4MiwxMDEsMTE2LAorICAgIDExNywxMTQsMTEwLDMyLDc4LDExMSwxMTAsMTAxLDMyLDk3LDExNSwzMiwxMDEsMTIwLDExNiwxMDEsCisgICAgMTEwLDExNSwxMDUsMTExLDExMCwzMiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwxMTUsMzIsMTA0LDk3LAorICAgIDExOCwxMDEsMzIsMTEwLDExMSwzMiwxMTUsMTExLDExNywxMTQsOTksMTAxLDMyLDk5LDExMSwxMDAsCisgICAgMTAxLDQ2LDc4LDExNCw0LDAsMCwwLDQxLDIsMTE0LDcxLDAsMCwwLDExNCwKKyAgICAxNTksMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsCisgICAgMCwwLDAsMTE0LDE1LDEsMCwwLDE2MCw2LDAsMCwxMTUsMiwwLDAsCisgICAgMCwwLDIsMTIyLDMwLDY5LDEyMCwxMTYsMTAxLDExMCwxMTUsMTA1LDExMSwxMTAsNzAsMTA1LAorICAgIDEwOCwxMDEsNzYsMTExLDk3LDEwMCwxMDEsMTE0LDQ2LDEwMywxMDEsMTE2LDk1LDExNSwxMTEsMTE3LAorICAgIDExNCw5OSwxMDEsOTksMiwwLDAsMCwwLDAsMCwwLDIsMCwwLDAsCisgICAgMSwwLDAsMCw2NywwLDAsMCwxMTUsNywwLDAsMCwxMjQsMCwwLAorICAgIDEwNiwwLDAsODMsNDEsMSwxMjIsNTgsODIsMTAxLDExNiwxMTcsMTE0LDExMCwzMiwxMTYsCisgICAgMTA0LDEwMSwzMiwxMTIsOTcsMTE2LDEwNCwzMiwxMTYsMTExLDMyLDExNiwxMDQsMTAxLDMyLDExNSwKKyAgICAxMTEsMTE3LDExNCw5OSwxMDEsMzIsMTAyLDEwNSwxMDgsMTAxLDMyLDk3LDExNSwzMiwxMDIsMTExLAorICAgIDExNywxMTAsMTAwLDMyLDk4LDEyMSwzMiwxMTYsMTA0LDEwMSwzMiwxMDIsMTA1LDExMCwxMDAsMTAxLAorICAgIDExNCw0Niw0MSwxLDExNCwzNSwwLDAsMCw0MSwyLDExNCw3MSwwLDAsMCwKKyAgICAxMTQsMTU5LDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCwKKyAgICA1LDAsMCwwLDExNCwyMzgsMCwwLDAsMTY0LDYsMCwwLDExNSwyLDAsCisgICAgMCwwLDAsMywxMjIsMzIsNjksMTIwLDExNiwxMDEsMTEwLDExNSwxMDUsMTExLDExMCw3MCwKKyAgICAxMDUsMTA4LDEwMSw3NiwxMTEsOTcsMTAwLDEwMSwxMTQsNDYsMTAzLDEwMSwxMTYsOTUsMTAyLDEwNSwKKyAgICAxMDgsMTAxLDExMCw5NywxMDksMTAxLDc4LDQxLDEzLDExNCw1NywwLDAsMCwxMTQsNTYsCisgICAgMCwwLDAsMTE0LDU4LDAsMCwwLDExNCw1OSwwLDAsMCwxMTQsNzIsMCwKKyAgICAwLDAsMTE0LDIyOSwwLDAsMCwxMTQsNTAsMSwwLDAsMTE0LDE1NywwLDAsCisgICAgMCwxMTQsMywxLDAsMCwxMTQsMjE5LDAsMCwwLDExNCwxNCwxLDAsMCwKKyAgICAxMTQsMTUsMSwwLDAsMTE0LDIzOCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsCisgICAgNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsNTYsCisgICAgMSwwLDAsMTEzLDYsMCwwLDExNSwxOCwwLDAsMCwxMiw2LDYsMiwKKyAgICAxMiw0LDEyLDQsMTIsMywxOCwxOCwxMiw2LDEyLDQsMTIsNCwxMTQsNTYsCisgICAgMSwwLDAsOTksMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsCisgICAgMiwwLDAsMCw2NCwwLDAsMCwxMTUsMTMwLDAsMCwwLDEwMSwwLDAsCisgICAgOTAsMSwwLDEwMCwwLDAsOTAsMiwwLDEwMCwxLDAsOTAsMywwLDEwMCwKKyAgICAyLDAsMTAwLDMsMCwxMzIsMCwwLDkwLDQsMCwxMDAsNCwwLDEwMCw1LAorICAgIDAsMTMyLDAsMCw5MCw1LDAsMTAwLDYsMCwxMDAsNywwLDEzMiwwLDAsCisgICAgOTAsNiwwLDEwMCw4LDAsMTAwLDksMCwxMzIsMCwwLDkwLDcsMCwxMDAsCisgICAgMTAsMCwxMDAsMTEsMCwxMzIsMCwwLDkwLDgsMCwxMDAsMTIsMCwxMDAsMTMsCisgICAgMCwxMzIsMCwwLDkwLDksMCwxMDAsMTQsMCwxMDAsMTUsMCwxMzIsMCwwLAorICAgIDkwLDEwLDAsMTAwLDE2LDAsMTAwLDE3LDAsMTMyLDAsMCw5MCwxMSwwLDEwMCwKKyAgICAxOCwwLDEwMCwxOSwwLDEzMiwwLDAsOTAsMTIsMCwxMDAsMjAsMCw4Myw0MSwKKyAgICAyMSwyMTgsMTQsOTUsNzgsOTcsMTA5LDEwMSwxMTUsMTEyLDk3LDk5LDEwMSw4MCw5NywxMTYsCisgICAgMTA0LDk3LDM4LDEsMCwwLDgyLDEwMSwxMTIsMTE0LDEwMSwxMTUsMTAxLDExMCwxMTYsMTE1LAorICAgIDMyLDk3LDMyLDExMCw5NywxMDksMTAxLDExNSwxMTIsOTcsOTksMTAxLDMyLDExMiw5Nyw5OSwKKyAgICAxMDcsOTcsMTAzLDEwMSwzOSwxMTUsMzIsMTEyLDk3LDExNiwxMDQsNDYsMzIsMzIsNzMsMTE2LAorICAgIDMyLDExNywxMTUsMTAxLDExNSwzMiwxMTYsMTA0LDEwMSwzMiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwKKyAgICAzMiwxMTAsOTcsMTA5LDEwMSwxMCwzMiwzMiwzMiwzMiwxMTYsMTExLDMyLDEwMiwxMDUsMTEwLAorICAgIDEwMCwzMiwxMDUsMTE2LDExNSwzMiwxMTIsOTcsMTE0LDEwMSwxMTAsMTE2LDMyLDEwOSwxMTEsMTAwLAorICAgIDExNywxMDgsMTAxLDQ0LDMyLDk3LDExMCwxMDAsMzIsMTAyLDExNCwxMTEsMTA5LDMyLDExNiwxMDQsCisgICAgMTAxLDExNCwxMDEsMzIsMTA1LDExNiwzMiwxMDgsMTExLDExMSwxMDcsMTE1LDMyLDExNywxMTIsMzIsCisgICAgMTE2LDEwNCwxMDEsMzIsMTEyLDk3LDExNCwxMDEsMTEwLDExNiwzOSwxMTUsMTAsMzIsMzIsMzIsCisgICAgMzIsOTUsOTUsMTEyLDk3LDExNiwxMDQsOTUsOTUsNDYsMzIsMzIsODcsMTA0LDEwMSwxMTAsCisgICAgMzIsMTE2LDEwNCwxMDUsMTE1LDMyLDk5LDEwNCw5NywxMTAsMTAzLDEwMSwxMTUsNDQsMzIsMTE2LAorICAgIDEwNCwxMDEsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMzksMTE1LDMyLDExMSwxMTksMTEwLDMyLAorICAgIDExMiw5NywxMTYsMTA0LDMyLDEwNSwxMTUsMzIsMTE0LDEwMSw5OSwxMTEsMTA5LDExMiwxMTcsMTE2LAorICAgIDEwMSwxMDAsNDQsMTAsMzIsMzIsMzIsMzIsMTE3LDExNSwxMDUsMTEwLDEwMywzMiwxMTIsOTcsCisgICAgMTE2LDEwNCw5NSwxMDIsMTA1LDExMCwxMDAsMTAxLDExNCw0NiwzMiwzMiw3MCwxMTEsMTE0LDMyLAorICAgIDExNiwxMTEsMTEyLDQ1LDEwOCwxMDEsMTE4LDEwMSwxMDgsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsCisgICAgMTE1LDQ0LDMyLDExNiwxMDQsMTAxLDMyLDExMiw5NywxMTQsMTAxLDExMCwxMTYsMzIsMTA5LDExMSwKKyAgICAxMDAsMTE3LDEwOCwxMDEsMzksMTE1LDMyLDExMiw5NywxMTYsMTA0LDEwLDMyLDMyLDMyLDMyLAorICAgIDEwNSwxMTUsMzIsMTE1LDEyMSwxMTUsNDYsMTEyLDk3LDExNiwxMDQsNDYsOTksNCwwLDAsCisgICAgMCwwLDAsMCwwLDQsMCwwLDAsMiwwLDAsMCw2NywwLDAsCisgICAgMCwxMTUsNTIsMCwwLDAsMTI0LDEsMCwxMjQsMCwwLDk1LDAsMCwxMjQsCisgICAgMiwwLDEyNCwwLDAsOTUsMSwwLDExNiwyLDAsMTI0LDAsMCwxMDYsMywKKyAgICAwLDEzMSwwLDAsMTMxLDEsMCwxMjQsMCwwLDk1LDQsMCwxMjQsMywwLAorICAgIDEyNCwwLDAsOTUsNSwwLDEwMCwwLDAsODMsNDEsMSw3OCw0MSw2LDExNCwKKyAgICA3MCwwLDAsMCwxMTQsMjUyLDAsMCwwLDExNCwyMzEsMCwwLDAsMjE4LDE2LAorICAgIDk1LDEwMywxMDEsMTE2LDk1LDExMiw5NywxMTQsMTAxLDExMCwxMTYsOTUsMTEyLDk3LDExNiwxMDQsCisgICAgMjE4LDE3LDk1LDEwOCw5NywxMTUsMTE2LDk1LDExMiw5NywxMTQsMTAxLDExMCwxMTYsOTUsMTEyLAorICAgIDk3LDExNiwxMDQsMjE4LDEyLDk1LDExMiw5NywxMTYsMTA0LDk1LDEwMiwxMDUsMTEwLDEwMCwxMDEsCisgICAgMTE0LDQxLDQsMTE0LDcxLDAsMCwwLDExNCw2NywwLDAsMCwxMTQsMzUsMCwKKyAgICAwLDAsMjE4LDExLDExMiw5NywxMTYsMTA0LDk1LDEwMiwxMDUsMTEwLDEwMCwxMDEsMTE0LDExNCwKKyAgICA0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDExNCw3MiwKKyAgICAwLDAsMCwxNzcsNiwwLDAsMTE1LDgsMCwwLDAsMCwxLDksMSwKKyAgICA5LDEsMjEsMSwxMjIsMjMsOTUsNzgsOTcsMTA5LDEwMSwxMTUsMTEyLDk3LDk5LDEwMSwKKyAgICA4MCw5NywxMTYsMTA0LDQ2LDk1LDk1LDEwNSwxMTAsMTA1LDExNiw5NSw5NSw5OSwxLDAsCisgICAgMCwwLDAsMCwwLDAsNCwwLDAsMCwzLDAsMCwwLDY3LDAsCisgICAgMCwwLDExNSw1MywwLDAsMCwxMjQsMCwwLDEwNiwwLDAsMTA2LDEsMCwKKyAgICAxMDAsMSwwLDEzMSwxLDAsOTIsMywwLDEyNSwxLDAsMTI1LDIsMCwxMjUsCisgICAgMywwLDEyNCwyLDAsMTAwLDIsMCwxMDcsMiwwLDExNCw0MywwLDEwMCw2LAorICAgIDAsODMsMTI0LDEsMCwxMDAsNSwwLDEwMiwyLDAsODMsNDEsNywxMjIsNjIsCisgICAgODIsMTAxLDExNiwxMTcsMTE0LDExMCwxMTUsMzIsOTcsMzIsMTE2LDExNywxMTIsMTA4LDEwMSwzMiwKKyAgICAxMTEsMTAyLDMyLDQwLDExMiw5NywxMTQsMTAxLDExMCwxMTYsNDUsMTA5LDExMSwxMDAsMTE3LDEwOCwKKyAgICAxMDEsNDUsMTEwLDk3LDEwOSwxMDEsNDQsMzIsMTEyLDk3LDExNCwxMDEsMTEwLDExNiw0NSwxMTIsCisgICAgOTcsMTE2LDEwNCw0NSw5NywxMTYsMTE2LDExNCw0NSwxMTAsOTcsMTA5LDEwMSw0MSwxMTQsMTE2LAorICAgIDAsMCwwLDExNCwzMCwwLDAsMCwxMTQsNywwLDAsMCwxMTQsMzUsMCwKKyAgICAwLDAsMTE0LDI0NiwwLDAsMCw0MSwyLDEyMiwzLDExNSwxMjEsMTE1LDEyMiw0LAorICAgIDExMiw5NywxMTYsMTA0LDQxLDIsMTE0LDcwLDAsMCwwLDExNCwzMiwwLDAsMCwKKyAgICA0MSw0LDExNCw3MSwwLDAsMCwxMTQsMjMzLDAsMCwwLDIxOCwzLDEwMCwxMTEsCisgICAgMTE2LDExNCw5NCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwKKyAgICAxMTQsNSwwLDAsMCwyMTgsMjMsOTUsMTAyLDEwNSwxMTAsMTAwLDk1LDExMiw5NywxMTQsCisgICAgMTAxLDExMCwxMTYsOTUsMTEyLDk3LDExNiwxMDQsOTUsMTEwLDk3LDEwOSwxMDEsMTE1LDE4Myw2LAorICAgIDAsMCwxMTUsOCwwLDAsMCwwLDIsMjcsMSwxMiwyLDQsMywxMjIsCisgICAgMzgsOTUsNzgsOTcsMTA5LDEwMSwxMTUsMTEyLDk3LDk5LDEwMSw4MCw5NywxMTYsMTA0LDQ2LAorICAgIDk1LDEwMiwxMDUsMTEwLDEwMCw5NSwxMTIsOTcsMTE0LDEwMSwxMTAsMTE2LDk1LDExMiw5NywxMTYsCisgICAgMTA0LDk1LDExMCw5NywxMDksMTAxLDExNSw5OSwxLDAsMCwwLDAsMCwwLDAsCisgICAgMywwLDAsMCwzLDAsMCwwLDY3LDAsMCwwLDExNSwzOCwwLDAsCisgICAgMCwxMjQsMCwwLDEwNiwwLDAsMTMxLDAsMCw5MiwyLDAsMTI1LDEsMCwKKyAgICAxMjUsMiwwLDExNiwxLDAsMTE2LDIsMCwxMDYsMywwLDEyNCwxLDAsMjUsCisgICAgMTI0LDIsMCwxMzEsMiwwLDgzLDQxLDEsNzgsNDEsNCwxMTQsNjYsMSwwLAorICAgIDAsMTE0LDYyLDAsMCwwLDExNCw3LDAsMCwwLDExNCw3MywwLDAsMCwKKyAgICA0MSwzLDExNCw3MSwwLDAsMCw5MCwxOCwxMTIsOTcsMTE0LDEwMSwxMTAsMTE2LDk1LAorICAgIDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDk1LDExMCw5NywxMDksMTAxLDkwLDE0LDExMiw5NywxMTYsCisgICAgMTA0LDk1LDk3LDExNiwxMTYsMTE0LDk1LDExMCw5NywxMDksMTAxLDExNCw0LDAsMCwwLAorICAgIDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDExNCw2MSwxLDAsMCwxOTMsCisgICAgNiwwLDAsMTE1LDQsMCwwLDAsMCwxLDE4LDEsMTIyLDMxLDk1LDc4LAorICAgIDk3LDEwOSwxMDEsMTE1LDExMiw5Nyw5OSwxMDEsODAsOTcsMTE2LDEwNCw0Niw5NSwxMDMsMTAxLAorICAgIDExNiw5NSwxMTIsOTcsMTE0LDEwMSwxMTAsMTE2LDk1LDExMiw5NywxMTYsMTA0LDk5LDEsMCwKKyAgICAwLDAsMCwwLDAsMCwzLDAsMCwwLDMsMCwwLDAsNjcsMCwKKyAgICAwLDAsMTE1LDExOCwwLDAsMCwxMTYsMCwwLDEyNCwwLDAsMTA2LDEsMCwKKyAgICAxMzEsMCwwLDEzMSwxLDAsMTI1LDEsMCwxMjQsMSwwLDEyNCwwLDAsMTA2LAorICAgIDIsMCwxMDcsMywwLDExNCwxMTEsMCwxMjQsMCwwLDEwNiwzLDAsMTI0LDAsCisgICAgMCwxMDYsNCwwLDEyNCwxLDAsMTMxLDIsMCwxMjUsMiwwLDEyNCwyLDAsCisgICAgMTAwLDAsMCwxMDcsOSwwLDExNCwxMDIsMCwxMjQsMiwwLDEwNiw1LDAsMTAwLAorICAgIDAsMCwxMDcsOCwwLDExNCwxMDIsMCwxMjQsMiwwLDEwNiw2LDAsMTE0LDEwMiwKKyAgICAwLDEyNCwyLDAsMTA2LDYsMCwxMjQsMCwwLDk1LDcsMCwxMjQsMSwwLAorICAgIDEyNCwwLDAsOTUsMiwwLDEyNCwwLDAsMTA2LDcsMCw4Myw0MSwxLDc4LAorICAgIDQxLDgsMTE0LDIzMSwwLDAsMCwxMTQsNjEsMSwwLDAsMTE0LDYyLDEsMCwKKyAgICAwLDExNCw2MywxLDAsMCwxMTQsNzAsMCwwLDAsMTE0LDE3MCwwLDAsMCwKKyAgICAxMTQsMjIwLDAsMCwwLDExNCwyNTIsMCwwLDAsNDEsMywxMTQsNzEsMCwwLAorICAgIDAsOTAsMTEsMTEyLDk3LDExNCwxMDEsMTEwLDExNiw5NSwxMTIsOTcsMTE2LDEwNCwxMTQsMTc3LAogICAgIDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsCiAgICAgMCwwLDIxOCwxMiw5NSwxMTQsMTAxLDk5LDk3LDEwOCw5OSwxMTcsMTA4LDk3LDExNiwxMDEsCi0gICAgMjM3LDYsMCwwLDExNSwxNiwwLDAsMCwwLDIsMTgsMSwxNSwxLDIxLAotICAgIDMsMjcsMSw5LDEsMTgsMSwxMiwxLDEyMiwyNyw5NSw3OCw5NywxMDksMTAxLAorICAgIDE5Nyw2LDAsMCwxMTUsMTYsMCwwLDAsMCwyLDE4LDEsMTUsMSwyMSwKKyAgICAzLDI3LDEsOSwxLDEyLDEsOSwxLDEyMiwyNyw5NSw3OCw5NywxMDksMTAxLAogICAgIDExNSwxMTIsOTcsOTksMTAxLDgwLDk3LDExNiwxMDQsNDYsOTUsMTE0LDEwMSw5OSw5NywxMDgsCiAgICAgOTksMTE3LDEwOCw5NywxMTYsMTAxLDk5LDEsMCwwLDAsMCwwLDAsMCwxLAogICAgIDAsMCwwLDIsMCwwLDAsNjcsMCwwLDAsMTE1LDE2LDAsMCwwLAogICAgIDExNiwwLDAsMTI0LDAsMCwxMDYsMSwwLDEzMSwwLDAsMTMxLDEsMCw4MywKLSAgICA0MSwxLDc4LDQxLDIsMjE4LDQsMTA1LDExNiwxMDEsMTE0LDExNCw2OCwxLDAsMCwKKyAgICA0MSwxLDc4LDQxLDIsMjE4LDQsMTA1LDExNiwxMDEsMTE0LDExNCw2NywxLDAsMCwKICAgICA0MSwxLDExNCw3MSwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsCiAgICAgMCwxMTQsNSwwLDAsMCwyMTgsOCw5NSw5NSwxMDUsMTE2LDEwMSwxMTQsOTUsOTUsCi0gICAgMjUwLDYsMCwwLDExNSwyLDAsMCwwLDAsMSwxMjIsMjMsOTUsNzgsOTcsCisgICAgMjEwLDYsMCwwLDExNSwyLDAsMCwwLDAsMSwxMjIsMjMsOTUsNzgsOTcsCiAgICAgMTA5LDEwMSwxMTUsMTEyLDk3LDk5LDEwMSw4MCw5NywxMTYsMTA0LDQ2LDk1LDk1LDEwNSwxMTYsCiAgICAgMTAxLDExNCw5NSw5NSw5OSwxLDAsMCwwLDAsMCwwLDAsMSwwLDAsCiAgICAgMCwyLDAsMCwwLDY3LDAsMCwwLDExNSwxNiwwLDAsMCwxMTYsMCwKICAgICAwLDEyNCwwLDAsMTA2LDEsMCwxMzEsMCwwLDEzMSwxLDAsODMsNDEsMSwKLSAgICA3OCw0MSwyLDExNCwzMSwwLDAsMCwxMTQsNjgsMSwwLDAsNDEsMSwxMTQsCisgICAgNzgsNDEsMiwxMTQsMzEsMCwwLDAsMTE0LDY3LDEsMCwwLDQxLDEsMTE0LAogICAgIDcxLDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LAotICAgIDAsMCwwLDIxOCw3LDk1LDk1LDEwOCwxMDEsMTEwLDk1LDk1LDI1Myw2LDAsMCwKKyAgICAwLDAsMCwyMTgsNyw5NSw5NSwxMDgsMTAxLDExMCw5NSw5NSwyMTMsNiwwLDAsCiAgICAgMTE1LDIsMCwwLDAsMCwxLDEyMiwyMiw5NSw3OCw5NywxMDksMTAxLDExNSwxMTIsCiAgICAgOTcsOTksMTAxLDgwLDk3LDExNiwxMDQsNDYsOTUsOTUsMTA4LDEwMSwxMTAsOTUsOTUsOTksCiAgICAgMSwwLDAsMCwwLDAsMCwwLDEsMCwwLDAsMiwwLDAsMCwKICAgICA2NywwLDAsMCwxMTUsMTYsMCwwLDAsMTAwLDEsMCwxMDYsMCwwLDEyNCwKICAgICAwLDAsMTA2LDEsMCwxMzEsMSwwLDgzLDQxLDIsNzgsMTIyLDIwLDk1LDc4LAogICAgIDk3LDEwOSwxMDEsMTE1LDExMiw5Nyw5OSwxMDEsODAsOTcsMTE2LDEwNCw0MCwxMjMsMzMsMTE0LAotICAgIDEyNSw0MSw0MSwyLDExNCw0NywwLDAsMCwxMTQsMjU0LDAsMCwwLDQxLDEsCisgICAgMTI1LDQxLDQxLDIsMTE0LDQ3LDAsMCwwLDExNCwyNTIsMCwwLDAsNDEsMSwKICAgICAxMTQsNzEsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LAotICAgIDUsMCwwLDAsMTE0LDEwMSwwLDAsMCwwLDcsMCwwLDExNSwyLDAsCisgICAgNSwwLDAsMCwxMTQsMTAxLDAsMCwwLDIxNiw2LDAsMCwxMTUsMiwwLAogICAgIDAsMCwwLDEsMTIyLDIzLDk1LDc4LDk3LDEwOSwxMDEsMTE1LDExMiw5Nyw5OSwxMDEsCiAgICAgODAsOTcsMTE2LDEwNCw0Niw5NSw5NSwxMTQsMTAxLDExMiwxMTQsOTUsOTUsOTksMiwwLAogICAgIDAsMCwwLDAsMCwwLDIsMCwwLDAsMiwwLDAsMCw2NywwLAogICAgIDAsMCwxMTUsMTYsMCwwLDAsMTI0LDEsMCwxMjQsMCwwLDEwNiwwLDAsCi0gICAgMTMxLDAsMCwxMDcsNiwwLDgzLDQxLDEsNzgsNDEsMSwxMTQsNjgsMSwwLAorICAgIDEzMSwwLDAsMTA3LDYsMCw4Myw0MSwxLDc4LDQxLDEsMTE0LDY3LDEsMCwKICAgICAwLDQxLDIsMTE0LDcxLDAsMCwwLDIxOCw0LDEwNSwxMTYsMTAxLDEwOSwxMTQsNCwKICAgICAwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwyMTgsMTIsOTUsCi0gICAgOTUsOTksMTExLDExMCwxMTYsOTcsMTA1LDExMCwxMTUsOTUsOTUsMyw3LDAsMCwxMTUsCisgICAgOTUsOTksMTExLDExMCwxMTYsOTcsMTA1LDExMCwxMTUsOTUsOTUsMjE5LDYsMCwwLDExNSwKICAgICAyLDAsMCwwLDAsMSwxMjIsMjcsOTUsNzgsOTcsMTA5LDEwMSwxMTUsMTEyLDk3LAogICAgIDk5LDEwMSw4MCw5NywxMTYsMTA0LDQ2LDk1LDk1LDk5LDExMSwxMTAsMTE2LDk3LDEwNSwxMTAsCiAgICAgMTE1LDk1LDk1LDk5LDIsMCwwLDAsMCwwLDAsMCwyLDAsMCwwLAogICAgIDIsMCwwLDAsNjcsMCwwLDAsMTE1LDIwLDAsMCwwLDEyNCwwLDAsCiAgICAgMTA2LDAsMCwxMDYsMSwwLDEyNCwxLDAsMTMxLDEsMCwxLDEwMCwwLDAsCi0gICAgODMsNDEsMSw3OCw0MSwyLDExNCwyNTQsMCwwLDAsMTE0LDIyNCwwLDAsMCwKLSAgICA0MSwyLDExNCw3MSwwLDAsMCwxMTQsNzIsMSwwLDAsMTE0LDQsMCwwLAotICAgIDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsMTE0LDIyNCwwLDAsMCwKLSAgICA2LDcsMCwwLDExNSwyLDAsMCwwLDAsMSwxMjIsMjEsOTUsNzgsOTcsCisgICAgODMsNDEsMSw3OCw0MSwyLDExNCwyNTIsMCwwLDAsMTE0LDIyMywwLDAsMCwKKyAgICA0MSwyLDExNCw3MSwwLDAsMCwxMTQsNzEsMSwwLDAsMTE0LDQsMCwwLAorICAgIDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsMTE0LDIyMywwLDAsMCwKKyAgICAyMjIsNiwwLDAsMTE1LDIsMCwwLDAsMCwxLDEyMiwyMSw5NSw3OCw5NywKICAgICAxMDksMTAxLDExNSwxMTIsOTcsOTksMTAxLDgwLDk3LDExNiwxMDQsNDYsOTcsMTEyLDExMiwxMDEsCiAgICAgMTEwLDEwMCw3OCw0MSwxMywxMTQsNTcsMCwwLDAsMTE0LDU2LDAsMCwwLDExNCwKLSAgICA1OCwwLDAsMCwxMTQsNTksMCwwLDAsMTE0LDcyLDAsMCwwLDExNCw2NywKLSAgICAxLDAsMCwxMTQsNjIsMSwwLDAsMTE0LDY4LDEsMCwwLDExNCw3MCwxLAotICAgIDAsMCwxMTQsNzEsMSwwLDAsMTE0LDEwMSwwLDAsMCwxMTQsNzMsMSwwLAotICAgIDAsMTE0LDIyNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwKLSAgICAxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsNjEsMSwwLDAsMjEwLAorICAgIDU4LDAsMCwwLDExNCw1OSwwLDAsMCwxMTQsNzIsMCwwLDAsMTE0LDY2LAorICAgIDEsMCwwLDExNCw2MSwxLDAsMCwxMTQsNjcsMSwwLDAsMTE0LDY5LDEsCisgICAgMCwwLDExNCw3MCwxLDAsMCwxMTQsMTAxLDAsMCwwLDExNCw3MiwxLDAsCisgICAgMCwxMTQsMjIzLDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLAorICAgIDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDExNCw2MCwxLDAsMCwxNzAsCiAgICAgNiwwLDAsMTE1LDIwLDAsMCwwLDEyLDUsNiwyLDEyLDYsMTIsMTAsCi0gICAgMTIsNCwxMiwxMywxMiwzLDEyLDMsMTIsMywxMiwzLDExNCw2MSwxLDAsCisgICAgMTIsNCwxMiwxMywxMiwzLDEyLDMsMTIsMywxMiwzLDExNCw2MCwxLDAsCiAgICAgMCw5OSwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwzLDAsCi0gICAgMCwwLDY0LDAsMCwwLDExNSwxMDYsMCwwLDAsMTAxLDAsMCw5MCwxLAorICAgIDAsMCw2NCwwLDAsMCwxMTUsMTE4LDAsMCwwLDEwMSwwLDAsOTAsMSwKICAgICAwLDEwMCwwLDAsOTAsMiwwLDEwMCwxLDAsMTAwLDIsMCwxMzIsMCwwLAogICAgIDkwLDMsMCwxMDEsNCwwLDEwMCwzLDAsMTAwLDQsMCwxMzIsMCwwLDEzMSwKICAgICAxLDAsOTAsNSwwLDEwMCw1LDAsMTAwLDYsMCwxMzIsMCwwLDkwLDYsCiAgICAgMCwxMDAsNywwLDEwMCw4LDAsMTMyLDAsMCw5MCw3LDAsMTAwLDksMCwKICAgICAxMDAsMTAsMCwxMzIsMCwwLDkwLDgsMCwxMDAsMTEsMCwxMDAsMTIsMCwxMzIsCiAgICAgMCwwLDkwLDksMCwxMDAsMTMsMCwxMDAsMTQsMCwxMzIsMCwwLDkwLDEwLAotICAgIDAsMTAwLDE1LDAsODMsNDEsMTYsMTE0LDI1MiwwLDAsMCw5OSw0LDAsMCwKLSAgICAwLDAsMCwwLDAsNCwwLDAsMCw0LDAsMCwwLDY3LDAsMCwKLSAgICAwLDExNSwyNSwwLDAsMCwxMTYsMCwwLDEyNCwxLDAsMTI0LDIsMCwxMjQsCi0gICAgMywwLDEzMSwzLDAsMTI0LDAsMCw5NSwxLDAsMTAwLDAsMCw4Myw0MSwKLSAgICAxLDc4LDQxLDIsMTE0LDYxLDEsMCwwLDExNCwyNTQsMCwwLDAsNDEsNCwKLSAgICAxMTQsNzEsMCwwLDAsMTE0LDY3LDAsMCwwLDExNCwzNSwwLDAsMCwxMTQsCi0gICAgNjUsMSwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsCi0gICAgMCwwLDAsMTE0LDcyLDAsMCwwLDEyLDcsMCwwLDExNSwyLDAsMCwKLSAgICAwLDAsMSwxMjIsMjUsOTUsNzgsOTcsMTA5LDEwMSwxMTUsMTEyLDk3LDk5LDEwMSw3NiwKLSAgICAxMTEsOTcsMTAwLDEwMSwxMTQsNDYsOTUsOTUsMTA1LDExMCwxMDUsMTE2LDk1LDk1LDk5LDIsCi0gICAgMCwwLDAsMCwwLDAsMCwyLDAsMCwwLDIsMCwwLDAsNjcsCi0gICAgMCwwLDAsMTE1LDE2LDAsMCwwLDEwMCwxLDAsMTA2LDAsMCwxMjQsMSwKLSAgICAwLDEwNiwxLDAsMTMxLDEsMCw4Myw0MSwyLDEyMiwxMTUsODIsMTAxLDExNiwxMTcsCi0gICAgMTE0LDExMCwzMiwxMTQsMTAxLDExMiwxMTQsMzIsMTAyLDExMSwxMTQsMzIsMTE2LDEwNCwxMDEsMzIsCi0gICAgMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsNDYsMTAsMTAsMzIsMzIsMzIsMzIsMzIsMzIsMzIsCi0gICAgMzIsODQsMTA0LDEwMSwzMiwxMDksMTAxLDExNiwxMDQsMTExLDEwMCwzMiwxMDUsMTE1LDMyLDEwMCwKLSAgICAxMDEsMTEyLDExNCwxMDEsOTksOTcsMTE2LDEwMSwxMDAsNDYsMzIsMzIsODQsMTA0LDEwMSwzMiwKLSAgICAxMDUsMTA5LDExMiwxMTEsMTE0LDExNiwzMiwxMDksOTcsOTksMTA0LDEwNSwxMTAsMTAxLDExNCwxMjEsCi0gICAgMzIsMTAwLDExMSwxMDEsMTE1LDMyLDExNiwxMDQsMTAxLDMyLDEwNiwxMTEsOTgsMzIsMTA1LDExNiwKLSAgICAxMTUsMTAxLDEwOCwxMDIsNDYsMTAsMTAsMzIsMzIsMzIsMzIsMzIsMzIsMzIsMzIsMTIyLAotICAgIDI1LDYwLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDMyLDEyMywzMywxMTQsMTI1LDMyLDQwLDExMCwKLSAgICA5NywxMDksMTAxLDExNSwxMTIsOTcsOTksMTAxLDQxLDYyLDQxLDIsMTE0LDQ3LDAsMCwKLSAgICAwLDExNCw1NywwLDAsMCw0MSwyLDExNCwxMiwxLDAsMCwxMTQsMTgwLDAsCi0gICAgMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwKLSAgICAwLDExNCwyMDYsMCwwLDAsMTUsNywwLDAsMTE1LDIsMCwwLDAsMCwKLSAgICA3LDEyMiwyOCw5NSw3OCw5NywxMDksMTAxLDExNSwxMTIsOTcsOTksMTAxLDc2LDExMSw5NywKLSAgICAxMDAsMTAxLDExNCw0NiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSw5NSwxMTQsMTAxLDExMiwxMTQsOTksCi0gICAgMiwwLDAsMCwwLDAsMCwwLDIsMCwwLDAsMSwwLDAsMCwKLSAgICA2NywwLDAsMCwxMTUsNCwwLDAsMCwxMDAsMSwwLDgzLDQxLDIsNzgsCi0gICAgODQsMTE0LDQsMCwwLDAsNDEsMiwxMTQsNzEsMCwwLDAsMTE0LDE1OSwwLAotICAgIDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsCi0gICAgMCwxMTQsMjIwLDAsMCwwLDI0LDcsMCwwLDExNSwyLDAsMCwwLDAsCi0gICAgMSwxMjIsMjcsOTUsNzgsOTcsMTA5LDEwMSwxMTUsMTEyLDk3LDk5LDEwMSw3NiwxMTEsOTcsCi0gICAgMTAwLDEwMSwxMTQsNDYsMTA1LDExNSw5NSwxMTIsOTcsOTksMTA3LDk3LDEwMywxMDEsOTksMiwKLSAgICAwLDAsMCwwLDAsMCwwLDIsMCwwLDAsMSwwLDAsMCw2NywKLSAgICAwLDAsMCwxMTUsNCwwLDAsMCwxMDAsMSwwLDgzLDQxLDIsNzgsMTE0LAotICAgIDMwLDAsMCwwLDExNCw0LDAsMCwwLDQxLDIsMTE0LDcxLDAsMCwwLAotICAgIDExNCwxNTksMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LAotICAgIDUsMCwwLDAsMTE0LDE3LDEsMCwwLDI3LDcsMCwwLDExNSwyLDAsCi0gICAgMCwwLDAsMSwxMjIsMjcsOTUsNzgsOTcsMTA5LDEwMSwxMTUsMTEyLDk3LDk5LDEwMSwKLSAgICA3NiwxMTEsOTcsMTAwLDEwMSwxMTQsNDYsMTAzLDEwMSwxMTYsOTUsMTE1LDExMSwxMTcsMTE0LDk5LAotICAgIDEwMSw5OSwyLDAsMCwwLDAsMCwwLDAsMiwwLDAsMCw2LDAsCi0gICAgMCwwLDY3LDAsMCwwLDExNSwyMiwwLDAsMCwxMTYsMCwwLDEwMCwxLAotICAgIDAsMTAwLDIsMCwxMDAsMywwLDEwMCw0LDAsMTAwLDUsMCwxMzEsMywxLAotICAgIDgzLDQxLDYsNzgsMTE0LDMwLDAsMCwwLDEyMiw4LDYwLDExNSwxMTYsMTE0LDEwNSwKLSAgICAxMTAsMTAzLDYyLDExNCwxNzYsMCwwLDAsMTE0LDQzLDEsMCwwLDg0LDQxLDEsCi0gICAgMTE0LDQ0LDEsMCwwLDQxLDIsMTE0LDcxLDAsMCwwLDExNCwxNTksMCwwLAotICAgIDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsCi0gICAgMTE0LDE2LDEsMCwwLDMwLDcsMCwwLDExNSwyLDAsMCwwLDAsMSwKLSAgICAxMjIsMjUsOTUsNzgsOTcsMTA5LDEwMSwxMTUsMTEyLDk3LDk5LDEwMSw3NiwxMTEsOTcsMTAwLAotICAgIDEwMSwxMTQsNDYsMTAzLDEwMSwxMTYsOTUsOTksMTExLDEwMCwxMDEsOTksMiwwLDAsMCwKLSAgICAwLDAsMCwwLDIsMCwwLDAsMSwwLDAsMCw2NywwLDAsMCwKLSAgICAxMTUsNCwwLDAsMCwxMDAsMCwwLDgzLDQxLDEsNzgsMTE0LDQsMCwwLAotICAgIDAsNDEsMiwxMTQsNzEsMCwwLDAsMTE0LDE4MCwwLDAsMCwxMTQsNCwwLAotICAgIDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsMiwxLDAsCi0gICAgMCwzMyw3LDAsMCwxMTUsMiwwLDAsMCwwLDEsMTIyLDI4LDk1LDc4LAotICAgIDk3LDEwOSwxMDEsMTE1LDExMiw5Nyw5OSwxMDEsNzYsMTExLDk3LDEwMCwxMDEsMTE0LDQ2LDEwMSwKLSAgICAxMjAsMTAxLDk5LDk1LDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDk5LDIsMCwwLDAsMCwKLSAgICAwLDAsMCwyLDAsMCwwLDMsMCwwLDAsNjcsMCwwLDAsMTE1LAotICAgIDI5LDAsMCwwLDExNiwwLDAsMTAwLDEsMCwxMjQsMCwwLDEwNiwxLDAsCi0gICAgMTMxLDIsMCwxLDExNiwyLDAsMTI0LDAsMCwxMjQsMSwwLDEzMSwyLDAsCi0gICAgODMsNDEsMiwxMjIsOTgsNzYsMTExLDk3LDEwMCwzMiw5NywzMiwxMTAsOTcsMTA5LDEwMSwKLSAgICAxMTUsMTEyLDk3LDk5LDEwMSwzMiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSw0NiwxMCwxMCwzMiwKLSAgICAzMiwzMiwzMiwzMiwzMiwzMiwzMiw4NCwxMDQsMTA1LDExNSwzMiwxMDksMTAxLDExNiwxMDQsCi0gICAgMTExLDEwMCwzMiwxMDUsMTE1LDMyLDEwMCwxMDEsMTEyLDExNCwxMDEsOTksOTcsMTE2LDEwMSwxMDAsCi0gICAgNDYsMzIsMzIsODUsMTE1LDEwMSwzMiwxMDEsMTIwLDEwMSw5OSw5NSwxMDksMTExLDEwMCwxMTcsCi0gICAgMTA4LDEwMSw0MCw0MSwzMiwxMDUsMTEwLDExNSwxMTYsMTAxLDk3LDEwMCw0NiwxMCwxMCwzMiwKLSAgICAzMiwzMiwzMiwzMiwzMiwzMiwzMiwxMjIsMzgsMTEwLDk3LDEwOSwxMDEsMTE1LDExMiw5NywKLSAgICA5OSwxMDEsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMzIsMTA4LDExMSw5NywxMDAsMTAxLDEwMCwKLSAgICAzMiwxMTksMTA1LDExNiwxMDQsMzIsMTEyLDk3LDExNiwxMDQsMzIsMTIzLDMzLDExNCwxMjUsNDEsCi0gICAgMywxMTQsMTUzLDAsMCwwLDExNCwyNTQsMCwwLDAsMTE0LDE4MSwwLDAsMCwKLSAgICA0MSwyLDExNCw3MSwwLDAsMCwxMTQsMTU5LDAsMCwwLDExNCw0LDAsMCwKLSAgICAwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDExNCw1LDEsMCwwLAotICAgIDM2LDcsMCwwLDExNSw0LDAsMCwwLDAsNywxNiwxLDEyMiwyOCw5NSwKKyAgICAwLDEwMCwxNSwwLDEwMCwxNiwwLDEzMiwwLDAsOTAsMTEsMCwxMDAsMTcsMCwKKyAgICA4Myw0MSwxOCwxMTQsMjUwLDAsMCwwLDk5LDQsMCwwLDAsMCwwLDAsCisgICAgMCw0LDAsMCwwLDQsMCwwLDAsNjcsMCwwLDAsMTE1LDI1LDAsCisgICAgMCwwLDExNiwwLDAsMTI0LDEsMCwxMjQsMiwwLDEyNCwzLDAsMTMxLDMsCisgICAgMCwxMjQsMCwwLDk1LDEsMCwxMDAsMCwwLDgzLDQxLDEsNzgsNDEsMiwKKyAgICAxMTQsNjAsMSwwLDAsMTE0LDI1MiwwLDAsMCw0MSw0LDExNCw3MSwwLDAsCisgICAgMCwxMTQsNjcsMCwwLDAsMTE0LDM1LDAsMCwwLDExNCw2NCwxLDAsMCwKKyAgICAxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsCisgICAgNzIsMCwwLDAsMjI4LDYsMCwwLDExNSwyLDAsMCwwLDAsMSwxMjIsCisgICAgMjUsOTUsNzgsOTcsMTA5LDEwMSwxMTUsMTEyLDk3LDk5LDEwMSw3NiwxMTEsOTcsMTAwLDEwMSwKKyAgICAxMTQsNDYsOTUsOTUsMTA1LDExMCwxMDUsMTE2LDk1LDk1LDk5LDIsMCwwLDAsMCwKKyAgICAwLDAsMCwyLDAsMCwwLDIsMCwwLDAsNjcsMCwwLDAsMTE1LAorICAgIDE2LDAsMCwwLDEwMCwxLDAsMTA2LDAsMCwxMjQsMSwwLDEwNiwxLDAsCisgICAgMTMxLDEsMCw4Myw0MSwyLDEyMiwxMTUsODIsMTAxLDExNiwxMTcsMTE0LDExMCwzMiwxMTQsCisgICAgMTAxLDExMiwxMTQsMzIsMTAyLDExMSwxMTQsMzIsMTE2LDEwNCwxMDEsMzIsMTA5LDExMSwxMDAsMTE3LAorICAgIDEwOCwxMDEsNDYsMTAsMTAsMzIsMzIsMzIsMzIsMzIsMzIsMzIsMzIsODQsMTA0LDEwMSwKKyAgICAzMiwxMDksMTAxLDExNiwxMDQsMTExLDEwMCwzMiwxMDUsMTE1LDMyLDEwMCwxMDEsMTEyLDExNCwxMDEsCisgICAgOTksOTcsMTE2LDEwMSwxMDAsNDYsMzIsMzIsODQsMTA0LDEwMSwzMiwxMDUsMTA5LDExMiwxMTEsCisgICAgMTE0LDExNiwzMiwxMDksOTcsOTksMTA0LDEwNSwxMTAsMTAxLDExNCwxMjEsMzIsMTAwLDExMSwxMDEsCisgICAgMTE1LDMyLDExNiwxMDQsMTAxLDMyLDEwNiwxMTEsOTgsMzIsMTA1LDExNiwxMTUsMTAxLDEwOCwxMDIsCisgICAgNDYsMTAsMTAsMzIsMzIsMzIsMzIsMzIsMzIsMzIsMzIsMTIyLDI1LDYwLDEwOSwxMTEsCisgICAgMTAwLDExNywxMDgsMTAxLDMyLDEyMywzMywxMTQsMTI1LDMyLDQwLDExMCw5NywxMDksMTAxLDExNSwKKyAgICAxMTIsOTcsOTksMTAxLDQxLDYyLDQxLDIsMTE0LDQ3LDAsMCwwLDExNCw1NywwLAorICAgIDAsMCw0MSwyLDExNCwxMCwxLDAsMCwxMTQsMTc4LDAsMCwwLDExNCw0LAorICAgIDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDExNCwyMDQsMCwKKyAgICAwLDAsMjMxLDYsMCwwLDExNSwyLDAsMCwwLDAsNywxMjIsMjgsOTUsCiAgICAgNzgsOTcsMTA5LDEwMSwxMTUsMTEyLDk3LDk5LDEwMSw3NiwxMTEsOTcsMTAwLDEwMSwxMTQsNDYsCi0gICAgMTA4LDExMSw5NywxMDAsOTUsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsNzgsNDEsMTEsMTE0LDU3LAotICAgIDAsMCwwLDExNCw1NiwwLDAsMCwxMTQsNTgsMCwwLDAsMTE0LDcyLDAsCi0gICAgMCwwLDExNCwxOSwxLDAsMCwxMTQsMjA2LDAsMCwwLDExNCwyMjAsMCwwLAotICAgIDAsMTE0LDE3LDEsMCwwLDExNCwxNiwxLDAsMCwxMTQsMiwxLDAsMCwKLSAgICAxMTQsNSwxLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsCi0gICAgNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsMjUyLDAsMCwwLDExLDcsCi0gICAgMCwwLDExNSwxNCwwLDAsMCwxMiwxLDEyLDMsMTgsOSwxMiwzLDEyLAotICAgIDMsMTIsMywxMiwzLDExNCwyNTIsMCwwLDAsOTksMCwwLDAsMCwwLAotICAgIDAsMCwwLDAsMCwwLDAsNSwwLDAsMCw2NCwwLDAsMCwxMTUsCi0gICAgMTYwLDAsMCwwLDEwMSwwLDAsOTAsMSwwLDEwMCwwLDAsOTAsMiwwLAotICAgIDEwMCwxLDAsOTAsMywwLDEwMSw0LDAsMTAwLDIsMCwxMDAsMywwLDEzMiwKLSAgICAwLDAsMTMxLDEsMCw5MCw1LDAsMTAxLDQsMCwxMDAsNCwwLDEwMCw1LAotICAgIDAsMTMyLDAsMCwxMzEsMSwwLDkwLDYsMCwxMDEsNCwwLDEwMCw2LDAsCi0gICAgMTAwLDcsMCwxMzIsMCwwLDEzMSwxLDAsOTAsNywwLDEwMSw0LDAsMTAwLAotICAgIDgsMCwxMDAsOSwwLDEzMiwwLDAsMTMxLDEsMCw5MCw4LDAsMTAxLDQsCi0gICAgMCwxMDAsMTAsMCwxMDAsMTEsMCwxMDAsMTIsMCwxMzIsMSwwLDEzMSwxLDAsCi0gICAgOTAsOSwwLDEwMSw0LDAsMTAwLDEwLDAsMTAwLDEwLDAsMTAwLDEzLDAsMTAwLAotICAgIDE0LDAsMTMyLDIsMCwxMzEsMSwwLDkwLDEwLDAsMTAxLDQsMCwxMDAsMTAsCi0gICAgMCwxMDAsMTUsMCwxMDAsMTYsMCwxMzIsMSwwLDEzMSwxLDAsOTAsMTEsMCwKLSAgICAxMDAsMTAsMCw4Myw0MSwxNywyMTgsMTAsODAsOTcsMTE2LDEwNCw3MCwxMDUsMTEwLDEwMCwKLSAgICAxMDEsMTE0LDEyMiw2Miw3NywxMDEsMTE2LDk3LDMyLDExMiw5NywxMTYsMTA0LDMyLDEwMiwxMDUsCi0gICAgMTEwLDEwMCwxMDEsMTE0LDMyLDEwMiwxMTEsMTE0LDMyLDExNSwxMjEsMTE1LDQ2LDExMiw5NywxMTYsCi0gICAgMTA0LDMyLDk3LDExMCwxMDAsMzIsMTEyLDk3LDk5LDEwNyw5NywxMDMsMTAxLDMyLDk1LDk1LAotICAgIDExMiw5NywxMTYsMTA0LDk1LDk1LDMyLDk3LDExNiwxMTYsMTE0LDEwNSw5OCwxMTcsMTE2LDEwMSwKLSAgICAxMTUsNDYsOTksMSwwLDAsMCwwLDAsMCwwLDIsMCwwLDAsNCwKLSAgICAwLDAsMCw2NywwLDAsMCwxMTUsNTgsMCwwLDAsMTIwLDUxLDAsMTE2LAotICAgIDAsMCwxMDYsMSwwLDEwNiwyLDAsMTMxLDAsMCw2OCw5MywzNCwwLDEyNSwKLSAgICAxLDAsMTE2LDMsMCwxMjQsMSwwLDEwMCwxLDAsMTMxLDIsMCwxMTQsMTYsCi0gICAgMCwxMjQsMSwwLDEwNiw0LDAsMTMxLDAsMCwxLDExMywxNiwwLDExMywxNiwKLSAgICAwLDg3LDEwMCwyLDAsODMsNDEsMywxMjIsMTI1LDY3LDk3LDEwOCwxMDgsMzIsMTE2LAotICAgIDEwNCwxMDEsMzIsMTA1LDExMCwxMTgsOTcsMTA4LDEwNSwxMDAsOTcsMTE2LDEwMSw5NSw5OSw5NywKLSAgICA5OSwxMDQsMTAxLDExNSw0MCw0MSwzMiwxMDksMTAxLDExNiwxMDQsMTExLDEwMCwzMiwxMTEsMTEwLAotICAgIDMyLDk3LDEwOCwxMDgsMzIsMTEyLDk3LDExNiwxMDQsMzIsMTAxLDExMCwxMTYsMTE0LDEyMSwzMiwKLSAgICAxMDIsMTA1LDExMCwxMDAsMTAxLDExNCwxMTUsMTAsMzIsMzIsMzIsMzIsMzIsMzIsMzIsMzIsCi0gICAgMTE1LDExNiwxMTEsMTE0LDEwMSwxMDAsMzIsMTA1LDExMCwzMiwxMTUsMTIxLDExNSw0NiwxMTIsOTcsCi0gICAgMTE2LDEwNCw5NSwxMDUsMTA5LDExMiwxMTEsMTE0LDExNiwxMDEsMTE0LDk1LDk5LDk3LDk5LDEwNCwKLSAgICAxMDEsMTE1LDMyLDQwLDExOSwxMDQsMTAxLDExNCwxMDEsMzIsMTA1LDEwOSwxMTIsMTA4LDEwMSwxMDksCi0gICAgMTAxLDExMCwxMTYsMTAxLDEwMCw0MSw0NiwyMTgsMTcsMTA1LDExMCwxMTgsOTcsMTA4LDEwNSwxMDAsCi0gICAgOTcsMTE2LDEwMSw5NSw5OSw5Nyw5OSwxMDQsMTAxLDExNSw3OCw0MSw1LDExNCw3LDAsCi0gICAgMCwwLDIxOCwxOSwxMTIsOTcsMTE2LDEwNCw5NSwxMDUsMTA5LDExMiwxMTEsMTE0LDExNiwxMDEsCi0gICAgMTE0LDk1LDk5LDk3LDk5LDEwNCwxMDEsMjE4LDYsMTE4LDk3LDEwOCwxMTcsMTAxLDExNSwxMTQsCi0gICAgNjAsMCwwLDAsMTE0LDc1LDEsMCwwLDQxLDIsMTE0LDEyLDEsMCwwLAotICAgIDIxOCw2LDEwMiwxMDUsMTEwLDEwMCwxMDEsMTE0LDExNCw0LDAsMCwwLDExNCw0LDAsCi0gICAgMCwwLDExNCw1LDAsMCwwLDExNCw3NSwxLDAsMCw1Myw3LDAsMCwKLSAgICAxMTUsNiwwLDAsMCwwLDQsMjIsMSwxNSwxLDEyMiwyOCw4MCw5NywxMTYsCi0gICAgMTA0LDcwLDEwNSwxMTAsMTAwLDEwMSwxMTQsNDYsMTA1LDExMCwxMTgsOTcsMTA4LDEwNSwxMDAsOTcsCi0gICAgMTE2LDEwMSw5NSw5OSw5Nyw5OSwxMDQsMTAxLDExNSw5OSwyLDAsMCwwLDAsMCwKLSAgICAwLDAsMywwLDAsMCwxMiwwLDAsMCw2NywwLDAsMCwxMTUsOTQsCi0gICAgMCwwLDAsMTE2LDAsMCwxMDYsMSwwLDExNSwyOCwwLDExNiwyLDAsMTA2LAotICAgIDMsMCwxMDAsMSwwLDExNiw0LDAsMTMxLDIsMCwxLDExMCwwLDAsMTIwLAotICAgIDU5LDAsMTE2LDAsMCwxMDYsMSwwLDY4LDkzLDQ0LDAsMTI1LDIsMCwxMjEsCi0gICAgMTQsMCwxMjQsMiwwLDEyNCwxLDAsMTMxLDEsMCw4Myw4NywxMTMsMzgsMCwKLSAgICA0LDExNiw1LDAsMTA3LDEwLDAsMTE0LDgxLDAsMSwxLDEsMTE5LDM4LDAsCi0gICAgODksMTEzLDM4LDAsODgsMTEzLDM4LDAsODcsMTAwLDIsMCw4MywxMDAsMiwwLAotICAgIDgzLDQxLDMsMTIyLDExMyw4MywxMDEsOTcsMTE0LDk5LDEwNCwzMiwxMTUsMTAxLDExMywxMTcsCi0gICAgMTAxLDExMCw5OSwxMDEsMzIsMTExLDEwMiwzMiwxMDQsMTExLDExMSwxMDcsMTE1LDMyLDEwMiwxMTEsCi0gICAgMTE0LDMyLDk3LDMyLDEwMiwxMDUsMTEwLDEwMCwxMDEsMTE0LDMyLDEwMiwxMTEsMTE0LDMyLDM5LAotICAgIDExMiw5NywxMTYsMTA0LDM5LDQ2LDEwLDEwLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDMyLAotICAgIDczLDEwMiwzMiwzOSwxMDQsMTExLDExMSwxMDcsMTE1LDM5LDMyLDEwNSwxMTUsMzIsMTAyLDk3LAotICAgIDEwOCwxMTUsMTAxLDMyLDExNiwxMDQsMTAxLDExMCwzMiwxMTcsMTE1LDEwMSwzMiwxMTUsMTIxLDExNSwKLSAgICA0NiwxMTIsOTcsMTE2LDEwNCw5NSwxMDQsMTExLDExMSwxMDcsMTE1LDQ2LDEwLDEwLDMyLDMyLAotICAgIDMyLDMyLDMyLDMyLDMyLDMyLDEyMiwyMywxMTUsMTIxLDExNSw0NiwxMTIsOTcsMTE2LDEwNCwKLSAgICA5NSwxMDQsMTExLDExMSwxMDcsMTE1LDMyLDEwNSwxMTUsMzIsMTAxLDEwOSwxMTIsMTE2LDEyMSw3OCwKLSAgICA0MSw2LDExNCw3LDAsMCwwLDIxOCwxMCwxMTIsOTcsMTE2LDEwNCw5NSwxMDQsMTExLAotICAgIDExMSwxMDcsMTE1LDExNCwxNjcsMCwwLDAsMTE0LDE2OCwwLDAsMCwxMTQsMTY5LDAsCi0gICAgMCwwLDExNCwxNTQsMCwwLDAsNDEsMywxMTQsMTIsMSwwLDAsMTE0LDM1LAotICAgIDAsMCwwLDkwLDQsMTA0LDExMSwxMTEsMTA3LDExNCw0LDAsMCwwLDExNCw0LAotICAgIDAsMCwwLDExNCw1LDAsMCwwLDIxOCwxMSw5NSwxMTIsOTcsMTE2LDEwNCw5NSwKLSAgICAxMDQsMTExLDExMSwxMDcsMTE1LDYxLDcsMCwwLDExNSwxNiwwLDAsMCwwLDcsCi0gICAgOSwxLDE5LDEsMTYsMSwzLDEsMTQsMSwxMywxLDEyLDIsMTIyLDIyLAotICAgIDgwLDk3LDExNiwxMDQsNzAsMTA1LDExMCwxMDAsMTAxLDExNCw0Niw5NSwxMTIsOTcsMTE2LDEwNCwKLSAgICA5NSwxMDQsMTExLDExMSwxMDcsMTE1LDk5LDIsMCwwLDAsMCwwLDAsMCwzLAotICAgIDAsMCwwLDExLDAsMCwwLDY3LDAsMCwwLDExNSw5NywwLDAsMCwKLSAgICAxMjQsMSwwLDEwMCwxLDAsMTA3LDIsMCwxMTQsMjcsMCwxMTYsMCwwLDEwNiwKLSAgICAxLDAsMTMxLDAsMCwxMjUsMSwwLDExMCwwLDAsMTIxLDE3LDAsMTE2LDIsCi0gICAgMCwxMDYsMywwLDEyNCwxLDAsMjUsMTI1LDIsMCw4NywxMTAsNDYsMCw0LAotICAgIDExNiw0LDAsMTA3LDEwLDAsMTE0LDkyLDAsMSwxLDEsMTI0LDAsMCwxMDYsCi0gICAgNSwwLDEyNCwxLDAsMTMxLDEsMCwxMjUsMiwwLDEyNCwyLDAsMTE2LDIsCi0gICAgMCwxMDYsMywwLDEyNCwxLDAsNjAsODksMTEwLDEsMCw4OCwxMjQsMiwwLAotICAgIDgzLDQxLDIsMTIyLDIxMCw3MSwxMDEsMTE2LDMyLDExNiwxMDQsMTAxLDMyLDEwMiwxMDUsMTEwLAotICAgIDEwMCwxMDEsMTE0LDMyLDEwMiwxMTEsMTE0LDMyLDExNiwxMDQsMTAxLDMyLDExMiw5NywxMTYsMTA0LAotICAgIDMyLDEwMSwxMTAsMTE2LDExNCwxMjEsMzIsMTAyLDExNCwxMTEsMTA5LDMyLDExNSwxMjEsMTE1LDQ2LAotICAgIDExMiw5NywxMTYsMTA0LDk1LDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDEwMSwxMTQsOTUsOTksOTcsCi0gICAgOTksMTA0LDEwMSw0NiwxMCwxMCwzMiwzMiwzMiwzMiwzMiwzMiwzMiwzMiw3MywxMDIsCi0gICAgMzIsMTE2LDEwNCwxMDEsMzIsMTEyLDk3LDExNiwxMDQsMzIsMTAxLDExMCwxMTYsMTE0LDEyMSwzMiwKLSAgICAxMDUsMTE1LDMyLDExMCwxMTEsMTE2LDMyLDEwNSwxMTAsMzIsMTE2LDEwNCwxMDEsMzIsOTksOTcsCi0gICAgOTksMTA0LDEwMSw0NCwzMiwxMDIsMTA1LDExMCwxMDAsMzIsMTE2LDEwNCwxMDEsMzIsOTcsMTEyLAotICAgIDExMiwxMTQsMTExLDExMiwxMTQsMTA1LDk3LDExNiwxMDEsMzIsMTAyLDEwNSwxMTAsMTAwLDEwMSwxMTQsCi0gICAgMTAsMzIsMzIsMzIsMzIsMzIsMzIsMzIsMzIsOTcsMTEwLDEwMCwzMiw5OSw5Nyw5OSwKLSAgICAxMDQsMTAxLDMyLDEwNSwxMTYsNDYsMzIsNzMsMTAyLDMyLDExMCwxMTEsMzIsMTAyLDEwNSwxMTAsCi0gICAgMTAwLDEwMSwxMTQsMzIsMTA1LDExNSwzMiw5NywxMTgsOTcsMTA1LDEwOCw5Nyw5OCwxMDgsMTAxLAotICAgIDQ0LDMyLDExNSwxMTYsMTExLDExNCwxMDEsMzIsNzgsMTExLDExMCwxMDEsNDYsMTAsMTAsMzIsCi0gICAgMzIsMzIsMzIsMzIsMzIsMzIsMzIsMTE0LDMwLDAsMCwwLDQxLDYsMTE0LDMsCi0gICAgMCwwLDAsMTE0LDQ1LDAsMCwwLDExNCw3LDAsMCwwLDExNCw3NiwxLAotICAgIDAsMCwxMTQsNzksMCwwLDAsMTE0LDgwLDEsMCwwLDQxLDMsMTE0LDEyLAotICAgIDEsMCwwLDExNCwzNSwwLDAsMCwxMTQsNzgsMSwwLDAsMTE0LDQsMCwKLSAgICAwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsMjE4LDIwLDk1LDExMiwKKyAgICAxMDksMTExLDEwMCwxMTcsMTA4LDEwMSw5NSwxMTQsMTAxLDExMiwxMTQsOTksMiwwLDAsMCwKKyAgICAwLDAsMCwwLDIsMCwwLDAsMSwwLDAsMCw2NywwLDAsMCwKKyAgICAxMTUsNCwwLDAsMCwxMDAsMSwwLDgzLDQxLDIsNzgsODQsMTE0LDQsMCwKKyAgICAwLDAsNDEsMiwxMTQsNzEsMCwwLDAsMTE0LDE1OSwwLDAsMCwxMTQsNCwKKyAgICAwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsMjE5LDAsCisgICAgMCwwLDI0MCw2LDAsMCwxMTUsMiwwLDAsMCwwLDEsMTIyLDI3LDk1LAorICAgIDc4LDk3LDEwOSwxMDEsMTE1LDExMiw5Nyw5OSwxMDEsNzYsMTExLDk3LDEwMCwxMDEsMTE0LDQ2LAorICAgIDEwNSwxMTUsOTUsMTEyLDk3LDk5LDEwNyw5NywxMDMsMTAxLDk5LDIsMCwwLDAsMCwKKyAgICAwLDAsMCwyLDAsMCwwLDEsMCwwLDAsNjcsMCwwLDAsMTE1LAorICAgIDQsMCwwLDAsMTAwLDEsMCw4Myw0MSwyLDc4LDExNCwzMCwwLDAsMCwKKyAgICAxMTQsNCwwLDAsMCw0MSwyLDExNCw3MSwwLDAsMCwxMTQsMTU5LDAsMCwKKyAgICAwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLAorICAgIDExNCwxNSwxLDAsMCwyNDMsNiwwLDAsMTE1LDIsMCwwLDAsMCwxLAorICAgIDEyMiwyNyw5NSw3OCw5NywxMDksMTAxLDExNSwxMTIsOTcsOTksMTAxLDc2LDExMSw5NywxMDAsCisgICAgMTAxLDExNCw0NiwxMDMsMTAxLDExNiw5NSwxMTUsMTExLDExNywxMTQsOTksMTAxLDk5LDIsMCwKKyAgICAwLDAsMCwwLDAsMCwyLDAsMCwwLDYsMCwwLDAsNjcsMCwKKyAgICAwLDAsMTE1LDIyLDAsMCwwLDExNiwwLDAsMTAwLDEsMCwxMDAsMiwwLAorICAgIDEwMCwzLDAsMTAwLDQsMCwxMDAsNSwwLDEzMSwzLDEsODMsNDEsNiw3OCwKKyAgICAxMTQsMzAsMCwwLDAsMTIyLDgsNjAsMTE1LDExNiwxMTQsMTA1LDExMCwxMDMsNjIsMTE0LAorICAgIDIxLDEsMCwwLDExNCw0MiwxLDAsMCw4NCw0MSwxLDExNCw0MywxLDAsCisgICAgMCw0MSwyLDExNCw3MSwwLDAsMCwxMTQsMTU5LDAsMCwwLDExNCw0LDAsCisgICAgMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDExNCwxNCwxLDAsCisgICAgMCwyNDYsNiwwLDAsMTE1LDIsMCwwLDAsMCwxLDEyMiwyNSw5NSw3OCwKKyAgICA5NywxMDksMTAxLDExNSwxMTIsOTcsOTksMTAxLDc2LDExMSw5NywxMDAsMTAxLDExNCw0NiwxMDMsCisgICAgMTAxLDExNiw5NSw5OSwxMTEsMTAwLDEwMSw5OSwyLDAsMCwwLDAsMCwwLDAsCisgICAgMiwwLDAsMCwxLDAsMCwwLDY3LDAsMCwwLDExNSw0LDAsMCwKKyAgICAwLDEwMCwxLDAsODMsNDEsMiwxMjIsNDIsODUsMTE1LDEwMSwzMiwxMDAsMTAxLDEwMiwKKyAgICA5NywxMTcsMTA4LDExNiwzMiwxMTUsMTAxLDEwOSw5NywxMTAsMTE2LDEwNSw5OSwxMTUsMzIsMTAyLAorICAgIDExMSwxMTQsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMzIsOTksMTE0LDEwMSw5NywxMTYsMTA1LAorICAgIDExMSwxMTAsNDYsNzgsMTE0LDQsMCwwLDAsNDEsMiwxMTQsNzEsMCwwLDAsCisgICAgMTE0LDE3NywwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsCisgICAgNSwwLDAsMCwxMTQsMjU0LDAsMCwwLDI0OSw2LDAsMCwxMTUsMCwwLAorICAgIDAsMCwxMjIsMzAsOTUsNzgsOTcsMTA5LDEwMSwxMTUsMTEyLDk3LDk5LDEwMSw3NiwxMTEsCisgICAgOTcsMTAwLDEwMSwxMTQsNDYsOTksMTE0LDEwMSw5NywxMTYsMTAxLDk1LDEwOSwxMTEsMTAwLDExNywKKyAgICAxMDgsMTAxLDk5LDIsMCwwLDAsMCwwLDAsMCwyLDAsMCwwLDEsCisgICAgMCwwLDAsNjcsMCwwLDAsMTE1LDQsMCwwLDAsMTAwLDAsMCw4MywKKyAgICA0MSwxLDc4LDExNCw0LDAsMCwwLDQxLDIsMTE0LDcxLDAsMCwwLDExNCwKKyAgICAxNzgsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsCisgICAgMCwwLDAsMTE0LDI1NSwwLDAsMCwyNTIsNiwwLDAsMTE1LDIsMCwwLAorICAgIDAsMCwxLDEyMiwyOCw5NSw3OCw5NywxMDksMTAxLDExNSwxMTIsOTcsOTksMTAxLDc2LAorICAgIDExMSw5NywxMDAsMTAxLDExNCw0NiwxMDEsMTIwLDEwMSw5OSw5NSwxMDksMTExLDEwMCwxMTcsMTA4LAorICAgIDEwMSw5OSwyLDAsMCwwLDAsMCwwLDAsMiwwLDAsMCwzLDAsCisgICAgMCwwLDY3LDAsMCwwLDExNSwyOSwwLDAsMCwxMTYsMCwwLDEwMCwxLAorICAgIDAsMTI0LDAsMCwxMDYsMSwwLDEzMSwyLDAsMSwxMTYsMiwwLDEyNCwwLAorICAgIDAsMTI0LDEsMCwxMzEsMiwwLDgzLDQxLDIsMTIyLDk4LDc2LDExMSw5NywxMDAsCisgICAgMzIsOTcsMzIsMTEwLDk3LDEwOSwxMDEsMTE1LDExMiw5Nyw5OSwxMDEsMzIsMTA5LDExMSwxMDAsCisgICAgMTE3LDEwOCwxMDEsNDYsMTAsMTAsMzIsMzIsMzIsMzIsMzIsMzIsMzIsMzIsODQsMTA0LAorICAgIDEwNSwxMTUsMzIsMTA5LDEwMSwxMTYsMTA0LDExMSwxMDAsMzIsMTA1LDExNSwzMiwxMDAsMTAxLDExMiwKKyAgICAxMTQsMTAxLDk5LDk3LDExNiwxMDEsMTAwLDQ2LDMyLDMyLDg1LDExNSwxMDEsMzIsMTAxLDEyMCwKKyAgICAxMDEsOTksOTUsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsNDAsNDEsMzIsMTA1LDExMCwxMTUsMTE2LAorICAgIDEwMSw5NywxMDAsNDYsMTAsMTAsMzIsMzIsMzIsMzIsMzIsMzIsMzIsMzIsMTIyLDM4LAorICAgIDExMCw5NywxMDksMTAxLDExNSwxMTIsOTcsOTksMTAxLDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLAorICAgIDMyLDEwOCwxMTEsOTcsMTAwLDEwMSwxMDAsMzIsMTE5LDEwNSwxMTYsMTA0LDMyLDExMiw5NywxMTYsCisgICAgMTA0LDMyLDEyMywzMywxMTQsMTI1LDQxLDMsMTE0LDE1MywwLDAsMCwxMTQsMjUyLDAsCisgICAgMCwwLDExNCwxNzksMCwwLDAsNDEsMiwxMTQsNzEsMCwwLDAsMTE0LDE1OSwKKyAgICAwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLAorICAgIDAsMCwxMTQsMywxLDAsMCwyNTUsNiwwLDAsMTE1LDQsMCwwLDAsCisgICAgMCw3LDE2LDEsMTIyLDI4LDk1LDc4LDk3LDEwOSwxMDEsMTE1LDExMiw5Nyw5OSwxMDEsCisgICAgNzYsMTExLDk3LDEwMCwxMDEsMTE0LDQ2LDEwOCwxMTEsOTcsMTAwLDk1LDEwOSwxMTEsMTAwLDExNywKKyAgICAxMDgsMTAxLDc4LDQxLDEyLDExNCw1NywwLDAsMCwxMTQsNTYsMCwwLDAsMTE0LAorICAgIDU4LDAsMCwwLDExNCw3MiwwLDAsMCwxMTQsMTcsMSwwLDAsMTE0LDIwNCwKKyAgICAwLDAsMCwxMTQsMjE5LDAsMCwwLDExNCwxNSwxLDAsMCwxMTQsMTQsMSwKKyAgICAwLDAsMTE0LDI1NCwwLDAsMCwxMTQsMjU1LDAsMCwwLDExNCwzLDEsMCwKKyAgICAwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLAorICAgIDExNCw1LDAsMCwwLDExNCwyNTAsMCwwLDAsMjI3LDYsMCwwLDExNSwxNiwKKyAgICAwLDAsMCwxMiwxLDEyLDMsMTgsOSwxMiwzLDEyLDMsMTIsMywxMiwKKyAgICAzLDEyLDMsMTE0LDI1MCwwLDAsMCw5OSwwLDAsMCwwLDAsMCwwLAorICAgIDAsMCwwLDAsMCw1LDAsMCwwLDY0LDAsMCwwLDExNSwxNjAsMCwKKyAgICAwLDAsMTAxLDAsMCw5MCwxLDAsMTAwLDAsMCw5MCwyLDAsMTAwLDEsCisgICAgMCw5MCwzLDAsMTAxLDQsMCwxMDAsMiwwLDEwMCwzLDAsMTMyLDAsMCwKKyAgICAxMzEsMSwwLDkwLDUsMCwxMDEsNCwwLDEwMCw0LDAsMTAwLDUsMCwxMzIsCisgICAgMCwwLDEzMSwxLDAsOTAsNiwwLDEwMSw0LDAsMTAwLDYsMCwxMDAsNywKKyAgICAwLDEzMiwwLDAsMTMxLDEsMCw5MCw3LDAsMTAxLDQsMCwxMDAsOCwwLAorICAgIDEwMCw5LDAsMTMyLDAsMCwxMzEsMSwwLDkwLDgsMCwxMDEsNCwwLDEwMCwKKyAgICAxMCwwLDEwMCwxMSwwLDEwMCwxMiwwLDEzMiwxLDAsMTMxLDEsMCw5MCw5LAorICAgIDAsMTAxLDQsMCwxMDAsMTAsMCwxMDAsMTAsMCwxMDAsMTMsMCwxMDAsMTQsMCwKKyAgICAxMzIsMiwwLDEzMSwxLDAsOTAsMTAsMCwxMDEsNCwwLDEwMCwxMCwwLDEwMCwKKyAgICAxNSwwLDEwMCwxNiwwLDEzMiwxLDAsMTMxLDEsMCw5MCwxMSwwLDEwMCwxMCwKKyAgICAwLDgzLDQxLDE3LDIxOCwxMCw4MCw5NywxMTYsMTA0LDcwLDEwNSwxMTAsMTAwLDEwMSwxMTQsCisgICAgMTIyLDYyLDc3LDEwMSwxMTYsOTcsMzIsMTEyLDk3LDExNiwxMDQsMzIsMTAyLDEwNSwxMTAsMTAwLAorICAgIDEwMSwxMTQsMzIsMTAyLDExMSwxMTQsMzIsMTE1LDEyMSwxMTUsNDYsMTEyLDk3LDExNiwxMDQsMzIsCisgICAgOTcsMTEwLDEwMCwzMiwxMTIsOTcsOTksMTA3LDk3LDEwMywxMDEsMzIsOTUsOTUsMTEyLDk3LAorICAgIDExNiwxMDQsOTUsOTUsMzIsOTcsMTE2LDExNiwxMTQsMTA1LDk4LDExNywxMTYsMTAxLDExNSw0NiwKKyAgICA5OSwxLDAsMCwwLDAsMCwwLDAsMiwwLDAsMCw0LDAsMCwKKyAgICAwLDY3LDAsMCwwLDExNSw1NSwwLDAsMCwxMjAsNDgsMCwxMTYsMCwwLAorICAgIDEwNiwxLDAsMTA2LDIsMCwxMzEsMCwwLDY4LDkzLDMxLDAsMTI1LDEsMCwKKyAgICAxMTYsMywwLDEyNCwxLDAsMTAwLDEsMCwxMzEsMiwwLDExNCwxNiwwLDEyNCwKKyAgICAxLDAsMTA2LDQsMCwxMzEsMCwwLDEsMTEzLDE2LDAsODcsMTAwLDIsMCwKKyAgICA4Myw0MSwzLDEyMiwxMjUsNjcsOTcsMTA4LDEwOCwzMiwxMTYsMTA0LDEwMSwzMiwxMDUsMTEwLAorICAgIDExOCw5NywxMDgsMTA1LDEwMCw5NywxMTYsMTAxLDk1LDk5LDk3LDk5LDEwNCwxMDEsMTE1LDQwLAorICAgIDQxLDMyLDEwOSwxMDEsMTE2LDEwNCwxMTEsMTAwLDMyLDExMSwxMTAsMzIsOTcsMTA4LDEwOCwzMiwKKyAgICAxMTIsOTcsMTE2LDEwNCwzMiwxMDEsMTEwLDExNiwxMTQsMTIxLDMyLDEwMiwxMDUsMTEwLDEwMCwxMDEsCisgICAgMTE0LDExNSwxMCwzMiwzMiwzMiwzMiwzMiwzMiwzMiwzMiwxMTUsMTE2LDExMSwxMTQsMTAxLAorICAgIDEwMCwzMiwxMDUsMTEwLDMyLDExNSwxMjEsMTE1LDQ2LDExMiw5NywxMTYsMTA0LDk1LDEwNSwxMDksCisgICAgMTEyLDExMSwxMTQsMTE2LDEwMSwxMTQsOTUsOTksOTcsOTksMTA0LDEwMSwxMTUsMzIsNDAsMTE5LAorICAgIDEwNCwxMDEsMTE0LDEwMSwzMiwxMDUsMTA5LDExMiwxMDgsMTAxLDEwOSwxMDEsMTEwLDExNiwxMDEsMTAwLAorICAgIDQxLDQ2LDIxOCwxNywxMDUsMTEwLDExOCw5NywxMDgsMTA1LDEwMCw5NywxMTYsMTAxLDk1LDk5LAorICAgIDk3LDk5LDEwNCwxMDEsMTE1LDc4LDQxLDUsMTE0LDcsMCwwLDAsMjE4LDE5LDExMiwKICAgICA5NywxMTYsMTA0LDk1LDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDEwMSwxMTQsOTUsOTksOTcsOTksCi0gICAgMTA0LDEwMSw3OCw3LDAsMCwxMTUsMTYsMCwwLDAsMCw4LDEyLDEsMTUsCi0gICAgMSwzLDEsMTcsMSwxMywxLDE1LDEsMTgsMSwxMjIsMzEsODAsOTcsMTE2LAotICAgIDEwNCw3MCwxMDUsMTEwLDEwMCwxMDEsMTE0LDQ2LDk1LDExMiw5NywxMTYsMTA0LDk1LDEwNSwxMDksCi0gICAgMTEyLDExMSwxMTQsMTE2LDEwMSwxMTQsOTUsOTksOTcsOTksMTA0LDEwMSw5OSwzLDAsMCwKLSAgICAwLDAsMCwwLDAsNiwwLDAsMCwzLDAsMCwwLDY3LDAsMCwKLSAgICAwLDExNSwxMTMsMCwwLDAsMTE2LDAsMCwxMjQsMiwwLDEwMCwxLDAsMTMxLAotICAgIDIsMCwxMTQsMzksMCwxMjQsMiwwLDEwNiwxLDAsMTI0LDEsMCwxMzEsMSwKLSAgICAwLDkyLDIsMCwxMjUsMywwLDEyNSw0LDAsMTEwLDIxLDAsMTI0LDIsMCwKLSAgICAxMDYsMiwwLDEyNCwxLDAsMTMxLDEsMCwxMjUsMywwLDEwMywwLDAsMTI1LAotICAgIDQsMCwxMjQsMywwLDEwMCwwLDAsMTA3LDksMCwxMTQsODUsMCwxMTYsMywKLSAgICAwLDEyNCwxLDAsMTI0LDMsMCwxMzEsMiwwLDgzLDExNiw0LDAsMTI0LDEsCi0gICAgMCwxMDAsMCwwLDEzMSwyLDAsMTI1LDUsMCwxMjQsNCwwLDEyNCw1LDAsCi0gICAgOTUsNSwwLDEyNCw1LDAsODMsNDEsMiw3OCwxMTQsMTY2LDAsMCwwLDQxLAotICAgIDYsMTE0LDYwLDAsMCwwLDExNCwxNjYsMCwwLDAsMTE0LDE1LDEsMCwwLAotICAgIDExNCwxNzQsMCwwLDAsMTE0LDIxNywwLDAsMCwxMTQsMjIxLDAsMCwwLDQxLAotICAgIDYsMTE0LDEyLDEsMCwwLDExNCwxNTksMCwwLDAsMTE0LDc4LDEsMCwwLAotICAgIDExNCwxNzAsMCwwLDAsMTE0LDE3MSwwLDAsMCwxMTQsMTc4LDAsMCwwLDExNCwKLSAgICA0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDIxOCwxNiwKLSAgICA5NSwxMDgsMTAxLDEwMyw5Nyw5OSwxMjEsOTUsMTAzLDEwMSwxMTYsOTUsMTE1LDExMiwxMDEsOTksCi0gICAgOTUsNywwLDAsMTE1LDE4LDAsMCwwLDAsNCwxNSwxLDI0LDIsMTUsCi0gICAgMSw2LDEsMTIsMSwxMywxLDE1LDEsOSwxLDEyMiwyNyw4MCw5NywxMTYsCi0gICAgMTA0LDcwLDEwNSwxMTAsMTAwLDEwMSwxMTQsNDYsOTUsMTA4LDEwMSwxMDMsOTcsOTksMTIxLDk1LAotICAgIDEwMywxMDEsMTE2LDk1LDExNSwxMTIsMTAxLDk5LDc4LDk5LDQsMCwwLDAsMCwwLAotICAgIDAsMCw5LDAsMCwwLDUsMCwwLDAsNjcsMCwwLDAsMTE1LDI1MiwKLSAgICAwLDAsMCwxMDMsMCwwLDEyNSw0LDAsMTIwLDIzOSwwLDEyNCwyLDAsNjgsCi0gICAgOTMsMjAzLDAsMTI1LDUsMCwxMTYsMCwwLDEyNCw1LDAsMTE2LDEsMCwxMTYsCi0gICAgMiwwLDEwMiwyLDAsMTMxLDIsMCwxMTUsNDYsMCwxMTMsMTMsMCwxMTAsMCwKLSAgICAwLDEyNCwwLDAsMTA2LDMsMCwxMjQsNSwwLDEzMSwxLDAsMTI1LDYsMCwKLSAgICAxMjQsNiwwLDEwMCwxLDAsMTA3LDksMCwxMTQsMTMsMCwxMTYsNCwwLDEyNCwKLSAgICA2LDAsMTAwLDIsMCwxMzEsMiwwLDExNCwxMDksMCwxMjQsNiwwLDEwNiw1LAotICAgIDAsMTI0LDEsMCwxMjQsMywwLDEzMSwyLDAsMTI1LDcsMCwxMTAsMTgsMCwKLSAgICAxMjQsMCwwLDEwNiw2LDAsMTI0LDEsMCwxMjQsNiwwLDEzMSwyLDAsMTI1LAotICAgIDcsMCwxMjQsNywwLDEwMCwxLDAsMTA3LDgsMCwxMTQsMTQ1LDAsMTEzLDEzLAotICAgIDAsMTEwLDAsMCwxMjQsNywwLDEwNiw3LDAsMTAwLDEsMCwxMDcsOSwwLAotICAgIDExNCwxNjQsMCwxMjQsNywwLDgzLDEyNCw3LDAsMTA2LDgsMCwxMjUsOCwwLAotICAgIDEyNCw4LDAsMTAwLDEsMCwxMDcsOCwwLDExNCwyMDAsMCwxMTYsOSwwLDEwMCwKLSAgICAzLDAsMTMxLDEsMCwxMzAsMSwwLDExMCwwLDAsMTI0LDQsMCwxMDYsMTAsCi0gICAgMCwxMjQsOCwwLDEzMSwxLDAsMSwxMTMsMTMsMCwxMTMsMTMsMCw4NywxMTYsCisgICAgMTA0LDEwMSwyMTgsNiwxMTgsOTcsMTA4LDExNywxMDEsMTE1LDExNCw2MCwwLDAsMCwxMTQsCisgICAgNzQsMSwwLDAsNDEsMiwxMTQsMTAsMSwwLDAsMjE4LDYsMTAyLDEwNSwxMTAsCisgICAgMTAwLDEwMSwxMTQsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwKKyAgICAwLDAsMTE0LDc0LDEsMCwwLDE2LDcsMCwwLDExNSw2LDAsMCwwLAorICAgIDAsNCwyMiwxLDE1LDEsMTIyLDI4LDgwLDk3LDExNiwxMDQsNzAsMTA1LDExMCwxMDAsCisgICAgMTAxLDExNCw0NiwxMDUsMTEwLDExOCw5NywxMDgsMTA1LDEwMCw5NywxMTYsMTAxLDk1LDk5LDk3LAorICAgIDk5LDEwNCwxMDEsMTE1LDk5LDIsMCwwLDAsMCwwLDAsMCwzLDAsMCwKKyAgICAwLDEyLDAsMCwwLDY3LDAsMCwwLDExNSwxMDcsMCwwLDAsMTE2LDAsCisgICAgMCwxMDYsMSwwLDEwMCwxLDAsMTA3LDksMCwxMTQsNDEsMCwxMTYsMCwwLAorICAgIDEwNiwxLDAsMTIsMTE0LDQxLDAsMTE2LDIsMCwxMDYsMywwLDEwMCwyLDAsCisgICAgMTE2LDQsMCwxMzEsMiwwLDEsMTIwLDU5LDAsMTE2LDAsMCwxMDYsMSwwLAorICAgIDY4LDkzLDQ0LDAsMTI1LDIsMCwxMjEsMTQsMCwxMjQsMiwwLDEyNCwxLDAsCisgICAgMTMxLDEsMCw4Myw4NywxMTMsNTEsMCw0LDExNiw1LDAsMTA3LDEwLDAsMTE0LAorICAgIDk0LDAsMSwxLDEsMTE5LDUxLDAsODksMTEzLDUxLDAsODgsMTEzLDUxLDAsCisgICAgODcsMTAwLDEsMCw4MywxMDAsMSwwLDgzLDQxLDMsMTIyLDExMyw4MywxMDEsOTcsCisgICAgMTE0LDk5LDEwNCwzMiwxMTUsMTAxLDExMywxMTcsMTAxLDExMCw5OSwxMDEsMzIsMTExLDEwMiwzMiwKKyAgICAxMDQsMTExLDExMSwxMDcsMTE1LDMyLDEwMiwxMTEsMTE0LDMyLDk3LDMyLDEwMiwxMDUsMTEwLDEwMCwKKyAgICAxMDEsMTE0LDMyLDEwMiwxMTEsMTE0LDMyLDM5LDExMiw5NywxMTYsMTA0LDM5LDQ2LDEwLDEwLAorICAgIDMyLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDczLDEwMiwzMiwzOSwxMDQsMTExLDExMSwxMDcsCisgICAgMTE1LDM5LDMyLDEwNSwxMTUsMzIsMTAyLDk3LDEwOCwxMTUsMTAxLDMyLDExNiwxMDQsMTAxLDExMCwKKyAgICAzMiwxMTcsMTE1LDEwMSwzMiwxMTUsMTIxLDExNSw0NiwxMTIsOTcsMTE2LDEwNCw5NSwxMDQsMTExLAorICAgIDExMSwxMDcsMTE1LDQ2LDEwLDEwLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDc4LDEyMiwKKyAgICAyMywxMTUsMTIxLDExNSw0NiwxMTIsOTcsMTE2LDEwNCw5NSwxMDQsMTExLDExMSwxMDcsMTE1LDMyLAorICAgIDEwNSwxMTUsMzIsMTAxLDEwOSwxMTIsMTE2LDEyMSw0MSw2LDExNCw3LDAsMCwwLDIxOCwKKyAgICAxMCwxMTIsOTcsMTE2LDEwNCw5NSwxMDQsMTExLDExMSwxMDcsMTE1LDExNCwxNjcsMCwwLDAsCisgICAgMTE0LDE2OCwwLDAsMCwxMTQsMTY5LDAsMCwwLDExNCwxNTQsMCwwLDAsNDEsCisgICAgMywxMTQsMTAsMSwwLDAsMTE0LDM1LDAsMCwwLDkwLDQsMTA0LDExMSwxMTEsCisgICAgMTA3LDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLAorICAgIDIxOCwxMSw5NSwxMTIsOTcsMTE2LDEwNCw5NSwxMDQsMTExLDExMSwxMDcsMTE1LDI0LDcsMCwKKyAgICAwLDExNSwxNiwwLDAsMCwwLDcsMjUsMSwxNiwxLDE2LDEsMywxLAorICAgIDE0LDEsMTMsMSwxMiwyLDEyMiwyMiw4MCw5NywxMTYsMTA0LDcwLDEwNSwxMTAsMTAwLAorICAgIDEwMSwxMTQsNDYsOTUsMTEyLDk3LDExNiwxMDQsOTUsMTA0LDExMSwxMTEsMTA3LDExNSw5OSwyLAorICAgIDAsMCwwLDAsMCwwLDAsMywwLDAsMCwxOSwwLDAsMCw2NywKKyAgICAwLDAsMCwxMTUsMTIzLDAsMCwwLDEyNCwxLDAsMTAwLDEsMCwxMDcsMiwKKyAgICAwLDExNCw1MywwLDEyMSwxNiwwLDExNiwwLDAsMTA2LDEsMCwxMzEsMCwwLAorICAgIDEyNSwxLDAsODcsMTEwLDIyLDAsNCwxMTYsMiwwLDEwNywxMCwwLDExNCw1MiwKKyAgICAwLDEsMSwxLDEwMCwyLDAsODMsODksMTEwLDEsMCw4OCwxMjEsMTcsMCwKKyAgICAxMTYsMywwLDEwNiw0LDAsMTI0LDEsMCwyNSwxMjUsMiwwLDg3LDExMCw0NiwKKyAgICAwLDQsMTE2LDUsMCwxMDcsMTAsMCwxMTQsMTE4LDAsMSwxLDEsMTI0LDAsCisgICAgMCwxMDYsNiwwLDEyNCwxLDAsMTMxLDEsMCwxMjUsMiwwLDEyNCwyLDAsCisgICAgMTE2LDMsMCwxMDYsNCwwLDEyNCwxLDAsNjAsODksMTEwLDEsMCw4OCwxMjQsCisgICAgMiwwLDgzLDQxLDMsMTIyLDIxMCw3MSwxMDEsMTE2LDMyLDExNiwxMDQsMTAxLDMyLDEwMiwKKyAgICAxMDUsMTEwLDEwMCwxMDEsMTE0LDMyLDEwMiwxMTEsMTE0LDMyLDExNiwxMDQsMTAxLDMyLDExMiw5NywKKyAgICAxMTYsMTA0LDMyLDEwMSwxMTAsMTE2LDExNCwxMjEsMzIsMTAyLDExNCwxMTEsMTA5LDMyLDExNSwxMjEsCisgICAgMTE1LDQ2LDExMiw5NywxMTYsMTA0LDk1LDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDEwMSwxMTQsOTUsCisgICAgOTksOTcsOTksMTA0LDEwMSw0NiwxMCwxMCwzMiwzMiwzMiwzMiwzMiwzMiwzMiwzMiwKKyAgICA3MywxMDIsMzIsMTE2LDEwNCwxMDEsMzIsMTEyLDk3LDExNiwxMDQsMzIsMTAxLDExMCwxMTYsMTE0LAorICAgIDEyMSwzMiwxMDUsMTE1LDMyLDExMCwxMTEsMTE2LDMyLDEwNSwxMTAsMzIsMTE2LDEwNCwxMDEsMzIsCisgICAgOTksOTcsOTksMTA0LDEwMSw0NCwzMiwxMDIsMTA1LDExMCwxMDAsMzIsMTE2LDEwNCwxMDEsMzIsCisgICAgOTcsMTEyLDExMiwxMTQsMTExLDExMiwxMTQsMTA1LDk3LDExNiwxMDEsMzIsMTAyLDEwNSwxMTAsMTAwLAorICAgIDEwMSwxMTQsMTAsMzIsMzIsMzIsMzIsMzIsMzIsMzIsMzIsOTcsMTEwLDEwMCwzMiw5OSwKKyAgICA5Nyw5OSwxMDQsMTAxLDMyLDEwNSwxMTYsNDYsMzIsNzMsMTAyLDMyLDExMCwxMTEsMzIsMTAyLAorICAgIDEwNSwxMTAsMTAwLDEwMSwxMTQsMzIsMTA1LDExNSwzMiw5NywxMTgsOTcsMTA1LDEwOCw5Nyw5OCwKKyAgICAxMDgsMTAxLDQ0LDMyLDExNSwxMTYsMTExLDExNCwxMDEsMzIsNzgsMTExLDExMCwxMDEsNDYsMTAsCisgICAgMTAsMzIsMzIsMzIsMzIsMzIsMzIsMzIsMzIsMTE0LDMwLDAsMCwwLDc4LDQxLAorICAgIDcsMTE0LDMsMCwwLDAsMTE0LDQ1LDAsMCwwLDIxOCwxNyw3MCwxMDUsMTA4LAorICAgIDEwMSw3OCwxMTEsMTE2LDcwLDExMSwxMTcsMTEwLDEwMCw2OSwxMTQsMTE0LDExMSwxMTQsMTE0LDcsCisgICAgMCwwLDAsMTE0LDc1LDEsMCwwLDExNCw3OSwwLDAsMCwxMTQsNzksMSwKKyAgICAwLDAsNDEsMywxMTQsMTAsMSwwLDAsMTE0LDM1LDAsMCwwLDExNCw3NywKKyAgICAxLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLAorICAgIDAsMCwyMTgsMjAsOTUsMTEyLDk3LDExNiwxMDQsOTUsMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsCisgICAgMTAxLDExNCw5NSw5OSw5Nyw5OSwxMDQsMTAxLDQxLDcsMCwwLDExNSwyMiwwLDAsCisgICAgMCwwLDgsMTIsMSwzLDEsMTYsMSwxMywzLDksMSwzLDEsMTcsCisgICAgMSwxMywxLDE1LDEsMTgsMSwxMjIsMzEsODAsOTcsMTE2LDEwNCw3MCwxMDUsMTEwLAorICAgIDEwMCwxMDEsMTE0LDQ2LDk1LDExMiw5NywxMTYsMTA0LDk1LDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LAorICAgIDEwMSwxMTQsOTUsOTksOTcsOTksMTA0LDEwMSw5OSwzLDAsMCwwLDAsMCwwLAorICAgIDAsNiwwLDAsMCwzLDAsMCwwLDY3LDAsMCwwLDExNSwxMTMsMCwKKyAgICAwLDAsMTE2LDAsMCwxMjQsMiwwLDEwMCwxLDAsMTMxLDIsMCwxMTQsMzksCisgICAgMCwxMjQsMiwwLDEwNiwxLDAsMTI0LDEsMCwxMzEsMSwwLDkyLDIsMCwKKyAgICAxMjUsMywwLDEyNSw0LDAsMTEwLDIxLDAsMTI0LDIsMCwxMDYsMiwwLDEyNCwKKyAgICAxLDAsMTMxLDEsMCwxMjUsMywwLDEwMywwLDAsMTI1LDQsMCwxMjQsMywKKyAgICAwLDEwMCwwLDAsMTA3LDksMCwxMTQsODUsMCwxMTYsMywwLDEyNCwxLDAsCisgICAgMTI0LDMsMCwxMzEsMiwwLDgzLDExNiw0LDAsMTI0LDEsMCwxMDAsMCwwLAorICAgIDEzMSwyLDAsMTI1LDUsMCwxMjQsNCwwLDEyNCw1LDAsOTUsNSwwLDEyNCwKKyAgICA1LDAsODMsNDEsMiw3OCwxMTQsMTY2LDAsMCwwLDQxLDYsMTE0LDYwLDAsCisgICAgMCwwLDExNCwxNjYsMCwwLDAsMTE0LDEzLDEsMCwwLDExNCwxNzQsMCwwLAorICAgIDAsMTE0LDIxNiwwLDAsMCwxMTQsMjIwLDAsMCwwLDQxLDYsMTE0LDEwLDEsCisgICAgMCwwLDExNCwxNTksMCwwLDAsMTE0LDc3LDEsMCwwLDExNCwxNzAsMCwwLAorICAgIDAsMTE0LDE3MSwwLDAsMCwxMTQsMTc3LDAsMCwwLDExNCw0LDAsMCwwLAorICAgIDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDIxOCwxNiw5NSwxMDgsMTAxLDEwMywKKyAgICA5Nyw5OSwxMjEsOTUsMTAzLDEwMSwxMTYsOTUsMTE1LDExMiwxMDEsOTksNjMsNywwLDAsCisgICAgMTE1LDE4LDAsMCwwLDAsNCwxNSwxLDI0LDIsMTUsMSw2LDEsMTIsCisgICAgMSwxMywxLDE1LDEsOSwxLDEyMiwyNyw4MCw5NywxMTYsMTA0LDcwLDEwNSwxMTAsCisgICAgMTAwLDEwMSwxMTQsNDYsOTUsMTA4LDEwMSwxMDMsOTcsOTksMTIxLDk1LDEwMywxMDEsMTE2LDk1LAorICAgIDExNSwxMTIsMTAxLDk5LDc4LDk5LDQsMCwwLDAsMCwwLDAsMCw5LDAsCisgICAgMCwwLDUsMCwwLDAsNjcsMCwwLDAsMTE1LDI0MCwwLDAsMCwxMDMsCisgICAgMCwwLDEyNSw0LDAsMTIwLDIyNywwLDEyNCwyLDAsNjgsOTMsMTkxLDAsMTI1LAorICAgIDUsMCwxMTYsMCwwLDEyNCw1LDAsMTE2LDEsMCwxMTYsMiwwLDEwMiwyLAorICAgIDAsMTMxLDIsMCwxMTUsNDMsMCwxMTMsMTMsMCwxMjQsMCwwLDEwNiwzLDAsCisgICAgMTI0LDUsMCwxMzEsMSwwLDEyNSw2LDAsMTI0LDYsMCwxMDAsMSwwLDEwNywKKyAgICA5LDAsMTE0LDEzLDAsMTE2LDQsMCwxMjQsNiwwLDEwMCwyLDAsMTMxLDIsCisgICAgMCwxMTQsMTA2LDAsMTI0LDYsMCwxMDYsNSwwLDEyNCwxLDAsMTI0LDMsMCwKKyAgICAxMzEsMiwwLDEyNSw3LDAsMTEwLDE4LDAsMTI0LDAsMCwxMDYsNiwwLDEyNCwKKyAgICAxLDAsMTI0LDYsMCwxMzEsMiwwLDEyNSw3LDAsMTI0LDcsMCwxMDAsMSwKKyAgICAwLDEwNyw4LDAsMTE0LDEzOSwwLDExMywxMywwLDEyNCw3LDAsMTA2LDcsMCwKKyAgICAxMDAsMSwwLDEwNyw5LDAsMTE0LDE1OCwwLDEyNCw3LDAsODMsMTI0LDcsMCwKKyAgICAxMDYsOCwwLDEyNSw4LDAsMTI0LDgsMCwxMDAsMSwwLDEwNyw4LDAsMTE0LAorICAgIDE5MSwwLDExNiw5LDAsMTAwLDMsMCwxMzEsMSwwLDEzMCwxLDAsMTI0LDQsCisgICAgMCwxMDYsMTAsMCwxMjQsOCwwLDEzMSwxLDAsMSwxMTMsMTMsMCw4NywxMTYsCiAgICAgMTEsMCwxMjQsMSwwLDEwMCwxLDAsMTMxLDIsMCwxMjUsNywwLDEyNCw0LAogICAgIDAsMTI0LDcsMCw5NSw4LDAsMTI0LDcsMCw4MywxMDAsMSwwLDgzLDQxLAogICAgIDQsMTIyLDYzLDcwLDEwNSwxMTAsMTAwLDMyLDExNiwxMDQsMTAxLDMyLDEwOCwxMTEsOTcsMTAwLAogICAgIDEwMSwxMTQsMzIsMTExLDExNCwzMiwxMTAsOTcsMTA5LDEwMSwxMTUsMTEyLDk3LDk5LDEwMSw5NSwKICAgICAxMTIsOTcsMTE2LDEwNCwzMiwxMDIsMTExLDExNCwzMiwxMTYsMTA0LDEwNSwxMTUsMzIsMTA5LDExMSwKICAgICAxMDAsMTE3LDEwOCwxMDEsNDcsMTEyLDk3LDk5LDEwNyw5NywxMDMsMTAxLDMyLDExMCw5NywxMDksCi0gICAgMTAxLDQ2LDc4LDExNCwxNCwxLDAsMCwxMjIsMTksMTE1LDExMiwxMDEsOTksMzIsMTA5LAorICAgIDEwMSw0Niw3OCwxMTQsMTIsMSwwLDAsMTIyLDE5LDExNSwxMTIsMTAxLDk5LDMyLDEwOSwKICAgICAxMDUsMTE1LDExNSwxMDUsMTEwLDEwMywzMiwxMDgsMTExLDk3LDEwMCwxMDEsMTE0LDQxLDEyLDExNCwKLSAgICAxOTMsMCwwLDAsMjE4LDMsMTE1LDExNiwxMTQsMjE4LDUsOTgsMTIxLDExNiwxMDEsMTE1LAotICAgIDExNCw4MSwxLDAsMCwxMTQsNjAsMCwwLDAsMTE0LDE0LDEsMCwwLDExNCwKLSAgICA4MiwxLDAsMCwxMTQsMTcwLDAsMCwwLDExNCwyMjEsMCwwLDAsMTE0LDE1NCwKLSAgICAwLDAsMCwxMTQsMTk4LDAsMCwwLDExNCwyMTcsMCwwLDAsNDEsOSwxMTQsCi0gICAgMTIsMSwwLDAsMTE0LDE1OSwwLDAsMCwxMTQsMzUsMCwwLDAsMTE0LDEzLAorICAgIDE5MSwwLDAsMCwyMTgsMywxMTUsMTE2LDExNCwyMTgsNSw5OCwxMjEsMTE2LDEwMSwxMTUsCisgICAgMTE0LDgxLDEsMCwwLDExNCw2MCwwLDAsMCwxMTQsMTIsMSwwLDAsMTE0LAorICAgIDgyLDEsMCwwLDExNCwxNzAsMCwwLDAsMTE0LDIyMCwwLDAsMCwxMTQsMTU0LAorICAgIDAsMCwwLDExNCwxOTYsMCwwLDAsMTE0LDIxNiwwLDAsMCw0MSw5LDExNCwKKyAgICAxMCwxLDAsMCwxMTQsMTU5LDAsMCwwLDExNCwzNSwwLDAsMCwxMTQsMTEsCiAgICAgMSwwLDAsMjE4LDE0LDExMCw5NywxMDksMTAxLDExNSwxMTIsOTcsOTksMTAxLDk1LDExMiwKLSAgICA5NywxMTYsMTA0LDkwLDUsMTAxLDExMCwxMTYsMTE0LDEyMSwxMTQsNzgsMSwwLDAsMTE0LAotICAgIDE3OCwwLDAsMCwxMTQsMTcxLDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LAorICAgIDk3LDExNiwxMDQsOTAsNSwxMDEsMTEwLDExNiwxMTQsMTIxLDExNCw3NywxLDAsMCwxMTQsCisgICAgMTc3LDAsMCwwLDExNCwxNzEsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsCiAgICAgMCwwLDAsMTE0LDUsMCwwLDAsMjE4LDksOTUsMTAzLDEwMSwxMTYsOTUsMTE1LAotICAgIDExMiwxMDEsOTksMTEwLDcsMCwwLDExNSw0MCwwLDAsMCwwLDUsNiwxLAotICAgIDEzLDEsMjEsMSw2LDEsMTUsMSwxMiwxLDE1LDEsMjEsMiwxOCwxLAotICAgIDEyLDEsNiwxLDE1LDEsNCwxLDksMSwxMiwxLDE1LDUsMjAsMiwKKyAgICAxMTIsMTAxLDk5LDc4LDcsMCwwLDExNSw0MCwwLDAsMCwwLDUsNiwxLAorICAgIDEzLDEsMjEsMSwzLDEsMTUsMSwxMiwxLDE1LDEsMjEsMiwxOCwxLAorICAgIDEyLDEsMywxLDE1LDEsNCwxLDksMSwxMiwxLDEyLDUsMTcsMiwKICAgICAxNSwxLDksMSwxMjIsMjAsODAsOTcsMTE2LDEwNCw3MCwxMDUsMTEwLDEwMCwxMDEsMTE0LAogICAgIDQ2LDk1LDEwMywxMDEsMTE2LDk1LDExNSwxMTIsMTAxLDk5LDk5LDQsMCwwLDAsMCwKICAgICAwLDAsMCw2LDAsMCwwLDQsMCwwLDAsNjcsMCwwLDAsMTE1LAotICAgIDE0MywwLDAsMCwxMjQsMiwwLDEwMCwxLDAsMTA3LDgsMCwxMTQsMjQsMCwKLSAgICAxMTYsMCwwLDEwNiwxLDAsMTI1LDIsMCwxMTAsMCwwLDEyNCwwLDAsMTA2LAotICAgIDIsMCwxMjQsMSwwLDEyNCwyLDAsMTI0LDMsMCwxMzEsMywwLDEyNSw0LAotICAgIDAsMTI0LDQsMCwxMDAsMSwwLDEwNyw4LDAsMTE0LDYxLDAsMTAwLDEsMCwKLSAgICA4MywxMjQsNCwwLDEwNiwzLDAsMTAwLDEsMCwxMDcsOCwwLDExNCwxMzUsMCwKLSAgICAxMjQsNCwwLDEwNiw0LDAsMTI1LDUsMCwxMjQsNSwwLDExNCwxMjgsMCwxMDAsCi0gICAgMiwwLDEyNCw0LDAsOTUsNSwwLDExNiw2LDAsMTI0LDEsMCwxMjQsNSwKLSAgICAwLDEyNCwwLDAsMTA2LDIsMCwxMzEsMywwLDEyNCw0LDAsOTUsNCwwLAotICAgIDEyNCw0LDAsODMsMTAwLDEsMCw4MywxMTAsNCwwLDEyNCw0LDAsODMsMTAwLAotICAgIDEsMCw4Myw0MSwzLDEyMiw5OCwxMDIsMTA1LDExMCwxMDAsMzIsMTE2LDEwNCwxMDEsMzIsCi0gICAgMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMzIsMTExLDExMCwzMiwxMTUsMTIxLDExNSw0NiwxMTIsOTcsCi0gICAgMTE2LDEwNCwzMiwxMTEsMTE0LDMyLDM5LDExMiw5NywxMTYsMTA0LDM5LDMyLDk4LDk3LDExNSwKLSAgICAxMDEsMTAwLDMyLDExMSwxMTAsMzIsMTE1LDEyMSwxMTUsNDYsMTEyLDk3LDExNiwxMDQsOTUsMTA0LAotICAgIDExMSwxMTEsMTA3LDExNSwzMiw5NywxMTAsMTAwLDEwLDMyLDMyLDMyLDMyLDMyLDMyLDMyLAotICAgIDMyLDExNSwxMjEsMTE1LDQ2LDExMiw5NywxMTYsMTA0LDk1LDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LAotICAgIDEwMSwxMTQsOTUsOTksOTcsOTksMTA0LDEwMSw0Niw3OCw5MCw5LDExMCw5NywxMDksMTAxLAotICAgIDExNSwxMTIsOTcsOTksMTAxLDQxLDcsMTE0LDcsMCwwLDAsMTE0LDM1LDAsMCwKLSAgICAwLDExNCw4NiwxLDAsMCwxMTQsMTcwLDAsMCwwLDExNCwyMjEsMCwwLDAsCi0gICAgMTE0LDIxOCwwLDAsMCwxMTQsNjEsMSwwLDAsNDEsNiwxMTQsMTIsMSwwLAotICAgIDAsMTE0LDE1OSwwLDAsMCwxMTQsMzUsMCwwLDAsMTE0LDEzLDEsMCwwLAotICAgIDExNCwxNzgsMCwwLDAsMTE0LDg1LDEsMCwwLDExNCw0LDAsMCwwLDExNCwKLSAgICA0LDAsMCwwLDExNCw1LDAsMCwwLDExNCwxNCwxLDAsMCwxNDIsNywKLSAgICAwLDAsMTE1LDI2LDAsMCwwLDAsNCwxMiwxLDEyLDEsMjEsMSwxMiwKLSAgICAxLDQsMSwxNSwxLDksMSw2LDMsOSwxLDI0LDEsNCwyLDcsCi0gICAgMiwxMjIsMjAsODAsOTcsMTE2LDEwNCw3MCwxMDUsMTEwLDEwMCwxMDEsMTE0LDQ2LDEwMiwxMDUsCi0gICAgMTEwLDEwMCw5NSwxMTUsMTEyLDEwMSw5OSw5OSwzLDAsMCwwLDAsMCwwLDAsCi0gICAgNCwwLDAsMCwzLDAsMCwwLDY3LDAsMCwwLDExNSw0MSwwLDAsCi0gICAgMCwxMjQsMCwwLDEwNiwwLDAsMTI0LDEsMCwxMjQsMiwwLDEzMSwyLDAsCi0gICAgMTI1LDMsMCwxMjQsMywwLDEwMCwxLDAsMTA3LDgsMCwxMTQsMzQsMCwxMDAsCi0gICAgMSwwLDgzLDEyNCwzLDAsMTA2LDEsMCw4Myw0MSwyLDEyMiwxNzAsMTAyLDEwNSwKLSAgICAxMTAsMTAwLDMyLDExNiwxMDQsMTAxLDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDMyLDExMSwxMTAsCi0gICAgMzIsMTE1LDEyMSwxMTUsNDYsMTEyLDk3LDExNiwxMDQsMzIsMTExLDExNCwzMiwzOSwxMTIsOTcsCi0gICAgMTE2LDEwNCwzOSwzMiw5OCw5NywxMTUsMTAxLDEwMCwzMiwxMTEsMTEwLDMyLDExNSwxMjEsMTE1LAotICAgIDQ2LDExMiw5NywxMTYsMTA0LDk1LDEwNCwxMTEsMTExLDEwNywxMTUsMzIsOTcsMTEwLDEwMCwxMCwKLSAgICAzMiwzMiwzMiwzMiwzMiwzMiwzMiwzMiwxMTUsMTIxLDExNSw0NiwxMTIsOTcsMTE2LDEwNCwKLSAgICA5NSwxMDUsMTA5LDExMiwxMTEsMTE0LDExNiwxMDEsMTE0LDk1LDk5LDk3LDk5LDEwNCwxMDEsNDYsCi0gICAgMTAsMTAsMzIsMzIsMzIsMzIsMzIsMzIsMzIsMzIsODQsMTA0LDEwNSwxMTUsMzIsMTA5LAotICAgIDEwMSwxMTYsMTA0LDExMSwxMDAsMzIsMTA1LDExNSwzMiwxMDAsMTAxLDExMiwxMTQsMTAxLDk5LDk3LAotICAgIDExNiwxMDEsMTAwLDQ2LDMyLDMyLDg1LDExNSwxMDEsMzIsMTAyLDEwNSwxMTAsMTAwLDk1LDExNSwKLSAgICAxMTIsMTAxLDk5LDQwLDQxLDMyLDEwNSwxMTAsMTE1LDExNiwxMDEsOTcsMTAwLDQ2LDEwLDEwLAotICAgIDMyLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDc4LDQxLDIsMTE0LDE0LDEsMCwwLAotICAgIDExNCwxNzAsMCwwLDAsNDEsNCwxMTQsMTIsMSwwLDAsMTE0LDE1OSwwLDAsCi0gICAgMCwxMTQsMzUsMCwwLDAsMTE0LDE3OCwwLDAsMCwxMTQsNCwwLDAsMCwKLSAgICAxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsMTUsMSwwLDAsMTY0LAotICAgIDcsMCwwLDExNSw4LDAsMCwwLDAsOCwxOCwxLDEyLDEsNCwxLAotICAgIDEyMiwyMiw4MCw5NywxMTYsMTA0LDcwLDEwNSwxMTAsMTAwLDEwMSwxMTQsNDYsMTAyLDEwNSwxMTAsCi0gICAgMTAwLDk1LDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDQxLDEyLDExNCw1NywwLDAsMCwxMTQsCi0gICAgNTYsMCwwLDAsMTE0LDU4LDAsMCwwLDExNCw1OSwwLDAsMCwxMTQsMTksCi0gICAgMSwwLDAsMTE0LDc1LDEsMCwwLDExNCw4MCwxLDAsMCwxMTQsODEsMSwKLSAgICAwLDAsMTE0LDgyLDEsMCwwLDExNCw4NiwxLDAsMCwxMTQsMTQsMSwwLAotICAgIDAsMTE0LDE1LDEsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLAotICAgIDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDExNCw3NCwxLDAsMCw0OSwKLSAgICA3LDAsMCwxMTUsMjIsMCwwLDAsMTIsMiw2LDIsMTgsOCwxOCwxNywKLSAgICAxOCwxNywxOCwxNSwzLDEsMTgsMzEsMywxLDIxLDIxLDMsMSwxMTQsNzQsCi0gICAgMSwwLDAsOTksMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsCi0gICAgMywwLDAsMCw2NCwwLDAsMCwxMTUsMTMzLDAsMCwwLDEwMSwwLDAsCi0gICAgOTAsMSwwLDEwMCwwLDAsOTAsMiwwLDEwMCwxLDAsOTAsMywwLDEwMCwKLSAgICAyLDAsMTAwLDMsMCwxMzIsMCwwLDkwLDQsMCwxMDAsNCwwLDEwMCw1LAotICAgIDAsMTMyLDAsMCw5MCw1LDAsMTAxLDYsMCw5MCw3LDAsMTAwLDYsMCwKLSAgICAxMDAsNywwLDEzMiwwLDAsOTAsOCwwLDEwMCw4LDAsMTAwLDksMCwxMzIsCi0gICAgMCwwLDkwLDksMCwxMDAsMTAsMCwxMDAsMTEsMCwxMDAsMTIsMCwxMzIsMSwKLSAgICAwLDkwLDEwLDAsMTAwLDEzLDAsMTAwLDE0LDAsMTMyLDAsMCw5MCwxMSwwLAotICAgIDEwMSwxMiwwLDEwMCwxNSwwLDEwMCwxNiwwLDEzMiwwLDAsMTMxLDEsMCw5MCwKLSAgICAxMywwLDEwMCwxNywwLDEwMCwxOCwwLDEzMiwwLDAsOTAsMTQsMCwxMDAsMTAsCi0gICAgMCw4Myw0MSwxOSwyMTgsMTAsNzAsMTA1LDEwOCwxMDEsNzAsMTA1LDExMCwxMDAsMTAxLDExNCwKLSAgICAxMjIsMTcyLDcwLDEwNSwxMDgsMTAxLDQ1LDk4LDk3LDExNSwxMDEsMTAwLDMyLDEwMiwxMDUsMTEwLAotICAgIDEwMCwxMDEsMTE0LDQ2LDEwLDEwLDMyLDMyLDMyLDMyLDczLDExMCwxMTYsMTAxLDExNCw5NywKLSAgICA5OSwxMTYsMTA1LDExMSwxMTAsMTE1LDMyLDExOSwxMDUsMTE2LDEwNCwzMiwxMTYsMTA0LDEwMSwzMiwKLSAgICAxMDIsMTA1LDEwOCwxMDEsMzIsMTE1LDEyMSwxMTUsMTE2LDEwMSwxMDksMzIsOTcsMTE0LDEwMSwzMiwKLSAgICA5OSw5Nyw5OSwxMDQsMTAxLDEwMCwzMiwxMDIsMTExLDExNCwzMiwxMTIsMTAxLDExNCwxMDIsMTExLAotICAgIDExNCwxMDksOTcsMTEwLDk5LDEwMSw0NCwzMiw5OCwxMDEsMTA1LDExMCwxMDMsMTAsMzIsMzIsCi0gICAgMzIsMzIsMTE0LDEwMSwxMDIsMTE0LDEwMSwxMTUsMTA0LDEwMSwxMDAsMzIsMTE5LDEwNCwxMDEsMTEwLAotICAgIDMyLDExNiwxMDQsMTAxLDMyLDEwMCwxMDUsMTE0LDEwMSw5OSwxMTYsMTExLDExNCwxMjEsMzIsMTE2LAotICAgIDEwNCwxMDEsMzIsMTAyLDEwNSwxMTAsMTAwLDEwMSwxMTQsMzIsMTA1LDExNSwzMiwxMDQsOTcsMTEwLAotICAgIDEwMCwxMDgsMTA1LDExMCwxMDMsMzIsMTA0LDk3LDExNSwzMiw5OCwxMDEsMTAxLDExMCwzMiwxMDksCi0gICAgMTExLDEwMCwxMDUsMTAyLDEwNSwxMDEsMTAwLDQ2LDEwLDEwLDMyLDMyLDMyLDMyLDk5LDIsCi0gICAgMCwwLDAsMCwwLDAsMCw1LDAsMCwwLDUsMCwwLDAsNywKLSAgICAwLDAsMCwxMTUsMTIyLDAsMCwwLDEwMywwLDAsMTI1LDMsMCwxMjAsNTIsCi0gICAgMCwxMjQsMiwwLDY4LDkzLDQ0LDAsOTIsMiwwLDEzNywwLDAsMTI1LDQsCi0gICAgMCwxMjQsMywwLDEwNiwwLDAsMTM1LDAsMCwxMDIsMSwwLDEwMCwxLDAsCi0gICAgMTAwLDIsMCwxMzQsMCwwLDEyNCw0LDAsNjgsMTMxLDEsMCwxMzEsMSwwLAotICAgIDEsMTEzLDEzLDAsODcsMTI0LDMsMCwxMjQsMCwwLDk1LDEsMCwxMjQsMSwKLSAgICAwLDExMiw3OSwwLDEwMCwzLDAsMTI0LDAsMCw5NSwyLDAsMTAwLDYsMCwKLSAgICAxMjQsMCwwLDk1LDMsMCwxMTYsNCwwLDEzMSwwLDAsMTI0LDAsMCw5NSwKLSAgICA1LDAsMTE2LDQsMCwxMzEsMCwwLDEyNCwwLDAsOTUsNiwwLDEwMCw1LAotICAgIDAsODMsNDEsNywxMjIsMTU0LDczLDExMCwxMDUsMTE2LDEwNSw5NywxMDgsMTA1LDEyMiwxMDEsCi0gICAgMzIsMTE5LDEwNSwxMTYsMTA0LDMyLDExNiwxMDQsMTAxLDMyLDExMiw5NywxMTYsMTA0LDMyLDExNiwKLSAgICAxMTEsMzIsMTE1LDEwMSw5NywxMTQsOTksMTA0LDMyLDExMSwxMTAsMzIsOTcsMTEwLDEwMCwzMiwKLSAgICA5NywzMiwxMTgsOTcsMTE0LDEwNSw5Nyw5OCwxMDgsMTAxLDMyLDExMCwxMTcsMTA5LDk4LDEwMSwKLSAgICAxMTQsMzIsMTExLDEwMiwxMCwzMiwzMiwzMiwzMiwzMiwzMiwzMiwzMiw1MCw0NSwxMTYsCi0gICAgMTE3LDExMiwxMDgsMTAxLDExNSwzMiw5OSwxMTEsMTEwLDExNiw5NywxMDUsMTEwLDEwNSwxMTAsMTAzLAotICAgIDMyLDExNiwxMDQsMTAxLDMyLDEwOCwxMTEsOTcsMTAwLDEwMSwxMTQsMzIsOTcsMTEwLDEwMCwzMiwKLSAgICAxMTYsMTA0LDEwMSwzMiwxMDIsMTA1LDEwOCwxMDEsMzIsMTE1LDExNywxMDIsMTAyLDEwNSwxMjAsMTAxLAotICAgIDExNSwzMiwxMTYsMTA0LDEwMSwzMiwxMDgsMTExLDk3LDEwMCwxMDEsMTE0LDEwLDMyLDMyLDMyLAotICAgIDMyLDMyLDMyLDMyLDMyLDExNCwxMDEsOTksMTExLDEwMywxMTAsMTA1LDEyMiwxMDEsMTE1LDQ2LAotICAgIDk5LDEsMCwwLDAsMCwwLDAsMCwyLDAsMCwwLDMsMCwwLAotICAgIDAsNTEsMCwwLDAsMTE1LDI3LDAsMCwwLDEyNCwwLDAsOTMsMTcsMCwKLSAgICAxMjUsMSwwLDEyNCwxLDAsMTM2LDAsMCwxMDIsMiwwLDg2LDEsMTEzLDMsCi0gICAgMCwxMDAsMCwwLDgzLDQxLDEsNzgsMTE0LDQsMCwwLDAsNDEsMiwxMTQsCi0gICAgMjIsMCwwLDAsMTE0LDU4LDEsMCwwLDQxLDEsMTE0LDE3MCwwLDAsMCwKLSAgICAxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsNzcsMCwwLDAsMTkzLAotICAgIDcsMCwwLDExNSwyLDAsMCwwLDYsMCwxMjIsMzgsNzAsMTA1LDEwOCwxMDEsCi0gICAgNzAsMTA1LDExMCwxMDAsMTAxLDExNCw0Niw5NSw5NSwxMDUsMTEwLDEwNSwxMTYsOTUsOTUsNDYsCi0gICAgNjAsMTA4LDExMSw5OSw5NywxMDgsMTE1LDYyLDQ2LDYwLDEwMywxMDEsMTEwLDEwMSwxMjAsMTEyLAotICAgIDExNCw2MiwxMTQsMTE2LDAsMCwwLDExNCwyOSwwLDAsMCw3OCwxMTQsMTM5LDAsCi0gICAgMCwwLDQxLDcsMTE0LDE5OCwwLDAsMCwyMTgsOCw5NSwxMDgsMTExLDk3LDEwMCwKLSAgICAxMDEsMTE0LDExNSwxMTQsMzUsMCwwLDAsMjE4LDExLDk1LDExMiw5NywxMTYsMTA0LDk1LAotICAgIDEwOSwxMTYsMTA1LDEwOSwxMDEsMjE4LDMsMTE1LDEwMSwxMTYsMjE4LDExLDk1LDExMiw5NywxMTYsCi0gICAgMTA0LDk1LDk5LDk3LDk5LDEwNCwxMDEsMjE4LDE5LDk1LDExNCwxMDEsMTA4LDk3LDEyMCwxMDEsCi0gICAgMTAwLDk1LDExMiw5NywxMTYsMTA0LDk1LDk5LDk3LDk5LDEwNCwxMDEsNDEsNSwxMTQsNzEsCi0gICAgMCwwLDAsMTE0LDM1LDAsMCwwLDIxOCwxNCwxMDgsMTExLDk3LDEwMCwxMDEsMTE0LAotICAgIDk1LDEwMCwxMDEsMTE2LDk3LDEwNSwxMDgsMTE1LDkwLDcsMTA4LDExMSw5NywxMDAsMTAxLDExNCwKLSAgICAxMTUsMTE0LDEyNiwwLDAsMCwxMTQsNCwwLDAsMCw0MSwxLDExNCwxNzAsMCwKLSAgICAwLDAsMTE0LDUsMCwwLDAsMTE0LDcyLDAsMCwwLDE4Nyw3LDAsMCwKLSAgICAxMTUsMTYsMCwwLDAsMCw0LDYsMSwxOSwxLDM2LDEsOSwyLDE1LAotICAgIDEsOSwxLDEyLDEsMTIyLDE5LDcwLDEwNSwxMDgsMTAxLDcwLDEwNSwxMTAsMTAwLDEwMSwKLSAgICAxMTQsNDYsOTUsOTUsMTA1LDExMCwxMDUsMTE2LDk1LDk1LDk5LDEsMCwwLDAsMCwKLSAgICAwLDAsMCwxLDAsMCwwLDIsMCwwLDAsNjcsMCwwLDAsMTE1LAotICAgIDEzLDAsMCwwLDEwMCwzLDAsMTI0LDAsMCw5NSwwLDAsMTAwLDIsMCwKLSAgICA4Myw0MSw0LDEyMiwzMSw3MywxMTAsMTE4LDk3LDEwOCwxMDUsMTAwLDk3LDExNiwxMDEsMzIsCi0gICAgMTE2LDEwNCwxMDEsMzIsMTAwLDEwNSwxMTQsMTAxLDk5LDExNiwxMTEsMTE0LDEyMSwzMiwxMDksMTE2LAotICAgIDEwNSwxMDksMTAxLDQ2LDExNCwyOSwwLDAsMCw3OCwxMTQsMTM5LDAsMCwwLDQxLAotICAgIDEsMTE0LDg5LDEsMCwwLDQxLDEsMTE0LDcxLDAsMCwwLDExNCw0LDAsCi0gICAgMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDExNCw3NSwxLDAsCi0gICAgMCwyMDEsNywwLDAsMTE1LDIsMCwwLDAsMCwyLDEyMiwyOCw3MCwxMDUsCi0gICAgMTA4LDEwMSw3MCwxMDUsMTEwLDEwMCwxMDEsMTE0LDQ2LDEwNSwxMTAsMTE4LDk3LDEwOCwxMDUsMTAwLAotICAgIDk3LDExNiwxMDEsOTUsOTksOTcsOTksMTA0LDEwMSwxMTUsOTksMiwwLDAsMCwwLAotICAgIDAsMCwwLDMsMCwwLDAsMiwwLDAsMCw2NywwLDAsMCwxMTUsCi0gICAgNTksMCwwLDAsMTI0LDAsMCwxMDYsMCwwLDEyNCwxLDAsMTMxLDEsMCwKLSAgICAxMjUsMiwwLDEyNCwyLDAsMTAwLDEsMCwxMDcsOCwwLDExNCwzNywwLDEwMCwKLSAgICAxLDAsMTAzLDAsMCwxMDIsMiwwLDgzLDEyNCwyLDAsMTA2LDEsMCwxMjQsCi0gICAgMiwwLDEwNiwyLDAsMTEyLDU1LDAsMTAzLDAsMCwxMDIsMiwwLDgzLDQxLAotICAgIDIsMTIyLDE5Nyw4NCwxMTQsMTIxLDMyLDExNiwxMTEsMzIsMTAyLDEwNSwxMTAsMTAwLDMyLDk3LAotICAgIDMyLDEwOCwxMTEsOTcsMTAwLDEwMSwxMTQsMzIsMTAyLDExMSwxMTQsMzIsMTE2LDEwNCwxMDEsMzIsCi0gICAgMTE1LDExMiwxMDEsOTksMTA1LDEwMiwxMDUsMTAxLDEwMCwzMiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwKLSAgICA0NCwzMiwxMTEsMTE0LDMyLDExNiwxMDQsMTAxLDMyLDExMCw5NywxMDksMTAxLDExNSwxMTIsOTcsCi0gICAgOTksMTAxLDEwLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDExMiw5Nyw5OSwxMDcsOTcsCi0gICAgMTAzLDEwMSwzMiwxMTIsMTExLDExNCwxMTYsMTA1LDExMSwxMTAsMTE1LDQ2LDMyLDgyLDEwMSwxMTYsCi0gICAgMTE3LDExNCwxMTAsMTE1LDMyLDQwLDEwOCwxMTEsOTcsMTAwLDEwMSwxMTQsNDQsMzIsMTA4LDEwNSwKLSAgICAxMTUsMTE2LDQ1LDExMSwxMDIsNDUsMTEyLDExMSwxMTQsMTE2LDEwNSwxMTEsMTEwLDExNSw0MSw0NiwKLSAgICAxMCwxMCwzMiwzMiwzMiwzMiwzMiwzMiwzMiwzMiw4NCwxMDQsMTA1LDExNSwzMiwxMDksCi0gICAgMTAxLDExNiwxMDQsMTExLDEwMCwzMiwxMDUsMTE1LDMyLDEwMCwxMDEsMTEyLDExNCwxMDEsOTksOTcsCi0gICAgMTE2LDEwMSwxMDAsNDYsMzIsMzIsODUsMTE1LDEwMSwzMiwxMDIsMTA1LDExMCwxMDAsOTUsMTE1LAotICAgIDExMiwxMDEsOTksNDAsNDEsMzIsMTA1LDExMCwxMTUsMTE2LDEwMSw5NywxMDAsNDYsMTAsMTAsCi0gICAgMzIsMzIsMzIsMzIsMzIsMzIsMzIsMzIsNzgsNDEsMywxMTQsMTQsMSwwLDAsCi0gICAgMTE0LDE3MCwwLDAsMCwxMTQsMjIxLDAsMCwwLDQxLDMsMTE0LDcxLDAsMCwKLSAgICAwLDExNCwxNTksMCwwLDAsMTE0LDE3OCwwLDAsMCwxMTQsNCwwLDAsMCwKLSAgICAxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsMTY2LDAsMCwwLDIwNywKLSAgICA3LDAsMCwxMTUsOCwwLDAsMCwwLDcsMTUsMSwxMiwxLDEwLDEsCi0gICAgMTIyLDIyLDcwLDEwNSwxMDgsMTAxLDcwLDEwNSwxMTAsMTAwLDEwMSwxMTQsNDYsMTAyLDEwNSwxMTAsCi0gICAgMTAwLDk1LDEwOCwxMTEsOTcsMTAwLDEwMSwxMTQsOTksNiwwLDAsMCwwLDAsMCwKLSAgICAwLDcsMCwwLDAsNywwLDAsMCw2NywwLDAsMCwxMTUsNDAsMCwKLSAgICAwLDAsMTI0LDEsMCwxMjQsMiwwLDEyNCwzLDAsMTMxLDIsMCwxMjUsNiwKLSAgICAwLDExNiwwLDAsMTI0LDIsMCwxMjQsMywwLDEwMCwxLDAsMTI0LDYsMCwKLSAgICAxMDAsMiwwLDEyNCw0LDAsMTMxLDIsMiw4Myw0MSwzLDc4LDExNCwxNzAsMCwKLSAgICAwLDAsMTE0LDIyMSwwLDAsMCw0MSwxLDExNCwyNDAsMCwwLDAsNDEsNywKLSAgICAxMTQsNzEsMCwwLDAsMTE0LDI0NCwwLDAsMCwxMTQsMTU5LDAsMCwwLDExNCwKLSAgICAzNSwwLDAsMCwxMTQsMjI5LDAsMCwwLDExNCwxMywxLDAsMCwxMTQsMTcwLAotICAgIDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsCi0gICAgMCwwLDExNCw4NiwxLDAsMCwyMTksNywwLDAsMTE1LDYsMCwwLDAsCi0gICAgMCwxLDE1LDEsMTgsMSwxMjIsMjAsNzAsMTA1LDEwOCwxMDEsNzAsMTA1LDExMCwxMDAsCi0gICAgMTAxLDExNCw0Niw5NSwxMDMsMTAxLDExNiw5NSwxMTUsMTEyLDEwMSw5OSw3OCw5OSwzLDAsCi0gICAgMCwwLDAsMCwwLDAsMTQsMCwwLDAsMTUsMCwwLDAsNjcsMCwKLSAgICAwLDAsMTE1LDI0MCwxLDAsMCwxMDAsMSwwLDEyNSwzLDAsMTI0LDEsMCwKLSAgICAxMDYsMCwwLDEwMCwyLDAsMTMxLDEsMCwxMDAsMywwLDI1LDEyNSw0LDAsCi0gICAgMTIxLDM0LDAsMTE2LDEsMCwxMjQsMCwwLDEwNiwyLDAsMTEyLDQ5LDAsMTE2LAotICAgIDMsMCwxMDYsNCwwLDEzMSwwLDAsMTMxLDEsMCwxMDYsNSwwLDEyNSw1LAotICAgIDAsODcsMTEwLDI0LDAsNCwxMTYsNiwwLDEwNywxMCwwLDExNCw4NSwwLDEsCi0gICAgMSwxLDEwMCwxMCwwLDEyNSw1LDAsODksMTEwLDEsMCw4OCwxMjQsNSwwLAotICAgIDEyNCwwLDAsMTA2LDcsMCwxMDcsMywwLDExNCwxMjMsMCwxMjQsMCwwLDEwNiwKLSAgICA4LDAsMTMxLDAsMCwxLDEyNCw1LDAsMTI0LDAsMCw5NSw3LDAsMTEwLAotICAgIDAsMCwxMTYsOSwwLDEzMSwwLDAsMTE0LDE1NiwwLDEyNCwwLDAsMTA2LDEwLAotICAgIDAsMTI1LDYsMCwxMjQsNCwwLDEwNiwxMSwwLDEzMSwwLDAsMTI1LDcsMCwKLSAgICAxMTAsMTUsMCwxMjQsMCwwLDEwNiwxMiwwLDEyNSw2LDAsMTI0LDQsMCwxMjUsCi0gICAgNywwLDEyNCw3LDAsMTI0LDYsMCwxMDcsNiwwLDExNCw1MSwxLDExNiwxMywKLSAgICAwLDEyNCwwLDAsMTA2LDIsMCwxMjQsNCwwLDEzMSwyLDAsMTI1LDgsMCwKLSAgICAxMjAsMTAzLDAsMTI0LDAsMCwxMDYsMTQsMCw2OCw5Myw3NywwLDkyLDIsMCwKLSAgICAxMjUsOSwwLDEyNSwxMCwwLDEwMCw1LDAsMTI0LDksMCwyMywxMjUsMTEsMCwKLSAgICAxMTYsMTMsMCwxMjQsOCwwLDEyNCwxMSwwLDEzMSwyLDAsMTI1LDEyLDAsMTE2LAotICAgIDE1LDAsMTI0LDEyLDAsMTMxLDEsMCwxMTQsMjExLDAsMTI0LDAsMCwxMDYsMTYsCi0gICAgMCwxMjQsMTAsMCwxMjQsMSwwLDEyNCwxMiwwLDEyNCw4LDAsMTAzLDEsMCwKLSAgICAxMjQsMiwwLDEzMSw1LDAsODMsMTEzLDIxMSwwLDg3LDExNiwxNywwLDEyNCw4LAotICAgIDAsMTMxLDEsMCwxMjUsMywwLDExMCwwLDAsMTIwLDEyNiwwLDEyNCwwLDAsCi0gICAgMTA2LDE0LDAsNjgsOTMsMTE1LDAsOTIsMiwwLDEyNSw5LDAsMTI1LDEwLDAsCi0gICAgMTE2LDEzLDAsMTI0LDAsMCwxMDYsMiwwLDEyNCw0LDAsMTI0LDksMCwyMywKLSAgICAxMzEsMiwwLDEyNSwxMiwwLDExNiwxOCwwLDEwMCw2LDAsMTA2LDE5LDAsMTI0LAotICAgIDEyLDAsMTMxLDEsMCwxMDAsNywwLDEwMCwzLDAsMTMxLDEsMSwxLDEyNCwKLSAgICA3LDAsMTI0LDksMCwyMywxMjQsNiwwLDEwNyw2LDAsMTE0LDYxLDEsMTE2LAotICAgIDE1LDAsMTI0LDEyLDAsMTMxLDEsMCwxMTQsMTc2LDEsMTI0LDAsMCwxMDYsMTYsCi0gICAgMCwxMjQsMTAsMCwxMjQsMSwwLDEyNCwxMiwwLDEwMCw4LDAsMTI0LDIsMCwKLSAgICAxMzEsNSwwLDgzLDExMyw2MSwxLDExMyw2MSwxLDg3LDEyNCwzLDAsMTE0LDIzNiwKLSAgICAxLDExNiwxOCwwLDEwMCw5LDAsMTA2LDE5LDAsMTI0LDgsMCwxMzEsMSwwLAotICAgIDEzMSwxLDAsMSwxMTYsMjAsMCwxMjQsMSwwLDEwMCw4LDAsMTMxLDIsMCwKLSAgICAxMjUsMTMsMCwxMjQsOCwwLDEwMywxLDAsMTI0LDEzLDAsOTUsMjEsMCwxMjQsCi0gICAgMTMsMCw4MywxMDAsOCwwLDgzLDQxLDExLDEyMiwxMjUsODQsMTE0LDEyMSwzMiwxMTYsCi0gICAgMTExLDMyLDEwMiwxMDUsMTEwLDEwMCwzMiw5NywzMiwxMDgsMTExLDk3LDEwMCwxMDEsMTE0LDMyLAotICAgIDEwMiwxMTEsMTE0LDMyLDExNiwxMDQsMTAxLDMyLDExNSwxMTIsMTAxLDk5LDEwNSwxMDIsMTA1LDEwMSwKLSAgICAxMDAsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsNDQsMzIsMTExLDExNCwzMiwxMTYsMTA0LDEwMSwKLSAgICAzMiwxMTAsOTcsMTA5LDEwMSwxMTUsMTEyLDk3LDk5LDEwMSwxMCwzMiwzMiwzMiwzMiwzMiwKLSAgICAzMiwzMiwzMiwxMTIsOTcsOTksMTA3LDk3LDEwMywxMDEsMzIsMTEyLDExMSwxMTQsMTE2LDEwNSwKLSAgICAxMTEsMTEwLDExNSw0NiwzMiw4MiwxMDEsMTE2LDExNywxMTQsMTEwLDExNSwzMiw0MCwxMDgsMTExLAotICAgIDk3LDEwMCwxMDEsMTE0LDQ0LDMyLDEwOCwxMDUsMTE1LDExNiw0NSwxMTEsMTAyLDQ1LDExMiwxMTEsCi0gICAgMTE0LDExNiwxMDUsMTExLDExMCwxMTUsNDEsNDYsNzAsMTE0LDExNiwwLDAsMCwxMTQsMTE1LAotICAgIDAsMCwwLDExNCwyOSwwLDAsMCwxMTQsNzIsMCwwLDAsMTIyLDksMTE2LAotICAgIDExNCwxMjEsMTA1LDExMCwxMDMsMzIsMTIzLDEyNSwxMTQsMTQ2LDAsMCwwLDc4LDEyMiwyNSwKLSAgICAxMTIsMTExLDExNSwxMTUsMTA1LDk4LDEwOCwxMDEsMzIsMTEwLDk3LDEwOSwxMDEsMTE1LDExMiw5NywKLSAgICA5OSwxMDEsMzIsMTAyLDExMSwxMTQsMzIsMTIzLDEyNSwxMTQsMTM5LDAsMCwwLDQxLDIyLAotICAgIDExNCwzMiwwLDAsMCwxMTQsMzksMCwwLDAsMTE0LDM1LDAsMCwwLDExNCwKLSAgICAzLDAsMCwwLDExNCw0NSwwLDAsMCwxMTQsNTQsMSwwLDAsMTE0LDQwLAotICAgIDAsMCwwLDExNCw4OSwxLDAsMCwyMTgsMTEsOTUsMTAyLDEwNSwxMDgsMTA4LDk1LAotICAgIDk5LDk3LDk5LDEwNCwxMDEsMTE0LDYsMCwwLDAsMTE0LDkyLDEsMCwwLDExNCwKLSAgICAxNDAsMCwwLDAsMTE0LDkxLDEsMCwwLDExNCwyOCwwLDAsMCwxMTQsODgsCi0gICAgMSwwLDAsMTE0LDQ0LDAsMCwwLDExNCw4NiwxLDAsMCwxMTQsNDYsMCwKLSAgICAwLDAsMTE0LDE1MywwLDAsMCwxMTQsNDcsMCwwLDAsMTE0LDIxNywwLDAsCi0gICAgMCwxMTQsMjIxLDAsMCwwLDQxLDE0LDExNCw3MSwwLDAsMCwxMTQsMTU5LDAsCi0gICAgMCwwLDExNCwxMywxLDAsMCw5MCwxMiwxMDUsMTE1LDk1LDExMCw5NywxMDksMTAxLAotICAgIDExNSwxMTIsOTcsOTksMTAxLDkwLDExLDExNiw5NywxMDUsMTA4LDk1LDEwOSwxMTEsMTAwLDExNywKLSAgICAxMDgsMTAxLDExNCwxODQsMCwwLDAsOTAsNSw5OSw5Nyw5OSwxMDQsMTAxLDkwLDEyLAotICAgIDk5LDk3LDk5LDEwNCwxMDEsOTUsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsOTAsOSw5OCw5NywKLSAgICAxMTUsMTAxLDk1LDExMiw5NywxMTYsMTA0LDExNCw1OCwxLDAsMCwxMTQsMjQ0LDAsMCwKLSAgICAwLDkwLDEzLDEwNSwxMTAsMTA1LDExNiw5NSwxMDIsMTA1LDEwOCwxMDEsMTEwLDk3LDEwOSwxMDEsCi0gICAgOTAsOSwxMDIsMTE3LDEwOCwxMDgsOTUsMTEyLDk3LDExNiwxMDQsMTE0LDE3OCwwLDAsMCwKKyAgICAxNDAsMCwwLDAsMTI0LDIsMCwxMDAsMSwwLDEwNyw4LDAsMTE0LDIxLDAsCisgICAgMTE2LDAsMCwxMDYsMSwwLDEyNSwyLDAsMTI0LDAsMCwxMDYsMiwwLDEyNCwKKyAgICAxLDAsMTI0LDIsMCwxMjQsMywwLDEzMSwzLDAsMTI1LDQsMCwxMjQsNCwKKyAgICAwLDEwMCwxLDAsMTA3LDgsMCwxMTQsNTgsMCwxMDAsMSwwLDgzLDEyNCw0LAorICAgIDAsMTA2LDMsMCwxMDAsMSwwLDEwNyw4LDAsMTE0LDEzMiwwLDEyNCw0LDAsCisgICAgMTA2LDQsMCwxMjUsNSwwLDEyNCw1LDAsMTE0LDEyNSwwLDEwMCwyLDAsMTI0LAorICAgIDQsMCw5NSw1LDAsMTE2LDYsMCwxMjQsMSwwLDEyNCw1LDAsMTI0LDAsCisgICAgMCwxMDYsMiwwLDEzMSwzLDAsMTI0LDQsMCw5NSw0LDAsMTI0LDQsMCwKKyAgICA4MywxMDAsMSwwLDgzLDExMCw0LDAsMTI0LDQsMCw4MywxMDAsMSwwLDgzLAorICAgIDQxLDMsMTIyLDk4LDEwMiwxMDUsMTEwLDEwMCwzMiwxMTYsMTA0LDEwMSwzMiwxMDksMTExLDEwMCwKKyAgICAxMTcsMTA4LDEwMSwzMiwxMTEsMTEwLDMyLDExNSwxMjEsMTE1LDQ2LDExMiw5NywxMTYsMTA0LDMyLAorICAgIDExMSwxMTQsMzIsMzksMTEyLDk3LDExNiwxMDQsMzksMzIsOTgsOTcsMTE1LDEwMSwxMDAsMzIsCisgICAgMTExLDExMCwzMiwxMTUsMTIxLDExNSw0NiwxMTIsOTcsMTE2LDEwNCw5NSwxMDQsMTExLDExMSwxMDcsCisgICAgMTE1LDMyLDk3LDExMCwxMDAsMTAsMzIsMzIsMzIsMzIsMzIsMzIsMzIsMzIsMTE1LDEyMSwKKyAgICAxMTUsNDYsMTEyLDk3LDExNiwxMDQsOTUsMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsMTAxLDExNCw5NSwKKyAgICA5OSw5Nyw5OSwxMDQsMTAxLDQ2LDc4LDkwLDksMTEwLDk3LDEwOSwxMDEsMTE1LDExMiw5NywKKyAgICA5OSwxMDEsNDEsNywxMTQsNywwLDAsMCwxMTQsMzUsMCwwLDAsMTE0LDg2LAorICAgIDEsMCwwLDExNCwxNzAsMCwwLDAsMTE0LDIyMCwwLDAsMCwxMTQsMjE3LDAsCisgICAgMCwwLDExNCw2MCwxLDAsMCw0MSw2LDExNCwxMCwxLDAsMCwxMTQsMTU5LAorICAgIDAsMCwwLDExNCwzNSwwLDAsMCwxMTQsMTEsMSwwLDAsMTE0LDE3NywwLAorICAgIDAsMCwxMTQsODUsMSwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLAorICAgIDAsMTE0LDUsMCwwLDAsMTE0LDEyLDEsMCwwLDExMCw3LDAsMCwxMTUsCisgICAgMjYsMCwwLDAsMCw0LDEyLDEsOSwxLDIxLDEsMTIsMSw0LDEsCisgICAgMTUsMSw5LDEsNiwzLDksMSwyNCwxLDQsMiw3LDIsMTIyLDIwLAorICAgIDgwLDk3LDExNiwxMDQsNzAsMTA1LDExMCwxMDAsMTAxLDExNCw0NiwxMDIsMTA1LDExMCwxMDAsOTUsCisgICAgMTE1LDExMiwxMDEsOTksOTksMywwLDAsMCwwLDAsMCwwLDQsMCwwLAorICAgIDAsMywwLDAsMCw2NywwLDAsMCwxMTUsNDEsMCwwLDAsMTI0LDAsCisgICAgMCwxMDYsMCwwLDEyNCwxLDAsMTI0LDIsMCwxMzEsMiwwLDEyNSwzLDAsCisgICAgMTI0LDMsMCwxMDAsMSwwLDEwNyw4LDAsMTE0LDM0LDAsMTAwLDEsMCw4MywKKyAgICAxMjQsMywwLDEwNiwxLDAsODMsNDEsMiwxMjIsMTcwLDEwMiwxMDUsMTEwLDEwMCwzMiwKKyAgICAxMTYsMTA0LDEwMSwzMiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwzMiwxMTEsMTEwLDMyLDExNSwxMjEsCisgICAgMTE1LDQ2LDExMiw5NywxMTYsMTA0LDMyLDExMSwxMTQsMzIsMzksMTEyLDk3LDExNiwxMDQsMzksCisgICAgMzIsOTgsOTcsMTE1LDEwMSwxMDAsMzIsMTExLDExMCwzMiwxMTUsMTIxLDExNSw0NiwxMTIsOTcsCisgICAgMTE2LDEwNCw5NSwxMDQsMTExLDExMSwxMDcsMTE1LDMyLDk3LDExMCwxMDAsMTAsMzIsMzIsMzIsCisgICAgMzIsMzIsMzIsMzIsMzIsMTE1LDEyMSwxMTUsNDYsMTEyLDk3LDExNiwxMDQsOTUsMTA1LDEwOSwKKyAgICAxMTIsMTExLDExNCwxMTYsMTAxLDExNCw5NSw5OSw5Nyw5OSwxMDQsMTAxLDQ2LDEwLDEwLDMyLAorICAgIDMyLDMyLDMyLDMyLDMyLDMyLDMyLDg0LDEwNCwxMDUsMTE1LDMyLDEwOSwxMDEsMTE2LDEwNCwKKyAgICAxMTEsMTAwLDMyLDEwNSwxMTUsMzIsMTAwLDEwMSwxMTIsMTE0LDEwMSw5OSw5NywxMTYsMTAxLDEwMCwKKyAgICA0NiwzMiwzMiw4NSwxMTUsMTAxLDMyLDEwMiwxMDUsMTEwLDEwMCw5NSwxMTUsMTEyLDEwMSw5OSwKKyAgICA0MCw0MSwzMiwxMDUsMTEwLDExNSwxMTYsMTAxLDk3LDEwMCw0NiwxMCwxMCwzMiwzMiwzMiwKKyAgICAzMiwzMiwzMiwzMiwzMiw3OCw0MSwyLDExNCwxMiwxLDAsMCwxMTQsMTcwLDAsCisgICAgMCwwLDQxLDQsMTE0LDEwLDEsMCwwLDExNCwxNTksMCwwLDAsMTE0LDM1LAorICAgIDAsMCwwLDExNCwxNzcsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwKKyAgICAwLDAsMTE0LDUsMCwwLDAsMTE0LDEzLDEsMCwwLDEzMiw3LDAsMCwKKyAgICAxMTUsOCwwLDAsMCwwLDgsMTgsMSwxMiwxLDQsMSwxMjIsMjIsODAsCisgICAgOTcsMTE2LDEwNCw3MCwxMDUsMTEwLDEwMCwxMDEsMTE0LDQ2LDEwMiwxMDUsMTEwLDEwMCw5NSwxMDksCisgICAgMTExLDEwMCwxMTcsMTA4LDEwMSw0MSwxMiwxMTQsNTcsMCwwLDAsMTE0LDU2LDAsMCwKKyAgICAwLDExNCw1OCwwLDAsMCwxMTQsNTksMCwwLDAsMTE0LDE3LDEsMCwwLAorICAgIDExNCw3NCwxLDAsMCwxMTQsNzksMSwwLDAsMTE0LDgxLDEsMCwwLDExNCwKKyAgICA4MiwxLDAsMCwxMTQsODYsMSwwLDAsMTE0LDEyLDEsMCwwLDExNCwxMywKKyAgICAxLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLAorICAgIDAsMCwxMTQsNSwwLDAsMCwxMTQsNzMsMSwwLDAsMTIsNywwLDAsCisgICAgMTE1LDIyLDAsMCwwLDEyLDIsNiwyLDE4LDgsMTgsMTcsMTgsMjIsMTgsCisgICAgMTUsMywxLDE4LDMxLDMsMSwyMSwyMSwzLDEsMTE0LDczLDEsMCwwLAorICAgIDk5LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDMsMCwwLAorICAgIDAsNjQsMCwwLDAsMTE1LDEzMywwLDAsMCwxMDEsMCwwLDkwLDEsMCwKKyAgICAxMDAsMCwwLDkwLDIsMCwxMDAsMSwwLDkwLDMsMCwxMDAsMiwwLDEwMCwKKyAgICAzLDAsMTMyLDAsMCw5MCw0LDAsMTAwLDQsMCwxMDAsNSwwLDEzMiwwLAorICAgIDAsOTAsNSwwLDEwMSw2LDAsOTAsNywwLDEwMCw2LDAsMTAwLDcsMCwKKyAgICAxMzIsMCwwLDkwLDgsMCwxMDAsOCwwLDEwMCw5LDAsMTMyLDAsMCw5MCwKKyAgICA5LDAsMTAwLDEwLDAsMTAwLDExLDAsMTAwLDEyLDAsMTMyLDEsMCw5MCwxMCwKKyAgICAwLDEwMCwxMywwLDEwMCwxNCwwLDEzMiwwLDAsOTAsMTEsMCwxMDEsMTIsMCwKKyAgICAxMDAsMTUsMCwxMDAsMTYsMCwxMzIsMCwwLDEzMSwxLDAsOTAsMTMsMCwxMDAsCisgICAgMTcsMCwxMDAsMTgsMCwxMzIsMCwwLDkwLDE0LDAsMTAwLDEwLDAsODMsNDEsCisgICAgMTksMjE4LDEwLDcwLDEwNSwxMDgsMTAxLDcwLDEwNSwxMTAsMTAwLDEwMSwxMTQsMTIyLDE3Miw3MCwKKyAgICAxMDUsMTA4LDEwMSw0NSw5OCw5NywxMTUsMTAxLDEwMCwzMiwxMDIsMTA1LDExMCwxMDAsMTAxLDExNCwKKyAgICA0NiwxMCwxMCwzMiwzMiwzMiwzMiw3MywxMTAsMTE2LDEwMSwxMTQsOTcsOTksMTE2LDEwNSwKKyAgICAxMTEsMTEwLDExNSwzMiwxMTksMTA1LDExNiwxMDQsMzIsMTE2LDEwNCwxMDEsMzIsMTAyLDEwNSwxMDgsCisgICAgMTAxLDMyLDExNSwxMjEsMTE1LDExNiwxMDEsMTA5LDMyLDk3LDExNCwxMDEsMzIsOTksOTcsOTksCisgICAgMTA0LDEwMSwxMDAsMzIsMTAyLDExMSwxMTQsMzIsMTEyLDEwMSwxMTQsMTAyLDExMSwxMTQsMTA5LDk3LAorICAgIDExMCw5OSwxMDEsNDQsMzIsOTgsMTAxLDEwNSwxMTAsMTAzLDEwLDMyLDMyLDMyLDMyLDExNCwKKyAgICAxMDEsMTAyLDExNCwxMDEsMTE1LDEwNCwxMDEsMTAwLDMyLDExOSwxMDQsMTAxLDExMCwzMiwxMTYsMTA0LAorICAgIDEwMSwzMiwxMDAsMTA1LDExNCwxMDEsOTksMTE2LDExMSwxMTQsMTIxLDMyLDExNiwxMDQsMTAxLDMyLAorICAgIDEwMiwxMDUsMTEwLDEwMCwxMDEsMTE0LDMyLDEwNSwxMTUsMzIsMTA0LDk3LDExMCwxMDAsMTA4LDEwNSwKKyAgICAxMTAsMTAzLDMyLDEwNCw5NywxMTUsMzIsOTgsMTAxLDEwMSwxMTAsMzIsMTA5LDExMSwxMDAsMTA1LAorICAgIDEwMiwxMDUsMTAxLDEwMCw0NiwxMCwxMCwzMiwzMiwzMiwzMiw5OSwyLDAsMCwwLAorICAgIDAsMCwwLDAsNSwwLDAsMCw1LDAsMCwwLDcsMCwwLDAsCisgICAgMTE1LDEyMiwwLDAsMCwxMDMsMCwwLDEyNSwzLDAsMTIwLDUyLDAsMTI0LDIsCisgICAgMCw2OCw5Myw0NCwwLDkyLDIsMCwxMzcsMCwwLDEyNSw0LDAsMTI0LDMsCisgICAgMCwxMDYsMCwwLDEzNSwwLDAsMTAyLDEsMCwxMDAsMSwwLDEwMCwyLDAsCisgICAgMTM0LDAsMCwxMjQsNCwwLDY4LDEzMSwxLDAsMTMxLDEsMCwxLDExMywxMywKKyAgICAwLDg3LDEyNCwzLDAsMTI0LDAsMCw5NSwxLDAsMTI0LDEsMCwxMTIsNzksCisgICAgMCwxMDAsMywwLDEyNCwwLDAsOTUsMiwwLDEwMCw2LDAsMTI0LDAsMCwKKyAgICA5NSwzLDAsMTE2LDQsMCwxMzEsMCwwLDEyNCwwLDAsOTUsNSwwLDExNiwKKyAgICA0LDAsMTMxLDAsMCwxMjQsMCwwLDk1LDYsMCwxMDAsNSwwLDgzLDQxLAorICAgIDcsMTIyLDE1NCw3MywxMTAsMTA1LDExNiwxMDUsOTcsMTA4LDEwNSwxMjIsMTAxLDMyLDExOSwxMDUsCisgICAgMTE2LDEwNCwzMiwxMTYsMTA0LDEwMSwzMiwxMTIsOTcsMTE2LDEwNCwzMiwxMTYsMTExLDMyLDExNSwKKyAgICAxMDEsOTcsMTE0LDk5LDEwNCwzMiwxMTEsMTEwLDMyLDk3LDExMCwxMDAsMzIsOTcsMzIsMTE4LAorICAgIDk3LDExNCwxMDUsOTcsOTgsMTA4LDEwMSwzMiwxMTAsMTE3LDEwOSw5OCwxMDEsMTE0LDMyLDExMSwKKyAgICAxMDIsMTAsMzIsMzIsMzIsMzIsMzIsMzIsMzIsMzIsNTAsNDUsMTE2LDExNywxMTIsMTA4LAorICAgIDEwMSwxMTUsMzIsOTksMTExLDExMCwxMTYsOTcsMTA1LDExMCwxMDUsMTEwLDEwMywzMiwxMTYsMTA0LAorICAgIDEwMSwzMiwxMDgsMTExLDk3LDEwMCwxMDEsMTE0LDMyLDk3LDExMCwxMDAsMzIsMTE2LDEwNCwxMDEsCisgICAgMzIsMTAyLDEwNSwxMDgsMTAxLDMyLDExNSwxMTcsMTAyLDEwMiwxMDUsMTIwLDEwMSwxMTUsMzIsMTE2LAorICAgIDEwNCwxMDEsMzIsMTA4LDExMSw5NywxMDAsMTAxLDExNCwxMCwzMiwzMiwzMiwzMiwzMiwzMiwKKyAgICAzMiwzMiwxMTQsMTAxLDk5LDExMSwxMDMsMTEwLDEwNSwxMjIsMTAxLDExNSw0Niw5OSwxLDAsCisgICAgMCwwLDAsMCwwLDAsMiwwLDAsMCwzLDAsMCwwLDUxLDAsCisgICAgMCwwLDExNSwyNywwLDAsMCwxMjQsMCwwLDkzLDE3LDAsMTI1LDEsMCwKKyAgICAxMjQsMSwwLDEzNiwwLDAsMTAyLDIsMCw4NiwxLDExMywzLDAsMTAwLDAsCisgICAgMCw4Myw0MSwxLDc4LDExNCw0LDAsMCwwLDQxLDIsMTE0LDIyLDAsMCwKKyAgICAwLDExNCw1NywxLDAsMCw0MSwxLDExNCwxNzAsMCwwLDAsMTE0LDQsMCwKKyAgICAwLDAsMTE0LDUsMCwwLDAsMTE0LDc3LDAsMCwwLDE2MSw3LDAsMCwKKyAgICAxMTUsMiwwLDAsMCw2LDAsMTIyLDM4LDcwLDEwNSwxMDgsMTAxLDcwLDEwNSwxMTAsCisgICAgMTAwLDEwMSwxMTQsNDYsOTUsOTUsMTA1LDExMCwxMDUsMTE2LDk1LDk1LDQ2LDYwLDEwOCwxMTEsCisgICAgOTksOTcsMTA4LDExNSw2Miw0Niw2MCwxMDMsMTAxLDExMCwxMDEsMTIwLDExMiwxMTQsNjIsMTE0LAorICAgIDExNiwwLDAsMCwxMTQsMjksMCwwLDAsNzgsMTE0LDEzOSwwLDAsMCw0MSwKKyAgICA3LDExNCwxOTYsMCwwLDAsMjE4LDgsOTUsMTA4LDExMSw5NywxMDAsMTAxLDExNCwxMTUsCisgICAgMTE0LDM1LDAsMCwwLDIxOCwxMSw5NSwxMTIsOTcsMTE2LDEwNCw5NSwxMDksMTE2LDEwNSwKKyAgICAxMDksMTAxLDIxOCwzLDExNSwxMDEsMTE2LDIxOCwxMSw5NSwxMTIsOTcsMTE2LDEwNCw5NSw5OSwKKyAgICA5Nyw5OSwxMDQsMTAxLDIxOCwxOSw5NSwxMTQsMTAxLDEwOCw5NywxMjAsMTAxLDEwMCw5NSwxMTIsCisgICAgOTcsMTE2LDEwNCw5NSw5OSw5Nyw5OSwxMDQsMTAxLDQxLDUsMTE0LDcxLDAsMCwwLAorICAgIDExNCwzNSwwLDAsMCwyMTgsMTQsMTA4LDExMSw5NywxMDAsMTAxLDExNCw5NSwxMDAsMTAxLAorICAgIDExNiw5NywxMDUsMTA4LDExNSw5MCw3LDEwOCwxMTEsOTcsMTAwLDEwMSwxMTQsMTE1LDExNCwxMjYsCisgICAgMCwwLDAsMTE0LDQsMCwwLDAsNDEsMSwxMTQsMTcwLDAsMCwwLDExNCwKKyAgICA1LDAsMCwwLDExNCw3MiwwLDAsMCwxNTUsNywwLDAsMTE1LDE2LDAsCisgICAgMCwwLDAsNCw2LDEsMTksMSwzNiwxLDksMiwxNSwxLDksMSwKKyAgICAxMiwxLDEyMiwxOSw3MCwxMDUsMTA4LDEwMSw3MCwxMDUsMTEwLDEwMCwxMDEsMTE0LDQ2LDk1LAorICAgIDk1LDEwNSwxMTAsMTA1LDExNiw5NSw5NSw5OSwxLDAsMCwwLDAsMCwwLDAsCisgICAgMSwwLDAsMCwyLDAsMCwwLDY3LDAsMCwwLDExNSwxMywwLDAsCisgICAgMCwxMDAsMywwLDEyNCwwLDAsOTUsMCwwLDEwMCwyLDAsODMsNDEsNCwKKyAgICAxMjIsMzEsNzMsMTEwLDExOCw5NywxMDgsMTA1LDEwMCw5NywxMTYsMTAxLDMyLDExNiwxMDQsMTAxLAorICAgIDMyLDEwMCwxMDUsMTE0LDEwMSw5OSwxMTYsMTExLDExNCwxMjEsMzIsMTA5LDExNiwxMDUsMTA5LDEwMSwKKyAgICA0NiwxMTQsMjksMCwwLDAsNzgsMTE0LDEzOSwwLDAsMCw0MSwxLDExNCw4OSwKKyAgICAxLDAsMCw0MSwxLDExNCw3MSwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsCisgICAgNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsNzQsMSwwLDAsMTY5LDcsCisgICAgMCwwLDExNSwyLDAsMCwwLDAsMiwxMjIsMjgsNzAsMTA1LDEwOCwxMDEsNzAsCisgICAgMTA1LDExMCwxMDAsMTAxLDExNCw0NiwxMDUsMTEwLDExOCw5NywxMDgsMTA1LDEwMCw5NywxMTYsMTAxLAorICAgIDk1LDk5LDk3LDk5LDEwNCwxMDEsMTE1LDk5LDIsMCwwLDAsMCwwLDAsMCwKKyAgICAzLDAsMCwwLDIsMCwwLDAsNjcsMCwwLDAsMTE1LDU5LDAsMCwKKyAgICAwLDEyNCwwLDAsMTA2LDAsMCwxMjQsMSwwLDEzMSwxLDAsMTI1LDIsMCwKKyAgICAxMjQsMiwwLDEwMCwxLDAsMTA3LDgsMCwxMTQsMzcsMCwxMDAsMSwwLDEwMywKKyAgICAwLDAsMTAyLDIsMCw4MywxMjQsMiwwLDEwNiwxLDAsMTI0LDIsMCwxMDYsCisgICAgMiwwLDExMiw1NSwwLDEwMywwLDAsMTAyLDIsMCw4Myw0MSwyLDEyMiwxOTcsCisgICAgODQsMTE0LDEyMSwzMiwxMTYsMTExLDMyLDEwMiwxMDUsMTEwLDEwMCwzMiw5NywzMiwxMDgsMTExLAorICAgIDk3LDEwMCwxMDEsMTE0LDMyLDEwMiwxMTEsMTE0LDMyLDExNiwxMDQsMTAxLDMyLDExNSwxMTIsMTAxLAorICAgIDk5LDEwNSwxMDIsMTA1LDEwMSwxMDAsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsNDQsMzIsMTExLAorICAgIDExNCwzMiwxMTYsMTA0LDEwMSwzMiwxMTAsOTcsMTA5LDEwMSwxMTUsMTEyLDk3LDk5LDEwMSwxMCwKKyAgICAzMiwzMiwzMiwzMiwzMiwzMiwzMiwzMiwxMTIsOTcsOTksMTA3LDk3LDEwMywxMDEsMzIsCisgICAgMTEyLDExMSwxMTQsMTE2LDEwNSwxMTEsMTEwLDExNSw0NiwzMiw4MiwxMDEsMTE2LDExNywxMTQsMTEwLAorICAgIDExNSwzMiw0MCwxMDgsMTExLDk3LDEwMCwxMDEsMTE0LDQ0LDMyLDEwOCwxMDUsMTE1LDExNiw0NSwKKyAgICAxMTEsMTAyLDQ1LDExMiwxMTEsMTE0LDExNiwxMDUsMTExLDExMCwxMTUsNDEsNDYsMTAsMTAsMzIsCisgICAgMzIsMzIsMzIsMzIsMzIsMzIsMzIsODQsMTA0LDEwNSwxMTUsMzIsMTA5LDEwMSwxMTYsMTA0LAorICAgIDExMSwxMDAsMzIsMTA1LDExNSwzMiwxMDAsMTAxLDExMiwxMTQsMTAxLDk5LDk3LDExNiwxMDEsMTAwLAorICAgIDQ2LDMyLDMyLDg1LDExNSwxMDEsMzIsMTAyLDEwNSwxMTAsMTAwLDk1LDExNSwxMTIsMTAxLDk5LAorICAgIDQwLDQxLDMyLDEwNSwxMTAsMTE1LDExNiwxMDEsOTcsMTAwLDQ2LDEwLDEwLDMyLDMyLDMyLAorICAgIDMyLDMyLDMyLDMyLDMyLDc4LDQxLDMsMTE0LDEyLDEsMCwwLDExNCwxNzAsMCwKKyAgICAwLDAsMTE0LDIyMCwwLDAsMCw0MSwzLDExNCw3MSwwLDAsMCwxMTQsMTU5LAorICAgIDAsMCwwLDExNCwxNzcsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwKKyAgICAwLDAsMTE0LDUsMCwwLDAsMTE0LDE2NiwwLDAsMCwxNzUsNywwLDAsCisgICAgMTE1LDgsMCwwLDAsMCw3LDE1LDEsMTIsMSwxMCwxLDEyMiwyMiw3MCwKKyAgICAxMDUsMTA4LDEwMSw3MCwxMDUsMTEwLDEwMCwxMDEsMTE0LDQ2LDEwMiwxMDUsMTEwLDEwMCw5NSwxMDgsCisgICAgMTExLDk3LDEwMCwxMDEsMTE0LDk5LDYsMCwwLDAsMCwwLDAsMCw3LDAsCisgICAgMCwwLDcsMCwwLDAsNjcsMCwwLDAsMTE1LDQwLDAsMCwwLDEyNCwKKyAgICAxLDAsMTI0LDIsMCwxMjQsMywwLDEzMSwyLDAsMTI1LDYsMCwxMTYsMCwKKyAgICAwLDEyNCwyLDAsMTI0LDMsMCwxMDAsMSwwLDEyNCw2LDAsMTAwLDIsMCwKKyAgICAxMjQsNCwwLDEzMSwyLDIsODMsNDEsMyw3OCwxMTQsMTcwLDAsMCwwLDExNCwKKyAgICAyMjAsMCwwLDAsNDEsMSwxMTQsMjM5LDAsMCwwLDQxLDcsMTE0LDcxLDAsCisgICAgMCwwLDExNCwyNDMsMCwwLDAsMTE0LDE1OSwwLDAsMCwxMTQsMzUsMCwwLAorICAgIDAsMTE0LDIyOCwwLDAsMCwxMTQsMTEsMSwwLDAsMTE0LDE3MCwwLDAsMCwKICAgICAxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsCi0gICAgMTQsMSwwLDAsMjI0LDcsMCwwLDExNSw2OCwwLDAsMCwwLDMsNiwKLSAgICAxLDE5LDEsMywxLDM0LDEsMTMsMSwxMSwxLDE1LDEsMTAsMSwxMiwKLSAgICAyLDksMSw5LDEsMTUsMiw5LDEsNiwyLDEyLDEsMTgsMSwyMiwKLSAgICAxLDEwLDEsMTUsMSwxMiwxLDMyLDQsMTUsMiwyMiwxLDIyLDEsMjUsCi0gICAgMSwxNiwxLDEyLDEsMzIsMSw2LDEsMTksMSwxNSwxLDEyLDEsNCwKLSAgICAxLDEyMiwyMCw3MCwxMDUsMTA4LDEwMSw3MCwxMDUsMTEwLDEwMCwxMDEsMTE0LDQ2LDEwMiwxMDUsCi0gICAgMTEwLDEwMCw5NSwxMTUsMTEyLDEwMSw5OSw5OSwxLDAsMCwwLDAsMCwwLDAsCi0gICAgOSwwLDAsMCwxMywwLDAsMCw2NywwLDAsMCwxMTUsMTQsMSwwLAotICAgIDAsMTI0LDAsMCwxMDYsMCwwLDEyNSwxLDAsMTIxLDMxLDAsMTE2LDEsMCwKLSAgICAxMDYsMiwwLDEyNCwxLDAsMTEyLDMzLDAsMTE2LDEsMCwxMDYsMywwLDEzMSwKLSAgICAwLDAsMTMxLDEsMCwxMjUsMiwwLDg3LDExMCwzMywwLDQsMTE2LDQsMCwKLSAgICAxMTYsNSwwLDExNiw2LDAsMTAyLDMsMCwxMDcsMTAsMCwxMTQsNzUsMCwxLAotICAgIDEsMSwxMDMsMCwwLDEyNSwyLDAsODksMTEwLDEsMCw4OCwxMTYsNywwLAotICAgIDEwNiw4LDAsMTA2LDksMCwxMDAsMSwwLDEzMSwxLDAsMTE1LDExMiwwLDExNiwKLSAgICAxMCwwLDEyNCwyLDAsMTMxLDEsMCwxMjQsMCwwLDk1LDExLDAsMTEwLDExMSwKLSAgICAwLDExNiwxMCwwLDEzMSwwLDAsMTI1LDMsMCwxMjAsOTAsMCwxMjQsMiwwLAotICAgIDY4LDkzLDgyLDAsMTI1LDQsMCwxMjQsNCwwLDEwNiwxMiwwLDEwMCwyLDAsCi0gICAgMTMxLDEsMCw5MiwzLDAsMTI1LDUsMCwxMjUsNiwwLDEyNSw3LDAsMTI0LAotICAgIDYsMCwxMTQsMTkxLDAsMTAwLDMsMCwxMDYsMTMsMCwxMjQsNSwwLDEyNCw3LAotICAgIDAsMTA2LDE0LDAsMTMxLDAsMCwxMzEsMiwwLDEyNSw4LDAsMTEwLDYsMCwKLSAgICAxMjQsNSwwLDEyNSw4LDAsMTI0LDMsMCwxMDYsMTUsMCwxMjQsOCwwLDEzMSwKLSAgICAxLDAsMSwxMTMsMTI4LDAsODcsMTI0LDMsMCwxMjQsMCwwLDk1LDExLDAsCi0gICAgMTE2LDcsMCwxMDYsOCwwLDEwNiw5LDAsMTE2LDE2LDAsMTMxLDEsMCwxMTQsCi0gICAgMTAsMSwxMDAsNCwwLDEwMCw1LDAsMTMyLDAsMCwxMjQsMiwwLDY4LDEzMSwKLSAgICAxLDAsMTI0LDAsMCw5NSwxNywwLDExMCwwLDAsMTAwLDYsMCw4Myw0MSwKLSAgICA3LDEyMiw2OCw3MCwxMDUsMTA4LDEwOCwzMiwxMTYsMTA0LDEwMSwzMiw5OSw5Nyw5OSwxMDQsCi0gICAgMTAxLDMyLDExMSwxMDIsMzIsMTEyLDExMSwxMTYsMTAxLDExMCwxMTYsMTA1LDk3LDEwOCwzMiwxMDksCi0gICAgMTExLDEwMCwxMTcsMTA4LDEwMSwxMTUsMzIsOTcsMTEwLDEwMCwzMiwxMTIsOTcsOTksMTA3LDk3LAotICAgIDEwMywxMDEsMTE1LDMyLDEwMiwxMTEsMTE0LDMyLDExNiwxMDQsMTA1LDExNSwzMiwxMDAsMTA1LDExNCwKLSAgICAxMDEsOTksMTE2LDExMSwxMTQsMTIxLDQ2LDExNCwwLDAsMCwwLDExNCwxMTYsMCwwLAotICAgIDAsMTIyLDUsMTIzLDEyNSw0NiwxMjMsMTI1LDk5LDEsMCwwLDAsMCwwLDAsCi0gICAgMCwyLDAsMCwwLDMsMCwwLDAsODMsMCwwLDAsMTE1LDI4LDAsCi0gICAgMCwwLDEwNCwwLDAsMTI0LDAsMCw5MywxOCwwLDEyNSwxLDAsMTI0LDEsCi0gICAgMCwxMDYsMCwwLDEzMSwwLDAsMTQ2LDIsMCwxMTMsNiwwLDgzLDExNCw0LAotICAgIDAsMCwwLDQxLDEsMTE0LDE0MCwwLDAsMCw0MSwyLDExNCwyMiwwLDAsCi0gICAgMCw5MCwyLDEwMiwxMTAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LAotICAgIDUsMCwwLDAsMjUwLDksNjAsMTE1LDEwMSwxMTYsOTksMTExLDEwOSwxMTIsNjIsNDIsCi0gICAgOCwwLDAsMTE1LDIsMCwwLDAsOSwwLDEyMiw0MSw3MCwxMDUsMTA4LDEwMSwKLSAgICA3MCwxMDUsMTEwLDEwMCwxMDEsMTE0LDQ2LDk1LDEwMiwxMDUsMTA4LDEwOCw5NSw5OSw5Nyw5OSwKLSAgICAxMDQsMTAxLDQ2LDYwLDEwOCwxMTEsOTksOTcsMTA4LDExNSw2Miw0Niw2MCwxMTUsMTAxLDExNiwKLSAgICA5OSwxMTEsMTA5LDExMiw2Miw3OCw0MSwxOCwxMTQsMzUsMCwwLDAsMTE0LDMsMCwKLSAgICAwLDAsOTAsNywxMDgsMTA1LDExNSwxMTYsMTAwLDEwNSwxMTQsMTE0LDQ1LDAsMCwwLAotICAgIDIxOCwxNyw3MCwxMDUsMTA4LDEwMSw3OCwxMTEsMTE2LDcwLDExMSwxMTcsMTEwLDEwMCw2OSwxMTQsCi0gICAgMTE0LDExMSwxMTQsMjE4LDE1LDgwLDEwMSwxMTQsMTA5LDEwNSwxMTUsMTE1LDEwNSwxMTEsMTEwLDY5LAotICAgIDExNCwxMTQsMTExLDExNCwyMTgsMTgsNzgsMTExLDExNiw2NSw2OCwxMDUsMTE0LDEwMSw5OSwxMTYsCi0gICAgMTExLDExNCwxMjEsNjksMTE0LDExNCwxMTEsMTE0LDExNCw3LDAsMCwwLDExNCw4LDAsCi0gICAgMCwwLDExNCw5LDAsMCwwLDExNCw5MCwxLDAsMCwxMTQsOTEsMSwwLAotICAgIDAsMTE0LDEzNCwwLDAsMCwxMTQsNDcsMCwwLDAsMTE0LDE0MCwwLDAsMCwKLSAgICAyMTgsMyw5NywxMDAsMTAwLDExNCwxMCwwLDAsMCwxMTQsOTIsMSwwLDAsNDEsCi0gICAgOSwxMTQsNzEsMCwwLDAsMTE0LDM1LDAsMCwwLDkwLDgsOTksMTExLDExMCwKLSAgICAxMTYsMTAxLDExMCwxMTYsMTE1LDkwLDIxLDEwOCwxMTEsMTE5LDEwMSwxMTQsOTUsMTE1LDExNywxMDIsCi0gICAgMTAyLDEwNSwxMjAsOTUsOTksMTExLDExMCwxMTYsMTAxLDExMCwxMTYsMTE1LDExNCw3MiwxLDAsCi0gICAgMCwxMTQsNjcsMCwwLDAsMTE0LDY2LDEsMCwwLDExNCw1OCwxLDAsMCwKLSAgICA5MCw4LDExMCwxMDEsMTE5LDk1LDExMCw5NywxMDksMTAxLDExNCw0LDAsMCwwLDExNCwKLSAgICA0LDAsMCwwLDExNCw1LDAsMCwwLDExNCw5NCwxLDAsMCwxMyw4LAotICAgIDAsMCwxMTUsMzQsMCwwLDAsMCwyLDksMSwzLDEsMzEsMSwyMiwKLSAgICAzLDExLDMsMTgsMSwxOCw3LDksMSwxMywxLDI0LDEsNiwxLDI3LAotICAgIDIsNiwxLDE3LDEsOSwxLDE4LDEsMTIyLDIyLDcwLDEwNSwxMDgsMTAxLDcwLAotICAgIDEwNSwxMTAsMTAwLDEwMSwxMTQsNDYsOTUsMTAyLDEwNSwxMDgsMTA4LDk1LDk5LDk3LDk5LDEwNCwKLSAgICAxMDEsOTksMSwwLDAsMCwwLDAsMCwwLDMsMCwwLDAsMywwLAotICAgIDAsMCw3LDAsMCwwLDExNSwyNSwwLDAsMCwxMzUsMCwwLDEzNSwxLAotICAgIDAsMTAyLDIsMCwxMDAsMSwwLDEwMCwyLDAsMTM0LDAsMCwxMjUsMiwwLAotICAgIDEyNCwyLDAsODMsNDEsMyw5NywyMCwxLDAsMCw2NSwzMiw5OSwxMDgsOTcsCi0gICAgMTE1LDExNSwzMiwxMDksMTAxLDExNiwxMDQsMTExLDEwMCwzMiwxMTksMTA0LDEwNSw5OSwxMDQsMzIsCi0gICAgMTE0LDEwMSwxMTYsMTE3LDExNCwxMTAsMTE1LDMyLDk3LDMyLDk5LDEwOCwxMTEsMTE1LDExNywxMTQsCi0gICAgMTAxLDMyLDExNiwxMTEsMzIsMTE3LDExNSwxMDEsMzIsMTExLDExMCwzMiwxMTUsMTIxLDExNSw0NiwKLSAgICAxMTIsOTcsMTE2LDEwNCw5NSwxMDQsMTExLDExMSwxMDcsMTAsMzIsMzIsMzIsMzIsMzIsMzIsCi0gICAgMzIsMzIsMTE5LDEwNCwxMDUsOTksMTA0LDMyLDExOSwxMDUsMTA4LDEwOCwzMiwxMTQsMTAxLDExNiwKLSAgICAxMTcsMTE0LDExMCwzMiw5NywxMTAsMzIsMTA1LDExMCwxMTUsMTE2LDk3LDExMCw5OSwxMDEsMzIsCi0gICAgMTE3LDExNSwxMDUsMTEwLDEwMywzMiwxMTYsMTA0LDEwMSwzMiwxMTUsMTEyLDEwMSw5OSwxMDUsMTAyLAotICAgIDEwNSwxMDEsMTAwLDMyLDEwOCwxMTEsOTcsMTAwLDEwMSwxMTQsMTE1LDMyLDk3LDExMCwxMDAsMzIsCi0gICAgMTE2LDEwNCwxMDEsMzIsMTEyLDk3LDExNiwxMDQsMTAsMzIsMzIsMzIsMzIsMzIsMzIsMzIsCi0gICAgMzIsOTksOTcsMTA4LDEwOCwxMDEsMTAwLDMyLDExMSwxMTAsMzIsMTE2LDEwNCwxMDEsMzIsOTksCi0gICAgMTA4LDExMSwxMTUsMTE3LDExNCwxMDEsNDYsMTAsMTAsMzIsMzIsMzIsMzIsMzIsMzIsMzIsCi0gICAgMzIsNzMsMTAyLDMyLDExNiwxMDQsMTAxLDMyLDExMiw5NywxMTYsMTA0LDMyLDk5LDk3LDEwOCwKLSAgICAxMDgsMTAxLDEwMCwzMiwxMTEsMTEwLDMyLDExNiwxMDQsMTAxLDMyLDk5LDEwOCwxMTEsMTE1LDExNywKLSAgICAxMTQsMTAxLDMyLDEwNSwxMTUsMzIsMTEwLDExMSwxMTYsMzIsOTcsMzIsMTAwLDEwNSwxMTQsMTAxLAotICAgIDk5LDExNiwxMTEsMTE0LDEyMSw0NCwzMiw3MywxMDksMTEyLDExMSwxMTQsMTE2LDY5LDExNCwxMTQsCi0gICAgMTExLDExNCwzMiwxMDUsMTE1LDEwLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDExNCw5NywKLSAgICAxMDUsMTE1LDEwMSwxMDAsNDYsMTAsMTAsMzIsMzIsMzIsMzIsMzIsMzIsMzIsMzIsOTksCi0gICAgMSwwLDAsMCwwLDAsMCwwLDEsMCwwLDAsNCwwLDAsMCwKLSAgICAxOSwwLDAsMCwxMTUsNDYsMCwwLDAsMTE2LDAsMCwxMjQsMCwwLDEzMSwKLSAgICAxLDAsMTE1LDMzLDAsMTE2LDEsMCwxMDAsMSwwLDEwMCwyLDAsMTI0LDAsCi0gICAgMCwxMzEsMSwxLDEzMCwxLDAsMTEwLDAsMCwxMzYsMCwwLDEyNCwwLDAsCisgICAgODYsMSwwLDAsMTg3LDcsMCwwLDExNSw2LDAsMCwwLDAsMSwxNSwKKyAgICAxLDE4LDEsMTIyLDIwLDcwLDEwNSwxMDgsMTAxLDcwLDEwNSwxMTAsMTAwLDEwMSwxMTQsNDYsCisgICAgOTUsMTAzLDEwMSwxMTYsOTUsMTE1LDExMiwxMDEsOTksNzgsOTksMywwLDAsMCwwLAorICAgIDAsMCwwLDE0LDAsMCwwLDE1LDAsMCwwLDY3LDAsMCwwLDExNSwKKyAgICAyMzEsMSwwLDAsMTAwLDEsMCwxMjUsMywwLDEyNCwxLDAsMTA2LDAsMCwKKyAgICAxMDAsMiwwLDEzMSwxLDAsMTAwLDMsMCwyNSwxMjUsNCwwLDEyMSwzNCwwLAorICAgIDExNiwxLDAsMTI0LDAsMCwxMDYsMiwwLDExMiw0OSwwLDExNiwzLDAsMTA2LAorICAgIDQsMCwxMzEsMCwwLDEzMSwxLDAsMTA2LDUsMCwxMjUsNSwwLDg3LDExMCwKKyAgICAyNCwwLDQsMTE2LDYsMCwxMDcsMTAsMCwxMTQsODUsMCwxLDEsMSwxMDAsCisgICAgMTAsMCwxMjUsNSwwLDg5LDExMCwxLDAsODgsMTI0LDUsMCwxMjQsMCwwLAorICAgIDEwNiw3LDAsMTA3LDMsMCwxMTQsMTIwLDAsMTI0LDAsMCwxMDYsOCwwLDEzMSwKKyAgICAwLDAsMSwxMjQsNSwwLDEyNCwwLDAsOTUsNywwLDExNiw5LDAsMTMxLAorICAgIDAsMCwxMTQsMTUzLDAsMTI0LDAsMCwxMDYsMTAsMCwxMjUsNiwwLDEyNCw0LAorICAgIDAsMTA2LDExLDAsMTMxLDAsMCwxMjUsNywwLDExMCwxNSwwLDEyNCwwLDAsCisgICAgMTA2LDEyLDAsMTI1LDYsMCwxMjQsNCwwLDEyNSw3LDAsMTI0LDcsMCwxMjQsCisgICAgNiwwLDEwNyw2LDAsMTE0LDQ1LDEsMTE2LDEzLDAsMTI0LDAsMCwxMDYsMiwKKyAgICAwLDEyNCw0LDAsMTMxLDIsMCwxMjUsOCwwLDEyMCwxMDAsMCwxMjQsMCwwLAorICAgIDEwNiwxNCwwLDY4LDkzLDc3LDAsOTIsMiwwLDEyNSw5LDAsMTI1LDEwLDAsCisgICAgMTAwLDUsMCwxMjQsOSwwLDIzLDEyNSwxMSwwLDExNiwxMywwLDEyNCw4LDAsCisgICAgMTI0LDExLDAsMTMxLDIsMCwxMjUsMTIsMCwxMTYsMTUsMCwxMjQsMTIsMCwxMzEsCisgICAgMSwwLDExNCwyMDgsMCwxMjQsMCwwLDEwNiwxNiwwLDEyNCwxMCwwLDEyNCwxLAorICAgIDAsMTI0LDEyLDAsMTI0LDgsMCwxMDMsMSwwLDEyNCwyLDAsMTMxLDUsMCwKKyAgICA4MywxMTMsMjA4LDAsODcsMTE2LDE3LDAsMTI0LDgsMCwxMzEsMSwwLDEyNSwzLAorICAgIDAsMTIwLDEyMywwLDEyNCwwLDAsMTA2LDE0LDAsNjgsOTMsMTEyLDAsOTIsMiwKKyAgICAwLDEyNSw5LDAsMTI1LDEwLDAsMTE2LDEzLDAsMTI0LDAsMCwxMDYsMiwwLAorICAgIDEyNCw0LDAsMTI0LDksMCwyMywxMzEsMiwwLDEyNSwxMiwwLDExNiwxOCwwLAorICAgIDEwMCw2LDAsMTA2LDE5LDAsMTI0LDEyLDAsMTMxLDEsMCwxMDAsNywwLDEwMCwKKyAgICAzLDAsMTMxLDEsMSwxLDEyNCw3LDAsMTI0LDksMCwyMywxMjQsNiwwLAorICAgIDEwNyw2LDAsMTE0LDU1LDEsMTE2LDE1LDAsMTI0LDEyLDAsMTMxLDEsMCwxMTQsCisgICAgNTUsMSwxMjQsMCwwLDEwNiwxNiwwLDEyNCwxMCwwLDEyNCwxLDAsMTI0LDEyLAorICAgIDAsMTAwLDgsMCwxMjQsMiwwLDEzMSw1LDAsODMsMTEzLDU1LDEsODcsMTI0LAorICAgIDMsMCwxMTQsMjI3LDEsMTE2LDE4LDAsMTAwLDksMCwxMDYsMTksMCwxMjQsOCwKKyAgICAwLDEzMSwxLDAsMTMxLDEsMCwxLDExNiwyMCwwLDEyNCwxLDAsMTAwLDgsCisgICAgMCwxMzEsMiwwLDEyNSwxMywwLDEyNCw4LDAsMTAzLDEsMCwxMjQsMTMsMCwKKyAgICA5NSwyMSwwLDEyNCwxMywwLDgzLDEwMCw4LDAsODMsNDEsMTEsMTIyLDEyNSw4NCwKKyAgICAxMTQsMTIxLDMyLDExNiwxMTEsMzIsMTAyLDEwNSwxMTAsMTAwLDMyLDk3LDMyLDEwOCwxMTEsOTcsCisgICAgMTAwLDEwMSwxMTQsMzIsMTAyLDExMSwxMTQsMzIsMTE2LDEwNCwxMDEsMzIsMTE1LDExMiwxMDEsOTksCisgICAgMTA1LDEwMiwxMDUsMTAxLDEwMCwzMiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSw0NCwzMiwxMTEsMTE0LAorICAgIDMyLDExNiwxMDQsMTAxLDMyLDExMCw5NywxMDksMTAxLDExNSwxMTIsOTcsOTksMTAxLDEwLDMyLAorICAgIDMyLDMyLDMyLDMyLDMyLDMyLDMyLDExMiw5Nyw5OSwxMDcsOTcsMTAzLDEwMSwzMiwxMTIsCisgICAgMTExLDExNCwxMTYsMTA1LDExMSwxMTAsMTE1LDQ2LDMyLDgyLDEwMSwxMTYsMTE3LDExNCwxMTAsMTE1LAorICAgIDMyLDQwLDEwOCwxMTEsOTcsMTAwLDEwMSwxMTQsNDQsMzIsMTA4LDEwNSwxMTUsMTE2LDQ1LDExMSwKKyAgICAxMDIsNDUsMTEyLDExMSwxMTQsMTE2LDEwNSwxMTEsMTEwLDExNSw0MSw0Niw3MCwxMTQsMTE2LDAsCisgICAgMCwwLDExNCwxMTUsMCwwLDAsMTE0LDI5LDAsMCwwLDExNCw3MiwwLDAsCisgICAgMCwxMjIsOSwxMTYsMTE0LDEyMSwxMDUsMTEwLDEwMywzMiwxMjMsMTI1LDExNCwxNDYsMCwwLAorICAgIDAsNzgsMTIyLDI1LDExMiwxMTEsMTE1LDExNSwxMDUsOTgsMTA4LDEwMSwzMiwxMTAsOTcsMTA5LAorICAgIDEwMSwxMTUsMTEyLDk3LDk5LDEwMSwzMiwxMDIsMTExLDExNCwzMiwxMjMsMTI1LDExNCwxMzksMCwKKyAgICAwLDAsNDEsMjIsMTE0LDMyLDAsMCwwLDExNCwzOSwwLDAsMCwxMTQsMzUsCisgICAgMCwwLDAsMTE0LDMsMCwwLDAsMTE0LDQ1LDAsMCwwLDExNCw1MywxLAorICAgIDAsMCwxMTQsNDAsMCwwLDAsMTE0LDg5LDEsMCwwLDIxOCwxMSw5NSwxMDIsCisgICAgMTA1LDEwOCwxMDgsOTUsOTksOTcsOTksMTA0LDEwMSwxMTQsNiwwLDAsMCwxMTQsOTIsCisgICAgMSwwLDAsMTE0LDE0MCwwLDAsMCwxMTQsOTEsMSwwLDAsMTE0LDI4LDAsCisgICAgMCwwLDExNCw4OCwxLDAsMCwxMTQsNDQsMCwwLDAsMTE0LDg2LDEsMCwKKyAgICAwLDExNCw0NiwwLDAsMCwxMTQsMTUzLDAsMCwwLDExNCw0NywwLDAsMCwKKyAgICAxMTQsMjE2LDAsMCwwLDExNCwyMjAsMCwwLDAsNDEsMTQsMTE0LDcxLDAsMCwKKyAgICAwLDExNCwxNTksMCwwLDAsMTE0LDExLDEsMCwwLDkwLDEyLDEwNSwxMTUsOTUsCisgICAgMTEwLDk3LDEwOSwxMDEsMTE1LDExMiw5Nyw5OSwxMDEsOTAsMTEsMTE2LDk3LDEwNSwxMDgsOTUsCisgICAgMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMTE0LDE4MiwwLDAsMCw5MCw1LDk5LDk3LDk5LAorICAgIDEwNCwxMDEsOTAsMTIsOTksOTcsOTksMTA0LDEwMSw5NSwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwKKyAgICA5MCw5LDk4LDk3LDExNSwxMDEsOTUsMTEyLDk3LDExNiwxMDQsMTE0LDU3LDEsMCwwLAorICAgIDExNCwyNDMsMCwwLDAsOTAsMTMsMTA1LDExMCwxMDUsMTE2LDk1LDEwMiwxMDUsMTA4LDEwMSwKKyAgICAxMTAsOTcsMTA5LDEwMSw5MCw5LDEwMiwxMTcsMTA4LDEwOCw5NSwxMTIsOTcsMTE2LDEwNCwxMTQsCisgICAgMTc3LDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LAorICAgIDAsMCwwLDExNCwxMiwxLDAsMCwxOTIsNywwLDAsMTE1LDY4LDAsMCwKKyAgICAwLDAsMyw2LDEsMTksMSwzLDEsMzQsMSwxMywxLDExLDEsMTUsCisgICAgMSwxMCwxLDksMiw5LDEsOSwxLDE1LDIsOSwxLDYsMiwxMiwKKyAgICAxLDE4LDEsMjIsMSwxMCwxLDE1LDEsMTIsMSwzMiw0LDEyLDIsMjIsCisgICAgMSwyMiwxLDI1LDEsMTYsMSwxMiwxLDI5LDEsNiwxLDE5LDEsMTUsCisgICAgMSwxMiwxLDQsMSwxMjIsMjAsNzAsMTA1LDEwOCwxMDEsNzAsMTA1LDExMCwxMDAsMTAxLAorICAgIDExNCw0NiwxMDIsMTA1LDExMCwxMDAsOTUsMTE1LDExMiwxMDEsOTksOTksMSwwLDAsMCwKKyAgICAwLDAsMCwwLDksMCwwLDAsMTMsMCwwLDAsNjcsMCwwLDAsCisgICAgMTE1LDExLDEsMCwwLDEyNCwwLDAsMTA2LDAsMCwxMjUsMSwwLDEyMSwzMSwKKyAgICAwLDExNiwxLDAsMTA2LDIsMCwxMjQsMSwwLDExMiwzMywwLDExNiwxLDAsCisgICAgMTA2LDMsMCwxMzEsMCwwLDEzMSwxLDAsMTI1LDIsMCw4NywxMTAsMzMsMCwKKyAgICA0LDExNiw0LDAsMTE2LDUsMCwxMTYsNiwwLDEwMiwzLDAsMTA3LDEwLDAsCisgICAgMTE0LDc1LDAsMSwxLDEsMTAzLDAsMCwxMjUsMiwwLDg5LDExMCwxLDAsCisgICAgODgsMTE2LDcsMCwxMDYsOCwwLDEwNiw5LDAsMTAwLDEsMCwxMzEsMSwwLAorICAgIDExNSwxMTIsMCwxMTYsMTAsMCwxMjQsMiwwLDEzMSwxLDAsMTI0LDAsMCw5NSwKKyAgICAxMSwwLDExMCwxMTEsMCwxMTYsMTAsMCwxMzEsMCwwLDEyNSwzLDAsMTIwLDkwLAorICAgIDAsMTI0LDIsMCw2OCw5Myw4MiwwLDEyNSw0LDAsMTI0LDQsMCwxMDYsMTIsCisgICAgMCwxMDAsMiwwLDEzMSwxLDAsOTIsMywwLDEyNSw1LDAsMTI1LDYsMCwKKyAgICAxMjUsNywwLDEyNCw2LDAsMTE0LDE5MSwwLDEwMCwzLDAsMTA2LDEzLDAsMTI0LAorICAgIDUsMCwxMjQsNywwLDEwNiwxNCwwLDEzMSwwLDAsMTMxLDIsMCwxMjUsOCwKKyAgICAwLDExMCw2LDAsMTI0LDUsMCwxMjUsOCwwLDEyNCwzLDAsMTA2LDE1LDAsCisgICAgMTI0LDgsMCwxMzEsMSwwLDEsMTEzLDEyOCwwLDg3LDEyNCwzLDAsMTI0LDAsCisgICAgMCw5NSwxMSwwLDExNiw3LDAsMTA2LDgsMCwxMDYsOSwwLDExNiwxNiwwLAorICAgIDEzMSwxLDAsMTE0LDcsMSwxMDAsNCwwLDEwMCw1LDAsMTMyLDAsMCwxMjQsCisgICAgMiwwLDY4LDEzMSwxLDAsMTI0LDAsMCw5NSwxNywwLDEwMCw2LDAsODMsCisgICAgNDEsNywxMjIsNjgsNzAsMTA1LDEwOCwxMDgsMzIsMTE2LDEwNCwxMDEsMzIsOTksOTcsOTksCisgICAgMTA0LDEwMSwzMiwxMTEsMTAyLDMyLDExMiwxMTEsMTE2LDEwMSwxMTAsMTE2LDEwNSw5NywxMDgsMzIsCisgICAgMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMTE1LDMyLDk3LDExMCwxMDAsMzIsMTEyLDk3LDk5LDEwNywKKyAgICA5NywxMDMsMTAxLDExNSwzMiwxMDIsMTExLDExNCwzMiwxMTYsMTA0LDEwNSwxMTUsMzIsMTAwLDEwNSwKKyAgICAxMTQsMTAxLDk5LDExNiwxMTEsMTE0LDEyMSw0NiwxMTQsMCwwLDAsMCwxMTQsMTE2LDAsCisgICAgMCwwLDEyMiw1LDEyMywxMjUsNDYsMTIzLDEyNSw5OSwxLDAsMCwwLDAsMCwKKyAgICAwLDAsMiwwLDAsMCwzLDAsMCwwLDgzLDAsMCwwLDExNSwyOCwKKyAgICAwLDAsMCwxMDQsMCwwLDEyNCwwLDAsOTMsMTgsMCwxMjUsMSwwLDEyNCwKKyAgICAxLDAsMTA2LDAsMCwxMzEsMCwwLDE0NiwyLDAsMTEzLDYsMCw4MywxMTQsCisgICAgNCwwLDAsMCw0MSwxLDExNCwxNDAsMCwwLDAsNDEsMiwxMTQsMjIsMCwKKyAgICAwLDAsOTAsMiwxMDIsMTEwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLAorICAgIDExNCw1LDAsMCwwLDI1MCw5LDYwLDExNSwxMDEsMTE2LDk5LDExMSwxMDksMTEyLDYyLAorICAgIDEwLDgsMCwwLDExNSwyLDAsMCwwLDksMCwxMjIsNDEsNzAsMTA1LDEwOCwKKyAgICAxMDEsNzAsMTA1LDExMCwxMDAsMTAxLDExNCw0Niw5NSwxMDIsMTA1LDEwOCwxMDgsOTUsOTksOTcsCisgICAgOTksMTA0LDEwMSw0Niw2MCwxMDgsMTExLDk5LDk3LDEwOCwxMTUsNjIsNDYsNjAsMTE1LDEwMSwKKyAgICAxMTYsOTksMTExLDEwOSwxMTIsNjIsNzgsNDEsMTgsMTE0LDM1LDAsMCwwLDExNCwzLAorICAgIDAsMCwwLDkwLDcsMTA4LDEwNSwxMTUsMTE2LDEwMCwxMDUsMTE0LDExNCw0NSwwLDAsCisgICAgMCwxMTQsODAsMSwwLDAsMjE4LDE1LDgwLDEwMSwxMTQsMTA5LDEwNSwxMTUsMTE1LDEwNSwKKyAgICAxMTEsMTEwLDY5LDExNCwxMTQsMTExLDExNCwyMTgsMTgsNzgsMTExLDExNiw2NSw2OCwxMDUsMTE0LAorICAgIDEwMSw5OSwxMTYsMTExLDExNCwxMjEsNjksMTE0LDExNCwxMTEsMTE0LDExNCw3LDAsMCwwLAorICAgIDExNCw4LDAsMCwwLDExNCw5LDAsMCwwLDExNCw5MCwxLDAsMCwxMTQsCisgICAgOTEsMSwwLDAsMTE0LDEzNCwwLDAsMCwxMTQsNDcsMCwwLDAsMTE0LDE0MCwKKyAgICAwLDAsMCwyMTgsMyw5NywxMDAsMTAwLDExNCwxMCwwLDAsMCwxMTQsOTIsMSwKKyAgICAwLDAsNDEsOSwxMTQsNzEsMCwwLDAsMTE0LDM1LDAsMCwwLDkwLDgsCisgICAgOTksMTExLDExMCwxMTYsMTAxLDExMCwxMTYsMTE1LDkwLDIxLDEwOCwxMTEsMTE5LDEwMSwxMTQsOTUsCisgICAgMTE1LDExNywxMDIsMTAyLDEwNSwxMjAsOTUsOTksMTExLDExMCwxMTYsMTAxLDExMCwxMTYsMTE1LDExNCwKKyAgICA3MSwxLDAsMCwxMTQsNjcsMCwwLDAsMTE0LDY1LDEsMCwwLDExNCw1NywKKyAgICAxLDAsMCw5MCw4LDExMCwxMDEsMTE5LDk1LDExMCw5NywxMDksMTAxLDExNCw0LDAsCisgICAgMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDExNCw5NCwxLDAsCisgICAgMCwyMzcsNywwLDAsMTE1LDM0LDAsMCwwLDAsMiw5LDEsMywxLAorICAgIDMxLDEsMjIsMywxMSwzLDE4LDEsMTgsNyw5LDEsMTMsMSwyNCwxLAorICAgIDYsMSwyNywyLDYsMSwxNywxLDksMSwxOCwxLDEyMiwyMiw3MCwxMDUsCisgICAgMTA4LDEwMSw3MCwxMDUsMTEwLDEwMCwxMDEsMTE0LDQ2LDk1LDEwMiwxMDUsMTA4LDEwOCw5NSw5OSwKKyAgICA5Nyw5OSwxMDQsMTAxLDk5LDEsMCwwLDAsMCwwLDAsMCwzLDAsMCwKKyAgICAwLDMsMCwwLDAsNywwLDAsMCwxMTUsMjUsMCwwLDAsMTM1LDAsCisgICAgMCwxMzUsMSwwLDEwMiwyLDAsMTAwLDEsMCwxMDAsMiwwLDEzNCwwLDAsCisgICAgMTI1LDIsMCwxMjQsMiwwLDgzLDQxLDMsOTcsMjAsMSwwLDAsNjUsMzIsCisgICAgOTksMTA4LDk3LDExNSwxMTUsMzIsMTA5LDEwMSwxMTYsMTA0LDExMSwxMDAsMzIsMTE5LDEwNCwxMDUsCisgICAgOTksMTA0LDMyLDExNCwxMDEsMTE2LDExNywxMTQsMTEwLDExNSwzMiw5NywzMiw5OSwxMDgsMTExLAorICAgIDExNSwxMTcsMTE0LDEwMSwzMiwxMTYsMTExLDMyLDExNywxMTUsMTAxLDMyLDExMSwxMTAsMzIsMTE1LAorICAgIDEyMSwxMTUsNDYsMTEyLDk3LDExNiwxMDQsOTUsMTA0LDExMSwxMTEsMTA3LDEwLDMyLDMyLDMyLAorICAgIDMyLDMyLDMyLDMyLDMyLDExOSwxMDQsMTA1LDk5LDEwNCwzMiwxMTksMTA1LDEwOCwxMDgsMzIsCisgICAgMTE0LDEwMSwxMTYsMTE3LDExNCwxMTAsMzIsOTcsMTEwLDMyLDEwNSwxMTAsMTE1LDExNiw5NywxMTAsCisgICAgOTksMTAxLDMyLDExNywxMTUsMTA1LDExMCwxMDMsMzIsMTE2LDEwNCwxMDEsMzIsMTE1LDExMiwxMDEsCisgICAgOTksMTA1LDEwMiwxMDUsMTAxLDEwMCwzMiwxMDgsMTExLDk3LDEwMCwxMDEsMTE0LDExNSwzMiw5NywKKyAgICAxMTAsMTAwLDMyLDExNiwxMDQsMTAxLDMyLDExMiw5NywxMTYsMTA0LDEwLDMyLDMyLDMyLDMyLAorICAgIDMyLDMyLDMyLDMyLDk5LDk3LDEwOCwxMDgsMTAxLDEwMCwzMiwxMTEsMTEwLDMyLDExNiwxMDQsCisgICAgMTAxLDMyLDk5LDEwOCwxMTEsMTE1LDExNywxMTQsMTAxLDQ2LDEwLDEwLDMyLDMyLDMyLDMyLAorICAgIDMyLDMyLDMyLDMyLDczLDEwMiwzMiwxMTYsMTA0LDEwMSwzMiwxMTIsOTcsMTE2LDEwNCwzMiwKKyAgICA5OSw5NywxMDgsMTA4LDEwMSwxMDAsMzIsMTExLDExMCwzMiwxMTYsMTA0LDEwMSwzMiw5OSwxMDgsCisgICAgMTExLDExNSwxMTcsMTE0LDEwMSwzMiwxMDUsMTE1LDMyLDExMCwxMTEsMTE2LDMyLDk3LDMyLDEwMCwKKyAgICAxMDUsMTE0LDEwMSw5OSwxMTYsMTExLDExNCwxMjEsNDQsMzIsNzMsMTA5LDExMiwxMTEsMTE0LDExNiwKKyAgICA2OSwxMTQsMTE0LDExMSwxMTQsMzIsMTA1LDExNSwxMCwzMiwzMiwzMiwzMiwzMiwzMiwzMiwKKyAgICAzMiwxMTQsOTcsMTA1LDExNSwxMDEsMTAwLDQ2LDEwLDEwLDMyLDMyLDMyLDMyLDMyLDMyLAorICAgIDMyLDMyLDk5LDEsMCwwLDAsMCwwLDAsMCwxLDAsMCwwLDQsCisgICAgMCwwLDAsMTksMCwwLDAsMTE1LDQzLDAsMCwwLDExNiwwLDAsMTI0LAorICAgIDAsMCwxMzEsMSwwLDExNSwzMCwwLDExNiwxLDAsMTAwLDEsMCwxMDAsMiwKKyAgICAwLDEyNCwwLDAsMTMxLDEsMSwxMzAsMSwwLDEzNiwwLDAsMTI0LDAsMCwKICAgICAxMzYsMSwwLDE0MCwxLDAsODMsNDEsMywxMjIsNDUsODAsOTcsMTE2LDEwNCwzMiwKICAgICAxMDQsMTExLDExMSwxMDcsMzIsMTAyLDExMSwxMTQsMzIsMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsMTA4LAogICAgIDEwNSw5OCw0NiwxMDksOTcsOTksMTA0LDEwNSwxMTAsMTAxLDExNCwxMjEsNDYsNzAsMTA1LDEwOCwKQEAgLTM3NTksMTcgKzM2ODIsMTcgQEAKICAgICAxMDUsMTE0LDEwMSw5OSwxMTYsMTExLDExNCwxMDUsMTAxLDExNSwzMiw5NywxMTQsMTAxLDMyLDExNSwKICAgICAxMTcsMTEyLDExMiwxMTEsMTE0LDExNiwxMDEsMTAwLDExNCwzNSwwLDAsMCw0MSwyLDExNCwKICAgICA0NiwwLDAsMCwxMTQsMTU0LDAsMCwwLDQxLDEsMTE0LDM1LDAsMCwwLAotICAgIDQxLDIsMTE0LDEyLDEsMCwwLDExNCw5MywxLDAsMCwxMTQsNCwwLDAsCisgICAgNDEsMiwxMTQsMTAsMSwwLDAsMTE0LDkzLDEsMCwwLDExNCw0LDAsMCwKICAgICAwLDExNCw1LDAsMCwwLDIxOCwyNCwxMTIsOTcsMTE2LDEwNCw5NSwxMDQsMTExLDExMSwKICAgICAxMDcsOTUsMTAyLDExMSwxMTQsOTUsNzAsMTA1LDEwOCwxMDEsNzAsMTA1LDExMCwxMDAsMTAxLDExNCwKLSAgICA1NCw4LDAsMCwxMTUsNiwwLDAsMCwwLDIsMTIsMSwyMSwxLDEyMiwKKyAgICAyMiw4LDAsMCwxMTUsNiwwLDAsMCwwLDIsMTIsMSwxOCwxLDEyMiwKICAgICA1NCw3MCwxMDUsMTA4LDEwMSw3MCwxMDUsMTEwLDEwMCwxMDEsMTE0LDQ2LDExMiw5NywxMTYsMTA0LAogICAgIDk1LDEwNCwxMTEsMTExLDEwNyw0Niw2MCwxMDgsMTExLDk5LDk3LDEwOCwxMTUsNjIsNDYsMTEyLAogICAgIDk3LDExNiwxMDQsOTUsMTA0LDExMSwxMTEsMTA3LDk1LDEwMiwxMTEsMTE0LDk1LDcwLDEwNSwxMDgsCi0gICAgMTAxLDcwLDEwNSwxMTAsMTAwLDEwMSwxMTQsMTE0LDQsMCwwLDAsNDEsMywxMTQsMTIsCi0gICAgMSwwLDAsMTE0LDkzLDEsMCwwLDExNCwxMDAsMSwwLDAsMTE0LDQsMCwKLSAgICAwLDAsNDEsMiwxMTQsMTIsMSwwLDAsMTE0LDkzLDEsMCwwLDExNCw1LAotICAgIDAsMCwwLDIxOCw5LDExMiw5NywxMTYsMTA0LDk1LDEwNCwxMTEsMTExLDEwNyw0NCw4LAorICAgIDEwMSw3MCwxMDUsMTEwLDEwMCwxMDEsMTE0LDExNCw0LDAsMCwwLDQxLDMsMTE0LDEwLAorICAgIDEsMCwwLDExNCw5MywxLDAsMCwxMTQsOTksMSwwLDAsMTE0LDQsMCwKKyAgICAwLDAsNDEsMiwxMTQsMTAsMSwwLDAsMTE0LDkzLDEsMCwwLDExNCw1LAorICAgIDAsMCwwLDIxOCw5LDExMiw5NywxMTYsMTA0LDk1LDEwNCwxMTEsMTExLDEwNywxMiw4LAogICAgIDAsMCwxMTUsNCwwLDAsMCwwLDEwLDIxLDYsMTIyLDIwLDcwLDEwNSwxMDgsCiAgICAgMTAxLDcwLDEwNSwxMTAsMTAwLDEwMSwxMTQsNDYsMTEyLDk3LDExNiwxMDQsOTUsMTA0LDExMSwxMTEsCiAgICAgMTA3LDk5LDEsMCwwLDAsMCwwLDAsMCwxLDAsMCwwLDIsMCwKQEAgLTM3NzgsMTUgKzM3MDEsMTUgQEAKICAgICA3MCwxMDUsMTA4LDEwMSw3MCwxMDUsMTEwLDEwMCwxMDEsMTE0LDQwLDEyMywzMywxMTQsMTI1LDQxLAogICAgIDQxLDIsMTE0LDQ3LDAsMCwwLDExNCwzNSwwLDAsMCw0MSwxLDExNCw3MSwKICAgICAwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLAotICAgIDAsMCwxMTQsMTAxLDAsMCwwLDYyLDgsMCwwLDExNSwyLDAsMCwwLAorICAgIDAsMCwxMTQsMTAxLDAsMCwwLDMwLDgsMCwwLDExNSwyLDAsMCwwLAogICAgIDAsMSwxMjIsMTksNzAsMTA1LDEwOCwxMDEsNzAsMTA1LDExMCwxMDAsMTAxLDExNCw0Niw5NSwKICAgICA5NSwxMTQsMTAxLDExMiwxMTQsOTUsOTUsNDEsMTUsMTE0LDU3LDAsMCwwLDExNCw1NiwKICAgICAwLDAsMCwxMTQsNTgsMCwwLDAsMTE0LDU5LDAsMCwwLDExNCw3MiwwLAotICAgIDAsMCwxMTQsNzUsMSwwLDAsMTE0LDE3MywwLDAsMCwxMTQsMTUsMSwwLAotICAgIDAsMTE0LDE2NiwwLDAsMCwxMTQsODYsMSwwLDAsMTE0LDE0LDEsMCwwLAotICAgIDExNCw5NCwxLDAsMCwxMTQsMTksMSwwLDAsMTE0LDEwMSwxLDAsMCwxMTQsCisgICAgMCwwLDExNCw3NCwxLDAsMCwxMTQsMTczLDAsMCwwLDExNCwxMywxLDAsCisgICAgMCwxMTQsMTY2LDAsMCwwLDExNCw4NiwxLDAsMCwxMTQsMTIsMSwwLDAsCisgICAgMTE0LDk0LDEsMCwwLDExNCwxNywxLDAsMCwxMTQsMTAwLDEsMCwwLDExNCwKICAgICAxMDEsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsCi0gICAgMCwwLDAsMTE0LDUsMCwwLDAsMTE0LDg3LDEsMCwwLDE3OCw3LDAsCisgICAgMCwwLDAsMTE0LDUsMCwwLDAsMTE0LDg3LDEsMCwwLDE0Niw3LDAsCiAgICAgMCwxMTUsMjAsMCwwLDAsMTIsNyw2LDIsMTIsMTQsMTIsNCw2LDIsCiAgICAgMTIsMTIsMTIsNSwxNSw0NSwxMiwzMSwxOCwxOCwxMTQsODcsMSwwLDAsOTksCiAgICAgMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMiwwLDAsMCwKQEAgLTM4MDIsOCArMzcyNSw4IEBACiAgICAgMTA2LDEsMCwxMzEsMCwwLDEsMTAwLDEsMCw4Myw0MSwyLDEyMiwyNCw2NSwKICAgICA5OSwxMTMsMTE3LDEwNSwxMTQsMTAxLDMyLDExNiwxMDQsMTAxLDMyLDEwNSwxMDksMTEyLDExMSwxMTQsCiAgICAgMTE2LDMyLDEwOCwxMTEsOTksMTA3LDQ2LDc4LDQxLDIsMTE0LDEwNiwwLDAsMCwxMTQsCi0gICAgNCwxLDAsMCw0MSwxLDExNCw3MSwwLDAsMCwxMTQsNCwwLDAsMCwKLSAgICAxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsNzUsMCwwLDAsNzIsCisgICAgMiwxLDAsMCw0MSwxLDExNCw3MSwwLDAsMCwxMTQsNCwwLDAsMCwKKyAgICAxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsNzUsMCwwLDAsNDAsCiAgICAgOCwwLDAsMTE1LDIsMCwwLDAsMCwyLDEyMiwyOCw5NSw3MywxMDksMTEyLAogICAgIDExMSwxMTQsMTE2LDc2LDExMSw5OSwxMDcsNjcsMTExLDExMCwxMTYsMTAxLDEyMCwxMTYsNDYsOTUsCiAgICAgOTUsMTAxLDExMCwxMTYsMTAxLDExNCw5NSw5NSw5OSw0LDAsMCwwLDAsMCwwLApAQCAtMzgxNyw1NjAgKzM3NDAsNTU1IEBACiAgICAgNzEsMCwwLDAsOTAsOCwxMDEsMTIwLDk5LDk1LDExNiwxMjEsMTEyLDEwMSw5MCw5LAogICAgIDEwMSwxMjAsOTksOTUsMTE4LDk3LDEwOCwxMTcsMTAxLDkwLDEzLDEwMSwxMjAsOTksOTUsMTE2LAogICAgIDExNCw5Nyw5OSwxMDEsOTgsOTcsOTksMTA3LDExNCw0LDAsMCwwLDExNCw0LDAsCi0gICAgMCwwLDExNCw1LDAsMCwwLDExNCw4MSwwLDAsMCw3Niw4LDAsMCwKKyAgICAwLDAsMTE0LDUsMCwwLDAsMTE0LDgxLDAsMCwwLDQ0LDgsMCwwLAogICAgIDExNSwyLDAsMCwwLDAsMiwxMjIsMjcsOTUsNzMsMTA5LDExMiwxMTEsMTE0LDExNiwKICAgICA3NiwxMTEsOTksMTA3LDY3LDExMSwxMTAsMTE2LDEwMSwxMjAsMTE2LDQ2LDk1LDk1LDEwMSwxMjAsCiAgICAgMTA1LDExNiw5NSw5NSw3OCw0MSw2LDExNCw1NywwLDAsMCwxMTQsNTYsMCwwLAogICAgIDAsMTE0LDU4LDAsMCwwLDExNCw1OSwwLDAsMCwxMTQsNzUsMCwwLDAsCiAgICAgMTE0LDgxLDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCwKLSAgICA0LDAsMCwwLDExNCw1LDAsMCwwLDExNCwxMDIsMSwwLDAsNjgsOCwKLSAgICAwLDAsMTE1LDYsMCwwLDAsMTIsMiw2LDIsMTIsNCwxMTQsMTAyLDEsCisgICAgNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsMTAxLDEsMCwwLDM2LDgsCisgICAgMCwwLDExNSw2LDAsMCwwLDEyLDIsNiwyLDEyLDQsMTE0LDEwMSwxLAogICAgIDAsMCw5OSwzLDAsMCwwLDAsMCwwLDAsNSwwLDAsMCw0LAotICAgIDAsMCwwLDY3LDAsMCwwLDExNSw5MSwwLDAsMCwxMjQsMSwwLDEwNiwKKyAgICAwLDAsMCw2NywwLDAsMCwxMTUsODgsMCwwLDAsMTI0LDEsMCwxMDYsCiAgICAgMCwwLDEwMCwxLDAsMTI0LDIsMCwxMDAsMiwwLDI0LDEzMSwyLDAsMTI1LAogICAgIDMsMCwxMTYsMSwwLDEyNCwzLDAsMTMxLDEsMCwxMjQsMiwwLDEwNywwLAotICAgIDAsMTE0LDU1LDAsMTE2LDIsMCwxMDAsMywwLDEzMSwxLDAsMTMwLDEsMCwKLSAgICAxMTAsMCwwLDEyNCwzLDAsMTAwLDQsMCwyNSwxMjUsNCwwLDEyNCwwLDAsCi0gICAgMTE0LDg3LDAsMTAwLDUsMCwxMDYsMywwLDEyNCw0LDAsMTI0LDAsMCwxMzEsCi0gICAgMiwwLDgzLDEyNCw0LDAsODMsNDEsNiwxMjIsNTAsODIsMTAxLDExNSwxMTEsMTA4LAotICAgIDExOCwxMDEsMzIsOTcsMzIsMTE0LDEwMSwxMDgsOTcsMTE2LDEwNSwxMTgsMTAxLDMyLDEwOSwxMTEsCi0gICAgMTAwLDExNywxMDgsMTAxLDMyLDExMCw5NywxMDksMTAxLDMyLDExNiwxMTEsMzIsOTcsMTEwLDMyLAotICAgIDk3LDk4LDExNSwxMTEsMTA4LDExNywxMTYsMTAxLDMyLDExMSwxMTAsMTAxLDQ2LDExNCwxMTYsMCwKLSAgICAwLDAsMTE0LDI5LDAsMCwwLDEyMiw1MCw5NywxMTYsMTE2LDEwMSwxMDksMTEyLDExNiwKLSAgICAxMDEsMTAwLDMyLDExNCwxMDEsMTA4LDk3LDExNiwxMDUsMTE4LDEwMSwzMiwxMDUsMTA5LDExMiwxMTEsCi0gICAgMTE0LDExNiwzMiw5OCwxMDEsMTIxLDExMSwxMTAsMTAwLDMyLDExNiwxMTEsMTEyLDQ1LDEwOCwxMDEsCi0gICAgMTE4LDEwMSwxMDgsMzIsMTEyLDk3LDk5LDEwNyw5NywxMDMsMTAxLDExNCw4NCwwLDAsMCwKLSAgICAxMjIsNSwxMjMsMTI1LDQ2LDEyMywxMjUsNDEsNCwxMTQsMzQsMCwwLDAsMTE0LDMxLAotICAgIDAsMCwwLDExNCwxMzMsMCwwLDAsMTE0LDQ3LDAsMCwwLDQxLDUsMTE0LAotICAgIDY3LDAsMCwwLDIxOCw3LDExMiw5Nyw5OSwxMDcsOTcsMTAzLDEwMSwyMTgsNSwxMDgsCi0gICAgMTAxLDExOCwxMDEsMTA4LDkwLDQsOTgsMTA1LDExNiwxMTUsMTE0LDEyOCwwLDAsMCwxMTQsCi0gICAgNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwyMTgsMTMsCi0gICAgOTUsMTE0LDEwMSwxMTUsMTExLDEwOCwxMTgsMTAxLDk1LDExMCw5NywxMDksMTAxLDgxLDgsMCwKLSAgICAwLDExNSwxMCwwLDAsMCwwLDIsMjIsMSwxOCwxLDE1LDEsMTAsMSwKLSAgICAxMTQsMTA1LDEsMCwwLDk5LDMsMCwwLDAsMCwwLDAsMCw0LDAsCi0gICAgMCwwLDMsMCwwLDAsNjcsMCwwLDAsMTE1LDQ3LDAsMCwwLDEyNCwKLSAgICAwLDAsMTA2LDAsMCwxMjQsMSwwLDEyNCwyLDAsMTMxLDIsMCwxMjUsMywKLSAgICAwLDEyNCwzLDAsMTAwLDAsMCwxMDcsOCwwLDExNCwzNCwwLDEwMCwwLDAsCi0gICAgODMsMTE2LDEsMCwxMjQsMSwwLDEyNCwzLDAsMTMxLDIsMCw4Myw0MSwxLAotICAgIDc4LDQxLDIsMTE0LDE1LDEsMCwwLDExNCwxNzQsMCwwLDAsNDEsNCwxMTQsCi0gICAgNzgsMSwwLDAsMTE0LDY3LDAsMCwwLDExNCwzNSwwLDAsMCwxMTQsMTcwLAotICAgIDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsCi0gICAgMCwwLDIxOCwxNyw5NSwxMDIsMTA1LDExMCwxMDAsOTUsMTE1LDExMiwxMDEsOTksOTUsMTA4LAotICAgIDEwMSwxMDMsOTcsOTksMTIxLDkwLDgsMCwwLDExNSw4LDAsMCwwLDAsMywKLSAgICAxOCwxLDEyLDEsNCwxLDExNCwxMDYsMSwwLDAsOTksMywwLDAsMCwKLSAgICAwLDAsMCwwLDksMCwwLDAsMjYsMCwwLDAsNjcsMCwwLDAsCi0gICAgMTE1LDM0LDEsMCwwLDExNiwwLDAsMTA2LDEsMCwxMTUsMjgsMCwxMTYsMiwKLSAgICAwLDEwNiwzLDAsMTAwLDEsMCwxMTYsNCwwLDEzMSwyLDAsMSwxMTAsMCwKLSAgICAwLDEyNCwwLDAsMTE2LDAsMCwxMDYsNSwwLDEwNyw2LDAsMTI1LDMsMCwKLSAgICAxMjAsMjQwLDAsMTE2LDAsMCwxMDYsMSwwLDY4LDkzLDIyNSwwLDEyNSw0LDAsCi0gICAgMTE2LDYsMCwxMzEsMCwwLDE0Myw5MywwLDEsMTIxLDEzLDAsMTI0LDQsMCwKLSAgICAxMDYsNywwLDEyNSw1LDAsODcsMTEwLDU0LDAsNCwxMTYsOCwwLDEwNywxMCwKLSAgICAwLDExNCwxMzgsMCwxLDEsMSwxMTYsOSwwLDEyNCw0LDAsMTI0LDAsMCwKLSAgICAxMjQsMSwwLDEzMSwzLDAsMTI1LDYsMCwxMjQsNiwwLDEwMCwyLDAsMTA3LAotICAgIDgsMCwxMTQsMTM0LDAsMTE5LDUzLDAsMTEwLDAsMCw4OSwxMTAsMTksMCw4OCwKLSAgICAxMjQsNSwwLDEyNCwwLDAsMTI0LDEsMCwxMjQsMiwwLDEzMSwzLDAsMTI1LAotICAgIDYsMCw4NywxMDAsMiwwLDgxLDg4LDEyNCw2LDAsMTAwLDIsMCwxMDcsOSwKLSAgICAwLDExNCw1MywwLDEyNCwzLDAsMTIsMTE0LDE1LDEsMTI0LDAsMCwxMTYsMCwKLSAgICAwLDEwNiw1LDAsMTA3LDYsMCwxMTQsMTUsMSwxMTYsMCwwLDEwNiw1LDAsCi0gICAgMTI0LDAsMCwyNSwxMjUsNywwLDEyMSwxMywwLDEyNCw3LDAsMTA2LDEwLDAsCi0gICAgMTI1LDgsMCw4NywxMTAsMjIsMCw0LDExNiw4LDAsMTA3LDEwLDAsMTE0LDI0NywKLSAgICAwLDEsMSwxLDEyNCw2LDAsODMsODksMTEzLDE5LDEsODgsMTI0LDgsMCwKLSAgICAxMDAsMiwwLDEwNyw4LDAsMTE0LDgsMSwxMjQsNiwwLDgzLDEyNCw4LDAsCi0gICAgODMsMTEzLDIyLDEsMTI0LDYsMCw4MywxMTMsNTMsMCwxMTMsNTMsMCw4NywxMDAsCi0gICAgMiwwLDgzLDEwMCwyLDAsODMsNDEsMywxMjIsMjMsNzAsMTA1LDExMCwxMDAsMzIsCi0gICAgOTcsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMzksMTE1LDMyLDEwOCwxMTEsOTcsMTAwLDEwMSwKLSAgICAxMTQsNDYsMTIyLDIyLDExNSwxMjEsMTE1LDQ2LDEwOSwxMDEsMTE2LDk3LDk1LDExMiw5NywxMTYsCi0gICAgMTA0LDMyLDEwNSwxMTUsMzIsMTAxLDEwOSwxMTIsMTE2LDEyMSw3OCw0MSwxMSwxMTQsNywwLAotICAgIDAsMCwyMTgsOSwxMDksMTAxLDExNiw5Nyw5NSwxMTIsOTcsMTE2LDEwNCwxMTQsMTY3LDAsCi0gICAgMCwwLDExNCwxNjgsMCwwLDAsMTE0LDE2OSwwLDAsMCwxMTQsNzMsMCwwLAotICAgIDAsMTE0LDEwMiwxLDAsMCwxMTQsMTQsMSwwLDAsMTE0LDIxMCwwLDAsMCwKLSAgICAxMTQsMTA2LDEsMCwwLDExNCwyMDksMCwwLDAsNDEsOSwxMTQsNjcsMCwwLAotICAgIDAsMTE0LDM1LDAsMCwwLDExNCwxMywxLDAsMCw5MCw5LDEwNSwxMTUsOTUsCi0gICAgMTE0LDEwMSwxMDgsMTExLDk3LDEwMCwxMTQsNzgsMSwwLDAsMTE0LDE0LDEsMCwwLAotICAgIDExNCwxNzgsMCwwLDAsMTE0LDE4MCwwLDAsMCwxMTQsMjA5LDAsMCwwLDExNCwKLSAgICA0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDIxOCwxMCwKLSAgICA5NSwxMDIsMTA1LDExMCwxMDAsOTUsMTE1LDExMiwxMDEsOTksOTksOCwwLDAsMTE1LDQ4LAotICAgIDAsMCwwLDAsMiw5LDEsMTksNCwxNSwxLDE2LDEsMTAsMSwzLAotICAgIDEsMTMsMSwxMywxLDE4LDEsMTIsMSwxMSwyLDI0LDEsMTIsMiwyMiwKLSAgICAxLDEzLDEsMywxLDEzLDEsMTMsNCw5LDIsMTIsMSw0LDIsNywKLSAgICAyLDExLDIsMTE0LDEwOCwxLDAsMCw5OSwzLDAsMCwwLDAsMCwwLAotICAgIDAsNCwwLDAsMCw0LDAsMCwwLDY3LDAsMCwwLDExNSwxOTQsMCwKLSAgICAwLDAsMTE2LDAsMCwxMjQsMCwwLDExNiwxLDAsMTMxLDIsMCwxMTUsNDUsCi0gICAgMCwxMTYsMiwwLDEwMCwxLDAsMTA2LDMsMCwxMTYsNCwwLDEyNCwwLDAsCi0gICAgMTMxLDEsMCwxMzEsMSwwLDEzMSwxLDAsMTMwLDEsMCwxMTAsMCwwLDEyNCwKLSAgICAyLDAsMTAwLDIsMCwxMDcsMCwwLDExNCw3MiwwLDExNiw1LDAsMTAwLDMsCi0gICAgMCwxMzEsMSwwLDEzMCwxLDAsMTEwLDAsMCwxMjQsMSwwLDExNCwxNTYsMCwKLSAgICAxMTYsMCwwLDEyNCwxLDAsMTE2LDEsMCwxMzEsMiwwLDExNSwxMDgsMCwxMTYsCi0gICAgMiwwLDEwMCw0LDAsMTMxLDEsMCwxMzAsMSwwLDExMywxNTYsMCwxMjQsMSwKLSAgICAwLDExNiw2LDAsMTA2LDcsMCwxMDcsNywwLDExNCwxNTYsMCwxMDAsNSwwLAotICAgIDEyNSwzLDAsMTE2LDgsMCwxMjQsMywwLDEwNiwzLDAsMTI0LDEsMCwxMzEsCi0gICAgMSwwLDEzMSwxLDAsMTMwLDEsMCwxMTMsMTU2LDAsMTEwLDAsMCwxMjQsMCwKLSAgICAwLDEyLDExNCwxOTAsMCwxMjQsMiwwLDEwMCwyLDAsMTA3LDIsMCwxMTQsMTkwLAotICAgIDAsMTE2LDUsMCwxMDAsNiwwLDEzMSwxLDAsMTMwLDEsMCwxMTAsMCwwLAotICAgIDEwMCw3LDAsODMsNDEsOCwxMjIsMjgsODYsMTAxLDExNCwxMDUsMTAyLDEyMSwzMiw5NywKLSAgICAxMTQsMTAzLDExNywxMDksMTAxLDExMCwxMTYsMTE1LDMyLDk3LDExNCwxMDEsMzIsMzQsMTE1LDk3LAotICAgIDExMCwxMDEsMzQsNDYsMTIyLDMxLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDMyLDExMCw5NywxMDksCi0gICAgMTAxLDMyLDEwOSwxMTcsMTE1LDExNiwzMiw5OCwxMDEsMzIsMTE1LDExNiwxMTQsNDQsMzIsMTEwLAotICAgIDExMSwxMTYsMzIsMTIzLDEyNSwxMTQsODQsMCwwLDAsMTIyLDE4LDEwOCwxMDEsMTE4LDEwMSwKLSAgICAxMDgsMzIsMTA5LDExNywxMTUsMTE2LDMyLDk4LDEwMSwzMiw2Miw2MSwzMiw0OCwxMjIsMzEsCi0gICAgOTUsOTUsMTEyLDk3LDk5LDEwNyw5NywxMDMsMTAxLDk1LDk1LDMyLDExMCwxMTEsMTE2LDMyLAotICAgIDExNSwxMDEsMTE2LDMyLDExNiwxMTEsMzIsOTcsMzIsMTE1LDExNiwxMTQsMTA1LDExMCwxMDMsMTIyLAotICAgIDYxLDgwLDk3LDExNCwxMDEsMTEwLDExNiwzMiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwzMiwxMjMsCi0gICAgMzMsMTE0LDEyNSwzMiwxMTAsMTExLDExNiwzMiwxMDgsMTExLDk3LDEwMCwxMDEsMTAwLDQ0LDMyLAotICAgIDk5LDk3LDExMCwxMTAsMTExLDExNiwzMiwxMTIsMTAxLDExNCwxMDIsMTExLDExNCwxMDksMzIsMTE0LAotICAgIDEwMSwxMDgsOTcsMTE2LDEwNSwxMTgsMTAxLDMyLDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDEyMiwxNywKLSAgICA2OSwxMDksMTEyLDExNiwxMjEsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMzIsMTEwLDk3LDEwOSwKLSAgICAxMDEsNzgsNDEsOSwxMTQsMTkzLDAsMCwwLDExNCw4MywxLDAsMCwyMTgsOSwKLSAgICA4NCwxMjEsMTEyLDEwMSw2OSwxMTQsMTE0LDExMSwxMTQsMTE0LDQ3LDAsMCwwLDExNCw2NiwKLSAgICAwLDAsMCwxMTQsMTMzLDAsMCwwLDExNCw3LDAsMCwwLDExNCw3MywwLAotICAgIDAsMCwyMTgsMTEsODMsMTIxLDExNSwxMTYsMTAxLDEwOSw2OSwxMTQsMTE0LDExMSwxMTQsNDEsCi0gICAgNCwxMTQsNjcsMCwwLDAsMTE0LDEwMywxLDAsMCwxMTQsMTA0LDEsMCwwLAotICAgIDExNCwxNzIsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LAotICAgIDUsMCwwLDAsMjE4LDEzLDk1LDExNSw5NywxMTAsMTA1LDExNiwxMjEsOTUsOTksMTA0LAotICAgIDEwMSw5OSwxMDcsMTM5LDgsMCwwLDExNSwyNCwwLDAsMCwwLDIsMTUsMSwKLSAgICAzMCwxLDEyLDEsMTUsMSw2LDEsMTUsMSwxNSwxLDE1LDEsNiwyLAotICAgIDI3LDEsMTksMSwxMTQsMTExLDEsMCwwLDEyMiwxNiw3OCwxMTEsMzIsMTA5LDExMSwKLSAgICAxMDAsMTE3LDEwOCwxMDEsMzIsMTEwLDk3LDEwOSwxMDEsMTAwLDMyLDEyMiw0LDEyMywzMywxMTQsCi0gICAgMTI1LDk5LDIsMCwwLDAsMCwwLDAsMCw4LDAsMCwwLDEyLDAsCi0gICAgMCwwLDY3LDAsMCwwLDExNSw1MiwxLDAsMCwxMDAsMCwwLDEyNSwyLAotICAgIDAsMTI0LDAsMCwxMDYsMCwwLDEwMCwxLDAsMTMxLDEsMCwxMDAsMiwwLAotICAgIDI1LDEyNSwzLDAsMTI0LDMsMCwxMTQsMTc4LDAsMTI0LDMsMCwxMTYsMSwwLAotICAgIDEwNiwyLDAsMTA3LDcsMCwxMTQsNjIsMCwxMTYsMywwLDEyNCwxLDAsMTI0LAotICAgIDMsMCwxMzEsMiwwLDEsMTEwLDAsMCwxMjQsMCwwLDExNiwxLDAsMTA2LAotICAgIDIsMCwxMDcsNiwwLDExNCw4OCwwLDExNiwxLDAsMTA2LDIsMCwxMjQsMCwKLSAgICAwLDI1LDgzLDExNiwxLDAsMTA2LDIsMCwxMjQsMywwLDI1LDEyNSw0LDAsCi0gICAgMTIxLDEzLDAsMTI0LDQsMCwxMDYsNCwwLDEyNSwyLDAsODcsMTEzLDE3OCwwLAotICAgIDQsMTE2LDUsMCwxMDcsMTAsMCwxMTQsMTc0LDAsMSwxLDEsMTE2LDYsMCwKLSAgICAxMDAsMywwLDIzLDEwNiw3LDAsMTI0LDAsMCwxMjQsMywwLDEzMSwyLDAsCi0gICAgMTI1LDUsMCwxMTYsOCwwLDEyNCw1LDAsMTAwLDQsMCwxMjQsMCwwLDEzMSwKLSAgICAxLDEsMTMwLDEsMCw4OSwxMTMsMTc4LDAsODgsMTEwLDAsMCwxMTYsOSwwLAotICAgIDEyNCwwLDAsMTI0LDIsMCwxMzEsMiwwLDEyNSw2LDAsMTI0LDYsMCwxMDAsCi0gICAgMCwwLDEwNyw4LDAsMTE0LDIzNSwwLDExNiw4LDAsMTE2LDYsMCwxMDYsNywKLSAgICAwLDEyNCwwLDAsMTMxLDEsMCwxMDAsNCwwLDEyNCwwLDAsMTMxLDEsMSwKLSAgICAxMzAsMSwwLDExMCwxOCwwLDExNiwxMCwwLDEyNCw2LDAsMTMxLDEsMCwxMDYsCi0gICAgMTEsMCwxMzEsMCwwLDEyNSw3LDAsMTI0LDMsMCwxMTQsNDgsMSwxMTYsMSwKLSAgICAwLDEwNiwyLDAsMTI0LDMsMCwyNSwxMjUsNCwwLDExNiwxMiwwLDEyNCw0LAotICAgIDAsMTI0LDAsMCwxMDYsMCwwLDEwMCwxLDAsMTMxLDEsMCwxMDAsNSwwLAotICAgIDI1LDEyNCw3LDAsMTMxLDMsMCwxLDExMCwwLDAsMTI0LDcsMCw4Myw0MSwKLSAgICA2LDc4LDExNCwxMTYsMCwwLDAsMTE0LDg0LDAsMCwwLDEyMiwyMyw1OSwzMiwKLSAgICAxMjMsMzMsMTE0LDEyNSwzMiwxMDUsMTE1LDMyLDExMCwxMTEsMTE2LDMyLDk3LDMyLDExMiw5NywKLSAgICA5OSwxMDcsOTcsMTAzLDEwMSwxMTQsNjcsMCwwLDAsMTE0LDExNSwwLDAsMCw0MSwKLSAgICAxMywxMTQsMzIsMCwwLDAsMTE0LDcsMCwwLDAsMTE0LDczLDAsMCwwLAotICAgIDExNCwxMTQsMCwwLDAsMTE0LDI0NywwLDAsMCwxMTQsMjEwLDAsMCwwLDIxOCwKLSAgICA4LDk1LDY5LDgyLDgyLDk1LDc3LDgzLDcxLDExNCw0NywwLDAsMCwxMTQsMTU0LAotICAgIDAsMCwwLDExNCwxMDgsMSwwLDAsMTE0LDE3NSwwLDAsMCwxMTQsNywxLAotICAgIDAsMCwxMTQsNjEsMCwwLDAsNDEsOCwxMTQsNjcsMCwwLDAsMjE4LDcsCi0gICAgMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsOTUsMTE0LDM1LDAsMCwwLDExNCwyMzQsMCwwLAotICAgIDAsOTAsMTMsMTEyLDk3LDExNCwxMDEsMTEwLDExNiw5NSwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwKLSAgICAxMTQsMTcyLDAsMCwwLDExNCwxNzgsMCwwLDAsMTE0LDE4MCwwLDAsMCwxMTQsCi0gICAgNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwyMTgsMjMsCi0gICAgOTUsMTAyLDEwNSwxMTAsMTAwLDk1LDk3LDExMCwxMDAsOTUsMTA4LDExMSw5NywxMDAsOTUsMTE3LAotICAgIDExMCwxMDgsMTExLDk5LDEwNywxMDEsMTAwLDE1OSw4LDAsMCwxMTUsNDIsMCwwLDAsCi0gICAgMCwxLDYsMSwxOSwxLDYsMSwxNSwxLDE2LDIsMTUsMSwxMSwxLAotICAgIDEzLDEsMywxLDEzLDEsMTMsMSwyMiwxLDI2LDEsMTUsMSwxMiwxLAotICAgIDMwLDIsMTgsMSw2LDIsMTMsMSwzMiwxLDExNCwxMTQsMSwwLDAsOTksCi0gICAgMiwwLDAsMCwwLDAsMCwwLDIsMCwwLDAsMTAsMCwwLDAsCi0gICAgNjcsMCwwLDAsMTE1LDM2LDAsMCwwLDExNiwwLDAsMTI0LDAsMCwxMzEsCi0gICAgMSwwLDE0MywxOCwwLDEsMTE2LDEsMCwxMjQsMCwwLDEyNCwxLDAsMTMxLAotICAgIDIsMCw4Myw4NywxMDAsMSwwLDgxLDg4LDEwMCwxLDAsODMsNDEsMiwxMjIsCi0gICAgNTQsNzAsMTA1LDExMCwxMDAsMzIsOTcsMTEwLDEwMCwzMiwxMDgsMTExLDk3LDEwMCwzMiwxMTYsCi0gICAgMTA0LDEwMSwzMiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSw0NCwzMiw5NywxMTAsMTAwLDMyLDExNCwKLSAgICAxMDEsMTA4LDEwMSw5NywxMTUsMTAxLDMyLDExNiwxMDQsMTAxLDMyLDEwNSwxMDksMTEyLDExMSwxMTQsCi0gICAgMTE2LDMyLDEwOCwxMTEsOTksMTA3LDQ2LDc4LDQxLDIsMTE0LDEwMywwLDAsMCwxMTQsCi0gICAgMTE0LDEsMCwwLDQxLDIsMTE0LDY3LDAsMCwwLDExNCwxMTMsMSwwLDAsCisgICAgMCwxMTQsNTIsMCwxMTYsMiwwLDEwMCwzLDAsMTMxLDEsMCwxMzAsMSwwLAorICAgIDEyNCwzLDAsMTAwLDQsMCwyNSwxMjUsNCwwLDEyNCwwLDAsMTE0LDg0LDAsCisgICAgMTAwLDUsMCwxMDYsMywwLDEyNCw0LDAsMTI0LDAsMCwxMzEsMiwwLDgzLAorICAgIDEyNCw0LDAsODMsNDEsNiwxMjIsNTAsODIsMTAxLDExNSwxMTEsMTA4LDExOCwxMDEsMzIsCisgICAgOTcsMzIsMTE0LDEwMSwxMDgsOTcsMTE2LDEwNSwxMTgsMTAxLDMyLDEwOSwxMTEsMTAwLDExNywxMDgsCisgICAgMTAxLDMyLDExMCw5NywxMDksMTAxLDMyLDExNiwxMTEsMzIsOTcsMTEwLDMyLDk3LDk4LDExNSwKKyAgICAxMTEsMTA4LDExNywxMTYsMTAxLDMyLDExMSwxMTAsMTAxLDQ2LDExNCwxMTYsMCwwLDAsMTE0LAorICAgIDI5LDAsMCwwLDEyMiw1MCw5NywxMTYsMTE2LDEwMSwxMDksMTEyLDExNiwxMDEsMTAwLDMyLAorICAgIDExNCwxMDEsMTA4LDk3LDExNiwxMDUsMTE4LDEwMSwzMiwxMDUsMTA5LDExMiwxMTEsMTE0LDExNiwzMiwKKyAgICA5OCwxMDEsMTIxLDExMSwxMTAsMTAwLDMyLDExNiwxMTEsMTEyLDQ1LDEwOCwxMDEsMTE4LDEwMSwxMDgsCisgICAgMzIsMTEyLDk3LDk5LDEwNyw5NywxMDMsMTAxLDExNCw4NCwwLDAsMCwxMjIsNSwxMjMsCisgICAgMTI1LDQ2LDEyMywxMjUsNDEsNCwxMTQsMzQsMCwwLDAsMTE0LDMxLDAsMCwwLAorICAgIDExNCwxMzMsMCwwLDAsMTE0LDQ3LDAsMCwwLDQxLDUsMTE0LDY3LDAsMCwKKyAgICAwLDIxOCw3LDExMiw5Nyw5OSwxMDcsOTcsMTAzLDEwMSwyMTgsNSwxMDgsMTAxLDExOCwxMDEsCisgICAgMTA4LDkwLDQsOTgsMTA1LDExNiwxMTUsMTE0LDEyOCwwLDAsMCwxMTQsNCwwLDAsCisgICAgMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwyMTgsMTMsOTUsMTE0LDEwMSwKKyAgICAxMTUsMTExLDEwOCwxMTgsMTAxLDk1LDExMCw5NywxMDksMTAxLDQ5LDgsMCwwLDExNSwxMCwKKyAgICAwLDAsMCwwLDIsMjIsMSwxOCwxLDEyLDEsMTAsMSwxMTQsMTA0LDEsCisgICAgMCwwLDk5LDMsMCwwLDAsMCwwLDAsMCw0LDAsMCwwLDMsCisgICAgMCwwLDAsNjcsMCwwLDAsMTE1LDQ3LDAsMCwwLDEyNCwwLDAsMTA2LAorICAgIDAsMCwxMjQsMSwwLDEyNCwyLDAsMTMxLDIsMCwxMjUsMywwLDEyNCwzLAorICAgIDAsMTAwLDAsMCwxMDcsOCwwLDExNCwzNCwwLDEwMCwwLDAsODMsMTE2LDEsCisgICAgMCwxMjQsMSwwLDEyNCwzLDAsMTMxLDIsMCw4Myw0MSwxLDc4LDQxLDIsCisgICAgMTE0LDEzLDEsMCwwLDExNCwxNzQsMCwwLDAsNDEsNCwxMTQsNzcsMSwwLAorICAgIDAsMTE0LDY3LDAsMCwwLDExNCwzNSwwLDAsMCwxMTQsMTcwLDAsMCwwLAogICAgIDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDIxOCwKLSAgICAxNCw5NSwxMDIsMTA1LDExMCwxMDAsOTUsOTcsMTEwLDEwMCw5NSwxMDgsMTExLDk3LDEwMCwxODYsCi0gICAgOCwwLDAsMTE1LDQsMCwwLDAsMCwyLDEzLDEsMTE0LDExNSwxLDAsCi0gICAgMCw5OSwzLDAsMCwwLDAsMCwwLDAsNSwwLDAsMCw0LDAsCi0gICAgMCwwLDY3LDAsMCwwLDExNSwxNzIsMCwwLDAsMTE2LDAsMCwxMjQsMCwKLSAgICAwLDEyNCwxLDAsMTI0LDIsMCwxMzEsMywwLDEsMTI0LDIsMCwxMDAsMSwKLSAgICAwLDEwNyw0LDAsMTE0LDQ5LDAsMTE2LDEsMCwxMjQsMCwwLDEyNCwxLDAsCi0gICAgMTI0LDIsMCwxMzEsMywwLDEyNSwwLDAsMTEwLDAsMCwxMTYsMiwwLDEwNiwKLSAgICAzLDAsMTMxLDAsMCwxLDEyNCwwLDAsMTE2LDQsMCwxMDYsNSwwLDEwNywKLSAgICA3LDAsMTE0LDg3LDAsMTE2LDYsMCwxMjQsMCwwLDExNiw3LDAsMTMxLDIsCi0gICAgMCw4MywxMTYsNCwwLDEwNiw1LDAsMTI0LDAsMCwyNSwxMjUsMywwLDEyNCwKLSAgICAzLDAsMTAwLDIsMCwxMDcsOCwwLDExNCwxNTgsMCwxMTYsMiwwLDEwNiw4LAotICAgIDAsMTMxLDAsMCwxLDEwMCwzLDAsMTA2LDksMCwxMjQsMCwwLDEzMSwxLAotICAgIDAsMTI1LDQsMCwxMTYsMTAsMCwxMjQsNCwwLDEwMCw0LDAsMTI0LDAsMCwKLSAgICAxMzEsMSwxLDEzMCwxLDAsMTEwLDAsMCwxMTYsMTEsMCwxMjQsMCwwLDEzMSwKLSAgICAxLDAsMSwxMjQsMywwLDgzLDQxLDUsOTcsNTAsMSwwLDAsNzMsMTA5LAotICAgIDExMiwxMTEsMTE0LDExNiwzMiw5NywxMTAsMTAwLDMyLDExNCwxMDEsMTE2LDExNywxMTQsMTEwLDMyLAotICAgIDExNiwxMDQsMTAxLDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDMyLDk4LDk3LDExNSwxMDEsMTAwLAotICAgIDMyLDExMSwxMTAsMzIsMTA1LDExNiwxMTUsMzIsMTEwLDk3LDEwOSwxMDEsNDQsMzIsMTE2LDEwNCwKLSAgICAxMDEsMzIsMTEyLDk3LDk5LDEwNyw5NywxMDMsMTAxLDMyLDExNiwxMDQsMTAxLDMyLDk5LDk3LAotICAgIDEwOCwxMDgsMzIsMTA1LDExNSwxMCwzMiwzMiwzMiwzMiw5OCwxMDEsMTA1LDExMCwxMDMsMzIsCi0gICAgMTA5LDk3LDEwMCwxMDEsMzIsMTAyLDExNCwxMTEsMTA5LDQ0LDMyLDk3LDExMCwxMDAsMzIsMTE2LAotICAgIDEwNCwxMDEsMzIsMTA4LDEwMSwxMTgsMTAxLDEwOCwzMiw5NywxMDAsMTA2LDExNywxMTUsMTE2LDEwOSwKLSAgICAxMDEsMTEwLDExNiw0NiwxMCwxMCwzMiwzMiwzMiwzMiw4NCwxMDQsMTA1LDExNSwzMiwxMDIsCi0gICAgMTE3LDExMCw5OSwxMTYsMTA1LDExMSwxMTAsMzIsMTE0LDEwMSwxMTIsMTE0LDEwMSwxMTUsMTAxLDExMCwKLSAgICAxMTYsMTE1LDMyLDExNiwxMDQsMTAxLDMyLDEwMywxMTQsMTAxLDk3LDExNiwxMDEsMTE1LDExNiwzMiwKLSAgICA5OSwxMTEsMTA5LDEwOSwxMTEsMTEwLDMyLDEwMCwxMDEsMTEwLDExMSwxMDksMTA1LDExMCw5NywxMTYsCi0gICAgMTExLDExNCwzMiwxMTEsMTAyLDMyLDEwMiwxMTcsMTEwLDk5LDExNiwxMDUsMTExLDExMCw5NywxMDgsCi0gICAgMTA1LDExNiwxMjEsMTAsMzIsMzIsMzIsMzIsOTgsMTAxLDExNiwxMTksMTAxLDEwMSwxMTAsMzIsCi0gICAgMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsOTUsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMzIsOTcsMTEwLAotICAgIDEwMCwzMiw5NSw5NSwxMDUsMTA5LDExMiwxMTEsMTE0LDExNiw5NSw5NSw0NiwzMiw4NCwxMDQsCi0gICAgMTA1LDExNSwzMiwxMDUsMTEwLDk5LDEwOCwxMTcsMTAwLDEwMSwxMTUsMzIsMTE1LDEwMSwxMTYsMTE2LAotICAgIDEwNSwxMTAsMTAzLDMyLDk1LDk1LDExMiw5Nyw5OSwxMDcsOTcsMTAzLDEwMSw5NSw5NSwzMiwKLSAgICAxMDUsMTAyLDEwLDMyLDMyLDMyLDMyLDExNiwxMDQsMTAxLDMyLDEwOCwxMTEsOTcsMTAwLDEwMSwKLSAgICAxMTQsMzIsMTAwLDEwNSwxMDAsMzIsMTEwLDExMSwxMTYsNDYsMTAsMTAsMzIsMzIsMzIsMzIsCi0gICAgMTE0LDg0LDAsMCwwLDc4LDEyMiw0MCwxMDUsMTA5LDExMiwxMTEsMTE0LDExNiwzMiwxMTEsCi0gICAgMTAyLDMyLDEyMywxMjUsMzIsMTA0LDk3LDEwOCwxMTYsMTAxLDEwMCw1OSwzMiw3OCwxMTEsMTEwLAotICAgIDEwMSwzMiwxMDUsMTEwLDMyLDExNSwxMjEsMTE1LDQ2LDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDExNSwKLSAgICAxMTQsNjcsMCwwLDAsNDEsMTIsMTE0LDExMSwxLDAsMCwxMTQsMTA1LDEsMCwKLSAgICAwLDExNCwxMDYsMCwwLDAsMTE0LDQsMSwwLDAsMTE0LDcsMCwwLDAsCi0gICAgMTE0LDczLDAsMCwwLDExNCwxMTUsMSwwLDAsMjE4LDExLDk1LDEwMyw5OSwxMDAsCi0gICAgOTUsMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsMTE0LDEwNywwLDAsMCwxMTQsNDcsMCwwLAotICAgIDAsMTE0LDE1NCwwLDAsMCwxMTQsMTEyLDAsMCwwLDQxLDUsMTE0LDY3LDAsCi0gICAgMCwwLDExNCwxMDMsMSwwLDAsMTE0LDEwNCwxLDAsMCwxMTQsMTgwLDAsMCwKLSAgICAwLDExNCwxNTIsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsCi0gICAgMTE0LDUsMCwwLDAsMTE0LDExNiwxLDAsMCwxOTIsOCwwLDAsMTE1LDI4LAotICAgIDAsMCwwLDAsOSwxNiwxLDEyLDEsMjEsMSwxMCwxLDE1LDEsMTMsCi0gICAgMSwxMywxLDEyLDEsMTAsMSw2LDEsOSwxLDIxLDEsMTAsMSwxMTQsCi0gICAgMTE2LDEsMCwwLDk5LDMsMCwwLDAsMCwwLDAsMCw2LDAsMCwKLSAgICAwLDE3LDAsMCwwLDY3LDAsMCwwLDExNSwxLDEsMCwwLDExNiwwLAotICAgIDAsMTI0LDAsMCwxMDAsMSwwLDEzMSwyLDAsMTE0LDI1MywwLDEwMCwyLDAsCi0gICAgMTI0LDEsMCwxMDcsNiwwLDExNCw4OSwwLDExNiwxLDAsMTI0LDEsMCwxMzEsCi0gICAgMSwwLDEyNSwxLDAsMTI0LDEsMCwxMDYsMiwwLDEwMCwyLDAsMTMxLDEsCi0gICAgMCwxLDExNiwwLDAsMTI0LDAsMCwxMDAsMywwLDEzMSwyLDAsMTE0LDg5LAotICAgIDAsMTI0LDEsMCwxMDYsMywwLDEyNCwwLDAsMTA2LDQsMCwxMzEsMSwwLAotICAgIDEsMTEzLDg5LDAsMTEwLDAsMCwxMjAsMTYxLDAsMTI0LDEsMCw2OCw5MywxNTAsCi0gICAgMCwxMjUsMywwLDExNiwwLDAsMTI0LDAsMCwxMjQsMywwLDEzMSwyLDAsCi0gICAgMTE1LDk2LDAsMTAwLDQsMCwxMDYsNSwwLDEyNCwwLDAsMTA2LDYsMCwxMjQsCi0gICAgMywwLDEzMSwyLDAsMTI1LDQsMCwxMjEsMTcsMCwxMTYsNywwLDEyNCwyLAotICAgIDAsMTI0LDQsMCwxMzEsMiwwLDEsODcsMTEzLDI0NiwwLDQsMTE2LDgsMCwKLSAgICAxMDcsMTAsMCwxMTQsMjQyLDAsMSwxMjUsNSwwLDEsMTIyLDUzLDAsMTE2LDksCi0gICAgMCwxMjQsNSwwLDEzMSwxLDAsMTA2LDEwLDAsMTE2LDExLDAsMTMxLDEsMCwKLSAgICAxMTQsMjIxLDAsMTI0LDUsMCwxMDYsMTIsMCwxMjQsNCwwLDEwNywyLDAsMTE0LAotICAgIDIyMSwwLDExOSw5NiwwLDExMywyMjEsMCwxMTAsMCwwLDEzMCwwLDAsODcsODksCi0gICAgMTAwLDUsMCwxMDAsNSwwLDEyNSw1LDAsMTI2LDUsMCw4OCwxMTMsMjQ2LDAsCi0gICAgODgsMTEzLDk2LDAsMTEzLDk2LDAsODcsMTEwLDAsMCwxMjQsMCwwLDgzLDQxLAotICAgIDYsMTIyLDIzOCw3MCwxMDUsMTAzLDExNywxMTQsMTAxLDMyLDExMSwxMTcsMTE2LDMyLDExOSwxMDQsCi0gICAgOTcsMTE2LDMyLDk1LDk1LDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDk1LDk1LDMyLDExNSwxMDQsCi0gICAgMTExLDExNywxMDgsMTAwLDMyLDExNCwxMDEsMTE2LDExNywxMTQsMTEwLDQ2LDEwLDEwLDMyLDMyLAotICAgIDMyLDMyLDg0LDEwNCwxMDEsMzIsMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsOTUsMzIsMTEyLDk3LAotICAgIDExNCw5NywxMDksMTAxLDExNiwxMDEsMTE0LDMyLDEwNSwxMTUsMzIsOTcsMzIsOTksOTcsMTA4LAotICAgIDEwOCw5Nyw5OCwxMDgsMTAxLDMyLDExOSwxMDQsMTA1LDk5LDEwNCwzMiwxMTYsOTcsMTA3LDEwMSwKLSAgICAxMTUsMzIsMTE2LDEwNCwxMDEsMzIsMTEwLDk3LDEwOSwxMDEsMzIsMTExLDEwMiwzMiwxMDksMTExLAotICAgIDEwMCwxMTcsMTA4LDEwMSwzMiwxMTYsMTExLDEwLDMyLDMyLDMyLDMyLDEwNSwxMDksMTEyLDExMSwKLSAgICAxMTQsMTE2LDQ2LDMyLDczLDExNiwzMiwxMDUsMTE1LDMyLDExNCwxMDEsMTEzLDExNywxMDUsMTE0LAotICAgIDEwMSwxMDAsMzIsMTE2LDExMSwzMiwxMDAsMTAxLDk5LDExMSwxMTcsMTEyLDEwOCwxMDEsMzIsMTE2LAotICAgIDEwNCwxMDEsMzIsMTAyLDExNywxMTAsOTksMTE2LDEwNSwxMTEsMTEwLDMyLDEwMiwxMTQsMTExLDEwOSwKLSAgICAzMiw5NywxMTUsMTE1LDExNywxMDksMTA1LDExMCwxMDMsMzIsMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsCi0gICAgMTA4LDEwNSw5OCwzOSwxMTUsMTAsMzIsMzIsMzIsMzIsMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsCi0gICAgMzIsMTA1LDEwOSwxMTIsMTA4LDEwMSwxMDksMTAxLDExMCwxMTYsOTcsMTE2LDEwNSwxMTEsMTEwLDMyLAotICAgIDEwNSwxMTUsMzIsMTAwLDEwMSwxMTUsMTA1LDExNCwxMDEsMTAwLDQ2LDEwLDEwLDMyLDMyLDMyLAotICAgIDMyLDExNCwyNDcsMCwwLDAsMjUwLDEsNDIsMjE4LDcsOTUsOTUsOTcsMTA4LDEwOCwKLSAgICA5NSw5NSwxMjIsNSwxMjMsMTI1LDQ2LDEyMywxMjUsNzgsNDEsMTMsMTE0LDYwLDAsMCwKLSAgICAwLDExNCwyNDYsMCwwLDAsMjE4LDYsMTE0LDEwMSwxMDksMTExLDExOCwxMDEsMTE0LDE5OCwKLSAgICAwLDAsMCwxMTQsMTE4LDEsMCwwLDExNCw0NywwLDAsMCwxMTQsNTcsMCwKLSAgICAwLDAsMTE0LDExNCwwLDAsMCwxMTQsMTU0LDAsMCwwLDExNCw4MywxLDAsCi0gICAgMCwxMTQsOSwwLDAsMCwyMTgsMTUsOTUsNjksODIsODIsOTUsNzcsODMsNzEsCi0gICAgOTUsODAsODIsNjksNzAsNzMsODgsMTE0LDY3LDAsMCwwLDQxLDYsMTE0LDE4MCwKLSAgICAwLDAsMCwyMTgsOCwxMDIsMTE0LDExMSwxMDksMTA4LDEwNSwxMTUsMTE2LDExNCwxMTMsMSwKLSAgICAwLDAsMTE0LDE2LDAsMCwwLDkwLDksMTAyLDExNCwxMTEsMTA5LDk1LDExMCw5NywKLSAgICAxMDksMTAxLDExNCw0MSwxLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsCi0gICAgMCwxMTQsNSwwLDAsMCwyMTgsMTYsOTUsMTA0LDk3LDExMCwxMDAsMTA4LDEwMSw5NSwKLSAgICAxMDIsMTE0LDExMSwxMDksMTA4LDEwNSwxMTUsMTE2LDIxNiw4LDAsMCwxMTUsMzQsMCwwLAotICAgIDAsMCwxMCwxNSwxLDEyLDEsMTIsMSwxMywxLDE1LDEsMjIsMSwxMywKLSAgICAxLDE1LDEsMjEsMSwzLDEsMTcsMSwxOCw0LDIxLDEsMTUsMSw5LAotICAgIDEsMzIsMSwxMTQsMTIyLDEsMCwwLDk5LDEsMCwwLDAsMCwwLDAsCi0gICAgMCwyLDAsMCwwLDIsMCwwLDAsNjcsMCwwLDAsMTE1LDc4LDAsCi0gICAgMCwwLDEyNCwwLDAsMTA2LDAsMCwxMDAsMSwwLDEzMSwxLDAsMTI1LDEsCi0gICAgMCwxMjQsMSwwLDEwMCwyLDAsMTA3LDgsMCwxMTQsNzQsMCwxMjQsMCwwLAotICAgIDEwMCwzLDAsMjUsMTI1LDEsMCwxMDAsNCwwLDEyNCwwLDAsMTA3LDcsMCwKLSAgICAxMTQsNzQsMCwxMjQsMSwwLDEwNiwxLDAsMTAwLDUsMCwxMzEsMSwwLDEwMCwKLSAgICA2LDAsMjUsMTI1LDEsMCwxMTMsNzQsMCwxMTAsMCwwLDEyNCwxLDAsODMsCi0gICAgNDEsNywxMjIsMTY3LDY3LDk3LDEwOCw5OSwxMTcsMTA4LDk3LDExNiwxMDEsMzIsMTE5LDEwNCwKLSAgICA5NywxMTYsMzIsOTUsOTUsMTEyLDk3LDk5LDEwNyw5NywxMDMsMTAxLDk1LDk1LDMyLDExNSwKLSAgICAxMDQsMTExLDExNywxMDgsMTAwLDMyLDk4LDEwMSw0NiwxMCwxMCwzMiwzMiwzMiwzMiw5NSwKLSAgICA5NSwxMTIsOTcsOTksMTA3LDk3LDEwMywxMDEsOTUsOTUsMzIsMTA1LDExNSwzMiwxMTAsMTExLAotICAgIDExNiwzMiwxMDMsMTE3LDk3LDExNCw5NywxMTAsMTE2LDEwMSwxMDEsMTAwLDMyLDExNiwxMTEsMzIsCi0gICAgOTgsMTAxLDMyLDEwMCwxMDEsMTAyLDEwNSwxMTAsMTAxLDEwMCwzMiwxMTEsMTE0LDMyLDk5LDExMSwKLSAgICAxMTcsMTA4LDEwMCwzMiw5OCwxMDEsMzIsMTE1LDEwMSwxMTYsMzIsMTE2LDExMSwzMiw3OCwxMTEsCi0gICAgMTEwLDEwMSwxMCwzMiwzMiwzMiwzMiwxMTYsMTExLDMyLDExNCwxMDEsMTEyLDExNCwxMDEsMTE1LAotICAgIDEwMSwxMTAsMTE2LDMyLDExNiwxMDQsOTcsMTE2LDMyLDEwNSwxMTYsMTE1LDMyLDExMiwxMTQsMTExLAotICAgIDExMiwxMDEsMTE0LDMyLDExOCw5NywxMDgsMTE3LDEwMSwzMiwxMDUsMTE1LDMyLDExNywxMTAsMTA3LAotICAgIDExMCwxMTEsMTE5LDExMCw0NiwxMCwxMCwzMiwzMiwzMiwzMiwxMTQsMjUxLDAsMCwwLAotICAgIDc4LDExNCw1NywwLDAsMCwxMTQsMjQ3LDAsMCwwLDExNCwxMTYsMCwwLDAsCi0gICAgMTE0LDg0LDAsMCwwLDQxLDIsMTE0LDkzLDAsMCwwLDExNCwzMiwwLDAsCi0gICAgMCw0MSwyLDIxOCw3LDEwMywxMDgsMTExLDk4LDk3LDEwOCwxMTUsMTE0LDEwMywxLDAsCi0gICAgMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwKLSAgICAyMTgsMTcsOTUsOTksOTcsMTA4LDk5LDk1LDk1LDk1LDExMiw5Nyw5OSwxMDcsOTcsMTAzLAotICAgIDEwMSw5NSw5NSwyNDgsOCwwLDAsMTE1LDEyLDAsMCwwLDAsNywxNSwxLAotICAgIDEyLDEsMTAsMSwxMiwxLDI1LDEsMTE0LDEyNCwxLDAsMCw5OSwwLDAsCi0gICAgMCwwLDAsMCwwLDAsMywwLDAsMCwzLDAsMCwwLDY3LDAsCi0gICAgMCwwLDExNSw1NSwwLDAsMCwxMTYsMCwwLDExNiwxLDAsMTA2LDIsMCwKLSAgICAxMzEsMCwwLDEwMiwyLDAsMTI1LDAsMCwxMTYsMywwLDExNiw0LDAsMTAyLAotICAgIDIsMCwxMjUsMSwwLDExNiw1LDAsMTE2LDYsMCwxMDIsMiwwLDEyNSwyLAotICAgIDAsMTI0LDAsMCwxMjQsMSwwLDEyNCwyLDAsMTAzLDMsMCw4Myw0MSwxLAotICAgIDEyMiw5NSw4MiwxMDEsMTE2LDExNywxMTQsMTEwLDExNSwzMiw5NywzMiwxMDgsMTA1LDExNSwxMTYsCi0gICAgMzIsMTExLDEwMiwzMiwxMDIsMTA1LDEwOCwxMDEsNDUsOTgsOTcsMTE1LDEwMSwxMDAsMzIsMTA5LAotICAgIDExMSwxMDAsMTE3LDEwOCwxMDEsMzIsMTA4LDExMSw5NywxMDAsMTAxLDExNCwxMTUsNDYsMTAsMTAsCi0gICAgMzIsMzIsMzIsMzIsNjksOTcsOTksMTA0LDMyLDEwNSwxMTYsMTAxLDEwOSwzMiwxMDUsMTE1LAotICAgIDMyLDk3LDMyLDExNiwxMTcsMTEyLDEwOCwxMDEsMzIsNDAsMTA4LDExMSw5NywxMDAsMTAxLDExNCwKLSAgICA0NCwzMiwxMTUsMTE3LDEwMiwxMDIsMTA1LDEyMCwxMDEsMTE1LDQxLDQ2LDEwLDMyLDMyLDMyLAotICAgIDMyLDQxLDcsMTE0LDU3LDEsMCwwLDExNCwxMDYsMCwwLDAsMjE4LDE4LDEwMSwKLSAgICAxMjAsMTE2LDEwMSwxMTAsMTE1LDEwNSwxMTEsMTEwLDk1LDExNSwxMTcsMTAyLDEwMiwxMDUsMTIwLDEwMSwKLSAgICAxMTUsMTE0LDksMSwwLDAsMTE0LDEzNSwwLDAsMCwxMTQsOCwxLDAsMCwKLSAgICAxMTQsMjMzLDAsMCwwLDQxLDMsOTAsMTAsMTAxLDEyMCwxMTYsMTAxLDExMCwxMTUsMTA1LAotICAgIDExMSwxMTAsMTE1LDkwLDYsMTE1LDExMSwxMTcsMTE0LDk5LDEwMSw5MCw4LDk4LDEyMSwxMTYsCi0gICAgMTAxLDk5LDExMSwxMDAsMTAxLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCwKLSAgICA1LDAsMCwwLDExNCwyNDEsMCwwLDAsNyw5LDAsMCwxMTUsOCwwLAotICAgIDAsMCwwLDUsMTgsMSwxMiwxLDEyLDEsMTE0LDI0MSwwLDAsMCw5OSwKLSAgICA1LDAsMCwwLDAsMCwwLDAsOSwwLDAsMCw1LDAsMCwwLAotICAgIDY3LDAsMCwwLDExNSwyMjcsMCwwLDAsMTI0LDQsMCwxMDAsMSwwLDEwNywKLSAgICAyLDAsMTE0LDI3LDAsMTE2LDAsMCwxMjQsMCwwLDEzMSwxLDAsMTI1LDUsCi0gICAgMCwxMTAsNTQsMCwxMjQsMSwwLDEwMCwyLDAsMTA3LDksMCwxMTQsNDUsMCwKLSAgICAxMjQsMSwwLDExMCwzLDAsMTA1LDAsMCwxMjUsNiwwLDExNiwxLDAsMTI0LAotICAgIDYsMCwxMzEsMSwwLDEyNSw3LDAsMTE2LDAsMCwxMjQsMCwwLDEyNCw3LAotICAgIDAsMTI0LDQsMCwxMzEsMywwLDEyNSw1LDAsMTI0LDMsMCwxMTUsMjA3LDAsCi0gICAgMTI0LDQsMCwxMDAsMSwwLDEwNywyLDAsMTE0LDEyMiwwLDExNiwwLDAsMTI0LAorICAgIDE3LDk1LDEwMiwxMDUsMTEwLDEwMCw5NSwxMTUsMTEyLDEwMSw5OSw5NSwxMDgsMTAxLDEwMyw5NywKKyAgICA5OSwxMjEsNTgsOCwwLDAsMTE1LDgsMCwwLDAsMCwzLDE4LDEsMTIsCisgICAgMSw0LDEsMTE0LDEwNSwxLDAsMCw5OSwzLDAsMCwwLDAsMCwwLAorICAgIDAsOSwwLDAsMCwyNiwwLDAsMCw2NywwLDAsMCwxMTUsNDEsMSwKKyAgICAwLDAsMTE2LDAsMCwxMDYsMSwwLDEwMCwxLDAsMTA3LDksMCwxMTQsNDEsCisgICAgMCwxMTYsMCwwLDEwNiwxLDAsMTIsMTE0LDQxLDAsMTE2LDIsMCwxMDYsMywKKyAgICAwLDEwMCwyLDAsMTE2LDQsMCwxMzEsMiwwLDEsMTI0LDAsMCwxMTYsMCwKKyAgICAwLDEwNiw1LDAsMTA3LDYsMCwxMjUsMywwLDEyMCwyMzQsMCwxMTYsMCwwLAorICAgIDEwNiwxLDAsNjgsOTMsMjE5LDAsMTI1LDQsMCwxMTYsNiwwLDEzMSwwLDAsCisgICAgMTQzLDkwLDAsMSwxMjEsMTMsMCwxMjQsNCwwLDEwNiw3LDAsMTI1LDUsMCwKKyAgICA4NywxMTAsNTEsMCw0LDExNiw4LDAsMTA3LDEwLDAsMTE0LDE0OCwwLDEsMSwKKyAgICAxLDExNiw5LDAsMTI0LDQsMCwxMjQsMCwwLDEyNCwxLDAsMTMxLDMsMCwKKyAgICAxMjUsNiwwLDEyNCw2LDAsMTAwLDEsMCwxMDcsOCwwLDExNCwxNDQsMCwxMTksCisgICAgNjYsMCw4OSwxMTAsMTksMCw4OCwxMjQsNSwwLDEyNCwwLDAsMTI0LDEsMCwKKyAgICAxMjQsMiwwLDEzMSwzLDAsMTI1LDYsMCw4NywxMDAsMSwwLDgxLDg4LDEyNCwKKyAgICA2LDAsMTAwLDEsMCwxMDcsOSwwLDExNCw2NiwwLDEyNCwzLDAsMTIsMTE0LAorICAgIDI1LDEsMTI0LDAsMCwxMTYsMCwwLDEwNiw1LDAsMTA3LDYsMCwxMTQsMjUsCisgICAgMSwxMTYsMCwwLDEwNiw1LDAsMTI0LDAsMCwyNSwxMjUsNywwLDEyMSwxMywKKyAgICAwLDEyNCw3LDAsMTA2LDEwLDAsMTI1LDgsMCw4NywxMTAsMjIsMCw0LDExNiwKKyAgICA4LDAsMTA3LDEwLDAsMTE0LDEsMSwxLDEsMSwxMjQsNiwwLDgzLDg5LAorICAgIDExMywyOSwxLDg4LDEyNCw4LDAsMTAwLDEsMCwxMDcsOCwwLDExNCwxOCwxLAorICAgIDEyNCw2LDAsODMsMTI0LDgsMCw4MywxMTMsNjYsMCwxMjQsNiwwLDgzLDExMywKKyAgICA2NiwwLDg3LDEwMCwxLDAsODMsMTAwLDEsMCw4Myw0MSwzLDEyMiwyMyw3MCwKKyAgICAxMDUsMTEwLDEwMCwzMiw5NywzMiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwzOSwxMTUsMzIsMTA4LAorICAgIDExMSw5NywxMDAsMTAxLDExNCw0Niw3OCwxMjIsMjIsMTE1LDEyMSwxMTUsNDYsMTA5LDEwMSwxMTYsCisgICAgOTcsOTUsMTEyLDk3LDExNiwxMDQsMzIsMTA1LDExNSwzMiwxMDEsMTA5LDExMiwxMTYsMTIxLDQxLAorICAgIDExLDExNCw3LDAsMCwwLDIxOCw5LDEwOSwxMDEsMTE2LDk3LDk1LDExMiw5NywxMTYsCisgICAgMTA0LDExNCwxNjcsMCwwLDAsMTE0LDE2OCwwLDAsMCwxMTQsMTY5LDAsMCwwLAorICAgIDExNCw3MywwLDAsMCwxMTQsMTAxLDEsMCwwLDExNCwxMiwxLDAsMCwxMTQsCisgICAgMjA4LDAsMCwwLDExNCwxMDUsMSwwLDAsMTE0LDIwNywwLDAsMCw0MSw5LAorICAgIDExNCw2NywwLDAsMCwxMTQsMzUsMCwwLDAsMTE0LDExLDEsMCwwLDkwLAorICAgIDksMTA1LDExNSw5NSwxMTQsMTAxLDEwOCwxMTEsOTcsMTAwLDExNCw3NywxLDAsMCwxMTQsCisgICAgMTIsMSwwLDAsMTE0LDE3NywwLDAsMCwxMTQsMTc4LDAsMCwwLDExNCwyMDcsCisgICAgMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwKKyAgICAwLDAsMjE4LDEwLDk1LDEwMiwxMDUsMTEwLDEwMCw5NSwxMTUsMTEyLDEwMSw5OSw2Nyw4LAorICAgIDAsMCwxMTUsNDgsMCwwLDAsMCwyLDI1LDEsMTYsNCwxNSwxLDE2LAorICAgIDEsMTAsMSwzLDEsMTMsMSwxMywxLDE4LDEsMTIsMSw4LDIsMjQsCisgICAgMSwxMiwyLDIyLDEsMTMsMSwzLDEsMTMsMSwxMyw0LDksMiwxMiwKKyAgICAxLDQsMiw3LDIsOCwyLDExNCwxMDcsMSwwLDAsOTksMywwLDAsCisgICAgMCwwLDAsMCwwLDQsMCwwLDAsNCwwLDAsMCw2NywwLDAsCisgICAgMCwxMTUsMTc5LDAsMCwwLDExNiwwLDAsMTI0LDAsMCwxMTYsMSwwLDEzMSwKKyAgICAyLDAsMTE1LDQyLDAsMTE2LDIsMCwxMDAsMSwwLDEwNiwzLDAsMTE2LDQsCisgICAgMCwxMjQsMCwwLDEzMSwxLDAsMTMxLDEsMCwxMzEsMSwwLDEzMCwxLDAsCisgICAgMTI0LDIsMCwxMDAsMiwwLDEwNywwLDAsMTE0LDY2LDAsMTE2LDUsMCwxMDAsCisgICAgMywwLDEzMSwxLDAsMTMwLDEsMCwxMjQsMSwwLDExNCwxNDQsMCwxMTYsMCwKKyAgICAwLDEyNCwxLDAsMTE2LDEsMCwxMzEsMiwwLDExNSwxMDIsMCwxMTYsMiwwLAorICAgIDEwMCw0LDAsMTMxLDEsMCwxMzAsMSwwLDExMCw0MiwwLDEyNCwxLDAsMTE2LAorICAgIDYsMCwxMDYsNywwLDEwNyw3LDAsMTE0LDE0NCwwLDEwMCw1LDAsMTI1LDMsCisgICAgMCwxMTYsOCwwLDEyNCwzLDAsMTA2LDMsMCwxMjQsMSwwLDEzMSwxLDAsCisgICAgMTMxLDEsMCwxMzAsMSwwLDEyNCwwLDAsMTIsMTE0LDE3NSwwLDEyNCwyLDAsCisgICAgMTAwLDIsMCwxMDcsMiwwLDExNCwxNzUsMCwxMTYsNSwwLDEwMCw2LDAsMTMxLAorICAgIDEsMCwxMzAsMSwwLDEwMCw3LDAsODMsNDEsOCwxMjIsMjgsODYsMTAxLDExNCwKKyAgICAxMDUsMTAyLDEyMSwzMiw5NywxMTQsMTAzLDExNywxMDksMTAxLDExMCwxMTYsMTE1LDMyLDk3LDExNCwKKyAgICAxMDEsMzIsMzQsMTE1LDk3LDExMCwxMDEsMzQsNDYsMTIyLDMxLDEwOSwxMTEsMTAwLDExNywxMDgsCisgICAgMTAxLDMyLDExMCw5NywxMDksMTAxLDMyLDEwOSwxMTcsMTE1LDExNiwzMiw5OCwxMDEsMzIsMTE1LAorICAgIDExNiwxMTQsNDQsMzIsMTEwLDExMSwxMTYsMzIsMTIzLDEyNSwxMTQsODQsMCwwLDAsMTIyLAorICAgIDE4LDEwOCwxMDEsMTE4LDEwMSwxMDgsMzIsMTA5LDExNywxMTUsMTE2LDMyLDk4LDEwMSwzMiw2MiwKKyAgICA2MSwzMiw0OCwxMjIsMzEsOTUsOTUsMTEyLDk3LDk5LDEwNyw5NywxMDMsMTAxLDk1LDk1LAorICAgIDMyLDExMCwxMTEsMTE2LDMyLDExNSwxMDEsMTE2LDMyLDExNiwxMTEsMzIsOTcsMzIsMTE1LDExNiwKKyAgICAxMTQsMTA1LDExMCwxMDMsMTIyLDYxLDgwLDk3LDExNCwxMDEsMTEwLDExNiwzMiwxMDksMTExLDEwMCwKKyAgICAxMTcsMTA4LDEwMSwzMiwxMjMsMzMsMTE0LDEyNSwzMiwxMTAsMTExLDExNiwzMiwxMDgsMTExLDk3LAorICAgIDEwMCwxMDEsMTAwLDQ0LDMyLDk5LDk3LDExMCwxMTAsMTExLDExNiwzMiwxMTIsMTAxLDExNCwxMDIsCisgICAgMTExLDExNCwxMDksMzIsMTE0LDEwMSwxMDgsOTcsMTE2LDEwNSwxMTgsMTAxLDMyLDEwNSwxMDksMTEyLAorICAgIDExMSwxMTQsMTE2LDEyMiwxNyw2OSwxMDksMTEyLDExNiwxMjEsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwKKyAgICAxMDEsMzIsMTEwLDk3LDEwOSwxMDEsNzgsNDEsOSwxMTQsMTkxLDAsMCwwLDExNCw4MywKKyAgICAxLDAsMCwyMTgsOSw4NCwxMjEsMTEyLDEwMSw2OSwxMTQsMTE0LDExMSwxMTQsMTE0LDQ3LAorICAgIDAsMCwwLDExNCw2NiwwLDAsMCwxMTQsMTMzLDAsMCwwLDExNCw3LDAsCisgICAgMCwwLDExNCw3MywwLDAsMCwyMTgsMTEsODMsMTIxLDExNSwxMTYsMTAxLDEwOSw2OSwKKyAgICAxMTQsMTE0LDExMSwxMTQsNDEsNCwxMTQsNjcsMCwwLDAsMTE0LDEwMiwxLDAsMCwKKyAgICAxMTQsMTAzLDEsMCwwLDExNCwxNzIsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LAorICAgIDQsMCwwLDAsMTE0LDUsMCwwLDAsMjE4LDEzLDk1LDExNSw5NywxMTAsMTA1LAorICAgIDExNiwxMjEsOTUsOTksMTA0LDEwMSw5OSwxMDcsMTA3LDgsMCwwLDExNSwyNCwwLDAsCisgICAgMCwwLDIsMTUsMSwyNywxLDEyLDEsMTIsMSw2LDEsMTUsMSwxNSwKKyAgICAxLDE1LDEsNiwyLDIxLDEsMTksMSwxMTQsMTEwLDEsMCwwLDEyMiwxNiwKKyAgICA3OCwxMTEsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMzIsMTEwLDk3LDEwOSwxMDEsMTAwLDMyLAorICAgIDEyMiw0LDEyMywzMywxMTQsMTI1LDk5LDIsMCwwLDAsMCwwLDAsMCw4LAorICAgIDAsMCwwLDEyLDAsMCwwLDY3LDAsMCwwLDExNSw0MCwxLDAsMCwKKyAgICAxMDAsMCwwLDEyNSwyLDAsMTI0LDAsMCwxMDYsMCwwLDEwMCwxLDAsMTMxLAorICAgIDEsMCwxMDAsMiwwLDI1LDEyNSwzLDAsMTI0LDMsMCwxMTQsMTc1LDAsMTI0LAorICAgIDMsMCwxMTYsMSwwLDEwNiwyLDAsMTA3LDcsMCwxMTQsNTksMCwxMTYsMywKKyAgICAwLDEyNCwxLDAsMTI0LDMsMCwxMzEsMiwwLDEsMTI0LDAsMCwxMTYsMSwKKyAgICAwLDEwNiwyLDAsMTA3LDYsMCwxMTQsODUsMCwxMTYsMSwwLDEwNiwyLDAsCisgICAgMTI0LDAsMCwyNSw4MywxMTYsMSwwLDEwNiwyLDAsMTI0LDMsMCwyNSwxMjUsCisgICAgNCwwLDEyMSwxMywwLDEyNCw0LDAsMTA2LDQsMCwxMjUsMiwwLDg3LDExMCwKKyAgICA2MSwwLDQsMTE2LDUsMCwxMDcsMTAsMCwxMTQsMTc0LDAsMSwxLDEsMTE2LAorICAgIDYsMCwxMDAsMywwLDIzLDEwNiw3LDAsMTI0LDAsMCwxMjQsMywwLDEzMSwKKyAgICAyLDAsMTI1LDUsMCwxMTYsOCwwLDEyNCw1LDAsMTAwLDQsMCwxMjQsMCwKKyAgICAwLDEzMSwxLDEsMTAwLDAsMCwxMzAsMiwwLDg5LDExMCwxLDAsODgsMTE2LAorICAgIDksMCwxMjQsMCwwLDEyNCwyLDAsMTMxLDIsMCwxMjUsNiwwLDEyNCw2LAorICAgIDAsMTAwLDAsMCwxMDcsOCwwLDExNCwyMzIsMCwxMTYsOCwwLDExNiw2LDAsCisgICAgMTA2LDcsMCwxMjQsMCwwLDEzMSwxLDAsMTAwLDQsMCwxMjQsMCwwLDEzMSwKKyAgICAxLDEsMTMwLDEsMCwxMTAsMTIsMCwxMTYsMTAsMCwxMjQsNiwwLDEzMSwxLAorICAgIDAsMTI1LDcsMCwxMjQsMywwLDExNCwzNiwxLDExNiwxLDAsMTA2LDIsMCwKKyAgICAxMjQsMywwLDI1LDEyNSw0LDAsMTE2LDExLDAsMTI0LDQsMCwxMjQsMCwwLAorICAgIDEwNiwwLDAsMTAwLDEsMCwxMzEsMSwwLDEwMCw1LDAsMjUsMTI0LDcsMCwKKyAgICAxMzEsMywwLDEsMTI0LDcsMCw4Myw0MSw2LDc4LDExNCwxMTYsMCwwLDAsCisgICAgMTE0LDg0LDAsMCwwLDEyMiwyMyw1OSwzMiwxMjMsMzMsMTE0LDEyNSwzMiwxMDUsMTE1LAorICAgIDMyLDExMCwxMTEsMTE2LDMyLDk3LDMyLDExMiw5Nyw5OSwxMDcsOTcsMTAzLDEwMSwxMTQsNjcsCisgICAgMCwwLDAsMTE0LDExNSwwLDAsMCw0MSwxMiwxMTQsMzIsMCwwLDAsMTE0LAorICAgIDcsMCwwLDAsMTE0LDczLDAsMCwwLDExNCwxMTQsMCwwLDAsMTE0LDI0NiwKKyAgICAwLDAsMCwxMTQsMjA4LDAsMCwwLDIxOCw4LDk1LDY5LDgyLDgyLDk1LDc3LAorICAgIDgzLDcxLDExNCw0NywwLDAsMCwxMTQsMTU0LDAsMCwwLDExNCwxMDcsMSwwLAorICAgIDAsMTE0LDUsMSwwLDAsMTE0LDYxLDAsMCwwLDQxLDgsMTE0LDY3LDAsCisgICAgMCwwLDIxOCw3LDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDk1LDExNCwzNSwwLDAsMCwKKyAgICAxMTQsMjMzLDAsMCwwLDkwLDEzLDExMiw5NywxMTQsMTAxLDExMCwxMTYsOTUsMTA5LDExMSwKKyAgICAxMDAsMTE3LDEwOCwxMDEsMTE0LDE3MiwwLDAsMCwxMTQsMTc3LDAsMCwwLDExNCwxNzgsCisgICAgMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwKKyAgICAwLDAsMjE4LDIzLDk1LDEwMiwxMDUsMTEwLDEwMCw5NSw5NywxMTAsMTAwLDk1LDEwOCwxMTEsCisgICAgOTcsMTAwLDk1LDExNywxMTAsMTA4LDExMSw5OSwxMDcsMTAxLDEwMCwxMjcsOCwwLDAsMTE1LAorICAgIDQyLDAsMCwwLDAsMSw2LDEsMTksMSw2LDEsMTUsMSwxMywyLAorICAgIDE1LDEsMTEsMSwxMywxLDMsMSwxMywxLDEzLDEsMjIsMSwyNiwxLAorICAgIDE1LDEsMTIsMSwzMCwyLDEyLDEsNiwyLDEzLDEsMjksMSwxMTQsMTEzLAorICAgIDEsMCwwLDk5LDIsMCwwLDAsMCwwLDAsMCwyLDAsMCwwLAorICAgIDEwLDAsMCwwLDY3LDAsMCwwLDExNSwzNiwwLDAsMCwxMTYsMCwwLAorICAgIDEyNCwwLDAsMTMxLDEsMCwxNDMsMTgsMCwxLDExNiwxLDAsMTI0LDAsMCwKKyAgICAxMjQsMSwwLDEzMSwyLDAsODMsODcsMTAwLDEsMCw4MSw4OCwxMDAsMSwwLAorICAgIDgzLDQxLDIsMTIyLDU0LDcwLDEwNSwxMTAsMTAwLDMyLDk3LDExMCwxMDAsMzIsMTA4LDExMSwKKyAgICA5NywxMDAsMzIsMTE2LDEwNCwxMDEsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsNDQsMzIsOTcsCisgICAgMTEwLDEwMCwzMiwxMTQsMTAxLDEwOCwxMDEsOTcsMTE1LDEwMSwzMiwxMTYsMTA0LDEwMSwzMiwxMDUsCisgICAgMTA5LDExMiwxMTEsMTE0LDExNiwzMiwxMDgsMTExLDk5LDEwNyw0Niw3OCw0MSwyLDExNCwxMDMsCisgICAgMCwwLDAsMTE0LDExMywxLDAsMCw0MSwyLDExNCw2NywwLDAsMCwxMTQsCisgICAgMTEyLDEsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LAorICAgIDAsMCwwLDIxOCwxNCw5NSwxMDIsMTA1LDExMCwxMDAsOTUsOTcsMTEwLDEwMCw5NSwxMDgsCisgICAgMTExLDk3LDEwMCwxNTQsOCwwLDAsMTE1LDQsMCwwLDAsMCwyLDEzLDEsCisgICAgMTE0LDExNCwxLDAsMCw5OSwzLDAsMCwwLDAsMCwwLDAsNSwwLAorICAgIDAsMCw0LDAsMCwwLDY3LDAsMCwwLDExNSwxNjYsMCwwLDAsMTE2LAorICAgIDAsMCwxMjQsMCwwLDEyNCwxLDAsMTI0LDIsMCwxMzEsMywwLDEsMTI0LAorICAgIDIsMCwxMDAsMSwwLDEwNyw0LDAsMTE0LDQ2LDAsMTE2LDEsMCwxMjQsMCwKKyAgICAwLDEyNCwxLDAsMTI0LDIsMCwxMzEsMywwLDEyNSwwLDAsMTE2LDIsMCwKKyAgICAxMDYsMywwLDEzMSwwLDAsMSwxMjQsMCwwLDExNiw0LDAsMTA2LDUsMCwKKyAgICAxMDcsNywwLDExNCw4NCwwLDExNiw2LDAsMTI0LDAsMCwxMTYsNywwLDEzMSwKKyAgICAyLDAsODMsMTE2LDQsMCwxMDYsNSwwLDEyNCwwLDAsMjUsMTI1LDMsMCwKKyAgICAxMjQsMywwLDEwMCwyLDAsMTA3LDgsMCwxMTQsMTUyLDAsMTE2LDIsMCwxMDYsCisgICAgOCwwLDEzMSwwLDAsMSwxMDAsMywwLDEwNiw5LDAsMTI0LDAsMCwxMzEsCisgICAgMSwwLDEyNSw0LDAsMTE2LDEwLDAsMTI0LDQsMCwxMDAsNCwwLDEyNCwwLAorICAgIDAsMTMxLDEsMSwxMzAsMSwwLDExNiwxMSwwLDEyNCwwLDAsMTMxLDEsMCwKKyAgICAxLDEyNCwzLDAsODMsNDEsNSw5Nyw1MCwxLDAsMCw3MywxMDksMTEyLDExMSwKKyAgICAxMTQsMTE2LDMyLDk3LDExMCwxMDAsMzIsMTE0LDEwMSwxMTYsMTE3LDExNCwxMTAsMzIsMTE2LDEwNCwKKyAgICAxMDEsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMzIsOTgsOTcsMTE1LDEwMSwxMDAsMzIsMTExLAorICAgIDExMCwzMiwxMDUsMTE2LDExNSwzMiwxMTAsOTcsMTA5LDEwMSw0NCwzMiwxMTYsMTA0LDEwMSwzMiwKKyAgICAxMTIsOTcsOTksMTA3LDk3LDEwMywxMDEsMzIsMTE2LDEwNCwxMDEsMzIsOTksOTcsMTA4LDEwOCwKKyAgICAzMiwxMDUsMTE1LDEwLDMyLDMyLDMyLDMyLDk4LDEwMSwxMDUsMTEwLDEwMywzMiwxMDksOTcsCisgICAgMTAwLDEwMSwzMiwxMDIsMTE0LDExMSwxMDksNDQsMzIsOTcsMTEwLDEwMCwzMiwxMTYsMTA0LDEwMSwKKyAgICAzMiwxMDgsMTAxLDExOCwxMDEsMTA4LDMyLDk3LDEwMCwxMDYsMTE3LDExNSwxMTYsMTA5LDEwMSwxMTAsCisgICAgMTE2LDQ2LDEwLDEwLDMyLDMyLDMyLDMyLDg0LDEwNCwxMDUsMTE1LDMyLDEwMiwxMTcsMTEwLAorICAgIDk5LDExNiwxMDUsMTExLDExMCwzMiwxMTQsMTAxLDExMiwxMTQsMTAxLDExNSwxMDEsMTEwLDExNiwxMTUsCisgICAgMzIsMTE2LDEwNCwxMDEsMzIsMTAzLDExNCwxMDEsOTcsMTE2LDEwMSwxMTUsMTE2LDMyLDk5LDExMSwKKyAgICAxMDksMTA5LDExMSwxMTAsMzIsMTAwLDEwMSwxMTAsMTExLDEwOSwxMDUsMTEwLDk3LDExNiwxMTEsMTE0LAorICAgIDMyLDExMSwxMDIsMzIsMTAyLDExNywxMTAsOTksMTE2LDEwNSwxMTEsMTEwLDk3LDEwOCwxMDUsMTE2LAorICAgIDEyMSwxMCwzMiwzMiwzMiwzMiw5OCwxMDEsMTE2LDExOSwxMDEsMTAxLDExMCwzMiwxMDUsMTA5LAorICAgIDExMiwxMTEsMTE0LDExNiw5NSwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwzMiw5NywxMTAsMTAwLDMyLAorICAgIDk1LDk1LDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDk1LDk1LDQ2LDMyLDg0LDEwNCwxMDUsMTE1LAorICAgIDMyLDEwNSwxMTAsOTksMTA4LDExNywxMDAsMTAxLDExNSwzMiwxMTUsMTAxLDExNiwxMTYsMTA1LDExMCwKKyAgICAxMDMsMzIsOTUsOTUsMTEyLDk3LDk5LDEwNyw5NywxMDMsMTAxLDk1LDk1LDMyLDEwNSwxMDIsCisgICAgMTAsMzIsMzIsMzIsMzIsMTE2LDEwNCwxMDEsMzIsMTA4LDExMSw5NywxMDAsMTAxLDExNCwzMiwKKyAgICAxMDAsMTA1LDEwMCwzMiwxMTAsMTExLDExNiw0NiwxMCwxMCwzMiwzMiwzMiwzMiwxMTQsODQsCisgICAgMCwwLDAsNzgsMTIyLDQwLDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDMyLDExMSwxMDIsMzIsCisgICAgMTIzLDEyNSwzMiwxMDQsOTcsMTA4LDExNiwxMDEsMTAwLDU5LDMyLDc4LDExMSwxMTAsMTAxLDMyLAorICAgIDEwNSwxMTAsMzIsMTE1LDEyMSwxMTUsNDYsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMTE1LDExNCw2NywKKyAgICAwLDAsMCw0MSwxMiwxMTQsMTEwLDEsMCwwLDExNCwxMDQsMSwwLDAsMTE0LAorICAgIDEwNiwwLDAsMCwxMTQsMiwxLDAsMCwxMTQsNywwLDAsMCwxMTQsNzMsCisgICAgMCwwLDAsMTE0LDExNCwxLDAsMCwyMTgsMTEsOTUsMTAzLDk5LDEwMCw5NSwxMDUsCisgICAgMTA5LDExMiwxMTEsMTE0LDExNiwxMTQsMTA3LDAsMCwwLDExNCw0NywwLDAsMCwxMTQsCisgICAgMTU0LDAsMCwwLDExNCwxMTIsMCwwLDAsNDEsNSwxMTQsNjcsMCwwLDAsCisgICAgMTE0LDEwMiwxLDAsMCwxMTQsMTAzLDEsMCwwLDExNCwxNzgsMCwwLDAsMTE0LAorICAgIDE1MiwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwKKyAgICAwLDAsMCwxMTQsMTE1LDEsMCwwLDE2MCw4LDAsMCwxMTUsMjgsMCwwLAorICAgIDAsMCw5LDE2LDEsMTIsMSwxOCwxLDEwLDEsMTUsMSwxMywxLDEzLAorICAgIDEsMTIsMSwxMCwxLDYsMSw5LDEsMTgsMSwxMCwxLDExNCwxMTUsMSwKKyAgICAwLDAsOTksMywwLDAsMCwwLDAsMCwwLDYsMCwwLDAsMTcsCisgICAgMCwwLDAsNjcsMCwwLDAsMTE1LDIzOSwwLDAsMCwxMTYsMCwwLDEyNCwKKyAgICAwLDAsMTAwLDEsMCwxMzEsMiwwLDExNCwyMzUsMCwxMDAsMiwwLDEyNCwxLAorICAgIDAsMTA3LDYsMCwxMTQsODMsMCwxMTYsMSwwLDEyNCwxLDAsMTMxLDEsMCwKKyAgICAxMjUsMSwwLDEyNCwxLDAsMTA2LDIsMCwxMDAsMiwwLDEzMSwxLDAsMSwKKyAgICAxMTYsMCwwLDEyNCwwLDAsMTAwLDMsMCwxMzEsMiwwLDExNCw4MywwLDEyNCwKKyAgICAxLDAsMTA2LDMsMCwxMjQsMCwwLDEwNiw0LDAsMTMxLDEsMCwxLDEyMCwKKyAgICAxNDksMCwxMjQsMSwwLDY4LDkzLDE0MSwwLDEyNSwzLDAsMTE2LDAsMCwxMjQsCisgICAgMCwwLDEyNCwzLDAsMTMxLDIsMCwxMTUsOTAsMCwxMDAsNCwwLDEwNiw1LAorICAgIDAsMTI0LDAsMCwxMDYsNiwwLDEyNCwzLDAsMTMxLDIsMCwxMjUsNCwwLAorICAgIDEyMSwxNywwLDExNiw3LDAsMTI0LDIsMCwxMjQsNCwwLDEzMSwyLDAsMSwKKyAgICA4NywxMTMsOTAsMCw0LDExNiw4LDAsMTA3LDEwLDAsMTE0LDIzMCwwLDEsMTI1LAorICAgIDUsMCwxLDEyMiw0NywwLDExNiw5LDAsMTI0LDUsMCwxMzEsMSwwLDEwNiwKKyAgICAxMCwwLDExNiwxMSwwLDEzMSwxLDAsMTE0LDIwOSwwLDEyNCw1LDAsMTA2LDEyLAorICAgIDAsMTI0LDQsMCwxMDcsMiwwLDExNCwyMDksMCwxMTksOTAsMCwxMzAsMCwwLAorICAgIDg3LDg5LDEwMCw1LDAsMTAwLDUsMCwxMjUsNSwwLDEyNiw1LDAsODgsMTEzLAorICAgIDkwLDAsODgsMTEzLDkwLDAsODcsMTI0LDAsMCw4Myw0MSw2LDEyMiwyMzgsNzAsCisgICAgMTA1LDEwMywxMTcsMTE0LDEwMSwzMiwxMTEsMTE3LDExNiwzMiwxMTksMTA0LDk3LDExNiwzMiw5NSwKKyAgICA5NSwxMDUsMTA5LDExMiwxMTEsMTE0LDExNiw5NSw5NSwzMiwxMTUsMTA0LDExMSwxMTcsMTA4LDEwMCwKKyAgICAzMiwxMTQsMTAxLDExNiwxMTcsMTE0LDExMCw0NiwxMCwxMCwzMiwzMiwzMiwzMiw4NCwxMDQsCisgICAgMTAxLDMyLDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDk1LDMyLDExMiw5NywxMTQsOTcsMTA5LDEwMSwKKyAgICAxMTYsMTAxLDExNCwzMiwxMDUsMTE1LDMyLDk3LDMyLDk5LDk3LDEwOCwxMDgsOTcsOTgsMTA4LAorICAgIDEwMSwzMiwxMTksMTA0LDEwNSw5OSwxMDQsMzIsMTE2LDk3LDEwNywxMDEsMTE1LDMyLDExNiwxMDQsCisgICAgMTAxLDMyLDExMCw5NywxMDksMTAxLDMyLDExMSwxMDIsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsCisgICAgMzIsMTE2LDExMSwxMCwzMiwzMiwzMiwzMiwxMDUsMTA5LDExMiwxMTEsMTE0LDExNiw0NiwzMiwKKyAgICA3MywxMTYsMzIsMTA1LDExNSwzMiwxMTQsMTAxLDExMywxMTcsMTA1LDExNCwxMDEsMTAwLDMyLDExNiwKKyAgICAxMTEsMzIsMTAwLDEwMSw5OSwxMTEsMTE3LDExMiwxMDgsMTAxLDMyLDExNiwxMDQsMTAxLDMyLDEwMiwKKyAgICAxMTcsMTEwLDk5LDExNiwxMDUsMTExLDExMCwzMiwxMDIsMTE0LDExMSwxMDksMzIsOTcsMTE1LDExNSwKKyAgICAxMTcsMTA5LDEwNSwxMTAsMTAzLDMyLDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDEwOCwxMDUsOTgsMzksCisgICAgMTE1LDEwLDMyLDMyLDMyLDMyLDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDMyLDEwNSwxMDksMTEyLAorICAgIDEwOCwxMDEsMTA5LDEwMSwxMTAsMTE2LDk3LDExNiwxMDUsMTExLDExMCwzMiwxMDUsMTE1LDMyLDEwMCwKKyAgICAxMDEsMTE1LDEwNSwxMTQsMTAxLDEwMCw0NiwxMCwxMCwzMiwzMiwzMiwzMiwxMTQsMjQ2LDAsCisgICAgMCwwLDI1MCwxLDQyLDIxOCw3LDk1LDk1LDk3LDEwOCwxMDgsOTUsOTUsMTIyLDUsCisgICAgMTIzLDEyNSw0NiwxMjMsMTI1LDc4LDQxLDEzLDExNCw2MCwwLDAsMCwxMTQsMjQ1LDAsCisgICAgMCwwLDIxOCw2LDExNCwxMDEsMTA5LDExMSwxMTgsMTAxLDExNCwxOTYsMCwwLDAsMTE0LAorICAgIDExNywxLDAsMCwxMTQsNDcsMCwwLDAsMTE0LDU3LDAsMCwwLDExNCwxMTQsCisgICAgMCwwLDAsMTE0LDE1NCwwLDAsMCwxMTQsODMsMSwwLDAsMTE0LDksMCwKKyAgICAwLDAsMjE4LDE1LDk1LDY5LDgyLDgyLDk1LDc3LDgzLDcxLDk1LDgwLDgyLDY5LAorICAgIDcwLDczLDg4LDExNCw2NywwLDAsMCw0MSw2LDExNCwxNzgsMCwwLDAsMjE4LAorICAgIDgsMTAyLDExNCwxMTEsMTA5LDEwOCwxMDUsMTE1LDExNiwxMTQsMTEyLDEsMCwwLDExNCwxNiwKKyAgICAwLDAsMCw5MCw5LDEwMiwxMTQsMTExLDEwOSw5NSwxMTAsOTcsMTA5LDEwMSwxMTQsNDAsCisgICAgMSwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwKKyAgICAwLDAsMjE4LDE2LDk1LDEwNCw5NywxMTAsMTAwLDEwOCwxMDEsOTUsMTAyLDExNCwxMTEsMTA5LAorICAgIDEwOCwxMDUsMTE1LDExNiwxODQsOCwwLDAsMTE1LDM0LDAsMCwwLDAsMTAsMTUsCisgICAgMSwxMiwxLDEyLDEsMTMsMSwxNSwxLDE2LDEsMTMsMSwxNSwxLDIxLAorICAgIDEsMywxLDE3LDEsMTgsNCwyMSwxLDE1LDEsMywxLDI2LDEsMTE0LAorICAgIDEyMSwxLDAsMCw5OSwxLDAsMCwwLDAsMCwwLDAsMiwwLDAsCisgICAgMCwyLDAsMCwwLDY3LDAsMCwwLDExNSw3MiwwLDAsMCwxMjQsMCwKKyAgICAwLDEwNiwwLDAsMTAwLDEsMCwxMzEsMSwwLDEyNSwxLDAsMTI0LDEsMCwKKyAgICAxMDAsMiwwLDEwNyw4LDAsMTE0LDY4LDAsMTI0LDAsMCwxMDAsMywwLDI1LAorICAgIDEyNSwxLDAsMTAwLDQsMCwxMjQsMCwwLDEwNyw3LDAsMTE0LDY4LDAsMTI0LAorICAgIDEsMCwxMDYsMSwwLDEwMCw1LDAsMTMxLDEsMCwxMDAsNiwwLDI1LDEyNSwKKyAgICAxLDAsMTI0LDEsMCw4Myw0MSw3LDEyMiwxNjcsNjcsOTcsMTA4LDk5LDExNywxMDgsCisgICAgOTcsMTE2LDEwMSwzMiwxMTksMTA0LDk3LDExNiwzMiw5NSw5NSwxMTIsOTcsOTksMTA3LDk3LAorICAgIDEwMywxMDEsOTUsOTUsMzIsMTE1LDEwNCwxMTEsMTE3LDEwOCwxMDAsMzIsOTgsMTAxLDQ2LDEwLAorICAgIDEwLDMyLDMyLDMyLDMyLDk1LDk1LDExMiw5Nyw5OSwxMDcsOTcsMTAzLDEwMSw5NSw5NSwKKyAgICAzMiwxMDUsMTE1LDMyLDExMCwxMTEsMTE2LDMyLDEwMywxMTcsOTcsMTE0LDk3LDExMCwxMTYsMTAxLAorICAgIDEwMSwxMDAsMzIsMTE2LDExMSwzMiw5OCwxMDEsMzIsMTAwLDEwMSwxMDIsMTA1LDExMCwxMDEsMTAwLAorICAgIDMyLDExMSwxMTQsMzIsOTksMTExLDExNywxMDgsMTAwLDMyLDk4LDEwMSwzMiwxMTUsMTAxLDExNiwKKyAgICAzMiwxMTYsMTExLDMyLDc4LDExMSwxMTAsMTAxLDEwLDMyLDMyLDMyLDMyLDExNiwxMTEsMzIsCisgICAgMTE0LDEwMSwxMTIsMTE0LDEwMSwxMTUsMTAxLDExMCwxMTYsMzIsMTE2LDEwNCw5NywxMTYsMzIsMTA1LAorICAgIDExNiwxMTUsMzIsMTEyLDExNCwxMTEsMTEyLDEwMSwxMTQsMzIsMTE4LDk3LDEwOCwxMTcsMTAxLDMyLAorICAgIDEwNSwxMTUsMzIsMTE3LDExMCwxMDcsMTEwLDExMSwxMTksMTEwLDQ2LDEwLDEwLDMyLDMyLDMyLAorICAgIDMyLDExNCwyNDksMCwwLDAsNzgsMTE0LDU3LDAsMCwwLDExNCwyNDYsMCwwLAorICAgIDAsMTE0LDExNiwwLDAsMCwxMTQsODQsMCwwLDAsNDEsMiwxMTQsOTMsMCwKKyAgICAwLDAsMTE0LDMyLDAsMCwwLDQxLDIsMjE4LDcsMTAzLDEwOCwxMTEsOTgsOTcsCisgICAgMTA4LDExNSwxMTQsMTAyLDEsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwKKyAgICAwLDExNCw1LDAsMCwwLDIxOCwxNyw5NSw5OSw5NywxMDgsOTksOTUsOTUsOTUsCisgICAgMTEyLDk3LDk5LDEwNyw5NywxMDMsMTAxLDk1LDk1LDIxNiw4LDAsMCwxMTUsMTIsMCwKKyAgICAwLDAsMCw3LDE1LDEsMTIsMSwxMCwxLDEyLDEsMTksMSwxMTQsMTIzLAorICAgIDEsMCwwLDk5LDAsMCwwLDAsMCwwLDAsMCwzLDAsMCwwLAorICAgIDMsMCwwLDAsNjcsMCwwLDAsMTE1LDU1LDAsMCwwLDExNiwwLDAsCisgICAgMTE2LDEsMCwxMDYsMiwwLDEzMSwwLDAsMTAyLDIsMCwxMjUsMCwwLDExNiwKKyAgICAzLDAsMTE2LDQsMCwxMDIsMiwwLDEyNSwxLDAsMTE2LDUsMCwxMTYsNiwKKyAgICAwLDEwMiwyLDAsMTI1LDIsMCwxMjQsMCwwLDEyNCwxLDAsMTI0LDIsMCwKKyAgICAxMDMsMywwLDgzLDQxLDEsMTIyLDk1LDgyLDEwMSwxMTYsMTE3LDExNCwxMTAsMTE1LDMyLAorICAgIDk3LDMyLDEwOCwxMDUsMTE1LDExNiwzMiwxMTEsMTAyLDMyLDEwMiwxMDUsMTA4LDEwMSw0NSw5OCwKKyAgICA5NywxMTUsMTAxLDEwMCwzMiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwzMiwxMDgsMTExLDk3LDEwMCwKKyAgICAxMDEsMTE0LDExNSw0NiwxMCwxMCwzMiwzMiwzMiwzMiw2OSw5Nyw5OSwxMDQsMzIsMTA1LAorICAgIDExNiwxMDEsMTA5LDMyLDEwNSwxMTUsMzIsOTcsMzIsMTE2LDExNywxMTIsMTA4LDEwMSwzMiw0MCwKKyAgICAxMDgsMTExLDk3LDEwMCwxMDEsMTE0LDQ0LDMyLDExNSwxMTcsMTAyLDEwMiwxMDUsMTIwLDEwMSwxMTUsCisgICAgNDEsNDYsMTAsMzIsMzIsMzIsMzIsNDEsNywxMTQsNTYsMSwwLDAsMTE0LDEwNiwKKyAgICAwLDAsMCwyMTgsMTgsMTAxLDEyMCwxMTYsMTAxLDExMCwxMTUsMTA1LDExMSwxMTAsOTUsMTE1LAorICAgIDExNywxMDIsMTAyLDEwNSwxMjAsMTAxLDExNSwxMTQsNywxLDAsMCwxMTQsMTM1LDAsMCwKKyAgICAwLDExNCw2LDEsMCwwLDExNCwyMzIsMCwwLDAsNDEsMyw5MCwxMCwxMDEsCisgICAgMTIwLDExNiwxMDEsMTEwLDExNSwxMDUsMTExLDExMCwxMTUsOTAsNiwxMTUsMTExLDExNywxMTQsOTksCisgICAgMTAxLDkwLDgsOTgsMTIxLDExNiwxMDEsOTksMTExLDEwMCwxMDEsMTE0LDQsMCwwLDAsCisgICAgMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsMTE0LDI0MCwwLDAsMCwyMzEsCisgICAgOCwwLDAsMTE1LDgsMCwwLDAsMCw1LDE4LDEsMTIsMSwxMiwxLAorICAgIDExNCwyNDAsMCwwLDAsOTksNSwwLDAsMCwwLDAsMCwwLDksMCwKKyAgICAwLDAsNSwwLDAsMCw2NywwLDAsMCwxMTUsMjI3LDAsMCwwLDEyNCwKKyAgICA0LDAsMTAwLDEsMCwxMDcsMiwwLDExNCwyNywwLDExNiwwLDAsMTI0LDAsCisgICAgMCwxMzEsMSwwLDEyNSw1LDAsMTEwLDU0LDAsMTI0LDEsMCwxMDAsMiwwLAorICAgIDEwNyw5LDAsMTE0LDQ1LDAsMTI0LDEsMCwxMTAsMywwLDEwNSwwLDAsMTI1LAorICAgIDYsMCwxMTYsMSwwLDEyNCw2LDAsMTMxLDEsMCwxMjUsNywwLDExNiwwLAorICAgIDAsMTI0LDAsMCwxMjQsNywwLDEyNCw0LDAsMTMxLDMsMCwxMjUsNSwwLAorICAgIDEyNCwzLDAsMTE1LDIwNywwLDEyNCw0LDAsMTAwLDEsMCwxMDcsMiwwLDExNCwKKyAgICAxMjIsMCwxMTYsMCwwLDEyNCwwLDAsMTA2LDIsMCwxMDAsMywwLDEzMSwxLAorICAgIDAsMTAwLDEsMCwyNSwxMzEsMSwwLDgzLDEyNCwwLDAsMTE1LDEzMiwwLDEyNCwKKyAgICA1LDAsODMsMTE2LDMsMCwxMjQsMCwwLDEzMSwxLDAsMTE2LDMsMCwxMjQsCiAgICAgMCwwLDEwNiwyLDAsMTAwLDMsMCwxMzEsMSwwLDEwMCwxLDAsMjUsMTMxLAotICAgIDEsMCw4MywxMjQsMCwwLDExNSwxMzIsMCwxMjQsNSwwLDgzLDExNiwzLDAsCi0gICAgMTI0LDAsMCwxMzEsMSwwLDExNiwzLDAsMTI0LDAsMCwxMDYsMiwwLDEwMCwKLSAgICAzLDAsMTMxLDEsMCwxMDAsMSwwLDI1LDEzMSwxLDAsMjQsMTI1LDgsMCwKLSAgICAxMTYsNCwwLDEwNiw1LDAsMTI0LDUsMCwxMDYsNiwwLDEwMCwyLDAsMTE2LAotICAgIDMsMCwxMjQsNSwwLDEwNiw2LDAsMTMxLDEsMCwxMjQsOCwwLDI0LDEzMywKLSAgICAyLDAsMjUsMjUsODMsMTEwLDE2LDAsMTE2LDcsMCwxMjQsNSwwLDEyNCwzLAotICAgIDAsMTE2LDAsMCwxMzEsMywwLDgzLDEwMCwyLDAsODMsNDEsNCw5NywyMTQsCi0gICAgMSwwLDAsNzMsMTA5LDExMiwxMTEsMTE0LDExNiwzMiw5NywzMiwxMDksMTExLDEwMCwxMTcsCi0gICAgMTA4LDEwMSw0NiwxMCwxMCwzMiwzMiwzMiwzMiw4NCwxMDQsMTAxLDMyLDM5LDEwMywxMDgsCi0gICAgMTExLDk4LDk3LDEwOCwxMTUsMzksMzIsOTcsMTE0LDEwMywxMTcsMTA5LDEwMSwxMTAsMTE2LDMyLAotICAgIDEwNSwxMTUsMzIsMTE3LDExNSwxMDEsMTAwLDMyLDExNiwxMTEsMzIsMTA1LDExMCwxMDIsMTAxLDExNCwKLSAgICAzMiwxMTksMTA0LDEwMSwxMTQsMTAxLDMyLDExNiwxMDQsMTAxLDMyLDEwNSwxMDksMTEyLDExMSwxMTQsCi0gICAgMTE2LDMyLDEwNSwxMTUsMzIsMTExLDk5LDk5LDExNywxMTQsMTA1LDExMCwxMDMsMzIsMTAyLDExNCwKLSAgICAxMTEsMTA5LDEwLDMyLDMyLDMyLDMyLDExNiwxMTEsMzIsMTA0LDk3LDExMCwxMDAsMTA4LDEwMSwKLSAgICAzMiwxMTQsMTAxLDEwOCw5NywxMTYsMTA1LDExOCwxMDEsMzIsMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsCi0gICAgMTE1LDQ2LDMyLDg0LDEwNCwxMDEsMzIsMzksMTA4LDExMSw5OSw5NywxMDgsMTE1LDM5LDMyLAotICAgIDk3LDExNCwxMDMsMTE3LDEwOSwxMDEsMTEwLDExNiwzMiwxMDUsMTE1LDMyLDEwNSwxMDMsMTEwLDExMSwKLSAgICAxMTQsMTAxLDEwMCw0NiwzMiw4NCwxMDQsMTAxLDEwLDMyLDMyLDMyLDMyLDM5LDEwMiwxMTQsCi0gICAgMTExLDEwOSwxMDgsMTA1LDExNSwxMTYsMzksMzIsOTcsMTE0LDEwMywxMTcsMTA5LDEwMSwxMTAsMTE2LAotICAgIDMyLDExNSwxMTIsMTAxLDk5LDEwNSwxMDIsMTA1LDEwMSwxMTUsMzIsMTE5LDEwNCw5NywxMTYsMzIsCi0gICAgMTE1LDEwNCwxMTEsMTE3LDEwOCwxMDAsMzIsMTAxLDEyMCwxMDUsMTE1LDExNiwzMiw5NywxMTUsMzIsCi0gICAgOTcsMTE2LDExNiwxMTQsMTA1LDk4LDExNywxMTYsMTAxLDExNSwzMiwxMTEsMTEwLDMyLDExNiwxMDQsCi0gICAgMTAxLDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDEwLDMyLDMyLDMyLDMyLDk4LDEwMSwxMDUsCi0gICAgMTEwLDEwMywzMiwxMDUsMTA5LDExMiwxMTEsMTE0LDExNiwxMDEsMTAwLDMyLDQwLDEwMSw0NiwxMDMsCi0gICAgNDYsMzIsOTYsOTYsMTAyLDExNCwxMTEsMTA5LDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDMyLAotICAgIDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDMyLDYwLDEwMiwxMTQsMTExLDEwOSwxMDgsMTA1LDExNSwxMTYsCi0gICAgNjIsOTYsOTYsNDEsNDYsMzIsMzIsODQsMTA0LDEwMSwzMiwzOSwxMDgsMTAxLDExOCwxMDEsCi0gICAgMTA4LDM5LDEwLDMyLDMyLDMyLDMyLDk3LDExNCwxMDMsMTE3LDEwOSwxMDEsMTEwLDExNiwzMiwKLSAgICAxMTQsMTAxLDExMiwxMTQsMTAxLDExNSwxMDEsMTEwLDExNiwxMTUsMzIsMTE2LDEwNCwxMDEsMzIsMTEyLAotICAgIDk3LDk5LDEwNyw5NywxMDMsMTAxLDMyLDEwOCwxMTEsOTksOTcsMTE2LDEwNSwxMTEsMTEwLDMyLAotICAgIDExNiwxMTEsMzIsMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsMzIsMTAyLDExNCwxMTEsMTA5LDMyLDEwNSwKLSAgICAxMTAsMzIsOTcsMzIsMTE0LDEwMSwxMDgsOTcsMTE2LDEwNSwxMTgsMTAxLDEwLDMyLDMyLDMyLAotICAgIDMyLDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDMyLDQwLDEwMSw0NiwxMDMsNDYsMzIsOTYsOTYsCi0gICAgMTAyLDExNCwxMTEsMTA5LDMyLDQ2LDQ2LDExMiwxMDcsMTAzLDMyLDEwNSwxMDksMTEyLDExMSwxMTQsCi0gICAgMTE2LDMyLDEwOSwxMTEsMTAwLDk2LDk2LDMyLDExOSwxMTEsMTE3LDEwOCwxMDAsMzIsMTA0LDk3LAotICAgIDExOCwxMDEsMzIsOTcsMzIsMzksMTA4LDEwMSwxMTgsMTAxLDEwOCwzOSwzMiwxMTEsMTAyLDMyLAotICAgIDUwLDQxLDQ2LDEwLDEwLDMyLDMyLDMyLDMyLDExNCw4NCwwLDAsMCw3OCwxMTQsCi0gICAgMTE2LDAsMCwwLDQxLDgsMTE0LDExNiwxLDAsMCwxMTQsMTI0LDEsMCwwLAotICAgIDExNCwxMzQsMCwwLDAsMTE0LDMxLDAsMCwwLDExNCw3LDAsMCwwLDExNCwKLSAgICA3MywwLDAsMCwxMTQsNTcsMCwwLDAsMTE0LDEyMiwxLDAsMCw0MSw5LAotICAgIDExNCw2NywwLDAsMCwxMTQsMTIzLDEsMCwwLDIxOCw2LDEwOCwxMTEsOTksOTcsCi0gICAgMTA4LDExNSwxMTQsMTIxLDEsMCwwLDExNCwxMDQsMSwwLDAsMTE0LDE4MCwwLDAsCi0gICAgMCw5MCw4LDEwMywxMDgsMTExLDk4LDk3LDEwOCwxMTUsOTUsMTE0LDEwMywxLDAsMCwKLSAgICA5MCw3LDk5LDExNywxMTYsOTUsMTExLDEwMiwxMDIsMTE0LDQsMCwwLDAsMTE0LDQsCi0gICAgMCwwLDAsMTE0LDUsMCwwLDAsMjE4LDEwLDk1LDk1LDEwNSwxMDksMTEyLDExMSwKLSAgICAxMTQsMTE2LDk1LDk1LDE4LDksMCwwLDExNSwyNiwwLDAsMCwwLDExLDEyLAotICAgIDEsMTUsMiwyNCwxLDEyLDEsMTgsMSw2LDMsMTIsMSwyMywxLDYsCi0gICAgMSw0LDQsMzUsMyw0MCwyLDExNCwxMjcsMSwwLDAsOTksMSwwLDAsCi0gICAgMCwwLDAsMCwwLDMsMCwwLDAsMywwLDAsMCw2NywwLDAsCi0gICAgMCwxMTUsNjgsMCwwLDAsMTE2LDAsMCwxMDYsMSwwLDEyNCwwLDAsMTMxLAotICAgIDEsMCwxMjUsMSwwLDEyNCwxLDAsMTAwLDAsMCwxMDcsOCwwLDExNCw0NiwKLSAgICAwLDExNiwyLDAsMTAwLDEsMCwxMjQsMCwwLDIzLDEzMSwxLDAsMTMwLDEsCi0gICAgMCwxMTAsMCwwLDExNiwzLDAsMTI0LDEsMCwxMzEsMSwwLDEyNSwyLDAsCi0gICAgMTI0LDIsMCwxMDYsNCwwLDEzMSwwLDAsODMsNDEsMiw3OCwxMjIsMjUsMTEwLAotICAgIDExMSwzMiw5OCwxMTcsMTA1LDEwOCwxMTYsNDUsMTA1LDExMCwzMiwxMDksMTExLDEwMCwxMTcsMTA4LAotICAgIDEwMSwzMiwxMTAsOTcsMTA5LDEwMSwxMDAsMzIsNDEsNSwxMTQsMTEsMSwwLDAsMTE0LAotICAgIDE0LDEsMCwwLDExNCwxNTQsMCwwLDAsMTE0LDE3NSwwLDAsMCwxMTQsNywKLSAgICAxLDAsMCw0MSwzLDExNCw2NywwLDAsMCwxMTQsMTc4LDAsMCwwLDExNCwKLSAgICAxNzksMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsCi0gICAgMCwwLDAsMjE4LDE4LDk1LDk4LDExNywxMDUsMTA4LDExNiwxMDUsMTEwLDk1LDEwMiwxMTQsCi0gICAgMTExLDEwOSw5NSwxMTAsOTcsMTA5LDEwMSw1Myw5LDAsMCwxMTUsMTAsMCwwLDAsCi0gICAgMCwxLDE1LDEsMTIsMSwxOSwxLDEyLDEsMTE0LDEyOCwxLDAsMCw5OSwKLSAgICAyLDAsMCwwLDAsMCwwLDAsMTksMCwwLDAsMTIsMCwwLDAsCi0gICAgNjcsMCwwLDAsMTE1LDIzMiwyLDAsMCwxMjQsMSwwLDk3LDAsMCwxMjQsCi0gICAgMCwwLDk3LDEsMCwxMTYsMSwwLDEwNiwyLDAsMTA2LDMsMCwxMTQsMzMsCi0gICAgMCwxMTYsNCwwLDk3LDUsMCwxMTAsNiwwLDExNiw2LDAsOTcsNSwwLAotICAgIDExNiw3LDAsMTE2LDEsMCwxMzEsMSwwLDEyNSwyLDAsMTIwLDEzOCwwLDExNiwKLSAgICAxLDAsMTA2LDgsMCwxMDYsOSwwLDEzMSwwLDAsNjgsOTMsMTIxLDAsOTIsCi0gICAgMiwwLDEyNSwzLDAsMTI1LDQsMCwxMTYsMTAsMCwxMjQsNCwwLDEyNCwyLAotICAgIDAsMTMxLDIsMCwxMTQsNjcsMCwxMjQsMywwLDExNiwxLDAsMTA2LDExLDAsCi0gICAgMTA3LDYsMCwxMTQsMTE4LDAsMTE2LDEyLDAsMTI1LDUsMCwxMTAsMjcsMCwxMTYsCi0gICAgMCwwLDEwNiwxMywwLDEyNCwzLDAsMTMxLDEsMCwxMTQsNjcsMCwxMTYsMTQsCi0gICAgMCwxMjUsNSwwLDExMCwzLDAsMTEzLDY3LDAsMTE2LDE1LDAsMTI0LDQsMCwKLSAgICAxMjQsNSwwLDEzMSwyLDAsMTI1LDYsMCwxMTYsMTYsMCwxMjQsNiwwLDEzMSwKLSAgICAxLDAsMTI1LDcsMCwxMjQsNywwLDEwNiwxNywwLDEyNCw0LDAsMTMxLDEsCi0gICAgMCwxLDExMyw2NywwLDExMyw2NywwLDg3LDExNiwxLDAsMTA2LDgsMCwxMTYsCi0gICAgMTgsMCwyNSwxMjUsOCwwLDEyMCw3MywwLDEwMCwyNiwwLDY4LDkzLDY1LDAsCi0gICAgMTI1LDksMCwxMjQsOSwwLDExNiwxLDAsMTA2LDgsMCwxMDcsNywwLDExNCwKLSAgICAyNDgsMCwxMTYsMTksMCwxMjQsOSwwLDEzMSwxLDAsMTI1LDEwLDAsMTEwLDEzLAotICAgIDAsMTE2LDEsMCwxMDYsOCwwLDEyNCw5LDAsMjUsMTI1LDEwLDAsMTE2LDIwLAotICAgIDAsMTI0LDgsMCwxMjQsOSwwLDEyNCwxMCwwLDEzMSwzLDAsMSwxMTMsMjEyLAotICAgIDAsODcsMTAwLDUsMCwxMDAsNiwwLDEwMywxLDAsMTAyLDIsMCwxMDAsNywKLSAgICAwLDEwMCw4LDAsMTAwLDYsMCwxMDMsMiwwLDEwMiwyLDAsMTAyLDIsMCwKLSAgICAxMjUsMTEsMCwxMjAsMTQ2LDAsMTI0LDExLDAsNjgsOTMsMTI2LDAsOTIsMiwwLAotICAgIDEyNSwxMiwwLDEyNSwxMywwLDExNiwyMSwwLDEwMCw5LDAsMTAwLDEwLDAsMTMyLAotICAgIDAsMCwxMjQsMTMsMCw2OCwxMzEsMSwwLDEzMSwxLDAsMTE1LDEwOCwxLDExNiwKLSAgICAyMiwwLDEzMCwxLDAsMTI0LDEzLDAsMTAwLDExLDAsMjUsMTI1LDE0LDAsMTI0LAotICAgIDEyLDAsMTE2LDEsMCwxMDYsOCwwLDEwNyw2LDAsMTE0LDE1MCwxLDExNiwxLAotICAgIDAsMTA2LDgsMCwxMjQsMTIsMCwyNSwxMjUsMTUsMCw4MCwxMTMsNjUsMSwxMjEsCi0gICAgMTcsMCwxMTYsMTksMCwxMjQsMTIsMCwxMzEsMSwwLDEyNSwxNSwwLDgwLDg3LAotICAgIDExMyw2NSwxLDQsMTE2LDIzLDAsMTA3LDEwLDAsMTE0LDE5MCwxLDEsMSwxLAotICAgIDExOSw2NSwxLDg5LDExMyw2NSwxLDg4LDExMyw2NSwxLDg3LDExNiwyMywwLDEwMCwKLSAgICAxMiwwLDEzMSwxLDAsMTMwLDEsMCwxMTYsMjAsMCwxMjQsOCwwLDEwMCwxMywKLSAgICAwLDEyNCwxNSwwLDEzMSwzLDAsMSwxMTYsMjAsMCwxMjQsOCwwLDEwMCwxNCwKLSAgICAwLDEyNCwxNCwwLDEzMSwzLDAsMSwxMTYsMjAsMCwxMjQsOCwwLDEwMCwxNSwKLSAgICAwLDEwMCwxNiwwLDEwNiwyNCwwLDEyNCwxMywwLDEzMSwxLDAsMTMxLDMsMCwKLSAgICAxLDEyMSwxNiwwLDExNiwxOSwwLDEwMCwxNywwLDEzMSwxLDAsMTI1LDE2LDAsCi0gICAgODcsMTEwLDI0LDAsNCwxMTYsMjMsMCwxMDcsMTAsMCwxMTQsNTAsMiwxLDEsCi0gICAgMSwxMDAsMTgsMCwxMjUsMTYsMCw4OSwxMTAsMSwwLDg4LDExNiwyMCwwLDEyNCwKLSAgICA4LDAsMTAwLDE3LDAsMTI0LDE2LDAsMTMxLDMsMCwxLDExNiwxOSwwLDEwMCwKLSAgICAxOSwwLDEzMSwxLDAsMTI1LDE3LDAsMTE2LDIwLDAsMTI0LDgsMCwxMDAsMTksCi0gICAgMCwxMjQsMTcsMCwxMzEsMywwLDEsMTI0LDEyLDAsMTAwLDcsMCwxMDcsMiwKLSAgICAwLDExNCwxMzgsMiwxMTYsMTksMCwxMDAsMjAsMCwxMzEsMSwwLDEyNSwxOCwwLAotICAgIDExNiwyMCwwLDEyNCw4LDAsMTAwLDIxLDAsMTI0LDE4LDAsMTMxLDMsMCwxLAotICAgIDExMCwwLDAsMTE2LDIwLDAsMTI0LDgsMCwxMDAsMjIsMCwxMTYsMjUsMCwxMzEsCi0gICAgMCwwLDEzMSwzLDAsMSwxMTYsMjYsMCwxMDYsMjcsMCwxMTYsMCwwLDEwNiwKLSAgICAyOCwwLDEzMSwwLDAsMTMxLDEsMCwxLDEyNCwxMiwwLDEwMCw3LDAsMTA3LAotICAgIDIsMCwxMTQsMjI4LDIsMTE2LDI5LDAsMTA2LDMwLDAsMTAwLDIzLDAsMTMxLDEsCi0gICAgMCwxLDEwMCwyNCwwLDExNiwyNiwwLDEwNyw2LDAsMTE0LDIyOCwyLDEwMCwyNSwKLSAgICAwLDExNiwzMSwwLDk1LDMyLDAsMTEzLDIyOCwyLDExMCwwLDAsMTAwLDE4LDAsCi0gICAgODMsNDEsMjcsMTIyLDI1MCw4MywxMDEsMTE2LDExNywxMTIsMzIsMTA1LDEwOSwxMTIsMTExLDExNCwKLSAgICAxMTYsMTA4LDEwNSw5OCwzMiw5OCwxMjEsMzIsMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsMTA1LDExMCwKLSAgICAxMDMsMzIsMTEwLDEwMSwxMDEsMTAwLDEwMSwxMDAsMzIsOTgsMTE3LDEwNSwxMDgsMTE2LDQ1LDEwNSwKLSAgICAxMTAsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMTE1LDMyLDk3LDExMCwxMDAsMzIsMTA1LDExMCwKLSAgICAxMDYsMTAxLDk5LDExNiwxMDUsMTEwLDEwMywzMiwxMTYsMTA0LDEwMSwxMDksMTAsMzIsMzIsMzIsCi0gICAgMzIsMTA1LDExMCwxMTYsMTExLDMyLDExNiwxMDQsMTAxLDMyLDEwMywxMDgsMTExLDk4LDk3LDEwOCwKLSAgICAzMiwxMTAsOTcsMTA5LDEwMSwxMTUsMTEyLDk3LDk5LDEwMSw0NiwxMCwxMCwzMiwzMiwzMiwKLSAgICAzMiw2NSwxMTUsMzIsMTE1LDEyMSwxMTUsMzIsMTA1LDExNSwzMiwxMTAsMTAxLDEwMSwxMDAsMTAxLAotICAgIDEwMCwzMiwxMDIsMTExLDExNCwzMiwxMTUsMTIxLDExNSw0NiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwKLSAgICAxMTUsMzIsOTcsOTksOTksMTAxLDExNSwxMTUsMzIsOTcsMTEwLDEwMCwzMiw5NSwxMDUsMTA5LAotICAgIDExMiwzMiwxMDUsMTE1LDMyLDExMCwxMDEsMTAxLDEwMCwxMDEsMTAwLDMyLDExNiwxMTEsMzIsMTA4LAotICAgIDExMSw5NywxMDAsMzIsOTgsMTE3LDEwNSwxMDgsMTE2LDQ1LDEwNSwxMTAsMTAsMzIsMzIsMzIsCi0gICAgMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMTE1LDQ0LDMyLDExNiwxMDQsMTExLDExNSwxMDEsMzIsCi0gICAgMTE2LDExOSwxMTEsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMTE1LDMyLDEwOSwxMTcsMTE1LDExNiwKLSAgICAzMiw5OCwxMDEsMzIsMTAxLDEyMCwxMTIsMTA4LDEwNSw5OSwxMDUsMTE2LDEwOCwxMjEsMzIsMTEyLAotICAgIDk3LDExNSwxMTUsMTAxLDEwMCwzMiwxMDUsMTEwLDQ2LDEwLDEwLDMyLDMyLDMyLDMyLDExNCwKLSAgICA0OSwwLDAsMCwxMTQsMTY3LDAsMCwwLDIxOCw4LDk4LDExNywxMDUsMTA4LDExNiwKLSAgICAxMDUsMTEwLDExNSwxMTQsMTkyLDAsMCwwLDkwLDUsMTEyLDExMSwxMTUsMTA1LDEyMCwyNTAsCi0gICAgMSw0NywyMTgsMiwxMTAsMTE2LDI1MCwxLDkyLDk5LDEsMCwwLDAsMCwwLAotICAgIDAsMCwyLDAsMCwwLDMsMCwwLDAsMTE1LDAsMCwwLDExNSwzMywKLSAgICAwLDAsMCwxMjQsMCwwLDkzLDIzLDAsMTI1LDEsMCwxMTYsMCwwLDEyNCwKLSAgICAxLDAsMTMxLDEsMCwxMDAsMCwwLDEwNywyLDAsODYsMSwxMTMsMywwLAotICAgIDEwMCwxLDAsODMsNDEsMiwxMTQsMjksMCwwLDAsNzgsNDEsMSwxMTQsMzEsCi0gICAgMCwwLDAsNDEsMiwxMTQsMjIsMCwwLDAsMTE0LDEyOSwwLDAsMCwxMTQsCi0gICAgNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsNzcsCi0gICAgMCwwLDAsMTA1LDksMCwwLDExNSwyLDAsMCwwLDYsMCwxMjIsMjUsCi0gICAgOTUsMTE1LDEwMSwxMTYsMTE3LDExMiw0Niw2MCwxMDgsMTExLDk5LDk3LDEwOCwxMTUsNjIsNDYsCi0gICAgNjAsMTAzLDEwMSwxMTAsMTAxLDEyMCwxMTIsMTE0LDYyLDExNCw4NCwwLDAsMCwxMjIsMzAsCi0gICAgMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsMTA4LDEwNSw5OCwzMiwxMTQsMTAxLDExMywxMTcsMTA1LDExNCwKLSAgICAxMDEsMTE1LDMyLDExMiwxMTEsMTE1LDEwNSwxMjAsMzIsMTExLDExNCwzMiwxMTAsMTE2LDExNCwzLAotICAgIDAsMCwwLDExNCwyNSwwLDAsMCwxMTQsMjEsMCwwLDAsMTE0LDMwLDAsCi0gICAgMCwwLDExNCw4NSwwLDAsMCw3OCwxMTQsMTExLDAsMCwwLDkwLDYsMTE5LAotICAgIDEwNSwxMTAsMTE0LDEwMSwxMDMsMTE0LDI0LDEsMCwwLDExNCw2LDAsMCwwLDEyMiwKLSAgICA0LDQ2LDExMiwxMjEsMTE5LDEyMiw2LDk1LDEwMCw0NiwxMTIsMTIxLDEwMCw4NCw0MSw0LAotICAgIDEyMiwzLDk1LDEwNSwxMTEsMTIyLDksOTUsMTE5LDk3LDExNCwxMTAsMTA1LDExMCwxMDMsMTE1LAotICAgIDEyMiw4LDk4LDExNywxMDUsMTA4LDExNiwxMDUsMTEwLDExNSwxMjIsNywxMDksOTcsMTE0LDExNSwKLSAgICAxMDQsOTcsMTA4LDQxLDMzLDExNCwxMDYsMCwwLDAsMTE0LDcsMCwwLDAsMTE0LAotICAgIDExNywwLDAsMCwxMTQsMTE4LDAsMCwwLDExNCwxMjAsMCwwLDAsMTE0LDIzMywKLSAgICAwLDAsMCwxMTQsMTE5LDAsMCwwLDExNCw2NiwwLDAsMCwxMTQsNzMsMCwKLSAgICAwLDAsMjE4LDUsMTA1LDExNiwxMDEsMTA5LDExNSwxMTQsMTkzLDAsMCwwLDExNCwxNTgsCi0gICAgMCwwLDAsMTE0LDExLDEsMCwwLDExNCwxNjMsMCwwLDAsMTE0LDIwLDEsCi0gICAgMCwwLDExNCwyNDgsMCwwLDAsMTE0LDE3NSwwLDAsMCwxMTQsMjU1LDAsMCwKLSAgICAwLDExNCw1NywwLDAsMCwxMTQsMTI4LDEsMCwwLDExNCw2MSwwLDAsMCwKLSAgICAyMTgsMyw5NywxMDgsMTA4LDExNCwxMDAsMCwwLDAsMTE0LDE1NCwwLDAsMCwxMTQsCi0gICAgMjYsMCwwLDAsMTE0LDExLDAsMCwwLDExNCw2MCwxLDAsMCwxMTQsMTk4LAotICAgIDAsMCwwLDExNCwxMjUsMSwwLDAsMTE0LDEzNSwwLDAsMCwxMTQsMjI0LDAsCi0gICAgMCwwLDExNCwyMywxLDAsMCwxMTQsMjcsMSwwLDAsNDEsMTksMjE4LDEwLAotICAgIDExNSwxMjEsMTE1LDk1LDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDIxOCwxMSw5NSwxMDUsMTA5LDExMiwKLSAgICA5NSwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSw5MCwxMSwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSw5NSwKLSAgICAxMTYsMTIxLDExMiwxMDEsMTE0LDY3LDAsMCwwLDExNCwxODAsMCwwLDAsMTE0LDE3MCwKLSAgICAwLDAsMCwxMTQsMTc4LDAsMCwwLDExNCwxNzksMCwwLDAsOTAsMTEsMTE1LAotICAgIDEwMSwxMDgsMTAyLDk1LDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDkwLDEyLDk4LDExNywxMDUsMTA4LAotICAgIDExNiwxMDUsMTEwLDk1LDExMCw5NywxMDksMTAxLDkwLDE0LDk4LDExNywxMDUsMTA4LDExNiwxMDUsCi0gICAgMTEwLDk1LDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDkwLDEwLDExMSwxMTUsOTUsMTAwLDEwMSwxMTYsCi0gICAgOTcsMTA1LDEwOCwxMTUsOTAsMTAsOTgsMTE3LDEwNSwxMDgsMTE2LDEwNSwxMTAsOTUsMTExLDExNSwKLSAgICAxMTQsMjEsMCwwLDAsMTE0LDI1LDAsMCwwLDkwLDksMTExLDExNSw5NSwxMDksCi0gICAgMTExLDEwMCwxMTcsMTA4LDEwMSw5MCwxMywxMTYsMTA0LDExNCwxMDEsOTcsMTAwLDk1LDEwOSwxMTEsCi0gICAgMTAwLDExNywxMDgsMTAxLDkwLDE0LDExOSwxMDEsOTcsMTA3LDExNCwxMDEsMTAyLDk1LDEwOSwxMTEsCi0gICAgMTAwLDExNywxMDgsMTAxLDkwLDEzLDExOSwxMDUsMTEwLDExNCwxMDEsMTAzLDk1LDEwOSwxMTEsMTAwLAotICAgIDExNywxMDgsMTAxLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsCi0gICAgMCwwLDIxOCw2LDk1LDExNSwxMDEsMTE2LDExNywxMTIsNjEsOSwwLDAsMTE1LDEwOCwKLSAgICAwLDAsMCwwLDksNiwxLDYsMiwxMiwxLDksMiw2LDMsMTIsCi0gICAgMSwyOCwxLDE1LDEsMTUsMSw5LDEsMTUsMSw5LDIsMywxLDE1LAotICAgIDEsMTIsMSwyMCwzLDEzLDEsMTMsMSwxNSwxLDE1LDIsMTMsMSwyMCwKLSAgICAzLDMzLDEsMTksMiwzMSwxLDEwLDEsMTUsMSwxMywxLDQsMiwzLAotICAgIDEsMTIsMSw1LDEsMTMsMSwxMiwyLDEyLDEsMTYsMSwxNiwxLDI1LAotICAgIDMsMywxLDE2LDEsMTMsMiwxMSwxLDE2LDMsMTIsMSwxNiwzLDEyLAotICAgIDEsMTIsMSwxOSwzLDE5LDEsMTksMSwxMiwxLDEzLDEsMTIsMSwxMTQsCi0gICAgMTM3LDEsMCwwLDk5LDIsMCwwLDAsMCwwLDAsMCwzLDAsMCwKLSAgICAwLDMsMCwwLDAsNjcsMCwwLDAsMTE1LDEzNiwwLDAsMCwxMTYsMCwKLSAgICAwLDEyNCwwLDAsMTI0LDEsMCwxMzEsMiwwLDEsMTE2LDEsMCwxMzEsMCwKLSAgICAwLDEyNSwyLDAsMTE2LDIsMCwxMDYsMywwLDEwNiw0LDAsMTE2LDUsMCwKLSAgICAxMDYsNiwwLDEyNCwyLDAsMTQwLDAsMCwxMDMsMSwwLDEzMSwxLDAsMSwKLSAgICAxMTYsMiwwLDEwNiw3LDAsMTA2LDgsMCwxMTYsOSwwLDEzMSwxLDAsMSwKLSAgICAxMTYsMiwwLDEwNiw3LDAsMTA2LDgsMCwxMTYsMTAsMCwxMzEsMSwwLDEsCi0gICAgMTE2LDExLDAsMTA2LDEyLDAsMTAwLDEsMCwxMDcsMiwwLDExNCwxMTYsMCwxMTYsCi0gICAgMiwwLDEwNiw3LDAsMTA2LDgsMCwxMTYsMTMsMCwxMzEsMSwwLDEsMTEwLAotICAgIDAsMCwxMTYsMiwwLDEwNiw3LDAsMTA2LDgsMCwxMTYsMTQsMCwxMzEsMSwKLSAgICAwLDEsMTAwLDIsMCw4Myw0MSwzLDEyMiw1MCw3MywxMTAsMTE1LDExNiw5NywxMDgsCi0gICAgMTA4LDMyLDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDEwOCwxMDUsOTgsMzIsOTcsMTE1LDMyLDExNiwKLSAgICAxMDQsMTAxLDMyLDEwNSwxMDksMTEyLDEwOCwxMDEsMTA5LDEwMSwxMTAsMTE2LDk3LDExNiwxMDUsMTExLAotICAgIDExMCwzMiwxMTEsMTAyLDMyLDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDQ2LDExNCwxMzEsMSwwLAotICAgIDAsNzgsNDEsMTUsMTE0LDEzNywxLDAsMCwxMTQsMjQxLDAsMCwwLDExNCw3LAotICAgIDAsMCwwLDExNCw3OSwxLDAsMCwxMTQsMTk4LDAsMCwwLDExNCw4NywxLAotICAgIDAsMCwxMTQsMTAxLDEsMCwwLDExNCwxMDcsMSwwLDAsMTE0LDIyNCwwLDAsCi0gICAgMCwxMTQsMTEsMSwwLDAsMTE0LDIwLDEsMCwwLDExNCwzLDAsMCwwLAotICAgIDExNCw1NywwLDAsMCwxMTQsMjMsMSwwLDAsMTE0LDc0LDEsMCwwLDQxLAotICAgIDMsMTE0LDEzNSwxLDAsMCwxMTQsMTM2LDEsMCwwLDkwLDE3LDExNSwxMTcsMTEyLAotICAgIDExMiwxMTEsMTE0LDExNiwxMDEsMTAwLDk1LDEwOCwxMTEsOTcsMTAwLDEwMSwxMTQsMTE1LDExNCw0LAotICAgIDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDIxOCw4LDk1LAotICAgIDEwNSwxMTAsMTE1LDExNiw5NywxMDgsMTA4LDE0OCw5LDAsMCwxMTUsMTYsMCwwLDAsCi0gICAgMCwyLDEzLDEsOSwxLDI4LDEsMTYsMSwxNiwxLDE1LDEsMTksMSwKLSAgICAxMTQsMTM4LDEsMCwwLDQxLDMsMTIyLDMsMTE5LDEwNSwxMTAsMTE0LDEsMCwwLAotICAgIDAsMTE0LDIsMCwwLDAsNDEsOTIsMTE0LDU5LDAsMCwwLDExNCwxMCwwLAotICAgIDAsMCwxMTQsMTEsMCwwLDAsMTE0LDE3LDAsMCwwLDExNCwxOSwwLDAsCi0gICAgMCwxMTQsMjgsMCwwLDAsMTE0LDM4LDAsMCwwLDExNCwzOSwwLDAsMCwKLSAgICAxMTQsNDMsMCwwLDAsMTE0LDQ0LDAsMCwwLDExNCw0NiwwLDAsMCwxMTQsCi0gICAgNTUsMCwwLDAsMTE0LDY1LDAsMCwwLDExNCw2OCwwLDAsMCwxMTQsNjYsCi0gICAgMCwwLDAsMjE4LDgsOTUsOTUsOTksMTExLDEwMCwxMDEsOTUsOTUsMTE0LDE5NCwwLAotICAgIDAsMCwxMTQsNjksMCwwLDAsMTE0LDEwOSwwLDAsMCwxMTQsOTIsMCwwLAotICAgIDAsMTE0LDk5LDAsMCwwLDExNCw4MiwwLDAsMCwxMTQsODMsMCwwLDAsCi0gICAgMTE0LDEwMiwwLDAsMCwxMTQsMTAzLDAsMCwwLDExNCwxMDUsMCwwLDAsMTE0LAotICAgIDExMiwwLDAsMCwxMTQsMTE0LDAsMCwwLDExNCwxNSwwLDAsMCwxMTQsMTg2LAotICAgIDAsMCwwLDExNCwxNCwwLDAsMCwxMTQsMTgsMCwwLDAsOTAsMTcsOTUsCi0gICAgODIsNjUsODcsOTUsNzcsNjUsNzEsNzMsNjcsOTUsNzgsODUsNzcsNjYsNjksODIsCi0gICAgMTE0LDEyNCwwLDAsMCwxMTQsMTM1LDAsMCwwLDExNCwxMTksMCwwLDAsMTE0LAotICAgIDEyMCwwLDAsMCwxMTQsMTMyLDAsMCwwLDExNCwxMzYsMCwwLDAsMTE0LDE0MywKLSAgICAwLDAsMCwxMTQsMTQ1LDAsMCwwLDExNCwxNTMsMCwwLDAsMTE0LDE1NywwLAotICAgIDAsMCwxMTQsMTYyLDAsMCwwLDExNCwxNjUsMCwwLDAsMTE0LDE3MywwLDAsCi0gICAgMCwxMTQsMTgxLDAsMCwwLDExNCwxOTEsMCwwLDAsMTE0LDE5NiwwLDAsMCwKLSAgICAxMTQsMTk5LDAsMCwwLDExNCwyMDQsMCwwLDAsMTE0LDIxMiwwLDAsMCwxMTQsCi0gICAgMjEzLDAsMCwwLDExNCwyMTcsMCwwLDAsMTE0LDE3NCwwLDAsMCwyMTgsNiwKLSAgICAxMTEsOTgsMTA2LDEwMSw5OSwxMTYsMTE0LDI0MiwwLDAsMCwxMTQsMjQwLDAsMCwwLAotICAgIDExNCwyNDgsMCwwLDAsMTE0LDE3NSwwLDAsMCwxMTQsMTAsMSwwLDAsMTE0LAotICAgIDExLDEsMCwwLDExNCwyMCwxLDAsMCwxMTQsMjMsMSwwLDAsMTE0LDMzLAotICAgIDEsMCwwLDExNCwzNCwxLDAsMCwxMTQsNDksMSwwLDAsMTE0LDksMSwKLSAgICAwLDAsMTE0LDgsMSwwLDAsMTE0LDYwLDEsMCwwLDExNCw1NywxLDAsCi0gICAgMCwxMTQsNjEsMSwwLDAsMTE0LDI1MiwwLDAsMCwxMTQsNzQsMSwwLDAsCi0gICAgMTE0LDg3LDEsMCwwLDExNCwxMDIsMSwwLDAsMTE0LDEwNSwxLDAsMCwxMTQsCi0gICAgMTA2LDEsMCwwLDExNCwxMDgsMSwwLDAsMTE0LDExMSwxLDAsMCwxMTQsMTIwLAotICAgIDEsMCwwLDExNCwxMTIsMSwwLDAsMTE0LDExNCwxLDAsMCwxMTQsMTE1LDEsCi0gICAgMCwwLDExNCwxMTYsMSwwLDAsMTE0LDEyMiwxLDAsMCwxMTQsMTI0LDEsMCwKLSAgICAwLDExNCwyNDEsMCwwLDAsMTE0LDEyNywxLDAsMCwxMTQsMTI4LDEsMCwwLAotICAgIDExNCwxMzcsMSwwLDAsMTE0LDEzOCwxLDAsMCwxMTQsNCwwLDAsMCwxMTQsCi0gICAgNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwyMTgsOCwKLSAgICA2MCwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSw2Miw4LDAsMCwwLDExNSwxNzAsMCwwLAotICAgIDAsNiwxNyw2LDMsMTIsMTIsMTIsNSwxMiw1LDEyLDYsMTIsMTIsMTIsCi0gICAgMTAsMTIsOSwxMiw1LDEyLDcsMTUsMjIsMTIsOCwxMiw0LDE1LDQsMTksCi0gICAgMjAsNiwyLDYsMywyMiw0LDE5LDY4LDE5LDIxLDE5LDE5LDEyLDE5LDEyLAotICAgIDIwLDEyLDExNCwyMiwxLDE4LDIsNiwyLDksMiw5LDEsOSwyLDE1LAotICAgIDI3LDEyLDIzLDEyLDE5LDEyLDEyLDE4LDgsMTIsMTgsMTIsMTEsMTIsMTEsMTIsCi0gICAgMTcsMTIsMTYsMjEsNTUsMjEsMTIsMTgsMTAsMTIsMTQsMTIsMzYsMTksMjcsMTksCi0gICAgMTA2LDI0LDIyLDksMywxMiwxLDE1LDYzLDE4LDQ1LDE5LDIzMCwxNSwyNSwxOSwKLSAgICA3MCwxOSw3MSwxOSw2MywxOSwyNCwyMiwxMTAsMTksNDEsMjUsNDMsMjUsMTYsNiwKLSAgICAzLDE5LDU3LDE5LDU3LDE5LDM4LDE5LDEyOSwxOSwxNDYsMTksMTMsMTIsOSwxMiwKLSAgICA5LDE1LDQwLDEyLDE3LDYsMSwxMCwyLDEyLDI3LDEyLDYsMTgsMjQsMTIsCi0gICAgMzIsMTIsMTUsMTIsMTEsMjQsMzUsMTIsOCwxMiw4NywKKyAgICAxLDAsMjQsMTI1LDgsMCwxMTYsNCwwLDEwNiw1LDAsMTI0LDUsMCwxMDYsCisgICAgNiwwLDEwMCwyLDAsMTE2LDMsMCwxMjQsNSwwLDEwNiw2LDAsMTMxLDEsCisgICAgMCwxMjQsOCwwLDI0LDEzMywyLDAsMjUsMjUsODMsMTEwLDE2LDAsMTE2LDcsCisgICAgMCwxMjQsNSwwLDEyNCwzLDAsMTE2LDAsMCwxMzEsMywwLDgzLDEwMCwyLAorICAgIDAsODMsNDEsNCw5NywyMTQsMSwwLDAsNzMsMTA5LDExMiwxMTEsMTE0LDExNiwzMiwKKyAgICA5NywzMiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSw0NiwxMCwxMCwzMiwzMiwzMiwzMiw4NCwKKyAgICAxMDQsMTAxLDMyLDM5LDEwMywxMDgsMTExLDk4LDk3LDEwOCwxMTUsMzksMzIsOTcsMTE0LDEwMywKKyAgICAxMTcsMTA5LDEwMSwxMTAsMTE2LDMyLDEwNSwxMTUsMzIsMTE3LDExNSwxMDEsMTAwLDMyLDExNiwxMTEsCisgICAgMzIsMTA1LDExMCwxMDIsMTAxLDExNCwzMiwxMTksMTA0LDEwMSwxMTQsMTAxLDMyLDExNiwxMDQsMTAxLAorICAgIDMyLDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDMyLDEwNSwxMTUsMzIsMTExLDk5LDk5LDExNywxMTQsCisgICAgMTA1LDExMCwxMDMsMzIsMTAyLDExNCwxMTEsMTA5LDEwLDMyLDMyLDMyLDMyLDExNiwxMTEsMzIsCisgICAgMTA0LDk3LDExMCwxMDAsMTA4LDEwMSwzMiwxMTQsMTAxLDEwOCw5NywxMTYsMTA1LDExOCwxMDEsMzIsCisgICAgMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsMTE1LDQ2LDMyLDg0LDEwNCwxMDEsMzIsMzksMTA4LDExMSwKKyAgICA5OSw5NywxMDgsMTE1LDM5LDMyLDk3LDExNCwxMDMsMTE3LDEwOSwxMDEsMTEwLDExNiwzMiwxMDUsCisgICAgMTE1LDMyLDEwNSwxMDMsMTEwLDExMSwxMTQsMTAxLDEwMCw0NiwzMiw4NCwxMDQsMTAxLDEwLDMyLAorICAgIDMyLDMyLDMyLDM5LDEwMiwxMTQsMTExLDEwOSwxMDgsMTA1LDExNSwxMTYsMzksMzIsOTcsMTE0LAorICAgIDEwMywxMTcsMTA5LDEwMSwxMTAsMTE2LDMyLDExNSwxMTIsMTAxLDk5LDEwNSwxMDIsMTA1LDEwMSwxMTUsCisgICAgMzIsMTE5LDEwNCw5NywxMTYsMzIsMTE1LDEwNCwxMTEsMTE3LDEwOCwxMDAsMzIsMTAxLDEyMCwxMDUsCisgICAgMTE1LDExNiwzMiw5NywxMTUsMzIsOTcsMTE2LDExNiwxMTQsMTA1LDk4LDExNywxMTYsMTAxLDExNSwKKyAgICAzMiwxMTEsMTEwLDMyLDExNiwxMDQsMTAxLDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDEwLDMyLAorICAgIDMyLDMyLDMyLDk4LDEwMSwxMDUsMTEwLDEwMywzMiwxMDUsMTA5LDExMiwxMTEsMTE0LDExNiwxMDEsCisgICAgMTAwLDMyLDQwLDEwMSw0NiwxMDMsNDYsMzIsOTYsOTYsMTAyLDExNCwxMTEsMTA5LDMyLDEwOSwKKyAgICAxMTEsMTAwLDExNywxMDgsMTAxLDMyLDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDMyLDYwLDEwMiwxMTQsCisgICAgMTExLDEwOSwxMDgsMTA1LDExNSwxMTYsNjIsOTYsOTYsNDEsNDYsMzIsMzIsODQsMTA0LDEwMSwKKyAgICAzMiwzOSwxMDgsMTAxLDExOCwxMDEsMTA4LDM5LDEwLDMyLDMyLDMyLDMyLDk3LDExNCwxMDMsCisgICAgMTE3LDEwOSwxMDEsMTEwLDExNiwzMiwxMTQsMTAxLDExMiwxMTQsMTAxLDExNSwxMDEsMTEwLDExNiwxMTUsCisgICAgMzIsMTE2LDEwNCwxMDEsMzIsMTEyLDk3LDk5LDEwNyw5NywxMDMsMTAxLDMyLDEwOCwxMTEsOTksCisgICAgOTcsMTE2LDEwNSwxMTEsMTEwLDMyLDExNiwxMTEsMzIsMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsMzIsCisgICAgMTAyLDExNCwxMTEsMTA5LDMyLDEwNSwxMTAsMzIsOTcsMzIsMTE0LDEwMSwxMDgsOTcsMTE2LDEwNSwKKyAgICAxMTgsMTAxLDEwLDMyLDMyLDMyLDMyLDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDMyLDQwLDEwMSwKKyAgICA0NiwxMDMsNDYsMzIsOTYsOTYsMTAyLDExNCwxMTEsMTA5LDMyLDQ2LDQ2LDExMiwxMDcsMTAzLAorICAgIDMyLDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDMyLDEwOSwxMTEsMTAwLDk2LDk2LDMyLDExOSwxMTEsCisgICAgMTE3LDEwOCwxMDAsMzIsMTA0LDk3LDExOCwxMDEsMzIsOTcsMzIsMzksMTA4LDEwMSwxMTgsMTAxLAorICAgIDEwOCwzOSwzMiwxMTEsMTAyLDMyLDUwLDQxLDQ2LDEwLDEwLDMyLDMyLDMyLDMyLDExNCwKKyAgICA4NCwwLDAsMCw3OCwxMTQsMTE2LDAsMCwwLDQxLDgsMTE0LDExNSwxLDAsCisgICAgMCwxMTQsMTIzLDEsMCwwLDExNCwxMzQsMCwwLDAsMTE0LDMxLDAsMCwwLAorICAgIDExNCw3LDAsMCwwLDExNCw3MywwLDAsMCwxMTQsNTcsMCwwLDAsMTE0LAorICAgIDEyMSwxLDAsMCw0MSw5LDExNCw2NywwLDAsMCwxMTQsMTIyLDEsMCwwLAorICAgIDIxOCw2LDEwOCwxMTEsOTksOTcsMTA4LDExNSwxMTQsMTIwLDEsMCwwLDExNCwxMDMsMSwKKyAgICAwLDAsMTE0LDE3OCwwLDAsMCw5MCw4LDEwMywxMDgsMTExLDk4LDk3LDEwOCwxMTUsCisgICAgOTUsMTE0LDEwMiwxLDAsMCw5MCw3LDk5LDExNywxMTYsOTUsMTExLDEwMiwxMDIsMTE0LAorICAgIDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsMjE4LDEwLAorICAgIDk1LDk1LDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDk1LDk1LDI0Miw4LDAsMCwxMTUsMjYsCisgICAgMCwwLDAsMCwxMSwxMiwxLDE1LDIsMjQsMSwxMiwxLDE4LDEsNiwKKyAgICAzLDEyLDEsMjMsMSw2LDEsNCw0LDM1LDMsNDAsMiwxMTQsMTI2LDEsCisgICAgMCwwLDk5LDEsMCwwLDAsMCwwLDAsMCwyLDAsMCwwLDMsCisgICAgMCwwLDAsNjcsMCwwLDAsMTE1LDUzLDAsMCwwLDExNiwwLDAsMTA2LAorICAgIDEsMCwxMjQsMCwwLDEzMSwxLDAsMTI1LDEsMCwxMjQsMSwwLDEwMCwwLAorICAgIDAsMTA3LDgsMCwxMTQsNDMsMCwxMTYsMiwwLDEwMCwxLDAsMTI0LDAsMCwKKyAgICAyMywxMzEsMSwwLDEzMCwxLDAsMTE2LDMsMCwxMjQsMSwwLDEzMSwxLDAsCisgICAgODMsNDEsMiw3OCwxMjIsMjUsMTEwLDExMSwzMiw5OCwxMTcsMTA1LDEwOCwxMTYsNDUsMTA1LAorICAgIDExMCwzMiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwzMiwxMTAsOTcsMTA5LDEwMSwxMDAsMzIsNDEsCisgICAgNCwxMTQsOSwxLDAsMCwxMTQsMTIsMSwwLDAsMTE0LDE1NCwwLDAsMCwKKyAgICAxMTQsNSwxLDAsMCw0MSwyLDExNCw2NywwLDAsMCwxMTQsMTc3LDAsMCwKKyAgICAwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLAorICAgIDIxOCwxOCw5NSw5OCwxMTcsMTA1LDEwOCwxMTYsMTA1LDExMCw5NSwxMDIsMTE0LDExMSwxMDksOTUsCisgICAgMTEwLDk3LDEwOSwxMDEsMjEsOSwwLDAsMTE1LDgsMCwwLDAsMCwxLDE1LAorICAgIDEsMTIsMSwxNiwxLDExNCwxMjcsMSwwLDAsOTksMiwwLDAsMCwwLAorICAgIDAsMCwwLDE4LDAsMCwwLDEyLDAsMCwwLDY3LDAsMCwwLDExNSwKKyAgICAyMDgsMiwwLDAsMTI0LDEsMCw5NywwLDAsMTI0LDAsMCw5NywxLDAsCisgICAgMTE2LDEsMCwxMDYsMiwwLDEwNiwzLDAsMTE0LDMzLDAsMTE2LDQsMCw5NywKKyAgICA1LDAsMTEwLDYsMCwxMTYsNiwwLDk3LDUsMCwxMTYsNywwLDExNiwxLAorICAgIDAsMTMxLDEsMCwxMjUsMiwwLDEyMCwxMjMsMCwxMTYsMSwwLDEwNiw4LDAsCisgICAgMTA2LDksMCwxMzEsMCwwLDY4LDkzLDEwNiwwLDkyLDIsMCwxMjUsMywwLAorICAgIDEyNSw0LDAsMTE2LDEwLDAsMTI0LDQsMCwxMjQsMiwwLDEzMSwyLDAsMTE0LAorICAgIDY3LDAsMTI0LDMsMCwxMTYsMSwwLDEwNiwxMSwwLDEwNyw2LDAsMTE0LDExOCwKKyAgICAwLDExNiwxMiwwLDEyNSw1LDAsMTEwLDI3LDAsMTE2LDAsMCwxMDYsMTMsMCwKKyAgICAxMjQsMywwLDEzMSwxLDAsMTE0LDY3LDAsMTE2LDE0LDAsMTI1LDUsMCwxMTAsCisgICAgMywwLDExMyw2NywwLDExNiwxNSwwLDEyNCw0LDAsMTI0LDUsMCwxMzEsMiwKKyAgICAwLDEyNSw2LDAsMTE2LDE2LDAsMTI0LDYsMCwxMjQsNCwwLDEzMSwyLDAsCisgICAgMSwxMTMsNjcsMCw4NywxMTYsMSwwLDEwNiw4LDAsMTE2LDE3LDAsMjUsMTI1LAorICAgIDcsMCwxMjAsNzMsMCwxMDAsMjYsMCw2OCw5Myw2NSwwLDEyNSw4LDAsMTI0LAorICAgIDgsMCwxMTYsMSwwLDEwNiw4LDAsMTA3LDcsMCwxMTQsMjMzLDAsMTE2LDE4LAorICAgIDAsMTI0LDgsMCwxMzEsMSwwLDEyNSw5LDAsMTEwLDEzLDAsMTE2LDEsMCwKKyAgICAxMDYsOCwwLDEyNCw4LDAsMjUsMTI1LDksMCwxMTYsMTksMCwxMjQsNywwLAorICAgIDEyNCw4LDAsMTI0LDksMCwxMzEsMywwLDEsMTEzLDE5NywwLDg3LDEwMCw1LAorICAgIDAsMTAwLDYsMCwxMDMsMSwwLDEwMiwyLDAsMTAwLDcsMCwxMDAsOCwwLAorICAgIDEwMCw2LDAsMTAzLDIsMCwxMDIsMiwwLDEwMiwyLDAsMTI1LDEwLDAsMTIwLAorICAgIDE0NiwwLDEyNCwxMCwwLDY4LDkzLDEyNiwwLDkyLDIsMCwxMjUsMTEsMCwxMjUsCisgICAgMTIsMCwxMTYsMjAsMCwxMDAsOSwwLDEwMCwxMCwwLDEzMiwwLDAsMTI0LDEyLAorICAgIDAsNjgsMTMxLDEsMCwxMzEsMSwwLDExNSw5MywxLDExNiwyMSwwLDEzMCwxLAorICAgIDAsMTI0LDEyLDAsMTAwLDExLDAsMjUsMTI1LDEzLDAsMTI0LDExLDAsMTE2LDEsCisgICAgMCwxMDYsOCwwLDEwNyw2LDAsMTE0LDEzNSwxLDExNiwxLDAsMTA2LDgsMCwKKyAgICAxMjQsMTEsMCwyNSwxMjUsMTQsMCw4MCwxMTMsNTAsMSwxMjEsMTcsMCwxMTYsMTgsCisgICAgMCwxMjQsMTEsMCwxMzEsMSwwLDEyNSwxNCwwLDgwLDg3LDExMyw1MCwxLDQsCisgICAgMTE2LDIyLDAsMTA3LDEwLDAsMTE0LDE3NSwxLDEsMSwxLDExOSw1MCwxLDg5LAorICAgIDExMyw1MCwxLDg4LDExMyw1MCwxLDg3LDExNiwyMiwwLDEwMCwxMiwwLDEzMSwxLAorICAgIDAsMTMwLDEsMCwxMTYsMTksMCwxMjQsNywwLDEwMCwxMywwLDEyNCwxNCwwLAorICAgIDEzMSwzLDAsMSwxMTYsMTksMCwxMjQsNywwLDEwMCwxNCwwLDEyNCwxMywwLAorICAgIDEzMSwzLDAsMSwxMTYsMTksMCwxMjQsNywwLDEwMCwxNSwwLDEwMCwxNiwwLAorICAgIDEwNiwyMywwLDEyNCwxMiwwLDEzMSwxLDAsMTMxLDMsMCwxLDEyMSwxNiwwLAorICAgIDExNiwxOCwwLDEwMCwxNywwLDEzMSwxLDAsMTI1LDE1LDAsODcsMTEwLDI0LDAsCisgICAgNCwxMTYsMjIsMCwxMDcsMTAsMCwxMTQsMzUsMiwxLDEsMSwxMDAsMTgsMCwKKyAgICAxMjUsMTUsMCw4OSwxMTAsMSwwLDg4LDExNiwxOSwwLDEyNCw3LDAsMTAwLDE3LAorICAgIDAsMTI0LDE1LDAsMTMxLDMsMCwxLDExNiwxOCwwLDEwMCwxOSwwLDEzMSwxLAorICAgIDAsMTI1LDE2LDAsMTE2LDE5LDAsMTI0LDcsMCwxMDAsMTksMCwxMjQsMTYsMCwKKyAgICAxMzEsMywwLDEsMTI0LDExLDAsMTAwLDcsMCwxMDcsMiwwLDExNCwxMjAsMiwKKyAgICAxMTYsMTgsMCwxMDAsMjAsMCwxMzEsMSwwLDEyNSwxNywwLDExNiwxOSwwLDEyNCwKKyAgICA3LDAsMTAwLDIxLDAsMTI0LDE3LDAsMTMxLDMsMCwxLDExNiwxOSwwLDEyNCwKKyAgICA3LDAsMTAwLDIyLDAsMTE2LDI0LDAsMTMxLDAsMCwxMzEsMywwLDEsMTE2LAorICAgIDI1LDAsMTA2LDI2LDAsMTE2LDAsMCwxMDYsMjcsMCwxMzEsMCwwLDEzMSwxLAorICAgIDAsMSwxMjQsMTEsMCwxMDAsNywwLDEwNywyLDAsMTE0LDIwNCwyLDExNiwyOCwKKyAgICAwLDEwNiwyOSwwLDEwMCwyMywwLDEzMSwxLDAsMSwxMDAsMjQsMCwxMTYsMjUsCisgICAgMCwxMDcsNiwwLDExNCwyMDQsMiwxMDAsMjUsMCwxMTYsMzAsMCw5NSwzMSwwLAorICAgIDEwMCwxOCwwLDgzLDQxLDI3LDEyMiwyNTAsODMsMTAxLDExNiwxMTcsMTEyLDMyLDEwNSwxMDksCisgICAgMTEyLDExMSwxMTQsMTE2LDEwOCwxMDUsOTgsMzIsOTgsMTIxLDMyLDEwNSwxMDksMTEyLDExMSwxMTQsCisgICAgMTE2LDEwNSwxMTAsMTAzLDMyLDExMCwxMDEsMTAxLDEwMCwxMDEsMTAwLDMyLDk4LDExNywxMDUsMTA4LAorICAgIDExNiw0NSwxMDUsMTEwLDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDExNSwzMiw5NywxMTAsMTAwLAorICAgIDMyLDEwNSwxMTAsMTA2LDEwMSw5OSwxMTYsMTA1LDExMCwxMDMsMzIsMTE2LDEwNCwxMDEsMTA5LDEwLAorICAgIDMyLDMyLDMyLDMyLDEwNSwxMTAsMTE2LDExMSwzMiwxMTYsMTA0LDEwMSwzMiwxMDMsMTA4LDExMSwKKyAgICA5OCw5NywxMDgsMzIsMTEwLDk3LDEwOSwxMDEsMTE1LDExMiw5Nyw5OSwxMDEsNDYsMTAsMTAsCisgICAgMzIsMzIsMzIsMzIsNjUsMTE1LDMyLDExNSwxMjEsMTE1LDMyLDEwNSwxMTUsMzIsMTEwLDEwMSwKKyAgICAxMDEsMTAwLDEwMSwxMDAsMzIsMTAyLDExMSwxMTQsMzIsMTE1LDEyMSwxMTUsNDYsMTA5LDExMSwxMDAsCisgICAgMTE3LDEwOCwxMDEsMTE1LDMyLDk3LDk5LDk5LDEwMSwxMTUsMTE1LDMyLDk3LDExMCwxMDAsMzIsCisgICAgOTUsMTA1LDEwOSwxMTIsMzIsMTA1LDExNSwzMiwxMTAsMTAxLDEwMSwxMDAsMTAxLDEwMCwzMiwxMTYsCisgICAgMTExLDMyLDEwOCwxMTEsOTcsMTAwLDMyLDk4LDExNywxMDUsMTA4LDExNiw0NSwxMDUsMTEwLDEwLAorICAgIDMyLDMyLDMyLDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDExNSw0NCwzMiwxMTYsMTA0LDExMSwKKyAgICAxMTUsMTAxLDMyLDExNiwxMTksMTExLDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDExNSwzMiwxMDksCisgICAgMTE3LDExNSwxMTYsMzIsOTgsMTAxLDMyLDEwMSwxMjAsMTEyLDEwOCwxMDUsOTksMTA1LDExNiwxMDgsCisgICAgMTIxLDMyLDExMiw5NywxMTUsMTE1LDEwMSwxMDAsMzIsMTA1LDExMCw0NiwxMCwxMCwzMiwzMiwKKyAgICAzMiwzMiwxMTQsNDksMCwwLDAsMTE0LDE2NywwLDAsMCwyMTgsOCw5OCwxMTcsCisgICAgMTA1LDEwOCwxMTYsMTA1LDExMCwxMTUsMTE0LDE5MCwwLDAsMCw5MCw1LDExMiwxMTEsMTE1LAorICAgIDEwNSwxMjAsMjUwLDEsNDcsMjE4LDIsMTEwLDExNiwyNTAsMSw5Miw5OSwxLDAsMCwKKyAgICAwLDAsMCwwLDAsMiwwLDAsMCwzLDAsMCwwLDExNSwwLDAsCisgICAgMCwxMTUsMzMsMCwwLDAsMTI0LDAsMCw5MywyMywwLDEyNSwxLDAsMTE2LAorICAgIDAsMCwxMjQsMSwwLDEzMSwxLDAsMTAwLDAsMCwxMDcsMiwwLDg2LDEsCisgICAgMTEzLDMsMCwxMDAsMSwwLDgzLDQxLDIsMTE0LDI5LDAsMCwwLDc4LDQxLAorICAgIDEsMTE0LDMxLDAsMCwwLDQxLDIsMTE0LDIyLDAsMCwwLDExNCwxMjksMCwKKyAgICAwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLAorICAgIDAsMTE0LDc3LDAsMCwwLDcxLDksMCwwLDExNSwyLDAsMCwwLDYsCisgICAgMCwxMjIsMjUsOTUsMTE1LDEwMSwxMTYsMTE3LDExMiw0Niw2MCwxMDgsMTExLDk5LDk3LDEwOCwKKyAgICAxMTUsNjIsNDYsNjAsMTAzLDEwMSwxMTAsMTAxLDEyMCwxMTIsMTE0LDYyLDExNCw4NCwwLDAsCisgICAgMCwxMjIsMzAsMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsMTA4LDEwNSw5OCwzMiwxMTQsMTAxLDExMywKKyAgICAxMTcsMTA1LDExNCwxMDEsMTE1LDMyLDExMiwxMTEsMTE1LDEwNSwxMjAsMzIsMTExLDExNCwzMiwxMTAsCisgICAgMTE2LDExNCwzLDAsMCwwLDExNCwyNSwwLDAsMCwxMTQsMjEsMCwwLDAsCisgICAgMTE0LDMwLDAsMCwwLDExNCw4NSwwLDAsMCw3OCwxMTQsMTExLDAsMCwwLAorICAgIDkwLDYsMTE5LDEwNSwxMTAsMTE0LDEwMSwxMDMsMTE0LDIzLDEsMCwwLDExNCw2LDAsCisgICAgMCwwLDEyMiw0LDQ2LDExMiwxMjEsMTE5LDEyMiw2LDk1LDEwMCw0NiwxMTIsMTIxLDEwMCwKKyAgICA4NCw0MSw0LDEyMiwzLDk1LDEwNSwxMTEsMTIyLDksOTUsMTE5LDk3LDExNCwxMTAsMTA1LAorICAgIDExMCwxMDMsMTE1LDEyMiw4LDk4LDExNywxMDUsMTA4LDExNiwxMDUsMTEwLDExNSwxMjIsNywxMDksCisgICAgOTcsMTE0LDExNSwxMDQsOTcsMTA4LDQxLDMyLDExNCwxMDYsMCwwLDAsMTE0LDcsMCwKKyAgICAwLDAsMTE0LDExNywwLDAsMCwxMTQsMTE4LDAsMCwwLDExNCwxMjAsMCwwLAorICAgIDAsMTE0LDIzMiwwLDAsMCwxMTQsMTE5LDAsMCwwLDExNCw2NiwwLDAsMCwKKyAgICAxMTQsNzMsMCwwLDAsMjE4LDUsMTA1LDExNiwxMDEsMTA5LDExNSwxMTQsMTkxLDAsMCwKKyAgICAwLDExNCwxNTgsMCwwLDAsMTE0LDksMSwwLDAsMTE0LDE2MywwLDAsMCwKKyAgICAxMTQsMTgsMSwwLDAsMTE0LDI0NywwLDAsMCwxMTQsMjUzLDAsMCwwLDExNCwKKyAgICA1NywwLDAsMCwxMTQsMTI3LDEsMCwwLDExNCw2MSwwLDAsMCwyMTgsMywKKyAgICA5NywxMDgsMTA4LDExNCwxMDAsMCwwLDAsMTE0LDE1NCwwLDAsMCwxMTQsMjYsMCwKKyAgICAwLDAsMTE0LDExLDAsMCwwLDExNCw1OSwxLDAsMCwxMTQsMTk2LDAsMCwKKyAgICAwLDExNCwxMjQsMSwwLDAsMTE0LDEzNSwwLDAsMCwxMTQsMjIzLDAsMCwwLAorICAgIDExNCwyMiwxLDAsMCwxMTQsMjYsMSwwLDAsNDEsMTgsMjE4LDEwLDExNSwxMjEsCisgICAgMTE1LDk1LDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDIxOCwxMSw5NSwxMDUsMTA5LDExMiw5NSwxMDksCisgICAgMTExLDEwMCwxMTcsMTA4LDEwMSw5MCwxMSwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSw5NSwxMTYsMTIxLAorICAgIDExMiwxMDEsMTE0LDY3LDAsMCwwLDExNCwxNzgsMCwwLDAsMTE0LDE3MCwwLDAsCisgICAgMCwxMTQsMTc3LDAsMCwwLDkwLDExLDExNSwxMDEsMTA4LDEwMiw5NSwxMDksMTExLDEwMCwKKyAgICAxMTcsMTA4LDEwMSw5MCwxMiw5OCwxMTcsMTA1LDEwOCwxMTYsMTA1LDExMCw5NSwxMTAsOTcsMTA5LAorICAgIDEwMSw5MCwxNCw5OCwxMTcsMTA1LDEwOCwxMTYsMTA1LDExMCw5NSwxMDksMTExLDEwMCwxMTcsMTA4LAorICAgIDEwMSw5MCwxMCwxMTEsMTE1LDk1LDEwMCwxMDEsMTE2LDk3LDEwNSwxMDgsMTE1LDkwLDEwLDk4LAorICAgIDExNywxMDUsMTA4LDExNiwxMDUsMTEwLDk1LDExMSwxMTUsMTE0LDIxLDAsMCwwLDExNCwyNSwKKyAgICAwLDAsMCw5MCw5LDExMSwxMTUsOTUsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsOTAsMTMsCisgICAgMTE2LDEwNCwxMTQsMTAxLDk3LDEwMCw5NSwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSw5MCwxNCwxMTksCisgICAgMTAxLDk3LDEwNywxMTQsMTAxLDEwMiw5NSwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSw5MCwxMywxMTksCisgICAgMTA1LDExMCwxMTQsMTAxLDEwMyw5NSwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwxMTQsNCwwLDAsCisgICAgMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwyMTgsNiw5NSwxMTUsMTAxLAorICAgIDExNiwxMTcsMTEyLDI4LDksMCwwLDExNSwxMDYsMCwwLDAsMCw5LDYsMSwKKyAgICA2LDIsMTIsMSw5LDIsNiwzLDEyLDEsMjgsMSwxNSwxLDE1LDEsCisgICAgOSwxLDE1LDEsOSwyLDMsMSwxNSwxLDE3LDMsMTMsMSwxMywxLAorICAgIDE1LDEsMTUsMiwxMywxLDIwLDMsMzMsMSwxOSwyLDMxLDEsMTAsMSwKKyAgICAxNSwxLDEzLDEsNCwyLDMsMSwxMiwxLDUsMSwxMywxLDEyLDIsCisgICAgMTIsMSwxNiwxLDE2LDEsMjUsMywzLDEsMTYsMSwxMywyLDExLDEsCisgICAgMTYsMywxMiwxLDE2LDMsMTIsMSwxMiwxLDE2LDMsMTksMSwxOSwxLAorICAgIDEyLDEsMTMsMSwxMiwxLDExNCwxMzYsMSwwLDAsOTksMiwwLDAsMCwKKyAgICAwLDAsMCwwLDMsMCwwLDAsMywwLDAsMCw2NywwLDAsMCwKKyAgICAxMTUsMTMzLDAsMCwwLDExNiwwLDAsMTI0LDAsMCwxMjQsMSwwLDEzMSwyLAorICAgIDAsMSwxMTYsMSwwLDEzMSwwLDAsMTI1LDIsMCwxMTYsMiwwLDEwNiwzLAorICAgIDAsMTA2LDQsMCwxMTYsNSwwLDEwNiw2LDAsMTI0LDIsMCwxNDAsMCwwLAorICAgIDEwMywxLDAsMTMxLDEsMCwxLDExNiwyLDAsMTA2LDcsMCwxMDYsOCwwLAorICAgIDExNiw5LDAsMTMxLDEsMCwxLDExNiwyLDAsMTA2LDcsMCwxMDYsOCwwLAorICAgIDExNiwxMCwwLDEzMSwxLDAsMSwxMTYsMTEsMCwxMDYsMTIsMCwxMDAsMSwwLAorICAgIDEwNywyLDAsMTE0LDExMywwLDExNiwyLDAsMTA2LDcsMCwxMDYsOCwwLDExNiwKKyAgICAxMywwLDEzMSwxLDAsMSwxMTYsMiwwLDEwNiw3LDAsMTA2LDgsMCwxMTYsCisgICAgMTQsMCwxMzEsMSwwLDEsMTAwLDIsMCw4Myw0MSwzLDEyMiw1MCw3MywxMTAsCisgICAgMTE1LDExNiw5NywxMDgsMTA4LDMyLDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDEwOCwxMDUsOTgsMzIsCisgICAgOTcsMTE1LDMyLDExNiwxMDQsMTAxLDMyLDEwNSwxMDksMTEyLDEwOCwxMDEsMTA5LDEwMSwxMTAsMTE2LAorICAgIDk3LDExNiwxMDUsMTExLDExMCwzMiwxMTEsMTAyLDMyLDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDQ2LAorICAgIDExNCwxMzAsMSwwLDAsNzgsNDEsMTUsMTE0LDEzNiwxLDAsMCwxMTQsMjQwLDAsCisgICAgMCwwLDExNCw3LDAsMCwwLDExNCw3OCwxLDAsMCwxMTQsMTk2LDAsMCwKKyAgICAwLDExNCw4NywxLDAsMCwxMTQsMTAwLDEsMCwwLDExNCwxMDYsMSwwLDAsCisgICAgMTE0LDIyMywwLDAsMCwxMTQsOSwxLDAsMCwxMTQsMTgsMSwwLDAsMTE0LAorICAgIDMsMCwwLDAsMTE0LDU3LDAsMCwwLDExNCwyMiwxLDAsMCwxMTQsNzMsCisgICAgMSwwLDAsNDEsMywxMTQsMTM0LDEsMCwwLDExNCwxMzUsMSwwLDAsOTAsCisgICAgMTcsMTE1LDExNywxMTIsMTEyLDExMSwxMTQsMTE2LDEwMSwxMDAsOTUsMTA4LDExMSw5NywxMDAsMTAxLAorICAgIDExNCwxMTUsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLAorICAgIDAsMjE4LDgsOTUsMTA1LDExMCwxMTUsMTE2LDk3LDEwOCwxMDgsMTE0LDksMCwwLDExNSwKKyAgICAxNiwwLDAsMCwwLDIsMTMsMSw5LDEsMjgsMSwxNiwxLDE2LDEsCisgICAgMTUsMSwxNiwxLDExNCwxMzcsMSwwLDAsNDEsMywxMjIsMywxMTksMTA1LDExMCwKKyAgICAxMTQsMSwwLDAsMCwxMTQsMiwwLDAsMCw0MSw5OCwxMTQsNTksMCwwLAorICAgIDAsMTE0LDEwLDAsMCwwLDExNCwxMSwwLDAsMCwxMTQsMTcsMCwwLDAsCisgICAgMTE0LDE5LDAsMCwwLDExNCwyOCwwLDAsMCwxMTQsMzgsMCwwLDAsMTE0LAorICAgIDM5LDAsMCwwLDExNCw0MywwLDAsMCwxMTQsNDQsMCwwLDAsMTE0LDQ2LAorICAgIDAsMCwwLDExNCw1NSwwLDAsMCwxMTQsNjUsMCwwLDAsMTE0LDY4LDAsCisgICAgMCwwLDExNCw2NiwwLDAsMCwyMTgsOCw5NSw5NSw5OSwxMTEsMTAwLDEwMSw5NSwKKyAgICA5NSwxMTQsMTkyLDAsMCwwLDExNCw2OSwwLDAsMCwxMTQsMTA5LDAsMCwwLAorICAgIDExNCw5MiwwLDAsMCwxMTQsOTksMCwwLDAsMTE0LDgyLDAsMCwwLDExNCwKKyAgICA4MywwLDAsMCwxMTQsMTAyLDAsMCwwLDExNCwxMDMsMCwwLDAsMTE0LDEwNSwKKyAgICAwLDAsMCwxMTQsMTEyLDAsMCwwLDExNCwxMTQsMCwwLDAsMTE0LDE1LDAsCisgICAgMCwwLDExNCwxODQsMCwwLDAsMTE0LDE0LDAsMCwwLDExNCwxOCwwLDAsCisgICAgMCw5MCwxNyw5NSw4Miw2NSw4Nyw5NSw3Nyw2NSw3MSw3Myw2Nyw5NSw3OCw4NSwKKyAgICA3Nyw2Niw2OSw4MiwxMTQsMTI0LDAsMCwwLDExNCwxMzUsMCwwLDAsMTE0LDExOSwKKyAgICAwLDAsMCwxMTQsMTIwLDAsMCwwLDExNCwxMzIsMCwwLDAsMTE0LDEzNiwwLAorICAgIDAsMCwxMTQsMTQzLDAsMCwwLDExNCwxNDUsMCwwLDAsMTE0LDE1MywwLDAsCisgICAgMCwxMTQsMTU3LDAsMCwwLDExNCwxNjIsMCwwLDAsMTE0LDE2NSwwLDAsMCwKKyAgICAxMTQsMTczLDAsMCwwLDExNCwxNzksMCwwLDAsMTE0LDE4OSwwLDAsMCwxMTQsCisgICAgMTk0LDAsMCwwLDExNCwxOTcsMCwwLDAsMTE0LDIwMiwwLDAsMCwxMTQsMjExLAorICAgIDAsMCwwLDExNCwyMTIsMCwwLDAsMTE0LDIxNiwwLDAsMCwxMTQsMTc0LDAsCisgICAgMCwwLDIxOCw2LDExMSw5OCwxMDYsMTAxLDk5LDExNiwxMTQsMjQxLDAsMCwwLDExNCwKKyAgICAyMzksMCwwLDAsMTE0LDI0NywwLDAsMCwxMTQsMjUzLDAsMCwwLDExNCwxLAorICAgIDEsMCwwLDExNCwyMDksMCwwLDAsMTE0LDE3NSwwLDAsMCwxMTQsNCwxLAorICAgIDAsMCwxMTQsNSwxLDAsMCwxMTQsMTc2LDAsMCwwLDExNCw4LDEsMCwKKyAgICAwLDExNCw5LDEsMCwwLDExNCwxOCwxLDAsMCwxMTQsMjIsMSwwLDAsCisgICAgMTE0LDMyLDEsMCwwLDExNCwzMywxLDAsMCwxMTQsNDgsMSwwLDAsMTE0LAorICAgIDcsMSwwLDAsMTE0LDYsMSwwLDAsMTE0LDU5LDEsMCwwLDExNCw1NiwKKyAgICAxLDAsMCwxMTQsNjAsMSwwLDAsMTE0LDI1MCwwLDAsMCwxMTQsNzMsMSwKKyAgICAwLDAsMTE0LDg3LDEsMCwwLDExNCwxMDEsMSwwLDAsMTE0LDEwNCwxLDAsCisgICAgMCwxMTQsMTA1LDEsMCwwLDExNCwxMDcsMSwwLDAsMTE0LDExMCwxLDAsMCwKKyAgICAxMTQsMTE5LDEsMCwwLDExNCwxMTEsMSwwLDAsMTE0LDExMywxLDAsMCwxMTQsCisgICAgMTE0LDEsMCwwLDExNCwxMTUsMSwwLDAsMTE0LDEyMSwxLDAsMCwxMTQsMTIzLAorICAgIDEsMCwwLDExNCwyNDAsMCwwLDAsMTE0LDEyNiwxLDAsMCwxMTQsMTI3LDEsCisgICAgMCwwLDExNCwxMzYsMSwwLDAsMTE0LDEzNywxLDAsMCwxMTQsNCwwLDAsCisgICAgMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwKKyAgICAyMTgsOCw2MCwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSw2Miw4LDAsMCwwLDExNSwxODIsCisgICAgMCwwLDAsNiwxNyw2LDMsMTIsMTIsMTIsNSwxMiw1LDEyLDYsMTIsCisgICAgMTIsMTIsMTAsMTIsOSwxMiw1LDEyLDcsMTUsMjIsMTIsOCwxMiw0LDE1LAorICAgIDQsMTksMjAsNiwyLDYsMywyMiw0LDE5LDY4LDE5LDIxLDE5LDE5LDEyLAorICAgIDE5LDEyLDIwLDEyLDExNSwyMiwxLDE4LDIsNiwyLDksMiw5LDEsOSwKKyAgICAyLDE1LDI3LDEyLDIzLDEyLDE5LDEyLDEyLDE4LDgsMTIsMTgsMTIsMTEsMTIsCisgICAgMTEsMTIsMTgsMTIsMTUsMjEsNTUsMjEsMTIsMTgsMTAsMTIsMTQsMTIsMzYsMTksCisgICAgMjcsMTksMTA2LDI0LDIyLDksMywxMiwxLDE1LDYzLDE4LDQ1LDE4LDU2LDEyLAorICAgIDE4LDEyLDE3LDEyLDI1LDEyLDI5LDEyLDIzLDEyLDE0LDE1LDI1LDE5LDcwLDE5LAorICAgIDc1LDE5LDYzLDE5LDI3LDIyLDExMCwxOSw0MSwyNSw0MywyNSwxNiw2LDMsMTksCisgICAgNTcsMTksNTcsMTksNDEsMTksMTM0LDE5LDE0NiwxOSwxMywxMiw5LDEyLDksMTUsCisgICAgNDAsMTIsMTcsNiwxLDEwLDIsMTIsMjcsMTIsNiwxOCwyNCwxMiwzMiwxMiwKKyAgICAxNSwxMiwxMSwyNCwzNSwxMiw3LDEyLDg2LAogfTsKZGlmZiAtLWdpdCBhL1B5dGhvbi9tYXJzaGFsLmMgYi9QeXRob24vbWFyc2hhbC5jCmluZGV4IDZmMGVlNWUuLmQyNmE5OTcgMTAwNjQ0Ci0tLSBhL1B5dGhvbi9tYXJzaGFsLmMKKysrIGIvUHl0aG9uL21hcnNoYWwuYwpAQCAtMTIsOCArMTIsNyBAQAogI2luY2x1ZGUgImxvbmdpbnRyZXByLmgiCiAjaW5jbHVkZSAiY29kZS5oIgogI2luY2x1ZGUgIm1hcnNoYWwuaCIKLQotI2RlZmluZSBBQlMoeCkgKCh4KSA8IDAgPyAtKHgpIDogKHgpKQorI2luY2x1ZGUgIi4uL01vZHVsZXMvaGFzaHRhYmxlLmgiCiAKIC8qIEhpZ2ggd2F0ZXIgbWFyayB0byBkZXRlcm1pbmUgd2hlbiB0aGUgbWFyc2hhbGxlZCBvYmplY3QgaXMgZGFuZ2Vyb3VzbHkgZGVlcAogICogYW5kIHJpc2tzIGNvcmluZyB0aGUgaW50ZXJwcmV0ZXIuICBXaGVuIHRoZSBvYmplY3Qgc3RhY2sgZ2V0cyB0aGlzIGRlZXAsCkBAIC0yMSw3ICsyMCw3IEBACiAgKiBPbiBXaW5kb3dzIGRlYnVnIGJ1aWxkcywgcmVkdWNlIHRoaXMgdmFsdWUuCiAgKi8KICNpZiBkZWZpbmVkKE1TX1dJTkRPV1MpICYmIGRlZmluZWQoX0RFQlVHKQotI2RlZmluZSBNQVhfTUFSU0hBTF9TVEFDS19ERVBUSCAxNTAwCisjZGVmaW5lIE1BWF9NQVJTSEFMX1NUQUNLX0RFUFRIIDEwMDAKICNlbHNlCiAjZGVmaW5lIE1BWF9NQVJTSEFMX1NUQUNLX0RFUFRIIDIwMDAKICNlbmRpZgpAQCAtNjYsNTQgKzY1LDgzIEBACiAgICAgRklMRSAqZnA7CiAgICAgaW50IGVycm9yOyAgLyogc2VlIFdGRVJSXyogdmFsdWVzICovCiAgICAgaW50IGRlcHRoOwotICAgIC8qIElmIGZwID09IE5VTEwsIHRoZSBmb2xsb3dpbmcgYXJlIHZhbGlkOiAqLwotICAgIFB5T2JqZWN0ICpyZWFkYWJsZTsgICAgLyogU3RyZWFtLWxpa2Ugb2JqZWN0IGJlaW5nIHJlYWQgZnJvbSAqLwogICAgIFB5T2JqZWN0ICpzdHI7Ci0gICAgUHlPYmplY3QgKmN1cnJlbnRfZmlsZW5hbWU7CiAgICAgY2hhciAqcHRyOwogICAgIGNoYXIgKmVuZDsKICAgICBjaGFyICpidWY7Ci0gICAgUHlfc3NpemVfdCBidWZfc2l6ZTsKLSAgICBQeU9iamVjdCAqcmVmczsgLyogZGljdCBvbiBtYXJzaGFsLCBsaXN0IG9uIHVubWFyc2hhbCAqLworICAgIF9QeV9oYXNodGFibGVfdCAqaGFzaHRhYmxlOwogICAgIGludCB2ZXJzaW9uOwogfSBXRklMRTsKIAotI2RlZmluZSB3X2J5dGUoYywgcCkgaWYgKCgocCktPmZwKSkgcHV0YygoYyksIChwKS0+ZnApOyBcCi0gICAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAoKHApLT5wdHIgIT0gKHApLT5lbmQpICoocCktPnB0cisrID0gKGMpOyBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIHdfbW9yZSgoYyksIHApCisjZGVmaW5lIHdfYnl0ZShjLCBwKSBkbyB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgaWYgKChwKS0+cHRyICE9IChwKS0+ZW5kIHx8IHdfcmVzZXJ2ZSgocCksIDEpKSAgXAorICAgICAgICAgICAgKihwKS0+cHRyKysgPSAoYyk7ICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgfSB3aGlsZSgwKQogCiBzdGF0aWMgdm9pZAotd19tb3JlKGNoYXIgYywgV0ZJTEUgKnApCit3X2ZsdXNoKFdGSUxFICpwKQogewotICAgIFB5X3NzaXplX3Qgc2l6ZSwgbmV3c2l6ZTsKLSAgICBpZiAocC0+c3RyID09IE5VTEwpCi0gICAgICAgIHJldHVybjsgLyogQW4gZXJyb3IgYWxyZWFkeSBvY2N1cnJlZCAqLwotICAgIHNpemUgPSBQeUJ5dGVzX1NpemUocC0+c3RyKTsKLSAgICBuZXdzaXplID0gc2l6ZSArIHNpemUgKyAxMDI0OwotICAgIGlmIChuZXdzaXplID4gMzIqMTAyNCoxMDI0KSB7Ci0gICAgICAgIG5ld3NpemUgPSBzaXplICsgKHNpemUgPj4gMyk7ICAgICAgICAgICAvKiAxMi41JSBvdmVyYWxsb2NhdGlvbiAqLworICAgIGFzc2VydChwLT5mcCAhPSBOVUxMKTsKKyAgICBmd3JpdGUocC0+YnVmLCAxLCBwLT5wdHIgLSBwLT5idWYsIHAtPmZwKTsKKyAgICBwLT5wdHIgPSBwLT5idWY7Cit9CisKK3N0YXRpYyBpbnQKK3dfcmVzZXJ2ZShXRklMRSAqcCwgUHlfc3NpemVfdCBuZWVkZWQpCit7CisgICAgUHlfc3NpemVfdCBwb3MsIHNpemUsIGRlbHRhOworICAgIGlmIChwLT5wdHIgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIDA7IC8qIEFuIGVycm9yIGFscmVhZHkgb2NjdXJyZWQgKi8KKyAgICBpZiAocC0+ZnAgIT0gTlVMTCkgeworICAgICAgICB3X2ZsdXNoKHApOworICAgICAgICByZXR1cm4gbmVlZGVkIDw9IHAtPmVuZCAtIHAtPnB0cjsKICAgICB9Ci0gICAgaWYgKF9QeUJ5dGVzX1Jlc2l6ZSgmcC0+c3RyLCBuZXdzaXplKSAhPSAwKSB7Ci0gICAgICAgIHAtPnB0ciA9IHAtPmVuZCA9IE5VTEw7CisgICAgYXNzZXJ0KHAtPnN0ciAhPSBOVUxMKTsKKyAgICBwb3MgPSBwLT5wdHIgLSBwLT5idWY7CisgICAgc2l6ZSA9IFB5Qnl0ZXNfU2l6ZShwLT5zdHIpOworICAgIGlmIChzaXplID4gMTYqMTAyNCoxMDI0KQorICAgICAgICBkZWx0YSA9IChzaXplID4+IDMpOyAgICAgICAgICAgIC8qIDEyLjUlIG92ZXJhbGxvY2F0aW9uICovCisgICAgZWxzZQorICAgICAgICBkZWx0YSA9IHNpemUgKyAxMDI0OworICAgIGRlbHRhID0gUHlfTUFYKGRlbHRhLCBuZWVkZWQpOworICAgIGlmIChkZWx0YSA+IFBZX1NTSVpFX1RfTUFYIC0gc2l6ZSkgeworICAgICAgICBwLT5lcnJvciA9IFdGRVJSX05PTUVNT1JZOworICAgICAgICByZXR1cm4gMDsKKyAgICB9CisgICAgc2l6ZSArPSBkZWx0YTsKKyAgICBpZiAoX1B5Qnl0ZXNfUmVzaXplKCZwLT5zdHIsIHNpemUpICE9IDApIHsKKyAgICAgICAgcC0+cHRyID0gcC0+YnVmID0gcC0+ZW5kID0gTlVMTDsKKyAgICAgICAgcmV0dXJuIDA7CiAgICAgfQogICAgIGVsc2UgewotICAgICAgICBwLT5wdHIgPSBQeUJ5dGVzX0FTX1NUUklORygoUHlCeXRlc09iamVjdCAqKXAtPnN0cikgKyBzaXplOwotICAgICAgICBwLT5lbmQgPQotICAgICAgICAgICAgUHlCeXRlc19BU19TVFJJTkcoKFB5Qnl0ZXNPYmplY3QgKilwLT5zdHIpICsgbmV3c2l6ZTsKLSAgICAgICAgKnAtPnB0cisrID0gYzsKKyAgICAgICAgcC0+YnVmID0gUHlCeXRlc19BU19TVFJJTkcocC0+c3RyKTsKKyAgICAgICAgcC0+cHRyID0gcC0+YnVmICsgcG9zOworICAgICAgICBwLT5lbmQgPSBwLT5idWYgKyBzaXplOworICAgICAgICByZXR1cm4gMTsKICAgICB9CiB9CiAKIHN0YXRpYyB2b2lkCiB3X3N0cmluZyhjb25zdCBjaGFyICpzLCBQeV9zc2l6ZV90IG4sIFdGSUxFICpwKQogeworICAgIFB5X3NzaXplX3QgbTsKKyAgICBpZiAoIW4gfHwgcC0+cHRyID09IE5VTEwpCisgICAgICAgIHJldHVybjsKKyAgICBtID0gcC0+ZW5kIC0gcC0+cHRyOwogICAgIGlmIChwLT5mcCAhPSBOVUxMKSB7Ci0gICAgICAgIGZ3cml0ZShzLCAxLCBuLCBwLT5mcCk7CisgICAgICAgIGlmIChuIDw9IG0pIHsKKyAgICAgICAgICAgIFB5X01FTUNQWShwLT5wdHIsIHMsIG4pOworICAgICAgICAgICAgcC0+cHRyICs9IG47CisgICAgICAgIH0KKyAgICAgICAgZWxzZSB7CisgICAgICAgICAgICB3X2ZsdXNoKHApOworICAgICAgICAgICAgZndyaXRlKHMsIDEsIG4sIHAtPmZwKTsKKyAgICAgICAgfQogICAgIH0KICAgICBlbHNlIHsKLSAgICAgICAgd2hpbGUgKC0tbiA+PSAwKSB7Ci0gICAgICAgICAgICB3X2J5dGUoKnMsIHApOwotICAgICAgICAgICAgcysrOworICAgICAgICBpZiAobiA8PSBtIHx8IHdfcmVzZXJ2ZShwLCBuIC0gbSkpIHsKKyAgICAgICAgICAgIFB5X01FTUNQWShwLT5wdHIsIHMsIG4pOworICAgICAgICAgICAgcC0+cHRyICs9IG47CiAgICAgICAgIH0KICAgICB9CiB9CkBAIC0xOTIsNyArMjIwLDcgQEAKICAgICB9CiAKICAgICAvKiBzZXQgbCB0byBudW1iZXIgb2YgYmFzZSBQeUxvbmdfTUFSU0hBTF9CQVNFIGRpZ2l0cyAqLwotICAgIG4gPSBBQlMoUHlfU0laRShvYikpOworICAgIG4gPSBQeV9BQlMoUHlfU0laRShvYikpOwogICAgIGwgPSAobi0xKSAqIFB5TG9uZ19NQVJTSEFMX1JBVElPOwogICAgIGQgPSBvYi0+b2JfZGlnaXRbbi0xXTsKICAgICBhc3NlcnQoZCAhPSAwKTsgLyogYSBQeUxvbmcgaXMgYWx3YXlzIG5vcm1hbGl6ZWQgKi8KQEAgLTIyNSw0NiArMjUzLDM4IEBACiBzdGF0aWMgaW50CiB3X3JlZihQeU9iamVjdCAqdiwgY2hhciAqZmxhZywgV0ZJTEUgKnApCiB7Ci0gICAgUHlPYmplY3QgKmlkOwotICAgIFB5T2JqZWN0ICppZHg7CisgICAgX1B5X2hhc2h0YWJsZV9lbnRyeV90ICplbnRyeTsKKyAgICBpbnQgdzsKIAotICAgIGlmIChwLT52ZXJzaW9uIDwgMyB8fCBwLT5yZWZzID09IE5VTEwpCisgICAgaWYgKHAtPnZlcnNpb24gPCAzIHx8IHAtPmhhc2h0YWJsZSA9PSBOVUxMKQogICAgICAgICByZXR1cm4gMDsgLyogbm90IHdyaXRpbmcgb2JqZWN0IHJlZmVyZW5jZXMgKi8KIAogICAgIC8qIGlmIGl0IGhhcyBvbmx5IG9uZSByZWZlcmVuY2UsIGl0IGRlZmluaXRlbHkgaXNuJ3Qgc2hhcmVkICovCiAgICAgaWYgKFB5X1JFRkNOVCh2KSA9PSAxKQogICAgICAgICByZXR1cm4gMDsKIAotICAgIGlkID0gUHlMb25nX0Zyb21Wb2lkUHRyKCh2b2lkKil2KTsKLSAgICBpZiAoaWQgPT0gTlVMTCkKLSAgICAgICAgZ290byBlcnI7Ci0gICAgaWR4ID0gUHlEaWN0X0dldEl0ZW0ocC0+cmVmcywgaWQpOwotICAgIGlmIChpZHggIT0gTlVMTCkgeworICAgIGVudHJ5ID0gX1B5X2hhc2h0YWJsZV9nZXRfZW50cnkocC0+aGFzaHRhYmxlLCB2KTsKKyAgICBpZiAoZW50cnkgIT0gTlVMTCkgewogICAgICAgICAvKiB3cml0ZSB0aGUgcmVmZXJlbmNlIGluZGV4IHRvIHRoZSBzdHJlYW0gKi8KLSAgICAgICAgbG9uZyB3ID0gUHlMb25nX0FzTG9uZyhpZHgpOwotICAgICAgICBQeV9ERUNSRUYoaWQpOwotICAgICAgICBpZiAodyA9PSAtMSAmJiBQeUVycl9PY2N1cnJlZCgpKSB7Ci0gICAgICAgICAgICBnb3RvIGVycjsKLSAgICAgICAgfQorICAgICAgICBfUHlfSEFTSFRBQkxFX0VOVFJZX1JFQURfREFUQShwLT5oYXNodGFibGUsICZ3LCBzaXplb2YodyksIGVudHJ5KTsKICAgICAgICAgLyogd2UgZG9uJ3Qgc3RvcmUgImxvbmciIGluZGljZXMgaW4gdGhlIGRpY3QgKi8KICAgICAgICAgYXNzZXJ0KDAgPD0gdyAmJiB3IDw9IDB4N2ZmZmZmZmYpOwogICAgICAgICB3X2J5dGUoVFlQRV9SRUYsIHApOwogICAgICAgICB3X2xvbmcodywgcCk7CiAgICAgICAgIHJldHVybiAxOwogICAgIH0gZWxzZSB7Ci0gICAgICAgIGludCBvazsKLSAgICAgICAgUHlfc3NpemVfdCBzID0gUHlEaWN0X1NpemUocC0+cmVmcyk7CisgICAgICAgIHNpemVfdCBzID0gcC0+aGFzaHRhYmxlLT5lbnRyaWVzOwogICAgICAgICAvKiB3ZSBkb24ndCBzdXBwb3J0IGxvbmcgaW5kaWNlcyAqLwogICAgICAgICBpZiAocyA+PSAweDdmZmZmZmZmKSB7CiAgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVmFsdWVFcnJvciwgInRvbyBtYW55IG9iamVjdHMiKTsKICAgICAgICAgICAgIGdvdG8gZXJyOwogICAgICAgICB9Ci0gICAgICAgIGlkeCA9IFB5TG9uZ19Gcm9tU3NpemVfdChzKTsKLSAgICAgICAgb2sgPSBpZHggJiYgUHlEaWN0X1NldEl0ZW0ocC0+cmVmcywgaWQsIGlkeCkgPT0gMDsKLSAgICAgICAgUHlfREVDUkVGKGlkKTsKLSAgICAgICAgUHlfWERFQ1JFRihpZHgpOwotICAgICAgICBpZiAoIW9rKQorICAgICAgICB3ID0gKGludClzOworICAgICAgICBQeV9JTkNSRUYodik7CisgICAgICAgIGlmIChfUHlfSEFTSFRBQkxFX1NFVChwLT5oYXNodGFibGUsIHYsIHcpIDwgMCkgeworICAgICAgICAgICAgUHlfREVDUkVGKHYpOwogICAgICAgICAgICAgZ290byBlcnI7CisgICAgICAgIH0KICAgICAgICAgKmZsYWcgfD0gRkxBR19SRUY7CiAgICAgICAgIHJldHVybiAwOwogICAgIH0KQEAgLTU0NywzNyArNTY3LDgxIEBACiAgICAgfQogfQogCitzdGF0aWMgaW50Cit3X2luaXRfcmVmcyhXRklMRSAqd2YsIGludCB2ZXJzaW9uKQoreworICAgIGlmICh2ZXJzaW9uID49IDMpIHsKKyAgICAgICAgd2YtPmhhc2h0YWJsZSA9IF9QeV9oYXNodGFibGVfbmV3KHNpemVvZihpbnQpLCBfUHlfaGFzaHRhYmxlX2hhc2hfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX1B5X2hhc2h0YWJsZV9jb21wYXJlX2RpcmVjdCk7CisgICAgICAgIGlmICh3Zi0+aGFzaHRhYmxlID09IE5VTEwpIHsKKyAgICAgICAgICAgIFB5RXJyX05vTWVtb3J5KCk7CisgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgIH0KKyAgICB9CisgICAgcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQKK3dfZGVjcmVmX2VudHJ5KF9QeV9oYXNodGFibGVfZW50cnlfdCAqZW50cnksIHZvaWQgKlB5X1VOVVNFRChkYXRhKSkKK3sKKyAgICBQeV9YREVDUkVGKGVudHJ5LT5rZXkpOworICAgIHJldHVybiAwOworfQorCitzdGF0aWMgdm9pZAord19jbGVhcl9yZWZzKFdGSUxFICp3ZikKK3sKKyAgICBpZiAod2YtPmhhc2h0YWJsZSAhPSBOVUxMKSB7CisgICAgICAgIF9QeV9oYXNodGFibGVfZm9yZWFjaCh3Zi0+aGFzaHRhYmxlLCB3X2RlY3JlZl9lbnRyeSwgTlVMTCk7CisgICAgICAgIF9QeV9oYXNodGFibGVfZGVzdHJveSh3Zi0+aGFzaHRhYmxlKTsKKyAgICB9Cit9CisKIC8qIHZlcnNpb24gY3VycmVudGx5IGhhcyBubyBlZmZlY3QgZm9yIHdyaXRpbmcgaW50cy4gKi8KIHZvaWQKIFB5TWFyc2hhbF9Xcml0ZUxvbmdUb0ZpbGUobG9uZyB4LCBGSUxFICpmcCwgaW50IHZlcnNpb24pCiB7CisgICAgY2hhciBidWZbNF07CiAgICAgV0ZJTEUgd2Y7CisgICAgbWVtc2V0KCZ3ZiwgMCwgc2l6ZW9mKHdmKSk7CiAgICAgd2YuZnAgPSBmcDsKKyAgICB3Zi5wdHIgPSB3Zi5idWYgPSBidWY7CisgICAgd2YuZW5kID0gd2YucHRyICsgc2l6ZW9mKGJ1Zik7CiAgICAgd2YuZXJyb3IgPSBXRkVSUl9PSzsKLSAgICB3Zi5kZXB0aCA9IDA7Ci0gICAgd2YucmVmcyA9IE5VTEw7CiAgICAgd2YudmVyc2lvbiA9IHZlcnNpb247CiAgICAgd19sb25nKHgsICZ3Zik7CisgICAgd19mbHVzaCgmd2YpOwogfQogCiB2b2lkCiBQeU1hcnNoYWxfV3JpdGVPYmplY3RUb0ZpbGUoUHlPYmplY3QgKngsIEZJTEUgKmZwLCBpbnQgdmVyc2lvbikKIHsKKyAgICBjaGFyIGJ1ZltCVUZTSVpdOwogICAgIFdGSUxFIHdmOworICAgIG1lbXNldCgmd2YsIDAsIHNpemVvZih3ZikpOwogICAgIHdmLmZwID0gZnA7CisgICAgd2YucHRyID0gd2YuYnVmID0gYnVmOworICAgIHdmLmVuZCA9IHdmLnB0ciArIHNpemVvZihidWYpOwogICAgIHdmLmVycm9yID0gV0ZFUlJfT0s7Ci0gICAgd2YuZGVwdGggPSAwOwotICAgIGlmICh2ZXJzaW9uID49IDMpIHsKLSAgICAgICAgaWYgKCh3Zi5yZWZzID0gUHlEaWN0X05ldygpKSA9PSBOVUxMKQotICAgICAgICAgICAgcmV0dXJuOyAvKiBjYWxsZXIgbXVzaCBjaGVjayBQeUVycl9PY2N1cnJlZCgpICovCi0gICAgfSBlbHNlCi0gICAgICAgIHdmLnJlZnMgPSBOVUxMOwogICAgIHdmLnZlcnNpb24gPSB2ZXJzaW9uOworICAgIGlmICh3X2luaXRfcmVmcygmd2YsIHZlcnNpb24pKQorICAgICAgICByZXR1cm47IC8qIGNhbGxlciBtdXNoIGNoZWNrIFB5RXJyX09jY3VycmVkKCkgKi8KICAgICB3X29iamVjdCh4LCAmd2YpOwotICAgIFB5X1hERUNSRUYod2YucmVmcyk7CisgICAgd19jbGVhcl9yZWZzKCZ3Zik7CisgICAgd19mbHVzaCgmd2YpOwogfQogCi10eXBlZGVmIFdGSUxFIFJGSUxFOyAvKiBTYW1lIHN0cnVjdCB3aXRoIGRpZmZlcmVudCBpbnZhcmlhbnRzICovCit0eXBlZGVmIHN0cnVjdCB7CisgICAgRklMRSAqZnA7CisgICAgaW50IGRlcHRoOworICAgIFB5T2JqZWN0ICpyZWFkYWJsZTsgIC8qIFN0cmVhbS1saWtlIG9iamVjdCBiZWluZyByZWFkIGZyb20gKi8KKyAgICBQeU9iamVjdCAqY3VycmVudF9maWxlbmFtZTsKKyAgICBjaGFyICpwdHI7CisgICAgY2hhciAqZW5kOworICAgIGNoYXIgKmJ1ZjsKKyAgICBQeV9zc2l6ZV90IGJ1Zl9zaXplOworICAgIFB5T2JqZWN0ICpyZWZzOyAgLyogYSBsaXN0ICovCit9IFJGSUxFOwogCiBzdGF0aWMgY2hhciAqCiByX3N0cmluZyhQeV9zc2l6ZV90IG4sIFJGSUxFICpwKQpAQCAtNzI3LDggKzc5MSw4IEBACiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KIAotICAgIHNpemUgPSAxICsgKEFCUyhuKSAtIDEpIC8gUHlMb25nX01BUlNIQUxfUkFUSU87Ci0gICAgc2hvcnRzX2luX3RvcF9kaWdpdCA9IDEgKyAoQUJTKG4pIC0gMSkgJSBQeUxvbmdfTUFSU0hBTF9SQVRJTzsKKyAgICBzaXplID0gMSArIChQeV9BQlMobikgLSAxKSAvIFB5TG9uZ19NQVJTSEFMX1JBVElPOworICAgIHNob3J0c19pbl90b3BfZGlnaXQgPSAxICsgKFB5X0FCUyhuKSAtIDEpICUgUHlMb25nX01BUlNIQUxfUkFUSU87CiAgICAgb2IgPSBfUHlMb25nX05ldyhzaXplKTsKICAgICBpZiAob2IgPT0gTlVMTCkKICAgICAgICAgcmV0dXJuIE5VTEw7CkBAIC0xNTExLDI1ICsxNTc1LDIwIEBACiB7CiAgICAgV0ZJTEUgd2Y7CiAKLSAgICB3Zi5mcCA9IE5VTEw7Ci0gICAgd2YucmVhZGFibGUgPSBOVUxMOworICAgIG1lbXNldCgmd2YsIDAsIHNpemVvZih3ZikpOwogICAgIHdmLnN0ciA9IFB5Qnl0ZXNfRnJvbVN0cmluZ0FuZFNpemUoKGNoYXIgKilOVUxMLCA1MCk7CiAgICAgaWYgKHdmLnN0ciA9PSBOVUxMKQogICAgICAgICByZXR1cm4gTlVMTDsKLSAgICB3Zi5wdHIgPSBQeUJ5dGVzX0FTX1NUUklORygoUHlCeXRlc09iamVjdCAqKXdmLnN0cik7CisgICAgd2YucHRyID0gd2YuYnVmID0gUHlCeXRlc19BU19TVFJJTkcoKFB5Qnl0ZXNPYmplY3QgKil3Zi5zdHIpOwogICAgIHdmLmVuZCA9IHdmLnB0ciArIFB5Qnl0ZXNfU2l6ZSh3Zi5zdHIpOwogICAgIHdmLmVycm9yID0gV0ZFUlJfT0s7Ci0gICAgd2YuZGVwdGggPSAwOwogICAgIHdmLnZlcnNpb24gPSB2ZXJzaW9uOwotICAgIGlmICh2ZXJzaW9uID49IDMpIHsKLSAgICAgICAgaWYgKCh3Zi5yZWZzID0gUHlEaWN0X05ldygpKSA9PSBOVUxMKSB7Ci0gICAgICAgICAgICBQeV9ERUNSRUYod2Yuc3RyKTsKLSAgICAgICAgICAgIHJldHVybiBOVUxMOwotICAgICAgICB9Ci0gICAgfSBlbHNlCi0gICAgICAgIHdmLnJlZnMgPSBOVUxMOworICAgIGlmICh3X2luaXRfcmVmcygmd2YsIHZlcnNpb24pKSB7CisgICAgICAgIFB5X0RFQ1JFRih3Zi5zdHIpOworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CiAgICAgd19vYmplY3QoeCwgJndmKTsKLSAgICBQeV9YREVDUkVGKHdmLnJlZnMpOworICAgIHdfY2xlYXJfcmVmcygmd2YpOwogICAgIGlmICh3Zi5zdHIgIT0gTlVMTCkgewogICAgICAgICBjaGFyICpiYXNlID0gUHlCeXRlc19BU19TVFJJTkcoKFB5Qnl0ZXNPYmplY3QgKil3Zi5zdHIpOwogICAgICAgICBpZiAod2YucHRyIC0gYmFzZSA+IFBZX1NTSVpFX1RfTUFYKSB7CmRpZmYgLS1naXQgYS9QeXRob24vb3Bjb2RlX3RhcmdldHMuaCBiL1B5dGhvbi9vcGNvZGVfdGFyZ2V0cy5oCmluZGV4IGY5MGExN2EuLjE1NTNhN2EgMTAwNjQ0Ci0tLSBhL1B5dGhvbi9vcGNvZGVfdGFyZ2V0cy5oCisrKyBiL1B5dGhvbi9vcGNvZGVfdGFyZ2V0cy5oCkBAIC0xNSw4ICsxNSw4IEBACiAgICAgJiZfdW5rbm93bl9vcGNvZGUsCiAgICAgJiZfdW5rbm93bl9vcGNvZGUsCiAgICAgJiZUQVJHRVRfVU5BUllfSU5WRVJULAotICAgICYmX3Vua25vd25fb3Bjb2RlLAotICAgICYmX3Vua25vd25fb3Bjb2RlLAorICAgICYmVEFSR0VUX0JJTkFSWV9NQVRSSVhfTVVMVElQTFksCisgICAgJiZUQVJHRVRfSU5QTEFDRV9NQVRSSVhfTVVMVElQTFksCiAgICAgJiZfdW5rbm93bl9vcGNvZGUsCiAgICAgJiZUQVJHRVRfQklOQVJZX1BPV0VSLAogICAgICYmVEFSR0VUX0JJTkFSWV9NVUxUSVBMWSwKZGlmZiAtLWdpdCBhL1B5dGhvbi9wZWVwaG9sZS5jIGIvUHl0aG9uL3BlZXBob2xlLmMKaW5kZXggYzU2YzhmYy4uMmY4ZjBlNSAxMDA2NDQKLS0tIGEvUHl0aG9uL3BlZXBob2xlLmMKKysrIGIvUHl0aG9uL3BlZXBob2xlLmMKQEAgLTE4LDcgKzE4LDExIEBACiAgICAgfHwgb3A9PUpVTVBfSUZfRkFMU0VfT1JfUE9QIHx8IG9wPT1KVU1QX0lGX1RSVUVfT1JfUE9QKQogI2RlZmluZSBKVU1QU19PTl9UUlVFKG9wKSAob3A9PVBPUF9KVU1QX0lGX1RSVUUgfHwgb3A9PUpVTVBfSUZfVFJVRV9PUl9QT1ApCiAjZGVmaW5lIEdFVEpVTVBUR1QoYXJyLCBpKSAoR0VUQVJHKGFycixpKSArIChBQlNPTFVURV9KVU1QKGFycltpXSkgPyAwIDogaSszKSkKLSNkZWZpbmUgU0VUQVJHKGFyciwgaSwgdmFsKSBhcnJbaSsyXSA9IHZhbD4+ODsgYXJyW2krMV0gPSB2YWwgJiAyNTUKKyNkZWZpbmUgU0VUQVJHKGFyciwgaSwgdmFsKSBkbyB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBhc3NlcnQoMCA8PSB2YWwgJiYgdmFsIDw9IDB4ZmZmZik7ICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBhcnJbaSsyXSA9ICh1bnNpZ25lZCBjaGFyKSgoKHVuc2lnbmVkIGludCl2YWwpPj44KTsgICAgIFwKKyAgICBhcnJbaSsxXSA9ICh1bnNpZ25lZCBjaGFyKSgoKHVuc2lnbmVkIGludCl2YWwpICYgMjU1KTsgIFwKK30gd2hpbGUoMCkKICNkZWZpbmUgQ09ERVNJWkUob3ApICAoSEFTX0FSRyhvcCkgPyAzIDogMSkKICNkZWZpbmUgSVNCQVNJQ0JMT0NLKGJsb2Nrcywgc3RhcnQsIGJ5dGVzKSBcCiAgICAgKGJsb2Nrc1tzdGFydF09PWJsb2Nrc1tzdGFydCtieXRlcy0xXSkKQEAgLTM1NSw3ICszNTksOCBAQAogICAgIHVuc2lnbmVkIGNoYXIgKmNvZGVzdHIgPSBOVUxMOwogICAgIHVuc2lnbmVkIGNoYXIgKmxpbmVubzsKICAgICBpbnQgKmFkZHJtYXAgPSBOVUxMOwotICAgIGludCBuZXdfbGluZSwgY3VtX29yaWdfbGluZSwgbGFzdF9saW5lLCB0YWJzaXo7CisgICAgaW50IG5ld19saW5lLCBjdW1fb3JpZ19saW5lLCBsYXN0X2xpbmU7CisgICAgUHlfc3NpemVfdCB0YWJzaXo7CiAgICAgUHlPYmplY3QgKipjb25zdF9zdGFjayA9IE5VTEw7CiAgICAgUHlfc3NpemVfdCAqbG9hZF9jb25zdF9zdGFjayA9IE5VTEw7CiAgICAgUHlfc3NpemVfdCBjb25zdF9zdGFja190b3AgPSAtMTsKQEAgLTY2MCw3ICs2NjUsOCBAQAogCiAgICAgLyogRml4dXAgbGluZW5vdGFiICovCiAgICAgZm9yIChpPTAsIG5vcHM9MCA7IGk8Y29kZWxlbiA7IGkgKz0gQ09ERVNJWkUoY29kZXN0cltpXSkpIHsKLSAgICAgICAgYWRkcm1hcFtpXSA9IGkgLSBub3BzOworICAgICAgICBhc3NlcnQoaSAtIG5vcHMgPD0gSU5UX01BWCk7CisgICAgICAgIGFkZHJtYXBbaV0gPSAoaW50KShpIC0gbm9wcyk7CiAgICAgICAgIGlmIChjb2Rlc3RyW2ldID09IE5PUCkKICAgICAgICAgICAgIG5vcHMrKzsKICAgICB9CmRpZmYgLS1naXQgYS9QeXRob24vcHlsaWZlY3ljbGUuYyBiL1B5dGhvbi9weWxpZmVjeWNsZS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJhMzZiNTMKLS0tIC9kZXYvbnVsbAorKysgYi9QeXRob24vcHlsaWZlY3ljbGUuYwpAQCAtMCwwICsxLDE1MDIgQEAKKworLyogUHl0aG9uIGludGVycHJldGVyIHRvcC1sZXZlbCByb3V0aW5lcywgaW5jbHVkaW5nIGluaXQvZXhpdCAqLworCisjaW5jbHVkZSAiUHl0aG9uLmgiCisKKyNpbmNsdWRlICJQeXRob24tYXN0LmgiCisjdW5kZWYgWWllbGQgLyogdW5kZWZpbmUgbWFjcm8gY29uZmxpY3Rpbmcgd2l0aCB3aW5iYXNlLmggKi8KKyNpbmNsdWRlICJncmFtbWFyLmgiCisjaW5jbHVkZSAibm9kZS5oIgorI2luY2x1ZGUgInRva2VuLmgiCisjaW5jbHVkZSAicGFyc2V0b2suaCIKKyNpbmNsdWRlICJlcnJjb2RlLmgiCisjaW5jbHVkZSAiY29kZS5oIgorI2luY2x1ZGUgInN5bXRhYmxlLmgiCisjaW5jbHVkZSAiYXN0LmgiCisjaW5jbHVkZSAibWFyc2hhbC5oIgorI2luY2x1ZGUgIm9zZGVmcy5oIgorI2luY2x1ZGUgPGxvY2FsZS5oPgorCisjaWZkZWYgSEFWRV9TSUdOQUxfSAorI2luY2x1ZGUgPHNpZ25hbC5oPgorI2VuZGlmCisKKyNpZmRlZiBNU19XSU5ET1dTCisjaW5jbHVkZSAibWFsbG9jLmgiIC8qIGZvciBhbGxvY2EgKi8KKyNlbmRpZgorCisjaWZkZWYgSEFWRV9MQU5HSU5GT19ICisjaW5jbHVkZSA8bGFuZ2luZm8uaD4KKyNlbmRpZgorCisjaWZkZWYgTVNfV0lORE9XUworI3VuZGVmIEJZVEUKKyNpbmNsdWRlICJ3aW5kb3dzLmgiCisjZW5kaWYKKworX1B5X0lERU5USUZJRVIoZmx1c2gpOworX1B5X0lERU5USUZJRVIobmFtZSk7CitfUHlfSURFTlRJRklFUihzdGRpbik7CitfUHlfSURFTlRJRklFUihzdGRvdXQpOworX1B5X0lERU5USUZJRVIoc3RkZXJyKTsKKworI2lmZGVmIF9fY3BsdXNwbHVzCitleHRlcm4gIkMiIHsKKyNlbmRpZgorCitleHRlcm4gd2NoYXJfdCAqUHlfR2V0UGF0aCh2b2lkKTsKKworZXh0ZXJuIGdyYW1tYXIgX1B5UGFyc2VyX0dyYW1tYXI7IC8qIEZyb20gZ3JhbWluaXQuYyAqLworCisvKiBGb3J3YXJkICovCitzdGF0aWMgdm9pZCBpbml0bWFpbihQeUludGVycHJldGVyU3RhdGUgKmludGVycCk7CitzdGF0aWMgaW50IGluaXRmc2VuY29kaW5nKFB5SW50ZXJwcmV0ZXJTdGF0ZSAqaW50ZXJwKTsKK3N0YXRpYyB2b2lkIGluaXRzaXRlKHZvaWQpOworc3RhdGljIGludCBpbml0c3RkaW8odm9pZCk7CitzdGF0aWMgdm9pZCBpbml0c2lncyh2b2lkKTsKK3N0YXRpYyB2b2lkIGNhbGxfcHlfZXhpdGZ1bmNzKHZvaWQpOworc3RhdGljIHZvaWQgd2FpdF9mb3JfdGhyZWFkX3NodXRkb3duKHZvaWQpOworc3RhdGljIHZvaWQgY2FsbF9sbF9leGl0ZnVuY3Modm9pZCk7CitleHRlcm4gaW50IF9QeVVuaWNvZGVfSW5pdCh2b2lkKTsKK2V4dGVybiBpbnQgX1B5U3RydWN0U2VxdWVuY2VfSW5pdCh2b2lkKTsKK2V4dGVybiB2b2lkIF9QeVVuaWNvZGVfRmluaSh2b2lkKTsKK2V4dGVybiBpbnQgX1B5TG9uZ19Jbml0KHZvaWQpOworZXh0ZXJuIHZvaWQgUHlMb25nX0Zpbmkodm9pZCk7CitleHRlcm4gaW50IF9QeUZhdWx0aGFuZGxlcl9Jbml0KHZvaWQpOworZXh0ZXJuIHZvaWQgX1B5RmF1bHRoYW5kbGVyX0Zpbmkodm9pZCk7CitleHRlcm4gdm9pZCBfUHlIYXNoX0Zpbmkodm9pZCk7CitleHRlcm4gaW50IF9QeVRyYWNlTWFsbG9jX0luaXQodm9pZCk7CitleHRlcm4gaW50IF9QeVRyYWNlTWFsbG9jX0Zpbmkodm9pZCk7CisKKyNpZmRlZiBXSVRIX1RIUkVBRAorZXh0ZXJuIHZvaWQgX1B5R0lMU3RhdGVfSW5pdChQeUludGVycHJldGVyU3RhdGUgKiwgUHlUaHJlYWRTdGF0ZSAqKTsKK2V4dGVybiB2b2lkIF9QeUdJTFN0YXRlX0Zpbmkodm9pZCk7CisjZW5kaWYgLyogV0lUSF9USFJFQUQgKi8KKworLyogR2xvYmFsIGNvbmZpZ3VyYXRpb24gdmFyaWFibGUgZGVjbGFyYXRpb25zIGFyZSBpbiBweWRlYnVnLmggKi8KKy8qIFhYWCAobmNvZ2hsYW4pOiBtb3ZlIHRob3NlIGRlY2xhcmF0aW9ucyB0byBweWxpZmVjeWNsZS5oPyAqLworaW50IFB5X0RlYnVnRmxhZzsgLyogTmVlZGVkIGJ5IHBhcnNlci5jICovCitpbnQgUHlfVmVyYm9zZUZsYWc7IC8qIE5lZWRlZCBieSBpbXBvcnQuYyAqLworaW50IFB5X1F1aWV0RmxhZzsgLyogTmVlZGVkIGJ5IHN5c21vZHVsZS5jICovCitpbnQgUHlfSW50ZXJhY3RpdmVGbGFnOyAvKiBOZWVkZWQgYnkgUHlfRmRJc0ludGVyYWN0aXZlKCkgYmVsb3cgKi8KK2ludCBQeV9JbnNwZWN0RmxhZzsgLyogTmVlZGVkIHRvIGRldGVybWluZSB3aGV0aGVyIHRvIGV4aXQgYXQgU3lzdGVtRXhpdCAqLworaW50IFB5X09wdGltaXplRmxhZyA9IDA7IC8qIE5lZWRlZCBieSBjb21waWxlLmMgKi8KK2ludCBQeV9Ob1NpdGVGbGFnOyAvKiBTdXBwcmVzcyAnaW1wb3J0IHNpdGUnICovCitpbnQgUHlfQnl0ZXNXYXJuaW5nRmxhZzsgLyogV2FybiBvbiBzdHIoYnl0ZXMpIGFuZCBzdHIoYnVmZmVyKSAqLworaW50IFB5X1VzZUNsYXNzRXhjZXB0aW9uc0ZsYWcgPSAxOyAvKiBOZWVkZWQgYnkgYmx0aW5tb2R1bGUuYzogZGVwcmVjYXRlZCAqLworaW50IFB5X0Zyb3plbkZsYWc7IC8qIE5lZWRlZCBieSBnZXRwYXRoLmMgKi8KK2ludCBQeV9JZ25vcmVFbnZpcm9ubWVudEZsYWc7IC8qIGUuZy4gUFlUSE9OUEFUSCwgUFlUSE9OSE9NRSAqLworaW50IFB5X0RvbnRXcml0ZUJ5dGVjb2RlRmxhZzsgLyogU3VwcHJlc3Mgd3JpdGluZyBieXRlY29kZSBmaWxlcyAoKi5weVtjb10pICovCitpbnQgUHlfTm9Vc2VyU2l0ZURpcmVjdG9yeSA9IDA7IC8qIGZvciAtcyBhbmQgc2l0ZS5weSAqLworaW50IFB5X1VuYnVmZmVyZWRTdGRpb0ZsYWcgPSAwOyAvKiBVbmJ1ZmZlcmVkIGJpbmFyeSBzdGR7aW4sb3V0LGVycn0gKi8KK2ludCBQeV9IYXNoUmFuZG9taXphdGlvbkZsYWcgPSAwOyAvKiBmb3IgLVIgYW5kIFBZVEhPTkhBU0hTRUVEICovCitpbnQgUHlfSXNvbGF0ZWRGbGFnID0gMDsgLyogZm9yIC1JLCBpc29sYXRlIGZyb20gdXNlcidzIGVudiAqLworCitQeVRocmVhZFN0YXRlICpfUHlfRmluYWxpemluZyA9IE5VTEw7CisKKy8qIEhhY2sgdG8gZm9yY2UgbG9hZGluZyBvZiBvYmplY3QgZmlsZXMgKi8KK2ludCAoKl9QeU9TX215c3RybmljbXBfaGFjaykoY29uc3QgY2hhciAqLCBjb25zdCBjaGFyICosIFB5X3NzaXplX3QpID0gXAorICAgIFB5T1NfbXlzdHJuaWNtcDsgLyogUHl0aG9uL3B5c3RyY21wLm8gKi8KKworLyogUHlNb2R1bGVfR2V0V2FybmluZ3NNb2R1bGUgaXMgbm8gbG9uZ2VyIG5lY2Vzc2FyeSBhcyBvZiAyLjYKK3NpbmNlIF93YXJuaW5ncyBpcyBidWlsdGluLiAgVGhpcyBBUEkgc2hvdWxkIG5vdCBiZSB1c2VkLiAqLworUHlPYmplY3QgKgorUHlNb2R1bGVfR2V0V2FybmluZ3NNb2R1bGUodm9pZCkKK3sKKyAgICByZXR1cm4gUHlJbXBvcnRfSW1wb3J0TW9kdWxlKCJ3YXJuaW5ncyIpOworfQorCitzdGF0aWMgaW50IGluaXRpYWxpemVkID0gMDsKKworLyogQVBJIHRvIGFjY2VzcyB0aGUgaW5pdGlhbGl6ZWQgZmxhZyAtLSB1c2VmdWwgZm9yIGVzb3RlcmljIHVzZSAqLworCitpbnQKK1B5X0lzSW5pdGlhbGl6ZWQodm9pZCkKK3sKKyAgICByZXR1cm4gaW5pdGlhbGl6ZWQ7Cit9CisKKy8qIEhlbHBlciB0byBhbGxvdyBhbiBlbWJlZGRpbmcgYXBwbGljYXRpb24gdG8gb3ZlcnJpZGUgdGhlIG5vcm1hbAorICogbWVjaGFuaXNtIHRoYXQgYXR0ZW1wdHMgdG8gZmlndXJlIG91dCBhbiBhcHByb3ByaWF0ZSBJTyBlbmNvZGluZworICovCisKK3N0YXRpYyBjaGFyICpfUHlfU3RhbmRhcmRTdHJlYW1FbmNvZGluZyA9IE5VTEw7CitzdGF0aWMgY2hhciAqX1B5X1N0YW5kYXJkU3RyZWFtRXJyb3JzID0gTlVMTDsKKworaW50CitQeV9TZXRTdGFuZGFyZFN0cmVhbUVuY29kaW5nKGNvbnN0IGNoYXIgKmVuY29kaW5nLCBjb25zdCBjaGFyICplcnJvcnMpCit7CisgICAgaWYgKFB5X0lzSW5pdGlhbGl6ZWQoKSkgeworICAgICAgICAvKiBUaGlzIGlzIHRvbyBsYXRlIHRvIGhhdmUgYW55IGVmZmVjdCAqLworICAgICAgICByZXR1cm4gLTE7CisgICAgfQorICAgIC8qIENhbid0IGNhbGwgUHlFcnJfTm9NZW1vcnkoKSBvbiBlcnJvcnMsIGFzIFB5dGhvbiBoYXNuJ3QgYmVlbgorICAgICAqIGluaXRpYWxpc2VkIHlldC4KKyAgICAgKgorICAgICAqIEhvd2V2ZXIsIHRoZSByYXcgbWVtb3J5IGFsbG9jYXRvcnMgYXJlIGluaXRpYWxpc2VkIGFwcHJvcHJpYXRlbHkKKyAgICAgKiBhcyBDIHN0YXRpYyB2YXJpYWJsZXMsIHNvIF9QeU1lbV9SYXdTdHJkdXAgaXMgT0sgZXZlbiB0aG91Z2gKKyAgICAgKiBQeV9Jbml0aWFsaXplIGhhc24ndCBiZWVuIGNhbGxlZCB5ZXQuCisgICAgICovCisgICAgaWYgKGVuY29kaW5nKSB7CisgICAgICAgIF9QeV9TdGFuZGFyZFN0cmVhbUVuY29kaW5nID0gX1B5TWVtX1Jhd1N0cmR1cChlbmNvZGluZyk7CisgICAgICAgIGlmICghX1B5X1N0YW5kYXJkU3RyZWFtRW5jb2RpbmcpIHsKKyAgICAgICAgICAgIHJldHVybiAtMjsKKyAgICAgICAgfQorICAgIH0KKyAgICBpZiAoZXJyb3JzKSB7CisgICAgICAgIF9QeV9TdGFuZGFyZFN0cmVhbUVycm9ycyA9IF9QeU1lbV9SYXdTdHJkdXAoZXJyb3JzKTsKKyAgICAgICAgaWYgKCFfUHlfU3RhbmRhcmRTdHJlYW1FcnJvcnMpIHsKKyAgICAgICAgICAgIGlmIChfUHlfU3RhbmRhcmRTdHJlYW1FbmNvZGluZykgeworICAgICAgICAgICAgICAgIFB5TWVtX1Jhd0ZyZWUoX1B5X1N0YW5kYXJkU3RyZWFtRW5jb2RpbmcpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgcmV0dXJuIC0zOworICAgICAgICB9CisgICAgfQorICAgIHJldHVybiAwOworfQorCisvKiBHbG9iYWwgaW5pdGlhbGl6YXRpb25zLiAgQ2FuIGJlIHVuZG9uZSBieSBQeV9GaW5hbGl6ZSgpLiAgRG9uJ3QKKyAgIGNhbGwgdGhpcyB0d2ljZSB3aXRob3V0IGFuIGludGVydmVuaW5nIFB5X0ZpbmFsaXplKCkgY2FsbC4gIFdoZW4KKyAgIGluaXRpYWxpemF0aW9ucyBmYWlsLCBhIGZhdGFsIGVycm9yIGlzIGlzc3VlZCBhbmQgdGhlIGZ1bmN0aW9uIGRvZXMKKyAgIG5vdCByZXR1cm4uICBPbiByZXR1cm4sIHRoZSBmaXJzdCB0aHJlYWQgYW5kIGludGVycHJldGVyIHN0YXRlIGhhdmUKKyAgIGJlZW4gY3JlYXRlZC4KKworICAgTG9ja2luZzogeW91IG11c3QgaG9sZCB0aGUgaW50ZXJwcmV0ZXIgbG9jayB3aGlsZSBjYWxsaW5nIHRoaXMuCisgICAoSWYgdGhlIGxvY2sgaGFzIG5vdCB5ZXQgYmVlbiBpbml0aWFsaXplZCwgdGhhdCdzIGVxdWl2YWxlbnQgdG8KKyAgIGhhdmluZyB0aGUgbG9jaywgYnV0IHlvdSBjYW5ub3QgdXNlIG11bHRpcGxlIHRocmVhZHMuKQorCisqLworCitzdGF0aWMgaW50CithZGRfZmxhZyhpbnQgZmxhZywgY29uc3QgY2hhciAqZW52cykKK3sKKyAgICBpbnQgZW52ID0gYXRvaShlbnZzKTsKKyAgICBpZiAoZmxhZyA8IGVudikKKyAgICAgICAgZmxhZyA9IGVudjsKKyAgICBpZiAoZmxhZyA8IDEpCisgICAgICAgIGZsYWcgPSAxOworICAgIHJldHVybiBmbGFnOworfQorCitzdGF0aWMgY2hhcioKK2dldF9jb2RlY19uYW1lKGNvbnN0IGNoYXIgKmVuY29kaW5nKQoreworICAgIGNoYXIgKm5hbWVfdXRmOCwgKm5hbWVfc3RyOworICAgIFB5T2JqZWN0ICpjb2RlYywgKm5hbWUgPSBOVUxMOworCisgICAgY29kZWMgPSBfUHlDb2RlY19Mb29rdXAoZW5jb2RpbmcpOworICAgIGlmICghY29kZWMpCisgICAgICAgIGdvdG8gZXJyb3I7CisKKyAgICBuYW1lID0gX1B5T2JqZWN0X0dldEF0dHJJZChjb2RlYywgJlB5SWRfbmFtZSk7CisgICAgUHlfQ0xFQVIoY29kZWMpOworICAgIGlmICghbmFtZSkKKyAgICAgICAgZ290byBlcnJvcjsKKworICAgIG5hbWVfdXRmOCA9IF9QeVVuaWNvZGVfQXNTdHJpbmcobmFtZSk7CisgICAgaWYgKG5hbWVfdXRmOCA9PSBOVUxMKQorICAgICAgICBnb3RvIGVycm9yOworICAgIG5hbWVfc3RyID0gX1B5TWVtX1Jhd1N0cmR1cChuYW1lX3V0ZjgpOworICAgIFB5X0RFQ1JFRihuYW1lKTsKKyAgICBpZiAobmFtZV9zdHIgPT0gTlVMTCkgeworICAgICAgICBQeUVycl9Ob01lbW9yeSgpOworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisgICAgcmV0dXJuIG5hbWVfc3RyOworCitlcnJvcjoKKyAgICBQeV9YREVDUkVGKGNvZGVjKTsKKyAgICBQeV9YREVDUkVGKG5hbWUpOworICAgIHJldHVybiBOVUxMOworfQorCitzdGF0aWMgY2hhcioKK2dldF9sb2NhbGVfZW5jb2Rpbmcodm9pZCkKK3sKKyNpZmRlZiBNU19XSU5ET1dTCisgICAgY2hhciBjb2RlcGFnZVsxMDBdOworICAgIFB5T1Nfc25wcmludGYoY29kZXBhZ2UsIHNpemVvZihjb2RlcGFnZSksICJjcCVkIiwgR2V0QUNQKCkpOworICAgIHJldHVybiBnZXRfY29kZWNfbmFtZShjb2RlcGFnZSk7CisjZWxpZiBkZWZpbmVkKEhBVkVfTEFOR0lORk9fSCkgJiYgZGVmaW5lZChDT0RFU0VUKQorICAgIGNoYXIqIGNvZGVzZXQgPSBubF9sYW5naW5mbyhDT0RFU0VUKTsKKyAgICBpZiAoIWNvZGVzZXQgfHwgY29kZXNldFswXSA9PSAnXDAnKSB7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLCAiQ09ERVNFVCBpcyBub3Qgc2V0IG9yIGVtcHR5Iik7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKyAgICByZXR1cm4gZ2V0X2NvZGVjX25hbWUoY29kZXNldCk7CisjZWxzZQorICAgIFB5RXJyX1NldE5vbmUoUHlFeGNfTm90SW1wbGVtZW50ZWRFcnJvcik7CisgICAgcmV0dXJuIE5VTEw7CisjZW5kaWYKK30KKworc3RhdGljIHZvaWQKK2ltcG9ydF9pbml0KFB5SW50ZXJwcmV0ZXJTdGF0ZSAqaW50ZXJwLCBQeU9iamVjdCAqc3lzbW9kKQoreworICAgIFB5T2JqZWN0ICppbXBvcnRsaWI7CisgICAgUHlPYmplY3QgKmltcG1vZDsKKyAgICBQeU9iamVjdCAqc3lzX21vZHVsZXM7CisgICAgUHlPYmplY3QgKnZhbHVlOworCisgICAgLyogSW1wb3J0IF9pbXBvcnRsaWIgdGhyb3VnaCBpdHMgZnJvemVuIHZlcnNpb24sIF9mcm96ZW5faW1wb3J0bGliLiAqLworICAgIGlmIChQeUltcG9ydF9JbXBvcnRGcm96ZW5Nb2R1bGUoIl9mcm96ZW5faW1wb3J0bGliIikgPD0gMCkgeworICAgICAgICBQeV9GYXRhbEVycm9yKCJQeV9Jbml0aWFsaXplOiBjYW4ndCBpbXBvcnQgX2Zyb3plbl9pbXBvcnRsaWIiKTsKKyAgICB9CisgICAgZWxzZSBpZiAoUHlfVmVyYm9zZUZsYWcpIHsKKyAgICAgICAgUHlTeXNfRm9ybWF0U3RkZXJyKCJpbXBvcnQgX2Zyb3plbl9pbXBvcnRsaWIgIyBmcm96ZW5cbiIpOworICAgIH0KKyAgICBpbXBvcnRsaWIgPSBQeUltcG9ydF9BZGRNb2R1bGUoIl9mcm96ZW5faW1wb3J0bGliIik7CisgICAgaWYgKGltcG9ydGxpYiA9PSBOVUxMKSB7CisgICAgICAgIFB5X0ZhdGFsRXJyb3IoIlB5X0luaXRpYWxpemU6IGNvdWxkbid0IGdldCBfZnJvemVuX2ltcG9ydGxpYiBmcm9tICIKKyAgICAgICAgICAgICAgICAgICAgICAic3lzLm1vZHVsZXMiKTsKKyAgICB9CisgICAgaW50ZXJwLT5pbXBvcnRsaWIgPSBpbXBvcnRsaWI7CisgICAgUHlfSU5DUkVGKGludGVycC0+aW1wb3J0bGliKTsKKworICAgIC8qIEluc3RhbGwgX2ltcG9ydGxpYiBhcyBfX2ltcG9ydF9fICovCisgICAgaW1wbW9kID0gUHlJbml0X2ltcCgpOworICAgIGlmIChpbXBtb2QgPT0gTlVMTCkgeworICAgICAgICBQeV9GYXRhbEVycm9yKCJQeV9Jbml0aWFsaXplOiBjYW4ndCBpbXBvcnQgaW1wIik7CisgICAgfQorICAgIGVsc2UgaWYgKFB5X1ZlcmJvc2VGbGFnKSB7CisgICAgICAgIFB5U3lzX0Zvcm1hdFN0ZGVycigiaW1wb3J0IGltcCAjIGJ1aWx0aW5cbiIpOworICAgIH0KKyAgICBzeXNfbW9kdWxlcyA9IFB5SW1wb3J0X0dldE1vZHVsZURpY3QoKTsKKyAgICBpZiAoUHlfVmVyYm9zZUZsYWcpIHsKKyAgICAgICAgUHlTeXNfRm9ybWF0U3RkZXJyKCJpbXBvcnQgc3lzICMgYnVpbHRpblxuIik7CisgICAgfQorICAgIGlmIChQeURpY3RfU2V0SXRlbVN0cmluZyhzeXNfbW9kdWxlcywgIl9pbXAiLCBpbXBtb2QpIDwgMCkgeworICAgICAgICBQeV9GYXRhbEVycm9yKCJQeV9Jbml0aWFsaXplOiBjYW4ndCBzYXZlIF9pbXAgdG8gc3lzLm1vZHVsZXMiKTsKKyAgICB9CisKKyAgICB2YWx1ZSA9IFB5T2JqZWN0X0NhbGxNZXRob2QoaW1wb3J0bGliLCAiX2luc3RhbGwiLCAiT08iLCBzeXNtb2QsIGltcG1vZCk7CisgICAgaWYgKHZhbHVlID09IE5VTEwpIHsKKyAgICAgICAgUHlFcnJfUHJpbnQoKTsKKyAgICAgICAgUHlfRmF0YWxFcnJvcigiUHlfSW5pdGlhbGl6ZTogaW1wb3J0bGliIGluc3RhbGwgZmFpbGVkIik7CisgICAgfQorICAgIFB5X0RFQ1JFRih2YWx1ZSk7CisgICAgUHlfREVDUkVGKGltcG1vZCk7CisKKyAgICBfUHlJbXBvcnRaaXBfSW5pdCgpOworfQorCisKK3ZvaWQKK19QeV9Jbml0aWFsaXplRXhfUHJpdmF0ZShpbnQgaW5zdGFsbF9zaWdzLCBpbnQgaW5zdGFsbF9pbXBvcnRsaWIpCit7CisgICAgUHlJbnRlcnByZXRlclN0YXRlICppbnRlcnA7CisgICAgUHlUaHJlYWRTdGF0ZSAqdHN0YXRlOworICAgIFB5T2JqZWN0ICpiaW1vZCwgKnN5c21vZCwgKnBzdGRlcnI7CisgICAgY2hhciAqcDsKKyAgICBleHRlcm4gdm9pZCBfUHlfUmVhZHlUeXBlcyh2b2lkKTsKKworICAgIGlmIChpbml0aWFsaXplZCkKKyAgICAgICAgcmV0dXJuOworICAgIGluaXRpYWxpemVkID0gMTsKKyAgICBfUHlfRmluYWxpemluZyA9IE5VTEw7CisKKyNpZiBkZWZpbmVkKEhBVkVfTEFOR0lORk9fSCkgJiYgZGVmaW5lZChIQVZFX1NFVExPQ0FMRSkKKyAgICAvKiBTZXQgdXAgdGhlIExDX0NUWVBFIGxvY2FsZSwgc28gd2UgY2FuIG9idGFpbgorICAgICAgIHRoZSBsb2NhbGUncyBjaGFyc2V0IHdpdGhvdXQgaGF2aW5nIHRvIHN3aXRjaAorICAgICAgIGxvY2FsZXMuICovCisgICAgc2V0bG9jYWxlKExDX0NUWVBFLCAiIik7CisjZW5kaWYKKworICAgIGlmICgocCA9IFB5X0dFVEVOVigiUFlUSE9OREVCVUciKSkgJiYgKnAgIT0gJ1wwJykKKyAgICAgICAgUHlfRGVidWdGbGFnID0gYWRkX2ZsYWcoUHlfRGVidWdGbGFnLCBwKTsKKyAgICBpZiAoKHAgPSBQeV9HRVRFTlYoIlBZVEhPTlZFUkJPU0UiKSkgJiYgKnAgIT0gJ1wwJykKKyAgICAgICAgUHlfVmVyYm9zZUZsYWcgPSBhZGRfZmxhZyhQeV9WZXJib3NlRmxhZywgcCk7CisgICAgaWYgKChwID0gUHlfR0VURU5WKCJQWVRIT05PUFRJTUlaRSIpKSAmJiAqcCAhPSAnXDAnKQorICAgICAgICBQeV9PcHRpbWl6ZUZsYWcgPSBhZGRfZmxhZyhQeV9PcHRpbWl6ZUZsYWcsIHApOworICAgIGlmICgocCA9IFB5X0dFVEVOVigiUFlUSE9ORE9OVFdSSVRFQllURUNPREUiKSkgJiYgKnAgIT0gJ1wwJykKKyAgICAgICAgUHlfRG9udFdyaXRlQnl0ZWNvZGVGbGFnID0gYWRkX2ZsYWcoUHlfRG9udFdyaXRlQnl0ZWNvZGVGbGFnLCBwKTsKKyAgICAvKiBUaGUgdmFyaWFibGUgaXMgb25seSB0ZXN0ZWQgZm9yIGV4aXN0ZW5jZSBoZXJlOyBfUHlSYW5kb21fSW5pdCB3aWxsCisgICAgICAgY2hlY2sgaXRzIHZhbHVlIGZ1cnRoZXIuICovCisgICAgaWYgKChwID0gUHlfR0VURU5WKCJQWVRIT05IQVNIU0VFRCIpKSAmJiAqcCAhPSAnXDAnKQorICAgICAgICBQeV9IYXNoUmFuZG9taXphdGlvbkZsYWcgPSBhZGRfZmxhZyhQeV9IYXNoUmFuZG9taXphdGlvbkZsYWcsIHApOworCisgICAgX1B5UmFuZG9tX0luaXQoKTsKKworICAgIGludGVycCA9IFB5SW50ZXJwcmV0ZXJTdGF0ZV9OZXcoKTsKKyAgICBpZiAoaW50ZXJwID09IE5VTEwpCisgICAgICAgIFB5X0ZhdGFsRXJyb3IoIlB5X0luaXRpYWxpemU6IGNhbid0IG1ha2UgZmlyc3QgaW50ZXJwcmV0ZXIiKTsKKworICAgIHRzdGF0ZSA9IFB5VGhyZWFkU3RhdGVfTmV3KGludGVycCk7CisgICAgaWYgKHRzdGF0ZSA9PSBOVUxMKQorICAgICAgICBQeV9GYXRhbEVycm9yKCJQeV9Jbml0aWFsaXplOiBjYW4ndCBtYWtlIGZpcnN0IHRocmVhZCIpOworICAgICh2b2lkKSBQeVRocmVhZFN0YXRlX1N3YXAodHN0YXRlKTsKKworI2lmZGVmIFdJVEhfVEhSRUFECisgICAgLyogV2UgY2FuJ3QgY2FsbCBfUHlFdmFsX0ZpbmlUaHJlYWRzKCkgaW4gUHlfRmluYWxpemUgYmVjYXVzZQorICAgICAgIGRlc3Ryb3lpbmcgdGhlIEdJTCBtaWdodCBmYWlsIHdoZW4gaXQgaXMgYmVpbmcgcmVmZXJlbmNlZCBmcm9tCisgICAgICAgYW5vdGhlciBydW5uaW5nIHRocmVhZCAoc2VlIGlzc3VlICM5OTAxKS4KKyAgICAgICBJbnN0ZWFkIHdlIGRlc3Ryb3kgdGhlIHByZXZpb3VzbHkgY3JlYXRlZCBHSUwgaGVyZSwgd2hpY2ggZW5zdXJlcworICAgICAgIHRoYXQgd2UgY2FuIGNhbGwgUHlfSW5pdGlhbGl6ZSAvIFB5X0ZpbmFsaXplIG11bHRpcGxlIHRpbWVzLiAqLworICAgIF9QeUV2YWxfRmluaVRocmVhZHMoKTsKKworICAgIC8qIEF1dG8tdGhyZWFkLXN0YXRlIEFQSSAqLworICAgIF9QeUdJTFN0YXRlX0luaXQoaW50ZXJwLCB0c3RhdGUpOworI2VuZGlmIC8qIFdJVEhfVEhSRUFEICovCisKKyAgICBfUHlfUmVhZHlUeXBlcygpOworCisgICAgaWYgKCFfUHlGcmFtZV9Jbml0KCkpCisgICAgICAgIFB5X0ZhdGFsRXJyb3IoIlB5X0luaXRpYWxpemU6IGNhbid0IGluaXQgZnJhbWVzIik7CisKKyAgICBpZiAoIV9QeUxvbmdfSW5pdCgpKQorICAgICAgICBQeV9GYXRhbEVycm9yKCJQeV9Jbml0aWFsaXplOiBjYW4ndCBpbml0IGxvbmdzIik7CisKKyAgICBpZiAoIVB5Qnl0ZUFycmF5X0luaXQoKSkKKyAgICAgICAgUHlfRmF0YWxFcnJvcigiUHlfSW5pdGlhbGl6ZTogY2FuJ3QgaW5pdCBieXRlYXJyYXkiKTsKKworICAgIGlmICghX1B5RmxvYXRfSW5pdCgpKQorICAgICAgICBQeV9GYXRhbEVycm9yKCJQeV9Jbml0aWFsaXplOiBjYW4ndCBpbml0IGZsb2F0Iik7CisKKyAgICBpbnRlcnAtPm1vZHVsZXMgPSBQeURpY3RfTmV3KCk7CisgICAgaWYgKGludGVycC0+bW9kdWxlcyA9PSBOVUxMKQorICAgICAgICBQeV9GYXRhbEVycm9yKCJQeV9Jbml0aWFsaXplOiBjYW4ndCBtYWtlIG1vZHVsZXMgZGljdGlvbmFyeSIpOworCisgICAgLyogSW5pdCBVbmljb2RlIGltcGxlbWVudGF0aW9uOyByZWxpZXMgb24gdGhlIGNvZGVjIHJlZ2lzdHJ5ICovCisgICAgaWYgKF9QeVVuaWNvZGVfSW5pdCgpIDwgMCkKKyAgICAgICAgUHlfRmF0YWxFcnJvcigiUHlfSW5pdGlhbGl6ZTogY2FuJ3QgaW5pdGlhbGl6ZSB1bmljb2RlIik7CisgICAgaWYgKF9QeVN0cnVjdFNlcXVlbmNlX0luaXQoKSA8IDApCisgICAgICAgIFB5X0ZhdGFsRXJyb3IoIlB5X0luaXRpYWxpemU6IGNhbid0IGluaXRpYWxpemUgc3RydWN0c2VxIik7CisKKyAgICBiaW1vZCA9IF9QeUJ1aWx0aW5fSW5pdCgpOworICAgIGlmIChiaW1vZCA9PSBOVUxMKQorICAgICAgICBQeV9GYXRhbEVycm9yKCJQeV9Jbml0aWFsaXplOiBjYW4ndCBpbml0aWFsaXplIGJ1aWx0aW5zIG1vZHVsZXMiKTsKKyAgICBfUHlJbXBvcnRfRml4dXBCdWlsdGluKGJpbW9kLCAiYnVpbHRpbnMiKTsKKyAgICBpbnRlcnAtPmJ1aWx0aW5zID0gUHlNb2R1bGVfR2V0RGljdChiaW1vZCk7CisgICAgaWYgKGludGVycC0+YnVpbHRpbnMgPT0gTlVMTCkKKyAgICAgICAgUHlfRmF0YWxFcnJvcigiUHlfSW5pdGlhbGl6ZTogY2FuJ3QgaW5pdGlhbGl6ZSBidWlsdGlucyBkaWN0Iik7CisgICAgUHlfSU5DUkVGKGludGVycC0+YnVpbHRpbnMpOworCisgICAgLyogaW5pdGlhbGl6ZSBidWlsdGluIGV4Y2VwdGlvbnMgKi8KKyAgICBfUHlFeGNfSW5pdChiaW1vZCk7CisKKyAgICBzeXNtb2QgPSBfUHlTeXNfSW5pdCgpOworICAgIGlmIChzeXNtb2QgPT0gTlVMTCkKKyAgICAgICAgUHlfRmF0YWxFcnJvcigiUHlfSW5pdGlhbGl6ZTogY2FuJ3QgaW5pdGlhbGl6ZSBzeXMiKTsKKyAgICBpbnRlcnAtPnN5c2RpY3QgPSBQeU1vZHVsZV9HZXREaWN0KHN5c21vZCk7CisgICAgaWYgKGludGVycC0+c3lzZGljdCA9PSBOVUxMKQorICAgICAgICBQeV9GYXRhbEVycm9yKCJQeV9Jbml0aWFsaXplOiBjYW4ndCBpbml0aWFsaXplIHN5cyBkaWN0Iik7CisgICAgUHlfSU5DUkVGKGludGVycC0+c3lzZGljdCk7CisgICAgX1B5SW1wb3J0X0ZpeHVwQnVpbHRpbihzeXNtb2QsICJzeXMiKTsKKyAgICBQeVN5c19TZXRQYXRoKFB5X0dldFBhdGgoKSk7CisgICAgUHlEaWN0X1NldEl0ZW1TdHJpbmcoaW50ZXJwLT5zeXNkaWN0LCAibW9kdWxlcyIsCisgICAgICAgICAgICAgICAgICAgICAgICAgaW50ZXJwLT5tb2R1bGVzKTsKKworICAgIC8qIFNldCB1cCBhIHByZWxpbWluYXJ5IHN0ZGVyciBwcmludGVyIHVudGlsIHdlIGhhdmUgZW5vdWdoCisgICAgICAgaW5mcmFzdHJ1Y3R1cmUgZm9yIHRoZSBpbyBtb2R1bGUgaW4gcGxhY2UuICovCisgICAgcHN0ZGVyciA9IFB5RmlsZV9OZXdTdGRQcmludGVyKGZpbGVubyhzdGRlcnIpKTsKKyAgICBpZiAocHN0ZGVyciA9PSBOVUxMKQorICAgICAgICBQeV9GYXRhbEVycm9yKCJQeV9Jbml0aWFsaXplOiBjYW4ndCBzZXQgcHJlbGltaW5hcnkgc3RkZXJyIik7CisgICAgX1B5U3lzX1NldE9iamVjdElkKCZQeUlkX3N0ZGVyciwgcHN0ZGVycik7CisgICAgUHlTeXNfU2V0T2JqZWN0KCJfX3N0ZGVycl9fIiwgcHN0ZGVycik7CisgICAgUHlfREVDUkVGKHBzdGRlcnIpOworCisgICAgX1B5SW1wb3J0X0luaXQoKTsKKworICAgIF9QeUltcG9ydEhvb2tzX0luaXQoKTsKKworICAgIC8qIEluaXRpYWxpemUgX3dhcm5pbmdzLiAqLworICAgIF9QeVdhcm5pbmdzX0luaXQoKTsKKworICAgIGlmICghaW5zdGFsbF9pbXBvcnRsaWIpCisgICAgICAgIHJldHVybjsKKworICAgIGltcG9ydF9pbml0KGludGVycCwgc3lzbW9kKTsKKworICAgIC8qIGluaXRpYWxpemUgdGhlIGZhdWx0aGFuZGxlciBtb2R1bGUgKi8KKyAgICBpZiAoX1B5RmF1bHRoYW5kbGVyX0luaXQoKSkKKyAgICAgICAgUHlfRmF0YWxFcnJvcigiUHlfSW5pdGlhbGl6ZTogY2FuJ3QgaW5pdGlhbGl6ZSBmYXVsdGhhbmRsZXIiKTsKKworICAgIGlmIChfUHlUaW1lX0luaXQoKSA8IDApCisgICAgICAgIFB5X0ZhdGFsRXJyb3IoIlB5X0luaXRpYWxpemU6IGNhbid0IGluaXRpYWxpemUgdGltZSIpOworCisgICAgaWYgKGluaXRmc2VuY29kaW5nKGludGVycCkgPCAwKQorICAgICAgICBQeV9GYXRhbEVycm9yKCJQeV9Jbml0aWFsaXplOiB1bmFibGUgdG8gbG9hZCB0aGUgZmlsZSBzeXN0ZW0gY29kZWMiKTsKKworICAgIGlmIChpbnN0YWxsX3NpZ3MpCisgICAgICAgIGluaXRzaWdzKCk7IC8qIFNpZ25hbCBoYW5kbGluZyBzdHVmZiwgaW5jbHVkaW5nIGluaXRpbnRyKCkgKi8KKworICAgIGlmIChfUHlUcmFjZU1hbGxvY19Jbml0KCkgPCAwKQorICAgICAgICBQeV9GYXRhbEVycm9yKCJQeV9Jbml0aWFsaXplOiBjYW4ndCBpbml0aWFsaXplIHRyYWNlbWFsbG9jIik7CisKKyAgICBpbml0bWFpbihpbnRlcnApOyAvKiBNb2R1bGUgX19tYWluX18gKi8KKyAgICBpZiAoaW5pdHN0ZGlvKCkgPCAwKQorICAgICAgICBQeV9GYXRhbEVycm9yKAorICAgICAgICAgICAgIlB5X0luaXRpYWxpemU6IGNhbid0IGluaXRpYWxpemUgc3lzIHN0YW5kYXJkIHN0cmVhbXMiKTsKKworICAgIC8qIEluaXRpYWxpemUgd2FybmluZ3MuICovCisgICAgaWYgKFB5U3lzX0hhc1dhcm5PcHRpb25zKCkpIHsKKyAgICAgICAgUHlPYmplY3QgKndhcm5pbmdzX21vZHVsZSA9IFB5SW1wb3J0X0ltcG9ydE1vZHVsZSgid2FybmluZ3MiKTsKKyAgICAgICAgaWYgKHdhcm5pbmdzX21vZHVsZSA9PSBOVUxMKSB7CisgICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIidpbXBvcnQgd2FybmluZ3MnIGZhaWxlZDsgdHJhY2ViYWNrOlxuIik7CisgICAgICAgICAgICBQeUVycl9QcmludCgpOworICAgICAgICB9CisgICAgICAgIFB5X1hERUNSRUYod2FybmluZ3NfbW9kdWxlKTsKKyAgICB9CisKKyAgICBpZiAoIVB5X05vU2l0ZUZsYWcpCisgICAgICAgIGluaXRzaXRlKCk7IC8qIE1vZHVsZSBzaXRlICovCit9CisKK3ZvaWQKK1B5X0luaXRpYWxpemVFeChpbnQgaW5zdGFsbF9zaWdzKQoreworICAgIF9QeV9Jbml0aWFsaXplRXhfUHJpdmF0ZShpbnN0YWxsX3NpZ3MsIDEpOworfQorCit2b2lkCitQeV9Jbml0aWFsaXplKHZvaWQpCit7CisgICAgUHlfSW5pdGlhbGl6ZUV4KDEpOworfQorCisKKyNpZmRlZiBDT1VOVF9BTExPQ1MKK2V4dGVybiB2b2lkIGR1bXBfY291bnRzKEZJTEUqKTsKKyNlbmRpZgorCisvKiBGbHVzaCBzdGRvdXQgYW5kIHN0ZGVyciAqLworCitzdGF0aWMgaW50CitmaWxlX2lzX2Nsb3NlZChQeU9iamVjdCAqZm9iaikKK3sKKyAgICBpbnQgcjsKKyAgICBQeU9iamVjdCAqdG1wID0gUHlPYmplY3RfR2V0QXR0clN0cmluZyhmb2JqLCAiY2xvc2VkIik7CisgICAgaWYgKHRtcCA9PSBOVUxMKSB7CisgICAgICAgIFB5RXJyX0NsZWFyKCk7CisgICAgICAgIHJldHVybiAwOworICAgIH0KKyAgICByID0gUHlPYmplY3RfSXNUcnVlKHRtcCk7CisgICAgUHlfREVDUkVGKHRtcCk7CisgICAgaWYgKHIgPCAwKQorICAgICAgICBQeUVycl9DbGVhcigpOworICAgIHJldHVybiByID4gMDsKK30KKworc3RhdGljIHZvaWQKK2ZsdXNoX3N0ZF9maWxlcyh2b2lkKQoreworICAgIFB5T2JqZWN0ICpmb3V0ID0gX1B5U3lzX0dldE9iamVjdElkKCZQeUlkX3N0ZG91dCk7CisgICAgUHlPYmplY3QgKmZlcnIgPSBfUHlTeXNfR2V0T2JqZWN0SWQoJlB5SWRfc3RkZXJyKTsKKyAgICBQeU9iamVjdCAqdG1wOworCisgICAgaWYgKGZvdXQgIT0gTlVMTCAmJiBmb3V0ICE9IFB5X05vbmUgJiYgIWZpbGVfaXNfY2xvc2VkKGZvdXQpKSB7CisgICAgICAgIHRtcCA9IF9QeU9iamVjdF9DYWxsTWV0aG9kSWQoZm91dCwgJlB5SWRfZmx1c2gsICIiKTsKKyAgICAgICAgaWYgKHRtcCA9PSBOVUxMKQorICAgICAgICAgICAgUHlFcnJfV3JpdGVVbnJhaXNhYmxlKGZvdXQpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBQeV9ERUNSRUYodG1wKTsKKyAgICB9CisKKyAgICBpZiAoZmVyciAhPSBOVUxMICYmIGZlcnIgIT0gUHlfTm9uZSAmJiAhZmlsZV9pc19jbG9zZWQoZmVycikpIHsKKyAgICAgICAgdG1wID0gX1B5T2JqZWN0X0NhbGxNZXRob2RJZChmZXJyLCAmUHlJZF9mbHVzaCwgIiIpOworICAgICAgICBpZiAodG1wID09IE5VTEwpCisgICAgICAgICAgICBQeUVycl9DbGVhcigpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBQeV9ERUNSRUYodG1wKTsKKyAgICB9Cit9CisKKy8qIFVuZG8gdGhlIGVmZmVjdCBvZiBQeV9Jbml0aWFsaXplKCkuCisKKyAgIEJld2FyZTogaWYgbXVsdGlwbGUgaW50ZXJwcmV0ZXIgYW5kL29yIHRocmVhZCBzdGF0ZXMgZXhpc3QsIHRoZXNlCisgICBhcmUgbm90IHdpcGVkIG91dDsgb25seSB0aGUgY3VycmVudCB0aHJlYWQgYW5kIGludGVycHJldGVyIHN0YXRlCisgICBhcmUgZGVsZXRlZC4gIEJ1dCBzaW5jZSBldmVyeXRoaW5nIGVsc2UgaXMgZGVsZXRlZCwgdGhvc2Ugb3RoZXIKKyAgIGludGVycHJldGVyIGFuZCB0aHJlYWQgc3RhdGVzIHNob3VsZCBubyBsb25nZXIgYmUgdXNlZC4KKworICAgKFhYWCBXZSBzaG91bGQgZG8gYmV0dGVyLCBlLmcuIHdpcGUgb3V0IGFsbCBpbnRlcnByZXRlcnMgYW5kCisgICB0aHJlYWRzLikKKworICAgTG9ja2luZzogYXMgYWJvdmUuCisKKyovCisKK3ZvaWQKK1B5X0ZpbmFsaXplKHZvaWQpCit7CisgICAgUHlJbnRlcnByZXRlclN0YXRlICppbnRlcnA7CisgICAgUHlUaHJlYWRTdGF0ZSAqdHN0YXRlOworCisgICAgaWYgKCFpbml0aWFsaXplZCkKKyAgICAgICAgcmV0dXJuOworCisgICAgd2FpdF9mb3JfdGhyZWFkX3NodXRkb3duKCk7CisKKyAgICAvKiBUaGUgaW50ZXJwcmV0ZXIgaXMgc3RpbGwgZW50aXJlbHkgaW50YWN0IGF0IHRoaXMgcG9pbnQsIGFuZCB0aGUKKyAgICAgKiBleGl0IGZ1bmNzIG1heSBiZSByZWx5aW5nIG9uIHRoYXQuICBJbiBwYXJ0aWN1bGFyLCBpZiBzb21lIHRocmVhZAorICAgICAqIG9yIGV4aXQgZnVuYyBpcyBzdGlsbCB3YWl0aW5nIHRvIGRvIGFuIGltcG9ydCwgdGhlIGltcG9ydCBtYWNoaW5lcnkKKyAgICAgKiBleHBlY3RzIFB5X0lzSW5pdGlhbGl6ZWQoKSB0byByZXR1cm4gdHJ1ZS4gIFNvIGRvbid0IHNheSB0aGUKKyAgICAgKiBpbnRlcnByZXRlciBpcyB1bmluaXRpYWxpemVkIHVudGlsIGFmdGVyIHRoZSBleGl0IGZ1bmNzIGhhdmUgcnVuLgorICAgICAqIE5vdGUgdGhhdCBUaHJlYWRpbmcucHkgdXNlcyBhbiBleGl0IGZ1bmMgdG8gZG8gYSBqb2luIG9uIGFsbCB0aGUKKyAgICAgKiB0aHJlYWRzIGNyZWF0ZWQgdGhydSBpdCwgc28gdGhpcyBhbHNvIHByb3RlY3RzIHBlbmRpbmcgaW1wb3J0cyBpbgorICAgICAqIHRoZSB0aHJlYWRzIGNyZWF0ZWQgdmlhIFRocmVhZGluZy4KKyAgICAgKi8KKyAgICBjYWxsX3B5X2V4aXRmdW5jcygpOworCisgICAgLyogR2V0IGN1cnJlbnQgdGhyZWFkIHN0YXRlIGFuZCBpbnRlcnByZXRlciBwb2ludGVyICovCisgICAgdHN0YXRlID0gUHlUaHJlYWRTdGF0ZV9HRVQoKTsKKyAgICBpbnRlcnAgPSB0c3RhdGUtPmludGVycDsKKworICAgIC8qIFJlbWFpbmluZyB0aHJlYWRzIChlLmcuIGRhZW1vbiB0aHJlYWRzKSB3aWxsIGF1dG9tYXRpY2FsbHkgZXhpdAorICAgICAgIGFmdGVyIHRha2luZyB0aGUgR0lMIChpbiBQeUV2YWxfUmVzdG9yZVRocmVhZCgpKS4gKi8KKyAgICBfUHlfRmluYWxpemluZyA9IHRzdGF0ZTsKKyAgICBpbml0aWFsaXplZCA9IDA7CisKKyAgICAvKiBGbHVzaCBzdGRvdXQrc3RkZXJyICovCisgICAgZmx1c2hfc3RkX2ZpbGVzKCk7CisKKyAgICAvKiBEaXNhYmxlIHNpZ25hbCBoYW5kbGluZyAqLworICAgIFB5T1NfRmluaUludGVycnVwdHMoKTsKKworICAgIC8qIENvbGxlY3QgZ2FyYmFnZS4gIFRoaXMgbWF5IGNhbGwgZmluYWxpemVyczsgaXQncyBuaWNlIHRvIGNhbGwgdGhlc2UKKyAgICAgKiBiZWZvcmUgYWxsIG1vZHVsZXMgYXJlIGRlc3Ryb3llZC4KKyAgICAgKiBYWFggSWYgYSBfX2RlbF9fIG9yIHdlYWtyZWYgY2FsbGJhY2sgaXMgdHJpZ2dlcmVkIGhlcmUsIGFuZCB0cmllcyB0bworICAgICAqIFhYWCBpbXBvcnQgYSBtb2R1bGUsIGJhZCB0aGluZ3MgY2FuIGhhcHBlbiwgYmVjYXVzZSBQeXRob24gbm8KKyAgICAgKiBYWFggbG9uZ2VyIGJlbGlldmVzIGl0J3MgaW5pdGlhbGl6ZWQuCisgICAgICogWFhYICAgICBGYXRhbCBQeXRob24gZXJyb3I6IEludGVycHJldGVyIG5vdCBpbml0aWFsaXplZCAodmVyc2lvbiBtaXNtYXRjaD8pCisgICAgICogWFhYIGlzIGVhc3kgdG8gcHJvdm9rZSB0aGF0IHdheS4gIEkndmUgYWxzbyBzZWVuLCBlLmcuLAorICAgICAqIFhYWCAgICAgRXhjZXB0aW9uIGV4Y2VwdGlvbnMuSW1wb3J0RXJyb3I6ICdObyBtb2R1bGUgbmFtZWQgc2hhJworICAgICAqIFhYWCAgICAgICAgIGluIDxmdW5jdGlvbiBjYWxsYmFjayBhdCAweDAwOEY1NzE4PiBpZ25vcmVkCisgICAgICogWFhYIGJ1dCBJJ20gdW5jbGVhciBvbiBleGFjdGx5IGhvdyB0aGF0IG9uZSBoYXBwZW5zLiAgSW4gYW55IGNhc2UsCisgICAgICogWFhYIEkgaGF2ZW4ndCBzZWVuIGEgcmVhbC1saWZlIHJlcG9ydCBvZiBlaXRoZXIgb2YgdGhlc2UuCisgICAgICovCisgICAgUHlHQ19Db2xsZWN0KCk7CisjaWZkZWYgQ09VTlRfQUxMT0NTCisgICAgLyogV2l0aCBDT1VOVF9BTExPQ1MsIGl0IGhlbHBzIHRvIHJ1biBHQyBtdWx0aXBsZSB0aW1lczoKKyAgICAgICBlYWNoIGNvbGxlY3Rpb24gbWlnaHQgcmVsZWFzZSBzb21lIHR5cGVzIGZyb20gdGhlIHR5cGUKKyAgICAgICBsaXN0LCBzbyB0aGV5IGJlY29tZSBnYXJiYWdlLiAqLworICAgIHdoaWxlIChQeUdDX0NvbGxlY3QoKSA+IDApCisgICAgICAgIC8qIG5vdGhpbmcgKi87CisjZW5kaWYKKyAgICAvKiBEZXN0cm95IGFsbCBtb2R1bGVzICovCisgICAgUHlJbXBvcnRfQ2xlYW51cCgpOworCisgICAgLyogRmx1c2ggc3Rkb3V0K3N0ZGVyciAoYWdhaW4sIGluIGNhc2UgbW9yZSB3YXMgcHJpbnRlZCkgKi8KKyAgICBmbHVzaF9zdGRfZmlsZXMoKTsKKworICAgIC8qIENvbGxlY3QgZmluYWwgZ2FyYmFnZS4gIFRoaXMgZGlzcG9zZXMgb2YgY3ljbGVzIGNyZWF0ZWQgYnkKKyAgICAgKiBjbGFzcyBkZWZpbml0aW9ucywgZm9yIGV4YW1wbGUuCisgICAgICogWFhYIFRoaXMgaXMgZGlzYWJsZWQgYmVjYXVzZSBpdCBjYXVzZWQgdG9vIG1hbnkgcHJvYmxlbXMuICBJZgorICAgICAqIFhYWCBhIF9fZGVsX18gb3Igd2Vha3JlZiBjYWxsYmFjayB0cmlnZ2VycyBoZXJlLCBQeXRob24gY29kZSBoYXMKKyAgICAgKiBYWFggYSBoYXJkIHRpbWUgcnVubmluZywgYmVjYXVzZSBldmVuIHRoZSBzeXMgbW9kdWxlIGhhcyBiZWVuCisgICAgICogWFhYIGNsZWFyZWQgb3V0IChzeXMuc3Rkb3V0IGlzIGdvbmUsIHN5cy5leGNlcHRob29rIGlzIGdvbmUsIGV0YykuCisgICAgICogWFhYIE9uZSBzeW1wdG9tIGlzIGEgc2VxdWVuY2Ugb2YgaW5mb3JtYXRpb24tZnJlZSBtZXNzYWdlcworICAgICAqIFhYWCBjb21pbmcgZnJvbSB0aHJlYWRzIChpZiBhIF9fZGVsX18gb3IgY2FsbGJhY2sgaXMgaW52b2tlZCwKKyAgICAgKiBYWFggb3RoZXIgdGhyZWFkcyBjYW4gZXhlY3V0ZSB0b28sIGFuZCBhbnkgZXhjZXB0aW9uIHRoZXkgZW5jb3VudGVyCisgICAgICogWFhYIHRyaWdnZXJzIGEgY29tZWR5IG9mIGVycm9ycyBhcyBzdWJzeXN0ZW0gYWZ0ZXIgc3Vic3lzdGVtCisgICAgICogWFhYIGZhaWxzIHRvIGZpbmQgd2hhdCBpdCAqZXhwZWN0cyogdG8gZmluZCBpbiBzeXMgdG8gaGVscCByZXBvcnQKKyAgICAgKiBYWFggdGhlIGV4Y2VwdGlvbiBhbmQgY29uc2VxdWVudCB1bmV4cGVjdGVkIGZhaWx1cmVzKS4gIEkndmUgYWxzbworICAgICAqIFhYWCBzZWVuIHNlZ2ZhdWx0cyB0aGVuLCBhZnRlciBhZGRpbmcgcHJpbnQgc3RhdGVtZW50cyB0byB0aGUKKyAgICAgKiBYWFggUHl0aG9uIGNvZGUgZ2V0dGluZyBjYWxsZWQuCisgICAgICovCisjaWYgMAorICAgIFB5R0NfQ29sbGVjdCgpOworI2VuZGlmCisKKyAgICAvKiBEaXNhYmxlIHRyYWNlbWFsbG9jIGFmdGVyIGFsbCBQeXRob24gb2JqZWN0cyBoYXZlIGJlZW4gZGVzdHJveWVkLAorICAgICAgIHNvIGl0IGlzIHBvc3NpYmxlIHRvIHVzZSB0cmFjZW1hbGxvYyBpbiBvYmplY3RzIGRlc3RydWN0b3IuICovCisgICAgX1B5VHJhY2VNYWxsb2NfRmluaSgpOworCisgICAgLyogRGVzdHJveSB0aGUgZGF0YWJhc2UgdXNlZCBieSBfUHlJbXBvcnRfe0ZpeHVwLEZpbmR9RXh0ZW5zaW9uICovCisgICAgX1B5SW1wb3J0X0ZpbmkoKTsKKworICAgIC8qIENsZWFudXAgdHlwZW9iamVjdC5jJ3MgaW50ZXJuYWwgY2FjaGVzLiAqLworICAgIF9QeVR5cGVfRmluaSgpOworCisgICAgLyogdW5sb2FkIGZhdWx0aGFuZGxlciBtb2R1bGUgKi8KKyAgICBfUHlGYXVsdGhhbmRsZXJfRmluaSgpOworCisgICAgLyogRGVidWdnaW5nIHN0dWZmICovCisjaWZkZWYgQ09VTlRfQUxMT0NTCisgICAgZHVtcF9jb3VudHMoc3Rkb3V0KTsKKyNlbmRpZgorICAgIC8qIGR1bXAgaGFzaCBzdGF0cyAqLworICAgIF9QeUhhc2hfRmluaSgpOworCisgICAgX1BZX0RFQlVHX1BSSU5UX1RPVEFMX1JFRlMoKTsKKworI2lmZGVmIFB5X1RSQUNFX1JFRlMKKyAgICAvKiBEaXNwbGF5IGFsbCBvYmplY3RzIHN0aWxsIGFsaXZlIC0tIHRoaXMgY2FuIGludm9rZSBhcmJpdHJhcnkKKyAgICAgKiBfX3JlcHJfXyBvdmVycmlkZXMsIHNvIHJlcXVpcmVzIGEgbW9zdGx5LWludGFjdCBpbnRlcnByZXRlci4KKyAgICAgKiBBbGFzLCBhIGxvdCBvZiBzdHVmZiBtYXkgc3RpbGwgYmUgYWxpdmUgbm93IHRoYXQgd2lsbCBiZSBjbGVhbmVkCisgICAgICogdXAgbGF0ZXIuCisgICAgICovCisgICAgaWYgKFB5X0dFVEVOVigiUFlUSE9ORFVNUFJFRlMiKSkKKyAgICAgICAgX1B5X1ByaW50UmVmZXJlbmNlcyhzdGRlcnIpOworI2VuZGlmIC8qIFB5X1RSQUNFX1JFRlMgKi8KKworICAgIC8qIENsZWFyIGludGVycHJldGVyIHN0YXRlIGFuZCBhbGwgdGhyZWFkIHN0YXRlcy4gKi8KKyAgICBQeUludGVycHJldGVyU3RhdGVfQ2xlYXIoaW50ZXJwKTsKKworICAgIC8qIE5vdyB3ZSBkZWNyZWYgdGhlIGV4Y2VwdGlvbiBjbGFzc2VzLiAgQWZ0ZXIgdGhpcyBwb2ludCBub3RoaW5nCisgICAgICAgY2FuIHJhaXNlIGFuIGV4Y2VwdGlvbi4gIFRoYXQncyBva2F5LCBiZWNhdXNlIGVhY2ggRmluaSgpIG1ldGhvZAorICAgICAgIGJlbG93IGhhcyBiZWVuIGNoZWNrZWQgdG8gbWFrZSBzdXJlIG5vIGV4Y2VwdGlvbnMgYXJlIGV2ZXIKKyAgICAgICByYWlzZWQuCisgICAgKi8KKworICAgIF9QeUV4Y19GaW5pKCk7CisKKyAgICAvKiBTdW5kcnkgZmluYWxpemVycyAqLworICAgIFB5TWV0aG9kX0ZpbmkoKTsKKyAgICBQeUZyYW1lX0ZpbmkoKTsKKyAgICBQeUNGdW5jdGlvbl9GaW5pKCk7CisgICAgUHlUdXBsZV9GaW5pKCk7CisgICAgUHlMaXN0X0ZpbmkoKTsKKyAgICBQeVNldF9GaW5pKCk7CisgICAgUHlCeXRlc19GaW5pKCk7CisgICAgUHlCeXRlQXJyYXlfRmluaSgpOworICAgIFB5TG9uZ19GaW5pKCk7CisgICAgUHlGbG9hdF9GaW5pKCk7CisgICAgUHlEaWN0X0ZpbmkoKTsKKyAgICBQeVNsaWNlX0ZpbmkoKTsKKyAgICBfUHlHQ19GaW5pKCk7CisgICAgX1B5UmFuZG9tX0ZpbmkoKTsKKworICAgIC8qIENsZWFudXAgVW5pY29kZSBpbXBsZW1lbnRhdGlvbiAqLworICAgIF9QeVVuaWNvZGVfRmluaSgpOworCisgICAgLyogcmVzZXQgZmlsZSBzeXN0ZW0gZGVmYXVsdCBlbmNvZGluZyAqLworICAgIGlmICghUHlfSGFzRmlsZVN5c3RlbURlZmF1bHRFbmNvZGluZyAmJiBQeV9GaWxlU3lzdGVtRGVmYXVsdEVuY29kaW5nKSB7CisgICAgICAgIFB5TWVtX1Jhd0ZyZWUoKGNoYXIqKVB5X0ZpbGVTeXN0ZW1EZWZhdWx0RW5jb2RpbmcpOworICAgICAgICBQeV9GaWxlU3lzdGVtRGVmYXVsdEVuY29kaW5nID0gTlVMTDsKKyAgICB9CisKKyAgICAvKiBYWFggU3RpbGwgYWxsb2NhdGVkOgorICAgICAgIC0gdmFyaW91cyBzdGF0aWMgYWQtaG9jIHBvaW50ZXJzIHRvIGludGVybmVkIHN0cmluZ3MKKyAgICAgICAtIGludCBhbmQgZmxvYXQgZnJlZSBsaXN0IGJsb2NrcworICAgICAgIC0gd2hhdGV2ZXIgdmFyaW91cyBtb2R1bGVzIGFuZCBsaWJyYXJpZXMgYWxsb2NhdGUKKyAgICAqLworCisgICAgUHlHcmFtbWFyX1JlbW92ZUFjY2VsZXJhdG9ycygmX1B5UGFyc2VyX0dyYW1tYXIpOworCisgICAgLyogQ2xlYW51cCBhdXRvLXRocmVhZC1zdGF0ZSAqLworI2lmZGVmIFdJVEhfVEhSRUFECisgICAgX1B5R0lMU3RhdGVfRmluaSgpOworI2VuZGlmIC8qIFdJVEhfVEhSRUFEICovCisKKyAgICAvKiBEZWxldGUgY3VycmVudCB0aHJlYWQuIEFmdGVyIHRoaXMsIG1hbnkgQyBBUEkgY2FsbHMgYmVjb21lIGNyYXNoeS4gKi8KKyAgICBQeVRocmVhZFN0YXRlX1N3YXAoTlVMTCk7CisgICAgUHlJbnRlcnByZXRlclN0YXRlX0RlbGV0ZShpbnRlcnApOworCisjaWZkZWYgUHlfVFJBQ0VfUkVGUworICAgIC8qIERpc3BsYXkgYWRkcmVzc2VzICgmIHJlZmNudHMpIG9mIGFsbCBvYmplY3RzIHN0aWxsIGFsaXZlLgorICAgICAqIEFuIGFkZHJlc3MgY2FuIGJlIHVzZWQgdG8gZmluZCB0aGUgcmVwciBvZiB0aGUgb2JqZWN0LCBwcmludGVkCisgICAgICogYWJvdmUgYnkgX1B5X1ByaW50UmVmZXJlbmNlcy4KKyAgICAgKi8KKyAgICBpZiAoUHlfR0VURU5WKCJQWVRIT05EVU1QUkVGUyIpKQorICAgICAgICBfUHlfUHJpbnRSZWZlcmVuY2VBZGRyZXNzZXMoc3RkZXJyKTsKKyNlbmRpZiAvKiBQeV9UUkFDRV9SRUZTICovCisjaWZkZWYgUFlNQUxMT0NfREVCVUcKKyAgICBpZiAoUHlfR0VURU5WKCJQWVRIT05NQUxMT0NTVEFUUyIpKQorICAgICAgICBfUHlPYmplY3RfRGVidWdNYWxsb2NTdGF0cyhzdGRlcnIpOworI2VuZGlmCisKKyAgICBjYWxsX2xsX2V4aXRmdW5jcygpOworfQorCisvKiBDcmVhdGUgYW5kIGluaXRpYWxpemUgYSBuZXcgaW50ZXJwcmV0ZXIgYW5kIHRocmVhZCwgYW5kIHJldHVybiB0aGUKKyAgIG5ldyB0aHJlYWQuICBUaGlzIHJlcXVpcmVzIHRoYXQgUHlfSW5pdGlhbGl6ZSgpIGhhcyBiZWVuIGNhbGxlZAorICAgZmlyc3QuCisKKyAgIFVuc3VjY2Vzc2Z1bCBpbml0aWFsaXphdGlvbiB5aWVsZHMgYSBOVUxMIHBvaW50ZXIuICBOb3RlIHRoYXQgKm5vKgorICAgZXhjZXB0aW9uIGluZm9ybWF0aW9uIGlzIGF2YWlsYWJsZSBldmVuIGluIHRoaXMgY2FzZSAtLSB0aGUKKyAgIGV4Y2VwdGlvbiBpbmZvcm1hdGlvbiBpcyBoZWxkIGluIHRoZSB0aHJlYWQsIGFuZCB0aGVyZSBpcyBubworICAgdGhyZWFkLgorCisgICBMb2NraW5nOiBhcyBhYm92ZS4KKworKi8KKworUHlUaHJlYWRTdGF0ZSAqCitQeV9OZXdJbnRlcnByZXRlcih2b2lkKQoreworICAgIFB5SW50ZXJwcmV0ZXJTdGF0ZSAqaW50ZXJwOworICAgIFB5VGhyZWFkU3RhdGUgKnRzdGF0ZSwgKnNhdmVfdHN0YXRlOworICAgIFB5T2JqZWN0ICpiaW1vZCwgKnN5c21vZDsKKworICAgIGlmICghaW5pdGlhbGl6ZWQpCisgICAgICAgIFB5X0ZhdGFsRXJyb3IoIlB5X05ld0ludGVycHJldGVyOiBjYWxsIFB5X0luaXRpYWxpemUgZmlyc3QiKTsKKworICAgIGludGVycCA9IFB5SW50ZXJwcmV0ZXJTdGF0ZV9OZXcoKTsKKyAgICBpZiAoaW50ZXJwID09IE5VTEwpCisgICAgICAgIHJldHVybiBOVUxMOworCisgICAgdHN0YXRlID0gUHlUaHJlYWRTdGF0ZV9OZXcoaW50ZXJwKTsKKyAgICBpZiAodHN0YXRlID09IE5VTEwpIHsKKyAgICAgICAgUHlJbnRlcnByZXRlclN0YXRlX0RlbGV0ZShpbnRlcnApOworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisKKyAgICBzYXZlX3RzdGF0ZSA9IFB5VGhyZWFkU3RhdGVfU3dhcCh0c3RhdGUpOworCisgICAgLyogWFhYIFRoZSBmb2xsb3dpbmcgaXMgbGF4IGluIGVycm9yIGNoZWNraW5nICovCisKKyAgICBpbnRlcnAtPm1vZHVsZXMgPSBQeURpY3RfTmV3KCk7CisKKyAgICBiaW1vZCA9IF9QeUltcG9ydF9GaW5kQnVpbHRpbigiYnVpbHRpbnMiKTsKKyAgICBpZiAoYmltb2QgIT0gTlVMTCkgeworICAgICAgICBpbnRlcnAtPmJ1aWx0aW5zID0gUHlNb2R1bGVfR2V0RGljdChiaW1vZCk7CisgICAgICAgIGlmIChpbnRlcnAtPmJ1aWx0aW5zID09IE5VTEwpCisgICAgICAgICAgICBnb3RvIGhhbmRsZV9lcnJvcjsKKyAgICAgICAgUHlfSU5DUkVGKGludGVycC0+YnVpbHRpbnMpOworICAgIH0KKworICAgIC8qIGluaXRpYWxpemUgYnVpbHRpbiBleGNlcHRpb25zICovCisgICAgX1B5RXhjX0luaXQoYmltb2QpOworCisgICAgc3lzbW9kID0gX1B5SW1wb3J0X0ZpbmRCdWlsdGluKCJzeXMiKTsKKyAgICBpZiAoYmltb2QgIT0gTlVMTCAmJiBzeXNtb2QgIT0gTlVMTCkgeworICAgICAgICBQeU9iamVjdCAqcHN0ZGVycjsKKworICAgICAgICBpbnRlcnAtPnN5c2RpY3QgPSBQeU1vZHVsZV9HZXREaWN0KHN5c21vZCk7CisgICAgICAgIGlmIChpbnRlcnAtPnN5c2RpY3QgPT0gTlVMTCkKKyAgICAgICAgICAgIGdvdG8gaGFuZGxlX2Vycm9yOworICAgICAgICBQeV9JTkNSRUYoaW50ZXJwLT5zeXNkaWN0KTsKKyAgICAgICAgUHlTeXNfU2V0UGF0aChQeV9HZXRQYXRoKCkpOworICAgICAgICBQeURpY3RfU2V0SXRlbVN0cmluZyhpbnRlcnAtPnN5c2RpY3QsICJtb2R1bGVzIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50ZXJwLT5tb2R1bGVzKTsKKyAgICAgICAgLyogU2V0IHVwIGEgcHJlbGltaW5hcnkgc3RkZXJyIHByaW50ZXIgdW50aWwgd2UgaGF2ZSBlbm91Z2gKKyAgICAgICAgICAgaW5mcmFzdHJ1Y3R1cmUgZm9yIHRoZSBpbyBtb2R1bGUgaW4gcGxhY2UuICovCisgICAgICAgIHBzdGRlcnIgPSBQeUZpbGVfTmV3U3RkUHJpbnRlcihmaWxlbm8oc3RkZXJyKSk7CisgICAgICAgIGlmIChwc3RkZXJyID09IE5VTEwpCisgICAgICAgICAgICBQeV9GYXRhbEVycm9yKCJQeV9Jbml0aWFsaXplOiBjYW4ndCBzZXQgcHJlbGltaW5hcnkgc3RkZXJyIik7CisgICAgICAgIF9QeVN5c19TZXRPYmplY3RJZCgmUHlJZF9zdGRlcnIsIHBzdGRlcnIpOworICAgICAgICBQeVN5c19TZXRPYmplY3QoIl9fc3RkZXJyX18iLCBwc3RkZXJyKTsKKyAgICAgICAgUHlfREVDUkVGKHBzdGRlcnIpOworCisgICAgICAgIF9QeUltcG9ydEhvb2tzX0luaXQoKTsKKworICAgICAgICBpbXBvcnRfaW5pdChpbnRlcnAsIHN5c21vZCk7CisKKyAgICAgICAgaWYgKGluaXRmc2VuY29kaW5nKGludGVycCkgPCAwKQorICAgICAgICAgICAgZ290byBoYW5kbGVfZXJyb3I7CisKKyAgICAgICAgaWYgKGluaXRzdGRpbygpIDwgMCkKKyAgICAgICAgICAgIFB5X0ZhdGFsRXJyb3IoCisgICAgICAgICAgICAiUHlfSW5pdGlhbGl6ZTogY2FuJ3QgaW5pdGlhbGl6ZSBzeXMgc3RhbmRhcmQgc3RyZWFtcyIpOworICAgICAgICBpbml0bWFpbihpbnRlcnApOworICAgICAgICBpZiAoIVB5X05vU2l0ZUZsYWcpCisgICAgICAgICAgICBpbml0c2l0ZSgpOworICAgIH0KKworICAgIGlmICghUHlFcnJfT2NjdXJyZWQoKSkKKyAgICAgICAgcmV0dXJuIHRzdGF0ZTsKKworaGFuZGxlX2Vycm9yOgorICAgIC8qIE9vcHMsIGl0IGRpZG4ndCB3b3JrLiAgVW5kbyBpdCBhbGwuICovCisKKyAgICBQeUVycl9QcmludEV4KDApOworICAgIFB5VGhyZWFkU3RhdGVfQ2xlYXIodHN0YXRlKTsKKyAgICBQeVRocmVhZFN0YXRlX1N3YXAoc2F2ZV90c3RhdGUpOworICAgIFB5VGhyZWFkU3RhdGVfRGVsZXRlKHRzdGF0ZSk7CisgICAgUHlJbnRlcnByZXRlclN0YXRlX0RlbGV0ZShpbnRlcnApOworCisgICAgcmV0dXJuIE5VTEw7Cit9CisKKy8qIERlbGV0ZSBhbiBpbnRlcnByZXRlciBhbmQgaXRzIGxhc3QgdGhyZWFkLiAgVGhpcyByZXF1aXJlcyB0aGF0IHRoZQorICAgZ2l2ZW4gdGhyZWFkIHN0YXRlIGlzIGN1cnJlbnQsIHRoYXQgdGhlIHRocmVhZCBoYXMgbm8gcmVtYWluaW5nCisgICBmcmFtZXMsIGFuZCB0aGF0IGl0IGlzIGl0cyBpbnRlcnByZXRlcidzIG9ubHkgcmVtYWluaW5nIHRocmVhZC4KKyAgIEl0IGlzIGEgZmF0YWwgZXJyb3IgdG8gdmlvbGF0ZSB0aGVzZSBjb25zdHJhaW50cy4KKworICAgKFB5X0ZpbmFsaXplKCkgZG9lc24ndCBoYXZlIHRoZXNlIGNvbnN0cmFpbnRzIC0tIGl0IHphcHMKKyAgIGV2ZXJ5dGhpbmcsIHJlZ2FyZGxlc3MuKQorCisgICBMb2NraW5nOiBhcyBhYm92ZS4KKworKi8KKwordm9pZAorUHlfRW5kSW50ZXJwcmV0ZXIoUHlUaHJlYWRTdGF0ZSAqdHN0YXRlKQoreworICAgIFB5SW50ZXJwcmV0ZXJTdGF0ZSAqaW50ZXJwID0gdHN0YXRlLT5pbnRlcnA7CisKKyAgICBpZiAodHN0YXRlICE9IFB5VGhyZWFkU3RhdGVfR0VUKCkpCisgICAgICAgIFB5X0ZhdGFsRXJyb3IoIlB5X0VuZEludGVycHJldGVyOiB0aHJlYWQgaXMgbm90IGN1cnJlbnQiKTsKKyAgICBpZiAodHN0YXRlLT5mcmFtZSAhPSBOVUxMKQorICAgICAgICBQeV9GYXRhbEVycm9yKCJQeV9FbmRJbnRlcnByZXRlcjogdGhyZWFkIHN0aWxsIGhhcyBhIGZyYW1lIik7CisKKyAgICB3YWl0X2Zvcl90aHJlYWRfc2h1dGRvd24oKTsKKworICAgIGlmICh0c3RhdGUgIT0gaW50ZXJwLT50c3RhdGVfaGVhZCB8fCB0c3RhdGUtPm5leHQgIT0gTlVMTCkKKyAgICAgICAgUHlfRmF0YWxFcnJvcigiUHlfRW5kSW50ZXJwcmV0ZXI6IG5vdCB0aGUgbGFzdCB0aHJlYWQiKTsKKworICAgIFB5SW1wb3J0X0NsZWFudXAoKTsKKyAgICBQeUludGVycHJldGVyU3RhdGVfQ2xlYXIoaW50ZXJwKTsKKyAgICBQeVRocmVhZFN0YXRlX1N3YXAoTlVMTCk7CisgICAgUHlJbnRlcnByZXRlclN0YXRlX0RlbGV0ZShpbnRlcnApOworfQorCisjaWZkZWYgTVNfV0lORE9XUworc3RhdGljIHdjaGFyX3QgKnByb2duYW1lID0gTCJweXRob24iOworI2Vsc2UKK3N0YXRpYyB3Y2hhcl90ICpwcm9nbmFtZSA9IEwicHl0aG9uMyI7CisjZW5kaWYKKwordm9pZAorUHlfU2V0UHJvZ3JhbU5hbWUod2NoYXJfdCAqcG4pCit7CisgICAgaWYgKHBuICYmICpwbikKKyAgICAgICAgcHJvZ25hbWUgPSBwbjsKK30KKword2NoYXJfdCAqCitQeV9HZXRQcm9ncmFtTmFtZSh2b2lkKQoreworICAgIHJldHVybiBwcm9nbmFtZTsKK30KKworc3RhdGljIHdjaGFyX3QgKmRlZmF1bHRfaG9tZSA9IE5VTEw7CitzdGF0aWMgd2NoYXJfdCBlbnZfaG9tZVtNQVhQQVRITEVOKzFdOworCit2b2lkCitQeV9TZXRQeXRob25Ib21lKHdjaGFyX3QgKmhvbWUpCit7CisgICAgZGVmYXVsdF9ob21lID0gaG9tZTsKK30KKword2NoYXJfdCAqCitQeV9HZXRQeXRob25Ib21lKHZvaWQpCit7CisgICAgd2NoYXJfdCAqaG9tZSA9IGRlZmF1bHRfaG9tZTsKKyAgICBpZiAoaG9tZSA9PSBOVUxMICYmICFQeV9JZ25vcmVFbnZpcm9ubWVudEZsYWcpIHsKKyAgICAgICAgY2hhciogY2hvbWUgPSBQeV9HRVRFTlYoIlBZVEhPTkhPTUUiKTsKKyAgICAgICAgaWYgKGNob21lKSB7CisgICAgICAgICAgICBzaXplX3Qgc2l6ZSA9IFB5X0FSUkFZX0xFTkdUSChlbnZfaG9tZSk7CisgICAgICAgICAgICBzaXplX3QgciA9IG1ic3Rvd2NzKGVudl9ob21lLCBjaG9tZSwgc2l6ZSk7CisgICAgICAgICAgICBpZiAociAhPSAoc2l6ZV90KS0xICYmIHIgPCBzaXplKQorICAgICAgICAgICAgICAgIGhvbWUgPSBlbnZfaG9tZTsKKyAgICAgICAgfQorCisgICAgfQorICAgIHJldHVybiBob21lOworfQorCisvKiBDcmVhdGUgX19tYWluX18gbW9kdWxlICovCisKK3N0YXRpYyB2b2lkCitpbml0bWFpbihQeUludGVycHJldGVyU3RhdGUgKmludGVycCkKK3sKKyAgICBQeU9iamVjdCAqbSwgKmQsICpsb2FkZXI7CisgICAgbSA9IFB5SW1wb3J0X0FkZE1vZHVsZSgiX19tYWluX18iKTsKKyAgICBpZiAobSA9PSBOVUxMKQorICAgICAgICBQeV9GYXRhbEVycm9yKCJjYW4ndCBjcmVhdGUgX19tYWluX18gbW9kdWxlIik7CisgICAgZCA9IFB5TW9kdWxlX0dldERpY3QobSk7CisgICAgaWYgKFB5RGljdF9HZXRJdGVtU3RyaW5nKGQsICJfX2J1aWx0aW5zX18iKSA9PSBOVUxMKSB7CisgICAgICAgIFB5T2JqZWN0ICpiaW1vZCA9IFB5SW1wb3J0X0ltcG9ydE1vZHVsZSgiYnVpbHRpbnMiKTsKKyAgICAgICAgaWYgKGJpbW9kID09IE5VTEwpIHsKKyAgICAgICAgICAgIFB5X0ZhdGFsRXJyb3IoIkZhaWxlZCB0byByZXRyaWV2ZSBidWlsdGlucyBtb2R1bGUiKTsKKyAgICAgICAgfQorICAgICAgICBpZiAoUHlEaWN0X1NldEl0ZW1TdHJpbmcoZCwgIl9fYnVpbHRpbnNfXyIsIGJpbW9kKSA8IDApIHsKKyAgICAgICAgICAgIFB5X0ZhdGFsRXJyb3IoIkZhaWxlZCB0byBpbml0aWFsaXplIF9fbWFpbl9fLl9fYnVpbHRpbnNfXyIpOworICAgICAgICB9CisgICAgICAgIFB5X0RFQ1JFRihiaW1vZCk7CisgICAgfQorICAgIC8qIE1haW4gaXMgYSBsaXR0bGUgc3BlY2lhbCAtIGltcC5pc19idWlsdGluKCJfX21haW5fXyIpIHdpbGwgcmV0dXJuCisgICAgICogRmFsc2UsIGJ1dCBCdWlsdGluSW1wb3J0ZXIgaXMgc3RpbGwgdGhlIG1vc3QgYXBwcm9wcmlhdGUgaW5pdGlhbAorICAgICAqIHNldHRpbmcgZm9yIGl0cyBfX2xvYWRlcl9fIGF0dHJpYnV0ZS4gQSBtb3JlIHN1aXRhYmxlIHZhbHVlIHdpbGwKKyAgICAgKiBiZSBzZXQgaWYgX19tYWluX18gZ2V0cyBmdXJ0aGVyIGluaXRpYWxpemVkIGxhdGVyIGluIHRoZSBzdGFydHVwCisgICAgICogcHJvY2Vzcy4KKyAgICAgKi8KKyAgICBsb2FkZXIgPSBQeURpY3RfR2V0SXRlbVN0cmluZyhkLCAiX19sb2FkZXJfXyIpOworICAgIGlmIChsb2FkZXIgPT0gTlVMTCB8fCBsb2FkZXIgPT0gUHlfTm9uZSkgeworICAgICAgICBQeU9iamVjdCAqbG9hZGVyID0gUHlPYmplY3RfR2V0QXR0clN0cmluZyhpbnRlcnAtPmltcG9ydGxpYiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkJ1aWx0aW5JbXBvcnRlciIpOworICAgICAgICBpZiAobG9hZGVyID09IE5VTEwpIHsKKyAgICAgICAgICAgIFB5X0ZhdGFsRXJyb3IoIkZhaWxlZCB0byByZXRyaWV2ZSBCdWlsdGluSW1wb3J0ZXIiKTsKKyAgICAgICAgfQorICAgICAgICBpZiAoUHlEaWN0X1NldEl0ZW1TdHJpbmcoZCwgIl9fbG9hZGVyX18iLCBsb2FkZXIpIDwgMCkgeworICAgICAgICAgICAgUHlfRmF0YWxFcnJvcigiRmFpbGVkIHRvIGluaXRpYWxpemUgX19tYWluX18uX19sb2FkZXJfXyIpOworICAgICAgICB9CisgICAgICAgIFB5X0RFQ1JFRihsb2FkZXIpOworICAgIH0KK30KKworc3RhdGljIGludAoraW5pdGZzZW5jb2RpbmcoUHlJbnRlcnByZXRlclN0YXRlICppbnRlcnApCit7CisgICAgUHlPYmplY3QgKmNvZGVjOworCisgICAgaWYgKFB5X0ZpbGVTeXN0ZW1EZWZhdWx0RW5jb2RpbmcgPT0gTlVMTCkKKyAgICB7CisgICAgICAgIFB5X0ZpbGVTeXN0ZW1EZWZhdWx0RW5jb2RpbmcgPSBnZXRfbG9jYWxlX2VuY29kaW5nKCk7CisgICAgICAgIGlmIChQeV9GaWxlU3lzdGVtRGVmYXVsdEVuY29kaW5nID09IE5VTEwpCisgICAgICAgICAgICBQeV9GYXRhbEVycm9yKCJQeV9Jbml0aWFsaXplOiBVbmFibGUgdG8gZ2V0IHRoZSBsb2NhbGUgZW5jb2RpbmciKTsKKworICAgICAgICBQeV9IYXNGaWxlU3lzdGVtRGVmYXVsdEVuY29kaW5nID0gMDsKKyAgICAgICAgaW50ZXJwLT5mc2NvZGVjX2luaXRpYWxpemVkID0gMTsKKyAgICAgICAgcmV0dXJuIDA7CisgICAgfQorCisgICAgLyogdGhlIGVuY29kaW5nIGlzIG1iY3MsIHV0Zi04IG9yIGFzY2lpICovCisgICAgY29kZWMgPSBfUHlDb2RlY19Mb29rdXAoUHlfRmlsZVN5c3RlbURlZmF1bHRFbmNvZGluZyk7CisgICAgaWYgKCFjb2RlYykgeworICAgICAgICAvKiBTdWNoIGVycm9yIGNhbiBvbmx5IG9jY3VycyBpbiBjcml0aWNhbCBzaXR1YXRpb25zOiBubyBtb3JlCisgICAgICAgICAqIG1lbW9yeSwgaW1wb3J0IGEgbW9kdWxlIG9mIHRoZSBzdGFuZGFyZCBsaWJyYXJ5IGZhaWxlZCwKKyAgICAgICAgICogZXRjLiAqLworICAgICAgICByZXR1cm4gLTE7CisgICAgfQorICAgIFB5X0RFQ1JFRihjb2RlYyk7CisgICAgaW50ZXJwLT5mc2NvZGVjX2luaXRpYWxpemVkID0gMTsKKyAgICByZXR1cm4gMDsKK30KKworLyogSW1wb3J0IHRoZSBzaXRlIG1vZHVsZSAobm90IGludG8gX19tYWluX18gdGhvdWdoKSAqLworCitzdGF0aWMgdm9pZAoraW5pdHNpdGUodm9pZCkKK3sKKyAgICBQeU9iamVjdCAqbTsKKyAgICBtID0gUHlJbXBvcnRfSW1wb3J0TW9kdWxlKCJzaXRlIik7CisgICAgaWYgKG0gPT0gTlVMTCkgeworICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIkZhaWxlZCB0byBpbXBvcnQgdGhlIHNpdGUgbW9kdWxlXG4iKTsKKyAgICAgICAgUHlFcnJfUHJpbnQoKTsKKyAgICAgICAgUHlfRmluYWxpemUoKTsKKyAgICAgICAgZXhpdCgxKTsKKyAgICB9CisgICAgZWxzZSB7CisgICAgICAgIFB5X0RFQ1JFRihtKTsKKyAgICB9Cit9CisKK3N0YXRpYyBQeU9iamVjdCoKK2NyZWF0ZV9zdGRpbyhQeU9iamVjdCogaW8sCisgICAgaW50IGZkLCBpbnQgd3JpdGVfbW9kZSwgY2hhciogbmFtZSwKKyAgICBjaGFyKiBlbmNvZGluZywgY2hhciogZXJyb3JzKQoreworICAgIFB5T2JqZWN0ICpidWYgPSBOVUxMLCAqc3RyZWFtID0gTlVMTCwgKnRleHQgPSBOVUxMLCAqcmF3ID0gTlVMTCwgKnJlczsKKyAgICBjb25zdCBjaGFyKiBtb2RlOworICAgIGNvbnN0IGNoYXIqIG5ld2xpbmU7CisgICAgUHlPYmplY3QgKmxpbmVfYnVmZmVyaW5nOworICAgIGludCBidWZmZXJpbmcsIGlzYXR0eTsKKyAgICBfUHlfSURFTlRJRklFUihvcGVuKTsKKyAgICBfUHlfSURFTlRJRklFUihpc2F0dHkpOworICAgIF9QeV9JREVOVElGSUVSKFRleHRJT1dyYXBwZXIpOworICAgIF9QeV9JREVOVElGSUVSKG1vZGUpOworCisgICAgLyogc3RkaW4gaXMgYWx3YXlzIG9wZW5lZCBpbiBidWZmZXJlZCBtb2RlLCBmaXJzdCBiZWNhdXNlIGl0IHNob3VsZG4ndAorICAgICAgIG1ha2UgYSBkaWZmZXJlbmNlIGluIGNvbW1vbiB1c2UgY2FzZXMsIHNlY29uZCBiZWNhdXNlIFRleHRJT1dyYXBwZXIKKyAgICAgICBkZXBlbmRzIG9uIHRoZSBwcmVzZW5jZSBvZiBhIHJlYWQxKCkgbWV0aG9kIHdoaWNoIG9ubHkgZXhpc3RzIG9uCisgICAgICAgYnVmZmVyZWQgc3RyZWFtcy4KKyAgICAqLworICAgIGlmIChQeV9VbmJ1ZmZlcmVkU3RkaW9GbGFnICYmIHdyaXRlX21vZGUpCisgICAgICAgIGJ1ZmZlcmluZyA9IDA7CisgICAgZWxzZQorICAgICAgICBidWZmZXJpbmcgPSAtMTsKKyAgICBpZiAod3JpdGVfbW9kZSkKKyAgICAgICAgbW9kZSA9ICJ3YiI7CisgICAgZWxzZQorICAgICAgICBtb2RlID0gInJiIjsKKyAgICBidWYgPSBfUHlPYmplY3RfQ2FsbE1ldGhvZElkKGlvLCAmUHlJZF9vcGVuLCAiaXNpT09PaSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmZCwgbW9kZSwgYnVmZmVyaW5nLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlfTm9uZSwgUHlfTm9uZSwgUHlfTm9uZSwgMCk7CisgICAgaWYgKGJ1ZiA9PSBOVUxMKQorICAgICAgICBnb3RvIGVycm9yOworCisgICAgaWYgKGJ1ZmZlcmluZykgeworICAgICAgICBfUHlfSURFTlRJRklFUihyYXcpOworICAgICAgICByYXcgPSBfUHlPYmplY3RfR2V0QXR0cklkKGJ1ZiwgJlB5SWRfcmF3KTsKKyAgICAgICAgaWYgKHJhdyA9PSBOVUxMKQorICAgICAgICAgICAgZ290byBlcnJvcjsKKyAgICB9CisgICAgZWxzZSB7CisgICAgICAgIHJhdyA9IGJ1ZjsKKyAgICAgICAgUHlfSU5DUkVGKHJhdyk7CisgICAgfQorCisgICAgdGV4dCA9IFB5VW5pY29kZV9Gcm9tU3RyaW5nKG5hbWUpOworICAgIGlmICh0ZXh0ID09IE5VTEwgfHwgX1B5T2JqZWN0X1NldEF0dHJJZChyYXcsICZQeUlkX25hbWUsIHRleHQpIDwgMCkKKyAgICAgICAgZ290byBlcnJvcjsKKyAgICByZXMgPSBfUHlPYmplY3RfQ2FsbE1ldGhvZElkKHJhdywgJlB5SWRfaXNhdHR5LCAiIik7CisgICAgaWYgKHJlcyA9PSBOVUxMKQorICAgICAgICBnb3RvIGVycm9yOworICAgIGlzYXR0eSA9IFB5T2JqZWN0X0lzVHJ1ZShyZXMpOworICAgIFB5X0RFQ1JFRihyZXMpOworICAgIGlmIChpc2F0dHkgPT0gLTEpCisgICAgICAgIGdvdG8gZXJyb3I7CisgICAgaWYgKGlzYXR0eSB8fCBQeV9VbmJ1ZmZlcmVkU3RkaW9GbGFnKQorICAgICAgICBsaW5lX2J1ZmZlcmluZyA9IFB5X1RydWU7CisgICAgZWxzZQorICAgICAgICBsaW5lX2J1ZmZlcmluZyA9IFB5X0ZhbHNlOworCisgICAgUHlfQ0xFQVIocmF3KTsKKyAgICBQeV9DTEVBUih0ZXh0KTsKKworI2lmZGVmIE1TX1dJTkRPV1MKKyAgICAvKiBzeXMuc3RkaW46IGVuYWJsZSB1bml2ZXJzYWwgbmV3bGluZSBtb2RlLCB0cmFuc2xhdGUgIlxyXG4iIGFuZCAiXHIiCisgICAgICAgbmV3bGluZXMgdG8gIlxuIi4KKyAgICAgICBzeXMuc3Rkb3V0IGFuZCBzeXMuc3RkZXJyOiB0cmFuc2xhdGUgIlxuIiB0byAiXHJcbiIuICovCisgICAgbmV3bGluZSA9IE5VTEw7CisjZWxzZQorICAgIC8qIHN5cy5zdGRpbjogc3BsaXQgbGluZXMgYXQgIlxuIi4KKyAgICAgICBzeXMuc3Rkb3V0IGFuZCBzeXMuc3RkZXJyOiBkb24ndCB0cmFuc2xhdGUgbmV3bGluZXMgKHVzZSAiXG4iKS4gKi8KKyAgICBuZXdsaW5lID0gIlxuIjsKKyNlbmRpZgorCisgICAgc3RyZWFtID0gX1B5T2JqZWN0X0NhbGxNZXRob2RJZChpbywgJlB5SWRfVGV4dElPV3JhcHBlciwgIk9zc3NPIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1ZiwgZW5jb2RpbmcsIGVycm9ycywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld2xpbmUsIGxpbmVfYnVmZmVyaW5nKTsKKyAgICBQeV9DTEVBUihidWYpOworICAgIGlmIChzdHJlYW0gPT0gTlVMTCkKKyAgICAgICAgZ290byBlcnJvcjsKKworICAgIGlmICh3cml0ZV9tb2RlKQorICAgICAgICBtb2RlID0gInciOworICAgIGVsc2UKKyAgICAgICAgbW9kZSA9ICJyIjsKKyAgICB0ZXh0ID0gUHlVbmljb2RlX0Zyb21TdHJpbmcobW9kZSk7CisgICAgaWYgKCF0ZXh0IHx8IF9QeU9iamVjdF9TZXRBdHRySWQoc3RyZWFtLCAmUHlJZF9tb2RlLCB0ZXh0KSA8IDApCisgICAgICAgIGdvdG8gZXJyb3I7CisgICAgUHlfQ0xFQVIodGV4dCk7CisgICAgcmV0dXJuIHN0cmVhbTsKKworZXJyb3I6CisgICAgUHlfWERFQ1JFRihidWYpOworICAgIFB5X1hERUNSRUYoc3RyZWFtKTsKKyAgICBQeV9YREVDUkVGKHRleHQpOworICAgIFB5X1hERUNSRUYocmF3KTsKKyAgICByZXR1cm4gTlVMTDsKK30KKworc3RhdGljIGludAoraXNfdmFsaWRfZmQoaW50IGZkKQoreworICAgIGludCBkdW1teV9mZDsKKyAgICBpZiAoZmQgPCAwIHx8ICFfUHlWZXJpZnlfZmQoZmQpKQorICAgICAgICByZXR1cm4gMDsKKyAgICBkdW1teV9mZCA9IGR1cChmZCk7CisgICAgaWYgKGR1bW15X2ZkIDwgMCkKKyAgICAgICAgcmV0dXJuIDA7CisgICAgY2xvc2UoZHVtbXlfZmQpOworICAgIHJldHVybiAxOworfQorCisvKiBJbml0aWFsaXplIHN5cy5zdGRpbiwgc3Rkb3V0LCBzdGRlcnIgYW5kIGJ1aWx0aW5zLm9wZW4gKi8KK3N0YXRpYyBpbnQKK2luaXRzdGRpbyh2b2lkKQoreworICAgIFB5T2JqZWN0ICppb21vZCA9IE5VTEwsICp3cmFwcGVyOworICAgIFB5T2JqZWN0ICpiaW1vZCA9IE5VTEw7CisgICAgUHlPYmplY3QgKm07CisgICAgUHlPYmplY3QgKnN0ZCA9IE5VTEw7CisgICAgaW50IHN0YXR1cyA9IDAsIGZkOworICAgIFB5T2JqZWN0ICogZW5jb2RpbmdfYXR0cjsKKyAgICBjaGFyICpweXRob25pb2VuY29kaW5nID0gTlVMTCwgKmVuY29kaW5nLCAqZXJyb3JzOworCisgICAgLyogSGFjayB0byBhdm9pZCBhIG5hc3R5IHJlY3Vyc2lvbiBpc3N1ZSB3aGVuIFB5dGhvbiBpcyBpbnZva2VkCisgICAgICAgaW4gdmVyYm9zZSBtb2RlOiBwcmUtaW1wb3J0IHRoZSBMYXRpbi0xIGFuZCBVVEYtOCBjb2RlY3MgKi8KKyAgICBpZiAoKG0gPSBQeUltcG9ydF9JbXBvcnRNb2R1bGUoImVuY29kaW5ncy51dGZfOCIpKSA9PSBOVUxMKSB7CisgICAgICAgIGdvdG8gZXJyb3I7CisgICAgfQorICAgIFB5X0RFQ1JFRihtKTsKKworICAgIGlmICghKG0gPSBQeUltcG9ydF9JbXBvcnRNb2R1bGUoImVuY29kaW5ncy5sYXRpbl8xIikpKSB7CisgICAgICAgIGdvdG8gZXJyb3I7CisgICAgfQorICAgIFB5X0RFQ1JFRihtKTsKKworICAgIGlmICghKGJpbW9kID0gUHlJbXBvcnRfSW1wb3J0TW9kdWxlKCJidWlsdGlucyIpKSkgeworICAgICAgICBnb3RvIGVycm9yOworICAgIH0KKworICAgIGlmICghKGlvbW9kID0gUHlJbXBvcnRfSW1wb3J0TW9kdWxlKCJpbyIpKSkgeworICAgICAgICBnb3RvIGVycm9yOworICAgIH0KKyAgICBpZiAoISh3cmFwcGVyID0gUHlPYmplY3RfR2V0QXR0clN0cmluZyhpb21vZCwgIk9wZW5XcmFwcGVyIikpKSB7CisgICAgICAgIGdvdG8gZXJyb3I7CisgICAgfQorCisgICAgLyogU2V0IGJ1aWx0aW5zLm9wZW4gKi8KKyAgICBpZiAoUHlPYmplY3RfU2V0QXR0clN0cmluZyhiaW1vZCwgIm9wZW4iLCB3cmFwcGVyKSA9PSAtMSkgeworICAgICAgICBQeV9ERUNSRUYod3JhcHBlcik7CisgICAgICAgIGdvdG8gZXJyb3I7CisgICAgfQorICAgIFB5X0RFQ1JFRih3cmFwcGVyKTsKKworICAgIGVuY29kaW5nID0gX1B5X1N0YW5kYXJkU3RyZWFtRW5jb2Rpbmc7CisgICAgZXJyb3JzID0gX1B5X1N0YW5kYXJkU3RyZWFtRXJyb3JzOworICAgIGlmICghZW5jb2RpbmcgfHwgIWVycm9ycykgeworICAgICAgICBpZiAoIWVycm9ycykgeworICAgICAgICAgICAgLyogV2hlbiB0aGUgTENfQ1RZUEUgbG9jYWxlIGlzIHRoZSBQT1NJWCBsb2NhbGUgKCJDIGxvY2FsZSIpLAorICAgICAgICAgICAgICAgc3RkaW4gYW5kIHN0ZG91dCB1c2UgdGhlIHN1cnJvZ2F0ZWVzY2FwZSBlcnJvciBoYW5kbGVyIGJ5CisgICAgICAgICAgICAgICBkZWZhdWx0LCBpbnN0ZWFkIG9mIHRoZSBzdHJpY3QgZXJyb3IgaGFuZGxlci4gKi8KKyAgICAgICAgICAgIGNoYXIgKmxvYyA9IHNldGxvY2FsZShMQ19DVFlQRSwgTlVMTCk7CisgICAgICAgICAgICBpZiAobG9jICE9IE5VTEwgJiYgc3RyY21wKGxvYywgIkMiKSA9PSAwKQorICAgICAgICAgICAgICAgIGVycm9ycyA9ICJzdXJyb2dhdGVlc2NhcGUiOworICAgICAgICB9CisKKyAgICAgICAgcHl0aG9uaW9lbmNvZGluZyA9IFB5X0dFVEVOVigiUFlUSE9OSU9FTkNPRElORyIpOworICAgICAgICBpZiAocHl0aG9uaW9lbmNvZGluZykgeworICAgICAgICAgICAgY2hhciAqZXJyOworICAgICAgICAgICAgcHl0aG9uaW9lbmNvZGluZyA9IF9QeU1lbV9TdHJkdXAocHl0aG9uaW9lbmNvZGluZyk7CisgICAgICAgICAgICBpZiAocHl0aG9uaW9lbmNvZGluZyA9PSBOVUxMKSB7CisgICAgICAgICAgICAgICAgUHlFcnJfTm9NZW1vcnkoKTsKKyAgICAgICAgICAgICAgICBnb3RvIGVycm9yOworICAgICAgICAgICAgfQorICAgICAgICAgICAgZXJyID0gc3RyY2hyKHB5dGhvbmlvZW5jb2RpbmcsICc6Jyk7CisgICAgICAgICAgICBpZiAoZXJyKSB7CisgICAgICAgICAgICAgICAgKmVyciA9ICdcMCc7CisgICAgICAgICAgICAgICAgZXJyKys7CisgICAgICAgICAgICAgICAgaWYgKCplcnIgJiYgIV9QeV9TdGFuZGFyZFN0cmVhbUVycm9ycykgeworICAgICAgICAgICAgICAgICAgICBlcnJvcnMgPSBlcnI7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICAgICAgaWYgKCpweXRob25pb2VuY29kaW5nICYmICFlbmNvZGluZykgeworICAgICAgICAgICAgICAgIGVuY29kaW5nID0gcHl0aG9uaW9lbmNvZGluZzsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0KKworICAgIC8qIFNldCBzeXMuc3RkaW4gKi8KKyAgICBmZCA9IGZpbGVubyhzdGRpbik7CisgICAgLyogVW5kZXIgc29tZSBjb25kaXRpb25zIHN0ZGluLCBzdGRvdXQgYW5kIHN0ZGVyciBtYXkgbm90IGJlIGNvbm5lY3RlZAorICAgICAqIGFuZCBmaWxlbm8oKSBtYXkgcG9pbnQgdG8gYW4gaW52YWxpZCBmaWxlIGRlc2NyaXB0b3IuIEZvciBleGFtcGxlCisgICAgICogR1VJIGFwcHMgZG9uJ3QgaGF2ZSB2YWxpZCBzdGFuZGFyZCBzdHJlYW1zIGJ5IGRlZmF1bHQuCisgICAgICovCisgICAgaWYgKCFpc192YWxpZF9mZChmZCkpIHsKKyAgICAgICAgc3RkID0gUHlfTm9uZTsKKyAgICAgICAgUHlfSU5DUkVGKHN0ZCk7CisgICAgfQorICAgIGVsc2UgeworICAgICAgICBzdGQgPSBjcmVhdGVfc3RkaW8oaW9tb2QsIGZkLCAwLCAiPHN0ZGluPiIsIGVuY29kaW5nLCBlcnJvcnMpOworICAgICAgICBpZiAoc3RkID09IE5VTEwpCisgICAgICAgICAgICBnb3RvIGVycm9yOworICAgIH0gLyogaWYgKGZkIDwgMCkgKi8KKyAgICBQeVN5c19TZXRPYmplY3QoIl9fc3RkaW5fXyIsIHN0ZCk7CisgICAgX1B5U3lzX1NldE9iamVjdElkKCZQeUlkX3N0ZGluLCBzdGQpOworICAgIFB5X0RFQ1JFRihzdGQpOworCisgICAgLyogU2V0IHN5cy5zdGRvdXQgKi8KKyAgICBmZCA9IGZpbGVubyhzdGRvdXQpOworICAgIGlmICghaXNfdmFsaWRfZmQoZmQpKSB7CisgICAgICAgIHN0ZCA9IFB5X05vbmU7CisgICAgICAgIFB5X0lOQ1JFRihzdGQpOworICAgIH0KKyAgICBlbHNlIHsKKyAgICAgICAgc3RkID0gY3JlYXRlX3N0ZGlvKGlvbW9kLCBmZCwgMSwgIjxzdGRvdXQ+IiwgZW5jb2RpbmcsIGVycm9ycyk7CisgICAgICAgIGlmIChzdGQgPT0gTlVMTCkKKyAgICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAgfSAvKiBpZiAoZmQgPCAwKSAqLworICAgIFB5U3lzX1NldE9iamVjdCgiX19zdGRvdXRfXyIsIHN0ZCk7CisgICAgX1B5U3lzX1NldE9iamVjdElkKCZQeUlkX3N0ZG91dCwgc3RkKTsKKyAgICBQeV9ERUNSRUYoc3RkKTsKKworI2lmIDEgLyogRGlzYWJsZSB0aGlzIGlmIHlvdSBoYXZlIHRyb3VibGUgZGVidWdnaW5nIGJvb3RzdHJhcCBzdHVmZiAqLworICAgIC8qIFNldCBzeXMuc3RkZXJyLCByZXBsYWNlcyB0aGUgcHJlbGltaW5hcnkgc3RkZXJyICovCisgICAgZmQgPSBmaWxlbm8oc3RkZXJyKTsKKyAgICBpZiAoIWlzX3ZhbGlkX2ZkKGZkKSkgeworICAgICAgICBzdGQgPSBQeV9Ob25lOworICAgICAgICBQeV9JTkNSRUYoc3RkKTsKKyAgICB9CisgICAgZWxzZSB7CisgICAgICAgIHN0ZCA9IGNyZWF0ZV9zdGRpbyhpb21vZCwgZmQsIDEsICI8c3RkZXJyPiIsIGVuY29kaW5nLCAiYmFja3NsYXNocmVwbGFjZSIpOworICAgICAgICBpZiAoc3RkID09IE5VTEwpCisgICAgICAgICAgICBnb3RvIGVycm9yOworICAgIH0gLyogaWYgKGZkIDwgMCkgKi8KKworICAgIC8qIFNhbWUgYXMgaGFjayBhYm92ZSwgcHJlLWltcG9ydCBzdGRlcnIncyBjb2RlYyB0byBhdm9pZCByZWN1cnNpb24KKyAgICAgICB3aGVuIGltcG9ydC5jIHRyaWVzIHRvIHdyaXRlIHRvIHN0ZGVyciBpbiB2ZXJib3NlIG1vZGUuICovCisgICAgZW5jb2RpbmdfYXR0ciA9IFB5T2JqZWN0X0dldEF0dHJTdHJpbmcoc3RkLCAiZW5jb2RpbmciKTsKKyAgICBpZiAoZW5jb2RpbmdfYXR0ciAhPSBOVUxMKSB7CisgICAgICAgIGNvbnN0IGNoYXIgKiBzdGRfZW5jb2Rpbmc7CisgICAgICAgIHN0ZF9lbmNvZGluZyA9IF9QeVVuaWNvZGVfQXNTdHJpbmcoZW5jb2RpbmdfYXR0cik7CisgICAgICAgIGlmIChzdGRfZW5jb2RpbmcgIT0gTlVMTCkgeworICAgICAgICAgICAgUHlPYmplY3QgKmNvZGVjX2luZm8gPSBfUHlDb2RlY19Mb29rdXAoc3RkX2VuY29kaW5nKTsKKyAgICAgICAgICAgIFB5X1hERUNSRUYoY29kZWNfaW5mbyk7CisgICAgICAgIH0KKyAgICAgICAgUHlfREVDUkVGKGVuY29kaW5nX2F0dHIpOworICAgIH0KKyAgICBQeUVycl9DbGVhcigpOyAgLyogTm90IGEgZmF0YWwgZXJyb3IgaWYgY29kZWMgaXNuJ3QgYXZhaWxhYmxlICovCisKKyAgICBpZiAoUHlTeXNfU2V0T2JqZWN0KCJfX3N0ZGVycl9fIiwgc3RkKSA8IDApIHsKKyAgICAgICAgUHlfREVDUkVGKHN0ZCk7CisgICAgICAgIGdvdG8gZXJyb3I7CisgICAgfQorICAgIGlmIChfUHlTeXNfU2V0T2JqZWN0SWQoJlB5SWRfc3RkZXJyLCBzdGQpIDwgMCkgeworICAgICAgICBQeV9ERUNSRUYoc3RkKTsKKyAgICAgICAgZ290byBlcnJvcjsKKyAgICB9CisgICAgUHlfREVDUkVGKHN0ZCk7CisjZW5kaWYKKworICAgIGlmICgwKSB7CisgIGVycm9yOgorICAgICAgICBzdGF0dXMgPSAtMTsKKyAgICB9CisKKyAgICAvKiBXZSB3b24ndCBuZWVkIHRoZW0gYW55bW9yZS4gKi8KKyAgICBpZiAoX1B5X1N0YW5kYXJkU3RyZWFtRW5jb2RpbmcpIHsKKyAgICAgICAgUHlNZW1fUmF3RnJlZShfUHlfU3RhbmRhcmRTdHJlYW1FbmNvZGluZyk7CisgICAgICAgIF9QeV9TdGFuZGFyZFN0cmVhbUVuY29kaW5nID0gTlVMTDsKKyAgICB9CisgICAgaWYgKF9QeV9TdGFuZGFyZFN0cmVhbUVycm9ycykgeworICAgICAgICBQeU1lbV9SYXdGcmVlKF9QeV9TdGFuZGFyZFN0cmVhbUVycm9ycyk7CisgICAgICAgIF9QeV9TdGFuZGFyZFN0cmVhbUVycm9ycyA9IE5VTEw7CisgICAgfQorICAgIFB5TWVtX0ZyZWUocHl0aG9uaW9lbmNvZGluZyk7CisgICAgUHlfWERFQ1JFRihiaW1vZCk7CisgICAgUHlfWERFQ1JFRihpb21vZCk7CisgICAgcmV0dXJuIHN0YXR1czsKK30KKworCisvKiBQcmludCBmYXRhbCBlcnJvciBtZXNzYWdlIGFuZCBhYm9ydCAqLworCit2b2lkCitQeV9GYXRhbEVycm9yKGNvbnN0IGNoYXIgKm1zZykKK3sKKyAgICBjb25zdCBpbnQgZmQgPSBmaWxlbm8oc3RkZXJyKTsKKyAgICBQeVRocmVhZFN0YXRlICp0c3RhdGU7CisKKyAgICBmcHJpbnRmKHN0ZGVyciwgIkZhdGFsIFB5dGhvbiBlcnJvcjogJXNcbiIsIG1zZyk7CisgICAgZmZsdXNoKHN0ZGVycik7IC8qIGl0IGhlbHBzIGluIFdpbmRvd3MgZGVidWcgYnVpbGQgKi8KKyAgICBpZiAoUHlFcnJfT2NjdXJyZWQoKSkgeworICAgICAgICBQeUVycl9QcmludEV4KDApOworICAgIH0KKyAgICBlbHNlIHsKKyAgICAgICAgdHN0YXRlID0gKFB5VGhyZWFkU3RhdGUqKV9QeV9hdG9taWNfbG9hZF9yZWxheGVkKCZfUHlUaHJlYWRTdGF0ZV9DdXJyZW50KTsKKyAgICAgICAgaWYgKHRzdGF0ZSAhPSBOVUxMKSB7CisgICAgICAgICAgICBmcHV0YygnXG4nLCBzdGRlcnIpOworICAgICAgICAgICAgZmZsdXNoKHN0ZGVycik7CisgICAgICAgICAgICBfUHlfRHVtcFRyYWNlYmFja1RocmVhZHMoZmQsIHRzdGF0ZS0+aW50ZXJwLCB0c3RhdGUpOworICAgICAgICB9CisgICAgICAgIF9QeUZhdWx0aGFuZGxlcl9GaW5pKCk7CisgICAgfQorCisjaWZkZWYgTVNfV0lORE9XUworICAgIHsKKyAgICAgICAgc2l6ZV90IGxlbiA9IHN0cmxlbihtc2cpOworICAgICAgICBXQ0hBUiogYnVmZmVyOworICAgICAgICBzaXplX3QgaTsKKworICAgICAgICAvKiBDb252ZXJ0IHRoZSBtZXNzYWdlIHRvIHdjaGFyX3QuIFRoaXMgdXNlcyBhIHNpbXBsZSBvbmUtdG8tb25lCisgICAgICAgIGNvbnZlcnNpb24sIGFzc3VtaW5nIHRoYXQgdGhlIHRoaXMgZXJyb3IgbWVzc2FnZSBhY3R1YWxseSB1c2VzIEFTQ0lJCisgICAgICAgIG9ubHkuIElmIHRoaXMgY2Vhc2VzIHRvIGJlIHRydWUsIHdlIHdpbGwgaGF2ZSB0byBjb252ZXJ0LiAqLworICAgICAgICBidWZmZXIgPSBhbGxvY2EoIChsZW4rMSkgKiAoc2l6ZW9mICpidWZmZXIpKTsKKyAgICAgICAgZm9yKCBpPTA7IGk8PWxlbjsgKytpKQorICAgICAgICAgICAgYnVmZmVyW2ldID0gbXNnW2ldOworICAgICAgICBPdXRwdXREZWJ1Z1N0cmluZ1coTCJGYXRhbCBQeXRob24gZXJyb3I6ICIpOworICAgICAgICBPdXRwdXREZWJ1Z1N0cmluZ1coYnVmZmVyKTsKKyAgICAgICAgT3V0cHV0RGVidWdTdHJpbmdXKEwiXG4iKTsKKyAgICB9CisjaWZkZWYgX0RFQlVHCisgICAgRGVidWdCcmVhaygpOworI2VuZGlmCisjZW5kaWYgLyogTVNfV0lORE9XUyAqLworICAgIGFib3J0KCk7Cit9CisKKy8qIENsZWFuIHVwIGFuZCBleGl0ICovCisKKyNpZmRlZiBXSVRIX1RIUkVBRAorI2luY2x1ZGUgInB5dGhyZWFkLmgiCisjZW5kaWYKKworc3RhdGljIHZvaWQgKCpweWV4aXRmdW5jKSh2b2lkKSA9IE5VTEw7CisvKiBGb3IgdGhlIGF0ZXhpdCBtb2R1bGUuICovCit2b2lkIF9QeV9QeUF0RXhpdCh2b2lkICgqZnVuYykodm9pZCkpCit7CisgICAgcHlleGl0ZnVuYyA9IGZ1bmM7Cit9CisKK3N0YXRpYyB2b2lkCitjYWxsX3B5X2V4aXRmdW5jcyh2b2lkKQoreworICAgIGlmIChweWV4aXRmdW5jID09IE5VTEwpCisgICAgICAgIHJldHVybjsKKworICAgICgqcHlleGl0ZnVuYykoKTsKKyAgICBQeUVycl9DbGVhcigpOworfQorCisvKiBXYWl0IHVudGlsIHRocmVhZGluZy5fc2h1dGRvd24gY29tcGxldGVzLCBwcm92aWRlZAorICAgdGhlIHRocmVhZGluZyBtb2R1bGUgd2FzIGltcG9ydGVkIGluIHRoZSBmaXJzdCBwbGFjZS4KKyAgIFRoZSBzaHV0ZG93biByb3V0aW5lIHdpbGwgd2FpdCB1bnRpbCBhbGwgbm9uLWRhZW1vbgorICAgInRocmVhZGluZyIgdGhyZWFkcyBoYXZlIGNvbXBsZXRlZC4gKi8KK3N0YXRpYyB2b2lkCit3YWl0X2Zvcl90aHJlYWRfc2h1dGRvd24odm9pZCkKK3sKKyNpZmRlZiBXSVRIX1RIUkVBRAorICAgIF9QeV9JREVOVElGSUVSKF9zaHV0ZG93bik7CisgICAgUHlPYmplY3QgKnJlc3VsdDsKKyAgICBQeVRocmVhZFN0YXRlICp0c3RhdGUgPSBQeVRocmVhZFN0YXRlX0dFVCgpOworICAgIFB5T2JqZWN0ICp0aHJlYWRpbmcgPSBQeU1hcHBpbmdfR2V0SXRlbVN0cmluZyh0c3RhdGUtPmludGVycC0+bW9kdWxlcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRocmVhZGluZyIpOworICAgIGlmICh0aHJlYWRpbmcgPT0gTlVMTCkgeworICAgICAgICAvKiB0aHJlYWRpbmcgbm90IGltcG9ydGVkICovCisgICAgICAgIFB5RXJyX0NsZWFyKCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgcmVzdWx0ID0gX1B5T2JqZWN0X0NhbGxNZXRob2RJZCh0aHJlYWRpbmcsICZQeUlkX19zaHV0ZG93biwgIiIpOworICAgIGlmIChyZXN1bHQgPT0gTlVMTCkgeworICAgICAgICBQeUVycl9Xcml0ZVVucmFpc2FibGUodGhyZWFkaW5nKTsKKyAgICB9CisgICAgZWxzZSB7CisgICAgICAgIFB5X0RFQ1JFRihyZXN1bHQpOworICAgIH0KKyAgICBQeV9ERUNSRUYodGhyZWFkaW5nKTsKKyNlbmRpZgorfQorCisjZGVmaW5lIE5FWElURlVOQ1MgMzIKK3N0YXRpYyB2b2lkICgqZXhpdGZ1bmNzW05FWElURlVOQ1NdKSh2b2lkKTsKK3N0YXRpYyBpbnQgbmV4aXRmdW5jcyA9IDA7CisKK2ludCBQeV9BdEV4aXQodm9pZCAoKmZ1bmMpKHZvaWQpKQoreworICAgIGlmIChuZXhpdGZ1bmNzID49IE5FWElURlVOQ1MpCisgICAgICAgIHJldHVybiAtMTsKKyAgICBleGl0ZnVuY3NbbmV4aXRmdW5jcysrXSA9IGZ1bmM7CisgICAgcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkCitjYWxsX2xsX2V4aXRmdW5jcyh2b2lkKQoreworICAgIHdoaWxlIChuZXhpdGZ1bmNzID4gMCkKKyAgICAgICAgKCpleGl0ZnVuY3NbLS1uZXhpdGZ1bmNzXSkoKTsKKworICAgIGZmbHVzaChzdGRvdXQpOworICAgIGZmbHVzaChzdGRlcnIpOworfQorCit2b2lkCitQeV9FeGl0KGludCBzdHMpCit7CisgICAgUHlfRmluYWxpemUoKTsKKworICAgIGV4aXQoc3RzKTsKK30KKworc3RhdGljIHZvaWQKK2luaXRzaWdzKHZvaWQpCit7CisjaWZkZWYgU0lHUElQRQorICAgIFB5T1Nfc2V0c2lnKFNJR1BJUEUsIFNJR19JR04pOworI2VuZGlmCisjaWZkZWYgU0lHWEZaCisgICAgUHlPU19zZXRzaWcoU0lHWEZaLCBTSUdfSUdOKTsKKyNlbmRpZgorI2lmZGVmIFNJR1hGU1oKKyAgICBQeU9TX3NldHNpZyhTSUdYRlNaLCBTSUdfSUdOKTsKKyNlbmRpZgorICAgIFB5T1NfSW5pdEludGVycnVwdHMoKTsgLyogTWF5IGltcGx5IGluaXRzaWduYWwoKSAqLworICAgIGlmIChQeUVycl9PY2N1cnJlZCgpKSB7CisgICAgICAgIFB5X0ZhdGFsRXJyb3IoIlB5X0luaXRpYWxpemU6IGNhbid0IGltcG9ydCBzaWduYWwiKTsKKyAgICB9Cit9CisKKworLyogUmVzdG9yZSBzaWduYWxzIHRoYXQgdGhlIGludGVycHJldGVyIGhhcyBjYWxsZWQgU0lHX0lHTiBvbiB0byBTSUdfREZMLgorICoKKyAqIEFsbCBvZiB0aGUgY29kZSBpbiB0aGlzIGZ1bmN0aW9uIG11c3Qgb25seSB1c2UgYXN5bmMtc2lnbmFsLXNhZmUgZnVuY3Rpb25zLAorICogbGlzdGVkIGF0IGBtYW4gNyBzaWduYWxgIG9yCisgKiBodHRwOi8vd3d3Lm9wZW5ncm91cC5vcmcvb25saW5lcHVicy8wMDk2OTUzOTkvZnVuY3Rpb25zL3hzaF9jaGFwMDJfMDQuaHRtbC4KKyAqLwordm9pZAorX1B5X1Jlc3RvcmVTaWduYWxzKHZvaWQpCit7CisjaWZkZWYgU0lHUElQRQorICAgIFB5T1Nfc2V0c2lnKFNJR1BJUEUsIFNJR19ERkwpOworI2VuZGlmCisjaWZkZWYgU0lHWEZaCisgICAgUHlPU19zZXRzaWcoU0lHWEZaLCBTSUdfREZMKTsKKyNlbmRpZgorI2lmZGVmIFNJR1hGU1oKKyAgICBQeU9TX3NldHNpZyhTSUdYRlNaLCBTSUdfREZMKTsKKyNlbmRpZgorfQorCisKKy8qCisgKiBUaGUgZmlsZSBkZXNjcmlwdG9yIGZkIGlzIGNvbnNpZGVyZWQgYGBpbnRlcmFjdGl2ZScnIGlmIGVpdGhlcgorICogICBhKSBpc2F0dHkoZmQpIGlzIFRSVUUsIG9yCisgKiAgIGIpIHRoZSAtaSBmbGFnIHdhcyBnaXZlbiwgYW5kIHRoZSBmaWxlbmFtZSBhc3NvY2lhdGVkIHdpdGgKKyAqICAgICAgdGhlIGRlc2NyaXB0b3IgaXMgTlVMTCBvciAiPHN0ZGluPiIgb3IgIj8/PyIuCisgKi8KK2ludAorUHlfRmRJc0ludGVyYWN0aXZlKEZJTEUgKmZwLCBjb25zdCBjaGFyICpmaWxlbmFtZSkKK3sKKyAgICBpZiAoaXNhdHR5KChpbnQpZmlsZW5vKGZwKSkpCisgICAgICAgIHJldHVybiAxOworICAgIGlmICghUHlfSW50ZXJhY3RpdmVGbGFnKQorICAgICAgICByZXR1cm4gMDsKKyAgICByZXR1cm4gKGZpbGVuYW1lID09IE5VTEwpIHx8CisgICAgICAgICAgIChzdHJjbXAoZmlsZW5hbWUsICI8c3RkaW4+IikgPT0gMCkgfHwKKyAgICAgICAgICAgKHN0cmNtcChmaWxlbmFtZSwgIj8/PyIpID09IDApOworfQorCisKKy8qIFdyYXBwZXJzIGFyb3VuZCBzaWdhY3Rpb24oKSBvciBzaWduYWwoKS4gKi8KKworUHlPU19zaWdoYW5kbGVyX3QKK1B5T1NfZ2V0c2lnKGludCBzaWcpCit7CisjaWZkZWYgSEFWRV9TSUdBQ1RJT04KKyAgICBzdHJ1Y3Qgc2lnYWN0aW9uIGNvbnRleHQ7CisgICAgaWYgKHNpZ2FjdGlvbihzaWcsIE5VTEwsICZjb250ZXh0KSA9PSAtMSkKKyAgICAgICAgcmV0dXJuIFNJR19FUlI7CisgICAgcmV0dXJuIGNvbnRleHQuc2FfaGFuZGxlcjsKKyNlbHNlCisgICAgUHlPU19zaWdoYW5kbGVyX3QgaGFuZGxlcjsKKy8qIFNwZWNpYWwgc2lnbmFsIGhhbmRsaW5nIGZvciB0aGUgc2VjdXJlIENSVCBpbiBWaXN1YWwgU3R1ZGlvIDIwMDUgKi8KKyNpZiBkZWZpbmVkKF9NU0NfVkVSKSAmJiBfTVNDX1ZFUiA+PSAxNDAwCisgICAgc3dpdGNoIChzaWcpIHsKKyAgICAvKiBPbmx5IHRoZXNlIHNpZ25hbHMgYXJlIHZhbGlkICovCisgICAgY2FzZSBTSUdJTlQ6CisgICAgY2FzZSBTSUdJTEw6CisgICAgY2FzZSBTSUdGUEU6CisgICAgY2FzZSBTSUdTRUdWOgorICAgIGNhc2UgU0lHVEVSTToKKyAgICBjYXNlIFNJR0JSRUFLOgorICAgIGNhc2UgU0lHQUJSVDoKKyAgICAgICAgYnJlYWs7CisgICAgLyogRG9uJ3QgY2FsbCBzaWduYWwoKSB3aXRoIG90aGVyIHZhbHVlcyBvciBpdCB3aWxsIGFzc2VydCAqLworICAgIGRlZmF1bHQ6CisgICAgICAgIHJldHVybiBTSUdfRVJSOworICAgIH0KKyNlbmRpZiAvKiBfTVNDX1ZFUiAmJiBfTVNDX1ZFUiA+PSAxNDAwICovCisgICAgaGFuZGxlciA9IHNpZ25hbChzaWcsIFNJR19JR04pOworICAgIGlmIChoYW5kbGVyICE9IFNJR19FUlIpCisgICAgICAgIHNpZ25hbChzaWcsIGhhbmRsZXIpOworICAgIHJldHVybiBoYW5kbGVyOworI2VuZGlmCit9CisKKy8qCisgKiBBbGwgb2YgdGhlIGNvZGUgaW4gdGhpcyBmdW5jdGlvbiBtdXN0IG9ubHkgdXNlIGFzeW5jLXNpZ25hbC1zYWZlIGZ1bmN0aW9ucywKKyAqIGxpc3RlZCBhdCBgbWFuIDcgc2lnbmFsYCBvcgorICogaHR0cDovL3d3dy5vcGVuZ3JvdXAub3JnL29ubGluZXB1YnMvMDA5Njk1Mzk5L2Z1bmN0aW9ucy94c2hfY2hhcDAyXzA0Lmh0bWwuCisgKi8KK1B5T1Nfc2lnaGFuZGxlcl90CitQeU9TX3NldHNpZyhpbnQgc2lnLCBQeU9TX3NpZ2hhbmRsZXJfdCBoYW5kbGVyKQoreworI2lmZGVmIEhBVkVfU0lHQUNUSU9OCisgICAgLyogU29tZSBjb2RlIGluIE1vZHVsZXMvc2lnbmFsbW9kdWxlLmMgZGVwZW5kcyBvbiBzaWdhY3Rpb24oKSBiZWluZworICAgICAqIHVzZWQgaGVyZSBpZiBIQVZFX1NJR0FDVElPTiBpcyBkZWZpbmVkLiAgRml4IHRoYXQgaWYgdGhpcyBjb2RlCisgICAgICogY2hhbmdlcyB0byBpbnZhbGlkYXRlIHRoYXQgYXNzdW1wdGlvbi4KKyAgICAgKi8KKyAgICBzdHJ1Y3Qgc2lnYWN0aW9uIGNvbnRleHQsIG9jb250ZXh0OworICAgIGNvbnRleHQuc2FfaGFuZGxlciA9IGhhbmRsZXI7CisgICAgc2lnZW1wdHlzZXQoJmNvbnRleHQuc2FfbWFzayk7CisgICAgY29udGV4dC5zYV9mbGFncyA9IDA7CisgICAgaWYgKHNpZ2FjdGlvbihzaWcsICZjb250ZXh0LCAmb2NvbnRleHQpID09IC0xKQorICAgICAgICByZXR1cm4gU0lHX0VSUjsKKyAgICByZXR1cm4gb2NvbnRleHQuc2FfaGFuZGxlcjsKKyNlbHNlCisgICAgUHlPU19zaWdoYW5kbGVyX3Qgb2xkaGFuZGxlcjsKKyAgICBvbGRoYW5kbGVyID0gc2lnbmFsKHNpZywgaGFuZGxlcik7CisjaWZkZWYgSEFWRV9TSUdJTlRFUlJVUFQKKyAgICBzaWdpbnRlcnJ1cHQoc2lnLCAxKTsKKyNlbmRpZgorICAgIHJldHVybiBvbGRoYW5kbGVyOworI2VuZGlmCit9CisKKyNpZmRlZiBfX2NwbHVzcGx1cworfQorI2VuZGlmCmRpZmYgLS1naXQgYS9QeXRob24vcHlzdGF0ZS5jIGIvUHl0aG9uL3B5c3RhdGUuYwppbmRleCAyYWMyZmQ1Li4zMmE2MzVjIDEwMDY0NAotLS0gYS9QeXRob24vcHlzdGF0ZS5jCisrKyBiL1B5dGhvbi9weXN0YXRlLmMKQEAgLTQwMyw3ICs0MDMsNyBAQAogdm9pZAogUHlUaHJlYWRTdGF0ZV9EZWxldGUoUHlUaHJlYWRTdGF0ZSAqdHN0YXRlKQogewotICAgIGlmICh0c3RhdGUgPT0gX1B5X2F0b21pY19sb2FkX3JlbGF4ZWQoJl9QeVRocmVhZFN0YXRlX0N1cnJlbnQpKQorICAgIGlmICh0c3RhdGUgPT0gKFB5VGhyZWFkU3RhdGUqKV9QeV9hdG9taWNfbG9hZF9yZWxheGVkKCZfUHlUaHJlYWRTdGF0ZV9DdXJyZW50KSkKICAgICAgICAgUHlfRmF0YWxFcnJvcigiUHlUaHJlYWRTdGF0ZV9EZWxldGU6IHRzdGF0ZSBpcyBzdGlsbCBjdXJyZW50Iik7CiAjaWZkZWYgV0lUSF9USFJFQUQKICAgICBpZiAoYXV0b0ludGVycHJldGVyU3RhdGUgJiYgUHlUaHJlYWRfZ2V0X2tleV92YWx1ZShhdXRvVExTa2V5KSA9PSB0c3RhdGUpCkBAIC02NjIsNyArNjYyLDcgQEAKIHsKICAgICAvKiBNdXN0IGJlIHRoZSB0c3RhdGUgZm9yIHRoaXMgdGhyZWFkICovCiAgICAgYXNzZXJ0KFB5R0lMU3RhdGVfR2V0VGhpc1RocmVhZFN0YXRlKCk9PXRzdGF0ZSk7Ci0gICAgcmV0dXJuIHRzdGF0ZSA9PSBfUHlfYXRvbWljX2xvYWRfcmVsYXhlZCgmX1B5VGhyZWFkU3RhdGVfQ3VycmVudCk7CisgICAgcmV0dXJuIHRzdGF0ZSA9PSAoUHlUaHJlYWRTdGF0ZSopX1B5X2F0b21pY19sb2FkX3JlbGF4ZWQoJl9QeVRocmVhZFN0YXRlX0N1cnJlbnQpOwogfQogCiAvKiBJbnRlcm5hbCBpbml0aWFsaXphdGlvbi9maW5hbGl6YXRpb24gZnVuY3Rpb25zIGNhbGxlZCBieQpkaWZmIC0tZ2l0IGEvUHl0aG9uL3B5dGhvbnJ1bi5jIGIvUHl0aG9uL3B5dGhvbnJ1bi5jCmluZGV4IDAzMjc4MzAuLjk5MmE1YTMgMTAwNjQ0Ci0tLSBhL1B5dGhvbi9weXRob25ydW4uYworKysgYi9QeXRob24vcHl0aG9ucnVuLmMKQEAgLTE1LDYgKzE1LDcgQEAKICNpbmNsdWRlICJhc3QuaCIKICNpbmNsdWRlICJtYXJzaGFsLmgiCiAjaW5jbHVkZSAib3NkZWZzLmgiCisjaW5jbHVkZSA8bG9jYWxlLmg+CiAKICNpZmRlZiBIQVZFX1NJR05BTF9ICiAjaW5jbHVkZSA8c2lnbmFsLmg+CkBAIC0yNSwxOCArMjYsMTIgQEAKICNlbmRpZgogCiAjaWZkZWYgSEFWRV9MQU5HSU5GT19ICi0jaW5jbHVkZSA8bG9jYWxlLmg+CiAjaW5jbHVkZSA8bGFuZ2luZm8uaD4KICNlbmRpZgogCiAjaWZkZWYgTVNfV0lORE9XUwogI3VuZGVmIEJZVEUKICNpbmNsdWRlICJ3aW5kb3dzLmgiCi0jZGVmaW5lIFBBVEhfTUFYIE1BWFBBVEhMRU4KLSNlbmRpZgotCi0jaWZkZWYgX19nbnVfaHVyZF9fCi0jZGVmaW5lIFBBVEhfTUFYIE1BWFBBVEhMRU4KICNlbmRpZgogCiBfUHlfSURFTlRJRklFUihidWlsdGlucyk7CkBAIC00NSw3ICs0MCw2IEBACiBfUHlfSURFTlRJRklFUihsYXN0X3RyYWNlYmFjayk7CiBfUHlfSURFTlRJRklFUihsYXN0X3R5cGUpOwogX1B5X0lERU5USUZJRVIobGFzdF92YWx1ZSk7Ci1fUHlfSURFTlRJRklFUihuYW1lKTsKIF9QeV9JREVOVElGSUVSKHBzMSk7CiBfUHlfSURFTlRJRklFUihwczIpOwogX1B5X0lERU5USUZJRVIoc3RkaW4pOwpAQCAtNTMsNDMgKzQ3LDEzIEBACiBfUHlfSURFTlRJRklFUihzdGRlcnIpOwogX1B5X3N0YXRpY19zdHJpbmcoUHlJZF9zdHJpbmcsICI8c3RyaW5nPiIpOwogCi0jaWZkZWYgUHlfUkVGX0RFQlVHCi1zdGF0aWMKLXZvaWQgX3ByaW50X3RvdGFsX3JlZnModm9pZCkgewotICAgIFB5T2JqZWN0ICp4b3B0aW9ucywgKnZhbHVlOwotICAgIF9QeV9JREVOVElGSUVSKHNob3dyZWZjb3VudCk7Ci0KLSAgICB4b3B0aW9ucyA9IFB5U3lzX0dldFhPcHRpb25zKCk7Ci0gICAgaWYgKHhvcHRpb25zID09IE5VTEwpCi0gICAgICAgIHJldHVybjsKLSAgICB2YWx1ZSA9IF9QeURpY3RfR2V0SXRlbUlkKHhvcHRpb25zLCAmUHlJZF9zaG93cmVmY291bnQpOwotICAgIGlmICh2YWx1ZSA9PSBQeV9UcnVlKQotICAgICAgICBmcHJpbnRmKHN0ZGVyciwKLSAgICAgICAgICAgICAgICAiWyUiIFBZX0ZPUk1BVF9TSVpFX1QgImQgcmVmcywgIgotICAgICAgICAgICAgICAgICIlIiBQWV9GT1JNQVRfU0laRV9UICJkIGJsb2Nrc11cbiIsCi0gICAgICAgICAgICAgICAgX1B5X0dldFJlZlRvdGFsKCksIF9QeV9HZXRBbGxvY2F0ZWRCbG9ja3MoKSk7Ci19Ci0jZW5kaWYKLQotI2lmbmRlZiBQeV9SRUZfREVCVUcKLSNkZWZpbmUgUFJJTlRfVE9UQUxfUkVGUygpCi0jZWxzZSAvKiBQeV9SRUZfREVCVUcgKi8KLSNkZWZpbmUgUFJJTlRfVE9UQUxfUkVGUygpIF9wcmludF90b3RhbF9yZWZzKCkKLSNlbmRpZgotCiAjaWZkZWYgX19jcGx1c3BsdXMKIGV4dGVybiAiQyIgewogI2VuZGlmCiAKLWV4dGVybiB3Y2hhcl90ICpQeV9HZXRQYXRoKHZvaWQpOwotCiBleHRlcm4gZ3JhbW1hciBfUHlQYXJzZXJfR3JhbW1hcjsgLyogRnJvbSBncmFtaW5pdC5jICovCiAKIC8qIEZvcndhcmQgKi8KLXN0YXRpYyB2b2lkIGluaXRtYWluKFB5SW50ZXJwcmV0ZXJTdGF0ZSAqaW50ZXJwKTsKLXN0YXRpYyBpbnQgaW5pdGZzZW5jb2RpbmcoUHlJbnRlcnByZXRlclN0YXRlICppbnRlcnApOwotc3RhdGljIHZvaWQgaW5pdHNpdGUodm9pZCk7Ci1zdGF0aWMgaW50IGluaXRzdGRpbyh2b2lkKTsKIHN0YXRpYyB2b2lkIGZsdXNoX2lvKHZvaWQpOwogc3RhdGljIFB5T2JqZWN0ICpydW5fbW9kKG1vZF90eSwgUHlPYmplY3QgKiwgUHlPYmplY3QgKiwgUHlPYmplY3QgKiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlDb21waWxlckZsYWdzICosIFB5QXJlbmEgKik7CkBAIC05NywxMTgyICs2MSw2IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeUNvbXBpbGVyRmxhZ3MgKik7CiBzdGF0aWMgdm9pZCBlcnJfaW5wdXQocGVycmRldGFpbCAqKTsKIHN0YXRpYyB2b2lkIGVycl9mcmVlKHBlcnJkZXRhaWwgKik7Ci1zdGF0aWMgdm9pZCBpbml0c2lncyh2b2lkKTsKLXN0YXRpYyB2b2lkIGNhbGxfcHlfZXhpdGZ1bmNzKHZvaWQpOwotc3RhdGljIHZvaWQgd2FpdF9mb3JfdGhyZWFkX3NodXRkb3duKHZvaWQpOwotc3RhdGljIHZvaWQgY2FsbF9sbF9leGl0ZnVuY3Modm9pZCk7Ci1leHRlcm4gaW50IF9QeVVuaWNvZGVfSW5pdCh2b2lkKTsKLWV4dGVybiBpbnQgX1B5U3RydWN0U2VxdWVuY2VfSW5pdCh2b2lkKTsKLWV4dGVybiB2b2lkIF9QeVVuaWNvZGVfRmluaSh2b2lkKTsKLWV4dGVybiBpbnQgX1B5TG9uZ19Jbml0KHZvaWQpOwotZXh0ZXJuIHZvaWQgUHlMb25nX0Zpbmkodm9pZCk7Ci1leHRlcm4gaW50IF9QeUZhdWx0aGFuZGxlcl9Jbml0KHZvaWQpOwotZXh0ZXJuIHZvaWQgX1B5RmF1bHRoYW5kbGVyX0Zpbmkodm9pZCk7Ci1leHRlcm4gdm9pZCBfUHlIYXNoX0Zpbmkodm9pZCk7Ci1leHRlcm4gaW50IF9QeVRyYWNlTWFsbG9jX0luaXQodm9pZCk7Ci1leHRlcm4gaW50IF9QeVRyYWNlTWFsbG9jX0Zpbmkodm9pZCk7Ci0KLSNpZmRlZiBXSVRIX1RIUkVBRAotZXh0ZXJuIHZvaWQgX1B5R0lMU3RhdGVfSW5pdChQeUludGVycHJldGVyU3RhdGUgKiwgUHlUaHJlYWRTdGF0ZSAqKTsKLWV4dGVybiB2b2lkIF9QeUdJTFN0YXRlX0Zpbmkodm9pZCk7Ci0jZW5kaWYgLyogV0lUSF9USFJFQUQgKi8KLQotaW50IFB5X0RlYnVnRmxhZzsgLyogTmVlZGVkIGJ5IHBhcnNlci5jICovCi1pbnQgUHlfVmVyYm9zZUZsYWc7IC8qIE5lZWRlZCBieSBpbXBvcnQuYyAqLwotaW50IFB5X1F1aWV0RmxhZzsgLyogTmVlZGVkIGJ5IHN5c21vZHVsZS5jICovCi1pbnQgUHlfSW50ZXJhY3RpdmVGbGFnOyAvKiBOZWVkZWQgYnkgUHlfRmRJc0ludGVyYWN0aXZlKCkgYmVsb3cgKi8KLWludCBQeV9JbnNwZWN0RmxhZzsgLyogTmVlZGVkIHRvIGRldGVybWluZSB3aGV0aGVyIHRvIGV4aXQgYXQgU3lzdGVtRXhpdCAqLwotaW50IFB5X05vU2l0ZUZsYWc7IC8qIFN1cHByZXNzICdpbXBvcnQgc2l0ZScgKi8KLWludCBQeV9CeXRlc1dhcm5pbmdGbGFnOyAvKiBXYXJuIG9uIHN0cihieXRlcykgYW5kIHN0cihidWZmZXIpICovCi1pbnQgUHlfRG9udFdyaXRlQnl0ZWNvZGVGbGFnOyAvKiBTdXBwcmVzcyB3cml0aW5nIGJ5dGVjb2RlIGZpbGVzICgqLnB5W2NvXSkgKi8KLWludCBQeV9Vc2VDbGFzc0V4Y2VwdGlvbnNGbGFnID0gMTsgLyogTmVlZGVkIGJ5IGJsdGlubW9kdWxlLmM6IGRlcHJlY2F0ZWQgKi8KLWludCBQeV9Gcm96ZW5GbGFnOyAvKiBOZWVkZWQgYnkgZ2V0cGF0aC5jICovCi1pbnQgUHlfSWdub3JlRW52aXJvbm1lbnRGbGFnOyAvKiBlLmcuIFBZVEhPTlBBVEgsIFBZVEhPTkhPTUUgKi8KLWludCBQeV9Ob1VzZXJTaXRlRGlyZWN0b3J5ID0gMDsgLyogZm9yIC1zIGFuZCBzaXRlLnB5ICovCi1pbnQgUHlfVW5idWZmZXJlZFN0ZGlvRmxhZyA9IDA7IC8qIFVuYnVmZmVyZWQgYmluYXJ5IHN0ZHtpbixvdXQsZXJyfSAqLwotaW50IFB5X0hhc2hSYW5kb21pemF0aW9uRmxhZyA9IDA7IC8qIGZvciAtUiBhbmQgUFlUSE9OSEFTSFNFRUQgKi8KLWludCBQeV9Jc29sYXRlZEZsYWcgPSAwOyAvKiBmb3IgLUksIGlzb2xhdGUgZnJvbSB1c2VyJ3MgZW52ICovCi0KLVB5VGhyZWFkU3RhdGUgKl9QeV9GaW5hbGl6aW5nID0gTlVMTDsKLQotLyogSGFjayB0byBmb3JjZSBsb2FkaW5nIG9mIG9iamVjdCBmaWxlcyAqLwotaW50ICgqX1B5T1NfbXlzdHJuaWNtcF9oYWNrKShjb25zdCBjaGFyICosIGNvbnN0IGNoYXIgKiwgUHlfc3NpemVfdCkgPSBcCi0gICAgUHlPU19teXN0cm5pY21wOyAvKiBQeXRob24vcHlzdHJjbXAubyAqLwotCi0vKiBQeU1vZHVsZV9HZXRXYXJuaW5nc01vZHVsZSBpcyBubyBsb25nZXIgbmVjZXNzYXJ5IGFzIG9mIDIuNgotc2luY2UgX3dhcm5pbmdzIGlzIGJ1aWx0aW4uICBUaGlzIEFQSSBzaG91bGQgbm90IGJlIHVzZWQuICovCi1QeU9iamVjdCAqCi1QeU1vZHVsZV9HZXRXYXJuaW5nc01vZHVsZSh2b2lkKQotewotICAgIHJldHVybiBQeUltcG9ydF9JbXBvcnRNb2R1bGUoIndhcm5pbmdzIik7Ci19Ci0KLXN0YXRpYyBpbnQgaW5pdGlhbGl6ZWQgPSAwOwotCi0vKiBBUEkgdG8gYWNjZXNzIHRoZSBpbml0aWFsaXplZCBmbGFnIC0tIHVzZWZ1bCBmb3IgZXNvdGVyaWMgdXNlICovCi0KLWludAotUHlfSXNJbml0aWFsaXplZCh2b2lkKQotewotICAgIHJldHVybiBpbml0aWFsaXplZDsKLX0KLQotLyogSGVscGVyIHRvIGFsbG93IGFuIGVtYmVkZGluZyBhcHBsaWNhdGlvbiB0byBvdmVycmlkZSB0aGUgbm9ybWFsCi0gKiBtZWNoYW5pc20gdGhhdCBhdHRlbXB0cyB0byBmaWd1cmUgb3V0IGFuIGFwcHJvcHJpYXRlIElPIGVuY29kaW5nCi0gKi8KLQotc3RhdGljIGNoYXIgKl9QeV9TdGFuZGFyZFN0cmVhbUVuY29kaW5nID0gTlVMTDsKLXN0YXRpYyBjaGFyICpfUHlfU3RhbmRhcmRTdHJlYW1FcnJvcnMgPSBOVUxMOwotCi1pbnQKLVB5X1NldFN0YW5kYXJkU3RyZWFtRW5jb2RpbmcoY29uc3QgY2hhciAqZW5jb2RpbmcsIGNvbnN0IGNoYXIgKmVycm9ycykKLXsKLSAgICBpZiAoUHlfSXNJbml0aWFsaXplZCgpKSB7Ci0gICAgICAgIC8qIFRoaXMgaXMgdG9vIGxhdGUgdG8gaGF2ZSBhbnkgZWZmZWN0ICovCi0gICAgICAgIHJldHVybiAtMTsKLSAgICB9Ci0gICAgLyogQ2FuJ3QgY2FsbCBQeUVycl9Ob01lbW9yeSgpIG9uIGVycm9ycywgYXMgUHl0aG9uIGhhc24ndCBiZWVuCi0gICAgICogaW5pdGlhbGlzZWQgeWV0LgotICAgICAqCi0gICAgICogSG93ZXZlciwgdGhlIHJhdyBtZW1vcnkgYWxsb2NhdG9ycyBhcmUgaW5pdGlhbGlzZWQgYXBwcm9wcmlhdGVseQotICAgICAqIGFzIEMgc3RhdGljIHZhcmlhYmxlcywgc28gX1B5TWVtX1Jhd1N0cmR1cCBpcyBPSyBldmVuIHRob3VnaAotICAgICAqIFB5X0luaXRpYWxpemUgaGFzbid0IGJlZW4gY2FsbGVkIHlldC4KLSAgICAgKi8KLSAgICBpZiAoZW5jb2RpbmcpIHsKLSAgICAgICAgX1B5X1N0YW5kYXJkU3RyZWFtRW5jb2RpbmcgPSBfUHlNZW1fUmF3U3RyZHVwKGVuY29kaW5nKTsKLSAgICAgICAgaWYgKCFfUHlfU3RhbmRhcmRTdHJlYW1FbmNvZGluZykgewotICAgICAgICAgICAgcmV0dXJuIC0yOwotICAgICAgICB9Ci0gICAgfQotICAgIGlmIChlcnJvcnMpIHsKLSAgICAgICAgX1B5X1N0YW5kYXJkU3RyZWFtRXJyb3JzID0gX1B5TWVtX1Jhd1N0cmR1cChlcnJvcnMpOwotICAgICAgICBpZiAoIV9QeV9TdGFuZGFyZFN0cmVhbUVycm9ycykgewotICAgICAgICAgICAgaWYgKF9QeV9TdGFuZGFyZFN0cmVhbUVuY29kaW5nKSB7Ci0gICAgICAgICAgICAgICAgUHlNZW1fUmF3RnJlZShfUHlfU3RhbmRhcmRTdHJlYW1FbmNvZGluZyk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICByZXR1cm4gLTM7Ci0gICAgICAgIH0KLSAgICB9Ci0gICAgcmV0dXJuIDA7Ci19Ci0KLS8qIEdsb2JhbCBpbml0aWFsaXphdGlvbnMuICBDYW4gYmUgdW5kb25lIGJ5IFB5X0ZpbmFsaXplKCkuICBEb24ndAotICAgY2FsbCB0aGlzIHR3aWNlIHdpdGhvdXQgYW4gaW50ZXJ2ZW5pbmcgUHlfRmluYWxpemUoKSBjYWxsLiAgV2hlbgotICAgaW5pdGlhbGl6YXRpb25zIGZhaWwsIGEgZmF0YWwgZXJyb3IgaXMgaXNzdWVkIGFuZCB0aGUgZnVuY3Rpb24gZG9lcwotICAgbm90IHJldHVybi4gIE9uIHJldHVybiwgdGhlIGZpcnN0IHRocmVhZCBhbmQgaW50ZXJwcmV0ZXIgc3RhdGUgaGF2ZQotICAgYmVlbiBjcmVhdGVkLgotCi0gICBMb2NraW5nOiB5b3UgbXVzdCBob2xkIHRoZSBpbnRlcnByZXRlciBsb2NrIHdoaWxlIGNhbGxpbmcgdGhpcy4KLSAgIChJZiB0aGUgbG9jayBoYXMgbm90IHlldCBiZWVuIGluaXRpYWxpemVkLCB0aGF0J3MgZXF1aXZhbGVudCB0bwotICAgaGF2aW5nIHRoZSBsb2NrLCBidXQgeW91IGNhbm5vdCB1c2UgbXVsdGlwbGUgdGhyZWFkcy4pCi0KLSovCi0KLXN0YXRpYyBpbnQKLWFkZF9mbGFnKGludCBmbGFnLCBjb25zdCBjaGFyICplbnZzKQotewotICAgIGludCBlbnYgPSBhdG9pKGVudnMpOwotICAgIGlmIChmbGFnIDwgZW52KQotICAgICAgICBmbGFnID0gZW52OwotICAgIGlmIChmbGFnIDwgMSkKLSAgICAgICAgZmxhZyA9IDE7Ci0gICAgcmV0dXJuIGZsYWc7Ci19Ci0KLXN0YXRpYyBjaGFyKgotZ2V0X2NvZGVjX25hbWUoY29uc3QgY2hhciAqZW5jb2RpbmcpCi17Ci0gICAgY2hhciAqbmFtZV91dGY4LCAqbmFtZV9zdHI7Ci0gICAgUHlPYmplY3QgKmNvZGVjLCAqbmFtZSA9IE5VTEw7Ci0KLSAgICBjb2RlYyA9IF9QeUNvZGVjX0xvb2t1cChlbmNvZGluZyk7Ci0gICAgaWYgKCFjb2RlYykKLSAgICAgICAgZ290byBlcnJvcjsKLQotICAgIG5hbWUgPSBfUHlPYmplY3RfR2V0QXR0cklkKGNvZGVjLCAmUHlJZF9uYW1lKTsKLSAgICBQeV9DTEVBUihjb2RlYyk7Ci0gICAgaWYgKCFuYW1lKQotICAgICAgICBnb3RvIGVycm9yOwotCi0gICAgbmFtZV91dGY4ID0gX1B5VW5pY29kZV9Bc1N0cmluZyhuYW1lKTsKLSAgICBpZiAobmFtZV91dGY4ID09IE5VTEwpCi0gICAgICAgIGdvdG8gZXJyb3I7Ci0gICAgbmFtZV9zdHIgPSBfUHlNZW1fUmF3U3RyZHVwKG5hbWVfdXRmOCk7Ci0gICAgUHlfREVDUkVGKG5hbWUpOwotICAgIGlmIChuYW1lX3N0ciA9PSBOVUxMKSB7Ci0gICAgICAgIFB5RXJyX05vTWVtb3J5KCk7Ci0gICAgICAgIHJldHVybiBOVUxMOwotICAgIH0KLSAgICByZXR1cm4gbmFtZV9zdHI7Ci0KLWVycm9yOgotICAgIFB5X1hERUNSRUYoY29kZWMpOwotICAgIFB5X1hERUNSRUYobmFtZSk7Ci0gICAgcmV0dXJuIE5VTEw7Ci19Ci0KLXN0YXRpYyBjaGFyKgotZ2V0X2xvY2FsZV9lbmNvZGluZyh2b2lkKQotewotI2lmZGVmIE1TX1dJTkRPV1MKLSAgICBjaGFyIGNvZGVwYWdlWzEwMF07Ci0gICAgUHlPU19zbnByaW50Zihjb2RlcGFnZSwgc2l6ZW9mKGNvZGVwYWdlKSwgImNwJWQiLCBHZXRBQ1AoKSk7Ci0gICAgcmV0dXJuIGdldF9jb2RlY19uYW1lKGNvZGVwYWdlKTsKLSNlbGlmIGRlZmluZWQoSEFWRV9MQU5HSU5GT19IKSAmJiBkZWZpbmVkKENPREVTRVQpCi0gICAgY2hhciogY29kZXNldCA9IG5sX2xhbmdpbmZvKENPREVTRVQpOwotICAgIGlmICghY29kZXNldCB8fCBjb2Rlc2V0WzBdID09ICdcMCcpIHsKLSAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsICJDT0RFU0VUIGlzIG5vdCBzZXQgb3IgZW1wdHkiKTsKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgfQotICAgIHJldHVybiBnZXRfY29kZWNfbmFtZShjb2Rlc2V0KTsKLSNlbHNlCi0gICAgUHlFcnJfU2V0Tm9uZShQeUV4Y19Ob3RJbXBsZW1lbnRlZEVycm9yKTsKLSAgICByZXR1cm4gTlVMTDsKLSNlbmRpZgotfQotCi1zdGF0aWMgdm9pZAotaW1wb3J0X2luaXQoUHlJbnRlcnByZXRlclN0YXRlICppbnRlcnAsIFB5T2JqZWN0ICpzeXNtb2QpCi17Ci0gICAgUHlPYmplY3QgKmltcG9ydGxpYjsKLSAgICBQeU9iamVjdCAqaW1wbW9kOwotICAgIFB5T2JqZWN0ICpzeXNfbW9kdWxlczsKLSAgICBQeU9iamVjdCAqdmFsdWU7Ci0KLSAgICAvKiBJbXBvcnQgX2ltcG9ydGxpYiB0aHJvdWdoIGl0cyBmcm96ZW4gdmVyc2lvbiwgX2Zyb3plbl9pbXBvcnRsaWIuICovCi0gICAgaWYgKFB5SW1wb3J0X0ltcG9ydEZyb3plbk1vZHVsZSgiX2Zyb3plbl9pbXBvcnRsaWIiKSA8PSAwKSB7Ci0gICAgICAgIFB5X0ZhdGFsRXJyb3IoIlB5X0luaXRpYWxpemU6IGNhbid0IGltcG9ydCBfZnJvemVuX2ltcG9ydGxpYiIpOwotICAgIH0KLSAgICBlbHNlIGlmIChQeV9WZXJib3NlRmxhZykgewotICAgICAgICBQeVN5c19Gb3JtYXRTdGRlcnIoImltcG9ydCBfZnJvemVuX2ltcG9ydGxpYiAjIGZyb3plblxuIik7Ci0gICAgfQotICAgIGltcG9ydGxpYiA9IFB5SW1wb3J0X0FkZE1vZHVsZSgiX2Zyb3plbl9pbXBvcnRsaWIiKTsKLSAgICBpZiAoaW1wb3J0bGliID09IE5VTEwpIHsKLSAgICAgICAgUHlfRmF0YWxFcnJvcigiUHlfSW5pdGlhbGl6ZTogY291bGRuJ3QgZ2V0IF9mcm96ZW5faW1wb3J0bGliIGZyb20gIgotICAgICAgICAgICAgICAgICAgICAgICJzeXMubW9kdWxlcyIpOwotICAgIH0KLSAgICBpbnRlcnAtPmltcG9ydGxpYiA9IGltcG9ydGxpYjsKLSAgICBQeV9JTkNSRUYoaW50ZXJwLT5pbXBvcnRsaWIpOwotCi0gICAgLyogSW5zdGFsbCBfaW1wb3J0bGliIGFzIF9faW1wb3J0X18gKi8KLSAgICBpbXBtb2QgPSBQeUluaXRfaW1wKCk7Ci0gICAgaWYgKGltcG1vZCA9PSBOVUxMKSB7Ci0gICAgICAgIFB5X0ZhdGFsRXJyb3IoIlB5X0luaXRpYWxpemU6IGNhbid0IGltcG9ydCBpbXAiKTsKLSAgICB9Ci0gICAgZWxzZSBpZiAoUHlfVmVyYm9zZUZsYWcpIHsKLSAgICAgICAgUHlTeXNfRm9ybWF0U3RkZXJyKCJpbXBvcnQgaW1wICMgYnVpbHRpblxuIik7Ci0gICAgfQotICAgIHN5c19tb2R1bGVzID0gUHlJbXBvcnRfR2V0TW9kdWxlRGljdCgpOwotICAgIGlmIChQeV9WZXJib3NlRmxhZykgewotICAgICAgICBQeVN5c19Gb3JtYXRTdGRlcnIoImltcG9ydCBzeXMgIyBidWlsdGluXG4iKTsKLSAgICB9Ci0gICAgaWYgKFB5RGljdF9TZXRJdGVtU3RyaW5nKHN5c19tb2R1bGVzLCAiX2ltcCIsIGltcG1vZCkgPCAwKSB7Ci0gICAgICAgIFB5X0ZhdGFsRXJyb3IoIlB5X0luaXRpYWxpemU6IGNhbid0IHNhdmUgX2ltcCB0byBzeXMubW9kdWxlcyIpOwotICAgIH0KLQotICAgIHZhbHVlID0gUHlPYmplY3RfQ2FsbE1ldGhvZChpbXBvcnRsaWIsICJfaW5zdGFsbCIsICJPTyIsIHN5c21vZCwgaW1wbW9kKTsKLSAgICBpZiAodmFsdWUgPT0gTlVMTCkgewotICAgICAgICBQeUVycl9QcmludCgpOwotICAgICAgICBQeV9GYXRhbEVycm9yKCJQeV9Jbml0aWFsaXplOiBpbXBvcnRsaWIgaW5zdGFsbCBmYWlsZWQiKTsKLSAgICB9Ci0gICAgUHlfREVDUkVGKHZhbHVlKTsKLSAgICBQeV9ERUNSRUYoaW1wbW9kKTsKLQotICAgIF9QeUltcG9ydFppcF9Jbml0KCk7Ci19Ci0KLQotdm9pZAotX1B5X0luaXRpYWxpemVFeF9Qcml2YXRlKGludCBpbnN0YWxsX3NpZ3MsIGludCBpbnN0YWxsX2ltcG9ydGxpYikKLXsKLSAgICBQeUludGVycHJldGVyU3RhdGUgKmludGVycDsKLSAgICBQeVRocmVhZFN0YXRlICp0c3RhdGU7Ci0gICAgUHlPYmplY3QgKmJpbW9kLCAqc3lzbW9kLCAqcHN0ZGVycjsKLSAgICBjaGFyICpwOwotICAgIGV4dGVybiB2b2lkIF9QeV9SZWFkeVR5cGVzKHZvaWQpOwotCi0gICAgaWYgKGluaXRpYWxpemVkKQotICAgICAgICByZXR1cm47Ci0gICAgaW5pdGlhbGl6ZWQgPSAxOwotICAgIF9QeV9GaW5hbGl6aW5nID0gTlVMTDsKLQotI2lmIGRlZmluZWQoSEFWRV9MQU5HSU5GT19IKSAmJiBkZWZpbmVkKEhBVkVfU0VUTE9DQUxFKQotICAgIC8qIFNldCB1cCB0aGUgTENfQ1RZUEUgbG9jYWxlLCBzbyB3ZSBjYW4gb2J0YWluCi0gICAgICAgdGhlIGxvY2FsZSdzIGNoYXJzZXQgd2l0aG91dCBoYXZpbmcgdG8gc3dpdGNoCi0gICAgICAgbG9jYWxlcy4gKi8KLSAgICBzZXRsb2NhbGUoTENfQ1RZUEUsICIiKTsKLSNlbmRpZgotCi0gICAgaWYgKChwID0gUHlfR0VURU5WKCJQWVRIT05ERUJVRyIpKSAmJiAqcCAhPSAnXDAnKQotICAgICAgICBQeV9EZWJ1Z0ZsYWcgPSBhZGRfZmxhZyhQeV9EZWJ1Z0ZsYWcsIHApOwotICAgIGlmICgocCA9IFB5X0dFVEVOVigiUFlUSE9OVkVSQk9TRSIpKSAmJiAqcCAhPSAnXDAnKQotICAgICAgICBQeV9WZXJib3NlRmxhZyA9IGFkZF9mbGFnKFB5X1ZlcmJvc2VGbGFnLCBwKTsKLSAgICBpZiAoKHAgPSBQeV9HRVRFTlYoIlBZVEhPTk9QVElNSVpFIikpICYmICpwICE9ICdcMCcpCi0gICAgICAgIFB5X09wdGltaXplRmxhZyA9IGFkZF9mbGFnKFB5X09wdGltaXplRmxhZywgcCk7Ci0gICAgaWYgKChwID0gUHlfR0VURU5WKCJQWVRIT05ET05UV1JJVEVCWVRFQ09ERSIpKSAmJiAqcCAhPSAnXDAnKQotICAgICAgICBQeV9Eb250V3JpdGVCeXRlY29kZUZsYWcgPSBhZGRfZmxhZyhQeV9Eb250V3JpdGVCeXRlY29kZUZsYWcsIHApOwotICAgIC8qIFRoZSB2YXJpYWJsZSBpcyBvbmx5IHRlc3RlZCBmb3IgZXhpc3RlbmNlIGhlcmU7IF9QeVJhbmRvbV9Jbml0IHdpbGwKLSAgICAgICBjaGVjayBpdHMgdmFsdWUgZnVydGhlci4gKi8KLSAgICBpZiAoKHAgPSBQeV9HRVRFTlYoIlBZVEhPTkhBU0hTRUVEIikpICYmICpwICE9ICdcMCcpCi0gICAgICAgIFB5X0hhc2hSYW5kb21pemF0aW9uRmxhZyA9IGFkZF9mbGFnKFB5X0hhc2hSYW5kb21pemF0aW9uRmxhZywgcCk7Ci0KLSAgICBfUHlSYW5kb21fSW5pdCgpOwotCi0gICAgaW50ZXJwID0gUHlJbnRlcnByZXRlclN0YXRlX05ldygpOwotICAgIGlmIChpbnRlcnAgPT0gTlVMTCkKLSAgICAgICAgUHlfRmF0YWxFcnJvcigiUHlfSW5pdGlhbGl6ZTogY2FuJ3QgbWFrZSBmaXJzdCBpbnRlcnByZXRlciIpOwotCi0gICAgdHN0YXRlID0gUHlUaHJlYWRTdGF0ZV9OZXcoaW50ZXJwKTsKLSAgICBpZiAodHN0YXRlID09IE5VTEwpCi0gICAgICAgIFB5X0ZhdGFsRXJyb3IoIlB5X0luaXRpYWxpemU6IGNhbid0IG1ha2UgZmlyc3QgdGhyZWFkIik7Ci0gICAgKHZvaWQpIFB5VGhyZWFkU3RhdGVfU3dhcCh0c3RhdGUpOwotCi0jaWZkZWYgV0lUSF9USFJFQUQKLSAgICAvKiBXZSBjYW4ndCBjYWxsIF9QeUV2YWxfRmluaVRocmVhZHMoKSBpbiBQeV9GaW5hbGl6ZSBiZWNhdXNlCi0gICAgICAgZGVzdHJveWluZyB0aGUgR0lMIG1pZ2h0IGZhaWwgd2hlbiBpdCBpcyBiZWluZyByZWZlcmVuY2VkIGZyb20KLSAgICAgICBhbm90aGVyIHJ1bm5pbmcgdGhyZWFkIChzZWUgaXNzdWUgIzk5MDEpLgotICAgICAgIEluc3RlYWQgd2UgZGVzdHJveSB0aGUgcHJldmlvdXNseSBjcmVhdGVkIEdJTCBoZXJlLCB3aGljaCBlbnN1cmVzCi0gICAgICAgdGhhdCB3ZSBjYW4gY2FsbCBQeV9Jbml0aWFsaXplIC8gUHlfRmluYWxpemUgbXVsdGlwbGUgdGltZXMuICovCi0gICAgX1B5RXZhbF9GaW5pVGhyZWFkcygpOwotCi0gICAgLyogQXV0by10aHJlYWQtc3RhdGUgQVBJICovCi0gICAgX1B5R0lMU3RhdGVfSW5pdChpbnRlcnAsIHRzdGF0ZSk7Ci0jZW5kaWYgLyogV0lUSF9USFJFQUQgKi8KLQotICAgIF9QeV9SZWFkeVR5cGVzKCk7Ci0KLSAgICBpZiAoIV9QeUZyYW1lX0luaXQoKSkKLSAgICAgICAgUHlfRmF0YWxFcnJvcigiUHlfSW5pdGlhbGl6ZTogY2FuJ3QgaW5pdCBmcmFtZXMiKTsKLQotICAgIGlmICghX1B5TG9uZ19Jbml0KCkpCi0gICAgICAgIFB5X0ZhdGFsRXJyb3IoIlB5X0luaXRpYWxpemU6IGNhbid0IGluaXQgbG9uZ3MiKTsKLQotICAgIGlmICghUHlCeXRlQXJyYXlfSW5pdCgpKQotICAgICAgICBQeV9GYXRhbEVycm9yKCJQeV9Jbml0aWFsaXplOiBjYW4ndCBpbml0IGJ5dGVhcnJheSIpOwotCi0gICAgaWYgKCFfUHlGbG9hdF9Jbml0KCkpCi0gICAgICAgIFB5X0ZhdGFsRXJyb3IoIlB5X0luaXRpYWxpemU6IGNhbid0IGluaXQgZmxvYXQiKTsKLQotICAgIGludGVycC0+bW9kdWxlcyA9IFB5RGljdF9OZXcoKTsKLSAgICBpZiAoaW50ZXJwLT5tb2R1bGVzID09IE5VTEwpCi0gICAgICAgIFB5X0ZhdGFsRXJyb3IoIlB5X0luaXRpYWxpemU6IGNhbid0IG1ha2UgbW9kdWxlcyBkaWN0aW9uYXJ5Iik7Ci0KLSAgICAvKiBJbml0IFVuaWNvZGUgaW1wbGVtZW50YXRpb247IHJlbGllcyBvbiB0aGUgY29kZWMgcmVnaXN0cnkgKi8KLSAgICBpZiAoX1B5VW5pY29kZV9Jbml0KCkgPCAwKQotICAgICAgICBQeV9GYXRhbEVycm9yKCJQeV9Jbml0aWFsaXplOiBjYW4ndCBpbml0aWFsaXplIHVuaWNvZGUiKTsKLSAgICBpZiAoX1B5U3RydWN0U2VxdWVuY2VfSW5pdCgpIDwgMCkKLSAgICAgICAgUHlfRmF0YWxFcnJvcigiUHlfSW5pdGlhbGl6ZTogY2FuJ3QgaW5pdGlhbGl6ZSBzdHJ1Y3RzZXEiKTsKLQotICAgIGJpbW9kID0gX1B5QnVpbHRpbl9Jbml0KCk7Ci0gICAgaWYgKGJpbW9kID09IE5VTEwpCi0gICAgICAgIFB5X0ZhdGFsRXJyb3IoIlB5X0luaXRpYWxpemU6IGNhbid0IGluaXRpYWxpemUgYnVpbHRpbnMgbW9kdWxlcyIpOwotICAgIF9QeUltcG9ydF9GaXh1cEJ1aWx0aW4oYmltb2QsICJidWlsdGlucyIpOwotICAgIGludGVycC0+YnVpbHRpbnMgPSBQeU1vZHVsZV9HZXREaWN0KGJpbW9kKTsKLSAgICBpZiAoaW50ZXJwLT5idWlsdGlucyA9PSBOVUxMKQotICAgICAgICBQeV9GYXRhbEVycm9yKCJQeV9Jbml0aWFsaXplOiBjYW4ndCBpbml0aWFsaXplIGJ1aWx0aW5zIGRpY3QiKTsKLSAgICBQeV9JTkNSRUYoaW50ZXJwLT5idWlsdGlucyk7Ci0KLSAgICAvKiBpbml0aWFsaXplIGJ1aWx0aW4gZXhjZXB0aW9ucyAqLwotICAgIF9QeUV4Y19Jbml0KGJpbW9kKTsKLQotICAgIHN5c21vZCA9IF9QeVN5c19Jbml0KCk7Ci0gICAgaWYgKHN5c21vZCA9PSBOVUxMKQotICAgICAgICBQeV9GYXRhbEVycm9yKCJQeV9Jbml0aWFsaXplOiBjYW4ndCBpbml0aWFsaXplIHN5cyIpOwotICAgIGludGVycC0+c3lzZGljdCA9IFB5TW9kdWxlX0dldERpY3Qoc3lzbW9kKTsKLSAgICBpZiAoaW50ZXJwLT5zeXNkaWN0ID09IE5VTEwpCi0gICAgICAgIFB5X0ZhdGFsRXJyb3IoIlB5X0luaXRpYWxpemU6IGNhbid0IGluaXRpYWxpemUgc3lzIGRpY3QiKTsKLSAgICBQeV9JTkNSRUYoaW50ZXJwLT5zeXNkaWN0KTsKLSAgICBfUHlJbXBvcnRfRml4dXBCdWlsdGluKHN5c21vZCwgInN5cyIpOwotICAgIFB5U3lzX1NldFBhdGgoUHlfR2V0UGF0aCgpKTsKLSAgICBQeURpY3RfU2V0SXRlbVN0cmluZyhpbnRlcnAtPnN5c2RpY3QsICJtb2R1bGVzIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICBpbnRlcnAtPm1vZHVsZXMpOwotCi0gICAgLyogU2V0IHVwIGEgcHJlbGltaW5hcnkgc3RkZXJyIHByaW50ZXIgdW50aWwgd2UgaGF2ZSBlbm91Z2gKLSAgICAgICBpbmZyYXN0cnVjdHVyZSBmb3IgdGhlIGlvIG1vZHVsZSBpbiBwbGFjZS4gKi8KLSAgICBwc3RkZXJyID0gUHlGaWxlX05ld1N0ZFByaW50ZXIoZmlsZW5vKHN0ZGVycikpOwotICAgIGlmIChwc3RkZXJyID09IE5VTEwpCi0gICAgICAgIFB5X0ZhdGFsRXJyb3IoIlB5X0luaXRpYWxpemU6IGNhbid0IHNldCBwcmVsaW1pbmFyeSBzdGRlcnIiKTsKLSAgICBfUHlTeXNfU2V0T2JqZWN0SWQoJlB5SWRfc3RkZXJyLCBwc3RkZXJyKTsKLSAgICBQeVN5c19TZXRPYmplY3QoIl9fc3RkZXJyX18iLCBwc3RkZXJyKTsKLSAgICBQeV9ERUNSRUYocHN0ZGVycik7Ci0KLSAgICBfUHlJbXBvcnRfSW5pdCgpOwotCi0gICAgX1B5SW1wb3J0SG9va3NfSW5pdCgpOwotCi0gICAgLyogSW5pdGlhbGl6ZSBfd2FybmluZ3MuICovCi0gICAgX1B5V2FybmluZ3NfSW5pdCgpOwotCi0gICAgaWYgKCFpbnN0YWxsX2ltcG9ydGxpYikKLSAgICAgICAgcmV0dXJuOwotCi0gICAgaW1wb3J0X2luaXQoaW50ZXJwLCBzeXNtb2QpOwotCi0gICAgLyogaW5pdGlhbGl6ZSB0aGUgZmF1bHRoYW5kbGVyIG1vZHVsZSAqLwotICAgIGlmIChfUHlGYXVsdGhhbmRsZXJfSW5pdCgpKQotICAgICAgICBQeV9GYXRhbEVycm9yKCJQeV9Jbml0aWFsaXplOiBjYW4ndCBpbml0aWFsaXplIGZhdWx0aGFuZGxlciIpOwotCi0gICAgX1B5VGltZV9Jbml0KCk7Ci0KLSAgICBpZiAoaW5pdGZzZW5jb2RpbmcoaW50ZXJwKSA8IDApCi0gICAgICAgIFB5X0ZhdGFsRXJyb3IoIlB5X0luaXRpYWxpemU6IHVuYWJsZSB0byBsb2FkIHRoZSBmaWxlIHN5c3RlbSBjb2RlYyIpOwotCi0gICAgaWYgKGluc3RhbGxfc2lncykKLSAgICAgICAgaW5pdHNpZ3MoKTsgLyogU2lnbmFsIGhhbmRsaW5nIHN0dWZmLCBpbmNsdWRpbmcgaW5pdGludHIoKSAqLwotCi0gICAgaWYgKF9QeVRyYWNlTWFsbG9jX0luaXQoKSA8IDApCi0gICAgICAgIFB5X0ZhdGFsRXJyb3IoIlB5X0luaXRpYWxpemU6IGNhbid0IGluaXRpYWxpemUgdHJhY2VtYWxsb2MiKTsKLQotICAgIGluaXRtYWluKGludGVycCk7IC8qIE1vZHVsZSBfX21haW5fXyAqLwotICAgIGlmIChpbml0c3RkaW8oKSA8IDApCi0gICAgICAgIFB5X0ZhdGFsRXJyb3IoCi0gICAgICAgICAgICAiUHlfSW5pdGlhbGl6ZTogY2FuJ3QgaW5pdGlhbGl6ZSBzeXMgc3RhbmRhcmQgc3RyZWFtcyIpOwotCi0gICAgLyogSW5pdGlhbGl6ZSB3YXJuaW5ncy4gKi8KLSAgICBpZiAoUHlTeXNfSGFzV2Fybk9wdGlvbnMoKSkgewotICAgICAgICBQeU9iamVjdCAqd2FybmluZ3NfbW9kdWxlID0gUHlJbXBvcnRfSW1wb3J0TW9kdWxlKCJ3YXJuaW5ncyIpOwotICAgICAgICBpZiAod2FybmluZ3NfbW9kdWxlID09IE5VTEwpIHsKLSAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAiJ2ltcG9ydCB3YXJuaW5ncycgZmFpbGVkOyB0cmFjZWJhY2s6XG4iKTsKLSAgICAgICAgICAgIFB5RXJyX1ByaW50KCk7Ci0gICAgICAgIH0KLSAgICAgICAgUHlfWERFQ1JFRih3YXJuaW5nc19tb2R1bGUpOwotICAgIH0KLQotICAgIGlmICghUHlfTm9TaXRlRmxhZykKLSAgICAgICAgaW5pdHNpdGUoKTsgLyogTW9kdWxlIHNpdGUgKi8KLX0KLQotdm9pZAotUHlfSW5pdGlhbGl6ZUV4KGludCBpbnN0YWxsX3NpZ3MpCi17Ci0gICAgX1B5X0luaXRpYWxpemVFeF9Qcml2YXRlKGluc3RhbGxfc2lncywgMSk7Ci19Ci0KLXZvaWQKLVB5X0luaXRpYWxpemUodm9pZCkKLXsKLSAgICBQeV9Jbml0aWFsaXplRXgoMSk7Ci19Ci0KLQotI2lmZGVmIENPVU5UX0FMTE9DUwotZXh0ZXJuIHZvaWQgZHVtcF9jb3VudHMoRklMRSopOwotI2VuZGlmCi0KLS8qIEZsdXNoIHN0ZG91dCBhbmQgc3RkZXJyICovCi0KLXN0YXRpYyBpbnQKLWZpbGVfaXNfY2xvc2VkKFB5T2JqZWN0ICpmb2JqKQotewotICAgIGludCByOwotICAgIFB5T2JqZWN0ICp0bXAgPSBQeU9iamVjdF9HZXRBdHRyU3RyaW5nKGZvYmosICJjbG9zZWQiKTsKLSAgICBpZiAodG1wID09IE5VTEwpIHsKLSAgICAgICAgUHlFcnJfQ2xlYXIoKTsKLSAgICAgICAgcmV0dXJuIDA7Ci0gICAgfQotICAgIHIgPSBQeU9iamVjdF9Jc1RydWUodG1wKTsKLSAgICBQeV9ERUNSRUYodG1wKTsKLSAgICBpZiAociA8IDApCi0gICAgICAgIFB5RXJyX0NsZWFyKCk7Ci0gICAgcmV0dXJuIHIgPiAwOwotfQotCi1zdGF0aWMgdm9pZAotZmx1c2hfc3RkX2ZpbGVzKHZvaWQpCi17Ci0gICAgUHlPYmplY3QgKmZvdXQgPSBfUHlTeXNfR2V0T2JqZWN0SWQoJlB5SWRfc3Rkb3V0KTsKLSAgICBQeU9iamVjdCAqZmVyciA9IF9QeVN5c19HZXRPYmplY3RJZCgmUHlJZF9zdGRlcnIpOwotICAgIFB5T2JqZWN0ICp0bXA7Ci0KLSAgICBpZiAoZm91dCAhPSBOVUxMICYmIGZvdXQgIT0gUHlfTm9uZSAmJiAhZmlsZV9pc19jbG9zZWQoZm91dCkpIHsKLSAgICAgICAgdG1wID0gX1B5T2JqZWN0X0NhbGxNZXRob2RJZChmb3V0LCAmUHlJZF9mbHVzaCwgIiIpOwotICAgICAgICBpZiAodG1wID09IE5VTEwpCi0gICAgICAgICAgICBQeUVycl9Xcml0ZVVucmFpc2FibGUoZm91dCk7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIFB5X0RFQ1JFRih0bXApOwotICAgIH0KLQotICAgIGlmIChmZXJyICE9IE5VTEwgJiYgZmVyciAhPSBQeV9Ob25lICYmICFmaWxlX2lzX2Nsb3NlZChmZXJyKSkgewotICAgICAgICB0bXAgPSBfUHlPYmplY3RfQ2FsbE1ldGhvZElkKGZlcnIsICZQeUlkX2ZsdXNoLCAiIik7Ci0gICAgICAgIGlmICh0bXAgPT0gTlVMTCkKLSAgICAgICAgICAgIFB5RXJyX0NsZWFyKCk7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIFB5X0RFQ1JFRih0bXApOwotICAgIH0KLX0KLQotLyogVW5kbyB0aGUgZWZmZWN0IG9mIFB5X0luaXRpYWxpemUoKS4KLQotICAgQmV3YXJlOiBpZiBtdWx0aXBsZSBpbnRlcnByZXRlciBhbmQvb3IgdGhyZWFkIHN0YXRlcyBleGlzdCwgdGhlc2UKLSAgIGFyZSBub3Qgd2lwZWQgb3V0OyBvbmx5IHRoZSBjdXJyZW50IHRocmVhZCBhbmQgaW50ZXJwcmV0ZXIgc3RhdGUKLSAgIGFyZSBkZWxldGVkLiAgQnV0IHNpbmNlIGV2ZXJ5dGhpbmcgZWxzZSBpcyBkZWxldGVkLCB0aG9zZSBvdGhlcgotICAgaW50ZXJwcmV0ZXIgYW5kIHRocmVhZCBzdGF0ZXMgc2hvdWxkIG5vIGxvbmdlciBiZSB1c2VkLgotCi0gICAoWFhYIFdlIHNob3VsZCBkbyBiZXR0ZXIsIGUuZy4gd2lwZSBvdXQgYWxsIGludGVycHJldGVycyBhbmQKLSAgIHRocmVhZHMuKQotCi0gICBMb2NraW5nOiBhcyBhYm92ZS4KLQotKi8KLQotdm9pZAotUHlfRmluYWxpemUodm9pZCkKLXsKLSAgICBQeUludGVycHJldGVyU3RhdGUgKmludGVycDsKLSAgICBQeVRocmVhZFN0YXRlICp0c3RhdGU7Ci0KLSAgICBpZiAoIWluaXRpYWxpemVkKQotICAgICAgICByZXR1cm47Ci0KLSAgICB3YWl0X2Zvcl90aHJlYWRfc2h1dGRvd24oKTsKLQotICAgIC8qIFRoZSBpbnRlcnByZXRlciBpcyBzdGlsbCBlbnRpcmVseSBpbnRhY3QgYXQgdGhpcyBwb2ludCwgYW5kIHRoZQotICAgICAqIGV4aXQgZnVuY3MgbWF5IGJlIHJlbHlpbmcgb24gdGhhdC4gIEluIHBhcnRpY3VsYXIsIGlmIHNvbWUgdGhyZWFkCi0gICAgICogb3IgZXhpdCBmdW5jIGlzIHN0aWxsIHdhaXRpbmcgdG8gZG8gYW4gaW1wb3J0LCB0aGUgaW1wb3J0IG1hY2hpbmVyeQotICAgICAqIGV4cGVjdHMgUHlfSXNJbml0aWFsaXplZCgpIHRvIHJldHVybiB0cnVlLiAgU28gZG9uJ3Qgc2F5IHRoZQotICAgICAqIGludGVycHJldGVyIGlzIHVuaW5pdGlhbGl6ZWQgdW50aWwgYWZ0ZXIgdGhlIGV4aXQgZnVuY3MgaGF2ZSBydW4uCi0gICAgICogTm90ZSB0aGF0IFRocmVhZGluZy5weSB1c2VzIGFuIGV4aXQgZnVuYyB0byBkbyBhIGpvaW4gb24gYWxsIHRoZQotICAgICAqIHRocmVhZHMgY3JlYXRlZCB0aHJ1IGl0LCBzbyB0aGlzIGFsc28gcHJvdGVjdHMgcGVuZGluZyBpbXBvcnRzIGluCi0gICAgICogdGhlIHRocmVhZHMgY3JlYXRlZCB2aWEgVGhyZWFkaW5nLgotICAgICAqLwotICAgIGNhbGxfcHlfZXhpdGZ1bmNzKCk7Ci0KLSAgICAvKiBHZXQgY3VycmVudCB0aHJlYWQgc3RhdGUgYW5kIGludGVycHJldGVyIHBvaW50ZXIgKi8KLSAgICB0c3RhdGUgPSBQeVRocmVhZFN0YXRlX0dFVCgpOwotICAgIGludGVycCA9IHRzdGF0ZS0+aW50ZXJwOwotCi0gICAgLyogUmVtYWluaW5nIHRocmVhZHMgKGUuZy4gZGFlbW9uIHRocmVhZHMpIHdpbGwgYXV0b21hdGljYWxseSBleGl0Ci0gICAgICAgYWZ0ZXIgdGFraW5nIHRoZSBHSUwgKGluIFB5RXZhbF9SZXN0b3JlVGhyZWFkKCkpLiAqLwotICAgIF9QeV9GaW5hbGl6aW5nID0gdHN0YXRlOwotICAgIGluaXRpYWxpemVkID0gMDsKLQotICAgIC8qIEZsdXNoIHN0ZG91dCtzdGRlcnIgKi8KLSAgICBmbHVzaF9zdGRfZmlsZXMoKTsKLQotICAgIC8qIERpc2FibGUgc2lnbmFsIGhhbmRsaW5nICovCi0gICAgUHlPU19GaW5pSW50ZXJydXB0cygpOwotCi0gICAgLyogQ29sbGVjdCBnYXJiYWdlLiAgVGhpcyBtYXkgY2FsbCBmaW5hbGl6ZXJzOyBpdCdzIG5pY2UgdG8gY2FsbCB0aGVzZQotICAgICAqIGJlZm9yZSBhbGwgbW9kdWxlcyBhcmUgZGVzdHJveWVkLgotICAgICAqIFhYWCBJZiBhIF9fZGVsX18gb3Igd2Vha3JlZiBjYWxsYmFjayBpcyB0cmlnZ2VyZWQgaGVyZSwgYW5kIHRyaWVzIHRvCi0gICAgICogWFhYIGltcG9ydCBhIG1vZHVsZSwgYmFkIHRoaW5ncyBjYW4gaGFwcGVuLCBiZWNhdXNlIFB5dGhvbiBubwotICAgICAqIFhYWCBsb25nZXIgYmVsaWV2ZXMgaXQncyBpbml0aWFsaXplZC4KLSAgICAgKiBYWFggICAgIEZhdGFsIFB5dGhvbiBlcnJvcjogSW50ZXJwcmV0ZXIgbm90IGluaXRpYWxpemVkICh2ZXJzaW9uIG1pc21hdGNoPykKLSAgICAgKiBYWFggaXMgZWFzeSB0byBwcm92b2tlIHRoYXQgd2F5LiAgSSd2ZSBhbHNvIHNlZW4sIGUuZy4sCi0gICAgICogWFhYICAgICBFeGNlcHRpb24gZXhjZXB0aW9ucy5JbXBvcnRFcnJvcjogJ05vIG1vZHVsZSBuYW1lZCBzaGEnCi0gICAgICogWFhYICAgICAgICAgaW4gPGZ1bmN0aW9uIGNhbGxiYWNrIGF0IDB4MDA4RjU3MTg+IGlnbm9yZWQKLSAgICAgKiBYWFggYnV0IEknbSB1bmNsZWFyIG9uIGV4YWN0bHkgaG93IHRoYXQgb25lIGhhcHBlbnMuICBJbiBhbnkgY2FzZSwKLSAgICAgKiBYWFggSSBoYXZlbid0IHNlZW4gYSByZWFsLWxpZmUgcmVwb3J0IG9mIGVpdGhlciBvZiB0aGVzZS4KLSAgICAgKi8KLSAgICBQeUdDX0NvbGxlY3QoKTsKLSNpZmRlZiBDT1VOVF9BTExPQ1MKLSAgICAvKiBXaXRoIENPVU5UX0FMTE9DUywgaXQgaGVscHMgdG8gcnVuIEdDIG11bHRpcGxlIHRpbWVzOgotICAgICAgIGVhY2ggY29sbGVjdGlvbiBtaWdodCByZWxlYXNlIHNvbWUgdHlwZXMgZnJvbSB0aGUgdHlwZQotICAgICAgIGxpc3QsIHNvIHRoZXkgYmVjb21lIGdhcmJhZ2UuICovCi0gICAgd2hpbGUgKFB5R0NfQ29sbGVjdCgpID4gMCkKLSAgICAgICAgLyogbm90aGluZyAqLzsKLSNlbmRpZgotICAgIC8qIERlc3Ryb3kgYWxsIG1vZHVsZXMgKi8KLSAgICBQeUltcG9ydF9DbGVhbnVwKCk7Ci0KLSAgICAvKiBGbHVzaCBzdGRvdXQrc3RkZXJyIChhZ2FpbiwgaW4gY2FzZSBtb3JlIHdhcyBwcmludGVkKSAqLwotICAgIGZsdXNoX3N0ZF9maWxlcygpOwotCi0gICAgLyogQ29sbGVjdCBmaW5hbCBnYXJiYWdlLiAgVGhpcyBkaXNwb3NlcyBvZiBjeWNsZXMgY3JlYXRlZCBieQotICAgICAqIGNsYXNzIGRlZmluaXRpb25zLCBmb3IgZXhhbXBsZS4KLSAgICAgKiBYWFggVGhpcyBpcyBkaXNhYmxlZCBiZWNhdXNlIGl0IGNhdXNlZCB0b28gbWFueSBwcm9ibGVtcy4gIElmCi0gICAgICogWFhYIGEgX19kZWxfXyBvciB3ZWFrcmVmIGNhbGxiYWNrIHRyaWdnZXJzIGhlcmUsIFB5dGhvbiBjb2RlIGhhcwotICAgICAqIFhYWCBhIGhhcmQgdGltZSBydW5uaW5nLCBiZWNhdXNlIGV2ZW4gdGhlIHN5cyBtb2R1bGUgaGFzIGJlZW4KLSAgICAgKiBYWFggY2xlYXJlZCBvdXQgKHN5cy5zdGRvdXQgaXMgZ29uZSwgc3lzLmV4Y2VwdGhvb2sgaXMgZ29uZSwgZXRjKS4KLSAgICAgKiBYWFggT25lIHN5bXB0b20gaXMgYSBzZXF1ZW5jZSBvZiBpbmZvcm1hdGlvbi1mcmVlIG1lc3NhZ2VzCi0gICAgICogWFhYIGNvbWluZyBmcm9tIHRocmVhZHMgKGlmIGEgX19kZWxfXyBvciBjYWxsYmFjayBpcyBpbnZva2VkLAotICAgICAqIFhYWCBvdGhlciB0aHJlYWRzIGNhbiBleGVjdXRlIHRvbywgYW5kIGFueSBleGNlcHRpb24gdGhleSBlbmNvdW50ZXIKLSAgICAgKiBYWFggdHJpZ2dlcnMgYSBjb21lZHkgb2YgZXJyb3JzIGFzIHN1YnN5c3RlbSBhZnRlciBzdWJzeXN0ZW0KLSAgICAgKiBYWFggZmFpbHMgdG8gZmluZCB3aGF0IGl0ICpleHBlY3RzKiB0byBmaW5kIGluIHN5cyB0byBoZWxwIHJlcG9ydAotICAgICAqIFhYWCB0aGUgZXhjZXB0aW9uIGFuZCBjb25zZXF1ZW50IHVuZXhwZWN0ZWQgZmFpbHVyZXMpLiAgSSd2ZSBhbHNvCi0gICAgICogWFhYIHNlZW4gc2VnZmF1bHRzIHRoZW4sIGFmdGVyIGFkZGluZyBwcmludCBzdGF0ZW1lbnRzIHRvIHRoZQotICAgICAqIFhYWCBQeXRob24gY29kZSBnZXR0aW5nIGNhbGxlZC4KLSAgICAgKi8KLSNpZiAwCi0gICAgUHlHQ19Db2xsZWN0KCk7Ci0jZW5kaWYKLQotICAgIC8qIERpc2FibGUgdHJhY2VtYWxsb2MgYWZ0ZXIgYWxsIFB5dGhvbiBvYmplY3RzIGhhdmUgYmVlbiBkZXN0cm95ZWQsCi0gICAgICAgc28gaXQgaXMgcG9zc2libGUgdG8gdXNlIHRyYWNlbWFsbG9jIGluIG9iamVjdHMgZGVzdHJ1Y3Rvci4gKi8KLSAgICBfUHlUcmFjZU1hbGxvY19GaW5pKCk7Ci0KLSAgICAvKiBEZXN0cm95IHRoZSBkYXRhYmFzZSB1c2VkIGJ5IF9QeUltcG9ydF97Rml4dXAsRmluZH1FeHRlbnNpb24gKi8KLSAgICBfUHlJbXBvcnRfRmluaSgpOwotCi0gICAgLyogQ2xlYW51cCB0eXBlb2JqZWN0LmMncyBpbnRlcm5hbCBjYWNoZXMuICovCi0gICAgX1B5VHlwZV9GaW5pKCk7Ci0KLSAgICAvKiB1bmxvYWQgZmF1bHRoYW5kbGVyIG1vZHVsZSAqLwotICAgIF9QeUZhdWx0aGFuZGxlcl9GaW5pKCk7Ci0KLSAgICAvKiBEZWJ1Z2dpbmcgc3R1ZmYgKi8KLSNpZmRlZiBDT1VOVF9BTExPQ1MKLSAgICBkdW1wX2NvdW50cyhzdGRvdXQpOwotI2VuZGlmCi0gICAgLyogZHVtcCBoYXNoIHN0YXRzICovCi0gICAgX1B5SGFzaF9GaW5pKCk7Ci0KLSAgICBQUklOVF9UT1RBTF9SRUZTKCk7Ci0KLSNpZmRlZiBQeV9UUkFDRV9SRUZTCi0gICAgLyogRGlzcGxheSBhbGwgb2JqZWN0cyBzdGlsbCBhbGl2ZSAtLSB0aGlzIGNhbiBpbnZva2UgYXJiaXRyYXJ5Ci0gICAgICogX19yZXByX18gb3ZlcnJpZGVzLCBzbyByZXF1aXJlcyBhIG1vc3RseS1pbnRhY3QgaW50ZXJwcmV0ZXIuCi0gICAgICogQWxhcywgYSBsb3Qgb2Ygc3R1ZmYgbWF5IHN0aWxsIGJlIGFsaXZlIG5vdyB0aGF0IHdpbGwgYmUgY2xlYW5lZAotICAgICAqIHVwIGxhdGVyLgotICAgICAqLwotICAgIGlmIChQeV9HRVRFTlYoIlBZVEhPTkRVTVBSRUZTIikpCi0gICAgICAgIF9QeV9QcmludFJlZmVyZW5jZXMoc3RkZXJyKTsKLSNlbmRpZiAvKiBQeV9UUkFDRV9SRUZTICovCi0KLSAgICAvKiBDbGVhciBpbnRlcnByZXRlciBzdGF0ZSBhbmQgYWxsIHRocmVhZCBzdGF0ZXMuICovCi0gICAgUHlJbnRlcnByZXRlclN0YXRlX0NsZWFyKGludGVycCk7Ci0KLSAgICAvKiBOb3cgd2UgZGVjcmVmIHRoZSBleGNlcHRpb24gY2xhc3Nlcy4gIEFmdGVyIHRoaXMgcG9pbnQgbm90aGluZwotICAgICAgIGNhbiByYWlzZSBhbiBleGNlcHRpb24uICBUaGF0J3Mgb2theSwgYmVjYXVzZSBlYWNoIEZpbmkoKSBtZXRob2QKLSAgICAgICBiZWxvdyBoYXMgYmVlbiBjaGVja2VkIHRvIG1ha2Ugc3VyZSBubyBleGNlcHRpb25zIGFyZSBldmVyCi0gICAgICAgcmFpc2VkLgotICAgICovCi0KLSAgICBfUHlFeGNfRmluaSgpOwotCi0gICAgLyogU3VuZHJ5IGZpbmFsaXplcnMgKi8KLSAgICBQeU1ldGhvZF9GaW5pKCk7Ci0gICAgUHlGcmFtZV9GaW5pKCk7Ci0gICAgUHlDRnVuY3Rpb25fRmluaSgpOwotICAgIFB5VHVwbGVfRmluaSgpOwotICAgIFB5TGlzdF9GaW5pKCk7Ci0gICAgUHlTZXRfRmluaSgpOwotICAgIFB5Qnl0ZXNfRmluaSgpOwotICAgIFB5Qnl0ZUFycmF5X0ZpbmkoKTsKLSAgICBQeUxvbmdfRmluaSgpOwotICAgIFB5RmxvYXRfRmluaSgpOwotICAgIFB5RGljdF9GaW5pKCk7Ci0gICAgUHlTbGljZV9GaW5pKCk7Ci0gICAgX1B5R0NfRmluaSgpOwotICAgIF9QeVJhbmRvbV9GaW5pKCk7Ci0KLSAgICAvKiBDbGVhbnVwIFVuaWNvZGUgaW1wbGVtZW50YXRpb24gKi8KLSAgICBfUHlVbmljb2RlX0ZpbmkoKTsKLQotICAgIC8qIHJlc2V0IGZpbGUgc3lzdGVtIGRlZmF1bHQgZW5jb2RpbmcgKi8KLSAgICBpZiAoIVB5X0hhc0ZpbGVTeXN0ZW1EZWZhdWx0RW5jb2RpbmcgJiYgUHlfRmlsZVN5c3RlbURlZmF1bHRFbmNvZGluZykgewotICAgICAgICBQeU1lbV9SYXdGcmVlKChjaGFyKilQeV9GaWxlU3lzdGVtRGVmYXVsdEVuY29kaW5nKTsKLSAgICAgICAgUHlfRmlsZVN5c3RlbURlZmF1bHRFbmNvZGluZyA9IE5VTEw7Ci0gICAgfQotCi0gICAgLyogWFhYIFN0aWxsIGFsbG9jYXRlZDoKLSAgICAgICAtIHZhcmlvdXMgc3RhdGljIGFkLWhvYyBwb2ludGVycyB0byBpbnRlcm5lZCBzdHJpbmdzCi0gICAgICAgLSBpbnQgYW5kIGZsb2F0IGZyZWUgbGlzdCBibG9ja3MKLSAgICAgICAtIHdoYXRldmVyIHZhcmlvdXMgbW9kdWxlcyBhbmQgbGlicmFyaWVzIGFsbG9jYXRlCi0gICAgKi8KLQotICAgIFB5R3JhbW1hcl9SZW1vdmVBY2NlbGVyYXRvcnMoJl9QeVBhcnNlcl9HcmFtbWFyKTsKLQotICAgIC8qIENsZWFudXAgYXV0by10aHJlYWQtc3RhdGUgKi8KLSNpZmRlZiBXSVRIX1RIUkVBRAotICAgIF9QeUdJTFN0YXRlX0ZpbmkoKTsKLSNlbmRpZiAvKiBXSVRIX1RIUkVBRCAqLwotCi0gICAgLyogRGVsZXRlIGN1cnJlbnQgdGhyZWFkLiBBZnRlciB0aGlzLCBtYW55IEMgQVBJIGNhbGxzIGJlY29tZSBjcmFzaHkuICovCi0gICAgUHlUaHJlYWRTdGF0ZV9Td2FwKE5VTEwpOwotICAgIFB5SW50ZXJwcmV0ZXJTdGF0ZV9EZWxldGUoaW50ZXJwKTsKLQotI2lmZGVmIFB5X1RSQUNFX1JFRlMKLSAgICAvKiBEaXNwbGF5IGFkZHJlc3NlcyAoJiByZWZjbnRzKSBvZiBhbGwgb2JqZWN0cyBzdGlsbCBhbGl2ZS4KLSAgICAgKiBBbiBhZGRyZXNzIGNhbiBiZSB1c2VkIHRvIGZpbmQgdGhlIHJlcHIgb2YgdGhlIG9iamVjdCwgcHJpbnRlZAotICAgICAqIGFib3ZlIGJ5IF9QeV9QcmludFJlZmVyZW5jZXMuCi0gICAgICovCi0gICAgaWYgKFB5X0dFVEVOVigiUFlUSE9ORFVNUFJFRlMiKSkKLSAgICAgICAgX1B5X1ByaW50UmVmZXJlbmNlQWRkcmVzc2VzKHN0ZGVycik7Ci0jZW5kaWYgLyogUHlfVFJBQ0VfUkVGUyAqLwotI2lmZGVmIFBZTUFMTE9DX0RFQlVHCi0gICAgaWYgKFB5X0dFVEVOVigiUFlUSE9OTUFMTE9DU1RBVFMiKSkKLSAgICAgICAgX1B5T2JqZWN0X0RlYnVnTWFsbG9jU3RhdHMoc3RkZXJyKTsKLSNlbmRpZgotCi0gICAgY2FsbF9sbF9leGl0ZnVuY3MoKTsKLX0KLQotLyogQ3JlYXRlIGFuZCBpbml0aWFsaXplIGEgbmV3IGludGVycHJldGVyIGFuZCB0aHJlYWQsIGFuZCByZXR1cm4gdGhlCi0gICBuZXcgdGhyZWFkLiAgVGhpcyByZXF1aXJlcyB0aGF0IFB5X0luaXRpYWxpemUoKSBoYXMgYmVlbiBjYWxsZWQKLSAgIGZpcnN0LgotCi0gICBVbnN1Y2Nlc3NmdWwgaW5pdGlhbGl6YXRpb24geWllbGRzIGEgTlVMTCBwb2ludGVyLiAgTm90ZSB0aGF0ICpubyoKLSAgIGV4Y2VwdGlvbiBpbmZvcm1hdGlvbiBpcyBhdmFpbGFibGUgZXZlbiBpbiB0aGlzIGNhc2UgLS0gdGhlCi0gICBleGNlcHRpb24gaW5mb3JtYXRpb24gaXMgaGVsZCBpbiB0aGUgdGhyZWFkLCBhbmQgdGhlcmUgaXMgbm8KLSAgIHRocmVhZC4KLQotICAgTG9ja2luZzogYXMgYWJvdmUuCi0KLSovCi0KLVB5VGhyZWFkU3RhdGUgKgotUHlfTmV3SW50ZXJwcmV0ZXIodm9pZCkKLXsKLSAgICBQeUludGVycHJldGVyU3RhdGUgKmludGVycDsKLSAgICBQeVRocmVhZFN0YXRlICp0c3RhdGUsICpzYXZlX3RzdGF0ZTsKLSAgICBQeU9iamVjdCAqYmltb2QsICpzeXNtb2Q7Ci0KLSAgICBpZiAoIWluaXRpYWxpemVkKQotICAgICAgICBQeV9GYXRhbEVycm9yKCJQeV9OZXdJbnRlcnByZXRlcjogY2FsbCBQeV9Jbml0aWFsaXplIGZpcnN0Iik7Ci0KLSAgICBpbnRlcnAgPSBQeUludGVycHJldGVyU3RhdGVfTmV3KCk7Ci0gICAgaWYgKGludGVycCA9PSBOVUxMKQotICAgICAgICByZXR1cm4gTlVMTDsKLQotICAgIHRzdGF0ZSA9IFB5VGhyZWFkU3RhdGVfTmV3KGludGVycCk7Ci0gICAgaWYgKHRzdGF0ZSA9PSBOVUxMKSB7Ci0gICAgICAgIFB5SW50ZXJwcmV0ZXJTdGF0ZV9EZWxldGUoaW50ZXJwKTsKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgfQotCi0gICAgc2F2ZV90c3RhdGUgPSBQeVRocmVhZFN0YXRlX1N3YXAodHN0YXRlKTsKLQotICAgIC8qIFhYWCBUaGUgZm9sbG93aW5nIGlzIGxheCBpbiBlcnJvciBjaGVja2luZyAqLwotCi0gICAgaW50ZXJwLT5tb2R1bGVzID0gUHlEaWN0X05ldygpOwotCi0gICAgYmltb2QgPSBfUHlJbXBvcnRfRmluZEJ1aWx0aW4oImJ1aWx0aW5zIik7Ci0gICAgaWYgKGJpbW9kICE9IE5VTEwpIHsKLSAgICAgICAgaW50ZXJwLT5idWlsdGlucyA9IFB5TW9kdWxlX0dldERpY3QoYmltb2QpOwotICAgICAgICBpZiAoaW50ZXJwLT5idWlsdGlucyA9PSBOVUxMKQotICAgICAgICAgICAgZ290byBoYW5kbGVfZXJyb3I7Ci0gICAgICAgIFB5X0lOQ1JFRihpbnRlcnAtPmJ1aWx0aW5zKTsKLSAgICB9Ci0KLSAgICAvKiBpbml0aWFsaXplIGJ1aWx0aW4gZXhjZXB0aW9ucyAqLwotICAgIF9QeUV4Y19Jbml0KGJpbW9kKTsKLQotICAgIHN5c21vZCA9IF9QeUltcG9ydF9GaW5kQnVpbHRpbigic3lzIik7Ci0gICAgaWYgKGJpbW9kICE9IE5VTEwgJiYgc3lzbW9kICE9IE5VTEwpIHsKLSAgICAgICAgUHlPYmplY3QgKnBzdGRlcnI7Ci0KLSAgICAgICAgaW50ZXJwLT5zeXNkaWN0ID0gUHlNb2R1bGVfR2V0RGljdChzeXNtb2QpOwotICAgICAgICBpZiAoaW50ZXJwLT5zeXNkaWN0ID09IE5VTEwpCi0gICAgICAgICAgICBnb3RvIGhhbmRsZV9lcnJvcjsKLSAgICAgICAgUHlfSU5DUkVGKGludGVycC0+c3lzZGljdCk7Ci0gICAgICAgIFB5U3lzX1NldFBhdGgoUHlfR2V0UGF0aCgpKTsKLSAgICAgICAgUHlEaWN0X1NldEl0ZW1TdHJpbmcoaW50ZXJwLT5zeXNkaWN0LCAibW9kdWxlcyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludGVycC0+bW9kdWxlcyk7Ci0gICAgICAgIC8qIFNldCB1cCBhIHByZWxpbWluYXJ5IHN0ZGVyciBwcmludGVyIHVudGlsIHdlIGhhdmUgZW5vdWdoCi0gICAgICAgICAgIGluZnJhc3RydWN0dXJlIGZvciB0aGUgaW8gbW9kdWxlIGluIHBsYWNlLiAqLwotICAgICAgICBwc3RkZXJyID0gUHlGaWxlX05ld1N0ZFByaW50ZXIoZmlsZW5vKHN0ZGVycikpOwotICAgICAgICBpZiAocHN0ZGVyciA9PSBOVUxMKQotICAgICAgICAgICAgUHlfRmF0YWxFcnJvcigiUHlfSW5pdGlhbGl6ZTogY2FuJ3Qgc2V0IHByZWxpbWluYXJ5IHN0ZGVyciIpOwotICAgICAgICBfUHlTeXNfU2V0T2JqZWN0SWQoJlB5SWRfc3RkZXJyLCBwc3RkZXJyKTsKLSAgICAgICAgUHlTeXNfU2V0T2JqZWN0KCJfX3N0ZGVycl9fIiwgcHN0ZGVycik7Ci0gICAgICAgIFB5X0RFQ1JFRihwc3RkZXJyKTsKLQotICAgICAgICBfUHlJbXBvcnRIb29rc19Jbml0KCk7Ci0KLSAgICAgICAgaW1wb3J0X2luaXQoaW50ZXJwLCBzeXNtb2QpOwotCi0gICAgICAgIGlmIChpbml0ZnNlbmNvZGluZyhpbnRlcnApIDwgMCkKLSAgICAgICAgICAgIGdvdG8gaGFuZGxlX2Vycm9yOwotCi0gICAgICAgIGlmIChpbml0c3RkaW8oKSA8IDApCi0gICAgICAgICAgICBQeV9GYXRhbEVycm9yKAotICAgICAgICAgICAgIlB5X0luaXRpYWxpemU6IGNhbid0IGluaXRpYWxpemUgc3lzIHN0YW5kYXJkIHN0cmVhbXMiKTsKLSAgICAgICAgaW5pdG1haW4oaW50ZXJwKTsKLSAgICAgICAgaWYgKCFQeV9Ob1NpdGVGbGFnKQotICAgICAgICAgICAgaW5pdHNpdGUoKTsKLSAgICB9Ci0KLSAgICBpZiAoIVB5RXJyX09jY3VycmVkKCkpCi0gICAgICAgIHJldHVybiB0c3RhdGU7Ci0KLWhhbmRsZV9lcnJvcjoKLSAgICAvKiBPb3BzLCBpdCBkaWRuJ3Qgd29yay4gIFVuZG8gaXQgYWxsLiAqLwotCi0gICAgUHlFcnJfUHJpbnRFeCgwKTsKLSAgICBQeVRocmVhZFN0YXRlX0NsZWFyKHRzdGF0ZSk7Ci0gICAgUHlUaHJlYWRTdGF0ZV9Td2FwKHNhdmVfdHN0YXRlKTsKLSAgICBQeVRocmVhZFN0YXRlX0RlbGV0ZSh0c3RhdGUpOwotICAgIFB5SW50ZXJwcmV0ZXJTdGF0ZV9EZWxldGUoaW50ZXJwKTsKLQotICAgIHJldHVybiBOVUxMOwotfQotCi0vKiBEZWxldGUgYW4gaW50ZXJwcmV0ZXIgYW5kIGl0cyBsYXN0IHRocmVhZC4gIFRoaXMgcmVxdWlyZXMgdGhhdCB0aGUKLSAgIGdpdmVuIHRocmVhZCBzdGF0ZSBpcyBjdXJyZW50LCB0aGF0IHRoZSB0aHJlYWQgaGFzIG5vIHJlbWFpbmluZwotICAgZnJhbWVzLCBhbmQgdGhhdCBpdCBpcyBpdHMgaW50ZXJwcmV0ZXIncyBvbmx5IHJlbWFpbmluZyB0aHJlYWQuCi0gICBJdCBpcyBhIGZhdGFsIGVycm9yIHRvIHZpb2xhdGUgdGhlc2UgY29uc3RyYWludHMuCi0KLSAgIChQeV9GaW5hbGl6ZSgpIGRvZXNuJ3QgaGF2ZSB0aGVzZSBjb25zdHJhaW50cyAtLSBpdCB6YXBzCi0gICBldmVyeXRoaW5nLCByZWdhcmRsZXNzLikKLQotICAgTG9ja2luZzogYXMgYWJvdmUuCi0KLSovCi0KLXZvaWQKLVB5X0VuZEludGVycHJldGVyKFB5VGhyZWFkU3RhdGUgKnRzdGF0ZSkKLXsKLSAgICBQeUludGVycHJldGVyU3RhdGUgKmludGVycCA9IHRzdGF0ZS0+aW50ZXJwOwotCi0gICAgaWYgKHRzdGF0ZSAhPSBQeVRocmVhZFN0YXRlX0dFVCgpKQotICAgICAgICBQeV9GYXRhbEVycm9yKCJQeV9FbmRJbnRlcnByZXRlcjogdGhyZWFkIGlzIG5vdCBjdXJyZW50Iik7Ci0gICAgaWYgKHRzdGF0ZS0+ZnJhbWUgIT0gTlVMTCkKLSAgICAgICAgUHlfRmF0YWxFcnJvcigiUHlfRW5kSW50ZXJwcmV0ZXI6IHRocmVhZCBzdGlsbCBoYXMgYSBmcmFtZSIpOwotCi0gICAgd2FpdF9mb3JfdGhyZWFkX3NodXRkb3duKCk7Ci0KLSAgICBpZiAodHN0YXRlICE9IGludGVycC0+dHN0YXRlX2hlYWQgfHwgdHN0YXRlLT5uZXh0ICE9IE5VTEwpCi0gICAgICAgIFB5X0ZhdGFsRXJyb3IoIlB5X0VuZEludGVycHJldGVyOiBub3QgdGhlIGxhc3QgdGhyZWFkIik7Ci0KLSAgICBQeUltcG9ydF9DbGVhbnVwKCk7Ci0gICAgUHlJbnRlcnByZXRlclN0YXRlX0NsZWFyKGludGVycCk7Ci0gICAgUHlUaHJlYWRTdGF0ZV9Td2FwKE5VTEwpOwotICAgIFB5SW50ZXJwcmV0ZXJTdGF0ZV9EZWxldGUoaW50ZXJwKTsKLX0KLQotI2lmZGVmIE1TX1dJTkRPV1MKLXN0YXRpYyB3Y2hhcl90ICpwcm9nbmFtZSA9IEwicHl0aG9uIjsKLSNlbHNlCi1zdGF0aWMgd2NoYXJfdCAqcHJvZ25hbWUgPSBMInB5dGhvbjMiOwotI2VuZGlmCi0KLXZvaWQKLVB5X1NldFByb2dyYW1OYW1lKHdjaGFyX3QgKnBuKQotewotICAgIGlmIChwbiAmJiAqcG4pCi0gICAgICAgIHByb2duYW1lID0gcG47Ci19Ci0KLXdjaGFyX3QgKgotUHlfR2V0UHJvZ3JhbU5hbWUodm9pZCkKLXsKLSAgICByZXR1cm4gcHJvZ25hbWU7Ci19Ci0KLXN0YXRpYyB3Y2hhcl90ICpkZWZhdWx0X2hvbWUgPSBOVUxMOwotc3RhdGljIHdjaGFyX3QgZW52X2hvbWVbTUFYUEFUSExFTisxXTsKLQotdm9pZAotUHlfU2V0UHl0aG9uSG9tZSh3Y2hhcl90ICpob21lKQotewotICAgIGRlZmF1bHRfaG9tZSA9IGhvbWU7Ci19Ci0KLXdjaGFyX3QgKgotUHlfR2V0UHl0aG9uSG9tZSh2b2lkKQotewotICAgIHdjaGFyX3QgKmhvbWUgPSBkZWZhdWx0X2hvbWU7Ci0gICAgaWYgKGhvbWUgPT0gTlVMTCAmJiAhUHlfSWdub3JlRW52aXJvbm1lbnRGbGFnKSB7Ci0gICAgICAgIGNoYXIqIGNob21lID0gUHlfR0VURU5WKCJQWVRIT05IT01FIik7Ci0gICAgICAgIGlmIChjaG9tZSkgewotICAgICAgICAgICAgc2l6ZV90IHNpemUgPSBQeV9BUlJBWV9MRU5HVEgoZW52X2hvbWUpOwotICAgICAgICAgICAgc2l6ZV90IHIgPSBtYnN0b3djcyhlbnZfaG9tZSwgY2hvbWUsIHNpemUpOwotICAgICAgICAgICAgaWYgKHIgIT0gKHNpemVfdCktMSAmJiByIDwgc2l6ZSkKLSAgICAgICAgICAgICAgICBob21lID0gZW52X2hvbWU7Ci0gICAgICAgIH0KLQotICAgIH0KLSAgICByZXR1cm4gaG9tZTsKLX0KLQotLyogQ3JlYXRlIF9fbWFpbl9fIG1vZHVsZSAqLwotCi1zdGF0aWMgdm9pZAotaW5pdG1haW4oUHlJbnRlcnByZXRlclN0YXRlICppbnRlcnApCi17Ci0gICAgUHlPYmplY3QgKm0sICpkLCAqbG9hZGVyOwotICAgIG0gPSBQeUltcG9ydF9BZGRNb2R1bGUoIl9fbWFpbl9fIik7Ci0gICAgaWYgKG0gPT0gTlVMTCkKLSAgICAgICAgUHlfRmF0YWxFcnJvcigiY2FuJ3QgY3JlYXRlIF9fbWFpbl9fIG1vZHVsZSIpOwotICAgIGQgPSBQeU1vZHVsZV9HZXREaWN0KG0pOwotICAgIGlmIChQeURpY3RfR2V0SXRlbVN0cmluZyhkLCAiX19idWlsdGluc19fIikgPT0gTlVMTCkgewotICAgICAgICBQeU9iamVjdCAqYmltb2QgPSBQeUltcG9ydF9JbXBvcnRNb2R1bGUoImJ1aWx0aW5zIik7Ci0gICAgICAgIGlmIChiaW1vZCA9PSBOVUxMKSB7Ci0gICAgICAgICAgICBQeV9GYXRhbEVycm9yKCJGYWlsZWQgdG8gcmV0cmlldmUgYnVpbHRpbnMgbW9kdWxlIik7Ci0gICAgICAgIH0KLSAgICAgICAgaWYgKFB5RGljdF9TZXRJdGVtU3RyaW5nKGQsICJfX2J1aWx0aW5zX18iLCBiaW1vZCkgPCAwKSB7Ci0gICAgICAgICAgICBQeV9GYXRhbEVycm9yKCJGYWlsZWQgdG8gaW5pdGlhbGl6ZSBfX21haW5fXy5fX2J1aWx0aW5zX18iKTsKLSAgICAgICAgfQotICAgICAgICBQeV9ERUNSRUYoYmltb2QpOwotICAgIH0KLSAgICAvKiBNYWluIGlzIGEgbGl0dGxlIHNwZWNpYWwgLSBpbXAuaXNfYnVpbHRpbigiX19tYWluX18iKSB3aWxsIHJldHVybgotICAgICAqIEZhbHNlLCBidXQgQnVpbHRpbkltcG9ydGVyIGlzIHN0aWxsIHRoZSBtb3N0IGFwcHJvcHJpYXRlIGluaXRpYWwKLSAgICAgKiBzZXR0aW5nIGZvciBpdHMgX19sb2FkZXJfXyBhdHRyaWJ1dGUuIEEgbW9yZSBzdWl0YWJsZSB2YWx1ZSB3aWxsCi0gICAgICogYmUgc2V0IGlmIF9fbWFpbl9fIGdldHMgZnVydGhlciBpbml0aWFsaXplZCBsYXRlciBpbiB0aGUgc3RhcnR1cAotICAgICAqIHByb2Nlc3MuCi0gICAgICovCi0gICAgbG9hZGVyID0gUHlEaWN0X0dldEl0ZW1TdHJpbmcoZCwgIl9fbG9hZGVyX18iKTsKLSAgICBpZiAobG9hZGVyID09IE5VTEwgfHwgbG9hZGVyID09IFB5X05vbmUpIHsKLSAgICAgICAgUHlPYmplY3QgKmxvYWRlciA9IFB5T2JqZWN0X0dldEF0dHJTdHJpbmcoaW50ZXJwLT5pbXBvcnRsaWIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJCdWlsdGluSW1wb3J0ZXIiKTsKLSAgICAgICAgaWYgKGxvYWRlciA9PSBOVUxMKSB7Ci0gICAgICAgICAgICBQeV9GYXRhbEVycm9yKCJGYWlsZWQgdG8gcmV0cmlldmUgQnVpbHRpbkltcG9ydGVyIik7Ci0gICAgICAgIH0KLSAgICAgICAgaWYgKFB5RGljdF9TZXRJdGVtU3RyaW5nKGQsICJfX2xvYWRlcl9fIiwgbG9hZGVyKSA8IDApIHsKLSAgICAgICAgICAgIFB5X0ZhdGFsRXJyb3IoIkZhaWxlZCB0byBpbml0aWFsaXplIF9fbWFpbl9fLl9fbG9hZGVyX18iKTsKLSAgICAgICAgfQotICAgICAgICBQeV9ERUNSRUYobG9hZGVyKTsKLSAgICB9Ci19Ci0KLXN0YXRpYyBpbnQKLWluaXRmc2VuY29kaW5nKFB5SW50ZXJwcmV0ZXJTdGF0ZSAqaW50ZXJwKQotewotICAgIFB5T2JqZWN0ICpjb2RlYzsKLQotICAgIGlmIChQeV9GaWxlU3lzdGVtRGVmYXVsdEVuY29kaW5nID09IE5VTEwpCi0gICAgewotICAgICAgICBQeV9GaWxlU3lzdGVtRGVmYXVsdEVuY29kaW5nID0gZ2V0X2xvY2FsZV9lbmNvZGluZygpOwotICAgICAgICBpZiAoUHlfRmlsZVN5c3RlbURlZmF1bHRFbmNvZGluZyA9PSBOVUxMKQotICAgICAgICAgICAgUHlfRmF0YWxFcnJvcigiUHlfSW5pdGlhbGl6ZTogVW5hYmxlIHRvIGdldCB0aGUgbG9jYWxlIGVuY29kaW5nIik7Ci0KLSAgICAgICAgUHlfSGFzRmlsZVN5c3RlbURlZmF1bHRFbmNvZGluZyA9IDA7Ci0gICAgICAgIGludGVycC0+ZnNjb2RlY19pbml0aWFsaXplZCA9IDE7Ci0gICAgICAgIHJldHVybiAwOwotICAgIH0KLQotICAgIC8qIHRoZSBlbmNvZGluZyBpcyBtYmNzLCB1dGYtOCBvciBhc2NpaSAqLwotICAgIGNvZGVjID0gX1B5Q29kZWNfTG9va3VwKFB5X0ZpbGVTeXN0ZW1EZWZhdWx0RW5jb2RpbmcpOwotICAgIGlmICghY29kZWMpIHsKLSAgICAgICAgLyogU3VjaCBlcnJvciBjYW4gb25seSBvY2N1cnMgaW4gY3JpdGljYWwgc2l0dWF0aW9uczogbm8gbW9yZQotICAgICAgICAgKiBtZW1vcnksIGltcG9ydCBhIG1vZHVsZSBvZiB0aGUgc3RhbmRhcmQgbGlicmFyeSBmYWlsZWQsCi0gICAgICAgICAqIGV0Yy4gKi8KLSAgICAgICAgcmV0dXJuIC0xOwotICAgIH0KLSAgICBQeV9ERUNSRUYoY29kZWMpOwotICAgIGludGVycC0+ZnNjb2RlY19pbml0aWFsaXplZCA9IDE7Ci0gICAgcmV0dXJuIDA7Ci19Ci0KLS8qIEltcG9ydCB0aGUgc2l0ZSBtb2R1bGUgKG5vdCBpbnRvIF9fbWFpbl9fIHRob3VnaCkgKi8KLQotc3RhdGljIHZvaWQKLWluaXRzaXRlKHZvaWQpCi17Ci0gICAgUHlPYmplY3QgKm07Ci0gICAgbSA9IFB5SW1wb3J0X0ltcG9ydE1vZHVsZSgic2l0ZSIpOwotICAgIGlmIChtID09IE5VTEwpIHsKLSAgICAgICAgZnByaW50ZihzdGRlcnIsICJGYWlsZWQgdG8gaW1wb3J0IHRoZSBzaXRlIG1vZHVsZVxuIik7Ci0gICAgICAgIFB5RXJyX1ByaW50KCk7Ci0gICAgICAgIFB5X0ZpbmFsaXplKCk7Ci0gICAgICAgIGV4aXQoMSk7Ci0gICAgfQotICAgIGVsc2UgewotICAgICAgICBQeV9ERUNSRUYobSk7Ci0gICAgfQotfQotCi1zdGF0aWMgUHlPYmplY3QqCi1jcmVhdGVfc3RkaW8oUHlPYmplY3QqIGlvLAotICAgIGludCBmZCwgaW50IHdyaXRlX21vZGUsIGNoYXIqIG5hbWUsCi0gICAgY2hhciogZW5jb2RpbmcsIGNoYXIqIGVycm9ycykKLXsKLSAgICBQeU9iamVjdCAqYnVmID0gTlVMTCwgKnN0cmVhbSA9IE5VTEwsICp0ZXh0ID0gTlVMTCwgKnJhdyA9IE5VTEwsICpyZXM7Ci0gICAgY29uc3QgY2hhciogbW9kZTsKLSAgICBjb25zdCBjaGFyKiBuZXdsaW5lOwotICAgIFB5T2JqZWN0ICpsaW5lX2J1ZmZlcmluZzsKLSAgICBpbnQgYnVmZmVyaW5nLCBpc2F0dHk7Ci0gICAgX1B5X0lERU5USUZJRVIob3Blbik7Ci0gICAgX1B5X0lERU5USUZJRVIoaXNhdHR5KTsKLSAgICBfUHlfSURFTlRJRklFUihUZXh0SU9XcmFwcGVyKTsKLSAgICBfUHlfSURFTlRJRklFUihtb2RlKTsKLQotICAgIC8qIHN0ZGluIGlzIGFsd2F5cyBvcGVuZWQgaW4gYnVmZmVyZWQgbW9kZSwgZmlyc3QgYmVjYXVzZSBpdCBzaG91bGRuJ3QKLSAgICAgICBtYWtlIGEgZGlmZmVyZW5jZSBpbiBjb21tb24gdXNlIGNhc2VzLCBzZWNvbmQgYmVjYXVzZSBUZXh0SU9XcmFwcGVyCi0gICAgICAgZGVwZW5kcyBvbiB0aGUgcHJlc2VuY2Ugb2YgYSByZWFkMSgpIG1ldGhvZCB3aGljaCBvbmx5IGV4aXN0cyBvbgotICAgICAgIGJ1ZmZlcmVkIHN0cmVhbXMuCi0gICAgKi8KLSAgICBpZiAoUHlfVW5idWZmZXJlZFN0ZGlvRmxhZyAmJiB3cml0ZV9tb2RlKQotICAgICAgICBidWZmZXJpbmcgPSAwOwotICAgIGVsc2UKLSAgICAgICAgYnVmZmVyaW5nID0gLTE7Ci0gICAgaWYgKHdyaXRlX21vZGUpCi0gICAgICAgIG1vZGUgPSAid2IiOwotICAgIGVsc2UKLSAgICAgICAgbW9kZSA9ICJyYiI7Ci0gICAgYnVmID0gX1B5T2JqZWN0X0NhbGxNZXRob2RJZChpbywgJlB5SWRfb3BlbiwgImlzaU9PT2kiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmQsIG1vZGUsIGJ1ZmZlcmluZywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5X05vbmUsIFB5X05vbmUsIFB5X05vbmUsIDApOwotICAgIGlmIChidWYgPT0gTlVMTCkKLSAgICAgICAgZ290byBlcnJvcjsKLQotICAgIGlmIChidWZmZXJpbmcpIHsKLSAgICAgICAgX1B5X0lERU5USUZJRVIocmF3KTsKLSAgICAgICAgcmF3ID0gX1B5T2JqZWN0X0dldEF0dHJJZChidWYsICZQeUlkX3Jhdyk7Ci0gICAgICAgIGlmIChyYXcgPT0gTlVMTCkKLSAgICAgICAgICAgIGdvdG8gZXJyb3I7Ci0gICAgfQotICAgIGVsc2UgewotICAgICAgICByYXcgPSBidWY7Ci0gICAgICAgIFB5X0lOQ1JFRihyYXcpOwotICAgIH0KLQotICAgIHRleHQgPSBQeVVuaWNvZGVfRnJvbVN0cmluZyhuYW1lKTsKLSAgICBpZiAodGV4dCA9PSBOVUxMIHx8IF9QeU9iamVjdF9TZXRBdHRySWQocmF3LCAmUHlJZF9uYW1lLCB0ZXh0KSA8IDApCi0gICAgICAgIGdvdG8gZXJyb3I7Ci0gICAgcmVzID0gX1B5T2JqZWN0X0NhbGxNZXRob2RJZChyYXcsICZQeUlkX2lzYXR0eSwgIiIpOwotICAgIGlmIChyZXMgPT0gTlVMTCkKLSAgICAgICAgZ290byBlcnJvcjsKLSAgICBpc2F0dHkgPSBQeU9iamVjdF9Jc1RydWUocmVzKTsKLSAgICBQeV9ERUNSRUYocmVzKTsKLSAgICBpZiAoaXNhdHR5ID09IC0xKQotICAgICAgICBnb3RvIGVycm9yOwotICAgIGlmIChpc2F0dHkgfHwgUHlfVW5idWZmZXJlZFN0ZGlvRmxhZykKLSAgICAgICAgbGluZV9idWZmZXJpbmcgPSBQeV9UcnVlOwotICAgIGVsc2UKLSAgICAgICAgbGluZV9idWZmZXJpbmcgPSBQeV9GYWxzZTsKLQotICAgIFB5X0NMRUFSKHJhdyk7Ci0gICAgUHlfQ0xFQVIodGV4dCk7Ci0KLSNpZmRlZiBNU19XSU5ET1dTCi0gICAgLyogc3lzLnN0ZGluOiBlbmFibGUgdW5pdmVyc2FsIG5ld2xpbmUgbW9kZSwgdHJhbnNsYXRlICJcclxuIiBhbmQgIlxyIgotICAgICAgIG5ld2xpbmVzIHRvICJcbiIuCi0gICAgICAgc3lzLnN0ZG91dCBhbmQgc3lzLnN0ZGVycjogdHJhbnNsYXRlICJcbiIgdG8gIlxyXG4iLiAqLwotICAgIG5ld2xpbmUgPSBOVUxMOwotI2Vsc2UKLSAgICAvKiBzeXMuc3RkaW46IHNwbGl0IGxpbmVzIGF0ICJcbiIuCi0gICAgICAgc3lzLnN0ZG91dCBhbmQgc3lzLnN0ZGVycjogZG9uJ3QgdHJhbnNsYXRlIG5ld2xpbmVzICh1c2UgIlxuIikuICovCi0gICAgbmV3bGluZSA9ICJcbiI7Ci0jZW5kaWYKLQotICAgIHN0cmVhbSA9IF9QeU9iamVjdF9DYWxsTWV0aG9kSWQoaW8sICZQeUlkX1RleHRJT1dyYXBwZXIsICJPc3NzTyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBidWYsIGVuY29kaW5nLCBlcnJvcnMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXdsaW5lLCBsaW5lX2J1ZmZlcmluZyk7Ci0gICAgUHlfQ0xFQVIoYnVmKTsKLSAgICBpZiAoc3RyZWFtID09IE5VTEwpCi0gICAgICAgIGdvdG8gZXJyb3I7Ci0KLSAgICBpZiAod3JpdGVfbW9kZSkKLSAgICAgICAgbW9kZSA9ICJ3IjsKLSAgICBlbHNlCi0gICAgICAgIG1vZGUgPSAiciI7Ci0gICAgdGV4dCA9IFB5VW5pY29kZV9Gcm9tU3RyaW5nKG1vZGUpOwotICAgIGlmICghdGV4dCB8fCBfUHlPYmplY3RfU2V0QXR0cklkKHN0cmVhbSwgJlB5SWRfbW9kZSwgdGV4dCkgPCAwKQotICAgICAgICBnb3RvIGVycm9yOwotICAgIFB5X0NMRUFSKHRleHQpOwotICAgIHJldHVybiBzdHJlYW07Ci0KLWVycm9yOgotICAgIFB5X1hERUNSRUYoYnVmKTsKLSAgICBQeV9YREVDUkVGKHN0cmVhbSk7Ci0gICAgUHlfWERFQ1JFRih0ZXh0KTsKLSAgICBQeV9YREVDUkVGKHJhdyk7Ci0gICAgcmV0dXJuIE5VTEw7Ci19Ci0KLXN0YXRpYyBpbnQKLWlzX3ZhbGlkX2ZkKGludCBmZCkKLXsKLSAgICBpbnQgZHVtbXlfZmQ7Ci0gICAgaWYgKGZkIDwgMCB8fCAhX1B5VmVyaWZ5X2ZkKGZkKSkKLSAgICAgICAgcmV0dXJuIDA7Ci0gICAgZHVtbXlfZmQgPSBkdXAoZmQpOwotICAgIGlmIChkdW1teV9mZCA8IDApCi0gICAgICAgIHJldHVybiAwOwotICAgIGNsb3NlKGR1bW15X2ZkKTsKLSAgICByZXR1cm4gMTsKLX0KLQotLyogSW5pdGlhbGl6ZSBzeXMuc3RkaW4sIHN0ZG91dCwgc3RkZXJyIGFuZCBidWlsdGlucy5vcGVuICovCi1zdGF0aWMgaW50Ci1pbml0c3RkaW8odm9pZCkKLXsKLSAgICBQeU9iamVjdCAqaW9tb2QgPSBOVUxMLCAqd3JhcHBlcjsKLSAgICBQeU9iamVjdCAqYmltb2QgPSBOVUxMOwotICAgIFB5T2JqZWN0ICptOwotICAgIFB5T2JqZWN0ICpzdGQgPSBOVUxMOwotICAgIGludCBzdGF0dXMgPSAwLCBmZDsKLSAgICBQeU9iamVjdCAqIGVuY29kaW5nX2F0dHI7Ci0gICAgY2hhciAqcHl0aG9uaW9lbmNvZGluZyA9IE5VTEwsICplbmNvZGluZywgKmVycm9yczsKLQotICAgIC8qIEhhY2sgdG8gYXZvaWQgYSBuYXN0eSByZWN1cnNpb24gaXNzdWUgd2hlbiBQeXRob24gaXMgaW52b2tlZAotICAgICAgIGluIHZlcmJvc2UgbW9kZTogcHJlLWltcG9ydCB0aGUgTGF0aW4tMSBhbmQgVVRGLTggY29kZWNzICovCi0gICAgaWYgKChtID0gUHlJbXBvcnRfSW1wb3J0TW9kdWxlKCJlbmNvZGluZ3MudXRmXzgiKSkgPT0gTlVMTCkgewotICAgICAgICBnb3RvIGVycm9yOwotICAgIH0KLSAgICBQeV9ERUNSRUYobSk7Ci0KLSAgICBpZiAoIShtID0gUHlJbXBvcnRfSW1wb3J0TW9kdWxlKCJlbmNvZGluZ3MubGF0aW5fMSIpKSkgewotICAgICAgICBnb3RvIGVycm9yOwotICAgIH0KLSAgICBQeV9ERUNSRUYobSk7Ci0KLSAgICBpZiAoIShiaW1vZCA9IFB5SW1wb3J0X0ltcG9ydE1vZHVsZSgiYnVpbHRpbnMiKSkpIHsKLSAgICAgICAgZ290byBlcnJvcjsKLSAgICB9Ci0KLSAgICBpZiAoIShpb21vZCA9IFB5SW1wb3J0X0ltcG9ydE1vZHVsZSgiaW8iKSkpIHsKLSAgICAgICAgZ290byBlcnJvcjsKLSAgICB9Ci0gICAgaWYgKCEod3JhcHBlciA9IFB5T2JqZWN0X0dldEF0dHJTdHJpbmcoaW9tb2QsICJPcGVuV3JhcHBlciIpKSkgewotICAgICAgICBnb3RvIGVycm9yOwotICAgIH0KLQotICAgIC8qIFNldCBidWlsdGlucy5vcGVuICovCi0gICAgaWYgKFB5T2JqZWN0X1NldEF0dHJTdHJpbmcoYmltb2QsICJvcGVuIiwgd3JhcHBlcikgPT0gLTEpIHsKLSAgICAgICAgUHlfREVDUkVGKHdyYXBwZXIpOwotICAgICAgICBnb3RvIGVycm9yOwotICAgIH0KLSAgICBQeV9ERUNSRUYod3JhcHBlcik7Ci0KLSAgICBlbmNvZGluZyA9IF9QeV9TdGFuZGFyZFN0cmVhbUVuY29kaW5nOwotICAgIGVycm9ycyA9IF9QeV9TdGFuZGFyZFN0cmVhbUVycm9yczsKLSAgICBpZiAoIWVuY29kaW5nIHx8ICFlcnJvcnMpIHsKLSAgICAgICAgcHl0aG9uaW9lbmNvZGluZyA9IFB5X0dFVEVOVigiUFlUSE9OSU9FTkNPRElORyIpOwotICAgICAgICBpZiAocHl0aG9uaW9lbmNvZGluZykgewotICAgICAgICAgICAgY2hhciAqZXJyOwotICAgICAgICAgICAgcHl0aG9uaW9lbmNvZGluZyA9IF9QeU1lbV9TdHJkdXAocHl0aG9uaW9lbmNvZGluZyk7Ci0gICAgICAgICAgICBpZiAocHl0aG9uaW9lbmNvZGluZyA9PSBOVUxMKSB7Ci0gICAgICAgICAgICAgICAgUHlFcnJfTm9NZW1vcnkoKTsKLSAgICAgICAgICAgICAgICBnb3RvIGVycm9yOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgZXJyID0gc3RyY2hyKHB5dGhvbmlvZW5jb2RpbmcsICc6Jyk7Ci0gICAgICAgICAgICBpZiAoZXJyKSB7Ci0gICAgICAgICAgICAgICAgKmVyciA9ICdcMCc7Ci0gICAgICAgICAgICAgICAgZXJyKys7Ci0gICAgICAgICAgICAgICAgaWYgKCplcnIgJiYgIWVycm9ycykgewotICAgICAgICAgICAgICAgICAgICBlcnJvcnMgPSBlcnI7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgfQotICAgICAgICAgICAgaWYgKCpweXRob25pb2VuY29kaW5nICYmICFlbmNvZGluZykgewotICAgICAgICAgICAgICAgIGVuY29kaW5nID0gcHl0aG9uaW9lbmNvZGluZzsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQotICAgIH0KLQotICAgIC8qIFNldCBzeXMuc3RkaW4gKi8KLSAgICBmZCA9IGZpbGVubyhzdGRpbik7Ci0gICAgLyogVW5kZXIgc29tZSBjb25kaXRpb25zIHN0ZGluLCBzdGRvdXQgYW5kIHN0ZGVyciBtYXkgbm90IGJlIGNvbm5lY3RlZAotICAgICAqIGFuZCBmaWxlbm8oKSBtYXkgcG9pbnQgdG8gYW4gaW52YWxpZCBmaWxlIGRlc2NyaXB0b3IuIEZvciBleGFtcGxlCi0gICAgICogR1VJIGFwcHMgZG9uJ3QgaGF2ZSB2YWxpZCBzdGFuZGFyZCBzdHJlYW1zIGJ5IGRlZmF1bHQuCi0gICAgICovCi0gICAgaWYgKCFpc192YWxpZF9mZChmZCkpIHsKLSAgICAgICAgc3RkID0gUHlfTm9uZTsKLSAgICAgICAgUHlfSU5DUkVGKHN0ZCk7Ci0gICAgfQotICAgIGVsc2UgewotICAgICAgICBzdGQgPSBjcmVhdGVfc3RkaW8oaW9tb2QsIGZkLCAwLCAiPHN0ZGluPiIsIGVuY29kaW5nLCBlcnJvcnMpOwotICAgICAgICBpZiAoc3RkID09IE5VTEwpCi0gICAgICAgICAgICBnb3RvIGVycm9yOwotICAgIH0gLyogaWYgKGZkIDwgMCkgKi8KLSAgICBQeVN5c19TZXRPYmplY3QoIl9fc3RkaW5fXyIsIHN0ZCk7Ci0gICAgX1B5U3lzX1NldE9iamVjdElkKCZQeUlkX3N0ZGluLCBzdGQpOwotICAgIFB5X0RFQ1JFRihzdGQpOwotCi0gICAgLyogU2V0IHN5cy5zdGRvdXQgKi8KLSAgICBmZCA9IGZpbGVubyhzdGRvdXQpOwotICAgIGlmICghaXNfdmFsaWRfZmQoZmQpKSB7Ci0gICAgICAgIHN0ZCA9IFB5X05vbmU7Ci0gICAgICAgIFB5X0lOQ1JFRihzdGQpOwotICAgIH0KLSAgICBlbHNlIHsKLSAgICAgICAgc3RkID0gY3JlYXRlX3N0ZGlvKGlvbW9kLCBmZCwgMSwgIjxzdGRvdXQ+IiwgZW5jb2RpbmcsIGVycm9ycyk7Ci0gICAgICAgIGlmIChzdGQgPT0gTlVMTCkKLSAgICAgICAgICAgIGdvdG8gZXJyb3I7Ci0gICAgfSAvKiBpZiAoZmQgPCAwKSAqLwotICAgIFB5U3lzX1NldE9iamVjdCgiX19zdGRvdXRfXyIsIHN0ZCk7Ci0gICAgX1B5U3lzX1NldE9iamVjdElkKCZQeUlkX3N0ZG91dCwgc3RkKTsKLSAgICBQeV9ERUNSRUYoc3RkKTsKLQotI2lmIDEgLyogRGlzYWJsZSB0aGlzIGlmIHlvdSBoYXZlIHRyb3VibGUgZGVidWdnaW5nIGJvb3RzdHJhcCBzdHVmZiAqLwotICAgIC8qIFNldCBzeXMuc3RkZXJyLCByZXBsYWNlcyB0aGUgcHJlbGltaW5hcnkgc3RkZXJyICovCi0gICAgZmQgPSBmaWxlbm8oc3RkZXJyKTsKLSAgICBpZiAoIWlzX3ZhbGlkX2ZkKGZkKSkgewotICAgICAgICBzdGQgPSBQeV9Ob25lOwotICAgICAgICBQeV9JTkNSRUYoc3RkKTsKLSAgICB9Ci0gICAgZWxzZSB7Ci0gICAgICAgIHN0ZCA9IGNyZWF0ZV9zdGRpbyhpb21vZCwgZmQsIDEsICI8c3RkZXJyPiIsIGVuY29kaW5nLCAiYmFja3NsYXNocmVwbGFjZSIpOwotICAgICAgICBpZiAoc3RkID09IE5VTEwpCi0gICAgICAgICAgICBnb3RvIGVycm9yOwotICAgIH0gLyogaWYgKGZkIDwgMCkgKi8KLQotICAgIC8qIFNhbWUgYXMgaGFjayBhYm92ZSwgcHJlLWltcG9ydCBzdGRlcnIncyBjb2RlYyB0byBhdm9pZCByZWN1cnNpb24KLSAgICAgICB3aGVuIGltcG9ydC5jIHRyaWVzIHRvIHdyaXRlIHRvIHN0ZGVyciBpbiB2ZXJib3NlIG1vZGUuICovCi0gICAgZW5jb2RpbmdfYXR0ciA9IFB5T2JqZWN0X0dldEF0dHJTdHJpbmcoc3RkLCAiZW5jb2RpbmciKTsKLSAgICBpZiAoZW5jb2RpbmdfYXR0ciAhPSBOVUxMKSB7Ci0gICAgICAgIGNvbnN0IGNoYXIgKiBzdGRfZW5jb2Rpbmc7Ci0gICAgICAgIHN0ZF9lbmNvZGluZyA9IF9QeVVuaWNvZGVfQXNTdHJpbmcoZW5jb2RpbmdfYXR0cik7Ci0gICAgICAgIGlmIChzdGRfZW5jb2RpbmcgIT0gTlVMTCkgewotICAgICAgICAgICAgUHlPYmplY3QgKmNvZGVjX2luZm8gPSBfUHlDb2RlY19Mb29rdXAoc3RkX2VuY29kaW5nKTsKLSAgICAgICAgICAgIFB5X1hERUNSRUYoY29kZWNfaW5mbyk7Ci0gICAgICAgIH0KLSAgICAgICAgUHlfREVDUkVGKGVuY29kaW5nX2F0dHIpOwotICAgIH0KLSAgICBQeUVycl9DbGVhcigpOyAgLyogTm90IGEgZmF0YWwgZXJyb3IgaWYgY29kZWMgaXNuJ3QgYXZhaWxhYmxlICovCi0KLSAgICBpZiAoUHlTeXNfU2V0T2JqZWN0KCJfX3N0ZGVycl9fIiwgc3RkKSA8IDApIHsKLSAgICAgICAgUHlfREVDUkVGKHN0ZCk7Ci0gICAgICAgIGdvdG8gZXJyb3I7Ci0gICAgfQotICAgIGlmIChfUHlTeXNfU2V0T2JqZWN0SWQoJlB5SWRfc3RkZXJyLCBzdGQpIDwgMCkgewotICAgICAgICBQeV9ERUNSRUYoc3RkKTsKLSAgICAgICAgZ290byBlcnJvcjsKLSAgICB9Ci0gICAgUHlfREVDUkVGKHN0ZCk7Ci0jZW5kaWYKLQotICAgIGlmICgwKSB7Ci0gIGVycm9yOgotICAgICAgICBzdGF0dXMgPSAtMTsKLSAgICB9Ci0KLSAgICAvKiBXZSB3b24ndCBuZWVkIHRoZW0gYW55bW9yZS4gKi8KLSAgICBpZiAoX1B5X1N0YW5kYXJkU3RyZWFtRW5jb2RpbmcpIHsKLSAgICAgICAgUHlNZW1fUmF3RnJlZShfUHlfU3RhbmRhcmRTdHJlYW1FbmNvZGluZyk7Ci0gICAgICAgIF9QeV9TdGFuZGFyZFN0cmVhbUVuY29kaW5nID0gTlVMTDsKLSAgICB9Ci0gICAgaWYgKF9QeV9TdGFuZGFyZFN0cmVhbUVycm9ycykgewotICAgICAgICBQeU1lbV9SYXdGcmVlKF9QeV9TdGFuZGFyZFN0cmVhbUVycm9ycyk7Ci0gICAgICAgIF9QeV9TdGFuZGFyZFN0cmVhbUVycm9ycyA9IE5VTEw7Ci0gICAgfQotICAgIFB5TWVtX0ZyZWUocHl0aG9uaW9lbmNvZGluZyk7Ci0gICAgUHlfWERFQ1JFRihiaW1vZCk7Ci0gICAgUHlfWERFQ1JFRihpb21vZCk7Ci0gICAgcmV0dXJuIHN0YXR1czsKLX0KIAogLyogUGFyc2UgaW5wdXQgZnJvbSBhIGZpbGUgYW5kIGV4ZWN1dGUgaXQgKi8KIApAQCAtMTMyMiw3ICsxMTAsNyBAQAogICAgIGVyciA9IC0xOwogICAgIGZvciAoOzspIHsKICAgICAgICAgcmV0ID0gUHlSdW5fSW50ZXJhY3RpdmVPbmVPYmplY3QoZnAsIGZpbGVuYW1lLCBmbGFncyk7Ci0gICAgICAgIFBSSU5UX1RPVEFMX1JFRlMoKTsKKyAgICAgICAgX1BZX0RFQlVHX1BSSU5UX1RPVEFMX1JFRlMoKTsKICAgICAgICAgaWYgKHJldCA9PSBFX0VPRikgewogICAgICAgICAgICAgZXJyID0gMDsKICAgICAgICAgICAgIGJyZWFrOwpAQCAtMTcyOSw3ICs1MTcsNyBAQAogICAgICAgICByZXR1cm47CiAKICAgICBpZiAob2Zmc2V0ID49IDApIHsKLSAgICAgICAgaWYgKG9mZnNldCA+IDAgJiYgb2Zmc2V0ID09IHN0cmxlbih0ZXh0KSAmJiB0ZXh0W29mZnNldCAtIDFdID09ICdcbicpCisgICAgICAgIGlmIChvZmZzZXQgPiAwICYmIChzaXplX3Qpb2Zmc2V0ID09IHN0cmxlbih0ZXh0KSAmJiB0ZXh0W29mZnNldCAtIDFdID09ICdcbicpCiAgICAgICAgICAgICBvZmZzZXQtLTsKICAgICAgICAgZm9yICg7OykgewogICAgICAgICAgICAgbmwgPSBzdHJjaHIodGV4dCwgJ1xuJyk7CkBAIC0yNTg3LDE5MiArMTM3NSw2IEBACiAgICAgfQogfQogCi0vKiBQcmludCBmYXRhbCBlcnJvciBtZXNzYWdlIGFuZCBhYm9ydCAqLwotCi12b2lkCi1QeV9GYXRhbEVycm9yKGNvbnN0IGNoYXIgKm1zZykKLXsKLSAgICBjb25zdCBpbnQgZmQgPSBmaWxlbm8oc3RkZXJyKTsKLSAgICBQeVRocmVhZFN0YXRlICp0c3RhdGU7Ci0KLSAgICBmcHJpbnRmKHN0ZGVyciwgIkZhdGFsIFB5dGhvbiBlcnJvcjogJXNcbiIsIG1zZyk7Ci0gICAgZmZsdXNoKHN0ZGVycik7IC8qIGl0IGhlbHBzIGluIFdpbmRvd3MgZGVidWcgYnVpbGQgKi8KLSAgICBpZiAoUHlFcnJfT2NjdXJyZWQoKSkgewotICAgICAgICBQeUVycl9QcmludEV4KDApOwotICAgIH0KLSAgICBlbHNlIHsKLSAgICAgICAgdHN0YXRlID0gX1B5X2F0b21pY19sb2FkX3JlbGF4ZWQoJl9QeVRocmVhZFN0YXRlX0N1cnJlbnQpOwotICAgICAgICBpZiAodHN0YXRlICE9IE5VTEwpIHsKLSAgICAgICAgICAgIGZwdXRjKCdcbicsIHN0ZGVycik7Ci0gICAgICAgICAgICBmZmx1c2goc3RkZXJyKTsKLSAgICAgICAgICAgIF9QeV9EdW1wVHJhY2ViYWNrVGhyZWFkcyhmZCwgdHN0YXRlLT5pbnRlcnAsIHRzdGF0ZSk7Ci0gICAgICAgIH0KLSAgICAgICAgX1B5RmF1bHRoYW5kbGVyX0ZpbmkoKTsKLSAgICB9Ci0KLSNpZmRlZiBNU19XSU5ET1dTCi0gICAgewotICAgICAgICBzaXplX3QgbGVuID0gc3RybGVuKG1zZyk7Ci0gICAgICAgIFdDSEFSKiBidWZmZXI7Ci0gICAgICAgIHNpemVfdCBpOwotCi0gICAgICAgIC8qIENvbnZlcnQgdGhlIG1lc3NhZ2UgdG8gd2NoYXJfdC4gVGhpcyB1c2VzIGEgc2ltcGxlIG9uZS10by1vbmUKLSAgICAgICAgY29udmVyc2lvbiwgYXNzdW1pbmcgdGhhdCB0aGUgdGhpcyBlcnJvciBtZXNzYWdlIGFjdHVhbGx5IHVzZXMgQVNDSUkKLSAgICAgICAgb25seS4gSWYgdGhpcyBjZWFzZXMgdG8gYmUgdHJ1ZSwgd2Ugd2lsbCBoYXZlIHRvIGNvbnZlcnQuICovCi0gICAgICAgIGJ1ZmZlciA9IGFsbG9jYSggKGxlbisxKSAqIChzaXplb2YgKmJ1ZmZlcikpOwotICAgICAgICBmb3IoIGk9MDsgaTw9bGVuOyArK2kpCi0gICAgICAgICAgICBidWZmZXJbaV0gPSBtc2dbaV07Ci0gICAgICAgIE91dHB1dERlYnVnU3RyaW5nVyhMIkZhdGFsIFB5dGhvbiBlcnJvcjogIik7Ci0gICAgICAgIE91dHB1dERlYnVnU3RyaW5nVyhidWZmZXIpOwotICAgICAgICBPdXRwdXREZWJ1Z1N0cmluZ1coTCJcbiIpOwotICAgIH0KLSNpZmRlZiBfREVCVUcKLSAgICBEZWJ1Z0JyZWFrKCk7Ci0jZW5kaWYKLSNlbmRpZiAvKiBNU19XSU5ET1dTICovCi0gICAgYWJvcnQoKTsKLX0KLQotLyogQ2xlYW4gdXAgYW5kIGV4aXQgKi8KLQotI2lmZGVmIFdJVEhfVEhSRUFECi0jaW5jbHVkZSAicHl0aHJlYWQuaCIKLSNlbmRpZgotCi1zdGF0aWMgdm9pZCAoKnB5ZXhpdGZ1bmMpKHZvaWQpID0gTlVMTDsKLS8qIEZvciB0aGUgYXRleGl0IG1vZHVsZS4gKi8KLXZvaWQgX1B5X1B5QXRFeGl0KHZvaWQgKCpmdW5jKSh2b2lkKSkKLXsKLSAgICBweWV4aXRmdW5jID0gZnVuYzsKLX0KLQotc3RhdGljIHZvaWQKLWNhbGxfcHlfZXhpdGZ1bmNzKHZvaWQpCi17Ci0gICAgaWYgKHB5ZXhpdGZ1bmMgPT0gTlVMTCkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgKCpweWV4aXRmdW5jKSgpOwotICAgIFB5RXJyX0NsZWFyKCk7Ci19Ci0KLS8qIFdhaXQgdW50aWwgdGhyZWFkaW5nLl9zaHV0ZG93biBjb21wbGV0ZXMsIHByb3ZpZGVkCi0gICB0aGUgdGhyZWFkaW5nIG1vZHVsZSB3YXMgaW1wb3J0ZWQgaW4gdGhlIGZpcnN0IHBsYWNlLgotICAgVGhlIHNodXRkb3duIHJvdXRpbmUgd2lsbCB3YWl0IHVudGlsIGFsbCBub24tZGFlbW9uCi0gICAidGhyZWFkaW5nIiB0aHJlYWRzIGhhdmUgY29tcGxldGVkLiAqLwotc3RhdGljIHZvaWQKLXdhaXRfZm9yX3RocmVhZF9zaHV0ZG93bih2b2lkKQotewotI2lmZGVmIFdJVEhfVEhSRUFECi0gICAgX1B5X0lERU5USUZJRVIoX3NodXRkb3duKTsKLSAgICBQeU9iamVjdCAqcmVzdWx0OwotICAgIFB5VGhyZWFkU3RhdGUgKnRzdGF0ZSA9IFB5VGhyZWFkU3RhdGVfR0VUKCk7Ci0gICAgUHlPYmplY3QgKnRocmVhZGluZyA9IFB5TWFwcGluZ19HZXRJdGVtU3RyaW5nKHRzdGF0ZS0+aW50ZXJwLT5tb2R1bGVzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGhyZWFkaW5nIik7Ci0gICAgaWYgKHRocmVhZGluZyA9PSBOVUxMKSB7Ci0gICAgICAgIC8qIHRocmVhZGluZyBub3QgaW1wb3J0ZWQgKi8KLSAgICAgICAgUHlFcnJfQ2xlYXIoKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLSAgICByZXN1bHQgPSBfUHlPYmplY3RfQ2FsbE1ldGhvZElkKHRocmVhZGluZywgJlB5SWRfX3NodXRkb3duLCAiIik7Ci0gICAgaWYgKHJlc3VsdCA9PSBOVUxMKSB7Ci0gICAgICAgIFB5RXJyX1dyaXRlVW5yYWlzYWJsZSh0aHJlYWRpbmcpOwotICAgIH0KLSAgICBlbHNlIHsKLSAgICAgICAgUHlfREVDUkVGKHJlc3VsdCk7Ci0gICAgfQotICAgIFB5X0RFQ1JFRih0aHJlYWRpbmcpOwotI2VuZGlmCi19Ci0KLSNkZWZpbmUgTkVYSVRGVU5DUyAzMgotc3RhdGljIHZvaWQgKCpleGl0ZnVuY3NbTkVYSVRGVU5DU10pKHZvaWQpOwotc3RhdGljIGludCBuZXhpdGZ1bmNzID0gMDsKLQotaW50IFB5X0F0RXhpdCh2b2lkICgqZnVuYykodm9pZCkpCi17Ci0gICAgaWYgKG5leGl0ZnVuY3MgPj0gTkVYSVRGVU5DUykKLSAgICAgICAgcmV0dXJuIC0xOwotICAgIGV4aXRmdW5jc1tuZXhpdGZ1bmNzKytdID0gZnVuYzsKLSAgICByZXR1cm4gMDsKLX0KLQotc3RhdGljIHZvaWQKLWNhbGxfbGxfZXhpdGZ1bmNzKHZvaWQpCi17Ci0gICAgd2hpbGUgKG5leGl0ZnVuY3MgPiAwKQotICAgICAgICAoKmV4aXRmdW5jc1stLW5leGl0ZnVuY3NdKSgpOwotCi0gICAgZmZsdXNoKHN0ZG91dCk7Ci0gICAgZmZsdXNoKHN0ZGVycik7Ci19Ci0KLXZvaWQKLVB5X0V4aXQoaW50IHN0cykKLXsKLSAgICBQeV9GaW5hbGl6ZSgpOwotCi0gICAgZXhpdChzdHMpOwotfQotCi1zdGF0aWMgdm9pZAotaW5pdHNpZ3Modm9pZCkKLXsKLSNpZmRlZiBTSUdQSVBFCi0gICAgUHlPU19zZXRzaWcoU0lHUElQRSwgU0lHX0lHTik7Ci0jZW5kaWYKLSNpZmRlZiBTSUdYRloKLSAgICBQeU9TX3NldHNpZyhTSUdYRlosIFNJR19JR04pOwotI2VuZGlmCi0jaWZkZWYgU0lHWEZTWgotICAgIFB5T1Nfc2V0c2lnKFNJR1hGU1osIFNJR19JR04pOwotI2VuZGlmCi0gICAgUHlPU19Jbml0SW50ZXJydXB0cygpOyAvKiBNYXkgaW1wbHkgaW5pdHNpZ25hbCgpICovCi0gICAgaWYgKFB5RXJyX09jY3VycmVkKCkpIHsKLSAgICAgICAgUHlfRmF0YWxFcnJvcigiUHlfSW5pdGlhbGl6ZTogY2FuJ3QgaW1wb3J0IHNpZ25hbCIpOwotICAgIH0KLX0KLQotCi0vKiBSZXN0b3JlIHNpZ25hbHMgdGhhdCB0aGUgaW50ZXJwcmV0ZXIgaGFzIGNhbGxlZCBTSUdfSUdOIG9uIHRvIFNJR19ERkwuCi0gKgotICogQWxsIG9mIHRoZSBjb2RlIGluIHRoaXMgZnVuY3Rpb24gbXVzdCBvbmx5IHVzZSBhc3luYy1zaWduYWwtc2FmZSBmdW5jdGlvbnMsCi0gKiBsaXN0ZWQgYXQgYG1hbiA3IHNpZ25hbGAgb3IKLSAqIGh0dHA6Ly93d3cub3Blbmdyb3VwLm9yZy9vbmxpbmVwdWJzLzAwOTY5NTM5OS9mdW5jdGlvbnMveHNoX2NoYXAwMl8wNC5odG1sLgotICovCi12b2lkCi1fUHlfUmVzdG9yZVNpZ25hbHModm9pZCkKLXsKLSNpZmRlZiBTSUdQSVBFCi0gICAgUHlPU19zZXRzaWcoU0lHUElQRSwgU0lHX0RGTCk7Ci0jZW5kaWYKLSNpZmRlZiBTSUdYRloKLSAgICBQeU9TX3NldHNpZyhTSUdYRlosIFNJR19ERkwpOwotI2VuZGlmCi0jaWZkZWYgU0lHWEZTWgotICAgIFB5T1Nfc2V0c2lnKFNJR1hGU1osIFNJR19ERkwpOwotI2VuZGlmCi19Ci0KLQotLyoKLSAqIFRoZSBmaWxlIGRlc2NyaXB0b3IgZmQgaXMgY29uc2lkZXJlZCBgYGludGVyYWN0aXZlJycgaWYgZWl0aGVyCi0gKiAgIGEpIGlzYXR0eShmZCkgaXMgVFJVRSwgb3IKLSAqICAgYikgdGhlIC1pIGZsYWcgd2FzIGdpdmVuLCBhbmQgdGhlIGZpbGVuYW1lIGFzc29jaWF0ZWQgd2l0aAotICogICAgICB0aGUgZGVzY3JpcHRvciBpcyBOVUxMIG9yICI8c3RkaW4+IiBvciAiPz8/Ii4KLSAqLwotaW50Ci1QeV9GZElzSW50ZXJhY3RpdmUoRklMRSAqZnAsIGNvbnN0IGNoYXIgKmZpbGVuYW1lKQotewotICAgIGlmIChpc2F0dHkoKGludClmaWxlbm8oZnApKSkKLSAgICAgICAgcmV0dXJuIDE7Ci0gICAgaWYgKCFQeV9JbnRlcmFjdGl2ZUZsYWcpCi0gICAgICAgIHJldHVybiAwOwotICAgIHJldHVybiAoZmlsZW5hbWUgPT0gTlVMTCkgfHwKLSAgICAgICAgICAgKHN0cmNtcChmaWxlbmFtZSwgIjxzdGRpbj4iKSA9PSAwKSB8fAotICAgICAgICAgICAoc3RyY21wKGZpbGVuYW1lLCAiPz8/IikgPT0gMCk7Ci19Ci0KIAogI2lmIGRlZmluZWQoVVNFX1NUQUNLQ0hFQ0spCiAjaWYgZGVmaW5lZChXSU4zMikgJiYgZGVmaW5lZChfTVNDX1ZFUikKQEAgLTI4MTEsNzMgKzE0MTMsNiBAQAogCiAjZW5kaWYgLyogVVNFX1NUQUNLQ0hFQ0sgKi8KIAotCi0vKiBXcmFwcGVycyBhcm91bmQgc2lnYWN0aW9uKCkgb3Igc2lnbmFsKCkuICovCi0KLVB5T1Nfc2lnaGFuZGxlcl90Ci1QeU9TX2dldHNpZyhpbnQgc2lnKQotewotI2lmZGVmIEhBVkVfU0lHQUNUSU9OCi0gICAgc3RydWN0IHNpZ2FjdGlvbiBjb250ZXh0OwotICAgIGlmIChzaWdhY3Rpb24oc2lnLCBOVUxMLCAmY29udGV4dCkgPT0gLTEpCi0gICAgICAgIHJldHVybiBTSUdfRVJSOwotICAgIHJldHVybiBjb250ZXh0LnNhX2hhbmRsZXI7Ci0jZWxzZQotICAgIFB5T1Nfc2lnaGFuZGxlcl90IGhhbmRsZXI7Ci0vKiBTcGVjaWFsIHNpZ25hbCBoYW5kbGluZyBmb3IgdGhlIHNlY3VyZSBDUlQgaW4gVmlzdWFsIFN0dWRpbyAyMDA1ICovCi0jaWYgZGVmaW5lZChfTVNDX1ZFUikgJiYgX01TQ19WRVIgPj0gMTQwMAotICAgIHN3aXRjaCAoc2lnKSB7Ci0gICAgLyogT25seSB0aGVzZSBzaWduYWxzIGFyZSB2YWxpZCAqLwotICAgIGNhc2UgU0lHSU5UOgotICAgIGNhc2UgU0lHSUxMOgotICAgIGNhc2UgU0lHRlBFOgotICAgIGNhc2UgU0lHU0VHVjoKLSAgICBjYXNlIFNJR1RFUk06Ci0gICAgY2FzZSBTSUdCUkVBSzoKLSAgICBjYXNlIFNJR0FCUlQ6Ci0gICAgICAgIGJyZWFrOwotICAgIC8qIERvbid0IGNhbGwgc2lnbmFsKCkgd2l0aCBvdGhlciB2YWx1ZXMgb3IgaXQgd2lsbCBhc3NlcnQgKi8KLSAgICBkZWZhdWx0OgotICAgICAgICByZXR1cm4gU0lHX0VSUjsKLSAgICB9Ci0jZW5kaWYgLyogX01TQ19WRVIgJiYgX01TQ19WRVIgPj0gMTQwMCAqLwotICAgIGhhbmRsZXIgPSBzaWduYWwoc2lnLCBTSUdfSUdOKTsKLSAgICBpZiAoaGFuZGxlciAhPSBTSUdfRVJSKQotICAgICAgICBzaWduYWwoc2lnLCBoYW5kbGVyKTsKLSAgICByZXR1cm4gaGFuZGxlcjsKLSNlbmRpZgotfQotCi0vKgotICogQWxsIG9mIHRoZSBjb2RlIGluIHRoaXMgZnVuY3Rpb24gbXVzdCBvbmx5IHVzZSBhc3luYy1zaWduYWwtc2FmZSBmdW5jdGlvbnMsCi0gKiBsaXN0ZWQgYXQgYG1hbiA3IHNpZ25hbGAgb3IKLSAqIGh0dHA6Ly93d3cub3Blbmdyb3VwLm9yZy9vbmxpbmVwdWJzLzAwOTY5NTM5OS9mdW5jdGlvbnMveHNoX2NoYXAwMl8wNC5odG1sLgotICovCi1QeU9TX3NpZ2hhbmRsZXJfdAotUHlPU19zZXRzaWcoaW50IHNpZywgUHlPU19zaWdoYW5kbGVyX3QgaGFuZGxlcikKLXsKLSNpZmRlZiBIQVZFX1NJR0FDVElPTgotICAgIC8qIFNvbWUgY29kZSBpbiBNb2R1bGVzL3NpZ25hbG1vZHVsZS5jIGRlcGVuZHMgb24gc2lnYWN0aW9uKCkgYmVpbmcKLSAgICAgKiB1c2VkIGhlcmUgaWYgSEFWRV9TSUdBQ1RJT04gaXMgZGVmaW5lZC4gIEZpeCB0aGF0IGlmIHRoaXMgY29kZQotICAgICAqIGNoYW5nZXMgdG8gaW52YWxpZGF0ZSB0aGF0IGFzc3VtcHRpb24uCi0gICAgICovCi0gICAgc3RydWN0IHNpZ2FjdGlvbiBjb250ZXh0LCBvY29udGV4dDsKLSAgICBjb250ZXh0LnNhX2hhbmRsZXIgPSBoYW5kbGVyOwotICAgIHNpZ2VtcHR5c2V0KCZjb250ZXh0LnNhX21hc2spOwotICAgIGNvbnRleHQuc2FfZmxhZ3MgPSAwOwotICAgIGlmIChzaWdhY3Rpb24oc2lnLCAmY29udGV4dCwgJm9jb250ZXh0KSA9PSAtMSkKLSAgICAgICAgcmV0dXJuIFNJR19FUlI7Ci0gICAgcmV0dXJuIG9jb250ZXh0LnNhX2hhbmRsZXI7Ci0jZWxzZQotICAgIFB5T1Nfc2lnaGFuZGxlcl90IG9sZGhhbmRsZXI7Ci0gICAgb2xkaGFuZGxlciA9IHNpZ25hbChzaWcsIGhhbmRsZXIpOwotI2lmZGVmIEhBVkVfU0lHSU5URVJSVVBUCi0gICAgc2lnaW50ZXJydXB0KHNpZywgMSk7Ci0jZW5kaWYKLSAgICByZXR1cm4gb2xkaGFuZGxlcjsKLSNlbmRpZgotfQotCiAvKiBEZXByZWNhdGVkIEMgQVBJIGZ1bmN0aW9ucyBzdGlsbCBwcm92aWRlZCBmb3IgYmluYXJ5IGNvbXBhdGlibGl0eSAqLwogCiAjdW5kZWYgUHlQYXJzZXJfU2ltcGxlUGFyc2VGaWxlCmRpZmYgLS1naXQgYS9QeXRob24vcHl0aW1lLmMgYi9QeXRob24vcHl0aW1lLmMKaW5kZXggZGU2YTQxZi4uYTg0NjBjNiAxMDA2NDQKLS0tIGEvUHl0aG9uL3B5dGltZS5jCisrKyBiL1B5dGhvbi9weXRpbWUuYwpAQCAtMywyOSArMywyNCBAQAogI2luY2x1ZGUgPHdpbmRvd3MuaD4KICNlbmRpZgogCi0jaWYgZGVmaW5lZChfX0FQUExFX18pICYmIGRlZmluZWQoSEFWRV9HRVRUSU1FT0ZEQVkpICYmIGRlZmluZWQoSEFWRV9GVElNRSkKLSAgLyoKLSAgICogX1B5VGltZV9nZXR0aW1lb2ZkYXkgZmFsbHMgYmFjayB0byBmdGltZSB3aGVuIGdldHR0aW1lb2ZkYXkgZmFpbHMgYmVjYXVzZSB0aGUgbGF0dGVyCi0gICAqIG1pZ2h0IGZhaWwgb24gc29tZSBwbGF0Zm9ybXMuIFRoaXMgZmFsbGJhY2sgaXMgdW53YW50ZWQgb24gTWFjT1NYIGJlY2F1c2UKLSAgICogdGhhdCBtYWtlcyBpdCBpbXBvc3NpYmxlIHRvIHVzZSBhIGJpbmFyeSBidWlsZCBvbiBPU1ggMTAuNCBvbiBlYXJsaWVyCi0gICAqIHJlbGVhc2VzIG9mIHRoZSBPUy4gVGhlcmVmb3JlIGNsYWltIHdlIGRvbid0IHN1cHBvcnQgZnRpbWUuCi0gICAqLwotIyB1bmRlZiBIQVZFX0ZUSU1FCisjaWYgZGVmaW5lZChfX0FQUExFX18pCisjaW5jbHVkZSA8bWFjaC9tYWNoX3RpbWUuaD4gICAvKiBtYWNoX2Fic29sdXRlX3RpbWUoKSwgbWFjaF90aW1lYmFzZV9pbmZvKCkgKi8KICNlbmRpZgogCi0jaWYgZGVmaW5lZChIQVZFX0ZUSU1FKSAmJiAhZGVmaW5lZChNU19XSU5ET1dTKQotI2luY2x1ZGUgPHN5cy90aW1lYi5oPgotZXh0ZXJuIGludCBmdGltZShzdHJ1Y3QgdGltZWIgKik7CisjaWZkZWYgTVNfV0lORE9XUworc3RhdGljIE9TVkVSU0lPTklORk9FWCB3aW52ZXI7CiAjZW5kaWYKIAotc3RhdGljIHZvaWQKLXB5Z2V0dGltZW9mZGF5KF9QeVRpbWVfdGltZXZhbCAqdHAsIF9QeV9jbG9ja19pbmZvX3QgKmluZm8pCitzdGF0aWMgaW50CitweWdldHRpbWVvZmRheShfUHlUaW1lX3RpbWV2YWwgKnRwLCBfUHlfY2xvY2tfaW5mb190ICppbmZvLCBpbnQgcmFpc2UpCiB7CiAjaWZkZWYgTVNfV0lORE9XUwogICAgIEZJTEVUSU1FIHN5c3RlbV90aW1lOwogICAgIFVMQVJHRV9JTlRFR0VSIGxhcmdlOwogICAgIFVMT05HTE9ORyBtaWNyb3NlY29uZHM7CiAKKyAgICBhc3NlcnQoaW5mbyA9PSBOVUxMIHx8IHJhaXNlKTsKKwogICAgIEdldFN5c3RlbVRpbWVBc0ZpbGVUaW1lKCZzeXN0ZW1fdGltZSk7CiAgICAgbGFyZ2UudS5Mb3dQYXJ0ID0gc3lzdGVtX3RpbWUuZHdMb3dEYXRlVGltZTsKICAgICBsYXJnZS51LkhpZ2hQYXJ0ID0gc3lzdGVtX3RpbWUuZHdIaWdoRGF0ZVRpbWU7CkBAIC0zNyw4MCArMzIsMjQ0IEBACiAgICAgdHAtPnR2X3VzZWMgPSBtaWNyb3NlY29uZHMgJSAxMDAwMDAwOwogICAgIGlmIChpbmZvKSB7CiAgICAgICAgIERXT1JEIHRpbWVBZGp1c3RtZW50LCB0aW1lSW5jcmVtZW50OwotICAgICAgICBCT09MIGlzVGltZUFkanVzdG1lbnREaXNhYmxlZDsKKyAgICAgICAgQk9PTCBpc1RpbWVBZGp1c3RtZW50RGlzYWJsZWQsIG9rOwogCiAgICAgICAgIGluZm8tPmltcGxlbWVudGF0aW9uID0gIkdldFN5c3RlbVRpbWVBc0ZpbGVUaW1lKCkiOwogICAgICAgICBpbmZvLT5tb25vdG9uaWMgPSAwOwotICAgICAgICAodm9pZCkgR2V0U3lzdGVtVGltZUFkanVzdG1lbnQoJnRpbWVBZGp1c3RtZW50LCAmdGltZUluY3JlbWVudCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZpc1RpbWVBZGp1c3RtZW50RGlzYWJsZWQpOworICAgICAgICBvayA9IEdldFN5c3RlbVRpbWVBZGp1c3RtZW50KCZ0aW1lQWRqdXN0bWVudCwgJnRpbWVJbmNyZW1lbnQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmlzVGltZUFkanVzdG1lbnREaXNhYmxlZCk7CisgICAgICAgIGlmICghb2spIHsKKyAgICAgICAgICAgIFB5RXJyX1NldEZyb21XaW5kb3dzRXJyKDApOworICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICB9CiAgICAgICAgIGluZm8tPnJlc29sdXRpb24gPSB0aW1lSW5jcmVtZW50ICogMWUtNzsKICAgICAgICAgaW5mby0+YWRqdXN0YWJsZSA9IDE7CiAgICAgfQotI2Vsc2UKLSAgICAvKiBUaGVyZSBhcmUgdGhyZWUgd2F5cyB0byBnZXQgdGhlIHRpbWU6Ci0gICAgICAoMSkgZ2V0dGltZW9mZGF5KCkgLS0gcmVzb2x1dGlvbiBpbiBtaWNyb3NlY29uZHMKLSAgICAgICgyKSBmdGltZSgpIC0tIHJlc29sdXRpb24gaW4gbWlsbGlzZWNvbmRzCi0gICAgICAoMykgdGltZSgpIC0tIHJlc29sdXRpb24gaW4gc2Vjb25kcwotICAgICAgSW4gYWxsIGNhc2VzIHRoZSByZXR1cm4gdmFsdWUgaW4gYSB0aW1ldmFsIHN0cnVjdC4KLSAgICAgIFNpbmNlIG9uIHNvbWUgc3lzdGVtcyAoZS5nLiBTQ08gT0RUIDMuMCkgZ2V0dGltZW9mZGF5KCkgbWF5Ci0gICAgICBmYWlsLCBzbyB3ZSBmYWxsIGJhY2sgb24gZnRpbWUoKSBvciB0aW1lKCkuCi0gICAgICBOb3RlOiBjbG9jayByZXNvbHV0aW9uIGRvZXMgbm90IGltcGx5IGNsb2NrIGFjY3VyYWN5ISAqLwogCi0jaWZkZWYgSEFWRV9HRVRUSU1FT0ZEQVkKKyNlbHNlICAgLyogTVNfV0lORE9XUyAqLwogICAgIGludCBlcnI7CisjaWZkZWYgSEFWRV9DTE9DS19HRVRUSU1FCisgICAgc3RydWN0IHRpbWVzcGVjIHRzOworI2VuZGlmCisKKyAgICBhc3NlcnQoaW5mbyA9PSBOVUxMIHx8IHJhaXNlKTsKKworI2lmZGVmIEhBVkVfQ0xPQ0tfR0VUVElNRQorICAgIGVyciA9IGNsb2NrX2dldHRpbWUoQ0xPQ0tfUkVBTFRJTUUsICZ0cyk7CisgICAgaWYgKGVycikgeworICAgICAgICBpZiAocmFpc2UpCisgICAgICAgICAgICBQeUVycl9TZXRGcm9tRXJybm8oUHlFeGNfT1NFcnJvcik7CisgICAgICAgIHJldHVybiAtMTsKKyAgICB9CisgICAgdHAtPnR2X3NlYyA9IHRzLnR2X3NlYzsKKyAgICB0cC0+dHZfdXNlYyA9IHRzLnR2X25zZWMgLyAxMDAwOworCisgICAgaWYgKGluZm8pIHsKKyAgICAgICAgc3RydWN0IHRpbWVzcGVjIHJlczsKKyAgICAgICAgaW5mby0+aW1wbGVtZW50YXRpb24gPSAiY2xvY2tfZ2V0dGltZShDTE9DS19SRUFMVElNRSkiOworICAgICAgICBpbmZvLT5tb25vdG9uaWMgPSAwOworICAgICAgICBpbmZvLT5hZGp1c3RhYmxlID0gMTsKKyAgICAgICAgaWYgKGNsb2NrX2dldHJlcyhDTE9DS19SRUFMVElNRSwgJnJlcykgPT0gMCkKKyAgICAgICAgICAgIGluZm8tPnJlc29sdXRpb24gPSByZXMudHZfc2VjICsgcmVzLnR2X25zZWMgKiAxZS05OworICAgICAgICBlbHNlCisgICAgICAgICAgICBpbmZvLT5yZXNvbHV0aW9uID0gMWUtOTsKKyAgICB9CisjZWxzZSAgIC8qIEhBVkVfQ0xPQ0tfR0VUVElNRSAqLworCisgICAgIC8qIHRlc3QgZ2V0dGltZW9mZGF5KCkgKi8KICNpZmRlZiBHRVRUSU1FT0ZEQVlfTk9fVFoKICAgICBlcnIgPSBnZXR0aW1lb2ZkYXkodHApOwogI2Vsc2UKICAgICBlcnIgPSBnZXR0aW1lb2ZkYXkodHAsIChzdHJ1Y3QgdGltZXpvbmUgKilOVUxMKTsKICNlbmRpZgotICAgIGlmIChlcnIgPT0gMCkgewotICAgICAgICBpZiAoaW5mbykgewotICAgICAgICAgICAgaW5mby0+aW1wbGVtZW50YXRpb24gPSAiZ2V0dGltZW9mZGF5KCkiOwotICAgICAgICAgICAgaW5mby0+cmVzb2x1dGlvbiA9IDFlLTY7Ci0gICAgICAgICAgICBpbmZvLT5tb25vdG9uaWMgPSAwOwotICAgICAgICAgICAgaW5mby0+YWRqdXN0YWJsZSA9IDE7Ci0gICAgICAgIH0KLSAgICAgICAgcmV0dXJuOworICAgIGlmIChlcnIpIHsKKyAgICAgICAgaWYgKHJhaXNlKQorICAgICAgICAgICAgUHlFcnJfU2V0RnJvbUVycm5vKFB5RXhjX09TRXJyb3IpOworICAgICAgICByZXR1cm4gLTE7CiAgICAgfQotI2VuZGlmICAgLyogSEFWRV9HRVRUSU1FT0ZEQVkgKi8KIAotI2lmIGRlZmluZWQoSEFWRV9GVElNRSkKLSAgICB7Ci0gICAgICAgIHN0cnVjdCB0aW1lYiB0OwotICAgICAgICBmdGltZSgmdCk7Ci0gICAgICAgIHRwLT50dl9zZWMgPSB0LnRpbWU7Ci0gICAgICAgIHRwLT50dl91c2VjID0gdC5taWxsaXRtICogMTAwMDsKLSAgICAgICAgaWYgKGluZm8pIHsKLSAgICAgICAgICAgIGluZm8tPmltcGxlbWVudGF0aW9uID0gImZ0aW1lKCkiOwotICAgICAgICAgICAgaW5mby0+cmVzb2x1dGlvbiA9IDFlLTM7Ci0gICAgICAgICAgICBpbmZvLT5tb25vdG9uaWMgPSAwOwotICAgICAgICAgICAgaW5mby0+YWRqdXN0YWJsZSA9IDE7Ci0gICAgICAgIH0KLSAgICB9Ci0jZWxzZSAvKiAhSEFWRV9GVElNRSAqLwotICAgIHRwLT50dl9zZWMgPSB0aW1lKE5VTEwpOwotICAgIHRwLT50dl91c2VjID0gMDsKICAgICBpZiAoaW5mbykgewotICAgICAgICBpbmZvLT5pbXBsZW1lbnRhdGlvbiA9ICJ0aW1lKCkiOwotICAgICAgICBpbmZvLT5yZXNvbHV0aW9uID0gMS4wOworICAgICAgICBpbmZvLT5pbXBsZW1lbnRhdGlvbiA9ICJnZXR0aW1lb2ZkYXkoKSI7CisgICAgICAgIGluZm8tPnJlc29sdXRpb24gPSAxZS02OwogICAgICAgICBpbmZvLT5tb25vdG9uaWMgPSAwOwogICAgICAgICBpbmZvLT5hZGp1c3RhYmxlID0gMTsKICAgICB9Ci0jZW5kaWYgLyogIUhBVkVfRlRJTUUgKi8KLQotI2VuZGlmIC8qIE1TX1dJTkRPV1MgKi8KKyNlbmRpZiAgIC8qICFIQVZFX0NMT0NLX0dFVFRJTUUgKi8KKyNlbmRpZiAgIC8qICFNU19XSU5ET1dTICovCisgICAgYXNzZXJ0KDAgPD0gdHAtPnR2X3VzZWMgJiYgdHAtPnR2X3VzZWMgPCAxMDAwICogMTAwMCk7CisgICAgcmV0dXJuIDA7CiB9CiAKIHZvaWQKIF9QeVRpbWVfZ2V0dGltZW9mZGF5KF9QeVRpbWVfdGltZXZhbCAqdHApCiB7Ci0gICAgcHlnZXR0aW1lb2ZkYXkodHAsIE5VTEwpOworICAgIGlmIChweWdldHRpbWVvZmRheSh0cCwgTlVMTCwgMCkgPCAwKSB7CisgICAgICAgIC8qIGNhbm5vdCBoYXBwZW4sIF9QeVRpbWVfSW5pdCgpIGNoZWNrcyB0aGF0IHB5Z2V0dGltZW9mZGF5KCkgd29ya3MgKi8KKyAgICAgICAgYXNzZXJ0KDApOworICAgICAgICB0cC0+dHZfc2VjID0gMDsKKyAgICAgICAgdHAtPnR2X3VzZWMgPSAwOworICAgIH0KK30KKworaW50CitfUHlUaW1lX2dldHRpbWVvZmRheV9pbmZvKF9QeVRpbWVfdGltZXZhbCAqdHAsIF9QeV9jbG9ja19pbmZvX3QgKmluZm8pCit7CisgICAgcmV0dXJuIHB5Z2V0dGltZW9mZGF5KHRwLCBpbmZvLCAxKTsKK30KKworc3RhdGljIGludAorcHltb25vdG9uaWMoX1B5VGltZV90aW1ldmFsICp0cCwgX1B5X2Nsb2NrX2luZm9fdCAqaW5mbywgaW50IHJhaXNlKQoreworI2lmZGVmIFB5X0RFQlVHCisgICAgc3RhdGljIF9QeVRpbWVfdGltZXZhbCBsYXN0ID0gezAsIC0xfTsKKyNlbmRpZgorI2lmIGRlZmluZWQoTVNfV0lORE9XUykKKyAgICBzdGF0aWMgVUxPTkdMT05HICgqR2V0VGlja0NvdW50NjQpICh2b2lkKSA9IE5VTEw7CisgICAgc3RhdGljIFVMT05HTE9ORyAoQ0FMTEJBQ0sgKlB5X0dldFRpY2tDb3VudDY0KSh2b2lkKTsKKyAgICBzdGF0aWMgaW50IGhhc19nZXR0aWNrY291bnQ2NCA9IC0xOworICAgIFVMT05HTE9ORyByZXN1bHQ7CisKKyAgICBhc3NlcnQoaW5mbyA9PSBOVUxMIHx8IHJhaXNlKTsKKworICAgIGlmIChoYXNfZ2V0dGlja2NvdW50NjQgPT0gLTEpIHsKKyAgICAgICAgLyogR2V0VGlja0NvdW50NjQoKSB3YXMgYWRkZWQgdG8gV2luZG93cyBWaXN0YSAqLworICAgICAgICBoYXNfZ2V0dGlja2NvdW50NjQgPSAod2ludmVyLmR3TWFqb3JWZXJzaW9uID49IDYpOworICAgICAgICBpZiAoaGFzX2dldHRpY2tjb3VudDY0KSB7CisgICAgICAgICAgICBISU5TVEFOQ0UgaEtlcm5lbDMyOworICAgICAgICAgICAgaEtlcm5lbDMyID0gR2V0TW9kdWxlSGFuZGxlVyhMIktFUk5FTDMyIik7CisgICAgICAgICAgICAqKEZBUlBST0MqKSZQeV9HZXRUaWNrQ291bnQ2NCA9IEdldFByb2NBZGRyZXNzKGhLZXJuZWwzMiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkdldFRpY2tDb3VudDY0Iik7CisgICAgICAgICAgICBhc3NlcnQoUHlfR2V0VGlja0NvdW50NjQgIT0gTlVMTCk7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBpZiAoaGFzX2dldHRpY2tjb3VudDY0KSB7CisgICAgICAgIHJlc3VsdCA9IFB5X0dldFRpY2tDb3VudDY0KCk7CisgICAgfQorICAgIGVsc2UgeworICAgICAgICBzdGF0aWMgRFdPUkQgbGFzdF90aWNrcyA9IDA7CisgICAgICAgIHN0YXRpYyBEV09SRCBuX292ZXJmbG93ID0gMDsKKyAgICAgICAgRFdPUkQgdGlja3M7CisKKyAgICAgICAgdGlja3MgPSBHZXRUaWNrQ291bnQoKTsKKyAgICAgICAgaWYgKHRpY2tzIDwgbGFzdF90aWNrcykKKyAgICAgICAgICAgIG5fb3ZlcmZsb3crKzsKKyAgICAgICAgbGFzdF90aWNrcyA9IHRpY2tzOworCisgICAgICAgIHJlc3VsdCA9IChVTE9OR0xPTkcpbl9vdmVyZmxvdyA8PCAzMjsKKyAgICAgICAgcmVzdWx0ICs9IHRpY2tzOworICAgIH0KKworICAgIHRwLT50dl9zZWMgPSByZXN1bHQgLyAxMDAwOworICAgIHRwLT50dl91c2VjID0gKHJlc3VsdCAlIDEwMDApICogMTAwMDsKKworICAgIGlmIChpbmZvKSB7CisgICAgICAgIERXT1JEIHRpbWVBZGp1c3RtZW50LCB0aW1lSW5jcmVtZW50OworICAgICAgICBCT09MIGlzVGltZUFkanVzdG1lbnREaXNhYmxlZCwgb2s7CisgICAgICAgIGlmIChoYXNfZ2V0dGlja2NvdW50NjQpCisgICAgICAgICAgICBpbmZvLT5pbXBsZW1lbnRhdGlvbiA9ICJHZXRUaWNrQ291bnQ2NCgpIjsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgaW5mby0+aW1wbGVtZW50YXRpb24gPSAiR2V0VGlja0NvdW50KCkiOworICAgICAgICBpbmZvLT5tb25vdG9uaWMgPSAxOworICAgICAgICBvayA9IEdldFN5c3RlbVRpbWVBZGp1c3RtZW50KCZ0aW1lQWRqdXN0bWVudCwgJnRpbWVJbmNyZW1lbnQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmlzVGltZUFkanVzdG1lbnREaXNhYmxlZCk7CisgICAgICAgIGlmICghb2spIHsKKyAgICAgICAgICAgIFB5RXJyX1NldEZyb21XaW5kb3dzRXJyKDApOworICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICB9CisgICAgICAgIGluZm8tPnJlc29sdXRpb24gPSB0aW1lSW5jcmVtZW50ICogMWUtNzsKKyAgICAgICAgaW5mby0+YWRqdXN0YWJsZSA9IDA7CisgICAgfQorCisjZWxpZiBkZWZpbmVkKF9fQVBQTEVfXykKKyAgICBzdGF0aWMgbWFjaF90aW1lYmFzZV9pbmZvX2RhdGFfdCB0aW1lYmFzZTsKKyAgICB1aW50NjRfdCB0aW1lOworCisgICAgaWYgKHRpbWViYXNlLmRlbm9tID09IDApIHsKKyAgICAgICAgLyogQWNjb3JkaW5nIHRvIHRoZSBUZWNobmljYWwgUSZBIFFBMTM5OCwgbWFjaF90aW1lYmFzZV9pbmZvKCkgY2Fubm90CisgICAgICAgICAgIGZhaWw6IGh0dHBzOi8vZGV2ZWxvcGVyLmFwcGxlLmNvbS9saWJyYXJ5L21hYy8jcWEvcWExMzk4LyAqLworICAgICAgICAodm9pZCltYWNoX3RpbWViYXNlX2luZm8oJnRpbWViYXNlKTsKKyAgICB9CisKKyAgICB0aW1lID0gbWFjaF9hYnNvbHV0ZV90aW1lKCk7CisKKyAgICAvKiBuYW5vc2Vjb25kcyA9PiBtaWNyb3NlY29uZHMgKi8KKyAgICB0aW1lIC89IDEwMDA7CisgICAgLyogYXBwbHkgdGltZWJhc2UgZmFjdG9yICovCisgICAgdGltZSAqPSB0aW1lYmFzZS5udW1lcjsKKyAgICB0aW1lIC89IHRpbWViYXNlLmRlbm9tOworICAgIHRwLT50dl9zZWMgPSB0aW1lIC8gKDEwMDAgKiAxMDAwKTsKKyAgICB0cC0+dHZfdXNlYyA9IHRpbWUgJSAoMTAwMCAqIDEwMDApOworCisgICAgaWYgKGluZm8pIHsKKyAgICAgICAgaW5mby0+aW1wbGVtZW50YXRpb24gPSAibWFjaF9hYnNvbHV0ZV90aW1lKCkiOworICAgICAgICBpbmZvLT5yZXNvbHV0aW9uID0gKGRvdWJsZSl0aW1lYmFzZS5udW1lciAvIHRpbWViYXNlLmRlbm9tICogMWUtOTsKKyAgICAgICAgaW5mby0+bW9ub3RvbmljID0gMTsKKyAgICAgICAgaW5mby0+YWRqdXN0YWJsZSA9IDA7CisgICAgfQorCisjZWxzZQorICAgIHN0cnVjdCB0aW1lc3BlYyB0czsKKyNpZmRlZiBDTE9DS19ISUdIUkVTCisgICAgY29uc3QgY2xvY2tpZF90IGNsa19pZCA9IENMT0NLX0hJR0hSRVM7CisgICAgY29uc3QgY2hhciAqaW1wbGVtZW50YXRpb24gPSAiY2xvY2tfZ2V0dGltZShDTE9DS19ISUdIUkVTKSI7CisjZWxzZQorICAgIGNvbnN0IGNsb2NraWRfdCBjbGtfaWQgPSBDTE9DS19NT05PVE9OSUM7CisgICAgY29uc3QgY2hhciAqaW1wbGVtZW50YXRpb24gPSAiY2xvY2tfZ2V0dGltZShDTE9DS19NT05PVE9OSUMpIjsKKyNlbmRpZgorCisgICAgYXNzZXJ0KGluZm8gPT0gTlVMTCB8fCByYWlzZSk7CisKKyAgICBpZiAoY2xvY2tfZ2V0dGltZShjbGtfaWQsICZ0cykgIT0gMCkgeworICAgICAgICBpZiAocmFpc2UpIHsKKyAgICAgICAgICAgIFB5RXJyX1NldEZyb21FcnJubyhQeUV4Y19PU0Vycm9yKTsKKyAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgfQorICAgICAgICB0cC0+dHZfc2VjID0gMDsKKyAgICAgICAgdHAtPnR2X3VzZWMgPSAwOworICAgICAgICByZXR1cm4gLTE7CisgICAgfQorCisgICAgaWYgKGluZm8pIHsKKyAgICAgICAgc3RydWN0IHRpbWVzcGVjIHJlczsKKyAgICAgICAgaW5mby0+bW9ub3RvbmljID0gMTsKKyAgICAgICAgaW5mby0+aW1wbGVtZW50YXRpb24gPSBpbXBsZW1lbnRhdGlvbjsKKyAgICAgICAgaW5mby0+YWRqdXN0YWJsZSA9IDA7CisgICAgICAgIGlmIChjbG9ja19nZXRyZXMoY2xrX2lkLCAmcmVzKSAhPSAwKSB7CisgICAgICAgICAgICBQeUVycl9TZXRGcm9tRXJybm8oUHlFeGNfT1NFcnJvcik7CisgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgIH0KKyAgICAgICAgaW5mby0+cmVzb2x1dGlvbiA9IHJlcy50dl9zZWMgKyByZXMudHZfbnNlYyAqIDFlLTk7CisgICAgfQorICAgIHRwLT50dl9zZWMgPSB0cy50dl9zZWM7CisgICAgdHAtPnR2X3VzZWMgPSB0cy50dl9uc2VjIC8gMTAwMDsKKyNlbmRpZgorICAgIGFzc2VydCgwIDw9IHRwLT50dl91c2VjICYmIHRwLT50dl91c2VjIDwgMTAwMCAqIDEwMDApOworI2lmZGVmIFB5X0RFQlVHCisgICAgLyogbW9ub3RvbmljIGNsb2NrIGNhbm5vdCBnbyBiYWNrd2FyZCAqLworICAgIGFzc2VydChsYXN0LnR2X3VzZWMgPT0gLTEKKyAgICAgICAgICAgfHwgdHAtPnR2X3NlYyA+IGxhc3QudHZfc2VjCisgICAgICAgICAgIHx8ICh0cC0+dHZfc2VjID09IGxhc3QudHZfc2VjICYmIHRwLT50dl91c2VjID49IGxhc3QudHZfdXNlYykpOworICAgIGxhc3QgPSAqdHA7CisjZW5kaWYKKyAgICByZXR1cm4gMDsKIH0KIAogdm9pZAotX1B5VGltZV9nZXR0aW1lb2ZkYXlfaW5mbyhfUHlUaW1lX3RpbWV2YWwgKnRwLCBfUHlfY2xvY2tfaW5mb190ICppbmZvKQorX1B5VGltZV9tb25vdG9uaWMoX1B5VGltZV90aW1ldmFsICp0cCkKIHsKLSAgICBweWdldHRpbWVvZmRheSh0cCwgaW5mbyk7CisgICAgaWYgKHB5bW9ub3RvbmljKHRwLCBOVUxMLCAwKSA8IDApIHsKKyAgICAgICAgLyogY2Fubm90IGhhcHBlbiwgX1B5VGltZV9Jbml0KCkgY2hlY2tzIHRoYXQgcHltb25vdG9uaWMoKSB3b3JrcyAqLworICAgICAgICBhc3NlcnQoMCk7CisgICAgICAgIHRwLT50dl9zZWMgPSAwOworICAgICAgICB0cC0+dHZfdXNlYyA9IDA7CisgICAgfQorfQorCitpbnQKK19QeVRpbWVfbW9ub3RvbmljX2luZm8oX1B5VGltZV90aW1ldmFsICp0cCwgX1B5X2Nsb2NrX2luZm9fdCAqaW5mbykKK3sKKyAgICByZXR1cm4gcHltb25vdG9uaWModHAsIGluZm8sIDEpOwogfQogCiBzdGF0aWMgdm9pZApAQCAtMjQ1LDggKzQwNCwyNSBAQAogICAgIHJldHVybiBfUHlUaW1lX09iamVjdFRvRGVub21pbmF0b3Iob2JqLCBzZWMsIHVzZWMsIDFlNiwgcm91bmQpOwogfQogCi12b2lkCi1fUHlUaW1lX0luaXQoKQoraW50CitfUHlUaW1lX0luaXQodm9pZCkKIHsKLSAgICAvKiBEbyBub3RoaW5nLiAgTmVlZGVkIHRvIGZvcmNlIGxpbmtpbmcuICovCisgICAgX1B5VGltZV90aW1ldmFsIHR2OworCisjaWZkZWYgTVNfV0lORE9XUworICAgIHdpbnZlci5kd09TVmVyc2lvbkluZm9TaXplID0gc2l6ZW9mKHdpbnZlcik7CisgICAgaWYgKCFHZXRWZXJzaW9uRXgoKE9TVkVSU0lPTklORk8qKSZ3aW52ZXIpKSB7CisgICAgICAgIFB5RXJyX1NldEZyb21XaW5kb3dzRXJyKDApOworICAgICAgICByZXR1cm4gLTE7CisgICAgfQorI2VuZGlmCisKKyAgICAvKiBlbnN1cmUgdGhhdCB0aGUgc3lzdGVtIGNsb2NrIHdvcmtzICovCisgICAgaWYgKF9QeVRpbWVfZ2V0dGltZW9mZGF5X2luZm8oJnR2LCBOVUxMKSA8IDApCisgICAgICAgIHJldHVybiAtMTsKKworICAgIC8qIGVuc3VyZSB0aGF0IHRoZSBvcGVyYXRpbmcgc3lzdGVtIHByb3ZpZGVzIGEgbW9ub3RvbmljIGNsb2NrICovCisgICAgaWYgKF9QeVRpbWVfbW9ub3RvbmljX2luZm8oJnR2LCBOVUxMKSA8IDApCisgICAgICAgIHJldHVybiAtMTsKKyAgICByZXR1cm4gMDsKIH0KZGlmZiAtLWdpdCBhL1B5dGhvbi9zeXNtb2R1bGUuYyBiL1B5dGhvbi9zeXNtb2R1bGUuYwppbmRleCAyOTBlZWMxLi4wNjM5MjMxIDEwMDY0NAotLS0gYS9QeXRob24vc3lzbW9kdWxlLmMKKysrIGIvUHl0aG9uL3N5c21vZHVsZS5jCkBAIC0xMTIxLDYgKzExMjEsMTYgQEAKICJfY2xlYXJfdHlwZV9jYWNoZSgpIC0+IE5vbmVcblwKIENsZWFyIHRoZSBpbnRlcm5hbCB0eXBlIGxvb2t1cCBjYWNoZS4iKTsKIAorc3RhdGljIFB5T2JqZWN0ICoKK3N5c19pc19maW5hbGl6aW5nKFB5T2JqZWN0KiBzZWxmLCBQeU9iamVjdCogYXJncykKK3sKKyAgICByZXR1cm4gUHlCb29sX0Zyb21Mb25nKF9QeV9GaW5hbGl6aW5nICE9IE5VTEwpOworfQorCitQeURvY19TVFJWQVIoaXNfZmluYWxpemluZ19kb2MsCisiaXNfZmluYWxpemluZygpXG5cCitSZXR1cm4gVHJ1ZSBpZiBQeXRob24gaXMgZXhpdGluZy4iKTsKKwogCiBzdGF0aWMgUHlNZXRob2REZWYgc3lzX21ldGhvZHNbXSA9IHsKICAgICAvKiBNaWdodCBhcyB3ZWxsIGtlZXAgdGhpcyBpbiBhbHBoYWJldGljIG9yZGVyICovCkBAIC0xMTY3LDYgKzExNzcsNyBAQAogICAgICBnZXR3aW5kb3dzdmVyc2lvbl9kb2N9LAogI2VuZGlmIC8qIE1TX1dJTkRPV1MgKi8KICAgICB7ImludGVybiIsICAgICAgICAgIHN5c19pbnRlcm4sICAgICBNRVRIX1ZBUkFSR1MsIGludGVybl9kb2N9LAorICAgIHsiaXNfZmluYWxpemluZyIsICAgc3lzX2lzX2ZpbmFsaXppbmcsIE1FVEhfTk9BUkdTLCBpc19maW5hbGl6aW5nX2RvY30sCiAjaWZkZWYgVVNFX01BTExPUFQKICAgICB7Im1kZWJ1ZyIsICAgICAgICAgIHN5c19tZGVidWcsIE1FVEhfVkFSQVJHU30sCiAjZW5kaWYKQEAgLTE2ODEsNyArMTY5Miw3IEBACiAgICAgfQogI2VuZGlmCiAKLSAgICAvKiBzdGRpbi9zdGRvdXQvc3RkZXJyIGFyZSBub3cgc2V0IGJ5IHB5dGhvbnJ1bi5jICovCisgICAgLyogc3RkaW4vc3Rkb3V0L3N0ZGVyciBhcmUgc2V0IGluIHB5bGlmZWN5Y2xlLmMgKi8KIAogICAgIFNFVF9TWVNfRlJPTV9TVFJJTkdfQk9SUk9XKCJfX2Rpc3BsYXlob29rX18iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5RGljdF9HZXRJdGVtU3RyaW5nKHN5c2RpY3QsICJkaXNwbGF5aG9vayIpKTsKZGlmZiAtLWdpdCBhL1B5dGhvbi90aHJlYWQuYyBiL1B5dGhvbi90aHJlYWQuYwppbmRleCA0ZTY5NWFlLi40NGMwNzFlIDEwMDY0NAotLS0gYS9QeXRob24vdGhyZWFkLmMKKysrIGIvUHl0aG9uL3RocmVhZC5jCkBAIC00MzEsNyArNDMxLDcgQEAKICAgICAgJiYgZGVmaW5lZChfQ1NfR05VX0xJQlBUSFJFQURfVkVSU0lPTikpCiAgICAgdmFsdWUgPSBOVUxMOwogICAgIGxlbiA9IGNvbmZzdHIoX0NTX0dOVV9MSUJQVEhSRUFEX1ZFUlNJT04sIGJ1ZmZlciwgc2l6ZW9mKGJ1ZmZlcikpOwotICAgIGlmICgxIDwgbGVuICYmIGxlbiA8IHNpemVvZihidWZmZXIpKSB7CisgICAgaWYgKDEgPCBsZW4gJiYgKHNpemVfdClsZW4gPCBzaXplb2YoYnVmZmVyKSkgewogICAgICAgICB2YWx1ZSA9IFB5VW5pY29kZV9EZWNvZGVGU0RlZmF1bHRBbmRTaXplKGJ1ZmZlciwgbGVuLTEpOwogICAgICAgICBpZiAodmFsdWUgPT0gTlVMTCkKICAgICAgICAgICAgIFB5RXJyX0NsZWFyKCk7CmRpZmYgLS1naXQgYS9QeXRob24vdGhyZWFkX2Zvb2Jhci5oIGIvUHl0aG9uL3RocmVhZF9mb29iYXIuaAppbmRleCBkMmI3OGM1Li5lYTk2ZjljIDEwMDY0NAotLS0gYS9QeXRob24vdGhyZWFkX2Zvb2Jhci5oCisrKyBiL1B5dGhvbi90aHJlYWRfZm9vYmFyLmgKQEAgLTEsNCArMSwzIEBACi0KIC8qCiAgKiBJbml0aWFsaXphdGlvbi4KICAqLwpAQCAtNjEsMTAgKzYwLDE4IEBACiBpbnQKIFB5VGhyZWFkX2FjcXVpcmVfbG9jayhQeVRocmVhZF90eXBlX2xvY2sgbG9jaywgaW50IHdhaXRmbGFnKQogeworICAgIHJldHVybiBQeVRocmVhZF9hY3F1aXJlX2xvY2tfdGltZWQobG9jaywgd2FpdGZsYWcgPyAtMSA6IDAsIDApOworfQorCitQeUxvY2tTdGF0dXMKK1B5VGhyZWFkX2FjcXVpcmVfbG9ja190aW1lZChQeVRocmVhZF90eXBlX2xvY2sgbG9jaywgUFlfVElNRU9VVF9UIG1pY3Jvc2Vjb25kcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgaW50cl9mbGFnKQorewogICAgIGludCBzdWNjZXNzOwogCi0gICAgZHByaW50ZigoIlB5VGhyZWFkX2FjcXVpcmVfbG9jayglcCwgJWQpIGNhbGxlZFxuIiwgbG9jaywgd2FpdGZsYWcpKTsKLSAgICBkcHJpbnRmKCgiUHlUaHJlYWRfYWNxdWlyZV9sb2NrKCVwLCAlZCkgLT4gJWRcbiIsIGxvY2ssIHdhaXRmbGFnLCBzdWNjZXNzKSk7CisgICAgZHByaW50ZigoIlB5VGhyZWFkX2FjcXVpcmVfbG9ja190aW1lZCglcCwgJWxsZCwgJWQpIGNhbGxlZFxuIiwgbG9jaywgbWljcm9zZWNvbmRzLCBpbnRyX2ZsYWcpKTsKKyAgICBkcHJpbnRmKCgiUHlUaHJlYWRfYWNxdWlyZV9sb2NrX3RpbWVkKCVwLCAlbGxkLCAlZCkgLT4gJWRcbiIsCisJICAgICBsb2NrLCBtaWNyb3NlY29uZHMsIGludHJfZmxhZywgc3VjY2VzcykpOwogICAgIHJldHVybiBzdWNjZXNzOwogfQogCkBAIC03MywzICs4MCw1MyBAQAogewogICAgIGRwcmludGYoKCJQeVRocmVhZF9yZWxlYXNlX2xvY2soJXApIGNhbGxlZFxuIiwgbG9jaykpOwogfQorCisvKiBUaGUgZm9sbG93aW5nIGFyZSBvbmx5IG5lZWRlZCBpZiBuYXRpdmUgVExTIHN1cHBvcnQgZXhpc3RzICovCisjZGVmaW5lIFB5X0hBVkVfTkFUSVZFX1RMUworCisjaWZkZWYgUHlfSEFWRV9OQVRJVkVfVExTCitpbnQKK1B5VGhyZWFkX2NyZWF0ZV9rZXkodm9pZCkKK3sKKyAgICBpbnQgcmVzdWx0OworICAgIHJldHVybiByZXN1bHQ7Cit9CisKK3ZvaWQKK1B5VGhyZWFkX2RlbGV0ZV9rZXkoaW50IGtleSkKK3sKKworfQorCitpbnQKK1B5VGhyZWFkX3NldF9rZXlfdmFsdWUoaW50IGtleSwgdm9pZCAqdmFsdWUpCit7CisgICAgaW50IG9rOworCisgICAgLyogQSBmYWlsdXJlIGluIHRoaXMgY2FzZSByZXR1cm5zIC0xICovCisgICAgaWYgKCFvaykKKyAgICAgICAgcmV0dXJuIC0xOworICAgIHJldHVybiAwOworfQorCit2b2lkICoKK1B5VGhyZWFkX2dldF9rZXlfdmFsdWUoaW50IGtleSkKK3sKKyAgICB2b2lkICpyZXN1bHQ7CisKKyAgICByZXR1cm4gcmVzdWx0OworfQorCit2b2lkCitQeVRocmVhZF9kZWxldGVfa2V5X3ZhbHVlKGludCBrZXkpCit7CisKK30KKwordm9pZAorUHlUaHJlYWRfUmVJbml0VExTKHZvaWQpCit7CisKK30KKworI2VuZGlmCmRpZmYgLS1naXQgYS9QeXRob24vdGhyZWFkX3B0aHJlYWQuaCBiL1B5dGhvbi90aHJlYWRfcHRocmVhZC5oCmluZGV4IGQ5ZjdjNzYuLjI3ZTBkYzggMTAwNjQ0Ci0tLSBhL1B5dGhvbi90aHJlYWRfcHRocmVhZC5oCisrKyBiL1B5dGhvbi90aHJlYWRfcHRocmVhZC5oCkBAIC02MDgsNyArNjA4LDE1IEBACiB7CiAgICAgcHRocmVhZF9rZXlfdCBrZXk7CiAgICAgaW50IGZhaWwgPSBwdGhyZWFkX2tleV9jcmVhdGUoJmtleSwgTlVMTCk7Ci0gICAgcmV0dXJuIGZhaWwgPyAtMSA6IGtleTsKKyAgICBpZiAoZmFpbCkKKyAgICAgICAgcmV0dXJuIC0xOworICAgIGlmIChrZXkgPiBJTlRfTUFYKSB7CisgICAgICAgIC8qIElzc3VlICMyMjIwNjogaGFuZGxlIGludGVnZXIgb3ZlcmZsb3cgKi8KKyAgICAgICAgcHRocmVhZF9rZXlfZGVsZXRlKGtleSk7CisgICAgICAgIGVycm5vID0gRU5PTUVNOworICAgICAgICByZXR1cm4gLTE7CisgICAgfQorICAgIHJldHVybiAoaW50KWtleTsKIH0KIAogdm9pZApkaWZmIC0tZ2l0IGEvUHl0aG9uL3RyYWNlYmFjay5jIGIvUHl0aG9uL3RyYWNlYmFjay5jCmluZGV4IGMyYWJhNTIuLmUzYWRjOTYgMTAwNjQ0Ci0tLSBhL1B5dGhvbi90cmFjZWJhY2suYworKysgYi9QeXRob24vdHJhY2ViYWNrLmMKQEAgLTIzMSw3ICsyMzEsNyBAQAogICAgICAgICB9CiAgICAgICAgIHN0cmNweShuYW1lYnVmLCBQeUJ5dGVzX0FTX1NUUklORyhwYXRoKSk7CiAgICAgICAgIFB5X0RFQ1JFRihwYXRoKTsKLSAgICAgICAgaWYgKHN0cmxlbihuYW1lYnVmKSAhPSBsZW4pCisgICAgICAgIGlmIChzdHJsZW4obmFtZWJ1ZikgIT0gKHNpemVfdClsZW4pCiAgICAgICAgICAgICBjb250aW51ZTsgLyogdiBjb250YWlucyAnXDAnICovCiAgICAgICAgIGlmIChsZW4gPiAwICYmIG5hbWVidWZbbGVuLTFdICE9IFNFUCkKICAgICAgICAgICAgIG5hbWVidWZbbGVuKytdID0gU0VQOwpAQCAtNTc1LDE1ICs1NzUsMTYgQEAKICAgICAgICAgICAgIGNoID0gUHlVbmljb2RlX1JFQUQoa2luZCwgZGF0YSwgaSk7CiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIGNoID0gd3N0cltpXTsKLSAgICAgICAgaWYgKGNoIDwgMTI4KSB7CisgICAgICAgIGlmICgnICcgPD0gY2ggJiYgY2ggPD0gMTI2KSB7CisgICAgICAgICAgICAvKiBwcmludGFibGUgQVNDSUkgY2hhcmFjdGVyICovCiAgICAgICAgICAgICBjaGFyIGMgPSAoY2hhciljaDsKICAgICAgICAgICAgIHdyaXRlKGZkLCAmYywgMSk7CiAgICAgICAgIH0KLSAgICAgICAgZWxzZSBpZiAoY2ggPCAweGZmKSB7CisgICAgICAgIGVsc2UgaWYgKGNoIDw9IDB4ZmYpIHsKICAgICAgICAgICAgIFBVVFMoZmQsICJcXHgiKTsKICAgICAgICAgICAgIGR1bXBfaGV4YWRlY2ltYWwoZmQsIGNoLCAyKTsKICAgICAgICAgfQotICAgICAgICBlbHNlIGlmIChjaCA8IDB4ZmZmZikgeworICAgICAgICBlbHNlIGlmIChjaCA8PSAweGZmZmYpIHsKICAgICAgICAgICAgIFBVVFMoZmQsICJcXHUiKTsKICAgICAgICAgICAgIGR1bXBfaGV4YWRlY2ltYWwoZmQsIGNoLCA0KTsKICAgICAgICAgfQpAQCAtNjc4LDcgKzY3OSw3IEBACiAgICAgICAgIFBVVFMoZmQsICJDdXJyZW50IHRocmVhZCAweCIpOwogICAgIGVsc2UKICAgICAgICAgUFVUUyhmZCwgIlRocmVhZCAweCIpOwotICAgIGR1bXBfaGV4YWRlY2ltYWwoZmQsICh1bnNpZ25lZCBsb25nKXRzdGF0ZS0+dGhyZWFkX2lkLCBzaXplb2YobG9uZykqMik7CisgICAgZHVtcF9oZXhhZGVjaW1hbChmZCwgKHVuc2lnbmVkIGxvbmcpdHN0YXRlLT50aHJlYWRfaWQsIHNpemVvZih1bnNpZ25lZCBsb25nKSoyKTsKICAgICBQVVRTKGZkLCAiIChtb3N0IHJlY2VudCBjYWxsIGZpcnN0KTpcbiIpOwogfQogCmRpZmYgLS1naXQgYS9SRUFETUUgYi9SRUFETUUKaW5kZXggMGU5OTljNC4uYzNlNDFhMyAxMDA2NDQKLS0tIGEvUkVBRE1FCisrKyBiL1JFQURNRQpAQCAtMSw1ICsxLDUgQEAKLVRoaXMgaXMgUHl0aG9uIHZlcnNpb24gMy40LjNyYzEKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KK1RoaXMgaXMgUHl0aG9uIHZlcnNpb24gMy41LjAgYWxwaGEgMQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAKIENvcHlyaWdodCAoYykgMjAwMSwgMjAwMiwgMjAwMywgMjAwNCwgMjAwNSwgMjAwNiwgMjAwNywgMjAwOCwgMjAwOSwgMjAxMCwgMjAxMSwKIDIwMTIsIDIwMTMsIDIwMTQsIDIwMTUgUHl0aG9uIFNvZnR3YXJlIEZvdW5kYXRpb24uICBBbGwgcmlnaHRzIHJlc2VydmVkLgpAQCAtNTIsOSArNTIsOSBAQAogLS0tLS0tLS0tLQogCiBXZSB0cnkgdG8gaGF2ZSBhIGNvbXByZWhlbnNpdmUgb3ZlcnZpZXcgb2YgdGhlIGNoYW5nZXMgaW4gdGhlICJXaGF0J3MgTmV3IGluCi1QeXRob24gMy40IiBkb2N1bWVudCwgZm91bmQgYXQKK1B5dGhvbiAzLjUiIGRvY3VtZW50LCBmb3VuZCBhdAogCi0gICAgaHR0cDovL2RvY3MucHl0aG9uLm9yZy8zLjQvd2hhdHNuZXcvMy40Lmh0bWwKKyAgICBodHRwOi8vZG9jcy5weXRob24ub3JnLzMuNS93aGF0c25ldy8zLjUuaHRtbAogCiBGb3IgYSBtb3JlIGRldGFpbGVkIGNoYW5nZSBsb2csIHJlYWQgTWlzYy9ORVdTICh0aG91Z2ggdGhpcyBmaWxlLCB0b28sIGlzCiBpbmNvbXBsZXRlLCBhbmQgYWxzbyBkb2Vzbid0IGxpc3QgYW55dGhpbmcgbWVyZ2VkIGluIGZyb20gdGhlIDIuNyByZWxlYXNlIHVuZGVyCkBAIC02Nyw5ICs2Nyw5IEBACiBEb2N1bWVudGF0aW9uCiAtLS0tLS0tLS0tLS0tCiAKLURvY3VtZW50YXRpb24gZm9yIFB5dGhvbiAzLjQgaXMgb25saW5lLCB1cGRhdGVkIGRhaWx5OgorRG9jdW1lbnRhdGlvbiBmb3IgUHl0aG9uIDMuNSBpcyBvbmxpbmUsIHVwZGF0ZWQgZGFpbHk6CiAKLSAgICBodHRwOi8vZG9jcy5weXRob24ub3JnLzMuNC8KKyAgICBodHRwOi8vZG9jcy5weXRob24ub3JnLzMuNS8KIAogSXQgY2FuIGFsc28gYmUgZG93bmxvYWRlZCBpbiBtYW55IGZvcm1hdHMgZm9yIGZhc3RlciBhY2Nlc3MuICBUaGUgZG9jdW1lbnRhdGlvbgogaXMgZG93bmxvYWRhYmxlIGluIEhUTUwsIFBERiwgYW5kIHJlU3RydWN0dXJlZFRleHQgZm9ybWF0czsgdGhlIGxhdHRlciB2ZXJzaW9uCkBAIC05NCw3ICs5NCw3IEBACiBBIHNvdXJjZS10by1zb3VyY2UgdHJhbnNsYXRpb24gdG9vbCwgIjJ0bzMiLCBjYW4gdGFrZSBjYXJlIG9mIHRoZSBtdW5kYW5lIHRhc2sKIG9mIGNvbnZlcnRpbmcgbGFyZ2UgYW1vdW50cyBvZiBzb3VyY2UgY29kZS4gIEl0IGlzIG5vdCBhIGNvbXBsZXRlIHNvbHV0aW9uIGJ1dAogaXMgY29tcGxlbWVudGVkIGJ5IHRoZSBkZXByZWNhdGlvbiB3YXJuaW5ncyBpbiAyLjYuICBTZWUKLWh0dHA6Ly9kb2NzLnB5dGhvbi5vcmcvMy40L2xpYnJhcnkvMnRvMy5odG1sIGZvciBtb3JlIGluZm9ybWF0aW9uLgoraHR0cDovL2RvY3MucHl0aG9uLm9yZy8zLjUvbGlicmFyeS8ydG8zLmh0bWwgZm9yIG1vcmUgaW5mb3JtYXRpb24uCiAKIAogVGVzdGluZwpAQCAtMTMyLDcgKzEzMiw3IEBACiBJbnN0YWxsIHRoYXQgdmVyc2lvbiB1c2luZyAibWFrZSBpbnN0YWxsIi4gIEluc3RhbGwgYWxsIG90aGVyIHZlcnNpb25zIHVzaW5nCiAibWFrZSBhbHRpbnN0YWxsIi4KIAotRm9yIGV4YW1wbGUsIGlmIHlvdSB3YW50IHRvIGluc3RhbGwgUHl0aG9uIDIuNiwgMi43IGFuZCAzLjQgd2l0aCAyLjcgYmVpbmcgdGhlCitGb3IgZXhhbXBsZSwgaWYgeW91IHdhbnQgdG8gaW5zdGFsbCBQeXRob24gMi42LCAyLjcgYW5kIDMuNSB3aXRoIDIuNyBiZWluZyB0aGUKIHByaW1hcnkgdmVyc2lvbiwgeW91IHdvdWxkIGV4ZWN1dGUgIm1ha2UgaW5zdGFsbCIgaW4geW91ciAyLjcgYnVpbGQgZGlyZWN0b3J5CiBhbmQgIm1ha2UgYWx0aW5zdGFsbCIgaW4gdGhlIG90aGVycy4KIApAQCAtMTY4LDcgKzE2OCw3IEBACiBSZWxlYXNlIFNjaGVkdWxlCiAtLS0tLS0tLS0tLS0tLS0tCiAKLVNlZSBQRVAgNDI5IGZvciByZWxlYXNlIGRldGFpbHM6IGh0dHA6Ly93d3cucHl0aG9uLm9yZy9kZXYvcGVwcy9wZXAtMDQyOS8KK1NlZSBQRVAgNDc4IGZvciByZWxlYXNlIGRldGFpbHM6IGh0dHA6Ly93d3cucHl0aG9uLm9yZy9kZXYvcGVwcy9wZXAtMDQ3OC8KIAogCiBDb3B5cmlnaHQgYW5kIExpY2Vuc2UgSW5mb3JtYXRpb24KZGlmZiAtLWdpdCBhL1Rvb2xzL2J1aWxkYm90L1JFQURNRS50Y2x0ay1BTUQ2NCBiL1Rvb2xzL2J1aWxkYm90L1JFQURNRS50Y2x0ay1BTUQ2NApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZWRjODllYi4uMDAwMDAwMAotLS0gYS9Ub29scy9idWlsZGJvdC9SRUFETUUudGNsdGstQU1ENjQKKysrIC9kZXYvbnVsbApAQCAtMSwzNiArMCwwIEBACi1Db21tZW50cyBvbiBidWlsZGluZyB0Y2wvdGsgZm9yIEFNRDY0IHdpdGggdGhlIE1TIFNESyBjb21waWxlcgotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLQotSSBkaWQgaGF2ZSB0byBidWlsZCB0Y2wvdGsgbWFudWFsbHkuCi0KLUZpcnN0LCBJIGhhZCB0byBidWlsZCB0aGUgbm1ha2VobHAuZXhlIGhlbHBlciB1dGlsaXR5IG1hbnVhbGx5IGJ5IGV4ZWN1dGluZwotICAgY2wgbm1ha2VobHAuYyAvbGluayBidWZmZXJvdmVyZmxvd1UubGliCi1pbiBib3RoIHRoZSB0Y2w4LjQuMTJcd2luIGFuZCB0azguNC4xMlx3aW4gZGlyZWN0b3JpZXMuCi0KLVNlY29uZCwgdGhlIEFNRDY0IGNvbXBpbGVyIHJlZnVzZXMgdG8gY29tcGlsZSB0aGUgZmlsZQotdGNsOC40LjEyXGdlbmVyaWNcdGNsRXhlY3V0ZS5jIGJlY2F1c2UgaXQgaW5zaXN0cyBvbiB1c2luZyBpbnRyaW5zaWNzCi1mb3IgdGhlICdjZWlsJyBhbmQgJ2Zsb29yJyBmdW5jdGlvbnM6Ci0KLSAgLi5cZ2VuZXJpY1x0Y2xFeGVjdXRlLmMoMzk0KSA6IGVycm9yIEMyMDk5OiBpbml0aWFsaXplciBpcyBub3QgYSBjb25zdGFudAotICAuLlxnZW5lcmljXHRjbEV4ZWN1dGUuYygzOTgpIDogZXJyb3IgQzIwOTk6IGluaXRpYWxpemVyIGlzIG5vdCBhIGNvbnN0YW50Ci0KLUkgZGlkIGNvbW1lbnQgb3V0IHRoZXNlIGxpbmVzOyBhbiBhbHRlcm5hdGl2ZSB3b3VsZCBoYXZlIGJlZW4gdG8gdXNlCi10aGUgL09pLSBjb21waWxlciBmbGFnIHRvIGRpc2FibGUgdGhlIGludHJpbnNpYyBmdW5jdGlvbnMuCi1UaGUgY29tbWFuZHMgdGhlbiB1c2VkIHdlcmUgdGhlc2U6Ci0KLSAgIHN2biBleHBvcnQgaHR0cDovL3N2bi5weXRob24ub3JnL3Byb2plY3RzL2V4dGVybmFsL3RjbDguNC4xMgotICAgY2QgdGNsOC40LjEyXHdpbgotICAgUkVNCi0gICBlY2hvIHBhdGNoIHRoZSB0Y2w4LjQuMTJcZ2VuZXJpY1x0Y2xFeGVjdXRlLmMgZmlsZQotICAgcGF1c2UgCi0gICBSRU0KLSAgIGNsIG5tYWtlaGxwLmMgL2xpbmsgYnVmZmVyb3ZlcmZsb3dVLmxpYgotICAgbm1ha2UgLWYgbWFrZWZpbGUudmMgTUFDSElORT1BTUQ2NAotICAgbm1ha2UgLWYgbWFrZWZpbGUudmMgSU5TVEFMTERJUj0uLlwuLlx0Y2x0ayBpbnN0YWxsCi0gICBjZCAuLlwuLgotICAgc3ZuIGV4cG9ydCBodHRwOi8vc3ZuLnB5dGhvbi5vcmcvcHJvamVjdHMvZXh0ZXJuYWwvdGs4LjQuMTIKLSAgIGNkIHRrOC40LjEyXHdpbgotICAgY2wgbm1ha2VobHAuYyAvbGluayBidWZmZXJvdmVyZmxvd1UubGliCi0gICBubWFrZSAtZiBtYWtlZmlsZS52YyBUQ0xESVI9Li5cLi5cdGNsOC40LjEyIE1BQ0hJTkU9QU1ENjQKLSAgIG5tYWtlIC1mIG1ha2VmaWxlLnZjIFRDTERJUj0uLlwuLlx0Y2w4LjQuMTIgSU5TVEFMTERJUj0uLlwuLlx0Y2x0ayBpbnN0YWxsCi0gICBjZCAuLlwuLgpkaWZmIC0tZ2l0IGEvVG9vbHMvYnVpbGRib3QvYnVpbGQtYW1kNjQuYmF0IGIvVG9vbHMvYnVpbGRib3QvYnVpbGQtYW1kNjQuYmF0CmluZGV4IDQ5M2U3NGQuLjExNWUxMTEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL2J1aWxkYm90L2J1aWxkLWFtZDY0LmJhdAorKysgYi9Ub29scy9idWlsZGJvdC9idWlsZC1hbWQ2NC5iYXQKQEAgLTEsNiArMSwyIEBACiBAcmVtIFVzZWQgYnkgdGhlIGJ1aWxkYm90ICJjb21waWxlIiBzdGVwLgotY21kIC9jIFRvb2xzXGJ1aWxkYm90XGV4dGVybmFsLWFtZDY0LmJhdAotY2FsbCAiJVZTMTAwQ09NTlRPT0xTJVwuLlwuLlxWQ1x2Y3ZhcnNhbGwuYmF0IiB4ODZfYW1kNjQKLWNtZCAvYyBUb29sc1xidWlsZGJvdFxjbGVhbi1hbWQ2NC5iYXQKLQotbXNidWlsZCBQQ2J1aWxkXHBjYnVpbGQuc2xuIC9wOkNvbmZpZ3VyYXRpb249RGVidWcgL3A6UGxhdGZvcm09eDY0CitjYWxsICIlfmRwMGJ1aWxkLmJhdCIgLXAgeDY0ICUqCmRpZmYgLS1naXQgYS9Ub29scy9idWlsZGJvdC9idWlsZC5iYXQgYi9Ub29scy9idWlsZGJvdC9idWlsZC5iYXQKaW5kZXggYmU3OWIxMC4uODNhNWRmZCAxMDA2NDQKLS0tIGEvVG9vbHMvYnVpbGRib3QvYnVpbGQuYmF0CisrKyBiL1Rvb2xzL2J1aWxkYm90L2J1aWxkLmJhdApAQCAtMSw3ICsxLDIwIEBACiBAcmVtIFVzZWQgYnkgdGhlIGJ1aWxkYm90ICJjb21waWxlIiBzdGVwLgotY21kIC9jIFRvb2xzXGJ1aWxkYm90XGV4dGVybmFsLmJhdAotY2FsbCAiJVZTMTAwQ09NTlRPT0xTJXZzdmFyczMyLmJhdCIKLWNtZCAvYyBUb29sc1xidWlsZGJvdFxjbGVhbi5iYXQKIAotbXNidWlsZCBQQ2J1aWxkXHBjYnVpbGQuc2xuIC9wOkNvbmZpZ3VyYXRpb249RGVidWcgL3A6UGxhdGZvcm09V2luMzIKK0ByZW0gQ2xlYW4gdXAKK3NldCBQTEFUPQoraWYgJyUxJyBFUVUgJy1wJyBpZiAnJTInIEVRVSAneDY0JyAoc2V0IFBMQVQ9LWFtZDY0KQogCitjYWxsICIlfmRwMGNsZWFuJVBMQVQlLmJhdCIKKworQHJlbSBJZiB5b3UgbmVlZCB0aGUgYnVpbGRib3RzIHRvIHN0YXJ0IGZyZXNoIChzdWNoIGFzIHdoZW4gdXBncmFkaW5nIHRvCitAcmVtIGEgbmV3IHZlcnNpb24gb2YgYW4gZXh0ZXJuYWwgbGlicmFyeSwgZXNwZWNpYWxseSBUY2wvVGspOgorQHJlbSAxKSB1bmNvbW1lbnQgdGhlIGZvbGxvd2luZyBsaW5lOgorCitAcmVtICAgIGNhbGwgIiV+ZHAwLi5cLi5cUENidWlsZFxnZXRfZXh0ZXJuYWxzLmJhdCIgLS1jbGVhbi1vbmx5CisKK0ByZW0gMikgY29tbWl0IGFuZCBwdXNoCitAcmVtIDMpIHdhaXQgZm9yIGFsbCBXaW5kb3dzIGJvdHMgdG8gc3RhcnQgYSBidWlsZCB3aXRoIHRoYXQgY2hhbmdlc2V0CitAcmVtIDQpIHJlLWNvbW1lbnQsIGNvbW1pdCBhbmQgcHVzaCBhZ2FpbgorCitAcmVtIERvIHRoZSBidWlsZAorY2FsbCAiJX5kcDAuLlwuLlxQQ2J1aWxkXGJ1aWxkLmJhdCIgLWUgLWQgLXYgJSoKZGlmZiAtLWdpdCBhL1Rvb2xzL2J1aWxkYm90L2J1aWxkbXNpLmJhdCBiL1Rvb2xzL2J1aWxkYm90L2J1aWxkbXNpLmJhdAppbmRleCBhZTkzZTY3Li42ODA0ZDc5IDEwMDY0NAotLS0gYS9Ub29scy9idWlsZGJvdC9idWlsZG1zaS5iYXQKKysrIGIvVG9vbHMvYnVpbGRib3QvYnVpbGRtc2kuYmF0CkBAIC0xLDIxICsxLDkgQEAKIEByZW0gVXNlZCBieSB0aGUgYnVpbGRib3QgImJ1aWxkbXNpIiBzdGVwLgorc2V0bG9jYWwKIAotY21kIC9jIFRvb2xzXGJ1aWxkYm90XGV4dGVybmFsLmJhdAotQHJlbSBidWlsZCByZWxlYXNlIHZlcnNpb25zIG9mIHRoaW5ncwotY2FsbCAiJVZTMTAwQ09NTlRPT0xTJXZzdmFyczMyLmJhdCIKK3B1c2hkCiAKLUByZW0gYnVpbGQgUHl0aG9uCi1tc2J1aWxkIC9wOnVzZWVudj10cnVlIFBDYnVpbGRccGNidWlsZC5zbG4gL3A6Q29uZmlndXJhdGlvbj1SZWxlYXNlIC9wOlBsYXRmb3JtPVdpbjMyCitAcmVtIGJ1aWxkIGJvdGggc25hcHNob3QgTVNJcworY2FsbCAiJX5kcDAuLlxtc2lcYnVpbGQuYmF0IiAteDg2IC14NjQKIAotQHJlbSBidWlsZCB0aGUgZG9jdW1lbnRhdGlvbgotYmFzaC5leGUgLWMgJ2NkIERvYzttYWtlIFBZVEhPTj1weXRob24yLjUgdXBkYXRlIGh0bWxoZWxwJwotIiVQcm9ncmFtRmlsZXMlXEhUTUwgSGVscCBXb3Jrc2hvcFxoaGMuZXhlIiBEb2NcYnVpbGRcaHRtbGhlbHBccHl0aG9uMjZhMy5oaHAKLQotQHJlbSBidWlsZCB0aGUgTVNJIGZpbGUKLWNkIFBDCi1ubWFrZSAvZiBpY29ucy5tYWsKLWNkIC4uXFRvb2xzXG1zaQotZGVsICoubXNpCi1ubWFrZSAvZiBtc2lzdXBwb3J0Lm1hawotJUhPU1RfUFlUSE9OJSBtc2kucHkKLQorcG9wZApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL1Rvb2xzL2J1aWxkYm90L2NsZWFuLWFtZDY0LmJhdCBiL1Rvb2xzL2J1aWxkYm90L2NsZWFuLWFtZDY0LmJhdAppbmRleCAyNDY2MGFmLi5iNDg4MmMyIDEwMDY0NAotLS0gYS9Ub29scy9idWlsZGJvdC9jbGVhbi1hbWQ2NC5iYXQKKysrIGIvVG9vbHMvYnVpbGRib3QvY2xlYW4tYW1kNjQuYmF0CkBAIC0xLDEwICsxLDIgQEAKIEByZW0gVXNlZCBieSB0aGUgYnVpbGRib3QgImNsZWFuIiBzdGVwLgotY2FsbCAiJVZTMTAwQ09NTlRPT0xTJVwuLlwuLlxWQ1x2Y3ZhcnNhbGwuYmF0IiB4ODZfYW1kNjQKLUBlY2hvIERlbGV0aW5nIC5weWMvLnB5byBmaWxlcyAuLi4KLWRlbCAvcyBMaWJcKi5weWMgTGliXCoucHlvCi1AZWNobyBEZWxldGluZyB0ZXN0IGxlZnRvdmVycyAuLi4KLXJtZGlyIC9zIC9xIGJ1aWxkCi1jZCBQQ2J1aWxkCi1tc2J1aWxkIC90YXJnZXQ6Y2xlYW4gcGNidWlsZC5zbG4gL3A6Q29uZmlndXJhdGlvbj1SZWxlYXNlIC9wOlBsYXRmb3JtVGFyZ2V0PXg2NAotbXNidWlsZCAvdGFyZ2V0OmNsZWFuIHBjYnVpbGQuc2xuIC9wOkNvbmZpZ3VyYXRpb249RGVidWcgL3A6UGxhdGZvcm1UYXJnZXQ9eDY0Ci1jZCAuLgorQGNhbGwgIiV+ZHAwY2xlYW4uYmF0IiB4NjQKZGlmZiAtLWdpdCBhL1Rvb2xzL2J1aWxkYm90L2NsZWFuLmJhdCBiL1Rvb2xzL2J1aWxkYm90L2NsZWFuLmJhdAppbmRleCAyMThmYWNjLi4wOTMyOGJjIDEwMDY0NAotLS0gYS9Ub29scy9idWlsZGJvdC9jbGVhbi5iYXQKKysrIGIvVG9vbHMvYnVpbGRib3QvY2xlYW4uYmF0CkBAIC0xLDggKzEsMjkgQEAKLUByZW0gVXNlZCBieSB0aGUgYnVpbGRib3QgImNsZWFuIiBzdGVwLgotY2FsbCAiJVZTMTAwQ09NTlRPT0xTJXZzdmFyczMyLmJhdCIKLUBlY2hvIERlbGV0aW5nIHRlc3QgbGVmdG92ZXJzIC4uLgotcm1kaXIgL3MgL3EgYnVpbGQKLWNkIFBDYnVpbGQKLW1zYnVpbGQgL3RhcmdldDpjbGVhbiBwY2J1aWxkLnNsbiAvcDpDb25maWd1cmF0aW9uPVJlbGVhc2UgL3A6UGxhdGZvcm1UYXJnZXQ9eDg2Ci1tc2J1aWxkIC90YXJnZXQ6Y2xlYW4gcGNidWlsZC5zbG4gL3A6Q29uZmlndXJhdGlvbj1EZWJ1ZyAvcDpQbGF0Zm9ybVRhcmdldD14ODYKLWNkIC4uCitAZWNobyBvZmYKK3JlbSBVc2VkIGJ5IHRoZSBidWlsZGJvdCAiY2xlYW4iIHN0ZXAuCisKK3NldGxvY2FsCitzZXQgcm9vdD0lfmRwMC4uXC4uCitzZXQgcGNidWlsZD0lcm9vdCVcUENidWlsZAorCitpZiAiJTEiID09ICJ4NjQiICgKKyAgICBzZXQgdmN2YXJzX3RhcmdldD14ODZfYW1kNjQKKyAgICBzZXQgcGxhdGZvcm09eDY0CispIGVsc2UgKAorICAgIHNldCB2Y3ZhcnNfdGFyZ2V0PXg4NgorICAgIHNldCBwbGF0Zm9ybT1XaW4zMgorKQorCitjYWxsICIlcGNidWlsZCVcZW52LmJhdCIgJXZjdmFyc190YXJnZXQlCisKK2VjaG8uQXR0ZW1wdGluZyB0byBraWxsIFB5dGhvbnMuLi4KK21zYnVpbGQgL3Y6bSAvbm9sb2dvIC90YXJnZXQ6S2lsbFB5dGhvbiAiJXBjYnVpbGQlXHB5dGhvbmNvcmUudmN4cHJvaiIgL3A6Q29uZmlndXJhdGlvbj1SZWxlYXNlIC9wOlBsYXRmb3JtPSVwbGF0Zm9ybSUgL3A6S2lsbFB5dGhvbj10cnVlCisKK2VjaG8gRGVsZXRpbmcgLnB5Yy8ucHlvIGZpbGVzIC4uLgorZGVsIC9zICIlcm9vdCVcTGliXCoucHljIiAiJXJvb3QlXExpYlwqLnB5byIKKworZWNobyBEZWxldGluZyB0ZXN0IGxlZnRvdmVycyAuLi4KK3JtZGlyIC9zIC9xICIlcm9vdCVcYnVpbGQiCisKK2VjaG8gRGVsZXRpbmcgYnVpbGQKK21zYnVpbGQgL3Y6bSAvbm9sb2dvIC90YXJnZXQ6Y2xlYW4gIiVwY2J1aWxkJVxwY2J1aWxkLnByb2oiIC9wOkNvbmZpZ3VyYXRpb249UmVsZWFzZSAvcDpQbGF0Zm9ybT0lcGxhdGZvcm0lCittc2J1aWxkIC92Om0gL25vbG9nbyAvdGFyZ2V0OmNsZWFuICIlcGNidWlsZCVccGNidWlsZC5wcm9qIiAvcDpDb25maWd1cmF0aW9uPURlYnVnIC9wOlBsYXRmb3JtPSVwbGF0Zm9ybSUKZGlmZiAtLWdpdCBhL1Rvb2xzL2J1aWxkYm90L2V4dGVybmFsLWFtZDY0LmJhdCBiL1Rvb2xzL2J1aWxkYm90L2V4dGVybmFsLWFtZDY0LmJhdAppbmRleCBhY2Q0NTRlLi43YTU3MGQ5IDEwMDY0NAotLS0gYS9Ub29scy9idWlsZGJvdC9leHRlcm5hbC1hbWQ2NC5iYXQKKysrIGIvVG9vbHMvYnVpbGRib3QvZXh0ZXJuYWwtYW1kNjQuYmF0CkBAIC0xLDI4ICsxLDIgQEAKLUByZW0gRmV0Y2hlcyAoYW5kIGJ1aWxkcyBpZiBuZWNlc3NhcnkpIGV4dGVybmFsIGRlcGVuZGVuY2llcwotCi1AcmVtIEFzc3VtZSB3ZSBzdGFydCBpbnNpZGUgdGhlIFB5dGhvbiBzb3VyY2UgZGlyZWN0b3J5Ci1jYWxsICJUb29sc1xidWlsZGJvdFxleHRlcm5hbC1jb21tb24uYmF0IgotY2FsbCAiJVZTMTAwQ09NTlRPT0xTJVwuLlwuLlxWQ1x2Y3ZhcnNhbGwuYmF0IiB4ODZfYW1kNjQKLQotaWYgbm90IGV4aXN0IHRjbHRrNjRcYmluXHRjbDg2dGcuZGxsICgKLSAgICBjZCB0Y2wtOC42LjEuMFx3aW4KLSAgICBubWFrZSAtZiBtYWtlZmlsZS52YyBPUFRTPXN5bWJvbHMgTUFDSElORT1BTUQ2NCBJTlNUQUxMRElSPS4uXC4uXHRjbHRrNjQgY2xlYW4gY29yZSBzaGVsbCBkbGxzCi0gICAgbm1ha2UgLWYgbWFrZWZpbGUudmMgT1BUUz1zeW1ib2xzIE1BQ0hJTkU9QU1ENjQgSU5TVEFMTERJUj0uLlwuLlx0Y2x0azY0IGluc3RhbGwtYmluYXJpZXMgaW5zdGFsbC1saWJyYXJpZXMKLSAgICBjZCAuLlwuLgotKQotCi1pZiBub3QgZXhpc3QgdGNsdGs2NFxiaW5cdGs4NnRnLmRsbCAoCi0gICAgY2QgdGstOC42LjEuMFx3aW4KLSAgICBubWFrZSAtZiBtYWtlZmlsZS52YyBPUFRTPXN5bWJvbHMgTUFDSElORT1BTUQ2NCBJTlNUQUxMRElSPS4uXC4uXHRjbHRrNjQgVENMRElSPS4uXC4uXHRjbC04LjYuMS4wIGNsZWFuCi0gICAgbm1ha2UgLWYgbWFrZWZpbGUudmMgT1BUUz1zeW1ib2xzIE1BQ0hJTkU9QU1ENjQgSU5TVEFMTERJUj0uLlwuLlx0Y2x0azY0IFRDTERJUj0uLlwuLlx0Y2wtOC42LjEuMCBhbGwKLSAgICBubWFrZSAtZiBtYWtlZmlsZS52YyBPUFRTPXN5bWJvbHMgTUFDSElORT1BTUQ2NCBJTlNUQUxMRElSPS4uXC4uXHRjbHRrNjQgVENMRElSPS4uXC4uXHRjbC04LjYuMS4wIGluc3RhbGwtYmluYXJpZXMgaW5zdGFsbC1saWJyYXJpZXMKLSAgICBjZCAuLlwuLgotKQotCi1pZiBub3QgZXhpc3QgdGNsdGs2NFxsaWJcdGl4OC40LjNcdGl4ODRnLmRsbCAoCi0gICAgY2QgdGl4LTguNC4zLjRcd2luCi0gICAgbm1ha2UgLWYgcHl0aG9uLm1hayBERUJVRz0xIE1BQ0hJTkU9QU1ENjQgVENMX0RJUj0uLlwuLlx0Y2wtOC42LjEuMCBUS19ESVI9Li5cLi5cdGstOC42LjEuMCBJTlNUQUxMX0RJUj0uLlwuLlx0Y2x0azY0IGNsZWFuCi0gICAgbm1ha2UgLWYgcHl0aG9uLm1hayBERUJVRz0xIE1BQ0hJTkU9QU1ENjQgVENMX0RJUj0uLlwuLlx0Y2wtOC42LjEuMCBUS19ESVI9Li5cLi5cdGstOC42LjEuMCBJTlNUQUxMX0RJUj0uLlwuLlx0Y2x0azY0IGFsbAotICAgIG5tYWtlIC1mIHB5dGhvbi5tYWsgREVCVUc9MSBNQUNISU5FPUFNRDY0IFRDTF9ESVI9Li5cLi5cdGNsLTguNi4xLjAgVEtfRElSPS4uXC4uXHRrLTguNi4xLjAgSU5TVEFMTF9ESVI9Li5cLi5cdGNsdGs2NCBpbnN0YWxsCi0gICAgY2QgLi5cLi4KLSkKK0BlY2hvIFBsZWFzZSB1c2UgUENidWlsZFxnZXRfZXh0ZXJuYWxzLmJhdCBpbnN0ZWFkLgorQCIlfmRwMC4uXC4uXFBDYnVpbGRcZ2V0X2V4dGVybmFscy5iYXQiICUqCmRpZmYgLS1naXQgYS9Ub29scy9idWlsZGJvdC9leHRlcm5hbC1jb21tb24uYmF0IGIvVG9vbHMvYnVpbGRib3QvZXh0ZXJuYWwtY29tbW9uLmJhdApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjQ5YjQ5OC4uMDAwMDAwMAotLS0gYS9Ub29scy9idWlsZGJvdC9leHRlcm5hbC1jb21tb24uYmF0CisrKyAvZGV2L251bGwKQEAgLTEsNTQgKzAsMCBAQAotQHJlbSBDb21tb24gZmlsZSBzaGFyZWQgYmV0d2VlbiBleHRlcm5hbC5iYXQgYW5kIGV4dGVybmFsLWFtZDY0LmJhdC4gIFJlc3BvbnNpYmxlIGZvcgotQHJlbSBmZXRjaGluZyBleHRlcm5hbCBjb21wb25lbnRzIGludG8gdGhlIHJvb3RcLi4gYnVpbGRib3QgZGlyZWN0b3JpZXMuCi0KLWlmICIlU1ZOUk9PVCUiPT0iIiBzZXQgU1ZOUk9PVD1odHRwOi8vc3ZuLnB5dGhvbi5vcmcvcHJvamVjdHMvZXh0ZXJuYWwvCi0KLWlmIG5vdCBleGlzdCBleHRlcm5hbHMgbWtkaXIgZXh0ZXJuYWxzCi1jZCBleHRlcm5hbHMKLUByZW0gWFhYOiBJZiB5b3UgbmVlZCB0byBmb3JjZSB0aGUgYnVpbGRib3RzIHRvIHN0YXJ0IGZyb20gYSBmcmVzaCBlbnZpcm9ubWVudCwgdW5jb21tZW50Ci1AcmVtIHRoZSBmb2xsb3dpbmcsIGNoZWNrIGl0IGluLCB0aGVuIGNoZWNrIGl0IG91dCwgY29tbWVudCBpdCBvdXQsIHRoZW4gY2hlY2sgaXQgYmFjayBpbi4KLUByZW0gaWYgZXhpc3QgYnppcDItMS4wLjYgcmQgL3MvcSBiemlwMi0xLjAuNgotQHJlbSBpZiBleGlzdCB0Y2x0ayByZCAvcy9xIHRjbHRrCi1AcmVtIGlmIGV4aXN0IHRjbHRrNjQgcmQgL3MvcSB0Y2x0azY0Ci1AcmVtIGlmIGV4aXN0IHRjbC04LjYuMS4wIHJkIC9zL3EgdGNsLTguNi4xLjAKLUByZW0gaWYgZXhpc3QgdGstOC42LjEuMCByZCAvcy9xIHRrLTguNi4xLjAKLUByZW0gaWYgZXhpc3QgdGl4LTguNC4zLjQgcmQgL3MvcSB0aXgtOC40LjMuNAotQHJlbSBpZiBleGlzdCBkYi00LjQuMjAgcmQgL3MvcSBkYi00LjQuMjAKLUByZW0gaWYgZXhpc3Qgb3BlbnNzbC0xLjAuMWwgcmQgL3MvcSBvcGVuc3NsLTEuMC4xbAotQHJlbSBpZiBleGlzdCBzcWxpdGUtMy43LjEyIHJkIC9zL3Egc3FsaXRlLTMuNy4xMgotCi1AcmVtIGJ6aXAKLWlmIG5vdCBleGlzdCBiemlwMi0xLjAuNiAoCi0gICByZCAvcy9xIGJ6aXAyLTEuMC41Ci0gIHN2biBleHBvcnQgJVNWTlJPT1QlYnppcDItMS4wLjYKLSkKLQotQHJlbSBOQVNNLCBmb3IgT3BlblNTTCBidWlsZAotQHJlbSBpZiBleGlzdCBuYXNtLTIuMTEuMDYgcmQgL3MvcSBuYXNtLTIuMTEuMDYKLWlmIG5vdCBleGlzdCBuYXNtLTIuMTEuMDYgc3ZuIGV4cG9ydCAlU1ZOUk9PVCVuYXNtLTIuMTEuMDYKLQotQHJlbSBPcGVuU1NMCi1pZiBub3QgZXhpc3Qgb3BlbnNzbC0xLjAuMWwgKAotICAgIHJkIC9zL3Egb3BlbnNzbC0xLjAuMWoKLSAgICBzdm4gZXhwb3J0ICVTVk5ST09UJW9wZW5zc2wtMS4wLjFsCi0pCi0KLUByZW0gdGNsL3RrCi1pZiBub3QgZXhpc3QgdGNsLTguNi4xLjAgKAotICAgcmQgL3MvcSB0Y2x0ayB0Y2x0azY0IHRjbC04LjUuMTEuMCB0ay04LjUuMTEuMAotICAgc3ZuIGV4cG9ydCAlU1ZOUk9PVCV0Y2wtOC42LjEuMAotKQotaWYgbm90IGV4aXN0IHRrLTguNi4xLjAgc3ZuIGV4cG9ydCAlU1ZOUk9PVCV0ay04LjYuMS4wCi1pZiBub3QgZXhpc3QgdGl4LTguNC4zLjQgc3ZuIGV4cG9ydCAlU1ZOUk9PVCV0aXgtOC40LjMuNAotCi1AcmVtIHNxbGl0ZTMKLWlmIG5vdCBleGlzdCBzcWxpdGUtMy44LjMuMSAoCi0gIHJkIC9zL3Egc3FsaXRlLXNvdXJjZS0zLjguMQotICBzdm4gZXhwb3J0ICVTVk5ST09UJXNxbGl0ZS0zLjguMy4xCi0pCi0KLUByZW0gbHptYQotaWYgbm90IGV4aXN0IHh6LTUuMC41ICgKLSAgcmQgL3MvcSB4ei01LjAuMwotICBzdm4gZXhwb3J0ICVTVk5ST09UJXh6LTUuMC41Ci0pCmRpZmYgLS1naXQgYS9Ub29scy9idWlsZGJvdC9leHRlcm5hbC5iYXQgYi9Ub29scy9idWlsZGJvdC9leHRlcm5hbC5iYXQKaW5kZXggMzg3N2Q4ZC4uN2E1NzBkOSAxMDA2NDQKLS0tIGEvVG9vbHMvYnVpbGRib3QvZXh0ZXJuYWwuYmF0CisrKyBiL1Rvb2xzL2J1aWxkYm90L2V4dGVybmFsLmJhdApAQCAtMSwyOSArMSwyIEBACi1AcmVtIEZldGNoZXMgKGFuZCBidWlsZHMgaWYgbmVjZXNzYXJ5KSBleHRlcm5hbCBkZXBlbmRlbmNpZXMKLQotQHJlbSBBc3N1bWUgd2Ugc3RhcnQgaW5zaWRlIHRoZSBQeXRob24gc291cmNlIGRpcmVjdG9yeQotY2FsbCAiVG9vbHNcYnVpbGRib3RcZXh0ZXJuYWwtY29tbW9uLmJhdCIKLWNhbGwgIiVWUzEwMENPTU5UT09MUyVcdnN2YXJzMzIuYmF0IgotCi1pZiBub3QgZXhpc3QgdGNsdGtcYmluXHRjbDg2dGcuZGxsICgKLSAgICBAcmVtIGFsbCBhbmQgaW5zdGFsbCBuZWVkIHRvIGJlIHNlcGFyYXRlIGludm9jYXRpb25zLCBvdGhlcndpc2Ugbm1ha2VobHAgaXMgbm90IGZvdW5kIG9uIGluc3RhbGwKLSAgICBjZCB0Y2wtOC42LjEuMFx3aW4KLSAgICBubWFrZSAtZiBtYWtlZmlsZS52YyBPUFRTPXN5bWJvbHMgSU5TVEFMTERJUj0uLlwuLlx0Y2x0ayBjbGVhbiBjb3JlIHNoZWxsIGRsbHMKLSAgICBubWFrZSAtZiBtYWtlZmlsZS52YyBPUFRTPXN5bWJvbHMgSU5TVEFMTERJUj0uLlwuLlx0Y2x0ayBpbnN0YWxsLWJpbmFyaWVzIGluc3RhbGwtbGlicmFyaWVzCi0gICAgY2QgLi5cLi4KLSkKLQotaWYgbm90IGV4aXN0IHRjbHRrXGJpblx0azg2dGcuZGxsICgKLSAgICBjZCB0ay04LjYuMS4wXHdpbgotICAgIG5tYWtlIC1mIG1ha2VmaWxlLnZjIE9QVFM9c3ltYm9scyBJTlNUQUxMRElSPS4uXC4uXHRjbHRrIFRDTERJUj0uLlwuLlx0Y2wtOC42LjEuMCBjbGVhbgotICAgIG5tYWtlIC1mIG1ha2VmaWxlLnZjIE9QVFM9c3ltYm9scyBJTlNUQUxMRElSPS4uXC4uXHRjbHRrIFRDTERJUj0uLlwuLlx0Y2wtOC42LjEuMCBhbGwKLSAgICBubWFrZSAtZiBtYWtlZmlsZS52YyBPUFRTPXN5bWJvbHMgSU5TVEFMTERJUj0uLlwuLlx0Y2x0ayBUQ0xESVI9Li5cLi5cdGNsLTguNi4xLjAgaW5zdGFsbC1iaW5hcmllcyBpbnN0YWxsLWxpYnJhcmllcwotICAgIGNkIC4uXC4uCi0pCi0KLWlmIG5vdCBleGlzdCB0Y2x0a1xsaWJcdGl4OC40LjNcdGl4ODRnLmRsbCAoCi0gICAgY2QgdGl4LTguNC4zLjRcd2luCi0gICAgbm1ha2UgLWYgcHl0aG9uLm1hayBERUJVRz0xIE1BQ0hJTkU9SVg4NiBUQ0xfRElSPS4uXC4uXHRjbC04LjYuMS4wIFRLX0RJUj0uLlwuLlx0ay04LjYuMS4wIElOU1RBTExfRElSPS4uXC4uXHRjbHRrIGNsZWFuCi0gICAgbm1ha2UgLWYgcHl0aG9uLm1hayBERUJVRz0xIE1BQ0hJTkU9SVg4NiBUQ0xfRElSPS4uXC4uXHRjbC04LjYuMS4wIFRLX0RJUj0uLlwuLlx0ay04LjYuMS4wIElOU1RBTExfRElSPS4uXC4uXHRjbHRrIGFsbAotICAgIG5tYWtlIC1mIHB5dGhvbi5tYWsgREVCVUc9MSBNQUNISU5FPUlYODYgVENMX0RJUj0uLlwuLlx0Y2wtOC42LjEuMCBUS19ESVI9Li5cLi5cdGstOC42LjEuMCBJTlNUQUxMX0RJUj0uLlwuLlx0Y2x0ayBpbnN0YWxsCi0gICAgY2QgLi5cLi4KLSkKK0BlY2hvIFBsZWFzZSB1c2UgUENidWlsZFxnZXRfZXh0ZXJuYWxzLmJhdCBpbnN0ZWFkLgorQCIlfmRwMC4uXC4uXFBDYnVpbGRcZ2V0X2V4dGVybmFscy5iYXQiICUqCmRpZmYgLS1naXQgYS9Ub29scy9idWlsZGJvdC90ZXN0LWFtZDY0LmJhdCBiL1Rvb2xzL2J1aWxkYm90L3Rlc3QtYW1kNjQuYmF0CmluZGV4IGRlNjRmMjUuLjdhMjQxZjUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL2J1aWxkYm90L3Rlc3QtYW1kNjQuYmF0CisrKyBiL1Rvb2xzL2J1aWxkYm90L3Rlc3QtYW1kNjQuYmF0CkBAIC0xLDMgKzEsNyBAQAogQHJlbSBVc2VkIGJ5IHRoZSBidWlsZGJvdCAidGVzdCIgc3RlcC4KLWNkIFBDYnVpbGQKLWNhbGwgcnQuYmF0IC1kIC1xIC14NjQgLXVhbGwgLXJ3VyAtbiAtLXRpbWVvdXQ9MzYwMCAlMSAlMiAlMyAlNCAlNSAlNiAlNyAlOCAlOQorCitzZXRsb2NhbAorcmVtIFRoZSBmb2xsb3dpbmcgbGluZSBzaG91bGQgYmUgcmVtb3ZlZCBiZWZvcmUgIzIwMDM1IGlzIGNsb3NlZAorc2V0IFRDTF9MSUJSQVJZPSV+ZHAwLi5cLi5cZXh0ZXJuYWxzXHRjbHRrNjRcbGliXHRjbDguNgorCitjYWxsICIlfmRwMC4uXC4uXFBDYnVpbGRccnQuYmF0IiAtZCAtcSAteDY0IC11YWxsIC1yd1cgLW4gLS10aW1lb3V0PTM2MDAgJSoKZGlmZiAtLWdpdCBhL1Rvb2xzL2J1aWxkYm90L3Rlc3QuYmF0IGIvVG9vbHMvYnVpbGRib3QvdGVzdC5iYXQKaW5kZXggNGU0ZGIxMC4uNmE2NDQ4YyAxMDA2NDQKLS0tIGEvVG9vbHMvYnVpbGRib3QvdGVzdC5iYXQKKysrIGIvVG9vbHMvYnVpbGRib3QvdGVzdC5iYXQKQEAgLTEsMyArMSw3IEBACiBAcmVtIFVzZWQgYnkgdGhlIGJ1aWxkYm90ICJ0ZXN0IiBzdGVwLgotY2QgUENidWlsZAotY2FsbCBydC5iYXQgLWQgLXEgLXVhbGwgLXJ3VyAtbiAtLXRpbWVvdXQ9MzYwMCAlMSAlMiAlMyAlNCAlNSAlNiAlNyAlOCAlOQorCitzZXRsb2NhbAorcmVtIFRoZSBmb2xsb3dpbmcgbGluZSBzaG91bGQgYmUgcmVtb3ZlZCBiZWZvcmUgIzIwMDM1IGlzIGNsb3NlZAorc2V0IFRDTF9MSUJSQVJZPSV+ZHAwLi5cLi5cZXh0ZXJuYWxzXHRjbHRrXGxpYlx0Y2w4LjYKKworY2FsbCAiJX5kcDAuLlwuLlxQQ2J1aWxkXHJ0LmJhdCIgLWQgLXEgLXVhbGwgLXJ3VyAtbiAtLXRpbWVvdXQ9MzYwMCAlKgpkaWZmIC0tZ2l0IGEvVG9vbHMvY2xpbmljL2NsaW5pYy5weSBiL1Rvb2xzL2NsaW5pYy9jbGluaWMucHkKaW5kZXggNjViYWQ1MS4uMjNmNjY0OCAxMDA3NTUKLS0tIGEvVG9vbHMvY2xpbmljL2NsaW5pYy5weQorKysgYi9Ub29scy9jbGluaWMvY2xpbmljLnB5CkBAIC0xMjUyLDEwICsxMjUyLDExIEBACiAgICAgICAgIG1hdGNoID0gc2VsZi5zdGFydF9yZS5tYXRjaChsaW5lLmxzdHJpcCgpKQogICAgICAgICByZXR1cm4gbWF0Y2guZ3JvdXAoMSkgaWYgbWF0Y2ggZWxzZSBOb25lCiAKLSAgICBkZWYgX2xpbmUoc2VsZik6CisgICAgZGVmIF9saW5lKHNlbGYsIGxvb2thaGVhZD1GYWxzZSk6CiAgICAgICAgIHNlbGYubGluZV9udW1iZXIgKz0gMQogICAgICAgICBsaW5lID0gc2VsZi5pbnB1dC5wb3AoKQotICAgICAgICBzZWxmLmxhbmd1YWdlLnBhcnNlX2xpbmUobGluZSkKKyAgICAgICAgaWYgbm90IGxvb2thaGVhZDoKKyAgICAgICAgICAgIHNlbGYubGFuZ3VhZ2UucGFyc2VfbGluZShsaW5lKQogICAgICAgICByZXR1cm4gbGluZQogCiAgICAgZGVmIHBhcnNlX3ZlcmJhdGltX2Jsb2NrKHNlbGYpOgpAQCAtMTMxMSw3ICsxMzEyLDcgQEAKICAgICAgICAgb3V0cHV0X2FkZCwgb3V0cHV0X291dHB1dCA9IHRleHRfYWNjdW11bGF0b3IoKQogICAgICAgICBhcmd1bWVudHMgPSBOb25lCiAgICAgICAgIHdoaWxlIHNlbGYuaW5wdXQ6Ci0gICAgICAgICAgICBsaW5lID0gc2VsZi5fbGluZSgpCisgICAgICAgICAgICBsaW5lID0gc2VsZi5fbGluZShsb29rYWhlYWQ9VHJ1ZSkKICAgICAgICAgICAgIG1hdGNoID0gY2hlY2tzdW1fcmUubWF0Y2gobGluZS5sc3RyaXAoKSkKICAgICAgICAgICAgIGFyZ3VtZW50cyA9IG1hdGNoLmdyb3VwKDEpIGlmIG1hdGNoIGVsc2UgTm9uZQogICAgICAgICAgICAgaWYgYXJndW1lbnRzOgpAQCAtMjQyNSwxMSArMjQyNiwxMyBAQAogICAgIGZvcm1hdF91bml0ID0gJ2knCiAgICAgY19pZ25vcmVkX2RlZmF1bHQgPSAiMCIKIAotICAgIGRlZiBjb252ZXJ0ZXJfaW5pdChzZWxmLCAqLCB0eXBlcz0naW50Jyk6CisgICAgZGVmIGNvbnZlcnRlcl9pbml0KHNlbGYsICosIHR5cGVzPSdpbnQnLCB0eXBlPU5vbmUpOgogICAgICAgICBpZiB0eXBlcyA9PSAnc3RyJzoKICAgICAgICAgICAgIHNlbGYuZm9ybWF0X3VuaXQgPSAnQycKICAgICAgICAgZWxpZiB0eXBlcyAhPSAnaW50JzoKICAgICAgICAgICAgIGZhaWwoImludF9jb252ZXJ0ZXI6IGlsbGVnYWwgJ3R5cGVzJyBhcmd1bWVudCIpCisgICAgICAgIGlmIHR5cGUgIT0gTm9uZToKKyAgICAgICAgICAgIHNlbGYudHlwZSA9IHR5cGUKIAogY2xhc3MgdW5zaWduZWRfaW50X2NvbnZlcnRlcihDQ29udmVydGVyKToKICAgICB0eXBlID0gJ3Vuc2lnbmVkIGludCcKQEAgLTI1MzIsOSArMjUzNSw5IEBACiAgICAgICAgIGxlbmd0aD1GYWxzZSwgbnVsbGFibGU9RmFsc2UsIHplcm9lcz1GYWxzZSk6CiAKICAgICAgICAgdHlwZXMgPSBzZXQodHlwZXMuc3RyaXAoKS5zcGxpdCgpKQotICAgICAgICBieXRlc190eXBlID0gc2V0KCgiYnl0ZXMiLCkpCi0gICAgICAgIHN0cl90eXBlID0gc2V0KCgic3RyIiwpKQotICAgICAgICBhbGxfM190eXBlID0gc2V0KCgiYnl0ZWFycmF5IiwpKSB8IGJ5dGVzX3R5cGUgfCBzdHJfdHlwZQorICAgICAgICBieXRlc190eXBlID0geyJieXRlcyJ9CisgICAgICAgIHN0cl90eXBlID0geyJzdHIifQorICAgICAgICBhbGxfM190eXBlID0geyJieXRlYXJyYXkifSB8IGJ5dGVzX3R5cGUgfCBzdHJfdHlwZQogICAgICAgICBpc19ieXRlcyA9IHR5cGVzID09IGJ5dGVzX3R5cGUKICAgICAgICAgaXNfc3RyID0gdHlwZXMgPT0gc3RyX3R5cGUKICAgICAgICAgaXNfYWxsXzMgPSB0eXBlcyA9PSBhbGxfM190eXBlCkBAIC0yNjMwLDEyICsyNjMzLDEyIEBACiAgICAgICAgICAgICBmYWlsKCJUaGUgb25seSBsZWdhbCBkZWZhdWx0IHZhbHVlIGZvciBQeV9idWZmZXIgaXMgTm9uZS4iKQogICAgICAgICBzZWxmLmNfZGVmYXVsdCA9IHNlbGYuY19pZ25vcmVkX2RlZmF1bHQKICAgICAgICAgdHlwZXMgPSBzZXQodHlwZXMuc3RyaXAoKS5zcGxpdCgpKQotICAgICAgICBieXRlc190eXBlID0gc2V0KCgnYnl0ZXMnLCkpCi0gICAgICAgIGJ5dGVhcnJheV90eXBlID0gc2V0KCgnYnl0ZWFycmF5JywpKQotICAgICAgICBidWZmZXJfdHlwZSA9IHNldCgoJ2J1ZmZlcicsKSkKLSAgICAgICAgcndidWZmZXJfdHlwZSA9IHNldCgoJ3J3YnVmZmVyJywpKQotICAgICAgICByb2J1ZmZlcl90eXBlID0gc2V0KCgncm9idWZmZXInLCkpCi0gICAgICAgIHN0cl90eXBlID0gc2V0KCgnc3RyJywpKQorICAgICAgICBieXRlc190eXBlID0geydieXRlcyd9CisgICAgICAgIGJ5dGVhcnJheV90eXBlID0geydieXRlYXJyYXknfQorICAgICAgICBidWZmZXJfdHlwZSA9IHsnYnVmZmVyJ30KKyAgICAgICAgcndidWZmZXJfdHlwZSA9IHsncndidWZmZXInfQorICAgICAgICByb2J1ZmZlcl90eXBlID0geydyb2J1ZmZlcid9CisgICAgICAgIHN0cl90eXBlID0geydzdHInfQogICAgICAgICBieXRlc19ieXRlYXJyYXlfYnVmZmVyX3R5cGUgPSBieXRlc190eXBlIHwgYnl0ZWFycmF5X3R5cGUgfCBidWZmZXJfdHlwZQogCiAgICAgICAgIGZvcm1hdF91bml0ID0gTm9uZQpAQCAtMjg2NCwxMCArMjg2NywxMSBAQAogICAgIHR5cGUgPSAnbG9uZycKICAgICBjb252ZXJzaW9uX2ZuID0gJ1B5TG9uZ19Gcm9tTG9uZycKICAgICBjYXN0ID0gJycKKyAgICB1bnNpZ25lZF9jYXN0ID0gJycKIAogICAgIGRlZiByZW5kZXIoc2VsZiwgZnVuY3Rpb24sIGRhdGEpOgogICAgICAgICBzZWxmLmRlY2xhcmUoZGF0YSkKLSAgICAgICAgc2VsZi5lcnJfb2NjdXJyZWRfaWYoIl9yZXR1cm5fdmFsdWUgPT0gLTEiLCBkYXRhKQorICAgICAgICBzZWxmLmVycl9vY2N1cnJlZF9pZigiX3JldHVybl92YWx1ZSA9PSB7fS0xIi5mb3JtYXQoc2VsZi51bnNpZ25lZF9jYXN0KSwgZGF0YSkKICAgICAgICAgZGF0YS5yZXR1cm5fY29udmVyc2lvbi5hcHBlbmQoCiAgICAgICAgICAgICAnJy5qb2luKCgncmV0dXJuX3ZhbHVlID0gJywgc2VsZi5jb252ZXJzaW9uX2ZuLCAnKCcsIHNlbGYuY2FzdCwgJ19yZXR1cm5fdmFsdWUpO1xuJykpKQogCkBAIC0yODg4LDEwICsyODkyLDEyIEBACiBjbGFzcyB1bnNpZ25lZF9sb25nX3JldHVybl9jb252ZXJ0ZXIobG9uZ19yZXR1cm5fY29udmVydGVyKToKICAgICB0eXBlID0gJ3Vuc2lnbmVkIGxvbmcnCiAgICAgY29udmVyc2lvbl9mbiA9ICdQeUxvbmdfRnJvbVVuc2lnbmVkTG9uZycKKyAgICB1bnNpZ25lZF9jYXN0ID0gJyh1bnNpZ25lZCBsb25nKScKIAogY2xhc3MgdW5zaWduZWRfaW50X3JldHVybl9jb252ZXJ0ZXIodW5zaWduZWRfbG9uZ19yZXR1cm5fY29udmVydGVyKToKICAgICB0eXBlID0gJ3Vuc2lnbmVkIGludCcKICAgICBjYXN0ID0gJyh1bnNpZ25lZCBsb25nKScKKyAgICB1bnNpZ25lZF9jYXN0ID0gJyh1bnNpZ25lZCBpbnQpJwogCiBjbGFzcyBQeV9zc2l6ZV90X3JldHVybl9jb252ZXJ0ZXIobG9uZ19yZXR1cm5fY29udmVydGVyKToKICAgICB0eXBlID0gJ1B5X3NzaXplX3QnCkBAIC0yOTAwLDYgKzI5MDYsNyBAQAogY2xhc3Mgc2l6ZV90X3JldHVybl9jb252ZXJ0ZXIobG9uZ19yZXR1cm5fY29udmVydGVyKToKICAgICB0eXBlID0gJ3NpemVfdCcKICAgICBjb252ZXJzaW9uX2ZuID0gJ1B5TG9uZ19Gcm9tU2l6ZV90JworICAgIHVuc2lnbmVkX2Nhc3QgPSAnKHNpemVfdCknCiAKIAogY2xhc3MgZG91YmxlX3JldHVybl9jb252ZXJ0ZXIoQ1JldHVybkNvbnZlcnRlcik6CmRpZmYgLS1naXQgYS9Ub29scy9pMThuL21ha2Vsb2NhbGVhbGlhcy5weSBiL1Rvb2xzL2kxOG4vbWFrZWxvY2FsZWFsaWFzLnB5CmluZGV4IDEwODg3Y2UuLmM3ZWNhY2UgMTAwNzU1Ci0tLSBhL1Rvb2xzL2kxOG4vbWFrZWxvY2FsZWFsaWFzLnB5CisrKyBiL1Rvb2xzL2kxOG4vbWFrZWxvY2FsZWFsaWFzLnB5CkBAIC04LDkgKzgsMTIgQEAKICIiIgogaW1wb3J0IGxvY2FsZQogaW1wb3J0IHN5cworX2xvY2FsZSA9IGxvY2FsZQogCi0jIExvY2F0aW9uIG9mIHRoZSBhbGlhcyBmaWxlCisjIExvY2F0aW9uIG9mIHRoZSBYMTEgYWxpYXMgZmlsZS4KIExPQ0FMRV9BTElBUyA9ICcvdXNyL3NoYXJlL1gxMS9sb2NhbGUvbG9jYWxlLmFsaWFzJworIyBMb2NhdGlvbiBvZiB0aGUgZ2xpYmMgU1VQUE9SVEVEIGxvY2FsZXMgZmlsZS4KK1NVUFBPUlRFRCA9ICcvdXNyL3NoYXJlL2kxOG4vU1VQUE9SVEVEJwogCiBkZWYgcGFyc2UoZmlsZW5hbWUpOgogCkBAIC00NCwxMCArNDcsMzkgQEAKICAgICAgICAgICAgIGVuY29kaW5nID0gZW5jb2RpbmcucmVwbGFjZSgnLScsICcnKQogICAgICAgICAgICAgZW5jb2RpbmcgPSBlbmNvZGluZy5yZXBsYWNlKCdfJywgJycpCiAgICAgICAgICAgICBsb2NhbGUgPSBsYW5nICsgJy4nICsgZW5jb2RpbmcKLSAgICAgICAgICAgIGlmIGVuY29kaW5nLmxvd2VyKCkgPT0gJ3V0ZjgnOgotICAgICAgICAgICAgICAgICMgSWdub3JlIFVURi04IG1hcHBpbmdzIC0gdGhpcyBlbmNvZGluZyBzaG91bGQgYmUKLSAgICAgICAgICAgICAgICAjIGF2YWlsYWJsZSBmb3IgYWxsIGxvY2FsZXMKLSAgICAgICAgICAgICAgICBjb250aW51ZQorICAgICAgICBkYXRhW2xvY2FsZV0gPSBhbGlhcworICAgIHJldHVybiBkYXRhCisKK2RlZiBwYXJzZV9nbGliY19zdXBwb3J0ZWQoZmlsZW5hbWUpOgorCisgICAgd2l0aCBvcGVuKGZpbGVuYW1lLCBlbmNvZGluZz0nbGF0aW4xJykgYXMgZjoKKyAgICAgICAgbGluZXMgPSBsaXN0KGYpCisgICAgZGF0YSA9IHt9CisgICAgZm9yIGxpbmUgaW4gbGluZXM6CisgICAgICAgIGxpbmUgPSBsaW5lLnN0cmlwKCkKKyAgICAgICAgaWYgbm90IGxpbmU6CisgICAgICAgICAgICBjb250aW51ZQorICAgICAgICBpZiBsaW5lWzoxXSA9PSAnIyc6CisgICAgICAgICAgICBjb250aW51ZQorICAgICAgICBsaW5lID0gbGluZS5yZXBsYWNlKCcvJywgJyAnKS5zdHJpcCgpCisgICAgICAgIGxpbmUgPSBsaW5lLnJzdHJpcCgnXFwnKS5yc3RyaXAoKQorICAgICAgICB3b3JkcyA9IGxpbmUuc3BsaXQoKQorICAgICAgICBpZiBsZW4od29yZHMpICE9IDI6CisgICAgICAgICAgICBjb250aW51ZQorICAgICAgICBhbGlhcywgYWxpYXNfZW5jb2RpbmcgPSB3b3JkcworICAgICAgICAjIExvd2VyLWNhc2UgbG9jYWxlCisgICAgICAgIGxvY2FsZSA9IGFsaWFzLmxvd2VyKCkKKyAgICAgICAgIyBOb3JtYWxpemUgZW5jb2RpbmcsIGlmIGdpdmVuCisgICAgICAgIGlmICcuJyBpbiBsb2NhbGU6CisgICAgICAgICAgICBsYW5nLCBlbmNvZGluZyA9IGxvY2FsZS5zcGxpdCgnLicpWzoyXQorICAgICAgICAgICAgZW5jb2RpbmcgPSBlbmNvZGluZy5yZXBsYWNlKCctJywgJycpCisgICAgICAgICAgICBlbmNvZGluZyA9IGVuY29kaW5nLnJlcGxhY2UoJ18nLCAnJykKKyAgICAgICAgICAgIGxvY2FsZSA9IGxhbmcgKyAnLicgKyBlbmNvZGluZworICAgICAgICAjIEFkZCBhbiBlbmNvZGluZyB0byBhbGlhcworICAgICAgICBhbGlhcywgXywgbW9kaWZpZXIgPSBhbGlhcy5wYXJ0aXRpb24oJ0AnKQorICAgICAgICBhbGlhcyA9IF9sb2NhbGUuX3JlcGxhY2VfZW5jb2RpbmcoYWxpYXMsIGFsaWFzX2VuY29kaW5nKQorICAgICAgICBpZiBtb2RpZmllciBhbmQgbm90IChtb2RpZmllciA9PSAnZXVybycgYW5kIGFsaWFzX2VuY29kaW5nID09ICdJU08tODg1OS0xNScpOgorICAgICAgICAgICAgYWxpYXMgKz0gJ0AnICsgbW9kaWZpZXIKICAgICAgICAgZGF0YVtsb2NhbGVdID0gYWxpYXMKICAgICByZXR1cm4gZGF0YQogCkBAIC05Miw5ICsxMjQsMjUgQEAKICAgICByZXR1cm4gZXJyb3JzCiAKIGlmIF9fbmFtZV9fID09ICdfX21haW5fXyc6CisgICAgaW1wb3J0IGFyZ3BhcnNlCisgICAgcGFyc2VyID0gYXJncGFyc2UuQXJndW1lbnRQYXJzZXIoKQorICAgIHBhcnNlci5hZGRfYXJndW1lbnQoJy0tbG9jYWxlLWFsaWFzJywgZGVmYXVsdD1MT0NBTEVfQUxJQVMsCisgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSdsb2NhdGlvbiBvZiB0aGUgWDExIGFsaWFzIGZpbGUgJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnKGRlZmF1bHQ6ICVhKScgJSBMT0NBTEVfQUxJQVMpCisgICAgcGFyc2VyLmFkZF9hcmd1bWVudCgnLS1nbGliYy1zdXBwb3J0ZWQnLCBkZWZhdWx0PVNVUFBPUlRFRCwKKyAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9J2xvY2F0aW9uIG9mIHRoZSBnbGliYyBTVVBQT1JURUQgbG9jYWxlcyBmaWxlICcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyhkZWZhdWx0OiAlYSknICUgU1VQUE9SVEVEKQorICAgIGFyZ3MgPSBwYXJzZXIucGFyc2VfYXJncygpCisKICAgICBkYXRhID0gbG9jYWxlLmxvY2FsZV9hbGlhcy5jb3B5KCkKLSAgICBkYXRhLnVwZGF0ZShwYXJzZShMT0NBTEVfQUxJQVMpKQotICAgIGRhdGEgPSBvcHRpbWl6ZShkYXRhKQorICAgIGRhdGEudXBkYXRlKHBhcnNlX2dsaWJjX3N1cHBvcnRlZChhcmdzLmdsaWJjX3N1cHBvcnRlZCkpCisgICAgZGF0YS51cGRhdGUocGFyc2UoYXJncy5sb2NhbGVfYWxpYXMpKQorICAgIHdoaWxlIFRydWU6CisgICAgICAgICMgUmVwZWF0IG9wdGltaXphdGlvbiB3aGlsZSB0aGUgc2l6ZSBpcyBkZWNyZWFzZWQuCisgICAgICAgIG4gPSBsZW4oZGF0YSkKKyAgICAgICAgZGF0YSA9IG9wdGltaXplKGRhdGEpCisgICAgICAgIGlmIGxlbihkYXRhKSA9PSBuOgorICAgICAgICAgICAgYnJlYWsKICAgICBwcmludF9kaWZmZXJlbmNlcyhkYXRhLCBsb2NhbGUubG9jYWxlX2FsaWFzKQogICAgIHByaW50KCkKICAgICBwcmludCgnbG9jYWxlX2FsaWFzID0geycpCmRpZmYgLS1naXQgYS9Ub29scy9tc2kvUkVBRE1FLnR4dCBiL1Rvb2xzL21zaS9SRUFETUUudHh0CmluZGV4IGRjNGFlOTAuLjFlNDFjYzEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL21zaS9SRUFETUUudHh0CisrKyBiL1Rvb2xzL21zaS9SRUFETUUudHh0CkBAIC0xLDI1ICsxLDQ4OCBAQAotUGFja2FnaW5nIFB5dGhvbiBhcyBhIE1pY3Jvc29mdCBJbnN0YWxsZXIgUGFja2FnZSAoTVNJKQotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorUXVpY2sgQnVpbGQgSW5mbworPT09PT09PT09PT09PT09PQogCi1Vc2luZyB0aGlzIGxpYnJhcnksIFB5dGhvbiBjYW4gYmUgcGFja2FnZWQgYXMgYSBNUy1XaW5kb3dzCi1NU0kgZmlsZS4gVG8gZ2VuZXJhdGUgYW4gaW5zdGFsbGVyIHBhY2thZ2UsIHlvdSBuZWVkCi1hIGJ1aWxkIHRyZWUuIEJ5IGRlZmF1bHQsIHRoZSBidWlsZCB0cmVlIHJvb3QgZGlyZWN0b3J5Ci1pcyBhc3N1bWVkIHRvIGJlIGluICIuLi8uLiIuIFRoaXMgbG9jYXRpb24gY2FuIGJlIGNoYW5nZWQKLWJ5IGFkZGluZyBhIGZpbGUgY29uZmlnLnB5OyBzZWUgdGhlIGJlZ2lubmluZyBvZiBtc2kucHkKLWZvciBhZGRpdGlvbmFsIGN1c3RvbWl6YXRpb24gb3B0aW9ucy4KK0ZvciB0ZXN0aW5nLCB0aGUgaW5zdGFsbGVyIHNob3VsZCBiZSBidWlsdCB3aXRoIHRoZSBUb29scy9tc2kvYnVpbGQuYmF0CitzY3JpcHQ6CiAKLVRoZSBwYWNrYWdpbmcgcHJvY2VzcyBhc3N1bWVzIHRoYXQgYmluYXJpZXMgaGF2ZSBiZWVuIAotZ2VuZXJhdGVkIGFjY29yZGluZyB0byB0aGUgaW5zdHJ1Y3Rpb25zIGluIFBDQnVpbGQvUkVBRE1FLnR4dCwKLWFuZCB0aGF0IHlvdSBoYXZlIGVpdGhlciBWaXN1YWwgU3R1ZGlvIG9yIHRoZSBQbGF0Zm9ybSBTREsKLWluc3RhbGxlZC4gSW4gYWRkaXRpb24sIHlvdSBuZWVkIHRoZSBQeXRob24gQ09NIGV4dGVuc2lvbnMsCi1laXRoZXIgZnJvbSBQeXRob25XaW4sIG9yIGZyb20gQWN0aXZlUHl0aG9uLgorICAgIGJ1aWxkLmJhdCBbLXg4Nl0gWy14NjRdIFstLWRvY10KIAotVG8gaW52b2tlIHRoZSBzY3JpcHQsIG9wZW4gYSBjbWQuZXhlIHdpbmRvdyB3aGljaCBoYXMgCi1jYWJhcmMuZXhlIGluIGl0cyBQQVRIIChlLmcuICJWaXN1YWwgU3R1ZGlvIC5ORVQgMjAwMwotQ29tbWFuZCBQcm9tcHQiKS4gVGhlbiBpbnZva2UKK0ZvciBhbiBvZmZpY2lhbCByZWxlYXNlLCB0aGUgaW5zdGFsbGVyIHNob3VsZCBiZSBidWlsdCB3aXRoIHRoZQorVG9vbHMvbXNpL2J1aWxkcmVsZWFzZS5iYXQgc2NyaXB0IGFuZCBlbnZpcm9ubWVudCB2YXJpYWJsZXM6CiAKLTxwYXRoLXRvLXB5dGhvbi5leGU+IG1zaS5weQorICAgIHNldCBQWVRIT049PHBhdGggdG8gUHl0aG9uIDIuNz4KKyAgICBzZXQgU1BISU5YQlVJTEQ9PHBhdGggdG8gc3BoaW54LWJ1aWxkLmV4ZT4KKyAgICBzZXQgUEFUSD08cGF0aCB0byBNZXJjdXJpYWwgKGhnLmV4ZSk+OworICAgICAgICAgICAgIDxwYXRoIHRvIEhUTUwgSGVscCBDb21waWxlciAoaGhjLmV4ZSk+OyVQQVRIJQogCi1JZiBldmVyeXRoaW5nIHN1Y2NlZWRzLCBweXRob25YLlkuWi5tc2kgaXMgZ2VuZXJhdGVkCi1pbiB0aGUgY3VycmVudCBkaXJlY3RvcnkuCisgICAgYnVpbGRyZWxlYXNlLmJhdCBbLXg4Nl0gWy14NjRdIFstRF0gWy1CXQorICAgICAgICBbLW8gPG91dHB1dCBkaXJlY3Rvcnk+XSBbLWMgPGNlcnRpZmljYXRlIG5hbWU+XQorCitTZWUgdGhlIEJ1aWxkaW5nIHRoZSBJbnN0YWxsZXIgc2VjdGlvbiBmb3IgbW9yZSBpbmZvcm1hdGlvbi4KKworT3ZlcnZpZXcKKz09PT09PT09CisKK1B5dGhvbiBpcyBkaXN0cmlidXRlZCBvbiBXaW5kb3dzIGFzIGFuIGluc3RhbGxlciB0aGF0IHdpbGwgY29uZmlndXJlIHRoZQordXNlcidzIHN5c3RlbS4gVGhpcyBhbGxvd3MgdXNlcnMgdG8gaGF2ZSBhIGZ1bmN0aW9uaW5nIGNvcHkgb2YgUHl0aG9uCit3aXRob3V0IGhhdmluZyB0byBidWlsZCBpdCB0aGVtc2VsdmVzLgorCitUaGUgbWFpbiB0YXNrcyBvZiB0aGUgaW5zdGFsbGVyIGFyZToKKworKiBjb3B5IHJlcXVpcmVkIGZpbGVzIGludG8gdGhlIGV4cGVjdGVkIGxheW91dAorKiBjb25maWd1cmUgc3lzdGVtIHNldHRpbmdzIHNvIHRoZSBpbnN0YWxsYXRpb24gY2FuIGJlIGxvY2F0ZWQgYnkKKyAgb3RoZXIgcHJvZ3JhbXMKKyogYWRkIGVudHJ5IHBvaW50cyBmb3IgbW9kaWZ5aW5nLCByZXBhaXJpbmcgYW5kIHVuaW5zdGFsbGluZyBQeXRob24KKyogbWFrZSBpdCBlYXN5IHRvIGxhdW5jaCBQeXRob24sIGl0cyBkb2N1bWVudGF0aW9uLCBhbmQgSURMRQorCitFYWNoIG9mIHRoZXNlIGlzIGRpc2N1c3NlZCBpbiBhIGxhdGVyIHNlY3Rpb24gb2YgdGhpcyBkb2N1bWVudC4KKworU3RydWN0dXJlIG9mIHRoZSBJbnN0YWxsZXIKKz09PT09PT09PT09PT09PT09PT09PT09PT09CisKK1RoZSBpbnN0YWxsZXIgaXMgc3RydWN0dXJlZCBhcyBhICdsYXlvdXQnLCB3aGljaCBjb25zaXN0cyBvZiBhIG51bWJlciBvZgorQ0FCIGFuZCBNU0kgZmlsZXMgYW5kIGEgc2luZ2xlIEVYRS4KKworVGhlIEVYRSBpcyB0aGUgbWFpbiBlbnRyeSBwb2ludCBpbnRvIHRoZSBpbnN0YWxsZXIuIEl0IGNvbnRhaW5zIHRoZSBVSQorYW5kIGNvbW1hbmQtbGluZSBsb2dpYywgYXMgd2VsbCBhcyB0aGUgYWJpbGl0eSB0byBsb2NhdGUgYW5kIG9wdGlvbmFsbHkKK2Rvd25sb2FkIG90aGVyIHBhcnRzIG9mIHRoZSBsYXlvdXQuCisKK0VhY2ggTVNJIGNvbnRhaW5zIHRoZSBsb2dpYyByZXF1aXJlZCB0byBpbnN0YWxsIGEgY29tcG9uZW50IG9yIGZlYXR1cmUKK29mIFB5dGhvbi4gVGhlc2UgTVNJcyBzaG91bGQgbm90IGJlIGxhdW5jaGVkIGRpcmVjdGx5IGJ5IHVzZXJzLiBNU0lzIGNhbgorYmUgZW1iZWRkZWQgaW50byB0aGUgRVhFIG9yIGF1dG9tYXRpY2FsbHkgZG93bmxvYWRlZCBhcyBuZWVkZWQuCisKK0VhY2ggQ0FCIGNvbnRhaW5zIHRoZSBmaWxlcyBtYWtpbmcgdXAgYSBQeXRob24gaW5zdGFsbGF0aW9uLiBDQUJzIGFyZQorZW1iZWRkZWQgaW50byB0aGVpciBhc3NvY2lhdGVkIE1TSSBhbmQgYXJlIG5ldmVyIHNlZW4gYnkgdXNlcnMuCisKK01TSXMgYXJlIG9ubHkgcmVxdWlyZWQgd2hlbiB0aGUgcmVsYXRlZCBmZWF0dXJlIG9yIGNvbXBvbmVudCBpcyBiZWluZworaW5zdGFsbGVkLiBXaGVuIGNvbXBvbmVudHMgYXJlIG5vdCBzZWxlY3RlZCBmb3IgaW5zdGFsbGF0aW9uLCB0aGUKK2Fzc29jaWF0ZWQgTVNJIGlzIG5vdCBkb3dubG9hZGVkLiBUaGlzIGFsbG93cyB0aGUgaW5zdGFsbGVyIHRvIG9mZmVyCitvcHRpb25zIHRvIGluc3RhbGwgZGVidWdnaW5nIHN5bWJvbHMgYW5kIGJpbmFyaWVzIHdpdGhvdXQgaW5jcmVhc2luZwordGhlIGluaXRpYWwgZG93bmxvYWQgc2l6ZSBieSBzZXBhcmF0aW5nIHRoZW0gaW50byB0aGVpciBvd24gTVNJcy4KKworQnVpbGRpbmcgdGhlIEluc3RhbGxlcgorPT09PT09PT09PT09PT09PT09PT09PQorCitGb3IgdGVzdGluZywgdGhlIGluc3RhbGxlciBzaG91bGQgYmUgYnVpbHQgd2l0aCB0aGUgVG9vbHMvbXNpL2J1aWxkLmJhdAorc2NyaXB0OgorCisgICAgYnVpbGQuYmF0IFsteDg2XSBbLXg2NF0gWy0tZG9jXQorCitUaGlzIHNjcmlwdCB3aWxsIGJ1aWxkIHRoZSByZXF1aXJlZCBjb25maWd1cmF0aW9ucyBvZiBQeXRob24gYW5kCitnZW5lcmF0ZSBhbiBpbnN0YWxsZXIgbGF5b3V0IGluIFBDQnVpbGQvKHdpbjMyfGFtZDY0KS9lbi11cy4KKworU3BlY2lmeSAteDg2IGFuZC9vciAteDY0IHRvIGJ1aWxkIGZvciBlYWNoIHBsYXRmb3JtLiBJZiBuZWl0aGVyIGlzCitzcGVjaWZpZWQsIGJvdGggcGxhdGZvcm1zIHdpbGwgYmUgYnVpbHQuIEN1cnJlbnRseSwgYm90aCB0aGUgZGVidWcgYW5kCityZWxlYXNlIHZlcnNpb25zIG9mIFB5dGhvbiBhcmUgcmVxdWlyZWQgZm9yIHRoZSBpbnN0YWxsZXIuCisKK1NwZWNpZnkgLS1kb2MgdG8gYnVpbGQgdGhlIGRvY3VtZW50YXRpb24gKC5jaG0pIGZpbGUuIElmIHRoZSBmaWxlIGlzIG5vdAorYXZhaWxhYmxlLCBpdCB3aWxsIHNpbXBseSBiZSBleGNsdWRlZCBmcm9tIHRoZSBpbnN0YWxsZXIuIEVuc3VyZQorJVBZVEhPTiUgYW5kICVTUEhJTlhCVUlMRCUgYXJlIHNldCB3aGVuIHBhc3NpbmcgdGhpcyBvcHRpb24uIFlvdSBtYXkKK2Fsc28gc2V0ICVIVE1MSEVMUCUgdG8gdGhlIEh0bWwgSGVscCBDb21waWxlciAoaGhjLmV4ZSksIG9yIHB1dCBISEMgb24KK3lvdXIgUEFUSCBvciBpbiBleHRlcm5hbHMvLgorCitJZiBXaVggaXMgbm90IGZvdW5kIG9uIHlvdXIgc3lzdGVtLCBpdCB3aWxsIGJlIGF1dG9tYXRpY2FsbHkgZG93bmxvYWRlZAorYW5kIGV4dHJhY3RlZCB0byB0aGUgZXh0ZXJuYWxzLyBkaXJlY3RvcnkuCisKKworRm9yIGFuIG9mZmljaWFsIHJlbGVhc2UsIHRoZSBpbnN0YWxsZXIgc2hvdWxkIGJlIGJ1aWx0IHdpdGggdGhlCitUb29scy9tc2kvYnVpbGRyZWxlYXNlLmJhdCBzY3JpcHQ6CisKKyAgICBzZXQgUFlUSE9OPTxwYXRoIHRvIFB5dGhvbiAyLjc+CisgICAgc2V0IFNQSElOWEJVSUxEPTxwYXRoIHRvIHNwaGlueC1idWlsZC5leGU+CisgICAgc2V0IFBBVEg9PHBhdGggdG8gTWVyY3VyaWFsIChoZy5leGUpPjsKKyAgICAgICAgICAgICA8cGF0aCB0byBIVE1MIEhlbHAgQ29tcGlsZXIgKGhoYy5leGUpPjslUEFUSCUKKworICAgIGJ1aWxkcmVsZWFzZS5iYXQgWy14ODZdIFsteDY0XSBbLURdIFstQl0KKyAgICAgICAgWy1vIDxvdXRwdXQgZGlyZWN0b3J5Pl0gWy1jIDxjZXJ0aWZpY2F0ZSBuYW1lPl0KKworU3BlY2lmeSAteDg2IGFuZC9vciAteDY0IHRvIGJ1aWxkIGZvciBlYWNoIHBsYXRmb3JtLiBJZiBuZWl0aGVyIGlzCitzcGVjaWZpZWQsIGJvdGggcGxhdGZvcm1zIHdpbGwgYmUgYnVpbHQuIEN1cnJlbnRseSwgYm90aCB0aGUgZGVidWcgYW5kCityZWxlYXNlIHZlcnNpb25zIG9mIFB5dGhvbiBhcmUgcmVxdWlyZWQgZm9yIHRoZSBpbnN0YWxsZXIuCisKK1NwZWNpZnkgLUQgdG8gc2tpcCByZWJ1aWxkaW5nIHRoZSBkb2N1bWVudGF0aW9uLiBUaGUgZG9jdW1lbnRhdGlvbiBpcworcmVxdWlyZWQgZm9yIGEgcmVsZWFzZSBhbmQgdGhlIGJ1aWxkIHdpbGwgZmFpbCBpZiBpdCBpcyBub3QgYXZhaWxhYmxlLgorCitTcGVjaWZ5IC1CIHRvIHNraXAgcmVidWlsZGluZyBQeXRob24uIFRoaXMgaXMgdXNlZnVsIHRvIG9ubHkgcmVidWlsZCB0aGUKK2luc3RhbGxlciBsYXlvdXQgYWZ0ZXIgYSBwcmV2aW91cyBjYWxsIHRvIGJ1aWxkcmVsZWFzZS5iYXQuCisKK1NwZWNpZnkgLW8gdG8gc2V0IGFuIG91dHB1dCBkaXJlY3RvcnkuIFRoZSBpbnN0YWxsZXIgbGF5b3V0cyB3aWxsIGJlCitjb3BpZWQgdG8gcGxhdGZvcm0tc3BlY2lmaWMgc3ViZGlyZWN0b3JpZXMgb2YgdGhpcyBwYXRoLgorCitTcGVjaWZ5IC1jIHRvIGNob29zZSBhIGNvZGUtc2lnbmluZyBjZXJ0aWZpY2F0ZSB0byBiZSB1c2VkIGZvciBhbGwgdGhlCitzaWduYWJsZSBiaW5hcmllcyBpbiBQeXRob24gYXMgd2VsbCBhcyBlYWNoIGZpbGUgbWFraW5nIHVwIHRoZQoraW5zdGFsbGVyLiBPZmZpY2lhbCByZWxlYXNlcyBvZiBQeXRob24gbXVzdCBiZSBzaWduZWQuCisKK0Vuc3VyZSAlUFlUSE9OJSBhbmQgJVNQSElOWEJVSUxEJSBhcmUgc2V0IHdoZW4gcGFzc2luZyB0aGlzIG9wdGlvbi4gWW91CittYXkgYWxzbyBzZXQgJUhUTUxIRUxQJSB0byB0aGUgSHRtbCBIZWxwIENvbXBpbGVyIChoaGMuZXhlKSwgb3IgcHV0IEhIQworb24geW91ciBQQVRIIG9yIGluIGV4dGVybmFscy8uIFlvdSB3aWxsIGFsc28gbmVlZCBNZXJjdXJpYWwgKGhnLmV4ZSkgb24KK3lvdXIgUEFUSC4KKworSWYgV2lYIGlzIG5vdCBmb3VuZCBvbiB5b3VyIHN5c3RlbSwgaXQgd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGRvd25sb2FkZWQKK2FuZCBleHRyYWN0ZWQgdG8gdGhlIGV4dGVybmFscy8gZGlyZWN0b3J5LgorCitUbyBtYW51YWxseSBidWlsZCBsYXlvdXRzIG9mIHRoZSBpbnN0YWxsZXIsIGJ1aWxkIG9uZSBvZiB0aGUgcHJvamVjdHMgaW4KK3RoZSBidW5kbGUgZm9sZGVyLgorCisgICAgbXNidWlsZCBidW5kbGVcc25hcHNob3Qud2l4cHJvagorICAgIG1zYnVpbGQgYnVuZGxlXHJlbGVhc2V3ZWIud2l4cHJvagorICAgIG1zYnVpbGQgYnVuZGxlXHJlbGVhc2Vsb2NhbC53aXhwcm9qCisgICAgbXNidWlsZCBidW5kbGVcZnVsbC53aXhwcm9qCisKK3NuYXBzaG90LndpeHByb2ogcHJvZHVjZXMgYSB0ZXN0IGluc3RhbGxlciB2ZXJzaW9uZWQgYmFzZWQgb24gdGhlIGRhdGUuCisKK3JlbGVhc2V3ZWIud2l4cHJvaiBwcm9kdWNlcyBhIHJlbGVhc2UgaW5zdGFsbGVyIHRoYXQgZG9lcyBub3QgZW1iZWQgYW55CitvZiB0aGUgbGF5b3V0LgorCityZWxlYXNlbG9jYWwud2l4cHJvaiBwcm9kdWNlcyBhIHJlbGVhc2UgaW5zdGFsbGVyIHRoYXQgZW1iZWRzIHRoZSBmaWxlcworcmVxdWlyZWQgZm9yIGEgZGVmYXVsdCBpbnN0YWxsYXRpb24uCisKK2Z1bGwud2l4cHJvaiBwcm9kdWNlcyBhIHRlc3QgaW5zdGFsbGVyIHRoYXQgZW1iZWRzIHRoZSBlbnRpcmUgbGF5b3V0LgorCitUaGUgZm9sbG93aW5nIHByb3BlcnRpZXMgbWF5IGJlIHBhc3NlZCB3aGVuIGJ1aWxkaW5nIHRoZXNlIHByb2plY3RzLgorCisgIC9wOkJ1aWxkRm9yUmVsZWFzZT0odHJ1ZXxmYWxzZSkKKyAgICBXaGVuIHRydWUsIGFkZHMgZXh0cmEgdmVyaWZpY2F0aW9uIHRvIGVuc3VyZSBhIGNvbXBsZXRlIGluc3RhbGxlciBpcworICAgIHByb2R1Y2VkLiBGb3IgZXhhbXBsZSwgYmludXRpbHMgaXMgcmVxdWlyZWQgd2hlbiBidWlsZGluZyBmb3IgYSByZWxlYXNlCisgICAgdG8gZ2VuZXJhdGUgTWluR1ctY29tcGF0aWJsZSBsaWJyYXJpZXMsIGFuZCB0aGUgYnVpbGQgd2lsbCBiZSBhYm9ydGVkIGlmCisgICAgdGhpcyBmYWlscy4gRGVmYXVsdHMgdG8gZmFsc2UuCisKKyAgL3A6UmVsZWFzZVVyaT0oYW55IFVSSSkKKyAgICBVc2VkIHRvIGdlbmVyYXRlIHVuaXF1ZSBJRHMgZm9yIHRoZSBpbnN0YWxsZXJzIHRvIGFsbG93IHNpZGUtYnktc2lkZQorICAgIGluc3RhbGxhdGlvbi4gRm9ya3Mgb2YgUHl0aG9uIGNhbiB1c2UgdGhlIHNhbWUgaW5zdGFsbGVyIGluZnJhc3RydWN0dXJlCisgICAgYnkgcHJvdmlkaW5nIGEgdW5pcXVlIFVSSSBmb3IgdGhpcyBwcm9wZXJ0eS4gSXQgZG9lcyBub3QgbmVlZCB0byBiZSBhbgorICAgIGFjdGl2ZSBpbnRlcm5ldCBhZGRyZXNzLiBEZWZhdWx0cyB0byAkKENvbXB1dGVyTmFtZSkuCisKKyAgICBPZmZpY2lhbCByZWxlYXNlcyB1c2UgaHR0cDovL3d3dy5weXRob24ub3JnLyhhcmNoaXRlY3R1cmUgbmFtZSkKKworICAvcDpEb3dubG9hZFVybEJhc2U9KGFueSBVUkkpCisgICAgU3BlY2lmaWVzIHRoZSBiYXNlIG9mIGEgVVJMIHdoZXJlIG1pc3NpbmcgcGFydHMgb2YgdGhlIGluc3RhbGxlciBsYXlvdXQKKyAgICBjYW4gYmUgZG93bmxvYWRlZCBmcm9tLiBUaGUgYnVpbGQgdmVyc2lvbiBhbmQgYXJjaGl0ZWN0dXJlIHdpbGwgYmUKKyAgICBhcHBlbmRlZCB0byBjcmVhdGUgdGhlIGZ1bGwgYWRkcmVzcy4gSWYgb21pdHRlZCwgbWlzc2luZyBjb21wb25lbnRzIHdpbGwKKyAgICBub3QgYmUgYXV0b21hdGljYWxseSBkb3dubG9hZGVkLgorCisgIC9wOkRvd25sb2FkVXJsPShhbnkgVVJJKQorICAgIFNwZWNpZmllcyB0aGUgZnVsbCBVUkwgd2hlcmUgbWlzc2luZyBwYXJ0cyBvZiB0aGUgaW5zdGFsbGVyIGxheW91dCBjYW4KKyAgICBiZSBkb3dubG9hZGVkIGZyb20uIFNob3VsZCBub3JtYWxseSBpbmNsdWRlICd7Mn0nLCB3aGljaCB3aWxsIGJlCisgICAgc3Vic3RpdHV0ZWQgZm9yIHRoZSBmaWxlbmFtZS4gSWYgb21pdHRlZCwgbWlzc2luZyBjb21wb25lbnRzIHdpbGwgbm90IGJlCisgICAgYXV0b21hdGljYWxseSBkb3dubG9hZGVkLiBJZiBzcGVjaWZpZWQsIHRoaXMgdmFsdWUgb3ZlcnJpZGVzCisgICAgRG93bmxvYWRVcmxCYXNlLgorCisgIC9wOlNpZ25pbmdDZXJ0aWZpY2F0ZT0oY2VydGlmaWNhdGUgbmFtZSkKKyAgICBTcGVjaWZpZXMgdGhlIGNlcnRpZmljYXRlIHRvIHNpZ24gdGhlIGluc3RhbGxlciBsYXlvdXQgd2l0aC4gSWYgb21pdHRlZCwKKyAgICB0aGUgbGF5b3V0IHdpbGwgbm90IGJlIHNpZ25lZC4KKworICAvcDpSZWJ1aWxkQWxsPSh0cnVlfGZhbHNlKQorICAgIFdoZW4gdHJ1ZSwgcmVidWlsZHMgYWxsIG9mIHRoZSBNU0lzIG1ha2luZyB1cCB0aGUgbGF5b3V0LiBEZWZhdWx0cyB0bworICAgIHRydWUuCisKK01vZGlmeWluZyB0aGUgSW5zdGFsbGVyCis9PT09PT09PT09PT09PT09PT09PT09PQorCitUaGUgY29kZSBmb3IgdGhlIGluc3RhbGxlciBpcyBkaXZpZGVkIGludG8gdGhyZWUgbWFpbiBncm91cHM6IHBhY2thZ2VzLAordGhlIGJ1bmRsZSBhbmQgdGhlIGJvb3RzdHJhcCBhcHBsaWNhdGlvbi4KKworUGFja2FnZXMKKy0tLS0tLS0tCisKK1BhY2thZ2VzIGFwcGVhciBhcyBzdWJkaXJlY3RvcmllcyBvZiBUb29scy9tc2kgKG90aGVyIHRoYW4gdGhlIGJ1bmRsZS8KK2RpcmVjdG9yeSkuIFRoZSBwcm9qZWN0IGZpbGUgaXMgYSAud2l4cHJvaiBhbmQgdGhlIGJ1aWxkIG91dHB1dCBpcyBhCitzaW5nbGUgTVNJLiBQYWNrYWdlcyBhcmUgYnVpbHQgd2l0aCB0aGUgV2lYIFRvb2xzZXQuIFNvbWUgcHJvamVjdCBmaWxlcworc2hhcmUgc291cmNlIGZpbGVzIGFuZCB1c2UgcHJlcHJvY2Vzc29yIGRpcmVjdGl2ZXMgdG8gZW5hYmxlIHBhcnRpY3VsYXIKK2ZlYXR1cmVzLiBUaGVzZSBhcmUgdHlwaWNhbGx5IHVzZWQgdG8ga2VlcCB0aGUgc291cmNlcyBjbG9zZSB3aGVuIHRoZQorZmlsZXMgYXJlIHJlbGF0ZWQsIGJ1dCBwcm9kdWNlIG11bHRpcGxlIGluZGVwZW5kZW50IHBhY2thZ2VzLgorCitBIHBhY2thZ2UgaXMgdGhlIHNtYWxsZXN0IGVsZW1lbnQgdGhhdCBtYXkgYmUgaW5kZXBlbmRlbnRseSBpbnN0YWxsZWQgb3IKK3VuaW5zdGFsbGVkIChhcyB1c2VkIGluIHRoaXMgaW5zdGFsbGVyKS4gRm9yIGV4YW1wbGUsIHRoZSB0ZXN0IHN1aXRlIGhhcworaXRzIG93biBwYWNrYWdlLCBhcyB1c2VycyBjYW4gY2hvb3NlIHRvIGFkZCBvciByZW1vdmUgaXQgYWZ0ZXIgdGhlCitpbml0aWFsIGluc3RhbGxhdGlvbi4KKworQWxsIHRoZSBmaWxlcyBpbnN0YWxsZWQgYnkgYSBzaW5nbGUgcGFja2FnZSBzaG91bGQgYmUgcmVsYXRlZCwgdGhvdWdoCitzb21lIHBhY2thZ2VzIG1heSBub3QgaW5zdGFsbCBhbnkgZmlsZXMuIEZvciBleGFtcGxlLCB0aGUgcGlwIHBhY2thZ2UKK2V4ZWN1dGVzIHRoZSBlbnN1cmVwaXAgcGFja2FnZSwgYnV0IGRvZXMgbm90IGFkZCBvciByZW1vdmUgYW55IG9mIGl0cworb3duIGZpbGVzLiAoSXQgaXMgcmVwcmVzZW50ZWQgYXMgYSBwYWNrYWdlIGJlY2F1c2Ugb2YgaXRzCitpbnN0YWxsZWQvdW5pbnN0YWxsZWQgbmF0dXJlLCBhcyBvcHBvc2VkIHRvIHRoZSAicHJlY29tcGlsZSBzdGFuZGFyZAorbGlicmFyeSIgb3B0aW9uLCBmb3IgZXhhbXBsZS4pIERlcGVuZGVuY2llcyBiZXR3ZWVuIHBhY2thZ2VzIGFyZSBoYW5kbGVkCitieSB0aGUgYnVuZGxlLCBidXQgcGFja2FnZXMgc2hvdWxkIGRldGVjdCB3aGVuIGRlcGVuZGVuY2llcyBhcmUgbWlzc2luZworYW5kIHJhaXNlIGFuIGVycm9yLgorCitQYWNrYWdlcyB0aGF0IGluY2x1ZGUgYSBsb3Qgb2YgZmlsZXMgbWF5IHVzZSBhbiBJbnN0YWxsRmlsZXMgZWxlbWVudCBpbgordGhlIC53aXhwcm9qIGZpbGUgdG8gZ2VuZXJhdGUgc291cmNlcy4gU2VlIGxpYi9saWIud2l4cHJvaiBmb3IgYW4KK2V4YW1wbGUsIGFuZCBtc2kudGFyZ2V0cyBhbmQgY3N2X3RvX3d4cy5weSBmb3IgdGhlIGltcGxlbWVudGF0aW9uLiBUaGlzCitlbGVtZW50IGlzIGFsc28gcmVzcG9uc2libGUgZm9yIGdlbmVyYXRpbmcgdGhlIGNvZGUgZm9yIGNsZWFuaW5nIHVwIGFuZAorcmVtb3ZpbmcgX19weWNhY2hlX18gZm9sZGVycyBpbiBhbnkgZGlyZWN0b3J5IGNvbnRhaW5pbmcgLnB5IGZpbGVzLgorCitBbGwgcGFja2FnZXMgYXJlIGJ1aWx0IHdpdGggdGhlIFRvb2xzL21zaS9jb21tb24ud3hzIGZpbGUsIGFuZCBzbyBhbnkKK2RpcmVjdG9yeSBvciBwcm9wZXJ0eSBpbiB0aGlzIGZpbGUgbWF5IGJlIHJlZmVyZW5jZWQuIE9mIHBhcnRpY3VsYXIKK2ludGVyZXN0OgorCisgIFJFR0lTVFJZS0VZIChwcm9wZXJ0eSkKKyAgICBUaGUgcmVnaXN0cnkga2V5IGZvciB0aGUgY3VycmVudCBpbnN0YWxsYXRpb24uCisKKyAgSW5zdGFsbERpcmVjdG9yeSAoZGlyZWN0b3J5KQorICAgIFRoZSByb290IGluc3RhbGwgZGlyZWN0b3J5IGZvciB0aGUgY3VycmVudCBpbnN0YWxsYXRpb24uIFN1YmRpcmVjdG9yaWVzCisgICAgYXJlIGFsc28gc3BlY2lmaWVkIGluIHRoaXMgZmlsZSAoRExMcywgTGliLCBldGMuKQorCisgIE1lbnVEaXIgKGRpcmVjdG9yeSkKKyAgICBUaGUgU3RhcnQgTWVudSBmb2xkZXIgZm9yIHRoZSBjdXJyZW50IGluc3RhbGxhdGlvbi4KKworICBVcGdyYWRlVGFibGUgKHByb3BlcnR5KQorICAgIEV2ZXJ5IHBhY2thZ2Ugc2hvdWxkIHJlZmVyZW5jZSB0aGlzIHByb3BlcnR5IHRvIGluY2x1ZGUgdXBncmFkZQorICAgIGluZm9ybWF0aW9uLgorCitUaGUgLnd4bF90ZW1wbGF0ZSBmaWxlIGlzIHNwZWNpYWxseSBoYW5kbGVkIGJ5IHRoZSBidWlsZCBzeXN0ZW0gZm9yIHRoaXMKK3Byb2plY3QgdG8gcGVyZm9ybSB7e3N1YnN0aXR1dGlvbnN9fSBhcyBkZWZpbmVkIGluIG1zaS50YXJnZXRzLiBUaGV5CitzaG91bGQgYmUgaW5jbHVkZWQgaW4gcHJvamVjdHMgYXMgPFd4bFRlbXBsYXRlPiBpdGVtcywgd2hlcmUgLnd4bCBmaWxlcworYXJlIG5vcm1hbGx5IGluY2x1ZGVkIGFzIDxFbWJlZGRlZFJlc291cmNlPiBpdGVtcy4KKworQnVuZGxlCistLS0tLS0KKworVGhlIGJ1bmRsZSBpcyBjb21waWxlZCB0byB0aGUgbWFpbiBFWEUgZW50cnkgcG9pbnQgdGhhdCBmb3IgbW9zdCB1c2Vycword2lsbCByZXByZXNlbnQgdGhlIFB5dGhvbiBpbnN0YWxsZXIuIEl0IGlzIGJ1aWx0IGZyb20gVG9vbHMvbXNpL2J1bmRsZQord2l0aCBwYWNrYWdlcyByZWZlcmVuY2VzIGluIFRvb2xzL21zaS9idW5kbGUvcGFja2FnZWdyb3Vwcy4KKworQnVpbGQgbG9naWMgZm9yIHRoZSBidW5kbGUgaXMgaW4gYnVuZGxlLnRhcmdldHMsIGJ1dCBzaG91bGQgYmUgaW52b2tlZAordGhyb3VnaCBvbmUgb2YgdGhlIC53aXhwcm9qIGZpbGVzIGFzIGRlc2NyaWJlZCBpbiBCdWlsZGluZyB0aGUKK0luc3RhbGxlci4KKworVGhlIFVJIGlzIHNlcGFyYXRlZCBiZXR3ZWVuIERlZmF1bHQudGhtIChVSSBsYXlvdXQpLCBEZWZhdWx0Lnd4bAorKHN0cmluZ3MpLCBidW5kbGUud3hzIChwcm9wZXJ0aWVzKSBhbmQgdGhlIGJvb3RzdHJhcCBhcHBsaWNhdGlvbi4KK0J1bmRsZS53eHMgYWxzbyBjb250YWlucyB0aGUgY2hhaW4sIHdoaWNoIGlzIHRoZSBsaXN0IG9mIHBhY2thZ2VzIHRvCitpbnN0YWxsIGFuZCB0aGUgb3JkZXIgdGhleSBzaG91bGQgYmUgaW5zdGFsbGVkIGluLiBUaGVzZSByZWZlciB0byBuYW1lZAorcGFja2FnZSBncm91cHMgaW4gYnVuZGxlL3BhY2thZ2Vncm91cHMuCisKK0VhY2ggcGFja2FnZSBncm91cCBzcGVjaWZpZXMgb25lIG9yIG1vcmUgcGFja2FnZXMgdG8gaW5zdGFsbC4gTW9zdAorcGFja2FnZXMgcmVxdWlyZSB0d28gc2VwYXJhdGUgZW50cmllcyB0byBzdXBwb3J0IGJvdGggcGVyLXVzZXIgYW5kCithbGwtdXNlcnMgaW5zdGFsbGF0aW9ucy4gQmVjYXVzZSB0aGVzZSByZXVzZSB0aGUgc2FtZSBwYWNrYWdlLCBpdCBkb2VzCitub3QgaW5jcmVhc2UgdGhlIG92ZXJhbGwgc2l6ZSBvZiB0aGUgcGFja2FnZS4KKworUGFja2FnZSBncm91cHMgcmVmZXIgdG8gcGF5bG9hZCBncm91cHMsIHdoaWNoIGFsbG93IGJldHRlciBjb250cm9sIG92ZXIKK2VtYmVkZGluZyBhbmQgZG93bmxvYWRpbmcgZmlsZXMgdGhhbiB0aGUgZGVmYXVsdCBzZXR0aW5ncy4gV2hldGhlciBmaWxlcworYXJlIGVtYmVkZGVkIGFuZCB3aGVyZSB0aGV5IGFyZSBkb3dubG9hZGVkIGZyb20gZGVwZW5kcyBvbiBzZXR0aW5ncworY3JlYXRlZCBieSB0aGUgcHJvamVjdCBmaWxlcy4KKworUGFja2FnZSByZWZlcmVuY2VzIGNhbiBpbmNsdWRlIGluc3RhbGwgY29uZGl0aW9ucyB0aGF0IGRldGVybWluZSB3aGVuIHRvCitpbnN0YWxsIHRoZSBwYWNrYWdlLiBXaGVuIGEgcGFja2FnZSBpcyBhIGRlcGVuZGVuY3kgZm9yIG90aGVycywgdGhlCitjb25kaXRpb24gc2hvdWxkIGJlIGNyYWZ0ZWQgdG8gZW5zdXJlIGl0IGlzIGluc3RhbGxlZC4KKworTVNJIHBhY2thZ2VzIGFyZSBpbnN0YWxsZWQgb3IgdW5pbnN0YWxsZWQgYmFzZWQgb24gdGhlaXIgY3VycmVudCBzdGF0ZQorYW5kIHRoZSBpbnN0YWxsIGNvbmRpdGlvbi4gVGhpcyBtYWtlcyB0aGVtIG1vc3Qgc3VpdGFibGUgZm9yIGZlYXR1cmVzCit0aGF0IGFyZSBjbGVhcmx5IHByZXNlbnQgb3IgYWJzZW50IGZyb20gdGhlIHVzZXIncyBtYWNoaW5lLgorCitFWEUgcGFja2FnZXMgYXJlIGV4ZWN1dGVkIGJhc2VkIG9uIGEgY3VzdG9taXNhYmxlIGNvbmRpdGlvbiB0aGF0IGNhbiBiZQorb21pdHRlZC4gVGhpcyBtYWtlcyB0aGVtIHN1aXRhYmxlIGZvciBwcmUtIG9yIHBvc3QtaW5zdGFsbCB0YXNrcyB0aGF0CituZWVkIHRvIHJ1biByZWdhcmRsZXNzIG9mIHdoZXRoZXIgZmVhdHVyZXMgaGF2ZSBiZWVuIGFkZGVkIG9yIHJlbW92ZWQuCisKK0Jvb3RzdHJhcCBBcHBsaWNhdGlvbgorLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK1RoZSBib290c3RyYXAgYXBwbGljYXRpb24gaXMgYSBDKysgYXBwbGljYXRpb24gdGhhdCBjb250cm9scyB0aGUgVUkgYW5kCitpbnN0YWxsYXRpb24uIFdoaWxlIGl0IGRvZXMgbm90IGRpcmVjdGx5IGNvbXBpbGUgaW50byB0aGUgbWFpbiBFWEUgb2YKK3RoZSBpbnN0YWxsZXIsIGl0IGZvcm1zIHRoZSBtYWluIGFjdGl2ZSBjb21wb25lbnQuIE1vc3Qgb2YgdGhlCitpbnN0YWxsYXRpb24gZnVuY3Rpb25hbGl0eSBpcyBwcm92aWRlZCBieSBXaVgsIGFuZCBzbyB0aGUgYm9vdHN0cmFwCithcHBsaWNhdGlvbiBpcyBwcmVkb21pbmFudGx5IHJlc3BvbnNpYmxlIGZvciB0aGUgY29kZSBiZWhpbmQgdGhlIFVJIHRoYXQKK2lzIGRlZmluZWQgaW4gdGhlIERlZmF1bHQudGhtIGZpbGUuIFRoZSBib290c3RyYXAgYXBwbGljYXRpb24gY29kZSBpcyBpbgorYnVuZGxlL2Jvb3RzdHJhcCBhbmQgaXMgYnVpbHQgYXV0b21hdGljYWxseSB3aGVuIGJ1aWxkaW5nIHRoZSBidW5kbGUuCisKK0luc3RhbGxhdGlvbiBMYXlvdXQKKz09PT09PT09PT09PT09PT09PT0KKworVGhlcmUgYXJlIHR3byBpbnN0YWxsYXRpb24gbGF5b3V0cyBmb3IgUHl0aG9uIG9uIFdpbmRvd3MsIHdpdGggdGhlIG9ubHkKK2RpZmZlcmVuY2VzIGJlaW5nIHN1cHBvcnRpbmcgZmlsZXMuIEEgbGF5b3V0IGlzIHNlbGVjdGVkIGltcGxpY2l0bHkKK2Jhc2VkIG9uIHdoZXRoZXIgdGhlIGluc3RhbGwgaXMgZm9yIGFsbCB1c2VycyBvZiB0aGUgbWFjaGluZSBvciBqdXN0IGZvcgordGhlIHVzZXIgcGVyZm9ybWluZyB0aGUgaW5zdGFsbGF0aW9uLgorCitUaGUgZGVmYXVsdCBpbnN0YWxsYXRpb24gbG9jYXRpb24gd2hlbiBpbnN0YWxsaW5nIGZvciBhbGwgdXNlcnMgaXMKKyIlUHJvZ3JhbUZpbGVzJVxQeXRob24gMy5YIiBmb3IgdGhlIDY0LWJpdCBpbnRlcnByZXRlciBhbmQKKyIlUHJvZ3JhbUZpbGVzKHg4NiklXFB5dGhvbiAzLlgiIGZvciB0aGUgMzItYml0IGludGVycHJldGVyLiAoTm90ZSB0aGF0Cit0aGUgbGF0dGVyIHBhdGggaXMgZXF1aXZhbGVudCB0byAiJVByb2dyYW1GaWxlcyVcUHl0aG9uIDMuWCIgd2hlbgorcnVubmluZyBhIDMyLWJpdCB2ZXJzaW9uIG9mIFdpbmRvd3MuKSBUaGlzIGxvY2F0aW9uIHJlcXVpcmVzCithZG1pbmlzdHJhdGl2ZSBwcml2aWxlZ2VzIHRvIGluc3RhbGwgb3IgbGF0ZXIgbW9kaWZ5IHRoZSBpbnN0YWxsYXRpb24uCisKK1RoZSBkZWZhdWx0IGluc3RhbGxhdGlvbiBsb2NhdGlvbiB3aGVuIGluc3RhbGxpbmcgZm9yIHRoZSBjdXJyZW50IHVzZXIKK2lzICIlTG9jYWxBcHBEYXRhJVxQcm9ncmFtc1xQeXRob25cUHl0aG9uM1giIGZvciB0aGUgNjQtYml0IGludGVycHJldGVyCithbmQgIiVMb2NhbEFwcERhdGElXFByb2dyYW1zXFB5dGhvblxQeXRob24zWC0zMiIgZm9yIHRoZSAzMi1iaXQKK2ludGVycHJldGVyLiBPbmx5IHRoZSBjdXJyZW50IHVzZXIgY2FuIGFjY2VzcyB0aGlzIGxvY2F0aW9uLiBUaGlzCitwcm92aWRlcyBhIHN1aXRhYmxlIGxldmVsIG9mIHByb3RlY3Rpb24gYWdhaW5zdCBtYWxpY2lvdXMgbW9kaWZpY2F0aW9uCitvZiBQeXRob24ncyBmaWxlcy4KKworV2l0aGluIHRoaXMgaW5zdGFsbCBkaXJlY3RvcnkgaXMgdGhlIGZvbGxvd2luZyBhcHByb3hpbWF0ZSBsYXlvdXQ6CisKKy5ccHl0aG9uW3ddLmV4ZSBUaGUgY29yZSBleGVjdXRhYmxlIGZpbGVzCisuXERMTHMgICAgICAgICAgU3RkbGliIGV4dGVuc2lvbnMgKCoucHlkKSBhbmQgZGVwZW5kZW5jaWVzCisuXERvYyAgICAgICAgICAgRG9jdW1lbnRhdGlvbiAoKi5jaG0pCisuXGluY2x1ZGUgICAgICAgRGV2ZWxvcG1lbnQgaGVhZGVycyAoKi5oKQorLlxMaWIgICAgICAgICAgIFN0YW5kYXJkIGxpYnJhcnkKKy5cTGliXHRlc3QgICAgICBUZXN0IHN1aXRlCisuXGxpYnMgICAgICAgICAgRGV2ZWxvcG1lbnQgbGlicmFyaWVzICgqLmxpYikKKy5cU2NyaXB0cyAgICAgICBMYXVuY2hlciBzY3JpcHRzICgqLmV4ZSwgKi5weSkKKy5cdGNsICAgICAgICAgICBUY2wgZGVwZW5kZW5jaWVzICgqLmRsbCwgKi50Y2wgYW5kIG90aGVycykKKy5cVG9vbHMgICAgICAgICBUb29sIHNjcmlwdHMgKCoucHkpCisKK1doZW4gaW5zdGFsbGVkIGZvciBhbGwgdXNlcnMsIHRoZSBmb2xsb3dpbmcgZmlsZXMgYXJlIGluc3RhbGxlZCB0bworZWl0aGVyICIlU3lzdGVtUm9vdCVcU3lzdGVtMzIiIG9yICIlU3lzdGVtUm9vdCVcU3lzV09XNjQiIGFzCithcHByb3ByaWF0ZS4gRm9yIHRoZSBjdXJyZW50IHVzZXIsIHRoZXkgYXJlIGluc3RhbGxlZCBpbiB0aGUgUHl0aG9uCitpbnN0YWxsIGRpcmVjdG9yeS4KKworLlxweXRob24zeC5kbGwgICAgICBUaGUgY29yZSBpbnRlcnByZXRlcgorLlxweXRob24zLmRsbCAgICAgICBUaGUgc3RhYmxlIEFCSSByZWZlcmVuY2UKKy5cYXBwY3J0MTQwLmRsbCAgICAgTWljcm9zb2Z0IFZpc3VhbCBDIFJ1bnRpbWUKKy5cZGVza3RvcGNydDE0MC5kbGwgTWljcm9zb2Z0IFZpc3VhbCBDIFJ1bnRpbWUKKy5cdmNydW50aW1lMTQwLmRsbCAgTWljcm9zb2Z0IFZpc3VhbCBDIFJ1bnRpbWUKKworV2hlbiBpbnN0YWxsZWQgZm9yIGFsbCB1c2VycywgdGhlIGZvbGxvd2luZyBmaWxlcyBhcmUgaW5zdGFsbGVkIHRvCisiJVN5c3RlbVJvb3QlIiAodHlwaWNhbGx5ICJDOlxXaW5kb3dzIikgdG8gZW5zdXJlIHRoZXkgYXJlIGFsd2F5cworYXZhaWxhYmxlIG9uIFBBVEguIChTZWUgTGF1bmNoaW5nIFB5dGhvbiBiZWxvdy4pIEZvciB0aGUgY3VycmVudCB1c2VyLAordGhleSBhcmUgaW5zdGFsbGVkIGluIHRoZSBQeXRob24gaW5zdGFsbCBkaXJlY3RvcnkuCisKKy5ccHlbd10uZXhlICAgICAgICAgUEVQIDM5NyBsYXVuY2hlcgorCitTeXN0ZW0gU2V0dGluZ3MKKz09PT09PT09PT09PT09PQorCitPbiBpbnN0YWxsYXRpb24sIHJlZ2lzdHJ5IGtleXMgYXJlIGNyZWF0ZWQgc28gdGhhdCBvdGhlciBhcHBsaWNhdGlvbnMKK2NhbiBsb2NhdGUgYW5kIGlkZW50aWZ5IGluc3RhbGxhdGlvbnMgb2YgUHl0aG9uLiBUaGUgbG9jYXRpb25zIG9mIHRoZXNlCitrZXlzIHZhcnkgYmFzZWQgb24gdGhlIGluc3RhbGwgdHlwZS4KKworRm9yIDY0LWJpdCBpbnRlcnByZXRlcnMgaW5zdGFsbGVkIGZvciBhbGwgdXNlcnMsIHRoZSByb290IGtleSBpczoKKyAgICBIS0VZX0xPQ0FMX01BQ0hJTkVcU29mdHdhcmVcUHl0aG9uXFB5dGhvbkNvcmVcMy5YCisKK0ZvciAzMi1iaXQgaW50ZXJwcmV0ZXJzIGluc3RhbGxlZCBmb3IgYWxsIHVzZXJzIG9uIGEgNjQtYml0IG9wZXJhdGluZworc3lzdGVtLCB0aGUgcm9vdCBrZXkgaXM6CisgICAgSEtFWV9MT0NBTF9NQUNISU5FXFNvZnR3YXJlXFdvdzY0MzJOb2RlXFB5dGhvblxQeXRob25Db3JlXDMuWC0zMgorCitGb3IgMzItYml0IGludGVycHJldGVycyBpbnN0YWxsZWQgZm9yIGFsbCB1c2VycyBvbiBhIDMyLWJpdCBvcGVyYXRpbmcKK3N5c3RlbSwgdGhlIHJvb3Qga2V5IGlzOgorICAgIEhLRVlfTE9DQUxfTUFDSElORVxTb2Z0d2FyZVxQeXRob25cUHl0aG9uQ29yZVwzLlgtMzIKKworRm9yIDY0LWJpdCBpbnRlcnByZXRlcnMgaW5zdGFsbGVkIGZvciB0aGUgY3VycmVudCB1c2VyOgorICAgIEhLRVlfQ1VSUkVOVF9VU0VSXFNvZnR3YXJlXFB5dGhvblxQeXRob25Db3JlXDMuWAorCitGb3IgMzItYml0IGludGVycHJldGVycyBpbnN0YWxsZWQgZm9yIHRoZSBjdXJyZW50IHVzZXI6CisgICAgSEtFWV9DVVJSRU5UX1VTRVJcU29mdHdhcmVcUHl0aG9uXFB5dGhvbkNvcmVcMy5YLTMyCisKK1doZW4gdGhlIGNvcmUgUHl0aG9uIGV4ZWN1dGFibGVzIGFyZSBpbnN0YWxsZWQsIGEga2V5ICJJbnN0YWxsUGF0aCIgaXMKK2NyZWF0ZWQgd2l0aGluIHRoZSByb290IGtleSB3aXRoIGl0cyBkZWZhdWx0IHZhbHVlIHNldCB0byB0aGUKK2V4ZWN1dGFibGUncyBpbnN0YWxsIGRpcmVjdG9yeS4gV2l0aGluIHRoaXMga2V5LCBhIGtleSAiSW5zdGFsbEdyb3VwIiBpcworY3JlYXRlZCB3aXRoIGl0cyBkZWZhdWx0IHZhbHVlIHNldCB0byB0aGUgcHJvZHVjdCBuYW1lICJQeXRob24gMy5YIi4KKworV2hlbiB0aGUgUHl0aG9uIHN0YW5kYXJkIGxpYnJhcnkgaXMgaW5zdGFsbGVkLCBhIGtleSAiUHl0aG9uUGF0aCIgaXMKK2NyZWF0ZWQgd2l0aGluIHRoZSByb290IGtleSB3aXRoIGl0cyBkZWZhdWx0IHZhbHVlIHNldCB0byB0aGUgZnVsbCBwYXRoCit0byB0aGUgTGliIGZvbGRlciBmb2xsb3dlZCBieSB0aGUgcGF0aCB0byB0aGUgRExMcyBmb2xkZXIsIHNlcGFyYXRlZCBieQorYSBzZW1pY29sb24uCisKK1doZW4gdGhlIGRvY3VtZW50YXRpb24gaXMgaW5zdGFsbGVkLCBhIGtleSAiSGVscCIgaXMgY3JlYXRlZCB3aXRoaW4gdGhlCityb290IGtleSwgd2l0aCBhIHN1YmtleSAiTWFpbiBQeXRob24gRG9jdW1lbnRhdGlvbiIgd2l0aCBpdHMgZGVmYXVsdAordmFsdWUgc2V0IHRvIHRoZSBmdWxsIHBhdGggdG8gdGhlIGluc3RhbGxlZCBDSE0gZmlsZS4KKworCitUaGUgcHkuZXhlIGxhdW5jaGVyIGlzIGluc3RhbGxlZCBhcyBwYXJ0IG9mIGEgcmVndWxhciBQeXRob24gaW5zdGFsbCwKK2J1dCB1c2luZyBhIHNlcGFyYXRlIG1lY2hhbmlzbSB0aGF0IGFsbG93cyBpdCB0byBtb3JlIGVhc2lseSBzcGFuCit2ZXJzaW9ucyBvZiBQeXRob24uIEFzIGEgcmVzdWx0LCBpdCBoYXMgZGlmZmVyZW50IHJvb3Qga2V5cyBmb3IgaXRzCityZWdpc3RyeSBlbnRyaWVzOgorCitXaGVuIGluc3RhbGxlZCBmb3IgYWxsIHVzZXJzIG9uIGEgNjQtYml0IG9wZXJhdGluZyBzeXN0ZW0sIHRoZQorbGF1bmNoZXIncyByb290IGtleSBpczoKKyAgICBIS0VZX0xPQ0FMX01BQ0hJTkVcU29mdHdhcmVcV293NjQzMk5vZGVcUHl0aG9uXExhdW5jaGVyCisKK1doZW4gaW5zdGFsbGVkIGZvciBhbGwgdXNlcnMgb24gYSAzMi1iaXQgb3BlcmF0aW5nIHN5c3RlbSwgdGhlCitsYXVuY2hlcidzIHJvb3Qga2V5IGlzOgorICAgIEhLRVlfTE9DQUxfTUFDSElORVxTb2Z0d2FyZVxQeXRob25cTGF1bmNoZXIKKworV2hlbiBpbnN0YWxsZWQgZm9yIHRoZSBjdXJyZW50IHVzZXI6CisgICAgSEtFWV9DVVJSRU5UX1VTRVJcU29mdHdhcmVcUHl0aG9uXExhdW5jaGVyCisKK1doZW4gdGhlIGxhdW5jaGVyIGlzIGluc3RhbGxlZCwgYSBrZXkgIkluc3RhbGxQYXRoIiBpcyBjcmVhdGVkIHdpdGhpbgoraXRzIHJvb3Qga2V5IHdpdGggaXRzIGRlZmF1bHQgdmFsdWUgc2V0IHRvIHRoZSBsYXVuY2hlcidzIGluc3RhbGwKK2RpcmVjdG9yeS4gRmlsZSBhc3NvY2lhdGlvbnMgYXJlIGFsc28gY3JlYXRlZCBmb3IgLnB5LCAucHl3LCAucHljIGFuZAorLnB5byBmaWxlcy4KKworTGF1bmNoaW5nIFB5dGhvbgorPT09PT09PT09PT09PT09PQorCitXaGVuIGEgZmVhdHVyZSBvZmZlcmluZyB1c2VyIGVudHJ5IHBvaW50cyBpbiB0aGUgU3RhcnQgTWVudSBpcworaW5zdGFsbGVkLCBhIGZvbGRlciAiUHl0aG9uIDMuWCIgaXMgY3JlYXRlZC4gRXZlcnkgc2hvcnRjdXQgc2hvdWxkIGJlCitjcmVhdGVkIHdpdGhpbiB0aGlzIGZvbGRlciwgYW5kIGVhY2ggc2hvcnRjdXQgc2hvdWxkIGluY2x1ZGUgdGhlIHZlcnNpb24KK2FuZCBwbGF0Zm9ybSB0byBhbGxvdyB1c2VycyB0byBpZGVudGlmeSB0aGUgc2hvcnRjdXQgaW4gYSBzZWFyY2ggcmVzdWx0cworcGFnZS4KKworVGhlIGNvcmUgUHl0aG9uIGV4ZWN1dGFibGVzIGNyZWF0ZXMgYSBzaG9ydGN1dCAiUHl0aG9uIDMuWCAoMzItYml0KSIgb3IKKyJQeXRob24gMy5YICg2NC1iaXQpIiBkZXBlbmRpbmcgb24gdGhlIGludGVycHJldGVyLgorCitUaGUgZG9jdW1lbnRhdGlvbiBjcmVhdGVzIGEgc2hvcnRjdXQgIlB5dGhvbiAzLlggMzItYml0IE1hbnVhbHMiIG9yCisiUHl0aG9uIDMuWCA2NC1iaXQgTWFudWFscyIuIFRoZSBkb2N1bWVudGF0aW9uIGlzIGlkZW50aWNhbCBmb3IgYWxsCitwbGF0Zm9ybXMsIGJ1dCB0aGUgc2hvcnRjdXRzIG5lZWQgdG8gYmUgc2VwYXJhdGUgdG8gYXZvaWQgdW5pbnN0YWxsYXRpb24KK2NvbmZsaWN0cy4KKworSW5zdGFsbGluZyBJRExFIGNyZWF0ZXMgYSBzaG9ydGN1dCAiSURMRSAoUHl0aG9uIDMuWCAzMi1iaXQpIiBvciAiSURMRQorKFB5dGhvbiAzLlggNjQtYml0KSIgZGVwZW5kaW5nIG9uIHRoZSBpbnRlcnByZXRlci4KKworCitGb3IgdXNlcnMgd2hvIG9mdGVuIGxhdW5jaCBQeXRob24gZnJvbSBhIENvbW1hbmQgUHJvbXB0LCBhbiBvcHRpb24gaXMKK3Byb3ZpZGVkIHRvIGFkZCB0aGUgZGlyZWN0b3J5IGNvbnRhaW5pbmcgcHl0aG9uLmV4ZSB0byB0aGUgdXNlciBvcgorc3lzdGVtIFBBVEggdmFyaWFibGUuIElmIHRoZSBvcHRpb24gaXMgc2VsZWN0ZWQsIHRoZSBpbnN0YWxsIGRpcmVjdG9yeQorYW5kIHRoZSBTY3JpcHRzIGRpcmVjdG9yeSB3aWxsIGJlIGFkZGVkIGF0IHRoZSBzdGFydCBvZiB0aGUgc3lzdGVtIFBBVEgKK2ZvciBhbiBhbGwgdXNlcnMgaW5zdGFsbCBhbmQgdGhlIHVzZXIgUEFUSCBmb3IgYSBwZXItdXNlciBpbnN0YWxsLgorCitXaGVuIHRoZSB1c2VyIG9ubHkgaGFzIG9uZSB2ZXJzaW9uIG9mIFB5dGhvbiBpbnN0YWxsZWQsIHRoaXMgd2lsbCBiZWhhdmUKK2FzIGV4cGVjdGVkLiBIb3dldmVyLCBiZWNhdXNlIFdpbmRvd3Mgc2VhcmNoZXMgdGhlIHN5c3RlbSBQQVRIIGJlZm9yZQordGhlIHVzZXIgUEFUSCwgdXNlcnMgY2Fubm90IG92ZXJyaWRlIGEgc3lzdGVtLXdpZGUgaW5zdGFsbGF0aW9uIG9mCitQeXRob24gb24gdGhlaXIgUEFUSC4gRnVydGhlciwgYmVjYXVzZSB0aGUgaW5zdGFsbGVyIGNhbiBvbmx5IHByZXBlbmQgdG8KK3RoZSBwYXRoLCBsYXRlciBpbnN0YWxsYXRpb25zIG9mIFB5dGhvbiB3aWxsIHRha2UgcHJlY2VkZW5jZSBvdmVyCitlYXJsaWVyIGluc3RhbGxhdGlvbnMsIHJlZ2FyZGxlc3Mgb2YgaW50ZXJwcmV0ZXIgdmVyc2lvbi4KKworQmVjYXVzZSBpdCBpcyBub3QgcG9zc2libGUgdG8gYXV0b21hdGljYWxseSBjcmVhdGUgYSBzZW5zaWJsZSBQQVRICitjb25maWd1cmF0aW9uLCB1c2VycyBhcmUgcmVjb21tZW5kZWQgdG8gdXNlIHRoZSBweS5leGUgbGF1bmNoZXIgYW5kCittYW51YWxseSBtb2RpZnkgdGhlaXIgUEFUSCB2YXJpYWJsZSB0byBhZGQgU2NyaXB0cyBkaXJlY3RvcmllcyBpbiB0aGVpcgorcHJlZmVycmVkIG9yZGVyLiBTeXN0ZW0td2lkZSBpbnN0YWxsYXRpb25zIG9mIFB5dGhvbiBzaG91bGQgY29uc2lkZXIgbm90Cittb2RpZnlpbmcgUEFUSCwgb3IgdXNpbmcgYW4gYWx0ZXJuYXRpdmUgdGVjaG5vbG9neSB0byBtb2RpZnkgdGhlaXIKK3VzZXJzJyBQQVRIIHZhcmlhYmxlcy4KKworCitUaGUgcHkuZXhlIGxhdW5jaGVyIGlzIHJlY29tbWVuZGVkIGJlY2F1c2UgaXQgdXNlcyBhIGNvbnNpc3RlbnQgYW5kCitzZW5zaWJsZSBzZWFyY2ggb3JkZXIgZm9yIFB5dGhvbiBpbnN0YWxsYXRpb25zLiBVc2VyIGluc3RhbGxhdGlvbnMgYXJlCitwcmVmZXJyZWQgb3ZlciBzeXN0ZW0td2lkZSBpbnN0YWxscywgYW5kIGxhdGVyIHZlcnNpb25zIGFyZSBwcmVmZXJyZWQKK3JlZ2FyZGxlc3Mgb2YgaW5zdGFsbGF0aW9uIG9yZGVyICh3aXRoIHRoZSBleGNlcHRpb24gdGhhdCBweS5leGUKK2N1cnJlbnRseSBwcmVmZXJzIDIueCB2ZXJzaW9ucyBvdmVyIDMueCB2ZXJzaW9ucyB3aXRob3V0IHRoZSAtMyBjb21tYW5kCitsaW5lIGFyZ3VtZW50KS4KKworRm9yIGJvdGggMzItYml0IGFuZCA2NC1iaXQgaW50ZXJwcmV0ZXJzLCB0aGUgMzItYml0IHZlcnNpb24gb2YgdGhlCitsYXVuY2hlciBpcyBpbnN0YWxsZWQuIFRoaXMgZW5zdXJlcyB0aGF0IHRoZSBzZWFyY2ggb3JkZXIgaXMgYWx3YXlzCitjb25zaXN0ZW50IChhcyB0aGUgNjQtYml0IGxhdW5jaGVyIGlzIHN1YnRseSBkaWZmZXJlbnQgZnJvbSB0aGUgMzItYml0CitsYXVuY2hlcikgYW5kIGFsc28gYXZvaWRzIHRoZSBuZWVkIHRvIGluc3RhbGwgaXQgbXVsdGlwbGUgdGltZXMuIEZ1dHVyZQordmVyc2lvbnMgb2YgUHl0aG9uIHdpbGwgdXBncmFkZSB0aGUgbGF1bmNoZXIgaW4tcGxhY2UsIHVzaW5nIFdpbmRvd3MKK0luc3RhbGxlcidzIHVwZ3JhZGUgZnVuY3Rpb25hbGl0eSB0byBhdm9pZCBjb25mbGljdHMgd2l0aCBlYXJsaWVyCitpbnN0YWxsZWQgdmVyc2lvbnMuCisKK1doZW4gaW5zdGFsbGVkLCBmaWxlIGFzc29jaWF0aW9ucyBhcmUgY3JlYXRlZCBmb3IgLnB5LCAucHljIGFuZCAucHlvCitmaWxlcyB0byBsYXVuY2ggd2l0aCBweS5leGUgYW5kIC5weXcgZmlsZXMgdG8gbGF1bmNoIHdpdGggcHl3LmV4ZS4gVGhpcworbWFrZXMgUHl0aG9uIGZpbGVzIHJlc3BlY3Qgc2hlYmFuZyBsaW5lcyBieSBkZWZhdWx0IGFuZCBhbHNvIGF2b2lkcworY29uZmxpY3RzIGJldHdlZW4gbXVsdGlwbGUgUHl0aG9uIGluc3RhbGxhdGlvbnMuCisKKworUmVwYWlyLCBNb2RpZnkgYW5kIFVuaW5zdGFsbAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PQorCitBZnRlciBpbnN0YWxsYXRpb24sIFB5dGhvbiBtYXkgYmUgbW9kaWZpZWQsIHJlcGFpcmVkIG9yIHVuaW5zdGFsbGVkIGJ5CitydW5uaW5nIHRoZSBvcmlnaW5hbCBFWEUgYWdhaW4gb3IgdmlhIHRoZSBQcm9ncmFtcyBhbmQgRmVhdHVyZXMgYXBwbGV0CisoZm9ybWVybHkga25vd24gYXMgQWRkIG9yIFJlbW92ZSBQcm9ncmFtcykuCisKK01vZGlmaWNhdGlvbnMgYWxsb3cgZmVhdHVyZXMgdG8gYmUgYWRkZWQgb3IgcmVtb3ZlZC4gVGhlIGluc3RhbGwKK2RpcmVjdG9yeSBhbmQga2luZCAoYWxsIHVzZXJzL3NpbmdsZSB1c2VyKSBjYW5ub3QgYmUgbW9kaWZpZWQuIEJlY2F1c2UKK1dpbmRvd3MgSW5zdGFsbGVyIGNhY2hlcyBpbnN0YWxsYXRpb24gcGFja2FnZXMsIHJlbW92aW5nIGZlYXR1cmVzIHdpbGwKK25vdCByZXF1aXJlIGludGVybmV0IGFjY2VzcyB1bmxlc3MgdGhlIHBhY2thZ2UgY2FjaGUgaGFzIGJlZW4gY29ycnVwdGVkCitvciBkZWxldGVkLiBBZGRpbmcgZmVhdHVyZXMgdGhhdCB3ZXJlIG5vdCBwcmV2aW91c2x5IGluc3RhbGxlZCBhbmQgYXJlCitub3QgZW1iZWRkZWQgb3Igb3RoZXJ3aXNlIGF2YWlsYWJsZSB3aWxsIHJlcXVpcmUgaW50ZXJuZXQgYWNjZXNzLgorCitSZXBhaXJpbmcgd2lsbCByZXJ1biB0aGUgaW5zdGFsbGF0aW9uIGZvciBhbGwgY3VycmVudGx5IGluc3RhbGxlZAorZmVhdHVyZXMsIHJlc3RvcmluZyBmaWxlcyBhbmQgcmVnaXN0cnkga2V5cyB0aGF0IGhhdmUgYmVlbiBtb2RpZmllZCBvcgorcmVtb3ZlZC4gVGhpcyBvcGVyYXRpb24gZ2VuZXJhbGx5IHdpbGwgbm90IHJlZG93bmxvYWQgYW55IGZpbGVzIHVubGVzcwordGhlIGNhY2hlZCBwYWNrYWdlcyBoYXZlIGJlZW4gY29ycnVwdGVkIG9yIGRlbGV0ZWQuCisKK1JlbW92aW5nIFB5dGhvbiB3aWxsIGNsZWFuIHVwIGFsbCB0aGUgZmlsZXMgYW5kIHJlZ2lzdHJ5IGtleXMgdGhhdCB3ZXJlCitjcmVhdGVkIGJ5IHRoZSBpbnN0YWxsZXIsIGFzIHdlbGwgYXMgX19weWNhY2hlX18gZm9sZGVycyB0aGF0IGFyZQorZXhwbGljaXRseSBoYW5kbGVkIGJ5IHRoZSBpbnN0YWxsZXIuIFB5dGhvbiBwYWNrYWdlcyBpbnN0YWxsZWQgbGF0ZXIKK3VzaW5nIGEgdG9vbCBsaWtlIHBpcCB3aWxsIG5vdCBiZSByZW1vdmVkLiBTb21lIGNvbXBvbmVudHMgbWF5IGJlCitpbnN0YWxsZWQgYnkgb3RoZXIgaW5zdGFsbGVycyAoc3VjaCBhcyB0aGUgTVNWQ1JUKSBhbmQgdGhlc2Ugd2lsbCBub3QgYmUKK3JlbW92ZWQgaWYgYW5vdGhlciBwcm9kdWN0IGhhcyBhIGRlcGVuZGVuY3kgb24gdGhlbS4KIApkaWZmIC0tZ2l0IGEvVG9vbHMvbXNpL2J1aWxkLmJhdCBiL1Rvb2xzL21zaS9idWlsZC5iYXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWZlZTY2YgotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL21zaS9idWlsZC5iYXQKQEAgLTAsMCArMSw0NiBAQAorQGVjaG8gb2ZmCitzZXRsb2NhbAorc2V0IEQ9JX5kcDAKK3NldCBQQ0JVSUxEPSVEJS4uXC4uXFBDQnVpbGRcCisKK3NldCBCVUlMRFg4Nj0KK3NldCBCVUlMRFg2ND0KK3NldCBCVUlMRERPQz0KKworOkNoZWNrT3B0cworaWYgJyUxJz09Jy14ODYnIChzZXQgQlVJTERYODY9MSkgJiYgc2hpZnQgJiYgZ290byBDaGVja09wdHMKK2lmICclMSc9PScteDY0JyAoc2V0IEJVSUxEWDY0PTEpICYmIHNoaWZ0ICYmIGdvdG8gQ2hlY2tPcHRzCitpZiAnJTEnPT0nLS1kb2MnIChzZXQgQlVJTERET0M9MSkgJiYgc2hpZnQgJiYgZ290byBDaGVja09wdHMKKworaWYgbm90IGRlZmluZWQgQlVJTERYODYgaWYgbm90IGRlZmluZWQgQlVJTERYNjQgKHNldCBCVUlMRFg4Nj0xKSAmJiAoc2V0IEJVSUxEWDY0PTEpCisKK2NhbGwgIiVQQ0JVSUxEJWVudi5iYXQiIHg4NgorCitpZiBkZWZpbmVkIEJVSUxEWDg2ICgKKyAgICBjYWxsICIlUENCVUlMRCVidWlsZC5iYXQiIC1kCisgICAgaWYgZXJyb3JsZXZlbCAxIGdvdG8gOmVvZgorICAgIGNhbGwgIiVQQ0JVSUxEJWJ1aWxkLmJhdCIKKyAgICBpZiBlcnJvcmxldmVsIDEgZ290byA6ZW9mCispCitpZiBkZWZpbmVkIEJVSUxEWDY0ICgKKyAgICBjYWxsICIlUENCVUlMRCVidWlsZC5iYXQiIC1wIHg2NCAtZAorICAgIGlmIGVycm9ybGV2ZWwgMSBnb3RvIDplb2YKKyAgICBjYWxsICIlUENCVUlMRCVidWlsZC5iYXQiIC1wIHg2NAorICAgIGlmIGVycm9ybGV2ZWwgMSBnb3RvIDplb2YKKykKKworaWYgZGVmaW5lZCBCVUlMRERPQyAoCisgICAgY2FsbCAiJVBDQlVJTEQlLi5cRG9jXG1ha2UuYmF0IiBodG1saGVscAorICAgIGlmIGVycm9ybGV2ZWwgMSBnb3RvIDplb2YKKykKKworaWYgZGVmaW5lZCBCVUlMRFg4NiAoCisgICAgIiVQQ0JVSUxEJXdpbjMyXHB5dGhvbi5leGUiICIlRCVnZXRfd2l4LnB5IgorICAgIG1zYnVpbGQgIiVEJWJ1bmRsZVxzbmFwc2hvdC53aXhwcm9qIgorICAgIGlmIGVycm9ybGV2ZWwgMSBnb3RvIDplb2YKKykKK2lmIGRlZmluZWQgQlVJTERYNjQgKAorICAgICIlUENCVUlMRCVhbWQ2NFxweXRob24uZXhlIiAiJUQlZ2V0X3dpeC5weSIKKyAgICBtc2J1aWxkICIlRCVidW5kbGVcc25hcHNob3Qud2l4cHJvaiIgL3A6UGxhdGZvcm09eDY0CisgICAgaWYgZXJyb3JsZXZlbCAxIGdvdG8gOmVvZgorKQpkaWZmIC0tZ2l0IGEvVG9vbHMvbXNpL2J1aWxkcmVsZWFzZS5iYXQgYi9Ub29scy9tc2kvYnVpbGRyZWxlYXNlLmJhdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZjJhOTRhCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvbXNpL2J1aWxkcmVsZWFzZS5iYXQKQEAgLTAsMCArMSwxNjMgQEAKK0BzZXRsb2NhbAorQGVjaG8gb2ZmCisKK3JlbSBUaGlzIHNjcmlwdCBpcyBpbnRlbmRlZCBmb3IgYnVpbGRpbmcgb2ZmaWNpYWwgcmVsZWFzZXMgb2YgUHl0aG9uLgorcmVtIFRvIHVzZSBpdCB0byBidWlsZCBhbHRlcm5hdGl2ZSByZWxlYXNlcywgeW91IHNob3VsZCBjbG9uZSB0aGlzIGZpbGUKK3JlbSBhbmQgbW9kaWZ5IHRoZSBmb2xsb3dpbmcgdGhyZWUgVVJJcy4KK3JlbQorcmVtIFRoZSBmaXJzdCB0d28gd2lsbCBlbnN1cmUgdGhhdCB5b3VyIHJlbGVhc2UgY2FuIGJlIGluc3RhbGxlZAorcmVtIGFsb25nc2lkZSBhbiBvZmZpY2lhbCBQeXRob24gcmVsZWFzZSwgd2hpbGUgdGhlIHNlY29uZCBzcGVjaWZpZXMKK3JlbSB0aGUgVVJMIHRoYXQgd2lsbCBiZSB1c2VkIHRvIGRvd25sb2FkIGluc3RhbGxhdGlvbiBmaWxlcy4gVGhlCityZW0gZmlsZXMgYXZhaWxhYmxlIGZyb20gdGhpcyBVUkwgKndpbGwqIGNvbmZsaWN0IHdpdGggeW91ciBpbnN0YWxsZXIuCityZW0gVHJ1c3QgbWUsIHlvdSBkb24ndCB3YW50IHRoZW0sIGV2ZW4gaWYgaXQgc2VlbXMgbGlrZSBhIGdvb2QgaWRlYS4KKworc2V0IFJFTEVBU0VfVVJJX1g4Nj1odHRwOi8vd3d3LnB5dGhvbi5vcmcvd2luMzIKK3NldCBSRUxFQVNFX1VSSV9YNjQ9aHR0cDovL3d3dy5weXRob24ub3JnL2FtZDY0CitzZXQgRE9XTkxPQURfVVJMX0JBU0U9aHR0cHM6Ly93d3cucHl0aG9uLm9yZy9mdHAvcHl0aG9uCitzZXQgRE9XTkxPQURfVVJMPQorCitzZXQgRD0lfmRwMAorc2V0IFBDQlVJTEQ9JUQlLi5cLi5cUENCdWlsZFwKKworc2V0IEJVSUxEWDg2PQorc2V0IEJVSUxEWDY0PQorc2V0IFRBUkdFVD1SZWJ1aWxkCitzZXQgVEVTVFRBUkdFVERJUj0KKworCis6Q2hlY2tPcHRzCitpZiAiJTEiIEVRVSAiLWgiIGdvdG8gSGVscAoraWYgIiUxIiBFUVUgIi1jIiAoc2V0IENFUlROQU1FPSV+MikgJiYgc2hpZnQgJiYgc2hpZnQgJiYgZ290byBDaGVja09wdHMKK2lmICIlMSIgRVFVICItLWNlcnRpZmljYXRlIiAoc2V0IENFUlROQU1FPSV+MikgJiYgc2hpZnQgJiYgc2hpZnQgJiYgZ290byBDaGVja09wdHMKK2lmICIlMSIgRVFVICItbyIgKHNldCBPVVRESVI9JX4yKSAmJiBzaGlmdCAmJiBzaGlmdCAmJiBnb3RvIENoZWNrT3B0cworaWYgIiUxIiBFUVUgIi0tb3V0IiAoc2V0IE9VVERJUj0lfjIpICYmIHNoaWZ0ICYmIHNoaWZ0ICYmIGdvdG8gQ2hlY2tPcHRzCitpZiAiJTEiIEVRVSAiLUQiIChzZXQgU0tJUERPQz0xKSAmJiBzaGlmdCAmJiBnb3RvIENoZWNrT3B0cworaWYgIiUxIiBFUVUgIi0tc2tpcC1kb2MiIChzZXQgU0tJUERPQz0xKSAmJiBzaGlmdCAmJiBnb3RvIENoZWNrT3B0cworaWYgIiUxIiBFUVUgIi1CIiAoc2V0IFNLSVBCVUlMRD0xKSAmJiBzaGlmdCAmJiBnb3RvIENoZWNrT3B0cworaWYgIiUxIiBFUVUgIi0tc2tpcC1idWlsZCIgKHNldCBTS0lQQlVJTEQ9MSkgJiYgc2hpZnQgJiYgZ290byBDaGVja09wdHMKK2lmICIlMSIgRVFVICItLWRvd25sb2FkIiAoc2V0IERPV05MT0FEX1VSTD0lfjIpICYmIHNoaWZ0ICYmIHNoaWZ0ICYmIGdvdG8gQ2hlY2tPcHRzCitpZiAiJTEiIEVRVSAiLS10ZXN0IiAoc2V0IFRFU1RUQVJHRVRESVI9JX4yKSAmJiBzaGlmdCAmJiBzaGlmdCAmJiBnb3RvIENoZWNrT3B0cworaWYgIiUxIiBFUVUgIi1iIiAoc2V0IFRBUkdFVD1CdWlsZCkgJiYgc2hpZnQgJiYgZ290byBDaGVja09wdHMKK2lmICIlMSIgRVFVICItLWJ1aWxkIiAoc2V0IFRBUkdFVD1CdWlsZCkgJiYgc2hpZnQgJiYgZ290byBDaGVja09wdHMKK2lmICIlMSIgRVFVICIteDg2IiAoc2V0IEJVSUxEWDg2PTEpICYmIHNoaWZ0ICYmIGdvdG8gQ2hlY2tPcHRzCitpZiAiJTEiIEVRVSAiLXg2NCIgKHNldCBCVUlMRFg2ND0xKSAmJiBzaGlmdCAmJiBnb3RvIENoZWNrT3B0cworCitpZiBub3QgZGVmaW5lZCBCVUlMRFg4NiBpZiBub3QgZGVmaW5lZCBCVUlMRFg2NCAoc2V0IEJVSUxEWDg2PTEpICYmIChzZXQgQlVJTERYNjQ9MSkKKworOmJ1aWxkZG9jCitpZiAiJVNLSVBCVUlMRCUiIEVRVSAiMSIgZ290byBza2lwZG9jCitpZiAiJVNLSVBET0MlIiBFUVUgIjEiIGdvdG8gc2tpcGRvYworCitpZiBub3QgZGVmaW5lZCBQWVRIT04gd2hlcmUgcHkgLXEgfHwgZWNobyBDYW5ub3QgZmluZCBweSBvbiBwYXRoIGFuZCBQWVRIT04gaXMgbm90IHNldC4gJiYgZXhpdCAvQiAxCitpZiBub3QgZGVmaW5lZCBTUEhJTlhCVUlMRCB3aGVyZSBzcGhpbngtYnVpbGQgLXEgfHwgZWNobyBDYW5ub3QgZmluZCBzcGhpbngtYnVpbGQgb24gcGF0aCBhbmQgU1BISU5YQlVJTEQgaXMgbm90IHNldC4gJiYgZXhpdCAvQiAxCitjYWxsICIlRCUuLlwuLlxkb2NcbWFrZS5iYXQiIGh0bWxoZWxwCitpZiBlcnJvcmxldmVsIDEgZ290byA6ZW9mCis6c2tpcGRvYworCit3aGVyZSBoZyAvcSB8fCBlY2hvIENhbm5vdCBmaW5kIE1lcmN1cmlhbCBvbiBQQVRIICYmIGV4aXQgL0IgMQorCit3aGVyZSBkbGx0b29sIC9xICYmIGdvdG8gc2tpcGRsbHRvb2xzZWFyY2gKK3NldCBfRExMVE9PTF9QQVRIPQord2hlcmUgL1IgIiVEJS4uXC4uXGV4dGVybmFscyIgZGxsdG9vbCA+ICIlVEVNUCVcZGxsdG9vbC5sb2MiIDI+IG51bCAmJiBzZXQgL1AgX0RMTFRPT0xfUEFUSD0gPCAiJVRFTVAlXGRsbHRvb2wubG9jIiAmIGRlbCAiJVRFTVAlXGRsbHRvb2wubG9jIiAKK2lmIG5vdCBleGlzdCAiJV9ETExUT09MX1BBVEglIiBlY2hvIENhbm5vdCBmaW5kIGJpbnV0aWxzIG9uIFBBVEggb3IgaW4gZXh0ZXJuYWwgJiYgZXhpdCAvQiAxCitmb3IgJSVmIGluICglX0RMTFRPT0xfUEFUSCUpIGRvIHNldCBQQVRIPSVQQVRIJTslJX5kcGYKK3NldCBfRExMVE9PTF9QQVRIPQorOnNraXBkbGx0b29sc2VhcmNoCisKK2lmIGRlZmluZWQgQlVJTERYODYgKAorICAgIGNhbGwgOmJ1aWxkIHg4NgorICAgIGlmIGVycm9ybGV2ZWwgMSBleGl0IC9CCispCisKK2lmIGRlZmluZWQgQlVJTERYNjQgKAorICAgIGNhbGwgOmJ1aWxkIHg2NAorICAgIGlmIGVycm9ybGV2ZWwgMSBleGl0IC9CCispCisKK2lmIGRlZmluZWQgVEVTVFRBUkdFVERJUiAoCisgICAgY2FsbCAiJUQldGVzdHJlbGVhc2UuYmF0IiAtdCAiJVRFU1RUQVJHRVRESVIlIgorKQorCitleGl0IC9CIDAKKworOmJ1aWxkCitAc2V0bG9jYWwKK0BlY2hvIG9mZgorCitpZiAiJTEiIEVRVSAieDg2IiAoCisgICAgY2FsbCAiJVBDQlVJTEQlZW52LmJhdCIgeDg2CisgICAgc2V0IEJVSUxEPSVQQ0JVSUxEJXdpbjMyXAorICAgIHNldCBCVUlMRF9QTEFUPVdpbjMyCisgICAgc2V0IE9VVERJUl9QTEFUPXdpbjMyCisgICAgc2V0IE9CSkRJUl9QTEFUPXg4NgorICAgIHNldCBSRUxFQVNFX1VSST0lUkVMRUFTRV9VUklfWDg2JQorKSBFTFNFICgKKyAgICBjYWxsICIlUENCVUlMRCVlbnYuYmF0IiB4ODZfYW1kNjQKKyAgICBzZXQgQlVJTEQ9JVBDQlVJTEQlYW1kNjRcCisgICAgc2V0IEJVSUxEX1BMQVQ9eDY0CisgICAgc2V0IE9VVERJUl9QTEFUPWFtZDY0CisgICAgc2V0IE9CSkRJUl9QTEFUPXg2NAorICAgIHNldCBSRUxFQVNFX1VSST0lUkVMRUFTRV9VUklfWDY0JQorKQorCitpZiBleGlzdCAiJUJVSUxEJWVuLXVzIiAoCisgICAgZWNobyBEZWxldGluZyAlQlVJTEQlZW4tdXMKKyAgICBybWRpciAvcS9zICIlQlVJTEQlZW4tdXMiCisgICAgaWYgZXJyb3JsZXZlbCAxIGV4aXQgL0IKKykKKworaWYgZXhpc3QgIiVEJW9ialxSZWxlYXNlXyVPQkpESVJfUExBVCUiICgKKyAgICBlY2hvIERlbGV0aW5nICIlRCVvYmpcUmVsZWFzZV8lT0JKRElSX1BMQVQlIgorICAgIHJtZGlyIC9xL3MgIiVEJW9ialxSZWxlYXNlXyVPQkpESVJfUExBVCUiCisgICAgaWYgZXJyb3JsZXZlbCAxIGV4aXQgL0IKKykKKworaWYgbm90ICIlQ0VSVE5BTUUlIiBFUVUgIiIgKAorICAgIHNldCBDRVJUT1BUUz0iL3A6U2lnbmluZ0NlcnRpZmljYXRlPSVDRVJUTkFNRSUiCispIGVsc2UgKAorICAgIHNldCBDRVJUT1BUUz0KKykKKworaWYgbm90ICIlU0tJUEJVSUxEJSIgRVFVICIxIiAoCisgICAgY2FsbCAiJVBDQlVJTEQlYnVpbGQuYmF0IiAtZSAtcCAlQlVJTERfUExBVCUgLWQgLXQgJVRBUkdFVCUgJUNFUlRPUFRTJQorICAgIGlmIGVycm9ybGV2ZWwgMSBleGl0IC9CCisgICAgY2FsbCAiJVBDQlVJTEQlYnVpbGQuYmF0IiAtcCAlQlVJTERfUExBVCUgLXQgJVRBUkdFVCUgJUNFUlRPUFRTJQorICAgIGlmIGVycm9ybGV2ZWwgMSBleGl0IC9CCisgICAgQHJlbSBidWlsZC5iYXQgdHVybnMgZWNobyBiYWNrIG9uLCBzbyB3ZSBkaXNhYmxlIGl0IGFnYWluCisgICAgQGVjaG8gb2ZmCispCisKKyIlQlVJTEQlcHl0aG9uLmV4ZSIgIiVEJWdldF93aXgucHkiCisKK3NldCBCVUlMRE9QVFM9L3A6UGxhdGZvcm09JTEgL3A6QnVpbGRGb3JSZWxlYXNlPXRydWUgL3A6RG93bmxvYWRVcmw9JURPV05MT0FEX1VSTCUgL3A6RG93bmxvYWRVcmxCYXNlPSVET1dOTE9BRF9VUkxfQkFTRSUgL3A6UmVsZWFzZVVyaT0lUkVMRUFTRV9VUkklCittc2J1aWxkICIlRCVidW5kbGVccmVsZWFzZWxvY2FsLndpeHByb2oiIC90OlJlYnVpbGQgJUJVSUxET1BUUyUgJUNFUlRPUFRTJSAvcDpSZWJ1aWxkQWxsPXRydWUKK2lmIGVycm9ybGV2ZWwgMSBleGl0IC9CCittc2J1aWxkICIlRCVidW5kbGVccmVsZWFzZXdlYi53aXhwcm9qIiAvdDpSZWJ1aWxkICVCVUlMRE9QVFMlICVDRVJUT1BUUyUgL3A6UmVidWlsZEFsbD1mYWxzZQoraWYgZXJyb3JsZXZlbCAxIGV4aXQgL0IKKworaWYgbm90ICIlT1VURElSJSIgRVFVICIiICgKKyAgICBta2RpciAiJU9VVERJUiVcJU9VVERJUl9QTEFUJSIKKyAgICBjb3B5IC9ZICIlQlVJTEQlZW4tdXNcKi5jYWIiICIlT1VURElSJVwlT1VURElSX1BMQVQlIgorICAgIGNvcHkgL1kgIiVCVUlMRCVlbi11c1wqLmV4ZSIgIiVPVVRESVIlXCVPVVRESVJfUExBVCUiCisgICAgY29weSAvWSAiJUJVSUxEJWVuLXVzXCoubXNpIiAiJU9VVERJUiVcJU9VVERJUl9QTEFUJSIKKykKKworZXhpdCAvQiAwCisKKzpIZWxwCitlY2hvIGJ1aWxkcmVsZWFzZS5iYXQgWy0tb3V0IERJUl0gWy14ODZdIFsteDY0XSBbLS1jZXJ0aWZpY2F0ZSBDRVJUTkFNRV0gWy0tYnVpbGRdIFstLXNraXAtYnVpbGRdCitlY2hvICAgICAgICAgICAgICAgICAgWy0tc2tpcC1kb2NdIFstLWRvd25sb2FkIERPV05MT0FEIFVSTF0gWy0tdGVzdCBUQVJHRVRESVJdIFstaF0KK2VjaG8uCitlY2hvICAgIC0tb3V0ICgtbykgICAgICAgICAgU3BlY2lmeSBhbiBhZGRpdGlvbmFsIG91dHB1dCBkaXJlY3RvcnkgZm9yIGluc3RhbGxlcnMKK2VjaG8gICAgLXg4NiAgICAgICAgICAgICAgICBCdWlsZCB4ODYgaW5zdGFsbGVycworZWNobyAgICAteDY0ICAgICAgICAgICAgICAgIEJ1aWxkIHg2NCBpbnN0YWxsZXJzCitlY2hvICAgIC0tYnVpbGQgKC1iKSAgICAgICAgSW5jcmVtZW50YWxseSBidWlsZCBQeXRob24gcmF0aGVyIHRoYW4gcmVidWlsZGluZworZWNobyAgICAtLXNraXAtYnVpbGQgKC1CKSAgIERvIG5vdCBidWlsZCBQeXRob24gKGp1c3QgZG8gdGhlIGluc3RhbGxlcnMpCitlY2hvICAgIC0tc2tpcC1kb2MgKC1EKSAgICAgRG8gbm90IGJ1aWxkIGRvY3VtZW50YXRpb24KK2VjaG8gICAgLS1kb3dubG9hZCAgICAgICAgICBTcGVjaWZ5IHRoZSBmdWxsIGRvd25sb2FkIFVSTCBmb3IgTVNJcyAoc2hvdWxkIGluY2x1ZGUgezJ9KQorZWNobyAgICAtLXRlc3QgICAgICAgICAgICAgIFNwZWNpZnkgdGhlIHRlc3QgZGlyZWN0b3J5IHRvIHJ1biB0aGUgaW5zdGFsbGVyIHRlc3RzCitlY2hvICAgIC1oICAgICAgICAgICAgICAgICAgRGlzcGxheSB0aGlzIGhlbHAgaW5mb3JtYXRpb24KK2VjaG8uCitlY2hvIElmIG5vIGFyY2hpdGVjdHVyZSBpcyBzcGVjaWZpZWQsIGFsbCBhcmNoaXRlY3R1cmVzIHdpbGwgYmUgYnVpbHQuCitlY2hvIElmIC0tdGVzdCBpcyBub3Qgc3BlY2lmaWVkLCB0aGUgaW5zdGFsbGVyIHRlc3RzIGFyZSBub3QgcnVuLgorZWNoby4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9Ub29scy9tc2kvYnVuZGxlL0RlZmF1bHQudGhtIGIvVG9vbHMvbXNpL2J1bmRsZS9EZWZhdWx0LnRobQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZDc1MjNhCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvbXNpL2J1bmRsZS9EZWZhdWx0LnRobQpAQCAtMCwwICsxLDEyMyBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KKzxUaGVtZSB4bWxucz0iaHR0cDovL3dpeHRvb2xzZXQub3JnL3NjaGVtYXMvdGhtdXRpbC8yMDEwIj4KKyAgICA8V2luZG93IFdpZHRoPSI2NDAiIEhlaWdodD0iMzgyIiBIZXhTdHlsZT0iMTAwYTAwMDAiIEZvbnRJZD0iMCI+Iyhsb2MuQ2FwdGlvbik8L1dpbmRvdz4KKyAgICA8Rm9udCBJZD0iMCIgSGVpZ2h0PSItMTIiIFdlaWdodD0iNTAwIiBGb3JlZ3JvdW5kPSIwMDAwMDAiIEJhY2tncm91bmQ9ImZmZmZmZiI+U2Vnb2UgVUk8L0ZvbnQ+CisgICAgPEZvbnQgSWQ9IjEiIEhlaWdodD0iLTI0IiBXZWlnaHQ9IjUwMCIgRm9yZWdyb3VuZD0iMDAwMDAwIiBCYWNrZ3JvdW5kPSJmZmZmZmYiPlNlZ29lIFVJPC9Gb250PgorICAgIDxGb250IElkPSIyIiBIZWlnaHQ9Ii0yMiIgV2VpZ2h0PSI1MDAiIEZvcmVncm91bmQ9IjY2NjY2NiIgQmFja2dyb3VuZD0iZmZmZmZmIj5TZWdvZSBVSTwvRm9udD4KKyAgICA8Rm9udCBJZD0iMyIgSGVpZ2h0PSItMTIiIFdlaWdodD0iNTAwIiBGb3JlZ3JvdW5kPSIwMDAwMDAiIEJhY2tncm91bmQ9ImZmZmZmZiI+U2Vnb2UgVUk8L0ZvbnQ+CisgICAgPEZvbnQgSWQ9IjQiIEhlaWdodD0iLTEyIiBXZWlnaHQ9IjUwMCIgRm9yZWdyb3VuZD0iZmYwMDAwIiBCYWNrZ3JvdW5kPSJmZmZmZmYiIFVuZGVybGluZT0ieWVzIj5TZWdvZSBVSTwvRm9udD4KKyAgICA8Rm9udCBJZD0iNSIgSGVpZ2h0PSItMTIiIFdlaWdodD0iNTAwIiBGb3JlZ3JvdW5kPSI2NjY2NjYiIEJhY2tncm91bmQ9ImZmZmZmZiI+U2Vnb2UgVUk8L0ZvbnQ+CisKKyAgICA8UGFnZSBOYW1lPSJIZWxwIj4KKyAgICAgICAgPFRleHQgWD0iMTg1IiBZPSIxMSIgV2lkdGg9Ii0xMSIgSGVpZ2h0PSIzMiIgRm9udElkPSIxIiBEaXNhYmxlUHJlZml4PSJ5ZXMiPiMobG9jLkhlbHBIZWFkZXIpPC9UZXh0PgorICAgICAgICA8SW1hZ2UgWD0iMCIgWT0iMCIgV2lkdGg9IjE2MiIgSGVpZ2h0PSIzNTIiIEltYWdlRmlsZT0iU2lkZUJhci5wbmciLz4KKworICAgICAgICA8VGV4dCBYPSIxODUiIFk9IjUwIiBXaWR0aD0iLTExIiBIZWlnaHQ9Ii0zNSIgRm9udElkPSIzIiBEaXNhYmxlUHJlZml4PSJ5ZXMiPiMobG9jLkhlbHBUZXh0KTwvVGV4dD4KKyAgICAgICAgPEJ1dHRvbiBOYW1lPSJTdWNjZXNzQ2FuY2VsQnV0dG9uIiBYPSItMTEiIFk9Ii0xMSIgV2lkdGg9Ijc1IiBIZWlnaHQ9IjIzIiBUYWJTdG9wPSJ5ZXMiIEZvbnRJZD0iMCI+Iyhsb2MuQ2xvc2VCdXR0b24pPC9CdXR0b24+CisgICAgPC9QYWdlPgorICAgIDxQYWdlIE5hbWU9Ikluc3RhbGwiPgorICAgICAgICA8VGV4dCBYPSIxODUiIFk9IjExIiBXaWR0aD0iLTExIiBIZWlnaHQ9IjMyIiBGb250SWQ9IjEiIERpc2FibGVQcmVmaXg9InllcyI+Iyhsb2MuSW5zdGFsbEhlYWRlcik8L1RleHQ+CisgICAgICAgIDxJbWFnZSBYPSIwIiBZPSIwIiBXaWR0aD0iMTYyIiBIZWlnaHQ9IjM1MiIgSW1hZ2VGaWxlPSJTaWRlQmFyLnBuZyIvPgorCisgICAgICAgIDxUZXh0IFg9IjE4NSIgWT0iNTAiIFdpZHRoPSItMTEiIEhlaWdodD0iNTAiIEZvbnRJZD0iMyIgVGFiU3RvcD0ieWVzIj4jKGxvYy5JbnN0YWxsTWVzc2FnZSk8L1RleHQ+CisKKyAgICAgICAgPEJ1dHRvbiBOYW1lPSJJbnN0YWxsQWxsVXNlcnNCdXR0b24iIFg9IjE3NSIgWT0iMTAxIiBXaWR0aD0iLTExIiBIZWlnaHQ9IjU5IiBUYWJTdG9wPSJ5ZXMiIEZvbnRJZD0iMyIgSGV4U3R5bGU9IjB4RiI+Iyhsb2MuSW5zdGFsbEFsbFVzZXJzQnV0dG9uKTwvQnV0dG9uPgorICAgICAgICA8QnV0dG9uIE5hbWU9Ikluc3RhbGxKdXN0Rm9yTWVCdXR0b24iIFg9IjE3NSIgWT0iMTcxIiBXaWR0aD0iLTExIiBIZWlnaHQ9IjU5IiBUYWJTdG9wPSJ5ZXMiIEZvbnRJZD0iMyIgSGV4U3R5bGU9IjB4RSI+Iyhsb2MuSW5zdGFsbEp1c3RGb3JNZUJ1dHRvbik8L0J1dHRvbj4KKyAgICAgICAgPEJ1dHRvbiBOYW1lPSJJbnN0YWxsQ3VzdG9tQnV0dG9uIiBYPSIxNzUiIFk9IjI0MSIgV2lkdGg9Ii0xMSIgSGVpZ2h0PSI1OSIgVGFiU3RvcD0ieWVzIiBGb250SWQ9IjMiIEhleFN0eWxlPSIweEUiPiMobG9jLkluc3RhbGxDdXN0b21CdXR0b24pPC9CdXR0b24+CisKKyAgICAgICAgPENoZWNrYm94IE5hbWU9IlByZXBlbmRQYXRoIiBYPSIxODUiIFk9Ii0xMyIgV2lkdGg9Ii0xMDAiIEhlaWdodD0iMjAiIFRhYlN0b3A9InllcyIgRm9udElkPSIzIj4jKGxvYy5TaG9ydFByZXBlbmRQYXRoTGFiZWwpPC9DaGVja2JveD4KKworICAgICAgICA8QnV0dG9uIE5hbWU9Ikluc3RhbGxDYW5jZWxCdXR0b24iIFg9Ii0xMSIgWT0iLTExIiBXaWR0aD0iNzUiIEhlaWdodD0iMjMiIFRhYlN0b3A9InllcyIgRm9udElkPSIwIj4jKGxvYy5DYW5jZWxCdXR0b24pPC9CdXR0b24+CisgICAgPC9QYWdlPgorICAgIDxQYWdlIE5hbWU9IlNpbXBsZUluc3RhbGwiPgorICAgICAgICA8VGV4dCBYPSIxODUiIFk9IjExIiBXaWR0aD0iLTExIiBIZWlnaHQ9IjMyIiBGb250SWQ9IjEiIERpc2FibGVQcmVmaXg9InllcyI+Iyhsb2MuSW5zdGFsbEhlYWRlcik8L1RleHQ+CisgICAgICAgIDxJbWFnZSBYPSIwIiBZPSIwIiBXaWR0aD0iMTYyIiBIZWlnaHQ9IjM1MiIgSW1hZ2VGaWxlPSJTaWRlQmFyLnBuZyIvPgorCisgICAgICAgIDxCdXR0b24gTmFtZT0iSW5zdGFsbFNpbXBsZUJ1dHRvbiIgWD0iMTc1IiBZPSIxMDEiIFdpZHRoPSItMTEiIEhlaWdodD0iNTkiIFRhYlN0b3A9InllcyIgRm9udElkPSIzIiBIaWRlV2hlbkRpc2FibGVkPSJ5ZXMiIEhleFN0eWxlPSIweEYiPiMobG9jLkluc3RhbGxTaW1wbGVCdXR0b24pPC9CdXR0b24+CisKKyAgICAgICAgPEJ1dHRvbiBOYW1lPSJJbnN0YWxsQ2FuY2VsQnV0dG9uIiBYPSItMTEiIFk9Ii0xMSIgV2lkdGg9Ijc1IiBIZWlnaHQ9IjIzIiBUYWJTdG9wPSJ5ZXMiIEZvbnRJZD0iMCI+Iyhsb2MuQ2FuY2VsQnV0dG9uKTwvQnV0dG9uPgorICAgIDwvUGFnZT4KKyAgICA8UGFnZSBOYW1lPSJDdXN0b20xIj4KKyAgICAgICAgPFRleHQgWD0iMTg1IiBZPSIxMSIgV2lkdGg9Ii0xMSIgSGVpZ2h0PSIzMiIgRm9udElkPSIxIiBEaXNhYmxlUHJlZml4PSJ5ZXMiPiMobG9jLkN1c3RvbTFIZWFkZXIpPC9UZXh0PgorICAgICAgICA8SW1hZ2UgWD0iMCIgWT0iMCIgV2lkdGg9IjE2MiIgSGVpZ2h0PSIzNTIiIEltYWdlRmlsZT0iU2lkZUJhci5wbmciLz4KKyAgICAgICAgCisgICAgICAgIDxDaGVja2JveCBOYW1lPSJJbmNsdWRlX2RvYyIgWD0iMTg1IiBZPSI1MSIgV2lkdGg9Ii0xMSIgSGVpZ2h0PSIyMCIgVGFiU3RvcD0ieWVzIiBGb250SWQ9IjMiIEhpZGVXaGVuRGlzYWJsZWQ9InllcyI+Iyhsb2MuSW5jbHVkZV9kb2NMYWJlbCk8L0NoZWNrYm94PgorICAgICAgICA8VGV4dCBYPSIyMDUiIFk9IjcxIiBXaWR0aD0iLTExIiBIZWlnaHQ9IjIwIiBUYWJTdG9wPSJubyIgRm9udElkPSI1Ij4jKGxvYy5JbmNsdWRlX2RvY0hlbHBMYWJlbCk8L1RleHQ+CisgICAgICAgIAorICAgICAgICA8Q2hlY2tib3ggTmFtZT0iSW5jbHVkZV9waXAiIFg9IjE4NSIgWT0iOTYiIFdpZHRoPSItMTEiIEhlaWdodD0iMjAiIFRhYlN0b3A9InllcyIgRm9udElkPSIzIiBIaWRlV2hlbkRpc2FibGVkPSJ5ZXMiPiMobG9jLkluY2x1ZGVfcGlwTGFiZWwpPC9DaGVja2JveD4KKyAgICAgICAgPFRleHQgWD0iMjA1IiBZPSIxMTYiIFdpZHRoPSItMTEiIEhlaWdodD0iMjAiIFRhYlN0b3A9Im5vIiBGb250SWQ9IjUiPiMobG9jLkluY2x1ZGVfcGlwSGVscExhYmVsKTwvVGV4dD4KKyAgICAgICAgCisgICAgICAgIDxDaGVja2JveCBOYW1lPSJJbmNsdWRlX3RjbHRrIiBYPSIxODUiIFk9IjE0MSIgV2lkdGg9Ii0xMSIgSGVpZ2h0PSIyMCIgVGFiU3RvcD0ieWVzIiBGb250SWQ9IjMiIEhpZGVXaGVuRGlzYWJsZWQ9InllcyI+Iyhsb2MuSW5jbHVkZV90Y2x0a0xhYmVsKTwvQ2hlY2tib3g+CisgICAgICAgIDxUZXh0IFg9IjIwNSIgWT0iMTYxIiBXaWR0aD0iLTExIiBIZWlnaHQ9IjIwIiBUYWJTdG9wPSJubyIgRm9udElkPSI1Ij4jKGxvYy5JbmNsdWRlX3RjbHRrSGVscExhYmVsKTwvVGV4dD4KKyAgICAgICAgCisgICAgICAgIDxDaGVja2JveCBOYW1lPSJJbmNsdWRlX3Rlc3QiIFg9IjE4NSIgWT0iMTg2IiBXaWR0aD0iLTExIiBIZWlnaHQ9IjIwIiBUYWJTdG9wPSJ5ZXMiIEZvbnRJZD0iMyIgSGlkZVdoZW5EaXNhYmxlZD0ieWVzIj4jKGxvYy5JbmNsdWRlX3Rlc3RMYWJlbCk8L0NoZWNrYm94PgorICAgICAgICA8VGV4dCBYPSIyMDUiIFk9IjIwNiIgV2lkdGg9Ii0xMSIgSGVpZ2h0PSIyMCIgVGFiU3RvcD0ibm8iIEZvbnRJZD0iNSI+Iyhsb2MuSW5jbHVkZV90ZXN0SGVscExhYmVsKTwvVGV4dD4KKworICAgICAgICA8Q2hlY2tib3ggTmFtZT0iSW5jbHVkZV9sYXVuY2hlciIgWD0iMTg1IiBZPSIyMzEiIFdpZHRoPSItMTEiIEhlaWdodD0iMjAiIFRhYlN0b3A9InllcyIgRm9udElkPSIzIiBIaWRlV2hlbkRpc2FibGVkPSJ5ZXMiPiMobG9jLkluY2x1ZGVfbGF1bmNoZXJMYWJlbCk8L0NoZWNrYm94PgorICAgICAgICA8VGV4dCBYPSIyMDUiIFk9IjI1MSIgV2lkdGg9Ii0xMSIgSGVpZ2h0PSIyMCIgVGFiU3RvcD0ibm8iIEZvbnRJZD0iNSI+Iyhsb2MuSW5jbHVkZV9sYXVuY2hlckhlbHBMYWJlbCk8L1RleHQ+CisKKyAgICAgICAgPEJ1dHRvbiBOYW1lPSJDdXN0b20xQmFja0J1dHRvbiIgWD0iMTg1IiBZPSItMTEiIFdpZHRoPSI3NSIgSGVpZ2h0PSIyMyIgVGFiU3RvcD0ieWVzIiBGb250SWQ9IjAiPiMobG9jLkN1c3RvbUJhY2tCdXR0b24pPC9CdXR0b24+CisgICAgICAgIDxCdXR0b24gTmFtZT0iQ3VzdG9tTmV4dEJ1dHRvbiIgWD0iLTkxIiBZPSItMTEiIFdpZHRoPSI3NSIgSGVpZ2h0PSIyMyIgVGFiU3RvcD0ieWVzIiBGb250SWQ9IjAiPiMobG9jLkN1c3RvbU5leHRCdXR0b24pPC9CdXR0b24+CisgICAgICAgIDxCdXR0b24gTmFtZT0iQ3VzdG9tMUNhbmNlbEJ1dHRvbiIgWD0iLTExIiBZPSItMTEiIFdpZHRoPSI3NSIgSGVpZ2h0PSIyMyIgVGFiU3RvcD0ieWVzIiBGb250SWQ9IjAiPiMobG9jLkNhbmNlbEJ1dHRvbik8L0J1dHRvbj4KKyAgICA8L1BhZ2U+CisgICAgPFBhZ2UgTmFtZT0iQ3VzdG9tMiI+CisgICAgICAgIDxUZXh0IFg9IjE4NSIgWT0iMTEiIFdpZHRoPSItMTEiIEhlaWdodD0iMzIiIEZvbnRJZD0iMSIgRGlzYWJsZVByZWZpeD0ieWVzIj4jKGxvYy5DdXN0b20ySGVhZGVyKTwvVGV4dD4KKyAgICAgICAgPEltYWdlIFg9IjAiIFk9IjAiIFdpZHRoPSIxNjIiIEhlaWdodD0iMzUyIiBJbWFnZUZpbGU9IlNpZGVCYXIucG5nIi8+CisgICAgICAgIAorICAgICAgICA8Q2hlY2tib3ggTmFtZT0iQXNzb2NpYXRlRmlsZXMiIFg9IjE4NSIgWT0iNTEiIFdpZHRoPSItMTEiIEhlaWdodD0iMjAiIFRhYlN0b3A9InllcyIgRm9udElkPSIzIiBIaWRlV2hlbkRpc2FibGVkPSJubyI+Iyhsb2MuQXNzb2NpYXRlRmlsZXNMYWJlbCk8L0NoZWNrYm94PgorICAgICAgICA8Q2hlY2tib3ggTmFtZT0iUHJlcGVuZFBhdGgiIFg9IjE4NSIgWT0iNzYiIFdpZHRoPSItMTEiIEhlaWdodD0iMjAiIFRhYlN0b3A9InllcyIgRm9udElkPSIzIiBIaWRlV2hlbkRpc2FibGVkPSJubyI+Iyhsb2MuUHJlcGVuZFBhdGhMYWJlbCk8L0NoZWNrYm94PgorICAgICAgICA8Q2hlY2tib3ggTmFtZT0iSW5zdGFsbEFsbFVzZXJzIiBYPSIxODUiIFk9IjEwMSIgV2lkdGg9Ii0xMSIgSGVpZ2h0PSIyMCIgVGFiU3RvcD0ieWVzIiBGb250SWQ9IjMiIEhpZGVXaGVuRGlzYWJsZWQ9Im5vIj4jKGxvYy5JbnN0YWxsQWxsVXNlcnNMYWJlbCk8L0NoZWNrYm94PgorICAgICAgICA8Q2hlY2tib3ggTmFtZT0iQ29tcGlsZUFsbCIgWD0iMTg1IiBZPSIxMjYiIFdpZHRoPSItMTEiIEhlaWdodD0iMjAiIFRhYlN0b3A9InllcyIgRm9udElkPSIzIiBIaWRlV2hlbkRpc2FibGVkPSJubyI+Iyhsb2MuUHJlY29tcGlsZUxhYmVsKTwvQ2hlY2tib3g+CisgICAgICAgIDxDaGVja2JveCBOYW1lPSJJbmNsdWRlX3N5bWJvbHMiIFg9IjE4NSIgWT0iMTUxIiBXaWR0aD0iLTExIiBIZWlnaHQ9IjIwIiBUYWJTdG9wPSJ5ZXMiIEZvbnRJZD0iMyIgSGlkZVdoZW5EaXNhYmxlZD0ibm8iPiMobG9jLkluY2x1ZGVfc3ltYm9sc0xhYmVsKTwvQ2hlY2tib3g+CisgICAgICAgIDxDaGVja2JveCBOYW1lPSJJbmNsdWRlX2RlYnVnIiBYPSIxODUiIFk9IjE3NiIgV2lkdGg9Ii0xMSIgSGVpZ2h0PSIyMCIgVGFiU3RvcD0ieWVzIiBGb250SWQ9IjMiIEhpZGVXaGVuRGlzYWJsZWQ9Im5vIj4jKGxvYy5JbmNsdWRlX2RlYnVnTGFiZWwpPC9DaGVja2JveD4KKworICAgICAgICA8VGV4dCBYPSIxODUiIFk9IjIyMSIgV2lkdGg9Ii0xMSIgSGVpZ2h0PSIxNyIgRm9udElkPSIzIj4jKGxvYy5DdXN0b21Mb2NhdGlvbkxhYmVsKTwvVGV4dD4KKyAgICAgICAgPEVkaXRib3ggTmFtZT0iVGFyZ2V0RGlyIiBYPSIxODUiIFk9IjIzNyIgV2lkdGg9Ii05MSIgSGVpZ2h0PSIyMSIgVGFiU3RvcD0ieWVzIiBGb250SWQ9IjMiIEZpbGVTeXN0ZW1BdXRvQ29tcGxldGU9InllcyIgLz4KKyAgICAgICAgPEJ1dHRvbiBOYW1lPSJDdXN0b21Ccm93c2VCdXR0b24iIFg9Ii0xMSIgWT0iMjM2IiBXaWR0aD0iNzUiIEhlaWdodD0iMjMiIFRhYlN0b3A9InllcyIgRm9udElkPSIzIj4jKGxvYy5DdXN0b21Ccm93c2VCdXR0b24pPC9CdXR0b24+CisgICAgICAgIDxUZXh0IFg9IjE4NSIgWT0iMjYxIiBXaWR0aD0iLTkxIiBIZWlnaHQ9IjM1IiBGb250SWQ9IjUiPiMobG9jLkN1c3RvbUxvY2F0aW9uSGVscExhYmVsKTwvVGV4dD4KKworICAgICAgICA8QnV0dG9uIE5hbWU9IkN1c3RvbTJCYWNrQnV0dG9uIiBYPSIxODUiIFk9Ii0xMSIgV2lkdGg9Ijc1IiBIZWlnaHQ9IjIzIiBUYWJTdG9wPSJ5ZXMiIEZvbnRJZD0iMCI+Iyhsb2MuQ3VzdG9tQmFja0J1dHRvbik8L0J1dHRvbj4KKyAgICAgICAgPEJ1dHRvbiBOYW1lPSJDdXN0b21JbnN0YWxsQnV0dG9uIiBYPSItOTEiIFk9Ii0xMSIgV2lkdGg9Ijk1IiBIZWlnaHQ9IjIzIiBUYWJTdG9wPSJ5ZXMiIEZvbnRJZD0iMCI+Iyhsb2MuQ3VzdG9tSW5zdGFsbEJ1dHRvbik8L0J1dHRvbj4KKyAgICAgICAgPEJ1dHRvbiBOYW1lPSJDdXN0b20yQ2FuY2VsQnV0dG9uIiBYPSItMTEiIFk9Ii0xMSIgV2lkdGg9Ijc1IiBIZWlnaHQ9IjIzIiBUYWJTdG9wPSJ5ZXMiIEZvbnRJZD0iMCI+Iyhsb2MuQ2FuY2VsQnV0dG9uKTwvQnV0dG9uPgorICAgIDwvUGFnZT4KKyAgICA8UGFnZSBOYW1lPSJQcm9ncmVzcyI+CisgICAgICAgIDxUZXh0IFg9IjE4NSIgWT0iMTEiIFdpZHRoPSItMTEiIEhlaWdodD0iMzIiIEZvbnRJZD0iMSIgRGlzYWJsZVByZWZpeD0ieWVzIj4jKGxvYy5Qcm9ncmVzc0hlYWRlcik8L1RleHQ+CisgICAgICAgIDxJbWFnZSBYPSIwIiBZPSIwIiBXaWR0aD0iMTYyIiBIZWlnaHQ9IjM1MiIgSW1hZ2VGaWxlPSJTaWRlQmFyLnBuZyIvPgorCisgICAgICAgIDxUZXh0IFg9IjE4NSIgWT0iMTExIiBXaWR0aD0iNzAiIEhlaWdodD0iMTciIEZvbnRJZD0iMyIgRGlzYWJsZVByZWZpeD0ieWVzIj4jKGxvYy5Qcm9ncmVzc0xhYmVsKTwvVGV4dD4KKyAgICAgICAgPFRleHQgTmFtZT0iT3ZlcmFsbFByb2dyZXNzUGFja2FnZVRleHQiIFg9IjE4NSIgWT0iMTQxIiBXaWR0aD0iLTExIiBIZWlnaHQ9IjE3IiBGb250SWQ9IjMiIERpc2FibGVQcmVmaXg9InllcyI+Iyhsb2MuT3ZlcmFsbFByb2dyZXNzUGFja2FnZVRleHQpPC9UZXh0PgorICAgICAgICA8UHJvZ3Jlc3NiYXIgTmFtZT0iT3ZlcmFsbENhbGN1bGF0ZWRQcm9ncmVzc2JhciIgWD0iMTg1IiBZPSIxNjMiIFdpZHRoPSItMTEiIEhlaWdodD0iMjAiIC8+CisgICAgICAgIDxCdXR0b24gTmFtZT0iUHJvZ3Jlc3NDYW5jZWxCdXR0b24iIFg9Ii0xMSIgWT0iLTExIiBXaWR0aD0iNzUiIEhlaWdodD0iMjMiIFRhYlN0b3A9InllcyIgRm9udElkPSIwIj4jKGxvYy5DYW5jZWxCdXR0b24pPC9CdXR0b24+CisgICAgPC9QYWdlPgorICAgIDxQYWdlIE5hbWU9Ik1vZGlmeSI+CisgICAgICAgIDxUZXh0IFg9IjE4NSIgWT0iMTEiIFdpZHRoPSItMTEiIEhlaWdodD0iMzIiIEZvbnRJZD0iMSIgRGlzYWJsZVByZWZpeD0ieWVzIj4jKGxvYy5Nb2RpZnlIZWFkZXIpPC9UZXh0PgorICAgICAgICA8SW1hZ2UgWD0iMCIgWT0iMCIgV2lkdGg9IjE2MiIgSGVpZ2h0PSIzNTIiIEltYWdlRmlsZT0iU2lkZUJhci5wbmciLz4KKworICAgICAgICA8QnV0dG9uIE5hbWU9Ik1vZGlmeUJ1dHRvbiIgWD0iMTc1IiBZPSIxMDEiIFdpZHRoPSItMTEiIEhlaWdodD0iNTkiIFRhYlN0b3A9InllcyIgRm9udElkPSIzIiBIZXhTdHlsZT0iMHhGIj4jKGxvYy5Nb2RpZnlNb2RpZnlCdXR0b24pPC9CdXR0b24+CisgICAgICAgIDxCdXR0b24gTmFtZT0iUmVwYWlyQnV0dG9uIiBYPSIxNzUiIFk9IjE3MSIgV2lkdGg9Ii0xMSIgSGVpZ2h0PSI1OSIgVGFiU3RvcD0ieWVzIiBGb250SWQ9IjMiIEhleFN0eWxlPSIweEUiPiMobG9jLk1vZGlmeVJlcGFpckJ1dHRvbik8L0J1dHRvbj4KKyAgICAgICAgPEJ1dHRvbiBOYW1lPSJVbmluc3RhbGxCdXR0b24iIFg9IjE3NSIgWT0iMjQxIiBXaWR0aD0iLTExIiBIZWlnaHQ9IjU5IiBUYWJTdG9wPSJ5ZXMiIEZvbnRJZD0iMyIgSGV4U3R5bGU9IjB4RSI+Iyhsb2MuTW9kaWZ5VW5pbnN0YWxsQnV0dG9uKTwvQnV0dG9uPgorCisgICAgICAgIDxCdXR0b24gTmFtZT0iTW9kaWZ5Q2FuY2VsQnV0dG9uIiBYPSItMTEiIFk9Ii0xMSIgV2lkdGg9Ijc1IiBIZWlnaHQ9IjIzIiBUYWJTdG9wPSJ5ZXMiIEZvbnRJZD0iMCI+Iyhsb2MuQ2FuY2VsQnV0dG9uKTwvQnV0dG9uPgorICAgIDwvUGFnZT4KKyAgICA8UGFnZSBOYW1lPSJTdWNjZXNzIj4KKyAgICAgICAgPFRleHQgWD0iMTg1IiBZPSIxMSIgV2lkdGg9Ii0xMSIgSGVpZ2h0PSIzMiIgRm9udElkPSIxIiBEaXNhYmxlUHJlZml4PSJ5ZXMiPiMobG9jLlN1Y2Nlc3NIZWFkZXIpPC9UZXh0PgorICAgICAgICA8SW1hZ2UgWD0iMCIgWT0iMCIgV2lkdGg9IjE2MiIgSGVpZ2h0PSIzNTIiIEltYWdlRmlsZT0iU2lkZUJhci5wbmciLz4KKworICAgICAgICA8SHlwZXJ0ZXh0IE5hbWU9IlN1Y2Nlc3NUZXh0IiBYPSIyMDUiIFk9IjcxIiBXaWR0aD0iLTMxIiBIZWlnaHQ9IjEwMCIgRm9udElkPSIzIiBEaXNhYmxlUHJlZml4PSJ5ZXMiPjwvSHlwZXJ0ZXh0PgorCisgICAgICAgIDxUZXh0IE5hbWU9IlN1Y2Nlc3NSZXN0YXJ0VGV4dCIgWD0iMTg1IiBZPSItMTAwIiBXaWR0aD0iLTExIiBIZWlnaHQ9IjM0IiBGb250SWQ9IjMiIEhpZGVXaGVuRGlzYWJsZWQ9InllcyIgRGlzYWJsZVByZWZpeD0ieWVzIj4jKGxvYy5TdWNjZXNzUmVzdGFydFRleHQpPC9UZXh0PgorICAgICAgICA8QnV0dG9uIE5hbWU9IkxhdW5jaEJ1dHRvbiIgWD0iMTg1IiBZPSItNTAiIFdpZHRoPSItMTEiIEhlaWdodD0iNTkiIFRhYlN0b3A9InllcyIgRm9udElkPSIzIiBIZXhTdHlsZT0iMHhGIiBIaWRlV2hlbkRpc2FibGVkPSJ5ZXMiPiMobG9jLlN1Y2Nlc3NMYXVuY2hCdXR0b24pPC9CdXR0b24+CisgICAgICAgIDxCdXR0b24gTmFtZT0iU3VjY2Vzc1Jlc3RhcnRCdXR0b24iIFg9Ii05MSIgWT0iLTExIiBXaWR0aD0iNzUiIEhlaWdodD0iMjMiIFRhYlN0b3A9InllcyIgRm9udElkPSIwIiBIaWRlV2hlbkRpc2FibGVkPSJ5ZXMiPiMobG9jLlN1Y2Nlc3NSZXN0YXJ0QnV0dG9uKTwvQnV0dG9uPgorICAgICAgICA8QnV0dG9uIE5hbWU9IlN1Y2Nlc3NDYW5jZWxCdXR0b24iIFg9Ii0xMSIgWT0iLTExIiBXaWR0aD0iNzUiIEhlaWdodD0iMjMiIFRhYlN0b3A9InllcyIgRm9udElkPSIwIj4jKGxvYy5DbG9zZUJ1dHRvbik8L0J1dHRvbj4KKyAgICA8L1BhZ2U+CisgICAgPFBhZ2UgTmFtZT0iRmFpbHVyZSI+CisgICAgICAgIDxUZXh0IFg9IjE4NSIgWT0iMTEiIFdpZHRoPSItMTEiIEhlaWdodD0iMzIiIEZvbnRJZD0iMSIgRGlzYWJsZVByZWZpeD0ieWVzIj4jKGxvYy5GYWlsdXJlSGVhZGVyKTwvVGV4dD4KKyAgICAgICAgPEltYWdlIFg9IjAiIFk9IjAiIFdpZHRoPSIxNjIiIEhlaWdodD0iMzUyIiBJbWFnZUZpbGU9IlNpZGVCYXIucG5nIi8+CisKKyAgICAgICAgPEh5cGVydGV4dCBOYW1lPSJGYWlsdXJlTG9nRmlsZUxpbmsiIFg9IjE4NSIgWT0iNzEiIFdpZHRoPSItMTEiIEhlaWdodD0iNjAiIEZvbnRJZD0iMyIgVGFiU3RvcD0ieWVzIiBIaWRlV2hlbkRpc2FibGVkPSJ5ZXMiPiMobG9jLkZhaWx1cmVIeXBlcmxpbmtMb2dUZXh0KTwvSHlwZXJ0ZXh0PgorICAgICAgICA8SHlwZXJ0ZXh0IE5hbWU9IkZhaWx1cmVNZXNzYWdlVGV4dCIgWD0iMTg1IiBZPSItMTAwIiBXaWR0aD0iLTExIiBIZWlnaHQ9IjM0IiBGb250SWQ9IjMiIFRhYlN0b3A9InllcyIgSGlkZVdoZW5EaXNhYmxlZD0ieWVzIj5GYWlsdXJlIE1lc3NhZ2U8L0h5cGVydGV4dD4KKyAgICAgICAgPFRleHQgTmFtZT0iRmFpbHVyZVJlc3RhcnRUZXh0IiBYPSIxODUiIFk9Ii00MCIgV2lkdGg9Ii0xMSIgSGVpZ2h0PSIzNCIgRm9udElkPSIzIiBIaWRlV2hlbkRpc2FibGVkPSJ5ZXMiIERpc2FibGVQcmVmaXg9InllcyI+Iyhsb2MuRmFpbHVyZVJlc3RhcnRUZXh0KTwvVGV4dD4KKyAgICAgICAgPEJ1dHRvbiBOYW1lPSJGYWlsdXJlUmVzdGFydEJ1dHRvbiIgWD0iLTkxIiBZPSItMTEiIFdpZHRoPSI3NSIgSGVpZ2h0PSIyMyIgVGFiU3RvcD0ieWVzIiBGb250SWQ9IjAiIEhpZGVXaGVuRGlzYWJsZWQ9InllcyI+Iyhsb2MuRmFpbHVyZVJlc3RhcnRCdXR0b24pPC9CdXR0b24+CisgICAgICAgIDxCdXR0b24gTmFtZT0iRmFpbHVyZUNhbmNlbEJ1dHRvbiIgWD0iLTExIiBZPSItMTEiIFdpZHRoPSI3NSIgSGVpZ2h0PSIyMyIgVGFiU3RvcD0ieWVzIiBGb250SWQ9IjAiPiMobG9jLkNsb3NlQnV0dG9uKTwvQnV0dG9uPgorICAgIDwvUGFnZT4KKzwvVGhlbWU+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvVG9vbHMvbXNpL2J1bmRsZS9EZWZhdWx0Lnd4bCBiL1Rvb2xzL21zaS9idW5kbGUvRGVmYXVsdC53eGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmVmZDYxNAotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL21zaS9idW5kbGUvRGVmYXVsdC53eGwKQEAgLTAsMCArMSwxMDMgQEAKK++7vzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Cis8V2l4TG9jYWxpemF0aW9uIEN1bHR1cmU9ImVuLXVzIiBMYW5ndWFnZT0iMTAzMyIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vd2l4LzIwMDYvbG9jYWxpemF0aW9uIj4KKyAgPFN0cmluZyBJZD0iQ2FwdGlvbiI+W1dpeEJ1bmRsZU5hbWVdIFNldHVwPC9TdHJpbmc+CisgIDxTdHJpbmcgSWQ9IlRpdGxlIj5bV2l4QnVuZGxlTmFtZV08L1N0cmluZz4KKyAgPFN0cmluZyBJZD0iSW5zdGFsbGluZyI+SW5zdGFsbGluZzwvU3RyaW5nPgorICA8U3RyaW5nIElkPSJJbnN0YWxsYXRpb24iPlNldHVwPC9TdHJpbmc+CisgIDxTdHJpbmcgSWQ9Ik1vZGlmeWluZyI+VXBkYXRpbmc8L1N0cmluZz4KKyAgPFN0cmluZyBJZD0iTW9kaWZpY2F0aW9uIj5Nb2RpZnk8L1N0cmluZz4KKyAgPFN0cmluZyBJZD0iUmVwYWlyaW5nIj5SZXBhaXJpbmc8L1N0cmluZz4KKyAgPFN0cmluZyBJZD0iUmVwYWlyIj5SZXBhaXI8L1N0cmluZz4KKyAgPFN0cmluZyBJZD0iVW5pbnN0YWxsaW5nIj5SZW1vdmluZzwvU3RyaW5nPgorICA8U3RyaW5nIElkPSJVbmluc3RhbGxhdGlvbiI+VW5pbnN0YWxsPC9TdHJpbmc+CisgIAorICA8U3RyaW5nIElkPSJDYW5jZWxCdXR0b24iPiZhbXA7Q2FuY2VsPC9TdHJpbmc+CisgIDxTdHJpbmcgSWQ9IkNsb3NlQnV0dG9uIj4mYW1wO0Nsb3NlPC9TdHJpbmc+CisgIDxTdHJpbmcgSWQ9Ikluc3RhbGxIZWFkZXIiPkluc3RhbGwgW1dpeEJ1bmRsZU5hbWVdPC9TdHJpbmc+CisgIDxTdHJpbmcgSWQ9Ikluc3RhbGxNZXNzYWdlIj5TZWxlY3QgdG8gbG9jYXRpb24gdG8gaW5zdGFsbCBQeXRob24sIG9yIGNob29zZSBDdXN0b21pemUgdG8gZW5hYmxlIG9yIGRpc2FibGUgZmVhdHVyZXMuPC9TdHJpbmc+CisgIDxTdHJpbmcgSWQ9Ikluc3RhbGxWZXJzaW9uIj5WZXJzaW9uIFtXaXhCdW5kbGVWZXJzaW9uXTwvU3RyaW5nPgorICA8U3RyaW5nIElkPSJDb25maXJtQ2FuY2VsTWVzc2FnZSI+QXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGNhbmNlbD88L1N0cmluZz4KKyAgPFN0cmluZyBJZD0iRXhlY3V0ZVVwZ3JhZGVSZWxhdGVkQnVuZGxlTWVzc2FnZSI+UHJldmlvdXMgdmVyc2lvbjwvU3RyaW5nPgorICA8U3RyaW5nIElkPSJIZWxwSGVhZGVyIj5TZXR1cCBIZWxwPC9TdHJpbmc+CisgIDxTdHJpbmcgSWQ9IkhlbHBUZXh0Ij4vdW5pbnN0YWxsCisgICAgVW5pbnN0YWxscyBQeXRob24gd2l0aG91dCBwcm9tcHRpbmcgZm9yIGNvbmZpcm1hdGlvbi4KKworL2xheW91dCBbXFtdZGlyZWN0b3J5W1xdXQorICAgIERvd25sb2FkcyBhbGwgY29tcG9uZW50cyBmb3Igb2ZmbGluZSBpbnN0YWxsYXRpb24uCisKKy9wYXNzaXZlCisgICAgRGlzcGxheXMgcHJvZ3Jlc3Mgd2l0aG91dCByZXF1aXJpbmcgdXNlciBpbnRlcmFjdGlvbi4KKworL3F1aWV0CisgICAgUGVyZm9ybXMgdGhlIHJlcXVlc3RlZCBhY3Rpb24gd2l0aG91dCBkaXNwbGF5aW5nIGFueSBVSS4KKworL2xvZyBbXFtdZmlsZW5hbWVbXF1dCisgICAgTG9ncyB0byBhIHNwZWNpZmljIGZpbGUuIEJ5IGRlZmF1bHQsIGxvZyBmaWxlcyBhcmUgY3JlYXRlZCBpbiAlVEVNUCUuPC9TdHJpbmc+CisgIDxTdHJpbmcgSWQ9Ikluc3RhbGxMaWNlbnNlTGlua1RleHQiPltXaXhCdW5kbGVOYW1lXSAmbHQ7YSBocmVmPSIjIiZndDtsaWNlbnNlIHRlcm1zJmx0Oy9hJmd0Oy48L1N0cmluZz4KKyAgPFN0cmluZyBJZD0iSW5zdGFsbEFjY2VwdENoZWNrYm94Ij5JICZhbXA7YWdyZWUgdG8gdGhlIGxpY2Vuc2UgdGVybXMgYW5kIGNvbmRpdGlvbnM8L1N0cmluZz4KKyAgPFN0cmluZyBJZD0iSW5zdGFsbEFsbFVzZXJzQnV0dG9uIj5JbnN0YWxsIGZvciAmYW1wO0FsbCBVc2VyczwvU3RyaW5nPgorICA8U3RyaW5nIElkPSJJbnN0YWxsQWxsVXNlcnNCdXR0b25Ob3RlIj5bRGVmYXVsdEFsbFVzZXJzVGFyZ2V0RGlyXTwvU3RyaW5nPgorICA8U3RyaW5nIElkPSJJbnN0YWxsSnVzdEZvck1lQnV0dG9uIj5JbnN0YWxsICZhbXA7SnVzdCBmb3IgTWU8L1N0cmluZz4KKyAgPFN0cmluZyBJZD0iSW5zdGFsbEp1c3RGb3JNZUJ1dHRvbk5vdGUiPltEZWZhdWx0SnVzdEZvck1lVGFyZ2V0RGlyXTwvU3RyaW5nPgorICA8U3RyaW5nIElkPSJJbnN0YWxsQ3VzdG9tQnV0dG9uIj5DJmFtcDt1c3RvbWl6ZSBpbnN0YWxsYXRpb248L1N0cmluZz4KKyAgPFN0cmluZyBJZD0iSW5zdGFsbEN1c3RvbUJ1dHRvbk5vdGUiPkNob29zZSBsb2NhdGlvbiBhbmQgZmVhdHVyZXM8L1N0cmluZz4KKyAgPFN0cmluZyBJZD0iSW5zdGFsbFNpbXBsZUJ1dHRvbiI+JmFtcDtJbnN0YWxsPC9TdHJpbmc+CisgIDxTdHJpbmcgSWQ9Ikluc3RhbGxTaW1wbGVCdXR0b25Ob3RlIj5Vc2VzIHNldHRpbmcgcHJlc2VsZWN0ZWQgYnkgeW91ciBhZG1pbmlzdHJhdG9yPC9TdHJpbmc+CisgIDxTdHJpbmcgSWQ9IkN1c3RvbTFIZWFkZXIiPk9wdGlvbmFsIEZlYXR1cmVzPC9TdHJpbmc+CisgIDxTdHJpbmcgSWQ9IkN1c3RvbTJIZWFkZXIiPkFkdmFuY2VkIE9wdGlvbnM8L1N0cmluZz4KKyAgPFN0cmluZyBJZD0iQ3VzdG9tTG9jYXRpb25MYWJlbCI+Q3VzdG9taXplIGluc3RhbGwgbG9jYXRpb248L1N0cmluZz4KKyAgPFN0cmluZyBJZD0iQ3VzdG9tTG9jYXRpb25IZWxwTGFiZWwiPklmIG5vdCBpbnN0YWxsaW5nIGFzIGFkbWluaXN0cmF0b3IsIHlvdSB3aWxsIHJlcXVpcmUgd3JpdGUgcGVybWlzc2lvbnMgZm9yIHRoaXMgbG9jYXRpb24uPC9TdHJpbmc+CisgIDxTdHJpbmcgSWQ9IkN1c3RvbUluc3RhbGxCdXR0b24iPiZhbXA7SW5zdGFsbDwvU3RyaW5nPgorICA8U3RyaW5nIElkPSJDdXN0b21OZXh0QnV0dG9uIj4mYW1wO05leHQ8L1N0cmluZz4KKyAgPFN0cmluZyBJZD0iQ3VzdG9tQmFja0J1dHRvbiI+JmFtcDtCYWNrPC9TdHJpbmc+CisgIDxTdHJpbmcgSWQ9IkN1c3RvbUJyb3dzZUJ1dHRvbiI+QiZhbXA7cm93c2U8L1N0cmluZz4KKyAgPFN0cmluZyBJZD0iSW5jbHVkZV9kb2NMYWJlbCI+JmFtcDtEb2N1bWVudGF0aW9uPC9TdHJpbmc+CisgIDxTdHJpbmcgSWQ9IkluY2x1ZGVfZG9jSGVscExhYmVsIj5JbnN0YWxscyB0aGUgUHl0aG9uIGRvY3VtZW50YXRpb24gZmlsZS48L1N0cmluZz4KKyAgPFN0cmluZyBJZD0iSW5jbHVkZV9waXBMYWJlbCI+JmFtcDtwaXA8L1N0cmluZz4KKyAgPFN0cmluZyBJZD0iSW5jbHVkZV9waXBIZWxwTGFiZWwiPkluc3RhbGxzIHBpcCwgd2hpY2ggY2FuIGRvd25sb2FkIGFuZCBpbnN0YWxsIG90aGVyIFB5dGhvbiBwYWNrYWdlcy48L1N0cmluZz4KKyAgPFN0cmluZyBJZD0iSW5jbHVkZV90Y2x0a0xhYmVsIj50Y2wvdGsgYW5kICZhbXA7SURMRTwvU3RyaW5nPgorICA8U3RyaW5nIElkPSJJbmNsdWRlX3RjbHRrSGVscExhYmVsIj5JbnN0YWxscyB0a2ludGVyIGFuZCB0aGUgSURMRSBkZXZlbG9wbWVudCBlbnZpcm9ubWVudC48L1N0cmluZz4KKyAgPFN0cmluZyBJZD0iSW5jbHVkZV90ZXN0TGFiZWwiPlB5dGhvbiAmYW1wO3Rlc3Qgc3VpdGU8L1N0cmluZz4KKyAgPFN0cmluZyBJZD0iSW5jbHVkZV90ZXN0SGVscExhYmVsIj5JbnN0YWxscyB0aGUgc3RhbmRhcmQgbGlicmFyeSB0ZXN0IHN1aXRlLjwvU3RyaW5nPgorICA8U3RyaW5nIElkPSJJbmNsdWRlX2xhdW5jaGVyTGFiZWwiPnB5ICZhbXA7bGF1bmNoZXI8L1N0cmluZz4KKyAgPFN0cmluZyBJZD0iSW5jbHVkZV9sYXVuY2hlckhlbHBMYWJlbCI+SW5zdGFsbHMgdGhlIGdsb2JhbCAncHknIGxhdW5jaGVyIHRvIG1ha2UgaXQgZWFzaWVyIHRvIHN0YXJ0IFB5dGhvbi48L1N0cmluZz4KKyAgCisgIDxTdHJpbmcgSWQ9IkFzc29jaWF0ZUZpbGVzTGFiZWwiPkFzc29jaWF0ZSAmYW1wO2ZpbGVzIHdpdGggUHl0aG9uIChyZXF1aXJlcyB0aGUgcHkgbGF1bmNoZXIpPC9TdHJpbmc+CisgIDxTdHJpbmcgSWQ9IlByZXBlbmRQYXRoTGFiZWwiPkFkZCBQeXRob24gdG8gJmFtcDtlbnZpcm9ubWVudCB2YXJpYWJsZXM8L1N0cmluZz4KKyAgPFN0cmluZyBJZD0iU2hvcnRQcmVwZW5kUGF0aExhYmVsIj5BZGQgJmFtcDtQeXRob24gW1Nob3J0VmVyc2lvbl0gdG8gUEFUSDwvU3RyaW5nPgorICA8U3RyaW5nIElkPSJJbnN0YWxsQWxsVXNlcnNMYWJlbCI+SW5zdGFsbCBhcyAmYW1wO0FkbWluaXN0cmF0b3I8L1N0cmluZz4KKyAgPFN0cmluZyBJZD0iUHJlY29tcGlsZUxhYmVsIj4mYW1wO1ByZWNvbXBpbGUgc3RhbmRhcmQgbGlicmFyeTwvU3RyaW5nPgorICA8U3RyaW5nIElkPSJJbmNsdWRlX3N5bWJvbHNMYWJlbCI+SW5zdGFsbCBkZWJ1Z2dpbmcgJmFtcDtzeW1ib2xzPC9TdHJpbmc+CisgIDxTdHJpbmcgSWQ9IkluY2x1ZGVfZGVidWdMYWJlbCI+SW5zdGFsbCBkZWJ1JmFtcDtnIGJpbmFyaWVzPC9TdHJpbmc+CisgIAorICA8U3RyaW5nIElkPSJQcm9ncmVzc0hlYWRlciI+W0FjdGlvbkxpa2VJbnN0YWxsYXRpb25dIFByb2dyZXNzPC9TdHJpbmc+CisgIDxTdHJpbmcgSWQ9IlByb2dyZXNzTGFiZWwiPltBY3Rpb25MaWtlSW5zdGFsbGluZ106PC9TdHJpbmc+CisgIDxTdHJpbmcgSWQ9Ik92ZXJhbGxQcm9ncmVzc1BhY2thZ2VUZXh0Ij5Jbml0aWFsaXppbmcuLi48L1N0cmluZz4KKyAgPFN0cmluZyBJZD0iTW9kaWZ5SGVhZGVyIj5Nb2RpZnkgU2V0dXA8L1N0cmluZz4KKyAgPFN0cmluZyBJZD0iTW9kaWZ5TW9kaWZ5QnV0dG9uIj4mYW1wO01vZGlmeTwvU3RyaW5nPgorICA8U3RyaW5nIElkPSJNb2RpZnlCdXR0b25Ob3RlIj5BZGQgb3IgcmVtb3ZlIGluZGl2aWR1YWwgZmVhdHVyZXMuPC9TdHJpbmc+CisgIDxTdHJpbmcgSWQ9Ik1vZGlmeVJlcGFpckJ1dHRvbiI+JmFtcDtSZXBhaXI8L1N0cmluZz4KKyAgPFN0cmluZyBJZD0iUmVwYWlyQnV0dG9uTm90ZSI+RW5zdXJlIGFsbCBjdXJyZW50IGZlYXR1cmVzIGFyZSBjb3JyZWN0bHkgaW5zdGFsbGVkLjwvU3RyaW5nPgorICA8U3RyaW5nIElkPSJNb2RpZnlVbmluc3RhbGxCdXR0b24iPiZhbXA7VW5pbnN0YWxsPC9TdHJpbmc+CisgIDxTdHJpbmcgSWQ9IlVuaW5zdGFsbEJ1dHRvbk5vdGUiPlJlbW92ZSB0aGUgZW50aXJlIFtXaXhCdW5kbGVOYW1lXSBpbnN0YWxsYXRpb24uPC9TdHJpbmc+CisgIDxTdHJpbmcgSWQ9IlN1Y2Nlc3NIZWFkZXIiPltBY3Rpb25MaWtlSW5zdGFsbGF0aW9uXSB3YXMgc3VjY2Vzc2Z1bDwvU3RyaW5nPgorICA8U3RyaW5nIElkPSJTdWNjZXNzTGF1bmNoQnV0dG9uIj4mYW1wO0xhdW5jaDwvU3RyaW5nPgorICA8U3RyaW5nIElkPSJTdWNjZXNzUmVzdGFydFRleHQiPllvdSBtYXkgbmVlZCB0byByZXN0YXJ0IHlvdXIgY29tcHV0ZXIgdG8gZmluaXNoIHVwZGF0aW5nIGZpbGVzLjwvU3RyaW5nPgorICA8U3RyaW5nIElkPSJTdWNjZXNzUmVzdGFydEJ1dHRvbiI+JmFtcDtSZXN0YXJ0PC9TdHJpbmc+CisgIDxTdHJpbmcgSWQ9IlN1Y2Nlc3NJbnN0YWxsTWVzc2FnZSI+U3BlY2lhbCB0aGFua3MgdG8gTWFyayBIYW1tb25kLCB3aXRob3V0IHdob3NlIHllYXJzIG9mIGZyZWVseSBzaGFyZWQgV2luZG93cyBleHBlcnRpc2UsIFB5dGhvbiBmb3IgV2luZG93cyB3b3VsZCBzdGlsbCBiZSBQeXRob24gZm9yIERPUy4KKworTmV3IHRvIFB5dGhvbj8gU3RhcnQgd2l0aCB0aGUgJmx0O2EgaHJlZj0iaHR0cHM6Ly9kb2NzLnB5dGhvbi5vcmcvW1Nob3J0VmVyc2lvbl0vdHV0b3JpYWwvaW5kZXguaHRtbCImZ3Q7b25saW5lIHR1dG9yaWFsJmx0Oy9hJmd0OyBhbmQgJmx0O2EgaHJlZj0iaHR0cHM6Ly9kb2NzLnB5dGhvbi5vcmcvW1Nob3J0VmVyc2lvbl0vaW5kZXguaHRtbCImZ3Q7ZG9jdW1lbnRhdGlvbiZsdDsvYSZndDsuCisKK1NlZSAmbHQ7YSBocmVmPSJodHRwczovL2RvY3MucHl0aG9uLm9yZy9bU2hvcnRWZXJzaW9uXS93aGF0c25ldy9bU2hvcnRWZXJzaW9uXS5odG1sIiZndDt3aGF0J3MgbmV3Jmx0Oy9hJmd0OyBpbiB0aGlzIHJlbGVhc2UuPC9TdHJpbmc+CisgIDxTdHJpbmcgSWQ9IlN1Y2Nlc3NNb2RpZnlNZXNzYWdlIj5UaGFuayB5b3UgZm9yIHVzaW5nIFtXaXhCdW5kbGVOYW1lXS48L1N0cmluZz4KKyAgPFN0cmluZyBJZD0iU3VjY2Vzc1JlcGFpck1lc3NhZ2UiPlRoYW5rIHlvdSBmb3IgdXNpbmcgW1dpeEJ1bmRsZU5hbWVdLgorCitGZWVsIGZyZWUgdG8gZW1haWwgJmx0O2EgaHJlZj0ibWFpbHRvOnB5dGhvbi1saXN0QHB5dGhvbi5vcmciJmd0O3B5dGhvbi1saXN0QHB5dGhvbi5vcmcmbHQ7L2EmZ3Q7IGlmIHlvdSBjb250aW51ZSB0byBlbmNvdW50ZXIgaXNzdWVzLjwvU3RyaW5nPgorICA8U3RyaW5nIElkPSJTdWNjZXNzUmVtb3ZlTWVzc2FnZSI+VGhhbmsgeW91IGZvciB1c2luZyBbV2l4QnVuZGxlTmFtZV0uCisKK0ZlZWwgZnJlZSB0byBlbWFpbCAmbHQ7YSBocmVmPSJtYWlsdG86cHl0aG9uLWxpc3RAcHl0aG9uLm9yZyImZ3Q7cHl0aG9uLWxpc3RAcHl0aG9uLm9yZyZsdDsvYSZndDsgaWYgeW91IGVuY291bnRlcmVkIHByb2JsZW1zLjwvU3RyaW5nPgorICA8U3RyaW5nIElkPSJGYWlsdXJlSGVhZGVyIj5TZXR1cCBmYWlsZWQ8L1N0cmluZz4KKyAgPFN0cmluZyBJZD0iRmFpbHVyZUh5cGVybGlua0xvZ1RleHQiPk9uZSBvciBtb3JlIGlzc3VlcyBjYXVzZWQgdGhlIHNldHVwIHRvIGZhaWwuIFBsZWFzZSBmaXggdGhlIGlzc3VlcyBhbmQgdGhlbiByZXRyeSBzZXR1cC4gRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIHRoZSAmbHQ7YSBocmVmPSIjIiZndDtsb2cgZmlsZSZsdDsvYSZndDsuPC9TdHJpbmc+CisgIDxTdHJpbmcgSWQ9IkZhaWx1cmVSZXN0YXJ0VGV4dCI+WW91IG11c3QgcmVzdGFydCB5b3VyIGNvbXB1dGVyIHRvIGNvbXBsZXRlIHRoZSByb2xsYmFjayBvZiB0aGUgc29mdHdhcmUuPC9TdHJpbmc+CisgIDxTdHJpbmcgSWQ9IkZhaWx1cmVSZXN0YXJ0QnV0dG9uIj4mYW1wO1Jlc3RhcnQ8L1N0cmluZz4KKzwvV2l4TG9jYWxpemF0aW9uPgpkaWZmIC0tZ2l0IGEvVG9vbHMvbXNpL2J1bmRsZS9TaWRlQmFyLnBuZyBiL1Rvb2xzL21zaS9idW5kbGUvU2lkZUJhci5wbmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWMxOGZmZgotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL21zaS9idW5kbGUvU2lkZUJhci5wbmcKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvVG9vbHMvbXNpL2J1bmRsZS9ib290c3RyYXAvTElDRU5TRS50eHQgYi9Ub29scy9tc2kvYnVuZGxlL2Jvb3RzdHJhcC9MSUNFTlNFLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NzkxYTdlCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvbXNpL2J1bmRsZS9ib290c3RyYXAvTElDRU5TRS50eHQKQEAgLTAsMCArMSwyNSBAQAorVGhpcyBsaWNlbnNlIGFwcGxpZXMgdG8gdGhlIGJvb3RzdHJhcHBlciBhcHBsaWNhdGlvbiB0aGF0IGlzIGVtYmVkZGVkIHdpdGhpbiB0aGUgaW5zdGFsbGVyLiBJdCBoYXMgbm8gaW1wYWN0IG9uIHRoZSBsaWNlbnNpbmcgZm9yIHRoZSByZXN0IG9mIHRoZSBpbnN0YWxsZXIgb3IgUHl0aG9uIGl0c2VsZiwgYXMgbm8gY29kZSBjb3ZlcmVkIGJ5IHRoaXMgbGljZW5zZSBleGlzdHMgaW4gYW55IG90aGVyIHBhcnQgb2YgdGhlIHByb2R1Y3QuCisKKy0tLQorCitNaWNyb3NvZnQgUmVjaXByb2NhbCBMaWNlbnNlIChNUy1STCkKKworVGhpcyBsaWNlbnNlIGdvdmVybnMgdXNlIG9mIHRoZSBhY2NvbXBhbnlpbmcgc29mdHdhcmUuIElmIHlvdSB1c2UgdGhlIHNvZnR3YXJlLCB5b3UgYWNjZXB0IHRoaXMgbGljZW5zZS4gSWYgeW91IGRvIG5vdCBhY2NlcHQgdGhlIGxpY2Vuc2UsIGRvIG5vdCB1c2UgdGhlIHNvZnR3YXJlLgorCisxLiBEZWZpbml0aW9ucworIFRoZSB0ZXJtcyAicmVwcm9kdWNlLCIgInJlcHJvZHVjdGlvbiwiICJkZXJpdmF0aXZlIHdvcmtzLCIgYW5kICJkaXN0cmlidXRpb24iIGhhdmUgdGhlIHNhbWUgbWVhbmluZyBoZXJlIGFzIHVuZGVyIFUuUy4gY29weXJpZ2h0IGxhdy4KKyBBICJjb250cmlidXRpb24iIGlzIHRoZSBvcmlnaW5hbCBzb2Z0d2FyZSwgb3IgYW55IGFkZGl0aW9ucyBvciBjaGFuZ2VzIHRvIHRoZSBzb2Z0d2FyZS4KKyBBICJjb250cmlidXRvciIgaXMgYW55IHBlcnNvbiB0aGF0IGRpc3RyaWJ1dGVzIGl0cyBjb250cmlidXRpb24gdW5kZXIgdGhpcyBsaWNlbnNlLgorICJMaWNlbnNlZCBwYXRlbnRzIiBhcmUgYSBjb250cmlidXRvcidzIHBhdGVudCBjbGFpbXMgdGhhdCByZWFkIGRpcmVjdGx5IG9uIGl0cyBjb250cmlidXRpb24uCisKKzIuIEdyYW50IG9mIFJpZ2h0cworIChBKSBDb3B5cmlnaHQgR3JhbnQtIFN1YmplY3QgdG8gdGhlIHRlcm1zIG9mIHRoaXMgbGljZW5zZSwgaW5jbHVkaW5nIHRoZSBsaWNlbnNlIGNvbmRpdGlvbnMgYW5kIGxpbWl0YXRpb25zIGluIHNlY3Rpb24gMywgZWFjaCBjb250cmlidXRvciBncmFudHMgeW91IGEgbm9uLWV4Y2x1c2l2ZSwgd29ybGR3aWRlLCByb3lhbHR5LWZyZWUgY29weXJpZ2h0IGxpY2Vuc2UgdG8gcmVwcm9kdWNlIGl0cyBjb250cmlidXRpb24sIHByZXBhcmUgZGVyaXZhdGl2ZSB3b3JrcyBvZiBpdHMgY29udHJpYnV0aW9uLCBhbmQgZGlzdHJpYnV0ZSBpdHMgY29udHJpYnV0aW9uIG9yIGFueSBkZXJpdmF0aXZlIHdvcmtzIHRoYXQgeW91IGNyZWF0ZS4KKyAoQikgUGF0ZW50IEdyYW50LSBTdWJqZWN0IHRvIHRoZSB0ZXJtcyBvZiB0aGlzIGxpY2Vuc2UsIGluY2x1ZGluZyB0aGUgbGljZW5zZSBjb25kaXRpb25zIGFuZCBsaW1pdGF0aW9ucyBpbiBzZWN0aW9uIDMsIGVhY2ggY29udHJpYnV0b3IgZ3JhbnRzIHlvdSBhIG5vbi1leGNsdXNpdmUsIHdvcmxkd2lkZSwgcm95YWx0eS1mcmVlIGxpY2Vuc2UgdW5kZXIgaXRzIGxpY2Vuc2VkIHBhdGVudHMgdG8gbWFrZSwgaGF2ZSBtYWRlLCB1c2UsIHNlbGwsIG9mZmVyIGZvciBzYWxlLCBpbXBvcnQsIGFuZC9vciBvdGhlcndpc2UgZGlzcG9zZSBvZiBpdHMgY29udHJpYnV0aW9uIGluIHRoZSBzb2Z0d2FyZSBvciBkZXJpdmF0aXZlIHdvcmtzIG9mIHRoZSBjb250cmlidXRpb24gaW4gdGhlIHNvZnR3YXJlLgorCiszLiBDb25kaXRpb25zIGFuZCBMaW1pdGF0aW9ucworIChBKSBSZWNpcHJvY2FsIEdyYW50cy0gRm9yIGFueSBmaWxlIHlvdSBkaXN0cmlidXRlIHRoYXQgY29udGFpbnMgY29kZSBmcm9tIHRoZSBzb2Z0d2FyZSAoaW4gc291cmNlIGNvZGUgb3IgYmluYXJ5IGZvcm1hdCksIHlvdSBtdXN0IHByb3ZpZGUgcmVjaXBpZW50cyB0aGUgc291cmNlIGNvZGUgdG8gdGhhdCBmaWxlIGFsb25nIHdpdGggYSBjb3B5IG9mIHRoaXMgbGljZW5zZSwgd2hpY2ggbGljZW5zZSB3aWxsIGdvdmVybiB0aGF0IGZpbGUuIFlvdSBtYXkgbGljZW5zZSBvdGhlciBmaWxlcyB0aGF0IGFyZSBlbnRpcmVseSB5b3VyIG93biB3b3JrIGFuZCBkbyBub3QgY29udGFpbiBjb2RlIGZyb20gdGhlIHNvZnR3YXJlIHVuZGVyIGFueSB0ZXJtcyB5b3UgY2hvb3NlLgorIChCKSBObyBUcmFkZW1hcmsgTGljZW5zZS0gVGhpcyBsaWNlbnNlIGRvZXMgbm90IGdyYW50IHlvdSByaWdodHMgdG8gdXNlIGFueSBjb250cmlidXRvcnMnIG5hbWUsIGxvZ28sIG9yIHRyYWRlbWFya3MuCisgKEMpIElmIHlvdSBicmluZyBhIHBhdGVudCBjbGFpbSBhZ2FpbnN0IGFueSBjb250cmlidXRvciBvdmVyIHBhdGVudHMgdGhhdCB5b3UgY2xhaW0gYXJlIGluZnJpbmdlZCBieSB0aGUgc29mdHdhcmUsIHlvdXIgcGF0ZW50IGxpY2Vuc2UgZnJvbSBzdWNoIGNvbnRyaWJ1dG9yIHRvIHRoZSBzb2Z0d2FyZSBlbmRzIGF1dG9tYXRpY2FsbHkuCisgKEQpIElmIHlvdSBkaXN0cmlidXRlIGFueSBwb3J0aW9uIG9mIHRoZSBzb2Z0d2FyZSwgeW91IG11c3QgcmV0YWluIGFsbCBjb3B5cmlnaHQsIHBhdGVudCwgdHJhZGVtYXJrLCBhbmQgYXR0cmlidXRpb24gbm90aWNlcyB0aGF0IGFyZSBwcmVzZW50IGluIHRoZSBzb2Z0d2FyZS4KKyAoRSkgSWYgeW91IGRpc3RyaWJ1dGUgYW55IHBvcnRpb24gb2YgdGhlIHNvZnR3YXJlIGluIHNvdXJjZSBjb2RlIGZvcm0sIHlvdSBtYXkgZG8gc28gb25seSB1bmRlciB0aGlzIGxpY2Vuc2UgYnkgaW5jbHVkaW5nIGEgY29tcGxldGUgY29weSBvZiB0aGlzIGxpY2Vuc2Ugd2l0aCB5b3VyIGRpc3RyaWJ1dGlvbi4gSWYgeW91IGRpc3RyaWJ1dGUgYW55IHBvcnRpb24gb2YgdGhlIHNvZnR3YXJlIGluIGNvbXBpbGVkIG9yIG9iamVjdCBjb2RlIGZvcm0sIHlvdSBtYXkgb25seSBkbyBzbyB1bmRlciBhIGxpY2Vuc2UgdGhhdCBjb21wbGllcyB3aXRoIHRoaXMgbGljZW5zZS4KKyAoRikgVGhlIHNvZnR3YXJlIGlzIGxpY2Vuc2VkICJhcy1pcy4iIFlvdSBiZWFyIHRoZSByaXNrIG9mIHVzaW5nIGl0LiBUaGUgY29udHJpYnV0b3JzIGdpdmUgbm8gZXhwcmVzcyB3YXJyYW50aWVzLCBndWFyYW50ZWVzIG9yIGNvbmRpdGlvbnMuIFlvdSBtYXkgaGF2ZSBhZGRpdGlvbmFsIGNvbnN1bWVyIHJpZ2h0cyB1bmRlciB5b3VyIGxvY2FsIGxhd3Mgd2hpY2ggdGhpcyBsaWNlbnNlIGNhbm5vdCBjaGFuZ2UuIFRvIHRoZSBleHRlbnQgcGVybWl0dGVkIHVuZGVyIHlvdXIgbG9jYWwgbGF3cywgdGhlIGNvbnRyaWJ1dG9ycyBleGNsdWRlIHRoZSBpbXBsaWVkIHdhcnJhbnRpZXMgb2YgbWVyY2hhbnRhYmlsaXR5LCBmaXRuZXNzIGZvciBhIHBhcnRpY3VsYXIgcHVycG9zZSBhbmQgbm9uLWluZnJpbmdlbWVudC4KZGlmZiAtLWdpdCBhL1Rvb2xzL21zaS9idW5kbGUvYm9vdHN0cmFwL1B5dGhvbkJvb3RzdHJhcHBlckFwcGxpY2F0aW9uLmNwcCBiL1Rvb2xzL21zaS9idW5kbGUvYm9vdHN0cmFwL1B5dGhvbkJvb3RzdHJhcHBlckFwcGxpY2F0aW9uLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41ZWRhM2Y3Ci0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvbXNpL2J1bmRsZS9ib290c3RyYXAvUHl0aG9uQm9vdHN0cmFwcGVyQXBwbGljYXRpb24uY3BwCkBAIC0wLDAgKzEsMjY1MiBAQAorLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisvLyA8Y29weXJpZ2h0IGZpbGU9IldpeFN0YW5kYXJkQm9vdHN0cmFwcGVyQXBwbGljYXRpb24uY3BwIiBjb21wYW55PSJPdXRlcmN1cnZlIEZvdW5kYXRpb24iPgorLy8gICBDb3B5cmlnaHQgKGMpIDIwMDQsIE91dGVyY3VydmUgRm91bmRhdGlvbi4KKy8vICAgVGhpcyBzb2Z0d2FyZSBpcyByZWxlYXNlZCB1bmRlciBNaWNyb3NvZnQgUmVjaXByb2NhbCBMaWNlbnNlIChNUy1STCkuCisvLyAgIFRoZSBsaWNlbnNlIGFuZCBmdXJ0aGVyIGNvcHlyaWdodCB0ZXh0IGNhbiBiZSBmb3VuZCBpbiB0aGUgZmlsZQorLy8gICBMSUNFTlNFLlRYVCBhdCB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhlIGRpc3RyaWJ1dGlvbi4KKy8vIDwvY29weXJpZ2h0PgorLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKworI2luY2x1ZGUgInBjaC5oIgorCitzdGF0aWMgY29uc3QgTFBDV1NUUiBXSVhCVU5ETEVfVkFSSUFCTEVfRUxFVkFURUQgPSBMIldpeEJ1bmRsZUVsZXZhdGVkIjsKKworc3RhdGljIGNvbnN0IExQQ1dTVFIgUFlCQV9XSU5ET1dfQ0xBU1MgPSBMIlB5dGhvbkJBIjsKK3N0YXRpYyBjb25zdCBMUENXU1RSIFBZQkFfVkFSSUFCTEVfTEFVTkNIX1RBUkdFVF9QQVRIID0gTCJMYXVuY2hUYXJnZXQiOworc3RhdGljIGNvbnN0IExQQ1dTVFIgUFlCQV9WQVJJQUJMRV9MQVVOQ0hfVEFSR0VUX0VMRVZBVEVEX0lEID0gTCJMYXVuY2hUYXJnZXRFbGV2YXRlZElkIjsKK3N0YXRpYyBjb25zdCBMUENXU1RSIFBZQkFfVkFSSUFCTEVfTEFVTkNIX0FSR1VNRU5UUyA9IEwiTGF1bmNoQXJndW1lbnRzIjsKK3N0YXRpYyBjb25zdCBMUENXU1RSIFBZQkFfVkFSSUFCTEVfTEFVTkNIX0hJRERFTiA9IEwiTGF1bmNoSGlkZGVuIjsKK3N0YXRpYyBjb25zdCBEV09SRCBQWUJBX0FDUVVJUkVfUEVSQ0VOVEFHRSA9IDMwOworc3RhdGljIGNvbnN0IExQQ1dTVFIgUFlCQV9WQVJJQUJMRV9CVU5ETEVfRklMRV9WRVJTSU9OID0gTCJXaXhCdW5kbGVGaWxlVmVyc2lvbiI7CisKK2VudW0gUFlCQV9TVEFURSB7CisgICAgUFlCQV9TVEFURV9JTklUSUFMSVpJTkcsCisgICAgUFlCQV9TVEFURV9JTklUSUFMSVpFRCwKKyAgICBQWUJBX1NUQVRFX0hFTFAsCisgICAgUFlCQV9TVEFURV9ERVRFQ1RJTkcsCisgICAgUFlCQV9TVEFURV9ERVRFQ1RFRCwKKyAgICBQWUJBX1NUQVRFX1BMQU5OSU5HLAorICAgIFBZQkFfU1RBVEVfUExBTk5FRCwKKyAgICBQWUJBX1NUQVRFX0FQUExZSU5HLAorICAgIFBZQkFfU1RBVEVfQ0FDSElORywKKyAgICBQWUJBX1NUQVRFX0NBQ0hFRCwKKyAgICBQWUJBX1NUQVRFX0VYRUNVVElORywKKyAgICBQWUJBX1NUQVRFX0VYRUNVVEVELAorICAgIFBZQkFfU1RBVEVfQVBQTElFRCwKKyAgICBQWUJBX1NUQVRFX0ZBSUxFRCwKK307CisKK3N0YXRpYyBjb25zdCBpbnQgV01fUFlCQV9TSE9XX0hFTFAgPSBXTV9BUFAgKyAxMDA7CitzdGF0aWMgY29uc3QgaW50IFdNX1BZQkFfREVURUNUX1BBQ0tBR0VTID0gV01fQVBQICsgMTAxOworc3RhdGljIGNvbnN0IGludCBXTV9QWUJBX1BMQU5fUEFDS0FHRVMgPSBXTV9BUFAgKyAxMDI7CitzdGF0aWMgY29uc3QgaW50IFdNX1BZQkFfQVBQTFlfUEFDS0FHRVMgPSBXTV9BUFAgKyAxMDM7CitzdGF0aWMgY29uc3QgaW50IFdNX1BZQkFfQ0hBTkdFX1NUQVRFID0gV01fQVBQICsgMTA0Oworc3RhdGljIGNvbnN0IGludCBXTV9QWUJBX1NIT1dfRkFJTFVSRSA9IFdNX0FQUCArIDEwNTsKKworLy8gVGhpcyBlbnVtIG11c3QgYmUga2VwdCBpbiB0aGUgc2FtZSBvcmRlciBhcyB0aGUgUEFHRV9OQU1FUyBhcnJheS4KK2VudW0gUEFHRSB7CisgICAgUEFHRV9MT0FESU5HLAorICAgIFBBR0VfSEVMUCwKKyAgICBQQUdFX0lOU1RBTEwsCisgICAgUEFHRV9TSU1QTEVfSU5TVEFMTCwKKyAgICBQQUdFX0NVU1RPTTEsCisgICAgUEFHRV9DVVNUT00yLAorICAgIFBBR0VfTU9ESUZZLAorICAgIFBBR0VfUFJPR1JFU1MsCisgICAgUEFHRV9QUk9HUkVTU19QQVNTSVZFLAorICAgIFBBR0VfU1VDQ0VTUywKKyAgICBQQUdFX0ZBSUxVUkUsCisgICAgQ09VTlRfUEFHRSwKK307CisKKy8vIFRoaXMgYXJyYXkgbXVzdCBiZSBrZXB0IGluIHRoZSBzYW1lIG9yZGVyIGFzIHRoZSBQQUdFIGVudW0uCitzdGF0aWMgTFBDV1NUUiBQQUdFX05BTUVTW10gPSB7CisgICAgTCJMb2FkaW5nIiwKKyAgICBMIkhlbHAiLAorICAgIEwiSW5zdGFsbCIsCisgICAgTCJTaW1wbGVJbnN0YWxsIiwKKyAgICBMIkN1c3RvbTEiLAorICAgIEwiQ3VzdG9tMiIsCisgICAgTCJNb2RpZnkiLAorICAgIEwiUHJvZ3Jlc3MiLAorICAgIEwiUHJvZ3Jlc3NQYXNzaXZlIiwKKyAgICBMIlN1Y2Nlc3MiLAorICAgIEwiRmFpbHVyZSIsCit9OworCitlbnVtIENPTlRST0xfSUQgeworICAgIC8vIE5vbi1wYWdlZCBjb250cm9scworICAgIElEX0NMT1NFX0JVVFRPTiA9IFRIRU1FX0ZJUlNUX0FTU0lHTl9DT05UUk9MX0lELAorICAgIElEX01JTklNSVpFX0JVVFRPTiwKKworICAgIC8vIFdlbGNvbWUgcGFnZQorICAgIElEX0lOU1RBTExfQUxMX1VTRVJTX0JVVFRPTiwKKyAgICBJRF9JTlNUQUxMX0pVU1RfRk9SX01FX0JVVFRPTiwKKyAgICBJRF9JTlNUQUxMX0NVU1RPTV9CVVRUT04sCisgICAgSURfSU5TVEFMTF9TSU1QTEVfQlVUVE9OLAorICAgIElEX0lOU1RBTExfQ0FOQ0VMX0JVVFRPTiwKKyAgICAKKyAgICAvLyBDdXN0b21pemUgUGFnZQorICAgIElEX1RBUkdFVERJUl9FRElUQk9YLAorICAgIElEX0NVU1RPTV9BU1NPQ0lBVEVfRklMRVNfQ0hFQ0tCT1gsCisgICAgSURfQ1VTVE9NX0lOU1RBTExfQUxMX1VTRVJTX0NIRUNLQk9YLAorICAgIElEX0NVU1RPTV9CUk9XU0VfQlVUVE9OLAorICAgIElEX0NVU1RPTV9JTlNUQUxMX0JVVFRPTiwKKyAgICBJRF9DVVNUT01fTkVYVF9CVVRUT04sCisgICAgSURfQ1VTVE9NMV9CQUNLX0JVVFRPTiwKKyAgICBJRF9DVVNUT00yX0JBQ0tfQlVUVE9OLAorICAgIElEX0NVU1RPTTFfQ0FOQ0VMX0JVVFRPTiwKKyAgICBJRF9DVVNUT00yX0NBTkNFTF9CVVRUT04sCisKKyAgICAvLyBNb2RpZnkgcGFnZQorICAgIElEX01PRElGWV9CVVRUT04sCisgICAgSURfUkVQQUlSX0JVVFRPTiwKKyAgICBJRF9VTklOU1RBTExfQlVUVE9OLAorICAgIElEX01PRElGWV9DQU5DRUxfQlVUVE9OLAorCisgICAgLy8gUHJvZ3Jlc3MgcGFnZQorICAgIElEX0NBQ0hFX1BST0dSRVNTX1BBQ0tBR0VfVEVYVCwKKyAgICBJRF9DQUNIRV9QUk9HUkVTU19CQVIsCisgICAgSURfQ0FDSEVfUFJPR1JFU1NfVEVYVCwKKworICAgIElEX0VYRUNVVEVfUFJPR1JFU1NfUEFDS0FHRV9URVhULAorICAgIElEX0VYRUNVVEVfUFJPR1JFU1NfQkFSLAorICAgIElEX0VYRUNVVEVfUFJPR1JFU1NfVEVYVCwKKyAgICBJRF9FWEVDVVRFX1BST0dSRVNTX0FDVElPTkRBVEFfVEVYVCwKKworICAgIElEX09WRVJBTExfUFJPR1JFU1NfUEFDS0FHRV9URVhULAorICAgIElEX09WRVJBTExfUFJPR1JFU1NfQkFSLAorICAgIElEX09WRVJBTExfQ0FMQ1VMQVRFRF9QUk9HUkVTU19CQVIsCisgICAgSURfT1ZFUkFMTF9QUk9HUkVTU19URVhULAorCisgICAgSURfUFJPR1JFU1NfQ0FOQ0VMX0JVVFRPTiwKKworICAgIC8vIFN1Y2Nlc3MgcGFnZQorICAgIElEX0xBVU5DSF9CVVRUT04sCisgICAgSURfU1VDQ0VTU19URVhULAorICAgIElEX1NVQ0NFU1NfUkVTVEFSVF9URVhULAorICAgIElEX1NVQ0NFU1NfUkVTVEFSVF9CVVRUT04sCisgICAgSURfU1VDQ0VTU19DQU5DRUxfQlVUVE9OLAorCisgICAgLy8gRmFpbHVyZSBwYWdlCisgICAgSURfRkFJTFVSRV9MT0dGSUxFX0xJTkssCisgICAgSURfRkFJTFVSRV9NRVNTQUdFX1RFWFQsCisgICAgSURfRkFJTFVSRV9SRVNUQVJUX1RFWFQsCisgICAgSURfRkFJTFVSRV9SRVNUQVJUX0JVVFRPTiwKKyAgICBJRF9GQUlMVVJFX0NBTkNFTF9CVVRUT04KK307CisKK3N0YXRpYyBUSEVNRV9BU1NJR05fQ09OVFJPTF9JRCBDT05UUk9MX0lEX05BTUVTW10gPSB7CisgICAgeyBJRF9DTE9TRV9CVVRUT04sIEwiQ2xvc2VCdXR0b24iIH0sCisgICAgeyBJRF9NSU5JTUlaRV9CVVRUT04sIEwiTWluaW1pemVCdXR0b24iIH0sCisKKyAgICB7IElEX0lOU1RBTExfQUxMX1VTRVJTX0JVVFRPTiwgTCJJbnN0YWxsQWxsVXNlcnNCdXR0b24iIH0sCisgICAgeyBJRF9JTlNUQUxMX0pVU1RfRk9SX01FX0JVVFRPTiwgTCJJbnN0YWxsSnVzdEZvck1lQnV0dG9uIiB9LAorICAgIHsgSURfSU5TVEFMTF9DVVNUT01fQlVUVE9OLCBMIkluc3RhbGxDdXN0b21CdXR0b24iIH0sCisgICAgeyBJRF9JTlNUQUxMX1NJTVBMRV9CVVRUT04sIEwiSW5zdGFsbFNpbXBsZUJ1dHRvbiIgfSwKKyAgICB7IElEX0lOU1RBTExfQ0FOQ0VMX0JVVFRPTiwgTCJJbnN0YWxsQ2FuY2VsQnV0dG9uIiB9LAorCisgICAgeyBJRF9UQVJHRVRESVJfRURJVEJPWCwgTCJUYXJnZXREaXIiIH0sCisgICAgeyBJRF9DVVNUT01fQVNTT0NJQVRFX0ZJTEVTX0NIRUNLQk9YLCBMIkFzc29jaWF0ZUZpbGVzIiB9LAorICAgIHsgSURfQ1VTVE9NX0lOU1RBTExfQUxMX1VTRVJTX0NIRUNLQk9YLCBMIkluc3RhbGxBbGxVc2VycyIgfSwKKyAgICB7IElEX0NVU1RPTV9CUk9XU0VfQlVUVE9OLCBMIkN1c3RvbUJyb3dzZUJ1dHRvbiIgfSwKKyAgICB7IElEX0NVU1RPTV9JTlNUQUxMX0JVVFRPTiwgTCJDdXN0b21JbnN0YWxsQnV0dG9uIiB9LAorICAgIHsgSURfQ1VTVE9NX05FWFRfQlVUVE9OLCBMIkN1c3RvbU5leHRCdXR0b24iIH0sCisgICAgeyBJRF9DVVNUT00xX0JBQ0tfQlVUVE9OLCBMIkN1c3RvbTFCYWNrQnV0dG9uIiB9LAorICAgIHsgSURfQ1VTVE9NMl9CQUNLX0JVVFRPTiwgTCJDdXN0b20yQmFja0J1dHRvbiIgfSwKKyAgICB7IElEX0NVU1RPTTFfQ0FOQ0VMX0JVVFRPTiwgTCJDdXN0b20xQ2FuY2VsQnV0dG9uIiB9LAorICAgIHsgSURfQ1VTVE9NMl9DQU5DRUxfQlVUVE9OLCBMIkN1c3RvbTJDYW5jZWxCdXR0b24iIH0sCisKKyAgICB7IElEX01PRElGWV9CVVRUT04sIEwiTW9kaWZ5QnV0dG9uIiB9LAorICAgIHsgSURfUkVQQUlSX0JVVFRPTiwgTCJSZXBhaXJCdXR0b24iIH0sCisgICAgeyBJRF9VTklOU1RBTExfQlVUVE9OLCBMIlVuaW5zdGFsbEJ1dHRvbiIgfSwKKyAgICB7IElEX01PRElGWV9DQU5DRUxfQlVUVE9OLCBMIk1vZGlmeUNhbmNlbEJ1dHRvbiIgfSwKKworICAgIHsgSURfQ0FDSEVfUFJPR1JFU1NfUEFDS0FHRV9URVhULCBMIkNhY2hlUHJvZ3Jlc3NQYWNrYWdlVGV4dCIgfSwKKyAgICB7IElEX0NBQ0hFX1BST0dSRVNTX0JBUiwgTCJDYWNoZVByb2dyZXNzYmFyIiB9LAorICAgIHsgSURfQ0FDSEVfUFJPR1JFU1NfVEVYVCwgTCJDYWNoZVByb2dyZXNzVGV4dCIgfSwKKyAgICB7IElEX0VYRUNVVEVfUFJPR1JFU1NfUEFDS0FHRV9URVhULCBMIkV4ZWN1dGVQcm9ncmVzc1BhY2thZ2VUZXh0IiB9LAorICAgIHsgSURfRVhFQ1VURV9QUk9HUkVTU19CQVIsIEwiRXhlY3V0ZVByb2dyZXNzYmFyIiB9LAorICAgIHsgSURfRVhFQ1VURV9QUk9HUkVTU19URVhULCBMIkV4ZWN1dGVQcm9ncmVzc1RleHQiIH0sCisgICAgeyBJRF9FWEVDVVRFX1BST0dSRVNTX0FDVElPTkRBVEFfVEVYVCwgTCJFeGVjdXRlUHJvZ3Jlc3NBY3Rpb25EYXRhVGV4dCIgfSwKKyAgICB7IElEX09WRVJBTExfUFJPR1JFU1NfUEFDS0FHRV9URVhULCBMIk92ZXJhbGxQcm9ncmVzc1BhY2thZ2VUZXh0IiB9LAorICAgIHsgSURfT1ZFUkFMTF9QUk9HUkVTU19CQVIsIEwiT3ZlcmFsbFByb2dyZXNzYmFyIiB9LAorICAgIHsgSURfT1ZFUkFMTF9DQUxDVUxBVEVEX1BST0dSRVNTX0JBUiwgTCJPdmVyYWxsQ2FsY3VsYXRlZFByb2dyZXNzYmFyIiB9LAorICAgIHsgSURfT1ZFUkFMTF9QUk9HUkVTU19URVhULCBMIk92ZXJhbGxQcm9ncmVzc1RleHQiIH0sCisgICAgeyBJRF9QUk9HUkVTU19DQU5DRUxfQlVUVE9OLCBMIlByb2dyZXNzQ2FuY2VsQnV0dG9uIiB9LAorCisgICAgeyBJRF9MQVVOQ0hfQlVUVE9OLCBMIkxhdW5jaEJ1dHRvbiIgfSwKKyAgICB7IElEX1NVQ0NFU1NfVEVYVCwgTCJTdWNjZXNzVGV4dCIgfSwKKyAgICB7IElEX1NVQ0NFU1NfUkVTVEFSVF9URVhULCBMIlN1Y2Nlc3NSZXN0YXJ0VGV4dCIgfSwKKyAgICB7IElEX1NVQ0NFU1NfUkVTVEFSVF9CVVRUT04sIEwiU3VjY2Vzc1Jlc3RhcnRCdXR0b24iIH0sCisgICAgeyBJRF9TVUNDRVNTX0NBTkNFTF9CVVRUT04sIEwiU3VjY2Vzc0NhbmNlbEJ1dHRvbiIgfSwKKworICAgIHsgSURfRkFJTFVSRV9MT0dGSUxFX0xJTkssIEwiRmFpbHVyZUxvZ0ZpbGVMaW5rIiB9LAorICAgIHsgSURfRkFJTFVSRV9NRVNTQUdFX1RFWFQsIEwiRmFpbHVyZU1lc3NhZ2VUZXh0IiB9LAorICAgIHsgSURfRkFJTFVSRV9SRVNUQVJUX1RFWFQsIEwiRmFpbHVyZVJlc3RhcnRUZXh0IiB9LAorICAgIHsgSURfRkFJTFVSRV9SRVNUQVJUX0JVVFRPTiwgTCJGYWlsdXJlUmVzdGFydEJ1dHRvbiIgfSwKKyAgICB7IElEX0ZBSUxVUkVfQ0FOQ0VMX0JVVFRPTiwgTCJGYWlsdXJlQ2FuY2VsQnV0dG9uIiB9LAorfTsKKworY2xhc3MgUHl0aG9uQm9vdHN0cmFwcGVyQXBwbGljYXRpb24gOiBwdWJsaWMgQ0JhbEJhc2VCb290c3RyYXBwZXJBcHBsaWNhdGlvbiB7CisgICAgdm9pZCBTaG93UGFnZShEV09SRCBuZXdQYWdlSWQpIHsKKyAgICAgICAgLy8gUHJvY2VzcyBlYWNoIGNvbnRyb2wgZm9yIHNwZWNpYWwgaGFuZGxpbmcgaW4gdGhlIG5ldyBwYWdlLgorICAgICAgICBQcm9jZXNzUGFnZUNvbnRyb2xzKFRoZW1lR2V0UGFnZShfdGhlbWUsIG5ld1BhZ2VJZCkpOworCisgICAgICAgIC8vIEVuYWJsZSBkaXNhYmxlIGNvbnRyb2xzIHBlci1wYWdlLgorICAgICAgICBpZiAoX3BhZ2VJZHNbUEFHRV9JTlNUQUxMXSA9PSBuZXdQYWdlSWQgfHwgX3BhZ2VJZHNbUEFHRV9TSU1QTEVfSU5TVEFMTF0gPT0gbmV3UGFnZUlkKSB7CisgICAgICAgICAgICBJbnN0YWxsUGFnZV9TaG93KCk7CisgICAgICAgIH0gZWxzZSBpZiAoX3BhZ2VJZHNbUEFHRV9DVVNUT00xXSA9PSBuZXdQYWdlSWQpIHsKKyAgICAgICAgICAgIEN1c3RvbTFQYWdlX1Nob3coKTsKKyAgICAgICAgfSBlbHNlIGlmIChfcGFnZUlkc1tQQUdFX0NVU1RPTTJdID09IG5ld1BhZ2VJZCkgeworICAgICAgICAgICAgQ3VzdG9tMlBhZ2VfU2hvdygpOworICAgICAgICB9IGVsc2UgaWYgKF9wYWdlSWRzW1BBR0VfTU9ESUZZXSA9PSBuZXdQYWdlSWQpIHsKKyAgICAgICAgICAgIE1vZGlmeVBhZ2VfU2hvdygpOworICAgICAgICB9IGVsc2UgaWYgKF9wYWdlSWRzW1BBR0VfU1VDQ0VTU10gPT0gbmV3UGFnZUlkKSB7CisgICAgICAgICAgICBTdWNjZXNzUGFnZV9TaG93KCk7CisgICAgICAgIH0gZWxzZSBpZiAoX3BhZ2VJZHNbUEFHRV9GQUlMVVJFXSA9PSBuZXdQYWdlSWQpIHsKKyAgICAgICAgICAgIEZhaWx1cmVQYWdlX1Nob3coKTsKKyAgICAgICAgfQorCisgICAgICAgIC8vIFByZXZlbnQgcmVwYWludGluZyB3aGlsZSBzd2l0Y2hpbmcgcGFnZSB0byBhdm9pZCB1Z2x5IGZsaWNrZXJpbmcKKyAgICAgICAgX3N1cHByZXNzUGFpbnQgPSBUUlVFOworICAgICAgICBUaGVtZVNob3dQYWdlKF90aGVtZSwgbmV3UGFnZUlkLCBTV19TSE9XKTsKKyAgICAgICAgVGhlbWVTaG93UGFnZShfdGhlbWUsIF92aXNpYmxlUGFnZUlkLCBTV19ISURFKTsKKyAgICAgICAgX3N1cHByZXNzUGFpbnQgPSBGQUxTRTsKKyAgICAgICAgSW52YWxpZGF0ZVJlY3QoX3RoZW1lLT5od25kUGFyZW50LCBudWxscHRyLCBUUlVFKTsKKyAgICAgICAgX3Zpc2libGVQYWdlSWQgPSBuZXdQYWdlSWQ7CisKKyAgICAgICAgLy8gT24gdGhlIGluc3RhbGwgcGFnZSBzZXQgdGhlIGZvY3VzIHRvIHRoZSBpbnN0YWxsIGJ1dHRvbiBvcgorICAgICAgICAvLyB0aGUgbmV4dCBlbmFibGVkIGNvbnRyb2wgaWYgaW5zdGFsbCBpcyBkaXNhYmxlZAorICAgICAgICBpZiAoX3BhZ2VJZHNbUEFHRV9JTlNUQUxMXSA9PSBuZXdQYWdlSWQpIHsKKyAgICAgICAgICAgIFRoZW1lU2V0Rm9jdXMoX3RoZW1lLCBJRF9JTlNUQUxMX0FMTF9VU0VSU19CVVRUT04pOworICAgICAgICB9IGVsc2UgaWYgKF9wYWdlSWRzW1BBR0VfU0lNUExFX0lOU1RBTExdID09IG5ld1BhZ2VJZCkgeworICAgICAgICAgICAgVGhlbWVTZXRGb2N1cyhfdGhlbWUsIElEX0lOU1RBTExfU0lNUExFX0JVVFRPTik7CisgICAgICAgIH0KKyAgICB9CisKKyAgICAvLworICAgIC8vIEhhbmRsZXMgY29udHJvbCBjbGlja3MKKyAgICAvLworICAgIHZvaWQgT25Db21tYW5kKENPTlRST0xfSUQgaWQpIHsKKyAgICAgICAgTFBXU1RSIGRlZmF1bHREaXIgPSBudWxscHRyOworICAgICAgICBMUFdTVFIgdGFyZ2V0RGlyID0gbnVsbHB0cjsKKyAgICAgICAgTE9OR0xPTkcgZWxldmF0ZWQ7CisgICAgICAgIEJPT0wgY2hlY2tlZDsKKyAgICAgICAgV0NIQVIgd3pQYXRoW01BWF9QQVRIXSA9IHsgfTsKKyAgICAgICAgQlJPV1NFSU5GT1cgYnJvd3NlSW5mbyA9IHsgfTsKKyAgICAgICAgUElETElTVF9BQlNPTFVURSBwaWRsID0gbnVsbHB0cjsKKyAgICAgICAgSFJFU1VMVCBociA9IFNfT0s7CisKKyAgICAgICAgc3dpdGNoKGlkKSB7CisgICAgICAgIGNhc2UgSURfQ0xPU0VfQlVUVE9OOgorICAgICAgICAgICAgT25DbGlja0Nsb3NlQnV0dG9uKCk7CisgICAgICAgICAgICBicmVhazsKKworICAgICAgICAvLyBJbnN0YWxsIGNvbW1hbmRzCisgICAgICAgIGNhc2UgSURfSU5TVEFMTF9TSU1QTEVfQlVUVE9OOgorICAgICAgICAgICAgaHIgPSBCYWxHZXRTdHJpbmdWYXJpYWJsZShMIlRhcmdldERpciIsICZ0YXJnZXREaXIpOworICAgICAgICAgICAgaWYgKEZBSUxFRChocikgfHwgIXRhcmdldERpciB8fCAhKnRhcmdldERpcikgeworICAgICAgICAgICAgICAgIExPTkdMT05HIGluc3RhbGxBbGw7CisgICAgICAgICAgICAgICAgaWYgKFNVQ0NFRURFRChCYWxHZXROdW1lcmljVmFyaWFibGUoTCJJbnN0YWxsQWxsVXNlcnMiLCAmaW5zdGFsbEFsbCkpICYmIGluc3RhbGxBbGwpIHsKKyAgICAgICAgICAgICAgICAgICAgaHIgPSBCYWxHZXRTdHJpbmdWYXJpYWJsZShMIkRlZmF1bHRBbGxVc2Vyc1RhcmdldERpciIsICZkZWZhdWx0RGlyKTsKKyAgICAgICAgICAgICAgICAgICAgQmFsRXhpdE9uRmFpbHVyZShociwgIkZhaWxlZCB0byBnZXQgdGhlIGRlZmF1bHQgYWxsIHVzZXJzIGluc3RhbGwgZGlyZWN0b3J5Iik7CisgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgaHIgPSBCYWxHZXRTdHJpbmdWYXJpYWJsZShMIkRlZmF1bHRKdXN0Rm9yTWVUYXJnZXREaXIiLCAmZGVmYXVsdERpcik7CisgICAgICAgICAgICAgICAgICAgIEJhbEV4aXRPbkZhaWx1cmUoaHIsICJGYWlsZWQgdG8gZ2V0IHRoZSBkZWZhdWx0IHBlci11c2VyIGluc3RhbGwgZGlyZWN0b3J5Iik7CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgaWYgKCFkZWZhdWx0RGlyIHx8ICEqZGVmYXVsdERpcikgeworICAgICAgICAgICAgICAgICAgICBCYWxMb2dFcnJvcihFX0lOVkFMSURBUkcsICJEZWZhdWx0IGluc3RhbGwgZGlyZWN0b3J5IGlzIGJsYW5rIik7CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgaHIgPSBCYWxGb3JtYXRTdHJpbmcoZGVmYXVsdERpciwgJnRhcmdldERpcik7CisgICAgICAgICAgICAgICAgQmFsRXhpdE9uRmFpbHVyZTEoaHIsICJGYWlsZWQgdG8gZm9ybWF0ICclbHMnIiwgZGVmYXVsdERpcik7CisKKyAgICAgICAgICAgICAgICBociA9IF9lbmdpbmUtPlNldFZhcmlhYmxlU3RyaW5nKEwiVGFyZ2V0RGlyIiwgdGFyZ2V0RGlyKTsKKyAgICAgICAgICAgICAgICBSZWxlYXNlU3RyKHRhcmdldERpcik7CisgICAgICAgICAgICAgICAgQmFsRXhpdE9uRmFpbHVyZShociwgIkZhaWxlZCB0byBzZXQgaW5zdGFsbCB0YXJnZXQgZGlyZWN0b3J5Iik7CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIFJlbGVhc2VTdHIodGFyZ2V0RGlyKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgT25QbGFuKEJPT1RTVFJBUFBFUl9BQ1RJT05fSU5TVEFMTCk7CisgICAgICAgICAgICBicmVhazsKKworICAgICAgICBjYXNlIElEX0lOU1RBTExfQUxMX1VTRVJTX0JVVFRPTjoKKyAgICAgICAgICAgIFNhdmVQYWdlU2V0dGluZ3MoKTsKKyAgICAgICAgICAgIAorICAgICAgICAgICAgaHIgPSBfZW5naW5lLT5TZXRWYXJpYWJsZU51bWVyaWMoTCJJbnN0YWxsQWxsVXNlcnMiLCAxKTsKKyAgICAgICAgICAgIEV4aXRPbkZhaWx1cmUoaHIsIEwiRmFpbGVkIHRvIHNldCBpbnN0YWxsIHNjb3BlIik7CisKKyAgICAgICAgICAgIGhyID0gX2VuZ2luZS0+U2V0VmFyaWFibGVOdW1lcmljKEwiQ29tcGlsZUFsbCIsIDEpOworICAgICAgICAgICAgRXhpdE9uRmFpbHVyZShociwgTCJGYWlsZWQgdG8gc2V0IGNvbXBpbGUgYWxsIHNldHRpbmciKTsKKworICAgICAgICAgICAgaHIgPSBCYWxHZXRTdHJpbmdWYXJpYWJsZShMIkRlZmF1bHRBbGxVc2Vyc1RhcmdldERpciIsICZkZWZhdWx0RGlyKTsKKyAgICAgICAgICAgIEJhbEV4aXRPbkZhaWx1cmUoaHIsICJGYWlsZWQgdG8gZ2V0IHRoZSBkZWZhdWx0IGFsbCB1c2VycyBpbnN0YWxsIGRpcmVjdG9yeSIpOworCisgICAgICAgICAgICBpZiAoIWRlZmF1bHREaXIgfHwgISpkZWZhdWx0RGlyKSB7CisgICAgICAgICAgICAgICAgQmFsTG9nRXJyb3IoRV9JTlZBTElEQVJHLCAiRGVmYXVsdCBpbnN0YWxsIGRpcmVjdG9yeSBpcyBibGFuayIpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBociA9IEJhbEZvcm1hdFN0cmluZyhkZWZhdWx0RGlyLCAmdGFyZ2V0RGlyKTsKKyAgICAgICAgICAgIEJhbEV4aXRPbkZhaWx1cmUxKGhyLCAiRmFpbGVkIHRvIGZvcm1hdCAnJWxzJyIsIGRlZmF1bHREaXIpOworCisgICAgICAgICAgICBociA9IF9lbmdpbmUtPlNldFZhcmlhYmxlU3RyaW5nKEwiVGFyZ2V0RGlyIiwgdGFyZ2V0RGlyKTsKKyAgICAgICAgICAgIFJlbGVhc2VTdHIodGFyZ2V0RGlyKTsKKyAgICAgICAgICAgIEJhbEV4aXRPbkZhaWx1cmUoaHIsICJGYWlsZWQgdG8gc2V0IGluc3RhbGwgdGFyZ2V0IGRpcmVjdG9yeSIpOworCisgICAgICAgICAgICBPblBsYW4oQk9PVFNUUkFQUEVSX0FDVElPTl9JTlNUQUxMKTsKKyAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgIGNhc2UgSURfSU5TVEFMTF9KVVNUX0ZPUl9NRV9CVVRUT046CisgICAgICAgICAgICBTYXZlUGFnZVNldHRpbmdzKCk7CisgICAgICAgICAgICAKKyAgICAgICAgICAgIGhyID0gX2VuZ2luZS0+U2V0VmFyaWFibGVOdW1lcmljKEwiSW5zdGFsbEFsbFVzZXJzIiwgMCk7CisgICAgICAgICAgICBFeGl0T25GYWlsdXJlKGhyLCBMIkZhaWxlZCB0byBzZXQgaW5zdGFsbCBzY29wZSIpOworCisgICAgICAgICAgICBociA9IEJhbEdldFN0cmluZ1ZhcmlhYmxlKEwiRGVmYXVsdEp1c3RGb3JNZVRhcmdldERpciIsICZkZWZhdWx0RGlyKTsKKyAgICAgICAgICAgIEJhbEV4aXRPbkZhaWx1cmUoaHIsICJGYWlsZWQgdG8gZ2V0IHRoZSBkZWZhdWx0IHBlci11c2VyIGluc3RhbGwgZGlyZWN0b3J5Iik7CisKKyAgICAgICAgICAgIGlmICghZGVmYXVsdERpciB8fCAhKmRlZmF1bHREaXIpIHsKKyAgICAgICAgICAgICAgICBCYWxMb2dFcnJvcihFX0lOVkFMSURBUkcsICJEZWZhdWx0IGluc3RhbGwgZGlyZWN0b3J5IGlzIGJsYW5rIik7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGhyID0gQmFsRm9ybWF0U3RyaW5nKGRlZmF1bHREaXIsICZ0YXJnZXREaXIpOworICAgICAgICAgICAgQmFsRXhpdE9uRmFpbHVyZTEoaHIsICJGYWlsZWQgdG8gZm9ybWF0ICclbHMnIiwgZGVmYXVsdERpcik7CisKKyAgICAgICAgICAgIGhyID0gX2VuZ2luZS0+U2V0VmFyaWFibGVTdHJpbmcoTCJUYXJnZXREaXIiLCB0YXJnZXREaXIpOworICAgICAgICAgICAgUmVsZWFzZVN0cih0YXJnZXREaXIpOworICAgICAgICAgICAgQmFsRXhpdE9uRmFpbHVyZShociwgIkZhaWxlZCB0byBzZXQgaW5zdGFsbCB0YXJnZXQgZGlyZWN0b3J5Iik7CisKKyAgICAgICAgICAgIE9uUGxhbihCT09UU1RSQVBQRVJfQUNUSU9OX0lOU1RBTEwpOworICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgY2FzZSBJRF9DVVNUT00xX0JBQ0tfQlVUVE9OOgorICAgICAgICAgICAgU2F2ZVBhZ2VTZXR0aW5ncygpOworICAgICAgICAgICAgaWYgKF9tb2RpZnlpbmcpIHsKKyAgICAgICAgICAgICAgICBHb1RvUGFnZShQQUdFX01PRElGWSk7CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIEdvVG9QYWdlKFBBR0VfSU5TVEFMTCk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBicmVhazsKKworICAgICAgICBjYXNlIElEX0lOU1RBTExfQ1VTVE9NX0JVVFRPTjogX19mYWxsdGhyb3VnaDsKKyAgICAgICAgY2FzZSBJRF9DVVNUT00yX0JBQ0tfQlVUVE9OOgorICAgICAgICAgICAgU2F2ZVBhZ2VTZXR0aW5ncygpOworICAgICAgICAgICAgR29Ub1BhZ2UoUEFHRV9DVVNUT00xKTsKKyAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgIGNhc2UgSURfQ1VTVE9NX05FWFRfQlVUVE9OOgorICAgICAgICAgICAgU2F2ZVBhZ2VTZXR0aW5ncygpOworICAgICAgICAgICAgR29Ub1BhZ2UoUEFHRV9DVVNUT00yKTsKKyAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgIGNhc2UgSURfQ1VTVE9NX0lOU1RBTExfQlVUVE9OOgorICAgICAgICAgICAgU2F2ZVBhZ2VTZXR0aW5ncygpOworCisgICAgICAgICAgICBociA9IEJhbEdldFN0cmluZ1ZhcmlhYmxlKEwiVGFyZ2V0RGlyIiwgJnRhcmdldERpcik7CisgICAgICAgICAgICBpZiAoU1VDQ0VFREVEKGhyKSkgeworICAgICAgICAgICAgICAgIC8vIFRPRE86IENoZWNrIHdoZXRoZXIgZGlyZWN0b3J5IGV4aXN0cyBhbmQgY29udGFpbnMgYW5vdGhlciBpbnN0YWxsYXRpb24KKyAgICAgICAgICAgICAgICBSZWxlYXNlU3RyKHRhcmdldERpcik7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIE9uUGxhbihfY29tbWFuZC5hY3Rpb24pOworICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgY2FzZSBJRF9DVVNUT01fSU5TVEFMTF9BTExfVVNFUlNfQ0hFQ0tCT1g6CisgICAgICAgICAgICBociA9IEJhbEdldE51bWVyaWNWYXJpYWJsZShMIldpeEJ1bmRsZUVsZXZhdGVkIiwgJmVsZXZhdGVkKTsKKyAgICAgICAgICAgIGNoZWNrZWQgPSBUaGVtZUlzQ29udHJvbENoZWNrZWQoX3RoZW1lLCBJRF9DVVNUT01fSU5TVEFMTF9BTExfVVNFUlNfQ0hFQ0tCT1gpOworICAgICAgICAgICAgVGhlbWVDb250cm9sRWxldmF0ZXMoX3RoZW1lLCBJRF9DVVNUT01fSU5TVEFMTF9CVVRUT04sIGNoZWNrZWQgJiYgKEZBSUxFRChocikgfHwgIWVsZXZhdGVkKSk7CisgICAgICAgICAgICBUaGVtZUdldFRleHRDb250cm9sKF90aGVtZSwgSURfVEFSR0VURElSX0VESVRCT1gsICZ0YXJnZXREaXIpOworICAgICAgICAgICAgaWYgKHRhcmdldERpcikgeworICAgICAgICAgICAgICAgIC8vIENoZWNrIHRoZSBjdXJyZW50IHZhbHVlIGFnYWluc3QgdGhlIGRlZmF1bHQgdG8gc2VlCisgICAgICAgICAgICAgICAgLy8gaWYgd2Ugc2hvdWxkIHN3aXRjaCBpdCBhdXRvbWF0aWNhbGx5LgorICAgICAgICAgICAgICAgIGhyID0gQmFsR2V0U3RyaW5nVmFyaWFibGUoCisgICAgICAgICAgICAgICAgICAgIGNoZWNrZWQgPyBMIkRlZmF1bHRKdXN0Rm9yTWVUYXJnZXREaXIiIDogTCJEZWZhdWx0QWxsVXNlcnNUYXJnZXREaXIiLAorICAgICAgICAgICAgICAgICAgICAmZGVmYXVsdERpcgorICAgICAgICAgICAgICAgICk7CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgaWYgKFNVQ0NFRURFRChocikgJiYgZGVmYXVsdERpcikgeworICAgICAgICAgICAgICAgICAgICBMUFdTVFIgZm9ybWF0dGVkID0gbnVsbHB0cjsKKyAgICAgICAgICAgICAgICAgICAgaWYgKGRlZmF1bHREaXJbMF0gJiYgU1VDQ0VFREVEKEJhbEZvcm1hdFN0cmluZyhkZWZhdWx0RGlyLCAmZm9ybWF0dGVkKSkpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh3Y3NjbXAoZm9ybWF0dGVkLCB0YXJnZXREaXIpID09IDApIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWxlYXNlU3RyKGRlZmF1bHREaXIpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHREaXIgPSBudWxscHRyOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlbGVhc2VTdHIoZm9ybWF0dGVkKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtYXR0ZWQgPSBudWxscHRyOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyID0gQmFsR2V0U3RyaW5nVmFyaWFibGUoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoZWNrZWQgPyBMIkRlZmF1bHRBbGxVc2Vyc1RhcmdldERpciIgOiBMIkRlZmF1bHRKdXN0Rm9yTWVUYXJnZXREaXIiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZGVmYXVsdERpcgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKFNVQ0NFRURFRChocikgJiYgZGVmYXVsdERpciAmJiBkZWZhdWx0RGlyWzBdICYmIFNVQ0NFRURFRChCYWxGb3JtYXRTdHJpbmcoZGVmYXVsdERpciwgJmZvcm1hdHRlZCkpKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoZW1lU2V0VGV4dENvbnRyb2woX3RoZW1lLCBJRF9UQVJHRVRESVJfRURJVEJPWCwgZm9ybWF0dGVkKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVsZWFzZVN0cihmb3JtYXR0ZWQpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVsZWFzZVN0cihmb3JtYXR0ZWQpOworICAgICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICBSZWxlYXNlU3RyKGRlZmF1bHREaXIpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgIGNhc2UgSURfQ1VTVE9NX0JST1dTRV9CVVRUT046CisgICAgICAgICAgICBicm93c2VJbmZvLmh3bmRPd25lciA9IF9oV25kOworICAgICAgICAgICAgYnJvd3NlSW5mby5wc3pEaXNwbGF5TmFtZSA9IHd6UGF0aDsKKyAgICAgICAgICAgIGJyb3dzZUluZm8ubHBzelRpdGxlID0gX3RoZW1lLT5zY3pDYXB0aW9uOworICAgICAgICAgICAgYnJvd3NlSW5mby51bEZsYWdzID0gQklGX1JFVFVSTk9OTFlGU0RJUlMgfCBCSUZfVVNFTkVXVUk7CisgICAgICAgICAgICBwaWRsID0gOjpTSEJyb3dzZUZvckZvbGRlclcoJmJyb3dzZUluZm8pOworICAgICAgICAgICAgaWYgKHBpZGwgJiYgOjpTSEdldFBhdGhGcm9tSURMaXN0VyhwaWRsLCB3elBhdGgpKSB7CisgICAgICAgICAgICAgICAgVGhlbWVTZXRUZXh0Q29udHJvbChfdGhlbWUsIElEX1RBUkdFVERJUl9FRElUQk9YLCB3elBhdGgpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBpZiAocGlkbCkgeworICAgICAgICAgICAgICAgIDo6Q29UYXNrTWVtRnJlZShwaWRsKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgIC8vIE1vZGlmeSBjb21tYW5kcworICAgICAgICBjYXNlIElEX01PRElGWV9CVVRUT046CisgICAgICAgICAgICAvLyBTb21lIHZhcmlhYmxlcyBjYW5ub3QgYmUgbW9kaWZpZWQKKyAgICAgICAgICAgIF9lbmdpbmUtPlNldFZhcmlhYmxlU3RyaW5nKEwiSW5zdGFsbEFsbFVzZXJzU3RhdGUiLCBMImRpc2FibGUiKTsKKyAgICAgICAgICAgIF9lbmdpbmUtPlNldFZhcmlhYmxlU3RyaW5nKEwiVGFyZ2V0RGlyU3RhdGUiLCBMImRpc2FibGUiKTsKKyAgICAgICAgICAgIF9lbmdpbmUtPlNldFZhcmlhYmxlU3RyaW5nKEwiQ3VzdG9tQnJvd3NlQnV0dG9uU3RhdGUiLCBMImRpc2FibGUiKTsKKyAgICAgICAgICAgIF9tb2RpZnlpbmcgPSBUUlVFOworICAgICAgICAgICAgR29Ub1BhZ2UoUEFHRV9DVVNUT00xKTsKKyAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgIGNhc2UgSURfUkVQQUlSX0JVVFRPTjoKKyAgICAgICAgICAgIE9uUGxhbihCT09UU1RSQVBQRVJfQUNUSU9OX1JFUEFJUik7CisgICAgICAgICAgICBicmVhazsKKworICAgICAgICBjYXNlIElEX1VOSU5TVEFMTF9CVVRUT046CisgICAgICAgICAgICBPblBsYW4oQk9PVFNUUkFQUEVSX0FDVElPTl9VTklOU1RBTEwpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKworICAgIExFeGl0OgorICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgdm9pZCBJbnN0YWxsUGFnZV9TaG93KCkgeworICAgICAgICAvLyBFbnN1cmUgdGhlIEFsbCBVc2VycyBpbnN0YWxsIGJ1dHRvbiBoYXMgYSBVQUMgc2hpZWxkCisgICAgICAgIExPTkdMT05HIGVsZXZhdGVkLCBpbnN0YWxsQWxsOworCisgICAgICAgIGlmIChGQUlMRUQoQmFsR2V0TnVtZXJpY1ZhcmlhYmxlKEwiV2l4QnVuZGxlRWxldmF0ZWQiLCAmZWxldmF0ZWQpKSkgeworICAgICAgICAgICAgZWxldmF0ZWQgPSAwOworICAgICAgICB9CisKKyAgICAgICAgVGhlbWVDb250cm9sRWxldmF0ZXMoX3RoZW1lLCBJRF9JTlNUQUxMX0FMTF9VU0VSU19CVVRUT04sICFlbGV2YXRlZCk7CisKKyAgICAgICAgaWYgKFNVQ0NFRURFRChCYWxHZXROdW1lcmljVmFyaWFibGUoTCJJbnN0YWxsQWxsVXNlcnMiLCAmaW5zdGFsbEFsbCkpICYmIGluc3RhbGxBbGwpIHsKKyAgICAgICAgICAgIFRoZW1lQ29udHJvbEVsZXZhdGVzKF90aGVtZSwgSURfSU5TVEFMTF9TSU1QTEVfQlVUVE9OLCAhZWxldmF0ZWQpOworICAgICAgICB9CisgICAgfQorCisgICAgdm9pZCBDdXN0b20xUGFnZV9TaG93KCkgeworICAgIH0KKworICAgIHZvaWQgQ3VzdG9tMlBhZ2VfU2hvdygpIHsKKyAgICAgICAgSFJFU1VMVCBocjsKKyAgICAgICAgTE9OR0xPTkcgaW5zdGFsbEFsbCwgZWxldmF0ZWQsIGluY2x1ZGVMYXVuY2hlcjsKKyAgICAgICAgCisgICAgICAgIGlmIChGQUlMRUQoQmFsR2V0TnVtZXJpY1ZhcmlhYmxlKEwiV2l4QnVuZGxlRWxldmF0ZWQiLCAmZWxldmF0ZWQpKSkgeworICAgICAgICAgICAgZWxldmF0ZWQgPSAwOworICAgICAgICB9CisgICAgICAgIGlmIChTVUNDRUVERUQoQmFsR2V0TnVtZXJpY1ZhcmlhYmxlKEwiSW5zdGFsbEFsbFVzZXJzIiwgJmluc3RhbGxBbGwpKSkgeworICAgICAgICAgICAgVGhlbWVDb250cm9sRWxldmF0ZXMoX3RoZW1lLCBJRF9DVVNUT01fSU5TVEFMTF9CVVRUT04sIGluc3RhbGxBbGwgJiYgIWVsZXZhdGVkKTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIGluc3RhbGxBbGwgPSAwOworICAgICAgICB9CisKKyAgICAgICAgaWYgKFNVQ0NFRURFRChCYWxHZXROdW1lcmljVmFyaWFibGUoTCJJbmNsdWRlX2xhdW5jaGVyIiwgJmluY2x1ZGVMYXVuY2hlcikpICYmIGluY2x1ZGVMYXVuY2hlcikgeworICAgICAgICAgICAgVGhlbWVDb250cm9sRW5hYmxlKF90aGVtZSwgSURfQ1VTVE9NX0FTU09DSUFURV9GSUxFU19DSEVDS0JPWCwgVFJVRSk7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBUaGVtZVNlbmRDb250cm9sTWVzc2FnZShfdGhlbWUsIElEX0NVU1RPTV9BU1NPQ0lBVEVfRklMRVNfQ0hFQ0tCT1gsIEJNX1NFVENIRUNLLCBCU1RfVU5DSEVDS0VELCAwKTsKKyAgICAgICAgICAgIFRoZW1lQ29udHJvbEVuYWJsZShfdGhlbWUsIElEX0NVU1RPTV9BU1NPQ0lBVEVfRklMRVNfQ0hFQ0tCT1gsIEZBTFNFKTsKKyAgICAgICAgfQorCisgICAgICAgIExQV1NUUiB0YXJnZXREaXIgPSBudWxscHRyOworICAgICAgICBociA9IEJhbEdldFN0cmluZ1ZhcmlhYmxlKEwiVGFyZ2V0RGlyIiwgJnRhcmdldERpcik7CisgICAgICAgIGlmIChTVUNDRUVERUQoaHIpICYmIHRhcmdldERpciAmJiB0YXJnZXREaXJbMF0pIHsKKyAgICAgICAgICAgIFRoZW1lU2V0VGV4dENvbnRyb2woX3RoZW1lLCBJRF9UQVJHRVRESVJfRURJVEJPWCwgdGFyZ2V0RGlyKTsKKyAgICAgICAgICAgIFN0ckZyZWUodGFyZ2V0RGlyKTsKKyAgICAgICAgfSBlbHNlIGlmIChTVUNDRUVERUQoaHIpKSB7CisgICAgICAgICAgICBTdHJGcmVlKHRhcmdldERpcik7CisgICAgICAgICAgICB0YXJnZXREaXIgPSBudWxscHRyOworCisgICAgICAgICAgICBMUFdTVFIgZGVmYXVsdFRhcmdldERpciA9IG51bGxwdHI7CisgICAgICAgICAgICBociA9IEJhbEdldFN0cmluZ1ZhcmlhYmxlKEwiRGVmYXVsdEN1c3RvbVRhcmdldERpciIsICZkZWZhdWx0VGFyZ2V0RGlyKTsKKyAgICAgICAgICAgIGlmIChTVUNDRUVERUQoaHIpICYmIGRlZmF1bHRUYXJnZXREaXIgJiYgIWRlZmF1bHRUYXJnZXREaXJbMF0pIHsKKyAgICAgICAgICAgICAgICBTdHJGcmVlKGRlZmF1bHRUYXJnZXREaXIpOworICAgICAgICAgICAgICAgIGRlZmF1bHRUYXJnZXREaXIgPSBudWxscHRyOworICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIGhyID0gQmFsR2V0U3RyaW5nVmFyaWFibGUoCisgICAgICAgICAgICAgICAgICAgIGluc3RhbGxBbGwgPyBMIkRlZmF1bHRBbGxVc2Vyc1RhcmdldERpciIgOiBMIkRlZmF1bHRKdXN0Rm9yTWVUYXJnZXREaXIiLAorICAgICAgICAgICAgICAgICAgICAmZGVmYXVsdFRhcmdldERpcgorICAgICAgICAgICAgICAgICk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBpZiAoU1VDQ0VFREVEKGhyKSAmJiBkZWZhdWx0VGFyZ2V0RGlyKSB7CisgICAgICAgICAgICAgICAgaWYgKGRlZmF1bHRUYXJnZXREaXJbMF0gJiYgU1VDQ0VFREVEKEJhbEZvcm1hdFN0cmluZyhkZWZhdWx0VGFyZ2V0RGlyLCAmdGFyZ2V0RGlyKSkpIHsKKyAgICAgICAgICAgICAgICAgICAgVGhlbWVTZXRUZXh0Q29udHJvbChfdGhlbWUsIElEX1RBUkdFVERJUl9FRElUQk9YLCB0YXJnZXREaXIpOworICAgICAgICAgICAgICAgICAgICBTdHJGcmVlKHRhcmdldERpcik7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIFN0ckZyZWUoZGVmYXVsdFRhcmdldERpcik7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9CisKKyAgICB2b2lkIE1vZGlmeVBhZ2VfU2hvdygpIHsKKyAgICAgICAgVGhlbWVDb250cm9sRW5hYmxlKF90aGVtZSwgSURfUkVQQUlSX0JVVFRPTiwgIV9zdXBwcmVzc1JlcGFpcik7CisgICAgfQorCisgICAgdm9pZCBTdWNjZXNzUGFnZV9TaG93KCkgeworICAgICAgICAvLyBvbiB0aGUgIlN1Y2Nlc3MiIHBhZ2UsIGNoZWNrIGlmIHRoZSByZXN0YXJ0IG9yIGxhdW5jaCBidXR0b24gc2hvdWxkIGJlIGVuYWJsZWQuCisgICAgICAgIEJPT0wgc2hvd1Jlc3RhcnRCdXR0b24gPSBGQUxTRTsKKyAgICAgICAgQk9PTCBsYXVuY2hUYXJnZXRFeGlzdHMgPSBGQUxTRTsKKyAgICAgICAgTE9DX1NUUklORyAqc3VjY2Vzc1RleHQgPSBudWxscHRyOworICAgICAgICBIUkVTVUxUIGhyID0gU19PSzsKKyAgICAgICAgCisgICAgICAgIGlmIChfcmVzdGFydFJlcXVpcmVkKSB7CisgICAgICAgICAgICBpZiAoQk9PVFNUUkFQUEVSX1JFU1RBUlRfUFJPTVBUID09IF9jb21tYW5kLnJlc3RhcnQpIHsKKyAgICAgICAgICAgICAgICBzaG93UmVzdGFydEJ1dHRvbiA9IFRSVUU7CisgICAgICAgICAgICB9CisgICAgICAgIH0gZWxzZSBpZiAoVGhlbWVDb250cm9sRXhpc3RzKF90aGVtZSwgSURfTEFVTkNIX0JVVFRPTikpIHsKKyAgICAgICAgICAgIGxhdW5jaFRhcmdldEV4aXN0cyA9IEJhbFN0cmluZ1ZhcmlhYmxlRXhpc3RzKFBZQkFfVkFSSUFCTEVfTEFVTkNIX1RBUkdFVF9QQVRIKTsKKyAgICAgICAgfQorCisgICAgICAgIHN3aXRjaCAoX3BsYW5uZWRBY3Rpb24pIHsKKyAgICAgICAgY2FzZSBCT09UU1RSQVBQRVJfQUNUSU9OX0lOU1RBTEw6CisgICAgICAgICAgICBociA9IExvY0dldFN0cmluZyhfd2l4TG9jLCBMIiMobG9jLlN1Y2Nlc3NJbnN0YWxsTWVzc2FnZSkiLCAmc3VjY2Vzc1RleHQpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgQk9PVFNUUkFQUEVSX0FDVElPTl9NT0RJRlk6CisgICAgICAgICAgICBociA9IExvY0dldFN0cmluZyhfd2l4TG9jLCBMIiMobG9jLlN1Y2Nlc3NNb2RpZnlNZXNzYWdlKSIsICZzdWNjZXNzVGV4dCk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBCT09UU1RSQVBQRVJfQUNUSU9OX1JFUEFJUjoKKyAgICAgICAgICAgIGhyID0gTG9jR2V0U3RyaW5nKF93aXhMb2MsIEwiIyhsb2MuU3VjY2Vzc1JlcGFpck1lc3NhZ2UpIiwgJnN1Y2Nlc3NUZXh0KTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIEJPT1RTVFJBUFBFUl9BQ1RJT05fVU5JTlNUQUxMOgorICAgICAgICAgICAgaHIgPSBMb2NHZXRTdHJpbmcoX3dpeExvYywgTCIjKGxvYy5TdWNjZXNzUmVtb3ZlTWVzc2FnZSkiLCAmc3VjY2Vzc1RleHQpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKworICAgICAgICBpZiAoc3VjY2Vzc1RleHQpIHsKKyAgICAgICAgICAgIExQV1NUUiBmb3JtYXR0ZWRTdHJpbmcgPSBudWxscHRyOworICAgICAgICAgICAgQmFsRm9ybWF0U3RyaW5nKHN1Y2Nlc3NUZXh0LT53elRleHQsICZmb3JtYXR0ZWRTdHJpbmcpOworICAgICAgICAgICAgaWYgKGZvcm1hdHRlZFN0cmluZykgeworICAgICAgICAgICAgICAgIFRoZW1lU2V0VGV4dENvbnRyb2woX3RoZW1lLCBJRF9TVUNDRVNTX1RFWFQsIGZvcm1hdHRlZFN0cmluZyk7CisgICAgICAgICAgICAgICAgU3RyRnJlZShmb3JtYXR0ZWRTdHJpbmcpOworICAgICAgICAgICAgfQorICAgICAgICB9CisKKyAgICAgICAgVGhlbWVDb250cm9sRW5hYmxlKF90aGVtZSwgSURfTEFVTkNIX0JVVFRPTiwgbGF1bmNoVGFyZ2V0RXhpc3RzICYmIEJPT1RTVFJBUFBFUl9BQ1RJT05fVU5JTlNUQUxMIDwgX3BsYW5uZWRBY3Rpb24pOworICAgICAgICBUaGVtZUNvbnRyb2xFbmFibGUoX3RoZW1lLCBJRF9TVUNDRVNTX1JFU1RBUlRfVEVYVCwgc2hvd1Jlc3RhcnRCdXR0b24pOworICAgICAgICBUaGVtZUNvbnRyb2xFbmFibGUoX3RoZW1lLCBJRF9TVUNDRVNTX1JFU1RBUlRfQlVUVE9OLCBzaG93UmVzdGFydEJ1dHRvbik7CisgICAgfQorCisgICAgdm9pZCBGYWlsdXJlUGFnZV9TaG93KCkgeworICAgICAgICAvLyBvbiB0aGUgIkZhaWx1cmUiIHBhZ2UsIHNob3cgZXJyb3IgbWVzc2FnZSBhbmQgY2hlY2sgaWYgdGhlIHJlc3RhcnQgYnV0dG9uIHNob3VsZCBiZSBlbmFibGVkLgorCisgICAgICAgIC8vIGlmIHRoZXJlIGlzIGEgbG9nIGZpbGUgdmFyaWFibGUgdGhlbiB3ZSdsbCBhc3N1bWUgdGhlIGxvZyBmaWxlIGV4aXN0cy4KKyAgICAgICAgQk9PTCBzaG93TG9nTGluayA9IChfYnVuZGxlLnNjekxvZ1ZhcmlhYmxlICYmICpfYnVuZGxlLnNjekxvZ1ZhcmlhYmxlKTsKKyAgICAgICAgQk9PTCBzaG93RXJyb3JNZXNzYWdlID0gRkFMU0U7CisgICAgICAgIEJPT0wgc2hvd1Jlc3RhcnRCdXR0b24gPSBGQUxTRTsKKworICAgICAgICBpZiAoRkFJTEVEKF9ockZpbmFsKSkgeworICAgICAgICAgICAgTFBXU1RSIHVuZm9ybWF0dGVkVGV4dCA9IG51bGxwdHI7CisgICAgICAgICAgICBMUFdTVFIgdGV4dCA9IG51bGxwdHI7CisKKyAgICAgICAgICAgIC8vIElmIHdlIGtub3cgdGhlIGZhaWx1cmUgbWVzc2FnZSwgdXNlIHRoYXQuCisgICAgICAgICAgICBpZiAoX2ZhaWxlZE1lc3NhZ2UgJiYgKl9mYWlsZWRNZXNzYWdlKSB7CisgICAgICAgICAgICAgICAgU3RyQWxsb2NTdHJpbmcoJnVuZm9ybWF0dGVkVGV4dCwgX2ZhaWxlZE1lc3NhZ2UsIDApOworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAvLyB0cnkgdG8gZ2V0IHRoZSBlcnJvciBtZXNzYWdlIGZyb20gdGhlIGVycm9yIGNvZGUuCisgICAgICAgICAgICAgICAgU3RyQWxsb2NGcm9tRXJyb3IoJnVuZm9ybWF0dGVkVGV4dCwgX2hyRmluYWwsIG51bGxwdHIpOworICAgICAgICAgICAgICAgIGlmICghdW5mb3JtYXR0ZWRUZXh0IHx8ICEqdW5mb3JtYXR0ZWRUZXh0KSB7CisgICAgICAgICAgICAgICAgICAgIFN0ckFsbG9jRnJvbUVycm9yKCZ1bmZvcm1hdHRlZFRleHQsIEVfRkFJTCwgbnVsbHB0cik7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorCisgICAgICAgICAgICBpZiAoRV9XSVhTVERCQV9DT05ESVRJT05fRkFJTEVEID09IF9ockZpbmFsKSB7CisgICAgICAgICAgICAgICAgaWYgKHVuZm9ybWF0dGVkVGV4dCkgeworICAgICAgICAgICAgICAgICAgICBTdHJBbGxvY1N0cmluZygmdGV4dCwgdW5mb3JtYXR0ZWRUZXh0LCAwKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIFN0ckFsbG9jRm9ybWF0dGVkKCZ0ZXh0LCBMIjB4JTA4eCAtICVscyIsIF9ockZpbmFsLCB1bmZvcm1hdHRlZFRleHQpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBpZiAodGV4dCkgeworICAgICAgICAgICAgICAgIFRoZW1lU2V0VGV4dENvbnRyb2woX3RoZW1lLCBJRF9GQUlMVVJFX01FU1NBR0VfVEVYVCwgdGV4dCk7CisgICAgICAgICAgICAgICAgc2hvd0Vycm9yTWVzc2FnZSA9IFRSVUU7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIFJlbGVhc2VTdHIodGV4dCk7CisgICAgICAgICAgICBSZWxlYXNlU3RyKHVuZm9ybWF0dGVkVGV4dCk7CisgICAgICAgIH0KKworICAgICAgICBpZiAoX3Jlc3RhcnRSZXF1aXJlZCAmJiBCT09UU1RSQVBQRVJfUkVTVEFSVF9QUk9NUFQgPT0gX2NvbW1hbmQucmVzdGFydCkgeworICAgICAgICAgICAgc2hvd1Jlc3RhcnRCdXR0b24gPSBUUlVFOworICAgICAgICB9CisKKyAgICAgICAgVGhlbWVDb250cm9sRW5hYmxlKF90aGVtZSwgSURfRkFJTFVSRV9MT0dGSUxFX0xJTkssIHNob3dMb2dMaW5rKTsKKyAgICAgICAgVGhlbWVDb250cm9sRW5hYmxlKF90aGVtZSwgSURfRkFJTFVSRV9NRVNTQUdFX1RFWFQsIHNob3dFcnJvck1lc3NhZ2UpOworICAgICAgICBUaGVtZUNvbnRyb2xFbmFibGUoX3RoZW1lLCBJRF9GQUlMVVJFX1JFU1RBUlRfVEVYVCwgc2hvd1Jlc3RhcnRCdXR0b24pOworICAgICAgICBUaGVtZUNvbnRyb2xFbmFibGUoX3RoZW1lLCBJRF9GQUlMVVJFX1JFU1RBUlRfQlVUVE9OLCBzaG93UmVzdGFydEJ1dHRvbik7CisgICAgfQorCisKK3B1YmxpYzogLy8gSUJvb3RzdHJhcHBlckFwcGxpY2F0aW9uCisgICAgdmlydHVhbCBTVERNRVRIT0RJTVAgT25TdGFydHVwKCkgeworICAgICAgICBIUkVTVUxUIGhyID0gU19PSzsKKyAgICAgICAgRFdPUkQgZHdVSVRocmVhZElkID0gMDsKKworICAgICAgICAvLyBjcmVhdGUgVUkgdGhyZWFkCisgICAgICAgIF9oVWlUaHJlYWQgPSA6OkNyZWF0ZVRocmVhZChudWxscHRyLCAwLCBVaVRocmVhZFByb2MsIHRoaXMsIDAsICZkd1VJVGhyZWFkSWQpOworICAgICAgICBpZiAoIV9oVWlUaHJlYWQpIHsKKyAgICAgICAgICAgIEV4aXRXaXRoTGFzdEVycm9yKGhyLCAiRmFpbGVkIHRvIGNyZWF0ZSBVSSB0aHJlYWQuIik7CisgICAgICAgIH0KKworICAgIExFeGl0OgorICAgICAgICByZXR1cm4gaHI7CisgICAgfQorCisKKyAgICB2aXJ0dWFsIFNURE1FVEhPRElNUF8oaW50KSBPblNodXRkb3duKCkgeworICAgICAgICBpbnQgblJlc3VsdCA9IElETk9BQ1RJT047CisKKyAgICAgICAgLy8gd2FpdCBmb3IgVUkgdGhyZWFkIHRvIHRlcm1pbmF0ZQorICAgICAgICBpZiAoX2hVaVRocmVhZCkgeworICAgICAgICAgICAgOjpXYWl0Rm9yU2luZ2xlT2JqZWN0KF9oVWlUaHJlYWQsIElORklOSVRFKTsKKyAgICAgICAgICAgIFJlbGVhc2VIYW5kbGUoX2hVaVRocmVhZCk7CisgICAgICAgIH0KKworICAgICAgICAvLyBJZiBhIHJlc3RhcnQgd2FzIHJlcXVpcmVkLgorICAgICAgICBpZiAoX3Jlc3RhcnRSZXF1aXJlZCAmJiBfYWxsb3dSZXN0YXJ0KSB7CisgICAgICAgICAgICBuUmVzdWx0ID0gSURSRVNUQVJUOworICAgICAgICB9CisKKyAgICAgICAgcmV0dXJuIG5SZXN1bHQ7CisgICAgfQorCisKKyAgICB2aXJ0dWFsIFNURE1FVEhPRElNUF8oaW50KSBPbkRldGVjdFJlbGF0ZWRCdW5kbGUoCisgICAgICAgIF9faW4gTFBDV1NUUiB3ekJ1bmRsZUlkLAorICAgICAgICBfX2luIEJPT1RTVFJBUFBFUl9SRUxBVElPTl9UWVBFIHJlbGF0aW9uVHlwZSwKKyAgICAgICAgX19pbiBMUENXU1RSIC8qd3pCdW5kbGVUYWcqLywKKyAgICAgICAgX19pbiBCT09MIGZQZXJNYWNoaW5lLAorICAgICAgICBfX2luIERXT1JENjQgLypkdzY0VmVyc2lvbiovLAorICAgICAgICBfX2luIEJPT1RTVFJBUFBFUl9SRUxBVEVEX09QRVJBVElPTiBvcGVyYXRpb24KKyAgICApIHsKKyAgICAgICAgQmFsSW5mb0FkZFJlbGF0ZWRCdW5kbGVBc1BhY2thZ2UoJl9idW5kbGUucGFja2FnZXMsIHd6QnVuZGxlSWQsIHJlbGF0aW9uVHlwZSwgZlBlck1hY2hpbmUpOworCisgICAgICAgIC8vIFJlbWVtYmVyIHdoZW4gb3VyIGJ1bmRsZSB3b3VsZCBjYXVzZSBhIGRvd25ncmFkZS4KKyAgICAgICAgaWYgKEJPT1RTVFJBUFBFUl9SRUxBVEVEX09QRVJBVElPTl9ET1dOR1JBREUgPT0gb3BlcmF0aW9uKSB7CisgICAgICAgICAgICBfZG93bmdyYWRpbmcgPSBUUlVFOworICAgICAgICB9CisKKyAgICAgICAgcmV0dXJuIENoZWNrQ2FuY2VsZWQoKSA/IElEQ0FOQ0VMIDogSURPSzsKKyAgICB9CisKKworICAgIHZpcnR1YWwgU1RETUVUSE9ESU1QXyh2b2lkKSBPbkRldGVjdFBhY2thZ2VDb21wbGV0ZSgKKyAgICAgICAgX19pbiBMUENXU1RSIHd6UGFja2FnZUlkLAorICAgICAgICBfX2luIEhSRVNVTFQgLypoclN0YXR1cyovLAorICAgICAgICBfX2luIEJPT1RTVFJBUFBFUl9QQUNLQUdFX1NUQVRFIHN0YXRlCisgICAgKSB7IH0KKworCisgICAgdmlydHVhbCBTVERNRVRIT0RJTVBfKHZvaWQpIE9uRGV0ZWN0Q29tcGxldGUoX19pbiBIUkVTVUxUIGhyU3RhdHVzKSB7CisgICAgICAgIGlmIChTVUNDRUVERUQoaHJTdGF0dXMpICYmIF9iYUZ1bmN0aW9uKSB7CisgICAgICAgICAgICBCYWxMb2coQk9PVFNUUkFQUEVSX0xPR19MRVZFTF9TVEFOREFSRCwgIlJ1bm5pbmcgZGV0ZWN0IGNvbXBsZXRlIEJBIGZ1bmN0aW9uIik7CisgICAgICAgICAgICBfYmFGdW5jdGlvbi0+T25EZXRlY3RDb21wbGV0ZSgpOworICAgICAgICB9CisKKyAgICAgICAgaWYgKFNVQ0NFRURFRChoclN0YXR1cykpIHsKKyAgICAgICAgICAgIGhyU3RhdHVzID0gRXZhbHVhdGVDb25kaXRpb25zKCk7CisgICAgICAgIH0KKworICAgICAgICBTZXRTdGF0ZShQWUJBX1NUQVRFX0RFVEVDVEVELCBoclN0YXR1cyk7CisKKyAgICAgICAgLy8gSWYgd2UncmUgbm90IGludGVyYWN0aW5nIHdpdGggdGhlIHVzZXIgb3Igd2UncmUgZG9pbmcgYSBsYXlvdXQgb3Igd2UncmUganVzdCBhZnRlciBhIGZvcmNlIHJlc3RhcnQKKyAgICAgICAgLy8gdGhlbiBhdXRvbWF0aWNhbGx5IHN0YXJ0IHBsYW5uaW5nLgorICAgICAgICBpZiAoQk9PVFNUUkFQUEVSX0RJU1BMQVlfRlVMTCA+IF9jb21tYW5kLmRpc3BsYXkgfHwKKyAgICAgICAgICAgIEJPT1RTVFJBUFBFUl9BQ1RJT05fTEFZT1VUID09IF9jb21tYW5kLmFjdGlvbiB8fAorICAgICAgICAgICAgQk9PVFNUUkFQUEVSX0FDVElPTl9VTklOU1RBTEwgPT0gX2NvbW1hbmQuYWN0aW9uIHx8CisgICAgICAgICAgICBCT09UU1RSQVBQRVJfUkVTVU1FX1RZUEVfUkVCT09UID09IF9jb21tYW5kLnJlc3VtZVR5cGUpIHsKKyAgICAgICAgICAgIGlmIChTVUNDRUVERUQoaHJTdGF0dXMpKSB7CisgICAgICAgICAgICAgICAgOjpQb3N0TWVzc2FnZVcoX2hXbmQsIFdNX1BZQkFfUExBTl9QQUNLQUdFUywgMCwgX2NvbW1hbmQuYWN0aW9uKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0KKworCisgICAgdmlydHVhbCBTVERNRVRIT0RJTVBfKGludCkgT25QbGFuUmVsYXRlZEJ1bmRsZSgKKyAgICAgICAgX19pbl96IExQQ1dTVFIgLyp3ekJ1bmRsZUlkKi8sCisgICAgICAgIF9faW5vdXRfeiBCT09UU1RSQVBQRVJfUkVRVUVTVF9TVEFURSogcFJlcXVlc3RlZFN0YXRlCisgICAgKSB7CisgICAgICAgIHJldHVybiBDaGVja0NhbmNlbGVkKCkgPyBJRENBTkNFTCA6IElET0s7CisgICAgfQorCisKKyAgICB2aXJ0dWFsIFNURE1FVEhPRElNUF8oaW50KSBPblBsYW5QYWNrYWdlQmVnaW4oCisgICAgICAgIF9faW5feiBMUENXU1RSIHd6UGFja2FnZUlkLAorICAgICAgICBfX2lub3V0IEJPT1RTVFJBUFBFUl9SRVFVRVNUX1NUQVRFICpwUmVxdWVzdFN0YXRlCisgICAgKSB7CisgICAgICAgIEhSRVNVTFQgaHIgPSBTX09LOworICAgICAgICBCQUxfSU5GT19QQUNLQUdFKiBwUGFja2FnZSA9IG51bGxwdHI7CisKKyAgICAgICAgaWYgKF9uZXh0UGFja2FnZUFmdGVyUmVzdGFydCkgLy8gYWZ0ZXIgZm9yY2UgcmVzdGFydCwgc2tpcCBwYWNrYWdlcyB1bnRpbCBhZnRlciB0aGUgcGFja2FnZSB0aGF0IGNhdXNlZCB0aGUgcmVzdGFydC4KKyAgICAgICAgeworICAgICAgICAgICAgLy8gQWZ0ZXIgcmVzdGFydCB3ZSBuZWVkIHRvIGZpbmlzaCB0aGUgZGVwZW5kZW5jeSByZWdpc3RyYXRpb24gZm9yIG91ciBwYWNrYWdlIHNvIGFsbG93IHRoZSBwYWNrYWdlCisgICAgICAgICAgICAvLyB0byBnbyBwcmVzZW50LgorICAgICAgICAgICAgaWYgKENTVFJfRVFVQUwgPT0gOjpDb21wYXJlU3RyaW5nVyhMT0NBTEVfTkVVVFJBTCwgMCwgd3pQYWNrYWdlSWQsIC0xLCBfbmV4dFBhY2thZ2VBZnRlclJlc3RhcnQsIC0xKSkgeworICAgICAgICAgICAgICAgIC8vIERvIG5vdCBhbGxvdyBhIHJlcGFpciBiZWNhdXNlIHRoYXQgY291bGQgcHV0IHVzIGluIGEgcGVycGV0dWFsIHJlc3RhcnQgbG9vcC4KKyAgICAgICAgICAgICAgICBpZiAoQk9PVFNUUkFQUEVSX1JFUVVFU1RfU1RBVEVfUkVQQUlSID09ICpwUmVxdWVzdFN0YXRlKSB7CisgICAgICAgICAgICAgICAgICAgICpwUmVxdWVzdFN0YXRlID0gQk9PVFNUUkFQUEVSX1JFUVVFU1RfU1RBVEVfUFJFU0VOVDsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICBSZWxlYXNlTnVsbFN0cihfbmV4dFBhY2thZ2VBZnRlclJlc3RhcnQpOyAvLyBubyBtb3JlIHNraXBwaW5nIG5vdy4KKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgLy8gbm90IHRoZSBtYXRjaGluZyBwYWNrYWdlLCBzbyBza2lwIGl0LgorICAgICAgICAgICAgICAgIEJhbExvZyhCT09UU1RSQVBQRVJfTE9HX0xFVkVMX1NUQU5EQVJELCAiU2tpcHBpbmcgcGFja2FnZTogJWxzLCBhZnRlciByZXN0YXJ0IGJlY2F1c2UgaXQgd2FzIGFwcGxpZWQgYmVmb3JlIHRoZSByZXN0YXJ0LiIsIHd6UGFja2FnZUlkKTsKKworICAgICAgICAgICAgICAgICpwUmVxdWVzdFN0YXRlID0gQk9PVFNUUkFQUEVSX1JFUVVFU1RfU1RBVEVfTk9ORTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorCisgICAgICAgIHJldHVybiBDaGVja0NhbmNlbGVkKCkgPyBJRENBTkNFTCA6IElET0s7CisgICAgfQorCisgICAgdmlydHVhbCBTVERNRVRIT0RJTVBfKGludCkgT25QbGFuTXNpRmVhdHVyZSgKKyAgICAgICAgX19pbl96IExQQ1dTVFIgd3pQYWNrYWdlSWQsCisgICAgICAgIF9faW5feiBMUENXU1RSIHd6RmVhdHVyZUlkLAorICAgICAgICBfX2lub3V0IEJPT1RTVFJBUFBFUl9GRUFUVVJFX1NUQVRFKiBwUmVxdWVzdGVkU3RhdGUKKyAgICApIHsKKyAgICAgICAgTE9OR0xPTkcgaW5zdGFsbDsKKyAgICAgICAgCisgICAgICAgIGlmICh3Y3NjbXAod3pGZWF0dXJlSWQsIEwiQXNzb2NpYXRlRmlsZXMiKSA9PSAwKSB7CisgICAgICAgICAgICBpZiAoU1VDQ0VFREVEKF9lbmdpbmUtPkdldFZhcmlhYmxlTnVtZXJpYyhMIkFzc29jaWF0ZUZpbGVzIiwgJmluc3RhbGwpKSAmJiBpbnN0YWxsKSB7CisgICAgICAgICAgICAgICAgKnBSZXF1ZXN0ZWRTdGF0ZSA9IEJPT1RTVFJBUFBFUl9GRUFUVVJFX1NUQVRFX0xPQ0FMOworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAqcFJlcXVlc3RlZFN0YXRlID0gQk9PVFNUUkFQUEVSX0ZFQVRVUkVfU1RBVEVfQUJTRU5UOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIHJldHVybiBDaGVja0NhbmNlbGVkKCkgPyBJRENBTkNFTCA6IElETk9BQ1RJT047CisgICAgfQorCisgICAgdmlydHVhbCBTVERNRVRIT0RJTVBfKHZvaWQpIE9uUGxhbkNvbXBsZXRlKF9faW4gSFJFU1VMVCBoclN0YXR1cykgeworICAgICAgICBpZiAoU1VDQ0VFREVEKGhyU3RhdHVzKSAmJiBfYmFGdW5jdGlvbikgeworICAgICAgICAgICAgQmFsTG9nKEJPT1RTVFJBUFBFUl9MT0dfTEVWRUxfU1RBTkRBUkQsICJSdW5uaW5nIHBsYW4gY29tcGxldGUgQkEgZnVuY3Rpb24iKTsKKyAgICAgICAgICAgIF9iYUZ1bmN0aW9uLT5PblBsYW5Db21wbGV0ZSgpOworICAgICAgICB9CisKKyAgICAgICAgU2V0U3RhdGUoUFlCQV9TVEFURV9QTEFOTkVELCBoclN0YXR1cyk7CisKKyAgICAgICAgaWYgKFNVQ0NFRURFRChoclN0YXR1cykpIHsKKyAgICAgICAgICAgIDo6UG9zdE1lc3NhZ2VXKF9oV25kLCBXTV9QWUJBX0FQUExZX1BBQ0tBR0VTLCAwLCAwKTsKKyAgICAgICAgfQorCisgICAgICAgIF9zdGFydGVkRXhlY3V0aW9uID0gRkFMU0U7CisgICAgICAgIF9jYWxjdWxhdGVkQ2FjaGVQcm9ncmVzcyA9IDA7CisgICAgICAgIF9jYWxjdWxhdGVkRXhlY3V0ZVByb2dyZXNzID0gMDsKKyAgICB9CisKKworICAgIHZpcnR1YWwgU1RETUVUSE9ESU1QXyhpbnQpIE9uQ2FjaGVQYWNrYWdlQmVnaW4oCisgICAgICAgIF9faW5feiBMUENXU1RSIHd6UGFja2FnZUlkLAorICAgICAgICBfX2luIERXT1JEIGNDYWNoZVBheWxvYWRzLAorICAgICAgICBfX2luIERXT1JENjQgZHc2NFBhY2thZ2VDYWNoZVNpemUKKyAgICApIHsKKyAgICAgICAgaWYgKHd6UGFja2FnZUlkICYmICp3elBhY2thZ2VJZCkgeworICAgICAgICAgICAgQkFMX0lORk9fUEFDS0FHRSogcFBhY2thZ2UgPSBudWxscHRyOworICAgICAgICAgICAgSFJFU1VMVCBociA9IEJhbEluZm9GaW5kUGFja2FnZUJ5SWQoJl9idW5kbGUucGFja2FnZXMsIHd6UGFja2FnZUlkLCAmcFBhY2thZ2UpOworICAgICAgICAgICAgTFBDV1NUUiB3eiA9IChTVUNDRUVERUQoaHIpICYmIHBQYWNrYWdlLT5zY3pEaXNwbGF5TmFtZSkgPyBwUGFja2FnZS0+c2N6RGlzcGxheU5hbWUgOiB3elBhY2thZ2VJZDsKKworICAgICAgICAgICAgVGhlbWVTZXRUZXh0Q29udHJvbChfdGhlbWUsIElEX0NBQ0hFX1BST0dSRVNTX1BBQ0tBR0VfVEVYVCwgd3opOworCisgICAgICAgICAgICAvLyBJZiBzb21ldGhpbmcgc3RhcnRlZCBleGVjdXRpbmcsIGxlYXZlIGl0IGluIHRoZSBvdmVyYWxsIHByb2dyZXNzIHRleHQuCisgICAgICAgICAgICBpZiAoIV9zdGFydGVkRXhlY3V0aW9uKSB7CisgICAgICAgICAgICAgICAgVGhlbWVTZXRUZXh0Q29udHJvbChfdGhlbWUsIElEX09WRVJBTExfUFJPR1JFU1NfUEFDS0FHRV9URVhULCB3eik7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKworICAgICAgICByZXR1cm4gX19zdXBlcjo6T25DYWNoZVBhY2thZ2VCZWdpbih3elBhY2thZ2VJZCwgY0NhY2hlUGF5bG9hZHMsIGR3NjRQYWNrYWdlQ2FjaGVTaXplKTsKKyAgICB9CisKKworICAgIHZpcnR1YWwgU1RETUVUSE9ESU1QXyhpbnQpIE9uQ2FjaGVBY3F1aXJlUHJvZ3Jlc3MoCisgICAgICAgIF9faW5feiBMUENXU1RSIHd6UGFja2FnZU9yQ29udGFpbmVySWQsCisgICAgICAgIF9faW5fel9vcHQgTFBDV1NUUiB3elBheWxvYWRJZCwKKyAgICAgICAgX19pbiBEV09SRDY0IGR3NjRQcm9ncmVzcywKKyAgICAgICAgX19pbiBEV09SRDY0IGR3NjRUb3RhbCwKKyAgICAgICAgX19pbiBEV09SRCBkd092ZXJhbGxQZXJjZW50YWdlCisgICAgKSB7CisgICAgICAgIFdDSEFSIHd6UHJvZ3Jlc3NbNV0gPSB7IH07CisKKyNpZmRlZiBERUJVRworICAgICAgICBCYWxMb2coQk9PVFNUUkFQUEVSX0xPR19MRVZFTF9TVEFOREFSRCwgIlBZQkE6IE9uQ2FjaGVBY3F1aXJlUHJvZ3Jlc3MoKSAtIGNvbnRhaW5lci9wYWNrYWdlOiAlbHMsIHBheWxvYWQ6ICVscywgcHJvZ3Jlc3M6ICVJNjR1LCB0b3RhbDogJUk2NHUsIG92ZXJhbGwgcHJvZ3Jlc3M6ICV1JSUiLCB3elBhY2thZ2VPckNvbnRhaW5lcklkLCB3elBheWxvYWRJZCwgZHc2NFByb2dyZXNzLCBkdzY0VG90YWwsIGR3T3ZlcmFsbFBlcmNlbnRhZ2UpOworI2VuZGlmCisKKyAgICAgICAgOjpTdHJpbmdDY2hQcmludGZXKHd6UHJvZ3Jlc3MsIGNvdW50b2Yod3pQcm9ncmVzcyksIEwiJXUlJSIsIGR3T3ZlcmFsbFBlcmNlbnRhZ2UpOworICAgICAgICBUaGVtZVNldFRleHRDb250cm9sKF90aGVtZSwgSURfQ0FDSEVfUFJPR1JFU1NfVEVYVCwgd3pQcm9ncmVzcyk7CisKKyAgICAgICAgVGhlbWVTZXRQcm9ncmVzc0NvbnRyb2woX3RoZW1lLCBJRF9DQUNIRV9QUk9HUkVTU19CQVIsIGR3T3ZlcmFsbFBlcmNlbnRhZ2UpOworCisgICAgICAgIF9jYWxjdWxhdGVkQ2FjaGVQcm9ncmVzcyA9IGR3T3ZlcmFsbFBlcmNlbnRhZ2UgKiBQWUJBX0FDUVVJUkVfUEVSQ0VOVEFHRSAvIDEwMDsKKyAgICAgICAgVGhlbWVTZXRQcm9ncmVzc0NvbnRyb2woX3RoZW1lLCBJRF9PVkVSQUxMX0NBTENVTEFURURfUFJPR1JFU1NfQkFSLCBfY2FsY3VsYXRlZENhY2hlUHJvZ3Jlc3MgKyBfY2FsY3VsYXRlZEV4ZWN1dGVQcm9ncmVzcyk7CisKKyAgICAgICAgU2V0VGFza2JhckJ1dHRvblByb2dyZXNzKF9jYWxjdWxhdGVkQ2FjaGVQcm9ncmVzcyArIF9jYWxjdWxhdGVkRXhlY3V0ZVByb2dyZXNzKTsKKworICAgICAgICByZXR1cm4gX19zdXBlcjo6T25DYWNoZUFjcXVpcmVQcm9ncmVzcyh3elBhY2thZ2VPckNvbnRhaW5lcklkLCB3elBheWxvYWRJZCwgZHc2NFByb2dyZXNzLCBkdzY0VG90YWwsIGR3T3ZlcmFsbFBlcmNlbnRhZ2UpOworICAgIH0KKworCisgICAgdmlydHVhbCBTVERNRVRIT0RJTVBfKGludCkgT25DYWNoZUFjcXVpcmVDb21wbGV0ZSgKKyAgICAgICAgX19pbl96IExQQ1dTVFIgd3pQYWNrYWdlT3JDb250YWluZXJJZCwKKyAgICAgICAgX19pbl96X29wdCBMUENXU1RSIHd6UGF5bG9hZElkLAorICAgICAgICBfX2luIEhSRVNVTFQgaHJTdGF0dXMsCisgICAgICAgIF9faW4gaW50IG5SZWNvbW1lbmRhdGlvbgorICAgICkgeworICAgICAgICBTZXRQcm9ncmVzc1N0YXRlKGhyU3RhdHVzKTsKKyAgICAgICAgcmV0dXJuIF9fc3VwZXI6Ok9uQ2FjaGVBY3F1aXJlQ29tcGxldGUod3pQYWNrYWdlT3JDb250YWluZXJJZCwgd3pQYXlsb2FkSWQsIGhyU3RhdHVzLCBuUmVjb21tZW5kYXRpb24pOworICAgIH0KKworCisgICAgdmlydHVhbCBTVERNRVRIT0RJTVBfKGludCkgT25DYWNoZVZlcmlmeUNvbXBsZXRlKAorICAgICAgICBfX2luX3ogTFBDV1NUUiB3elBhY2thZ2VJZCwKKyAgICAgICAgX19pbl96IExQQ1dTVFIgd3pQYXlsb2FkSWQsCisgICAgICAgIF9faW4gSFJFU1VMVCBoclN0YXR1cywKKyAgICAgICAgX19pbiBpbnQgblJlY29tbWVuZGF0aW9uCisgICAgKSB7CisgICAgICAgIFNldFByb2dyZXNzU3RhdGUoaHJTdGF0dXMpOworICAgICAgICByZXR1cm4gX19zdXBlcjo6T25DYWNoZVZlcmlmeUNvbXBsZXRlKHd6UGFja2FnZUlkLCB3elBheWxvYWRJZCwgaHJTdGF0dXMsIG5SZWNvbW1lbmRhdGlvbik7CisgICAgfQorCisKKyAgICB2aXJ0dWFsIFNURE1FVEhPRElNUF8odm9pZCkgT25DYWNoZUNvbXBsZXRlKF9faW4gSFJFU1VMVCAvKmhyU3RhdHVzKi8pIHsKKyAgICAgICAgVGhlbWVTZXRUZXh0Q29udHJvbChfdGhlbWUsIElEX0NBQ0hFX1BST0dSRVNTX1BBQ0tBR0VfVEVYVCwgTCIiKTsKKyAgICAgICAgU2V0U3RhdGUoUFlCQV9TVEFURV9DQUNIRUQsIFNfT0spOyAvLyB3ZSBhbHdheXMgcmV0dXJuIHN1Y2Nlc3MgaGVyZSBhbmQgbGV0IE9uQXBwbHlDb21wbGV0ZSgpIGRlYWwgd2l0aCB0aGUgZXJyb3IuCisgICAgfQorCisKKyAgICB2aXJ0dWFsIFNURE1FVEhPRElNUF8oaW50KSBPbkVycm9yKAorICAgICAgICBfX2luIEJPT1RTVFJBUFBFUl9FUlJPUl9UWVBFIGVycm9yVHlwZSwKKyAgICAgICAgX19pbiBMUENXU1RSIHd6UGFja2FnZUlkLAorICAgICAgICBfX2luIERXT1JEIGR3Q29kZSwKKyAgICAgICAgX19pbl96IExQQ1dTVFIgd3pFcnJvciwKKyAgICAgICAgX19pbiBEV09SRCBkd1VJSGludCwKKyAgICAgICAgX19pbiBEV09SRCAvKmNEYXRhKi8sCisgICAgICAgIF9faW5fZWNvdW50X3pfb3B0KGNEYXRhKSBMUENXU1RSKiAvKnJnd3pEYXRhKi8sCisgICAgICAgIF9faW4gaW50IG5SZWNvbW1lbmRhdGlvbgorICAgICkgeworICAgICAgICBpbnQgblJlc3VsdCA9IG5SZWNvbW1lbmRhdGlvbjsKKyAgICAgICAgTFBXU1RSIHNjekVycm9yID0gbnVsbHB0cjsKKworICAgICAgICBpZiAoQk9PVFNUUkFQUEVSX0RJU1BMQVlfRU1CRURERUQgPT0gX2NvbW1hbmQuZGlzcGxheSkgeworICAgICAgICAgICAgSFJFU1VMVCBociA9IF9lbmdpbmUtPlNlbmRFbWJlZGRlZEVycm9yKGR3Q29kZSwgd3pFcnJvciwgZHdVSUhpbnQsICZuUmVzdWx0KTsKKyAgICAgICAgICAgIGlmIChGQUlMRUQoaHIpKSB7CisgICAgICAgICAgICAgICAgblJlc3VsdCA9IElERVJST1I7CisgICAgICAgICAgICB9CisgICAgICAgIH0gZWxzZSBpZiAoQk9PVFNUUkFQUEVSX0RJU1BMQVlfRlVMTCA9PSBfY29tbWFuZC5kaXNwbGF5KSB7CisgICAgICAgICAgICAvLyBJZiB0aGlzIGlzIGFuIGF1dGhlbnRpY2F0aW9uIGZhaWx1cmUsIGxldCB0aGUgZW5naW5lIHRyeSB0byBoYW5kbGUgaXQgZm9yIHVzLgorICAgICAgICAgICAgaWYgKEJPT1RTVFJBUFBFUl9FUlJPUl9UWVBFX0hUVFBfQVVUSF9TRVJWRVIgPT0gZXJyb3JUeXBlIHx8IEJPT1RTVFJBUFBFUl9FUlJPUl9UWVBFX0hUVFBfQVVUSF9QUk9YWSA9PSBlcnJvclR5cGUpIHsKKyAgICAgICAgICAgICAgICBuUmVzdWx0ID0gSURUUllBR0FJTjsKKyAgICAgICAgICAgIH0gZWxzZSAvLyBzaG93IGEgZ2VuZXJpYyBlcnJvciBtZXNzYWdlIGJveC4KKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBCYWxSZXRyeUVycm9yT2NjdXJyZWQod3pQYWNrYWdlSWQsIGR3Q29kZSk7CisKKyAgICAgICAgICAgICAgICBpZiAoIV9zaG93aW5nSW50ZXJuYWxVSVRoaXNQYWNrYWdlKSB7CisgICAgICAgICAgICAgICAgICAgIC8vIElmIG5vIGVycm9yIG1lc3NhZ2Ugd2FzIHByb3ZpZGVkLCB1c2UgdGhlIGVycm9yIGNvZGUgdG8gdHJ5IGFuZCBnZXQgYW4gZXJyb3IgbWVzc2FnZS4KKyAgICAgICAgICAgICAgICAgICAgaWYgKCF3ekVycm9yIHx8ICEqd3pFcnJvciB8fCBCT09UU1RSQVBQRVJfRVJST1JfVFlQRV9XSU5ET1dTX0lOU1RBTExFUiAhPSBlcnJvclR5cGUpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIEhSRVNVTFQgaHIgPSBTdHJBbGxvY0Zyb21FcnJvcigmc2N6RXJyb3IsIGR3Q29kZSwgbnVsbHB0cik7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoRkFJTEVEKGhyKSB8fCAhc2N6RXJyb3IgfHwgISpzY3pFcnJvcikgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0ckFsbG9jRm9ybWF0dGVkKCZzY3pFcnJvciwgTCIweCV4IiwgZHdDb2RlKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgICAgIG5SZXN1bHQgPSA6Ok1lc3NhZ2VCb3hXKF9oV25kLCBzY3pFcnJvciA/IHNjekVycm9yIDogd3pFcnJvciwgX3RoZW1lLT5zY3pDYXB0aW9uLCBkd1VJSGludCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorCisgICAgICAgICAgICBTZXRQcm9ncmVzc1N0YXRlKEhSRVNVTFRfRlJPTV9XSU4zMihkd0NvZGUpKTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIC8vIGp1c3QgdGFrZSBub3RlIG9mIHRoZSBlcnJvciBjb2RlIGFuZCBsZXQgdGhpbmdzIGNvbnRpbnVlLgorICAgICAgICAgICAgQmFsUmV0cnlFcnJvck9jY3VycmVkKHd6UGFja2FnZUlkLCBkd0NvZGUpOworICAgICAgICB9CisKKyAgICAgICAgUmVsZWFzZVN0cihzY3pFcnJvcik7CisgICAgICAgIHJldHVybiBuUmVzdWx0OworICAgIH0KKworCisgICAgdmlydHVhbCBTVERNRVRIT0RJTVBfKGludCkgT25FeGVjdXRlTXNpTWVzc2FnZSgKKyAgICAgICAgX19pbl96IExQQ1dTVFIgd3pQYWNrYWdlSWQsCisgICAgICAgIF9faW4gSU5TVEFMTE1FU1NBR0UgbXQsCisgICAgICAgIF9faW4gVUlOVCB1aUZsYWdzLAorICAgICAgICBfX2luX3ogTFBDV1NUUiB3ek1lc3NhZ2UsCisgICAgICAgIF9faW4gRFdPUkQgY0RhdGEsCisgICAgICAgIF9faW5fZWNvdW50X3pfb3B0KGNEYXRhKSBMUENXU1RSKiByZ3d6RGF0YSwKKyAgICAgICAgX19pbiBpbnQgblJlY29tbWVuZGF0aW9uCisgICAgKSB7CisjaWZkZWYgREVCVUcKKyAgICAgICAgQmFsTG9nKEJPT1RTVFJBUFBFUl9MT0dfTEVWRUxfU1RBTkRBUkQsICJQWUJBOiBPbkV4ZWN1dGVNc2lNZXNzYWdlKCkgLSBwYWNrYWdlOiAlbHMsIG1lc3NhZ2U6ICVscyIsIHd6UGFja2FnZUlkLCB3ek1lc3NhZ2UpOworI2VuZGlmCisgICAgICAgIGlmIChCT09UU1RSQVBQRVJfRElTUExBWV9GVUxMID09IF9jb21tYW5kLmRpc3BsYXkgJiYgKElOU1RBTExNRVNTQUdFX1dBUk5JTkcgPT0gbXQgfHwgSU5TVEFMTE1FU1NBR0VfVVNFUiA9PSBtdCkpIHsKKyAgICAgICAgICAgIGludCBuUmVzdWx0ID0gOjpNZXNzYWdlQm94VyhfaFduZCwgd3pNZXNzYWdlLCBfdGhlbWUtPnNjekNhcHRpb24sIHVpRmxhZ3MpOworICAgICAgICAgICAgcmV0dXJuIG5SZXN1bHQ7CisgICAgICAgIH0KKworICAgICAgICBpZiAoSU5TVEFMTE1FU1NBR0VfQUNUSU9OU1RBUlQgPT0gbXQpIHsKKyAgICAgICAgICAgIFRoZW1lU2V0VGV4dENvbnRyb2woX3RoZW1lLCBJRF9FWEVDVVRFX1BST0dSRVNTX0FDVElPTkRBVEFfVEVYVCwgd3pNZXNzYWdlKTsKKyAgICAgICAgfQorCisgICAgICAgIHJldHVybiBfX3N1cGVyOjpPbkV4ZWN1dGVNc2lNZXNzYWdlKHd6UGFja2FnZUlkLCBtdCwgdWlGbGFncywgd3pNZXNzYWdlLCBjRGF0YSwgcmd3ekRhdGEsIG5SZWNvbW1lbmRhdGlvbik7CisgICAgfQorCisKKyAgICB2aXJ0dWFsIFNURE1FVEhPRElNUF8oaW50KSBPblByb2dyZXNzKF9faW4gRFdPUkQgZHdQcm9ncmVzc1BlcmNlbnRhZ2UsIF9faW4gRFdPUkQgZHdPdmVyYWxsUHJvZ3Jlc3NQZXJjZW50YWdlKSB7CisgICAgICAgIFdDSEFSIHd6UHJvZ3Jlc3NbNV0gPSB7IH07CisKKyNpZmRlZiBERUJVRworICAgICAgICBCYWxMb2coQk9PVFNUUkFQUEVSX0xPR19MRVZFTF9TVEFOREFSRCwgIlBZQkE6IE9uUHJvZ3Jlc3MoKSAtIHByb2dyZXNzOiAldSUlLCBvdmVyYWxsIHByb2dyZXNzOiAldSUlIiwgZHdQcm9ncmVzc1BlcmNlbnRhZ2UsIGR3T3ZlcmFsbFByb2dyZXNzUGVyY2VudGFnZSk7CisjZW5kaWYKKworICAgICAgICA6OlN0cmluZ0NjaFByaW50Zlcod3pQcm9ncmVzcywgY291bnRvZih3elByb2dyZXNzKSwgTCIldSUlIiwgZHdPdmVyYWxsUHJvZ3Jlc3NQZXJjZW50YWdlKTsKKyAgICAgICAgVGhlbWVTZXRUZXh0Q29udHJvbChfdGhlbWUsIElEX09WRVJBTExfUFJPR1JFU1NfVEVYVCwgd3pQcm9ncmVzcyk7CisKKyAgICAgICAgVGhlbWVTZXRQcm9ncmVzc0NvbnRyb2woX3RoZW1lLCBJRF9PVkVSQUxMX1BST0dSRVNTX0JBUiwgZHdPdmVyYWxsUHJvZ3Jlc3NQZXJjZW50YWdlKTsKKyAgICAgICAgU2V0VGFza2JhckJ1dHRvblByb2dyZXNzKGR3T3ZlcmFsbFByb2dyZXNzUGVyY2VudGFnZSk7CisKKyAgICAgICAgcmV0dXJuIF9fc3VwZXI6Ok9uUHJvZ3Jlc3MoZHdQcm9ncmVzc1BlcmNlbnRhZ2UsIGR3T3ZlcmFsbFByb2dyZXNzUGVyY2VudGFnZSk7CisgICAgfQorCisKKyAgICB2aXJ0dWFsIFNURE1FVEhPRElNUF8oaW50KSBPbkV4ZWN1dGVQYWNrYWdlQmVnaW4oX19pbl96IExQQ1dTVFIgd3pQYWNrYWdlSWQsIF9faW4gQk9PTCBmRXhlY3V0ZSkgeworICAgICAgICBMUFdTVFIgc2N6Rm9ybWF0dGVkU3RyaW5nID0gbnVsbHB0cjsKKworICAgICAgICBfc3RhcnRlZEV4ZWN1dGlvbiA9IFRSVUU7CisKKyAgICAgICAgaWYgKHd6UGFja2FnZUlkICYmICp3elBhY2thZ2VJZCkgeworICAgICAgICAgICAgQkFMX0lORk9fUEFDS0FHRSogcFBhY2thZ2UgPSBudWxscHRyOworICAgICAgICAgICAgQmFsSW5mb0ZpbmRQYWNrYWdlQnlJZCgmX2J1bmRsZS5wYWNrYWdlcywgd3pQYWNrYWdlSWQsICZwUGFja2FnZSk7CisKKyAgICAgICAgICAgIExQQ1dTVFIgd3ogPSB3elBhY2thZ2VJZDsKKyAgICAgICAgICAgIGlmIChwUGFja2FnZSkgeworICAgICAgICAgICAgICAgIExPQ19TVFJJTkcqIHBMb2NTdHJpbmcgPSBudWxscHRyOworCisgICAgICAgICAgICAgICAgc3dpdGNoIChwUGFja2FnZS0+dHlwZSkgeworICAgICAgICAgICAgICAgIGNhc2UgQkFMX0lORk9fUEFDS0FHRV9UWVBFX0JVTkRMRV9BRERPTjoKKyAgICAgICAgICAgICAgICAgICAgTG9jR2V0U3RyaW5nKF93aXhMb2MsIEwiIyhsb2MuRXhlY3V0ZUFkZG9uUmVsYXRlZEJ1bmRsZU1lc3NhZ2UpIiwgJnBMb2NTdHJpbmcpOworICAgICAgICAgICAgICAgICAgICBicmVhazsKKworICAgICAgICAgICAgICAgIGNhc2UgQkFMX0lORk9fUEFDS0FHRV9UWVBFX0JVTkRMRV9QQVRDSDoKKyAgICAgICAgICAgICAgICAgICAgTG9jR2V0U3RyaW5nKF93aXhMb2MsIEwiIyhsb2MuRXhlY3V0ZVBhdGNoUmVsYXRlZEJ1bmRsZU1lc3NhZ2UpIiwgJnBMb2NTdHJpbmcpOworICAgICAgICAgICAgICAgICAgICBicmVhazsKKworICAgICAgICAgICAgICAgIGNhc2UgQkFMX0lORk9fUEFDS0FHRV9UWVBFX0JVTkRMRV9VUEdSQURFOgorICAgICAgICAgICAgICAgICAgICBMb2NHZXRTdHJpbmcoX3dpeExvYywgTCIjKGxvYy5FeGVjdXRlVXBncmFkZVJlbGF0ZWRCdW5kbGVNZXNzYWdlKSIsICZwTG9jU3RyaW5nKTsKKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgaWYgKHBMb2NTdHJpbmcpIHsKKyAgICAgICAgICAgICAgICAgICAgLy8gSWYgdGhlIHdpeCBkZXZlbG9wZXIgaXMgc2hvd2luZyBhIGhpZGRlbiB2YXJpYWJsZSBpbiB0aGUgVUksIHRoZW4gb2J2aW91c2x5IHRoZXkgZG9uJ3QgY2FyZSBhYm91dCBrZWVwaW5nIGl0IHNhZmUKKyAgICAgICAgICAgICAgICAgICAgLy8gc28gZG9uJ3QgZ28gZG93biB0aGUgcmFiYml0IGhvbGUgb2YgbWFraW5nIHN1cmUgdGhhdCB0aGlzIGlzIHNlY3VyZWx5IGZyZWVkLgorICAgICAgICAgICAgICAgICAgICBCYWxGb3JtYXRTdHJpbmcocExvY1N0cmluZy0+d3pUZXh0LCAmc2N6Rm9ybWF0dGVkU3RyaW5nKTsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICB3eiA9IHNjekZvcm1hdHRlZFN0cmluZyA/IHNjekZvcm1hdHRlZFN0cmluZyA6IHBQYWNrYWdlLT5zY3pEaXNwbGF5TmFtZSA/IHBQYWNrYWdlLT5zY3pEaXNwbGF5TmFtZSA6IHd6UGFja2FnZUlkOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBfc2hvd2luZ0ludGVybmFsVUlUaGlzUGFja2FnZSA9IHBQYWNrYWdlICYmIHBQYWNrYWdlLT5mRGlzcGxheUludGVybmFsVUk7CisKKyAgICAgICAgICAgIFRoZW1lU2V0VGV4dENvbnRyb2woX3RoZW1lLCBJRF9FWEVDVVRFX1BST0dSRVNTX1BBQ0tBR0VfVEVYVCwgd3opOworICAgICAgICAgICAgVGhlbWVTZXRUZXh0Q29udHJvbChfdGhlbWUsIElEX09WRVJBTExfUFJPR1JFU1NfUEFDS0FHRV9URVhULCB3eik7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBfc2hvd2luZ0ludGVybmFsVUlUaGlzUGFja2FnZSA9IEZBTFNFOworICAgICAgICB9CisKKyAgICAgICAgUmVsZWFzZVN0cihzY3pGb3JtYXR0ZWRTdHJpbmcpOworICAgICAgICByZXR1cm4gX19zdXBlcjo6T25FeGVjdXRlUGFja2FnZUJlZ2luKHd6UGFja2FnZUlkLCBmRXhlY3V0ZSk7CisgICAgfQorCisKKyAgICB2aXJ0dWFsIGludCBfX3N0ZGNhbGwgT25FeGVjdXRlUHJvZ3Jlc3MoCisgICAgICAgIF9faW5feiBMUENXU1RSIHd6UGFja2FnZUlkLAorICAgICAgICBfX2luIERXT1JEIGR3UHJvZ3Jlc3NQZXJjZW50YWdlLAorICAgICAgICBfX2luIERXT1JEIGR3T3ZlcmFsbFByb2dyZXNzUGVyY2VudGFnZQorICAgICkgeworICAgICAgICBXQ0hBUiB3elByb2dyZXNzWzhdID0geyB9OworCisjaWZkZWYgREVCVUcKKyAgICAgICAgQmFsTG9nKEJPT1RTVFJBUFBFUl9MT0dfTEVWRUxfU1RBTkRBUkQsICJQWUJBOiBPbkV4ZWN1dGVQcm9ncmVzcygpIC0gcGFja2FnZTogJWxzLCBwcm9ncmVzczogJXUlJSwgb3ZlcmFsbCBwcm9ncmVzczogJXUlJSIsIHd6UGFja2FnZUlkLCBkd1Byb2dyZXNzUGVyY2VudGFnZSwgZHdPdmVyYWxsUHJvZ3Jlc3NQZXJjZW50YWdlKTsKKyNlbmRpZgorCisgICAgICAgIDo6U3RyaW5nQ2NoUHJpbnRmVyh3elByb2dyZXNzLCBjb3VudG9mKHd6UHJvZ3Jlc3MpLCBMIiV1JSUiLCBkd092ZXJhbGxQcm9ncmVzc1BlcmNlbnRhZ2UpOworICAgICAgICBUaGVtZVNldFRleHRDb250cm9sKF90aGVtZSwgSURfRVhFQ1VURV9QUk9HUkVTU19URVhULCB3elByb2dyZXNzKTsKKworICAgICAgICBUaGVtZVNldFByb2dyZXNzQ29udHJvbChfdGhlbWUsIElEX0VYRUNVVEVfUFJPR1JFU1NfQkFSLCBkd092ZXJhbGxQcm9ncmVzc1BlcmNlbnRhZ2UpOworCisgICAgICAgIF9jYWxjdWxhdGVkRXhlY3V0ZVByb2dyZXNzID0gZHdPdmVyYWxsUHJvZ3Jlc3NQZXJjZW50YWdlICogKDEwMCAtIFBZQkFfQUNRVUlSRV9QRVJDRU5UQUdFKSAvIDEwMDsKKyAgICAgICAgVGhlbWVTZXRQcm9ncmVzc0NvbnRyb2woX3RoZW1lLCBJRF9PVkVSQUxMX0NBTENVTEFURURfUFJPR1JFU1NfQkFSLCBfY2FsY3VsYXRlZENhY2hlUHJvZ3Jlc3MgKyBfY2FsY3VsYXRlZEV4ZWN1dGVQcm9ncmVzcyk7CisKKyAgICAgICAgU2V0VGFza2JhckJ1dHRvblByb2dyZXNzKF9jYWxjdWxhdGVkQ2FjaGVQcm9ncmVzcyArIF9jYWxjdWxhdGVkRXhlY3V0ZVByb2dyZXNzKTsKKworICAgICAgICByZXR1cm4gX19zdXBlcjo6T25FeGVjdXRlUHJvZ3Jlc3Mod3pQYWNrYWdlSWQsIGR3UHJvZ3Jlc3NQZXJjZW50YWdlLCBkd092ZXJhbGxQcm9ncmVzc1BlcmNlbnRhZ2UpOworICAgIH0KKworCisgICAgdmlydHVhbCBTVERNRVRIT0RJTVBfKGludCkgT25FeGVjdXRlUGFja2FnZUNvbXBsZXRlKAorICAgICAgICBfX2luX3ogTFBDV1NUUiB3elBhY2thZ2VJZCwKKyAgICAgICAgX19pbiBIUkVTVUxUIGhyRXhpdENvZGUsCisgICAgICAgIF9faW4gQk9PVFNUUkFQUEVSX0FQUExZX1JFU1RBUlQgcmVzdGFydCwKKyAgICAgICAgX19pbiBpbnQgblJlY29tbWVuZGF0aW9uCisgICAgKSB7CisgICAgICAgIFNldFByb2dyZXNzU3RhdGUoaHJFeGl0Q29kZSk7CisKKyAgICAgICAgaWYgKF93Y3NuaWNtcCh3elBhY2thZ2VJZCwgTCJwYXRoXyIsIDUpID09IDAgJiYgU1VDQ0VFREVEKGhyRXhpdENvZGUpKSB7CisgICAgICAgICAgICBTZW5kTWVzc2FnZVRpbWVvdXRXKAorICAgICAgICAgICAgICAgIEhXTkRfQlJPQURDQVNULAorICAgICAgICAgICAgICAgIFdNX1NFVFRJTkdDSEFOR0UsCisgICAgICAgICAgICAgICAgMCwKKyAgICAgICAgICAgICAgICByZWludGVycHJldF9jYXN0PExQQVJBTT4oTCJFbnZpcm9ubWVudCIpLAorICAgICAgICAgICAgICAgIFNNVE9fQUJPUlRJRkhVTkcsCisgICAgICAgICAgICAgICAgMTAwMCwKKyAgICAgICAgICAgICAgICBudWxscHRyCisgICAgICAgICAgICApOworICAgICAgICB9CisKKyAgICAgICAgaW50IG5SZXN1bHQgPSBfX3N1cGVyOjpPbkV4ZWN1dGVQYWNrYWdlQ29tcGxldGUod3pQYWNrYWdlSWQsIGhyRXhpdENvZGUsIHJlc3RhcnQsIG5SZWNvbW1lbmRhdGlvbik7CisKKyAgICAgICAgcmV0dXJuIG5SZXN1bHQ7CisgICAgfQorCisKKyAgICB2aXJ0dWFsIFNURE1FVEhPRElNUF8odm9pZCkgT25FeGVjdXRlQ29tcGxldGUoX19pbiBIUkVTVUxUIGhyU3RhdHVzKSB7CisgICAgICAgIFRoZW1lU2V0VGV4dENvbnRyb2woX3RoZW1lLCBJRF9FWEVDVVRFX1BST0dSRVNTX1BBQ0tBR0VfVEVYVCwgTCIiKTsKKyAgICAgICAgVGhlbWVTZXRUZXh0Q29udHJvbChfdGhlbWUsIElEX0VYRUNVVEVfUFJPR1JFU1NfQUNUSU9OREFUQV9URVhULCBMIiIpOworICAgICAgICBUaGVtZVNldFRleHRDb250cm9sKF90aGVtZSwgSURfT1ZFUkFMTF9QUk9HUkVTU19QQUNLQUdFX1RFWFQsIEwiIik7CisgICAgICAgIFRoZW1lQ29udHJvbEVuYWJsZShfdGhlbWUsIElEX1BST0dSRVNTX0NBTkNFTF9CVVRUT04sIEZBTFNFKTsgLy8gbm8gbW9yZSBjYW5jZWwuCisKKyAgICAgICAgU2V0U3RhdGUoUFlCQV9TVEFURV9FWEVDVVRFRCwgU19PSyk7IC8vIHdlIGFsd2F5cyByZXR1cm4gc3VjY2VzcyBoZXJlIGFuZCBsZXQgT25BcHBseUNvbXBsZXRlKCkgZGVhbCB3aXRoIHRoZSBlcnJvci4KKyAgICAgICAgU2V0UHJvZ3Jlc3NTdGF0ZShoclN0YXR1cyk7CisgICAgfQorCisKKyAgICB2aXJ0dWFsIFNURE1FVEhPRElNUF8oaW50KSBPblJlc29sdmVTb3VyY2UoCisgICAgICAgIF9faW5feiBMUENXU1RSIHd6UGFja2FnZU9yQ29udGFpbmVySWQsCisgICAgICAgIF9faW5fel9vcHQgTFBDV1NUUiB3elBheWxvYWRJZCwKKyAgICAgICAgX19pbl96IExQQ1dTVFIgd3pMb2NhbFNvdXJjZSwKKyAgICAgICAgX19pbl96X29wdCBMUENXU1RSIHd6RG93bmxvYWRTb3VyY2UKKyAgICApIHsKKyAgICAgICAgaW50IG5SZXN1bHQgPSBJREVSUk9SOyAvLyBhc3N1bWUgd2Ugd29uJ3QgcmVzb2x2ZSBzb3VyY2UgYW5kIHRoYXQgaXMgdW5leHBlY3RlZC4KKworICAgICAgICBpZiAoQk9PVFNUUkFQUEVSX0RJU1BMQVlfRlVMTCA9PSBfY29tbWFuZC5kaXNwbGF5KSB7CisgICAgICAgICAgICBpZiAod3pEb3dubG9hZFNvdXJjZSkgeworICAgICAgICAgICAgICAgIG5SZXN1bHQgPSBJRERPV05MT0FEOworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAvLyBwcm9tcHQgdG8gY2hhbmdlIHRoZSBzb3VyY2UgbG9jYXRpb24uCisgICAgICAgICAgICAgICAgT1BFTkZJTEVOQU1FVyBvZm4gPSB7IH07CisgICAgICAgICAgICAgICAgV0NIQVIgd3pGaWxlW01BWF9QQVRIXSA9IHsgfTsKKworICAgICAgICAgICAgICAgIDo6U3RyaW5nQ2NoQ29weVcod3pGaWxlLCBjb3VudG9mKHd6RmlsZSksIHd6TG9jYWxTb3VyY2UpOworCisgICAgICAgICAgICAgICAgb2ZuLmxTdHJ1Y3RTaXplID0gc2l6ZW9mKG9mbik7CisgICAgICAgICAgICAgICAgb2ZuLmh3bmRPd25lciA9IF9oV25kOworICAgICAgICAgICAgICAgIG9mbi5scHN0ckZpbGUgPSB3ekZpbGU7CisgICAgICAgICAgICAgICAgb2ZuLm5NYXhGaWxlID0gY291bnRvZih3ekZpbGUpOworICAgICAgICAgICAgICAgIG9mbi5scHN0ckZpbHRlciA9IEwiQWxsIEZpbGVzXDAqLipcMCI7CisgICAgICAgICAgICAgICAgb2ZuLm5GaWx0ZXJJbmRleCA9IDE7CisgICAgICAgICAgICAgICAgb2ZuLkZsYWdzID0gT0ZOX1BBVEhNVVNURVhJU1QgfCBPRk5fRklMRU1VU1RFWElTVDsKKyAgICAgICAgICAgICAgICBvZm4ubHBzdHJUaXRsZSA9IF90aGVtZS0+c2N6Q2FwdGlvbjsKKworICAgICAgICAgICAgICAgIGlmICg6OkdldE9wZW5GaWxlTmFtZVcoJm9mbikpIHsKKyAgICAgICAgICAgICAgICAgICAgSFJFU1VMVCBociA9IF9lbmdpbmUtPlNldExvY2FsU291cmNlKHd6UGFja2FnZU9yQ29udGFpbmVySWQsIHd6UGF5bG9hZElkLCBvZm4ubHBzdHJGaWxlKTsKKyAgICAgICAgICAgICAgICAgICAgblJlc3VsdCA9IFNVQ0NFRURFRChocikgPyBJRFJFVFJZIDogSURFUlJPUjsKKyAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAgICBuUmVzdWx0ID0gSURDQU5DRUw7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICB9IGVsc2UgaWYgKHd6RG93bmxvYWRTb3VyY2UpIHsKKyAgICAgICAgICAgIC8vIElmIGRvaW5nIGEgbm9uLWludGVyYWN0aXZlIGluc3RhbGwgYW5kIGRvd25sb2FkIHNvdXJjZSBpcyBhdmFpbGFibGUsIGxldCdzIHRyeSBkb3dubG9hZGluZyB0aGUgcGFja2FnZSBzaWxlbnRseQorICAgICAgICAgICAgblJlc3VsdCA9IElERE9XTkxPQUQ7CisgICAgICAgIH0KKyAgICAgICAgLy8gZWxzZSB0aGVyZSdzIG5vdGhpbmcgbW9yZSB3ZSBjYW4gZG8gaW4gbm9uLWludGVyYWN0aXZlIG1vZGUKKworICAgICAgICByZXR1cm4gQ2hlY2tDYW5jZWxlZCgpID8gSURDQU5DRUwgOiBuUmVzdWx0OworICAgIH0KKworCisgICAgdmlydHVhbCBTVERNRVRIT0RJTVBfKGludCkgT25BcHBseUNvbXBsZXRlKF9faW4gSFJFU1VMVCBoclN0YXR1cywgX19pbiBCT09UU1RSQVBQRVJfQVBQTFlfUkVTVEFSVCByZXN0YXJ0KSB7CisgICAgICAgIF9yZXN0YXJ0UmVzdWx0ID0gcmVzdGFydDsgLy8gcmVtZW1iZXIgdGhlIHJlc3RhcnQgcmVzdWx0IHNvIHdlIHJldHVybiB0aGUgY29ycmVjdCBlcnJvciBjb2RlIG5vIG1hdHRlciB3aGF0IHRoZSB1c2VyIGNob29zZXMgdG8gZG8gaW4gdGhlIFVJLgorCisgICAgICAgIC8vIElmIGEgcmVzdGFydCB3YXMgZW5jb3VudGVyZWQgYW5kIHdlIGFyZSBub3Qgc3VwcHJlc3NpbmcgcmVzdGFydHMsIHRoZW4gcmVzdGFydCBpcyByZXF1aXJlZC4KKyAgICAgICAgX3Jlc3RhcnRSZXF1aXJlZCA9IChCT09UU1RSQVBQRVJfQVBQTFlfUkVTVEFSVF9OT05FICE9IHJlc3RhcnQgJiYgQk9PVFNUUkFQUEVSX1JFU1RBUlRfTkVWRVIgPCBfY29tbWFuZC5yZXN0YXJ0KTsKKyAgICAgICAgLy8gSWYgYSByZXN0YXJ0IGlzIHJlcXVpcmVkIGFuZCB3ZSdyZSBub3QgZGlzcGxheWluZyBhIFVJIG9yIHdlIGFyZSBub3Qgc3VwcG9zZWQgdG8gcHJvbXB0IGZvciByZXN0YXJ0IHRoZW4gYWxsb3cgdGhlIHJlc3RhcnQuCisgICAgICAgIF9hbGxvd1Jlc3RhcnQgPSBfcmVzdGFydFJlcXVpcmVkICYmIChCT09UU1RSQVBQRVJfRElTUExBWV9GVUxMID4gX2NvbW1hbmQuZGlzcGxheSB8fCBCT09UU1RSQVBQRVJfUkVTVEFSVF9QUk9NUFQgPCBfY29tbWFuZC5yZXN0YXJ0KTsKKworICAgICAgICAvLyBJZiB3ZSBhcmUgc2hvd2luZyBVSSwgd2FpdCBhIGJlYXQgYmVmb3JlIG1vdmluZyB0byB0aGUgZmluYWwgc2NyZWVuLgorICAgICAgICBpZiAoQk9PVFNUUkFQUEVSX0RJU1BMQVlfTk9ORSA8IF9jb21tYW5kLmRpc3BsYXkpIHsKKyAgICAgICAgICAgIDo6U2xlZXAoMjUwKTsKKyAgICAgICAgfQorCisgICAgICAgIFNldFN0YXRlKFBZQkFfU1RBVEVfQVBQTElFRCwgaHJTdGF0dXMpOworICAgICAgICBTZXRUYXNrYmFyQnV0dG9uUHJvZ3Jlc3MoMTAwKTsgLy8gc2hvdyBmdWxsIHByb2dyZXNzIGJhciwgZ3JlZW4sIHllbGxvdywgb3IgcmVkCisKKyAgICAgICAgcmV0dXJuIElETk9BQ1RJT047CisgICAgfQorCisgICAgdmlydHVhbCBTVERNRVRIT0RJTVBfKHZvaWQpIE9uTGF1bmNoQXBwcm92ZWRFeGVDb21wbGV0ZShfX2luIEhSRVNVTFQgaHJTdGF0dXMsIF9faW4gRFdPUkQgLypwcm9jZXNzSWQqLykgeworICAgICAgICBpZiAoSFJFU1VMVF9GUk9NX1dJTjMyKEVSUk9SX0FDQ0VTU19ERU5JRUQpID09IGhyU3RhdHVzKSB7CisgICAgICAgICAgICAvL3RyeSB3aXRoIFNoZWxFeGVjIG5leHQgdGltZQorICAgICAgICAgICAgT25DbGlja0xhdW5jaEJ1dHRvbigpOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgOjpQb3N0TWVzc2FnZVcoX2hXbmQsIFdNX0NMT1NFLCAwLCAwKTsKKyAgICAgICAgfQorICAgIH0KKworCitwcml2YXRlOgorICAgIC8vCisgICAgLy8gVWlUaHJlYWRQcm9jIC0gZW50cnlwb2ludCBmb3IgVUkgdGhyZWFkLgorICAgIC8vCisgICAgc3RhdGljIERXT1JEIFdJTkFQSSBVaVRocmVhZFByb2MoX19pbiBMUFZPSUQgcHZDb250ZXh0KSB7CisgICAgICAgIEhSRVNVTFQgaHIgPSBTX09LOworICAgICAgICBQeXRob25Cb290c3RyYXBwZXJBcHBsaWNhdGlvbiogcFRoaXMgPSAoUHl0aG9uQm9vdHN0cmFwcGVyQXBwbGljYXRpb24qKXB2Q29udGV4dDsKKyAgICAgICAgQk9PTCBjb21Jbml0aWFsaXplZCA9IEZBTFNFOworICAgICAgICBCT09MIHJldCA9IEZBTFNFOworICAgICAgICBNU0cgbXNnID0geyB9OworCisgICAgICAgIC8vIEluaXRpYWxpemUgQ09NIGFuZCB0aGVtZS4KKyAgICAgICAgaHIgPSA6OkNvSW5pdGlhbGl6ZShudWxscHRyKTsKKyAgICAgICAgQmFsRXhpdE9uRmFpbHVyZShociwgIkZhaWxlZCB0byBpbml0aWFsaXplIENPTS4iKTsKKyAgICAgICAgY29tSW5pdGlhbGl6ZWQgPSBUUlVFOworCisgICAgICAgIGhyID0gVGhlbWVJbml0aWFsaXplKHBUaGlzLT5faE1vZHVsZSk7CisgICAgICAgIEJhbEV4aXRPbkZhaWx1cmUoaHIsICJGYWlsZWQgdG8gaW5pdGlhbGl6ZSB0aGVtZSBtYW5hZ2VyLiIpOworCisgICAgICAgIGhyID0gcFRoaXMtPkluaXRpYWxpemVEYXRhKCk7CisgICAgICAgIEJhbEV4aXRPbkZhaWx1cmUoaHIsICJGYWlsZWQgdG8gaW5pdGlhbGl6ZSBkYXRhIGluIGJvb3RzdHJhcHBlciBhcHBsaWNhdGlvbi4iKTsKKworICAgICAgICAvLyBDcmVhdGUgbWFpbiB3aW5kb3cuCisgICAgICAgIHBUaGlzLT5Jbml0aWFsaXplVGFza2JhckJ1dHRvbigpOworICAgICAgICBociA9IHBUaGlzLT5DcmVhdGVNYWluV2luZG93KCk7CisgICAgICAgIEJhbEV4aXRPbkZhaWx1cmUoaHIsICJGYWlsZWQgdG8gY3JlYXRlIG1haW4gd2luZG93LiIpOworCisgICAgICAgIGlmIChGQUlMRUQocFRoaXMtPl9ockZpbmFsKSkgeworICAgICAgICAgICAgcFRoaXMtPlNldFN0YXRlKFBZQkFfU1RBVEVfRkFJTEVELCBocik7CisgICAgICAgICAgICA6OlBvc3RNZXNzYWdlVyhwVGhpcy0+X2hXbmQsIFdNX1BZQkFfU0hPV19GQUlMVVJFLCAwLCAwKTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIC8vIE9rYXksIHdlJ3JlIHJlYWR5IGZvciBwYWNrYWdlcyBub3cuCisgICAgICAgICAgICBwVGhpcy0+U2V0U3RhdGUoUFlCQV9TVEFURV9JTklUSUFMSVpFRCwgaHIpOworICAgICAgICAgICAgOjpQb3N0TWVzc2FnZVcocFRoaXMtPl9oV25kLCBCT09UU1RSQVBQRVJfQUNUSU9OX0hFTFAgPT0gcFRoaXMtPl9jb21tYW5kLmFjdGlvbiA/IFdNX1BZQkFfU0hPV19IRUxQIDogV01fUFlCQV9ERVRFQ1RfUEFDS0FHRVMsIDAsIDApOworICAgICAgICB9CisKKyAgICAgICAgLy8gbWVzc2FnZSBwdW1wCisgICAgICAgIHdoaWxlICgwICE9IChyZXQgPSA6OkdldE1lc3NhZ2VXKCZtc2csIG51bGxwdHIsIDAsIDApKSkgeworICAgICAgICAgICAgaWYgKC0xID09IHJldCkgeworICAgICAgICAgICAgICAgIGhyID0gRV9VTkVYUEVDVEVEOworICAgICAgICAgICAgICAgIEJhbEV4aXRPbkZhaWx1cmUoaHIsICJVbmV4cGVjdGVkIHJldHVybiB2YWx1ZSBmcm9tIG1lc3NhZ2UgcHVtcC4iKTsKKyAgICAgICAgICAgIH0gZWxzZSBpZiAoIVRoZW1lSGFuZGxlS2V5Ym9hcmRNZXNzYWdlKHBUaGlzLT5fdGhlbWUsIG1zZy5od25kLCAmbXNnKSkgeworICAgICAgICAgICAgICAgIDo6VHJhbnNsYXRlTWVzc2FnZSgmbXNnKTsKKyAgICAgICAgICAgICAgICA6OkRpc3BhdGNoTWVzc2FnZVcoJm1zZyk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKworICAgICAgICAvLyBTdWNjZWVkZWQgdGh1cyBmYXIsIGNoZWNrIHRvIHNlZSBpZiBhbnl0aGluZyB3ZW50IHdyb25nIHdoaWxlIGFjdHVhbGx5CisgICAgICAgIC8vIGV4ZWN1dGluZyBjaGFuZ2VzLgorICAgICAgICBpZiAoRkFJTEVEKHBUaGlzLT5faHJGaW5hbCkpIHsKKyAgICAgICAgICAgIGhyID0gcFRoaXMtPl9ockZpbmFsOworICAgICAgICB9IGVsc2UgaWYgKHBUaGlzLT5DaGVja0NhbmNlbGVkKCkpIHsKKyAgICAgICAgICAgIGhyID0gSFJFU1VMVF9GUk9NX1dJTjMyKEVSUk9SX0lOU1RBTExfVVNFUkVYSVQpOworICAgICAgICB9CisKKyAgICBMRXhpdDoKKyAgICAgICAgLy8gZGVzdHJveSBtYWluIHdpbmRvdworICAgICAgICBwVGhpcy0+RGVzdHJveU1haW5XaW5kb3coKTsKKworICAgICAgICAvLyBpbml0aWF0ZSBlbmdpbmUgc2h1dGRvd24KKyAgICAgICAgRFdPUkQgZHdRdWl0ID0gSFJFU1VMVF9DT0RFKGhyKTsKKyAgICAgICAgaWYgKEJPT1RTVFJBUFBFUl9BUFBMWV9SRVNUQVJUX0lOSVRJQVRFRCA9PSBwVGhpcy0+X3Jlc3RhcnRSZXN1bHQpIHsKKyAgICAgICAgICAgIGR3UXVpdCA9IEVSUk9SX1NVQ0NFU1NfUkVCT09UX0lOSVRJQVRFRDsKKyAgICAgICAgfSBlbHNlIGlmIChCT09UU1RSQVBQRVJfQVBQTFlfUkVTVEFSVF9SRVFVSVJFRCA9PSBwVGhpcy0+X3Jlc3RhcnRSZXN1bHQpIHsKKyAgICAgICAgICAgIGR3UXVpdCA9IEVSUk9SX1NVQ0NFU1NfUkVCT09UX1JFUVVJUkVEOworICAgICAgICB9CisgICAgICAgIHBUaGlzLT5fZW5naW5lLT5RdWl0KGR3UXVpdCk7CisKKyAgICAgICAgUmVsZWFzZVRoZW1lKHBUaGlzLT5fdGhlbWUpOworICAgICAgICBUaGVtZVVuaW5pdGlhbGl6ZSgpOworCisgICAgICAgIC8vIHVuaW5pdGlhbGl6ZSBDT00KKyAgICAgICAgaWYgKGNvbUluaXRpYWxpemVkKSB7CisgICAgICAgICAgICA6OkNvVW5pbml0aWFsaXplKCk7CisgICAgICAgIH0KKworICAgICAgICByZXR1cm4gaHI7CisgICAgfQorCisKKyAgICAvLworICAgIC8vIEluaXRpYWxpemVEYXRhIC0gaW5pdGlhbGl6ZXMgYWxsIHRoZSBwYWNrYWdlIGluZm9ybWF0aW9uLgorICAgIC8vCisgICAgSFJFU1VMVCBJbml0aWFsaXplRGF0YSgpIHsKKyAgICAgICAgSFJFU1VMVCBociA9IFNfT0s7CisgICAgICAgIExQV1NUUiBzY3pNb2R1bGVQYXRoID0gbnVsbHB0cjsKKyAgICAgICAgSVhNTERPTURvY3VtZW50ICpwaXhkTWFuaWZlc3QgPSBudWxscHRyOworCisgICAgICAgIGhyID0gQmFsTWFuaWZlc3RMb2FkKF9oTW9kdWxlLCAmcGl4ZE1hbmlmZXN0KTsKKyAgICAgICAgQmFsRXhpdE9uRmFpbHVyZShociwgIkZhaWxlZCB0byBsb2FkIGJvb3RzdHJhcHBlciBhcHBsaWNhdGlvbiBtYW5pZmVzdC4iKTsKKworICAgICAgICBociA9IFBhcnNlT3ZlcnJpZGFibGVWYXJpYWJsZXNGcm9tWG1sKHBpeGRNYW5pZmVzdCk7CisgICAgICAgIEJhbEV4aXRPbkZhaWx1cmUoaHIsICJGYWlsZWQgdG8gcmVhZCBvdmVycmlkYWJsZSB2YXJpYWJsZXMuIik7CisKKyAgICAgICAgaHIgPSBQcm9jZXNzQ29tbWFuZExpbmUoJl9sYW5ndWFnZSk7CisgICAgICAgIEV4aXRPbkZhaWx1cmUoaHIsICJVbmtub3duIGNvbW1hbmRsaW5lIHBhcmFtZXRlcnMuIik7CisKKyAgICAgICAgaHIgPSBQYXRoUmVsYXRpdmVUb01vZHVsZSgmc2N6TW9kdWxlUGF0aCwgbnVsbHB0ciwgX2hNb2R1bGUpOworICAgICAgICBCYWxFeGl0T25GYWlsdXJlKGhyLCAiRmFpbGVkIHRvIGdldCBtb2R1bGUgcGF0aC4iKTsKKworICAgICAgICBociA9IExvYWRMb2NhbGl6YXRpb24oc2N6TW9kdWxlUGF0aCwgX2xhbmd1YWdlKTsKKyAgICAgICAgRXhpdE9uRmFpbHVyZShociwgIkZhaWxlZCB0byBsb2FkIGxvY2FsaXphdGlvbi4iKTsKKworICAgICAgICBociA9IExvYWRUaGVtZShzY3pNb2R1bGVQYXRoLCBfbGFuZ3VhZ2UpOworICAgICAgICBFeGl0T25GYWlsdXJlKGhyLCAiRmFpbGVkIHRvIGxvYWQgdGhlbWUuIik7CisKKyAgICAgICAgaHIgPSBCYWxJbmZvUGFyc2VGcm9tWG1sKCZfYnVuZGxlLCBwaXhkTWFuaWZlc3QpOworICAgICAgICBCYWxFeGl0T25GYWlsdXJlKGhyLCAiRmFpbGVkIHRvIGxvYWQgYnVuZGxlIGluZm9ybWF0aW9uLiIpOworCisgICAgICAgIGhyID0gQmFsQ29uZGl0aW9uc1BhcnNlRnJvbVhtbCgmX2NvbmRpdGlvbnMsIHBpeGRNYW5pZmVzdCwgX3dpeExvYyk7CisgICAgICAgIEJhbEV4aXRPbkZhaWx1cmUoaHIsICJGYWlsZWQgdG8gbG9hZCBjb25kaXRpb25zIGZyb20gWE1MLiIpOworCisgICAgICAgIGhyID0gTG9hZEJvb3RzdHJhcHBlckJBRnVuY3Rpb25zKCk7CisgICAgICAgIEJhbEV4aXRPbkZhaWx1cmUoaHIsICJGYWlsZWQgdG8gbG9hZCBib290c3RyYXBwZXIgZnVuY3Rpb25zLiIpOworCisgICAgICAgIEdldEJ1bmRsZUZpbGVWZXJzaW9uKCk7CisgICAgICAgIC8vIGRvbid0IGZhaWwgaWYgd2UgY291bGRuJ3QgZ2V0IHRoZSB2ZXJzaW9uIGluZm87IGJlc3QtZWZmb3J0IG9ubHkKKworICAgIExFeGl0OgorICAgICAgICBSZWxlYXNlT2JqZWN0KHBpeGRNYW5pZmVzdCk7CisgICAgICAgIFJlbGVhc2VTdHIoc2N6TW9kdWxlUGF0aCk7CisKKyAgICAgICAgcmV0dXJuIGhyOworICAgIH0KKworCisgICAgLy8KKyAgICAvLyBQcm9jZXNzQ29tbWFuZExpbmUgLSBwcm9jZXNzIHRoZSBwcm92aWRlZCBjb21tYW5kIGxpbmUgYXJndW1lbnRzLgorICAgIC8vCisgICAgSFJFU1VMVCBQcm9jZXNzQ29tbWFuZExpbmUoX19pbm91dCBMUFdTVFIqIHBzY3pMYW5ndWFnZSkgeworICAgICAgICBIUkVTVUxUIGhyID0gU19PSzsKKyAgICAgICAgaW50IGFyZ2MgPSAwOworICAgICAgICBMUFdTVFIqIGFyZ3YgPSBudWxscHRyOworICAgICAgICBMUFdTVFIgc2N6VmFyaWFibGVOYW1lID0gbnVsbHB0cjsKKyAgICAgICAgTFBXU1RSIHNjelZhcmlhYmxlVmFsdWUgPSBudWxscHRyOworCisgICAgICAgIGlmIChfY29tbWFuZC53ekNvbW1hbmRMaW5lICYmICpfY29tbWFuZC53ekNvbW1hbmRMaW5lKSB7CisgICAgICAgICAgICBhcmd2ID0gOjpDb21tYW5kTGluZVRvQXJndlcoX2NvbW1hbmQud3pDb21tYW5kTGluZSwgJmFyZ2MpOworICAgICAgICAgICAgRXhpdE9uTnVsbFdpdGhMYXN0RXJyb3IoYXJndiwgaHIsICJGYWlsZWQgdG8gZ2V0IGNvbW1hbmQgbGluZS4iKTsKKworICAgICAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBhcmdjOyArK2kpIHsKKyAgICAgICAgICAgICAgICBpZiAoYXJndltpXVswXSA9PSBMJy0nIHx8IGFyZ3ZbaV1bMF0gPT0gTCcvJykgeworICAgICAgICAgICAgICAgICAgICBpZiAoQ1NUUl9FUVVBTCA9PSA6OkNvbXBhcmVTdHJpbmdXKExPQ0FMRV9JTlZBUklBTlQsIE5PUk1fSUdOT1JFQ0FTRSwgJmFyZ3ZbaV1bMV0sIC0xLCBMImxhbmciLCAtMSkpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpICsgMSA+PSBhcmdjKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHIgPSBFX0lOVkFMSURBUkc7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgQmFsRXhpdE9uRmFpbHVyZShociwgIk11c3Qgc3BlY2lmeSBhIGxhbmd1YWdlLiIpOworICAgICAgICAgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgICAgICAgICArK2k7CisKKyAgICAgICAgICAgICAgICAgICAgICAgIGhyID0gU3RyQWxsb2NTdHJpbmcocHNjekxhbmd1YWdlLCAmYXJndltpXVswXSwgMCk7CisgICAgICAgICAgICAgICAgICAgICAgICBCYWxFeGl0T25GYWlsdXJlKGhyLCAiRmFpbGVkIHRvIGNvcHkgbGFuZ3VhZ2UuIik7CisgICAgICAgICAgICAgICAgICAgIH0gCisgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChfb3ZlcnJpZGFibGVWYXJpYWJsZXMpIHsKKyAgICAgICAgICAgICAgICAgICAgaW50IHZhbHVlOworICAgICAgICAgICAgICAgICAgICBjb25zdCB3Y2hhcl90KiBwd2MgPSB3Y3NjaHIoYXJndltpXSwgTCc9Jyk7CisgICAgICAgICAgICAgICAgICAgIGlmIChwd2MpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGhyID0gU3RyQWxsb2NTdHJpbmcoJnNjelZhcmlhYmxlTmFtZSwgYXJndltpXSwgcHdjIC0gYXJndltpXSk7CisgICAgICAgICAgICAgICAgICAgICAgICBCYWxFeGl0T25GYWlsdXJlKGhyLCAiRmFpbGVkIHRvIGNvcHkgdmFyaWFibGUgbmFtZS4iKTsKKworICAgICAgICAgICAgICAgICAgICAgICAgaHIgPSBEaWN0S2V5RXhpc3RzKF9vdmVycmlkYWJsZVZhcmlhYmxlcywgc2N6VmFyaWFibGVOYW1lKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIChFX05PVEZPVU5EID09IGhyKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgQmFsTG9nKEJPT1RTVFJBUFBFUl9MT0dfTEVWRUxfRVJST1IsICJJZ25vcmluZyBhdHRlbXB0IHRvIHNldCBub24tb3ZlcnJpZGFibGUgdmFyaWFibGU6ICclbHMnLiIsIHNjelZhcmlhYmxlTmFtZSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHIgPSBTX09LOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICAgICAgRXhpdE9uRmFpbHVyZShociwgIkZhaWxlZCB0byBjaGVjayB0aGUgZGljdGlvbmFyeSBvZiBvdmVycmlkYWJsZSB2YXJpYWJsZXMuIik7CisKKyAgICAgICAgICAgICAgICAgICAgICAgIGhyID0gU3RyQWxsb2NTdHJpbmcoJnNjelZhcmlhYmxlVmFsdWUsICsrcHdjLCAwKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIEJhbEV4aXRPbkZhaWx1cmUoaHIsICJGYWlsZWQgdG8gY29weSB2YXJpYWJsZSB2YWx1ZS4iKTsKKworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKDo6U3RyVG9JbnRFeChzY3pWYXJpYWJsZVZhbHVlLCBTVElGX0RFRkFVTFQsICZ2YWx1ZSkpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBociA9IF9lbmdpbmUtPlNldFZhcmlhYmxlTnVtZXJpYyhzY3pWYXJpYWJsZU5hbWUsIHZhbHVlKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHIgPSBfZW5naW5lLT5TZXRWYXJpYWJsZVN0cmluZyhzY3pWYXJpYWJsZU5hbWUsIHNjelZhcmlhYmxlVmFsdWUpOworICAgICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICAgICAgQmFsRXhpdE9uRmFpbHVyZShociwgIkZhaWxlZCB0byBzZXQgdmFyaWFibGUuIik7CisgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgICAgICBCYWxMb2coQk9PVFNUUkFQUEVSX0xPR19MRVZFTF9TVEFOREFSRCwgIklnbm9yaW5nIHVua25vd24gYXJndW1lbnQ6ICVscyIsIGFyZ3ZbaV0pOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICB9CisKKyAgICBMRXhpdDoKKyAgICAgICAgaWYgKGFyZ3YpIHsKKyAgICAgICAgICAgIDo6TG9jYWxGcmVlKGFyZ3YpOworICAgICAgICB9CisKKyAgICAgICAgUmVsZWFzZVN0cihzY3pWYXJpYWJsZU5hbWUpOworICAgICAgICBSZWxlYXNlU3RyKHNjelZhcmlhYmxlVmFsdWUpOworCisgICAgICAgIHJldHVybiBocjsKKyAgICB9CisKKyAgICBIUkVTVUxUIExvYWRMb2NhbGl6YXRpb24oX19pbl96IExQQ1dTVFIgd3pNb2R1bGVQYXRoLCBfX2luX3pfb3B0IExQQ1dTVFIgd3pMYW5ndWFnZSkgeworICAgICAgICBIUkVTVUxUIGhyID0gU19PSzsKKyAgICAgICAgTFBXU1RSIHNjekxvY1BhdGggPSBudWxscHRyOworICAgICAgICBMUENXU1RSIHd6TG9jRmlsZU5hbWUgPSBMIkRlZmF1bHQud3hsIjsKKworICAgICAgICBociA9IExvY1Byb2JlRm9yRmlsZSh3ek1vZHVsZVBhdGgsIHd6TG9jRmlsZU5hbWUsIHd6TGFuZ3VhZ2UsICZzY3pMb2NQYXRoKTsKKyAgICAgICAgQmFsRXhpdE9uRmFpbHVyZTIoaHIsICJGYWlsZWQgdG8gcHJvYmUgZm9yIGxvYyBmaWxlOiAlbHMgaW4gcGF0aDogJWxzIiwgd3pMb2NGaWxlTmFtZSwgd3pNb2R1bGVQYXRoKTsKKworICAgICAgICBociA9IExvY0xvYWRGcm9tRmlsZShzY3pMb2NQYXRoLCAmX3dpeExvYyk7CisgICAgICAgIEJhbEV4aXRPbkZhaWx1cmUxKGhyLCAiRmFpbGVkIHRvIGxvYWQgbG9jIGZpbGUgZnJvbSBwYXRoOiAlbHMiLCBzY3pMb2NQYXRoKTsKKworICAgICAgICBpZiAoV0lYX0xPQ0FMSVpBVElPTl9MQU5HVUFHRV9OT1RfU0VUICE9IF93aXhMb2MtPmR3TGFuZ0lkKSB7CisgICAgICAgICAgICA6OlNldFRocmVhZExvY2FsZShfd2l4TG9jLT5kd0xhbmdJZCk7CisgICAgICAgIH0KKworICAgICAgICBociA9IFN0ckFsbG9jU3RyaW5nKCZfY29uZmlybUNsb3NlTWVzc2FnZSwgTCIjKGxvYy5Db25maXJtQ2FuY2VsTWVzc2FnZSkiLCAwKTsKKyAgICAgICAgRXhpdE9uRmFpbHVyZShociwgIkZhaWxlZCB0byBpbml0aWFsaXplIGNvbmZpcm0gbWVzc2FnZSBsb2MgaWRlbnRpZmllci4iKTsKKworICAgICAgICBociA9IExvY0xvY2FsaXplU3RyaW5nKF93aXhMb2MsICZfY29uZmlybUNsb3NlTWVzc2FnZSk7CisgICAgICAgIEJhbEV4aXRPbkZhaWx1cmUxKGhyLCAiRmFpbGVkIHRvIGxvY2FsaXplIGNvbmZpcm0gY2xvc2UgbWVzc2FnZTogJWxzIiwgX2NvbmZpcm1DbG9zZU1lc3NhZ2UpOworCisgICAgTEV4aXQ6CisgICAgICAgIFJlbGVhc2VTdHIoc2N6TG9jUGF0aCk7CisKKyAgICAgICAgcmV0dXJuIGhyOworICAgIH0KKworCisgICAgSFJFU1VMVCBMb2FkVGhlbWUoX19pbl96IExQQ1dTVFIgd3pNb2R1bGVQYXRoLCBfX2luX3pfb3B0IExQQ1dTVFIgd3pMYW5ndWFnZSkgeworICAgICAgICBIUkVTVUxUIGhyID0gU19PSzsKKyAgICAgICAgTFBXU1RSIHNjelRoZW1lUGF0aCA9IG51bGxwdHI7CisgICAgICAgIExQQ1dTVFIgd3pUaGVtZUZpbGVOYW1lID0gTCJEZWZhdWx0LnRobSI7CisgICAgICAgIExQV1NUUiBzY3pDYXB0aW9uID0gbnVsbHB0cjsKKworICAgICAgICBociA9IExvY1Byb2JlRm9yRmlsZSh3ek1vZHVsZVBhdGgsIHd6VGhlbWVGaWxlTmFtZSwgd3pMYW5ndWFnZSwgJnNjelRoZW1lUGF0aCk7CisgICAgICAgIEJhbEV4aXRPbkZhaWx1cmUyKGhyLCAiRmFpbGVkIHRvIHByb2JlIGZvciB0aGVtZSBmaWxlOiAlbHMgaW4gcGF0aDogJWxzIiwgd3pUaGVtZUZpbGVOYW1lLCB3ek1vZHVsZVBhdGgpOworCisgICAgICAgIGhyID0gVGhlbWVMb2FkRnJvbUZpbGUoc2N6VGhlbWVQYXRoLCAmX3RoZW1lKTsKKyAgICAgICAgQmFsRXhpdE9uRmFpbHVyZTEoaHIsICJGYWlsZWQgdG8gbG9hZCB0aGVtZSBmcm9tIHBhdGg6ICVscyIsIHNjelRoZW1lUGF0aCk7CisKKyAgICAgICAgaHIgPSBUaGVtZUxvY2FsaXplKF90aGVtZSwgX3dpeExvYyk7CisgICAgICAgIEJhbEV4aXRPbkZhaWx1cmUxKGhyLCAiRmFpbGVkIHRvIGxvY2FsaXplIHRoZW1lOiAlbHMiLCBzY3pUaGVtZVBhdGgpOworCisgICAgICAgIC8vIFVwZGF0ZSB0aGUgY2FwdGlvbiBpZiB0aGVyZSBhcmUgYW55IGZvcm1hdHRlZCBzdHJpbmdzIGluIGl0LgorICAgICAgICAvLyBJZiB0aGUgd2l4IGRldmVsb3BlciBpcyBzaG93aW5nIGEgaGlkZGVuIHZhcmlhYmxlIGluIHRoZSBVSSwgdGhlbgorICAgICAgICAvLyBvYnZpb3VzbHkgdGhleSBkb24ndCBjYXJlIGFib3V0IGtlZXBpbmcgaXQgc2FmZSBzbyBkb24ndCBnbyBkb3duIHRoZQorICAgICAgICAvLyByYWJiaXQgaG9sZSBvZiBtYWtpbmcgc3VyZSB0aGF0IHRoaXMgaXMgc2VjdXJlbHkgZnJlZWQuCisgICAgICAgIGhyID0gQmFsRm9ybWF0U3RyaW5nKF90aGVtZS0+c2N6Q2FwdGlvbiwgJnNjekNhcHRpb24pOworICAgICAgICBpZiAoU1VDQ0VFREVEKGhyKSkgeworICAgICAgICAgICAgVGhlbWVVcGRhdGVDYXB0aW9uKF90aGVtZSwgc2N6Q2FwdGlvbik7CisgICAgICAgIH0KKworICAgIExFeGl0OgorICAgICAgICBSZWxlYXNlU3RyKHNjekNhcHRpb24pOworICAgICAgICBSZWxlYXNlU3RyKHNjelRoZW1lUGF0aCk7CisKKyAgICAgICAgcmV0dXJuIGhyOworICAgIH0KKworCisgICAgSFJFU1VMVCBQYXJzZU92ZXJyaWRhYmxlVmFyaWFibGVzRnJvbVhtbChfX2luIElYTUxET01Eb2N1bWVudCogcGl4ZE1hbmlmZXN0KSB7CisgICAgICAgIEhSRVNVTFQgaHIgPSBTX09LOworICAgICAgICBJWE1MRE9NTm9kZSogcE5vZGUgPSBudWxscHRyOworICAgICAgICBJWE1MRE9NTm9kZUxpc3QqIHBOb2RlcyA9IG51bGxwdHI7CisgICAgICAgIERXT1JEIGNOb2RlcyA9IDA7CisgICAgICAgIExQV1NUUiBzY3ogPSBudWxscHRyOworICAgICAgICBCT09MIGhpZGRlbiA9IEZBTFNFOworCisgICAgICAgIC8vIGdldCB0aGUgbGlzdCBvZiB2YXJpYWJsZXMgdXNlcnMgY2FuIG92ZXJyaWRlIG9uIHRoZSBjb21tYW5kIGxpbmUKKyAgICAgICAgaHIgPSBYbWxTZWxlY3ROb2RlcyhwaXhkTWFuaWZlc3QsIEwiL0Jvb3RzdHJhcHBlckFwcGxpY2F0aW9uRGF0YS9XaXhTdGRiYU92ZXJyaWRhYmxlVmFyaWFibGUiLCAmcE5vZGVzKTsKKyAgICAgICAgaWYgKFNfRkFMU0UgPT0gaHIpIHsKKyAgICAgICAgICAgIEV4aXRGdW5jdGlvbjEoaHIgPSBTX09LKTsKKyAgICAgICAgfQorICAgICAgICBFeGl0T25GYWlsdXJlKGhyLCAiRmFpbGVkIHRvIHNlbGVjdCBvdmVycmlkYWJsZSB2YXJpYWJsZSBub2Rlcy4iKTsKKworICAgICAgICBociA9IHBOb2Rlcy0+Z2V0X2xlbmd0aCgobG9uZyopJmNOb2Rlcyk7CisgICAgICAgIEV4aXRPbkZhaWx1cmUoaHIsICJGYWlsZWQgdG8gZ2V0IG92ZXJyaWRhYmxlIHZhcmlhYmxlIG5vZGUgY291bnQuIik7CisKKyAgICAgICAgaWYgKGNOb2RlcykgeworICAgICAgICAgICAgaHIgPSBEaWN0Q3JlYXRlU3RyaW5nTGlzdCgmX292ZXJyaWRhYmxlVmFyaWFibGVzLCAzMiwgRElDVF9GTEFHX05PTkUpOworICAgICAgICAgICAgRXhpdE9uRmFpbHVyZShociwgIkZhaWxlZCB0byBjcmVhdGUgdGhlIHN0cmluZyBkaWN0aW9uYXJ5LiIpOworCisgICAgICAgICAgICBmb3IgKERXT1JEIGkgPSAwOyBpIDwgY05vZGVzOyArK2kpIHsKKyAgICAgICAgICAgICAgICBociA9IFhtbE5leHRFbGVtZW50KHBOb2RlcywgJnBOb2RlLCBudWxscHRyKTsKKyAgICAgICAgICAgICAgICBFeGl0T25GYWlsdXJlKGhyLCAiRmFpbGVkIHRvIGdldCBuZXh0IG5vZGUuIik7CisKKyAgICAgICAgICAgICAgICAvLyBATmFtZQorICAgICAgICAgICAgICAgIGhyID0gWG1sR2V0QXR0cmlidXRlRXgocE5vZGUsIEwiTmFtZSIsICZzY3opOworICAgICAgICAgICAgICAgIEV4aXRPbkZhaWx1cmUoaHIsICJGYWlsZWQgdG8gZ2V0IEBOYW1lLiIpOworCisgICAgICAgICAgICAgICAgaHIgPSBYbWxHZXRZZXNOb0F0dHJpYnV0ZShwTm9kZSwgTCJIaWRkZW4iLCAmaGlkZGVuKTsKKworICAgICAgICAgICAgICAgIGlmICghaGlkZGVuKSB7CisgICAgICAgICAgICAgICAgICAgIGhyID0gRGljdEFkZEtleShfb3ZlcnJpZGFibGVWYXJpYWJsZXMsIHNjeik7CisgICAgICAgICAgICAgICAgICAgIEV4aXRPbkZhaWx1cmUxKGhyLCAiRmFpbGVkIHRvIGFkZCBcIiVsc1wiIHRvIHRoZSBzdHJpbmcgZGljdGlvbmFyeS4iLCBzY3opOworICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIC8vIHByZXBhcmUgbmV4dCBpdGVyYXRpb24KKyAgICAgICAgICAgICAgICBSZWxlYXNlTnVsbE9iamVjdChwTm9kZSk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKworICAgIExFeGl0OgorICAgICAgICBSZWxlYXNlT2JqZWN0KHBOb2RlKTsKKyAgICAgICAgUmVsZWFzZU9iamVjdChwTm9kZXMpOworICAgICAgICBSZWxlYXNlU3RyKHNjeik7CisgICAgICAgIHJldHVybiBocjsKKyAgICB9CisKKworICAgIC8vCisgICAgLy8gR2V0IHRoZSBmaWxlIHZlcnNpb24gb2YgdGhlIGJvb3RzdHJhcHBlciBhbmQgcmVjb3JkIGluIGJvb3RzdHJhcHBlciBsb2cgZmlsZQorICAgIC8vCisgICAgSFJFU1VMVCBHZXRCdW5kbGVGaWxlVmVyc2lvbigpIHsKKyAgICAgICAgSFJFU1VMVCBociA9IFNfT0s7CisgICAgICAgIFVMQVJHRV9JTlRFR0VSIHVsaVZlcnNpb24gPSB7IH07CisgICAgICAgIExQV1NUUiBzY3pDdXJyZW50UGF0aCA9IG51bGxwdHI7CisKKyAgICAgICAgaHIgPSBQYXRoRm9yQ3VycmVudFByb2Nlc3MoJnNjekN1cnJlbnRQYXRoLCBudWxscHRyKTsKKyAgICAgICAgQmFsRXhpdE9uRmFpbHVyZShociwgIkZhaWxlZCB0byBnZXQgYnVuZGxlIHBhdGguIik7CisKKyAgICAgICAgaHIgPSBGaWxlVmVyc2lvbihzY3pDdXJyZW50UGF0aCwgJnVsaVZlcnNpb24uSGlnaFBhcnQsICZ1bGlWZXJzaW9uLkxvd1BhcnQpOworICAgICAgICBCYWxFeGl0T25GYWlsdXJlKGhyLCAiRmFpbGVkIHRvIGdldCBidW5kbGUgZmlsZSB2ZXJzaW9uLiIpOworCisgICAgICAgIGhyID0gX2VuZ2luZS0+U2V0VmFyaWFibGVWZXJzaW9uKFBZQkFfVkFSSUFCTEVfQlVORExFX0ZJTEVfVkVSU0lPTiwgdWxpVmVyc2lvbi5RdWFkUGFydCk7CisgICAgICAgIEJhbEV4aXRPbkZhaWx1cmUoaHIsICJGYWlsZWQgdG8gc2V0IFdpeEJ1bmRsZUZpbGVWZXJzaW9uIHZhcmlhYmxlLiIpOworCisgICAgTEV4aXQ6CisgICAgICAgIFJlbGVhc2VTdHIoc2N6Q3VycmVudFBhdGgpOworCisgICAgICAgIHJldHVybiBocjsKKyAgICB9CisKKworICAgIC8vCisgICAgLy8gQ3JlYXRlTWFpbldpbmRvdyAtIGNyZWF0ZXMgdGhlIG1haW4gaW5zdGFsbCB3aW5kb3cuCisgICAgLy8KKyAgICBIUkVTVUxUIENyZWF0ZU1haW5XaW5kb3coKSB7CisgICAgICAgIEhSRVNVTFQgaHIgPSBTX09LOworICAgICAgICBISUNPTiBoSWNvbiA9IHJlaW50ZXJwcmV0X2Nhc3Q8SElDT04+KF90aGVtZS0+aEljb24pOworICAgICAgICBXTkRDTEFTU1cgd2MgPSB7IH07CisgICAgICAgIERXT1JEIGR3V2luZG93U3R5bGUgPSAwOworICAgICAgICBpbnQgeCA9IENXX1VTRURFRkFVTFQ7CisgICAgICAgIGludCB5ID0gQ1dfVVNFREVGQVVMVDsKKyAgICAgICAgUE9JTlQgcHRDdXJzb3IgPSB7IH07CisgICAgICAgIEhNT05JVE9SIGhNb25pdG9yID0gbnVsbHB0cjsKKyAgICAgICAgTU9OSVRPUklORk8gbWkgPSB7IH07CisKKyAgICAgICAgLy8gSWYgdGhlIHRoZW1lIGRpZCBub3QgcHJvdmlkZSBhbiBpY29uLCB0cnkgdXNpbmcgdGhlIGljb24gZnJvbSB0aGUgYnVuZGxlIGVuZ2luZS4KKyAgICAgICAgaWYgKCFoSWNvbikgeworICAgICAgICAgICAgSE1PRFVMRSBoQm9vdHN0cmFwcGVyRW5naW5lID0gOjpHZXRNb2R1bGVIYW5kbGVXKG51bGxwdHIpOworICAgICAgICAgICAgaWYgKGhCb290c3RyYXBwZXJFbmdpbmUpIHsKKyAgICAgICAgICAgICAgICBoSWNvbiA9IDo6TG9hZEljb25XKGhCb290c3RyYXBwZXJFbmdpbmUsIE1BS0VJTlRSRVNPVVJDRVcoMSkpOworICAgICAgICAgICAgfQorICAgICAgICB9CisKKyAgICAgICAgLy8gUmVnaXN0ZXIgdGhlIHdpbmRvdyBjbGFzcyBhbmQgY3JlYXRlIHRoZSB3aW5kb3cuCisgICAgICAgIHdjLmxwZm5XbmRQcm9jID0gUHl0aG9uQm9vdHN0cmFwcGVyQXBwbGljYXRpb246OlduZFByb2M7CisgICAgICAgIHdjLmhJbnN0YW5jZSA9IF9oTW9kdWxlOworICAgICAgICB3Yy5oSWNvbiA9IGhJY29uOworICAgICAgICB3Yy5oQ3Vyc29yID0gOjpMb2FkQ3Vyc29yVyhudWxscHRyLCAoTFBDV1NUUilJRENfQVJST1cpOworICAgICAgICB3Yy5oYnJCYWNrZ3JvdW5kID0gX3RoZW1lLT5yZ0ZvbnRzW190aGVtZS0+ZHdGb250SWRdLmhCYWNrZ3JvdW5kOworICAgICAgICB3Yy5scHN6TWVudU5hbWUgPSBudWxscHRyOworICAgICAgICB3Yy5scHN6Q2xhc3NOYW1lID0gUFlCQV9XSU5ET1dfQ0xBU1M7CisgICAgICAgIGlmICghOjpSZWdpc3RlckNsYXNzVygmd2MpKSB7CisgICAgICAgICAgICBFeGl0V2l0aExhc3RFcnJvcihociwgIkZhaWxlZCB0byByZWdpc3RlciB3aW5kb3cuIik7CisgICAgICAgIH0KKworICAgICAgICBfcmVnaXN0ZXJlZCA9IFRSVUU7CisKKyAgICAgICAgLy8gQ2FsY3VsYXRlIHRoZSB3aW5kb3cgc3R5bGUgYmFzZWQgb24gdGhlIHRoZW1lIHN0eWxlIGFuZCBjb21tYW5kIGRpc3BsYXkgdmFsdWUuCisgICAgICAgIGR3V2luZG93U3R5bGUgPSBfdGhlbWUtPmR3U3R5bGU7CisgICAgICAgIGlmIChCT09UU1RSQVBQRVJfRElTUExBWV9OT05FID49IF9jb21tYW5kLmRpc3BsYXkpIHsKKyAgICAgICAgICAgIGR3V2luZG93U3R5bGUgJj0gfldTX1ZJU0lCTEU7CisgICAgICAgIH0KKworICAgICAgICAvLyBEb24ndCBzaG93IHRoZSB3aW5kb3cgaWYgdGhlcmUgaXMgYSBzcGxhc2ggc2NyZWVuIChpdCB3aWxsIGJlIG1hZGUgdmlzaWJsZSB3aGVuIHRoZSBzcGxhc2ggc2NyZWVuIGlzIGhpZGRlbikKKyAgICAgICAgaWYgKDo6SXNXaW5kb3coX2NvbW1hbmQuaHduZFNwbGFzaFNjcmVlbikpIHsKKyAgICAgICAgICAgIGR3V2luZG93U3R5bGUgJj0gfldTX1ZJU0lCTEU7CisgICAgICAgIH0KKworICAgICAgICAvLyBDZW50ZXIgdGhlIHdpbmRvdyBvbiB0aGUgbW9uaXRvciB3aXRoIHRoZSBtb3VzZS4KKyAgICAgICAgaWYgKDo6R2V0Q3Vyc29yUG9zKCZwdEN1cnNvcikpIHsKKyAgICAgICAgICAgIGhNb25pdG9yID0gOjpNb25pdG9yRnJvbVBvaW50KHB0Q3Vyc29yLCBNT05JVE9SX0RFRkFVTFRUT05FQVJFU1QpOworICAgICAgICAgICAgaWYgKGhNb25pdG9yKSB7CisgICAgICAgICAgICAgICAgbWkuY2JTaXplID0gc2l6ZW9mKG1pKTsKKyAgICAgICAgICAgICAgICBpZiAoOjpHZXRNb25pdG9ySW5mb1coaE1vbml0b3IsICZtaSkpIHsKKyAgICAgICAgICAgICAgICAgICAgeCA9IG1pLnJjV29yay5sZWZ0ICsgKG1pLnJjV29yay5yaWdodCAtIG1pLnJjV29yay5sZWZ0IC0gX3RoZW1lLT5uV2lkdGgpIC8gMjsKKyAgICAgICAgICAgICAgICAgICAgeSA9IG1pLnJjV29yay50b3AgKyAobWkucmNXb3JrLmJvdHRvbSAtIG1pLnJjV29yay50b3AgLSBfdGhlbWUtPm5IZWlnaHQpIC8gMjsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgIH0KKworICAgICAgICBfaFduZCA9IDo6Q3JlYXRlV2luZG93RXhXKAorICAgICAgICAgICAgMCwKKyAgICAgICAgICAgIHdjLmxwc3pDbGFzc05hbWUsCisgICAgICAgICAgICBfdGhlbWUtPnNjekNhcHRpb24sCisgICAgICAgICAgICBkd1dpbmRvd1N0eWxlLAorICAgICAgICAgICAgeCwKKyAgICAgICAgICAgIHksCisgICAgICAgICAgICBfdGhlbWUtPm5XaWR0aCwKKyAgICAgICAgICAgIF90aGVtZS0+bkhlaWdodCwKKyAgICAgICAgICAgIEhXTkRfREVTS1RPUCwKKyAgICAgICAgICAgIG51bGxwdHIsCisgICAgICAgICAgICBfaE1vZHVsZSwKKyAgICAgICAgICAgIHRoaXMKKyAgICAgICAgKTsKKyAgICAgICAgRXhpdE9uTnVsbFdpdGhMYXN0RXJyb3IoX2hXbmQsIGhyLCAiRmFpbGVkIHRvIGNyZWF0ZSB3aW5kb3cuIik7CisKKyAgICAgICAgaHIgPSBTX09LOworCisgICAgTEV4aXQ6CisgICAgICAgIHJldHVybiBocjsKKyAgICB9CisKKworICAgIC8vCisgICAgLy8gSW5pdGlhbGl6ZVRhc2tiYXJCdXR0b24gLSBpbml0aWFsaXplcyB0YXNrYmFyIGJ1dHRvbiBmb3IgcHJvZ3Jlc3MuCisgICAgLy8KKyAgICB2b2lkIEluaXRpYWxpemVUYXNrYmFyQnV0dG9uKCkgeworICAgICAgICBIUkVTVUxUIGhyID0gU19PSzsKKworICAgICAgICBociA9IDo6Q29DcmVhdGVJbnN0YW5jZShDTFNJRF9UYXNrYmFyTGlzdCwgbnVsbHB0ciwgQ0xTQ1RYX0FMTCwgX191dWlkb2YoSVRhc2tiYXJMaXN0MyksIHJlaW50ZXJwcmV0X2Nhc3Q8TFBWT0lEKj4oJl90YXNrYmFyTGlzdCkpOworICAgICAgICBpZiAoUkVHREJfRV9DTEFTU05PVFJFRyA9PSBocikgeworICAgICAgICAgICAgLy8gbm90IHN1cHBvcnRlZCBiZWZvcmUgV2luZG93cyA3CisgICAgICAgICAgICBFeGl0RnVuY3Rpb24xKGhyID0gU19PSyk7CisgICAgICAgIH0KKyAgICAgICAgQmFsRXhpdE9uRmFpbHVyZShociwgIkZhaWxlZCB0byBjcmVhdGUgSVRhc2tiYXJMaXN0My4gQ29udGludWluZy4iKTsKKworICAgICAgICBfdGFza2JhckJ1dHRvbkNyZWF0ZWRNZXNzYWdlID0gOjpSZWdpc3RlcldpbmRvd01lc3NhZ2VXKEwiVGFza2JhckJ1dHRvbkNyZWF0ZWQiKTsKKyAgICAgICAgQmFsRXhpdE9uTnVsbFdpdGhMYXN0RXJyb3IoX3Rhc2tiYXJCdXR0b25DcmVhdGVkTWVzc2FnZSwgaHIsICJGYWlsZWQgdG8gZ2V0IFRhc2tiYXJCdXR0b25DcmVhdGVkIG1lc3NhZ2UuIENvbnRpbnVpbmcuIik7CisKKyAgICBMRXhpdDoKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIC8vCisgICAgLy8gRGVzdHJveU1haW5XaW5kb3cgLSBjbGVhbiB1cCBhbGwgdGhlIHdpbmRvdyByZWdpc3RyYXRpb24uCisgICAgLy8KKyAgICB2b2lkIERlc3Ryb3lNYWluV2luZG93KCkgeworICAgICAgICBpZiAoOjpJc1dpbmRvdyhfaFduZCkpIHsKKyAgICAgICAgICAgIDo6RGVzdHJveVdpbmRvdyhfaFduZCk7CisgICAgICAgICAgICBfaFduZCA9IG51bGxwdHI7CisgICAgICAgICAgICBfdGFza2JhckJ1dHRvbk9LID0gRkFMU0U7CisgICAgICAgIH0KKworICAgICAgICBpZiAoX3JlZ2lzdGVyZWQpIHsKKyAgICAgICAgICAgIDo6VW5yZWdpc3RlckNsYXNzVyhQWUJBX1dJTkRPV19DTEFTUywgX2hNb2R1bGUpOworICAgICAgICAgICAgX3JlZ2lzdGVyZWQgPSBGQUxTRTsKKyAgICAgICAgfQorICAgIH0KKworCisgICAgLy8KKyAgICAvLyBXbmRQcm9jIC0gc3RhbmRhcmQgd2luZG93cyBtZXNzYWdlIGhhbmRsZXIuCisgICAgLy8KKyAgICBzdGF0aWMgTFJFU1VMVCBDQUxMQkFDSyBXbmRQcm9jKAorICAgICAgICBfX2luIEhXTkQgaFduZCwKKyAgICAgICAgX19pbiBVSU5UIHVNc2csCisgICAgICAgIF9faW4gV1BBUkFNIHdQYXJhbSwKKyAgICAgICAgX19pbiBMUEFSQU0gbFBhcmFtCisgICAgKSB7CisjcHJhZ21hIHdhcm5pbmcoc3VwcHJlc3M6NDMxMikKKyAgICAgICAgYXV0byBwQkEgPSByZWludGVycHJldF9jYXN0PFB5dGhvbkJvb3RzdHJhcHBlckFwcGxpY2F0aW9uKj4oOjpHZXRXaW5kb3dMb25nUHRyVyhoV25kLCBHV0xQX1VTRVJEQVRBKSk7CisKKyAgICAgICAgc3dpdGNoICh1TXNnKSB7CisgICAgICAgIGNhc2UgV01fTkNDUkVBVEU6IHsKKyAgICAgICAgICAgIExQQ1JFQVRFU1RSVUNUIGxwY3MgPSByZWludGVycHJldF9jYXN0PExQQ1JFQVRFU1RSVUNUPihsUGFyYW0pOworICAgICAgICAgICAgcEJBID0gcmVpbnRlcnByZXRfY2FzdDxQeXRob25Cb290c3RyYXBwZXJBcHBsaWNhdGlvbio+KGxwY3MtPmxwQ3JlYXRlUGFyYW1zKTsKKyNwcmFnbWEgd2FybmluZyhzdXBwcmVzczo0MjQ0KQorICAgICAgICAgICAgOjpTZXRXaW5kb3dMb25nUHRyVyhoV25kLCBHV0xQX1VTRVJEQVRBLCByZWludGVycHJldF9jYXN0PExPTkdfUFRSPihwQkEpKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisKKyAgICAgICAgY2FzZSBXTV9OQ0RFU1RST1k6IHsKKyAgICAgICAgICAgIExSRVNVTFQgbHJlcyA9IFRoZW1lRGVmV2luZG93UHJvYyhwQkEgPyBwQkEtPl90aGVtZSA6IG51bGxwdHIsIGhXbmQsIHVNc2csIHdQYXJhbSwgbFBhcmFtKTsKKyAgICAgICAgICAgIDo6U2V0V2luZG93TG9uZ1B0clcoaFduZCwgR1dMUF9VU0VSREFUQSwgMCk7CisgICAgICAgICAgICByZXR1cm4gbHJlczsKKyAgICAgICAgfQorCisgICAgICAgIGNhc2UgV01fQ1JFQVRFOiAKKyAgICAgICAgICAgIGlmICghcEJBLT5PbkNyZWF0ZShoV25kKSkgeworICAgICAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgIGNhc2UgV01fUVVFUllFTkRTRVNTSU9OOgorICAgICAgICAgICAgcmV0dXJuIElEQ0FOQ0VMICE9IHBCQS0+T25TeXN0ZW1TaHV0ZG93bihzdGF0aWNfY2FzdDxEV09SRD4obFBhcmFtKSwgSURDQU5DRUwpOworCisgICAgICAgIGNhc2UgV01fQ0xPU0U6CisgICAgICAgICAgICAvLyBJZiB0aGUgdXNlciBjaG9zZSBub3QgdG8gY2xvc2UsIGRvICpub3QqIGxldCB0aGUgZGVmYXVsdCB3aW5kb3cgcHJvYyBoYW5kbGUgdGhlIG1lc3NhZ2UuCisgICAgICAgICAgICBpZiAoIXBCQS0+T25DbG9zZSgpKSB7CisgICAgICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBicmVhazsKKworICAgICAgICBjYXNlIFdNX0RFU1RST1k6CisgICAgICAgICAgICA6OlBvc3RRdWl0TWVzc2FnZSgwKTsKKyAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgIGNhc2UgV01fUEFJTlQ6IF9fZmFsbHRocm91Z2g7CisgICAgICAgIGNhc2UgV01fRVJBU0VCS0dORDoKKyAgICAgICAgICAgIGlmIChwQkEgJiYgcEJBLT5fc3VwcHJlc3NQYWludCkgeworICAgICAgICAgICAgICAgIHJldHVybiBUUlVFOworICAgICAgICAgICAgfQorICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgY2FzZSBXTV9QWUJBX1NIT1dfSEVMUDoKKyAgICAgICAgICAgIHBCQS0+T25TaG93SGVscCgpOworICAgICAgICAgICAgcmV0dXJuIDA7CisKKyAgICAgICAgY2FzZSBXTV9QWUJBX0RFVEVDVF9QQUNLQUdFUzoKKyAgICAgICAgICAgIHBCQS0+T25EZXRlY3QoKTsKKyAgICAgICAgICAgIHJldHVybiAwOworCisgICAgICAgIGNhc2UgV01fUFlCQV9QTEFOX1BBQ0tBR0VTOgorICAgICAgICAgICAgcEJBLT5PblBsYW4oc3RhdGljX2Nhc3Q8Qk9PVFNUUkFQUEVSX0FDVElPTj4obFBhcmFtKSk7CisgICAgICAgICAgICByZXR1cm4gMDsKKworICAgICAgICBjYXNlIFdNX1BZQkFfQVBQTFlfUEFDS0FHRVM6CisgICAgICAgICAgICBwQkEtPk9uQXBwbHkoKTsKKyAgICAgICAgICAgIHJldHVybiAwOworCisgICAgICAgIGNhc2UgV01fUFlCQV9DSEFOR0VfU1RBVEU6CisgICAgICAgICAgICBwQkEtPk9uQ2hhbmdlU3RhdGUoc3RhdGljX2Nhc3Q8UFlCQV9TVEFURT4obFBhcmFtKSk7CisgICAgICAgICAgICByZXR1cm4gMDsKKworICAgICAgICBjYXNlIFdNX1BZQkFfU0hPV19GQUlMVVJFOgorICAgICAgICAgICAgcEJBLT5PblNob3dGYWlsdXJlKCk7CisgICAgICAgICAgICByZXR1cm4gMDsKKworICAgICAgICBjYXNlIFdNX0NPTU1BTkQ6CisgICAgICAgICAgICBzd2l0Y2ggKExPV09SRCh3UGFyYW0pKSB7CisgICAgICAgICAgICAvLyBDdXN0b21pemUgY29tbWFuZHMKKyAgICAgICAgICAgIC8vIFN1Y2Nlc3MvZmFpbHVyZSBjb21tYW5kcworICAgICAgICAgICAgY2FzZSBJRF9MQVVOQ0hfQlVUVE9OOgorICAgICAgICAgICAgICAgIHBCQS0+T25DbGlja0xhdW5jaEJ1dHRvbigpOworICAgICAgICAgICAgICAgIHJldHVybiAwOworCisgICAgICAgICAgICBjYXNlIElEX1NVQ0NFU1NfUkVTVEFSVF9CVVRUT046IF9fZmFsbHRocm91Z2g7CisgICAgICAgICAgICBjYXNlIElEX0ZBSUxVUkVfUkVTVEFSVF9CVVRUT046CisgICAgICAgICAgICAgICAgcEJBLT5PbkNsaWNrUmVzdGFydEJ1dHRvbigpOworICAgICAgICAgICAgICAgIHJldHVybiAwOworCisgICAgICAgICAgICBjYXNlIElEQ0FOQ0VMOiBfX2ZhbGx0aHJvdWdoOworICAgICAgICAgICAgY2FzZSBJRF9JTlNUQUxMX0NBTkNFTF9CVVRUT046IF9fZmFsbHRocm91Z2g7CisgICAgICAgICAgICBjYXNlIElEX0NVU1RPTTFfQ0FOQ0VMX0JVVFRPTjogX19mYWxsdGhyb3VnaDsKKyAgICAgICAgICAgIGNhc2UgSURfQ1VTVE9NMl9DQU5DRUxfQlVUVE9OOiBfX2ZhbGx0aHJvdWdoOworICAgICAgICAgICAgY2FzZSBJRF9NT0RJRllfQ0FOQ0VMX0JVVFRPTjogX19mYWxsdGhyb3VnaDsKKyAgICAgICAgICAgIGNhc2UgSURfUFJPR1JFU1NfQ0FOQ0VMX0JVVFRPTjogX19mYWxsdGhyb3VnaDsKKyAgICAgICAgICAgIGNhc2UgSURfU1VDQ0VTU19DQU5DRUxfQlVUVE9OOiBfX2ZhbGx0aHJvdWdoOworICAgICAgICAgICAgY2FzZSBJRF9GQUlMVVJFX0NBTkNFTF9CVVRUT046IF9fZmFsbHRocm91Z2g7CisgICAgICAgICAgICBjYXNlIElEX0NMT1NFX0JVVFRPTjoKKyAgICAgICAgICAgICAgICBwQkEtPk9uQ29tbWFuZChJRF9DTE9TRV9CVVRUT04pOworICAgICAgICAgICAgICAgIHJldHVybiAwOworCisgICAgICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgICAgIHBCQS0+T25Db21tYW5kKChDT05UUk9MX0lEKUxPV09SRCh3UGFyYW0pKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgIGNhc2UgV01fTk9USUZZOgorICAgICAgICAgICAgaWYgKGxQYXJhbSkgeworICAgICAgICAgICAgICAgIExQTk1IRFIgcG5taGRyID0gcmVpbnRlcnByZXRfY2FzdDxMUE5NSERSPihsUGFyYW0pOworICAgICAgICAgICAgICAgIHN3aXRjaCAocG5taGRyLT5jb2RlKSB7CisgICAgICAgICAgICAgICAgY2FzZSBOTV9DTElDSzogX19mYWxsdGhyb3VnaDsKKyAgICAgICAgICAgICAgICBjYXNlIE5NX1JFVFVSTjoKKyAgICAgICAgICAgICAgICAgICAgc3dpdGNoIChzdGF0aWNfY2FzdDxEV09SRD4ocG5taGRyLT5pZEZyb20pKSB7CisgICAgICAgICAgICAgICAgICAgIGNhc2UgSURfRkFJTFVSRV9MT0dGSUxFX0xJTks6CisgICAgICAgICAgICAgICAgICAgICAgICBwQkEtPk9uQ2xpY2tMb2dGaWxlTGluaygpOworICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDE7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgICAgICBicmVhazsKKworICAgICAgICBjYXNlIFdNX0NUTENPTE9SQlROOgorICAgICAgICAgICAgaWYgKHBCQSkgeworICAgICAgICAgICAgICAgIEhXTkQgYnV0dG9uID0gKEhXTkQpbFBhcmFtOworICAgICAgICAgICAgICAgIERXT1JEIHN0eWxlID0gR2V0V2luZG93TG9uZyhidXR0b24sIEdXTF9TVFlMRSkgJiBCU19UWVBFTUFTSzsKKyAgICAgICAgICAgICAgICBpZiAoc3R5bGUgPT0gQlNfQ09NTUFORExJTksgfHwgc3R5bGUgPT0gQlNfREVGQ09NTUFORExJTkspIHsKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChMUkVTVUxUKXBCQS0+X3RoZW1lLT5yZ0ZvbnRzW3BCQS0+X3RoZW1lLT5kd0ZvbnRJZF0uaEJhY2tncm91bmQ7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKworICAgICAgICBpZiAocEJBICYmIHBCQS0+X3Rhc2tiYXJMaXN0ICYmIHVNc2cgPT0gcEJBLT5fdGFza2JhckJ1dHRvbkNyZWF0ZWRNZXNzYWdlKSB7CisgICAgICAgICAgICBwQkEtPl90YXNrYmFyQnV0dG9uT0sgPSBUUlVFOworICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIH0KKworICAgICAgICByZXR1cm4gVGhlbWVEZWZXaW5kb3dQcm9jKHBCQSA/IHBCQS0+X3RoZW1lIDogbnVsbHB0ciwgaFduZCwgdU1zZywgd1BhcmFtLCBsUGFyYW0pOworICAgIH0KKworICAgIC8vCisgICAgLy8gT25DcmVhdGUgLSBmaW5pc2hlcyBsb2FkaW5nIHRoZSB0aGVtZS4KKyAgICAvLworICAgIEJPT0wgT25DcmVhdGUoX19pbiBIV05EIGhXbmQpIHsKKyAgICAgICAgSFJFU1VMVCBociA9IFNfT0s7CisKKyAgICAgICAgaHIgPSBUaGVtZUxvYWRDb250cm9scyhfdGhlbWUsIGhXbmQsIENPTlRST0xfSURfTkFNRVMsIGNvdW50b2YoQ09OVFJPTF9JRF9OQU1FUykpOworICAgICAgICBCYWxFeGl0T25GYWlsdXJlKGhyLCAiRmFpbGVkIHRvIGxvYWQgdGhlbWUgY29udHJvbHMuIik7CisKKyAgICAgICAgQ19BU1NFUlQoQ09VTlRfUEFHRSA9PSBjb3VudG9mKFBBR0VfTkFNRVMpKTsKKyAgICAgICAgQ19BU1NFUlQoY291bnRvZihfcGFnZUlkcykgPT0gY291bnRvZihQQUdFX05BTUVTKSk7CisKKyAgICAgICAgVGhlbWVHZXRQYWdlSWRzKF90aGVtZSwgUEFHRV9OQU1FUywgX3BhZ2VJZHMsIGNvdW50b2YoX3BhZ2VJZHMpKTsKKworICAgICAgICAvLyBJbml0aWFsaXplIHRoZSB0ZXh0IG9uIGFsbCAiYXBwbGljYXRpb24iIChub24tcGFnZSkgY29udHJvbHMuCisgICAgICAgIGZvciAoRFdPUkQgaSA9IDA7IGkgPCBfdGhlbWUtPmNDb250cm9sczsgKytpKSB7CisgICAgICAgICAgICBUSEVNRV9DT05UUk9MKiBwQ29udHJvbCA9IF90aGVtZS0+cmdDb250cm9scyArIGk7CisgICAgICAgICAgICBMUFdTVFIgdGV4dCA9IG51bGxwdHI7CisgICAgICAgICAgICBMUFdTVFIgbmFtZSA9IG51bGxwdHI7CisgICAgICAgICAgICBMT0NfU1RSSU5HICpsb2NUZXh0ID0gbnVsbHB0cjsKKworICAgICAgICAgICAgLy8gSWYgYSBjb21tYW5kIGxpbmsgaGFzIGEgbm90ZSwgdGhlbiBhZGQgaXQuCisgICAgICAgICAgICBpZiAoKHBDb250cm9sLT5kd1N0eWxlICYgQlNfVFlQRU1BU0spID09IEJTX0NPTU1BTkRMSU5LIHx8CisgICAgICAgICAgICAgICAgKHBDb250cm9sLT5kd1N0eWxlICYgQlNfVFlQRU1BU0spID09IEJTX0RFRkNPTU1BTkRMSU5LKSB7CisgICAgICAgICAgICAgICAgaHIgPSBTdHJBbGxvY0Zvcm1hdHRlZCgmbmFtZSwgTCIjKGxvYy4lbHNOb3RlKSIsIHBDb250cm9sLT5zY3pOYW1lKTsKKyAgICAgICAgICAgICAgICBpZiAoU1VDQ0VFREVEKGhyKSkgeworICAgICAgICAgICAgICAgICAgICBociA9IExvY0dldFN0cmluZyhfd2l4TG9jLCBuYW1lLCAmbG9jVGV4dCk7CisgICAgICAgICAgICAgICAgICAgIFJlbGVhc2VTdHIobmFtZSk7CisgICAgICAgICAgICAgICAgICAgIGlmIChTVUNDRUVERUQoaHIpICYmIGxvY1RleHQgJiYgbG9jVGV4dC0+d3pUZXh0ICYmIGxvY1RleHQtPnd6VGV4dFswXSkgeworICAgICAgICAgICAgICAgICAgICAgICAgaHIgPSBCYWxGb3JtYXRTdHJpbmcobG9jVGV4dC0+d3pUZXh0LCAmdGV4dCk7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoU1VDQ0VFREVEKGhyKSAmJiB0ZXh0ICYmIHRleHRbMF0pIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGVtZVNlbmRDb250cm9sTWVzc2FnZShfdGhlbWUsIHBDb250cm9sLT53SWQsIEJDTV9TRVROT1RFLCAwLCAoTFBBUkFNKXRleHQpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlbGVhc2VTdHIodGV4dCk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dCA9IG51bGxwdHI7CisgICAgICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgaHIgPSBTX09LOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBpZiAoIXBDb250cm9sLT53UGFnZUlkICYmIHBDb250cm9sLT5zY3pUZXh0ICYmICpwQ29udHJvbC0+c2N6VGV4dCkgeworICAgICAgICAgICAgICAgIEhSRVNVTFQgaHJGb3JtYXQ7CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgLy8gSWYgdGhlIHdpeCBkZXZlbG9wZXIgaXMgc2hvd2luZyBhIGhpZGRlbiB2YXJpYWJsZSBpbiB0aGUgVUksCisgICAgICAgICAgICAgICAgLy8gdGhlbiBvYnZpb3VzbHkgdGhleSBkb24ndCBjYXJlIGFib3V0IGtlZXBpbmcgaXQgc2FmZSBzbyBkb24ndAorICAgICAgICAgICAgICAgIC8vIGdvIGRvd24gdGhlIHJhYmJpdCBob2xlIG9mIG1ha2luZyBzdXJlIHRoYXQgdGhpcyBpcyBzZWN1cmVseQorICAgICAgICAgICAgICAgIC8vIGZyZWVkLgorICAgICAgICAgICAgICAgIGhyRm9ybWF0ID0gQmFsRm9ybWF0U3RyaW5nKHBDb250cm9sLT5zY3pUZXh0LCAmdGV4dCk7CisgICAgICAgICAgICAgICAgaWYgKFNVQ0NFRURFRChockZvcm1hdCkpIHsKKyAgICAgICAgICAgICAgICAgICAgVGhlbWVTZXRUZXh0Q29udHJvbChfdGhlbWUsIHBDb250cm9sLT53SWQsIHRleHQpOworICAgICAgICAgICAgICAgICAgICBSZWxlYXNlU3RyKHRleHQpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorCisgICAgTEV4aXQ6CisgICAgICAgIHJldHVybiBTVUNDRUVERUQoaHIpOworICAgIH0KKworCisgICAgLy8KKyAgICAvLyBPblNob3dGYWlsdXJlIC0gZGlzcGxheSB0aGUgZmFpbHVyZSBwYWdlLgorICAgIC8vCisgICAgdm9pZCBPblNob3dGYWlsdXJlKCkgeworICAgICAgICBTZXRTdGF0ZShQWUJBX1NUQVRFX0ZBSUxFRCwgU19PSyk7CisKKyAgICAgICAgLy8gSWYgdGhlIFVJIHNob3VsZCBiZSB2aXNpYmxlLCBkaXNwbGF5IGl0IG5vdyBhbmQgaGlkZSB0aGUgc3BsYXNoIHNjcmVlbgorICAgICAgICBpZiAoQk9PVFNUUkFQUEVSX0RJU1BMQVlfTk9ORSA8IF9jb21tYW5kLmRpc3BsYXkpIHsKKyAgICAgICAgICAgIDo6U2hvd1dpbmRvdyhfdGhlbWUtPmh3bmRQYXJlbnQsIFNXX1NIT1cpOworICAgICAgICB9CisKKyAgICAgICAgX2VuZ2luZS0+Q2xvc2VTcGxhc2hTY3JlZW4oKTsKKworICAgICAgICByZXR1cm47CisgICAgfQorCisKKyAgICAvLworICAgIC8vIE9uU2hvd0hlbHAgLSBkaXNwbGF5IHRoZSBoZWxwIHBhZ2UuCisgICAgLy8KKyAgICB2b2lkIE9uU2hvd0hlbHAoKSB7CisgICAgICAgIFNldFN0YXRlKFBZQkFfU1RBVEVfSEVMUCwgU19PSyk7CisKKyAgICAgICAgLy8gSWYgdGhlIFVJIHNob3VsZCBiZSB2aXNpYmxlLCBkaXNwbGF5IGl0IG5vdyBhbmQgaGlkZSB0aGUgc3BsYXNoIHNjcmVlbgorICAgICAgICBpZiAoQk9PVFNUUkFQUEVSX0RJU1BMQVlfTk9ORSA8IF9jb21tYW5kLmRpc3BsYXkpIHsKKyAgICAgICAgICAgIDo6U2hvd1dpbmRvdyhfdGhlbWUtPmh3bmRQYXJlbnQsIFNXX1NIT1cpOworICAgICAgICB9CisKKyAgICAgICAgX2VuZ2luZS0+Q2xvc2VTcGxhc2hTY3JlZW4oKTsKKworICAgICAgICByZXR1cm47CisgICAgfQorCisKKyAgICAvLworICAgIC8vIE9uRGV0ZWN0IC0gc3RhcnQgdGhlIHByb2Nlc3Npbmcgb2YgcGFja2FnZXMuCisgICAgLy8KKyAgICB2b2lkIE9uRGV0ZWN0KCkgeworICAgICAgICBIUkVTVUxUIGhyID0gU19PSzsKKworICAgICAgICBpZiAoX2JhRnVuY3Rpb24pIHsKKyAgICAgICAgICAgIEJhbExvZyhCT09UU1RSQVBQRVJfTE9HX0xFVkVMX1NUQU5EQVJELCAiUnVubmluZyBkZXRlY3QgQkEgZnVuY3Rpb24iKTsKKyAgICAgICAgICAgIGhyID0gX2JhRnVuY3Rpb24tPk9uRGV0ZWN0KCk7CisgICAgICAgICAgICBCYWxFeGl0T25GYWlsdXJlKGhyLCAiRmFpbGVkIGNhbGxpbmcgZGV0ZWN0IEJBIGZ1bmN0aW9uLiIpOworICAgICAgICB9CisKKyAgICAgICAgU2V0U3RhdGUoUFlCQV9TVEFURV9ERVRFQ1RJTkcsIGhyKTsKKworICAgICAgICAvLyBJZiB0aGUgVUkgc2hvdWxkIGJlIHZpc2libGUsIGRpc3BsYXkgaXQgbm93IGFuZCBoaWRlIHRoZSBzcGxhc2ggc2NyZWVuCisgICAgICAgIGlmIChCT09UU1RSQVBQRVJfRElTUExBWV9OT05FIDwgX2NvbW1hbmQuZGlzcGxheSkgeworICAgICAgICAgICAgOjpTaG93V2luZG93KF90aGVtZS0+aHduZFBhcmVudCwgU1dfU0hPVyk7CisgICAgICAgIH0KKworICAgICAgICBfZW5naW5lLT5DbG9zZVNwbGFzaFNjcmVlbigpOworCisgICAgICAgIC8vIFRlbGwgdGhlIGNvcmUgd2UncmUgcmVhZHkgZm9yIHRoZSBwYWNrYWdlcyB0byBiZSBwcm9jZXNzZWQgbm93LgorICAgICAgICBociA9IF9lbmdpbmUtPkRldGVjdCgpOworICAgICAgICBCYWxFeGl0T25GYWlsdXJlKGhyLCAiRmFpbGVkIHRvIHN0YXJ0IGRldGVjdGluZyBjaGFpbi4iKTsKKworICAgIExFeGl0OgorICAgICAgICBpZiAoRkFJTEVEKGhyKSkgeworICAgICAgICAgICAgU2V0U3RhdGUoUFlCQV9TVEFURV9ERVRFQ1RJTkcsIGhyKTsKKyAgICAgICAgfQorCisgICAgICAgIHJldHVybjsKKyAgICB9CisKKworICAgIC8vCisgICAgLy8gT25QbGFuIC0gcGxhbiB0aGUgZGV0ZWN0ZWQgY2hhbmdlcy4KKyAgICAvLworICAgIHZvaWQgT25QbGFuKF9faW4gQk9PVFNUUkFQUEVSX0FDVElPTiBhY3Rpb24pIHsKKyAgICAgICAgSFJFU1VMVCBociA9IFNfT0s7CisgICAgICAgIExQQ1dTVFIgbGlrZUluc3RhbGxpbmcgPSBudWxscHRyOworICAgICAgICBMUENXU1RSIGxpa2VJbnN0YWxsYXRpb24gPSBudWxscHRyOworCisgICAgICAgIF9wbGFubmVkQWN0aW9uID0gYWN0aW9uOworCisgICAgICAgIHN3aXRjaCAoYWN0aW9uKSB7CisgICAgICAgIGNhc2UgQk9PVFNUUkFQUEVSX0FDVElPTl9JTlNUQUxMOgorICAgICAgICAgICAgbGlrZUluc3RhbGxpbmcgPSBMIkluc3RhbGxpbmciOworICAgICAgICAgICAgbGlrZUluc3RhbGxhdGlvbiA9IEwiSW5zdGFsbGF0aW9uIjsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIEJPT1RTVFJBUFBFUl9BQ1RJT05fTU9ESUZZOgorICAgICAgICAgICAgLy8gRm9yIG1vZGlmeSwgd2UgYWN0dWFsbHkgd2FudCB0byBwYXNzIElOU1RBTEwKKyAgICAgICAgICAgIGFjdGlvbiA9IEJPT1RTVFJBUFBFUl9BQ1RJT05fSU5TVEFMTDsKKyAgICAgICAgICAgIGxpa2VJbnN0YWxsaW5nID0gTCJNb2RpZnlpbmciOworICAgICAgICAgICAgbGlrZUluc3RhbGxhdGlvbiA9IEwiTW9kaWZpY2F0aW9uIjsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIEJPT1RTVFJBUFBFUl9BQ1RJT05fUkVQQUlSOgorICAgICAgICAgICAgbGlrZUluc3RhbGxpbmcgPSBMIlJlcGFpcmluZyI7CisgICAgICAgICAgICBsaWtlSW5zdGFsbGF0aW9uID0gTCJSZXBhaXIiOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgQk9PVFNUUkFQUEVSX0FDVElPTl9VTklOU1RBTEw6CisgICAgICAgICAgICBsaWtlSW5zdGFsbGluZyA9IEwiVW5pbnN0YWxsaW5nIjsKKyAgICAgICAgICAgIGxpa2VJbnN0YWxsYXRpb24gPSBMIlVuaW5zdGFsbGF0aW9uIjsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisKKyAgICAgICAgaWYgKGxpa2VJbnN0YWxsaW5nKSB7CisgICAgICAgICAgICBMUFdTVFIgbG9jTmFtZSA9IG51bGxwdHI7CisgICAgICAgICAgICBMT0NfU1RSSU5HICpsb2NUZXh0ID0gbnVsbHB0cjsKKyAgICAgICAgICAgIGhyID0gU3RyQWxsb2NGb3JtYXR0ZWQoJmxvY05hbWUsIEwiIyhsb2MuJWxzKSIsIGxpa2VJbnN0YWxsaW5nKTsKKyAgICAgICAgICAgIGlmIChTVUNDRUVERUQoaHIpKSB7CisgICAgICAgICAgICAgICAgaHIgPSBMb2NHZXRTdHJpbmcoX3dpeExvYywgbG9jTmFtZSwgJmxvY1RleHQpOworICAgICAgICAgICAgICAgIFJlbGVhc2VTdHIobG9jTmFtZSk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBfZW5naW5lLT5TZXRWYXJpYWJsZVN0cmluZygKKyAgICAgICAgICAgICAgICBMIkFjdGlvbkxpa2VJbnN0YWxsaW5nIiwKKyAgICAgICAgICAgICAgICBTVUNDRUVERUQoaHIpICYmIGxvY1RleHQgPyBsb2NUZXh0LT53elRleHQgOiBsaWtlSW5zdGFsbGluZworICAgICAgICAgICAgKTsKKyAgICAgICAgfQorCisgICAgICAgIGlmIChsaWtlSW5zdGFsbGF0aW9uKSB7CisgICAgICAgICAgICBMUFdTVFIgbG9jTmFtZSA9IG51bGxwdHI7CisgICAgICAgICAgICBMT0NfU1RSSU5HICpsb2NUZXh0ID0gbnVsbHB0cjsKKyAgICAgICAgICAgIGhyID0gU3RyQWxsb2NGb3JtYXR0ZWQoJmxvY05hbWUsIEwiIyhsb2MuJWxzKSIsIGxpa2VJbnN0YWxsYXRpb24pOworICAgICAgICAgICAgaWYgKFNVQ0NFRURFRChocikpIHsKKyAgICAgICAgICAgICAgICBociA9IExvY0dldFN0cmluZyhfd2l4TG9jLCBsb2NOYW1lLCAmbG9jVGV4dCk7CisgICAgICAgICAgICAgICAgUmVsZWFzZVN0cihsb2NOYW1lKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIF9lbmdpbmUtPlNldFZhcmlhYmxlU3RyaW5nKAorICAgICAgICAgICAgICAgIEwiQWN0aW9uTGlrZUluc3RhbGxhdGlvbiIsCisgICAgICAgICAgICAgICAgU1VDQ0VFREVEKGhyKSAmJiBsb2NUZXh0ID8gbG9jVGV4dC0+d3pUZXh0IDogbGlrZUluc3RhbGxhdGlvbgorICAgICAgICAgICAgKTsKKyAgICAgICAgfQorCisgICAgICAgIC8vIElmIHdlIGFyZSBnb2luZyB0byBhcHBseSBhIGRvd25ncmFkZSwgYmFpbC4KKyAgICAgICAgaWYgKF9kb3duZ3JhZGluZyAmJiBCT09UU1RSQVBQRVJfQUNUSU9OX1VOSU5TVEFMTCA8IGFjdGlvbikgeworICAgICAgICAgICAgaWYgKF9zdXBwcmVzc0Rvd25ncmFkZUZhaWx1cmUpIHsKKyAgICAgICAgICAgICAgICBCYWxMb2coQk9PVFNUUkFQUEVSX0xPR19MRVZFTF9TVEFOREFSRCwgIkEgbmV3ZXIgdmVyc2lvbiBvZiB0aGlzIHByb2R1Y3QgaXMgaW5zdGFsbGVkIGJ1dCBkb3duZ3JhZGUgZmFpbHVyZSBoYXMgYmVlbiBzdXBwcmVzc2VkOyBjb250aW51aW5nLi4uIik7CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIGhyID0gSFJFU1VMVF9GUk9NX1dJTjMyKEVSUk9SX1BST0RVQ1RfVkVSU0lPTik7CisgICAgICAgICAgICAgICAgQmFsRXhpdE9uRmFpbHVyZShociwgIkNhbm5vdCBpbnN0YWxsIGEgcHJvZHVjdCB3aGVuIGEgbmV3ZXIgdmVyc2lvbiBpcyBpbnN0YWxsZWQuIik7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKworICAgICAgICBTZXRTdGF0ZShQWUJBX1NUQVRFX1BMQU5OSU5HLCBocik7CisKKyAgICAgICAgaWYgKF9iYUZ1bmN0aW9uKSB7CisgICAgICAgICAgICBCYWxMb2coQk9PVFNUUkFQUEVSX0xPR19MRVZFTF9TVEFOREFSRCwgIlJ1bm5pbmcgcGxhbiBCQSBmdW5jdGlvbiIpOworICAgICAgICAgICAgX2JhRnVuY3Rpb24tPk9uUGxhbigpOworICAgICAgICB9CisKKyAgICAgICAgaHIgPSBfZW5naW5lLT5QbGFuKGFjdGlvbik7CisgICAgICAgIEJhbEV4aXRPbkZhaWx1cmUoaHIsICJGYWlsZWQgdG8gc3RhcnQgcGxhbm5pbmcgcGFja2FnZXMuIik7CisKKyAgICBMRXhpdDoKKyAgICAgICAgaWYgKEZBSUxFRChocikpIHsKKyAgICAgICAgICAgIFNldFN0YXRlKFBZQkFfU1RBVEVfUExBTk5JTkcsIGhyKTsKKyAgICAgICAgfQorCisgICAgICAgIHJldHVybjsKKyAgICB9CisKKworICAgIC8vCisgICAgLy8gT25BcHBseSAtIGFwcGx5IHRoZSBwYWNrYWdlcy4KKyAgICAvLworICAgIHZvaWQgT25BcHBseSgpIHsKKyAgICAgICAgSFJFU1VMVCBociA9IFNfT0s7CisKKyAgICAgICAgU2V0U3RhdGUoUFlCQV9TVEFURV9BUFBMWUlORywgaHIpOworICAgICAgICBTZXRQcm9ncmVzc1N0YXRlKGhyKTsKKyAgICAgICAgU2V0VGFza2JhckJ1dHRvblByb2dyZXNzKDApOworCisgICAgICAgIGhyID0gX2VuZ2luZS0+QXBwbHkoX2hXbmQpOworICAgICAgICBCYWxFeGl0T25GYWlsdXJlKGhyLCAiRmFpbGVkIHRvIHN0YXJ0IGFwcGx5aW5nIHBhY2thZ2VzLiIpOworCisgICAgICAgIFRoZW1lQ29udHJvbEVuYWJsZShfdGhlbWUsIElEX1BST0dSRVNTX0NBTkNFTF9CVVRUT04sIFRSVUUpOyAvLyBlbnN1cmUgdGhlIGNhbmNlbCBidXR0b24gaXMgZW5hYmxlZCBiZWZvcmUgc3RhcnRpbmcuCisKKyAgICBMRXhpdDoKKyAgICAgICAgaWYgKEZBSUxFRChocikpIHsKKyAgICAgICAgICAgIFNldFN0YXRlKFBZQkFfU1RBVEVfQVBQTFlJTkcsIGhyKTsKKyAgICAgICAgfQorCisgICAgICAgIHJldHVybjsKKyAgICB9CisKKworICAgIC8vCisgICAgLy8gT25DaGFuZ2VTdGF0ZSAtIGNoYW5nZSBzdGF0ZS4KKyAgICAvLworICAgIHZvaWQgT25DaGFuZ2VTdGF0ZShfX2luIFBZQkFfU1RBVEUgc3RhdGUpIHsKKyAgICAgICAgTFBXU1RSIHVuZm9ybWF0dGVkVGV4dCA9IG51bGxwdHI7CisKKyAgICAgICAgX3N0YXRlID0gc3RhdGU7CisKKyAgICAgICAgLy8gSWYgb3VyIGluc3RhbGwgaXMgYXQgdGhlIGVuZCAoc3VjY2VzcyBvciBmYWlsdXJlKSBhbmQgd2UncmUgbm90IHNob3dpbmcgZnVsbCBVSQorICAgICAgICAvLyB0aGVuIGV4aXQgKHByb21wdCBmb3IgcmVzdGFydCBpZiByZXF1aXJlZCkuCisgICAgICAgIGlmICgoUFlCQV9TVEFURV9BUFBMSUVEIDw9IF9zdGF0ZSAmJiBCT09UU1RSQVBQRVJfRElTUExBWV9GVUxMID4gX2NvbW1hbmQuZGlzcGxheSkpIHsKKyAgICAgICAgICAgIC8vIElmIGEgcmVzdGFydCB3YXMgcmVxdWlyZWQgYnV0IHdlIHdlcmUgbm90IGF1dG9tYXRpY2FsbHkgYWxsb3dlZCB0bworICAgICAgICAgICAgLy8gYWNjZXB0IHRoZSByZWJvb3QgdGhlbiBkbyB0aGUgcHJvbXB0LgorICAgICAgICAgICAgaWYgKF9yZXN0YXJ0UmVxdWlyZWQgJiYgIV9hbGxvd1Jlc3RhcnQpIHsKKyAgICAgICAgICAgICAgICBTdHJBbGxvY0Zyb21FcnJvcigmdW5mb3JtYXR0ZWRUZXh0LCBIUkVTVUxUX0ZST01fV0lOMzIoRVJST1JfU1VDQ0VTU19SRUJPT1RfUkVRVUlSRUQpLCBudWxscHRyKTsKKworICAgICAgICAgICAgICAgIF9hbGxvd1Jlc3RhcnQgPSBJRE9LID09IDo6TWVzc2FnZUJveFcoCisgICAgICAgICAgICAgICAgICAgIF9oV25kLAorICAgICAgICAgICAgICAgICAgICB1bmZvcm1hdHRlZFRleHQgPyB1bmZvcm1hdHRlZFRleHQgOiBMIlRoZSByZXF1ZXN0ZWQgb3BlcmF0aW9uIGlzIHN1Y2Nlc3NmdWwuIENoYW5nZXMgd2lsbCBub3QgYmUgZWZmZWN0aXZlIHVudGlsIHRoZSBzeXN0ZW0gaXMgcmVib290ZWQuIiwKKyAgICAgICAgICAgICAgICAgICAgX3RoZW1lLT5zY3pDYXB0aW9uLAorICAgICAgICAgICAgICAgICAgICBNQl9JQ09ORVhDTEFNQVRJT04gfCBNQl9PS0NBTkNFTAorICAgICAgICAgICAgICAgICk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIC8vIFF1aWV0bHkgZXhpdC4KKyAgICAgICAgICAgIDo6UG9zdE1lc3NhZ2VXKF9oV25kLCBXTV9DTE9TRSwgMCwgMCk7CisgICAgICAgIH0gZWxzZSB7IC8vIHRyeSB0byBjaGFuZ2UgdGhlIHBhZ2VzLgorICAgICAgICAgICAgRFdPUkQgbmV3UGFnZUlkID0gMDsKKyAgICAgICAgICAgIERldGVybWluZVBhZ2VJZChfc3RhdGUsICZuZXdQYWdlSWQpOworCisgICAgICAgICAgICBpZiAoX3Zpc2libGVQYWdlSWQgIT0gbmV3UGFnZUlkKSB7CisgICAgICAgICAgICAgICAgU2hvd1BhZ2UobmV3UGFnZUlkKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorCisgICAgICAgIFJlbGVhc2VTdHIodW5mb3JtYXR0ZWRUZXh0KTsKKyAgICB9CisKKyAgICAvLworICAgIC8vIENhbGxlZCBiZWZvcmUgc2hvd2luZyBhIHBhZ2UgdG8gaGFuZGxlIGFsbCBjb250cm9scy4KKyAgICAvLworICAgIHZvaWQgUHJvY2Vzc1BhZ2VDb250cm9scyhUSEVNRV9QQUdFICpwUGFnZSkgeworICAgICAgICBpZiAoIXBQYWdlKSB7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKworICAgICAgICBmb3IgKERXT1JEIGkgPSAwOyBpIDwgcFBhZ2UtPmNDb250cm9sSW5kaWNlczsgKytpKSB7CisgICAgICAgICAgICBUSEVNRV9DT05UUk9MKiBwQ29udHJvbCA9IF90aGVtZS0+cmdDb250cm9scyArIHBQYWdlLT5yZ2R3Q29udHJvbEluZGljZXNbaV07CisKKyAgICAgICAgICAgIC8vIElmIHRoaXMgaXMgYSBuYW1lZCBjb250cm9sLCB0cnkgdG8gc2V0IGl0cyBkZWZhdWx0IHN0YXRlLgorICAgICAgICAgICAgaWYgKHBDb250cm9sLT5zY3pOYW1lICYmICpwQ29udHJvbC0+c2N6TmFtZSkgeworICAgICAgICAgICAgICAgIC8vIElmIHRoaXMgaXMgYSBjaGVja2FibGUgY29udHJvbCwgdHJ5IHRvIHNldCBpdHMgZGVmYXVsdCBzdGF0ZQorICAgICAgICAgICAgICAgIC8vIHRvIHRoZSBzdGF0ZSBvZiBhIG1hdGNoaW5nIG5hbWVkIEJ1cm4gdmFyaWFibGUuCisgICAgICAgICAgICAgICAgaWYgKElzQ2hlY2thYmxlKHBDb250cm9sKSkgeworICAgICAgICAgICAgICAgICAgICBMT05HTE9ORyBsbFZhbHVlID0gMDsKKyAgICAgICAgICAgICAgICAgICAgSFJFU1VMVCBociA9IEJhbEdldE51bWVyaWNWYXJpYWJsZShwQ29udHJvbC0+c2N6TmFtZSwgJmxsVmFsdWUpOworCisgICAgICAgICAgICAgICAgICAgIC8vIElmIHRoZSBjb250cm9sIHZhbHVlIGlzbid0IHNldCB0aGVuIGRpc2FibGUgaXQuCisgICAgICAgICAgICAgICAgICAgIGlmICghU1VDQ0VFREVEKGhyKSkgeworICAgICAgICAgICAgICAgICAgICAgICAgVGhlbWVDb250cm9sRW5hYmxlKF90aGVtZSwgcENvbnRyb2wtPndJZCwgRkFMU0UpOworICAgICAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAgICAgICAgVGhlbWVTZW5kQ29udHJvbE1lc3NhZ2UoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgX3RoZW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBDb250cm9sLT53SWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgQk1fU0VUQ0hFQ0ssCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgU1VDQ0VFREVEKGhyKSAmJiBsbFZhbHVlID8gQlNUX0NIRUNLRUQgOiBCU1RfVU5DSEVDS0VELAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAKKyAgICAgICAgICAgICAgICAgICAgICAgICk7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICAvLyBIaWRlIG9yIGRpc2FibGUgY29udHJvbHMgYmFzZWQgb24gdGhlIGNvbnRyb2wgbmFtZSB3aXRoICdTdGF0ZScgYXBwZW5kZWQKKyAgICAgICAgICAgICAgICBMUFdTVFIgY29udHJvbE5hbWUgPSBudWxscHRyOworICAgICAgICAgICAgICAgIEhSRVNVTFQgaHIgPSBTdHJBbGxvY0Zvcm1hdHRlZCgmY29udHJvbE5hbWUsIEwiJWxzU3RhdGUiLCBwQ29udHJvbC0+c2N6TmFtZSk7CisgICAgICAgICAgICAgICAgaWYgKFNVQ0NFRURFRChocikpIHsKKyAgICAgICAgICAgICAgICAgICAgTFBXU1RSIGNvbnRyb2xTdGF0ZSA9IG51bGxwdHI7CisgICAgICAgICAgICAgICAgICAgIGhyID0gQmFsR2V0U3RyaW5nVmFyaWFibGUoY29udHJvbE5hbWUsICZjb250cm9sU3RhdGUpOworICAgICAgICAgICAgICAgICAgICBpZiAoU1VDQ0VFREVEKGhyKSAmJiBjb250cm9sU3RhdGUgJiYgKmNvbnRyb2xTdGF0ZSkgeworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKENTVFJfRVFVQUwgPT0gOjpDb21wYXJlU3RyaW5nVyhMT0NBTEVfTkVVVFJBTCwgMCwgY29udHJvbFN0YXRlLCAtMSwgTCJkaXNhYmxlIiwgLTEpKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgQmFsTG9nKEJPT1RTVFJBUFBFUl9MT0dfTEVWRUxfU1RBTkRBUkQsICJEaXNhYmxlIGNvbnRyb2wgJWxzIiwgcENvbnRyb2wtPnNjek5hbWUpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoZW1lQ29udHJvbEVuYWJsZShfdGhlbWUsIHBDb250cm9sLT53SWQsIEZBTFNFKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoQ1NUUl9FUVVBTCA9PSA6OkNvbXBhcmVTdHJpbmdXKExPQ0FMRV9ORVVUUkFMLCAwLCBjb250cm9sU3RhdGUsIC0xLCBMImhpZGUiLCAtMSkpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBCYWxMb2coQk9PVFNUUkFQUEVSX0xPR19MRVZFTF9TVEFOREFSRCwgIkhpZGUgY29udHJvbCAlbHMiLCBwQ29udHJvbC0+c2N6TmFtZSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gVE9ETzogVGhpcyBkb2Vzbid0IHdvcmsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGVtZVNob3dDb250cm9sKF90aGVtZSwgcENvbnRyb2wtPndJZCwgU1dfSElERSk7CisgICAgICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgU3RyRnJlZShjb250cm9sU3RhdGUpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBTdHJGcmVlKGNvbnRyb2xOYW1lKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgLy8gRm9ybWF0IHRoZSB0ZXh0IGluIGVhY2ggb2YgdGhlIG5ldyBwYWdlJ3MgY29udHJvbHMKKyAgICAgICAgICAgIGlmIChwQ29udHJvbC0+c2N6VGV4dCAmJiAqcENvbnRyb2wtPnNjelRleHQpIHsKKyAgICAgICAgICAgICAgICAvLyBJZiB0aGUgd2l4IGRldmVsb3BlciBpcyBzaG93aW5nIGEgaGlkZGVuIHZhcmlhYmxlCisgICAgICAgICAgICAgICAgLy8gaW4gdGhlIFVJLCB0aGVuIG9idmlvdXNseSB0aGV5IGRvbid0IGNhcmUgYWJvdXQKKyAgICAgICAgICAgICAgICAvLyBrZWVwaW5nIGl0IHNhZmUgc28gZG9uJ3QgZ28gZG93biB0aGUgcmFiYml0IGhvbGUKKyAgICAgICAgICAgICAgICAvLyBvZiBtYWtpbmcgc3VyZSB0aGF0IHRoaXMgaXMgc2VjdXJlbHkgZnJlZWQuCisgICAgICAgICAgICAgICAgTFBXU1RSIHRleHQgPSBudWxscHRyOworICAgICAgICAgICAgICAgIEhSRVNVTFQgaHIgPSBCYWxGb3JtYXRTdHJpbmcocENvbnRyb2wtPnNjelRleHQsICZ0ZXh0KTsKKyAgICAgICAgICAgICAgICBpZiAoU1VDQ0VFREVEKGhyKSkgeworICAgICAgICAgICAgICAgICAgICBUaGVtZVNldFRleHRDb250cm9sKF90aGVtZSwgcENvbnRyb2wtPndJZCwgdGV4dCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfQorCisgICAgLy8KKyAgICAvLyBPbkNsb3NlIC0gY2FsbGVkIHdoZW4gdGhlIHdpbmRvdyBpcyB0cnlpbmcgdG8gYmUgY2xvc2VkLgorICAgIC8vCisgICAgQk9PTCBPbkNsb3NlKCkgeworICAgICAgICBCT09MIGNsb3NlID0gRkFMU0U7CisKKyAgICAgICAgLy8gSWYgd2UndmUgYWxyZWFkeSBzdWNjZWVkZWQgb3IgZmFpbGVkIG9yIHNob3dpbmcgdGhlIGhlbHAgcGFnZSwganVzdCBjbG9zZSAocHJvbXB0cyBhcmUgYW5ub3lpbmcgaWYgdGhlIGJvb3RzdHJhcHBlciBpcyBkb25lKS4KKyAgICAgICAgaWYgKFBZQkFfU1RBVEVfQVBQTElFRCA8PSBfc3RhdGUgfHwgUFlCQV9TVEFURV9IRUxQID09IF9zdGF0ZSkgeworICAgICAgICAgICAgY2xvc2UgPSBUUlVFOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgLy8gcHJvbXB0IHRoZSB1c2VyIG9yIGZvcmNlIHRoZSBjYW5jZWwgaWYgdGhlcmUgaXMgbm8gVUkuCisgICAgICAgICAgICBjbG9zZSA9IFByb21wdENhbmNlbCgKKyAgICAgICAgICAgICAgICBfaFduZCwKKyAgICAgICAgICAgICAgICBCT09UU1RSQVBQRVJfRElTUExBWV9GVUxMICE9IF9jb21tYW5kLmRpc3BsYXksCisgICAgICAgICAgICAgICAgX2NvbmZpcm1DbG9zZU1lc3NhZ2UgPyBfY29uZmlybUNsb3NlTWVzc2FnZSA6IEwiQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGNhbmNlbD8iLAorICAgICAgICAgICAgICAgIF90aGVtZS0+c2N6Q2FwdGlvbgorICAgICAgICAgICAgKTsKKyAgICAgICAgfQorCisgICAgICAgIC8vIElmIHdlJ3JlIGRvaW5nIHByb2dyZXNzIHRoZW4gd2UgbmV2ZXIgY2xvc2UsIHdlIGp1c3QgY2FuY2VsIHRvIGxldCByb2xsYmFjayBvY2N1ci4KKyAgICAgICAgaWYgKFBZQkFfU1RBVEVfQVBQTFlJTkcgPD0gX3N0YXRlICYmIFBZQkFfU1RBVEVfQVBQTElFRCA+IF9zdGF0ZSkgeworICAgICAgICAgICAgLy8gSWYgd2UgY2FuY2VsZWQgZGlzYWJsZSBjYW5jZWwgYnV0dG9uIHNpbmNlIGNsaWNraW5nIGl0IGFnYWluIGlzIHNpbGx5LgorICAgICAgICAgICAgaWYgKGNsb3NlKSB7CisgICAgICAgICAgICAgICAgVGhlbWVDb250cm9sRW5hYmxlKF90aGVtZSwgSURfUFJPR1JFU1NfQ0FOQ0VMX0JVVFRPTiwgRkFMU0UpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBjbG9zZSA9IEZBTFNFOworICAgICAgICB9CisKKyAgICAgICAgcmV0dXJuIGNsb3NlOworICAgIH0KKworICAgIC8vCisgICAgLy8gT25DbGlja0Nsb3NlQnV0dG9uIC0gY2xvc2UgdGhlIGFwcGxpY2F0aW9uLgorICAgIC8vCisgICAgdm9pZCBPbkNsaWNrQ2xvc2VCdXR0b24oKSB7CisgICAgICAgIDo6U2VuZE1lc3NhZ2VXKF9oV25kLCBXTV9DTE9TRSwgMCwgMCk7CisgICAgfQorCisKKyAgICAvLworICAgIC8vIE9uQ2xpY2tMYXVuY2hCdXR0b24gLSBsYXVuY2ggdGhlIGFwcCBmcm9tIHRoZSBzdWNjZXNzIHBhZ2UuCisgICAgLy8KKyAgICB2b2lkIE9uQ2xpY2tMYXVuY2hCdXR0b24oKSB7CisgICAgICAgIEhSRVNVTFQgaHIgPSBTX09LOworICAgICAgICBMUFdTVFIgc2N6VW5mb3JtYXR0ZWRMYXVuY2hUYXJnZXQgPSBudWxscHRyOworICAgICAgICBMUFdTVFIgc2N6TGF1bmNoVGFyZ2V0ID0gbnVsbHB0cjsKKyAgICAgICAgTFBXU1RSIHNjekxhdW5jaFRhcmdldEVsZXZhdGVkSWQgPSBudWxscHRyOworICAgICAgICBMUFdTVFIgc2N6VW5mb3JtYXR0ZWRBcmd1bWVudHMgPSBudWxscHRyOworICAgICAgICBMUFdTVFIgc2N6QXJndW1lbnRzID0gbnVsbHB0cjsKKyAgICAgICAgaW50IG5DbWRTaG93ID0gU1dfU0hPV05PUk1BTDsKKworICAgICAgICBociA9IEJhbEdldFN0cmluZ1ZhcmlhYmxlKFBZQkFfVkFSSUFCTEVfTEFVTkNIX1RBUkdFVF9QQVRILCAmc2N6VW5mb3JtYXR0ZWRMYXVuY2hUYXJnZXQpOworICAgICAgICBCYWxFeGl0T25GYWlsdXJlMShociwgIkZhaWxlZCB0byBnZXQgbGF1bmNoIHRhcmdldCB2YXJpYWJsZSAnJWxzJy4iLCBQWUJBX1ZBUklBQkxFX0xBVU5DSF9UQVJHRVRfUEFUSCk7CisKKyAgICAgICAgaHIgPSBCYWxGb3JtYXRTdHJpbmcoc2N6VW5mb3JtYXR0ZWRMYXVuY2hUYXJnZXQsICZzY3pMYXVuY2hUYXJnZXQpOworICAgICAgICBCYWxFeGl0T25GYWlsdXJlMShociwgIkZhaWxlZCB0byBmb3JtYXQgbGF1bmNoIHRhcmdldCB2YXJpYWJsZTogJWxzIiwgc2N6VW5mb3JtYXR0ZWRMYXVuY2hUYXJnZXQpOworCisgICAgICAgIGlmIChCYWxTdHJpbmdWYXJpYWJsZUV4aXN0cyhQWUJBX1ZBUklBQkxFX0xBVU5DSF9UQVJHRVRfRUxFVkFURURfSUQpKSB7CisgICAgICAgICAgICBociA9IEJhbEdldFN0cmluZ1ZhcmlhYmxlKFBZQkFfVkFSSUFCTEVfTEFVTkNIX1RBUkdFVF9FTEVWQVRFRF9JRCwgJnNjekxhdW5jaFRhcmdldEVsZXZhdGVkSWQpOworICAgICAgICAgICAgQmFsRXhpdE9uRmFpbHVyZTEoaHIsICJGYWlsZWQgdG8gZ2V0IGxhdW5jaCB0YXJnZXQgZWxldmF0ZWQgaWQgJyVscycuIiwgUFlCQV9WQVJJQUJMRV9MQVVOQ0hfVEFSR0VUX0VMRVZBVEVEX0lEKTsKKyAgICAgICAgfQorCisgICAgICAgIGlmIChCYWxTdHJpbmdWYXJpYWJsZUV4aXN0cyhQWUJBX1ZBUklBQkxFX0xBVU5DSF9BUkdVTUVOVFMpKSB7CisgICAgICAgICAgICBociA9IEJhbEdldFN0cmluZ1ZhcmlhYmxlKFBZQkFfVkFSSUFCTEVfTEFVTkNIX0FSR1VNRU5UUywgJnNjelVuZm9ybWF0dGVkQXJndW1lbnRzKTsKKyAgICAgICAgICAgIEJhbEV4aXRPbkZhaWx1cmUxKGhyLCAiRmFpbGVkIHRvIGdldCBsYXVuY2ggYXJndW1lbnRzICclbHMnLiIsIFBZQkFfVkFSSUFCTEVfTEFVTkNIX0FSR1VNRU5UUyk7CisgICAgICAgIH0KKworICAgICAgICBpZiAoQmFsU3RyaW5nVmFyaWFibGVFeGlzdHMoUFlCQV9WQVJJQUJMRV9MQVVOQ0hfSElEREVOKSkgeworICAgICAgICAgICAgbkNtZFNob3cgPSBTV19ISURFOworICAgICAgICB9CisKKyAgICAgICAgaWYgKHNjekxhdW5jaFRhcmdldEVsZXZhdGVkSWQgJiYgIV90cmllZFRvTGF1bmNoRWxldmF0ZWQpIHsKKyAgICAgICAgICAgIF90cmllZFRvTGF1bmNoRWxldmF0ZWQgPSBUUlVFOworICAgICAgICAgICAgaHIgPSBfZW5naW5lLT5MYXVuY2hBcHByb3ZlZEV4ZShfaFduZCwgc2N6TGF1bmNoVGFyZ2V0RWxldmF0ZWRJZCwgc2N6VW5mb3JtYXR0ZWRBcmd1bWVudHMsIDApOworICAgICAgICAgICAgaWYgKEZBSUxFRChocikpIHsKKyAgICAgICAgICAgICAgICBCYWxMb2dFcnJvcihociwgIkZhaWxlZCB0byBsYXVuY2ggZWxldmF0ZWQgdGFyZ2V0OiAlbHMiLCBzY3pMYXVuY2hUYXJnZXRFbGV2YXRlZElkKTsKKworICAgICAgICAgICAgICAgIC8vdHJ5IHdpdGggU2hlbEV4ZWMgbmV4dCB0aW1lCisgICAgICAgICAgICAgICAgT25DbGlja0xhdW5jaEJ1dHRvbigpOworICAgICAgICAgICAgfQorICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgaWYgKHNjelVuZm9ybWF0dGVkQXJndW1lbnRzKSB7CisgICAgICAgICAgICAgICAgaHIgPSBCYWxGb3JtYXRTdHJpbmcoc2N6VW5mb3JtYXR0ZWRBcmd1bWVudHMsICZzY3pBcmd1bWVudHMpOworICAgICAgICAgICAgICAgIEJhbEV4aXRPbkZhaWx1cmUxKGhyLCAiRmFpbGVkIHRvIGZvcm1hdCBsYXVuY2ggYXJndW1lbnRzIHZhcmlhYmxlOiAlbHMiLCBzY3pVbmZvcm1hdHRlZEFyZ3VtZW50cyk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGhyID0gU2hlbEV4ZWMoc2N6TGF1bmNoVGFyZ2V0LCBzY3pBcmd1bWVudHMsIEwib3BlbiIsIG51bGxwdHIsIG5DbWRTaG93LCBfaFduZCwgbnVsbHB0cik7CisgICAgICAgICAgICBCYWxFeGl0T25GYWlsdXJlMShociwgIkZhaWxlZCB0byBsYXVuY2ggdGFyZ2V0OiAlbHMiLCBzY3pMYXVuY2hUYXJnZXQpOworCisgICAgICAgICAgICA6OlBvc3RNZXNzYWdlVyhfaFduZCwgV01fQ0xPU0UsIDAsIDApOworICAgICAgICB9CisKKyAgICBMRXhpdDoKKyAgICAgICAgU3RyU2VjdXJlWmVyb0ZyZWVTdHJpbmcoc2N6QXJndW1lbnRzKTsKKyAgICAgICAgUmVsZWFzZVN0cihzY3pVbmZvcm1hdHRlZEFyZ3VtZW50cyk7CisgICAgICAgIFJlbGVhc2VTdHIoc2N6TGF1bmNoVGFyZ2V0RWxldmF0ZWRJZCk7CisgICAgICAgIFN0clNlY3VyZVplcm9GcmVlU3RyaW5nKHNjekxhdW5jaFRhcmdldCk7CisgICAgICAgIFJlbGVhc2VTdHIoc2N6VW5mb3JtYXR0ZWRMYXVuY2hUYXJnZXQpOworCisgICAgICAgIHJldHVybjsKKyAgICB9CisKKworICAgIC8vCisgICAgLy8gT25DbGlja1Jlc3RhcnRCdXR0b24gLSBhbGxvd3MgdGhlIHJlc3RhcnQgYW5kIGNsb3NlcyB0aGUgYXBwLgorICAgIC8vCisgICAgdm9pZCBPbkNsaWNrUmVzdGFydEJ1dHRvbigpIHsKKyAgICAgICAgQXNzZXJ0U3ooX3Jlc3RhcnRSZXF1aXJlZCwgIlJlc3RhcnQgbXVzdCBiZSByZXF1ZXN0ZWQgdG8gYmUgYWJsZSB0byBjbGljayBvbiB0aGUgcmVzdGFydCBidXR0b24uIik7CisKKyAgICAgICAgX2FsbG93UmVzdGFydCA9IFRSVUU7CisgICAgICAgIDo6U2VuZE1lc3NhZ2VXKF9oV25kLCBXTV9DTE9TRSwgMCwgMCk7CisKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworCisgICAgLy8KKyAgICAvLyBPbkNsaWNrTG9nRmlsZUxpbmsgLSBzaG93IHRoZSBsb2cgZmlsZS4KKyAgICAvLworICAgIHZvaWQgT25DbGlja0xvZ0ZpbGVMaW5rKCkgeworICAgICAgICBIUkVTVUxUIGhyID0gU19PSzsKKyAgICAgICAgTFBXU1RSIHNjekxvZ0ZpbGUgPSBudWxscHRyOworCisgICAgICAgIGhyID0gQmFsR2V0U3RyaW5nVmFyaWFibGUoX2J1bmRsZS5zY3pMb2dWYXJpYWJsZSwgJnNjekxvZ0ZpbGUpOworICAgICAgICBCYWxFeGl0T25GYWlsdXJlMShociwgIkZhaWxlZCB0byBnZXQgbG9nIGZpbGUgdmFyaWFibGUgJyVscycuIiwgX2J1bmRsZS5zY3pMb2dWYXJpYWJsZSk7CisKKyAgICAgICAgaHIgPSBTaGVsRXhlYyhMIm5vdGVwYWQuZXhlIiwgc2N6TG9nRmlsZSwgTCJvcGVuIiwgbnVsbHB0ciwgU1dfU0hPV0RFRkFVTFQsIF9oV25kLCBudWxscHRyKTsKKyAgICAgICAgQmFsRXhpdE9uRmFpbHVyZTEoaHIsICJGYWlsZWQgdG8gb3BlbiBsb2cgZmlsZSB0YXJnZXQ6ICVscyIsIHNjekxvZ0ZpbGUpOworCisgICAgTEV4aXQ6CisgICAgICAgIFJlbGVhc2VTdHIoc2N6TG9nRmlsZSk7CisKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworCisgICAgLy8KKyAgICAvLyBTZXRTdGF0ZQorICAgIC8vCisgICAgdm9pZCBTZXRTdGF0ZShfX2luIFBZQkFfU1RBVEUgc3RhdGUsIF9faW4gSFJFU1VMVCBoclN0YXR1cykgeworICAgICAgICBpZiAoRkFJTEVEKGhyU3RhdHVzKSkgeworICAgICAgICAgICAgX2hyRmluYWwgPSBoclN0YXR1czsKKyAgICAgICAgfQorCisgICAgICAgIGlmIChGQUlMRUQoX2hyRmluYWwpKSB7CisgICAgICAgICAgICBzdGF0ZSA9IFBZQkFfU1RBVEVfRkFJTEVEOworICAgICAgICB9CisKKyAgICAgICAgaWYgKF9zdGF0ZSAhPSBzdGF0ZSkgeworICAgICAgICAgICAgOjpQb3N0TWVzc2FnZVcoX2hXbmQsIFdNX1BZQkFfQ0hBTkdFX1NUQVRFLCAwLCBzdGF0ZSk7CisgICAgICAgIH0KKyAgICB9CisKKyAgICAvLworICAgIC8vIEdvVG9QYWdlCisgICAgLy8KKyAgICB2b2lkIEdvVG9QYWdlKF9faW4gUEFHRSBwYWdlKSB7CisgICAgICAgIF9pbnN0YWxsUGFnZSA9IHBhZ2U7CisgICAgICAgIDo6UG9zdE1lc3NhZ2VXKF9oV25kLCBXTV9QWUJBX0NIQU5HRV9TVEFURSwgMCwgX3N0YXRlKTsKKyAgICB9CisKKyAgICB2b2lkIERldGVybWluZVBhZ2VJZChfX2luIFBZQkFfU1RBVEUgc3RhdGUsIF9fb3V0IERXT1JEKiBwZHdQYWdlSWQpIHsKKyAgICAgICAgTE9OR0xPTkcgc2ltcGxlOworCisgICAgICAgIGlmIChCT09UU1RSQVBQRVJfRElTUExBWV9QQVNTSVZFID09IF9jb21tYW5kLmRpc3BsYXkpIHsKKyAgICAgICAgICAgIHN3aXRjaCAoc3RhdGUpIHsKKyAgICAgICAgICAgIGNhc2UgUFlCQV9TVEFURV9JTklUSUFMSVpFRDoKKyAgICAgICAgICAgICAgICAqcGR3UGFnZUlkID0gQk9PVFNUUkFQUEVSX0FDVElPTl9IRUxQID09IF9jb21tYW5kLmFjdGlvbgorICAgICAgICAgICAgICAgICAgICA/IF9wYWdlSWRzW1BBR0VfSEVMUF0KKyAgICAgICAgICAgICAgICAgICAgOiBfcGFnZUlkc1tQQUdFX0xPQURJTkddOworICAgICAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgICAgICBjYXNlIFBZQkFfU1RBVEVfSEVMUDoKKyAgICAgICAgICAgICAgICAqcGR3UGFnZUlkID0gX3BhZ2VJZHNbUEFHRV9IRUxQXTsKKyAgICAgICAgICAgICAgICBicmVhazsKKworICAgICAgICAgICAgY2FzZSBQWUJBX1NUQVRFX0RFVEVDVElORzoKKyAgICAgICAgICAgICAgICAqcGR3UGFnZUlkID0gX3BhZ2VJZHNbUEFHRV9MT0FESU5HXQorICAgICAgICAgICAgICAgICAgICA/IF9wYWdlSWRzW1BBR0VfTE9BRElOR10KKyAgICAgICAgICAgICAgICAgICAgOiBfcGFnZUlkc1tQQUdFX1BST0dSRVNTX1BBU1NJVkVdCisgICAgICAgICAgICAgICAgICAgICAgICA/IF9wYWdlSWRzW1BBR0VfUFJPR1JFU1NfUEFTU0lWRV0KKyAgICAgICAgICAgICAgICAgICAgICAgIDogX3BhZ2VJZHNbUEFHRV9QUk9HUkVTU107CisgICAgICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgICAgIGNhc2UgUFlCQV9TVEFURV9ERVRFQ1RFRDogX19mYWxsdGhyb3VnaDsKKyAgICAgICAgICAgIGNhc2UgUFlCQV9TVEFURV9QTEFOTklORzogX19mYWxsdGhyb3VnaDsKKyAgICAgICAgICAgIGNhc2UgUFlCQV9TVEFURV9QTEFOTkVEOiBfX2ZhbGx0aHJvdWdoOworICAgICAgICAgICAgY2FzZSBQWUJBX1NUQVRFX0FQUExZSU5HOiBfX2ZhbGx0aHJvdWdoOworICAgICAgICAgICAgY2FzZSBQWUJBX1NUQVRFX0NBQ0hJTkc6IF9fZmFsbHRocm91Z2g7CisgICAgICAgICAgICBjYXNlIFBZQkFfU1RBVEVfQ0FDSEVEOiBfX2ZhbGx0aHJvdWdoOworICAgICAgICAgICAgY2FzZSBQWUJBX1NUQVRFX0VYRUNVVElORzogX19mYWxsdGhyb3VnaDsKKyAgICAgICAgICAgIGNhc2UgUFlCQV9TVEFURV9FWEVDVVRFRDoKKyAgICAgICAgICAgICAgICAqcGR3UGFnZUlkID0gX3BhZ2VJZHNbUEFHRV9QUk9HUkVTU19QQVNTSVZFXQorICAgICAgICAgICAgICAgICAgICA/IF9wYWdlSWRzW1BBR0VfUFJPR1JFU1NfUEFTU0lWRV0KKyAgICAgICAgICAgICAgICAgICAgOiBfcGFnZUlkc1tQQUdFX1BST0dSRVNTXTsKKyAgICAgICAgICAgICAgICBicmVhazsKKworICAgICAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgICAgICAqcGR3UGFnZUlkID0gMDsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfSBlbHNlIGlmIChCT09UU1RSQVBQRVJfRElTUExBWV9GVUxMID09IF9jb21tYW5kLmRpc3BsYXkpIHsKKyAgICAgICAgICAgIHN3aXRjaCAoc3RhdGUpIHsKKyAgICAgICAgICAgIGNhc2UgUFlCQV9TVEFURV9JTklUSUFMSVpJTkc6CisgICAgICAgICAgICAgICAgKnBkd1BhZ2VJZCA9IDA7CisgICAgICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgICAgIGNhc2UgUFlCQV9TVEFURV9JTklUSUFMSVpFRDoKKyAgICAgICAgICAgICAgICAqcGR3UGFnZUlkID0gQk9PVFNUUkFQUEVSX0FDVElPTl9IRUxQID09IF9jb21tYW5kLmFjdGlvbgorICAgICAgICAgICAgICAgICAgICA/IF9wYWdlSWRzW1BBR0VfSEVMUF0KKyAgICAgICAgICAgICAgICAgICAgOiBfcGFnZUlkc1tQQUdFX0xPQURJTkddOworICAgICAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgICAgICBjYXNlIFBZQkFfU1RBVEVfSEVMUDoKKyAgICAgICAgICAgICAgICAqcGR3UGFnZUlkID0gX3BhZ2VJZHNbUEFHRV9IRUxQXTsKKyAgICAgICAgICAgICAgICBicmVhazsKKworICAgICAgICAgICAgY2FzZSBQWUJBX1NUQVRFX0RFVEVDVElORzoKKyAgICAgICAgICAgICAgICAqcGR3UGFnZUlkID0gX3BhZ2VJZHNbUEFHRV9MT0FESU5HXTsKKyAgICAgICAgICAgICAgICBicmVhazsKKworICAgICAgICAgICAgY2FzZSBQWUJBX1NUQVRFX0RFVEVDVEVEOgorICAgICAgICAgICAgICAgIGlmIChfaW5zdGFsbFBhZ2UgPT0gUEFHRV9MT0FESU5HKSB7CisgICAgICAgICAgICAgICAgICAgIHN3aXRjaCAoX2NvbW1hbmQuYWN0aW9uKSB7CisgICAgICAgICAgICAgICAgICAgIGNhc2UgQk9PVFNUUkFQUEVSX0FDVElPTl9JTlNUQUxMOgorICAgICAgICAgICAgICAgICAgICAgICAgaWYgKFNVQ0NFRURFRChCYWxHZXROdW1lcmljVmFyaWFibGUoTCJTaW1wbGVJbnN0YWxsIiwgJnNpbXBsZSkpICYmIHNpbXBsZSkgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9pbnN0YWxsUGFnZSA9IFBBR0VfU0lNUExFX0lOU1RBTEw7CisgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9pbnN0YWxsUGFnZSA9IFBBR0VfSU5TVEFMTDsKKyAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgICAgICAgICAgICAgIGNhc2UgQk9PVFNUUkFQUEVSX0FDVElPTl9NT0RJRlk6IF9fZmFsbHRocm91Z2g7CisgICAgICAgICAgICAgICAgICAgIGNhc2UgQk9PVFNUUkFQUEVSX0FDVElPTl9SRVBBSVI6IF9fZmFsbHRocm91Z2g7CisgICAgICAgICAgICAgICAgICAgIGNhc2UgQk9PVFNUUkFQUEVSX0FDVElPTl9VTklOU1RBTEw6CisgICAgICAgICAgICAgICAgICAgICAgICBfaW5zdGFsbFBhZ2UgPSBQQUdFX01PRElGWTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICpwZHdQYWdlSWQgPSBfcGFnZUlkc1tfaW5zdGFsbFBhZ2VdOworICAgICAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgICAgICBjYXNlIFBZQkFfU1RBVEVfUExBTk5JTkc6IF9fZmFsbHRocm91Z2g7CisgICAgICAgICAgICBjYXNlIFBZQkFfU1RBVEVfUExBTk5FRDogX19mYWxsdGhyb3VnaDsKKyAgICAgICAgICAgIGNhc2UgUFlCQV9TVEFURV9BUFBMWUlORzogX19mYWxsdGhyb3VnaDsKKyAgICAgICAgICAgIGNhc2UgUFlCQV9TVEFURV9DQUNISU5HOiBfX2ZhbGx0aHJvdWdoOworICAgICAgICAgICAgY2FzZSBQWUJBX1NUQVRFX0NBQ0hFRDogX19mYWxsdGhyb3VnaDsKKyAgICAgICAgICAgIGNhc2UgUFlCQV9TVEFURV9FWEVDVVRJTkc6IF9fZmFsbHRocm91Z2g7CisgICAgICAgICAgICBjYXNlIFBZQkFfU1RBVEVfRVhFQ1VURUQ6CisgICAgICAgICAgICAgICAgKnBkd1BhZ2VJZCA9IF9wYWdlSWRzW1BBR0VfUFJPR1JFU1NdOworICAgICAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgICAgICBjYXNlIFBZQkFfU1RBVEVfQVBQTElFRDoKKyAgICAgICAgICAgICAgICAqcGR3UGFnZUlkID0gX3BhZ2VJZHNbUEFHRV9TVUNDRVNTXTsKKyAgICAgICAgICAgICAgICBicmVhazsKKworICAgICAgICAgICAgY2FzZSBQWUJBX1NUQVRFX0ZBSUxFRDoKKyAgICAgICAgICAgICAgICAqcGR3UGFnZUlkID0gX3BhZ2VJZHNbUEFHRV9GQUlMVVJFXTsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0KKworCisgICAgSFJFU1VMVCBFdmFsdWF0ZUNvbmRpdGlvbnMoKSB7CisgICAgICAgIEhSRVNVTFQgaHIgPSBTX09LOworICAgICAgICBCT09MIHJlc3VsdCA9IEZBTFNFOworCisgICAgICAgIGZvciAoRFdPUkQgaSA9IDA7IGkgPCBfY29uZGl0aW9ucy5jQ29uZGl0aW9uczsgKytpKSB7CisgICAgICAgICAgICBCQUxfQ09ORElUSU9OKiBwQ29uZGl0aW9uID0gX2NvbmRpdGlvbnMucmdDb25kaXRpb25zICsgaTsKKworICAgICAgICAgICAgaHIgPSBCYWxDb25kaXRpb25FdmFsdWF0ZShwQ29uZGl0aW9uLCBfZW5naW5lLCAmcmVzdWx0LCAmX2ZhaWxlZE1lc3NhZ2UpOworICAgICAgICAgICAgQmFsRXhpdE9uRmFpbHVyZShociwgIkZhaWxlZCB0byBldmFsdWF0ZSBjb25kaXRpb24uIik7CisKKyAgICAgICAgICAgIGlmICghcmVzdWx0KSB7CisgICAgICAgICAgICAgICAgLy8gSG9wZSB0aGV5IGRpZG4ndCBoYXZlIGhpZGRlbiB2YXJpYWJsZXMgaW4gdGhlaXIgbWVzc2FnZSwgYmVjYXVzZSBpdCdzIGdvaW5nIGluIHRoZSBsb2cgaW4gcGxhaW50ZXh0LgorICAgICAgICAgICAgICAgIEJhbExvZyhCT09UU1RSQVBQRVJfTE9HX0xFVkVMX0VSUk9SLCAiJWxzIiwgX2ZhaWxlZE1lc3NhZ2UpOworCisgICAgICAgICAgICAgICAgaHIgPSBFX1dJWFNUREJBX0NPTkRJVElPTl9GQUlMRUQ7CisgICAgICAgICAgICAgICAgLy8gdG9kbzogcmVtb3ZlIGluIFdpWCB2NCwgaW4gY2FzZSBwZW9wbGUgYXJlIHJlbHlpbmcgb24gdjMueCBsb2dnaW5nIGJlaGF2aW9yCisgICAgICAgICAgICAgICAgQmFsRXhpdE9uRmFpbHVyZTEoaHIsICJCdW5kbGUgY29uZGl0aW9uIGV2YWx1YXRlZCB0byBmYWxzZTogJWxzIiwgcENvbmRpdGlvbi0+c2N6Q29uZGl0aW9uKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorCisgICAgICAgIFJlbGVhc2VOdWxsU3RyU2VjdXJlKF9mYWlsZWRNZXNzYWdlKTsKKworICAgIExFeGl0OgorICAgICAgICByZXR1cm4gaHI7CisgICAgfQorCisKKyAgICB2b2lkIFNldFRhc2tiYXJCdXR0b25Qcm9ncmVzcyhfX2luIERXT1JEIGR3T3ZlcmFsbFBlcmNlbnRhZ2UpIHsKKyAgICAgICAgSFJFU1VMVCBociA9IFNfT0s7CisKKyAgICAgICAgaWYgKF90YXNrYmFyQnV0dG9uT0spIHsKKyAgICAgICAgICAgIGhyID0gX3Rhc2tiYXJMaXN0LT5TZXRQcm9ncmVzc1ZhbHVlKF9oV25kLCBkd092ZXJhbGxQZXJjZW50YWdlLCAxMDBVTCk7CisgICAgICAgICAgICBCYWxFeGl0T25GYWlsdXJlMShociwgIkZhaWxlZCB0byBzZXQgdGFza2JhciBidXR0b24gcHJvZ3Jlc3MgdG86ICVkJSUuIiwgZHdPdmVyYWxsUGVyY2VudGFnZSk7CisgICAgICAgIH0KKworICAgIExFeGl0OgorICAgICAgICByZXR1cm47CisgICAgfQorCisKKyAgICB2b2lkIFNldFRhc2tiYXJCdXR0b25TdGF0ZShfX2luIFRCUEZMQUcgdGJwRmxhZ3MpIHsKKyAgICAgICAgSFJFU1VMVCBociA9IFNfT0s7CisKKyAgICAgICAgaWYgKF90YXNrYmFyQnV0dG9uT0spIHsKKyAgICAgICAgICAgIGhyID0gX3Rhc2tiYXJMaXN0LT5TZXRQcm9ncmVzc1N0YXRlKF9oV25kLCB0YnBGbGFncyk7CisgICAgICAgICAgICBCYWxFeGl0T25GYWlsdXJlMShociwgIkZhaWxlZCB0byBzZXQgdGFza2JhciBidXR0b24gc3RhdGUuIiwgdGJwRmxhZ3MpOworICAgICAgICB9CisKKyAgICBMRXhpdDoKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworCisgICAgdm9pZCBTZXRQcm9ncmVzc1N0YXRlKF9faW4gSFJFU1VMVCBoclN0YXR1cykgeworICAgICAgICBUQlBGTEFHIGZsYWcgPSBUQlBGX05PUk1BTDsKKworICAgICAgICBpZiAoSXNDYW5jZWxlZCgpIHx8IEhSRVNVTFRfRlJPTV9XSU4zMihFUlJPUl9JTlNUQUxMX1VTRVJFWElUKSA9PSBoclN0YXR1cykgeworICAgICAgICAgICAgZmxhZyA9IFRCUEZfUEFVU0VEOworICAgICAgICB9IGVsc2UgaWYgKElzUm9sbGluZ0JhY2soKSB8fCBGQUlMRUQoaHJTdGF0dXMpKSB7CisgICAgICAgICAgICBmbGFnID0gVEJQRl9FUlJPUjsKKyAgICAgICAgfQorCisgICAgICAgIFNldFRhc2tiYXJCdXR0b25TdGF0ZShmbGFnKTsKKyAgICB9CisKKworICAgIEhSRVNVTFQgTG9hZEJvb3RzdHJhcHBlckJBRnVuY3Rpb25zKCkgeworICAgICAgICBIUkVTVUxUIGhyID0gU19PSzsKKyAgICAgICAgTFBXU1RSIHNjekJhZlBhdGggPSBudWxscHRyOworCisgICAgICAgIGhyID0gUGF0aFJlbGF0aXZlVG9Nb2R1bGUoJnNjekJhZlBhdGgsIEwiYmFmdW5jdGlvbnMuZGxsIiwgX2hNb2R1bGUpOworICAgICAgICBCYWxFeGl0T25GYWlsdXJlKGhyLCAiRmFpbGVkIHRvIGdldCBwYXRoIHRvIEJBIGZ1bmN0aW9uIERMTC4iKTsKKworI2lmZGVmIERFQlVHCisgICAgICAgIEJhbExvZyhCT09UU1RSQVBQRVJfTE9HX0xFVkVMX1NUQU5EQVJELCAiUFlCQTogTG9hZEJvb3RzdHJhcHBlckJBRnVuY3Rpb25zKCkgLSBCQSBmdW5jdGlvbiBETEwgJWxzIiwgc2N6QmFmUGF0aCk7CisjZW5kaWYKKworICAgICAgICBfaEJBRk1vZHVsZSA9IDo6TG9hZExpYnJhcnlXKHNjekJhZlBhdGgpOworICAgICAgICBpZiAoX2hCQUZNb2R1bGUpIHsKKyAgICAgICAgICAgIGF1dG8gcGZuQkFGdW5jdGlvbkNyZWF0ZSA9IHJlaW50ZXJwcmV0X2Nhc3Q8UEZOX0JPT1RTVFJBUFBFUl9CQV9GVU5DVElPTl9DUkVBVEU+KDo6R2V0UHJvY0FkZHJlc3MoX2hCQUZNb2R1bGUsICJDcmVhdGVCb290c3RyYXBwZXJCQUZ1bmN0aW9uIikpOworICAgICAgICAgICAgQmFsRXhpdE9uTnVsbFdpdGhMYXN0RXJyb3IxKHBmbkJBRnVuY3Rpb25DcmVhdGUsIGhyLCAiRmFpbGVkIHRvIGdldCBDcmVhdGVCb290c3RyYXBwZXJCQUZ1bmN0aW9uIGVudHJ5LXBvaW50IGZyb206ICVscyIsIHNjekJhZlBhdGgpOworCisgICAgICAgICAgICBociA9IHBmbkJBRnVuY3Rpb25DcmVhdGUoX2VuZ2luZSwgX2hCQUZNb2R1bGUsICZfYmFGdW5jdGlvbik7CisgICAgICAgICAgICBCYWxFeGl0T25GYWlsdXJlKGhyLCAiRmFpbGVkIHRvIGNyZWF0ZSBCQSBmdW5jdGlvbi4iKTsKKyAgICAgICAgfQorI2lmZGVmIERFQlVHCisgICAgICAgIGVsc2UgeworICAgICAgICAgICAgQmFsTG9nRXJyb3IoSFJFU1VMVF9GUk9NX1dJTjMyKDo6R2V0TGFzdEVycm9yKCkpLCAiUFlCQTogTG9hZEJvb3RzdHJhcHBlckJBRnVuY3Rpb25zKCkgLSBGYWlsZWQgdG8gbG9hZCBETEwgJWxzIiwgc2N6QmFmUGF0aCk7CisgICAgICAgIH0KKyNlbmRpZgorCisgICAgTEV4aXQ6CisgICAgICAgIGlmIChfaEJBRk1vZHVsZSAmJiAhX2JhRnVuY3Rpb24pIHsKKyAgICAgICAgICAgIDo6RnJlZUxpYnJhcnkoX2hCQUZNb2R1bGUpOworICAgICAgICAgICAgX2hCQUZNb2R1bGUgPSBudWxscHRyOworICAgICAgICB9CisgICAgICAgIFJlbGVhc2VTdHIoc2N6QmFmUGF0aCk7CisKKyAgICAgICAgcmV0dXJuIGhyOworICAgIH0KKworICAgIEJPT0wgSXNDaGVja2FibGUoVEhFTUVfQ09OVFJPTCogcENvbnRyb2wpIHsKKyAgICAgICAgaWYgKCFwQ29udHJvbC0+c2N6TmFtZSB8fCAhcENvbnRyb2wtPnNjek5hbWVbMF0pIHsKKyAgICAgICAgICAgIHJldHVybiBGQUxTRTsKKyAgICAgICAgfQorCisgICAgICAgIGlmIChwQ29udHJvbC0+dHlwZSA9PSBUSEVNRV9DT05UUk9MX1RZUEVfQ0hFQ0tCT1gpIHsKKyAgICAgICAgICAgIHJldHVybiBUUlVFOworICAgICAgICB9CisKKyAgICAgICAgaWYgKHBDb250cm9sLT50eXBlID09IFRIRU1FX0NPTlRST0xfVFlQRV9CVVRUT04pIHsKKyAgICAgICAgICAgIGlmICgocENvbnRyb2wtPmR3U3R5bGUgJiBCU19UWVBFTUFTSykgPT0gQlNfQVVUT1JBRElPQlVUVE9OKSB7CisgICAgICAgICAgICAgICAgcmV0dXJuIFRSVUU7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKworICAgICAgICByZXR1cm4gRkFMU0U7CisgICAgfQorCisgICAgdm9pZCBTYXZlUGFnZVNldHRpbmdzKCkgeworICAgICAgICBEV09SRCBwYWdlSWQgPSAwOworICAgICAgICBUSEVNRV9QQUdFKiBwUGFnZSA9IG51bGxwdHI7CisKKyAgICAgICAgRGV0ZXJtaW5lUGFnZUlkKF9zdGF0ZSwgJnBhZ2VJZCk7CisgICAgICAgIHBQYWdlID0gVGhlbWVHZXRQYWdlKF90aGVtZSwgcGFnZUlkKTsKKyAgICAgICAgaWYgKCFwUGFnZSkgeworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisKKyAgICAgICAgZm9yIChEV09SRCBpID0gMDsgaSA8IHBQYWdlLT5jQ29udHJvbEluZGljZXM7ICsraSkgeworICAgICAgICAgICAgLy8gTG9vcCB0aHJvdWdoIGFsbCB0aGUgY2hlY2thYmxlIGNvbnRyb2xzIGFuZCBzZXQgYSBCdXJuIHZhcmlhYmxlCisgICAgICAgICAgICAvLyB3aXRoIHRoYXQgbmFtZSB0byB0cnVlIG9yIGZhbHNlLgorICAgICAgICAgICAgVEhFTUVfQ09OVFJPTCogcENvbnRyb2wgPSBfdGhlbWUtPnJnQ29udHJvbHMgKyBwUGFnZS0+cmdkd0NvbnRyb2xJbmRpY2VzW2ldOworICAgICAgICAgICAgaWYgKElzQ2hlY2thYmxlKHBDb250cm9sKSAmJiBUaGVtZUNvbnRyb2xFbmFibGVkKF90aGVtZSwgcENvbnRyb2wtPndJZCkpIHsKKyAgICAgICAgICAgICAgICBCT09MIGNoZWNrZWQgPSBUaGVtZUlzQ29udHJvbENoZWNrZWQoX3RoZW1lLCBwQ29udHJvbC0+d0lkKTsKKyAgICAgICAgICAgICAgICBfZW5naW5lLT5TZXRWYXJpYWJsZU51bWVyaWMocENvbnRyb2wtPnNjek5hbWUsIGNoZWNrZWQgPyAxIDogMCk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIC8vIExvb3AgdGhyb3VnaCBhbGwgdGhlIGVkaXRib3ggY29udHJvbHMgd2l0aCBuYW1lcyBhbmQgc2V0IGEKKyAgICAgICAgICAgIC8vIEJ1cm4gdmFyaWFibGUgd2l0aCB0aGF0IG5hbWUgdG8gdGhlIGNvbnRlbnRzLgorICAgICAgICAgICAgaWYgKFRIRU1FX0NPTlRST0xfVFlQRV9FRElUQk9YID09IHBDb250cm9sLT50eXBlICYmIHBDb250cm9sLT5zY3pOYW1lICYmICpwQ29udHJvbC0+c2N6TmFtZSkgeworICAgICAgICAgICAgICAgIExQV1NUUiBzY3pWYWx1ZSA9IG51bGxwdHI7CisgICAgICAgICAgICAgICAgVGhlbWVHZXRUZXh0Q29udHJvbChfdGhlbWUsIHBDb250cm9sLT53SWQsICZzY3pWYWx1ZSk7CisgICAgICAgICAgICAgICAgX2VuZ2luZS0+U2V0VmFyaWFibGVTdHJpbmcocENvbnRyb2wtPnNjek5hbWUsIHNjelZhbHVlKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0KKworCitwdWJsaWM6CisgICAgLy8KKyAgICAvLyBDb25zdHJ1Y3RvciAtIGluaXRpYWxpemUgbWVtYmVyIHZhcmlhYmxlcy4KKyAgICAvLworICAgIFB5dGhvbkJvb3RzdHJhcHBlckFwcGxpY2F0aW9uKAorICAgICAgICBfX2luIEhNT0RVTEUgaE1vZHVsZSwKKyAgICAgICAgX19pbiBCT09MIGZQcmVyZXEsCisgICAgICAgIF9faW4gSFJFU1VMVCBockhvc3RJbml0aWFsaXphdGlvbiwKKyAgICAgICAgX19pbiBJQm9vdHN0cmFwcGVyRW5naW5lKiBwRW5naW5lLAorICAgICAgICBfX2luIGNvbnN0IEJPT1RTVFJBUFBFUl9DT01NQU5EKiBwQ29tbWFuZAorICAgICkgOiBDQmFsQmFzZUJvb3RzdHJhcHBlckFwcGxpY2F0aW9uKHBFbmdpbmUsIHBDb21tYW5kLCAzLCAzMDAwKSB7CisgICAgICAgIF9oTW9kdWxlID0gaE1vZHVsZTsKKyAgICAgICAgbWVtY3B5X3MoJl9jb21tYW5kLCBzaXplb2YoX2NvbW1hbmQpLCBwQ29tbWFuZCwgc2l6ZW9mKEJPT1RTVFJBUFBFUl9DT01NQU5EKSk7CisKKyAgICAgICAgTE9OR0xPTkcgbGxJbnN0YWxsZWQgPSAwOworICAgICAgICBIUkVTVUxUIGhyID0gQmFsR2V0TnVtZXJpY1ZhcmlhYmxlKEwiV2l4QnVuZGxlSW5zdGFsbGVkIiwgJmxsSW5zdGFsbGVkKTsKKyAgICAgICAgaWYgKFNVQ0NFRURFRChocikgJiYgQk9PVFNUUkFQUEVSX1JFU1VNRV9UWVBFX1JFQk9PVCAhPSBfY29tbWFuZC5yZXN1bWVUeXBlICYmIDAgPCBsbEluc3RhbGxlZCAmJiBCT09UU1RSQVBQRVJfQUNUSU9OX0lOU1RBTEwgPT0gX2NvbW1hbmQuYWN0aW9uKSB7CisgICAgICAgICAgICBfY29tbWFuZC5hY3Rpb24gPSBCT09UU1RSQVBQRVJfQUNUSU9OX01PRElGWTsKKyAgICAgICAgfSBlbHNlIGlmICgwID09IGxsSW5zdGFsbGVkICYmIChCT09UU1RSQVBQRVJfQUNUSU9OX01PRElGWSA9PSBfY29tbWFuZC5hY3Rpb24gfHwgQk9PVFNUUkFQUEVSX0FDVElPTl9SRVBBSVIgPT0gX2NvbW1hbmQuYWN0aW9uKSkgeworICAgICAgICAgICAgX2NvbW1hbmQuYWN0aW9uID0gQk9PVFNUUkFQUEVSX0FDVElPTl9JTlNUQUxMOworICAgICAgICB9CisKKyAgICAgICAgX3BsYW5uZWRBY3Rpb24gPSBCT09UU1RSQVBQRVJfQUNUSU9OX1VOS05PV047CisKKworICAgICAgICAvLyBXaGVuIHJlc3VtaW5nIGZyb20gcmVzdGFydCBkb2luZyBzb21lIGluc3RhbGwtbGlrZSBvcGVyYXRpb24sIHRyeSB0byBmaW5kIHRoZSBwYWNrYWdlIHRoYXQgZm9yY2VkIHRoZQorICAgICAgICAvLyByZXN0YXJ0LiBXZSdsbCB1c2UgdGhpcyBpbmZvcm1hdGlvbiBkdXJpbmcgcGxhbm5pbmcuCisgICAgICAgIF9uZXh0UGFja2FnZUFmdGVyUmVzdGFydCA9IG51bGxwdHI7CisKKyAgICAgICAgaWYgKEJPT1RTVFJBUFBFUl9SRVNVTUVfVFlQRV9SRUJPT1QgPT0gX2NvbW1hbmQucmVzdW1lVHlwZSAmJiBCT09UU1RSQVBQRVJfQUNUSU9OX1VOSU5TVEFMTCA8IF9jb21tYW5kLmFjdGlvbikgeworICAgICAgICAgICAgLy8gRW5zdXJlIHRoZSBmb3JjZWQgcmVzdGFydCBwYWNrYWdlIHZhcmlhYmxlIGlzIG51bGwgd2hlbiBpdCBpcyBhbiBlbXB0eSBzdHJpbmcuCisgICAgICAgICAgICBIUkVTVUxUIGhyID0gQmFsR2V0U3RyaW5nVmFyaWFibGUoTCJXaXhCdW5kbGVGb3JjZWRSZXN0YXJ0UGFja2FnZSIsICZfbmV4dFBhY2thZ2VBZnRlclJlc3RhcnQpOworICAgICAgICAgICAgaWYgKEZBSUxFRChocikgfHwgIV9uZXh0UGFja2FnZUFmdGVyUmVzdGFydCB8fCAhKl9uZXh0UGFja2FnZUFmdGVyUmVzdGFydCkgeworICAgICAgICAgICAgICAgIFJlbGVhc2VOdWxsU3RyKF9uZXh0UGFja2FnZUFmdGVyUmVzdGFydCk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKworICAgICAgICBfd2l4TG9jID0gbnVsbHB0cjsKKyAgICAgICAgbWVtc2V0KCZfYnVuZGxlLCAwLCBzaXplb2YoX2J1bmRsZSkpOworICAgICAgICBtZW1zZXQoJl9jb25kaXRpb25zLCAwLCBzaXplb2YoX2NvbmRpdGlvbnMpKTsKKyAgICAgICAgX2NvbmZpcm1DbG9zZU1lc3NhZ2UgPSBudWxscHRyOworICAgICAgICBfZmFpbGVkTWVzc2FnZSA9IG51bGxwdHI7CisKKyAgICAgICAgX2xhbmd1YWdlID0gbnVsbHB0cjsKKyAgICAgICAgX3RoZW1lID0gbnVsbHB0cjsKKyAgICAgICAgbWVtc2V0KF9wYWdlSWRzLCAwLCBzaXplb2YoX3BhZ2VJZHMpKTsKKyAgICAgICAgX2hVaVRocmVhZCA9IG51bGxwdHI7CisgICAgICAgIF9yZWdpc3RlcmVkID0gRkFMU0U7CisgICAgICAgIF9oV25kID0gbnVsbHB0cjsKKworICAgICAgICBfc3RhdGUgPSBQWUJBX1NUQVRFX0lOSVRJQUxJWklORzsKKyAgICAgICAgX3Zpc2libGVQYWdlSWQgPSAwOworICAgICAgICBfaW5zdGFsbFBhZ2UgPSBQQUdFX0xPQURJTkc7CisgICAgICAgIF9ockZpbmFsID0gaHJIb3N0SW5pdGlhbGl6YXRpb247CisKKyAgICAgICAgX2Rvd25ncmFkaW5nID0gRkFMU0U7CisgICAgICAgIF9yZXN0YXJ0UmVzdWx0ID0gQk9PVFNUUkFQUEVSX0FQUExZX1JFU1RBUlRfTk9ORTsKKyAgICAgICAgX3Jlc3RhcnRSZXF1aXJlZCA9IEZBTFNFOworICAgICAgICBfYWxsb3dSZXN0YXJ0ID0gRkFMU0U7CisKKyAgICAgICAgX3N1cHByZXNzRG93bmdyYWRlRmFpbHVyZSA9IEZBTFNFOworICAgICAgICBfc3VwcHJlc3NSZXBhaXIgPSBGQUxTRTsKKyAgICAgICAgX21vZGlmeWluZyA9IEZBTFNFOworCisgICAgICAgIF9vdmVycmlkYWJsZVZhcmlhYmxlcyA9IG51bGxwdHI7CisgICAgICAgIF90YXNrYmFyTGlzdCA9IG51bGxwdHI7CisgICAgICAgIF90YXNrYmFyQnV0dG9uQ3JlYXRlZE1lc3NhZ2UgPSBVSU5UX01BWDsKKyAgICAgICAgX3Rhc2tiYXJCdXR0b25PSyA9IEZBTFNFOworICAgICAgICBfc2hvd2luZ0ludGVybmFsVUlUaGlzUGFja2FnZSA9IEZBTFNFOworICAgICAgICBfdHJpZWRUb0xhdW5jaEVsZXZhdGVkID0gRkFMU0U7CisKKyAgICAgICAgX3N1cHByZXNzUGFpbnQgPSBGQUxTRTsKKworICAgICAgICBwRW5naW5lLT5BZGRSZWYoKTsKKyAgICAgICAgX2VuZ2luZSA9IHBFbmdpbmU7CisKKyAgICAgICAgX2hCQUZNb2R1bGUgPSBudWxscHRyOworICAgICAgICBfYmFGdW5jdGlvbiA9IG51bGxwdHI7CisgICAgfQorCisKKyAgICAvLworICAgIC8vIERlc3RydWN0b3IgLSByZWxlYXNlIG1lbWJlciB2YXJpYWJsZXMuCisgICAgLy8KKyAgICB+UHl0aG9uQm9vdHN0cmFwcGVyQXBwbGljYXRpb24oKSB7CisgICAgICAgIEFzc2VydFN6KCE6OklzV2luZG93KF9oV25kKSwgIldpbmRvdyBzaG91bGQgaGF2ZSBiZWVuIGRlc3Ryb3llZCBiZWZvcmUgZGVzdHJ1Y3Rvci4iKTsKKyAgICAgICAgQXNzZXJ0U3ooIV90aGVtZSwgIlRoZW1lIHNob3VsZCBoYXZlIGJlZW4gcmVsZWFzZWQgYmVmb3JlIGRlc3RydWN0b3IuIik7CisKKyAgICAgICAgUmVsZWFzZU9iamVjdChfdGFza2Jhckxpc3QpOworICAgICAgICBSZWxlYXNlRGljdChfb3ZlcnJpZGFibGVWYXJpYWJsZXMpOworICAgICAgICBSZWxlYXNlU3RyKF9mYWlsZWRNZXNzYWdlKTsKKyAgICAgICAgUmVsZWFzZVN0cihfY29uZmlybUNsb3NlTWVzc2FnZSk7CisgICAgICAgIEJhbENvbmRpdGlvbnNVbmluaXRpYWxpemUoJl9jb25kaXRpb25zKTsKKyAgICAgICAgQmFsSW5mb1VuaW5pdGlhbGl6ZSgmX2J1bmRsZSk7CisgICAgICAgIExvY0ZyZWUoX3dpeExvYyk7CisKKyAgICAgICAgUmVsZWFzZVN0cihfbGFuZ3VhZ2UpOworICAgICAgICBSZWxlYXNlU3RyKF9uZXh0UGFja2FnZUFmdGVyUmVzdGFydCk7CisgICAgICAgIFJlbGVhc2VOdWxsT2JqZWN0KF9lbmdpbmUpOworCisgICAgICAgIGlmIChfaEJBRk1vZHVsZSkgeworICAgICAgICAgICAgOjpGcmVlTGlicmFyeShfaEJBRk1vZHVsZSk7CisgICAgICAgICAgICBfaEJBRk1vZHVsZSA9IG51bGxwdHI7CisgICAgICAgIH0KKyAgICB9CisKK3ByaXZhdGU6CisgICAgSE1PRFVMRSBfaE1vZHVsZTsKKyAgICBCT09UU1RSQVBQRVJfQ09NTUFORCBfY29tbWFuZDsKKyAgICBJQm9vdHN0cmFwcGVyRW5naW5lKiBfZW5naW5lOworICAgIEJPT1RTVFJBUFBFUl9BQ1RJT04gX3BsYW5uZWRBY3Rpb247CisKKyAgICBMUFdTVFIgX25leHRQYWNrYWdlQWZ0ZXJSZXN0YXJ0OworCisgICAgV0lYX0xPQ0FMSVpBVElPTiogX3dpeExvYzsKKyAgICBCQUxfSU5GT19CVU5ETEUgX2J1bmRsZTsKKyAgICBCQUxfQ09ORElUSU9OUyBfY29uZGl0aW9uczsKKyAgICBMUFdTVFIgX2ZhaWxlZE1lc3NhZ2U7CisgICAgTFBXU1RSIF9jb25maXJtQ2xvc2VNZXNzYWdlOworCisgICAgTFBXU1RSIF9sYW5ndWFnZTsKKyAgICBUSEVNRSogX3RoZW1lOworICAgIERXT1JEIF9wYWdlSWRzW2NvdW50b2YoUEFHRV9OQU1FUyldOworICAgIEhBTkRMRSBfaFVpVGhyZWFkOworICAgIEJPT0wgX3JlZ2lzdGVyZWQ7CisgICAgSFdORCBfaFduZDsKKworICAgIFBZQkFfU1RBVEUgX3N0YXRlOworICAgIEhSRVNVTFQgX2hyRmluYWw7CisgICAgRFdPUkQgX3Zpc2libGVQYWdlSWQ7CisgICAgUEFHRSBfaW5zdGFsbFBhZ2U7CisKKyAgICBCT09MIF9zdGFydGVkRXhlY3V0aW9uOworICAgIERXT1JEIF9jYWxjdWxhdGVkQ2FjaGVQcm9ncmVzczsKKyAgICBEV09SRCBfY2FsY3VsYXRlZEV4ZWN1dGVQcm9ncmVzczsKKworICAgIEJPT0wgX2Rvd25ncmFkaW5nOworICAgIEJPT1RTVFJBUFBFUl9BUFBMWV9SRVNUQVJUIF9yZXN0YXJ0UmVzdWx0OworICAgIEJPT0wgX3Jlc3RhcnRSZXF1aXJlZDsKKyAgICBCT09MIF9hbGxvd1Jlc3RhcnQ7CisKKyAgICBCT09MIF9zdXBwcmVzc0Rvd25ncmFkZUZhaWx1cmU7CisgICAgQk9PTCBfc3VwcHJlc3NSZXBhaXI7CisgICAgQk9PTCBfbW9kaWZ5aW5nOworCisgICAgU1RSSU5HRElDVF9IQU5ETEUgX292ZXJyaWRhYmxlVmFyaWFibGVzOworCisgICAgSVRhc2tiYXJMaXN0MyogX3Rhc2tiYXJMaXN0OworICAgIFVJTlQgX3Rhc2tiYXJCdXR0b25DcmVhdGVkTWVzc2FnZTsKKyAgICBCT09MIF90YXNrYmFyQnV0dG9uT0s7CisgICAgQk9PTCBfc2hvd2luZ0ludGVybmFsVUlUaGlzUGFja2FnZTsKKyAgICBCT09MIF90cmllZFRvTGF1bmNoRWxldmF0ZWQ7CisKKyAgICBCT09MIF9zdXBwcmVzc1BhaW50OworCisgICAgSE1PRFVMRSBfaEJBRk1vZHVsZTsKKyAgICBJQm9vdHN0cmFwcGVyQkFGdW5jdGlvbiogX2JhRnVuY3Rpb247Cit9OworCisvLworLy8gQ3JlYXRlQm9vdHN0cmFwcGVyQXBwbGljYXRpb24gLSBjcmVhdGVzIGEgbmV3IElCb290c3RyYXBwZXJBcHBsaWNhdGlvbiBvYmplY3QuCisvLworSFJFU1VMVCBDcmVhdGVCb290c3RyYXBwZXJBcHBsaWNhdGlvbigKKyAgICBfX2luIEhNT0RVTEUgaE1vZHVsZSwKKyAgICBfX2luIEJPT0wgZlByZXJlcSwKKyAgICBfX2luIEhSRVNVTFQgaHJIb3N0SW5pdGlhbGl6YXRpb24sCisgICAgX19pbiBJQm9vdHN0cmFwcGVyRW5naW5lKiBwRW5naW5lLAorICAgIF9faW4gY29uc3QgQk9PVFNUUkFQUEVSX0NPTU1BTkQqIHBDb21tYW5kLAorICAgIF9fb3V0IElCb290c3RyYXBwZXJBcHBsaWNhdGlvbioqIHBwQXBwbGljYXRpb24KKyAgICApIHsKKyAgICBIUkVTVUxUIGhyID0gU19PSzsKKworICAgIGlmIChmUHJlcmVxKSB7CisgICAgICAgIGhyID0gRV9JTlZBTElEQVJHOworICAgICAgICBFeGl0V2l0aExhc3RFcnJvcihociwgIkZhaWxlZCB0byBjcmVhdGUgVUkgdGhyZWFkLiIpOworICAgIH0KKworICAgIFB5dGhvbkJvb3RzdHJhcHBlckFwcGxpY2F0aW9uKiBwQXBwbGljYXRpb24gPSBudWxscHRyOworCisgICAgcEFwcGxpY2F0aW9uID0gbmV3IFB5dGhvbkJvb3RzdHJhcHBlckFwcGxpY2F0aW9uKGhNb2R1bGUsIGZQcmVyZXEsIGhySG9zdEluaXRpYWxpemF0aW9uLCBwRW5naW5lLCBwQ29tbWFuZCk7CisgICAgRXhpdE9uTnVsbChwQXBwbGljYXRpb24sIGhyLCBFX09VVE9GTUVNT1JZLCAiRmFpbGVkIHRvIGNyZWF0ZSBuZXcgc3RhbmRhcmQgYm9vdHN0cmFwcGVyIGFwcGxpY2F0aW9uIG9iamVjdC4iKTsKKworICAgICpwcEFwcGxpY2F0aW9uID0gcEFwcGxpY2F0aW9uOworICAgIHBBcHBsaWNhdGlvbiA9IG51bGxwdHI7CisKK0xFeGl0OgorICAgIFJlbGVhc2VPYmplY3QocEFwcGxpY2F0aW9uKTsKKyAgICByZXR1cm4gaHI7Cit9CmRpZmYgLS1naXQgYS9Ub29scy9tc2kvYnVuZGxlL2Jvb3RzdHJhcC9wY2guY3BwIGIvVG9vbHMvbXNpL2J1bmRsZS9ib290c3RyYXAvcGNoLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xZDlmMzhjCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvbXNpL2J1bmRsZS9ib290c3RyYXAvcGNoLmNwcApAQCAtMCwwICsxIEBACisjaW5jbHVkZSAicGNoLmgiCmRpZmYgLS1naXQgYS9Ub29scy9tc2kvYnVuZGxlL2Jvb3RzdHJhcC9wY2guaCBiL1Rvb2xzL21zaS9idW5kbGUvYm9vdHN0cmFwL3BjaC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA5NTY0MTMKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9tc2kvYnVuZGxlL2Jvb3RzdHJhcC9wY2guaApAQCAtMCwwICsxLDU5IEBACisvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy8vIDxjb3B5cmlnaHQgZmlsZT0icHJlY29tcC5oIiBjb21wYW55PSJPdXRlcmN1cnZlIEZvdW5kYXRpb24iPgorLy8gICBDb3B5cmlnaHQgKGMpIDIwMDQsIE91dGVyY3VydmUgRm91bmRhdGlvbi4KKy8vICAgVGhpcyBzb2Z0d2FyZSBpcyByZWxlYXNlZCB1bmRlciBNaWNyb3NvZnQgUmVjaXByb2NhbCBMaWNlbnNlIChNUy1STCkuCisvLyAgIFRoZSBsaWNlbnNlIGFuZCBmdXJ0aGVyIGNvcHlyaWdodCB0ZXh0IGNhbiBiZSBmb3VuZCBpbiB0aGUgZmlsZQorLy8gICBMSUNFTlNFLlRYVCBhdCB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhlIGRpc3RyaWJ1dGlvbi4KKy8vIDwvY29weXJpZ2h0PgorLy8gCisvLyA8c3VtbWFyeT4KKy8vICAgIFByZWNvbXBpbGVkIGhlYWRlciBmb3Igc3RhbmRhcmQgYm9vdHN0cmFwcGVyIGFwcGxpY2F0aW9uLgorLy8gPC9zdW1tYXJ5PgorLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSA8d2luZG93cy5oPgorI2luY2x1ZGUgPGdkaXBsdXMuaD4KKyNpbmNsdWRlIDxVeHRoZW1lLmg+CisjaW5jbHVkZSA8bXNpcXVlcnkuaD4KKyNpbmNsdWRlIDxvYmpiYXNlLmg+CisjaW5jbHVkZSA8c2hsb2JqLmg+CisjaW5jbHVkZSA8c2hsd2FwaS5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHN0cnNhZmUuaD4KKyNpbmNsdWRlIDxzdGRkZWYuaD4KKworI2luY2x1ZGUgImR1dGlsLmgiCisjaW5jbHVkZSAibWVtdXRpbC5oIgorI2luY2x1ZGUgImRpY3R1dGlsLmgiCisjaW5jbHVkZSAiZGlydXRpbC5oIgorI2luY2x1ZGUgImZpbGV1dGlsLmgiCisjaW5jbHVkZSAibG9jdXRpbC5oIgorI2luY2x1ZGUgImxvZ3V0aWwuaCIKKyNpbmNsdWRlICJwYXRodXRpbC5oIgorI2luY2x1ZGUgInJlc3J1dGlsLmgiCisjaW5jbHVkZSAic2hlbHV0aWwuaCIKKyNpbmNsdWRlICJzdHJ1dGlsLmgiCisjaW5jbHVkZSAidGhtdXRpbC5oIgorI2luY2x1ZGUgInVyaXV0aWwuaCIKKyNpbmNsdWRlICJ4bWx1dGlsLmgiCisKKyNpbmNsdWRlICJJQm9vdHN0cmFwcGVyRW5naW5lLmgiCisjaW5jbHVkZSAiSUJvb3RzdHJhcHBlckFwcGxpY2F0aW9uLmgiCisKKyNpbmNsdWRlICJCYWxCYXNlQm9vdHN0cmFwcGVyQXBwbGljYXRpb24uaCIKKyNpbmNsdWRlICJiYWxpbmZvLmgiCisjaW5jbHVkZSAiYmFsY29uZGl0aW9uLmgiCisKK0hSRVNVTFQgQ3JlYXRlQm9vdHN0cmFwcGVyQXBwbGljYXRpb24oCisgICAgX19pbiBITU9EVUxFIGhNb2R1bGUsCisgICAgX19pbiBCT09MIGZQcmVyZXEsCisgICAgX19pbiBIUkVTVUxUIGhySG9zdEluaXRpYWxpemF0aW9uLAorICAgIF9faW4gSUJvb3RzdHJhcHBlckVuZ2luZSogcEVuZ2luZSwKKyAgICBfX2luIGNvbnN0IEJPT1RTVFJBUFBFUl9DT01NQU5EKiBwQ29tbWFuZCwKKyAgICBfX291dCBJQm9vdHN0cmFwcGVyQXBwbGljYXRpb24qKiBwcEFwcGxpY2F0aW9uCispOworCisjaW5jbHVkZSAiSUJvb3RzdHJhcHBlckJBRnVuY3Rpb24uaCIKKwpkaWZmIC0tZ2l0IGEvVG9vbHMvbXNpL2J1bmRsZS9ib290c3RyYXAvcHl0aG9uYmEuY3BwIGIvVG9vbHMvbXNpL2J1bmRsZS9ib290c3RyYXAvcHl0aG9uYmEuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBjZTQ1YWQKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9tc2kvYnVuZGxlL2Jvb3RzdHJhcC9weXRob25iYS5jcHAKQEAgLTAsMCArMSw3NiBAQAorLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisvLyA8Y29weXJpZ2h0IGZpbGU9IndpeHN0ZGJhLmNwcCIgY29tcGFueT0iT3V0ZXJjdXJ2ZSBGb3VuZGF0aW9uIj4KKy8vICAgQ29weXJpZ2h0IChjKSAyMDA0LCBPdXRlcmN1cnZlIEZvdW5kYXRpb24uCisvLyAgIFRoaXMgc29mdHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIgTWljcm9zb2Z0IFJlY2lwcm9jYWwgTGljZW5zZSAoTVMtUkwpLgorLy8gICBUaGUgbGljZW5zZSBhbmQgZnVydGhlciBjb3B5cmlnaHQgdGV4dCBjYW4gYmUgZm91bmQgaW4gdGhlIGZpbGUKKy8vICAgTElDRU5TRS5UWFQgYXQgdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoZSBkaXN0cmlidXRpb24uCisvLyA8L2NvcHlyaWdodD4KKy8vCisvLyA8c3VtbWFyeT4KKy8vIFNldHVwIGNoYWluZXIvYm9vdHN0cmFwcGVyIHN0YW5kYXJkIFVJIGZvciBXaVggdG9vbHNldC4KKy8vIDwvc3VtbWFyeT4KKy8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisjaW5jbHVkZSAicGNoLmgiCisKK3N0YXRpYyBISU5TVEFOQ0UgdmhJbnN0YW5jZSA9IE5VTEw7CisKK2V4dGVybiAiQyIgQk9PTCBXSU5BUEkgRGxsTWFpbigKKyAgICBJTiBISU5TVEFOQ0UgaEluc3RhbmNlLAorICAgIElOIERXT1JEIGR3UmVhc29uLAorICAgIElOIExQVk9JRCAvKiBwdlJlc2VydmVkICovCisgICAgKQoreworICAgIHN3aXRjaChkd1JlYXNvbikKKyAgICB7CisgICAgY2FzZSBETExfUFJPQ0VTU19BVFRBQ0g6CisgICAgICAgIDo6RGlzYWJsZVRocmVhZExpYnJhcnlDYWxscyhoSW5zdGFuY2UpOworICAgICAgICB2aEluc3RhbmNlID0gaEluc3RhbmNlOworICAgICAgICBicmVhazsKKworICAgIGNhc2UgRExMX1BST0NFU1NfREVUQUNIOgorICAgICAgICB2aEluc3RhbmNlID0gTlVMTDsKKyAgICAgICAgYnJlYWs7CisgICAgfQorCisgICAgcmV0dXJuIFRSVUU7Cit9CisKKworZXh0ZXJuICJDIiBIUkVTVUxUIFdJTkFQSSBCb290c3RyYXBwZXJBcHBsaWNhdGlvbkNyZWF0ZSgKKyAgICBfX2luIElCb290c3RyYXBwZXJFbmdpbmUqIHBFbmdpbmUsCisgICAgX19pbiBjb25zdCBCT09UU1RSQVBQRVJfQ09NTUFORCogcENvbW1hbmQsCisgICAgX19vdXQgSUJvb3RzdHJhcHBlckFwcGxpY2F0aW9uKiogcHBBcHBsaWNhdGlvbgorICAgICkKK3sKKyAgICBIUkVTVUxUIGhyID0gU19PSzsKKworICAgIEJhbEluaXRpYWxpemUocEVuZ2luZSk7CisKKyAgICBociA9IENyZWF0ZUJvb3RzdHJhcHBlckFwcGxpY2F0aW9uKHZoSW5zdGFuY2UsIEZBTFNFLCBTX09LLCBwRW5naW5lLCBwQ29tbWFuZCwgcHBBcHBsaWNhdGlvbik7CisgICAgQmFsRXhpdE9uRmFpbHVyZShociwgIkZhaWxlZCB0byBjcmVhdGUgYm9vdHN0cmFwcGVyIGFwcGxpY2F0aW9uIGludGVyZmFjZS4iKTsKKworTEV4aXQ6CisgICAgcmV0dXJuIGhyOworfQorCisKK2V4dGVybiAiQyIgdm9pZCBXSU5BUEkgQm9vdHN0cmFwcGVyQXBwbGljYXRpb25EZXN0cm95KCkKK3sKKyAgICBCYWxVbmluaXRpYWxpemUoKTsKK30KKworCitleHRlcm4gIkMiIEhSRVNVTFQgV0lOQVBJIE1iYVByZXJlcUJvb3RzdHJhcHBlckFwcGxpY2F0aW9uQ3JlYXRlKAorICAgIF9faW4gSFJFU1VMVCBockhvc3RJbml0aWFsaXphdGlvbiwKKyAgICBfX2luIElCb290c3RyYXBwZXJFbmdpbmUqIHBFbmdpbmUsCisgICAgX19pbiBjb25zdCBCT09UU1RSQVBQRVJfQ09NTUFORCogcENvbW1hbmQsCisgICAgX19vdXQgSUJvb3RzdHJhcHBlckFwcGxpY2F0aW9uKiogcHBBcHBsaWNhdGlvbgorICAgICkKK3sKKyAgICByZXR1cm4gRV9OT1RJTVBMOworfQorCisKK2V4dGVybiAiQyIgdm9pZCBXSU5BUEkgTWJhUHJlcmVxQm9vdHN0cmFwcGVyQXBwbGljYXRpb25EZXN0cm95KCkKK3sgfQpkaWZmIC0tZ2l0IGEvVG9vbHMvbXNpL2J1bmRsZS9ib290c3RyYXAvcHl0aG9uYmEuZGVmIGIvVG9vbHMvbXNpL2J1bmRsZS9ib290c3RyYXAvcHl0aG9uYmEuZGVmCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI5YjNmYTUKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9tc2kvYnVuZGxlL2Jvb3RzdHJhcC9weXRob25iYS5kZWYKQEAgLTAsMCArMSwxOCBAQAorOy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKzsgPGNvcHlyaWdodCBmaWxlPSJ3aXhzdGRiYS5kZWYiIGNvbXBhbnk9Ik91dGVyY3VydmUgRm91bmRhdGlvbiI+Cis7ICAgQ29weXJpZ2h0IChjKSAyMDA0LCBPdXRlcmN1cnZlIEZvdW5kYXRpb24uCis7ICAgVGhpcyBzb2Z0d2FyZSBpcyByZWxlYXNlZCB1bmRlciBNaWNyb3NvZnQgUmVjaXByb2NhbCBMaWNlbnNlIChNUy1STCkuCis7ICAgVGhlIGxpY2Vuc2UgYW5kIGZ1cnRoZXIgY29weXJpZ2h0IHRleHQgY2FuIGJlIGZvdW5kIGluIHRoZSBmaWxlCis7ICAgTElDRU5TRS5UWFQgYXQgdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoZSBkaXN0cmlidXRpb24uCis7IDwvY29weXJpZ2h0PgorOyAKKzsgPHN1bW1hcnk+Cis7ICAgIFdpWCBTdGFuZGFyZCBCb290c3RyYXBwZXIgQXBwbGljYXRpb24gRExMIGVudHJ5IHBvaW50cy4KKzsgPC9zdW1tYXJ5PgorOy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworRVhQT1JUUworICAgIEJvb3RzdHJhcHBlckFwcGxpY2F0aW9uQ3JlYXRlCisgICAgQm9vdHN0cmFwcGVyQXBwbGljYXRpb25EZXN0cm95CisgICAgTWJhUHJlcmVxQm9vdHN0cmFwcGVyQXBwbGljYXRpb25DcmVhdGUKKyAgICBNYmFQcmVyZXFCb290c3RyYXBwZXJBcHBsaWNhdGlvbkRlc3Ryb3kKZGlmZiAtLWdpdCBhL1Rvb2xzL21zaS9idW5kbGUvYm9vdHN0cmFwL3B5dGhvbmJhLnNsbiBiL1Rvb2xzL21zaS9idW5kbGUvYm9vdHN0cmFwL3B5dGhvbmJhLnNsbgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iZjQzZmVkCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvbXNpL2J1bmRsZS9ib290c3RyYXAvcHl0aG9uYmEuc2xuCkBAIC0wLDAgKzEsMjIgQEAKK++7vworTWljcm9zb2Z0IFZpc3VhbCBTdHVkaW8gU29sdXRpb24gRmlsZSwgRm9ybWF0IFZlcnNpb24gMTIuMDAKKyMgVmlzdWFsIFN0dWRpbyAyMDEzCitWaXN1YWxTdHVkaW9WZXJzaW9uID0gMTIuMC4zMDUwMS4wCitNaW5pbXVtVmlzdWFsU3R1ZGlvVmVyc2lvbiA9IDEwLjAuNDAyMTkuMQorUHJvamVjdCgiezhCQzlDRUI4LThCNEEtMTFEMC04RDExLTAwQTBDOTFCQzk0Mn0iKSA9ICJweXRob25iYSIsICJweXRob25iYS52Y3hwcm9qIiwgIns3QTA5QjEzMi1CM0VFLTQ5OUItQTcwMC1BNEIyMTU3RkVBM0R9IgorRW5kUHJvamVjdAorR2xvYmFsCisJR2xvYmFsU2VjdGlvbihTb2x1dGlvbkNvbmZpZ3VyYXRpb25QbGF0Zm9ybXMpID0gcHJlU29sdXRpb24KKwkJRGVidWd8V2luMzIgPSBEZWJ1Z3xXaW4zMgorCQlSZWxlYXNlfFdpbjMyID0gUmVsZWFzZXxXaW4zMgorCUVuZEdsb2JhbFNlY3Rpb24KKwlHbG9iYWxTZWN0aW9uKFByb2plY3RDb25maWd1cmF0aW9uUGxhdGZvcm1zKSA9IHBvc3RTb2x1dGlvbgorCQl7N0EwOUIxMzItQjNFRS00OTlCLUE3MDAtQTRCMjE1N0ZFQTNEfS5EZWJ1Z3xXaW4zMi5BY3RpdmVDZmcgPSBEZWJ1Z3xXaW4zMgorCQl7N0EwOUIxMzItQjNFRS00OTlCLUE3MDAtQTRCMjE1N0ZFQTNEfS5EZWJ1Z3xXaW4zMi5CdWlsZC4wID0gRGVidWd8V2luMzIKKwkJezdBMDlCMTMyLUIzRUUtNDk5Qi1BNzAwLUE0QjIxNTdGRUEzRH0uUmVsZWFzZXxXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyCisJCXs3QTA5QjEzMi1CM0VFLTQ5OUItQTcwMC1BNEIyMTU3RkVBM0R9LlJlbGVhc2V8V2luMzIuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzIKKwlFbmRHbG9iYWxTZWN0aW9uCisJR2xvYmFsU2VjdGlvbihTb2x1dGlvblByb3BlcnRpZXMpID0gcHJlU29sdXRpb24KKwkJSGlkZVNvbHV0aW9uTm9kZSA9IEZBTFNFCisJRW5kR2xvYmFsU2VjdGlvbgorRW5kR2xvYmFsCmRpZmYgLS1naXQgYS9Ub29scy9tc2kvYnVuZGxlL2Jvb3RzdHJhcC9weXRob25iYS52Y3hwcm9qIGIvVG9vbHMvbXNpL2J1bmRsZS9ib290c3RyYXAvcHl0aG9uYmEudmN4cHJvagpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41ZDgzMzdjCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvbXNpL2J1bmRsZS9ib290c3RyYXAvcHl0aG9uYmEudmN4cHJvagpAQCAtMCwwICsxLDY5IEBACivvu788P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgorPCEtLQorICA8Y29weXJpZ2h0IGZpbGU9IndpeHN0ZGJhLnZjeHByb2oiIGNvbXBhbnk9Ik91dGVyY3VydmUgRm91bmRhdGlvbiI+CisgICAgQ29weXJpZ2h0IChjKSAyMDA0LCBPdXRlcmN1cnZlIEZvdW5kYXRpb24uCisgICAgVGhpcyBzb2Z0d2FyZSBpcyByZWxlYXNlZCB1bmRlciBNaWNyb3NvZnQgUmVjaXByb2NhbCBMaWNlbnNlIChNUy1STCkuCisgICAgVGhlIGxpY2Vuc2UgYW5kIGZ1cnRoZXIgY29weXJpZ2h0IHRleHQgY2FuIGJlIGZvdW5kIGluIHRoZSBmaWxlCisgICAgTElDRU5TRS5UWFQgYXQgdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoZSBkaXN0cmlidXRpb24uCisgIDwvY29weXJpZ2h0PgorLS0+Cis8UHJvamVjdCBEZWZhdWx0VGFyZ2V0cz0iQnVpbGQiIFRvb2xzVmVyc2lvbj0iNC4wIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4KKyAgPEl0ZW1Hcm91cCBMYWJlbD0iUHJvamVjdENvbmZpZ3VyYXRpb25zIj4KKyAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iRGVidWd8V2luMzIiPgorICAgICAgPENvbmZpZ3VyYXRpb24+RGVidWc8L0NvbmZpZ3VyYXRpb24+CisgICAgICA8UGxhdGZvcm0+V2luMzI8L1BsYXRmb3JtPgorICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+CisgICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IlJlbGVhc2V8V2luMzIiPgorICAgICAgPENvbmZpZ3VyYXRpb24+UmVsZWFzZTwvQ29uZmlndXJhdGlvbj4KKyAgICAgIDxQbGF0Zm9ybT5XaW4zMjwvUGxhdGZvcm0+CisgICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KKyAgPC9JdGVtR3JvdXA+CisgIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJHbG9iYWxzIj4KKyAgICA8Q29uZmlndXJhdGlvbiBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pJyA9PSAnJyI+UmVsZWFzZTwvQ29uZmlndXJhdGlvbj4KKyAgICA8UGxhdGZvcm0gQ29uZGl0aW9uPSInJChQbGF0Zm9ybSknID09ICcnIj5XaW4zMjwvUGxhdGZvcm0+CisgICAgPFBsYXRmb3JtVG9vbHNldCBDb25kaXRpb249IickKFBsYXRmb3JtVG9vbHNldCknID09ICcnIGFuZCAnJChWQ1RhcmdldHNQYXRoMTQpJyAhPSAnJyI+djE0MDwvUGxhdGZvcm1Ub29sc2V0PgorICAgIDxQbGF0Zm9ybVRvb2xzZXQgQ29uZGl0aW9uPSInJChQbGF0Zm9ybVRvb2xzZXQpJyA9PSAnJyBhbmQgJyQoVkNUYXJnZXRzUGF0aDEyKScgIT0gJyciPnYxMjA8L1BsYXRmb3JtVG9vbHNldD4KKyAgICA8UHJvamVjdEd1aWQ+ezdBMDlCMTMyLUIzRUUtNDk5Qi1BNzAwLUE0QjIxNTdGRUEzRH08L1Byb2plY3RHdWlkPgorICAgIDxUYXJnZXROYW1lPlB5dGhvbkJBPC9UYXJnZXROYW1lPgorICA8L1Byb3BlcnR5R3JvdXA+CisgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLkRlZmF1bHQucHJvcHMiIC8+CisgIDxJbXBvcnQgUHJvamVjdD0iLi5cLi5cd2l4LnByb3BzIiAvPgorICA8UHJvcGVydHlHcm91cCBMYWJlbD0iQ29uZmlndXJhdGlvbiI+CisgICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KKyAgICA8Q2hhcmFjdGVyU2V0PlVuaWNvZGU8L0NoYXJhY3RlclNldD4KKyAgICA8SW50RGlyPiQoUHJvamVjdERpcikuLlwuLlxvYmpcJChDb25maWd1cmF0aW9uKV9Cb290c3RyYXBcPC9JbnREaXI+CisgICAgPE91dERpcj4kKEludERpcik8L091dERpcj4KKyAgPC9Qcm9wZXJ0eUdyb3VwPgorICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC5wcm9wcyIgLz4KKyAgPEl0ZW1EZWZpbml0aW9uR3JvdXA+CisgICAgPENsQ29tcGlsZT4KKyAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5fQ1JUX1NURElPX0xFR0FDWV9XSURFX1NQRUNJRklFUlM9MTslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+CisgICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4kKFdpeEluc3RhbGxQYXRoKXNka1xpbmM8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+CisgICAgICA8UHJlY29tcGlsZWRIZWFkZXI+VXNlPC9QcmVjb21waWxlZEhlYWRlcj4KKyAgICAgIDxQcmVjb21waWxlZEhlYWRlckZpbGU+cGNoLmg8L1ByZWNvbXBpbGVkSGVhZGVyRmlsZT4KKyAgICAgIDxSdW50aW1lTGlicmFyeT5NdWx0aVRocmVhZGVkPC9SdW50aW1lTGlicmFyeT4KKyAgICA8L0NsQ29tcGlsZT4KKyAgICA8TGluaz4KKyAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPmNvbWN0bDMyLmxpYjtnZGlwbHVzLmxpYjttc2ltZzMyLmxpYjtzaGx3YXBpLmxpYjt3aW5pbmV0LmxpYjtkdXRpbC5saWI7YmFsdXRpbC5saWI7dmVyc2lvbi5saWI7dXh0aGVtZS5saWI7JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KKyAgICAgIDxBZGRpdGlvbmFsTGlicmFyeURpcmVjdG9yaWVzIENvbmRpdGlvbj0iJyQoUGxhdGZvcm1Ub29sc2V0KScgPT0gJ3YxNDAnIj4kKFdpeEluc3RhbGxQYXRoKXNka1x2czIwMTVcbGliXHg4NjwvQWRkaXRpb25hbExpYnJhcnlEaXJlY3Rvcmllcz4KKyAgICAgIDxBZGRpdGlvbmFsTGlicmFyeURpcmVjdG9yaWVzIENvbmRpdGlvbj0iJyQoUGxhdGZvcm1Ub29sc2V0KScgPT0gJ3YxMjAnIj4kKFdpeEluc3RhbGxQYXRoKXNka1x2czIwMTNcbGliXHg4NjwvQWRkaXRpb25hbExpYnJhcnlEaXJlY3Rvcmllcz4KKyAgICAgIDxNb2R1bGVEZWZpbml0aW9uRmlsZT5weXRob25iYS5kZWY8L01vZHVsZURlZmluaXRpb25GaWxlPgorICAgICAgPEdlbmVyYXRlRGVidWdJbmZvcm1hdGlvbiBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pJz09J0RlYnVnJyI+dHJ1ZTwvR2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPgorICAgIDwvTGluaz4KKyAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgorICA8SXRlbUdyb3VwPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iUHl0aG9uQm9vdHN0cmFwcGVyQXBwbGljYXRpb24uY3BwIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0icHl0aG9uYmEuY3BwIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0icGNoLmNwcCI+CisgICAgICA8UHJlY29tcGlsZWRIZWFkZXI+Q3JlYXRlPC9QcmVjb21waWxlZEhlYWRlcj4KKyAgICA8L0NsQ29tcGlsZT4KKyAgPC9JdGVtR3JvdXA+CisgIDxJdGVtR3JvdXA+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSJwY2guaCIgLz4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9InJlc291cmNlLmgiIC8+CisgIDwvSXRlbUdyb3VwPgorICA8SXRlbUdyb3VwPgorICAgIDxOb25lIEluY2x1ZGU9InB5dGhvbmJhLmRlZiIgLz4KKyAgPC9JdGVtR3JvdXA+CisgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLnRhcmdldHMiIC8+Cis8L1Byb2plY3Q+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvVG9vbHMvbXNpL2J1bmRsZS9ib290c3RyYXAvcmVzb3VyY2UuaCBiL1Rvb2xzL21zaS9idW5kbGUvYm9vdHN0cmFwL3Jlc291cmNlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTNjMDNjMwotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL21zaS9idW5kbGUvYm9vdHN0cmFwL3Jlc291cmNlLmgKQEAgLTAsMCArMSwyNSBAQAorLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisvLyA8Y29weXJpZ2h0IGZpbGU9InJlc291cmNlLmgiIGNvbXBhbnk9Ik91dGVyY3VydmUgRm91bmRhdGlvbiI+CisvLyAgIENvcHlyaWdodCAoYykgMjAwNCwgT3V0ZXJjdXJ2ZSBGb3VuZGF0aW9uLgorLy8gICBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIE1pY3Jvc29mdCBSZWNpcHJvY2FsIExpY2Vuc2UgKE1TLVJMKS4KKy8vICAgVGhlIGxpY2Vuc2UgYW5kIGZ1cnRoZXIgY29weXJpZ2h0IHRleHQgY2FuIGJlIGZvdW5kIGluIHRoZSBmaWxlCisvLyAgIExJQ0VOU0UuVFhUIGF0IHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGUgZGlzdHJpYnV0aW9uLgorLy8gPC9jb3B5cmlnaHQ+CisvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworLy97e05PX0RFUEVOREVOQ0lFU319CisvLyBNaWNyb3NvZnQgVmlzdWFsIEMrKyBnZW5lcmF0ZWQgaW5jbHVkZSBmaWxlLgorLy8KKyNkZWZpbmUgSURDX1NUQVRJQyAgICAgICAgICAgICAgICAgICAgICAtMQorCisKKy8vIE5leHQgZGVmYXVsdCB2YWx1ZXMgZm9yIG5ldyBvYmplY3RzCisvLyAKKyNpZmRlZiBBUFNUVURJT19JTlZPS0VECisjaWZuZGVmIEFQU1RVRElPX1JFQURPTkxZX1NZTUJPTFMKKyNkZWZpbmUgX0FQU19ORVhUX1JFU09VUkNFX1ZBTFVFICAgICAgICAxMDIKKyNkZWZpbmUgX0FQU19ORVhUX0NPTU1BTkRfVkFMVUUgICAgICAgICA0MDAwMQorI2RlZmluZSBfQVBTX05FWFRfQ09OVFJPTF9WQUxVRSAgICAgICAgIDEwMDMKKyNkZWZpbmUgX0FQU19ORVhUX1NZTUVEX1ZBTFVFICAgICAgICAgICAxMDEKKyNlbmRpZgorI2VuZGlmCmRpZmYgLS1naXQgYS9Ub29scy9tc2kvYnVuZGxlL2J1bmRsZS5pY28gYi9Ub29scy9tc2kvYnVuZGxlL2J1bmRsZS5pY28KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWFiNjI5ZQotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL21zaS9idW5kbGUvYnVuZGxlLmljbwpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9Ub29scy9tc2kvYnVuZGxlL2J1bmRsZS50YXJnZXRzIGIvVG9vbHMvbXNpL2J1bmRsZS9idW5kbGUudGFyZ2V0cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43Njk3YWY3Ci0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvbXNpL2J1bmRsZS9idW5kbGUudGFyZ2V0cwpAQCAtMCwwICsxLDk5IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgorPFByb2plY3QgVG9vbHNWZXJzaW9uPSI0LjAiIERlZmF1bHRUYXJnZXRzPSJCdWlsZCIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyIgVHJlYXRBc0xvY2FsUHJvcGVydHk9IkRvd25sb2FkVXJsIj4KKyAgICA8UHJvcGVydHlHcm91cD4KKyAgICAgICAgPFNjaGVtYVZlcnNpb24+Mi4wPC9TY2hlbWFWZXJzaW9uPgorICAgICAgICA8T3V0cHV0VHlwZT5CdW5kbGU8L091dHB1dFR5cGU+CisgICAgICAgIAorICAgICAgICA8Qm9vdHN0cmFwQ29uZmlndXJhdGlvbiBDb25kaXRpb249IickKEJvb3RzdHJhcENvbmZpZ3VyYXRpb24pJyA9PSAnJyI+UmVsZWFzZTwvQm9vdHN0cmFwQ29uZmlndXJhdGlvbj4KKyAgICAgICAgPExpbmtlclN1cHByZXNzU3BlY2lmaWNXYXJuaW5ncz4xMTMyOzExMzU7MTE0MDwvTGlua2VyU3VwcHJlc3NTcGVjaWZpY1dhcm5pbmdzPgorICAgICAgICA8T3V0cHV0TmFtZSBDb25kaXRpb249IiQoQnVpbGRGb3JSZWxlYXNlKSI+JChPdXRwdXROYW1lKS0kKFB5dGhvblZlcnNpb24pPC9PdXRwdXROYW1lPgorICAgICAgICA8T3V0cHV0TmFtZSBDb25kaXRpb249IiEkKEJ1aWxkRm9yUmVsZWFzZSkiPiQoT3V0cHV0TmFtZSktJChNYWpvclZlcnNpb25OdW1iZXIpLiQoTWlub3JWZXJzaW9uTnVtYmVyKS4kKE1pY3JvVmVyc2lvbk51bWJlcikuJChSZXZpc2lvbk51bWJlcik8L091dHB1dE5hbWU+CisgICAgICAgIDxPdXRwdXROYW1lIENvbmRpdGlvbj0iJChQbGF0Zm9ybSkgPT0gJ3g2NCciPiQoT3V0cHV0TmFtZSktYW1kNjQ8L091dHB1dE5hbWU+CisgICAgICAgIDxPdXRwdXROYW1lIENvbmRpdGlvbj0iJyQoT3V0cHV0U3VmZml4KScgIT0gJyciPiQoT3V0cHV0TmFtZSktJChPdXRwdXRTdWZmaXgpPC9PdXRwdXROYW1lPgorCisgICAgICAgIDxPdXRwdXRQYXRoPiQoT3V0cHV0UGF0aCllbi11c1w8L091dHB1dFBhdGg+CisgICAgICAgIDxPdXREaXI+JChPdXRwdXRQYXRoKTwvT3V0RGlyPgorICAgICAgICAKKyAgICAgICAgPERvd25sb2FkVXJsIENvbmRpdGlvbj0iJyQoRG93bmxvYWRVcmwpJyA9PSAnJyBhbmQgJyQoRG93bmxvYWRVcmxCYXNlKScgIT0gJyciPiQoRG93bmxvYWRVcmxCYXNlLlRyaW1FbmQoYC9gKSkvJChNYWpvclZlcnNpb25OdW1iZXIpLiQoTWlub3JWZXJzaW9uTnVtYmVyKS4kKE1pY3JvVmVyc2lvbk51bWJlcikvJChBcmNoTmFtZSkkKFJlbGVhc2VMZXZlbE5hbWUpLzwvRG93bmxvYWRVcmw+CisgICAgICAgIDxEZWZpbmVDb25zdGFudHMgQ29uZGl0aW9uPSInJChEb3dubG9hZFVybCknICE9ICcnIj4kKERlZmluZUNvbnN0YW50cyk7RG93bmxvYWRVcmw9JChEb3dubG9hZFVybCl7Mn08L0RlZmluZUNvbnN0YW50cz4KKyAgICAgICAgPERlZmluZUNvbnN0YW50cyBDb25kaXRpb249IickKERvd25sb2FkVXJsKScgPT0gJyciPiQoRGVmaW5lQ29uc3RhbnRzKTtEb3dubG9hZFVybD17Mn08L0RlZmluZUNvbnN0YW50cz4KKyAgICA8L1Byb3BlcnR5R3JvdXA+CisgICAgCisgICAgPEl0ZW1Hcm91cD4KKyAgICAgICAgPFdpeEV4dGVuc2lvbiBJbmNsdWRlPSJXaXhVdGlsRXh0ZW5zaW9uIj4KKyAgICAgICAgICAgIDxIaW50UGF0aD5XaXhVdGlsRXh0ZW5zaW9uPC9IaW50UGF0aD4KKyAgICAgICAgICAgIDxOYW1lPldpeFV0aWxFeHRlbnNpb248L05hbWU+CisgICAgICAgIDwvV2l4RXh0ZW5zaW9uPgorICAgICAgICA8V2l4RXh0ZW5zaW9uIEluY2x1ZGU9IldpeERlcGVuZGVuY3lFeHRlbnNpb24iPgorICAgICAgICAgICAgPEhpbnRQYXRoPldpeERlcGVuZGVuY3lFeHRlbnNpb248L0hpbnRQYXRoPgorICAgICAgICAgICAgPE5hbWU+V2l4RGVwZW5kZW5jeUV4dGVuc2lvbjwvTmFtZT4KKyAgICAgICAgPC9XaXhFeHRlbnNpb24+CisgICAgICAgIDxXaXhFeHRlbnNpb24gSW5jbHVkZT0iV2l4QmFsRXh0ZW5zaW9uIj4KKyAgICAgICAgICAgIDxIaW50UGF0aD5XaXhCYWxFeHRlbnNpb248L0hpbnRQYXRoPgorICAgICAgICAgICAgPE5hbWU+V2l4QmFsRXh0ZW5zaW9uPC9OYW1lPgorICAgICAgICA8L1dpeEV4dGVuc2lvbj4KKyAgICA8L0l0ZW1Hcm91cD4KKyAgICA8SXRlbUdyb3VwPgorICAgICAgICA8Q29tcGlsZSBJbmNsdWRlPSJidW5kbGUud3hzIiAvPgorICAgICAgICA8Q29tcGlsZSBJbmNsdWRlPSJwYWNrYWdlZ3JvdXBzXCoud3hzIiAvPgorICAgIDwvSXRlbUdyb3VwPgorICAgIDxJdGVtR3JvdXA+CisgICAgICAgIDxDb250ZW50IEluY2x1ZGU9IkRlZmF1bHQudGhtIiAvPgorICAgICAgICA8Q29udGVudCBJbmNsdWRlPSJEZWZhdWx0Lnd4bCIgLz4KKyAgICAgICAgPENvbnRlbnQgSW5jbHVkZT0iU2lkZUJhci5wbmciIC8+CisgICAgPC9JdGVtR3JvdXA+CisgICAgPEl0ZW1Hcm91cD4KKyAgICAgICAgPFd4bFRlbXBsYXRlIEluY2x1ZGU9IipfZW4tVVMud3hsX3RlbXBsYXRlIiAvPgorICAgIDwvSXRlbUdyb3VwPgorICAgIDxJdGVtR3JvdXA+CisgICAgICAgIDxMaW5rZXJCaW5kSW5wdXRQYXRocyBJbmNsdWRlPSIkKE91dHB1dFBhdGgpIj4KKyAgICAgICAgICAgIDxCaW5kTmFtZT48L0JpbmROYW1lPgorICAgICAgICA8L0xpbmtlckJpbmRJbnB1dFBhdGhzPgorICAgIDwvSXRlbUdyb3VwPgorICAgIAorICAgIDxJdGVtRGVmaW5pdGlvbkdyb3VwPgorICAgICAgICA8UGFja2FnZT4KKyAgICAgICAgICAgIDxQcm9wZXJ0aWVzPkJ1aWxkRm9yUmVsZWFzZT0kKEJ1aWxkRm9yUmVsZWFzZSk8L1Byb3BlcnRpZXM+CisgICAgICAgIDwvUGFja2FnZT4KKyAgICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+CisgICAgPEl0ZW1Hcm91cD4KKyAgICAgICAgPFBhY2thZ2UgSW5jbHVkZT0iLi5cY29yZVxjb3JlKi53aXhwcm9qIiAvPgorICAgICAgICA8UGFja2FnZSBJbmNsdWRlPSIuLlxjcnRcY3J0Ki53aXhwcm9qIiAvPgorICAgICAgICA8UGFja2FnZSBJbmNsdWRlPSIuLlxkZXZcZGV2Ki53aXhwcm9qIiAvPgorICAgICAgICA8UGFja2FnZSBJbmNsdWRlPSIuLlxkb2NcZG9jKi53aXhwcm9qIiAvPgorICAgICAgICA8UGFja2FnZSBJbmNsdWRlPSIuLlxleGVcZXhlKi53aXhwcm9qIiAvPgorICAgICAgICA8UGFja2FnZSBJbmNsdWRlPSIuLlxsaWJcbGliKi53aXhwcm9qIiAvPgorICAgICAgICA8UGFja2FnZSBJbmNsdWRlPSIuLlxwYXRoXHBhdGgqLndpeHByb2oiIC8+CisgICAgICAgIDxQYWNrYWdlIEluY2x1ZGU9Ii4uXHBpcFxwaXAqLndpeHByb2oiIC8+CisgICAgICAgIDxQYWNrYWdlIEluY2x1ZGU9Ii4uXHRjbHRrXHRjbHRrKi53aXhwcm9qIiAvPgorICAgICAgICA8UGFja2FnZSBJbmNsdWRlPSIuLlx0ZXN0XHRlc3QqLndpeHByb2oiIC8+CisgICAgICAgIDxQYWNrYWdlIEluY2x1ZGU9Ii4uXHRvb2xzXHRvb2xzKi53aXhwcm9qIiAvPgorICAgIDwvSXRlbUdyb3VwPgorICAgIAorICAgIDxUYXJnZXQgTmFtZT0iQnVpbGRQYWNrYWdlcyIgQmVmb3JlVGFyZ2V0cz0iQmVmb3JlQnVpbGQiIENvbmRpdGlvbj0iJyQoUmVidWlsZEFsbCknICE9ICdmYWxzZSciPgorICAgICAgICA8TVNCdWlsZCBQcm9qZWN0cz0iQChQYWNrYWdlKSIgQnVpbGRJblBhcmFsbGVsPSJ0cnVlIiAvPgorICAgIDwvVGFyZ2V0PgorICAgIAorICAgIDxUYXJnZXQgTmFtZT0iQnVpbGRMYXVuY2hlciIgQmVmb3JlVGFyZ2V0cz0iQmVmb3JlQnVpbGQiIENvbmRpdGlvbj0iJyQoUmVidWlsZEFsbCknICE9ICdmYWxzZSciPgorICAgICAgICA8IS0tIEJ1aWxkIHRoZSBsYXVuY2hlciBNU0kgdXNpbmcgRXhlYyByYXRoZXIgdGhhbiBNU0J1aWxkIC0tPgorICAgICAgICA8RXhlYyBDb21tYW5kPSdtc2J1aWxkIC4uXGxhdW5jaGVyXGxhdW5jaGVyLndpeHByb2ogL3A6UGxhdGZvcm09eDg2IC9wOk91dHB1dFBhdGg9IiQoQnVpbGRQYXRoLlRyaW1FbmQoYFxgKSkiIC9wOk91dHB1dFN1ZmZpeD0kKFBsYXRmb3JtKSAvcDpCdWlsZEZvclJlbGVhc2U9JChCdWlsZEZvclJlbGVhc2UpJworICAgICAgICAgICAgICBDb250aW51ZU9uRXJyb3I9ImZhbHNlIiAvPgorICAgIDwvVGFyZ2V0PgorICAgIAorICAgIDxUYXJnZXQgTmFtZT0iQnVpbGRCb290c3RyYXBBcHBsaWNhdGlvbiIgQmVmb3JlVGFyZ2V0cz0iQmVmb3JlQnVpbGQiPgorICAgICAgICA8TWVzc2FnZSBUZXh0PSJCdWlsZGluZyBib290c3RyYXAgYXBwIiBJbXBvcnRhbmNlPSJoaWdoIiAvPgorICAgICAgICAKKyAgICAgICAgPE1TQnVpbGQgUHJvamVjdHM9ImJvb3RzdHJhcFxweXRob25iYS52Y3hwcm9qIgorICAgICAgICAgICAgICAgICBUYXJnZXRzPSJCdWlsZDtHZXROYXRpdmVUYXJnZXRQYXRoIgorICAgICAgICAgICAgICAgICBVc2VSZXN1bHRzQ2FjaGU9InRydWUiCisgICAgICAgICAgICAgICAgIFByb3BlcnRpZXM9IkNvbmZpZ3VyYXRpb249JChCb290c3RyYXBDb25maWd1cmF0aW9uKTtQbGF0Zm9ybT1XaW4zMiI+CisgICAgICAgICAgICA8T3V0cHV0IFRhc2tQYXJhbWV0ZXI9IlRhcmdldE91dHB1dHMiIFByb3BlcnR5TmFtZT0iQm9vdHN0cmFwQXBwUGF0aCIgLz4KKyAgICAgICAgPC9NU0J1aWxkPgorICAgICAgICAKKyAgICAgICAgPFByb3BlcnR5R3JvdXA+CisgICAgICAgICAgICA8RGVmaW5lQ29uc3RhbnRzPiQoRGVmaW5lQ29uc3RhbnRzKTtCb290c3RyYXBBcHA9JChCb290c3RyYXBBcHBQYXRoKTwvRGVmaW5lQ29uc3RhbnRzPgorICAgICAgICA8L1Byb3BlcnR5R3JvdXA+CisgICAgPC9UYXJnZXQ+CisgICAgCisgICAgPEltcG9ydCBQcm9qZWN0PSIuLlxtc2kudGFyZ2V0cyIgLz4KKzwvUHJvamVjdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9Ub29scy9tc2kvYnVuZGxlL2J1bmRsZS53eHMgYi9Ub29scy9tc2kvYnVuZGxlL2J1bmRsZS53eHMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDg5MmViYgotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL21zaS9idW5kbGUvYnVuZGxlLnd4cwpAQCAtMCwwICsxLDgwIEBACivvu788P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzxXaXggeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vd2l4LzIwMDYvd2kiCisgICAgIHhtbG5zOmJhbD0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS93aXgvQmFsRXh0ZW5zaW9uIj4KKyAgPEJ1bmRsZSBOYW1lPSIhKGxvYy5GdWxsUHJvZHVjdE5hbWUpIgorICAgICAgICAgIFVwZ3JhZGVDb2RlPSIkKHZhci5VcGdyYWRlQ29kZSkiCisgICAgICAgICAgVmVyc2lvbj0iJCh2YXIuVmVyc2lvbikiCisgICAgICAgICAgSWNvblNvdXJjZUZpbGU9ImJ1bmRsZS5pY28iCisgICAgICAgICAgTWFudWZhY3R1cmVyPSIhKGxvYy5NYW51ZmFjdHVyZXIpIgorICAgICAgICAgIFVwZGF0ZVVybD0iaHR0cDovL3d3dy5weXRob24ub3JnLyIKKyAgICAgICAgICBEaXNhYmxlTW9kaWZ5PSJidXR0b24iCisgICAgICAgICAgQ29tcHJlc3NlZD0ibm8iPgorICAgIDxCb290c3RyYXBwZXJBcHBsaWNhdGlvbiBJZD0iUHl0aG9uQkEiIFNvdXJjZUZpbGU9IiQodmFyLkJvb3RzdHJhcEFwcCkiPgorICAgICAgICA8UGF5bG9hZCBDb21wcmVzc2VkPSd5ZXMnIFNvdXJjZUZpbGU9J0RlZmF1bHQudGhtJyAvPgorICAgICAgICA8UGF5bG9hZCBDb21wcmVzc2VkPSd5ZXMnIFNvdXJjZUZpbGU9J0RlZmF1bHQud3hsJyAvPgorICAgICAgICA8UGF5bG9hZCBDb21wcmVzc2VkPSd5ZXMnIFNvdXJjZUZpbGU9J1NpZGVCYXIucG5nJyAvPgorICAgIDwvQm9vdHN0cmFwcGVyQXBwbGljYXRpb24+CisKKyAgICA8IS0tIE1heSBiZSBzZXQgdG8gIlJlbW92aW5nIiBvciAiUmVwYWlyaW5nIiAtLT4KKyAgICA8VmFyaWFibGUgTmFtZT0iQWN0aW9uTGlrZUluc3RhbGxpbmciIFZhbHVlPSJJbnN0YWxsaW5nIiAvPgorICAgIDwhLS0gTWF5IGJlIHNldCB0byAiVW5pbnN0YWxsYXRpb24iIG9yICJSZXBhaXIiIC0tPgorICAgIDxWYXJpYWJsZSBOYW1lPSJBY3Rpb25MaWtlSW5zdGFsbGF0aW9uIiBWYWx1ZT0iU2V0dXAiIC8+CisKKyAgICA8VmFyaWFibGUgTmFtZT0iU2hvcnRWZXJzaW9uIiBWYWx1ZT0iJCh2YXIuTWFqb3JWZXJzaW9uTnVtYmVyKS4kKHZhci5NaW5vclZlcnNpb25OdW1iZXIpIiAvPgorICAgIDxWYXJpYWJsZSBOYW1lPSJTaG9ydFZlcnNpb25Ob0RvdCIgVmFsdWU9IiQodmFyLk1ham9yVmVyc2lvbk51bWJlcikkKHZhci5NaW5vclZlcnNpb25OdW1iZXIpIiAvPgorCisgICAgPFZhcmlhYmxlIE5hbWU9Ikluc3RhbGxBbGxVc2VycyIgVmFsdWU9IjEiIFBlcnNpc3RlZD0ieWVzIiBiYWw6T3ZlcnJpZGFibGU9InllcyIgLz4KKyAgICA8VmFyaWFibGUgTmFtZT0iVGFyZ2V0RGlyIiBWYWx1ZT0iIiBQZXJzaXN0ZWQ9InllcyIgYmFsOk92ZXJyaWRhYmxlPSJ5ZXMiIC8+CisgICAgPD9pZiAkKHZhci5QbGF0Zm9ybSl+PSJ4NjQiID8+CisgICAgPFZhcmlhYmxlIE5hbWU9IkRlZmF1bHRBbGxVc2Vyc1RhcmdldERpciIgVmFsdWU9IltQcm9ncmFtRmlsZXM2NEZvbGRlcl1QeXRob24gW1Nob3J0VmVyc2lvbl0iIGJhbDpPdmVycmlkYWJsZT0ieWVzIiAvPgorICAgIDw/ZWxzZSA/PgorICAgIDxWYXJpYWJsZSBOYW1lPSJEZWZhdWx0QWxsVXNlcnNUYXJnZXREaXIiIFZhbHVlPSJbUHJvZ3JhbUZpbGVzRm9sZGVyXVB5dGhvbiBbU2hvcnRWZXJzaW9uXSIgYmFsOk92ZXJyaWRhYmxlPSJ5ZXMiIC8+CisgICAgPD9lbmRpZiA/PgorICAgIDxWYXJpYWJsZSBOYW1lPSJEZWZhdWx0SnVzdEZvck1lVGFyZ2V0RGlyIiBWYWx1ZT0iW0xvY2FsQXBwRGF0YUZvbGRlcl1Qcm9ncmFtc1xQeXRob25cUHl0aG9uW1Nob3J0VmVyc2lvbk5vRG90XSQodmFyLlN1ZmZpeDMyKSIgYmFsOk92ZXJyaWRhYmxlPSJ5ZXMiIC8+CisgICAgCisgICAgPCEtLQorICAgIEFuIGVtcHR5IHN0cmluZyB3aWxsIHVzZSB0aGUgb3RoZXIgZGVmYXVsdHMgYmFzZWQgb24gSW5zdGFsbEFsbFVzZXJzCisgICAgKGFuZCBzd2l0Y2ggZHluYW1pY2FsbHkgaW4gdGhlIFVJKS4gVG8gZ2V0IHRoZSBvbGQgZGVmYXVsdCwgcGFzcworICAgIHRoaXMgcHJvcGVydHkgb24gdGhlIGNvbW1hbmQgbGluZToKKyAgICAgICAgRGVmYXVsdEN1c3RvbVRhcmdldERpcj1bV2luZG93c1ZvbHVtZV1QeXRob25bU2hvcnRWZXJzaW9uTm9Eb3RdCisgICAgLS0+CisgICAgPFZhcmlhYmxlIE5hbWU9IkRlZmF1bHRDdXN0b21UYXJnZXREaXIiIFZhbHVlPSIiIGJhbDpPdmVycmlkYWJsZT0ieWVzIiAvPgorCisgICAgPFZhcmlhYmxlIE5hbWU9Ikluc3RhbGxBbGxVc2Vyc1N0YXRlIiBWYWx1ZT0iZW5hYmxlZCIgLz4KKyAgICA8VmFyaWFibGUgTmFtZT0iVGFyZ2V0RGlyU3RhdGUiIFZhbHVlPSJlbmFibGVkIiAvPgorICAgIDxWYXJpYWJsZSBOYW1lPSJDdXN0b21Ccm93c2VCdXR0b25TdGF0ZSIgVmFsdWU9ImVuYWJsZWQiIC8+CisKKyAgICA8VmFyaWFibGUgTmFtZT0iSW5jbHVkZV9jb3JlIiBWYWx1ZT0iMSIgUGVyc2lzdGVkPSJ5ZXMiIC8+CisgICAgPFZhcmlhYmxlIE5hbWU9IkluY2x1ZGVfZXhlIiBWYWx1ZT0iMSIgUGVyc2lzdGVkPSJ5ZXMiIGJhbDpPdmVycmlkYWJsZT0ieWVzIiAvPgorICAgIDxWYXJpYWJsZSBOYW1lPSJJbmNsdWRlX2RldiIgVmFsdWU9IjEiIFBlcnNpc3RlZD0ieWVzIiBiYWw6T3ZlcnJpZGFibGU9InllcyIgLz4KKyAgICA8VmFyaWFibGUgTmFtZT0iSW5jbHVkZV9saWIiIFZhbHVlPSIxIiBQZXJzaXN0ZWQ9InllcyIgYmFsOk92ZXJyaWRhYmxlPSJ5ZXMiIC8+CisgICAgPFZhcmlhYmxlIE5hbWU9IkluY2x1ZGVfdGVzdCIgVmFsdWU9IjEiIFBlcnNpc3RlZD0ieWVzIiBiYWw6T3ZlcnJpZGFibGU9InllcyIgLz4KKyAgICA8VmFyaWFibGUgTmFtZT0iSW5jbHVkZV9kb2MiIFZhbHVlPSIxIiBQZXJzaXN0ZWQ9InllcyIgYmFsOk92ZXJyaWRhYmxlPSJ5ZXMiIC8+CisgICAgPFZhcmlhYmxlIE5hbWU9IkluY2x1ZGVfdG9vbHMiIFZhbHVlPSIxIiBQZXJzaXN0ZWQ9InllcyIgYmFsOk92ZXJyaWRhYmxlPSJ5ZXMiIC8+CisgICAgPFZhcmlhYmxlIE5hbWU9IkluY2x1ZGVfdGNsdGsiIFZhbHVlPSIxIiBQZXJzaXN0ZWQ9InllcyIgYmFsOk92ZXJyaWRhYmxlPSJ5ZXMiIC8+CisgICAgPFZhcmlhYmxlIE5hbWU9IkluY2x1ZGVfcGlwIiBWYWx1ZT0iMSIgUGVyc2lzdGVkPSJ5ZXMiIGJhbDpPdmVycmlkYWJsZT0ieWVzIiAvPgorICAgIDxWYXJpYWJsZSBOYW1lPSJJbmNsdWRlX2xhdW5jaGVyIiBWYWx1ZT0iMSIgUGVyc2lzdGVkPSJ5ZXMiIGJhbDpPdmVycmlkYWJsZT0ieWVzIiAvPgorICAgIDxWYXJpYWJsZSBOYW1lPSJJbmNsdWRlX3N5bWJvbHMiIFZhbHVlPSIwIiBQZXJzaXN0ZWQ9InllcyIgYmFsOk92ZXJyaWRhYmxlPSJ5ZXMiIC8+CisgICAgPFZhcmlhYmxlIE5hbWU9IkluY2x1ZGVfZGVidWciIFZhbHVlPSIwIiBQZXJzaXN0ZWQ9InllcyIgYmFsOk92ZXJyaWRhYmxlPSJ5ZXMiIC8+CisgICAgCisgICAgPFZhcmlhYmxlIE5hbWU9IkFzc29jaWF0ZUZpbGVzIiBWYWx1ZT0iMSIgUGVyc2lzdGVkPSJ5ZXMiIGJhbDpPdmVycmlkYWJsZT0ieWVzIiAvPgorICAgIDxWYXJpYWJsZSBOYW1lPSJQcmVwZW5kUGF0aCIgVmFsdWU9IjAiIFBlcnNpc3RlZD0ieWVzIiBiYWw6T3ZlcnJpZGFibGU9InllcyIgLz4KKyAgICA8VmFyaWFibGUgTmFtZT0iQ29tcGlsZUFsbCIgVmFsdWU9IjAiIFBlcnNpc3RlZD0ieWVzIiBiYWw6T3ZlcnJpZGFibGU9InllcyIgLz4KKyAgICAKKyAgICA8VmFyaWFibGUgTmFtZT0iU2ltcGxlSW5zdGFsbCIgVmFsdWU9IjAiIGJhbDpPdmVycmlkYWJsZT0ieWVzIiAvPgorICAgIAorICAgIDxDaGFpbiBQYXJhbGxlbENhY2hlPSJ5ZXMiPgorICAgICAgPFBhY2thZ2VHcm91cFJlZiBJZD0iY3J0IiAvPgorICAgICAgPFBhY2thZ2VHcm91cFJlZiBJZD0iY29yZSIgLz4KKyAgICAgIDxQYWNrYWdlR3JvdXBSZWYgSWQ9ImRldiIgLz4KKyAgICAgIDxQYWNrYWdlR3JvdXBSZWYgSWQ9ImV4ZSIgLz4KKyAgICAgIDxQYWNrYWdlR3JvdXBSZWYgSWQ9ImxpYiIgLz4KKyAgICAgIDxQYWNrYWdlR3JvdXBSZWYgSWQ9InRlc3QiIC8+CisgICAgICA8UGFja2FnZUdyb3VwUmVmIElkPSJkb2MiIC8+CisgICAgICA8UGFja2FnZUdyb3VwUmVmIElkPSJ0b29scyIgLz4KKyAgICAgIDxQYWNrYWdlR3JvdXBSZWYgSWQ9InRjbHRrIiAvPgorICAgICAgPFBhY2thZ2VHcm91cFJlZiBJZD0ibGF1bmNoZXIiIC8+CisgICAgICA8UGFja2FnZUdyb3VwUmVmIElkPSJwb3N0aW5zdGFsbCIgLz4KKyAgICA8L0NoYWluPgorICA8L0J1bmRsZT4KKzwvV2l4PgpkaWZmIC0tZ2l0IGEvVG9vbHMvbXNpL2J1bmRsZS9mdWxsLndpeHByb2ogYi9Ub29scy9tc2kvYnVuZGxlL2Z1bGwud2l4cHJvagpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iZGJkZDhlCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvbXNpL2J1bmRsZS9mdWxsLndpeHByb2oKQEAgLTAsMCArMSwyMSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KKzxQcm9qZWN0IFRvb2xzVmVyc2lvbj0iNC4wIiBEZWZhdWx0VGFyZ2V0cz0iQnVpbGQiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2RldmVsb3Blci9tc2J1aWxkLzIwMDMiPgorICAgIDxQcm9wZXJ0eUdyb3VwPgorICAgICAgICA8UHJvamVjdEd1aWQ+ezNFMjA0QURELTIzOEQtNEQxMC04NTJDLTRGODU5MzI1QzgzOX08L1Byb2plY3RHdWlkPgorICAgICAgICA8T3V0cHV0TmFtZT5weXRob248L091dHB1dE5hbWU+CisgICAgICAgIDxPdXRwdXRTdWZmaXg+ZnVsbDwvT3V0cHV0U3VmZml4PgorICAgIDwvUHJvcGVydHlHcm91cD4KKworICAgIDxJbXBvcnQgUHJvamVjdD0iLi5cbXNpLnByb3BzIiAvPgorCisgICAgPFByb3BlcnR5R3JvdXA+CisgICAgICAgIDxEZWZpbmVDb25zdGFudHM+CisgICAgICAgICAgICAkKERlZmluZUNvbnN0YW50cyk7CisgICAgICAgICAgICBDb21wcmVzc01TST15ZXM7CisgICAgICAgICAgICBDb21wcmVzc1BEQj15ZXM7CisgICAgICAgICAgICBDb21wcmVzc01TSV9EPXllczsKKyAgICAgICAgPC9EZWZpbmVDb25zdGFudHM+CisgICAgPC9Qcm9wZXJ0eUdyb3VwPgorICAgIAorICAgIDxJbXBvcnQgUHJvamVjdD0iYnVuZGxlLnRhcmdldHMiIC8+Cis8L1Byb2plY3Q+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvVG9vbHMvbXNpL2J1bmRsZS9wYWNrYWdlZ3JvdXBzL2NvcmUud3hzIGIvVG9vbHMvbXNpL2J1bmRsZS9wYWNrYWdlZ3JvdXBzL2NvcmUud3hzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjlkZjZiNzkKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9tc2kvYnVuZGxlL3BhY2thZ2Vncm91cHMvY29yZS53eHMKQEAgLTAsMCArMSw1NiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8V2l4IHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3dpeC8yMDA2L3dpIj4KKyAgICA8RnJhZ21lbnQ+CisgICAgICAgIDxQYWNrYWdlR3JvdXAgSWQ9ImNvcmUiPgorICAgICAgICAgICAgPE1zaVBhY2thZ2UgSWQ9ImNvcmVfQWxsVXNlcnMiCisgICAgICAgICAgICAgICAgICAgICAgICBTb3VyY2VGaWxlPSJjb3JlLm1zaSIKKyAgICAgICAgICAgICAgICAgICAgICAgIENvbXByZXNzZWQ9IiQodmFyLkNvbXByZXNzTVNJKSIKKyAgICAgICAgICAgICAgICAgICAgICAgIERvd25sb2FkVXJsPSIkKHZhci5Eb3dubG9hZFVybCkiCisgICAgICAgICAgICAgICAgICAgICAgICBGb3JjZVBlck1hY2hpbmU9InllcyIKKyAgICAgICAgICAgICAgICAgICAgICAgIEluc3RhbGxDb25kaXRpb249Ikluc3RhbGxBbGxVc2VycyBhbmQgKEluY2x1ZGVfY29yZSBvciBJbmNsdWRlX2V4ZSBvciBJbmNsdWRlX2xhdW5jaGVyIG9yIEluY2x1ZGVfcGlwKSI+CisgICAgICAgICAgICAgICAgPE1zaVByb3BlcnR5IE5hbWU9IlRBUkdFVERJUiIgVmFsdWU9IltUYXJnZXREaXJdIiAvPgorICAgICAgICAgICAgPC9Nc2lQYWNrYWdlPgorICAgICAgICAgICAgPE1zaVBhY2thZ2UgSWQ9ImNvcmVfQWxsVXNlcnNfcGRiIgorICAgICAgICAgICAgICAgICAgICAgICAgU291cmNlRmlsZT0iY29yZV9wZGIubXNpIgorICAgICAgICAgICAgICAgICAgICAgICAgQ29tcHJlc3NlZD0iJCh2YXIuQ29tcHJlc3NQREIpIgorICAgICAgICAgICAgICAgICAgICAgICAgRG93bmxvYWRVcmw9IiQodmFyLkRvd25sb2FkVXJsKSIKKyAgICAgICAgICAgICAgICAgICAgICAgIEZvcmNlUGVyTWFjaGluZT0ieWVzIgorICAgICAgICAgICAgICAgICAgICAgICAgSW5zdGFsbENvbmRpdGlvbj0iSW5zdGFsbEFsbFVzZXJzIGFuZCAoSW5jbHVkZV9jb3JlIG9yIEluY2x1ZGVfZXhlIG9yIEluY2x1ZGVfbGF1bmNoZXIgb3IgSW5jbHVkZV9waXApIGFuZCBJbmNsdWRlX3N5bWJvbHMiPgorICAgICAgICAgICAgICAgIDxNc2lQcm9wZXJ0eSBOYW1lPSJUQVJHRVRESVIiIFZhbHVlPSJbVGFyZ2V0RGlyXSIgLz4KKyAgICAgICAgICAgIDwvTXNpUGFja2FnZT4KKyAgICAgICAgICAgIDxNc2lQYWNrYWdlIElkPSJjb3JlX0FsbFVzZXJzX2QiCisgICAgICAgICAgICAgICAgICAgICAgICBTb3VyY2VGaWxlPSJjb3JlX2QubXNpIgorICAgICAgICAgICAgICAgICAgICAgICAgQ29tcHJlc3NlZD0iJCh2YXIuQ29tcHJlc3NNU0lfRCkiCisgICAgICAgICAgICAgICAgICAgICAgICBEb3dubG9hZFVybD0iJCh2YXIuRG93bmxvYWRVcmwpIgorICAgICAgICAgICAgICAgICAgICAgICAgRm9yY2VQZXJNYWNoaW5lPSJ5ZXMiCisgICAgICAgICAgICAgICAgICAgICAgICBJbnN0YWxsQ29uZGl0aW9uPSJJbnN0YWxsQWxsVXNlcnMgYW5kIChJbmNsdWRlX2NvcmUgb3IgSW5jbHVkZV9leGUgb3IgSW5jbHVkZV9sYXVuY2hlciBvciBJbmNsdWRlX3BpcCkgYW5kIEluY2x1ZGVfZGVidWciPgorICAgICAgICAgICAgICAgIDxNc2lQcm9wZXJ0eSBOYW1lPSJUQVJHRVRESVIiIFZhbHVlPSJbVGFyZ2V0RGlyXSIgLz4KKyAgICAgICAgICAgIDwvTXNpUGFja2FnZT4KKworICAgICAgICAgICAgPE1zaVBhY2thZ2UgSWQ9ImNvcmVfSnVzdEZvck1lIgorICAgICAgICAgICAgICAgICAgICAgICAgU291cmNlRmlsZT0iY29yZS5tc2kiCisgICAgICAgICAgICAgICAgICAgICAgICBDb21wcmVzc2VkPSIkKHZhci5Db21wcmVzc01TSSkiCisgICAgICAgICAgICAgICAgICAgICAgICBEb3dubG9hZFVybD0iJCh2YXIuRG93bmxvYWRVcmwpIgorICAgICAgICAgICAgICAgICAgICAgICAgRm9yY2VQZXJNYWNoaW5lPSJubyIKKyAgICAgICAgICAgICAgICAgICAgICAgIEluc3RhbGxDb25kaXRpb249Im5vdCBJbnN0YWxsQWxsVXNlcnMgYW5kIChJbmNsdWRlX2NvcmUgb3IgSW5jbHVkZV9leGUgb3IgSW5jbHVkZV9sYXVuY2hlciBvciBJbmNsdWRlX3BpcCkiPgorICAgICAgICAgICAgICAgIDxNc2lQcm9wZXJ0eSBOYW1lPSJUQVJHRVRESVIiIFZhbHVlPSJbVGFyZ2V0RGlyXSIgLz4KKyAgICAgICAgICAgIDwvTXNpUGFja2FnZT4KKyAgICAgICAgICAgIDxNc2lQYWNrYWdlIElkPSJjb3JlX0p1c3RGb3JNZV9wZGIiCisgICAgICAgICAgICAgICAgICAgICAgICBTb3VyY2VGaWxlPSJjb3JlX3BkYi5tc2kiCisgICAgICAgICAgICAgICAgICAgICAgICBDb21wcmVzc2VkPSIkKHZhci5Db21wcmVzc1BEQikiCisgICAgICAgICAgICAgICAgICAgICAgICBEb3dubG9hZFVybD0iJCh2YXIuRG93bmxvYWRVcmwpIgorICAgICAgICAgICAgICAgICAgICAgICAgRm9yY2VQZXJNYWNoaW5lPSJubyIKKyAgICAgICAgICAgICAgICAgICAgICAgIEluc3RhbGxDb25kaXRpb249Im5vdCBJbnN0YWxsQWxsVXNlcnMgYW5kIChJbmNsdWRlX2NvcmUgb3IgSW5jbHVkZV9leGUgb3IgSW5jbHVkZV9sYXVuY2hlciBvciBJbmNsdWRlX3BpcCkgYW5kIEluY2x1ZGVfc3ltYm9scyI+CisgICAgICAgICAgICAgICAgPE1zaVByb3BlcnR5IE5hbWU9IlRBUkdFVERJUiIgVmFsdWU9IltUYXJnZXREaXJdIiAvPgorICAgICAgICAgICAgPC9Nc2lQYWNrYWdlPgorICAgICAgICAgICAgPE1zaVBhY2thZ2UgSWQ9ImNvcmVfSnVzdEZvck1lX2QiCisgICAgICAgICAgICAgICAgICAgICAgICBTb3VyY2VGaWxlPSJjb3JlX2QubXNpIgorICAgICAgICAgICAgICAgICAgICAgICAgQ29tcHJlc3NlZD0iJCh2YXIuQ29tcHJlc3NNU0lfRCkiCisgICAgICAgICAgICAgICAgICAgICAgICBEb3dubG9hZFVybD0iJCh2YXIuRG93bmxvYWRVcmwpIgorICAgICAgICAgICAgICAgICAgICAgICAgRm9yY2VQZXJNYWNoaW5lPSJubyIKKyAgICAgICAgICAgICAgICAgICAgICAgIEluc3RhbGxDb25kaXRpb249Im5vdCBJbnN0YWxsQWxsVXNlcnMgYW5kIChJbmNsdWRlX2NvcmUgb3IgSW5jbHVkZV9leGUgb3IgSW5jbHVkZV9sYXVuY2hlciBvciBJbmNsdWRlX3BpcCkgYW5kIEluY2x1ZGVfZGVidWciPgorICAgICAgICAgICAgICAgIDxNc2lQcm9wZXJ0eSBOYW1lPSJUQVJHRVRESVIiIFZhbHVlPSJbVGFyZ2V0RGlyXSIgLz4KKyAgICAgICAgICAgIDwvTXNpUGFja2FnZT4KKyAgICAgICAgPC9QYWNrYWdlR3JvdXA+CisgICAgPC9GcmFnbWVudD4KKzwvV2l4PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL1Rvb2xzL21zaS9idW5kbGUvcGFja2FnZWdyb3Vwcy9jcnQud3hzIGIvVG9vbHMvbXNpL2J1bmRsZS9wYWNrYWdlZ3JvdXBzL2NydC53eHMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTE5YjRmOQotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL21zaS9idW5kbGUvcGFja2FnZWdyb3Vwcy9jcnQud3hzCkBAIC0wLDAgKzEsMjUgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPFdpeCB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS93aXgvMjAwNi93aSI+CisgICAgPEZyYWdtZW50PgorICAgICAgICA8UGFja2FnZUdyb3VwIElkPSJjcnQiPgorICAgICAgICAgICAgPE1zaVBhY2thZ2UgSWQ9ImNydF9BbGxVc2VycyIKKyAgICAgICAgICAgICAgICAgICAgICAgIFNvdXJjZUZpbGU9ImNydC5tc2kiCisgICAgICAgICAgICAgICAgICAgICAgICBDb21wcmVzc2VkPSIkKHZhci5Db21wcmVzc01TSSkiCisgICAgICAgICAgICAgICAgICAgICAgICBEb3dubG9hZFVybD0iJCh2YXIuRG93bmxvYWRVcmwpIgorICAgICAgICAgICAgICAgICAgICAgICAgRm9yY2VQZXJNYWNoaW5lPSJ5ZXMiCisgICAgICAgICAgICAgICAgICAgICAgICBJbnN0YWxsQ29uZGl0aW9uPSJJbnN0YWxsQWxsVXNlcnMgYW5kIChJbmNsdWRlX2NvcmUgb3IgSW5jbHVkZV9leGUgb3IgSW5jbHVkZV9sYXVuY2hlciBvciBJbmNsdWRlX3BpcCkiPgorICAgICAgICAgICAgICAgIDwhLS0gVEFSR0VURElSIHdpbGwgYmUgaWdub3JlZCwgYnV0IG11c3Qgc3RpbGwgYmUgcHJvdmlkZWQgLS0+CisgICAgICAgICAgICAgICAgPE1zaVByb3BlcnR5IE5hbWU9IlRBUkdFVERJUiIgVmFsdWU9IltUYXJnZXREaXJdIiAvPgorICAgICAgICAgICAgPC9Nc2lQYWNrYWdlPgorICAgICAgICAgICAgCisgICAgICAgICAgICA8TXNpUGFja2FnZSBJZD0iY3J0X0p1c3RGb3JNZSIKKyAgICAgICAgICAgICAgICAgICAgICAgIFNvdXJjZUZpbGU9ImNydC5tc2kiCisgICAgICAgICAgICAgICAgICAgICAgICBDb21wcmVzc2VkPSIkKHZhci5Db21wcmVzc01TSSkiCisgICAgICAgICAgICAgICAgICAgICAgICBEb3dubG9hZFVybD0iJCh2YXIuRG93bmxvYWRVcmwpIgorICAgICAgICAgICAgICAgICAgICAgICAgRm9yY2VQZXJNYWNoaW5lPSJubyIKKyAgICAgICAgICAgICAgICAgICAgICAgIEluc3RhbGxDb25kaXRpb249Im5vdCBJbnN0YWxsQWxsVXNlcnMgYW5kIChJbmNsdWRlX2NvcmUgb3IgSW5jbHVkZV9leGUgb3IgSW5jbHVkZV9sYXVuY2hlciBvciBJbmNsdWRlX3BpcCkiPgorICAgICAgICAgICAgICAgIDxNc2lQcm9wZXJ0eSBOYW1lPSJUQVJHRVRESVIiIFZhbHVlPSJbVGFyZ2V0RGlyXSIgLz4KKyAgICAgICAgICAgIDwvTXNpUGFja2FnZT4KKyAgICAgICAgPC9QYWNrYWdlR3JvdXA+CisgICAgPC9GcmFnbWVudD4KKzwvV2l4PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL1Rvb2xzL21zaS9idW5kbGUvcGFja2FnZWdyb3Vwcy9kZXYud3hzIGIvVG9vbHMvbXNpL2J1bmRsZS9wYWNrYWdlZ3JvdXBzL2Rldi53eHMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjJlYTI5YgotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL21zaS9idW5kbGUvcGFja2FnZWdyb3Vwcy9kZXYud3hzCkBAIC0wLDAgKzEsNDAgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPFdpeCB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS93aXgvMjAwNi93aSI+CisgICAgPEZyYWdtZW50PgorICAgICAgICA8UGFja2FnZUdyb3VwIElkPSJkZXYiPgorICAgICAgICAgICAgPE1zaVBhY2thZ2UgSWQ9ImRldl9BbGxVc2VycyIKKyAgICAgICAgICAgICAgICAgICAgICAgIFNvdXJjZUZpbGU9ImRldi5tc2kiCisgICAgICAgICAgICAgICAgICAgICAgICBDb21wcmVzc2VkPSIkKHZhci5Db21wcmVzc01TSSkiCisgICAgICAgICAgICAgICAgICAgICAgICBEb3dubG9hZFVybD0iJCh2YXIuRG93bmxvYWRVcmwpIgorICAgICAgICAgICAgICAgICAgICAgICAgRm9yY2VQZXJNYWNoaW5lPSJ5ZXMiCisgICAgICAgICAgICAgICAgICAgICAgICBJbnN0YWxsQ29uZGl0aW9uPSJJbnN0YWxsQWxsVXNlcnMgYW5kIEluY2x1ZGVfZGV2Ij4KKyAgICAgICAgICAgICAgICA8TXNpUHJvcGVydHkgTmFtZT0iVEFSR0VURElSIiBWYWx1ZT0iW1RhcmdldERpcl0iIC8+CisgICAgICAgICAgICA8L01zaVBhY2thZ2U+CisgICAgICAgICAgICA8TXNpUGFja2FnZSBJZD0iZGV2X0FsbFVzZXJzX2QiCisgICAgICAgICAgICAgICAgICAgICAgICBTb3VyY2VGaWxlPSJkZXZfZC5tc2kiCisgICAgICAgICAgICAgICAgICAgICAgICBDb21wcmVzc2VkPSIkKHZhci5Db21wcmVzc01TSV9EKSIKKyAgICAgICAgICAgICAgICAgICAgICAgIERvd25sb2FkVXJsPSIkKHZhci5Eb3dubG9hZFVybCkiCisgICAgICAgICAgICAgICAgICAgICAgICBGb3JjZVBlck1hY2hpbmU9InllcyIKKyAgICAgICAgICAgICAgICAgICAgICAgIEluc3RhbGxDb25kaXRpb249Ikluc3RhbGxBbGxVc2VycyBhbmQgSW5jbHVkZV9kZXYgYW5kIEluY2x1ZGVfZGVidWciPgorICAgICAgICAgICAgICAgIDxNc2lQcm9wZXJ0eSBOYW1lPSJUQVJHRVRESVIiIFZhbHVlPSJbVGFyZ2V0RGlyXSIgLz4KKyAgICAgICAgICAgIDwvTXNpUGFja2FnZT4KKworICAgICAgICAgICAgPE1zaVBhY2thZ2UgSWQ9ImRldl9KdXN0Rm9yTWUiCisgICAgICAgICAgICAgICAgICAgICAgICBTb3VyY2VGaWxlPSJkZXYubXNpIgorICAgICAgICAgICAgICAgICAgICAgICAgQ29tcHJlc3NlZD0iJCh2YXIuQ29tcHJlc3NNU0kpIgorICAgICAgICAgICAgICAgICAgICAgICAgRG93bmxvYWRVcmw9IiQodmFyLkRvd25sb2FkVXJsKSIKKyAgICAgICAgICAgICAgICAgICAgICAgIEZvcmNlUGVyTWFjaGluZT0ibm8iCisgICAgICAgICAgICAgICAgICAgICAgICBJbnN0YWxsQ29uZGl0aW9uPSJub3QgSW5zdGFsbEFsbFVzZXJzIGFuZCBJbmNsdWRlX2RldiI+CisgICAgICAgICAgICAgICAgPE1zaVByb3BlcnR5IE5hbWU9IlRBUkdFVERJUiIgVmFsdWU9IltUYXJnZXREaXJdIiAvPgorICAgICAgICAgICAgPC9Nc2lQYWNrYWdlPgorICAgICAgICAgICAgPE1zaVBhY2thZ2UgSWQ9ImRldl9KdXN0Rm9yTWVfZCIKKyAgICAgICAgICAgICAgICAgICAgICAgIFNvdXJjZUZpbGU9ImRldl9kLm1zaSIKKyAgICAgICAgICAgICAgICAgICAgICAgIENvbXByZXNzZWQ9IiQodmFyLkNvbXByZXNzTVNJX0QpIgorICAgICAgICAgICAgICAgICAgICAgICAgRG93bmxvYWRVcmw9IiQodmFyLkRvd25sb2FkVXJsKSIKKyAgICAgICAgICAgICAgICAgICAgICAgIEZvcmNlUGVyTWFjaGluZT0ibm8iCisgICAgICAgICAgICAgICAgICAgICAgICBJbnN0YWxsQ29uZGl0aW9uPSJub3QgSW5zdGFsbEFsbFVzZXJzIGFuZCBJbmNsdWRlX2RldiBhbmQgSW5jbHVkZV9kZWJ1ZyI+CisgICAgICAgICAgICAgICAgPE1zaVByb3BlcnR5IE5hbWU9IlRBUkdFVERJUiIgVmFsdWU9IltUYXJnZXREaXJdIiAvPgorICAgICAgICAgICAgPC9Nc2lQYWNrYWdlPgorICAgICAgICA8L1BhY2thZ2VHcm91cD4KKyAgICA8L0ZyYWdtZW50PgorPC9XaXg+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvVG9vbHMvbXNpL2J1bmRsZS9wYWNrYWdlZ3JvdXBzL2RvYy53eHMgYi9Ub29scy9tc2kvYnVuZGxlL3BhY2thZ2Vncm91cHMvZG9jLnd4cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNGI5ZmYxCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvbXNpL2J1bmRsZS9wYWNrYWdlZ3JvdXBzL2RvYy53eHMKQEAgLTAsMCArMSwyNCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8V2l4IHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3dpeC8yMDA2L3dpIj4KKyAgICA8RnJhZ21lbnQ+CisgICAgICAgIDxQYWNrYWdlR3JvdXAgSWQ9ImRvYyI+CisgICAgICAgICAgICA8TXNpUGFja2FnZSBJZD0iZG9jX0FsbFVzZXJzIgorICAgICAgICAgICAgICAgICAgICAgICAgU291cmNlRmlsZT0iZG9jLm1zaSIKKyAgICAgICAgICAgICAgICAgICAgICAgIENvbXByZXNzZWQ9IiQodmFyLkNvbXByZXNzTVNJKSIKKyAgICAgICAgICAgICAgICAgICAgICAgIERvd25sb2FkVXJsPSIkKHZhci5Eb3dubG9hZFVybCkiCisgICAgICAgICAgICAgICAgICAgICAgICBGb3JjZVBlck1hY2hpbmU9InllcyIKKyAgICAgICAgICAgICAgICAgICAgICAgIEluc3RhbGxDb25kaXRpb249Ikluc3RhbGxBbGxVc2VycyBhbmQgSW5jbHVkZV9kb2MiPgorICAgICAgICAgICAgICAgIDxNc2lQcm9wZXJ0eSBOYW1lPSJUQVJHRVRESVIiIFZhbHVlPSJbVGFyZ2V0RGlyXSIgLz4KKyAgICAgICAgICAgIDwvTXNpUGFja2FnZT4KKyAgICAgICAgICAgIAorICAgICAgICAgICAgPE1zaVBhY2thZ2UgSWQ9ImRvY19KdXN0Rm9yTWUiCisgICAgICAgICAgICAgICAgICAgICAgICBTb3VyY2VGaWxlPSJkb2MubXNpIgorICAgICAgICAgICAgICAgICAgICAgICAgQ29tcHJlc3NlZD0iJCh2YXIuQ29tcHJlc3NNU0kpIgorICAgICAgICAgICAgICAgICAgICAgICAgRG93bmxvYWRVcmw9IiQodmFyLkRvd25sb2FkVXJsKSIKKyAgICAgICAgICAgICAgICAgICAgICAgIEZvcmNlUGVyTWFjaGluZT0ibm8iCisgICAgICAgICAgICAgICAgICAgICAgICBJbnN0YWxsQ29uZGl0aW9uPSJub3QgSW5zdGFsbEFsbFVzZXJzIGFuZCBJbmNsdWRlX2RvYyI+CisgICAgICAgICAgICAgICAgPE1zaVByb3BlcnR5IE5hbWU9IlRBUkdFVERJUiIgVmFsdWU9IltUYXJnZXREaXJdIiAvPgorICAgICAgICAgICAgPC9Nc2lQYWNrYWdlPgorICAgICAgICA8L1BhY2thZ2VHcm91cD4KKyAgICA8L0ZyYWdtZW50PgorPC9XaXg+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvVG9vbHMvbXNpL2J1bmRsZS9wYWNrYWdlZ3JvdXBzL2V4ZS53eHMgYi9Ub29scy9tc2kvYnVuZGxlL3BhY2thZ2Vncm91cHMvZXhlLnd4cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNDZiOTBlCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvbXNpL2J1bmRsZS9wYWNrYWdlZ3JvdXBzL2V4ZS53eHMKQEAgLTAsMCArMSw1NiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8V2l4IHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3dpeC8yMDA2L3dpIj4KKyAgICA8RnJhZ21lbnQ+CisgICAgICAgIDxQYWNrYWdlR3JvdXAgSWQ9ImV4ZSI+CisgICAgICAgICAgICA8TXNpUGFja2FnZSBJZD0iZXhlX0FsbFVzZXJzIgorICAgICAgICAgICAgICAgICAgICAgICAgU291cmNlRmlsZT0iZXhlLm1zaSIKKyAgICAgICAgICAgICAgICAgICAgICAgIEZvcmNlUGVyTWFjaGluZT0ieWVzIgorICAgICAgICAgICAgICAgICAgICAgICAgQ29tcHJlc3NlZD0iJCh2YXIuQ29tcHJlc3NNU0kpIgorICAgICAgICAgICAgICAgICAgICAgICAgRG93bmxvYWRVcmw9IiQodmFyLkRvd25sb2FkVXJsKSIKKyAgICAgICAgICAgICAgICAgICAgICAgIEluc3RhbGxDb25kaXRpb249Ikluc3RhbGxBbGxVc2VycyBhbmQgKEluY2x1ZGVfZXhlIG9yIEluY2x1ZGVfbGF1bmNoZXIgb3IgSW5jbHVkZV9waXApIj4KKyAgICAgICAgICAgICAgICA8TXNpUHJvcGVydHkgTmFtZT0iVEFSR0VURElSIiBWYWx1ZT0iW1RhcmdldERpcl0iIC8+CisgICAgICAgICAgICA8L01zaVBhY2thZ2U+CisgICAgICAgICAgICA8TXNpUGFja2FnZSBJZD0iZXhlX0FsbFVzZXJzX3BkYiIKKyAgICAgICAgICAgICAgICAgICAgICAgIFNvdXJjZUZpbGU9ImV4ZV9wZGIubXNpIgorICAgICAgICAgICAgICAgICAgICAgICAgRm9yY2VQZXJNYWNoaW5lPSJ5ZXMiCisgICAgICAgICAgICAgICAgICAgICAgICBDb21wcmVzc2VkPSIkKHZhci5Db21wcmVzc1BEQikiCisgICAgICAgICAgICAgICAgICAgICAgICBEb3dubG9hZFVybD0iJCh2YXIuRG93bmxvYWRVcmwpIgorICAgICAgICAgICAgICAgICAgICAgICAgSW5zdGFsbENvbmRpdGlvbj0iSW5zdGFsbEFsbFVzZXJzIGFuZCAoSW5jbHVkZV9leGUgb3IgSW5jbHVkZV9sYXVuY2hlciBvciBJbmNsdWRlX3BpcCkgYW5kIEluY2x1ZGVfc3ltYm9scyI+CisgICAgICAgICAgICAgICAgPE1zaVByb3BlcnR5IE5hbWU9IlRBUkdFVERJUiIgVmFsdWU9IltUYXJnZXREaXJdIiAvPgorICAgICAgICAgICAgPC9Nc2lQYWNrYWdlPgorICAgICAgICAgICAgPE1zaVBhY2thZ2UgSWQ9ImV4ZV9BbGxVc2Vyc19kIgorICAgICAgICAgICAgICAgICAgICAgICAgU291cmNlRmlsZT0iZXhlX2QubXNpIgorICAgICAgICAgICAgICAgICAgICAgICAgRm9yY2VQZXJNYWNoaW5lPSJ5ZXMiCisgICAgICAgICAgICAgICAgICAgICAgICBDb21wcmVzc2VkPSIkKHZhci5Db21wcmVzc01TSV9EKSIKKyAgICAgICAgICAgICAgICAgICAgICAgIERvd25sb2FkVXJsPSIkKHZhci5Eb3dubG9hZFVybCkiCisgICAgICAgICAgICAgICAgICAgICAgICBJbnN0YWxsQ29uZGl0aW9uPSJJbnN0YWxsQWxsVXNlcnMgYW5kIChJbmNsdWRlX2V4ZSBvciBJbmNsdWRlX2xhdW5jaGVyIG9yIEluY2x1ZGVfcGlwKSBhbmQgSW5jbHVkZV9kZWJ1ZyI+CisgICAgICAgICAgICAgICAgPE1zaVByb3BlcnR5IE5hbWU9IlRBUkdFVERJUiIgVmFsdWU9IltUYXJnZXREaXJdIiAvPgorICAgICAgICAgICAgPC9Nc2lQYWNrYWdlPgorICAgICAgICAgICAgCisgICAgICAgICAgICA8TXNpUGFja2FnZSBJZD0iZXhlX0p1c3RGb3JNZSIKKyAgICAgICAgICAgICAgICAgICAgICAgIFNvdXJjZUZpbGU9ImV4ZS5tc2kiCisgICAgICAgICAgICAgICAgICAgICAgICBGb3JjZVBlck1hY2hpbmU9Im5vIgorICAgICAgICAgICAgICAgICAgICAgICAgQ29tcHJlc3NlZD0iJCh2YXIuQ29tcHJlc3NNU0kpIgorICAgICAgICAgICAgICAgICAgICAgICAgRG93bmxvYWRVcmw9IiQodmFyLkRvd25sb2FkVXJsKSIKKyAgICAgICAgICAgICAgICAgICAgICAgIEluc3RhbGxDb25kaXRpb249Im5vdCBJbnN0YWxsQWxsVXNlcnMgYW5kIChJbmNsdWRlX2V4ZSBvciBJbmNsdWRlX2xhdW5jaGVyIG9yIEluY2x1ZGVfcGlwKSI+CisgICAgICAgICAgICAgICAgPE1zaVByb3BlcnR5IE5hbWU9IlRBUkdFVERJUiIgVmFsdWU9IltUYXJnZXREaXJdIiAvPgorICAgICAgICAgICAgPC9Nc2lQYWNrYWdlPgorICAgICAgICAgICAgPE1zaVBhY2thZ2UgSWQ9ImV4ZV9KdXN0Rm9yTWVfcGRiIgorICAgICAgICAgICAgICAgICAgICAgICAgU291cmNlRmlsZT0iZXhlX3BkYi5tc2kiCisgICAgICAgICAgICAgICAgICAgICAgICBGb3JjZVBlck1hY2hpbmU9Im5vIgorICAgICAgICAgICAgICAgICAgICAgICAgQ29tcHJlc3NlZD0iJCh2YXIuQ29tcHJlc3NQREIpIgorICAgICAgICAgICAgICAgICAgICAgICAgRG93bmxvYWRVcmw9IiQodmFyLkRvd25sb2FkVXJsKSIKKyAgICAgICAgICAgICAgICAgICAgICAgIEluc3RhbGxDb25kaXRpb249Im5vdCBJbnN0YWxsQWxsVXNlcnMgYW5kIChJbmNsdWRlX2V4ZSBvciBJbmNsdWRlX2xhdW5jaGVyIG9yIEluY2x1ZGVfcGlwKSBhbmQgSW5jbHVkZV9zeW1ib2xzIj4KKyAgICAgICAgICAgICAgICA8TXNpUHJvcGVydHkgTmFtZT0iVEFSR0VURElSIiBWYWx1ZT0iW1RhcmdldERpcl0iIC8+CisgICAgICAgICAgICA8L01zaVBhY2thZ2U+CisgICAgICAgICAgICA8TXNpUGFja2FnZSBJZD0iZXhlX0p1c3RGb3JNZV9kIgorICAgICAgICAgICAgICAgICAgICAgICAgU291cmNlRmlsZT0iZXhlX2QubXNpIgorICAgICAgICAgICAgICAgICAgICAgICAgRm9yY2VQZXJNYWNoaW5lPSJubyIKKyAgICAgICAgICAgICAgICAgICAgICAgIENvbXByZXNzZWQ9IiQodmFyLkNvbXByZXNzTVNJX0QpIgorICAgICAgICAgICAgICAgICAgICAgICAgRG93bmxvYWRVcmw9IiQodmFyLkRvd25sb2FkVXJsKSIKKyAgICAgICAgICAgICAgICAgICAgICAgIEluc3RhbGxDb25kaXRpb249Im5vdCBJbnN0YWxsQWxsVXNlcnMgYW5kIChJbmNsdWRlX2V4ZSBvciBJbmNsdWRlX2xhdW5jaGVyIG9yIEluY2x1ZGVfcGlwKSBhbmQgSW5jbHVkZV9kZWJ1ZyI+CisgICAgICAgICAgICAgICAgPE1zaVByb3BlcnR5IE5hbWU9IlRBUkdFVERJUiIgVmFsdWU9IltUYXJnZXREaXJdIiAvPgorICAgICAgICAgICAgPC9Nc2lQYWNrYWdlPgorICAgICAgICA8L1BhY2thZ2VHcm91cD4KKyAgICA8L0ZyYWdtZW50PgorPC9XaXg+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvVG9vbHMvbXNpL2J1bmRsZS9wYWNrYWdlZ3JvdXBzL2xhdW5jaGVyLnd4cyBiL1Rvb2xzL21zaS9idW5kbGUvcGFja2FnZWdyb3Vwcy9sYXVuY2hlci53eHMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDA5MTc1ZgotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL21zaS9idW5kbGUvcGFja2FnZWdyb3Vwcy9sYXVuY2hlci53eHMKQEAgLTAsMCArMSwyMyBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8V2l4IHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3dpeC8yMDA2L3dpIj4KKyAgICA8RnJhZ21lbnQ+CisgICAgICAgIDxQYWNrYWdlR3JvdXAgSWQ9ImxhdW5jaGVyIj4KKyAgICAgICAgICAgIDwhLS0gVGhlIEFsbCBVc2VycyBsYXVuY2hlciBpcyBhbHdheXMgdGhlIDMyLWJpdCB2ZXJzaW9uIC0tPgorICAgICAgICAgICAgPE1zaVBhY2thZ2UgSWQ9ImxhdW5jaGVyX0FsbFVzZXJzIgorICAgICAgICAgICAgICAgICAgICAgICAgU291cmNlRmlsZT0ibGF1bmNoZXIubXNpIgorICAgICAgICAgICAgICAgICAgICAgICAgQ29tcHJlc3NlZD0iJCh2YXIuQ29tcHJlc3NNU0kpIgorICAgICAgICAgICAgICAgICAgICAgICAgRG93bmxvYWRVcmw9IiQodmFyLkRvd25sb2FkVXJsKSIKKyAgICAgICAgICAgICAgICAgICAgICAgIEZvcmNlUGVyTWFjaGluZT0ieWVzIgorICAgICAgICAgICAgICAgICAgICAgICAgRW5hYmxlRmVhdHVyZVNlbGVjdGlvbj0ieWVzIgorICAgICAgICAgICAgICAgICAgICAgICAgSW5zdGFsbENvbmRpdGlvbj0iSW5zdGFsbEFsbFVzZXJzIGFuZCBJbmNsdWRlX2xhdW5jaGVyIiAvPgorCisgICAgICAgICAgICA8TXNpUGFja2FnZSBJZD0ibGF1bmNoZXJfSnVzdEZvck1lIgorICAgICAgICAgICAgICAgICAgICAgICAgU291cmNlRmlsZT0ibGF1bmNoZXIubXNpIgorICAgICAgICAgICAgICAgICAgICAgICAgQ29tcHJlc3NlZD0iJCh2YXIuQ29tcHJlc3NNU0kpIgorICAgICAgICAgICAgICAgICAgICAgICAgRG93bmxvYWRVcmw9IiQodmFyLkRvd25sb2FkVXJsKSIKKyAgICAgICAgICAgICAgICAgICAgICAgIEZvcmNlUGVyTWFjaGluZT0ibm8iCisgICAgICAgICAgICAgICAgICAgICAgICBFbmFibGVGZWF0dXJlU2VsZWN0aW9uPSJ5ZXMiCisgICAgICAgICAgICAgICAgICAgICAgICBJbnN0YWxsQ29uZGl0aW9uPSJub3QgSW5zdGFsbEFsbFVzZXJzIGFuZCBJbmNsdWRlX2xhdW5jaGVyIiAvPgorICAgICAgICA8L1BhY2thZ2VHcm91cD4KKyAgICA8L0ZyYWdtZW50PgorPC9XaXg+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvVG9vbHMvbXNpL2J1bmRsZS9wYWNrYWdlZ3JvdXBzL2xpYi53eHMgYi9Ub29scy9tc2kvYnVuZGxlL3BhY2thZ2Vncm91cHMvbGliLnd4cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40N2E5N2YxCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvbXNpL2J1bmRsZS9wYWNrYWdlZ3JvdXBzL2xpYi53eHMKQEAgLTAsMCArMSw1NiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8V2l4IHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3dpeC8yMDA2L3dpIj4KKyAgICA8RnJhZ21lbnQ+CisgICAgICAgIDxQYWNrYWdlR3JvdXAgSWQ9ImxpYiI+CisgICAgICAgICAgICA8TXNpUGFja2FnZSBJZD0ibGliX0FsbFVzZXJzIgorICAgICAgICAgICAgICAgICAgICAgICAgU291cmNlRmlsZT0ibGliLm1zaSIKKyAgICAgICAgICAgICAgICAgICAgICAgIENvbXByZXNzZWQ9IiQodmFyLkNvbXByZXNzTVNJKSIKKyAgICAgICAgICAgICAgICAgICAgICAgIERvd25sb2FkVXJsPSIkKHZhci5Eb3dubG9hZFVybCkiCisgICAgICAgICAgICAgICAgICAgICAgICBGb3JjZVBlck1hY2hpbmU9InllcyIKKyAgICAgICAgICAgICAgICAgICAgICAgIEluc3RhbGxDb25kaXRpb249Ikluc3RhbGxBbGxVc2VycyBhbmQgSW5jbHVkZV9saWIiPgorICAgICAgICAgICAgICAgIDxNc2lQcm9wZXJ0eSBOYW1lPSJUQVJHRVRESVIiIFZhbHVlPSJbVGFyZ2V0RGlyXSIgLz4KKyAgICAgICAgICAgIDwvTXNpUGFja2FnZT4KKyAgICAgICAgICAgIDxNc2lQYWNrYWdlIElkPSJsaWJfQWxsVXNlcnNfcGRiIgorICAgICAgICAgICAgICAgICAgICAgICAgU291cmNlRmlsZT0ibGliX3BkYi5tc2kiCisgICAgICAgICAgICAgICAgICAgICAgICBDb21wcmVzc2VkPSIkKHZhci5Db21wcmVzc1BEQikiCisgICAgICAgICAgICAgICAgICAgICAgICBEb3dubG9hZFVybD0iJCh2YXIuRG93bmxvYWRVcmwpIgorICAgICAgICAgICAgICAgICAgICAgICAgRm9yY2VQZXJNYWNoaW5lPSJ5ZXMiCisgICAgICAgICAgICAgICAgICAgICAgICBJbnN0YWxsQ29uZGl0aW9uPSJJbnN0YWxsQWxsVXNlcnMgYW5kIEluY2x1ZGVfbGliIGFuZCBJbmNsdWRlX3N5bWJvbHMiPgorICAgICAgICAgICAgICAgIDxNc2lQcm9wZXJ0eSBOYW1lPSJUQVJHRVRESVIiIFZhbHVlPSJbVGFyZ2V0RGlyXSIgLz4KKyAgICAgICAgICAgIDwvTXNpUGFja2FnZT4KKyAgICAgICAgICAgIDxNc2lQYWNrYWdlIElkPSJsaWJfQWxsVXNlcnNfZCIKKyAgICAgICAgICAgICAgICAgICAgICAgIFNvdXJjZUZpbGU9ImxpYl9kLm1zaSIKKyAgICAgICAgICAgICAgICAgICAgICAgIENvbXByZXNzZWQ9IiQodmFyLkNvbXByZXNzTVNJX0QpIgorICAgICAgICAgICAgICAgICAgICAgICAgRG93bmxvYWRVcmw9IiQodmFyLkRvd25sb2FkVXJsKSIKKyAgICAgICAgICAgICAgICAgICAgICAgIEZvcmNlUGVyTWFjaGluZT0ieWVzIgorICAgICAgICAgICAgICAgICAgICAgICAgSW5zdGFsbENvbmRpdGlvbj0iSW5zdGFsbEFsbFVzZXJzIGFuZCBJbmNsdWRlX2xpYiBhbmQgSW5jbHVkZV9kZWJ1ZyI+CisgICAgICAgICAgICAgICAgPE1zaVByb3BlcnR5IE5hbWU9IlRBUkdFVERJUiIgVmFsdWU9IltUYXJnZXREaXJdIiAvPgorICAgICAgICAgICAgPC9Nc2lQYWNrYWdlPgorCisgICAgICAgICAgICA8TXNpUGFja2FnZSBJZD0ibGliX0p1c3RGb3JNZSIKKyAgICAgICAgICAgICAgICAgICAgICAgIFNvdXJjZUZpbGU9ImxpYi5tc2kiCisgICAgICAgICAgICAgICAgICAgICAgICBDb21wcmVzc2VkPSIkKHZhci5Db21wcmVzc01TSSkiCisgICAgICAgICAgICAgICAgICAgICAgICBEb3dubG9hZFVybD0iJCh2YXIuRG93bmxvYWRVcmwpIgorICAgICAgICAgICAgICAgICAgICAgICAgRm9yY2VQZXJNYWNoaW5lPSJubyIKKyAgICAgICAgICAgICAgICAgICAgICAgIEluc3RhbGxDb25kaXRpb249Im5vdCBJbnN0YWxsQWxsVXNlcnMgYW5kIEluY2x1ZGVfbGliIj4KKyAgICAgICAgICAgICAgICA8TXNpUHJvcGVydHkgTmFtZT0iVEFSR0VURElSIiBWYWx1ZT0iW1RhcmdldERpcl0iIC8+CisgICAgICAgICAgICA8L01zaVBhY2thZ2U+CisgICAgICAgICAgICA8TXNpUGFja2FnZSBJZD0ibGliX0p1c3RGb3JNZV9wZGIiCisgICAgICAgICAgICAgICAgICAgICAgICBTb3VyY2VGaWxlPSJsaWJfcGRiLm1zaSIKKyAgICAgICAgICAgICAgICAgICAgICAgIENvbXByZXNzZWQ9IiQodmFyLkNvbXByZXNzUERCKSIKKyAgICAgICAgICAgICAgICAgICAgICAgIERvd25sb2FkVXJsPSIkKHZhci5Eb3dubG9hZFVybCkiCisgICAgICAgICAgICAgICAgICAgICAgICBGb3JjZVBlck1hY2hpbmU9Im5vIgorICAgICAgICAgICAgICAgICAgICAgICAgSW5zdGFsbENvbmRpdGlvbj0ibm90IEluc3RhbGxBbGxVc2VycyBhbmQgSW5jbHVkZV9saWIgYW5kIEluY2x1ZGVfc3ltYm9scyI+CisgICAgICAgICAgICAgICAgPE1zaVByb3BlcnR5IE5hbWU9IlRBUkdFVERJUiIgVmFsdWU9IltUYXJnZXREaXJdIiAvPgorICAgICAgICAgICAgPC9Nc2lQYWNrYWdlPgorICAgICAgICAgICAgPE1zaVBhY2thZ2UgSWQ9ImxpYl9KdXN0Rm9yTWVfZCIKKyAgICAgICAgICAgICAgICAgICAgICAgIFNvdXJjZUZpbGU9ImxpYl9kLm1zaSIKKyAgICAgICAgICAgICAgICAgICAgICAgIENvbXByZXNzZWQ9IiQodmFyLkNvbXByZXNzTVNJX0QpIgorICAgICAgICAgICAgICAgICAgICAgICAgRG93bmxvYWRVcmw9IiQodmFyLkRvd25sb2FkVXJsKSIKKyAgICAgICAgICAgICAgICAgICAgICAgIEZvcmNlUGVyTWFjaGluZT0ibm8iCisgICAgICAgICAgICAgICAgICAgICAgICBJbnN0YWxsQ29uZGl0aW9uPSJub3QgSW5zdGFsbEFsbFVzZXJzIGFuZCBJbmNsdWRlX2xpYiBhbmQgSW5jbHVkZV9kZWJ1ZyI+CisgICAgICAgICAgICAgICAgPE1zaVByb3BlcnR5IE5hbWU9IlRBUkdFVERJUiIgVmFsdWU9IltUYXJnZXREaXJdIiAvPgorICAgICAgICAgICAgPC9Nc2lQYWNrYWdlPgorICAgICAgICA8L1BhY2thZ2VHcm91cD4KKyAgICA8L0ZyYWdtZW50PgorPC9XaXg+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvVG9vbHMvbXNpL2J1bmRsZS9wYWNrYWdlZ3JvdXBzL3Bvc3RpbnN0YWxsLnd4cyBiL1Rvb2xzL21zaS9idW5kbGUvcGFja2FnZWdyb3Vwcy9wb3N0aW5zdGFsbC53eHMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjIwY2M1MAotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL21zaS9idW5kbGUvcGFja2FnZWdyb3Vwcy9wb3N0aW5zdGFsbC53eHMKQEAgLTAsMCArMSw2MiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8V2l4IHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3dpeC8yMDA2L3dpIj4KKyAgICA8RnJhZ21lbnQ+CisgICAgICAgIDxQYWNrYWdlR3JvdXAgSWQ9InBvc3RpbnN0YWxsIj4KKyAgICAgICAgICAgIDxNc2lQYWNrYWdlIElkPSJwaXBfQWxsVXNlcnMiCisgICAgICAgICAgICAgICAgICAgICAgICBTb3VyY2VGaWxlPSJwaXAubXNpIgorICAgICAgICAgICAgICAgICAgICAgICAgQ29tcHJlc3NlZD0iJCh2YXIuQ29tcHJlc3NNU0kpIgorICAgICAgICAgICAgICAgICAgICAgICAgRG93bmxvYWRVcmw9IiQodmFyLkRvd25sb2FkVXJsKSIKKyAgICAgICAgICAgICAgICAgICAgICAgIEZvcmNlUGVyTWFjaGluZT0ieWVzIgorICAgICAgICAgICAgICAgICAgICAgICAgSW5zdGFsbENvbmRpdGlvbj0iSW5zdGFsbEFsbFVzZXJzIGFuZCBJbmNsdWRlX3BpcCI+CisgICAgICAgICAgICAgICAgPE1zaVByb3BlcnR5IE5hbWU9IlRBUkdFVERJUiIgVmFsdWU9IltUYXJnZXREaXJdIiAvPgorICAgICAgICAgICAgPC9Nc2lQYWNrYWdlPgorICAgICAgICAgICAgPE1zaVBhY2thZ2UgSWQ9InBpcF9KdXN0Rm9yTWUiCisgICAgICAgICAgICAgICAgICAgICAgICBTb3VyY2VGaWxlPSJwaXAubXNpIgorICAgICAgICAgICAgICAgICAgICAgICAgQ29tcHJlc3NlZD0iJCh2YXIuQ29tcHJlc3NNU0kpIgorICAgICAgICAgICAgICAgICAgICAgICAgRG93bmxvYWRVcmw9IiQodmFyLkRvd25sb2FkVXJsKSIKKyAgICAgICAgICAgICAgICAgICAgICAgIEZvcmNlUGVyTWFjaGluZT0ibm8iCisgICAgICAgICAgICAgICAgICAgICAgICBJbnN0YWxsQ29uZGl0aW9uPSJub3QgSW5zdGFsbEFsbFVzZXJzIGFuZCBJbmNsdWRlX3BpcCI+CisgICAgICAgICAgICAgICAgPE1zaVByb3BlcnR5IE5hbWU9IlRBUkdFVERJUiIgVmFsdWU9IltUYXJnZXREaXJdIiAvPgorICAgICAgICAgICAgPC9Nc2lQYWNrYWdlPgorICAgICAgICAgICAgCisgICAgICAgICAgICA8TXNpUGFja2FnZSBJZD0icGF0aF9BbGxVc2VycyIKKyAgICAgICAgICAgICAgICAgICAgICAgIFNvdXJjZUZpbGU9InBhdGgubXNpIgorICAgICAgICAgICAgICAgICAgICAgICAgQ29tcHJlc3NlZD0iJCh2YXIuQ29tcHJlc3NNU0kpIgorICAgICAgICAgICAgICAgICAgICAgICAgRG93bmxvYWRVcmw9IiQodmFyLkRvd25sb2FkVXJsKSIKKyAgICAgICAgICAgICAgICAgICAgICAgIEZvcmNlUGVyTWFjaGluZT0ieWVzIgorICAgICAgICAgICAgICAgICAgICAgICAgSW5zdGFsbENvbmRpdGlvbj0iSW5zdGFsbEFsbFVzZXJzIGFuZCBQcmVwZW5kUGF0aCI+CisgICAgICAgICAgICAgICAgPE1zaVByb3BlcnR5IE5hbWU9IlRBUkdFVERJUiIgVmFsdWU9IltUYXJnZXREaXJdIiAvPgorICAgICAgICAgICAgPC9Nc2lQYWNrYWdlPgorICAgICAgICAgICAgPE1zaVBhY2thZ2UgSWQ9InBhdGhfSnVzdEZvck1lIgorICAgICAgICAgICAgICAgICAgICAgICAgU291cmNlRmlsZT0icGF0aC5tc2kiCisgICAgICAgICAgICAgICAgICAgICAgICBDb21wcmVzc2VkPSIkKHZhci5Db21wcmVzc01TSSkiCisgICAgICAgICAgICAgICAgICAgICAgICBEb3dubG9hZFVybD0iJCh2YXIuRG93bmxvYWRVcmwpIgorICAgICAgICAgICAgICAgICAgICAgICAgRm9yY2VQZXJNYWNoaW5lPSJubyIKKyAgICAgICAgICAgICAgICAgICAgICAgIEluc3RhbGxDb25kaXRpb249Im5vdCBJbnN0YWxsQWxsVXNlcnMgYW5kIFByZXBlbmRQYXRoIj4KKyAgICAgICAgICAgICAgICA8TXNpUHJvcGVydHkgTmFtZT0iVEFSR0VURElSIiBWYWx1ZT0iW1RhcmdldERpcl0iIC8+CisgICAgICAgICAgICA8L01zaVBhY2thZ2U+CisgICAgICAgICAgICAKKyAgICAgICAgICAgIDw/ZGVmaW5lIENvbXBpbGVBbGxDb21tYW5kPS0kKHZhci5TaG9ydFZlcnNpb24pJCh2YXIuU3VmZml4MzIpIC1XaSAiW1RhcmdldERpcl1cTGliXGNvbXBpbGVhbGwucHkiIC1mIC14ICJiYWRfY29kaW5nfGJhZHN5bnRheHxzaXRlLXBhY2thZ2VzfHB5Ml98bGliMnRvM1xcdGVzdHN8dmVudlxcc2NyaXB0cyIgIltUYXJnZXREaXJdXExpYiI/PgorICAgICAgICAgICAgPEV4ZVBhY2thZ2UgSWQ9ImNvbXBpbGVhbGxfQWxsVXNlcnMiCisgICAgICAgICAgICAgICAgICAgICAgICBTb3VyY2VGaWxlPSJweS5leGUiCisgICAgICAgICAgICAgICAgICAgICAgICBDb21wcmVzc2VkPSJ5ZXMiCisgICAgICAgICAgICAgICAgICAgICAgICBEaXNwbGF5TmFtZT0iIShsb2MuQ29tcGlsZUFsbERlc2NyaXB0aW9uKSIKKyAgICAgICAgICAgICAgICAgICAgICAgIEluc3RhbGxDb21tYW5kPSckKHZhci5Db21waWxlQWxsQ29tbWFuZCknCisgICAgICAgICAgICAgICAgICAgICAgICBSZXBhaXJDb21tYW5kPSckKHZhci5Db21waWxlQWxsQ29tbWFuZCknCisgICAgICAgICAgICAgICAgICAgICAgICBQZXJtYW5lbnQ9InllcyIKKyAgICAgICAgICAgICAgICAgICAgICAgIFBlck1hY2hpbmU9InllcyIKKyAgICAgICAgICAgICAgICAgICAgICAgIFZpdGFsPSJubyIKKyAgICAgICAgICAgICAgICAgICAgICAgIEluc3RhbGxDb25kaXRpb249Ikluc3RhbGxBbGxVc2VycyBhbmQgQ29tcGlsZUFsbCIgLz4KKyAgICAgICAgICAgIDxFeGVQYWNrYWdlIElkPSJjb21waWxlYWxsX0p1c3RGb3JNZSIKKyAgICAgICAgICAgICAgICAgICAgICAgIFNvdXJjZUZpbGU9InB5LmV4ZSIKKyAgICAgICAgICAgICAgICAgICAgICAgIENvbXByZXNzZWQ9InllcyIKKyAgICAgICAgICAgICAgICAgICAgICAgIERpc3BsYXlOYW1lPSIhKGxvYy5Db21waWxlQWxsRGVzY3JpcHRpb24pIgorICAgICAgICAgICAgICAgICAgICAgICAgSW5zdGFsbENvbW1hbmQ9JyQodmFyLkNvbXBpbGVBbGxDb21tYW5kKScKKyAgICAgICAgICAgICAgICAgICAgICAgIFJlcGFpckNvbW1hbmQ9JyQodmFyLkNvbXBpbGVBbGxDb21tYW5kKScKKyAgICAgICAgICAgICAgICAgICAgICAgIFBlcm1hbmVudD0ieWVzIgorICAgICAgICAgICAgICAgICAgICAgICAgUGVyTWFjaGluZT0ibm8iCisgICAgICAgICAgICAgICAgICAgICAgICBWaXRhbD0ibm8iCisgICAgICAgICAgICAgICAgICAgICAgICBJbnN0YWxsQ29uZGl0aW9uPSJub3QgSW5zdGFsbEFsbFVzZXJzIGFuZCBDb21waWxlQWxsIiAvPgorICAgICAgICA8L1BhY2thZ2VHcm91cD4KKyAgICA8L0ZyYWdtZW50PgorPC9XaXg+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvVG9vbHMvbXNpL2J1bmRsZS9wYWNrYWdlZ3JvdXBzL3RjbHRrLnd4cyBiL1Rvb2xzL21zaS9idW5kbGUvcGFja2FnZWdyb3Vwcy90Y2x0ay53eHMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTBlMzk1OAotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL21zaS9idW5kbGUvcGFja2FnZWdyb3Vwcy90Y2x0ay53eHMKQEAgLTAsMCArMSw2MiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8V2l4IHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3dpeC8yMDA2L3dpIj4KKyAgICA8RnJhZ21lbnQ+CisgICAgICAgIDxQYWNrYWdlR3JvdXAgSWQ9InRjbHRrIj4KKyAgICAgICAgICAgIDxNc2lQYWNrYWdlIElkPSJ0Y2x0a19BbGxVc2VycyIKKyAgICAgICAgICAgICAgICAgICAgICAgIFNvdXJjZUZpbGU9InRjbHRrLm1zaSIKKyAgICAgICAgICAgICAgICAgICAgICAgIENvbXByZXNzZWQ9IiQodmFyLkNvbXByZXNzTVNJKSIKKyAgICAgICAgICAgICAgICAgICAgICAgIERvd25sb2FkVXJsPSIkKHZhci5Eb3dubG9hZFVybCkiCisgICAgICAgICAgICAgICAgICAgICAgICBGb3JjZVBlck1hY2hpbmU9InllcyIKKyAgICAgICAgICAgICAgICAgICAgICAgIEVuYWJsZUZlYXR1cmVTZWxlY3Rpb249InllcyIKKyAgICAgICAgICAgICAgICAgICAgICAgIEluc3RhbGxDb25kaXRpb249Ikluc3RhbGxBbGxVc2VycyBhbmQgSW5jbHVkZV90Y2x0ayI+CisgICAgICAgICAgICAgICAgPE1zaVByb3BlcnR5IE5hbWU9IlRBUkdFVERJUiIgVmFsdWU9IltUYXJnZXREaXJdIiAvPgorICAgICAgICAgICAgPC9Nc2lQYWNrYWdlPgorICAgICAgICAgICAgPE1zaVBhY2thZ2UgSWQ9InRjbHRrX0FsbFVzZXJzX3BkYiIKKyAgICAgICAgICAgICAgICAgICAgICAgIFNvdXJjZUZpbGU9InRjbHRrX3BkYi5tc2kiCisgICAgICAgICAgICAgICAgICAgICAgICBDb21wcmVzc2VkPSIkKHZhci5Db21wcmVzc1BEQikiCisgICAgICAgICAgICAgICAgICAgICAgICBEb3dubG9hZFVybD0iJCh2YXIuRG93bmxvYWRVcmwpIgorICAgICAgICAgICAgICAgICAgICAgICAgRm9yY2VQZXJNYWNoaW5lPSJ5ZXMiCisgICAgICAgICAgICAgICAgICAgICAgICBFbmFibGVGZWF0dXJlU2VsZWN0aW9uPSJ5ZXMiCisgICAgICAgICAgICAgICAgICAgICAgICBJbnN0YWxsQ29uZGl0aW9uPSJJbnN0YWxsQWxsVXNlcnMgYW5kIEluY2x1ZGVfdGNsdGsgYW5kIEluY2x1ZGVfc3ltYm9scyI+CisgICAgICAgICAgICAgICAgPE1zaVByb3BlcnR5IE5hbWU9IlRBUkdFVERJUiIgVmFsdWU9IltUYXJnZXREaXJdIiAvPgorICAgICAgICAgICAgPC9Nc2lQYWNrYWdlPgorICAgICAgICAgICAgPE1zaVBhY2thZ2UgSWQ9InRjbHRrX0FsbFVzZXJzX2QiCisgICAgICAgICAgICAgICAgICAgICAgICBTb3VyY2VGaWxlPSJ0Y2x0a19kLm1zaSIKKyAgICAgICAgICAgICAgICAgICAgICAgIENvbXByZXNzZWQ9IiQodmFyLkNvbXByZXNzTVNJX0QpIgorICAgICAgICAgICAgICAgICAgICAgICAgRG93bmxvYWRVcmw9IiQodmFyLkRvd25sb2FkVXJsKSIKKyAgICAgICAgICAgICAgICAgICAgICAgIEZvcmNlUGVyTWFjaGluZT0ieWVzIgorICAgICAgICAgICAgICAgICAgICAgICAgRW5hYmxlRmVhdHVyZVNlbGVjdGlvbj0ieWVzIgorICAgICAgICAgICAgICAgICAgICAgICAgSW5zdGFsbENvbmRpdGlvbj0iSW5zdGFsbEFsbFVzZXJzIGFuZCBJbmNsdWRlX3RjbHRrIGFuZCBJbmNsdWRlX2RlYnVnIj4KKyAgICAgICAgICAgICAgICA8TXNpUHJvcGVydHkgTmFtZT0iVEFSR0VURElSIiBWYWx1ZT0iW1RhcmdldERpcl0iIC8+CisgICAgICAgICAgICA8L01zaVBhY2thZ2U+CisKKyAgICAgICAgICAgIDxNc2lQYWNrYWdlIElkPSJ0Y2x0a19KdXN0Rm9yTWUiCisgICAgICAgICAgICAgICAgICAgICAgICBTb3VyY2VGaWxlPSJ0Y2x0ay5tc2kiCisgICAgICAgICAgICAgICAgICAgICAgICBDb21wcmVzc2VkPSIkKHZhci5Db21wcmVzc01TSSkiCisgICAgICAgICAgICAgICAgICAgICAgICBEb3dubG9hZFVybD0iJCh2YXIuRG93bmxvYWRVcmwpIgorICAgICAgICAgICAgICAgICAgICAgICAgRm9yY2VQZXJNYWNoaW5lPSJubyIKKyAgICAgICAgICAgICAgICAgICAgICAgIEVuYWJsZUZlYXR1cmVTZWxlY3Rpb249InllcyIKKyAgICAgICAgICAgICAgICAgICAgICAgIEluc3RhbGxDb25kaXRpb249Im5vdCBJbnN0YWxsQWxsVXNlcnMgYW5kIEluY2x1ZGVfdGNsdGsiPgorICAgICAgICAgICAgICAgIDxNc2lQcm9wZXJ0eSBOYW1lPSJUQVJHRVRESVIiIFZhbHVlPSJbVGFyZ2V0RGlyXSIgLz4KKyAgICAgICAgICAgIDwvTXNpUGFja2FnZT4KKyAgICAgICAgICAgIDxNc2lQYWNrYWdlIElkPSJ0Y2x0a19KdXN0Rm9yTWVfcGRiIgorICAgICAgICAgICAgICAgICAgICAgICAgU291cmNlRmlsZT0idGNsdGtfcGRiLm1zaSIKKyAgICAgICAgICAgICAgICAgICAgICAgIENvbXByZXNzZWQ9IiQodmFyLkNvbXByZXNzUERCKSIKKyAgICAgICAgICAgICAgICAgICAgICAgIERvd25sb2FkVXJsPSIkKHZhci5Eb3dubG9hZFVybCkiCisgICAgICAgICAgICAgICAgICAgICAgICBGb3JjZVBlck1hY2hpbmU9Im5vIgorICAgICAgICAgICAgICAgICAgICAgICAgRW5hYmxlRmVhdHVyZVNlbGVjdGlvbj0ieWVzIgorICAgICAgICAgICAgICAgICAgICAgICAgSW5zdGFsbENvbmRpdGlvbj0ibm90IEluc3RhbGxBbGxVc2VycyBhbmQgSW5jbHVkZV90Y2x0ayBhbmQgSW5jbHVkZV9zeW1ib2xzIj4KKyAgICAgICAgICAgICAgICA8TXNpUHJvcGVydHkgTmFtZT0iVEFSR0VURElSIiBWYWx1ZT0iW1RhcmdldERpcl0iIC8+CisgICAgICAgICAgICA8L01zaVBhY2thZ2U+CisgICAgICAgICAgICA8TXNpUGFja2FnZSBJZD0idGNsdGtfSnVzdEZvck1lX2QiCisgICAgICAgICAgICAgICAgICAgICAgICBTb3VyY2VGaWxlPSJ0Y2x0a19kLm1zaSIKKyAgICAgICAgICAgICAgICAgICAgICAgIENvbXByZXNzZWQ9IiQodmFyLkNvbXByZXNzTVNJX0QpIgorICAgICAgICAgICAgICAgICAgICAgICAgRG93bmxvYWRVcmw9IiQodmFyLkRvd25sb2FkVXJsKSIKKyAgICAgICAgICAgICAgICAgICAgICAgIEZvcmNlUGVyTWFjaGluZT0ibm8iCisgICAgICAgICAgICAgICAgICAgICAgICBFbmFibGVGZWF0dXJlU2VsZWN0aW9uPSJ5ZXMiCisgICAgICAgICAgICAgICAgICAgICAgICBJbnN0YWxsQ29uZGl0aW9uPSJub3QgSW5zdGFsbEFsbFVzZXJzIGFuZCBJbmNsdWRlX3RjbHRrIGFuZCBJbmNsdWRlX2RlYnVnIj4KKyAgICAgICAgICAgICAgICA8TXNpUHJvcGVydHkgTmFtZT0iVEFSR0VURElSIiBWYWx1ZT0iW1RhcmdldERpcl0iIC8+CisgICAgICAgICAgICA8L01zaVBhY2thZ2U+CisgICAgICAgIDwvUGFja2FnZUdyb3VwPgorICAgIDwvRnJhZ21lbnQ+Cis8L1dpeD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9Ub29scy9tc2kvYnVuZGxlL3BhY2thZ2Vncm91cHMvdGVzdC53eHMgYi9Ub29scy9tc2kvYnVuZGxlL3BhY2thZ2Vncm91cHMvdGVzdC53eHMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjY0ZThmZgotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL21zaS9idW5kbGUvcGFja2FnZWdyb3Vwcy90ZXN0Lnd4cwpAQCAtMCwwICsxLDU2IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzxXaXggeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vd2l4LzIwMDYvd2kiPgorICAgIDxGcmFnbWVudD4KKyAgICAgICAgPFBhY2thZ2VHcm91cCBJZD0idGVzdCI+CisgICAgICAgICAgICA8TXNpUGFja2FnZSBJZD0idGVzdF9BbGxVc2VycyIKKyAgICAgICAgICAgICAgICAgICAgICAgIFNvdXJjZUZpbGU9InRlc3QubXNpIgorICAgICAgICAgICAgICAgICAgICAgICAgQ29tcHJlc3NlZD0iJCh2YXIuQ29tcHJlc3NNU0kpIgorICAgICAgICAgICAgICAgICAgICAgICAgRG93bmxvYWRVcmw9IiQodmFyLkRvd25sb2FkVXJsKSIKKyAgICAgICAgICAgICAgICAgICAgICAgIEZvcmNlUGVyTWFjaGluZT0ieWVzIgorICAgICAgICAgICAgICAgICAgICAgICAgSW5zdGFsbENvbmRpdGlvbj0iSW5zdGFsbEFsbFVzZXJzIGFuZCBJbmNsdWRlX3Rlc3QiPgorICAgICAgICAgICAgICAgIDxNc2lQcm9wZXJ0eSBOYW1lPSJUQVJHRVRESVIiIFZhbHVlPSJbVGFyZ2V0RGlyXSIgLz4KKyAgICAgICAgICAgIDwvTXNpUGFja2FnZT4KKyAgICAgICAgICAgIDxNc2lQYWNrYWdlIElkPSJ0ZXN0X0FsbFVzZXJzX3BkYiIKKyAgICAgICAgICAgICAgICAgICAgICAgIFNvdXJjZUZpbGU9InRlc3RfcGRiLm1zaSIKKyAgICAgICAgICAgICAgICAgICAgICAgIENvbXByZXNzZWQ9IiQodmFyLkNvbXByZXNzUERCKSIKKyAgICAgICAgICAgICAgICAgICAgICAgIERvd25sb2FkVXJsPSIkKHZhci5Eb3dubG9hZFVybCkiCisgICAgICAgICAgICAgICAgICAgICAgICBGb3JjZVBlck1hY2hpbmU9InllcyIKKyAgICAgICAgICAgICAgICAgICAgICAgIEluc3RhbGxDb25kaXRpb249Ikluc3RhbGxBbGxVc2VycyBhbmQgSW5jbHVkZV90ZXN0IGFuZCBJbmNsdWRlX3N5bWJvbHMiPgorICAgICAgICAgICAgICAgIDxNc2lQcm9wZXJ0eSBOYW1lPSJUQVJHRVRESVIiIFZhbHVlPSJbVGFyZ2V0RGlyXSIgLz4KKyAgICAgICAgICAgIDwvTXNpUGFja2FnZT4KKyAgICAgICAgICAgIDxNc2lQYWNrYWdlIElkPSJ0ZXN0X0FsbFVzZXJzX2QiCisgICAgICAgICAgICAgICAgICAgICAgICBTb3VyY2VGaWxlPSJ0ZXN0X2QubXNpIgorICAgICAgICAgICAgICAgICAgICAgICAgQ29tcHJlc3NlZD0iJCh2YXIuQ29tcHJlc3NNU0lfRCkiCisgICAgICAgICAgICAgICAgICAgICAgICBEb3dubG9hZFVybD0iJCh2YXIuRG93bmxvYWRVcmwpIgorICAgICAgICAgICAgICAgICAgICAgICAgRm9yY2VQZXJNYWNoaW5lPSJ5ZXMiCisgICAgICAgICAgICAgICAgICAgICAgICBJbnN0YWxsQ29uZGl0aW9uPSJJbnN0YWxsQWxsVXNlcnMgYW5kIEluY2x1ZGVfdGVzdCBhbmQgSW5jbHVkZV9kZWJ1ZyI+CisgICAgICAgICAgICAgICAgPE1zaVByb3BlcnR5IE5hbWU9IlRBUkdFVERJUiIgVmFsdWU9IltUYXJnZXREaXJdIiAvPgorICAgICAgICAgICAgPC9Nc2lQYWNrYWdlPgorCisgICAgICAgICAgICA8TXNpUGFja2FnZSBJZD0idGVzdF9KdXN0Rm9yTWUiCisgICAgICAgICAgICAgICAgICAgICAgICBTb3VyY2VGaWxlPSJ0ZXN0Lm1zaSIKKyAgICAgICAgICAgICAgICAgICAgICAgIENvbXByZXNzZWQ9IiQodmFyLkNvbXByZXNzTVNJKSIKKyAgICAgICAgICAgICAgICAgICAgICAgIERvd25sb2FkVXJsPSIkKHZhci5Eb3dubG9hZFVybCkiCisgICAgICAgICAgICAgICAgICAgICAgICBGb3JjZVBlck1hY2hpbmU9Im5vIgorICAgICAgICAgICAgICAgICAgICAgICAgSW5zdGFsbENvbmRpdGlvbj0ibm90IEluc3RhbGxBbGxVc2VycyBhbmQgSW5jbHVkZV90ZXN0Ij4KKyAgICAgICAgICAgICAgICA8TXNpUHJvcGVydHkgTmFtZT0iVEFSR0VURElSIiBWYWx1ZT0iW1RhcmdldERpcl0iIC8+CisgICAgICAgICAgICA8L01zaVBhY2thZ2U+CisgICAgICAgICAgICA8TXNpUGFja2FnZSBJZD0idGVzdF9KdXN0Rm9yTWVfcGRiIgorICAgICAgICAgICAgICAgICAgICAgICAgU291cmNlRmlsZT0idGVzdF9wZGIubXNpIgorICAgICAgICAgICAgICAgICAgICAgICAgQ29tcHJlc3NlZD0iJCh2YXIuQ29tcHJlc3NQREIpIgorICAgICAgICAgICAgICAgICAgICAgICAgRG93bmxvYWRVcmw9IiQodmFyLkRvd25sb2FkVXJsKSIKKyAgICAgICAgICAgICAgICAgICAgICAgIEZvcmNlUGVyTWFjaGluZT0ibm8iCisgICAgICAgICAgICAgICAgICAgICAgICBJbnN0YWxsQ29uZGl0aW9uPSJub3QgSW5zdGFsbEFsbFVzZXJzIGFuZCBJbmNsdWRlX3Rlc3QgYW5kIEluY2x1ZGVfc3ltYm9scyI+CisgICAgICAgICAgICAgICAgPE1zaVByb3BlcnR5IE5hbWU9IlRBUkdFVERJUiIgVmFsdWU9IltUYXJnZXREaXJdIiAvPgorICAgICAgICAgICAgPC9Nc2lQYWNrYWdlPgorICAgICAgICAgICAgPE1zaVBhY2thZ2UgSWQ9InRlc3RfSnVzdEZvck1lX2QiCisgICAgICAgICAgICAgICAgICAgICAgICBTb3VyY2VGaWxlPSJ0ZXN0X2QubXNpIgorICAgICAgICAgICAgICAgICAgICAgICAgQ29tcHJlc3NlZD0iJCh2YXIuQ29tcHJlc3NNU0lfRCkiCisgICAgICAgICAgICAgICAgICAgICAgICBEb3dubG9hZFVybD0iJCh2YXIuRG93bmxvYWRVcmwpIgorICAgICAgICAgICAgICAgICAgICAgICAgRm9yY2VQZXJNYWNoaW5lPSJubyIKKyAgICAgICAgICAgICAgICAgICAgICAgIEluc3RhbGxDb25kaXRpb249Im5vdCBJbnN0YWxsQWxsVXNlcnMgYW5kIEluY2x1ZGVfdGVzdCBhbmQgSW5jbHVkZV9kZWJ1ZyI+CisgICAgICAgICAgICAgICAgPE1zaVByb3BlcnR5IE5hbWU9IlRBUkdFVERJUiIgVmFsdWU9IltUYXJnZXREaXJdIiAvPgorICAgICAgICAgICAgPC9Nc2lQYWNrYWdlPgorICAgICAgICA8L1BhY2thZ2VHcm91cD4KKyAgICA8L0ZyYWdtZW50PgorPC9XaXg+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvVG9vbHMvbXNpL2J1bmRsZS9wYWNrYWdlZ3JvdXBzL3Rvb2xzLnd4cyBiL1Rvb2xzL21zaS9idW5kbGUvcGFja2FnZWdyb3Vwcy90b29scy53eHMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDZhZjViNQotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL21zaS9idW5kbGUvcGFja2FnZWdyb3Vwcy90b29scy53eHMKQEAgLTAsMCArMSwyNCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8V2l4IHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3dpeC8yMDA2L3dpIj4KKyAgICA8RnJhZ21lbnQ+CisgICAgICAgIDxQYWNrYWdlR3JvdXAgSWQ9InRvb2xzIj4KKyAgICAgICAgICAgIDxNc2lQYWNrYWdlIElkPSJ0b29sc19BbGxVc2VycyIKKyAgICAgICAgICAgICAgICAgICAgICAgIFNvdXJjZUZpbGU9InRvb2xzLm1zaSIKKyAgICAgICAgICAgICAgICAgICAgICAgIENvbXByZXNzZWQ9IiQodmFyLkNvbXByZXNzTVNJKSIKKyAgICAgICAgICAgICAgICAgICAgICAgIERvd25sb2FkVXJsPSIkKHZhci5Eb3dubG9hZFVybCkiCisgICAgICAgICAgICAgICAgICAgICAgICBGb3JjZVBlck1hY2hpbmU9InllcyIKKyAgICAgICAgICAgICAgICAgICAgICAgIEluc3RhbGxDb25kaXRpb249Ikluc3RhbGxBbGxVc2VycyBhbmQgSW5jbHVkZV90b29scyI+CisgICAgICAgICAgICAgICAgPE1zaVByb3BlcnR5IE5hbWU9IlRBUkdFVERJUiIgVmFsdWU9IltUYXJnZXREaXJdIiAvPgorICAgICAgICAgICAgPC9Nc2lQYWNrYWdlPgorICAgICAgICAgICAgCisgICAgICAgICAgICA8TXNpUGFja2FnZSBJZD0idG9vbHNfSnVzdEZvck1lIgorICAgICAgICAgICAgICAgICAgICAgICAgU291cmNlRmlsZT0idG9vbHMubXNpIgorICAgICAgICAgICAgICAgICAgICAgICAgQ29tcHJlc3NlZD0iJCh2YXIuQ29tcHJlc3NNU0kpIgorICAgICAgICAgICAgICAgICAgICAgICAgRG93bmxvYWRVcmw9IiQodmFyLkRvd25sb2FkVXJsKSIKKyAgICAgICAgICAgICAgICAgICAgICAgIEZvcmNlUGVyTWFjaGluZT0ibm8iCisgICAgICAgICAgICAgICAgICAgICAgICBJbnN0YWxsQ29uZGl0aW9uPSJub3QgSW5zdGFsbEFsbFVzZXJzIGFuZCBJbmNsdWRlX3Rvb2xzIj4KKyAgICAgICAgICAgICAgICA8TXNpUHJvcGVydHkgTmFtZT0iVEFSR0VURElSIiBWYWx1ZT0iW1RhcmdldERpcl0iIC8+CisgICAgICAgICAgICA8L01zaVBhY2thZ2U+CisgICAgICAgIDwvUGFja2FnZUdyb3VwPgorICAgIDwvRnJhZ21lbnQ+Cis8L1dpeD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9Ub29scy9tc2kvYnVuZGxlL3Bvc3RpbnN0YWxsX2VuLVVTLnd4bF90ZW1wbGF0ZSBiL1Rvb2xzL21zaS9idW5kbGUvcG9zdGluc3RhbGxfZW4tVVMud3hsX3RlbXBsYXRlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVmNTRhZWYKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9tc2kvYnVuZGxlL3Bvc3RpbnN0YWxsX2VuLVVTLnd4bF90ZW1wbGF0ZQpAQCAtMCwwICsxLDQgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Cis8V2l4TG9jYWxpemF0aW9uIEN1bHR1cmU9ImVuLXVzIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS93aXgvMjAwNi9sb2NhbGl6YXRpb24iPgorICAgIDxTdHJpbmcgSWQ9IkNvbXBpbGVBbGxEZXNjcmlwdGlvbiI+UHJlY29tcGlsaW5nIHN0YW5kYXJkIGxpYnJhcnk8L1N0cmluZz4KKzwvV2l4TG9jYWxpemF0aW9uPgpkaWZmIC0tZ2l0IGEvVG9vbHMvbXNpL2J1bmRsZS9yZWxlYXNlbG9jYWwud2l4cHJvaiBiL1Rvb2xzL21zaS9idW5kbGUvcmVsZWFzZWxvY2FsLndpeHByb2oKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGMzZGVlNwotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL21zaS9idW5kbGUvcmVsZWFzZWxvY2FsLndpeHByb2oKQEAgLTAsMCArMSwyMSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KKzxQcm9qZWN0IFRvb2xzVmVyc2lvbj0iNC4wIiBEZWZhdWx0VGFyZ2V0cz0iQnVpbGQiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2RldmVsb3Blci9tc2J1aWxkLzIwMDMiPgorICAgIDxQcm9wZXJ0eUdyb3VwPgorICAgICAgICA8UHJvamVjdEd1aWQ+e0ZDRDQzQUM5LTk2OUYtNDlBMS04QUM1LUVEQzI3NTk5RDFFQn08L1Byb2plY3RHdWlkPgorICAgICAgICA8T3V0cHV0TmFtZT5weXRob248L091dHB1dE5hbWU+CisgICAgICAgIDxPdXRwdXRTdWZmaXg+PC9PdXRwdXRTdWZmaXg+CisgICAgPC9Qcm9wZXJ0eUdyb3VwPgorCisgICAgPEltcG9ydCBQcm9qZWN0PSIuLlxtc2kucHJvcHMiIC8+CisKKyAgICA8UHJvcGVydHlHcm91cD4KKyAgICAgICAgPERlZmluZUNvbnN0YW50cz4KKyAgICAgICAgICAgICQoRGVmaW5lQ29uc3RhbnRzKTsKKyAgICAgICAgICAgIENvbXByZXNzTVNJPXllczsKKyAgICAgICAgICAgIENvbXByZXNzUERCPW5vOworICAgICAgICAgICAgQ29tcHJlc3NNU0lfRD1ubworICAgICAgICA8L0RlZmluZUNvbnN0YW50cz4KKyAgICA8L1Byb3BlcnR5R3JvdXA+CisgICAgCisgICAgPEltcG9ydCBQcm9qZWN0PSJidW5kbGUudGFyZ2V0cyIgLz4KKzwvUHJvamVjdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9Ub29scy9tc2kvYnVuZGxlL3JlbGVhc2V3ZWIud2l4cHJvaiBiL1Rvb2xzL21zaS9idW5kbGUvcmVsZWFzZXdlYi53aXhwcm9qCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM1MGM3MzUKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9tc2kvYnVuZGxlL3JlbGVhc2V3ZWIud2l4cHJvagpAQCAtMCwwICsxLDIxIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgorPFByb2plY3QgVG9vbHNWZXJzaW9uPSI0LjAiIERlZmF1bHRUYXJnZXRzPSJCdWlsZCIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+CisgICAgPFByb3BlcnR5R3JvdXA+CisgICAgICAgIDxQcm9qZWN0R3VpZD57NzFDREUyMTMtQ0IzOS00QkQ5LUI4OUQtQkJCODc4Njg5MTQ0fTwvUHJvamVjdEd1aWQ+CisgICAgICAgIDxPdXRwdXROYW1lPnB5dGhvbjwvT3V0cHV0TmFtZT4KKyAgICAgICAgPE91dHB1dFN1ZmZpeD53ZWJpbnN0YWxsPC9PdXRwdXRTdWZmaXg+CisgICAgPC9Qcm9wZXJ0eUdyb3VwPgorCisgICAgPEltcG9ydCBQcm9qZWN0PSIuLlxtc2kucHJvcHMiIC8+CisKKyAgICA8UHJvcGVydHlHcm91cD4KKyAgICAgICAgPERlZmluZUNvbnN0YW50cz4KKyAgICAgICAgICAgICQoRGVmaW5lQ29uc3RhbnRzKTsKKyAgICAgICAgICAgIENvbXByZXNzTVNJPW5vOworICAgICAgICAgICAgQ29tcHJlc3NQREI9bm87CisgICAgICAgICAgICBDb21wcmVzc01TSV9EPW5vCisgICAgICAgIDwvRGVmaW5lQ29uc3RhbnRzPgorICAgIDwvUHJvcGVydHlHcm91cD4KKyAgICAKKyAgICA8SW1wb3J0IFByb2plY3Q9ImJ1bmRsZS50YXJnZXRzIiAvPgorPC9Qcm9qZWN0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL1Rvb2xzL21zaS9idW5kbGUvc25hcHNob3Qud2l4cHJvaiBiL1Rvb2xzL21zaS9idW5kbGUvc25hcHNob3Qud2l4cHJvagpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ZmU5NWE4Ci0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvbXNpL2J1bmRsZS9zbmFwc2hvdC53aXhwcm9qCkBAIC0wLDAgKzEsMjEgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Cis8UHJvamVjdCBUb29sc1ZlcnNpb249IjQuMCIgRGVmYXVsdFRhcmdldHM9IkJ1aWxkIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4KKyAgICA8UHJvcGVydHlHcm91cD4KKyAgICAgICAgPFByb2plY3RHdWlkPns4QTRBMTE2Mi00QkY5LTRGRjYtOUE5OC0zMTVGMDFFNDQ5MzJ9PC9Qcm9qZWN0R3VpZD4KKyAgICAgICAgPE91dHB1dE5hbWU+cHl0aG9uPC9PdXRwdXROYW1lPgorICAgICAgICA8T3V0cHV0U3VmZml4PjwvT3V0cHV0U3VmZml4PgorICAgIDwvUHJvcGVydHlHcm91cD4KKworICAgIDxJbXBvcnQgUHJvamVjdD0iLi5cbXNpLnByb3BzIiAvPgorCisgICAgPFByb3BlcnR5R3JvdXA+CisgICAgICAgIDxEZWZpbmVDb25zdGFudHM+CisgICAgICAgICAgICAkKERlZmluZUNvbnN0YW50cyk7CisgICAgICAgICAgICBDb21wcmVzc01TST1ubzsKKyAgICAgICAgICAgIENvbXByZXNzUERCPW5vOworICAgICAgICAgICAgQ29tcHJlc3NNU0lfRD1ubzsKKyAgICAgICAgPC9EZWZpbmVDb25zdGFudHM+CisgICAgPC9Qcm9wZXJ0eUdyb3VwPgorICAgIAorICAgIDxJbXBvcnQgUHJvamVjdD0iYnVuZGxlLnRhcmdldHMiIC8+Cis8L1Byb2plY3Q+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvVG9vbHMvbXNpL2NvbW1vbi53eHMgYi9Ub29scy9tc2kvY29tbW9uLnd4cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yZTUwYzEyCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvbXNpL2NvbW1vbi53eHMKQEAgLTAsMCArMSwxMDEgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8V2l4IHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3dpeC8yMDA2L3dpIj4KKyAgICA8RnJhZ21lbnQ+CisgICAgICAgIDxQcm9wZXJ0eSBJZD0iUkVHSVNUUllLRVkiIFZhbHVlPSJTb2Z0d2FyZVwkKHZhci5UZXN0UHJlZml4KVB5dGhvblxQeXRob25Db3JlXCQodmFyLlNob3J0VmVyc2lvbikkKHZhci5TdWZmaXgzMikiIC8+CisgICAgPC9GcmFnbWVudD4KKyAgICAKKyAgICA8RnJhZ21lbnQ+CisgICAgICAgIDxQcm9wZXJ0eSBJZD0iVXBncmFkZVRhYmxlIiBWYWx1ZT0iMSIgLz4KKyAgICAgICAgCisgICAgICAgIDxVcGdyYWRlIElkPSIkKHZhci5VcGdyYWRlQ29kZSkiPgorICAgICAgICAgICAgPFVwZ3JhZGVWZXJzaW9uIFByb3BlcnR5PSJET1dOR1JBREUiIE1pbmltdW09IiQodmFyLlZlcnNpb24pIiBJbmNsdWRlTWluaW11bT0ibm8iIE9ubHlEZXRlY3Q9InllcyIgLz4KKyAgICAgICAgICAgIDxVcGdyYWRlVmVyc2lvbiBQcm9wZXJ0eT0iVVBHUkFERSIgTWluaW11bT0iJCh2YXIuVXBncmFkZU1pbmltdW1WZXJzaW9uKSIgSW5jbHVkZU1pbmltdW09InllcyIgTWF4aW11bT0iJCh2YXIuVmVyc2lvbikiIEluY2x1ZGVNYXhpbXVtPSJubyIgLz4KKyAgICAgICAgPC9VcGdyYWRlPgorICAgICAgICAKKyAgICAgICAgPD9pZiAkKHZhci5VcGdyYWRlQ29kZSkhPSQodmFyLkNvcmVVcGdyYWRlQ29kZSkgPz4KKyAgICAgICAgPFVwZ3JhZGUgSWQ9IiQodmFyLkNvcmVVcGdyYWRlQ29kZSkiPgorICAgICAgICAgICAgPFVwZ3JhZGVWZXJzaW9uIFByb3BlcnR5PSJNSVNTSU5HX0NPUkUiIE1pbmltdW09IiQodmFyLlZlcnNpb24pIiBNYXhpbXVtPSIkKHZhci5WZXJzaW9uKSIgT25seURldGVjdD0ieWVzIiAvPgorICAgICAgICA8L1VwZ3JhZGU+CisgICAgICAgIDw/ZW5kaWYgPz4KKyAgICAgICAgCisgICAgICAgIDxDb25kaXRpb24gTWVzc2FnZT0iIShsb2MuTm9Eb3duZ3JhZGUpIj5JbnN0YWxsZWQgT1IgTk9UIERPV05HUkFERTwvQ29uZGl0aW9uPgorICAgICAgICA8Q29uZGl0aW9uIE1lc3NhZ2U9IiEobG9jLkluY29ycmVjdENvcmUpIj5JbnN0YWxsZWQgT1IgTk9UIE1JU1NJTkdfQ09SRTwvQ29uZGl0aW9uPgorICAgICAgICA8Q29uZGl0aW9uIE1lc3NhZ2U9IiEobG9jLk5vVGFyZ2V0RGlyKSI+SW5zdGFsbGVkIE9SIFRBUkdFVERJUiBPUiBTdXBwcmVzc19UQVJHRVRESVJfQ2hlY2s8L0NvbmRpdGlvbj4KKworICAgICAgICA8SW5zdGFsbEV4ZWN1dGVTZXF1ZW5jZT4KKyAgICAgICAgICAgIDxSZW1vdmVFeGlzdGluZ1Byb2R1Y3RzIEFmdGVyPSJJbnN0YWxsSW5pdGlhbGl6ZSI+VVBHUkFERTwvUmVtb3ZlRXhpc3RpbmdQcm9kdWN0cz4KKyAgICAgICAgPC9JbnN0YWxsRXhlY3V0ZVNlcXVlbmNlPgorICAgIDwvRnJhZ21lbnQ+CisgICAgCisgICAgPEZyYWdtZW50PgorICAgICAgICA8IS0tIEluY2x1ZGUgYW4gaWNvbiBmb3IgdGhlIFByb2dyYW1zIGFuZCBGZWF0dXJlcyBkaWFsb2cgLS0+CisgICAgICAgIDxJY29uIElkPSJBUlBJY29uIiBTb3VyY2VGaWxlPSIhKGJpbmRwYXRoLnNyYylQQ1xweWNvbi5pY28iIC8+CisgICAgICAgIDxQcm9wZXJ0eSBJZD0iQVJQUFJPRFVDVElDT04iIFZhbHVlPSJBUlBJY29uIiAvPgorICAgICAgICA8UHJvcGVydHkgSWQ9IkFSUE5PTU9ESUZZIiBWYWx1ZT0iMSIgLz4KKyAgICAgICAgPFByb3BlcnR5IElkPSJESVNBQkxFQURWVFNIT1JUQ1VUUyIgVmFsdWU9IjEiIC8+CisgICAgPC9GcmFnbWVudD4KKyAgICAKKyAgICA8RnJhZ21lbnQ+CisgICAgICAgIDxEaXJlY3RvcnkgSWQ9IlRBUkdFVERJUiIgTmFtZT0iU291cmNlRGlyIj4KKyAgICAgICAgICAgIDxEaXJlY3RvcnkgSWQ9Ikluc3RhbGxEaXJlY3RvcnkiIENvbXBvbmVudEd1aWRHZW5lcmF0aW9uU2VlZD0iJCh2YXIuSW5zdGFsbERpcmVjdG9yeUd1aWRTZWVkKSIgLz4KKyAgICAgICAgPC9EaXJlY3Rvcnk+CisgICAgPC9GcmFnbWVudD4KKyAgICAKKyAgICA8IS0tIFRvcC1sZXZlbCBkaXJlY3RvcmllcyAtLT4KKyAgICA8RnJhZ21lbnQ+CisgICAgICAgIDxEaXJlY3RvcnlSZWYgSWQ9Ikluc3RhbGxEaXJlY3RvcnkiPgorICAgICAgICAgICAgPERpcmVjdG9yeSBJZD0iRExMcyIgTmFtZT0iRExMcyIgLz4KKyAgICAgICAgPC9EaXJlY3RvcnlSZWY+CisgICAgPC9GcmFnbWVudD4KKworICAgIDxGcmFnbWVudD4KKyAgICAgICAgPERpcmVjdG9yeVJlZiBJZD0iSW5zdGFsbERpcmVjdG9yeSI+CisgICAgICAgICAgICA8RGlyZWN0b3J5IElkPSJEb2MiIE5hbWU9IkRvYyIgLz4KKyAgICAgICAgPC9EaXJlY3RvcnlSZWY+CisgICAgPC9GcmFnbWVudD4KKworICAgIDxGcmFnbWVudD4KKyAgICAgICAgPERpcmVjdG9yeVJlZiBJZD0iSW5zdGFsbERpcmVjdG9yeSI+CisgICAgICAgICAgICA8RGlyZWN0b3J5IElkPSJpbmNsdWRlIiBOYW1lPSJpbmNsdWRlIiAvPgorICAgICAgICA8L0RpcmVjdG9yeVJlZj4KKyAgICA8L0ZyYWdtZW50PgorCisgICAgPEZyYWdtZW50PgorICAgICAgICA8RGlyZWN0b3J5UmVmIElkPSJJbnN0YWxsRGlyZWN0b3J5Ij4KKyAgICAgICAgICAgIDxEaXJlY3RvcnkgSWQ9IkxpYiIgTmFtZT0iTGliIiAvPgorICAgICAgICA8L0RpcmVjdG9yeVJlZj4KKyAgICA8L0ZyYWdtZW50PgorCisgICAgPEZyYWdtZW50PgorICAgICAgICA8RGlyZWN0b3J5UmVmIElkPSJJbnN0YWxsRGlyZWN0b3J5Ij4KKyAgICAgICAgICAgIDxEaXJlY3RvcnkgSWQ9ImxpYnMiIE5hbWU9ImxpYnMiIC8+CisgICAgICAgIDwvRGlyZWN0b3J5UmVmPgorICAgIDwvRnJhZ21lbnQ+CisKKyAgICA8RnJhZ21lbnQ+CisgICAgICAgIDxEaXJlY3RvcnlSZWYgSWQ9Ikluc3RhbGxEaXJlY3RvcnkiPgorICAgICAgICAgICAgPERpcmVjdG9yeSBJZD0iU2NyaXB0cyIgTmFtZT0iU2NyaXB0cyIgLz4KKyAgICAgICAgPC9EaXJlY3RvcnlSZWY+CisgICAgPC9GcmFnbWVudD4KKworICAgIDxGcmFnbWVudD4KKyAgICAgICAgPERpcmVjdG9yeVJlZiBJZD0iSW5zdGFsbERpcmVjdG9yeSI+CisgICAgICAgICAgICA8RGlyZWN0b3J5IElkPSJ0Y2wiIE5hbWU9InRjbCIgLz4KKyAgICAgICAgPC9EaXJlY3RvcnlSZWY+CisgICAgPC9GcmFnbWVudD4KKworICAgIDxGcmFnbWVudD4KKyAgICAgICAgPERpcmVjdG9yeVJlZiBJZD0iSW5zdGFsbERpcmVjdG9yeSI+CisgICAgICAgICAgICA8RGlyZWN0b3J5IElkPSJUb29scyIgTmFtZT0iVG9vbHMiIC8+CisgICAgICAgIDwvRGlyZWN0b3J5UmVmPgorICAgIDwvRnJhZ21lbnQ+CisgICAgCisgICAgPCEtLSBTdGFydCBNZW51IGZvbGRlciAtLT4KKyAgICA8RnJhZ21lbnQ+CisgICAgICAgIDxEaXJlY3RvcnlSZWYgSWQ9IlRBUkdFVERJUiI+CisgICAgICAgICAgICA8RGlyZWN0b3J5IElkPSJQcm9ncmFtTWVudUZvbGRlciI+CisgICAgICAgICAgICAgICAgPERpcmVjdG9yeSBJZD0iTWVudURpciIgTmFtZT0iIShsb2MuUHJvZHVjdE5hbWUpIiAvPgorICAgICAgICAgICAgPC9EaXJlY3Rvcnk+CisgICAgICAgIDwvRGlyZWN0b3J5UmVmPgorICAgIDwvRnJhZ21lbnQ+Cis8L1dpeD4KZGlmZiAtLWdpdCBhL1Rvb2xzL21zaS9jb21tb25fZW4tVVMud3hsX3RlbXBsYXRlIGIvVG9vbHMvbXNpL2NvbW1vbl9lbi1VUy53eGxfdGVtcGxhdGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGQwMzUyNgotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL21zaS9jb21tb25fZW4tVVMud3hsX3RlbXBsYXRlCkBAIC0wLDAgKzEsMTcgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Cis8V2l4TG9jYWxpemF0aW9uIEN1bHR1cmU9ImVuLXVzIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS93aXgvMjAwNi9sb2NhbGl6YXRpb24iPgorICAgIDxTdHJpbmcgSWQ9IkxDSUQiPjEwMzM8L1N0cmluZz4KKyAgICA8U3RyaW5nIElkPSJDdWx0dXJlIj5lbi11czwvU3RyaW5nPgorICAgIDxTdHJpbmcgSWQ9IlByb2R1Y3ROYW1lIj5QeXRob24ge3tTaG9ydFZlcnNpb259fTwvU3RyaW5nPgorICAgIDxTdHJpbmcgSWQ9IkZ1bGxQcm9kdWN0TmFtZSI+UHl0aG9uIHt7TG9uZ1ZlcnNpb259fSAoe3tCaXRuZXNzfX0pPC9TdHJpbmc+CisgICAgPFN0cmluZyBJZD0iVGl0bGUiPlB5dGhvbiB7e0xvbmdWZXJzaW9ufX0gIShsb2MuRGVzY3JpcHRvcikgKHt7Qml0bmVzc319KTwvU3RyaW5nPgorICAgIDxTdHJpbmcgSWQ9IkRlc2NyaXB0aW9uIj5QeXRob24ge3tMb25nVmVyc2lvbn19ICEobG9jLkRlc2NyaXB0b3IpICh7e0JpdG5lc3N9fSk8L1N0cmluZz4KKyAgICA8U3RyaW5nIElkPSJUaXRsZVBkYiI+UHl0aG9uIHt7TG9uZ1ZlcnNpb259fSAhKGxvYy5EZXNjcmlwdG9yKSAoe3tCaXRuZXNzfX0gc3ltYm9scyk8L1N0cmluZz4KKyAgICA8U3RyaW5nIElkPSJEZXNjcmlwdGlvblBkYiI+UHl0aG9uIHt7TG9uZ1ZlcnNpb259fSAhKGxvYy5EZXNjcmlwdG9yKSAoe3tCaXRuZXNzfX0gc3ltYm9scyk8L1N0cmluZz4KKyAgICA8U3RyaW5nIElkPSJUaXRsZV9kIj5QeXRob24ge3tMb25nVmVyc2lvbn19ICEobG9jLkRlc2NyaXB0b3IpICh7e0JpdG5lc3N9fSBkZWJ1Zyk8L1N0cmluZz4KKyAgICA8U3RyaW5nIElkPSJEZXNjcmlwdGlvbl9kIj5QeXRob24ge3tMb25nVmVyc2lvbn19ICEobG9jLkRlc2NyaXB0b3IpICh7e0JpdG5lc3N9fSBkZWJ1Zyk8L1N0cmluZz4KKyAgICA8U3RyaW5nIElkPSJNYW51ZmFjdHVyZXIiPlB5dGhvbiBTb2Z0d2FyZSBGb3VuZGF0aW9uPC9TdHJpbmc+CisgICAgPFN0cmluZyBJZD0iTm9Eb3duZ3JhZGUiPkEgbmV3ZXIgdmVyc2lvbiBvZiAhKGxvYy5Qcm9kdWN0TmFtZSkgaXMgYWxyZWFkeSBpbnN0YWxsZWQuPC9TdHJpbmc+CisgICAgPFN0cmluZyBJZD0iSW5jb3JyZWN0Q29yZSI+QW4gaW5jb3JyZWN0IHZlcnNpb24gb2YgYSBwcmVyZXF1aXNpdGUgcGFja2FnZSBpcyBpbnN0YWxsZWQuIFBsZWFzZSB1bmluc3RhbGwgYW55IG90aGVyIHZlcnNpb25zIG9mICEobG9jLlByb2R1Y3ROYW1lKSBhbmQgdHJ5IGluc3RhbGxpbmcgdGhpcyBhZ2Fpbi48L1N0cmluZz4KKyAgICA8U3RyaW5nIElkPSJOb1RhcmdldERpciI+VGhlIFRBUkdFVERJUiB2YXJpYWJsZSBtdXN0IGJlIHByb3ZpZGVkIHdoZW4gaW52b2tpbmcgdGhpcyBpbnN0YWxsZXIuPC9TdHJpbmc+Cis8L1dpeExvY2FsaXphdGlvbj4KZGlmZiAtLWdpdCBhL1Rvb2xzL21zaS9jb3JlL2NvcmUud2l4cHJvaiBiL1Rvb2xzL21zaS9jb3JlL2NvcmUud2l4cHJvagpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42OGU4YmFiCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvbXNpL2NvcmUvY29yZS53aXhwcm9qCkBAIC0wLDAgKzEsMTkgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Cis8UHJvamVjdCBUb29sc1ZlcnNpb249IjQuMCIgRGVmYXVsdFRhcmdldHM9IkJ1aWxkIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4KKyAgICA8UHJvcGVydHlHcm91cD4KKyAgICAgICAgPFByb2plY3RHdWlkPnsxQjQ1MDJENS1CNjI3LTRGNTAtQUJFQS00Q0M1QThFODgyNjV9PC9Qcm9qZWN0R3VpZD4KKyAgICAgICAgPFNjaGVtYVZlcnNpb24+Mi4wPC9TY2hlbWFWZXJzaW9uPgorICAgICAgICA8T3V0cHV0TmFtZT5jb3JlPC9PdXRwdXROYW1lPgorICAgICAgICA8T3V0cHV0VHlwZT5QYWNrYWdlPC9PdXRwdXRUeXBlPgorICAgIDwvUHJvcGVydHlHcm91cD4KKyAgICA8SW1wb3J0IFByb2plY3Q9Ii4uXG1zaS5wcm9wcyIgLz4KKyAgICA8SXRlbUdyb3VwPgorICAgICAgICA8Q29tcGlsZSBJbmNsdWRlPSJjb3JlLnd4cyIgLz4KKyAgICAgICAgPENvbXBpbGUgSW5jbHVkZT0iY29yZV9maWxlcy53eHMiIC8+CisgICAgPC9JdGVtR3JvdXA+CisgICAgPEl0ZW1Hcm91cD4KKyAgICAgICAgPEVtYmVkZGVkUmVzb3VyY2UgSW5jbHVkZT0iKi53eGwiIC8+CisgICAgPC9JdGVtR3JvdXA+CisKKyAgICA8SW1wb3J0IFByb2plY3Q9Ii4uXG1zaS50YXJnZXRzIiAvPgorPC9Qcm9qZWN0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL1Rvb2xzL21zaS9jb3JlL2NvcmUud3hzIGIvVG9vbHMvbXNpL2NvcmUvY29yZS53eHMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGQ0ZmJkZQotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL21zaS9jb3JlL2NvcmUud3hzCkBAIC0wLDAgKzEsMTMgQEAKK++7vzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8V2l4IHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3dpeC8yMDA2L3dpIj4KKyAgICA8UHJvZHVjdCBJZD0iKiIgTGFuZ3VhZ2U9IiEobG9jLkxDSUQpIiBOYW1lPSIhKGxvYy5UaXRsZSkiIFZlcnNpb249IiQodmFyLlZlcnNpb24pIiBNYW51ZmFjdHVyZXI9IiEobG9jLk1hbnVmYWN0dXJlcikiIFVwZ3JhZGVDb2RlPSIkKHZhci5VcGdyYWRlQ29kZSkiPgorICAgICAgICA8UGFja2FnZSBJbnN0YWxsZXJWZXJzaW9uPSIzMDAiIENvbXByZXNzZWQ9InllcyIgSW5zdGFsbFNjb3BlPSJwZXJVc2VyIiBQbGF0Zm9ybT0iJCh2YXIuUGxhdGZvcm0pIiAvPgorICAgICAgICA8TWVkaWFUZW1wbGF0ZSBFbWJlZENhYj0ieWVzIiBDb21wcmVzc2lvbkxldmVsPSJoaWdoIiAvPgorICAgICAgICAKKyAgICAgICAgPFByb3BlcnR5UmVmIElkPSJVcGdyYWRlVGFibGUiIC8+CisgICAgICAgIAorICAgICAgICA8RmVhdHVyZSBJZD0iRGVmYXVsdEZlYXR1cmUiIEFsbG93QWR2ZXJ0aXNlPSJubyIgVGl0bGU9IiEobG9jLlRpdGxlKSIgRGVzY3JpcHRpb249IiEobG9jLkRlc2NyaXB0aW9uKSI+CisgICAgICAgICAgICA8Q29tcG9uZW50R3JvdXBSZWYgSWQ9ImNvcmVfZGxsIiAvPgorICAgICAgICA8L0ZlYXR1cmU+CisgICAgPC9Qcm9kdWN0PgorPC9XaXg+CmRpZmYgLS1naXQgYS9Ub29scy9tc2kvY29yZS9jb3JlX2Qud2l4cHJvaiBiL1Rvb2xzL21zaS9jb3JlL2NvcmVfZC53aXhwcm9qCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjViMjk2YmYKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9tc2kvY29yZS9jb3JlX2Qud2l4cHJvagpAQCAtMCwwICsxLDE5IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgorPFByb2plY3QgVG9vbHNWZXJzaW9uPSI0LjAiIERlZmF1bHRUYXJnZXRzPSJCdWlsZCIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+CisgICAgPFByb3BlcnR5R3JvdXA+CisgICAgICAgIDxQcm9qZWN0R3VpZD57RDM2NzdEQ0YtMDk4QS00Mzk4LTlGQTUtOEU3NEFDMzdFMERGfTwvUHJvamVjdEd1aWQ+CisgICAgICAgIDxTY2hlbWFWZXJzaW9uPjIuMDwvU2NoZW1hVmVyc2lvbj4KKyAgICAgICAgPE91dHB1dE5hbWU+Y29yZV9kPC9PdXRwdXROYW1lPgorICAgICAgICA8T3V0cHV0VHlwZT5QYWNrYWdlPC9PdXRwdXRUeXBlPgorICAgIDwvUHJvcGVydHlHcm91cD4KKyAgICA8SW1wb3J0IFByb2plY3Q9Ii4uXG1zaS5wcm9wcyIgLz4KKyAgICA8SXRlbUdyb3VwPgorICAgICAgICA8Q29tcGlsZSBJbmNsdWRlPSJjb3JlX2Qud3hzIiAvPgorICAgICAgICA8Q29tcGlsZSBJbmNsdWRlPSJjb3JlX2ZpbGVzLnd4cyIgLz4KKyAgICA8L0l0ZW1Hcm91cD4KKyAgICA8SXRlbUdyb3VwPgorICAgICAgICA8RW1iZWRkZWRSZXNvdXJjZSBJbmNsdWRlPSIqLnd4bCIgLz4KKyAgICA8L0l0ZW1Hcm91cD4KKworICAgIDxJbXBvcnQgUHJvamVjdD0iLi5cbXNpLnRhcmdldHMiIC8+Cis8L1Byb2plY3Q+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvVG9vbHMvbXNpL2NvcmUvY29yZV9kLnd4cyBiL1Rvb2xzL21zaS9jb3JlL2NvcmVfZC53eHMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODQyMjExNwotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL21zaS9jb3JlL2NvcmVfZC53eHMKQEAgLTAsMCArMSwxMyBAQAor77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzxXaXggeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vd2l4LzIwMDYvd2kiPgorICAgIDxQcm9kdWN0IElkPSIqIiBMYW5ndWFnZT0iIShsb2MuTENJRCkiIE5hbWU9IiEobG9jLlRpdGxlKSIgVmVyc2lvbj0iJCh2YXIuVmVyc2lvbikiIE1hbnVmYWN0dXJlcj0iIShsb2MuTWFudWZhY3R1cmVyKSIgVXBncmFkZUNvZGU9IiQodmFyLlVwZ3JhZGVDb2RlKSI+CisgICAgICAgIDxQYWNrYWdlIEluc3RhbGxlclZlcnNpb249IjMwMCIgQ29tcHJlc3NlZD0ieWVzIiBJbnN0YWxsU2NvcGU9InBlclVzZXIiIFBsYXRmb3JtPSIkKHZhci5QbGF0Zm9ybSkiIC8+CisgICAgICAgIDxNZWRpYVRlbXBsYXRlIEVtYmVkQ2FiPSJ5ZXMiIENvbXByZXNzaW9uTGV2ZWw9ImhpZ2giIC8+CisgICAgICAgIAorICAgICAgICA8UHJvcGVydHlSZWYgSWQ9IlVwZ3JhZGVUYWJsZSIgLz4KKyAgICAgICAgCisgICAgICAgIDxGZWF0dXJlIElkPSJEZWJ1Z0JpbmFyaWVzIiBBbGxvd0FkdmVydGlzZT0ibm8iIFRpdGxlPSIhKGxvYy5UaXRsZV9kKSIgRGVzY3JpcHRpb249IiEobG9jLkRlc2NyaXB0aW9uX2QpIj4KKyAgICAgICAgICAgIDxDb21wb25lbnRHcm91cFJlZiBJZD0iY29yZV9kbGxfZCIgLz4KKyAgICAgICAgPC9GZWF0dXJlPgorICAgIDwvUHJvZHVjdD4KKzwvV2l4PgpkaWZmIC0tZ2l0IGEvVG9vbHMvbXNpL2NvcmUvY29yZV9lbi1VUy53eGwgYi9Ub29scy9tc2kvY29yZS9jb3JlX2VuLVVTLnd4bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43OTc3NDcwCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvbXNpL2NvcmUvY29yZV9lbi1VUy53eGwKQEAgLTAsMCArMSw1IEBACivvu788P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgorPFdpeExvY2FsaXphdGlvbiBDdWx0dXJlPSJlbi11cyIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vd2l4LzIwMDYvbG9jYWxpemF0aW9uIj4KKyAgICA8U3RyaW5nIElkPSJEZXNjcmlwdG9yIj5Db3JlIEludGVycHJldGVyPC9TdHJpbmc+CisgICAgPFN0cmluZyBJZD0iU2hvcnREZXNjcmlwdG9yIj5jb3JlPC9TdHJpbmc+Cis8L1dpeExvY2FsaXphdGlvbj4KZGlmZiAtLWdpdCBhL1Rvb2xzL21zaS9jb3JlL2NvcmVfZmlsZXMud3hzIGIvVG9vbHMvbXNpL2NvcmUvY29yZV9maWxlcy53eHMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTQ1ZTE0NwotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL21zaS9jb3JlL2NvcmVfZmlsZXMud3hzCkBAIC0wLDAgKzEsMzEgQEAKK++7vzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8V2l4IHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3dpeC8yMDA2L3dpIj4KKyAgICA8RnJhZ21lbnQ+CisgICAgICAgIDxDb21wb25lbnRHcm91cCBJZD0iY29yZV9kbGwiPgorICAgICAgICAgICAgPENvbXBvbmVudCBJZD0icHl0aG9uX3N0YWJsZS5kbGwiIERpcmVjdG9yeT0iSW5zdGFsbERpcmVjdG9yeSIgR3VpZD0iKiI+CisgICAgICAgICAgICAgICAgPEZpbGUgSWQ9InB5dGhvbl9zdGFibGUuZGxsIiBOYW1lPSJweXRob24kKHZhci5NYWpvclZlcnNpb25OdW1iZXIpLmRsbCIgS2V5UGF0aD0ieWVzIiAvPgorICAgICAgICAgICAgPC9Db21wb25lbnQ+CisgICAgICAgICAgICA8Q29tcG9uZW50IElkPSJweXRob24uZGxsIiBEaXJlY3Rvcnk9Ikluc3RhbGxEaXJlY3RvcnkiIEd1aWQ9IioiPgorICAgICAgICAgICAgICAgIDxGaWxlIElkPSJweXRob24uZGxsIiBOYW1lPSJweXRob24kKHZhci5NYWpvclZlcnNpb25OdW1iZXIpJCh2YXIuTWlub3JWZXJzaW9uTnVtYmVyKS5kbGwiIEtleVBhdGg9InllcyIgLz4KKyAgICAgICAgICAgIDwvQ29tcG9uZW50PgorICAgICAgICA8L0NvbXBvbmVudEdyb3VwPgorICAgIDwvRnJhZ21lbnQ+CisgICAgPEZyYWdtZW50PgorICAgICAgICA8Q29tcG9uZW50R3JvdXAgSWQ9ImNvcmVfc3ltYm9scyI+CisgICAgICAgICAgICA8Q29tcG9uZW50IElkPSJweXRob24ucGRiIiBEaXJlY3Rvcnk9Ikluc3RhbGxEaXJlY3RvcnkiIEd1aWQ9IioiPgorICAgICAgICAgICAgICAgIDxGaWxlIElkPSJweXRob24ucGRiIiBOYW1lPSJweXRob24kKHZhci5NYWpvclZlcnNpb25OdW1iZXIpJCh2YXIuTWlub3JWZXJzaW9uTnVtYmVyKS5wZGIiIEtleVBhdGg9InllcyIgLz4KKyAgICAgICAgICAgIDwvQ29tcG9uZW50PgorICAgICAgICA8L0NvbXBvbmVudEdyb3VwPgorICAgIDwvRnJhZ21lbnQ+CisgICAgPEZyYWdtZW50PgorICAgICAgICA8Q29tcG9uZW50R3JvdXAgSWQ9ImNvcmVfZGxsX2QiPgorICAgICAgICAgICAgPENvbXBvbmVudCBJZD0icHl0aG9uX3N0YWJsZV9kLmRsbCIgRGlyZWN0b3J5PSJJbnN0YWxsRGlyZWN0b3J5IiBHdWlkPSIqIj4KKyAgICAgICAgICAgICAgICA8RmlsZSBJZD0icHl0aG9uX3N0YWJsZV9kLmRsbCIgTmFtZT0icHl0aG9uJCh2YXIuTWFqb3JWZXJzaW9uTnVtYmVyKV9kLmRsbCIgS2V5UGF0aD0ieWVzIiAvPgorICAgICAgICAgICAgPC9Db21wb25lbnQ+CisgICAgICAgICAgICA8Q29tcG9uZW50IElkPSJweXRob25fZC5kbGwiIERpcmVjdG9yeT0iSW5zdGFsbERpcmVjdG9yeSIgR3VpZD0iKiI+CisgICAgICAgICAgICAgICAgPEZpbGUgSWQ9InB5dGhvbl9kLmRsbCIgTmFtZT0icHl0aG9uJCh2YXIuTWFqb3JWZXJzaW9uTnVtYmVyKSQodmFyLk1pbm9yVmVyc2lvbk51bWJlcilfZC5kbGwiIEtleVBhdGg9InllcyIgLz4KKyAgICAgICAgICAgICAgICA8RmlsZSBJZD0icHl0aG9uX2QucGRiIiBOYW1lPSJweXRob24kKHZhci5NYWpvclZlcnNpb25OdW1iZXIpJCh2YXIuTWlub3JWZXJzaW9uTnVtYmVyKV9kLnBkYiIgS2V5UGF0aD0ibm8iIC8+CisgICAgICAgICAgICA8L0NvbXBvbmVudD4KKyAgICAgICAgPC9Db21wb25lbnRHcm91cD4KKyAgICA8L0ZyYWdtZW50PgorPC9XaXg+CmRpZmYgLS1naXQgYS9Ub29scy9tc2kvY29yZS9jb3JlX3BkYi53aXhwcm9qIGIvVG9vbHMvbXNpL2NvcmUvY29yZV9wZGIud2l4cHJvagpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45Yzg4Mzg5Ci0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvbXNpL2NvcmUvY29yZV9wZGIud2l4cHJvagpAQCAtMCwwICsxLDE5IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgorPFByb2plY3QgVG9vbHNWZXJzaW9uPSI0LjAiIERlZmF1bHRUYXJnZXRzPSJCdWlsZCIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+CisgICAgPFByb3BlcnR5R3JvdXA+CisgICAgICAgIDxQcm9qZWN0R3VpZD57RTk4RTc1MzktNjRFNy00RENFLUFBQ0QtMDFFM0FERTQwRUZEfTwvUHJvamVjdEd1aWQ+CisgICAgICAgIDxTY2hlbWFWZXJzaW9uPjIuMDwvU2NoZW1hVmVyc2lvbj4KKyAgICAgICAgPE91dHB1dE5hbWU+Y29yZV9wZGI8L091dHB1dE5hbWU+CisgICAgICAgIDxPdXRwdXRUeXBlPlBhY2thZ2U8L091dHB1dFR5cGU+CisgICAgPC9Qcm9wZXJ0eUdyb3VwPgorICAgIDxJbXBvcnQgUHJvamVjdD0iLi5cbXNpLnByb3BzIiAvPgorICAgIDxJdGVtR3JvdXA+CisgICAgICAgIDxDb21waWxlIEluY2x1ZGU9ImNvcmVfcGRiLnd4cyIgLz4KKyAgICAgICAgPENvbXBpbGUgSW5jbHVkZT0iY29yZV9maWxlcy53eHMiIC8+CisgICAgPC9JdGVtR3JvdXA+CisgICAgPEl0ZW1Hcm91cD4KKyAgICAgICAgPEVtYmVkZGVkUmVzb3VyY2UgSW5jbHVkZT0iKi53eGwiIC8+CisgICAgPC9JdGVtR3JvdXA+CisKKyAgICA8SW1wb3J0IFByb2plY3Q9Ii4uXG1zaS50YXJnZXRzIiAvPgorPC9Qcm9qZWN0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL1Rvb2xzL21zaS9jb3JlL2NvcmVfcGRiLnd4cyBiL1Rvb2xzL21zaS9jb3JlL2NvcmVfcGRiLnd4cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jOWE1NThkCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvbXNpL2NvcmUvY29yZV9wZGIud3hzCkBAIC0wLDAgKzEsMTMgQEAKK++7vzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8V2l4IHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3dpeC8yMDA2L3dpIj4KKyAgICA8UHJvZHVjdCBJZD0iKiIgTGFuZ3VhZ2U9IiEobG9jLkxDSUQpIiBOYW1lPSIhKGxvYy5UaXRsZSkiIFZlcnNpb249IiQodmFyLlZlcnNpb24pIiBNYW51ZmFjdHVyZXI9IiEobG9jLk1hbnVmYWN0dXJlcikiIFVwZ3JhZGVDb2RlPSIkKHZhci5VcGdyYWRlQ29kZSkiPgorICAgICAgICA8UGFja2FnZSBJbnN0YWxsZXJWZXJzaW9uPSIzMDAiIENvbXByZXNzZWQ9InllcyIgSW5zdGFsbFNjb3BlPSJwZXJVc2VyIiBQbGF0Zm9ybT0iJCh2YXIuUGxhdGZvcm0pIiAvPgorICAgICAgICA8TWVkaWFUZW1wbGF0ZSBFbWJlZENhYj0ieWVzIiBDb21wcmVzc2lvbkxldmVsPSJoaWdoIiAvPgorICAgICAgICAKKyAgICAgICAgPFByb3BlcnR5UmVmIElkPSJVcGdyYWRlVGFibGUiIC8+CisgICAgICAgIAorICAgICAgICA8RmVhdHVyZSBJZD0iU3ltYm9scyIgQWxsb3dBZHZlcnRpc2U9Im5vIiBUaXRsZT0iIShsb2MuVGl0bGVQZGIpIiBEZXNjcmlwdGlvbj0iIShsb2MuRGVzY3JpcHRpb25QZGIpIj4KKyAgICAgICAgICAgIDxDb21wb25lbnRHcm91cFJlZiBJZD0iY29yZV9zeW1ib2xzIiAvPgorICAgICAgICA8L0ZlYXR1cmU+CisgICAgPC9Qcm9kdWN0PgorPC9XaXg+CmRpZmYgLS1naXQgYS9Ub29scy9tc2kvY3J0L2NydC53aXhwcm9qIGIvVG9vbHMvbXNpL2NydC9jcnQud2l4cHJvagpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44Mzg5YjNhCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvbXNpL2NydC9jcnQud2l4cHJvagpAQCAtMCwwICsxLDIwIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgorPFByb2plY3QgVG9vbHNWZXJzaW9uPSI0LjAiIERlZmF1bHRUYXJnZXRzPSJCdWlsZCIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+CisgICAgPFByb3BlcnR5R3JvdXA+CisgICAgICAgIDxQcm9qZWN0R3VpZD57OTFDOTkyOTgtOEUyRS00NDIyLUE1QUYtQ0M0RkZGOUE1OEQzfTwvUHJvamVjdEd1aWQ+CisgICAgICAgIDxTY2hlbWFWZXJzaW9uPjIuMDwvU2NoZW1hVmVyc2lvbj4KKyAgICAgICAgPE91dHB1dE5hbWU+Y3J0PC9PdXRwdXROYW1lPgorICAgICAgICA8T3V0cHV0VHlwZT5QYWNrYWdlPC9PdXRwdXRUeXBlPgorICAgICAgICA8U3VwcHJlc3NJY2VzPklDRTcxPC9TdXBwcmVzc0ljZXM+CisgICAgPC9Qcm9wZXJ0eUdyb3VwPgorICAgIDxJbXBvcnQgUHJvamVjdD0iLi5cbXNpLnByb3BzIiAvPgorICAgIDxJdGVtR3JvdXA+CisgICAgICAgIDxDb21waWxlIEluY2x1ZGU9ImNydC53eHMiIC8+CisgICAgICAgIDxDb21waWxlIEluY2x1ZGU9ImNydF9maWxlcy4kKFZpc3VhbFN0dWRpb1ZlcnNpb24pLnd4cyIgLz4KKyAgICA8L0l0ZW1Hcm91cD4KKyAgICA8SXRlbUdyb3VwPgorICAgICAgICA8RW1iZWRkZWRSZXNvdXJjZSBJbmNsdWRlPSIqLnd4bCIgLz4KKyAgICA8L0l0ZW1Hcm91cD4KKyAgICAKKyAgICA8SW1wb3J0IFByb2plY3Q9Ii4uXG1zaS50YXJnZXRzIiAvPgorPC9Qcm9qZWN0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL1Rvb2xzL21zaS9jcnQvY3J0Lnd4cyBiL1Rvb2xzL21zaS9jcnQvY3J0Lnd4cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41YjEwMDk1Ci0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvbXNpL2NydC9jcnQud3hzCkBAIC0wLDAgKzEsMjYgQEAKK++7vzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8V2l4IHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3dpeC8yMDA2L3dpIj4KKyAgICA8UHJvZHVjdCBJZD0iKiIgTGFuZ3VhZ2U9IiEobG9jLkxDSUQpIiBOYW1lPSIhKGxvYy5UaXRsZSkiIFZlcnNpb249IiQodmFyLlZlcnNpb24pIiBNYW51ZmFjdHVyZXI9IiEobG9jLk1hbnVmYWN0dXJlcikiIFVwZ3JhZGVDb2RlPSIkKHZhci5VcGdyYWRlQ29kZSkiPgorICAgICAgICA8UGFja2FnZSBJbnN0YWxsZXJWZXJzaW9uPSIzMDAiIENvbXByZXNzZWQ9InllcyIgSW5zdGFsbFNjb3BlPSJwZXJVc2VyIiBQbGF0Zm9ybT0iJCh2YXIuUGxhdGZvcm0pIiAvPgorICAgICAgICA8TWVkaWFUZW1wbGF0ZSBFbWJlZENhYj0ieWVzIiBDb21wcmVzc2lvbkxldmVsPSJoaWdoIiAvPgorICAgICAgICAKKyAgICAgICAgPFByb3BlcnR5UmVmIElkPSJVcGdyYWRlVGFibGUiIC8+CisgICAgICAgIAorICAgICAgICA8P2lmICQodmFyLlBsYXRmb3JtKX49eDY0ID8+CisgICAgICAgIDw/ZGVmaW5lIERpck5hbWU9U3lzdGVtNjQ/PgorICAgICAgICA8P2Vsc2UgPz4KKyAgICAgICAgPD9kZWZpbmUgRGlyTmFtZT1TeXN0ZW0/PgorICAgICAgICA8P2VuZGlmID8+CisgICAgICAgIDxEaXJlY3RvcnlSZWYgSWQ9IlRBUkdFVERJUiI+CisgICAgICAgICAgICA8RGlyZWN0b3J5IElkPSIkKHZhci5EaXJOYW1lKUZvbGRlciIgTmFtZT0iJCh2YXIuRGlyTmFtZSkiPgorICAgICAgICAgICAgICAgIDxEaXJlY3RvcnkgSWQ9IlN5c3RlbUluc3RhbGxEaXJlY3RvcnkiIE5hbWU9Ii4iIC8+CisgICAgICAgICAgICA8L0RpcmVjdG9yeT4KKyAgICAgICAgPC9EaXJlY3RvcnlSZWY+CisgICAgICAgIDw/dW5kZWYgRGlyTmFtZSA/PgorICAgICAgICAKKyAgICAgICAgPEZlYXR1cmUgSWQ9IkRlZmF1bHRGZWF0dXJlIiBBbGxvd0FkdmVydGlzZT0ibm8iIFRpdGxlPSIhKGxvYy5UaXRsZSkiIERlc2NyaXB0aW9uPSIhKGxvYy5EZXNjcmlwdGlvbikiPgorICAgICAgICAgICAgPENvbXBvbmVudEdyb3VwUmVmIElkPSJjcnRfZmlsZXMiIC8+CisgICAgICAgIDwvRmVhdHVyZT4KKyAgICA8L1Byb2R1Y3Q+Cis8L1dpeD4KKwpkaWZmIC0tZ2l0IGEvVG9vbHMvbXNpL2NydC9jcnRfZW4tVVMud3hsIGIvVG9vbHMvbXNpL2NydC9jcnRfZW4tVVMud3hsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNlZTNjOGEKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9tc2kvY3J0L2NydF9lbi1VUy53eGwKQEAgLTAsMCArMSw1IEBACivvu788P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgorPFdpeExvY2FsaXphdGlvbiBDdWx0dXJlPSJlbi11cyIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vd2l4LzIwMDYvbG9jYWxpemF0aW9uIj4KKyAgICA8U3RyaW5nIElkPSJEZXNjcmlwdG9yIj5DIFJ1bnRpbWU8L1N0cmluZz4KKyAgICA8U3RyaW5nIElkPSJTaG9ydERlc2NyaXB0b3IiPmNydDwvU3RyaW5nPgorPC9XaXhMb2NhbGl6YXRpb24+CmRpZmYgLS1naXQgYS9Ub29scy9tc2kvY3J0L2NydF9maWxlcy4xMi4wLnd4cyBiL1Rvb2xzL21zaS9jcnQvY3J0X2ZpbGVzLjEyLjAud3hzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY2MjU5M2YKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9tc2kvY3J0L2NydF9maWxlcy4xMi4wLnd4cwpAQCAtMCwwICsxLDIwIEBACivvu788P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPFdpeCB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS93aXgvMjAwNi93aSI+CisgICAgPEZyYWdtZW50PgorICAgICAgICA8P2lmICQodmFyLlBsYXRmb3JtKX49eDY0ID8+CisgICAgICAgIDw/ZGVmaW5lIG1zdmNyMTIwR3VpZD17MDgzNUM5NDctRDZEMi00RTUyLUFGMTQtMDIzMUQwNEU4OEVBfT8+CisgICAgICAgIDw/ZWxzZSA/PgorICAgICAgICA8P2RlZmluZSBtc3ZjcjEyMEd1aWQ9e0U1QjkyMDQ4LTU4NTktNEFGMS1BRUFELUI5N0VCRjAwQjA4N30gPz4KKyAgICAgICAgPD9lbmRpZiA/PgorICAgICAgICA8Q29tcG9uZW50R3JvdXAgSWQ9ImNydF9maWxlcyI+CisgICAgICAgICAgICA8Q29tcG9uZW50IElkPSJtc3ZjcjEyMC5kbGxfTE0iIERpcmVjdG9yeT0iU3lzdGVtSW5zdGFsbERpcmVjdG9yeSIgR3VpZD0iJCh2YXIubXN2Y3IxMjBHdWlkKSIgU2hhcmVkPSJ5ZXMiIFNoYXJlZERsbFJlZkNvdW50PSJ5ZXMiPgorICAgICAgICAgICAgICAgIDxDb25kaXRpb24+QUxMVVNFUlM9MTwvQ29uZGl0aW9uPgorICAgICAgICAgICAgICAgIDxGaWxlIElkPSJtc3ZjcjEyMC5kbGxfTE0iIFNvdXJjZT0iIShiaW5kcGF0aC5jcnQpXG1zdmNyMTIwLmRsbCIgLz4KKyAgICAgICAgICAgIDwvQ29tcG9uZW50PgorICAgICAgICAgICAgPENvbXBvbmVudCBJZD0ibXN2Y3IxMjAuZGxsX0NVIiBEaXJlY3Rvcnk9Ikluc3RhbGxEaXJlY3RvcnkiIEd1aWQ9IioiPgorICAgICAgICAgICAgICAgIDxDb25kaXRpb24+Tk9UIEFMTFVTRVJTPTE8L0NvbmRpdGlvbj4KKyAgICAgICAgICAgICAgICA8RmlsZSBJZD0ibXN2Y3IxMjAuZGxsX0NVIiBTb3VyY2U9IiEoYmluZHBhdGguY3J0KVxtc3ZjcjEyMC5kbGwiIC8+CisgICAgICAgICAgICA8L0NvbXBvbmVudD4KKyAgICAgICAgPC9Db21wb25lbnRHcm91cD4KKyAgICA8L0ZyYWdtZW50PgorPC9XaXg+CmRpZmYgLS1naXQgYS9Ub29scy9tc2kvY3J0L2NydF9maWxlcy4xNC4wLnd4cyBiL1Rvb2xzL21zaS9jcnQvY3J0X2ZpbGVzLjE0LjAud3hzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJlNjgyYzkKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9tc2kvY3J0L2NydF9maWxlcy4xNC4wLnd4cwpAQCAtMCwwICsxLDQwIEBACivvu788P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPFdpeCB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS93aXgvMjAwNi93aSI+CisgICAgPEZyYWdtZW50PgorICAgICAgICA8P2lmICQodmFyLlBsYXRmb3JtKX49eDY0ID8+CisgICAgICAgIDw/ZGVmaW5lIGFwcGNydDE0MEd1aWQ9e0NDMTYwRkE5LUI1MTktMzhFQy1CMzU4LUI0MTQ2RTg1MDZDOH0/PgorICAgICAgICA8P2RlZmluZSBkZXNrdG9wY3J0MTQwR3VpZD17NERCNzhBNzktOEQ3Ri0zNURELUIwRTgtNzM2REU0NEQyNUYzfT8+CisgICAgICAgIDw/ZGVmaW5lIHZjcnVudGltZTE0MEd1aWQ9e0IzMzI1OEZELTc1MEMtM0I0Mi04QkU0LTUzNUI0OEU5N0RCNH0/PgorICAgICAgICA8P2Vsc2UgPz4KKyAgICAgICAgPD9kZWZpbmUgYXBwY3J0MTQwR3VpZD17RTM4NTRGOUMtNENGQi0zQjg1LTkwQkQtODZBQTIyRDgyREM4fT8+CisgICAgICAgIDw/ZGVmaW5lIGRlc2t0b3BjcnQxNDBHdWlkPXs0NkVBQjFDRC1DMzYyLTMxMzktQkQ3RS1EODc4MkU2NTI1M0F9Pz4KKyAgICAgICAgPD9kZWZpbmUgdmNydW50aW1lMTQwR3VpZD17RThFMzlEM0ItNEYzNS0zNkQ4LUI4OTItNEIyODMzNkZFMDQxfT8+CisgICAgICAgIDw/ZW5kaWYgPz4KKyAgICAgICAgPENvbXBvbmVudEdyb3VwIElkPSJjcnRfZmlsZXMiPgorICAgICAgICAgICAgPENvbXBvbmVudCBJZD0iYXBwY3J0MTQwLmRsbF9MTSIgRGlyZWN0b3J5PSJTeXN0ZW1JbnN0YWxsRGlyZWN0b3J5IiBHdWlkPSIkKHZhci5hcHBjcnQxNDBHdWlkKSIgU2hhcmVkPSJ5ZXMiIFNoYXJlZERsbFJlZkNvdW50PSJ5ZXMiPgorICAgICAgICAgICAgICAgIDxDb25kaXRpb24+QUxMVVNFUlM9MTwvQ29uZGl0aW9uPgorICAgICAgICAgICAgICAgIDxGaWxlIElkPSJhcHBjcnQxNDAuZGxsX0xNIiBTb3VyY2U9IiEoYmluZHBhdGguY3J0KVxhcHBjcnQxNDAuZGxsIiAvPgorICAgICAgICAgICAgPC9Db21wb25lbnQ+CisgICAgICAgICAgICA8Q29tcG9uZW50IElkPSJkZXNrdG9wY3J0MTQwLmRsbF9MTSIgRGlyZWN0b3J5PSJTeXN0ZW1JbnN0YWxsRGlyZWN0b3J5IiBHdWlkPSIkKHZhci5kZXNrdG9wY3J0MTQwR3VpZCkiIFNoYXJlZD0ieWVzIiBTaGFyZWREbGxSZWZDb3VudD0ieWVzIj4KKyAgICAgICAgICAgICAgICA8Q29uZGl0aW9uPkFMTFVTRVJTPTE8L0NvbmRpdGlvbj4KKyAgICAgICAgICAgICAgICA8RmlsZSBJZD0iZGVza3RvcGNydDE0MC5kbGxfTE0iIFNvdXJjZT0iIShiaW5kcGF0aC5jcnQpXGRlc2t0b3BjcnQxNDAuZGxsIiAvPgorICAgICAgICAgICAgPC9Db21wb25lbnQ+CisgICAgICAgICAgICA8Q29tcG9uZW50IElkPSJ2Y3J1bnRpbWUxNDAuZGxsX0xNIiBEaXJlY3Rvcnk9IlN5c3RlbUluc3RhbGxEaXJlY3RvcnkiIEd1aWQ9IiQodmFyLnZjcnVudGltZTE0MEd1aWQpIiBTaGFyZWQ9InllcyIgU2hhcmVkRGxsUmVmQ291bnQ9InllcyI+CisgICAgICAgICAgICAgICAgPENvbmRpdGlvbj5BTExVU0VSUz0xPC9Db25kaXRpb24+CisgICAgICAgICAgICAgICAgPEZpbGUgSWQ9InZjcnVudGltZTE0MC5kbGxfTE0iIFNvdXJjZT0iIShiaW5kcGF0aC5jcnQpXHZjcnVudGltZTE0MC5kbGwiIC8+CisgICAgICAgICAgICA8L0NvbXBvbmVudD4KKyAgICAgICAgICAgIDxDb21wb25lbnQgSWQ9ImFwcGNydDE0MC5kbGxfQ1UiIERpcmVjdG9yeT0iSW5zdGFsbERpcmVjdG9yeSIgR3VpZD0iKiI+CisgICAgICAgICAgICAgICAgPENvbmRpdGlvbj5OT1QgQUxMVVNFUlM9MTwvQ29uZGl0aW9uPgorICAgICAgICAgICAgICAgIDxGaWxlIElkPSJhcHBjcnQxNDAuZGxsX0NVIiBTb3VyY2U9IiEoYmluZHBhdGguY3J0KVxhcHBjcnQxNDAuZGxsIiAvPgorICAgICAgICAgICAgPC9Db21wb25lbnQ+CisgICAgICAgICAgICA8Q29tcG9uZW50IElkPSJkZXNrdG9wY3J0MTQwLmRsbF9DVSIgRGlyZWN0b3J5PSJJbnN0YWxsRGlyZWN0b3J5IiBHdWlkPSIqIj4KKyAgICAgICAgICAgICAgICA8Q29uZGl0aW9uPk5PVCBBTExVU0VSUz0xPC9Db25kaXRpb24+CisgICAgICAgICAgICAgICAgPEZpbGUgSWQ9ImRlc2t0b3BjcnQxNDAuZGxsX0NVIiBTb3VyY2U9IiEoYmluZHBhdGguY3J0KVxkZXNrdG9wY3J0MTQwLmRsbCIgLz4KKyAgICAgICAgICAgIDwvQ29tcG9uZW50PgorICAgICAgICAgICAgPENvbXBvbmVudCBJZD0idmNydW50aW1lMTQwLmRsbF9DVSIgRGlyZWN0b3J5PSJJbnN0YWxsRGlyZWN0b3J5IiBHdWlkPSIqIj4KKyAgICAgICAgICAgICAgICA8Q29uZGl0aW9uPk5PVCBBTExVU0VSUz0xPC9Db25kaXRpb24+CisgICAgICAgICAgICAgICAgPEZpbGUgSWQ9InZjcnVudGltZTE0MC5kbGxfQ1UiIFNvdXJjZT0iIShiaW5kcGF0aC5jcnQpXHZjcnVudGltZTE0MC5kbGwiIC8+CisgICAgICAgICAgICA8L0NvbXBvbmVudD4KKyAgICAgICAgPC9Db21wb25lbnRHcm91cD4KKyAgICA8L0ZyYWdtZW50PgorPC9XaXg+CmRpZmYgLS1naXQgYS9Ub29scy9tc2kvY3J0L2NydGxpY2Vuc2UudHh0IGIvVG9vbHMvbXNpL2NydC9jcnRsaWNlbnNlLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xZjBmMWY5Ci0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvbXNpL2NydC9jcnRsaWNlbnNlLnR4dApAQCAtMCwwICsxLDQ3IEBACisKKworQWRkaXRpb25hbCBDb25kaXRpb25zIGZvciB0aGlzIFdpbmRvd3MgYmluYXJ5IGJ1aWxkCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworVGhpcyBwcm9ncmFtIGlzIGxpbmtlZCB3aXRoIGFuZCB1c2VzIE1pY3Jvc29mdCBEaXN0cmlidXRhYmxlIENvZGUsCitjb3B5cmlnaHRlZCBieSBNaWNyb3NvZnQgQ29ycG9yYXRpb24uIFRoZSBNaWNyb3NvZnQgRGlzdHJpYnV0YWJsZSBDb2RlCitpbmNsdWRlcyB0aGUgZm9sbG93aW5nIGZpbGVzOgorCithcHBjcnQxNDAuZGxsCitkZXNrdG9wY3J0MTQwLmRsbAordmNydW50aW1lMTQwLmRsbAorbXN2Y3AxNDAuZGxsCitjb25jcnQxNDAuZGxsCit2Y2NvcmxpYjE0MC5kbGwKKworSWYgeW91IGZ1cnRoZXIgZGlzdHJpYnV0ZSBwcm9ncmFtcyB0aGF0IGluY2x1ZGUgdGhlIE1pY3Jvc29mdAorRGlzdHJpYnV0YWJsZSBDb2RlLCB5b3UgbXVzdCBjb21wbHkgd2l0aCB0aGUgcmVzdHJpY3Rpb25zIG9uCitkaXN0cmlidXRpb24gc3BlY2lmaWVkIGJ5IE1pY3Jvc29mdC4gSW4gcGFydGljdWxhciwgeW91IG11c3QgcmVxdWlyZQorZGlzdHJpYnV0b3JzIGFuZCBleHRlcm5hbCBlbmQgdXNlcnMgdG8gYWdyZWUgdG8gdGVybXMgdGhhdCBwcm90ZWN0IHRoZQorTWljcm9zb2Z0IERpc3RyaWJ1dGFibGUgQ29kZSBhdCBsZWFzdCBhcyBtdWNoIGFzIE1pY3Jvc29mdCdzIG93bgorcmVxdWlyZW1lbnRzIGZvciB0aGUgRGlzdHJpYnV0YWJsZSBDb2RlLiBTZWUgTWljcm9zb2Z0J3MgZG9jdW1lbnRhdGlvbgorKGluY2x1ZGVkIGluIGl0cyBkZXZlbG9wZXIgdG9vbHMgYW5kIG9uIGl0cyB3ZWJzaXRlIGF0IG1pY3Jvc29mdC5jb20pCitmb3Igc3BlY2lmaWMgZGV0YWlscy4KKworUmVkaXN0cmlidXRpb24gb2YgdGhlIFdpbmRvd3MgYmluYXJ5IGJ1aWxkIG9mIHRoZSBQeXRob24gaW50ZXJwcmV0ZXIKK2NvbXBsaWVzIHdpdGggdGhpcyBhZ3JlZW1lbnQsIHByb3ZpZGVkIHRoYXQgeW91IGRvIG5vdDoKKworLSBhbHRlciBhbnkgY29weXJpZ2h0LCB0cmFkZW1hcmsgb3IgcGF0ZW50IG5vdGljZSBpbiBNaWNyb3NvZnQncworRGlzdHJpYnV0YWJsZSBDb2RlOworCistIHVzZSBNaWNyb3NvZnQncyB0cmFkZW1hcmtzIGluIHlvdXIgcHJvZ3JhbXMnIG5hbWVzIG9yIGluIGEgd2F5IHRoYXQKK3N1Z2dlc3RzIHlvdXIgcHJvZ3JhbXMgY29tZSBmcm9tIG9yIGFyZSBlbmRvcnNlZCBieSBNaWNyb3NvZnQ7CisKKy0gZGlzdHJpYnV0ZSBNaWNyb3NvZnQncyBEaXN0cmlidXRhYmxlIENvZGUgdG8gcnVuIG9uIGEgcGxhdGZvcm0gb3RoZXIKK3RoYW4gTWljcm9zb2Z0IG9wZXJhdGluZyBzeXN0ZW1zLCBydW4tdGltZSB0ZWNobm9sb2dpZXMgb3IgYXBwbGljYXRpb24KK3BsYXRmb3Jtczsgb3IKKworLSBpbmNsdWRlIE1pY3Jvc29mdCBEaXN0cmlidXRhYmxlIENvZGUgaW4gbWFsaWNpb3VzLCBkZWNlcHRpdmUgb3IKK3VubGF3ZnVsIHByb2dyYW1zLgorCitUaGVzZSByZXN0cmljdGlvbnMgYXBwbHkgb25seSB0byB0aGUgTWljcm9zb2Z0IERpc3RyaWJ1dGFibGUgQ29kZSBhcworZGVmaW5lZCBhYm92ZSwgbm90IHRvIFB5dGhvbiBpdHNlbGYgb3IgYW55IHByb2dyYW1zIHJ1bm5pbmcgb24gdGhlCitQeXRob24gaW50ZXJwcmV0ZXIuIFRoZSByZWRpc3RyaWJ1dGlvbiBvZiB0aGUgUHl0aG9uIGludGVycHJldGVyIGFuZAorbGlicmFyaWVzIGlzIGdvdmVybmVkIGJ5IHRoZSBQeXRob24gU29mdHdhcmUgTGljZW5zZSBpbmNsdWRlZCB3aXRoIHRoaXMKK2ZpbGUsIG9yIGJ5IG90aGVyIGxpY2Vuc2VzIGFzIG1hcmtlZC4KKwpkaWZmIC0tZ2l0IGEvVG9vbHMvbXNpL2Nzdl90b193eHMucHkgYi9Ub29scy9tc2kvY3N2X3RvX3d4cy5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yMzVjOGY4Ci0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvbXNpL2Nzdl90b193eHMucHkKQEAgLTAsMCArMSwxMjcgQEAKKycnJworUHJvY2Vzc2VzIGEgQ1NWIGZpbGUgY29udGFpbmluZyBhIGxpc3Qgb2YgZmlsZXMgaW50byBhIFdYUyBmaWxlIHdpdGgKK2NvbXBvbmVudHMgZm9yIGVhY2ggbGlzdGVkIGZpbGUuCisKK1RoZSBDU1YgY29sdW1ucyBhcmU6CisgICAgc291cmNlIG9mIGZpbGUsIHRhcmdldCBmb3IgZmlsZSwgZ3JvdXAgbmFtZQorCitVc2FnZTo6CisgICAgcHkgdHh0X3RvX3d4cy5weSBbcGF0aCB0byBmaWxlIGxpc3QgLmNzdl0gW3BhdGggdG8gZGVzdGluYXRpb24gLnd4c10KKworVGhpcyBpcyBuZWNlc3NhcnkgdG8gaGFuZGxlIHN0cnVjdHVyZXMgd2hlcmUgc29tZSBkaXJlY3RvcmllcyBvbmx5Citjb250YWluIG90aGVyIGRpcmVjdG9yaWVzLiBNU0J1aWxkIGlzIG5vdCBhYmxlIHRvIGdlbmVyYXRlIHRoZQorRGlyZWN0b3J5IGVudHJpZXMgaW4gdGhlIFdYUyBmaWxlIGNvcnJlY3RseSwgYXMgaXQgb3BlcmF0ZXMgb24gZmlsZXMuCitQeXRob24sIGhvd2V2ZXIsIGNhbiBlYXNpbHkgZmlsbCBpbiB0aGUgZ2FwLgorJycnCisKK19fYXV0aG9yX18gPSAiU3RldmUgRG93ZXIgPHN0ZXZlLmRvd2VyQG1pY3Jvc29mdC5jb20+IgorCitpbXBvcnQgY3N2CitpbXBvcnQgcmUKK2ltcG9ydCBzeXMKKworZnJvbSBjb2xsZWN0aW9ucyBpbXBvcnQgZGVmYXVsdGRpY3QKK2Zyb20gaXRlcnRvb2xzIGltcG9ydCBjaGFpbiwgemlwX2xvbmdlc3QKK2Zyb20gcGF0aGxpYiBpbXBvcnQgUHVyZVdpbmRvd3NQYXRoCitmcm9tIHV1aWQgaW1wb3J0IHV1aWQxCisKK0lEX0NIQVJfU1VCUyA9IHsKKyAgICAnLSc6ICdfJywKKyAgICAnKyc6ICdfUCcsCit9CisKK2RlZiBtYWtlX2lkKHBhdGgpOgorICAgIHJldHVybiByZS5zdWIoCisgICAgICAgIHInW15BLVphLXowLTlfLl0nLAorICAgICAgICBsYW1iZGEgbTogSURfQ0hBUl9TVUJTLmdldChtLmdyb3VwKDApLCAnXycpLAorICAgICAgICBzdHIocGF0aCkucnN0cmlwKCcvXFwnKSwKKyAgICAgICAgZmxhZ3M9cmUuSQorICAgICkKKworRElSRUNUT1JJRVMgPSBzZXQoKQorCitkZWYgbWFpbihmaWxlX3NvdXJjZSwgaW5zdGFsbF90YXJnZXQpOgorICAgIHdpdGggb3BlbihmaWxlX3NvdXJjZSwgJ3InLCBuZXdsaW5lPScnKSBhcyBmOgorICAgICAgICBmaWxlcyA9IGxpc3QoY3N2LnJlYWRlcihmKSkKKworICAgIGFzc2VydCBsZW4oZmlsZXMpID09IGxlbihzZXQobWFrZV9pZChmWzFdKSBmb3IgZiBpbiBmaWxlcykpLCAiRHVwbGljYXRlIGZpbGUgSURzIGV4aXN0IgorCisgICAgZGlyZWN0b3JpZXMgPSBkZWZhdWx0ZGljdChzZXQpCisgICAgY2FjaGVfZGlyZWN0b3JpZXMgPSBkZWZhdWx0ZGljdChzZXQpCisgICAgZ3JvdXBzID0gZGVmYXVsdGRpY3QobGlzdCkKKyAgICBmb3Igc291cmNlLCB0YXJnZXQsIGdyb3VwLCBkaXNrX2lkLCBjb25kaXRpb24gaW4gZmlsZXM6CisgICAgICAgIHRhcmdldCA9IFB1cmVXaW5kb3dzUGF0aCh0YXJnZXQpCisgICAgICAgIGdyb3Vwc1tncm91cF0uYXBwZW5kKChzb3VyY2UsIHRhcmdldCwgZGlza19pZCwgY29uZGl0aW9uKSkKKworICAgICAgICBpZiB0YXJnZXQuc3VmZml4Lmxvd2VyKCkgaW4geyIucHkiLCAiLnB5dyJ9OgorICAgICAgICAgICAgY2FjaGVfZGlyZWN0b3JpZXNbZ3JvdXBdLmFkZCh0YXJnZXQucGFyZW50KQorCisgICAgICAgIGZvciBkaXJuYW1lIGluIHRhcmdldC5wYXJlbnRzOgorICAgICAgICAgICAgcGFyZW50ID0gbWFrZV9pZChkaXJuYW1lLnBhcmVudCkKKyAgICAgICAgICAgIGlmIHBhcmVudCBhbmQgcGFyZW50ICE9ICcuJzoKKyAgICAgICAgICAgICAgICBkaXJlY3Rvcmllc1twYXJlbnRdLmFkZChkaXJuYW1lLm5hbWUpCisKKyAgICBsaW5lcyA9IFsKKyAgICAgICAgJzxXaXggeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vd2l4LzIwMDYvd2kiPicsCisgICAgICAgICcgICAgPEZyYWdtZW50PicsCisgICAgXQorICAgIGZvciBkaXJfcGFyZW50IGluIHNvcnRlZChkaXJlY3Rvcmllcyk6CisgICAgICAgIGxpbmVzLmFwcGVuZCgnICAgICAgICA8RGlyZWN0b3J5UmVmIElkPSJ7fSI+Jy5mb3JtYXQoZGlyX3BhcmVudCkpCisgICAgICAgIGZvciBkaXJfbmFtZSBpbiBzb3J0ZWQoZGlyZWN0b3JpZXNbZGlyX3BhcmVudF0pOgorICAgICAgICAgICAgbGluZXMuYXBwZW5kKCcgICAgICAgICAgICA8RGlyZWN0b3J5IElkPSJ7fV97fSIgTmFtZT0ie30iIC8+Jy5mb3JtYXQoZGlyX3BhcmVudCwgbWFrZV9pZChkaXJfbmFtZSksIGRpcl9uYW1lKSkKKyAgICAgICAgbGluZXMuYXBwZW5kKCcgICAgICAgIDwvRGlyZWN0b3J5UmVmPicpCisgICAgZm9yIGRpcl9wYXJlbnQgaW4gKG1ha2VfaWQoZCkgZm9yIGdyb3VwIGluIGNhY2hlX2RpcmVjdG9yaWVzLnZhbHVlcygpIGZvciBkIGluIGdyb3VwKToKKyAgICAgICAgbGluZXMuYXBwZW5kKCcgICAgICAgIDxEaXJlY3RvcnlSZWYgSWQ9Int9Ij4nLmZvcm1hdChkaXJfcGFyZW50KSkKKyAgICAgICAgbGluZXMuYXBwZW5kKCcgICAgICAgICAgICA8RGlyZWN0b3J5IElkPSJ7fV9fX3B5Y2FjaGVfXyIgTmFtZT0iX19weWNhY2hlX18iIC8+Jy5mb3JtYXQoZGlyX3BhcmVudCkpCisgICAgICAgIGxpbmVzLmFwcGVuZCgnICAgICAgICA8L0RpcmVjdG9yeVJlZj4nKQorICAgIGxpbmVzLmFwcGVuZCgnICAgIDwvRnJhZ21lbnQ+JykKKworICAgIGZvciBncm91cCBpbiBzb3J0ZWQoZ3JvdXBzKToKKyAgICAgICAgbGluZXMuZXh0ZW5kKFsKKyAgICAgICAgICAgICcgICAgPEZyYWdtZW50PicsCisgICAgICAgICAgICAnICAgICAgICA8Q29tcG9uZW50R3JvdXAgSWQ9Int9Ij4nLmZvcm1hdChncm91cCksCisgICAgICAgIF0pCisgICAgICAgIGZvciBzb3VyY2UsIHRhcmdldCwgZGlza19pZCwgY29uZGl0aW9uIGluIGdyb3Vwc1tncm91cF06CisgICAgICAgICAgICBsaW5lcy5hcHBlbmQoJyAgICAgICAgICAgIDxDb21wb25lbnQgSWQ9Int9IiBEaXJlY3Rvcnk9Int9IiBHdWlkPSIqIj4nLmZvcm1hdChtYWtlX2lkKHRhcmdldCksIG1ha2VfaWQodGFyZ2V0LnBhcmVudCkpKQorICAgICAgICAgICAgaWYgY29uZGl0aW9uOgorICAgICAgICAgICAgICAgIGxpbmVzLmFwcGVuZCgnICAgICAgICAgICAgICAgIDxDb25kaXRpb24+e308L0NvbmRpdGlvbj4nLmZvcm1hdChjb25kaXRpb24pKQorCisgICAgICAgICAgICBpZiBkaXNrX2lkOgorICAgICAgICAgICAgICAgIGxpbmVzLmFwcGVuZCgnICAgICAgICAgICAgICAgIDxGaWxlIElkPSJ7fSIgTmFtZT0ie30iIFNvdXJjZT0ie30iIERpc2tJZD0ie30iIC8+Jy5mb3JtYXQobWFrZV9pZCh0YXJnZXQpLCB0YXJnZXQubmFtZSwgc291cmNlLCBkaXNrX2lkKSkKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgbGluZXMuYXBwZW5kKCcgICAgICAgICAgICAgICAgPEZpbGUgSWQ9Int9IiBOYW1lPSJ7fSIgU291cmNlPSJ7fSIgLz4nLmZvcm1hdChtYWtlX2lkKHRhcmdldCksIHRhcmdldC5uYW1lLCBzb3VyY2UpKQorICAgICAgICAgICAgbGluZXMuYXBwZW5kKCcgICAgICAgICAgICA8L0NvbXBvbmVudD4nKQorCisgICAgICAgIGNyZWF0ZV9mb2xkZXJzID0ge21ha2VfaWQocCkgKyAiX19fcHljYWNoZV9fIiBmb3IgcCBpbiBjYWNoZV9kaXJlY3Rvcmllc1tncm91cF19CisgICAgICAgIHJlbW92ZV9mb2xkZXJzID0ge21ha2VfaWQocDIpIGZvciBwMSBpbiBjYWNoZV9kaXJlY3Rvcmllc1tncm91cF0gZm9yIHAyIGluIGNoYWluKChwMSwpLCBwMS5wYXJlbnRzKX0KKyAgICAgICAgY3JlYXRlX2ZvbGRlcnMuZGlzY2FyZCgiLiIpCisgICAgICAgIHJlbW92ZV9mb2xkZXJzLmRpc2NhcmQoIi4iKQorICAgICAgICBpZiBjcmVhdGVfZm9sZGVycyBvciByZW1vdmVfZm9sZGVyczoKKyAgICAgICAgICAgIGxpbmVzLmFwcGVuZCgnICAgICAgICAgICAgPENvbXBvbmVudCBJZD0ie31fX3B5Y2FjaGVfX2ZvbGRlcnMiIERpcmVjdG9yeT0iVEFSR0VURElSIiBHdWlkPSJ7fSI+Jy5mb3JtYXQoZ3JvdXAsIHV1aWQxKCkpKQorICAgICAgICAgICAgbGluZXMuZXh0ZW5kKCcgICAgICAgICAgICAgICAgPENyZWF0ZUZvbGRlciBEaXJlY3Rvcnk9Int9IiAvPicuZm9ybWF0KHApIGZvciBwIGluIGNyZWF0ZV9mb2xkZXJzKQorICAgICAgICAgICAgbGluZXMuZXh0ZW5kKCcgICAgICAgICAgICAgICAgPFJlbW92ZUZpbGUgSWQ9IlJlbW92ZV97MH1fZmlsZXMiIE5hbWU9IioiIE9uPSJ1bmluc3RhbGwiIERpcmVjdG9yeT0iezB9IiAvPicuZm9ybWF0KHApIGZvciBwIGluIGNyZWF0ZV9mb2xkZXJzKQorICAgICAgICAgICAgbGluZXMuZXh0ZW5kKCcgICAgICAgICAgICAgICAgPFJlbW92ZUZvbGRlciBJZD0iUmVtb3ZlX3swfV9mb2xkZXIiIE9uPSJ1bmluc3RhbGwiIERpcmVjdG9yeT0iezB9IiAvPicuZm9ybWF0KHApIGZvciBwIGluIGNyZWF0ZV9mb2xkZXJzIHwgcmVtb3ZlX2ZvbGRlcnMpCisgICAgICAgICAgICBsaW5lcy5hcHBlbmQoJyAgICAgICAgICAgIDwvQ29tcG9uZW50PicpCisKKyAgICAgICAgbGluZXMuZXh0ZW5kKFsKKyAgICAgICAgICAgICcgICAgICAgIDwvQ29tcG9uZW50R3JvdXA+JywKKyAgICAgICAgICAgICcgICAgPC9GcmFnbWVudD4nLAorICAgICAgICBdKQorICAgIGxpbmVzLmFwcGVuZCgnPC9XaXg+JykKKworICAgICMgQ2hlY2sgaWYgdGhlIGZpbGUgbWF0Y2hlcy4gSWYgc28sIHdlIGRvbid0IHdhbnQgdG8gdG91Y2ggaXQgc28KKyAgICAjIHRoYXQgd2UgY2FuIHNraXAgcmVidWlsZGluZy4KKyAgICB0cnk6CisgICAgICAgIHdpdGggb3BlbihpbnN0YWxsX3RhcmdldCwgJ3InKSBhcyBmOgorICAgICAgICAgICAgaWYgYWxsKHgucnN0cmlwKCdcclxuJykgPT0geSBmb3IgeCwgeSBpbiB6aXBfbG9uZ2VzdChmLCBsaW5lcykpOgorICAgICAgICAgICAgICAgIHByaW50KCdGaWxlIGlzIHVwIHRvIGRhdGUnKQorICAgICAgICAgICAgICAgIHJldHVybgorICAgIGV4Y2VwdCBJT0Vycm9yOgorICAgICAgICBwYXNzCisKKyAgICB3aXRoIG9wZW4oaW5zdGFsbF90YXJnZXQsICd3JykgYXMgZjoKKyAgICAgICAgZi53cml0ZWxpbmVzKGxpbmUgKyAnXG4nIGZvciBsaW5lIGluIGxpbmVzKQorICAgIHByaW50KCdXcm90ZSB7fSBsaW5lcyB0byB7fScuZm9ybWF0KGxlbihsaW5lcyksIGluc3RhbGxfdGFyZ2V0KSkKKworaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoKKyAgICBtYWluKHN5cy5hcmd2WzFdLCBzeXMuYXJndlsyXSkKZGlmZiAtLWdpdCBhL1Rvb2xzL21zaS9kZXYvZGV2LndpeHByb2ogYi9Ub29scy9tc2kvZGV2L2Rldi53aXhwcm9qCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUxNDQ4NzgKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9tc2kvZGV2L2Rldi53aXhwcm9qCkBAIC0wLDAgKzEsNDkgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Cis8UHJvamVjdCBUb29sc1ZlcnNpb249IjQuMCIgRGVmYXVsdFRhcmdldHM9IkJ1aWxkIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4KKyAgICA8UHJvcGVydHlHcm91cD4KKyAgICAgICAgPFByb2plY3RHdWlkPns1RjIzRjYwOC1ENzRCLTQyNTktQTBDRS04REM2NUNDN0ZFNTN9PC9Qcm9qZWN0R3VpZD4KKyAgICAgICAgPFNjaGVtYVZlcnNpb24+Mi4wPC9TY2hlbWFWZXJzaW9uPgorICAgICAgICA8T3V0cHV0TmFtZSBDb25kaXRpb249IickKE91dHB1dE5hbWUpJyA9PSAnJyI+ZGV2PC9PdXRwdXROYW1lPgorICAgICAgICA8T3V0cHV0VHlwZT5QYWNrYWdlPC9PdXRwdXRUeXBlPgorICAgIDwvUHJvcGVydHlHcm91cD4KKyAgICA8SW1wb3J0IFByb2plY3Q9Ii4uXG1zaS5wcm9wcyIgLz4KKyAgICA8UHJvcGVydHlHcm91cD4KKyAgICAgICAgPERlZmluZUNvbnN0YW50cyBDb25kaXRpb249IiQoQnVpbGRGb3JSZWxlYXNlKSI+CisgICAgICAgICAgICAkKERlZmluZUNvbnN0YW50cyk7CisgICAgICAgICAgICBJbmNsdWRlTWluR1dMaWI9MTsKKyAgICAgICAgPC9EZWZpbmVDb25zdGFudHM+CisgICAgPC9Qcm9wZXJ0eUdyb3VwPgorICAgIDxJdGVtR3JvdXA+CisgICAgICAgIDxDb21waWxlIEluY2x1ZGU9ImRldi53eHMiIC8+CisgICAgICAgIDxDb21waWxlIEluY2x1ZGU9ImRldl9maWxlcy53eHMiIC8+CisgICAgPC9JdGVtR3JvdXA+CisgICAgPEl0ZW1Hcm91cD4KKyAgICAgICAgPEVtYmVkZGVkUmVzb3VyY2UgSW5jbHVkZT0iKi53eGwiIC8+CisgICAgPC9JdGVtR3JvdXA+CisgICAgPEl0ZW1Hcm91cD4KKyAgICAgICAgPEluc3RhbGxGaWxlcyBJbmNsdWRlPSIkKFB5U291cmNlUGF0aClpbmNsdWRlXCouaCI+CisgICAgICAgICAgICA8U291cmNlQmFzZT4kKFB5U291cmNlUGF0aCk8L1NvdXJjZUJhc2U+CisgICAgICAgICAgICA8U291cmNlPiEoYmluZHBhdGguc3JjKTwvU291cmNlPgorICAgICAgICAgICAgPFRhcmdldEJhc2U+JChQeVNvdXJjZVBhdGgpPC9UYXJnZXRCYXNlPgorICAgICAgICAgICAgPFRhcmdldF8+PC9UYXJnZXRfPgorICAgICAgICAgICAgPEdyb3VwPmRldl9pbmNsdWRlPC9Hcm91cD4KKyAgICAgICAgPC9JbnN0YWxsRmlsZXM+CisgICAgPC9JdGVtR3JvdXA+CisgICAgCisgICAgPFRhcmdldCBOYW1lPSJCdWlsZE1pbkdXTGliIgorICAgICAgICAgICAgSW5wdXRzPSIkKEJ1aWxkUGF0aCkkKFB5RGxsTmFtZSkuZGxsIgorICAgICAgICAgICAgT3V0cHV0cz0iJChCdWlsZFBhdGgpbGliJChQeURsbE5hbWUpLmEiCisgICAgICAgICAgICBBZnRlclRhcmdldHM9IlByZXBhcmVGb3JCdWlsZCIKKyAgICAgICAgICAgIENvbmRpdGlvbj0iJChCdWlsZEZvclJlbGVhc2UpIj4KKyAgICAgICAgPCEtLSBCdWlsZCBsaWJweXRob24jIy5hIGFzIHBhcnQgb2YgdGhpcyBwcm9qZWN0LiBUaGlzIHJlcXVpcmVzIGdlbmRlZiBhbmQgZGxsdG9vbCBvbiB0aGUgcGF0aC4gLS0+CisgICAgICAgIDxQcm9wZXJ0eUdyb3VwPgorICAgICAgICAgICAgPF9HZW5EZWZQbGF0Zm9ybT5pMzg2PC9fR2VuRGVmUGxhdGZvcm0+CisgICAgICAgICAgICA8X0dlbkRlZlBsYXRmb3JtIENvbmRpdGlvbj0iJChQbGF0Zm9ybSkgPT0gJ3g2NCciPmkzODY6eDg2LTY0PC9fR2VuRGVmUGxhdGZvcm0+CisgICAgICAgIDwvUHJvcGVydHlHcm91cD4KKworICAgICAgICA8RXhlYyBDb21tYW5kPSdnZW5kZWYgLSAiJChCdWlsZFBhdGgpJChQeURsbE5hbWUpLmRsbCIgJmd0OyAiJChJbnRlcm1lZGlhdGVPdXRwdXRQYXRoKW1pbmd3bGliLmRlZiInIENvbnRpbnVlT25FcnJvcj0iZmFsc2UiIC8+CisgICAgICAgIDxFeGVjIENvbW1hbmQ9J2RsbHRvb2wgLS1kbGxuYW1lICQoUHlEbGxOYW1lKS5kbGwgLS1kZWYgIiQoSW50ZXJtZWRpYXRlT3V0cHV0UGF0aCltaW5nd2xpYi5kZWYiIC0tb3V0cHV0LWxpYiAiJChCdWlsZFBhdGgpbGliJChQeURsbE5hbWUpLmEiIC1tICQoX0dlbkRlZlBsYXRmb3JtKScgLz4KKyAgICA8L1RhcmdldD4KKworICAgIDxJbXBvcnQgUHJvamVjdD0iLi5cbXNpLnRhcmdldHMiIC8+Cis8L1Byb2plY3Q+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvVG9vbHMvbXNpL2Rldi9kZXYud3hzIGIvVG9vbHMvbXNpL2Rldi9kZXYud3hzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY4YWY5YWEKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9tc2kvZGV2L2Rldi53eHMKQEAgLTAsMCArMSwxOCBAQAor77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzxXaXggeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vd2l4LzIwMDYvd2kiPgorICAgIDxQcm9kdWN0IElkPSIqIiBMYW5ndWFnZT0iIShsb2MuTENJRCkiIE5hbWU9IiEobG9jLlRpdGxlKSIgVmVyc2lvbj0iJCh2YXIuVmVyc2lvbikiIE1hbnVmYWN0dXJlcj0iIShsb2MuTWFudWZhY3R1cmVyKSIgVXBncmFkZUNvZGU9IiQodmFyLlVwZ3JhZGVDb2RlKSI+CisgICAgICAgIDxQYWNrYWdlIEluc3RhbGxlclZlcnNpb249IjMwMCIgQ29tcHJlc3NlZD0ieWVzIiBJbnN0YWxsU2NvcGU9InBlclVzZXIiIFBsYXRmb3JtPSIkKHZhci5QbGF0Zm9ybSkiIC8+CisgICAgICAgIDxNZWRpYVRlbXBsYXRlIEVtYmVkQ2FiPSJ5ZXMiIENvbXByZXNzaW9uTGV2ZWw9ImhpZ2giIC8+CisgICAgICAgIAorICAgICAgICA8UHJvcGVydHlSZWYgSWQ9IlVwZ3JhZGVUYWJsZSIgLz4KKyAgICAgICAgCisgICAgICAgIDxGZWF0dXJlIElkPSJEZWZhdWx0RmVhdHVyZSIgQWxsb3dBZHZlcnRpc2U9Im5vIiBUaXRsZT0iIShsb2MuVGl0bGUpIiBEZXNjcmlwdGlvbj0iIShsb2MuRGVzY3JpcHRpb24pIj4KKyAgICAgICAgICAgIDxDb21wb25lbnRHcm91cFJlZiBJZD0iZGV2X2luY2x1ZGUiIC8+CisgICAgICAgICAgICA8Q29tcG9uZW50R3JvdXBSZWYgSWQ9ImRldl9weWNvbmZpZyIgLz4KKyAgICAgICAgICAgIDxDb21wb25lbnRHcm91cFJlZiBJZD0iZGV2X2xpYnMiIC8+Cis8P2lmZGVmIEluY2x1ZGVNaW5HV0xpYiA/PgorICAgICAgICAgICAgPENvbXBvbmVudEdyb3VwUmVmIElkPSJkZXZfbWluZ3ciIC8+Cis8P2VuZGlmID8+CisgICAgICAgIDwvRmVhdHVyZT4KKyAgICA8L1Byb2R1Y3Q+Cis8L1dpeD4KZGlmZiAtLWdpdCBhL1Rvb2xzL21zaS9kZXYvZGV2X2Qud2l4cHJvaiBiL1Rvb2xzL21zaS9kZXYvZGV2X2Qud2l4cHJvagpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iM2IwNTMyCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvbXNpL2Rldi9kZXZfZC53aXhwcm9qCkBAIC0wLDAgKzEsMTkgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Cis8UHJvamVjdCBUb29sc1ZlcnNpb249IjQuMCIgRGVmYXVsdFRhcmdldHM9IkJ1aWxkIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4KKyAgICA8UHJvcGVydHlHcm91cD4KKyAgICAgICAgPFByb2plY3RHdWlkPntDMTFCNDk0NS03NkJELTQxMzctQjJFMy02NDk0NjAxMTdBNzd9PC9Qcm9qZWN0R3VpZD4KKyAgICAgICAgPFNjaGVtYVZlcnNpb24+Mi4wPC9TY2hlbWFWZXJzaW9uPgorICAgICAgICA8T3V0cHV0TmFtZT5kZXZfZDwvT3V0cHV0TmFtZT4KKyAgICAgICAgPE91dHB1dFR5cGU+UGFja2FnZTwvT3V0cHV0VHlwZT4KKyAgICA8L1Byb3BlcnR5R3JvdXA+CisgICAgPEltcG9ydCBQcm9qZWN0PSIuLlxtc2kucHJvcHMiIC8+CisgICAgPEl0ZW1Hcm91cD4KKyAgICAgICAgPENvbXBpbGUgSW5jbHVkZT0iZGV2X2Qud3hzIiAvPgorICAgICAgICA8Q29tcGlsZSBJbmNsdWRlPSJkZXZfZmlsZXMud3hzIiAvPgorICAgIDwvSXRlbUdyb3VwPgorICAgIDxJdGVtR3JvdXA+CisgICAgICAgIDxFbWJlZGRlZFJlc291cmNlIEluY2x1ZGU9Iioud3hsIiAvPgorICAgIDwvSXRlbUdyb3VwPgorCisgICAgPEltcG9ydCBQcm9qZWN0PSIuLlxtc2kudGFyZ2V0cyIgLz4KKzwvUHJvamVjdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9Ub29scy9tc2kvZGV2L2Rldl9kLnd4cyBiL1Rvb2xzL21zaS9kZXYvZGV2X2Qud3hzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmMzY2IyZWEKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9tc2kvZGV2L2Rldl9kLnd4cwpAQCAtMCwwICsxLDEzIEBACivvu788P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPFdpeCB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS93aXgvMjAwNi93aSI+CisgICAgPFByb2R1Y3QgSWQ9IioiIExhbmd1YWdlPSIhKGxvYy5MQ0lEKSIgTmFtZT0iIShsb2MuVGl0bGUpIiBWZXJzaW9uPSIkKHZhci5WZXJzaW9uKSIgTWFudWZhY3R1cmVyPSIhKGxvYy5NYW51ZmFjdHVyZXIpIiBVcGdyYWRlQ29kZT0iJCh2YXIuVXBncmFkZUNvZGUpIj4KKyAgICAgICAgPFBhY2thZ2UgSW5zdGFsbGVyVmVyc2lvbj0iMzAwIiBDb21wcmVzc2VkPSJ5ZXMiIEluc3RhbGxTY29wZT0icGVyVXNlciIgUGxhdGZvcm09IiQodmFyLlBsYXRmb3JtKSIgLz4KKyAgICAgICAgPE1lZGlhVGVtcGxhdGUgRW1iZWRDYWI9InllcyIgQ29tcHJlc3Npb25MZXZlbD0iaGlnaCIgLz4KKyAgICAgICAgCisgICAgICAgIDxQcm9wZXJ0eVJlZiBJZD0iVXBncmFkZVRhYmxlIiAvPgorICAgICAgICAKKyAgICAgICAgPEZlYXR1cmUgSWQ9IkRlYnVnQmluYXJpZXMiIEFsbG93QWR2ZXJ0aXNlPSJubyIgVGl0bGU9IiEobG9jLlRpdGxlX2QpIiBEZXNjcmlwdGlvbj0iIShsb2MuRGVzY3JpcHRpb25fZCkiPgorICAgICAgICAgICAgPENvbXBvbmVudEdyb3VwUmVmIElkPSJkZXZfbGlic19kIiAvPgorICAgICAgICA8L0ZlYXR1cmU+CisgICAgPC9Qcm9kdWN0PgorPC9XaXg+CmRpZmYgLS1naXQgYS9Ub29scy9tc2kvZGV2L2Rldl9lbi1VUy53eGwgYi9Ub29scy9tc2kvZGV2L2Rldl9lbi1VUy53eGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjU0NmUxMwotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL21zaS9kZXYvZGV2X2VuLVVTLnd4bApAQCAtMCwwICsxLDUgQEAKK++7vzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Cis8V2l4TG9jYWxpemF0aW9uIEN1bHR1cmU9ImVuLXVzIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS93aXgvMjAwNi9sb2NhbGl6YXRpb24iPgorICAgIDxTdHJpbmcgSWQ9IkRlc2NyaXB0b3IiPkRldmVsb3BtZW50IExpYnJhcmllczwvU3RyaW5nPgorICAgIDxTdHJpbmcgSWQ9IlNob3J0RGVzY3JpcHRvciI+ZGV2PC9TdHJpbmc+Cis8L1dpeExvY2FsaXphdGlvbj4KZGlmZiAtLWdpdCBhL1Rvb2xzL21zaS9kZXYvZGV2X2ZpbGVzLnd4cyBiL1Rvb2xzL21zaS9kZXYvZGV2X2ZpbGVzLnd4cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45NjU0ZDJlCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvbXNpL2Rldi9kZXZfZmlsZXMud3hzCkBAIC0wLDAgKzEsNDIgQEAKK++7vzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8V2l4IHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3dpeC8yMDA2L3dpIj4KKyAgICA8RnJhZ21lbnQ+CisgICAgICAgIDxDb21wb25lbnRHcm91cCBJZD0iZGV2X3B5Y29uZmlnIj4KKyAgICAgICAgICAgIDxDb21wb25lbnQgSWQ9ImluY2x1ZGVfcHljb25maWcuaCIgRGlyZWN0b3J5PSJpbmNsdWRlIiBHdWlkPSIqIj4KKyAgICAgICAgICAgICAgICA8RmlsZSBJZD0iaW5jbHVkZV9weWNvbmZpZy5oIiBOYW1lPSJweWNvbmZpZy5oIiBTb3VyY2U9IiEoYmluZHBhdGguc3JjKVBDXHB5Y29uZmlnLmgiIEtleVBhdGg9InllcyIgLz4KKyAgICAgICAgICAgIDwvQ29tcG9uZW50PgorICAgICAgICA8L0NvbXBvbmVudEdyb3VwPgorICAgIDwvRnJhZ21lbnQ+CisgICAgCisgICAgPEZyYWdtZW50PgorICAgICAgICA8Q29tcG9uZW50R3JvdXAgSWQ9ImRldl9saWJzIj4KKyAgICAgICAgICAgIDxDb21wb25lbnQgSWQ9ImxpYnNfcHl0aG9uMy5saWIiIERpcmVjdG9yeT0ibGlicyIgR3VpZD0iKiI+CisgICAgICAgICAgICAgICAgPEZpbGUgSWQ9ImxpYnNfcHl0aG9uX3N0YWJsZS5saWIiIE5hbWU9InB5dGhvbiQodmFyLk1ham9yVmVyc2lvbk51bWJlcikubGliIiBLZXlQYXRoPSJ5ZXMiIC8+CisgICAgICAgICAgICA8L0NvbXBvbmVudD4KKyAgICAgICAgICAgIDxDb21wb25lbnQgSWQ9ImxpYnNfcHl0aG9uLmxpYiIgRGlyZWN0b3J5PSJsaWJzIiBHdWlkPSIqIj4KKyAgICAgICAgICAgICAgICA8RmlsZSBJZD0ibGlic19weXRob24ubGliIiBOYW1lPSJweXRob24kKHZhci5NYWpvclZlcnNpb25OdW1iZXIpJCh2YXIuTWlub3JWZXJzaW9uTnVtYmVyKS5saWIiIEtleVBhdGg9InllcyIgLz4KKyAgICAgICAgICAgIDwvQ29tcG9uZW50PgorICAgICAgICA8L0NvbXBvbmVudEdyb3VwPgorICAgIDwvRnJhZ21lbnQ+CisgICAgCisgICAgPEZyYWdtZW50PgorICAgICAgICA8Q29tcG9uZW50R3JvdXAgSWQ9ImRldl9saWJzX2QiPgorICAgICAgICAgICAgPENvbXBvbmVudCBJZD0ibGlic19weXRob24zX2QubGliIiBEaXJlY3Rvcnk9ImxpYnMiIEd1aWQ9IioiPgorICAgICAgICAgICAgICAgIDxGaWxlIElkPSJsaWJzX3B5dGhvbl9zdGFibGVfZC5saWIiIE5hbWU9InB5dGhvbiQodmFyLk1ham9yVmVyc2lvbk51bWJlcilfZC5saWIiIC8+CisgICAgICAgICAgICA8L0NvbXBvbmVudD4KKyAgICAgICAgICAgIDxDb21wb25lbnQgSWQ9ImxpYnNfcHl0aG9uX2QubGliIiBEaXJlY3Rvcnk9ImxpYnMiIEd1aWQ9IioiPgorICAgICAgICAgICAgICAgIDxGaWxlIElkPSJsaWJzX3B5dGhvbl9kLmxpYiIgTmFtZT0icHl0aG9uJCh2YXIuTWFqb3JWZXJzaW9uTnVtYmVyKSQodmFyLk1pbm9yVmVyc2lvbk51bWJlcilfZC5saWIiIC8+CisgICAgICAgICAgICA8L0NvbXBvbmVudD4KKyAgICAgICAgPC9Db21wb25lbnRHcm91cD4KKyAgICA8L0ZyYWdtZW50PgorICAgIAorICAgIDw/aWZkZWYgSW5jbHVkZU1pbkdXTGliID8+CisgICAgPEZyYWdtZW50PgorICAgICAgICA8Q29tcG9uZW50R3JvdXAgSWQ9ImRldl9taW5ndyI+CisgICAgICAgICAgICA8Q29tcG9uZW50IElkPSJsaWJzX2xpYnB5dGhvbi5hIiBEaXJlY3Rvcnk9ImxpYnMiIEd1aWQ9IioiPgorICAgICAgICAgICAgICAgIDxGaWxlIElkPSJsaWJzX2xpYnB5dGhvbi5hIiBOYW1lPSJsaWJweXRob24kKHZhci5NYWpvclZlcnNpb25OdW1iZXIpJCh2YXIuTWlub3JWZXJzaW9uTnVtYmVyKS5hIiBLZXlQYXRoPSJ5ZXMiIC8+CisgICAgICAgICAgICA8L0NvbXBvbmVudD4KKyAgICAgICAgPC9Db21wb25lbnRHcm91cD4KKyAgICA8L0ZyYWdtZW50PgorICAgIDw/ZW5kaWYgPz4KKzwvV2l4PgpkaWZmIC0tZ2l0IGEvVG9vbHMvbXNpL2RvYy9kb2Mud2l4cHJvaiBiL1Rvb2xzL21zaS9kb2MvZG9jLndpeHByb2oKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWE5OTI5YQotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL21zaS9kb2MvZG9jLndpeHByb2oKQEAgLTAsMCArMSwzMCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KKzxQcm9qZWN0IFRvb2xzVmVyc2lvbj0iNC4wIiBEZWZhdWx0VGFyZ2V0cz0iQnVpbGQiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2RldmVsb3Blci9tc2J1aWxkLzIwMDMiPgorICAgIDxQcm9wZXJ0eUdyb3VwPgorICAgICAgICA8UHJvamVjdEd1aWQ+ezBENjJBMkJCLTVGNzEtNDQ0Ny04QzhDLTk3MDg0MDdCMzY3NH08L1Byb2plY3RHdWlkPgorICAgICAgICA8U2NoZW1hVmVyc2lvbj4yLjA8L1NjaGVtYVZlcnNpb24+CisgICAgICAgIDxPdXRwdXROYW1lPmRvYzwvT3V0cHV0TmFtZT4KKyAgICAgICAgPE91dHB1dFR5cGU+UGFja2FnZTwvT3V0cHV0VHlwZT4KKyAgICAgICAgPCEtLSBTaG9ydGN1dCB2YWxpZGF0aW9uIGlzIG5vdCBuZWNlc3NhcnkgLS0+CisgICAgICAgIDxTdXBwcmVzc0lDRXM+SUNFNDM8L1N1cHByZXNzSUNFcz4KKyAgICA8L1Byb3BlcnR5R3JvdXA+CisgICAgPEltcG9ydCBQcm9qZWN0PSIuLlxtc2kucHJvcHMiIC8+CisgICAgPFByb3BlcnR5R3JvdXA+CisgICAgICAgIDxEb2NGaWxlbmFtZT5weXRob24kKE1ham9yVmVyc2lvbk51bWJlcikkKE1pbm9yVmVyc2lvbk51bWJlcikkKE1pY3JvVmVyc2lvbk51bWJlcikkKFJlbGVhc2VMZXZlbE5hbWUpLmNobTwvRG9jRmlsZW5hbWU+CisgICAgICAgIDxJbmNsdWRlRG9jRmlsZT5mYWxzZTwvSW5jbHVkZURvY0ZpbGU+CisgICAgICAgIDxJbmNsdWRlRG9jRmlsZSBDb25kaXRpb249IiQoQnVpbGRGb3JSZWxlYXNlKSBvciBFeGlzdHMoJyQoUHlTb3VyY2VQYXRoKURvY1xidWlsZFxodG1saGVscFwkKERvY0ZpbGVuYW1lKScpIj50cnVlPC9JbmNsdWRlRG9jRmlsZT4KKyAgICA8L1Byb3BlcnR5R3JvdXA+CisgICAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSIkKEluY2x1ZGVEb2NGaWxlKSI+CisgICAgICAgIDxEZWZpbmVDb25zdGFudHM+JChEZWZpbmVDb25zdGFudHMpO0RvY0ZpbGVuYW1lPSQoRG9jRmlsZW5hbWUpOzwvRGVmaW5lQ29uc3RhbnRzPgorICAgIDwvUHJvcGVydHlHcm91cD4KKyAgICA8SXRlbUdyb3VwPgorICAgICAgICA8Q29tcGlsZSBJbmNsdWRlPSJkb2Mud3hzIiAvPgorICAgICAgICA8Q29tcGlsZSBJbmNsdWRlPSJkb2NfZmlsZXMud3hzIiBDb25kaXRpb249IiQoSW5jbHVkZURvY0ZpbGUpIiAvPgorICAgICAgICA8Q29tcGlsZSBJbmNsdWRlPSJkb2Nfbm9fZmlsZXMud3hzIiBDb25kaXRpb249IiEkKEluY2x1ZGVEb2NGaWxlKSIgLz4KKyAgICA8L0l0ZW1Hcm91cD4KKyAgICA8SXRlbUdyb3VwPgorICAgICAgICA8V3hsVGVtcGxhdGUgSW5jbHVkZT0iKi53eGxfdGVtcGxhdGUiIC8+CisgICAgPC9JdGVtR3JvdXA+CisgICAgCisgICAgPEltcG9ydCBQcm9qZWN0PSIuLlxtc2kudGFyZ2V0cyIgLz4KKzwvUHJvamVjdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9Ub29scy9tc2kvZG9jL2RvYy53eHMgYi9Ub29scy9tc2kvZG9jL2RvYy53eHMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGRhYjgzYgotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL21zaS9kb2MvZG9jLnd4cwpAQCAtMCwwICsxLDI4IEBACivvu788P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPFdpeCB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS93aXgvMjAwNi93aSI+CisgICAgPFByb2R1Y3QgSWQ9IioiIExhbmd1YWdlPSIhKGxvYy5MQ0lEKSIgTmFtZT0iIShsb2MuVGl0bGUpIiBWZXJzaW9uPSIkKHZhci5WZXJzaW9uKSIgTWFudWZhY3R1cmVyPSIhKGxvYy5NYW51ZmFjdHVyZXIpIiBVcGdyYWRlQ29kZT0iJCh2YXIuVXBncmFkZUNvZGUpIj4KKyAgICAgICAgPFBhY2thZ2UgSW5zdGFsbGVyVmVyc2lvbj0iMzAwIiBDb21wcmVzc2VkPSJ5ZXMiIEluc3RhbGxTY29wZT0icGVyVXNlciIgUGxhdGZvcm09IiQodmFyLlBsYXRmb3JtKSIgLz4KKyAgICAgICAgPE1lZGlhVGVtcGxhdGUgRW1iZWRDYWI9InllcyIgQ29tcHJlc3Npb25MZXZlbD0iaGlnaCIgLz4KKyAgICAgICAgCisgICAgICAgIDxQcm9wZXJ0eVJlZiBJZD0iVXBncmFkZVRhYmxlIiAvPgorICAgICAgICA8UHJvcGVydHlSZWYgSWQ9IlJFR0lTVFJZS0VZIiAvPgorICAgICAgICAKKyAgICAgICAgPEZlYXR1cmUgSWQ9IkRlZmF1bHRGZWF0dXJlIiBBbGxvd0FkdmVydGlzZT0ibm8iIFRpdGxlPSIhKGxvYy5UaXRsZSkiIERlc2NyaXB0aW9uPSIhKGxvYy5EZXNjcmlwdGlvbikiPgorICAgICAgICAgICAgPENvbXBvbmVudEdyb3VwUmVmIElkPSJkb2MiIC8+CisgICAgICAgICAgICAKKyAgICAgICAgICAgIDw/aWZkZWYgRG9jRmlsZW5hbWUgPz4KKyAgICAgICAgICAgIDxDb21wb25lbnQgSWQ9ImRvY19zaG9ydGN1dCIgRGlyZWN0b3J5PSJNZW51RGlyIiBHdWlkPSIqIj4KKyAgICAgICAgICAgICAgICA8UmVnaXN0cnlLZXkgUm9vdD0iSEtNVSIgS2V5PSJbUkVHSVNUUllLRVldIj4KKyAgICAgICAgICAgICAgICAgICAgPFJlZ2lzdHJ5VmFsdWUgS2V5PSJIZWxwXE1haW4gUHl0aG9uIERvY3VtZW50YXRpb24iIFR5cGU9InN0cmluZyIgVmFsdWU9IlsjcHl0aG9uLmNobV0iIEtleVBhdGg9InllcyIgLz4KKyAgICAgICAgICAgICAgICA8L1JlZ2lzdHJ5S2V5PgorICAgICAgICAgICAgICAgIDxTaG9ydGN1dCBJZD0icHl0aG9uLmNobSIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgVGFyZ2V0PSJbI3B5dGhvbi5jaG1dIgorICAgICAgICAgICAgICAgICAgICAgICAgICBOYW1lPSIhKGxvYy5TaG9ydGN1dE5hbWUpIgorICAgICAgICAgICAgICAgICAgICAgICAgICBEZXNjcmlwdGlvbj0iIShsb2MuU2hvcnRjdXREZXNjcmlwdGlvbikiIC8+CisgICAgICAgICAgICAgICAgPFJlbW92ZUZvbGRlciBJZD0iUmVtb3ZlX01lbnVEaXIiIE9uPSJ1bmluc3RhbGwiIC8+CisgICAgICAgICAgICA8L0NvbXBvbmVudD4KKyAgICAgICAgICAgIDw/ZW5kaWYgPz4KKworICAgICAgICA8L0ZlYXR1cmU+CisgICAgPC9Qcm9kdWN0PgorPC9XaXg+CmRpZmYgLS1naXQgYS9Ub29scy9tc2kvZG9jL2RvY19lbi1VUy53eGxfdGVtcGxhdGUgYi9Ub29scy9tc2kvZG9jL2RvY19lbi1VUy53eGxfdGVtcGxhdGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDlkZjU4MgotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL21zaS9kb2MvZG9jX2VuLVVTLnd4bF90ZW1wbGF0ZQpAQCAtMCwwICsxLDcgQEAKK++7vzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Cis8V2l4TG9jYWxpemF0aW9uIEN1bHR1cmU9ImVuLXVzIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS93aXgvMjAwNi9sb2NhbGl6YXRpb24iPgorICAgIDxTdHJpbmcgSWQ9IlNob3J0RGVzY3JpcHRvciI+ZG9jPC9TdHJpbmc+CisgICAgPFN0cmluZyBJZD0iRGVzY3JpcHRvciI+RG9jdW1lbnRhdGlvbjwvU3RyaW5nPgorICAgIDxTdHJpbmcgSWQ9IlNob3J0Y3V0TmFtZSI+UHl0aG9uIHt7U2hvcnRWZXJzaW9ufX0ge3tCaXRuZXNzfX0gTWFudWFsczwvU3RyaW5nPgorICAgIDxTdHJpbmcgSWQ9IlNob3J0Y3V0RGVzY3JpcHRpb24iPlZpZXcgdGhlICEobG9jLlByb2R1Y3ROYW1lKSBkb2N1bWVudGF0aW9uLjwvU3RyaW5nPgorPC9XaXhMb2NhbGl6YXRpb24+CmRpZmYgLS1naXQgYS9Ub29scy9tc2kvZG9jL2RvY19maWxlcy53eHMgYi9Ub29scy9tc2kvZG9jL2RvY19maWxlcy53eHMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjJhYWJmYgotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL21zaS9kb2MvZG9jX2ZpbGVzLnd4cwpAQCAtMCwwICsxLDEyIEBACivvu788P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPFdpeCB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS93aXgvMjAwNi93aSI+CisgICAgPEZyYWdtZW50PgorICAgICAgICA8UHJvcGVydHlSZWYgSWQ9IlJFR0lTVFJZS0VZIiAvPgorICAgICAgICAKKyAgICAgICAgPENvbXBvbmVudEdyb3VwIElkPSJkb2MiPgorICAgICAgICAgICAgPENvbXBvbmVudCBJZD0icHl0aG9uLmNobSIgRGlyZWN0b3J5PSJEb2MiIEd1aWQ9IioiPgorICAgICAgICAgICAgICAgIDxGaWxlIElkPSJweXRob24uY2htIiBOYW1lPSIkKHZhci5Eb2NGaWxlbmFtZSkiIEtleVBhdGg9InllcyIgLz4KKyAgICAgICAgICAgIDwvQ29tcG9uZW50PgorICAgICAgICA8L0NvbXBvbmVudEdyb3VwPgorICAgIDwvRnJhZ21lbnQ+Cis8L1dpeD4KZGlmZiAtLWdpdCBhL1Rvb2xzL21zaS9kb2MvZG9jX25vX2ZpbGVzLnd4cyBiL1Rvb2xzL21zaS9kb2MvZG9jX25vX2ZpbGVzLnd4cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43YWI3YzI2Ci0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvbXNpL2RvYy9kb2Nfbm9fZmlsZXMud3hzCkBAIC0wLDAgKzEsMTcgQEAKK++7vzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8V2l4IHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3dpeC8yMDA2L3dpIj4KKyAgICA8RnJhZ21lbnQ+CisgICAgICAgIDxDb21wb25lbnRHcm91cCBJZD0iZG9jIj4KKyAgICAgICAgICAgIDwhLS0KKyAgICAgICAgICAgIFRoaXMgZmlsZSBpcyBpbmNsdWRlZCB3aGVuIHRoZSBDSE0gaXMgbm90IGF2YWlsYWJsZS4KKyAgICAgICAgICAgIAorICAgICAgICAgICAgVGhpcyB3YXksIHNuYXBzaG90IGJ1aWxkcyBjYW4gc3VjY2VlZCB3aXRob3V0IGhhdmluZyB0bworICAgICAgICAgICAgYnVpbGQgdGhlIGRvY3MuCisgICAgICAgICAgICAtLT4KKyAgICAgICAgICAgIDxDb21wb25lbnQgSWQ9IkVtcHR5RG9jRm9sZGVyIiBEaXJlY3Rvcnk9IkRvYyIgR3VpZD0iezIyRkQ0MkRCLUVDNjYtNEIxQy1CMUZDLTQ0RTBDRjdCMjQ2Mn0iPgorICAgICAgICAgICAgICAgIDxDcmVhdGVGb2xkZXIgLz4KKyAgICAgICAgICAgICAgICA8UmVtb3ZlRm9sZGVyIElkPSJSZW1vdmVfRW1wdHlEb2NGb2xkZXIiIE9uPSJ1bmluc3RhbGwiIC8+CisgICAgICAgICAgICA8L0NvbXBvbmVudD4KKyAgICAgICAgPC9Db21wb25lbnRHcm91cD4KKyAgICA8L0ZyYWdtZW50PgorPC9XaXg+CmRpZmYgLS1naXQgYS9Ub29scy9tc2kvY3J0bGljZW5zZS50eHQgYi9Ub29scy9tc2kvZXhlL2NydGxpY2Vuc2UudHh0CnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBUb29scy9tc2kvY3J0bGljZW5zZS50eHQKcmVuYW1lIHRvIFRvb2xzL21zaS9leGUvY3J0bGljZW5zZS50eHQKZGlmZiAtLWdpdCBhL1Rvb2xzL21zaS9leGUvZXhlLndpeHByb2ogYi9Ub29scy9tc2kvZXhlL2V4ZS53aXhwcm9qCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQyNmE2MDMKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9tc2kvZXhlL2V4ZS53aXhwcm9qCkBAIC0wLDAgKzEsNDMgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Cis8UHJvamVjdCBUb29sc1ZlcnNpb249IjQuMCIgRGVmYXVsdFRhcmdldHM9IkJ1aWxkIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4KKyAgICA8UHJvcGVydHlHcm91cD4KKyAgICAgICAgPFByb2plY3RHdWlkPns2QkQ1MzMwNS1CMDNFLTQ5REMtODVGQi01NTUxQjhDQ0M4NDN9PC9Qcm9qZWN0R3VpZD4KKyAgICAgICAgPFNjaGVtYVZlcnNpb24+Mi4wPC9TY2hlbWFWZXJzaW9uPgorICAgICAgICA8T3V0cHV0TmFtZT5leGU8L091dHB1dE5hbWU+CisgICAgICAgIDxPdXRwdXRUeXBlPlBhY2thZ2U8L091dHB1dFR5cGU+CisgICAgPC9Qcm9wZXJ0eUdyb3VwPgorICAgIDxQcm9wZXJ0eUdyb3VwPgorICAgICAgICA8IS0tIFNob3J0Y3V0IHZhbGlkYXRpb24gaXMgbm90IG5lY2Vzc2FyeSAtLT4KKyAgICAgICAgPFN1cHByZXNzSUNFcz5JQ0U0MzwvU3VwcHJlc3NJQ0VzPgorICAgIDwvUHJvcGVydHlHcm91cD4KKyAgICA8SW1wb3J0IFByb2plY3Q9Ii4uXG1zaS5wcm9wcyIgLz4KKyAgICA8SXRlbUdyb3VwPgorICAgICAgICA8Q29tcGlsZSBJbmNsdWRlPSJleGUud3hzIiAvPgorICAgICAgICA8Q29tcGlsZSBJbmNsdWRlPSJleGVfZmlsZXMud3hzIiAvPgorICAgIDwvSXRlbUdyb3VwPgorICAgIDxJdGVtR3JvdXA+CisgICAgICAgIDxFbWJlZGRlZFJlc291cmNlIEluY2x1ZGU9Iioud3hsIiAvPgorICAgICAgICA8V3hsVGVtcGxhdGUgSW5jbHVkZT0iKi53eGxfdGVtcGxhdGUiIC8+CisgICAgPC9JdGVtR3JvdXA+CisgICAgCisgICAgPFRhcmdldCBOYW1lPSJfR2VuZXJhdGVMaWNlbnNlIiBBZnRlclRhcmdldHM9IlByZXBhcmVGb3JCdWlsZCI+CisgICAgICAgIDxJdGVtR3JvdXA+CisgICAgICAgICAgICA8TGljZW5zZUZpbGVzIEluY2x1ZGU9IiQoUHlTb3VyY2VQYXRoKUxJQ0VOU0U7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNydGxpY2Vuc2UudHh0OworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKGJ6MkRpcilMSUNFTlNFOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKG9wZW5zc2xEaXIpTElDRU5TRTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJCh0Y2xEaXIpbGljZW5zZS50ZXJtczsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJCh0a0RpcilsaWNlbnNlLnRlcm1zOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKHRpeERpcilsaWNlbnNlLnRlcm1zIiAvPgorICAgICAgICAgICAgPF9MaWNlbnNlRmlsZXMgSW5jbHVkZT0iQChMaWNlbnNlRmlsZXMpIj4KKyAgICAgICAgICAgICAgICA8Q29udGVudD4kKFtTeXN0ZW0uSU8uRmlsZV06OlJlYWRBbGxUZXh0KCUoRnVsbFBhdGgpKSk8L0NvbnRlbnQ+CisgICAgICAgICAgICA8L19MaWNlbnNlRmlsZXM+CisgICAgICAgIDwvSXRlbUdyb3VwPgorICAgICAgICAKKyAgICAgICAgPFdyaXRlTGluZXNUb0ZpbGUgRmlsZT0iJChCdWlsZFBhdGgpTElDRU5TRSIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgT3ZlcndyaXRlPSJ0cnVlIgorICAgICAgICAgICAgICAgICAgICAgICAgICBMaW5lcz0iQChfTGljZW5zZUZpbGVzLT4nJShDb250ZW50KScpIiAvPgorICAgIDwvVGFyZ2V0PgorICAgICAgICAKKyAgICA8SW1wb3J0IFByb2plY3Q9Ii4uXG1zaS50YXJnZXRzIiAvPgorPC9Qcm9qZWN0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL1Rvb2xzL21zaS9leGUvZXhlLnd4cyBiL1Rvb2xzL21zaS9leGUvZXhlLnd4cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45Njk2Yzg5Ci0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvbXNpL2V4ZS9leGUud3hzCkBAIC0wLDAgKzEsMjggQEAKK++7vzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8V2l4IHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3dpeC8yMDA2L3dpIj4KKyAgICA8UHJvZHVjdCBJZD0iKiIgTGFuZ3VhZ2U9IiEobG9jLkxDSUQpIiBOYW1lPSIhKGxvYy5UaXRsZSkiIFZlcnNpb249IiQodmFyLlZlcnNpb24pIiBNYW51ZmFjdHVyZXI9IiEobG9jLk1hbnVmYWN0dXJlcikiIFVwZ3JhZGVDb2RlPSIkKHZhci5VcGdyYWRlQ29kZSkiPgorICAgICAgICA8UGFja2FnZSBJbnN0YWxsZXJWZXJzaW9uPSIzMDAiIENvbXByZXNzZWQ9InllcyIgSW5zdGFsbFNjb3BlPSJwZXJVc2VyIiBQbGF0Zm9ybT0iJCh2YXIuUGxhdGZvcm0pIiAvPgorICAgICAgICA8TWVkaWFUZW1wbGF0ZSBFbWJlZENhYj0ieWVzIiBDb21wcmVzc2lvbkxldmVsPSJoaWdoIiAvPgorICAgICAgICAKKyAgICAgICAgPFByb3BlcnR5UmVmIElkPSJVcGdyYWRlVGFibGUiIC8+CisgICAgICAgIDxQcm9wZXJ0eVJlZiBJZD0iUkVHSVNUUllLRVkiIC8+CisgICAgICAgIAorICAgICAgICA8RmVhdHVyZSBJZD0iRGVmYXVsdEZlYXR1cmUiIEFsbG93QWR2ZXJ0aXNlPSJubyIgVGl0bGU9IiEobG9jLlRpdGxlKSIgRGVzY3JpcHRpb249IiEobG9jLkRlc2NyaXB0aW9uKSI+CisgICAgICAgICAgICA8Q29tcG9uZW50R3JvdXBSZWYgSWQ9ImV4ZV9weXRob24iIC8+CisgICAgICAgICAgICA8Q29tcG9uZW50R3JvdXBSZWYgSWQ9ImV4ZV90eHQiIC8+CisgICAgICAgICAgICA8Q29tcG9uZW50R3JvdXBSZWYgSWQ9ImV4ZV9pY29ucyIgLz4KKyAgICAgICAgICAgIAorICAgICAgICAgICAgPENvbXBvbmVudCBJZD0iZXhlX3Nob3J0Y3V0IiBEaXJlY3Rvcnk9Ik1lbnVEaXIiIEd1aWQ9IioiPgorICAgICAgICAgICAgICAgIDxTaG9ydGN1dCBJZD0icHl0aG9uLmV4ZSIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgVGFyZ2V0PSJbI3B5dGhvbi5leGVdIgorICAgICAgICAgICAgICAgICAgICAgICAgICBOYW1lPSIhKGxvYy5TaG9ydGN1dE5hbWUpIgorICAgICAgICAgICAgICAgICAgICAgICAgICBEZXNjcmlwdGlvbj0iIShsb2MuU2hvcnRjdXREZXNjcmlwdGlvbikiIC8+CisgICAgICAgICAgICAgICAgPFJlbW92ZUZvbGRlciBJZD0iUmVtb3ZlX01lbnVEaXIiIERpcmVjdG9yeT0iTWVudURpciIgT249InVuaW5zdGFsbCIgLz4KKyAgICAgICAgICAgICAgICA8UmVnaXN0cnlLZXkgUm9vdD0iSEtNVSIgS2V5PSJbUkVHSVNUUllLRVldIj4KKyAgICAgICAgICAgICAgICAgICAgPFJlZ2lzdHJ5VmFsdWUgS2V5PSJJbnN0YWxsUGF0aCIgVHlwZT0ic3RyaW5nIiBWYWx1ZT0iW0luc3RhbGxEaXJlY3RvcnldIiBLZXlQYXRoPSJ5ZXMiIC8+CisgICAgICAgICAgICAgICAgICAgIDxSZWdpc3RyeVZhbHVlIEtleT0iSW5zdGFsbFBhdGhcSW5zdGFsbEdyb3VwIiBUeXBlPSJzdHJpbmciIFZhbHVlPSJQeXRob24gJCh2YXIuU2hvcnRWZXJzaW9uKSIgLz4KKyAgICAgICAgICAgICAgICA8L1JlZ2lzdHJ5S2V5PgorICAgICAgICAgICAgPC9Db21wb25lbnQ+CisgICAgICAgIDwvRmVhdHVyZT4KKyAgICA8L1Byb2R1Y3Q+Cis8L1dpeD4KZGlmZiAtLWdpdCBhL1Rvb2xzL21zaS9leGUvZXhlX2Qud2l4cHJvaiBiL1Rvb2xzL21zaS9leGUvZXhlX2Qud2l4cHJvagpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNzU0NWNhCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvbXNpL2V4ZS9leGVfZC53aXhwcm9qCkBAIC0wLDAgKzEsMjAgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Cis8UHJvamVjdCBUb29sc1ZlcnNpb249IjQuMCIgRGVmYXVsdFRhcmdldHM9IkJ1aWxkIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4KKyAgICA8UHJvcGVydHlHcm91cD4KKyAgICAgICAgPFByb2plY3RHdWlkPntCMUNBNzM5Qy04REIwLTQwM0ItOTAxMC1ENzk1MDc1MDdDRTl9PC9Qcm9qZWN0R3VpZD4KKyAgICAgICAgPFNjaGVtYVZlcnNpb24+Mi4wPC9TY2hlbWFWZXJzaW9uPgorICAgICAgICA8T3V0cHV0TmFtZT5leGVfZDwvT3V0cHV0TmFtZT4KKyAgICAgICAgPE91dHB1dFR5cGU+UGFja2FnZTwvT3V0cHV0VHlwZT4KKyAgICA8L1Byb3BlcnR5R3JvdXA+CisgICAgPEltcG9ydCBQcm9qZWN0PSIuLlxtc2kucHJvcHMiIC8+CisgICAgPEl0ZW1Hcm91cD4KKyAgICAgICAgPENvbXBpbGUgSW5jbHVkZT0iZXhlX2Qud3hzIiAvPgorICAgICAgICA8Q29tcGlsZSBJbmNsdWRlPSJleGVfZmlsZXMud3hzIiAvPgorICAgIDwvSXRlbUdyb3VwPgorICAgIDxJdGVtR3JvdXA+CisgICAgICAgIDxFbWJlZGRlZFJlc291cmNlIEluY2x1ZGU9Iioud3hsIiAvPgorICAgICAgICA8V3hsVGVtcGxhdGUgSW5jbHVkZT0iKi53eGxfdGVtcGxhdGUiIC8+CisgICAgPC9JdGVtR3JvdXA+CisKKyAgICA8SW1wb3J0IFByb2plY3Q9Ii4uXG1zaS50YXJnZXRzIiAvPgorPC9Qcm9qZWN0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL1Rvb2xzL21zaS9leGUvZXhlX2Qud3hzIGIvVG9vbHMvbXNpL2V4ZS9leGVfZC53eHMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWJjYjAxMgotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL21zaS9leGUvZXhlX2Qud3hzCkBAIC0wLDAgKzEsMTMgQEAKK++7vzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8V2l4IHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3dpeC8yMDA2L3dpIj4KKyAgICA8UHJvZHVjdCBJZD0iKiIgTGFuZ3VhZ2U9IiEobG9jLkxDSUQpIiBOYW1lPSIhKGxvYy5UaXRsZSkiIFZlcnNpb249IiQodmFyLlZlcnNpb24pIiBNYW51ZmFjdHVyZXI9IiEobG9jLk1hbnVmYWN0dXJlcikiIFVwZ3JhZGVDb2RlPSIkKHZhci5VcGdyYWRlQ29kZSkiPgorICAgICAgICA8UGFja2FnZSBJbnN0YWxsZXJWZXJzaW9uPSIzMDAiIENvbXByZXNzZWQ9InllcyIgSW5zdGFsbFNjb3BlPSJwZXJVc2VyIiBQbGF0Zm9ybT0iJCh2YXIuUGxhdGZvcm0pIiAvPgorICAgICAgICA8TWVkaWFUZW1wbGF0ZSBFbWJlZENhYj0ieWVzIiBDb21wcmVzc2lvbkxldmVsPSJoaWdoIiAvPgorICAgICAgICAKKyAgICAgICAgPFByb3BlcnR5UmVmIElkPSJVcGdyYWRlVGFibGUiIC8+CisgICAgICAgIAorICAgICAgICA8RmVhdHVyZSBJZD0iRGVidWdCaW5hcmllcyIgQWxsb3dBZHZlcnRpc2U9Im5vIiBUaXRsZT0iIShsb2MuVGl0bGVfZCkiIERlc2NyaXB0aW9uPSIhKGxvYy5EZXNjcmlwdGlvbl9kKSI+CisgICAgICAgICAgICA8Q29tcG9uZW50R3JvdXBSZWYgSWQ9ImV4ZV9weXRob25fZCIgLz4KKyAgICAgICAgPC9GZWF0dXJlPgorICAgIDwvUHJvZHVjdD4KKzwvV2l4PgpkaWZmIC0tZ2l0IGEvVG9vbHMvbXNpL2V4ZS9leGVfZW4tVVMud3hsX3RlbXBsYXRlIGIvVG9vbHMvbXNpL2V4ZS9leGVfZW4tVVMud3hsX3RlbXBsYXRlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU3N2ZiZTUKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9tc2kvZXhlL2V4ZV9lbi1VUy53eGxfdGVtcGxhdGUKQEAgLTAsMCArMSw3IEBACivvu788P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgorPFdpeExvY2FsaXphdGlvbiBDdWx0dXJlPSJlbi11cyIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vd2l4LzIwMDYvbG9jYWxpemF0aW9uIj4KKyAgICA8U3RyaW5nIElkPSJEZXNjcmlwdG9yIj5FeGVjdXRhYmxlczwvU3RyaW5nPgorICAgIDxTdHJpbmcgSWQ9IlNob3J0RGVzY3JpcHRvciI+ZXhlY3V0YWJsZTwvU3RyaW5nPgorICAgIDxTdHJpbmcgSWQ9IlNob3J0Y3V0TmFtZSI+UHl0aG9uIHt7U2hvcnRWZXJzaW9ufX0gKHt7Qml0bmVzc319KTwvU3RyaW5nPgorICAgIDxTdHJpbmcgSWQ9IlNob3J0Y3V0RGVzY3JpcHRpb24iPkxhdW5jaGVzIHRoZSAhKGxvYy5Qcm9kdWN0TmFtZSkgaW50ZXJwcmV0ZXIuPC9TdHJpbmc+Cis8L1dpeExvY2FsaXphdGlvbj4KZGlmZiAtLWdpdCBhL1Rvb2xzL21zaS9leGUvZXhlX2ZpbGVzLnd4cyBiL1Rvb2xzL21zaS9leGUvZXhlX2ZpbGVzLnd4cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MDkxMzk4Ci0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvbXNpL2V4ZS9leGVfZmlsZXMud3hzCkBAIC0wLDAgKzEsNjggQEAKK++7vzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8V2l4IHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3dpeC8yMDA2L3dpIj4KKyAgICA8RnJhZ21lbnQ+CisgICAgICAgIDxDb21wb25lbnRHcm91cCBJZD0iZXhlX3R4dCI+CisgICAgICAgICAgICA8Q29tcG9uZW50IElkPSJMSUNFTlNFLnR4dCIgRGlyZWN0b3J5PSJJbnN0YWxsRGlyZWN0b3J5IiBHdWlkPSIqIj4KKyAgICAgICAgICAgICAgICA8RmlsZSBOYW1lPSJMSUNFTlNFLnR4dCIgU291cmNlPSJMSUNFTlNFIiBLZXlQYXRoPSJ5ZXMiIC8+CisgICAgICAgICAgICA8L0NvbXBvbmVudD4KKyAgICAgICAgICAgIDxDb21wb25lbnQgSWQ9Ik5FV1MudHh0IiBEaXJlY3Rvcnk9Ikluc3RhbGxEaXJlY3RvcnkiIEd1aWQ9IioiPgorICAgICAgICAgICAgICAgIDxGaWxlIE5hbWU9Ik5FV1MudHh0IiBTb3VyY2U9IiEoYmluZHBhdGguc3JjKU1pc2NcTkVXUyIgS2V5UGF0aD0ieWVzIiAvPgorICAgICAgICAgICAgPC9Db21wb25lbnQ+CisgICAgICAgICAgICA8Q29tcG9uZW50IElkPSJSRUFETUUudHh0IiBEaXJlY3Rvcnk9Ikluc3RhbGxEaXJlY3RvcnkiIEd1aWQ9IioiPgorICAgICAgICAgICAgICAgIDxGaWxlIE5hbWU9IlJFQURNRS50eHQiIFNvdXJjZT0iIShiaW5kcGF0aC5zcmMpUkVBRE1FIiBLZXlQYXRoPSJ5ZXMiIC8+CisgICAgICAgICAgICA8L0NvbXBvbmVudD4KKyAgICAgICAgPC9Db21wb25lbnRHcm91cD4KKyAgICA8L0ZyYWdtZW50PgorCisgICAgPEZyYWdtZW50PgorICAgICAgICA8UHJvcGVydHlSZWYgSWQ9IlJFR0lTVFJZS0VZIiAvPgorICAgICAgICAKKyAgICAgICAgPENvbXBvbmVudEdyb3VwIElkPSJleGVfcHl0aG9uIj4KKyAgICAgICAgICAgIDxDb21wb25lbnQgSWQ9InB5dGhvbi5leGUiIERpcmVjdG9yeT0iSW5zdGFsbERpcmVjdG9yeSIgR3VpZD0iJCh2YXIuUHl0aG9uRXhlQ29tcG9uZW50R3VpZCkiPgorICAgICAgICAgICAgICAgIDxGaWxlIE5hbWU9InB5dGhvbi5leGUiIEtleVBhdGg9InllcyIgLz4KKyAgICAgICAgICAgIDwvQ29tcG9uZW50PgorICAgICAgICAgICAgPENvbXBvbmVudCBJZD0icHl0aG9udy5leGUiIERpcmVjdG9yeT0iSW5zdGFsbERpcmVjdG9yeSIgR3VpZD0iJCh2YXIuUHl0aG9ud0V4ZUNvbXBvbmVudEd1aWQpIj4KKyAgICAgICAgICAgICAgICA8RmlsZSBOYW1lPSJweXRob253LmV4ZSIgS2V5UGF0aD0ieWVzIiAvPgorICAgICAgICAgICAgPC9Db21wb25lbnQ+CisgICAgICAgIDwvQ29tcG9uZW50R3JvdXA+CisgICAgPC9GcmFnbWVudD4KKworICAgIDxGcmFnbWVudD4KKyAgICAgICAgPENvbXBvbmVudEdyb3VwIElkPSJleGVfcHl0aG9uX3N5bWJvbHMiPgorICAgICAgICAgICAgPENvbXBvbmVudCBJZD0icHl0aG9uLnBkYiIgRGlyZWN0b3J5PSJJbnN0YWxsRGlyZWN0b3J5IiBHdWlkPSIqIj4KKyAgICAgICAgICAgICAgICA8RmlsZSBOYW1lPSJweXRob24ucGRiIiAvPgorICAgICAgICAgICAgPC9Db21wb25lbnQ+CisgICAgICAgICAgICA8Q29tcG9uZW50IElkPSJweXRob253LnBkYiIgRGlyZWN0b3J5PSJJbnN0YWxsRGlyZWN0b3J5IiBHdWlkPSIqIj4KKyAgICAgICAgICAgICAgICA8RmlsZSBOYW1lPSJweXRob253LnBkYiIgLz4KKyAgICAgICAgICAgIDwvQ29tcG9uZW50PgorICAgICAgICA8L0NvbXBvbmVudEdyb3VwPgorICAgIDwvRnJhZ21lbnQ+CisgICAgICAgIAorICAgIDxGcmFnbWVudD4KKyAgICAgICAgPENvbXBvbmVudEdyb3VwIElkPSJleGVfcHl0aG9uX2QiPgorICAgICAgICAgICAgPENvbXBvbmVudCBJZD0icHl0aG9uX2QuZXhlIiBEaXJlY3Rvcnk9Ikluc3RhbGxEaXJlY3RvcnkiIEd1aWQ9IioiPgorICAgICAgICAgICAgICAgIDxGaWxlIE5hbWU9InB5dGhvbl9kLmV4ZSIgLz4KKyAgICAgICAgICAgIDwvQ29tcG9uZW50PgorICAgICAgICAgICAgPENvbXBvbmVudCBJZD0icHl0aG9uX2QucGRiIiBEaXJlY3Rvcnk9Ikluc3RhbGxEaXJlY3RvcnkiIEd1aWQ9IioiPgorICAgICAgICAgICAgICAgIDxGaWxlIE5hbWU9InB5dGhvbl9kLnBkYiIgLz4KKyAgICAgICAgICAgIDwvQ29tcG9uZW50PgorICAgICAgICAgICAgPENvbXBvbmVudCBJZD0icHl0aG9ud19kLmV4ZSIgRGlyZWN0b3J5PSJJbnN0YWxsRGlyZWN0b3J5IiBHdWlkPSIqIj4KKyAgICAgICAgICAgICAgICA8RmlsZSBOYW1lPSJweXRob253X2QuZXhlIiAvPgorICAgICAgICAgICAgPC9Db21wb25lbnQ+CisgICAgICAgICAgICA8Q29tcG9uZW50IElkPSJweXRob253X2QucGRiIiBEaXJlY3Rvcnk9Ikluc3RhbGxEaXJlY3RvcnkiIEd1aWQ9IioiPgorICAgICAgICAgICAgICAgIDxGaWxlIE5hbWU9InB5dGhvbndfZC5wZGIiIC8+CisgICAgICAgICAgICA8L0NvbXBvbmVudD4KKyAgICAgICAgPC9Db21wb25lbnRHcm91cD4KKyAgICA8L0ZyYWdtZW50PgorICAgIAorICAgIDxGcmFnbWVudD4KKyAgICAgICAgPENvbXBvbmVudEdyb3VwIElkPSJleGVfaWNvbnMiPgorICAgICAgICAgICAgPENvbXBvbmVudCBJZD0icHkuaWNvIiBEaXJlY3Rvcnk9IkRMTHMiIEd1aWQ9IioiPgorICAgICAgICAgICAgICAgIDxGaWxlIE5hbWU9InB5LmljbyIgU291cmNlPSIhKGJpbmRwYXRoLnNyYylQQ1xweS5pY28iIEtleVBhdGg9InllcyIgLz4KKyAgICAgICAgICAgIDwvQ29tcG9uZW50PgorICAgICAgICAgICAgPENvbXBvbmVudCBJZD0icHljLmljbyIgRGlyZWN0b3J5PSJETExzIiBHdWlkPSIqIj4KKyAgICAgICAgICAgICAgICA8RmlsZSBOYW1lPSJweWMuaWNvIiBTb3VyY2U9IiEoYmluZHBhdGguc3JjKVBDXHB5Yy5pY28iIEtleVBhdGg9InllcyIgLz4KKyAgICAgICAgICAgIDwvQ29tcG9uZW50PgorICAgICAgICA8L0NvbXBvbmVudEdyb3VwPgorICAgIDwvRnJhZ21lbnQ+Cis8L1dpeD4KZGlmZiAtLWdpdCBhL1Rvb2xzL21zaS9leGUvZXhlX3BkYi53aXhwcm9qIGIvVG9vbHMvbXNpL2V4ZS9leGVfcGRiLndpeHByb2oKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGY0Yzg2OQotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL21zaS9leGUvZXhlX3BkYi53aXhwcm9qCkBAIC0wLDAgKzEsMjAgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Cis8UHJvamVjdCBUb29sc1ZlcnNpb249IjQuMCIgRGVmYXVsdFRhcmdldHM9IkJ1aWxkIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4KKyAgICA8UHJvcGVydHlHcm91cD4KKyAgICAgICAgPFByb2plY3RHdWlkPns0QTFGNzA0NS04RUUyLTQyNzYtQUJCOC01RTBDNDBFNUYzOEJ9PC9Qcm9qZWN0R3VpZD4KKyAgICAgICAgPFNjaGVtYVZlcnNpb24+Mi4wPC9TY2hlbWFWZXJzaW9uPgorICAgICAgICA8T3V0cHV0TmFtZT5leGVfcGRiPC9PdXRwdXROYW1lPgorICAgICAgICA8T3V0cHV0VHlwZT5QYWNrYWdlPC9PdXRwdXRUeXBlPgorICAgIDwvUHJvcGVydHlHcm91cD4KKyAgICA8SW1wb3J0IFByb2plY3Q9Ii4uXG1zaS5wcm9wcyIgLz4KKyAgICA8SXRlbUdyb3VwPgorICAgICAgICA8Q29tcGlsZSBJbmNsdWRlPSJleGVfcGRiLnd4cyIgLz4KKyAgICAgICAgPENvbXBpbGUgSW5jbHVkZT0iZXhlX2ZpbGVzLnd4cyIgLz4KKyAgICA8L0l0ZW1Hcm91cD4KKyAgICA8SXRlbUdyb3VwPgorICAgICAgICA8RW1iZWRkZWRSZXNvdXJjZSBJbmNsdWRlPSIqLnd4bCIgLz4KKyAgICAgICAgPFd4bFRlbXBsYXRlIEluY2x1ZGU9Iioud3hsX3RlbXBsYXRlIiAvPgorICAgIDwvSXRlbUdyb3VwPgorCisgICAgPEltcG9ydCBQcm9qZWN0PSIuLlxtc2kudGFyZ2V0cyIgLz4KKzwvUHJvamVjdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9Ub29scy9tc2kvZXhlL2V4ZV9wZGIud3hzIGIvVG9vbHMvbXNpL2V4ZS9leGVfcGRiLnd4cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MTI5ZWMwCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvbXNpL2V4ZS9leGVfcGRiLnd4cwpAQCAtMCwwICsxLDEzIEBACivvu788P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPFdpeCB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS93aXgvMjAwNi93aSI+CisgICAgPFByb2R1Y3QgSWQ9IioiIExhbmd1YWdlPSIhKGxvYy5MQ0lEKSIgTmFtZT0iIShsb2MuVGl0bGUpIiBWZXJzaW9uPSIkKHZhci5WZXJzaW9uKSIgTWFudWZhY3R1cmVyPSIhKGxvYy5NYW51ZmFjdHVyZXIpIiBVcGdyYWRlQ29kZT0iJCh2YXIuVXBncmFkZUNvZGUpIj4KKyAgICAgICAgPFBhY2thZ2UgSW5zdGFsbGVyVmVyc2lvbj0iMzAwIiBDb21wcmVzc2VkPSJ5ZXMiIEluc3RhbGxTY29wZT0icGVyVXNlciIgUGxhdGZvcm09IiQodmFyLlBsYXRmb3JtKSIgLz4KKyAgICAgICAgPE1lZGlhVGVtcGxhdGUgRW1iZWRDYWI9InllcyIgQ29tcHJlc3Npb25MZXZlbD0iaGlnaCIgLz4KKyAgICAgICAgCisgICAgICAgIDxQcm9wZXJ0eVJlZiBJZD0iVXBncmFkZVRhYmxlIiAvPgorICAgICAgICAKKyAgICAgICAgPEZlYXR1cmUgSWQ9IlN5bWJvbHMiIEFsbG93QWR2ZXJ0aXNlPSJubyIgVGl0bGU9IiEobG9jLlRpdGxlUGRiKSIgRGVzY3JpcHRpb249IiEobG9jLkRlc2NyaXB0aW9uUGRiKSI+CisgICAgICAgICAgICA8Q29tcG9uZW50R3JvdXBSZWYgSWQ9ImV4ZV9weXRob25fc3ltYm9scyIgLz4KKyAgICAgICAgPC9GZWF0dXJlPgorICAgIDwvUHJvZHVjdD4KKzwvV2l4PgpkaWZmIC0tZ2l0IGEvVG9vbHMvbXNpL2dldF93aXgucHkgYi9Ub29scy9tc2kvZ2V0X3dpeC5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kYTM2YTJlCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvbXNpL2dldF93aXgucHkKQEAgLTAsMCArMSw0OSBAQAorJycnCitEb3dubG9hZHMgYW5kIGV4dHJhY3RzIFdpWCB0byBhIGxvY2FsIGRpcmVjdG9yeQorJycnCisKK19fYXV0aG9yX18gPSAnU3RldmUgRG93ZXIgPHN0ZXZlLmRvd2VyQG1pY3Jvc29mdC5jb20+JworCitpbXBvcnQgaW8KK2ltcG9ydCBvcworaW1wb3J0IHN5cworCitmcm9tIHBhdGhsaWIgaW1wb3J0IFBhdGgKK2Zyb20gc3VicHJvY2VzcyBpbXBvcnQgUG9wZW4KK2Zyb20gemlwZmlsZSBpbXBvcnQgWmlwRmlsZQorCitFWFRFUk5BTFNfRElSID0gTm9uZQorZm9yIHAgaW4gUGF0aChfX2ZpbGVfXykucGFyZW50czoKKyAgICBpZiBhbnkocC5nbG9iKCJQQ0J1aWxkLyoudmN4cHJvaiIpKToKKyAgICAgICAgRVhURVJOQUxTX0RJUiA9IHAgLyAiZXh0ZXJuYWxzIgorICAgICAgICBicmVhaworCitpZiBub3QgRVhURVJOQUxTX0RJUjoKKyAgICBwcmludCgiQ2Fubm90IGZpbmQgcHJvamVjdCByb290IikKKyAgICBzeXMuZXhpdCgxKQorCitXSVhfQklOQVJJRVNfWklQID0gJ2h0dHA6Ly93aXh0b29sc2V0Lm9yZy9kb3dubG9hZHMvdjMuMTAuMC4xNDAzL3dpeDMxMC1iaW5hcmllcy56aXAnCitUQVJHRVRfQklOX1pJUCA9IEVYVEVSTkFMU19ESVIgLyAid2l4LnppcCIKK1RBUkdFVF9CSU5fRElSID0gRVhURVJOQUxTX0RJUiAvICJ3aXgiCisKK1BPV0VSU0hFTExfQ09NTUFORCA9ICJbSU8uRmlsZV06OldyaXRlQWxsQnl0ZXMoJ3t9JywgKEludm9rZS1XZWJSZXF1ZXN0IHt9IC1Vc2VCYXNpY1BhcnNpbmcpLkNvbnRlbnQpIgorCitpZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgorICAgIGlmIFRBUkdFVF9CSU5fRElSLmV4aXN0cygpIGFuZCBhbnkoVEFSR0VUX0JJTl9ESVIuZ2xvYigiKiIpKToKKyAgICAgICAgcHJpbnQoJ1dpWCBpcyBhbHJlYWR5IGluc3RhbGxlZCcpCisgICAgICAgIHN5cy5leGl0KDApCisKKyAgICB0cnk6CisgICAgICAgIFRBUkdFVF9CSU5fRElSLm1rZGlyKCkKKyAgICBleGNlcHQgRmlsZUV4aXN0c0Vycm9yOgorICAgICAgICBwYXNzCisKKyAgICBwcmludCgnRG93bmxvYWRpbmcgV2lYIHRvJywgVEFSR0VUX0JJTl9aSVApCisgICAgcCA9IFBvcGVuKFsicG93ZXJzaGVsbC5leGUiLCAiLUNvbW1hbmQiLCBQT1dFUlNIRUxMX0NPTU1BTkQuZm9ybWF0KFRBUkdFVF9CSU5fWklQLCBXSVhfQklOQVJJRVNfWklQKV0pCisgICAgcC53YWl0KCkKKyAgICBwcmludCgnRXh0cmFjdGluZyBXaVggdG8nLCBUQVJHRVRfQklOX0RJUikKKyAgICB3aXRoIFppcEZpbGUoc3RyKFRBUkdFVF9CSU5fWklQKSkgYXMgejoKKyAgICAgICAgei5leHRyYWN0YWxsKHN0cihUQVJHRVRfQklOX0RJUikpCisgICAgVEFSR0VUX0JJTl9aSVAudW5saW5rKCkKKworICAgIHByaW50KCdFeHRyYWN0ZWQgV2lYJykKZGlmZiAtLWdpdCBhL1Rvb2xzL21zaS9sYXVuY2hlci9sYXVuY2hlci53aXhwcm9qIGIvVG9vbHMvbXNpL2xhdW5jaGVyL2xhdW5jaGVyLndpeHByb2oKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzNmMjZhOAotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL21zaS9sYXVuY2hlci9sYXVuY2hlci53aXhwcm9qCkBAIC0wLDAgKzEsMjAgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Cis8UHJvamVjdCBUb29sc1ZlcnNpb249IjQuMCIgRGVmYXVsdFRhcmdldHM9IkJ1aWxkIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4KKyAgICA8UHJvcGVydHlHcm91cD4KKyAgICAgICAgPFByb2plY3RHdWlkPns5MjFDRjBFNi1BRUJDLTQzNzYtQkExRC1DRDQ2RUJGRTZEQTV9PC9Qcm9qZWN0R3VpZD4KKyAgICAgICAgPFNjaGVtYVZlcnNpb24+Mi4wPC9TY2hlbWFWZXJzaW9uPgorICAgICAgICA8T3V0cHV0TmFtZT5sYXVuY2hlcjwvT3V0cHV0TmFtZT4KKyAgICAgICAgPE91dHB1dFR5cGU+UGFja2FnZTwvT3V0cHV0VHlwZT4KKyAgICA8L1Byb3BlcnR5R3JvdXA+CisgICAgPEltcG9ydCBQcm9qZWN0PSIuLlxtc2kucHJvcHMiIC8+CisgICAgPEl0ZW1Hcm91cD4KKyAgICAgICAgPENvbXBpbGUgSW5jbHVkZT0ibGF1bmNoZXIud3hzIiAvPgorICAgICAgICA8Q29tcGlsZSBJbmNsdWRlPSJsYXVuY2hlcl9maWxlcy53eHMiIC8+CisgICAgICAgIDxDb21waWxlIEluY2x1ZGU9ImxhdW5jaGVyX3JlZy53eHMiIC8+CisgICAgPC9JdGVtR3JvdXA+CisgICAgPEl0ZW1Hcm91cD4KKyAgICAgICAgPEVtYmVkZGVkUmVzb3VyY2UgSW5jbHVkZT0iKi53eGwiIC8+CisgICAgPC9JdGVtR3JvdXA+CisgICAgCisgICAgPEltcG9ydCBQcm9qZWN0PSIuLlxtc2kudGFyZ2V0cyIgLz4KKzwvUHJvamVjdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9Ub29scy9tc2kvbGF1bmNoZXIvbGF1bmNoZXIud3hzIGIvVG9vbHMvbXNpL2xhdW5jaGVyL2xhdW5jaGVyLnd4cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMjBjZmY4Ci0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvbXNpL2xhdW5jaGVyL2xhdW5jaGVyLnd4cwpAQCAtMCwwICsxLDMxIEBACivvu788P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPFdpeCB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS93aXgvMjAwNi93aSI+CisgICAgPFByb2R1Y3QgSWQ9IioiIExhbmd1YWdlPSIhKGxvYy5MQ0lEKSIgTmFtZT0iIShsb2MuVGl0bGUpIiBWZXJzaW9uPSIkKHZhci5WZXJzaW9uKSIgTWFudWZhY3R1cmVyPSIhKGxvYy5NYW51ZmFjdHVyZXIpIiBVcGdyYWRlQ29kZT0iJCh2YXIuVXBncmFkZUNvZGUpIj4KKyAgICAgICAgPFBhY2thZ2UgSW5zdGFsbGVyVmVyc2lvbj0iMzAwIiBDb21wcmVzc2VkPSJ5ZXMiIEluc3RhbGxTY29wZT0icGVyVXNlciIgUGxhdGZvcm09IiQodmFyLlBsYXRmb3JtKSIgLz4KKyAgICAgICAgPE1lZGlhVGVtcGxhdGUgRW1iZWRDYWI9InllcyIgQ29tcHJlc3Npb25MZXZlbD0iaGlnaCIgLz4KKyAgICAgICAgCisgICAgICAgIDxQcm9wZXJ0eSBJZD0iU3VwcHJlc3NfVEFSR0VURElSX0NoZWNrIiBWYWx1ZT0iMSIgLz4KKyAgICAgICAgPFByb3BlcnR5UmVmIElkPSJVcGdyYWRlVGFibGUiIC8+CisgICAgICAgIDxQcm9wZXJ0eVJlZiBJZD0iQVJQUFJPRFVDVElDT04iIC8+CisKKyAgICAgICAgPEZlYXR1cmUgSWQ9IkRlZmF1bHRGZWF0dXJlIiBBbGxvd0FkdmVydGlzZT0ibm8iIFRpdGxlPSIhKGxvYy5UaXRsZSkiIERlc2NyaXB0aW9uPSIhKGxvYy5EZXNjcmlwdGlvbikiPgorICAgICAgICAgICAgPENvbXBvbmVudEdyb3VwUmVmIElkPSJsYXVuY2hlcl9leGUiIFByaW1hcnk9InllcyIgLz4KKyAgICAgICAgPC9GZWF0dXJlPgorICAgICAgICA8RmVhdHVyZSBJZD0iQXNzb2NpYXRlRmlsZXMiIEFsbG93QWR2ZXJ0aXNlPSJubyIgVGl0bGU9IiEobG9jLlRpdGxlKSIgRGVzY3JpcHRpb249IiEobG9jLkRlc2NyaXB0aW9uKSI+CisgICAgICAgICAgICA8Q29tcG9uZW50R3JvdXBSZWYgSWQ9ImxhdW5jaGVyX2V4ZSIgLz4KKyAgICAgICAgICAgIDxDb21wb25lbnRHcm91cFJlZiBJZD0ibGF1bmNoZXJfcmVnIiAvPgorICAgICAgICA8L0ZlYXR1cmU+CisgICAgICAgIAorICAgICAgICA8RGlyZWN0b3J5IElkPSJUQVJHRVRESVIiIE5hbWU9IlNvdXJjZURpciI+CisgICAgICAgICAgICA8RGlyZWN0b3J5IElkPSJMYXVuY2hlckluc3RhbGxEaXJlY3RvcnkiIC8+CisgICAgICAgIDwvRGlyZWN0b3J5PgorICAgICAgICAKKyAgICAgICAgPEN1c3RvbUFjdGlvbiBJZD0iU2V0TGF1bmNoZXJJbnN0YWxsRGlyZWN0b3J5TE0iIFByb3BlcnR5PSJMYXVuY2hlckluc3RhbGxEaXJlY3RvcnkiIFZhbHVlPSJbV2luZG93c0ZvbGRlcl0iIC8+CisgICAgICAgIDxDdXN0b21BY3Rpb24gSWQ9IlNldExhdW5jaGVySW5zdGFsbERpcmVjdG9yeUNVIiBQcm9wZXJ0eT0iTGF1bmNoZXJJbnN0YWxsRGlyZWN0b3J5IiBWYWx1ZT0iW0xvY2FsQXBwRGF0YUZvbGRlcl1Qcm9ncmFtc1xQeXRob25cTGF1bmNoZXIiIC8+CisgICAgICAgIAorICAgICAgICA8SW5zdGFsbEV4ZWN1dGVTZXF1ZW5jZT4KKyAgICAgICAgICAgIDxDdXN0b20gQmVmb3JlPSJTZXRMYXVuY2hlckluc3RhbGxEaXJlY3RvcnlMTSIgQWN0aW9uPSJTZXRMYXVuY2hlckluc3RhbGxEaXJlY3RvcnlDVSI+Tk9UIEluc3RhbGxlZCBBTkQgTk9UIEFMTFVTRVJTPTE8L0N1c3RvbT4KKyAgICAgICAgICAgIDxDdXN0b20gQmVmb3JlPSJDb3N0RmluYWxpemUiIEFjdGlvbj0iU2V0TGF1bmNoZXJJbnN0YWxsRGlyZWN0b3J5TE0iPk5PVCBJbnN0YWxsZWQgQU5EIEFMTFVTRVJTPTE8L0N1c3RvbT4KKyAgICAgICAgPC9JbnN0YWxsRXhlY3V0ZVNlcXVlbmNlPgorICAgIDwvUHJvZHVjdD4KKzwvV2l4PgpkaWZmIC0tZ2l0IGEvVG9vbHMvbXNpL2xhdW5jaGVyL2xhdW5jaGVyX2VuLVVTLnd4bCBiL1Rvb2xzL21zaS9sYXVuY2hlci9sYXVuY2hlcl9lbi1VUy53eGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTg4ZjIyMQotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL21zaS9sYXVuY2hlci9sYXVuY2hlcl9lbi1VUy53eGwKQEAgLTAsMCArMSw4IEBACivvu788P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgorPFdpeExvY2FsaXphdGlvbiBDdWx0dXJlPSJlbi11cyIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vd2l4LzIwMDYvbG9jYWxpemF0aW9uIj4KKyAgICA8U3RyaW5nIElkPSJEZXNjcmlwdG9yIj5MYXVuY2hlcjwvU3RyaW5nPgorICAgIDxTdHJpbmcgSWQ9IlNob3J0RGVzY3JpcHRvciI+bGF1bmNoZXI8L1N0cmluZz4KKyAgICA8U3RyaW5nIElkPSJQeXRob25GaWxlRGVzY3JpcHRpb24iPlB5dGhvbiBGaWxlPC9TdHJpbmc+CisgICAgPFN0cmluZyBJZD0iUHl0aG9uTm9Db25GaWxlRGVzY3JpcHRpb24iPlB5dGhvbiBGaWxlIChubyBjb25zb2xlKTwvU3RyaW5nPgorICAgIDxTdHJpbmcgSWQ9IlB5dGhvbkNvbXBpbGVkRmlsZURlc2NyaXB0aW9uIj5Db21waWxlZCBQeXRob24gRmlsZTwvU3RyaW5nPgorPC9XaXhMb2NhbGl6YXRpb24+CmRpZmYgLS1naXQgYS9Ub29scy9tc2kvbGF1bmNoZXIvbGF1bmNoZXJfZmlsZXMud3hzIGIvVG9vbHMvbXNpL2xhdW5jaGVyL2xhdW5jaGVyX2ZpbGVzLnd4cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45NjA2ZGM2Ci0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvbXNpL2xhdW5jaGVyL2xhdW5jaGVyX2ZpbGVzLnd4cwpAQCAtMCwwICsxLDI0IEBACivvu788P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPFdpeCB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS93aXgvMjAwNi93aSI+CisgICAgPEZyYWdtZW50PgorICAgICAgICA8Q29tcG9uZW50R3JvdXAgSWQ9ImxhdW5jaGVyX2V4ZSI+CisgICAgICAgICAgICA8Q29tcG9uZW50IElkPSJweS5leGUiIERpcmVjdG9yeT0iTGF1bmNoZXJJbnN0YWxsRGlyZWN0b3J5IiBHdWlkPSJ7QjUxMDc0MDItNjk1OC00NjFCLThCMEEtNDAzN0QzMzI3MTYwfSI+CisgICAgICAgICAgICAgICAgPEZpbGUgSWQ9InB5LmV4ZSIgTmFtZT0icHkuZXhlIiBTb3VyY2U9InB5LmV4ZSIgS2V5UGF0aD0ieWVzIiAvPgorICAgICAgICAgICAgPC9Db21wb25lbnQ+CisgICAgICAgICAgICA8Q29tcG9uZW50IElkPSJweXcuZXhlIiBEaXJlY3Rvcnk9IkxhdW5jaGVySW5zdGFsbERpcmVjdG9yeSIgR3VpZD0iezhFNTJCOENELTQ4QkItNEQ3NC04NENELTYyMzhCQ0QxMUYyMH0iPgorICAgICAgICAgICAgICAgIDxGaWxlIElkPSJweXcuZXhlIiBOYW1lPSJweXcuZXhlIiBTb3VyY2U9InB5dy5leGUiIEtleVBhdGg9InllcyIgLz4KKyAgICAgICAgICAgIDwvQ29tcG9uZW50PgorCisgICAgICAgICAgICA8Q29tcG9uZW50IElkPSJsYXVuY2hlcl9wYXRoX2N1IiBEaXJlY3Rvcnk9IkxhdW5jaGVySW5zdGFsbERpcmVjdG9yeSIgR3VpZD0iezk1QUVCOTMwLTM2N0MtNDc1Qy1BMTdFLUE4OUJGQ0Q0QzY3MH0iPgorICAgICAgICAgICAgICAgIDxDb25kaXRpb24+Tk9UIEFMTFVTRVJTPTE8L0NvbmRpdGlvbj4KKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICA8UmVnaXN0cnlWYWx1ZSBLZXlQYXRoPSJ5ZXMiIFJvb3Q9IkhLTVUiIEtleT0iU29mdHdhcmVcUHl0aG9uXFB5TGF1bmNoZXJcSW5zdGFsbERpciIgVmFsdWU9IltMYXVuY2hlckluc3RhbGxEaXJlY3RvcnldIiBUeXBlPSJzdHJpbmciIC8+CisgICAgICAgICAgICAgICAgPEVudmlyb25tZW50IElkPSJQQVRIX0NVIiBBY3Rpb249InNldCIgTmFtZT0iUEFUSCIgUGFydD0iZmlyc3QiIFZhbHVlPSJbTGF1bmNoZXJJbnN0YWxsRGlyZWN0b3J5XSIgLz4KKyAgICAgICAgICAgIDwvQ29tcG9uZW50PgorICAgICAgICAgICAgPENvbXBvbmVudCBJZD0ibGF1bmNoZXJfcGF0aF9sbSIgRGlyZWN0b3J5PSJMYXVuY2hlckluc3RhbGxEaXJlY3RvcnkiIEd1aWQ9Ins0QTQxQzM2NS00RTI3LTREMzgtQTZEMS00QTAxQjRBNjUwMEN9Ij4KKyAgICAgICAgICAgICAgICA8Q29uZGl0aW9uPkFMTFVTRVJTPTE8L0NvbmRpdGlvbj4KKyAgICAgICAgICAgICAgICA8UmVnaXN0cnlWYWx1ZSBLZXlQYXRoPSJ5ZXMiIFJvb3Q9IkhLTVUiIEtleT0iU29mdHdhcmVcUHl0aG9uXFB5TGF1bmNoZXJcSW5zdGFsbERpciIgVmFsdWU9IltMYXVuY2hlckluc3RhbGxEaXJlY3RvcnldIiBUeXBlPSJzdHJpbmciIC8+CisgICAgICAgICAgICA8L0NvbXBvbmVudD4KKyAgICAgICAgPC9Db21wb25lbnRHcm91cD4KKyAgICA8L0ZyYWdtZW50PgorPC9XaXg+CmRpZmYgLS1naXQgYS9Ub29scy9tc2kvbGF1bmNoZXIvbGF1bmNoZXJfcmVnLnd4cyBiL1Rvb2xzL21zaS9sYXVuY2hlci9sYXVuY2hlcl9yZWcud3hzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFhYjNkMTEKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9tc2kvbGF1bmNoZXIvbGF1bmNoZXJfcmVnLnd4cwpAQCAtMCwwICsxLDMyIEBACivvu788P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPFdpeCB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS93aXgvMjAwNi93aSI+CisgICAgPEZyYWdtZW50PgorICAgICAgICA8Q29tcG9uZW50R3JvdXAgSWQ9ImxhdW5jaGVyX3JlZyI+CisgICAgICAgICAgICA8Q29tcG9uZW50IElkPSJmaWxlX2Fzc29jaWF0aW9uIiBEaXJlY3Rvcnk9IkxhdW5jaGVySW5zdGFsbERpcmVjdG9yeSIgR3VpZD0iezVBRjg0RDlBLUQ4MjAtNDU2Qi1CMjMwLTZFMDEwNUE1MDI3Nn0iPgorICAgICAgICAgICAgICAgIDxSZWdpc3RyeVZhbHVlIEtleVBhdGg9InllcyIgUm9vdD0iSEtNVSIgS2V5PSJTb2Z0d2FyZVxQeXRob25cUHlMYXVuY2hlclxBc3NvY2lhdGVGaWxlcyIgVmFsdWU9IjEiIFR5cGU9ImludGVnZXIiIC8+CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgPFByb2dJZCBJZD0iJCh2YXIuVGVzdFByZWZpeClQeXRob24uRmlsZSIgRGVzY3JpcHRpb249IiEobG9jLlB5dGhvbkZpbGVEZXNjcmlwdGlvbikiIEFkdmVydGlzZT0ibm8iIEljb249InB5LmV4ZSIgSWNvbkluZGV4PSIxIj4KKyAgICAgICAgICAgICAgICAgICAgPEV4dGVuc2lvbiBJZD0iJCh2YXIuRmlsZUV4dGVuc2lvbikiIENvbnRlbnRUeXBlPSJ0ZXh0L3BsYWluIj4KKyAgICAgICAgICAgICAgICAgICAgICAgIDxWZXJiIElkPSJvcGVuIiBUYXJnZXRGaWxlPSJweS5leGUiIEFyZ3VtZW50PSImcXVvdDslTCZxdW90OyAlKiIgLz4KKyAgICAgICAgICAgICAgICAgICAgPC9FeHRlbnNpb24+CisgICAgICAgICAgICAgICAgPC9Qcm9nSWQ+CisgICAgICAgICAgICAgICAgPFJlZ2lzdHJ5VmFsdWUgUm9vdD0iSEtDUiIgS2V5PSIkKHZhci5UZXN0UHJlZml4KVB5dGhvbi5GaWxlXHNoZWxsZXhcRHJvcEhhbmRsZXIiIFZhbHVlPSJ7NjAyNTRDQTUtOTUzQi0xMUNGLThDOTYtMDBBQTAwQjg3MDhDfSIgVHlwZT0ic3RyaW5nIiAvPgorICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIDxQcm9nSWQgSWQ9IiQodmFyLlRlc3RQcmVmaXgpUHl0aG9uLk5vQ29uRmlsZSIgRGVzY3JpcHRpb249IiEobG9jLlB5dGhvbk5vQ29uRmlsZURlc2NyaXB0aW9uKSIgQWR2ZXJ0aXNlPSJubyIgSWNvbj0icHkuZXhlIiBJY29uSW5kZXg9IjEiPgorICAgICAgICAgICAgICAgICAgICA8RXh0ZW5zaW9uIElkPSIkKHZhci5GaWxlRXh0ZW5zaW9uKXciIENvbnRlbnRUeXBlPSJ0ZXh0L3BsYWluIj4KKyAgICAgICAgICAgICAgICAgICAgICAgIDxWZXJiIElkPSJvcGVuIiBUYXJnZXRGaWxlPSJweXcuZXhlIiBBcmd1bWVudD0iJnF1b3Q7JUwmcXVvdDsgJSoiIC8+CisgICAgICAgICAgICAgICAgICAgIDwvRXh0ZW5zaW9uPgorICAgICAgICAgICAgICAgIDwvUHJvZ0lkPgorICAgICAgICAgICAgICAgIDxSZWdpc3RyeVZhbHVlIFJvb3Q9IkhLQ1IiIEtleT0iJCh2YXIuVGVzdFByZWZpeClQeXRob24uTm9Db25GaWxlXHNoZWxsZXhcRHJvcEhhbmRsZXIiIFZhbHVlPSJ7NjAyNTRDQTUtOTUzQi0xMUNGLThDOTYtMDBBQTAwQjg3MDhDfSIgVHlwZT0ic3RyaW5nIiAvPgorICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIDxQcm9nSWQgSWQ9IiQodmFyLlRlc3RQcmVmaXgpUHl0aG9uLkNvbXBpbGVkRmlsZSIgRGVzY3JpcHRpb249IiEobG9jLlB5dGhvbkNvbXBpbGVkRmlsZURlc2NyaXB0aW9uKSIgQWR2ZXJ0aXNlPSJubyIgSWNvbj0icHkuZXhlIiBJY29uSW5kZXg9IjIiPgorICAgICAgICAgICAgICAgICAgICA8RXh0ZW5zaW9uIElkPSIkKHZhci5GaWxlRXh0ZW5zaW9uKWMiPgorICAgICAgICAgICAgICAgICAgICAgICAgPFZlcmIgSWQ9Im9wZW4iIFRhcmdldEZpbGU9InB5LmV4ZSIgQXJndW1lbnQ9IiZxdW90OyVMJnF1b3Q7ICUqIiAvPgorICAgICAgICAgICAgICAgICAgICA8L0V4dGVuc2lvbj4KKyAgICAgICAgICAgICAgICAgICAgPEV4dGVuc2lvbiBJZD0iJCh2YXIuRmlsZUV4dGVuc2lvbilvIiAvPgorICAgICAgICAgICAgICAgIDwvUHJvZ0lkPgorICAgICAgICAgICAgICAgIDxSZWdpc3RyeVZhbHVlIFJvb3Q9IkhLQ1IiIEtleT0iJCh2YXIuVGVzdFByZWZpeClQeXRob24uQ29tcGlsZWRGaWxlXHNoZWxsZXhcRHJvcEhhbmRsZXIiIFZhbHVlPSJ7NjAyNTRDQTUtOTUzQi0xMUNGLThDOTYtMDBBQTAwQjg3MDhDfSIgVHlwZT0ic3RyaW5nIiAvPgorICAgICAgICAgICAgPC9Db21wb25lbnQ+CisgICAgICAgIDwvQ29tcG9uZW50R3JvdXA+CisgICAgPC9GcmFnbWVudD4KKzwvV2l4PgpkaWZmIC0tZ2l0IGEvVG9vbHMvbXNpL2xpYi9saWIud2l4cHJvaiBiL1Rvb2xzL21zaS9saWIvbGliLndpeHByb2oKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjRlNTg3OAotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL21zaS9saWIvbGliLndpeHByb2oKQEAgLTAsMCArMSwzNCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KKzxQcm9qZWN0IFRvb2xzVmVyc2lvbj0iNC4wIiBEZWZhdWx0VGFyZ2V0cz0iQnVpbGQiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2RldmVsb3Blci9tc2J1aWxkLzIwMDMiPgorICAgIDxQcm9wZXJ0eUdyb3VwPgorICAgICAgICA8UHJvamVjdEd1aWQ+ezExMzY3RTc2LTMzMzctNDYwMi04RjFFLTc3REI0RjM3MEQ3RX08L1Byb2plY3RHdWlkPgorICAgICAgICA8U2NoZW1hVmVyc2lvbj4yLjA8L1NjaGVtYVZlcnNpb24+CisgICAgICAgIDxPdXRwdXROYW1lPmxpYjwvT3V0cHV0TmFtZT4KKyAgICAgICAgPE91dHB1dFR5cGU+UGFja2FnZTwvT3V0cHV0VHlwZT4KKyAgICA8L1Byb3BlcnR5R3JvdXA+CisgICAgPEltcG9ydCBQcm9qZWN0PSIuLlxtc2kucHJvcHMiIC8+CisgICAgPEl0ZW1Hcm91cD4KKyAgICAgICAgPENvbXBpbGUgSW5jbHVkZT0ibGliLnd4cyIgLz4KKyAgICAgICAgPENvbXBpbGUgSW5jbHVkZT0ibGliX2ZpbGVzLnd4cyIgLz4KKyAgICA8L0l0ZW1Hcm91cD4KKyAgICA8SXRlbUdyb3VwPgorICAgICAgICA8RW1iZWRkZWRSZXNvdXJjZSBJbmNsdWRlPSIqLnd4bCIgLz4KKyAgICA8L0l0ZW1Hcm91cD4KKyAgICA8SXRlbUdyb3VwPgorICAgICAgICA8RXhjbHVkZUZvbGRlcnMgSW5jbHVkZT0iTGliXHRlc3Q7TGliXHRlc3RzO0xpYlx0a2ludGVyO0xpYlxpZGxlbGliO0xpYlx0dXJ0bGVkZW1vIiAvPgorICAgICAgICA8SW5zdGFsbEZpbGVzIEluY2x1ZGU9IiQoUHlTb3VyY2VQYXRoKUxpYlwqKlwqIgorICAgICAgICAgICAgICAgICAgICAgIEV4Y2x1ZGU9IiQoUHlTb3VyY2VQYXRoKUxpYlwqKlwqLnB5YzsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKFB5U291cmNlUGF0aClMaWJcKipcKi5weW87CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJChQeVNvdXJjZVBhdGgpTGliXHNpdGUtcGFja2FnZXNcUkVBRE1FOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEAoRXhjbHVkZUZvbGRlcnMtPickKFB5U291cmNlUGF0aCklKElkZW50aXR5KVwqJyk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQChFeGNsdWRlRm9sZGVycy0+JyQoUHlTb3VyY2VQYXRoKSUoSWRlbnRpdHkpXCoqXConKSI+CisgICAgICAgICAgICA8U291cmNlQmFzZT4kKFB5U291cmNlUGF0aClMaWI8L1NvdXJjZUJhc2U+CisgICAgICAgICAgICA8U291cmNlPiEoYmluZHBhdGguc3JjKUxpYlw8L1NvdXJjZT4KKyAgICAgICAgICAgIDxUYXJnZXRCYXNlPiQoUHlTb3VyY2VQYXRoKUxpYjwvVGFyZ2V0QmFzZT4KKyAgICAgICAgICAgIDxUYXJnZXRfPkxpYlw8L1RhcmdldF8+CisgICAgICAgICAgICA8R3JvdXA+bGliX3B5PC9Hcm91cD4KKyAgICAgICAgPC9JbnN0YWxsRmlsZXM+CisgICAgPC9JdGVtR3JvdXA+CisgICAgCisgICAgPEltcG9ydCBQcm9qZWN0PSIuLlxtc2kudGFyZ2V0cyIgLz4KKzwvUHJvamVjdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9Ub29scy9tc2kvbGliL2xpYi53eHMgYi9Ub29scy9tc2kvbGliL2xpYi53eHMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjFhZWM3NQotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL21zaS9saWIvbGliLnd4cwpAQCAtMCwwICsxLDE2IEBACivvu788P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPFdpeCB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS93aXgvMjAwNi93aSI+CisgICAgPFByb2R1Y3QgSWQ9IioiIExhbmd1YWdlPSIhKGxvYy5MQ0lEKSIgTmFtZT0iIShsb2MuVGl0bGUpIiBWZXJzaW9uPSIkKHZhci5WZXJzaW9uKSIgTWFudWZhY3R1cmVyPSIhKGxvYy5NYW51ZmFjdHVyZXIpIiBVcGdyYWRlQ29kZT0iJCh2YXIuVXBncmFkZUNvZGUpIj4KKyAgICAgICAgPFBhY2thZ2UgSW5zdGFsbGVyVmVyc2lvbj0iMzAwIiBDb21wcmVzc2VkPSJ5ZXMiIEluc3RhbGxTY29wZT0icGVyVXNlciIgUGxhdGZvcm09IiQodmFyLlBsYXRmb3JtKSIgLz4KKyAgICAgICAgPE1lZGlhVGVtcGxhdGUgRW1iZWRDYWI9InllcyIgQ29tcHJlc3Npb25MZXZlbD0iaGlnaCIgLz4KKyAgICAgICAgCisgICAgICAgIDxQcm9wZXJ0eVJlZiBJZD0iVXBncmFkZVRhYmxlIiAvPgorICAgICAgICA8UHJvcGVydHlSZWYgSWQ9IlJFR0lTVFJZS0VZIiAvPgorICAgICAgICAKKyAgICAgICAgPEZlYXR1cmUgSWQ9IkRlZmF1bHRGZWF0dXJlIiBBbGxvd0FkdmVydGlzZT0ibm8iIFRpdGxlPSIhKGxvYy5UaXRsZSkiIERlc2NyaXB0aW9uPSIhKGxvYy5EZXNjcmlwdGlvbikiPgorICAgICAgICAgICAgPENvbXBvbmVudEdyb3VwUmVmIElkPSJsaWJfcHkiIC8+CisgICAgICAgICAgICA8Q29tcG9uZW50R3JvdXBSZWYgSWQ9ImxpYl9maWxlcyIgLz4KKyAgICAgICAgICAgIDxDb21wb25lbnRHcm91cFJlZiBJZD0ibGliX2V4dGVuc2lvbnMiIC8+CisgICAgICAgIDwvRmVhdHVyZT4KKyAgICA8L1Byb2R1Y3Q+Cis8L1dpeD4KZGlmZiAtLWdpdCBhL1Rvb2xzL21zaS9saWIvbGliX2Qud2l4cHJvaiBiL1Rvb2xzL21zaS9saWIvbGliX2Qud2l4cHJvagpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41ODdhODJjCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvbXNpL2xpYi9saWJfZC53aXhwcm9qCkBAIC0wLDAgKzEsMTkgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Cis8UHJvamVjdCBUb29sc1ZlcnNpb249IjQuMCIgRGVmYXVsdFRhcmdldHM9IkJ1aWxkIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4KKyAgICA8UHJvcGVydHlHcm91cD4KKyAgICAgICAgPFByb2plY3RHdWlkPns2QzQ0M0NEMy04MjU4LTQzMzUtQkEwMy00OURBOUMzNENFNER9PC9Qcm9qZWN0R3VpZD4KKyAgICAgICAgPFNjaGVtYVZlcnNpb24+Mi4wPC9TY2hlbWFWZXJzaW9uPgorICAgICAgICA8T3V0cHV0TmFtZT5saWJfZDwvT3V0cHV0TmFtZT4KKyAgICAgICAgPE91dHB1dFR5cGU+UGFja2FnZTwvT3V0cHV0VHlwZT4KKyAgICA8L1Byb3BlcnR5R3JvdXA+CisgICAgPEltcG9ydCBQcm9qZWN0PSIuLlxtc2kucHJvcHMiIC8+CisgICAgPEl0ZW1Hcm91cD4KKyAgICAgICAgPENvbXBpbGUgSW5jbHVkZT0ibGliX2Qud3hzIiAvPgorICAgICAgICA8Q29tcGlsZSBJbmNsdWRlPSJsaWJfZmlsZXMud3hzIiAvPgorICAgIDwvSXRlbUdyb3VwPgorICAgIDxJdGVtR3JvdXA+CisgICAgICAgIDxFbWJlZGRlZFJlc291cmNlIEluY2x1ZGU9Iioud3hsIiAvPgorICAgIDwvSXRlbUdyb3VwPgorICAgIAorICAgIDxJbXBvcnQgUHJvamVjdD0iLi5cbXNpLnRhcmdldHMiIC8+Cis8L1Byb2plY3Q+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvVG9vbHMvbXNpL2xpYi9saWJfZC53eHMgYi9Ub29scy9tc2kvbGliL2xpYl9kLnd4cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41YTVjZjcwCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvbXNpL2xpYi9saWJfZC53eHMKQEAgLTAsMCArMSwxMyBAQAor77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzxXaXggeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vd2l4LzIwMDYvd2kiPgorICAgIDxQcm9kdWN0IElkPSIqIiBMYW5ndWFnZT0iIShsb2MuTENJRCkiIE5hbWU9IiEobG9jLlRpdGxlKSIgVmVyc2lvbj0iJCh2YXIuVmVyc2lvbikiIE1hbnVmYWN0dXJlcj0iIShsb2MuTWFudWZhY3R1cmVyKSIgVXBncmFkZUNvZGU9IiQodmFyLlVwZ3JhZGVDb2RlKSI+CisgICAgICAgIDxQYWNrYWdlIEluc3RhbGxlclZlcnNpb249IjMwMCIgQ29tcHJlc3NlZD0ieWVzIiBJbnN0YWxsU2NvcGU9InBlclVzZXIiIFBsYXRmb3JtPSIkKHZhci5QbGF0Zm9ybSkiIC8+CisgICAgICAgIDxNZWRpYVRlbXBsYXRlIEVtYmVkQ2FiPSJ5ZXMiIENvbXByZXNzaW9uTGV2ZWw9ImhpZ2giIC8+CisgICAgICAgIAorICAgICAgICA8UHJvcGVydHlSZWYgSWQ9IlVwZ3JhZGVUYWJsZSIgLz4KKyAgICAgICAgCisgICAgICAgIDxGZWF0dXJlIElkPSJEZWJ1Z0JpbmFyaWVzIiBBbGxvd0FkdmVydGlzZT0ibm8iIFRpdGxlPSIhKGxvYy5UaXRsZV9kKSIgRGVzY3JpcHRpb249IiEobG9jLkRlc2NyaXB0aW9uX2QpIj4KKyAgICAgICAgICAgIDxDb21wb25lbnRHcm91cFJlZiBJZD0ibGliX2V4dGVuc2lvbnNfZCIgLz4KKyAgICAgICAgPC9GZWF0dXJlPgorICAgIDwvUHJvZHVjdD4KKzwvV2l4PgpkaWZmIC0tZ2l0IGEvVG9vbHMvbXNpL2xpYi9saWJfZW4tVVMud3hsIGIvVG9vbHMvbXNpL2xpYi9saWJfZW4tVVMud3hsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMwNWJjYzcKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9tc2kvbGliL2xpYl9lbi1VUy53eGwKQEAgLTAsMCArMSw1IEBACivvu788P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgorPFdpeExvY2FsaXphdGlvbiBDdWx0dXJlPSJlbi11cyIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vd2l4LzIwMDYvbG9jYWxpemF0aW9uIj4KKyAgICA8U3RyaW5nIElkPSJEZXNjcmlwdG9yIj5TdGFuZGFyZCBMaWJyYXJ5PC9TdHJpbmc+CisgICAgPFN0cmluZyBJZD0iU2hvcnREZXNjcmlwdG9yIj5saWI8L1N0cmluZz4KKzwvV2l4TG9jYWxpemF0aW9uPgpkaWZmIC0tZ2l0IGEvVG9vbHMvbXNpL2xpYi9saWJfZmlsZXMud3hzIGIvVG9vbHMvbXNpL2xpYi9saWJfZmlsZXMud3hzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZhNzlhOGQKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9tc2kvbGliL2xpYl9maWxlcy53eHMKQEAgLTAsMCArMSw3OSBAQAor77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzxXaXggeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vd2l4LzIwMDYvd2kiPgorICAgIDw/ZGVmaW5lIGV4dHM9cHlleHBhdDtzZWxlY3Q7dW5pY29kZWRhdGE7d2luc291bmQ7X2J6MjtfZWxlbWVudHRyZWU7X3NvY2tldDtfc3NsO19tc2k7X2N0eXBlcztfaGFzaGxpYjtfbXVsdGlwcm9jZXNzaW5nO19sem1hO19kZWNpbWFsO19vdmVybGFwcGVkO19zcWxpdGUzID8+CisgICAgPEZyYWdtZW50PgorICAgICAgICA8Q29tcG9uZW50R3JvdXAgSWQ9ImxpYl9leHRlbnNpb25zIj4KKyAgICAgICAgICAgIDw/Zm9yZWFjaCBleHQgaW4gJCh2YXIuZXh0cyk/PgorICAgICAgICAKKyAgICAgICAgICAgIDxDb21wb25lbnQgSWQ9IiQodmFyLmV4dCkucHlkIiBEaXJlY3Rvcnk9IkRMTHMiIEd1aWQ9IioiPgorICAgICAgICAgICAgICAgIDxGaWxlIE5hbWU9IiQodmFyLmV4dCkucHlkIiBLZXlQYXRoPSJ5ZXMiIC8+CisgICAgICAgICAgICA8L0NvbXBvbmVudD4KKyAgICAgICAgICAgIAorICAgICAgICAgICAgPD9lbmRmb3JlYWNoID8+CisgICAgICAgICAgICAKKyAgICAgICAgICAgIDxDb21wb25lbnQgSWQ9InNxbGl0ZTMuZGxsIiBEaXJlY3Rvcnk9IkRMTHMiIEd1aWQ9IioiPgorICAgICAgICAgICAgICAgIDxGaWxlIE5hbWU9InNxbGl0ZTMuZGxsIiBLZXlQYXRoPSJ5ZXMiIC8+CisgICAgICAgICAgICA8L0NvbXBvbmVudD4KKyAgICAgICAgPC9Db21wb25lbnRHcm91cD4KKyAgICA8L0ZyYWdtZW50PgorICAgIAorICAgIDxGcmFnbWVudD4KKyAgICAgICAgPENvbXBvbmVudEdyb3VwIElkPSJsaWJfZXh0ZW5zaW9uc19zeW1ib2xzIj4KKyAgICAgICAgICAgIDw/Zm9yZWFjaCBleHQgaW4gJCh2YXIuZXh0cyk/PgorICAgICAgICAgICAgCisgICAgICAgICAgICA8Q29tcG9uZW50IElkPSIkKHZhci5leHQpLnBkYiIgRGlyZWN0b3J5PSJETExzIiBHdWlkPSIqIj4KKyAgICAgICAgICAgICAgICA8Q29uZGl0aW9uPlNZTUJPTFM9MTwvQ29uZGl0aW9uPgorICAgICAgICAgICAgICAgIDxGaWxlIE5hbWU9IiQodmFyLmV4dCkucGRiIiAvPgorICAgICAgICAgICAgPC9Db21wb25lbnQ+CisgICAgICAgICAgICAKKyAgICAgICAgICAgIDw/ZW5kZm9yZWFjaCA/PgorICAgICAgICAgICAgCisgICAgICAgICAgICA8Q29tcG9uZW50IElkPSJzcWxpdGUzLnBkYiIgRGlyZWN0b3J5PSJETExzIiBHdWlkPSIqIj4KKyAgICAgICAgICAgICAgICA8RmlsZSBOYW1lPSJzcWxpdGUzLnBkYiIgLz4KKyAgICAgICAgICAgIDwvQ29tcG9uZW50PgorICAgICAgICA8L0NvbXBvbmVudEdyb3VwPgorICAgIDwvRnJhZ21lbnQ+CisgICAgCisgICAgPEZyYWdtZW50PgorICAgICAgICA8Q29tcG9uZW50R3JvdXAgSWQ9ImxpYl9leHRlbnNpb25zX2QiPgorICAgICAgICAgICAgPD9mb3JlYWNoIGV4dCBpbiAkKHZhci5leHRzKT8+CisgICAgICAgICAgICAKKyAgICAgICAgICAgIDxDb21wb25lbnQgSWQ9IiQodmFyLmV4dClfZC5weWQiIERpcmVjdG9yeT0iRExMcyIgR3VpZD0iKiI+CisgICAgICAgICAgICAgICAgPEZpbGUgTmFtZT0iJCh2YXIuZXh0KV9kLnB5ZCIgLz4KKyAgICAgICAgICAgIDwvQ29tcG9uZW50PgorICAgICAgICAgICAgPENvbXBvbmVudCBJZD0iJCh2YXIuZXh0KV9kLnBkYiIgRGlyZWN0b3J5PSJETExzIiBHdWlkPSIqIj4KKyAgICAgICAgICAgICAgICA8RmlsZSBOYW1lPSIkKHZhci5leHQpX2QucGRiIiAvPgorICAgICAgICAgICAgPC9Db21wb25lbnQ+CisgICAgICAgICAgICAKKyAgICAgICAgICAgIDw/ZW5kZm9yZWFjaCA/PgorICAgICAgICAgICAgCisgICAgICAgICAgICA8Q29tcG9uZW50IElkPSJzcWxpdGUzX2QuZGxsIiBEaXJlY3Rvcnk9IkRMTHMiIEd1aWQ9IioiPgorICAgICAgICAgICAgICAgIDxGaWxlIE5hbWU9InNxbGl0ZTNfZC5kbGwiIEtleVBhdGg9InllcyIgLz4KKyAgICAgICAgICAgIDwvQ29tcG9uZW50PgorICAgICAgICAgICAgPENvbXBvbmVudCBJZD0ic3FsaXRlM19kLnBkYiIgRGlyZWN0b3J5PSJETExzIiBHdWlkPSIqIj4KKyAgICAgICAgICAgICAgICA8RmlsZSBOYW1lPSJzcWxpdGUzX2QucGRiIiBLZXlQYXRoPSJ5ZXMiIC8+CisgICAgICAgICAgICA8L0NvbXBvbmVudD4KKyAgICAgICAgPC9Db21wb25lbnRHcm91cD4KKyAgICA8L0ZyYWdtZW50PgorICAgIDxGcmFnbWVudD4KKyAgICAgICAgPFByb3BlcnR5UmVmIElkPSJSRUdJU1RSWUtFWSIgLz4KKyAgICAgICAgCisgICAgICAgIDxDb21wb25lbnRHcm91cCBJZD0ibGliX2ZpbGVzIj4KKyAgICAgICAgICAgIDxDb21wb25lbnQgSWQ9IlB5dGhvblBhdGhSZWdpc3RyeSIgRGlyZWN0b3J5PSJMaWIiIEd1aWQ9IioiPgorICAgICAgICAgICAgICAgIDxSZWdpc3RyeUtleSBSb290PSJIS01VIiBLZXk9IltSRUdJU1RSWUtFWV0iPgorICAgICAgICAgICAgICAgICAgICA8UmVnaXN0cnlWYWx1ZSBLZXk9IlB5dGhvblBhdGgiIFR5cGU9InN0cmluZyIgVmFsdWU9IltMaWJdO1tETExzXSIgLz4KKyAgICAgICAgICAgICAgICA8L1JlZ2lzdHJ5S2V5PgorICAgICAgICAgICAgPC9Db21wb25lbnQ+CisgICAgICAgICAgICA8Q29tcG9uZW50IElkPSJMaWJfc2l0ZV9wYWNrYWdlc19SRUFETUUiIERpcmVjdG9yeT0iTGliX3NpdGVfcGFja2FnZXMiIEd1aWQ9IioiPgorICAgICAgICAgICAgICAgIDxGaWxlIElkPSJMaWJfc2l0ZV9wYWNrYWdlc19SRUFETUUiIE5hbWU9IlJFQURNRS50eHQiIFNvdXJjZT0iIShiaW5kcGF0aC5zcmMpTGliXHNpdGUtcGFja2FnZXNcUkVBRE1FIiBLZXlQYXRoPSJ5ZXMiIC8+CisgICAgICAgICAgICA8L0NvbXBvbmVudD4KKyAgICAgICAgICAgIDxDb21wb25lbnQgSWQ9IkxpYjJ0bzNfcGlja2xlX3JlbW92ZSIgRGlyZWN0b3J5PSJMaWJfbGliMnRvMyIgR3VpZD0iJCh2YXIuUmVtb3ZlTGliMnRvM1BpY2tsZUNvbXBvbmVudEd1aWQpIj4KKyAgICAgICAgICAgICAgICA8UmVtb3ZlRmlsZSBJZD0iTGliMnRvM19waWNrbGVfcmVtb3ZlX2ZpbGVzIiBOYW1lPSIqLnBpY2tsZSIgT249InVuaW5zdGFsbCIgLz4KKyAgICAgICAgICAgICAgICA8UmVtb3ZlRm9sZGVyIElkPSJMaWIydG8zX3BpY2tsZV9yZW1vdmVfZm9sZGVyIiBPbj0idW5pbnN0YWxsIiAvPgorICAgICAgICAgICAgPC9Db21wb25lbnQ+CisgICAgICAgIDwvQ29tcG9uZW50R3JvdXA+CisgICAgICAgIDxEaXJlY3RvcnlSZWYgSWQ9IkxpYiI+CisgICAgICAgICAgICA8RGlyZWN0b3J5IElkPSJMaWJfc2l0ZV9wYWNrYWdlcyIgTmFtZT0ic2l0ZS1wYWNrYWdlcyIgLz4KKyAgICAgICAgPC9EaXJlY3RvcnlSZWY+CisgICAgPC9GcmFnbWVudD4KKzwvV2l4PgpkaWZmIC0tZ2l0IGEvVG9vbHMvbXNpL2xpYi9saWJfcGRiLndpeHByb2ogYi9Ub29scy9tc2kvbGliL2xpYl9wZGIud2l4cHJvagpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kYjFiNWJiCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvbXNpL2xpYi9saWJfcGRiLndpeHByb2oKQEAgLTAsMCArMSwxOSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KKzxQcm9qZWN0IFRvb2xzVmVyc2lvbj0iNC4wIiBEZWZhdWx0VGFyZ2V0cz0iQnVpbGQiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2RldmVsb3Blci9tc2J1aWxkLzIwMDMiPgorICAgIDxQcm9wZXJ0eUdyb3VwPgorICAgICAgICA8UHJvamVjdEd1aWQ+ezVFMEJDRTkzLUQxQUMtNDU5MS1CQkNCLTNBMkJFNUE0QjNEMX08L1Byb2plY3RHdWlkPgorICAgICAgICA8U2NoZW1hVmVyc2lvbj4yLjA8L1NjaGVtYVZlcnNpb24+CisgICAgICAgIDxPdXRwdXROYW1lPmxpYl9wZGI8L091dHB1dE5hbWU+CisgICAgICAgIDxPdXRwdXRUeXBlPlBhY2thZ2U8L091dHB1dFR5cGU+CisgICAgPC9Qcm9wZXJ0eUdyb3VwPgorICAgIDxJbXBvcnQgUHJvamVjdD0iLi5cbXNpLnByb3BzIiAvPgorICAgIDxJdGVtR3JvdXA+CisgICAgICAgIDxDb21waWxlIEluY2x1ZGU9ImxpYl9wZGIud3hzIiAvPgorICAgICAgICA8Q29tcGlsZSBJbmNsdWRlPSJsaWJfZmlsZXMud3hzIiAvPgorICAgIDwvSXRlbUdyb3VwPgorICAgIDxJdGVtR3JvdXA+CisgICAgICAgIDxFbWJlZGRlZFJlc291cmNlIEluY2x1ZGU9Iioud3hsIiAvPgorICAgIDwvSXRlbUdyb3VwPgorICAgIAorICAgIDxJbXBvcnQgUHJvamVjdD0iLi5cbXNpLnRhcmdldHMiIC8+Cis8L1Byb2plY3Q+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvVG9vbHMvbXNpL2xpYi9saWJfcGRiLnd4cyBiL1Rvb2xzL21zaS9saWIvbGliX3BkYi53eHMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTJiZTBjOQotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL21zaS9saWIvbGliX3BkYi53eHMKQEAgLTAsMCArMSwxMyBAQAor77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzxXaXggeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vd2l4LzIwMDYvd2kiPgorICAgIDxQcm9kdWN0IElkPSIqIiBMYW5ndWFnZT0iIShsb2MuTENJRCkiIE5hbWU9IiEobG9jLlRpdGxlKSIgVmVyc2lvbj0iJCh2YXIuVmVyc2lvbikiIE1hbnVmYWN0dXJlcj0iIShsb2MuTWFudWZhY3R1cmVyKSIgVXBncmFkZUNvZGU9IiQodmFyLlVwZ3JhZGVDb2RlKSI+CisgICAgICAgIDxQYWNrYWdlIEluc3RhbGxlclZlcnNpb249IjMwMCIgQ29tcHJlc3NlZD0ieWVzIiBJbnN0YWxsU2NvcGU9InBlclVzZXIiIFBsYXRmb3JtPSIkKHZhci5QbGF0Zm9ybSkiIC8+CisgICAgICAgIDxNZWRpYVRlbXBsYXRlIEVtYmVkQ2FiPSJ5ZXMiIENvbXByZXNzaW9uTGV2ZWw9ImhpZ2giIC8+CisgICAgICAgIAorICAgICAgICA8UHJvcGVydHlSZWYgSWQ9IlVwZ3JhZGVUYWJsZSIgLz4KKyAgICAgICAgCisgICAgICAgIDxGZWF0dXJlIElkPSJTeW1ib2xzIiBBbGxvd0FkdmVydGlzZT0ibm8iIFRpdGxlPSIhKGxvYy5UaXRsZVBkYikiIERlc2NyaXB0aW9uPSIhKGxvYy5EZXNjcmlwdGlvblBkYikiPgorICAgICAgICAgICAgPENvbXBvbmVudEdyb3VwUmVmIElkPSJsaWJfZXh0ZW5zaW9uc19zeW1ib2xzIiAvPgorICAgICAgICA8L0ZlYXR1cmU+CisgICAgPC9Qcm9kdWN0PgorPC9XaXg+CmRpZmYgLS1naXQgYS9Ub29scy9tc2kvbXNpLnByb3BzIGIvVG9vbHMvbXNpL21zaS5wcm9wcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNjgzOWNjCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvbXNpL21zaS5wcm9wcwpAQCAtMCwwICsxLDE2MCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KKzxQcm9qZWN0IFRvb2xzVmVyc2lvbj0iNC4wIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIiBUcmVhdEFzTG9jYWxQcm9wZXJ0eT0iUmVsZWFzZVVyaSI+CisgICAgPFByb3BlcnR5R3JvdXA+CisgICAgICAgIDxEZWZpbmVTb2x1dGlvblByb3BlcnRpZXM+ZmFsc2U8L0RlZmluZVNvbHV0aW9uUHJvcGVydGllcz4KKyAgICAgICAgPFRyZWF0V2FybmluZ3NBc0Vycm9ycz5mYWxzZTwvVHJlYXRXYXJuaW5nc0FzRXJyb3JzPgorICAgICAgICA8U3VwcHJlc3NJY2VzPiQoU3VwcHJlc3NJY2VzKTtJQ0UwMztJQ0U1NztJQ0U2MTwvU3VwcHJlc3NJY2VzPgorICAgICAgICA8Q29tcGlsZXJTdXBwcmVzc1NwZWNpZmljV2FybmluZ3M+MTAyNjwvQ29tcGlsZXJTdXBwcmVzc1NwZWNpZmljV2FybmluZ3M+CisgICAgICAgIDxCdWlsZEZvclJlbGVhc2UgQ29uZGl0aW9uPSInJChCdWlsZEZvclJlbGVhc2UpJyA9PSAnJyI+ZmFsc2U8L0J1aWxkRm9yUmVsZWFzZT4KKyAgICAgICAgPFNpZ25PdXRwdXQgQ29uZGl0aW9uPSInJChTaWduaW5nQ2VydGlmaWNhdGUpJyAhPSAnJyI+dHJ1ZTwvU2lnbk91dHB1dD4KKyAgICAgICAgPENvbmZpZ3VyYXRpb24gQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKScgPT0gJyciPlJlbGVhc2U8L0NvbmZpZ3VyYXRpb24+CisgICAgICAgIDxQbGF0Zm9ybSBDb25kaXRpb249IickKFBsYXRmb3JtKScgPT0gJyciPng4NjwvUGxhdGZvcm0+CisgICAgICAgIDxJbnN0YWxsU2NvcGUgQ29uZGl0aW9uPSInJChJbnN0YWxsU2NvcGUpJyAhPSAncGVyTWFjaGluZSciPnBlclVzZXI8L0luc3RhbGxTY29wZT4KKyAgICAgICAgPCEtLQorICAgICAgICBUaGlzIFVSSSBpcyB1c2VkIHRvIGdlbmVyYXRlIHRoZSB2YXJpb3VzIEdVSURzIHVzZWQgYnkgdGhlIGluc3RhbGxlci4KKyAgICAgICAgSW5zdGFsbGVycyBidWlsdCB3aXRoIHRoZSBzYW1lIFVSSSB3aWxsIHVwZ3JhZGUgZWFjaCBvdGhlciBvciBibG9jaworICAgICAgICB3aGVuIGF0dGVtcHRpbmcgdG8gZG93bmdyYWRlLgorICAgICAgICAKKyAgICAgICAgQnkgZGVmYXVsdCwgdGhpcyBpcyB0aGUgbG9jYWwgY29tcHV0ZXIgbmFtZSwgd2hpY2ggd2lsbCBwcm9kdWNlCisgICAgICAgIGluc3RhbGxlcnMgdGhhdCBkbyBub3QgaW50ZXJmZXJlIHdpdGggb3RoZXIgaW5zdGFsbGVycy4gUHJvZHVjdHMKKyAgICAgICAgdGhhdCBpbnRlbmQgdG8gYnVuZGxlIFB5dGhvbiBzaG91bGQgcmVidWlsZCB0aGVzZSBtb2R1bGVzIHdpdGggdGhlaXIKKyAgICAgICAgb3duIFVSSSB0byBhdm9pZCBjb25mbGljdGluZyB3aXRoIHRoZSBvZmZpY2lhbCByZWxlYXNlcy4KKyAgICAgICAgCisgICAgICAgIFRoZSBvZmZpY2lhbCByZWxlYXNlcyBhcmUgYnVpbHQgd2l0aCBodHRwOi8vd3d3LnB5dGhvbi5vcmcvLgorICAgICAgICAKKyAgICAgICAgVGhpcyBpcyBub3QgdGhlIHNhbWUgYXMgdGhlIERvd25sb2FkVXJsIHByb3BlcnR5IHVzZWQgaW4gdGhlIGJ1bmRsZQorICAgICAgICBwcm9qZWN0cy4KKyAgICAgICAgLS0+CisgICAgICAgIDxSZWxlYXNlVXJpIENvbmRpdGlvbj0iJyQoUmVsZWFzZVVyaSknID09ICcnIj4kKENvbXB1dGVyTmFtZSk8L1JlbGVhc2VVcmk+CisgICAgICAgIDxSZWxlYXNlVXJpIENvbmRpdGlvbj0iISQoUmVsZWFzZVVyaS5FbmRzV2l0aChgL2ApKSI+JChSZWxlYXNlVXJpKS88L1JlbGVhc2VVcmk+CisgICAgPC9Qcm9wZXJ0eUdyb3VwPgorCisgICAgPEltcG9ydCBQcm9qZWN0PSJ3aXgucHJvcHMiIC8+CisgICAgPEltcG9ydCBQcm9qZWN0PSIuLlwuLlxQQ0J1aWxkXHRjbHRrLnByb3BzIiAvPgorICAgIAorICAgIDxJdGVtR3JvdXA+CisgICAgICAgIDxDb21waWxlIEluY2x1ZGU9IiQoTVNCdWlsZFRoaXNGaWxlRGlyZWN0b3J5KWNvbW1vbi53eHMiIC8+CisgICAgICAgIDxXeGxUZW1wbGF0ZSBJbmNsdWRlPSIkKE1TQnVpbGRUaGlzRmlsZURpcmVjdG9yeSlcKi53eGxfdGVtcGxhdGUiIC8+CisgICAgICAgIDxXaXhFeHRlbnNpb24gSW5jbHVkZT0iV2l4VXRpbEV4dGVuc2lvbiI+CisgICAgICAgICAgICA8SGludFBhdGg+V2l4VXRpbEV4dGVuc2lvbjwvSGludFBhdGg+CisgICAgICAgICAgICA8TmFtZT5XaXhVdGlsRXh0ZW5zaW9uPC9OYW1lPgorICAgICAgICA8L1dpeEV4dGVuc2lvbj4KKyAgICA8L0l0ZW1Hcm91cD4KKworICAgIDxQcm9wZXJ0eUdyb3VwPgorICAgICAgICA8SW50ZXJtZWRpYXRlT3V0cHV0UGF0aD4kKE1TQnVpbGRUaGlzRmlsZURpcmVjdG9yeSlcb2JqXCQoQ29uZmlndXJhdGlvbilfJChQbGF0Zm9ybSlcJChPdXRwdXROYW1lKTwvSW50ZXJtZWRpYXRlT3V0cHV0UGF0aD4KKyAgICAgICAgPEludGVybWVkaWF0ZU91dHB1dFBhdGggQ29uZGl0aW9uPSInJChPdXRwdXRTdWZmaXgpJyAhPSAnJyI+JChJbnRlcm1lZGlhdGVPdXRwdXRQYXRoKV8kKE91dHB1dFN1ZmZpeCk8L0ludGVybWVkaWF0ZU91dHB1dFBhdGg+CisgICAgICAgIDxPdXRwdXRQYXRoIENvbmRpdGlvbj0iJyQoT3V0cHV0UGF0aCknID09ICcnIj4kKEJ1aWxkUGF0aCk8L091dHB1dFBhdGg+CisgICAgICAgIDxPdXRwdXRQYXRoIENvbmRpdGlvbj0iIUhhc1RyYWlsaW5nU2xhc2goJChPdXRwdXRQYXRoKSkiPiQoT3V0cHV0UGF0aClcPC9PdXRwdXRQYXRoPgorICAgICAgICA8T3V0RGlyPiQoT3V0cHV0UGF0aCk8L091dERpcj4KKyAgICAgICAgPFJldXNlQ2FiaW5ldENhY2hlPnRydWU8L1JldXNlQ2FiaW5ldENhY2hlPgorICAgICAgICA8Q1JUTW9kdWxlIENvbmRpdGlvbj0iJyQoVmlzdWFsU3R1ZGlvVmVyc2lvbiknID09ICcxMi4wJyI+JChDb21tb25Qcm9ncmFtRmlsZXMpXE1lcmdlIE1vZHVsZXNcTWljcm9zb2Z0X1ZDMTIwX0NSVF8kKFBsYXRmb3JtKS5tc208L0NSVE1vZHVsZT4KKyAgICAgICAgPENSVE1vZHVsZSBDb25kaXRpb249IickKFZpc3VhbFN0dWRpb1ZlcnNpb24pJyA9PSAnMTQuMCciPiQoQ29tbW9uUHJvZ3JhbUZpbGVzKVxNZXJnZSBNb2R1bGVzXE1pY3Jvc29mdF9WQzE0MF9DUlRfJChQbGF0Zm9ybSkubXNtPC9DUlRNb2R1bGU+CisgICAgICAgIDxDUlRSZWRpc3QgQ29uZGl0aW9uPSInJChWaXN1YWxTdHVkaW9WZXJzaW9uKScgPT0gJzEyLjAnIj4kKFtTeXN0ZW0uSU8uUGF0aF06OkdldEZ1bGxQYXRoKGAkKFZTMTIwQ09NTlRPT0xTKVwuLlwuLlxWQ1xyZWRpc3RcJChQbGF0Zm9ybSlcTWljcm9zb2Z0LlZDMTIwLkNSVGApKTwvQ1JUUmVkaXN0PgorICAgICAgICA8Q1JUUmVkaXN0IENvbmRpdGlvbj0iJyQoVmlzdWFsU3R1ZGlvVmVyc2lvbiknID09ICcxNC4wJyI+JChbU3lzdGVtLklPLlBhdGhdOjpHZXRGdWxsUGF0aChgJChWUzE0MENPTU5UT09MUylcLi5cLi5cVkNccmVkaXN0XCQoUGxhdGZvcm0pXE1pY3Jvc29mdC5WQzE0MC5DUlRgKSk8L0NSVFJlZGlzdD4KKyAgICAgICAgPENSVFJlZGlzdCBDb25kaXRpb249IickKENSVFJlZGlzdCknICE9ICcnIGFuZCAhRXhpc3RzKCQoQ1JUUmVkaXN0KSkiPjwvQ1JUUmVkaXN0PgorCisgICAgICAgIDxSZXZpc2lvbk51bWJlcj4kKFJlbGVhc2VMZXZlbE51bWJlcik8L1JldmlzaW9uTnVtYmVyPgorICAgICAgICA8UmV2aXNpb25OdW1iZXIgQ29uZGl0aW9uPSIhJChCdWlsZEZvclJlbGVhc2UpIj4kKFtTeXN0ZW0uTWF0aF06OkZsb29yKCQoW1N5c3RlbS5EYXRlVGltZV06Ok5vdy5TdWJ0cmFjdCgkKFtTeXN0ZW0uRGF0ZVRpbWVdOjpuZXcoMjAwMSwgMSwgMSkpKS5Ub3RhbERheXMpKSk8L1JldmlzaW9uTnVtYmVyPgorICAgIDwvUHJvcGVydHlHcm91cD4KKyAgICAKKyAgICA8UHJvcGVydHlHcm91cD4KKyAgICAgICAgPEJpdG5lc3M+MzItYml0PC9CaXRuZXNzPgorICAgICAgICA8Qml0bmVzcyBDb25kaXRpb249IiQoUGxhdGZvcm0pID09ICd4NjQnIj42NC1iaXQ8L0JpdG5lc3M+CisgICAgICAgIDxEZWZpbmVDb25zdGFudHM+CisgICAgICAgICAgICAkKERlZmluZUNvbnN0YW50cyk7CisgICAgICAgICAgICBWZXJzaW9uPSQoTWFqb3JWZXJzaW9uTnVtYmVyKS4kKE1pbm9yVmVyc2lvbk51bWJlcikuJChNaWNyb1ZlcnNpb25OdW1iZXIpLiQoUmV2aXNpb25OdW1iZXIpOworICAgICAgICAgICAgU2hvcnRWZXJzaW9uPSQoTWFqb3JWZXJzaW9uTnVtYmVyKS4kKE1pbm9yVmVyc2lvbk51bWJlcik7CisgICAgICAgICAgICBMb25nVmVyc2lvbj0kKFB5dGhvblZlcnNpb24pOworICAgICAgICAgICAgTWFqb3JWZXJzaW9uTnVtYmVyPSQoTWFqb3JWZXJzaW9uTnVtYmVyKTsKKyAgICAgICAgICAgIE1pbm9yVmVyc2lvbk51bWJlcj0kKE1pbm9yVmVyc2lvbk51bWJlcik7CisgICAgICAgICAgICBVcGdyYWRlTWluaW11bVZlcnNpb249JChNYWpvclZlcnNpb25OdW1iZXIpLiQoTWlub3JWZXJzaW9uTnVtYmVyKS4wLjA7CisgICAgICAgICAgICBOZXh0TWFqb3JWZXJzaW9uTnVtYmVyPSQoTWFqb3JWZXJzaW9uTnVtYmVyKS4kKFttc2J1aWxkXTo6QWRkKCQoTWlub3JWZXJzaW9uTnVtYmVyKSwgMSkpLjAuMDsKKyAgICAgICAgICAgIFB5RGVidWdFeHQ9JChQeURlYnVnRXh0KTsKKyAgICAgICAgPC9EZWZpbmVDb25zdGFudHM+CisgICAgICAgIDxEZWZpbmVDb25zdGFudHMgQ29uZGl0aW9uPSInJChDUlRNb2R1bGUpJyAhPSAnJyBhbmQgRXhpc3RzKCQoQ1JUTW9kdWxlKSkiPgorICAgICAgICAgICAgJChEZWZpbmVDb25zdGFudHMpO0NSVE1vZHVsZT0kKENSVE1vZHVsZSk7CisgICAgICAgIDwvRGVmaW5lQ29uc3RhbnRzPgorICAgICAgICA8RGVmaW5lQ29uc3RhbnRzIENvbmRpdGlvbj0iJyQoQ1JUUmVkaXN0KScgIT0gJyciPgorICAgICAgICAgICAgJChEZWZpbmVDb25zdGFudHMpO0NSVFJlZGlzdD0kKENSVFJlZGlzdCk7CisgICAgICAgIDwvRGVmaW5lQ29uc3RhbnRzPgorICAgICAgICA8RGVmaW5lQ29uc3RhbnRzIENvbmRpdGlvbj0iJChDb25maWd1cmF0aW9uKSAhPSAnRGVidWcnIj4KKyAgICAgICAgICAgICQoRGVmaW5lQ29uc3RhbnRzKTtUZXN0UHJlZml4PTtGaWxlRXh0ZW5zaW9uPXB5OworICAgICAgICA8L0RlZmluZUNvbnN0YW50cz4KKyAgICAgICAgPERlZmluZUNvbnN0YW50cyBDb25kaXRpb249IiQoQ29uZmlndXJhdGlvbikgPT0gJ0RlYnVnJyI+CisgICAgICAgICAgICAkKERlZmluZUNvbnN0YW50cyk7VGVzdFByZWZpeD14O0ZpbGVFeHRlbnNpb249cHg7CisgICAgICAgIDwvRGVmaW5lQ29uc3RhbnRzPgorICAgICAgICA8RGVmaW5lQ29uc3RhbnRzIENvbmRpdGlvbj0iJChQbGF0Zm9ybSkgIT0gJ3g2NCciPgorICAgICAgICAgICAgJChEZWZpbmVDb25zdGFudHMpO1N1ZmZpeDMyPS0zMjsKKyAgICAgICAgPC9EZWZpbmVDb25zdGFudHM+CisgICAgICAgIDxEZWZpbmVDb25zdGFudHMgQ29uZGl0aW9uPSIkKFBsYXRmb3JtKSA9PSAneDY0JyI+CisgICAgICAgICAgICAkKERlZmluZUNvbnN0YW50cyk7U3VmZml4MzI9OworICAgICAgICA8L0RlZmluZUNvbnN0YW50cz4KKyAgICA8L1Byb3BlcnR5R3JvdXA+CisKKyAgICA8SXRlbURlZmluaXRpb25Hcm91cD4KKyAgICAgICAgPEluc3RhbGxGaWxlcz4KKyAgICAgICAgICAgIDxHcm91cD5nZW5lcmF0ZWRfZmlsZWxpc3Q8L0dyb3VwPgorICAgICAgICAgICAgPENvbmRpdGlvbj48L0NvbmRpdGlvbj4KKyAgICAgICAgICAgIDxEaXNrSWQ+PC9EaXNrSWQ+CisgICAgICAgIDwvSW5zdGFsbEZpbGVzPgorICAgICAgICA8TGlua2VyQmluZElucHV0UGF0aHM+CisgICAgICAgICAgICA8VmlzaWJsZT5mYWxzZTwvVmlzaWJsZT4KKyAgICAgICAgPC9MaW5rZXJCaW5kSW5wdXRQYXRocz4KKyAgICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+CisgICAgPEl0ZW1Hcm91cD4KKyAgICAgICAgPExpbmtlckJpbmRJbnB1dFBhdGhzIEluY2x1ZGU9IiQoQnVpbGRQYXRoKTskKFB5U291cmNlUGF0aClEb2NcYnVpbGRcaHRtbGhlbHAiPgorICAgICAgICAgICAgPEJpbmROYW1lPjwvQmluZE5hbWU+CisgICAgICAgIDwvTGlua2VyQmluZElucHV0UGF0aHM+CisgICAgICAgIDxMaW5rZXJCaW5kSW5wdXRQYXRocyBJbmNsdWRlPSIkKFB5U291cmNlUGF0aCkiPgorICAgICAgICAgICAgPEJpbmROYW1lPnNyYzwvQmluZE5hbWU+CisgICAgICAgIDwvTGlua2VyQmluZElucHV0UGF0aHM+CisgICAgICAgIDxMaW5rZXJCaW5kSW5wdXRQYXRocyBJbmNsdWRlPSIkKHRjbHRrRGlyKSI+CisgICAgICAgICAgICA8QmluZE5hbWU+dGNsdGs8L0JpbmROYW1lPgorICAgICAgICA8L0xpbmtlckJpbmRJbnB1dFBhdGhzPgorICAgICAgICA8TGlua2VyQmluZElucHV0UGF0aHMgSW5jbHVkZT0iJChDUlRSZWRpc3QpIiBDb25kaXRpb249IickKENSVFJlZGlzdCknICE9ICcnIj4KKyAgICAgICAgICAgIDxCaW5kTmFtZT5jcnQ8L0JpbmROYW1lPgorICAgICAgICA8L0xpbmtlckJpbmRJbnB1dFBhdGhzPgorICAgIDwvSXRlbUdyb3VwPgorCisgICAgPFRhcmdldCBOYW1lPSJfVmFsaWRhdGVNc2lQcm9wcyIgQmVmb3JlVGFyZ2V0cz0iUHJlcGFyZUZvckJ1aWxkIj4KKyAgICAgICAgPEVycm9yIFRleHQ9IlBsYXRmb3JtICckKFBsYXRmb3JtKScgaXMgbm90IHN1cHBvcnRlZC4gVXNlICd4ODYnIG9yICd4NjQnLiIgQ29uZGl0aW9uPSIkKFBsYXRmb3JtKSAhPSAneDg2JyBhbmQgJChQbGF0Zm9ybSkgIT0gJ3g2NCciIC8+CisgICAgPC9UYXJnZXQ+CisgICAgCisgICAgPEl0ZW1Hcm91cD4KKyAgICAgICAgPF9VdWlkIEluY2x1ZGU9IkNvcmVVcGdyYWRlQ29kZSI+CisgICAgICAgICAgICA8VXJpPnVwZ3JhZGVjb2RlPC9Vcmk+CisgICAgICAgIDwvX1V1aWQ+CisgICAgICAgIDxfVXVpZCBJbmNsdWRlPSJVcGdyYWRlQ29kZSI+CisgICAgICAgICAgICA8VXJpPnVwZ3JhZGVjb2RlLyQoT3V0cHV0TmFtZSk8L1VyaT4KKyAgICAgICAgPC9fVXVpZD4KKyAgICAgICAgPF9VdWlkIEluY2x1ZGU9Ikluc3RhbGxEaXJlY3RvcnlHdWlkU2VlZCI+CisgICAgICAgICAgICA8VXJpPmluc3RhbGxkaXJlY3RvcnlzZWVkPC9Vcmk+CisgICAgICAgIDwvX1V1aWQ+CisgICAgICAgIDxfVXVpZCBJbmNsdWRlPSJQeXRob25FeGVDb21wb25lbnRHdWlkIj4KKyAgICAgICAgICAgIDxVcmk+cHl0aG9uLmV4ZTwvVXJpPgorICAgICAgICA8L19VdWlkPgorICAgICAgICA8X1V1aWQgSW5jbHVkZT0iUHl0aG9ud0V4ZUNvbXBvbmVudEd1aWQiPgorICAgICAgICAgICAgPFVyaT5weXRob253LmV4ZTwvVXJpPgorICAgICAgICA8L19VdWlkPgorICAgICAgICA8X1V1aWQgSW5jbHVkZT0iUmVtb3ZlTGliMnRvM1BpY2tsZUNvbXBvbmVudEd1aWQiPgorICAgICAgICAgICAgPFVyaT5saWIydG8zL3BpY2tsZXM8L1VyaT4KKyAgICAgICAgPC9fVXVpZD4KKyAgICA8L0l0ZW1Hcm91cD4KKyAgICA8VGFyZ2V0IE5hbWU9Il9HZW5lcmF0ZUd1aWRzIiBBZnRlclRhcmdldHM9IlByZXBhcmVGb3JCdWlsZCI+CisgICAgICAgIDxQcm9wZXJ0eUdyb3VwPgorICAgICAgICAgICAgPF9VdWlkcz5AKF9VdWlkLT4nKCIlKElkZW50aXR5KSIsICIlKFVyaSkiKScsJywnKTwvX1V1aWRzPgorICAgICAgICAgICAgPF9HZW5lcmF0ZUNvbW1hbmQ+aW1wb3J0IHV1aWQ7IHByaW50KCdcbicuam9pbigne309e30nLmZvcm1hdChpLCB1dWlkLnV1aWQ1KHV1aWQuVVVJRCgnYzhkOTczM2UtYTcwYy00M2ZmLWFiMGMtZTI2NDU2ZjExMDgzJyksICckKFJlbGVhc2VVcmkpJyArIGopKSBmb3IgaSxqIGluIFskKF9VdWlkcy5SZXBsYWNlKGAiYCxgJ2ApKV0pKTwvX0dlbmVyYXRlQ29tbWFuZD4KKyAgICAgICAgPC9Qcm9wZXJ0eUdyb3VwPgorICAgICAgICAKKyAgICAgICAgPEV4ZWMgQ29tbWFuZD0nIiQoUHl0aG9uRXhlKSIgLWMgIiQoX0dlbmVyYXRlQ29tbWFuZCkiICZndDsgIiQoSW50ZXJtZWRpYXRlT3V0cHV0UGF0aCkkKE91dHB1dE5hbWUpZ3VpZHMudHh0IicgSWdub3JlRXhpdENvZGU9ImZhbHNlIiAvPgorICAgICAgICAKKyAgICAgICAgPFJlYWRMaW5lc0Zyb21GaWxlIEZpbGU9IiQoSW50ZXJtZWRpYXRlT3V0cHV0UGF0aCkkKE91dHB1dE5hbWUpZ3VpZHMudHh0Ij4KKyAgICAgICAgICAgIDxPdXRwdXQgVGFza1BhcmFtZXRlcj0iTGluZXMiIEl0ZW1OYW1lPSJfVXVpZFZhbHVlIiAvPgorICAgICAgICA8L1JlYWRMaW5lc0Zyb21GaWxlPgorICAgICAgICAKKyAgICAgICAgPFByb3BlcnR5R3JvdXA+CisgICAgICAgICAgICA8RGVmaW5lQ29uc3RhbnRzPiQoRGVmaW5lQ29uc3RhbnRzKTtAKF9VdWlkVmFsdWUsJzsnKTs8L0RlZmluZUNvbnN0YW50cz4KKyAgICAgICAgPC9Qcm9wZXJ0eUdyb3VwPgorICAgIDwvVGFyZ2V0PgorPC9Qcm9qZWN0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL1Rvb2xzL21zaS9tc2kucHkgYi9Ub29scy9tc2kvbXNpLnB5CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkNTAwNTZhLi4wMDAwMDAwCi0tLSBhL1Rvb2xzL21zaS9tc2kucHkKKysrIC9kZXYvbnVsbApAQCAtMSwxNDU0ICswLDAgQEAKLSMgUHl0aG9uIE1TSSBHZW5lcmF0b3IKLSMgKEMpIDIwMDMgTWFydGluIHYuIExvZXdpcwotIyBTZWUgIkZPTyIgaW4gY29tbWVudHMgcmVmZXJzIHRvIE1TRE4gc2VjdGlvbnMgd2l0aCB0aGUgdGl0bGUgRk9PLgotaW1wb3J0IG1zaWxpYiwgc2NoZW1hLCBzZXF1ZW5jZSwgb3MsIGdsb2IsIHRpbWUsIHJlLCBzaHV0aWwsIHppcGZpbGUKLWltcG9ydCBzdWJwcm9jZXNzLCB0ZW1wZmlsZQotZnJvbSBtc2lsaWIgaW1wb3J0IEZlYXR1cmUsIENBQiwgRGlyZWN0b3J5LCBEaWFsb2csIEJpbmFyeSwgYWRkX2RhdGEKLWltcG9ydCB1aXNhbXBsZQotZnJvbSB3aW4zMmNvbS5jbGllbnQgaW1wb3J0IGNvbnN0YW50cwotZnJvbSBkaXN0dXRpbHMuc3Bhd24gaW1wb3J0IGZpbmRfZXhlY3V0YWJsZQotCi0jIFNldHRpbmdzIGNhbiBiZSBvdmVycmlkZGVuIGluIGNvbmZpZy5weSBiZWxvdwotIyAwIGZvciBvZmZpY2lhbCBweXRob24ub3JnIHJlbGVhc2VzCi0jIDEgZm9yIGludGVybWVkaWF0ZSByZWxlYXNlcyBieSBhbnlib2R5LCB3aXRoCi0jIGEgbmV3IHByb2R1Y3QgY29kZSBmb3IgZXZlcnkgcGFja2FnZS4KLXNuYXBzaG90ID0gMQotIyAxIG1lYW5zIHRoYXQgZmlsZSBleHRlbnNpb24gaXMgcHgsIG5vdCBweSwKLSMgYW5kIGJpbmFyaWVzIHN0YXJ0IHdpdGggeAotdGVzdHBhY2thZ2UgPSAwCi0jIExvY2F0aW9uIG9mIGJ1aWxkIHRyZWUKLXNyY2RpciA9IG9zLnBhdGguYWJzcGF0aCgiLi4vLi4iKQotIyBUZXh0IHRvIGJlIGRpc3BsYXllZCBhcyB0aGUgdmVyc2lvbiBpbiBkaWFsb2dzIGV0Yy4KLSMgZ29lcyBpbnRvIGZpbGUgbmFtZSBhbmQgUHJvZHVjdENvZGUuIERlZmF1bHRzIHRvCi0jIGN1cnJlbnRfdmVyc2lvbi5kYXkgZm9yIFNuYXBzaG90LCBjdXJyZW50X3ZlcnNpb24gb3RoZXJ3aXNlCi1mdWxsX2N1cnJlbnRfdmVyc2lvbiA9IE5vbmUKLSMgSXMgVGNsIGF2YWlsYWJsZSBhdCBhbGw/Ci1oYXZlX3RjbCA9IFRydWUKLSMgcGF0aCB0byBQQ2J1aWxkIGRpcmVjdG9yeQotUENCVUlMRD0iUENidWlsZCIKLSMgbXN2Y3J0IHZlcnNpb24KLU1TVkNSID0gIjEwMCIKLSMgTmFtZSBvZiBjZXJ0aWZpY2F0ZSBpbiBkZWZhdWx0IHN0b3JlIHRvIHNpZ24gTVNJIHdpdGgKLWNlcnRuYW1lID0gTm9uZQotIyBNYWtlIGEgemlwIGZpbGUgY29udGFpbmluZyB0aGUgUERCIGZpbGVzIGZvciB0aGlzIGJ1aWxkPwotcGRiemlwID0gVHJ1ZQotCi10cnk6Ci0gICAgZnJvbSBjb25maWcgaW1wb3J0ICoKLWV4Y2VwdCBJbXBvcnRFcnJvcjoKLSAgICBwYXNzCi0KLSMgRXh0cmFjdCBjdXJyZW50IHZlcnNpb24gZnJvbSBJbmNsdWRlL3BhdGNobGV2ZWwuaAotbGluZXMgPSBvcGVuKHNyY2RpciArICIvSW5jbHVkZS9wYXRjaGxldmVsLmgiKS5yZWFkbGluZXMoKQotbWFqb3IgPSBtaW5vciA9IG1pY3JvID0gbGV2ZWwgPSBzZXJpYWwgPSBOb25lCi1sZXZlbHMgPSB7Ci0gICAgJ1BZX1JFTEVBU0VfTEVWRUxfQUxQSEEnOjB4QSwKLSAgICAnUFlfUkVMRUFTRV9MRVZFTF9CRVRBJzogMHhCLAotICAgICdQWV9SRUxFQVNFX0xFVkVMX0dBTU1BJzoweEMsCi0gICAgJ1BZX1JFTEVBU0VfTEVWRUxfRklOQUwnOjB4RgotICAgIH0KLWZvciBsIGluIGxpbmVzOgotICAgIGlmIG5vdCBsLnN0YXJ0c3dpdGgoIiNkZWZpbmUiKToKLSAgICAgICAgY29udGludWUKLSAgICBsID0gbC5zcGxpdCgpCi0gICAgaWYgbGVuKGwpICE9IDM6Ci0gICAgICAgIGNvbnRpbnVlCi0gICAgXywgbmFtZSwgdmFsdWUgPSBsCi0gICAgaWYgbmFtZSA9PSAnUFlfTUFKT1JfVkVSU0lPTic6IG1ham9yID0gdmFsdWUKLSAgICBpZiBuYW1lID09ICdQWV9NSU5PUl9WRVJTSU9OJzogbWlub3IgPSB2YWx1ZQotICAgIGlmIG5hbWUgPT0gJ1BZX01JQ1JPX1ZFUlNJT04nOiBtaWNybyA9IHZhbHVlCi0gICAgaWYgbmFtZSA9PSAnUFlfUkVMRUFTRV9MRVZFTCc6IGxldmVsID0gbGV2ZWxzW3ZhbHVlXQotICAgIGlmIG5hbWUgPT0gJ1BZX1JFTEVBU0VfU0VSSUFMJzogc2VyaWFsID0gdmFsdWUKLQotc2hvcnRfdmVyc2lvbiA9IG1ham9yKyIuIittaW5vcgotIyBTZWUgUEMvbWFrZV92ZXJzaW9uaW5mby5jCi1GSUVMRDMgPSAxMDAwKmludChtaWNybykgKyAxMCpsZXZlbCArIGludChzZXJpYWwpCi1jdXJyZW50X3ZlcnNpb24gPSAiJXMuJWQiICUgKHNob3J0X3ZlcnNpb24sIEZJRUxEMykKLQotIyBUaGlzIHNob3VsZCBuZXZlciBjaGFuZ2UuIFRoZSBVcGdyYWRlQ29kZSBvZiB0aGlzIHBhY2thZ2UgY2FuIGJlCi0jIHVzZWQgaW4gdGhlIFVwZ3JhZGUgdGFibGUgb2YgZnV0dXJlIHBhY2thZ2VzIHRvIG1ha2UgdGhlIGZ1dHVyZQotIyBwYWNrYWdlIHJlcGxhY2UgdGhpcyBvbmUuIFNlZSAiVXBncmFkZUNvZGUgUHJvcGVydHkiLgotIyB1cGdyYWRlX2NvZGUgZ2V0cyBzZXQgdG8gdXBncmFkZV9jb2RlXzY0IHdoZW4gd2UgaGF2ZSBkZXRlcm1pbmVkCi0jIHRoYXQgdGhlIHRhcmdldCBpcyBXaW42NC4KLXVwZ3JhZGVfY29kZV9zbmFwc2hvdD0nezkyQTI0NDgxLTNFQ0ItNDBGQy04ODM2LTA0Qjc5NjZFQzBENX0nCi11cGdyYWRlX2NvZGU9J3s2NUU2REU0OC1BMzU4LTQzNEQtQUE0Ri00QUY3MkRCNDcxOEZ9JwotdXBncmFkZV9jb2RlXzY0PSd7NkE5NjVBMEMtNkVFNi00RTNBLTk5ODMtMzI2M0Y1NjMxMUVDfScKLQotaWYgc25hcHNob3Q6Ci0gICAgY3VycmVudF92ZXJzaW9uID0gIiVzLiVzLiVzIiAlIChtYWpvciwgbWlub3IsIGludCh0aW1lLnRpbWUoKS8zNjAwLzI0KSkKLQotaWYgZnVsbF9jdXJyZW50X3ZlcnNpb24gaXMgTm9uZToKLSAgICBmdWxsX2N1cnJlbnRfdmVyc2lvbiA9IGN1cnJlbnRfdmVyc2lvbgotCi1leHRlbnNpb25zID0gWwotICAgICdweWV4cGF0LnB5ZCcsCi0gICAgJ3NlbGVjdC5weWQnLAotICAgICd1bmljb2RlZGF0YS5weWQnLAotICAgICd3aW5zb3VuZC5weWQnLAotICAgICdfYnoyLnB5ZCcsCi0gICAgJ19lbGVtZW50dHJlZS5weWQnLAotICAgICdfc29ja2V0LnB5ZCcsCi0gICAgJ19zc2wucHlkJywKLSAgICAnX3Rlc3RjYXBpLnB5ZCcsCi0gICAgJ190a2ludGVyLnB5ZCcsCi0gICAgJ19tc2kucHlkJywKLSAgICAnX2N0eXBlcy5weWQnLAotICAgICdfY3R5cGVzX3Rlc3QucHlkJywKLSAgICAnX3NxbGl0ZTMucHlkJywKLSAgICAnX2hhc2hsaWIucHlkJywKLSAgICAnX211bHRpcHJvY2Vzc2luZy5weWQnLAotICAgICdfbHptYS5weWQnLAotICAgICdfZGVjaW1hbC5weWQnLAotICAgICdfdGVzdGJ1ZmZlci5weWQnLAotICAgICdfdGVzdGltcG9ydG11bHRpcGxlLnB5ZCcsCi0gICAgJ19vdmVybGFwcGVkLnB5ZCcsCi1dCi0KLSMgV2VsbC1rbm93biBjb21wb25lbnQgVVVJRHMKLSMgVGhlc2UgYXJlIG5lZWRlZCBmb3IgU2hhcmVkRExMcyByZWZlcmVuY2UgY291bnRlcjsgaWYKLSMgYSBkaWZmZXJlbnQgVVVJRCB3YXMgdXNlZCBmb3IgZWFjaCBpbmNhcm5hdGlvbiBvZiwgc2F5LAotIyBweXRob24yNC5kbGwsIGFuIHVwZ3JhZGUgd291bGQgc2V0IHRoZSByZWZlcmVuY2UgY291bnRlcgotIyBmcm9tIDEgdG8gMiAoZHVlIHRvIHdoYXQgSSBjb25zaWRlciBhIGJ1ZyBpbiBNU0kpCi0jIFVzaW5nIHRoZSBzYW1lIFVVSUQgaXMgZmluZSBzaW5jZSB0aGVzZSBmaWxlcyBhcmUgdmVyc2lvbmVkLAotIyBzbyBJbnN0YWxsZXIgd2lsbCBhbHdheXMga2VlcCB0aGUgbmV3ZXN0IHZlcnNpb24uCi0jIE5PVEU6IEFsbCB1dWlkcyBhcmUgc2VsZiBnZW5lcmF0ZWQuCi1weXRob25kbGxfdXVpZCA9IHsKLSAgICAiMjQiOiJ7OUI4MUU2MTgtMjMwMS00MDM1LUFDNzctNzVEOUFCRUI3MzAxfSIsCi0gICAgIjI1IjoiezJlNDFiMTE4LTM4YmQtNGMxYi1hODQwLTY5NzdlZmQxYjkxMX0iLAotICAgICIyNiI6InszNGViZWNhYy1mMDQ2LTRlMWMtYjBlMy05YmFjM2NkYWFjZmF9IiwKLSAgICAiMjciOiJ7NGZlMjFjNzYtMTc2MC00MzdiLWEyZjItOTk5MDkxMzBhMTc1fSIsCi0gICAgIjMwIjoiezY5NTNiYzNiLTY3NjgtNDI5MS04NDEwLTc5MTRjZTZlMmNhOH0iLAotICAgICIzMSI6Ins0YWZjYmEwYi0xM2U0LTQ3YzMtYmViZS00Nzc0MjhiNDY5MTN9IiwKLSAgICAiMzIiOiJ7M2ZmOTUzMTUtMTA5Ni00ZDMxLWJkODYtNjAxZDU0MzhhZDVlfSIsCi0gICAgIjMzIjoie2Y3NTgxY2E0LWQzNjgtNGVlYS04ZjgyLWQ0OGM2NGM0ZjA0N30iLAotICAgICIzNCI6Ins3QTBDNTgxMi0yNTgzLTQwRDktQkNCQi1DRDc0ODVGMTEzNzd9IiwKLSAgICB9IFttYWpvcittaW5vcl0KLQotIyBDb21wdXRlIHRoZSBuYW1lIHRoYXQgU3BoaW54IGdpdmVzIHRvIHRoZSBkb2NmaWxlCi1kb2NmaWxlID0gbWljcm8KLWlmIGxldmVsIDwgMHhmOgotICAgIGlmIGxldmVsID09IDB4QzoKLSAgICAgICAgZG9jZmlsZSArPSAicmMlcyIgJSAoc2VyaWFsLCkKLSAgICBlbHNlOgotICAgICAgICBkb2NmaWxlICs9ICcleCVzJyAlIChsZXZlbCwgc2VyaWFsKQotZG9jZmlsZSA9ICdweXRob24lcyVzJXMuY2htJyAlIChtYWpvciwgbWlub3IsIGRvY2ZpbGUpCi0KLSMgQnVpbGQgdGhlIG1pbmd3IGltcG9ydCBsaWJyYXJ5LCBsaWJweXRob25YWS5hCi0jIFRoaXMgcmVxdWlyZXMgJ25tJyBhbmQgJ2RsbHRvb2wnIGV4ZWN1dGFibGVzIG9uIHlvdXIgUEFUSAotZGVmIGJ1aWxkX21pbmd3X2xpYihsaWJfZmlsZSwgZGVmX2ZpbGUsIGRsbF9maWxlLCBtaW5nd19saWIpOgotICAgIHdhcm5pbmcgPSAiV0FSTklORzogJXMgLSBsaWJweXRob25YWC5hIG5vdCBidWlsdCIKLSAgICBubSA9IGZpbmRfZXhlY3V0YWJsZSgnbm0nKQotICAgIGRsbHRvb2wgPSBmaW5kX2V4ZWN1dGFibGUoJ2RsbHRvb2wnKQotCi0gICAgaWYgbm90IG5tIG9yIG5vdCBkbGx0b29sOgotICAgICAgICBwcmludCh3YXJuaW5nICUgIm5tIGFuZC9vciBkbGx0b29sIHdlcmUgbm90IGZvdW5kIikKLSAgICAgICAgcmV0dXJuIEZhbHNlCi0KLSAgICBubV9jb21tYW5kID0gJyVzIC1DcyAlcycgJSAobm0sIGxpYl9maWxlKQotICAgIGRsbHRvb2xfY29tbWFuZCA9ICIlcyAtLWRsbG5hbWUgJXMgLS1kZWYgJXMgLS1vdXRwdXQtbGliICVzIiAlIFwKLSAgICAgICAgKGRsbHRvb2wsIGRsbF9maWxlLCBkZWZfZmlsZSwgbWluZ3dfbGliKQotICAgIGV4cG9ydF9tYXRjaCA9IHJlLmNvbXBpbGUociJeX2ltcF9fKC4qKSBpbiBweXRob25cZCtcLmRsbCIpLm1hdGNoCi0KLSAgICBmID0gb3BlbihkZWZfZmlsZSwndycpCi0gICAgZi53cml0ZSgiTElCUkFSWSAlc1xuIiAlIGRsbF9maWxlKQotICAgIGYud3JpdGUoIkVYUE9SVFNcbiIpCi0KLSAgICBubV9waXBlID0gb3MucG9wZW4obm1fY29tbWFuZCkKLSAgICBmb3IgbGluZSBpbiBubV9waXBlLnJlYWRsaW5lcygpOgotICAgICAgICBtID0gZXhwb3J0X21hdGNoKGxpbmUpCi0gICAgICAgIGlmIG06Ci0gICAgICAgICAgICBmLndyaXRlKG0uZ3JvdXAoMSkrIlxuIikKLSAgICBmLmNsb3NlKCkKLSAgICBleGl0ID0gbm1fcGlwZS5jbG9zZSgpCi0KLSAgICBpZiBleGl0OgotICAgICAgICBwcmludCh3YXJuaW5nICUgIm5tIGRpZCBub3QgcnVuIHN1Y2Nlc3NmdWxseSIpCi0gICAgICAgIHJldHVybiBGYWxzZQotCi0gICAgaWYgb3Muc3lzdGVtKGRsbHRvb2xfY29tbWFuZCkgIT0gMDoKLSAgICAgICAgcHJpbnQod2FybmluZyAlICJkbGx0b29sIGRpZCBub3QgcnVuIHN1Y2Nlc3NmdWxseSIpCi0gICAgICAgIHJldHVybiBGYWxzZQotCi0gICAgcmV0dXJuIFRydWUKLQotIyBUYXJnZXQgZmlsZXMgKC5kZWYgYW5kIC5hKSBnbyBpbiBQQ0J1aWxkIGRpcmVjdG9yeQotbGliX2ZpbGUgPSBvcy5wYXRoLmpvaW4oc3JjZGlyLCBQQ0JVSUxELCAicHl0aG9uJXMlcy5saWIiICUgKG1ham9yLCBtaW5vcikpCi1kZWZfZmlsZSA9IG9zLnBhdGguam9pbihzcmNkaXIsIFBDQlVJTEQsICJweXRob24lcyVzLmRlZiIgJSAobWFqb3IsIG1pbm9yKSkKLWRsbF9maWxlID0gInB5dGhvbiVzJXMuZGxsIiAlIChtYWpvciwgbWlub3IpCi1taW5nd19saWIgPSBvcy5wYXRoLmpvaW4oc3JjZGlyLCBQQ0JVSUxELCAibGlicHl0aG9uJXMlcy5hIiAlIChtYWpvciwgbWlub3IpKQotCi1oYXZlX21pbmd3ID0gYnVpbGRfbWluZ3dfbGliKGxpYl9maWxlLCBkZWZfZmlsZSwgZGxsX2ZpbGUsIG1pbmd3X2xpYikKLQotIyBEZXRlcm1pbmUgdGhlIHRhcmdldCBhcmNoaXRlY3R1cmUKLWlmIG9zLnN5c3RlbSgibm1ha2UgL25vbG9nbyAvYyAvZiBtc2lzdXBwb3J0Lm1hayIpICE9IDA6Ci0gICAgcmFpc2UgUnVudGltZUVycm9yKCInbm1ha2UgL2YgbXNpc3VwcG9ydC5tYWsnIGZhaWxlZCIpCi1kbGxfcGF0aCA9IG9zLnBhdGguam9pbihzcmNkaXIsIFBDQlVJTEQsIGRsbF9maWxlKQotbXNpbGliLnNldF9hcmNoX2Zyb21fZmlsZShkbGxfcGF0aCkKLWlmIG1zaWxpYi5wZV90eXBlKGRsbF9wYXRoKSAhPSBtc2lsaWIucGVfdHlwZSgibXNpc3VwcG9ydC5kbGwiKToKLSAgICByYWlzZSBTeXN0ZW1FcnJvcigibXNpc3VwcG9ydC5kbGwgZm9yIGluY29ycmVjdCBhcmNoaXRlY3R1cmUiKQotCi1pZiBtc2lsaWIuV2luNjQ6Ci0gICAgdXBncmFkZV9jb2RlID0gdXBncmFkZV9jb2RlXzY0Ci0KLWlmIHNuYXBzaG90OgotICAgIHByb2R1Y3RfY29kZSA9IG1zaWxpYi5nZW5fdXVpZCgpCi1lbHNlOgotICAgICMgb2ZmaWNpYWwgcmVsZWFzZTogZ2VuZXJhdGUgVVVJRCBmcm9tIHRoZSBkb3dubG9hZCBsaW5rIHRoYXQgdGhlIGZpbGUgd2lsbCBoYXZlCi0gICAgaW1wb3J0IHV1aWQKLSAgICBwcm9kdWN0X2NvZGUgPSB1dWlkLnV1aWQzKHV1aWQuTkFNRVNQQUNFX1VSTCwKLSAgICAgICAgICAgICAgICAgICAgJ2h0dHA6Ly93d3cucHl0aG9uLm9yZy9mdHAvcHl0aG9uLyVzLiVzLiVzL3B5dGhvbi0lcyVzLm1zaScgJQotICAgICAgICAgICAgICAgICAgICAobWFqb3IsIG1pbm9yLCBtaWNybywgZnVsbF9jdXJyZW50X3ZlcnNpb24sIG1zaWxpYi5hcmNoX2V4dCkpCi0gICAgcHJvZHVjdF9jb2RlID0gJ3slc30nICUgcHJvZHVjdF9jb2RlCi0KLWlmIHRlc3RwYWNrYWdlOgotICAgIGV4dCA9ICdweCcKLSAgICB0ZXN0cHJlZml4ID0gJ3gnCi1lbHNlOgotICAgIGV4dCA9ICdweScKLSAgICB0ZXN0cHJlZml4ID0gJycKLQotaWYgbXNpbGliLldpbjY0OgotICAgIFN5c3RlbUZvbGRlck5hbWUgPSAiW1N5c3RlbTY0Rm9sZGVyXSIKLSAgICByZWdpc3RyeV9jb21wb25lbnQgPSA0fDI1NgotZWxzZToKLSAgICBTeXN0ZW1Gb2xkZXJOYW1lID0gIltTeXN0ZW1Gb2xkZXJdIgotICAgIHJlZ2lzdHJ5X2NvbXBvbmVudCA9IDQKLQotbXNpbGliLnJlc2V0KCkKLQotIyBjb25kaXRpb24gaW4gd2hpY2ggdG8gaW5zdGFsbCBweXRob254eS5kbGwgaW4gc3lzdGVtMzI6Ci0jIGEpIGl0IGlzIFdpbmRvd3MgOXggb3IKLSMgYikgaXQgaXMgTlQsIHRoZSB1c2VyIGlzIHByaXZpbGVnZWQsIGFuZCBoYXMgY2hvc2VuIHBlci1tYWNoaW5lIGluc3RhbGxhdGlvbgotc3lzMzJjb25kID0gIihXaW5kb3dzOXggb3IgKFByaXZpbGVnZWQgYW5kIEFMTFVTRVJTKSkiCi0KLWRlZiBidWlsZF9kYXRhYmFzZSgpOgotICAgICIiIkdlbmVyYXRlIGFuIGVtcHR5IGRhdGFiYXNlLCB3aXRoIGp1c3QgdGhlIHNjaGVtYSBhbmQgdGhlCi0gICAgU3VtbWFyeSBpbmZvcm1hdGlvbiBzdHJlYW0uIiIiCi0gICAgaWYgc25hcHNob3Q6Ci0gICAgICAgIHVjID0gdXBncmFkZV9jb2RlX3NuYXBzaG90Ci0gICAgZWxzZToKLSAgICAgICAgdWMgPSB1cGdyYWRlX2NvZGUKLSAgICBpZiBtc2lsaWIuV2luNjQ6Ci0gICAgICAgIHByb2R1Y3RzdWZmaXggPSAiICg2NC1iaXQpIgotICAgIGVsc2U6Ci0gICAgICAgIHByb2R1Y3RzdWZmaXggPSAiIgotICAgICMgc2NoZW1hIHJlcHJlc2VudHMgdGhlIGluc3RhbGxlciAyLjAgZGF0YWJhc2Ugc2NoZW1hLgotICAgICMgc2VxdWVuY2UgaXMgdGhlIHNldCBvZiBzdGFuZGFyZCBzZXF1ZW5jZXMKLSAgICAjICh1aS9leGVjdXRlLCBhZG1pbi9hZHZ0L2luc3RhbGwpCi0gICAgbXNpbmFtZSA9ICJweXRob24tJXMlcy5tc2kiICUgKGZ1bGxfY3VycmVudF92ZXJzaW9uLCBtc2lsaWIuYXJjaF9leHQpCi0gICAgZGIgPSBtc2lsaWIuaW5pdF9kYXRhYmFzZShtc2luYW1lLAotICAgICAgICAgICAgICAgICAgc2NoZW1hLCBQcm9kdWN0TmFtZT0iUHl0aG9uICIrZnVsbF9jdXJyZW50X3ZlcnNpb24rcHJvZHVjdHN1ZmZpeCwKLSAgICAgICAgICAgICAgICAgIFByb2R1Y3RDb2RlPXByb2R1Y3RfY29kZSwKLSAgICAgICAgICAgICAgICAgIFByb2R1Y3RWZXJzaW9uPWN1cnJlbnRfdmVyc2lvbiwKLSAgICAgICAgICAgICAgICAgIE1hbnVmYWN0dXJlcj11IlB5dGhvbiBTb2Z0d2FyZSBGb3VuZGF0aW9uIiwKLSAgICAgICAgICAgICAgICAgIHJlcXVlc3RfdWFjID0gVHJ1ZSkKLSAgICAjIFRoZSBkZWZhdWx0IHNlcXVlbmNpbmcgb2YgdGhlIFJlbW92ZUV4aXN0aW5nUHJvZHVjdHMgYWN0aW9uIGNhdXNlcwotICAgICMgcmVtb3ZhbCBvZiBmaWxlcyB0aGF0IGdvdCBqdXN0IGluc3RhbGxlZC4gUGxhY2UgaXQgYWZ0ZXIKLSAgICAjIEluc3RhbGxJbml0aWFsaXplLCBzbyB3ZSBmaXJzdCB1bmluc3RhbGwgZXZlcnl0aGluZywgYnV0IHN0aWxsIHJvbGwKLSAgICAjIGJhY2sgaW4gY2FzZSB0aGUgaW5zdGFsbGF0aW9uIGlzIGludGVycnVwdGVkCi0gICAgbXNpbGliLmNoYW5nZV9zZXF1ZW5jZShzZXF1ZW5jZS5JbnN0YWxsRXhlY3V0ZVNlcXVlbmNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIlJlbW92ZUV4aXN0aW5nUHJvZHVjdHMiLCAxNTEwKQotICAgIG1zaWxpYi5hZGRfdGFibGVzKGRiLCBzZXF1ZW5jZSkKLSAgICAjIFdlIGNhbm5vdCBzZXQgQUxMVVNFUlMgaW4gdGhlIHByb3BlcnR5IHRhYmxlLCBhcyB0aGlzIGNhbm5vdCBiZQotICAgICMgcmVzZXQgaWYgdGhlIHVzZXIgY2hvc2VzIGEgcGVyLXVzZXIgaW5zdGFsbGF0aW9uLiBJbnN0ZWFkLCB3ZQotICAgICMgbWFpbnRhaW4gV2hpY2hVc2Vycywgd2hpY2ggY2FuIGJlICJBTEwiIG9yICJKVVNUTUUiLiBUaGUgVUkgbWFuYWdlcwotICAgICMgdGhpcyBwcm9wZXJ0eSwgYW5kIHdoZW4gdGhlIGV4ZWN1dGlvbiBzdGFydHMsIEFMTFVTRVJTIGlzIHNldAotICAgICMgYWNjb3JkaW5nbHkuCi0gICAgYWRkX2RhdGEoZGIsICJQcm9wZXJ0eSIsIFsoIlVwZ3JhZGVDb2RlIiwgdWMpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCJXaGljaFVzZXJzIiwgIkFMTCIpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCJQcm9kdWN0TGluZSIsICJQeXRob24lcyVzIiAlIChtYWpvciwgbWlub3IpKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSkKLSAgICBkYi5Db21taXQoKQotICAgIHJldHVybiBkYiwgbXNpbmFtZQotCi1kZWYgcmVtb3ZlX29sZF92ZXJzaW9ucyhkYik6Ci0gICAgIkZpbGwgdGhlIHVwZ3JhZGUgdGFibGUuIgotICAgIHN0YXJ0ID0gIiVzLiVzLjAiICUgKG1ham9yLCBtaW5vcikKLSAgICAjIFRoaXMgcmVxdWVzdHMgdGhhdCBmZWF0dXJlIHNlbGVjdGlvbiBzdGF0ZXMgb2YgYW4gb2xkZXIKLSAgICAjIGluc3RhbGxhdGlvbiBzaG91bGQgYmUgZm9yd2FyZGVkIGludG8gdGhpcyBvbmUuIFVwZ3JhZGluZwotICAgICMgcmVxdWlyZXMgdGhhdCBib3RoIHRoZSBvbGQgYW5kIHRoZSBuZXcgaW5zdGFsbGF0aW9uIGFyZQotICAgICMgZWl0aGVyIGJvdGggcGVyLW1hY2hpbmUgb3IgcGVyLXVzZXIuCi0gICAgbWlncmF0ZV9mZWF0dXJlcyA9IDEKLSAgICAjIFNlZSAiVXBncmFkZSBUYWJsZSIuIFdlIHJlbW92ZSByZWxlYXNlcyB3aXRoIHRoZSBzYW1lIG1ham9yIGFuZAotICAgICMgbWlub3IgdmVyc2lvbi4gRm9yIGFuIHNuYXBzaG90LCB3ZSByZW1vdmUgYWxsIGVhcmxpZXIgc25hcHNob3RzLiBGb3IKLSAgICAjIGEgcmVsZWFzZSwgd2UgcmVtb3ZlIGFsbCBzbmFwc2hvdHMsIGFuZCBhbGwgZWFybGllciByZWxlYXNlcy4KLSAgICBpZiBzbmFwc2hvdDoKLSAgICAgICAgYWRkX2RhdGEoZGIsICJVcGdyYWRlIiwKLSAgICAgICAgICAgIFsodXBncmFkZV9jb2RlX3NuYXBzaG90LCBzdGFydCwKLSAgICAgICAgICAgICAgY3VycmVudF92ZXJzaW9uLAotICAgICAgICAgICAgICBOb25lLCAgICAgICAgICAgICAgICAgICAgICMgSWdub3JlIGxhbmd1YWdlCi0gICAgICAgICAgICAgIG1pZ3JhdGVfZmVhdHVyZXMsCi0gICAgICAgICAgICAgIE5vbmUsICAgICAgICAgICAgICAgICAgICAgIyBNaWdyYXRlIEFMTCBmZWF0dXJlcwotICAgICAgICAgICAgICAiUkVNT1ZFT0xEU05BUFNIT1QiKV0pCi0gICAgICAgIHByb3BzID0gIlJFTU9WRU9MRFNOQVBTSE9UIgotICAgIGVsc2U6Ci0gICAgICAgIGFkZF9kYXRhKGRiLCAiVXBncmFkZSIsCi0gICAgICAgICAgICBbKHVwZ3JhZGVfY29kZSwgc3RhcnQsIGN1cnJlbnRfdmVyc2lvbiwKLSAgICAgICAgICAgICAgTm9uZSwgbWlncmF0ZV9mZWF0dXJlcywgTm9uZSwgIlJFTU9WRU9MRFZFUlNJT04iKSwKLSAgICAgICAgICAgICAodXBncmFkZV9jb2RlX3NuYXBzaG90LCBzdGFydCwgIiVzLiVkLjAiICUgKG1ham9yLCBpbnQobWlub3IpKzEpLAotICAgICAgICAgICAgICBOb25lLCBtaWdyYXRlX2ZlYXR1cmVzLCBOb25lLCAiUkVNT1ZFT0xEU05BUFNIT1QiKV0pCi0gICAgICAgIHByb3BzID0gIlJFTU9WRU9MRFNOQVBTSE9UO1JFTU9WRU9MRFZFUlNJT04iCi0KLSAgICBwcm9wcyArPSAiO1RBUkdFVERJUjtETExESVI7TEFVTkNIRVJESVIiCi0gICAgIyBJbnN0YWxsZXIgY29sbGVjdHMgdGhlIHByb2R1Y3QgY29kZXMgb2YgdGhlIGVhcmxpZXIgcmVsZWFzZXMgaW4KLSAgICAjIHRoZXNlIHByb3BlcnRpZXMuIEluIG9yZGVyIHRvIGFsbG93IG1vZGlmaWNhdGlvbiBvZiB0aGUgcHJvcGVydGllcywKLSAgICAjIHRoZXkgbXVzdCBiZSBkZWNsYXJlZCBhcyBzZWN1cmUuIFNlZSAiU2VjdXJlQ3VzdG9tUHJvcGVydGllcyBQcm9wZXJ0eSIKLSAgICBhZGRfZGF0YShkYiwgIlByb3BlcnR5IiwgWygiU2VjdXJlQ3VzdG9tUHJvcGVydGllcyIsIHByb3BzKV0pCi0KLWNsYXNzIFB5RGlhbG9nKERpYWxvZyk6Ci0gICAgIiIiRGlhbG9nIGNsYXNzIHdpdGggYSBmaXhlZCBsYXlvdXQ6IGNvbnRyb2xzIGF0IHRoZSB0b3AsIHRoZW4gYSBydWxlciwKLSAgICB0aGVuIGEgbGlzdCBvZiBidXR0b25zOiBiYWNrLCBuZXh0LCBjYW5jZWwuIE9wdGlvbmFsbHkgYSBiaXRtYXAgYXQgdGhlCi0gICAgbGVmdC4iIiIKLSAgICBkZWYgX19pbml0X18oc2VsZiwgKmFyZ3MsICoqa3cpOgotICAgICAgICAiIiJEaWFsb2coZGF0YWJhc2UsIG5hbWUsIHgsIHksIHcsIGgsIGF0dHJpYnV0ZXMsIHRpdGxlLCBmaXJzdCwKLSAgICAgICAgZGVmYXVsdCwgY2FuY2VsLCBiaXRtYXA9dHJ1ZSkiIiIKLSAgICAgICAgRGlhbG9nLl9faW5pdF9fKHNlbGYsICphcmdzKQotICAgICAgICBydWxlciA9IHNlbGYuaCAtIDM2Ci0gICAgICAgIGJtd2lkdGggPSAxNTIqcnVsZXIvMzI4Ci0gICAgICAgIGlmIGt3LmdldCgiYml0bWFwIiwgVHJ1ZSk6Ci0gICAgICAgICAgICBzZWxmLmJpdG1hcCgiQml0bWFwIiwgMCwgMCwgYm13aWR0aCwgcnVsZXIsICJQeXRob25XaW4iKQotICAgICAgICBzZWxmLmxpbmUoIkJvdHRvbUxpbmUiLCAwLCBydWxlciwgc2VsZi53LCAwKQotCi0gICAgZGVmIHRpdGxlKHNlbGYsIHRpdGxlKToKLSAgICAgICAgIlNldCB0aGUgdGl0bGUgdGV4dCBvZiB0aGUgZGlhbG9nIGF0IHRoZSB0b3AuIgotICAgICAgICAjIG5hbWUsIHgsIHksIHcsIGgsIGZsYWdzPVZpc2libGV8RW5hYmxlZHxUcmFuc3BhcmVudHxOb1ByZWZpeCwKLSAgICAgICAgIyB0ZXh0LCBpbiBWZXJkYW5hQm9sZDEwCi0gICAgICAgIHNlbGYudGV4dCgiVGl0bGUiLCAxMzUsIDEwLCAyMjAsIDYwLCAweDMwMDAzLAotICAgICAgICAgICAgICAgICAgciJ7XFZlcmRhbmFCb2xkMTB9JXMiICUgdGl0bGUpCi0KLSAgICBkZWYgYmFjayhzZWxmLCB0aXRsZSwgbmV4dCwgbmFtZSA9ICJCYWNrIiwgYWN0aXZlID0gMSk6Ci0gICAgICAgICIiIkFkZCBhIGJhY2sgYnV0dG9uIHdpdGggYSBnaXZlbiB0aXRsZSwgdGhlIHRhYi1uZXh0IGJ1dHRvbiwKLSAgICAgICAgaXRzIG5hbWUgaW4gdGhlIENvbnRyb2wgdGFibGUsIHBvc3NpYmx5IGluaXRpYWxseSBkaXNhYmxlZC4KLQotICAgICAgICBSZXR1cm4gdGhlIGJ1dHRvbiwgc28gdGhhdCBldmVudHMgY2FuIGJlIGFzc29jaWF0ZWQiIiIKLSAgICAgICAgaWYgYWN0aXZlOgotICAgICAgICAgICAgZmxhZ3MgPSAzICMgVmlzaWJsZXxFbmFibGVkCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBmbGFncyA9IDEgIyBWaXNpYmxlCi0gICAgICAgIHJldHVybiBzZWxmLnB1c2hidXR0b24obmFtZSwgMTgwLCBzZWxmLmgtMjcgLCA1NiwgMTcsIGZsYWdzLCB0aXRsZSwgbmV4dCkKLQotICAgIGRlZiBjYW5jZWwoc2VsZiwgdGl0bGUsIG5leHQsIG5hbWUgPSAiQ2FuY2VsIiwgYWN0aXZlID0gMSk6Ci0gICAgICAgICIiIkFkZCBhIGNhbmNlbCBidXR0b24gd2l0aCBhIGdpdmVuIHRpdGxlLCB0aGUgdGFiLW5leHQgYnV0dG9uLAotICAgICAgICBpdHMgbmFtZSBpbiB0aGUgQ29udHJvbCB0YWJsZSwgcG9zc2libHkgaW5pdGlhbGx5IGRpc2FibGVkLgotCi0gICAgICAgIFJldHVybiB0aGUgYnV0dG9uLCBzbyB0aGF0IGV2ZW50cyBjYW4gYmUgYXNzb2NpYXRlZCIiIgotICAgICAgICBpZiBhY3RpdmU6Ci0gICAgICAgICAgICBmbGFncyA9IDMgIyBWaXNpYmxlfEVuYWJsZWQKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIGZsYWdzID0gMSAjIFZpc2libGUKLSAgICAgICAgcmV0dXJuIHNlbGYucHVzaGJ1dHRvbihuYW1lLCAzMDQsIHNlbGYuaC0yNywgNTYsIDE3LCBmbGFncywgdGl0bGUsIG5leHQpCi0KLSAgICBkZWYgbmV4dChzZWxmLCB0aXRsZSwgbmV4dCwgbmFtZSA9ICJOZXh0IiwgYWN0aXZlID0gMSk6Ci0gICAgICAgICIiIkFkZCBhIE5leHQgYnV0dG9uIHdpdGggYSBnaXZlbiB0aXRsZSwgdGhlIHRhYi1uZXh0IGJ1dHRvbiwKLSAgICAgICAgaXRzIG5hbWUgaW4gdGhlIENvbnRyb2wgdGFibGUsIHBvc3NpYmx5IGluaXRpYWxseSBkaXNhYmxlZC4KLQotICAgICAgICBSZXR1cm4gdGhlIGJ1dHRvbiwgc28gdGhhdCBldmVudHMgY2FuIGJlIGFzc29jaWF0ZWQiIiIKLSAgICAgICAgaWYgYWN0aXZlOgotICAgICAgICAgICAgZmxhZ3MgPSAzICMgVmlzaWJsZXxFbmFibGVkCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBmbGFncyA9IDEgIyBWaXNpYmxlCi0gICAgICAgIHJldHVybiBzZWxmLnB1c2hidXR0b24obmFtZSwgMjM2LCBzZWxmLmgtMjcsIDU2LCAxNywgZmxhZ3MsIHRpdGxlLCBuZXh0KQotCi0gICAgZGVmIHhidXR0b24oc2VsZiwgbmFtZSwgdGl0bGUsIG5leHQsIHhwb3MpOgotICAgICAgICAiIiJBZGQgYSBidXR0b24gd2l0aCBhIGdpdmVuIHRpdGxlLCB0aGUgdGFiLW5leHQgYnV0dG9uLAotICAgICAgICBpdHMgbmFtZSBpbiB0aGUgQ29udHJvbCB0YWJsZSwgZ2l2aW5nIGl0cyB4IHBvc2l0aW9uOyB0aGUKLSAgICAgICAgeS1wb3NpdGlvbiBpcyBhbGlnbmVkIHdpdGggdGhlIG90aGVyIGJ1dHRvbnMuCi0KLSAgICAgICAgUmV0dXJuIHRoZSBidXR0b24sIHNvIHRoYXQgZXZlbnRzIGNhbiBiZSBhc3NvY2lhdGVkIiIiCi0gICAgICAgIHJldHVybiBzZWxmLnB1c2hidXR0b24obmFtZSwgaW50KHNlbGYudyp4cG9zIC0gMjgpLCBzZWxmLmgtMjcsIDU2LCAxNywgMywgdGl0bGUsIG5leHQpCi0KLWRlZiBhZGRfdWkoZGIpOgotICAgIHggPSB5ID0gNTAKLSAgICB3ID0gMzcwCi0gICAgaCA9IDMwMAotICAgIHRpdGxlID0gIltQcm9kdWN0TmFtZV0gU2V0dXAiCi0KLSAgICAjIHNlZSAiRGlhbG9nIFN0eWxlIEJpdHMiCi0gICAgbW9kYWwgPSAzICAgICAgIyB2aXNpYmxlIHwgbW9kYWwKLSAgICBtb2RlbGVzcyA9IDEgICAjIHZpc2libGUKLSAgICB0cmFja19kaXNrX3NwYWNlID0gMzIKLQotICAgIGFkZF9kYXRhKGRiLCAnQWN0aW9uVGV4dCcsIHVpc2FtcGxlLkFjdGlvblRleHQpCi0gICAgYWRkX2RhdGEoZGIsICdVSVRleHQnLCB1aXNhbXBsZS5VSVRleHQpCi0KLSAgICAjIEJpdG1hcHMKLSAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMoc3JjZGlyK3IiXFBDXHB5dGhvbl9pY29uLmV4ZSIpOgotICAgICAgICByYWlzZSBSdW50aW1lRXJyb3IoIlJ1biBpY29ucy5tYWsgaW4gUEMgZGlyZWN0b3J5IikKLSAgICBhZGRfZGF0YShkYiwgIkJpbmFyeSIsCi0gICAgICAgICAgICAgWygiUHl0aG9uV2luIiwgbXNpbGliLkJpbmFyeShyIiVzXFBDYnVpbGRcaW5zdGFsbGVyLmJtcCIgJSBzcmNkaXIpKSwgIyAxNTJ4MzI4IHBpeGVscwotICAgICAgICAgICAgICAoInB5LmljbyIsbXNpbGliLkJpbmFyeShzcmNkaXIrciJcUENccHkuaWNvIikpLAotICAgICAgICAgICAgIF0pCi0gICAgYWRkX2RhdGEoZGIsICJJY29uIiwKLSAgICAgICAgICAgICBbKCJweXRob25faWNvbi5leGUiLCBtc2lsaWIuQmluYXJ5KHNyY2RpcityIlxQQ1xweXRob25faWNvbi5leGUiKSldKQotCi0gICAgIyBTY3JpcHRzCi0gICAgIyBDaGVja0RpciBzZXRzIFRhcmdldEV4aXN0cyBpZiBUQVJHRVRESVIgZXhpc3RzLgotICAgICMgVXBkYXRlRWRpdElETEUgc2V0cyB0aGUgUkVHSVNUUlkudGNsIGNvbXBvbmVudCBpbnRvCi0gICAgIyB0aGUgaW5zdGFsbGVkL3VuaW5zdGFsbGVkIHN0YXRlIGFjY29yZGluZyB0byBib3RoIHRoZQotICAgICMgRXh0ZW5zaW9ucyBhbmQgVGNsVGsgZmVhdHVyZXMuCi0gICAgYWRkX2RhdGEoZGIsICJCaW5hcnkiLCBbKCJTY3JpcHQiLCBtc2lsaWIuQmluYXJ5KCJtc2lzdXBwb3J0LmRsbCIpKV0pCi0gICAgIyBTZWUgIkN1c3RvbSBBY3Rpb24gVHlwZSAxIgotICAgIGlmIG1zaWxpYi5XaW42NDoKLSAgICAgICAgQ2hlY2tEaXIgPSAiQ2hlY2tEaXIiCi0gICAgICAgIFVwZGF0ZUVkaXRJRExFID0gIlVwZGF0ZUVkaXRJRExFIgotICAgIGVsc2U6Ci0gICAgICAgIENoZWNrRGlyID0gICJfQ2hlY2tEaXJANCIKLSAgICAgICAgVXBkYXRlRWRpdElETEUgPSAiX1VwZGF0ZUVkaXRJRExFQDQiCi0gICAgYWRkX2RhdGEoZGIsICJDdXN0b21BY3Rpb24iLAotICAgICAgICBbKCJDaGVja0RpciIsIDEsICJTY3JpcHQiLCBDaGVja0RpcildKQotICAgIGlmIGhhdmVfdGNsOgotICAgICAgICBhZGRfZGF0YShkYiwgIkN1c3RvbUFjdGlvbiIsCi0gICAgICAgIFsoIlVwZGF0ZUVkaXRJRExFIiwgMSwgIlNjcmlwdCIsIFVwZGF0ZUVkaXRJRExFKV0pCi0KLSAgICAjIFVJIGN1c3RvbWl6YXRpb24gcHJvcGVydGllcwotICAgIGFkZF9kYXRhKGRiLCAiUHJvcGVydHkiLAotICAgICAgICAgICAgICMgU2VlICJEZWZhdWx0VUlGb250IFByb3BlcnR5IgotICAgICAgICAgICAgIFsoIkRlZmF1bHRVSUZvbnQiLCAiRGxnRm9udDgiKSwKLSAgICAgICAgICAgICAgIyBTZWUgIkVycm9yRGlhbG9nIFN0eWxlIEJpdCIKLSAgICAgICAgICAgICAgKCJFcnJvckRpYWxvZyIsICJFcnJvckRsZyIpLAotICAgICAgICAgICAgICAoIlByb2dyZXNzMSIsICJJbnN0YWxsIiksICAgIyBtb2RpZmllZCBpbiBtYWludGVuYW5jZSB0eXBlIGRsZwotICAgICAgICAgICAgICAoIlByb2dyZXNzMiIsICJpbnN0YWxscyIpLAotICAgICAgICAgICAgICAoIk1haW50ZW5hbmNlRm9ybV9BY3Rpb24iLCAiUmVwYWlyIildKQotCi0gICAgIyBGb250cywgc2VlICJUZXh0U3R5bGUgVGFibGUiCi0gICAgYWRkX2RhdGEoZGIsICJUZXh0U3R5bGUiLAotICAgICAgICAgICAgIFsoIkRsZ0ZvbnQ4IiwgIlRhaG9tYSIsIDksIE5vbmUsIDApLAotICAgICAgICAgICAgICAoIkRsZ0ZvbnRCb2xkOCIsICJUYWhvbWEiLCA4LCBOb25lLCAxKSwgI2JvbGQKLSAgICAgICAgICAgICAgKCJWZXJkYW5hQm9sZDEwIiwgIlZlcmRhbmEiLCAxMCwgTm9uZSwgMSksCi0gICAgICAgICAgICAgICgiVmVyZGFuYVJlZDkiLCAiVmVyZGFuYSIsIDksIDI1NSwgMCksCi0gICAgICAgICAgICAgXSkKLQotICAgIGNvbXBpbGVhcmdzID0gcictV2kgIltUQVJHRVRESVJdTGliXGNvbXBpbGVhbGwucHkiIC1mIC14ICJiYWRfY29kaW5nfGJhZHN5bnRheHxzaXRlLXBhY2thZ2VzfHB5Ml98bGliMnRvM1xcdGVzdHN8dmVudlxcc2NyaXB0cyIgIltUQVJHRVRESVJdTGliIicKLSAgICBsaWIydG8zYXJncyA9IHInLWMgImltcG9ydCBsaWIydG8zLnB5Z3JhbSwgbGliMnRvMy5wYXRjb21wO2xpYjJ0bzMucGF0Y29tcC5QYXR0ZXJuQ29tcGlsZXIoKSInCi0gICAgdXBkYXRlcGlwYXJncyA9IHInLW0gZW5zdXJlcGlwIC1VIC0tZGVmYXVsdC1waXAnCi0gICAgcmVtb3ZlcGlwYXJncyA9IHInLUIgLW0gZW5zdXJlcGlwLl91bmluc3RhbGwnCi0gICAgIyBTZWUgIkN1c3RvbUFjdGlvbiBUYWJsZSIKLSAgICBhZGRfZGF0YShkYiwgIkN1c3RvbUFjdGlvbiIsIFsKLSAgICAgICAgIyBtc2lkYkN1c3RvbUFjdGlvblR5cGVGaXJzdFNlcXVlbmNlICsgbXNpZGJDdXN0b21BY3Rpb25UeXBlVGV4dERhdGEgKyBtc2lkYkN1c3RvbUFjdGlvblR5cGVQcm9wZXJ0eQotICAgICAgICAjIFNlZSAiQ3VzdG9tIEFjdGlvbiBUeXBlIDUxIiwKLSAgICAgICAgIyAiQ3VzdG9tIEFjdGlvbiBFeGVjdXRpb24gU2NoZWR1bGluZyBPcHRpb25zIgotICAgICAgICAoIkluaXRpYWxUYXJnZXREaXIiLCAzMDcsICJUQVJHRVRESVIiLAotICAgICAgICAgIltXaW5kb3dzVm9sdW1lXVB5dGhvbiVzJXMiICUgKG1ham9yLCBtaW5vcikpLAotICAgICAgICAoIlNldERMTERpclRvVGFyZ2V0IiwgMzA3LCAiRExMRElSIiwgIltUQVJHRVRESVJdIiksCi0gICAgICAgICgiU2V0RExMRGlyVG9TeXN0ZW0zMiIsIDMwNywgIkRMTERJUiIsIFN5c3RlbUZvbGRlck5hbWUpLAotICAgICAgICAoIlNldExhdW5jaGVyRGlyVG9UYXJnZXQiLCAzMDcsICJMQVVOQ0hFUkRJUiIsICJbVEFSR0VURElSXSIpLAotICAgICAgICAoIlNldExhdW5jaGVyRGlyVG9XaW5kb3dzIiwgMzA3LCAiTEFVTkNIRVJESVIiLCAiW1dpbmRvd3NGb2xkZXJdIiksCi0gICAgICAgICMgbXNpZGJDdXN0b21BY3Rpb25UeXBlRXhlICsgbXNpZGJDdXN0b21BY3Rpb25UeXBlU291cmNlRmlsZQotICAgICAgICAjIFNlZSAiQ3VzdG9tIEFjdGlvbiBUeXBlIDE4IgotICAgICAgICAjIG1zaWRiQ3VzdG9tQWN0aW9uVHlwZUluU2NyaXB0ICgxMDI0KTsgcnVuIGR1cmluZyBhY3R1YWwgaW5zdGFsbGF0aW9uCi0gICAgICAgICMgbXNpZGJDdXN0b21BY3Rpb25UeXBlTm9JbXBlcnNvbmF0ZSAoMjA0OCk7IHJ1biBhY3Rpb24gaW4gc3lzdGVtIGFjY291bnQsIG5vdCB1c2VyIGFjY291bnQKLSAgICAgICAgKCJDb21waWxlUHljIiwgMTgrMTAyNCsyMDQ4LCAicHl0aG9uLmV4ZSIsIGNvbXBpbGVhcmdzKSwKLSAgICAgICAgKCJDb21waWxlUHlvIiwgMTgrMTAyNCsyMDQ4LCAicHl0aG9uLmV4ZSIsICItTyAiK2NvbXBpbGVhcmdzKSwKLSAgICAgICAgKCJDb21waWxlR3JhbW1hciIsIDE4KzEwMjQrMjA0OCwgInB5dGhvbi5leGUiLCBsaWIydG8zYXJncyksCi0gICAgICAgICgiVXBkYXRlUGlwIiwgMTgrMTAyNCsyMDQ4LCAicHl0aG9uLmV4ZSIsIHVwZGF0ZXBpcGFyZ3MpLAotICAgICAgICAoIlJlbW92ZVBpcCIsIDE4KzEwMjQrMjA0OCwgInB5dGhvbi5leGUiLCByZW1vdmVwaXBhcmdzKSwKLSAgICAgICAgXSkKLQotICAgICMgVUkgU2VxdWVuY2VzLCBzZWUgIkluc3RhbGxVSVNlcXVlbmNlIFRhYmxlIiwgIlVzaW5nIGEgU2VxdWVuY2UgVGFibGUiCi0gICAgIyBOdW1iZXJzIGluZGljYXRlIHNlcXVlbmNlOyBzZWUgc2VxdWVuY2UucHkgZm9yIGhvdyB0aGVzZSBhY3Rpb24gaW50ZWdyYXRlCi0gICAgYWRkX2RhdGEoZGIsICJJbnN0YWxsVUlTZXF1ZW5jZSIsCi0gICAgICAgICAgICAgWygiUHJlcGFyZURsZyIsICJOb3QgUHJpdmlsZWdlZCBvciBXaW5kb3dzOXggb3IgSW5zdGFsbGVkIiwgMTQwKSwKLSAgICAgICAgICAgICAgKCJXaGljaFVzZXJzRGxnIiwgIlByaXZpbGVnZWQgYW5kIG5vdCBXaW5kb3dzOXggYW5kIG5vdCBJbnN0YWxsZWQiLCAxNDEpLAotICAgICAgICAgICAgICAoIkluaXRpYWxUYXJnZXREaXIiLCAnVEFSR0VURElSPSIiJywgNzUwKSwKLSAgICAgICAgICAgICAgIyBJbiB0aGUgdXNlciBpbnRlcmZhY2UsIGFzc3VtZSBhbGwtdXNlcnMgaW5zdGFsbGF0aW9uIGlmIHByaXZpbGVnZWQuCi0gICAgICAgICAgICAgICgiU2V0RExMRGlyVG9TeXN0ZW0zMiIsICdETExESVI9IiIgYW5kICcgKyBzeXMzMmNvbmQsIDc1MSksCi0gICAgICAgICAgICAgICgiU2V0RExMRGlyVG9UYXJnZXQiLCAnRExMRElSPSIiIGFuZCBub3QgJyArIHN5czMyY29uZCwgNzUyKSwKLSAgICAgICAgICAgICAgKCJTZXRMYXVuY2hlckRpclRvV2luZG93cyIsICdMQVVOQ0hFUkRJUj0iIiBhbmQgJyArIHN5czMyY29uZCwgNzUzKSwKLSAgICAgICAgICAgICAgKCJTZXRMYXVuY2hlckRpclRvVGFyZ2V0IiwgJ0xBVU5DSEVSRElSPSIiIGFuZCBub3QgJyArIHN5czMyY29uZCwgNzU0KSwKLSAgICAgICAgICAgICAgKCJTZWxlY3REaXJlY3RvcnlEbGciLCAiTm90IEluc3RhbGxlZCIsIDEyMzApLAotICAgICAgICAgICAgICAjIFhYWCBubyBzdXBwb3J0IGZvciByZXN1bWUgaW5zdGFsbGF0aW9ucyB5ZXQKLSAgICAgICAgICAgICAgIygiUmVzdW1lRGxnIiwgIkluc3RhbGxlZCBBTkQgKFJFU1VNRSBPUiBQcmVzZWxlY3RlZCkiLCAxMjQwKSwKLSAgICAgICAgICAgICAgKCJNYWludGVuYW5jZVR5cGVEbGciLCAiSW5zdGFsbGVkIEFORCBOT1QgUkVTVU1FIEFORCBOT1QgUHJlc2VsZWN0ZWQiLCAxMjUwKSwKLSAgICAgICAgICAgICAgKCJQcm9ncmVzc0RsZyIsIE5vbmUsIDEyODApXSkKLSAgICBhZGRfZGF0YShkYiwgIkFkbWluVUlTZXF1ZW5jZSIsCi0gICAgICAgICAgICAgWygiSW5pdGlhbFRhcmdldERpciIsICdUQVJHRVRESVI9IiInLCA3NTApLAotICAgICAgICAgICAgICAoIlNldERMTERpclRvVGFyZ2V0IiwgJ0RMTERJUj0iIicsIDc1MSksCi0gICAgICAgICAgICAgICgiU2V0TGF1bmNoZXJEaXJUb1RhcmdldCIsICdMQVVOQ0hFUkRJUj0iIicsIDc1MiksCi0gICAgICAgICAgICAgXSkKLQotICAgICMgUHJlcGVuZCBUQVJHRVRESVIgdG8gdGhlIHN5c3RlbSBwYXRoLCBhbmQgcmVtb3ZlIGl0IG9uIHVuaW5zdGFsbC4KLSAgICBhZGRfZGF0YShkYiwgIkVudmlyb25tZW50IiwKLSAgICAgICAgICAgICBbKCJQYXRoQWRkaXRpb24iLCAiPS0qUGF0aCIsICJbVEFSR0VURElSXTtbVEFSR0VURElSXVNjcmlwdHM7W35dIiwgIlJFR0lTVFJZLnBhdGgiKV0pCi0KLSAgICAjIEV4ZWN1dGUgU2VxdWVuY2VzCi0gICAgYWRkX2RhdGEoZGIsICJJbnN0YWxsRXhlY3V0ZVNlcXVlbmNlIiwKLSAgICAgICAgICAgIFsoIkluaXRpYWxUYXJnZXREaXIiLCAnVEFSR0VURElSPSIiJywgNzUwKSwKLSAgICAgICAgICAgICAoIlNldERMTERpclRvU3lzdGVtMzIiLCAnRExMRElSPSIiIGFuZCAnICsgc3lzMzJjb25kLCA3NTEpLAotICAgICAgICAgICAgICgiU2V0RExMRGlyVG9UYXJnZXQiLCAnRExMRElSPSIiIGFuZCBub3QgJyArIHN5czMyY29uZCwgNzUyKSwKLSAgICAgICAgICAgICAoIlNldExhdW5jaGVyRGlyVG9XaW5kb3dzIiwgJ0xBVU5DSEVSRElSPSIiIGFuZCAnICsgc3lzMzJjb25kLCA3NTMpLAotICAgICAgICAgICAgICgiU2V0TGF1bmNoZXJEaXJUb1RhcmdldCIsICdMQVVOQ0hFUkRJUj0iIiBhbmQgbm90ICcgKyBzeXMzMmNvbmQsIDc1NCksCi0gICAgICAgICAgICAgKCJVcGRhdGVFZGl0SURMRSIsIE5vbmUsIDEwNTApLAotICAgICAgICAgICAgICMgcnVuIGNvbW1hbmQgaWYgaW5zdGFsbCBzdGF0ZSBvZiBwaXAgY2hhbmdlcyB0byBJTlNUQUxMU1RBVEVfTE9DQUwKLSAgICAgICAgICAgICAjIHJ1biBhZnRlciBJbnN0YWxsRmlsZXMKLSAgICAgICAgICAgICAoIlVwZGF0ZVBpcCIsICImcGlwX2ZlYXR1cmU9MyIsIDQwMDEpLAotICAgICAgICAgICAgICMgcmVtb3ZlIHBpcCB3aGVuIHN0YXRlIGNoYW5nZXMgdG8gSU5TVEFMTFNUQVRFX0FCU0VOVAotICAgICAgICAgICAgICMgcnVuIGJlZm9yZSBSZW1vdmVGaWxlcwotICAgICAgICAgICAgICgiUmVtb3ZlUGlwIiwgIiZwaXBfZmVhdHVyZT0yIiwgMzQ5OSksCi0gICAgICAgICAgICAgKCJDb21waWxlUHljIiwgIkNPTVBJTEVBTEwiLCA0MDAyKSwKLSAgICAgICAgICAgICAoIkNvbXBpbGVQeW8iLCAiQ09NUElMRUFMTCIsIDQwMDMpLAotICAgICAgICAgICAgICgiQ29tcGlsZUdyYW1tYXIiLCAiQ09NUElMRUFMTCIsIDQwMDQpLAotICAgICAgICAgICAgXSkKLSAgICBhZGRfZGF0YShkYiwgIkFkbWluRXhlY3V0ZVNlcXVlbmNlIiwKLSAgICAgICAgICAgIFsoIkluaXRpYWxUYXJnZXREaXIiLCAnVEFSR0VURElSPSIiJywgNzUwKSwKLSAgICAgICAgICAgICAoIlNldERMTERpclRvVGFyZ2V0IiwgJ0RMTERJUj0iIicsIDc1MSksCi0gICAgICAgICAgICAgKCJTZXRMYXVuY2hlckRpclRvVGFyZ2V0IiwgJ0xBVU5DSEVSRElSPSIiJywgNzUyKSwKLSAgICAgICAgICAgIF0pCi0KLSAgICAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKLSAgICAjIFN0YW5kYXJkIGRpYWxvZ3M6IEZhdGFsRXJyb3IsIFVzZXJFeGl0LCBFeGl0RGlhbG9nCi0gICAgZmF0YWw9UHlEaWFsb2coZGIsICJGYXRhbEVycm9yIiwgeCwgeSwgdywgaCwgbW9kYWwsIHRpdGxlLAotICAgICAgICAgICAgICAgICAiRmluaXNoIiwgIkZpbmlzaCIsICJGaW5pc2giKQotICAgIGZhdGFsLnRpdGxlKCJbUHJvZHVjdE5hbWVdIEluc3RhbGxlciBlbmRlZCBwcmVtYXR1cmVseSIpCi0gICAgZmF0YWwuYmFjaygiPCBCYWNrIiwgIkZpbmlzaCIsIGFjdGl2ZSA9IDApCi0gICAgZmF0YWwuY2FuY2VsKCJDYW5jZWwiLCAiQmFjayIsIGFjdGl2ZSA9IDApCi0gICAgZmF0YWwudGV4dCgiRGVzY3JpcHRpb24xIiwgMTM1LCA3MCwgMjIwLCA4MCwgMHgzMDAwMywKLSAgICAgICAgICAgICAgICJbUHJvZHVjdE5hbWVdIHNldHVwIGVuZGVkIHByZW1hdHVyZWx5IGJlY2F1c2Ugb2YgYW4gZXJyb3IuICBZb3VyIHN5c3RlbSBoYXMgbm90IGJlZW4gbW9kaWZpZWQuICBUbyBpbnN0YWxsIHRoaXMgcHJvZ3JhbSBhdCBhIGxhdGVyIHRpbWUsIHBsZWFzZSBydW4gdGhlIGluc3RhbGxhdGlvbiBhZ2Fpbi4iKQotICAgIGZhdGFsLnRleHQoIkRlc2NyaXB0aW9uMiIsIDEzNSwgMTU1LCAyMjAsIDIwLCAweDMwMDAzLAotICAgICAgICAgICAgICAgIkNsaWNrIHRoZSBGaW5pc2ggYnV0dG9uIHRvIGV4aXQgdGhlIEluc3RhbGxlci4iKQotICAgIGM9ZmF0YWwubmV4dCgiRmluaXNoIiwgIkNhbmNlbCIsIG5hbWU9IkZpbmlzaCIpCi0gICAgIyBTZWUgIkNvbnRyb2xFdmVudCBUYWJsZSIuIFBhcmFtZXRlcnMgYXJlIHRoZSBldmVudCwgdGhlIHBhcmFtZXRlcgotICAgICMgdG8gdGhlIGFjdGlvbiwgYW5kIG9wdGlvbmFsbHkgdGhlIGNvbmRpdGlvbiBmb3IgdGhlIGV2ZW50LCBhbmQgdGhlIG9yZGVyCi0gICAgIyBvZiBldmVudHMuCi0gICAgYy5ldmVudCgiRW5kRGlhbG9nIiwgIkV4aXQiKQotCi0gICAgdXNlcl9leGl0PVB5RGlhbG9nKGRiLCAiVXNlckV4aXQiLCB4LCB5LCB3LCBoLCBtb2RhbCwgdGl0bGUsCi0gICAgICAgICAgICAgICAgICJGaW5pc2giLCAiRmluaXNoIiwgIkZpbmlzaCIpCi0gICAgdXNlcl9leGl0LnRpdGxlKCJbUHJvZHVjdE5hbWVdIEluc3RhbGxlciB3YXMgaW50ZXJydXB0ZWQiKQotICAgIHVzZXJfZXhpdC5iYWNrKCI8IEJhY2siLCAiRmluaXNoIiwgYWN0aXZlID0gMCkKLSAgICB1c2VyX2V4aXQuY2FuY2VsKCJDYW5jZWwiLCAiQmFjayIsIGFjdGl2ZSA9IDApCi0gICAgdXNlcl9leGl0LnRleHQoIkRlc2NyaXB0aW9uMSIsIDEzNSwgNzAsIDIyMCwgODAsIDB4MzAwMDMsCi0gICAgICAgICAgICAgICAiW1Byb2R1Y3ROYW1lXSBzZXR1cCB3YXMgaW50ZXJydXB0ZWQuICBZb3VyIHN5c3RlbSBoYXMgbm90IGJlZW4gbW9kaWZpZWQuICAiCi0gICAgICAgICAgICAgICAiVG8gaW5zdGFsbCB0aGlzIHByb2dyYW0gYXQgYSBsYXRlciB0aW1lLCBwbGVhc2UgcnVuIHRoZSBpbnN0YWxsYXRpb24gYWdhaW4uIikKLSAgICB1c2VyX2V4aXQudGV4dCgiRGVzY3JpcHRpb24yIiwgMTM1LCAxNTUsIDIyMCwgMjAsIDB4MzAwMDMsCi0gICAgICAgICAgICAgICAiQ2xpY2sgdGhlIEZpbmlzaCBidXR0b24gdG8gZXhpdCB0aGUgSW5zdGFsbGVyLiIpCi0gICAgYyA9IHVzZXJfZXhpdC5uZXh0KCJGaW5pc2giLCAiQ2FuY2VsIiwgbmFtZT0iRmluaXNoIikKLSAgICBjLmV2ZW50KCJFbmREaWFsb2ciLCAiRXhpdCIpCi0KLSAgICBleGl0X2RpYWxvZyA9IFB5RGlhbG9nKGRiLCAiRXhpdERpYWxvZyIsIHgsIHksIHcsIGgsIG1vZGFsLCB0aXRsZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAiRmluaXNoIiwgIkZpbmlzaCIsICJGaW5pc2giKQotICAgIGV4aXRfZGlhbG9nLnRpdGxlKCJDb21wbGV0ZSB0aGUgW1Byb2R1Y3ROYW1lXSBJbnN0YWxsZXIiKQotICAgIGV4aXRfZGlhbG9nLmJhY2soIjwgQmFjayIsICJGaW5pc2giLCBhY3RpdmUgPSAwKQotICAgIGV4aXRfZGlhbG9nLmNhbmNlbCgiQ2FuY2VsIiwgIkJhY2siLCBhY3RpdmUgPSAwKQotICAgIGV4aXRfZGlhbG9nLnRleHQoIkFja25vd2xlZGdlbWVudHMiLCAxMzUsIDk1LCAyMjAsIDEyMCwgMHgzMDAwMywKLSAgICAgICJTcGVjaWFsIFdpbmRvd3MgdGhhbmtzIHRvOlxuIgotICAgICAgIiAgICBNYXJrIEhhbW1vbmQsIHdpdGhvdXQgd2hvc2UgeWVhcnMgb2YgZnJlZWx5IFxuIgotICAgICAgIiAgICBzaGFyZWQgV2luZG93cyBleHBlcnRpc2UsIFB5dGhvbiBmb3IgV2luZG93cyBcbiIKLSAgICAgICIgICAgd291bGQgc3RpbGwgYmUgUHl0aG9uIGZvciBET1MuIikKLQotICAgIGMgPSBleGl0X2RpYWxvZy50ZXh0KCJ3YXJuaW5nIiwgMTM1LCAyMDAsIDIyMCwgNDAsIDB4MzAwMDMsCi0gICAgICAgICAgICAie1xcVmVyZGFuYVJlZDl9V2FybmluZzogUHl0aG9uIDIuNS54IGlzIHRoZSBsYXN0ICIKLSAgICAgICAgICAgICJQeXRob24gcmVsZWFzZSBmb3IgV2luZG93cyA5eC4iKQotICAgIGMuY29uZGl0aW9uKCJIaWRlIiwgIk5PVCBWZXJzaW9uOVgiKQotCi0gICAgZXhpdF9kaWFsb2cudGV4dCgiRGVzY3JpcHRpb24iLCAxMzUsIDIzNSwgMjIwLCAyMCwgMHgzMDAwMywKLSAgICAgICAgICAgICAgICJDbGljayB0aGUgRmluaXNoIGJ1dHRvbiB0byBleGl0IHRoZSBJbnN0YWxsZXIuIikKLSAgICBjID0gZXhpdF9kaWFsb2cubmV4dCgiRmluaXNoIiwgIkNhbmNlbCIsIG5hbWU9IkZpbmlzaCIpCi0gICAgYy5ldmVudCgiRW5kRGlhbG9nIiwgIlJldHVybiIpCi0KLSAgICAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKLSAgICAjIFJlcXVpcmVkIGRpYWxvZzogRmlsZXNJblVzZSwgRXJyb3JEbGcKLSAgICBpbnVzZSA9IFB5RGlhbG9nKGRiLCAiRmlsZXNJblVzZSIsCi0gICAgICAgICAgICAgICAgICAgICB4LCB5LCB3LCBoLAotICAgICAgICAgICAgICAgICAgICAgMTksICAgICAgICAgICAgICAgICMgS2VlcE1vZGVsZXNzfE1vZGFsfFZpc2libGUKLSAgICAgICAgICAgICAgICAgICAgIHRpdGxlLAotICAgICAgICAgICAgICAgICAgICAgIlJldHJ5IiwgIlJldHJ5IiwgIlJldHJ5IiwgYml0bWFwPUZhbHNlKQotICAgIGludXNlLnRleHQoIlRpdGxlIiwgMTUsIDYsIDIwMCwgMTUsIDB4MzAwMDMsCi0gICAgICAgICAgICAgICByIntcRGxnRm9udEJvbGQ4fUZpbGVzIGluIFVzZSIpCi0gICAgaW51c2UudGV4dCgiRGVzY3JpcHRpb24iLCAyMCwgMjMsIDI4MCwgMjAsIDB4MzAwMDMsCi0gICAgICAgICAgICAgICAiU29tZSBmaWxlcyB0aGF0IG5lZWQgdG8gYmUgdXBkYXRlZCBhcmUgY3VycmVudGx5IGluIHVzZS4iKQotICAgIGludXNlLnRleHQoIlRleHQiLCAyMCwgNTUsIDMzMCwgNTAsIDMsCi0gICAgICAgICAgICAgICAiVGhlIGZvbGxvd2luZyBhcHBsaWNhdGlvbnMgYXJlIHVzaW5nIGZpbGVzIHRoYXQgbmVlZCB0byBiZSB1cGRhdGVkIGJ5IHRoaXMgc2V0dXAuIENsb3NlIHRoZXNlIGFwcGxpY2F0aW9ucyBhbmQgdGhlbiBjbGljayBSZXRyeSB0byBjb250aW51ZSB0aGUgaW5zdGFsbGF0aW9uIG9yIENhbmNlbCB0byBleGl0IGl0LiIpCi0gICAgaW51c2UuY29udHJvbCgiTGlzdCIsICJMaXN0Qm94IiwgMjAsIDEwNywgMzMwLCAxMzAsIDcsICJGaWxlSW5Vc2VQcm9jZXNzIiwKLSAgICAgICAgICAgICAgICAgIE5vbmUsIE5vbmUsIE5vbmUpCi0gICAgYz1pbnVzZS5iYWNrKCJFeGl0IiwgIklnbm9yZSIsIG5hbWU9IkV4aXQiKQotICAgIGMuZXZlbnQoIkVuZERpYWxvZyIsICJFeGl0IikKLSAgICBjPWludXNlLm5leHQoIklnbm9yZSIsICJSZXRyeSIsIG5hbWU9Iklnbm9yZSIpCi0gICAgYy5ldmVudCgiRW5kRGlhbG9nIiwgIklnbm9yZSIpCi0gICAgYz1pbnVzZS5jYW5jZWwoIlJldHJ5IiwgIkV4aXQiLCBuYW1lPSJSZXRyeSIpCi0gICAgYy5ldmVudCgiRW5kRGlhbG9nIiwiUmV0cnkiKQotCi0KLSAgICAjIFNlZSAiRXJyb3IgRGlhbG9nIi4gU2VlICJJQ0UyMCIgZm9yIHRoZSByZXF1aXJlZCBuYW1lcyBvZiB0aGUgY29udHJvbHMuCi0gICAgZXJyb3IgPSBEaWFsb2coZGIsICJFcnJvckRsZyIsCi0gICAgICAgICAgICAgICAgICAgNTAsIDEwLCAzMzAsIDEwMSwKLSAgICAgICAgICAgICAgICAgICA2NTU0MywgICAgICAgIyBFcnJvcnxNaW5pbWl6ZXxNb2RhbHxWaXNpYmxlCi0gICAgICAgICAgICAgICAgICAgdGl0bGUsCi0gICAgICAgICAgICAgICAgICAgIkVycm9yVGV4dCIsIE5vbmUsIE5vbmUpCi0gICAgZXJyb3IudGV4dCgiRXJyb3JUZXh0IiwgNTAsOSwyODAsNDgsMywgIiIpCi0gICAgZXJyb3IuY29udHJvbCgiRXJyb3JJY29uIiwgIkljb24iLCAxNSwgOSwgMjQsIDI0LCA1MjQyODgxLCBOb25lLCAicHkuaWNvIiwgTm9uZSwgTm9uZSkKLSAgICBlcnJvci5wdXNoYnV0dG9uKCJOIiwxMjAsNzIsODEsMjEsMywiTm8iLE5vbmUpLmV2ZW50KCJFbmREaWFsb2ciLCJFcnJvck5vIikKLSAgICBlcnJvci5wdXNoYnV0dG9uKCJZIiwyNDAsNzIsODEsMjEsMywiWWVzIixOb25lKS5ldmVudCgiRW5kRGlhbG9nIiwiRXJyb3JZZXMiKQotICAgIGVycm9yLnB1c2hidXR0b24oIkEiLDAsNzIsODEsMjEsMywiQWJvcnQiLE5vbmUpLmV2ZW50KCJFbmREaWFsb2ciLCJFcnJvckFib3J0IikKLSAgICBlcnJvci5wdXNoYnV0dG9uKCJDIiw0Miw3Miw4MSwyMSwzLCJDYW5jZWwiLE5vbmUpLmV2ZW50KCJFbmREaWFsb2ciLCJFcnJvckNhbmNlbCIpCi0gICAgZXJyb3IucHVzaGJ1dHRvbigiSSIsODEsNzIsODEsMjEsMywiSWdub3JlIixOb25lKS5ldmVudCgiRW5kRGlhbG9nIiwiRXJyb3JJZ25vcmUiKQotICAgIGVycm9yLnB1c2hidXR0b24oIk8iLDE1OSw3Miw4MSwyMSwzLCJPayIsTm9uZSkuZXZlbnQoIkVuZERpYWxvZyIsIkVycm9yT2siKQotICAgIGVycm9yLnB1c2hidXR0b24oIlIiLDE5OCw3Miw4MSwyMSwzLCJSZXRyeSIsTm9uZSkuZXZlbnQoIkVuZERpYWxvZyIsIkVycm9yUmV0cnkiKQotCi0gICAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCi0gICAgIyBHbG9iYWwgIlF1ZXJ5IENhbmNlbCIgZGlhbG9nCi0gICAgY2FuY2VsID0gRGlhbG9nKGRiLCAiQ2FuY2VsRGxnIiwgNTAsIDEwLCAyNjAsIDg1LCAzLCB0aXRsZSwKLSAgICAgICAgICAgICAgICAgICAgIk5vIiwgIk5vIiwgIk5vIikKLSAgICBjYW5jZWwudGV4dCgiVGV4dCIsIDQ4LCAxNSwgMTk0LCAzMCwgMywKLSAgICAgICAgICAgICAgICAiQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGNhbmNlbCBbUHJvZHVjdE5hbWVdIGluc3RhbGxhdGlvbj8iKQotICAgIGNhbmNlbC5jb250cm9sKCJJY29uIiwgIkljb24iLCAxNSwgMTUsIDI0LCAyNCwgNTI0Mjg4MSwgTm9uZSwKLSAgICAgICAgICAgICAgICAgICAicHkuaWNvIiwgTm9uZSwgTm9uZSkKLSAgICBjPWNhbmNlbC5wdXNoYnV0dG9uKCJZZXMiLCA3MiwgNTcsIDU2LCAxNywgMywgIlllcyIsICJObyIpCi0gICAgYy5ldmVudCgiRW5kRGlhbG9nIiwgIkV4aXQiKQotCi0gICAgYz1jYW5jZWwucHVzaGJ1dHRvbigiTm8iLCAxMzIsIDU3LCA1NiwgMTcsIDMsICJObyIsICJZZXMiKQotICAgIGMuZXZlbnQoIkVuZERpYWxvZyIsICJSZXR1cm4iKQotCi0gICAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCi0gICAgIyBHbG9iYWwgIldhaXQgZm9yIGNvc3RpbmciIGRpYWxvZwotICAgIGNvc3RpbmcgPSBEaWFsb2coZGIsICJXYWl0Rm9yQ29zdGluZ0RsZyIsIDUwLCAxMCwgMjYwLCA4NSwgbW9kYWwsIHRpdGxlLAotICAgICAgICAgICAgICAgICAgICAgIlJldHVybiIsICJSZXR1cm4iLCAiUmV0dXJuIikKLSAgICBjb3N0aW5nLnRleHQoIlRleHQiLCA0OCwgMTUsIDE5NCwgMzAsIDMsCi0gICAgICAgICAgICAgICAgICJQbGVhc2Ugd2FpdCB3aGlsZSB0aGUgaW5zdGFsbGVyIGZpbmlzaGVzIGRldGVybWluaW5nIHlvdXIgZGlzayBzcGFjZSByZXF1aXJlbWVudHMuIikKLSAgICBjb3N0aW5nLmNvbnRyb2woIkljb24iLCAiSWNvbiIsIDE1LCAxNSwgMjQsIDI0LCA1MjQyODgxLCBOb25lLAotICAgICAgICAgICAgICAgICAgICAicHkuaWNvIiwgTm9uZSwgTm9uZSkKLSAgICBjID0gY29zdGluZy5wdXNoYnV0dG9uKCJSZXR1cm4iLCAxMDIsIDU3LCA1NiwgMTcsIDMsICJSZXR1cm4iLCBOb25lKQotICAgIGMuZXZlbnQoIkVuZERpYWxvZyIsICJFeGl0IikKLQotICAgICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwotICAgICMgUHJlcGFyYXRpb24gZGlhbG9nOiBubyB1c2VyIGlucHV0IGV4Y2VwdCBjYW5jZWxsYXRpb24KLSAgICBwcmVwID0gUHlEaWFsb2coZGIsICJQcmVwYXJlRGxnIiwgeCwgeSwgdywgaCwgbW9kZWxlc3MsIHRpdGxlLAotICAgICAgICAgICAgICAgICAgICAiQ2FuY2VsIiwgIkNhbmNlbCIsICJDYW5jZWwiKQotICAgIHByZXAudGV4dCgiRGVzY3JpcHRpb24iLCAxMzUsIDcwLCAyMjAsIDQwLCAweDMwMDAzLAotICAgICAgICAgICAgICAiUGxlYXNlIHdhaXQgd2hpbGUgdGhlIEluc3RhbGxlciBwcmVwYXJlcyB0byBndWlkZSB5b3UgdGhyb3VnaCB0aGUgaW5zdGFsbGF0aW9uLiIpCi0gICAgcHJlcC50aXRsZSgiV2VsY29tZSB0byB0aGUgW1Byb2R1Y3ROYW1lXSBJbnN0YWxsZXIiKQotICAgIGM9cHJlcC50ZXh0KCJBY3Rpb25UZXh0IiwgMTM1LCAxMTAsIDIyMCwgMjAsIDB4MzAwMDMsICJQb25kZXJpbmcuLi4iKQotICAgIGMubWFwcGluZygiQWN0aW9uVGV4dCIsICJUZXh0IikKLSAgICBjPXByZXAudGV4dCgiQWN0aW9uRGF0YSIsIDEzNSwgMTM1LCAyMjAsIDMwLCAweDMwMDAzLCBOb25lKQotICAgIGMubWFwcGluZygiQWN0aW9uRGF0YSIsICJUZXh0IikKLSAgICBwcmVwLmJhY2soIkJhY2siLCBOb25lLCBhY3RpdmU9MCkKLSAgICBwcmVwLm5leHQoIk5leHQiLCBOb25lLCBhY3RpdmU9MCkKLSAgICBjPXByZXAuY2FuY2VsKCJDYW5jZWwiLCBOb25lKQotICAgIGMuZXZlbnQoIlNwYXduRGlhbG9nIiwgIkNhbmNlbERsZyIpCi0KLSAgICAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKLSAgICAjIFRhcmdldCBkaXJlY3Rvcnkgc2VsZWN0aW9uCi0gICAgc2VsZGxnID0gUHlEaWFsb2coZGIsICJTZWxlY3REaXJlY3RvcnlEbGciLCB4LCB5LCB3LCBoLCBtb2RhbCwgdGl0bGUsCi0gICAgICAgICAgICAgICAgICAgICJOZXh0IiwgIk5leHQiLCAiQ2FuY2VsIikKLSAgICBzZWxkbGcudGl0bGUoIlNlbGVjdCBEZXN0aW5hdGlvbiBEaXJlY3RvcnkiKQotICAgIGMgPSBzZWxkbGcudGV4dCgiRXhpc3RpbmciLCAxMzUsIDI1LCAyMzUsIDMwLCAweDMwMDAzLAotICAgICAgICAgICAgICAgICAgICAie1xWZXJkYW5hUmVkOX1UaGlzIHVwZGF0ZSB3aWxsIHJlcGxhY2UgeW91ciBleGlzdGluZyBbUHJvZHVjdExpbmVdIGluc3RhbGxhdGlvbi4iKQotICAgIGMuY29uZGl0aW9uKCJIaWRlIiwgJ1JFTU9WRU9MRFZFUlNJT049IiIgYW5kIFJFTU9WRU9MRFNOQVBTSE9UPSIiJykKLSAgICBzZWxkbGcudGV4dCgiRGVzY3JpcHRpb24iLCAxMzUsIDUwLCAyMjAsIDQwLCAweDMwMDAzLAotICAgICAgICAgICAgICAgIlBsZWFzZSBzZWxlY3QgYSBkaXJlY3RvcnkgZm9yIHRoZSBbUHJvZHVjdE5hbWVdIGZpbGVzLiIpCi0KLSAgICBzZWxkbGcuYmFjaygiPCBCYWNrIiwgTm9uZSwgYWN0aXZlPTApCi0gICAgYyA9IHNlbGRsZy5uZXh0KCJOZXh0ID4iLCAiQ2FuY2VsIikKLSAgICBjLmV2ZW50KCJEb0FjdGlvbiIsICJDaGVja0RpciIsICJUYXJnZXRFeGlzdHNPazw+MSIsIG9yZGVyPTEpCi0gICAgIyBJZiB0aGUgdGFyZ2V0IGV4aXN0cywgYnV0IHdlIGZvdW5kIHRoYXQgd2UgYXJlIGdvaW5nIHRvIHJlbW92ZSBvbGQgdmVyc2lvbnMsIGRvbid0IGJvdGhlcgotICAgICMgY29uZmlybWluZyB0aGF0IHRoZSB0YXJnZXQgZGlyZWN0b3J5IGV4aXN0cy4gU3RyaWN0bHkgc3BlYWtpbmcsIHdlIHNob3VsZCBkZXRlcm1pbmUgdGhhdAotICAgICMgdGhlIHRhcmdldCBkaXJlY3RvcnkgaXMgaW5kZWVkIHRoZSB0YXJnZXQgb2YgdGhlIHByb2R1Y3QgdGhhdCB3ZSBhcmUgZ29pbmcgdG8gcmVtb3ZlLCBidXQKLSAgICAjIEkgZG9uJ3Qga25vdyBob3cgdG8gZG8gdGhhdC4KLSAgICBjLmV2ZW50KCJTcGF3bkRpYWxvZyIsICJFeGlzdGluZ0RpcmVjdG9yeURsZyIsICdUYXJnZXRFeGlzdHM9MSBhbmQgUkVNT1ZFT0xEVkVSU0lPTj0iIiBhbmQgUkVNT1ZFT0xEU05BUFNIT1Q9IiInLCAyKQotICAgIGMuZXZlbnQoIlNldFRhcmdldFBhdGgiLCAiVEFSR0VURElSIiwgJ1RhcmdldEV4aXN0cz0wIG9yIFJFTU9WRU9MRFZFUlNJT048PiIiIG9yIFJFTU9WRU9MRFNOQVBTSE9UPD4iIicsIDMpCi0gICAgYy5ldmVudCgiU3Bhd25XYWl0RGlhbG9nIiwgIldhaXRGb3JDb3N0aW5nRGxnIiwgIkNvc3RpbmdDb21wbGV0ZT0xIiwgNCkKLSAgICBjLmV2ZW50KCJOZXdEaWFsb2ciLCAiU2VsZWN0RmVhdHVyZXNEbGciLCAnVGFyZ2V0RXhpc3RzPTAgb3IgUkVNT1ZFT0xEVkVSU0lPTjw+IiIgb3IgUkVNT1ZFT0xEU05BUFNIT1Q8PiIiJywgNSkKLQotICAgIGMgPSBzZWxkbGcuY2FuY2VsKCJDYW5jZWwiLCAiRGlyZWN0b3J5Q29tYm8iKQotICAgIGMuZXZlbnQoIlNwYXduRGlhbG9nIiwgIkNhbmNlbERsZyIpCi0KLSAgICBzZWxkbGcuY29udHJvbCgiRGlyZWN0b3J5Q29tYm8iLCAiRGlyZWN0b3J5Q29tYm8iLCAxMzUsIDcwLCAxNzIsIDgwLCAzOTMyMTksCi0gICAgICAgICAgICAgICAgICAgIlRBUkdFVERJUiIsIE5vbmUsICJEaXJlY3RvcnlMaXN0IiwgTm9uZSkKLSAgICBzZWxkbGcuY29udHJvbCgiRGlyZWN0b3J5TGlzdCIsICJEaXJlY3RvcnlMaXN0IiwgMTM1LCA5MCwgMjA4LCAxMzYsIDMsICJUQVJHRVRESVIiLAotICAgICAgICAgICAgICAgICAgIE5vbmUsICJQYXRoRWRpdCIsIE5vbmUpCi0gICAgc2VsZGxnLmNvbnRyb2woIlBhdGhFZGl0IiwgIlBhdGhFZGl0IiwgMTM1LCAyMzAsIDIwNiwgMTYsIDMsICJUQVJHRVRESVIiLCBOb25lLCAiTmV4dCIsIE5vbmUpCi0gICAgYyA9IHNlbGRsZy5wdXNoYnV0dG9uKCJVcCIsIDMwNiwgNzAsIDE4LCAxOCwgMywgIlVwIiwgTm9uZSkKLSAgICBjLmV2ZW50KCJEaXJlY3RvcnlMaXN0VXAiLCAiMCIpCi0gICAgYyA9IHNlbGRsZy5wdXNoYnV0dG9uKCJOZXdEaXIiLCAzMjQsIDcwLCAzMCwgMTgsIDMsICJOZXciLCBOb25lKQotICAgIGMuZXZlbnQoIkRpcmVjdG9yeUxpc3ROZXciLCAiMCIpCi0KLSAgICAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKLSAgICAjIFNlbGVjdEZlYXR1cmVzRGxnCi0gICAgZmVhdHVyZXMgPSBQeURpYWxvZyhkYiwgIlNlbGVjdEZlYXR1cmVzRGxnIiwgeCwgeSwgdywgaCwgbW9kYWx8dHJhY2tfZGlza19zcGFjZSwKLSAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlLCAiVHJlZSIsICJOZXh0IiwgIkNhbmNlbCIpCi0gICAgZmVhdHVyZXMudGl0bGUoIkN1c3RvbWl6ZSBbUHJvZHVjdE5hbWVdIikKLSAgICBmZWF0dXJlcy50ZXh0KCJEZXNjcmlwdGlvbiIsIDEzNSwgMzUsIDIyMCwgMTUsIDB4MzAwMDMsCi0gICAgICAgICAgICAgICAgICAiU2VsZWN0IHRoZSB3YXkgeW91IHdhbnQgZmVhdHVyZXMgdG8gYmUgaW5zdGFsbGVkLiIpCi0gICAgZmVhdHVyZXMudGV4dCgiVGV4dCIsIDEzNSw0NSwyMjAsMzAsIDMsCi0gICAgICAgICAgICAgICAgICAiQ2xpY2sgb24gdGhlIGljb25zIGluIHRoZSB0cmVlIGJlbG93IHRvIGNoYW5nZSB0aGUgd2F5IGZlYXR1cmVzIHdpbGwgYmUgaW5zdGFsbGVkLiIpCi0KLSAgICBjPWZlYXR1cmVzLmJhY2soIjwgQmFjayIsICJOZXh0IikKLSAgICBjLmV2ZW50KCJOZXdEaWFsb2ciLCAiU2VsZWN0RGlyZWN0b3J5RGxnIikKLQotICAgIGM9ZmVhdHVyZXMubmV4dCgiTmV4dCA+IiwgIkNhbmNlbCIpCi0gICAgYy5tYXBwaW5nKCJTZWxlY3Rpb25Ob0l0ZW1zIiwgIkVuYWJsZWQiKQotICAgIGMuZXZlbnQoIlNwYXduRGlhbG9nIiwgIkRpc2tDb3N0RGxnIiwgIk91dE9mRGlza1NwYWNlPTEiLCBvcmRlcj0xKQotICAgIGMuZXZlbnQoIkVuZERpYWxvZyIsICJSZXR1cm4iLCAiT3V0T2ZEaXNrU3BhY2U8PjEiLCBvcmRlcj0yKQotCi0gICAgYz1mZWF0dXJlcy5jYW5jZWwoIkNhbmNlbCIsICJUcmVlIikKLSAgICBjLmV2ZW50KCJTcGF3bkRpYWxvZyIsICJDYW5jZWxEbGciKQotCi0gICAgIyBUaGUgYnJvd3NlIHByb3BlcnR5IGlzIG5vdCB1c2VkLCBzaW5jZSB3ZSBoYXZlIG9ubHkgYSBzaW5nbGUgdGFyZ2V0IHBhdGggKHNlbGVjdGVkIGFscmVhZHkpCi0gICAgZmVhdHVyZXMuY29udHJvbCgiVHJlZSIsICJTZWxlY3Rpb25UcmVlIiwgMTM1LCA3NSwgMjIwLCA5NSwgNywgIl9Ccm93c2VQcm9wZXJ0eSIsCi0gICAgICAgICAgICAgICAgICAgICAiVHJlZSBvZiBzZWxlY3Rpb25zIiwgIkJhY2siLCBOb25lKQotCi0gICAgI2M9ZmVhdHVyZXMucHVzaGJ1dHRvbigiUmVzZXQiLCA0MiwgMjQzLCA1NiwgMTcsIDMsICJSZXNldCIsICJEaXNrQ29zdCIpCi0gICAgI2MubWFwcGluZygiU2VsZWN0aW9uTm9JdGVtcyIsICJFbmFibGVkIikKLSAgICAjYy5ldmVudCgiUmVzZXQiLCAiMCIpCi0KLSAgICBmZWF0dXJlcy5jb250cm9sKCJCb3giLCAiR3JvdXBCb3giLCAxMzUsIDE3MCwgMjI1LCA5MCwgMSwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSkKLQotICAgIGM9ZmVhdHVyZXMueGJ1dHRvbigiRGlza0Nvc3QiLCAiRGlzayAmVXNhZ2UiLCBOb25lLCAwLjEwKQotICAgIGMubWFwcGluZygiU2VsZWN0aW9uTm9JdGVtcyIsIkVuYWJsZWQiKQotICAgIGMuZXZlbnQoIlNwYXduRGlhbG9nIiwgIkRpc2tDb3N0RGxnIikKLQotICAgIGM9ZmVhdHVyZXMueGJ1dHRvbigiQWR2YW5jZWQiLCAiQWR2YW5jZWQiLCBOb25lLCAwLjMwKQotICAgIGMuZXZlbnQoIlNwYXduRGlhbG9nIiwgIkFkdmFuY2VkRGxnIikKLQotICAgIGM9ZmVhdHVyZXMudGV4dCgiSXRlbURlc2NyaXB0aW9uIiwgMTQwLCAxODAsIDIxMCwgNDAsIDMsCi0gICAgICAgICAgICAgICAgICAiTXVsdGlsaW5lIGRlc2NyaXB0aW9uIG9mIHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgaXRlbS4iKQotICAgIGMubWFwcGluZygiU2VsZWN0aW9uRGVzY3JpcHRpb24iLCJUZXh0IikKLQotICAgIGM9ZmVhdHVyZXMudGV4dCgiSXRlbVNpemUiLCAxNDAsIDIyNSwgMjEwLCAzMywgMywKLSAgICAgICAgICAgICAgICAgICAgIlRoZSBzaXplIG9mIHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgaXRlbS4iKQotICAgIGMubWFwcGluZygiU2VsZWN0aW9uU2l6ZSIsICJUZXh0IikKLQotICAgICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwotICAgICMgRGlzayBjb3N0Ci0gICAgY29zdCA9IFB5RGlhbG9nKGRiLCAiRGlza0Nvc3REbGciLCB4LCB5LCB3LCBoLCBtb2RhbCwgdGl0bGUsCi0gICAgICAgICAgICAgICAgICAgICJPSyIsICJPSyIsICJPSyIsIGJpdG1hcD1GYWxzZSkKLSAgICBjb3N0LnRleHQoIlRpdGxlIiwgMTUsIDYsIDIwMCwgMTUsIDB4MzAwMDMsCi0gICAgICAgICAgICAgICJ7XERsZ0ZvbnRCb2xkOH1EaXNrIFNwYWNlIFJlcXVpcmVtZW50cyIpCi0gICAgY29zdC50ZXh0KCJEZXNjcmlwdGlvbiIsIDIwLCAyMCwgMjgwLCAyMCwgMHgzMDAwMywKLSAgICAgICAgICAgICAgIlRoZSBkaXNrIHNwYWNlIHJlcXVpcmVkIGZvciB0aGUgaW5zdGFsbGF0aW9uIG9mIHRoZSBzZWxlY3RlZCBmZWF0dXJlcy4iKQotICAgIGNvc3QudGV4dCgiVGV4dCIsIDIwLCA1MywgMzMwLCA2MCwgMywKLSAgICAgICAgICAgICAgIlRoZSBoaWdobGlnaHRlZCB2b2x1bWVzIChpZiBhbnkpIGRvIG5vdCBoYXZlIGVub3VnaCBkaXNrIHNwYWNlICIKLSAgICAgICAgICAgICAgImF2YWlsYWJsZSBmb3IgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCBmZWF0dXJlcy4gIFlvdSBjYW4gZWl0aGVyICIKLSAgICAgICAgICAgICAgInJlbW92ZSBzb21lIGZpbGVzIGZyb20gdGhlIGhpZ2hsaWdodGVkIHZvbHVtZXMsIG9yIGNob29zZSB0byAiCi0gICAgICAgICAgICAgICJpbnN0YWxsIGxlc3MgZmVhdHVyZXMgb250byBsb2NhbCBkcml2ZShzKSwgb3Igc2VsZWN0IGRpZmZlcmVudCAiCi0gICAgICAgICAgICAgICJkZXN0aW5hdGlvbiBkcml2ZShzKS4iKQotICAgIGNvc3QuY29udHJvbCgiVm9sdW1lTGlzdCIsICJWb2x1bWVDb3N0TGlzdCIsIDIwLCAxMDAsIDMzMCwgMTUwLCAzOTMyMjMsCi0gICAgICAgICAgICAgICAgIE5vbmUsICJ7MTIwfXs3MH17NzB9ezcwfXs3MH0iLCBOb25lLCBOb25lKQotICAgIGNvc3QueGJ1dHRvbigiT0siLCAiT2siLCBOb25lLCAwLjUpLmV2ZW50KCJFbmREaWFsb2ciLCAiUmV0dXJuIikKLQotICAgICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwotICAgICMgV2hpY2hVc2VycyBEaWFsb2cuIE9ubHkgYXZhaWxhYmxlIG9uIE5ULCBhbmQgZm9yIHByaXZpbGVnZWQgdXNlcnMuCi0gICAgIyBUaGlzIG11c3QgYmUgcnVuIGJlZm9yZSBGaW5kUmVsYXRlZFByb2R1Y3RzLCBiZWNhdXNlIHRoYXQgd2lsbAotICAgICMgdGFrZSBpbnRvIGFjY291bnQgd2hldGhlciB0aGUgcHJldmlvdXMgaW5zdGFsbGF0aW9uIHdhcyBwZXItdXNlcgotICAgICMgb3IgcGVyLW1hY2hpbmUuIFdlIGN1cnJlbnRseSBkb24ndCBzdXBwb3J0IGdvaW5nIGJhY2sgdG8gdGhpcwotICAgICMgZGlhbG9nIGFmdGVyICJOZXh0IiB3YXMgc2VsZWN0ZWQ7IHRvIHN1cHBvcnQgdGhpcywgd2Ugd291bGQgbmVlZCB0bwotICAgICMgZmluZCBob3cgdG8gcmVzZXQgdGhlIEFMTFVTRVJTIHByb3BlcnR5LCBhbmQgaG93IHRvIHJlLXJ1bgotICAgICMgRmluZFJlbGF0ZWRQcm9kdWN0cy4KLSAgICAjIE9uIFdpbmRvd3M5eCwgdGhlIEFMTFVTRVJTIHByb3BlcnR5IGlzIGlnbm9yZWQgb24gdGhlIGNvbW1hbmQgbGluZQotICAgICMgYW5kIGluIHRoZSBQcm9wZXJ0eSB0YWJsZSwgYnV0IGluc3RhbGxlciBmYWlscyBhY2NvcmRpbmcgdG8gdGhlIGRvY3VtZW50YXRpb24KLSAgICAjIGlmIGEgZGlhbG9nIGF0dGVtcHRzIHRvIHNldCBBTExVU0VSUy4KLSAgICB3aGljaHVzZXJzID0gUHlEaWFsb2coZGIsICJXaGljaFVzZXJzRGxnIiwgeCwgeSwgdywgaCwgbW9kYWwsIHRpdGxlLAotICAgICAgICAgICAgICAgICAgICAgICAgIkFkbWluSW5zdGFsbCIsICJOZXh0IiwgIkNhbmNlbCIpCi0gICAgd2hpY2h1c2Vycy50aXRsZSgiU2VsZWN0IHdoZXRoZXIgdG8gaW5zdGFsbCBbUHJvZHVjdE5hbWVdIGZvciBhbGwgdXNlcnMgb2YgdGhpcyBjb21wdXRlci4iKQotICAgICMgQSByYWRpbyBncm91cCB3aXRoIHR3byBvcHRpb25zOiBhbGx1c2VycywganVzdG1lCi0gICAgZyA9IHdoaWNodXNlcnMucmFkaW9ncm91cCgiQWRtaW5JbnN0YWxsIiwgMTM1LCA2MCwgMjM1LCA4MCwgMywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJXaGljaFVzZXJzIiwgIiIsICJOZXh0IikKLSAgICBnLmNvbmRpdGlvbigiRGlzYWJsZSIsICJWZXJzaW9uTlQ9NjAwIikgIyBOb3QgYXZhaWxhYmxlIG9uIFZpc3RhIGFuZCBXaW5kb3dzIDIwMDgKLSAgICBnLmFkZCgiQUxMIiwgMCwgNSwgMTUwLCAyMCwgIkluc3RhbGwgZm9yIGFsbCB1c2VycyIpCi0gICAgZy5hZGQoIkpVU1RNRSIsIDAsIDI1LCAyMzUsIDIwLCAiSW5zdGFsbCBqdXN0IGZvciBtZSAobm90IGF2YWlsYWJsZSBvbiBXaW5kb3dzIFZpc3RhKSIpCi0KLSAgICB3aGljaHVzZXJzLmJhY2soIkJhY2siLCBOb25lLCBhY3RpdmU9MCkKLQotICAgIGMgPSB3aGljaHVzZXJzLm5leHQoIk5leHQgPiIsICJDYW5jZWwiKQotICAgIGMuZXZlbnQoIltBTExVU0VSU10iLCAiMSIsICdXaGljaFVzZXJzPSJBTEwiJywgMSkKLSAgICBjLmV2ZW50KCJFbmREaWFsb2ciLCAiUmV0dXJuIiwgb3JkZXIgPSAyKQotCi0gICAgYyA9IHdoaWNodXNlcnMuY2FuY2VsKCJDYW5jZWwiLCAiQWRtaW5JbnN0YWxsIikKLSAgICBjLmV2ZW50KCJTcGF3bkRpYWxvZyIsICJDYW5jZWxEbGciKQotCi0gICAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCi0gICAgIyBBZHZhbmNlZCBEaWFsb2cuCi0gICAgYWR2YW5jZWQgPSBQeURpYWxvZyhkYiwgIkFkdmFuY2VkRGxnIiwgeCwgeSwgdywgaCwgbW9kYWwsIHRpdGxlLAotICAgICAgICAgICAgICAgICAgICAgICAgIkNvbXBpbGVQeWMiLCAiT2siLCAiT2siKQotICAgIGFkdmFuY2VkLnRpdGxlKCJBZHZhbmNlZCBPcHRpb25zIGZvciBbUHJvZHVjdE5hbWVdIikKLQotICAgICMgQSBjaGVja2JveCB3aGV0aGVyIHRvIGJ1aWxkIHB5YyBmaWxlcwotICAgIGFkdmFuY2VkLmNoZWNrYm94KCJDb21waWxlUHljIiwgMTM1LCA2MCwgMjMwLCA1MCwgMywKLSAgICAgICAgICAgICAgICAgICAgICAiQ09NUElMRUFMTCIsICJDb21waWxlIC5weSBmaWxlcyB0byBieXRlIGNvZGUgYWZ0ZXIgaW5zdGFsbGF0aW9uIiwgIk9rIikKLQotICAgIGMgPSBhZHZhbmNlZC5jYW5jZWwoIk9rIiwgIkNvbXBpbGVQeWMiLCBuYW1lPSJPayIpICMgQnV0dG9uIGp1c3QgaGFzIGxvY2F0aW9uIG9mIGNhbmNlbCBidXR0b24uCi0gICAgYy5ldmVudCgiRW5kRGlhbG9nIiwgIlJldHVybiIpCi0KLSAgICAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKLSAgICAjIEV4aXN0aW5nIERpcmVjdG9yeSBkaWFsb2cKLSAgICBkbGcgPSBEaWFsb2coZGIsICJFeGlzdGluZ0RpcmVjdG9yeURsZyIsIDUwLCAzMCwgMjAwLCA4MCwgbW9kYWwsIHRpdGxlLAotICAgICAgICAgICAgICAgICAgICJObyIsICJObyIsICJObyIpCi0gICAgZGxnLnRleHQoIlRpdGxlIiwgMTAsIDIwLCAxODAsIDQwLCAzLAotICAgICAgICAgICAgICJbVEFSR0VURElSXSBleGlzdHMuIEFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBvdmVyd3JpdGUgZXhpc3RpbmcgZmlsZXM/IikKLSAgICBjPWRsZy5wdXNoYnV0dG9uKCJZZXMiLCAzMCwgNjAsIDU1LCAxNywgMywgIlllcyIsICJObyIpCi0gICAgYy5ldmVudCgiW1RhcmdldEV4aXN0c10iLCAiMCIsIG9yZGVyPTEpCi0gICAgYy5ldmVudCgiW1RhcmdldEV4aXN0c09rXSIsICIxIiwgb3JkZXI9MikKLSAgICBjLmV2ZW50KCJFbmREaWFsb2ciLCAiUmV0dXJuIiwgb3JkZXI9MykKLSAgICBjPWRsZy5wdXNoYnV0dG9uKCJObyIsIDExNSwgNjAsIDU1LCAxNywgMywgIk5vIiwgIlllcyIpCi0gICAgYy5ldmVudCgiRW5kRGlhbG9nIiwgIlJldHVybiIpCi0KLSAgICAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKLSAgICAjIEluc3RhbGxhdGlvbiBQcm9ncmVzcyBkaWFsb2cgKG1vZGVsZXNzKQotICAgIHByb2dyZXNzID0gUHlEaWFsb2coZGIsICJQcm9ncmVzc0RsZyIsIHgsIHksIHcsIGgsIG1vZGVsZXNzLCB0aXRsZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJDYW5jZWwiLCAiQ2FuY2VsIiwgIkNhbmNlbCIsIGJpdG1hcD1GYWxzZSkKLSAgICBwcm9ncmVzcy50ZXh0KCJUaXRsZSIsIDIwLCAxNSwgMjAwLCAxNSwgMHgzMDAwMywKLSAgICAgICAgICAgICAgICAgICJ7XERsZ0ZvbnRCb2xkOH1bUHJvZ3Jlc3MxXSBbUHJvZHVjdE5hbWVdIikKLSAgICBwcm9ncmVzcy50ZXh0KCJUZXh0IiwgMzUsIDY1LCAzMDAsIDMwLCAzLAotICAgICAgICAgICAgICAgICAgIlBsZWFzZSB3YWl0IHdoaWxlIHRoZSBJbnN0YWxsZXIgW1Byb2dyZXNzMl0gW1Byb2R1Y3ROYW1lXS4gIgotICAgICAgICAgICAgICAgICAgIlRoaXMgbWF5IHRha2Ugc2V2ZXJhbCBtaW51dGVzLiIpCi0gICAgcHJvZ3Jlc3MudGV4dCgiU3RhdHVzTGFiZWwiLCAzNSwgMTAwLCAzNSwgMjAsIDMsICJTdGF0dXM6IikKLQotICAgIGM9cHJvZ3Jlc3MudGV4dCgiQWN0aW9uVGV4dCIsIDcwLCAxMDAsIHctNzAsIDIwLCAzLCAiUG9uZGVyaW5nLi4uIikKLSAgICBjLm1hcHBpbmcoIkFjdGlvblRleHQiLCAiVGV4dCIpCi0KLSAgICAjYz1wcm9ncmVzcy50ZXh0KCJBY3Rpb25EYXRhIiwgMzUsIDE0MCwgMzAwLCAyMCwgMywgTm9uZSkKLSAgICAjYy5tYXBwaW5nKCJBY3Rpb25EYXRhIiwgIlRleHQiKQotCi0gICAgYz1wcm9ncmVzcy5jb250cm9sKCJQcm9ncmVzc0JhciIsICJQcm9ncmVzc0JhciIsIDM1LCAxMjAsIDMwMCwgMTAsIDY1NTM3LAotICAgICAgICAgICAgICAgICAgICAgICBOb25lLCAiUHJvZ3Jlc3MgZG9uZSIsIE5vbmUsIE5vbmUpCi0gICAgYy5tYXBwaW5nKCJTZXRQcm9ncmVzcyIsICJQcm9ncmVzcyIpCi0KLSAgICBwcm9ncmVzcy5iYWNrKCI8IEJhY2siLCAiTmV4dCIsIGFjdGl2ZT1GYWxzZSkKLSAgICBwcm9ncmVzcy5uZXh0KCJOZXh0ID4iLCAiQ2FuY2VsIiwgYWN0aXZlPUZhbHNlKQotICAgIHByb2dyZXNzLmNhbmNlbCgiQ2FuY2VsIiwgIkJhY2siKS5ldmVudCgiU3Bhd25EaWFsb2ciLCAiQ2FuY2VsRGxnIikKLQotICAgICMgTWFpbnRlbmFuY2UgdHlwZTogcmVwYWlyL3VuaW5zdGFsbAotICAgIG1haW50ID0gUHlEaWFsb2coZGIsICJNYWludGVuYW5jZVR5cGVEbGciLCB4LCB5LCB3LCBoLCBtb2RhbCwgdGl0bGUsCi0gICAgICAgICAgICAgICAgICAgICAiTmV4dCIsICJOZXh0IiwgIkNhbmNlbCIpCi0gICAgbWFpbnQudGl0bGUoIldlbGNvbWUgdG8gdGhlIFtQcm9kdWN0TmFtZV0gU2V0dXAgV2l6YXJkIikKLSAgICBtYWludC50ZXh0KCJCb2R5VGV4dCIsIDEzNSwgNjMsIDIzMCwgNDIsIDMsCi0gICAgICAgICAgICAgICAiU2VsZWN0IHdoZXRoZXIgeW91IHdhbnQgdG8gcmVwYWlyIG9yIHJlbW92ZSBbUHJvZHVjdE5hbWVdLiIpCi0gICAgZz1tYWludC5yYWRpb2dyb3VwKCJSZXBhaXJSYWRpb0dyb3VwIiwgMTM1LCAxMDgsIDIzMCwgNjAsIDMsCi0gICAgICAgICAgICAgICAgICAgICAgICAiTWFpbnRlbmFuY2VGb3JtX0FjdGlvbiIsICIiLCAiTmV4dCIpCi0gICAgZy5hZGQoIkNoYW5nZSIsIDAsIDAsIDIwMCwgMTcsICImQ2hhbmdlIFtQcm9kdWN0TmFtZV0iKQotICAgIGcuYWRkKCJSZXBhaXIiLCAwLCAxOCwgMjAwLCAxNywgIiZSZXBhaXIgW1Byb2R1Y3ROYW1lXSIpCi0gICAgZy5hZGQoIlJlbW92ZSIsIDAsIDM2LCAyMDAsIDE3LCAiUmUmbW92ZSBbUHJvZHVjdE5hbWVdIikKLQotICAgIG1haW50LmJhY2soIjwgQmFjayIsIE5vbmUsIGFjdGl2ZT1GYWxzZSkKLSAgICBjPW1haW50Lm5leHQoIkZpbmlzaCIsICJDYW5jZWwiKQotICAgICMgQ2hhbmdlIGluc3RhbGxhdGlvbjogQ2hhbmdlIHByb2dyZXNzIGRpYWxvZyB0byAiQ2hhbmdlIiwgdGhlbiBhc2sKLSAgICAjIGZvciBmZWF0dXJlIHNlbGVjdGlvbgotICAgIGMuZXZlbnQoIltQcm9ncmVzczFdIiwgIkNoYW5nZSIsICdNYWludGVuYW5jZUZvcm1fQWN0aW9uPSJDaGFuZ2UiJywgMSkKLSAgICBjLmV2ZW50KCJbUHJvZ3Jlc3MyXSIsICJjaGFuZ2VzIiwgJ01haW50ZW5hbmNlRm9ybV9BY3Rpb249IkNoYW5nZSInLCAyKQotCi0gICAgIyBSZWluc3RhbGw6IENoYW5nZSBwcm9ncmVzcyBkaWFsb2cgdG8gIlJlcGFpciIsIHRoZW4gaW52b2tlIHJlaW5zdGFsbAotICAgICMgQWxzbyBzZXQgbGlzdCBvZiByZWluc3RhbGxlZCBmZWF0dXJlcyB0byAiQUxMIgotICAgIGMuZXZlbnQoIltSRUlOU1RBTExdIiwgIkFMTCIsICdNYWludGVuYW5jZUZvcm1fQWN0aW9uPSJSZXBhaXIiJywgNSkKLSAgICBjLmV2ZW50KCJbUHJvZ3Jlc3MxXSIsICJSZXBhaXJpbmciLCAnTWFpbnRlbmFuY2VGb3JtX0FjdGlvbj0iUmVwYWlyIicsIDYpCi0gICAgYy5ldmVudCgiW1Byb2dyZXNzMl0iLCAicmVwYWlycyIsICdNYWludGVuYW5jZUZvcm1fQWN0aW9uPSJSZXBhaXIiJywgNykKLSAgICBjLmV2ZW50KCJSZWluc3RhbGwiLCAiQUxMIiwgJ01haW50ZW5hbmNlRm9ybV9BY3Rpb249IlJlcGFpciInLCA4KQotCi0gICAgIyBVbmluc3RhbGw6IENoYW5nZSBwcm9ncmVzcyB0byAiUmVtb3ZlIiwgdGhlbiBpbnZva2UgdW5pbnN0YWxsCi0gICAgIyBBbHNvIHNldCBsaXN0IG9mIHJlbW92ZWQgZmVhdHVyZXMgdG8gIkFMTCIKLSAgICBjLmV2ZW50KCJbUkVNT1ZFXSIsICJBTEwiLCAnTWFpbnRlbmFuY2VGb3JtX0FjdGlvbj0iUmVtb3ZlIicsIDExKQotICAgIGMuZXZlbnQoIltQcm9ncmVzczFdIiwgIlJlbW92aW5nIiwgJ01haW50ZW5hbmNlRm9ybV9BY3Rpb249IlJlbW92ZSInLCAxMikKLSAgICBjLmV2ZW50KCJbUHJvZ3Jlc3MyXSIsICJyZW1vdmVzIiwgJ01haW50ZW5hbmNlRm9ybV9BY3Rpb249IlJlbW92ZSInLCAxMykKLSAgICBjLmV2ZW50KCJSZW1vdmUiLCAiQUxMIiwgJ01haW50ZW5hbmNlRm9ybV9BY3Rpb249IlJlbW92ZSInLCAxNCkKLQotICAgICMgQ2xvc2UgZGlhbG9nIHdoZW4gbWFpbnRlbmFuY2UgYWN0aW9uIHNjaGVkdWxlZAotICAgIGMuZXZlbnQoIkVuZERpYWxvZyIsICJSZXR1cm4iLCAnTWFpbnRlbmFuY2VGb3JtX0FjdGlvbjw+IkNoYW5nZSInLCAyMCkKLSAgICBjLmV2ZW50KCJOZXdEaWFsb2ciLCAiU2VsZWN0RmVhdHVyZXNEbGciLCAnTWFpbnRlbmFuY2VGb3JtX0FjdGlvbj0iQ2hhbmdlIicsIDIxKQotCi0gICAgbWFpbnQuY2FuY2VsKCJDYW5jZWwiLCAiUmVwYWlyUmFkaW9Hcm91cCIpLmV2ZW50KCJTcGF3bkRpYWxvZyIsICJDYW5jZWxEbGciKQotCi0KLSMgU2VlICJGZWF0dXJlIFRhYmxlIi4gVGhlIGZlYXR1cmUgbGV2ZWwgaXMgMSBmb3IgYWxsIGZlYXR1cmVzLAotIyBhbmQgdGhlIGZlYXR1cmUgYXR0cmlidXRlcyBhcmUgMCBmb3IgdGhlIERlZmF1bHRGZWF0dXJlLCBhbmQKLSMgRm9sbG93UGFyZW50IGZvciBhbGwgb3RoZXIgZmVhdHVyZXMuIFRoZSBudW1iZXJzIGFyZSB0aGUgRGlzcGxheQotIyBjb2x1bW4uCi1kZWYgYWRkX2ZlYXR1cmVzKGRiKToKLSAgICAjIGZlYXR1cmUgYXR0cmlidXRlczoKLSAgICAjIG1zaWRiRmVhdHVyZUF0dHJpYnV0ZXNGb2xsb3dQYXJlbnQgPT0gMgotICAgICMgbXNpZGJGZWF0dXJlQXR0cmlidXRlc0Rpc2FsbG93QWR2ZXJ0aXNlID09IDgKLSAgICAjIEZlYXR1cmVzIHRoYXQgbmVlZCB0byBiZSBpbnN0YWxsZWQgd2l0aCB0b2dldGhlciB3aXRoIHRoZSBtYWluIGZlYXR1cmUKLSAgICAjIChpLmUuIGFkZGl0aW9uYWwgUHl0aG9uIGxpYnJhcmllcykgbmVlZCB0byBmb2xsb3cgdGhlIHBhcmVudCBmZWF0dXJlLgotICAgICMgRmVhdHVyZXMgdGhhdCBoYXZlIG5vIGFkdmVydGlzZW1lbnQgdHJpZ2dlciAoZS5nLiB0aGUgdGVzdCBzdWl0ZSkKLSAgICAjIG11c3Qgbm90IHN1cHBvcnQgYWR2ZXJ0aXNlbWVudAotICAgIGdsb2JhbCBkZWZhdWx0X2ZlYXR1cmUsIHRjbHRrLCBodG1sZmlsZXMsIHRvb2xzLCB0ZXN0c3VpdGUKLSAgICBnbG9iYWwgZXh0X2ZlYXR1cmUsIHByaXZhdGVfY3J0LCBwcmVwZW5kX3BhdGgsIHBpcF9mZWF0dXJlCi0gICAgZGVmYXVsdF9mZWF0dXJlID0gRmVhdHVyZShkYiwgIkRlZmF1bHRGZWF0dXJlIiwgIlB5dGhvbiIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiUHl0aG9uIEludGVycHJldGVyIGFuZCBMaWJyYXJpZXMiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMSwgZGlyZWN0b3J5ID0gIlRBUkdFVERJUiIpCi0gICAgc2hhcmVkX2NydCA9IEZlYXR1cmUoZGIsICJTaGFyZWRDUlQiLCAiTVNWQ1JUIiwgIkMgUnVuLVRpbWUgKHN5c3RlbS13aWRlKSIsIDAsCi0gICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWw9MCkKLSAgICBwcml2YXRlX2NydCA9IEZlYXR1cmUoZGIsICJQcml2YXRlQ1JUIiwgIk1TVkNSVCIsICJDIFJ1bi1UaW1lIChwcml2YXRlKSIsIDAsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsPTApCi0gICAgYWRkX2RhdGEoZGIsICJDb25kaXRpb24iLCBbKCJTaGFyZWRDUlQiLCAxLCBzeXMzMmNvbmQpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgiUHJpdmF0ZUNSVCIsIDEsICJub3QgIitzeXMzMmNvbmQpXSkKLSAgICAjIFdlIGRvbid0IHN1cHBvcnQgYWR2ZXJ0aXNlbWVudCBvZiBleHRlbnNpb25zCi0gICAgZXh0X2ZlYXR1cmUgPSBGZWF0dXJlKGRiLCAiRXh0ZW5zaW9ucyIsICJSZWdpc3RlciBFeHRlbnNpb25zIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIk1ha2UgdGhpcyBQeXRob24gaW5zdGFsbGF0aW9uIHRoZSBkZWZhdWx0IFB5dGhvbiBpbnN0YWxsYXRpb24iLCAzLAotICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmVudCA9IGRlZmF1bHRfZmVhdHVyZSwgYXR0cmlidXRlcz0yfDgpCi0gICAgaWYgaGF2ZV90Y2w6Ci0gICAgICAgIHRjbHRrID0gRmVhdHVyZShkYiwgIlRjbFRrIiwgIlRjbC9UayIsICJUa2ludGVyLCBJRExFLCBweWRvYyIsIDUsCi0gICAgICAgICAgICAgICAgICAgIHBhcmVudCA9IGRlZmF1bHRfZmVhdHVyZSwgYXR0cmlidXRlcz0yKQotICAgIGh0bWxmaWxlcyA9IEZlYXR1cmUoZGIsICJEb2N1bWVudGF0aW9uIiwgIkRvY3VtZW50YXRpb24iLAotICAgICAgICAgICAgICAgICAgICAgICAgIlB5dGhvbiBIVE1MSGVscCBGaWxlIiwgNywgcGFyZW50ID0gZGVmYXVsdF9mZWF0dXJlKQotICAgIHRvb2xzID0gRmVhdHVyZShkYiwgIlRvb2xzIiwgIlV0aWxpdHkgU2NyaXB0cyIsCi0gICAgICAgICAgICAgICAgICAgICJQeXRob24gdXRpbGl0eSBzY3JpcHRzIChUb29scy8pIiwgOSwKLSAgICAgICAgICAgICAgICAgICAgcGFyZW50ID0gZGVmYXVsdF9mZWF0dXJlLCBhdHRyaWJ1dGVzPTIpCi0gICAgIyBwaXAgaW5zdGFsbGF0aW9uIGlzbid0IGVuYWJsZWQgYnkgZGVmYXVsdCB1bnRpbCBhIGNsZWFuIHVuaW5zdGFsbCBwcm9jZWR1cmUKLSAgICAjIGJlY29tZXMgcG9zc2libGUKLSAgICBwaXBfZmVhdHVyZSA9IEZlYXR1cmUoZGIsICJwaXBfZmVhdHVyZSIsICJwaXAiLAotICAgICAgICAgICAgICAgICAgICAiSW5zdGFsbCAob3IgdXBncmFkZSBmcm9tIGFuIGVhcmxpZXIgdmVyc2lvbikgcGlwLCAiCi0gICAgICAgICAgICAgICAgICAgICJhIHRvb2wgZm9yIGluc3RhbGxpbmcgYW5kIG1hbmFnaW5nIFB5dGhvbiBwYWNrYWdlcy4iLCAxMSwKLSAgICAgICAgICAgICAgICAgICAgcGFyZW50ID0gZGVmYXVsdF9mZWF0dXJlLCBhdHRyaWJ1dGVzPTJ8OCkKLSAgICB0ZXN0c3VpdGUgPSBGZWF0dXJlKGRiLCAiVGVzdHN1aXRlIiwgIlRlc3Qgc3VpdGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgIlB5dGhvbiB0ZXN0IHN1aXRlIChMaWIvdGVzdC8pIiwgMTMsCi0gICAgICAgICAgICAgICAgICAgICAgICBwYXJlbnQgPSBkZWZhdWx0X2ZlYXR1cmUsIGF0dHJpYnV0ZXM9Mnw4KQotICAgICMgcHJlcGVuZF9wYXRoIGlzIGFuIGFkZGl0aW9uYWwgZmVhdHVyZSB3aGljaCBpcyB0byBiZSBvZmYgYnkgZGVmYXVsdC4KLSAgICAjIFNpbmNlIHRoZSBkZWZhdWx0IGxldmVsIGZvciB0aGUgYWJvdmUgZmVhdHVyZXMgaXMgMSwgdGhpcyBuZWVkcyB0byBiZQotICAgICMgYXQgbGVhc3QgbGV2ZWwgaGlnaGVyLgotICAgIHByZXBlbmRfcGF0aCA9IEZlYXR1cmUoZGIsICJQcmVwZW5kUGF0aCIsICJBZGQgcHl0aG9uLmV4ZSB0byBQYXRoIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJQcmVwZW5kIFtUQVJHRVRESVJdIHRvIHRoZSBzeXN0ZW0gUGF0aCB2YXJpYWJsZS4gIgotICAgICAgICAgICAgICAgICAgICAgICAgIlRoaXMgYWxsb3dzIHlvdSB0byB0eXBlICdweXRob24nIGludG8gYSBjb21tYW5kICIKLSAgICAgICAgICAgICAgICAgICAgICAgICJwcm9tcHQgd2l0aG91dCBuZWVkaW5nIHRoZSBmdWxsIHBhdGguIiwgMTUsCi0gICAgICAgICAgICAgICAgICAgICAgICBwYXJlbnQgPSBkZWZhdWx0X2ZlYXR1cmUsIGF0dHJpYnV0ZXM9Mnw4LAotICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWw9MikKLQotZGVmIGV4dHJhY3RfbXN2Y3IxMDAoKToKLSAgICAjIEZpbmQgdGhlIHJlZGlzdHJpYnV0YWJsZSBmaWxlcwotICAgIGlmIG1zaWxpYi5XaW42NDoKLSAgICAgICAgYXJjaCA9ICJ4NjQiCi0gICAgZWxzZToKLSAgICAgICAgYXJjaCA9ICJ4ODYiCi0gICAgZGlyID0gb3MucGF0aC5qb2luKG9zLmVudmlyb25bJ1ZTMTAwQ09NTlRPT0xTJ10sIHIiLi5cLi5cVkNccmVkaXN0XCVzXE1pY3Jvc29mdC5WQzEwMC5DUlQiICUgYXJjaCkKLQotICAgIHJlc3VsdCA9IFtdCi0gICAgaW5zdGFsbGVyID0gbXNpbGliLk1ha2VJbnN0YWxsZXIoKQotICAgICMgQXQgbGVhc3QgZm9yIFZTMjAxMCwgbWFuaWZlc3RzIGFyZSBubyBsb25nZXIgcHJvdmlkZWQKLSAgICBuYW1lID0gIm1zdmNyMTAwLmRsbCIKLSAgICBwYXRoID0gb3MucGF0aC5qb2luKGRpciwgbmFtZSkKLSAgICBrdyA9IHsnc3JjJzpwYXRofQotICAgIGt3Wyd2ZXJzaW9uJ10gPSBpbnN0YWxsZXIuRmlsZVZlcnNpb24ocGF0aCwgMCkKLSAgICBrd1snbGFuZ3VhZ2UnXSA9IGluc3RhbGxlci5GaWxlVmVyc2lvbihwYXRoLCAxKQotICAgIHJldHVybiBuYW1lLCBrdwotCi1kZWYgZ2VuZXJhdGVfbGljZW5zZSgpOgotICAgIGltcG9ydCBzaHV0aWwsIGdsb2IKLSAgICBvdXQgPSBvcGVuKCJMSUNFTlNFLnR4dCIsICJ3IikKLSAgICBzaHV0aWwuY29weWZpbGVvYmoob3Blbihvcy5wYXRoLmpvaW4oc3JjZGlyLCAiTElDRU5TRSIpKSwgb3V0KQotICAgIHNodXRpbC5jb3B5ZmlsZW9iaihvcGVuKCJjcnRsaWNlbnNlLnR4dCIpLCBvdXQpCi0gICAgZm9yIG5hbWUsIHBhdCwgZmlsZSBpbiAoKCJiemlwMiIsImJ6aXAyLSoiLCAiTElDRU5TRSIpLAotICAgICAgICAgICAgICAgICAgICAgICgib3BlbnNzbCIsICJvcGVuc3NsLSoiLCAiTElDRU5TRSIpLAotICAgICAgICAgICAgICAgICAgICAgICgiVGNsIiwgInRjbDgqIiwgImxpY2Vuc2UudGVybXMiKSwKLSAgICAgICAgICAgICAgICAgICAgICAoIlRrIiwgInRrOCoiLCAibGljZW5zZS50ZXJtcyIpLAotICAgICAgICAgICAgICAgICAgICAgICgiVGl4IiwgInRpeC0qIiwgImxpY2Vuc2UudGVybXMiKSk6Ci0gICAgICAgIG91dC53cml0ZSgiXG5UaGlzIGNvcHkgb2YgUHl0aG9uIGluY2x1ZGVzIGEgY29weSBvZiAlcywgd2hpY2ggaXMgbGljZW5zZWQgdW5kZXIgdGhlIGZvbGxvd2luZyB0ZXJtczpcblxuIiAlIG5hbWUpCi0gICAgICAgIGRpcnMgPSBnbG9iLmdsb2Ioc3JjZGlyKyIvZXh0ZXJuYWxzLyIrcGF0KQotICAgICAgICBpZiBub3QgZGlyczoKLSAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IsICJDb3VsZCBub3QgZmluZCAiK3NyY2RpcisiL2V4dGVybmFscy8iK3BhdAotICAgICAgICBpZiBsZW4oZGlycykgPiAyIGFuZCBub3Qgc25hcHNob3Q6Ci0gICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yLCAiTXVsdGlwbGUgY29waWVzIG9mICIrcGF0Ci0gICAgICAgIGRpciA9IGRpcnNbMF0KLSAgICAgICAgc2h1dGlsLmNvcHlmaWxlb2JqKG9wZW4ob3MucGF0aC5qb2luKGRpciwgZmlsZSkpLCBvdXQpCi0gICAgb3V0LmNsb3NlKCkKLQotCi1jbGFzcyBQeURpcmVjdG9yeShEaXJlY3RvcnkpOgotICAgICIiIkJ5IGRlZmF1bHQsIGFsbCBjb21wb25lbnRzIGluIHRoZSBQeXRob24gaW5zdGFsbGVyCi0gICAgY2FuIHJ1biBmcm9tIHNvdXJjZS4iIiIKLSAgICBkZWYgX19pbml0X18oc2VsZiwgKmFyZ3MsICoqa3cpOgotICAgICAgICBpZiAiY29tcG9uZW50ZmxhZ3MiIG5vdCBpbiBrdzoKLSAgICAgICAgICAgIGt3Wydjb21wb25lbnRmbGFncyddID0gMiAjbXNpZGJDb21wb25lbnRBdHRyaWJ1dGVzT3B0aW9uYWwKLSAgICAgICAgRGlyZWN0b3J5Ll9faW5pdF9fKHNlbGYsICphcmdzLCAqKmt3KQotCi1kZWYgaGdtYW5pZmVzdCgpOgotICAgICMgRmV0Y2ggZmlsZSBsaXN0IGZyb20gTWVyY3VyaWFsCi0gICAgcHJvY2VzcyA9IHN1YnByb2Nlc3MuUG9wZW4oWydoZycsICdtYW5pZmVzdCddLCBzdGRvdXQ9c3VicHJvY2Vzcy5QSVBFKQotICAgIHN0ZG91dCwgc3RkZXJyID0gcHJvY2Vzcy5jb21tdW5pY2F0ZSgpCi0gICAgIyBDcmVhdGUgbmVzdGVkIGRpcmVjdG9yaWVzIGZvciBmaWxlIHRyZWUKLSAgICByZXN1bHQgPSB7fQotICAgIGZvciBsaW5lIGluIHN0ZG91dC5zcGxpdGxpbmVzKCk6Ci0gICAgICAgIGNvbXBvbmVudHMgPSBsaW5lLnNwbGl0KCcvJykKLSAgICAgICAgZCA9IHJlc3VsdAotICAgICAgICB3aGlsZSBsZW4oY29tcG9uZW50cykgPiAxOgotICAgICAgICAgICAgZDEgPSBkLnNldGRlZmF1bHQoY29tcG9uZW50c1swXSwge30pCi0gICAgICAgICAgICBkID0gZDEKLSAgICAgICAgICAgIGRlbCBjb21wb25lbnRzWzBdCi0gICAgICAgIGRbY29tcG9uZW50c1swXV0gPSBOb25lCi0gICAgcmV0dXJuIHJlc3VsdAotCi0KLSMgU2VlICJGaWxlIFRhYmxlIiwgIkNvbXBvbmVudCBUYWJsZSIsICJEaXJlY3RvcnkgVGFibGUiLAotIyAiRmVhdHVyZUNvbXBvbmVudHMgVGFibGUiCi1kZWYgYWRkX2ZpbGVzKGRiKToKLSAgICBpbnN0YWxsZXIgPSBtc2lsaWIuTWFrZUluc3RhbGxlcigpCi0gICAgaGdmaWxlcyA9IGhnbWFuaWZlc3QoKQotICAgIGNhYiA9IENBQigicHl0aG9uIikKLSAgICB0bXBmaWxlcyA9IFtdCi0gICAgIyBBZGQgYWxsIGV4ZWN1dGFibGVzLCBpY29ucywgdGV4dCBmaWxlcyBpbnRvIHRoZSBUQVJHRVRESVIgY29tcG9uZW50Ci0gICAgcm9vdCA9IFB5RGlyZWN0b3J5KGRiLCBjYWIsIE5vbmUsIHNyY2RpciwgIlRBUkdFVERJUiIsICJTb3VyY2VEaXIiKQotICAgIGRlZmF1bHRfZmVhdHVyZS5zZXRfY3VycmVudCgpCi0gICAgcm9vdC5hZGRfZmlsZSgiUkVBRE1FLnR4dCIsIHNyYz0iUkVBRE1FIikKLSAgICByb290LmFkZF9maWxlKCJORVdTLnR4dCIsIHNyYz0iTWlzYy9ORVdTIikKLSAgICBnZW5lcmF0ZV9saWNlbnNlKCkKLSAgICByb290LmFkZF9maWxlKCJMSUNFTlNFLnR4dCIsIHNyYz1vcy5wYXRoLmFic3BhdGgoIkxJQ0VOU0UudHh0IikpCi0gICAgcm9vdC5zdGFydF9jb21wb25lbnQoInB5dGhvbi5leGUiLCBrZXlmaWxlPSJweXRob24uZXhlIikKLSAgICByb290LmFkZF9maWxlKCIlcy9weXRob24uZXhlIiAlIFBDQlVJTEQpCi0gICAgcm9vdC5zdGFydF9jb21wb25lbnQoInB5dGhvbncuZXhlIiwga2V5ZmlsZT0icHl0aG9udy5leGUiKQotICAgIHJvb3QuYWRkX2ZpbGUoIiVzL3B5dGhvbncuZXhlIiAlIFBDQlVJTEQpCi0KLSAgICAjIG1zaWRiQ29tcG9uZW50QXR0cmlidXRlc1NoYXJlZERsbFJlZkNvdW50ID0gOCwgc2VlICJDb21wb25lbnQgVGFibGUiCi0gICAgZGxsZGlyID0gUHlEaXJlY3RvcnkoZGIsIGNhYiwgcm9vdCwgc3JjZGlyLCAiRExMRElSIiwgIi4iKQotICAgIGxhdW5jaGVyZGlyID0gUHlEaXJlY3RvcnkoZGIsIGNhYiwgcm9vdCwgc3JjZGlyLCAiTEFVTkNIRVJESVIiLCAiLiIpCi0KLSAgICAjIG1zaWRiQ29tcG9uZW50QXR0cmlidXRlczY0Yml0ID0gMjU2OyB0aGlzIGRpc2FibGVzIHJlZ2lzdHJ5IHJlZGlyZWN0aW9uCi0gICAgIyB0byBhbGxvdyBzZXR0aW5nIHRoZSBTaGFyZWRETExzIGtleSBpbiB0aGUgNjQtYml0IHBvcnRpb24gZXZlbiBmb3IgYQotICAgICMgMzItYml0IGluc3RhbGxlci4KLSAgICAjIFhYWCBkb2VzIHRoaXMgc3RpbGwgYWxsb3cgdG8gaW5zdGFsbCB0aGUgY29tcG9uZW50IG9uIGEgMzItYml0IHN5c3RlbT8KLSAgICAjIFBpY2sgdXAgMzItYml0IGJpbmFyeSBhbHdheXMKLSAgICBsYXVuY2hlcnNyYyA9IFBDQlVJTEQKLSAgICBpZiBsYXVuY2hlcnNyYy5sb3dlcigpID09ICdwY2J1aWxkXFx4NjQtcGdvJzoKLSAgICAgICAgbGF1bmNoZXJzcmMgPSAnUENCdWlsZFxcd2luMzItcGdvJwotICAgIGlmIGxhdW5jaGVyc3JjLmxvd2VyKCkgPT0gJ3BjYnVpbGRcXGFtZDY0JzoKLSAgICAgICAgbGF1bmNoZXJzcmMgPSAnUENCdWlsZCcKLSAgICBsYXVuY2hlciA9IG9zLnBhdGguam9pbihzcmNkaXIsIGxhdW5jaGVyc3JjLCAicHkuZXhlIikKLSAgICBsYXVuY2hlcmRpci5zdGFydF9jb21wb25lbnQoImxhdW5jaGVyIiwgZmxhZ3MgPSA4KzI1Niwga2V5ZmlsZT0icHkuZXhlIikKLSAgICBsYXVuY2hlcmRpci5hZGRfZmlsZShsYXVuY2hlciwKLSAgICAgICAgICAgICAgICAgICAgICAgICB2ZXJzaW9uPWluc3RhbGxlci5GaWxlVmVyc2lvbihsYXVuY2hlciwgMCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgbGFuZ3VhZ2U9aW5zdGFsbGVyLkZpbGVWZXJzaW9uKGxhdW5jaGVyLCAxKSkKLSAgICBsYXVuY2hlcncgPSBvcy5wYXRoLmpvaW4oc3JjZGlyLCBsYXVuY2hlcnNyYywgInB5dy5leGUiKQotICAgIGxhdW5jaGVyZGlyLnN0YXJ0X2NvbXBvbmVudCgibGF1bmNoZXJ3IiwgZmxhZ3MgPSA4KzI1Niwga2V5ZmlsZT0icHl3LmV4ZSIpCi0gICAgbGF1bmNoZXJkaXIuYWRkX2ZpbGUobGF1bmNoZXJ3LAotICAgICAgICAgICAgICAgICAgICAgICAgIHZlcnNpb249aW5zdGFsbGVyLkZpbGVWZXJzaW9uKGxhdW5jaGVydywgMCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgbGFuZ3VhZ2U9aW5zdGFsbGVyLkZpbGVWZXJzaW9uKGxhdW5jaGVydywgMSkpCi0KLSAgICBweWRsbCA9ICJweXRob24lcyVzLmRsbCIgJSAobWFqb3IsIG1pbm9yKQotICAgIHB5ZGxsc3JjID0gb3MucGF0aC5qb2luKHNyY2RpciwgUENCVUlMRCwgcHlkbGwpCi0gICAgZGxsZGlyLnN0YXJ0X2NvbXBvbmVudCgiRExMRElSIiwgZmxhZ3MgPSA4LCBrZXlmaWxlID0gcHlkbGwsIHV1aWQgPSBweXRob25kbGxfdXVpZCkKLSAgICBweXZlcnNpb24gPSBpbnN0YWxsZXIuRmlsZVZlcnNpb24ocHlkbGxzcmMsIDApCi0gICAgaWYgbm90IHNuYXBzaG90OgotICAgICAgICAjIEZvciByZWxlYXNlcywgdGhlIFB5dGhvbiBETEwgaGFzIHRoZSBzYW1lIHZlcnNpb24gYXMgdGhlCi0gICAgICAgICMgaW5zdGFsbGVyIHBhY2thZ2UuCi0gICAgICAgIGFzc2VydCBweXZlcnNpb24uc3BsaXQoIi4iKVs6M10gPT0gY3VycmVudF92ZXJzaW9uLnNwbGl0KCIuIikKLSAgICBkbGxkaXIuYWRkX2ZpbGUoIiVzL3B5dGhvbiVzJXMuZGxsIiAlIChQQ0JVSUxELCBtYWpvciwgbWlub3IpLAotICAgICAgICAgICAgICAgICAgICB2ZXJzaW9uPXB5dmVyc2lvbiwKLSAgICAgICAgICAgICAgICAgICAgbGFuZ3VhZ2U9aW5zdGFsbGVyLkZpbGVWZXJzaW9uKHB5ZGxsc3JjLCAxKSkKLSAgICBETExzID0gUHlEaXJlY3RvcnkoZGIsIGNhYiwgcm9vdCwgc3JjZGlyICsgIi8iICsgUENCVUlMRCwgIkRMTHMiLCAiRExMU3xETExzIikKLQotICAgICMgbXN2Y3I5MC5kbGw6IE5lZWQgdG8gcGxhY2UgdGhlIERMTCBhbmQgdGhlIG1hbmlmZXN0IGludG8gdGhlIHJvb3QgZGlyZWN0b3J5LAotICAgICMgcGx1cyBhbm90aGVyIGNvcHkgb2YgdGhlIG1hbmlmZXN0IGluIHRoZSBETExzIGRpcmVjdG9yeSwgd2l0aCB0aGUgbWFuaWZlc3QKLSAgICAjIHBvaW50aW5nIHRvIHRoZSByb290IGRpcmVjdG9yeQotICAgIHJvb3Quc3RhcnRfY29tcG9uZW50KCJtc3ZjcjkwIiwgZmVhdHVyZT1wcml2YXRlX2NydCkKLSAgICAjIFJlc3VsdHMgYXJlIElELGtleXdvcmQgcGFpcnMKLSAgICBjcnRkbGwsIGt3ZHMgPSBleHRyYWN0X21zdmNyMTAwKCkKLSAgICByb290LmFkZF9maWxlKGNydGRsbCwgKiprd2RzKQotICAgICMgQ29weSB0aGUgbWFuaWZlc3QKLSAgICAjIEFjdHVhbGx5LCBkb24ndCBkbyB0aGF0IGFueW1vcmUgLSBubyBETEwgaW4gRExMcyBzaG91bGQgaGF2ZSBhIG1hbmlmZXN0Ci0gICAgIyBkZXBlbmRlbmN5IG9uIG1zdmNyOTAuZGxsIGFueW1vcmUsIHNvIHRoaXMgc2hvdWxkIG5vdCBiZSBuZWNlc3NhcnkKLSAgICAjbWFuaWZlc3RfZGxscyA9IG1hbmlmZXN0WzBdKyIucm9vdCIKLSAgICAjb3BlbihtYW5pZmVzdF9kbGxzLCAidyIpLndyaXRlKG9wZW4obWFuaWZlc3RbMV1bJ3NyYyddKS5yZWFkKCkucmVwbGFjZSgibXN2Y3IiLCIuLi9tc3ZjciIpKQotICAgICNETExzLnN0YXJ0X2NvbXBvbmVudCgibXN2Y3I5MF9kbGxzIiwgZmVhdHVyZT1wcml2YXRlX2NydCkKLSAgICAjRExMcy5hZGRfZmlsZShtYW5pZmVzdFswXSwgc3JjPW9zLnBhdGguYWJzcGF0aChtYW5pZmVzdF9kbGxzKSkKLQotICAgICMgTm93IHN0YXJ0IHRoZSBtYWluIGNvbXBvbmVudCBmb3IgdGhlIERMTHMgZGlyZWN0b3J5OwotICAgICMgbm8gcmVndWxhciBmaWxlcyBoYXZlIGJlZW4gYWRkZWQgdG8gdGhlIGRpcmVjdG9yeSB5ZXQuCi0gICAgRExMcy5zdGFydF9jb21wb25lbnQoKQotCi0gICAgIyBDaGVjayBpZiBfY3R5cGVzLnB5ZCBleGlzdHMKLSAgICBoYXZlX2N0eXBlcyA9IG9zLnBhdGguZXhpc3RzKHNyY2RpcisiLyVzL19jdHlwZXMucHlkIiAlIFBDQlVJTEQpCi0gICAgaWYgbm90IGhhdmVfY3R5cGVzOgotICAgICAgICBwcmludCgiV0FSTklORzogX2N0eXBlcy5weWQgbm90IGZvdW5kLCBjdHlwZXMgd2lsbCBub3QgYmUgaW5jbHVkZWQiKQotICAgICAgICBleHRlbnNpb25zLnJlbW92ZSgiX2N0eXBlcy5weWQiKQotCi0gICAgIyBBZGQgYWxsIC5weSBmaWxlcyBpbiBMaWIsIGV4Y2VwdCB0a2ludGVyLCB0ZXN0Ci0gICAgZGlycyA9IFtdCi0gICAgcHlkaXJzID0gWyhyb290LCAiTGliIiwgaGdmaWxlc1siTGliIl0sIGRlZmF1bHRfZmVhdHVyZSldCi0gICAgd2hpbGUgcHlkaXJzOgotICAgICAgICAjIENvbW1pdCBldmVyeSBub3cgYW5kIHRoZW4sIG9yIGVsc2UgaW5zdGFsbGVyIHdpbGwgY29tcGxhaW4KLSAgICAgICAgZGIuQ29tbWl0KCkKLSAgICAgICAgcGFyZW50LCBkaXIsIGZpbGVzLCBmZWF0dXJlID0gcHlkaXJzLnBvcCgpCi0gICAgICAgIGlmIGRpci5zdGFydHN3aXRoKCJwbGF0LSIpOgotICAgICAgICAgICAgY29udGludWUKLSAgICAgICAgaWYgZGlyIGluIFsidGtpbnRlciIsICJpZGxlbGliIiwgInR1cnRsZWRlbW8iXToKLSAgICAgICAgICAgIGlmIG5vdCBoYXZlX3RjbDoKLSAgICAgICAgICAgICAgICBjb250aW51ZQotICAgICAgICAgICAgZmVhdHVyZSA9IHRjbHRrCi0gICAgICAgICAgICB0Y2x0ay5zZXRfY3VycmVudCgpCi0gICAgICAgIGVsaWYgZGlyIGluICgndGVzdCcsICd0ZXN0cycpOgotICAgICAgICAgICAgZmVhdHVyZSA9IHRlc3RzdWl0ZQotICAgICAgICBlbGlmIG5vdCBoYXZlX2N0eXBlcyBhbmQgZGlyID09ICJjdHlwZXMiOgotICAgICAgICAgICAgY29udGludWUKLSAgICAgICAgZmVhdHVyZS5zZXRfY3VycmVudCgpCi0gICAgICAgIGxpYiA9IFB5RGlyZWN0b3J5KGRiLCBjYWIsIHBhcmVudCwgZGlyLCBkaXIsICIlc3wlcyIgJSAocGFyZW50Lm1ha2Vfc2hvcnQoZGlyKSwgZGlyKSkKLSAgICAgICAgZGlycy5hcHBlbmQobGliKQotICAgICAgICBoYXNfcHkgPSBGYWxzZQotICAgICAgICBmb3IgbmFtZSwgc3ViZGlyIGluIGZpbGVzLml0ZW1zKCk6Ci0gICAgICAgICAgICBpZiBzdWJkaXIgaXMgTm9uZToKLSAgICAgICAgICAgICAgICBhc3NlcnQgb3MucGF0aC5pc2ZpbGUob3MucGF0aC5qb2luKGxpYi5hYnNvbHV0ZSwgbmFtZSkpCi0gICAgICAgICAgICAgICAgaWYgbmFtZSA9PSAnUkVBRE1FJzoKLSAgICAgICAgICAgICAgICAgICAgbGliLmFkZF9maWxlKCJSRUFETUUudHh0Iiwgc3JjPSJSRUFETUUiKQotICAgICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgICAgIGxpYi5hZGRfZmlsZShuYW1lKQotICAgICAgICAgICAgICAgICAgICBoYXNfcHkgPSBoYXNfcHkgb3IgbmFtZS5lbmRzd2l0aCgiLnB5Iikgb3IgbmFtZS5lbmRzd2l0aCgiLnB5dyIpCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIGFzc2VydCBvcy5wYXRoLmlzZGlyKG9zLnBhdGguam9pbihsaWIuYWJzb2x1dGUsIG5hbWUpKQotICAgICAgICAgICAgICAgIHB5ZGlycy5hcHBlbmQoKGxpYiwgbmFtZSwgc3ViZGlyLCBmZWF0dXJlKSkKLQotICAgICAgICBpZiBoYXNfcHk6Ci0gICAgICAgICAgICBsaWIucmVtb3ZlX3B5YygpCi0gICAgIyBBZGQgRExMcwotICAgIGRlZmF1bHRfZmVhdHVyZS5zZXRfY3VycmVudCgpCi0gICAgbGliID0gRExMcwotICAgIGxpYi5hZGRfZmlsZSgicHkuaWNvIiwgc3JjPXNyY2RpcisiL1BDL3B5LmljbyIpCi0gICAgbGliLmFkZF9maWxlKCJweWMuaWNvIiwgc3JjPXNyY2RpcisiL1BDL3B5Yy5pY28iKQotICAgIGRsbHMgPSBbXQotICAgIHRjbGZpbGVzID0gW10KLSAgICBmb3IgZiBpbiBleHRlbnNpb25zOgotICAgICAgICBpZiBmPT0iX3RraW50ZXIucHlkIjoKLSAgICAgICAgICAgIGNvbnRpbnVlCi0gICAgICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0cyhzcmNkaXIgKyAiLyIgKyBQQ0JVSUxEICsgIi8iICsgZik6Ci0gICAgICAgICAgICBwcmludCgiV0FSTklORzogTWlzc2luZyBleHRlbnNpb24iLCBmKQotICAgICAgICAgICAgY29udGludWUKLSAgICAgICAgZGxscy5hcHBlbmQoZikKLSAgICAgICAgbGliLmFkZF9maWxlKGYpCi0gICAgbGliLmFkZF9maWxlKCdweXRob24zLmRsbCcpCi0gICAgIyBBZGQgc3FsaXRlCi0gICAgaWYgbXNpbGliLm1zaV90eXBlPT0iSW50ZWw2NDsxMDMzIjoKLSAgICAgICAgc3FsaXRlX2FyY2ggPSAiL2lhNjQiCi0gICAgZWxpZiBtc2lsaWIubXNpX3R5cGU9PSJ4NjQ7MTAzMyI6Ci0gICAgICAgIHNxbGl0ZV9hcmNoID0gIi9hbWQ2NCIKLSAgICAgICAgdGNsc3VmZml4ID0gIjY0IgotICAgIGVsc2U6Ci0gICAgICAgIHNxbGl0ZV9hcmNoID0gIiIKLSAgICAgICAgdGNsc3VmZml4ID0gIiIKLSAgICBsaWIuYWRkX2ZpbGUoInNxbGl0ZTMuZGxsIikKLSAgICBpZiBoYXZlX3RjbDoKLSAgICAgICAgaWYgbm90IG9zLnBhdGguZXhpc3RzKCIlcy8lcy9fdGtpbnRlci5weWQiICUgKHNyY2RpciwgUENCVUlMRCkpOgotICAgICAgICAgICAgcHJpbnQoIldBUk5JTkc6IE1pc3NpbmcgX3RraW50ZXIucHlkIikKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIGxpYi5zdGFydF9jb21wb25lbnQoIlRrRExMcyIsIHRjbHRrKQotICAgICAgICAgICAgbGliLmFkZF9maWxlKCJfdGtpbnRlci5weWQiKQotICAgICAgICAgICAgZGxscy5hcHBlbmQoIl90a2ludGVyLnB5ZCIpCi0gICAgICAgICAgICB0Y2xkaXIgPSBvcy5wYXRoLm5vcm1wYXRoKHNyY2RpcisoIi9leHRlcm5hbHMvdGNsdGslcy9iaW4iICUgdGNsc3VmZml4KSkKLSAgICAgICAgICAgIGZvciBmIGluIGdsb2IuZ2xvYjEodGNsZGlyLCAiKi5kbGwiKToKLSAgICAgICAgICAgICAgICBsaWIuYWRkX2ZpbGUoZiwgc3JjPW9zLnBhdGguam9pbih0Y2xkaXIsIGYpKQotICAgICMgY2hlY2sgd2hldGhlciB0aGVyZSBhcmUgYW55IHVua25vd24gZXh0ZW5zaW9ucwotICAgIGZvciBmIGluIGdsb2IuZ2xvYjEoc3JjZGlyKyIvIitQQ0JVSUxELCAiKi5weWQiKToKLSAgICAgICAgaWYgZi5lbmRzd2l0aCgiX2QucHlkIik6IGNvbnRpbnVlICMgZGVidWcgdmVyc2lvbgotICAgICAgICBpZiBmIGluIGRsbHM6IGNvbnRpbnVlCi0gICAgICAgIHByaW50KCJXQVJOSU5HOiBVbmtub3duIGV4dGVuc2lvbiIsIGYpCi0KLSAgICAjIEFkZCBoZWFkZXJzCi0gICAgZGVmYXVsdF9mZWF0dXJlLnNldF9jdXJyZW50KCkKLSAgICBsaWIgPSBQeURpcmVjdG9yeShkYiwgY2FiLCByb290LCAiaW5jbHVkZSIsICJpbmNsdWRlIiwgIklOQ0xVREV8aW5jbHVkZSIpCi0gICAgbGliLmdsb2IoIiouaCIpCi0gICAgbGliLmFkZF9maWxlKCJweWNvbmZpZy5oIiwgc3JjPSIuLi9QQy9weWNvbmZpZy5oIikKLSAgICAjIEFkZCBpbXBvcnQgbGlicmFyaWVzCi0gICAgbGliID0gUHlEaXJlY3RvcnkoZGIsIGNhYiwgcm9vdCwgUENCVUlMRCwgImxpYnMiLCAiTElCU3xsaWJzIikKLSAgICBmb3IgZiBpbiBkbGxzOgotICAgICAgICBsaWIuYWRkX2ZpbGUoZi5yZXBsYWNlKCdweWQnLCdsaWInKSkKLSAgICBsaWIuYWRkX2ZpbGUoJ3B5dGhvbiVzJXMubGliJyAlIChtYWpvciwgbWlub3IpKQotICAgIGxpYi5hZGRfZmlsZSgncHl0aG9uMy5saWInKQotICAgICMgQWRkIHRoZSBtaW5ndy1mb3JtYXQgbGlicmFyeQotICAgIGlmIGhhdmVfbWluZ3c6Ci0gICAgICAgIGxpYi5hZGRfZmlsZSgnbGlicHl0aG9uJXMlcy5hJyAlIChtYWpvciwgbWlub3IpKQotICAgIGlmIGhhdmVfdGNsOgotICAgICAgICAjIEFkZCBUY2wvVGsKLSAgICAgICAgdGNsZGlycyA9IFsocm9vdCwgJ2V4dGVybmFscy90Y2x0ayVzL2xpYicgJSB0Y2xzdWZmaXgsICd0Y2wnKV0KLSAgICAgICAgdGNsdGsuc2V0X2N1cnJlbnQoKQotICAgICAgICB3aGlsZSB0Y2xkaXJzOgotICAgICAgICAgICAgcGFyZW50LCBwaHlzLCBkaXIgPSB0Y2xkaXJzLnBvcCgpCi0gICAgICAgICAgICBsaWIgPSBQeURpcmVjdG9yeShkYiwgY2FiLCBwYXJlbnQsIHBoeXMsIGRpciwgIiVzfCVzIiAlIChwYXJlbnQubWFrZV9zaG9ydChkaXIpLCBkaXIpKQotICAgICAgICAgICAgaWYgbm90IG9zLnBhdGguZXhpc3RzKGxpYi5hYnNvbHV0ZSk6Ci0gICAgICAgICAgICAgICAgY29udGludWUKLSAgICAgICAgICAgIGZvciBmIGluIG9zLmxpc3RkaXIobGliLmFic29sdXRlKToKLSAgICAgICAgICAgICAgICBpZiBvcy5wYXRoLmlzZGlyKG9zLnBhdGguam9pbihsaWIuYWJzb2x1dGUsIGYpKToKLSAgICAgICAgICAgICAgICAgICAgdGNsZGlycy5hcHBlbmQoKGxpYiwgZiwgZikpCi0gICAgICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICAgICAgbGliLmFkZF9maWxlKGYpCi0gICAgIyBBZGQgdG9vbHMKLSAgICB0b29scy5zZXRfY3VycmVudCgpCi0gICAgdG9vbGRpciA9IFB5RGlyZWN0b3J5KGRiLCBjYWIsIHJvb3QsICJUb29scyIsICJUb29scyIsICJUT09MU3xUb29scyIpCi0gICAgZm9yIGYgaW4gWydpMThuJywgJ3B5bmNoZScsICdTY3JpcHRzJ106Ci0gICAgICAgIGxpYiA9IFB5RGlyZWN0b3J5KGRiLCBjYWIsIHRvb2xkaXIsIGYsIGYsICIlc3wlcyIgJSAodG9vbGRpci5tYWtlX3Nob3J0KGYpLCBmKSkKLSAgICAgICAgbGliLmdsb2IoIioucHkiKQotICAgICAgICBsaWIuZ2xvYigiKi5weXciKQotICAgICAgICBsaWIucmVtb3ZlX3B5YygpCi0gICAgICAgIGxpYi5nbG9iKCIqLnR4dCIpCi0gICAgICAgIGlmIGYgPT0gInB5bmNoZSI6Ci0gICAgICAgICAgICB4ID0gUHlEaXJlY3RvcnkoZGIsIGNhYiwgbGliLCAiWCIsICJYIiwgIlh8WCIpCi0gICAgICAgICAgICB4Lmdsb2IoIioudHh0IikKLSAgICAgICAgaWYgb3MucGF0aC5leGlzdHMob3MucGF0aC5qb2luKGxpYi5hYnNvbHV0ZSwgIlJFQURNRSIpKToKLSAgICAgICAgICAgIGxpYi5hZGRfZmlsZSgiUkVBRE1FLnR4dCIsIHNyYz0iUkVBRE1FIikKLSAgICAgICAgaWYgZiA9PSAnU2NyaXB0cyc6Ci0gICAgICAgICAgICBsaWIuYWRkX2ZpbGUoIjJ0bzMucHkiLCBzcmM9IjJ0bzMiKQotICAgICAgICAgICAgbGliLmFkZF9maWxlKCJweWRvYzMucHkiLCBzcmM9InB5ZG9jMyIpCi0gICAgICAgICAgICBsaWIuYWRkX2ZpbGUoInB5dmVudi5weSIsIHNyYz0icHl2ZW52IikKLSAgICAjIEFkZCBkb2N1bWVudGF0aW9uCi0gICAgaHRtbGZpbGVzLnNldF9jdXJyZW50KCkKLSAgICBsaWIgPSBQeURpcmVjdG9yeShkYiwgY2FiLCByb290LCAiRG9jIiwgIkRvYyIsICJET0N8RG9jIikKLSAgICBsaWIuc3RhcnRfY29tcG9uZW50KCJkb2N1bWVudGF0aW9uIiwga2V5ZmlsZT1kb2NmaWxlKQotICAgIGxpYi5hZGRfZmlsZShkb2NmaWxlLCBzcmM9ImJ1aWxkL2h0bWxoZWxwLyIrZG9jZmlsZSkKLQotICAgIGNhYi5jb21taXQoZGIpCi0KLSAgICBmb3IgZiBpbiB0bXBmaWxlczoKLSAgICAgICAgb3MudW5saW5rKGYpCi0KLSMgU2VlICJSZWdpc3RyeSBUYWJsZSIsICJDb21wb25lbnQgVGFibGUiCi1kZWYgYWRkX3JlZ2lzdHJ5KGRiKToKLSAgICAjIEZpbGUgZXh0ZW5zaW9ucywgYXNzb2NpYXRlZCB3aXRoIHRoZSBSRUdJU1RSWS5kZWYgY29tcG9uZW50Ci0gICAgIyBJRExFIHZlcmJzIGRlcGVuZCBvbiB0aGUgdGNsdGsgZmVhdHVyZS4KLSAgICAjIG1zaWRiQ29tcG9uZW50QXR0cmlidXRlc1JlZ2lzdHJ5S2V5UGF0aCA9IDQKLSAgICAjIC0xIGZvciBSb290IHNwZWNpZmllcyAiZGVwZW5kZW50IG9uIEFMTFVTRVJTIHByb3BlcnR5IgotICAgIHRjbGRhdGEgPSBbXQotICAgIGlmIGhhdmVfdGNsOgotICAgICAgICB0Y2xkYXRhID0gWwotICAgICAgICAgICAgKCJSRUdJU1RSWS50Y2wiLCBtc2lsaWIuZ2VuX3V1aWQoKSwgIlRBUkdFVERJUiIsIHJlZ2lzdHJ5X2NvbXBvbmVudCwgTm9uZSwKLSAgICAgICAgICAgICAicHkuSURMRSIpXQotICAgIGFkZF9kYXRhKGRiLCAiQ29tcG9uZW50IiwKLSAgICAgICAgICAgICAjIG1zaWRiQ29tcG9uZW50QXR0cmlidXRlc1JlZ2lzdHJ5S2V5UGF0aCA9IDQKLSAgICAgICAgICAgICBbKCJSRUdJU1RSWSIsIG1zaWxpYi5nZW5fdXVpZCgpLCAiVEFSR0VURElSIiwgcmVnaXN0cnlfY29tcG9uZW50LCBOb25lLAotICAgICAgICAgICAgICAgIkluc3RhbGxQYXRoIiksCi0gICAgICAgICAgICAgICgiUkVHSVNUUlkuZG9jIiwgbXNpbGliLmdlbl91dWlkKCksICJUQVJHRVRESVIiLCByZWdpc3RyeV9jb21wb25lbnQsIE5vbmUsCi0gICAgICAgICAgICAgICAiRG9jdW1lbnRhdGlvbiIpLAotICAgICAgICAgICAgICAoIlJFR0lTVFJZLnBhdGgiLCBtc2lsaWIuZ2VuX3V1aWQoKSwgIlRBUkdFVERJUiIsIHJlZ2lzdHJ5X2NvbXBvbmVudCwgTm9uZSwKLSAgICAgICAgICAgICAgTm9uZSksCi0gICAgICAgICAgICAgICgiUkVHSVNUUlkuZW5zdXJlcGlwIiwgbXNpbGliLmdlbl91dWlkKCksICJUQVJHRVRESVIiLCByZWdpc3RyeV9jb21wb25lbnQsICJFbnN1cmVQaXBSdW4iLAotICAgICAgICAgICAgICBOb25lKSwKLSAgICAgICAgICAgICAgKCJSRUdJU1RSWS5kZWYiLCBtc2lsaWIuZ2VuX3V1aWQoKSwgIlRBUkdFVERJUiIsIHJlZ2lzdHJ5X2NvbXBvbmVudCwKLSAgICAgICAgICAgICAgIE5vbmUsIE5vbmUpXSArIHRjbGRhdGEpCi0gICAgIyBTZWUgIkZlYXR1cmVDb21wb25lbnRzIFRhYmxlIi4KLSAgICAjIFRoZSBhc3NvY2lhdGlvbiBiZXR3ZWVuIFRjbFRrIGFuZCBweXRob253LmV4ZSBpcyBuZWNlc3NhcnkgdG8gbWFrZSBJQ0U1OQotICAgICMgaGFwcHksIGJlY2F1c2UgdGhlIGluc3RhbGxlciBvdGhlcndpc2UgYmVsaWV2ZXMgdGhhdCB0aGUgSURMRSBhbmQgUHlEb2MKLSAgICAjIHNob3J0Y3V0cyBtaWdodCBnZXQgaW5zdGFsbGVkIHdpdGhvdXQgcHl0aG9udy5leGUgYmVpbmcgaW5zdGFsbC4gVGhpcwotICAgICMgaXMgbm90IHRydWUsIHNpbmNlIGluc3RhbGxpbmcgVGNsVGsgd2lsbCBpbnN0YWxsIHRoZSBkZWZhdWx0IGZlYXR1cmUsIHdoaWNoCi0gICAgIyB3aWxsIGNhdXNlIHB5dGhvbncuZXhlIHRvIGJlIGluc3RhbGxlZC4KLSAgICAjIFJFR0lTVFJZLnRjbCBpcyBub3QgYXNzb2NpYXRlZCB3aXRoIGFueSBmZWF0dXJlLCBhcyBpdCB3aWxsIGJlIHJlcXVlc3RlZAotICAgICMgdGhyb3VnaCBhIGN1c3RvbSBhY3Rpb24KLSAgICB0Y2xkYXRhID0gW10KLSAgICBpZiBoYXZlX3RjbDoKLSAgICAgICAgdGNsZGF0YSA9IFsodGNsdGsuaWQsICJweXRob253LmV4ZSIpXQotICAgIGFkZF9kYXRhKGRiLCAiRmVhdHVyZUNvbXBvbmVudHMiLAotICAgICAgICAgICAgIFsoZGVmYXVsdF9mZWF0dXJlLmlkLCAiUkVHSVNUUlkiKSwKLSAgICAgICAgICAgICAgKGh0bWxmaWxlcy5pZCwgIlJFR0lTVFJZLmRvYyIpLAotICAgICAgICAgICAgICAocHJlcGVuZF9wYXRoLmlkLCAiUkVHSVNUUlkucGF0aCIpLAotICAgICAgICAgICAgICAocGlwX2ZlYXR1cmUuaWQsICJSRUdJU1RSWS5lbnN1cmVwaXAiKSwKLSAgICAgICAgICAgICAgKGV4dF9mZWF0dXJlLmlkLCAiUkVHSVNUUlkuZGVmIildICsKLSAgICAgICAgICAgICAgdGNsZGF0YQotICAgICAgICAgICAgICApCi0gICAgIyBFeHRlbnNpb25zIGFyZSBub3QgYWR2ZXJ0aXNlZC4gRm9yIGFkdmVydGlzZWQgZXh0ZW5zaW9ucywKLSAgICAjIHdlIHdvdWxkIG5lZWQgc2VwYXJhdGUgYmluYXJpZXMgdGhhdCBpbnN0YWxsIGFsb25nIHdpdGggdGhlCi0gICAgIyBleHRlbnNpb24uCi0gICAgcGF0ID0gciJTb2Z0d2FyZVxDbGFzc2VzXCVzUHl0aG9uLiVzRmlsZVxzaGVsbFwlc1xjb21tYW5kIgotICAgIGV3aSA9ICJFZGl0IHdpdGggSURMRSIKLSAgICBwYXQyID0gciJTb2Z0d2FyZVxDbGFzc2VzXCVzUHl0aG9uLiVzRmlsZVxEZWZhdWx0SWNvbiIKLSAgICBwYXQzID0gciJTb2Z0d2FyZVxDbGFzc2VzXCVzUHl0aG9uLiVzRmlsZSIKLSAgICBwYXQ0ID0gciJTb2Z0d2FyZVxDbGFzc2VzXCVzUHl0aG9uLiVzRmlsZVxzaGVsbGV4XERyb3BIYW5kbGVyIgotICAgIHRjbF92ZXJicyA9IFtdCi0gICAgaWYgaGF2ZV90Y2w6Ci0gICAgICAgIHRjbF92ZXJicz1bCi0gICAgICAgICAgICAgKCJweS5JRExFIiwgLTEsIHBhdCAlICh0ZXN0cHJlZml4LCAiIiwgZXdpKSwgIiIsCi0gICAgICAgICAgICAgIHInIltUQVJHRVRESVJdcHl0aG9udy5leGUiICJbVEFSR0VURElSXUxpYlxpZGxlbGliXGlkbGUucHl3IiAtZSAiJTEiJywKLSAgICAgICAgICAgICAgIlJFR0lTVFJZLnRjbCIpLAotICAgICAgICAgICAgICgicHl3LklETEUiLCAtMSwgcGF0ICUgKHRlc3RwcmVmaXgsICJOb0NvbiIsIGV3aSksICIiLAotICAgICAgICAgICAgICByJyJbVEFSR0VURElSXXB5dGhvbncuZXhlIiAiW1RBUkdFVERJUl1MaWJcaWRsZWxpYlxpZGxlLnB5dyIgLWUgIiUxIicsCi0gICAgICAgICAgICAgICJSRUdJU1RSWS50Y2wiKSwKLSAgICAgICAgXQotICAgIGFkZF9kYXRhKGRiLCAiUmVnaXN0cnkiLAotICAgICAgICAgICAgWyMgRXh0ZW5zaW9ucwotICAgICAgICAgICAgICgicHkuZXh0IiwgLTEsIHIiU29mdHdhcmVcQ2xhc3Nlc1wuIitleHQsICIiLAotICAgICAgICAgICAgICAiUHl0aG9uLkZpbGUiLCAiUkVHSVNUUlkuZGVmIiksCi0gICAgICAgICAgICAgKCJweXcuZXh0IiwgLTEsIHIiU29mdHdhcmVcQ2xhc3Nlc1wuIitleHQrJ3cnLCAiIiwKLSAgICAgICAgICAgICAgIlB5dGhvbi5Ob0NvbkZpbGUiLCAiUkVHSVNUUlkuZGVmIiksCi0gICAgICAgICAgICAgKCJweWMuZXh0IiwgLTEsIHIiU29mdHdhcmVcQ2xhc3Nlc1wuIitleHQrJ2MnLCAiIiwKLSAgICAgICAgICAgICAgIlB5dGhvbi5Db21waWxlZEZpbGUiLCAiUkVHSVNUUlkuZGVmIiksCi0gICAgICAgICAgICAgKCJweW8uZXh0IiwgLTEsIHIiU29mdHdhcmVcQ2xhc3Nlc1wuIitleHQrJ28nLCAiIiwKLSAgICAgICAgICAgICAgIlB5dGhvbi5Db21waWxlZEZpbGUiLCAiUkVHSVNUUlkuZGVmIiksCi0gICAgICAgICAgICAgIyBNSU1FIHR5cGVzCi0gICAgICAgICAgICAgKCJweS5taW1lIiwgLTEsIHIiU29mdHdhcmVcQ2xhc3Nlc1wuIitleHQsICJDb250ZW50IFR5cGUiLAotICAgICAgICAgICAgICAidGV4dC9wbGFpbiIsICJSRUdJU1RSWS5kZWYiKSwKLSAgICAgICAgICAgICAoInB5dy5taW1lIiwgLTEsIHIiU29mdHdhcmVcQ2xhc3Nlc1wuIitleHQrJ3cnLCAiQ29udGVudCBUeXBlIiwKLSAgICAgICAgICAgICAgInRleHQvcGxhaW4iLCAiUkVHSVNUUlkuZGVmIiksCi0gICAgICAgICAgICAgI1ZlcmJzCi0gICAgICAgICAgICAgKCJweS5vcGVuIiwgLTEsIHBhdCAlICh0ZXN0cHJlZml4LCAiIiwgIm9wZW4iKSwgIiIsCi0gICAgICAgICAgICAgIHInIltMQVVOQ0hFUkRJUl1weS5leGUiICIlMSIgJSonLCAiUkVHSVNUUlkuZGVmIiksCi0gICAgICAgICAgICAgKCJweXcub3BlbiIsIC0xLCBwYXQgJSAodGVzdHByZWZpeCwgIk5vQ29uIiwgIm9wZW4iKSwgIiIsCi0gICAgICAgICAgICAgIHInIltMQVVOQ0hFUkRJUl1weXcuZXhlIiAiJTEiICUqJywgIlJFR0lTVFJZLmRlZiIpLAotICAgICAgICAgICAgICgicHljLm9wZW4iLCAtMSwgcGF0ICUgKHRlc3RwcmVmaXgsICJDb21waWxlZCIsICJvcGVuIiksICIiLAotICAgICAgICAgICAgICByJyJbTEFVTkNIRVJESVJdcHkuZXhlIiAiJTEiICUqJywgIlJFR0lTVFJZLmRlZiIpLAotICAgICAgICAgICAgIF0gKyB0Y2xfdmVyYnMgKyBbCi0gICAgICAgICAgICAgI0ljb25zCi0gICAgICAgICAgICAgKCJweS5pY29uIiwgLTEsIHBhdDIgJSAodGVzdHByZWZpeCwgIiIpLCAiIiwKLSAgICAgICAgICAgICAgcidbRExMc11weS5pY28nLCAiUkVHSVNUUlkuZGVmIiksCi0gICAgICAgICAgICAgKCJweXcuaWNvbiIsIC0xLCBwYXQyICUgKHRlc3RwcmVmaXgsICJOb0NvbiIpLCAiIiwKLSAgICAgICAgICAgICAgcidbRExMc11weS5pY28nLCAiUkVHSVNUUlkuZGVmIiksCi0gICAgICAgICAgICAgKCJweWMuaWNvbiIsIC0xLCBwYXQyICUgKHRlc3RwcmVmaXgsICJDb21waWxlZCIpLCAiIiwKLSAgICAgICAgICAgICAgcidbRExMc11weWMuaWNvJywgIlJFR0lTVFJZLmRlZiIpLAotICAgICAgICAgICAgICMgRGVzY3JpcHRpb25zCi0gICAgICAgICAgICAgKCJweS50eHQiLCAtMSwgcGF0MyAlICh0ZXN0cHJlZml4LCAiIiksICIiLAotICAgICAgICAgICAgICAiUHl0aG9uIEZpbGUiLCAiUkVHSVNUUlkuZGVmIiksCi0gICAgICAgICAgICAgKCJweXcudHh0IiwgLTEsIHBhdDMgJSAodGVzdHByZWZpeCwgIk5vQ29uIiksICIiLAotICAgICAgICAgICAgICAiUHl0aG9uIEZpbGUgKG5vIGNvbnNvbGUpIiwgIlJFR0lTVFJZLmRlZiIpLAotICAgICAgICAgICAgICgicHljLnR4dCIsIC0xLCBwYXQzICUgKHRlc3RwcmVmaXgsICJDb21waWxlZCIpLCAiIiwKLSAgICAgICAgICAgICAgIkNvbXBpbGVkIFB5dGhvbiBGaWxlIiwgIlJFR0lTVFJZLmRlZiIpLAotICAgICAgICAgICAgICMgRHJvcCBIYW5kbGVyCi0gICAgICAgICAgICAgKCJweS5kcm9wIiwgLTEsIHBhdDQgJSAodGVzdHByZWZpeCwgIiIpLCAiIiwKLSAgICAgICAgICAgICAgIns2MDI1NENBNS05NTNCLTExQ0YtOEM5Ni0wMEFBMDBCODcwOEN9IiwgIlJFR0lTVFJZLmRlZiIpLAotICAgICAgICAgICAgICgicHl3LmRyb3AiLCAtMSwgcGF0NCAlICh0ZXN0cHJlZml4LCAiTm9Db24iKSwgIiIsCi0gICAgICAgICAgICAgICJ7NjAyNTRDQTUtOTUzQi0xMUNGLThDOTYtMDBBQTAwQjg3MDhDfSIsICJSRUdJU1RSWS5kZWYiKSwKLSAgICAgICAgICAgICAoInB5Yy5kcm9wIiwgLTEsIHBhdDQgJSAodGVzdHByZWZpeCwgIkNvbXBpbGVkIiksICIiLAotICAgICAgICAgICAgICAiezYwMjU0Q0E1LTk1M0ItMTFDRi04Qzk2LTAwQUEwMEI4NzA4Q30iLCAiUkVHSVNUUlkuZGVmIiksCi0gICAgICAgICAgICBdKQotCi0gICAgIyBQQVRIRVhUCi0gICAgYWRkX2RhdGEoZGIsICJFbnZpcm9ubWVudCIsCi0gICAgICAgICAgICAgWygiUGF0aEV4dEFkZGl0aW9uIiwgIj0tKlBhdGhFeHQiLCAiW35dOy5QWSIsICJSRUdJU1RSWS5kZWYiKV0pCi0KLSAgICAjIFJlZ2lzdHJ5IGtleXMKLSAgICBwcmVmaXggPSByIlNvZnR3YXJlXCVzUHl0aG9uXFB5dGhvbkNvcmVcJXMiICUgKHRlc3RwcmVmaXgsIHNob3J0X3ZlcnNpb24pCi0gICAgYWRkX2RhdGEoZGIsICJSZWdpc3RyeSIsCi0gICAgICAgICAgICAgWygiSW5zdGFsbFBhdGgiLCAtMSwgcHJlZml4K3IiXEluc3RhbGxQYXRoIiwgIiIsICJbVEFSR0VURElSXSIsICJSRUdJU1RSWSIpLAotICAgICAgICAgICAgICAoIkluc3RhbGxHcm91cCIsIC0xLCBwcmVmaXgrciJcSW5zdGFsbFBhdGhcSW5zdGFsbEdyb3VwIiwgIiIsCi0gICAgICAgICAgICAgICAiUHl0aG9uICVzIiAlIHNob3J0X3ZlcnNpb24sICJSRUdJU1RSWSIpLAotICAgICAgICAgICAgICAoIlB5dGhvblBhdGgiLCAtMSwgcHJlZml4K3IiXFB5dGhvblBhdGgiLCAiIiwKLSAgICAgICAgICAgICAgIHIiW1RBUkdFVERJUl1MaWI7W1RBUkdFVERJUl1ETExzIiwgIlJFR0lTVFJZIiksCi0gICAgICAgICAgICAgICgiRG9jdW1lbnRhdGlvbiIsIC0xLCBwcmVmaXgrciJcSGVscFxNYWluIFB5dGhvbiBEb2N1bWVudGF0aW9uIiwgIiIsCi0gICAgICAgICAgICAgICAiW1RBUkdFVERJUl1Eb2NcXCIrZG9jZmlsZSAsICJSRUdJU1RSWS5kb2MiKSwKLSAgICAgICAgICAgICAgKCJNb2R1bGVzIiwgLTEsIHByZWZpeCtyIlxNb2R1bGVzIiwgIisiLCBOb25lLCAiUkVHSVNUUlkiKSwKLSAgICAgICAgICAgICAgKCJBcHBQYXRocyIsIC0xLCByIlNvZnR3YXJlXE1pY3Jvc29mdFxXaW5kb3dzXEN1cnJlbnRWZXJzaW9uXEFwcCBQYXRoc1xQeXRob24uZXhlIiwKLSAgICAgICAgICAgICAgICIiLCByIltUQVJHRVRESVJdUHl0aG9uLmV4ZSIsICJSRUdJU1RSWS5kZWYiKSwKLSAgICAgICAgICAgICAgKCJEaXNwbGF5SWNvbiIsIC0xLAotICAgICAgICAgICAgICAgciJTb2Z0d2FyZVxNaWNyb3NvZnRcV2luZG93c1xDdXJyZW50VmVyc2lvblxVbmluc3RhbGxcJXMiICUgcHJvZHVjdF9jb2RlLAotICAgICAgICAgICAgICAgIkRpc3BsYXlJY29uIiwgIltUQVJHRVRESVJdcHl0aG9uLmV4ZSIsICJSRUdJU1RSWSIpLAotICAgICAgICAgICAgICAjIEZha2UgcmVnaXN0cnkgZW50cnkgdG8gYWxsb3cgaW5zdGFsbGVyIHRvIHRyYWNrIHdoZXRoZXIgZW5zdXJlcGlwIGhhcyBiZWVuIHJ1bgotICAgICAgICAgICAgICAoIkVuc3VyZVBpcFJ1biIsIC0xLCBwcmVmaXgrciJcRW5zdXJlUGlwUnVuIiwgIiIsICIjMSIsICJSRUdJU1RSWS5lbnN1cmVwaXAiKSwKLSAgICAgICAgICAgICAgXSkKLSAgICAjIFNob3J0Y3V0cywgc2VlICJTaG9ydGN1dCBUYWJsZSIKLSAgICBhZGRfZGF0YShkYiwgIkRpcmVjdG9yeSIsCi0gICAgICAgICAgICAgWygiUHJvZ3JhbU1lbnVGb2xkZXIiLCAiVEFSR0VURElSIiwgIi4iKSwKLSAgICAgICAgICAgICAgKCJNZW51RGlyIiwgIlByb2dyYW1NZW51Rm9sZGVyIiwgIlBZJXMlc3wlc1B5dGhvbiAlcy4lcyIgJSAobWFqb3IsbWlub3IsdGVzdHByZWZpeCxtYWpvcixtaW5vcikpXSkKLSAgICBhZGRfZGF0YShkYiwgIlJlbW92ZUZpbGUiLAotICAgICAgICAgICAgIFsoIk1lbnVEaXIiLCAiVEFSR0VURElSIiwgTm9uZSwgIk1lbnVEaXIiLCAyKV0pCi0gICAgdGNsdGtzaG9ydGN1dHMgPSBbXQotICAgIGlmIG1zaWxpYi5XaW42NDoKLSAgICAgICAgYml0dGVkID0gIjY0IGJpdCIKLSAgICBlbHNlOgotICAgICAgICBiaXR0ZWQgPSAiMzIgYml0IgotICAgIGlmIGhhdmVfdGNsOgotICAgICAgICB0Y2x0a3Nob3J0Y3V0cyA9IFsKLSAgICAgICAgICAgICAgKCJJRExFIiwgIk1lbnVEaXIiLAotICAgICAgICAgICAgICAgIklETEV8SURMRSAoUHl0aG9uICIrc2hvcnRfdmVyc2lvbisiIEdVSSAtICIrYml0dGVkKyIpIiwKLSAgICAgICAgICAgICAgICJweXRob253LmV4ZSIsIHRjbHRrLmlkLCByJyJbVEFSR0VURElSXUxpYlxpZGxlbGliXGlkbGUucHl3IicsCi0gICAgICAgICAgICAgICBOb25lLCBOb25lLCAicHl0aG9uX2ljb24uZXhlIiwgMCwgTm9uZSwgIlRBUkdFVERJUiIpLAotICAgICAgICAgICAgICBdCi0gICAgYWRkX2RhdGEoZGIsICJTaG9ydGN1dCIsCi0gICAgICAgICAgICAgdGNsdGtzaG9ydGN1dHMgKwotICAgICAgICAgICAgIFsjIEFkdmVydGlzZWQgc2hvcnRjdXRzOiB0YXJnZXRzIGFyZSBmZWF0dXJlcywgbm90IGZpbGVzCi0gICAgICAgICAgICAgICgiUHl0aG9uIiwgIk1lbnVEaXIiLAotICAgICAgICAgICAgICAgIlBZVEhPTnxQeXRob24gIitzaG9ydF92ZXJzaW9uKyIgKGNvbW1hbmQgbGluZSAtICIrYml0dGVkKyIpIiwKLSAgICAgICAgICAgICAgICJweXRob24uZXhlIiwgZGVmYXVsdF9mZWF0dXJlLmlkLCBOb25lLCBOb25lLCBOb25lLAotICAgICAgICAgICAgICAgInB5dGhvbl9pY29uLmV4ZSIsIDIsIE5vbmUsICJUQVJHRVRESVIiKSwKLSAgICAgICAgICAgICAgIyBBZHZlcnRpc2luZyB0aGUgTWFudWFsIGJyZWFrcyBvbiAoc29tZT8pIFdpbjk4LCBhbmQgdGhlIHNob3J0Y3V0IGxhY2tzIGFuCi0gICAgICAgICAgICAgICMgaWNvbiBmaXJzdC4KLSAgICAgICAgICAgICAgIygiTWFudWFsIiwgIk1lbnVEaXIiLCAiTUFOVUFMfFB5dGhvbiBNYW51YWxzIiwgImRvY3VtZW50YXRpb24iLAotICAgICAgICAgICAgICAjIGh0bWxmaWxlcy5pZCwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSksCi0gICAgICAgICAgICAgICMjIE5vbi1hZHZlcnRpc2VkIHNob3J0Y3V0czogbXVzdCBiZSBhc3NvY2lhdGVkIHdpdGggYSByZWdpc3RyeSBjb21wb25lbnQKLSAgICAgICAgICAgICAgKCJNYW51YWwiLCAiTWVudURpciIsICJNQU5VQUx8UHl0aG9uICIrc2hvcnRfdmVyc2lvbisiIE1hbnVhbHMiLAotICAgICAgICAgICAgICAgIlJFR0lTVFJZLmRvYyIsICJbIyVzXSIgJSBkb2NmaWxlLAotICAgICAgICAgICAgICAgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSksCi0gICAgICAgICAgICAgICgiUHlEb2MiLCAiTWVudURpciIsCi0gICAgICAgICAgICAgICAiTU9ERE9DU3xQeXRob24gIitzaG9ydF92ZXJzaW9uKyIgRG9jcyBTZXJ2ZXIgKHB5ZG9jIC0gIisKLSAgICAgICAgICAgICAgIGJpdHRlZCsiKSIsICJweXRob24uZXhlIiwgZGVmYXVsdF9mZWF0dXJlLmlkLCByJy1tIHB5ZG9jIC1iJywKLSAgICAgICAgICAgICAgIE5vbmUsIE5vbmUsICJweXRob25faWNvbi5leGUiLCAwLCBOb25lLCAiVEFSR0VURElSIiksCi0gICAgICAgICAgICAgICgiVW5pbnN0YWxsIiwgIk1lbnVEaXIiLCAiVU5JTlNUfFVuaW5zdGFsbCBQeXRob24gIisKLSAgICAgICAgICAgICAgIHNob3J0X3ZlcnNpb24rIiAoIitiaXR0ZWQrIikiLCAiUkVHSVNUUlkiLAotICAgICAgICAgICAgICAgU3lzdGVtRm9sZGVyTmFtZSsibXNpZXhlYyIsICAiL3glcyIgJSBwcm9kdWN0X2NvZGUsCi0gICAgICAgICAgICAgICBOb25lLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCBOb25lKSwKLSAgICAgICAgICAgICAgXSkKLSAgICBkYi5Db21taXQoKQotCi1kZWYgYnVpbGRfcGRiemlwKCk6Ci0gICAgcGRiZXhjbHVkZSA9IFsna2lsbF9weXRob24ucGRiJywgJ21ha2VfYnVpbGRpbmZvLnBkYicsCi0gICAgICAgICAgICAgICAgICAnbWFrZV92ZXJzaW9uaW5mby5wZGInXQotICAgIHBhdGggPSAicHl0aG9uLSVzJXMtcGRiLnppcCIgJSAoZnVsbF9jdXJyZW50X3ZlcnNpb24sIG1zaWxpYi5hcmNoX2V4dCkKLSAgICBwZGJ6aXAgPSB6aXBmaWxlLlppcEZpbGUocGF0aCwgJ3cnKQotICAgIGZvciBmIGluIGdsb2IuZ2xvYjEob3MucGF0aC5qb2luKHNyY2RpciwgUENCVUlMRCksICIqLnBkYiIpOgotICAgICAgICBpZiBmIG5vdCBpbiBwZGJleGNsdWRlIGFuZCBub3QgZi5lbmRzd2l0aCgnX2QucGRiJyk6Ci0gICAgICAgICAgICBwZGJ6aXAud3JpdGUob3MucGF0aC5qb2luKHNyY2RpciwgUENCVUlMRCwgZiksIGYpCi0gICAgcGRiemlwLmNsb3NlKCkKLQotZGIsbXNpbmFtZSA9IGJ1aWxkX2RhdGFiYXNlKCkKLXRyeToKLSAgICBhZGRfZmVhdHVyZXMoZGIpCi0gICAgYWRkX3VpKGRiKQotICAgIGFkZF9maWxlcyhkYikKLSAgICBhZGRfcmVnaXN0cnkoZGIpCi0gICAgcmVtb3ZlX29sZF92ZXJzaW9ucyhkYikKLSAgICBkYi5Db21taXQoKQotZmluYWxseToKLSAgICBkZWwgZGIKLQotIyBNZXJnZSBDUlQgaW50byBNU0kgZmlsZS4gVGhpcyByZXF1aXJlcyB0aGUgZGF0YWJhc2UgdG8gYmUgY2xvc2VkLgotbW9kX2RpciA9IG9zLnBhdGguam9pbihvcy5lbnZpcm9uWyJQcm9ncmFtRmlsZXMiXSwgIkNvbW1vbiBGaWxlcyIsICJNZXJnZSBNb2R1bGVzIikKLWlmIG1zaWxpYi5XaW42NDoKLSAgICBtb2R1bGVzID0gWyJNaWNyb3NvZnRfVkMxMDBfQ1JUX3g2NC5tc20iXQotZWxzZToKLSAgICBtb2R1bGVzID0gWyJNaWNyb3NvZnRfVkMxMDBfQ1JUX3g4Ni5tc20iXQotCi1mb3IgaSwgbiBpbiBlbnVtZXJhdGUobW9kdWxlcyk6Ci0gICAgbW9kdWxlc1tpXSA9IG9zLnBhdGguam9pbihtb2RfZGlyLCBuKQotCi1kZWYgbWVyZ2UobXNpLCBmZWF0dXJlLCByb290ZGlyLCBtb2R1bGVzKToKLSAgICBjYWJfYW5kX2ZpbGVjb3VudCA9IFtdCi0gICAgIyBTdGVwIDE6IE1lcmdlIGRhdGFiYXNlcywgZXh0cmFjdCBjYWJmaWxlcwotICAgIG0gPSBtc2lsaWIuTWFrZU1lcmdlMigpCi0gICAgbS5PcGVuTG9nKCJtZXJnZS5sb2ciKQotICAgIG0uT3BlbkRhdGFiYXNlKG1zaSkKLSAgICBmb3IgbW9kdWxlIGluIG1vZHVsZXM6Ci0gICAgICAgIHByaW50IG1vZHVsZQotICAgICAgICBtLk9wZW5Nb2R1bGUobW9kdWxlLDApCi0gICAgICAgIG0uTWVyZ2UoZmVhdHVyZSwgcm9vdGRpcikKLSAgICAgICAgcHJpbnQgIkVycm9yczoiCi0gICAgICAgIGZvciBlIGluIG0uRXJyb3JzOgotICAgICAgICAgICAgcHJpbnQgZS5UeXBlLCBlLk1vZHVsZVRhYmxlLCBlLkRhdGFiYXNlVGFibGUKLSAgICAgICAgICAgIHByaW50ICIgICBNb2RrZXlzOiIsCi0gICAgICAgICAgICBmb3IgcyBpbiBlLk1vZHVsZUtleXM6IHByaW50IHMsCi0gICAgICAgICAgICBwcmludAotICAgICAgICAgICAgcHJpbnQgIiAgIERCS2V5czoiLAotICAgICAgICAgICAgZm9yIHMgaW4gZS5EYXRhYmFzZUtleXM6IHByaW50IHMsCi0gICAgICAgICAgICBwcmludAotICAgICAgICBjYWJuYW1lID0gdGVtcGZpbGUubWt0ZW1wKHN1ZmZpeD0iLmNhYiIpCi0gICAgICAgIG0uRXh0cmFjdENBQihjYWJuYW1lKQotICAgICAgICBjYWJfYW5kX2ZpbGVjb3VudC5hcHBlbmQoKGNhYm5hbWUsIGxlbihtLk1vZHVsZUZpbGVzKSkpCi0gICAgICAgIG0uQ2xvc2VNb2R1bGUoKQotICAgIG0uQ2xvc2VEYXRhYmFzZShUcnVlKQotICAgIG0uQ2xvc2VMb2coKQotCi0gICAgIyBTdGVwIDI6IEFkZCBDQUIgZmlsZXMKLSAgICBpID0gbXNpbGliLk1ha2VJbnN0YWxsZXIoKQotICAgIGRiID0gaS5PcGVuRGF0YWJhc2UobXNpLCBjb25zdGFudHMubXNpT3BlbkRhdGFiYXNlTW9kZVRyYW5zYWN0KQotCi0gICAgdiA9IGRiLk9wZW5WaWV3KCJTRUxFQ1QgTGFzdFNlcXVlbmNlIEZST00gTWVkaWEiKQotICAgIHYuRXhlY3V0ZShOb25lKQotICAgIG1heG1lZGlhID0gLTEKLSAgICB3aGlsZSAxOgotICAgICAgICByID0gdi5GZXRjaCgpCi0gICAgICAgIGlmIG5vdCByOiBicmVhawotICAgICAgICBzZXEgPSByLkludGVnZXJEYXRhKDEpCi0gICAgICAgIGlmIHNlcSA+IG1heG1lZGlhOgotICAgICAgICAgICAgbWF4bWVkaWEgPSBzZXEKLSAgICBwcmludCAiU3RhcnQgb2YgTWVkaWEiLCBtYXhtZWRpYQotCi0gICAgZm9yIGNhYm5hbWUsIGNvdW50IGluIGNhYl9hbmRfZmlsZWNvdW50OgotICAgICAgICBzdHJlYW0gPSAibWVyZ2VkJWQiICUgbWF4bWVkaWEKLSAgICAgICAgbXNpbGliLmFkZF9kYXRhKGRiLCAiTWVkaWEiLAotICAgICAgICAgICAgICAgIFsobWF4bWVkaWErMSwgbWF4bWVkaWErY291bnQsIE5vbmUsICIjIitzdHJlYW0sIE5vbmUsIE5vbmUpXSkKLSAgICAgICAgbXNpbGliLmFkZF9zdHJlYW0oZGIsIHN0cmVhbSwgIGNhYm5hbWUpCi0gICAgICAgIG9zLnVubGluayhjYWJuYW1lKQotICAgICAgICBtYXhtZWRpYSArPSBjb3VudAotICAgICMgVGhlIG1lcmdlIG1vZHVsZSBzZXRzIEFMTFVTRVJTIHRvIDEgaW4gdGhlIHByb3BlcnR5IHRhYmxlLgotICAgICMgVGhpcyBpcyB1bmRlc2lyZWQ7IGRlbGV0ZSB0aGF0Ci0gICAgdiA9IGRiLk9wZW5WaWV3KCJERUxFVEUgRlJPTSBQcm9wZXJ0eSBXSEVSRSBQcm9wZXJ0eT0nQUxMVVNFUlMnIikKLSAgICB2LkV4ZWN1dGUoTm9uZSkKLSAgICB2LkNsb3NlKCkKLSAgICBkYi5Db21taXQoKQotCi1tZXJnZShtc2luYW1lLCAiU2hhcmVkQ1JUIiwgIlRBUkdFVERJUiIsIG1vZHVsZXMpCi0KLSMgY2VydG5hbWUgKGZyb20gY29uZmlnLnB5KSBzaG91bGQgYmUgKGEgc3Vic3RyaW5nIG9mKQotIyB0aGUgY2VydGlmaWNhdGUgc3ViamVjdCwgZS5nLiAiUHl0aG9uIFNvZnR3YXJlIEZvdW5kYXRpb24iCi1pZiBjZXJ0bmFtZToKLSAgICBvcy5zeXN0ZW0oJ3NpZ250b29sIHNpZ24gL24gIiVzIiAnCi0gICAgICAnL3QgaHR0cDovL3RpbWVzdGFtcC52ZXJpc2lnbi5jb20vc2NyaXB0cy90aW1lc3RhbXAuZGxsICcKLSAgICAgICcvZCAiUHl0aG9uICVzIiAnCi0gICAgICAnJXMnICUgKGNlcnRuYW1lLCBmdWxsX2N1cnJlbnRfdmVyc2lvbiwgbXNpbmFtZSkpCi0KLWlmIHBkYnppcDoKLSAgICBidWlsZF9wZGJ6aXAoKQpkaWZmIC0tZ2l0IGEvVG9vbHMvbXNpL21zaS50YXJnZXRzIGIvVG9vbHMvbXNpL21zaS50YXJnZXRzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI1MDdkYzMKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9tc2kvbXNpLnRhcmdldHMKQEAgLTAsMCArMSw2MiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KKzxQcm9qZWN0IFRvb2xzVmVyc2lvbj0iNC4wIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4KKworICAgIDxUYXJnZXQgTmFtZT0iUHJvY2Vzc0luc3RhbGxGaWxlcyIgQWZ0ZXJUYXJnZXRzPSJQcmVwYXJlRm9yQnVpbGQiIENvbmRpdGlvbj0iQChJbnN0YWxsRmlsZXMpICE9ICcnIj4KKyAgICAgICAgPFByb3BlcnR5R3JvdXA+CisgICAgICAgICAgICA8X0ZpbGVMaXN0VGFyZ2V0PiQoSW50ZXJtZWRpYXRlT3V0cHV0UGF0aCkkKE1TQnVpbGRQcm9qZWN0TmFtZSkuZy5jc3Y8L19GaWxlTGlzdFRhcmdldD4KKyAgICAgICAgICAgIDxfSW5zdGFsbEZpbGVzVGFyZ2V0PiQoSW50ZXJtZWRpYXRlT3V0cHV0UGF0aCkkKE1TQnVpbGRQcm9qZWN0TmFtZSkuZy53eHM8L19JbnN0YWxsRmlsZXNUYXJnZXQ+CisgICAgICAgIDwvUHJvcGVydHlHcm91cD4KKyAgICAgICAgCisgICAgICAgIDxJdGVtR3JvdXA+CisgICAgICAgICAgICA8SW5zdGFsbEZpbGVzPgorICAgICAgICAgICAgICAgIDxfU291cmNlPiUoU291cmNlKSQoW21zYnVpbGRdOjpNYWtlUmVsYXRpdmUoJShTb3VyY2VCYXNlKSwgJShGdWxsUGF0aCkpKTwvX1NvdXJjZT4KKyAgICAgICAgICAgICAgICA8X1RhcmdldD4lKFRhcmdldF8pJChbbXNidWlsZF06Ok1ha2VSZWxhdGl2ZSglKFRhcmdldEJhc2UpLCAlKEZ1bGxQYXRoKSkpPC9fVGFyZ2V0PgorICAgICAgICAgICAgPC9JbnN0YWxsRmlsZXM+CisgICAgICAgIDwvSXRlbUdyb3VwPgorICAgICAgICAKKyAgICAgICAgPFdyaXRlTGluZXNUb0ZpbGUgRmlsZT0iJChfRmlsZUxpc3RUYXJnZXQpIiBMaW5lcz0iQChJbnN0YWxsRmlsZXMtPicmcXVvdDslKF9Tb3VyY2UpJnF1b3Q7LCZxdW90OyUoX1RhcmdldCkmcXVvdDssJnF1b3Q7JShHcm91cCkmcXVvdDssJnF1b3Q7JShEaXNrSWQpJnF1b3Q7LCZxdW90OyUoQ29uZGl0aW9uKSZxdW90OycpIiBPdmVyd3JpdGU9InRydWUiIC8+CisgICAgICAgIDxFeGVjIENvbW1hbmQ9JyIkKFB5dGhvbkV4ZSkiIGNzdl90b193eHMucHkgIiQoX0ZpbGVMaXN0VGFyZ2V0KSIgIiQoX0luc3RhbGxGaWxlc1RhcmdldCkiJworICAgICAgICAgICAgICBXb3JraW5nRGlyZWN0b3J5PSIkKE1TQnVpbGRUaGlzRmlsZURpcmVjdG9yeSkiIC8+CisKKyAgICAgICAgPEl0ZW1Hcm91cD4KKyAgICAgICAgICAgIDxGaWxlV3JpdGVzIEluY2x1ZGU9IiQoX0ZpbGVMaXN0VGFyZ2V0KTskKF9JbnN0YWxsRmlsZXNUYXJnZXQpIiAvPgorICAgICAgICAgICAgPENvbXBpbGUgSW5jbHVkZT0iJChfSW5zdGFsbEZpbGVzVGFyZ2V0KSIgLz4KKyAgICAgICAgPC9JdGVtR3JvdXA+CisgICAgPC9UYXJnZXQ+CisKKyAgICA8VGFyZ2V0IE5hbWU9Il9UcmFuc2Zvcm1XeGxUZW1wbGF0ZXMiIEFmdGVyVGFyZ2V0cz0iUHJlcGFyZUZvckJ1aWxkIiBJbnB1dHM9IkAoV3hsVGVtcGxhdGUpIiBPdXRwdXRzPSIkKEludGVybWVkaWF0ZU91dHB1dFBhdGgpJShGaWxlbmFtZSkud3hsIj4KKyAgICAgICAgPFByb3BlcnR5R3JvdXA+CisgICAgICAgICAgICA8X0NvbnRlbnQ+JChbU3lzdGVtLklPLkZpbGVdOjpSZWFkQWxsVGV4dCglKFd4bFRlbXBsYXRlLkZ1bGxQYXRoKSkuUmVwbGFjZShge3tTaG9ydFZlcnNpb259fWAsIGAkKE1ham9yVmVyc2lvbk51bWJlcikuJChNaW5vclZlcnNpb25OdW1iZXIpYCkuUmVwbGFjZShge3tMb25nVmVyc2lvbn19YCwgYCQoUHl0aG9uVmVyc2lvbilgKS5SZXBsYWNlKGB7e0JpdG5lc3N9fWAsIGAkKEJpdG5lc3MpYCkpPC9fQ29udGVudD4KKyAgICAgICAgICAgIDxfRXhpc3RpbmdDb250ZW50IENvbmRpdGlvbj0iRXhpc3RzKCckKEludGVybWVkaWF0ZU91dHB1dFBhdGgpJShXeGxUZW1wbGF0ZS5GaWxlbmFtZSkud3hsJykiPiQoW1N5c3RlbS5JTy5GaWxlXTo6UmVhZEFsbFRleHQoJChJbnRlcm1lZGlhdGVPdXRwdXRQYXRoKSUoV3hsVGVtcGxhdGUuRmlsZW5hbWUpLnd4bCkpPC9fRXhpc3RpbmdDb250ZW50PgorICAgICAgICA8L1Byb3BlcnR5R3JvdXA+CisgICAgICAgIAorICAgICAgICA8V3JpdGVMaW5lc1RvRmlsZSBGaWxlPSIkKEludGVybWVkaWF0ZU91dHB1dFBhdGgpJShXeGxUZW1wbGF0ZS5GaWxlbmFtZSkud3hsIgorICAgICAgICAgICAgICAgICAgICAgICAgICBMaW5lcz0iJChfQ29udGVudCkiCisgICAgICAgICAgICAgICAgICAgICAgICAgIE92ZXJ3cml0ZT0idHJ1ZSIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgQ29uZGl0aW9uPSIkKF9Db250ZW50KSAhPSAkKF9FeGlzdGluZ0NvbnRlbnQpIiAvPgorICAgICAgICAKKyAgICAgICAgPEl0ZW1Hcm91cD4KKyAgICAgICAgICAgIDxFbWJlZGRlZFJlc291cmNlIEluY2x1ZGU9IiQoSW50ZXJtZWRpYXRlT3V0cHV0UGF0aCklKFd4bFRlbXBsYXRlLkZpbGVuYW1lKS53eGwiIC8+CisgICAgICAgICAgICA8RmlsZVdyaXRlcyBJbmNsdWRlPSIkKEludGVybWVkaWF0ZU91dHB1dFBhdGgpJShXeGxUZW1wbGF0ZS5GaWxlbmFtZSkud3hsIiAvPgorICAgICAgICA8L0l0ZW1Hcm91cD4KKyAgICA8L1RhcmdldD4KKworICAgIDxJbXBvcnQgUHJvamVjdD0iJChXaXhUYXJnZXRzUGF0aCkiIC8+CisKKyAgICA8VGFyZ2V0IE5hbWU9IlNpZ25DYWJzIj4KKyAgICAgICAgPEVycm9yIFRleHQ9IlVuYWJsZSB0byBsb2NhdGUgc2lnbnRvb2wuZXhlLiBTZXQgL3A6U2lnblRvb2xQYXRoIGFuZCByZWJ1aWxkIiBDb25kaXRpb249IickKF9TaWduQ29tbWFuZCknID09ICcnIiAvPgorICAgICAgICA8RXhlYyBDb21tYW5kPSIkKF9TaWduQ29tbWFuZCkgQChTaWduQ2Ficy0+JyZxdW90OyUoRnVsbFBhdGgpJnF1b3Q7JywnICcpIiBDb250aW51ZU9uRXJyb3I9ImZhbHNlIiAvPgorICAgIDwvVGFyZ2V0PgorICAgIDxUYXJnZXQgTmFtZT0iU2lnbk1zaSI+CisgICAgICAgIDxFcnJvciBUZXh0PSJVbmFibGUgdG8gbG9jYXRlIHNpZ250b29sLmV4ZS4gU2V0IC9wOlNpZ25Ub29sUGF0aCBhbmQgcmVidWlsZCIgQ29uZGl0aW9uPSInJChfU2lnbkNvbW1hbmQpJyA9PSAnJyIgLz4KKyAgICAgICAgPEV4ZWMgQ29tbWFuZD0iJChfU2lnbkNvbW1hbmQpIEAoU2lnbk1zaS0+JyZxdW90OyUoRnVsbFBhdGgpJnF1b3Q7JywnICcpIiBDb250aW51ZU9uRXJyb3I9ImZhbHNlIiAvPgorICAgIDwvVGFyZ2V0PgorICAgIDxUYXJnZXQgTmFtZT0iU2lnbkJ1bmRsZUVuZ2luZSI+CisgICAgICAgIDxFcnJvciBUZXh0PSJVbmFibGUgdG8gbG9jYXRlIHNpZ250b29sLmV4ZS4gU2V0IC9wOlNpZ25Ub29sUGF0aCBhbmQgcmVidWlsZCIgQ29uZGl0aW9uPSInJChfU2lnbkNvbW1hbmQpJyA9PSAnJyIgLz4KKyAgICAgICAgPEV4ZWMgQ29tbWFuZD0iJChfU2lnbkNvbW1hbmQpIEAoU2lnbkJ1bmRsZUVuZ2luZS0+JyZxdW90OyUoRnVsbFBhdGgpJnF1b3Q7JywnICcpIiBDb250aW51ZU9uRXJyb3I9ImZhbHNlIiAvPgorICAgIDwvVGFyZ2V0PgorICAgIDxUYXJnZXQgTmFtZT0iU2lnbkJ1bmRsZSI+CisgICAgICAgIDxFcnJvciBUZXh0PSJVbmFibGUgdG8gbG9jYXRlIHNpZ250b29sLmV4ZS4gU2V0IC9wOlNpZ25Ub29sUGF0aCBhbmQgcmVidWlsZCIgQ29uZGl0aW9uPSInJChfU2lnbkNvbW1hbmQpJyA9PSAnJyIgLz4KKyAgICAgICAgPEV4ZWMgQ29tbWFuZD0iJChfU2lnbkNvbW1hbmQpIEAoU2lnbkJ1bmRsZS0+JyZxdW90OyUoRnVsbFBhdGgpJnF1b3Q7JywnICcpIiBDb250aW51ZU9uRXJyb3I9ImZhbHNlIiAvPgorICAgIDwvVGFyZ2V0PgorPC9Qcm9qZWN0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL1Rvb2xzL21zaS9tc2lsaWIucHkgYi9Ub29scy9tc2kvbXNpbGliLnB5CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjMjA4YjkxLi4wMDAwMDAwCi0tLSBhL1Rvb2xzL21zaS9tc2lsaWIucHkKKysrIC9kZXYvbnVsbApAQCAtMSw2NzkgKzAsMCBAQAotIyBNaWNyb3NvZnQgSW5zdGFsbGVyIExpYnJhcnkKLSMgKEMpIDIwMDMgTWFydGluIHYuIExvZXdpcwotCi1pbXBvcnQgd2luMzJjb20uY2xpZW50LmdlbmNhY2hlCi1pbXBvcnQgd2luMzJjb20uY2xpZW50Ci1pbXBvcnQgcHl0aG9uY29tLCBweXdpbnR5cGVzCi1mcm9tIHdpbjMyY29tLmNsaWVudCBpbXBvcnQgY29uc3RhbnRzCi1pbXBvcnQgcmUsIHN0cmluZywgb3MsIHNldHMsIGdsb2IsIHN1YnByb2Nlc3MsIHN5cywgX3dpbnJlZywgc3RydWN0LCBfbXNpCi0KLXRyeToKLSAgICBiYXNlc3RyaW5nCi1leGNlcHQgTmFtZUVycm9yOgotICAgIGJhc2VzdHJpbmcgPSAoc3RyLCB1bmljb2RlKQotCi0jIFBhcnRpYWxseSB0YWtlbiBmcm9tIFdpbmUKLWRhdGFzaXplbWFzaz0gICAgICAweDAwZmYKLXR5cGVfdmFsaWQ9ICAgICAgICAweDAxMDAKLXR5cGVfbG9jYWxpemFibGU9ICAweDAyMDAKLQotdHlwZW1hc2s9ICAgICAgICAgIDB4MGMwMAotdHlwZV9sb25nPSAgICAgICAgIDB4MDAwMAotdHlwZV9zaG9ydD0gICAgICAgIDB4MDQwMAotdHlwZV9zdHJpbmc9ICAgICAgIDB4MGMwMAotdHlwZV9iaW5hcnk9ICAgICAgIDB4MDgwMAotCi10eXBlX251bGxhYmxlPSAgICAgMHgxMDAwCi10eXBlX2tleT0gICAgICAgICAgMHgyMDAwCi0jIFhYWCB0ZW1wb3JhcnksIGxvY2FsaXphYmxlPwota25vd25iaXRzID0gZGF0YXNpemVtYXNrIHwgdHlwZV92YWxpZCB8IHR5cGVfbG9jYWxpemFibGUgfCBcCi0gICAgICAgICAgICB0eXBlbWFzayB8IHR5cGVfbnVsbGFibGUgfCB0eXBlX2tleQotCi0jIFN1bW1hcnkgSW5mbyBQcm9wZXJ0eSBJRHMKLVBJRF9DT0RFUEFHRT0xCi1QSURfVElUTEU9MgotUElEX1NVQkpFQ1Q9MwotUElEX0FVVEhPUj00Ci1QSURfS0VZV09SRFM9NQotUElEX0NPTU1FTlRTPTYKLVBJRF9URU1QTEFURT03Ci1QSURfTEFTVEFVVEhPUj04Ci1QSURfUkVWTlVNQkVSPTkKLVBJRF9MQVNUUFJJTlRFRD0xMQotUElEX0NSRUFURV9EVE09MTIKLVBJRF9MQVNUU0FWRV9EVE09MTMKLVBJRF9QQUdFQ09VTlQ9MTQKLVBJRF9XT1JEQ09VTlQ9MTUKLVBJRF9DSEFSQ09VTlQ9MTYKLVBJRF9BUFBOQU1FPTE4Ci1QSURfU0VDVVJJVFk9MTkKLQotZGVmIHJlc2V0KCk6Ci0gICAgZ2xvYmFsIF9kaXJlY3RvcmllcwotICAgIF9kaXJlY3RvcmllcyA9IHNldHMuU2V0KCkKLQotZGVmIEVuc3VyZU1TSSgpOgotICAgIHdpbjMyY29tLmNsaWVudC5nZW5jYWNoZS5FbnN1cmVNb2R1bGUoJ3swMDBDMTA5Mi0wMDAwLTAwMDAtQzAwMC0wMDAwMDAwMDAwNDZ9JywgMTAzMywgMSwgMCkKLQotZGVmIEVuc3VyZU1TTSgpOgotICAgIHRyeToKLSAgICAgICAgd2luMzJjb20uY2xpZW50LmdlbmNhY2hlLkVuc3VyZU1vZHVsZSgnezBBRERBODJGLTJDMjYtMTFEMi1BRDY1LTAwQTBDOUFGMTFBNn0nLCAwLCAxLCAwKQotICAgIGV4Y2VwdCBweXdpbnR5cGVzLmNvbV9lcnJvcjoKLSAgICAgICAgd2luMzJjb20uY2xpZW50LmdlbmNhY2hlLkVuc3VyZU1vZHVsZSgnezBBRERBODJGLTJDMjYtMTFEMi1BRDY1LTAwQTBDOUFGMTFBNn0nLCAwLCAyLCAwKQotCi1fSW5zdGFsbGVyPU5vbmUKLWRlZiBNYWtlSW5zdGFsbGVyKCk6Ci0gICAgZ2xvYmFsIF9JbnN0YWxsZXIKLSAgICBpZiBfSW5zdGFsbGVyIGlzIE5vbmU6Ci0gICAgICAgIEVuc3VyZU1TSSgpCi0gICAgICAgIF9JbnN0YWxsZXIgPSB3aW4zMmNvbS5jbGllbnQuRGlzcGF0Y2goJ1dpbmRvd3NJbnN0YWxsZXIuSW5zdGFsbGVyJywKLSAgICAgICAgICAgICAgICAgICAgIHJlc3VsdENMU0lEPSd7MDAwQzEwOTAtMDAwMC0wMDAwLUMwMDAtMDAwMDAwMDAwMDQ2fScpCi0gICAgcmV0dXJuIF9JbnN0YWxsZXIKLQotX01lcmdlPU5vbmUKLWRlZiBNYWtlTWVyZ2UyKCk6Ci0gICAgZ2xvYmFsIF9NZXJnZQotICAgIGlmIF9NZXJnZSBpcyBOb25lOgotICAgICAgICBFbnN1cmVNU00oKQotICAgICAgICBfTWVyZ2UgPSB3aW4zMmNvbS5jbGllbnQuRGlzcGF0Y2goIk1zbS5NZXJnZTIuMSIpCi0gICAgcmV0dXJuIF9NZXJnZQotCi1jbGFzcyBUYWJsZToKLSAgICBkZWYgX19pbml0X18oc2VsZiwgbmFtZSk6Ci0gICAgICAgIHNlbGYubmFtZSA9IG5hbWUKLSAgICAgICAgc2VsZi5maWVsZHMgPSBbXQotCi0gICAgZGVmIGFkZF9maWVsZChzZWxmLCBpbmRleCwgbmFtZSwgdHlwZSk6Ci0gICAgICAgIHNlbGYuZmllbGRzLmFwcGVuZCgoaW5kZXgsbmFtZSx0eXBlKSkKLQotICAgIGRlZiBzcWwoc2VsZik6Ci0gICAgICAgIGZpZWxkcyA9IFtdCi0gICAgICAgIGtleXMgPSBbXQotICAgICAgICBzZWxmLmZpZWxkcy5zb3J0KCkKLSAgICAgICAgZmllbGRzID0gW05vbmVdKmxlbihzZWxmLmZpZWxkcykKLSAgICAgICAgZm9yIGluZGV4LCBuYW1lLCB0eXBlIGluIHNlbGYuZmllbGRzOgotICAgICAgICAgICAgaW5kZXggLT0gMQotICAgICAgICAgICAgdW5rID0gdHlwZSAmIH5rbm93bmJpdHMKLSAgICAgICAgICAgIGlmIHVuazoKLSAgICAgICAgICAgICAgICBwcmludCAiJXMuJXMgdW5rbm93biBiaXRzICV4IiAlIChzZWxmLm5hbWUsIG5hbWUsIHVuaykKLSAgICAgICAgICAgIHNpemUgPSB0eXBlICYgZGF0YXNpemVtYXNrCi0gICAgICAgICAgICBkdHlwZSA9IHR5cGUgJiB0eXBlbWFzawotICAgICAgICAgICAgaWYgZHR5cGUgPT0gdHlwZV9zdHJpbmc6Ci0gICAgICAgICAgICAgICAgaWYgc2l6ZToKLSAgICAgICAgICAgICAgICAgICAgdG5hbWU9IkNIQVIoJWQpIiAlIHNpemUKLSAgICAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgICAgICB0bmFtZT0iQ0hBUiIKLSAgICAgICAgICAgIGVsaWYgZHR5cGUgPT0gdHlwZV9zaG9ydDoKLSAgICAgICAgICAgICAgICBhc3NlcnQgc2l6ZT09MgotICAgICAgICAgICAgICAgIHRuYW1lID0gIlNIT1JUIgotICAgICAgICAgICAgZWxpZiBkdHlwZSA9PSB0eXBlX2xvbmc6Ci0gICAgICAgICAgICAgICAgYXNzZXJ0IHNpemU9PTQKLSAgICAgICAgICAgICAgICB0bmFtZT0iTE9ORyIKLSAgICAgICAgICAgIGVsaWYgZHR5cGUgPT0gdHlwZV9iaW5hcnk6Ci0gICAgICAgICAgICAgICAgYXNzZXJ0IHNpemU9PTAKLSAgICAgICAgICAgICAgICB0bmFtZT0iT0JKRUNUIgotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICB0bmFtZT0idW5rbm93biIKLSAgICAgICAgICAgICAgICBwcmludCAiJXMuJXN1bmtub3duIGludGVnZXIgdHlwZSAlZCIgJSAoc2VsZi5uYW1lLCBuYW1lLCBzaXplKQotICAgICAgICAgICAgaWYgdHlwZSAmIHR5cGVfbnVsbGFibGU6Ci0gICAgICAgICAgICAgICAgZmxhZ3MgPSAiIgotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICBmbGFncyA9ICIgTk9UIE5VTEwiCi0gICAgICAgICAgICBpZiB0eXBlICYgdHlwZV9sb2NhbGl6YWJsZToKLSAgICAgICAgICAgICAgICBmbGFncyArPSAiIExPQ0FMSVpBQkxFIgotICAgICAgICAgICAgZmllbGRzW2luZGV4XSA9ICJgJXNgICVzJXMiICUgKG5hbWUsIHRuYW1lLCBmbGFncykKLSAgICAgICAgICAgIGlmIHR5cGUgJiB0eXBlX2tleToKLSAgICAgICAgICAgICAgICBrZXlzLmFwcGVuZCgiYCVzYCIgJSBuYW1lKQotICAgICAgICBmaWVsZHMgPSAiLCAiLmpvaW4oZmllbGRzKQotICAgICAgICBrZXlzID0gIiwgIi5qb2luKGtleXMpCi0gICAgICAgIHJldHVybiAiQ1JFQVRFIFRBQkxFICVzICglcyBQUklNQVJZIEtFWSAlcykiICUgKHNlbGYubmFtZSwgZmllbGRzLCBrZXlzKQotCi0gICAgZGVmIGNyZWF0ZShzZWxmLCBkYik6Ci0gICAgICAgIHYgPSBkYi5PcGVuVmlldyhzZWxmLnNxbCgpKQotICAgICAgICB2LkV4ZWN1dGUoTm9uZSkKLSAgICAgICAgdi5DbG9zZSgpCi0KLWNsYXNzIEJpbmFyeToKLSAgICBkZWYgX19pbml0X18oc2VsZiwgZm5hbWUpOgotICAgICAgICBzZWxmLm5hbWUgPSBmbmFtZQotICAgIGRlZiBfX3JlcHJfXyhzZWxmKToKLSAgICAgICAgcmV0dXJuICdtc2lsaWIuQmluYXJ5KG9zLnBhdGguam9pbihkaXJuYW1lLCIlcyIpKScgJSBzZWxmLm5hbWUKLQotZGVmIGdlbl9zY2hlbWEoZGVzdHBhdGgsIHNjaGVtYXBhdGgpOgotICAgIGQgPSBNYWtlSW5zdGFsbGVyKCkKLSAgICBzY2hlbWEgPSBkLk9wZW5EYXRhYmFzZShzY2hlbWFwYXRoLAotICAgICAgICAgICAgd2luMzJjb20uY2xpZW50LmNvbnN0YW50cy5tc2lPcGVuRGF0YWJhc2VNb2RlUmVhZE9ubHkpCi0KLSAgICAjIFhYWCBPUkJFUiBCWQotICAgIHY9c2NoZW1hLk9wZW5WaWV3KCJTRUxFQ1QgKiBGUk9NIF9Db2x1bW5zIikKLSAgICBjdXJ0YWJsZT1Ob25lCi0gICAgdGFibGVzID0gW10KLSAgICB2LkV4ZWN1dGUoTm9uZSkKLSAgICBmID0gb3BlbihkZXN0cGF0aCwgInd0IikKLSAgICBmLndyaXRlKCJmcm9tIG1zaWxpYiBpbXBvcnQgVGFibGVcbiIpCi0gICAgd2hpbGUgMToKLSAgICAgICAgcj12LkZldGNoKCkKLSAgICAgICAgaWYgbm90IHI6YnJlYWsKLSAgICAgICAgbmFtZT1yLlN0cmluZ0RhdGEoMSkKLSAgICAgICAgaWYgY3VydGFibGUgIT0gbmFtZToKLSAgICAgICAgICAgIGYud3JpdGUoIlxuJXMgPSBUYWJsZSgnJXMnKVxuIiAlIChuYW1lLG5hbWUpKQotICAgICAgICAgICAgY3VydGFibGUgPSBuYW1lCi0gICAgICAgICAgICB0YWJsZXMuYXBwZW5kKG5hbWUpCi0gICAgICAgIGYud3JpdGUoIiVzLmFkZF9maWVsZCglZCwnJXMnLCVkKVxuIiAlCi0gICAgICAgICAgICAgICAgKG5hbWUsIHIuSW50ZWdlckRhdGEoMiksIHIuU3RyaW5nRGF0YSgzKSwgci5JbnRlZ2VyRGF0YSg0KSkpCi0gICAgdi5DbG9zZSgpCi0KLSAgICBmLndyaXRlKCJcbnRhYmxlcz1bJXNdXG5cbiIgJSAoIiwgIi5qb2luKHRhYmxlcykpKQotCi0gICAgIyBGaWxsIHRoZSBfVmFsaWRhdGlvbiB0YWJsZQotICAgIGYud3JpdGUoIl9WYWxpZGF0aW9uX3JlY29yZHMgPSBbXG4iKQotICAgIHYgPSBzY2hlbWEuT3BlblZpZXcoIlNFTEVDVCAqIEZST00gX1ZhbGlkYXRpb24iKQotICAgIHYuRXhlY3V0ZShOb25lKQotICAgIHdoaWxlIDE6Ci0gICAgICAgIHIgPSB2LkZldGNoKCkKLSAgICAgICAgaWYgbm90IHI6YnJlYWsKLSAgICAgICAgIyBUYWJsZSwgQ29sdW1uLCBOdWxsYWJsZQotICAgICAgICBmLndyaXRlKCIoJXMsJXMsJXMsIiAlCi0gICAgICAgICAgICAgICAgKGByLlN0cmluZ0RhdGEoMSlgLCBgci5TdHJpbmdEYXRhKDIpYCwgYHIuU3RyaW5nRGF0YSgzKWApKQotICAgICAgICBkZWYgcHV0X2ludChpKToKLSAgICAgICAgICAgIGlmIHIuSXNOdWxsKGkpOmYud3JpdGUoIk5vbmUsICIpCi0gICAgICAgICAgICBlbHNlOmYud3JpdGUoIiVkLCIgJSByLkludGVnZXJEYXRhKGkpKQotICAgICAgICBkZWYgcHV0X3N0cihpKToKLSAgICAgICAgICAgIGlmIHIuSXNOdWxsKGkpOmYud3JpdGUoIk5vbmUsICIpCi0gICAgICAgICAgICBlbHNlOmYud3JpdGUoIiVzLCIgJSBgci5TdHJpbmdEYXRhKGkpYCkKLSAgICAgICAgcHV0X2ludCg0KSAjIE1pblZhbHVlCi0gICAgICAgIHB1dF9pbnQoNSkgIyBNYXhWYWx1ZQotICAgICAgICBwdXRfc3RyKDYpICMgS2V5VGFibGUKLSAgICAgICAgcHV0X2ludCg3KSAjIEtleUNvbHVtbgotICAgICAgICBwdXRfc3RyKDgpICMgQ2F0ZWdvcnkKLSAgICAgICAgcHV0X3N0cig5KSAjIFNldAotICAgICAgICBwdXRfc3RyKDEwKSMgRGVzY3JpcHRpb24KLSAgICAgICAgZi53cml0ZSgiKSxcbiIpCi0gICAgZi53cml0ZSgiXVxuXG4iKQotCi0gICAgZi5jbG9zZSgpCi0KLWRlZiBnZW5fc2VxdWVuY2UoZGVzdHBhdGgsIG1zaXBhdGgpOgotICAgIGRpciA9IG9zLnBhdGguZGlybmFtZShkZXN0cGF0aCkKLSAgICBkID0gTWFrZUluc3RhbGxlcigpCi0gICAgc2VxbXNpID0gZC5PcGVuRGF0YWJhc2UobXNpcGF0aCwKLSAgICAgICAgICAgIHdpbjMyY29tLmNsaWVudC5jb25zdGFudHMubXNpT3BlbkRhdGFiYXNlTW9kZVJlYWRPbmx5KQotCi0gICAgdiA9IHNlcW1zaS5PcGVuVmlldygiU0VMRUNUICogRlJPTSBfVGFibGVzIik7Ci0gICAgdi5FeGVjdXRlKE5vbmUpCi0gICAgZiA9IG9wZW4oZGVzdHBhdGgsICJ3IikKLSAgICBwcmludCA+PmYsICJpbXBvcnQgbXNpbGliLG9zO2Rpcm5hbWU9b3MucGF0aC5kaXJuYW1lKF9fZmlsZV9fKSIKLSAgICB0YWJsZXMgPSBbXQotICAgIHdoaWxlIDE6Ci0gICAgICAgIHIgPSB2LkZldGNoKCkKLSAgICAgICAgaWYgbm90IHI6YnJlYWsKLSAgICAgICAgdGFibGUgPSByLlN0cmluZ0RhdGEoMSkKLSAgICAgICAgdGFibGVzLmFwcGVuZCh0YWJsZSkKLSAgICAgICAgZi53cml0ZSgiJXMgPSBbXG4iICUgdGFibGUpCi0gICAgICAgIHYxID0gc2VxbXNpLk9wZW5WaWV3KCJTRUxFQ1QgKiBGUk9NIGAlc2AiICUgdGFibGUpCi0gICAgICAgIHYxLkV4ZWN1dGUoTm9uZSkKLSAgICAgICAgaW5mbyA9IHYxLkNvbHVtbkluZm8oY29uc3RhbnRzLm1zaUNvbHVtbkluZm9UeXBlcykKLSAgICAgICAgd2hpbGUgMToKLSAgICAgICAgICAgIHIgPSB2MS5GZXRjaCgpCi0gICAgICAgICAgICBpZiBub3QgcjpicmVhawotICAgICAgICAgICAgcmVjID0gW10KLSAgICAgICAgICAgIGZvciBpIGluIHJhbmdlKDEsci5GaWVsZENvdW50KzEpOgotICAgICAgICAgICAgICAgIGlmIHIuSXNOdWxsKGkpOgotICAgICAgICAgICAgICAgICAgICByZWMuYXBwZW5kKE5vbmUpCi0gICAgICAgICAgICAgICAgZWxpZiBpbmZvLlN0cmluZ0RhdGEoaSlbMF0gaW4gImlJIjoKLSAgICAgICAgICAgICAgICAgICAgcmVjLmFwcGVuZChyLkludGVnZXJEYXRhKGkpKQotICAgICAgICAgICAgICAgIGVsaWYgaW5mby5TdHJpbmdEYXRhKGkpWzBdIGluICJzbFNMIjoKLSAgICAgICAgICAgICAgICAgICAgcmVjLmFwcGVuZChyLlN0cmluZ0RhdGEoaSkpCi0gICAgICAgICAgICAgICAgZWxpZiBpbmZvLlN0cmluZ0RhdGEoaSlbMF09PSJ2IjoKLSAgICAgICAgICAgICAgICAgICAgc2l6ZSA9IHIuRGF0YVNpemUoaSkKLSAgICAgICAgICAgICAgICAgICAgYnl0ZXMgPSByLlJlYWRTdHJlYW0oaSwgc2l6ZSwgY29uc3RhbnRzLm1zaVJlYWRTdHJlYW1CeXRlcykKLSAgICAgICAgICAgICAgICAgICAgYnl0ZXMgPSBieXRlcy5lbmNvZGUoImxhdGluLTEiKSAjIGJpbmFyeSBkYXRhIHJlcHJlc2VudGVkICJhcy1pcyIKLSAgICAgICAgICAgICAgICAgICAgaWYgdGFibGUgPT0gIkJpbmFyeSI6Ci0gICAgICAgICAgICAgICAgICAgICAgICBmbmFtZSA9IHJlY1swXSsiLmJpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgIG9wZW4ob3MucGF0aC5qb2luKGRpcixmbmFtZSksIndiIikud3JpdGUoYnl0ZXMpCi0gICAgICAgICAgICAgICAgICAgICAgICByZWMuYXBwZW5kKEJpbmFyeShmbmFtZSkpCi0gICAgICAgICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgICAgICAgICByZWMuYXBwZW5kKGJ5dGVzKQotICAgICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgICAgIHJhaXNlICJVbnN1cHBvcnRlZCBjb2x1bW4gdHlwZSIsIGluZm8uU3RyaW5nRGF0YShpKQotICAgICAgICAgICAgZi53cml0ZShyZXByKHR1cGxlKHJlYykpKyIsXG4iKQotICAgICAgICB2MS5DbG9zZSgpCi0gICAgICAgIGYud3JpdGUoIl1cblxuIikKLSAgICB2LkNsb3NlKCkKLSAgICBmLndyaXRlKCJ0YWJsZXM9JXNcbiIgJSByZXByKG1hcChzdHIsdGFibGVzKSkpCi0gICAgZi5jbG9zZSgpCi0KLWNsYXNzIF9VbnNwZWNpZmllZDpwYXNzCi1kZWYgY2hhbmdlX3NlcXVlbmNlKHNlcSwgYWN0aW9uLCBzZXFubz1fVW5zcGVjaWZpZWQsIGNvbmQgPSBfVW5zcGVjaWZpZWQpOgotICAgICJDaGFuZ2UgdGhlIHNlcXVlbmNlIG51bWJlciBvZiBhbiBhY3Rpb24gaW4gYSBzZXF1ZW5jZSBsaXN0IgotICAgIGZvciBpIGluIHJhbmdlKGxlbihzZXEpKToKLSAgICAgICAgaWYgc2VxW2ldWzBdID09IGFjdGlvbjoKLSAgICAgICAgICAgIGlmIGNvbmQgaXMgX1Vuc3BlY2lmaWVkOgotICAgICAgICAgICAgICAgIGNvbmQgPSBzZXFbaV1bMV0KLSAgICAgICAgICAgIGlmIHNlcW5vIGlzIF9VbnNwZWNpZmllZDoKLSAgICAgICAgICAgICAgICBzZXFubyA9IHNlcVtpXVsyXQotICAgICAgICAgICAgc2VxW2ldID0gKGFjdGlvbiwgY29uZCwgc2Vxbm8pCi0gICAgICAgICAgICByZXR1cm4KLSAgICByYWlzZSBWYWx1ZUVycm9yLCAiQWN0aW9uIG5vdCBmb3VuZCBpbiBzZXF1ZW5jZSIKLQotZGVmIGFkZF9kYXRhKGRiLCB0YWJsZSwgdmFsdWVzKToKLSAgICBkID0gTWFrZUluc3RhbGxlcigpCi0gICAgdiA9IGRiLk9wZW5WaWV3KCJTRUxFQ1QgKiBGUk9NIGAlc2AiICUgdGFibGUpCi0gICAgY291bnQgPSB2LkNvbHVtbkluZm8oMCkuRmllbGRDb3VudAotICAgIHIgPSBkLkNyZWF0ZVJlY29yZChjb3VudCkKLSAgICBmb3IgdmFsdWUgaW4gdmFsdWVzOgotICAgICAgICBhc3NlcnQgbGVuKHZhbHVlKSA9PSBjb3VudCwgdmFsdWUKLSAgICAgICAgZm9yIGkgaW4gcmFuZ2UoY291bnQpOgotICAgICAgICAgICAgZmllbGQgPSB2YWx1ZVtpXQotICAgICAgICAgICAgaWYgaXNpbnN0YW5jZShmaWVsZCwgKGludCwgbG9uZykpOgotICAgICAgICAgICAgICAgIHIuU2V0SW50ZWdlckRhdGEoaSsxLGZpZWxkKQotICAgICAgICAgICAgZWxpZiBpc2luc3RhbmNlKGZpZWxkLCBiYXNlc3RyaW5nKToKLSAgICAgICAgICAgICAgICByLlNldFN0cmluZ0RhdGEoaSsxLGZpZWxkKQotICAgICAgICAgICAgZWxpZiBmaWVsZCBpcyBOb25lOgotICAgICAgICAgICAgICAgIHBhc3MKLSAgICAgICAgICAgIGVsaWYgaXNpbnN0YW5jZShmaWVsZCwgQmluYXJ5KToKLSAgICAgICAgICAgICAgICByLlNldFN0cmVhbShpKzEsIGZpZWxkLm5hbWUpCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIHJhaXNlIFR5cGVFcnJvciwgIlVuc3VwcG9ydGVkIHR5cGUgJXMiICUgZmllbGQuX19jbGFzc19fLl9fbmFtZV9fCi0gICAgICAgIHYuTW9kaWZ5KHdpbjMyY29tLmNsaWVudC5jb25zdGFudHMubXNpVmlld01vZGlmeUluc2VydCwgcikKLSAgICAgICAgci5DbGVhckRhdGEoKQotICAgIHYuQ2xvc2UoKQotCi1kZWYgYWRkX3N0cmVhbShkYiwgbmFtZSwgcGF0aCk6Ci0gICAgZCA9IE1ha2VJbnN0YWxsZXIoKQotICAgIHYgPSBkYi5PcGVuVmlldygiSU5TRVJUIElOVE8gX1N0cmVhbXMgKE5hbWUsIERhdGEpIFZBTFVFUyAoJyVzJywgPykiICUgbmFtZSkKLSAgICByID0gZC5DcmVhdGVSZWNvcmQoMSkKLSAgICByLlNldFN0cmVhbSgxLCBwYXRoKQotICAgIHYuRXhlY3V0ZShyKQotICAgIHYuQ2xvc2UoKQotCi1kZWYgaW5pdF9kYXRhYmFzZShuYW1lLCBzY2hlbWEsCi0gICAgICAgICAgICAgICAgICBQcm9kdWN0TmFtZSwgUHJvZHVjdENvZGUsIFByb2R1Y3RWZXJzaW9uLAotICAgICAgICAgICAgICAgICAgTWFudWZhY3R1cmVyLAotICAgICAgICAgICAgICAgICAgcmVxdWVzdF91YWMgPSBGYWxzZSk6Ci0gICAgdHJ5OgotICAgICAgICBvcy51bmxpbmsobmFtZSkKLSAgICBleGNlcHQgT1NFcnJvcjoKLSAgICAgICAgcGFzcwotICAgIFByb2R1Y3RDb2RlID0gUHJvZHVjdENvZGUudXBwZXIoKQotICAgIGQgPSBNYWtlSW5zdGFsbGVyKCkKLSAgICAjIENyZWF0ZSB0aGUgZGF0YWJhc2UKLSAgICBkYiA9IGQuT3BlbkRhdGFiYXNlKG5hbWUsCi0gICAgICAgICB3aW4zMmNvbS5jbGllbnQuY29uc3RhbnRzLm1zaU9wZW5EYXRhYmFzZU1vZGVDcmVhdGUpCi0gICAgIyBDcmVhdGUgdGhlIHRhYmxlcwotICAgIGZvciB0IGluIHNjaGVtYS50YWJsZXM6Ci0gICAgICAgIHQuY3JlYXRlKGRiKQotICAgICMgRmlsbCB0aGUgdmFsaWRhdGlvbiB0YWJsZQotICAgIGFkZF9kYXRhKGRiLCAiX1ZhbGlkYXRpb24iLCBzY2hlbWEuX1ZhbGlkYXRpb25fcmVjb3JkcykKLSAgICAjIEluaXRpYWxpemUgdGhlIHN1bW1hcnkgaW5mb3JtYXRpb24sIGFsbG93aW5nIGF0IG1vc3QgMjAgcHJvcGVydGllcwotICAgIHNpID0gZGIuR2V0U3VtbWFyeUluZm9ybWF0aW9uKDIwKQotICAgIHNpLlNldFByb3BlcnR5KFBJRF9USVRMRSwgIkluc3RhbGxhdGlvbiBEYXRhYmFzZSIpCi0gICAgc2kuU2V0UHJvcGVydHkoUElEX1NVQkpFQ1QsIFByb2R1Y3ROYW1lKQotICAgIHNpLlNldFByb3BlcnR5KFBJRF9BVVRIT1IsIE1hbnVmYWN0dXJlcikKLSAgICBzaS5TZXRQcm9wZXJ0eShQSURfVEVNUExBVEUsIG1zaV90eXBlKQotICAgIHNpLlNldFByb3BlcnR5KFBJRF9SRVZOVU1CRVIsIGdlbl91dWlkKCkpCi0gICAgaWYgcmVxdWVzdF91YWM6Ci0gICAgICAgIHdjID0gMiAjIGxvbmcgZmlsZSBuYW1lcywgY29tcHJlc3NlZCwgb3JpZ2luYWwgbWVkaWEKLSAgICBlbHNlOgotICAgICAgICB3YyA9IDIgfCA4ICMgK25ldmVyIGludm9rZSBVQUMKLSAgICBzaS5TZXRQcm9wZXJ0eShQSURfV09SRENPVU5ULCB3YykKLSAgICBzaS5TZXRQcm9wZXJ0eShQSURfUEFHRUNPVU5ULCAyMDApCi0gICAgc2kuU2V0UHJvcGVydHkoUElEX0FQUE5BTUUsICJQeXRob24gTVNJIExpYnJhcnkiKQotICAgICMgWFhYIG1vcmUgcHJvcGVydGllcwotICAgIHNpLlBlcnNpc3QoKQotICAgIGFkZF9kYXRhKGRiLCAiUHJvcGVydHkiLCBbCi0gICAgICAgICgiUHJvZHVjdE5hbWUiLCBQcm9kdWN0TmFtZSksCi0gICAgICAgICgiUHJvZHVjdENvZGUiLCBQcm9kdWN0Q29kZSksCi0gICAgICAgICgiUHJvZHVjdFZlcnNpb24iLCBQcm9kdWN0VmVyc2lvbiksCi0gICAgICAgICgiTWFudWZhY3R1cmVyIiwgTWFudWZhY3R1cmVyKSwKLSAgICAgICAgKCJQcm9kdWN0TGFuZ3VhZ2UiLCAiMTAzMyIpXSkKLSAgICBkYi5Db21taXQoKQotICAgIHJldHVybiBkYgotCi1kZWYgYWRkX3RhYmxlcyhkYiwgbW9kdWxlKToKLSAgICBmb3IgdGFibGUgaW4gbW9kdWxlLnRhYmxlczoKLSAgICAgICAgYWRkX2RhdGEoZGIsIHRhYmxlLCBnZXRhdHRyKG1vZHVsZSwgdGFibGUpKQotCi1kZWYgbWFrZV9pZChzdHIpOgotICAgICNzdHIgPSBzdHIucmVwbGFjZSgiLiIsICJfIikgIyBjb2xvbnMgYXJlIGFsbG93ZWQKLSAgICBzdHIgPSBzdHIucmVwbGFjZSgiICIsICJfIikKLSAgICBzdHIgPSBzdHIucmVwbGFjZSgiLSIsICJfIikKLSAgICBzdHIgPSBzdHIucmVwbGFjZSgiKyIsICJfIikKLSAgICBpZiBzdHJbMF0gaW4gc3RyaW5nLmRpZ2l0czoKLSAgICAgICAgc3RyID0gIl8iK3N0cgotICAgIGFzc2VydCByZS5tYXRjaCgiXltBLVphLXpfXVtBLVphLXowLTlfLl0qJCIsIHN0ciksICJGSUxFIitzdHIKLSAgICByZXR1cm4gc3RyCi0KLWRlZiBnZW5fdXVpZCgpOgotICAgIHJldHVybiBzdHIocHl0aG9uY29tLkNyZWF0ZUd1aWQoKSkKLQotY2xhc3MgQ0FCOgotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBuYW1lKToKLSAgICAgICAgc2VsZi5uYW1lID0gbmFtZQotICAgICAgICBzZWxmLmZpbGVzID0gW10KLSAgICAgICAgc2VsZi5maWxlbmFtZXMgPSBzZXRzLlNldCgpCi0gICAgICAgIHNlbGYuaW5kZXggPSAwCi0KLSAgICBkZWYgZ2VuX2lkKHNlbGYsIGRpciwgZmlsZSk6Ci0gICAgICAgIGxvZ2ljYWwgPSBfbG9naWNhbCA9IG1ha2VfaWQoZmlsZSkKLSAgICAgICAgcG9zID0gMQotICAgICAgICB3aGlsZSBsb2dpY2FsIGluIHNlbGYuZmlsZW5hbWVzOgotICAgICAgICAgICAgbG9naWNhbCA9ICIlcy4lZCIgJSAoX2xvZ2ljYWwsIHBvcykKLSAgICAgICAgICAgIHBvcyArPSAxCi0gICAgICAgIHNlbGYuZmlsZW5hbWVzLmFkZChsb2dpY2FsKQotICAgICAgICByZXR1cm4gbG9naWNhbAotCi0gICAgZGVmIGFwcGVuZChzZWxmLCBmdWxsLCBmaWxlLCBsb2dpY2FsID0gTm9uZSk6Ci0gICAgICAgIGlmIG9zLnBhdGguaXNkaXIoZnVsbCk6Ci0gICAgICAgICAgICByZXR1cm4KLSAgICAgICAgaWYgbm90IGxvZ2ljYWw6Ci0gICAgICAgICAgICBsb2dpY2FsID0gc2VsZi5nZW5faWQoZGlyLCBmaWxlKQotICAgICAgICBzZWxmLmluZGV4ICs9IDEKLSAgICAgICAgc2VsZi5maWxlcy5hcHBlbmQoKGZ1bGwsIGxvZ2ljYWwpKQotICAgICAgICByZXR1cm4gc2VsZi5pbmRleCwgbG9naWNhbAotCi0gICAgZGVmIGNvbW1pdChzZWxmLCBkYik6Ci0gICAgICAgIHRyeToKLSAgICAgICAgICAgIG9zLnVubGluayhzZWxmLm5hbWUrIi5jYWIiKQotICAgICAgICBleGNlcHQgT1NFcnJvcjoKLSAgICAgICAgICAgIHBhc3MKLSAgICAgICAgX21zaS5GQ0lDcmVhdGUoc2VsZi5uYW1lKyIuY2FiIiwgc2VsZi5maWxlcykKLSAgICAgICAgYWRkX2RhdGEoZGIsICJNZWRpYSIsCi0gICAgICAgICAgICAgICAgWygxLCBzZWxmLmluZGV4LCBOb25lLCAiIyIrc2VsZi5uYW1lLCBOb25lLCBOb25lKV0pCi0gICAgICAgIGFkZF9zdHJlYW0oZGIsIHNlbGYubmFtZSwgc2VsZi5uYW1lKyIuY2FiIikKLSAgICAgICAgb3MudW5saW5rKHNlbGYubmFtZSsiLmNhYiIpCi0gICAgICAgIGRiLkNvbW1pdCgpCi0KLV9kaXJlY3RvcmllcyA9IHNldHMuU2V0KCkKLWNsYXNzIERpcmVjdG9yeToKLSAgICBkZWYgX19pbml0X18oc2VsZiwgZGIsIGNhYiwgYmFzZWRpciwgcGh5c2ljYWwsIF9sb2dpY2FsLCBkZWZhdWx0LCBjb21wb25lbnRmbGFncz1Ob25lKToKLSAgICAgICAgIiIiQ3JlYXRlIGEgbmV3IGRpcmVjdG9yeSBpbiB0aGUgRGlyZWN0b3J5IHRhYmxlLiBUaGVyZSBpcyBhIGN1cnJlbnQgY29tcG9uZW50Ci0gICAgICAgIGF0IGVhY2ggcG9pbnQgaW4gdGltZSBmb3IgdGhlIGRpcmVjdG9yeSwgd2hpY2ggaXMgZWl0aGVyIGV4cGxpY2l0bHkgY3JlYXRlZAotICAgICAgICB0aHJvdWdoIHN0YXJ0X2NvbXBvbmVudCwgb3IgaW1wbGljaXRseSB3aGVuIGZpbGVzIGFyZSBhZGRlZCBmb3IgdGhlIGZpcnN0Ci0gICAgICAgIHRpbWUuIEZpbGVzIGFyZSBhZGRlZCBpbnRvIHRoZSBjdXJyZW50IGNvbXBvbmVudCwgYW5kIGludG8gdGhlIGNhYiBmaWxlLgotICAgICAgICBUbyBjcmVhdGUgYSBkaXJlY3RvcnksIGEgYmFzZSBkaXJlY3Rvcnkgb2JqZWN0IG5lZWRzIHRvIGJlIHNwZWNpZmllZCAoY2FuIGJlCi0gICAgICAgIE5vbmUpLCB0aGUgcGF0aCB0byB0aGUgcGh5c2ljYWwgZGlyZWN0b3J5LCBhbmQgYSBsb2dpY2FsIGRpcmVjdG9yeSBuYW1lLgotICAgICAgICBEZWZhdWx0IHNwZWNpZmllcyB0aGUgRGVmYXVsdERpciBzbG90IGluIHRoZSBkaXJlY3RvcnkgdGFibGUuIGNvbXBvbmVudGZsYWdzCi0gICAgICAgIHNwZWNpZmllcyB0aGUgZGVmYXVsdCBmbGFncyB0aGF0IG5ldyBjb21wb25lbnRzIGdldC4iIiIKLSAgICAgICAgaW5kZXggPSAxCi0gICAgICAgIF9sb2dpY2FsID0gbWFrZV9pZChfbG9naWNhbCkKLSAgICAgICAgbG9naWNhbCA9IF9sb2dpY2FsCi0gICAgICAgIHdoaWxlIGxvZ2ljYWwgaW4gX2RpcmVjdG9yaWVzOgotICAgICAgICAgICAgbG9naWNhbCA9ICIlcyVkIiAlIChfbG9naWNhbCwgaW5kZXgpCi0gICAgICAgICAgICBpbmRleCArPSAxCi0gICAgICAgIF9kaXJlY3Rvcmllcy5hZGQobG9naWNhbCkKLSAgICAgICAgc2VsZi5kYiA9IGRiCi0gICAgICAgIHNlbGYuY2FiID0gY2FiCi0gICAgICAgIHNlbGYuYmFzZWRpciA9IGJhc2VkaXIKLSAgICAgICAgc2VsZi5waHlzaWNhbCA9IHBoeXNpY2FsCi0gICAgICAgIHNlbGYubG9naWNhbCA9IGxvZ2ljYWwKLSAgICAgICAgc2VsZi5jb21wb25lbnQgPSBOb25lCi0gICAgICAgIHNlbGYuc2hvcnRfbmFtZXMgPSB7fQotICAgICAgICBzZWxmLmlkcyA9IHNldHMuU2V0KCkKLSAgICAgICAgc2VsZi5rZXlmaWxlcyA9IHt9Ci0gICAgICAgIHNlbGYuY29tcG9uZW50ZmxhZ3MgPSBjb21wb25lbnRmbGFncwotICAgICAgICBpZiBiYXNlZGlyOgotICAgICAgICAgICAgc2VsZi5hYnNvbHV0ZSA9IG9zLnBhdGguam9pbihiYXNlZGlyLmFic29sdXRlLCBwaHlzaWNhbCkKLSAgICAgICAgICAgIGJsb2dpY2FsID0gYmFzZWRpci5sb2dpY2FsCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBzZWxmLmFic29sdXRlID0gcGh5c2ljYWwKLSAgICAgICAgICAgIGJsb2dpY2FsID0gTm9uZQotICAgICAgICAjIGluaXRpYWxseSBhc3N1bWUgdGhhdCBhbGwgZmlsZXMgaW4gdGhpcyBkaXJlY3RvcnkgYXJlIHVucGFja2FnZWQKLSAgICAgICAgIyBhcyBmaWxlcyBmcm9tIHNlbGYuYWJzb2x1dGUgZ2V0IGFkZGVkLCB0aGlzIHNldCBpcyByZWR1Y2VkCi0gICAgICAgIHNlbGYudW5wYWNrYWdlZF9maWxlcyA9IHNldCgpCi0gICAgICAgIGZvciBmIGluIG9zLmxpc3RkaXIoc2VsZi5hYnNvbHV0ZSk6Ci0gICAgICAgICAgICBpZiBvcy5wYXRoLmlzZmlsZShvcy5wYXRoLmpvaW4oc2VsZi5hYnNvbHV0ZSwgZikpOgotICAgICAgICAgICAgICAgIHNlbGYudW5wYWNrYWdlZF9maWxlcy5hZGQoZikKLSAgICAgICAgYWRkX2RhdGEoZGIsICJEaXJlY3RvcnkiLCBbKGxvZ2ljYWwsIGJsb2dpY2FsLCBkZWZhdWx0KV0pCi0KLSAgICBkZWYgc3RhcnRfY29tcG9uZW50KHNlbGYsIGNvbXBvbmVudCA9IE5vbmUsIGZlYXR1cmUgPSBOb25lLCBmbGFncyA9IE5vbmUsIGtleWZpbGUgPSBOb25lLCB1dWlkPU5vbmUpOgotICAgICAgICAiIiJBZGQgYW4gZW50cnkgdG8gdGhlIENvbXBvbmVudCB0YWJsZSwgYW5kIG1ha2UgdGhpcyBjb21wb25lbnQgdGhlIGN1cnJlbnQgZm9yIHRoaXMKLSAgICAgICAgZGlyZWN0b3J5LiBJZiBubyBjb21wb25lbnQgbmFtZSBpcyBnaXZlbiwgdGhlIGRpcmVjdG9yeSBuYW1lIGlzIHVzZWQuIElmIG5vIGZlYXR1cmUKLSAgICAgICAgaXMgZ2l2ZW4sIHRoZSBjdXJyZW50IGZlYXR1cmUgaXMgdXNlZC4gSWYgbm8gZmxhZ3MgYXJlIGdpdmVuLCB0aGUgZGlyZWN0b3J5J3MgZGVmYXVsdAotICAgICAgICBmbGFncyBhcmUgdXNlZC4gSWYgbm8ga2V5ZmlsZSBpcyBnaXZlbiwgdGhlIEtleVBhdGggaXMgbGVmdCBudWxsIGluIHRoZSBDb21wb25lbnQKLSAgICAgICAgdGFibGUuIiIiCi0gICAgICAgIGlmIGZsYWdzIGlzIE5vbmU6Ci0gICAgICAgICAgICBmbGFncyA9IHNlbGYuY29tcG9uZW50ZmxhZ3MKLSAgICAgICAgaWYgdXVpZCBpcyBOb25lOgotICAgICAgICAgICAgdXVpZCA9IGdlbl91dWlkKCkKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHV1aWQgPSB1dWlkLnVwcGVyKCkKLSAgICAgICAgaWYgY29tcG9uZW50IGlzIE5vbmU6Ci0gICAgICAgICAgICBjb21wb25lbnQgPSBzZWxmLmxvZ2ljYWwKLSAgICAgICAgc2VsZi5jb21wb25lbnQgPSBjb21wb25lbnQKLSAgICAgICAgaWYgV2luNjQ6Ci0gICAgICAgICAgICBmbGFncyB8PSAyNTYKLSAgICAgICAgaWYga2V5ZmlsZToKLSAgICAgICAgICAgIGtleWlkID0gc2VsZi5jYWIuZ2VuX2lkKHNlbGYuYWJzb2x1dGUsIGtleWZpbGUpCi0gICAgICAgICAgICBzZWxmLmtleWZpbGVzW2tleWZpbGVdID0ga2V5aWQKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIGtleWlkID0gTm9uZQotICAgICAgICBhZGRfZGF0YShzZWxmLmRiLCAiQ29tcG9uZW50IiwKLSAgICAgICAgICAgICAgICAgICAgICAgIFsoY29tcG9uZW50LCB1dWlkLCBzZWxmLmxvZ2ljYWwsIGZsYWdzLCBOb25lLCBrZXlpZCldKQotICAgICAgICBpZiBmZWF0dXJlIGlzIE5vbmU6Ci0gICAgICAgICAgICBmZWF0dXJlID0gY3VycmVudF9mZWF0dXJlCi0gICAgICAgIGFkZF9kYXRhKHNlbGYuZGIsICJGZWF0dXJlQ29tcG9uZW50cyIsCi0gICAgICAgICAgICAgICAgICAgICAgICBbKGZlYXR1cmUuaWQsIGNvbXBvbmVudCldKQotCi0gICAgZGVmIG1ha2Vfc2hvcnQoc2VsZiwgZmlsZSk6Ci0gICAgICAgIGxvbmcgPSBmaWxlCi0gICAgICAgIGZpbGUgPSByZS5zdWIocidbXD98Pjw6LyoiKyw7PVxbXF1dJywgJ18nLCBmaWxlKSAjIHJlc3RyaWN0aW9ucyBvbiBzaG9ydCBuYW1lcwotICAgICAgICBwYXJ0cyA9IGZpbGUuc3BsaXQoIi4iLCAxKQotICAgICAgICBpZiBsZW4ocGFydHMpPjE6Ci0gICAgICAgICAgICBzdWZmaXggPSBwYXJ0c1sxXS51cHBlcigpCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBzdWZmaXggPSAnJwotICAgICAgICBwcmVmaXggPSBwYXJ0c1swXS51cHBlcigpCi0gICAgICAgIGlmIGxlbihwcmVmaXgpIDw9IDggYW5kICcuJyBub3QgaW4gc3VmZml4IGFuZCBsZW4oc3VmZml4KSA8PSAzOgotICAgICAgICAgICAgaWYgc3VmZml4OgotICAgICAgICAgICAgICAgIGZpbGUgPSBwcmVmaXgrIi4iK3N1ZmZpeAotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICBmaWxlID0gcHJlZml4Ci0gICAgICAgICAgICBhc3NlcnQgZmlsZSBub3QgaW4gc2VsZi5zaG9ydF9uYW1lcywgKGZpbGUsIHNlbGYuc2hvcnRfbmFtZXNbZmlsZV0pCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBwcmVmaXggPSBwcmVmaXhbOjZdCi0gICAgICAgICAgICBpZiBzdWZmaXg6Ci0gICAgICAgICAgICAgICAgIyBsYXN0IHRocmVlIGNoYXJhY3RlcnMgb2YgbGFzdCBzdWZmaXgKLSAgICAgICAgICAgICAgICBzdWZmaXggPSBzdWZmaXgucnNwbGl0KCcuJylbLTFdWzozXQotICAgICAgICAgICAgcG9zID0gMQotICAgICAgICAgICAgd2hpbGUgMToKLSAgICAgICAgICAgICAgICBpZiBzdWZmaXg6Ci0gICAgICAgICAgICAgICAgICAgIGZpbGUgPSAiJXN+JWQuJXMiICUgKHByZWZpeCwgcG9zLCBzdWZmaXgpCi0gICAgICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICAgICAgZmlsZSA9ICIlc34lZCIgJSAocHJlZml4LCBwb3MpCi0gICAgICAgICAgICAgICAgaWYgZmlsZSBub3QgaW4gc2VsZi5zaG9ydF9uYW1lczogYnJlYWsKLSAgICAgICAgICAgICAgICBwb3MgKz0gMQotICAgICAgICAgICAgICAgIGFzc2VydCBwb3MgPCAxMDAwMAotICAgICAgICAgICAgICAgIGlmIHBvcyBpbiAoMTAsIDEwMCwgMTAwMCk6Ci0gICAgICAgICAgICAgICAgICAgIHByZWZpeCA9IHByZWZpeFs6LTFdCi0gICAgICAgIHNlbGYuc2hvcnRfbmFtZXNbZmlsZV0gPSBsb25nCi0gICAgICAgIHJldHVybiBmaWxlCi0KLSAgICBkZWYgYWRkX2ZpbGUoc2VsZiwgZmlsZSwgc3JjPU5vbmUsIHZlcnNpb249Tm9uZSwgbGFuZ3VhZ2U9Tm9uZSk6Ci0gICAgICAgICIiIkFkZCBhIGZpbGUgdG8gdGhlIGN1cnJlbnQgY29tcG9uZW50IG9mIHRoZSBkaXJlY3RvcnksIHN0YXJ0aW5nIGEgbmV3IG9uZQotICAgICAgICBpZiB0aGVyZSBpcyBubyBjdXJyZW50IGNvbXBvbmVudC4gQnkgZGVmYXVsdCwgdGhlIGZpbGUgbmFtZSBpbiB0aGUgc291cmNlCi0gICAgICAgIGFuZCB0aGUgZmlsZSB0YWJsZSB3aWxsIGJlIGlkZW50aWNhbC4gSWYgdGhlIHNyYyBmaWxlIGlzIHNwZWNpZmllZCwgaXQgaXMKLSAgICAgICAgaW50ZXJwcmV0ZWQgcmVsYXRpdmUgdG8gdGhlIGN1cnJlbnQgZGlyZWN0b3J5LiBPcHRpb25hbGx5LCBhIHZlcnNpb24gYW5kIGEKLSAgICAgICAgbGFuZ3VhZ2UgY2FuIGJlIHNwZWNpZmllZCBmb3IgdGhlIGVudHJ5IGluIHRoZSBGaWxlIHRhYmxlLiIiIgotICAgICAgICBpZiBub3Qgc2VsZi5jb21wb25lbnQ6Ci0gICAgICAgICAgICBzZWxmLnN0YXJ0X2NvbXBvbmVudChzZWxmLmxvZ2ljYWwsIGN1cnJlbnRfZmVhdHVyZSkKLSAgICAgICAgaWYgbm90IHNyYzoKLSAgICAgICAgICAgICMgQWxsb3cgcmVsYXRpdmUgcGF0aHMgZm9yIGZpbGUgaWYgc3JjIGlzIG5vdCBzcGVjaWZpZWQKLSAgICAgICAgICAgIHNyYyA9IGZpbGUKLSAgICAgICAgICAgIGZpbGUgPSBvcy5wYXRoLmJhc2VuYW1lKGZpbGUpCi0gICAgICAgIGFic29sdXRlID0gb3MucGF0aC5qb2luKHNlbGYuYWJzb2x1dGUsIHNyYykKLSAgICAgICAgaWYgYWJzb2x1dGUuc3RhcnRzd2l0aChzZWxmLmFic29sdXRlKToKLSAgICAgICAgICAgICMgbWFyayBmaWxlIGFzIHBhY2thZ2VkCi0gICAgICAgICAgICByZWxhdGl2ZSA9IGFic29sdXRlW2xlbihzZWxmLmFic29sdXRlKSsxOl0KLSAgICAgICAgICAgIGlmIHJlbGF0aXZlIGluIHNlbGYudW5wYWNrYWdlZF9maWxlczoKLSAgICAgICAgICAgICAgICBzZWxmLnVucGFja2FnZWRfZmlsZXMucmVtb3ZlKHJlbGF0aXZlKQotICAgICAgICBhc3NlcnQgbm90IHJlLnNlYXJjaChyJ1tcP3w+PDovKl0iJywgZmlsZSkgIyByZXN0cmljdGlvbnMgb24gbG9uZyBuYW1lcwotICAgICAgICBpZiBzZWxmLmtleWZpbGVzLmhhc19rZXkoZmlsZSk6Ci0gICAgICAgICAgICBsb2dpY2FsID0gc2VsZi5rZXlmaWxlc1tmaWxlXQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgbG9naWNhbCA9IE5vbmUKLSAgICAgICAgc2VxdWVuY2UsIGxvZ2ljYWwgPSBzZWxmLmNhYi5hcHBlbmQoYWJzb2x1dGUsIGZpbGUsIGxvZ2ljYWwpCi0gICAgICAgIGFzc2VydCBsb2dpY2FsIG5vdCBpbiBzZWxmLmlkcwotICAgICAgICBzZWxmLmlkcy5hZGQobG9naWNhbCkKLSAgICAgICAgc2hvcnQgPSBzZWxmLm1ha2Vfc2hvcnQoZmlsZSkKLSAgICAgICAgZnVsbCA9ICIlc3wlcyIgJSAoc2hvcnQsIGZpbGUpCi0gICAgICAgIGZpbGVzaXplID0gb3Muc3RhdChhYnNvbHV0ZSkuc3Rfc2l6ZQotICAgICAgICAjIGNvbnN0YW50cy5tc2lkYkZpbGVBdHRyaWJ1dGVzVml0YWwKLSAgICAgICAgIyBDb21wcmVzc2VkIG9taXR0ZWQsIHNpbmNlIGl0IGlzIHRoZSBkYXRhYmFzZSBkZWZhdWx0Ci0gICAgICAgICMgY291bGQgYWRkIHIvbywgc3lzdGVtLCBoaWRkZW4KLSAgICAgICAgYXR0cmlidXRlcyA9IDUxMgotICAgICAgICBhZGRfZGF0YShzZWxmLmRiLCAiRmlsZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICBbKGxvZ2ljYWwsIHNlbGYuY29tcG9uZW50LCBmdWxsLCBmaWxlc2l6ZSwgdmVyc2lvbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICBsYW5ndWFnZSwgYXR0cmlidXRlcywgc2VxdWVuY2UpXSkKLSAgICAgICAgaWYgbm90IHZlcnNpb246Ci0gICAgICAgICAgICAjIEFkZCBoYXNoIGlmIHRoZSBmaWxlIGlzIG5vdCB2ZXJzaW9uZWQKLSAgICAgICAgICAgIGZpbGVoYXNoID0gTWFrZUluc3RhbGxlcigpLkZpbGVIYXNoKGFic29sdXRlLCAwKQotICAgICAgICAgICAgYWRkX2RhdGEoc2VsZi5kYiwgIk1zaUZpbGVIYXNoIiwKLSAgICAgICAgICAgICAgICAgICAgIFsobG9naWNhbCwgMCwgZmlsZWhhc2guSW50ZWdlckRhdGEoMSksCi0gICAgICAgICAgICAgICAgICAgICAgIGZpbGVoYXNoLkludGVnZXJEYXRhKDIpLCBmaWxlaGFzaC5JbnRlZ2VyRGF0YSgzKSwKLSAgICAgICAgICAgICAgICAgICAgICAgZmlsZWhhc2guSW50ZWdlckRhdGEoNCkpXSkKLSAgICAgICAgIyBBdXRvbWF0aWNhbGx5IHJlbW92ZSAucHljLy5weW8gZmlsZXMgb24gdW5pbnN0YWxsICgyKQotICAgICAgICAjIFhYWDogYWRkaW5nIHNvIG1hbnkgUmVtb3ZlRmlsZSBlbnRyaWVzIG1ha2VzIGluc3RhbGxlciB1bmJlbGlldmFibHkKLSAgICAgICAgIyBzbG93LiBTbyBpbnN0ZWFkLCB3ZSBoYXZlIHRvIHVzZSB3aWxkY2FyZCByZW1vdmUgZW50cmllcwotICAgICAgICAjIGlmIGZpbGUuZW5kc3dpdGgoIi5weSIpOgotICAgICAgICAjICAgICBhZGRfZGF0YShzZWxmLmRiLCAiUmVtb3ZlRmlsZSIsCi0gICAgICAgICMgICAgICAgICAgICAgIFsobG9naWNhbCsiYyIsIHNlbGYuY29tcG9uZW50LCAiJXNDfCVzYyIgJSAoc2hvcnQsIGZpbGUpLAotICAgICAgICAjICAgICAgICAgICAgICAgIHNlbGYubG9naWNhbCwgMiksCi0gICAgICAgICMgICAgICAgICAgICAgICAobG9naWNhbCsibyIsIHNlbGYuY29tcG9uZW50LCAiJXNPfCVzbyIgJSAoc2hvcnQsIGZpbGUpLAotICAgICAgICAjICAgICAgICAgICAgICAgIHNlbGYubG9naWNhbCwgMildKQotCi0gICAgZGVmIGdsb2Ioc2VsZiwgcGF0dGVybiwgZXhjbHVkZSA9IE5vbmUpOgotICAgICAgICAiIiJBZGQgYSBsaXN0IG9mIGZpbGVzIHRvIHRoZSBjdXJyZW50IGNvbXBvbmVudCBhcyBzcGVjaWZpZWQgaW4gdGhlCi0gICAgICAgIGdsb2IgcGF0dGVybi4gSW5kaXZpZHVhbCBmaWxlcyBjYW4gYmUgZXhjbHVkZWQgaW4gdGhlIGV4Y2x1ZGUgbGlzdC4iIiIKLSAgICAgICAgZmlsZXMgPSBnbG9iLmdsb2IxKHNlbGYuYWJzb2x1dGUsIHBhdHRlcm4pCi0gICAgICAgIGZvciBmIGluIGZpbGVzOgotICAgICAgICAgICAgaWYgZXhjbHVkZSBhbmQgZiBpbiBleGNsdWRlOiBjb250aW51ZQotICAgICAgICAgICAgc2VsZi5hZGRfZmlsZShmKQotICAgICAgICByZXR1cm4gZmlsZXMKLQotICAgIGRlZiByZW1vdmVfcHljKHNlbGYpOgotICAgICAgICAiUmVtb3ZlIC5weWMvLnB5byBmaWxlcyBmcm9tIF9fcHljYWNoZV9fIG9uIHVuaW5zdGFsbCIKLSAgICAgICAgZGlyZWN0b3J5ID0gc2VsZi5sb2dpY2FsICsgIl9weWNhY2hlIgotICAgICAgICBhZGRfZGF0YShzZWxmLmRiLCAiRGlyZWN0b3J5IiwgWyhkaXJlY3RvcnksIHNlbGYubG9naWNhbCwgIl9fUFlDQX4xfF9fcHljYWNoZV9fIildKQotICAgICAgICBmbGFncyA9IDI1NiBpZiBXaW42NCBlbHNlIDAKLSAgICAgICAgYWRkX2RhdGEoc2VsZi5kYiwgIkNvbXBvbmVudCIsCi0gICAgICAgICAgICAgICAgWyhkaXJlY3RvcnksIGdlbl91dWlkKCksIGRpcmVjdG9yeSwgZmxhZ3MsIE5vbmUsIE5vbmUpXSkKLSAgICAgICAgYWRkX2RhdGEoc2VsZi5kYiwgIkZlYXR1cmVDb21wb25lbnRzIiwgWyhjdXJyZW50X2ZlYXR1cmUuaWQsIGRpcmVjdG9yeSldKQotICAgICAgICBhZGRfZGF0YShzZWxmLmRiLCAiQ3JlYXRlRm9sZGVyIiwgWyhkaXJlY3RvcnksIGRpcmVjdG9yeSldKQotICAgICAgICBhZGRfZGF0YShzZWxmLmRiLCAiUmVtb3ZlRmlsZSIsCi0gICAgICAgICAgICAgICAgIFsoc2VsZi5jb21wb25lbnQsIHNlbGYuY29tcG9uZW50LCAiKi4qIiwgZGlyZWN0b3J5LCAyKSwKLSAgICAgICAgICAgICAgICAgXSkKLQotICAgIGRlZiByZW1vdmVmaWxlKHNlbGYsIGtleSwgcGF0dGVybik6Ci0gICAgICAgICJBZGQgYSBSZW1vdmVGaWxlIGVudHJ5IgotICAgICAgICBhZGRfZGF0YShzZWxmLmRiLCAiUmVtb3ZlRmlsZSIsIFsoc2VsZi5jb21wb25lbnQra2V5LCBzZWxmLmNvbXBvbmVudCwgcGF0dGVybiwgc2VsZi5sb2dpY2FsLCAyKV0pCi0KLQotY2xhc3MgRmVhdHVyZToKLSAgICBkZWYgX19pbml0X18oc2VsZiwgZGIsIGlkLCB0aXRsZSwgZGVzYywgZGlzcGxheSwgbGV2ZWwgPSAxLAotICAgICAgICAgICAgICAgICBwYXJlbnQ9Tm9uZSwgZGlyZWN0b3J5ID0gTm9uZSwgYXR0cmlidXRlcz0wKToKLSAgICAgICAgc2VsZi5pZCA9IGlkCi0gICAgICAgIGlmIHBhcmVudDoKLSAgICAgICAgICAgIHBhcmVudCA9IHBhcmVudC5pZAotICAgICAgICBhZGRfZGF0YShkYiwgIkZlYXR1cmUiLAotICAgICAgICAgICAgICAgICAgICAgICAgWyhpZCwgcGFyZW50LCB0aXRsZSwgZGVzYywgZGlzcGxheSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWwsIGRpcmVjdG9yeSwgYXR0cmlidXRlcyldKQotICAgIGRlZiBzZXRfY3VycmVudChzZWxmKToKLSAgICAgICAgZ2xvYmFsIGN1cnJlbnRfZmVhdHVyZQotICAgICAgICBjdXJyZW50X2ZlYXR1cmUgPSBzZWxmCi0KLWNsYXNzIENvbnRyb2w6Ci0gICAgZGVmIF9faW5pdF9fKHNlbGYsIGRsZywgbmFtZSk6Ci0gICAgICAgIHNlbGYuZGxnID0gZGxnCi0gICAgICAgIHNlbGYubmFtZSA9IG5hbWUKLQotICAgIGRlZiBldmVudChzZWxmLCBldiwgYXJnLCBjb25kID0gIjEiLCBvcmRlciA9IE5vbmUpOgotICAgICAgICBhZGRfZGF0YShzZWxmLmRsZy5kYiwgIkNvbnRyb2xFdmVudCIsCi0gICAgICAgICAgICAgICAgIFsoc2VsZi5kbGcubmFtZSwgc2VsZi5uYW1lLCBldiwgYXJnLCBjb25kLCBvcmRlcildKQotCi0gICAgZGVmIG1hcHBpbmcoc2VsZiwgZXYsIGF0dHIpOgotICAgICAgICBhZGRfZGF0YShzZWxmLmRsZy5kYiwgIkV2ZW50TWFwcGluZyIsCi0gICAgICAgICAgICAgICAgIFsoc2VsZi5kbGcubmFtZSwgc2VsZi5uYW1lLCBldiwgYXR0cildKQotCi0gICAgZGVmIGNvbmRpdGlvbihzZWxmLCBhY3Rpb24sIGNvbmRpdGlvbik6Ci0gICAgICAgIGFkZF9kYXRhKHNlbGYuZGxnLmRiLCAiQ29udHJvbENvbmRpdGlvbiIsCi0gICAgICAgICAgICAgICAgIFsoc2VsZi5kbGcubmFtZSwgc2VsZi5uYW1lLCBhY3Rpb24sIGNvbmRpdGlvbildKQotCi1jbGFzcyBSYWRpb0J1dHRvbkdyb3VwKENvbnRyb2wpOgotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBkbGcsIG5hbWUsIHByb3BlcnR5KToKLSAgICAgICAgc2VsZi5kbGcgPSBkbGcKLSAgICAgICAgc2VsZi5uYW1lID0gbmFtZQotICAgICAgICBzZWxmLnByb3BlcnR5ID0gcHJvcGVydHkKLSAgICAgICAgc2VsZi5pbmRleCA9IDEKLQotICAgIGRlZiBhZGQoc2VsZiwgbmFtZSwgeCwgeSwgdywgaCwgdGV4dCwgdmFsdWUgPSBOb25lKToKLSAgICAgICAgaWYgdmFsdWUgaXMgTm9uZToKLSAgICAgICAgICAgIHZhbHVlID0gbmFtZQotICAgICAgICBhZGRfZGF0YShzZWxmLmRsZy5kYiwgIlJhZGlvQnV0dG9uIiwKLSAgICAgICAgICAgICAgICAgWyhzZWxmLnByb3BlcnR5LCBzZWxmLmluZGV4LCB2YWx1ZSwKLSAgICAgICAgICAgICAgICAgICB4LCB5LCB3LCBoLCB0ZXh0LCBOb25lKV0pCi0gICAgICAgIHNlbGYuaW5kZXggKz0gMQotCi1jbGFzcyBEaWFsb2c6Ci0gICAgZGVmIF9faW5pdF9fKHNlbGYsIGRiLCBuYW1lLCB4LCB5LCB3LCBoLCBhdHRyLCB0aXRsZSwgZmlyc3QsIGRlZmF1bHQsIGNhbmNlbCk6Ci0gICAgICAgIHNlbGYuZGIgPSBkYgotICAgICAgICBzZWxmLm5hbWUgPSBuYW1lCi0gICAgICAgIHNlbGYueCwgc2VsZi55LCBzZWxmLncsIHNlbGYuaCA9IHgseSx3LGgKLSAgICAgICAgYWRkX2RhdGEoZGIsICJEaWFsb2ciLCBbKG5hbWUsIHgseSx3LGgsYXR0cix0aXRsZSxmaXJzdCxkZWZhdWx0LGNhbmNlbCldKQotCi0gICAgZGVmIGNvbnRyb2woc2VsZiwgbmFtZSwgdHlwZSwgeCwgeSwgdywgaCwgYXR0ciwgcHJvcCwgdGV4dCwgbmV4dCwgaGVscCk6Ci0gICAgICAgIGFkZF9kYXRhKHNlbGYuZGIsICJDb250cm9sIiwKLSAgICAgICAgICAgICAgICAgWyhzZWxmLm5hbWUsIG5hbWUsIHR5cGUsIHgsIHksIHcsIGgsIGF0dHIsIHByb3AsIHRleHQsIG5leHQsIGhlbHApXSkKLSAgICAgICAgcmV0dXJuIENvbnRyb2woc2VsZiwgbmFtZSkKLQotICAgIGRlZiB0ZXh0KHNlbGYsIG5hbWUsIHgsIHksIHcsIGgsIGF0dHIsIHRleHQpOgotICAgICAgICByZXR1cm4gc2VsZi5jb250cm9sKG5hbWUsICJUZXh0IiwgeCwgeSwgdywgaCwgYXR0ciwgTm9uZSwKLSAgICAgICAgICAgICAgICAgICAgIHRleHQsIE5vbmUsIE5vbmUpCi0KLSAgICBkZWYgYml0bWFwKHNlbGYsIG5hbWUsIHgsIHksIHcsIGgsIHRleHQpOgotICAgICAgICByZXR1cm4gc2VsZi5jb250cm9sKG5hbWUsICJCaXRtYXAiLCB4LCB5LCB3LCBoLCAxLCBOb25lLCB0ZXh0LCBOb25lLCBOb25lKQotCi0gICAgZGVmIGxpbmUoc2VsZiwgbmFtZSwgeCwgeSwgdywgaCk6Ci0gICAgICAgIHJldHVybiBzZWxmLmNvbnRyb2wobmFtZSwgIkxpbmUiLCB4LCB5LCB3LCBoLCAxLCBOb25lLCBOb25lLCBOb25lLCBOb25lKQotCi0gICAgZGVmIHB1c2hidXR0b24oc2VsZiwgbmFtZSwgeCwgeSwgdywgaCwgYXR0ciwgdGV4dCwgbmV4dCk6Ci0gICAgICAgIHJldHVybiBzZWxmLmNvbnRyb2wobmFtZSwgIlB1c2hCdXR0b24iLCB4LCB5LCB3LCBoLCBhdHRyLCBOb25lLCB0ZXh0LCBuZXh0LCBOb25lKQotCi0gICAgZGVmIHJhZGlvZ3JvdXAoc2VsZiwgbmFtZSwgeCwgeSwgdywgaCwgYXR0ciwgcHJvcCwgdGV4dCwgbmV4dCk6Ci0gICAgICAgIGFkZF9kYXRhKHNlbGYuZGIsICJDb250cm9sIiwKLSAgICAgICAgICAgICAgICAgWyhzZWxmLm5hbWUsIG5hbWUsICJSYWRpb0J1dHRvbkdyb3VwIiwKLSAgICAgICAgICAgICAgICAgICB4LCB5LCB3LCBoLCBhdHRyLCBwcm9wLCB0ZXh0LCBuZXh0LCBOb25lKV0pCi0gICAgICAgIHJldHVybiBSYWRpb0J1dHRvbkdyb3VwKHNlbGYsIG5hbWUsIHByb3ApCi0KLSAgICBkZWYgY2hlY2tib3goc2VsZiwgbmFtZSwgeCwgeSwgdywgaCwgYXR0ciwgcHJvcCwgdGV4dCwgbmV4dCk6Ci0gICAgICAgIHJldHVybiBzZWxmLmNvbnRyb2wobmFtZSwgIkNoZWNrQm94IiwgeCwgeSwgdywgaCwgYXR0ciwgcHJvcCwgdGV4dCwgbmV4dCwgTm9uZSkKLQotZGVmIHBlX3R5cGUocGF0aCk6Ci0gICAgaGVhZGVyID0gb3BlbihwYXRoLCAicmIiKS5yZWFkKDEwMDApCi0gICAgIyBvZmZzZXQgb2YgUEUgaGVhZGVyIGlzIGF0IG9mZnNldCAweDNjCi0gICAgcGVfb2Zmc2V0ID0gc3RydWN0LnVucGFjaygiPGkiLCBoZWFkZXJbMHgzYzoweDQwXSlbMF0KLSAgICBhc3NlcnQgaGVhZGVyW3BlX29mZnNldDpwZV9vZmZzZXQrNF0gPT0gIlBFXDBcMCIKLSAgICBtYWNoaW5lID0gc3RydWN0LnVucGFjaygiPEgiLCBoZWFkZXJbcGVfb2Zmc2V0KzQ6cGVfb2Zmc2V0KzZdKVswXQotICAgIHJldHVybiBtYWNoaW5lCi0KLWRlZiBzZXRfYXJjaF9mcm9tX2ZpbGUocGF0aCk6Ci0gICAgZ2xvYmFsIG1zaV90eXBlLCBXaW42NCwgYXJjaF9leHQKLSAgICBtYWNoaW5lID0gcGVfdHlwZShwYXRoKQotICAgIGlmIG1hY2hpbmUgPT0gMHgxNGM6Ci0gICAgICAgICMgaTM4NgotICAgICAgICBtc2lfdHlwZSA9ICJJbnRlbCIKLSAgICAgICAgV2luNjQgPSAwCi0gICAgICAgIGFyY2hfZXh0ID0gJycKLSAgICBlbGlmIG1hY2hpbmUgPT0gMHgyMDA6Ci0gICAgICAgICMgSXRhbml1bQotICAgICAgICBtc2lfdHlwZSA9ICJJbnRlbDY0IgotICAgICAgICBXaW42NCA9IDEKLSAgICAgICAgYXJjaF9leHQgPSAnLmlhNjQnCi0gICAgZWxpZiBtYWNoaW5lID09IDB4ODY2NDoKLSAgICAgICAgIyBBTUQ2NAotICAgICAgICBtc2lfdHlwZSA9ICJ4NjQiCi0gICAgICAgIFdpbjY0ID0gMQotICAgICAgICBhcmNoX2V4dCA9ICcuYW1kNjQnCi0gICAgZWxzZToKLSAgICAgICAgcmFpc2UgVmFsdWVFcnJvciwgIlVuc3VwcG9ydGVkIGFyY2hpdGVjdHVyZSIKLSAgICBtc2lfdHlwZSArPSAiOzEwMzMiCmRpZmYgLS1naXQgYS9Ub29scy9tc2kvbXNpc3VwcG9ydC5jIGIvVG9vbHMvbXNpL21zaXN1cHBvcnQuYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMWZkMmVlNC4uMDAwMDAwMAotLS0gYS9Ub29scy9tc2kvbXNpc3VwcG9ydC5jCisrKyAvZGV2L251bGwKQEAgLTEsOTMgKzAsMCBAQAotI2luY2x1ZGUgIndpbmRvd3MuaCIKLSNpbmNsdWRlICJtc2lxdWVyeS5oIgotCi0vKiBQcmludCBhIGRlYnVnIG1lc3NhZ2UgdG8gdGhlIGluc3RhbGxlciBsb2cgZmlsZS4KLSAqIFRvIHNlZSB0aGUgZGVidWcgbWVzc2FnZXMsIGluc3RhbGwgd2l0aAotICogbXNpZXhlYyAvaSBweXRob254eS5tc2kgL2wqdiBweXRob24ubG9nCi0gKi8KLXN0YXRpYyBVSU5UIGRlYnVnKE1TSUhBTkRMRSBoSW5zdGFsbCwgTFBDU1RSIG1zZykKLXsKLSAgICBNU0lIQU5ETEUgaFJlYyA9IE1zaUNyZWF0ZVJlY29yZCgxKTsKLSAgICBpZiAoIWhSZWMgfHwgTXNpUmVjb3JkU2V0U3RyaW5nQShoUmVjLCAxLCBtc2cpICE9IEVSUk9SX1NVQ0NFU1MpIHsKLSAgICAgICAgcmV0dXJuIEVSUk9SX0lOU1RBTExfRkFJTFVSRTsKLSAgICB9Ci0gICAgTXNpUHJvY2Vzc01lc3NhZ2UoaEluc3RhbGwsIElOU1RBTExNRVNTQUdFX0lORk8sIGhSZWMpOwotICAgIE1zaUNsb3NlSGFuZGxlKGhSZWMpOwotICAgIHJldHVybiBFUlJPUl9TVUNDRVNTOwotfQotCi0vKiBDaGVjayB3aGV0aGVyIHRoZSBUQVJHRVRESVIgZXhpc3RzIGFuZCBpcyBhIGRpcmVjdG9yeS4KLSAqIFNldCBUYXJnZXRFeGlzdHMgYXBwcm9wcmlhdGVseS4KLSAqLwotVUlOVCBfX2RlY2xzcGVjKGRsbGV4cG9ydCkgX19zdGRjYWxsIENoZWNrRGlyKE1TSUhBTkRMRSBoSW5zdGFsbCkKLXsKLSNkZWZpbmUgUFNJWkUgMTAyNAotICAgIFdDSEFSIHdwYXRoW1BTSVpFXTsKLSAgICBjaGFyIHBhdGhbUFNJWkVdOwotICAgIFVJTlQgcmVzdWx0OwotICAgIERXT1JEIHNpemUgPSBQU0laRTsKLSAgICBEV09SRCBhdHRyaWJ1dGVzOwotCi0KLSAgICByZXN1bHQgPSBNc2lHZXRQcm9wZXJ0eVcoaEluc3RhbGwsIEwiVEFSR0VURElSIiwgd3BhdGgsICZzaXplKTsKLSAgICBpZiAocmVzdWx0ICE9IEVSUk9SX1NVQ0NFU1MpCi0gICAgICAgIHJldHVybiByZXN1bHQ7Ci0gICAgd3BhdGhbc2l6ZV0gPSBMJ1wwJzsKLSAgICBwYXRoW3NpemVdID0gTCdcMCc7Ci0KLSAgICBhdHRyaWJ1dGVzID0gR2V0RmlsZUF0dHJpYnV0ZXNXKHdwYXRoKTsKLSAgICBpZiAoYXR0cmlidXRlcyA9PSBJTlZBTElEX0ZJTEVfQVRUUklCVVRFUyB8fAotICAgICAgICAhKGF0dHJpYnV0ZXMgJiBGSUxFX0FUVFJJQlVURV9ESVJFQ1RPUlkpKQotICAgIHsKLSAgICAgICAgcmV0dXJuIE1zaVNldFByb3BlcnR5QShoSW5zdGFsbCwgIlRhcmdldEV4aXN0cyIsICIwIik7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgcmV0dXJuIE1zaVNldFByb3BlcnR5QShoSW5zdGFsbCwgIlRhcmdldEV4aXN0cyIsICIxIik7Ci0gICAgfQotfQotCi0vKiBVcGRhdGUgdGhlIHN0YXRlIG9mIHRoZSBSRUdJU1RSWS50Y2wgY29tcG9uZW50IGFjY29yZGluZyB0byB0aGUKLSAqIEV4dGVuc2lvbiBhbmQgVGNsVGsgZmVhdHVyZXMuIFJFR0lTVFJZLnRjbCBtdXN0IGJlIGluc3RhbGxlZAotICogaWYgYm90aCBmZWF0dXJlcyBhcmUgaW5zdGFsbGVkLCBhbmQgbXVzdCBiZSBhYnNlbnQgb3RoZXJ3aXNlLgotICovCi1VSU5UIF9fZGVjbHNwZWMoZGxsZXhwb3J0KSBfX3N0ZGNhbGwgVXBkYXRlRWRpdElETEUoTVNJSEFORExFIGhJbnN0YWxsKQotewotICAgIElOU1RBTExTVEFURSBleHRfb2xkLCBleHRfbmV3LCB0Y2xfb2xkLCB0Y2xfbmV3LCByZWdfbmV3OwotICAgIFVJTlQgcmVzdWx0OwotCi0gICAgcmVzdWx0ID0gTXNpR2V0RmVhdHVyZVN0YXRlQShoSW5zdGFsbCwgIkV4dGVuc2lvbnMiLCAmZXh0X29sZCwgJmV4dF9uZXcpOwotICAgIGlmIChyZXN1bHQgIT0gRVJST1JfU1VDQ0VTUykKLSAgICAgICAgcmV0dXJuIHJlc3VsdDsKLSAgICByZXN1bHQgPSBNc2lHZXRGZWF0dXJlU3RhdGVBKGhJbnN0YWxsLCAiVGNsVGsiLCAmdGNsX29sZCwgJnRjbF9uZXcpOwotICAgIGlmIChyZXN1bHQgIT0gRVJST1JfU1VDQ0VTUykKLSAgICAgICAgcmV0dXJuIHJlc3VsdDsKLQotICAgIC8qIElmIHRoZSBjdXJyZW50IHN0YXRlIGlzIEFic2VudCwgYW5kIHRoZSB1c2VyIGRpZCBub3Qgc2VsZWN0Ci0gICAgICAgdGhlIGZlYXR1cmUgaW4gdGhlIFVJLCBJbnN0YWxsZXIgYXBwYXJlbnRseSBzZXRzIHRoZSAic2VsZWN0ZWQiCi0gICAgICAgc3RhdGUgdG8gdW5rbm93bi4gVXBkYXRlIGl0IHRvIHRoZSBjdXJyZW50IHZhbHVlLCB0aGVuLiAqLwotICAgIGlmIChleHRfbmV3ID09IElOU1RBTExTVEFURV9VTktOT1dOKQotICAgICAgICBleHRfbmV3ID0gZXh0X29sZDsKLSAgICBpZiAodGNsX25ldyA9PSBJTlNUQUxMU1RBVEVfVU5LTk9XTikKLSAgICAgICAgdGNsX25ldyA9IHRjbF9vbGQ7Ci0KLSAgICAvLyBYWFggY29uc2lkZXIgY3VycmVudCBzdGF0ZSBvZiBSRUdJU1RSWS50Y2w/Ci0gICAgaWYgKCgodGNsX25ldyA9PSBJTlNUQUxMU1RBVEVfTE9DQUwpIHx8Ci0gICAgICAgICAgICAgKHRjbF9uZXcgPT0gSU5TVEFMTFNUQVRFX1NPVVJDRSkgfHwKLSAgICAgICAgICAgICAodGNsX25ldyA9PSBJTlNUQUxMU1RBVEVfREVGQVVMVCkpICYmCi0gICAgICAgICgoZXh0X25ldyA9PSBJTlNUQUxMU1RBVEVfTE9DQUwpIHx8Ci0gICAgICAgICAoZXh0X25ldyA9PSBJTlNUQUxMU1RBVEVfU09VUkNFKSB8fAotICAgICAgICAgKGV4dF9uZXcgPT0gSU5TVEFMTFNUQVRFX0RFRkFVTFQpKSkgewotICAgICAgICByZWdfbmV3ID0gSU5TVEFMTFNUQVRFX1NPVVJDRTsKLSAgICB9IGVsc2UgewotICAgICAgICByZWdfbmV3ID0gSU5TVEFMTFNUQVRFX0FCU0VOVDsKLSAgICB9Ci0gICAgcmVzdWx0ID0gTXNpU2V0Q29tcG9uZW50U3RhdGVBKGhJbnN0YWxsLCAiUkVHSVNUUlkudGNsIiwgcmVnX25ldyk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotQk9PTCBBUElFTlRSWSBEbGxNYWluKEhBTkRMRSBoTW9kdWxlLAotICAgICAgICAgICAgICAgICAgICAgIERXT1JEICB1bF9yZWFzb25fZm9yX2NhbGwsCi0gICAgICAgICAgICAgICAgICAgICAgTFBWT0lEIGxwUmVzZXJ2ZWQpCi17Ci0gICAgcmV0dXJuIFRSVUU7Ci19Ci0KZGlmZiAtLWdpdCBhL1Rvb2xzL21zaS9tc2lzdXBwb3J0Lm1hayBiL1Rvb2xzL21zaS9tc2lzdXBwb3J0Lm1hawpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjkwNWRiZS4uMDAwMDAwMAotLS0gYS9Ub29scy9tc2kvbXNpc3VwcG9ydC5tYWsKKysrIC9kZXYvbnVsbApAQCAtMSw5ICswLDAgQEAKLSMgL09QVDogUkVGIGFuZCBJQ0YgYXJlIGFkZGVkIGJ5IFZTLk5FVCBieSBkZWZhdWx0Ci1tc2lzdXBwb3J0LmRsbDoJbXNpc3VwcG9ydC5vYmoKLQlsaW5rLmV4ZSAvT1VUOm1zaXN1cHBvcnQuZGxsIC9JTkNSRU1FTlRBTDpOTyAvTk9MT0dPIC9ETEwgL1NVQlNZU1RFTTpXSU5ET1dTIC9PUFQ6UkVGIC9PUFQ6SUNGIG1zaXN1cHBvcnQub2JqIG1zaS5saWIga2VybmVsMzIubGliCi0KLSMgV2UgcmVxdWVzdCBhIHN0YXRpYyBDUlQsIHNvIHRoYXQgdGhlcmUgd2lsbCBiZSBubyBDUlQgZGVwZW5kZW5jaWVzCi0jIGZvciB0aGUgdGFyZ2V0IHN5c3RlbS4gV2UgY2Fubm90IGRvIHdpdGhvdXQgYSBDUlQsIHNpbmNlIGl0IHByb3ZpZGVzCi0jIHRoZSBETEwgZW50cnkgcG9pbnQuCi1tc2lzdXBwb3J0Lm9iajoJbXNpc3VwcG9ydC5jCi0JY2wgL08yIC9EIFdJTjMyIC9EIE5ERUJVRyAvRCBfV0lORE9XUyAvTVQgL1czIC9jIG1zaXN1cHBvcnQuYwpkaWZmIC0tZ2l0IGEvVG9vbHMvbXNpL3BhdGgvcGF0aC53aXhwcm9qIGIvVG9vbHMvbXNpL3BhdGgvcGF0aC53aXhwcm9qCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI3OTJlMTQKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9tc2kvcGF0aC9wYXRoLndpeHByb2oKQEAgLTAsMCArMSwxOSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KKzxQcm9qZWN0IFRvb2xzVmVyc2lvbj0iNC4wIiBEZWZhdWx0VGFyZ2V0cz0iQnVpbGQiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2RldmVsb3Blci9tc2J1aWxkLzIwMDMiPgorICAgIDxQcm9wZXJ0eUdyb3VwPgorICAgICAgICA8UHJvamVjdEd1aWQ+ezkxQzk5Mjk4LThFMkUtNDQyMi1BNUFGLUNDNEZGRjlBNThEM308L1Byb2plY3RHdWlkPgorICAgICAgICA8U2NoZW1hVmVyc2lvbj4yLjA8L1NjaGVtYVZlcnNpb24+CisgICAgICAgIDxPdXRwdXROYW1lPnBhdGg8L091dHB1dE5hbWU+CisgICAgICAgIDxPdXRwdXRUeXBlPlBhY2thZ2U8L091dHB1dFR5cGU+CisgICAgICAgIDxTdXBwcmVzc0ljZXM+SUNFNzE8L1N1cHByZXNzSWNlcz4KKyAgICA8L1Byb3BlcnR5R3JvdXA+CisgICAgPEltcG9ydCBQcm9qZWN0PSIuLlxtc2kucHJvcHMiIC8+CisgICAgPEl0ZW1Hcm91cD4KKyAgICAgICAgPENvbXBpbGUgSW5jbHVkZT0iKi53eHMiIC8+CisgICAgPC9JdGVtR3JvdXA+CisgICAgPEl0ZW1Hcm91cD4KKyAgICAgICAgPEVtYmVkZGVkUmVzb3VyY2UgSW5jbHVkZT0iKi53eGwiIC8+CisgICAgPC9JdGVtR3JvdXA+CisgICAgCisgICAgPEltcG9ydCBQcm9qZWN0PSIuLlxtc2kudGFyZ2V0cyIgLz4KKzwvUHJvamVjdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9Ub29scy9tc2kvcGF0aC9wYXRoLnd4cyBiL1Rvb2xzL21zaS9wYXRoL3BhdGgud3hzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdlNDYyZTIKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9tc2kvcGF0aC9wYXRoLnd4cwpAQCAtMCwwICsxLDM1IEBACivvu788P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPFdpeCB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS93aXgvMjAwNi93aSI+CisgICAgPFByb2R1Y3QgSWQ9IioiIExhbmd1YWdlPSIhKGxvYy5MQ0lEKSIgTmFtZT0iIShsb2MuVGl0bGUpIiBWZXJzaW9uPSIkKHZhci5WZXJzaW9uKSIgTWFudWZhY3R1cmVyPSIhKGxvYy5NYW51ZmFjdHVyZXIpIiBVcGdyYWRlQ29kZT0iJCh2YXIuVXBncmFkZUNvZGUpIj4KKyAgICAgICAgPFBhY2thZ2UgSW5zdGFsbGVyVmVyc2lvbj0iMzAwIiBDb21wcmVzc2VkPSJ5ZXMiIEluc3RhbGxTY29wZT0icGVyVXNlciIgUGxhdGZvcm09IiQodmFyLlBsYXRmb3JtKSIgLz4KKyAgICAgICAgCisgICAgICAgIDxQcm9wZXJ0eVJlZiBJZD0iVXBncmFkZVRhYmxlIiAvPgorICAgICAgICA8UHJvcGVydHlSZWYgSWQ9IlJFR0lTVFJZS0VZIiAvPgorICAgICAgICAKKyAgICAgICAgPEZlYXR1cmUgSWQ9IkRlZmF1bHRGZWF0dXJlIiBBbGxvd0FkdmVydGlzZT0ibm8iIFRpdGxlPSIhKGxvYy5UaXRsZSkiIERlc2NyaXB0aW9uPSIhKGxvYy5EZXNjcmlwdGlvbikiPgorICAgICAgICAgICAgPENvbXBvbmVudCBJZD0iUHJlcGVuZFBhdGhfQ1UiIERpcmVjdG9yeT0iSW5zdGFsbERpcmVjdG9yeSIgR3VpZD0iKiI+CisgICAgICAgICAgICAgICAgPENvbmRpdGlvbj5OT1QgQUxMVVNFUlM9MTwvQ29uZGl0aW9uPgorICAgICAgICAgICAgICAgIDxSZWdpc3RyeVZhbHVlIEtleVBhdGg9InllcyIgUm9vdD0iSEtDVSIgS2V5PSJbUkVHSVNUUllLRVldXFByZXBlbmRQYXRoIiBWYWx1ZT0iMSIgVHlwZT0iaW50ZWdlciIgLz4KKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICA8Q3JlYXRlRm9sZGVyIERpcmVjdG9yeT0iU2NyaXB0cyIgLz4KKyAgICAgICAgICAgICAgICA8UmVtb3ZlRm9sZGVyIElkPSJSZW1vdmVfU2NyaXB0c19DVSIgRGlyZWN0b3J5PSJTY3JpcHRzIiBPbj0idW5pbnN0YWxsIiAvPgorICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIDxFbnZpcm9ubWVudCBJZD0iUEFUSF9DVSIgQWN0aW9uPSJzZXQiIE5hbWU9IlBBVEgiIFBhcnQ9ImZpcnN0IiBWYWx1ZT0iW0luc3RhbGxEaXJlY3RvcnldIiAvPgorICAgICAgICAgICAgICAgIDxFbnZpcm9ubWVudCBJZD0iU0NSSVBUU19QQVRIX0NVIiBBY3Rpb249InNldCIgTmFtZT0iUEFUSCIgUGFydD0iZmlyc3QiIFZhbHVlPSJbU2NyaXB0c10iIC8+CisgICAgICAgICAgICA8L0NvbXBvbmVudD4KKyAgICAgICAgICAgIDxDb21wb25lbnQgSWQ9IlByZXBlbmRQYXRoX0xNIiBEaXJlY3Rvcnk9Ikluc3RhbGxEaXJlY3RvcnkiIEd1aWQ9IioiPgorICAgICAgICAgICAgICAgIDxDb25kaXRpb24+QUxMVVNFUlM9MTwvQ29uZGl0aW9uPgorICAgICAgICAgICAgICAgIDxSZWdpc3RyeVZhbHVlIEtleVBhdGg9InllcyIgUm9vdD0iSEtMTSIgS2V5PSJbUkVHSVNUUllLRVldXFByZXBlbmRQYXRoIiBWYWx1ZT0iMSIgVHlwZT0iaW50ZWdlciIgLz4KKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICA8Q3JlYXRlRm9sZGVyIERpcmVjdG9yeT0iU2NyaXB0cyIgLz4KKyAgICAgICAgICAgICAgICA8UmVtb3ZlRm9sZGVyIElkPSJSZW1vdmVfU2NyaXB0c19MTSIgRGlyZWN0b3J5PSJTY3JpcHRzIiBPbj0idW5pbnN0YWxsIiAvPgorICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIDxFbnZpcm9ubWVudCBJZD0iUEFUSF9MTSIgQWN0aW9uPSJzZXQiIE5hbWU9IlBBVEgiIFBhcnQ9ImZpcnN0IiBWYWx1ZT0iW0luc3RhbGxEaXJlY3RvcnldIiBTeXN0ZW09InllcyIgLz4KKyAgICAgICAgICAgICAgICA8RW52aXJvbm1lbnQgSWQ9IlNDUklQVFNfUEFUSF9MTSIgQWN0aW9uPSJzZXQiIE5hbWU9IlBBVEgiIFBhcnQ9ImZpcnN0IiBWYWx1ZT0iW1NjcmlwdHNdIiBTeXN0ZW09InllcyIgLz4KKyAgICAgICAgICAgICAgICA8RW52aXJvbm1lbnQgSWQ9IlBZX1BBVEhFWFRfTE0iIEFjdGlvbj0ic2V0IiBOYW1lPSJQQVRIRVhUIiBQYXJ0PSJsYXN0IiBWYWx1ZT0iLlBZIiBTeXN0ZW09InllcyIgLz4KKyAgICAgICAgICAgICAgICA8RW52aXJvbm1lbnQgSWQ9IlBZV19QQVRIRVhUX0xNIiBBY3Rpb249InNldCIgTmFtZT0iUEFUSEVYVCIgUGFydD0ibGFzdCIgVmFsdWU9Ii5QWVciIFN5c3RlbT0ieWVzIiAvPgorICAgICAgICAgICAgPC9Db21wb25lbnQ+CisgICAgICAgIDwvRmVhdHVyZT4KKyAgICA8L1Byb2R1Y3Q+Cis8L1dpeD4KKwpkaWZmIC0tZ2l0IGEvVG9vbHMvbXNpL3BhdGgvcGF0aF9lbi1VUy53eGwgYi9Ub29scy9tc2kvcGF0aC9wYXRoX2VuLVVTLnd4bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zM2E3ODg2Ci0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvbXNpL3BhdGgvcGF0aF9lbi1VUy53eGwKQEAgLTAsMCArMSw2IEBACivvu788P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgorPFdpeExvY2FsaXphdGlvbiBDdWx0dXJlPSJlbi11cyIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vd2l4LzIwMDYvbG9jYWxpemF0aW9uIj4KKyAgICA8U3RyaW5nIElkPSJEZXNjcmlwdG9yIj5BZGQgdG8gUGF0aDwvU3RyaW5nPgorICAgIDxTdHJpbmcgSWQ9IlNob3J0RGVzY3JpcHRvciI+UGF0aDwvU3RyaW5nPgorICAgIDxTdHJpbmcgSWQ9Ik5vUHl0aG9uIj5ObyAhKGxvYy5Qcm9kdWN0TmFtZSkgaW5zdGFsbGF0aW9uIHdhcyBkZXRlY3RlZC48L1N0cmluZz4KKzwvV2l4TG9jYWxpemF0aW9uPgpkaWZmIC0tZ2l0IGEvVG9vbHMvbXNpL3BpcC9waXAud2l4cHJvaiBiL1Rvb2xzL21zaS9waXAvcGlwLndpeHByb2oKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzE4YzAyYwotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL21zaS9waXAvcGlwLndpeHByb2oKQEAgLTAsMCArMSwxOSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KKzxQcm9qZWN0IFRvb2xzVmVyc2lvbj0iNC4wIiBEZWZhdWx0VGFyZ2V0cz0iQnVpbGQiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2RldmVsb3Blci9tc2J1aWxkLzIwMDMiPgorICAgIDxQcm9wZXJ0eUdyb3VwPgorICAgICAgICA8UHJvamVjdEd1aWQ+ezkxQzk5Mjk4LThFMkUtNDQyMi1BNUFGLUNDNEZGRjlBNThEM308L1Byb2plY3RHdWlkPgorICAgICAgICA8U2NoZW1hVmVyc2lvbj4yLjA8L1NjaGVtYVZlcnNpb24+CisgICAgICAgIDxPdXRwdXROYW1lPnBpcDwvT3V0cHV0TmFtZT4KKyAgICAgICAgPE91dHB1dFR5cGU+UGFja2FnZTwvT3V0cHV0VHlwZT4KKyAgICAgICAgPFN1cHByZXNzSWNlcz5JQ0U3MTwvU3VwcHJlc3NJY2VzPgorICAgIDwvUHJvcGVydHlHcm91cD4KKyAgICA8SW1wb3J0IFByb2plY3Q9Ii4uXG1zaS5wcm9wcyIgLz4KKyAgICA8SXRlbUdyb3VwPgorICAgICAgICA8Q29tcGlsZSBJbmNsdWRlPSIqLnd4cyIgLz4KKyAgICA8L0l0ZW1Hcm91cD4KKyAgICA8SXRlbUdyb3VwPgorICAgICAgICA8RW1iZWRkZWRSZXNvdXJjZSBJbmNsdWRlPSIqLnd4bCIgLz4KKyAgICA8L0l0ZW1Hcm91cD4KKyAgICAKKyAgICA8SW1wb3J0IFByb2plY3Q9Ii4uXG1zaS50YXJnZXRzIiAvPgorPC9Qcm9qZWN0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL1Rvb2xzL21zaS9waXAvcGlwLnd4cyBiL1Rvb2xzL21zaS9waXAvcGlwLnd4cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40YzNkYzU5Ci0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvbXNpL3BpcC9waXAud3hzCkBAIC0wLDAgKzEsNDEgQEAKK++7vzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8V2l4IHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3dpeC8yMDA2L3dpIj4KKyAgICA8UHJvZHVjdCBJZD0iKiIgTGFuZ3VhZ2U9IiEobG9jLkxDSUQpIiBOYW1lPSIhKGxvYy5UaXRsZSkiIFZlcnNpb249IiQodmFyLlZlcnNpb24pIiBNYW51ZmFjdHVyZXI9IiEobG9jLk1hbnVmYWN0dXJlcikiIFVwZ3JhZGVDb2RlPSIkKHZhci5VcGdyYWRlQ29kZSkiPgorICAgICAgICA8UGFja2FnZSBJbnN0YWxsZXJWZXJzaW9uPSIzMDAiIENvbXByZXNzZWQ9InllcyIgSW5zdGFsbFNjb3BlPSJwZXJVc2VyIiBQbGF0Zm9ybT0iJCh2YXIuUGxhdGZvcm0pIiAvPgorICAgICAgICAKKyAgICAgICAgPFByb3BlcnR5UmVmIElkPSJVcGdyYWRlVGFibGUiIC8+CisgICAgICAgIDxQcm9wZXJ0eVJlZiBJZD0iUkVHSVNUUllLRVkiIC8+CisgICAgICAgIAorICAgICAgICA8UHJvcGVydHkgSWQ9IlBZVEhPTl9FWEUiIFNlY3VyZT0ieWVzIj4KKyAgICAgICAgICAgIDxDb21wb25lbnRTZWFyY2ggSWQ9IlB5dGhvbkV4ZSIgR3VpZD0iJCh2YXIuUHl0aG9uRXhlQ29tcG9uZW50R3VpZCkiPgorICAgICAgICAgICAgICAgIDxGaWxlU2VhcmNoIE5hbWU9InB5dGhvbi5leGUiIC8+CisgICAgICAgICAgICA8L0NvbXBvbmVudFNlYXJjaD4KKyAgICAgICAgPC9Qcm9wZXJ0eT4KKworICAgICAgICA8Q29uZGl0aW9uIE1lc3NhZ2U9IiEobG9jLk5vUHl0aG9uKSI+UFlUSE9OX0VYRTwvQ29uZGl0aW9uPgorICAgICAgICAKKyAgICAgICAgPEZlYXR1cmUgSWQ9IkRlZmF1bHRGZWF0dXJlIiBBbGxvd0FkdmVydGlzZT0ibm8iIFRpdGxlPSIhKGxvYy5UaXRsZSkiIERlc2NyaXB0aW9uPSIhKGxvYy5EZXNjcmlwdGlvbikiPgorICAgICAgICAgICAgPENvbXBvbmVudCBJZD0icGlwIiBHdWlkPSIqIiBEaXJlY3Rvcnk9Ikluc3RhbGxEaXJlY3RvcnkiPgorICAgICAgICAgICAgICAgIDxSZWdpc3RyeVZhbHVlIEtleVBhdGg9InllcyIgUm9vdD0iSEtNVSIgS2V5PSJbUkVHSVNUUllLRVldXEVuc3VyZVBpcFJ1biIgVmFsdWU9IjEiIFR5cGU9ImludGVnZXIiIC8+CisgICAgICAgICAgICA8L0NvbXBvbmVudD4KKyAgICAgICAgPC9GZWF0dXJlPgorICAgICAgICAKKyAgICAgICAgPD9pZiAkKHZhci5QbGF0Zm9ybSl+PSJ4NjQiID8+CisgICAgICAgIDxDdXN0b21BY3Rpb24gSWQ9IlVwZGF0ZVBpcCIgQmluYXJ5S2V5PSJXaXhDQSIgRGxsRW50cnk9IkNBUXVpZXRFeGVjNjQiIEV4ZWN1dGU9ImRlZmVycmVkIiBSZXR1cm49Imlnbm9yZSIvPgorICAgICAgICA8P2Vsc2UgPz4KKyAgICAgICAgPEN1c3RvbUFjdGlvbiBJZD0iVXBkYXRlUGlwIiBCaW5hcnlLZXk9IldpeENBIiBEbGxFbnRyeT0iQ0FRdWlldEV4ZWMiIEV4ZWN1dGU9ImRlZmVycmVkIiBSZXR1cm49Imlnbm9yZSIvPgorICAgICAgICA8P2VuZGlmID8+CisgICAgICAgIAorICAgICAgICA8IS0tIEluc3RhbGwvdW5pbnN0YWxsIHBpcCAtLT4KKyAgICAgICAgPEN1c3RvbUFjdGlvbiBJZD0iU2V0VXBkYXRlUGlwQ29tbWFuZExpbmUiIFByb3BlcnR5PSJVcGRhdGVQaXAiIFZhbHVlPSciW1BZVEhPTl9FWEVdIiAtbSBlbnN1cmVwaXAgLVUgLS1kZWZhdWx0LXBpcCcgRXhlY3V0ZT0iaW1tZWRpYXRlIiAvPgorICAgICAgICA8Q3VzdG9tQWN0aW9uIElkPSJTZXRSZW1vdmVQaXBDb21tYW5kTGluZSIgUHJvcGVydHk9IlVwZGF0ZVBpcCIgVmFsdWU9JyJbUFlUSE9OX0VYRV0iIC1CIC1tIGVuc3VyZXBpcC5fdW5pbnN0YWxsJyBFeGVjdXRlPSJpbW1lZGlhdGUiIC8+CisgICAgICAgIAorICAgICAgICA8SW5zdGFsbEV4ZWN1dGVTZXF1ZW5jZT4KKyAgICAgICAgICAgIDxDdXN0b20gQWN0aW9uPSJTZXRVcGRhdGVQaXBDb21tYW5kTGluZSIgQmVmb3JlPSJVcGRhdGVQaXAiPigmYW1wO0RlZmF1bHRGZWF0dXJlPTMpIEFORCBOT1QgKCFEZWZhdWx0RmVhdHVyZT0zKTwvQ3VzdG9tPgorICAgICAgICAgICAgPEN1c3RvbSBBY3Rpb249IlNldFJlbW92ZVBpcENvbW1hbmRMaW5lIiBCZWZvcmU9IlVwZGF0ZVBpcCI+KCZhbXA7RGVmYXVsdEZlYXR1cmU9MikgQU5EICghRGVmYXVsdEZlYXR1cmU9Myk8L0N1c3RvbT4KKworICAgICAgICAgICAgPEN1c3RvbSBBY3Rpb249IlVwZGF0ZVBpcCIgQmVmb3JlPSJJbnN0YWxsRmluYWxpemUiPlVwZGF0ZVBpcDwvQ3VzdG9tPgorICAgICAgICA8L0luc3RhbGxFeGVjdXRlU2VxdWVuY2U+CisgICAgPC9Qcm9kdWN0PgorPC9XaXg+CisKZGlmZiAtLWdpdCBhL1Rvb2xzL21zaS9waXAvcGlwX2VuLVVTLnd4bCBiL1Rvb2xzL21zaS9waXAvcGlwX2VuLVVTLnd4bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jZDBkOWVkCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvbXNpL3BpcC9waXBfZW4tVVMud3hsCkBAIC0wLDAgKzEsNiBAQAor77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KKzxXaXhMb2NhbGl6YXRpb24gQ3VsdHVyZT0iZW4tdXMiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3dpeC8yMDA2L2xvY2FsaXphdGlvbiI+CisgICAgPFN0cmluZyBJZD0iRGVzY3JpcHRvciI+cGlwIEJvb3RzdHJhcDwvU3RyaW5nPgorICAgIDxTdHJpbmcgSWQ9IlNob3J0RGVzY3JpcHRvciI+cGlwPC9TdHJpbmc+CisgICAgPFN0cmluZyBJZD0iTm9QeXRob24iPk5vICEobG9jLlByb2R1Y3ROYW1lKSBpbnN0YWxsYXRpb24gd2FzIGRldGVjdGVkLjwvU3RyaW5nPgorPC9XaXhMb2NhbGl6YXRpb24+CmRpZmYgLS1naXQgYS9Ub29scy9tc2kvc2NoZW1hLnB5IGIvVG9vbHMvbXNpL3NjaGVtYS5weQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMWY3MmU1YS4uMDAwMDAwMAotLS0gYS9Ub29scy9tc2kvc2NoZW1hLnB5CisrKyAvZGV2L251bGwKQEAgLTEsMTAwNyArMCwwIEBACi1mcm9tIG1zaWxpYiBpbXBvcnQgVGFibGUKLQotX1ZhbGlkYXRpb24gPSBUYWJsZSgnX1ZhbGlkYXRpb24nKQotX1ZhbGlkYXRpb24uYWRkX2ZpZWxkKDEsJ1RhYmxlJywxMTU1MikKLV9WYWxpZGF0aW9uLmFkZF9maWVsZCgyLCdDb2x1bW4nLDExNTUyKQotX1ZhbGlkYXRpb24uYWRkX2ZpZWxkKDMsJ051bGxhYmxlJywzMzMyKQotX1ZhbGlkYXRpb24uYWRkX2ZpZWxkKDQsJ01pblZhbHVlJyw0MzU2KQotX1ZhbGlkYXRpb24uYWRkX2ZpZWxkKDUsJ01heFZhbHVlJyw0MzU2KQotX1ZhbGlkYXRpb24uYWRkX2ZpZWxkKDYsJ0tleVRhYmxlJyw3Njc5KQotX1ZhbGlkYXRpb24uYWRkX2ZpZWxkKDcsJ0tleUNvbHVtbicsNTM3OCkKLV9WYWxpZGF0aW9uLmFkZF9maWVsZCg4LCdDYXRlZ29yeScsNzQ1NikKLV9WYWxpZGF0aW9uLmFkZF9maWVsZCg5LCdTZXQnLDc2NzkpCi1fVmFsaWRhdGlvbi5hZGRfZmllbGQoMTAsJ0Rlc2NyaXB0aW9uJyw3Njc5KQotCi1BY3Rpb25UZXh0ID0gVGFibGUoJ0FjdGlvblRleHQnKQotQWN0aW9uVGV4dC5hZGRfZmllbGQoMSwnQWN0aW9uJywxMTU5MikKLUFjdGlvblRleHQuYWRkX2ZpZWxkKDIsJ0Rlc2NyaXB0aW9uJyw3OTM2KQotQWN0aW9uVGV4dC5hZGRfZmllbGQoMywnVGVtcGxhdGUnLDc5MzYpCi0KLUFkbWluRXhlY3V0ZVNlcXVlbmNlID0gVGFibGUoJ0FkbWluRXhlY3V0ZVNlcXVlbmNlJykKLUFkbWluRXhlY3V0ZVNlcXVlbmNlLmFkZF9maWVsZCgxLCdBY3Rpb24nLDB4MkRGRikKLUFkbWluRXhlY3V0ZVNlcXVlbmNlLmFkZF9maWVsZCgyLCdDb25kaXRpb24nLDc2NzkpCi1BZG1pbkV4ZWN1dGVTZXF1ZW5jZS5hZGRfZmllbGQoMywnU2VxdWVuY2UnLDUzNzgpCi0KLUNvbmRpdGlvbiA9IFRhYmxlKCdDb25kaXRpb24nKQotQ29uZGl0aW9uLmFkZF9maWVsZCgxLCdGZWF0dXJlXycsMTE1NTgpCi1Db25kaXRpb24uYWRkX2ZpZWxkKDIsJ0xldmVsJyw5NDc0KQotQ29uZGl0aW9uLmFkZF9maWVsZCgzLCdDb25kaXRpb24nLDc2NzkpCi0KLUFkbWluVUlTZXF1ZW5jZSA9IFRhYmxlKCdBZG1pblVJU2VxdWVuY2UnKQotQWRtaW5VSVNlcXVlbmNlLmFkZF9maWVsZCgxLCdBY3Rpb24nLDB4MkRGRikKLUFkbWluVUlTZXF1ZW5jZS5hZGRfZmllbGQoMiwnQ29uZGl0aW9uJyw3Njc5KQotQWRtaW5VSVNlcXVlbmNlLmFkZF9maWVsZCgzLCdTZXF1ZW5jZScsNTM3OCkKLQotQWR2dEV4ZWN1dGVTZXF1ZW5jZSA9IFRhYmxlKCdBZHZ0RXhlY3V0ZVNlcXVlbmNlJykKLUFkdnRFeGVjdXRlU2VxdWVuY2UuYWRkX2ZpZWxkKDEsJ0FjdGlvbicsMHgyREZGKQotQWR2dEV4ZWN1dGVTZXF1ZW5jZS5hZGRfZmllbGQoMiwnQ29uZGl0aW9uJyw3Njc5KQotQWR2dEV4ZWN1dGVTZXF1ZW5jZS5hZGRfZmllbGQoMywnU2VxdWVuY2UnLDUzNzgpCi0KLUFkdnRVSVNlcXVlbmNlID0gVGFibGUoJ0FkdnRVSVNlcXVlbmNlJykKLUFkdnRVSVNlcXVlbmNlLmFkZF9maWVsZCgxLCdBY3Rpb24nLDExNTkyKQotQWR2dFVJU2VxdWVuY2UuYWRkX2ZpZWxkKDIsJ0NvbmRpdGlvbicsNzY3OSkKLUFkdnRVSVNlcXVlbmNlLmFkZF9maWVsZCgzLCdTZXF1ZW5jZScsNTM3OCkKLQotQXBwSWQgPSBUYWJsZSgnQXBwSWQnKQotQXBwSWQuYWRkX2ZpZWxkKDEsJ0FwcElkJywxMTU1OCkKLUFwcElkLmFkZF9maWVsZCgyLCdSZW1vdGVTZXJ2ZXJOYW1lJyw3Njc5KQotQXBwSWQuYWRkX2ZpZWxkKDMsJ0xvY2FsU2VydmljZScsNzY3OSkKLUFwcElkLmFkZF9maWVsZCg0LCdTZXJ2aWNlUGFyYW1ldGVycycsNzY3OSkKLUFwcElkLmFkZF9maWVsZCg1LCdEbGxTdXJyb2dhdGUnLDc2NzkpCi1BcHBJZC5hZGRfZmllbGQoNiwnQWN0aXZhdGVBdFN0b3JhZ2UnLDUzNzgpCi1BcHBJZC5hZGRfZmllbGQoNywnUnVuQXNJbnRlcmFjdGl2ZVVzZXInLDUzNzgpCi0KLUFwcFNlYXJjaCA9IFRhYmxlKCdBcHBTZWFyY2gnKQotQXBwU2VhcmNoLmFkZF9maWVsZCgxLCdQcm9wZXJ0eScsMTE1OTIpCi1BcHBTZWFyY2guYWRkX2ZpZWxkKDIsJ1NpZ25hdHVyZV8nLDExNTkyKQotCi1Qcm9wZXJ0eSA9IFRhYmxlKCdQcm9wZXJ0eScpCi1Qcm9wZXJ0eS5hZGRfZmllbGQoMSwnUHJvcGVydHknLDExNTkyKQotUHJvcGVydHkuYWRkX2ZpZWxkKDIsJ1ZhbHVlJywzODQwKQotCi1CQkNvbnRyb2wgPSBUYWJsZSgnQkJDb250cm9sJykKLUJCQ29udHJvbC5hZGRfZmllbGQoMSwnQmlsbGJvYXJkXycsMTE1NzApCi1CQkNvbnRyb2wuYWRkX2ZpZWxkKDIsJ0JCQ29udHJvbCcsMTE1NzApCi1CQkNvbnRyb2wuYWRkX2ZpZWxkKDMsJ1R5cGUnLDMzNzgpCi1CQkNvbnRyb2wuYWRkX2ZpZWxkKDQsJ1gnLDEyODIpCi1CQkNvbnRyb2wuYWRkX2ZpZWxkKDUsJ1knLDEyODIpCi1CQkNvbnRyb2wuYWRkX2ZpZWxkKDYsJ1dpZHRoJywxMjgyKQotQkJDb250cm9sLmFkZF9maWVsZCg3LCdIZWlnaHQnLDEyODIpCi1CQkNvbnRyb2wuYWRkX2ZpZWxkKDgsJ0F0dHJpYnV0ZXMnLDQzNTYpCi1CQkNvbnRyb2wuYWRkX2ZpZWxkKDksJ1RleHQnLDc5ODYpCi0KLUJpbGxib2FyZCA9IFRhYmxlKCdCaWxsYm9hcmQnKQotQmlsbGJvYXJkLmFkZF9maWVsZCgxLCdCaWxsYm9hcmQnLDExNTcwKQotQmlsbGJvYXJkLmFkZF9maWVsZCgyLCdGZWF0dXJlXycsMzM2NikKLUJpbGxib2FyZC5hZGRfZmllbGQoMywnQWN0aW9uJyw3NDc0KQotQmlsbGJvYXJkLmFkZF9maWVsZCg0LCdPcmRlcmluZycsNTM3OCkKLQotRmVhdHVyZSA9IFRhYmxlKCdGZWF0dXJlJykKLUZlYXR1cmUuYWRkX2ZpZWxkKDEsJ0ZlYXR1cmUnLDExNTU4KQotRmVhdHVyZS5hZGRfZmllbGQoMiwnRmVhdHVyZV9QYXJlbnQnLDc0NjIpCi1GZWF0dXJlLmFkZF9maWVsZCgzLCdUaXRsZScsODAwMCkKLUZlYXR1cmUuYWRkX2ZpZWxkKDQsJ0Rlc2NyaXB0aW9uJyw4MTkxKQotRmVhdHVyZS5hZGRfZmllbGQoNSwnRGlzcGxheScsNTM3OCkKLUZlYXR1cmUuYWRkX2ZpZWxkKDYsJ0xldmVsJywxMjgyKQotRmVhdHVyZS5hZGRfZmllbGQoNywnRGlyZWN0b3J5XycsMHgxREZGKQotRmVhdHVyZS5hZGRfZmllbGQoOCwnQXR0cmlidXRlcycsMTI4MikKLQotQmluYXJ5ID0gVGFibGUoJ0JpbmFyeScpCi1CaW5hcnkuYWRkX2ZpZWxkKDEsJ05hbWUnLDExNTkyKQotQmluYXJ5LmFkZF9maWVsZCgyLCdEYXRhJywyMzA0KQotCi1CaW5kSW1hZ2UgPSBUYWJsZSgnQmluZEltYWdlJykKLUJpbmRJbWFnZS5hZGRfZmllbGQoMSwnRmlsZV8nLDB4MkRGRikKLUJpbmRJbWFnZS5hZGRfZmllbGQoMiwnUGF0aCcsNzY3OSkKLQotRmlsZSA9IFRhYmxlKCdGaWxlJykKLUZpbGUuYWRkX2ZpZWxkKDEsJ0ZpbGUnLDB4MkRGRikKLUZpbGUuYWRkX2ZpZWxkKDIsJ0NvbXBvbmVudF8nLDB4REZGKQotRmlsZS5hZGRfZmllbGQoMywnRmlsZU5hbWUnLDQwOTUpCi1GaWxlLmFkZF9maWVsZCg0LCdGaWxlU2l6ZScsMjYwKQotRmlsZS5hZGRfZmllbGQoNSwnVmVyc2lvbicsMHgxREZGKQotRmlsZS5hZGRfZmllbGQoNiwnTGFuZ3VhZ2UnLDc0NDQpCi1GaWxlLmFkZF9maWVsZCg3LCdBdHRyaWJ1dGVzJyw1Mzc4KQotRmlsZS5hZGRfZmllbGQoOCwnU2VxdWVuY2UnLDEyODIpCi0KLUNDUFNlYXJjaCA9IFRhYmxlKCdDQ1BTZWFyY2gnKQotQ0NQU2VhcmNoLmFkZF9maWVsZCgxLCdTaWduYXR1cmVfJywxMTU5MikKLQotQ2hlY2tCb3ggPSBUYWJsZSgnQ2hlY2tCb3gnKQotQ2hlY2tCb3guYWRkX2ZpZWxkKDEsJ1Byb3BlcnR5JywxMTU5MikKLUNoZWNrQm94LmFkZF9maWVsZCgyLCdWYWx1ZScsNzQ4OCkKLQotQ2xhc3MgPSBUYWJsZSgnQ2xhc3MnKQotQ2xhc3MuYWRkX2ZpZWxkKDEsJ0NMU0lEJywxMTU1OCkKLUNsYXNzLmFkZF9maWVsZCgyLCdDb250ZXh0JywxMTU1MikKLUNsYXNzLmFkZF9maWVsZCgzLCdDb21wb25lbnRfJywweDJERkYpCi1DbGFzcy5hZGRfZmllbGQoNCwnUHJvZ0lkX0RlZmF1bHQnLDc2NzkpCi1DbGFzcy5hZGRfZmllbGQoNSwnRGVzY3JpcHRpb24nLDgxOTEpCi1DbGFzcy5hZGRfZmllbGQoNiwnQXBwSWRfJyw3NDYyKQotQ2xhc3MuYWRkX2ZpZWxkKDcsJ0ZpbGVUeXBlTWFzaycsNzY3OSkKLUNsYXNzLmFkZF9maWVsZCg4LCdJY29uXycsNzQ5NikKLUNsYXNzLmFkZF9maWVsZCg5LCdJY29uSW5kZXgnLDUzNzgpCi1DbGFzcy5hZGRfZmllbGQoMTAsJ0RlZklucHJvY0hhbmRsZXInLDc0NTYpCi1DbGFzcy5hZGRfZmllbGQoMTEsJ0FyZ3VtZW50Jyw3Njc5KQotQ2xhc3MuYWRkX2ZpZWxkKDEyLCdGZWF0dXJlXycsMzM2NikKLUNsYXNzLmFkZF9maWVsZCgxMywnQXR0cmlidXRlcycsNTM3OCkKLQotQ29tcG9uZW50ID0gVGFibGUoJ0NvbXBvbmVudCcpCi1Db21wb25lbnQuYWRkX2ZpZWxkKDEsJ0NvbXBvbmVudCcsMHgyREZGKQotQ29tcG9uZW50LmFkZF9maWVsZCgyLCdDb21wb25lbnRJZCcsNzQ2MikKLUNvbXBvbmVudC5hZGRfZmllbGQoMywnRGlyZWN0b3J5XycsMHhERkYpCi1Db21wb25lbnQuYWRkX2ZpZWxkKDQsJ0F0dHJpYnV0ZXMnLDEyODIpCi1Db21wb25lbnQuYWRkX2ZpZWxkKDUsJ0NvbmRpdGlvbicsNzY3OSkKLUNvbXBvbmVudC5hZGRfZmllbGQoNiwnS2V5UGF0aCcsMHgxREZGKQotCi1JY29uID0gVGFibGUoJ0ljb24nKQotSWNvbi5hZGRfZmllbGQoMSwnTmFtZScsMTE1OTIpCi1JY29uLmFkZF9maWVsZCgyLCdEYXRhJywyMzA0KQotCi1Qcm9nSWQgPSBUYWJsZSgnUHJvZ0lkJykKLVByb2dJZC5hZGRfZmllbGQoMSwnUHJvZ0lkJywxMTc3NSkKLVByb2dJZC5hZGRfZmllbGQoMiwnUHJvZ0lkX1BhcmVudCcsNzY3OSkKLVByb2dJZC5hZGRfZmllbGQoMywnQ2xhc3NfJyw3NDYyKQotUHJvZ0lkLmFkZF9maWVsZCg0LCdEZXNjcmlwdGlvbicsODE5MSkKLVByb2dJZC5hZGRfZmllbGQoNSwnSWNvbl8nLDc0OTYpCi1Qcm9nSWQuYWRkX2ZpZWxkKDYsJ0ljb25JbmRleCcsNTM3OCkKLQotQ29tYm9Cb3ggPSBUYWJsZSgnQ29tYm9Cb3gnKQotQ29tYm9Cb3guYWRkX2ZpZWxkKDEsJ1Byb3BlcnR5JywxMTU5MikKLUNvbWJvQm94LmFkZF9maWVsZCgyLCdPcmRlcicsOTQ3NCkKLUNvbWJvQm94LmFkZF9maWVsZCgzLCdWYWx1ZScsMzM5MikKLUNvbWJvQm94LmFkZF9maWVsZCg0LCdUZXh0Jyw4MDAwKQotCi1Db21wTG9jYXRvciA9IFRhYmxlKCdDb21wTG9jYXRvcicpCi1Db21wTG9jYXRvci5hZGRfZmllbGQoMSwnU2lnbmF0dXJlXycsMTE1OTIpCi1Db21wTG9jYXRvci5hZGRfZmllbGQoMiwnQ29tcG9uZW50SWQnLDMzNjYpCi1Db21wTG9jYXRvci5hZGRfZmllbGQoMywnVHlwZScsNTM3OCkKLQotQ29tcGx1cyA9IFRhYmxlKCdDb21wbHVzJykKLUNvbXBsdXMuYWRkX2ZpZWxkKDEsJ0NvbXBvbmVudF8nLDB4MkRGRikKLUNvbXBsdXMuYWRkX2ZpZWxkKDIsJ0V4cFR5cGUnLDEzNTcwKQotCi1EaXJlY3RvcnkgPSBUYWJsZSgnRGlyZWN0b3J5JykKLURpcmVjdG9yeS5hZGRfZmllbGQoMSwnRGlyZWN0b3J5JywweDJERkYpCi1EaXJlY3RvcnkuYWRkX2ZpZWxkKDIsJ0RpcmVjdG9yeV9QYXJlbnQnLDB4MURGRikKLURpcmVjdG9yeS5hZGRfZmllbGQoMywnRGVmYXVsdERpcicsNDA5NSkKLQotQ29udHJvbCA9IFRhYmxlKCdDb250cm9sJykKLUNvbnRyb2wuYWRkX2ZpZWxkKDEsJ0RpYWxvZ18nLDExNTkyKQotQ29udHJvbC5hZGRfZmllbGQoMiwnQ29udHJvbCcsMTE1NzApCi1Db250cm9sLmFkZF9maWVsZCgzLCdUeXBlJywzMzQ4KQotQ29udHJvbC5hZGRfZmllbGQoNCwnWCcsMTI4MikKLUNvbnRyb2wuYWRkX2ZpZWxkKDUsJ1knLDEyODIpCi1Db250cm9sLmFkZF9maWVsZCg2LCdXaWR0aCcsMTI4MikKLUNvbnRyb2wuYWRkX2ZpZWxkKDcsJ0hlaWdodCcsMTI4MikKLUNvbnRyb2wuYWRkX2ZpZWxkKDgsJ0F0dHJpYnV0ZXMnLDQzNTYpCi1Db250cm9sLmFkZF9maWVsZCg5LCdQcm9wZXJ0eScsNzQ3NCkKLUNvbnRyb2wuYWRkX2ZpZWxkKDEwLCdUZXh0Jyw3OTM2KQotQ29udHJvbC5hZGRfZmllbGQoMTEsJ0NvbnRyb2xfTmV4dCcsNzQ3NCkKLUNvbnRyb2wuYWRkX2ZpZWxkKDEyLCdIZWxwJyw3OTg2KQotCi1EaWFsb2cgPSBUYWJsZSgnRGlhbG9nJykKLURpYWxvZy5hZGRfZmllbGQoMSwnRGlhbG9nJywxMTU5MikKLURpYWxvZy5hZGRfZmllbGQoMiwnSENlbnRlcmluZycsMTI4MikKLURpYWxvZy5hZGRfZmllbGQoMywnVkNlbnRlcmluZycsMTI4MikKLURpYWxvZy5hZGRfZmllbGQoNCwnV2lkdGgnLDEyODIpCi1EaWFsb2cuYWRkX2ZpZWxkKDUsJ0hlaWdodCcsMTI4MikKLURpYWxvZy5hZGRfZmllbGQoNiwnQXR0cmlidXRlcycsNDM1NikKLURpYWxvZy5hZGRfZmllbGQoNywnVGl0bGUnLDgwNjQpCi1EaWFsb2cuYWRkX2ZpZWxkKDgsJ0NvbnRyb2xfRmlyc3QnLDMzNzgpCi1EaWFsb2cuYWRkX2ZpZWxkKDksJ0NvbnRyb2xfRGVmYXVsdCcsNzQ3NCkKLURpYWxvZy5hZGRfZmllbGQoMTAsJ0NvbnRyb2xfQ2FuY2VsJyw3NDc0KQotCi1Db250cm9sQ29uZGl0aW9uID0gVGFibGUoJ0NvbnRyb2xDb25kaXRpb24nKQotQ29udHJvbENvbmRpdGlvbi5hZGRfZmllbGQoMSwnRGlhbG9nXycsMTE1OTIpCi1Db250cm9sQ29uZGl0aW9uLmFkZF9maWVsZCgyLCdDb250cm9sXycsMTE1NzApCi1Db250cm9sQ29uZGl0aW9uLmFkZF9maWVsZCgzLCdBY3Rpb24nLDExNTcwKQotQ29udHJvbENvbmRpdGlvbi5hZGRfZmllbGQoNCwnQ29uZGl0aW9uJywxMTc3NSkKLQotQ29udHJvbEV2ZW50ID0gVGFibGUoJ0NvbnRyb2xFdmVudCcpCi1Db250cm9sRXZlbnQuYWRkX2ZpZWxkKDEsJ0RpYWxvZ18nLDExNTkyKQotQ29udHJvbEV2ZW50LmFkZF9maWVsZCgyLCdDb250cm9sXycsMTE1NzApCi1Db250cm9sRXZlbnQuYWRkX2ZpZWxkKDMsJ0V2ZW50JywxMTU3MCkKLUNvbnRyb2xFdmVudC5hZGRfZmllbGQoNCwnQXJndW1lbnQnLDExNzc1KQotQ29udHJvbEV2ZW50LmFkZF9maWVsZCg1LCdDb25kaXRpb24nLDE1ODcxKQotQ29udHJvbEV2ZW50LmFkZF9maWVsZCg2LCdPcmRlcmluZycsNTM3OCkKLQotQ3JlYXRlRm9sZGVyID0gVGFibGUoJ0NyZWF0ZUZvbGRlcicpCi1DcmVhdGVGb2xkZXIuYWRkX2ZpZWxkKDEsJ0RpcmVjdG9yeV8nLDB4MkRGRikKLUNyZWF0ZUZvbGRlci5hZGRfZmllbGQoMiwnQ29tcG9uZW50XycsMHgyREZGKQotCi1DdXN0b21BY3Rpb24gPSBUYWJsZSgnQ3VzdG9tQWN0aW9uJykKLUN1c3RvbUFjdGlvbi5hZGRfZmllbGQoMSwnQWN0aW9uJywweDJERkYpCi1DdXN0b21BY3Rpb24uYWRkX2ZpZWxkKDIsJ1R5cGUnLDEyODIpCi1DdXN0b21BY3Rpb24uYWRkX2ZpZWxkKDMsJ1NvdXJjZScsMHgxREZGKQotQ3VzdG9tQWN0aW9uLmFkZF9maWVsZCg0LCdUYXJnZXQnLDc2NzkpCi0KLURyTG9jYXRvciA9IFRhYmxlKCdEckxvY2F0b3InKQotRHJMb2NhdG9yLmFkZF9maWVsZCgxLCdTaWduYXR1cmVfJywxMTU5MikKLURyTG9jYXRvci5hZGRfZmllbGQoMiwnUGFyZW50JywxNTY4OCkKLURyTG9jYXRvci5hZGRfZmllbGQoMywnUGF0aCcsMTU4NzEpCi1EckxvY2F0b3IuYWRkX2ZpZWxkKDQsJ0RlcHRoJyw1Mzc4KQotCi1EdXBsaWNhdGVGaWxlID0gVGFibGUoJ0R1cGxpY2F0ZUZpbGUnKQotRHVwbGljYXRlRmlsZS5hZGRfZmllbGQoMSwnRmlsZUtleScsMTE1OTIpCi1EdXBsaWNhdGVGaWxlLmFkZF9maWVsZCgyLCdDb21wb25lbnRfJywweERGRikKLUR1cGxpY2F0ZUZpbGUuYWRkX2ZpZWxkKDMsJ0ZpbGVfJywweERGRikKLUR1cGxpY2F0ZUZpbGUuYWRkX2ZpZWxkKDQsJ0Rlc3ROYW1lJyw4MTkxKQotRHVwbGljYXRlRmlsZS5hZGRfZmllbGQoNSwnRGVzdEZvbGRlcicsNzQ5NikKLQotRW52aXJvbm1lbnQgPSBUYWJsZSgnRW52aXJvbm1lbnQnKQotRW52aXJvbm1lbnQuYWRkX2ZpZWxkKDEsJ0Vudmlyb25tZW50JywxMTU5MikKLUVudmlyb25tZW50LmFkZF9maWVsZCgyLCdOYW1lJyw0MDk1KQotRW52aXJvbm1lbnQuYWRkX2ZpZWxkKDMsJ1ZhbHVlJyw4MTkxKQotRW52aXJvbm1lbnQuYWRkX2ZpZWxkKDQsJ0NvbXBvbmVudF8nLDB4REZGKQotCi1FcnJvciA9IFRhYmxlKCdFcnJvcicpCi1FcnJvci5hZGRfZmllbGQoMSwnRXJyb3InLDk0NzQpCi1FcnJvci5hZGRfZmllbGQoMiwnTWVzc2FnZScsNzkzNikKLQotRXZlbnRNYXBwaW5nID0gVGFibGUoJ0V2ZW50TWFwcGluZycpCi1FdmVudE1hcHBpbmcuYWRkX2ZpZWxkKDEsJ0RpYWxvZ18nLDExNTkyKQotRXZlbnRNYXBwaW5nLmFkZF9maWVsZCgyLCdDb250cm9sXycsMTE1NzApCi1FdmVudE1hcHBpbmcuYWRkX2ZpZWxkKDMsJ0V2ZW50JywxMTU3MCkKLUV2ZW50TWFwcGluZy5hZGRfZmllbGQoNCwnQXR0cmlidXRlJywzMzc4KQotCi1FeHRlbnNpb24gPSBUYWJsZSgnRXh0ZW5zaW9uJykKLUV4dGVuc2lvbi5hZGRfZmllbGQoMSwnRXh0ZW5zaW9uJywxMTc3NSkKLUV4dGVuc2lvbi5hZGRfZmllbGQoMiwnQ29tcG9uZW50XycsMHgyREZGKQotRXh0ZW5zaW9uLmFkZF9maWVsZCgzLCdQcm9nSWRfJyw3Njc5KQotRXh0ZW5zaW9uLmFkZF9maWVsZCg0LCdNSU1FXycsNzQ4OCkKLUV4dGVuc2lvbi5hZGRfZmllbGQoNSwnRmVhdHVyZV8nLDMzNjYpCi0KLU1JTUUgPSBUYWJsZSgnTUlNRScpCi1NSU1FLmFkZF9maWVsZCgxLCdDb250ZW50VHlwZScsMTE1ODQpCi1NSU1FLmFkZF9maWVsZCgyLCdFeHRlbnNpb25fJywzNTgzKQotTUlNRS5hZGRfZmllbGQoMywnQ0xTSUQnLDc0NjIpCi0KLUZlYXR1cmVDb21wb25lbnRzID0gVGFibGUoJ0ZlYXR1cmVDb21wb25lbnRzJykKLUZlYXR1cmVDb21wb25lbnRzLmFkZF9maWVsZCgxLCdGZWF0dXJlXycsMTE1NTgpCi1GZWF0dXJlQ29tcG9uZW50cy5hZGRfZmllbGQoMiwnQ29tcG9uZW50XycsMHgyREZGKQotCi1GaWxlU0ZQQ2F0YWxvZyA9IFRhYmxlKCdGaWxlU0ZQQ2F0YWxvZycpCi1GaWxlU0ZQQ2F0YWxvZy5hZGRfZmllbGQoMSwnRmlsZV8nLDB4MkRGRikKLUZpbGVTRlBDYXRhbG9nLmFkZF9maWVsZCgyLCdTRlBDYXRhbG9nXycsMTE3NzUpCi0KLVNGUENhdGFsb2cgPSBUYWJsZSgnU0ZQQ2F0YWxvZycpCi1TRlBDYXRhbG9nLmFkZF9maWVsZCgxLCdTRlBDYXRhbG9nJywxMTc3NSkKLVNGUENhdGFsb2cuYWRkX2ZpZWxkKDIsJ0NhdGFsb2cnLDIzMDQpCi1TRlBDYXRhbG9nLmFkZF9maWVsZCgzLCdEZXBlbmRlbmN5Jyw3NDI0KQotCi1Gb250ID0gVGFibGUoJ0ZvbnQnKQotRm9udC5hZGRfZmllbGQoMSwnRmlsZV8nLDB4MkRGRikKLUZvbnQuYWRkX2ZpZWxkKDIsJ0ZvbnRUaXRsZScsNzU1MikKLQotSW5pRmlsZSA9IFRhYmxlKCdJbmlGaWxlJykKLUluaUZpbGUuYWRkX2ZpZWxkKDEsJ0luaUZpbGUnLDExNTkyKQotSW5pRmlsZS5hZGRfZmllbGQoMiwnRmlsZU5hbWUnLDQwOTUpCi1JbmlGaWxlLmFkZF9maWVsZCgzLCdEaXJQcm9wZXJ0eScsNzQ5NikKLUluaUZpbGUuYWRkX2ZpZWxkKDQsJ1NlY3Rpb24nLDM5MzYpCi1JbmlGaWxlLmFkZF9maWVsZCg1LCdLZXknLDM5NjgpCi1JbmlGaWxlLmFkZF9maWVsZCg2LCdWYWx1ZScsNDA5NSkKLUluaUZpbGUuYWRkX2ZpZWxkKDcsJ0FjdGlvbicsMTI4MikKLUluaUZpbGUuYWRkX2ZpZWxkKDgsJ0NvbXBvbmVudF8nLDB4REZGKQotCi1JbmlMb2NhdG9yID0gVGFibGUoJ0luaUxvY2F0b3InKQotSW5pTG9jYXRvci5hZGRfZmllbGQoMSwnU2lnbmF0dXJlXycsMTE1OTIpCi1JbmlMb2NhdG9yLmFkZF9maWVsZCgyLCdGaWxlTmFtZScsMzU4MykKLUluaUxvY2F0b3IuYWRkX2ZpZWxkKDMsJ1NlY3Rpb24nLDM0MjQpCi1JbmlMb2NhdG9yLmFkZF9maWVsZCg0LCdLZXknLDM0NTYpCi1JbmlMb2NhdG9yLmFkZF9maWVsZCg1LCdGaWVsZCcsNTM3OCkKLUluaUxvY2F0b3IuYWRkX2ZpZWxkKDYsJ1R5cGUnLDUzNzgpCi0KLUluc3RhbGxFeGVjdXRlU2VxdWVuY2UgPSBUYWJsZSgnSW5zdGFsbEV4ZWN1dGVTZXF1ZW5jZScpCi1JbnN0YWxsRXhlY3V0ZVNlcXVlbmNlLmFkZF9maWVsZCgxLCdBY3Rpb24nLDB4MkRGRikKLUluc3RhbGxFeGVjdXRlU2VxdWVuY2UuYWRkX2ZpZWxkKDIsJ0NvbmRpdGlvbicsNzY3OSkKLUluc3RhbGxFeGVjdXRlU2VxdWVuY2UuYWRkX2ZpZWxkKDMsJ1NlcXVlbmNlJyw1Mzc4KQotCi1JbnN0YWxsVUlTZXF1ZW5jZSA9IFRhYmxlKCdJbnN0YWxsVUlTZXF1ZW5jZScpCi1JbnN0YWxsVUlTZXF1ZW5jZS5hZGRfZmllbGQoMSwnQWN0aW9uJywweDJERkYpCi1JbnN0YWxsVUlTZXF1ZW5jZS5hZGRfZmllbGQoMiwnQ29uZGl0aW9uJyw3Njc5KQotSW5zdGFsbFVJU2VxdWVuY2UuYWRkX2ZpZWxkKDMsJ1NlcXVlbmNlJyw1Mzc4KQotCi1Jc29sYXRlZENvbXBvbmVudCA9IFRhYmxlKCdJc29sYXRlZENvbXBvbmVudCcpCi1Jc29sYXRlZENvbXBvbmVudC5hZGRfZmllbGQoMSwnQ29tcG9uZW50X1NoYXJlZCcsMHgyREZGKQotSXNvbGF0ZWRDb21wb25lbnQuYWRkX2ZpZWxkKDIsJ0NvbXBvbmVudF9BcHBsaWNhdGlvbicsMHgyREZGKQotCi1MYXVuY2hDb25kaXRpb24gPSBUYWJsZSgnTGF1bmNoQ29uZGl0aW9uJykKLUxhdW5jaENvbmRpdGlvbi5hZGRfZmllbGQoMSwnQ29uZGl0aW9uJywxMTc3NSkKLUxhdW5jaENvbmRpdGlvbi5hZGRfZmllbGQoMiwnRGVzY3JpcHRpb24nLDQwOTUpCi0KLUxpc3RCb3ggPSBUYWJsZSgnTGlzdEJveCcpCi1MaXN0Qm94LmFkZF9maWVsZCgxLCdQcm9wZXJ0eScsMTE1OTIpCi1MaXN0Qm94LmFkZF9maWVsZCgyLCdPcmRlcicsOTQ3NCkKLUxpc3RCb3guYWRkX2ZpZWxkKDMsJ1ZhbHVlJywzMzkyKQotTGlzdEJveC5hZGRfZmllbGQoNCwnVGV4dCcsODAwMCkKLQotTGlzdFZpZXcgPSBUYWJsZSgnTGlzdFZpZXcnKQotTGlzdFZpZXcuYWRkX2ZpZWxkKDEsJ1Byb3BlcnR5JywxMTU5MikKLUxpc3RWaWV3LmFkZF9maWVsZCgyLCdPcmRlcicsOTQ3NCkKLUxpc3RWaWV3LmFkZF9maWVsZCgzLCdWYWx1ZScsMzM5MikKLUxpc3RWaWV3LmFkZF9maWVsZCg0LCdUZXh0Jyw4MDAwKQotTGlzdFZpZXcuYWRkX2ZpZWxkKDUsJ0JpbmFyeV8nLDc0OTYpCi0KLUxvY2tQZXJtaXNzaW9ucyA9IFRhYmxlKCdMb2NrUGVybWlzc2lvbnMnKQotTG9ja1Blcm1pc3Npb25zLmFkZF9maWVsZCgxLCdMb2NrT2JqZWN0JywxMTU5MikKLUxvY2tQZXJtaXNzaW9ucy5hZGRfZmllbGQoMiwnVGFibGUnLDExNTUyKQotTG9ja1Blcm1pc3Npb25zLmFkZF9maWVsZCgzLCdEb21haW4nLDE1ODcxKQotTG9ja1Blcm1pc3Npb25zLmFkZF9maWVsZCg0LCdVc2VyJywxMTc3NSkKLUxvY2tQZXJtaXNzaW9ucy5hZGRfZmllbGQoNSwnUGVybWlzc2lvbicsNDM1NikKLQotTWVkaWEgPSBUYWJsZSgnTWVkaWEnKQotTWVkaWEuYWRkX2ZpZWxkKDEsJ0Rpc2tJZCcsOTQ3NCkKLU1lZGlhLmFkZF9maWVsZCgyLCdMYXN0U2VxdWVuY2UnLDEyODIpCi1NZWRpYS5hZGRfZmllbGQoMywnRGlza1Byb21wdCcsODAwMCkKLU1lZGlhLmFkZF9maWVsZCg0LCdDYWJpbmV0Jyw3Njc5KQotTWVkaWEuYWRkX2ZpZWxkKDUsJ1ZvbHVtZUxhYmVsJyw3NDU2KQotTWVkaWEuYWRkX2ZpZWxkKDYsJ1NvdXJjZScsNzQ5NikKLQotTW92ZUZpbGUgPSBUYWJsZSgnTW92ZUZpbGUnKQotTW92ZUZpbGUuYWRkX2ZpZWxkKDEsJ0ZpbGVLZXknLDExNTkyKQotTW92ZUZpbGUuYWRkX2ZpZWxkKDIsJ0NvbXBvbmVudF8nLDB4REZGKQotTW92ZUZpbGUuYWRkX2ZpZWxkKDMsJ1NvdXJjZU5hbWUnLDgxOTEpCi1Nb3ZlRmlsZS5hZGRfZmllbGQoNCwnRGVzdE5hbWUnLDgxOTEpCi1Nb3ZlRmlsZS5hZGRfZmllbGQoNSwnU291cmNlRm9sZGVyJyw3NDk2KQotTW92ZUZpbGUuYWRkX2ZpZWxkKDYsJ0Rlc3RGb2xkZXInLDM0MDApCi1Nb3ZlRmlsZS5hZGRfZmllbGQoNywnT3B0aW9ucycsMTI4MikKLQotTXNpQXNzZW1ibHkgPSBUYWJsZSgnTXNpQXNzZW1ibHknKQotTXNpQXNzZW1ibHkuYWRkX2ZpZWxkKDEsJ0NvbXBvbmVudF8nLDB4MkRGRikKLU1zaUFzc2VtYmx5LmFkZF9maWVsZCgyLCdGZWF0dXJlXycsMzM2NikKLU1zaUFzc2VtYmx5LmFkZF9maWVsZCgzLCdGaWxlX01hbmlmZXN0JywweDFERkYpCi1Nc2lBc3NlbWJseS5hZGRfZmllbGQoNCwnRmlsZV9BcHBsaWNhdGlvbicsMHgxREZGKQotTXNpQXNzZW1ibHkuYWRkX2ZpZWxkKDUsJ0F0dHJpYnV0ZXMnLDUzNzgpCi0KLU1zaUFzc2VtYmx5TmFtZSA9IFRhYmxlKCdNc2lBc3NlbWJseU5hbWUnKQotTXNpQXNzZW1ibHlOYW1lLmFkZF9maWVsZCgxLCdDb21wb25lbnRfJywweDJERkYpCi1Nc2lBc3NlbWJseU5hbWUuYWRkX2ZpZWxkKDIsJ05hbWUnLDExNzc1KQotTXNpQXNzZW1ibHlOYW1lLmFkZF9maWVsZCgzLCdWYWx1ZScsMzU4MykKLQotTXNpRGlnaXRhbENlcnRpZmljYXRlID0gVGFibGUoJ01zaURpZ2l0YWxDZXJ0aWZpY2F0ZScpCi1Nc2lEaWdpdGFsQ2VydGlmaWNhdGUuYWRkX2ZpZWxkKDEsJ0RpZ2l0YWxDZXJ0aWZpY2F0ZScsMTE1OTIpCi1Nc2lEaWdpdGFsQ2VydGlmaWNhdGUuYWRkX2ZpZWxkKDIsJ0NlcnREYXRhJywyMzA0KQotCi1Nc2lEaWdpdGFsU2lnbmF0dXJlID0gVGFibGUoJ01zaURpZ2l0YWxTaWduYXR1cmUnKQotTXNpRGlnaXRhbFNpZ25hdHVyZS5hZGRfZmllbGQoMSwnVGFibGUnLDExNTUyKQotTXNpRGlnaXRhbFNpZ25hdHVyZS5hZGRfZmllbGQoMiwnU2lnbk9iamVjdCcsMTE1OTIpCi1Nc2lEaWdpdGFsU2lnbmF0dXJlLmFkZF9maWVsZCgzLCdEaWdpdGFsQ2VydGlmaWNhdGVfJywzNDAwKQotTXNpRGlnaXRhbFNpZ25hdHVyZS5hZGRfZmllbGQoNCwnSGFzaCcsNjQwMCkKLQotTXNpRmlsZUhhc2ggPSBUYWJsZSgnTXNpRmlsZUhhc2gnKQotTXNpRmlsZUhhc2guYWRkX2ZpZWxkKDEsJ0ZpbGVfJywweDJERkYpCi1Nc2lGaWxlSGFzaC5hZGRfZmllbGQoMiwnT3B0aW9ucycsMTI4MikKLU1zaUZpbGVIYXNoLmFkZF9maWVsZCgzLCdIYXNoUGFydDEnLDI2MCkKLU1zaUZpbGVIYXNoLmFkZF9maWVsZCg0LCdIYXNoUGFydDInLDI2MCkKLU1zaUZpbGVIYXNoLmFkZF9maWVsZCg1LCdIYXNoUGFydDMnLDI2MCkKLU1zaUZpbGVIYXNoLmFkZF9maWVsZCg2LCdIYXNoUGFydDQnLDI2MCkKLQotTXNpUGF0Y2hIZWFkZXJzID0gVGFibGUoJ01zaVBhdGNoSGVhZGVycycpCi1Nc2lQYXRjaEhlYWRlcnMuYWRkX2ZpZWxkKDEsJ1N0cmVhbVJlZicsMTE1NTgpCi1Nc2lQYXRjaEhlYWRlcnMuYWRkX2ZpZWxkKDIsJ0hlYWRlcicsMjMwNCkKLQotT0RCQ0F0dHJpYnV0ZSA9IFRhYmxlKCdPREJDQXR0cmlidXRlJykKLU9EQkNBdHRyaWJ1dGUuYWRkX2ZpZWxkKDEsJ0RyaXZlcl8nLDExNTkyKQotT0RCQ0F0dHJpYnV0ZS5hZGRfZmllbGQoMiwnQXR0cmlidXRlJywxMTU2MCkKLU9EQkNBdHRyaWJ1dGUuYWRkX2ZpZWxkKDMsJ1ZhbHVlJyw4MTkxKQotCi1PREJDRHJpdmVyID0gVGFibGUoJ09EQkNEcml2ZXInKQotT0RCQ0RyaXZlci5hZGRfZmllbGQoMSwnRHJpdmVyJywxMTU5MikKLU9EQkNEcml2ZXIuYWRkX2ZpZWxkKDIsJ0NvbXBvbmVudF8nLDB4REZGKQotT0RCQ0RyaXZlci5hZGRfZmllbGQoMywnRGVzY3JpcHRpb24nLDM1ODMpCi1PREJDRHJpdmVyLmFkZF9maWVsZCg0LCdGaWxlXycsMHhERkYpCi1PREJDRHJpdmVyLmFkZF9maWVsZCg1LCdGaWxlX1NldHVwJywweDFERkYpCi0KLU9EQkNEYXRhU291cmNlID0gVGFibGUoJ09EQkNEYXRhU291cmNlJykKLU9EQkNEYXRhU291cmNlLmFkZF9maWVsZCgxLCdEYXRhU291cmNlJywweDJERkYpCi1PREJDRGF0YVNvdXJjZS5hZGRfZmllbGQoMiwnQ29tcG9uZW50XycsMHhERkYpCi1PREJDRGF0YVNvdXJjZS5hZGRfZmllbGQoMywnRGVzY3JpcHRpb24nLDM1ODMpCi1PREJDRGF0YVNvdXJjZS5hZGRfZmllbGQoNCwnRHJpdmVyRGVzY3JpcHRpb24nLDM1ODMpCi1PREJDRGF0YVNvdXJjZS5hZGRfZmllbGQoNSwnUmVnaXN0cmF0aW9uJywxMjgyKQotCi1PREJDU291cmNlQXR0cmlidXRlID0gVGFibGUoJ09EQkNTb3VyY2VBdHRyaWJ1dGUnKQotT0RCQ1NvdXJjZUF0dHJpYnV0ZS5hZGRfZmllbGQoMSwnRGF0YVNvdXJjZV8nLDExNTkyKQotT0RCQ1NvdXJjZUF0dHJpYnV0ZS5hZGRfZmllbGQoMiwnQXR0cmlidXRlJywxMTU1MikKLU9EQkNTb3VyY2VBdHRyaWJ1dGUuYWRkX2ZpZWxkKDMsJ1ZhbHVlJyw4MTkxKQotCi1PREJDVHJhbnNsYXRvciA9IFRhYmxlKCdPREJDVHJhbnNsYXRvcicpCi1PREJDVHJhbnNsYXRvci5hZGRfZmllbGQoMSwnVHJhbnNsYXRvcicsMTE1OTIpCi1PREJDVHJhbnNsYXRvci5hZGRfZmllbGQoMiwnQ29tcG9uZW50XycsMHhERkYpCi1PREJDVHJhbnNsYXRvci5hZGRfZmllbGQoMywnRGVzY3JpcHRpb24nLDM1ODMpCi1PREJDVHJhbnNsYXRvci5hZGRfZmllbGQoNCwnRmlsZV8nLDB4REZGKQotT0RCQ1RyYW5zbGF0b3IuYWRkX2ZpZWxkKDUsJ0ZpbGVfU2V0dXAnLDB4MURGRikKLQotUGF0Y2ggPSBUYWJsZSgnUGF0Y2gnKQotUGF0Y2guYWRkX2ZpZWxkKDEsJ0ZpbGVfJywxMTU5MikKLVBhdGNoLmFkZF9maWVsZCgyLCdTZXF1ZW5jZScsOTQ3NCkKLVBhdGNoLmFkZF9maWVsZCgzLCdQYXRjaFNpemUnLDI2MCkKLVBhdGNoLmFkZF9maWVsZCg0LCdBdHRyaWJ1dGVzJywxMjgyKQotUGF0Y2guYWRkX2ZpZWxkKDUsJ0hlYWRlcicsNjQwMCkKLVBhdGNoLmFkZF9maWVsZCg2LCdTdHJlYW1SZWZfJyw3NDYyKQotCi1QYXRjaFBhY2thZ2UgPSBUYWJsZSgnUGF0Y2hQYWNrYWdlJykKLVBhdGNoUGFja2FnZS5hZGRfZmllbGQoMSwnUGF0Y2hJZCcsMTE1NTgpCi1QYXRjaFBhY2thZ2UuYWRkX2ZpZWxkKDIsJ01lZGlhXycsMTI4MikKLQotUHVibGlzaENvbXBvbmVudCA9IFRhYmxlKCdQdWJsaXNoQ29tcG9uZW50JykKLVB1Ymxpc2hDb21wb25lbnQuYWRkX2ZpZWxkKDEsJ0NvbXBvbmVudElkJywxMTU1OCkKLVB1Ymxpc2hDb21wb25lbnQuYWRkX2ZpZWxkKDIsJ1F1YWxpZmllcicsMTE3NzUpCi1QdWJsaXNoQ29tcG9uZW50LmFkZF9maWVsZCgzLCdDb21wb25lbnRfJywweDJERkYpCi1QdWJsaXNoQ29tcG9uZW50LmFkZF9maWVsZCg0LCdBcHBEYXRhJyw4MTkxKQotUHVibGlzaENvbXBvbmVudC5hZGRfZmllbGQoNSwnRmVhdHVyZV8nLDMzNjYpCi0KLVJhZGlvQnV0dG9uID0gVGFibGUoJ1JhZGlvQnV0dG9uJykKLVJhZGlvQnV0dG9uLmFkZF9maWVsZCgxLCdQcm9wZXJ0eScsMTE1OTIpCi1SYWRpb0J1dHRvbi5hZGRfZmllbGQoMiwnT3JkZXInLDk0NzQpCi1SYWRpb0J1dHRvbi5hZGRfZmllbGQoMywnVmFsdWUnLDMzOTIpCi1SYWRpb0J1dHRvbi5hZGRfZmllbGQoNCwnWCcsMTI4MikKLVJhZGlvQnV0dG9uLmFkZF9maWVsZCg1LCdZJywxMjgyKQotUmFkaW9CdXR0b24uYWRkX2ZpZWxkKDYsJ1dpZHRoJywxMjgyKQotUmFkaW9CdXR0b24uYWRkX2ZpZWxkKDcsJ0hlaWdodCcsMTI4MikKLVJhZGlvQnV0dG9uLmFkZF9maWVsZCg4LCdUZXh0Jyw4MDAwKQotUmFkaW9CdXR0b24uYWRkX2ZpZWxkKDksJ0hlbHAnLDc5ODYpCi0KLVJlZ2lzdHJ5ID0gVGFibGUoJ1JlZ2lzdHJ5JykKLVJlZ2lzdHJ5LmFkZF9maWVsZCgxLCdSZWdpc3RyeScsMHgyREZGKQotUmVnaXN0cnkuYWRkX2ZpZWxkKDIsJ1Jvb3QnLDEyODIpCi1SZWdpc3RyeS5hZGRfZmllbGQoMywnS2V5Jyw0MDk1KQotUmVnaXN0cnkuYWRkX2ZpZWxkKDQsJ05hbWUnLDgxOTEpCi1SZWdpc3RyeS5hZGRfZmllbGQoNSwnVmFsdWUnLDc5MzYpCi1SZWdpc3RyeS5hZGRfZmllbGQoNiwnQ29tcG9uZW50XycsMHhERkYpCi0KLVJlZ0xvY2F0b3IgPSBUYWJsZSgnUmVnTG9jYXRvcicpCi1SZWdMb2NhdG9yLmFkZF9maWVsZCgxLCdTaWduYXR1cmVfJywxMTU5MikKLVJlZ0xvY2F0b3IuYWRkX2ZpZWxkKDIsJ1Jvb3QnLDEyODIpCi1SZWdMb2NhdG9yLmFkZF9maWVsZCgzLCdLZXknLDM1ODMpCi1SZWdMb2NhdG9yLmFkZF9maWVsZCg0LCdOYW1lJyw3Njc5KQotUmVnTG9jYXRvci5hZGRfZmllbGQoNSwnVHlwZScsNTM3OCkKLQotUmVtb3ZlRmlsZSA9IFRhYmxlKCdSZW1vdmVGaWxlJykKLVJlbW92ZUZpbGUuYWRkX2ZpZWxkKDEsJ0ZpbGVLZXknLDExNTkyKQotUmVtb3ZlRmlsZS5hZGRfZmllbGQoMiwnQ29tcG9uZW50XycsMHhERkYpCi1SZW1vdmVGaWxlLmFkZF9maWVsZCgzLCdGaWxlTmFtZScsODE5MSkKLVJlbW92ZUZpbGUuYWRkX2ZpZWxkKDQsJ0RpclByb3BlcnR5JywzNDAwKQotUmVtb3ZlRmlsZS5hZGRfZmllbGQoNSwnSW5zdGFsbE1vZGUnLDEyODIpCi0KLVJlbW92ZUluaUZpbGUgPSBUYWJsZSgnUmVtb3ZlSW5pRmlsZScpCi1SZW1vdmVJbmlGaWxlLmFkZF9maWVsZCgxLCdSZW1vdmVJbmlGaWxlJywxMTU5MikKLVJlbW92ZUluaUZpbGUuYWRkX2ZpZWxkKDIsJ0ZpbGVOYW1lJyw0MDk1KQotUmVtb3ZlSW5pRmlsZS5hZGRfZmllbGQoMywnRGlyUHJvcGVydHknLDc0OTYpCi1SZW1vdmVJbmlGaWxlLmFkZF9maWVsZCg0LCdTZWN0aW9uJywzOTM2KQotUmVtb3ZlSW5pRmlsZS5hZGRfZmllbGQoNSwnS2V5JywzOTY4KQotUmVtb3ZlSW5pRmlsZS5hZGRfZmllbGQoNiwnVmFsdWUnLDgxOTEpCi1SZW1vdmVJbmlGaWxlLmFkZF9maWVsZCg3LCdBY3Rpb24nLDEyODIpCi1SZW1vdmVJbmlGaWxlLmFkZF9maWVsZCg4LCdDb21wb25lbnRfJywweERGRikKLQotUmVtb3ZlUmVnaXN0cnkgPSBUYWJsZSgnUmVtb3ZlUmVnaXN0cnknKQotUmVtb3ZlUmVnaXN0cnkuYWRkX2ZpZWxkKDEsJ1JlbW92ZVJlZ2lzdHJ5JywxMTU5MikKLVJlbW92ZVJlZ2lzdHJ5LmFkZF9maWVsZCgyLCdSb290JywxMjgyKQotUmVtb3ZlUmVnaXN0cnkuYWRkX2ZpZWxkKDMsJ0tleScsNDA5NSkKLVJlbW92ZVJlZ2lzdHJ5LmFkZF9maWVsZCg0LCdOYW1lJyw4MTkxKQotUmVtb3ZlUmVnaXN0cnkuYWRkX2ZpZWxkKDUsJ0NvbXBvbmVudF8nLDB4REZGKQotCi1SZXNlcnZlQ29zdCA9IFRhYmxlKCdSZXNlcnZlQ29zdCcpCi1SZXNlcnZlQ29zdC5hZGRfZmllbGQoMSwnUmVzZXJ2ZUtleScsMTE1OTIpCi1SZXNlcnZlQ29zdC5hZGRfZmllbGQoMiwnQ29tcG9uZW50XycsMHhERkYpCi1SZXNlcnZlQ29zdC5hZGRfZmllbGQoMywnUmVzZXJ2ZUZvbGRlcicsNzQ5NikKLVJlc2VydmVDb3N0LmFkZF9maWVsZCg0LCdSZXNlcnZlTG9jYWwnLDI2MCkKLVJlc2VydmVDb3N0LmFkZF9maWVsZCg1LCdSZXNlcnZlU291cmNlJywyNjApCi0KLVNlbGZSZWcgPSBUYWJsZSgnU2VsZlJlZycpCi1TZWxmUmVnLmFkZF9maWVsZCgxLCdGaWxlXycsMHgyREZGKQotU2VsZlJlZy5hZGRfZmllbGQoMiwnQ29zdCcsNTM3OCkKLQotU2VydmljZUNvbnRyb2wgPSBUYWJsZSgnU2VydmljZUNvbnRyb2wnKQotU2VydmljZUNvbnRyb2wuYWRkX2ZpZWxkKDEsJ1NlcnZpY2VDb250cm9sJywxMTU5MikKLVNlcnZpY2VDb250cm9sLmFkZF9maWVsZCgyLCdOYW1lJyw0MDk1KQotU2VydmljZUNvbnRyb2wuYWRkX2ZpZWxkKDMsJ0V2ZW50JywxMjgyKQotU2VydmljZUNvbnRyb2wuYWRkX2ZpZWxkKDQsJ0FyZ3VtZW50cycsODE5MSkKLVNlcnZpY2VDb250cm9sLmFkZF9maWVsZCg1LCdXYWl0Jyw1Mzc4KQotU2VydmljZUNvbnRyb2wuYWRkX2ZpZWxkKDYsJ0NvbXBvbmVudF8nLDB4REZGKQotCi1TZXJ2aWNlSW5zdGFsbCA9IFRhYmxlKCdTZXJ2aWNlSW5zdGFsbCcpCi1TZXJ2aWNlSW5zdGFsbC5hZGRfZmllbGQoMSwnU2VydmljZUluc3RhbGwnLDExNTkyKQotU2VydmljZUluc3RhbGwuYWRkX2ZpZWxkKDIsJ05hbWUnLDM1ODMpCi1TZXJ2aWNlSW5zdGFsbC5hZGRfZmllbGQoMywnRGlzcGxheU5hbWUnLDgxOTEpCi1TZXJ2aWNlSW5zdGFsbC5hZGRfZmllbGQoNCwnU2VydmljZVR5cGUnLDI2MCkKLVNlcnZpY2VJbnN0YWxsLmFkZF9maWVsZCg1LCdTdGFydFR5cGUnLDI2MCkKLVNlcnZpY2VJbnN0YWxsLmFkZF9maWVsZCg2LCdFcnJvckNvbnRyb2wnLDI2MCkKLVNlcnZpY2VJbnN0YWxsLmFkZF9maWVsZCg3LCdMb2FkT3JkZXJHcm91cCcsNzY3OSkKLVNlcnZpY2VJbnN0YWxsLmFkZF9maWVsZCg4LCdEZXBlbmRlbmNpZXMnLDc2NzkpCi1TZXJ2aWNlSW5zdGFsbC5hZGRfZmllbGQoOSwnU3RhcnROYW1lJyw3Njc5KQotU2VydmljZUluc3RhbGwuYWRkX2ZpZWxkKDEwLCdQYXNzd29yZCcsNzY3OSkKLVNlcnZpY2VJbnN0YWxsLmFkZF9maWVsZCgxMSwnQXJndW1lbnRzJyw3Njc5KQotU2VydmljZUluc3RhbGwuYWRkX2ZpZWxkKDEyLCdDb21wb25lbnRfJywweERGRikKLVNlcnZpY2VJbnN0YWxsLmFkZF9maWVsZCgxMywnRGVzY3JpcHRpb24nLDgxOTEpCi0KLVNob3J0Y3V0ID0gVGFibGUoJ1Nob3J0Y3V0JykKLVNob3J0Y3V0LmFkZF9maWVsZCgxLCdTaG9ydGN1dCcsMTE1OTIpCi1TaG9ydGN1dC5hZGRfZmllbGQoMiwnRGlyZWN0b3J5XycsMHhERkYpCi1TaG9ydGN1dC5hZGRfZmllbGQoMywnTmFtZScsMzk2OCkKLVNob3J0Y3V0LmFkZF9maWVsZCg0LCdDb21wb25lbnRfJywweERGRikKLVNob3J0Y3V0LmFkZF9maWVsZCg1LCdUYXJnZXQnLDM0MDApCi1TaG9ydGN1dC5hZGRfZmllbGQoNiwnQXJndW1lbnRzJyw3Njc5KQotU2hvcnRjdXQuYWRkX2ZpZWxkKDcsJ0Rlc2NyaXB0aW9uJyw4MTkxKQotU2hvcnRjdXQuYWRkX2ZpZWxkKDgsJ0hvdGtleScsNTM3OCkKLVNob3J0Y3V0LmFkZF9maWVsZCg5LCdJY29uXycsNzQ5NikKLVNob3J0Y3V0LmFkZF9maWVsZCgxMCwnSWNvbkluZGV4Jyw1Mzc4KQotU2hvcnRjdXQuYWRkX2ZpZWxkKDExLCdTaG93Q21kJyw1Mzc4KQotU2hvcnRjdXQuYWRkX2ZpZWxkKDEyLCdXa0RpcicsNzQ5NikKLQotU2lnbmF0dXJlID0gVGFibGUoJ1NpZ25hdHVyZScpCi1TaWduYXR1cmUuYWRkX2ZpZWxkKDEsJ1NpZ25hdHVyZScsMTE1OTIpCi1TaWduYXR1cmUuYWRkX2ZpZWxkKDIsJ0ZpbGVOYW1lJywzNTgzKQotU2lnbmF0dXJlLmFkZF9maWVsZCgzLCdNaW5WZXJzaW9uJyw3NDQ0KQotU2lnbmF0dXJlLmFkZF9maWVsZCg0LCdNYXhWZXJzaW9uJyw3NDQ0KQotU2lnbmF0dXJlLmFkZF9maWVsZCg1LCdNaW5TaXplJyw0MzU2KQotU2lnbmF0dXJlLmFkZF9maWVsZCg2LCdNYXhTaXplJyw0MzU2KQotU2lnbmF0dXJlLmFkZF9maWVsZCg3LCdNaW5EYXRlJyw0MzU2KQotU2lnbmF0dXJlLmFkZF9maWVsZCg4LCdNYXhEYXRlJyw0MzU2KQotU2lnbmF0dXJlLmFkZF9maWVsZCg5LCdMYW5ndWFnZXMnLDc2NzkpCi0KLVRleHRTdHlsZSA9IFRhYmxlKCdUZXh0U3R5bGUnKQotVGV4dFN0eWxlLmFkZF9maWVsZCgxLCdUZXh0U3R5bGUnLDExNTkyKQotVGV4dFN0eWxlLmFkZF9maWVsZCgyLCdGYWNlTmFtZScsMzM2MCkKLVRleHRTdHlsZS5hZGRfZmllbGQoMywnU2l6ZScsMTI4MikKLVRleHRTdHlsZS5hZGRfZmllbGQoNCwnQ29sb3InLDQzNTYpCi1UZXh0U3R5bGUuYWRkX2ZpZWxkKDUsJ1N0eWxlQml0cycsNTM3OCkKLQotVHlwZUxpYiA9IFRhYmxlKCdUeXBlTGliJykKLVR5cGVMaWIuYWRkX2ZpZWxkKDEsJ0xpYklEJywxMTU1OCkKLVR5cGVMaWIuYWRkX2ZpZWxkKDIsJ0xhbmd1YWdlJyw5NDc0KQotVHlwZUxpYi5hZGRfZmllbGQoMywnQ29tcG9uZW50XycsMHgyREZGKQotVHlwZUxpYi5hZGRfZmllbGQoNCwnVmVyc2lvbicsNDM1NikKLVR5cGVMaWIuYWRkX2ZpZWxkKDUsJ0Rlc2NyaXB0aW9uJyw4MDY0KQotVHlwZUxpYi5hZGRfZmllbGQoNiwnRGlyZWN0b3J5XycsMHgxREZGKQotVHlwZUxpYi5hZGRfZmllbGQoNywnRmVhdHVyZV8nLDMzNjYpCi1UeXBlTGliLmFkZF9maWVsZCg4LCdDb3N0Jyw0MzU2KQotCi1VSVRleHQgPSBUYWJsZSgnVUlUZXh0JykKLVVJVGV4dC5hZGRfZmllbGQoMSwnS2V5JywxMTU5MikKLVVJVGV4dC5hZGRfZmllbGQoMiwnVGV4dCcsODE5MSkKLQotVXBncmFkZSA9IFRhYmxlKCdVcGdyYWRlJykKLVVwZ3JhZGUuYWRkX2ZpZWxkKDEsJ1VwZ3JhZGVDb2RlJywxMTU1OCkKLVVwZ3JhZGUuYWRkX2ZpZWxkKDIsJ1ZlcnNpb25NaW4nLDE1NjM2KQotVXBncmFkZS5hZGRfZmllbGQoMywnVmVyc2lvbk1heCcsMTU2MzYpCi1VcGdyYWRlLmFkZF9maWVsZCg0LCdMYW5ndWFnZScsMTU4NzEpCi1VcGdyYWRlLmFkZF9maWVsZCg1LCdBdHRyaWJ1dGVzJyw4NDUyKQotVXBncmFkZS5hZGRfZmllbGQoNiwnUmVtb3ZlJyw3Njc5KQotVXBncmFkZS5hZGRfZmllbGQoNywnQWN0aW9uUHJvcGVydHknLDM0MDApCi0KLVZlcmIgPSBUYWJsZSgnVmVyYicpCi1WZXJiLmFkZF9maWVsZCgxLCdFeHRlbnNpb25fJywxMTc3NSkKLVZlcmIuYWRkX2ZpZWxkKDIsJ1ZlcmInLDExNTUyKQotVmVyYi5hZGRfZmllbGQoMywnU2VxdWVuY2UnLDUzNzgpCi1WZXJiLmFkZF9maWVsZCg0LCdDb21tYW5kJyw4MTkxKQotVmVyYi5hZGRfZmllbGQoNSwnQXJndW1lbnQnLDgxOTEpCi0KLXRhYmxlcz1bX1ZhbGlkYXRpb24sIEFjdGlvblRleHQsIEFkbWluRXhlY3V0ZVNlcXVlbmNlLCBDb25kaXRpb24sIEFkbWluVUlTZXF1ZW5jZSwgQWR2dEV4ZWN1dGVTZXF1ZW5jZSwgQWR2dFVJU2VxdWVuY2UsIEFwcElkLCBBcHBTZWFyY2gsIFByb3BlcnR5LCBCQkNvbnRyb2wsIEJpbGxib2FyZCwgRmVhdHVyZSwgQmluYXJ5LCBCaW5kSW1hZ2UsIEZpbGUsIENDUFNlYXJjaCwgQ2hlY2tCb3gsIENsYXNzLCBDb21wb25lbnQsIEljb24sIFByb2dJZCwgQ29tYm9Cb3gsIENvbXBMb2NhdG9yLCBDb21wbHVzLCBEaXJlY3RvcnksIENvbnRyb2wsIERpYWxvZywgQ29udHJvbENvbmRpdGlvbiwgQ29udHJvbEV2ZW50LCBDcmVhdGVGb2xkZXIsIEN1c3RvbUFjdGlvbiwgRHJMb2NhdG9yLCBEdXBsaWNhdGVGaWxlLCBFbnZpcm9ubWVudCwgRXJyb3IsIEV2ZW50TWFwcGluZywgRXh0ZW5zaW9uLCBNSU1FLCBGZWF0dXJlQ29tcG9uZW50cywgRmlsZVNGUENhdGFsb2csIFNGUENhdGFsb2csIEZvbnQsIEluaUZpbGUsIEluaUxvY2F0b3IsIEluc3RhbGxFeGVjdXRlU2VxdWVuY2UsIEluc3RhbGxVSVNlcXVlbmNlLCBJc29sYXRlZENvbXBvbmVudCwgTGF1bmNoQ29uZGl0aW9uLCBMaXN0Qm94LCBMaXN0VmlldywgTG9ja1Blcm1pc3Npb25zLCBNZWRpYSwgTW92ZUZpbGUsIE1zaUFzc2VtYmx5LCBNc2lBc3NlbWJseU5hbWUsIE1zaURpZ2l0YWxDZXJ0aWZpY2F0ZSwgTXNpRGlnaXRhbFNpZ25hdHVyZSwgTXNpRmlsZUhhc2gsIE1zaVBhdGNoSGVhZGVycywgT0RCQ0F0dHJpYnV0ZSwgT0RCQ0RyaXZlciwgT0RCQ0RhdGFTb3VyY2UsIE9EQkNTb3VyY2VBdHRyaWJ1dGUsIE9EQkNUcmFuc2xhdG9yLCBQYXRjaCwgUGF0Y2hQYWNrYWdlLCBQdWJsaXNoQ29tcG9uZW50LCBSYWRpb0J1dHRvbiwgUmVnaXN0cnksIFJlZ0xvY2F0b3IsIFJlbW92ZUZpbGUsIFJlbW92ZUluaUZpbGUsIFJlbW92ZVJlZ2lzdHJ5LCBSZXNlcnZlQ29zdCwgU2VsZlJlZywgU2VydmljZUNvbnRyb2wsIFNlcnZpY2VJbnN0YWxsLCBTaG9ydGN1dCwgU2lnbmF0dXJlLCBUZXh0U3R5bGUsIFR5cGVMaWIsIFVJVGV4dCwgVXBncmFkZSwgVmVyYl0KLQotX1ZhbGlkYXRpb25fcmVjb3JkcyA9IFsKLSh1J19WYWxpZGF0aW9uJyx1J1RhYmxlJyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsTm9uZSwgdSdOYW1lIG9mIHRhYmxlJywpLAotKHUnX1ZhbGlkYXRpb24nLHUnQ29sdW1uJyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsTm9uZSwgdSdOYW1lIG9mIGNvbHVtbicsKSwKLSh1J19WYWxpZGF0aW9uJyx1J0Rlc2NyaXB0aW9uJyx1J1knLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGV4dCcsTm9uZSwgdSdEZXNjcmlwdGlvbiBvZiBjb2x1bW4nLCksCi0odSdfVmFsaWRhdGlvbicsdSdTZXQnLHUnWScsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUZXh0JyxOb25lLCB1J1NldCBvZiB2YWx1ZXMgdGhhdCBhcmUgcGVybWl0dGVkJywpLAotKHUnX1ZhbGlkYXRpb24nLHUnQ2F0ZWdvcnknLHUnWScsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUZXh0O0Zvcm1hdHRlZDtUZW1wbGF0ZTtDb25kaXRpb247R3VpZDtQYXRoO1ZlcnNpb247TGFuZ3VhZ2U7SWRlbnRpZmllcjtCaW5hcnk7VXBwZXJDYXNlO0xvd2VyQ2FzZTtGaWxlbmFtZTtQYXRocztBbnlQYXRoO1dpbGRDYXJkRmlsZW5hbWU7UmVnUGF0aDtLZXlGb3JtYXR0ZWQ7Q3VzdG9tU291cmNlO1Byb3BlcnR5O0NhYmluZXQ7U2hvcnRjdXQ7VVJMJyx1J1N0cmluZyBjYXRlZ29yeScsKSwKLSh1J19WYWxpZGF0aW9uJyx1J0tleUNvbHVtbicsdSdZJywxLDMyLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnQ29sdW1uIHRvIHdoaWNoIGZvcmVpZ24ga2V5IGNvbm5lY3RzJywpLAotKHUnX1ZhbGlkYXRpb24nLHUnS2V5VGFibGUnLHUnWScsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJyxOb25lLCB1J0ZvciBmb3JlaWduIGtleSwgTmFtZSBvZiB0YWJsZSB0byB3aGljaCBkYXRhIG11c3QgbGluaycsKSwKLSh1J19WYWxpZGF0aW9uJyx1J01heFZhbHVlJyx1J1knLC0yMTQ3NDgzNjQ3LDIxNDc0ODM2NDcsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdNYXhpbXVtIHZhbHVlIGFsbG93ZWQnLCksCi0odSdfVmFsaWRhdGlvbicsdSdNaW5WYWx1ZScsdSdZJywtMjE0NzQ4MzY0NywyMTQ3NDgzNjQ3LE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnTWluaW11bSB2YWx1ZSBhbGxvd2VkJywpLAotKHUnX1ZhbGlkYXRpb24nLHUnTnVsbGFibGUnLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdZO047QCcsdSdXaGV0aGVyIHRoZSBjb2x1bW4gaXMgbnVsbGFibGUnLCksCi0odSdBY3Rpb25UZXh0Jyx1J0Rlc2NyaXB0aW9uJyx1J1knLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGV4dCcsTm9uZSwgdSdMb2NhbGl6ZWQgZGVzY3JpcHRpb24gZGlzcGxheWVkIGluIHByb2dyZXNzIGRpYWxvZyBhbmQgbG9nIHdoZW4gYWN0aW9uIGlzIGV4ZWN1dGluZy4nLCksCi0odSdBY3Rpb25UZXh0Jyx1J0FjdGlvbicsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLE5vbmUsIHUnTmFtZSBvZiBhY3Rpb24gdG8gYmUgZGVzY3JpYmVkLicsKSwKLSh1J0FjdGlvblRleHQnLHUnVGVtcGxhdGUnLHUnWScsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUZW1wbGF0ZScsTm9uZSwgdSdPcHRpb25hbCBsb2NhbGl6ZWQgZm9ybWF0IHRlbXBsYXRlIHVzZWQgdG8gZm9ybWF0IGFjdGlvbiBkYXRhIHJlY29yZHMgZm9yIGRpc3BsYXkgZHVyaW5nIGFjdGlvbiBleGVjdXRpb24uJywpLAotKHUnQWRtaW5FeGVjdXRlU2VxdWVuY2UnLHUnQWN0aW9uJyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsTm9uZSwgdSdOYW1lIG9mIGFjdGlvbiB0byBpbnZva2UsIGVpdGhlciBpbiB0aGUgZW5naW5lIG9yIHRoZSBoYW5kbGVyIERMTC4nLCksCi0odSdBZG1pbkV4ZWN1dGVTZXF1ZW5jZScsdSdDb25kaXRpb24nLHUnWScsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdDb25kaXRpb24nLE5vbmUsIHUnT3B0aW9uYWwgZXhwcmVzc2lvbiB3aGljaCBza2lwcyB0aGUgYWN0aW9uIGlmIGV2YWx1YXRlcyB0byBleHBGYWxzZS5JZiB0aGUgZXhwcmVzc2lvbiBzeW50YXggaXMgaW52YWxpZCwgdGhlIGVuZ2luZSB3aWxsIHRlcm1pbmF0ZSwgcmV0dXJuaW5nIGllc0JhZEFjdGlvbkRhdGEuJywpLAotKHUnQWRtaW5FeGVjdXRlU2VxdWVuY2UnLHUnU2VxdWVuY2UnLHUnWScsLTQsMzI3NjcsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdOdW1iZXIgdGhhdCBkZXRlcm1pbmVzIHRoZSBzb3J0IG9yZGVyIGluIHdoaWNoIHRoZSBhY3Rpb25zIGFyZSB0byBiZSBleGVjdXRlZC4gIExlYXZlIGJsYW5rIHRvIHN1cHByZXNzIGFjdGlvbi4nLCksCi0odSdDb25kaXRpb24nLHUnQ29uZGl0aW9uJyx1J1knLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnQ29uZGl0aW9uJyxOb25lLCB1J0V4cHJlc3Npb24gZXZhbHVhdGVkIHRvIGRldGVybWluZSBpZiBMZXZlbCBpbiB0aGUgRmVhdHVyZSB0YWJsZSBpcyB0byBjaGFuZ2UuJywpLAotKHUnQ29uZGl0aW9uJyx1J0ZlYXR1cmVfJyx1J04nLE5vbmUsIE5vbmUsIHUnRmVhdHVyZScsMSx1J0lkZW50aWZpZXInLE5vbmUsIHUnUmVmZXJlbmNlIHRvIGEgRmVhdHVyZSBlbnRyeSBpbiBGZWF0dXJlIHRhYmxlLicsKSwKLSh1J0NvbmRpdGlvbicsdSdMZXZlbCcsdSdOJywwLDMyNzY3LE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnTmV3IHNlbGVjdGlvbiBMZXZlbCB0byBzZXQgaW4gRmVhdHVyZSB0YWJsZSBpZiBDb25kaXRpb24gZXZhbHVhdGVzIHRvIFRSVUUuJywpLAotKHUnQWRtaW5VSVNlcXVlbmNlJyx1J0FjdGlvbicsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLE5vbmUsIHUnTmFtZSBvZiBhY3Rpb24gdG8gaW52b2tlLCBlaXRoZXIgaW4gdGhlIGVuZ2luZSBvciB0aGUgaGFuZGxlciBETEwuJywpLAotKHUnQWRtaW5VSVNlcXVlbmNlJyx1J0NvbmRpdGlvbicsdSdZJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0NvbmRpdGlvbicsTm9uZSwgdSdPcHRpb25hbCBleHByZXNzaW9uIHdoaWNoIHNraXBzIHRoZSBhY3Rpb24gaWYgZXZhbHVhdGVzIHRvIGV4cEZhbHNlLklmIHRoZSBleHByZXNzaW9uIHN5bnRheCBpcyBpbnZhbGlkLCB0aGUgZW5naW5lIHdpbGwgdGVybWluYXRlLCByZXR1cm5pbmcgaWVzQmFkQWN0aW9uRGF0YS4nLCksCi0odSdBZG1pblVJU2VxdWVuY2UnLHUnU2VxdWVuY2UnLHUnWScsLTQsMzI3NjcsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdOdW1iZXIgdGhhdCBkZXRlcm1pbmVzIHRoZSBzb3J0IG9yZGVyIGluIHdoaWNoIHRoZSBhY3Rpb25zIGFyZSB0byBiZSBleGVjdXRlZC4gIExlYXZlIGJsYW5rIHRvIHN1cHByZXNzIGFjdGlvbi4nLCksCi0odSdBZHZ0RXhlY3V0ZVNlcXVlbmNlJyx1J0FjdGlvbicsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLE5vbmUsIHUnTmFtZSBvZiBhY3Rpb24gdG8gaW52b2tlLCBlaXRoZXIgaW4gdGhlIGVuZ2luZSBvciB0aGUgaGFuZGxlciBETEwuJywpLAotKHUnQWR2dEV4ZWN1dGVTZXF1ZW5jZScsdSdDb25kaXRpb24nLHUnWScsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdDb25kaXRpb24nLE5vbmUsIHUnT3B0aW9uYWwgZXhwcmVzc2lvbiB3aGljaCBza2lwcyB0aGUgYWN0aW9uIGlmIGV2YWx1YXRlcyB0byBleHBGYWxzZS5JZiB0aGUgZXhwcmVzc2lvbiBzeW50YXggaXMgaW52YWxpZCwgdGhlIGVuZ2luZSB3aWxsIHRlcm1pbmF0ZSwgcmV0dXJuaW5nIGllc0JhZEFjdGlvbkRhdGEuJywpLAotKHUnQWR2dEV4ZWN1dGVTZXF1ZW5jZScsdSdTZXF1ZW5jZScsdSdZJywtNCwzMjc2NyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J051bWJlciB0aGF0IGRldGVybWluZXMgdGhlIHNvcnQgb3JkZXIgaW4gd2hpY2ggdGhlIGFjdGlvbnMgYXJlIHRvIGJlIGV4ZWN1dGVkLiAgTGVhdmUgYmxhbmsgdG8gc3VwcHJlc3MgYWN0aW9uLicsKSwKLSh1J0FkdnRVSVNlcXVlbmNlJyx1J0FjdGlvbicsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLE5vbmUsIHUnTmFtZSBvZiBhY3Rpb24gdG8gaW52b2tlLCBlaXRoZXIgaW4gdGhlIGVuZ2luZSBvciB0aGUgaGFuZGxlciBETEwuJywpLAotKHUnQWR2dFVJU2VxdWVuY2UnLHUnQ29uZGl0aW9uJyx1J1knLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnQ29uZGl0aW9uJyxOb25lLCB1J09wdGlvbmFsIGV4cHJlc3Npb24gd2hpY2ggc2tpcHMgdGhlIGFjdGlvbiBpZiBldmFsdWF0ZXMgdG8gZXhwRmFsc2UuSWYgdGhlIGV4cHJlc3Npb24gc3ludGF4IGlzIGludmFsaWQsIHRoZSBlbmdpbmUgd2lsbCB0ZXJtaW5hdGUsIHJldHVybmluZyBpZXNCYWRBY3Rpb25EYXRhLicsKSwKLSh1J0FkdnRVSVNlcXVlbmNlJyx1J1NlcXVlbmNlJyx1J1knLC00LDMyNzY3LE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnTnVtYmVyIHRoYXQgZGV0ZXJtaW5lcyB0aGUgc29ydCBvcmRlciBpbiB3aGljaCB0aGUgYWN0aW9ucyBhcmUgdG8gYmUgZXhlY3V0ZWQuICBMZWF2ZSBibGFuayB0byBzdXBwcmVzcyBhY3Rpb24uJywpLAotKHUnQXBwSWQnLHUnQXBwSWQnLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdHdWlkJyxOb25lLCBOb25lLCApLAotKHUnQXBwSWQnLHUnQWN0aXZhdGVBdFN0b3JhZ2UnLHUnWScsMCwxLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsICksCi0odSdBcHBJZCcsdSdEbGxTdXJyb2dhdGUnLHUnWScsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUZXh0JyxOb25lLCBOb25lLCApLAotKHUnQXBwSWQnLHUnTG9jYWxTZXJ2aWNlJyx1J1knLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGV4dCcsTm9uZSwgTm9uZSwgKSwKLSh1J0FwcElkJyx1J1JlbW90ZVNlcnZlck5hbWUnLHUnWScsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdGb3JtYXR0ZWQnLE5vbmUsIE5vbmUsICksCi0odSdBcHBJZCcsdSdSdW5Bc0ludGVyYWN0aXZlVXNlcicsdSdZJywwLDEsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgKSwKLSh1J0FwcElkJyx1J1NlcnZpY2VQYXJhbWV0ZXJzJyx1J1knLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGV4dCcsTm9uZSwgTm9uZSwgKSwKLSh1J0FwcFNlYXJjaCcsdSdQcm9wZXJ0eScsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLE5vbmUsIHUnVGhlIHByb3BlcnR5IGFzc29jaWF0ZWQgd2l0aCBhIFNpZ25hdHVyZScsKSwKLSh1J0FwcFNlYXJjaCcsdSdTaWduYXR1cmVfJyx1J04nLE5vbmUsIE5vbmUsIHUnU2lnbmF0dXJlO1JlZ0xvY2F0b3I7SW5pTG9jYXRvcjtEckxvY2F0b3I7Q29tcExvY2F0b3InLDEsdSdJZGVudGlmaWVyJyxOb25lLCB1J1RoZSBTaWduYXR1cmVfIHJlcHJlc2VudHMgYSB1bmlxdWUgZmlsZSBzaWduYXR1cmUgYW5kIGlzIGFsc28gdGhlIGZvcmVpZ24ga2V5IGluIHRoZSBTaWduYXR1cmUsICBSZWdMb2NhdG9yLCBJbmlMb2NhdG9yLCBDb21wTG9jYXRvciBhbmQgdGhlIERyTG9jYXRvciB0YWJsZXMuJywpLAotKHUnUHJvcGVydHknLHUnUHJvcGVydHknLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJyxOb25lLCB1J05hbWUgb2YgcHJvcGVydHksIHVwcGVyY2FzZSBpZiBzZXR0YWJsZSBieSBsYXVuY2hlciBvciBsb2FkZXIuJywpLAotKHUnUHJvcGVydHknLHUnVmFsdWUnLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUZXh0JyxOb25lLCB1J1N0cmluZyB2YWx1ZSBmb3IgcHJvcGVydHkuICBOZXZlciBudWxsIG9yIGVtcHR5LicsKSwKLSh1J0JCQ29udHJvbCcsdSdUeXBlJyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsTm9uZSwgdSdUaGUgdHlwZSBvZiB0aGUgY29udHJvbC4nLCksCi0odSdCQkNvbnRyb2wnLHUnWScsdSdOJywwLDMyNzY3LE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVmVydGljYWwgY29vcmRpbmF0ZSBvZiB0aGUgdXBwZXIgbGVmdCBjb3JuZXIgb2YgdGhlIGJvdW5kaW5nIHJlY3RhbmdsZSBvZiB0aGUgY29udHJvbC4nLCksCi0odSdCQkNvbnRyb2wnLHUnVGV4dCcsdSdZJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RleHQnLE5vbmUsIHUnQSBzdHJpbmcgdXNlZCB0byBzZXQgdGhlIGluaXRpYWwgdGV4dCBjb250YWluZWQgd2l0aGluIGEgY29udHJvbCAoaWYgYXBwcm9wcmlhdGUpLicsKSwKLSh1J0JCQ29udHJvbCcsdSdCQkNvbnRyb2wnLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJyxOb25lLCB1J05hbWUgb2YgdGhlIGNvbnRyb2wuIFRoaXMgbmFtZSBtdXN0IGJlIHVuaXF1ZSB3aXRoaW4gYSBiaWxsYm9hcmQsIGJ1dCBjYW4gcmVwZWF0IG9uIGRpZmZlcmVudCBiaWxsYm9hcmQuJywpLAotKHUnQkJDb250cm9sJyx1J0F0dHJpYnV0ZXMnLHUnWScsMCwyMTQ3NDgzNjQ3LE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnQSAzMi1iaXQgd29yZCB0aGF0IHNwZWNpZmllcyB0aGUgYXR0cmlidXRlIGZsYWdzIHRvIGJlIGFwcGxpZWQgdG8gdGhpcyBjb250cm9sLicsKSwKLSh1J0JCQ29udHJvbCcsdSdCaWxsYm9hcmRfJyx1J04nLE5vbmUsIE5vbmUsIHUnQmlsbGJvYXJkJywxLHUnSWRlbnRpZmllcicsTm9uZSwgdSdFeHRlcm5hbCBrZXkgdG8gdGhlIEJpbGxib2FyZCB0YWJsZSwgbmFtZSBvZiB0aGUgYmlsbGJvYXJkLicsKSwKLSh1J0JCQ29udHJvbCcsdSdIZWlnaHQnLHUnTicsMCwzMjc2NyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0hlaWdodCBvZiB0aGUgYm91bmRpbmcgcmVjdGFuZ2xlIG9mIHRoZSBjb250cm9sLicsKSwKLSh1J0JCQ29udHJvbCcsdSdXaWR0aCcsdSdOJywwLDMyNzY3LE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnV2lkdGggb2YgdGhlIGJvdW5kaW5nIHJlY3RhbmdsZSBvZiB0aGUgY29udHJvbC4nLCksCi0odSdCQkNvbnRyb2wnLHUnWCcsdSdOJywwLDMyNzY3LE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSG9yaXpvbnRhbCBjb29yZGluYXRlIG9mIHRoZSB1cHBlciBsZWZ0IGNvcm5lciBvZiB0aGUgYm91bmRpbmcgcmVjdGFuZ2xlIG9mIHRoZSBjb250cm9sLicsKSwKLSh1J0JpbGxib2FyZCcsdSdBY3Rpb24nLHUnWScsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJyxOb25lLCB1J1RoZSBuYW1lIG9mIGFuIGFjdGlvbi4gVGhlIGJpbGxib2FyZCBpcyBkaXNwbGF5ZWQgZHVyaW5nIHRoZSBwcm9ncmVzcyBtZXNzYWdlcyByZWNlaXZlZCBmcm9tIHRoaXMgYWN0aW9uLicsKSwKLSh1J0JpbGxib2FyZCcsdSdCaWxsYm9hcmQnLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJyxOb25lLCB1J05hbWUgb2YgdGhlIGJpbGxib2FyZC4nLCksCi0odSdCaWxsYm9hcmQnLHUnRmVhdHVyZV8nLHUnTicsTm9uZSwgTm9uZSwgdSdGZWF0dXJlJywxLHUnSWRlbnRpZmllcicsTm9uZSwgdSdBbiBleHRlcm5hbCBrZXkgdG8gdGhlIEZlYXR1cmUgVGFibGUuIFRoZSBiaWxsYm9hcmQgaXMgc2hvd24gb25seSBpZiB0aGlzIGZlYXR1cmUgaXMgYmVpbmcgaW5zdGFsbGVkLicsKSwKLSh1J0JpbGxib2FyZCcsdSdPcmRlcmluZycsdSdZJywwLDMyNzY3LE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnQSBwb3NpdGl2ZSBpbnRlZ2VyLiBJZiB0aGVyZSBpcyBtb3JlIHRoYW4gb25lIGJpbGxib2FyZCBjb3JyZXNwb25kaW5nIHRvIGFuIGFjdGlvbiB0aGV5IHdpbGwgYmUgc2hvd24gaW4gdGhlIG9yZGVyIGRlZmluZWQgYnkgdGhpcyBjb2x1bW4uJywpLAotKHUnRmVhdHVyZScsdSdEZXNjcmlwdGlvbicsdSdZJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RleHQnLE5vbmUsIHUnTG9uZ2VyIGRlc2NyaXB0aXZlIHRleHQgZGVzY3JpYmluZyBhIHZpc2libGUgZmVhdHVyZSBpdGVtLicsKSwKLSh1J0ZlYXR1cmUnLHUnQXR0cmlidXRlcycsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1JzA7MTsyOzQ7NTs2Ozg7OTsxMDsxNjsxNzsxODsyMDsyMTsyMjsyNDsyNTsyNjszMjszMzszNDszNjszNzszODs0ODs0OTs1MDs1Mjs1Mzs1NCcsdSdGZWF0dXJlIGF0dHJpYnV0ZXMnLCksCi0odSdGZWF0dXJlJyx1J0ZlYXR1cmUnLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJyxOb25lLCB1J1ByaW1hcnkga2V5IHVzZWQgdG8gaWRlbnRpZnkgYSBwYXJ0aWN1bGFyIGZlYXR1cmUgcmVjb3JkLicsKSwKLSh1J0ZlYXR1cmUnLHUnRGlyZWN0b3J5XycsdSdZJyxOb25lLCBOb25lLCB1J0RpcmVjdG9yeScsMSx1J1VwcGVyQ2FzZScsTm9uZSwgdSdUaGUgbmFtZSBvZiB0aGUgRGlyZWN0b3J5IHRoYXQgY2FuIGJlIGNvbmZpZ3VyZWQgYnkgdGhlIFVJLiBBIG5vbi1udWxsIHZhbHVlIHdpbGwgZW5hYmxlIHRoZSBicm93c2UgYnV0dG9uLicsKSwKLSh1J0ZlYXR1cmUnLHUnTGV2ZWwnLHUnTicsMCwzMjc2NyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RoZSBpbnN0YWxsIGxldmVsIGF0IHdoaWNoIHJlY29yZCB3aWxsIGJlIGluaXRpYWxseSBzZWxlY3RlZC4gQW4gaW5zdGFsbCBsZXZlbCBvZiAwIHdpbGwgZGlzYWJsZSBhbiBpdGVtIGFuZCBwcmV2ZW50IGl0cyBkaXNwbGF5LicsKSwKLSh1J0ZlYXR1cmUnLHUnVGl0bGUnLHUnWScsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUZXh0JyxOb25lLCB1J1Nob3J0IHRleHQgaWRlbnRpZnlpbmcgYSB2aXNpYmxlIGZlYXR1cmUgaXRlbS4nLCksCi0odSdGZWF0dXJlJyx1J0Rpc3BsYXknLHUnWScsMCwzMjc2NyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J051bWVyaWMgc29ydCBvcmRlciwgdXNlZCB0byBmb3JjZSBhIHNwZWNpZmljIGRpc3BsYXkgb3JkZXJpbmcuJywpLAotKHUnRmVhdHVyZScsdSdGZWF0dXJlX1BhcmVudCcsdSdZJyxOb25lLCBOb25lLCB1J0ZlYXR1cmUnLDEsdSdJZGVudGlmaWVyJyxOb25lLCB1J09wdGlvbmFsIGtleSBvZiBhIHBhcmVudCByZWNvcmQgaW4gdGhlIHNhbWUgdGFibGUuIElmIHRoZSBwYXJlbnQgaXMgbm90IHNlbGVjdGVkLCB0aGVuIHRoZSByZWNvcmQgd2lsbCBub3QgYmUgaW5zdGFsbGVkLiBOdWxsIGluZGljYXRlcyBhIHJvb3QgaXRlbS4nLCksCi0odSdCaW5hcnknLHUnTmFtZScsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLE5vbmUsIHUnVW5pcXVlIGtleSBpZGVudGlmeWluZyB0aGUgYmluYXJ5IGRhdGEuJywpLAotKHUnQmluYXJ5Jyx1J0RhdGEnLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdCaW5hcnknLE5vbmUsIHUnVGhlIHVuZm9ybWF0dGVkIGJpbmFyeSBkYXRhLicsKSwKLSh1J0JpbmRJbWFnZScsdSdGaWxlXycsdSdOJyxOb25lLCBOb25lLCB1J0ZpbGUnLDEsdSdJZGVudGlmaWVyJyxOb25lLCB1J1RoZSBpbmRleCBpbnRvIHRoZSBGaWxlIHRhYmxlLiBUaGlzIG11c3QgYmUgYW4gZXhlY3V0YWJsZSBmaWxlLicsKSwKLSh1J0JpbmRJbWFnZScsdSdQYXRoJyx1J1knLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnUGF0aHMnLE5vbmUsIHUnQSBsaXN0IG9mIDsgIGRlbGltaXRlZCBwYXRocyB0aGF0IHJlcHJlc2VudCB0aGUgcGF0aHMgdG8gYmUgc2VhcmNoZWQgZm9yIHRoZSBpbXBvcnQgRExMUy4gVGhlIGxpc3QgaXMgdXN1YWxseSBhIGxpc3Qgb2YgcHJvcGVydGllcyBlYWNoIGVuY2xvc2VkIHdpdGhpbiBzcXVhcmUgYnJhY2tldHMgW10gLicsKSwKLSh1J0ZpbGUnLHUnU2VxdWVuY2UnLHUnTicsMSwzMjc2NyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1NlcXVlbmNlIHdpdGggcmVzcGVjdCB0byB0aGUgbWVkaWEgaW1hZ2VzOyBvcmRlciBtdXN0IHRyYWNrIGNhYmluZXQgb3JkZXIuJywpLAotKHUnRmlsZScsdSdBdHRyaWJ1dGVzJyx1J1knLDAsMzI3NjcsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJbnRlZ2VyIGNvbnRhaW5pbmcgYml0IGZsYWdzIHJlcHJlc2VudGluZyBmaWxlIGF0dHJpYnV0ZXMgKHdpdGggdGhlIGRlY2ltYWwgdmFsdWUgb2YgZWFjaCBiaXQgcG9zaXRpb24gaW4gcGFyZW50aGVzZXMpJywpLAotKHUnRmlsZScsdSdGaWxlJyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsTm9uZSwgdSdQcmltYXJ5IGtleSwgbm9uLWxvY2FsaXplZCB0b2tlbiwgbXVzdCBtYXRjaCBpZGVudGlmaWVyIGluIGNhYmluZXQuICBGb3IgdW5jb21wcmVzc2VkIGZpbGVzLCB0aGlzIGZpZWxkIGlzIGlnbm9yZWQuJywpLAotKHUnRmlsZScsdSdDb21wb25lbnRfJyx1J04nLE5vbmUsIE5vbmUsIHUnQ29tcG9uZW50JywxLHUnSWRlbnRpZmllcicsTm9uZSwgdSdGb3JlaWduIGtleSByZWZlcmVuY2luZyBDb21wb25lbnQgdGhhdCBjb250cm9scyB0aGUgZmlsZS4nLCksCi0odSdGaWxlJyx1J0ZpbGVOYW1lJyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnRmlsZW5hbWUnLE5vbmUsIHUnRmlsZSBuYW1lIHVzZWQgZm9yIGluc3RhbGxhdGlvbiwgbWF5IGJlIGxvY2FsaXplZC4gIFRoaXMgbWF5IGNvbnRhaW4gYSAic2hvcnQgbmFtZXxsb25nIG5hbWUiIHBhaXIuJywpLAotKHUnRmlsZScsdSdGaWxlU2l6ZScsdSdOJywwLDIxNDc0ODM2NDcsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdTaXplIG9mIGZpbGUgaW4gYnl0ZXMgKGxvbmcgaW50ZWdlcikuJywpLAotKHUnRmlsZScsdSdMYW5ndWFnZScsdSdZJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0xhbmd1YWdlJyxOb25lLCB1J0xpc3Qgb2YgZGVjaW1hbCBsYW5ndWFnZSBJZHMsIGNvbW1hLXNlcGFyYXRlZCBpZiBtb3JlIHRoYW4gb25lLicsKSwKLSh1J0ZpbGUnLHUnVmVyc2lvbicsdSdZJyxOb25lLCBOb25lLCB1J0ZpbGUnLDEsdSdWZXJzaW9uJyxOb25lLCB1J1ZlcnNpb24gc3RyaW5nIGZvciB2ZXJzaW9uZWQgZmlsZXM7ICBCbGFuayBmb3IgdW52ZXJzaW9uZWQgZmlsZXMuJywpLAotKHUnQ0NQU2VhcmNoJyx1J1NpZ25hdHVyZV8nLHUnTicsTm9uZSwgTm9uZSwgdSdTaWduYXR1cmU7UmVnTG9jYXRvcjtJbmlMb2NhdG9yO0RyTG9jYXRvcjtDb21wTG9jYXRvcicsMSx1J0lkZW50aWZpZXInLE5vbmUsIHUnVGhlIFNpZ25hdHVyZV8gcmVwcmVzZW50cyBhIHVuaXF1ZSBmaWxlIHNpZ25hdHVyZSBhbmQgaXMgYWxzbyB0aGUgZm9yZWlnbiBrZXkgaW4gdGhlIFNpZ25hdHVyZSwgIFJlZ0xvY2F0b3IsIEluaUxvY2F0b3IsIENvbXBMb2NhdG9yIGFuZCB0aGUgRHJMb2NhdG9yIHRhYmxlcy4nLCksCi0odSdDaGVja0JveCcsdSdQcm9wZXJ0eScsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLE5vbmUsIHUnQSBuYW1lZCBwcm9wZXJ0eSB0byBiZSB0aWVkIHRvIHRoZSBpdGVtLicsKSwKLSh1J0NoZWNrQm94Jyx1J1ZhbHVlJyx1J1knLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnRm9ybWF0dGVkJyxOb25lLCB1J1RoZSB2YWx1ZSBzdHJpbmcgYXNzb2NpYXRlZCB3aXRoIHRoZSBpdGVtLicsKSwKLSh1J0NsYXNzJyx1J0Rlc2NyaXB0aW9uJyx1J1knLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGV4dCcsTm9uZSwgdSdMb2NhbGl6ZWQgZGVzY3JpcHRpb24gZm9yIHRoZSBDbGFzcy4nLCksCi0odSdDbGFzcycsdSdBdHRyaWJ1dGVzJyx1J1knLE5vbmUsIDMyNzY3LE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnQ2xhc3MgcmVnaXN0cmF0aW9uIGF0dHJpYnV0ZXMuJywpLAotKHUnQ2xhc3MnLHUnRmVhdHVyZV8nLHUnTicsTm9uZSwgTm9uZSwgdSdGZWF0dXJlJywxLHUnSWRlbnRpZmllcicsTm9uZSwgdSdSZXF1aXJlZCBmb3JlaWduIGtleSBpbnRvIHRoZSBGZWF0dXJlIFRhYmxlLCBzcGVjaWZ5aW5nIHRoZSBmZWF0dXJlIHRvIHZhbGlkYXRlIG9yIGluc3RhbGwgaW4gb3JkZXIgZm9yIHRoZSBDTFNJRCBmYWN0b3J5IHRvIGJlIG9wZXJhdGlvbmFsLicsKSwKLSh1J0NsYXNzJyx1J0FwcElkXycsdSdZJyxOb25lLCBOb25lLCB1J0FwcElkJywxLHUnR3VpZCcsTm9uZSwgdSdPcHRpb25hbCBBcHBJRCBjb250YWluaW5nIERDT00gaW5mb3JtYXRpb24gZm9yIGFzc29jaWF0ZWQgYXBwbGljYXRpb24gKHN0cmluZyBHVUlEKS4nLCksCi0odSdDbGFzcycsdSdBcmd1bWVudCcsdSdZJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0Zvcm1hdHRlZCcsTm9uZSwgdSdvcHRpb25hbCBhcmd1bWVudCBmb3IgTG9jYWxTZXJ2ZXJzLicsKSwKLSh1J0NsYXNzJyx1J0NMU0lEJyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnR3VpZCcsTm9uZSwgdSdUaGUgQ0xTSUQgb2YgYW4gT0xFIGZhY3RvcnkuJywpLAotKHUnQ2xhc3MnLHUnQ29tcG9uZW50XycsdSdOJyxOb25lLCBOb25lLCB1J0NvbXBvbmVudCcsMSx1J0lkZW50aWZpZXInLE5vbmUsIHUnUmVxdWlyZWQgZm9yZWlnbiBrZXkgaW50byB0aGUgQ29tcG9uZW50IFRhYmxlLCBzcGVjaWZ5aW5nIHRoZSBjb21wb25lbnQgZm9yIHdoaWNoIHRvIHJldHVybiBhIHBhdGggd2hlbiBjYWxsZWQgdGhyb3VnaCBMb2NhdGVDb21wb25lbnQuJywpLAotKHUnQ2xhc3MnLHUnQ29udGV4dCcsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLE5vbmUsIHUnVGhlIG51bWVyaWMgc2VydmVyIGNvbnRleHQgZm9yIHRoaXMgc2VydmVyLiBDTFNDVFhfeHh4eCcsKSwKLSh1J0NsYXNzJyx1J0RlZklucHJvY0hhbmRsZXInLHUnWScsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdGaWxlbmFtZScsdScxOzI7MycsdSdPcHRpb25hbCBkZWZhdWx0IGlucHJvYyBoYW5kbGVyLiAgT25seSBvcHRpb25hbGx5IHByb3ZpZGVkIGlmIENvbnRleHQ9Q0xTQ1RYX0xPQ0FMX1NFUlZFUi4gIFR5cGljYWxseSAib2xlMzIuZGxsIiBvciAibWFwaTMyLmRsbCInLCksCi0odSdDbGFzcycsdSdGaWxlVHlwZU1hc2snLHUnWScsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUZXh0JyxOb25lLCB1J09wdGlvbmFsIHN0cmluZyBjb250YWluaW5nIGluZm9ybWF0aW9uIGZvciB0aGUgSEtDUnRoaXMgQ0xTSUQpIGtleS4gSWYgbXVsdGlwbGUgcGF0dGVybnMgZXhpc3QsIHRoZXkgbXVzdCBiZSBkZWxpbWl0ZWQgYnkgYSBzZW1pY29sb24sIGFuZCBudW1lcmljIHN1YmtleXMgd2lsbCBiZSBnZW5lcmF0ZWQ6IDAsMSwyLi4uJywpLAotKHUnQ2xhc3MnLHUnSWNvbl8nLHUnWScsTm9uZSwgTm9uZSwgdSdJY29uJywxLHUnSWRlbnRpZmllcicsTm9uZSwgdSdPcHRpb25hbCBmb3JlaWduIGtleSBpbnRvIHRoZSBJY29uIFRhYmxlLCBzcGVjaWZ5aW5nIHRoZSBpY29uIGZpbGUgYXNzb2NpYXRlZCB3aXRoIHRoaXMgQ0xTSUQuIFdpbGwgYmUgd3JpdHRlbiB1bmRlciB0aGUgRGVmYXVsdEljb24ga2V5LicsKSwKLSh1J0NsYXNzJyx1J0ljb25JbmRleCcsdSdZJywtMzI3NjcsMzI3NjcsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdPcHRpb25hbCBpY29uIGluZGV4LicsKSwKLSh1J0NsYXNzJyx1J1Byb2dJZF9EZWZhdWx0Jyx1J1knLE5vbmUsIE5vbmUsIHUnUHJvZ0lkJywxLHUnVGV4dCcsTm9uZSwgdSdPcHRpb25hbCBQcm9nSWQgYXNzb2NpYXRlZCB3aXRoIHRoaXMgQ0xTSUQuJywpLAotKHUnQ29tcG9uZW50Jyx1J0NvbmRpdGlvbicsdSdZJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0NvbmRpdGlvbicsTm9uZSwgdSJBIGNvbmRpdGlvbmFsIHN0YXRlbWVudCB0aGF0IHdpbGwgZGlzYWJsZSB0aGlzIGNvbXBvbmVudCBpZiB0aGUgc3BlY2lmaWVkIGNvbmRpdGlvbiBldmFsdWF0ZXMgdG8gdGhlICdUcnVlJyBzdGF0ZS4gSWYgYSBjb21wb25lbnQgaXMgZGlzYWJsZWQsIGl0IHdpbGwgbm90IGJlIGluc3RhbGxlZCwgcmVnYXJkbGVzcyBvZiB0aGUgJ0FjdGlvbicgc3RhdGUgYXNzb2NpYXRlZCB3aXRoIHRoZSBjb21wb25lbnQuIiwpLAotKHUnQ29tcG9uZW50Jyx1J0F0dHJpYnV0ZXMnLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdSZW1vdGUgZXhlY3V0aW9uIG9wdGlvbiwgb25lIG9mIGlyc0VudW0nLCksCi0odSdDb21wb25lbnQnLHUnQ29tcG9uZW50Jyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsTm9uZSwgdSdQcmltYXJ5IGtleSB1c2VkIHRvIGlkZW50aWZ5IGEgcGFydGljdWxhciBjb21wb25lbnQgcmVjb3JkLicsKSwKLSh1J0NvbXBvbmVudCcsdSdDb21wb25lbnRJZCcsdSdZJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0d1aWQnLE5vbmUsIHUnQSBzdHJpbmcgR1VJRCB1bmlxdWUgdG8gdGhpcyBjb21wb25lbnQsIHZlcnNpb24sIGFuZCBsYW5ndWFnZS4nLCksCi0odSdDb21wb25lbnQnLHUnRGlyZWN0b3J5XycsdSdOJyxOb25lLCBOb25lLCB1J0RpcmVjdG9yeScsMSx1J0lkZW50aWZpZXInLE5vbmUsIHUnUmVxdWlyZWQga2V5IG9mIGEgRGlyZWN0b3J5IHRhYmxlIHJlY29yZC4gVGhpcyBpcyBhY3R1YWxseSBhIHByb3BlcnR5IG5hbWUgd2hvc2UgdmFsdWUgY29udGFpbnMgdGhlIGFjdHVhbCBwYXRoLCBzZXQgZWl0aGVyIGJ5IHRoZSBBcHBTZWFyY2ggYWN0aW9uIG9yIHdpdGggdGhlIGRlZmF1bHQgc2V0dGluZyBvYnRhaW5lZCBmcm9tIHRoZSBEaXJlY3RvcnkgdGFibGUuJywpLAotKHUnQ29tcG9uZW50Jyx1J0tleVBhdGgnLHUnWScsTm9uZSwgTm9uZSwgdSdGaWxlO1JlZ2lzdHJ5O09EQkNEYXRhU291cmNlJywxLHUnSWRlbnRpZmllcicsTm9uZSwgdSdFaXRoZXIgdGhlIHByaW1hcnkga2V5IGludG8gdGhlIEZpbGUgdGFibGUsIFJlZ2lzdHJ5IHRhYmxlLCBvciBPREJDRGF0YVNvdXJjZSB0YWJsZS4gVGhpcyBleHRyYWN0IHBhdGggaXMgc3RvcmVkIHdoZW4gdGhlIGNvbXBvbmVudCBpcyBpbnN0YWxsZWQsIGFuZCBpcyB1c2VkIHRvIGRldGVjdCB0aGUgcHJlc2VuY2Ugb2YgdGhlIGNvbXBvbmVudCBhbmQgdG8gcmV0dXJuIHRoZSBwYXRoIHRvIGl0LicsKSwKLSh1J0ljb24nLHUnTmFtZScsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLE5vbmUsIHUnUHJpbWFyeSBrZXkuIE5hbWUgb2YgdGhlIGljb24gZmlsZS4nLCksCi0odSdJY29uJyx1J0RhdGEnLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdCaW5hcnknLE5vbmUsIHUnQmluYXJ5IHN0cmVhbS4gVGhlIGJpbmFyeSBpY29uIGRhdGEgaW4gUEUgKC5ETEwgb3IgLkVYRSkgb3IgaWNvbiAoLklDTykgZm9ybWF0LicsKSwKLSh1J1Byb2dJZCcsdSdEZXNjcmlwdGlvbicsdSdZJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RleHQnLE5vbmUsIHUnTG9jYWxpemVkIGRlc2NyaXB0aW9uIGZvciB0aGUgUHJvZ3JhbSBpZGVudGlmaWVyLicsKSwKLSh1J1Byb2dJZCcsdSdJY29uXycsdSdZJyxOb25lLCBOb25lLCB1J0ljb24nLDEsdSdJZGVudGlmaWVyJyxOb25lLCB1J09wdGlvbmFsIGZvcmVpZ24ga2V5IGludG8gdGhlIEljb24gVGFibGUsIHNwZWNpZnlpbmcgdGhlIGljb24gZmlsZSBhc3NvY2lhdGVkIHdpdGggdGhpcyBQcm9nSWQuIFdpbGwgYmUgd3JpdHRlbiB1bmRlciB0aGUgRGVmYXVsdEljb24ga2V5LicsKSwKLSh1J1Byb2dJZCcsdSdJY29uSW5kZXgnLHUnWScsLTMyNzY3LDMyNzY3LE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnT3B0aW9uYWwgaWNvbiBpbmRleC4nLCksCi0odSdQcm9nSWQnLHUnUHJvZ0lkJyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGV4dCcsTm9uZSwgdSdUaGUgUHJvZ3JhbSBJZGVudGlmaWVyLiBQcmltYXJ5IGtleS4nLCksCi0odSdQcm9nSWQnLHUnQ2xhc3NfJyx1J1knLE5vbmUsIE5vbmUsIHUnQ2xhc3MnLDEsdSdHdWlkJyxOb25lLCB1J1RoZSBDTFNJRCBvZiBhbiBPTEUgZmFjdG9yeSBjb3JyZXNwb25kaW5nIHRvIHRoZSBQcm9nSWQuJywpLAotKHUnUHJvZ0lkJyx1J1Byb2dJZF9QYXJlbnQnLHUnWScsTm9uZSwgTm9uZSwgdSdQcm9nSWQnLDEsdSdUZXh0JyxOb25lLCB1J1RoZSBQYXJlbnQgUHJvZ3JhbSBJZGVudGlmaWVyLiBJZiBzcGVjaWZpZWQsIHRoZSBQcm9nSWQgY29sdW1uIGJlY29tZXMgYSB2ZXJzaW9uIGluZGVwZW5kZW50IHByb2cgaWQuJywpLAotKHUnQ29tYm9Cb3gnLHUnVGV4dCcsdSdZJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0Zvcm1hdHRlZCcsTm9uZSwgdSdUaGUgdmlzaWJsZSB0ZXh0IHRvIGJlIGFzc2lnbmVkIHRvIHRoZSBpdGVtLiBPcHRpb25hbC4gSWYgdGhpcyBlbnRyeSBvciB0aGUgZW50aXJlIGNvbHVtbiBpcyBtaXNzaW5nLCB0aGUgdGV4dCBpcyB0aGUgc2FtZSBhcyB0aGUgdmFsdWUuJywpLAotKHUnQ29tYm9Cb3gnLHUnUHJvcGVydHknLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJyxOb25lLCB1J0EgbmFtZWQgcHJvcGVydHkgdG8gYmUgdGllZCB0byB0aGlzIGl0ZW0uIEFsbCB0aGUgaXRlbXMgdGllZCB0byB0aGUgc2FtZSBwcm9wZXJ0eSBiZWNvbWUgcGFydCBvZiB0aGUgc2FtZSBjb21ib2JveC4nLCksCi0odSdDb21ib0JveCcsdSdWYWx1ZScsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0Zvcm1hdHRlZCcsTm9uZSwgdSdUaGUgdmFsdWUgc3RyaW5nIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGl0ZW0uIFNlbGVjdGluZyB0aGUgbGluZSB3aWxsIHNldCB0aGUgYXNzb2NpYXRlZCBwcm9wZXJ0eSB0byB0aGlzIHZhbHVlLicsKSwKLSh1J0NvbWJvQm94Jyx1J09yZGVyJyx1J04nLDEsMzI3NjcsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdBIHBvc2l0aXZlIGludGVnZXIgdXNlZCB0byBkZXRlcm1pbmUgdGhlIG9yZGVyaW5nIG9mIHRoZSBpdGVtcyB3aXRoaW4gb25lIGxpc3QuXHRUaGUgaW50ZWdlcnMgZG8gbm90IGhhdmUgdG8gYmUgY29uc2VjdXRpdmUuJywpLAotKHUnQ29tcExvY2F0b3InLHUnVHlwZScsdSdZJywwLDEsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdBIGJvb2xlYW4gdmFsdWUgdGhhdCBkZXRlcm1pbmVzIGlmIHRoZSByZWdpc3RyeSB2YWx1ZSBpcyBhIGZpbGVuYW1lIG9yIGEgZGlyZWN0b3J5IGxvY2F0aW9uLicsKSwKLSh1J0NvbXBMb2NhdG9yJyx1J1NpZ25hdHVyZV8nLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJyxOb25lLCB1J1RoZSB0YWJsZSBrZXkuIFRoZSBTaWduYXR1cmVfIHJlcHJlc2VudHMgYSB1bmlxdWUgZmlsZSBzaWduYXR1cmUgYW5kIGlzIGFsc28gdGhlIGZvcmVpZ24ga2V5IGluIHRoZSBTaWduYXR1cmUgdGFibGUuJywpLAotKHUnQ29tcExvY2F0b3InLHUnQ29tcG9uZW50SWQnLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdHdWlkJyxOb25lLCB1J0Egc3RyaW5nIEdVSUQgdW5pcXVlIHRvIHRoaXMgY29tcG9uZW50LCB2ZXJzaW9uLCBhbmQgbGFuZ3VhZ2UuJywpLAotKHUnQ29tcGx1cycsdSdDb21wb25lbnRfJyx1J04nLE5vbmUsIE5vbmUsIHUnQ29tcG9uZW50JywxLHUnSWRlbnRpZmllcicsTm9uZSwgdSdGb3JlaWduIGtleSByZWZlcmVuY2luZyBDb21wb25lbnQgdGhhdCBjb250cm9scyB0aGUgQ29tUGx1cyBjb21wb25lbnQuJywpLAotKHUnQ29tcGx1cycsdSdFeHBUeXBlJyx1J1knLDAsMzI3NjcsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdDb21QbHVzIGNvbXBvbmVudCBhdHRyaWJ1dGVzLicsKSwKLSh1J0RpcmVjdG9yeScsdSdEaXJlY3RvcnknLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJyxOb25lLCB1J1VuaXF1ZSBpZGVudGlmaWVyIGZvciBkaXJlY3RvcnkgZW50cnksIHByaW1hcnkga2V5LiBJZiBhIHByb3BlcnR5IGJ5IHRoaXMgbmFtZSBpcyBkZWZpbmVkLCBpdCBjb250YWlucyB0aGUgZnVsbCBwYXRoIHRvIHRoZSBkaXJlY3RvcnkuJywpLAotKHUnRGlyZWN0b3J5Jyx1J0RlZmF1bHREaXInLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdEZWZhdWx0RGlyJyxOb25lLCB1IlRoZSBkZWZhdWx0IHN1Yi1wYXRoIHVuZGVyIHBhcmVudCdzIHBhdGguIiwpLAotKHUnRGlyZWN0b3J5Jyx1J0RpcmVjdG9yeV9QYXJlbnQnLHUnWScsTm9uZSwgTm9uZSwgdSdEaXJlY3RvcnknLDEsdSdJZGVudGlmaWVyJyxOb25lLCB1J1JlZmVyZW5jZSB0byB0aGUgZW50cnkgaW4gdGhpcyB0YWJsZSBzcGVjaWZ5aW5nIHRoZSBkZWZhdWx0IHBhcmVudCBkaXJlY3RvcnkuIEEgcmVjb3JkIHBhcmVudGVkIHRvIGl0c2VsZiBvciB3aXRoIGEgTnVsbCBwYXJlbnQgcmVwcmVzZW50cyBhIHJvb3Qgb2YgdGhlIGluc3RhbGwgdHJlZS4nLCksCi0odSdDb250cm9sJyx1J1R5cGUnLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJyxOb25lLCB1J1RoZSB0eXBlIG9mIHRoZSBjb250cm9sLicsKSwKLSh1J0NvbnRyb2wnLHUnWScsdSdOJywwLDMyNzY3LE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVmVydGljYWwgY29vcmRpbmF0ZSBvZiB0aGUgdXBwZXIgbGVmdCBjb3JuZXIgb2YgdGhlIGJvdW5kaW5nIHJlY3RhbmdsZSBvZiB0aGUgY29udHJvbC4nLCksCi0odSdDb250cm9sJyx1J1RleHQnLHUnWScsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdGb3JtYXR0ZWQnLE5vbmUsIHUnQSBzdHJpbmcgdXNlZCB0byBzZXQgdGhlIGluaXRpYWwgdGV4dCBjb250YWluZWQgd2l0aGluIGEgY29udHJvbCAoaWYgYXBwcm9wcmlhdGUpLicsKSwKLSh1J0NvbnRyb2wnLHUnUHJvcGVydHknLHUnWScsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJyxOb25lLCB1J1RoZSBuYW1lIG9mIGEgZGVmaW5lZCBwcm9wZXJ0eSB0byBiZSBsaW5rZWQgdG8gdGhpcyBjb250cm9sLiAnLCksCi0odSdDb250cm9sJyx1J0F0dHJpYnV0ZXMnLHUnWScsMCwyMTQ3NDgzNjQ3LE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnQSAzMi1iaXQgd29yZCB0aGF0IHNwZWNpZmllcyB0aGUgYXR0cmlidXRlIGZsYWdzIHRvIGJlIGFwcGxpZWQgdG8gdGhpcyBjb250cm9sLicsKSwKLSh1J0NvbnRyb2wnLHUnSGVpZ2h0Jyx1J04nLDAsMzI3NjcsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdIZWlnaHQgb2YgdGhlIGJvdW5kaW5nIHJlY3RhbmdsZSBvZiB0aGUgY29udHJvbC4nLCksCi0odSdDb250cm9sJyx1J1dpZHRoJyx1J04nLDAsMzI3NjcsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdXaWR0aCBvZiB0aGUgYm91bmRpbmcgcmVjdGFuZ2xlIG9mIHRoZSBjb250cm9sLicsKSwKLSh1J0NvbnRyb2wnLHUnWCcsdSdOJywwLDMyNzY3LE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSG9yaXpvbnRhbCBjb29yZGluYXRlIG9mIHRoZSB1cHBlciBsZWZ0IGNvcm5lciBvZiB0aGUgYm91bmRpbmcgcmVjdGFuZ2xlIG9mIHRoZSBjb250cm9sLicsKSwKLSh1J0NvbnRyb2wnLHUnQ29udHJvbCcsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLE5vbmUsIHUnTmFtZSBvZiB0aGUgY29udHJvbC4gVGhpcyBuYW1lIG11c3QgYmUgdW5pcXVlIHdpdGhpbiBhIGRpYWxvZywgYnV0IGNhbiByZXBlYXQgb24gZGlmZmVyZW50IGRpYWxvZ3MuICcsKSwKLSh1J0NvbnRyb2wnLHUnQ29udHJvbF9OZXh0Jyx1J1knLE5vbmUsIE5vbmUsIHUnQ29udHJvbCcsMix1J0lkZW50aWZpZXInLE5vbmUsIHUnVGhlIG5hbWUgb2YgYW4gb3RoZXIgY29udHJvbCBvbiB0aGUgc2FtZSBkaWFsb2cuIFRoaXMgbGluayBkZWZpbmVzIHRoZSB0YWIgb3JkZXIgb2YgdGhlIGNvbnRyb2xzLiBUaGUgbGlua3MgaGF2ZSB0byBmb3JtIG9uZSBvciBtb3JlIGN5Y2xlcyEnLCksCi0odSdDb250cm9sJyx1J0RpYWxvZ18nLHUnTicsTm9uZSwgTm9uZSwgdSdEaWFsb2cnLDEsdSdJZGVudGlmaWVyJyxOb25lLCB1J0V4dGVybmFsIGtleSB0byB0aGUgRGlhbG9nIHRhYmxlLCBuYW1lIG9mIHRoZSBkaWFsb2cuJywpLAotKHUnQ29udHJvbCcsdSdIZWxwJyx1J1knLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGV4dCcsTm9uZSwgdSdUaGUgaGVscCBzdHJpbmdzIHVzZWQgd2l0aCB0aGUgYnV0dG9uLiBUaGUgdGV4dCBpcyBvcHRpb25hbC4gJywpLAotKHUnRGlhbG9nJyx1J0F0dHJpYnV0ZXMnLHUnWScsMCwyMTQ3NDgzNjQ3LE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnQSAzMi1iaXQgd29yZCB0aGF0IHNwZWNpZmllcyB0aGUgYXR0cmlidXRlIGZsYWdzIHRvIGJlIGFwcGxpZWQgdG8gdGhpcyBkaWFsb2cuJywpLAotKHUnRGlhbG9nJyx1J0hlaWdodCcsdSdOJywwLDMyNzY3LE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSGVpZ2h0IG9mIHRoZSBib3VuZGluZyByZWN0YW5nbGUgb2YgdGhlIGRpYWxvZy4nLCksCi0odSdEaWFsb2cnLHUnV2lkdGgnLHUnTicsMCwzMjc2NyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1dpZHRoIG9mIHRoZSBib3VuZGluZyByZWN0YW5nbGUgb2YgdGhlIGRpYWxvZy4nLCksCi0odSdEaWFsb2cnLHUnRGlhbG9nJyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsTm9uZSwgdSdOYW1lIG9mIHRoZSBkaWFsb2cuJywpLAotKHUnRGlhbG9nJyx1J0NvbnRyb2xfQ2FuY2VsJyx1J1knLE5vbmUsIE5vbmUsIHUnQ29udHJvbCcsMix1J0lkZW50aWZpZXInLE5vbmUsIHUnRGVmaW5lcyB0aGUgY2FuY2VsIGNvbnRyb2wuIEhpdHRpbmcgZXNjYXBlIG9yIGNsaWNraW5nIG9uIHRoZSBjbG9zZSBpY29uIG9uIHRoZSBkaWFsb2cgaXMgZXF1aXZhbGVudCB0byBwdXNoaW5nIHRoaXMgYnV0dG9uLicsKSwKLSh1J0RpYWxvZycsdSdDb250cm9sX0RlZmF1bHQnLHUnWScsTm9uZSwgTm9uZSwgdSdDb250cm9sJywyLHUnSWRlbnRpZmllcicsTm9uZSwgdSdEZWZpbmVzIHRoZSBkZWZhdWx0IGNvbnRyb2wuIEhpdHRpbmcgcmV0dXJuIGlzIGVxdWl2YWxlbnQgdG8gcHVzaGluZyB0aGlzIGJ1dHRvbi4nLCksCi0odSdEaWFsb2cnLHUnQ29udHJvbF9GaXJzdCcsdSdOJyxOb25lLCBOb25lLCB1J0NvbnRyb2wnLDIsdSdJZGVudGlmaWVyJyxOb25lLCB1J0RlZmluZXMgdGhlIGNvbnRyb2wgdGhhdCBoYXMgdGhlIGZvY3VzIHdoZW4gdGhlIGRpYWxvZyBpcyBjcmVhdGVkLicsKSwKLSh1J0RpYWxvZycsdSdIQ2VudGVyaW5nJyx1J04nLDAsMTAwLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSG9yaXpvbnRhbCBwb3NpdGlvbiBvZiB0aGUgZGlhbG9nIG9uIGEgMC0xMDAgc2NhbGUuIDAgbWVhbnMgbGVmdCBlbmQsIDEwMCBtZWFucyByaWdodCBlbmQgb2YgdGhlIHNjcmVlbiwgNTAgY2VudGVyLicsKSwKLSh1J0RpYWxvZycsdSdUaXRsZScsdSdZJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0Zvcm1hdHRlZCcsTm9uZSwgdSJBIHRleHQgc3RyaW5nIHNwZWNpZnlpbmcgdGhlIHRpdGxlIHRvIGJlIGRpc3BsYXllZCBpbiB0aGUgdGl0bGUgYmFyIG9mIHRoZSBkaWFsb2cncyB3aW5kb3cuIiwpLAotKHUnRGlhbG9nJyx1J1ZDZW50ZXJpbmcnLHUnTicsMCwxMDAsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdWZXJ0aWNhbCBwb3NpdGlvbiBvZiB0aGUgZGlhbG9nIG9uIGEgMC0xMDAgc2NhbGUuIDAgbWVhbnMgdG9wIGVuZCwgMTAwIG1lYW5zIGJvdHRvbSBlbmQgb2YgdGhlIHNjcmVlbiwgNTAgY2VudGVyLicsKSwKLSh1J0NvbnRyb2xDb25kaXRpb24nLHUnQWN0aW9uJyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnRGVmYXVsdDtEaXNhYmxlO0VuYWJsZTtIaWRlO1Nob3cnLHUnVGhlIGRlc2lyZWQgYWN0aW9uIHRvIGJlIHRha2VuIG9uIHRoZSBzcGVjaWZpZWQgY29udHJvbC4nLCksCi0odSdDb250cm9sQ29uZGl0aW9uJyx1J0NvbmRpdGlvbicsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0NvbmRpdGlvbicsTm9uZSwgdSdBIHN0YW5kYXJkIGNvbmRpdGlvbmFsIHN0YXRlbWVudCB0aGF0IHNwZWNpZmllcyB1bmRlciB3aGljaCBjb25kaXRpb25zIHRoZSBhY3Rpb24gc2hvdWxkIGJlIHRyaWdnZXJlZC4nLCksCi0odSdDb250cm9sQ29uZGl0aW9uJyx1J0RpYWxvZ18nLHUnTicsTm9uZSwgTm9uZSwgdSdEaWFsb2cnLDEsdSdJZGVudGlmaWVyJyxOb25lLCB1J0EgZm9yZWlnbiBrZXkgdG8gdGhlIERpYWxvZyB0YWJsZSwgbmFtZSBvZiB0aGUgZGlhbG9nLicsKSwKLSh1J0NvbnRyb2xDb25kaXRpb24nLHUnQ29udHJvbF8nLHUnTicsTm9uZSwgTm9uZSwgdSdDb250cm9sJywyLHUnSWRlbnRpZmllcicsTm9uZSwgdSdBIGZvcmVpZ24ga2V5IHRvIHRoZSBDb250cm9sIHRhYmxlLCBuYW1lIG9mIHRoZSBjb250cm9sLicsKSwKLSh1J0NvbnRyb2xFdmVudCcsdSdDb25kaXRpb24nLHUnWScsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdDb25kaXRpb24nLE5vbmUsIHUnQSBzdGFuZGFyZCBjb25kaXRpb25hbCBzdGF0ZW1lbnQgdGhhdCBzcGVjaWZpZXMgdW5kZXIgd2hpY2ggY29uZGl0aW9ucyBhbiBldmVudCBzaG91bGQgYmUgdHJpZ2dlcmVkLicsKSwKLSh1J0NvbnRyb2xFdmVudCcsdSdPcmRlcmluZycsdSdZJywwLDIxNDc0ODM2NDcsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdBbiBpbnRlZ2VyIHVzZWQgdG8gb3JkZXIgc2V2ZXJhbCBldmVudHMgdGllZCB0byB0aGUgc2FtZSBjb250cm9sLiBDYW4gYmUgbGVmdCBibGFuay4nLCksCi0odSdDb250cm9sRXZlbnQnLHUnQXJndW1lbnQnLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdGb3JtYXR0ZWQnLE5vbmUsIHUnQSB2YWx1ZSB0byBiZSB1c2VkIGFzIGEgbW9kaWZpZXIgd2hlbiB0cmlnZ2VyaW5nIGEgcGFydGljdWxhciBldmVudC4nLCksCi0odSdDb250cm9sRXZlbnQnLHUnRGlhbG9nXycsdSdOJyxOb25lLCBOb25lLCB1J0RpYWxvZycsMSx1J0lkZW50aWZpZXInLE5vbmUsIHUnQSBmb3JlaWduIGtleSB0byB0aGUgRGlhbG9nIHRhYmxlLCBuYW1lIG9mIHRoZSBkaWFsb2cuJywpLAotKHUnQ29udHJvbEV2ZW50Jyx1J0NvbnRyb2xfJyx1J04nLE5vbmUsIE5vbmUsIHUnQ29udHJvbCcsMix1J0lkZW50aWZpZXInLE5vbmUsIHUnQSBmb3JlaWduIGtleSB0byB0aGUgQ29udHJvbCB0YWJsZSwgbmFtZSBvZiB0aGUgY29udHJvbCcsKSwKLSh1J0NvbnRyb2xFdmVudCcsdSdFdmVudCcsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0Zvcm1hdHRlZCcsTm9uZSwgdSdBbiBpZGVudGlmaWVyIHRoYXQgc3BlY2lmaWVzIHRoZSB0eXBlIG9mIHRoZSBldmVudCB0aGF0IHNob3VsZCB0YWtlIHBsYWNlIHdoZW4gdGhlIHVzZXIgaW50ZXJhY3RzIHdpdGggY29udHJvbCBzcGVjaWZpZWQgYnkgdGhlIGZpcnN0IHR3byBlbnRyaWVzLicsKSwKLSh1J0NyZWF0ZUZvbGRlcicsdSdDb21wb25lbnRfJyx1J04nLE5vbmUsIE5vbmUsIHUnQ29tcG9uZW50JywxLHUnSWRlbnRpZmllcicsTm9uZSwgdSdGb3JlaWduIGtleSBpbnRvIHRoZSBDb21wb25lbnQgdGFibGUuJywpLAotKHUnQ3JlYXRlRm9sZGVyJyx1J0RpcmVjdG9yeV8nLHUnTicsTm9uZSwgTm9uZSwgdSdEaXJlY3RvcnknLDEsdSdJZGVudGlmaWVyJyxOb25lLCB1J1ByaW1hcnkga2V5LCBjb3VsZCBiZSBmb3JlaWduIGtleSBpbnRvIHRoZSBEaXJlY3RvcnkgdGFibGUuJywpLAotKHUnQ3VzdG9tQWN0aW9uJyx1J1R5cGUnLHUnTicsMSwxNjM4MyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RoZSBudW1lcmljIGN1c3RvbSBhY3Rpb24gdHlwZSwgY29uc2lzdGluZyBvZiBzb3VyY2UgbG9jYXRpb24sIGNvZGUgdHlwZSwgZW50cnksIG9wdGlvbiBmbGFncy4nLCksCi0odSdDdXN0b21BY3Rpb24nLHUnQWN0aW9uJyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsTm9uZSwgdSdQcmltYXJ5IGtleSwgbmFtZSBvZiBhY3Rpb24sIG5vcm1hbGx5IGFwcGVhcnMgaW4gc2VxdWVuY2UgdGFibGUgdW5sZXNzIHByaXZhdGUgdXNlLicsKSwKLSh1J0N1c3RvbUFjdGlvbicsdSdTb3VyY2UnLHUnWScsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdDdXN0b21Tb3VyY2UnLE5vbmUsIHUnVGhlIHRhYmxlIHJlZmVyZW5jZSBvZiB0aGUgc291cmNlIG9mIHRoZSBjb2RlLicsKSwKLSh1J0N1c3RvbUFjdGlvbicsdSdUYXJnZXQnLHUnWScsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdGb3JtYXR0ZWQnLE5vbmUsIHUnRXhjZWN1dGlvbiBwYXJhbWV0ZXIsIGRlcGVuZHMgb24gdGhlIHR5cGUgb2YgY3VzdG9tIGFjdGlvbicsKSwKLSh1J0RyTG9jYXRvcicsdSdTaWduYXR1cmVfJyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsTm9uZSwgdSdUaGUgU2lnbmF0dXJlXyByZXByZXNlbnRzIGEgdW5pcXVlIGZpbGUgc2lnbmF0dXJlIGFuZCBpcyBhbHNvIHRoZSBmb3JlaWduIGtleSBpbiB0aGUgU2lnbmF0dXJlIHRhYmxlLicsKSwKLSh1J0RyTG9jYXRvcicsdSdQYXRoJyx1J1knLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnQW55UGF0aCcsTm9uZSwgdSdUaGUgcGF0aCBvbiB0aGUgdXNlciBzeXN0ZW0uIFRoaXMgaXMgYSBlaXRoZXIgYSBzdWJwYXRoIGJlbG93IHRoZSB2YWx1ZSBvZiB0aGUgUGFyZW50IG9yIGEgZnVsbCBwYXRoLiBUaGUgcGF0aCBtYXkgY29udGFpbiBwcm9wZXJ0aWVzIGVuY2xvc2VkIHdpdGhpbiBbIF0gdGhhdCB3aWxsIGJlIGV4cGFuZGVkLicsKSwKLSh1J0RyTG9jYXRvcicsdSdEZXB0aCcsdSdZJywwLDMyNzY3LE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGhlIGRlcHRoIGJlbG93IHRoZSBwYXRoIHRvIHdoaWNoIHRoZSBTaWduYXR1cmVfIGlzIHJlY3Vyc2l2ZWx5IHNlYXJjaGVkLiBJZiBhYnNlbnQsIHRoZSBkZXB0aCBpcyBhc3N1bWVkIHRvIGJlIDAuJywpLAotKHUnRHJMb2NhdG9yJyx1J1BhcmVudCcsdSdZJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLE5vbmUsIHUnVGhlIHBhcmVudCBmaWxlIHNpZ25hdHVyZS4gSXQgaXMgYWxzbyBhIGZvcmVpZ24ga2V5IGluIHRoZSBTaWduYXR1cmUgdGFibGUuIElmIG51bGwgYW5kIHRoZSBQYXRoIGNvbHVtbiBkb2VzIG5vdCBleHBhbmQgdG8gYSBmdWxsIHBhdGgsIHRoZW4gYWxsIHRoZSBmaXhlZCBkcml2ZXMgb2YgdGhlIHVzZXIgc3lzdGVtIGFyZSBzZWFyY2hlZCB1c2luZyB0aGUgUGF0aC4nLCksCi0odSdEdXBsaWNhdGVGaWxlJyx1J0ZpbGVfJyx1J04nLE5vbmUsIE5vbmUsIHUnRmlsZScsMSx1J0lkZW50aWZpZXInLE5vbmUsIHUnRm9yZWlnbiBrZXkgcmVmZXJlbmNpbmcgdGhlIHNvdXJjZSBmaWxlIHRvIGJlIGR1cGxpY2F0ZWQuJywpLAotKHUnRHVwbGljYXRlRmlsZScsdSdDb21wb25lbnRfJyx1J04nLE5vbmUsIE5vbmUsIHUnQ29tcG9uZW50JywxLHUnSWRlbnRpZmllcicsTm9uZSwgdSdGb3JlaWduIGtleSByZWZlcmVuY2luZyBDb21wb25lbnQgdGhhdCBjb250cm9scyB0aGUgZHVwbGljYXRlIGZpbGUuJywpLAotKHUnRHVwbGljYXRlRmlsZScsdSdEZXN0Rm9sZGVyJyx1J1knLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsTm9uZSwgdSdOYW1lIG9mIGEgcHJvcGVydHkgd2hvc2UgdmFsdWUgaXMgYXNzdW1lZCB0byByZXNvbHZlIHRvIHRoZSBmdWxsIHBhdGhuYW1lIHRvIGEgZGVzdGluYXRpb24gZm9sZGVyLicsKSwKLSh1J0R1cGxpY2F0ZUZpbGUnLHUnRGVzdE5hbWUnLHUnWScsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdGaWxlbmFtZScsTm9uZSwgdSdGaWxlbmFtZSB0byBiZSBnaXZlbiB0byB0aGUgZHVwbGljYXRlIGZpbGUuJywpLAotKHUnRHVwbGljYXRlRmlsZScsdSdGaWxlS2V5Jyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsTm9uZSwgdSdQcmltYXJ5IGtleSB1c2VkIHRvIGlkZW50aWZ5IGEgcGFydGljdWxhciBmaWxlIGVudHJ5JywpLAotKHUnRW52aXJvbm1lbnQnLHUnTmFtZScsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RleHQnLE5vbmUsIHUnVGhlIG5hbWUgb2YgdGhlIGVudmlyb25tZW50YWwgdmFsdWUuJywpLAotKHUnRW52aXJvbm1lbnQnLHUnVmFsdWUnLHUnWScsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdGb3JtYXR0ZWQnLE5vbmUsIHUnVGhlIHZhbHVlIHRvIHNldCBpbiB0aGUgZW52aXJvbm1lbnRhbCBzZXR0aW5ncy4nLCksCi0odSdFbnZpcm9ubWVudCcsdSdDb21wb25lbnRfJyx1J04nLE5vbmUsIE5vbmUsIHUnQ29tcG9uZW50JywxLHUnSWRlbnRpZmllcicsTm9uZSwgdSdGb3JlaWduIGtleSBpbnRvIHRoZSBDb21wb25lbnQgdGFibGUgcmVmZXJlbmNpbmcgY29tcG9uZW50IHRoYXQgY29udHJvbHMgdGhlIGluc3RhbGxpbmcgb2YgdGhlIGVudmlyb25tZW50YWwgdmFsdWUuJywpLAotKHUnRW52aXJvbm1lbnQnLHUnRW52aXJvbm1lbnQnLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJyxOb25lLCB1J1VuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGUgZW52aXJvbm1lbnRhbCB2YXJpYWJsZSBzZXR0aW5nJywpLAotKHUnRXJyb3InLHUnRXJyb3InLHUnTicsMCwzMjc2NyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0ludGVnZXIgZXJyb3IgbnVtYmVyLCBvYnRhaW5lZCBmcm9tIGhlYWRlciBmaWxlIElFcnJvciguLi4pIG1hY3Jvcy4nLCksCi0odSdFcnJvcicsdSdNZXNzYWdlJyx1J1knLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGVtcGxhdGUnLE5vbmUsIHUnRXJyb3IgZm9ybWF0dGluZyB0ZW1wbGF0ZSwgb2J0YWluZWQgZnJvbSB1c2VyIGVkLiBvciBsb2NhbGl6ZXJzLicsKSwKLSh1J0V2ZW50TWFwcGluZycsdSdEaWFsb2dfJyx1J04nLE5vbmUsIE5vbmUsIHUnRGlhbG9nJywxLHUnSWRlbnRpZmllcicsTm9uZSwgdSdBIGZvcmVpZ24ga2V5IHRvIHRoZSBEaWFsb2cgdGFibGUsIG5hbWUgb2YgdGhlIERpYWxvZy4nLCksCi0odSdFdmVudE1hcHBpbmcnLHUnQ29udHJvbF8nLHUnTicsTm9uZSwgTm9uZSwgdSdDb250cm9sJywyLHUnSWRlbnRpZmllcicsTm9uZSwgdSdBIGZvcmVpZ24ga2V5IHRvIHRoZSBDb250cm9sIHRhYmxlLCBuYW1lIG9mIHRoZSBjb250cm9sLicsKSwKLSh1J0V2ZW50TWFwcGluZycsdSdFdmVudCcsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLE5vbmUsIHUnQW4gaWRlbnRpZmllciB0aGF0IHNwZWNpZmllcyB0aGUgdHlwZSBvZiB0aGUgZXZlbnQgdGhhdCB0aGUgY29udHJvbCBzdWJzY3JpYmVzIHRvLicsKSwKLSh1J0V2ZW50TWFwcGluZycsdSdBdHRyaWJ1dGUnLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJyxOb25lLCB1J1RoZSBuYW1lIG9mIHRoZSBjb250cm9sIGF0dHJpYnV0ZSwgdGhhdCBpcyBzZXQgd2hlbiB0aGlzIGV2ZW50IGlzIHJlY2VpdmVkLicsKSwKLSh1J0V4dGVuc2lvbicsdSdGZWF0dXJlXycsdSdOJyxOb25lLCBOb25lLCB1J0ZlYXR1cmUnLDEsdSdJZGVudGlmaWVyJyxOb25lLCB1J1JlcXVpcmVkIGZvcmVpZ24ga2V5IGludG8gdGhlIEZlYXR1cmUgVGFibGUsIHNwZWNpZnlpbmcgdGhlIGZlYXR1cmUgdG8gdmFsaWRhdGUgb3IgaW5zdGFsbCBpbiBvcmRlciBmb3IgdGhlIENMU0lEIGZhY3RvcnkgdG8gYmUgb3BlcmF0aW9uYWwuJywpLAotKHUnRXh0ZW5zaW9uJyx1J0NvbXBvbmVudF8nLHUnTicsTm9uZSwgTm9uZSwgdSdDb21wb25lbnQnLDEsdSdJZGVudGlmaWVyJyxOb25lLCB1J1JlcXVpcmVkIGZvcmVpZ24ga2V5IGludG8gdGhlIENvbXBvbmVudCBUYWJsZSwgc3BlY2lmeWluZyB0aGUgY29tcG9uZW50IGZvciB3aGljaCB0byByZXR1cm4gYSBwYXRoIHdoZW4gY2FsbGVkIHRocm91Z2ggTG9jYXRlQ29tcG9uZW50LicsKSwKLSh1J0V4dGVuc2lvbicsdSdFeHRlbnNpb24nLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUZXh0JyxOb25lLCB1J1RoZSBleHRlbnNpb24gYXNzb2NpYXRlZCB3aXRoIHRoZSB0YWJsZSByb3cuJywpLAotKHUnRXh0ZW5zaW9uJyx1J01JTUVfJyx1J1knLE5vbmUsIE5vbmUsIHUnTUlNRScsMSx1J1RleHQnLE5vbmUsIHUnT3B0aW9uYWwgQ29udGV4dCBpZGVudGlmaWVyLCB0eXBpY2FsbHkgInR5cGUvZm9ybWF0IiBhc3NvY2lhdGVkIHdpdGggdGhlIGV4dGVuc2lvbicsKSwKLSh1J0V4dGVuc2lvbicsdSdQcm9nSWRfJyx1J1knLE5vbmUsIE5vbmUsIHUnUHJvZ0lkJywxLHUnVGV4dCcsTm9uZSwgdSdPcHRpb25hbCBQcm9nSWQgYXNzb2NpYXRlZCB3aXRoIHRoaXMgZXh0ZW5zaW9uLicsKSwKLSh1J01JTUUnLHUnQ0xTSUQnLHUnWScsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdHdWlkJyxOb25lLCB1J09wdGlvbmFsIGFzc29jaWF0ZWQgQ0xTSUQuJywpLAotKHUnTUlNRScsdSdDb250ZW50VHlwZScsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RleHQnLE5vbmUsIHUnUHJpbWFyeSBrZXkuIENvbnRleHQgaWRlbnRpZmllciwgdHlwaWNhbGx5ICJ0eXBlL2Zvcm1hdCIuJywpLAotKHUnTUlNRScsdSdFeHRlbnNpb25fJyx1J04nLE5vbmUsIE5vbmUsIHUnRXh0ZW5zaW9uJywxLHUnVGV4dCcsTm9uZSwgdSdPcHRpb25hbCBhc3NvY2lhdGVkIGV4dGVuc2lvbiAod2l0aG91dCBkb3QpJywpLAotKHUnRmVhdHVyZUNvbXBvbmVudHMnLHUnRmVhdHVyZV8nLHUnTicsTm9uZSwgTm9uZSwgdSdGZWF0dXJlJywxLHUnSWRlbnRpZmllcicsTm9uZSwgdSdGb3JlaWduIGtleSBpbnRvIEZlYXR1cmUgdGFibGUuJywpLAotKHUnRmVhdHVyZUNvbXBvbmVudHMnLHUnQ29tcG9uZW50XycsdSdOJyxOb25lLCBOb25lLCB1J0NvbXBvbmVudCcsMSx1J0lkZW50aWZpZXInLE5vbmUsIHUnRm9yZWlnbiBrZXkgaW50byBDb21wb25lbnQgdGFibGUuJywpLAotKHUnRmlsZVNGUENhdGFsb2cnLHUnRmlsZV8nLHUnTicsTm9uZSwgTm9uZSwgdSdGaWxlJywxLHUnSWRlbnRpZmllcicsTm9uZSwgdSdGaWxlIGFzc29jaWF0ZWQgd2l0aCB0aGUgY2F0YWxvZycsKSwKLSh1J0ZpbGVTRlBDYXRhbG9nJyx1J1NGUENhdGFsb2dfJyx1J04nLE5vbmUsIE5vbmUsIHUnU0ZQQ2F0YWxvZycsMSx1J0ZpbGVuYW1lJyxOb25lLCB1J0NhdGFsb2cgYXNzb2NpYXRlZCB3aXRoIHRoZSBmaWxlJywpLAotKHUnU0ZQQ2F0YWxvZycsdSdTRlBDYXRhbG9nJyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnRmlsZW5hbWUnLE5vbmUsIHUnRmlsZSBuYW1lIGZvciB0aGUgY2F0YWxvZy4nLCksCi0odSdTRlBDYXRhbG9nJyx1J0NhdGFsb2cnLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdCaW5hcnknLE5vbmUsIHUnU0ZQIENhdGFsb2cnLCksCi0odSdTRlBDYXRhbG9nJyx1J0RlcGVuZGVuY3knLHUnWScsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdGb3JtYXR0ZWQnLE5vbmUsIHUnUGFyZW50IGNhdGFsb2cgLSBvbmx5IHVzZWQgYnkgU0ZQJywpLAotKHUnRm9udCcsdSdGaWxlXycsdSdOJyxOb25lLCBOb25lLCB1J0ZpbGUnLDEsdSdJZGVudGlmaWVyJyxOb25lLCB1J1ByaW1hcnkga2V5LCBmb3JlaWduIGtleSBpbnRvIEZpbGUgdGFibGUgcmVmZXJlbmNpbmcgZm9udCBmaWxlLicsKSwKLSh1J0ZvbnQnLHUnRm9udFRpdGxlJyx1J1knLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGV4dCcsTm9uZSwgdSdGb250IG5hbWUuJywpLAotKHUnSW5pRmlsZScsdSdBY3Rpb24nLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdScwOzE7MycsdSdUaGUgdHlwZSBvZiBtb2RpZmljYXRpb24gdG8gYmUgbWFkZSwgb25lIG9mIGlpZkVudW0nLCksCi0odSdJbmlGaWxlJyx1J1ZhbHVlJyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnRm9ybWF0dGVkJyxOb25lLCB1J1RoZSB2YWx1ZSB0byBiZSB3cml0dGVuLicsKSwKLSh1J0luaUZpbGUnLHUnQ29tcG9uZW50XycsdSdOJyxOb25lLCBOb25lLCB1J0NvbXBvbmVudCcsMSx1J0lkZW50aWZpZXInLE5vbmUsIHUnRm9yZWlnbiBrZXkgaW50byB0aGUgQ29tcG9uZW50IHRhYmxlIHJlZmVyZW5jaW5nIGNvbXBvbmVudCB0aGF0IGNvbnRyb2xzIHRoZSBpbnN0YWxsaW5nIG9mIHRoZSAuSU5JIHZhbHVlLicsKSwKLSh1J0luaUZpbGUnLHUnRmlsZU5hbWUnLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdGaWxlbmFtZScsTm9uZSwgdSdUaGUgLklOSSBmaWxlIG5hbWUgaW4gd2hpY2ggdG8gd3JpdGUgdGhlIGluZm9ybWF0aW9uJywpLAotKHUnSW5pRmlsZScsdSdJbmlGaWxlJyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsTm9uZSwgdSdQcmltYXJ5IGtleSwgbm9uLWxvY2FsaXplZCB0b2tlbi4nLCksCi0odSdJbmlGaWxlJyx1J0RpclByb3BlcnR5Jyx1J1knLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsTm9uZSwgdSdGb3JlaWduIGtleSBpbnRvIHRoZSBEaXJlY3RvcnkgdGFibGUgZGVub3RpbmcgdGhlIGRpcmVjdG9yeSB3aGVyZSB0aGUgLklOSSBmaWxlIGlzLicsKSwKLSh1J0luaUZpbGUnLHUnS2V5Jyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnRm9ybWF0dGVkJyxOb25lLCB1J1RoZSAuSU5JIGZpbGUga2V5IGJlbG93IFNlY3Rpb24uJywpLAotKHUnSW5pRmlsZScsdSdTZWN0aW9uJyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnRm9ybWF0dGVkJyxOb25lLCB1J1RoZSAuSU5JIGZpbGUgU2VjdGlvbi4nLCksCi0odSdJbmlMb2NhdG9yJyx1J1R5cGUnLHUnWScsMCwyLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnQW4gaW50ZWdlciB2YWx1ZSB0aGF0IGRldGVybWluZXMgaWYgdGhlIC5JTkkgdmFsdWUgcmVhZCBpcyBhIGZpbGVuYW1lIG9yIGEgZGlyZWN0b3J5IGxvY2F0aW9uIG9yIHRvIGJlIHVzZWQgYXMgaXMgdy9vIGludGVycHJldGF0aW9uLicsKSwKLSh1J0luaUxvY2F0b3InLHUnU2lnbmF0dXJlXycsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLE5vbmUsIHUnVGhlIHRhYmxlIGtleS4gVGhlIFNpZ25hdHVyZV8gcmVwcmVzZW50cyBhIHVuaXF1ZSBmaWxlIHNpZ25hdHVyZSBhbmQgaXMgYWxzbyB0aGUgZm9yZWlnbiBrZXkgaW4gdGhlIFNpZ25hdHVyZSB0YWJsZS4nLCksCi0odSdJbmlMb2NhdG9yJyx1J0ZpbGVOYW1lJyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnRmlsZW5hbWUnLE5vbmUsIHUnVGhlIC5JTkkgZmlsZSBuYW1lLicsKSwKLSh1J0luaUxvY2F0b3InLHUnS2V5Jyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGV4dCcsTm9uZSwgdSdLZXkgdmFsdWUgKGZvbGxvd2VkIGJ5IGFuIGVxdWFscyBzaWduIGluIElOSSBmaWxlKS4nLCksCi0odSdJbmlMb2NhdG9yJyx1J1NlY3Rpb24nLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUZXh0JyxOb25lLCB1J1NlY3Rpb24gbmFtZSB3aXRoaW4gaW4gZmlsZSAod2l0aGluIHNxdWFyZSBicmFja2V0cyBpbiBJTkkgZmlsZSkuJywpLAotKHUnSW5pTG9jYXRvcicsdSdGaWVsZCcsdSdZJywwLDMyNzY3LE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGhlIGZpZWxkIGluIHRoZSAuSU5JIGxpbmUuIElmIEZpZWxkIGlzIG51bGwgb3IgMCB0aGUgZW50aXJlIGxpbmUgaXMgcmVhZC4nLCksCi0odSdJbnN0YWxsRXhlY3V0ZVNlcXVlbmNlJyx1J0FjdGlvbicsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLE5vbmUsIHUnTmFtZSBvZiBhY3Rpb24gdG8gaW52b2tlLCBlaXRoZXIgaW4gdGhlIGVuZ2luZSBvciB0aGUgaGFuZGxlciBETEwuJywpLAotKHUnSW5zdGFsbEV4ZWN1dGVTZXF1ZW5jZScsdSdDb25kaXRpb24nLHUnWScsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdDb25kaXRpb24nLE5vbmUsIHUnT3B0aW9uYWwgZXhwcmVzc2lvbiB3aGljaCBza2lwcyB0aGUgYWN0aW9uIGlmIGV2YWx1YXRlcyB0byBleHBGYWxzZS5JZiB0aGUgZXhwcmVzc2lvbiBzeW50YXggaXMgaW52YWxpZCwgdGhlIGVuZ2luZSB3aWxsIHRlcm1pbmF0ZSwgcmV0dXJuaW5nIGllc0JhZEFjdGlvbkRhdGEuJywpLAotKHUnSW5zdGFsbEV4ZWN1dGVTZXF1ZW5jZScsdSdTZXF1ZW5jZScsdSdZJywtNCwzMjc2NyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J051bWJlciB0aGF0IGRldGVybWluZXMgdGhlIHNvcnQgb3JkZXIgaW4gd2hpY2ggdGhlIGFjdGlvbnMgYXJlIHRvIGJlIGV4ZWN1dGVkLiAgTGVhdmUgYmxhbmsgdG8gc3VwcHJlc3MgYWN0aW9uLicsKSwKLSh1J0luc3RhbGxVSVNlcXVlbmNlJyx1J0FjdGlvbicsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLE5vbmUsIHUnTmFtZSBvZiBhY3Rpb24gdG8gaW52b2tlLCBlaXRoZXIgaW4gdGhlIGVuZ2luZSBvciB0aGUgaGFuZGxlciBETEwuJywpLAotKHUnSW5zdGFsbFVJU2VxdWVuY2UnLHUnQ29uZGl0aW9uJyx1J1knLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnQ29uZGl0aW9uJyxOb25lLCB1J09wdGlvbmFsIGV4cHJlc3Npb24gd2hpY2ggc2tpcHMgdGhlIGFjdGlvbiBpZiBldmFsdWF0ZXMgdG8gZXhwRmFsc2UuSWYgdGhlIGV4cHJlc3Npb24gc3ludGF4IGlzIGludmFsaWQsIHRoZSBlbmdpbmUgd2lsbCB0ZXJtaW5hdGUsIHJldHVybmluZyBpZXNCYWRBY3Rpb25EYXRhLicsKSwKLSh1J0luc3RhbGxVSVNlcXVlbmNlJyx1J1NlcXVlbmNlJyx1J1knLC00LDMyNzY3LE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnTnVtYmVyIHRoYXQgZGV0ZXJtaW5lcyB0aGUgc29ydCBvcmRlciBpbiB3aGljaCB0aGUgYWN0aW9ucyBhcmUgdG8gYmUgZXhlY3V0ZWQuICBMZWF2ZSBibGFuayB0byBzdXBwcmVzcyBhY3Rpb24uJywpLAotKHUnSXNvbGF0ZWRDb21wb25lbnQnLHUnQ29tcG9uZW50X0FwcGxpY2F0aW9uJyx1J04nLE5vbmUsIE5vbmUsIHUnQ29tcG9uZW50JywxLHUnSWRlbnRpZmllcicsTm9uZSwgdSdLZXkgdG8gQ29tcG9uZW50IHRhYmxlIGl0ZW0gZm9yIGFwcGxpY2F0aW9uJywpLAotKHUnSXNvbGF0ZWRDb21wb25lbnQnLHUnQ29tcG9uZW50X1NoYXJlZCcsdSdOJyxOb25lLCBOb25lLCB1J0NvbXBvbmVudCcsMSx1J0lkZW50aWZpZXInLE5vbmUsIHUnS2V5IHRvIENvbXBvbmVudCB0YWJsZSBpdGVtIHRvIGJlIGlzb2xhdGVkJywpLAotKHUnTGF1bmNoQ29uZGl0aW9uJyx1J0Rlc2NyaXB0aW9uJyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnRm9ybWF0dGVkJyxOb25lLCB1J0xvY2FsaXphYmxlIHRleHQgdG8gZGlzcGxheSB3aGVuIGNvbmRpdGlvbiBmYWlscyBhbmQgaW5zdGFsbCBtdXN0IGFib3J0LicsKSwKLSh1J0xhdW5jaENvbmRpdGlvbicsdSdDb25kaXRpb24nLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdDb25kaXRpb24nLE5vbmUsIHUnRXhwcmVzc2lvbiB3aGljaCBtdXN0IGV2YWx1YXRlIHRvIFRSVUUgaW4gb3JkZXIgZm9yIGluc3RhbGwgdG8gY29tbWVuY2UuJywpLAotKHUnTGlzdEJveCcsdSdUZXh0Jyx1J1knLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGV4dCcsTm9uZSwgdSdUaGUgdmlzaWJsZSB0ZXh0IHRvIGJlIGFzc2lnbmVkIHRvIHRoZSBpdGVtLiBPcHRpb25hbC4gSWYgdGhpcyBlbnRyeSBvciB0aGUgZW50aXJlIGNvbHVtbiBpcyBtaXNzaW5nLCB0aGUgdGV4dCBpcyB0aGUgc2FtZSBhcyB0aGUgdmFsdWUuJywpLAotKHUnTGlzdEJveCcsdSdQcm9wZXJ0eScsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLE5vbmUsIHUnQSBuYW1lZCBwcm9wZXJ0eSB0byBiZSB0aWVkIHRvIHRoaXMgaXRlbS4gQWxsIHRoZSBpdGVtcyB0aWVkIHRvIHRoZSBzYW1lIHByb3BlcnR5IGJlY29tZSBwYXJ0IG9mIHRoZSBzYW1lIGxpc3Rib3guJywpLAotKHUnTGlzdEJveCcsdSdWYWx1ZScsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0Zvcm1hdHRlZCcsTm9uZSwgdSdUaGUgdmFsdWUgc3RyaW5nIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGl0ZW0uIFNlbGVjdGluZyB0aGUgbGluZSB3aWxsIHNldCB0aGUgYXNzb2NpYXRlZCBwcm9wZXJ0eSB0byB0aGlzIHZhbHVlLicsKSwKLSh1J0xpc3RCb3gnLHUnT3JkZXInLHUnTicsMSwzMjc2NyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0EgcG9zaXRpdmUgaW50ZWdlciB1c2VkIHRvIGRldGVybWluZSB0aGUgb3JkZXJpbmcgb2YgdGhlIGl0ZW1zIHdpdGhpbiBvbmUgbGlzdC4uVGhlIGludGVnZXJzIGRvIG5vdCBoYXZlIHRvIGJlIGNvbnNlY3V0aXZlLicsKSwKLSh1J0xpc3RWaWV3Jyx1J1RleHQnLHUnWScsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUZXh0JyxOb25lLCB1J1RoZSB2aXNpYmxlIHRleHQgdG8gYmUgYXNzaWduZWQgdG8gdGhlIGl0ZW0uIE9wdGlvbmFsLiBJZiB0aGlzIGVudHJ5IG9yIHRoZSBlbnRpcmUgY29sdW1uIGlzIG1pc3NpbmcsIHRoZSB0ZXh0IGlzIHRoZSBzYW1lIGFzIHRoZSB2YWx1ZS4nLCksCi0odSdMaXN0VmlldycsdSdQcm9wZXJ0eScsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLE5vbmUsIHUnQSBuYW1lZCBwcm9wZXJ0eSB0byBiZSB0aWVkIHRvIHRoaXMgaXRlbS4gQWxsIHRoZSBpdGVtcyB0aWVkIHRvIHRoZSBzYW1lIHByb3BlcnR5IGJlY29tZSBwYXJ0IG9mIHRoZSBzYW1lIGxpc3R2aWV3LicsKSwKLSh1J0xpc3RWaWV3Jyx1J1ZhbHVlJyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsTm9uZSwgdSdUaGUgdmFsdWUgc3RyaW5nIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGl0ZW0uIFNlbGVjdGluZyB0aGUgbGluZSB3aWxsIHNldCB0aGUgYXNzb2NpYXRlZCBwcm9wZXJ0eSB0byB0aGlzIHZhbHVlLicsKSwKLSh1J0xpc3RWaWV3Jyx1J09yZGVyJyx1J04nLDEsMzI3NjcsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdBIHBvc2l0aXZlIGludGVnZXIgdXNlZCB0byBkZXRlcm1pbmUgdGhlIG9yZGVyaW5nIG9mIHRoZSBpdGVtcyB3aXRoaW4gb25lIGxpc3QuLlRoZSBpbnRlZ2VycyBkbyBub3QgaGF2ZSB0byBiZSBjb25zZWN1dGl2ZS4nLCksCi0odSdMaXN0VmlldycsdSdCaW5hcnlfJyx1J1knLE5vbmUsIE5vbmUsIHUnQmluYXJ5JywxLHUnSWRlbnRpZmllcicsTm9uZSwgdSdUaGUgbmFtZSBvZiB0aGUgaWNvbiB0byBiZSBkaXNwbGF5ZWQgd2l0aCB0aGUgaWNvbi4gVGhlIGJpbmFyeSBpbmZvcm1hdGlvbiBpcyBsb29rZWQgdXAgZnJvbSB0aGUgQmluYXJ5IFRhYmxlLicsKSwKLSh1J0xvY2tQZXJtaXNzaW9ucycsdSdUYWJsZScsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLHUnRGlyZWN0b3J5O0ZpbGU7UmVnaXN0cnknLHUnUmVmZXJlbmNlIHRvIGFub3RoZXIgdGFibGUgbmFtZScsKSwKLSh1J0xvY2tQZXJtaXNzaW9ucycsdSdEb21haW4nLHUnWScsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdGb3JtYXR0ZWQnLE5vbmUsIHUnRG9tYWluIG5hbWUgZm9yIHVzZXIgd2hvc2UgcGVybWlzc2lvbnMgYXJlIGJlaW5nIHNldC4gKHVzdWFsbHkgYSBwcm9wZXJ0eSknLCksCi0odSdMb2NrUGVybWlzc2lvbnMnLHUnTG9ja09iamVjdCcsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLE5vbmUsIHUnRm9yZWlnbiBrZXkgaW50byBSZWdpc3RyeSBvciBGaWxlIHRhYmxlJywpLAotKHUnTG9ja1Blcm1pc3Npb25zJyx1J1Blcm1pc3Npb24nLHUnWScsLTIxNDc0ODM2NDcsMjE0NzQ4MzY0NyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1Blcm1pc3Npb24gQWNjZXNzIG1hc2suICBGdWxsIENvbnRyb2wgPSAyNjg0MzU0NTYgKEdFTkVSSUNfQUxMID0gMHgxMDAwMDAwMCknLCksCi0odSdMb2NrUGVybWlzc2lvbnMnLHUnVXNlcicsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0Zvcm1hdHRlZCcsTm9uZSwgdSdVc2VyIGZvciBwZXJtaXNzaW9ucyB0byBiZSBzZXQuICAodXN1YWxseSBhIHByb3BlcnR5KScsKSwKLSh1J01lZGlhJyx1J1NvdXJjZScsdSdZJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1Byb3BlcnR5JyxOb25lLCB1J1RoZSBwcm9wZXJ0eSBkZWZpbmluZyB0aGUgbG9jYXRpb24gb2YgdGhlIGNhYmluZXQgZmlsZS4nLCksCi0odSdNZWRpYScsdSdDYWJpbmV0Jyx1J1knLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnQ2FiaW5ldCcsTm9uZSwgdSdJZiBzb21lIG9yIGFsbCBvZiB0aGUgZmlsZXMgc3RvcmVkIG9uIHRoZSBtZWRpYSBhcmUgY29tcHJlc3NlZCBpbiBhIGNhYmluZXQsIHRoZSBuYW1lIG9mIHRoYXQgY2FiaW5ldC4nLCksCi0odSdNZWRpYScsdSdEaXNrSWQnLHUnTicsMSwzMjc2NyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1ByaW1hcnkga2V5LCBpbnRlZ2VyIHRvIGRldGVybWluZSBzb3J0IG9yZGVyIGZvciB0YWJsZS4nLCksCi0odSdNZWRpYScsdSdEaXNrUHJvbXB0Jyx1J1knLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGV4dCcsTm9uZSwgdSdEaXNrIG5hbWU6IHRoZSB2aXNpYmxlIHRleHQgYWN0dWFsbHkgcHJpbnRlZCBvbiB0aGUgZGlzay4gIFRoaXMgd2lsbCBiZSB1c2VkIHRvIHByb21wdCB0aGUgdXNlciB3aGVuIHRoaXMgZGlzayBuZWVkcyB0byBiZSBpbnNlcnRlZC4nLCksCi0odSdNZWRpYScsdSdMYXN0U2VxdWVuY2UnLHUnTicsMCwzMjc2NyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0ZpbGUgc2VxdWVuY2UgbnVtYmVyIGZvciB0aGUgbGFzdCBmaWxlIGZvciB0aGlzIG1lZGlhLicsKSwKLSh1J01lZGlhJyx1J1ZvbHVtZUxhYmVsJyx1J1knLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGV4dCcsTm9uZSwgdSdUaGUgbGFiZWwgYXR0cmlidXRlZCB0byB0aGUgdm9sdW1lLicsKSwKLSh1J01vZHVsZUNvbXBvbmVudHMnLHUnQ29tcG9uZW50Jyx1J04nLE5vbmUsIE5vbmUsIHUnQ29tcG9uZW50JywxLHUnSWRlbnRpZmllcicsTm9uZSwgdSdDb21wb25lbnQgY29udGFpbmVkIGluIHRoZSBtb2R1bGUuJywpLAotKHUnTW9kdWxlQ29tcG9uZW50cycsdSdMYW5ndWFnZScsdSdOJyxOb25lLCBOb25lLCB1J01vZHVsZVNpZ25hdHVyZScsMixOb25lLCBOb25lLCB1J0RlZmF1bHQgbGFuZ3VhZ2UgSUQgZm9yIG1vZHVsZSAobWF5IGJlIGNoYW5nZWQgYnkgdHJhbnNmb3JtKS4nLCksCi0odSdNb2R1bGVDb21wb25lbnRzJyx1J01vZHVsZUlEJyx1J04nLE5vbmUsIE5vbmUsIHUnTW9kdWxlU2lnbmF0dXJlJywxLHUnSWRlbnRpZmllcicsTm9uZSwgdSdNb2R1bGUgY29udGFpbmluZyB0aGUgY29tcG9uZW50LicsKSwKLSh1J01vZHVsZVNpZ25hdHVyZScsdSdMYW5ndWFnZScsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0RlZmF1bHQgZGVjaW1hbCBsYW5ndWFnZSBvZiBtb2R1bGUuJywpLAotKHUnTW9kdWxlU2lnbmF0dXJlJyx1J1ZlcnNpb24nLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdWZXJzaW9uJyxOb25lLCB1J1ZlcnNpb24gb2YgdGhlIG1vZHVsZS4nLCksCi0odSdNb2R1bGVTaWduYXR1cmUnLHUnTW9kdWxlSUQnLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJyxOb25lLCB1J01vZHVsZSBpZGVudGlmaWVyIChTdHJpbmcuR1VJRCkuJywpLAotKHUnTW9kdWxlRGVwZW5kZW5jeScsdSdNb2R1bGVJRCcsdSdOJyxOb25lLCBOb25lLCB1J01vZHVsZVNpZ25hdHVyZScsMSx1J0lkZW50aWZpZXInLE5vbmUsIHUnTW9kdWxlIHJlcXVpcmluZyB0aGUgZGVwZW5kZW5jeS4nLCksCi0odSdNb2R1bGVEZXBlbmRlbmN5Jyx1J01vZHVsZUxhbmd1YWdlJyx1J04nLE5vbmUsIE5vbmUsIHUnTW9kdWxlU2lnbmF0dXJlJywyLE5vbmUsIE5vbmUsIHUnTGFuZ3VhZ2Ugb2YgbW9kdWxlIHJlcXVpcmluZyB0aGUgZGVwZW5kZW5jeS4nLCksCi0odSdNb2R1bGVEZXBlbmRlbmN5Jyx1J1JlcXVpcmVkSUQnLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdTdHJpbmcuR1VJRCBvZiByZXF1aXJlZCBtb2R1bGUuJywpLAotKHUnTW9kdWxlRGVwZW5kZW5jeScsdSdSZXF1aXJlZExhbmd1YWdlJyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnTGFuZ3VhZ2VJRCBvZiB0aGUgcmVxdWlyZWQgbW9kdWxlLicsKSwKLSh1J01vZHVsZURlcGVuZGVuY3knLHUnUmVxdWlyZWRWZXJzaW9uJyx1J1knLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVmVyc2lvbicsTm9uZSwgdSdWZXJzaW9uIG9mIHRoZSByZXF1aXJlZCB2ZXJzaW9uLicsKSwKLSh1J01vZHVsZUV4Y2x1c2lvbicsdSdNb2R1bGVJRCcsdSdOJyxOb25lLCBOb25lLCB1J01vZHVsZVNpZ25hdHVyZScsMSx1J0lkZW50aWZpZXInLE5vbmUsIHUnU3RyaW5nLkdVSUQgb2YgbW9kdWxlIHdpdGggZXhjbHVzaW9uIHJlcXVpcmVtZW50LicsKSwKLSh1J01vZHVsZUV4Y2x1c2lvbicsdSdNb2R1bGVMYW5ndWFnZScsdSdOJyxOb25lLCBOb25lLCB1J01vZHVsZVNpZ25hdHVyZScsMixOb25lLCBOb25lLCB1J0xhbmd1YWdlSUQgb2YgbW9kdWxlIHdpdGggZXhjbHVzaW9uIHJlcXVpcmVtZW50LicsKSwKLSh1J01vZHVsZUV4Y2x1c2lvbicsdSdFeGNsdWRlZElEJyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnU3RyaW5nLkdVSUQgb2YgZXhjbHVkZWQgbW9kdWxlLicsKSwKLSh1J01vZHVsZUV4Y2x1c2lvbicsdSdFeGNsdWRlZExhbmd1YWdlJyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnTGFuZ3VhZ2Ugb2YgZXhjbHVkZWQgbW9kdWxlLicsKSwKLSh1J01vZHVsZUV4Y2x1c2lvbicsdSdFeGNsdWRlZE1heFZlcnNpb24nLHUnWScsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdWZXJzaW9uJyxOb25lLCB1J01heGltdW0gdmVyc2lvbiBvZiBleGNsdWRlZCBtb2R1bGUuJywpLAotKHUnTW9kdWxlRXhjbHVzaW9uJyx1J0V4Y2x1ZGVkTWluVmVyc2lvbicsdSdZJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1ZlcnNpb24nLE5vbmUsIHUnTWluaW11bSB2ZXJzaW9uIG9mIGV4Y2x1ZGVkIG1vZHVsZS4nLCksCi0odSdNb3ZlRmlsZScsdSdDb21wb25lbnRfJyx1J04nLE5vbmUsIE5vbmUsIHUnQ29tcG9uZW50JywxLHUnSWRlbnRpZmllcicsTm9uZSwgdSdJZiB0aGlzIGNvbXBvbmVudCBpcyBub3QgInNlbGVjdGVkIiBmb3IgaW5zdGFsbGF0aW9uIG9yIHJlbW92YWwsIG5vIGFjdGlvbiB3aWxsIGJlIHRha2VuIG9uIHRoZSBhc3NvY2lhdGVkIE1vdmVGaWxlIGVudHJ5JywpLAotKHUnTW92ZUZpbGUnLHUnRGVzdEZvbGRlcicsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLE5vbmUsIHUnTmFtZSBvZiBhIHByb3BlcnR5IHdob3NlIHZhbHVlIGlzIGFzc3VtZWQgdG8gcmVzb2x2ZSB0byB0aGUgZnVsbCBwYXRoIHRvIHRoZSBkZXN0aW5hdGlvbiBkaXJlY3RvcnknLCksCi0odSdNb3ZlRmlsZScsdSdEZXN0TmFtZScsdSdZJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0ZpbGVuYW1lJyxOb25lLCB1J05hbWUgdG8gYmUgZ2l2ZW4gdG8gdGhlIG9yaWdpbmFsIGZpbGUgYWZ0ZXIgaXQgaXMgbW92ZWQgb3IgY29waWVkLiAgSWYgYmxhbmssIHRoZSBkZXN0aW5hdGlvbiBmaWxlIHdpbGwgYmUgZ2l2ZW4gdGhlIHNhbWUgbmFtZSBhcyB0aGUgc291cmNlIGZpbGUnLCksCi0odSdNb3ZlRmlsZScsdSdGaWxlS2V5Jyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsTm9uZSwgdSdQcmltYXJ5IGtleSB0aGF0IHVuaXF1ZWx5IGlkZW50aWZpZXMgYSBwYXJ0aWN1bGFyIE1vdmVGaWxlIHJlY29yZCcsKSwKLSh1J01vdmVGaWxlJyx1J09wdGlvbnMnLHUnTicsMCwxLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSW50ZWdlciB2YWx1ZSBzcGVjaWZ5aW5nIHRoZSBNb3ZlRmlsZSBvcGVyYXRpbmcgbW9kZSwgb25lIG9mIGltZm9FbnVtJywpLAotKHUnTW92ZUZpbGUnLHUnU291cmNlRm9sZGVyJyx1J1knLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsTm9uZSwgdSdOYW1lIG9mIGEgcHJvcGVydHkgd2hvc2UgdmFsdWUgaXMgYXNzdW1lZCB0byByZXNvbHZlIHRvIHRoZSBmdWxsIHBhdGggdG8gdGhlIHNvdXJjZSBkaXJlY3RvcnknLCksCi0odSdNb3ZlRmlsZScsdSdTb3VyY2VOYW1lJyx1J1knLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGV4dCcsTm9uZSwgdSJOYW1lIG9mIHRoZSBzb3VyY2UgZmlsZShzKSB0byBiZSBtb3ZlZCBvciBjb3BpZWQuICBDYW4gY29udGFpbiB0aGUgJyonIG9yICc/JyB3aWxkY2FyZHMuIiwpLAotKHUnTXNpQXNzZW1ibHknLHUnQXR0cmlidXRlcycsdSdZJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0Fzc2VtYmx5IGF0dHJpYnV0ZXMnLCksCi0odSdNc2lBc3NlbWJseScsdSdGZWF0dXJlXycsdSdOJyxOb25lLCBOb25lLCB1J0ZlYXR1cmUnLDEsdSdJZGVudGlmaWVyJyxOb25lLCB1J0ZvcmVpZ24ga2V5IGludG8gRmVhdHVyZSB0YWJsZS4nLCksCi0odSdNc2lBc3NlbWJseScsdSdDb21wb25lbnRfJyx1J04nLE5vbmUsIE5vbmUsIHUnQ29tcG9uZW50JywxLHUnSWRlbnRpZmllcicsTm9uZSwgdSdGb3JlaWduIGtleSBpbnRvIENvbXBvbmVudCB0YWJsZS4nLCksCi0odSdNc2lBc3NlbWJseScsdSdGaWxlX0FwcGxpY2F0aW9uJyx1J1knLE5vbmUsIE5vbmUsIHUnRmlsZScsMSx1J0lkZW50aWZpZXInLE5vbmUsIHUnRm9yZWlnbiBrZXkgaW50byBGaWxlIHRhYmxlLCBkZW5vdGluZyB0aGUgYXBwbGljYXRpb24gY29udGV4dCBmb3IgcHJpdmF0ZSBhc3NlbWJsaWVzLiBOdWxsIGZvciBnbG9iYWwgYXNzZW1ibGllcy4nLCksCi0odSdNc2lBc3NlbWJseScsdSdGaWxlX01hbmlmZXN0Jyx1J1knLE5vbmUsIE5vbmUsIHUnRmlsZScsMSx1J0lkZW50aWZpZXInLE5vbmUsIHUnRm9yZWlnbiBrZXkgaW50byB0aGUgRmlsZSB0YWJsZSBkZW5vdGluZyB0aGUgbWFuaWZlc3QgZmlsZSBmb3IgdGhlIGFzc2VtYmx5LicsKSwKLSh1J01zaUFzc2VtYmx5TmFtZScsdSdOYW1lJyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGV4dCcsTm9uZSwgdSdUaGUgbmFtZSBwYXJ0IG9mIHRoZSBuYW1lLXZhbHVlIHBhaXJzIGZvciB0aGUgYXNzZW1ibHkgbmFtZS4nLCksCi0odSdNc2lBc3NlbWJseU5hbWUnLHUnVmFsdWUnLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUZXh0JyxOb25lLCB1J1RoZSB2YWx1ZSBwYXJ0IG9mIHRoZSBuYW1lLXZhbHVlIHBhaXJzIGZvciB0aGUgYXNzZW1ibHkgbmFtZS4nLCksCi0odSdNc2lBc3NlbWJseU5hbWUnLHUnQ29tcG9uZW50XycsdSdOJyxOb25lLCBOb25lLCB1J0NvbXBvbmVudCcsMSx1J0lkZW50aWZpZXInLE5vbmUsIHUnRm9yZWlnbiBrZXkgaW50byBDb21wb25lbnQgdGFibGUuJywpLAotKHUnTXNpRGlnaXRhbENlcnRpZmljYXRlJyx1J0NlcnREYXRhJyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnQmluYXJ5JyxOb25lLCB1J0EgY2VydGlmaWNhdGUgY29udGV4dCBibG9iIGZvciBhIHNpZ25lciBjZXJ0aWZpY2F0ZScsKSwKLSh1J01zaURpZ2l0YWxDZXJ0aWZpY2F0ZScsdSdEaWdpdGFsQ2VydGlmaWNhdGUnLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJyxOb25lLCB1J0EgdW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoZSByb3cnLCksCi0odSdNc2lEaWdpdGFsU2lnbmF0dXJlJyx1J1RhYmxlJyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnTWVkaWEnLHUnUmVmZXJlbmNlIHRvIGFub3RoZXIgdGFibGUgbmFtZSAob25seSBNZWRpYSB0YWJsZSBpcyBzdXBwb3J0ZWQpJywpLAotKHUnTXNpRGlnaXRhbFNpZ25hdHVyZScsdSdEaWdpdGFsQ2VydGlmaWNhdGVfJyx1J04nLE5vbmUsIE5vbmUsIHUnTXNpRGlnaXRhbENlcnRpZmljYXRlJywxLHUnSWRlbnRpZmllcicsTm9uZSwgdSdGb3JlaWduIGtleSB0byBNc2lEaWdpdGFsQ2VydGlmaWNhdGUgdGFibGUgaWRlbnRpZnlpbmcgdGhlIHNpZ25lciBjZXJ0aWZpY2F0ZScsKSwKLSh1J01zaURpZ2l0YWxTaWduYXR1cmUnLHUnSGFzaCcsdSdZJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0JpbmFyeScsTm9uZSwgdSdUaGUgZW5jb2RlZCBoYXNoIGJsb2IgZnJvbSB0aGUgZGlnaXRhbCBzaWduYXR1cmUnLCksCi0odSdNc2lEaWdpdGFsU2lnbmF0dXJlJyx1J1NpZ25PYmplY3QnLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUZXh0JyxOb25lLCB1J0ZvcmVpZ24ga2V5IHRvIE1lZGlhIHRhYmxlJywpLAotKHUnTXNpRmlsZUhhc2gnLHUnRmlsZV8nLHUnTicsTm9uZSwgTm9uZSwgdSdGaWxlJywxLHUnSWRlbnRpZmllcicsTm9uZSwgdSdQcmltYXJ5IGtleSwgZm9yZWlnbiBrZXkgaW50byBGaWxlIHRhYmxlIHJlZmVyZW5jaW5nIGZpbGUgd2l0aCB0aGlzIGhhc2gnLCksCi0odSdNc2lGaWxlSGFzaCcsdSdPcHRpb25zJyx1J04nLDAsMzI3NjcsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdWYXJpb3VzIG9wdGlvbnMgYW5kIGF0dHJpYnV0ZXMgZm9yIHRoaXMgaGFzaC4nLCksCi0odSdNc2lGaWxlSGFzaCcsdSdIYXNoUGFydDEnLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdTaXplIG9mIGZpbGUgaW4gYnl0ZXMgKGxvbmcgaW50ZWdlcikuJywpLAotKHUnTXNpRmlsZUhhc2gnLHUnSGFzaFBhcnQyJyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnU2l6ZSBvZiBmaWxlIGluIGJ5dGVzIChsb25nIGludGVnZXIpLicsKSwKLSh1J01zaUZpbGVIYXNoJyx1J0hhc2hQYXJ0MycsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1NpemUgb2YgZmlsZSBpbiBieXRlcyAobG9uZyBpbnRlZ2VyKS4nLCksCi0odSdNc2lGaWxlSGFzaCcsdSdIYXNoUGFydDQnLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdTaXplIG9mIGZpbGUgaW4gYnl0ZXMgKGxvbmcgaW50ZWdlcikuJywpLAotKHUnTXNpUGF0Y2hIZWFkZXJzJyx1J1N0cmVhbVJlZicsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLE5vbmUsIHUnUHJpbWFyeSBrZXkuIEEgdW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoZSByb3cuJywpLAotKHUnTXNpUGF0Y2hIZWFkZXJzJyx1J0hlYWRlcicsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0JpbmFyeScsTm9uZSwgdSdCaW5hcnkgc3RyZWFtLiBUaGUgcGF0Y2ggaGVhZGVyLCB1c2VkIGZvciBwYXRjaCB2YWxpZGF0aW9uLicsKSwKLSh1J09EQkNBdHRyaWJ1dGUnLHUnVmFsdWUnLHUnWScsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUZXh0JyxOb25lLCB1J1ZhbHVlIGZvciBPREJDIGRyaXZlciBhdHRyaWJ1dGUnLCksCi0odSdPREJDQXR0cmlidXRlJyx1J0F0dHJpYnV0ZScsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RleHQnLE5vbmUsIHUnTmFtZSBvZiBPREJDIGRyaXZlciBhdHRyaWJ1dGUnLCksCi0odSdPREJDQXR0cmlidXRlJyx1J0RyaXZlcl8nLHUnTicsTm9uZSwgTm9uZSwgdSdPREJDRHJpdmVyJywxLHUnSWRlbnRpZmllcicsTm9uZSwgdSdSZWZlcmVuY2UgdG8gT0RCQyBkcml2ZXIgaW4gT0RCQ0RyaXZlciB0YWJsZScsKSwKLSh1J09EQkNEcml2ZXInLHUnRGVzY3JpcHRpb24nLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUZXh0JyxOb25lLCB1J1RleHQgdXNlZCBhcyByZWdpc3RlcmVkIG5hbWUgZm9yIGRyaXZlciwgbm9uLWxvY2FsaXplZCcsKSwKLSh1J09EQkNEcml2ZXInLHUnRmlsZV8nLHUnTicsTm9uZSwgTm9uZSwgdSdGaWxlJywxLHUnSWRlbnRpZmllcicsTm9uZSwgdSdSZWZlcmVuY2UgdG8ga2V5IGRyaXZlciBmaWxlJywpLAotKHUnT0RCQ0RyaXZlcicsdSdDb21wb25lbnRfJyx1J04nLE5vbmUsIE5vbmUsIHUnQ29tcG9uZW50JywxLHUnSWRlbnRpZmllcicsTm9uZSwgdSdSZWZlcmVuY2UgdG8gYXNzb2NpYXRlZCBjb21wb25lbnQnLCksCi0odSdPREJDRHJpdmVyJyx1J0RyaXZlcicsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLE5vbmUsIHUnUHJpbWFyeSBrZXksIG5vbi1sb2NhbGl6ZWQuaW50ZXJuYWwgdG9rZW4gZm9yIGRyaXZlcicsKSwKLSh1J09EQkNEcml2ZXInLHUnRmlsZV9TZXR1cCcsdSdZJyxOb25lLCBOb25lLCB1J0ZpbGUnLDEsdSdJZGVudGlmaWVyJyxOb25lLCB1J09wdGlvbmFsIHJlZmVyZW5jZSB0byBrZXkgZHJpdmVyIHNldHVwIERMTCcsKSwKLSh1J09EQkNEYXRhU291cmNlJyx1J0Rlc2NyaXB0aW9uJyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGV4dCcsTm9uZSwgdSdUZXh0IHVzZWQgYXMgcmVnaXN0ZXJlZCBuYW1lIGZvciBkYXRhIHNvdXJjZScsKSwKLSh1J09EQkNEYXRhU291cmNlJyx1J0NvbXBvbmVudF8nLHUnTicsTm9uZSwgTm9uZSwgdSdDb21wb25lbnQnLDEsdSdJZGVudGlmaWVyJyxOb25lLCB1J1JlZmVyZW5jZSB0byBhc3NvY2lhdGVkIGNvbXBvbmVudCcsKSwKLSh1J09EQkNEYXRhU291cmNlJyx1J0RhdGFTb3VyY2UnLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJyxOb25lLCB1J1ByaW1hcnkga2V5LCBub24tbG9jYWxpemVkLmludGVybmFsIHRva2VuIGZvciBkYXRhIHNvdXJjZScsKSwKLSh1J09EQkNEYXRhU291cmNlJyx1J0RyaXZlckRlc2NyaXB0aW9uJyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGV4dCcsTm9uZSwgdSdSZWZlcmVuY2UgdG8gZHJpdmVyIGRlc2NyaXB0aW9uLCBtYXkgYmUgZXhpc3RpbmcgZHJpdmVyJywpLAotKHUnT0RCQ0RhdGFTb3VyY2UnLHUnUmVnaXN0cmF0aW9uJyx1J04nLDAsMSxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1JlZ2lzdHJhdGlvbiBvcHRpb246IDA9bWFjaGluZSwgMT11c2VyLCBvdGhlcnMgdC5iLmQuJywpLAotKHUnT0RCQ1NvdXJjZUF0dHJpYnV0ZScsdSdWYWx1ZScsdSdZJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RleHQnLE5vbmUsIHUnVmFsdWUgZm9yIE9EQkMgZGF0YSBzb3VyY2UgYXR0cmlidXRlJywpLAotKHUnT0RCQ1NvdXJjZUF0dHJpYnV0ZScsdSdBdHRyaWJ1dGUnLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUZXh0JyxOb25lLCB1J05hbWUgb2YgT0RCQyBkYXRhIHNvdXJjZSBhdHRyaWJ1dGUnLCksCi0odSdPREJDU291cmNlQXR0cmlidXRlJyx1J0RhdGFTb3VyY2VfJyx1J04nLE5vbmUsIE5vbmUsIHUnT0RCQ0RhdGFTb3VyY2UnLDEsdSdJZGVudGlmaWVyJyxOb25lLCB1J1JlZmVyZW5jZSB0byBPREJDIGRhdGEgc291cmNlIGluIE9EQkNEYXRhU291cmNlIHRhYmxlJywpLAotKHUnT0RCQ1RyYW5zbGF0b3InLHUnRGVzY3JpcHRpb24nLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUZXh0JyxOb25lLCB1J1RleHQgdXNlZCBhcyByZWdpc3RlcmVkIG5hbWUgZm9yIHRyYW5zbGF0b3InLCksCi0odSdPREJDVHJhbnNsYXRvcicsdSdGaWxlXycsdSdOJyxOb25lLCBOb25lLCB1J0ZpbGUnLDEsdSdJZGVudGlmaWVyJyxOb25lLCB1J1JlZmVyZW5jZSB0byBrZXkgdHJhbnNsYXRvciBmaWxlJywpLAotKHUnT0RCQ1RyYW5zbGF0b3InLHUnQ29tcG9uZW50XycsdSdOJyxOb25lLCBOb25lLCB1J0NvbXBvbmVudCcsMSx1J0lkZW50aWZpZXInLE5vbmUsIHUnUmVmZXJlbmNlIHRvIGFzc29jaWF0ZWQgY29tcG9uZW50JywpLAotKHUnT0RCQ1RyYW5zbGF0b3InLHUnRmlsZV9TZXR1cCcsdSdZJyxOb25lLCBOb25lLCB1J0ZpbGUnLDEsdSdJZGVudGlmaWVyJyxOb25lLCB1J09wdGlvbmFsIHJlZmVyZW5jZSB0byBrZXkgdHJhbnNsYXRvciBzZXR1cCBETEwnLCksCi0odSdPREJDVHJhbnNsYXRvcicsdSdUcmFuc2xhdG9yJyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsTm9uZSwgdSdQcmltYXJ5IGtleSwgbm9uLWxvY2FsaXplZC5pbnRlcm5hbCB0b2tlbiBmb3IgdHJhbnNsYXRvcicsKSwKLSh1J1BhdGNoJyx1J1NlcXVlbmNlJyx1J04nLDAsMzI3NjcsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdQcmltYXJ5IGtleSwgc2VxdWVuY2Ugd2l0aCByZXNwZWN0IHRvIHRoZSBtZWRpYSBpbWFnZXM7IG9yZGVyIG11c3QgdHJhY2sgY2FiaW5ldCBvcmRlci4nLCksCi0odSdQYXRjaCcsdSdBdHRyaWJ1dGVzJyx1J04nLDAsMzI3NjcsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJbnRlZ2VyIGNvbnRhaW5pbmcgYml0IGZsYWdzIHJlcHJlc2VudGluZyBwYXRjaCBhdHRyaWJ1dGVzJywpLAotKHUnUGF0Y2gnLHUnRmlsZV8nLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJyxOb25lLCB1J1ByaW1hcnkga2V5LCBub24tbG9jYWxpemVkIHRva2VuLCBmb3JlaWduIGtleSB0byBGaWxlIHRhYmxlLCBtdXN0IG1hdGNoIGlkZW50aWZpZXIgaW4gY2FiaW5ldC4nLCksCi0odSdQYXRjaCcsdSdIZWFkZXInLHUnWScsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdCaW5hcnknLE5vbmUsIHUnQmluYXJ5IHN0cmVhbS4gVGhlIHBhdGNoIGhlYWRlciwgdXNlZCBmb3IgcGF0Y2ggdmFsaWRhdGlvbi4nLCksCi0odSdQYXRjaCcsdSdQYXRjaFNpemUnLHUnTicsMCwyMTQ3NDgzNjQ3LE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnU2l6ZSBvZiBwYXRjaCBpbiBieXRlcyAobG9uZyBpbnRlZ2VyKS4nLCksCi0odSdQYXRjaCcsdSdTdHJlYW1SZWZfJyx1J1knLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsTm9uZSwgdSdJZGVudGlmaWVyLiBGb3JlaWduIGtleSB0byB0aGUgU3RyZWFtUmVmIGNvbHVtbiBvZiB0aGUgTXNpUGF0Y2hIZWFkZXJzIHRhYmxlLicsKSwKLSh1J1BhdGNoUGFja2FnZScsdSdNZWRpYV8nLHUnTicsMCwzMjc2NyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0ZvcmVpZ24ga2V5IHRvIERpc2tJZCBjb2x1bW4gb2YgTWVkaWEgdGFibGUuIEluZGljYXRlcyB0aGUgZGlzayBjb250YWluaW5nIHRoZSBwYXRjaCBwYWNrYWdlLicsKSwKLSh1J1BhdGNoUGFja2FnZScsdSdQYXRjaElkJyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnR3VpZCcsTm9uZSwgdSdBIHVuaXF1ZSBzdHJpbmcgR1VJRCByZXByZXNlbnRpbmcgdGhpcyBwYXRjaC4nLCksCi0odSdQdWJsaXNoQ29tcG9uZW50Jyx1J0ZlYXR1cmVfJyx1J04nLE5vbmUsIE5vbmUsIHUnRmVhdHVyZScsMSx1J0lkZW50aWZpZXInLE5vbmUsIHUnRm9yZWlnbiBrZXkgaW50byB0aGUgRmVhdHVyZSB0YWJsZS4nLCksCi0odSdQdWJsaXNoQ29tcG9uZW50Jyx1J0NvbXBvbmVudF8nLHUnTicsTm9uZSwgTm9uZSwgdSdDb21wb25lbnQnLDEsdSdJZGVudGlmaWVyJyxOb25lLCB1J0ZvcmVpZ24ga2V5IGludG8gdGhlIENvbXBvbmVudCB0YWJsZS4nLCksCi0odSdQdWJsaXNoQ29tcG9uZW50Jyx1J0NvbXBvbmVudElkJyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnR3VpZCcsTm9uZSwgdSdBIHN0cmluZyBHVUlEIHRoYXQgcmVwcmVzZW50cyB0aGUgY29tcG9uZW50IGlkIHRoYXQgd2lsbCBiZSByZXF1ZXN0ZWQgYnkgdGhlIGFsaWVuIHByb2R1Y3QuJywpLAotKHUnUHVibGlzaENvbXBvbmVudCcsdSdBcHBEYXRhJyx1J1knLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGV4dCcsTm9uZSwgdSdUaGlzIGlzIGxvY2FsaXNhYmxlIEFwcGxpY2F0aW9uIHNwZWNpZmljIGRhdGEgdGhhdCBjYW4gYmUgYXNzb2NpYXRlZCB3aXRoIGEgUXVhbGlmaWVkIENvbXBvbmVudC4nLCksCi0odSdQdWJsaXNoQ29tcG9uZW50Jyx1J1F1YWxpZmllcicsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RleHQnLE5vbmUsIHUnVGhpcyBpcyBkZWZpbmVkIG9ubHkgd2hlbiB0aGUgQ29tcG9uZW50SWQgY29sdW1uIGlzIGFuIFF1YWxpZmllZCBDb21wb25lbnQgSWQuIFRoaXMgaXMgdGhlIFF1YWxpZmllciBmb3IgUHJvdmlkZUNvbXBvbmVudEluZGlyZWN0LicsKSwKLSh1J1JhZGlvQnV0dG9uJyx1J1knLHUnTicsMCwzMjc2NyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RoZSB2ZXJ0aWNhbCBjb29yZGluYXRlIG9mIHRoZSB1cHBlciBsZWZ0IGNvcm5lciBvZiB0aGUgYm91bmRpbmcgcmVjdGFuZ2xlIG9mIHRoZSByYWRpbyBidXR0b24uJywpLAotKHUnUmFkaW9CdXR0b24nLHUnVGV4dCcsdSdZJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RleHQnLE5vbmUsIHUnVGhlIHZpc2libGUgdGl0bGUgdG8gYmUgYXNzaWduZWQgdG8gdGhlIHJhZGlvIGJ1dHRvbi4nLCksCi0odSdSYWRpb0J1dHRvbicsdSdQcm9wZXJ0eScsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLE5vbmUsIHUnQSBuYW1lZCBwcm9wZXJ0eSB0byBiZSB0aWVkIHRvIHRoaXMgcmFkaW8gYnV0dG9uLiBBbGwgdGhlIGJ1dHRvbnMgdGllZCB0byB0aGUgc2FtZSBwcm9wZXJ0eSBiZWNvbWUgcGFydCBvZiB0aGUgc2FtZSBncm91cC4nLCksCi0odSdSYWRpb0J1dHRvbicsdSdIZWlnaHQnLHUnTicsMCwzMjc2NyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RoZSBoZWlnaHQgb2YgdGhlIGJ1dHRvbi4nLCksCi0odSdSYWRpb0J1dHRvbicsdSdXaWR0aCcsdSdOJywwLDMyNzY3LE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGhlIHdpZHRoIG9mIHRoZSBidXR0b24uJywpLAotKHUnUmFkaW9CdXR0b24nLHUnWCcsdSdOJywwLDMyNzY3LE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGhlIGhvcml6b250YWwgY29vcmRpbmF0ZSBvZiB0aGUgdXBwZXIgbGVmdCBjb3JuZXIgb2YgdGhlIGJvdW5kaW5nIHJlY3RhbmdsZSBvZiB0aGUgcmFkaW8gYnV0dG9uLicsKSwKLSh1J1JhZGlvQnV0dG9uJyx1J1ZhbHVlJyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnRm9ybWF0dGVkJyxOb25lLCB1J1RoZSB2YWx1ZSBzdHJpbmcgYXNzb2NpYXRlZCB3aXRoIHRoaXMgYnV0dG9uLiBTZWxlY3RpbmcgdGhlIGJ1dHRvbiB3aWxsIHNldCB0aGUgYXNzb2NpYXRlZCBwcm9wZXJ0eSB0byB0aGlzIHZhbHVlLicsKSwKLSh1J1JhZGlvQnV0dG9uJyx1J09yZGVyJyx1J04nLDEsMzI3NjcsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdBIHBvc2l0aXZlIGludGVnZXIgdXNlZCB0byBkZXRlcm1pbmUgdGhlIG9yZGVyaW5nIG9mIHRoZSBpdGVtcyB3aXRoaW4gb25lIGxpc3QuLlRoZSBpbnRlZ2VycyBkbyBub3QgaGF2ZSB0byBiZSBjb25zZWN1dGl2ZS4nLCksCi0odSdSYWRpb0J1dHRvbicsdSdIZWxwJyx1J1knLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGV4dCcsTm9uZSwgdSdUaGUgaGVscCBzdHJpbmdzIHVzZWQgd2l0aCB0aGUgYnV0dG9uLiBUaGUgdGV4dCBpcyBvcHRpb25hbC4nLCksCi0odSdSZWdpc3RyeScsdSdOYW1lJyx1J1knLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnRm9ybWF0dGVkJyxOb25lLCB1J1RoZSByZWdpc3RyeSB2YWx1ZSBuYW1lLicsKSwKLSh1J1JlZ2lzdHJ5Jyx1J1ZhbHVlJyx1J1knLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnRm9ybWF0dGVkJyxOb25lLCB1J1RoZSByZWdpc3RyeSB2YWx1ZS4nLCksCi0odSdSZWdpc3RyeScsdSdDb21wb25lbnRfJyx1J04nLE5vbmUsIE5vbmUsIHUnQ29tcG9uZW50JywxLHUnSWRlbnRpZmllcicsTm9uZSwgdSdGb3JlaWduIGtleSBpbnRvIHRoZSBDb21wb25lbnQgdGFibGUgcmVmZXJlbmNpbmcgY29tcG9uZW50IHRoYXQgY29udHJvbHMgdGhlIGluc3RhbGxpbmcgb2YgdGhlIHJlZ2lzdHJ5IHZhbHVlLicsKSwKLSh1J1JlZ2lzdHJ5Jyx1J0tleScsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1JlZ1BhdGgnLE5vbmUsIHUnVGhlIGtleSBmb3IgdGhlIHJlZ2lzdHJ5IHZhbHVlLicsKSwKLSh1J1JlZ2lzdHJ5Jyx1J1JlZ2lzdHJ5Jyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsTm9uZSwgdSdQcmltYXJ5IGtleSwgbm9uLWxvY2FsaXplZCB0b2tlbi4nLCksCi0odSdSZWdpc3RyeScsdSdSb290Jyx1J04nLC0xLDMsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUaGUgcHJlZGVmaW5lZCByb290IGtleSBmb3IgdGhlIHJlZ2lzdHJ5IHZhbHVlLCBvbmUgb2YgcnJrRW51bS4nLCksCi0odSdSZWdMb2NhdG9yJyx1J05hbWUnLHUnWScsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdGb3JtYXR0ZWQnLE5vbmUsIHUnVGhlIHJlZ2lzdHJ5IHZhbHVlIG5hbWUuJywpLAotKHUnUmVnTG9jYXRvcicsdSdUeXBlJyx1J1knLDAsMTgsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdBbiBpbnRlZ2VyIHZhbHVlIHRoYXQgZGV0ZXJtaW5lcyBpZiB0aGUgcmVnaXN0cnkgdmFsdWUgaXMgYSBmaWxlbmFtZSBvciBhIGRpcmVjdG9yeSBsb2NhdGlvbiBvciB0byBiZSB1c2VkIGFzIGlzIHcvbyBpbnRlcnByZXRhdGlvbi4nLCksCi0odSdSZWdMb2NhdG9yJyx1J1NpZ25hdHVyZV8nLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJyxOb25lLCB1J1RoZSB0YWJsZSBrZXkuIFRoZSBTaWduYXR1cmVfIHJlcHJlc2VudHMgYSB1bmlxdWUgZmlsZSBzaWduYXR1cmUgYW5kIGlzIGFsc28gdGhlIGZvcmVpZ24ga2V5IGluIHRoZSBTaWduYXR1cmUgdGFibGUuIElmIHRoZSB0eXBlIGlzIDAsIHRoZSByZWdpc3RyeSB2YWx1ZXMgcmVmZXJzIGEgZGlyZWN0b3J5LCBhbmQgX1NpZ25hdHVyZSBpcyBub3QgYSBmb3JlaWduIGtleS4nLCksCi0odSdSZWdMb2NhdG9yJyx1J0tleScsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1JlZ1BhdGgnLE5vbmUsIHUnVGhlIGtleSBmb3IgdGhlIHJlZ2lzdHJ5IHZhbHVlLicsKSwKLSh1J1JlZ0xvY2F0b3InLHUnUm9vdCcsdSdOJywwLDMsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUaGUgcHJlZGVmaW5lZCByb290IGtleSBmb3IgdGhlIHJlZ2lzdHJ5IHZhbHVlLCBvbmUgb2YgcnJrRW51bS4nLCksCi0odSdSZW1vdmVGaWxlJyx1J0NvbXBvbmVudF8nLHUnTicsTm9uZSwgTm9uZSwgdSdDb21wb25lbnQnLDEsdSdJZGVudGlmaWVyJyxOb25lLCB1J0ZvcmVpZ24ga2V5IHJlZmVyZW5jaW5nIENvbXBvbmVudCB0aGF0IGNvbnRyb2xzIHRoZSBmaWxlIHRvIGJlIHJlbW92ZWQuJywpLAotKHUnUmVtb3ZlRmlsZScsdSdGaWxlS2V5Jyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsTm9uZSwgdSdQcmltYXJ5IGtleSB1c2VkIHRvIGlkZW50aWZ5IGEgcGFydGljdWxhciBmaWxlIGVudHJ5JywpLAotKHUnUmVtb3ZlRmlsZScsdSdGaWxlTmFtZScsdSdZJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1dpbGRDYXJkRmlsZW5hbWUnLE5vbmUsIHUnTmFtZSBvZiB0aGUgZmlsZSB0byBiZSByZW1vdmVkLicsKSwKLSh1J1JlbW92ZUZpbGUnLHUnRGlyUHJvcGVydHknLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJyxOb25lLCB1J05hbWUgb2YgYSBwcm9wZXJ0eSB3aG9zZSB2YWx1ZSBpcyBhc3N1bWVkIHRvIHJlc29sdmUgdG8gdGhlIGZ1bGwgcGF0aG5hbWUgdG8gdGhlIGZvbGRlciBvZiB0aGUgZmlsZSB0byBiZSByZW1vdmVkLicsKSwKLSh1J1JlbW92ZUZpbGUnLHUnSW5zdGFsbE1vZGUnLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdScxOzI7MycsdSdJbnN0YWxsYXRpb24gb3B0aW9uLCBvbmUgb2YgaWltRW51bS4nLCksCi0odSdSZW1vdmVJbmlGaWxlJyx1J0FjdGlvbicsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1JzI7NCcsdSdUaGUgdHlwZSBvZiBtb2RpZmljYXRpb24gdG8gYmUgbWFkZSwgb25lIG9mIGlpZkVudW0uJywpLAotKHUnUmVtb3ZlSW5pRmlsZScsdSdWYWx1ZScsdSdZJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0Zvcm1hdHRlZCcsTm9uZSwgdSdUaGUgdmFsdWUgdG8gYmUgZGVsZXRlZC4gVGhlIHZhbHVlIGlzIHJlcXVpcmVkIHdoZW4gQWN0aW9uIGlzIGlpZkluaVJlbW92ZVRhZycsKSwKLSh1J1JlbW92ZUluaUZpbGUnLHUnQ29tcG9uZW50XycsdSdOJyxOb25lLCBOb25lLCB1J0NvbXBvbmVudCcsMSx1J0lkZW50aWZpZXInLE5vbmUsIHUnRm9yZWlnbiBrZXkgaW50byB0aGUgQ29tcG9uZW50IHRhYmxlIHJlZmVyZW5jaW5nIGNvbXBvbmVudCB0aGF0IGNvbnRyb2xzIHRoZSBkZWxldGlvbiBvZiB0aGUgLklOSSB2YWx1ZS4nLCksCi0odSdSZW1vdmVJbmlGaWxlJyx1J0ZpbGVOYW1lJyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnRmlsZW5hbWUnLE5vbmUsIHUnVGhlIC5JTkkgZmlsZSBuYW1lIGluIHdoaWNoIHRvIGRlbGV0ZSB0aGUgaW5mb3JtYXRpb24nLCksCi0odSdSZW1vdmVJbmlGaWxlJyx1J0RpclByb3BlcnR5Jyx1J1knLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsTm9uZSwgdSdGb3JlaWduIGtleSBpbnRvIHRoZSBEaXJlY3RvcnkgdGFibGUgZGVub3RpbmcgdGhlIGRpcmVjdG9yeSB3aGVyZSB0aGUgLklOSSBmaWxlIGlzLicsKSwKLSh1J1JlbW92ZUluaUZpbGUnLHUnS2V5Jyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnRm9ybWF0dGVkJyxOb25lLCB1J1RoZSAuSU5JIGZpbGUga2V5IGJlbG93IFNlY3Rpb24uJywpLAotKHUnUmVtb3ZlSW5pRmlsZScsdSdTZWN0aW9uJyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnRm9ybWF0dGVkJyxOb25lLCB1J1RoZSAuSU5JIGZpbGUgU2VjdGlvbi4nLCksCi0odSdSZW1vdmVJbmlGaWxlJyx1J1JlbW92ZUluaUZpbGUnLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJyxOb25lLCB1J1ByaW1hcnkga2V5LCBub24tbG9jYWxpemVkIHRva2VuLicsKSwKLSh1J1JlbW92ZVJlZ2lzdHJ5Jyx1J05hbWUnLHUnWScsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdGb3JtYXR0ZWQnLE5vbmUsIHUnVGhlIHJlZ2lzdHJ5IHZhbHVlIG5hbWUuJywpLAotKHUnUmVtb3ZlUmVnaXN0cnknLHUnQ29tcG9uZW50XycsdSdOJyxOb25lLCBOb25lLCB1J0NvbXBvbmVudCcsMSx1J0lkZW50aWZpZXInLE5vbmUsIHUnRm9yZWlnbiBrZXkgaW50byB0aGUgQ29tcG9uZW50IHRhYmxlIHJlZmVyZW5jaW5nIGNvbXBvbmVudCB0aGF0IGNvbnRyb2xzIHRoZSBkZWxldGlvbiBvZiB0aGUgcmVnaXN0cnkgdmFsdWUuJywpLAotKHUnUmVtb3ZlUmVnaXN0cnknLHUnS2V5Jyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnUmVnUGF0aCcsTm9uZSwgdSdUaGUga2V5IGZvciB0aGUgcmVnaXN0cnkgdmFsdWUuJywpLAotKHUnUmVtb3ZlUmVnaXN0cnknLHUnUm9vdCcsdSdOJywtMSwzLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGhlIHByZWRlZmluZWQgcm9vdCBrZXkgZm9yIHRoZSByZWdpc3RyeSB2YWx1ZSwgb25lIG9mIHJya0VudW0nLCksCi0odSdSZW1vdmVSZWdpc3RyeScsdSdSZW1vdmVSZWdpc3RyeScsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLE5vbmUsIHUnUHJpbWFyeSBrZXksIG5vbi1sb2NhbGl6ZWQgdG9rZW4uJywpLAotKHUnUmVzZXJ2ZUNvc3QnLHUnQ29tcG9uZW50XycsdSdOJyxOb25lLCBOb25lLCB1J0NvbXBvbmVudCcsMSx1J0lkZW50aWZpZXInLE5vbmUsIHUnUmVzZXJ2ZSBhIHNwZWNpZmllZCBhbW91bnQgb2Ygc3BhY2UgaWYgdGhpcyBjb21wb25lbnQgaXMgdG8gYmUgaW5zdGFsbGVkLicsKSwKLSh1J1Jlc2VydmVDb3N0Jyx1J1Jlc2VydmVGb2xkZXInLHUnWScsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJyxOb25lLCB1J05hbWUgb2YgYSBwcm9wZXJ0eSB3aG9zZSB2YWx1ZSBpcyBhc3N1bWVkIHRvIHJlc29sdmUgdG8gdGhlIGZ1bGwgcGF0aCB0byB0aGUgZGVzdGluYXRpb24gZGlyZWN0b3J5JywpLAotKHUnUmVzZXJ2ZUNvc3QnLHUnUmVzZXJ2ZUtleScsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLE5vbmUsIHUnUHJpbWFyeSBrZXkgdGhhdCB1bmlxdWVseSBpZGVudGlmaWVzIGEgcGFydGljdWxhciBSZXNlcnZlQ29zdCByZWNvcmQnLCksCi0odSdSZXNlcnZlQ29zdCcsdSdSZXNlcnZlTG9jYWwnLHUnTicsMCwyMTQ3NDgzNjQ3LE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnRGlzayBzcGFjZSB0byByZXNlcnZlIGlmIGxpbmtlZCBjb21wb25lbnQgaXMgaW5zdGFsbGVkIGxvY2FsbHkuJywpLAotKHUnUmVzZXJ2ZUNvc3QnLHUnUmVzZXJ2ZVNvdXJjZScsdSdOJywwLDIxNDc0ODM2NDcsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdEaXNrIHNwYWNlIHRvIHJlc2VydmUgaWYgbGlua2VkIGNvbXBvbmVudCBpcyBpbnN0YWxsZWQgdG8gcnVuIGZyb20gdGhlIHNvdXJjZSBsb2NhdGlvbi4nLCksCi0odSdTZWxmUmVnJyx1J0ZpbGVfJyx1J04nLE5vbmUsIE5vbmUsIHUnRmlsZScsMSx1J0lkZW50aWZpZXInLE5vbmUsIHUnRm9yZWlnbiBrZXkgaW50byB0aGUgRmlsZSB0YWJsZSBkZW5vdGluZyB0aGUgbW9kdWxlIHRoYXQgbmVlZHMgdG8gYmUgcmVnaXN0ZXJlZC4nLCksCi0odSdTZWxmUmVnJyx1J0Nvc3QnLHUnWScsMCwzMjc2NyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RoZSBjb3N0IG9mIHJlZ2lzdGVyaW5nIHRoZSBtb2R1bGUuJywpLAotKHUnU2VydmljZUNvbnRyb2wnLHUnTmFtZScsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0Zvcm1hdHRlZCcsTm9uZSwgdSdOYW1lIG9mIGEgc2VydmljZS4gLywgXFwsIGNvbW1hIGFuZCBzcGFjZSBhcmUgaW52YWxpZCcsKSwKLSh1J1NlcnZpY2VDb250cm9sJyx1J0NvbXBvbmVudF8nLHUnTicsTm9uZSwgTm9uZSwgdSdDb21wb25lbnQnLDEsdSdJZGVudGlmaWVyJyxOb25lLCB1J1JlcXVpcmVkIGZvcmVpZ24ga2V5IGludG8gdGhlIENvbXBvbmVudCBUYWJsZSB0aGF0IGNvbnRyb2xzIHRoZSBzdGFydHVwIG9mIHRoZSBzZXJ2aWNlJywpLAotKHUnU2VydmljZUNvbnRyb2wnLHUnRXZlbnQnLHUnTicsMCwxODcsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdCaXQgZmllbGQ6ICBJbnN0YWxsOiAgMHgxID0gU3RhcnQsIDB4MiA9IFN0b3AsIDB4OCA9IERlbGV0ZSwgVW5pbnN0YWxsOiAweDEwID0gU3RhcnQsIDB4MjAgPSBTdG9wLCAweDgwID0gRGVsZXRlJywpLAotKHUnU2VydmljZUNvbnRyb2wnLHUnU2VydmljZUNvbnRyb2wnLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJyxOb25lLCB1J1ByaW1hcnkga2V5LCBub24tbG9jYWxpemVkIHRva2VuLicsKSwKLSh1J1NlcnZpY2VDb250cm9sJyx1J0FyZ3VtZW50cycsdSdZJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0Zvcm1hdHRlZCcsTm9uZSwgdSdBcmd1bWVudHMgZm9yIHRoZSBzZXJ2aWNlLiAgU2VwYXJhdGUgYnkgW35dLicsKSwKLSh1J1NlcnZpY2VDb250cm9sJyx1J1dhaXQnLHUnWScsMCwxLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnQm9vbGVhbiBmb3Igd2hldGhlciB0byB3YWl0IGZvciB0aGUgc2VydmljZSB0byBmdWxseSBzdGFydCcsKSwKLSh1J1NlcnZpY2VJbnN0YWxsJyx1J05hbWUnLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdGb3JtYXR0ZWQnLE5vbmUsIHUnSW50ZXJuYWwgTmFtZSBvZiB0aGUgU2VydmljZScsKSwKLSh1J1NlcnZpY2VJbnN0YWxsJyx1J0Rlc2NyaXB0aW9uJyx1J1knLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGV4dCcsTm9uZSwgdSdEZXNjcmlwdGlvbiBvZiBzZXJ2aWNlLicsKSwKLSh1J1NlcnZpY2VJbnN0YWxsJyx1J0NvbXBvbmVudF8nLHUnTicsTm9uZSwgTm9uZSwgdSdDb21wb25lbnQnLDEsdSdJZGVudGlmaWVyJyxOb25lLCB1J1JlcXVpcmVkIGZvcmVpZ24ga2V5IGludG8gdGhlIENvbXBvbmVudCBUYWJsZSB0aGF0IGNvbnRyb2xzIHRoZSBzdGFydHVwIG9mIHRoZSBzZXJ2aWNlJywpLAotKHUnU2VydmljZUluc3RhbGwnLHUnQXJndW1lbnRzJyx1J1knLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnRm9ybWF0dGVkJyxOb25lLCB1J0FyZ3VtZW50cyB0byBpbmNsdWRlIGluIGV2ZXJ5IHN0YXJ0IG9mIHRoZSBzZXJ2aWNlLCBwYXNzZWQgdG8gV2luTWFpbicsKSwKLSh1J1NlcnZpY2VJbnN0YWxsJyx1J1NlcnZpY2VJbnN0YWxsJyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsTm9uZSwgdSdQcmltYXJ5IGtleSwgbm9uLWxvY2FsaXplZCB0b2tlbi4nLCksCi0odSdTZXJ2aWNlSW5zdGFsbCcsdSdEZXBlbmRlbmNpZXMnLHUnWScsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdGb3JtYXR0ZWQnLE5vbmUsIHUnT3RoZXIgc2VydmljZXMgdGhpcyBkZXBlbmRzIG9uIHRvIHN0YXJ0LiAgU2VwYXJhdGUgYnkgW35dLCBhbmQgZW5kIHdpdGggW35dW35dJywpLAotKHUnU2VydmljZUluc3RhbGwnLHUnRGlzcGxheU5hbWUnLHUnWScsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdGb3JtYXR0ZWQnLE5vbmUsIHUnRXh0ZXJuYWwgTmFtZSBvZiB0aGUgU2VydmljZScsKSwKLSh1J1NlcnZpY2VJbnN0YWxsJyx1J0Vycm9yQ29udHJvbCcsdSdOJywtMjE0NzQ4MzY0NywyMTQ3NDgzNjQ3LE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnU2V2ZXJpdHkgb2YgZXJyb3IgaWYgc2VydmljZSBmYWlscyB0byBzdGFydCcsKSwKLSh1J1NlcnZpY2VJbnN0YWxsJyx1J0xvYWRPcmRlckdyb3VwJyx1J1knLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnRm9ybWF0dGVkJyxOb25lLCB1J0xvYWRPcmRlckdyb3VwJywpLAotKHUnU2VydmljZUluc3RhbGwnLHUnUGFzc3dvcmQnLHUnWScsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdGb3JtYXR0ZWQnLE5vbmUsIHUncGFzc3dvcmQgdG8gcnVuIHNlcnZpY2Ugd2l0aC4gICh3aXRoIFN0YXJ0TmFtZSknLCksCi0odSdTZXJ2aWNlSW5zdGFsbCcsdSdTZXJ2aWNlVHlwZScsdSdOJywtMjE0NzQ4MzY0NywyMTQ3NDgzNjQ3LE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVHlwZSBvZiB0aGUgc2VydmljZScsKSwKLSh1J1NlcnZpY2VJbnN0YWxsJyx1J1N0YXJ0TmFtZScsdSdZJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0Zvcm1hdHRlZCcsTm9uZSwgdSdVc2VyIG9yIG9iamVjdCBuYW1lIHRvIHJ1biBzZXJ2aWNlIGFzJywpLAotKHUnU2VydmljZUluc3RhbGwnLHUnU3RhcnRUeXBlJyx1J04nLDAsNCxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1R5cGUgb2YgdGhlIHNlcnZpY2UnLCksCi0odSdTaG9ydGN1dCcsdSdOYW1lJyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnRmlsZW5hbWUnLE5vbmUsIHUnVGhlIG5hbWUgb2YgdGhlIHNob3J0Y3V0IHRvIGJlIGNyZWF0ZWQuJywpLAotKHUnU2hvcnRjdXQnLHUnRGVzY3JpcHRpb24nLHUnWScsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUZXh0JyxOb25lLCB1J1RoZSBkZXNjcmlwdGlvbiBmb3IgdGhlIHNob3J0Y3V0LicsKSwKLSh1J1Nob3J0Y3V0Jyx1J0NvbXBvbmVudF8nLHUnTicsTm9uZSwgTm9uZSwgdSdDb21wb25lbnQnLDEsdSdJZGVudGlmaWVyJyxOb25lLCB1J0ZvcmVpZ24ga2V5IGludG8gdGhlIENvbXBvbmVudCB0YWJsZSBkZW5vdGluZyB0aGUgY29tcG9uZW50IHdob3NlIHNlbGVjdGlvbiBnYXRlcyB0aGUgc2hvcnRjdXQgY3JlYXRpb24vZGVsZXRpb24uJywpLAotKHUnU2hvcnRjdXQnLHUnSWNvbl8nLHUnWScsTm9uZSwgTm9uZSwgdSdJY29uJywxLHUnSWRlbnRpZmllcicsTm9uZSwgdSdGb3JlaWduIGtleSBpbnRvIHRoZSBGaWxlIHRhYmxlIGRlbm90aW5nIHRoZSBleHRlcm5hbCBpY29uIGZpbGUgZm9yIHRoZSBzaG9ydGN1dC4nLCksCi0odSdTaG9ydGN1dCcsdSdJY29uSW5kZXgnLHUnWScsLTMyNzY3LDMyNzY3LE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGhlIGljb24gaW5kZXggZm9yIHRoZSBzaG9ydGN1dC4nLCksCi0odSdTaG9ydGN1dCcsdSdEaXJlY3RvcnlfJyx1J04nLE5vbmUsIE5vbmUsIHUnRGlyZWN0b3J5JywxLHUnSWRlbnRpZmllcicsTm9uZSwgdSdGb3JlaWduIGtleSBpbnRvIHRoZSBEaXJlY3RvcnkgdGFibGUgZGVub3RpbmcgdGhlIGRpcmVjdG9yeSB3aGVyZSB0aGUgc2hvcnRjdXQgZmlsZSBpcyBjcmVhdGVkLicsKSwKLSh1J1Nob3J0Y3V0Jyx1J1RhcmdldCcsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1Nob3J0Y3V0JyxOb25lLCB1J1RoZSBzaG9ydGN1dCB0YXJnZXQuIFRoaXMgaXMgdXN1YWxseSBhIHByb3BlcnR5IHRoYXQgaXMgZXhwYW5kZWQgdG8gYSBmaWxlIG9yIGEgZm9sZGVyIHRoYXQgdGhlIHNob3J0Y3V0IHBvaW50cyB0by4nLCksCi0odSdTaG9ydGN1dCcsdSdBcmd1bWVudHMnLHUnWScsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdGb3JtYXR0ZWQnLE5vbmUsIHUnVGhlIGNvbW1hbmQtbGluZSBhcmd1bWVudHMgZm9yIHRoZSBzaG9ydGN1dC4nLCksCi0odSdTaG9ydGN1dCcsdSdTaG9ydGN1dCcsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLE5vbmUsIHUnUHJpbWFyeSBrZXksIG5vbi1sb2NhbGl6ZWQgdG9rZW4uJywpLAotKHUnU2hvcnRjdXQnLHUnSG90a2V5Jyx1J1knLDAsMzI3NjcsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUaGUgaG90a2V5IGZvciB0aGUgc2hvcnRjdXQuIEl0IGhhcyB0aGUgdmlydHVhbC1rZXkgY29kZSBmb3IgdGhlIGtleSBpbiB0aGUgbG93LW9yZGVyIGJ5dGUsIGFuZCB0aGUgbW9kaWZpZXIgZmxhZ3MgaW4gdGhlIGhpZ2gtb3JkZXIgYnl0ZS4gJywpLAotKHUnU2hvcnRjdXQnLHUnU2hvd0NtZCcsdSdZJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1JzE7Mzs3Jyx1J1RoZSBzaG93IGNvbW1hbmQgZm9yIHRoZSBhcHBsaWNhdGlvbiB3aW5kb3cuVGhlIGZvbGxvd2luZyB2YWx1ZXMgbWF5IGJlIHVzZWQuJywpLAotKHUnU2hvcnRjdXQnLHUnV2tEaXInLHUnWScsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJyxOb25lLCB1J05hbWUgb2YgcHJvcGVydHkgZGVmaW5pbmcgbG9jYXRpb24gb2Ygd29ya2luZyBkaXJlY3RvcnkuJywpLAotKHUnU2lnbmF0dXJlJyx1J0ZpbGVOYW1lJyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnRmlsZW5hbWUnLE5vbmUsIHUnVGhlIG5hbWUgb2YgdGhlIGZpbGUuIFRoaXMgbWF5IGNvbnRhaW4gYSAic2hvcnQgbmFtZXxsb25nIG5hbWUiIHBhaXIuJywpLAotKHUnU2lnbmF0dXJlJyx1J1NpZ25hdHVyZScsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLE5vbmUsIHUnVGhlIHRhYmxlIGtleS4gVGhlIFNpZ25hdHVyZSByZXByZXNlbnRzIGEgdW5pcXVlIGZpbGUgc2lnbmF0dXJlLicsKSwKLSh1J1NpZ25hdHVyZScsdSdMYW5ndWFnZXMnLHUnWScsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdMYW5ndWFnZScsTm9uZSwgdSdUaGUgbGFuZ3VhZ2VzIHN1cHBvcnRlZCBieSB0aGUgZmlsZS4nLCksCi0odSdTaWduYXR1cmUnLHUnTWF4RGF0ZScsdSdZJywwLDIxNDc0ODM2NDcsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUaGUgbWF4aW11bSBjcmVhdGlvbiBkYXRlIG9mIHRoZSBmaWxlLicsKSwKLSh1J1NpZ25hdHVyZScsdSdNYXhTaXplJyx1J1knLDAsMjE0NzQ4MzY0NyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RoZSBtYXhpbXVtIHNpemUgb2YgdGhlIGZpbGUuICcsKSwKLSh1J1NpZ25hdHVyZScsdSdNYXhWZXJzaW9uJyx1J1knLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGV4dCcsTm9uZSwgdSdUaGUgbWF4aW11bSB2ZXJzaW9uIG9mIHRoZSBmaWxlLicsKSwKLSh1J1NpZ25hdHVyZScsdSdNaW5EYXRlJyx1J1knLDAsMjE0NzQ4MzY0NyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RoZSBtaW5pbXVtIGNyZWF0aW9uIGRhdGUgb2YgdGhlIGZpbGUuJywpLAotKHUnU2lnbmF0dXJlJyx1J01pblNpemUnLHUnWScsMCwyMTQ3NDgzNjQ3LE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGhlIG1pbmltdW0gc2l6ZSBvZiB0aGUgZmlsZS4nLCksCi0odSdTaWduYXR1cmUnLHUnTWluVmVyc2lvbicsdSdZJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RleHQnLE5vbmUsIHUnVGhlIG1pbmltdW0gdmVyc2lvbiBvZiB0aGUgZmlsZS4nLCksCi0odSdUZXh0U3R5bGUnLHUnVGV4dFN0eWxlJyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsTm9uZSwgdSdOYW1lIG9mIHRoZSBzdHlsZS4gVGhlIHByaW1hcnkga2V5IG9mIHRoaXMgdGFibGUuIFRoaXMgbmFtZSBpcyBlbWJlZGRlZCBpbiB0aGUgdGV4dHMgdG8gaW5kaWNhdGUgYSBzdHlsZSBjaGFuZ2UuJywpLAotKHUnVGV4dFN0eWxlJyx1J0NvbG9yJyx1J1knLDAsMTY3NzcyMTUsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdBIGxvbmcgaW50ZWdlciBpbmRpY2F0aW5nIHRoZSBjb2xvciBvZiB0aGUgc3RyaW5nIGluIHRoZSBSR0IgZm9ybWF0IChSZWQsIEdyZWVuLCBCbHVlIGVhY2ggMC0yNTUsIFJHQiA9IFIgKyAyNTYqRyArIDI1Nl4yKkIpLicsKSwKLSh1J1RleHRTdHlsZScsdSdGYWNlTmFtZScsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RleHQnLE5vbmUsIHUnQSBzdHJpbmcgaW5kaWNhdGluZyB0aGUgbmFtZSBvZiB0aGUgZm9udCB1c2VkLiBSZXF1aXJlZC4gVGhlIHN0cmluZyBtdXN0IGJlIGF0IG1vc3QgMzEgY2hhcmFjdGVycyBsb25nLicsKSwKLSh1J1RleHRTdHlsZScsdSdTaXplJyx1J04nLDAsMzI3NjcsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUaGUgc2l6ZSBvZiB0aGUgZm9udCB1c2VkLiBUaGlzIHNpemUgaXMgZ2l2ZW4gaW4gb3VyIHVuaXRzICgxLzEyIG9mIHRoZSBzeXN0ZW0gZm9udCBoZWlnaHQpLiBBc3N1bWluZyB0aGF0IHRoZSBzeXN0ZW0gZm9udCBpcyBzZXQgdG8gMTIgcG9pbnQgc2l6ZSwgdGhpcyBpcyBlcXVpdmFsZW50IHRvIHRoZSBwb2ludCBzaXplLicsKSwKLSh1J1RleHRTdHlsZScsdSdTdHlsZUJpdHMnLHUnWScsMCwxNSxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0EgY29tYmluYXRpb24gb2Ygc3R5bGUgYml0cy4nLCksCi0odSdUeXBlTGliJyx1J0Rlc2NyaXB0aW9uJyx1J1knLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGV4dCcsTm9uZSwgTm9uZSwgKSwKLSh1J1R5cGVMaWInLHUnRmVhdHVyZV8nLHUnTicsTm9uZSwgTm9uZSwgdSdGZWF0dXJlJywxLHUnSWRlbnRpZmllcicsTm9uZSwgdSdSZXF1aXJlZCBmb3JlaWduIGtleSBpbnRvIHRoZSBGZWF0dXJlIFRhYmxlLCBzcGVjaWZ5aW5nIHRoZSBmZWF0dXJlIHRvIHZhbGlkYXRlIG9yIGluc3RhbGwgaW4gb3JkZXIgZm9yIHRoZSB0eXBlIGxpYnJhcnkgdG8gYmUgb3BlcmF0aW9uYWwuJywpLAotKHUnVHlwZUxpYicsdSdDb21wb25lbnRfJyx1J04nLE5vbmUsIE5vbmUsIHUnQ29tcG9uZW50JywxLHUnSWRlbnRpZmllcicsTm9uZSwgdSdSZXF1aXJlZCBmb3JlaWduIGtleSBpbnRvIHRoZSBDb21wb25lbnQgVGFibGUsIHNwZWNpZnlpbmcgdGhlIGNvbXBvbmVudCBmb3Igd2hpY2ggdG8gcmV0dXJuIGEgcGF0aCB3aGVuIGNhbGxlZCB0aHJvdWdoIExvY2F0ZUNvbXBvbmVudC4nLCksCi0odSdUeXBlTGliJyx1J0RpcmVjdG9yeV8nLHUnWScsTm9uZSwgTm9uZSwgdSdEaXJlY3RvcnknLDEsdSdJZGVudGlmaWVyJyxOb25lLCB1J09wdGlvbmFsLiBUaGUgZm9yZWlnbiBrZXkgaW50byB0aGUgRGlyZWN0b3J5IHRhYmxlIGRlbm90aW5nIHRoZSBwYXRoIHRvIHRoZSBoZWxwIGZpbGUgZm9yIHRoZSB0eXBlIGxpYnJhcnkuJywpLAotKHUnVHlwZUxpYicsdSdMYW5ndWFnZScsdSdOJywwLDMyNzY3LE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGhlIGxhbmd1YWdlIG9mIHRoZSBsaWJyYXJ5LicsKSwKLSh1J1R5cGVMaWInLHUnVmVyc2lvbicsdSdZJywwLDE2Nzc3MjE1LE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGhlIHZlcnNpb24gb2YgdGhlIGxpYnJhcnkuIFRoZSBtaW5vciB2ZXJzaW9uIGlzIGluIHRoZSBsb3dlciA4IGJpdHMgb2YgdGhlIGludGVnZXIuIFRoZSBtYWpvciB2ZXJzaW9uIGlzIGluIHRoZSBuZXh0IDE2IGJpdHMuICcsKSwKLSh1J1R5cGVMaWInLHUnQ29zdCcsdSdZJywwLDIxNDc0ODM2NDcsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUaGUgY29zdCBhc3NvY2lhdGVkIHdpdGggdGhlIHJlZ2lzdHJhdGlvbiBvZiB0aGUgdHlwZWxpYi4gVGhpcyBjb2x1bW4gaXMgY3VycmVudGx5IG9wdGlvbmFsLicsKSwKLSh1J1R5cGVMaWInLHUnTGliSUQnLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdHdWlkJyxOb25lLCB1J1RoZSBHVUlEIHRoYXQgcmVwcmVzZW50cyB0aGUgbGlicmFyeS4nLCksCi0odSdVSVRleHQnLHUnVGV4dCcsdSdZJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RleHQnLE5vbmUsIHUnVGhlIGxvY2FsaXplZCB2ZXJzaW9uIG9mIHRoZSBzdHJpbmcuJywpLAotKHUnVUlUZXh0Jyx1J0tleScsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLE5vbmUsIHUnQSB1bmlxdWUga2V5IHRoYXQgaWRlbnRpZmllcyB0aGUgcGFydGljdWxhciBzdHJpbmcuJywpLAotKHUnVXBncmFkZScsdSdBdHRyaWJ1dGVzJyx1J04nLDAsMjE0NzQ4MzY0NyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RoZSBhdHRyaWJ1dGVzIG9mIHRoaXMgcHJvZHVjdCBzZXQuJywpLAotKHUnVXBncmFkZScsdSdMYW5ndWFnZScsdSdZJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0xhbmd1YWdlJyxOb25lLCB1J0EgY29tbWEtc2VwYXJhdGVkIGxpc3Qgb2YgbGFuZ3VhZ2VzIGZvciBlaXRoZXIgcHJvZHVjdHMgaW4gdGhpcyBzZXQgb3IgcHJvZHVjdHMgbm90IGluIHRoaXMgc2V0LicsKSwKLSh1J1VwZ3JhZGUnLHUnQWN0aW9uUHJvcGVydHknLHUnTicsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdVcHBlckNhc2UnLE5vbmUsIHUnVGhlIHByb3BlcnR5IHRvIHNldCB3aGVuIGEgcHJvZHVjdCBpbiB0aGlzIHNldCBpcyBmb3VuZC4nLCksCi0odSdVcGdyYWRlJyx1J1JlbW92ZScsdSdZJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0Zvcm1hdHRlZCcsTm9uZSwgdSdUaGUgbGlzdCBvZiBmZWF0dXJlcyB0byByZW1vdmUgd2hlbiB1bmluc3RhbGxpbmcgYSBwcm9kdWN0IGZyb20gdGhpcyBzZXQuICBUaGUgZGVmYXVsdCBpcyAiQUxMIi4nLCksCi0odSdVcGdyYWRlJyx1J1VwZ3JhZGVDb2RlJyx1J04nLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnR3VpZCcsTm9uZSwgdSdUaGUgVXBncmFkZUNvZGUgR1VJRCBiZWxvbmdpbmcgdG8gdGhlIHByb2R1Y3RzIGluIHRoaXMgc2V0LicsKSwKLSh1J1VwZ3JhZGUnLHUnVmVyc2lvbk1heCcsdSdZJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RleHQnLE5vbmUsIHUnVGhlIG1heGltdW0gUHJvZHVjdFZlcnNpb24gb2YgdGhlIHByb2R1Y3RzIGluIHRoaXMgc2V0LiAgVGhlIHNldCBtYXkgb3IgbWF5IG5vdCBpbmNsdWRlIHByb2R1Y3RzIHdpdGggdGhpcyBwYXJ0aWN1bGFyIHZlcnNpb24uJywpLAotKHUnVXBncmFkZScsdSdWZXJzaW9uTWluJyx1J1knLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGV4dCcsTm9uZSwgdSdUaGUgbWluaW11bSBQcm9kdWN0VmVyc2lvbiBvZiB0aGUgcHJvZHVjdHMgaW4gdGhpcyBzZXQuICBUaGUgc2V0IG1heSBvciBtYXkgbm90IGluY2x1ZGUgcHJvZHVjdHMgd2l0aCB0aGlzIHBhcnRpY3VsYXIgdmVyc2lvbi4nLCksCi0odSdWZXJiJyx1J1NlcXVlbmNlJyx1J1knLDAsMzI3NjcsTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdPcmRlciB3aXRoaW4gdGhlIHZlcmJzIGZvciBhIHBhcnRpY3VsYXIgZXh0ZW5zaW9uLiBBbHNvIHVzZWQgc2ltcGx5IHRvIHNwZWNpZnkgdGhlIGRlZmF1bHQgdmVyYi4nLCksCi0odSdWZXJiJyx1J0FyZ3VtZW50Jyx1J1knLE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnRm9ybWF0dGVkJyxOb25lLCB1J09wdGlvbmFsIHZhbHVlIGZvciB0aGUgY29tbWFuZCBhcmd1bWVudHMuJywpLAotKHUnVmVyYicsdSdFeHRlbnNpb25fJyx1J04nLE5vbmUsIE5vbmUsIHUnRXh0ZW5zaW9uJywxLHUnVGV4dCcsTm9uZSwgdSdUaGUgZXh0ZW5zaW9uIGFzc29jaWF0ZWQgd2l0aCB0aGUgdGFibGUgcm93LicsKSwKLSh1J1ZlcmInLHUnVmVyYicsdSdOJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RleHQnLE5vbmUsIHUnVGhlIHZlcmIgZm9yIHRoZSBjb21tYW5kLicsKSwKLSh1J1ZlcmInLHUnQ29tbWFuZCcsdSdZJyxOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0Zvcm1hdHRlZCcsTm9uZSwgdSdUaGUgY29tbWFuZCB0ZXh0LicsKSwKLV0KZGlmZiAtLWdpdCBhL1Rvb2xzL21zaS9zZXF1ZW5jZS5weSBiL1Rvb2xzL21zaS9zZXF1ZW5jZS5weQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTEzOGY3YS4uMDAwMDAwMAotLS0gYS9Ub29scy9tc2kvc2VxdWVuY2UucHkKKysrIC9kZXYvbnVsbApAQCAtMSwxMjYgKzAsMCBAQAotQWRtaW5FeGVjdXRlU2VxdWVuY2UgPSBbCi0odSdJbnN0YWxsSW5pdGlhbGl6ZScsIE5vbmUsIDE1MDApLAotKHUnSW5zdGFsbEZpbmFsaXplJywgTm9uZSwgNjYwMCksCi0odSdJbnN0YWxsRmlsZXMnLCBOb25lLCA0MDAwKSwKLSh1J0luc3RhbGxBZG1pblBhY2thZ2UnLCBOb25lLCAzOTAwKSwKLSh1J0ZpbGVDb3N0JywgTm9uZSwgOTAwKSwKLSh1J0Nvc3RJbml0aWFsaXplJywgTm9uZSwgODAwKSwKLSh1J0Nvc3RGaW5hbGl6ZScsIE5vbmUsIDEwMDApLAotKHUnSW5zdGFsbFZhbGlkYXRlJywgTm9uZSwgMTQwMCksCi1dCi0KLUFkbWluVUlTZXF1ZW5jZSA9IFsKLSh1J0ZpbGVDb3N0JywgTm9uZSwgOTAwKSwKLSh1J0Nvc3RJbml0aWFsaXplJywgTm9uZSwgODAwKSwKLSh1J0Nvc3RGaW5hbGl6ZScsIE5vbmUsIDEwMDApLAotKHUnRXhlY3V0ZUFjdGlvbicsIE5vbmUsIDEzMDApLAotKHUnRXhpdERpYWxvZycsIE5vbmUsIC0xKSwKLSh1J0ZhdGFsRXJyb3InLCBOb25lLCAtMyksCi0odSdVc2VyRXhpdCcsIE5vbmUsIC0yKSwKLV0KLQotQWR2dEV4ZWN1dGVTZXF1ZW5jZSA9IFsKLSh1J0luc3RhbGxJbml0aWFsaXplJywgTm9uZSwgMTUwMCksCi0odSdJbnN0YWxsRmluYWxpemUnLCBOb25lLCA2NjAwKSwKLSh1J0Nvc3RJbml0aWFsaXplJywgTm9uZSwgODAwKSwKLSh1J0Nvc3RGaW5hbGl6ZScsIE5vbmUsIDEwMDApLAotKHUnSW5zdGFsbFZhbGlkYXRlJywgTm9uZSwgMTQwMCksCi0odSdDcmVhdGVTaG9ydGN1dHMnLCBOb25lLCA0NTAwKSwKLSh1J01zaVB1Ymxpc2hBc3NlbWJsaWVzJywgTm9uZSwgNjI1MCksCi0odSdQdWJsaXNoQ29tcG9uZW50cycsIE5vbmUsIDYyMDApLAotKHUnUHVibGlzaEZlYXR1cmVzJywgTm9uZSwgNjMwMCksCi0odSdQdWJsaXNoUHJvZHVjdCcsIE5vbmUsIDY0MDApLAotKHUnUmVnaXN0ZXJDbGFzc0luZm8nLCBOb25lLCA0NjAwKSwKLSh1J1JlZ2lzdGVyRXh0ZW5zaW9uSW5mbycsIE5vbmUsIDQ3MDApLAotKHUnUmVnaXN0ZXJNSU1FSW5mbycsIE5vbmUsIDQ5MDApLAotKHUnUmVnaXN0ZXJQcm9nSWRJbmZvJywgTm9uZSwgNDgwMCksCi1dCi0KLUluc3RhbGxFeGVjdXRlU2VxdWVuY2UgPSBbCi0odSdJbnN0YWxsSW5pdGlhbGl6ZScsIE5vbmUsIDE1MDApLAotKHUnSW5zdGFsbEZpbmFsaXplJywgTm9uZSwgNjYwMCksCi0odSdJbnN0YWxsRmlsZXMnLCBOb25lLCA0MDAwKSwKLSh1J0ZpbGVDb3N0JywgTm9uZSwgOTAwKSwKLSh1J0Nvc3RJbml0aWFsaXplJywgTm9uZSwgODAwKSwKLSh1J0Nvc3RGaW5hbGl6ZScsIE5vbmUsIDEwMDApLAotKHUnSW5zdGFsbFZhbGlkYXRlJywgTm9uZSwgMTQwMCksCi0odSdDcmVhdGVTaG9ydGN1dHMnLCBOb25lLCA0NTAwKSwKLSh1J01zaVB1Ymxpc2hBc3NlbWJsaWVzJywgTm9uZSwgNjI1MCksCi0odSdQdWJsaXNoQ29tcG9uZW50cycsIE5vbmUsIDYyMDApLAotKHUnUHVibGlzaEZlYXR1cmVzJywgTm9uZSwgNjMwMCksCi0odSdQdWJsaXNoUHJvZHVjdCcsIE5vbmUsIDY0MDApLAotKHUnUmVnaXN0ZXJDbGFzc0luZm8nLCBOb25lLCA0NjAwKSwKLSh1J1JlZ2lzdGVyRXh0ZW5zaW9uSW5mbycsIE5vbmUsIDQ3MDApLAotKHUnUmVnaXN0ZXJNSU1FSW5mbycsIE5vbmUsIDQ5MDApLAotKHUnUmVnaXN0ZXJQcm9nSWRJbmZvJywgTm9uZSwgNDgwMCksCi0odSdBbGxvY2F0ZVJlZ2lzdHJ5U3BhY2UnLCB1J05PVCBJbnN0YWxsZWQnLCAxNTUwKSwKLSh1J0FwcFNlYXJjaCcsIE5vbmUsIDQwMCksCi0odSdCaW5kSW1hZ2UnLCBOb25lLCA0MzAwKSwKLSh1J0NDUFNlYXJjaCcsIHUnTk9UIEluc3RhbGxlZCcsIDUwMCksCi0odSdDcmVhdGVGb2xkZXJzJywgTm9uZSwgMzcwMCksCi0odSdEZWxldGVTZXJ2aWNlcycsIHUnVmVyc2lvbk5UJywgMjAwMCksCi0odSdEdXBsaWNhdGVGaWxlcycsIE5vbmUsIDQyMTApLAotKHUnRmluZFJlbGF0ZWRQcm9kdWN0cycsIE5vbmUsIDIwMCksCi0odSdJbnN0YWxsT0RCQycsIE5vbmUsIDU0MDApLAotKHUnSW5zdGFsbFNlcnZpY2VzJywgdSdWZXJzaW9uTlQnLCA1ODAwKSwKLSh1J0lzb2xhdGVDb21wb25lbnRzJywgTm9uZSwgOTUwKSwKLSh1J0xhdW5jaENvbmRpdGlvbnMnLCBOb25lLCAxMDApLAotKHUnTWlncmF0ZUZlYXR1cmVTdGF0ZXMnLCBOb25lLCAxMjAwKSwKLSh1J01vdmVGaWxlcycsIE5vbmUsIDM4MDApLAotKHUnUGF0Y2hGaWxlcycsIE5vbmUsIDQwOTApLAotKHUnUHJvY2Vzc0NvbXBvbmVudHMnLCBOb25lLCAxNjAwKSwKLSh1J1JlZ2lzdGVyQ29tUGx1cycsIE5vbmUsIDU3MDApLAotKHUnUmVnaXN0ZXJGb250cycsIE5vbmUsIDUzMDApLAotKHUnUmVnaXN0ZXJQcm9kdWN0JywgTm9uZSwgNjEwMCksCi0odSdSZWdpc3RlclR5cGVMaWJyYXJpZXMnLCBOb25lLCA1NTAwKSwKLSh1J1JlZ2lzdGVyVXNlcicsIE5vbmUsIDYwMDApLAotKHUnUmVtb3ZlRHVwbGljYXRlRmlsZXMnLCBOb25lLCAzNDAwKSwKLSh1J1JlbW92ZUVudmlyb25tZW50U3RyaW5ncycsIE5vbmUsIDMzMDApLAotKHUnUmVtb3ZlRXhpc3RpbmdQcm9kdWN0cycsIE5vbmUsIDY3MDApLAotKHUnUmVtb3ZlRmlsZXMnLCBOb25lLCAzNTAwKSwKLSh1J1JlbW92ZUZvbGRlcnMnLCBOb25lLCAzNjAwKSwKLSh1J1JlbW92ZUluaVZhbHVlcycsIE5vbmUsIDMxMDApLAotKHUnUmVtb3ZlT0RCQycsIE5vbmUsIDI0MDApLAotKHUnUmVtb3ZlUmVnaXN0cnlWYWx1ZXMnLCBOb25lLCAyNjAwKSwKLSh1J1JlbW92ZVNob3J0Y3V0cycsIE5vbmUsIDMyMDApLAotKHUnUk1DQ1BTZWFyY2gnLCB1J05PVCBJbnN0YWxsZWQnLCA2MDApLAotKHUnU2VsZlJlZ01vZHVsZXMnLCBOb25lLCA1NjAwKSwKLSh1J1NlbGZVbnJlZ01vZHVsZXMnLCBOb25lLCAyMjAwKSwKLSh1J1NldE9EQkNGb2xkZXJzJywgTm9uZSwgMTEwMCksCi0odSdTdGFydFNlcnZpY2VzJywgdSdWZXJzaW9uTlQnLCA1OTAwKSwKLSh1J1N0b3BTZXJ2aWNlcycsIHUnVmVyc2lvbk5UJywgMTkwMCksCi0odSdNc2lVbnB1Ymxpc2hBc3NlbWJsaWVzJywgTm9uZSwgMTc1MCksCi0odSdVbnB1Ymxpc2hDb21wb25lbnRzJywgTm9uZSwgMTcwMCksCi0odSdVbnB1Ymxpc2hGZWF0dXJlcycsIE5vbmUsIDE4MDApLAotKHUnVW5yZWdpc3RlckNsYXNzSW5mbycsIE5vbmUsIDI3MDApLAotKHUnVW5yZWdpc3RlckNvbVBsdXMnLCBOb25lLCAyMTAwKSwKLSh1J1VucmVnaXN0ZXJFeHRlbnNpb25JbmZvJywgTm9uZSwgMjgwMCksCi0odSdVbnJlZ2lzdGVyRm9udHMnLCBOb25lLCAyNTAwKSwKLSh1J1VucmVnaXN0ZXJNSU1FSW5mbycsIE5vbmUsIDMwMDApLAotKHUnVW5yZWdpc3RlclByb2dJZEluZm8nLCBOb25lLCAyOTAwKSwKLSh1J1VucmVnaXN0ZXJUeXBlTGlicmFyaWVzJywgTm9uZSwgMjMwMCksCi0odSdWYWxpZGF0ZVByb2R1Y3RJRCcsIE5vbmUsIDcwMCksCi0odSdXcml0ZUVudmlyb25tZW50U3RyaW5ncycsIE5vbmUsIDUyMDApLAotKHUnV3JpdGVJbmlWYWx1ZXMnLCBOb25lLCA1MTAwKSwKLSh1J1dyaXRlUmVnaXN0cnlWYWx1ZXMnLCBOb25lLCA1MDAwKSwKLV0KLQotSW5zdGFsbFVJU2VxdWVuY2UgPSBbCi0odSdGaWxlQ29zdCcsIE5vbmUsIDkwMCksCi0odSdDb3N0SW5pdGlhbGl6ZScsIE5vbmUsIDgwMCksCi0odSdDb3N0RmluYWxpemUnLCBOb25lLCAxMDAwKSwKLSh1J0V4ZWN1dGVBY3Rpb24nLCBOb25lLCAxMzAwKSwKLSh1J0V4aXREaWFsb2cnLCBOb25lLCAtMSksCi0odSdGYXRhbEVycm9yJywgTm9uZSwgLTMpLAotKHUnVXNlckV4aXQnLCBOb25lLCAtMiksCi0odSdBcHBTZWFyY2gnLCBOb25lLCA0MDApLAotKHUnQ0NQU2VhcmNoJywgdSdOT1QgSW5zdGFsbGVkJywgNTAwKSwKLSh1J0ZpbmRSZWxhdGVkUHJvZHVjdHMnLCBOb25lLCAyMDApLAotKHUnSXNvbGF0ZUNvbXBvbmVudHMnLCBOb25lLCA5NTApLAotKHUnTGF1bmNoQ29uZGl0aW9ucycsIE5vbmUsIDEwMCksCi0odSdNaWdyYXRlRmVhdHVyZVN0YXRlcycsIE5vbmUsIDEyMDApLAotKHUnUk1DQ1BTZWFyY2gnLCB1J05PVCBJbnN0YWxsZWQnLCA2MDApLAotKHUnVmFsaWRhdGVQcm9kdWN0SUQnLCBOb25lLCA3MDApLAotXQotCi10YWJsZXM9WydBZG1pbkV4ZWN1dGVTZXF1ZW5jZScsICdBZG1pblVJU2VxdWVuY2UnLCAnQWR2dEV4ZWN1dGVTZXF1ZW5jZScsICdJbnN0YWxsRXhlY3V0ZVNlcXVlbmNlJywgJ0luc3RhbGxVSVNlcXVlbmNlJ10KZGlmZiAtLWdpdCBhL1Rvb2xzL21zaS90Y2x0ay90Y2x0ay53aXhwcm9qIGIvVG9vbHMvbXNpL3RjbHRrL3RjbHRrLndpeHByb2oKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGQxZDc0YwotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL21zaS90Y2x0ay90Y2x0ay53aXhwcm9qCkBAIC0wLDAgKzEsNDkgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Cis8UHJvamVjdCBUb29sc1ZlcnNpb249IjQuMCIgRGVmYXVsdFRhcmdldHM9IkJ1aWxkIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4KKyAgICA8UHJvcGVydHlHcm91cD4KKyAgICAgICAgPFByb2plY3RHdWlkPntEQjM1MDYwMC0xODZDLTRFNTItQkE5OC0yNkE3Q0VDQjA2N0Z9PC9Qcm9qZWN0R3VpZD4KKyAgICAgICAgPFNjaGVtYVZlcnNpb24+Mi4wPC9TY2hlbWFWZXJzaW9uPgorICAgICAgICA8T3V0cHV0TmFtZT50Y2x0azwvT3V0cHV0TmFtZT4KKyAgICAgICAgPE91dHB1dFR5cGU+UGFja2FnZTwvT3V0cHV0VHlwZT4KKyAgICA8L1Byb3BlcnR5R3JvdXA+CisgICAgPFByb3BlcnR5R3JvdXA+CisgICAgICAgIDwhLS0gU2hvcnRjdXQgdmFsaWRhdGlvbiBpcyBub3QgbmVjZXNzYXJ5IC0tPgorICAgICAgICA8U3VwcHJlc3NJQ0VzPklDRTQzPC9TdXBwcmVzc0lDRXM+CisgICAgPC9Qcm9wZXJ0eUdyb3VwPgorICAgIDxJbXBvcnQgUHJvamVjdD0iLi5cbXNpLnByb3BzIiAvPgorICAgIDxJdGVtR3JvdXA+CisgICAgICAgIDxDb21waWxlIEluY2x1ZGU9InRjbHRrLnd4cyIgLz4KKyAgICAgICAgPENvbXBpbGUgSW5jbHVkZT0idGNsdGtfZmlsZXMud3hzIiAvPgorICAgIDwvSXRlbUdyb3VwPgorICAgIDxJdGVtR3JvdXA+CisgICAgICAgIDxXeGxUZW1wbGF0ZSBJbmNsdWRlPSIqLnd4bF90ZW1wbGF0ZSIgLz4KKyAgICA8L0l0ZW1Hcm91cD4KKyAgICA8SXRlbUdyb3VwPgorICAgICAgICA8SW5zdGFsbEZpbGVzIEluY2x1ZGU9IiQodGNsdGtEaXIpYmluXCouZGxsIiBFeGNsdWRlPSIkKHRjbHRrRGlyKWJpblwqZy5kbGwiPgorICAgICAgICAgICAgPFNvdXJjZUJhc2U+JCh0Y2x0a0Rpcik8L1NvdXJjZUJhc2U+CisgICAgICAgICAgICA8U291cmNlPiEoYmluZHBhdGgudGNsdGspPC9Tb3VyY2U+CisgICAgICAgICAgICA8VGFyZ2V0QmFzZT4kKHRjbHRrRGlyKWJpbjwvVGFyZ2V0QmFzZT4KKyAgICAgICAgICAgIDxUYXJnZXRfPkRMTHNcPC9UYXJnZXRfPgorICAgICAgICAgICAgPEdyb3VwPnRjbHRrX2RsbHM8L0dyb3VwPgorICAgICAgICA8L0luc3RhbGxGaWxlcz4KKworICAgICAgICA8SW5zdGFsbEZpbGVzIEluY2x1ZGU9IiQodGNsdGtEaXIpbGliXCoqXCoiPgorICAgICAgICAgICAgPFNvdXJjZUJhc2U+JCh0Y2x0a0Rpcik8L1NvdXJjZUJhc2U+CisgICAgICAgICAgICA8U291cmNlPiEoYmluZHBhdGgudGNsdGspPC9Tb3VyY2U+CisgICAgICAgICAgICA8VGFyZ2V0QmFzZT4kKHRjbHRrRGlyKWxpYjwvVGFyZ2V0QmFzZT4KKyAgICAgICAgICAgIDxUYXJnZXRfPnRjbFw8L1RhcmdldF8+CisgICAgICAgICAgICA8R3JvdXA+dGNsdGtfbGliPC9Hcm91cD4KKyAgICAgICAgPC9JbnN0YWxsRmlsZXM+CisKKyAgICAgICAgPEluc3RhbGxGaWxlcyBJbmNsdWRlPSIkKFB5U291cmNlUGF0aClMaWJcdGtpbnRlclwqKlwqOyQoUHlTb3VyY2VQYXRoKUxpYlxpZGxlbGliXCoqXCo7JChQeVNvdXJjZVBhdGgpTGliXHR1cnRsZWRlbW9cKipcKiIKKyAgICAgICAgICAgICAgICAgICAgICBFeGNsdWRlPSIkKFB5U291cmNlUGF0aClMaWJcKipcKi5weWM7JChQeVNvdXJjZVBhdGgpTGliXCoqXCoucHlvIj4KKyAgICAgICAgICAgIDxTb3VyY2VCYXNlPiQoUHlTb3VyY2VQYXRoKTwvU291cmNlQmFzZT4KKyAgICAgICAgICAgIDxTb3VyY2U+IShiaW5kcGF0aC5zcmMpPC9Tb3VyY2U+CisgICAgICAgICAgICA8VGFyZ2V0QmFzZT4kKFB5U291cmNlUGF0aCk8L1RhcmdldEJhc2U+CisgICAgICAgICAgICA8VGFyZ2V0Xz48L1RhcmdldF8+CisgICAgICAgICAgICA8R3JvdXA+dGtpbnRlcl9saWI8L0dyb3VwPgorICAgICAgICA8L0luc3RhbGxGaWxlcz4KKyAgICA8L0l0ZW1Hcm91cD4KKyAgICAKKyAgICA8SW1wb3J0IFByb2plY3Q9Ii4uXG1zaS50YXJnZXRzIiAvPgorPC9Qcm9qZWN0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL1Rvb2xzL21zaS90Y2x0ay90Y2x0ay53eHMgYi9Ub29scy9tc2kvdGNsdGsvdGNsdGsud3hzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgxOWZjY2IKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9tc2kvdGNsdGsvdGNsdGsud3hzCkBAIC0wLDAgKzEsNDAgQEAKK++7vzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8V2l4IHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3dpeC8yMDA2L3dpIj4KKyAgICA8UHJvZHVjdCBJZD0iKiIgTGFuZ3VhZ2U9IiEobG9jLkxDSUQpIiBOYW1lPSIhKGxvYy5UaXRsZSkiIFZlcnNpb249IiQodmFyLlZlcnNpb24pIiBNYW51ZmFjdHVyZXI9IiEobG9jLk1hbnVmYWN0dXJlcikiIFVwZ3JhZGVDb2RlPSIkKHZhci5VcGdyYWRlQ29kZSkiPgorICAgICAgICA8UGFja2FnZSBJbnN0YWxsZXJWZXJzaW9uPSIzMDAiIENvbXByZXNzZWQ9InllcyIgSW5zdGFsbFNjb3BlPSJwZXJVc2VyIiBQbGF0Zm9ybT0iJCh2YXIuUGxhdGZvcm0pIiAvPgorICAgICAgICA8TWVkaWFUZW1wbGF0ZSBFbWJlZENhYj0ieWVzIiBDb21wcmVzc2lvbkxldmVsPSJoaWdoIiAvPgorICAgICAgICAKKyAgICAgICAgPFByb3BlcnR5UmVmIElkPSJVcGdyYWRlVGFibGUiIC8+CisgICAgICAgIDxQcm9wZXJ0eVJlZiBJZD0iUkVHSVNUUllLRVkiIC8+CisgICAgICAgIAorICAgICAgICA8UHJvcGVydHkgSWQ9IlBZVEhPTl9FWEUiIFNlY3VyZT0ieWVzIj4KKyAgICAgICAgICAgIDxDb21wb25lbnRTZWFyY2ggSWQ9IlB5dGhvbkV4ZSIgR3VpZD0iJCh2YXIuUHl0aG9ud0V4ZUNvbXBvbmVudEd1aWQpIj4KKyAgICAgICAgICAgICAgICA8RmlsZVNlYXJjaCBOYW1lPSJweXRob253LmV4ZSIgLz4KKyAgICAgICAgICAgIDwvQ29tcG9uZW50U2VhcmNoPgorICAgICAgICA8L1Byb3BlcnR5PgorICAgICAgICAKKyAgICAgICAgPENvbmRpdGlvbiBNZXNzYWdlPSIhKGxvYy5Ob1B5dGhvbikiPlBZVEhPTl9FWEU8L0NvbmRpdGlvbj4KKworICAgICAgICA8RmVhdHVyZSBJZD0iRGVmYXVsdEZlYXR1cmUiIEFsbG93QWR2ZXJ0aXNlPSJubyIgVGl0bGU9IiEobG9jLlRpdGxlKSIgRGVzY3JpcHRpb249IiEobG9jLkRlc2NyaXB0aW9uKSI+CisgICAgICAgICAgICA8Q29tcG9uZW50R3JvdXBSZWYgSWQ9InRraW50ZXJfZXh0ZW5zaW9uIiAvPgorICAgICAgICAgICAgPENvbXBvbmVudEdyb3VwUmVmIElkPSJ0Y2x0a19kbGxzIiAvPgorICAgICAgICAgICAgPENvbXBvbmVudEdyb3VwUmVmIElkPSJ0Y2x0a19saWIiIC8+CisgICAgICAgICAgICA8Q29tcG9uZW50R3JvdXBSZWYgSWQ9InRraW50ZXJfbGliIiAvPgorICAgICAgICAgICAgCisgICAgICAgICAgICA8Q29tcG9uZW50IElkPSJpZGxlX3Nob3J0Y3V0IiBEaXJlY3Rvcnk9Ik1lbnVEaXIiPgorICAgICAgICAgICAgICAgIDxSZWdpc3RyeVZhbHVlIEtleVBhdGg9InllcyIgUm9vdD0iSEtNVSIgS2V5PSJbUkVHSVNUUllLRVldXElkbGUiIFR5cGU9InN0cmluZyIgVmFsdWU9IlsjTGliX2lkbGVsaWJfaWRsZS5weXddIiAvPgorICAgICAgICAgICAgICAgIDxSZW1vdmVGb2xkZXIgSWQ9IlJlbW92ZV9NZW51RGlyIiBPbj0idW5pbnN0YWxsIiAvPgorCisgICAgICAgICAgICAgICAgPFNob3J0Y3V0IElkPSJJRExFIgorICAgICAgICAgICAgICAgICAgICAgICAgICBEaXJlY3Rvcnk9Ik1lbnVEaXIiCisgICAgICAgICAgICAgICAgICAgICAgICAgIE5hbWU9IiEobG9jLlNob3J0Y3V0TmFtZSkiCisgICAgICAgICAgICAgICAgICAgICAgICAgIERlc2NyaXB0aW9uPSIhKGxvYy5TaG9ydGN1dERlc2NyaXB0aW9uKSIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgVGFyZ2V0PSJbUFlUSE9OX0VYRV0iCisgICAgICAgICAgICAgICAgICAgICAgICAgIEFyZ3VtZW50cz0nIlsjTGliX2lkbGVsaWJfaWRsZS5weXddIicKKyAgICAgICAgICAgICAgICAgICAgICAgICAgSWNvbj0iaWRsZS5leGUiPgorICAgICAgICAgICAgICAgICAgICA8SWNvbiBJZD0iaWRsZS5leGUiIFNvdXJjZUZpbGU9IiEoYmluZHBhdGguc3JjKUxpYlxpZGxlbGliXEljb25zXGlkbGUuaWNvIiAvPgorICAgICAgICAgICAgICAgIDwvU2hvcnRjdXQ+CisgICAgICAgICAgICA8L0NvbXBvbmVudD4KKyAgICAgICAgPC9GZWF0dXJlPgorICAgIDwvUHJvZHVjdD4KKzwvV2l4PgpkaWZmIC0tZ2l0IGEvVG9vbHMvbXNpL3RjbHRrL3RjbHRrX2Qud2l4cHJvaiBiL1Rvb2xzL21zaS90Y2x0ay90Y2x0a19kLndpeHByb2oKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzI2NjE5MAotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL21zaS90Y2x0ay90Y2x0a19kLndpeHByb2oKQEAgLTAsMCArMSwyOCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KKzxQcm9qZWN0IFRvb2xzVmVyc2lvbj0iNC4wIiBEZWZhdWx0VGFyZ2V0cz0iQnVpbGQiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2RldmVsb3Blci9tc2J1aWxkLzIwMDMiPgorICAgIDxQcm9wZXJ0eUdyb3VwPgorICAgICAgICA8UHJvamVjdEd1aWQ+e0VEQTFGQTVBLUUyQUEtNEVBRi1CNDlCLTg3RDk4MUNEMEYxNn08L1Byb2plY3RHdWlkPgorICAgICAgICA8U2NoZW1hVmVyc2lvbj4yLjA8L1NjaGVtYVZlcnNpb24+CisgICAgICAgIDxPdXRwdXROYW1lPnRjbHRrX2Q8L091dHB1dE5hbWU+CisgICAgICAgIDxPdXRwdXRUeXBlPlBhY2thZ2U8L091dHB1dFR5cGU+CisgICAgPC9Qcm9wZXJ0eUdyb3VwPgorICAgIDxJbXBvcnQgUHJvamVjdD0iLi5cbXNpLnByb3BzIiAvPgorICAgIDxJdGVtR3JvdXA+CisgICAgICAgIDxDb21waWxlIEluY2x1ZGU9InRjbHRrX2Qud3hzIiAvPgorICAgICAgICA8Q29tcGlsZSBJbmNsdWRlPSJ0Y2x0a19maWxlcy53eHMiIC8+CisgICAgPC9JdGVtR3JvdXA+CisgICAgPEl0ZW1Hcm91cD4KKyAgICAgICAgPFd4bFRlbXBsYXRlIEluY2x1ZGU9Iioud3hsX3RlbXBsYXRlIiAvPgorICAgIDwvSXRlbUdyb3VwPgorICAgIDxJdGVtR3JvdXA+CisgICAgICAgIDxJbnN0YWxsRmlsZXMgSW5jbHVkZT0iJCh0Y2x0a0RpciliaW5cKmcuZGxsIj4KKyAgICAgICAgICAgIDxTb3VyY2VCYXNlPiQodGNsdGtEaXIpPC9Tb3VyY2VCYXNlPgorICAgICAgICAgICAgPFNvdXJjZT4hKGJpbmRwYXRoLnRjbHRrKTwvU291cmNlPgorICAgICAgICAgICAgPFRhcmdldEJhc2U+JCh0Y2x0a0RpciliaW48L1RhcmdldEJhc2U+CisgICAgICAgICAgICA8VGFyZ2V0Xz5ETExzXDwvVGFyZ2V0Xz4KKyAgICAgICAgICAgIDxHcm91cD50Y2x0a19kbGxzX2Q8L0dyb3VwPgorICAgICAgICA8L0luc3RhbGxGaWxlcz4KKyAgICA8L0l0ZW1Hcm91cD4KKyAgICAKKyAgICA8SW1wb3J0IFByb2plY3Q9Ii4uXG1zaS50YXJnZXRzIiAvPgorPC9Qcm9qZWN0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL1Rvb2xzL21zaS90Y2x0ay90Y2x0a19kLnd4cyBiL1Rvb2xzL21zaS90Y2x0ay90Y2x0a19kLnd4cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZjUwNDhmCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvbXNpL3RjbHRrL3RjbHRrX2Qud3hzCkBAIC0wLDAgKzEsMTQgQEAKK++7vzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8V2l4IHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3dpeC8yMDA2L3dpIj4KKyAgICA8UHJvZHVjdCBJZD0iKiIgTGFuZ3VhZ2U9IiEobG9jLkxDSUQpIiBOYW1lPSIhKGxvYy5UaXRsZSkiIFZlcnNpb249IiQodmFyLlZlcnNpb24pIiBNYW51ZmFjdHVyZXI9IiEobG9jLk1hbnVmYWN0dXJlcikiIFVwZ3JhZGVDb2RlPSIkKHZhci5VcGdyYWRlQ29kZSkiPgorICAgICAgICA8UGFja2FnZSBJbnN0YWxsZXJWZXJzaW9uPSIzMDAiIENvbXByZXNzZWQ9InllcyIgSW5zdGFsbFNjb3BlPSJwZXJVc2VyIiBQbGF0Zm9ybT0iJCh2YXIuUGxhdGZvcm0pIiAvPgorICAgICAgICA8TWVkaWFUZW1wbGF0ZSBFbWJlZENhYj0ieWVzIiBDb21wcmVzc2lvbkxldmVsPSJoaWdoIiAvPgorICAgICAgICAKKyAgICAgICAgPFByb3BlcnR5UmVmIElkPSJVcGdyYWRlVGFibGUiIC8+CisgICAgICAgIAorICAgICAgICA8RmVhdHVyZSBJZD0iRGVidWdCaW5hcmllcyIgQWxsb3dBZHZlcnRpc2U9Im5vIiBUaXRsZT0iIShsb2MuVGl0bGVfZCkiIERlc2NyaXB0aW9uPSIhKGxvYy5EZXNjcmlwdGlvbl9kKSI+CisgICAgICAgICAgICA8Q29tcG9uZW50R3JvdXBSZWYgSWQ9InRraW50ZXJfZXh0ZW5zaW9uX2QiIC8+CisgICAgICAgICAgICA8Q29tcG9uZW50R3JvdXBSZWYgSWQ9InRjbHRrX2RsbHNfZCIgLz4KKyAgICAgICAgPC9GZWF0dXJlPgorICAgIDwvUHJvZHVjdD4KKzwvV2l4PgpkaWZmIC0tZ2l0IGEvVG9vbHMvbXNpL3RjbHRrL3RjbHRrX2VuLVVTLnd4bF90ZW1wbGF0ZSBiL1Rvb2xzL21zaS90Y2x0ay90Y2x0a19lbi1VUy53eGxfdGVtcGxhdGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDBmOGMxMAotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL21zaS90Y2x0ay90Y2x0a19lbi1VUy53eGxfdGVtcGxhdGUKQEAgLTAsMCArMSw4IEBACivvu788P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgorPFdpeExvY2FsaXphdGlvbiBDdWx0dXJlPSJlbi11cyIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vd2l4LzIwMDYvbG9jYWxpemF0aW9uIj4KKyAgICA8U3RyaW5nIElkPSJEZXNjcmlwdG9yIj5UY2wvVGsgU3VwcG9ydDwvU3RyaW5nPgorICAgIDxTdHJpbmcgSWQ9IlNob3J0RGVzY3JpcHRvciI+dGNsdGs8L1N0cmluZz4KKyAgICA8U3RyaW5nIElkPSJOb1B5dGhvbiI+Tm8gIShsb2MuUHJvZHVjdE5hbWUpIGluc3RhbGxhdGlvbiB3YXMgZGV0ZWN0ZWQuPC9TdHJpbmc+CisgICAgPFN0cmluZyBJZD0iU2hvcnRjdXROYW1lIj5JRExFIChQeXRob24ge3tTaG9ydFZlcnNpb259fSB7e0JpdG5lc3N9fSk8L1N0cmluZz4KKyAgICA8U3RyaW5nIElkPSJTaG9ydGN1dERlc2NyaXB0aW9uIj5MYXVuY2hlcyBJRExFLCB0aGUgaW50ZXJhY3RpdmUgZW52aXJvbm1lbnQgZm9yICEobG9jLlByb2R1Y3ROYW1lKS48L1N0cmluZz4KKzwvV2l4TG9jYWxpemF0aW9uPgpkaWZmIC0tZ2l0IGEvVG9vbHMvbXNpL3RjbHRrL3RjbHRrX2ZpbGVzLnd4cyBiL1Rvb2xzL21zaS90Y2x0ay90Y2x0a19maWxlcy53eHMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGQxYjRhOQotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL21zaS90Y2x0ay90Y2x0a19maWxlcy53eHMKQEAgLTAsMCArMSwzNSBAQAor77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzxXaXggeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vd2l4LzIwMDYvd2kiPgorICAgIDxGcmFnbWVudD4KKyAgICAgICAgPENvbXBvbmVudEdyb3VwIElkPSJ0a2ludGVyX2V4dGVuc2lvbiI+CisgICAgICAgICAgICA8Q29tcG9uZW50IElkPSJfdGtpbnRlci5weWQiIERpcmVjdG9yeT0iRExMcyIgR3VpZD0iKiI+CisgICAgICAgICAgICAgICAgPEZpbGUgTmFtZT0iX3RraW50ZXIucHlkIiBLZXlQYXRoPSJ5ZXMiIC8+CisgICAgICAgICAgICA8L0NvbXBvbmVudD4KKyAgICAgICAgICAgIDxDb21wb25lbnQgSWQ9Il90a2ludGVyLmxpYiIgRGlyZWN0b3J5PSJsaWJzIiBHdWlkPSIqIj4KKyAgICAgICAgICAgICAgICA8RmlsZSBOYW1lPSJfdGtpbnRlci5saWIiIEtleVBhdGg9InllcyIgLz4KKyAgICAgICAgICAgIDwvQ29tcG9uZW50PgorICAgICAgICA8L0NvbXBvbmVudEdyb3VwPgorICAgIDwvRnJhZ21lbnQ+CisgICAgCisgICAgPEZyYWdtZW50PgorICAgICAgICA8Q29tcG9uZW50R3JvdXAgSWQ9InRraW50ZXJfZXh0ZW5zaW9uX3N5bWJvbHMiPgorICAgICAgICAgICAgPENvbXBvbmVudCBJZD0iX3RraW50ZXIucGRiIiBEaXJlY3Rvcnk9IkRMTHMiIEd1aWQ9IioiPgorICAgICAgICAgICAgICAgIDxGaWxlIE5hbWU9Il90a2ludGVyLnBkYiIgLz4KKyAgICAgICAgICAgIDwvQ29tcG9uZW50PgorICAgICAgICA8L0NvbXBvbmVudEdyb3VwPgorICAgIDwvRnJhZ21lbnQ+CisgICAgCisgICAgPEZyYWdtZW50PgorICAgICAgICA8Q29tcG9uZW50R3JvdXAgSWQ9InRraW50ZXJfZXh0ZW5zaW9uX2QiPgorICAgICAgICAgICAgPENvbXBvbmVudCBJZD0iX3RraW50ZXJfZC5weWQiIERpcmVjdG9yeT0iRExMcyIgR3VpZD0iKiI+CisgICAgICAgICAgICAgICAgPEZpbGUgTmFtZT0iX3RraW50ZXJfZC5weWQiIC8+CisgICAgICAgICAgICA8L0NvbXBvbmVudD4KKyAgICAgICAgICAgIDxDb21wb25lbnQgSWQ9Il90a2ludGVyX2QubGliIiBEaXJlY3Rvcnk9IkRMTHMiIEd1aWQ9IioiPgorICAgICAgICAgICAgICAgIDxGaWxlIE5hbWU9Il90a2ludGVyX2QubGliIiAvPgorICAgICAgICAgICAgPC9Db21wb25lbnQ+CisgICAgICAgICAgICA8Q29tcG9uZW50IElkPSJfdGtpbnRlcl9kLnBkYiIgRGlyZWN0b3J5PSJETExzIiBHdWlkPSIqIj4KKyAgICAgICAgICAgICAgICA8RmlsZSBOYW1lPSJfdGtpbnRlcl9kLnBkYiIgLz4KKyAgICAgICAgICAgIDwvQ29tcG9uZW50PgorICAgICAgICA8L0NvbXBvbmVudEdyb3VwPgorICAgIDwvRnJhZ21lbnQ+Cis8L1dpeD4KZGlmZiAtLWdpdCBhL1Rvb2xzL21zaS90Y2x0ay90Y2x0a19wZGIud2l4cHJvaiBiL1Rvb2xzL21zaS90Y2x0ay90Y2x0a19wZGIud2l4cHJvagpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zMzcwNzk4Ci0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvbXNpL3RjbHRrL3RjbHRrX3BkYi53aXhwcm9qCkBAIC0wLDAgKzEsMTkgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Cis8UHJvamVjdCBUb29sc1ZlcnNpb249IjQuMCIgRGVmYXVsdFRhcmdldHM9IkJ1aWxkIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4KKyAgICA8UHJvcGVydHlHcm91cD4KKyAgICAgICAgPFByb2plY3RHdWlkPnswMjA1M0FGQS0xODMxLTQ5OUEtQjNFQS1EOEIyMjNEM0M0MER9PC9Qcm9qZWN0R3VpZD4KKyAgICAgICAgPFNjaGVtYVZlcnNpb24+Mi4wPC9TY2hlbWFWZXJzaW9uPgorICAgICAgICA8T3V0cHV0TmFtZT50Y2x0a19wZGI8L091dHB1dE5hbWU+CisgICAgICAgIDxPdXRwdXRUeXBlPlBhY2thZ2U8L091dHB1dFR5cGU+CisgICAgPC9Qcm9wZXJ0eUdyb3VwPgorICAgIDxJbXBvcnQgUHJvamVjdD0iLi5cbXNpLnByb3BzIiAvPgorICAgIDxJdGVtR3JvdXA+CisgICAgICAgIDxDb21waWxlIEluY2x1ZGU9InRjbHRrX3BkYi53eHMiIC8+CisgICAgICAgIDxDb21waWxlIEluY2x1ZGU9InRjbHRrX2ZpbGVzLnd4cyIgLz4KKyAgICA8L0l0ZW1Hcm91cD4KKyAgICA8SXRlbUdyb3VwPgorICAgICAgICA8V3hsVGVtcGxhdGUgSW5jbHVkZT0iKi53eGxfdGVtcGxhdGUiIC8+CisgICAgPC9JdGVtR3JvdXA+CisgICAgCisgICAgPEltcG9ydCBQcm9qZWN0PSIuLlxtc2kudGFyZ2V0cyIgLz4KKzwvUHJvamVjdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9Ub29scy9tc2kvdGNsdGsvdGNsdGtfcGRiLnd4cyBiL1Rvb2xzL21zaS90Y2x0ay90Y2x0a19wZGIud3hzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc1YzYyYmIKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9tc2kvdGNsdGsvdGNsdGtfcGRiLnd4cwpAQCAtMCwwICsxLDEzIEBACivvu788P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPFdpeCB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS93aXgvMjAwNi93aSI+CisgICAgPFByb2R1Y3QgSWQ9IioiIExhbmd1YWdlPSIhKGxvYy5MQ0lEKSIgTmFtZT0iIShsb2MuVGl0bGUpIiBWZXJzaW9uPSIkKHZhci5WZXJzaW9uKSIgTWFudWZhY3R1cmVyPSIhKGxvYy5NYW51ZmFjdHVyZXIpIiBVcGdyYWRlQ29kZT0iJCh2YXIuVXBncmFkZUNvZGUpIj4KKyAgICAgICAgPFBhY2thZ2UgSW5zdGFsbGVyVmVyc2lvbj0iMzAwIiBDb21wcmVzc2VkPSJ5ZXMiIEluc3RhbGxTY29wZT0icGVyVXNlciIgUGxhdGZvcm09IiQodmFyLlBsYXRmb3JtKSIgLz4KKyAgICAgICAgPE1lZGlhVGVtcGxhdGUgRW1iZWRDYWI9InllcyIgQ29tcHJlc3Npb25MZXZlbD0iaGlnaCIgLz4KKyAgICAgICAgCisgICAgICAgIDxQcm9wZXJ0eVJlZiBJZD0iVXBncmFkZVRhYmxlIiAvPgorICAgICAgICAKKyAgICAgICAgPEZlYXR1cmUgSWQ9IlN5bWJvbHMiIEFsbG93QWR2ZXJ0aXNlPSJubyIgVGl0bGU9IiEobG9jLlRpdGxlUGRiKSIgRGVzY3JpcHRpb249IiEobG9jLkRlc2NyaXB0aW9uUGRiKSI+CisgICAgICAgICAgICA8Q29tcG9uZW50R3JvdXBSZWYgSWQ9InRraW50ZXJfZXh0ZW5zaW9uX3N5bWJvbHMiIC8+CisgICAgICAgIDwvRmVhdHVyZT4KKyAgICA8L1Byb2R1Y3Q+Cis8L1dpeD4KZGlmZiAtLWdpdCBhL1Rvb2xzL21zaS90ZXN0L3Rlc3Qud2l4cHJvaiBiL1Rvb2xzL21zaS90ZXN0L3Rlc3Qud2l4cHJvagpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44MzQ3ZTNmCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvbXNpL3Rlc3QvdGVzdC53aXhwcm9qCkBAIC0wLDAgKzEsMjkgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Cis8UHJvamVjdCBUb29sc1ZlcnNpb249IjQuMCIgRGVmYXVsdFRhcmdldHM9IkJ1aWxkIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4KKyAgICA8UHJvcGVydHlHcm91cD4KKyAgICAgICAgPFByb2plY3RHdWlkPntERTBCN0NDMi00MzU4LTQxMzEtQjNGNC1DMzFDN0YyQ0Q0Njh9PC9Qcm9qZWN0R3VpZD4KKyAgICAgICAgPFNjaGVtYVZlcnNpb24+Mi4wPC9TY2hlbWFWZXJzaW9uPgorICAgICAgICA8T3V0cHV0TmFtZT50ZXN0PC9PdXRwdXROYW1lPgorICAgICAgICA8T3V0cHV0VHlwZT5QYWNrYWdlPC9PdXRwdXRUeXBlPgorICAgIDwvUHJvcGVydHlHcm91cD4KKyAgICA8SW1wb3J0IFByb2plY3Q9Ii4uXG1zaS5wcm9wcyIgLz4KKyAgICA8SXRlbUdyb3VwPgorICAgICAgICA8Q29tcGlsZSBJbmNsdWRlPSJ0ZXN0Lnd4cyIgLz4KKyAgICAgICAgPENvbXBpbGUgSW5jbHVkZT0idGVzdF9maWxlcy53eHMiIC8+CisgICAgPC9JdGVtR3JvdXA+CisgICAgPEl0ZW1Hcm91cD4KKyAgICAgICAgPEVtYmVkZGVkUmVzb3VyY2UgSW5jbHVkZT0iKi53eGwiIC8+CisgICAgPC9JdGVtR3JvdXA+CisgICAgPEl0ZW1Hcm91cD4KKyAgICAgICAgPEluc3RhbGxGaWxlcyBJbmNsdWRlPSIkKFB5U291cmNlUGF0aClMaWJcdGVzdFwqKlwqIgorICAgICAgICAgICAgICAgICAgICAgIEV4Y2x1ZGU9IiQoUHlTb3VyY2VQYXRoKUxpYlwqKlwqLnB5YzskKFB5U291cmNlUGF0aClMaWJcKipcKi5weW8iPgorICAgICAgICAgICAgPFNvdXJjZUJhc2U+JChQeVNvdXJjZVBhdGgpPC9Tb3VyY2VCYXNlPgorICAgICAgICAgICAgPFNvdXJjZT4hKGJpbmRwYXRoLnNyYyk8L1NvdXJjZT4KKyAgICAgICAgICAgIDxUYXJnZXRCYXNlPiQoUHlTb3VyY2VQYXRoKTwvVGFyZ2V0QmFzZT4KKyAgICAgICAgICAgIDxUYXJnZXRfPjwvVGFyZ2V0Xz4KKyAgICAgICAgICAgIDxHcm91cD50ZXN0X3B5PC9Hcm91cD4KKyAgICAgICAgPC9JbnN0YWxsRmlsZXM+CisgICAgPC9JdGVtR3JvdXA+CisgICAgCisgICAgPEltcG9ydCBQcm9qZWN0PSIuLlxtc2kudGFyZ2V0cyIgLz4KKzwvUHJvamVjdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9Ub29scy9tc2kvdGVzdC90ZXN0Lnd4cyBiL1Rvb2xzL21zaS90ZXN0L3Rlc3Qud3hzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRlNDc3ODUKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9tc2kvdGVzdC90ZXN0Lnd4cwpAQCAtMCwwICsxLDE1IEBACivvu788P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPFdpeCB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS93aXgvMjAwNi93aSI+CisgICAgPFByb2R1Y3QgSWQ9IioiIExhbmd1YWdlPSIhKGxvYy5MQ0lEKSIgTmFtZT0iIShsb2MuVGl0bGUpIiBWZXJzaW9uPSIkKHZhci5WZXJzaW9uKSIgTWFudWZhY3R1cmVyPSIhKGxvYy5NYW51ZmFjdHVyZXIpIiBVcGdyYWRlQ29kZT0iJCh2YXIuVXBncmFkZUNvZGUpIj4KKyAgICAgICAgPFBhY2thZ2UgSW5zdGFsbGVyVmVyc2lvbj0iMzAwIiBDb21wcmVzc2VkPSJ5ZXMiIEluc3RhbGxTY29wZT0icGVyVXNlciIgUGxhdGZvcm09IiQodmFyLlBsYXRmb3JtKSIgLz4KKyAgICAgICAgPE1lZGlhVGVtcGxhdGUgRW1iZWRDYWI9InllcyIgQ29tcHJlc3Npb25MZXZlbD0iaGlnaCIgLz4KKyAgICAgICAgCisgICAgICAgIDxQcm9wZXJ0eVJlZiBJZD0iVXBncmFkZVRhYmxlIiAvPgorICAgICAgICA8UHJvcGVydHlSZWYgSWQ9IlJFR0lTVFJZS0VZIiAvPgorICAgICAgICAKKyAgICAgICAgPEZlYXR1cmUgSWQ9IkRlZmF1bHRGZWF0dXJlIiBBbGxvd0FkdmVydGlzZT0ibm8iIFRpdGxlPSIhKGxvYy5UaXRsZSkiIERlc2NyaXB0aW9uPSIhKGxvYy5EZXNjcmlwdGlvbikiPgorICAgICAgICAgICAgPENvbXBvbmVudEdyb3VwUmVmIElkPSJ0ZXN0X3B5IiAvPgorICAgICAgICAgICAgPENvbXBvbmVudEdyb3VwUmVmIElkPSJ0ZXN0X2V4dGVuc2lvbnMiIC8+CisgICAgICAgIDwvRmVhdHVyZT4KKyAgICA8L1Byb2R1Y3Q+Cis8L1dpeD4KZGlmZiAtLWdpdCBhL1Rvb2xzL21zaS90ZXN0L3Rlc3RfZC53aXhwcm9qIGIvVG9vbHMvbXNpL3Rlc3QvdGVzdF9kLndpeHByb2oKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzNiMDRiZQotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL21zaS90ZXN0L3Rlc3RfZC53aXhwcm9qCkBAIC0wLDAgKzEsMTkgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Cis8UHJvamVjdCBUb29sc1ZlcnNpb249IjQuMCIgRGVmYXVsdFRhcmdldHM9IkJ1aWxkIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4KKyAgICA8UHJvcGVydHlHcm91cD4KKyAgICAgICAgPFByb2plY3RHdWlkPns0MUY1QUU4RC0yNENELTREMDMtQkU3NS1BQTZGN0ZBQjQwOTd9PC9Qcm9qZWN0R3VpZD4KKyAgICAgICAgPFNjaGVtYVZlcnNpb24+Mi4wPC9TY2hlbWFWZXJzaW9uPgorICAgICAgICA8T3V0cHV0TmFtZT50ZXN0X2Q8L091dHB1dE5hbWU+CisgICAgICAgIDxPdXRwdXRUeXBlPlBhY2thZ2U8L091dHB1dFR5cGU+CisgICAgPC9Qcm9wZXJ0eUdyb3VwPgorICAgIDxJbXBvcnQgUHJvamVjdD0iLi5cbXNpLnByb3BzIiAvPgorICAgIDxJdGVtR3JvdXA+CisgICAgICAgIDxDb21waWxlIEluY2x1ZGU9InRlc3RfZC53eHMiIC8+CisgICAgICAgIDxDb21waWxlIEluY2x1ZGU9InRlc3RfZmlsZXMud3hzIiAvPgorICAgIDwvSXRlbUdyb3VwPgorICAgIDxJdGVtR3JvdXA+CisgICAgICAgIDxFbWJlZGRlZFJlc291cmNlIEluY2x1ZGU9Iioud3hsIiAvPgorICAgIDwvSXRlbUdyb3VwPgorICAgIAorICAgIDxJbXBvcnQgUHJvamVjdD0iLi5cbXNpLnRhcmdldHMiIC8+Cis8L1Byb2plY3Q+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvVG9vbHMvbXNpL3Rlc3QvdGVzdF9kLnd4cyBiL1Rvb2xzL21zaS90ZXN0L3Rlc3RfZC53eHMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTI1YWZkZAotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL21zaS90ZXN0L3Rlc3RfZC53eHMKQEAgLTAsMCArMSwxMyBAQAor77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzxXaXggeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vd2l4LzIwMDYvd2kiPgorICAgIDxQcm9kdWN0IElkPSIqIiBMYW5ndWFnZT0iIShsb2MuTENJRCkiIE5hbWU9IiEobG9jLlRpdGxlKSIgVmVyc2lvbj0iJCh2YXIuVmVyc2lvbikiIE1hbnVmYWN0dXJlcj0iIShsb2MuTWFudWZhY3R1cmVyKSIgVXBncmFkZUNvZGU9IiQodmFyLlVwZ3JhZGVDb2RlKSI+CisgICAgICAgIDxQYWNrYWdlIEluc3RhbGxlclZlcnNpb249IjMwMCIgQ29tcHJlc3NlZD0ieWVzIiBJbnN0YWxsU2NvcGU9InBlclVzZXIiIFBsYXRmb3JtPSIkKHZhci5QbGF0Zm9ybSkiIC8+CisgICAgICAgIDxNZWRpYVRlbXBsYXRlIEVtYmVkQ2FiPSJ5ZXMiIENvbXByZXNzaW9uTGV2ZWw9ImhpZ2giIC8+CisgICAgICAgIAorICAgICAgICA8UHJvcGVydHlSZWYgSWQ9IlVwZ3JhZGVUYWJsZSIgLz4KKyAgICAgICAgCisgICAgICAgIDxGZWF0dXJlIElkPSJEZWJ1Z0JpbmFyaWVzIiBBbGxvd0FkdmVydGlzZT0ibm8iIFRpdGxlPSIhKGxvYy5UaXRsZV9kKSIgRGVzY3JpcHRpb249IiEobG9jLkRlc2NyaXB0aW9uX2QpIj4KKyAgICAgICAgICAgIDxDb21wb25lbnRHcm91cFJlZiBJZD0idGVzdF9leHRlbnNpb25zX2QiIC8+CisgICAgICAgIDwvRmVhdHVyZT4KKyAgICA8L1Byb2R1Y3Q+Cis8L1dpeD4KZGlmZiAtLWdpdCBhL1Rvb2xzL21zaS90ZXN0L3Rlc3RfZW4tVVMud3hsIGIvVG9vbHMvbXNpL3Rlc3QvdGVzdF9lbi1VUy53eGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTYxNWM3YQotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL21zaS90ZXN0L3Rlc3RfZW4tVVMud3hsCkBAIC0wLDAgKzEsNyBAQAor77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KKzxXaXhMb2NhbGl6YXRpb24gQ3VsdHVyZT0iZW4tdXMiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3dpeC8yMDA2L2xvY2FsaXphdGlvbiI+CisgICAgPFN0cmluZyBJZD0iRGVzY3JpcHRvciI+VGVzdCBTdWl0ZTwvU3RyaW5nPgorICAgIDxTdHJpbmcgSWQ9IlNob3J0RGVzY3JpcHRvciI+dGVzdDwvU3RyaW5nPgorICAgIDxTdHJpbmcgSWQ9Ik5hdGl2ZU1vZHVsZXNUaXRsZSI+IShsb2MuRnVsbFByb2R1Y3ROYW1lKSBuYXRpdmUgbGlidGVzdDwvU3RyaW5nPgorICAgIDxTdHJpbmcgSWQ9Ik5hdGl2ZU1vZHVsZXNEZXNjcmlwdGlvbiI+IShsb2MuUHJvZHVjdE5hbWUpIE5hdGl2ZSBUZXN0IE1vZHVsZXM8L1N0cmluZz4KKzwvV2l4TG9jYWxpemF0aW9uPgpkaWZmIC0tZ2l0IGEvVG9vbHMvbXNpL3Rlc3QvdGVzdF9maWxlcy53eHMgYi9Ub29scy9tc2kvdGVzdC90ZXN0X2ZpbGVzLnd4cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yZDVmNTkzCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvbXNpL3Rlc3QvdGVzdF9maWxlcy53eHMKQEAgLTAsMCArMSw2NSBAQAor77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzxXaXggeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vd2l4LzIwMDYvd2kiPgorICAgIDxGcmFnbWVudD4KKyAgICAgICAgPENvbXBvbmVudEdyb3VwIElkPSJ0ZXN0X2V4dGVuc2lvbnMiPgorICAgICAgICAgICAgPENvbXBvbmVudCBJZD0iX3Rlc3RjYXBpLnB5ZCIgRGlyZWN0b3J5PSJETExzIiBHdWlkPSIqIj4KKyAgICAgICAgICAgICAgICA8RmlsZSBJZD0iX3Rlc3RjYXBpLnB5ZCIgTmFtZT0iX3Rlc3RjYXBpLnB5ZCIgS2V5UGF0aD0ieWVzIiAvPgorICAgICAgICAgICAgPC9Db21wb25lbnQ+CisgICAgICAgICAgICA8Q29tcG9uZW50IElkPSJfY3R5cGVzX3Rlc3QucHlkIiBEaXJlY3Rvcnk9IkRMTHMiIEd1aWQ9IioiPgorICAgICAgICAgICAgICAgIDxGaWxlIElkPSJfY3R5cGVzX3Rlc3QucHlkIiBOYW1lPSJfY3R5cGVzX3Rlc3QucHlkIiBLZXlQYXRoPSJ5ZXMiIC8+CisgICAgICAgICAgICA8L0NvbXBvbmVudD4KKyAgICAgICAgICAgIDxDb21wb25lbnQgSWQ9Il90ZXN0YnVmZmVyLnB5ZCIgRGlyZWN0b3J5PSJETExzIiBHdWlkPSIqIj4KKyAgICAgICAgICAgICAgICA8RmlsZSBJZD0iX3Rlc3RidWZmZXIucHlkIiBOYW1lPSJfdGVzdGJ1ZmZlci5weWQiIEtleVBhdGg9InllcyIgLz4KKyAgICAgICAgICAgIDwvQ29tcG9uZW50PgorICAgICAgICAgICAgPENvbXBvbmVudCBJZD0iX3Rlc3RpbXBvcnRtdWx0aXBsZS5weWQiIERpcmVjdG9yeT0iRExMcyIgR3VpZD0iKiI+CisgICAgICAgICAgICAgICAgPEZpbGUgSWQ9Il90ZXN0aW1wb3J0bXVsdGlwbGUucHlkIiBOYW1lPSJfdGVzdGltcG9ydG11bHRpcGxlLnB5ZCIgS2V5UGF0aD0ieWVzIiAvPgorICAgICAgICAgICAgPC9Db21wb25lbnQ+CisgICAgICAgIDwvQ29tcG9uZW50R3JvdXA+CisgICAgPC9GcmFnbWVudD4KKyAgICAKKyAgICA8RnJhZ21lbnQ+CisgICAgICAgIDxDb21wb25lbnRHcm91cCBJZD0idGVzdF9leHRlbnNpb25zX3N5bWJvbHMiPgorICAgICAgICAgICAgPENvbXBvbmVudCBJZD0iX3Rlc3RjYXBpLnBkYiIgRGlyZWN0b3J5PSJETExzIiBHdWlkPSIqIj4KKyAgICAgICAgICAgICAgICA8RmlsZSBJZD0iX3Rlc3RjYXBpLnBkYiIgTmFtZT0iX3Rlc3RjYXBpLnBkYiIgLz4KKyAgICAgICAgICAgIDwvQ29tcG9uZW50PgorICAgICAgICAgICAgPENvbXBvbmVudCBJZD0iX2N0eXBlc190ZXN0LnBkYiIgRGlyZWN0b3J5PSJETExzIiBHdWlkPSIqIj4KKyAgICAgICAgICAgICAgICA8RmlsZSBJZD0iX2N0eXBlc190ZXN0LnBkYiIgTmFtZT0iX2N0eXBlc190ZXN0LnBkYiIgLz4KKyAgICAgICAgICAgIDwvQ29tcG9uZW50PgorICAgICAgICAgICAgPENvbXBvbmVudCBJZD0iX3Rlc3RidWZmZXIucGRiIiBEaXJlY3Rvcnk9IkRMTHMiIEd1aWQ9IioiPgorICAgICAgICAgICAgICAgIDxGaWxlIElkPSJfdGVzdGJ1ZmZlci5wZGIiIE5hbWU9Il90ZXN0YnVmZmVyLnBkYiIgLz4KKyAgICAgICAgICAgIDwvQ29tcG9uZW50PgorICAgICAgICAgICAgPENvbXBvbmVudCBJZD0iX3Rlc3RpbXBvcnRtdWx0aXBsZS5wZGIiIERpcmVjdG9yeT0iRExMcyIgR3VpZD0iKiI+CisgICAgICAgICAgICAgICAgPEZpbGUgSWQ9Il90ZXN0aW1wb3J0bXVsdGlwbGUucGRiIiBOYW1lPSJfdGVzdGltcG9ydG11bHRpcGxlLnBkYiIgLz4KKyAgICAgICAgICAgIDwvQ29tcG9uZW50PgorICAgICAgICA8L0NvbXBvbmVudEdyb3VwPgorICAgIDwvRnJhZ21lbnQ+CisgICAgCisgICAgPEZyYWdtZW50PgorICAgICAgICA8Q29tcG9uZW50R3JvdXAgSWQ9InRlc3RfZXh0ZW5zaW9uc19kIj4KKyAgICAgICAgICAgIDxDb21wb25lbnQgSWQ9Il90ZXN0Y2FwaV9kLnB5ZCIgRGlyZWN0b3J5PSJETExzIiBHdWlkPSIqIj4KKyAgICAgICAgICAgICAgICA8RmlsZSBJZD0iX3Rlc3RjYXBpX2QucHlkIiBOYW1lPSJfdGVzdGNhcGlfZC5weWQiIC8+CisgICAgICAgICAgICA8L0NvbXBvbmVudD4KKyAgICAgICAgICAgIDxDb21wb25lbnQgSWQ9Il9jdHlwZXNfdGVzdF9kLnB5ZCIgRGlyZWN0b3J5PSJETExzIiBHdWlkPSIqIj4KKyAgICAgICAgICAgICAgICA8RmlsZSBJZD0iX2N0eXBlc190ZXN0X2QucHlkIiBOYW1lPSJfY3R5cGVzX3Rlc3RfZC5weWQiIC8+CisgICAgICAgICAgICA8L0NvbXBvbmVudD4KKyAgICAgICAgICAgIDxDb21wb25lbnQgSWQ9Il90ZXN0YnVmZmVyX2QucHlkIiBEaXJlY3Rvcnk9IkRMTHMiIEd1aWQ9IioiPgorICAgICAgICAgICAgICAgIDxGaWxlIElkPSJfdGVzdGJ1ZmZlcl9kLnB5ZCIgTmFtZT0iX3Rlc3RidWZmZXJfZC5weWQiIC8+CisgICAgICAgICAgICA8L0NvbXBvbmVudD4KKyAgICAgICAgICAgIDxDb21wb25lbnQgSWQ9Il90ZXN0aW1wb3J0bXVsdGlwbGVfZC5weWQiIERpcmVjdG9yeT0iRExMcyIgR3VpZD0iKiI+CisgICAgICAgICAgICAgICAgPEZpbGUgSWQ9Il90ZXN0aW1wb3J0bXVsdGlwbGVfZC5weWQiIE5hbWU9Il90ZXN0aW1wb3J0bXVsdGlwbGVfZC5weWQiIC8+CisgICAgICAgICAgICA8L0NvbXBvbmVudD4KKyAgICAgICAgICAgIDxDb21wb25lbnQgSWQ9Il90ZXN0Y2FwaV9kLnBkYiIgRGlyZWN0b3J5PSJETExzIiBHdWlkPSIqIj4KKyAgICAgICAgICAgICAgICA8RmlsZSBJZD0iX3Rlc3RjYXBpX2QucGRiIiBOYW1lPSJfdGVzdGNhcGlfZC5wZGIiIC8+CisgICAgICAgICAgICA8L0NvbXBvbmVudD4KKyAgICAgICAgICAgIDxDb21wb25lbnQgSWQ9Il9jdHlwZXNfdGVzdF9kLnBkYiIgRGlyZWN0b3J5PSJETExzIiBHdWlkPSIqIj4KKyAgICAgICAgICAgICAgICA8RmlsZSBJZD0iX2N0eXBlc190ZXN0X2QucGRiIiBOYW1lPSJfY3R5cGVzX3Rlc3RfZC5wZGIiIC8+CisgICAgICAgICAgICA8L0NvbXBvbmVudD4KKyAgICAgICAgICAgIDxDb21wb25lbnQgSWQ9Il90ZXN0YnVmZmVyX2QucGRiIiBEaXJlY3Rvcnk9IkRMTHMiIEd1aWQ9IioiPgorICAgICAgICAgICAgICAgIDxGaWxlIElkPSJfdGVzdGJ1ZmZlcl9kLnBkYiIgTmFtZT0iX3Rlc3RidWZmZXJfZC5wZGIiIC8+CisgICAgICAgICAgICA8L0NvbXBvbmVudD4KKyAgICAgICAgICAgIDxDb21wb25lbnQgSWQ9Il90ZXN0aW1wb3J0bXVsdGlwbGVfZC5wZGIiIERpcmVjdG9yeT0iRExMcyIgR3VpZD0iKiI+CisgICAgICAgICAgICAgICAgPEZpbGUgSWQ9Il90ZXN0aW1wb3J0bXVsdGlwbGVfZC5wZGIiIE5hbWU9Il90ZXN0aW1wb3J0bXVsdGlwbGVfZC5wZGIiIC8+CisgICAgICAgICAgICA8L0NvbXBvbmVudD4KKyAgICAgICAgPC9Db21wb25lbnRHcm91cD4KKyAgICA8L0ZyYWdtZW50PgorPC9XaXg+CmRpZmYgLS1naXQgYS9Ub29scy9tc2kvdGVzdC90ZXN0X3BkYi53aXhwcm9qIGIvVG9vbHMvbXNpL3Rlc3QvdGVzdF9wZGIud2l4cHJvagpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45NjVmMGVkCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvbXNpL3Rlc3QvdGVzdF9wZGIud2l4cHJvagpAQCAtMCwwICsxLDE5IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgorPFByb2plY3QgVG9vbHNWZXJzaW9uPSI0LjAiIERlZmF1bHRUYXJnZXRzPSJCdWlsZCIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+CisgICAgPFByb3BlcnR5R3JvdXA+CisgICAgICAgIDxQcm9qZWN0R3VpZD57N0NGNDhBREQtQ0ZBQS00OTlGLTlBMDUtQkExODQ0MEEzMzQ0fTwvUHJvamVjdEd1aWQ+CisgICAgICAgIDxTY2hlbWFWZXJzaW9uPjIuMDwvU2NoZW1hVmVyc2lvbj4KKyAgICAgICAgPE91dHB1dE5hbWU+dGVzdF9wZGI8L091dHB1dE5hbWU+CisgICAgICAgIDxPdXRwdXRUeXBlPlBhY2thZ2U8L091dHB1dFR5cGU+CisgICAgPC9Qcm9wZXJ0eUdyb3VwPgorICAgIDxJbXBvcnQgUHJvamVjdD0iLi5cbXNpLnByb3BzIiAvPgorICAgIDxJdGVtR3JvdXA+CisgICAgICAgIDxDb21waWxlIEluY2x1ZGU9InRlc3RfcGRiLnd4cyIgLz4KKyAgICAgICAgPENvbXBpbGUgSW5jbHVkZT0idGVzdF9maWxlcy53eHMiIC8+CisgICAgPC9JdGVtR3JvdXA+CisgICAgPEl0ZW1Hcm91cD4KKyAgICAgICAgPEVtYmVkZGVkUmVzb3VyY2UgSW5jbHVkZT0iKi53eGwiIC8+CisgICAgPC9JdGVtR3JvdXA+CisgICAgCisgICAgPEltcG9ydCBQcm9qZWN0PSIuLlxtc2kudGFyZ2V0cyIgLz4KKzwvUHJvamVjdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9Ub29scy9tc2kvdGVzdC90ZXN0X3BkYi53eHMgYi9Ub29scy9tc2kvdGVzdC90ZXN0X3BkYi53eHMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTUxMGE2ZgotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL21zaS90ZXN0L3Rlc3RfcGRiLnd4cwpAQCAtMCwwICsxLDEzIEBACivvu788P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPFdpeCB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS93aXgvMjAwNi93aSI+CisgICAgPFByb2R1Y3QgSWQ9IioiIExhbmd1YWdlPSIhKGxvYy5MQ0lEKSIgTmFtZT0iIShsb2MuVGl0bGUpIiBWZXJzaW9uPSIkKHZhci5WZXJzaW9uKSIgTWFudWZhY3R1cmVyPSIhKGxvYy5NYW51ZmFjdHVyZXIpIiBVcGdyYWRlQ29kZT0iJCh2YXIuVXBncmFkZUNvZGUpIj4KKyAgICAgICAgPFBhY2thZ2UgSW5zdGFsbGVyVmVyc2lvbj0iMzAwIiBDb21wcmVzc2VkPSJ5ZXMiIEluc3RhbGxTY29wZT0icGVyVXNlciIgUGxhdGZvcm09IiQodmFyLlBsYXRmb3JtKSIgLz4KKyAgICAgICAgPE1lZGlhVGVtcGxhdGUgRW1iZWRDYWI9InllcyIgQ29tcHJlc3Npb25MZXZlbD0iaGlnaCIgLz4KKyAgICAgICAgCisgICAgICAgIDxQcm9wZXJ0eVJlZiBJZD0iVXBncmFkZVRhYmxlIiAvPgorICAgICAgICAKKyAgICAgICAgPEZlYXR1cmUgSWQ9IlN5bWJvbHMiIEFsbG93QWR2ZXJ0aXNlPSJubyIgVGl0bGU9IiEobG9jLlRpdGxlUGRiKSIgRGVzY3JpcHRpb249IiEobG9jLkRlc2NyaXB0aW9uUGRiKSI+CisgICAgICAgICAgICA8Q29tcG9uZW50R3JvdXBSZWYgSWQ9InRlc3RfZXh0ZW5zaW9uc19zeW1ib2xzIiAvPgorICAgICAgICA8L0ZlYXR1cmU+CisgICAgPC9Qcm9kdWN0PgorPC9XaXg+CmRpZmYgLS1naXQgYS9Ub29scy9tc2kvdGVzdHJlbGVhc2UuYmF0IGIvVG9vbHMvbXNpL3Rlc3RyZWxlYXNlLmJhdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41YzllMDE1Ci0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvbXNpL3Rlc3RyZWxlYXNlLmJhdApAQCAtMCwwICsxLDEwMCBAQAorQHNldGxvY2FsCitAZWNobyBvZmYKKworc2V0IEQ9JX5kcDAKK3NldCBQQ0JVSUxEPSVEJS4uXC4uXFBDQnVpbGRcCisKK3NldCBUQVJHRVRESVI9JVRFTVAlCitzZXQgVEVTVFg4Nj0KK3NldCBURVNUWDY0PQorc2V0IFRFU1RBTExVU0VSPQorc2V0IFRFU1RQRVJVU0VSPQorCis6Q2hlY2tPcHRzCitpZiAiJTEiIEVRVSAiLWgiIGdvdG8gSGVscAoraWYgIiUxIiBFUVUgIi14ODYiIChzZXQgVEVTVFg4Nj0xKSAmJiBzaGlmdCAmJiBnb3RvIENoZWNrT3B0cworaWYgIiUxIiBFUVUgIi14NjQiIChzZXQgVEVTVFg2ND0xKSAmJiBzaGlmdCAmJiBnb3RvIENoZWNrT3B0cworaWYgIiUxIiBFUVUgIi10IiAoc2V0IFRBUkdFVERJUj0lfjIpICYmIHNoaWZ0ICYmIHNoaWZ0ICYmIGdvdG8gQ2hlY2tPcHRzCitpZiAiJTEiIEVRVSAiLS10YXJnZXQiIChzZXQgVEFSR0VURElSPSV+MikgJiYgc2hpZnQgJiYgc2hpZnQgJiYgZ290byBDaGVja09wdHMKK2lmICIlMSIgRVFVICItYSIgKHNldCBURVNUQUxMVVNFUj0xKSAmJiBzaGlmdCAmJiBnb3RvIENoZWNrT3B0cworaWYgIiUxIiBFUVUgIi0tYWxsdXNlciIgKHNldCBURVNUQUxMVVNFUj0xKSAmJiBzaGlmdCAmJiBnb3RvIENoZWNrT3B0cworaWYgIiUxIiBFUVUgIi1wIiAoc2V0IFRFU1RQRVJVU0VSPTEpICYmIHNoaWZ0ICYmIGdvdG8gQ2hlY2tPcHRzCitpZiAiJTEiIEVRVSAiLS1wZXJ1c2VyIiAoc2V0IFRFU1RQRVJVU0VSPTEpICYmIHNoaWZ0ICYmIGdvdG8gQ2hlY2tPcHRzCisKK2lmIG5vdCBkZWZpbmVkIFRFU1RYODYgaWYgbm90IGRlZmluZWQgVEVTVFg2NCAoc2V0IFRFU1RYODY9MSkgJiYgKHNldCBURVNUWDY0PTEpCitpZiBub3QgZGVmaW5lZCBURVNUQUxMVVNFUiBpZiBub3QgZGVmaW5lZCBURVNUUEVSVVNFUiAoc2V0IFRFU1RBTExVU0VSPTEpICYmIChzZXQgVEVTVFBFUlVTRVI9MSkKKworCitpZiBkZWZpbmVkIFRFU1RYODYgKAorICAgIGZvciAlJWYgaW4gKCIlUENCVUlMRCV3aW4zMlxlbi11c1wqLmV4ZSIpIGRvICgKKyAgICAgICAgaWYgZGVmaW5lZCBURVNUQUxMVVNFUiBjYWxsIDp0ZXN0ICIlJX5mZiIgIiVUQVJHRVRESVIlXCUlfm5mLWFsbHVzZXIiICJJbnN0YWxsQWxsVXNlcnM9MSBDb21waWxlQWxsPTEiCisgICAgICAgIGlmIGVycm9ybGV2ZWwgMSBleGl0IC9CCisgICAgICAgIGlmIGRlZmluZWQgVEVTVFBFUlVTRVIgY2FsbCA6dGVzdCAiJSV+ZmYiICIlVEFSR0VURElSJVwlJX5uZi1wZXJ1c2VyIiAiSW5zdGFsbEFsbFVzZXJzPTAgQ29tcGlsZUFsbD0wIgorICAgICAgICBpZiBlcnJvcmxldmVsIDEgZXhpdCAvQgorICAgICkKKykKKworaWYgZGVmaW5lZCBURVNUWDY0ICgKKyAgICBmb3IgJSVmIGluICgiJVBDQlVJTEQlYW1kNjRcZW4tdXNcKi5leGUiKSBkbyAoCisgICAgICAgIGlmIGRlZmluZWQgVEVTVEFMTFVTRVIgY2FsbCA6dGVzdCAiJSV+ZmYiICIlVEFSR0VURElSJVwlJX5uZi1hbGx1c2VyIiAiSW5zdGFsbEFsbFVzZXJzPTEgQ29tcGlsZUFsbD0xIgorICAgICAgICBpZiBlcnJvcmxldmVsIDEgZXhpdCAvQgorICAgICAgICBpZiBkZWZpbmVkIFRFU1RQRVJVU0VSIGNhbGwgOnRlc3QgIiUlfmZmIiAiJVRBUkdFVERJUiVcJSV+bmYtcGVydXNlciIgIkluc3RhbGxBbGxVc2Vycz0wIENvbXBpbGVBbGw9MCIKKyAgICAgICAgaWYgZXJyb3JsZXZlbCAxIGV4aXQgL0IKKyAgICApCispCisKK2V4aXQgL0IgMAorCis6dGVzdAorQHNldGxvY2FsCitAZWNobyBvbgorCitAaWYgbm90IGV4aXN0ICIlfjEiIGV4aXQgL0IgMQorCitAc2V0IEVYSVRDT0RFPTAKK0BlY2hvIEluc3RhbGxpbmcgJTEgaW50byAlMgorIiV+MSIgL3Bhc3NpdmUgL2xvZyAiJX4yXGluc3RhbGxcbG9nLnR4dCIgVGFyZ2V0RGlyPSIlfjJcUHl0aG9uIiBJbmNsdWRlX2RlYnVnPTEgSW5jbHVkZV9zeW1ib2xzPTEgJX4zCisKK0BpZiBub3QgZXJyb3JsZXZlbCAxICgKKyAgICBAZWNobyBQcmludGluZyB2ZXJzaW9uCisgICAgIiV+MlxQeXRob25ccHl0aG9uLmV4ZSIgLWMgImltcG9ydCBzeXM7IHByaW50KHN5cy52ZXJzaW9uKSIgPiAiJX4yXHZlcnNpb24udHh0IiAyPiYxCispCitAaWYgbm90IGVycm9ybGV2ZWwgMSAoCisgICAgQGVjaG8gSW5zdGFsbGluZyBwYWNrYWdlCisgICAgIiV+MlxQeXRob25ccHl0aG9uLmV4ZSIgLW0gcGlwIGluc3RhbGwgYXp1cmUgPiAiJX4yXHBpcC50eHQiIDI+JjEKKyAgICBAaWYgbm90IGVycm9ybGV2ZWwgMSAoCisgICAgICAgICIlfjJcUHl0aG9uXHB5dGhvbi5leGUiIC1tIHBpcCB1bmluc3RhbGwgLXkgYXp1cmUgcHl0aG9uLWRhdGV1dGlsIHNpeCA+PiAiJX4yXHBpcC50eHQiIDI+JjEKKyAgICApCispCitAaWYgbm90IGVycm9ybGV2ZWwgMSAoCisgICAgQGVjaG8gVGVzdGluZyBUY2wvdGsKKyAgICBAc2V0IFRDTF9MSUJSQVJZPSV+MlxQeXRob25cdGNsXHRjbDguNgorICAgICIlfjJcUHl0aG9uXHB5dGhvbi5leGUiIC1tIHRlc3QgLXVhbGwgLXYgdGVzdF90dGtfZ3Vpb25seSB0ZXN0X3RrIHRlc3RfaWRsZSA+ICIlfjJcdGNsdGsudHh0IiAyPiYxCisgICAgQHNldCBUQ0xfTElCUkFSWT0KKykKKworQHNldCBFWElUQ09ERT0lRVJST1JMRVZFTCUKKworQGZvciAvZCAlJWYgaW4gKCIlUFJPR1JBTURBVEElXE1pY3Jvc29mdFxXaW5kb3dzXFN0YXJ0IE1lbnVcUHJvZ3JhbXNcUHl0aG9uKiIpIGRvIEBkaXIgIiUlfmZmXCoubG5rIiAvcy9iID4gIiV+MlxzdGFydG1lbnUudHh0IiAyPiYxCitAZm9yIC9kICUlZiBpbiAoIiVBUFBEQVRBJVxNaWNyb3NvZnRcV2luZG93c1xTdGFydCBNZW51XFByb2dyYW1zXFB5dGhvbioiKSBkbyBAZGlyICIlJX5mZlwqLmxuayIgL3MvYiA+PiAiJX4yXHN0YXJ0bWVudS50eHQiIDI+JjEKKworQGVjaG8gUmVzdWx0IHdhcyAlRVhJVENPREUlCitAZWNobyBSZW1vdmluZyAlMQorIiV+MSIgL3Bhc3NpdmUgL3VuaW5zdGFsbCAvbG9nICIlfjJcdW5pbnN0YWxsXGxvZy50eHQiCisKK0BlY2hvIG9mZgorZXhpdCAvQiAlRVhJVENPREUlCisKKzpIZWxwCitlY2hvIHRlc3RyZWxlYXNlLmJhdCBbLS10YXJnZXQgVEFSR0VUXSBbLXg4Nl0gWy14NjRdIFstLWFsbHVzZXJdIFstLXBlcnVzZXJdIFstaF0KK2VjaG8uCitlY2hvICAgIC0tdGFyZ2V0ICgtdCkgICBTcGVjaWZ5IHRoZSB0YXJnZXQgZGlyZWN0b3J5IGZvciBpbnN0YWxscyBhbmQgbG9ncworZWNobyAgICAteDg2ICAgICAgICAgICAgUnVuIHRlc3RzIGZvciB4ODYgaW5zdGFsbGVycworZWNobyAgICAteDY0ICAgICAgICAgICAgUnVuIHRlc3RzIGZvciB4NjQgaW5zdGFsbGVycworZWNobyAgICAtLWFsbHVzZXIgKC1hKSAgUnVuIHRlc3RzIGZvciBhbGwtdXNlciBpbnN0YWxscyAocmVxdWlyZXMgQWRtaW5pc3RyYXRvcikKK2VjaG8gICAgLS1wZXJ1c2VyICgtcCkgIFJ1biB0ZXN0cyBmb3IgcGVyLXVzZXIgaW5zdGFsbHMKK2VjaG8gICAgLWggICAgICAgICAgICAgIERpc3BsYXkgdGhpcyBoZWxwIGluZm9ybWF0aW9uCitlY2hvLgorZWNobyBJZiBubyB0ZXN0IGFyY2hpdGVjdHVyZSBpcyBzcGVjaWZpZWQsIGFsbCBhcmNoaXRlY3R1cmVzIHdpbGwgYmUgdGVzdGVkLgorZWNobyBJZiBubyBpbnN0YWxsIHR5cGUgaXMgc2VsZWN0ZWQsIGFsbCBpbnN0YWxsIHR5cGVzIHdpbGwgYmUgdGVzdGVkLgorZWNoby4KZGlmZiAtLWdpdCBhL1Rvb2xzL21zaS90b29scy90b29scy53aXhwcm9qIGIvVG9vbHMvbXNpL3Rvb2xzL3Rvb2xzLndpeHByb2oKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjQzY2YzMwotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL21zaS90b29scy90b29scy53aXhwcm9qCkBAIC0wLDAgKzEsNDMgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Cis8UHJvamVjdCBUb29sc1ZlcnNpb249IjQuMCIgRGVmYXVsdFRhcmdldHM9IkJ1aWxkIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4KKyAgICA8UHJvcGVydHlHcm91cD4KKyAgICAgICAgPFByb2plY3RHdWlkPnsyNENCRUI5NS1CQzFFLTRFQTktQUVBOS0zMzgzNEJDQ0QwRUN9PC9Qcm9qZWN0R3VpZD4KKyAgICAgICAgPFNjaGVtYVZlcnNpb24+Mi4wPC9TY2hlbWFWZXJzaW9uPgorICAgICAgICA8T3V0cHV0TmFtZT50b29sczwvT3V0cHV0TmFtZT4KKyAgICAgICAgPE91dHB1dFR5cGU+UGFja2FnZTwvT3V0cHV0VHlwZT4KKyAgICA8L1Byb3BlcnR5R3JvdXA+CisgICAgPEltcG9ydCBQcm9qZWN0PSIuLlxtc2kucHJvcHMiIC8+CisgICAgPEl0ZW1Hcm91cD4KKyAgICAgICAgPENvbXBpbGUgSW5jbHVkZT0idG9vbHMud3hzIiAvPgorICAgICAgICA8Q29tcGlsZSBJbmNsdWRlPSJ0b29sc19maWxlcy53eHMiIC8+CisgICAgPC9JdGVtR3JvdXA+CisgICAgPEl0ZW1Hcm91cD4KKyAgICAgICAgPEVtYmVkZGVkUmVzb3VyY2UgSW5jbHVkZT0iKi53eGwiIC8+CisgICAgPC9JdGVtR3JvdXA+CisgICAgPEl0ZW1Hcm91cD4KKyAgICAgICAgPFRvb2xEaXJlY3RvcmllcyBJbmNsdWRlPSJzY3JpcHRzO2kxOG47cHluY2hlO3B5bmNoZVxYO2RlbW8iIC8+CisgICAgPC9JdGVtR3JvdXA+CisgICAgPEl0ZW1Hcm91cD4KKyAgICAgICAgPEluc3RhbGxGaWxlcyBJbmNsdWRlPSIkKFB5U291cmNlUGF0aClUb29sc1xzY3JpcHRzXCoqXCoucHk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJChQeVNvdXJjZVBhdGgpVG9vbHNcc2NyaXB0c1wqKlwqLnB5dzsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKFB5U291cmNlUGF0aClUb29sc1xzY3JpcHRzXCoqXCoudHh0OworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICQoUHlTb3VyY2VQYXRoKVRvb2xzXGkxOG5cKipcKi5weTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKFB5U291cmNlUGF0aClUb29sc1xpMThuXCoqXCoucHl3OworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICQoUHlTb3VyY2VQYXRoKVRvb2xzXGkxOG5cKipcKi50eHQ7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJChQeVNvdXJjZVBhdGgpVG9vbHNccHluY2hlXCoqXCoucHk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJChQeVNvdXJjZVBhdGgpVG9vbHNccHluY2hlXCoqXCoucHl3OworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICQoUHlTb3VyY2VQYXRoKVRvb2xzXHB5bmNoZVwqKlwqLnR4dDsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKFB5U291cmNlUGF0aClUb29sc1xkZW1vXCoqXCoucHk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJChQeVNvdXJjZVBhdGgpVG9vbHNcZGVtb1wqKlwqLnB5dzsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKFB5U291cmNlUGF0aClUb29sc1xkZW1vXCoqXCoudHh0OworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICQoUHlTb3VyY2VQYXRoKVRvb2xzXHBhcnNlclwqKlwqLnB5Ij4KKyAgICAgICAgICAgICAgICA8U291cmNlQmFzZT4kKFB5U291cmNlUGF0aCk8L1NvdXJjZUJhc2U+CisgICAgICAgICAgICAgICAgPFNvdXJjZT4hKGJpbmRwYXRoLnNyYyk8L1NvdXJjZT4KKyAgICAgICAgICAgICAgICA8VGFyZ2V0QmFzZT4kKFB5U291cmNlUGF0aCk8L1RhcmdldEJhc2U+CisgICAgICAgICAgICAgICAgPFRhcmdldF8+PC9UYXJnZXRfPgorICAgICAgICAgICAgICAgIDxHcm91cD50b29sc19weTwvR3JvdXA+CisgICAgICAgIDwvSW5zdGFsbEZpbGVzPgorICAgIDwvSXRlbUdyb3VwPgorICAgIAorICAgIDxJbXBvcnQgUHJvamVjdD0iLi5cbXNpLnRhcmdldHMiIC8+Cis8L1Byb2plY3Q+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvVG9vbHMvbXNpL3Rvb2xzL3Rvb2xzLnd4cyBiL1Rvb2xzL21zaS90b29scy90b29scy53eHMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzY2ZDRjNgotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL21zaS90b29scy90b29scy53eHMKQEAgLTAsMCArMSwxNCBAQAor77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzxXaXggeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vd2l4LzIwMDYvd2kiPgorICAgIDxQcm9kdWN0IElkPSIqIiBMYW5ndWFnZT0iIShsb2MuTENJRCkiIE5hbWU9IiEobG9jLlRpdGxlKSIgVmVyc2lvbj0iJCh2YXIuVmVyc2lvbikiIE1hbnVmYWN0dXJlcj0iIShsb2MuTWFudWZhY3R1cmVyKSIgVXBncmFkZUNvZGU9IiQodmFyLlVwZ3JhZGVDb2RlKSI+CisgICAgICAgIDxQYWNrYWdlIEluc3RhbGxlclZlcnNpb249IjMwMCIgQ29tcHJlc3NlZD0ieWVzIiBJbnN0YWxsU2NvcGU9InBlclVzZXIiIFBsYXRmb3JtPSIkKHZhci5QbGF0Zm9ybSkiIC8+CisgICAgICAgIDxNZWRpYVRlbXBsYXRlIEVtYmVkQ2FiPSJ5ZXMiIENvbXByZXNzaW9uTGV2ZWw9ImhpZ2giIC8+CisgICAgICAgIAorICAgICAgICA8UHJvcGVydHlSZWYgSWQ9IlVwZ3JhZGVUYWJsZSIgLz4KKyAgICAgICAgCisgICAgICAgIDxGZWF0dXJlIElkPSJEZWZhdWx0RmVhdHVyZSIgQWxsb3dBZHZlcnRpc2U9Im5vIiBUaXRsZT0iIShsb2MuVGl0bGUpIiBEZXNjcmlwdGlvbj0iIShsb2MuRGVzY3JpcHRpb24pIj4KKyAgICAgICAgICAgIDxDb21wb25lbnRHcm91cFJlZiBJZD0idG9vbHNfcHkiIC8+CisgICAgICAgICAgICA8Q29tcG9uZW50R3JvdXBSZWYgSWQ9InRvb2xzX3NjcmlwdHMiIC8+CisgICAgICAgIDwvRmVhdHVyZT4KKyAgICA8L1Byb2R1Y3Q+Cis8L1dpeD4KZGlmZiAtLWdpdCBhL1Rvb2xzL21zaS90b29scy90b29sc19lbi1VUy53eGwgYi9Ub29scy9tc2kvdG9vbHMvdG9vbHNfZW4tVVMud3hsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmExMzg0MTcKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9tc2kvdG9vbHMvdG9vbHNfZW4tVVMud3hsCkBAIC0wLDAgKzEsNSBAQAor77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KKzxXaXhMb2NhbGl6YXRpb24gQ3VsdHVyZT0iZW4tdXMiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3dpeC8yMDA2L2xvY2FsaXphdGlvbiI+CisgICAgPFN0cmluZyBJZD0iRGVzY3JpcHRvciI+VXRpbGl0eSBTY3JpcHRzPC9TdHJpbmc+CisgICAgPFN0cmluZyBJZD0iU2hvcnREZXNjcmlwdG9yIj50b29sczwvU3RyaW5nPgorPC9XaXhMb2NhbGl6YXRpb24+CmRpZmYgLS1naXQgYS9Ub29scy9tc2kvdG9vbHMvdG9vbHNfZmlsZXMud3hzIGIvVG9vbHMvbXNpL3Rvb2xzL3Rvb2xzX2ZpbGVzLnd4cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zYWUwZGIyCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvbXNpL3Rvb2xzL3Rvb2xzX2ZpbGVzLnd4cwpAQCAtMCwwICsxLDE2IEBACivvu788P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPFdpeCB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS93aXgvMjAwNi93aSI+CisgICAgPEZyYWdtZW50PgorICAgICAgICA8Q29tcG9uZW50R3JvdXAgSWQ9InRvb2xzX3NjcmlwdHMiPgorICAgICAgICAgICAgPENvbXBvbmVudCBJZD0iVG9vbHNfc2NyaXB0c18ydG8zLnB5IiBEaXJlY3Rvcnk9IlRvb2xzX3NjcmlwdHMiIEd1aWQ9IioiPgorICAgICAgICAgICAgICAgIDxGaWxlIElkPSJUb29sc19zY3JpcHRzXzJ0bzMucHkiIE5hbWU9IjJ0bzMucHkiIFNvdXJjZT0iIShiaW5kcGF0aC5zcmMpVG9vbHNcc2NyaXB0c1wydG8zIiAvPgorICAgICAgICAgICAgPC9Db21wb25lbnQ+CisgICAgICAgICAgICA8Q29tcG9uZW50IElkPSJUb29sc19zY3JpcHRzX3B5ZG9jMy5weSIgRGlyZWN0b3J5PSJUb29sc19zY3JpcHRzIiBHdWlkPSIqIj4KKyAgICAgICAgICAgICAgICA8RmlsZSBJZD0iVG9vbHNfc2NyaXB0c19weWRvYzMucHkiIE5hbWU9InB5ZG9jMy5weSIgU291cmNlPSIhKGJpbmRwYXRoLnNyYylUb29sc1xzY3JpcHRzXHB5ZG9jMyIgLz4KKyAgICAgICAgICAgIDwvQ29tcG9uZW50PgorICAgICAgICAgICAgPENvbXBvbmVudCBJZD0iVG9vbHNfc2NyaXB0c19weXZlbnYucHkiIERpcmVjdG9yeT0iVG9vbHNfc2NyaXB0cyIgR3VpZD0iKiI+CisgICAgICAgICAgICAgICAgPEZpbGUgSWQ9IlRvb2xzX3NjcmlwdHNfcHl2ZW52LnB5IiBOYW1lPSJweXZlbnYucHkiIFNvdXJjZT0iIShiaW5kcGF0aC5zcmMpVG9vbHNcc2NyaXB0c1xweXZlbnYiIC8+CisgICAgICAgICAgICA8L0NvbXBvbmVudD4KKyAgICAgICAgPC9Db21wb25lbnRHcm91cD4KKyAgICA8L0ZyYWdtZW50PgorPC9XaXg+CmRpZmYgLS1naXQgYS9Ub29scy9tc2kvdWlzYW1wbGUucHkgYi9Ub29scy9tc2kvdWlzYW1wbGUucHkKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDU0MzA4MDUuLjAwMDAwMDAKLS0tIGEvVG9vbHMvbXNpL3Vpc2FtcGxlLnB5CisrKyAvZGV2L251bGwKQEAgLTEsMTQwMCArMCwwIEBACi0KLWltcG9ydCBtc2lsaWIsb3M7ZGlybmFtZT1vcy5wYXRoLmRpcm5hbWUoX19maWxlX18pCi1BZG1pbkV4ZWN1dGVTZXF1ZW5jZSA9IFsKLSh1J0luc3RhbGxWYWxpZGF0ZScsIE5vbmUsIDE0MDApLAotKHUnSW5zdGFsbEluaXRpYWxpemUnLCBOb25lLCAxNTAwKSwKLSh1J0luc3RhbGxGaW5hbGl6ZScsIE5vbmUsIDY2MDApLAotKHUnSW5zdGFsbEZpbGVzJywgTm9uZSwgNDAwMCksCi0odSdJbnN0YWxsQWRtaW5QYWNrYWdlJywgTm9uZSwgMzkwMCksCi0odSdGaWxlQ29zdCcsIE5vbmUsIDkwMCksCi0odSdDb3N0SW5pdGlhbGl6ZScsIE5vbmUsIDgwMCksCi0odSdDb3N0RmluYWxpemUnLCBOb25lLCAxMDAwKSwKLV0KLQotQWRtaW5VSVNlcXVlbmNlID0gWwotKHUnQWRtaW5XZWxjb21lRGxnJywgTm9uZSwgMTIzMCksCi0odSdGaWxlQ29zdCcsIE5vbmUsIDkwMCksCi0odSdDb3N0SW5pdGlhbGl6ZScsIE5vbmUsIDgwMCksCi0odSdDb3N0RmluYWxpemUnLCBOb25lLCAxMDAwKSwKLSh1J0V4ZWN1dGVBY3Rpb24nLCBOb25lLCAxMzAwKSwKLSh1J0V4aXREaWFsb2cnLCBOb25lLCAtMSksCi0odSdGYXRhbEVycm9yJywgTm9uZSwgLTMpLAotKHUnUHJlcGFyZURsZycsIE5vbmUsIDE0MCksCi0odSdQcm9ncmVzc0RsZycsIE5vbmUsIDEyODApLAotKHUnVXNlckV4aXQnLCBOb25lLCAtMiksCi1dCi0KLUFkdnRFeGVjdXRlU2VxdWVuY2UgPSBbCi0odSdJbnN0YWxsVmFsaWRhdGUnLCBOb25lLCAxNDAwKSwKLSh1J0luc3RhbGxJbml0aWFsaXplJywgTm9uZSwgMTUwMCksCi0odSdJbnN0YWxsRmluYWxpemUnLCBOb25lLCA2NjAwKSwKLSh1J0Nvc3RJbml0aWFsaXplJywgTm9uZSwgODAwKSwKLSh1J0Nvc3RGaW5hbGl6ZScsIE5vbmUsIDEwMDApLAotKHUnQ3JlYXRlU2hvcnRjdXRzJywgTm9uZSwgNDUwMCksCi0odSdQdWJsaXNoQ29tcG9uZW50cycsIE5vbmUsIDYyMDApLAotKHUnUHVibGlzaEZlYXR1cmVzJywgTm9uZSwgNjMwMCksCi0odSdQdWJsaXNoUHJvZHVjdCcsIE5vbmUsIDY0MDApLAotKHUnUmVnaXN0ZXJDbGFzc0luZm8nLCBOb25lLCA0NjAwKSwKLSh1J1JlZ2lzdGVyRXh0ZW5zaW9uSW5mbycsIE5vbmUsIDQ3MDApLAotKHUnUmVnaXN0ZXJNSU1FSW5mbycsIE5vbmUsIDQ5MDApLAotKHUnUmVnaXN0ZXJQcm9nSWRJbmZvJywgTm9uZSwgNDgwMCksCi1dCi0KLUJCQ29udHJvbCA9IFsKLV0KLQotQmlsbGJvYXJkID0gWwotXQotCi1CaW5hcnkgPSBbCi0odSdiYW5ucmJtcCcsIG1zaWxpYi5CaW5hcnkob3MucGF0aC5qb2luKGRpcm5hbWUsImJhbm5yYm1wLmJpbiIpKSksCi0odSdjb21wbGV0aScsIG1zaWxpYi5CaW5hcnkob3MucGF0aC5qb2luKGRpcm5hbWUsImNvbXBsZXRpLmJpbiIpKSksCi0odSdjdXN0aWNvbicsIG1zaWxpYi5CaW5hcnkob3MucGF0aC5qb2luKGRpcm5hbWUsImN1c3RpY29uLmJpbiIpKSksCi0odSdkbGdibXAnLCBtc2lsaWIuQmluYXJ5KG9zLnBhdGguam9pbihkaXJuYW1lLCJkbGdibXAuYmluIikpKSwKLSh1J2V4Y2xhbWljJywgbXNpbGliLkJpbmFyeShvcy5wYXRoLmpvaW4oZGlybmFtZSwiZXhjbGFtaWMuYmluIikpKSwKLSh1J2luZm8nLCBtc2lsaWIuQmluYXJ5KG9zLnBhdGguam9pbihkaXJuYW1lLCJpbmZvLmJpbiIpKSksCi0odSdpbnN0aWNvbicsIG1zaWxpYi5CaW5hcnkob3MucGF0aC5qb2luKGRpcm5hbWUsImluc3RpY29uLmJpbiIpKSksCi0odSdOZXcnLCBtc2lsaWIuQmluYXJ5KG9zLnBhdGguam9pbihkaXJuYW1lLCJOZXcuYmluIikpKSwKLSh1J3JlbW92aWNvJywgbXNpbGliLkJpbmFyeShvcy5wYXRoLmpvaW4oZGlybmFtZSwicmVtb3ZpY28uYmluIikpKSwKLSh1J3JlcGFpcmljJywgbXNpbGliLkJpbmFyeShvcy5wYXRoLmpvaW4oZGlybmFtZSwicmVwYWlyaWMuYmluIikpKSwKLSh1J1VwJywgbXNpbGliLkJpbmFyeShvcy5wYXRoLmpvaW4oZGlybmFtZSwiVXAuYmluIikpKSwKLV0KLQotQ2hlY2tCb3ggPSBbCi1dCi0KLVByb3BlcnR5ID0gWwotKHUnQmFubmVyQml0bWFwJywgdSdiYW5ucmJtcCcpLAotKHUnSUFncmVlJywgdSdObycpLAotKHUnUHJvZHVjdElEJywgdSdub25lJyksCi0odSdBUlBIRUxQTElOSycsIHUnaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL21hbmFnZW1lbnQnKSwKLSh1J0J1dHRvblRleHRfQmFjaycsIHUnPCAmQmFjaycpLAotKHUnQnV0dG9uVGV4dF9Ccm93c2UnLCB1J0JyJm93c2UnKSwKLSh1J0J1dHRvblRleHRfQ2FuY2VsJywgdSdDYW5jZWwnKSwKLSh1J0J1dHRvblRleHRfRXhpdCcsIHUnJkV4aXQnKSwKLSh1J0J1dHRvblRleHRfRmluaXNoJywgdScmRmluaXNoJyksCi0odSdCdXR0b25UZXh0X0lnbm9yZScsIHUnJklnbm9yZScpLAotKHUnQnV0dG9uVGV4dF9JbnN0YWxsJywgdScmSW5zdGFsbCcpLAotKHUnQnV0dG9uVGV4dF9OZXh0JywgdScmTmV4dCA+JyksCi0odSdCdXR0b25UZXh0X05vJywgdScmTm8nKSwKLSh1J0J1dHRvblRleHRfT0snLCB1J09LJyksCi0odSdCdXR0b25UZXh0X1JlbW92ZScsIHUnJlJlbW92ZScpLAotKHUnQnV0dG9uVGV4dF9SZXBhaXInLCB1JyZSZXBhaXInKSwKLSh1J0J1dHRvblRleHRfUmVzZXQnLCB1JyZSZXNldCcpLAotKHUnQnV0dG9uVGV4dF9SZXN1bWUnLCB1JyZSZXN1bWUnKSwKLSh1J0J1dHRvblRleHRfUmV0cnknLCB1JyZSZXRyeScpLAotKHUnQnV0dG9uVGV4dF9SZXR1cm4nLCB1JyZSZXR1cm4nKSwKLSh1J0J1dHRvblRleHRfWWVzJywgdScmWWVzJyksCi0odSdDb21wbGV0ZVNldHVwSWNvbicsIHUnY29tcGxldGknKSwKLSh1J0NvbXBvbmVudERvd25sb2FkJywgdSdmdHA6Ly9hbm9ueW1vdXNAbWljcm9zb2Z0LmNvbS9jb21wb25lbnRzLycpLAotKHUnQ3VzdG9tU2V0dXBJY29uJywgdSdjdXN0aWNvbicpLAotKHUnRGVmYXVsdFVJRm9udCcsIHUnRGxnRm9udDgnKSwKLSh1J0RpYWxvZ0JpdG1hcCcsIHUnZGxnYm1wJyksCi0odSdEbGdUaXRsZUZvbnQnLCB1J3smRGxnRm9udEJvbGQ4fScpLAotKHUnRXJyb3JEaWFsb2cnLCB1J0Vycm9yRGxnJyksCi0odSdFeGNsYW1hdGlvbkljb24nLCB1J2V4Y2xhbWljJyksCi0odSdJbmZvSWNvbicsIHUnaW5mbycpLAotKHUnSW5zdGFsbGVySWNvbicsIHUnaW5zdGljb24nKSwKLSh1J0lOU1RBTExMRVZFTCcsIHUnMycpLAotKHUnSW5zdGFsbE1vZGUnLCB1J1R5cGljYWwnKSwKLSh1J1BJRFRlbXBsYXRlJywgdScxMjM0NTwjIyMtJSUlJSUlJT5AQEBAQCcpLAotIyh1J1Byb2R1Y3RMYW5ndWFnZScsIHUnMTAzMycpLAotKHUnUHJvZ3Jlc3MxJywgdSdJbnN0YWxsaW5nJyksCi0odSdQcm9ncmVzczInLCB1J2luc3RhbGxzJyksCi0odSdQUk9NUFRST0xMQkFDS0NPU1QnLCB1J1AnKSwKLSh1J1JlbW92ZUljb24nLCB1J3JlbW92aWNvJyksCi0odSdSZXBhaXJJY29uJywgdSdyZXBhaXJpYycpLAotKHUnU2V0dXAnLCB1J1NldHVwJyksCi0odSdTaG93VXNlclJlZ2lzdHJhdGlvbkRsZycsIHUnMScpLAotKHUnV2l6YXJkJywgdSdTZXR1cCBXaXphcmQnKSwKLV0KLQotQ29tYm9Cb3ggPSBbCi1dCi0KLUNvbnRyb2wgPSBbCi0odSdBZG1pbldlbGNvbWVEbGcnLCB1J0JpdG1hcCcsIHUnQml0bWFwJywgMCwgMCwgMzcwLCAyMzQsIDEsIE5vbmUsIHUnW0RpYWxvZ0JpdG1hcF0nLCB1J0JhY2snLCBOb25lKSwKLSh1J0FkbWluV2VsY29tZURsZycsIHUnQm90dG9tTGluZScsIHUnTGluZScsIDAsIDIzNCwgMzc0LCAwLCAxLCBOb25lLCBOb25lLCBOb25lLCBOb25lKSwKLSh1J0FkbWluV2VsY29tZURsZycsIHUnQ2FuY2VsJywgdSdQdXNoQnV0dG9uJywgMzA0LCAyNDMsIDU2LCAxNywgMywgTm9uZSwgdSdbQnV0dG9uVGV4dF9DYW5jZWxdJywgdSdCaXRtYXAnLCBOb25lKSwKLSh1J0FkbWluV2VsY29tZURsZycsIHUnRGVzY3JpcHRpb24nLCB1J1RleHQnLCAxMzUsIDcwLCAyMjAsIDMwLCAxOTY2MTEsIE5vbmUsIHUnVGhlIFtXaXphcmRdIHdpbGwgY3JlYXRlIGEgc2VydmVyIGltYWdlIG9mIFtQcm9kdWN0TmFtZV0sIGF0IGEgc3BlY2lmaWVkIG5ldHdvcmsgbG9jYXRpb24uICBDbGljayBOZXh0IHRvIGNvbnRpbnVlIG9yIENhbmNlbCB0byBleGl0IHRoZSBbV2l6YXJkXS4nLCBOb25lLCBOb25lKSwKLSh1J0FkbWluV2VsY29tZURsZycsIHUnVGl0bGUnLCB1J1RleHQnLCAxMzUsIDIwLCAyMjAsIDYwLCAxOTY2MTEsIE5vbmUsIHUne1xcVmVyZGFuYUJvbGQxM31XZWxjb21lIHRvIHRoZSBbUHJvZHVjdE5hbWVdIFtXaXphcmRdJywgTm9uZSwgTm9uZSksCi0odSdBZG1pbldlbGNvbWVEbGcnLCB1J0JhY2snLCB1J1B1c2hCdXR0b24nLCAxODAsIDI0MywgNTYsIDE3LCAxLCBOb25lLCB1J1tCdXR0b25UZXh0X0JhY2tdJywgdSdOZXh0JywgTm9uZSksCi0odSdBZG1pbldlbGNvbWVEbGcnLCB1J05leHQnLCB1J1B1c2hCdXR0b24nLCAyMzYsIDI0MywgNTYsIDE3LCAzLCBOb25lLCB1J1tCdXR0b25UZXh0X05leHRdJywgdSdDYW5jZWwnLCBOb25lKSwKLSh1J0V4aXREaWFsb2cnLCB1J0JpdG1hcCcsIHUnQml0bWFwJywgMCwgMCwgMzcwLCAyMzQsIDEsIE5vbmUsIHUnW0RpYWxvZ0JpdG1hcF0nLCB1J0JhY2snLCBOb25lKSwKLSh1J0V4aXREaWFsb2cnLCB1J0JvdHRvbUxpbmUnLCB1J0xpbmUnLCAwLCAyMzQsIDM3NCwgMCwgMSwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSksCi0odSdFeGl0RGlhbG9nJywgdSdDYW5jZWwnLCB1J1B1c2hCdXR0b24nLCAzMDQsIDI0MywgNTYsIDE3LCAxLCBOb25lLCB1J1tCdXR0b25UZXh0X0NhbmNlbF0nLCB1J0JpdG1hcCcsIE5vbmUpLAotKHUnRXhpdERpYWxvZycsIHUnRGVzY3JpcHRpb24nLCB1J1RleHQnLCAxMzUsIDcwLCAyMjAsIDIwLCAxOTY2MTEsIE5vbmUsIHUnQ2xpY2sgdGhlIEZpbmlzaCBidXR0b24gdG8gZXhpdCB0aGUgW1dpemFyZF0uJywgTm9uZSwgTm9uZSksCi0odSdFeGl0RGlhbG9nJywgdSdUaXRsZScsIHUnVGV4dCcsIDEzNSwgMjAsIDIyMCwgNjAsIDE5NjYxMSwgTm9uZSwgdSd7XFxWZXJkYW5hQm9sZDEzfUNvbXBsZXRpbmcgdGhlIFtQcm9kdWN0TmFtZV0gW1dpemFyZF0nLCBOb25lLCBOb25lKSwKLSh1J0V4aXREaWFsb2cnLCB1J0JhY2snLCB1J1B1c2hCdXR0b24nLCAxODAsIDI0MywgNTYsIDE3LCAxLCBOb25lLCB1J1tCdXR0b25UZXh0X0JhY2tdJywgdSdGaW5pc2gnLCBOb25lKSwKLSh1J0V4aXREaWFsb2cnLCB1J0ZpbmlzaCcsIHUnUHVzaEJ1dHRvbicsIDIzNiwgMjQzLCA1NiwgMTcsIDMsIE5vbmUsIHUnW0J1dHRvblRleHRfRmluaXNoXScsIHUnQ2FuY2VsJywgTm9uZSksCi0odSdGYXRhbEVycm9yJywgdSdCaXRtYXAnLCB1J0JpdG1hcCcsIDAsIDAsIDM3MCwgMjM0LCAxLCBOb25lLCB1J1tEaWFsb2dCaXRtYXBdJywgdSdCYWNrJywgTm9uZSksCi0odSdGYXRhbEVycm9yJywgdSdCb3R0b21MaW5lJywgdSdMaW5lJywgMCwgMjM0LCAzNzQsIDAsIDEsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUpLAotKHUnRmF0YWxFcnJvcicsIHUnQ2FuY2VsJywgdSdQdXNoQnV0dG9uJywgMzA0LCAyNDMsIDU2LCAxNywgMSwgTm9uZSwgdSdbQnV0dG9uVGV4dF9DYW5jZWxdJywgdSdCaXRtYXAnLCBOb25lKSwKLSh1J0ZhdGFsRXJyb3InLCB1J1RpdGxlJywgdSdUZXh0JywgMTM1LCAyMCwgMjIwLCA2MCwgMTk2NjExLCBOb25lLCB1J3tcXFZlcmRhbmFCb2xkMTN9W1Byb2R1Y3ROYW1lXSBbV2l6YXJkXSBlbmRlZCBwcmVtYXR1cmVseScsIE5vbmUsIE5vbmUpLAotKHUnRmF0YWxFcnJvcicsIHUnQmFjaycsIHUnUHVzaEJ1dHRvbicsIDE4MCwgMjQzLCA1NiwgMTcsIDEsIE5vbmUsIHUnW0J1dHRvblRleHRfQmFja10nLCB1J0ZpbmlzaCcsIE5vbmUpLAotKHUnRmF0YWxFcnJvcicsIHUnRmluaXNoJywgdSdQdXNoQnV0dG9uJywgMjM2LCAyNDMsIDU2LCAxNywgMywgTm9uZSwgdSdbQnV0dG9uVGV4dF9GaW5pc2hdJywgdSdDYW5jZWwnLCBOb25lKSwKLSh1J0ZhdGFsRXJyb3InLCB1J0Rlc2NyaXB0aW9uMScsIHUnVGV4dCcsIDEzNSwgNzAsIDIyMCwgNDAsIDE5NjYxMSwgTm9uZSwgdSdbUHJvZHVjdE5hbWVdIHNldHVwIGVuZGVkIHByZW1hdHVyZWx5IGJlY2F1c2Ugb2YgYW4gZXJyb3IuICBZb3VyIHN5c3RlbSBoYXMgbm90IGJlZW4gbW9kaWZpZWQuICBUbyBpbnN0YWxsIHRoaXMgcHJvZ3JhbSBhdCBhIGxhdGVyIHRpbWUsIHBsZWFzZSBydW4gdGhlIGluc3RhbGxhdGlvbiBhZ2Fpbi4nLCBOb25lLCBOb25lKSwKLSh1J0ZhdGFsRXJyb3InLCB1J0Rlc2NyaXB0aW9uMicsIHUnVGV4dCcsIDEzNSwgMTE1LCAyMjAsIDIwLCAxOTY2MTEsIE5vbmUsIHUnQ2xpY2sgdGhlIEZpbmlzaCBidXR0b24gdG8gZXhpdCB0aGUgW1dpemFyZF0uJywgTm9uZSwgTm9uZSksCi0odSdQcmVwYXJlRGxnJywgdSdCaXRtYXAnLCB1J0JpdG1hcCcsIDAsIDAsIDM3MCwgMjM0LCAxLCBOb25lLCB1J1tEaWFsb2dCaXRtYXBdJywgdSdDYW5jZWwnLCBOb25lKSwKLSh1J1ByZXBhcmVEbGcnLCB1J0JvdHRvbUxpbmUnLCB1J0xpbmUnLCAwLCAyMzQsIDM3NCwgMCwgMSwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSksCi0odSdQcmVwYXJlRGxnJywgdSdDYW5jZWwnLCB1J1B1c2hCdXR0b24nLCAzMDQsIDI0MywgNTYsIDE3LCAzLCBOb25lLCB1J1tCdXR0b25UZXh0X0NhbmNlbF0nLCB1J0JpdG1hcCcsIE5vbmUpLAotKHUnUHJlcGFyZURsZycsIHUnRGVzY3JpcHRpb24nLCB1J1RleHQnLCAxMzUsIDcwLCAyMjAsIDIwLCAxOTY2MTEsIE5vbmUsIHUnUGxlYXNlIHdhaXQgd2hpbGUgdGhlIFtXaXphcmRdIHByZXBhcmVzIHRvIGd1aWRlIHlvdSB0aHJvdWdoIHRoZSBpbnN0YWxsYXRpb24uJywgTm9uZSwgTm9uZSksCi0odSdQcmVwYXJlRGxnJywgdSdUaXRsZScsIHUnVGV4dCcsIDEzNSwgMjAsIDIyMCwgNjAsIDE5NjYxMSwgTm9uZSwgdSd7XFxWZXJkYW5hQm9sZDEzfVdlbGNvbWUgdG8gdGhlIFtQcm9kdWN0TmFtZV0gW1dpemFyZF0nLCBOb25lLCBOb25lKSwKLSh1J1ByZXBhcmVEbGcnLCB1J0JhY2snLCB1J1B1c2hCdXR0b24nLCAxODAsIDI0MywgNTYsIDE3LCAxLCBOb25lLCB1J1tCdXR0b25UZXh0X0JhY2tdJywgTm9uZSwgTm9uZSksCi0odSdQcmVwYXJlRGxnJywgdSdOZXh0JywgdSdQdXNoQnV0dG9uJywgMjM2LCAyNDMsIDU2LCAxNywgMSwgTm9uZSwgdSdbQnV0dG9uVGV4dF9OZXh0XScsIE5vbmUsIE5vbmUpLAotKHUnUHJlcGFyZURsZycsIHUnQWN0aW9uRGF0YScsIHUnVGV4dCcsIDEzNSwgMTI1LCAyMjAsIDMwLCAxOTY2MTEsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUpLAotKHUnUHJlcGFyZURsZycsIHUnQWN0aW9uVGV4dCcsIHUnVGV4dCcsIDEzNSwgMTAwLCAyMjAsIDIwLCAxOTY2MTEsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUpLAotKHUnUHJvZ3Jlc3NEbGcnLCB1J1RleHQnLCB1J1RleHQnLCAzNSwgNjUsIDMwMCwgMjAsIDMsIE5vbmUsIHUnUGxlYXNlIHdhaXQgd2hpbGUgdGhlIFtXaXphcmRdIFtQcm9ncmVzczJdIFtQcm9kdWN0TmFtZV0uICBUaGlzIG1heSB0YWtlIHNldmVyYWwgbWludXRlcy4nLCBOb25lLCBOb25lKSwKLSh1J1Byb2dyZXNzRGxnJywgdSdCYW5uZXJCaXRtYXAnLCB1J0JpdG1hcCcsIDAsIDAsIDM3NCwgNDQsIDEsIE5vbmUsIHUnW0Jhbm5lckJpdG1hcF0nLCB1J0JhY2snLCBOb25lKSwKLSh1J1Byb2dyZXNzRGxnJywgdSdCYW5uZXJMaW5lJywgdSdMaW5lJywgMCwgNDQsIDM3NCwgMCwgMSwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSksCi0odSdQcm9ncmVzc0RsZycsIHUnQm90dG9tTGluZScsIHUnTGluZScsIDAsIDIzNCwgMzc0LCAwLCAxLCBOb25lLCBOb25lLCBOb25lLCBOb25lKSwKLSh1J1Byb2dyZXNzRGxnJywgdSdDYW5jZWwnLCB1J1B1c2hCdXR0b24nLCAzMDQsIDI0MywgNTYsIDE3LCAzLCBOb25lLCB1J1tCdXR0b25UZXh0X0NhbmNlbF0nLCB1J0Jhbm5lckJpdG1hcCcsIE5vbmUpLAotKHUnUHJvZ3Jlc3NEbGcnLCB1J1RpdGxlJywgdSdUZXh0JywgMjAsIDE1LCAyMDAsIDE1LCAxOTY2MTEsIE5vbmUsIHUnW0RsZ1RpdGxlRm9udF1bUHJvZ3Jlc3MxXSBbUHJvZHVjdE5hbWVdJywgTm9uZSwgTm9uZSksCi0odSdQcm9ncmVzc0RsZycsIHUnQmFjaycsIHUnUHVzaEJ1dHRvbicsIDE4MCwgMjQzLCA1NiwgMTcsIDEsIE5vbmUsIHUnW0J1dHRvblRleHRfQmFja10nLCB1J05leHQnLCBOb25lKSwKLSh1J1Byb2dyZXNzRGxnJywgdSdOZXh0JywgdSdQdXNoQnV0dG9uJywgMjM2LCAyNDMsIDU2LCAxNywgMSwgTm9uZSwgdSdbQnV0dG9uVGV4dF9OZXh0XScsIHUnQ2FuY2VsJywgTm9uZSksCi0odSdQcm9ncmVzc0RsZycsIHUnQWN0aW9uVGV4dCcsIHUnVGV4dCcsIDcwLCAxMDAsIDI2NSwgMTAsIDMsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUpLAotKHUnUHJvZ3Jlc3NEbGcnLCB1J1Byb2dyZXNzQmFyJywgdSdQcm9ncmVzc0JhcicsIDM1LCAxMTUsIDMwMCwgMTAsIDY1NTM3LCBOb25lLCB1J1Byb2dyZXNzIGRvbmUnLCBOb25lLCBOb25lKSwKLSh1J1Byb2dyZXNzRGxnJywgdSdTdGF0dXNMYWJlbCcsIHUnVGV4dCcsIDM1LCAxMDAsIDM1LCAxMCwgMywgTm9uZSwgdSdTdGF0dXM6JywgTm9uZSwgTm9uZSksCi0odSdVc2VyRXhpdCcsIHUnQml0bWFwJywgdSdCaXRtYXAnLCAwLCAwLCAzNzAsIDIzNCwgMSwgTm9uZSwgdSdbRGlhbG9nQml0bWFwXScsIHUnQmFjaycsIE5vbmUpLAotKHUnVXNlckV4aXQnLCB1J0JvdHRvbUxpbmUnLCB1J0xpbmUnLCAwLCAyMzQsIDM3NCwgMCwgMSwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSksCi0odSdVc2VyRXhpdCcsIHUnQ2FuY2VsJywgdSdQdXNoQnV0dG9uJywgMzA0LCAyNDMsIDU2LCAxNywgMSwgTm9uZSwgdSdbQnV0dG9uVGV4dF9DYW5jZWxdJywgdSdCaXRtYXAnLCBOb25lKSwKLSh1J1VzZXJFeGl0JywgdSdUaXRsZScsIHUnVGV4dCcsIDEzNSwgMjAsIDIyMCwgNjAsIDE5NjYxMSwgTm9uZSwgdSd7XFxWZXJkYW5hQm9sZDEzfVtQcm9kdWN0TmFtZV0gW1dpemFyZF0gd2FzIGludGVycnVwdGVkJywgTm9uZSwgTm9uZSksCi0odSdVc2VyRXhpdCcsIHUnQmFjaycsIHUnUHVzaEJ1dHRvbicsIDE4MCwgMjQzLCA1NiwgMTcsIDEsIE5vbmUsIHUnW0J1dHRvblRleHRfQmFja10nLCB1J0ZpbmlzaCcsIE5vbmUpLAotKHUnVXNlckV4aXQnLCB1J0ZpbmlzaCcsIHUnUHVzaEJ1dHRvbicsIDIzNiwgMjQzLCA1NiwgMTcsIDMsIE5vbmUsIHUnW0J1dHRvblRleHRfRmluaXNoXScsIHUnQ2FuY2VsJywgTm9uZSksCi0odSdVc2VyRXhpdCcsIHUnRGVzY3JpcHRpb24xJywgdSdUZXh0JywgMTM1LCA3MCwgMjIwLCA0MCwgMTk2NjExLCBOb25lLCB1J1tQcm9kdWN0TmFtZV0gc2V0dXAgd2FzIGludGVycnVwdGVkLiAgWW91ciBzeXN0ZW0gaGFzIG5vdCBiZWVuIG1vZGlmaWVkLiAgVG8gaW5zdGFsbCB0aGlzIHByb2dyYW0gYXQgYSBsYXRlciB0aW1lLCBwbGVhc2UgcnVuIHRoZSBpbnN0YWxsYXRpb24gYWdhaW4uJywgTm9uZSwgTm9uZSksCi0odSdVc2VyRXhpdCcsIHUnRGVzY3JpcHRpb24yJywgdSdUZXh0JywgMTM1LCAxMTUsIDIyMCwgMjAsIDE5NjYxMSwgTm9uZSwgdSdDbGljayB0aGUgRmluaXNoIGJ1dHRvbiB0byBleGl0IHRoZSBbV2l6YXJkXS4nLCBOb25lLCBOb25lKSwKLSh1J0FkbWluQnJvd3NlRGxnJywgdSdVcCcsIHUnUHVzaEJ1dHRvbicsIDI5OCwgNTUsIDE5LCAxOSwgMzY3MDAxOSwgTm9uZSwgdSdVcCcsIHUnTmV3Rm9sZGVyJywgdSdVcCBPbmUgTGV2ZWx8JyksCi0odSdBZG1pbkJyb3dzZURsZycsIHUnQmFubmVyQml0bWFwJywgdSdCaXRtYXAnLCAwLCAwLCAzNzQsIDQ0LCAxLCBOb25lLCB1J1tCYW5uZXJCaXRtYXBdJywgdSdQYXRoRWRpdCcsIE5vbmUpLAotKHUnQWRtaW5Ccm93c2VEbGcnLCB1J1BhdGhFZGl0JywgdSdQYXRoRWRpdCcsIDg0LCAyMDIsIDI2MSwgMTcsIDMsIHUnVEFSR0VURElSJywgTm9uZSwgdSdPSycsIE5vbmUpLAotKHUnQWRtaW5Ccm93c2VEbGcnLCB1J0Jhbm5lckxpbmUnLCB1J0xpbmUnLCAwLCA0NCwgMzc0LCAwLCAxLCBOb25lLCBOb25lLCBOb25lLCBOb25lKSwKLSh1J0FkbWluQnJvd3NlRGxnJywgdSdCb3R0b21MaW5lJywgdSdMaW5lJywgMCwgMjM0LCAzNzQsIDAsIDEsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUpLAotKHUnQWRtaW5Ccm93c2VEbGcnLCB1J0NhbmNlbCcsIHUnUHVzaEJ1dHRvbicsIDI0MCwgMjQzLCA1NiwgMTcsIDMsIE5vbmUsIHUnW0J1dHRvblRleHRfQ2FuY2VsXScsIHUnQ29tYm9MYWJlbCcsIE5vbmUpLAotKHUnQWRtaW5Ccm93c2VEbGcnLCB1J0NvbWJvTGFiZWwnLCB1J1RleHQnLCAyNSwgNTgsIDQ0LCAxMCwgMywgTm9uZSwgdScmTG9vayBpbjonLCB1J0RpcmVjdG9yeUNvbWJvJywgTm9uZSksCi0odSdBZG1pbkJyb3dzZURsZycsIHUnRGlyZWN0b3J5Q29tYm8nLCB1J0RpcmVjdG9yeUNvbWJvJywgNzAsIDU1LCAyMjAsIDgwLCA0NTg3NTUsIHUnVEFSR0VURElSJywgTm9uZSwgdSdVcCcsIE5vbmUpLAotKHUnQWRtaW5Ccm93c2VEbGcnLCB1J0Rlc2NyaXB0aW9uJywgdSdUZXh0JywgMjUsIDIzLCAyODAsIDE1LCAxOTY2MTEsIE5vbmUsIHUnQnJvd3NlIHRvIHRoZSBkZXN0aW5hdGlvbiBmb2xkZXInLCBOb25lLCBOb25lKSwKLSh1J0FkbWluQnJvd3NlRGxnJywgdSdEaXJlY3RvcnlMaXN0JywgdSdEaXJlY3RvcnlMaXN0JywgMjUsIDgzLCAzMjAsIDExMCwgNywgdSdUQVJHRVRESVInLCBOb25lLCB1J1BhdGhMYWJlbCcsIE5vbmUpLAotKHUnQWRtaW5Ccm93c2VEbGcnLCB1J1BhdGhMYWJlbCcsIHUnVGV4dCcsIDI1LCAyMDUsIDU5LCAxMCwgMywgTm9uZSwgdScmRm9sZGVyIG5hbWU6JywgdSdCYW5uZXJCaXRtYXAnLCBOb25lKSwKLSh1J0FkbWluQnJvd3NlRGxnJywgdSdOZXdGb2xkZXInLCB1J1B1c2hCdXR0b24nLCAzMjUsIDU1LCAxOSwgMTksIDM2NzAwMTksIE5vbmUsIHUnTmV3JywgdSdEaXJlY3RvcnlMaXN0JywgdSdDcmVhdGUgQSBOZXcgRm9sZGVyfCcpLAotKHUnQWRtaW5Ccm93c2VEbGcnLCB1J09LJywgdSdQdXNoQnV0dG9uJywgMzA0LCAyNDMsIDU2LCAxNywgMywgTm9uZSwgdSdbQnV0dG9uVGV4dF9PS10nLCB1J0NhbmNlbCcsIE5vbmUpLAotKHUnQWRtaW5Ccm93c2VEbGcnLCB1J1RpdGxlJywgdSdUZXh0JywgMTUsIDYsIDIwMCwgMTUsIDE5NjYxMSwgTm9uZSwgdSdbRGxnVGl0bGVGb250XUNoYW5nZSBjdXJyZW50IGRlc3RpbmF0aW9uIGZvbGRlcicsIE5vbmUsIE5vbmUpLAotKHUnQWRtaW5JbnN0YWxsUG9pbnREbGcnLCB1J1RleHQnLCB1J1RleHQnLCAyNSwgODAsIDMyMCwgMTAsIDMsIE5vbmUsIHUnJkVudGVyIGEgbmV3IG5ldHdvcmsgbG9jYXRpb24gb3IgY2xpY2sgQnJvd3NlIHRvIGJyb3dzZSB0byBvbmUuJywgdSdQYXRoRWRpdCcsIE5vbmUpLAotKHUnQWRtaW5JbnN0YWxsUG9pbnREbGcnLCB1J0Jhbm5lckJpdG1hcCcsIHUnQml0bWFwJywgMCwgMCwgMzc0LCA0NCwgMSwgTm9uZSwgdSdbQmFubmVyQml0bWFwXScsIHUnVGV4dCcsIE5vbmUpLAotKHUnQWRtaW5JbnN0YWxsUG9pbnREbGcnLCB1J1BhdGhFZGl0JywgdSdQYXRoRWRpdCcsIDI1LCA5MywgMzIwLCAxOCwgMywgdSdUQVJHRVRESVInLCBOb25lLCB1J0Jyb3dzZScsIE5vbmUpLAotKHUnQWRtaW5JbnN0YWxsUG9pbnREbGcnLCB1J0Jhbm5lckxpbmUnLCB1J0xpbmUnLCAwLCA0NCwgMzc0LCAwLCAxLCBOb25lLCBOb25lLCBOb25lLCBOb25lKSwKLSh1J0FkbWluSW5zdGFsbFBvaW50RGxnJywgdSdCb3R0b21MaW5lJywgdSdMaW5lJywgMCwgMjM0LCAzNzQsIDAsIDEsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUpLAotKHUnQWRtaW5JbnN0YWxsUG9pbnREbGcnLCB1J0NhbmNlbCcsIHUnUHVzaEJ1dHRvbicsIDMwNCwgMjQzLCA1NiwgMTcsIDMsIE5vbmUsIHUnW0J1dHRvblRleHRfQ2FuY2VsXScsIHUnQmFubmVyQml0bWFwJywgTm9uZSksCi0odSdBZG1pbkluc3RhbGxQb2ludERsZycsIHUnRGVzY3JpcHRpb24nLCB1J1RleHQnLCAyNSwgMjAsIDI4MCwgMjAsIDE5NjYxMSwgTm9uZSwgdSdQbGVhc2Ugc3BlY2lmeSBhIG5ldHdvcmsgbG9jYXRpb24gZm9yIHRoZSBzZXJ2ZXIgaW1hZ2Ugb2YgW1Byb2R1Y3ROYW1lXSBwcm9kdWN0JywgTm9uZSwgTm9uZSksCi0odSdBZG1pbkluc3RhbGxQb2ludERsZycsIHUnVGl0bGUnLCB1J1RleHQnLCAxNSwgNiwgMjAwLCAxNSwgMTk2NjExLCBOb25lLCB1J1tEbGdUaXRsZUZvbnRdTmV0d29yayBMb2NhdGlvbicsIE5vbmUsIE5vbmUpLAotKHUnQWRtaW5JbnN0YWxsUG9pbnREbGcnLCB1J0JhY2snLCB1J1B1c2hCdXR0b24nLCAxODAsIDI0MywgNTYsIDE3LCAzLCBOb25lLCB1J1tCdXR0b25UZXh0X0JhY2tdJywgdSdOZXh0JywgTm9uZSksCi0odSdBZG1pbkluc3RhbGxQb2ludERsZycsIHUnTmV4dCcsIHUnUHVzaEJ1dHRvbicsIDIzNiwgMjQzLCA1NiwgMTcsIDMsIE5vbmUsIHUnW0J1dHRvblRleHRfTmV4dF0nLCB1J0NhbmNlbCcsIE5vbmUpLAotKHUnQWRtaW5JbnN0YWxsUG9pbnREbGcnLCB1J0Jyb3dzZScsIHUnUHVzaEJ1dHRvbicsIDI4OSwgMTE5LCA1NiwgMTcsIDMsIE5vbmUsIHUnW0J1dHRvblRleHRfQnJvd3NlXScsIHUnQmFjaycsIE5vbmUpLAotKHUnQWRtaW5SZWdpc3RyYXRpb25EbGcnLCB1J0Jhbm5lckJpdG1hcCcsIHUnQml0bWFwJywgMCwgMCwgMzc0LCA0NCwgMSwgTm9uZSwgdSdbQmFubmVyQml0bWFwXScsIHUnT3JnYW5pemF0aW9uTGFiZWwnLCBOb25lKSwKLSh1J0FkbWluUmVnaXN0cmF0aW9uRGxnJywgdSdCYW5uZXJMaW5lJywgdSdMaW5lJywgMCwgNDQsIDM3NCwgMCwgMSwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSksCi0odSdBZG1pblJlZ2lzdHJhdGlvbkRsZycsIHUnQm90dG9tTGluZScsIHUnTGluZScsIDAsIDIzNCwgMzc0LCAwLCAxLCBOb25lLCBOb25lLCBOb25lLCBOb25lKSwKLSh1J0FkbWluUmVnaXN0cmF0aW9uRGxnJywgdSdDYW5jZWwnLCB1J1B1c2hCdXR0b24nLCAzMDQsIDI0MywgNTYsIDE3LCAzLCBOb25lLCB1J1tCdXR0b25UZXh0X0NhbmNlbF0nLCB1J0Jhbm5lckJpdG1hcCcsIE5vbmUpLAotKHUnQWRtaW5SZWdpc3RyYXRpb25EbGcnLCB1J0Rlc2NyaXB0aW9uJywgdSdUZXh0JywgMjUsIDIzLCAyODAsIDE1LCAxOTY2MTEsIE5vbmUsIHUnUGxlYXNlIGVudGVyIHlvdXIgY29tcGFueSBpbmZvcm1hdGlvbicsIE5vbmUsIE5vbmUpLAotKHUnQWRtaW5SZWdpc3RyYXRpb25EbGcnLCB1J1RpdGxlJywgdSdUZXh0JywgMTUsIDYsIDIwMCwgMTUsIDE5NjYxMSwgTm9uZSwgdSdbRGxnVGl0bGVGb250XUNvbXBhbnkgSW5mb3JtYXRpb24nLCBOb25lLCBOb25lKSwKLSh1J0FkbWluUmVnaXN0cmF0aW9uRGxnJywgdSdCYWNrJywgdSdQdXNoQnV0dG9uJywgMTgwLCAyNDMsIDU2LCAxNywgNjU1MzksIE5vbmUsIHUnW0J1dHRvblRleHRfQmFja10nLCB1J05leHQnLCBOb25lKSwKLSh1J0FkbWluUmVnaXN0cmF0aW9uRGxnJywgdSdOZXh0JywgdSdQdXNoQnV0dG9uJywgMjM2LCAyNDMsIDU2LCAxNywgMywgTm9uZSwgdSdbQnV0dG9uVGV4dF9OZXh0XScsIHUnQ2FuY2VsJywgTm9uZSksCi0odSdBZG1pblJlZ2lzdHJhdGlvbkRsZycsIHUnT3JnYW5pemF0aW9uTGFiZWwnLCB1J1RleHQnLCA0NSwgNzEsIDI4NSwgMzAsIDMsIE5vbmUsIHUnJlBsZWFzZSBlbnRlciB0aGUgbmFtZSBvZiB5b3VyIG9yZ2FuaXphdGlvbiBpbiB0aGUgYm94IGJlbG93LiAgVGhpcyB3aWxsIGJlIHVzZWQgYXMgZGVmYXVsdCBjb21wYW55IG5hbWUgZm9yIHN1YnNlcXVlbnQgaW5zdGFsbGF0aW9ucyBvZiBbUHJvZHVjdE5hbWVdOicsIHUnT3JnYW5pemF0aW9uRWRpdCcsIE5vbmUpLAotKHUnQWRtaW5SZWdpc3RyYXRpb25EbGcnLCB1J0NES2V5RWRpdCcsIHUnTWFza2VkRWRpdCcsIDQ1LCAxNDMsIDI1MCwgMTYsIDMsIHUnUElES0VZJywgdSdbUElEVGVtcGxhdGVdJywgdSdCYWNrJywgTm9uZSksCi0odSdBZG1pblJlZ2lzdHJhdGlvbkRsZycsIHUnQ0RLZXlMYWJlbCcsIHUnVGV4dCcsIDQ1LCAxMzAsIDUwLCAxMCwgMywgTm9uZSwgdSdDRCAmS2V5OicsIHUnQ0RLZXlFZGl0JywgTm9uZSksCi0odSdBZG1pblJlZ2lzdHJhdGlvbkRsZycsIHUnT3JnYW5pemF0aW9uRWRpdCcsIHUnRWRpdCcsIDQ1LCAxMDUsIDIyMCwgMTgsIDMsIHUnQ09NUEFOWU5BTUUnLCB1J3s4MH0nLCB1J0NES2V5TGFiZWwnLCBOb25lKSwKLSh1J0Jyb3dzZURsZycsIHUnVXAnLCB1J1B1c2hCdXR0b24nLCAyOTgsIDU1LCAxOSwgMTksIDM2NzAwMTksIE5vbmUsIHUnVXAnLCB1J05ld0ZvbGRlcicsIHUnVXAgT25lIExldmVsfCcpLAotKHUnQnJvd3NlRGxnJywgdSdCYW5uZXJCaXRtYXAnLCB1J0JpdG1hcCcsIDAsIDAsIDM3NCwgNDQsIDEsIE5vbmUsIHUnW0Jhbm5lckJpdG1hcF0nLCB1J1BhdGhFZGl0JywgTm9uZSksCi0odSdCcm93c2VEbGcnLCB1J1BhdGhFZGl0JywgdSdQYXRoRWRpdCcsIDg0LCAyMDIsIDI2MSwgMTgsIDExLCB1J19Ccm93c2VQcm9wZXJ0eScsIE5vbmUsIHUnT0snLCBOb25lKSwKLSh1J0Jyb3dzZURsZycsIHUnQmFubmVyTGluZScsIHUnTGluZScsIDAsIDQ0LCAzNzQsIDAsIDEsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUpLAotKHUnQnJvd3NlRGxnJywgdSdCb3R0b21MaW5lJywgdSdMaW5lJywgMCwgMjM0LCAzNzQsIDAsIDEsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUpLAotKHUnQnJvd3NlRGxnJywgdSdDYW5jZWwnLCB1J1B1c2hCdXR0b24nLCAyNDAsIDI0MywgNTYsIDE3LCAzLCBOb25lLCB1J1tCdXR0b25UZXh0X0NhbmNlbF0nLCB1J0NvbWJvTGFiZWwnLCBOb25lKSwKLSh1J0Jyb3dzZURsZycsIHUnQ29tYm9MYWJlbCcsIHUnVGV4dCcsIDI1LCA1OCwgNDQsIDEwLCAzLCBOb25lLCB1JyZMb29rIGluOicsIHUnRGlyZWN0b3J5Q29tYm8nLCBOb25lKSwKLSh1J0Jyb3dzZURsZycsIHUnRGlyZWN0b3J5Q29tYm8nLCB1J0RpcmVjdG9yeUNvbWJvJywgNzAsIDU1LCAyMjAsIDgwLCAzOTMyMjcsIHUnX0Jyb3dzZVByb3BlcnR5JywgTm9uZSwgdSdVcCcsIE5vbmUpLAotKHUnQnJvd3NlRGxnJywgdSdEZXNjcmlwdGlvbicsIHUnVGV4dCcsIDI1LCAyMywgMjgwLCAxNSwgMTk2NjExLCBOb25lLCB1J0Jyb3dzZSB0byB0aGUgZGVzdGluYXRpb24gZm9sZGVyJywgTm9uZSwgTm9uZSksCi0odSdCcm93c2VEbGcnLCB1J0RpcmVjdG9yeUxpc3QnLCB1J0RpcmVjdG9yeUxpc3QnLCAyNSwgODMsIDMyMCwgMTEwLCAxNSwgdSdfQnJvd3NlUHJvcGVydHknLCBOb25lLCB1J1BhdGhMYWJlbCcsIE5vbmUpLAotKHUnQnJvd3NlRGxnJywgdSdQYXRoTGFiZWwnLCB1J1RleHQnLCAyNSwgMjA1LCA1OSwgMTAsIDMsIE5vbmUsIHUnJkZvbGRlciBuYW1lOicsIHUnQmFubmVyQml0bWFwJywgTm9uZSksCi0odSdCcm93c2VEbGcnLCB1J05ld0ZvbGRlcicsIHUnUHVzaEJ1dHRvbicsIDMyNSwgNTUsIDE5LCAxOSwgMzY3MDAxOSwgTm9uZSwgdSdOZXcnLCB1J0RpcmVjdG9yeUxpc3QnLCB1J0NyZWF0ZSBBIE5ldyBGb2xkZXJ8JyksCi0odSdCcm93c2VEbGcnLCB1J09LJywgdSdQdXNoQnV0dG9uJywgMzA0LCAyNDMsIDU2LCAxNywgMywgTm9uZSwgdSdbQnV0dG9uVGV4dF9PS10nLCB1J0NhbmNlbCcsIE5vbmUpLAotKHUnQnJvd3NlRGxnJywgdSdUaXRsZScsIHUnVGV4dCcsIDE1LCA2LCAyMDAsIDE1LCAxOTY2MTEsIE5vbmUsIHUnW0RsZ1RpdGxlRm9udF1DaGFuZ2UgY3VycmVudCBkZXN0aW5hdGlvbiBmb2xkZXInLCBOb25lLCBOb25lKSwKLSh1J0NhbmNlbERsZycsIHUnVGV4dCcsIHUnVGV4dCcsIDQ4LCAxNSwgMTk0LCAzMCwgMywgTm9uZSwgdSdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gY2FuY2VsIFtQcm9kdWN0TmFtZV0gaW5zdGFsbGF0aW9uPycsIE5vbmUsIE5vbmUpLAotKHUnQ2FuY2VsRGxnJywgdSdJY29uJywgdSdJY29uJywgMTUsIDE1LCAyNCwgMjQsIDUyNDI4ODEsIE5vbmUsIHUnW0luZm9JY29uXScsIE5vbmUsIHUnSW5mb3JtYXRpb24gaWNvbnwnKSwKLSh1J0NhbmNlbERsZycsIHUnTm8nLCB1J1B1c2hCdXR0b24nLCAxMzIsIDU3LCA1NiwgMTcsIDMsIE5vbmUsIHUnW0J1dHRvblRleHRfTm9dJywgdSdZZXMnLCBOb25lKSwKLSh1J0NhbmNlbERsZycsIHUnWWVzJywgdSdQdXNoQnV0dG9uJywgNzIsIDU3LCA1NiwgMTcsIDMsIE5vbmUsIHUnW0J1dHRvblRleHRfWWVzXScsIHUnTm8nLCBOb25lKSwKLSh1J0N1c3RvbWl6ZURsZycsIHUnVGV4dCcsIHUnVGV4dCcsIDI1LCA1NSwgMzIwLCAyMCwgMywgTm9uZSwgdSdDbGljayBvbiB0aGUgaWNvbnMgaW4gdGhlIHRyZWUgYmVsb3cgdG8gY2hhbmdlIHRoZSB3YXkgZmVhdHVyZXMgd2lsbCBiZSBpbnN0YWxsZWQuJywgTm9uZSwgTm9uZSksCi0odSdDdXN0b21pemVEbGcnLCB1J0Jhbm5lckJpdG1hcCcsIHUnQml0bWFwJywgMCwgMCwgMzc0LCA0NCwgMSwgTm9uZSwgdSdbQmFubmVyQml0bWFwXScsIHUnVHJlZScsIE5vbmUpLAotKHUnQ3VzdG9taXplRGxnJywgdSdCYW5uZXJMaW5lJywgdSdMaW5lJywgMCwgNDQsIDM3NCwgMCwgMSwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSksCi0odSdDdXN0b21pemVEbGcnLCB1J0JvdHRvbUxpbmUnLCB1J0xpbmUnLCAwLCAyMzQsIDM3NCwgMCwgMSwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSksCi0odSdDdXN0b21pemVEbGcnLCB1J0NhbmNlbCcsIHUnUHVzaEJ1dHRvbicsIDMwNCwgMjQzLCA1NiwgMTcsIDMsIE5vbmUsIHUnW0J1dHRvblRleHRfQ2FuY2VsXScsIHUnQmFubmVyQml0bWFwJywgTm9uZSksCi0odSdDdXN0b21pemVEbGcnLCB1J0Rlc2NyaXB0aW9uJywgdSdUZXh0JywgMjUsIDIzLCAyODAsIDE1LCAxOTY2MTEsIE5vbmUsIHUnU2VsZWN0IHRoZSB3YXkgeW91IHdhbnQgZmVhdHVyZXMgdG8gYmUgaW5zdGFsbGVkLicsIE5vbmUsIE5vbmUpLAotKHUnQ3VzdG9taXplRGxnJywgdSdUaXRsZScsIHUnVGV4dCcsIDE1LCA2LCAyMDAsIDE1LCAxOTY2MTEsIE5vbmUsIHUnW0RsZ1RpdGxlRm9udF1DdXN0b20gU2V0dXAnLCBOb25lLCBOb25lKSwKLSh1J0N1c3RvbWl6ZURsZycsIHUnQmFjaycsIHUnUHVzaEJ1dHRvbicsIDE4MCwgMjQzLCA1NiwgMTcsIDMsIE5vbmUsIHUnW0J1dHRvblRleHRfQmFja10nLCB1J05leHQnLCBOb25lKSwKLSh1J0N1c3RvbWl6ZURsZycsIHUnTmV4dCcsIHUnUHVzaEJ1dHRvbicsIDIzNiwgMjQzLCA1NiwgMTcsIDMsIE5vbmUsIHUnW0J1dHRvblRleHRfTmV4dF0nLCB1J0NhbmNlbCcsIE5vbmUpLAotKHUnQ3VzdG9taXplRGxnJywgdSdCcm93c2UnLCB1J1B1c2hCdXR0b24nLCAzMDQsIDIwMCwgNTYsIDE3LCAzLCBOb25lLCB1J1tCdXR0b25UZXh0X0Jyb3dzZV0nLCB1J1Jlc2V0JywgTm9uZSksCi0odSdDdXN0b21pemVEbGcnLCB1J1RyZWUnLCB1J1NlbGVjdGlvblRyZWUnLCAyNSwgODUsIDE3NSwgOTUsIDcsIHUnX0Jyb3dzZVByb3BlcnR5JywgdSdUcmVlIG9mIHNlbGVjdGlvbnMnLCB1J0Jyb3dzZScsIE5vbmUpLAotKHUnQ3VzdG9taXplRGxnJywgdSdCb3gnLCB1J0dyb3VwQm94JywgMjEwLCA4MSwgMTQwLCA5OCwgMSwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSksCi0odSdDdXN0b21pemVEbGcnLCB1J1Jlc2V0JywgdSdQdXNoQnV0dG9uJywgNDIsIDI0MywgNTYsIDE3LCAzLCBOb25lLCB1J1tCdXR0b25UZXh0X1Jlc2V0XScsIHUnRGlza0Nvc3QnLCBOb25lKSwKLSh1J0N1c3RvbWl6ZURsZycsIHUnRGlza0Nvc3QnLCB1J1B1c2hCdXR0b24nLCAxMTEsIDI0MywgNTYsIDE3LCAzLCBOb25lLCB1J0Rpc2sgJlVzYWdlJywgdSdCYWNrJywgTm9uZSksCi0odSdDdXN0b21pemVEbGcnLCB1J0l0ZW1EZXNjcmlwdGlvbicsIHUnVGV4dCcsIDIxNSwgOTAsIDEzMSwgMzAsIDMsIE5vbmUsIHUnTXVsdGlsaW5lIGRlc2NyaXB0aW9uIG9mIHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgaXRlbS4nLCBOb25lLCBOb25lKSwKLSh1J0N1c3RvbWl6ZURsZycsIHUnSXRlbVNpemUnLCB1J1RleHQnLCAyMTUsIDEzMCwgMTMxLCA0NSwgMywgTm9uZSwgdSdUaGUgc2l6ZSBvZiB0aGUgY3VycmVudGx5IHNlbGVjdGVkIGl0ZW0uJywgTm9uZSwgTm9uZSksCi0odSdDdXN0b21pemVEbGcnLCB1J0xvY2F0aW9uJywgdSdUZXh0JywgNzUsIDIwMCwgMjE1LCAyMCwgMywgTm9uZSwgdSI8VGhlIHNlbGVjdGlvbidzIHBhdGg+IiwgTm9uZSwgTm9uZSksCi0odSdDdXN0b21pemVEbGcnLCB1J0xvY2F0aW9uTGFiZWwnLCB1J1RleHQnLCAyNSwgMjAwLCA1MCwgMTAsIDMsIE5vbmUsIHUnTG9jYXRpb246JywgTm9uZSwgTm9uZSksCi0odSdEaXNrQ29zdERsZycsIHUnVGV4dCcsIHUnVGV4dCcsIDIwLCA1MywgMzMwLCA0MCwgMywgTm9uZSwgdSdUaGUgaGlnaGxpZ2h0ZWQgdm9sdW1lcyAoaWYgYW55KSBkbyBub3QgaGF2ZSBlbm91Z2ggZGlzayBzcGFjZSBhdmFpbGFibGUgZm9yIHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgZmVhdHVyZXMuICBZb3UgY2FuIGVpdGhlciByZW1vdmUgc29tZSBmaWxlcyBmcm9tIHRoZSBoaWdobGlnaHRlZCB2b2x1bWVzLCBvciBjaG9vc2UgdG8gaW5zdGFsbCBsZXNzIGZlYXR1cmVzIG9udG8gbG9jYWwgZHJpdmUocyksIG9yIHNlbGVjdCBkaWZmZXJlbnQgZGVzdGluYXRpb24gZHJpdmUocykuJywgTm9uZSwgTm9uZSksCi0odSdEaXNrQ29zdERsZycsIHUnQmFubmVyQml0bWFwJywgdSdCaXRtYXAnLCAwLCAwLCAzNzQsIDQ0LCAxLCBOb25lLCB1J1tCYW5uZXJCaXRtYXBdJywgdSdPSycsIE5vbmUpLAotKHUnRGlza0Nvc3REbGcnLCB1J0Jhbm5lckxpbmUnLCB1J0xpbmUnLCAwLCA0NCwgMzc0LCAwLCAxLCBOb25lLCBOb25lLCBOb25lLCBOb25lKSwKLSh1J0Rpc2tDb3N0RGxnJywgdSdCb3R0b21MaW5lJywgdSdMaW5lJywgMCwgMjM0LCAzNzQsIDAsIDEsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUpLAotKHUnRGlza0Nvc3REbGcnLCB1J0Rlc2NyaXB0aW9uJywgdSdUZXh0JywgMjAsIDIwLCAyODAsIDIwLCAxOTY2MTEsIE5vbmUsIHUnVGhlIGRpc2sgc3BhY2UgcmVxdWlyZWQgZm9yIHRoZSBpbnN0YWxsYXRpb24gb2YgdGhlIHNlbGVjdGVkIGZlYXR1cmVzLicsIE5vbmUsIE5vbmUpLAotKHUnRGlza0Nvc3REbGcnLCB1J09LJywgdSdQdXNoQnV0dG9uJywgMzA0LCAyNDMsIDU2LCAxNywgMywgTm9uZSwgdSdbQnV0dG9uVGV4dF9PS10nLCB1J0Jhbm5lckJpdG1hcCcsIE5vbmUpLAotKHUnRGlza0Nvc3REbGcnLCB1J1RpdGxlJywgdSdUZXh0JywgMTUsIDYsIDIwMCwgMTUsIDE5NjYxMSwgTm9uZSwgdSdbRGxnVGl0bGVGb250XURpc2sgU3BhY2UgUmVxdWlyZW1lbnRzJywgTm9uZSwgTm9uZSksCi0odSdEaXNrQ29zdERsZycsIHUnVm9sdW1lTGlzdCcsIHUnVm9sdW1lQ29zdExpc3QnLCAyMCwgMTAwLCAzMzAsIDEyMCwgMzkzMjIzLCBOb25lLCB1J3sxMjB9ezcwfXs3MH17NzB9ezcwfScsIE5vbmUsIE5vbmUpLAotKHUnRXJyb3JEbGcnLCB1J1knLCB1J1B1c2hCdXR0b24nLCAxMDAsIDgwLCA1NiwgMTcsIDMsIE5vbmUsIHUnW0J1dHRvblRleHRfWWVzXScsIE5vbmUsIE5vbmUpLAotKHUnRXJyb3JEbGcnLCB1J0EnLCB1J1B1c2hCdXR0b24nLCAxMDAsIDgwLCA1NiwgMTcsIDMsIE5vbmUsIHUnW0J1dHRvblRleHRfQ2FuY2VsXScsIE5vbmUsIE5vbmUpLAotKHUnRXJyb3JEbGcnLCB1J0MnLCB1J1B1c2hCdXR0b24nLCAxMDAsIDgwLCA1NiwgMTcsIDMsIE5vbmUsIHUnW0J1dHRvblRleHRfQ2FuY2VsXScsIE5vbmUsIE5vbmUpLAotKHUnRXJyb3JEbGcnLCB1J0Vycm9ySWNvbicsIHUnSWNvbicsIDE1LCAxNSwgMjQsIDI0LCA1MjQyODgxLCBOb25lLCB1J1tJbmZvSWNvbl0nLCBOb25lLCB1J0luZm9ybWF0aW9uIGljb258JyksCi0odSdFcnJvckRsZycsIHUnRXJyb3JUZXh0JywgdSdUZXh0JywgNDgsIDE1LCAyMDUsIDYwLCAzLCBOb25lLCB1J0luZm9ybWF0aW9uIHRleHQnLCBOb25lLCBOb25lKSwKLSh1J0Vycm9yRGxnJywgdSdJJywgdSdQdXNoQnV0dG9uJywgMTAwLCA4MCwgNTYsIDE3LCAzLCBOb25lLCB1J1tCdXR0b25UZXh0X0lnbm9yZV0nLCBOb25lLCBOb25lKSwKLSh1J0Vycm9yRGxnJywgdSdOJywgdSdQdXNoQnV0dG9uJywgMTAwLCA4MCwgNTYsIDE3LCAzLCBOb25lLCB1J1tCdXR0b25UZXh0X05vXScsIE5vbmUsIE5vbmUpLAotKHUnRXJyb3JEbGcnLCB1J08nLCB1J1B1c2hCdXR0b24nLCAxMDAsIDgwLCA1NiwgMTcsIDMsIE5vbmUsIHUnW0J1dHRvblRleHRfT0tdJywgTm9uZSwgTm9uZSksCi0odSdFcnJvckRsZycsIHUnUicsIHUnUHVzaEJ1dHRvbicsIDEwMCwgODAsIDU2LCAxNywgMywgTm9uZSwgdSdbQnV0dG9uVGV4dF9SZXRyeV0nLCBOb25lLCBOb25lKSwKLSh1J0ZpbGVzSW5Vc2UnLCB1J1RleHQnLCB1J1RleHQnLCAyMCwgNTUsIDMzMCwgMzAsIDMsIE5vbmUsIHUnVGhlIGZvbGxvd2luZyBhcHBsaWNhdGlvbnMgYXJlIHVzaW5nIGZpbGVzIHRoYXQgbmVlZCB0byBiZSB1cGRhdGVkIGJ5IHRoaXMgc2V0dXAuIENsb3NlIHRoZXNlIGFwcGxpY2F0aW9ucyBhbmQgdGhlbiBjbGljayBSZXRyeSB0byBjb250aW51ZSB0aGUgaW5zdGFsbGF0aW9uIG9yIENhbmNlbCB0byBleGl0IGl0LicsIE5vbmUsIE5vbmUpLAotKHUnRmlsZXNJblVzZScsIHUnQmFubmVyQml0bWFwJywgdSdCaXRtYXAnLCAwLCAwLCAzNzQsIDQ0LCAxLCBOb25lLCB1J1tCYW5uZXJCaXRtYXBdJywgdSdSZXRyeScsIE5vbmUpLAotKHUnRmlsZXNJblVzZScsIHUnQmFubmVyTGluZScsIHUnTGluZScsIDAsIDQ0LCAzNzQsIDAsIDEsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUpLAotKHUnRmlsZXNJblVzZScsIHUnQm90dG9tTGluZScsIHUnTGluZScsIDAsIDIzNCwgMzc0LCAwLCAxLCBOb25lLCBOb25lLCBOb25lLCBOb25lKSwKLSh1J0ZpbGVzSW5Vc2UnLCB1J0Rlc2NyaXB0aW9uJywgdSdUZXh0JywgMjAsIDIzLCAyODAsIDIwLCAxOTY2MTEsIE5vbmUsIHUnU29tZSBmaWxlcyB0aGF0IG5lZWQgdG8gYmUgdXBkYXRlZCBhcmUgY3VycmVudGx5IGluIHVzZS4nLCBOb25lLCBOb25lKSwKLSh1J0ZpbGVzSW5Vc2UnLCB1J1RpdGxlJywgdSdUZXh0JywgMTUsIDYsIDIwMCwgMTUsIDE5NjYxMSwgTm9uZSwgdSdbRGxnVGl0bGVGb250XUZpbGVzIGluIFVzZScsIE5vbmUsIE5vbmUpLAotKHUnRmlsZXNJblVzZScsIHUnUmV0cnknLCB1J1B1c2hCdXR0b24nLCAzMDQsIDI0MywgNTYsIDE3LCAzLCBOb25lLCB1J1tCdXR0b25UZXh0X1JldHJ5XScsIHUnSWdub3JlJywgTm9uZSksCi0odSdGaWxlc0luVXNlJywgdSdFeGl0JywgdSdQdXNoQnV0dG9uJywgMTY2LCAyNDMsIDU2LCAxNywgMywgTm9uZSwgdSdbQnV0dG9uVGV4dF9FeGl0XScsIHUnQmFubmVyQml0bWFwJywgTm9uZSksCi0odSdGaWxlc0luVXNlJywgdSdJZ25vcmUnLCB1J1B1c2hCdXR0b24nLCAyMzUsIDI0MywgNTYsIDE3LCAzLCBOb25lLCB1J1tCdXR0b25UZXh0X0lnbm9yZV0nLCB1J0V4aXQnLCBOb25lKSwKLSh1J0ZpbGVzSW5Vc2UnLCB1J0xpc3QnLCB1J0xpc3RCb3gnLCAyMCwgODcsIDMzMCwgMTMwLCA3LCB1J0ZpbGVJblVzZVByb2Nlc3MnLCBOb25lLCBOb25lLCBOb25lKSwKLSh1J0xpY2Vuc2VBZ3JlZW1lbnREbGcnLCB1J0Jhbm5lckJpdG1hcCcsIHUnQml0bWFwJywgMCwgMCwgMzc0LCA0NCwgMSwgTm9uZSwgdSdbQmFubmVyQml0bWFwXScsIHUnQWdyZWVtZW50VGV4dCcsIE5vbmUpLAotKHUnTGljZW5zZUFncmVlbWVudERsZycsIHUnQmFubmVyTGluZScsIHUnTGluZScsIDAsIDQ0LCAzNzQsIDAsIDEsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUpLAotKHUnTGljZW5zZUFncmVlbWVudERsZycsIHUnQm90dG9tTGluZScsIHUnTGluZScsIDAsIDIzNCwgMzc0LCAwLCAxLCBOb25lLCBOb25lLCBOb25lLCBOb25lKSwKLSh1J0xpY2Vuc2VBZ3JlZW1lbnREbGcnLCB1J0NhbmNlbCcsIHUnUHVzaEJ1dHRvbicsIDMwNCwgMjQzLCA1NiwgMTcsIDMsIE5vbmUsIHUnW0J1dHRvblRleHRfQ2FuY2VsXScsIHUnQmFubmVyQml0bWFwJywgTm9uZSksCi0odSdMaWNlbnNlQWdyZWVtZW50RGxnJywgdSdEZXNjcmlwdGlvbicsIHUnVGV4dCcsIDI1LCAyMywgMjgwLCAxNSwgMTk2NjExLCBOb25lLCB1J1BsZWFzZSByZWFkIHRoZSBmb2xsb3dpbmcgbGljZW5zZSBhZ3JlZW1lbnQgY2FyZWZ1bGx5JywgTm9uZSwgTm9uZSksCi0odSdMaWNlbnNlQWdyZWVtZW50RGxnJywgdSdUaXRsZScsIHUnVGV4dCcsIDE1LCA2LCAyMDAsIDE1LCAxOTY2MTEsIE5vbmUsIHUnW0RsZ1RpdGxlRm9udF1FbmQtVXNlciBMaWNlbnNlIEFncmVlbWVudCcsIE5vbmUsIE5vbmUpLAotKHUnTGljZW5zZUFncmVlbWVudERsZycsIHUnQmFjaycsIHUnUHVzaEJ1dHRvbicsIDE4MCwgMjQzLCA1NiwgMTcsIDMsIE5vbmUsIHUnW0J1dHRvblRleHRfQmFja10nLCB1J05leHQnLCBOb25lKSwKLSh1J0xpY2Vuc2VBZ3JlZW1lbnREbGcnLCB1J05leHQnLCB1J1B1c2hCdXR0b24nLCAyMzYsIDI0MywgNTYsIDE3LCAzLCBOb25lLCB1J1tCdXR0b25UZXh0X05leHRdJywgdSdDYW5jZWwnLCBOb25lKSwKLSh1J0xpY2Vuc2VBZ3JlZW1lbnREbGcnLCB1J0FncmVlbWVudFRleHQnLCB1J1Njcm9sbGFibGVUZXh0JywgMjAsIDYwLCAzMzAsIDEyMCwgNywgTm9uZSwgdSd7XFxydGYxXFxhbnNpXFxhbnNpY3BnMTI1MlxcZGVmZjBcXGRlZnRhYjcyMHtcXGZvbnR0Ymx7XFxmMFxcZnJvbWFuXFxmcHJxMiBUaW1lcyBOZXcgUm9tYW47fX17XFxjb2xvcnRibFxccmVkMFxcZ3JlZW4wXFxibHVlMDt9IFxcZGVmbGFuZzEwMzNcXGhvcnpkb2N7XFwqXFxmY2hhcnMgfXtcXCpcXGxjaGFycyB9XFxwYXJkXFxwbGFpblxcZjBcXGZzMjAgPFlvdXIgbGljZW5zZSBhZ3JlZW1lbnQgc2hvdWxkIGdvIGhlcmUuPlxccGFyIH0nLCB1J0J1dHRvbnMnLCBOb25lKSwKLSh1J0xpY2Vuc2VBZ3JlZW1lbnREbGcnLCB1J0J1dHRvbnMnLCB1J1JhZGlvQnV0dG9uR3JvdXAnLCAyMCwgMTg3LCAzMzAsIDQwLCAzLCB1J0lBZ3JlZScsIE5vbmUsIHUnQmFjaycsIE5vbmUpLAotKHUnTWFpbnRlbmFuY2VUeXBlRGxnJywgdSdCYW5uZXJCaXRtYXAnLCB1J0JpdG1hcCcsIDAsIDAsIDM3NCwgNDQsIDEsIE5vbmUsIHUnW0Jhbm5lckJpdG1hcF0nLCB1J0NoYW5nZUxhYmVsJywgTm9uZSksCi0odSdNYWludGVuYW5jZVR5cGVEbGcnLCB1J0Jhbm5lckxpbmUnLCB1J0xpbmUnLCAwLCA0NCwgMzc0LCAwLCAxLCBOb25lLCBOb25lLCBOb25lLCBOb25lKSwKLSh1J01haW50ZW5hbmNlVHlwZURsZycsIHUnQm90dG9tTGluZScsIHUnTGluZScsIDAsIDIzNCwgMzc0LCAwLCAxLCBOb25lLCBOb25lLCBOb25lLCBOb25lKSwKLSh1J01haW50ZW5hbmNlVHlwZURsZycsIHUnQ2FuY2VsJywgdSdQdXNoQnV0dG9uJywgMzA0LCAyNDMsIDU2LCAxNywgMywgTm9uZSwgdSdbQnV0dG9uVGV4dF9DYW5jZWxdJywgdSdCYW5uZXJCaXRtYXAnLCBOb25lKSwKLSh1J01haW50ZW5hbmNlVHlwZURsZycsIHUnRGVzY3JpcHRpb24nLCB1J1RleHQnLCAyNSwgMjMsIDI4MCwgMjAsIDE5NjYxMSwgTm9uZSwgdSdTZWxlY3QgdGhlIG9wZXJhdGlvbiB5b3Ugd2lzaCB0byBwZXJmb3JtLicsIE5vbmUsIE5vbmUpLAotKHUnTWFpbnRlbmFuY2VUeXBlRGxnJywgdSdUaXRsZScsIHUnVGV4dCcsIDE1LCA2LCAyNDAsIDE1LCAxOTY2MTEsIE5vbmUsIHUnW0RsZ1RpdGxlRm9udF1Nb2RpZnksIFJlcGFpciBvciBSZW1vdmUgaW5zdGFsbGF0aW9uJywgTm9uZSwgTm9uZSksCi0odSdNYWludGVuYW5jZVR5cGVEbGcnLCB1J0JhY2snLCB1J1B1c2hCdXR0b24nLCAxODAsIDI0MywgNTYsIDE3LCAzLCBOb25lLCB1J1tCdXR0b25UZXh0X0JhY2tdJywgdSdOZXh0JywgTm9uZSksCi0odSdNYWludGVuYW5jZVR5cGVEbGcnLCB1J05leHQnLCB1J1B1c2hCdXR0b24nLCAyMzYsIDI0MywgNTYsIDE3LCAxLCBOb25lLCB1J1tCdXR0b25UZXh0X05leHRdJywgdSdDYW5jZWwnLCBOb25lKSwKLSh1J01haW50ZW5hbmNlVHlwZURsZycsIHUnQ2hhbmdlTGFiZWwnLCB1J1RleHQnLCAxMDUsIDY1LCAxMDAsIDEwLCAzLCBOb25lLCB1J1tEbGdUaXRsZUZvbnRdJk1vZGlmeScsIHUnQ2hhbmdlQnV0dG9uJywgTm9uZSksCi0odSdNYWludGVuYW5jZVR5cGVEbGcnLCB1J0NoYW5nZUJ1dHRvbicsIHUnUHVzaEJ1dHRvbicsIDUwLCA2NSwgMzgsIDM4LCA1NzY3MTcxLCBOb25lLCB1J1tDdXN0b21TZXR1cEljb25dJywgdSdSZXBhaXJMYWJlbCcsIHUnTW9kaWZ5IEluc3RhbGxhdGlvbnwnKSwKLSh1J01haW50ZW5hbmNlVHlwZURsZycsIHUnUmVwYWlyTGFiZWwnLCB1J1RleHQnLCAxMDUsIDExNCwgMTAwLCAxMCwgMywgTm9uZSwgdSdbRGxnVGl0bGVGb250XVJlJnBhaXInLCB1J1JlcGFpckJ1dHRvbicsIE5vbmUpLAotKHUnTWFpbnRlbmFuY2VUeXBlRGxnJywgdSdDaGFuZ2VUZXh0JywgdSdUZXh0JywgMTA1LCA3OCwgMjMwLCAyMCwgMywgTm9uZSwgdSdBbGxvd3MgdXNlcnMgdG8gY2hhbmdlIHRoZSB3YXkgZmVhdHVyZXMgYXJlIGluc3RhbGxlZC4nLCBOb25lLCBOb25lKSwKLSh1J01haW50ZW5hbmNlVHlwZURsZycsIHUnUmVtb3ZlQnV0dG9uJywgdSdQdXNoQnV0dG9uJywgNTAsIDE2MywgMzgsIDM4LCA1NzY3MTcxLCBOb25lLCB1J1tSZW1vdmVJY29uXScsIHUnQmFjaycsIHUnUmVtb3ZlIEluc3RhbGxhdGlvbnwnKSwKLSh1J01haW50ZW5hbmNlVHlwZURsZycsIHUnUmVtb3ZlTGFiZWwnLCB1J1RleHQnLCAxMDUsIDE2MywgMTAwLCAxMCwgMywgTm9uZSwgdSdbRGxnVGl0bGVGb250XSZSZW1vdmUnLCB1J1JlbW92ZUJ1dHRvbicsIE5vbmUpLAotKHUnTWFpbnRlbmFuY2VUeXBlRGxnJywgdSdSZW1vdmVUZXh0JywgdSdUZXh0JywgMTA1LCAxNzYsIDIzMCwgMjAsIDMsIE5vbmUsIHUnUmVtb3ZlcyBbUHJvZHVjdE5hbWVdIGZyb20geW91ciBjb21wdXRlci4nLCBOb25lLCBOb25lKSwKLSh1J01haW50ZW5hbmNlVHlwZURsZycsIHUnUmVwYWlyQnV0dG9uJywgdSdQdXNoQnV0dG9uJywgNTAsIDExNCwgMzgsIDM4LCA1NzY3MTcxLCBOb25lLCB1J1tSZXBhaXJJY29uXScsIHUnUmVtb3ZlTGFiZWwnLCB1J1JlcGFpciBJbnN0YWxsYXRpb258JyksCi0odSdNYWludGVuYW5jZVR5cGVEbGcnLCB1J1JlcGFpclRleHQnLCB1J1RleHQnLCAxMDUsIDEyNywgMjMwLCAzMCwgMywgTm9uZSwgdSdSZXBhaXJzIGVycm9ycyBpbiB0aGUgbW9zdCByZWNlbnQgaW5zdGFsbGF0aW9uIHN0YXRlIC0gZml4ZXMgbWlzc2luZyBvciBjb3JydXB0IGZpbGVzLCBzaG9ydGN1dHMgYW5kIHJlZ2lzdHJ5IGVudHJpZXMuJywgTm9uZSwgTm9uZSksCi0odSdNYWludGVuYW5jZVdlbGNvbWVEbGcnLCB1J0JpdG1hcCcsIHUnQml0bWFwJywgMCwgMCwgMzcwLCAyMzQsIDEsIE5vbmUsIHUnW0RpYWxvZ0JpdG1hcF0nLCB1J0JhY2snLCBOb25lKSwKLSh1J01haW50ZW5hbmNlV2VsY29tZURsZycsIHUnQm90dG9tTGluZScsIHUnTGluZScsIDAsIDIzNCwgMzc0LCAwLCAxLCBOb25lLCBOb25lLCBOb25lLCBOb25lKSwKLSh1J01haW50ZW5hbmNlV2VsY29tZURsZycsIHUnQ2FuY2VsJywgdSdQdXNoQnV0dG9uJywgMzA0LCAyNDMsIDU2LCAxNywgMywgTm9uZSwgdSdbQnV0dG9uVGV4dF9DYW5jZWxdJywgdSdCaXRtYXAnLCBOb25lKSwKLSh1J01haW50ZW5hbmNlV2VsY29tZURsZycsIHUnRGVzY3JpcHRpb24nLCB1J1RleHQnLCAxMzUsIDcwLCAyMjAsIDYwLCAxOTY2MTEsIE5vbmUsIHUnVGhlIFtXaXphcmRdIHdpbGwgYWxsb3cgeW91IHRvIGNoYW5nZSB0aGUgd2F5IFtQcm9kdWN0TmFtZV0gZmVhdHVyZXMgYXJlIGluc3RhbGxlZCBvbiB5b3VyIGNvbXB1dGVyIG9yIGV2ZW4gdG8gcmVtb3ZlIFtQcm9kdWN0TmFtZV0gZnJvbSB5b3VyIGNvbXB1dGVyLiAgQ2xpY2sgTmV4dCB0byBjb250aW51ZSBvciBDYW5jZWwgdG8gZXhpdCB0aGUgW1dpemFyZF0uJywgTm9uZSwgTm9uZSksCi0odSdNYWludGVuYW5jZVdlbGNvbWVEbGcnLCB1J1RpdGxlJywgdSdUZXh0JywgMTM1LCAyMCwgMjIwLCA2MCwgMTk2NjExLCBOb25lLCB1J3tcXFZlcmRhbmFCb2xkMTN9V2VsY29tZSB0byB0aGUgW1Byb2R1Y3ROYW1lXSBbV2l6YXJkXScsIE5vbmUsIE5vbmUpLAotKHUnTWFpbnRlbmFuY2VXZWxjb21lRGxnJywgdSdCYWNrJywgdSdQdXNoQnV0dG9uJywgMTgwLCAyNDMsIDU2LCAxNywgMSwgTm9uZSwgdSdbQnV0dG9uVGV4dF9CYWNrXScsIHUnTmV4dCcsIE5vbmUpLAotKHUnTWFpbnRlbmFuY2VXZWxjb21lRGxnJywgdSdOZXh0JywgdSdQdXNoQnV0dG9uJywgMjM2LCAyNDMsIDU2LCAxNywgMywgTm9uZSwgdSdbQnV0dG9uVGV4dF9OZXh0XScsIHUnQ2FuY2VsJywgTm9uZSksCi0odSdPdXRPZkRpc2tEbGcnLCB1J1RleHQnLCB1J1RleHQnLCAyMCwgNTMsIDMzMCwgNDAsIDMsIE5vbmUsIHUnVGhlIGhpZ2hsaWdodGVkIHZvbHVtZXMgZG8gbm90IGhhdmUgZW5vdWdoIGRpc2sgc3BhY2UgYXZhaWxhYmxlIGZvciB0aGUgY3VycmVudGx5IHNlbGVjdGVkIGZlYXR1cmVzLiAgWW91IGNhbiBlaXRoZXIgcmVtb3ZlIHNvbWUgZmlsZXMgZnJvbSB0aGUgaGlnaGxpZ2h0ZWQgdm9sdW1lcywgb3IgY2hvb3NlIHRvIGluc3RhbGwgbGVzcyBmZWF0dXJlcyBvbnRvIGxvY2FsIGRyaXZlKHMpLCBvciBzZWxlY3QgZGlmZmVyZW50IGRlc3RpbmF0aW9uIGRyaXZlKHMpLicsIE5vbmUsIE5vbmUpLAotKHUnT3V0T2ZEaXNrRGxnJywgdSdCYW5uZXJCaXRtYXAnLCB1J0JpdG1hcCcsIDAsIDAsIDM3NCwgNDQsIDEsIE5vbmUsIHUnW0Jhbm5lckJpdG1hcF0nLCB1J09LJywgTm9uZSksCi0odSdPdXRPZkRpc2tEbGcnLCB1J0Jhbm5lckxpbmUnLCB1J0xpbmUnLCAwLCA0NCwgMzc0LCAwLCAxLCBOb25lLCBOb25lLCBOb25lLCBOb25lKSwKLSh1J091dE9mRGlza0RsZycsIHUnQm90dG9tTGluZScsIHUnTGluZScsIDAsIDIzNCwgMzc0LCAwLCAxLCBOb25lLCBOb25lLCBOb25lLCBOb25lKSwKLSh1J091dE9mRGlza0RsZycsIHUnRGVzY3JpcHRpb24nLCB1J1RleHQnLCAyMCwgMjAsIDI4MCwgMjAsIDE5NjYxMSwgTm9uZSwgdSdEaXNrIHNwYWNlIHJlcXVpcmVkIGZvciB0aGUgaW5zdGFsbGF0aW9uIGV4Y2VlZHMgYXZhaWxhYmxlIGRpc2sgc3BhY2UuJywgTm9uZSwgTm9uZSksCi0odSdPdXRPZkRpc2tEbGcnLCB1J09LJywgdSdQdXNoQnV0dG9uJywgMzA0LCAyNDMsIDU2LCAxNywgMywgTm9uZSwgdSdbQnV0dG9uVGV4dF9PS10nLCB1J0Jhbm5lckJpdG1hcCcsIE5vbmUpLAotKHUnT3V0T2ZEaXNrRGxnJywgdSdUaXRsZScsIHUnVGV4dCcsIDE1LCA2LCAyMDAsIDE1LCAxOTY2MTEsIE5vbmUsIHUnW0RsZ1RpdGxlRm9udF1PdXQgb2YgRGlzayBTcGFjZScsIE5vbmUsIE5vbmUpLAotKHUnT3V0T2ZEaXNrRGxnJywgdSdWb2x1bWVMaXN0JywgdSdWb2x1bWVDb3N0TGlzdCcsIDIwLCAxMDAsIDMzMCwgMTIwLCAzOTMyMjMsIE5vbmUsIHUnezEyMH17NzB9ezcwfXs3MH17NzB9JywgTm9uZSwgTm9uZSksCi0odSdPdXRPZlJiRGlza0RsZycsIHUnVGV4dCcsIHUnVGV4dCcsIDIwLCA1MywgMzMwLCA0MCwgMywgTm9uZSwgdSdUaGUgaGlnaGxpZ2h0ZWQgdm9sdW1lcyBkbyBub3QgaGF2ZSBlbm91Z2ggZGlzayBzcGFjZSBhdmFpbGFibGUgZm9yIHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgZmVhdHVyZXMuICBZb3UgY2FuIGVpdGhlciByZW1vdmUgc29tZSBmaWxlcyBmcm9tIHRoZSBoaWdobGlnaHRlZCB2b2x1bWVzLCBvciBjaG9vc2UgdG8gaW5zdGFsbCBsZXNzIGZlYXR1cmVzIG9udG8gbG9jYWwgZHJpdmUocyksIG9yIHNlbGVjdCBkaWZmZXJlbnQgZGVzdGluYXRpb24gZHJpdmUocykuJywgTm9uZSwgTm9uZSksCi0odSdPdXRPZlJiRGlza0RsZycsIHUnQmFubmVyQml0bWFwJywgdSdCaXRtYXAnLCAwLCAwLCAzNzQsIDQ0LCAxLCBOb25lLCB1J1tCYW5uZXJCaXRtYXBdJywgdSdObycsIE5vbmUpLAotKHUnT3V0T2ZSYkRpc2tEbGcnLCB1J0Jhbm5lckxpbmUnLCB1J0xpbmUnLCAwLCA0NCwgMzc0LCAwLCAxLCBOb25lLCBOb25lLCBOb25lLCBOb25lKSwKLSh1J091dE9mUmJEaXNrRGxnJywgdSdCb3R0b21MaW5lJywgdSdMaW5lJywgMCwgMjM0LCAzNzQsIDAsIDEsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUpLAotKHUnT3V0T2ZSYkRpc2tEbGcnLCB1J0Rlc2NyaXB0aW9uJywgdSdUZXh0JywgMjAsIDIwLCAyODAsIDIwLCAxOTY2MTEsIE5vbmUsIHUnRGlzayBzcGFjZSByZXF1aXJlZCBmb3IgdGhlIGluc3RhbGxhdGlvbiBleGNlZWRzIGF2YWlsYWJsZSBkaXNrIHNwYWNlLicsIE5vbmUsIE5vbmUpLAotKHUnT3V0T2ZSYkRpc2tEbGcnLCB1J1RpdGxlJywgdSdUZXh0JywgMTUsIDYsIDIwMCwgMTUsIDE5NjYxMSwgTm9uZSwgdSdbRGxnVGl0bGVGb250XU91dCBvZiBEaXNrIFNwYWNlJywgTm9uZSwgTm9uZSksCi0odSdPdXRPZlJiRGlza0RsZycsIHUnTm8nLCB1J1B1c2hCdXR0b24nLCAzMDQsIDI0MywgNTYsIDE3LCAzLCBOb25lLCB1J1tCdXR0b25UZXh0X05vXScsIHUnWWVzJywgTm9uZSksCi0odSdPdXRPZlJiRGlza0RsZycsIHUnWWVzJywgdSdQdXNoQnV0dG9uJywgMjQwLCAyNDMsIDU2LCAxNywgMywgTm9uZSwgdSdbQnV0dG9uVGV4dF9ZZXNdJywgdSdCYW5uZXJCaXRtYXAnLCBOb25lKSwKLSh1J091dE9mUmJEaXNrRGxnJywgdSdWb2x1bWVMaXN0JywgdSdWb2x1bWVDb3N0TGlzdCcsIDIwLCAxNDAsIDMzMCwgODAsIDQ1ODc1MjcsIE5vbmUsIHUnezEyMH17NzB9ezcwfXs3MH17NzB9JywgTm9uZSwgTm9uZSksCi0odSdPdXRPZlJiRGlza0RsZycsIHUnVGV4dDInLCB1J1RleHQnLCAyMCwgOTQsIDMzMCwgNDAsIDMsIE5vbmUsIHUiQWx0ZXJuYXRpdmVseSwgeW91IG1heSBjaG9vc2UgdG8gZGlzYWJsZSB0aGUgaW5zdGFsbGVyJ3Mgcm9sbGJhY2sgZnVuY3Rpb25hbGl0eS4gIFRoaXMgYWxsb3dzIHRoZSBpbnN0YWxsZXIgdG8gcmVzdG9yZSB5b3VyIGNvbXB1dGVyJ3Mgb3JpZ2luYWwgc3RhdGUgc2hvdWxkIHRoZSBpbnN0YWxsYXRpb24gYmUgaW50ZXJydXB0ZWQgaW4gYW55IHdheS4gIENsaWNrIFllcyBpZiB5b3Ugd2lzaCB0byB0YWtlIHRoZSByaXNrIHRvIGRpc2FibGUgcm9sbGJhY2suIiwgTm9uZSwgTm9uZSksCi0odSdSZXN1bWVEbGcnLCB1J0JpdG1hcCcsIHUnQml0bWFwJywgMCwgMCwgMzcwLCAyMzQsIDEsIE5vbmUsIHUnW0RpYWxvZ0JpdG1hcF0nLCB1J0JhY2snLCBOb25lKSwKLSh1J1Jlc3VtZURsZycsIHUnQm90dG9tTGluZScsIHUnTGluZScsIDAsIDIzNCwgMzc0LCAwLCAxLCBOb25lLCBOb25lLCBOb25lLCBOb25lKSwKLSh1J1Jlc3VtZURsZycsIHUnQ2FuY2VsJywgdSdQdXNoQnV0dG9uJywgMzA0LCAyNDMsIDU2LCAxNywgMywgTm9uZSwgdSdbQnV0dG9uVGV4dF9DYW5jZWxdJywgdSdCaXRtYXAnLCBOb25lKSwKLSh1J1Jlc3VtZURsZycsIHUnRGVzY3JpcHRpb24nLCB1J1RleHQnLCAxMzUsIDcwLCAyMjAsIDMwLCAxOTY2MTEsIE5vbmUsIHUnVGhlIFtXaXphcmRdIHdpbGwgY29tcGxldGUgdGhlIGluc3RhbGxhdGlvbiBvZiBbUHJvZHVjdE5hbWVdIG9uIHlvdXIgY29tcHV0ZXIuICBDbGljayBJbnN0YWxsIHRvIGNvbnRpbnVlIG9yIENhbmNlbCB0byBleGl0IHRoZSBbV2l6YXJkXS4nLCBOb25lLCBOb25lKSwKLSh1J1Jlc3VtZURsZycsIHUnVGl0bGUnLCB1J1RleHQnLCAxMzUsIDIwLCAyMjAsIDYwLCAxOTY2MTEsIE5vbmUsIHUne1xcVmVyZGFuYUJvbGQxM31SZXN1bWluZyB0aGUgW1Byb2R1Y3ROYW1lXSBbV2l6YXJkXScsIE5vbmUsIE5vbmUpLAotKHUnUmVzdW1lRGxnJywgdSdCYWNrJywgdSdQdXNoQnV0dG9uJywgMTgwLCAyNDMsIDU2LCAxNywgMSwgTm9uZSwgdSdbQnV0dG9uVGV4dF9CYWNrXScsIHUnSW5zdGFsbCcsIE5vbmUpLAotKHUnUmVzdW1lRGxnJywgdSdJbnN0YWxsJywgdSdQdXNoQnV0dG9uJywgMjM2LCAyNDMsIDU2LCAxNywgMywgTm9uZSwgdSdbQnV0dG9uVGV4dF9JbnN0YWxsXScsIHUnQ2FuY2VsJywgTm9uZSksCi0odSdTZXR1cFR5cGVEbGcnLCB1J0Jhbm5lckJpdG1hcCcsIHUnQml0bWFwJywgMCwgMCwgMzc0LCA0NCwgMSwgTm9uZSwgdSdbQmFubmVyQml0bWFwXScsIHUnVHlwaWNhbExhYmVsJywgTm9uZSksCi0odSdTZXR1cFR5cGVEbGcnLCB1J0Jhbm5lckxpbmUnLCB1J0xpbmUnLCAwLCA0NCwgMzc0LCAwLCAxLCBOb25lLCBOb25lLCBOb25lLCBOb25lKSwKLSh1J1NldHVwVHlwZURsZycsIHUnQm90dG9tTGluZScsIHUnTGluZScsIDAsIDIzNCwgMzc0LCAwLCAxLCBOb25lLCBOb25lLCBOb25lLCBOb25lKSwKLSh1J1NldHVwVHlwZURsZycsIHUnQ2FuY2VsJywgdSdQdXNoQnV0dG9uJywgMzA0LCAyNDMsIDU2LCAxNywgMywgTm9uZSwgdSdbQnV0dG9uVGV4dF9DYW5jZWxdJywgdSdCYW5uZXJCaXRtYXAnLCBOb25lKSwKLSh1J1NldHVwVHlwZURsZycsIHUnRGVzY3JpcHRpb24nLCB1J1RleHQnLCAyNSwgMjMsIDI4MCwgMTUsIDE5NjYxMSwgTm9uZSwgdSdDaG9vc2UgdGhlIHNldHVwIHR5cGUgdGhhdCBiZXN0IHN1aXRzIHlvdXIgbmVlZHMnLCBOb25lLCBOb25lKSwKLSh1J1NldHVwVHlwZURsZycsIHUnVGl0bGUnLCB1J1RleHQnLCAxNSwgNiwgMjAwLCAxNSwgMTk2NjExLCBOb25lLCB1J1tEbGdUaXRsZUZvbnRdQ2hvb3NlIFNldHVwIFR5cGUnLCBOb25lLCBOb25lKSwKLSh1J1NldHVwVHlwZURsZycsIHUnQmFjaycsIHUnUHVzaEJ1dHRvbicsIDE4MCwgMjQzLCA1NiwgMTcsIDMsIE5vbmUsIHUnW0J1dHRvblRleHRfQmFja10nLCB1J05leHQnLCBOb25lKSwKLSh1J1NldHVwVHlwZURsZycsIHUnTmV4dCcsIHUnUHVzaEJ1dHRvbicsIDIzNiwgMjQzLCA1NiwgMTcsIDEsIE5vbmUsIHUnW0J1dHRvblRleHRfTmV4dF0nLCB1J0NhbmNlbCcsIE5vbmUpLAotKHUnU2V0dXBUeXBlRGxnJywgdSdUeXBpY2FsTGFiZWwnLCB1J1RleHQnLCAxMDUsIDY1LCAxMDAsIDEwLCAzLCBOb25lLCB1J1tEbGdUaXRsZUZvbnRdJlR5cGljYWwnLCB1J1R5cGljYWxCdXR0b24nLCBOb25lKSwKLSh1J1NldHVwVHlwZURsZycsIHUnQ29tcGxldGVCdXR0b24nLCB1J1B1c2hCdXR0b24nLCA1MCwgMTcxLCAzOCwgMzgsIDU3NjcxNzEsIE5vbmUsIHUnW0NvbXBsZXRlU2V0dXBJY29uXScsIHUnQmFjaycsIHUnQ29tcGxldGUgSW5zdGFsbGF0aW9ufCcpLAotKHUnU2V0dXBUeXBlRGxnJywgdSdDb21wbGV0ZUxhYmVsJywgdSdUZXh0JywgMTA1LCAxNzEsIDEwMCwgMTAsIDMsIE5vbmUsIHUnW0RsZ1RpdGxlRm9udF1DJm9tcGxldGUnLCB1J0NvbXBsZXRlQnV0dG9uJywgTm9uZSksCi0odSdTZXR1cFR5cGVEbGcnLCB1J0NvbXBsZXRlVGV4dCcsIHUnVGV4dCcsIDEwNSwgMTg0LCAyMzAsIDIwLCAzLCBOb25lLCB1J0FsbCBwcm9ncmFtIGZlYXR1cmVzIHdpbGwgYmUgaW5zdGFsbGVkLiAgKFJlcXVpcmVzIG1vc3QgZGlzayBzcGFjZSknLCBOb25lLCBOb25lKSwKLSh1J1NldHVwVHlwZURsZycsIHUnQ3VzdG9tQnV0dG9uJywgdSdQdXNoQnV0dG9uJywgNTAsIDExOCwgMzgsIDM4LCA1NzY3MTcxLCBOb25lLCB1J1tDdXN0b21TZXR1cEljb25dJywgdSdDb21wbGV0ZUxhYmVsJywgdSdDdXN0b20gSW5zdGFsbGF0aW9ufCcpLAotKHUnU2V0dXBUeXBlRGxnJywgdSdDdXN0b21MYWJlbCcsIHUnVGV4dCcsIDEwNSwgMTE4LCAxMDAsIDEwLCAzLCBOb25lLCB1J1tEbGdUaXRsZUZvbnRdQyZ1c3RvbScsIHUnQ3VzdG9tQnV0dG9uJywgTm9uZSksCi0odSdTZXR1cFR5cGVEbGcnLCB1J0N1c3RvbVRleHQnLCB1J1RleHQnLCAxMDUsIDEzMSwgMjMwLCAzMCwgMywgTm9uZSwgdSdBbGxvd3MgdXNlcnMgdG8gY2hvb3NlIHdoaWNoIHByb2dyYW0gZmVhdHVyZXMgd2lsbCBiZSBpbnN0YWxsZWQgYW5kIHdoZXJlIHRoZXkgd2lsbCBiZSBpbnN0YWxsZWQuIFJlY29tbWVuZGVkIGZvciBhZHZhbmNlZCB1c2Vycy4nLCBOb25lLCBOb25lKSwKLSh1J1NldHVwVHlwZURsZycsIHUnVHlwaWNhbEJ1dHRvbicsIHUnUHVzaEJ1dHRvbicsIDUwLCA2NSwgMzgsIDM4LCA1NzY3MTcxLCBOb25lLCB1J1tJbnN0YWxsZXJJY29uXScsIHUnQ3VzdG9tTGFiZWwnLCB1J1R5cGljYWwgSW5zdGFsbGF0aW9ufCcpLAotKHUnU2V0dXBUeXBlRGxnJywgdSdUeXBpY2FsVGV4dCcsIHUnVGV4dCcsIDEwNSwgNzgsIDIzMCwgMjAsIDMsIE5vbmUsIHUnSW5zdGFsbHMgdGhlIG1vc3QgY29tbW9uIHByb2dyYW0gZmVhdHVyZXMuIFJlY29tbWVuZGVkIGZvciBtb3N0IHVzZXJzLicsIE5vbmUsIE5vbmUpLAotKHUnVXNlclJlZ2lzdHJhdGlvbkRsZycsIHUnQmFubmVyQml0bWFwJywgdSdCaXRtYXAnLCAwLCAwLCAzNzQsIDQ0LCAxLCBOb25lLCB1J1tCYW5uZXJCaXRtYXBdJywgdSdOYW1lTGFiZWwnLCBOb25lKSwKLSh1J1VzZXJSZWdpc3RyYXRpb25EbGcnLCB1J0Jhbm5lckxpbmUnLCB1J0xpbmUnLCAwLCA0NCwgMzc0LCAwLCAxLCBOb25lLCBOb25lLCBOb25lLCBOb25lKSwKLSh1J1VzZXJSZWdpc3RyYXRpb25EbGcnLCB1J0JvdHRvbUxpbmUnLCB1J0xpbmUnLCAwLCAyMzQsIDM3NCwgMCwgMSwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSksCi0odSdVc2VyUmVnaXN0cmF0aW9uRGxnJywgdSdDYW5jZWwnLCB1J1B1c2hCdXR0b24nLCAzMDQsIDI0MywgNTYsIDE3LCAzLCBOb25lLCB1J1tCdXR0b25UZXh0X0NhbmNlbF0nLCB1J0Jhbm5lckJpdG1hcCcsIE5vbmUpLAotKHUnVXNlclJlZ2lzdHJhdGlvbkRsZycsIHUnRGVzY3JpcHRpb24nLCB1J1RleHQnLCAyNSwgMjMsIDI4MCwgMTUsIDE5NjYxMSwgTm9uZSwgdSdQbGVhc2UgZW50ZXIgeW91ciBjdXN0b21lciBpbmZvcm1hdGlvbicsIE5vbmUsIE5vbmUpLAotKHUnVXNlclJlZ2lzdHJhdGlvbkRsZycsIHUnVGl0bGUnLCB1J1RleHQnLCAxNSwgNiwgMjAwLCAxNSwgMTk2NjExLCBOb25lLCB1J1tEbGdUaXRsZUZvbnRdQ3VzdG9tZXIgSW5mb3JtYXRpb24nLCBOb25lLCBOb25lKSwKLSh1J1VzZXJSZWdpc3RyYXRpb25EbGcnLCB1J0JhY2snLCB1J1B1c2hCdXR0b24nLCAxODAsIDI0MywgNTYsIDE3LCAzLCBOb25lLCB1J1tCdXR0b25UZXh0X0JhY2tdJywgdSdOZXh0JywgTm9uZSksCi0odSdVc2VyUmVnaXN0cmF0aW9uRGxnJywgdSdOZXh0JywgdSdQdXNoQnV0dG9uJywgMjM2LCAyNDMsIDU2LCAxNywgMywgTm9uZSwgdSdbQnV0dG9uVGV4dF9OZXh0XScsIHUnQ2FuY2VsJywgTm9uZSksCi0odSdVc2VyUmVnaXN0cmF0aW9uRGxnJywgdSdPcmdhbml6YXRpb25MYWJlbCcsIHUnVGV4dCcsIDQ1LCAxMTAsIDEwMCwgMTUsIDMsIE5vbmUsIHUnJk9yZ2FuaXphdGlvbjonLCB1J09yZ2FuaXphdGlvbkVkaXQnLCBOb25lKSwKLSh1J1VzZXJSZWdpc3RyYXRpb25EbGcnLCB1J0NES2V5RWRpdCcsIHUnTWFza2VkRWRpdCcsIDQ1LCAxNTksIDI1MCwgMTYsIDMsIHUnUElES0VZJywgdSdbUElEVGVtcGxhdGVdJywgdSdCYWNrJywgTm9uZSksCi0odSdVc2VyUmVnaXN0cmF0aW9uRGxnJywgdSdDREtleUxhYmVsJywgdSdUZXh0JywgNDUsIDE0NywgNTAsIDEwLCAzLCBOb25lLCB1J0NEICZLZXk6JywgdSdDREtleUVkaXQnLCBOb25lKSwKLSh1J1VzZXJSZWdpc3RyYXRpb25EbGcnLCB1J09yZ2FuaXphdGlvbkVkaXQnLCB1J0VkaXQnLCA0NSwgMTIyLCAyMjAsIDE4LCAzLCB1J0NPTVBBTllOQU1FJywgdSd7ODB9JywgdSdDREtleUxhYmVsJywgTm9uZSksCi0odSdVc2VyUmVnaXN0cmF0aW9uRGxnJywgdSdOYW1lTGFiZWwnLCB1J1RleHQnLCA0NSwgNzMsIDEwMCwgMTUsIDMsIE5vbmUsIHUnJlVzZXIgTmFtZTonLCB1J05hbWVFZGl0JywgTm9uZSksCi0odSdVc2VyUmVnaXN0cmF0aW9uRGxnJywgdSdOYW1lRWRpdCcsIHUnRWRpdCcsIDQ1LCA4NSwgMjIwLCAxOCwgMywgdSdVU0VSTkFNRScsIHUnezgwfScsIHUnT3JnYW5pemF0aW9uTGFiZWwnLCBOb25lKSwKLSh1J1ZlcmlmeVJlYWR5RGxnJywgdSdUZXh0JywgdSdUZXh0JywgMjUsIDcwLCAzMjAsIDIwLCAzLCBOb25lLCB1J0NsaWNrIEluc3RhbGwgdG8gYmVnaW4gdGhlIGluc3RhbGxhdGlvbi4gIElmIHlvdSB3YW50IHRvIHJldmlldyBvciBjaGFuZ2UgYW55IG9mIHlvdXIgaW5zdGFsbGF0aW9uIHNldHRpbmdzLCBjbGljayBCYWNrLiAgQ2xpY2sgQ2FuY2VsIHRvIGV4aXQgdGhlIHdpemFyZC4nLCBOb25lLCBOb25lKSwKLSh1J1ZlcmlmeVJlYWR5RGxnJywgdSdCYW5uZXJCaXRtYXAnLCB1J0JpdG1hcCcsIDAsIDAsIDM3NCwgNDQsIDEsIE5vbmUsIHUnW0Jhbm5lckJpdG1hcF0nLCB1J0JhY2snLCBOb25lKSwKLSh1J1ZlcmlmeVJlYWR5RGxnJywgdSdCYW5uZXJMaW5lJywgdSdMaW5lJywgMCwgNDQsIDM3NCwgMCwgMSwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSksCi0odSdWZXJpZnlSZWFkeURsZycsIHUnQm90dG9tTGluZScsIHUnTGluZScsIDAsIDIzNCwgMzc0LCAwLCAxLCBOb25lLCBOb25lLCBOb25lLCBOb25lKSwKLSh1J1ZlcmlmeVJlYWR5RGxnJywgdSdDYW5jZWwnLCB1J1B1c2hCdXR0b24nLCAzMDQsIDI0MywgNTYsIDE3LCAzLCBOb25lLCB1J1tCdXR0b25UZXh0X0NhbmNlbF0nLCB1J0Jhbm5lckJpdG1hcCcsIE5vbmUpLAotKHUnVmVyaWZ5UmVhZHlEbGcnLCB1J0Rlc2NyaXB0aW9uJywgdSdUZXh0JywgMjUsIDIzLCAyODAsIDE1LCAxOTY2MTEsIE5vbmUsIHUnVGhlIFtXaXphcmRdIGlzIHJlYWR5IHRvIGJlZ2luIHRoZSBbSW5zdGFsbE1vZGVdIGluc3RhbGxhdGlvbicsIE5vbmUsIE5vbmUpLAotKHUnVmVyaWZ5UmVhZHlEbGcnLCB1J1RpdGxlJywgdSdUZXh0JywgMTUsIDYsIDIwMCwgMTUsIDE5NjYxMSwgTm9uZSwgdSdbRGxnVGl0bGVGb250XVJlYWR5IHRvIEluc3RhbGwnLCBOb25lLCBOb25lKSwKLSh1J1ZlcmlmeVJlYWR5RGxnJywgdSdCYWNrJywgdSdQdXNoQnV0dG9uJywgMTgwLCAyNDMsIDU2LCAxNywgMywgTm9uZSwgdSdbQnV0dG9uVGV4dF9CYWNrXScsIHUnSW5zdGFsbCcsIE5vbmUpLAotKHUnVmVyaWZ5UmVhZHlEbGcnLCB1J0luc3RhbGwnLCB1J1B1c2hCdXR0b24nLCAyMzYsIDI0MywgNTYsIDE3LCAzLCBOb25lLCB1J1tCdXR0b25UZXh0X0luc3RhbGxdJywgdSdDYW5jZWwnLCBOb25lKSwKLSh1J1ZlcmlmeVJlbW92ZURsZycsIHUnVGV4dCcsIHUnVGV4dCcsIDI1LCA3MCwgMzIwLCAzMCwgMywgTm9uZSwgdSdDbGljayBSZW1vdmUgdG8gcmVtb3ZlIFtQcm9kdWN0TmFtZV0gZnJvbSB5b3VyIGNvbXB1dGVyLiAgSWYgeW91IHdhbnQgdG8gcmV2aWV3IG9yIGNoYW5nZSBhbnkgb2YgeW91ciBpbnN0YWxsYXRpb24gc2V0dGluZ3MsIGNsaWNrIEJhY2suICBDbGljayBDYW5jZWwgdG8gZXhpdCB0aGUgd2l6YXJkLicsIE5vbmUsIE5vbmUpLAotKHUnVmVyaWZ5UmVtb3ZlRGxnJywgdSdCYW5uZXJCaXRtYXAnLCB1J0JpdG1hcCcsIDAsIDAsIDM3NCwgNDQsIDEsIE5vbmUsIHUnW0Jhbm5lckJpdG1hcF0nLCB1J0JhY2snLCBOb25lKSwKLSh1J1ZlcmlmeVJlbW92ZURsZycsIHUnQmFubmVyTGluZScsIHUnTGluZScsIDAsIDQ0LCAzNzQsIDAsIDEsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUpLAotKHUnVmVyaWZ5UmVtb3ZlRGxnJywgdSdCb3R0b21MaW5lJywgdSdMaW5lJywgMCwgMjM0LCAzNzQsIDAsIDEsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUpLAotKHUnVmVyaWZ5UmVtb3ZlRGxnJywgdSdDYW5jZWwnLCB1J1B1c2hCdXR0b24nLCAzMDQsIDI0MywgNTYsIDE3LCAzLCBOb25lLCB1J1tCdXR0b25UZXh0X0NhbmNlbF0nLCB1J0Jhbm5lckJpdG1hcCcsIE5vbmUpLAotKHUnVmVyaWZ5UmVtb3ZlRGxnJywgdSdEZXNjcmlwdGlvbicsIHUnVGV4dCcsIDI1LCAyMywgMjgwLCAxNSwgMTk2NjExLCBOb25lLCB1J1lvdSBoYXZlIGNob3NlbiB0byByZW1vdmUgdGhlIHByb2dyYW0gZnJvbSB5b3VyIGNvbXB1dGVyLicsIE5vbmUsIE5vbmUpLAotKHUnVmVyaWZ5UmVtb3ZlRGxnJywgdSdUaXRsZScsIHUnVGV4dCcsIDE1LCA2LCAyMDAsIDE1LCAxOTY2MTEsIE5vbmUsIHUnW0RsZ1RpdGxlRm9udF1SZW1vdmUgW1Byb2R1Y3ROYW1lXScsIE5vbmUsIE5vbmUpLAotKHUnVmVyaWZ5UmVtb3ZlRGxnJywgdSdCYWNrJywgdSdQdXNoQnV0dG9uJywgMTgwLCAyNDMsIDU2LCAxNywgMywgTm9uZSwgdSdbQnV0dG9uVGV4dF9CYWNrXScsIHUnUmVtb3ZlJywgTm9uZSksCi0odSdWZXJpZnlSZW1vdmVEbGcnLCB1J1JlbW92ZScsIHUnUHVzaEJ1dHRvbicsIDIzNiwgMjQzLCA1NiwgMTcsIDMsIE5vbmUsIHUnW0J1dHRvblRleHRfUmVtb3ZlXScsIHUnQ2FuY2VsJywgTm9uZSksCi0odSdWZXJpZnlSZXBhaXJEbGcnLCB1J1RleHQnLCB1J1RleHQnLCAyNSwgNzAsIDMyMCwgMzAsIDMsIE5vbmUsIHUnQ2xpY2sgUmVwYWlyIHRvIHJlcGFpciB0aGUgaW5zdGFsbGF0aW9uIG9mIFtQcm9kdWN0TmFtZV0uICBJZiB5b3Ugd2FudCB0byByZXZpZXcgb3IgY2hhbmdlIGFueSBvZiB5b3VyIGluc3RhbGxhdGlvbiBzZXR0aW5ncywgY2xpY2sgQmFjay4gIENsaWNrIENhbmNlbCB0byBleGl0IHRoZSB3aXphcmQuJywgTm9uZSwgTm9uZSksCi0odSdWZXJpZnlSZXBhaXJEbGcnLCB1J0Jhbm5lckJpdG1hcCcsIHUnQml0bWFwJywgMCwgMCwgMzc0LCA0NCwgMSwgTm9uZSwgdSdbQmFubmVyQml0bWFwXScsIHUnQmFjaycsIE5vbmUpLAotKHUnVmVyaWZ5UmVwYWlyRGxnJywgdSdCYW5uZXJMaW5lJywgdSdMaW5lJywgMCwgNDQsIDM3NCwgMCwgMSwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSksCi0odSdWZXJpZnlSZXBhaXJEbGcnLCB1J0JvdHRvbUxpbmUnLCB1J0xpbmUnLCAwLCAyMzQsIDM3NCwgMCwgMSwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSksCi0odSdWZXJpZnlSZXBhaXJEbGcnLCB1J0NhbmNlbCcsIHUnUHVzaEJ1dHRvbicsIDMwNCwgMjQzLCA1NiwgMTcsIDMsIE5vbmUsIHUnW0J1dHRvblRleHRfQ2FuY2VsXScsIHUnQmFubmVyQml0bWFwJywgTm9uZSksCi0odSdWZXJpZnlSZXBhaXJEbGcnLCB1J0Rlc2NyaXB0aW9uJywgdSdUZXh0JywgMjUsIDIzLCAyODAsIDE1LCAxOTY2MTEsIE5vbmUsIHUnVGhlIFtXaXphcmRdIGlzIHJlYWR5IHRvIGJlZ2luIHRoZSByZXBhaXIgb2YgW1Byb2R1Y3ROYW1lXS4nLCBOb25lLCBOb25lKSwKLSh1J1ZlcmlmeVJlcGFpckRsZycsIHUnVGl0bGUnLCB1J1RleHQnLCAxNSwgNiwgMjAwLCAxNSwgMTk2NjExLCBOb25lLCB1J1tEbGdUaXRsZUZvbnRdUmVwYWlyIFtQcm9kdWN0TmFtZV0nLCBOb25lLCBOb25lKSwKLSh1J1ZlcmlmeVJlcGFpckRsZycsIHUnQmFjaycsIHUnUHVzaEJ1dHRvbicsIDE4MCwgMjQzLCA1NiwgMTcsIDMsIE5vbmUsIHUnW0J1dHRvblRleHRfQmFja10nLCB1J1JlcGFpcicsIE5vbmUpLAotKHUnVmVyaWZ5UmVwYWlyRGxnJywgdSdSZXBhaXInLCB1J1B1c2hCdXR0b24nLCAyMzYsIDI0MywgNTYsIDE3LCAzLCBOb25lLCB1J1tCdXR0b25UZXh0X1JlcGFpcl0nLCB1J0NhbmNlbCcsIE5vbmUpLAotKHUnV2FpdEZvckNvc3RpbmdEbGcnLCB1J1RleHQnLCB1J1RleHQnLCA0OCwgMTUsIDE5NCwgMzAsIDMsIE5vbmUsIHUnUGxlYXNlIHdhaXQgd2hpbGUgdGhlIGluc3RhbGxlciBmaW5pc2hlcyBkZXRlcm1pbmluZyB5b3VyIGRpc2sgc3BhY2UgcmVxdWlyZW1lbnRzLicsIE5vbmUsIE5vbmUpLAotKHUnV2FpdEZvckNvc3RpbmdEbGcnLCB1J0ljb24nLCB1J0ljb24nLCAxNSwgMTUsIDI0LCAyNCwgNTI0Mjg4MSwgTm9uZSwgdSdbRXhjbGFtYXRpb25JY29uXScsIE5vbmUsIHUnRXhjbGFtYXRpb24gaWNvbnwnKSwKLSh1J1dhaXRGb3JDb3N0aW5nRGxnJywgdSdSZXR1cm4nLCB1J1B1c2hCdXR0b24nLCAxMDIsIDU3LCA1NiwgMTcsIDMsIE5vbmUsIHUnW0J1dHRvblRleHRfUmV0dXJuXScsIE5vbmUsIE5vbmUpLAotKHUnV2VsY29tZURsZycsIHUnQml0bWFwJywgdSdCaXRtYXAnLCAwLCAwLCAzNzAsIDIzNCwgMSwgTm9uZSwgdSdbRGlhbG9nQml0bWFwXScsIHUnQmFjaycsIE5vbmUpLAotKHUnV2VsY29tZURsZycsIHUnQm90dG9tTGluZScsIHUnTGluZScsIDAsIDIzNCwgMzc0LCAwLCAxLCBOb25lLCBOb25lLCBOb25lLCBOb25lKSwKLSh1J1dlbGNvbWVEbGcnLCB1J0NhbmNlbCcsIHUnUHVzaEJ1dHRvbicsIDMwNCwgMjQzLCA1NiwgMTcsIDMsIE5vbmUsIHUnW0J1dHRvblRleHRfQ2FuY2VsXScsIHUnQml0bWFwJywgTm9uZSksCi0odSdXZWxjb21lRGxnJywgdSdEZXNjcmlwdGlvbicsIHUnVGV4dCcsIDEzNSwgNzAsIDIyMCwgMzAsIDE5NjYxMSwgTm9uZSwgdSdUaGUgW1dpemFyZF0gd2lsbCBpbnN0YWxsIFtQcm9kdWN0TmFtZV0gb24geW91ciBjb21wdXRlci4gIENsaWNrIE5leHQgdG8gY29udGludWUgb3IgQ2FuY2VsIHRvIGV4aXQgdGhlIFtXaXphcmRdLicsIE5vbmUsIE5vbmUpLAotKHUnV2VsY29tZURsZycsIHUnVGl0bGUnLCB1J1RleHQnLCAxMzUsIDIwLCAyMjAsIDYwLCAxOTY2MTEsIE5vbmUsIHUne1xcVmVyZGFuYUJvbGQxM31XZWxjb21lIHRvIHRoZSBbUHJvZHVjdE5hbWVdIFtXaXphcmRdJywgTm9uZSwgTm9uZSksCi0odSdXZWxjb21lRGxnJywgdSdCYWNrJywgdSdQdXNoQnV0dG9uJywgMTgwLCAyNDMsIDU2LCAxNywgMSwgTm9uZSwgdSdbQnV0dG9uVGV4dF9CYWNrXScsIHUnTmV4dCcsIE5vbmUpLAotKHUnV2VsY29tZURsZycsIHUnTmV4dCcsIHUnUHVzaEJ1dHRvbicsIDIzNiwgMjQzLCA1NiwgMTcsIDMsIE5vbmUsIHUnW0J1dHRvblRleHRfTmV4dF0nLCB1J0NhbmNlbCcsIE5vbmUpLAotXQotCi1MaXN0Qm94ID0gWwotXQotCi1BY3Rpb25UZXh0ID0gWwotKHUnSW5zdGFsbFZhbGlkYXRlJywgdSdWYWxpZGF0aW5nIGluc3RhbGwnLCBOb25lKSwKLSh1J0luc3RhbGxGaWxlcycsIHUnQ29weWluZyBuZXcgZmlsZXMnLCB1J0ZpbGU6IFsxXSwgIERpcmVjdG9yeTogWzldLCAgU2l6ZTogWzZdJyksCi0odSdJbnN0YWxsQWRtaW5QYWNrYWdlJywgdSdDb3B5aW5nIG5ldHdvcmsgaW5zdGFsbCBmaWxlcycsIHUnRmlsZTogWzFdLCBEaXJlY3Rvcnk6IFs5XSwgU2l6ZTogWzZdJyksCi0odSdGaWxlQ29zdCcsIHUnQ29tcHV0aW5nIHNwYWNlIHJlcXVpcmVtZW50cycsIE5vbmUpLAotKHUnQ29zdEluaXRpYWxpemUnLCB1J0NvbXB1dGluZyBzcGFjZSByZXF1aXJlbWVudHMnLCBOb25lKSwKLSh1J0Nvc3RGaW5hbGl6ZScsIHUnQ29tcHV0aW5nIHNwYWNlIHJlcXVpcmVtZW50cycsIE5vbmUpLAotKHUnQ3JlYXRlU2hvcnRjdXRzJywgdSdDcmVhdGluZyBzaG9ydGN1dHMnLCB1J1Nob3J0Y3V0OiBbMV0nKSwKLSh1J1B1Ymxpc2hDb21wb25lbnRzJywgdSdQdWJsaXNoaW5nIFF1YWxpZmllZCBDb21wb25lbnRzJywgdSdDb21wb25lbnQgSUQ6IFsxXSwgUXVhbGlmaWVyOiBbMl0nKSwKLSh1J1B1Ymxpc2hGZWF0dXJlcycsIHUnUHVibGlzaGluZyBQcm9kdWN0IEZlYXR1cmVzJywgdSdGZWF0dXJlOiBbMV0nKSwKLSh1J1B1Ymxpc2hQcm9kdWN0JywgdSdQdWJsaXNoaW5nIHByb2R1Y3QgaW5mb3JtYXRpb24nLCBOb25lKSwKLSh1J1JlZ2lzdGVyQ2xhc3NJbmZvJywgdSdSZWdpc3RlcmluZyBDbGFzcyBzZXJ2ZXJzJywgdSdDbGFzcyBJZDogWzFdJyksCi0odSdSZWdpc3RlckV4dGVuc2lvbkluZm8nLCB1J1JlZ2lzdGVyaW5nIGV4dGVuc2lvbiBzZXJ2ZXJzJywgdSdFeHRlbnNpb246IFsxXScpLAotKHUnUmVnaXN0ZXJNSU1FSW5mbycsIHUnUmVnaXN0ZXJpbmcgTUlNRSBpbmZvJywgdSdNSU1FIENvbnRlbnQgVHlwZTogWzFdLCBFeHRlbnNpb246IFsyXScpLAotKHUnUmVnaXN0ZXJQcm9nSWRJbmZvJywgdSdSZWdpc3RlcmluZyBwcm9ncmFtIGlkZW50aWZpZXJzJywgdSdQcm9nSWQ6IFsxXScpLAotKHUnQWxsb2NhdGVSZWdpc3RyeVNwYWNlJywgdSdBbGxvY2F0aW5nIHJlZ2lzdHJ5IHNwYWNlJywgdSdGcmVlIHNwYWNlOiBbMV0nKSwKLSh1J0FwcFNlYXJjaCcsIHUnU2VhcmNoaW5nIGZvciBpbnN0YWxsZWQgYXBwbGljYXRpb25zJywgdSdQcm9wZXJ0eTogWzFdLCBTaWduYXR1cmU6IFsyXScpLAotKHUnQmluZEltYWdlJywgdSdCaW5kaW5nIGV4ZWN1dGFibGVzJywgdSdGaWxlOiBbMV0nKSwKLSh1J0NDUFNlYXJjaCcsIHUnU2VhcmNoaW5nIGZvciBxdWFsaWZ5aW5nIHByb2R1Y3RzJywgTm9uZSksCi0odSdDcmVhdGVGb2xkZXJzJywgdSdDcmVhdGluZyBmb2xkZXJzJywgdSdGb2xkZXI6IFsxXScpLAotKHUnRGVsZXRlU2VydmljZXMnLCB1J0RlbGV0aW5nIHNlcnZpY2VzJywgdSdTZXJ2aWNlOiBbMV0nKSwKLSh1J0R1cGxpY2F0ZUZpbGVzJywgdSdDcmVhdGluZyBkdXBsaWNhdGUgZmlsZXMnLCB1J0ZpbGU6IFsxXSwgIERpcmVjdG9yeTogWzldLCAgU2l6ZTogWzZdJyksCi0odSdGaW5kUmVsYXRlZFByb2R1Y3RzJywgdSdTZWFyY2hpbmcgZm9yIHJlbGF0ZWQgYXBwbGljYXRpb25zJywgdSdGb3VuZCBhcHBsaWNhdGlvbjogWzFdJyksCi0odSdJbnN0YWxsT0RCQycsIHUnSW5zdGFsbGluZyBPREJDIGNvbXBvbmVudHMnLCBOb25lKSwKLSh1J0luc3RhbGxTZXJ2aWNlcycsIHUnSW5zdGFsbGluZyBuZXcgc2VydmljZXMnLCB1J1NlcnZpY2U6IFsyXScpLAotKHUnTGF1bmNoQ29uZGl0aW9ucycsIHUnRXZhbHVhdGluZyBsYXVuY2ggY29uZGl0aW9ucycsIE5vbmUpLAotKHUnTWlncmF0ZUZlYXR1cmVTdGF0ZXMnLCB1J01pZ3JhdGluZyBmZWF0dXJlIHN0YXRlcyBmcm9tIHJlbGF0ZWQgYXBwbGljYXRpb25zJywgdSdBcHBsaWNhdGlvbjogWzFdJyksCi0odSdNb3ZlRmlsZXMnLCB1J01vdmluZyBmaWxlcycsIHUnRmlsZTogWzFdLCAgRGlyZWN0b3J5OiBbOV0sICBTaXplOiBbNl0nKSwKLSh1J1BhdGNoRmlsZXMnLCB1J1BhdGNoaW5nIGZpbGVzJywgdSdGaWxlOiBbMV0sICBEaXJlY3Rvcnk6IFsyXSwgIFNpemU6IFszXScpLAotKHUnUHJvY2Vzc0NvbXBvbmVudHMnLCB1J1VwZGF0aW5nIGNvbXBvbmVudCByZWdpc3RyYXRpb24nLCBOb25lKSwKLSh1J1JlZ2lzdGVyQ29tUGx1cycsIHUnUmVnaXN0ZXJpbmcgQ09NKyBBcHBsaWNhdGlvbnMgYW5kIENvbXBvbmVudHMnLCB1J0FwcElkOiBbMV17eywgQXBwVHlwZTogWzJdLCBVc2VyczogWzNdLCBSU046IFs0XX19JyksCi0odSdSZWdpc3RlckZvbnRzJywgdSdSZWdpc3RlcmluZyBmb250cycsIHUnRm9udDogWzFdJyksCi0odSdSZWdpc3RlclByb2R1Y3QnLCB1J1JlZ2lzdGVyaW5nIHByb2R1Y3QnLCB1J1sxXScpLAotKHUnUmVnaXN0ZXJUeXBlTGlicmFyaWVzJywgdSdSZWdpc3RlcmluZyB0eXBlIGxpYnJhcmllcycsIHUnTGliSUQ6IFsxXScpLAotKHUnUmVnaXN0ZXJVc2VyJywgdSdSZWdpc3RlcmluZyB1c2VyJywgdSdbMV0nKSwKLSh1J1JlbW92ZUR1cGxpY2F0ZUZpbGVzJywgdSdSZW1vdmluZyBkdXBsaWNhdGVkIGZpbGVzJywgdSdGaWxlOiBbMV0sIERpcmVjdG9yeTogWzldJyksCi0odSdSZW1vdmVFbnZpcm9ubWVudFN0cmluZ3MnLCB1J1VwZGF0aW5nIGVudmlyb25tZW50IHN0cmluZ3MnLCB1J05hbWU6IFsxXSwgVmFsdWU6IFsyXSwgQWN0aW9uIFszXScpLAotKHUnUmVtb3ZlRXhpc3RpbmdQcm9kdWN0cycsIHUnUmVtb3ZpbmcgYXBwbGljYXRpb25zJywgdSdBcHBsaWNhdGlvbjogWzFdLCBDb21tYW5kIGxpbmU6IFsyXScpLAotKHUnUmVtb3ZlRmlsZXMnLCB1J1JlbW92aW5nIGZpbGVzJywgdSdGaWxlOiBbMV0sIERpcmVjdG9yeTogWzldJyksCi0odSdSZW1vdmVGb2xkZXJzJywgdSdSZW1vdmluZyBmb2xkZXJzJywgdSdGb2xkZXI6IFsxXScpLAotKHUnUmVtb3ZlSW5pVmFsdWVzJywgdSdSZW1vdmluZyBJTkkgZmlsZXMgZW50cmllcycsIHUnRmlsZTogWzFdLCAgU2VjdGlvbjogWzJdLCAgS2V5OiBbM10sIFZhbHVlOiBbNF0nKSwKLSh1J1JlbW92ZU9EQkMnLCB1J1JlbW92aW5nIE9EQkMgY29tcG9uZW50cycsIE5vbmUpLAotKHUnUmVtb3ZlUmVnaXN0cnlWYWx1ZXMnLCB1J1JlbW92aW5nIHN5c3RlbSByZWdpc3RyeSB2YWx1ZXMnLCB1J0tleTogWzFdLCBOYW1lOiBbMl0nKSwKLSh1J1JlbW92ZVNob3J0Y3V0cycsIHUnUmVtb3Zpbmcgc2hvcnRjdXRzJywgdSdTaG9ydGN1dDogWzFdJyksCi0odSdSTUNDUFNlYXJjaCcsIHUnU2VhcmNoaW5nIGZvciBxdWFsaWZ5aW5nIHByb2R1Y3RzJywgTm9uZSksCi0odSdTZWxmUmVnTW9kdWxlcycsIHUnUmVnaXN0ZXJpbmcgbW9kdWxlcycsIHUnRmlsZTogWzFdLCBGb2xkZXI6IFsyXScpLAotKHUnU2VsZlVucmVnTW9kdWxlcycsIHUnVW5yZWdpc3RlcmluZyBtb2R1bGVzJywgdSdGaWxlOiBbMV0sIEZvbGRlcjogWzJdJyksCi0odSdTZXRPREJDRm9sZGVycycsIHUnSW5pdGlhbGl6aW5nIE9EQkMgZGlyZWN0b3JpZXMnLCBOb25lKSwKLSh1J1N0YXJ0U2VydmljZXMnLCB1J1N0YXJ0aW5nIHNlcnZpY2VzJywgdSdTZXJ2aWNlOiBbMV0nKSwKLSh1J1N0b3BTZXJ2aWNlcycsIHUnU3RvcHBpbmcgc2VydmljZXMnLCB1J1NlcnZpY2U6IFsxXScpLAotKHUnVW5wdWJsaXNoQ29tcG9uZW50cycsIHUnVW5wdWJsaXNoaW5nIFF1YWxpZmllZCBDb21wb25lbnRzJywgdSdDb21wb25lbnQgSUQ6IFsxXSwgUXVhbGlmaWVyOiBbMl0nKSwKLSh1J1VucHVibGlzaEZlYXR1cmVzJywgdSdVbnB1Ymxpc2hpbmcgUHJvZHVjdCBGZWF0dXJlcycsIHUnRmVhdHVyZTogWzFdJyksCi0odSdVbnJlZ2lzdGVyQ2xhc3NJbmZvJywgdSdVbnJlZ2lzdGVyIENsYXNzIHNlcnZlcnMnLCB1J0NsYXNzIElkOiBbMV0nKSwKLSh1J1VucmVnaXN0ZXJDb21QbHVzJywgdSdVbnJlZ2lzdGVyaW5nIENPTSsgQXBwbGljYXRpb25zIGFuZCBDb21wb25lbnRzJywgdSdBcHBJZDogWzFde3ssIEFwcFR5cGU6IFsyXX19JyksCi0odSdVbnJlZ2lzdGVyRXh0ZW5zaW9uSW5mbycsIHUnVW5yZWdpc3RlcmluZyBleHRlbnNpb24gc2VydmVycycsIHUnRXh0ZW5zaW9uOiBbMV0nKSwKLSh1J1VucmVnaXN0ZXJGb250cycsIHUnVW5yZWdpc3RlcmluZyBmb250cycsIHUnRm9udDogWzFdJyksCi0odSdVbnJlZ2lzdGVyTUlNRUluZm8nLCB1J1VucmVnaXN0ZXJpbmcgTUlNRSBpbmZvJywgdSdNSU1FIENvbnRlbnQgVHlwZTogWzFdLCBFeHRlbnNpb246IFsyXScpLAotKHUnVW5yZWdpc3RlclByb2dJZEluZm8nLCB1J1VucmVnaXN0ZXJpbmcgcHJvZ3JhbSBpZGVudGlmaWVycycsIHUnUHJvZ0lkOiBbMV0nKSwKLSh1J1VucmVnaXN0ZXJUeXBlTGlicmFyaWVzJywgdSdVbnJlZ2lzdGVyaW5nIHR5cGUgbGlicmFyaWVzJywgdSdMaWJJRDogWzFdJyksCi0odSdXcml0ZUVudmlyb25tZW50U3RyaW5ncycsIHUnVXBkYXRpbmcgZW52aXJvbm1lbnQgc3RyaW5ncycsIHUnTmFtZTogWzFdLCBWYWx1ZTogWzJdLCBBY3Rpb24gWzNdJyksCi0odSdXcml0ZUluaVZhbHVlcycsIHUnV3JpdGluZyBJTkkgZmlsZXMgdmFsdWVzJywgdSdGaWxlOiBbMV0sICBTZWN0aW9uOiBbMl0sICBLZXk6IFszXSwgVmFsdWU6IFs0XScpLAotKHUnV3JpdGVSZWdpc3RyeVZhbHVlcycsIHUnV3JpdGluZyBzeXN0ZW0gcmVnaXN0cnkgdmFsdWVzJywgdSdLZXk6IFsxXSwgTmFtZTogWzJdLCBWYWx1ZTogWzNdJyksCi0odSdBZHZlcnRpc2UnLCB1J0FkdmVydGlzaW5nIGFwcGxpY2F0aW9uJywgTm9uZSksCi0odSdHZW5lcmF0ZVNjcmlwdCcsIHUnR2VuZXJhdGluZyBzY3JpcHQgb3BlcmF0aW9ucyBmb3IgYWN0aW9uOicsIHUnWzFdJyksCi0odSdJbnN0YWxsU0ZQQ2F0YWxvZ0ZpbGUnLCB1J0luc3RhbGxpbmcgc3lzdGVtIGNhdGFsb2cnLCB1J0ZpbGU6IFsxXSwgIERlcGVuZGVuY2llczogWzJdJyksCi0odSdNc2lQdWJsaXNoQXNzZW1ibGllcycsIHUnUHVibGlzaGluZyBhc3NlbWJseSBpbmZvcm1hdGlvbicsIHUnQXBwbGljYXRpb24gQ29udGV4dDpbMV0sIEFzc2VtYmx5IE5hbWU6WzJdJyksCi0odSdNc2lVbnB1Ymxpc2hBc3NlbWJsaWVzJywgdSdVbnB1Ymxpc2hpbmcgYXNzZW1ibHkgaW5mb3JtYXRpb24nLCB1J0FwcGxpY2F0aW9uIENvbnRleHQ6WzFdLCBBc3NlbWJseSBOYW1lOlsyXScpLAotKHUnUm9sbGJhY2snLCB1J1JvbGxpbmcgYmFjayBhY3Rpb246JywgdSdbMV0nKSwKLSh1J1JvbGxiYWNrQ2xlYW51cCcsIHUnUmVtb3ZpbmcgYmFja3VwIGZpbGVzJywgdSdGaWxlOiBbMV0nKSwKLSh1J1VubW92ZUZpbGVzJywgdSdSZW1vdmluZyBtb3ZlZCBmaWxlcycsIHUnRmlsZTogWzFdLCBEaXJlY3Rvcnk6IFs5XScpLAotKHUnVW5wdWJsaXNoUHJvZHVjdCcsIHUnVW5wdWJsaXNoaW5nIHByb2R1Y3QgaW5mb3JtYXRpb24nLCBOb25lKSwKLV0KLQotQ29udHJvbENvbmRpdGlvbiA9IFsKLSh1J0N1c3RvbWl6ZURsZycsIHUnQnJvd3NlJywgdSdIaWRlJywgdSdJbnN0YWxsZWQnKSwKLSh1J0N1c3RvbWl6ZURsZycsIHUnTG9jYXRpb24nLCB1J0hpZGUnLCB1J0luc3RhbGxlZCcpLAotKHUnQ3VzdG9taXplRGxnJywgdSdMb2NhdGlvbkxhYmVsJywgdSdIaWRlJywgdSdJbnN0YWxsZWQnKSwKLSh1J0xpY2Vuc2VBZ3JlZW1lbnREbGcnLCB1J05leHQnLCB1J0Rpc2FibGUnLCB1J0lBZ3JlZSA8PiAiWWVzIicpLAotKHUnTGljZW5zZUFncmVlbWVudERsZycsIHUnTmV4dCcsIHUnRW5hYmxlJywgdSdJQWdyZWUgPSAiWWVzIicpLAotXQotCi1Db250cm9sRXZlbnQgPSBbCi0odSdBZG1pbldlbGNvbWVEbGcnLCB1J0NhbmNlbCcsIHUnU3Bhd25EaWFsb2cnLCB1J0NhbmNlbERsZycsIHUnMScsIE5vbmUpLAotKHUnQWRtaW5XZWxjb21lRGxnJywgdSdOZXh0JywgdSdOZXdEaWFsb2cnLCB1J0FkbWluUmVnaXN0cmF0aW9uRGxnJywgdScxJywgMiksCi0odSdBZG1pbldlbGNvbWVEbGcnLCB1J05leHQnLCB1J1tJbnN0YWxsTW9kZV0nLCB1J1NlcnZlciBJbWFnZScsIHUnMScsIDEpLAotKHUnRXhpdERpYWxvZycsIHUnRmluaXNoJywgdSdFbmREaWFsb2cnLCB1J1JldHVybicsIHUnMScsIE5vbmUpLAotKHUnRmF0YWxFcnJvcicsIHUnRmluaXNoJywgdSdFbmREaWFsb2cnLCB1J0V4aXQnLCB1JzEnLCBOb25lKSwKLSh1J1ByZXBhcmVEbGcnLCB1J0NhbmNlbCcsIHUnU3Bhd25EaWFsb2cnLCB1J0NhbmNlbERsZycsIHUnMScsIE5vbmUpLAotKHUnUHJvZ3Jlc3NEbGcnLCB1J0NhbmNlbCcsIHUnU3Bhd25EaWFsb2cnLCB1J0NhbmNlbERsZycsIHUnMScsIE5vbmUpLAotKHUnVXNlckV4aXQnLCB1J0ZpbmlzaCcsIHUnRW5kRGlhbG9nJywgdSdFeGl0JywgdScxJywgTm9uZSksCi0odSdBZG1pbkJyb3dzZURsZycsIHUnVXAnLCB1J0RpcmVjdG9yeUxpc3RVcCcsIHUnMCcsIHUnMScsIE5vbmUpLAotKHUnQWRtaW5Ccm93c2VEbGcnLCB1J0NhbmNlbCcsIHUnUmVzZXQnLCB1JzAnLCB1JzEnLCAxKSwKLSh1J0FkbWluQnJvd3NlRGxnJywgdSdDYW5jZWwnLCB1J0VuZERpYWxvZycsIHUnUmV0dXJuJywgdScxJywgMiksCi0odSdBZG1pbkJyb3dzZURsZycsIHUnTmV3Rm9sZGVyJywgdSdEaXJlY3RvcnlMaXN0TmV3JywgdScwJywgdScxJywgTm9uZSksCi0odSdBZG1pbkJyb3dzZURsZycsIHUnT0snLCB1J0VuZERpYWxvZycsIHUnUmV0dXJuJywgdScxJywgMiksCi0odSdBZG1pbkJyb3dzZURsZycsIHUnT0snLCB1J1NldFRhcmdldFBhdGgnLCB1J1RBUkdFVERJUicsIHUnMScsIDEpLAotKHUnQWRtaW5JbnN0YWxsUG9pbnREbGcnLCB1J0NhbmNlbCcsIHUnU3Bhd25EaWFsb2cnLCB1J0NhbmNlbERsZycsIHUnMScsIE5vbmUpLAotKHUnQWRtaW5JbnN0YWxsUG9pbnREbGcnLCB1J0JhY2snLCB1J05ld0RpYWxvZycsIHUnQWRtaW5SZWdpc3RyYXRpb25EbGcnLCB1JzEnLCBOb25lKSwKLSh1J0FkbWluSW5zdGFsbFBvaW50RGxnJywgdSdOZXh0JywgdSdTZXRUYXJnZXRQYXRoJywgdSdUQVJHRVRESVInLCB1JzEnLCAxKSwKLSh1J0FkbWluSW5zdGFsbFBvaW50RGxnJywgdSdOZXh0JywgdSdOZXdEaWFsb2cnLCB1J1ZlcmlmeVJlYWR5RGxnJywgdScxJywgMiksCi0odSdBZG1pbkluc3RhbGxQb2ludERsZycsIHUnQnJvd3NlJywgdSdTcGF3bkRpYWxvZycsIHUnQWRtaW5Ccm93c2VEbGcnLCB1JzEnLCBOb25lKSwKLSh1J0FkbWluUmVnaXN0cmF0aW9uRGxnJywgdSdDYW5jZWwnLCB1J1NwYXduRGlhbG9nJywgdSdDYW5jZWxEbGcnLCB1JzEnLCBOb25lKSwKLSh1J0FkbWluUmVnaXN0cmF0aW9uRGxnJywgdSdCYWNrJywgdSdOZXdEaWFsb2cnLCB1J0FkbWluV2VsY29tZURsZycsIHUnMScsIE5vbmUpLAotKHUnQWRtaW5SZWdpc3RyYXRpb25EbGcnLCB1J05leHQnLCB1J05ld0RpYWxvZycsIHUnQWRtaW5JbnN0YWxsUG9pbnREbGcnLCB1J1Byb2R1Y3RJRCcsIDIpLAotKHUnQWRtaW5SZWdpc3RyYXRpb25EbGcnLCB1J05leHQnLCB1J1ZhbGlkYXRlUHJvZHVjdElEJywgdScwJywgdScwJywgMSksCi0odSdCcm93c2VEbGcnLCB1J1VwJywgdSdEaXJlY3RvcnlMaXN0VXAnLCB1JzAnLCB1JzEnLCBOb25lKSwKLSh1J0Jyb3dzZURsZycsIHUnQ2FuY2VsJywgdSdSZXNldCcsIHUnMCcsIHUnMScsIDEpLAotKHUnQnJvd3NlRGxnJywgdSdDYW5jZWwnLCB1J0VuZERpYWxvZycsIHUnUmV0dXJuJywgdScxJywgMiksCi0odSdCcm93c2VEbGcnLCB1J05ld0ZvbGRlcicsIHUnRGlyZWN0b3J5TGlzdE5ldycsIHUnMCcsIHUnMScsIE5vbmUpLAotKHUnQnJvd3NlRGxnJywgdSdPSycsIHUnRW5kRGlhbG9nJywgdSdSZXR1cm4nLCB1JzEnLCAyKSwKLSh1J0Jyb3dzZURsZycsIHUnT0snLCB1J1NldFRhcmdldFBhdGgnLCB1J1tfQnJvd3NlUHJvcGVydHldJywgdScxJywgMSksCi0odSdDYW5jZWxEbGcnLCB1J05vJywgdSdFbmREaWFsb2cnLCB1J1JldHVybicsIHUnMScsIE5vbmUpLAotKHUnQ2FuY2VsRGxnJywgdSdZZXMnLCB1J0VuZERpYWxvZycsIHUnRXhpdCcsIHUnMScsIE5vbmUpLAotKHUnQ3VzdG9taXplRGxnJywgdSdDYW5jZWwnLCB1J1NwYXduRGlhbG9nJywgdSdDYW5jZWxEbGcnLCB1JzEnLCBOb25lKSwKLSh1J0N1c3RvbWl6ZURsZycsIHUnQmFjaycsIHUnTmV3RGlhbG9nJywgdSdNYWludGVuYW5jZVR5cGVEbGcnLCB1J0luc3RhbGxNb2RlID0gIkNoYW5nZSInLCBOb25lKSwKLSh1J0N1c3RvbWl6ZURsZycsIHUnQmFjaycsIHUnTmV3RGlhbG9nJywgdSdTZXR1cFR5cGVEbGcnLCB1J0luc3RhbGxNb2RlID0gIkN1c3RvbSInLCBOb25lKSwKLSh1J0N1c3RvbWl6ZURsZycsIHUnTmV4dCcsIHUnTmV3RGlhbG9nJywgdSdWZXJpZnlSZWFkeURsZycsIHUnMScsIE5vbmUpLAotKHUnQ3VzdG9taXplRGxnJywgdSdCcm93c2UnLCB1J1NlbGVjdGlvbkJyb3dzZScsIHUnQnJvd3NlRGxnJywgdScxJywgTm9uZSksCi0odSdDdXN0b21pemVEbGcnLCB1J1Jlc2V0JywgdSdSZXNldCcsIHUnMCcsIHUnMScsIE5vbmUpLAotKHUnQ3VzdG9taXplRGxnJywgdSdEaXNrQ29zdCcsIHUnU3Bhd25EaWFsb2cnLCB1J0Rpc2tDb3N0RGxnJywgdScxJywgMiksCi0odSdEaXNrQ29zdERsZycsIHUnT0snLCB1J0VuZERpYWxvZycsIHUnUmV0dXJuJywgdScxJywgTm9uZSksCi0odSdFcnJvckRsZycsIHUnWScsIHUnRW5kRGlhbG9nJywgdSdFcnJvclllcycsIHUnMScsIE5vbmUpLAotKHUnRXJyb3JEbGcnLCB1J0EnLCB1J0VuZERpYWxvZycsIHUnRXJyb3JBYm9ydCcsIHUnMScsIE5vbmUpLAotKHUnRXJyb3JEbGcnLCB1J0MnLCB1J0VuZERpYWxvZycsIHUnRXJyb3JDYW5jZWwnLCB1JzEnLCBOb25lKSwKLSh1J0Vycm9yRGxnJywgdSdJJywgdSdFbmREaWFsb2cnLCB1J0Vycm9ySWdub3JlJywgdScxJywgTm9uZSksCi0odSdFcnJvckRsZycsIHUnTicsIHUnRW5kRGlhbG9nJywgdSdFcnJvck5vJywgdScxJywgTm9uZSksCi0odSdFcnJvckRsZycsIHUnTycsIHUnRW5kRGlhbG9nJywgdSdFcnJvck9rJywgdScxJywgTm9uZSksCi0odSdFcnJvckRsZycsIHUnUicsIHUnRW5kRGlhbG9nJywgdSdFcnJvclJldHJ5JywgdScxJywgTm9uZSksCi0odSdGaWxlc0luVXNlJywgdSdSZXRyeScsIHUnRW5kRGlhbG9nJywgdSdSZXRyeScsIHUnMScsIE5vbmUpLAotKHUnRmlsZXNJblVzZScsIHUnRXhpdCcsIHUnRW5kRGlhbG9nJywgdSdFeGl0JywgdScxJywgTm9uZSksCi0odSdGaWxlc0luVXNlJywgdSdJZ25vcmUnLCB1J0VuZERpYWxvZycsIHUnSWdub3JlJywgdScxJywgTm9uZSksCi0odSdMaWNlbnNlQWdyZWVtZW50RGxnJywgdSdDYW5jZWwnLCB1J1NwYXduRGlhbG9nJywgdSdDYW5jZWxEbGcnLCB1JzEnLCBOb25lKSwKLSh1J0xpY2Vuc2VBZ3JlZW1lbnREbGcnLCB1J0JhY2snLCB1J05ld0RpYWxvZycsIHUnV2VsY29tZURsZycsIHUnMScsIE5vbmUpLAotKHUnTGljZW5zZUFncmVlbWVudERsZycsIHUnTmV4dCcsIHUnTmV3RGlhbG9nJywgdSdTZXR1cFR5cGVEbGcnLCB1J0lBZ3JlZSA9ICJZZXMiIEFORCBTaG93VXNlclJlZ2lzdHJhdGlvbkRsZyA8PiAxJywgMyksCi0odSdMaWNlbnNlQWdyZWVtZW50RGxnJywgdSdOZXh0JywgdSdOZXdEaWFsb2cnLCB1J1VzZXJSZWdpc3RyYXRpb25EbGcnLCB1J0lBZ3JlZSA9ICJZZXMiIEFORCBTaG93VXNlclJlZ2lzdHJhdGlvbkRsZyA9IDEnLCAxKSwKLSh1J0xpY2Vuc2VBZ3JlZW1lbnREbGcnLCB1J05leHQnLCB1J1NwYXduV2FpdERpYWxvZycsIHUnV2FpdEZvckNvc3RpbmdEbGcnLCB1J0Nvc3RpbmdDb21wbGV0ZSA9IDEnLCAyKSwKLSh1J01haW50ZW5hbmNlVHlwZURsZycsIHUnQ2FuY2VsJywgdSdTcGF3bkRpYWxvZycsIHUnQ2FuY2VsRGxnJywgdScxJywgTm9uZSksCi0odSdNYWludGVuYW5jZVR5cGVEbGcnLCB1J0JhY2snLCB1J05ld0RpYWxvZycsIHUnTWFpbnRlbmFuY2VXZWxjb21lRGxnJywgdScxJywgTm9uZSksCi0odSdNYWludGVuYW5jZVR5cGVEbGcnLCB1J0NoYW5nZUJ1dHRvbicsIHUnTmV3RGlhbG9nJywgdSdDdXN0b21pemVEbGcnLCB1JzEnLCA0KSwKLSh1J01haW50ZW5hbmNlVHlwZURsZycsIHUnQ2hhbmdlQnV0dG9uJywgdSdbSW5zdGFsbE1vZGVdJywgdSdDaGFuZ2UnLCB1JzEnLCAxKSwKLSh1J01haW50ZW5hbmNlVHlwZURsZycsIHUnQ2hhbmdlQnV0dG9uJywgdSdbUHJvZ3Jlc3MxXScsIHUnQ2hhbmdpbmcnLCB1JzEnLCAyKSwKLSh1J01haW50ZW5hbmNlVHlwZURsZycsIHUnQ2hhbmdlQnV0dG9uJywgdSdbUHJvZ3Jlc3MyXScsIHUnY2hhbmdlcycsIHUnMScsIDMpLAotKHUnTWFpbnRlbmFuY2VUeXBlRGxnJywgdSdSZW1vdmVCdXR0b24nLCB1J05ld0RpYWxvZycsIHUnVmVyaWZ5UmVtb3ZlRGxnJywgdScxJywgNCksCi0odSdNYWludGVuYW5jZVR5cGVEbGcnLCB1J1JlbW92ZUJ1dHRvbicsIHUnW0luc3RhbGxNb2RlXScsIHUnUmVtb3ZlJywgdScxJywgMSksCi0odSdNYWludGVuYW5jZVR5cGVEbGcnLCB1J1JlbW92ZUJ1dHRvbicsIHUnW1Byb2dyZXNzMV0nLCB1J1JlbW92aW5nJywgdScxJywgMiksCi0odSdNYWludGVuYW5jZVR5cGVEbGcnLCB1J1JlbW92ZUJ1dHRvbicsIHUnW1Byb2dyZXNzMl0nLCB1J3JlbW92ZXMnLCB1JzEnLCAzKSwKLSh1J01haW50ZW5hbmNlVHlwZURsZycsIHUnUmVwYWlyQnV0dG9uJywgdSdOZXdEaWFsb2cnLCB1J1ZlcmlmeVJlcGFpckRsZycsIHUnMScsIDQpLAotKHUnTWFpbnRlbmFuY2VUeXBlRGxnJywgdSdSZXBhaXJCdXR0b24nLCB1J1tJbnN0YWxsTW9kZV0nLCB1J1JlcGFpcicsIHUnMScsIDEpLAotKHUnTWFpbnRlbmFuY2VUeXBlRGxnJywgdSdSZXBhaXJCdXR0b24nLCB1J1tQcm9ncmVzczFdJywgdSdSZXBhaXJpbmcnLCB1JzEnLCAyKSwKLSh1J01haW50ZW5hbmNlVHlwZURsZycsIHUnUmVwYWlyQnV0dG9uJywgdSdbUHJvZ3Jlc3MyXScsIHUncmVwYWlycycsIHUnMScsIDMpLAotKHUnTWFpbnRlbmFuY2VXZWxjb21lRGxnJywgdSdDYW5jZWwnLCB1J1NwYXduRGlhbG9nJywgdSdDYW5jZWxEbGcnLCB1JzEnLCBOb25lKSwKLSh1J01haW50ZW5hbmNlV2VsY29tZURsZycsIHUnTmV4dCcsIHUnTmV3RGlhbG9nJywgdSdNYWludGVuYW5jZVR5cGVEbGcnLCB1JzEnLCAyKSwKLSh1J01haW50ZW5hbmNlV2VsY29tZURsZycsIHUnTmV4dCcsIHUnU3Bhd25XYWl0RGlhbG9nJywgdSdXYWl0Rm9yQ29zdGluZ0RsZycsIHUnQ29zdGluZ0NvbXBsZXRlID0gMScsIDEpLAotKHUnT3V0T2ZEaXNrRGxnJywgdSdPSycsIHUnRW5kRGlhbG9nJywgdSdSZXR1cm4nLCB1JzEnLCBOb25lKSwKLSh1J091dE9mUmJEaXNrRGxnJywgdSdObycsIHUnRW5kRGlhbG9nJywgdSdSZXR1cm4nLCB1JzEnLCBOb25lKSwKLSh1J091dE9mUmJEaXNrRGxnJywgdSdZZXMnLCB1J0VuZERpYWxvZycsIHUnUmV0dXJuJywgdScxJywgMiksCi0odSdPdXRPZlJiRGlza0RsZycsIHUnWWVzJywgdSdFbmFibGVSb2xsYmFjaycsIHUnRmFsc2UnLCB1JzEnLCAxKSwKLSh1J1Jlc3VtZURsZycsIHUnQ2FuY2VsJywgdSdTcGF3bkRpYWxvZycsIHUnQ2FuY2VsRGxnJywgdScxJywgTm9uZSksCi0odSdSZXN1bWVEbGcnLCB1J0luc3RhbGwnLCB1J0VuZERpYWxvZycsIHUnUmV0dXJuJywgdSdPdXRPZkRpc2tTcGFjZSA9IDEgQU5EIE91dE9mTm9SYkRpc2tTcGFjZSA9IDAgQU5EIFBST01QVFJPTExCQUNLQ09TVD0iRCInLCA0KSwKLSh1J1Jlc3VtZURsZycsIHUnSW5zdGFsbCcsIHUnRW5kRGlhbG9nJywgdSdSZXR1cm4nLCB1J091dE9mRGlza1NwYWNlIDw+IDEnLCAyKSwKLSh1J1Jlc3VtZURsZycsIHUnSW5zdGFsbCcsIHUnU3Bhd25EaWFsb2cnLCB1J091dE9mRGlza0RsZycsIHUnKE91dE9mRGlza1NwYWNlID0gMSBBTkQgT3V0T2ZOb1JiRGlza1NwYWNlID0gMSkgT1IgKE91dE9mRGlza1NwYWNlID0gMSBBTkQgUFJPTVBUUk9MTEJBQ0tDT1NUPSJGIiknLCA2KSwKLSh1J1Jlc3VtZURsZycsIHUnSW5zdGFsbCcsIHUnU3Bhd25EaWFsb2cnLCB1J091dE9mUmJEaXNrRGxnJywgdSdPdXRPZkRpc2tTcGFjZSA9IDEgQU5EIE91dE9mTm9SYkRpc2tTcGFjZSA9IDAgQU5EIChQUk9NUFRST0xMQkFDS0NPU1Q9IlAiIE9SIE5PVCBQUk9NUFRST0xMQkFDS0NPU1QpJywgMyksCi0odSdSZXN1bWVEbGcnLCB1J0luc3RhbGwnLCB1J1NwYXduV2FpdERpYWxvZycsIHUnV2FpdEZvckNvc3RpbmdEbGcnLCB1J0Nvc3RpbmdDb21wbGV0ZSA9IDEnLCAxKSwKLSh1J1Jlc3VtZURsZycsIHUnSW5zdGFsbCcsIHUnRW5hYmxlUm9sbGJhY2snLCB1J0ZhbHNlJywgdSdPdXRPZkRpc2tTcGFjZSA9IDEgQU5EIE91dE9mTm9SYkRpc2tTcGFjZSA9IDAgQU5EIFBST01QVFJPTExCQUNLQ09TVD0iRCInLCA1KSwKLSh1J1NldHVwVHlwZURsZycsIHUnQ2FuY2VsJywgdSdTcGF3bkRpYWxvZycsIHUnQ2FuY2VsRGxnJywgdScxJywgTm9uZSksCi0odSdTZXR1cFR5cGVEbGcnLCB1J0JhY2snLCB1J05ld0RpYWxvZycsIHUnTGljZW5zZUFncmVlbWVudERsZycsIHUnU2hvd1VzZXJSZWdpc3RyYXRpb25EbGcgPD4gMScsIE5vbmUpLAotKHUnU2V0dXBUeXBlRGxnJywgdSdCYWNrJywgdSdOZXdEaWFsb2cnLCB1J1VzZXJSZWdpc3RyYXRpb25EbGcnLCB1J1Nob3dVc2VyUmVnaXN0cmF0aW9uRGxnID0gMScsIE5vbmUpLAotKHUnU2V0dXBUeXBlRGxnJywgdSdDb21wbGV0ZUJ1dHRvbicsIHUnTmV3RGlhbG9nJywgdSdWZXJpZnlSZWFkeURsZycsIHUnMScsIDMpLAotKHUnU2V0dXBUeXBlRGxnJywgdSdDb21wbGV0ZUJ1dHRvbicsIHUnW0luc3RhbGxNb2RlXScsIHUnQ29tcGxldGUnLCB1JzEnLCAxKSwKLSh1J1NldHVwVHlwZURsZycsIHUnQ29tcGxldGVCdXR0b24nLCB1J1NldEluc3RhbGxMZXZlbCcsIHUnMTAwMCcsIHUnMScsIDIpLAotKHUnU2V0dXBUeXBlRGxnJywgdSdDdXN0b21CdXR0b24nLCB1J05ld0RpYWxvZycsIHUnQ3VzdG9taXplRGxnJywgdScxJywgMiksCi0odSdTZXR1cFR5cGVEbGcnLCB1J0N1c3RvbUJ1dHRvbicsIHUnW0luc3RhbGxNb2RlXScsIHUnQ3VzdG9tJywgdScxJywgMSksCi0odSdTZXR1cFR5cGVEbGcnLCB1J1R5cGljYWxCdXR0b24nLCB1J05ld0RpYWxvZycsIHUnVmVyaWZ5UmVhZHlEbGcnLCB1JzEnLCAzKSwKLSh1J1NldHVwVHlwZURsZycsIHUnVHlwaWNhbEJ1dHRvbicsIHUnW0luc3RhbGxNb2RlXScsIHUnVHlwaWNhbCcsIHUnMScsIDEpLAotKHUnU2V0dXBUeXBlRGxnJywgdSdUeXBpY2FsQnV0dG9uJywgdSdTZXRJbnN0YWxsTGV2ZWwnLCB1JzMnLCB1JzEnLCAyKSwKLSh1J1VzZXJSZWdpc3RyYXRpb25EbGcnLCB1J0NhbmNlbCcsIHUnU3Bhd25EaWFsb2cnLCB1J0NhbmNlbERsZycsIHUnMScsIE5vbmUpLAotKHUnVXNlclJlZ2lzdHJhdGlvbkRsZycsIHUnQmFjaycsIHUnTmV3RGlhbG9nJywgdSdMaWNlbnNlQWdyZWVtZW50RGxnJywgdScxJywgTm9uZSksCi0odSdVc2VyUmVnaXN0cmF0aW9uRGxnJywgdSdOZXh0JywgdSdOZXdEaWFsb2cnLCB1J1NldHVwVHlwZURsZycsIHUnUHJvZHVjdElEJywgMyksCi0odSdVc2VyUmVnaXN0cmF0aW9uRGxnJywgdSdOZXh0JywgdSdWYWxpZGF0ZVByb2R1Y3RJRCcsIHUnMCcsIHUnMCcsIDEpLAotKHUnVXNlclJlZ2lzdHJhdGlvbkRsZycsIHUnTmV4dCcsIHUnU3Bhd25XYWl0RGlhbG9nJywgdSdXYWl0Rm9yQ29zdGluZ0RsZycsIHUnQ29zdGluZ0NvbXBsZXRlID0gMScsIDIpLAotKHUnVmVyaWZ5UmVhZHlEbGcnLCB1J0NhbmNlbCcsIHUnU3Bhd25EaWFsb2cnLCB1J0NhbmNlbERsZycsIHUnMScsIE5vbmUpLAotKHUnVmVyaWZ5UmVhZHlEbGcnLCB1J0JhY2snLCB1J05ld0RpYWxvZycsIHUnQWRtaW5JbnN0YWxsUG9pbnREbGcnLCB1J0luc3RhbGxNb2RlID0gIlNlcnZlciBJbWFnZSInLCBOb25lKSwKLSh1J1ZlcmlmeVJlYWR5RGxnJywgdSdCYWNrJywgdSdOZXdEaWFsb2cnLCB1J0N1c3RvbWl6ZURsZycsIHUnSW5zdGFsbE1vZGUgPSAiQ3VzdG9tIiBPUiBJbnN0YWxsTW9kZSA9ICJDaGFuZ2UiJywgTm9uZSksCi0odSdWZXJpZnlSZWFkeURsZycsIHUnQmFjaycsIHUnTmV3RGlhbG9nJywgdSdNYWludGVuYW5jZVR5cGVEbGcnLCB1J0luc3RhbGxNb2RlID0gIlJlcGFpciInLCBOb25lKSwKLSh1J1ZlcmlmeVJlYWR5RGxnJywgdSdCYWNrJywgdSdOZXdEaWFsb2cnLCB1J1NldHVwVHlwZURsZycsIHUnSW5zdGFsbE1vZGUgPSAiVHlwaWNhbCIgT1IgSW5zdGFsbE1vZGUgPSAiQ29tcGxldGUiJywgTm9uZSksCi0odSdWZXJpZnlSZWFkeURsZycsIHUnSW5zdGFsbCcsIHUnRW5kRGlhbG9nJywgdSdSZXR1cm4nLCB1J091dE9mRGlza1NwYWNlID0gMSBBTkQgT3V0T2ZOb1JiRGlza1NwYWNlID0gMCBBTkQgUFJPTVBUUk9MTEJBQ0tDT1NUPSJEIicsIDMpLAotKHUnVmVyaWZ5UmVhZHlEbGcnLCB1J0luc3RhbGwnLCB1J0VuZERpYWxvZycsIHUnUmV0dXJuJywgdSdPdXRPZkRpc2tTcGFjZSA8PiAxJywgMSksCi0odSdWZXJpZnlSZWFkeURsZycsIHUnSW5zdGFsbCcsIHUnU3Bhd25EaWFsb2cnLCB1J091dE9mRGlza0RsZycsIHUnKE91dE9mRGlza1NwYWNlID0gMSBBTkQgT3V0T2ZOb1JiRGlza1NwYWNlID0gMSkgT1IgKE91dE9mRGlza1NwYWNlID0gMSBBTkQgUFJPTVBUUk9MTEJBQ0tDT1NUPSJGIiknLCA1KSwKLSh1J1ZlcmlmeVJlYWR5RGxnJywgdSdJbnN0YWxsJywgdSdTcGF3bkRpYWxvZycsIHUnT3V0T2ZSYkRpc2tEbGcnLCB1J091dE9mRGlza1NwYWNlID0gMSBBTkQgT3V0T2ZOb1JiRGlza1NwYWNlID0gMCBBTkQgKFBST01QVFJPTExCQUNLQ09TVD0iUCIgT1IgTk9UIFBST01QVFJPTExCQUNLQ09TVCknLCAyKSwKLSh1J1ZlcmlmeVJlYWR5RGxnJywgdSdJbnN0YWxsJywgdSdFbmFibGVSb2xsYmFjaycsIHUnRmFsc2UnLCB1J091dE9mRGlza1NwYWNlID0gMSBBTkQgT3V0T2ZOb1JiRGlza1NwYWNlID0gMCBBTkQgUFJPTVBUUk9MTEJBQ0tDT1NUPSJEIicsIDQpLAotKHUnVmVyaWZ5UmVtb3ZlRGxnJywgdSdDYW5jZWwnLCB1J1NwYXduRGlhbG9nJywgdSdDYW5jZWxEbGcnLCB1JzEnLCBOb25lKSwKLSh1J1ZlcmlmeVJlbW92ZURsZycsIHUnQmFjaycsIHUnTmV3RGlhbG9nJywgdSdNYWludGVuYW5jZVR5cGVEbGcnLCB1JzEnLCBOb25lKSwKLSh1J1ZlcmlmeVJlbW92ZURsZycsIHUnUmVtb3ZlJywgdSdSZW1vdmUnLCB1J0FsbCcsIHUnT3V0T2ZEaXNrU3BhY2UgPD4gMScsIDEpLAotKHUnVmVyaWZ5UmVtb3ZlRGxnJywgdSdSZW1vdmUnLCB1J0VuZERpYWxvZycsIHUnUmV0dXJuJywgdSdPdXRPZkRpc2tTcGFjZSA9IDEgQU5EIE91dE9mTm9SYkRpc2tTcGFjZSA9IDAgQU5EIFBST01QVFJPTExCQUNLQ09TVD0iRCInLCA0KSwKLSh1J1ZlcmlmeVJlbW92ZURsZycsIHUnUmVtb3ZlJywgdSdFbmREaWFsb2cnLCB1J1JldHVybicsIHUnT3V0T2ZEaXNrU3BhY2UgPD4gMScsIDIpLAotKHUnVmVyaWZ5UmVtb3ZlRGxnJywgdSdSZW1vdmUnLCB1J1NwYXduRGlhbG9nJywgdSdPdXRPZkRpc2tEbGcnLCB1JyhPdXRPZkRpc2tTcGFjZSA9IDEgQU5EIE91dE9mTm9SYkRpc2tTcGFjZSA9IDEpIE9SIChPdXRPZkRpc2tTcGFjZSA9IDEgQU5EIFBST01QVFJPTExCQUNLQ09TVD0iRiIpJywgNiksCi0odSdWZXJpZnlSZW1vdmVEbGcnLCB1J1JlbW92ZScsIHUnU3Bhd25EaWFsb2cnLCB1J091dE9mUmJEaXNrRGxnJywgdSdPdXRPZkRpc2tTcGFjZSA9IDEgQU5EIE91dE9mTm9SYkRpc2tTcGFjZSA9IDAgQU5EIChQUk9NUFRST0xMQkFDS0NPU1Q9IlAiIE9SIE5PVCBQUk9NUFRST0xMQkFDS0NPU1QpJywgMyksCi0odSdWZXJpZnlSZW1vdmVEbGcnLCB1J1JlbW92ZScsIHUnRW5hYmxlUm9sbGJhY2snLCB1J0ZhbHNlJywgdSdPdXRPZkRpc2tTcGFjZSA9IDEgQU5EIE91dE9mTm9SYkRpc2tTcGFjZSA9IDAgQU5EIFBST01QVFJPTExCQUNLQ09TVD0iRCInLCA1KSwKLSh1J1ZlcmlmeVJlcGFpckRsZycsIHUnQ2FuY2VsJywgdSdTcGF3bkRpYWxvZycsIHUnQ2FuY2VsRGxnJywgdScxJywgTm9uZSksCi0odSdWZXJpZnlSZXBhaXJEbGcnLCB1J0JhY2snLCB1J05ld0RpYWxvZycsIHUnTWFpbnRlbmFuY2VUeXBlRGxnJywgdScxJywgTm9uZSksCi0odSdWZXJpZnlSZXBhaXJEbGcnLCB1J1JlcGFpcicsIHUnRW5kRGlhbG9nJywgdSdSZXR1cm4nLCB1J091dE9mRGlza1NwYWNlID0gMSBBTkQgT3V0T2ZOb1JiRGlza1NwYWNlID0gMCBBTkQgUFJPTVBUUk9MTEJBQ0tDT1NUPSJEIicsIDUpLAotKHUnVmVyaWZ5UmVwYWlyRGxnJywgdSdSZXBhaXInLCB1J0VuZERpYWxvZycsIHUnUmV0dXJuJywgdSdPdXRPZkRpc2tTcGFjZSA8PiAxJywgMyksCi0odSdWZXJpZnlSZXBhaXJEbGcnLCB1J1JlcGFpcicsIHUnU3Bhd25EaWFsb2cnLCB1J091dE9mRGlza0RsZycsIHUnKE91dE9mRGlza1NwYWNlID0gMSBBTkQgT3V0T2ZOb1JiRGlza1NwYWNlID0gMSkgT1IgKE91dE9mRGlza1NwYWNlID0gMSBBTkQgUFJPTVBUUk9MTEJBQ0tDT1NUPSJGIiknLCA3KSwKLSh1J1ZlcmlmeVJlcGFpckRsZycsIHUnUmVwYWlyJywgdSdTcGF3bkRpYWxvZycsIHUnT3V0T2ZSYkRpc2tEbGcnLCB1J091dE9mRGlza1NwYWNlID0gMSBBTkQgT3V0T2ZOb1JiRGlza1NwYWNlID0gMCBBTkQgKFBST01QVFJPTExCQUNLQ09TVD0iUCIgT1IgTk9UIFBST01QVFJPTExCQUNLQ09TVCknLCA0KSwKLSh1J1ZlcmlmeVJlcGFpckRsZycsIHUnUmVwYWlyJywgdSdFbmFibGVSb2xsYmFjaycsIHUnRmFsc2UnLCB1J091dE9mRGlza1NwYWNlID0gMSBBTkQgT3V0T2ZOb1JiRGlza1NwYWNlID0gMCBBTkQgUFJPTVBUUk9MTEJBQ0tDT1NUPSJEIicsIDYpLAotKHUnVmVyaWZ5UmVwYWlyRGxnJywgdSdSZXBhaXInLCB1J1JlaW5zdGFsbCcsIHUnQWxsJywgdSdPdXRPZkRpc2tTcGFjZSA8PiAxJywgMiksCi0odSdWZXJpZnlSZXBhaXJEbGcnLCB1J1JlcGFpcicsIHUnUmVpbnN0YWxsTW9kZScsIHUnZWNtdXMnLCB1J091dE9mRGlza1NwYWNlIDw+IDEnLCAxKSwKLSh1J1dhaXRGb3JDb3N0aW5nRGxnJywgdSdSZXR1cm4nLCB1J0VuZERpYWxvZycsIHUnRXhpdCcsIHUnMScsIE5vbmUpLAotKHUnV2VsY29tZURsZycsIHUnQ2FuY2VsJywgdSdTcGF3bkRpYWxvZycsIHUnQ2FuY2VsRGxnJywgdScxJywgTm9uZSksCi0odSdXZWxjb21lRGxnJywgdSdOZXh0JywgdSdOZXdEaWFsb2cnLCB1J0xpY2Vuc2VBZ3JlZW1lbnREbGcnLCB1JzEnLCBOb25lKSwKLV0KLQotRGlhbG9nID0gWwotKHUnQWRtaW5XZWxjb21lRGxnJywgNTAsIDUwLCAzNzAsIDI3MCwgMywgdSdbUHJvZHVjdE5hbWVdIFtTZXR1cF0nLCB1J05leHQnLCB1J05leHQnLCB1J0NhbmNlbCcpLAotKHUnRXhpdERpYWxvZycsIDUwLCA1MCwgMzcwLCAyNzAsIDMsIHUnW1Byb2R1Y3ROYW1lXSBbU2V0dXBdJywgdSdGaW5pc2gnLCB1J0ZpbmlzaCcsIHUnRmluaXNoJyksCi0odSdGYXRhbEVycm9yJywgNTAsIDUwLCAzNzAsIDI3MCwgMywgdSdbUHJvZHVjdE5hbWVdIFtTZXR1cF0nLCB1J0ZpbmlzaCcsIHUnRmluaXNoJywgdSdGaW5pc2gnKSwKLSh1J1ByZXBhcmVEbGcnLCA1MCwgNTAsIDM3MCwgMjcwLCAxLCB1J1tQcm9kdWN0TmFtZV0gW1NldHVwXScsIHUnQ2FuY2VsJywgdSdDYW5jZWwnLCB1J0NhbmNlbCcpLAotKHUnUHJvZ3Jlc3NEbGcnLCA1MCwgNTAsIDM3MCwgMjcwLCAxLCB1J1tQcm9kdWN0TmFtZV0gW1NldHVwXScsIHUnQ2FuY2VsJywgdSdDYW5jZWwnLCB1J0NhbmNlbCcpLAotKHUnVXNlckV4aXQnLCA1MCwgNTAsIDM3MCwgMjcwLCAzLCB1J1tQcm9kdWN0TmFtZV0gW1NldHVwXScsIHUnRmluaXNoJywgdSdGaW5pc2gnLCB1J0ZpbmlzaCcpLAotKHUnQWRtaW5Ccm93c2VEbGcnLCA1MCwgNTAsIDM3MCwgMjcwLCAzLCB1J1tQcm9kdWN0TmFtZV0gW1NldHVwXScsIHUnUGF0aEVkaXQnLCB1J09LJywgdSdDYW5jZWwnKSwKLSh1J0FkbWluSW5zdGFsbFBvaW50RGxnJywgNTAsIDUwLCAzNzAsIDI3MCwgMywgdSdbUHJvZHVjdE5hbWVdIFtTZXR1cF0nLCB1J1RleHQnLCB1J05leHQnLCB1J0NhbmNlbCcpLAotKHUnQWRtaW5SZWdpc3RyYXRpb25EbGcnLCA1MCwgNTAsIDM3MCwgMjcwLCAzLCB1J1tQcm9kdWN0TmFtZV0gW1NldHVwXScsIHUnT3JnYW5pemF0aW9uTGFiZWwnLCB1J05leHQnLCB1J0NhbmNlbCcpLAotKHUnQnJvd3NlRGxnJywgNTAsIDUwLCAzNzAsIDI3MCwgMywgdSdbUHJvZHVjdE5hbWVdIFtTZXR1cF0nLCB1J1BhdGhFZGl0JywgdSdPSycsIHUnQ2FuY2VsJyksCi0odSdDYW5jZWxEbGcnLCA1MCwgMTAsIDI2MCwgODUsIDMsIHUnW1Byb2R1Y3ROYW1lXSBbU2V0dXBdJywgdSdObycsIHUnTm8nLCB1J05vJyksCi0odSdDdXN0b21pemVEbGcnLCA1MCwgNTAsIDM3MCwgMjcwLCAzNSwgdSdbUHJvZHVjdE5hbWVdIFtTZXR1cF0nLCB1J1RyZWUnLCB1J05leHQnLCB1J0NhbmNlbCcpLAotKHUnRGlza0Nvc3REbGcnLCA1MCwgNTAsIDM3MCwgMjcwLCAzLCB1J1tQcm9kdWN0TmFtZV0gW1NldHVwXScsIHUnT0snLCB1J09LJywgdSdPSycpLAotKHUnRXJyb3JEbGcnLCA1MCwgMTAsIDI3MCwgMTA1LCA2NTUzOSwgdSdJbnN0YWxsZXIgSW5mb3JtYXRpb24nLCB1J0Vycm9yVGV4dCcsIE5vbmUsIE5vbmUpLAotKHUnRmlsZXNJblVzZScsIDUwLCA1MCwgMzcwLCAyNzAsIDE5LCB1J1tQcm9kdWN0TmFtZV0gW1NldHVwXScsIHUnUmV0cnknLCB1J1JldHJ5JywgdSdSZXRyeScpLAotKHUnTGljZW5zZUFncmVlbWVudERsZycsIDUwLCA1MCwgMzcwLCAyNzAsIDMsIHUnW1Byb2R1Y3ROYW1lXSBMaWNlbnNlIEFncmVlbWVudCcsIHUnQnV0dG9ucycsIHUnTmV4dCcsIHUnQ2FuY2VsJyksCi0odSdNYWludGVuYW5jZVR5cGVEbGcnLCA1MCwgNTAsIDM3MCwgMjcwLCAzLCB1J1tQcm9kdWN0TmFtZV0gW1NldHVwXScsIHUnQ2hhbmdlTGFiZWwnLCB1J0NoYW5nZUJ1dHRvbicsIHUnQ2FuY2VsJyksCi0odSdNYWludGVuYW5jZVdlbGNvbWVEbGcnLCA1MCwgNTAsIDM3MCwgMjcwLCAzLCB1J1tQcm9kdWN0TmFtZV0gW1NldHVwXScsIHUnTmV4dCcsIHUnTmV4dCcsIHUnQ2FuY2VsJyksCi0odSdPdXRPZkRpc2tEbGcnLCA1MCwgNTAsIDM3MCwgMjcwLCAzLCB1J1tQcm9kdWN0TmFtZV0gW1NldHVwXScsIHUnT0snLCB1J09LJywgdSdPSycpLAotKHUnT3V0T2ZSYkRpc2tEbGcnLCA1MCwgNTAsIDM3MCwgMjcwLCAzLCB1J1tQcm9kdWN0TmFtZV0gW1NldHVwXScsIHUnTm8nLCB1J05vJywgdSdObycpLAotKHUnUmVzdW1lRGxnJywgNTAsIDUwLCAzNzAsIDI3MCwgMywgdSdbUHJvZHVjdE5hbWVdIFtTZXR1cF0nLCB1J0luc3RhbGwnLCB1J0luc3RhbGwnLCB1J0NhbmNlbCcpLAotKHUnU2V0dXBUeXBlRGxnJywgNTAsIDUwLCAzNzAsIDI3MCwgMywgdSdbUHJvZHVjdE5hbWVdIFtTZXR1cF0nLCB1J1R5cGljYWxMYWJlbCcsIHUnVHlwaWNhbEJ1dHRvbicsIHUnQ2FuY2VsJyksCi0odSdVc2VyUmVnaXN0cmF0aW9uRGxnJywgNTAsIDUwLCAzNzAsIDI3MCwgMywgdSdbUHJvZHVjdE5hbWVdIFtTZXR1cF0nLCB1J05hbWVMYWJlbCcsIHUnTmV4dCcsIHUnQ2FuY2VsJyksCi0odSdWZXJpZnlSZWFkeURsZycsIDUwLCA1MCwgMzcwLCAyNzAsIDM1LCB1J1tQcm9kdWN0TmFtZV0gW1NldHVwXScsIHUnSW5zdGFsbCcsIHUnSW5zdGFsbCcsIHUnQ2FuY2VsJyksCi0odSdWZXJpZnlSZW1vdmVEbGcnLCA1MCwgNTAsIDM3MCwgMjcwLCAzNSwgdSdbUHJvZHVjdE5hbWVdIFtTZXR1cF0nLCB1J0JhY2snLCB1J0JhY2snLCB1J0NhbmNlbCcpLAotKHUnVmVyaWZ5UmVwYWlyRGxnJywgNTAsIDUwLCAzNzAsIDI3MCwgMzUsIHUnW1Byb2R1Y3ROYW1lXSBbU2V0dXBdJywgdSdSZXBhaXInLCB1J1JlcGFpcicsIHUnQ2FuY2VsJyksCi0odSdXYWl0Rm9yQ29zdGluZ0RsZycsIDUwLCAxMCwgMjYwLCA4NSwgMywgdSdbUHJvZHVjdE5hbWVdIFtTZXR1cF0nLCB1J1JldHVybicsIHUnUmV0dXJuJywgdSdSZXR1cm4nKSwKLSh1J1dlbGNvbWVEbGcnLCA1MCwgNTAsIDM3MCwgMjcwLCAzLCB1J1tQcm9kdWN0TmFtZV0gW1NldHVwXScsIHUnTmV4dCcsIHUnTmV4dCcsIHUnQ2FuY2VsJyksCi1dCi0KLUV2ZW50TWFwcGluZyA9IFsKLSh1J1ByZXBhcmVEbGcnLCB1J0FjdGlvbkRhdGEnLCB1J0FjdGlvbkRhdGEnLCB1J1RleHQnKSwKLSh1J1ByZXBhcmVEbGcnLCB1J0FjdGlvblRleHQnLCB1J0FjdGlvblRleHQnLCB1J1RleHQnKSwKLSh1J1Byb2dyZXNzRGxnJywgdSdBY3Rpb25UZXh0JywgdSdBY3Rpb25UZXh0JywgdSdUZXh0JyksCi0odSdQcm9ncmVzc0RsZycsIHUnUHJvZ3Jlc3NCYXInLCB1J1NldFByb2dyZXNzJywgdSdQcm9ncmVzcycpLAotKHUnQWRtaW5Ccm93c2VEbGcnLCB1J0RpcmVjdG9yeUNvbWJvJywgdSdJZ25vcmVDaGFuZ2UnLCB1J0lnbm9yZUNoYW5nZScpLAotKHUnQnJvd3NlRGxnJywgdSdEaXJlY3RvcnlDb21ibycsIHUnSWdub3JlQ2hhbmdlJywgdSdJZ25vcmVDaGFuZ2UnKSwKLSh1J0N1c3RvbWl6ZURsZycsIHUnTmV4dCcsIHUnU2VsZWN0aW9uTm9JdGVtcycsIHUnRW5hYmxlZCcpLAotKHUnQ3VzdG9taXplRGxnJywgdSdSZXNldCcsIHUnU2VsZWN0aW9uTm9JdGVtcycsIHUnRW5hYmxlZCcpLAotKHUnQ3VzdG9taXplRGxnJywgdSdEaXNrQ29zdCcsIHUnU2VsZWN0aW9uTm9JdGVtcycsIHUnRW5hYmxlZCcpLAotKHUnQ3VzdG9taXplRGxnJywgdSdJdGVtRGVzY3JpcHRpb24nLCB1J1NlbGVjdGlvbkRlc2NyaXB0aW9uJywgdSdUZXh0JyksCi0odSdDdXN0b21pemVEbGcnLCB1J0l0ZW1TaXplJywgdSdTZWxlY3Rpb25TaXplJywgdSdUZXh0JyksCi0odSdDdXN0b21pemVEbGcnLCB1J0xvY2F0aW9uJywgdSdTZWxlY3Rpb25QYXRoJywgdSdUZXh0JyksCi0odSdDdXN0b21pemVEbGcnLCB1J0xvY2F0aW9uJywgdSdTZWxlY3Rpb25QYXRoT24nLCB1J1Zpc2libGUnKSwKLSh1J0N1c3RvbWl6ZURsZycsIHUnTG9jYXRpb25MYWJlbCcsIHUnU2VsZWN0aW9uUGF0aE9uJywgdSdWaXNpYmxlJyksCi1dCi0KLUluc3RhbGxFeGVjdXRlU2VxdWVuY2UgPSBbCi0odSdJbnN0YWxsVmFsaWRhdGUnLCBOb25lLCAxNDAwKSwKLSh1J0luc3RhbGxJbml0aWFsaXplJywgTm9uZSwgMTUwMCksCi0odSdJbnN0YWxsRmluYWxpemUnLCBOb25lLCA2NjAwKSwKLSh1J0luc3RhbGxGaWxlcycsIE5vbmUsIDQwMDApLAotKHUnRmlsZUNvc3QnLCBOb25lLCA5MDApLAotKHUnQ29zdEluaXRpYWxpemUnLCBOb25lLCA4MDApLAotKHUnQ29zdEZpbmFsaXplJywgTm9uZSwgMTAwMCksCi0odSdDcmVhdGVTaG9ydGN1dHMnLCBOb25lLCA0NTAwKSwKLSh1J1B1Ymxpc2hDb21wb25lbnRzJywgTm9uZSwgNjIwMCksCi0odSdQdWJsaXNoRmVhdHVyZXMnLCBOb25lLCA2MzAwKSwKLSh1J1B1Ymxpc2hQcm9kdWN0JywgTm9uZSwgNjQwMCksCi0odSdSZWdpc3RlckNsYXNzSW5mbycsIE5vbmUsIDQ2MDApLAotKHUnUmVnaXN0ZXJFeHRlbnNpb25JbmZvJywgTm9uZSwgNDcwMCksCi0odSdSZWdpc3Rlck1JTUVJbmZvJywgTm9uZSwgNDkwMCksCi0odSdSZWdpc3RlclByb2dJZEluZm8nLCBOb25lLCA0ODAwKSwKLSh1J1ZhbGlkYXRlUHJvZHVjdElEJywgTm9uZSwgNzAwKSwKLSh1J0FsbG9jYXRlUmVnaXN0cnlTcGFjZScsIHUnTk9UIEluc3RhbGxlZCcsIDE1NTApLAotKHUnQXBwU2VhcmNoJywgTm9uZSwgNDAwKSwKLSh1J0JpbmRJbWFnZScsIE5vbmUsIDQzMDApLAotKHUnQ0NQU2VhcmNoJywgdSdOT1QgSW5zdGFsbGVkJywgNTAwKSwKLSh1J0NyZWF0ZUZvbGRlcnMnLCBOb25lLCAzNzAwKSwKLSh1J0RlbGV0ZVNlcnZpY2VzJywgdSdWZXJzaW9uTlQnLCAyMDAwKSwKLSh1J0R1cGxpY2F0ZUZpbGVzJywgTm9uZSwgNDIxMCksCi0odSdGaW5kUmVsYXRlZFByb2R1Y3RzJywgTm9uZSwgMjAwKSwKLSh1J0luc3RhbGxPREJDJywgTm9uZSwgNTQwMCksCi0odSdJbnN0YWxsU2VydmljZXMnLCB1J1ZlcnNpb25OVCcsIDU4MDApLAotKHUnTGF1bmNoQ29uZGl0aW9ucycsIE5vbmUsIDEwMCksCi0odSdNaWdyYXRlRmVhdHVyZVN0YXRlcycsIE5vbmUsIDEyMDApLAotKHUnTW92ZUZpbGVzJywgTm9uZSwgMzgwMCksCi0odSdQYXRjaEZpbGVzJywgTm9uZSwgNDA5MCksCi0odSdQcm9jZXNzQ29tcG9uZW50cycsIE5vbmUsIDE2MDApLAotKHUnUmVnaXN0ZXJDb21QbHVzJywgTm9uZSwgNTcwMCksCi0odSdSZWdpc3RlckZvbnRzJywgTm9uZSwgNTMwMCksCi0odSdSZWdpc3RlclByb2R1Y3QnLCBOb25lLCA2MTAwKSwKLSh1J1JlZ2lzdGVyVHlwZUxpYnJhcmllcycsIE5vbmUsIDU1MDApLAotKHUnUmVnaXN0ZXJVc2VyJywgTm9uZSwgNjAwMCksCi0odSdSZW1vdmVEdXBsaWNhdGVGaWxlcycsIE5vbmUsIDM0MDApLAotKHUnUmVtb3ZlRW52aXJvbm1lbnRTdHJpbmdzJywgTm9uZSwgMzMwMCksCi0odSdSZW1vdmVFeGlzdGluZ1Byb2R1Y3RzJywgTm9uZSwgNjcwMCksCi0odSdSZW1vdmVGaWxlcycsIE5vbmUsIDM1MDApLAotKHUnUmVtb3ZlRm9sZGVycycsIE5vbmUsIDM2MDApLAotKHUnUmVtb3ZlSW5pVmFsdWVzJywgTm9uZSwgMzEwMCksCi0odSdSZW1vdmVPREJDJywgTm9uZSwgMjQwMCksCi0odSdSZW1vdmVSZWdpc3RyeVZhbHVlcycsIE5vbmUsIDI2MDApLAotKHUnUmVtb3ZlU2hvcnRjdXRzJywgTm9uZSwgMzIwMCksCi0odSdSTUNDUFNlYXJjaCcsIHUnTk9UIEluc3RhbGxlZCcsIDYwMCksCi0odSdTZWxmUmVnTW9kdWxlcycsIE5vbmUsIDU2MDApLAotKHUnU2VsZlVucmVnTW9kdWxlcycsIE5vbmUsIDIyMDApLAotKHUnU2V0T0RCQ0ZvbGRlcnMnLCBOb25lLCAxMTAwKSwKLSh1J1N0YXJ0U2VydmljZXMnLCB1J1ZlcnNpb25OVCcsIDU5MDApLAotKHUnU3RvcFNlcnZpY2VzJywgdSdWZXJzaW9uTlQnLCAxOTAwKSwKLSh1J1VucHVibGlzaENvbXBvbmVudHMnLCBOb25lLCAxNzAwKSwKLSh1J1VucHVibGlzaEZlYXR1cmVzJywgTm9uZSwgMTgwMCksCi0odSdVbnJlZ2lzdGVyQ2xhc3NJbmZvJywgTm9uZSwgMjcwMCksCi0odSdVbnJlZ2lzdGVyQ29tUGx1cycsIE5vbmUsIDIxMDApLAotKHUnVW5yZWdpc3RlckV4dGVuc2lvbkluZm8nLCBOb25lLCAyODAwKSwKLSh1J1VucmVnaXN0ZXJGb250cycsIE5vbmUsIDI1MDApLAotKHUnVW5yZWdpc3Rlck1JTUVJbmZvJywgTm9uZSwgMzAwMCksCi0odSdVbnJlZ2lzdGVyUHJvZ0lkSW5mbycsIE5vbmUsIDI5MDApLAotKHUnVW5yZWdpc3RlclR5cGVMaWJyYXJpZXMnLCBOb25lLCAyMzAwKSwKLSh1J1dyaXRlRW52aXJvbm1lbnRTdHJpbmdzJywgTm9uZSwgNTIwMCksCi0odSdXcml0ZUluaVZhbHVlcycsIE5vbmUsIDUxMDApLAotKHUnV3JpdGVSZWdpc3RyeVZhbHVlcycsIE5vbmUsIDUwMDApLAotXQotCi1JbnN0YWxsVUlTZXF1ZW5jZSA9IFsKLSModSdGaWxlQ29zdCcsIE5vbmUsIDkwMCksCi0jKHUnQ29zdEluaXRpYWxpemUnLCBOb25lLCA4MDApLAotIyh1J0Nvc3RGaW5hbGl6ZScsIE5vbmUsIDEwMDApLAotIyh1J0V4ZWN1dGVBY3Rpb24nLCBOb25lLCAxMzAwKSwKLSModSdFeGl0RGlhbG9nJywgTm9uZSwgLTEpLAotIyh1J0ZhdGFsRXJyb3InLCBOb25lLCAtMyksCi0odSdQcmVwYXJlRGxnJywgTm9uZSwgMTQwKSwKLSh1J1Byb2dyZXNzRGxnJywgTm9uZSwgMTI4MCksCi0jKHUnVXNlckV4aXQnLCBOb25lLCAtMiksCi0odSdNYWludGVuYW5jZVdlbGNvbWVEbGcnLCB1J0luc3RhbGxlZCBBTkQgTk9UIFJFU1VNRSBBTkQgTk9UIFByZXNlbGVjdGVkJywgMTI1MCksCi0odSdSZXN1bWVEbGcnLCB1J0luc3RhbGxlZCBBTkQgKFJFU1VNRSBPUiBQcmVzZWxlY3RlZCknLCAxMjQwKSwKLSh1J1dlbGNvbWVEbGcnLCB1J05PVCBJbnN0YWxsZWQnLCAxMjMwKSwKLSModSdBcHBTZWFyY2gnLCBOb25lLCA0MDApLAotIyh1J0NDUFNlYXJjaCcsIHUnTk9UIEluc3RhbGxlZCcsIDUwMCksCi0jKHUnRmluZFJlbGF0ZWRQcm9kdWN0cycsIE5vbmUsIDIwMCksCi0jKHUnTGF1bmNoQ29uZGl0aW9ucycsIE5vbmUsIDEwMCksCi0jKHUnTWlncmF0ZUZlYXR1cmVTdGF0ZXMnLCBOb25lLCAxMjAwKSwKLSModSdSTUNDUFNlYXJjaCcsIHUnTk9UIEluc3RhbGxlZCcsIDYwMCksCi1dCi0KLUxpc3RWaWV3ID0gWwotXQotCi1SYWRpb0J1dHRvbiA9IFsKLSh1J0lBZ3JlZScsIDEsIHUnWWVzJywgNSwgMCwgMjUwLCAxNSwgdSd7XFxEbGdGb250OH1JICZhY2NlcHQgdGhlIHRlcm1zIGluIHRoZSBMaWNlbnNlIEFncmVlbWVudCcsIE5vbmUpLAotKHUnSUFncmVlJywgMiwgdSdObycsIDUsIDIwLCAyNTAsIDE1LCB1J3tcXERsZ0ZvbnQ4fUkgJmRvIG5vdCBhY2NlcHQgdGhlIHRlcm1zIGluIHRoZSBMaWNlbnNlIEFncmVlbWVudCcsIE5vbmUpLAotXQotCi1UZXh0U3R5bGUgPSBbCi0odSdEbGdGb250OCcsIHUnVGFob21hJywgOCwgTm9uZSwgMCksCi0odSdEbGdGb250Qm9sZDgnLCB1J1RhaG9tYScsIDgsIE5vbmUsIDEpLAotKHUnVmVyZGFuYUJvbGQxMycsIHUnVmVyZGFuYScsIDEzLCBOb25lLCAxKSwKLV0KLQotVUlUZXh0ID0gWwotKHUnQWJzZW50UGF0aCcsIE5vbmUpLAotKHUnYnl0ZXMnLCB1J2J5dGVzJyksCi0odSdHQicsIHUnR0InKSwKLSh1J0tCJywgdSdLQicpLAotKHUnTUInLCB1J01CJyksCi0odSdNZW51QWJzZW50JywgdSdFbnRpcmUgZmVhdHVyZSB3aWxsIGJlIHVuYXZhaWxhYmxlJyksCi0odSdNZW51QWR2ZXJ0aXNlJywgdSdGZWF0dXJlIHdpbGwgYmUgaW5zdGFsbGVkIHdoZW4gcmVxdWlyZWQnKSwKLSh1J01lbnVBbGxDRCcsIHUnRW50aXJlIGZlYXR1cmUgd2lsbCBiZSBpbnN0YWxsZWQgdG8gcnVuIGZyb20gQ0QnKSwKLSh1J01lbnVBbGxMb2NhbCcsIHUnRW50aXJlIGZlYXR1cmUgd2lsbCBiZSBpbnN0YWxsZWQgb24gbG9jYWwgaGFyZCBkcml2ZScpLAotKHUnTWVudUFsbE5ldHdvcmsnLCB1J0VudGlyZSBmZWF0dXJlIHdpbGwgYmUgaW5zdGFsbGVkIHRvIHJ1biBmcm9tIG5ldHdvcmsnKSwKLSh1J01lbnVDRCcsIHUnV2lsbCBiZSBpbnN0YWxsZWQgdG8gcnVuIGZyb20gQ0QnKSwKLSh1J01lbnVMb2NhbCcsIHUnV2lsbCBiZSBpbnN0YWxsZWQgb24gbG9jYWwgaGFyZCBkcml2ZScpLAotKHUnTWVudU5ldHdvcmsnLCB1J1dpbGwgYmUgaW5zdGFsbGVkIHRvIHJ1biBmcm9tIG5ldHdvcmsnKSwKLSh1J1NjcmlwdEluUHJvZ3Jlc3MnLCB1J0dhdGhlcmluZyByZXF1aXJlZCBpbmZvcm1hdGlvbi4uLicpLAotKHUnU2VsQWJzZW50QWJzZW50JywgdSdUaGlzIGZlYXR1cmUgd2lsbCByZW1haW4gdW5pbnN0YWxsZWQnKSwKLSh1J1NlbEFic2VudEFkdmVydGlzZScsIHUnVGhpcyBmZWF0dXJlIHdpbGwgYmUgc2V0IHRvIGJlIGluc3RhbGxlZCB3aGVuIHJlcXVpcmVkJyksCi0odSdTZWxBYnNlbnRDRCcsIHUnVGhpcyBmZWF0dXJlIHdpbGwgYmUgaW5zdGFsbGVkIHRvIHJ1biBmcm9tIENEJyksCi0odSdTZWxBYnNlbnRMb2NhbCcsIHUnVGhpcyBmZWF0dXJlIHdpbGwgYmUgaW5zdGFsbGVkIG9uIHRoZSBsb2NhbCBoYXJkIGRyaXZlJyksCi0odSdTZWxBYnNlbnROZXR3b3JrJywgdSdUaGlzIGZlYXR1cmUgd2lsbCBiZSBpbnN0YWxsZWQgdG8gcnVuIGZyb20gdGhlIG5ldHdvcmsnKSwKLSh1J1NlbEFkdmVydGlzZUFic2VudCcsIHUnVGhpcyBmZWF0dXJlIHdpbGwgYmVjb21lIHVuYXZhaWxhYmxlJyksCi0odSdTZWxBZHZlcnRpc2VBZHZlcnRpc2UnLCB1J1dpbGwgYmUgaW5zdGFsbGVkIHdoZW4gcmVxdWlyZWQnKSwKLSh1J1NlbEFkdmVydGlzZUNEJywgdSdUaGlzIGZlYXR1cmUgd2lsbCBiZSBhdmFpbGFibGUgdG8gcnVuIGZyb20gQ0QnKSwKLSh1J1NlbEFkdmVydGlzZUxvY2FsJywgdSdUaGlzIGZlYXR1cmUgd2lsbCBiZSBpbnN0YWxsZWQgb24geW91ciBsb2NhbCBoYXJkIGRyaXZlJyksCi0odSdTZWxBZHZlcnRpc2VOZXR3b3JrJywgdSdUaGlzIGZlYXR1cmUgd2lsbCBiZSBhdmFpbGFibGUgdG8gcnVuIGZyb20gdGhlIG5ldHdvcmsnKSwKLSh1J1NlbENEQWJzZW50JywgdSJUaGlzIGZlYXR1cmUgd2lsbCBiZSB1bmluc3RhbGxlZCBjb21wbGV0ZWx5LCB5b3Ugd29uJ3QgYmUgYWJsZSB0byBydW4gaXQgZnJvbSBDRCIpLAotKHUnU2VsQ0RBZHZlcnRpc2UnLCB1J1RoaXMgZmVhdHVyZSB3aWxsIGNoYW5nZSBmcm9tIHJ1biBmcm9tIENEIHN0YXRlIHRvIHNldCB0byBiZSBpbnN0YWxsZWQgd2hlbiByZXF1aXJlZCcpLAotKHUnU2VsQ0RDRCcsIHUnVGhpcyBmZWF0dXJlIHdpbGwgcmVtYWluIHRvIGJlIHJ1biBmcm9tIENEJyksCi0odSdTZWxDRExvY2FsJywgdSdUaGlzIGZlYXR1cmUgd2lsbCBjaGFuZ2UgZnJvbSBydW4gZnJvbSBDRCBzdGF0ZSB0byBiZSBpbnN0YWxsZWQgb24gdGhlIGxvY2FsIGhhcmQgZHJpdmUnKSwKLSh1J1NlbENoaWxkQ29zdE5lZycsIHUnVGhpcyBmZWF0dXJlIGZyZWVzIHVwIFsxXSBvbiB5b3VyIGhhcmQgZHJpdmUuJyksCi0odSdTZWxDaGlsZENvc3RQb3MnLCB1J1RoaXMgZmVhdHVyZSByZXF1aXJlcyBbMV0gb24geW91ciBoYXJkIGRyaXZlLicpLAotKHUnU2VsQ29zdFBlbmRpbmcnLCB1J0NvbXBpbGluZyBjb3N0IGZvciB0aGlzIGZlYXR1cmUuLi4nKSwKLSh1J1NlbExvY2FsQWJzZW50JywgdSdUaGlzIGZlYXR1cmUgd2lsbCBiZSBjb21wbGV0ZWx5IHJlbW92ZWQnKSwKLSh1J1NlbExvY2FsQWR2ZXJ0aXNlJywgdSdUaGlzIGZlYXR1cmUgd2lsbCBiZSByZW1vdmVkIGZyb20geW91ciBsb2NhbCBoYXJkIGRyaXZlLCBidXQgd2lsbCBiZSBzZXQgdG8gYmUgaW5zdGFsbGVkIHdoZW4gcmVxdWlyZWQnKSwKLSh1J1NlbExvY2FsQ0QnLCB1J1RoaXMgZmVhdHVyZSB3aWxsIGJlIHJlbW92ZWQgZnJvbSB5b3VyIGxvY2FsIGhhcmQgZHJpdmUsIGJ1dCB3aWxsIGJlIHN0aWxsIGF2YWlsYWJsZSB0byBydW4gZnJvbSBDRCcpLAotKHUnU2VsTG9jYWxMb2NhbCcsIHUnVGhpcyBmZWF0dXJlIHdpbGwgcmVtYWluIG9uIHlvdSBsb2NhbCBoYXJkIGRyaXZlJyksCi0odSdTZWxMb2NhbE5ldHdvcmsnLCB1J1RoaXMgZmVhdHVyZSB3aWxsIGJlIHJlbW92ZWQgZnJvbSB5b3VyIGxvY2FsIGhhcmQgZHJpdmUsIGJ1dCB3aWxsIGJlIHN0aWxsIGF2YWlsYWJsZSB0byBydW4gZnJvbSB0aGUgbmV0d29yaycpLAotKHUnU2VsTmV0d29ya0Fic2VudCcsIHUiVGhpcyBmZWF0dXJlIHdpbGwgYmUgdW5pbnN0YWxsZWQgY29tcGxldGVseSwgeW91IHdvbid0IGJlIGFibGUgdG8gcnVuIGl0IGZyb20gdGhlIG5ldHdvcmsiKSwKLSh1J1NlbE5ldHdvcmtBZHZlcnRpc2UnLCB1J1RoaXMgZmVhdHVyZSB3aWxsIGNoYW5nZSBmcm9tIHJ1biBmcm9tIG5ldHdvcmsgc3RhdGUgdG8gc2V0IHRvIGJlIGluc3RhbGxlZCB3aGVuIHJlcXVpcmVkJyksCi0odSdTZWxOZXR3b3JrTG9jYWwnLCB1J1RoaXMgZmVhdHVyZSB3aWxsIGNoYW5nZSBmcm9tIHJ1biBmcm9tIG5ldHdvcmsgc3RhdGUgdG8gYmUgaW5zdGFsbGVkIG9uIHRoZSBsb2NhbCBoYXJkIGRyaXZlJyksCi0odSdTZWxOZXR3b3JrTmV0d29yaycsIHUnVGhpcyBmZWF0dXJlIHdpbGwgcmVtYWluIHRvIGJlIHJ1biBmcm9tIHRoZSBuZXR3b3JrJyksCi0odSdTZWxQYXJlbnRDb3N0TmVnTmVnJywgdSdUaGlzIGZlYXR1cmUgZnJlZXMgdXAgWzFdIG9uIHlvdXIgaGFyZCBkcml2ZS4gSXQgaGFzIFsyXSBvZiBbM10gc3ViZmVhdHVyZXMgc2VsZWN0ZWQuIFRoZSBzdWJmZWF0dXJlcyBmcmVlIHVwIFs0XSBvbiB5b3VyIGhhcmQgZHJpdmUuJyksCi0odSdTZWxQYXJlbnRDb3N0TmVnUG9zJywgdSdUaGlzIGZlYXR1cmUgZnJlZXMgdXAgWzFdIG9uIHlvdXIgaGFyZCBkcml2ZS4gSXQgaGFzIFsyXSBvZiBbM10gc3ViZmVhdHVyZXMgc2VsZWN0ZWQuIFRoZSBzdWJmZWF0dXJlcyByZXF1aXJlIFs0XSBvbiB5b3VyIGhhcmQgZHJpdmUuJyksCi0odSdTZWxQYXJlbnRDb3N0UG9zTmVnJywgdSdUaGlzIGZlYXR1cmUgcmVxdWlyZXMgWzFdIG9uIHlvdXIgaGFyZCBkcml2ZS4gSXQgaGFzIFsyXSBvZiBbM10gc3ViZmVhdHVyZXMgc2VsZWN0ZWQuIFRoZSBzdWJmZWF0dXJlcyBmcmVlIHVwIFs0XSBvbiB5b3VyIGhhcmQgZHJpdmUuJyksCi0odSdTZWxQYXJlbnRDb3N0UG9zUG9zJywgdSdUaGlzIGZlYXR1cmUgcmVxdWlyZXMgWzFdIG9uIHlvdXIgaGFyZCBkcml2ZS4gSXQgaGFzIFsyXSBvZiBbM10gc3ViZmVhdHVyZXMgc2VsZWN0ZWQuIFRoZSBzdWJmZWF0dXJlcyByZXF1aXJlIFs0XSBvbiB5b3VyIGhhcmQgZHJpdmUuJyksCi0odSdUaW1lUmVtYWluaW5nJywgdSdUaW1lIHJlbWFpbmluZzoge1sxXSBtaW51dGVzIH17WzJdIHNlY29uZHN9JyksCi0odSdWb2x1bWVDb3N0QXZhaWxhYmxlJywgdSdBdmFpbGFibGUnKSwKLSh1J1ZvbHVtZUNvc3REaWZmZXJlbmNlJywgdSdEaWZmZXJlbmNlJyksCi0odSdWb2x1bWVDb3N0UmVxdWlyZWQnLCB1J1JlcXVpcmVkJyksCi0odSdWb2x1bWVDb3N0U2l6ZScsIHUnRGlzayBTaXplJyksCi0odSdWb2x1bWVDb3N0Vm9sdW1lJywgdSdWb2x1bWUnKSwKLV0KLQotX1ZhbGlkYXRpb24gPSBbCi0odSdBZG1pbkV4ZWN1dGVTZXF1ZW5jZScsIHUnQWN0aW9uJywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdOYW1lIG9mIGFjdGlvbiB0byBpbnZva2UsIGVpdGhlciBpbiB0aGUgZW5naW5lIG9yIHRoZSBoYW5kbGVyIERMTC4nKSwKLSh1J0FkbWluRXhlY3V0ZVNlcXVlbmNlJywgdSdTZXF1ZW5jZScsIHUnWScsIC00LCAzMjc2NywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdOdW1iZXIgdGhhdCBkZXRlcm1pbmVzIHRoZSBzb3J0IG9yZGVyIGluIHdoaWNoIHRoZSBhY3Rpb25zIGFyZSB0byBiZSBleGVjdXRlZC4gIExlYXZlIGJsYW5rIHRvIHN1cHByZXNzIGFjdGlvbi4nKSwKLSh1J0FkbWluRXhlY3V0ZVNlcXVlbmNlJywgdSdDb25kaXRpb24nLCB1J1knLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0NvbmRpdGlvbicsIE5vbmUsIHUnT3B0aW9uYWwgZXhwcmVzc2lvbiB3aGljaCBza2lwcyB0aGUgYWN0aW9uIGlmIGV2YWx1YXRlcyB0byBleHBGYWxzZS5JZiB0aGUgZXhwcmVzc2lvbiBzeW50YXggaXMgaW52YWxpZCwgdGhlIGVuZ2luZSB3aWxsIHRlcm1pbmF0ZSwgcmV0dXJuaW5nIGllc0JhZEFjdGlvbkRhdGEuJyksCi0odSdBZG1pblVJU2VxdWVuY2UnLCB1J0FjdGlvbicsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnTmFtZSBvZiBhY3Rpb24gdG8gaW52b2tlLCBlaXRoZXIgaW4gdGhlIGVuZ2luZSBvciB0aGUgaGFuZGxlciBETEwuJyksCi0odSdBZG1pblVJU2VxdWVuY2UnLCB1J1NlcXVlbmNlJywgdSdZJywgLTQsIDMyNzY3LCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J051bWJlciB0aGF0IGRldGVybWluZXMgdGhlIHNvcnQgb3JkZXIgaW4gd2hpY2ggdGhlIGFjdGlvbnMgYXJlIHRvIGJlIGV4ZWN1dGVkLiAgTGVhdmUgYmxhbmsgdG8gc3VwcHJlc3MgYWN0aW9uLicpLAotKHUnQWRtaW5VSVNlcXVlbmNlJywgdSdDb25kaXRpb24nLCB1J1knLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0NvbmRpdGlvbicsIE5vbmUsIHUnT3B0aW9uYWwgZXhwcmVzc2lvbiB3aGljaCBza2lwcyB0aGUgYWN0aW9uIGlmIGV2YWx1YXRlcyB0byBleHBGYWxzZS5JZiB0aGUgZXhwcmVzc2lvbiBzeW50YXggaXMgaW52YWxpZCwgdGhlIGVuZ2luZSB3aWxsIHRlcm1pbmF0ZSwgcmV0dXJuaW5nIGllc0JhZEFjdGlvbkRhdGEuJyksCi0odSdDb25kaXRpb24nLCB1J0NvbmRpdGlvbicsIHUnWScsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnQ29uZGl0aW9uJywgTm9uZSwgdSdFeHByZXNzaW9uIGV2YWx1YXRlZCB0byBkZXRlcm1pbmUgaWYgTGV2ZWwgaW4gdGhlIEZlYXR1cmUgdGFibGUgaXMgdG8gY2hhbmdlLicpLAotKHUnQ29uZGl0aW9uJywgdSdGZWF0dXJlXycsIHUnTicsIE5vbmUsIE5vbmUsIHUnRmVhdHVyZScsIDEsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnUmVmZXJlbmNlIHRvIGEgRmVhdHVyZSBlbnRyeSBpbiBGZWF0dXJlIHRhYmxlLicpLAotKHUnQ29uZGl0aW9uJywgdSdMZXZlbCcsIHUnTicsIDAsIDMyNzY3LCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J05ldyBzZWxlY3Rpb24gTGV2ZWwgdG8gc2V0IGluIEZlYXR1cmUgdGFibGUgaWYgQ29uZGl0aW9uIGV2YWx1YXRlcyB0byBUUlVFLicpLAotKHUnQWR2dEV4ZWN1dGVTZXF1ZW5jZScsIHUnQWN0aW9uJywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdOYW1lIG9mIGFjdGlvbiB0byBpbnZva2UsIGVpdGhlciBpbiB0aGUgZW5naW5lIG9yIHRoZSBoYW5kbGVyIERMTC4nKSwKLSh1J0FkdnRFeGVjdXRlU2VxdWVuY2UnLCB1J1NlcXVlbmNlJywgdSdZJywgLTQsIDMyNzY3LCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J051bWJlciB0aGF0IGRldGVybWluZXMgdGhlIHNvcnQgb3JkZXIgaW4gd2hpY2ggdGhlIGFjdGlvbnMgYXJlIHRvIGJlIGV4ZWN1dGVkLiAgTGVhdmUgYmxhbmsgdG8gc3VwcHJlc3MgYWN0aW9uLicpLAotKHUnQWR2dEV4ZWN1dGVTZXF1ZW5jZScsIHUnQ29uZGl0aW9uJywgdSdZJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdDb25kaXRpb24nLCBOb25lLCB1J09wdGlvbmFsIGV4cHJlc3Npb24gd2hpY2ggc2tpcHMgdGhlIGFjdGlvbiBpZiBldmFsdWF0ZXMgdG8gZXhwRmFsc2UuSWYgdGhlIGV4cHJlc3Npb24gc3ludGF4IGlzIGludmFsaWQsIHRoZSBlbmdpbmUgd2lsbCB0ZXJtaW5hdGUsIHJldHVybmluZyBpZXNCYWRBY3Rpb25EYXRhLicpLAotKHUnQkJDb250cm9sJywgdSdUeXBlJywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdUaGUgdHlwZSBvZiB0aGUgY29udHJvbC4nKSwKLSh1J0JCQ29udHJvbCcsIHUnQkJDb250cm9sJywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdOYW1lIG9mIHRoZSBjb250cm9sLiBUaGlzIG5hbWUgbXVzdCBiZSB1bmlxdWUgd2l0aGluIGEgYmlsbGJvYXJkLCBidXQgY2FuIHJlcGVhdCBvbiBkaWZmZXJlbnQgYmlsbGJvYXJkLicpLAotKHUnQkJDb250cm9sJywgdSdCaWxsYm9hcmRfJywgdSdOJywgTm9uZSwgTm9uZSwgdSdCaWxsYm9hcmQnLCAxLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J0V4dGVybmFsIGtleSB0byB0aGUgQmlsbGJvYXJkIHRhYmxlLCBuYW1lIG9mIHRoZSBiaWxsYm9hcmQuJyksCi0odSdCQkNvbnRyb2wnLCB1J1gnLCB1J04nLCAwLCAzMjc2NywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdIb3Jpem9udGFsIGNvb3JkaW5hdGUgb2YgdGhlIHVwcGVyIGxlZnQgY29ybmVyIG9mIHRoZSBib3VuZGluZyByZWN0YW5nbGUgb2YgdGhlIGNvbnRyb2wuJyksCi0odSdCQkNvbnRyb2wnLCB1J1knLCB1J04nLCAwLCAzMjc2NywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdWZXJ0aWNhbCBjb29yZGluYXRlIG9mIHRoZSB1cHBlciBsZWZ0IGNvcm5lciBvZiB0aGUgYm91bmRpbmcgcmVjdGFuZ2xlIG9mIHRoZSBjb250cm9sLicpLAotKHUnQkJDb250cm9sJywgdSdXaWR0aCcsIHUnTicsIDAsIDMyNzY3LCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1dpZHRoIG9mIHRoZSBib3VuZGluZyByZWN0YW5nbGUgb2YgdGhlIGNvbnRyb2wuJyksCi0odSdCQkNvbnRyb2wnLCB1J0hlaWdodCcsIHUnTicsIDAsIDMyNzY3LCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0hlaWdodCBvZiB0aGUgYm91bmRpbmcgcmVjdGFuZ2xlIG9mIHRoZSBjb250cm9sLicpLAotKHUnQkJDb250cm9sJywgdSdBdHRyaWJ1dGVzJywgdSdZJywgMCwgMjE0NzQ4MzY0NywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdBIDMyLWJpdCB3b3JkIHRoYXQgc3BlY2lmaWVzIHRoZSBhdHRyaWJ1dGUgZmxhZ3MgdG8gYmUgYXBwbGllZCB0byB0aGlzIGNvbnRyb2wuJyksCi0odSdCQkNvbnRyb2wnLCB1J1RleHQnLCB1J1knLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RleHQnLCBOb25lLCB1J0Egc3RyaW5nIHVzZWQgdG8gc2V0IHRoZSBpbml0aWFsIHRleHQgY29udGFpbmVkIHdpdGhpbiBhIGNvbnRyb2wgKGlmIGFwcHJvcHJpYXRlKS4nKSwKLSh1J0JpbGxib2FyZCcsIHUnQWN0aW9uJywgdSdZJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdUaGUgbmFtZSBvZiBhbiBhY3Rpb24uIFRoZSBiaWxsYm9hcmQgaXMgZGlzcGxheWVkIGR1cmluZyB0aGUgcHJvZ3Jlc3MgbWVzc2FnZXMgcmVjZWl2ZWQgZnJvbSB0aGlzIGFjdGlvbi4nKSwKLSh1J0JpbGxib2FyZCcsIHUnQmlsbGJvYXJkJywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdOYW1lIG9mIHRoZSBiaWxsYm9hcmQuJyksCi0odSdCaWxsYm9hcmQnLCB1J0ZlYXR1cmVfJywgdSdOJywgTm9uZSwgTm9uZSwgdSdGZWF0dXJlJywgMSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdBbiBleHRlcm5hbCBrZXkgdG8gdGhlIEZlYXR1cmUgVGFibGUuIFRoZSBiaWxsYm9hcmQgaXMgc2hvd24gb25seSBpZiB0aGlzIGZlYXR1cmUgaXMgYmVpbmcgaW5zdGFsbGVkLicpLAotKHUnQmlsbGJvYXJkJywgdSdPcmRlcmluZycsIHUnWScsIDAsIDMyNzY3LCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0EgcG9zaXRpdmUgaW50ZWdlci4gSWYgdGhlcmUgaXMgbW9yZSB0aGFuIG9uZSBiaWxsYm9hcmQgY29ycmVzcG9uZGluZyB0byBhbiBhY3Rpb24gdGhleSB3aWxsIGJlIHNob3duIGluIHRoZSBvcmRlciBkZWZpbmVkIGJ5IHRoaXMgY29sdW1uLicpLAotKHUnQmluYXJ5JywgdSdOYW1lJywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdVbmlxdWUga2V5IGlkZW50aWZ5aW5nIHRoZSBiaW5hcnkgZGF0YS4nKSwKLSh1J0JpbmFyeScsIHUnRGF0YScsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnQmluYXJ5JywgTm9uZSwgdSdUaGUgdW5mb3JtYXR0ZWQgYmluYXJ5IGRhdGEuJyksCi0odSdDaGVja0JveCcsIHUnUHJvcGVydHknLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J0EgbmFtZWQgcHJvcGVydHkgdG8gYmUgdGllZCB0byB0aGUgaXRlbS4nKSwKLSh1J0NoZWNrQm94JywgdSdWYWx1ZScsIHUnWScsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnRm9ybWF0dGVkJywgTm9uZSwgdSdUaGUgdmFsdWUgc3RyaW5nIGFzc29jaWF0ZWQgd2l0aCB0aGUgaXRlbS4nKSwKLSh1J1Byb3BlcnR5JywgdSdQcm9wZXJ0eScsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnTmFtZSBvZiBwcm9wZXJ0eSwgdXBwZXJjYXNlIGlmIHNldHRhYmxlIGJ5IGxhdW5jaGVyIG9yIGxvYWRlci4nKSwKLSh1J1Byb3BlcnR5JywgdSdWYWx1ZScsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGV4dCcsIE5vbmUsIHUnU3RyaW5nIHZhbHVlIGZvciBwcm9wZXJ0eS4gIE5ldmVyIG51bGwgb3IgZW1wdHkuJyksCi0odSdDb21ib0JveCcsIHUnVGV4dCcsIHUnWScsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnRm9ybWF0dGVkJywgTm9uZSwgdSdUaGUgdmlzaWJsZSB0ZXh0IHRvIGJlIGFzc2lnbmVkIHRvIHRoZSBpdGVtLiBPcHRpb25hbC4gSWYgdGhpcyBlbnRyeSBvciB0aGUgZW50aXJlIGNvbHVtbiBpcyBtaXNzaW5nLCB0aGUgdGV4dCBpcyB0aGUgc2FtZSBhcyB0aGUgdmFsdWUuJyksCi0odSdDb21ib0JveCcsIHUnUHJvcGVydHknLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J0EgbmFtZWQgcHJvcGVydHkgdG8gYmUgdGllZCB0byB0aGlzIGl0ZW0uIEFsbCB0aGUgaXRlbXMgdGllZCB0byB0aGUgc2FtZSBwcm9wZXJ0eSBiZWNvbWUgcGFydCBvZiB0aGUgc2FtZSBjb21ib2JveC4nKSwKLSh1J0NvbWJvQm94JywgdSdWYWx1ZScsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnRm9ybWF0dGVkJywgTm9uZSwgdSdUaGUgdmFsdWUgc3RyaW5nIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGl0ZW0uIFNlbGVjdGluZyB0aGUgbGluZSB3aWxsIHNldCB0aGUgYXNzb2NpYXRlZCBwcm9wZXJ0eSB0byB0aGlzIHZhbHVlLicpLAotKHUnQ29tYm9Cb3gnLCB1J09yZGVyJywgdSdOJywgMSwgMzI3NjcsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnQSBwb3NpdGl2ZSBpbnRlZ2VyIHVzZWQgdG8gZGV0ZXJtaW5lIHRoZSBvcmRlcmluZyBvZiB0aGUgaXRlbXMgd2l0aGluIG9uZSBsaXN0Llx0VGhlIGludGVnZXJzIGRvIG5vdCBoYXZlIHRvIGJlIGNvbnNlY3V0aXZlLicpLAotKHUnQ29udHJvbCcsIHUnVHlwZScsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnVGhlIHR5cGUgb2YgdGhlIGNvbnRyb2wuJyksCi0odSdDb250cm9sJywgdSdYJywgdSdOJywgMCwgMzI3NjcsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSG9yaXpvbnRhbCBjb29yZGluYXRlIG9mIHRoZSB1cHBlciBsZWZ0IGNvcm5lciBvZiB0aGUgYm91bmRpbmcgcmVjdGFuZ2xlIG9mIHRoZSBjb250cm9sLicpLAotKHUnQ29udHJvbCcsIHUnWScsIHUnTicsIDAsIDMyNzY3LCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1ZlcnRpY2FsIGNvb3JkaW5hdGUgb2YgdGhlIHVwcGVyIGxlZnQgY29ybmVyIG9mIHRoZSBib3VuZGluZyByZWN0YW5nbGUgb2YgdGhlIGNvbnRyb2wuJyksCi0odSdDb250cm9sJywgdSdXaWR0aCcsIHUnTicsIDAsIDMyNzY3LCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1dpZHRoIG9mIHRoZSBib3VuZGluZyByZWN0YW5nbGUgb2YgdGhlIGNvbnRyb2wuJyksCi0odSdDb250cm9sJywgdSdIZWlnaHQnLCB1J04nLCAwLCAzMjc2NywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdIZWlnaHQgb2YgdGhlIGJvdW5kaW5nIHJlY3RhbmdsZSBvZiB0aGUgY29udHJvbC4nKSwKLSh1J0NvbnRyb2wnLCB1J0F0dHJpYnV0ZXMnLCB1J1knLCAwLCAyMTQ3NDgzNjQ3LCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0EgMzItYml0IHdvcmQgdGhhdCBzcGVjaWZpZXMgdGhlIGF0dHJpYnV0ZSBmbGFncyB0byBiZSBhcHBsaWVkIHRvIHRoaXMgY29udHJvbC4nKSwKLSh1J0NvbnRyb2wnLCB1J1RleHQnLCB1J1knLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0Zvcm1hdHRlZCcsIE5vbmUsIHUnQSBzdHJpbmcgdXNlZCB0byBzZXQgdGhlIGluaXRpYWwgdGV4dCBjb250YWluZWQgd2l0aGluIGEgY29udHJvbCAoaWYgYXBwcm9wcmlhdGUpLicpLAotKHUnQ29udHJvbCcsIHUnUHJvcGVydHknLCB1J1knLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J1RoZSBuYW1lIG9mIGEgZGVmaW5lZCBwcm9wZXJ0eSB0byBiZSBsaW5rZWQgdG8gdGhpcyBjb250cm9sLiAnKSwKLSh1J0NvbnRyb2wnLCB1J0NvbnRyb2wnLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J05hbWUgb2YgdGhlIGNvbnRyb2wuIFRoaXMgbmFtZSBtdXN0IGJlIHVuaXF1ZSB3aXRoaW4gYSBkaWFsb2csIGJ1dCBjYW4gcmVwZWF0IG9uIGRpZmZlcmVudCBkaWFsb2dzLiAnKSwKLSh1J0NvbnRyb2wnLCB1J0RpYWxvZ18nLCB1J04nLCBOb25lLCBOb25lLCB1J0RpYWxvZycsIDEsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnRXh0ZXJuYWwga2V5IHRvIHRoZSBEaWFsb2cgdGFibGUsIG5hbWUgb2YgdGhlIGRpYWxvZy4nKSwKLSh1J0NvbnRyb2wnLCB1J0NvbnRyb2xfTmV4dCcsIHUnWScsIE5vbmUsIE5vbmUsIHUnQ29udHJvbCcsIDIsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnVGhlIG5hbWUgb2YgYW4gb3RoZXIgY29udHJvbCBvbiB0aGUgc2FtZSBkaWFsb2cuIFRoaXMgbGluayBkZWZpbmVzIHRoZSB0YWIgb3JkZXIgb2YgdGhlIGNvbnRyb2xzLiBUaGUgbGlua3MgaGF2ZSB0byBmb3JtIG9uZSBvciBtb3JlIGN5Y2xlcyEnKSwKLSh1J0NvbnRyb2wnLCB1J0hlbHAnLCB1J1knLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RleHQnLCBOb25lLCB1J1RoZSBoZWxwIHN0cmluZ3MgdXNlZCB3aXRoIHRoZSBidXR0b24uIFRoZSB0ZXh0IGlzIG9wdGlvbmFsLiAnKSwKLSh1J0ljb24nLCB1J05hbWUnLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J1ByaW1hcnkga2V5LiBOYW1lIG9mIHRoZSBpY29uIGZpbGUuJyksCi0odSdJY29uJywgdSdEYXRhJywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdCaW5hcnknLCBOb25lLCB1J0JpbmFyeSBzdHJlYW0uIFRoZSBiaW5hcnkgaWNvbiBkYXRhIGluIFBFICguRExMIG9yIC5FWEUpIG9yIGljb24gKC5JQ08pIGZvcm1hdC4nKSwKLSh1J0xpc3RCb3gnLCB1J1RleHQnLCB1J1knLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RleHQnLCBOb25lLCB1J1RoZSB2aXNpYmxlIHRleHQgdG8gYmUgYXNzaWduZWQgdG8gdGhlIGl0ZW0uIE9wdGlvbmFsLiBJZiB0aGlzIGVudHJ5IG9yIHRoZSBlbnRpcmUgY29sdW1uIGlzIG1pc3NpbmcsIHRoZSB0ZXh0IGlzIHRoZSBzYW1lIGFzIHRoZSB2YWx1ZS4nKSwKLSh1J0xpc3RCb3gnLCB1J1Byb3BlcnR5JywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdBIG5hbWVkIHByb3BlcnR5IHRvIGJlIHRpZWQgdG8gdGhpcyBpdGVtLiBBbGwgdGhlIGl0ZW1zIHRpZWQgdG8gdGhlIHNhbWUgcHJvcGVydHkgYmVjb21lIHBhcnQgb2YgdGhlIHNhbWUgbGlzdGJveC4nKSwKLSh1J0xpc3RCb3gnLCB1J1ZhbHVlJywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdGb3JtYXR0ZWQnLCBOb25lLCB1J1RoZSB2YWx1ZSBzdHJpbmcgYXNzb2NpYXRlZCB3aXRoIHRoaXMgaXRlbS4gU2VsZWN0aW5nIHRoZSBsaW5lIHdpbGwgc2V0IHRoZSBhc3NvY2lhdGVkIHByb3BlcnR5IHRvIHRoaXMgdmFsdWUuJyksCi0odSdMaXN0Qm94JywgdSdPcmRlcicsIHUnTicsIDEsIDMyNzY3LCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0EgcG9zaXRpdmUgaW50ZWdlciB1c2VkIHRvIGRldGVybWluZSB0aGUgb3JkZXJpbmcgb2YgdGhlIGl0ZW1zIHdpdGhpbiBvbmUgbGlzdC4uVGhlIGludGVnZXJzIGRvIG5vdCBoYXZlIHRvIGJlIGNvbnNlY3V0aXZlLicpLAotKHUnQWN0aW9uVGV4dCcsIHUnQWN0aW9uJywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdOYW1lIG9mIGFjdGlvbiB0byBiZSBkZXNjcmliZWQuJyksCi0odSdBY3Rpb25UZXh0JywgdSdEZXNjcmlwdGlvbicsIHUnWScsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGV4dCcsIE5vbmUsIHUnTG9jYWxpemVkIGRlc2NyaXB0aW9uIGRpc3BsYXllZCBpbiBwcm9ncmVzcyBkaWFsb2cgYW5kIGxvZyB3aGVuIGFjdGlvbiBpcyBleGVjdXRpbmcuJyksCi0odSdBY3Rpb25UZXh0JywgdSdUZW1wbGF0ZScsIHUnWScsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGVtcGxhdGUnLCBOb25lLCB1J09wdGlvbmFsIGxvY2FsaXplZCBmb3JtYXQgdGVtcGxhdGUgdXNlZCB0byBmb3JtYXQgYWN0aW9uIGRhdGEgcmVjb3JkcyBmb3IgZGlzcGxheSBkdXJpbmcgYWN0aW9uIGV4ZWN1dGlvbi4nKSwKLSh1J0NvbnRyb2xDb25kaXRpb24nLCB1J0FjdGlvbicsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnRGVmYXVsdDtEaXNhYmxlO0VuYWJsZTtIaWRlO1Nob3cnLCB1J1RoZSBkZXNpcmVkIGFjdGlvbiB0byBiZSB0YWtlbiBvbiB0aGUgc3BlY2lmaWVkIGNvbnRyb2wuJyksCi0odSdDb250cm9sQ29uZGl0aW9uJywgdSdDb25kaXRpb24nLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0NvbmRpdGlvbicsIE5vbmUsIHUnQSBzdGFuZGFyZCBjb25kaXRpb25hbCBzdGF0ZW1lbnQgdGhhdCBzcGVjaWZpZXMgdW5kZXIgd2hpY2ggY29uZGl0aW9ucyB0aGUgYWN0aW9uIHNob3VsZCBiZSB0cmlnZ2VyZWQuJyksCi0odSdDb250cm9sQ29uZGl0aW9uJywgdSdEaWFsb2dfJywgdSdOJywgTm9uZSwgTm9uZSwgdSdEaWFsb2cnLCAxLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J0EgZm9yZWlnbiBrZXkgdG8gdGhlIERpYWxvZyB0YWJsZSwgbmFtZSBvZiB0aGUgZGlhbG9nLicpLAotKHUnQ29udHJvbENvbmRpdGlvbicsIHUnQ29udHJvbF8nLCB1J04nLCBOb25lLCBOb25lLCB1J0NvbnRyb2wnLCAyLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J0EgZm9yZWlnbiBrZXkgdG8gdGhlIENvbnRyb2wgdGFibGUsIG5hbWUgb2YgdGhlIGNvbnRyb2wuJyksCi0odSdDb250cm9sRXZlbnQnLCB1J0NvbmRpdGlvbicsIHUnWScsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnQ29uZGl0aW9uJywgTm9uZSwgdSdBIHN0YW5kYXJkIGNvbmRpdGlvbmFsIHN0YXRlbWVudCB0aGF0IHNwZWNpZmllcyB1bmRlciB3aGljaCBjb25kaXRpb25zIGFuIGV2ZW50IHNob3VsZCBiZSB0cmlnZ2VyZWQuJyksCi0odSdDb250cm9sRXZlbnQnLCB1J09yZGVyaW5nJywgdSdZJywgMCwgMjE0NzQ4MzY0NywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdBbiBpbnRlZ2VyIHVzZWQgdG8gb3JkZXIgc2V2ZXJhbCBldmVudHMgdGllZCB0byB0aGUgc2FtZSBjb250cm9sLiBDYW4gYmUgbGVmdCBibGFuay4nKSwKLSh1J0NvbnRyb2xFdmVudCcsIHUnRGlhbG9nXycsIHUnTicsIE5vbmUsIE5vbmUsIHUnRGlhbG9nJywgMSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdBIGZvcmVpZ24ga2V5IHRvIHRoZSBEaWFsb2cgdGFibGUsIG5hbWUgb2YgdGhlIGRpYWxvZy4nKSwKLSh1J0NvbnRyb2xFdmVudCcsIHUnQ29udHJvbF8nLCB1J04nLCBOb25lLCBOb25lLCB1J0NvbnRyb2wnLCAyLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J0EgZm9yZWlnbiBrZXkgdG8gdGhlIENvbnRyb2wgdGFibGUsIG5hbWUgb2YgdGhlIGNvbnRyb2wnKSwKLSh1J0NvbnRyb2xFdmVudCcsIHUnRXZlbnQnLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0Zvcm1hdHRlZCcsIE5vbmUsIHUnQW4gaWRlbnRpZmllciB0aGF0IHNwZWNpZmllcyB0aGUgdHlwZSBvZiB0aGUgZXZlbnQgdGhhdCBzaG91bGQgdGFrZSBwbGFjZSB3aGVuIHRoZSB1c2VyIGludGVyYWN0cyB3aXRoIGNvbnRyb2wgc3BlY2lmaWVkIGJ5IHRoZSBmaXJzdCB0d28gZW50cmllcy4nKSwKLSh1J0NvbnRyb2xFdmVudCcsIHUnQXJndW1lbnQnLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0Zvcm1hdHRlZCcsIE5vbmUsIHUnQSB2YWx1ZSB0byBiZSB1c2VkIGFzIGEgbW9kaWZpZXIgd2hlbiB0cmlnZ2VyaW5nIGEgcGFydGljdWxhciBldmVudC4nKSwKLSh1J0RpYWxvZycsIHUnV2lkdGgnLCB1J04nLCAwLCAzMjc2NywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdXaWR0aCBvZiB0aGUgYm91bmRpbmcgcmVjdGFuZ2xlIG9mIHRoZSBkaWFsb2cuJyksCi0odSdEaWFsb2cnLCB1J0hlaWdodCcsIHUnTicsIDAsIDMyNzY3LCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0hlaWdodCBvZiB0aGUgYm91bmRpbmcgcmVjdGFuZ2xlIG9mIHRoZSBkaWFsb2cuJyksCi0odSdEaWFsb2cnLCB1J0F0dHJpYnV0ZXMnLCB1J1knLCAwLCAyMTQ3NDgzNjQ3LCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0EgMzItYml0IHdvcmQgdGhhdCBzcGVjaWZpZXMgdGhlIGF0dHJpYnV0ZSBmbGFncyB0byBiZSBhcHBsaWVkIHRvIHRoaXMgZGlhbG9nLicpLAotKHUnRGlhbG9nJywgdSdUaXRsZScsIHUnWScsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnRm9ybWF0dGVkJywgTm9uZSwgdSJBIHRleHQgc3RyaW5nIHNwZWNpZnlpbmcgdGhlIHRpdGxlIHRvIGJlIGRpc3BsYXllZCBpbiB0aGUgdGl0bGUgYmFyIG9mIHRoZSBkaWFsb2cncyB3aW5kb3cuIiksCi0odSdEaWFsb2cnLCB1J0RpYWxvZycsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnTmFtZSBvZiB0aGUgZGlhbG9nLicpLAotKHUnRGlhbG9nJywgdSdIQ2VudGVyaW5nJywgdSdOJywgMCwgMTAwLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0hvcml6b250YWwgcG9zaXRpb24gb2YgdGhlIGRpYWxvZyBvbiBhIDAtMTAwIHNjYWxlLiAwIG1lYW5zIGxlZnQgZW5kLCAxMDAgbWVhbnMgcmlnaHQgZW5kIG9mIHRoZSBzY3JlZW4sIDUwIGNlbnRlci4nKSwKLSh1J0RpYWxvZycsIHUnVkNlbnRlcmluZycsIHUnTicsIDAsIDEwMCwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdWZXJ0aWNhbCBwb3NpdGlvbiBvZiB0aGUgZGlhbG9nIG9uIGEgMC0xMDAgc2NhbGUuIDAgbWVhbnMgdG9wIGVuZCwgMTAwIG1lYW5zIGJvdHRvbSBlbmQgb2YgdGhlIHNjcmVlbiwgNTAgY2VudGVyLicpLAotKHUnRGlhbG9nJywgdSdDb250cm9sX0ZpcnN0JywgdSdOJywgTm9uZSwgTm9uZSwgdSdDb250cm9sJywgMiwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdEZWZpbmVzIHRoZSBjb250cm9sIHRoYXQgaGFzIHRoZSBmb2N1cyB3aGVuIHRoZSBkaWFsb2cgaXMgY3JlYXRlZC4nKSwKLSh1J0RpYWxvZycsIHUnQ29udHJvbF9EZWZhdWx0JywgdSdZJywgTm9uZSwgTm9uZSwgdSdDb250cm9sJywgMiwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdEZWZpbmVzIHRoZSBkZWZhdWx0IGNvbnRyb2wuIEhpdHRpbmcgcmV0dXJuIGlzIGVxdWl2YWxlbnQgdG8gcHVzaGluZyB0aGlzIGJ1dHRvbi4nKSwKLSh1J0RpYWxvZycsIHUnQ29udHJvbF9DYW5jZWwnLCB1J1knLCBOb25lLCBOb25lLCB1J0NvbnRyb2wnLCAyLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J0RlZmluZXMgdGhlIGNhbmNlbCBjb250cm9sLiBIaXR0aW5nIGVzY2FwZSBvciBjbGlja2luZyBvbiB0aGUgY2xvc2UgaWNvbiBvbiB0aGUgZGlhbG9nIGlzIGVxdWl2YWxlbnQgdG8gcHVzaGluZyB0aGlzIGJ1dHRvbi4nKSwKLSh1J0V2ZW50TWFwcGluZycsIHUnRGlhbG9nXycsIHUnTicsIE5vbmUsIE5vbmUsIHUnRGlhbG9nJywgMSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdBIGZvcmVpZ24ga2V5IHRvIHRoZSBEaWFsb2cgdGFibGUsIG5hbWUgb2YgdGhlIERpYWxvZy4nKSwKLSh1J0V2ZW50TWFwcGluZycsIHUnQ29udHJvbF8nLCB1J04nLCBOb25lLCBOb25lLCB1J0NvbnRyb2wnLCAyLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J0EgZm9yZWlnbiBrZXkgdG8gdGhlIENvbnRyb2wgdGFibGUsIG5hbWUgb2YgdGhlIGNvbnRyb2wuJyksCi0odSdFdmVudE1hcHBpbmcnLCB1J0V2ZW50JywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdBbiBpZGVudGlmaWVyIHRoYXQgc3BlY2lmaWVzIHRoZSB0eXBlIG9mIHRoZSBldmVudCB0aGF0IHRoZSBjb250cm9sIHN1YnNjcmliZXMgdG8uJyksCi0odSdFdmVudE1hcHBpbmcnLCB1J0F0dHJpYnV0ZScsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnVGhlIG5hbWUgb2YgdGhlIGNvbnRyb2wgYXR0cmlidXRlLCB0aGF0IGlzIHNldCB3aGVuIHRoaXMgZXZlbnQgaXMgcmVjZWl2ZWQuJyksCi0odSdJbnN0YWxsRXhlY3V0ZVNlcXVlbmNlJywgdSdBY3Rpb24nLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J05hbWUgb2YgYWN0aW9uIHRvIGludm9rZSwgZWl0aGVyIGluIHRoZSBlbmdpbmUgb3IgdGhlIGhhbmRsZXIgRExMLicpLAotKHUnSW5zdGFsbEV4ZWN1dGVTZXF1ZW5jZScsIHUnU2VxdWVuY2UnLCB1J1knLCAtNCwgMzI3NjcsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnTnVtYmVyIHRoYXQgZGV0ZXJtaW5lcyB0aGUgc29ydCBvcmRlciBpbiB3aGljaCB0aGUgYWN0aW9ucyBhcmUgdG8gYmUgZXhlY3V0ZWQuICBMZWF2ZSBibGFuayB0byBzdXBwcmVzcyBhY3Rpb24uJyksCi0odSdJbnN0YWxsRXhlY3V0ZVNlcXVlbmNlJywgdSdDb25kaXRpb24nLCB1J1knLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0NvbmRpdGlvbicsIE5vbmUsIHUnT3B0aW9uYWwgZXhwcmVzc2lvbiB3aGljaCBza2lwcyB0aGUgYWN0aW9uIGlmIGV2YWx1YXRlcyB0byBleHBGYWxzZS5JZiB0aGUgZXhwcmVzc2lvbiBzeW50YXggaXMgaW52YWxpZCwgdGhlIGVuZ2luZSB3aWxsIHRlcm1pbmF0ZSwgcmV0dXJuaW5nIGllc0JhZEFjdGlvbkRhdGEuJyksCi0odSdBcHBTZWFyY2gnLCB1J1Byb3BlcnR5JywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdUaGUgcHJvcGVydHkgYXNzb2NpYXRlZCB3aXRoIGEgU2lnbmF0dXJlJyksCi0odSdBcHBTZWFyY2gnLCB1J1NpZ25hdHVyZV8nLCB1J04nLCBOb25lLCBOb25lLCB1J1NpZ25hdHVyZTtSZWdMb2NhdG9yO0luaUxvY2F0b3I7RHJMb2NhdG9yO0NvbXBMb2NhdG9yJywgMSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdUaGUgU2lnbmF0dXJlXyByZXByZXNlbnRzIGEgdW5pcXVlIGZpbGUgc2lnbmF0dXJlIGFuZCBpcyBhbHNvIHRoZSBmb3JlaWduIGtleSBpbiB0aGUgU2lnbmF0dXJlLCAgUmVnTG9jYXRvciwgSW5pTG9jYXRvciwgQ29tcExvY2F0b3IgYW5kIHRoZSBEckxvY2F0b3IgdGFibGVzLicpLAotKHUnQmluZEltYWdlJywgdSdGaWxlXycsIHUnTicsIE5vbmUsIE5vbmUsIHUnRmlsZScsIDEsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnVGhlIGluZGV4IGludG8gdGhlIEZpbGUgdGFibGUuIFRoaXMgbXVzdCBiZSBhbiBleGVjdXRhYmxlIGZpbGUuJyksCi0odSdCaW5kSW1hZ2UnLCB1J1BhdGgnLCB1J1knLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1BhdGhzJywgTm9uZSwgdSdBIGxpc3Qgb2YgOyAgZGVsaW1pdGVkIHBhdGhzIHRoYXQgcmVwcmVzZW50IHRoZSBwYXRocyB0byBiZSBzZWFyY2hlZCBmb3IgdGhlIGltcG9ydCBETExTLiBUaGUgbGlzdCBpcyB1c3VhbGx5IGEgbGlzdCBvZiBwcm9wZXJ0aWVzIGVhY2ggZW5jbG9zZWQgd2l0aGluIHNxdWFyZSBicmFja2V0cyBbXSAuJyksCi0odSdDQ1BTZWFyY2gnLCB1J1NpZ25hdHVyZV8nLCB1J04nLCBOb25lLCBOb25lLCB1J1NpZ25hdHVyZTtSZWdMb2NhdG9yO0luaUxvY2F0b3I7RHJMb2NhdG9yO0NvbXBMb2NhdG9yJywgMSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdUaGUgU2lnbmF0dXJlXyByZXByZXNlbnRzIGEgdW5pcXVlIGZpbGUgc2lnbmF0dXJlIGFuZCBpcyBhbHNvIHRoZSBmb3JlaWduIGtleSBpbiB0aGUgU2lnbmF0dXJlLCAgUmVnTG9jYXRvciwgSW5pTG9jYXRvciwgQ29tcExvY2F0b3IgYW5kIHRoZSBEckxvY2F0b3IgdGFibGVzLicpLAotKHUnSW5zdGFsbFVJU2VxdWVuY2UnLCB1J0FjdGlvbicsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnTmFtZSBvZiBhY3Rpb24gdG8gaW52b2tlLCBlaXRoZXIgaW4gdGhlIGVuZ2luZSBvciB0aGUgaGFuZGxlciBETEwuJyksCi0odSdJbnN0YWxsVUlTZXF1ZW5jZScsIHUnU2VxdWVuY2UnLCB1J1knLCAtNCwgMzI3NjcsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnTnVtYmVyIHRoYXQgZGV0ZXJtaW5lcyB0aGUgc29ydCBvcmRlciBpbiB3aGljaCB0aGUgYWN0aW9ucyBhcmUgdG8gYmUgZXhlY3V0ZWQuICBMZWF2ZSBibGFuayB0byBzdXBwcmVzcyBhY3Rpb24uJyksCi0odSdJbnN0YWxsVUlTZXF1ZW5jZScsIHUnQ29uZGl0aW9uJywgdSdZJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdDb25kaXRpb24nLCBOb25lLCB1J09wdGlvbmFsIGV4cHJlc3Npb24gd2hpY2ggc2tpcHMgdGhlIGFjdGlvbiBpZiBldmFsdWF0ZXMgdG8gZXhwRmFsc2UuSWYgdGhlIGV4cHJlc3Npb24gc3ludGF4IGlzIGludmFsaWQsIHRoZSBlbmdpbmUgd2lsbCB0ZXJtaW5hdGUsIHJldHVybmluZyBpZXNCYWRBY3Rpb25EYXRhLicpLAotKHUnTGlzdFZpZXcnLCB1J1RleHQnLCB1J1knLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RleHQnLCBOb25lLCB1J1RoZSB2aXNpYmxlIHRleHQgdG8gYmUgYXNzaWduZWQgdG8gdGhlIGl0ZW0uIE9wdGlvbmFsLiBJZiB0aGlzIGVudHJ5IG9yIHRoZSBlbnRpcmUgY29sdW1uIGlzIG1pc3NpbmcsIHRoZSB0ZXh0IGlzIHRoZSBzYW1lIGFzIHRoZSB2YWx1ZS4nKSwKLSh1J0xpc3RWaWV3JywgdSdQcm9wZXJ0eScsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnQSBuYW1lZCBwcm9wZXJ0eSB0byBiZSB0aWVkIHRvIHRoaXMgaXRlbS4gQWxsIHRoZSBpdGVtcyB0aWVkIHRvIHRoZSBzYW1lIHByb3BlcnR5IGJlY29tZSBwYXJ0IG9mIHRoZSBzYW1lIGxpc3R2aWV3LicpLAotKHUnTGlzdFZpZXcnLCB1J1ZhbHVlJywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdUaGUgdmFsdWUgc3RyaW5nIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGl0ZW0uIFNlbGVjdGluZyB0aGUgbGluZSB3aWxsIHNldCB0aGUgYXNzb2NpYXRlZCBwcm9wZXJ0eSB0byB0aGlzIHZhbHVlLicpLAotKHUnTGlzdFZpZXcnLCB1J09yZGVyJywgdSdOJywgMSwgMzI3NjcsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnQSBwb3NpdGl2ZSBpbnRlZ2VyIHVzZWQgdG8gZGV0ZXJtaW5lIHRoZSBvcmRlcmluZyBvZiB0aGUgaXRlbXMgd2l0aGluIG9uZSBsaXN0Li5UaGUgaW50ZWdlcnMgZG8gbm90IGhhdmUgdG8gYmUgY29uc2VjdXRpdmUuJyksCi0odSdMaXN0VmlldycsIHUnQmluYXJ5XycsIHUnWScsIE5vbmUsIE5vbmUsIHUnQmluYXJ5JywgMSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdUaGUgbmFtZSBvZiB0aGUgaWNvbiB0byBiZSBkaXNwbGF5ZWQgd2l0aCB0aGUgaWNvbi4gVGhlIGJpbmFyeSBpbmZvcm1hdGlvbiBpcyBsb29rZWQgdXAgZnJvbSB0aGUgQmluYXJ5IFRhYmxlLicpLAotKHUnUmFkaW9CdXR0b24nLCB1J1gnLCB1J04nLCAwLCAzMjc2NywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUaGUgaG9yaXpvbnRhbCBjb29yZGluYXRlIG9mIHRoZSB1cHBlciBsZWZ0IGNvcm5lciBvZiB0aGUgYm91bmRpbmcgcmVjdGFuZ2xlIG9mIHRoZSByYWRpbyBidXR0b24uJyksCi0odSdSYWRpb0J1dHRvbicsIHUnWScsIHUnTicsIDAsIDMyNzY3LCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RoZSB2ZXJ0aWNhbCBjb29yZGluYXRlIG9mIHRoZSB1cHBlciBsZWZ0IGNvcm5lciBvZiB0aGUgYm91bmRpbmcgcmVjdGFuZ2xlIG9mIHRoZSByYWRpbyBidXR0b24uJyksCi0odSdSYWRpb0J1dHRvbicsIHUnV2lkdGgnLCB1J04nLCAwLCAzMjc2NywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUaGUgd2lkdGggb2YgdGhlIGJ1dHRvbi4nKSwKLSh1J1JhZGlvQnV0dG9uJywgdSdIZWlnaHQnLCB1J04nLCAwLCAzMjc2NywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUaGUgaGVpZ2h0IG9mIHRoZSBidXR0b24uJyksCi0odSdSYWRpb0J1dHRvbicsIHUnVGV4dCcsIHUnWScsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGV4dCcsIE5vbmUsIHUnVGhlIHZpc2libGUgdGl0bGUgdG8gYmUgYXNzaWduZWQgdG8gdGhlIHJhZGlvIGJ1dHRvbi4nKSwKLSh1J1JhZGlvQnV0dG9uJywgdSdQcm9wZXJ0eScsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnQSBuYW1lZCBwcm9wZXJ0eSB0byBiZSB0aWVkIHRvIHRoaXMgcmFkaW8gYnV0dG9uLiBBbGwgdGhlIGJ1dHRvbnMgdGllZCB0byB0aGUgc2FtZSBwcm9wZXJ0eSBiZWNvbWUgcGFydCBvZiB0aGUgc2FtZSBncm91cC4nKSwKLSh1J1JhZGlvQnV0dG9uJywgdSdWYWx1ZScsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnRm9ybWF0dGVkJywgTm9uZSwgdSdUaGUgdmFsdWUgc3RyaW5nIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGJ1dHRvbi4gU2VsZWN0aW5nIHRoZSBidXR0b24gd2lsbCBzZXQgdGhlIGFzc29jaWF0ZWQgcHJvcGVydHkgdG8gdGhpcyB2YWx1ZS4nKSwKLSh1J1JhZGlvQnV0dG9uJywgdSdPcmRlcicsIHUnTicsIDEsIDMyNzY3LCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0EgcG9zaXRpdmUgaW50ZWdlciB1c2VkIHRvIGRldGVybWluZSB0aGUgb3JkZXJpbmcgb2YgdGhlIGl0ZW1zIHdpdGhpbiBvbmUgbGlzdC4uVGhlIGludGVnZXJzIGRvIG5vdCBoYXZlIHRvIGJlIGNvbnNlY3V0aXZlLicpLAotKHUnUmFkaW9CdXR0b24nLCB1J0hlbHAnLCB1J1knLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RleHQnLCBOb25lLCB1J1RoZSBoZWxwIHN0cmluZ3MgdXNlZCB3aXRoIHRoZSBidXR0b24uIFRoZSB0ZXh0IGlzIG9wdGlvbmFsLicpLAotKHUnVGV4dFN0eWxlJywgdSdUZXh0U3R5bGUnLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J05hbWUgb2YgdGhlIHN0eWxlLiBUaGUgcHJpbWFyeSBrZXkgb2YgdGhpcyB0YWJsZS4gVGhpcyBuYW1lIGlzIGVtYmVkZGVkIGluIHRoZSB0ZXh0cyB0byBpbmRpY2F0ZSBhIHN0eWxlIGNoYW5nZS4nKSwKLSh1J1RleHRTdHlsZScsIHUnRmFjZU5hbWUnLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RleHQnLCBOb25lLCB1J0Egc3RyaW5nIGluZGljYXRpbmcgdGhlIG5hbWUgb2YgdGhlIGZvbnQgdXNlZC4gUmVxdWlyZWQuIFRoZSBzdHJpbmcgbXVzdCBiZSBhdCBtb3N0IDMxIGNoYXJhY3RlcnMgbG9uZy4nKSwKLSh1J1RleHRTdHlsZScsIHUnU2l6ZScsIHUnTicsIDAsIDMyNzY3LCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RoZSBzaXplIG9mIHRoZSBmb250IHVzZWQuIFRoaXMgc2l6ZSBpcyBnaXZlbiBpbiBvdXIgdW5pdHMgKDEvMTIgb2YgdGhlIHN5c3RlbSBmb250IGhlaWdodCkuIEFzc3VtaW5nIHRoYXQgdGhlIHN5c3RlbSBmb250IGlzIHNldCB0byAxMiBwb2ludCBzaXplLCB0aGlzIGlzIGVxdWl2YWxlbnQgdG8gdGhlIHBvaW50IHNpemUuJyksCi0odSdUZXh0U3R5bGUnLCB1J0NvbG9yJywgdSdZJywgMCwgMTY3NzcyMTUsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnQSBsb25nIGludGVnZXIgaW5kaWNhdGluZyB0aGUgY29sb3Igb2YgdGhlIHN0cmluZyBpbiB0aGUgUkdCIGZvcm1hdCAoUmVkLCBHcmVlbiwgQmx1ZSBlYWNoIDAtMjU1LCBSR0IgPSBSICsgMjU2KkcgKyAyNTZeMipCKS4nKSwKLSh1J1RleHRTdHlsZScsIHUnU3R5bGVCaXRzJywgdSdZJywgMCwgMTUsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnQSBjb21iaW5hdGlvbiBvZiBzdHlsZSBiaXRzLicpLAotKHUnVUlUZXh0JywgdSdUZXh0JywgdSdZJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUZXh0JywgTm9uZSwgdSdUaGUgbG9jYWxpemVkIHZlcnNpb24gb2YgdGhlIHN0cmluZy4nKSwKLSh1J1VJVGV4dCcsIHUnS2V5JywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdBIHVuaXF1ZSBrZXkgdGhhdCBpZGVudGlmaWVzIHRoZSBwYXJ0aWN1bGFyIHN0cmluZy4nKSwKLSh1J19WYWxpZGF0aW9uJywgdSdUYWJsZScsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnTmFtZSBvZiB0YWJsZScpLAotKHUnX1ZhbGlkYXRpb24nLCB1J0Rlc2NyaXB0aW9uJywgdSdZJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUZXh0JywgTm9uZSwgdSdEZXNjcmlwdGlvbiBvZiBjb2x1bW4nKSwKLSh1J19WYWxpZGF0aW9uJywgdSdDb2x1bW4nLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J05hbWUgb2YgY29sdW1uJyksCi0odSdfVmFsaWRhdGlvbicsIHUnTnVsbGFibGUnLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1k7TjtAJywgdSdXaGV0aGVyIHRoZSBjb2x1bW4gaXMgbnVsbGFibGUnKSwKLSh1J19WYWxpZGF0aW9uJywgdSdNaW5WYWx1ZScsIHUnWScsIC0yMTQ3NDgzNjQ3LCAyMTQ3NDgzNjQ3LCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J01pbmltdW0gdmFsdWUgYWxsb3dlZCcpLAotKHUnX1ZhbGlkYXRpb24nLCB1J01heFZhbHVlJywgdSdZJywgLTIxNDc0ODM2NDcsIDIxNDc0ODM2NDcsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnTWF4aW11bSB2YWx1ZSBhbGxvd2VkJyksCi0odSdfVmFsaWRhdGlvbicsIHUnS2V5VGFibGUnLCB1J1knLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J0ZvciBmb3JlaWduIGtleSwgTmFtZSBvZiB0YWJsZSB0byB3aGljaCBkYXRhIG11c3QgbGluaycpLAotKHUnX1ZhbGlkYXRpb24nLCB1J0tleUNvbHVtbicsIHUnWScsIDEsIDMyLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0NvbHVtbiB0byB3aGljaCBmb3JlaWduIGtleSBjb25uZWN0cycpLAotKHUnX1ZhbGlkYXRpb24nLCB1J0NhdGVnb3J5JywgdSdZJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUZXh0O0Zvcm1hdHRlZDtUZW1wbGF0ZTtDb25kaXRpb247R3VpZDtQYXRoO1ZlcnNpb247TGFuZ3VhZ2U7SWRlbnRpZmllcjtCaW5hcnk7VXBwZXJDYXNlO0xvd2VyQ2FzZTtGaWxlbmFtZTtQYXRocztBbnlQYXRoO1dpbGRDYXJkRmlsZW5hbWU7UmVnUGF0aDtLZXlGb3JtYXR0ZWQ7Q3VzdG9tU291cmNlO1Byb3BlcnR5O0NhYmluZXQ7U2hvcnRjdXQ7VVJMJywgdSdTdHJpbmcgY2F0ZWdvcnknKSwKLSh1J19WYWxpZGF0aW9uJywgdSdTZXQnLCB1J1knLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RleHQnLCBOb25lLCB1J1NldCBvZiB2YWx1ZXMgdGhhdCBhcmUgcGVybWl0dGVkJyksCi0odSdBZHZ0VUlTZXF1ZW5jZScsIHUnQWN0aW9uJywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdOYW1lIG9mIGFjdGlvbiB0byBpbnZva2UsIGVpdGhlciBpbiB0aGUgZW5naW5lIG9yIHRoZSBoYW5kbGVyIERMTC4nKSwKLSh1J0FkdnRVSVNlcXVlbmNlJywgdSdTZXF1ZW5jZScsIHUnWScsIC00LCAzMjc2NywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdOdW1iZXIgdGhhdCBkZXRlcm1pbmVzIHRoZSBzb3J0IG9yZGVyIGluIHdoaWNoIHRoZSBhY3Rpb25zIGFyZSB0byBiZSBleGVjdXRlZC4gIExlYXZlIGJsYW5rIHRvIHN1cHByZXNzIGFjdGlvbi4nKSwKLSh1J0FkdnRVSVNlcXVlbmNlJywgdSdDb25kaXRpb24nLCB1J1knLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0NvbmRpdGlvbicsIE5vbmUsIHUnT3B0aW9uYWwgZXhwcmVzc2lvbiB3aGljaCBza2lwcyB0aGUgYWN0aW9uIGlmIGV2YWx1YXRlcyB0byBleHBGYWxzZS5JZiB0aGUgZXhwcmVzc2lvbiBzeW50YXggaXMgaW52YWxpZCwgdGhlIGVuZ2luZSB3aWxsIHRlcm1pbmF0ZSwgcmV0dXJuaW5nIGllc0JhZEFjdGlvbkRhdGEuJyksCi0odSdBcHBJZCcsIHUnQXBwSWQnLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0d1aWQnLCBOb25lLCBOb25lKSwKLSh1J0FwcElkJywgdSdBY3RpdmF0ZUF0U3RvcmFnZScsIHUnWScsIDAsIDEsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUpLAotKHUnQXBwSWQnLCB1J0RsbFN1cnJvZ2F0ZScsIHUnWScsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGV4dCcsIE5vbmUsIE5vbmUpLAotKHUnQXBwSWQnLCB1J0xvY2FsU2VydmljZScsIHUnWScsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGV4dCcsIE5vbmUsIE5vbmUpLAotKHUnQXBwSWQnLCB1J1JlbW90ZVNlcnZlck5hbWUnLCB1J1knLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0Zvcm1hdHRlZCcsIE5vbmUsIE5vbmUpLAotKHUnQXBwSWQnLCB1J1J1bkFzSW50ZXJhY3RpdmVVc2VyJywgdSdZJywgMCwgMSwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSksCi0odSdBcHBJZCcsIHUnU2VydmljZVBhcmFtZXRlcnMnLCB1J1knLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RleHQnLCBOb25lLCBOb25lKSwKLSh1J0ZlYXR1cmUnLCB1J0F0dHJpYnV0ZXMnLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1JzA7MTsyOzQ7NTs2Ozg7OTsxMDsxNjsxNzsxODsyMDsyMTsyMjsyNDsyNTsyNjszMjszMzszNDszNjszNzszODs0ODs0OTs1MDs1Mjs1Mzs1NCcsIHUnRmVhdHVyZSBhdHRyaWJ1dGVzJyksCi0odSdGZWF0dXJlJywgdSdEZXNjcmlwdGlvbicsIHUnWScsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGV4dCcsIE5vbmUsIHUnTG9uZ2VyIGRlc2NyaXB0aXZlIHRleHQgZGVzY3JpYmluZyBhIHZpc2libGUgZmVhdHVyZSBpdGVtLicpLAotKHUnRmVhdHVyZScsIHUnVGl0bGUnLCB1J1knLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RleHQnLCBOb25lLCB1J1Nob3J0IHRleHQgaWRlbnRpZnlpbmcgYSB2aXNpYmxlIGZlYXR1cmUgaXRlbS4nKSwKLSh1J0ZlYXR1cmUnLCB1J0ZlYXR1cmUnLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J1ByaW1hcnkga2V5IHVzZWQgdG8gaWRlbnRpZnkgYSBwYXJ0aWN1bGFyIGZlYXR1cmUgcmVjb3JkLicpLAotKHUnRmVhdHVyZScsIHUnRGlyZWN0b3J5XycsIHUnWScsIE5vbmUsIE5vbmUsIHUnRGlyZWN0b3J5JywgMSwgdSdVcHBlckNhc2UnLCBOb25lLCB1J1RoZSBuYW1lIG9mIHRoZSBEaXJlY3RvcnkgdGhhdCBjYW4gYmUgY29uZmlndXJlZCBieSB0aGUgVUkuIEEgbm9uLW51bGwgdmFsdWUgd2lsbCBlbmFibGUgdGhlIGJyb3dzZSBidXR0b24uJyksCi0odSdGZWF0dXJlJywgdSdMZXZlbCcsIHUnTicsIDAsIDMyNzY3LCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RoZSBpbnN0YWxsIGxldmVsIGF0IHdoaWNoIHJlY29yZCB3aWxsIGJlIGluaXRpYWxseSBzZWxlY3RlZC4gQW4gaW5zdGFsbCBsZXZlbCBvZiAwIHdpbGwgZGlzYWJsZSBhbiBpdGVtIGFuZCBwcmV2ZW50IGl0cyBkaXNwbGF5LicpLAotKHUnRmVhdHVyZScsIHUnRGlzcGxheScsIHUnWScsIDAsIDMyNzY3LCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J051bWVyaWMgc29ydCBvcmRlciwgdXNlZCB0byBmb3JjZSBhIHNwZWNpZmljIGRpc3BsYXkgb3JkZXJpbmcuJyksCi0odSdGZWF0dXJlJywgdSdGZWF0dXJlX1BhcmVudCcsIHUnWScsIE5vbmUsIE5vbmUsIHUnRmVhdHVyZScsIDEsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnT3B0aW9uYWwga2V5IG9mIGEgcGFyZW50IHJlY29yZCBpbiB0aGUgc2FtZSB0YWJsZS4gSWYgdGhlIHBhcmVudCBpcyBub3Qgc2VsZWN0ZWQsIHRoZW4gdGhlIHJlY29yZCB3aWxsIG5vdCBiZSBpbnN0YWxsZWQuIE51bGwgaW5kaWNhdGVzIGEgcm9vdCBpdGVtLicpLAotKHUnRmlsZScsIHUnU2VxdWVuY2UnLCB1J04nLCAxLCAzMjc2NywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdTZXF1ZW5jZSB3aXRoIHJlc3BlY3QgdG8gdGhlIG1lZGlhIGltYWdlczsgb3JkZXIgbXVzdCB0cmFjayBjYWJpbmV0IG9yZGVyLicpLAotKHUnRmlsZScsIHUnQXR0cmlidXRlcycsIHUnWScsIDAsIDMyNzY3LCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0ludGVnZXIgY29udGFpbmluZyBiaXQgZmxhZ3MgcmVwcmVzZW50aW5nIGZpbGUgYXR0cmlidXRlcyAod2l0aCB0aGUgZGVjaW1hbCB2YWx1ZSBvZiBlYWNoIGJpdCBwb3NpdGlvbiBpbiBwYXJlbnRoZXNlcyknKSwKLSh1J0ZpbGUnLCB1J0ZpbGUnLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J1ByaW1hcnkga2V5LCBub24tbG9jYWxpemVkIHRva2VuLCBtdXN0IG1hdGNoIGlkZW50aWZpZXIgaW4gY2FiaW5ldC4gIEZvciB1bmNvbXByZXNzZWQgZmlsZXMsIHRoaXMgZmllbGQgaXMgaWdub3JlZC4nKSwKLSh1J0ZpbGUnLCB1J0NvbXBvbmVudF8nLCB1J04nLCBOb25lLCBOb25lLCB1J0NvbXBvbmVudCcsIDEsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnRm9yZWlnbiBrZXkgcmVmZXJlbmNpbmcgQ29tcG9uZW50IHRoYXQgY29udHJvbHMgdGhlIGZpbGUuJyksCi0odSdGaWxlJywgdSdGaWxlTmFtZScsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnRmlsZW5hbWUnLCBOb25lLCB1J0ZpbGUgbmFtZSB1c2VkIGZvciBpbnN0YWxsYXRpb24sIG1heSBiZSBsb2NhbGl6ZWQuICBUaGlzIG1heSBjb250YWluIGEgInNob3J0IG5hbWV8bG9uZyBuYW1lIiBwYWlyLicpLAotKHUnRmlsZScsIHUnRmlsZVNpemUnLCB1J04nLCAwLCAyMTQ3NDgzNjQ3LCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1NpemUgb2YgZmlsZSBpbiBieXRlcyAobG9uZyBpbnRlZ2VyKS4nKSwKLSh1J0ZpbGUnLCB1J0xhbmd1YWdlJywgdSdZJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdMYW5ndWFnZScsIE5vbmUsIHUnTGlzdCBvZiBkZWNpbWFsIGxhbmd1YWdlIElkcywgY29tbWEtc2VwYXJhdGVkIGlmIG1vcmUgdGhhbiBvbmUuJyksCi0odSdGaWxlJywgdSdWZXJzaW9uJywgdSdZJywgTm9uZSwgTm9uZSwgdSdGaWxlJywgMSwgdSdWZXJzaW9uJywgTm9uZSwgdSdWZXJzaW9uIHN0cmluZyBmb3IgdmVyc2lvbmVkIGZpbGVzOyAgQmxhbmsgZm9yIHVudmVyc2lvbmVkIGZpbGVzLicpLAotKHUnQ2xhc3MnLCB1J0F0dHJpYnV0ZXMnLCB1J1knLCBOb25lLCAzMjc2NywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdDbGFzcyByZWdpc3RyYXRpb24gYXR0cmlidXRlcy4nKSwKLSh1J0NsYXNzJywgdSdGZWF0dXJlXycsIHUnTicsIE5vbmUsIE5vbmUsIHUnRmVhdHVyZScsIDEsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnUmVxdWlyZWQgZm9yZWlnbiBrZXkgaW50byB0aGUgRmVhdHVyZSBUYWJsZSwgc3BlY2lmeWluZyB0aGUgZmVhdHVyZSB0byB2YWxpZGF0ZSBvciBpbnN0YWxsIGluIG9yZGVyIGZvciB0aGUgQ0xTSUQgZmFjdG9yeSB0byBiZSBvcGVyYXRpb25hbC4nKSwKLSh1J0NsYXNzJywgdSdEZXNjcmlwdGlvbicsIHUnWScsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGV4dCcsIE5vbmUsIHUnTG9jYWxpemVkIGRlc2NyaXB0aW9uIGZvciB0aGUgQ2xhc3MuJyksCi0odSdDbGFzcycsIHUnQXJndW1lbnQnLCB1J1knLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0Zvcm1hdHRlZCcsIE5vbmUsIHUnb3B0aW9uYWwgYXJndW1lbnQgZm9yIExvY2FsU2VydmVycy4nKSwKLSh1J0NsYXNzJywgdSdBcHBJZF8nLCB1J1knLCBOb25lLCBOb25lLCB1J0FwcElkJywgMSwgdSdHdWlkJywgTm9uZSwgdSdPcHRpb25hbCBBcHBJRCBjb250YWluaW5nIERDT00gaW5mb3JtYXRpb24gZm9yIGFzc29jaWF0ZWQgYXBwbGljYXRpb24gKHN0cmluZyBHVUlEKS4nKSwKLSh1J0NsYXNzJywgdSdDTFNJRCcsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnR3VpZCcsIE5vbmUsIHUnVGhlIENMU0lEIG9mIGFuIE9MRSBmYWN0b3J5LicpLAotKHUnQ2xhc3MnLCB1J0NvbXBvbmVudF8nLCB1J04nLCBOb25lLCBOb25lLCB1J0NvbXBvbmVudCcsIDEsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnUmVxdWlyZWQgZm9yZWlnbiBrZXkgaW50byB0aGUgQ29tcG9uZW50IFRhYmxlLCBzcGVjaWZ5aW5nIHRoZSBjb21wb25lbnQgZm9yIHdoaWNoIHRvIHJldHVybiBhIHBhdGggd2hlbiBjYWxsZWQgdGhyb3VnaCBMb2NhdGVDb21wb25lbnQuJyksCi0odSdDbGFzcycsIHUnQ29udGV4dCcsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnVGhlIG51bWVyaWMgc2VydmVyIGNvbnRleHQgZm9yIHRoaXMgc2VydmVyLiBDTFNDVFhfeHh4eCcpLAotKHUnQ2xhc3MnLCB1J0RlZklucHJvY0hhbmRsZXInLCB1J1knLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0ZpbGVuYW1lJywgdScxOzI7MycsIHUnT3B0aW9uYWwgZGVmYXVsdCBpbnByb2MgaGFuZGxlci4gIE9ubHkgb3B0aW9uYWxseSBwcm92aWRlZCBpZiBDb250ZXh0PUNMU0NUWF9MT0NBTF9TRVJWRVIuICBUeXBpY2FsbHkgIm9sZTMyLmRsbCIgb3IgIm1hcGkzMi5kbGwiJyksCi0odSdDbGFzcycsIHUnRmlsZVR5cGVNYXNrJywgdSdZJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUZXh0JywgTm9uZSwgdSdPcHRpb25hbCBzdHJpbmcgY29udGFpbmluZyBpbmZvcm1hdGlvbiBmb3IgdGhlIEhLQ1J0aGlzIENMU0lEKSBrZXkuIElmIG11bHRpcGxlIHBhdHRlcm5zIGV4aXN0LCB0aGV5IG11c3QgYmUgZGVsaW1pdGVkIGJ5IGEgc2VtaWNvbG9uLCBhbmQgbnVtZXJpYyBzdWJrZXlzIHdpbGwgYmUgZ2VuZXJhdGVkOiAwLDEsMi4uLicpLAotKHUnQ2xhc3MnLCB1J0ljb25fJywgdSdZJywgTm9uZSwgTm9uZSwgdSdJY29uJywgMSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdPcHRpb25hbCBmb3JlaWduIGtleSBpbnRvIHRoZSBJY29uIFRhYmxlLCBzcGVjaWZ5aW5nIHRoZSBpY29uIGZpbGUgYXNzb2NpYXRlZCB3aXRoIHRoaXMgQ0xTSUQuIFdpbGwgYmUgd3JpdHRlbiB1bmRlciB0aGUgRGVmYXVsdEljb24ga2V5LicpLAotKHUnQ2xhc3MnLCB1J0ljb25JbmRleCcsIHUnWScsIC0zMjc2NywgMzI3NjcsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnT3B0aW9uYWwgaWNvbiBpbmRleC4nKSwKLSh1J0NsYXNzJywgdSdQcm9nSWRfRGVmYXVsdCcsIHUnWScsIE5vbmUsIE5vbmUsIHUnUHJvZ0lkJywgMSwgdSdUZXh0JywgTm9uZSwgdSdPcHRpb25hbCBQcm9nSWQgYXNzb2NpYXRlZCB3aXRoIHRoaXMgQ0xTSUQuJyksCi0odSdDb21wb25lbnQnLCB1J0NvbmRpdGlvbicsIHUnWScsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnQ29uZGl0aW9uJywgTm9uZSwgdSJBIGNvbmRpdGlvbmFsIHN0YXRlbWVudCB0aGF0IHdpbGwgZGlzYWJsZSB0aGlzIGNvbXBvbmVudCBpZiB0aGUgc3BlY2lmaWVkIGNvbmRpdGlvbiBldmFsdWF0ZXMgdG8gdGhlICdUcnVlJyBzdGF0ZS4gSWYgYSBjb21wb25lbnQgaXMgZGlzYWJsZWQsIGl0IHdpbGwgbm90IGJlIGluc3RhbGxlZCwgcmVnYXJkbGVzcyBvZiB0aGUgJ0FjdGlvbicgc3RhdGUgYXNzb2NpYXRlZCB3aXRoIHRoZSBjb21wb25lbnQuIiksCi0odSdDb21wb25lbnQnLCB1J0F0dHJpYnV0ZXMnLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1JlbW90ZSBleGVjdXRpb24gb3B0aW9uLCBvbmUgb2YgaXJzRW51bScpLAotKHUnQ29tcG9uZW50JywgdSdDb21wb25lbnQnLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J1ByaW1hcnkga2V5IHVzZWQgdG8gaWRlbnRpZnkgYSBwYXJ0aWN1bGFyIGNvbXBvbmVudCByZWNvcmQuJyksCi0odSdDb21wb25lbnQnLCB1J0NvbXBvbmVudElkJywgdSdZJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdHdWlkJywgTm9uZSwgdSdBIHN0cmluZyBHVUlEIHVuaXF1ZSB0byB0aGlzIGNvbXBvbmVudCwgdmVyc2lvbiwgYW5kIGxhbmd1YWdlLicpLAotKHUnQ29tcG9uZW50JywgdSdEaXJlY3RvcnlfJywgdSdOJywgTm9uZSwgTm9uZSwgdSdEaXJlY3RvcnknLCAxLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J1JlcXVpcmVkIGtleSBvZiBhIERpcmVjdG9yeSB0YWJsZSByZWNvcmQuIFRoaXMgaXMgYWN0dWFsbHkgYSBwcm9wZXJ0eSBuYW1lIHdob3NlIHZhbHVlIGNvbnRhaW5zIHRoZSBhY3R1YWwgcGF0aCwgc2V0IGVpdGhlciBieSB0aGUgQXBwU2VhcmNoIGFjdGlvbiBvciB3aXRoIHRoZSBkZWZhdWx0IHNldHRpbmcgb2J0YWluZWQgZnJvbSB0aGUgRGlyZWN0b3J5IHRhYmxlLicpLAotKHUnQ29tcG9uZW50JywgdSdLZXlQYXRoJywgdSdZJywgTm9uZSwgTm9uZSwgdSdGaWxlO1JlZ2lzdHJ5O09EQkNEYXRhU291cmNlJywgMSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdFaXRoZXIgdGhlIHByaW1hcnkga2V5IGludG8gdGhlIEZpbGUgdGFibGUsIFJlZ2lzdHJ5IHRhYmxlLCBvciBPREJDRGF0YVNvdXJjZSB0YWJsZS4gVGhpcyBleHRyYWN0IHBhdGggaXMgc3RvcmVkIHdoZW4gdGhlIGNvbXBvbmVudCBpcyBpbnN0YWxsZWQsIGFuZCBpcyB1c2VkIHRvIGRldGVjdCB0aGUgcHJlc2VuY2Ugb2YgdGhlIGNvbXBvbmVudCBhbmQgdG8gcmV0dXJuIHRoZSBwYXRoIHRvIGl0LicpLAotKHUnUHJvZ0lkJywgdSdEZXNjcmlwdGlvbicsIHUnWScsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGV4dCcsIE5vbmUsIHUnTG9jYWxpemVkIGRlc2NyaXB0aW9uIGZvciB0aGUgUHJvZ3JhbSBpZGVudGlmaWVyLicpLAotKHUnUHJvZ0lkJywgdSdJY29uXycsIHUnWScsIE5vbmUsIE5vbmUsIHUnSWNvbicsIDEsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnT3B0aW9uYWwgZm9yZWlnbiBrZXkgaW50byB0aGUgSWNvbiBUYWJsZSwgc3BlY2lmeWluZyB0aGUgaWNvbiBmaWxlIGFzc29jaWF0ZWQgd2l0aCB0aGlzIFByb2dJZC4gV2lsbCBiZSB3cml0dGVuIHVuZGVyIHRoZSBEZWZhdWx0SWNvbiBrZXkuJyksCi0odSdQcm9nSWQnLCB1J0ljb25JbmRleCcsIHUnWScsIC0zMjc2NywgMzI3NjcsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnT3B0aW9uYWwgaWNvbiBpbmRleC4nKSwKLSh1J1Byb2dJZCcsIHUnUHJvZ0lkJywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUZXh0JywgTm9uZSwgdSdUaGUgUHJvZ3JhbSBJZGVudGlmaWVyLiBQcmltYXJ5IGtleS4nKSwKLSh1J1Byb2dJZCcsIHUnQ2xhc3NfJywgdSdZJywgTm9uZSwgTm9uZSwgdSdDbGFzcycsIDEsIHUnR3VpZCcsIE5vbmUsIHUnVGhlIENMU0lEIG9mIGFuIE9MRSBmYWN0b3J5IGNvcnJlc3BvbmRpbmcgdG8gdGhlIFByb2dJZC4nKSwKLSh1J1Byb2dJZCcsIHUnUHJvZ0lkX1BhcmVudCcsIHUnWScsIE5vbmUsIE5vbmUsIHUnUHJvZ0lkJywgMSwgdSdUZXh0JywgTm9uZSwgdSdUaGUgUGFyZW50IFByb2dyYW0gSWRlbnRpZmllci4gSWYgc3BlY2lmaWVkLCB0aGUgUHJvZ0lkIGNvbHVtbiBiZWNvbWVzIGEgdmVyc2lvbiBpbmRlcGVuZGVudCBwcm9nIGlkLicpLAotKHUnQ29tcExvY2F0b3InLCB1J1R5cGUnLCB1J1knLCAwLCAxLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0EgYm9vbGVhbiB2YWx1ZSB0aGF0IGRldGVybWluZXMgaWYgdGhlIHJlZ2lzdHJ5IHZhbHVlIGlzIGEgZmlsZW5hbWUgb3IgYSBkaXJlY3RvcnkgbG9jYXRpb24uJyksCi0odSdDb21wTG9jYXRvcicsIHUnU2lnbmF0dXJlXycsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnVGhlIHRhYmxlIGtleS4gVGhlIFNpZ25hdHVyZV8gcmVwcmVzZW50cyBhIHVuaXF1ZSBmaWxlIHNpZ25hdHVyZSBhbmQgaXMgYWxzbyB0aGUgZm9yZWlnbiBrZXkgaW4gdGhlIFNpZ25hdHVyZSB0YWJsZS4nKSwKLSh1J0NvbXBMb2NhdG9yJywgdSdDb21wb25lbnRJZCcsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnR3VpZCcsIE5vbmUsIHUnQSBzdHJpbmcgR1VJRCB1bmlxdWUgdG8gdGhpcyBjb21wb25lbnQsIHZlcnNpb24sIGFuZCBsYW5ndWFnZS4nKSwKLSh1J0NvbXBsdXMnLCB1J0NvbXBvbmVudF8nLCB1J04nLCBOb25lLCBOb25lLCB1J0NvbXBvbmVudCcsIDEsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnRm9yZWlnbiBrZXkgcmVmZXJlbmNpbmcgQ29tcG9uZW50IHRoYXQgY29udHJvbHMgdGhlIENvbVBsdXMgY29tcG9uZW50LicpLAotKHUnQ29tcGx1cycsIHUnRXhwVHlwZScsIHUnWScsIDAsIDMyNzY3LCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0NvbVBsdXMgY29tcG9uZW50IGF0dHJpYnV0ZXMuJyksCi0odSdEaXJlY3RvcnknLCB1J0RpcmVjdG9yeScsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnVW5pcXVlIGlkZW50aWZpZXIgZm9yIGRpcmVjdG9yeSBlbnRyeSwgcHJpbWFyeSBrZXkuIElmIGEgcHJvcGVydHkgYnkgdGhpcyBuYW1lIGlzIGRlZmluZWQsIGl0IGNvbnRhaW5zIHRoZSBmdWxsIHBhdGggdG8gdGhlIGRpcmVjdG9yeS4nKSwKLSh1J0RpcmVjdG9yeScsIHUnRGVmYXVsdERpcicsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnRGVmYXVsdERpcicsIE5vbmUsIHUiVGhlIGRlZmF1bHQgc3ViLXBhdGggdW5kZXIgcGFyZW50J3MgcGF0aC4iKSwKLSh1J0RpcmVjdG9yeScsIHUnRGlyZWN0b3J5X1BhcmVudCcsIHUnWScsIE5vbmUsIE5vbmUsIHUnRGlyZWN0b3J5JywgMSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdSZWZlcmVuY2UgdG8gdGhlIGVudHJ5IGluIHRoaXMgdGFibGUgc3BlY2lmeWluZyB0aGUgZGVmYXVsdCBwYXJlbnQgZGlyZWN0b3J5LiBBIHJlY29yZCBwYXJlbnRlZCB0byBpdHNlbGYgb3Igd2l0aCBhIE51bGwgcGFyZW50IHJlcHJlc2VudHMgYSByb290IG9mIHRoZSBpbnN0YWxsIHRyZWUuJyksCi0odSdDcmVhdGVGb2xkZXInLCB1J0NvbXBvbmVudF8nLCB1J04nLCBOb25lLCBOb25lLCB1J0NvbXBvbmVudCcsIDEsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnRm9yZWlnbiBrZXkgaW50byB0aGUgQ29tcG9uZW50IHRhYmxlLicpLAotKHUnQ3JlYXRlRm9sZGVyJywgdSdEaXJlY3RvcnlfJywgdSdOJywgTm9uZSwgTm9uZSwgdSdEaXJlY3RvcnknLCAxLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J1ByaW1hcnkga2V5LCBjb3VsZCBiZSBmb3JlaWduIGtleSBpbnRvIHRoZSBEaXJlY3RvcnkgdGFibGUuJyksCi0odSdDdXN0b21BY3Rpb24nLCB1J1R5cGUnLCB1J04nLCAxLCAxNjM4MywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUaGUgbnVtZXJpYyBjdXN0b20gYWN0aW9uIHR5cGUsIGNvbnNpc3Rpbmcgb2Ygc291cmNlIGxvY2F0aW9uLCBjb2RlIHR5cGUsIGVudHJ5LCBvcHRpb24gZmxhZ3MuJyksCi0odSdDdXN0b21BY3Rpb24nLCB1J0FjdGlvbicsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnUHJpbWFyeSBrZXksIG5hbWUgb2YgYWN0aW9uLCBub3JtYWxseSBhcHBlYXJzIGluIHNlcXVlbmNlIHRhYmxlIHVubGVzcyBwcml2YXRlIHVzZS4nKSwKLSh1J0N1c3RvbUFjdGlvbicsIHUnU291cmNlJywgdSdZJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdDdXN0b21Tb3VyY2UnLCBOb25lLCB1J1RoZSB0YWJsZSByZWZlcmVuY2Ugb2YgdGhlIHNvdXJjZSBvZiB0aGUgY29kZS4nKSwKLSh1J0N1c3RvbUFjdGlvbicsIHUnVGFyZ2V0JywgdSdZJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdGb3JtYXR0ZWQnLCBOb25lLCB1J0V4Y2VjdXRpb24gcGFyYW1ldGVyLCBkZXBlbmRzIG9uIHRoZSB0eXBlIG9mIGN1c3RvbSBhY3Rpb24nKSwKLSh1J0RyTG9jYXRvcicsIHUnU2lnbmF0dXJlXycsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnVGhlIFNpZ25hdHVyZV8gcmVwcmVzZW50cyBhIHVuaXF1ZSBmaWxlIHNpZ25hdHVyZSBhbmQgaXMgYWxzbyB0aGUgZm9yZWlnbiBrZXkgaW4gdGhlIFNpZ25hdHVyZSB0YWJsZS4nKSwKLSh1J0RyTG9jYXRvcicsIHUnUGF0aCcsIHUnWScsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnQW55UGF0aCcsIE5vbmUsIHUnVGhlIHBhdGggb24gdGhlIHVzZXIgc3lzdGVtLiBUaGlzIGlzIGEgZWl0aGVyIGEgc3VicGF0aCBiZWxvdyB0aGUgdmFsdWUgb2YgdGhlIFBhcmVudCBvciBhIGZ1bGwgcGF0aC4gVGhlIHBhdGggbWF5IGNvbnRhaW4gcHJvcGVydGllcyBlbmNsb3NlZCB3aXRoaW4gWyBdIHRoYXQgd2lsbCBiZSBleHBhbmRlZC4nKSwKLSh1J0RyTG9jYXRvcicsIHUnRGVwdGgnLCB1J1knLCAwLCAzMjc2NywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUaGUgZGVwdGggYmVsb3cgdGhlIHBhdGggdG8gd2hpY2ggdGhlIFNpZ25hdHVyZV8gaXMgcmVjdXJzaXZlbHkgc2VhcmNoZWQuIElmIGFic2VudCwgdGhlIGRlcHRoIGlzIGFzc3VtZWQgdG8gYmUgMC4nKSwKLSh1J0RyTG9jYXRvcicsIHUnUGFyZW50JywgdSdZJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdUaGUgcGFyZW50IGZpbGUgc2lnbmF0dXJlLiBJdCBpcyBhbHNvIGEgZm9yZWlnbiBrZXkgaW4gdGhlIFNpZ25hdHVyZSB0YWJsZS4gSWYgbnVsbCBhbmQgdGhlIFBhdGggY29sdW1uIGRvZXMgbm90IGV4cGFuZCB0byBhIGZ1bGwgcGF0aCwgdGhlbiBhbGwgdGhlIGZpeGVkIGRyaXZlcyBvZiB0aGUgdXNlciBzeXN0ZW0gYXJlIHNlYXJjaGVkIHVzaW5nIHRoZSBQYXRoLicpLAotKHUnRHVwbGljYXRlRmlsZScsIHUnRmlsZV8nLCB1J04nLCBOb25lLCBOb25lLCB1J0ZpbGUnLCAxLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J0ZvcmVpZ24ga2V5IHJlZmVyZW5jaW5nIHRoZSBzb3VyY2UgZmlsZSB0byBiZSBkdXBsaWNhdGVkLicpLAotKHUnRHVwbGljYXRlRmlsZScsIHUnQ29tcG9uZW50XycsIHUnTicsIE5vbmUsIE5vbmUsIHUnQ29tcG9uZW50JywgMSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdGb3JlaWduIGtleSByZWZlcmVuY2luZyBDb21wb25lbnQgdGhhdCBjb250cm9scyB0aGUgZHVwbGljYXRlIGZpbGUuJyksCi0odSdEdXBsaWNhdGVGaWxlJywgdSdEZXN0Rm9sZGVyJywgdSdZJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdOYW1lIG9mIGEgcHJvcGVydHkgd2hvc2UgdmFsdWUgaXMgYXNzdW1lZCB0byByZXNvbHZlIHRvIHRoZSBmdWxsIHBhdGhuYW1lIHRvIGEgZGVzdGluYXRpb24gZm9sZGVyLicpLAotKHUnRHVwbGljYXRlRmlsZScsIHUnRGVzdE5hbWUnLCB1J1knLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0ZpbGVuYW1lJywgTm9uZSwgdSdGaWxlbmFtZSB0byBiZSBnaXZlbiB0byB0aGUgZHVwbGljYXRlIGZpbGUuJyksCi0odSdEdXBsaWNhdGVGaWxlJywgdSdGaWxlS2V5JywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdQcmltYXJ5IGtleSB1c2VkIHRvIGlkZW50aWZ5IGEgcGFydGljdWxhciBmaWxlIGVudHJ5JyksCi0odSdFbnZpcm9ubWVudCcsIHUnTmFtZScsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGV4dCcsIE5vbmUsIHUnVGhlIG5hbWUgb2YgdGhlIGVudmlyb25tZW50YWwgdmFsdWUuJyksCi0odSdFbnZpcm9ubWVudCcsIHUnVmFsdWUnLCB1J1knLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0Zvcm1hdHRlZCcsIE5vbmUsIHUnVGhlIHZhbHVlIHRvIHNldCBpbiB0aGUgZW52aXJvbm1lbnRhbCBzZXR0aW5ncy4nKSwKLSh1J0Vudmlyb25tZW50JywgdSdDb21wb25lbnRfJywgdSdOJywgTm9uZSwgTm9uZSwgdSdDb21wb25lbnQnLCAxLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J0ZvcmVpZ24ga2V5IGludG8gdGhlIENvbXBvbmVudCB0YWJsZSByZWZlcmVuY2luZyBjb21wb25lbnQgdGhhdCBjb250cm9scyB0aGUgaW5zdGFsbGluZyBvZiB0aGUgZW52aXJvbm1lbnRhbCB2YWx1ZS4nKSwKLSh1J0Vudmlyb25tZW50JywgdSdFbnZpcm9ubWVudCcsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnVW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoZSBlbnZpcm9ubWVudGFsIHZhcmlhYmxlIHNldHRpbmcnKSwKLSh1J0Vycm9yJywgdSdFcnJvcicsIHUnTicsIDAsIDMyNzY3LCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0ludGVnZXIgZXJyb3IgbnVtYmVyLCBvYnRhaW5lZCBmcm9tIGhlYWRlciBmaWxlIElFcnJvciguLi4pIG1hY3Jvcy4nKSwKLSh1J0Vycm9yJywgdSdNZXNzYWdlJywgdSdZJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUZW1wbGF0ZScsIE5vbmUsIHUnRXJyb3IgZm9ybWF0dGluZyB0ZW1wbGF0ZSwgb2J0YWluZWQgZnJvbSB1c2VyIGVkLiBvciBsb2NhbGl6ZXJzLicpLAotKHUnRXh0ZW5zaW9uJywgdSdGZWF0dXJlXycsIHUnTicsIE5vbmUsIE5vbmUsIHUnRmVhdHVyZScsIDEsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnUmVxdWlyZWQgZm9yZWlnbiBrZXkgaW50byB0aGUgRmVhdHVyZSBUYWJsZSwgc3BlY2lmeWluZyB0aGUgZmVhdHVyZSB0byB2YWxpZGF0ZSBvciBpbnN0YWxsIGluIG9yZGVyIGZvciB0aGUgQ0xTSUQgZmFjdG9yeSB0byBiZSBvcGVyYXRpb25hbC4nKSwKLSh1J0V4dGVuc2lvbicsIHUnQ29tcG9uZW50XycsIHUnTicsIE5vbmUsIE5vbmUsIHUnQ29tcG9uZW50JywgMSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdSZXF1aXJlZCBmb3JlaWduIGtleSBpbnRvIHRoZSBDb21wb25lbnQgVGFibGUsIHNwZWNpZnlpbmcgdGhlIGNvbXBvbmVudCBmb3Igd2hpY2ggdG8gcmV0dXJuIGEgcGF0aCB3aGVuIGNhbGxlZCB0aHJvdWdoIExvY2F0ZUNvbXBvbmVudC4nKSwKLSh1J0V4dGVuc2lvbicsIHUnRXh0ZW5zaW9uJywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUZXh0JywgTm9uZSwgdSdUaGUgZXh0ZW5zaW9uIGFzc29jaWF0ZWQgd2l0aCB0aGUgdGFibGUgcm93LicpLAotKHUnRXh0ZW5zaW9uJywgdSdNSU1FXycsIHUnWScsIE5vbmUsIE5vbmUsIHUnTUlNRScsIDEsIHUnVGV4dCcsIE5vbmUsIHUnT3B0aW9uYWwgQ29udGV4dCBpZGVudGlmaWVyLCB0eXBpY2FsbHkgInR5cGUvZm9ybWF0IiBhc3NvY2lhdGVkIHdpdGggdGhlIGV4dGVuc2lvbicpLAotKHUnRXh0ZW5zaW9uJywgdSdQcm9nSWRfJywgdSdZJywgTm9uZSwgTm9uZSwgdSdQcm9nSWQnLCAxLCB1J1RleHQnLCBOb25lLCB1J09wdGlvbmFsIFByb2dJZCBhc3NvY2lhdGVkIHdpdGggdGhpcyBleHRlbnNpb24uJyksCi0odSdNSU1FJywgdSdDTFNJRCcsIHUnWScsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnR3VpZCcsIE5vbmUsIHUnT3B0aW9uYWwgYXNzb2NpYXRlZCBDTFNJRC4nKSwKLSh1J01JTUUnLCB1J0NvbnRlbnRUeXBlJywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUZXh0JywgTm9uZSwgdSdQcmltYXJ5IGtleS4gQ29udGV4dCBpZGVudGlmaWVyLCB0eXBpY2FsbHkgInR5cGUvZm9ybWF0Ii4nKSwKLSh1J01JTUUnLCB1J0V4dGVuc2lvbl8nLCB1J04nLCBOb25lLCBOb25lLCB1J0V4dGVuc2lvbicsIDEsIHUnVGV4dCcsIE5vbmUsIHUnT3B0aW9uYWwgYXNzb2NpYXRlZCBleHRlbnNpb24gKHdpdGhvdXQgZG90KScpLAotKHUnRmVhdHVyZUNvbXBvbmVudHMnLCB1J0ZlYXR1cmVfJywgdSdOJywgTm9uZSwgTm9uZSwgdSdGZWF0dXJlJywgMSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdGb3JlaWduIGtleSBpbnRvIEZlYXR1cmUgdGFibGUuJyksCi0odSdGZWF0dXJlQ29tcG9uZW50cycsIHUnQ29tcG9uZW50XycsIHUnTicsIE5vbmUsIE5vbmUsIHUnQ29tcG9uZW50JywgMSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdGb3JlaWduIGtleSBpbnRvIENvbXBvbmVudCB0YWJsZS4nKSwKLSh1J0ZpbGVTRlBDYXRhbG9nJywgdSdGaWxlXycsIHUnTicsIE5vbmUsIE5vbmUsIHUnRmlsZScsIDEsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnRmlsZSBhc3NvY2lhdGVkIHdpdGggdGhlIGNhdGFsb2cnKSwKLSh1J0ZpbGVTRlBDYXRhbG9nJywgdSdTRlBDYXRhbG9nXycsIHUnTicsIE5vbmUsIE5vbmUsIHUnU0ZQQ2F0YWxvZycsIDEsIHUnRmlsZW5hbWUnLCBOb25lLCB1J0NhdGFsb2cgYXNzb2NpYXRlZCB3aXRoIHRoZSBmaWxlJyksCi0odSdTRlBDYXRhbG9nJywgdSdTRlBDYXRhbG9nJywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdGaWxlbmFtZScsIE5vbmUsIHUnRmlsZSBuYW1lIGZvciB0aGUgY2F0YWxvZy4nKSwKLSh1J1NGUENhdGFsb2cnLCB1J0NhdGFsb2cnLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0JpbmFyeScsIE5vbmUsIHUnU0ZQIENhdGFsb2cnKSwKLSh1J1NGUENhdGFsb2cnLCB1J0RlcGVuZGVuY3knLCB1J1knLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0Zvcm1hdHRlZCcsIE5vbmUsIHUnUGFyZW50IGNhdGFsb2cgLSBvbmx5IHVzZWQgYnkgU0ZQJyksCi0odSdGb250JywgdSdGaWxlXycsIHUnTicsIE5vbmUsIE5vbmUsIHUnRmlsZScsIDEsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnUHJpbWFyeSBrZXksIGZvcmVpZ24ga2V5IGludG8gRmlsZSB0YWJsZSByZWZlcmVuY2luZyBmb250IGZpbGUuJyksCi0odSdGb250JywgdSdGb250VGl0bGUnLCB1J1knLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RleHQnLCBOb25lLCB1J0ZvbnQgbmFtZS4nKSwKLSh1J0luaUZpbGUnLCB1J0FjdGlvbicsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnMDsxOzMnLCB1J1RoZSB0eXBlIG9mIG1vZGlmaWNhdGlvbiB0byBiZSBtYWRlLCBvbmUgb2YgaWlmRW51bScpLAotKHUnSW5pRmlsZScsIHUnVmFsdWUnLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0Zvcm1hdHRlZCcsIE5vbmUsIHUnVGhlIHZhbHVlIHRvIGJlIHdyaXR0ZW4uJyksCi0odSdJbmlGaWxlJywgdSdLZXknLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0Zvcm1hdHRlZCcsIE5vbmUsIHUnVGhlIC5JTkkgZmlsZSBrZXkgYmVsb3cgU2VjdGlvbi4nKSwKLSh1J0luaUZpbGUnLCB1J0NvbXBvbmVudF8nLCB1J04nLCBOb25lLCBOb25lLCB1J0NvbXBvbmVudCcsIDEsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnRm9yZWlnbiBrZXkgaW50byB0aGUgQ29tcG9uZW50IHRhYmxlIHJlZmVyZW5jaW5nIGNvbXBvbmVudCB0aGF0IGNvbnRyb2xzIHRoZSBpbnN0YWxsaW5nIG9mIHRoZSAuSU5JIHZhbHVlLicpLAotKHUnSW5pRmlsZScsIHUnRmlsZU5hbWUnLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0ZpbGVuYW1lJywgTm9uZSwgdSdUaGUgLklOSSBmaWxlIG5hbWUgaW4gd2hpY2ggdG8gd3JpdGUgdGhlIGluZm9ybWF0aW9uJyksCi0odSdJbmlGaWxlJywgdSdJbmlGaWxlJywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdQcmltYXJ5IGtleSwgbm9uLWxvY2FsaXplZCB0b2tlbi4nKSwKLSh1J0luaUZpbGUnLCB1J0RpclByb3BlcnR5JywgdSdZJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdGb3JlaWduIGtleSBpbnRvIHRoZSBEaXJlY3RvcnkgdGFibGUgZGVub3RpbmcgdGhlIGRpcmVjdG9yeSB3aGVyZSB0aGUgLklOSSBmaWxlIGlzLicpLAotKHUnSW5pRmlsZScsIHUnU2VjdGlvbicsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnRm9ybWF0dGVkJywgTm9uZSwgdSdUaGUgLklOSSBmaWxlIFNlY3Rpb24uJyksCi0odSdJbmlMb2NhdG9yJywgdSdUeXBlJywgdSdZJywgMCwgMiwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdBbiBpbnRlZ2VyIHZhbHVlIHRoYXQgZGV0ZXJtaW5lcyBpZiB0aGUgLklOSSB2YWx1ZSByZWFkIGlzIGEgZmlsZW5hbWUgb3IgYSBkaXJlY3RvcnkgbG9jYXRpb24gb3IgdG8gYmUgdXNlZCBhcyBpcyB3L28gaW50ZXJwcmV0YXRpb24uJyksCi0odSdJbmlMb2NhdG9yJywgdSdLZXknLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RleHQnLCBOb25lLCB1J0tleSB2YWx1ZSAoZm9sbG93ZWQgYnkgYW4gZXF1YWxzIHNpZ24gaW4gSU5JIGZpbGUpLicpLAotKHUnSW5pTG9jYXRvcicsIHUnU2lnbmF0dXJlXycsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnVGhlIHRhYmxlIGtleS4gVGhlIFNpZ25hdHVyZV8gcmVwcmVzZW50cyBhIHVuaXF1ZSBmaWxlIHNpZ25hdHVyZSBhbmQgaXMgYWxzbyB0aGUgZm9yZWlnbiBrZXkgaW4gdGhlIFNpZ25hdHVyZSB0YWJsZS4nKSwKLSh1J0luaUxvY2F0b3InLCB1J0ZpbGVOYW1lJywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdGaWxlbmFtZScsIE5vbmUsIHUnVGhlIC5JTkkgZmlsZSBuYW1lLicpLAotKHUnSW5pTG9jYXRvcicsIHUnU2VjdGlvbicsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGV4dCcsIE5vbmUsIHUnU2VjdGlvbiBuYW1lIHdpdGhpbiBpbiBmaWxlICh3aXRoaW4gc3F1YXJlIGJyYWNrZXRzIGluIElOSSBmaWxlKS4nKSwKLSh1J0luaUxvY2F0b3InLCB1J0ZpZWxkJywgdSdZJywgMCwgMzI3NjcsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGhlIGZpZWxkIGluIHRoZSAuSU5JIGxpbmUuIElmIEZpZWxkIGlzIG51bGwgb3IgMCB0aGUgZW50aXJlIGxpbmUgaXMgcmVhZC4nKSwKLSh1J0lzb2xhdGVkQ29tcG9uZW50JywgdSdDb21wb25lbnRfQXBwbGljYXRpb24nLCB1J04nLCBOb25lLCBOb25lLCB1J0NvbXBvbmVudCcsIDEsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnS2V5IHRvIENvbXBvbmVudCB0YWJsZSBpdGVtIGZvciBhcHBsaWNhdGlvbicpLAotKHUnSXNvbGF0ZWRDb21wb25lbnQnLCB1J0NvbXBvbmVudF9TaGFyZWQnLCB1J04nLCBOb25lLCBOb25lLCB1J0NvbXBvbmVudCcsIDEsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnS2V5IHRvIENvbXBvbmVudCB0YWJsZSBpdGVtIHRvIGJlIGlzb2xhdGVkJyksCi0odSdMYXVuY2hDb25kaXRpb24nLCB1J0NvbmRpdGlvbicsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnQ29uZGl0aW9uJywgTm9uZSwgdSdFeHByZXNzaW9uIHdoaWNoIG11c3QgZXZhbHVhdGUgdG8gVFJVRSBpbiBvcmRlciBmb3IgaW5zdGFsbCB0byBjb21tZW5jZS4nKSwKLSh1J0xhdW5jaENvbmRpdGlvbicsIHUnRGVzY3JpcHRpb24nLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0Zvcm1hdHRlZCcsIE5vbmUsIHUnTG9jYWxpemFibGUgdGV4dCB0byBkaXNwbGF5IHdoZW4gY29uZGl0aW9uIGZhaWxzIGFuZCBpbnN0YWxsIG11c3QgYWJvcnQuJyksCi0odSdMb2NrUGVybWlzc2lvbnMnLCB1J1RhYmxlJywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJywgdSdEaXJlY3Rvcnk7RmlsZTtSZWdpc3RyeScsIHUnUmVmZXJlbmNlIHRvIGFub3RoZXIgdGFibGUgbmFtZScpLAotKHUnTG9ja1Blcm1pc3Npb25zJywgdSdEb21haW4nLCB1J1knLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0Zvcm1hdHRlZCcsIE5vbmUsIHUnRG9tYWluIG5hbWUgZm9yIHVzZXIgd2hvc2UgcGVybWlzc2lvbnMgYXJlIGJlaW5nIHNldC4gKHVzdWFsbHkgYSBwcm9wZXJ0eSknKSwKLSh1J0xvY2tQZXJtaXNzaW9ucycsIHUnTG9ja09iamVjdCcsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnRm9yZWlnbiBrZXkgaW50byBSZWdpc3RyeSBvciBGaWxlIHRhYmxlJyksCi0odSdMb2NrUGVybWlzc2lvbnMnLCB1J1Blcm1pc3Npb24nLCB1J1knLCAtMjE0NzQ4MzY0NywgMjE0NzQ4MzY0NywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdQZXJtaXNzaW9uIEFjY2VzcyBtYXNrLiAgRnVsbCBDb250cm9sID0gMjY4NDM1NDU2IChHRU5FUklDX0FMTCA9IDB4MTAwMDAwMDApJyksCi0odSdMb2NrUGVybWlzc2lvbnMnLCB1J1VzZXInLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0Zvcm1hdHRlZCcsIE5vbmUsIHUnVXNlciBmb3IgcGVybWlzc2lvbnMgdG8gYmUgc2V0LiAgKHVzdWFsbHkgYSBwcm9wZXJ0eSknKSwKLSh1J01lZGlhJywgdSdTb3VyY2UnLCB1J1knLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1Byb3BlcnR5JywgTm9uZSwgdSdUaGUgcHJvcGVydHkgZGVmaW5pbmcgdGhlIGxvY2F0aW9uIG9mIHRoZSBjYWJpbmV0IGZpbGUuJyksCi0odSdNZWRpYScsIHUnQ2FiaW5ldCcsIHUnWScsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnQ2FiaW5ldCcsIE5vbmUsIHUnSWYgc29tZSBvciBhbGwgb2YgdGhlIGZpbGVzIHN0b3JlZCBvbiB0aGUgbWVkaWEgYXJlIGNvbXByZXNzZWQgaW4gYSBjYWJpbmV0LCB0aGUgbmFtZSBvZiB0aGF0IGNhYmluZXQuJyksCi0odSdNZWRpYScsIHUnRGlza0lkJywgdSdOJywgMSwgMzI3NjcsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnUHJpbWFyeSBrZXksIGludGVnZXIgdG8gZGV0ZXJtaW5lIHNvcnQgb3JkZXIgZm9yIHRhYmxlLicpLAotKHUnTWVkaWEnLCB1J0Rpc2tQcm9tcHQnLCB1J1knLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RleHQnLCBOb25lLCB1J0Rpc2sgbmFtZTogdGhlIHZpc2libGUgdGV4dCBhY3R1YWxseSBwcmludGVkIG9uIHRoZSBkaXNrLiAgVGhpcyB3aWxsIGJlIHVzZWQgdG8gcHJvbXB0IHRoZSB1c2VyIHdoZW4gdGhpcyBkaXNrIG5lZWRzIHRvIGJlIGluc2VydGVkLicpLAotKHUnTWVkaWEnLCB1J0xhc3RTZXF1ZW5jZScsIHUnTicsIDAsIDMyNzY3LCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0ZpbGUgc2VxdWVuY2UgbnVtYmVyIGZvciB0aGUgbGFzdCBmaWxlIGZvciB0aGlzIG1lZGlhLicpLAotKHUnTWVkaWEnLCB1J1ZvbHVtZUxhYmVsJywgdSdZJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUZXh0JywgTm9uZSwgdSdUaGUgbGFiZWwgYXR0cmlidXRlZCB0byB0aGUgdm9sdW1lLicpLAotKHUnTW9kdWxlQ29tcG9uZW50cycsIHUnQ29tcG9uZW50JywgdSdOJywgTm9uZSwgTm9uZSwgdSdDb21wb25lbnQnLCAxLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J0NvbXBvbmVudCBjb250YWluZWQgaW4gdGhlIG1vZHVsZS4nKSwKLSh1J01vZHVsZUNvbXBvbmVudHMnLCB1J0xhbmd1YWdlJywgdSdOJywgTm9uZSwgTm9uZSwgdSdNb2R1bGVTaWduYXR1cmUnLCAyLCBOb25lLCBOb25lLCB1J0RlZmF1bHQgbGFuZ3VhZ2UgSUQgZm9yIG1vZHVsZSAobWF5IGJlIGNoYW5nZWQgYnkgdHJhbnNmb3JtKS4nKSwKLSh1J01vZHVsZUNvbXBvbmVudHMnLCB1J01vZHVsZUlEJywgdSdOJywgTm9uZSwgTm9uZSwgdSdNb2R1bGVTaWduYXR1cmUnLCAxLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J01vZHVsZSBjb250YWluaW5nIHRoZSBjb21wb25lbnQuJyksCi0odSdNb2R1bGVTaWduYXR1cmUnLCB1J0xhbmd1YWdlJywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdEZWZhdWx0IGRlY2ltYWwgbGFuZ3VhZ2Ugb2YgbW9kdWxlLicpLAotKHUnTW9kdWxlU2lnbmF0dXJlJywgdSdWZXJzaW9uJywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdWZXJzaW9uJywgTm9uZSwgdSdWZXJzaW9uIG9mIHRoZSBtb2R1bGUuJyksCi0odSdNb2R1bGVTaWduYXR1cmUnLCB1J01vZHVsZUlEJywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdNb2R1bGUgaWRlbnRpZmllciAoU3RyaW5nLkdVSUQpLicpLAotKHUnTW9kdWxlRGVwZW5kZW5jeScsIHUnTW9kdWxlSUQnLCB1J04nLCBOb25lLCBOb25lLCB1J01vZHVsZVNpZ25hdHVyZScsIDEsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnTW9kdWxlIHJlcXVpcmluZyB0aGUgZGVwZW5kZW5jeS4nKSwKLSh1J01vZHVsZURlcGVuZGVuY3knLCB1J01vZHVsZUxhbmd1YWdlJywgdSdOJywgTm9uZSwgTm9uZSwgdSdNb2R1bGVTaWduYXR1cmUnLCAyLCBOb25lLCBOb25lLCB1J0xhbmd1YWdlIG9mIG1vZHVsZSByZXF1aXJpbmcgdGhlIGRlcGVuZGVuY3kuJyksCi0odSdNb2R1bGVEZXBlbmRlbmN5JywgdSdSZXF1aXJlZElEJywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdTdHJpbmcuR1VJRCBvZiByZXF1aXJlZCBtb2R1bGUuJyksCi0odSdNb2R1bGVEZXBlbmRlbmN5JywgdSdSZXF1aXJlZExhbmd1YWdlJywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdMYW5ndWFnZUlEIG9mIHRoZSByZXF1aXJlZCBtb2R1bGUuJyksCi0odSdNb2R1bGVEZXBlbmRlbmN5JywgdSdSZXF1aXJlZFZlcnNpb24nLCB1J1knLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1ZlcnNpb24nLCBOb25lLCB1J1ZlcnNpb24gb2YgdGhlIHJlcXVpcmVkIHZlcnNpb24uJyksCi0odSdNb2R1bGVFeGNsdXNpb24nLCB1J01vZHVsZUlEJywgdSdOJywgTm9uZSwgTm9uZSwgdSdNb2R1bGVTaWduYXR1cmUnLCAxLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J1N0cmluZy5HVUlEIG9mIG1vZHVsZSB3aXRoIGV4Y2x1c2lvbiByZXF1aXJlbWVudC4nKSwKLSh1J01vZHVsZUV4Y2x1c2lvbicsIHUnTW9kdWxlTGFuZ3VhZ2UnLCB1J04nLCBOb25lLCBOb25lLCB1J01vZHVsZVNpZ25hdHVyZScsIDIsIE5vbmUsIE5vbmUsIHUnTGFuZ3VhZ2VJRCBvZiBtb2R1bGUgd2l0aCBleGNsdXNpb24gcmVxdWlyZW1lbnQuJyksCi0odSdNb2R1bGVFeGNsdXNpb24nLCB1J0V4Y2x1ZGVkSUQnLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1N0cmluZy5HVUlEIG9mIGV4Y2x1ZGVkIG1vZHVsZS4nKSwKLSh1J01vZHVsZUV4Y2x1c2lvbicsIHUnRXhjbHVkZWRMYW5ndWFnZScsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnTGFuZ3VhZ2Ugb2YgZXhjbHVkZWQgbW9kdWxlLicpLAotKHUnTW9kdWxlRXhjbHVzaW9uJywgdSdFeGNsdWRlZE1heFZlcnNpb24nLCB1J1knLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1ZlcnNpb24nLCBOb25lLCB1J01heGltdW0gdmVyc2lvbiBvZiBleGNsdWRlZCBtb2R1bGUuJyksCi0odSdNb2R1bGVFeGNsdXNpb24nLCB1J0V4Y2x1ZGVkTWluVmVyc2lvbicsIHUnWScsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVmVyc2lvbicsIE5vbmUsIHUnTWluaW11bSB2ZXJzaW9uIG9mIGV4Y2x1ZGVkIG1vZHVsZS4nKSwKLSh1J01vdmVGaWxlJywgdSdDb21wb25lbnRfJywgdSdOJywgTm9uZSwgTm9uZSwgdSdDb21wb25lbnQnLCAxLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J0lmIHRoaXMgY29tcG9uZW50IGlzIG5vdCAic2VsZWN0ZWQiIGZvciBpbnN0YWxsYXRpb24gb3IgcmVtb3ZhbCwgbm8gYWN0aW9uIHdpbGwgYmUgdGFrZW4gb24gdGhlIGFzc29jaWF0ZWQgTW92ZUZpbGUgZW50cnknKSwKLSh1J01vdmVGaWxlJywgdSdEZXN0Rm9sZGVyJywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdOYW1lIG9mIGEgcHJvcGVydHkgd2hvc2UgdmFsdWUgaXMgYXNzdW1lZCB0byByZXNvbHZlIHRvIHRoZSBmdWxsIHBhdGggdG8gdGhlIGRlc3RpbmF0aW9uIGRpcmVjdG9yeScpLAotKHUnTW92ZUZpbGUnLCB1J0Rlc3ROYW1lJywgdSdZJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdGaWxlbmFtZScsIE5vbmUsIHUnTmFtZSB0byBiZSBnaXZlbiB0byB0aGUgb3JpZ2luYWwgZmlsZSBhZnRlciBpdCBpcyBtb3ZlZCBvciBjb3BpZWQuICBJZiBibGFuaywgdGhlIGRlc3RpbmF0aW9uIGZpbGUgd2lsbCBiZSBnaXZlbiB0aGUgc2FtZSBuYW1lIGFzIHRoZSBzb3VyY2UgZmlsZScpLAotKHUnTW92ZUZpbGUnLCB1J0ZpbGVLZXknLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J1ByaW1hcnkga2V5IHRoYXQgdW5pcXVlbHkgaWRlbnRpZmllcyBhIHBhcnRpY3VsYXIgTW92ZUZpbGUgcmVjb3JkJyksCi0odSdNb3ZlRmlsZScsIHUnT3B0aW9ucycsIHUnTicsIDAsIDEsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSW50ZWdlciB2YWx1ZSBzcGVjaWZ5aW5nIHRoZSBNb3ZlRmlsZSBvcGVyYXRpbmcgbW9kZSwgb25lIG9mIGltZm9FbnVtJyksCi0odSdNb3ZlRmlsZScsIHUnU291cmNlRm9sZGVyJywgdSdZJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdOYW1lIG9mIGEgcHJvcGVydHkgd2hvc2UgdmFsdWUgaXMgYXNzdW1lZCB0byByZXNvbHZlIHRvIHRoZSBmdWxsIHBhdGggdG8gdGhlIHNvdXJjZSBkaXJlY3RvcnknKSwKLSh1J01vdmVGaWxlJywgdSdTb3VyY2VOYW1lJywgdSdZJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUZXh0JywgTm9uZSwgdSJOYW1lIG9mIHRoZSBzb3VyY2UgZmlsZShzKSB0byBiZSBtb3ZlZCBvciBjb3BpZWQuICBDYW4gY29udGFpbiB0aGUgJyonIG9yICc/JyB3aWxkY2FyZHMuIiksCi0odSdNc2lBc3NlbWJseScsIHUnQXR0cmlidXRlcycsIHUnWScsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnQXNzZW1ibHkgYXR0cmlidXRlcycpLAotKHUnTXNpQXNzZW1ibHknLCB1J0ZlYXR1cmVfJywgdSdOJywgTm9uZSwgTm9uZSwgdSdGZWF0dXJlJywgMSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdGb3JlaWduIGtleSBpbnRvIEZlYXR1cmUgdGFibGUuJyksCi0odSdNc2lBc3NlbWJseScsIHUnQ29tcG9uZW50XycsIHUnTicsIE5vbmUsIE5vbmUsIHUnQ29tcG9uZW50JywgMSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdGb3JlaWduIGtleSBpbnRvIENvbXBvbmVudCB0YWJsZS4nKSwKLSh1J01zaUFzc2VtYmx5JywgdSdGaWxlX0FwcGxpY2F0aW9uJywgdSdZJywgTm9uZSwgTm9uZSwgdSdGaWxlJywgMSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdGb3JlaWduIGtleSBpbnRvIEZpbGUgdGFibGUsIGRlbm90aW5nIHRoZSBhcHBsaWNhdGlvbiBjb250ZXh0IGZvciBwcml2YXRlIGFzc2VtYmxpZXMuIE51bGwgZm9yIGdsb2JhbCBhc3NlbWJsaWVzLicpLAotKHUnTXNpQXNzZW1ibHknLCB1J0ZpbGVfTWFuaWZlc3QnLCB1J1knLCBOb25lLCBOb25lLCB1J0ZpbGUnLCAxLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J0ZvcmVpZ24ga2V5IGludG8gdGhlIEZpbGUgdGFibGUgZGVub3RpbmcgdGhlIG1hbmlmZXN0IGZpbGUgZm9yIHRoZSBhc3NlbWJseS4nKSwKLSh1J01zaUFzc2VtYmx5TmFtZScsIHUnTmFtZScsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGV4dCcsIE5vbmUsIHUnVGhlIG5hbWUgcGFydCBvZiB0aGUgbmFtZS12YWx1ZSBwYWlycyBmb3IgdGhlIGFzc2VtYmx5IG5hbWUuJyksCi0odSdNc2lBc3NlbWJseU5hbWUnLCB1J1ZhbHVlJywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUZXh0JywgTm9uZSwgdSdUaGUgdmFsdWUgcGFydCBvZiB0aGUgbmFtZS12YWx1ZSBwYWlycyBmb3IgdGhlIGFzc2VtYmx5IG5hbWUuJyksCi0odSdNc2lBc3NlbWJseU5hbWUnLCB1J0NvbXBvbmVudF8nLCB1J04nLCBOb25lLCBOb25lLCB1J0NvbXBvbmVudCcsIDEsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnRm9yZWlnbiBrZXkgaW50byBDb21wb25lbnQgdGFibGUuJyksCi0odSdNc2lEaWdpdGFsQ2VydGlmaWNhdGUnLCB1J0NlcnREYXRhJywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdCaW5hcnknLCBOb25lLCB1J0EgY2VydGlmaWNhdGUgY29udGV4dCBibG9iIGZvciBhIHNpZ25lciBjZXJ0aWZpY2F0ZScpLAotKHUnTXNpRGlnaXRhbENlcnRpZmljYXRlJywgdSdEaWdpdGFsQ2VydGlmaWNhdGUnLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J0EgdW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoZSByb3cnKSwKLSh1J01zaURpZ2l0YWxTaWduYXR1cmUnLCB1J1RhYmxlJywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdNZWRpYScsIHUnUmVmZXJlbmNlIHRvIGFub3RoZXIgdGFibGUgbmFtZSAob25seSBNZWRpYSB0YWJsZSBpcyBzdXBwb3J0ZWQpJyksCi0odSdNc2lEaWdpdGFsU2lnbmF0dXJlJywgdSdEaWdpdGFsQ2VydGlmaWNhdGVfJywgdSdOJywgTm9uZSwgTm9uZSwgdSdNc2lEaWdpdGFsQ2VydGlmaWNhdGUnLCAxLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J0ZvcmVpZ24ga2V5IHRvIE1zaURpZ2l0YWxDZXJ0aWZpY2F0ZSB0YWJsZSBpZGVudGlmeWluZyB0aGUgc2lnbmVyIGNlcnRpZmljYXRlJyksCi0odSdNc2lEaWdpdGFsU2lnbmF0dXJlJywgdSdIYXNoJywgdSdZJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdCaW5hcnknLCBOb25lLCB1J1RoZSBlbmNvZGVkIGhhc2ggYmxvYiBmcm9tIHRoZSBkaWdpdGFsIHNpZ25hdHVyZScpLAotKHUnTXNpRGlnaXRhbFNpZ25hdHVyZScsIHUnU2lnbk9iamVjdCcsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGV4dCcsIE5vbmUsIHUnRm9yZWlnbiBrZXkgdG8gTWVkaWEgdGFibGUnKSwKLSh1J01zaUZpbGVIYXNoJywgdSdGaWxlXycsIHUnTicsIE5vbmUsIE5vbmUsIHUnRmlsZScsIDEsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnUHJpbWFyeSBrZXksIGZvcmVpZ24ga2V5IGludG8gRmlsZSB0YWJsZSByZWZlcmVuY2luZyBmaWxlIHdpdGggdGhpcyBoYXNoJyksCi0odSdNc2lGaWxlSGFzaCcsIHUnT3B0aW9ucycsIHUnTicsIDAsIDMyNzY3LCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1ZhcmlvdXMgb3B0aW9ucyBhbmQgYXR0cmlidXRlcyBmb3IgdGhpcyBoYXNoLicpLAotKHUnTXNpRmlsZUhhc2gnLCB1J0hhc2hQYXJ0MScsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnU2l6ZSBvZiBmaWxlIGluIGJ5dGVzIChsb25nIGludGVnZXIpLicpLAotKHUnTXNpRmlsZUhhc2gnLCB1J0hhc2hQYXJ0MicsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnU2l6ZSBvZiBmaWxlIGluIGJ5dGVzIChsb25nIGludGVnZXIpLicpLAotKHUnTXNpRmlsZUhhc2gnLCB1J0hhc2hQYXJ0MycsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnU2l6ZSBvZiBmaWxlIGluIGJ5dGVzIChsb25nIGludGVnZXIpLicpLAotKHUnTXNpRmlsZUhhc2gnLCB1J0hhc2hQYXJ0NCcsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnU2l6ZSBvZiBmaWxlIGluIGJ5dGVzIChsb25nIGludGVnZXIpLicpLAotKHUnTXNpUGF0Y2hIZWFkZXJzJywgdSdTdHJlYW1SZWYnLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J1ByaW1hcnkga2V5LiBBIHVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGUgcm93LicpLAotKHUnTXNpUGF0Y2hIZWFkZXJzJywgdSdIZWFkZXInLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0JpbmFyeScsIE5vbmUsIHUnQmluYXJ5IHN0cmVhbS4gVGhlIHBhdGNoIGhlYWRlciwgdXNlZCBmb3IgcGF0Y2ggdmFsaWRhdGlvbi4nKSwKLSh1J09EQkNBdHRyaWJ1dGUnLCB1J1ZhbHVlJywgdSdZJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUZXh0JywgTm9uZSwgdSdWYWx1ZSBmb3IgT0RCQyBkcml2ZXIgYXR0cmlidXRlJyksCi0odSdPREJDQXR0cmlidXRlJywgdSdBdHRyaWJ1dGUnLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RleHQnLCBOb25lLCB1J05hbWUgb2YgT0RCQyBkcml2ZXIgYXR0cmlidXRlJyksCi0odSdPREJDQXR0cmlidXRlJywgdSdEcml2ZXJfJywgdSdOJywgTm9uZSwgTm9uZSwgdSdPREJDRHJpdmVyJywgMSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdSZWZlcmVuY2UgdG8gT0RCQyBkcml2ZXIgaW4gT0RCQ0RyaXZlciB0YWJsZScpLAotKHUnT0RCQ0RyaXZlcicsIHUnRGVzY3JpcHRpb24nLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RleHQnLCBOb25lLCB1J1RleHQgdXNlZCBhcyByZWdpc3RlcmVkIG5hbWUgZm9yIGRyaXZlciwgbm9uLWxvY2FsaXplZCcpLAotKHUnT0RCQ0RyaXZlcicsIHUnRmlsZV8nLCB1J04nLCBOb25lLCBOb25lLCB1J0ZpbGUnLCAxLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J1JlZmVyZW5jZSB0byBrZXkgZHJpdmVyIGZpbGUnKSwKLSh1J09EQkNEcml2ZXInLCB1J0NvbXBvbmVudF8nLCB1J04nLCBOb25lLCBOb25lLCB1J0NvbXBvbmVudCcsIDEsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnUmVmZXJlbmNlIHRvIGFzc29jaWF0ZWQgY29tcG9uZW50JyksCi0odSdPREJDRHJpdmVyJywgdSdEcml2ZXInLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J1ByaW1hcnkga2V5LCBub24tbG9jYWxpemVkLmludGVybmFsIHRva2VuIGZvciBkcml2ZXInKSwKLSh1J09EQkNEcml2ZXInLCB1J0ZpbGVfU2V0dXAnLCB1J1knLCBOb25lLCBOb25lLCB1J0ZpbGUnLCAxLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J09wdGlvbmFsIHJlZmVyZW5jZSB0byBrZXkgZHJpdmVyIHNldHVwIERMTCcpLAotKHUnT0RCQ0RhdGFTb3VyY2UnLCB1J0Rlc2NyaXB0aW9uJywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUZXh0JywgTm9uZSwgdSdUZXh0IHVzZWQgYXMgcmVnaXN0ZXJlZCBuYW1lIGZvciBkYXRhIHNvdXJjZScpLAotKHUnT0RCQ0RhdGFTb3VyY2UnLCB1J0NvbXBvbmVudF8nLCB1J04nLCBOb25lLCBOb25lLCB1J0NvbXBvbmVudCcsIDEsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnUmVmZXJlbmNlIHRvIGFzc29jaWF0ZWQgY29tcG9uZW50JyksCi0odSdPREJDRGF0YVNvdXJjZScsIHUnRGF0YVNvdXJjZScsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnUHJpbWFyeSBrZXksIG5vbi1sb2NhbGl6ZWQuaW50ZXJuYWwgdG9rZW4gZm9yIGRhdGEgc291cmNlJyksCi0odSdPREJDRGF0YVNvdXJjZScsIHUnRHJpdmVyRGVzY3JpcHRpb24nLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RleHQnLCBOb25lLCB1J1JlZmVyZW5jZSB0byBkcml2ZXIgZGVzY3JpcHRpb24sIG1heSBiZSBleGlzdGluZyBkcml2ZXInKSwKLSh1J09EQkNEYXRhU291cmNlJywgdSdSZWdpc3RyYXRpb24nLCB1J04nLCAwLCAxLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1JlZ2lzdHJhdGlvbiBvcHRpb246IDA9bWFjaGluZSwgMT11c2VyLCBvdGhlcnMgdC5iLmQuJyksCi0odSdPREJDU291cmNlQXR0cmlidXRlJywgdSdWYWx1ZScsIHUnWScsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGV4dCcsIE5vbmUsIHUnVmFsdWUgZm9yIE9EQkMgZGF0YSBzb3VyY2UgYXR0cmlidXRlJyksCi0odSdPREJDU291cmNlQXR0cmlidXRlJywgdSdBdHRyaWJ1dGUnLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RleHQnLCBOb25lLCB1J05hbWUgb2YgT0RCQyBkYXRhIHNvdXJjZSBhdHRyaWJ1dGUnKSwKLSh1J09EQkNTb3VyY2VBdHRyaWJ1dGUnLCB1J0RhdGFTb3VyY2VfJywgdSdOJywgTm9uZSwgTm9uZSwgdSdPREJDRGF0YVNvdXJjZScsIDEsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnUmVmZXJlbmNlIHRvIE9EQkMgZGF0YSBzb3VyY2UgaW4gT0RCQ0RhdGFTb3VyY2UgdGFibGUnKSwKLSh1J09EQkNUcmFuc2xhdG9yJywgdSdEZXNjcmlwdGlvbicsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGV4dCcsIE5vbmUsIHUnVGV4dCB1c2VkIGFzIHJlZ2lzdGVyZWQgbmFtZSBmb3IgdHJhbnNsYXRvcicpLAotKHUnT0RCQ1RyYW5zbGF0b3InLCB1J0ZpbGVfJywgdSdOJywgTm9uZSwgTm9uZSwgdSdGaWxlJywgMSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdSZWZlcmVuY2UgdG8ga2V5IHRyYW5zbGF0b3IgZmlsZScpLAotKHUnT0RCQ1RyYW5zbGF0b3InLCB1J0NvbXBvbmVudF8nLCB1J04nLCBOb25lLCBOb25lLCB1J0NvbXBvbmVudCcsIDEsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnUmVmZXJlbmNlIHRvIGFzc29jaWF0ZWQgY29tcG9uZW50JyksCi0odSdPREJDVHJhbnNsYXRvcicsIHUnRmlsZV9TZXR1cCcsIHUnWScsIE5vbmUsIE5vbmUsIHUnRmlsZScsIDEsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnT3B0aW9uYWwgcmVmZXJlbmNlIHRvIGtleSB0cmFuc2xhdG9yIHNldHVwIERMTCcpLAotKHUnT0RCQ1RyYW5zbGF0b3InLCB1J1RyYW5zbGF0b3InLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J1ByaW1hcnkga2V5LCBub24tbG9jYWxpemVkLmludGVybmFsIHRva2VuIGZvciB0cmFuc2xhdG9yJyksCi0odSdQYXRjaCcsIHUnU2VxdWVuY2UnLCB1J04nLCAwLCAzMjc2NywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdQcmltYXJ5IGtleSwgc2VxdWVuY2Ugd2l0aCByZXNwZWN0IHRvIHRoZSBtZWRpYSBpbWFnZXM7IG9yZGVyIG11c3QgdHJhY2sgY2FiaW5ldCBvcmRlci4nKSwKLSh1J1BhdGNoJywgdSdBdHRyaWJ1dGVzJywgdSdOJywgMCwgMzI3NjcsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSW50ZWdlciBjb250YWluaW5nIGJpdCBmbGFncyByZXByZXNlbnRpbmcgcGF0Y2ggYXR0cmlidXRlcycpLAotKHUnUGF0Y2gnLCB1J0ZpbGVfJywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdQcmltYXJ5IGtleSwgbm9uLWxvY2FsaXplZCB0b2tlbiwgZm9yZWlnbiBrZXkgdG8gRmlsZSB0YWJsZSwgbXVzdCBtYXRjaCBpZGVudGlmaWVyIGluIGNhYmluZXQuJyksCi0odSdQYXRjaCcsIHUnSGVhZGVyJywgdSdZJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdCaW5hcnknLCBOb25lLCB1J0JpbmFyeSBzdHJlYW0uIFRoZSBwYXRjaCBoZWFkZXIsIHVzZWQgZm9yIHBhdGNoIHZhbGlkYXRpb24uJyksCi0odSdQYXRjaCcsIHUnUGF0Y2hTaXplJywgdSdOJywgMCwgMjE0NzQ4MzY0NywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdTaXplIG9mIHBhdGNoIGluIGJ5dGVzIChsb25nIGludGVnZXIpLicpLAotKHUnUGF0Y2gnLCB1J1N0cmVhbVJlZl8nLCB1J1knLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J0lkZW50aWZpZXIuIEZvcmVpZ24ga2V5IHRvIHRoZSBTdHJlYW1SZWYgY29sdW1uIG9mIHRoZSBNc2lQYXRjaEhlYWRlcnMgdGFibGUuJyksCi0odSdQYXRjaFBhY2thZ2UnLCB1J01lZGlhXycsIHUnTicsIDAsIDMyNzY3LCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0ZvcmVpZ24ga2V5IHRvIERpc2tJZCBjb2x1bW4gb2YgTWVkaWEgdGFibGUuIEluZGljYXRlcyB0aGUgZGlzayBjb250YWluaW5nIHRoZSBwYXRjaCBwYWNrYWdlLicpLAotKHUnUGF0Y2hQYWNrYWdlJywgdSdQYXRjaElkJywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdHdWlkJywgTm9uZSwgdSdBIHVuaXF1ZSBzdHJpbmcgR1VJRCByZXByZXNlbnRpbmcgdGhpcyBwYXRjaC4nKSwKLSh1J1B1Ymxpc2hDb21wb25lbnQnLCB1J0ZlYXR1cmVfJywgdSdOJywgTm9uZSwgTm9uZSwgdSdGZWF0dXJlJywgMSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdGb3JlaWduIGtleSBpbnRvIHRoZSBGZWF0dXJlIHRhYmxlLicpLAotKHUnUHVibGlzaENvbXBvbmVudCcsIHUnQ29tcG9uZW50XycsIHUnTicsIE5vbmUsIE5vbmUsIHUnQ29tcG9uZW50JywgMSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdGb3JlaWduIGtleSBpbnRvIHRoZSBDb21wb25lbnQgdGFibGUuJyksCi0odSdQdWJsaXNoQ29tcG9uZW50JywgdSdDb21wb25lbnRJZCcsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnR3VpZCcsIE5vbmUsIHUnQSBzdHJpbmcgR1VJRCB0aGF0IHJlcHJlc2VudHMgdGhlIGNvbXBvbmVudCBpZCB0aGF0IHdpbGwgYmUgcmVxdWVzdGVkIGJ5IHRoZSBhbGllbiBwcm9kdWN0LicpLAotKHUnUHVibGlzaENvbXBvbmVudCcsIHUnQXBwRGF0YScsIHUnWScsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGV4dCcsIE5vbmUsIHUnVGhpcyBpcyBsb2NhbGlzYWJsZSBBcHBsaWNhdGlvbiBzcGVjaWZpYyBkYXRhIHRoYXQgY2FuIGJlIGFzc29jaWF0ZWQgd2l0aCBhIFF1YWxpZmllZCBDb21wb25lbnQuJyksCi0odSdQdWJsaXNoQ29tcG9uZW50JywgdSdRdWFsaWZpZXInLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RleHQnLCBOb25lLCB1J1RoaXMgaXMgZGVmaW5lZCBvbmx5IHdoZW4gdGhlIENvbXBvbmVudElkIGNvbHVtbiBpcyBhbiBRdWFsaWZpZWQgQ29tcG9uZW50IElkLiBUaGlzIGlzIHRoZSBRdWFsaWZpZXIgZm9yIFByb3ZpZGVDb21wb25lbnRJbmRpcmVjdC4nKSwKLSh1J1JlZ2lzdHJ5JywgdSdOYW1lJywgdSdZJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdGb3JtYXR0ZWQnLCBOb25lLCB1J1RoZSByZWdpc3RyeSB2YWx1ZSBuYW1lLicpLAotKHUnUmVnaXN0cnknLCB1J1ZhbHVlJywgdSdZJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdGb3JtYXR0ZWQnLCBOb25lLCB1J1RoZSByZWdpc3RyeSB2YWx1ZS4nKSwKLSh1J1JlZ2lzdHJ5JywgdSdLZXknLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1JlZ1BhdGgnLCBOb25lLCB1J1RoZSBrZXkgZm9yIHRoZSByZWdpc3RyeSB2YWx1ZS4nKSwKLSh1J1JlZ2lzdHJ5JywgdSdDb21wb25lbnRfJywgdSdOJywgTm9uZSwgTm9uZSwgdSdDb21wb25lbnQnLCAxLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J0ZvcmVpZ24ga2V5IGludG8gdGhlIENvbXBvbmVudCB0YWJsZSByZWZlcmVuY2luZyBjb21wb25lbnQgdGhhdCBjb250cm9scyB0aGUgaW5zdGFsbGluZyBvZiB0aGUgcmVnaXN0cnkgdmFsdWUuJyksCi0odSdSZWdpc3RyeScsIHUnUmVnaXN0cnknLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J1ByaW1hcnkga2V5LCBub24tbG9jYWxpemVkIHRva2VuLicpLAotKHUnUmVnaXN0cnknLCB1J1Jvb3QnLCB1J04nLCAtMSwgMywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUaGUgcHJlZGVmaW5lZCByb290IGtleSBmb3IgdGhlIHJlZ2lzdHJ5IHZhbHVlLCBvbmUgb2YgcnJrRW51bS4nKSwKLSh1J1JlZ0xvY2F0b3InLCB1J05hbWUnLCB1J1knLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0Zvcm1hdHRlZCcsIE5vbmUsIHUnVGhlIHJlZ2lzdHJ5IHZhbHVlIG5hbWUuJyksCi0odSdSZWdMb2NhdG9yJywgdSdUeXBlJywgdSdZJywgMCwgMTgsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnQW4gaW50ZWdlciB2YWx1ZSB0aGF0IGRldGVybWluZXMgaWYgdGhlIHJlZ2lzdHJ5IHZhbHVlIGlzIGEgZmlsZW5hbWUgb3IgYSBkaXJlY3RvcnkgbG9jYXRpb24gb3IgdG8gYmUgdXNlZCBhcyBpcyB3L28gaW50ZXJwcmV0YXRpb24uJyksCi0odSdSZWdMb2NhdG9yJywgdSdLZXknLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1JlZ1BhdGgnLCBOb25lLCB1J1RoZSBrZXkgZm9yIHRoZSByZWdpc3RyeSB2YWx1ZS4nKSwKLSh1J1JlZ0xvY2F0b3InLCB1J1NpZ25hdHVyZV8nLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J1RoZSB0YWJsZSBrZXkuIFRoZSBTaWduYXR1cmVfIHJlcHJlc2VudHMgYSB1bmlxdWUgZmlsZSBzaWduYXR1cmUgYW5kIGlzIGFsc28gdGhlIGZvcmVpZ24ga2V5IGluIHRoZSBTaWduYXR1cmUgdGFibGUuIElmIHRoZSB0eXBlIGlzIDAsIHRoZSByZWdpc3RyeSB2YWx1ZXMgcmVmZXJzIGEgZGlyZWN0b3J5LCBhbmQgX1NpZ25hdHVyZSBpcyBub3QgYSBmb3JlaWduIGtleS4nKSwKLSh1J1JlZ0xvY2F0b3InLCB1J1Jvb3QnLCB1J04nLCAwLCAzLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RoZSBwcmVkZWZpbmVkIHJvb3Qga2V5IGZvciB0aGUgcmVnaXN0cnkgdmFsdWUsIG9uZSBvZiBycmtFbnVtLicpLAotKHUnUmVtb3ZlRmlsZScsIHUnSW5zdGFsbE1vZGUnLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1JzE7MjszJywgdSdJbnN0YWxsYXRpb24gb3B0aW9uLCBvbmUgb2YgaWltRW51bS4nKSwKLSh1J1JlbW92ZUZpbGUnLCB1J0NvbXBvbmVudF8nLCB1J04nLCBOb25lLCBOb25lLCB1J0NvbXBvbmVudCcsIDEsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnRm9yZWlnbiBrZXkgcmVmZXJlbmNpbmcgQ29tcG9uZW50IHRoYXQgY29udHJvbHMgdGhlIGZpbGUgdG8gYmUgcmVtb3ZlZC4nKSwKLSh1J1JlbW92ZUZpbGUnLCB1J0ZpbGVLZXknLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J1ByaW1hcnkga2V5IHVzZWQgdG8gaWRlbnRpZnkgYSBwYXJ0aWN1bGFyIGZpbGUgZW50cnknKSwKLSh1J1JlbW92ZUZpbGUnLCB1J0ZpbGVOYW1lJywgdSdZJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdXaWxkQ2FyZEZpbGVuYW1lJywgTm9uZSwgdSdOYW1lIG9mIHRoZSBmaWxlIHRvIGJlIHJlbW92ZWQuJyksCi0odSdSZW1vdmVGaWxlJywgdSdEaXJQcm9wZXJ0eScsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnTmFtZSBvZiBhIHByb3BlcnR5IHdob3NlIHZhbHVlIGlzIGFzc3VtZWQgdG8gcmVzb2x2ZSB0byB0aGUgZnVsbCBwYXRobmFtZSB0byB0aGUgZm9sZGVyIG9mIHRoZSBmaWxlIHRvIGJlIHJlbW92ZWQuJyksCi0odSdSZW1vdmVJbmlGaWxlJywgdSdBY3Rpb24nLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1JzI7NCcsIHUnVGhlIHR5cGUgb2YgbW9kaWZpY2F0aW9uIHRvIGJlIG1hZGUsIG9uZSBvZiBpaWZFbnVtLicpLAotKHUnUmVtb3ZlSW5pRmlsZScsIHUnVmFsdWUnLCB1J1knLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0Zvcm1hdHRlZCcsIE5vbmUsIHUnVGhlIHZhbHVlIHRvIGJlIGRlbGV0ZWQuIFRoZSB2YWx1ZSBpcyByZXF1aXJlZCB3aGVuIEFjdGlvbiBpcyBpaWZJbmlSZW1vdmVUYWcnKSwKLSh1J1JlbW92ZUluaUZpbGUnLCB1J0tleScsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnRm9ybWF0dGVkJywgTm9uZSwgdSdUaGUgLklOSSBmaWxlIGtleSBiZWxvdyBTZWN0aW9uLicpLAotKHUnUmVtb3ZlSW5pRmlsZScsIHUnQ29tcG9uZW50XycsIHUnTicsIE5vbmUsIE5vbmUsIHUnQ29tcG9uZW50JywgMSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdGb3JlaWduIGtleSBpbnRvIHRoZSBDb21wb25lbnQgdGFibGUgcmVmZXJlbmNpbmcgY29tcG9uZW50IHRoYXQgY29udHJvbHMgdGhlIGRlbGV0aW9uIG9mIHRoZSAuSU5JIHZhbHVlLicpLAotKHUnUmVtb3ZlSW5pRmlsZScsIHUnRmlsZU5hbWUnLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0ZpbGVuYW1lJywgTm9uZSwgdSdUaGUgLklOSSBmaWxlIG5hbWUgaW4gd2hpY2ggdG8gZGVsZXRlIHRoZSBpbmZvcm1hdGlvbicpLAotKHUnUmVtb3ZlSW5pRmlsZScsIHUnRGlyUHJvcGVydHknLCB1J1knLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J0ZvcmVpZ24ga2V5IGludG8gdGhlIERpcmVjdG9yeSB0YWJsZSBkZW5vdGluZyB0aGUgZGlyZWN0b3J5IHdoZXJlIHRoZSAuSU5JIGZpbGUgaXMuJyksCi0odSdSZW1vdmVJbmlGaWxlJywgdSdTZWN0aW9uJywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdGb3JtYXR0ZWQnLCBOb25lLCB1J1RoZSAuSU5JIGZpbGUgU2VjdGlvbi4nKSwKLSh1J1JlbW92ZUluaUZpbGUnLCB1J1JlbW92ZUluaUZpbGUnLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J1ByaW1hcnkga2V5LCBub24tbG9jYWxpemVkIHRva2VuLicpLAotKHUnUmVtb3ZlUmVnaXN0cnknLCB1J05hbWUnLCB1J1knLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0Zvcm1hdHRlZCcsIE5vbmUsIHUnVGhlIHJlZ2lzdHJ5IHZhbHVlIG5hbWUuJyksCi0odSdSZW1vdmVSZWdpc3RyeScsIHUnS2V5JywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdSZWdQYXRoJywgTm9uZSwgdSdUaGUga2V5IGZvciB0aGUgcmVnaXN0cnkgdmFsdWUuJyksCi0odSdSZW1vdmVSZWdpc3RyeScsIHUnQ29tcG9uZW50XycsIHUnTicsIE5vbmUsIE5vbmUsIHUnQ29tcG9uZW50JywgMSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdGb3JlaWduIGtleSBpbnRvIHRoZSBDb21wb25lbnQgdGFibGUgcmVmZXJlbmNpbmcgY29tcG9uZW50IHRoYXQgY29udHJvbHMgdGhlIGRlbGV0aW9uIG9mIHRoZSByZWdpc3RyeSB2YWx1ZS4nKSwKLSh1J1JlbW92ZVJlZ2lzdHJ5JywgdSdSb290JywgdSdOJywgLTEsIDMsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGhlIHByZWRlZmluZWQgcm9vdCBrZXkgZm9yIHRoZSByZWdpc3RyeSB2YWx1ZSwgb25lIG9mIHJya0VudW0nKSwKLSh1J1JlbW92ZVJlZ2lzdHJ5JywgdSdSZW1vdmVSZWdpc3RyeScsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnUHJpbWFyeSBrZXksIG5vbi1sb2NhbGl6ZWQgdG9rZW4uJyksCi0odSdSZXNlcnZlQ29zdCcsIHUnQ29tcG9uZW50XycsIHUnTicsIE5vbmUsIE5vbmUsIHUnQ29tcG9uZW50JywgMSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdSZXNlcnZlIGEgc3BlY2lmaWVkIGFtb3VudCBvZiBzcGFjZSBpZiB0aGlzIGNvbXBvbmVudCBpcyB0byBiZSBpbnN0YWxsZWQuJyksCi0odSdSZXNlcnZlQ29zdCcsIHUnUmVzZXJ2ZUZvbGRlcicsIHUnWScsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnTmFtZSBvZiBhIHByb3BlcnR5IHdob3NlIHZhbHVlIGlzIGFzc3VtZWQgdG8gcmVzb2x2ZSB0byB0aGUgZnVsbCBwYXRoIHRvIHRoZSBkZXN0aW5hdGlvbiBkaXJlY3RvcnknKSwKLSh1J1Jlc2VydmVDb3N0JywgdSdSZXNlcnZlS2V5JywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdQcmltYXJ5IGtleSB0aGF0IHVuaXF1ZWx5IGlkZW50aWZpZXMgYSBwYXJ0aWN1bGFyIFJlc2VydmVDb3N0IHJlY29yZCcpLAotKHUnUmVzZXJ2ZUNvc3QnLCB1J1Jlc2VydmVMb2NhbCcsIHUnTicsIDAsIDIxNDc0ODM2NDcsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnRGlzayBzcGFjZSB0byByZXNlcnZlIGlmIGxpbmtlZCBjb21wb25lbnQgaXMgaW5zdGFsbGVkIGxvY2FsbHkuJyksCi0odSdSZXNlcnZlQ29zdCcsIHUnUmVzZXJ2ZVNvdXJjZScsIHUnTicsIDAsIDIxNDc0ODM2NDcsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnRGlzayBzcGFjZSB0byByZXNlcnZlIGlmIGxpbmtlZCBjb21wb25lbnQgaXMgaW5zdGFsbGVkIHRvIHJ1biBmcm9tIHRoZSBzb3VyY2UgbG9jYXRpb24uJyksCi0odSdTZWxmUmVnJywgdSdGaWxlXycsIHUnTicsIE5vbmUsIE5vbmUsIHUnRmlsZScsIDEsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnRm9yZWlnbiBrZXkgaW50byB0aGUgRmlsZSB0YWJsZSBkZW5vdGluZyB0aGUgbW9kdWxlIHRoYXQgbmVlZHMgdG8gYmUgcmVnaXN0ZXJlZC4nKSwKLSh1J1NlbGZSZWcnLCB1J0Nvc3QnLCB1J1knLCAwLCAzMjc2NywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUaGUgY29zdCBvZiByZWdpc3RlcmluZyB0aGUgbW9kdWxlLicpLAotKHUnU2VydmljZUNvbnRyb2wnLCB1J05hbWUnLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0Zvcm1hdHRlZCcsIE5vbmUsIHUnTmFtZSBvZiBhIHNlcnZpY2UuIC8sIFxcLCBjb21tYSBhbmQgc3BhY2UgYXJlIGludmFsaWQnKSwKLSh1J1NlcnZpY2VDb250cm9sJywgdSdFdmVudCcsIHUnTicsIDAsIDE4NywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdCaXQgZmllbGQ6ICBJbnN0YWxsOiAgMHgxID0gU3RhcnQsIDB4MiA9IFN0b3AsIDB4OCA9IERlbGV0ZSwgVW5pbnN0YWxsOiAweDEwID0gU3RhcnQsIDB4MjAgPSBTdG9wLCAweDgwID0gRGVsZXRlJyksCi0odSdTZXJ2aWNlQ29udHJvbCcsIHUnQ29tcG9uZW50XycsIHUnTicsIE5vbmUsIE5vbmUsIHUnQ29tcG9uZW50JywgMSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdSZXF1aXJlZCBmb3JlaWduIGtleSBpbnRvIHRoZSBDb21wb25lbnQgVGFibGUgdGhhdCBjb250cm9scyB0aGUgc3RhcnR1cCBvZiB0aGUgc2VydmljZScpLAotKHUnU2VydmljZUNvbnRyb2wnLCB1J1NlcnZpY2VDb250cm9sJywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdQcmltYXJ5IGtleSwgbm9uLWxvY2FsaXplZCB0b2tlbi4nKSwKLSh1J1NlcnZpY2VDb250cm9sJywgdSdBcmd1bWVudHMnLCB1J1knLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0Zvcm1hdHRlZCcsIE5vbmUsIHUnQXJndW1lbnRzIGZvciB0aGUgc2VydmljZS4gIFNlcGFyYXRlIGJ5IFt+XS4nKSwKLSh1J1NlcnZpY2VDb250cm9sJywgdSdXYWl0JywgdSdZJywgMCwgMSwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdCb29sZWFuIGZvciB3aGV0aGVyIHRvIHdhaXQgZm9yIHRoZSBzZXJ2aWNlIHRvIGZ1bGx5IHN0YXJ0JyksCi0odSdTZXJ2aWNlSW5zdGFsbCcsIHUnTmFtZScsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnRm9ybWF0dGVkJywgTm9uZSwgdSdJbnRlcm5hbCBOYW1lIG9mIHRoZSBTZXJ2aWNlJyksCi0odSdTZXJ2aWNlSW5zdGFsbCcsIHUnRGVzY3JpcHRpb24nLCB1J1knLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RleHQnLCBOb25lLCB1J0Rlc2NyaXB0aW9uIG9mIHNlcnZpY2UuJyksCi0odSdTZXJ2aWNlSW5zdGFsbCcsIHUnQ29tcG9uZW50XycsIHUnTicsIE5vbmUsIE5vbmUsIHUnQ29tcG9uZW50JywgMSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdSZXF1aXJlZCBmb3JlaWduIGtleSBpbnRvIHRoZSBDb21wb25lbnQgVGFibGUgdGhhdCBjb250cm9scyB0aGUgc3RhcnR1cCBvZiB0aGUgc2VydmljZScpLAotKHUnU2VydmljZUluc3RhbGwnLCB1J0FyZ3VtZW50cycsIHUnWScsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnRm9ybWF0dGVkJywgTm9uZSwgdSdBcmd1bWVudHMgdG8gaW5jbHVkZSBpbiBldmVyeSBzdGFydCBvZiB0aGUgc2VydmljZSwgcGFzc2VkIHRvIFdpbk1haW4nKSwKLSh1J1NlcnZpY2VJbnN0YWxsJywgdSdTZXJ2aWNlSW5zdGFsbCcsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnUHJpbWFyeSBrZXksIG5vbi1sb2NhbGl6ZWQgdG9rZW4uJyksCi0odSdTZXJ2aWNlSW5zdGFsbCcsIHUnRGVwZW5kZW5jaWVzJywgdSdZJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdGb3JtYXR0ZWQnLCBOb25lLCB1J090aGVyIHNlcnZpY2VzIHRoaXMgZGVwZW5kcyBvbiB0byBzdGFydC4gIFNlcGFyYXRlIGJ5IFt+XSwgYW5kIGVuZCB3aXRoIFt+XVt+XScpLAotKHUnU2VydmljZUluc3RhbGwnLCB1J0Rpc3BsYXlOYW1lJywgdSdZJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdGb3JtYXR0ZWQnLCBOb25lLCB1J0V4dGVybmFsIE5hbWUgb2YgdGhlIFNlcnZpY2UnKSwKLSh1J1NlcnZpY2VJbnN0YWxsJywgdSdFcnJvckNvbnRyb2wnLCB1J04nLCAtMjE0NzQ4MzY0NywgMjE0NzQ4MzY0NywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdTZXZlcml0eSBvZiBlcnJvciBpZiBzZXJ2aWNlIGZhaWxzIHRvIHN0YXJ0JyksCi0odSdTZXJ2aWNlSW5zdGFsbCcsIHUnTG9hZE9yZGVyR3JvdXAnLCB1J1knLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0Zvcm1hdHRlZCcsIE5vbmUsIHUnTG9hZE9yZGVyR3JvdXAnKSwKLSh1J1NlcnZpY2VJbnN0YWxsJywgdSdQYXNzd29yZCcsIHUnWScsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnRm9ybWF0dGVkJywgTm9uZSwgdSdwYXNzd29yZCB0byBydW4gc2VydmljZSB3aXRoLiAgKHdpdGggU3RhcnROYW1lKScpLAotKHUnU2VydmljZUluc3RhbGwnLCB1J1NlcnZpY2VUeXBlJywgdSdOJywgLTIxNDc0ODM2NDcsIDIxNDc0ODM2NDcsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVHlwZSBvZiB0aGUgc2VydmljZScpLAotKHUnU2VydmljZUluc3RhbGwnLCB1J1N0YXJ0TmFtZScsIHUnWScsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnRm9ybWF0dGVkJywgTm9uZSwgdSdVc2VyIG9yIG9iamVjdCBuYW1lIHRvIHJ1biBzZXJ2aWNlIGFzJyksCi0odSdTZXJ2aWNlSW5zdGFsbCcsIHUnU3RhcnRUeXBlJywgdSdOJywgMCwgNCwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUeXBlIG9mIHRoZSBzZXJ2aWNlJyksCi0odSdTaG9ydGN1dCcsIHUnTmFtZScsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnRmlsZW5hbWUnLCBOb25lLCB1J1RoZSBuYW1lIG9mIHRoZSBzaG9ydGN1dCB0byBiZSBjcmVhdGVkLicpLAotKHUnU2hvcnRjdXQnLCB1J0Rlc2NyaXB0aW9uJywgdSdZJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUZXh0JywgTm9uZSwgdSdUaGUgZGVzY3JpcHRpb24gZm9yIHRoZSBzaG9ydGN1dC4nKSwKLSh1J1Nob3J0Y3V0JywgdSdDb21wb25lbnRfJywgdSdOJywgTm9uZSwgTm9uZSwgdSdDb21wb25lbnQnLCAxLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J0ZvcmVpZ24ga2V5IGludG8gdGhlIENvbXBvbmVudCB0YWJsZSBkZW5vdGluZyB0aGUgY29tcG9uZW50IHdob3NlIHNlbGVjdGlvbiBnYXRlcyB0aGUgc2hvcnRjdXQgY3JlYXRpb24vZGVsZXRpb24uJyksCi0odSdTaG9ydGN1dCcsIHUnSWNvbl8nLCB1J1knLCBOb25lLCBOb25lLCB1J0ljb24nLCAxLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J0ZvcmVpZ24ga2V5IGludG8gdGhlIEZpbGUgdGFibGUgZGVub3RpbmcgdGhlIGV4dGVybmFsIGljb24gZmlsZSBmb3IgdGhlIHNob3J0Y3V0LicpLAotKHUnU2hvcnRjdXQnLCB1J0ljb25JbmRleCcsIHUnWScsIC0zMjc2NywgMzI3NjcsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGhlIGljb24gaW5kZXggZm9yIHRoZSBzaG9ydGN1dC4nKSwKLSh1J1Nob3J0Y3V0JywgdSdEaXJlY3RvcnlfJywgdSdOJywgTm9uZSwgTm9uZSwgdSdEaXJlY3RvcnknLCAxLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J0ZvcmVpZ24ga2V5IGludG8gdGhlIERpcmVjdG9yeSB0YWJsZSBkZW5vdGluZyB0aGUgZGlyZWN0b3J5IHdoZXJlIHRoZSBzaG9ydGN1dCBmaWxlIGlzIGNyZWF0ZWQuJyksCi0odSdTaG9ydGN1dCcsIHUnVGFyZ2V0JywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdTaG9ydGN1dCcsIE5vbmUsIHUnVGhlIHNob3J0Y3V0IHRhcmdldC4gVGhpcyBpcyB1c3VhbGx5IGEgcHJvcGVydHkgdGhhdCBpcyBleHBhbmRlZCB0byBhIGZpbGUgb3IgYSBmb2xkZXIgdGhhdCB0aGUgc2hvcnRjdXQgcG9pbnRzIHRvLicpLAotKHUnU2hvcnRjdXQnLCB1J0FyZ3VtZW50cycsIHUnWScsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnRm9ybWF0dGVkJywgTm9uZSwgdSdUaGUgY29tbWFuZC1saW5lIGFyZ3VtZW50cyBmb3IgdGhlIHNob3J0Y3V0LicpLAotKHUnU2hvcnRjdXQnLCB1J1Nob3J0Y3V0JywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdJZGVudGlmaWVyJywgTm9uZSwgdSdQcmltYXJ5IGtleSwgbm9uLWxvY2FsaXplZCB0b2tlbi4nKSwKLSh1J1Nob3J0Y3V0JywgdSdIb3RrZXknLCB1J1knLCAwLCAzMjc2NywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUaGUgaG90a2V5IGZvciB0aGUgc2hvcnRjdXQuIEl0IGhhcyB0aGUgdmlydHVhbC1rZXkgY29kZSBmb3IgdGhlIGtleSBpbiB0aGUgbG93LW9yZGVyIGJ5dGUsIGFuZCB0aGUgbW9kaWZpZXIgZmxhZ3MgaW4gdGhlIGhpZ2gtb3JkZXIgYnl0ZS4gJyksCi0odSdTaG9ydGN1dCcsIHUnU2hvd0NtZCcsIHUnWScsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnMTszOzcnLCB1J1RoZSBzaG93IGNvbW1hbmQgZm9yIHRoZSBhcHBsaWNhdGlvbiB3aW5kb3cuVGhlIGZvbGxvd2luZyB2YWx1ZXMgbWF5IGJlIHVzZWQuJyksCi0odSdTaG9ydGN1dCcsIHUnV2tEaXInLCB1J1knLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J05hbWUgb2YgcHJvcGVydHkgZGVmaW5pbmcgbG9jYXRpb24gb2Ygd29ya2luZyBkaXJlY3RvcnkuJyksCi0odSdTaWduYXR1cmUnLCB1J0ZpbGVOYW1lJywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdGaWxlbmFtZScsIE5vbmUsIHUnVGhlIG5hbWUgb2YgdGhlIGZpbGUuIFRoaXMgbWF5IGNvbnRhaW4gYSAic2hvcnQgbmFtZXxsb25nIG5hbWUiIHBhaXIuJyksCi0odSdTaWduYXR1cmUnLCB1J1NpZ25hdHVyZScsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnVGhlIHRhYmxlIGtleS4gVGhlIFNpZ25hdHVyZSByZXByZXNlbnRzIGEgdW5pcXVlIGZpbGUgc2lnbmF0dXJlLicpLAotKHUnU2lnbmF0dXJlJywgdSdMYW5ndWFnZXMnLCB1J1knLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0xhbmd1YWdlJywgTm9uZSwgdSdUaGUgbGFuZ3VhZ2VzIHN1cHBvcnRlZCBieSB0aGUgZmlsZS4nKSwKLSh1J1NpZ25hdHVyZScsIHUnTWF4RGF0ZScsIHUnWScsIDAsIDIxNDc0ODM2NDcsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGhlIG1heGltdW0gY3JlYXRpb24gZGF0ZSBvZiB0aGUgZmlsZS4nKSwKLSh1J1NpZ25hdHVyZScsIHUnTWF4U2l6ZScsIHUnWScsIDAsIDIxNDc0ODM2NDcsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGhlIG1heGltdW0gc2l6ZSBvZiB0aGUgZmlsZS4gJyksCi0odSdTaWduYXR1cmUnLCB1J01heFZlcnNpb24nLCB1J1knLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RleHQnLCBOb25lLCB1J1RoZSBtYXhpbXVtIHZlcnNpb24gb2YgdGhlIGZpbGUuJyksCi0odSdTaWduYXR1cmUnLCB1J01pbkRhdGUnLCB1J1knLCAwLCAyMTQ3NDgzNjQ3LCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RoZSBtaW5pbXVtIGNyZWF0aW9uIGRhdGUgb2YgdGhlIGZpbGUuJyksCi0odSdTaWduYXR1cmUnLCB1J01pblNpemUnLCB1J1knLCAwLCAyMTQ3NDgzNjQ3LCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RoZSBtaW5pbXVtIHNpemUgb2YgdGhlIGZpbGUuJyksCi0odSdTaWduYXR1cmUnLCB1J01pblZlcnNpb24nLCB1J1knLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RleHQnLCBOb25lLCB1J1RoZSBtaW5pbXVtIHZlcnNpb24gb2YgdGhlIGZpbGUuJyksCi0odSdUeXBlTGliJywgdSdGZWF0dXJlXycsIHUnTicsIE5vbmUsIE5vbmUsIHUnRmVhdHVyZScsIDEsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnUmVxdWlyZWQgZm9yZWlnbiBrZXkgaW50byB0aGUgRmVhdHVyZSBUYWJsZSwgc3BlY2lmeWluZyB0aGUgZmVhdHVyZSB0byB2YWxpZGF0ZSBvciBpbnN0YWxsIGluIG9yZGVyIGZvciB0aGUgdHlwZSBsaWJyYXJ5IHRvIGJlIG9wZXJhdGlvbmFsLicpLAotKHUnVHlwZUxpYicsIHUnRGVzY3JpcHRpb24nLCB1J1knLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RleHQnLCBOb25lLCBOb25lKSwKLSh1J1R5cGVMaWInLCB1J0NvbXBvbmVudF8nLCB1J04nLCBOb25lLCBOb25lLCB1J0NvbXBvbmVudCcsIDEsIHUnSWRlbnRpZmllcicsIE5vbmUsIHUnUmVxdWlyZWQgZm9yZWlnbiBrZXkgaW50byB0aGUgQ29tcG9uZW50IFRhYmxlLCBzcGVjaWZ5aW5nIHRoZSBjb21wb25lbnQgZm9yIHdoaWNoIHRvIHJldHVybiBhIHBhdGggd2hlbiBjYWxsZWQgdGhyb3VnaCBMb2NhdGVDb21wb25lbnQuJyksCi0odSdUeXBlTGliJywgdSdEaXJlY3RvcnlfJywgdSdZJywgTm9uZSwgTm9uZSwgdSdEaXJlY3RvcnknLCAxLCB1J0lkZW50aWZpZXInLCBOb25lLCB1J09wdGlvbmFsLiBUaGUgZm9yZWlnbiBrZXkgaW50byB0aGUgRGlyZWN0b3J5IHRhYmxlIGRlbm90aW5nIHRoZSBwYXRoIHRvIHRoZSBoZWxwIGZpbGUgZm9yIHRoZSB0eXBlIGxpYnJhcnkuJyksCi0odSdUeXBlTGliJywgdSdMYW5ndWFnZScsIHUnTicsIDAsIDMyNzY3LCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RoZSBsYW5ndWFnZSBvZiB0aGUgbGlicmFyeS4nKSwKLSh1J1R5cGVMaWInLCB1J1ZlcnNpb24nLCB1J1knLCAwLCAxNjc3NzIxNSwgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUaGUgdmVyc2lvbiBvZiB0aGUgbGlicmFyeS4gVGhlIG1pbm9yIHZlcnNpb24gaXMgaW4gdGhlIGxvd2VyIDggYml0cyBvZiB0aGUgaW50ZWdlci4gVGhlIG1ham9yIHZlcnNpb24gaXMgaW4gdGhlIG5leHQgMTYgYml0cy4gJyksCi0odSdUeXBlTGliJywgdSdDb3N0JywgdSdZJywgMCwgMjE0NzQ4MzY0NywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUaGUgY29zdCBhc3NvY2lhdGVkIHdpdGggdGhlIHJlZ2lzdHJhdGlvbiBvZiB0aGUgdHlwZWxpYi4gVGhpcyBjb2x1bW4gaXMgY3VycmVudGx5IG9wdGlvbmFsLicpLAotKHUnVHlwZUxpYicsIHUnTGliSUQnLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0d1aWQnLCBOb25lLCB1J1RoZSBHVUlEIHRoYXQgcmVwcmVzZW50cyB0aGUgbGlicmFyeS4nKSwKLSh1J1VwZ3JhZGUnLCB1J0F0dHJpYnV0ZXMnLCB1J04nLCAwLCAyMTQ3NDgzNjQ3LCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1RoZSBhdHRyaWJ1dGVzIG9mIHRoaXMgcHJvZHVjdCBzZXQuJyksCi0odSdVcGdyYWRlJywgdSdSZW1vdmUnLCB1J1knLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J0Zvcm1hdHRlZCcsIE5vbmUsIHUnVGhlIGxpc3Qgb2YgZmVhdHVyZXMgdG8gcmVtb3ZlIHdoZW4gdW5pbnN0YWxsaW5nIGEgcHJvZHVjdCBmcm9tIHRoaXMgc2V0LiAgVGhlIGRlZmF1bHQgaXMgIkFMTCIuJyksCi0odSdVcGdyYWRlJywgdSdMYW5ndWFnZScsIHUnWScsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnTGFuZ3VhZ2UnLCBOb25lLCB1J0EgY29tbWEtc2VwYXJhdGVkIGxpc3Qgb2YgbGFuZ3VhZ2VzIGZvciBlaXRoZXIgcHJvZHVjdHMgaW4gdGhpcyBzZXQgb3IgcHJvZHVjdHMgbm90IGluIHRoaXMgc2V0LicpLAotKHUnVXBncmFkZScsIHUnQWN0aW9uUHJvcGVydHknLCB1J04nLCBOb25lLCBOb25lLCBOb25lLCBOb25lLCB1J1VwcGVyQ2FzZScsIE5vbmUsIHUnVGhlIHByb3BlcnR5IHRvIHNldCB3aGVuIGEgcHJvZHVjdCBpbiB0aGlzIHNldCBpcyBmb3VuZC4nKSwKLSh1J1VwZ3JhZGUnLCB1J1VwZ3JhZGVDb2RlJywgdSdOJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdHdWlkJywgTm9uZSwgdSdUaGUgVXBncmFkZUNvZGUgR1VJRCBiZWxvbmdpbmcgdG8gdGhlIHByb2R1Y3RzIGluIHRoaXMgc2V0LicpLAotKHUnVXBncmFkZScsIHUnVmVyc2lvbk1heCcsIHUnWScsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGV4dCcsIE5vbmUsIHUnVGhlIG1heGltdW0gUHJvZHVjdFZlcnNpb24gb2YgdGhlIHByb2R1Y3RzIGluIHRoaXMgc2V0LiAgVGhlIHNldCBtYXkgb3IgbWF5IG5vdCBpbmNsdWRlIHByb2R1Y3RzIHdpdGggdGhpcyBwYXJ0aWN1bGFyIHZlcnNpb24uJyksCi0odSdVcGdyYWRlJywgdSdWZXJzaW9uTWluJywgdSdZJywgTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSwgdSdUZXh0JywgTm9uZSwgdSdUaGUgbWluaW11bSBQcm9kdWN0VmVyc2lvbiBvZiB0aGUgcHJvZHVjdHMgaW4gdGhpcyBzZXQuICBUaGUgc2V0IG1heSBvciBtYXkgbm90IGluY2x1ZGUgcHJvZHVjdHMgd2l0aCB0aGlzIHBhcnRpY3VsYXIgdmVyc2lvbi4nKSwKLSh1J1ZlcmInLCB1J1NlcXVlbmNlJywgdSdZJywgMCwgMzI3NjcsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnT3JkZXIgd2l0aGluIHRoZSB2ZXJicyBmb3IgYSBwYXJ0aWN1bGFyIGV4dGVuc2lvbi4gQWxzbyB1c2VkIHNpbXBseSB0byBzcGVjaWZ5IHRoZSBkZWZhdWx0IHZlcmIuJyksCi0odSdWZXJiJywgdSdBcmd1bWVudCcsIHUnWScsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnRm9ybWF0dGVkJywgTm9uZSwgdSdPcHRpb25hbCB2YWx1ZSBmb3IgdGhlIGNvbW1hbmQgYXJndW1lbnRzLicpLAotKHUnVmVyYicsIHUnRXh0ZW5zaW9uXycsIHUnTicsIE5vbmUsIE5vbmUsIHUnRXh0ZW5zaW9uJywgMSwgdSdUZXh0JywgTm9uZSwgdSdUaGUgZXh0ZW5zaW9uIGFzc29jaWF0ZWQgd2l0aCB0aGUgdGFibGUgcm93LicpLAotKHUnVmVyYicsIHUnVmVyYicsIHUnTicsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnVGV4dCcsIE5vbmUsIHUnVGhlIHZlcmIgZm9yIHRoZSBjb21tYW5kLicpLAotKHUnVmVyYicsIHUnQ29tbWFuZCcsIHUnWScsIE5vbmUsIE5vbmUsIE5vbmUsIE5vbmUsIHUnRm9ybWF0dGVkJywgTm9uZSwgdSdUaGUgY29tbWFuZCB0ZXh0LicpLAotXQotCi1FcnJvciA9IFsKLSgwLCB1J3t7RmF0YWwgZXJyb3I6IH19JyksCi0oMSwgdSd7e0Vycm9yIFsxXS4gfX0nKSwKLSgyLCB1J1dhcm5pbmcgWzFdLiAnKSwKLSgzLCBOb25lKSwKLSg0LCB1J0luZm8gWzFdLiAnKSwKLSg1LCB1J1RoZSBpbnN0YWxsZXIgaGFzIGVuY291bnRlcmVkIGFuIHVuZXhwZWN0ZWQgZXJyb3IgaW5zdGFsbGluZyB0aGlzIHBhY2thZ2UuIFRoaXMgbWF5IGluZGljYXRlIGEgcHJvYmxlbSB3aXRoIHRoaXMgcGFja2FnZS4gVGhlIGVycm9yIGNvZGUgaXMgWzFdLiB7e1RoZSBhcmd1bWVudHMgYXJlOiBbMl0sIFszXSwgWzRdfX0nKSwKLSg2LCBOb25lKSwKLSg3LCB1J3t7RGlzayBmdWxsOiB9fScpLAotKDgsIHUnQWN0aW9uIFtUaW1lXTogWzFdLiBbMl0nKSwKLSg5LCB1J1tQcm9kdWN0TmFtZV0nKSwKLSgxMCwgdSd7WzJdfXssIFszXX17LCBbNF19JyksCi0oMTEsIHUnTWVzc2FnZSB0eXBlOiBbMV0sIEFyZ3VtZW50OiBbMl0nKSwKLSgxMiwgdSc9PT0gTG9nZ2luZyBzdGFydGVkOiBbRGF0ZV0gIFtUaW1lXSA9PT0nKSwKLSgxMywgdSc9PT0gTG9nZ2luZyBzdG9wcGVkOiBbRGF0ZV0gIFtUaW1lXSA9PT0nKSwKLSgxNCwgdSdBY3Rpb24gc3RhcnQgW1RpbWVdOiBbMV0uJyksCi0oMTUsIHUnQWN0aW9uIGVuZGVkIFtUaW1lXTogWzFdLiBSZXR1cm4gdmFsdWUgWzJdLicpLAotKDE2LCB1J1RpbWUgcmVtYWluaW5nOiB7WzFdIG1pbnV0ZXMgfXtbMl0gc2Vjb25kc30nKSwKLSgxNywgdSdPdXQgb2YgbWVtb3J5LiBTaHV0IGRvd24gb3RoZXIgYXBwbGljYXRpb25zIGJlZm9yZSByZXRyeWluZy4nKSwKLSgxOCwgdSdJbnN0YWxsZXIgaXMgbm8gbG9uZ2VyIHJlc3BvbmRpbmcuJyksCi0oMTksIHUnSW5zdGFsbGVyIHN0b3BwZWQgcHJlbWF0dXJlbHkuJyksCi0oMjAsIHUnUGxlYXNlIHdhaXQgd2hpbGUgV2luZG93cyBjb25maWd1cmVzIFtQcm9kdWN0TmFtZV0nKSwKLSgyMSwgdSdHYXRoZXJpbmcgcmVxdWlyZWQgaW5mb3JtYXRpb24uLi4nKSwKLSgyMiwgdSdSZW1vdmluZyBvbGRlciB2ZXJzaW9ucyBvZiB0aGlzIGFwcGxpY2F0aW9uLi4uJyksCi0oMjMsIHUnUHJlcGFyaW5nIHRvIHJlbW92ZSBvbGRlciB2ZXJzaW9ucyBvZiB0aGlzIGFwcGxpY2F0aW9uLi4uJyksCi0oMzIsIHUne1tQcm9kdWN0TmFtZV0gfVNldHVwIGNvbXBsZXRlZCBzdWNjZXNzZnVsbHkuJyksCi0oMzMsIHUne1tQcm9kdWN0TmFtZV0gfVNldHVwIGZhaWxlZC4nKSwKLSgxMTAxLCB1J0Vycm9yIHJlYWRpbmcgZnJvbSBmaWxlOiBbMl0uIHt7IFN5c3RlbSBlcnJvciBbM10ufX0gIFZlcmlmeSB0aGF0IHRoZSBmaWxlIGV4aXN0cyBhbmQgdGhhdCB5b3UgY2FuIGFjY2VzcyBpdC4nKSwKLSgxMzAxLCB1IkNhbm5vdCBjcmVhdGUgdGhlIGZpbGUgJ1syXScuICBBIGRpcmVjdG9yeSB3aXRoIHRoaXMgbmFtZSBhbHJlYWR5IGV4aXN0cy4gIENhbmNlbCB0aGUgaW5zdGFsbCBhbmQgdHJ5IGluc3RhbGxpbmcgdG8gYSBkaWZmZXJlbnQgbG9jYXRpb24uIiksCi0oMTMwMiwgdSdQbGVhc2UgaW5zZXJ0IHRoZSBkaXNrOiBbMl0nKSwKLSgxMzAzLCB1J1RoZSBpbnN0YWxsZXIgaGFzIGluc3VmZmljaWVudCBwcml2aWxlZ2VzIHRvIGFjY2VzcyB0aGlzIGRpcmVjdG9yeTogWzJdLiAgVGhlIGluc3RhbGxhdGlvbiBjYW5ub3QgY29udGludWUuICBMb2cgb24gYXMgYWRtaW5pc3RyYXRvciBvciBjb250YWN0IHlvdXIgc3lzdGVtIGFkbWluaXN0cmF0b3IuJyksCi0oMTMwNCwgdSdFcnJvciB3cml0aW5nIHRvIGZpbGU6IFsyXS4gIFZlcmlmeSB0aGF0IHlvdSBoYXZlIGFjY2VzcyB0byB0aGF0IGRpcmVjdG9yeS4nKSwKLSgxMzA1LCB1J0Vycm9yIHJlYWRpbmcgZnJvbSBmaWxlIFsyXS4ge3sgU3lzdGVtIGVycm9yIFszXS59fSBWZXJpZnkgdGhhdCB0aGUgZmlsZSBleGlzdHMgYW5kIHRoYXQgeW91IGNhbiBhY2Nlc3MgaXQuJyksCi0oMTMwNiwgdSJBbm90aGVyIGFwcGxpY2F0aW9uIGhhcyBleGNsdXNpdmUgYWNjZXNzIHRvIHRoZSBmaWxlICdbMl0nLiAgUGxlYXNlIHNodXQgZG93biBhbGwgb3RoZXIgYXBwbGljYXRpb25zLCB0aGVuIGNsaWNrIFJldHJ5LiIpLAotKDEzMDcsIHUnVGhlcmUgaXMgbm90IGVub3VnaCBkaXNrIHNwYWNlIHRvIGluc3RhbGwgdGhpcyBmaWxlOiBbMl0uICBGcmVlIHNvbWUgZGlzayBzcGFjZSBhbmQgY2xpY2sgUmV0cnksIG9yIGNsaWNrIENhbmNlbCB0byBleGl0LicpLAotKDEzMDgsIHUnU291cmNlIGZpbGUgbm90IGZvdW5kOiBbMl0uICBWZXJpZnkgdGhhdCB0aGUgZmlsZSBleGlzdHMgYW5kIHRoYXQgeW91IGNhbiBhY2Nlc3MgaXQuJyksCi0oMTMwOSwgdSdFcnJvciByZWFkaW5nIGZyb20gZmlsZTogWzNdLiB7eyBTeXN0ZW0gZXJyb3IgWzJdLn19ICBWZXJpZnkgdGhhdCB0aGUgZmlsZSBleGlzdHMgYW5kIHRoYXQgeW91IGNhbiBhY2Nlc3MgaXQuJyksCi0oMTMxMCwgdSdFcnJvciB3cml0aW5nIHRvIGZpbGU6IFszXS4ge3sgU3lzdGVtIGVycm9yIFsyXS59fSAgVmVyaWZ5IHRoYXQgeW91IGhhdmUgYWNjZXNzIHRvIHRoYXQgZGlyZWN0b3J5LicpLAotKDEzMTEsIHUnU291cmNlIGZpbGUgbm90IGZvdW5ke3soY2FiaW5ldCl9fTogWzJdLiAgVmVyaWZ5IHRoYXQgdGhlIGZpbGUgZXhpc3RzIGFuZCB0aGF0IHlvdSBjYW4gYWNjZXNzIGl0LicpLAotKDEzMTIsIHUiQ2Fubm90IGNyZWF0ZSB0aGUgZGlyZWN0b3J5ICdbMl0nLiAgQSBmaWxlIHdpdGggdGhpcyBuYW1lIGFscmVhZHkgZXhpc3RzLiAgUGxlYXNlIHJlbmFtZSBvciByZW1vdmUgdGhlIGZpbGUgYW5kIGNsaWNrIHJldHJ5LCBvciBjbGljayBDYW5jZWwgdG8gZXhpdC4iKSwKLSgxMzEzLCB1J1RoZSB2b2x1bWUgWzJdIGlzIGN1cnJlbnRseSB1bmF2YWlsYWJsZS4gIFBsZWFzZSBzZWxlY3QgYW5vdGhlci4nKSwKLSgxMzE0LCB1IlRoZSBzcGVjaWZpZWQgcGF0aCAnWzJdJyBpcyB1bmF2YWlsYWJsZS4iKSwKLSgxMzE1LCB1J1VuYWJsZSB0byB3cml0ZSB0byB0aGUgc3BlY2lmaWVkIGZvbGRlcjogWzJdLicpLAotKDEzMTYsIHUnQSBuZXR3b3JrIGVycm9yIG9jY3VycmVkIHdoaWxlIGF0dGVtcHRpbmcgdG8gcmVhZCBmcm9tIHRoZSBmaWxlOiBbMl0nKSwKLSgxMzE3LCB1J0FuIGVycm9yIG9jY3VycmVkIHdoaWxlIGF0dGVtcHRpbmcgdG8gY3JlYXRlIHRoZSBkaXJlY3Rvcnk6IFsyXScpLAotKDEzMTgsIHUnQSBuZXR3b3JrIGVycm9yIG9jY3VycmVkIHdoaWxlIGF0dGVtcHRpbmcgdG8gY3JlYXRlIHRoZSBkaXJlY3Rvcnk6IFsyXScpLAotKDEzMTksIHUnQSBuZXR3b3JrIGVycm9yIG9jY3VycmVkIHdoaWxlIGF0dGVtcHRpbmcgdG8gb3BlbiB0aGUgc291cmNlIGZpbGUgY2FiaW5ldDogWzJdJyksCi0oMTMyMCwgdSdUaGUgc3BlY2lmaWVkIHBhdGggaXMgdG9vIGxvbmc6IFsyXScpLAotKDEzMjEsIHUnVGhlIEluc3RhbGxlciBoYXMgaW5zdWZmaWNpZW50IHByaXZpbGVnZXMgdG8gbW9kaWZ5IHRoaXMgZmlsZTogWzJdLicpLAotKDEzMjIsIHUiQSBwb3J0aW9uIG9mIHRoZSBmb2xkZXIgcGF0aCAnWzJdJyBpcyBpbnZhbGlkLiAgSXQgaXMgZWl0aGVyIGVtcHR5IG9yIGV4Y2VlZHMgdGhlIGxlbmd0aCBhbGxvd2VkIGJ5IHRoZSBzeXN0ZW0uIiksCi0oMTMyMywgdSJUaGUgZm9sZGVyIHBhdGggJ1syXScgY29udGFpbnMgd29yZHMgdGhhdCBhcmUgbm90IHZhbGlkIGluIGZvbGRlciBwYXRocy4iKSwKLSgxMzI0LCB1IlRoZSBmb2xkZXIgcGF0aCAnWzJdJyBjb250YWlucyBhbiBpbnZhbGlkIGNoYXJhY3Rlci4iKSwKLSgxMzI1LCB1IidbMl0nIGlzIG5vdCBhIHZhbGlkIHNob3J0IGZpbGUgbmFtZS4iKSwKLSgxMzI2LCB1J0Vycm9yIGdldHRpbmcgZmlsZSBzZWN1cml0eTogWzNdIEdldExhc3RFcnJvcjogWzJdJyksCi0oMTMyNywgdSdJbnZhbGlkIERyaXZlOiBbMl0nKSwKLSgxMzI4LCB1J0Vycm9yIGFwcGx5aW5nIHBhdGNoIHRvIGZpbGUgWzJdLiAgSXQgaGFzIHByb2JhYmx5IGJlZW4gdXBkYXRlZCBieSBvdGhlciBtZWFucywgYW5kIGNhbiBubyBsb25nZXIgYmUgbW9kaWZpZWQgYnkgdGhpcyBwYXRjaC4gIEZvciBtb3JlIGluZm9ybWF0aW9uIGNvbnRhY3QgeW91ciBwYXRjaCB2ZW5kb3IuICB7e1N5c3RlbSBFcnJvcjogWzNdfX0nKSwKLSgxMzI5LCB1J0EgZmlsZSB0aGF0IGlzIHJlcXVpcmVkIGNhbm5vdCBiZSBpbnN0YWxsZWQgYmVjYXVzZSB0aGUgY2FiaW5ldCBmaWxlIFsyXSBpcyBub3QgZGlnaXRhbGx5IHNpZ25lZC4gIFRoaXMgbWF5IGluZGljYXRlIHRoYXQgdGhlIGNhYmluZXQgZmlsZSBpcyBjb3JydXB0LicpLAotKDEzMzAsIHUnQSBmaWxlIHRoYXQgaXMgcmVxdWlyZWQgY2Fubm90IGJlIGluc3RhbGxlZCBiZWNhdXNlIHRoZSBjYWJpbmV0IGZpbGUgWzJdIGhhcyBhbiBpbnZhbGlkIGRpZ2l0YWwgc2lnbmF0dXJlLiAgVGhpcyBtYXkgaW5kaWNhdGUgdGhhdCB0aGUgY2FiaW5ldCBmaWxlIGlzIGNvcnJ1cHQue3sgIEVycm9yIFszXSB3YXMgcmV0dXJuZWQgYnkgV2luVmVyaWZ5VHJ1c3QufX0nKSwKLSgxMzMxLCB1J0ZhaWxlZCB0byBjb3JyZWN0bHkgY29weSBbMl0gZmlsZTogQ1JDIGVycm9yLicpLAotKDEzMzIsIHUnRmFpbGVkIHRvIGNvcnJlY3RseSBtb3ZlIFsyXSBmaWxlOiBDUkMgZXJyb3IuJyksCi0oMTMzMywgdSdGYWlsZWQgdG8gY29ycmVjdGx5IHBhdGNoIFsyXSBmaWxlOiBDUkMgZXJyb3IuJyksCi0oMTMzNCwgdSJUaGUgZmlsZSAnWzJdJyBjYW5ub3QgYmUgaW5zdGFsbGVkIGJlY2F1c2UgdGhlIGZpbGUgY2Fubm90IGJlIGZvdW5kIGluIGNhYmluZXQgZmlsZSAnWzNdJy4gVGhpcyBjb3VsZCBpbmRpY2F0ZSBhIG5ldHdvcmsgZXJyb3IsIGFuIGVycm9yIHJlYWRpbmcgZnJvbSB0aGUgQ0QtUk9NLCBvciBhIHByb2JsZW0gd2l0aCB0aGlzIHBhY2thZ2UuIiksCi0oMTMzNSwgdSJUaGUgY2FiaW5ldCBmaWxlICdbMl0nIHJlcXVpcmVkIGZvciB0aGlzIGluc3RhbGxhdGlvbiBpcyBjb3JydXB0IGFuZCBjYW5ub3QgYmUgdXNlZC4gVGhpcyBjb3VsZCBpbmRpY2F0ZSBhIG5ldHdvcmsgZXJyb3IsIGFuIGVycm9yIHJlYWRpbmcgZnJvbSB0aGUgQ0QtUk9NLCBvciBhIHByb2JsZW0gd2l0aCB0aGlzIHBhY2thZ2UuIiksCi0oMTMzNiwgdSdUaGVyZSB3YXMgYW4gZXJyb3IgY3JlYXRpbmcgYSB0ZW1wb3JhcnkgZmlsZSB0aGF0IGlzIG5lZWRlZCB0byBjb21wbGV0ZSB0aGlzIGluc3RhbGxhdGlvbi57eyAgRm9sZGVyOiBbM10uIFN5c3RlbSBlcnJvciBjb2RlOiBbMl19fScpLAotKDE0MDEsIHUnQ291bGQgbm90IGNyZWF0ZSBrZXk6IFsyXS4ge3sgU3lzdGVtIGVycm9yIFszXS59fSAgVmVyaWZ5IHRoYXQgeW91IGhhdmUgc3VmZmljaWVudCBhY2Nlc3MgdG8gdGhhdCBrZXksIG9yIGNvbnRhY3QgeW91ciBzdXBwb3J0IHBlcnNvbm5lbC4gJyksCi0oMTQwMiwgdSdDb3VsZCBub3Qgb3BlbiBrZXk6IFsyXS4ge3sgU3lzdGVtIGVycm9yIFszXS59fSAgVmVyaWZ5IHRoYXQgeW91IGhhdmUgc3VmZmljaWVudCBhY2Nlc3MgdG8gdGhhdCBrZXksIG9yIGNvbnRhY3QgeW91ciBzdXBwb3J0IHBlcnNvbm5lbC4gJyksCi0oMTQwMywgdSdDb3VsZCBub3QgZGVsZXRlIHZhbHVlIFsyXSBmcm9tIGtleSBbM10uIHt7IFN5c3RlbSBlcnJvciBbNF0ufX0gIFZlcmlmeSB0aGF0IHlvdSBoYXZlIHN1ZmZpY2llbnQgYWNjZXNzIHRvIHRoYXQga2V5LCBvciBjb250YWN0IHlvdXIgc3VwcG9ydCBwZXJzb25uZWwuICcpLAotKDE0MDQsIHUnQ291bGQgbm90IGRlbGV0ZSBrZXkgWzJdLiB7eyBTeXN0ZW0gZXJyb3IgWzNdLn19ICBWZXJpZnkgdGhhdCB5b3UgaGF2ZSBzdWZmaWNpZW50IGFjY2VzcyB0byB0aGF0IGtleSwgb3IgY29udGFjdCB5b3VyIHN1cHBvcnQgcGVyc29ubmVsLiAnKSwKLSgxNDA1LCB1J0NvdWxkIG5vdCByZWFkIHZhbHVlIFsyXSBmcm9tIGtleSBbM10uIHt7IFN5c3RlbSBlcnJvciBbNF0ufX0gIFZlcmlmeSB0aGF0IHlvdSBoYXZlIHN1ZmZpY2llbnQgYWNjZXNzIHRvIHRoYXQga2V5LCBvciBjb250YWN0IHlvdXIgc3VwcG9ydCBwZXJzb25uZWwuICcpLAotKDE0MDYsIHUnQ291bGQgbm90IHdyaXRlIHZhbHVlIFsyXSB0byBrZXkgWzNdLiB7eyBTeXN0ZW0gZXJyb3IgWzRdLn19ICBWZXJpZnkgdGhhdCB5b3UgaGF2ZSBzdWZmaWNpZW50IGFjY2VzcyB0byB0aGF0IGtleSwgb3IgY29udGFjdCB5b3VyIHN1cHBvcnQgcGVyc29ubmVsLicpLAotKDE0MDcsIHUnQ291bGQgbm90IGdldCB2YWx1ZSBuYW1lcyBmb3Iga2V5IFsyXS4ge3sgU3lzdGVtIGVycm9yIFszXS59fSAgVmVyaWZ5IHRoYXQgeW91IGhhdmUgc3VmZmljaWVudCBhY2Nlc3MgdG8gdGhhdCBrZXksIG9yIGNvbnRhY3QgeW91ciBzdXBwb3J0IHBlcnNvbm5lbC4nKSwKLSgxNDA4LCB1J0NvdWxkIG5vdCBnZXQgc3ViIGtleSBuYW1lcyBmb3Iga2V5IFsyXS4ge3sgU3lzdGVtIGVycm9yIFszXS59fSAgVmVyaWZ5IHRoYXQgeW91IGhhdmUgc3VmZmljaWVudCBhY2Nlc3MgdG8gdGhhdCBrZXksIG9yIGNvbnRhY3QgeW91ciBzdXBwb3J0IHBlcnNvbm5lbC4nKSwKLSgxNDA5LCB1J0NvdWxkIG5vdCByZWFkIHNlY3VyaXR5IGluZm9ybWF0aW9uIGZvciBrZXkgWzJdLiB7eyBTeXN0ZW0gZXJyb3IgWzNdLn19ICBWZXJpZnkgdGhhdCB5b3UgaGF2ZSBzdWZmaWNpZW50IGFjY2VzcyB0byB0aGF0IGtleSwgb3IgY29udGFjdCB5b3VyIHN1cHBvcnQgcGVyc29ubmVsLicpLAotKDE0MTAsIHUnQ291bGQgbm90IGluY3JlYXNlIHRoZSBhdmFpbGFibGUgcmVnaXN0cnkgc3BhY2UuIFsyXSBLQiBvZiBmcmVlIHJlZ2lzdHJ5IHNwYWNlIGlzIHJlcXVpcmVkIGZvciB0aGUgaW5zdGFsbGF0aW9uIG9mIHRoaXMgYXBwbGljYXRpb24uJyksCi0oMTUwMCwgdSdBbm90aGVyIGluc3RhbGxhdGlvbiBpcyBpbiBwcm9ncmVzcy4gWW91IG11c3QgY29tcGxldGUgdGhhdCBpbnN0YWxsYXRpb24gYmVmb3JlIGNvbnRpbnVpbmcgdGhpcyBvbmUuJyksCi0oMTUwMSwgdSdFcnJvciBhY2Nlc3Npbmcgc2VjdXJlZCBkYXRhLiBQbGVhc2UgbWFrZSBzdXJlIHRoZSBXaW5kb3dzIEluc3RhbGxlciBpcyBjb25maWd1cmVkIHByb3Blcmx5IGFuZCB0cnkgdGhlIGluc3RhbGwgYWdhaW4uJyksCi0oMTUwMiwgdSJVc2VyICdbMl0nIGhhcyBwcmV2aW91c2x5IGluaXRpYXRlZCBhbiBpbnN0YWxsIGZvciBwcm9kdWN0ICdbM10nLiAgVGhhdCB1c2VyIHdpbGwgbmVlZCB0byBydW4gdGhhdCBpbnN0YWxsIGFnYWluIGJlZm9yZSB0aGV5IGNhbiB1c2UgdGhhdCBwcm9kdWN0LiAgWW91ciBjdXJyZW50IGluc3RhbGwgd2lsbCBub3cgY29udGludWUuIiksCi0oMTUwMywgdSJVc2VyICdbMl0nIGhhcyBwcmV2aW91c2x5IGluaXRpYXRlZCBhbiBpbnN0YWxsIGZvciBwcm9kdWN0ICdbM10nLiAgVGhhdCB1c2VyIHdpbGwgbmVlZCB0byBydW4gdGhhdCBpbnN0YWxsIGFnYWluIGJlZm9yZSB0aGV5IGNhbiB1c2UgdGhhdCBwcm9kdWN0LiIpLAotKDE2MDEsIHUiT3V0IG9mIGRpc2sgc3BhY2UgLS0gVm9sdW1lOiAnWzJdJzsgcmVxdWlyZWQgc3BhY2U6IFszXSBLQjsgYXZhaWxhYmxlIHNwYWNlOiBbNF0gS0IuICBGcmVlIHNvbWUgZGlzayBzcGFjZSBhbmQgcmV0cnkuIiksCi0oMTYwMiwgdSdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gY2FuY2VsPycpLAotKDE2MDMsIHUiVGhlIGZpbGUgWzJdWzNdIGlzIGJlaW5nIGhlbGQgaW4gdXNleyBieSB0aGUgZm9sbG93aW5nIHByb2Nlc3M6IE5hbWU6IFs0XSwgSWQ6IFs1XSwgV2luZG93IFRpdGxlOiAnWzZdJ30uICBDbG9zZSB0aGF0IGFwcGxpY2F0aW9uIGFuZCByZXRyeS4iKSwKLSgxNjA0LCB1IlRoZSBwcm9kdWN0ICdbMl0nIGlzIGFscmVhZHkgaW5zdGFsbGVkLCBwcmV2ZW50aW5nIHRoZSBpbnN0YWxsYXRpb24gb2YgdGhpcyBwcm9kdWN0LiAgVGhlIHR3byBwcm9kdWN0cyBhcmUgaW5jb21wYXRpYmxlLiIpLAotKDE2MDUsIHUiVGhlcmUgaXMgbm90IGVub3VnaCBkaXNrIHNwYWNlIG9uIHRoZSB2b2x1bWUgJ1syXScgdG8gY29udGludWUgdGhlIGluc3RhbGwgd2l0aCByZWNvdmVyeSBlbmFibGVkLiBbM10gS0IgYXJlIHJlcXVpcmVkLCBidXQgb25seSBbNF0gS0IgYXJlIGF2YWlsYWJsZS4gQ2xpY2sgSWdub3JlIHRvIGNvbnRpbnVlIHRoZSBpbnN0YWxsIHdpdGhvdXQgc2F2aW5nIHJlY292ZXJ5IGluZm9ybWF0aW9uLCBjbGljayBSZXRyeSB0byBjaGVjayBmb3IgYXZhaWxhYmxlIHNwYWNlIGFnYWluLCBvciBjbGljayBDYW5jZWwgdG8gcXVpdCB0aGUgaW5zdGFsbGF0aW9uLiIpLAotKDE2MDYsIHUnQ291bGQgbm90IGFjY2VzcyBuZXR3b3JrIGxvY2F0aW9uIFsyXS4nKSwKLSgxNjA3LCB1J1RoZSBmb2xsb3dpbmcgYXBwbGljYXRpb25zIHNob3VsZCBiZSBjbG9zZWQgYmVmb3JlIGNvbnRpbnVpbmcgdGhlIGluc3RhbGw6JyksCi0oMTYwOCwgdSdDb3VsZCBub3QgZmluZCBhbnkgcHJldmlvdXNseSBpbnN0YWxsZWQgY29tcGxpYW50IHByb2R1Y3RzIG9uIHRoZSBtYWNoaW5lIGZvciBpbnN0YWxsaW5nIHRoaXMgcHJvZHVjdC4nKSwKLSgxNjA5LCB1IkFuIGVycm9yIG9jY3VycmVkIHdoaWxlIGFwcGx5aW5nIHNlY3VyaXR5IHNldHRpbmdzLiBbMl0gaXMgbm90IGEgdmFsaWQgdXNlciBvciBncm91cC4gVGhpcyBjb3VsZCBiZSBhIHByb2JsZW0gd2l0aCB0aGUgcGFja2FnZSwgb3IgYSBwcm9ibGVtIGNvbm5lY3RpbmcgdG8gYSBkb21haW4gY29udHJvbGxlciBvbiB0aGUgbmV0d29yay4gQ2hlY2sgeW91ciBuZXR3b3JrIGNvbm5lY3Rpb24gYW5kIGNsaWNrIFJldHJ5LCBvciBDYW5jZWwgdG8gZW5kIHRoZSBpbnN0YWxsLiB7e1VuYWJsZSB0byBsb2NhdGUgdGhlIHVzZXIncyBTSUQsIHN5c3RlbSBlcnJvciBbM119fSIpLAotKDE3MDEsIHUnVGhlIGtleSBbMl0gaXMgbm90IHZhbGlkLiAgVmVyaWZ5IHRoYXQgeW91IGVudGVyZWQgdGhlIGNvcnJlY3Qga2V5LicpLAotKDE3MDIsIHUnVGhlIGluc3RhbGxlciBtdXN0IHJlc3RhcnQgeW91ciBzeXN0ZW0gYmVmb3JlIGNvbmZpZ3VyYXRpb24gb2YgWzJdIGNhbiBjb250aW51ZS4gIENsaWNrIFllcyB0byByZXN0YXJ0IG5vdyBvciBObyBpZiB5b3UgcGxhbiB0byBtYW51YWxseSByZXN0YXJ0IGxhdGVyLicpLAotKDE3MDMsIHUnWW91IG11c3QgcmVzdGFydCB5b3VyIHN5c3RlbSBmb3IgdGhlIGNvbmZpZ3VyYXRpb24gY2hhbmdlcyBtYWRlIHRvIFsyXSB0byB0YWtlIGVmZmVjdC4gQ2xpY2sgWWVzIHRvIHJlc3RhcnQgbm93IG9yIE5vIGlmIHlvdSBwbGFuIHRvIG1hbnVhbGx5IHJlc3RhcnQgbGF0ZXIuJyksCi0oMTcwNCwgdSdBbiBpbnN0YWxsYXRpb24gZm9yIFsyXSBpcyBjdXJyZW50bHkgc3VzcGVuZGVkLiAgWW91IG11c3QgdW5kbyB0aGUgY2hhbmdlcyBtYWRlIGJ5IHRoYXQgaW5zdGFsbGF0aW9uIHRvIGNvbnRpbnVlLiAgRG8geW91IHdhbnQgdG8gdW5kbyB0aG9zZSBjaGFuZ2VzPycpLAotKDE3MDUsIHUnQSBwcmV2aW91cyBpbnN0YWxsYXRpb24gZm9yIHRoaXMgcHJvZHVjdCBpcyBpbiBwcm9ncmVzcy4gIFlvdSBtdXN0IHVuZG8gdGhlIGNoYW5nZXMgbWFkZSBieSB0aGF0IGluc3RhbGxhdGlvbiB0byBjb250aW51ZS4gIERvIHlvdSB3YW50IHRvIHVuZG8gdGhvc2UgY2hhbmdlcz8nKSwKLSgxNzA2LCB1IkFuIGluc3RhbGxhdGlvbiBwYWNrYWdlIGZvciB0aGUgcHJvZHVjdCBbMl0gY2Fubm90IGJlIGZvdW5kLiBUcnkgdGhlIGluc3RhbGxhdGlvbiBhZ2FpbiB1c2luZyBhIHZhbGlkIGNvcHkgb2YgdGhlIGluc3RhbGxhdGlvbiBwYWNrYWdlICdbM10nLiIpLAotKDE3MDcsIHUnSW5zdGFsbGF0aW9uIGNvbXBsZXRlZCBzdWNjZXNzZnVsbHkuJyksCi0oMTcwOCwgdSdJbnN0YWxsYXRpb24gZmFpbGVkLicpLAotKDE3MDksIHUnUHJvZHVjdDogWzJdIC0tIFszXScpLAotKDE3MTAsIHUnWW91IG1heSBlaXRoZXIgcmVzdG9yZSB5b3VyIGNvbXB1dGVyIHRvIGl0cyBwcmV2aW91cyBzdGF0ZSBvciBjb250aW51ZSB0aGUgaW5zdGFsbCBsYXRlci4gV291bGQgeW91IGxpa2UgdG8gcmVzdG9yZT8nKSwKLSgxNzExLCB1J0FuIGVycm9yIG9jY3VycmVkIHdoaWxlIHdyaXRpbmcgaW5zdGFsbGF0aW9uIGluZm9ybWF0aW9uIHRvIGRpc2suICBDaGVjayB0byBtYWtlIHN1cmUgZW5vdWdoIGRpc2sgc3BhY2UgaXMgYXZhaWxhYmxlLCBhbmQgY2xpY2sgUmV0cnksIG9yIENhbmNlbCB0byBlbmQgdGhlIGluc3RhbGwuJyksCi0oMTcxMiwgdSdPbmUgb3IgbW9yZSBvZiB0aGUgZmlsZXMgcmVxdWlyZWQgdG8gcmVzdG9yZSB5b3VyIGNvbXB1dGVyIHRvIGl0cyBwcmV2aW91cyBzdGF0ZSBjb3VsZCBub3QgYmUgZm91bmQuICBSZXN0b3JhdGlvbiB3aWxsIG5vdCBiZSBwb3NzaWJsZS4nKSwKLSgxNzEzLCB1J1syXSBjYW5ub3QgaW5zdGFsbCBvbmUgb2YgaXRzIHJlcXVpcmVkIHByb2R1Y3RzLiBDb250YWN0IHlvdXIgdGVjaG5pY2FsIHN1cHBvcnQgZ3JvdXAuICB7e1N5c3RlbSBFcnJvcjogWzNdLn19JyksCi0oMTcxNCwgdSdUaGUgb2xkZXIgdmVyc2lvbiBvZiBbMl0gY2Fubm90IGJlIHJlbW92ZWQuICBDb250YWN0IHlvdXIgdGVjaG5pY2FsIHN1cHBvcnQgZ3JvdXAuICB7e1N5c3RlbSBFcnJvciBbM10ufX0nKSwKLSgxNzE1LCB1J0luc3RhbGxlZCBbMl0nKSwKLSgxNzE2LCB1J0NvbmZpZ3VyZWQgWzJdJyksCi0oMTcxNywgdSdSZW1vdmVkIFsyXScpLAotKDE3MTgsIHUnRmlsZSBbMl0gd2FzIHJlamVjdGVkIGJ5IGRpZ2l0YWwgc2lnbmF0dXJlIHBvbGljeS4nKSwKLSgxNzE5LCB1J1RoZSBXaW5kb3dzIEluc3RhbGxlciBTZXJ2aWNlIGNvdWxkIG5vdCBiZSBhY2Nlc3NlZC4gVGhpcyBjYW4gb2NjdXIgaWYgeW91IGFyZSBydW5uaW5nIFdpbmRvd3MgaW4gc2FmZSBtb2RlLCBvciBpZiB0aGUgV2luZG93cyBJbnN0YWxsZXIgaXMgbm90IGNvcnJlY3RseSBpbnN0YWxsZWQuIENvbnRhY3QgeW91ciBzdXBwb3J0IHBlcnNvbm5lbCBmb3IgYXNzaXN0YW5jZS4nKSwKLSgxNzIwLCB1J1RoZXJlIGlzIGEgcHJvYmxlbSB3aXRoIHRoaXMgV2luZG93cyBJbnN0YWxsZXIgcGFja2FnZS4gQSBzY3JpcHQgcmVxdWlyZWQgZm9yIHRoaXMgaW5zdGFsbCB0byBjb21wbGV0ZSBjb3VsZCBub3QgYmUgcnVuLiBDb250YWN0IHlvdXIgc3VwcG9ydCBwZXJzb25uZWwgb3IgcGFja2FnZSB2ZW5kb3IuICB7e0N1c3RvbSBhY3Rpb24gWzJdIHNjcmlwdCBlcnJvciBbM10sIFs0XTogWzVdIExpbmUgWzZdLCBDb2x1bW4gWzddLCBbOF0gfX0nKSwKLSgxNzIxLCB1J1RoZXJlIGlzIGEgcHJvYmxlbSB3aXRoIHRoaXMgV2luZG93cyBJbnN0YWxsZXIgcGFja2FnZS4gQSBwcm9ncmFtIHJlcXVpcmVkIGZvciB0aGlzIGluc3RhbGwgdG8gY29tcGxldGUgY291bGQgbm90IGJlIHJ1bi4gQ29udGFjdCB5b3VyIHN1cHBvcnQgcGVyc29ubmVsIG9yIHBhY2thZ2UgdmVuZG9yLiB7e0FjdGlvbjogWzJdLCBsb2NhdGlvbjogWzNdLCBjb21tYW5kOiBbNF0gfX0nKSwKLSgxNzIyLCB1J1RoZXJlIGlzIGEgcHJvYmxlbSB3aXRoIHRoaXMgV2luZG93cyBJbnN0YWxsZXIgcGFja2FnZS4gQSBwcm9ncmFtIHJ1biBhcyBwYXJ0IG9mIHRoZSBzZXR1cCBkaWQgbm90IGZpbmlzaCBhcyBleHBlY3RlZC4gQ29udGFjdCB5b3VyIHN1cHBvcnQgcGVyc29ubmVsIG9yIHBhY2thZ2UgdmVuZG9yLiAge3tBY3Rpb24gWzJdLCBsb2NhdGlvbjogWzNdLCBjb21tYW5kOiBbNF0gfX0nKSwKLSgxNzIzLCB1J1RoZXJlIGlzIGEgcHJvYmxlbSB3aXRoIHRoaXMgV2luZG93cyBJbnN0YWxsZXIgcGFja2FnZS4gQSBETEwgcmVxdWlyZWQgZm9yIHRoaXMgaW5zdGFsbCB0byBjb21wbGV0ZSBjb3VsZCBub3QgYmUgcnVuLiBDb250YWN0IHlvdXIgc3VwcG9ydCBwZXJzb25uZWwgb3IgcGFja2FnZSB2ZW5kb3IuICB7e0FjdGlvbiBbMl0sIGVudHJ5OiBbM10sIGxpYnJhcnk6IFs0XSB9fScpLAotKDE3MjQsIHUnUmVtb3ZhbCBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5LicpLAotKDE3MjUsIHUnUmVtb3ZhbCBmYWlsZWQuJyksCi0oMTcyNiwgdSdBZHZlcnRpc2VtZW50IGNvbXBsZXRlZCBzdWNjZXNzZnVsbHkuJyksCi0oMTcyNywgdSdBZHZlcnRpc2VtZW50IGZhaWxlZC4nKSwKLSgxNzI4LCB1J0NvbmZpZ3VyYXRpb24gY29tcGxldGVkIHN1Y2Nlc3NmdWxseS4nKSwKLSgxNzI5LCB1J0NvbmZpZ3VyYXRpb24gZmFpbGVkLicpLAotKDE3MzAsIHUnWW91IG11c3QgYmUgYW4gQWRtaW5pc3RyYXRvciB0byByZW1vdmUgdGhpcyBhcHBsaWNhdGlvbi4gVG8gcmVtb3ZlIHRoaXMgYXBwbGljYXRpb24sIHlvdSBjYW4gbG9nIG9uIGFzIGFuIEFkbWluaXN0cmF0b3IsIG9yIGNvbnRhY3QgeW91ciB0ZWNobmljYWwgc3VwcG9ydCBncm91cCBmb3IgYXNzaXN0YW5jZS4nKSwKLSgxODAxLCB1J1RoZSBwYXRoIFsyXSBpcyBub3QgdmFsaWQuICBQbGVhc2Ugc3BlY2lmeSBhIHZhbGlkIHBhdGguJyksCi0oMTgwMiwgdSdPdXQgb2YgbWVtb3J5LiBTaHV0IGRvd24gb3RoZXIgYXBwbGljYXRpb25zIGJlZm9yZSByZXRyeWluZy4nKSwKLSgxODAzLCB1J1RoZXJlIGlzIG5vIGRpc2sgaW4gZHJpdmUgWzJdLiBQbGVhc2UgaW5zZXJ0IG9uZSBhbmQgY2xpY2sgUmV0cnksIG9yIGNsaWNrIENhbmNlbCB0byBnbyBiYWNrIHRvIHRoZSBwcmV2aW91c2x5IHNlbGVjdGVkIHZvbHVtZS4nKSwKLSgxODA0LCB1J1RoZXJlIGlzIG5vIGRpc2sgaW4gZHJpdmUgWzJdLiBQbGVhc2UgaW5zZXJ0IG9uZSBhbmQgY2xpY2sgUmV0cnksIG9yIGNsaWNrIENhbmNlbCB0byByZXR1cm4gdG8gdGhlIGJyb3dzZSBkaWFsb2cgYW5kIHNlbGVjdCBhIGRpZmZlcmVudCB2b2x1bWUuJyksCi0oMTgwNSwgdSdUaGUgZm9sZGVyIFsyXSBkb2VzIG5vdCBleGlzdC4gIFBsZWFzZSBlbnRlciBhIHBhdGggdG8gYW4gZXhpc3RpbmcgZm9sZGVyLicpLAotKDE4MDYsIHUnWW91IGhhdmUgaW5zdWZmaWNpZW50IHByaXZpbGVnZXMgdG8gcmVhZCB0aGlzIGZvbGRlci4nKSwKLSgxODA3LCB1J0EgdmFsaWQgZGVzdGluYXRpb24gZm9sZGVyIGZvciB0aGUgaW5zdGFsbCBjb3VsZCBub3QgYmUgZGV0ZXJtaW5lZC4nKSwKLSgxOTAxLCB1J0Vycm9yIGF0dGVtcHRpbmcgdG8gcmVhZCBmcm9tIHRoZSBzb3VyY2UgaW5zdGFsbCBkYXRhYmFzZTogWzJdLicpLAotKDE5MDIsIHUnU2NoZWR1bGluZyByZWJvb3Qgb3BlcmF0aW9uOiBSZW5hbWluZyBmaWxlIFsyXSB0byBbM10uIE11c3QgcmVib290IHRvIGNvbXBsZXRlIG9wZXJhdGlvbi4nKSwKLSgxOTAzLCB1J1NjaGVkdWxpbmcgcmVib290IG9wZXJhdGlvbjogRGVsZXRpbmcgZmlsZSBbMl0uIE11c3QgcmVib290IHRvIGNvbXBsZXRlIG9wZXJhdGlvbi4nKSwKLSgxOTA0LCB1J01vZHVsZSBbMl0gZmFpbGVkIHRvIHJlZ2lzdGVyLiAgSFJFU1VMVCBbM10uICBDb250YWN0IHlvdXIgc3VwcG9ydCBwZXJzb25uZWwuJyksCi0oMTkwNSwgdSdNb2R1bGUgWzJdIGZhaWxlZCB0byB1bnJlZ2lzdGVyLiAgSFJFU1VMVCBbM10uICBDb250YWN0IHlvdXIgc3VwcG9ydCBwZXJzb25uZWwuJyksCi0oMTkwNiwgdSdGYWlsZWQgdG8gY2FjaGUgcGFja2FnZSBbMl0uIEVycm9yOiBbM10uIENvbnRhY3QgeW91ciBzdXBwb3J0IHBlcnNvbm5lbC4nKSwKLSgxOTA3LCB1J0NvdWxkIG5vdCByZWdpc3RlciBmb250IFsyXS4gIFZlcmlmeSB0aGF0IHlvdSBoYXZlIHN1ZmZpY2llbnQgcGVybWlzc2lvbnMgdG8gaW5zdGFsbCBmb250cywgYW5kIHRoYXQgdGhlIHN5c3RlbSBzdXBwb3J0cyB0aGlzIGZvbnQuJyksCi0oMTkwOCwgdSdDb3VsZCBub3QgdW5yZWdpc3RlciBmb250IFsyXS4gVmVyaWZ5IHRoYXQgeW91IHRoYXQgeW91IGhhdmUgc3VmZmljaWVudCBwZXJtaXNzaW9ucyB0byByZW1vdmUgZm9udHMuJyksCi0oMTkwOSwgdSdDb3VsZCBub3QgY3JlYXRlIFNob3J0Y3V0IFsyXS4gVmVyaWZ5IHRoYXQgdGhlIGRlc3RpbmF0aW9uIGZvbGRlciBleGlzdHMgYW5kIHRoYXQgeW91IGNhbiBhY2Nlc3MgaXQuJyksCi0oMTkxMCwgdSdDb3VsZCBub3QgcmVtb3ZlIFNob3J0Y3V0IFsyXS4gVmVyaWZ5IHRoYXQgdGhlIHNob3J0Y3V0IGZpbGUgZXhpc3RzIGFuZCB0aGF0IHlvdSBjYW4gYWNjZXNzIGl0LicpLAotKDE5MTEsIHUnQ291bGQgbm90IHJlZ2lzdGVyIHR5cGUgbGlicmFyeSBmb3IgZmlsZSBbMl0uICBDb250YWN0IHlvdXIgc3VwcG9ydCBwZXJzb25uZWwuJyksCi0oMTkxMiwgdSdDb3VsZCBub3QgdW5yZWdpc3RlciB0eXBlIGxpYnJhcnkgZm9yIGZpbGUgWzJdLiAgQ29udGFjdCB5b3VyIHN1cHBvcnQgcGVyc29ubmVsLicpLAotKDE5MTMsIHUnQ291bGQgbm90IHVwZGF0ZSB0aGUgaW5pIGZpbGUgWzJdWzNdLiAgVmVyaWZ5IHRoYXQgdGhlIGZpbGUgZXhpc3RzIGFuZCB0aGF0IHlvdSBjYW4gYWNjZXNzIGl0LicpLAotKDE5MTQsIHUnQ291bGQgbm90IHNjaGVkdWxlIGZpbGUgWzJdIHRvIHJlcGxhY2UgZmlsZSBbM10gb24gcmVib290LiAgVmVyaWZ5IHRoYXQgeW91IGhhdmUgd3JpdGUgcGVybWlzc2lvbnMgdG8gZmlsZSBbM10uJyksCi0oMTkxNSwgdSdFcnJvciByZW1vdmluZyBPREJDIGRyaXZlciBtYW5hZ2VyLCBPREJDIGVycm9yIFsyXTogWzNdLiBDb250YWN0IHlvdXIgc3VwcG9ydCBwZXJzb25uZWwuJyksCi0oMTkxNiwgdSdFcnJvciBpbnN0YWxsaW5nIE9EQkMgZHJpdmVyIG1hbmFnZXIsIE9EQkMgZXJyb3IgWzJdOiBbM10uIENvbnRhY3QgeW91ciBzdXBwb3J0IHBlcnNvbm5lbC4nKSwKLSgxOTE3LCB1J0Vycm9yIHJlbW92aW5nIE9EQkMgZHJpdmVyOiBbNF0sIE9EQkMgZXJyb3IgWzJdOiBbM10uIFZlcmlmeSB0aGF0IHlvdSBoYXZlIHN1ZmZpY2llbnQgcHJpdmlsZWdlcyB0byByZW1vdmUgT0RCQyBkcml2ZXJzLicpLAotKDE5MTgsIHUnRXJyb3IgaW5zdGFsbGluZyBPREJDIGRyaXZlcjogWzRdLCBPREJDIGVycm9yIFsyXTogWzNdLiBWZXJpZnkgdGhhdCB0aGUgZmlsZSBbNF0gZXhpc3RzIGFuZCB0aGF0IHlvdSBjYW4gYWNjZXNzIGl0LicpLAotKDE5MTksIHUnRXJyb3IgY29uZmlndXJpbmcgT0RCQyBkYXRhIHNvdXJjZTogWzRdLCBPREJDIGVycm9yIFsyXTogWzNdLiBWZXJpZnkgdGhhdCB0aGUgZmlsZSBbNF0gZXhpc3RzIGFuZCB0aGF0IHlvdSBjYW4gYWNjZXNzIGl0LicpLAotKDE5MjAsIHUiU2VydmljZSAnWzJdJyAoWzNdKSBmYWlsZWQgdG8gc3RhcnQuICBWZXJpZnkgdGhhdCB5b3UgaGF2ZSBzdWZmaWNpZW50IHByaXZpbGVnZXMgdG8gc3RhcnQgc3lzdGVtIHNlcnZpY2VzLiIpLAotKDE5MjEsIHUiU2VydmljZSAnWzJdJyAoWzNdKSBjb3VsZCBub3QgYmUgc3RvcHBlZC4gIFZlcmlmeSB0aGF0IHlvdSBoYXZlIHN1ZmZpY2llbnQgcHJpdmlsZWdlcyB0byBzdG9wIHN5c3RlbSBzZXJ2aWNlcy4iKSwKLSgxOTIyLCB1IlNlcnZpY2UgJ1syXScgKFszXSkgY291bGQgbm90IGJlIGRlbGV0ZWQuICBWZXJpZnkgdGhhdCB5b3UgaGF2ZSBzdWZmaWNpZW50IHByaXZpbGVnZXMgdG8gcmVtb3ZlIHN5c3RlbSBzZXJ2aWNlcy4iKSwKLSgxOTIzLCB1IlNlcnZpY2UgJ1syXScgKFszXSkgY291bGQgbm90IGJlIGluc3RhbGxlZC4gIFZlcmlmeSB0aGF0IHlvdSBoYXZlIHN1ZmZpY2llbnQgcHJpdmlsZWdlcyB0byBpbnN0YWxsIHN5c3RlbSBzZXJ2aWNlcy4iKSwKLSgxOTI0LCB1IkNvdWxkIG5vdCB1cGRhdGUgZW52aXJvbm1lbnQgdmFyaWFibGUgJ1syXScuICBWZXJpZnkgdGhhdCB5b3UgaGF2ZSBzdWZmaWNpZW50IHByaXZpbGVnZXMgdG8gbW9kaWZ5IGVudmlyb25tZW50IHZhcmlhYmxlcy4iKSwKLSgxOTI1LCB1J1lvdSBkbyBub3QgaGF2ZSBzdWZmaWNpZW50IHByaXZpbGVnZXMgdG8gY29tcGxldGUgdGhpcyBpbnN0YWxsYXRpb24gZm9yIGFsbCB1c2VycyBvZiB0aGUgbWFjaGluZS4gIExvZyBvbiBhcyBhZG1pbmlzdHJhdG9yIGFuZCB0aGVuIHJldHJ5IHRoaXMgaW5zdGFsbGF0aW9uLicpLAotKDE5MjYsIHUiQ291bGQgbm90IHNldCBmaWxlIHNlY3VyaXR5IGZvciBmaWxlICdbM10nLiBFcnJvcjogWzJdLiAgVmVyaWZ5IHRoYXQgeW91IGhhdmUgc3VmZmljaWVudCBwcml2aWxlZ2VzIHRvIG1vZGlmeSB0aGUgc2VjdXJpdHkgcGVybWlzc2lvbnMgZm9yIHRoaXMgZmlsZS4iKSwKLSgxOTI3LCB1J0NvbXBvbmVudCBTZXJ2aWNlcyAoQ09NKyAxLjApIGFyZSBub3QgaW5zdGFsbGVkIG9uIHRoaXMgY29tcHV0ZXIuICBUaGlzIGluc3RhbGxhdGlvbiByZXF1aXJlcyBDb21wb25lbnQgU2VydmljZXMgaW4gb3JkZXIgdG8gY29tcGxldGUgc3VjY2Vzc2Z1bGx5LiAgQ29tcG9uZW50IFNlcnZpY2VzIGFyZSBhdmFpbGFibGUgb24gV2luZG93cyAyMDAwLicpLAotKDE5MjgsIHUnRXJyb3IgcmVnaXN0ZXJpbmcgQ09NKyBBcHBsaWNhdGlvbi4gIENvbnRhY3QgeW91ciBzdXBwb3J0IHBlcnNvbm5lbCBmb3IgbW9yZSBpbmZvcm1hdGlvbi4nKSwKLSgxOTI5LCB1J0Vycm9yIHVucmVnaXN0ZXJpbmcgQ09NKyBBcHBsaWNhdGlvbi4gIENvbnRhY3QgeW91ciBzdXBwb3J0IHBlcnNvbm5lbCBmb3IgbW9yZSBpbmZvcm1hdGlvbi4nKSwKLSgxOTMwLCB1IlRoZSBkZXNjcmlwdGlvbiBmb3Igc2VydmljZSAnWzJdJyAoWzNdKSBjb3VsZCBub3QgYmUgY2hhbmdlZC4iKSwKLSgxOTMxLCB1J1RoZSBXaW5kb3dzIEluc3RhbGxlciBzZXJ2aWNlIGNhbm5vdCB1cGRhdGUgdGhlIHN5c3RlbSBmaWxlIFsyXSBiZWNhdXNlIHRoZSBmaWxlIGlzIHByb3RlY3RlZCBieSBXaW5kb3dzLiAgWW91IG1heSBuZWVkIHRvIHVwZGF0ZSB5b3VyIG9wZXJhdGluZyBzeXN0ZW0gZm9yIHRoaXMgcHJvZ3JhbSB0byB3b3JrIGNvcnJlY3RseS4ge3tQYWNrYWdlIHZlcnNpb246IFszXSwgT1MgUHJvdGVjdGVkIHZlcnNpb246IFs0XX19JyksCi0oMTkzMiwgdSdUaGUgV2luZG93cyBJbnN0YWxsZXIgc2VydmljZSBjYW5ub3QgdXBkYXRlIHRoZSBwcm90ZWN0ZWQgV2luZG93cyBmaWxlIFsyXS4ge3tQYWNrYWdlIHZlcnNpb246IFszXSwgT1MgUHJvdGVjdGVkIHZlcnNpb246IFs0XSwgU0ZQIEVycm9yOiBbNV19fScpLAotKDE5MzMsIHUnVGhlIFdpbmRvd3MgSW5zdGFsbGVyIHNlcnZpY2UgY2Fubm90IHVwZGF0ZSBvbmUgb3IgbW9yZSBwcm90ZWN0ZWQgV2luZG93cyBmaWxlcy4ge3tTRlAgRXJyb3I6IFsyXS4gIExpc3Qgb2YgcHJvdGVjdGVkIGZpbGVzOlxcclxcblszXX19JyksCi0oMTkzNCwgdSdVc2VyIGluc3RhbGxhdGlvbnMgYXJlIGRpc2FibGVkIHZpYSBwb2xpY3kgb24gdGhlIG1hY2hpbmUuJyksCi0oMTkzNSwgdSdBbiBlcnJvciBvY2N1cnJlZCBkdXJpbmcgdGhlIGluc3RhbGxhdGlvbiBvZiBhc3NlbWJseSBjb21wb25lbnQgWzJdLiBIUkVTVUxUOiBbM10uIHt7YXNzZW1ibHkgaW50ZXJmYWNlOiBbNF0sIGZ1bmN0aW9uOiBbNV0sIGFzc2VtYmx5IG5hbWU6IFs2XX19JyksCi1dCi0KLXRhYmxlcz1bJ0FkbWluRXhlY3V0ZVNlcXVlbmNlJywgJ0FkbWluVUlTZXF1ZW5jZScsICdBZHZ0RXhlY3V0ZVNlcXVlbmNlJywgJ0JCQ29udHJvbCcsICdCaWxsYm9hcmQnLCAnQmluYXJ5JywgJ0NoZWNrQm94JywgJ1Byb3BlcnR5JywgJ0NvbWJvQm94JywgJ0NvbnRyb2wnLCAnTGlzdEJveCcsICdBY3Rpb25UZXh0JywgJ0NvbnRyb2xDb25kaXRpb24nLCAnQ29udHJvbEV2ZW50JywgJ0RpYWxvZycsICdFdmVudE1hcHBpbmcnLCAnSW5zdGFsbEV4ZWN1dGVTZXF1ZW5jZScsICdJbnN0YWxsVUlTZXF1ZW5jZScsICdMaXN0VmlldycsICdSYWRpb0J1dHRvbicsICdUZXh0U3R5bGUnLCAnVUlUZXh0JywgJ19WYWxpZGF0aW9uJywgJ0Vycm9yJ10KZGlmZiAtLWdpdCBhL1Rvb2xzL21zaS93aXgucHJvcHMgYi9Ub29scy9tc2kvd2l4LnByb3BzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM1NDkyZjkKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9tc2kvd2l4LnByb3BzCkBAIC0wLDAgKzEsMTIgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Cis8UHJvamVjdCBUb29sc1ZlcnNpb249IjQuMCIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+CisgIDxJbXBvcnQgUHJvamVjdD0iLi5cLi5cUENCdWlsZFxweXRob24ucHJvcHMiIC8+CisgIAorICA8UHJvcGVydHlHcm91cD4KKyAgICA8V2l4SW5zdGFsbFBhdGggQ29uZGl0aW9uPSInJChXaXhJbnN0YWxsUGF0aCknID09ICcnIGFuZCBFeGlzdHMoJyQoTVNCdWlsZFRoaXNGaWxlRGlyZWN0b3J5KVxXaXgnKSI+JChNU0J1aWxkVGhpc0ZpbGVEaXJlY3RvcnkpXFdpeFw8L1dpeEluc3RhbGxQYXRoPgorICAgIDxXaXhJbnN0YWxsUGF0aCBDb25kaXRpb249IickKFdpeEluc3RhbGxQYXRoKScgPT0gJycgYW5kIEV4aXN0cygnJChFeHRlcm5hbHNEaXIpXFdpeCcpIj4kKEV4dGVybmFsc0RpcilcV2l4XDwvV2l4SW5zdGFsbFBhdGg+CisgICAgPFdpeEluc3RhbGxQYXRoIENvbmRpdGlvbj0iJyQoV2l4SW5zdGFsbFBhdGgpJyA9PSAnJyI+JChSZWdpc3RyeTpIS0VZX0xPQ0FMX01BQ0hJTkVcU09GVFdBUkVcTWljcm9zb2Z0XFdpbmRvd3MgSW5zdGFsbGVyIFhNTFwzLjlASW5zdGFsbFJvb3QpPC9XaXhJbnN0YWxsUGF0aD4KKyAgICA8V2l4SW5zdGFsbFBhdGggQ29uZGl0aW9uPSInJChXaXhJbnN0YWxsUGF0aCknID09ICcnIj4kKFJlZ2lzdHJ5OkhLRVlfTE9DQUxfTUFDSElORVxTT0ZUV0FSRVxXb3c2NDMyTm9kZVxNaWNyb3NvZnRcV2luZG93cyBJbnN0YWxsZXIgWE1MXDMuOUBJbnN0YWxsUm9vdCk8L1dpeEluc3RhbGxQYXRoPgorICAgIDxXaXhUYXJnZXRzUGF0aD4kKFdpeEluc3RhbGxQYXRoKVxXaXgudGFyZ2V0czwvV2l4VGFyZ2V0c1BhdGg+CisgIDwvUHJvcGVydHlHcm91cD4KKzwvUHJvamVjdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9Ub29scy9wYXJzZXIvdW5wYXJzZS5weSBiL1Rvb2xzL3BhcnNlci91bnBhcnNlLnB5CmluZGV4IDgzN2NkODEuLjI1OGM2NDggMTAwNjQ0Ci0tLSBhL1Rvb2xzL3BhcnNlci91bnBhcnNlLnB5CisrKyBiL1Rvb2xzL3BhcnNlci91bnBhcnNlLnB5CkBAIC00MDEsNyArNDAxLDcgQEAKICAgICAgICAgc2VsZi5kaXNwYXRjaCh0Lm9wZXJhbmQpCiAgICAgICAgIHNlbGYud3JpdGUoIikiKQogCi0gICAgYmlub3AgPSB7ICJBZGQiOiIrIiwgIlN1YiI6Ii0iLCAiTXVsdCI6IioiLCAiRGl2IjoiLyIsICJNb2QiOiIlIiwKKyAgICBiaW5vcCA9IHsgIkFkZCI6IisiLCAiU3ViIjoiLSIsICJNdWx0IjoiKiIsICJNYXRNdWx0IjoiQCIsICJEaXYiOiIvIiwgIk1vZCI6IiUiLAogICAgICAgICAgICAgICAgICAgICAiTFNoaWZ0IjoiPDwiLCAiUlNoaWZ0IjoiPj4iLCAiQml0T3IiOiJ8IiwgIkJpdFhvciI6Il4iLCAiQml0QW5kIjoiJiIsCiAgICAgICAgICAgICAgICAgICAgICJGbG9vckRpdiI6Ii8vIiwgIlBvdyI6ICIqKiJ9CiAgICAgZGVmIF9CaW5PcChzZWxmLCB0KToKZGlmZiAtLWdpdCBhL1Rvb2xzL3NjcmlwdHMvZGlmZi5weSBiL1Rvb2xzL3NjcmlwdHMvZGlmZi5weQppbmRleCA4YmU1MjdmLi45NzIwYTQzIDEwMDc1NQotLS0gYS9Ub29scy9zY3JpcHRzL2RpZmYucHkKKysrIGIvVG9vbHMvc2NyaXB0cy9kaWZmLnB5CkBAIC04LDcgKzgsNyBAQAogCiAiIiIKIAotaW1wb3J0IHN5cywgb3MsIHRpbWUsIGRpZmZsaWIsIG9wdHBhcnNlCitpbXBvcnQgc3lzLCBvcywgdGltZSwgZGlmZmxpYiwgYXJncGFyc2UKIGZyb20gZGF0ZXRpbWUgaW1wb3J0IGRhdGV0aW1lLCB0aW1lem9uZQogCiBkZWYgZmlsZV9tdGltZShwYXRoKToKQEAgLTE4LDIzICsxOCwyNSBAQAogCiBkZWYgbWFpbigpOgogCi0gICAgdXNhZ2UgPSAidXNhZ2U6ICVwcm9nIFtvcHRpb25zXSBmcm9tZmlsZSB0b2ZpbGUiCi0gICAgcGFyc2VyID0gb3B0cGFyc2UuT3B0aW9uUGFyc2VyKHVzYWdlKQotICAgIHBhcnNlci5hZGRfb3B0aW9uKCItYyIsIGFjdGlvbj0ic3RvcmVfdHJ1ZSIsIGRlZmF1bHQ9RmFsc2UsIGhlbHA9J1Byb2R1Y2UgYSBjb250ZXh0IGZvcm1hdCBkaWZmIChkZWZhdWx0KScpCi0gICAgcGFyc2VyLmFkZF9vcHRpb24oIi11IiwgYWN0aW9uPSJzdG9yZV90cnVlIiwgZGVmYXVsdD1GYWxzZSwgaGVscD0nUHJvZHVjZSBhIHVuaWZpZWQgZm9ybWF0IGRpZmYnKQotICAgIHBhcnNlci5hZGRfb3B0aW9uKCItbSIsIGFjdGlvbj0ic3RvcmVfdHJ1ZSIsIGRlZmF1bHQ9RmFsc2UsIGhlbHA9J1Byb2R1Y2UgSFRNTCBzaWRlIGJ5IHNpZGUgZGlmZiAoY2FuIHVzZSAtYyBhbmQgLWwgaW4gY29uanVuY3Rpb24pJykKLSAgICBwYXJzZXIuYWRkX29wdGlvbigiLW4iLCBhY3Rpb249InN0b3JlX3RydWUiLCBkZWZhdWx0PUZhbHNlLCBoZWxwPSdQcm9kdWNlIGEgbmRpZmYgZm9ybWF0IGRpZmYnKQotICAgIHBhcnNlci5hZGRfb3B0aW9uKCItbCIsICItLWxpbmVzIiwgdHlwZT0iaW50IiwgZGVmYXVsdD0zLCBoZWxwPSdTZXQgbnVtYmVyIG9mIGNvbnRleHQgbGluZXMgKGRlZmF1bHQgMyknKQotICAgIChvcHRpb25zLCBhcmdzKSA9IHBhcnNlci5wYXJzZV9hcmdzKCkKLQotICAgIGlmIGxlbihhcmdzKSA9PSAwOgotICAgICAgICBwYXJzZXIucHJpbnRfaGVscCgpCi0gICAgICAgIHN5cy5leGl0KDEpCi0gICAgaWYgbGVuKGFyZ3MpICE9IDI6Ci0gICAgICAgIHBhcnNlci5lcnJvcigibmVlZCB0byBzcGVjaWZ5IGJvdGggYSBmcm9tZmlsZSBhbmQgdG9maWxlIikKKyAgICBwYXJzZXIgPSBhcmdwYXJzZS5Bcmd1bWVudFBhcnNlcigpCisgICAgcGFyc2VyLmFkZF9hcmd1bWVudCgnLWMnLCBhY3Rpb249J3N0b3JlX3RydWUnLCBkZWZhdWx0PUZhbHNlLAorICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0nUHJvZHVjZSBhIGNvbnRleHQgZm9ybWF0IGRpZmYgKGRlZmF1bHQpJykKKyAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCctdScsIGFjdGlvbj0nc3RvcmVfdHJ1ZScsIGRlZmF1bHQ9RmFsc2UsCisgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSdQcm9kdWNlIGEgdW5pZmllZCBmb3JtYXQgZGlmZicpCisgICAgcGFyc2VyLmFkZF9hcmd1bWVudCgnLW0nLCBhY3Rpb249J3N0b3JlX3RydWUnLCBkZWZhdWx0PUZhbHNlLAorICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0nUHJvZHVjZSBIVE1MIHNpZGUgYnkgc2lkZSBkaWZmICcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyhjYW4gdXNlIC1jIGFuZCAtbCBpbiBjb25qdW5jdGlvbiknKQorICAgIHBhcnNlci5hZGRfYXJndW1lbnQoJy1uJywgYWN0aW9uPSdzdG9yZV90cnVlJywgZGVmYXVsdD1GYWxzZSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9J1Byb2R1Y2UgYSBuZGlmZiBmb3JtYXQgZGlmZicpCisgICAgcGFyc2VyLmFkZF9hcmd1bWVudCgnLWwnLCAnLS1saW5lcycsIHR5cGU9aW50LCBkZWZhdWx0PTMsCisgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSdTZXQgbnVtYmVyIG9mIGNvbnRleHQgbGluZXMgKGRlZmF1bHQgMyknKQorICAgIHBhcnNlci5hZGRfYXJndW1lbnQoJ2Zyb21maWxlJykKKyAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCd0b2ZpbGUnKQorICAgIG9wdGlvbnMgPSBwYXJzZXIucGFyc2VfYXJncygpCiAKICAgICBuID0gb3B0aW9ucy5saW5lcwotICAgIGZyb21maWxlLCB0b2ZpbGUgPSBhcmdzCisgICAgZnJvbWZpbGUgPSBvcHRpb25zLmZyb21maWxlCisgICAgdG9maWxlID0gb3B0aW9ucy50b2ZpbGUKIAogICAgIGZyb21kYXRlID0gZmlsZV9tdGltZShmcm9tZmlsZSkKICAgICB0b2RhdGUgPSBmaWxlX210aW1lKHRvZmlsZSkKZGlmZiAtLWdpdCBhL1Rvb2xzL3NjcmlwdHMvZ2VuZXJhdGVfb3Bjb2RlX2gucHkgYi9Ub29scy9zY3JpcHRzL2dlbmVyYXRlX29wY29kZV9oLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVmYTE4YTEKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9zY3JpcHRzL2dlbmVyYXRlX29wY29kZV9oLnB5CkBAIC0wLDAgKzEsNTQgQEAKKyMgVGhpcyBzY3JpcHQgZ2VuZXJhdGVzIHRoZSBvcGNvZGUuaCBoZWFkZXIgZmlsZS4KKworZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCB3aXRoX3N0YXRlbWVudAorCitpbXBvcnQgc3lzCitoZWFkZXIgPSAiIiIvKiBBdXRvLWdlbmVyYXRlZCBieSBUb29scy9zY3JpcHRzL2dlbmVyYXRlX29wY29kZV9oLnB5ICovCisjaWZuZGVmIFB5X09QQ09ERV9ICisjZGVmaW5lIFB5X09QQ09ERV9ICisjaWZkZWYgX19jcGx1c3BsdXMKK2V4dGVybiAiQyIgeworI2VuZGlmCisKKworICAgIC8qIEluc3RydWN0aW9uIG9wY29kZXMgZm9yIGNvbXBpbGVkIGNvZGUgKi8KKyIiIgorCitmb290ZXIgPSAiIiIKKy8qIEVYQ0VQVF9IQU5ETEVSIGlzIGEgc3BlY2lhbCwgaW1wbGljaXQgYmxvY2sgdHlwZSB3aGljaCBpcyBjcmVhdGVkIHdoZW4KKyAgIGVudGVyaW5nIGFuIGV4Y2VwdCBoYW5kbGVyLiBJdCBpcyBub3QgYW4gb3Bjb2RlIGJ1dCB3ZSBkZWZpbmUgaXQgaGVyZQorICAgYXMgd2Ugd2FudCBpdCB0byBiZSBhdmFpbGFibGUgdG8gYm90aCBmcmFtZW9iamVjdC5jIGFuZCBjZXZhbC5jLCB3aGlsZQorICAgcmVtYWluaW5nIHByaXZhdGUuKi8KKyNkZWZpbmUgRVhDRVBUX0hBTkRMRVIgMjU3CisKKworZW51bSBjbXBfb3Age1B5Q21wX0xUPVB5X0xULCBQeUNtcF9MRT1QeV9MRSwgUHlDbXBfRVE9UHlfRVEsIFB5Q21wX05FPVB5X05FLAorICAgICAgICAgICAgICAgIFB5Q21wX0dUPVB5X0dULCBQeUNtcF9HRT1QeV9HRSwgUHlDbXBfSU4sIFB5Q21wX05PVF9JTiwKKyAgICAgICAgICAgICAgICBQeUNtcF9JUywgUHlDbXBfSVNfTk9ULCBQeUNtcF9FWENfTUFUQ0gsIFB5Q21wX0JBRH07CisKKyNkZWZpbmUgSEFTX0FSRyhvcCkgKChvcCkgPj0gSEFWRV9BUkdVTUVOVCkKKworI2lmZGVmIF9fY3BsdXNwbHVzCit9CisjZW5kaWYKKyNlbmRpZiAvKiAhUHlfT1BDT0RFX0ggKi8KKyIiIgorCisKK2RlZiBtYWluKG9wY29kZV9weSwgb3V0ZmlsZT0nSW5jbHVkZS9vcGNvZGUuaCcpOgorICAgIG9wY29kZSA9IHt9CisgICAgZXhlYyhvcGVuKG9wY29kZV9weSkucmVhZCgpLCBvcGNvZGUpCisgICAgb3BtYXAgPSBvcGNvZGVbJ29wbWFwJ10KKyAgICB3aXRoIG9wZW4ob3V0ZmlsZSwgJ3cnKSBhcyBmb2JqOgorICAgICAgICBmb2JqLndyaXRlKGhlYWRlcikKKyAgICAgICAgZm9yIG5hbWUgaW4gb3Bjb2RlWydvcG5hbWUnXToKKyAgICAgICAgICAgIGlmIG5hbWUgaW4gb3BtYXA6CisgICAgICAgICAgICAgICAgZm9iai53cml0ZSgiI2RlZmluZSAlLTIwc1x0JS0zc1xuIiAlIChuYW1lLCBvcG1hcFtuYW1lXSkpCisgICAgICAgICAgICBpZiBuYW1lID09ICdQT1BfRVhDRVBUJzogIyBTcGVjaWFsIGVudHJ5IGZvciBIQVZFX0FSR1VNRU5UCisgICAgICAgICAgICAgICAgZm9iai53cml0ZSgiI2RlZmluZSAlLTIwc1x0JS0zZFxuIiAlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCdIQVZFX0FSR1VNRU5UJywgb3Bjb2RlWydIQVZFX0FSR1VNRU5UJ10pKQorICAgICAgICBmb2JqLndyaXRlKGZvb3RlcikKKworCitpZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgorICAgIG1haW4oc3lzLmFyZ3ZbMV0sIHN5cy5hcmd2WzJdKQpkaWZmIC0tZ2l0IGEvVG9vbHMvc2NyaXB0cy9ydW5fdGVzdHMucHkgYi9Ub29scy9zY3JpcHRzL3J1bl90ZXN0cy5weQppbmRleCBhNmM1ZGEzLi5iNTgyZTEzIDEwMDY0NAotLS0gYS9Ub29scy9zY3JpcHRzL3J1bl90ZXN0cy5weQorKysgYi9Ub29scy9zY3JpcHRzL3J1bl90ZXN0cy5weQpAQCAtMzMsOCArMzMsNiBAQAogICAgICMgQWxsb3cgdXNlci1zcGVjaWZpZWQgaW50ZXJwcmV0ZXIgb3B0aW9ucyB0byBvdmVycmlkZSBvdXIgZGVmYXVsdHMuCiAgICAgYXJncy5leHRlbmQodGVzdC5zdXBwb3J0LmFyZ3NfZnJvbV9pbnRlcnByZXRlcl9mbGFncygpKQogCi0gICAgIyBXb3JrYXJvdW5kIGZvciBpc3N1ZSAjMjAzNTUKLSAgICBvcy5lbnZpcm9uLnBvcCgiUFlUSE9OV0FSTklOR1MiLCBOb25lKQogICAgICMgV29ya2Fyb3VuZCBmb3IgaXNzdWUgIzIwMzYxCiAgICAgYXJncy5leHRlbmQoWyctVycsICdlcnJvcjo6Qnl0ZXNXYXJuaW5nJ10pCiAKQEAgLTUwLDcgKzQ4LDExIEBACiAgICAgICAgIGFyZ3MuZXh0ZW5kKFsnLXUnLCAnYWxsLC1sYXJnZWZpbGUsLWF1ZGlvLC1ndWknXSkKICAgICBhcmdzLmV4dGVuZChyZWdydGVzdF9hcmdzKQogICAgIHByaW50KCcgJy5qb2luKGFyZ3MpKQotICAgIG9zLmV4ZWN2KHN5cy5leGVjdXRhYmxlLCBhcmdzKQorICAgIGlmIHN5cy5wbGF0Zm9ybSA9PSAnd2luMzInOgorICAgICAgICBmcm9tIHN1YnByb2Nlc3MgaW1wb3J0IGNhbGwKKyAgICAgICAgc3lzLmV4aXQoY2FsbChhcmdzKSkKKyAgICBlbHNlOgorICAgICAgICBvcy5leGVjdihzeXMuZXhlY3V0YWJsZSwgYXJncykKIAogCiBpZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgpkaWZmIC0tZ2l0IGEvVG9vbHMvc2NyaXB0cy93aW5fYWRkMnBhdGgucHkgYi9Ub29scy9zY3JpcHRzL3dpbl9hZGQycGF0aC5weQppbmRleCBjODViZWE1Li4xYzlhZWRjIDEwMDY0NAotLS0gYS9Ub29scy9zY3JpcHRzL3dpbl9hZGQycGF0aC5weQorKysgYi9Ub29scy9zY3JpcHRzL3dpbl9hZGQycGF0aC5weQpAQCAtMjIsNyArMjIsOCBAQAogICAgIHNjcmlwdHMgPSBvcy5wYXRoLmpvaW4ocHl0aG9ucGF0aCwgIlNjcmlwdHMiKQogICAgIGFwcGRhdGEgPSBvcy5lbnZpcm9uWyJBUFBEQVRBIl0KICAgICBpZiBoYXNhdHRyKHNpdGUsICJVU0VSX1NJVEUiKToKLSAgICAgICAgdXNlcnBhdGggPSBzaXRlLlVTRVJfU0lURS5yZXBsYWNlKGFwcGRhdGEsICIlQVBQREFUQSUiKQorICAgICAgICB1c2Vyc2l0ZSA9IHNpdGUuVVNFUl9TSVRFLnJlcGxhY2UoYXBwZGF0YSwgIiVBUFBEQVRBJSIpCisgICAgICAgIHVzZXJwYXRoID0gb3MucGF0aC5kaXJuYW1lKHVzZXJzaXRlKQogICAgICAgICB1c2Vyc2NyaXB0cyA9IG9zLnBhdGguam9pbih1c2VycGF0aCwgIlNjcmlwdHMiKQogICAgIGVsc2U6CiAgICAgICAgIHVzZXJzY3JpcHRzID0gTm9uZQpkaWZmIC0tZ2l0IGEvVG9vbHMvc3NsL3NzbHNwZWVkLnZjeHByb2ogYi9Ub29scy9zc2wvc3Nsc3BlZWQudmN4cHJvagpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ZWM0MTA2Ci0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvc3NsL3NzbHNwZWVkLnZjeHByb2oKQEAgLTAsMCArMSw3MCBAQAor77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KKzxQcm9qZWN0IERlZmF1bHRUYXJnZXRzPSJCdWlsZCIgVG9vbHNWZXJzaW9uPSI0LjAiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2RldmVsb3Blci9tc2J1aWxkLzIwMDMiPgorICA8SXRlbUdyb3VwIExhYmVsPSJQcm9qZWN0Q29uZmlndXJhdGlvbnMiPgorICAgIDxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJEZWJ1Z3xXaW4zMiI+CisgICAgICA8Q29uZmlndXJhdGlvbj5EZWJ1ZzwvQ29uZmlndXJhdGlvbj4KKyAgICAgIDxQbGF0Zm9ybT5XaW4zMjwvUGxhdGZvcm0+CisgICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KKyAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iUmVsZWFzZXxXaW4zMiI+CisgICAgICA8Q29uZmlndXJhdGlvbj5SZWxlYXNlPC9Db25maWd1cmF0aW9uPgorICAgICAgPFBsYXRmb3JtPldpbjMyPC9QbGF0Zm9ybT4KKyAgICA8L1Byb2plY3RDb25maWd1cmF0aW9uPgorICAgIDxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJEZWJ1Z3x4NjQiPgorICAgICAgPENvbmZpZ3VyYXRpb24+RGVidWc8L0NvbmZpZ3VyYXRpb24+CisgICAgICA8UGxhdGZvcm0+eDY0PC9QbGF0Zm9ybT4KKyAgICA8L1Byb2plY3RDb25maWd1cmF0aW9uPgorICAgIDxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJSZWxlYXNlfHg2NCI+CisgICAgICA8Q29uZmlndXJhdGlvbj5SZWxlYXNlPC9Db25maWd1cmF0aW9uPgorICAgICAgPFBsYXRmb3JtPng2NDwvUGxhdGZvcm0+CisgICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4KKyAgPC9JdGVtR3JvdXA+CisgIAorICA8UHJvcGVydHlHcm91cCBMYWJlbD0iR2xvYmFscyI+CisgICAgPFByb2plY3RHdWlkPntGMDY4QkNDRi1DMEQ2LTQ3OEQtQTJDNS0yNkJBMzIzN0M5OTJ9PC9Qcm9qZWN0R3VpZD4KKyAgICA8Um9vdE5hbWVzcGFjZT5zc2xzcGVlZDwvUm9vdE5hbWVzcGFjZT4KKyAgPC9Qcm9wZXJ0eUdyb3VwPgorICAKKyAgPEltcG9ydCBQcm9qZWN0PSIuLlwuLlxQQ0J1aWxkXHB5dGhvbi5wcm9wcyIgLz4KKyAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAuRGVmYXVsdC5wcm9wcyIgLz4KKyAgPEltcG9ydCBQcm9qZWN0PSIuLlwuLlxQQ0J1aWxkXG9wZW5zc2wucHJvcHMiIC8+CisgIAorICA8UHJvcGVydHlHcm91cCBMYWJlbD0iQ29uZmlndXJhdGlvbiI+CisgICAgPE9yaWdpbmFsT3V0RGlyPiQoT3V0RGlyKTwvT3JpZ2luYWxPdXREaXI+CisgICAgPE91dERpcj4kKE1TQnVpbGRQcm9qZWN0RGlyZWN0b3J5KVwkKEFyY2hOYW1lKVw8L091dERpcj4KKyAgICA8SW50RGlyPiQoTVNCdWlsZFByb2plY3REaXJlY3RvcnkpXCQoQXJjaE5hbWUpXG9ialw8L0ludERpcj4KKyAgICA8Q29uZmlndXJhdGlvblR5cGU+QXBwbGljYXRpb248L0NvbmZpZ3VyYXRpb25UeXBlPgorICAgIDxDaGFyYWN0ZXJTZXQ+TXVsdGlCeXRlPC9DaGFyYWN0ZXJTZXQ+CisgIDwvUHJvcGVydHlHcm91cD4KKyAgCisgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLnByb3BzIiAvPgorICAKKyAgPEl0ZW1Hcm91cD4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQob3BlbnNzbERpcilhcHBzXHNwZWVkLmMiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKG9wZW5zc2xEaXIpYXBwc1xhcHBzLmMiIC8+CisgIDwvSXRlbUdyb3VwPgorICAKKyAgPEl0ZW1EZWZpbml0aW9uR3JvdXA+CisgICAgPENsQ29tcGlsZT4KKyAgICAgIDxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz5fQ09OU09MRTslKFByZXByb2Nlc3NvckRlZmluaXRpb25zKTwvUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM+CisgICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4kKG9wZW5zc2xJbmNEaXIpOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+CisgICAgPC9DbENvbXBpbGU+CisgICAgPExpbms+CisgICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz53czJfMzIubGliO2NyeXB0MzIubGliO2xpYmVheSQoUHlEZWJ1Z0V4dCkubGliO3NzbGVheSQoUHlEZWJ1Z0V4dCkubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+CisgICAgICA8QWRkaXRpb25hbExpYnJhcnlEaXJlY3Rvcmllcz4kKE9yaWdpbmFsT3V0RGlyKTslKEFkZGl0aW9uYWxMaWJyYXJ5RGlyZWN0b3JpZXMpPC9BZGRpdGlvbmFsTGlicmFyeURpcmVjdG9yaWVzPgorICAgICAgPFN1YlN5c3RlbT5Db25zb2xlPC9TdWJTeXN0ZW0+CisgICAgPC9MaW5rPgorICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+CisKKyAgPEl0ZW1Hcm91cD4KKyAgICA8UHJvamVjdFJlZmVyZW5jZSBJbmNsdWRlPSIuLlwuLlxQQ0J1aWxkXHNzbGVheS52Y3hwcm9qIj4KKyAgICAgIDxQcm9qZWN0PnsxMDYxNWIyNC03M2JmLTRlZmEtOTNhYS0yMzY5MTYzMjEzMTd9PC9Qcm9qZWN0PgorICAgICAgPFJlZmVyZW5jZU91dHB1dEFzc2VtYmx5PmZhbHNlPC9SZWZlcmVuY2VPdXRwdXRBc3NlbWJseT4KKyAgICA8L1Byb2plY3RSZWZlcmVuY2U+CisgICAgPFByb2plY3RSZWZlcmVuY2UgSW5jbHVkZT0iLi5cLi5cUENCdWlsZFxsaWJlYXkudmN4cHJvaiI+CisgICAgICA8UHJvamVjdD57ZTViMDRjYzAtZWI0Yy00MmFiLWI0ZGMtMThlZjk1Zjg2NGIwfTwvUHJvamVjdD4KKyAgICAgIDxSZWZlcmVuY2VPdXRwdXRBc3NlbWJseT5mYWxzZTwvUmVmZXJlbmNlT3V0cHV0QXNzZW1ibHk+CisgICAgPC9Qcm9qZWN0UmVmZXJlbmNlPgorICA8L0l0ZW1Hcm91cD4KKworICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC50YXJnZXRzIiAvPgorPC9Qcm9qZWN0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL1Rvb2xzL3VuaWNvZGUvbWFrZXVuaWNvZGVkYXRhLnB5IGIvVG9vbHMvdW5pY29kZS9tYWtldW5pY29kZWRhdGEucHkKaW5kZXggNzYzNmE5NS4uYjdkMzFlOCAxMDA2NDQKLS0tIGEvVG9vbHMvdW5pY29kZS9tYWtldW5pY29kZWRhdGEucHkKKysrIGIvVG9vbHMvdW5pY29kZS9tYWtldW5pY29kZWRhdGEucHkKQEAgLTQyLDcgKzQyLDcgQEAKICMgICAqIERvYy9saWJyYXJ5L3N0ZHR5cGVzLnJzdCwgYW5kCiAjICAgKiBEb2MvbGlicmFyeS91bmljb2RlZGF0YS5yc3QKICMgICAqIERvYy9yZWZlcmVuY2UvbGV4aWNhbF9hbmFseXNpcy5yc3QgKHR3byBvY2N1cnJlbmNlcykKLVVOSURBVEFfVkVSU0lPTiA9ICI2LjMuMCIKK1VOSURBVEFfVkVSU0lPTiA9ICI3LjAuMCIKIFVOSUNPREVfREFUQSA9ICJVbmljb2RlRGF0YSVzLnR4dCIKIENPTVBPU0lUSU9OX0VYQ0xVU0lPTlMgPSAiQ29tcG9zaXRpb25FeGNsdXNpb25zJXMudHh0IgogRUFTVEFTSUFOX1dJRFRIID0gIkVhc3RBc2lhbldpZHRoJXMudHh0IgpkaWZmIC0tZ2l0IGEvY29uZmlndXJlIGIvY29uZmlndXJlCmluZGV4IDI5Y2JkMzYuLjM1YTMxYmIgMTAwNzU1Ci0tLSBhL2NvbmZpZ3VyZQorKysgYi9jb25maWd1cmUKQEAgLTEsNiArMSw2IEBACiAjISAvYmluL3NoCiAjIEd1ZXNzIHZhbHVlcyBmb3Igc3lzdGVtLWRlcGVuZGVudCB2YXJpYWJsZXMgYW5kIGNyZWF0ZSBNYWtlZmlsZXMuCi0jIEdlbmVyYXRlZCBieSBHTlUgQXV0b2NvbmYgMi42OSBmb3IgcHl0aG9uIDMuNC4KKyMgR2VuZXJhdGVkIGJ5IEdOVSBBdXRvY29uZiAyLjY5IGZvciBweXRob24gMy41LgogIwogIyBSZXBvcnQgYnVncyB0byA8aHR0cDovL2J1Z3MucHl0aG9uLm9yZy8+LgogIwpAQCAtNTgwLDggKzU4MCw4IEBACiAjIElkZW50aXR5IG9mIHRoaXMgcGFja2FnZS4KIFBBQ0tBR0VfTkFNRT0ncHl0aG9uJwogUEFDS0FHRV9UQVJOQU1FPSdweXRob24nCi1QQUNLQUdFX1ZFUlNJT049JzMuNCcKLVBBQ0tBR0VfU1RSSU5HPSdweXRob24gMy40JworUEFDS0FHRV9WRVJTSU9OPSczLjUnCitQQUNLQUdFX1NUUklORz0ncHl0aG9uIDMuNScKIFBBQ0tBR0VfQlVHUkVQT1JUPSdodHRwOi8vYnVncy5weXRob24ub3JnLycKIFBBQ0tBR0VfVVJMPScnCiAKQEAgLTY3Myw2ICs2NzMsNyBAQAogSU5TVEFMTF9EQVRBCiBJTlNUQUxMX1NDUklQVAogSU5TVEFMTF9QUk9HUkFNCitPUENPREVIR0VOCiBQWVRIT04KIEFTRExHRU4KIGFjX2N0X1JFQURFTEYKQEAgLTc5OCw2ICs3OTksNyBAQAogZW5hYmxlX3Byb2ZpbGluZwogd2l0aF9weWRlYnVnCiB3aXRoX2hhc2hfYWxnb3JpdGhtCit3aXRoX2FkZHJlc3Nfc2FuaXRpemVyCiB3aXRoX2xpYnMKIHdpdGhfc3lzdGVtX2V4cGF0CiB3aXRoX3N5c3RlbV9mZmkKQEAgLTEzNzQsNyArMTM3Niw3IEBACiAgICMgT21pdCBzb21lIGludGVybmFsIG9yIG9ic29sZXRlIG9wdGlvbnMgdG8gbWFrZSB0aGUgbGlzdCBsZXNzIGltcG9zaW5nLgogICAjIFRoaXMgbWVzc2FnZSBpcyB0b28gbG9uZyB0byBiZSBhIHN0cmluZyBpbiB0aGUgQS9VWCAzLjEgc2guCiAgIGNhdCA8PF9BQ0VPRgotXGBjb25maWd1cmUnIGNvbmZpZ3VyZXMgcHl0aG9uIDMuNCB0byBhZGFwdCB0byBtYW55IGtpbmRzIG9mIHN5c3RlbXMuCitcYGNvbmZpZ3VyZScgY29uZmlndXJlcyBweXRob24gMy41IHRvIGFkYXB0IHRvIG1hbnkga2luZHMgb2Ygc3lzdGVtcy4KIAogVXNhZ2U6ICQwIFtPUFRJT05dLi4uIFtWQVI9VkFMVUVdLi4uCiAKQEAgLTE0MzksNyArMTQ0MSw3IEBACiAKIGlmIHRlc3QgLW4gIiRhY19pbml0X2hlbHAiOyB0aGVuCiAgIGNhc2UgJGFjX2luaXRfaGVscCBpbgotICAgICBzaG9ydCB8IHJlY3Vyc2l2ZSApIGVjaG8gIkNvbmZpZ3VyYXRpb24gb2YgcHl0aG9uIDMuNDoiOzsKKyAgICAgc2hvcnQgfCByZWN1cnNpdmUgKSBlY2hvICJDb25maWd1cmF0aW9uIG9mIHB5dGhvbiAzLjU6Ijs7CiAgICBlc2FjCiAgIGNhdCA8PFxfQUNFT0YKIApAQCAtMTQ3Nyw2ICsxNDc5LDggQEAKICAgLS13aXRoLXB5ZGVidWcgICAgICAgICAgYnVpbGQgd2l0aCBQeV9ERUJVRyBkZWZpbmVkCiAgIC0td2l0aC1oYXNoLWFsZ29yaXRobT1bZm52fHNpcGhhc2gyNF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0IGhhc2ggYWxnb3JpdGhtCisgIC0td2l0aC1hZGRyZXNzLXNhbml0aXplcgorICAgICAgICAgICAgICAgICAgICAgICAgICBlbmFibGUgQWRkcmVzc1Nhbml0aXplcgogICAtLXdpdGgtbGlicz0nbGliMSAuLi4nICBsaW5rIGFnYWluc3QgYWRkaXRpb25hbCBsaWJzCiAgIC0td2l0aC1zeXN0ZW0tZXhwYXQgICAgIGJ1aWxkIHB5ZXhwYXQgbW9kdWxlIHVzaW5nIGFuIGluc3RhbGxlZCBleHBhdAogICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJyYXJ5CkBAIC0xNTkxLDcgKzE1OTUsNyBAQAogdGVzdCAtbiAiJGFjX2luaXRfaGVscCIgJiYgZXhpdCAkYWNfc3RhdHVzCiBpZiAkYWNfaW5pdF92ZXJzaW9uOyB0aGVuCiAgIGNhdCA8PFxfQUNFT0YKLXB5dGhvbiBjb25maWd1cmUgMy40CitweXRob24gY29uZmlndXJlIDMuNQogZ2VuZXJhdGVkIGJ5IEdOVSBBdXRvY29uZiAyLjY5CiAKIENvcHlyaWdodCAoQykgMjAxMiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KQEAgLTI0MzAsNyArMjQzNCw3IEBACiBUaGlzIGZpbGUgY29udGFpbnMgYW55IG1lc3NhZ2VzIHByb2R1Y2VkIGJ5IGNvbXBpbGVycyB3aGlsZQogcnVubmluZyBjb25maWd1cmUsIHRvIGFpZCBkZWJ1Z2dpbmcgaWYgY29uZmlndXJlIG1ha2VzIGEgbWlzdGFrZS4KIAotSXQgd2FzIGNyZWF0ZWQgYnkgcHl0aG9uICRhc19tZSAzLjQsIHdoaWNoIHdhcworSXQgd2FzIGNyZWF0ZWQgYnkgcHl0aG9uICRhc19tZSAzLjUsIHdoaWNoIHdhcwogZ2VuZXJhdGVkIGJ5IEdOVSBBdXRvY29uZiAyLjY5LiAgSW52b2NhdGlvbiBjb21tYW5kIGxpbmUgd2FzCiAKICAgJCAkMCAkQApAQCAtMzAwMyw3ICszMDA3LDcgQEAKIG12IGNvbmZkZWZzLmgubmV3IGNvbmZkZWZzLmgKIAogCi1WRVJTSU9OPTMuNAorVkVSU0lPTj0zLjUKIAogIyBWZXJzaW9uIG51bWJlciBvZiBQeXRob24ncyBvd24gc2hhcmVkIGxpYnJhcnkgZmlsZS4KIApAQCAtNjA2Miw2ICs2MDY2LDU3IEBACiBmaQogCiAKK2ZvciBhY19wcm9nIGluIHB5dGhvbiRQQUNLQUdFX1ZFUlNJT04gcHl0aG9uMyBweXRob24KK2RvCisgICMgRXh0cmFjdCB0aGUgZmlyc3Qgd29yZCBvZiAiJGFjX3Byb2ciLCBzbyBpdCBjYW4gYmUgYSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLgorc2V0IGR1bW15ICRhY19wcm9nOyBhY193b3JkPSQyCit7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciAkYWNfd29yZCIgPiY1CiskYXNfZWNob19uICJjaGVja2luZyBmb3IgJGFjX3dvcmQuLi4gIiA+JjY7IH0KK2lmICR7YWNfY3ZfcHJvZ19QWVRIT04rOn0gZmFsc2U7IHRoZW4gOgorICAkYXNfZWNob19uICIoY2FjaGVkKSAiID4mNgorZWxzZQorICBpZiB0ZXN0IC1uICIkUFlUSE9OIjsgdGhlbgorICBhY19jdl9wcm9nX1BZVEhPTj0iJFBZVEhPTiIgIyBMZXQgdGhlIHVzZXIgb3ZlcnJpZGUgdGhlIHRlc3QuCitlbHNlCithc19zYXZlX0lGUz0kSUZTOyBJRlM9JFBBVEhfU0VQQVJBVE9SCitmb3IgYXNfZGlyIGluICRQQVRICitkbworICBJRlM9JGFzX3NhdmVfSUZTCisgIHRlc3QgLXogIiRhc19kaXIiICYmIGFzX2Rpcj0uCisgICAgZm9yIGFjX2V4ZWNfZXh0IGluICcnICRhY19leGVjdXRhYmxlX2V4dGVuc2lvbnM7IGRvCisgIGlmIGFzX2ZuX2V4ZWN1dGFibGVfcCAiJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCI7IHRoZW4KKyAgICBhY19jdl9wcm9nX1BZVEhPTj0iJGFjX3Byb2ciCisgICAgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogZm91bmQgJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIgPiY1CisgICAgYnJlYWsgMgorICBmaQorZG9uZQorICBkb25lCitJRlM9JGFzX3NhdmVfSUZTCisKK2ZpCitmaQorUFlUSE9OPSRhY19jdl9wcm9nX1BZVEhPTgoraWYgdGVzdCAtbiAiJFBZVEhPTiI7IHRoZW4KKyAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICRQWVRIT04iID4mNQorJGFzX2VjaG8gIiRQWVRIT04iID4mNjsgfQorZWxzZQorICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogbm8iID4mNQorJGFzX2VjaG8gIm5vIiA+JjY7IH0KK2ZpCisKKworICB0ZXN0IC1uICIkUFlUSE9OIiAmJiBicmVhaworZG9uZQordGVzdCAtbiAiJFBZVEhPTiIgfHwgUFlUSE9OPSJub3QtZm91bmQiCisKK2lmIHRlc3QgIiRQWVRIT04iID0gbm90LWZvdW5kOyB0aGVuCisgICAgT1BDT0RFSEdFTj0iQGVjaG8gcHl0aG9uOiAkUFlUSE9OISBjYW5ub3QgcnVuIFRvb2xzL3NjcmlwdHMvZ2VuZXJhdGVfb3Bjb2RlX2gucHkiCitlbHNlCisgICAgT1BDT0RFSEdFTj0iJFBZVEhPTiIKK2ZpCisKKworCiBjYXNlICRNQUNIREVQIGluCiBic2Rvcyp8aHAqfEhQKikKIAkjIGluc3RhbGwgLWQgZG9lcyBub3Qgd29yayBvbiBCU0RJIG9yIEhQLVVYCkBAIC02NDc0LDYgKzY1MjksOTQgQEAKICAgICAgIENGTEFHU19OT0RJU1Q9IiRDRkxBR1NfTk9ESVNUIC1XZXJyb3I9ZGVjbGFyYXRpb24tYWZ0ZXItc3RhdGVtZW50IgogICAgIGZpCiAKKyAgICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGlmIHdlIGNhbiB0dXJuIG9uICRDQyBtaXhlZCBzaWduIGNvbXBhcmlzb24gd2FybmluZyIgPiY1CiskYXNfZWNob19uICJjaGVja2luZyBpZiB3ZSBjYW4gdHVybiBvbiAkQ0MgbWl4ZWQgc2lnbiBjb21wYXJpc29uIHdhcm5pbmcuLi4gIiA+JjY7IH0KKyAgICAgYWNfc2F2ZV9jYz0iJENDIgorICAgICBDQz0iJENDIC1Xc2lnbi1jb21wYXJlIgorICAgICBzYXZlX0NGTEFHUz0iJENGTEFHUyIKKyAgICAgaWYgJHthY19jdl9lbmFibGVfc2lnbl9jb21wYXJlX3dhcm5pbmcrOn0gZmFsc2U7IHRoZW4gOgorICAkYXNfZWNob19uICIoY2FjaGVkKSAiID4mNgorZWxzZQorICBjYXQgY29uZmRlZnMuaCAtIDw8X0FDRU9GID5jb25mdGVzdC4kYWNfZXh0CisvKiBlbmQgY29uZmRlZnMuaC4gICovCisKKworaW50CittYWluICgpCit7CisKKyAgOworICByZXR1cm4gMDsKK30KKworX0FDRU9GCitpZiBhY19mbl9jX3RyeV9jb21waWxlICIkTElORU5PIjsgdGhlbiA6CisKKyAgICAgICAgICAgYWNfY3ZfZW5hYmxlX3NpZ25fY29tcGFyZV93YXJuaW5nPXllcworCitlbHNlCisKKyAgICAgICAgICAgYWNfY3ZfZW5hYmxlX3NpZ25fY29tcGFyZV93YXJuaW5nPW5vCisKK2ZpCitybSAtZiBjb3JlIGNvbmZ0ZXN0LmVyciBjb25mdGVzdC4kYWNfb2JqZXh0IGNvbmZ0ZXN0LiRhY19leHQKK2ZpCisKKyAgICAgQ0ZMQUdTPSIkc2F2ZV9DRkxBR1MiCisgICAgIENDPSIkYWNfc2F2ZV9jYyIKKyAgICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJGFjX2N2X2VuYWJsZV9zaWduX2NvbXBhcmVfd2FybmluZyIgPiY1CiskYXNfZWNobyAiJGFjX2N2X2VuYWJsZV9zaWduX2NvbXBhcmVfd2FybmluZyIgPiY2OyB9CisKKyAgICBpZiB0ZXN0ICRhY19jdl9lbmFibGVfc2lnbl9jb21wYXJlX3dhcm5pbmcgPSB5ZXMKKyAgICB0aGVuCisgICAgICBCQVNFQ0ZMQUdTPSIkQkFTRUNGTEFHUyAtV3NpZ24tY29tcGFyZSIKKyAgICBmaQorCisgICAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBpZiB3ZSBjYW4gdHVybiBvbiAkQ0MgdW5yZWFjaGFibGUgY29kZSB3YXJuaW5nIiA+JjUKKyRhc19lY2hvX24gImNoZWNraW5nIGlmIHdlIGNhbiB0dXJuIG9uICRDQyB1bnJlYWNoYWJsZSBjb2RlIHdhcm5pbmcuLi4gIiA+JjY7IH0KKyAgICAgYWNfc2F2ZV9jYz0iJENDIgorICAgICBDQz0iJENDIC1XdW5yZWFjaGFibGUtY29kZSIKKyAgICAgc2F2ZV9DRkxBR1M9IiRDRkxBR1MiCisgICAgIGlmICR7YWNfY3ZfZW5hYmxlX3VucmVhY2hhYmxlX2NvZGVfd2FybmluZys6fSBmYWxzZTsgdGhlbiA6CisgICRhc19lY2hvX24gIihjYWNoZWQpICIgPiY2CitlbHNlCisgIGNhdCBjb25mZGVmcy5oIC0gPDxfQUNFT0YgPmNvbmZ0ZXN0LiRhY19leHQKKy8qIGVuZCBjb25mZGVmcy5oLiAgKi8KKworCitpbnQKK21haW4gKCkKK3sKKworICA7CisgIHJldHVybiAwOworfQorCitfQUNFT0YKK2lmIGFjX2ZuX2NfdHJ5X2NvbXBpbGUgIiRMSU5FTk8iOyB0aGVuIDoKKworICAgICAgICAgICBhY19jdl9lbmFibGVfdW5yZWFjaGFibGVfY29kZV93YXJuaW5nPXllcworCitlbHNlCisKKyAgICAgICAgICAgYWNfY3ZfZW5hYmxlX3VucmVhY2hhYmxlX2NvZGVfd2FybmluZz1ubworCitmaQorcm0gLWYgY29yZSBjb25mdGVzdC5lcnIgY29uZnRlc3QuJGFjX29iamV4dCBjb25mdGVzdC4kYWNfZXh0CitmaQorCisgICAgIENGTEFHUz0iJHNhdmVfQ0ZMQUdTIgorICAgICBDQz0iJGFjX3NhdmVfY2MiCisgICAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICRhY19jdl9lbmFibGVfdW5yZWFjaGFibGVfY29kZV93YXJuaW5nIiA+JjUKKyRhc19lY2hvICIkYWNfY3ZfZW5hYmxlX3VucmVhY2hhYmxlX2NvZGVfd2FybmluZyIgPiY2OyB9CisKKyAgICAjIERvbid0IGVuYWJsZSB1bnJlYWNoYWJsZSBjb2RlIHdhcm5pbmcgaW4gZGVidWcgbW9kZSwgc2luY2UgaXQgdXN1YWxseQorICAgICMgcmVzdWx0cyBpbiBub24tc3RhbmRhcmQgY29kZSBwYXRocy4KKyAgICBpZiB0ZXN0ICRhY19jdl9lbmFibGVfdW5yZWFjaGFibGVfY29kZV93YXJuaW5nID0geWVzICYmIHRlc3QgIiRQeV9ERUJVRyIgIT0gInRydWUiCisgICAgdGhlbgorICAgICAgQkFTRUNGTEFHUz0iJEJBU0VDRkxBR1MgLVd1bnJlYWNoYWJsZS1jb2RlIgorICAgIGZpCisKICAgICAjIGlmIHVzaW5nIGdjYyBvbiBhbHBoYSwgdXNlIC1taWVlZSB0byBnZXQgKG5lYXIpIGZ1bGwgSUVFRSA3NTQKICAgICAjIHN1cHBvcnQuICBXaXRob3V0IHRoaXMsIHRyZWF0bWVudCBvZiBzdWJub3JtYWxzIGRvZXNuJ3QgZm9sbG93CiAgICAgIyB0aGUgc3RhbmRhcmQuCkBAIC05MTc2LDYgKzkzMTksMjMgQEAKIGZpCiAKIAoreyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3IgLS13aXRoLWFkZHJlc3Mtc2FuaXRpemVyIiA+JjUKKyRhc19lY2hvX24gImNoZWNraW5nIGZvciAtLXdpdGgtYWRkcmVzcy1zYW5pdGl6ZXIuLi4gIiA+JjY7IH0KKworIyBDaGVjayB3aGV0aGVyIC0td2l0aC1hZGRyZXNzX3Nhbml0aXplciB3YXMgZ2l2ZW4uCitpZiB0ZXN0ICIke3dpdGhfYWRkcmVzc19zYW5pdGl6ZXIrc2V0fSIgPSBzZXQ7IHRoZW4gOgorICB3aXRodmFsPSR3aXRoX2FkZHJlc3Nfc2FuaXRpemVyOworeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICR3aXRodmFsIiA+JjUKKyRhc19lY2hvICIkd2l0aHZhbCIgPiY2OyB9CitCQVNFQ0ZMQUdTPSItZnNhbml0aXplPWFkZHJlc3MgLWZuby1vbWl0LWZyYW1lLXBvaW50ZXIgJEJBU0VDRkxBR1MiCitMREZMQUdTPSItZnNhbml0aXplPWFkZHJlc3MgJExERkxBR1MiCisKK2Vsc2UKKyAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6IG5vIiA+JjUKKyRhc19lY2hvICJubyIgPiY2OyB9CitmaQorCisKICMgTW9zdCBTVlI0IHBsYXRmb3JtcyAoZS5nLiBTb2xhcmlzKSBuZWVkIC1sc29ja2V0IGFuZCAtbG5zbC4KIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgZm9yIHRfb3BlbiBpbiAtbG5zbCIgPiY1CiAkYXNfZWNob19uICJjaGVja2luZyBmb3IgdF9vcGVuIGluIC1sbnNsLi4uICIgPiY2OyB9CkBAIC0xMTgyMiw2ICsxMTk4Miw3IEBACiAkYXNfZWNobyAiJGFjX2N2X2xpYl9ydF9jbG9ja19nZXR0aW1lIiA+JjY7IH0KIGlmIHRlc3QgIngkYWNfY3ZfbGliX3J0X2Nsb2NrX2dldHRpbWUiID0geHllczsgdGhlbiA6CiAKKyAgICAgICAgTElCUz0iJExJQlMgLWxydCIKICAgICAgICAgJGFzX2VjaG8gIiNkZWZpbmUgSEFWRV9DTE9DS19HRVRUSU1FIDEiID4+Y29uZmRlZnMuaAogCiAKQEAgLTEzMjY1LDYgKzEzNDI2LDM4IEBACiAKIGZpCiAKK3sgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgd2hldGhlciB3ZSBjYW4gdXNlIGdjYyBpbmxpbmUgYXNzZW1ibGVyIHRvIGdldCBhbmQgc2V0IG1jNjg4ODEgZnBjciIgPiY1CiskYXNfZWNob19uICJjaGVja2luZyB3aGV0aGVyIHdlIGNhbiB1c2UgZ2NjIGlubGluZSBhc3NlbWJsZXIgdG8gZ2V0IGFuZCBzZXQgbWM2ODg4MSBmcGNyLi4uICIgPiY2OyB9CitjYXQgY29uZmRlZnMuaCAtIDw8X0FDRU9GID5jb25mdGVzdC4kYWNfZXh0CisvKiBlbmQgY29uZmRlZnMuaC4gICovCisKK2ludAorbWFpbiAoKQoreworCisgIHVuc2lnbmVkIGludCBmcGNyOworICBfX2FzbV9fIF9fdm9sYXRpbGVfXyAoImZtb3ZlLmwgJSVmcGNyLCUwIiA6ICI9ZyIgKGZwY3IpKTsKKyAgX19hc21fXyBfX3ZvbGF0aWxlX18gKCJmbW92ZS5sICUwLCUlZnBjciIgOiA6ICJnIiAoZnBjcikpOworCisgIDsKKyAgcmV0dXJuIDA7Cit9CitfQUNFT0YKK2lmIGFjX2ZuX2NfdHJ5X2NvbXBpbGUgIiRMSU5FTk8iOyB0aGVuIDoKKyAgaGF2ZV9nY2NfYXNtX2Zvcl9tYzY4ODgxPXllcworZWxzZQorICBoYXZlX2djY19hc21fZm9yX21jNjg4ODE9bm8KK2ZpCitybSAtZiBjb3JlIGNvbmZ0ZXN0LmVyciBjb25mdGVzdC4kYWNfb2JqZXh0IGNvbmZ0ZXN0LiRhY19leHQKK3sgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiAkaGF2ZV9nY2NfYXNtX2Zvcl9tYzY4ODgxIiA+JjUKKyRhc19lY2hvICIkaGF2ZV9nY2NfYXNtX2Zvcl9tYzY4ODgxIiA+JjY7IH0KK2lmIHRlc3QgIiRoYXZlX2djY19hc21fZm9yX21jNjg4ODEiID0geWVzCit0aGVuCisKKyRhc19lY2hvICIjZGVmaW5lIEhBVkVfR0NDX0FTTV9GT1JfTUM2ODg4MSAxIiA+PmNvbmZkZWZzLmgKKworZmkKKwogIyBEZXRlY3Qgd2hldGhlciBzeXN0ZW0gYXJpdGhtZXRpYyBpcyBzdWJqZWN0IHRvIHg4Ny1zdHlsZSBkb3VibGUKICMgcm91bmRpbmcgaXNzdWVzLiAgVGhlIHJlc3VsdCBvZiB0aGlzIHRlc3QgaGFzIGxpdHRsZSBtZWFuaW5nIG9uIG5vbgogIyBJRUVFIDc1NCBwbGF0Zm9ybXMuICBPbiBJRUVFIDc1NCwgdGVzdCBzaG91bGQgcmV0dXJuIDEgaWYgcm91bmRpbmcKQEAgLTE0NDE0LDYgKzE0NjA3LDQ5IEBACiAKIGZpCiAKK3sgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgZm9yIGFwcGVuZF9oaXN0b3J5IGluIC1scmVhZGxpbmUiID4mNQorJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yIGFwcGVuZF9oaXN0b3J5IGluIC1scmVhZGxpbmUuLi4gIiA+JjY7IH0KK2lmICR7YWNfY3ZfbGliX3JlYWRsaW5lX2FwcGVuZF9oaXN0b3J5Kzp9IGZhbHNlOyB0aGVuIDoKKyAgJGFzX2VjaG9fbiAiKGNhY2hlZCkgIiA+JjYKK2Vsc2UKKyAgYWNfY2hlY2tfbGliX3NhdmVfTElCUz0kTElCUworTElCUz0iLWxyZWFkbGluZSAkUkVBRExJTkVfTElCUyAkTElCUyIKK2NhdCBjb25mZGVmcy5oIC0gPDxfQUNFT0YgPmNvbmZ0ZXN0LiRhY19leHQKKy8qIGVuZCBjb25mZGVmcy5oLiAgKi8KKworLyogT3ZlcnJpZGUgYW55IEdDQyBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuCisgICBVc2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MKKyAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCisjaWZkZWYgX19jcGx1c3BsdXMKK2V4dGVybiAiQyIKKyNlbmRpZgorY2hhciBhcHBlbmRfaGlzdG9yeSAoKTsKK2ludAorbWFpbiAoKQoreworcmV0dXJuIGFwcGVuZF9oaXN0b3J5ICgpOworICA7CisgIHJldHVybiAwOworfQorX0FDRU9GCitpZiBhY19mbl9jX3RyeV9saW5rICIkTElORU5PIjsgdGhlbiA6CisgIGFjX2N2X2xpYl9yZWFkbGluZV9hcHBlbmRfaGlzdG9yeT15ZXMKK2Vsc2UKKyAgYWNfY3ZfbGliX3JlYWRsaW5lX2FwcGVuZF9oaXN0b3J5PW5vCitmaQorcm0gLWYgY29yZSBjb25mdGVzdC5lcnIgY29uZnRlc3QuJGFjX29iamV4dCBcCisgICAgY29uZnRlc3QkYWNfZXhlZXh0IGNvbmZ0ZXN0LiRhY19leHQKK0xJQlM9JGFjX2NoZWNrX2xpYl9zYXZlX0xJQlMKK2ZpCit7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJGFjX2N2X2xpYl9yZWFkbGluZV9hcHBlbmRfaGlzdG9yeSIgPiY1CiskYXNfZWNobyAiJGFjX2N2X2xpYl9yZWFkbGluZV9hcHBlbmRfaGlzdG9yeSIgPiY2OyB9CitpZiB0ZXN0ICJ4JGFjX2N2X2xpYl9yZWFkbGluZV9hcHBlbmRfaGlzdG9yeSIgPSB4eWVzOyB0aGVuIDoKKworJGFzX2VjaG8gIiNkZWZpbmUgSEFWRV9STF9BUFBFTkRfSElTVE9SWSAxIiA+PmNvbmZkZWZzLmgKKworZmkKKworCiAjIEVuZCBvZiByZWFkbGluZSBjaGVja3M6IHJlc3RvcmUgTElCUwogTElCUz0kTElCU19ub19yZWFkbGluZQogCkBAIC0xNTMzMCw3ICsxNTU2Niw3IEBACiBkb25lCiAKIAotU1JDRElSUz0iUGFyc2VyIEdyYW1tYXIgT2JqZWN0cyBQeXRob24gTW9kdWxlcyBNYWMiCitTUkNESVJTPSJQYXJzZXIgR3JhbW1hciBPYmplY3RzIFB5dGhvbiBNb2R1bGVzIE1hYyBQcm9ncmFtcyIKIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgZm9yIGJ1aWxkIGRpcmVjdG9yaWVzIiA+JjUKICRhc19lY2hvX24gImNoZWNraW5nIGZvciBidWlsZCBkaXJlY3Rvcmllcy4uLiAiID4mNjsgfQogZm9yIGRpciBpbiAkU1JDRElSUzsgZG8KQEAgLTE1NDcxLDYgKzE1NzA3LDcyIEBACiAgICAgZXNhYwogZmkKIAorIyBDaGVjayBmb3Igc3RkYXRvbWljLmgKK3sgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgZm9yIHN0ZGF0b21pYy5oIiA+JjUKKyRhc19lY2hvX24gImNoZWNraW5nIGZvciBzdGRhdG9taWMuaC4uLiAiID4mNjsgfQorY2F0IGNvbmZkZWZzLmggLSA8PF9BQ0VPRiA+Y29uZnRlc3QuJGFjX2V4dAorLyogZW5kIGNvbmZkZWZzLmguICAqLworCisKKyAgICAjaW5jbHVkZSA8c3RkYXRvbWljLmg+CisgICAgYXRvbWljX2ludCB2YWx1ZSA9IEFUT01JQ19WQVJfSU5JVCgxKTsKKyAgICBfQXRvbWljIHZvaWQgKnB5X2F0b21pY19hZGRyZXNzID0gKHZvaWQqKSAmdmFsdWU7CisgICAgaW50IG1haW4oKSB7CisgICAgICBpbnQgbG9hZGVkX3ZhbHVlID0gYXRvbWljX2xvYWQoJnZhbHVlKTsKKyAgICAgIHJldHVybiAwOworICAgIH0KKworCitfQUNFT0YKK2lmIGFjX2ZuX2NfdHJ5X2xpbmsgIiRMSU5FTk8iOyB0aGVuIDoKKyAgaGF2ZV9zdGRhdG9taWNfaD15ZXMKK2Vsc2UKKyAgaGF2ZV9zdGRhdG9taWNfaD1ubworZmkKK3JtIC1mIGNvcmUgY29uZnRlc3QuZXJyIGNvbmZ0ZXN0LiRhY19vYmpleHQgXAorICAgIGNvbmZ0ZXN0JGFjX2V4ZWV4dCBjb25mdGVzdC4kYWNfZXh0CisKK3sgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiAkaGF2ZV9zdGRhdG9taWNfaCIgPiY1CiskYXNfZWNobyAiJGhhdmVfc3RkYXRvbWljX2giID4mNjsgfQorCitpZiB0ZXN0ICIkaGF2ZV9zdGRhdG9taWNfaCIgPSB5ZXM7IHRoZW4KKworJGFzX2VjaG8gIiNkZWZpbmUgSEFWRV9TVERfQVRPTUlDIDEiID4+Y29uZmRlZnMuaAorCitmaQorCisjIENoZWNrIGZvciBHQ0MgPj0gNC43IF9fYXRvbWljIGJ1aWx0aW5zCit7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciBHQ0MgPj0gNC43IF9fYXRvbWljIGJ1aWx0aW5zIiA+JjUKKyRhc19lY2hvX24gImNoZWNraW5nIGZvciBHQ0MgPj0gNC43IF9fYXRvbWljIGJ1aWx0aW5zLi4uICIgPiY2OyB9CitjYXQgY29uZmRlZnMuaCAtIDw8X0FDRU9GID5jb25mdGVzdC4kYWNfZXh0CisvKiBlbmQgY29uZmRlZnMuaC4gICovCisKKworICAgIHZvbGF0aWxlIGludCB2YWwgPSAxOworICAgIGludCBtYWluKCkgeworICAgICAgX19hdG9taWNfbG9hZF9uKCZ2YWwsIF9fQVRPTUlDX1NFUV9DU1QpOworICAgICAgcmV0dXJuIDA7CisgICAgfQorCisKK19BQ0VPRgoraWYgYWNfZm5fY190cnlfbGluayAiJExJTkVOTyI7IHRoZW4gOgorICBoYXZlX2J1aWx0aW5fYXRvbWljPXllcworZWxzZQorICBoYXZlX2J1aWx0aW5fYXRvbWljPW5vCitmaQorcm0gLWYgY29yZSBjb25mdGVzdC5lcnIgY29uZnRlc3QuJGFjX29iamV4dCBcCisgICAgY29uZnRlc3QkYWNfZXhlZXh0IGNvbmZ0ZXN0LiRhY19leHQKKworeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICRoYXZlX2J1aWx0aW5fYXRvbWljIiA+JjUKKyRhc19lY2hvICIkaGF2ZV9idWlsdGluX2F0b21pYyIgPiY2OyB9CisKK2lmIHRlc3QgIiRoYXZlX2J1aWx0aW5fYXRvbWljIiA9IHllczsgdGhlbgorCiskYXNfZWNobyAiI2RlZmluZSBIQVZFX0JVSUxUSU5fQVRPTUlDIDEiID4+Y29uZmRlZnMuaAorCitmaQorCiAjIGVuc3VyZXBpcCBvcHRpb24KIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgZm9yIGVuc3VyZXBpcCIgPiY1CiAkYXNfZWNob19uICJjaGVja2luZyBmb3IgZW5zdXJlcGlwLi4uICIgPiY2OyB9CkBAIC0xNjAwOCw3ICsxNjMxMCw3IEBACiAjIHJlcG9ydCBhY3R1YWwgaW5wdXQgdmFsdWVzIG9mIENPTkZJR19GSUxFUyBldGMuIGluc3RlYWQgb2YgdGhlaXIKICMgdmFsdWVzIGFmdGVyIG9wdGlvbnMgaGFuZGxpbmcuCiBhY19sb2c9IgotVGhpcyBmaWxlIHdhcyBleHRlbmRlZCBieSBweXRob24gJGFzX21lIDMuNCwgd2hpY2ggd2FzCitUaGlzIGZpbGUgd2FzIGV4dGVuZGVkIGJ5IHB5dGhvbiAkYXNfbWUgMy41LCB3aGljaCB3YXMKIGdlbmVyYXRlZCBieSBHTlUgQXV0b2NvbmYgMi42OS4gIEludm9jYXRpb24gY29tbWFuZCBsaW5lIHdhcwogCiAgIENPTkZJR19GSUxFUyAgICA9ICRDT05GSUdfRklMRVMKQEAgLTE2MDcwLDcgKzE2MzcyLDcgQEAKIGNhdCA+PiRDT05GSUdfU1RBVFVTIDw8X0FDRU9GIHx8IGFjX3dyaXRlX2ZhaWw9MQogYWNfY3NfY29uZmlnPSJgJGFzX2VjaG8gIiRhY19jb25maWd1cmVfYXJncyIgfCBzZWQgJ3MvXiAvLzsgcy9bXFwiIlxgXCRdL1xcXFwmL2cnYCIKIGFjX2NzX3ZlcnNpb249IlxcCi1weXRob24gY29uZmlnLnN0YXR1cyAzLjQKK3B5dGhvbiBjb25maWcuc3RhdHVzIDMuNQogY29uZmlndXJlZCBieSAkMCwgZ2VuZXJhdGVkIGJ5IEdOVSBBdXRvY29uZiAyLjY5LAogICB3aXRoIG9wdGlvbnMgXFwiXCRhY19jc19jb25maWdcXCIKIApkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFjCmluZGV4IDg5NjkyNzkuLmEyYzVlYjQgMTAwNjQ0Ci0tLSBhL2NvbmZpZ3VyZS5hYworKysgYi9jb25maWd1cmUuYWMKQEAgLTMsNyArMyw3IEBACiBkbmwgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIAogIyBTZXQgVkVSU0lPTiBzbyB3ZSBvbmx5IG5lZWQgdG8gZWRpdCBpbiBvbmUgcGxhY2UgKGkuZS4sIGhlcmUpCi1tNF9kZWZpbmUoUFlUSE9OX1ZFUlNJT04sIDMuNCkKK200X2RlZmluZShQWVRIT05fVkVSU0lPTiwgMy41KQogCiBBQ19QUkVSRVEoMi42NSkKIApAQCAtMTAzOSw2ICsxMDM5LDE1IEBACiAgICAgQVNETEdFTj0iJFBZVEhPTiIKIGZpCiAKK0FDX1NVQlNUKE9QQ09ERUhHRU4pCitBQ19DSEVDS19QUk9HUyhQWVRIT04sIHB5dGhvbiRQQUNLQUdFX1ZFUlNJT04gcHl0aG9uMyBweXRob24sIG5vdC1mb3VuZCkKK2lmIHRlc3QgIiRQWVRIT04iID0gbm90LWZvdW5kOyB0aGVuCisgICAgT1BDT0RFSEdFTj0iQGVjaG8gcHl0aG9uOiAkUFlUSE9OISBjYW5ub3QgcnVuIFRvb2xzL3NjcmlwdHMvZ2VuZXJhdGVfb3Bjb2RlX2gucHkiCitlbHNlCisgICAgT1BDT0RFSEdFTj0iJFBZVEhPTiIKK2ZpCisKKwogCiBjYXNlICRNQUNIREVQIGluCiBic2Rvcyp8aHAqfEhQKikKQEAgLTEyMzMsNiArMTI0Miw1MiBAQAogICAgICAgQ0ZMQUdTX05PRElTVD0iJENGTEFHU19OT0RJU1QgLVdlcnJvcj1kZWNsYXJhdGlvbi1hZnRlci1zdGF0ZW1lbnQiCiAgICAgZmkKIAorICAgIEFDX01TR19DSEVDS0lORyhpZiB3ZSBjYW4gdHVybiBvbiAkQ0MgbWl4ZWQgc2lnbiBjb21wYXJpc29uIHdhcm5pbmcpCisgICAgIGFjX3NhdmVfY2M9IiRDQyIKKyAgICAgQ0M9IiRDQyAtV3NpZ24tY29tcGFyZSIKKyAgICAgc2F2ZV9DRkxBR1M9IiRDRkxBR1MiCisgICAgIEFDX0NBQ0hFX1ZBTChhY19jdl9lbmFibGVfc2lnbl9jb21wYXJlX3dhcm5pbmcsCisgICAgICAgQUNfQ09NUElMRV9JRkVMU0UoCisgICAgICAgICBbCisJICAgQUNfTEFOR19QUk9HUkFNKFtbXV0sIFtbXV0pCisJIF0sWworICAgICAgICAgICBhY19jdl9lbmFibGVfc2lnbl9jb21wYXJlX3dhcm5pbmc9eWVzCisJIF0sWworICAgICAgICAgICBhY19jdl9lbmFibGVfc2lnbl9jb21wYXJlX3dhcm5pbmc9bm8KKwkgXSkpCisgICAgIENGTEFHUz0iJHNhdmVfQ0ZMQUdTIgorICAgICBDQz0iJGFjX3NhdmVfY2MiCisgICAgQUNfTVNHX1JFU1VMVCgkYWNfY3ZfZW5hYmxlX3NpZ25fY29tcGFyZV93YXJuaW5nKQorCisgICAgaWYgdGVzdCAkYWNfY3ZfZW5hYmxlX3NpZ25fY29tcGFyZV93YXJuaW5nID0geWVzCisgICAgdGhlbgorICAgICAgQkFTRUNGTEFHUz0iJEJBU0VDRkxBR1MgLVdzaWduLWNvbXBhcmUiCisgICAgZmkKKworICAgIEFDX01TR19DSEVDS0lORyhpZiB3ZSBjYW4gdHVybiBvbiAkQ0MgdW5yZWFjaGFibGUgY29kZSB3YXJuaW5nKQorICAgICBhY19zYXZlX2NjPSIkQ0MiCisgICAgIENDPSIkQ0MgLVd1bnJlYWNoYWJsZS1jb2RlIgorICAgICBzYXZlX0NGTEFHUz0iJENGTEFHUyIKKyAgICAgQUNfQ0FDSEVfVkFMKGFjX2N2X2VuYWJsZV91bnJlYWNoYWJsZV9jb2RlX3dhcm5pbmcsCisgICAgICAgQUNfQ09NUElMRV9JRkVMU0UoCisgICAgICAgICBbCisJICAgQUNfTEFOR19QUk9HUkFNKFtbXV0sIFtbXV0pCisJIF0sWworICAgICAgICAgICBhY19jdl9lbmFibGVfdW5yZWFjaGFibGVfY29kZV93YXJuaW5nPXllcworCSBdLFsKKyAgICAgICAgICAgYWNfY3ZfZW5hYmxlX3VucmVhY2hhYmxlX2NvZGVfd2FybmluZz1ubworCSBdKSkKKyAgICAgQ0ZMQUdTPSIkc2F2ZV9DRkxBR1MiCisgICAgIENDPSIkYWNfc2F2ZV9jYyIKKyAgICBBQ19NU0dfUkVTVUxUKCRhY19jdl9lbmFibGVfdW5yZWFjaGFibGVfY29kZV93YXJuaW5nKQorCisgICAgIyBEb24ndCBlbmFibGUgdW5yZWFjaGFibGUgY29kZSB3YXJuaW5nIGluIGRlYnVnIG1vZGUsIHNpbmNlIGl0IHVzdWFsbHkKKyAgICAjIHJlc3VsdHMgaW4gbm9uLXN0YW5kYXJkIGNvZGUgcGF0aHMuCisgICAgaWYgdGVzdCAkYWNfY3ZfZW5hYmxlX3VucmVhY2hhYmxlX2NvZGVfd2FybmluZyA9IHllcyAmJiB0ZXN0ICIkUHlfREVCVUciICE9ICJ0cnVlIgorICAgIHRoZW4KKyAgICAgIEJBU0VDRkxBR1M9IiRCQVNFQ0ZMQUdTIC1XdW5yZWFjaGFibGUtY29kZSIKKyAgICBmaQorCiAgICAgIyBpZiB1c2luZyBnY2Mgb24gYWxwaGEsIHVzZSAtbWllZWUgdG8gZ2V0IChuZWFyKSBmdWxsIElFRUUgNzU0CiAgICAgIyBzdXBwb3J0LiAgV2l0aG91dCB0aGlzLCB0cmVhdG1lbnQgb2Ygc3Vibm9ybWFscyBkb2Vzbid0IGZvbGxvdwogICAgICMgdGhlIHN0YW5kYXJkLgpAQCAtMjMyOSw2ICsyMzg0LDE3IEBACiBdLAogW0FDX01TR19SRVNVTFQoZGVmYXVsdCldKQogCitBQ19NU0dfQ0hFQ0tJTkcoZm9yIC0td2l0aC1hZGRyZXNzLXNhbml0aXplcikKK0FDX0FSR19XSVRIKGFkZHJlc3Nfc2FuaXRpemVyLAorICAgICAgICAgICAgQVNfSEVMUF9TVFJJTkcoWy0td2l0aC1hZGRyZXNzLXNhbml0aXplcl0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICBbZW5hYmxlIEFkZHJlc3NTYW5pdGl6ZXJdKSwKK1sKK0FDX01TR19SRVNVTFQoJHdpdGh2YWwpCitCQVNFQ0ZMQUdTPSItZnNhbml0aXplPWFkZHJlc3MgLWZuby1vbWl0LWZyYW1lLXBvaW50ZXIgJEJBU0VDRkxBR1MiCitMREZMQUdTPSItZnNhbml0aXplPWFkZHJlc3MgJExERkxBR1MiCitdLAorW0FDX01TR19SRVNVTFQobm8pXSkKKwogIyBNb3N0IFNWUjQgcGxhdGZvcm1zIChlLmcuIFNvbGFyaXMpIG5lZWQgLWxzb2NrZXQgYW5kIC1sbnNsLgogQUNfQ0hFQ0tfTElCKG5zbCwgdF9vcGVuLCBbTElCUz0iLWxuc2wgJExJQlMiXSkgIyBTVlI0CiBBQ19DSEVDS19MSUIoc29ja2V0LCBzb2NrZXQsIFtMSUJTPSItbHNvY2tldCAkTElCUyJdLCBbXSwgJExJQlMpICMgU1ZSNCBzb2NrZXRzCkBAIC0zMjYwLDYgKzMzMjYsNyBAQAogCiBBQ19DSEVDS19GVU5DUyhjbG9ja19nZXR0aW1lLCBbXSwgWwogICAgIEFDX0NIRUNLX0xJQihydCwgY2xvY2tfZ2V0dGltZSwgWworICAgICAgICBMSUJTPSIkTElCUyAtbHJ0IgogICAgICAgICBBQ19ERUZJTkUoSEFWRV9DTE9DS19HRVRUSU1FLCAxKQogICAgICAgICBBQ19ERUZJTkUoVElNRU1PRFVMRV9MSUIsIFtydF0sCiAgICAgICAgICAgICAgICAgICBbTGlicmFyeSBuZWVkZWQgYnkgdGltZW1vZHVsZS5jOiBsaWJydCBtYXkgYmUgbmVlZGVkIGZvciBjbG9ja19nZXR0aW1lKCldKQpAQCAtMzgxNCw2ICszODgxLDE5IEBACiAgICAgW0RlZmluZSBpZiB3ZSBjYW4gdXNlIGdjYyBpbmxpbmUgYXNzZW1ibGVyIHRvIGdldCBhbmQgc2V0IHg4NyBjb250cm9sIHdvcmRdKQogZmkKIAorQUNfTVNHX0NIRUNLSU5HKHdoZXRoZXIgd2UgY2FuIHVzZSBnY2MgaW5saW5lIGFzc2VtYmxlciB0byBnZXQgYW5kIHNldCBtYzY4ODgxIGZwY3IpCitBQ19DT01QSUxFX0lGRUxTRShbQUNfTEFOR19QUk9HUkFNKFtbXV0sIFtbCisgIHVuc2lnbmVkIGludCBmcGNyOworICBfX2FzbV9fIF9fdm9sYXRpbGVfXyAoImZtb3ZlLmwgJSVmcGNyLCUwIiA6ICI9ZyIgKGZwY3IpKTsKKyAgX19hc21fXyBfX3ZvbGF0aWxlX18gKCJmbW92ZS5sICUwLCUlZnBjciIgOiA6ICJnIiAoZnBjcikpOworXV0pXSxbaGF2ZV9nY2NfYXNtX2Zvcl9tYzY4ODgxPXllc10sW2hhdmVfZ2NjX2FzbV9mb3JfbWM2ODg4MT1ub10pCitBQ19NU0dfUkVTVUxUKCRoYXZlX2djY19hc21fZm9yX21jNjg4ODEpCitpZiB0ZXN0ICIkaGF2ZV9nY2NfYXNtX2Zvcl9tYzY4ODgxIiA9IHllcwordGhlbgorICAgIEFDX0RFRklORShIQVZFX0dDQ19BU01fRk9SX01DNjg4ODEsIDEsCisgICAgW0RlZmluZSBpZiB3ZSBjYW4gdXNlIGdjYyBpbmxpbmUgYXNzZW1ibGVyIHRvIGdldCBhbmQgc2V0IG1jNjg4ODEgZnBjcl0pCitmaQorCiAjIERldGVjdCB3aGV0aGVyIHN5c3RlbSBhcml0aG1ldGljIGlzIHN1YmplY3QgdG8geDg3LXN0eWxlIGRvdWJsZQogIyByb3VuZGluZyBpc3N1ZXMuICBUaGUgcmVzdWx0IG9mIHRoaXMgdGVzdCBoYXMgbGl0dGxlIG1lYW5pbmcgb24gbm9uCiAjIElFRUUgNzU0IHBsYXRmb3Jtcy4gIE9uIElFRUUgNzU0LCB0ZXN0IHNob3VsZCByZXR1cm4gMSBpZiByb3VuZGluZwpAQCAtNDIzNSw2ICs0MzE1LDEwIEBACiAgIFtEZWZpbmUgaWYgeW91IGNhbiB0dXJuIG9mZiByZWFkbGluZSdzIHNpZ25hbCBoYW5kbGluZy5dKSwgKQogZmkKIAorQUNfQ0hFQ0tfTElCKHJlYWRsaW5lLCBhcHBlbmRfaGlzdG9yeSwKKwlBQ19ERUZJTkUoSEFWRV9STF9BUFBFTkRfSElTVE9SWSwgMSwKKyAgICAgICAgW0RlZmluZSBpZiByZWFkbGluZSBzdXBwb3J0cyBhcHBlbmRfaGlzdG9yeV0pLCAsJFJFQURMSU5FX0xJQlMpCisKICMgRW5kIG9mIHJlYWRsaW5lIGNoZWNrczogcmVzdG9yZSBMSUJTCiBMSUJTPSRMSUJTX25vX3JlYWRsaW5lCiAKQEAgLTQ3MTIsNyArNDc5Niw3IEBACiBkb25lCiAKIEFDX1NVQlNUKFNSQ0RJUlMpCi1TUkNESVJTPSJQYXJzZXIgR3JhbW1hciBPYmplY3RzIFB5dGhvbiBNb2R1bGVzIE1hYyIKK1NSQ0RJUlM9IlBhcnNlciBHcmFtbWFyIE9iamVjdHMgUHl0aG9uIE1vZHVsZXMgTWFjIFByb2dyYW1zIgogQUNfTVNHX0NIRUNLSU5HKGZvciBidWlsZCBkaXJlY3RvcmllcykKIGZvciBkaXIgaW4gJFNSQ0RJUlM7IGRvCiAgICAgaWYgdGVzdCAhIC1kICRkaXI7IHRoZW4KQEAgLTQ4MDQsNiArNDg4OCw0NyBAQAogICAgIGVzYWMKIGZpCiAKKyMgQ2hlY2sgZm9yIHN0ZGF0b21pYy5oCitBQ19NU0dfQ0hFQ0tJTkcoZm9yIHN0ZGF0b21pYy5oKQorQUNfTElOS19JRkVMU0UoCitbCisgIEFDX0xBTkdfU09VUkNFKFtbCisgICAgI2luY2x1ZGUgPHN0ZGF0b21pYy5oPgorICAgIGF0b21pY19pbnQgdmFsdWUgPSBBVE9NSUNfVkFSX0lOSVQoMSk7CisgICAgX0F0b21pYyB2b2lkICpweV9hdG9taWNfYWRkcmVzcyA9ICh2b2lkKikgJnZhbHVlOworICAgIGludCBtYWluKCkgeworICAgICAgaW50IGxvYWRlZF92YWx1ZSA9IGF0b21pY19sb2FkKCZ2YWx1ZSk7CisgICAgICByZXR1cm4gMDsKKyAgICB9CisgIF1dKQorXSxbaGF2ZV9zdGRhdG9taWNfaD15ZXNdLFtoYXZlX3N0ZGF0b21pY19oPW5vXSkKKworQUNfTVNHX1JFU1VMVCgkaGF2ZV9zdGRhdG9taWNfaCkKKworaWYgdGVzdCAiJGhhdmVfc3RkYXRvbWljX2giID0geWVzOyB0aGVuCisgICAgQUNfREVGSU5FKEhBVkVfU1REX0FUT01JQywgMSwKKyAgICAgICAgICAgICAgW0hhcyBzdGRhdG9taWMuaCwgYXRvbWljX2ludCBhbmQgX0F0b21pYyB2b2lkKiB0eXBlcyB3b3JrXSkKK2ZpCisKKyMgQ2hlY2sgZm9yIEdDQyA+PSA0LjcgX19hdG9taWMgYnVpbHRpbnMKK0FDX01TR19DSEVDS0lORyhmb3IgR0NDID49IDQuNyBfX2F0b21pYyBidWlsdGlucykKK0FDX0xJTktfSUZFTFNFKAorWworICBBQ19MQU5HX1NPVVJDRShbWworICAgIHZvbGF0aWxlIGludCB2YWwgPSAxOworICAgIGludCBtYWluKCkgeworICAgICAgX19hdG9taWNfbG9hZF9uKCZ2YWwsIF9fQVRPTUlDX1NFUV9DU1QpOworICAgICAgcmV0dXJuIDA7CisgICAgfQorICBdXSkKK10sW2hhdmVfYnVpbHRpbl9hdG9taWM9eWVzXSxbaGF2ZV9idWlsdGluX2F0b21pYz1ub10pCisKK0FDX01TR19SRVNVTFQoJGhhdmVfYnVpbHRpbl9hdG9taWMpCisKK2lmIHRlc3QgIiRoYXZlX2J1aWx0aW5fYXRvbWljIiA9IHllczsgdGhlbgorICAgIEFDX0RFRklORShIQVZFX0JVSUxUSU5fQVRPTUlDLCAxLCBbSGFzIGJ1aWx0aW4gYXRvbWljc10pCitmaQorCiAjIGVuc3VyZXBpcCBvcHRpb24KIEFDX01TR19DSEVDS0lORyhmb3IgZW5zdXJlcGlwKQogQUNfQVJHX1dJVEgoZW5zdXJlcGlwLApkaWZmIC0tZ2l0IGEvcHljb25maWcuaC5pbiBiL3B5Y29uZmlnLmguaW4KaW5kZXggODU0OTBjOC4uNTA3YTdhYiAxMDA2NDQKLS0tIGEvcHljb25maWcuaC5pbgorKysgYi9weWNvbmZpZy5oLmluCkBAIC0xMDEsNiArMTAxLDkgQEAKIC8qIERlZmluZSBpZiBgdW5zZXRlbnZgIGRvZXMgbm90IHJldHVybiBhbiBpbnQuICovCiAjdW5kZWYgSEFWRV9CUk9LRU5fVU5TRVRFTlYKIAorLyogSGFzIGJ1aWx0aW4gYXRvbWljcyAqLworI3VuZGVmIEhBVkVfQlVJTFRJTl9BVE9NSUMKKwogLyogRGVmaW5lIHRoaXMgaWYgeW91IGhhdmUgdGhlIHR5cGUgX0Jvb2wuICovCiAjdW5kZWYgSEFWRV9DOTlfQk9PTAogCkBAIC0zMTMsNiArMzE2LDkgQEAKIC8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgZ2FtbWEnIGZ1bmN0aW9uLiAqLwogI3VuZGVmIEhBVkVfR0FNTUEKIAorLyogRGVmaW5lIGlmIHdlIGNhbiB1c2UgZ2NjIGlubGluZSBhc3NlbWJsZXIgdG8gZ2V0IGFuZCBzZXQgbWM2ODg4MSBmcGNyICovCisjdW5kZWYgSEFWRV9HQ0NfQVNNX0ZPUl9NQzY4ODgxCisKIC8qIERlZmluZSBpZiB3ZSBjYW4gdXNlIHg2NCBnY2MgaW5saW5lIGFzc2VtYmxlciAqLwogI3VuZGVmIEhBVkVfR0NDX0FTTV9GT1JfWDY0CiAKQEAgLTY5Myw2ICs2OTksOSBAQAogLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGByZW5hbWVhdCcgZnVuY3Rpb24uICovCiAjdW5kZWYgSEFWRV9SRU5BTUVBVAogCisvKiBEZWZpbmUgaWYgcmVhZGxpbmUgc3VwcG9ydHMgYXBwZW5kX2hpc3RvcnkgKi8KKyN1bmRlZiBIQVZFX1JMX0FQUEVORF9ISVNUT1JZCisKIC8qIERlZmluZSBpZiB5b3UgaGF2ZSByZWFkbGluZSAyLjEgKi8KICN1bmRlZiBIQVZFX1JMX0NBTExCQUNLCiAKQEAgLTg3MSw2ICs4ODAsOSBAQAogLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxzdGRsaWIuaD4gaGVhZGVyIGZpbGUuICovCiAjdW5kZWYgSEFWRV9TVERMSUJfSAogCisvKiBIYXMgc3RkYXRvbWljLmgsIGF0b21pY19pbnQgYW5kIF9BdG9taWMgdm9pZCogdHlwZXMgd29yayAqLworI3VuZGVmIEhBVkVfU1REX0FUT01JQworCiAvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYHN0cmR1cCcgZnVuY3Rpb24uICovCiAjdW5kZWYgSEFWRV9TVFJEVVAKIApkaWZmIC0tZ2l0IGEvc2V0dXAucHkgYi9zZXR1cC5weQppbmRleCAyNzc5NjU4Li4wZjg4ZTc4IDEwMDY0NAotLS0gYS9zZXR1cC5weQorKysgYi9zZXR1cC5weQpAQCAtMjUsNiArMjUsMTEgQEAKIHB5X2NmbGFnc19ub2Rpc3QgPSBzeXNjb25maWcuZ2V0X2NvbmZpZ192YXIoJ1BZX0NGTEFHU19OT0RJU1QnKQogc3lzY29uZmlnLmdldF9jb25maWdfdmFycygpWydDRkxBR1MnXSA9IGNmbGFncyArICcgJyArIHB5X2NmbGFnc19ub2Rpc3QKIAorY2xhc3MgRHVtbXk6CisgICAgIiIiSGFjayBmb3IgcGFyYWxsZWwgYnVpbGQiIiIKKyAgICBQcm9jZXNzUG9vbEV4ZWN1dG9yID0gTm9uZQorc3lzLm1vZHVsZXNbJ2NvbmN1cnJlbnQuZnV0dXJlcy5wcm9jZXNzJ10gPSBEdW1teQorCiBkZWYgZ2V0X3BsYXRmb3JtKCk6CiAgICAgIyBjcm9zcyBidWlsZAogICAgIGlmICJfUFlUSE9OX0hPU1RfUExBVEZPUk0iIGluIG9zLmVudmlyb246CkBAIC0xNzMsNiArMTc4LDkgQEAKICAgICBkZWYgX19pbml0X18oc2VsZiwgZGlzdCk6CiAgICAgICAgIGJ1aWxkX2V4dC5fX2luaXRfXyhzZWxmLCBkaXN0KQogICAgICAgICBzZWxmLmZhaWxlZCA9IFtdCisgICAgICAgIHNlbGYuZmFpbGVkX29uX2ltcG9ydCA9IFtdCisgICAgICAgIGlmICctaicgaW4gb3MuZW52aXJvbi5nZXQoJ01BS0VGTEFHUycsICcnKToKKyAgICAgICAgICAgIHNlbGYucGFyYWxsZWwgPSBUcnVlCiAKICAgICBkZWYgYnVpbGRfZXh0ZW5zaW9ucyhzZWxmKToKIApAQCAtMjUyLDkgKzI2MCwxMyBAQAogCiAgICAgICAgIGJ1aWxkX2V4dC5idWlsZF9leHRlbnNpb25zKHNlbGYpCiAKKyAgICAgICAgZm9yIGV4dCBpbiBzZWxmLmV4dGVuc2lvbnM6CisgICAgICAgICAgICBzZWxmLmNoZWNrX2V4dGVuc2lvbl9pbXBvcnQoZXh0KQorCiAgICAgICAgIGxvbmdlc3QgPSBtYXgoW2xlbihlLm5hbWUpIGZvciBlIGluIHNlbGYuZXh0ZW5zaW9uc10sIGRlZmF1bHQ9MCkKLSAgICAgICAgaWYgc2VsZi5mYWlsZWQ6Ci0gICAgICAgICAgICBsb25nZXN0ID0gbWF4KGxvbmdlc3QsIG1heChbbGVuKG5hbWUpIGZvciBuYW1lIGluIHNlbGYuZmFpbGVkXSkpCisgICAgICAgIGlmIHNlbGYuZmFpbGVkIG9yIHNlbGYuZmFpbGVkX29uX2ltcG9ydDoKKyAgICAgICAgICAgIGFsbF9mYWlsZWQgPSBzZWxmLmZhaWxlZCArIHNlbGYuZmFpbGVkX29uX2ltcG9ydAorICAgICAgICAgICAgbG9uZ2VzdCA9IG1heChsb25nZXN0LCBtYXgoW2xlbihuYW1lKSBmb3IgbmFtZSBpbiBhbGxfZmFpbGVkXSkpCiAKICAgICAgICAgZGVmIHByaW50X3RocmVlX2NvbHVtbihsc3QpOgogICAgICAgICAgICAgbHN0LnNvcnQoa2V5PXN0ci5sb3dlcikKQEAgLTI4Miw2ICsyOTQsMTQgQEAKICAgICAgICAgICAgIHByaW50X3RocmVlX2NvbHVtbihmYWlsZWQpCiAgICAgICAgICAgICBwcmludCgpCiAKKyAgICAgICAgaWYgc2VsZi5mYWlsZWRfb25faW1wb3J0OgorICAgICAgICAgICAgZmFpbGVkID0gc2VsZi5mYWlsZWRfb25faW1wb3J0WzpdCisgICAgICAgICAgICBwcmludCgpCisgICAgICAgICAgICBwcmludCgiRm9sbG93aW5nIG1vZHVsZXMgYnVpbHQgc3VjY2Vzc2Z1bGx5IgorICAgICAgICAgICAgICAgICAgIiBidXQgd2VyZSByZW1vdmVkIGJlY2F1c2UgdGhleSBjb3VsZCBub3QgYmUgaW1wb3J0ZWQ6IikKKyAgICAgICAgICAgIHByaW50X3RocmVlX2NvbHVtbihmYWlsZWQpCisgICAgICAgICAgICBwcmludCgpCisKICAgICBkZWYgYnVpbGRfZXh0ZW5zaW9uKHNlbGYsIGV4dCk6CiAKICAgICAgICAgaWYgZXh0Lm5hbWUgPT0gJ19jdHlwZXMnOgpAQCAtMjk1LDYgKzMxNSwxNSBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAoZXh0Lm5hbWUsIHN5cy5leGNfaW5mbygpWzFdKSkKICAgICAgICAgICAgIHNlbGYuZmFpbGVkLmFwcGVuZChleHQubmFtZSkKICAgICAgICAgICAgIHJldHVybgorCisgICAgZGVmIGNoZWNrX2V4dGVuc2lvbl9pbXBvcnQoc2VsZiwgZXh0KToKKyAgICAgICAgIyBEb24ndCB0cnkgdG8gaW1wb3J0IGFuIGV4dGVuc2lvbiB0aGF0IGhhcyBmYWlsZWQgdG8gY29tcGlsZQorICAgICAgICBpZiBleHQubmFtZSBpbiBzZWxmLmZhaWxlZDoKKyAgICAgICAgICAgIHNlbGYuYW5ub3VuY2UoCisgICAgICAgICAgICAgICAgJ1dBUk5JTkc6IHNraXBwaW5nIGltcG9ydCBjaGVjayBmb3IgZmFpbGVkIGJ1aWxkICIlcyInICUKKyAgICAgICAgICAgICAgICBleHQubmFtZSwgbGV2ZWw9MSkKKyAgICAgICAgICAgIHJldHVybgorCiAgICAgICAgICMgV29ya2Fyb3VuZCBmb3IgTWFjIE9TIFg6IFRoZSBDYXJib24tYmFzZWQgbW9kdWxlcyBjYW5ub3QgYmUKICAgICAgICAgIyByZWxpYWJseSBpbXBvcnRlZCBpbnRvIGEgY29tbWFuZC1saW5lIFB5dGhvbgogICAgICAgICBpZiAnQ2FyYm9uJyBpbiBleHQuZXh0cmFfbGlua19hcmdzOgpAQCAtMzM4LDkgKzM2Nyw5IEBACiAgICAgICAgIHNwZWMgPSBpbXBvcnRsaWIudXRpbC5zcGVjX2Zyb21fZmlsZV9sb2NhdGlvbihleHQubmFtZSwgZXh0X2ZpbGVuYW1lLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9hZGVyPWxvYWRlcikKICAgICAgICAgdHJ5OgotICAgICAgICAgICAgaW1wb3J0bGliLl9ib290c3RyYXAuX1NwZWNNZXRob2RzKHNwZWMpLmxvYWQoKQorICAgICAgICAgICAgaW1wb3J0bGliLl9ib290c3RyYXAuX2xvYWQoc3BlYykKICAgICAgICAgZXhjZXB0IEltcG9ydEVycm9yIGFzIHdoeToKLSAgICAgICAgICAgIHNlbGYuZmFpbGVkLmFwcGVuZChleHQubmFtZSkKKyAgICAgICAgICAgIHNlbGYuZmFpbGVkX29uX2ltcG9ydC5hcHBlbmQoZXh0Lm5hbWUpCiAgICAgICAgICAgICBzZWxmLmFubm91bmNlKCcqKiogV0FSTklORzogcmVuYW1pbmcgIiVzIiBzaW5jZSBpbXBvcnRpbmcgaXQnCiAgICAgICAgICAgICAgICAgICAgICAgICAgICcgZmFpbGVkOiAlcycgJSAoZXh0Lm5hbWUsIHdoeSksIGxldmVsPTMpCiAgICAgICAgICAgICBhc3NlcnQgbm90IHNlbGYuaW5wbGFjZQpAQCAtMzUwLDE3ICszNzksNiBAQAogICAgICAgICAgICAgICAgIG9zLnJlbW92ZShuZXduYW1lKQogICAgICAgICAgICAgb3MucmVuYW1lKGV4dF9maWxlbmFtZSwgbmV3bmFtZSkKIAotICAgICAgICAgICAgIyBYWFggLS0gVGhpcyByZWxpZXMgb24gYSBWaWxlIEhBQ0sgaW4KLSAgICAgICAgICAgICMgZGlzdHV0aWxzLmNvbW1hbmQuYnVpbGRfZXh0LmJ1aWxkX2V4dGVuc2lvbigpLiAgVGhlCi0gICAgICAgICAgICAjIF9idWlsdF9vYmplY3RzIGF0dHJpYnV0ZSBpcyBzdG9yZWQgdGhlcmUgc3RyaWN0bHkgZm9yCi0gICAgICAgICAgICAjIHVzZSBoZXJlLgotICAgICAgICAgICAgIyBJZiB0aGVyZSBpcyBhIGZhaWx1cmUsIF9idWlsdF9vYmplY3RzIG1heSBub3QgYmUgdGhlcmUsCi0gICAgICAgICAgICAjIHNvIGNhdGNoIHRoZSBBdHRyaWJ1dGVFcnJvciBhbmQgbW92ZSBvbi4KLSAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICBmb3IgZmlsZW5hbWUgaW4gc2VsZi5fYnVpbHRfb2JqZWN0czoKLSAgICAgICAgICAgICAgICAgICAgb3MucmVtb3ZlKGZpbGVuYW1lKQotICAgICAgICAgICAgZXhjZXB0IEF0dHJpYnV0ZUVycm9yOgotICAgICAgICAgICAgICAgIHNlbGYuYW5ub3VuY2UoJ3VuYWJsZSB0byByZW1vdmUgZmlsZXMgKGlnbm9yZWQpJykKICAgICAgICAgZXhjZXB0OgogICAgICAgICAgICAgZXhjX3R5cGUsIHdoeSwgdGIgPSBzeXMuZXhjX2luZm8oKQogICAgICAgICAgICAgc2VsZi5hbm5vdW5jZSgnKioqIFdBUk5JTkc6IGltcG9ydGluZyBleHRlbnNpb24gIiVzIiAnCg==